From 80fb83230479664df5c2d44b28b7c76b8dea7187 Mon Sep 17 00:00:00 2001 From: GitHub Action's update-translation job Date: Mon, 11 Jul 2022 09:55:55 +0000 Subject: [PATCH 1/3] Update translation from Transifex --- .tx/config | 2505 ++++++++ about.po | 87 + bugs.po | 216 + c-api/abstract.po | 51 + c-api/allocation.po | 102 + c-api/apiabiversion.po | 161 + c-api/arg.po | 1223 ++++ c-api/bool.po | 82 + c-api/buffer.po | 797 +++ c-api/bytearray.po | 106 + c-api/bytes.po | 341 ++ c-api/call.po | 600 ++ c-api/capsule.po | 236 + c-api/cell.po | 99 + c-api/code.po | 139 + c-api/codec.po | 200 + c-api/complex.po | 185 + c-api/concrete.po | 89 + c-api/contextvars.po | 195 + c-api/conversion.po | 240 + c-api/coro.po | 60 + c-api/datetime.po | 294 + c-api/descriptor.po | 48 + c-api/dict.po | 269 + c-api/exceptions.po | 1573 +++++ c-api/file.po | 163 + c-api/float.po | 198 + c-api/function.po | 138 + c-api/gcsupport.po | 355 ++ c-api/gen.po | 78 + c-api/import.po | 424 ++ c-api/index.po | 40 + c-api/init.po | 2551 ++++++++ c-api/init_config.po | 2033 +++++++ c-api/intro.po | 1054 ++++ c-api/iter.po | 93 + c-api/iterator.po | 93 + c-api/list.po | 189 + c-api/long.po | 349 ++ c-api/mapping.po | 142 + c-api/marshal.po | 128 + c-api/memory.po | 1155 ++++ c-api/memoryview.po | 105 + c-api/method.po | 122 + c-api/module.po | 799 +++ c-api/none.po | 56 + c-api/number.po | 381 ++ c-api/objbuffer.po | 109 + c-api/object.po | 507 ++ c-api/objimpl.po | 36 + c-api/refcounting.po | 204 + c-api/reflection.po | 78 + c-api/sequence.po | 252 + c-api/set.po | 249 + c-api/slice.po | 175 + c-api/stable.po | 311 + c-api/structures.po | 741 +++ c-api/sys.po | 638 ++ c-api/tuple.po | 292 + c-api/type.po | 436 ++ c-api/typehints.po | 65 + c-api/typeobj.po | 3567 ++++++++++++ c-api/unicode.po | 2005 +++++++ c-api/utilities.po | 40 + c-api/veryhigh.po | 537 ++ c-api/weakref.po | 98 + contents.po | 29 + copyright.po | 57 + distributing/index.po | 313 + distutils/_setuptools_disclaimer.po | 35 + distutils/apiref.po | 2916 ++++++++++ distutils/builtdist.po | 751 +++ distutils/commandref.po | 151 + distutils/configfile.po | 223 + distutils/examples.po | 337 ++ distutils/extending.po | 183 + distutils/index.po | 92 + distutils/introduction.po | 397 ++ distutils/packageindex.po | 45 + distutils/setupscript.po | 1194 ++++ distutils/sourcedist.po | 493 ++ distutils/uploading.po | 36 + extending/building.po | 220 + extending/embedding.po | 424 ++ extending/extending.po | 1745 ++++++ extending/index.po | 121 + extending/newtypes.po | 784 +++ extending/newtypes_tutorial.po | 1097 ++++ extending/windows.po | 264 + faq/design.po | 1259 ++++ faq/extending.po | 423 ++ faq/general.po | 777 +++ faq/gui.po | 148 + faq/index.po | 29 + faq/installed.po | 138 + faq/library.po | 994 ++++ faq/programming.po | 2618 +++++++++ faq/windows.po | 460 ++ glossary.po | 2473 ++++++++ howto/annotations.po | 402 ++ howto/argparse.po | 543 ++ howto/clinic.po | 2861 +++++++++ howto/cporting.po | 62 + howto/curses.po | 930 +++ howto/descriptor.po | 1207 ++++ howto/enum.po | 1216 ++++ howto/functional.po | 1696 ++++++ howto/index.po | 43 + howto/instrumentation.po | 364 ++ howto/ipaddress.po | 374 ++ howto/isolating-extensions.po | 544 ++ howto/logging-cookbook.po | 2530 ++++++++ howto/logging.po | 1789 ++++++ howto/pyporting.po | 866 +++ howto/regex.po | 2271 ++++++++ howto/sockets.po | 683 +++ howto/sorting.po | 365 ++ howto/unicode.po | 1117 ++++ howto/urllib2.po | 725 +++ install/index.po | 1784 ++++++ installing/index.po | 411 ++ library/2to3.po | 676 +++ library/__future__.po | 259 + library/__main__.po | 447 ++ library/_thread.po | 332 ++ library/abc.po | 411 ++ library/aifc.po | 310 + library/allos.po | 42 + library/archiving.po | 40 + library/argparse.po | 2338 ++++++++ library/array.po | 441 ++ library/ast.po | 1585 +++++ library/asynchat.po | 290 + library/asyncio-api-index.po | 367 ++ library/asyncio-dev.po | 290 + library/asyncio-eventloop.po | 2262 ++++++++ library/asyncio-exceptions.po | 96 + library/asyncio-future.po | 375 ++ library/asyncio-llapi-index.po | 852 +++ library/asyncio-platforms.po | 171 + library/asyncio-policy.po | 411 ++ library/asyncio-protocol.po | 1147 ++++ library/asyncio-queue.po | 218 + library/asyncio-runner.po | 179 + library/asyncio-stream.po | 472 ++ library/asyncio-subprocess.po | 483 ++ library/asyncio-sync.po | 472 ++ library/asyncio-task.po | 1219 ++++ library/asyncio.po | 134 + library/asyncore.po | 469 ++ library/atexit.po | 156 + library/audioop.po | 385 ++ library/audit_events.po | 116 + library/base64.po | 467 ++ library/bdb.po | 591 ++ library/binary.po | 55 + library/binascii.po | 266 + library/binhex.po | 84 + library/bisect.po | 257 + library/builtins.po | 66 + library/bz2.po | 432 ++ library/calendar.po | 511 ++ library/cgi.po | 884 +++ library/cgitb.po | 146 + library/chunk.po | 224 + library/cmath.po | 399 ++ library/cmd.po | 404 ++ library/code.po | 307 + library/codecs.po | 2738 +++++++++ library/codeop.po | 144 + library/collections.po | 1583 +++++ library/collections_abc.po | 627 ++ library/colorsys.po | 82 + library/compileall.po | 481 ++ library/concurrency.po | 45 + library/concurrent.po | 35 + library/concurrent_futures.po | 691 +++ library/configparser.po | 1500 +++++ library/constants.po | 176 + library/contextlib.po | 1012 ++++ library/contextvars.po | 280 + library/copy.po | 181 + library/copyreg.po | 81 + library/crypt.po | 244 + library/crypto.po | 39 + library/csv.po | 726 +++ library/ctypes.po | 3057 ++++++++++ library/curses.po | 3146 ++++++++++ library/curses_ascii.po | 419 ++ library/curses_panel.po | 133 + library/custominterp.po | 40 + library/dataclasses.po | 1021 ++++ library/datatypes.po | 52 + library/datetime.po | 3418 +++++++++++ library/dbm.po | 500 ++ library/debug.po | 44 + library/decimal.po | 2395 ++++++++ library/development.po | 48 + library/devmode.po | 329 ++ library/dialog.po | 277 + library/difflib.po | 988 ++++ library/dis.po | 1410 +++++ library/distribution.po | 41 + library/distutils.po | 117 + library/doctest.po | 2587 +++++++++ library/email.po | 268 + library/email_charset.po | 343 ++ library/email_compat32-message.po | 1115 ++++ library/email_contentmanager.po | 350 ++ library/email_encoders.po | 152 + library/email_errors.po | 225 + library/email_examples.po | 100 + library/email_generator.po | 445 ++ library/email_header.po | 374 ++ library/email_headerregistry.po | 739 +++ library/email_iterators.po | 113 + library/email_message.po | 1119 ++++ library/email_mime.po | 379 ++ library/email_parser.po | 500 ++ library/email_policy.po | 974 ++++ library/email_utils.po | 340 ++ library/ensurepip.po | 260 + library/enum.po | 805 +++ library/errno.po | 508 ++ library/exceptions.po | 1307 +++++ library/faulthandler.po | 267 + library/fcntl.po | 356 ++ library/filecmp.po | 265 + library/fileformats.po | 36 + library/fileinput.po | 355 ++ library/filesys.po | 68 + library/fnmatch.po | 152 + library/fractions.po | 213 + library/frameworks.po | 41 + library/ftplib.po | 600 ++ library/functional.po | 39 + library/functions.po | 3175 ++++++++++ library/functools.po | 774 +++ library/gc.po | 461 ++ library/getopt.po | 197 + library/getpass.po | 100 + library/gettext.po | 937 +++ library/glob.po | 192 + library/graphlib.po | 290 + library/grp.po | 152 + library/gzip.po | 410 ++ library/hashlib.po | 990 ++++ library/heapq.po | 506 ++ library/hmac.po | 206 + library/html.po | 71 + library/html_entities.po | 75 + library/html_parser.po | 358 ++ library/http.po | 747 +++ library/http_client.po | 708 +++ library/http_cookiejar.po | 1079 ++++ library/http_cookies.po | 344 ++ library/http_server.po | 742 +++ library/i18n.po | 43 + library/idle.po | 1860 ++++++ library/imaplib.po | 828 +++ library/imghdr.po | 182 + library/imp.po | 575 ++ library/importlib.po | 1951 +++++++ library/importlib_metadata.po | 416 ++ library/importlib_resources_abc.po | 203 + library/index.po | 81 + library/inspect.po | 2040 +++++++ library/internet.po | 42 + library/intro.po | 206 + library/io.po | 1827 ++++++ library/ipaddress.po | 1109 ++++ library/ipc.po | 49 + library/itertools.po | 842 +++ library/json.po | 911 +++ library/keyword.po | 67 + library/language.po | 41 + library/linecache.po | 113 + library/locale.po | 946 +++ library/logging.po | 2423 ++++++++ library/logging_config.po | 1229 ++++ library/logging_handlers.po | 1843 ++++++ library/lzma.po | 725 +++ library/mailbox.po | 1984 +++++++ library/mailcap.po | 177 + library/markup.po | 40 + library/marshal.po | 246 + library/math.po | 871 +++ library/mimetypes.po | 394 ++ library/mm.po | 38 + library/mmap.po | 491 ++ library/modulefinder.po | 105 + library/modules.po | 39 + library/msilib.po | 729 +++ library/msvcrt.po | 215 + library/multiprocessing.po | 3900 +++++++++++++ library/multiprocessing_shared_memory.po | 253 + library/netdata.po | 36 + library/netrc.po | 138 + library/nis.po | 104 + library/nntplib.po | 706 +++ library/numbers.po | 243 + library/numeric.po | 47 + library/operator.po | 726 +++ library/optparse.po | 2821 +++++++++ library/os.po | 6324 ++++++++++++++++++++ library/os_path.po | 589 ++ library/ossaudiodev.po | 653 +++ library/othergui.po | 135 + library/pathlib.po | 1253 ++++ library/pdb.po | 786 +++ library/persistence.po | 46 + library/pickle.po | 1724 ++++++ library/pickletools.po | 141 + library/pipes.po | 133 + library/pkgutil.po | 385 ++ library/platform.po | 427 ++ library/plistlib.po | 242 + library/poplib.po | 389 ++ library/posix.po | 137 + library/pprint.po | 335 ++ library/profile.po | 1128 ++++ library/pty.po | 175 + library/pwd.po | 181 + library/py_compile.po | 254 + library/pyclbr.po | 181 + library/pydoc.po | 211 + library/pyexpat.po | 1003 ++++ library/python.po | 37 + library/queue.po | 394 ++ library/quopri.po | 108 + library/random.po | 779 +++ library/re.po | 2264 ++++++++ library/readline.po | 432 ++ library/reprlib.po | 194 + library/resource.po | 608 ++ library/rlcompleter.po | 105 + library/runpy.po | 328 ++ library/sched.po | 180 + library/secrets.po | 220 + library/security_warnings.po | 122 + library/select.po | 933 +++ library/selectors.po | 375 ++ library/shelve.po | 306 + library/shlex.po | 661 +++ library/shutil.po | 1161 ++++ library/signal.po | 969 ++++ library/site.po | 399 ++ library/smtpd.po | 484 ++ library/smtplib.po | 904 +++ library/sndhdr.po | 186 + library/socket.po | 2710 +++++++++ library/socketserver.po | 710 +++ library/spwd.po | 203 + library/sqlite3.po | 1751 ++++++ library/ssl.po | 3753 ++++++++++++ library/stat.po | 413 ++ library/statistics.po | 1255 ++++ library/stdtypes.po | 6778 ++++++++++++++++++++++ library/string.po | 1281 ++++ library/stringprep.po | 190 + library/struct.po | 824 +++ library/subprocess.po | 2095 +++++++ library/sunau.po | 347 ++ library/superseded.po | 36 + library/symtable.po | 216 + library/sys.po | 2949 ++++++++++ library/sys_path_init.po | 169 + library/sysconfig.po | 498 ++ library/syslog.po | 234 + library/tabnanny.po | 98 + library/tarfile.po | 1201 ++++ library/telnetlib.po | 344 ++ library/tempfile.po | 579 ++ library/termios.po | 163 + library/test.po | 2060 +++++++ library/text.po | 45 + library/textwrap.po | 406 ++ library/threading.po | 1741 ++++++ library/time.po | 1443 +++++ library/timeit.po | 397 ++ library/tk.po | 72 + library/tkinter.po | 1925 ++++++ library/tkinter_colorchooser.po | 58 + library/tkinter_dnd.po | 121 + library/tkinter_font.po | 156 + library/tkinter_messagebox.po | 57 + library/tkinter_scrolledtext.po | 68 + library/tkinter_tix.po | 532 ++ library/tkinter_ttk.po | 2204 +++++++ library/token.po | 278 + library/tokenize.po | 319 + library/tomllib.po | 164 + library/trace.po | 278 + library/traceback.po | 545 ++ library/tracemalloc.po | 864 +++ library/tty.po | 71 + library/turtle.po | 2521 ++++++++ library/types.po | 616 ++ library/typing.po | 2865 +++++++++ library/undoc.po | 68 + library/unicodedata.po | 231 + library/unittest.po | 3557 ++++++++++++ library/unittest_mock-examples.po | 1305 +++++ library/unittest_mock.po | 2882 +++++++++ library/unix.po | 38 + library/urllib.po | 50 + library/urllib_error.po | 104 + library/urllib_parse.po | 1008 ++++ library/urllib_request.po | 2192 +++++++ library/urllib_robotparser.po | 121 + library/uu.po | 120 + library/uuid.po | 357 ++ library/venv.po | 673 +++ library/warnings.po | 866 +++ library/wave.po | 298 + library/weakref.po | 705 +++ library/webbrowser.po | 434 ++ library/windows.po | 36 + library/winreg.po | 1005 ++++ library/winsound.po | 204 + library/wsgiref.po | 1124 ++++ library/xdrlib.po | 344 ++ library/xml.po | 278 + library/xml_dom.po | 1487 +++++ library/xml_dom_minidom.po | 436 ++ library/xml_dom_pulldom.po | 187 + library/xml_etree_elementtree.po | 1781 ++++++ library/xml_sax.po | 277 + library/xml_sax_handler.po | 689 +++ library/xml_sax_reader.po | 473 ++ library/xml_sax_utils.po | 150 + library/xmlrpc.po | 52 + library/xmlrpc_client.po | 680 +++ library/xmlrpc_server.po | 430 ++ library/zipapp.po | 670 +++ library/zipfile.po | 1203 ++++ library/zipimport.po | 269 + library/zlib.po | 560 ++ library/zoneinfo.po | 627 ++ license.po | 451 ++ reference/compound_stmts.po | 2003 +++++++ reference/datamodel.po | 4379 ++++++++++++++ reference/executionmodel.po | 437 ++ reference/expressions.po | 2703 +++++++++ reference/grammar.po | 50 + reference/import.po | 1812 ++++++ reference/index.po | 48 + reference/introduction.po | 257 + reference/lexical_analysis.po | 1274 ++++ reference/simple_stmts.po | 1297 +++++ reference/toplevel_components.po | 138 + sphinx.po | 232 + tutorial/appendix.po | 204 + tutorial/appetite.po | 211 + tutorial/classes.po | 1227 ++++ tutorial/controlflow.po | 1194 ++++ tutorial/datastructures.po | 729 +++ tutorial/errors.po | 565 ++ tutorial/floatingpoint.po | 441 ++ tutorial/index.po | 106 + tutorial/inputoutput.po | 633 ++ tutorial/interactive.po | 101 + tutorial/interpreter.po | 254 + tutorial/introduction.po | 569 ++ tutorial/modules.po | 761 +++ tutorial/stdlib.po | 343 ++ tutorial/stdlib2.po | 403 ++ tutorial/venv.po | 245 + tutorial/whatnow.po | 162 + using/cmdline.po | 1542 +++++ using/configure.po | 1252 ++++ using/editors.po | 47 + using/index.po | 38 + using/mac.po | 319 + using/unix.po | 266 + using/windows.po | 2256 +++++++ whatsnew/2.0.po | 2083 +++++++ whatsnew/2.1.po | 1335 +++++ whatsnew/2.2.po | 2057 +++++++ whatsnew/2.3.po | 3037 ++++++++++ whatsnew/2.4.po | 2216 +++++++ whatsnew/2.5.po | 3440 +++++++++++ whatsnew/2.6.po | 4616 +++++++++++++++ whatsnew/2.7.po | 4298 ++++++++++++++ whatsnew/3.0.po | 1621 ++++++ whatsnew/3.1.po | 793 +++ whatsnew/3.10.po | 3587 ++++++++++++ whatsnew/3.11.po | 3425 +++++++++++ whatsnew/3.2.po | 3844 ++++++++++++ whatsnew/3.3.po | 4372 ++++++++++++++ whatsnew/3.4.po | 4452 ++++++++++++++ whatsnew/3.5.po | 3952 +++++++++++++ whatsnew/3.6.po | 3841 ++++++++++++ whatsnew/3.7.po | 4390 ++++++++++++++ whatsnew/3.8.po | 3458 +++++++++++ whatsnew/3.9.po | 2754 +++++++++ whatsnew/changelog.po | 29 + whatsnew/index.po | 48 + 498 files changed, 386447 insertions(+) create mode 100644 about.po create mode 100644 bugs.po create mode 100644 c-api/abstract.po create mode 100644 c-api/allocation.po create mode 100644 c-api/apiabiversion.po create mode 100644 c-api/arg.po create mode 100644 c-api/bool.po create mode 100644 c-api/buffer.po create mode 100644 c-api/bytearray.po create mode 100644 c-api/bytes.po create mode 100644 c-api/call.po create mode 100644 c-api/capsule.po create mode 100644 c-api/cell.po create mode 100644 c-api/code.po create mode 100644 c-api/codec.po create mode 100644 c-api/complex.po create mode 100644 c-api/concrete.po create mode 100644 c-api/contextvars.po create mode 100644 c-api/conversion.po create mode 100644 c-api/coro.po create mode 100644 c-api/datetime.po create mode 100644 c-api/descriptor.po create mode 100644 c-api/dict.po create mode 100644 c-api/exceptions.po create mode 100644 c-api/file.po create mode 100644 c-api/float.po create mode 100644 c-api/function.po create mode 100644 c-api/gcsupport.po create mode 100644 c-api/gen.po create mode 100644 c-api/import.po create mode 100644 c-api/index.po create mode 100644 c-api/init.po create mode 100644 c-api/init_config.po create mode 100644 c-api/intro.po create mode 100644 c-api/iter.po create mode 100644 c-api/iterator.po create mode 100644 c-api/list.po create mode 100644 c-api/long.po create mode 100644 c-api/mapping.po create mode 100644 c-api/marshal.po create mode 100644 c-api/memory.po create mode 100644 c-api/memoryview.po create mode 100644 c-api/method.po create mode 100644 c-api/module.po create mode 100644 c-api/none.po create mode 100644 c-api/number.po create mode 100644 c-api/objbuffer.po create mode 100644 c-api/object.po create mode 100644 c-api/objimpl.po create mode 100644 c-api/refcounting.po create mode 100644 c-api/reflection.po create mode 100644 c-api/sequence.po create mode 100644 c-api/set.po create mode 100644 c-api/slice.po create mode 100644 c-api/stable.po create mode 100644 c-api/structures.po create mode 100644 c-api/sys.po create mode 100644 c-api/tuple.po create mode 100644 c-api/type.po create mode 100644 c-api/typehints.po create mode 100644 c-api/typeobj.po create mode 100644 c-api/unicode.po create mode 100644 c-api/utilities.po create mode 100644 c-api/veryhigh.po create mode 100644 c-api/weakref.po create mode 100644 contents.po create mode 100644 copyright.po create mode 100644 distributing/index.po create mode 100644 distutils/_setuptools_disclaimer.po create mode 100644 distutils/apiref.po create mode 100644 distutils/builtdist.po create mode 100644 distutils/commandref.po create mode 100644 distutils/configfile.po create mode 100644 distutils/examples.po create mode 100644 distutils/extending.po create mode 100644 distutils/index.po create mode 100644 distutils/introduction.po create mode 100644 distutils/packageindex.po create mode 100644 distutils/setupscript.po create mode 100644 distutils/sourcedist.po create mode 100644 distutils/uploading.po create mode 100644 extending/building.po create mode 100644 extending/embedding.po create mode 100644 extending/extending.po create mode 100644 extending/index.po create mode 100644 extending/newtypes.po create mode 100644 extending/newtypes_tutorial.po create mode 100644 extending/windows.po create mode 100644 faq/design.po create mode 100644 faq/extending.po create mode 100644 faq/general.po create mode 100644 faq/gui.po create mode 100644 faq/index.po create mode 100644 faq/installed.po create mode 100644 faq/library.po create mode 100644 faq/programming.po create mode 100644 faq/windows.po create mode 100644 glossary.po create mode 100644 howto/annotations.po create mode 100644 howto/argparse.po create mode 100644 howto/clinic.po create mode 100644 howto/cporting.po create mode 100644 howto/curses.po create mode 100644 howto/descriptor.po create mode 100644 howto/enum.po create mode 100644 howto/functional.po create mode 100644 howto/index.po create mode 100644 howto/instrumentation.po create mode 100644 howto/ipaddress.po create mode 100644 howto/isolating-extensions.po create mode 100644 howto/logging-cookbook.po create mode 100644 howto/logging.po create mode 100644 howto/pyporting.po create mode 100644 howto/regex.po create mode 100644 howto/sockets.po create mode 100644 howto/sorting.po create mode 100644 howto/unicode.po create mode 100644 howto/urllib2.po create mode 100644 install/index.po create mode 100644 installing/index.po create mode 100644 library/2to3.po create mode 100644 library/__future__.po create mode 100644 library/__main__.po create mode 100644 library/_thread.po create mode 100644 library/abc.po create mode 100644 library/aifc.po create mode 100644 library/allos.po create mode 100644 library/archiving.po create mode 100644 library/argparse.po create mode 100644 library/array.po create mode 100644 library/ast.po create mode 100644 library/asynchat.po create mode 100644 library/asyncio-api-index.po create mode 100644 library/asyncio-dev.po create mode 100644 library/asyncio-eventloop.po create mode 100644 library/asyncio-exceptions.po create mode 100644 library/asyncio-future.po create mode 100644 library/asyncio-llapi-index.po create mode 100644 library/asyncio-platforms.po create mode 100644 library/asyncio-policy.po create mode 100644 library/asyncio-protocol.po create mode 100644 library/asyncio-queue.po create mode 100644 library/asyncio-runner.po create mode 100644 library/asyncio-stream.po create mode 100644 library/asyncio-subprocess.po create mode 100644 library/asyncio-sync.po create mode 100644 library/asyncio-task.po create mode 100644 library/asyncio.po create mode 100644 library/asyncore.po create mode 100644 library/atexit.po create mode 100644 library/audioop.po create mode 100644 library/audit_events.po create mode 100644 library/base64.po create mode 100644 library/bdb.po create mode 100644 library/binary.po create mode 100644 library/binascii.po create mode 100644 library/binhex.po create mode 100644 library/bisect.po create mode 100644 library/builtins.po create mode 100644 library/bz2.po create mode 100644 library/calendar.po create mode 100644 library/cgi.po create mode 100644 library/cgitb.po create mode 100644 library/chunk.po create mode 100644 library/cmath.po create mode 100644 library/cmd.po create mode 100644 library/code.po create mode 100644 library/codecs.po create mode 100644 library/codeop.po create mode 100644 library/collections.po create mode 100644 library/collections_abc.po create mode 100644 library/colorsys.po create mode 100644 library/compileall.po create mode 100644 library/concurrency.po create mode 100644 library/concurrent.po create mode 100644 library/concurrent_futures.po create mode 100644 library/configparser.po create mode 100644 library/constants.po create mode 100644 library/contextlib.po create mode 100644 library/contextvars.po create mode 100644 library/copy.po create mode 100644 library/copyreg.po create mode 100644 library/crypt.po create mode 100644 library/crypto.po create mode 100644 library/csv.po create mode 100644 library/ctypes.po create mode 100644 library/curses.po create mode 100644 library/curses_ascii.po create mode 100644 library/curses_panel.po create mode 100644 library/custominterp.po create mode 100644 library/dataclasses.po create mode 100644 library/datatypes.po create mode 100644 library/datetime.po create mode 100644 library/dbm.po create mode 100644 library/debug.po create mode 100644 library/decimal.po create mode 100644 library/development.po create mode 100644 library/devmode.po create mode 100644 library/dialog.po create mode 100644 library/difflib.po create mode 100644 library/dis.po create mode 100644 library/distribution.po create mode 100644 library/distutils.po create mode 100644 library/doctest.po create mode 100644 library/email.po create mode 100644 library/email_charset.po create mode 100644 library/email_compat32-message.po create mode 100644 library/email_contentmanager.po create mode 100644 library/email_encoders.po create mode 100644 library/email_errors.po create mode 100644 library/email_examples.po create mode 100644 library/email_generator.po create mode 100644 library/email_header.po create mode 100644 library/email_headerregistry.po create mode 100644 library/email_iterators.po create mode 100644 library/email_message.po create mode 100644 library/email_mime.po create mode 100644 library/email_parser.po create mode 100644 library/email_policy.po create mode 100644 library/email_utils.po create mode 100644 library/ensurepip.po create mode 100644 library/enum.po create mode 100644 library/errno.po create mode 100644 library/exceptions.po create mode 100644 library/faulthandler.po create mode 100644 library/fcntl.po create mode 100644 library/filecmp.po create mode 100644 library/fileformats.po create mode 100644 library/fileinput.po create mode 100644 library/filesys.po create mode 100644 library/fnmatch.po create mode 100644 library/fractions.po create mode 100644 library/frameworks.po create mode 100644 library/ftplib.po create mode 100644 library/functional.po create mode 100644 library/functions.po create mode 100644 library/functools.po create mode 100644 library/gc.po create mode 100644 library/getopt.po create mode 100644 library/getpass.po create mode 100644 library/gettext.po create mode 100644 library/glob.po create mode 100644 library/graphlib.po create mode 100644 library/grp.po create mode 100644 library/gzip.po create mode 100644 library/hashlib.po create mode 100644 library/heapq.po create mode 100644 library/hmac.po create mode 100644 library/html.po create mode 100644 library/html_entities.po create mode 100644 library/html_parser.po create mode 100644 library/http.po create mode 100644 library/http_client.po create mode 100644 library/http_cookiejar.po create mode 100644 library/http_cookies.po create mode 100644 library/http_server.po create mode 100644 library/i18n.po create mode 100644 library/idle.po create mode 100644 library/imaplib.po create mode 100644 library/imghdr.po create mode 100644 library/imp.po create mode 100644 library/importlib.po create mode 100644 library/importlib_metadata.po create mode 100644 library/importlib_resources_abc.po create mode 100644 library/index.po create mode 100644 library/inspect.po create mode 100644 library/internet.po create mode 100644 library/intro.po create mode 100644 library/io.po create mode 100644 library/ipaddress.po create mode 100644 library/ipc.po create mode 100644 library/itertools.po create mode 100644 library/json.po create mode 100644 library/keyword.po create mode 100644 library/language.po create mode 100644 library/linecache.po create mode 100644 library/locale.po create mode 100644 library/logging.po create mode 100644 library/logging_config.po create mode 100644 library/logging_handlers.po create mode 100644 library/lzma.po create mode 100644 library/mailbox.po create mode 100644 library/mailcap.po create mode 100644 library/markup.po create mode 100644 library/marshal.po create mode 100644 library/math.po create mode 100644 library/mimetypes.po create mode 100644 library/mm.po create mode 100644 library/mmap.po create mode 100644 library/modulefinder.po create mode 100644 library/modules.po create mode 100644 library/msilib.po create mode 100644 library/msvcrt.po create mode 100644 library/multiprocessing.po create mode 100644 library/multiprocessing_shared_memory.po create mode 100644 library/netdata.po create mode 100644 library/netrc.po create mode 100644 library/nis.po create mode 100644 library/nntplib.po create mode 100644 library/numbers.po create mode 100644 library/numeric.po create mode 100644 library/operator.po create mode 100644 library/optparse.po create mode 100644 library/os.po create mode 100644 library/os_path.po create mode 100644 library/ossaudiodev.po create mode 100644 library/othergui.po create mode 100644 library/pathlib.po create mode 100644 library/pdb.po create mode 100644 library/persistence.po create mode 100644 library/pickle.po create mode 100644 library/pickletools.po create mode 100644 library/pipes.po create mode 100644 library/pkgutil.po create mode 100644 library/platform.po create mode 100644 library/plistlib.po create mode 100644 library/poplib.po create mode 100644 library/posix.po create mode 100644 library/pprint.po create mode 100644 library/profile.po create mode 100644 library/pty.po create mode 100644 library/pwd.po create mode 100644 library/py_compile.po create mode 100644 library/pyclbr.po create mode 100644 library/pydoc.po create mode 100644 library/pyexpat.po create mode 100644 library/python.po create mode 100644 library/queue.po create mode 100644 library/quopri.po create mode 100644 library/random.po create mode 100644 library/re.po create mode 100644 library/readline.po create mode 100644 library/reprlib.po create mode 100644 library/resource.po create mode 100644 library/rlcompleter.po create mode 100644 library/runpy.po create mode 100644 library/sched.po create mode 100644 library/secrets.po create mode 100644 library/security_warnings.po create mode 100644 library/select.po create mode 100644 library/selectors.po create mode 100644 library/shelve.po create mode 100644 library/shlex.po create mode 100644 library/shutil.po create mode 100644 library/signal.po create mode 100644 library/site.po create mode 100644 library/smtpd.po create mode 100644 library/smtplib.po create mode 100644 library/sndhdr.po create mode 100644 library/socket.po create mode 100644 library/socketserver.po create mode 100644 library/spwd.po create mode 100644 library/sqlite3.po create mode 100644 library/ssl.po create mode 100644 library/stat.po create mode 100644 library/statistics.po create mode 100644 library/stdtypes.po create mode 100644 library/string.po create mode 100644 library/stringprep.po create mode 100644 library/struct.po create mode 100644 library/subprocess.po create mode 100644 library/sunau.po create mode 100644 library/superseded.po create mode 100644 library/symtable.po create mode 100644 library/sys.po create mode 100644 library/sys_path_init.po create mode 100644 library/sysconfig.po create mode 100644 library/syslog.po create mode 100644 library/tabnanny.po create mode 100644 library/tarfile.po create mode 100644 library/telnetlib.po create mode 100644 library/tempfile.po create mode 100644 library/termios.po create mode 100644 library/test.po create mode 100644 library/text.po create mode 100644 library/textwrap.po create mode 100644 library/threading.po create mode 100644 library/time.po create mode 100644 library/timeit.po create mode 100644 library/tk.po create mode 100644 library/tkinter.po create mode 100644 library/tkinter_colorchooser.po create mode 100644 library/tkinter_dnd.po create mode 100644 library/tkinter_font.po create mode 100644 library/tkinter_messagebox.po create mode 100644 library/tkinter_scrolledtext.po create mode 100644 library/tkinter_tix.po create mode 100644 library/tkinter_ttk.po create mode 100644 library/token.po create mode 100644 library/tokenize.po create mode 100644 library/tomllib.po create mode 100644 library/trace.po create mode 100644 library/traceback.po create mode 100644 library/tracemalloc.po create mode 100644 library/tty.po create mode 100644 library/turtle.po create mode 100644 library/types.po create mode 100644 library/typing.po create mode 100644 library/undoc.po create mode 100644 library/unicodedata.po create mode 100644 library/unittest.po create mode 100644 library/unittest_mock-examples.po create mode 100644 library/unittest_mock.po create mode 100644 library/unix.po create mode 100644 library/urllib.po create mode 100644 library/urllib_error.po create mode 100644 library/urllib_parse.po create mode 100644 library/urllib_request.po create mode 100644 library/urllib_robotparser.po create mode 100644 library/uu.po create mode 100644 library/uuid.po create mode 100644 library/venv.po create mode 100644 library/warnings.po create mode 100644 library/wave.po create mode 100644 library/weakref.po create mode 100644 library/webbrowser.po create mode 100644 library/windows.po create mode 100644 library/winreg.po create mode 100644 library/winsound.po create mode 100644 library/wsgiref.po create mode 100644 library/xdrlib.po create mode 100644 library/xml.po create mode 100644 library/xml_dom.po create mode 100644 library/xml_dom_minidom.po create mode 100644 library/xml_dom_pulldom.po create mode 100644 library/xml_etree_elementtree.po create mode 100644 library/xml_sax.po create mode 100644 library/xml_sax_handler.po create mode 100644 library/xml_sax_reader.po create mode 100644 library/xml_sax_utils.po create mode 100644 library/xmlrpc.po create mode 100644 library/xmlrpc_client.po create mode 100644 library/xmlrpc_server.po create mode 100644 library/zipapp.po create mode 100644 library/zipfile.po create mode 100644 library/zipimport.po create mode 100644 library/zlib.po create mode 100644 library/zoneinfo.po create mode 100644 license.po create mode 100644 reference/compound_stmts.po create mode 100644 reference/datamodel.po create mode 100644 reference/executionmodel.po create mode 100644 reference/expressions.po create mode 100644 reference/grammar.po create mode 100644 reference/import.po create mode 100644 reference/index.po create mode 100644 reference/introduction.po create mode 100644 reference/lexical_analysis.po create mode 100644 reference/simple_stmts.po create mode 100644 reference/toplevel_components.po create mode 100644 sphinx.po create mode 100644 tutorial/appendix.po create mode 100644 tutorial/appetite.po create mode 100644 tutorial/classes.po create mode 100644 tutorial/controlflow.po create mode 100644 tutorial/datastructures.po create mode 100644 tutorial/errors.po create mode 100644 tutorial/floatingpoint.po create mode 100644 tutorial/index.po create mode 100644 tutorial/inputoutput.po create mode 100644 tutorial/interactive.po create mode 100644 tutorial/interpreter.po create mode 100644 tutorial/introduction.po create mode 100644 tutorial/modules.po create mode 100644 tutorial/stdlib.po create mode 100644 tutorial/stdlib2.po create mode 100644 tutorial/venv.po create mode 100644 tutorial/whatnow.po create mode 100644 using/cmdline.po create mode 100644 using/configure.po create mode 100644 using/editors.po create mode 100644 using/index.po create mode 100644 using/mac.po create mode 100644 using/unix.po create mode 100644 using/windows.po create mode 100644 whatsnew/2.0.po create mode 100644 whatsnew/2.1.po create mode 100644 whatsnew/2.2.po create mode 100644 whatsnew/2.3.po create mode 100644 whatsnew/2.4.po create mode 100644 whatsnew/2.5.po create mode 100644 whatsnew/2.6.po create mode 100644 whatsnew/2.7.po create mode 100644 whatsnew/3.0.po create mode 100644 whatsnew/3.1.po create mode 100644 whatsnew/3.10.po create mode 100644 whatsnew/3.11.po create mode 100644 whatsnew/3.2.po create mode 100644 whatsnew/3.3.po create mode 100644 whatsnew/3.4.po create mode 100644 whatsnew/3.5.po create mode 100644 whatsnew/3.6.po create mode 100644 whatsnew/3.7.po create mode 100644 whatsnew/3.8.po create mode 100644 whatsnew/3.9.po create mode 100644 whatsnew/changelog.po create mode 100644 whatsnew/index.po diff --git a/.tx/config b/.tx/config index 7616e9ce7..de06efd11 100644 --- a/.tx/config +++ b/.tx/config @@ -1,2 +1,2507 @@ [main] host = https://www.transifex.com + +[python-newest.about] +trans.uk = about.po +type = PO +source_lang = en + +[python-newest.bugs] +trans.uk = bugs.po +type = PO +source_lang = en + +[python-newest.c-api--abstract] +trans.uk = c-api/abstract.po +type = PO +source_lang = en + +[python-newest.c-api--allocation] +trans.uk = c-api/allocation.po +type = PO +source_lang = en + +[python-newest.c-api--apiabiversion] +trans.uk = c-api/apiabiversion.po +type = PO +source_lang = en + +[python-newest.c-api--arg] +trans.uk = c-api/arg.po +type = PO +source_lang = en + +[python-newest.c-api--bool] +trans.uk = c-api/bool.po +type = PO +source_lang = en + +[python-newest.c-api--buffer] +trans.uk = c-api/buffer.po +type = PO +source_lang = en + +[python-newest.c-api--bytearray] +trans.uk = c-api/bytearray.po +type = PO +source_lang = en + +[python-newest.c-api--bytes] +trans.uk = c-api/bytes.po +type = PO +source_lang = en + +[python-newest.c-api--call] +trans.uk = c-api/call.po +type = PO +source_lang = en + +[python-newest.c-api--capsule] +trans.uk = c-api/capsule.po +type = PO +source_lang = en + +[python-newest.c-api--cell] +trans.uk = c-api/cell.po +type = PO +source_lang = en + +[python-newest.c-api--code] +trans.uk = c-api/code.po +type = PO +source_lang = en + +[python-newest.c-api--codec] +trans.uk = c-api/codec.po +type = PO +source_lang = en + +[python-newest.c-api--complex] +trans.uk = c-api/complex.po +type = PO +source_lang = en + +[python-newest.c-api--concrete] +trans.uk = c-api/concrete.po +type = PO +source_lang = en + +[python-newest.c-api--contextvars] +trans.uk = c-api/contextvars.po +type = PO +source_lang = en + +[python-newest.c-api--conversion] +trans.uk = c-api/conversion.po +type = PO +source_lang = en + +[python-newest.c-api--coro] +trans.uk = c-api/coro.po +type = PO +source_lang = en + +[python-newest.c-api--datetime] +trans.uk = c-api/datetime.po +type = PO +source_lang = en + +[python-newest.c-api--descriptor] +trans.uk = c-api/descriptor.po +type = PO +source_lang = en + +[python-newest.c-api--dict] +trans.uk = c-api/dict.po +type = PO +source_lang = en + +[python-newest.c-api--exceptions] +trans.uk = c-api/exceptions.po +type = PO +source_lang = en + +[python-newest.c-api--file] +trans.uk = c-api/file.po +type = PO +source_lang = en + +[python-newest.c-api--float] +trans.uk = c-api/float.po +type = PO +source_lang = en + +[python-newest.c-api--frame] +trans.uk = c-api/frame.po +type = PO +source_lang = en + +[python-newest.c-api--function] +trans.uk = c-api/function.po +type = PO +source_lang = en + +[python-newest.c-api--gcsupport] +trans.uk = c-api/gcsupport.po +type = PO +source_lang = en + +[python-newest.c-api--gen] +trans.uk = c-api/gen.po +type = PO +source_lang = en + +[python-newest.c-api--import] +trans.uk = c-api/import.po +type = PO +source_lang = en + +[python-newest.c-api--index] +trans.uk = c-api/index.po +type = PO +source_lang = en + +[python-newest.c-api--init] +trans.uk = c-api/init.po +type = PO +source_lang = en + +[python-newest.c-api--init_config] +trans.uk = c-api/init_config.po +type = PO +source_lang = en + +[python-newest.c-api--intro] +trans.uk = c-api/intro.po +type = PO +source_lang = en + +[python-newest.c-api--iter] +trans.uk = c-api/iter.po +type = PO +source_lang = en + +[python-newest.c-api--iterator] +trans.uk = c-api/iterator.po +type = PO +source_lang = en + +[python-newest.c-api--list] +trans.uk = c-api/list.po +type = PO +source_lang = en + +[python-newest.c-api--long] +trans.uk = c-api/long.po +type = PO +source_lang = en + +[python-newest.c-api--mapping] +trans.uk = c-api/mapping.po +type = PO +source_lang = en + +[python-newest.c-api--marshal] +trans.uk = c-api/marshal.po +type = PO +source_lang = en + +[python-newest.c-api--memory] +trans.uk = c-api/memory.po +type = PO +source_lang = en + +[python-newest.c-api--memoryview] +trans.uk = c-api/memoryview.po +type = PO +source_lang = en + +[python-newest.c-api--method] +trans.uk = c-api/method.po +type = PO +source_lang = en + +[python-newest.c-api--module] +trans.uk = c-api/module.po +type = PO +source_lang = en + +[python-newest.c-api--none] +trans.uk = c-api/none.po +type = PO +source_lang = en + +[python-newest.c-api--number] +trans.uk = c-api/number.po +type = PO +source_lang = en + +[python-newest.c-api--objbuffer] +trans.uk = c-api/objbuffer.po +type = PO +source_lang = en + +[python-newest.c-api--object] +trans.uk = c-api/object.po +type = PO +source_lang = en + +[python-newest.c-api--objimpl] +trans.uk = c-api/objimpl.po +type = PO +source_lang = en + +[python-newest.c-api--refcounting] +trans.uk = c-api/refcounting.po +type = PO +source_lang = en + +[python-newest.c-api--reflection] +trans.uk = c-api/reflection.po +type = PO +source_lang = en + +[python-newest.c-api--sequence] +trans.uk = c-api/sequence.po +type = PO +source_lang = en + +[python-newest.c-api--set] +trans.uk = c-api/set.po +type = PO +source_lang = en + +[python-newest.c-api--slice] +trans.uk = c-api/slice.po +type = PO +source_lang = en + +[python-newest.c-api--stable] +trans.uk = c-api/stable.po +type = PO +source_lang = en + +[python-newest.c-api--structures] +trans.uk = c-api/structures.po +type = PO +source_lang = en + +[python-newest.c-api--sys] +trans.uk = c-api/sys.po +type = PO +source_lang = en + +[python-newest.c-api--tuple] +trans.uk = c-api/tuple.po +type = PO +source_lang = en + +[python-newest.c-api--type] +trans.uk = c-api/type.po +type = PO +source_lang = en + +[python-newest.c-api--typehints] +trans.uk = c-api/typehints.po +type = PO +source_lang = en + +[python-newest.c-api--typeobj] +trans.uk = c-api/typeobj.po +type = PO +source_lang = en + +[python-newest.c-api--unicode] +trans.uk = c-api/unicode.po +type = PO +source_lang = en + +[python-newest.c-api--utilities] +trans.uk = c-api/utilities.po +type = PO +source_lang = en + +[python-newest.c-api--veryhigh] +trans.uk = c-api/veryhigh.po +type = PO +source_lang = en + +[python-newest.c-api--weakref] +trans.uk = c-api/weakref.po +type = PO +source_lang = en + +[python-newest.contents] +trans.uk = contents.po +type = PO +source_lang = en + +[python-newest.copyright] +trans.uk = copyright.po +type = PO +source_lang = en + +[python-newest.distributing--index] +trans.uk = distributing/index.po +type = PO +source_lang = en + +[python-newest.distutils--_setuptools_disclaimer] +trans.uk = distutils/_setuptools_disclaimer.po +type = PO +source_lang = en + +[python-newest.distutils--apiref] +trans.uk = distutils/apiref.po +type = PO +source_lang = en + +[python-newest.distutils--builtdist] +trans.uk = distutils/builtdist.po +type = PO +source_lang = en + +[python-newest.distutils--commandref] +trans.uk = distutils/commandref.po +type = PO +source_lang = en + +[python-newest.distutils--configfile] +trans.uk = distutils/configfile.po +type = PO +source_lang = en + +[python-newest.distutils--examples] +trans.uk = distutils/examples.po +type = PO +source_lang = en + +[python-newest.distutils--extending] +trans.uk = distutils/extending.po +type = PO +source_lang = en + +[python-newest.distutils--index] +trans.uk = distutils/index.po +type = PO +source_lang = en + +[python-newest.distutils--introduction] +trans.uk = distutils/introduction.po +type = PO +source_lang = en + +[python-newest.distutils--packageindex] +trans.uk = distutils/packageindex.po +type = PO +source_lang = en + +[python-newest.distutils--setupscript] +trans.uk = distutils/setupscript.po +type = PO +source_lang = en + +[python-newest.distutils--sourcedist] +trans.uk = distutils/sourcedist.po +type = PO +source_lang = en + +[python-newest.distutils--uploading] +trans.uk = distutils/uploading.po +type = PO +source_lang = en + +[python-newest.extending--building] +trans.uk = extending/building.po +type = PO +source_lang = en + +[python-newest.extending--embedding] +trans.uk = extending/embedding.po +type = PO +source_lang = en + +[python-newest.extending--extending] +trans.uk = extending/extending.po +type = PO +source_lang = en + +[python-newest.extending--index] +trans.uk = extending/index.po +type = PO +source_lang = en + +[python-newest.extending--newtypes] +trans.uk = extending/newtypes.po +type = PO +source_lang = en + +[python-newest.extending--newtypes_tutorial] +trans.uk = extending/newtypes_tutorial.po +type = PO +source_lang = en + +[python-newest.extending--windows] +trans.uk = extending/windows.po +type = PO +source_lang = en + +[python-newest.faq--design] +trans.uk = faq/design.po +type = PO +source_lang = en + +[python-newest.faq--extending] +trans.uk = faq/extending.po +type = PO +source_lang = en + +[python-newest.faq--general] +trans.uk = faq/general.po +type = PO +source_lang = en + +[python-newest.faq--gui] +trans.uk = faq/gui.po +type = PO +source_lang = en + +[python-newest.faq--index] +trans.uk = faq/index.po +type = PO +source_lang = en + +[python-newest.faq--installed] +trans.uk = faq/installed.po +type = PO +source_lang = en + +[python-newest.faq--library] +trans.uk = faq/library.po +type = PO +source_lang = en + +[python-newest.faq--programming] +trans.uk = faq/programming.po +type = PO +source_lang = en + +[python-newest.faq--windows] +trans.uk = faq/windows.po +type = PO +source_lang = en + +[python-newest.glossary_] +trans.uk = glossary.po +type = PO +source_lang = en + +[python-newest.howto--annotations] +trans.uk = howto/annotations.po +type = PO +source_lang = en + +[python-newest.howto--argparse] +trans.uk = howto/argparse.po +type = PO +source_lang = en + +[python-newest.howto--clinic] +trans.uk = howto/clinic.po +type = PO +source_lang = en + +[python-newest.howto--cporting] +trans.uk = howto/cporting.po +type = PO +source_lang = en + +[python-newest.howto--curses] +trans.uk = howto/curses.po +type = PO +source_lang = en + +[python-newest.howto--descriptor] +trans.uk = howto/descriptor.po +type = PO +source_lang = en + +[python-newest.howto--enum] +trans.uk = howto/enum.po +type = PO +source_lang = en + +[python-newest.howto--functional] +trans.uk = howto/functional.po +type = PO +source_lang = en + +[python-newest.howto--index] +trans.uk = howto/index.po +type = PO +source_lang = en + +[python-newest.howto--instrumentation] +trans.uk = howto/instrumentation.po +type = PO +source_lang = en + +[python-newest.howto--ipaddress] +trans.uk = howto/ipaddress.po +type = PO +source_lang = en + +[python-newest.howto--isolating-extensions] +trans.uk = howto/isolating-extensions.po +type = PO +source_lang = en + +[python-newest.howto--logging] +trans.uk = howto/logging.po +type = PO +source_lang = en + +[python-newest.howto--logging-cookbook] +trans.uk = howto/logging-cookbook.po +type = PO +source_lang = en + +[python-newest.howto--pyporting] +trans.uk = howto/pyporting.po +type = PO +source_lang = en + +[python-newest.howto--regex] +trans.uk = howto/regex.po +type = PO +source_lang = en + +[python-newest.howto--sockets] +trans.uk = howto/sockets.po +type = PO +source_lang = en + +[python-newest.howto--sorting] +trans.uk = howto/sorting.po +type = PO +source_lang = en + +[python-newest.howto--unicode] +trans.uk = howto/unicode.po +type = PO +source_lang = en + +[python-newest.howto--urllib2] +trans.uk = howto/urllib2.po +type = PO +source_lang = en + +[python-newest.includes--wasm-notavail] +trans.uk = includes/wasm-notavail.po +type = PO +source_lang = en + +[python-newest.install--index] +trans.uk = install/index.po +type = PO +source_lang = en + +[python-newest.installing--index] +trans.uk = installing/index.po +type = PO +source_lang = en + +[python-newest.library--2to3] +trans.uk = library/2to3.po +type = PO +source_lang = en + +[python-newest.library--__future__] +trans.uk = library/__future__.po +type = PO +source_lang = en + +[python-newest.library--__main__] +trans.uk = library/__main__.po +type = PO +source_lang = en + +[python-newest.library--_thread] +trans.uk = library/_thread.po +type = PO +source_lang = en + +[python-newest.library--abc] +trans.uk = library/abc.po +type = PO +source_lang = en + +[python-newest.library--aifc] +trans.uk = library/aifc.po +type = PO +source_lang = en + +[python-newest.library--allos] +trans.uk = library/allos.po +type = PO +source_lang = en + +[python-newest.library--archiving] +trans.uk = library/archiving.po +type = PO +source_lang = en + +[python-newest.library--argparse] +trans.uk = library/argparse.po +type = PO +source_lang = en + +[python-newest.library--array] +trans.uk = library/array.po +type = PO +source_lang = en + +[python-newest.library--ast] +trans.uk = library/ast.po +type = PO +source_lang = en + +[python-newest.library--asynchat] +trans.uk = library/asynchat.po +type = PO +source_lang = en + +[python-newest.library--asyncio] +trans.uk = library/asyncio.po +type = PO +source_lang = en + +[python-newest.library--asyncio-api-index] +trans.uk = library/asyncio-api-index.po +type = PO +source_lang = en + +[python-newest.library--asyncio-dev] +trans.uk = library/asyncio-dev.po +type = PO +source_lang = en + +[python-newest.library--asyncio-eventloop] +trans.uk = library/asyncio-eventloop.po +type = PO +source_lang = en + +[python-newest.library--asyncio-exceptions] +trans.uk = library/asyncio-exceptions.po +type = PO +source_lang = en + +[python-newest.library--asyncio-extending] +trans.uk = library/asyncio-extending.po +type = PO +source_lang = en + +[python-newest.library--asyncio-future] +trans.uk = library/asyncio-future.po +type = PO +source_lang = en + +[python-newest.library--asyncio-llapi-index] +trans.uk = library/asyncio-llapi-index.po +type = PO +source_lang = en + +[python-newest.library--asyncio-platforms] +trans.uk = library/asyncio-platforms.po +type = PO +source_lang = en + +[python-newest.library--asyncio-policy] +trans.uk = library/asyncio-policy.po +type = PO +source_lang = en + +[python-newest.library--asyncio-protocol] +trans.uk = library/asyncio-protocol.po +type = PO +source_lang = en + +[python-newest.library--asyncio-queue] +trans.uk = library/asyncio-queue.po +type = PO +source_lang = en + +[python-newest.library--asyncio-runner] +trans.uk = library/asyncio-runner.po +type = PO +source_lang = en + +[python-newest.library--asyncio-stream] +trans.uk = library/asyncio-stream.po +type = PO +source_lang = en + +[python-newest.library--asyncio-subprocess] +trans.uk = library/asyncio-subprocess.po +type = PO +source_lang = en + +[python-newest.library--asyncio-sync] +trans.uk = library/asyncio-sync.po +type = PO +source_lang = en + +[python-newest.library--asyncio-task] +trans.uk = library/asyncio-task.po +type = PO +source_lang = en + +[python-newest.library--asyncore] +trans.uk = library/asyncore.po +type = PO +source_lang = en + +[python-newest.library--atexit] +trans.uk = library/atexit.po +type = PO +source_lang = en + +[python-newest.library--audioop] +trans.uk = library/audioop.po +type = PO +source_lang = en + +[python-newest.library--audit_events] +trans.uk = library/audit_events.po +type = PO +source_lang = en + +[python-newest.library--base64] +trans.uk = library/base64.po +type = PO +source_lang = en + +[python-newest.library--bdb] +trans.uk = library/bdb.po +type = PO +source_lang = en + +[python-newest.library--binary] +trans.uk = library/binary.po +type = PO +source_lang = en + +[python-newest.library--binascii] +trans.uk = library/binascii.po +type = PO +source_lang = en + +[python-newest.library--binhex] +trans.uk = library/binhex.po +type = PO +source_lang = en + +[python-newest.library--bisect] +trans.uk = library/bisect.po +type = PO +source_lang = en + +[python-newest.library--builtins] +trans.uk = library/builtins.po +type = PO +source_lang = en + +[python-newest.library--bz2] +trans.uk = library/bz2.po +type = PO +source_lang = en + +[python-newest.library--calendar] +trans.uk = library/calendar.po +type = PO +source_lang = en + +[python-newest.library--cgi] +trans.uk = library/cgi.po +type = PO +source_lang = en + +[python-newest.library--cgitb] +trans.uk = library/cgitb.po +type = PO +source_lang = en + +[python-newest.library--chunk] +trans.uk = library/chunk.po +type = PO +source_lang = en + +[python-newest.library--cmath] +trans.uk = library/cmath.po +type = PO +source_lang = en + +[python-newest.library--cmd] +trans.uk = library/cmd.po +type = PO +source_lang = en + +[python-newest.library--code] +trans.uk = library/code.po +type = PO +source_lang = en + +[python-newest.library--codecs] +trans.uk = library/codecs.po +type = PO +source_lang = en + +[python-newest.library--codeop] +trans.uk = library/codeop.po +type = PO +source_lang = en + +[python-newest.library--collections] +trans.uk = library/collections.po +type = PO +source_lang = en + +[python-newest.library--collections_abc] +trans.uk = library/collections_abc.po +type = PO +source_lang = en + +[python-newest.library--colorsys] +trans.uk = library/colorsys.po +type = PO +source_lang = en + +[python-newest.library--compileall] +trans.uk = library/compileall.po +type = PO +source_lang = en + +[python-newest.library--concurrency] +trans.uk = library/concurrency.po +type = PO +source_lang = en + +[python-newest.library--concurrent] +trans.uk = library/concurrent.po +type = PO +source_lang = en + +[python-newest.library--concurrent_futures] +trans.uk = library/concurrent_futures.po +type = PO +source_lang = en + +[python-newest.library--configparser] +trans.uk = library/configparser.po +type = PO +source_lang = en + +[python-newest.library--constants] +trans.uk = library/constants.po +type = PO +source_lang = en + +[python-newest.library--contextlib] +trans.uk = library/contextlib.po +type = PO +source_lang = en + +[python-newest.library--contextvars] +trans.uk = library/contextvars.po +type = PO +source_lang = en + +[python-newest.library--copy] +trans.uk = library/copy.po +type = PO +source_lang = en + +[python-newest.library--copyreg] +trans.uk = library/copyreg.po +type = PO +source_lang = en + +[python-newest.library--crypt] +trans.uk = library/crypt.po +type = PO +source_lang = en + +[python-newest.library--crypto] +trans.uk = library/crypto.po +type = PO +source_lang = en + +[python-newest.library--csv] +trans.uk = library/csv.po +type = PO +source_lang = en + +[python-newest.library--ctypes] +trans.uk = library/ctypes.po +type = PO +source_lang = en + +[python-newest.library--curses] +trans.uk = library/curses.po +type = PO +source_lang = en + +[python-newest.library--curses_ascii] +trans.uk = library/curses_ascii.po +type = PO +source_lang = en + +[python-newest.library--curses_panel] +trans.uk = library/curses_panel.po +type = PO +source_lang = en + +[python-newest.library--custominterp] +trans.uk = library/custominterp.po +type = PO +source_lang = en + +[python-newest.library--dataclasses] +trans.uk = library/dataclasses.po +type = PO +source_lang = en + +[python-newest.library--datatypes] +trans.uk = library/datatypes.po +type = PO +source_lang = en + +[python-newest.library--datetime] +trans.uk = library/datetime.po +type = PO +source_lang = en + +[python-newest.library--dbm] +trans.uk = library/dbm.po +type = PO +source_lang = en + +[python-newest.library--debug] +trans.uk = library/debug.po +type = PO +source_lang = en + +[python-newest.library--decimal] +trans.uk = library/decimal.po +type = PO +source_lang = en + +[python-newest.library--development] +trans.uk = library/development.po +type = PO +source_lang = en + +[python-newest.library--devmode] +trans.uk = library/devmode.po +type = PO +source_lang = en + +[python-newest.library--dialog] +trans.uk = library/dialog.po +type = PO +source_lang = en + +[python-newest.library--difflib] +trans.uk = library/difflib.po +type = PO +source_lang = en + +[python-newest.library--dis] +trans.uk = library/dis.po +type = PO +source_lang = en + +[python-newest.library--distribution] +trans.uk = library/distribution.po +type = PO +source_lang = en + +[python-newest.library--distutils] +trans.uk = library/distutils.po +type = PO +source_lang = en + +[python-newest.library--doctest] +trans.uk = library/doctest.po +type = PO +source_lang = en + +[python-newest.library--email] +trans.uk = library/email.po +type = PO +source_lang = en + +[python-newest.library--email_charset] +trans.uk = library/email_charset.po +type = PO +source_lang = en + +[python-newest.library--email_compat32-message] +trans.uk = library/email_compat32-message.po +type = PO +source_lang = en + +[python-newest.library--email_contentmanager] +trans.uk = library/email_contentmanager.po +type = PO +source_lang = en + +[python-newest.library--email_encoders] +trans.uk = library/email_encoders.po +type = PO +source_lang = en + +[python-newest.library--email_errors] +trans.uk = library/email_errors.po +type = PO +source_lang = en + +[python-newest.library--email_examples] +trans.uk = library/email_examples.po +type = PO +source_lang = en + +[python-newest.library--email_generator] +trans.uk = library/email_generator.po +type = PO +source_lang = en + +[python-newest.library--email_header] +trans.uk = library/email_header.po +type = PO +source_lang = en + +[python-newest.library--email_headerregistry] +trans.uk = library/email_headerregistry.po +type = PO +source_lang = en + +[python-newest.library--email_iterators] +trans.uk = library/email_iterators.po +type = PO +source_lang = en + +[python-newest.library--email_message] +trans.uk = library/email_message.po +type = PO +source_lang = en + +[python-newest.library--email_mime] +trans.uk = library/email_mime.po +type = PO +source_lang = en + +[python-newest.library--email_parser] +trans.uk = library/email_parser.po +type = PO +source_lang = en + +[python-newest.library--email_policy] +trans.uk = library/email_policy.po +type = PO +source_lang = en + +[python-newest.library--email_utils] +trans.uk = library/email_utils.po +type = PO +source_lang = en + +[python-newest.library--ensurepip] +trans.uk = library/ensurepip.po +type = PO +source_lang = en + +[python-newest.library--enum] +trans.uk = library/enum.po +type = PO +source_lang = en + +[python-newest.library--errno] +trans.uk = library/errno.po +type = PO +source_lang = en + +[python-newest.library--exceptions] +trans.uk = library/exceptions.po +type = PO +source_lang = en + +[python-newest.library--faulthandler] +trans.uk = library/faulthandler.po +type = PO +source_lang = en + +[python-newest.library--fcntl] +trans.uk = library/fcntl.po +type = PO +source_lang = en + +[python-newest.library--filecmp] +trans.uk = library/filecmp.po +type = PO +source_lang = en + +[python-newest.library--fileformats] +trans.uk = library/fileformats.po +type = PO +source_lang = en + +[python-newest.library--fileinput] +trans.uk = library/fileinput.po +type = PO +source_lang = en + +[python-newest.library--filesys] +trans.uk = library/filesys.po +type = PO +source_lang = en + +[python-newest.library--fnmatch] +trans.uk = library/fnmatch.po +type = PO +source_lang = en + +[python-newest.library--fractions] +trans.uk = library/fractions.po +type = PO +source_lang = en + +[python-newest.library--frameworks] +trans.uk = library/frameworks.po +type = PO +source_lang = en + +[python-newest.library--ftplib] +trans.uk = library/ftplib.po +type = PO +source_lang = en + +[python-newest.library--functional] +trans.uk = library/functional.po +type = PO +source_lang = en + +[python-newest.library--functions] +trans.uk = library/functions.po +type = PO +source_lang = en + +[python-newest.library--functools] +trans.uk = library/functools.po +type = PO +source_lang = en + +[python-newest.library--gc] +trans.uk = library/gc.po +type = PO +source_lang = en + +[python-newest.library--getopt] +trans.uk = library/getopt.po +type = PO +source_lang = en + +[python-newest.library--getpass] +trans.uk = library/getpass.po +type = PO +source_lang = en + +[python-newest.library--gettext] +trans.uk = library/gettext.po +type = PO +source_lang = en + +[python-newest.library--glob] +trans.uk = library/glob.po +type = PO +source_lang = en + +[python-newest.library--graphlib] +trans.uk = library/graphlib.po +type = PO +source_lang = en + +[python-newest.library--grp] +trans.uk = library/grp.po +type = PO +source_lang = en + +[python-newest.library--gzip] +trans.uk = library/gzip.po +type = PO +source_lang = en + +[python-newest.library--hashlib] +trans.uk = library/hashlib.po +type = PO +source_lang = en + +[python-newest.library--heapq] +trans.uk = library/heapq.po +type = PO +source_lang = en + +[python-newest.library--hmac] +trans.uk = library/hmac.po +type = PO +source_lang = en + +[python-newest.library--html] +trans.uk = library/html.po +type = PO +source_lang = en + +[python-newest.library--html_entities] +trans.uk = library/html_entities.po +type = PO +source_lang = en + +[python-newest.library--html_parser] +trans.uk = library/html_parser.po +type = PO +source_lang = en + +[python-newest.library--http] +trans.uk = library/http.po +type = PO +source_lang = en + +[python-newest.library--http_client] +trans.uk = library/http_client.po +type = PO +source_lang = en + +[python-newest.library--http_cookiejar] +trans.uk = library/http_cookiejar.po +type = PO +source_lang = en + +[python-newest.library--http_cookies] +trans.uk = library/http_cookies.po +type = PO +source_lang = en + +[python-newest.library--http_server] +trans.uk = library/http_server.po +type = PO +source_lang = en + +[python-newest.library--i18n] +trans.uk = library/i18n.po +type = PO +source_lang = en + +[python-newest.library--idle] +trans.uk = library/idle.po +type = PO +source_lang = en + +[python-newest.library--imaplib] +trans.uk = library/imaplib.po +type = PO +source_lang = en + +[python-newest.library--imghdr] +trans.uk = library/imghdr.po +type = PO +source_lang = en + +[python-newest.library--imp] +trans.uk = library/imp.po +type = PO +source_lang = en + +[python-newest.library--importlib] +trans.uk = library/importlib.po +type = PO +source_lang = en + +[python-newest.library--importlib_metadata] +trans.uk = library/importlib_metadata.po +type = PO +source_lang = en + +[python-newest.library--importlib_resources] +trans.uk = library/importlib_resources.po +type = PO +source_lang = en + +[python-newest.library--importlib_resources_abc] +trans.uk = library/importlib_resources_abc.po +type = PO +source_lang = en + +[python-newest.library--index] +trans.uk = library/index.po +type = PO +source_lang = en + +[python-newest.library--inspect] +trans.uk = library/inspect.po +type = PO +source_lang = en + +[python-newest.library--internet] +trans.uk = library/internet.po +type = PO +source_lang = en + +[python-newest.library--intro] +trans.uk = library/intro.po +type = PO +source_lang = en + +[python-newest.library--io] +trans.uk = library/io.po +type = PO +source_lang = en + +[python-newest.library--ipaddress] +trans.uk = library/ipaddress.po +type = PO +source_lang = en + +[python-newest.library--ipc] +trans.uk = library/ipc.po +type = PO +source_lang = en + +[python-newest.library--itertools] +trans.uk = library/itertools.po +type = PO +source_lang = en + +[python-newest.library--json] +trans.uk = library/json.po +type = PO +source_lang = en + +[python-newest.library--keyword] +trans.uk = library/keyword.po +type = PO +source_lang = en + +[python-newest.library--language] +trans.uk = library/language.po +type = PO +source_lang = en + +[python-newest.library--linecache] +trans.uk = library/linecache.po +type = PO +source_lang = en + +[python-newest.library--locale] +trans.uk = library/locale.po +type = PO +source_lang = en + +[python-newest.library--logging] +trans.uk = library/logging.po +type = PO +source_lang = en + +[python-newest.library--logging_config] +trans.uk = library/logging_config.po +type = PO +source_lang = en + +[python-newest.library--logging_handlers] +trans.uk = library/logging_handlers.po +type = PO +source_lang = en + +[python-newest.library--lzma] +trans.uk = library/lzma.po +type = PO +source_lang = en + +[python-newest.library--mailbox] +trans.uk = library/mailbox.po +type = PO +source_lang = en + +[python-newest.library--mailcap] +trans.uk = library/mailcap.po +type = PO +source_lang = en + +[python-newest.library--markup] +trans.uk = library/markup.po +type = PO +source_lang = en + +[python-newest.library--marshal] +trans.uk = library/marshal.po +type = PO +source_lang = en + +[python-newest.library--math] +trans.uk = library/math.po +type = PO +source_lang = en + +[python-newest.library--mimetypes] +trans.uk = library/mimetypes.po +type = PO +source_lang = en + +[python-newest.library--mm] +trans.uk = library/mm.po +type = PO +source_lang = en + +[python-newest.library--mmap] +trans.uk = library/mmap.po +type = PO +source_lang = en + +[python-newest.library--modulefinder] +trans.uk = library/modulefinder.po +type = PO +source_lang = en + +[python-newest.library--modules] +trans.uk = library/modules.po +type = PO +source_lang = en + +[python-newest.library--msilib] +trans.uk = library/msilib.po +type = PO +source_lang = en + +[python-newest.library--msvcrt] +trans.uk = library/msvcrt.po +type = PO +source_lang = en + +[python-newest.library--multiprocessing] +trans.uk = library/multiprocessing.po +type = PO +source_lang = en + +[python-newest.library--multiprocessing_shared_memory] +trans.uk = library/multiprocessing_shared_memory.po +type = PO +source_lang = en + +[python-newest.library--netdata] +trans.uk = library/netdata.po +type = PO +source_lang = en + +[python-newest.library--netrc] +trans.uk = library/netrc.po +type = PO +source_lang = en + +[python-newest.library--nis] +trans.uk = library/nis.po +type = PO +source_lang = en + +[python-newest.library--nntplib] +trans.uk = library/nntplib.po +type = PO +source_lang = en + +[python-newest.library--numbers] +trans.uk = library/numbers.po +type = PO +source_lang = en + +[python-newest.library--numeric] +trans.uk = library/numeric.po +type = PO +source_lang = en + +[python-newest.library--operator] +trans.uk = library/operator.po +type = PO +source_lang = en + +[python-newest.library--optparse] +trans.uk = library/optparse.po +type = PO +source_lang = en + +[python-newest.library--os] +trans.uk = library/os.po +type = PO +source_lang = en + +[python-newest.library--os_path] +trans.uk = library/os_path.po +type = PO +source_lang = en + +[python-newest.library--ossaudiodev] +trans.uk = library/ossaudiodev.po +type = PO +source_lang = en + +[python-newest.library--othergui] +trans.uk = library/othergui.po +type = PO +source_lang = en + +[python-newest.library--pathlib] +trans.uk = library/pathlib.po +type = PO +source_lang = en + +[python-newest.library--pdb] +trans.uk = library/pdb.po +type = PO +source_lang = en + +[python-newest.library--persistence] +trans.uk = library/persistence.po +type = PO +source_lang = en + +[python-newest.library--pickle] +trans.uk = library/pickle.po +type = PO +source_lang = en + +[python-newest.library--pickletools] +trans.uk = library/pickletools.po +type = PO +source_lang = en + +[python-newest.library--pipes] +trans.uk = library/pipes.po +type = PO +source_lang = en + +[python-newest.library--pkgutil] +trans.uk = library/pkgutil.po +type = PO +source_lang = en + +[python-newest.library--platform] +trans.uk = library/platform.po +type = PO +source_lang = en + +[python-newest.library--plistlib] +trans.uk = library/plistlib.po +type = PO +source_lang = en + +[python-newest.library--poplib] +trans.uk = library/poplib.po +type = PO +source_lang = en + +[python-newest.library--posix] +trans.uk = library/posix.po +type = PO +source_lang = en + +[python-newest.library--pprint] +trans.uk = library/pprint.po +type = PO +source_lang = en + +[python-newest.library--profile] +trans.uk = library/profile.po +type = PO +source_lang = en + +[python-newest.library--pty] +trans.uk = library/pty.po +type = PO +source_lang = en + +[python-newest.library--pwd] +trans.uk = library/pwd.po +type = PO +source_lang = en + +[python-newest.library--py_compile] +trans.uk = library/py_compile.po +type = PO +source_lang = en + +[python-newest.library--pyclbr] +trans.uk = library/pyclbr.po +type = PO +source_lang = en + +[python-newest.library--pydoc] +trans.uk = library/pydoc.po +type = PO +source_lang = en + +[python-newest.library--pyexpat] +trans.uk = library/pyexpat.po +type = PO +source_lang = en + +[python-newest.library--python] +trans.uk = library/python.po +type = PO +source_lang = en + +[python-newest.library--queue] +trans.uk = library/queue.po +type = PO +source_lang = en + +[python-newest.library--quopri] +trans.uk = library/quopri.po +type = PO +source_lang = en + +[python-newest.library--random] +trans.uk = library/random.po +type = PO +source_lang = en + +[python-newest.library--re] +trans.uk = library/re.po +type = PO +source_lang = en + +[python-newest.library--readline] +trans.uk = library/readline.po +type = PO +source_lang = en + +[python-newest.library--reprlib] +trans.uk = library/reprlib.po +type = PO +source_lang = en + +[python-newest.library--resource] +trans.uk = library/resource.po +type = PO +source_lang = en + +[python-newest.library--rlcompleter] +trans.uk = library/rlcompleter.po +type = PO +source_lang = en + +[python-newest.library--runpy] +trans.uk = library/runpy.po +type = PO +source_lang = en + +[python-newest.library--sched] +trans.uk = library/sched.po +type = PO +source_lang = en + +[python-newest.library--secrets] +trans.uk = library/secrets.po +type = PO +source_lang = en + +[python-newest.library--security_warnings] +trans.uk = library/security_warnings.po +type = PO +source_lang = en + +[python-newest.library--select] +trans.uk = library/select.po +type = PO +source_lang = en + +[python-newest.library--selectors] +trans.uk = library/selectors.po +type = PO +source_lang = en + +[python-newest.library--shelve] +trans.uk = library/shelve.po +type = PO +source_lang = en + +[python-newest.library--shlex] +trans.uk = library/shlex.po +type = PO +source_lang = en + +[python-newest.library--shutil] +trans.uk = library/shutil.po +type = PO +source_lang = en + +[python-newest.library--signal] +trans.uk = library/signal.po +type = PO +source_lang = en + +[python-newest.library--site] +trans.uk = library/site.po +type = PO +source_lang = en + +[python-newest.library--smtpd] +trans.uk = library/smtpd.po +type = PO +source_lang = en + +[python-newest.library--smtplib] +trans.uk = library/smtplib.po +type = PO +source_lang = en + +[python-newest.library--sndhdr] +trans.uk = library/sndhdr.po +type = PO +source_lang = en + +[python-newest.library--socket] +trans.uk = library/socket.po +type = PO +source_lang = en + +[python-newest.library--socketserver] +trans.uk = library/socketserver.po +type = PO +source_lang = en + +[python-newest.library--spwd] +trans.uk = library/spwd.po +type = PO +source_lang = en + +[python-newest.library--sqlite3] +trans.uk = library/sqlite3.po +type = PO +source_lang = en + +[python-newest.library--ssl] +trans.uk = library/ssl.po +type = PO +source_lang = en + +[python-newest.library--stat] +trans.uk = library/stat.po +type = PO +source_lang = en + +[python-newest.library--statistics] +trans.uk = library/statistics.po +type = PO +source_lang = en + +[python-newest.library--stdtypes] +trans.uk = library/stdtypes.po +type = PO +source_lang = en + +[python-newest.library--string] +trans.uk = library/string.po +type = PO +source_lang = en + +[python-newest.library--stringprep] +trans.uk = library/stringprep.po +type = PO +source_lang = en + +[python-newest.library--struct] +trans.uk = library/struct.po +type = PO +source_lang = en + +[python-newest.library--subprocess] +trans.uk = library/subprocess.po +type = PO +source_lang = en + +[python-newest.library--sunau] +trans.uk = library/sunau.po +type = PO +source_lang = en + +[python-newest.library--superseded] +trans.uk = library/superseded.po +type = PO +source_lang = en + +[python-newest.library--symtable] +trans.uk = library/symtable.po +type = PO +source_lang = en + +[python-newest.library--sys] +trans.uk = library/sys.po +type = PO +source_lang = en + +[python-newest.library--sys_path_init] +trans.uk = library/sys_path_init.po +type = PO +source_lang = en + +[python-newest.library--sysconfig] +trans.uk = library/sysconfig.po +type = PO +source_lang = en + +[python-newest.library--syslog] +trans.uk = library/syslog.po +type = PO +source_lang = en + +[python-newest.library--tabnanny] +trans.uk = library/tabnanny.po +type = PO +source_lang = en + +[python-newest.library--tarfile] +trans.uk = library/tarfile.po +type = PO +source_lang = en + +[python-newest.library--telnetlib] +trans.uk = library/telnetlib.po +type = PO +source_lang = en + +[python-newest.library--tempfile] +trans.uk = library/tempfile.po +type = PO +source_lang = en + +[python-newest.library--termios] +trans.uk = library/termios.po +type = PO +source_lang = en + +[python-newest.library--test] +trans.uk = library/test.po +type = PO +source_lang = en + +[python-newest.library--text] +trans.uk = library/text.po +type = PO +source_lang = en + +[python-newest.library--textwrap] +trans.uk = library/textwrap.po +type = PO +source_lang = en + +[python-newest.library--threading] +trans.uk = library/threading.po +type = PO +source_lang = en + +[python-newest.library--time] +trans.uk = library/time.po +type = PO +source_lang = en + +[python-newest.library--timeit] +trans.uk = library/timeit.po +type = PO +source_lang = en + +[python-newest.library--tk] +trans.uk = library/tk.po +type = PO +source_lang = en + +[python-newest.library--tkinter] +trans.uk = library/tkinter.po +type = PO +source_lang = en + +[python-newest.library--tkinter_colorchooser] +trans.uk = library/tkinter_colorchooser.po +type = PO +source_lang = en + +[python-newest.library--tkinter_dnd] +trans.uk = library/tkinter_dnd.po +type = PO +source_lang = en + +[python-newest.library--tkinter_font] +trans.uk = library/tkinter_font.po +type = PO +source_lang = en + +[python-newest.library--tkinter_messagebox] +trans.uk = library/tkinter_messagebox.po +type = PO +source_lang = en + +[python-newest.library--tkinter_scrolledtext] +trans.uk = library/tkinter_scrolledtext.po +type = PO +source_lang = en + +[python-newest.library--tkinter_tix] +trans.uk = library/tkinter_tix.po +type = PO +source_lang = en + +[python-newest.library--tkinter_ttk] +trans.uk = library/tkinter_ttk.po +type = PO +source_lang = en + +[python-newest.library--token] +trans.uk = library/token.po +type = PO +source_lang = en + +[python-newest.library--tokenize] +trans.uk = library/tokenize.po +type = PO +source_lang = en + +[python-newest.library--tomllib] +trans.uk = library/tomllib.po +type = PO +source_lang = en + +[python-newest.library--trace] +trans.uk = library/trace.po +type = PO +source_lang = en + +[python-newest.library--traceback] +trans.uk = library/traceback.po +type = PO +source_lang = en + +[python-newest.library--tracemalloc] +trans.uk = library/tracemalloc.po +type = PO +source_lang = en + +[python-newest.library--tty] +trans.uk = library/tty.po +type = PO +source_lang = en + +[python-newest.library--turtle] +trans.uk = library/turtle.po +type = PO +source_lang = en + +[python-newest.library--types] +trans.uk = library/types.po +type = PO +source_lang = en + +[python-newest.library--typing] +trans.uk = library/typing.po +type = PO +source_lang = en + +[python-newest.library--undoc] +trans.uk = library/undoc.po +type = PO +source_lang = en + +[python-newest.library--unicodedata] +trans.uk = library/unicodedata.po +type = PO +source_lang = en + +[python-newest.library--unittest] +trans.uk = library/unittest.po +type = PO +source_lang = en + +[python-newest.library--unittest_mock] +trans.uk = library/unittest_mock.po +type = PO +source_lang = en + +[python-newest.library--unittest_mock-examples] +trans.uk = library/unittest_mock-examples.po +type = PO +source_lang = en + +[python-newest.library--unix] +trans.uk = library/unix.po +type = PO +source_lang = en + +[python-newest.library--urllib] +trans.uk = library/urllib.po +type = PO +source_lang = en + +[python-newest.library--urllib_error] +trans.uk = library/urllib_error.po +type = PO +source_lang = en + +[python-newest.library--urllib_parse] +trans.uk = library/urllib_parse.po +type = PO +source_lang = en + +[python-newest.library--urllib_request] +trans.uk = library/urllib_request.po +type = PO +source_lang = en + +[python-newest.library--urllib_robotparser] +trans.uk = library/urllib_robotparser.po +type = PO +source_lang = en + +[python-newest.library--uu] +trans.uk = library/uu.po +type = PO +source_lang = en + +[python-newest.library--uuid] +trans.uk = library/uuid.po +type = PO +source_lang = en + +[python-newest.library--venv] +trans.uk = library/venv.po +type = PO +source_lang = en + +[python-newest.library--warnings] +trans.uk = library/warnings.po +type = PO +source_lang = en + +[python-newest.library--wave] +trans.uk = library/wave.po +type = PO +source_lang = en + +[python-newest.library--weakref] +trans.uk = library/weakref.po +type = PO +source_lang = en + +[python-newest.library--webbrowser] +trans.uk = library/webbrowser.po +type = PO +source_lang = en + +[python-newest.library--windows] +trans.uk = library/windows.po +type = PO +source_lang = en + +[python-newest.library--winreg] +trans.uk = library/winreg.po +type = PO +source_lang = en + +[python-newest.library--winsound] +trans.uk = library/winsound.po +type = PO +source_lang = en + +[python-newest.library--wsgiref] +trans.uk = library/wsgiref.po +type = PO +source_lang = en + +[python-newest.library--xdrlib] +trans.uk = library/xdrlib.po +type = PO +source_lang = en + +[python-newest.library--xml] +trans.uk = library/xml.po +type = PO +source_lang = en + +[python-newest.library--xml_dom] +trans.uk = library/xml_dom.po +type = PO +source_lang = en + +[python-newest.library--xml_dom_minidom] +trans.uk = library/xml_dom_minidom.po +type = PO +source_lang = en + +[python-newest.library--xml_dom_pulldom] +trans.uk = library/xml_dom_pulldom.po +type = PO +source_lang = en + +[python-newest.library--xml_etree_elementtree] +trans.uk = library/xml_etree_elementtree.po +type = PO +source_lang = en + +[python-newest.library--xml_sax] +trans.uk = library/xml_sax.po +type = PO +source_lang = en + +[python-newest.library--xml_sax_handler] +trans.uk = library/xml_sax_handler.po +type = PO +source_lang = en + +[python-newest.library--xml_sax_reader] +trans.uk = library/xml_sax_reader.po +type = PO +source_lang = en + +[python-newest.library--xml_sax_utils] +trans.uk = library/xml_sax_utils.po +type = PO +source_lang = en + +[python-newest.library--xmlrpc] +trans.uk = library/xmlrpc.po +type = PO +source_lang = en + +[python-newest.library--xmlrpc_client] +trans.uk = library/xmlrpc_client.po +type = PO +source_lang = en + +[python-newest.library--xmlrpc_server] +trans.uk = library/xmlrpc_server.po +type = PO +source_lang = en + +[python-newest.library--zipapp] +trans.uk = library/zipapp.po +type = PO +source_lang = en + +[python-newest.library--zipfile] +trans.uk = library/zipfile.po +type = PO +source_lang = en + +[python-newest.library--zipimport] +trans.uk = library/zipimport.po +type = PO +source_lang = en + +[python-newest.library--zlib] +trans.uk = library/zlib.po +type = PO +source_lang = en + +[python-newest.library--zoneinfo] +trans.uk = library/zoneinfo.po +type = PO +source_lang = en + +[python-newest.license] +trans.uk = license.po +type = PO +source_lang = en + +[python-newest.reference--compound_stmts] +trans.uk = reference/compound_stmts.po +type = PO +source_lang = en + +[python-newest.reference--datamodel] +trans.uk = reference/datamodel.po +type = PO +source_lang = en + +[python-newest.reference--executionmodel] +trans.uk = reference/executionmodel.po +type = PO +source_lang = en + +[python-newest.reference--expressions] +trans.uk = reference/expressions.po +type = PO +source_lang = en + +[python-newest.reference--grammar] +trans.uk = reference/grammar.po +type = PO +source_lang = en + +[python-newest.reference--import] +trans.uk = reference/import.po +type = PO +source_lang = en + +[python-newest.reference--index] +trans.uk = reference/index.po +type = PO +source_lang = en + +[python-newest.reference--introduction] +trans.uk = reference/introduction.po +type = PO +source_lang = en + +[python-newest.reference--lexical_analysis] +trans.uk = reference/lexical_analysis.po +type = PO +source_lang = en + +[python-newest.reference--simple_stmts] +trans.uk = reference/simple_stmts.po +type = PO +source_lang = en + +[python-newest.reference--toplevel_components] +trans.uk = reference/toplevel_components.po +type = PO +source_lang = en + +[python-newest.sphinx] +trans.uk = sphinx.po +type = PO +source_lang = en + +[python-newest.tutorial--appendix] +trans.uk = tutorial/appendix.po +type = PO +source_lang = en + +[python-newest.tutorial--appetite] +trans.uk = tutorial/appetite.po +type = PO +source_lang = en + +[python-newest.tutorial--classes] +trans.uk = tutorial/classes.po +type = PO +source_lang = en + +[python-newest.tutorial--controlflow] +trans.uk = tutorial/controlflow.po +type = PO +source_lang = en + +[python-newest.tutorial--datastructures] +trans.uk = tutorial/datastructures.po +type = PO +source_lang = en + +[python-newest.tutorial--errors] +trans.uk = tutorial/errors.po +type = PO +source_lang = en + +[python-newest.tutorial--floatingpoint] +trans.uk = tutorial/floatingpoint.po +type = PO +source_lang = en + +[python-newest.tutorial--index] +trans.uk = tutorial/index.po +type = PO +source_lang = en + +[python-newest.tutorial--inputoutput] +trans.uk = tutorial/inputoutput.po +type = PO +source_lang = en + +[python-newest.tutorial--interactive] +trans.uk = tutorial/interactive.po +type = PO +source_lang = en + +[python-newest.tutorial--interpreter] +trans.uk = tutorial/interpreter.po +type = PO +source_lang = en + +[python-newest.tutorial--introduction] +trans.uk = tutorial/introduction.po +type = PO +source_lang = en + +[python-newest.tutorial--modules] +trans.uk = tutorial/modules.po +type = PO +source_lang = en + +[python-newest.tutorial--stdlib] +trans.uk = tutorial/stdlib.po +type = PO +source_lang = en + +[python-newest.tutorial--stdlib2] +trans.uk = tutorial/stdlib2.po +type = PO +source_lang = en + +[python-newest.tutorial--venv] +trans.uk = tutorial/venv.po +type = PO +source_lang = en + +[python-newest.tutorial--whatnow] +trans.uk = tutorial/whatnow.po +type = PO +source_lang = en + +[python-newest.using--cmdline] +trans.uk = using/cmdline.po +type = PO +source_lang = en + +[python-newest.using--configure] +trans.uk = using/configure.po +type = PO +source_lang = en + +[python-newest.using--editors] +trans.uk = using/editors.po +type = PO +source_lang = en + +[python-newest.using--index] +trans.uk = using/index.po +type = PO +source_lang = en + +[python-newest.using--mac] +trans.uk = using/mac.po +type = PO +source_lang = en + +[python-newest.using--unix] +trans.uk = using/unix.po +type = PO +source_lang = en + +[python-newest.using--windows] +trans.uk = using/windows.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_0] +trans.uk = whatsnew/2.0.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_1] +trans.uk = whatsnew/2.1.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_2] +trans.uk = whatsnew/2.2.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_3] +trans.uk = whatsnew/2.3.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_4] +trans.uk = whatsnew/2.4.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_5] +trans.uk = whatsnew/2.5.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_6] +trans.uk = whatsnew/2.6.po +type = PO +source_lang = en + +[python-newest.whatsnew--2_7] +trans.uk = whatsnew/2.7.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_0] +trans.uk = whatsnew/3.0.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_1] +trans.uk = whatsnew/3.1.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_10] +trans.uk = whatsnew/3.10.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_11] +trans.uk = whatsnew/3.11.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_2] +trans.uk = whatsnew/3.2.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_3] +trans.uk = whatsnew/3.3.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_4] +trans.uk = whatsnew/3.4.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_5] +trans.uk = whatsnew/3.5.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_6] +trans.uk = whatsnew/3.6.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_7] +trans.uk = whatsnew/3.7.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_8] +trans.uk = whatsnew/3.8.po +type = PO +source_lang = en + +[python-newest.whatsnew--3_9] +trans.uk = whatsnew/3.9.po +type = PO +source_lang = en + +[python-newest.whatsnew--changelog] +trans.uk = whatsnew/changelog.po +type = PO +source_lang = en + +[python-newest.whatsnew--index] +trans.uk = whatsnew/index.po +type = PO +source_lang = en diff --git a/about.po b/about.po new file mode 100644 index 000000000..ddbd47001 --- /dev/null +++ b/about.po @@ -0,0 +1,87 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "About these documents" +msgstr "Про ці документи" + +msgid "" +"These documents are generated from `reStructuredText`_ sources by `Sphinx`_, " +"a document processor specifically written for the Python documentation." +msgstr "" +"Ці документи генеруються з джерел `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 writer of much of the content;" +msgstr "" +"Fred L. Drake, Jr., творцю оригінального набору інструментів документації " +"Python і автору більшої частини контенту;" + +msgid "" +"the `Docutils `_ project for creating " +"reStructuredText and the Docutils suite;" +msgstr "" + +msgid "" +"Fredrik Lundh for his Alternative Python Reference project from which Sphinx " +"got many good ideas." +msgstr "" +"Fredrik Lundh за його проєкт Alternative Python Reference, з якого 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 :source:`Misc/ACKS` in the " +"Python source distribution for a partial list of contributors." +msgstr "" +"Багато людей зробили внесок у мову Python, стандартну бібліотеку Python і " +"документацію Python. Перегляньте :source:`Misc/ACKS` у вихідному коді Python " +"з неповним списком учасників." + +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..ca902e627 --- /dev/null +++ b/bugs.po @@ -0,0 +1,216 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (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 less 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:`tracker `. If you have a suggestion on how to fix it, include that as well." +msgstr "" +"Якщо ви знайшли помилку в цій документації або бажаєте запропонувати " +"покращення, надішліть звіт про помилку на :ref:`трекер `. " +"Якщо у вас є пропозиції щодо того, як це виправити, також додайте їх у звіт." + +msgid "" +"If you're short on time, you can also email documentation bug reports to " +"docs@python.org (behavioral bugs can be sent to python-list@python.org). " +"'docs@' is a mailing list run by volunteers; your request will be noticed, " +"though it may take a while to be processed." +msgstr "" +"Якщо у вас мало часу, ви також можете надіслати звіт про помилки в " +"документації електронною поштою на адресу docs@python.org (поведінкові " +"помилки можна надіслати на адресу python-list@python.org). 'docs@' — це " +"список розсилки, який ведуть волонтери; ваш запит буде занотовано, хоча і " +"обробка може зайняти деякий час." + +msgid "`Documentation bugs`_" +msgstr "Помилки в документації - `Documentation bugs`_" + +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 primary " +"contacts." +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 "" + +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 "" + +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 "" + +msgid "The submission form has two fields, \"Title\" and \"Comment\"." +msgstr "" + +msgid "" +"For the \"Title\" field, enter a *very* short description of the problem; " +"less than ten words is good." +msgstr "" + +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 Developer's Guide`_. Якщо у вас є запитання, " +"`core-mentorship mailing list`_ — це дружнє місце, де можна отримати " +"відповіді на будь-які питання, що стосуються процесу вирішення проблем у " +"Python." diff --git a/c-api/abstract.po b/c-api/abstract.po new file mode 100644 index 000000000..2fff9a523 --- /dev/null +++ b/c-api/abstract.po @@ -0,0 +1,51 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Abstract Objects Layer" +msgstr "Шар абстрактних об'єктів" + +msgid "" +"The functions in this chapter interact with Python objects regardless of " +"their type, or with wide classes of object types (e.g. all numerical types, " +"or all sequence types). When used on object types for which they do not " +"apply, they will raise a Python exception." +msgstr "" +"Функції в цьому розділі взаємодіють з об’єктами Python незалежно від їх типу " +"або з широкими класами типів об’єктів (наприклад, усі числові типи або всі " +"типи послідовностей). При використанні на типах об’єктів, для яких вони не " +"застосовуються, вони викликають виняток Python." + +msgid "" +"It is not possible to use these functions on objects that are not properly " +"initialized, such as a list object that has been created by :c:func:" +"`PyList_New`, but whose items have not been set to some non-\\ ``NULL`` " +"value yet." +msgstr "" +"Ці функції неможливо використовувати для об’єктів, які не були " +"ініціалізовані належним чином, наприклад, об’єкт списку, який створений за " +"допомогою :c:func:`PyList_New`, проте для його елементів не було задано " +"значення відмінні від ``NULL``." diff --git a/c-api/allocation.po b/c-api/allocation.po new file mode 100644 index 000000000..c604be027 --- /dev/null +++ b/c-api/allocation.po @@ -0,0 +1,102 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Allocating Objects on the Heap" +msgstr "Розміщення об'єктів у купі" + +msgid "" +"Initialize a newly allocated object *op* with its type and initial " +"reference. Returns the initialized object. If *type* indicates that the " +"object participates in the cyclic garbage detector, it is added to the " +"detector's set of observed objects. Other fields of the object are not " +"affected." +msgstr "" + +msgid "" +"This does everything :c:func:`PyObject_Init` does, and also initializes the " +"length information for a variable-size object." +msgstr "" +"Це робить все, що робить :c:func:`PyObject_Init`, а також ініціалізує " +"інформацію про довжину для об’єкта змінного розміру." + +msgid "" +"Allocate a new Python object using the C structure type *TYPE* and the " +"Python type object *type*. Fields not defined by the Python object header " +"are not initialized; the object's reference count will be one. The size of " +"the memory allocation is determined from the :c:member:`~PyTypeObject." +"tp_basicsize` field of the type object." +msgstr "" +"Виділіть новий об’єкт Python за допомогою типу структури C *TYPE* і об’єкта " +"типу Python *type*. Поля, не визначені заголовком об’єкта Python, не " +"ініціалізуються; кількість посилань об'єкта буде одиницею. Розмір виділеної " +"пам’яті визначається з поля :c:member:`~PyTypeObject.tp_basicsize` об’єкта " +"типу." + +msgid "" +"Allocate a new Python object using the C structure type *TYPE* and the " +"Python type object *type*. Fields not defined by the Python object header " +"are not initialized. The allocated memory allows for the *TYPE* structure " +"plus *size* fields of the size given by the :c:member:`~PyTypeObject." +"tp_itemsize` field of *type*. This is useful for implementing objects like " +"tuples, which are able to determine their size at construction time. " +"Embedding the array of fields into the same allocation decreases the number " +"of allocations, improving the memory management efficiency." +msgstr "" +"Виділіть новий об’єкт Python за допомогою типу структури C *TYPE* і об’єкта " +"типу Python *type*. Поля, не визначені заголовком об’єкта Python, не " +"ініціалізуються. Виділена пам’ять дозволяє структуру *TYPE* плюс поля *size* " +"розміру, заданого полем :c:member:`~PyTypeObject.tp_itemsize` *type*. Це " +"корисно для реалізації таких об’єктів, як кортежі, які можуть визначати свій " +"розмір під час створення. Вбудовування масиву полів у те саме виділення " +"зменшує кількість виділень, підвищуючи ефективність керування пам’яттю." + +msgid "" +"Releases memory allocated to an object using :c:func:`PyObject_New` or :c:" +"func:`PyObject_NewVar`. This is normally called from the :c:member:" +"`~PyTypeObject.tp_dealloc` handler specified in the object's type. The " +"fields of the object should not be accessed after this call as the memory is " +"no longer a valid Python object." +msgstr "" +"Звільняє пам’ять, виділену об’єкту за допомогою :c:func:`PyObject_New` або :" +"c:func:`PyObject_NewVar`. Зазвичай це викликається з обробника :c:member:" +"`~PyTypeObject.tp_dealloc`, указаного в типі об’єкта. Після цього виклику " +"доступ до полів об’єкта не має здійснюватися, оскільки пам’ять більше не є " +"дійсним об’єктом Python." + +msgid "" +"Object which is visible in Python as ``None``. This should only be accessed " +"using the :c:macro:`Py_None` macro, which evaluates to a pointer to this " +"object." +msgstr "" +"Об’єкт, видимий у Python як ``None``. Доступ до нього можна отримати лише за " +"допомогою макросу :c:macro:`Py_None`, який обчислює вказівник на цей об’єкт." + +msgid ":c:func:`PyModule_Create`" +msgstr ":c:func:`PyModule_Create`" + +msgid "To allocate and create extension modules." +msgstr "Для розміщення та створення модулів розширення." diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po new file mode 100644 index 000000000..7d6c03e09 --- /dev/null +++ b/c-api/apiabiversion.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "API and ABI Versioning" +msgstr "Керування версіями API та ABI" + +msgid "" +"CPython exposes its version number in the following macros. Note that these " +"correspond to the version code is **built** with, not necessarily the " +"version used at **run time**." +msgstr "" +"CPython розкриває номер своєї версії в наступних макросах. Зауважте, що вони " +"відповідають коду версії, з яким **зібрано**, не обов’язково версії, яка " +"використовується під час **виконання**." + +msgid "" +"See :ref:`stable` for a discussion of API and ABI stability across versions." +msgstr "" +"Перегляньте :ref:`stable` для обговорення стабільності API та ABI у різних " +"версіях." + +msgid "The ``3`` in ``3.4.1a2``." +msgstr "``3`` в ``3.4.1a2``." + +msgid "The ``4`` in ``3.4.1a2``." +msgstr "``4`` в ``3.4.1a2``." + +msgid "The ``1`` in ``3.4.1a2``." +msgstr "``1`` в ``3.4.1a2``." + +msgid "" +"The ``a`` in ``3.4.1a2``. This can be ``0xA`` for alpha, ``0xB`` for beta, " +"``0xC`` for release candidate or ``0xF`` for final." +msgstr "" +"``a`` в ``3.4.1a2``. Це може бути ``0xA`` для альфа-версії, ``0xB`` для бета-" +"версії, ``0xC`` для кандидата на випуск або ``0xF`` для фіналу." + +msgid "The ``2`` in ``3.4.1a2``. Zero for final releases." +msgstr "``2`` в ``3.4.1a2``. Нуль для остаточних випусків." + +msgid "The Python version number encoded in a single integer." +msgstr "Номер версії Python, закодований одним цілим числом." + +msgid "" +"The underlying version information can be found by treating it as a 32 bit " +"number in the following manner:" +msgstr "" +"Базову інформацію про версію можна знайти, розглядаючи її як 32-розрядне " +"число таким чином:" + +msgid "Bytes" +msgstr "Байти" + +msgid "Bits (big endian order)" +msgstr "Біти (великий порядок байтів)" + +msgid "Meaning" +msgstr "Значення" + +msgid "Value for ``3.4.1a2``" +msgstr "Значення для ``3.4.1a2``" + +msgid "1" +msgstr "1" + +msgid "1-8" +msgstr "1-8" + +msgid "``PY_MAJOR_VERSION``" +msgstr "``PY_MAJOR_VERSION``" + +msgid "``0x03``" +msgstr "``0x03``" + +msgid "2" +msgstr "2" + +msgid "9-16" +msgstr "9-16" + +msgid "``PY_MINOR_VERSION``" +msgstr "``PY_MINOR_VERSION``" + +msgid "``0x04``" +msgstr "``0x04``" + +msgid "3" +msgstr "3" + +msgid "17-24" +msgstr "17-24" + +msgid "``PY_MICRO_VERSION``" +msgstr "``PY_MICRO_VERSION``" + +msgid "``0x01``" +msgstr "``0x01``" + +msgid "4" +msgstr "4" + +msgid "25-28" +msgstr "25-28" + +msgid "``PY_RELEASE_LEVEL``" +msgstr "``PY_RELEASE_LEVEL``" + +msgid "``0xA``" +msgstr "``0xA``" + +msgid "29-32" +msgstr "29-32" + +msgid "``PY_RELEASE_SERIAL``" +msgstr "``PY_RELEASE_SERIAL``" + +msgid "``0x2``" +msgstr "``0x2``" + +msgid "" +"Thus ``3.4.1a2`` is hexversion ``0x030401a2`` and ``3.10.0`` is hexversion " +"``0x030a00f0``." +msgstr "" +"Таким чином, ``3.4.1a2`` є шістнадцятковою версією ``0x030401a2``, а " +"``3.10.0`` є шістнадцятковою версією ``0x030a00f0``." + +msgid "This version is also available via the symbol :data:`Py_Version`." +msgstr "" + +msgid "" +"The Python runtime version number encoded in a single constant integer, with " +"the same format as the :c:macro:`PY_VERSION_HEX` macro. This contains the " +"Python version used at run time." +msgstr "" + +msgid "All the given macros are defined in :source:`Include/patchlevel.h`." +msgstr "Усі вказані макроси визначено в :source:`Include/patchlevel.h`." diff --git a/c-api/arg.po b/c-api/arg.po new file mode 100644 index 000000000..7c34d0047 --- /dev/null +++ b/c-api/arg.po @@ -0,0 +1,1223 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Parsing arguments and building values" +msgstr "Розбір аргументів і створення значень" + +msgid "" +"These functions are useful when creating your own extensions functions and " +"methods. Additional information and examples are available in :ref:" +"`extending-index`." +msgstr "" +"Ці функції корисні під час створення власних функцій і методів розширень. " +"Додаткова інформація та приклади доступні в :ref:`extending-index`." + +msgid "" +"The first three of these functions described, :c:func:`PyArg_ParseTuple`, :c:" +"func:`PyArg_ParseTupleAndKeywords`, and :c:func:`PyArg_Parse`, all use " +"*format strings* which are used to tell the function about the expected " +"arguments. The format strings use the same syntax for each of these " +"functions." +msgstr "" +"Перші три з цих описаних функцій, :c:func:`PyArg_ParseTuple`, :c:func:" +"`PyArg_ParseTupleAndKeywords` і :c:func:`PyArg_Parse`, усі використовують " +"*форматні рядки*, які використовуються, щоб повідомити функції про очікувані " +"аргументи. Рядки формату використовують однаковий синтаксис для кожної з цих " +"функцій." + +msgid "Parsing arguments" +msgstr "Розбір аргументів" + +msgid "" +"A format string consists of zero or more \"format units.\" A format unit " +"describes one Python object; it is usually a single character or a " +"parenthesized sequence of format units. With a few exceptions, a format " +"unit that is not a parenthesized sequence normally corresponds to a single " +"address argument to these functions. In the following description, the " +"quoted form is the format unit; the entry in (round) parentheses is the " +"Python object type that matches the format unit; and the entry in [square] " +"brackets is the type of the C variable(s) whose address should be passed." +msgstr "" +"Рядок формату складається з нуля або більше \"одиниць формату\". Одиниця " +"формату описує один об’єкт Python; зазвичай це один символ або послідовність " +"одиниць формату в дужках. За кількома винятками, одиниця формату, яка не є " +"послідовністю в дужках, зазвичай відповідає одному аргументу адреси для цих " +"функцій. У наступному описі форма в лапках є одиницею формату; запис у " +"(круглих) дужках — це тип об’єкта Python, який відповідає одиниці формату; а " +"запис у [квадратних] дужках — це тип змінної (змінних) C, адреса якої має " +"бути передана." + +msgid "Strings and buffers" +msgstr "Рядки та буфери" + +msgid "" +"These formats allow accessing an object as a contiguous chunk of memory. You " +"don't have to provide raw storage for the returned unicode or bytes area." +msgstr "" +"Ці формати дозволяють отримати доступ до об’єкта як до безперервної частини " +"пам’яті. Вам не потрібно надавати необроблене сховище для поверненої області " +"Юнікоду або байтів." + +msgid "" +"In general, when a format sets a pointer to a buffer, the buffer is managed " +"by the corresponding Python object, and the buffer shares the lifetime of " +"this object. You won't have to release any memory yourself. The only " +"exceptions are ``es``, ``es#``, ``et`` and ``et#``." +msgstr "" +"Загалом, коли формат встановлює вказівник на буфер, буфером керує " +"відповідний об’єкт Python, і буфер розділяє час життя цього об’єкта. Вам не " +"доведеться самостійно звільняти пам’ять. Єдиним винятком є ``es``, ``es#``, " +"``et`` і ``et#``." + +msgid "" +"However, when a :c:type:`Py_buffer` structure gets filled, the underlying " +"buffer is locked so that the caller can subsequently use the buffer even " +"inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the risk of mutable " +"data being resized or destroyed. As a result, **you have to call** :c:func:" +"`PyBuffer_Release` after you have finished processing the data (or in any " +"early abort case)." +msgstr "" +"Однак, коли структура :c:type:`Py_buffer` заповнюється, базовий буфер " +"блокується, щоб абонент згодом міг використовувати буфер навіть усередині " +"блоку :c:type:`Py_BEGIN_ALLOW_THREADS` без ризику зміни розміру змінних " +"даних або знищено. У результаті **ви повинні викликати** :c:func:" +"`PyBuffer_Release` після завершення обробки даних (або в будь-якому випадку " +"раннього переривання)." + +msgid "Unless otherwise stated, buffers are not NUL-terminated." +msgstr "Якщо не зазначено інше, буфери не завершуються NUL." + +msgid "" +"Some formats require a read-only :term:`bytes-like object`, and set a " +"pointer instead of a buffer structure. They work by checking that the " +"object's :c:member:`PyBufferProcs.bf_releasebuffer` field is ``NULL``, which " +"disallows mutable objects such as :class:`bytearray`." +msgstr "" +"Деякі формати вимагають лише для читання :term:`bytes-like object` і " +"встановлюють вказівник замість буферної структури. Вони працюють, " +"перевіряючи, що поле :c:member:`PyBufferProcs.bf_releasebuffer` об’єкта має " +"значення ``NULL``, що забороняє змінні об’єкти, такі як :class:`bytearray`." + +msgid "" +"For all ``#`` variants of formats (``s#``, ``y#``, etc.), the macro :c:macro:" +"`PY_SSIZE_T_CLEAN` must be defined before including :file:`Python.h`. On " +"Python 3.9 and older, the type of the length argument is :c:type:" +"`Py_ssize_t` if the :c:macro:`PY_SSIZE_T_CLEAN` macro is defined, or int " +"otherwise." +msgstr "" +"Для всіх варіантів форматів ``#`` (``s#``, ``y#`` тощо) макрос :c:macro:" +"`PY_SSIZE_T_CLEAN` має бути визначений перед включенням :file:`Python. h`. У " +"Python 3.9 і старіших версіях тип аргументу length є :c:type:`Py_ssize_t`, " +"якщо визначено макрос :c:macro:`PY_SSIZE_T_CLEAN`, або int в іншому випадку." + +msgid "``s`` (:class:`str`) [const char \\*]" +msgstr "``s`` (:class:`str`) [const char \\*]" + +msgid "" +"Convert a Unicode object to a C pointer to a character string. A pointer to " +"an existing string is stored in the character pointer variable whose address " +"you pass. The C string is NUL-terminated. The Python string must not " +"contain embedded null code points; if it does, a :exc:`ValueError` exception " +"is raised. Unicode objects are converted to C strings using ``'utf-8'`` " +"encoding. If this conversion fails, a :exc:`UnicodeError` is raised." +msgstr "" +"Перетворення об’єкта Unicode на покажчик C на рядок символів. Покажчик на " +"існуючий рядок зберігається в змінній покажчика символів, адресу якої ви " +"передаєте. Рядок C закінчується NUL. Рядок Python не повинен містити " +"вбудованих нульових кодових точок; якщо це так, виникає виняток :exc:" +"`ValueError`. Об’єкти Unicode перетворюються на рядки C за допомогою " +"кодування ``'utf-8``. Якщо це перетворення не вдається, виникає помилка :exc:" +"`UnicodeError`." + +msgid "" +"This format does not accept :term:`bytes-like objects `. " +"If you want to accept filesystem paths and convert them to C character " +"strings, it is preferable to use the ``O&`` format with :c:func:" +"`PyUnicode_FSConverter` as *converter*." +msgstr "" +"Цей формат не приймає :term:`байтоподібні об’єкти `. Якщо " +"ви хочете прийняти шляхи до файлової системи та перетворити їх на рядки " +"символів C, бажано використовувати формат ``O&`` з :c:func:" +"`PyUnicode_FSConverter` як *перетворювач*." + +msgid "" +"Previously, :exc:`TypeError` was raised when embedded null code points were " +"encountered in the Python string." +msgstr "" +"Раніше помилка :exc:`TypeError` виникала, коли в рядку Python зустрічалися " +"вбудовані нульові кодові точки." + +msgid "``s*`` (:class:`str` or :term:`bytes-like object`) [Py_buffer]" +msgstr "``s*`` (:class:`str` або :term:`bytes-like object`) [Py_buffer]" + +msgid "" +"This format accepts Unicode objects as well as bytes-like objects. It fills " +"a :c:type:`Py_buffer` structure provided by the caller. In this case the " +"resulting C string may contain embedded NUL bytes. Unicode objects are " +"converted to C strings using ``'utf-8'`` encoding." +msgstr "" +"Цей формат приймає як об’єкти Unicode, так і байтоподібні об’єкти. Він " +"заповнює структуру :c:type:`Py_buffer`, надану абонентом. У цьому випадку " +"результуючий рядок C може містити вбудовані байти NUL. Об’єкти Unicode " +"перетворюються на рядки C за допомогою кодування ``'utf-8``." + +msgid "" +"``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char \\*, :" +"c:type:`Py_ssize_t`]" +msgstr "" +"``s#`` (:class:`str`, лише для читання :term:`bytes-like object`) [const " +"char \\*, :c:type:`Py_ssize_t`]" + +msgid "" +"Like ``s*``, except that it doesn't accept mutable objects. The result is " +"stored into two C variables, the first one a pointer to a C string, the " +"second one its length. The string may contain embedded null bytes. Unicode " +"objects are converted to C strings using ``'utf-8'`` encoding." +msgstr "" +"Як ``s*``, за винятком того, що він не приймає змінні об’єкти. Результат " +"зберігається у двох змінних C, перша з яких є покажчиком на рядок C, а друга " +"— її довжиною. Рядок може містити вбудовані нульові байти. Об’єкти Unicode " +"перетворюються на рядки C за допомогою кодування ``'utf-8``." + +msgid "``z`` (:class:`str` or ``None``) [const char \\*]" +msgstr "``z`` (:class:`str` або ``None``) [const char \\*]" + +msgid "" +"Like ``s``, but the Python object may also be ``None``, in which case the C " +"pointer is set to ``NULL``." +msgstr "" +"Подібно до ``s``, але об’єкт Python також може мати значення ``None``, у " +"цьому випадку вказівник C встановлено на ``NULL``." + +msgid "" +"``z*`` (:class:`str`, :term:`bytes-like object` or ``None``) [Py_buffer]" +msgstr "" +"``z*`` (:class:`str`, :term:`bytes-like object` або ``None``) [Py_buffer]" + +msgid "" +"Like ``s*``, but the Python object may also be ``None``, in which case the " +"``buf`` member of the :c:type:`Py_buffer` structure is set to ``NULL``." +msgstr "" +"Подібно до ``s*``, але об’єкт Python також може бути ``None``, у цьому " +"випадку ``buf`` член структури :c:type:`Py_buffer` має значення ``NULL`` ." + +msgid "" +"``z#`` (:class:`str`, read-only :term:`bytes-like object` or ``None``) " +"[const char \\*, :c:type:`Py_ssize_t`]" +msgstr "" +"``z#`` (:class:`str`, лише для читання :term:`bytes-like object` або " +"``None``) [const char \\*, :c:type:`Py_ssize_t`]" + +msgid "" +"Like ``s#``, but the Python object may also be ``None``, in which case the C " +"pointer is set to ``NULL``." +msgstr "" +"Подібно до ``s#``, але об’єкт Python також може мати значення ``None``, у " +"цьому випадку вказівник на C встановлюється як ``NULL``." + +msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]" +msgstr "``y`` (тільки для читання :term:`bytes-like object`) [const char \\*]" + +msgid "" +"This format converts a bytes-like object to a C pointer to a character " +"string; it does not accept Unicode objects. The bytes buffer must not " +"contain embedded null bytes; if it does, a :exc:`ValueError` exception is " +"raised." +msgstr "" +"Цей формат перетворює байтоподібний об’єкт на вказівник C на рядок символів; " +"він не приймає об'єкти Unicode. Буфер байтів не повинен містити вбудованих " +"нульових байтів; якщо це так, виникає виняток :exc:`ValueError`." + +msgid "" +"Previously, :exc:`TypeError` was raised when embedded null bytes were " +"encountered in the bytes buffer." +msgstr "" +"Раніше помилка :exc:`TypeError` виникала, коли в буфері байтів зустрічалися " +"вбудовані нульові байти." + +msgid "``y*`` (:term:`bytes-like object`) [Py_buffer]" +msgstr "``y*`` (:term:`bytes-like object`) [Py_buffer]" + +msgid "" +"This variant on ``s*`` doesn't accept Unicode objects, only bytes-like " +"objects. **This is the recommended way to accept binary data.**" +msgstr "" +"Цей варіант ``s*`` не приймає об’єкти Unicode, лише байтоподібні об’єкти. " +"**Це рекомендований спосіб приймати двійкові дані.**" + +msgid "" +"``y#`` (read-only :term:`bytes-like object`) [const char \\*, :c:type:" +"`Py_ssize_t`]" +msgstr "" +"``y#`` (тільки для читання :term:`bytes-like object`) [const char \\*, :c:" +"type:`Py_ssize_t`]" + +msgid "" +"This variant on ``s#`` doesn't accept Unicode objects, only bytes-like " +"objects." +msgstr "" +"Цей варіант ``s#`` не приймає об’єкти Unicode, лише байтоподібні об’єкти." + +msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" +msgstr "``S`` (:class:`bytes`) [PyBytesObject \\*]" + +msgid "" +"Requires that the Python object is a :class:`bytes` object, without " +"attempting any conversion. Raises :exc:`TypeError` if the object is not a " +"bytes object. The C variable may also be declared as :c:expr:`PyObject*`." +msgstr "" + +msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" +msgstr "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" + +msgid "" +"Requires that the Python object is a :class:`bytearray` object, without " +"attempting any conversion. Raises :exc:`TypeError` if the object is not a :" +"class:`bytearray` object. The C variable may also be declared as :c:expr:" +"`PyObject*`." +msgstr "" + +msgid "``u`` (:class:`str`) [const Py_UNICODE \\*]" +msgstr "``u`` (:class:`str`) [const Py_UNICODE \\*]" + +msgid "" +"Convert a Python Unicode object to a C pointer to a NUL-terminated buffer of " +"Unicode characters. You must pass the address of a :c:type:`Py_UNICODE` " +"pointer variable, which will be filled with the pointer to an existing " +"Unicode buffer. Please note that the width of a :c:type:`Py_UNICODE` " +"character depends on compilation options (it is either 16 or 32 bits). The " +"Python string must not contain embedded null code points; if it does, a :exc:" +"`ValueError` exception is raised." +msgstr "" +"Перетворіть об’єкт Python Unicode на вказівник C на буфер із символами " +"Unicode, що закінчується NUL. Ви повинні передати адресу змінної вказівника :" +"c:type:`Py_UNICODE`, яка буде заповнена вказівником на існуючий буфер " +"Unicode. Зауважте, що ширина символу :c:type:`Py_UNICODE` залежить від " +"параметрів компіляції (це 16 або 32 біти). Рядок Python не повинен містити " +"вбудованих нульових кодових точок; якщо це так, виникає виняток :exc:" +"`ValueError`." + +msgid "" +"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" +"func:`PyUnicode_AsWideCharString`." +msgstr "" +"Частина API старого стилю :c:type:`Py_UNICODE`; будь ласка, перейдіть на " +"використання :c:func:`PyUnicode_AsWideCharString`." + +msgid "``u#`` (:class:`str`) [const Py_UNICODE \\*, :c:type:`Py_ssize_t`]" +msgstr "``u#`` (:class:`str`) [const Py_UNICODE \\*, :c:type:`Py_ssize_t`]" + +msgid "" +"This variant on ``u`` stores into two C variables, the first one a pointer " +"to a Unicode data buffer, the second one its length. This variant allows " +"null code points." +msgstr "" +"Цей варіант ``u`` зберігає дві змінні C, перша з яких є вказівником на буфер " +"даних Unicode, а друга – його довжину. Цей варіант допускає нульові кодові " +"точки." + +msgid "``Z`` (:class:`str` or ``None``) [const Py_UNICODE \\*]" +msgstr "``Z`` (:class:`str` або ``None``) [const Py_UNICODE \\*]" + +msgid "" +"Like ``u``, but the Python object may also be ``None``, in which case the :c:" +"type:`Py_UNICODE` pointer is set to ``NULL``." +msgstr "" +"Подібно до ``u``, але об’єкт Python також може мати значення ``None``, у " +"цьому випадку вказівник :c:type:`Py_UNICODE` має значення ``NULL``." + +msgid "" +"``Z#`` (:class:`str` or ``None``) [const Py_UNICODE \\*, :c:type:" +"`Py_ssize_t`]" +msgstr "" +"``Z#`` (:class:`str` або ``None``) [const Py_UNICODE \\*, :c:type:" +"`Py_ssize_t`]" + +msgid "" +"Like ``u#``, but the Python object may also be ``None``, in which case the :" +"c:type:`Py_UNICODE` pointer is set to ``NULL``." +msgstr "" +"Подібно до ``u#``, але об’єкт Python також може мати значення ``None``, у " +"цьому випадку вказівник :c:type:`Py_UNICODE` має значення ``NULL``." + +msgid "``U`` (:class:`str`) [PyObject \\*]" +msgstr "``U`` (:class:`str`) [PyObject \\*]" + +msgid "" +"Requires that the Python object is a Unicode object, without attempting any " +"conversion. Raises :exc:`TypeError` if the object is not a Unicode object. " +"The C variable may also be declared as :c:expr:`PyObject*`." +msgstr "" + +msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]" +msgstr "``w*`` (читання-запис :term:`bytes-like object`) [Py_buffer]" + +msgid "" +"This format accepts any object which implements the read-write buffer " +"interface. It fills a :c:type:`Py_buffer` structure provided by the caller. " +"The buffer may contain embedded null bytes. The caller have to call :c:func:" +"`PyBuffer_Release` when it is done with the buffer." +msgstr "" +"Цей формат приймає будь-який об’єкт, який реалізує інтерфейс буфера читання-" +"запису. Він заповнює структуру :c:type:`Py_buffer`, надану абонентом. Буфер " +"може містити вбудовані нульові байти. Виклик має викликати :c:func:" +"`PyBuffer_Release`, коли це буде зроблено з буфером." + +msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" +msgstr "``es`` (:class:`str`) [const char \\*кодування, char \\*\\*buffer]" + +msgid "" +"This variant on ``s`` is used for encoding Unicode into a character buffer. " +"It only works for encoded data without embedded NUL bytes." +msgstr "" +"Цей варіант на ``s`` використовується для кодування Юнікоду в символьний " +"буфер. Він працює лише для закодованих даних без вбудованих байтів NUL." + +msgid "" +"This format requires two arguments. The first is only used as input, and " +"must be a :c:expr:`const char*` which points to the name of an encoding as a " +"NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is " +"used. An exception is raised if the named encoding is not known to Python. " +"The second argument must be a :c:expr:`char**`; the value of the pointer it " +"references will be set to a buffer with the contents of the argument text. " +"The text will be encoded in the encoding specified by the first argument." +msgstr "" + +msgid "" +":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy " +"the encoded data into this buffer and adjust *\\*buffer* to reference the " +"newly allocated storage. The caller is responsible for calling :c:func:" +"`PyMem_Free` to free the allocated buffer after use." +msgstr "" +":c:func:`PyArg_ParseTuple` виділить буфер необхідного розміру, скопіює " +"закодовані дані в цей буфер і налаштує *\\*buffer* для посилання на щойно " +"виділене сховище. Виклик відповідає за виклик :c:func:`PyMem_Free`, щоб " +"звільнити виділений буфер після використання." + +msgid "" +"``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " +"\\*encoding, char \\*\\*buffer]" +msgstr "" +"``et`` (:class:`str`, :class:`bytes` або :class:`bytearray`) [const char " +"\\*кодування, char \\*\\*buffer]" + +msgid "" +"Same as ``es`` except that byte string objects are passed through without " +"recoding them. Instead, the implementation assumes that the byte string " +"object uses the encoding passed in as parameter." +msgstr "" +"Те саме, що ``es``, за винятком того, що об’єкти рядків байтів передаються " +"без їх перекодування. Натомість реалізація припускає, що об’єкт рядка байтів " +"використовує кодування, передане як параметр." + +msgid "" +"``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, :c:type:" +"`Py_ssize_t` \\*buffer_length]" +msgstr "" +"``es#`` (:class:`str`) [const char \\*кодування, char \\*\\*буфер, :c:type:" +"`Py_ssize_t` \\*buffer_length]" + +msgid "" +"This variant on ``s#`` is used for encoding Unicode into a character buffer. " +"Unlike the ``es`` format, this variant allows input data which contains NUL " +"characters." +msgstr "" +"Цей варіант ``s#`` використовується для кодування Юнікоду в символьний " +"буфер. На відміну від формату ``es``, цей варіант дозволяє вводити дані, які " +"містять символи NUL." + +msgid "" +"It requires three arguments. The first is only used as input, and must be " +"a :c:expr:`const char*` which points to the name of an encoding as a NUL-" +"terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. " +"An exception is raised if the named encoding is not known to Python. The " +"second argument must be a :c:expr:`char**`; the value of the pointer it " +"references will be set to a buffer with the contents of the argument text. " +"The text will be encoded in the encoding specified by the first argument. " +"The third argument must be a pointer to an integer; the referenced integer " +"will be set to the number of bytes in the output buffer." +msgstr "" + +msgid "There are two modes of operation:" +msgstr "Є два режими роботи:" + +msgid "" +"If *\\*buffer* points a ``NULL`` pointer, the function will allocate a " +"buffer of the needed size, copy the encoded data into this buffer and set *" +"\\*buffer* to reference the newly allocated storage. The caller is " +"responsible for calling :c:func:`PyMem_Free` to free the allocated buffer " +"after usage." +msgstr "" +"Якщо *\\*buffer* вказує на вказівник ``NULL``, функція виділить буфер " +"необхідного розміру, скопіює закодовані дані в цей буфер і встановить *" +"\\*buffer* для посилання на щойно виділене сховище. Виклик відповідає за " +"виклик :c:func:`PyMem_Free`, щоб звільнити виділений буфер після " +"використання." + +msgid "" +"If *\\*buffer* points to a non-``NULL`` pointer (an already allocated " +"buffer), :c:func:`PyArg_ParseTuple` will use this location as the buffer and " +"interpret the initial value of *\\*buffer_length* as the buffer size. It " +"will then copy the encoded data into the buffer and NUL-terminate it. If " +"the buffer is not large enough, a :exc:`ValueError` will be set." +msgstr "" +"Якщо *\\*buffer* вказує на вказівник, відмінний від ``NULL`` (уже виділений " +"буфер), :c:func:`PyArg_ParseTuple` використовуватиме це розташування як " +"буфер та інтерпретуватиме початкове значення *\\*buffer_length* як розмір " +"буфера. Потім він скопіює закодовані дані в буфер і завершить його NUL. Якщо " +"буфер недостатньо великий, буде встановлено :exc:`ValueError`." + +msgid "" +"In both cases, *\\*buffer_length* is set to the length of the encoded data " +"without the trailing NUL byte." +msgstr "" +"В обох випадках *\\*buffer_length* встановлюється на довжину закодованих " +"даних без кінцевого байта NUL." + +msgid "" +"``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " +"\\*encoding, char \\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" +msgstr "" +"``et#`` (:class:`str`, :class:`bytes` або :class:`bytearray`) [const char " +"\\*кодування, char \\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" + +msgid "" +"Same as ``es#`` except that byte string objects are passed through without " +"recoding them. Instead, the implementation assumes that the byte string " +"object uses the encoding passed in as parameter." +msgstr "" +"Те саме, що ``es#``, за винятком того, що байтові рядкові об’єкти " +"передаються без їх перекодування. Натомість реалізація припускає, що об’єкт " +"рядка байтів використовує кодування, передане як параметр." + +msgid "Numbers" +msgstr "Числа" + +msgid "``b`` (:class:`int`) [unsigned char]" +msgstr "``b`` (:class:`int`) [беззнаковий символ]" + +msgid "" +"Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :" +"c:expr:`unsigned char`." +msgstr "" + +msgid "``B`` (:class:`int`) [unsigned char]" +msgstr "``B`` (:class:`int`) [беззнаковий символ]" + +msgid "" +"Convert a Python integer to a tiny int without overflow checking, stored in " +"a C :c:expr:`unsigned char`." +msgstr "" + +msgid "``h`` (:class:`int`) [short int]" +msgstr "``h`` (:class:`int`) [короткий int]" + +msgid "Convert a Python integer to a C :c:expr:`short int`." +msgstr "" + +msgid "``H`` (:class:`int`) [unsigned short int]" +msgstr "``H`` (:class:`int`) [unsigned short int]" + +msgid "" +"Convert a Python integer to a C :c:expr:`unsigned short int`, without " +"overflow checking." +msgstr "" + +msgid "``i`` (:class:`int`) [int]" +msgstr "``i`` (:class:`int`) [int]" + +msgid "Convert a Python integer to a plain C :c:expr:`int`." +msgstr "" + +msgid "``I`` (:class:`int`) [unsigned int]" +msgstr "``I`` (:class:`int`) [unsigned int]" + +msgid "" +"Convert a Python integer to a C :c:expr:`unsigned int`, without overflow " +"checking." +msgstr "" + +msgid "``l`` (:class:`int`) [long int]" +msgstr "``l`` (:class:`int`) [довге ціле]" + +msgid "Convert a Python integer to a C :c:expr:`long int`." +msgstr "" + +msgid "``k`` (:class:`int`) [unsigned long]" +msgstr "``k`` (:class:`int`) [беззнаковий довгий]" + +msgid "" +"Convert a Python integer to a C :c:expr:`unsigned long` without overflow " +"checking." +msgstr "" + +msgid "``L`` (:class:`int`) [long long]" +msgstr "``L`` (:class:`int`) [довгий довгий]" + +msgid "Convert a Python integer to a C :c:expr:`long long`." +msgstr "" + +msgid "``K`` (:class:`int`) [unsigned long long]" +msgstr "``K`` (:class:`int`) [беззнаковий довгий довгий]" + +msgid "" +"Convert a Python integer to a C :c:expr:`unsigned long long` without " +"overflow checking." +msgstr "" + +msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]" +msgstr "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]" + +msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`." +msgstr "Перетворіть ціле число Python на C :c:type:`Py_ssize_t`." + +msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]" +msgstr "``c`` (:class:`bytes` або :class:`bytearray` довжиною 1) [char]" + +msgid "" +"Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` " +"object of length 1, to a C :c:expr:`char`." +msgstr "" + +msgid "Allow :class:`bytearray` objects." +msgstr "Дозволити об’єкти :class:`bytearray`." + +msgid "``C`` (:class:`str` of length 1) [int]" +msgstr "``C`` (:class:`str` довжини 1) [int]" + +msgid "" +"Convert a Python character, represented as a :class:`str` object of length " +"1, to a C :c:expr:`int`." +msgstr "" + +msgid "``f`` (:class:`float`) [float]" +msgstr "``f`` (:class:`float`) [float]" + +msgid "Convert a Python floating point number to a C :c:expr:`float`." +msgstr "" + +msgid "``d`` (:class:`float`) [double]" +msgstr "``d`` (:class:`float`) [double]" + +msgid "Convert a Python floating point number to a C :c:expr:`double`." +msgstr "" + +msgid "``D`` (:class:`complex`) [Py_complex]" +msgstr "``D`` (:class:`complex`) [Py_complex]" + +msgid "Convert a Python complex number to a C :c:type:`Py_complex` structure." +msgstr "" +"Перетворіть комплексне число Python на структуру C :c:type:`Py_complex`." + +msgid "Other objects" +msgstr "Інші об'єкти" + +msgid "``O`` (object) [PyObject \\*]" +msgstr "``O`` (об'єкт) [PyObject \\*]" + +msgid "" +"Store a Python object (without any conversion) in a C object pointer. The C " +"program thus receives the actual object that was passed. The object's " +"reference count is not increased. The pointer stored is not ``NULL``." +msgstr "" +"Зберігайте об’єкт Python (без будь-якого перетворення) у покажчику на об’єкт " +"C. Таким чином, програма C отримує фактичний об’єкт, який було передано. " +"Кількість посилань на об'єкт не збільшується. Збережений покажчик не є " +"``NULL``." + +msgid "``O!`` (object) [*typeobject*, PyObject \\*]" +msgstr "``O!`` (об'єкт) [*typeobject*, PyObject \\*]" + +msgid "" +"Store a Python object in a C object pointer. This is similar to ``O``, but " +"takes two C arguments: the first is the address of a Python type object, the " +"second is the address of the C variable (of type :c:expr:`PyObject*`) into " +"which the object pointer is stored. If the Python object does not have the " +"required type, :exc:`TypeError` is raised." +msgstr "" + +msgid "``O&`` (object) [*converter*, *anything*]" +msgstr "``O&`` (об'єкт) [*конвертер*, *що завгодно*]" + +msgid "" +"Convert a Python object to a C variable through a *converter* function. " +"This takes two arguments: the first is a function, the second is the address " +"of a C variable (of arbitrary type), converted to :c:expr:`void *`. The " +"*converter* function in turn is called as follows::" +msgstr "" + +msgid "" +"where *object* is the Python object to be converted and *address* is the :c:" +"expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The " +"returned *status* should be ``1`` for a successful conversion and ``0`` if " +"the conversion has failed. When the conversion fails, the *converter* " +"function should raise an exception and leave the content of *address* " +"unmodified." +msgstr "" + +msgid "" +"If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a " +"second time if the argument parsing eventually fails, giving the converter a " +"chance to release any memory that it had already allocated. In this second " +"call, the *object* parameter will be ``NULL``; *address* will have the same " +"value as in the original call." +msgstr "" +"Якщо *конвертер* повертає ``Py_CLEANUP_SUPPORTED``, він може бути викликаний " +"вдруге, якщо синтаксичний аналіз аргументу врешті-решт не вдається, даючи " +"конвертеру можливість звільнити будь-яку пам’ять, яку він уже виділив. У " +"цьому другому виклику параметр *object* буде ``NULL``; *адреса* матиме те " +"саме значення, що й у вихідному виклику." + +msgid "``Py_CLEANUP_SUPPORTED`` was added." +msgstr "Додано ``Py_CLEANUP_SUPPORTED``." + +msgid "``p`` (:class:`bool`) [int]" +msgstr "``p`` (:class:`bool`) [int]" + +msgid "" +"Tests the value passed in for truth (a boolean **p**\\ redicate) and " +"converts the result to its equivalent C true/false integer value. Sets the " +"int to ``1`` if the expression was true and ``0`` if it was false. This " +"accepts any valid Python value. See :ref:`truth` for more information about " +"how Python tests values for truth." +msgstr "" +"Перевіряє передане значення на істинність (логічне значення **p**\\ повторне " +"визначення) і перетворює результат на еквівалентне ціле значення C true/" +"false. Встановлює int на ``1``, якщо вираз був істинним, і ``0``, якщо він " +"був false. Це приймає будь-яке дійсне значення Python. Перегляньте :ref:" +"`truth` для отримання додаткової інформації про те, як Python перевіряє " +"значення на істинність." + +msgid "``(items)`` (:class:`tuple`) [*matching-items*]" +msgstr "``(items)`` (:class:`tuple`) [*matching-items*]" + +msgid "" +"The object must be a Python sequence whose length is the number of format " +"units in *items*. The C arguments must correspond to the individual format " +"units in *items*. Format units for sequences may be nested." +msgstr "" +"Об’єкт має бути послідовністю Python, довжина якої дорівнює кількості " +"одиниць формату в *елементах*. Аргументи C мають відповідати окремим " +"одиницям формату в *items*. Одиниці формату для послідовностей можуть бути " +"вкладеними." + +msgid "" +"It is possible to pass \"long\" integers (integers whose value exceeds the " +"platform's :const:`LONG_MAX`) however no proper range checking is done --- " +"the most significant bits are silently truncated when the receiving field is " +"too small to receive the value (actually, the semantics are inherited from " +"downcasts in C --- your mileage may vary)." +msgstr "" +"Можна передати \"довгі\" цілі числа (цілі числа, значення яких перевищує " +"значення платформи :const:`LONG_MAX`), однак належна перевірка діапазону не " +"виконується --- старші біти мовчки скорочуються, коли поле прийому замале " +"для отримання значення (насправді, семантика успадкована від downcasts у C " +"--- ваш пробіг може відрізнятися)." + +msgid "" +"A few other characters have a meaning in a format string. These may not " +"occur inside nested parentheses. They are:" +msgstr "" +"Кілька інших символів мають значення в рядку формату. Вони можуть не " +"знаходитися всередині вкладених дужок. Вони є:" + +msgid "``|``" +msgstr "``|``" + +msgid "" +"Indicates that the remaining arguments in the Python argument list are " +"optional. The C variables corresponding to optional arguments should be " +"initialized to their default value --- when an optional argument is not " +"specified, :c:func:`PyArg_ParseTuple` does not touch the contents of the " +"corresponding C variable(s)." +msgstr "" +"Вказує, що решта аргументів у списку аргументів Python необов’язкові. Змінні " +"C, які відповідають необов’язковим аргументам, мають бути ініціалізовані " +"значенням за замовчуванням --- коли необов’язковий аргумент не вказано, :c:" +"func:`PyArg_ParseTuple` не торкається вмісту відповідних змінних C." + +msgid "``$``" +msgstr "``$``" + +msgid "" +":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the remaining " +"arguments in the Python argument list are keyword-only. Currently, all " +"keyword-only arguments must also be optional arguments, so ``|`` must always " +"be specified before ``$`` in the format string." +msgstr "" +":c:func:`PyArg_ParseTupleAndKeywords` only: вказує, що решта аргументів у " +"списку аргументів Python є лише ключовими словами. Наразі всі аргументи лише " +"для ключових слів також мають бути необов’язковими, тому ``|`` завжди " +"потрібно вказувати перед ``$`` у рядку формату." + +msgid "``:``" +msgstr "``:``" + +msgid "" +"The list of format units ends here; the string after the colon is used as " +"the function name in error messages (the \"associated value\" of the " +"exception that :c:func:`PyArg_ParseTuple` raises)." +msgstr "" +"Тут список одиниць формату закінчується; рядок після двокрапки " +"використовується як ім’я функції в повідомленнях про помилки (\"пов’язане " +"значення\" винятку, яке викликає :c:func:`PyArg_ParseTuple`)." + +msgid "``;``" +msgstr "``;``" + +msgid "" +"The list of format units ends here; the string after the semicolon is used " +"as the error message *instead* of the default error message. ``:`` and ``;" +"`` mutually exclude each other." +msgstr "" +"Тут список одиниць формату закінчується; рядок після крапки з комою " +"використовується як повідомлення про помилку *замість* повідомлення про " +"помилку за замовчуванням. ``:`` і ``;`` взаємно виключають один одного." + +msgid "" +"Note that any Python object references which are provided to the caller are " +"*borrowed* references; do not decrement their reference count!" +msgstr "" +"Зауважте, що будь-які посилання на об’єкти Python, які надаються абоненту, є " +"*позиченими* посиланнями; не зменшуйте кількість посилань!" + +msgid "" +"Additional arguments passed to these functions must be addresses of " +"variables whose type is determined by the format string; these are used to " +"store values from the input tuple. There are a few cases, as described in " +"the list of format units above, where these parameters are used as input " +"values; they should match what is specified for the corresponding format " +"unit in that case." +msgstr "" +"Додатковими аргументами, що передаються цим функціям, повинні бути адреси " +"змінних, тип яких визначається рядком формату; вони використовуються для " +"зберігання значень із вхідного кортежу. Є кілька випадків, як описано у " +"списку одиниць формату вище, де ці параметри використовуються як вхідні " +"значення; вони повинні відповідати тому, що вказано для відповідної одиниці " +"формату в цьому випадку." + +msgid "" +"For the conversion to succeed, the *arg* object must match the format and " +"the format must be exhausted. On success, the ``PyArg_Parse*`` functions " +"return true, otherwise they return false and raise an appropriate exception. " +"When the ``PyArg_Parse*`` functions fail due to conversion failure in one of " +"the format units, the variables at the addresses corresponding to that and " +"the following format units are left untouched." +msgstr "" + +msgid "API Functions" +msgstr "Функції API" + +msgid "" +"Parse the parameters of a function that takes only positional parameters " +"into local variables. Returns true on success; on failure, it returns false " +"and raises the appropriate exception." +msgstr "" +"Проаналізуйте параметри функції, яка приймає лише позиційні параметри в " +"локальні змінні. Повертає true в разі успіху; у разі невдачі повертає false " +"і викликає відповідний виняток." + +msgid "" +"Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list " +"rather than a variable number of arguments." +msgstr "" +"Ідентичний :c:func:`PyArg_ParseTuple`, за винятком того, що він приймає " +"va_list, а не змінну кількість аргументів." + +msgid "" +"Parse the parameters of a function that takes both positional and keyword " +"parameters into local variables. The *keywords* argument is a ``NULL``-" +"terminated array of keyword parameter names. Empty names denote :ref:" +"`positional-only parameters `. Returns true on " +"success; on failure, it returns false and raises the appropriate exception." +msgstr "" +"Проаналізуйте параметри функції, яка приймає як позиційні, так і ключові " +"параметри в локальні змінні. Аргумент *keywords* — це масив імен параметрів " +"ключових слів із закінченням ``NULL``. Порожні імена позначають :ref:" +"`позиційні параметри `. Повертає true в разі " +"успіху; у разі невдачі повертає false і викликає відповідний виняток." + +msgid "" +"Added support for :ref:`positional-only parameters `." +msgstr "" +"Додано підтримку :ref:`позиційних параметрів `." + +msgid "" +"Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a " +"va_list rather than a variable number of arguments." +msgstr "" +"Ідентичний :c:func:`PyArg_ParseTupleAndKeywords`, за винятком того, що він " +"приймає va_list, а не змінну кількість аргументів." + +msgid "" +"Ensure that the keys in the keywords argument dictionary are strings. This " +"is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is not used, since " +"the latter already does this check." +msgstr "" +"Переконайтеся, що ключі в словнику аргументів ключових слів є рядками. Це " +"потрібно, лише якщо :c:func:`PyArg_ParseTupleAndKeywords` не " +"використовується, оскільки останній вже виконує цю перевірку." + +msgid "" +"Function used to deconstruct the argument lists of \"old-style\" functions " +"--- these are functions which use the :const:`METH_OLDARGS` parameter " +"parsing method, which has been removed in Python 3. This is not recommended " +"for use in parameter parsing in new code, and most code in the standard " +"interpreter has been modified to no longer use this for that purpose. It " +"does remain a convenient way to decompose other tuples, however, and may " +"continue to be used for that purpose." +msgstr "" +"Функція, яка використовується для деконструювання списків аргументів функцій " +"\"старого стилю\" --- це функції, які використовують метод аналізу " +"параметрів :const:`METH_OLDARGS`, який було видалено в Python 3. Це не " +"рекомендовано використовувати для аналізу параметрів у новому коді, і " +"більшість коду в стандартному інтерпретаторі було змінено, щоб більше не " +"використовувати це для цієї мети. Однак він залишається зручним способом " +"розкладання інших кортежів і може продовжувати використовуватися для цієї " +"мети." + +msgid "" +"A simpler form of parameter retrieval which does not use a format string to " +"specify the types of the arguments. Functions which use this method to " +"retrieve their parameters should be declared as :const:`METH_VARARGS` in " +"function or method tables. The tuple containing the actual parameters " +"should be passed as *args*; it must actually be a tuple. The length of the " +"tuple must be at least *min* and no more than *max*; *min* and *max* may be " +"equal. Additional arguments must be passed to the function, each of which " +"should be a pointer to a :c:expr:`PyObject*` variable; these will be filled " +"in with the values from *args*; they will contain :term:`borrowed references " +"`. The variables which correspond to optional parameters " +"not given by *args* will not be filled in; these should be initialized by " +"the caller. This function returns true on success and false if *args* is not " +"a tuple or contains the wrong number of elements; an exception will be set " +"if there was a failure." +msgstr "" + +msgid "" +"This is an example of the use of this function, taken from the sources for " +"the :mod:`_weakref` helper module for weak references::" +msgstr "" +"Це приклад використання цієї функції, взятий із джерел допоміжного модуля :" +"mod:`_weakref` для слабких посилань:" + +msgid "" +"The call to :c:func:`PyArg_UnpackTuple` in this example is entirely " +"equivalent to this call to :c:func:`PyArg_ParseTuple`::" +msgstr "" +"Виклик :c:func:`PyArg_UnpackTuple` у цьому прикладі повністю еквівалентний " +"виклику :c:func:`PyArg_ParseTuple`::" + +msgid "Building values" +msgstr "Формування цінностей" + +msgid "" +"Create a new value based on a format string similar to those accepted by the " +"``PyArg_Parse*`` family of functions and a sequence of values. Returns the " +"value or ``NULL`` in the case of an error; an exception will be raised if " +"``NULL`` is returned." +msgstr "" + +msgid "" +":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple " +"only if its format string contains two or more format units. If the format " +"string is empty, it returns ``None``; if it contains exactly one format " +"unit, it returns whatever object is described by that format unit. To force " +"it to return a tuple of size 0 or one, parenthesize the format string." +msgstr "" +":c:func:`Py_BuildValue` не завжди створює кортеж. Він створює кортеж, лише " +"якщо його рядок формату містить дві або більше одиниць формату. Якщо рядок " +"формату порожній, повертається ``None``; якщо він містить рівно одну одиницю " +"формату, він повертає будь-який об’єкт, описаний цією одиницею формату. Щоб " +"змусити його повертати кортеж розміром 0 або одиницю, візьміть рядок формату " +"в дужки." + +msgid "" +"When memory buffers are passed as parameters to supply data to build " +"objects, as for the ``s`` and ``s#`` formats, the required data is copied. " +"Buffers provided by the caller are never referenced by the objects created " +"by :c:func:`Py_BuildValue`. In other words, if your code invokes :c:func:" +"`malloc` and passes the allocated memory to :c:func:`Py_BuildValue`, your " +"code is responsible for calling :c:func:`free` for that memory once :c:func:" +"`Py_BuildValue` returns." +msgstr "" +"Коли буфери пам’яті передаються як параметри для надання даних для створення " +"об’єктів, як і для форматів ``s`` і ``s#``, необхідні дані копіюються. " +"Об’єкти, створені :c:func:`Py_BuildValue`, ніколи не посилаються на буфери, " +"надані абонентом. Іншими словами, якщо ваш код викликає :c:func:`malloc` і " +"передає виділену пам’ять :c:func:`Py_BuildValue`, ваш код відповідальний за " +"виклик :c:func:`free` для цієї пам’яті один раз :c:func:`Py_BuildValue` " +"повертає." + +msgid "" +"In the following description, the quoted form is the format unit; the entry " +"in (round) parentheses is the Python object type that the format unit will " +"return; and the entry in [square] brackets is the type of the C value(s) to " +"be passed." +msgstr "" +"У наступному описі форма в лапках є одиницею формату; запис у (круглих) " +"дужках — це тип об’єкта Python, який поверне блок формату; і запис у " +"[квадратних] дужках є типом значень C, які потрібно передати." + +msgid "" +"The characters space, tab, colon and comma are ignored in format strings " +"(but not within format units such as ``s#``). This can be used to make long " +"format strings a tad more readable." +msgstr "" +"Символи пробілу, табуляції, двокрапки та коми ігноруються в рядках " +"форматування (але не в одиницях форматування, таких як ``s#``). Це можна " +"використати, щоб зробити рядки довгого формату трохи більш читабельними." + +msgid "``s`` (:class:`str` or ``None``) [const char \\*]" +msgstr "``s`` (:class:`str` або ``None``) [const char \\*]" + +msgid "" +"Convert a null-terminated C string to a Python :class:`str` object using " +"``'utf-8'`` encoding. If the C string pointer is ``NULL``, ``None`` is used." +msgstr "" +"Перетворіть рядок C із нульовим закінченням на об’єкт Python :class:`str` за " +"допомогою кодування ``'utf-8'``. Якщо вказівник на рядок C має значення " +"``NULL``, використовується ``None``." + +msgid "" +"``s#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" +msgstr "" +"``s#`` (:class:`str` або ``None``) [const char \\*, :c:type:`Py_ssize_t`]" + +msgid "" +"Convert a C string and its length to a Python :class:`str` object using " +"``'utf-8'`` encoding. If the C string pointer is ``NULL``, the length is " +"ignored and ``None`` is returned." +msgstr "" +"Перетворіть рядок C та його довжину на об’єкт Python :class:`str` за " +"допомогою кодування ``'utf-8'``. Якщо покажчик рядка C має значення " +"``NULL``, довжина ігнорується і повертається ``None``." + +msgid "``y`` (:class:`bytes`) [const char \\*]" +msgstr "``y`` (:class:`bytes`) [const char \\*]" + +msgid "" +"This converts a C string to a Python :class:`bytes` object. If the C string " +"pointer is ``NULL``, ``None`` is returned." +msgstr "" +"Це перетворює рядок C на об’єкт Python :class:`bytes`. Якщо вказівник на " +"рядок C має значення ``NULL``, повертається ``None``." + +msgid "``y#`` (:class:`bytes`) [const char \\*, :c:type:`Py_ssize_t`]" +msgstr "``y#`` (:class:`bytes`) [const char \\*, :c:type:`Py_ssize_t`]" + +msgid "" +"This converts a C string and its lengths to a Python object. If the C " +"string pointer is ``NULL``, ``None`` is returned." +msgstr "" +"Це перетворює рядок C та його довжину на об’єкт Python. Якщо вказівник на " +"рядок C має значення ``NULL``, повертається ``None``." + +msgid "Same as ``s``." +msgstr "Те саме, що ``s``." + +msgid "" +"``z#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" +msgstr "" +"``z#`` (:class:`str` або ``None``) [const char \\*, :c:type:`Py_ssize_t`]" + +msgid "Same as ``s#``." +msgstr "Те саме, що ``s#``." + +msgid "``u`` (:class:`str`) [const wchar_t \\*]" +msgstr "``u`` (:class:`str`) [const wchar_t \\*]" + +msgid "" +"Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or " +"UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is " +"``NULL``, ``None`` is returned." +msgstr "" + +msgid "``u#`` (:class:`str`) [const wchar_t \\*, :c:type:`Py_ssize_t`]" +msgstr "``u#`` (:class:`str`) [const wchar_t \\*, :c:type:`Py_ssize_t`]" + +msgid "" +"Convert a Unicode (UTF-16 or UCS-4) data buffer and its length to a Python " +"Unicode object. If the Unicode buffer pointer is ``NULL``, the length is " +"ignored and ``None`` is returned." +msgstr "" +"Перетворіть буфер даних Unicode (UTF-16 або UCS-4) і його довжину на об’єкт " +"Python Unicode. Якщо покажчик буфера Unicode має значення ``NULL``, довжина " +"ігнорується і повертається ``None``." + +msgid "``U`` (:class:`str` or ``None``) [const char \\*]" +msgstr "``U`` (:class:`str` або ``None``) [const char \\*]" + +msgid "" +"``U#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" +msgstr "" +"``U#`` (:class:`str` або ``None``) [const char \\*, :c:type:`Py_ssize_t`]" + +msgid "Convert a plain C :c:expr:`int` to a Python integer object." +msgstr "" + +msgid "``b`` (:class:`int`) [char]" +msgstr "``b`` (:class:`int`) [символ]" + +msgid "Convert a plain C :c:expr:`char` to a Python integer object." +msgstr "" + +msgid "Convert a plain C :c:expr:`short int` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`long int` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`unsigned char` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`unsigned int` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`unsigned long` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`long long` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object." +msgstr "" + +msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." +msgstr "Перетворіть C :c:type:`Py_ssize_t` на ціле число Python." + +msgid "``c`` (:class:`bytes` of length 1) [char]" +msgstr "``c`` (:class:`bytes` довжиною 1) [символ]" + +msgid "" +"Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` " +"object of length 1." +msgstr "" + +msgid "" +"Convert a C :c:expr:`int` representing a character to Python :class:`str` " +"object of length 1." +msgstr "" + +msgid "Convert a C :c:expr:`double` to a Python floating point number." +msgstr "" + +msgid "Convert a C :c:expr:`float` to a Python floating point number." +msgstr "" + +msgid "``D`` (:class:`complex`) [Py_complex \\*]" +msgstr "``D`` (:class:`complex`) [Py_complex \\*]" + +msgid "Convert a C :c:type:`Py_complex` structure to a Python complex number." +msgstr "" +"Перетворіть структуру C :c:type:`Py_complex` на комплексне число Python." + +msgid "" +"Pass a Python object untouched (except for its reference count, which is " +"incremented by one). If the object passed in is a ``NULL`` pointer, it is " +"assumed that this was caused because the call producing the argument found " +"an error and set an exception. Therefore, :c:func:`Py_BuildValue` will " +"return ``NULL`` but won't raise an exception. If no exception has been " +"raised yet, :exc:`SystemError` is set." +msgstr "" +"Передайте об’єкт Python без змін (крім його кількості посилань, яка " +"збільшується на одиницю). Якщо переданий об’єкт є вказівником ``NULL``, " +"припускається, що це сталося через те, що виклик, що створює аргумент, " +"знайшов помилку та встановив виняток. Тому :c:func:`Py_BuildValue` поверне " +"``NULL``, але не викличе виняткову ситуацію. Якщо жодного винятку ще не було " +"викликано, встановлено :exc:`SystemError`." + +msgid "``S`` (object) [PyObject \\*]" +msgstr "``S`` (об'єкт) [PyObject \\*]" + +msgid "Same as ``O``." +msgstr "Те саме, що \"О\"." + +msgid "``N`` (object) [PyObject \\*]" +msgstr "``N`` (об'єкт) [PyObject \\*]" + +msgid "" +"Same as ``O``, except it doesn't increment the reference count on the " +"object. Useful when the object is created by a call to an object constructor " +"in the argument list." +msgstr "" +"Те саме, що ``O``, за винятком того, що він не збільшує кількість посилань " +"на об’єкт. Корисно, коли об’єкт створюється за допомогою виклику " +"конструктора об’єкта в списку аргументів." + +msgid "" +"Convert *anything* to a Python object through a *converter* function. The " +"function is called with *anything* (which should be compatible with :c:expr:" +"`void*`) as its argument and should return a \"new\" Python object, or " +"``NULL`` if an error occurred." +msgstr "" + +msgid "" +"Convert a sequence of C values to a Python tuple with the same number of " +"items." +msgstr "" +"Перетворіть послідовність значень C на кортеж Python із такою ж кількістю " +"елементів." + +msgid "``[items]`` (:class:`list`) [*matching-items*]" +msgstr "``[items]`` (:class:`list`) [*matching-items*]" + +msgid "" +"Convert a sequence of C values to a Python list with the same number of " +"items." +msgstr "" +"Перетворіть послідовність значень C на список Python з такою ж кількістю " +"елементів." + +msgid "``{items}`` (:class:`dict`) [*matching-items*]" +msgstr "``{items}`` (:class:`dict`) [*відповідні-елементи*]" + +msgid "" +"Convert a sequence of C values to a Python dictionary. Each pair of " +"consecutive C values adds one item to the dictionary, serving as key and " +"value, respectively." +msgstr "" +"Перетворіть послідовність значень C у словник Python. Кожна пара послідовних " +"значень C додає один елемент до словника, який виконує функції ключа та " +"значення відповідно." + +msgid "" +"If there is an error in the format string, the :exc:`SystemError` exception " +"is set and ``NULL`` returned." +msgstr "" +"Якщо в рядку формату є помилка, встановлюється виняток :exc:`SystemError` і " +"повертається ``NULL``." + +msgid "" +"Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list " +"rather than a variable number of arguments." +msgstr "" +"Ідентичний :c:func:`Py_BuildValue`, за винятком того, що він приймає " +"va_list, а не змінну кількість аргументів." diff --git a/c-api/bool.po b/c-api/bool.po new file mode 100644 index 000000000..bfeb36843 --- /dev/null +++ b/c-api/bool.po @@ -0,0 +1,82 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Boolean Objects" +msgstr "Логічні об'єкти" + +msgid "" +"Booleans in Python are implemented as a subclass of integers. There are " +"only two booleans, :const:`Py_False` and :const:`Py_True`. As such, the " +"normal creation and deletion functions don't apply to booleans. The " +"following macros are available, however." +msgstr "" +"Логічні значення в Python реалізовані як підклас цілих чисел. Є лише два " +"логічних значення: :const:`Py_False` і :const:`Py_True`. Таким чином, " +"звичайні функції створення та видалення не застосовуються до логічних " +"значень. Однак наступні макроси доступні." + +msgid "" +"Return true if *o* is of type :c:data:`PyBool_Type`. This function always " +"succeeds." +msgstr "" +"Повертає true, якщо *o* має тип :c:data:`PyBool_Type`. Ця функція завжди " +"успішна." + +msgid "" +"The Python ``False`` object. This object has no methods. It needs to be " +"treated just like any other object with respect to reference counts." +msgstr "" +"Об'єкт Python ``False``. Цей об’єкт не має методів. З ним потрібно " +"поводитися так само, як і з будь-яким іншим об’єктом щодо кількості посилань." + +msgid "" +"The Python ``True`` object. This object has no methods. It needs to be " +"treated just like any other object with respect to reference counts." +msgstr "" +"Об’єкт Python ``True``. Цей об’єкт не має методів. З ним потрібно поводитися " +"так само, як і з будь-яким іншим об’єктом щодо кількості посилань." + +msgid "" +"Return :const:`Py_False` from a function, properly incrementing its " +"reference count." +msgstr "" +"Повертає :const:`Py_False` із функції, правильно збільшуючи її кількість " +"посилань." + +msgid "" +"Return :const:`Py_True` from a function, properly incrementing its reference " +"count." +msgstr "" +"Повертає :const:`Py_True` з функції, правильно збільшуючи її кількість " +"посилань." + +msgid "" +"Return a new reference to :const:`Py_True` or :const:`Py_False` depending on " +"the truth value of *v*." +msgstr "" +"Повертає нове посилання на :const:`Py_True` або :const:`Py_False` залежно " +"від значення істинності *v*." diff --git a/c-api/buffer.po b/c-api/buffer.po new file mode 100644 index 000000000..e028afc4b --- /dev/null +++ b/c-api/buffer.po @@ -0,0 +1,797 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Buffer Protocol" +msgstr "Буферний протокол" + +msgid "" +"Certain objects available in Python wrap access to an underlying memory " +"array or *buffer*. Such objects include the built-in :class:`bytes` and :" +"class:`bytearray`, and some extension types like :class:`array.array`. Third-" +"party libraries may define their own types for special purposes, such as " +"image processing or numeric analysis." +msgstr "" +"Певні об’єкти, доступні в Python, обертають доступ до базового масиву " +"пам’яті або *буфера*. До таких об’єктів належать вбудовані :class:`bytes` і :" +"class:`bytearray`, а також деякі типи розширень, наприклад :class:`array." +"array`. Бібліотеки сторонніх розробників можуть визначати власні типи для " +"спеціальних цілей, таких як обробка зображень або числовий аналіз." + +msgid "" +"While each of these types have their own semantics, they share the common " +"characteristic of being backed by a possibly large memory buffer. It is " +"then desirable, in some situations, to access that buffer directly and " +"without intermediate copying." +msgstr "" +"У той час як кожен із цих типів має власну семантику, вони поділяють спільну " +"характеристику, що вони підтримуються можливо великим буфером пам’яті. Тоді " +"в деяких ситуаціях бажано отримати доступ до цього буфера безпосередньо й " +"без проміжного копіювання." + +msgid "" +"Python provides such a facility at the C level in the form of the :ref:" +"`buffer protocol `. This protocol has two sides:" +msgstr "" +"Python надає таку можливість на рівні C у формі :ref:`протоколу буфера " +"`. Цей протокол має дві сторони:" + +msgid "" +"on the producer side, a type can export a \"buffer interface\" which allows " +"objects of that type to expose information about their underlying buffer. " +"This interface is described in the section :ref:`buffer-structs`;" +msgstr "" +"на стороні виробника тип може експортувати \"інтерфейс буфера\", який " +"дозволяє об’єктам цього типу надавати інформацію про їхній базовий буфер. " +"Цей інтерфейс описано в розділі :ref:`buffer-structs`;" + +msgid "" +"on the consumer side, several means are available to obtain a pointer to the " +"raw underlying data of an object (for example a method parameter)." +msgstr "" +"на стороні споживача доступно кілька засобів для отримання вказівника на " +"необроблені базові дані об’єкта (наприклад, параметр методу)." + +msgid "" +"Simple objects such as :class:`bytes` and :class:`bytearray` expose their " +"underlying buffer in byte-oriented form. Other forms are possible; for " +"example, the elements exposed by an :class:`array.array` can be multi-byte " +"values." +msgstr "" +"Прості об’єкти, такі як :class:`bytes` і :class:`bytearray`, надають свій " +"базовий буфер у байт-орієнтованій формі. Можливі інші форми; наприклад, " +"елементи, представлені :class:`array.array`, можуть мати багатобайтові " +"значення." + +msgid "" +"An example consumer of the buffer interface is the :meth:`~io.BufferedIOBase." +"write` method of file objects: any object that can export a series of bytes " +"through the buffer interface can be written to a file. While :meth:`write` " +"only needs read-only access to the internal contents of the object passed to " +"it, other methods such as :meth:`~io.BufferedIOBase.readinto` need write " +"access to the contents of their argument. The buffer interface allows " +"objects to selectively allow or reject exporting of read-write and read-only " +"buffers." +msgstr "" +"Прикладом споживача інтерфейсу буфера є метод :meth:`~io.BufferedIOBase." +"write` файлових об’єктів: будь-який об’єкт, який може експортувати серію " +"байтів через інтерфейс буфера, може бути записаний у файл. Тоді як :meth:" +"`write` потрібен лише доступ лише для читання до внутрішнього вмісту " +"переданого йому об’єкта, іншим методам, таким як :meth:`~io.BufferedIOBase." +"readinto` потрібен доступ для запису до вмісту свого аргументу. Інтерфейс " +"буфера дозволяє об’єктам вибірково дозволяти або відхиляти експорт буферів " +"читання-запису та лише читання." + +msgid "" +"There are two ways for a consumer of the buffer interface to acquire a " +"buffer over a target object:" +msgstr "" +"Споживач інтерфейсу буфера може отримати буфер над цільовим об’єктом двома " +"способами:" + +msgid "call :c:func:`PyObject_GetBuffer` with the right parameters;" +msgstr "викликати :c:func:`PyObject_GetBuffer` з правильними параметрами;" + +msgid "" +"call :c:func:`PyArg_ParseTuple` (or one of its siblings) with one of the " +"``y*``, ``w*`` or ``s*`` :ref:`format codes `." +msgstr "" +"викликати :c:func:`PyArg_ParseTuple` (або один із його братів і сестер) з " +"одним із ``y*``, ``w*`` або ``s*`` :ref:`кодів формату `." + +msgid "" +"In both cases, :c:func:`PyBuffer_Release` must be called when the buffer " +"isn't needed anymore. Failure to do so could lead to various issues such as " +"resource leaks." +msgstr "" +"В обох випадках :c:func:`PyBuffer_Release` потрібно викликати, коли буфер " +"більше не потрібен. Якщо цього не зробити, це може призвести до " +"різноманітних проблем, наприклад до витоку ресурсів." + +msgid "Buffer structure" +msgstr "Буферна структура" + +msgid "" +"Buffer structures (or simply \"buffers\") are useful as a way to expose the " +"binary data from another object to the Python programmer. They can also be " +"used as a zero-copy slicing mechanism. Using their ability to reference a " +"block of memory, it is possible to expose any data to the Python programmer " +"quite easily. The memory could be a large, constant array in a C extension, " +"it could be a raw block of memory for manipulation before passing to an " +"operating system library, or it could be used to pass around structured data " +"in its native, in-memory format." +msgstr "" +"Буферні структури (або просто \"буфери\") корисні як спосіб надати двійкові " +"дані з іншого об’єкта програмісту Python. Їх також можна використовувати як " +"механізм нарізки без копіювання. Використовуючи їх здатність посилатися на " +"блок пам’яті, можна досить легко надати будь-які дані програмісту Python. " +"Пам’ять може бути великим постійним масивом у розширенні C, це може бути " +"необроблений блок пам’яті для маніпуляцій перед передачею в бібліотеку " +"операційної системи, або її можна використовувати для передачі " +"структурованих даних у їх рідному форматі в пам’яті. ." + +msgid "" +"Contrary to most data types exposed by the Python interpreter, buffers are " +"not :c:type:`PyObject` pointers but rather simple C structures. This allows " +"them to be created and copied very simply. When a generic wrapper around a " +"buffer is needed, a :ref:`memoryview ` object can be " +"created." +msgstr "" +"На відміну від більшості типів даних, наданих інтерпретатором Python, буфери " +"не є покажчиками :c:type:`PyObject`, а досить простими структурами C. Це " +"дозволяє дуже просто створювати та копіювати їх. Якщо потрібна загальна " +"обгортка навколо буфера, можна створити об’єкт :ref:`memoryview `." + +msgid "" +"For short instructions how to write an exporting object, see :ref:`Buffer " +"Object Structures `. For obtaining a buffer, see :c:func:" +"`PyObject_GetBuffer`." +msgstr "" +"Щоб отримати короткі інструкції щодо написання об’єкта експорту, " +"перегляньте :ref:`Структури об’єктів буфера `. Щоб отримати " +"буфер, перегляньте :c:func:`PyObject_GetBuffer`." + +msgid "" +"A pointer to the start of the logical structure described by the buffer " +"fields. This can be any location within the underlying physical memory block " +"of the exporter. For example, with negative :c:member:`~Py_buffer.strides` " +"the value may point to the end of the memory block." +msgstr "" +"Покажчик на початок логічної структури, описаної полями буфера. Це може бути " +"будь-яке розташування в базовому блоці фізичної пам’яті експортера. " +"Наприклад, з негативним :c:member:`~Py_buffer.strides` значення може " +"вказувати на кінець блоку пам’яті." + +msgid "" +"For :term:`contiguous` arrays, the value points to the beginning of the " +"memory block." +msgstr "" +"Для масивів :term:`contiguous` значення вказує на початок блоку пам’яті." + +msgid "" +"A new reference to the exporting object. The reference is owned by the " +"consumer and automatically decremented and set to ``NULL`` by :c:func:" +"`PyBuffer_Release`. The field is the equivalent of the return value of any " +"standard C-API function." +msgstr "" +"Нове посилання на об’єкт експорту. Посилання належить споживачеві, воно " +"автоматично зменшується та встановлюється на ``NULL`` за допомогою :c:func:" +"`PyBuffer_Release`. Поле є еквівалентом значення, яке повертає будь-яка " +"стандартна функція C-API." + +msgid "" +"As a special case, for *temporary* buffers that are wrapped by :c:func:" +"`PyMemoryView_FromBuffer` or :c:func:`PyBuffer_FillInfo` this field is " +"``NULL``. In general, exporting objects MUST NOT use this scheme." +msgstr "" +"Як окремий випадок, для *тимчасових* буферів, які обернуті :c:func:" +"`PyMemoryView_FromBuffer` або :c:func:`PyBuffer_FillInfo`, це поле має " +"значення ``NULL``. Загалом, експорт об’єктів НЕ ПОВИНЕН використовувати цю " +"схему." + +msgid "" +"``product(shape) * itemsize``. For contiguous arrays, this is the length of " +"the underlying memory block. For non-contiguous arrays, it is the length " +"that the logical structure would have if it were copied to a contiguous " +"representation." +msgstr "" +"``product(shape) * itemsize``. Для безперервних масивів це довжина основного " +"блоку пам’яті. Для несуміжних масивів це довжина, яку мала б логічна " +"структура, якби її було скопійовано до безперервного представлення." + +msgid "" +"Accessing ``((char *)buf)[0] up to ((char *)buf)[len-1]`` is only valid if " +"the buffer has been obtained by a request that guarantees contiguity. In " +"most cases such a request will be :c:macro:`PyBUF_SIMPLE` or :c:macro:" +"`PyBUF_WRITABLE`." +msgstr "" +"Доступ до ``((char *)buf)[0] до ((char *)buf)[len-1]`` дійсний, лише якщо " +"буфер було отримано за запитом, який гарантує безперервність. У більшості " +"випадків такий запит буде :c:macro:`PyBUF_SIMPLE` або :c:macro:" +"`PyBUF_WRITABLE`." + +msgid "" +"An indicator of whether the buffer is read-only. This field is controlled by " +"the :c:macro:`PyBUF_WRITABLE` flag." +msgstr "" +"Індикатор того, чи буфер доступний лише для читання. Це поле контролюється " +"прапорцем :c:macro:`PyBUF_WRITABLE`." + +msgid "" +"Item size in bytes of a single element. Same as the value of :func:`struct." +"calcsize` called on non-``NULL`` :c:member:`~Py_buffer.format` values." +msgstr "" +"Розмір елемента в байтах одного елемента. Те саме, що значення :func:`struct." +"calcsize`, викликане для не-``NULL`` значень :c:member:`~Py_buffer.format`." + +msgid "" +"Important exception: If a consumer requests a buffer without the :c:macro:" +"`PyBUF_FORMAT` flag, :c:member:`~Py_buffer.format` will be set to " +"``NULL``, but :c:member:`~Py_buffer.itemsize` still has the value for the " +"original format." +msgstr "" +"Важливий виняток: якщо споживач запитує буфер без прапора :c:macro:" +"`PyBUF_FORMAT`, :c:member:`~Py_buffer.format` буде встановлено на ``NULL``, " +"але :c:member:`~Py_buffer.itemsize` все ще має значення для вихідного " +"формату." + +msgid "" +"If :c:member:`~Py_buffer.shape` is present, the equality ``product(shape) * " +"itemsize == len`` still holds and the consumer can use :c:member:`~Py_buffer." +"itemsize` to navigate the buffer." +msgstr "" +"Якщо :c:member:`~Py_buffer.shape` присутній, рівність ``product(shape) * " +"itemsize == len`` все ще виконується, і споживач може використовувати :c:" +"member:`~Py_buffer.itemsize` для навігації буфер." + +msgid "" +"If :c:member:`~Py_buffer.shape` is ``NULL`` as a result of a :c:macro:" +"`PyBUF_SIMPLE` or a :c:macro:`PyBUF_WRITABLE` request, the consumer must " +"disregard :c:member:`~Py_buffer.itemsize` and assume ``itemsize == 1``." +msgstr "" +"Якщо :c:member:`~Py_buffer.shape` має значення ``NULL`` в результаті запиту :" +"c:macro:`PyBUF_SIMPLE` або :c:macro:`PyBUF_WRITABLE`, споживач повинен " +"ігнорувати :c:member:`~Py_buffer.itemsize` і припустимо ``itemsize == 1``." + +msgid "" +"A *NUL* terminated string in :mod:`struct` module style syntax describing " +"the contents of a single item. If this is ``NULL``, ``\"B\"`` (unsigned " +"bytes) is assumed." +msgstr "" +"Рядок із закінченням *NUL* у синтаксисі стилю модуля :mod:`struct` описує " +"вміст окремого елемента. Якщо це ``NULL``, ``\"B\"`` (беззнакові байти)." + +msgid "This field is controlled by the :c:macro:`PyBUF_FORMAT` flag." +msgstr "Це поле контролюється прапорцем :c:macro:`PyBUF_FORMAT`." + +msgid "" +"The number of dimensions the memory represents as an n-dimensional array. If " +"it is ``0``, :c:member:`~Py_buffer.buf` points to a single item representing " +"a scalar. In this case, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer." +"strides` and :c:member:`~Py_buffer.suboffsets` MUST be ``NULL``." +msgstr "" +"Кількість вимірів, які пам’ять представляє як n-вимірний масив. Якщо це " +"``0``, :c:member:`~Py_buffer.buf` вказує на один елемент, що представляє " +"скаляр. У цьому випадку :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer." +"strides` і :c:member:`~Py_buffer.suboffsets` ПОВИННІ мати значення ``NULL``." + +msgid "" +"The macro :c:macro:`PyBUF_MAX_NDIM` limits the maximum number of dimensions " +"to 64. Exporters MUST respect this limit, consumers of multi-dimensional " +"buffers SHOULD be able to handle up to :c:macro:`PyBUF_MAX_NDIM` dimensions." +msgstr "" +"Макрос :c:macro:`PyBUF_MAX_NDIM` обмежує максимальну кількість вимірів до " +"64. Експортери ПОВИННІ дотримуватися цього обмеження, споживачі " +"багатовимірних буферів ПОВИННІ мати можливість обробляти розміри до :c:macro:" +"`PyBUF_MAX_NDIM`." + +msgid "" +"An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " +"indicating the shape of the memory as an n-dimensional array. Note that " +"``shape[0] * ... * shape[ndim-1] * itemsize`` MUST be equal to :c:member:" +"`~Py_buffer.len`." +msgstr "" +"Масив :c:type:`Py_ssize_t` довжини :c:member:`~Py_buffer.ndim`, що вказує " +"форму пам’яті як n-вимірного масиву. Зауважте, що ``shape[0] * ... * " +"shape[ndim-1] * itemsize`` ПОВИНЕН дорівнювати :c:member:`~Py_buffer.len`." + +msgid "" +"Shape values are restricted to ``shape[n] >= 0``. The case ``shape[n] == 0`` " +"requires special attention. See `complex arrays`_ for further information." +msgstr "" +"Значення форми обмежені ``shape[n] >= 0``. Випадок ``shape[n] == 0`` вимагає " +"особливої уваги. Див. `complex arrays`_ для отримання додаткової інформації." + +msgid "The shape array is read-only for the consumer." +msgstr "Масив форм доступний лише для читання для споживача." + +msgid "" +"An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " +"giving the number of bytes to skip to get to a new element in each dimension." +msgstr "" +"Масив :c:type:`Py_ssize_t` довжини :c:member:`~Py_buffer.ndim`, що вказує " +"кількість байтів, які потрібно пропустити, щоб перейти до нового елемента в " +"кожному вимірі." + +msgid "" +"Stride values can be any integer. For regular arrays, strides are usually " +"positive, but a consumer MUST be able to handle the case ``strides[n] <= " +"0``. See `complex arrays`_ for further information." +msgstr "" +"Величина кроку може бути будь-яким цілим числом. Для звичайних масивів кроки " +"зазвичай позитивні, але споживач ПОВИНЕН вміти впоратися з випадком " +"``ступені[n] <= 0``. Див. `complex arrays`_ для отримання додаткової " +"інформації." + +msgid "The strides array is read-only for the consumer." +msgstr "Масив strides доступний лише для читання для споживача." + +msgid "" +"An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim`. If " +"``suboffsets[n] >= 0``, the values stored along the nth dimension are " +"pointers and the suboffset value dictates how many bytes to add to each " +"pointer after de-referencing. A suboffset value that is negative indicates " +"that no de-referencing should occur (striding in a contiguous memory block)." +msgstr "" +"Масив :c:type:`Py_ssize_t` довжини :c:member:`~Py_buffer.ndim`. Якщо " +"``suboffsets[n] >= 0``, значення, що зберігаються вздовж n-го виміру, є " +"вказівниками, а значення suboffset визначає, скільки байтів потрібно додати " +"до кожного покажчика після видалення посилань. Від’ємне значення субзміщення " +"вказує на те, що не повинно відбуватися видалення посилань (переміщення в " +"безперервному блоці пам’яті)." + +msgid "" +"If all suboffsets are negative (i.e. no de-referencing is needed), then this " +"field must be ``NULL`` (the default value)." +msgstr "" +"Якщо всі підзміщення є від’ємними (тобто не потрібно знімати посилання), " +"тоді це поле має бути ``NULL`` (значення за замовчуванням)." + +msgid "" +"This type of array representation is used by the Python Imaging Library " +"(PIL). See `complex arrays`_ for further information how to access elements " +"of such an array." +msgstr "" +"Цей тип представлення масиву використовується бібліотекою зображень Python " +"(PIL). Див. `complex arrays`_ для отримання додаткової інформації про доступ " +"до елементів такого масиву." + +msgid "The suboffsets array is read-only for the consumer." +msgstr "Масив suboffsets доступний лише для читання для споживача." + +msgid "" +"This is for use internally by the exporting object. For example, this might " +"be re-cast as an integer by the exporter and used to store flags about " +"whether or not the shape, strides, and suboffsets arrays must be freed when " +"the buffer is released. The consumer MUST NOT alter this value." +msgstr "" +"Це для внутрішнього використання об’єктом експорту. Наприклад, це може бути " +"перетворено як ціле число експортером і використано для зберігання прапорів " +"про те, чи потрібно звільняти масиви форми, кроків і підзміщень, коли буфер " +"звільняється. Споживач НЕ ПОВИНЕН змінювати це значення." + +msgid "Buffer request types" +msgstr "Типи запитів на буфер" + +msgid "" +"Buffers are usually obtained by sending a buffer request to an exporting " +"object via :c:func:`PyObject_GetBuffer`. Since the complexity of the logical " +"structure of the memory can vary drastically, the consumer uses the *flags* " +"argument to specify the exact buffer type it can handle." +msgstr "" +"Буфери зазвичай отримують шляхом надсилання запиту на буфер до об’єкта " +"експорту через :c:func:`PyObject_GetBuffer`. Оскільки складність логічної " +"структури пам’яті може різко змінюватися, споживач використовує аргумент " +"*flags*, щоб визначити точний тип буфера, який він може обробляти." + +msgid "" +"All :c:data:`Py_buffer` fields are unambiguously defined by the request type." +msgstr "Усі поля :c:data:`Py_buffer` однозначно визначаються типом запиту." + +msgid "request-independent fields" +msgstr "поля, незалежні від запиту" + +msgid "" +"The following fields are not influenced by *flags* and must always be filled " +"in with the correct values: :c:member:`~Py_buffer.obj`, :c:member:" +"`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer." +"itemsize`, :c:member:`~Py_buffer.ndim`." +msgstr "" +"На наступні поля не впливають *прапорці*, і їх потрібно завжди заповнювати " +"правильними значеннями: :c:member:`~Py_buffer.obj`, :c:member:`~Py_buffer." +"buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer.itemsize`, :c:member:" +"`~Py_buffer.ndim`." + +msgid "readonly, format" +msgstr "тільки для читання, формат" + +msgid "" +"Controls the :c:member:`~Py_buffer.readonly` field. If set, the exporter " +"MUST provide a writable buffer or else report failure. Otherwise, the " +"exporter MAY provide either a read-only or writable buffer, but the choice " +"MUST be consistent for all consumers." +msgstr "" +"Керує полем :c:member:`~Py_buffer.readonly`. Якщо встановлено, експортер " +"ПОВИНЕН надати буфер для запису або повідомити про помилку. В іншому випадку " +"експортер МОЖЕ надати буфер лише для читання або запису, але вибір ПОВИНЕН " +"бути узгодженим для всіх споживачів." + +msgid "" +"Controls the :c:member:`~Py_buffer.format` field. If set, this field MUST be " +"filled in correctly. Otherwise, this field MUST be ``NULL``." +msgstr "" +"Керує полем :c:member:`~Py_buffer.format`. Якщо встановлено, це поле ПОВИННО " +"бути заповнене правильно. В іншому випадку це поле ПОВИННО мати значення " +"``NULL``." + +msgid "" +":c:macro:`PyBUF_WRITABLE` can be \\|'d to any of the flags in the next " +"section. Since :c:macro:`PyBUF_SIMPLE` is defined as 0, :c:macro:" +"`PyBUF_WRITABLE` can be used as a stand-alone flag to request a simple " +"writable buffer." +msgstr "" +":c:macro:`PyBUF_WRITABLE` можна приєднати до будь-якого з прапорів у " +"наступному розділі. Оскільки :c:macro:`PyBUF_SIMPLE` визначено як 0, :c:" +"macro:`PyBUF_WRITABLE` можна використовувати як окремий прапор для запиту " +"простого буфера для запису." + +msgid "" +":c:macro:`PyBUF_FORMAT` can be \\|'d to any of the flags except :c:macro:" +"`PyBUF_SIMPLE`. The latter already implies format ``B`` (unsigned bytes)." +msgstr "" +":c:macro:`PyBUF_FORMAT` можна приєднати до будь-якого з прапорів, крім :c:" +"macro:`PyBUF_SIMPLE`. Останнє вже передбачає формат ``B`` (беззнакові байти)." + +msgid "shape, strides, suboffsets" +msgstr "форма, кроки, підзміщення" + +msgid "" +"The flags that control the logical structure of the memory are listed in " +"decreasing order of complexity. Note that each flag contains all bits of the " +"flags below it." +msgstr "" +"Прапори, які керують логічною структурою пам'яті, перераховані в порядку " +"зменшення складності. Зауважте, що кожен прапор містить усі біти прапорів " +"під ним." + +msgid "Request" +msgstr "запит" + +msgid "shape" +msgstr "форму" + +msgid "strides" +msgstr "кроками" + +msgid "suboffsets" +msgstr "підзміщення" + +msgid "yes" +msgstr "так" + +msgid "if needed" +msgstr "при необхідності" + +msgid "NULL" +msgstr "НУЛЬ" + +msgid "contiguity requests" +msgstr "запити суміжності" + +msgid "" +"C or Fortran :term:`contiguity ` can be explicitly requested, " +"with and without stride information. Without stride information, the buffer " +"must be C-contiguous." +msgstr "" +"C або Fortran :term:`contiguity ` можна запитати явно, з " +"інформацією про крок або без неї. Без інформації про кроки буфер має бути C-" +"суміжним." + +msgid "contig" +msgstr "контиг" + +msgid "C" +msgstr "C" + +msgid "F" +msgstr "Ф" + +msgid "C or F" +msgstr "C або F" + +msgid ":c:macro:`PyBUF_ND`" +msgstr ":c:macro:`PyBUF_ND`" + +msgid "compound requests" +msgstr "складені запити" + +msgid "" +"All possible requests are fully defined by some combination of the flags in " +"the previous section. For convenience, the buffer protocol provides " +"frequently used combinations as single flags." +msgstr "" +"Усі можливі запити повністю визначені деякою комбінацією прапорів у " +"попередньому розділі. Для зручності протокол буфера надає часто " +"використовувані комбінації як окремі прапорці." + +msgid "" +"In the following table *U* stands for undefined contiguity. The consumer " +"would have to call :c:func:`PyBuffer_IsContiguous` to determine contiguity." +msgstr "" +"У наступній таблиці *U* означає невизначену суміжність. Споживач мав би " +"викликати :c:func:`PyBuffer_IsContiguous`, щоб визначити суміжність." + +msgid "readonly" +msgstr "лише для читання" + +msgid "format" +msgstr "формат" + +msgid "U" +msgstr "U" + +msgid "0" +msgstr "0" + +msgid "1 or 0" +msgstr "1 або 0" + +msgid "Complex arrays" +msgstr "Складні масиви" + +msgid "NumPy-style: shape and strides" +msgstr "NumPy-стиль: форма та кроки" + +msgid "" +"The logical structure of NumPy-style arrays is defined by :c:member:" +"`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer." +"shape` and :c:member:`~Py_buffer.strides`." +msgstr "" +"Логічна структура масивів у стилі NumPy визначається :c:member:`~Py_buffer." +"itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer.shape` і :c:" +"member:`~Py_buffer.strides`." + +msgid "" +"If ``ndim == 0``, the memory location pointed to by :c:member:`~Py_buffer." +"buf` is interpreted as a scalar of size :c:member:`~Py_buffer.itemsize`. In " +"that case, both :c:member:`~Py_buffer.shape` and :c:member:`~Py_buffer." +"strides` are ``NULL``." +msgstr "" +"Якщо ``ndim == 0``, розташування пам'яті, на яке вказує :c:member:" +"`~Py_buffer.buf`, інтерпретується як скаляр розміру :c:member:`~Py_buffer." +"itemsize`. У цьому випадку і :c:member:`~Py_buffer.shape`, і :c:member:" +"`~Py_buffer.strides` мають значення ``NULL``." + +msgid "" +"If :c:member:`~Py_buffer.strides` is ``NULL``, the array is interpreted as a " +"standard n-dimensional C-array. Otherwise, the consumer must access an n-" +"dimensional array as follows:" +msgstr "" +"Якщо :c:member:`~Py_buffer.strides` має значення ``NULL``, масив " +"інтерпретується як стандартний n-вимірний C-масив. В іншому випадку споживач " +"повинен отримати доступ до n-вимірного масиву наступним чином:" + +msgid "" +"As noted above, :c:member:`~Py_buffer.buf` can point to any location within " +"the actual memory block. An exporter can check the validity of a buffer with " +"this function:" +msgstr "" +"Як зазначалося вище, :c:member:`~Py_buffer.buf` може вказувати на будь-яке " +"місце в межах фактичного блоку пам’яті. Експортер може перевірити дійсність " +"буфера за допомогою цієї функції:" + +msgid "PIL-style: shape, strides and suboffsets" +msgstr "PIL-стиль: форма, кроки та підзміщення" + +msgid "" +"In addition to the regular items, PIL-style arrays can contain pointers that " +"must be followed in order to get to the next element in a dimension. For " +"example, the regular three-dimensional C-array ``char v[2][2][3]`` can also " +"be viewed as an array of 2 pointers to 2 two-dimensional arrays: ``char " +"(*v[2])[2][3]``. In suboffsets representation, those two pointers can be " +"embedded at the start of :c:member:`~Py_buffer.buf`, pointing to two ``char " +"x[2][3]`` arrays that can be located anywhere in memory." +msgstr "" +"Окрім звичайних елементів, масиви у стилі PIL можуть містити вказівники, за " +"якими потрібно слідувати, щоб перейти до наступного елемента у вимірі. " +"Наприклад, звичайний тривимірний C-масив ``char v[2][2][3]`` також можна " +"розглядати як масив із 2 покажчиків на 2 двовимірні масиви: ``char (*v[ 2])" +"[2][3]``. У представленні субзсувів ці два вказівники можуть бути вбудовані " +"на початку :c:member:`~Py_buffer.buf`, вказуючи на два масиви ``char x[2]" +"[3]``, які можуть бути розташовані будь-де в пам’яті." + +msgid "" +"Here is a function that returns a pointer to the element in an N-D array " +"pointed to by an N-dimensional index when there are both non-``NULL`` " +"strides and suboffsets::" +msgstr "" +"Ось функція, яка повертає вказівник на елемент у N-D масиві, на який вказує " +"N-вимірний індекс, коли є як кроки, так і підзміщення, відмінні від " +"``NULL``::" + +msgid "Buffer-related functions" +msgstr "Функції, пов'язані з буфером" + +msgid "" +"Return ``1`` if *obj* supports the buffer interface otherwise ``0``. When " +"``1`` is returned, it doesn't guarantee that :c:func:`PyObject_GetBuffer` " +"will succeed. This function always succeeds." +msgstr "" +"Повертає ``1``, якщо *obj* підтримує інтерфейс буфера, інакше ``0``. Коли " +"повертається ``1``, це не гарантує, що :c:func:`PyObject_GetBuffer` буде " +"успішним. Ця функція завжди успішна." + +msgid "" +"Send a request to *exporter* to fill in *view* as specified by *flags*. If " +"the exporter cannot provide a buffer of the exact type, it MUST raise :c:" +"data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` and return ``-1``." +msgstr "" +"Надішліть запит до *exporter*, щоб заповнити *view*, як зазначено *flags*. " +"Якщо експортер не може надати буфер точного типу, він ПОВИНЕН викликати :c:" +"data:`PyExc_BufferError`, встановити ``view->obj`` на ``NULL`` і повернути " +"``-1``." + +msgid "" +"On success, fill in *view*, set ``view->obj`` to a new reference to " +"*exporter* and return 0. In the case of chained buffer providers that " +"redirect requests to a single object, ``view->obj`` MAY refer to this object " +"instead of *exporter* (See :ref:`Buffer Object Structures `)." +msgstr "" +"У разі успіху заповніть *view*, встановіть ``view->obj`` на нове посилання " +"на *exporter* і поверніть 0. У випадку зв’язаних постачальників буферів, які " +"перенаправляють запити до одного об’єкта, ``view-> obj`` МОЖЕ посилатися на " +"цей об’єкт замість *exporter* (Див. :ref:`Структури об’єктів буфера `)." + +msgid "" +"Successful calls to :c:func:`PyObject_GetBuffer` must be paired with calls " +"to :c:func:`PyBuffer_Release`, similar to :c:func:`malloc` and :c:func:" +"`free`. Thus, after the consumer is done with the buffer, :c:func:" +"`PyBuffer_Release` must be called exactly once." +msgstr "" +"Успішні виклики :c:func:`PyObject_GetBuffer` повинні бути поєднані з " +"викликами :c:func:`PyBuffer_Release`, подібно до :c:func:`malloc` і :c:func:" +"`free`. Таким чином, після того, як споживач завершить роботу з буфером, :c:" +"func:`PyBuffer_Release` потрібно викликати рівно один раз." + +msgid "" +"Release the buffer *view* and decrement the reference count for ``view-" +">obj``. This function MUST be called when the buffer is no longer being " +"used, otherwise reference leaks may occur." +msgstr "" +"Вивільніть буфер *view* і зменште кількість посилань для ``view->obj``. Цю " +"функцію ПОВИННО викликати, коли буфер більше не використовується, інакше " +"може статися витік посилань." + +msgid "" +"It is an error to call this function on a buffer that was not obtained via :" +"c:func:`PyObject_GetBuffer`." +msgstr "" +"Виклик цієї функції в буфері, який не було отримано через :c:func:" +"`PyObject_GetBuffer`, є помилкою." + +msgid "" +"Return the implied :c:data:`~Py_buffer.itemsize` from :c:data:`~Py_buffer." +"format`. On error, raise an exception and return -1." +msgstr "" +"Повертає неявний :c:data:`~Py_buffer.itemsize` з :c:data:`~Py_buffer." +"format`. У разі помилки викликає виняток і повертає -1." + +msgid "" +"Return ``1`` if the memory defined by the *view* is C-style (*order* is " +"``'C'``) or Fortran-style (*order* is ``'F'``) :term:`contiguous` or either " +"one (*order* is ``'A'``). Return ``0`` otherwise. This function always " +"succeeds." +msgstr "" +"Повертає ``1``, якщо пам’ять, визначена *view*, є стилем C (*order* це " +"``'C''``) або стилем Fortran (*order* це ``'F'``) :term:`contiguous` або " +"один (*порядок* це ``'A'``). Інакше поверніть ``0``. Ця функція завжди " +"успішна." + +msgid "" +"Get the memory area pointed to by the *indices* inside the given *view*. " +"*indices* must point to an array of ``view->ndim`` indices." +msgstr "" +"Отримайте область пам’яті, на яку вказують *індекси* в даному *виді*. " +"*індекси* повинні вказувати на масив індексів ``view->ndim``." + +msgid "" +"Copy contiguous *len* bytes from *buf* to *view*. *fort* can be ``'C'`` or " +"``'F'`` (for C-style or Fortran-style ordering). ``0`` is returned on " +"success, ``-1`` on error." +msgstr "" +"Скопіюйте послідовні *len* байти з *buf* у *view*. *fort* може бути ``'C'`` " +"або ``'F'`` (для впорядкування у стилі C або Fortran). ``0`` повертається в " +"разі успіху, ``-1`` у разі помилки." + +msgid "" +"Copy *len* bytes from *src* to its contiguous representation in *buf*. " +"*order* can be ``'C'`` or ``'F'`` or ``'A'`` (for C-style or Fortran-style " +"ordering or either one). ``0`` is returned on success, ``-1`` on error." +msgstr "" +"Скопіюйте *len* байти з *src* до його безперервного представлення в *buf*. " +"*order* може бути ``'C'`` або ``'F'`` або ``'A'`` (для впорядкування в стилі " +"C або Fortran або будь-якого з них). ``0`` повертається в разі успіху, " +"``-1`` у разі помилки." + +msgid "This function fails if *len* != *src->len*." +msgstr "Ця функція не працює, якщо *len* != *src->len*." + +msgid "" +"Copy data from *src* to *dest* buffer. Can convert between C-style and or " +"Fortran-style buffers." +msgstr "" + +msgid "``0`` is returned on success, ``-1`` on error." +msgstr "" + +msgid "" +"Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style " +"if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the " +"given shape with the given number of bytes per element." +msgstr "" +"Заповніть масив *strides* байтовими кроками :term:`contiguous` (у стилі C, " +"якщо *order* має значення ``'C'``, або у стилі Fortran, якщо *order* має " +"значення ``'F'`` ) масив заданої форми із заданою кількістю байтів на " +"елемент." + +msgid "" +"Handle buffer requests for an exporter that wants to expose *buf* of size " +"*len* with writability set according to *readonly*. *buf* is interpreted as " +"a sequence of unsigned bytes." +msgstr "" +"Обробляти запити буфера для експортера, який хоче відкрити *buf* розміру " +"*len* із можливістю запису, встановленою відповідно до *readonly*. *buf* " +"інтерпретується як послідовність байтів без знаку." + +msgid "" +"The *flags* argument indicates the request type. This function always fills " +"in *view* as specified by flags, unless *buf* has been designated as read-" +"only and :c:macro:`PyBUF_WRITABLE` is set in *flags*." +msgstr "" +"Аргумент *flags* вказує на тип запиту. Ця функція завжди заповнює *view*, як " +"зазначено прапорцями, якщо *buf* не призначено лише для читання і :c:macro:" +"`PyBUF_WRITABLE` встановлено у *flags*." + +msgid "" +"On success, set ``view->obj`` to a new reference to *exporter* and return 0. " +"Otherwise, raise :c:data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` " +"and return ``-1``;" +msgstr "" +"У разі успіху встановіть ``view->obj`` на нове посилання на *exporter* і " +"поверніть 0. В іншому випадку підніміть :c:data:`PyExc_BufferError`, " +"встановіть ``view->obj`` на ``NULL`` і повертає ``-1``;" + +msgid "" +"If this function is used as part of a :ref:`getbufferproc `, " +"*exporter* MUST be set to the exporting object and *flags* must be passed " +"unmodified. Otherwise, *exporter* MUST be ``NULL``." +msgstr "" +"Якщо ця функція використовується як частина :ref:`getbufferproc `, *exporter* ПОВИНЕН бути встановлений на об’єкт експорту, а " +"*flags* мають бути передані без змін. В іншому випадку *exporter* ПОВИНЕН " +"бути ``NULL``." diff --git a/c-api/bytearray.po b/c-api/bytearray.po new file mode 100644 index 000000000..02f7ef50c --- /dev/null +++ b/c-api/bytearray.po @@ -0,0 +1,106 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Byte Array Objects" +msgstr "Об’єкти байтового масиву" + +msgid "" +"This subtype of :c:type:`PyObject` represents a Python bytearray object." +msgstr "Цей підтип :c:type:`PyObject` представляє об’єкт Python bytearray." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python bytearray " +"type; it is the same object as :class:`bytearray` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип Python bytearray; це " +"той самий об’єкт, що й :class:`bytearray` на рівні Python." + +msgid "Type check macros" +msgstr "Макроси перевірки типу" + +msgid "" +"Return true if the object *o* is a bytearray object or an instance of a " +"subtype of the bytearray type. This function always succeeds." +msgstr "" +"Повертає true, якщо об’єкт *o* є об’єктом bytearray або екземпляром підтипу " +"типу bytearray. Ця функція завжди успішна." + +msgid "" +"Return true if the object *o* is a bytearray object, but not an instance of " +"a subtype of the bytearray type. This function always succeeds." +msgstr "" +"Повертає true, якщо об’єкт *o* є об’єктом bytearray, але не екземпляром " +"підтипу типу bytearray. Ця функція завжди успішна." + +msgid "Direct API functions" +msgstr "Прямі функції API" + +msgid "" +"Return a new bytearray object from any object, *o*, that implements the :ref:" +"`buffer protocol `." +msgstr "" +"Повертає новий об’єкт bytearray з будь-якого об’єкта, *o*, який реалізує :" +"ref:`протокол буфера `." + +msgid "" +"Create a new bytearray object from *string* and its length, *len*. On " +"failure, ``NULL`` is returned." +msgstr "" +"Створіть новий об’єкт bytearray із *string* і його довжини *len*. У разі " +"помилки повертається ``NULL``." + +msgid "" +"Concat bytearrays *a* and *b* and return a new bytearray with the result." +msgstr "" +"Об’єднайте масиви байтів *a* і *b* та поверніть новий масив байтів із " +"результатом." + +msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer." +msgstr "Повертає розмір *bytearray* після перевірки вказівника ``NULL``." + +msgid "" +"Return the contents of *bytearray* as a char array after checking for a " +"``NULL`` pointer. The returned array always has an extra null byte appended." +msgstr "" +"Повертає вміст *bytearray* як масив char після перевірки вказівника " +"``NULL``. Повернений масив завжди має додатковий нульовий байт." + +msgid "Resize the internal buffer of *bytearray* to *len*." +msgstr "Змініть розмір внутрішнього буфера *bytearray* на *len*." + +msgid "Macros" +msgstr "Макроси" + +msgid "These macros trade safety for speed and they don't check pointers." +msgstr "" +"Ці макроси замінюють безпеку на швидкість, і вони не перевіряють покажчики." + +msgid "Similar to :c:func:`PyByteArray_AsString`, but without error checking." +msgstr "" + +msgid "Similar to :c:func:`PyByteArray_Size`, but without error checking." +msgstr "" diff --git a/c-api/bytes.po b/c-api/bytes.po new file mode 100644 index 000000000..cab31a8d5 --- /dev/null +++ b/c-api/bytes.po @@ -0,0 +1,341 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Bytes Objects" +msgstr "Об'єкти Bytes" + +msgid "" +"These functions raise :exc:`TypeError` when expecting a bytes parameter and " +"called with a non-bytes parameter." +msgstr "" +"Ці функції викликають :exc:`TypeError`, коли очікується параметр bytes і " +"викликаються з параметром, який не є байтом." + +msgid "This subtype of :c:type:`PyObject` represents a Python bytes object." +msgstr "Цей підтип :c:type:`PyObject` представляє об’єкт Python bytes." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python bytes type; it " +"is the same object as :class:`bytes` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип Python bytes; це той " +"самий об’єкт, що й :class:`bytes` на рівні Python." + +msgid "" +"Return true if the object *o* is a bytes object or an instance of a subtype " +"of the bytes type. This function always succeeds." +msgstr "" +"Повертає true, якщо об’єкт *o* є об’єктом bytes або екземпляром підтипу типу " +"bytes. Ця функція завжди успішна." + +msgid "" +"Return true if the object *o* is a bytes object, but not an instance of a " +"subtype of the bytes type. This function always succeeds." +msgstr "" +"Повертає true, якщо об’єкт *o* є об’єктом bytes, але не екземпляром підтипу " +"типу bytes. Ця функція завжди успішна." + +msgid "" +"Return a new bytes object with a copy of the string *v* as value on success, " +"and ``NULL`` on failure. The parameter *v* must not be ``NULL``; it will " +"not be checked." +msgstr "" +"Повертає новий об’єкт bytes із копією рядка *v* як значення в разі успіху та " +"``NULL`` у разі помилки. Параметр *v* не має бути ``NULL``; перевірятися не " +"буде." + +msgid "" +"Return a new bytes object with a copy of the string *v* as value and length " +"*len* on success, and ``NULL`` on failure. If *v* is ``NULL``, the contents " +"of the bytes object are uninitialized." +msgstr "" +"Повертає новий об’єкт bytes із копією рядка *v* як значення та довжиною " +"*len* у разі успіху та ``NULL`` у разі помилки. Якщо *v* має значення " +"``NULL``, вміст об’єкта bytes не ініціалізується." + +msgid "" +"Take a C :c:func:`printf`\\ -style *format* string and a variable number of " +"arguments, calculate the size of the resulting Python bytes object and " +"return a bytes object with the values formatted into it. The variable " +"arguments must be C types and must correspond exactly to the format " +"characters in the *format* string. The following format characters are " +"allowed:" +msgstr "" +"Візьміть рядок *format* у стилі C :c:func:`printf`\\ і змінну кількість " +"аргументів, обчисліть розмір результуючого об’єкта Python bytes і поверніть " +"об’єкт bytes із відформатованими значеннями. Змінні аргументи мають бути " +"типу C і точно відповідати символам формату в рядку *format*. Дозволяються " +"такі символи формату:" + +msgid "Format Characters" +msgstr "Формат символів" + +msgid "Type" +msgstr "Тип" + +msgid "Comment" +msgstr "коментар" + +msgid ":attr:`%%`" +msgstr ":attr:`%%`" + +msgid "*n/a*" +msgstr "*немає*" + +msgid "The literal % character." +msgstr "Літеральний символ %." + +msgid ":attr:`%c`" +msgstr ":attr:`%c`" + +msgid "int" +msgstr "внутр" + +msgid "A single byte, represented as a C int." +msgstr "Один байт, представлений як C int." + +msgid ":attr:`%d`" +msgstr ":attr:`%d`" + +msgid "Equivalent to ``printf(\"%d\")``. [1]_" +msgstr "Еквівалент ``printf(\"%d\")``. [1]_" + +msgid ":attr:`%u`" +msgstr ":attr:`%u`" + +msgid "unsigned int" +msgstr "unsigned int" + +msgid "Equivalent to ``printf(\"%u\")``. [1]_" +msgstr "Еквівалент ``printf(\"%u\")``. [1]_" + +msgid ":attr:`%ld`" +msgstr ":attr:`%ld`" + +msgid "long" +msgstr "довгота" + +msgid "Equivalent to ``printf(\"%ld\")``. [1]_" +msgstr "Еквівалент ``printf(\"%ld\")``. [1]_" + +msgid ":attr:`%lu`" +msgstr ":attr:`%lu`" + +msgid "unsigned long" +msgstr "беззнаковий довгий" + +msgid "Equivalent to ``printf(\"%lu\")``. [1]_" +msgstr "Еквівалент ``printf(\"%lu\")``. [1]_" + +msgid ":attr:`%zd`" +msgstr ":attr:`%zd`" + +msgid ":c:type:`\\ Py_ssize_t`" +msgstr ":c:type:`\\ Py_ssize_t`" + +msgid "Equivalent to ``printf(\"%zd\")``. [1]_" +msgstr "Еквівалент ``printf(\"%zd\")``. [1]_" + +msgid ":attr:`%zu`" +msgstr ":attr:`%zu`" + +msgid "size_t" +msgstr "size_t" + +msgid "Equivalent to ``printf(\"%zu\")``. [1]_" +msgstr "Еквівалент ``printf(\"%zu\")``. [1]_" + +msgid ":attr:`%i`" +msgstr ":attr:`%i`" + +msgid "Equivalent to ``printf(\"%i\")``. [1]_" +msgstr "Еквівалент ``printf(\"%i\")``. [1]_" + +msgid ":attr:`%x`" +msgstr ":attr:`%x`" + +msgid "Equivalent to ``printf(\"%x\")``. [1]_" +msgstr "Еквівалент ``printf(\"%x\")``. [1]_" + +msgid ":attr:`%s`" +msgstr ":attr:`%s`" + +msgid "const char\\*" +msgstr "const char\\*" + +msgid "A null-terminated C character array." +msgstr "Масив символів C із закінченням нулем." + +msgid ":attr:`%p`" +msgstr ":attr:`%p`" + +msgid "const void\\*" +msgstr "const void\\*" + +msgid "" +"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p" +"\")`` except that it is guaranteed to start with the literal ``0x`` " +"regardless of what the platform's ``printf`` yields." +msgstr "" +"Шістнадцяткове представлення покажчика C. Здебільшого еквівалентний " +"``printf(\"%p\")`` за винятком того, що він гарантовано починається з " +"літералу ``0x`` незалежно від того, що дає ``printf`` платформи." + +msgid "" +"An unrecognized format character causes all the rest of the format string to " +"be copied as-is to the result object, and any extra arguments discarded." +msgstr "" +"Нерозпізнаний символ формату спричиняє копіювання всієї решти рядка формату " +"в об’єкт результату як є, а будь-які додаткові аргументи відкидаються." + +msgid "" +"For integer specifiers (d, u, ld, lu, zd, zu, i, x): the 0-conversion flag " +"has effect even when a precision is given." +msgstr "" +"Для цілочисельних специфікаторів (d, u, ld, lu, zd, zu, i, x): прапор 0-" +"конверсії діє, навіть якщо задано точність." + +msgid "" +"Identical to :c:func:`PyBytes_FromFormat` except that it takes exactly two " +"arguments." +msgstr "" +"Ідентичний :c:func:`PyBytes_FromFormat` за винятком того, що він приймає " +"рівно два аргументи." + +msgid "" +"Return the bytes representation of object *o* that implements the buffer " +"protocol." +msgstr "" +"Повертає представлення байтів об’єкта *o*, який реалізує протокол буфера." + +msgid "Return the length of the bytes in bytes object *o*." +msgstr "Повертає довжину байтів у байтах об'єкт *o*." + +msgid "Similar to :c:func:`PyBytes_Size`, but without error checking." +msgstr "" + +msgid "" +"Return a pointer to the contents of *o*. The pointer refers to the internal " +"buffer of *o*, which consists of ``len(o) + 1`` bytes. The last byte in the " +"buffer is always null, regardless of whether there are any other null " +"bytes. The data must not be modified in any way, unless the object was just " +"created using ``PyBytes_FromStringAndSize(NULL, size)``. It must not be " +"deallocated. If *o* is not a bytes object at all, :c:func:" +"`PyBytes_AsString` returns ``NULL`` and raises :exc:`TypeError`." +msgstr "" +"Повернути вказівник на вміст *o*. Покажчик посилається на внутрішній буфер " +"*o*, який складається з ``len(o) + 1`` байтів. Останній байт у буфері завжди " +"нульовий, незалежно від того, чи є інші нульові байти. Дані не можна " +"змінювати жодним чином, якщо об’єкт не було щойно створено за допомогою " +"``PyBytes_FromStringAndSize(NULL, size)``. Його не можна звільняти. Якщо *o* " +"взагалі не є об’єктом bytes, :c:func:`PyBytes_AsString` повертає ``NULL`` і " +"викликає :exc:`TypeError`." + +msgid "Similar to :c:func:`PyBytes_AsString`, but without error checking." +msgstr "" + +msgid "" +"Return the null-terminated contents of the object *obj* through the output " +"variables *buffer* and *length*." +msgstr "" +"Повертає нульовий вміст об’єкта *obj* через вихідні змінні *buffer* і " +"*length*." + +msgid "" +"If *length* is ``NULL``, the bytes object may not contain embedded null " +"bytes; if it does, the function returns ``-1`` and a :exc:`ValueError` is " +"raised." +msgstr "" +"Якщо *length* дорівнює ``NULL``, об’єкт bytes може не містити вбудованих " +"нульових байтів; якщо це так, функція повертає ``-1`` і викликає :exc:" +"`ValueError`." + +msgid "" +"The buffer refers to an internal buffer of *obj*, which includes an " +"additional null byte at the end (not counted in *length*). The data must " +"not be modified in any way, unless the object was just created using " +"``PyBytes_FromStringAndSize(NULL, size)``. It must not be deallocated. If " +"*obj* is not a bytes object at all, :c:func:`PyBytes_AsStringAndSize` " +"returns ``-1`` and raises :exc:`TypeError`." +msgstr "" +"Буфер відноситься до внутрішнього буфера *obj*, який містить додатковий " +"нульовий байт у кінці (не враховується в *довжині*). Дані не можна змінювати " +"жодним чином, якщо об’єкт не було щойно створено за допомогою " +"``PyBytes_FromStringAndSize(NULL, size)``. Його не можна звільняти. Якщо " +"*obj* взагалі не є об’єктом bytes, :c:func:`PyBytes_AsStringAndSize` " +"повертає ``-1`` і викликає :exc:`TypeError`." + +msgid "" +"Previously, :exc:`TypeError` was raised when embedded null bytes were " +"encountered in the bytes object." +msgstr "" +"Раніше :exc:`TypeError` виникало, коли в об’єкті bytes зустрічалися " +"вбудовані нульові байти." + +msgid "" +"Create a new bytes object in *\\*bytes* containing the contents of *newpart* " +"appended to *bytes*; the caller will own the new reference. The reference " +"to the old value of *bytes* will be stolen. If the new object cannot be " +"created, the old reference to *bytes* will still be discarded and the value " +"of *\\*bytes* will be set to ``NULL``; the appropriate exception will be set." +msgstr "" +"Створіть новий об’єкт bytes у *\\*bytes*, що містить вміст *newpart*, " +"доданий до *bytes*; абонент буде володіти новим посиланням. Посилання на " +"старе значення *bytes* буде викрадено. Якщо новий об’єкт неможливо створити, " +"старе посилання на *bytes* все одно буде відкинуто, а значення *\\*bytes* " +"буде встановлено на ``NULL``; буде встановлено відповідний виняток." + +msgid "" +"Create a new bytes object in *\\*bytes* containing the contents of *newpart* " +"appended to *bytes*. This version decrements the reference count of " +"*newpart*." +msgstr "" +"Створіть новий об’єкт bytes у *\\*bytes*, що містить вміст *newpart*, " +"доданий до *bytes*. Ця версія зменшує кількість посилань *newpart*." + +msgid "" +"A way to resize a bytes object even though it is \"immutable\". Only use " +"this to build up a brand new bytes object; don't use this if the bytes may " +"already be known in other parts of the code. It is an error to call this " +"function if the refcount on the input bytes object is not one. Pass the " +"address of an existing bytes object as an lvalue (it may be written into), " +"and the new size desired. On success, *\\*bytes* holds the resized bytes " +"object and ``0`` is returned; the address in *\\*bytes* may differ from its " +"input value. If the reallocation fails, the original bytes object at *" +"\\*bytes* is deallocated, *\\*bytes* is set to ``NULL``, :exc:`MemoryError` " +"is set, and ``-1`` is returned." +msgstr "" +"Спосіб змінити розмір об'єкта bytes, навіть якщо він \"незмінний\". " +"Використовуйте це лише для створення абсолютно нового об’єкта bytes; не " +"використовуйте це, якщо байти можуть бути вже відомі в інших частинах коду. " +"Виклик цієї функції буде помилковим, якщо refcount для об’єкта вхідних " +"байтів не один. Передайте адресу існуючого об’єкта bytes як lvalue (його " +"можна записати) і новий бажаний розмір. У разі успіху *\\*bytes* містить " +"змінений об’єкт байтів і повертає ``0``; адреса в *\\*байтах* може " +"відрізнятися від введеного значення. Якщо перерозподіл не вдається, вихідний " +"об’єкт bytes у *\\*bytes* звільняється, *\\*bytes* встановлюється на " +"``NULL``, встановлюється :exc:`MemoryError` і повертається ``-1`` ." diff --git a/c-api/call.po b/c-api/call.po new file mode 100644 index 000000000..f1656c773 --- /dev/null +++ b/c-api/call.po @@ -0,0 +1,600 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Call Protocol" +msgstr "Протокол виклику" + +msgid "" +"CPython supports two different calling protocols: *tp_call* and vectorcall." +msgstr "CPython підтримує два різні протоколи виклику: *tp_call* і vectorcall." + +msgid "The *tp_call* Protocol" +msgstr "Протокол *tp_call*" + +msgid "" +"Instances of classes that set :c:member:`~PyTypeObject.tp_call` are " +"callable. The signature of the slot is::" +msgstr "" +"Примірники класів, які встановлюють :c:member:`~PyTypeObject.tp_call`, можна " +"викликати. Сигнатура слота:" + +msgid "" +"A call is made using a tuple for the positional arguments and a dict for the " +"keyword arguments, similarly to ``callable(*args, **kwargs)`` in Python " +"code. *args* must be non-NULL (use an empty tuple if there are no arguments) " +"but *kwargs* may be *NULL* if there are no keyword arguments." +msgstr "" +"Виклик здійснюється за допомогою кортежу для позиційних аргументів і dict " +"для ключових аргументів, подібно до ``callable(*args, **kwargs)`` у коді " +"Python. *args* не має бути NULL (використовуйте порожній кортеж, якщо немає " +"аргументів), але *kwargs* може мати значення *NULL*, якщо немає ключових " +"аргументів." + +msgid "" +"This convention is not only used by *tp_call*: :c:member:`~PyTypeObject." +"tp_new` and :c:member:`~PyTypeObject.tp_init` also pass arguments this way." +msgstr "" +"Ця угода використовується не лише *tp_call*: :c:member:`~PyTypeObject." +"tp_new` і :c:member:`~PyTypeObject.tp_init` також передають аргументи таким " +"чином." + +msgid "" +"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API " +"`." +msgstr "" +"Щоб викликати об’єкт, використовуйте :c:func:`PyObject_Call` або інший :ref:" +"`API виклику `." + +msgid "The Vectorcall Protocol" +msgstr "Протокол Vectorcall" + +msgid "" +"The vectorcall protocol was introduced in :pep:`590` as an additional " +"protocol for making calls more efficient." +msgstr "" +"Протокол vectorcall був представлений у :pep:`590` як додатковий протокол " +"для підвищення ефективності викликів." + +msgid "" +"As rule of thumb, CPython will prefer the vectorcall for internal calls if " +"the callable supports it. However, this is not a hard rule. Additionally, " +"some third-party extensions use *tp_call* directly (rather than using :c:" +"func:`PyObject_Call`). Therefore, a class supporting vectorcall must also " +"implement :c:member:`~PyTypeObject.tp_call`. Moreover, the callable must " +"behave the same regardless of which protocol is used. The recommended way to " +"achieve this is by setting :c:member:`~PyTypeObject.tp_call` to :c:func:" +"`PyVectorcall_Call`. This bears repeating:" +msgstr "" +"Як правило, CPython віддасть перевагу vectorcall для внутрішніх викликів, " +"якщо виклик підтримує його. Однак це не жорстке правило. Крім того, деякі " +"сторонні розширення використовують безпосередньо *tp_call* (замість " +"використання :c:func:`PyObject_Call`). Таким чином, клас, який підтримує " +"векторний виклик, також повинен реалізовувати :c:member:`~PyTypeObject." +"tp_call`. Крім того, виклик має вести себе однаково незалежно від того, який " +"протокол використовується. Рекомендований спосіб досягти цього — встановити :" +"c:member:`~PyTypeObject.tp_call` на :c:func:`PyVectorcall_Call`. Варто " +"повторити:" + +msgid "" +"A class supporting vectorcall **must** also implement :c:member:" +"`~PyTypeObject.tp_call` with the same semantics." +msgstr "" +"Клас, що підтримує векторний виклик, **повинен** також реалізувати :c:member:" +"`~PyTypeObject.tp_call` з тією самою семантикою." + +msgid "" +"A class should not implement vectorcall if that would be slower than " +"*tp_call*. For example, if the callee needs to convert the arguments to an " +"args tuple and kwargs dict anyway, then there is no point in implementing " +"vectorcall." +msgstr "" +"Клас не повинен реалізовувати vectorcall, якщо це буде повільніше, ніж " +"*tp_call*. Наприклад, якщо викликаному потрібно перетворити аргументи на " +"кортеж args і kwargs dict у будь-якому випадку, тоді немає сенсу в " +"реалізації vectorcall." + +msgid "" +"Classes can implement the vectorcall protocol by enabling the :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` flag and setting :c:member:`~PyTypeObject." +"tp_vectorcall_offset` to the offset inside the object structure where a " +"*vectorcallfunc* appears. This is a pointer to a function with the following " +"signature:" +msgstr "" +"Класи можуть реалізувати протокол vectorcall, увімкнувши прапорець :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` і встановивши :c:member:`~PyTypeObject." +"tp_vectorcall_offset` на зміщення всередині структури об’єкта, де " +"з’являється *vectorcallfunc*. Це вказівник на функцію з такою сигнатурою:" + +msgid "*callable* is the object being called." +msgstr "*callable* — об’єкт, який викликається." + +msgid "" +"*args* is a C array consisting of the positional arguments followed by the" +msgstr "" +"*args* — це масив C, що складається з позиційних аргументів, за якими йде" + +msgid "" +"values of the keyword arguments. This can be *NULL* if there are no " +"arguments." +msgstr "" +"значення аргументів ключових слів. Це може бути *NULL*, якщо немає " +"аргументів." + +msgid "*nargsf* is the number of positional arguments plus possibly the" +msgstr "*nargsf* — це кількість позиційних аргументів плюс, можливо," + +msgid "" +":const:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of " +"positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`." +msgstr "" +":const:`PY_VECTORCALL_ARGUMENTS_OFFSET` прапор. Щоб отримати фактичну " +"кількість позиційних аргументів від *nargsf*, використовуйте :c:func:" +"`PyVectorcall_NARGS`." + +msgid "*kwnames* is a tuple containing the names of the keyword arguments;" +msgstr "*kwnames* — це кортеж, що містить імена аргументів ключових слів;" + +msgid "" +"in other words, the keys of the kwargs dict. These names must be strings " +"(instances of ``str`` or a subclass) and they must be unique. If there are " +"no keyword arguments, then *kwnames* can instead be *NULL*." +msgstr "" +"іншими словами, ключі kwargs dict. Ці імена мають бути рядками (примірниками " +"``str`` або підкласом) і вони мають бути унікальними. Якщо аргументів " +"ключового слова немає, замість цього *kwnames* може бути *NULL*." + +msgid "" +"If this flag is set in a vectorcall *nargsf* argument, the callee is allowed " +"to temporarily change ``args[-1]``. In other words, *args* points to " +"argument 1 (not 0) in the allocated vector. The callee must restore the " +"value of ``args[-1]`` before returning." +msgstr "" +"Якщо цей прапор встановлено в аргументі *nargsf* векторного виклику, " +"викликаному дозволено тимчасово змінювати ``args[-1]``. Іншими словами, " +"*args* вказує на аргумент 1 (а не 0) у виділеному векторі. Викликаний має " +"відновити значення ``args[-1]`` перед поверненням." + +msgid "" +"For :c:func:`PyObject_VectorcallMethod`, this flag means instead that " +"``args[0]`` may be changed." +msgstr "" +"Для :c:func:`PyObject_VectorcallMethod` цей прапорець натомість означає, що " +"``args[0]`` можна змінити." + +msgid "" +"Whenever they can do so cheaply (without additional allocation), callers are " +"encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will " +"allow callables such as bound methods to make their onward calls (which " +"include a prepended *self* argument) very efficiently." +msgstr "" +"Якщо вони можуть зробити це дешево (без додаткового розподілу), абонентам " +"рекомендується використовувати :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Це " +"дозволить викликаним, таким як зв’язані методи, здійснювати свої подальші " +"виклики (які включають доданий аргумент *self*) дуже ефективно." + +msgid "" +"To call an object that implements vectorcall, use a :ref:`call API ` function as with any other callable. :c:func:`PyObject_Vectorcall` " +"will usually be most efficient." +msgstr "" +"Щоб викликати об’єкт, який реалізує vectorcall, скористайтеся :ref:`call API " +"` функцією, як і будь-якою іншою можливістю виклику. :c:func:" +"`PyObject_Vectorcall` зазвичай буде найефективнішим." + +msgid "" +"In CPython 3.8, the vectorcall API and related functions were available " +"provisionally under names with a leading underscore: " +"``_PyObject_Vectorcall``, ``_Py_TPFLAGS_HAVE_VECTORCALL``, " +"``_PyObject_VectorcallMethod``, ``_PyVectorcall_Function``, " +"``_PyObject_CallOneArg``, ``_PyObject_CallMethodNoArgs``, " +"``_PyObject_CallMethodOneArg``. Additionally, ``PyObject_VectorcallDict`` " +"was available as ``_PyObject_FastCallDict``. The old names are still defined " +"as aliases of the new, non-underscored names." +msgstr "" +"У CPython 3.8 API vectorcall і пов’язані функції були тимчасово доступні під " +"іменами з підкресленням на початку: ``_PyObject_Vectorcall``, " +"``_Py_TPFLAGS_HAVE_VECTORCALL``, ``_PyObject_VectorcallMethod``, " +"``_PyVectorcall_Function``, ``_PyObject_CallOneArg``, " +"``_PyObject_CallMethodNoArgs``, ``_PyObject_CallMethodOneArg``. Крім того, " +"``PyObject_VectorcallDict`` був доступний як ``_PyObject_FastCallDict``. " +"Старі імена все ще визначаються як псевдоніми нових імен без підкреслень." + +msgid "Recursion Control" +msgstr "Контроль рекурсії" + +msgid "" +"When using *tp_call*, callees do not need to worry about :ref:`recursion " +"`: CPython uses :c:func:`Py_EnterRecursiveCall` and :c:func:" +"`Py_LeaveRecursiveCall` for calls made using *tp_call*." +msgstr "" +"Під час використання *tp_call* абонентам не потрібно турбуватися про :ref:" +"`recursion `: CPython використовує :c:func:" +"`Py_EnterRecursiveCall` і :c:func:`Py_LeaveRecursiveCall` для викликів, " +"здійснених за допомогою *tp_call*." + +msgid "" +"For efficiency, this is not the case for calls done using vectorcall: the " +"callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if " +"needed." +msgstr "" +"Для ефективності це не стосується викликів, виконаних за допомогою " +"vectorcall: виклик має використовувати *Py_EnterRecursiveCall* і " +"*Py_LeaveRecursiveCall*, якщо це необхідно." + +msgid "Vectorcall Support API" +msgstr "API підтримки Vectorcall" + +msgid "" +"Given a vectorcall *nargsf* argument, return the actual number of arguments. " +"Currently equivalent to::" +msgstr "" +"За наявності аргументу *nargsf* для векторного виклику повертає фактичну " +"кількість аргументів. На даний момент еквівалентно::" + +msgid "" +"However, the function ``PyVectorcall_NARGS`` should be used to allow for " +"future extensions." +msgstr "" +"Проте, функція ``PyVectorcall_NARGS`` повинна використовуватися, щоб " +"дозволити майбутні розширення." + +msgid "" +"If *op* does not support the vectorcall protocol (either because the type " +"does not or because the specific instance does not), return *NULL*. " +"Otherwise, return the vectorcall function pointer stored in *op*. This " +"function never raises an exception." +msgstr "" +"Якщо *op* не підтримує протокол vectorcall (або тому, що тип не підтримує, " +"або тому, що конкретний екземпляр не підтримує), повертає *NULL*. В іншому " +"випадку поверніть покажчик функції vectorcall, що зберігається в *op*. Ця " +"функція ніколи не викликає винятків." + +msgid "" +"This is mostly useful to check whether or not *op* supports vectorcall, " +"which can be done by checking ``PyVectorcall_Function(op) != NULL``." +msgstr "" +"Це здебільшого корисно, щоб перевірити, чи *op* підтримує векторний виклик, " +"що можна зробити, перевіривши ``PyVectorcall_Function(op) != NULL``." + +msgid "" +"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " +"arguments given in a tuple and dict, respectively." +msgstr "" +"Викликати *callable* :c:type:`vectorcallfunc` з позиційними та ключовими " +"аргументами, заданими у кортежі та dict відповідно." + +msgid "" +"This is a specialized function, intended to be put in the :c:member:" +"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. " +"It does not check the :const:`Py_TPFLAGS_HAVE_VECTORCALL` flag and it does " +"not fall back to ``tp_call``." +msgstr "" +"Це спеціалізована функція, призначена для розміщення в слоті :c:member:" +"`~PyTypeObject.tp_call` або для використання в реалізації ``tp_call``. Він " +"не перевіряє прапор :const:`Py_TPFLAGS_HAVE_VECTORCALL` і не повертається до " +"``tp_call``." + +msgid "Object Calling API" +msgstr "API виклику об’єктів" + +msgid "" +"Various functions are available for calling a Python object. Each converts " +"its arguments to a convention supported by the called object – either " +"*tp_call* or vectorcall. In order to do as little conversion as possible, " +"pick one that best fits the format of data you have available." +msgstr "" +"Для виклику об’єкта Python доступні різні функції. Кожен перетворює свої " +"аргументи на конвенцію, яка підтримується викликаним об’єктом – *tp_call* " +"або vectorcall. Щоб зробити якомога менше перетворення, виберіть той, який " +"найкраще відповідає формату доступних даних." + +msgid "" +"The following table summarizes the available functions; please see " +"individual documentation for details." +msgstr "" +"У наведеній нижче таблиці підсумовано доступні функції; подробиці див. в " +"індивідуальній документації." + +msgid "Function" +msgstr "функція" + +msgid "callable" +msgstr "викликний" + +msgid "args" +msgstr "арг" + +msgid "kwargs" +msgstr "kwargs" + +msgid ":c:func:`PyObject_Call`" +msgstr ":c:func:`PyObject_Call`" + +msgid "``PyObject *``" +msgstr "``PyObject *``" + +msgid "tuple" +msgstr "кортеж" + +msgid "dict/``NULL``" +msgstr "dict/``NULL``" + +msgid ":c:func:`PyObject_CallNoArgs`" +msgstr ":c:func:`PyObject_CallNoArgs`" + +msgid "---" +msgstr "---" + +msgid ":c:func:`PyObject_CallOneArg`" +msgstr ":c:func:`PyObject_CallOneArg`" + +msgid "1 object" +msgstr "1 об'єкт" + +msgid ":c:func:`PyObject_CallObject`" +msgstr ":c:func:`PyObject_CallObject`" + +msgid "tuple/``NULL``" +msgstr "кортеж/``NULL``" + +msgid ":c:func:`PyObject_CallFunction`" +msgstr ":c:func:`PyObject_CallFunction`" + +msgid "format" +msgstr "формат" + +msgid ":c:func:`PyObject_CallMethod`" +msgstr ":c:func:`PyObject_CallMethod`" + +msgid "obj + ``char*``" +msgstr "obj + ``char*``" + +msgid ":c:func:`PyObject_CallFunctionObjArgs`" +msgstr ":c:func:`PyObject_CallFunctionObjArgs`" + +msgid "variadic" +msgstr "варіативний" + +msgid ":c:func:`PyObject_CallMethodObjArgs`" +msgstr ":c:func:`PyObject_CallMethodObjArgs`" + +msgid "obj + name" +msgstr "obj + ім'я" + +msgid ":c:func:`PyObject_CallMethodNoArgs`" +msgstr ":c:func:`PyObject_CallMethodNoArgs`" + +msgid ":c:func:`PyObject_CallMethodOneArg`" +msgstr ":c:func:`PyObject_CallMethodOneArg`" + +msgid ":c:func:`PyObject_Vectorcall`" +msgstr ":c:func:`PyObject_Vectorcall`" + +msgid "vectorcall" +msgstr "векторний виклик" + +msgid ":c:func:`PyObject_VectorcallDict`" +msgstr ":c:func:`PyObject_VectorcallDict`" + +msgid ":c:func:`PyObject_VectorcallMethod`" +msgstr ":c:func:`PyObject_VectorcallMethod`" + +msgid "arg + name" +msgstr "аргумент + ім'я" + +msgid "" +"Call a callable Python object *callable*, with arguments given by the tuple " +"*args*, and named arguments given by the dictionary *kwargs*." +msgstr "" +"Викликайте викликний об’єкт Python *callable* з аргументами, заданими " +"кортежем *args*, і іменованими аргументами, заданими словником *kwargs*." + +msgid "" +"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If " +"no named arguments are needed, *kwargs* can be *NULL*." +msgstr "" +"*args* не має бути *NULL*; використовуйте порожній кортеж, якщо аргументи не " +"потрібні. Якщо іменовані аргументи не потрібні, *kwargs* може бути *NULL*." + +msgid "" +"Return the result of the call on success, or raise an exception and return " +"*NULL* on failure." +msgstr "" +"Повернути результат виклику в разі успіху або створити виняток і повернути " +"*NULL* у разі невдачі." + +msgid "" +"This is the equivalent of the Python expression: ``callable(*args, " +"**kwargs)``." +msgstr "Це еквівалент виразу Python: ``callable(*args, **kwargs)``." + +msgid "" +"Call a callable Python object *callable* without any arguments. It is the " +"most efficient way to call a callable Python object without any argument." +msgstr "" +"Викликати об'єкт Python, який можна викликати, *callable* без аргументів. Це " +"найефективніший спосіб викликати викликаний об’єкт Python без будь-яких " +"аргументів." + +msgid "" +"Call a callable Python object *callable* with exactly 1 positional argument " +"*arg* and no keyword arguments." +msgstr "" +"Викликайте об’єкт Python, який можна викликати, *callable*, точно 1 " +"позиційний аргумент *arg* і без ключових аргументів." + +msgid "" +"Call a callable Python object *callable*, with arguments given by the tuple " +"*args*. If no arguments are needed, then *args* can be *NULL*." +msgstr "" +"Викликайте викликний об’єкт Python *callable* з аргументами, заданими " +"кортежем *args*. Якщо аргументи не потрібні, *args* може бути *NULL*." + +msgid "This is the equivalent of the Python expression: ``callable(*args)``." +msgstr "Це еквівалент виразу Python: ``callable(*args)``." + +msgid "" +"Call a callable Python object *callable*, with a variable number of C " +"arguments. The C arguments are described using a :c:func:`Py_BuildValue` " +"style format string. The format can be *NULL*, indicating that no arguments " +"are provided." +msgstr "" +"Викликайте об'єкт Python, який можна викликати, *callable*, зі змінною " +"кількістю аргументів C. Аргументи C описані за допомогою рядка формату " +"стилю :c:func:`Py_BuildValue`. Формат може бути *NULL*, що вказує на " +"відсутність аргументів." + +msgid "" +"Note that if you only pass :c:expr:`PyObject *` args, :c:func:" +"`PyObject_CallFunctionObjArgs` is a faster alternative." +msgstr "" + +msgid "The type of *format* was changed from ``char *``." +msgstr "Тип *format* було змінено з ``char *``." + +msgid "" +"Call the method named *name* of object *obj* with a variable number of C " +"arguments. The C arguments are described by a :c:func:`Py_BuildValue` " +"format string that should produce a tuple." +msgstr "" +"Викличте метод з назвою *name* об’єкта *obj* зі змінною кількістю аргументів " +"C. Аргументи C описуються рядком формату :c:func:`Py_BuildValue`, який має " +"створити кортеж." + +msgid "The format can be *NULL*, indicating that no arguments are provided." +msgstr "Формат може бути *NULL*, що вказує на відсутність аргументів." + +msgid "" +"This is the equivalent of the Python expression: ``obj.name(arg1, " +"arg2, ...)``." +msgstr "Це еквівалент виразу Python: ``obj.name(arg1, arg2, ...)``." + +msgid "" +"Note that if you only pass :c:expr:`PyObject *` args, :c:func:" +"`PyObject_CallMethodObjArgs` is a faster alternative." +msgstr "" + +msgid "The types of *name* and *format* were changed from ``char *``." +msgstr "Типи *name* і *format* були змінені з ``char *``." + +msgid "" +"Call a callable Python object *callable*, with a variable number of :c:expr:" +"`PyObject *` arguments. The arguments are provided as a variable number of " +"parameters followed by *NULL*." +msgstr "" + +msgid "" +"This is the equivalent of the Python expression: ``callable(arg1, " +"arg2, ...)``." +msgstr "Це еквівалент виразу Python: ``callable(arg1, arg2, ...)``." + +msgid "" +"Call a method of the Python object *obj*, where the name of the method is " +"given as a Python string object in *name*. It is called with a variable " +"number of :c:expr:`PyObject *` arguments. The arguments are provided as a " +"variable number of parameters followed by *NULL*." +msgstr "" + +msgid "" +"Call a method of the Python object *obj* without arguments, where the name " +"of the method is given as a Python string object in *name*." +msgstr "" +"Виклик методу об’єкта Python *obj* без аргументів, де ім’я методу вказано як " +"рядковий об’єкт Python у *name*." + +msgid "" +"Call a method of the Python object *obj* with a single positional argument " +"*arg*, where the name of the method is given as a Python string object in " +"*name*." +msgstr "" +"Викличте метод об’єкта Python *obj* за допомогою одного позиційного " +"аргументу *arg*, де ім’я методу вказано як рядковий об’єкт Python у *name*." + +msgid "" +"Call a callable Python object *callable*. The arguments are the same as for :" +"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly " +"calls the vectorcall function stored in *callable*." +msgstr "" +"Викликайте викликаний об'єкт Python *callable*. Аргументи такі самі, як і " +"для :c:type:`vectorcallfunc`. Якщо *callable* підтримує vectorcall_, це " +"безпосередньо викликає функцію vectorcall, збережену в *callable*." + +msgid "" +"Call *callable* with positional arguments passed exactly as in the " +"vectorcall_ protocol, but with keyword arguments passed as a dictionary " +"*kwdict*. The *args* array contains only the positional arguments." +msgstr "" +"Виклик *callable* з позиційними аргументами, що передаються точно так само, " +"як у протоколі vectorcall_, але з ключовими аргументами, що передаються як " +"словник *kwdict*. Масив *args* містить лише позиційні аргументи." + +msgid "" +"Regardless of which protocol is used internally, a conversion of arguments " +"needs to be done. Therefore, this function should only be used if the caller " +"already has a dictionary ready to use for the keyword arguments, but not a " +"tuple for the positional arguments." +msgstr "" +"Незалежно від того, який протокол використовується внутрішньо, необхідно " +"виконати перетворення аргументів. Таким чином, цю функцію слід " +"використовувати, лише якщо у абонента вже є словник, готовий до використання " +"для ключових аргументів, але не кортеж для позиційних аргументів." + +msgid "" +"Call a method using the vectorcall calling convention. The name of the " +"method is given as a Python string *name*. The object whose method is called " +"is *args[0]*, and the *args* array starting at *args[1]* represents the " +"arguments of the call. There must be at least one positional argument. " +"*nargsf* is the number of positional arguments including *args[0]*, plus :" +"const:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may " +"temporarily be changed. Keyword arguments can be passed just like in :c:func:" +"`PyObject_Vectorcall`." +msgstr "" +"Викликайте метод за допомогою угоди про виклики vectorcall. Ім’я методу " +"задається як *ім’я* рядка Python. Об’єкт, метод якого викликається, — це " +"*args[0]*, а масив *args*, починаючи з *args[1]*, представляє аргументи " +"виклику. Має бути хоча б один позиційний аргумент. *nargsf* — це кількість " +"позиційних аргументів, включаючи *args[0]*, плюс :const:" +"`PY_VECTORCALL_ARGUMENTS_OFFSET`, якщо значення ``args[0]`` може бути " +"тимчасово змінено. Аргументи ключових слів можна передавати так само, як у :" +"c:func:`PyObject_Vectorcall`." + +msgid "" +"If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " +"will call the unbound method object with the full *args* vector as arguments." +msgstr "" +"Якщо об’єкт має функцію :const:`Py_TPFLAGS_METHOD_DESCRIPTOR`, це викличе " +"об’єкт незв’язаного методу з повним вектором *args* як аргументи." + +msgid "Call Support API" +msgstr "API виклику служби підтримки" + +msgid "" +"Determine if the object *o* is callable. Return ``1`` if the object is " +"callable and ``0`` otherwise. This function always succeeds." +msgstr "" +"Визначте, чи можна викликати об’єкт *o*. Повертає ``1``, якщо об’єкт можна " +"викликати, і ``0`` інакше. Ця функція завжди успішна." diff --git a/c-api/capsule.po b/c-api/capsule.po new file mode 100644 index 000000000..b60964da2 --- /dev/null +++ b/c-api/capsule.po @@ -0,0 +1,236 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Capsules" +msgstr "Капсули" + +msgid "" +"Refer to :ref:`using-capsules` for more information on using these objects." +msgstr "" +"Зверніться до :ref:`using-capsules` для отримання додаткової інформації про " +"використання цих об’єктів." + +msgid "" +"This subtype of :c:type:`PyObject` represents an opaque value, useful for C " +"extension modules who need to pass an opaque value (as a :c:expr:`void*` " +"pointer) through Python code to other C code. It is often used to make a C " +"function pointer defined in one module available to other modules, so the " +"regular import mechanism can be used to access C APIs defined in dynamically " +"loaded modules." +msgstr "" + +msgid "The type of a destructor callback for a capsule. Defined as::" +msgstr "Тип зворотного виклику деструктора для капсули. Визначається як::" + +msgid "" +"See :c:func:`PyCapsule_New` for the semantics of PyCapsule_Destructor " +"callbacks." +msgstr "" +"Перегляньте :c:func:`PyCapsule_New` для семантики зворотних викликів " +"PyCapsule_Destructor." + +msgid "" +"Return true if its argument is a :c:type:`PyCapsule`. This function always " +"succeeds." +msgstr "" +"Повертає true, якщо його аргумент :c:type:`PyCapsule`. Ця функція завжди " +"успішна." + +msgid "" +"Create a :c:type:`PyCapsule` encapsulating the *pointer*. The *pointer* " +"argument may not be ``NULL``." +msgstr "" +"Створіть :c:type:`PyCapsule`, що інкапсулює *вказівник*. Аргумент *покажчик* " +"не може бути ``NULL``." + +msgid "On failure, set an exception and return ``NULL``." +msgstr "У разі помилки встановіть виняток і поверніть ``NULL``." + +msgid "" +"The *name* string may either be ``NULL`` or a pointer to a valid C string. " +"If non-``NULL``, this string must outlive the capsule. (Though it is " +"permitted to free it inside the *destructor*.)" +msgstr "" +"Рядок *name* може бути ``NULL`` або вказівником на дійсний рядок C. Якщо " +"значення не NULL, цей рядок має пережити капсулу. (Хоча його можна звільнити " +"всередині *деструктора*.)" + +msgid "" +"If the *destructor* argument is not ``NULL``, it will be called with the " +"capsule as its argument when it is destroyed." +msgstr "" +"Якщо аргумент *destructor* не дорівнює ``NULL``, він буде викликаний з " +"капсулою як аргументом під час її знищення." + +msgid "" +"If this capsule will be stored as an attribute of a module, the *name* " +"should be specified as ``modulename.attributename``. This will enable other " +"modules to import the capsule using :c:func:`PyCapsule_Import`." +msgstr "" +"Якщо ця капсула зберігатиметься як атрибут модуля, *ім’я* слід вказати як " +"``modulename.attributename``. Це дозволить іншим модулям імпортувати капсулу " +"за допомогою :c:func:`PyCapsule_Import`." + +msgid "" +"Retrieve the *pointer* stored in the capsule. On failure, set an exception " +"and return ``NULL``." +msgstr "" +"Отримайте *вказівник*, що зберігається в капсулі. У разі помилки встановіть " +"виняток і поверніть ``NULL``." + +msgid "" +"The *name* parameter must compare exactly to the name stored in the capsule. " +"If the name stored in the capsule is ``NULL``, the *name* passed in must " +"also be ``NULL``. Python uses the C function :c:func:`strcmp` to compare " +"capsule names." +msgstr "" +"Параметр *name* має точно відповідати імені, яке зберігається в капсулі. " +"Якщо ім’я, що зберігається в капсулі, має значення ``NULL``, передане *ім’я* " +"також має бути ``NULL``. Python використовує функцію C :c:func:`strcmp` для " +"порівняння назв капсул." + +msgid "" +"Return the current destructor stored in the capsule. On failure, set an " +"exception and return ``NULL``." +msgstr "" +"Повертає поточний деструктор, що зберігається в капсулі. У разі помилки " +"встановіть виняток і поверніть ``NULL``." + +msgid "" +"It is legal for a capsule to have a ``NULL`` destructor. This makes a " +"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :" +"c:func:`PyErr_Occurred` to disambiguate." +msgstr "" +"Для капсули допустимо мати деструктор ``NULL``. Це робить код повернення " +"``NULL`` дещо неоднозначним; використовуйте :c:func:`PyCapsule_IsValid` або :" +"c:func:`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Return the current context stored in the capsule. On failure, set an " +"exception and return ``NULL``." +msgstr "" +"Повертає поточний контекст, що зберігається в капсулі. У разі помилки " +"встановіть виняток і поверніть ``NULL``." + +msgid "" +"It is legal for a capsule to have a ``NULL`` context. This makes a ``NULL`` " +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" +"`PyErr_Occurred` to disambiguate." +msgstr "" +"Для капсули допустимо мати контекст ``NULL``. Це робить код повернення " +"``NULL`` дещо неоднозначним; використовуйте :c:func:`PyCapsule_IsValid` або :" +"c:func:`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Return the current name stored in the capsule. On failure, set an exception " +"and return ``NULL``." +msgstr "" +"Повернути поточну назву, збережену в капсулі. У разі помилки встановіть " +"виняток і поверніть ``NULL``." + +msgid "" +"It is legal for a capsule to have a ``NULL`` name. This makes a ``NULL`` " +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" +"`PyErr_Occurred` to disambiguate." +msgstr "" +"Для капсули є законним ім’я ``NULL``. Це робить код повернення ``NULL`` дещо " +"неоднозначним; використовуйте :c:func:`PyCapsule_IsValid` або :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Import a pointer to a C object from a capsule attribute in a module. The " +"*name* parameter should specify the full name to the attribute, as in " +"``module.attribute``. The *name* stored in the capsule must match this " +"string exactly." +msgstr "" + +msgid "" +"Return the capsule's internal *pointer* on success. On failure, set an " +"exception and return ``NULL``." +msgstr "" +"Поверніть внутрішній *покажчик* капсули в разі успіху. У разі помилки " +"встановіть виняток і поверніть ``NULL``." + +msgid "*no_block* has no effect anymore." +msgstr "" + +msgid "" +"Determines whether or not *capsule* is a valid capsule. A valid capsule is " +"non-``NULL``, passes :c:func:`PyCapsule_CheckExact`, has a non-``NULL`` " +"pointer stored in it, and its internal name matches the *name* parameter. " +"(See :c:func:`PyCapsule_GetPointer` for information on how capsule names are " +"compared.)" +msgstr "" +"Визначає, чи є *capsule* дійсною капсулою. Дійсна капсула не є ``NULL``, " +"передає :c:func:`PyCapsule_CheckExact`, має збережений вказівник не " +"``NULL``, а її внутрішнє ім’я збігається з параметром *name*. (Див. :c:func:" +"`PyCapsule_GetPointer` для отримання інформації про те, як порівнюються " +"назви капсул.)" + +msgid "" +"In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " +"to any of the accessors (any function starting with :c:func:`PyCapsule_Get`) " +"are guaranteed to succeed." +msgstr "" +"Іншими словами, якщо :c:func:`PyCapsule_IsValid` повертає справжнє значення, " +"виклики будь-якого з інструментів доступу (будь-яка функція, що починається " +"з :c:func:`PyCapsule_Get`) гарантовано будуть успішними." + +msgid "" +"Return a nonzero value if the object is valid and matches the name passed " +"in. Return ``0`` otherwise. This function will not fail." +msgstr "" +"Повертає ненульове значення, якщо об’єкт дійсний і відповідає переданому " +"імені. В іншому випадку повертає ``0``. Ця функція не дасть збою." + +msgid "Set the context pointer inside *capsule* to *context*." +msgstr "Встановіть покажчик контексту всередині *capsule* на *context*." + +msgid "" +"Return ``0`` on success. Return nonzero and set an exception on failure." +msgstr "" +"У разі успіху повертає ``0``. Повертає ненульове значення та встановлює " +"виняток у разі помилки." + +msgid "Set the destructor inside *capsule* to *destructor*." +msgstr "Встановіть для деструктора всередині *capsule* значення *destructor*." + +msgid "" +"Set the name inside *capsule* to *name*. If non-``NULL``, the name must " +"outlive the capsule. If the previous *name* stored in the capsule was not " +"``NULL``, no attempt is made to free it." +msgstr "" +"Встановіть назву всередині *capsule* на *name*. Якщо значення не NULL, ім’я " +"має пережити капсулу. Якщо попереднє *ім’я*, збережене в капсулі, не було " +"``NULL``, спроба звільнити його не робиться." + +msgid "" +"Set the void pointer inside *capsule* to *pointer*. The pointer may not be " +"``NULL``." +msgstr "" +"Встановіть вказівник пустоти всередині *capsule* на *pointer*. Покажчик не " +"може бути ``NULL``." diff --git a/c-api/cell.po b/c-api/cell.po new file mode 100644 index 000000000..1d01d5540 --- /dev/null +++ b/c-api/cell.po @@ -0,0 +1,99 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Cell Objects" +msgstr "Об'єкти клітинки" + +msgid "" +"\"Cell\" objects are used to implement variables referenced by multiple " +"scopes. For each such variable, a cell object is created to store the value; " +"the local variables of each stack frame that references the value contains a " +"reference to the cells from outer scopes which also use that variable. When " +"the value is accessed, the value contained in the cell is used instead of " +"the cell object itself. This de-referencing of the cell object requires " +"support from the generated byte-code; these are not automatically de-" +"referenced when accessed. Cell objects are not likely to be useful elsewhere." +msgstr "" +"Об’єкти \"Cell\" використовуються для реалізації змінних, на які посилаються " +"кілька областей. Для кожної такої змінної створюється об’єкт комірки для " +"зберігання значення; локальні змінні кожного фрейму стека, який посилається " +"на значення, містять посилання на клітинки із зовнішніх областей, які також " +"використовують цю змінну. Коли здійснюється доступ до значення, значення, що " +"міститься в комірці, використовується замість самого об’єкта комірки. Це " +"депосилання об'єкта комірки вимагає підтримки згенерованого байт-коду; вони " +"не знімаються автоматично під час доступу. Об’єкти клітинок навряд чи " +"знадобляться в інших місцях." + +msgid "The C structure used for cell objects." +msgstr "Структура C, яка використовується для об’єктів клітинки." + +msgid "The type object corresponding to cell objects." +msgstr "Об’єкт типу, що відповідає об’єктам комірки." + +msgid "" +"Return true if *ob* is a cell object; *ob* must not be ``NULL``. This " +"function always succeeds." +msgstr "" +"Повертає true, якщо *ob* є об’єктом клітинки; *ob* не має бути ``NULL``. Ця " +"функція завжди успішна." + +msgid "" +"Create and return a new cell object containing the value *ob*. The parameter " +"may be ``NULL``." +msgstr "" +"Створіть і поверніть новий об’єкт клітинки, що містить значення *ob*. " +"Параметр може бути ``NULL``." + +msgid "Return the contents of the cell *cell*." +msgstr "Повернути вміст комірки *cell*." + +msgid "" +"Return the contents of the cell *cell*, but without checking that *cell* is " +"non-``NULL`` and a cell object." +msgstr "" +"Повертає вміст комірки *cell*, але без перевірки того, що *cell* не є " +"``NULL`` і є об’єктом комірки." + +msgid "" +"Set the contents of the cell object *cell* to *value*. This releases the " +"reference to any current content of the cell. *value* may be ``NULL``. " +"*cell* must be non-``NULL``; if it is not a cell object, ``-1`` will be " +"returned. On success, ``0`` will be returned." +msgstr "" +"Встановіть для вмісту об’єкта комірки *cell* значення *value*. Це звільняє " +"посилання на будь-який поточний вміст комірки. *значення* може бути " +"``NULL``. *комірка* не має бути ``NULL``; якщо це не об’єкт комірки, буде " +"повернено ``-1``. У разі успіху буде повернено ``0``." + +msgid "" +"Sets the value of the cell object *cell* to *value*. No reference counts " +"are adjusted, and no checks are made for safety; *cell* must be non-``NULL`` " +"and must be a cell object." +msgstr "" +"Встановлює для об’єкта клітинки *cell* значення *value*. Підрахунок посилань " +"не коригується, і перевірки безпеки не проводяться; *cell* не має бути " +"``NULL`` і має бути об’єктом клітинки." diff --git a/c-api/code.po b/c-api/code.po new file mode 100644 index 000000000..3d0731b11 --- /dev/null +++ b/c-api/code.po @@ -0,0 +1,139 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Code Objects" +msgstr "Об'єкти коду" + +msgid "" +"Code objects are a low-level detail of the CPython implementation. Each one " +"represents a chunk of executable code that hasn't yet been bound into a " +"function." +msgstr "" +"Об’єкти коду є низькорівневими деталями реалізації CPython. Кожен з них " +"представляє фрагмент виконуваного коду, який ще не прив’язано до функції." + +msgid "" +"The C structure of the objects used to describe code objects. The fields of " +"this type are subject to change at any time." +msgstr "" +"Структура C об’єктів, яка використовується для опису об’єктів коду. Поля " +"цього типу можуть бути змінені в будь-який час." + +msgid "" +"This is an instance of :c:type:`PyTypeObject` representing the Python :class:" +"`code` type." +msgstr "" +"Це екземпляр :c:type:`PyTypeObject`, що представляє тип :class:`code` Python." + +msgid "" +"Return true if *co* is a :class:`code` object. This function always " +"succeeds." +msgstr "" +"Повертає true, якщо *co* є об’єктом :class:`code`. Ця функція завжди успішна." + +msgid "Return the number of free variables in *co*." +msgstr "Повертає кількість вільних змінних у *co*." + +msgid "" +"Return a new code object. If you need a dummy code object to create a " +"frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` " +"directly will bind you to a precise Python version since the definition of " +"the bytecode changes often. The many arguments of this function are inter-" +"dependent in complex ways, meaning that subtle changes to values are likely " +"to result in incorrect execution or VM crashes. Use this function only with " +"extreme care." +msgstr "" + +msgid "Added ``exceptiontable`` parameter." +msgstr "" + +msgid "" +"Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for " +"positional-only arguments. The same caveats that apply to ``PyCode_New`` " +"also apply to this function." +msgstr "" + +msgid "" +"Return a new empty code object with the specified filename, function name, " +"and first line number. The resulting code object will raise an ``Exception`` " +"if executed." +msgstr "" + +msgid "" +"Return the line number of the instruction that occurs on or before " +"``byte_offset`` and ends after it. If you just need the line number of a " +"frame, use :c:func:`PyFrame_GetLineNumber` instead." +msgstr "" +"Повертає номер рядка інструкції, яка виникає до або перед ``byte_offset`` і " +"закінчується після нього. Якщо вам потрібен лише номер рядка кадру, " +"використовуйте натомість :c:func:`PyFrame_GetLineNumber`." + +msgid "" +"For efficiently iterating over the line numbers in a code object, use `the " +"API described in PEP 626 `_." +msgstr "" + +msgid "" +"Sets the passed ``int`` pointers to the source code line and column numbers " +"for the instruction at ``byte_offset``. Sets the value to ``0`` when " +"information is not available for any particular element." +msgstr "" + +msgid "Returns ``1`` if the function succeeds and 0 otherwise." +msgstr "" + +msgid "" +"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong " +"reference to a :c:type:`PyBytesObject` representing the bytecode in a code " +"object. On error, ``NULL`` is returned and an exception is raised." +msgstr "" + +msgid "" +"This ``PyBytesObject`` may be created on-demand by the interpreter and does " +"not necessarily represent the bytecode actually executed by CPython. The " +"primary use case for this function is debuggers and profilers." +msgstr "" + +msgid "" +"Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new " +"reference to a :c:type:`PyTupleObject` containing the names of the local " +"variables. On error, ``NULL`` is returned and an exception is raised." +msgstr "" + +msgid "" +"Equivalent to the Python code ``getattr(co, 'co_cellvars')``. Returns a new " +"reference to a :c:type:`PyTupleObject` containing the names of the local " +"variables that are referenced by nested functions. On error, ``NULL`` is " +"returned and an exception is raised." +msgstr "" + +msgid "" +"Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new " +"reference to a :c:type:`PyTupleObject` containing the names of the free " +"variables. On error, ``NULL`` is returned and an exception is raised." +msgstr "" diff --git a/c-api/codec.po b/c-api/codec.po new file mode 100644 index 000000000..13c023c27 --- /dev/null +++ b/c-api/codec.po @@ -0,0 +1,200 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Codec registry and support functions" +msgstr "Реєстр кодеків і функції підтримки" + +msgid "Register a new codec search function." +msgstr "Зареєструйте нову функцію пошуку кодеків." + +msgid "" +"As side effect, this tries to load the :mod:`encodings` package, if not yet " +"done, to make sure that it is always first in the list of search functions." +msgstr "" +"Як побічний ефект, це намагається завантажити пакет :mod:`encodings`, якщо " +"це ще не зроблено, щоб переконатися, що він завжди є першим у списку функцій " +"пошуку." + +msgid "" +"Unregister a codec search function and clear the registry's cache. If the " +"search function is not registered, do nothing. Return 0 on success. Raise an " +"exception and return -1 on error." +msgstr "" +"Скасуйте реєстрацію функції пошуку кодеків і очистіть кеш реєстру. Якщо " +"функція пошуку не зареєстрована, нічого не робіть. Повернути 0 у разі " +"успіху. Викликати виняток і повертати -1 у разі помилки." + +msgid "" +"Return ``1`` or ``0`` depending on whether there is a registered codec for " +"the given *encoding*. This function always succeeds." +msgstr "" +"Повертає ``1`` або ``0`` залежно від того, чи існує зареєстрований кодек для " +"даного *кодування*. Ця функція завжди успішна." + +msgid "Generic codec based encoding API." +msgstr "API кодування на основі універсального кодека." + +msgid "" +"*object* is passed through the encoder function found for the given " +"*encoding* using the error handling method defined by *errors*. *errors* " +"may be ``NULL`` to use the default method defined for the codec. Raises a :" +"exc:`LookupError` if no encoder can be found." +msgstr "" +"*об’єкт* передається через функцію кодувальника, знайдену для даного " +"*кодування* за допомогою методу обробки помилок, визначеного *errors*. " +"*помилки* можуть бути ``NULL`` для використання методу за замовчуванням, " +"визначеного для кодека. Викликає :exc:`LookupError`, якщо кодувальник не " +"знайдено." + +msgid "Generic codec based decoding API." +msgstr "Загальний API декодування на основі кодеків." + +msgid "" +"*object* is passed through the decoder function found for the given " +"*encoding* using the error handling method defined by *errors*. *errors* " +"may be ``NULL`` to use the default method defined for the codec. Raises a :" +"exc:`LookupError` if no encoder can be found." +msgstr "" +"*об’єкт* передається через функцію декодера, знайдену для даного *кодування* " +"за допомогою методу обробки помилок, визначеного *errors*. *помилки* можуть " +"бути ``NULL`` для використання методу за замовчуванням, визначеного для " +"кодека. Викликає :exc:`LookupError`, якщо кодувальник не знайдено." + +msgid "Codec lookup API" +msgstr "API пошуку кодеків" + +msgid "" +"In the following functions, the *encoding* string is looked up converted to " +"all lower-case characters, which makes encodings looked up through this " +"mechanism effectively case-insensitive. If no codec is found, a :exc:" +"`KeyError` is set and ``NULL`` returned." +msgstr "" +"У наведених нижче функціях рядок *encoding* перетворюється на всі символи " +"нижнього регістру, що робить кодування, які шукаються за допомогою цього " +"механізму, без урахування регістру. Якщо кодек не знайдено, встановлюється :" +"exc:`KeyError` і повертається ``NULL``." + +msgid "Get an encoder function for the given *encoding*." +msgstr "Отримайте функцію кодувальника для заданого *кодування*." + +msgid "Get a decoder function for the given *encoding*." +msgstr "Отримайте функцію декодера для заданого *кодування*." + +msgid "" +"Get an :class:`~codecs.IncrementalEncoder` object for the given *encoding*." +msgstr "" +"Отримайте об’єкт :class:`~codecs.IncrementalEncoder` для вказаного " +"*кодування*." + +msgid "" +"Get an :class:`~codecs.IncrementalDecoder` object for the given *encoding*." +msgstr "" +"Отримайте об’єкт :class:`~codecs.IncrementalDecoder` для вказаного " +"*кодування*." + +msgid "" +"Get a :class:`~codecs.StreamReader` factory function for the given " +"*encoding*." +msgstr "" +"Отримати фабричну функцію :class:`~codecs.StreamReader` для заданого " +"*кодування*." + +msgid "" +"Get a :class:`~codecs.StreamWriter` factory function for the given " +"*encoding*." +msgstr "" +"Отримати фабричну функцію :class:`~codecs.StreamWriter` для вказаного " +"*кодування*." + +msgid "Registry API for Unicode encoding error handlers" +msgstr "API реєстру для обробників помилок кодування Unicode" + +msgid "" +"Register the error handling callback function *error* under the given " +"*name*. This callback function will be called by a codec when it encounters " +"unencodable characters/undecodable bytes and *name* is specified as the " +"error parameter in the call to the encode/decode function." +msgstr "" +"Зареєструйте функцію зворотного виклику обробки помилок *error* під вказаним " +"*ім’ям*. Ця функція зворотного виклику буде викликана кодеком, коли він " +"зустріне некодовані символи/некодовані байти, а *name* вказано як параметр " +"помилки під час виклику функції кодування/декодування." + +msgid "" +"The callback gets a single argument, an instance of :exc:" +"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` or :exc:" +"`UnicodeTranslateError` that holds information about the problematic " +"sequence of characters or bytes and their offset in the original string " +"(see :ref:`unicodeexceptions` for functions to extract this information). " +"The callback must either raise the given exception, or return a two-item " +"tuple containing the replacement for the problematic sequence, and an " +"integer giving the offset in the original string at which encoding/decoding " +"should be resumed." +msgstr "" +"Зворотний виклик отримує один аргумент, екземпляр :exc:" +"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` або :exc:" +"`UnicodeTranslateError`, який містить інформацію про проблемну послідовність " +"символів або байтів та їх зсув у вихідному рядку (див. :ref:" +"`unicodeexceptions` для функцій для отримання цієї інформації). Зворотний " +"виклик повинен або викликати заданий виняток, або повертати кортеж із двох " +"елементів, що містить заміну для проблемної послідовності, і ціле число, що " +"дає зсув у вихідному рядку, на якому кодування/декодування має бути " +"відновлено." + +msgid "Return ``0`` on success, ``-1`` on error." +msgstr "Повертає ``0`` в разі успіху, ``-1`` у разі помилки." + +msgid "" +"Lookup the error handling callback function registered under *name*. As a " +"special case ``NULL`` can be passed, in which case the error handling " +"callback for \"strict\" will be returned." +msgstr "" +"Пошук функції зворотного виклику обробки помилок, зареєстрованої під " +"*ім’ям*. Як особливий випадок можна передати ``NULL``, у цьому випадку буде " +"повернено зворотний виклик обробки помилок для \"strict\"." + +msgid "Raise *exc* as an exception." +msgstr "Підніміть *exc* як виняток." + +msgid "Ignore the unicode error, skipping the faulty input." +msgstr "Ігноруйте помилку Юнікоду, пропускаючи неправильне введення." + +msgid "Replace the unicode encode error with ``?`` or ``U+FFFD``." +msgstr "Замініть помилку кодування Unicode на ``?`` або ``U+FFFD``." + +msgid "Replace the unicode encode error with XML character references." +msgstr "Замініть помилку кодування Unicode посиланнями на символи XML." + +msgid "" +"Replace the unicode encode error with backslash escapes (``\\x``, ``\\u`` " +"and ``\\U``)." +msgstr "" +"Замініть помилку кодування Unicode на екранування зворотної похилої риски (``" +"\\x``, ``\\u`` і ``\\U``)." + +msgid "Replace the unicode encode error with ``\\N{...}`` escapes." +msgstr "Замініть помилку кодування Юнікод на символи ``\\N{...}``." diff --git a/c-api/complex.po b/c-api/complex.po new file mode 100644 index 000000000..7492fb6e4 --- /dev/null +++ b/c-api/complex.po @@ -0,0 +1,185 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Complex Number Objects" +msgstr "Об’єкти комплексних чисел" + +msgid "" +"Python's complex number objects are implemented as two distinct types when " +"viewed from the C API: one is the Python object exposed to Python programs, " +"and the other is a C structure which represents the actual complex number " +"value. The API provides functions for working with both." +msgstr "" +"Об’єкти комплексних чисел Python реалізуються як два різних типи, якщо " +"дивитися через C API: один є об’єктом Python, відкритим для програм Python, " +"а інший є структурою C, яка представляє фактичне значення комплексного " +"числа. API надає функції для роботи з обома." + +msgid "Complex Numbers as C Structures" +msgstr "Комплексні числа як C структури" + +msgid "" +"Note that the functions which accept these structures as parameters and " +"return them as results do so *by value* rather than dereferencing them " +"through pointers. This is consistent throughout the API." +msgstr "" +"Зауважте, що функції, які приймають ці структури як параметри та повертають " +"їх як результати, роблять це *за значенням*, а не розіменовують їх через " +"покажчики. Це узгоджено в усьому API." + +msgid "" +"The C structure which corresponds to the value portion of a Python complex " +"number object. Most of the functions for dealing with complex number " +"objects use structures of this type as input or output values, as " +"appropriate. It is defined as::" +msgstr "" +"Структура C, яка відповідає частині значення об’єкта комплексного числа " +"Python. Більшість функцій для роботи з об’єктами комплексних чисел " +"використовують структури цього типу як вхідні чи вихідні значення, " +"відповідно. Він визначається як::" + +msgid "" +"Return the sum of two complex numbers, using the C :c:type:`Py_complex` " +"representation." +msgstr "" +"Повертає суму двох комплексних чисел, використовуючи представлення C :c:type:" +"`Py_complex`." + +msgid "" +"Return the difference between two complex numbers, using the C :c:type:" +"`Py_complex` representation." +msgstr "" +"Повертає різницю між двома комплексними числами, використовуючи " +"представлення C :c:type:`Py_complex`." + +msgid "" +"Return the negation of the complex number *num*, using the C :c:type:" +"`Py_complex` representation." +msgstr "" +"Повертає заперечення комплексного числа *num*, використовуючи представлення " +"C :c:type:`Py_complex`." + +msgid "" +"Return the product of two complex numbers, using the C :c:type:`Py_complex` " +"representation." +msgstr "" +"Повертає добуток двох комплексних чисел, використовуючи представлення C :c:" +"type:`Py_complex`." + +msgid "" +"Return the quotient of two complex numbers, using the C :c:type:`Py_complex` " +"representation." +msgstr "" +"Повертає частку двох комплексних чисел, використовуючи представлення C :c:" +"type:`Py_complex`." + +msgid "" +"If *divisor* is null, this method returns zero and sets :c:data:`errno` to :" +"c:data:`EDOM`." +msgstr "" +"Якщо *divisor* має значення null, цей метод повертає нуль і встановлює :c:" +"data:`errno` на :c:data:`EDOM`." + +msgid "" +"Return the exponentiation of *num* by *exp*, using the C :c:type:" +"`Py_complex` representation." +msgstr "" +"Повертає піднесення *num* до степеня *exp*, використовуючи представлення C :" +"c:type:`Py_complex`." + +msgid "" +"If *num* is null and *exp* is not a positive real number, this method " +"returns zero and sets :c:data:`errno` to :c:data:`EDOM`." +msgstr "" +"Якщо *num* дорівнює нулю, а *exp* не є додатним дійсним числом, цей метод " +"повертає нуль і встановлює :c:data:`errno` на :c:data:`EDOM`." + +msgid "Complex Numbers as Python Objects" +msgstr "Комплексні числа як об’єкти Python" + +msgid "" +"This subtype of :c:type:`PyObject` represents a Python complex number object." +msgstr "" +"Цей підтип :c:type:`PyObject` представляє об’єкт комплексного числа Python." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python complex number " +"type. It is the same object as :class:`complex` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип комплексного числа " +"Python. Це той самий об’єкт, що й :class:`complex` на рівні Python." + +msgid "" +"Return true if its argument is a :c:type:`PyComplexObject` or a subtype of :" +"c:type:`PyComplexObject`. This function always succeeds." +msgstr "" +"Повертає true, якщо його аргумент є :c:type:`PyComplexObject` або підтипом :" +"c:type:`PyComplexObject`. Ця функція завжди успішна." + +msgid "" +"Return true if its argument is a :c:type:`PyComplexObject`, but not a " +"subtype of :c:type:`PyComplexObject`. This function always succeeds." +msgstr "" +"Повертає true, якщо його аргумент є :c:type:`PyComplexObject`, але не " +"підтипом :c:type:`PyComplexObject`. Ця функція завжди успішна." + +msgid "" +"Create a new Python complex number object from a C :c:type:`Py_complex` " +"value." +msgstr "" +"Створіть новий об’єкт комплексного числа Python зі значення C :c:type:" +"`Py_complex`." + +msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*." +msgstr "Повертає новий об’єкт :c:type:`PyComplexObject` із *real* і *imag*." + +msgid "Return the real part of *op* as a C :c:expr:`double`." +msgstr "" + +msgid "Return the imaginary part of *op* as a C :c:expr:`double`." +msgstr "" + +msgid "Return the :c:type:`Py_complex` value of the complex number *op*." +msgstr "Повертає значення :c:type:`Py_complex` комплексного числа *op*." + +msgid "" +"If *op* is not a Python complex number object but has a :meth:`__complex__` " +"method, this method will first be called to convert *op* to a Python complex " +"number object. If ``__complex__()`` is not defined then it falls back to :" +"meth:`__float__`. If ``__float__()`` is not defined then it falls back to :" +"meth:`__index__`. Upon failure, this method returns ``-1.0`` as a real " +"value." +msgstr "" +"Якщо *op* не є об’єктом комплексного числа Python, але має метод :meth:" +"`__complex__`, цей метод спочатку буде викликано для перетворення *op* на " +"об’єкт комплексного числа Python. Якщо ``__complex__()`` не визначено, тоді " +"він повертається до :meth:`__float__`. Якщо ``__float__()`` не визначено, " +"він повертається до :meth:`__index__`. У разі помилки цей метод повертає " +"``-1.0`` як дійсне значення." + +msgid "Use :meth:`__index__` if available." +msgstr "Використовуйте :meth:`__index__`, якщо доступний." diff --git a/c-api/concrete.po b/c-api/concrete.po new file mode 100644 index 000000000..03d5a54f9 --- /dev/null +++ b/c-api/concrete.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Concrete Objects Layer" +msgstr "Шар бетонних об'єктів" + +msgid "" +"The functions in this chapter are specific to certain Python object types. " +"Passing them an object of the wrong type is not a good idea; if you receive " +"an object from a Python program and you are not sure that it has the right " +"type, you must perform a type check first; for example, to check that an " +"object is a dictionary, use :c:func:`PyDict_Check`. The chapter is " +"structured like the \"family tree\" of Python object types." +msgstr "" +"Функції в цій главі є специфічними для певних типів об’єктів Python. " +"Передавати їм об’єкт неправильного типу – не дуже гарна ідея; якщо ви " +"отримуєте об’єкт із програми Python і не впевнені, що він має правильний " +"тип, ви повинні спочатку виконати перевірку типу; наприклад, щоб перевірити, " +"що об’єкт є словником, використовуйте :c:func:`PyDict_Check`. Глава " +"структурована як \"генеалогічне дерево\" типів об’єктів Python." + +msgid "" +"While the functions described in this chapter carefully check the type of " +"the objects which are passed in, many of them do not check for ``NULL`` " +"being passed instead of a valid object. Allowing ``NULL`` to be passed in " +"can cause memory access violations and immediate termination of the " +"interpreter." +msgstr "" +"У той час як функції, описані в цій главі, ретельно перевіряють тип " +"об’єктів, які передаються, багато з них не перевіряють ``NULL``, який " +"передається замість дійсного об’єкта. Дозвіл на передачу ``NULL`` може " +"спричинити порушення доступу до пам’яті та негайне припинення роботи " +"інтерпретатора." + +msgid "Fundamental Objects" +msgstr "Фундаментальні об'єкти" + +msgid "" +"This section describes Python type objects and the singleton object ``None``." +msgstr "" +"У цьому розділі описано об’єкти типу Python і одиночний об’єкт ``None``." + +msgid "Numeric Objects" +msgstr "Числові об'єкти" + +msgid "Sequence Objects" +msgstr "Об’єкти послідовності" + +msgid "" +"Generic operations on sequence objects were discussed in the previous " +"chapter; this section deals with the specific kinds of sequence objects that " +"are intrinsic to the Python language." +msgstr "" +"Загальні операції над об’єктами послідовності обговорювалися в попередньому " +"розділі; у цьому розділі розглядаються конкретні типи об’єктів " +"послідовності, властиві мові Python." + +msgid "Container Objects" +msgstr "Контейнерні об’єкти" + +msgid "Function Objects" +msgstr "Функціональні об’єкти" + +msgid "Other Objects" +msgstr "Інші об'єкти" diff --git a/c-api/contextvars.po b/c-api/contextvars.po new file mode 100644 index 000000000..13edf018a --- /dev/null +++ b/c-api/contextvars.po @@ -0,0 +1,195 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Context Variables Objects" +msgstr "Об’єкти змінних контексту" + +msgid "" +"In Python 3.7.1 the signatures of all context variables C APIs were " +"**changed** to use :c:type:`PyObject` pointers instead of :c:type:" +"`PyContext`, :c:type:`PyContextVar`, and :c:type:`PyContextToken`, e.g.::" +msgstr "" +"У Python 3.7.1 підписи всіх контекстних змінних C API були **змінені** на " +"використання покажчиків :c:type:`PyObject` замість :c:type:`PyContext`, :c:" +"type:`PyContextVar`, і :c:type:`PyContextToken`, наприклад::" + +msgid "See :issue:`34762` for more details." +msgstr "Дивіться :issue:`34762` для отримання додаткової інформації." + +msgid "" +"This section details the public C API for the :mod:`contextvars` module." +msgstr "" +"У цьому розділі детально описано публічний API C для модуля :mod:" +"`contextvar`." + +msgid "" +"The C structure used to represent a :class:`contextvars.Context` object." +msgstr "" +"Структура C, яка використовується для представлення об’єкта :class:" +"`contextvars.Context`." + +msgid "" +"The C structure used to represent a :class:`contextvars.ContextVar` object." +msgstr "" +"Структура C, яка використовується для представлення об’єкта :class:" +"`contextvars.ContextVar`." + +msgid "The C structure used to represent a :class:`contextvars.Token` object." +msgstr "" +"Структура C, яка використовується для представлення об’єкта :class:" +"`contextvars.Token`." + +msgid "The type object representing the *context* type." +msgstr "Об’єкт типу, що представляє тип *context*." + +msgid "The type object representing the *context variable* type." +msgstr "Об’єкт типу, що представляє тип *контекстної змінної*." + +msgid "The type object representing the *context variable token* type." +msgstr "Об’єкт типу, що представляє тип *токен змінної контексту*." + +msgid "Type-check macros:" +msgstr "Макроси перевірки типу:" + +msgid "" +"Return true if *o* is of type :c:data:`PyContext_Type`. *o* must not be " +"``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *o* має тип :c:data:`PyContext_Type`. *o* не має бути " +"``NULL``. Ця функція завжди успішна." + +msgid "" +"Return true if *o* is of type :c:data:`PyContextVar_Type`. *o* must not be " +"``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *o* має тип :c:data:`PyContextVar_Type`. *o* не має бути " +"``NULL``. Ця функція завжди успішна." + +msgid "" +"Return true if *o* is of type :c:data:`PyContextToken_Type`. *o* must not be " +"``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *o* має тип :c:data:`PyContextToken_Type`. *o* не має " +"бути ``NULL``. Ця функція завжди успішна." + +msgid "Context object management functions:" +msgstr "Функції керування об’єктами контексту:" + +msgid "" +"Create a new empty context object. Returns ``NULL`` if an error has " +"occurred." +msgstr "" +"Створіть новий порожній контекстний об’єкт. Повертає ``NULL``, якщо сталася " +"помилка." + +msgid "" +"Create a shallow copy of the passed *ctx* context object. Returns ``NULL`` " +"if an error has occurred." +msgstr "" +"Створіть поверхневу копію переданого контекстного об’єкта *ctx*. Повертає " +"``NULL``, якщо сталася помилка." + +msgid "" +"Create a shallow copy of the current thread context. Returns ``NULL`` if an " +"error has occurred." +msgstr "" +"Створіть поверхневу копію контексту поточного потоку. Повертає ``NULL``, " +"якщо сталася помилка." + +msgid "" +"Set *ctx* as the current context for the current thread. Returns ``0`` on " +"success, and ``-1`` on error." +msgstr "" +"Установіть *ctx* як поточний контекст для поточного потоку. Повертає ``0`` у " +"разі успіху та ``-1`` у разі помилки." + +msgid "" +"Deactivate the *ctx* context and restore the previous context as the current " +"context for the current thread. Returns ``0`` on success, and ``-1`` on " +"error." +msgstr "" +"Дезактивуйте контекст *ctx* і відновіть попередній контекст як поточний " +"контекст для поточного потоку. Повертає ``0`` у разі успіху та ``-1`` у разі " +"помилки." + +msgid "Context variable functions:" +msgstr "Функції контекстної змінної:" + +msgid "" +"Create a new ``ContextVar`` object. The *name* parameter is used for " +"introspection and debug purposes. The *def* parameter specifies a default " +"value for the context variable, or ``NULL`` for no default. If an error has " +"occurred, this function returns ``NULL``." +msgstr "" +"Створіть новий об’єкт ``ContextVar``. Параметр *name* використовується для " +"самоаналізу та налагодження. Параметр *def* визначає значення за " +"замовчуванням для змінної контексту або ``NULL`` для відсутності " +"замовчування. Якщо сталася помилка, ця функція повертає ``NULL``." + +msgid "" +"Get the value of a context variable. Returns ``-1`` if an error has " +"occurred during lookup, and ``0`` if no error occurred, whether or not a " +"value was found." +msgstr "" +"Отримати значення контекстної змінної. Повертає ``-1``, якщо під час пошуку " +"сталася помилка, і ``0``, якщо помилки не сталося, незалежно від того, чи " +"було знайдено значення." + +msgid "" +"If the context variable was found, *value* will be a pointer to it. If the " +"context variable was *not* found, *value* will point to:" +msgstr "" +"Якщо контекстну змінну знайдено, *value* буде вказівником на неї. Якщо " +"контекстну змінну *не* знайдено, *значення* вказуватиме на:" + +msgid "*default_value*, if not ``NULL``;" +msgstr "*default_value*, якщо не ``NULL``;" + +msgid "the default value of *var*, if not ``NULL``;" +msgstr "значення за замовчуванням *var*, якщо не ``NULL``;" + +msgid "``NULL``" +msgstr "``NULL``" + +msgid "Except for ``NULL``, the function returns a new reference." +msgstr "За винятком ``NULL``, функція повертає нове посилання." + +msgid "" +"Set the value of *var* to *value* in the current context. Returns a new " +"token object for this change, or ``NULL`` if an error has occurred." +msgstr "" +"Установіть для *var* значення *value* у поточному контексті. Повертає новий " +"об’єкт маркера для цієї зміни або ``NULL``, якщо сталася помилка." + +msgid "" +"Reset the state of the *var* context variable to that it was in before :c:" +"func:`PyContextVar_Set` that returned the *token* was called. This function " +"returns ``0`` on success and ``-1`` on error." +msgstr "" +"Скинути стан контекстної змінної *var* до того, у якому вона була до " +"виклику :c:func:`PyContextVar_Set`, який повернув *токен*. Ця функція " +"повертає ``0`` у разі успіху та ``-1`` у разі помилки." diff --git a/c-api/conversion.po b/c-api/conversion.po new file mode 100644 index 000000000..2102dfca2 --- /dev/null +++ b/c-api/conversion.po @@ -0,0 +1,240 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "String conversion and formatting" +msgstr "Перетворення та форматування рядків" + +msgid "Functions for number conversion and formatted string output." +msgstr "Функції для перетворення чисел і виведення форматованого рядка." + +msgid "" +"Output not more than *size* bytes to *str* according to the format string " +"*format* and the extra arguments. See the Unix man page :manpage:" +"`snprintf(3)`." +msgstr "" +"Виводити не більше *size* байтів до *str* відповідно до рядка формату " +"*format* і додаткових аргументів. Перегляньте сторінку довідки Unix :manpage:" +"`snprintf(3)`." + +msgid "" +"Output not more than *size* bytes to *str* according to the format string " +"*format* and the variable argument list *va*. Unix man page :manpage:" +"`vsnprintf(3)`." +msgstr "" +"Виводити не більше *size* байтів до *str* відповідно до рядка формату " +"*format* і списку змінних аргументів *va*. Довідкова сторінка Unix :manpage:" +"`vsnprintf(3)`." + +msgid "" +":c:func:`PyOS_snprintf` and :c:func:`PyOS_vsnprintf` wrap the Standard C " +"library functions :c:func:`snprintf` and :c:func:`vsnprintf`. Their purpose " +"is to guarantee consistent behavior in corner cases, which the Standard C " +"functions do not." +msgstr "" +":c:func:`PyOS_snprintf` і :c:func:`PyOS_vsnprintf` обгортають стандартні " +"функції бібліотеки C :c:func:`snprintf` і :c:func:`vsnprintf`. Їх мета " +"полягає в тому, щоб гарантувати послідовну поведінку в кутових випадках, " +"чого немає у стандартних функціях C." + +msgid "" +"The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " +"They never write more than *size* bytes (including the trailing ``'\\0'``) " +"into str. Both functions require that ``str != NULL``, ``size > 0``, " +"``format != NULL`` and ``size < INT_MAX``. Note that this means there is no " +"equivalent to the C99 ``n = snprintf(NULL, 0, ...)`` which would determine " +"the necessary buffer size." +msgstr "" + +msgid "" +"The return value (*rv*) for these functions should be interpreted as follows:" +msgstr "" +"Повернене значення (*rv*) для цих функцій слід інтерпретувати таким чином:" + +msgid "" +"When ``0 <= rv < size``, the output conversion was successful and *rv* " +"characters were written to *str* (excluding the trailing ``'\\0'`` byte at " +"``str[rv]``)." +msgstr "" +"Коли ``0 <= rv < size``, вихідне перетворення було успішним і *rv* символи " +"були записані в *str* (за винятком кінцевого байта ``'\\0''`` у " +"``str[rv]`` )." + +msgid "" +"When ``rv >= size``, the output conversion was truncated and a buffer with " +"``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is " +"``'\\0'`` in this case." +msgstr "" +"Коли rv >= size, вихідне перетворення було скорочено, і для успіху " +"знадобився буфер із rv + 1 байтами. ``str[size-1]`` у цьому випадку є " +"``'\\0''``." + +msgid "" +"When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in " +"this case too, but the rest of *str* is undefined. The exact cause of the " +"error depends on the underlying platform." +msgstr "" +"Коли ``rv < 0``, \"сталося щось погане\". ``str[size-1]`` у цьому випадку " +"також є ``'\\0''``, але решта *str* не визначена. Точна причина помилки " +"залежить від основної платформи." + +msgid "" +"The following functions provide locale-independent string to number " +"conversions." +msgstr "" +"Наступні функції забезпечують перетворення рядка в число, незалежне від " +"локалі." + +msgid "" +"Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on " +"failure. The set of accepted strings corresponds to the set of strings " +"accepted by Python's :func:`float` constructor, except that ``s`` must not " +"have leading or trailing whitespace. The conversion is independent of the " +"current locale." +msgstr "" + +msgid "" +"If ``endptr`` is ``NULL``, convert the whole string. Raise :exc:" +"`ValueError` and return ``-1.0`` if the string is not a valid representation " +"of a floating-point number." +msgstr "" +"Якщо ``endptr`` має значення ``NULL``, перетворити весь рядок. Викликайте :" +"exc:`ValueError` і повертайте ``-1.0``, якщо рядок не є дійсним " +"представленням числа з плаваючою комою." + +msgid "" +"If endptr is not ``NULL``, convert as much of the string as possible and set " +"``*endptr`` to point to the first unconverted character. If no initial " +"segment of the string is the valid representation of a floating-point " +"number, set ``*endptr`` to point to the beginning of the string, raise " +"ValueError, and return ``-1.0``." +msgstr "" +"Якщо endptr не дорівнює NULL, перетворіть якомога більшу частину рядка та " +"встановіть ``*endptr`` так, щоб він вказував на перший неперетворений " +"символ. Якщо жоден початковий сегмент рядка не є дійсним представленням " +"числа з плаваючою комою, установіть ``*endptr``, щоб вказувати на початок " +"рядка, викликайте ValueError і поверніть ``-1.0``." + +msgid "" +"If ``s`` represents a value that is too large to store in a float (for " +"example, ``\"1e500\"`` is such a string on many platforms) then if " +"``overflow_exception`` is ``NULL`` return ``Py_HUGE_VAL`` (with an " +"appropriate sign) and don't set any exception. Otherwise, " +"``overflow_exception`` must point to a Python exception object; raise that " +"exception and return ``-1.0``. In both cases, set ``*endptr`` to point to " +"the first character after the converted value." +msgstr "" +"Якщо ``s`` представляє значення, яке є надто великим для зберігання в float " +"(наприклад, ``\"1e500\"`` є таким рядком на багатьох платформах), тоді " +"``overflow_exception`` має значення ``NULL`` поверніть ``Py_HUGE_VAL`` (з " +"відповідним знаком) і не встановлюйте винятків. В іншому випадку " +"``overflow_exception`` має вказувати на об’єкт винятку Python; викликати цей " +"виняток і повернути ``-1.0``. В обох випадках встановіть ``*endptr``, щоб " +"вказувати на перший символ після перетвореного значення." + +msgid "" +"If any other error occurs during the conversion (for example an out-of-" +"memory error), set the appropriate Python exception and return ``-1.0``." +msgstr "" +"Якщо під час перетворення виникає будь-яка інша помилка (наприклад, помилка " +"браку пам’яті), установіть відповідний виняток Python і поверніть ``-1.0``." + +msgid "" +"Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " +"*precision*, and *flags*." +msgstr "" + +msgid "" +"*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " +"``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is " +"ignored. The ``'r'`` format code specifies the standard :func:`repr` format." +msgstr "" +"*format_code* має бути одним із ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " +"``'G'`` або ``'r''``. Для ``'r'`` надана *точність* має бути 0 і " +"ігнорується. Код формату ``'r'`` визначає стандартний формат :func:`repr`." + +msgid "" +"*flags* can be zero or more of the values ``Py_DTSF_SIGN``, " +"``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:" +msgstr "" +"*flags* може мати нуль або більше значень ``Py_DTSF_SIGN``, " +"``Py_DTSF_ADD_DOT_0`` або ``Py_DTSF_ALT``, або об’єднані разом:" + +msgid "" +"``Py_DTSF_SIGN`` means to always precede the returned string with a sign " +"character, even if *val* is non-negative." +msgstr "" +"``Py_DTSF_SIGN`` означає, що перед поверненим рядком завжди ставиться знак, " +"навіть якщо *val* є невід’ємним." + +msgid "" +"``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look " +"like an integer." +msgstr "" +"``Py_DTSF_ADD_DOT_0`` означає, що повернутий рядок не буде виглядати як ціле " +"число." + +msgid "" +"``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the " +"documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details." +msgstr "" +"``Py_DTSF_ALT`` означає застосування \"альтернативних\" правил форматування. " +"Перегляньте документацію для специфікатора :c:func:`PyOS_snprintf` ``'#''`` " +"для отримання детальної інформації." + +msgid "" +"If *ptype* is non-``NULL``, then the value it points to will be set to one " +"of ``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying " +"that *val* is a finite number, an infinite number, or not a number, " +"respectively." +msgstr "" +"Якщо *ptype* не є ``NULL``, тоді значення, на яке він вказує, буде " +"встановлено на одне з ``Py_DTST_FINITE``, ``Py_DTST_INFINITE`` або " +"``Py_DTST_NAN``, що означає, що *val* є кінцеве число, нескінченне число або " +"не число відповідно." + +msgid "" +"The return value is a pointer to *buffer* with the converted string or " +"``NULL`` if the conversion failed. The caller is responsible for freeing the " +"returned string by calling :c:func:`PyMem_Free`." +msgstr "" +"Поверненим значенням є вказівник на *buffer* із перетвореним рядком або " +"``NULL``, якщо перетворення не вдалося. Виклик відповідає за звільнення " +"повернутого рядка шляхом виклику :c:func:`PyMem_Free`." + +msgid "" +"Case insensitive comparison of strings. The function works almost " +"identically to :c:func:`strcmp` except that it ignores the case." +msgstr "" +"Порівняння рядків без урахування регістру. Функція працює майже ідентично :c:" +"func:`strcmp`, за винятком того, що вона ігнорує регістр." + +msgid "" +"Case insensitive comparison of strings. The function works almost " +"identically to :c:func:`strncmp` except that it ignores the case." +msgstr "" +"Порівняння рядків без урахування регістру. Функція працює майже ідентично :c:" +"func:`strncmp`, за винятком того, що вона ігнорує регістр." diff --git a/c-api/coro.po b/c-api/coro.po new file mode 100644 index 000000000..1674860a8 --- /dev/null +++ b/c-api/coro.po @@ -0,0 +1,60 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Coroutine Objects" +msgstr "Об’єкти співпрограми" + +msgid "" +"Coroutine objects are what functions declared with an ``async`` keyword " +"return." +msgstr "" +"Об’єкти співпрограми – це те, що повертають функції, оголошені за допомогою " +"ключового слова ``async``." + +msgid "The C structure used for coroutine objects." +msgstr "Структура C, яка використовується для об’єктів співпрограми." + +msgid "The type object corresponding to coroutine objects." +msgstr "Об’єкт типу, що відповідає об’єктам співпрограми." + +msgid "" +"Return true if *ob*'s type is :c:type:`PyCoro_Type`; *ob* must not be " +"``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:type:`PyCoro_Type`; *ob* не має бути " +"``NULL``. Ця функція завжди успішна." + +msgid "" +"Create and return a new coroutine object based on the *frame* object, with " +"``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " +"to *frame* is stolen by this function. The *frame* argument must not be " +"``NULL``." +msgstr "" +"Створіть і поверніть новий об’єкт співпрограми на основі об’єкта *frame* із " +"параметрами ``__name__`` і ``__qualname__``, встановленими на *name* і " +"*qualname*. Ця функція викрадає посилання на *frame*. Аргумент *frame* не " +"має бути ``NULL``." diff --git a/c-api/datetime.po b/c-api/datetime.po new file mode 100644 index 000000000..564e43a42 --- /dev/null +++ b/c-api/datetime.po @@ -0,0 +1,294 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "DateTime Objects" +msgstr "Об’єкти DateTime" + +msgid "" +"Various date and time objects are supplied by the :mod:`datetime` module. " +"Before using any of these functions, the header file :file:`datetime.h` must " +"be included in your source (note that this is not included by :file:`Python." +"h`), and the macro :c:macro:`PyDateTime_IMPORT` must be invoked, usually as " +"part of the module initialisation function. The macro puts a pointer to a C " +"structure into a static variable, :c:data:`PyDateTimeAPI`, that is used by " +"the following macros." +msgstr "" +"Модуль :mod:`datetime` надає різні об’єкти дати й часу. Перш ніж " +"використовувати будь-яку з цих функцій, файл заголовка :file:`datetime.h` " +"має бути включений у ваш джерело (зверніть увагу, що це не включено :file:" +"`Python.h`), а макрос :c:macro:`PyDateTime_IMPORT` Необхідно викликати, як " +"правило, як частину функції ініціалізації модуля. Макрос поміщає вказівник " +"на структуру C у статичну змінну, :c:data:`PyDateTimeAPI`, яка " +"використовується наступними макросами." + +msgid "Macro for access to the UTC singleton:" +msgstr "Макрос для доступу до синглтону UTC:" + +msgid "" +"Returns the time zone singleton representing UTC, the same object as :attr:" +"`datetime.timezone.utc`." +msgstr "" +"Повертає синглтон часового поясу, який представляє UTC, той самий об’єкт, що " +"й :attr:`datetime.timezone.utc`." + +msgid "Type-check macros:" +msgstr "Макроси перевірки типу:" + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype " +"of :c:data:`PyDateTime_DateType`. *ob* must not be ``NULL``. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_DateType` або підтип :c:" +"data:`PyDateTime_DateType`. *ob* не має бути ``NULL``. Ця функція завжди " +"успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not " +"be ``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_DateType`. *ob* не має " +"бути ``NULL``. Ця функція завжди успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " +"subtype of :c:data:`PyDateTime_DateTimeType`. *ob* must not be ``NULL``. " +"This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_DateTimeType` або " +"підтип :c:data:`PyDateTime_DateTimeType`. *ob* не має бути ``NULL``. Ця " +"функція завжди успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must " +"not be ``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_DateTimeType`. *ob* не " +"має бути ``NULL``. Ця функція завжди успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype " +"of :c:data:`PyDateTime_TimeType`. *ob* must not be ``NULL``. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_TimeType` або підтип :c:" +"data:`PyDateTime_TimeType`. *ob* не має бути ``NULL``. Ця функція завжди " +"успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not " +"be ``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_TimeType`. *ob* не має " +"бути ``NULL``. Ця функція завжди успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " +"of :c:data:`PyDateTime_DeltaType`. *ob* must not be ``NULL``. This " +"function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_DeltaType` або підтип :" +"c:data:`PyDateTime_DeltaType`. *ob* не має бути ``NULL``. Ця функція завжди " +"успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not " +"be ``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_DeltaType`. *ob* не має " +"бути ``NULL``. Ця функція завжди успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " +"of :c:data:`PyDateTime_TZInfoType`. *ob* must not be ``NULL``. This " +"function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_TZInfoType` або підтип :" +"c:data:`PyDateTime_TZInfoType`. *ob* не має бути ``NULL``. Ця функція завжди " +"успішна." + +msgid "" +"Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must " +"not be ``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:data:`PyDateTime_TZInfoType`. *ob* не " +"має бути ``NULL``. Ця функція завжди успішна." + +msgid "Macros to create objects:" +msgstr "Макроси для створення об'єктів:" + +msgid "" +"Return a :class:`datetime.date` object with the specified year, month and " +"day." +msgstr "" +"Повертає об’єкт :class:`datetime.date` із зазначеним роком, місяцем і днем." + +msgid "" +"Return a :class:`datetime.datetime` object with the specified year, month, " +"day, hour, minute, second and microsecond." +msgstr "" +"Повертає об’єкт :class:`datetime.datetime` із вказаним роком, місяцем, днем, " +"годиною, хвилиною, секундою та мікросекундою." + +msgid "" +"Return a :class:`datetime.datetime` object with the specified year, month, " +"day, hour, minute, second, microsecond and fold." +msgstr "" +"Повертає об’єкт :class:`datetime.datetime` із вказаним роком, місяцем, днем, " +"годиною, хвилиною, секундою, мікросекундою та кратністю." + +msgid "" +"Return a :class:`datetime.time` object with the specified hour, minute, " +"second and microsecond." +msgstr "" +"Повертає об’єкт :class:`datetime.time` із вказаною годиною, хвилиною, " +"секундою та мікросекундою." + +msgid "" +"Return a :class:`datetime.time` object with the specified hour, minute, " +"second, microsecond and fold." +msgstr "" +"Повертає об’єкт :class:`datetime.time` із вказаною годиною, хвилиною, " +"секундою, мікросекундою та кратністю." + +msgid "" +"Return a :class:`datetime.timedelta` object representing the given number of " +"days, seconds and microseconds. Normalization is performed so that the " +"resulting number of microseconds and seconds lie in the ranges documented " +"for :class:`datetime.timedelta` objects." +msgstr "" +"Повертає об’єкт :class:`datetime.timedelta`, що представляє задану кількість " +"днів, секунд і мікросекунд. Нормалізація виконується таким чином, щоб " +"результуюча кількість мікросекунд і секунд лежала в діапазонах, " +"задокументованих для об’єктів :class:`datetime.timedelta`." + +msgid "" +"Return a :class:`datetime.timezone` object with an unnamed fixed offset " +"represented by the *offset* argument." +msgstr "" +"Повертає об’єкт :class:`datetime.timezone` із фіксованим зсувом без назви, " +"представленим аргументом *offset*." + +msgid "" +"Return a :class:`datetime.timezone` object with a fixed offset represented " +"by the *offset* argument and with tzname *name*." +msgstr "" +"Повертає об’єкт :class:`datetime.timezone` із фіксованим зсувом, " +"представленим аргументом *offset*, і з tzname *name*." + +msgid "" +"Macros to extract fields from date objects. The argument must be an " +"instance of :c:data:`PyDateTime_Date`, including subclasses (such as :c:data:" +"`PyDateTime_DateTime`). The argument must not be ``NULL``, and the type is " +"not checked:" +msgstr "" +"Макроси для вилучення полів з об’єктів дати. Аргумент має бути екземпляром :" +"c:data:`PyDateTime_Date`, включаючи підкласи (наприклад, :c:data:" +"`PyDateTime_DateTime`). Аргумент не має бути ``NULL``, а тип не " +"перевіряється:" + +msgid "Return the year, as a positive int." +msgstr "Повернути рік, як позитивне внутр." + +msgid "Return the month, as an int from 1 through 12." +msgstr "Повертає місяць як int від 1 до 12." + +msgid "Return the day, as an int from 1 through 31." +msgstr "Повертає день як int від 1 до 31." + +msgid "" +"Macros to extract fields from datetime objects. The argument must be an " +"instance of :c:data:`PyDateTime_DateTime`, including subclasses. The " +"argument must not be ``NULL``, and the type is not checked:" +msgstr "" +"Макроси для вилучення полів з об’єктів datetime. Аргумент має бути " +"екземпляром :c:data:`PyDateTime_DateTime`, включаючи підкласи. Аргумент не " +"має бути ``NULL``, а тип не перевіряється:" + +msgid "Return the hour, as an int from 0 through 23." +msgstr "Повертає годину як int від 0 до 23." + +msgid "Return the minute, as an int from 0 through 59." +msgstr "Повертає хвилини як int від 0 до 59." + +msgid "Return the second, as an int from 0 through 59." +msgstr "Повертає секунду як int від 0 до 59." + +msgid "Return the microsecond, as an int from 0 through 999999." +msgstr "Повертає мікросекунду як int від 0 до 999999." + +msgid "Return the fold, as an int from 0 through 1." +msgstr "" + +msgid "Return the tzinfo (which may be ``None``)." +msgstr "Повертає tzinfo (яка може бути ``None``)." + +msgid "" +"Macros to extract fields from time objects. The argument must be an " +"instance of :c:data:`PyDateTime_Time`, including subclasses. The argument " +"must not be ``NULL``, and the type is not checked:" +msgstr "" +"Макроси для вилучення полів з об’єктів часу. Аргумент має бути екземпляром :" +"c:data:`PyDateTime_Time`, включаючи підкласи. Аргумент не має бути ``NULL``, " +"а тип не перевіряється:" + +msgid "" +"Macros to extract fields from time delta objects. The argument must be an " +"instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument " +"must not be ``NULL``, and the type is not checked:" +msgstr "" +"Макроси для вилучення полів з об’єктів дельта часу. Аргумент має бути " +"екземпляром :c:data:`PyDateTime_Delta`, включаючи підкласи. Аргумент не має " +"бути ``NULL``, а тип не перевіряється:" + +msgid "Return the number of days, as an int from -999999999 to 999999999." +msgstr "Повертає кількість днів у вигляді int від -999999999 до 999999999." + +msgid "Return the number of seconds, as an int from 0 through 86399." +msgstr "Повертає кількість секунд у вигляді цілого типу від 0 до 86399." + +msgid "Return the number of microseconds, as an int from 0 through 999999." +msgstr "" +"Повертає кількість мікросекунд у вигляді цілого значення від 0 до 999999." + +msgid "Macros for the convenience of modules implementing the DB API:" +msgstr "Макроси для зручності модулів, що реалізують API БД:" + +msgid "" +"Create and return a new :class:`datetime.datetime` object given an argument " +"tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`." +msgstr "" +"Створіть і поверніть новий об’єкт :class:`datetime.datetime` із кортежем " +"аргументів, придатним для передачі в :meth:`datetime.datetime." +"fromtimestamp()`." + +msgid "" +"Create and return a new :class:`datetime.date` object given an argument " +"tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`." +msgstr "" +"Створіть і поверніть новий об’єкт :class:`datetime.date` із кортежем " +"аргументів, придатним для передачі в :meth:`datetime.date.fromtimestamp()`." diff --git a/c-api/descriptor.po b/c-api/descriptor.po new file mode 100644 index 000000000..4dcdfc493 --- /dev/null +++ b/c-api/descriptor.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Descriptor Objects" +msgstr "Об'єкти-дескриптори" + +msgid "" +"\"Descriptors\" are objects that describe some attribute of an object. They " +"are found in the dictionary of type objects." +msgstr "" +"\"Дескриптори\" - це об'єкти, які описують деякі атрибути об'єкта. Вони " +"знаходяться в словнику об'єктів типу." + +msgid "The type object for the built-in descriptor types." +msgstr "Об’єкт типу для вбудованих типів дескрипторів." + +msgid "" +"Return non-zero if the descriptor objects *descr* describes a data " +"attribute, or ``0`` if it describes a method. *descr* must be a descriptor " +"object; there is no error checking." +msgstr "" +"Повертає ненульове значення, якщо об’єкти дескриптора *descr* описують " +"атрибут даних, або ``0``, якщо він описує метод. *descr* має бути об’єктом " +"дескриптора; немає перевірки помилок." diff --git a/c-api/dict.po b/c-api/dict.po new file mode 100644 index 000000000..a1825fb37 --- /dev/null +++ b/c-api/dict.po @@ -0,0 +1,269 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Dictionary Objects" +msgstr "Об’єкти словника" + +msgid "" +"This subtype of :c:type:`PyObject` represents a Python dictionary object." +msgstr "Цей підтип :c:type:`PyObject` представляє об’єкт словника Python." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python dictionary " +"type. This is the same object as :class:`dict` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип словника Python. Це той " +"самий об’єкт, що й :class:`dict` на рівні Python." + +msgid "" +"Return true if *p* is a dict object or an instance of a subtype of the dict " +"type. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом dict або екземпляром підтипу типу dict. " +"Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a dict object, but not an instance of a subtype of the " +"dict type. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом dict, але не екземпляром підтипу типу " +"dict. Ця функція завжди успішна." + +msgid "Return a new empty dictionary, or ``NULL`` on failure." +msgstr "Повертає новий порожній словник або ``NULL`` у разі помилки." + +msgid "" +"Return a :class:`types.MappingProxyType` object for a mapping which enforces " +"read-only behavior. This is normally used to create a view to prevent " +"modification of the dictionary for non-dynamic class types." +msgstr "" +"Повертає об’єкт :class:`types.MappingProxyType` для зіставлення, яке " +"забезпечує поведінку лише для читання. Зазвичай це використовується для " +"створення представлення для запобігання модифікації словника для " +"нединамічних типів класів." + +msgid "Empty an existing dictionary of all key-value pairs." +msgstr "Очистити існуючий словник від усіх пар ключ-значення." + +msgid "" +"Determine if dictionary *p* contains *key*. If an item in *p* is matches " +"*key*, return ``1``, otherwise return ``0``. On error, return ``-1``. This " +"is equivalent to the Python expression ``key in p``." +msgstr "" +"Визначте, чи словник *p* містить *ключ*. Якщо елемент у *p* відповідає " +"*ключу*, поверніть ``1``, інакше поверніть ``0``. У разі помилки повертає " +"``-1``. Це еквівалентно виразу Python ``key in p``." + +msgid "Return a new dictionary that contains the same key-value pairs as *p*." +msgstr "" +"Повертає новий словник, який містить ті самі пари ключ-значення, що й *p*." + +msgid "" +"Insert *val* into the dictionary *p* with a key of *key*. *key* must be :" +"term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return ``0`` " +"on success or ``-1`` on failure. This function *does not* steal a reference " +"to *val*." +msgstr "" +"Вставте *val* у словник *p* з ключем *key*. *ключ* має бути :term:" +"`hashable`; якщо це не так, буде викликано :exc:`TypeError`. Повертає ``0`` " +"у разі успіху або ``-1`` у разі невдачі. Ця функція *не* викрадає посилання " +"на *val*." + +msgid "" +"Insert *val* into the dictionary *p* using *key* as a key. *key* should be " +"a :c:expr:`const char*`. The key object is created using " +"``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on " +"failure. This function *does not* steal a reference to *val*." +msgstr "" + +msgid "" +"Remove the entry in dictionary *p* with key *key*. *key* must be hashable; " +"if it isn't, :exc:`TypeError` is raised. If *key* is not in the dictionary, :" +"exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on failure." +msgstr "" +"Видаліть запис у словнику *p* за допомогою ключа *key*. *ключ* має бути " +"хешованим; якщо ні, виникає :exc:`TypeError`. Якщо *key* немає в словнику, " +"виникає :exc:`KeyError`. Повертає ``0`` у разі успіху або ``-1`` у разі " +"невдачі." + +msgid "" +"Remove the entry in dictionary *p* which has a key specified by the string " +"*key*. If *key* is not in the dictionary, :exc:`KeyError` is raised. Return " +"``0`` on success or ``-1`` on failure." +msgstr "" +"Видаліть запис у словнику *p*, який має ключ, визначений рядком *key*. Якщо " +"*key* немає в словнику, виникає :exc:`KeyError`. Повертає ``0`` у разі " +"успіху або ``-1`` у разі невдачі." + +msgid "" +"Return the object from dictionary *p* which has a key *key*. Return " +"``NULL`` if the key *key* is not present, but *without* setting an exception." +msgstr "" +"Повертає об’єкт зі словника *p*, який має ключ *key*. Повертає ``NULL``, " +"якщо ключ *key* відсутній, але *без* встановлення винятку." + +msgid "" +"Note that exceptions which occur while calling :meth:`__hash__` and :meth:" +"`__eq__` methods will get suppressed. To get error reporting use :c:func:" +"`PyDict_GetItemWithError()` instead." +msgstr "" +"Зверніть увагу, що винятки, які виникають під час виклику методів :meth:" +"`__hash__` і :meth:`__eq__`, будуть придушені. Щоб отримати звіт про " +"помилку, замість цього використовуйте :c:func:`PyDict_GetItemWithError()`." + +msgid "" +"Calling this API without :term:`GIL` held had been allowed for historical " +"reason. It is no longer allowed." +msgstr "" +"Виклик цього API без утримання :term:`GIL` був дозволений з історичних " +"причин. Це більше не дозволено." + +msgid "" +"Variant of :c:func:`PyDict_GetItem` that does not suppress exceptions. " +"Return ``NULL`` **with** an exception set if an exception occurred. Return " +"``NULL`` **without** an exception set if the key wasn't present." +msgstr "" +"Варіант :c:func:`PyDict_GetItem`, який не пригнічує винятки. Повертає " +"``NULL`` **з** встановленим винятком, якщо виняток стався. Повертає ``NULL`` " +"**без** набору винятків, якщо ключ відсутній." + +msgid "" +"This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:" +"expr:`const char*`, rather than a :c:expr:`PyObject*`." +msgstr "" + +msgid "" +"Note that exceptions which occur while calling :meth:`__hash__` and :meth:" +"`__eq__` methods and creating a temporary string object will get suppressed. " +"To get error reporting use :c:func:`PyDict_GetItemWithError()` instead." +msgstr "" +"Зауважте, що винятки, які виникають під час виклику методів :meth:`__hash__` " +"і :meth:`__eq__` і створення тимчасового рядкового об’єкта, будуть " +"придушені. Щоб отримати звіт про помилку, замість цього використовуйте :c:" +"func:`PyDict_GetItemWithError()`." + +msgid "" +"This is the same as the Python-level :meth:`dict.setdefault`. If present, " +"it returns the value corresponding to *key* from the dictionary *p*. If the " +"key is not in the dict, it is inserted with value *defaultobj* and " +"*defaultobj* is returned. This function evaluates the hash function of " +"*key* only once, instead of evaluating it independently for the lookup and " +"the insertion." +msgstr "" +"Це те саме, що на рівні Python :meth:`dict.setdefault`. Якщо він присутній, " +"він повертає значення, що відповідає *key* зі словника *p*. Якщо ключа немає " +"в dict, він вставляється зі значенням *defaultobj* і повертається " +"*defaultobj*. Ця функція обчислює хеш-функцію *key* лише один раз, замість " +"того, щоб оцінювати її незалежно для пошуку та вставки." + +msgid "" +"Return a :c:type:`PyListObject` containing all the items from the dictionary." +msgstr "Повертає :c:type:`PyListObject`, що містить усі елементи зі словника." + +msgid "" +"Return a :c:type:`PyListObject` containing all the keys from the dictionary." +msgstr "Повертає :c:type:`PyListObject`, що містить усі ключі зі словника." + +msgid "" +"Return a :c:type:`PyListObject` containing all the values from the " +"dictionary *p*." +msgstr "" +"Повертає :c:type:`PyListObject`, що містить усі значення зі словника *p*." + +msgid "" +"Return the number of items in the dictionary. This is equivalent to " +"``len(p)`` on a dictionary." +msgstr "" +"Повернути кількість елементів у словнику. Це еквівалентно ``len(p)`` у " +"словнику." + +msgid "" +"Iterate over all key-value pairs in the dictionary *p*. The :c:type:" +"`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the " +"first call to this function to start the iteration; the function returns " +"true for each pair in the dictionary, and false once all pairs have been " +"reported. The parameters *pkey* and *pvalue* should either point to :c:expr:" +"`PyObject*` variables that will be filled in with each key and value, " +"respectively, or may be ``NULL``. Any references returned through them are " +"borrowed. *ppos* should not be altered during iteration. Its value " +"represents offsets within the internal dictionary structure, and since the " +"structure is sparse, the offsets are not consecutive." +msgstr "" + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"The dictionary *p* should not be mutated during iteration. It is safe to " +"modify the values of the keys as you iterate over the dictionary, but only " +"so long as the set of keys does not change. For example::" +msgstr "" +"Словник *p* не повинен змінюватися під час ітерації. Безпечно змінювати " +"значення ключів під час перегляду словника, але лише до тих пір, поки набір " +"ключів не зміниться. Наприклад::" + +msgid "" +"Iterate over mapping object *b* adding key-value pairs to dictionary *a*. " +"*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` " +"and :c:func:`PyObject_GetItem`. If *override* is true, existing pairs in *a* " +"will be replaced if a matching key is found in *b*, otherwise pairs will " +"only be added if there is not a matching key in *a*. Return ``0`` on success " +"or ``-1`` if an exception was raised." +msgstr "" +"Ітерація об’єкта відображення *b*, додавання пар ключ-значення до словника " +"*a*. *b* може бути словником або будь-яким об’єктом, що підтримує :c:func:" +"`PyMapping_Keys` і :c:func:`PyObject_GetItem`. Якщо *override* має значення " +"true, існуючі пари в *a* буде замінено, якщо відповідний ключ буде знайдено " +"в *b*, інакше пари будуть додані, лише якщо в *a* немає відповідного ключа. " +"Повертає ``0`` у разі успіху або ``-1``, якщо було викликано виключення." + +msgid "" +"This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to ``a." +"update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall back " +"to the iterating over a sequence of key value pairs if the second argument " +"has no \"keys\" attribute. Return ``0`` on success or ``-1`` if an " +"exception was raised." +msgstr "" +"Це те саме, що ``PyDict_Merge(a, b, 1)`` у C, і схоже на ``a.update(b)`` у " +"Python, за винятком того, що :c:func:`PyDict_Update` не падає повернутися до " +"повторення послідовності пар ключ-значення, якщо другий аргумент не має " +"атрибута \"ключі\". Повертає ``0`` у разі успіху або ``-1``, якщо було " +"викликано виключення." + +msgid "" +"Update or merge into dictionary *a*, from the key-value pairs in *seq2*. " +"*seq2* must be an iterable object producing iterable objects of length 2, " +"viewed as key-value pairs. In case of duplicate keys, the last wins if " +"*override* is true, else the first wins. Return ``0`` on success or ``-1`` " +"if an exception was raised. Equivalent Python (except for the return value)::" +msgstr "" +"Оновіть або об’єднайте в словник *a* з пар ключ-значення в *seq2*. *seq2* " +"має бути повторюваним об’єктом, що створює ітеровані об’єкти довжини 2, які " +"розглядаються як пари ключ-значення. У випадку дублікатів ключів, останній " +"виграє, якщо *override* має значення true, інакше виграє перший. Повертає " +"``0`` в разі успіху або ``-1``, якщо було викликано виключення. " +"Еквівалентний Python (за винятком значення, що повертається)::" diff --git a/c-api/exceptions.po b/c-api/exceptions.po new file mode 100644 index 000000000..179f88df7 --- /dev/null +++ b/c-api/exceptions.po @@ -0,0 +1,1573 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Exception Handling" +msgstr "Обробка винятків" + +msgid "" +"The functions described in this chapter will let you handle and raise Python " +"exceptions. It is important to understand some of the basics of Python " +"exception handling. It works somewhat like the POSIX :c:data:`errno` " +"variable: there is a global indicator (per thread) of the last error that " +"occurred. Most C API functions don't clear this on success, but will set it " +"to indicate the cause of the error on failure. Most C API functions also " +"return an error indicator, usually ``NULL`` if they are supposed to return a " +"pointer, or ``-1`` if they return an integer (exception: the ``PyArg_*`` " +"functions return ``1`` for success and ``0`` for failure)." +msgstr "" + +msgid "" +"Concretely, the error indicator consists of three object pointers: the " +"exception's type, the exception's value, and the traceback object. Any of " +"those pointers can be ``NULL`` if non-set (although some combinations are " +"forbidden, for example you can't have a non-``NULL`` traceback if the " +"exception type is ``NULL``)." +msgstr "" +"Зокрема, індикатор помилки складається з трьох покажчиків на об’єкти: тип " +"винятку, значення винятку та об’єкт трасування. Будь-який із цих покажчиків " +"може бути ``NULL``, якщо не встановлено (хоча деякі комбінації заборонені, " +"наприклад, ви не можете мати не ``NULL`` трасування, якщо тип винятку " +"``NULL``)." + +msgid "" +"When a function must fail because some function it called failed, it " +"generally doesn't set the error indicator; the function it called already " +"set it. It is responsible for either handling the error and clearing the " +"exception or returning after cleaning up any resources it holds (such as " +"object references or memory allocations); it should *not* continue normally " +"if it is not prepared to handle the error. If returning due to an error, it " +"is important to indicate to the caller that an error has been set. If the " +"error is not handled or carefully propagated, additional calls into the " +"Python/C API may not behave as intended and may fail in mysterious ways." +msgstr "" +"Коли функція повинна вийти з ладу через те, що якась викликана нею функція " +"вийшла з ладу, вона зазвичай не встановлює індикатор помилки; викликана ним " +"функція вже встановила його. Він відповідає або за обробку помилки та " +"очищення виняткової ситуації, або за повернення після очищення будь-яких " +"ресурсів, які він утримує (наприклад, посилання на об’єкти чи розподіл " +"пам’яті); він *не* повинен продовжуватися нормально, якщо він не готовий " +"обробити помилку. Якщо ви повертаєтеся через помилку, важливо вказати " +"абоненту, що була встановлена помилка. Якщо помилку не обробляти або " +"ретельно розповсюджувати, додаткові виклики API Python/C можуть не працювати " +"належним чином і можуть виникати загадкові збої." + +msgid "" +"The error indicator is **not** the result of :func:`sys.exc_info()`. The " +"former corresponds to an exception that is not yet caught (and is therefore " +"still propagating), while the latter returns an exception after it is caught " +"(and has therefore stopped propagating)." +msgstr "" +"Індикатор помилки **не** є результатом :func:`sys.exc_info()`. Перший " +"відповідає винятку, який ще не перехоплено (і, отже, все ще поширюється), а " +"другий повертає виняток після того, як він перехоплений (і, отже, припинив " +"поширення)." + +msgid "Printing and clearing" +msgstr "Друк та розчистка" + +msgid "" +"Clear the error indicator. If the error indicator is not set, there is no " +"effect." +msgstr "" +"Очистіть індикатор помилки. Якщо індикатор помилки не встановлено, ефекту " +"немає." + +msgid "" +"Print a standard traceback to ``sys.stderr`` and clear the error indicator. " +"**Unless** the error is a ``SystemExit``, in that case no traceback is " +"printed and the Python process will exit with the error code specified by " +"the ``SystemExit`` instance." +msgstr "" +"Надрукуйте стандартне відстеження до ``sys.stderr`` і очистіть індикатор " +"помилки. **Якщо** помилка не є ``SystemExit``, у такому випадку трасування " +"не друкується, і процес Python завершить роботу з кодом помилки, указаним " +"екземпляром ``SystemExit``." + +msgid "" +"Call this function **only** when the error indicator is set. Otherwise it " +"will cause a fatal error!" +msgstr "" +"Викликайте цю функцію **лише**, коли встановлено індикатор помилки. Інакше " +"це призведе до фатальної помилки!" + +msgid "" +"If *set_sys_last_vars* is nonzero, the variables :data:`sys.last_type`, :" +"data:`sys.last_value` and :data:`sys.last_traceback` will be set to the " +"type, value and traceback of the printed exception, respectively." +msgstr "" +"Якщо *set_sys_last_vars* не дорівнює нулю, змінним :data:`sys.last_type`, :" +"data:`sys.last_value` і :data:`sys.last_traceback` буде встановлено тип, " +"значення та відстеження надрукованого винятку, відповідно." + +msgid "Alias for ``PyErr_PrintEx(1)``." +msgstr "Псевдонім для ``PyErr_PrintEx(1)``." + +msgid "" +"Call :func:`sys.unraisablehook` using the current exception and *obj* " +"argument." +msgstr "" +"Викликайте :func:`sys.unraisablehook`, використовуючи поточний виняток і " +"аргумент *obj*." + +msgid "" +"This utility function prints a warning message to ``sys.stderr`` when an " +"exception has been set but it is impossible for the interpreter to actually " +"raise the exception. It is used, for example, when an exception occurs in " +"an :meth:`__del__` method." +msgstr "" +"Ця допоміжна функція друкує попереджувальне повідомлення в ``sys.stderr``, " +"коли встановлено виняток, але інтерпретатор не може фактично викликати " +"виняток. Він використовується, наприклад, коли виникає виняток у методі :" +"meth:`__del__`." + +msgid "" +"The function is called with a single argument *obj* that identifies the " +"context in which the unraisable exception occurred. If possible, the repr of " +"*obj* will be printed in the warning message." +msgstr "" +"Функція викликається з одним аргументом *obj*, який визначає контекст, у " +"якому сталася неможлива виключення. Якщо можливо, відображення *obj* буде " +"надруковано в попередженні." + +msgid "An exception must be set when calling this function." +msgstr "При виклику цієї функції необхідно встановити виняток." + +msgid "Raising exceptions" +msgstr "Створення винятків" + +msgid "" +"These functions help you set the current thread's error indicator. For " +"convenience, some of these functions will always return a ``NULL`` pointer " +"for use in a ``return`` statement." +msgstr "" +"Ці функції допомагають встановити індикатор помилки поточного потоку. Для " +"зручності деякі з цих функцій завжди повертатимуть покажчик ``NULL`` для " +"використання в операторі ``return``." + +msgid "" +"This is the most common way to set the error indicator. The first argument " +"specifies the exception type; it is normally one of the standard exceptions, " +"e.g. :c:data:`PyExc_RuntimeError`. You need not increment its reference " +"count. The second argument is an error message; it is decoded from " +"``'utf-8'``." +msgstr "" +"Це найпоширеніший спосіб встановлення індикатора помилки. Перший аргумент " +"визначає тип винятку; зазвичай це один із стандартних винятків, напр. :c:" +"data:`PyExc_RuntimeError`. Вам не потрібно збільшувати його кількість " +"посилань. Другим аргументом є повідомлення про помилку; він декодується з " +"``'utf-8'``." + +msgid "" +"This function is similar to :c:func:`PyErr_SetString` but lets you specify " +"an arbitrary Python object for the \"value\" of the exception." +msgstr "" +"Ця функція схожа на :c:func:`PyErr_SetString`, але дозволяє вказати " +"довільний об’єкт Python для \"значення\" винятку." + +msgid "" +"This function sets the error indicator and returns ``NULL``. *exception* " +"should be a Python exception class. The *format* and subsequent parameters " +"help format the error message; they have the same meaning and values as in :" +"c:func:`PyUnicode_FromFormat`. *format* is an ASCII-encoded string." +msgstr "" +"Ця функція встановлює індикатор помилки та повертає ``NULL``. *exception* " +"має бути класом винятків Python. *format* і наступні параметри допомагають " +"відформатувати повідомлення про помилку; вони мають те саме значення та " +"значення, що й у :c:func:`PyUnicode_FromFormat`. *format* — це рядок у " +"кодуванні ASCII." + +msgid "" +"Same as :c:func:`PyErr_Format`, but taking a :c:type:`va_list` argument " +"rather than a variable number of arguments." +msgstr "" +"Те саме, що :c:func:`PyErr_Format`, але приймає аргумент :c:type:`va_list`, " +"а не змінну кількість аргументів." + +msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``." +msgstr "Це скорочення для ``PyErr_SetObject(type, Py_None)``." + +msgid "" +"This is a shorthand for ``PyErr_SetString(PyExc_TypeError, message)``, where " +"*message* indicates that a built-in operation was invoked with an illegal " +"argument. It is mostly for internal use." +msgstr "" +"Це скорочення для ``PyErr_SetString(PyExc_TypeError, повідомлення)``, де " +"*повідомлення* вказує на те, що вбудовану операцію було викликано з " +"недопустимим аргументом. В основному він призначений для внутрішнього " +"використання." + +msgid "" +"This is a shorthand for ``PyErr_SetNone(PyExc_MemoryError)``; it returns " +"``NULL`` so an object allocation function can write ``return " +"PyErr_NoMemory();`` when it runs out of memory." +msgstr "" +"Це скорочення для ``PyErr_SetNone(PyExc_MemoryError)``; він повертає " +"``NULL``, тому функція розподілу об’єктів може написати ``return " +"PyErr_NoMemory();``, коли їй вичерпується пам’ять." + +msgid "" +"This is a convenience function to raise an exception when a C library " +"function has returned an error and set the C variable :c:data:`errno`. It " +"constructs a tuple object whose first item is the integer :c:data:`errno` " +"value and whose second item is the corresponding error message (gotten from :" +"c:func:`strerror`), and then calls ``PyErr_SetObject(type, object)``. On " +"Unix, when the :c:data:`errno` value is :const:`EINTR`, indicating an " +"interrupted system call, this calls :c:func:`PyErr_CheckSignals`, and if " +"that set the error indicator, leaves it set to that. The function always " +"returns ``NULL``, so a wrapper function around a system call can write " +"``return PyErr_SetFromErrno(type);`` when the system call returns an error." +msgstr "" +"Це зручна функція для створення винятку, коли функція бібліотеки C повертає " +"помилку та встановлює змінну C :c:data:`errno`. Він створює об’єкт кортежу, " +"першим елементом якого є ціле значення :c:data:`errno`, а другим елементом — " +"відповідне повідомлення про помилку (отримане з :c:func:`strerror`), а потім " +"викликає ``PyErr_SetObject(type , об'єкт)``. В Unix, коли значення :c:data:" +"`errno` дорівнює :const:`EINTR`, що вказує на перерваний системний виклик, " +"це викликає :c:func:`PyErr_CheckSignals`, і якщо це встановлює індикатор " +"помилки, залишає його встановленим до того. Функція завжди повертає " +"``NULL``, тому функція-огортка навколо системного виклику може писати " +"``return PyErr_SetFromErrno(type);``, коли системний виклик повертає помилку." + +msgid "" +"Similar to :c:func:`PyErr_SetFromErrno`, with the additional behavior that " +"if *filenameObject* is not ``NULL``, it is passed to the constructor of " +"*type* as a third parameter. In the case of :exc:`OSError` exception, this " +"is used to define the :attr:`filename` attribute of the exception instance." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromErrno`, з додатковою поведінкою: якщо " +"*filenameObject* не є ``NULL``, воно передається конструктору *type* як " +"третій параметр. У випадку винятку :exc:`OSError` це використовується для " +"визначення атрибута :attr:`filename` екземпляра винятку." + +msgid "" +"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but takes a " +"second filename object, for raising errors when a function that takes two " +"filenames fails." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromErrnoWithFilenameObject`, але приймає " +"другий об’єкт імені файлу, щоб викликати помилки, коли функція, яка приймає " +"два імені файлу, виходить з ладу." + +msgid "" +"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but the filename " +"is given as a C string. *filename* is decoded from the :term:`filesystem " +"encoding and error handler`." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromErrnoWithFilenameObject`, але ім’я файлу " +"подається як рядок C. *ім’я файлу* розшифровується з :term:`filesystem " +"encoding and error handler`." + +msgid "" +"This is a convenience function to raise :exc:`WindowsError`. If called with " +"*ierr* of ``0``, the error code returned by a call to :c:func:`GetLastError` " +"is used instead. It calls the Win32 function :c:func:`FormatMessage` to " +"retrieve the Windows description of error code given by *ierr* or :c:func:" +"`GetLastError`, then it constructs a tuple object whose first item is the " +"*ierr* value and whose second item is the corresponding error message " +"(gotten from :c:func:`FormatMessage`), and then calls " +"``PyErr_SetObject(PyExc_WindowsError, object)``. This function always " +"returns ``NULL``." +msgstr "" + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional parameter " +"specifying the exception type to be raised." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromWindowsErr`, з додатковим параметром, що " +"визначає тип винятку, який буде створено." + +msgid "" +"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, but the " +"filename is given as a C string. *filename* is decoded from the filesystem " +"encoding (:func:`os.fsdecode`)." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, але ім’я " +"файлу подається як рядок C. *ім’я файлу* декодується з кодування файлової " +"системи (:func:`os.fsdecode`)." + +msgid "" +"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an " +"additional parameter specifying the exception type to be raised." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, з додатковим " +"параметром, що визначає тип винятку, який буде створено." + +msgid "" +"Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, but " +"accepts a second filename object." +msgstr "" +"Подібно до :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, але " +"приймає другий об’єкт імені файлу." + +msgid "" +"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional " +"parameter specifying the exception type to be raised." +msgstr "" +"Подібно до :c:func:`PyErr_SetFromWindowsErrWithFilename`, з додатковим " +"параметром, що визначає тип винятку, який буде створено." + +msgid "" +"This is a convenience function to raise :exc:`ImportError`. *msg* will be " +"set as the exception's message string. *name* and *path*, both of which can " +"be ``NULL``, will be set as the :exc:`ImportError`'s respective ``name`` and " +"``path`` attributes." +msgstr "" +"Це зручна функція для виклику :exc:`ImportError`. *msg* буде встановлено як " +"рядок повідомлення винятку. *name* і *path*, обидва з яких можуть мати " +"значення ``NULL``, буде встановлено як відповідні атрибути ``name`` і " +"``path`` :exc:`ImportError`." + +msgid "" +"Much like :c:func:`PyErr_SetImportError` but this function allows for " +"specifying a subclass of :exc:`ImportError` to raise." +msgstr "" +"Дуже схоже на :c:func:`PyErr_SetImportError`, але ця функція дозволяє " +"вказати підклас :exc:`ImportError` для підвищення." + +msgid "" +"Set file, line, and offset information for the current exception. If the " +"current exception is not a :exc:`SyntaxError`, then it sets additional " +"attributes, which make the exception printing subsystem think the exception " +"is a :exc:`SyntaxError`." +msgstr "" +"Установіть інформацію про файл, рядок і зсув для поточного винятку. Якщо " +"поточний виняток не є :exc:`SyntaxError`, тоді він встановлює додаткові " +"атрибути, які змушують підсистему друку виключення вважати, що виняток є :" +"exc:`SyntaxError`." + +msgid "" +"Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string " +"decoded from the :term:`filesystem encoding and error handler`." +msgstr "" +"Подібно до :c:func:`PyErr_SyntaxLocationObject`, але *filename* — це рядок " +"байтів, декодований з :term:`filesystem encoding and error handler`." + +msgid "" +"Like :c:func:`PyErr_SyntaxLocationEx`, but the *col_offset* parameter is " +"omitted." +msgstr "" +"Як :c:func:`PyErr_SyntaxLocationEx`, але параметр *col_offset* опущено." + +msgid "" +"This is a shorthand for ``PyErr_SetString(PyExc_SystemError, message)``, " +"where *message* indicates that an internal operation (e.g. a Python/C API " +"function) was invoked with an illegal argument. It is mostly for internal " +"use." +msgstr "" +"Це скорочення для ``PyErr_SetString(PyExc_SystemError, повідомлення)``, де " +"*повідомлення* вказує на те, що внутрішня операція (наприклад, функція " +"Python/C API) була викликана з недопустимим аргументом. В основному він " +"призначений для внутрішнього використання." + +msgid "Issuing warnings" +msgstr "Винесення попереджень" + +msgid "" +"Use these functions to issue warnings from C code. They mirror similar " +"functions exported by the Python :mod:`warnings` module. They normally " +"print a warning message to *sys.stderr*; however, it is also possible that " +"the user has specified that warnings are to be turned into errors, and in " +"that case they will raise an exception. It is also possible that the " +"functions raise an exception because of a problem with the warning " +"machinery. The return value is ``0`` if no exception is raised, or ``-1`` if " +"an exception is raised. (It is not possible to determine whether a warning " +"message is actually printed, nor what the reason is for the exception; this " +"is intentional.) If an exception is raised, the caller should do its normal " +"exception handling (for example, :c:func:`Py_DECREF` owned references and " +"return an error value)." +msgstr "" +"Використовуйте ці функції, щоб видавати попередження з коду C. Вони " +"відображають аналогічні функції, експортовані модулем Python :mod:" +"`warnings`. Зазвичай вони друкують попередження на *sys.stderr*; однак також " +"можливо, що користувач вказав, що попередження потрібно перетворити на " +"помилки, і в такому випадку вони викличуть виняток. Також можливо, що " +"функції викликають виняток через проблему з механізмом попередження. " +"Повертається значення ``0``, якщо не викликається виняткова ситуація, або " +"``-1``, якщо виникає виняток. (Неможливо визначити, чи справді друкується " +"попереджувальне повідомлення, а також причину винятку; це навмисно.) Якщо " +"виникає виняток, абонент, що викликає, має виконати звичайну обробку " +"винятків (наприклад, :c:func:`Py_DECREF` належать посилання та повертають " +"значення помилки)." + +msgid "" +"Issue a warning message. The *category* argument is a warning category (see " +"below) or ``NULL``; the *message* argument is a UTF-8 encoded string. " +"*stack_level* is a positive number giving a number of stack frames; the " +"warning will be issued from the currently executing line of code in that " +"stack frame. A *stack_level* of 1 is the function calling :c:func:" +"`PyErr_WarnEx`, 2 is the function above that, and so forth." +msgstr "" +"Видавати попереджувальне повідомлення. Аргумент *category* є категорією " +"попередження (див. нижче) або ``NULL``; аргумент *message* — це рядок у " +"кодуванні UTF-8. *stack_level* — додатне число, яке дає кількість кадрів " +"стека; попередження буде видано з поточного рядка коду в цьому фреймі стека. " +"*Stack_level* 1 — це функція, яка викликає :c:func:`PyErr_WarnEx`, 2 — це " +"функція, яка стоїть вище, і так далі." + +msgid "" +"Warning categories must be subclasses of :c:data:`PyExc_Warning`; :c:data:" +"`PyExc_Warning` is a subclass of :c:data:`PyExc_Exception`; the default " +"warning category is :c:data:`PyExc_RuntimeWarning`. The standard Python " +"warning categories are available as global variables whose names are " +"enumerated at :ref:`standardwarningcategories`." +msgstr "" +"Категорії попереджень мають бути підкласами :c:data:`PyExc_Warning`; :c:data:" +"`PyExc_Warning` є підкласом :c:data:`PyExc_Exception`; стандартна категорія " +"попередження: :c:data:`PyExc_RuntimeWarning`. Стандартні категорії " +"попереджень Python доступні як глобальні змінні, імена яких пронумеровані в :" +"ref:`standardwarningcategories`." + +msgid "" +"For information about warning control, see the documentation for the :mod:" +"`warnings` module and the :option:`-W` option in the command line " +"documentation. There is no C API for warning control." +msgstr "" +"Щоб отримати інформацію про керування попередженнями, перегляньте " +"документацію до модуля :mod:`warnings` і опції :option:`-W` у документації " +"командного рядка. Немає C API для керування попередженнями." + +msgid "" +"Issue a warning message with explicit control over all warning attributes. " +"This is a straightforward wrapper around the Python function :func:`warnings." +"warn_explicit`; see there for more information. The *module* and *registry* " +"arguments may be set to ``NULL`` to get the default effect described there." +msgstr "" +"Видавати попереджувальне повідомлення з явним керуванням усіма атрибутами " +"попередження. Це проста обгортка функції Python :func:`warnings." +"warn_explicit`; дивіться там для отримання додаткової інформації. Для " +"аргументів *module* і *registry* можна встановити значення ``NULL``, щоб " +"отримати описаний там ефект за замовчуванням." + +msgid "" +"Similar to :c:func:`PyErr_WarnExplicitObject` except that *message* and " +"*module* are UTF-8 encoded strings, and *filename* is decoded from the :term:" +"`filesystem encoding and error handler`." +msgstr "" +"Подібно до :c:func:`PyErr_WarnExplicitObject`, за винятком того, що " +"*message* і *module* є рядками в кодуванні UTF-8, а *filename* декодується " +"з :term:`filesystem encoding and error handler`." + +msgid "" +"Function similar to :c:func:`PyErr_WarnEx`, but use :c:func:" +"`PyUnicode_FromFormat` to format the warning message. *format* is an ASCII-" +"encoded string." +msgstr "" +"Функція схожа на :c:func:`PyErr_WarnEx`, але використовуйте :c:func:" +"`PyUnicode_FromFormat` для форматування повідомлення попередження. *format* " +"— це рядок у кодуванні ASCII." + +msgid "" +"Function similar to :c:func:`PyErr_WarnFormat`, but *category* is :exc:" +"`ResourceWarning` and it passes *source* to :func:`warnings.WarningMessage`." +msgstr "" +"Функція схожа на :c:func:`PyErr_WarnFormat`, але *category* має значення :" +"exc:`ResourceWarning` і вона передає *source* до :func:`warnings." +"WarningMessage`." + +msgid "Querying the error indicator" +msgstr "Запит індикатора помилки" + +msgid "" +"Test whether the error indicator is set. If set, return the exception " +"*type* (the first argument to the last call to one of the ``PyErr_Set*`` " +"functions or to :c:func:`PyErr_Restore`). If not set, return ``NULL``. You " +"do not own a reference to the return value, so you do not need to :c:func:" +"`Py_DECREF` it." +msgstr "" + +msgid "The caller must hold the GIL." +msgstr "Абонент повинен тримати GIL." + +msgid "" +"Do not compare the return value to a specific exception; use :c:func:" +"`PyErr_ExceptionMatches` instead, shown below. (The comparison could easily " +"fail since the exception may be an instance instead of a class, in the case " +"of a class exception, or it may be a subclass of the expected exception.)" +msgstr "" +"Не порівнюйте повернуте значення з певним винятком; замість цього " +"використовуйте :c:func:`PyErr_ExceptionMatches`, як показано нижче. " +"(Порівняння може бути легко невдалим, оскільки виняток може бути екземпляром " +"замість класу, у випадку винятку класу, або він може бути підкласом " +"очікуваного винятку.)" + +msgid "" +"Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. This " +"should only be called when an exception is actually set; a memory access " +"violation will occur if no exception has been raised." +msgstr "" +"Еквівалент ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. Це слід " +"викликати лише тоді, коли фактично встановлено виняток; порушення доступу до " +"пам'яті відбудеться, якщо не було викликано жодного винятку." + +msgid "" +"Return true if the *given* exception matches the exception type in *exc*. " +"If *exc* is a class object, this also returns true when *given* is an " +"instance of a subclass. If *exc* is a tuple, all exception types in the " +"tuple (and recursively in subtuples) are searched for a match." +msgstr "" +"Повертає true, якщо *given* виняток відповідає типу винятку в *exc*. Якщо " +"*exc* є об’єктом класу, це також повертає true, коли *given* є екземпляром " +"підкласу. Якщо *exc* є кортежем, усі типи винятків у кортежі (і рекурсивно в " +"підкортежах) шукаються на відповідність." + +msgid "" +"Retrieve the error indicator into three variables whose addresses are " +"passed. If the error indicator is not set, set all three variables to " +"``NULL``. If it is set, it will be cleared and you own a reference to each " +"object retrieved. The value and traceback object may be ``NULL`` even when " +"the type object is not." +msgstr "" +"Отримати індикатор помилки в трьох змінних, адреси яких передано. Якщо " +"індикатор помилки не встановлено, установіть для всіх трьох змінних значення " +"``NULL``. Якщо його встановлено, його буде очищено, і ви матимете посилання " +"на кожен отриманий об’єкт. Значення та об’єкт трасування можуть бути " +"``NULL``, навіть якщо об’єкт типу не є таким." + +msgid "" +"This function is normally only used by code that needs to catch exceptions " +"or by code that needs to save and restore the error indicator temporarily, e." +"g.::" +msgstr "" +"Зазвичай ця функція використовується лише кодом, який має перехоплювати " +"винятки, або кодом, якому потрібно тимчасово зберегти та відновити індикатор " +"помилки, наприклад::" + +msgid "" +"Set the error indicator from the three objects. If the error indicator is " +"already set, it is cleared first. If the objects are ``NULL``, the error " +"indicator is cleared. Do not pass a ``NULL`` type and non-``NULL`` value or " +"traceback. The exception type should be a class. Do not pass an invalid " +"exception type or value. (Violating these rules will cause subtle problems " +"later.) This call takes away a reference to each object: you must own a " +"reference to each object before the call and after the call you no longer " +"own these references. (If you don't understand this, don't use this " +"function. I warned you.)" +msgstr "" +"Встановіть індикатор помилки з трьох об’єктів. Якщо індикатор помилки вже " +"встановлено, він спочатку очищається. Якщо об’єкти мають значення ``NULL``, " +"індикатор помилки зникає. Не передавайте тип ``NULL`` і не-``NULL`` значення " +"або трасування. Тип винятку має бути класом. Не передавайте недійсний тип " +"або значення винятку. (Порушення цих правил пізніше спричинить незначні " +"проблеми.) Цей виклик забирає посилання на кожен об’єкт: ви повинні мати " +"посилання на кожен об’єкт до виклику, а після виклику ви більше не володієте " +"цими посиланнями. (Якщо ви цього не розумієте, не використовуйте цю функцію. " +"Я вас попереджав.)" + +msgid "" +"This function is normally only used by code that needs to save and restore " +"the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save the " +"current error indicator." +msgstr "" +"Ця функція зазвичай використовується лише кодом, якому потрібно тимчасово " +"зберегти та відновити індикатор помилки. Використовуйте :c:func:" +"`PyErr_Fetch`, щоб зберегти поточний індикатор помилки." + +msgid "" +"Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` " +"below can be \"unnormalized\", meaning that ``*exc`` is a class object but " +"``*val`` is not an instance of the same class. This function can be used " +"to instantiate the class in that case. If the values are already " +"normalized, nothing happens. The delayed normalization is implemented to " +"improve performance." +msgstr "" +"За певних обставин значення, які повертає :c:func:`PyErr_Fetch` нижче, " +"можуть бути \"ненормалізованими\", тобто ``*exc`` є об’єктом класу, але " +"``*val`` не є екземпляром того самого класу . У цьому випадку цю функцію " +"можна використовувати для створення екземпляра класу. Якщо значення вже " +"нормалізовані, нічого не відбувається. Відкладену нормалізацію реалізовано " +"для покращення продуктивності." + +msgid "" +"This function *does not* implicitly set the ``__traceback__`` attribute on " +"the exception value. If setting the traceback appropriately is desired, the " +"following additional snippet is needed::" +msgstr "" +"Ця функція *не* неявно встановлює атрибут ``__traceback__`` для значення " +"винятку. Якщо потрібно правильно налаштувати відстеження, потрібен наступний " +"додатковий фрагмент:" + +msgid "" +"Retrieve the active exception instance, as would be returned by :func:`sys." +"exception`. This refers to an exception that was *already caught*, not to an " +"exception that was freshly raised. Returns a new reference to the exception " +"or ``NULL``. Does not modify the interpreter's exception state." +msgstr "" + +msgid "" +"This function is not normally used by code that wants to handle exceptions. " +"Rather, it can be used when code needs to save and restore the exception " +"state temporarily. Use :c:func:`PyErr_SetHandledException` to restore or " +"clear the exception state." +msgstr "" + +msgid "" +"Set the active exception, as known from ``sys.exception()``. This refers to " +"an exception that was *already caught*, not to an exception that was freshly " +"raised. To clear the exception state, pass ``NULL``." +msgstr "" + +msgid "" +"This function is not normally used by code that wants to handle exceptions. " +"Rather, it can be used when code needs to save and restore the exception " +"state temporarily. Use :c:func:`PyErr_GetHandledException` to get the " +"exception state." +msgstr "" + +msgid "" +"Retrieve the old-style representation of the exception info, as known from :" +"func:`sys.exc_info`. This refers to an exception that was *already caught*, " +"not to an exception that was freshly raised. Returns new references for the " +"three objects, any of which may be ``NULL``. Does not modify the exception " +"info state. This function is kept for backwards compatibility. Prefer " +"using :c:func:`PyErr_GetHandledException`." +msgstr "" + +msgid "" +"This function is not normally used by code that wants to handle exceptions. " +"Rather, it can be used when code needs to save and restore the exception " +"state temporarily. Use :c:func:`PyErr_SetExcInfo` to restore or clear the " +"exception state." +msgstr "" +"Ця функція зазвичай не використовується кодом, який хоче обробляти винятки. " +"Натомість його можна використовувати, коли коду потрібно тимчасово зберегти " +"та відновити винятковий стан. Використовуйте :c:func:`PyErr_SetExcInfo`, щоб " +"відновити або видалити винятковий стан." + +msgid "" +"Set the exception info, as known from ``sys.exc_info()``. This refers to an " +"exception that was *already caught*, not to an exception that was freshly " +"raised. This function steals the references of the arguments. To clear the " +"exception state, pass ``NULL`` for all three arguments. This function is " +"kept for backwards compatibility. Prefer using :c:func:" +"`PyErr_SetHandledException`." +msgstr "" + +msgid "" +"This function is not normally used by code that wants to handle exceptions. " +"Rather, it can be used when code needs to save and restore the exception " +"state temporarily. Use :c:func:`PyErr_GetExcInfo` to read the exception " +"state." +msgstr "" +"Ця функція зазвичай не використовується кодом, який хоче обробляти винятки. " +"Натомість його можна використовувати, коли коду потрібно тимчасово зберегти " +"та відновити винятковий стан. Використовуйте :c:func:`PyErr_GetExcInfo`, щоб " +"прочитати винятковий стан." + +msgid "" +"The ``type`` and ``traceback`` arguments are no longer used and can be NULL. " +"The interpreter now derives them from the exception instance (the ``value`` " +"argument). The function still steals references of all three arguments." +msgstr "" + +msgid "Signal Handling" +msgstr "Обробка сигналів" + +msgid "This function interacts with Python's signal handling." +msgstr "Ця функція взаємодіє з обробкою сигналів Python." + +msgid "" +"If the function is called from the main thread and under the main Python " +"interpreter, it checks whether a signal has been sent to the processes and " +"if so, invokes the corresponding signal handler. If the :mod:`signal` " +"module is supported, this can invoke a signal handler written in Python." +msgstr "" +"Якщо функція викликається з головного потоку та під основним інтерпретатором " +"Python, вона перевіряє, чи було надіслано сигнал до процесів, і якщо так, " +"викликає відповідний обробник сигналу. Якщо модуль :mod:`signal` " +"підтримується, це може викликати обробник сигналів, написаний на Python." + +msgid "" +"The function attempts to handle all pending signals, and then returns ``0``. " +"However, if a Python signal handler raises an exception, the error indicator " +"is set and the function returns ``-1`` immediately (such that other pending " +"signals may not have been handled yet: they will be on the next :c:func:" +"`PyErr_CheckSignals()` invocation)." +msgstr "" +"Функція намагається обробити всі незавершені сигнали, а потім повертає " +"``0``. Однак, якщо обробник сигналів Python викликає виняток, індикатор " +"помилки встановлюється, і функція негайно повертає ``-1`` (наприклад, інші " +"сигнали, що очікують на розгляд, ще не були оброблені: вони будуть на " +"наступному :c:func:`PyErr_CheckSignals()` виклик)." + +msgid "" +"If the function is called from a non-main thread, or under a non-main Python " +"interpreter, it does nothing and returns ``0``." +msgstr "" +"Якщо функція викликається з неосновного потоку або під неосновним " +"інтерпретатором Python, вона нічого не робить і повертає ``0``." + +msgid "" +"This function can be called by long-running C code that wants to be " +"interruptible by user requests (such as by pressing Ctrl-C)." +msgstr "" +"Ця функція може бути викликана довгостроковим кодом C, який хоче бути " +"перерваним запитами користувача (наприклад, натисканням Ctrl-C)." + +msgid "" +"The default Python signal handler for :const:`SIGINT` raises the :exc:" +"`KeyboardInterrupt` exception." +msgstr "" +"Стандартний обробник сигналу Python для :const:`SIGINT` викликає виняток :" +"exc:`KeyboardInterrupt`." + +msgid "" +"Simulate the effect of a :const:`SIGINT` signal arriving. This is equivalent " +"to ``PyErr_SetInterruptEx(SIGINT)``." +msgstr "" +"Імітація ефекту надходження сигналу :const:`SIGINT`. Це еквівалентно " +"``PyErr_SetInterruptEx(SIGINT)``." + +msgid "" +"This function is async-signal-safe. It can be called without the :term:" +"`GIL` and from a C signal handler." +msgstr "" +"Ця функція безпечна для асинхронного сигналу. Його можна викликати без :term:" +"`GIL` і з обробника сигналів C." + +msgid "" +"Simulate the effect of a signal arriving. The next time :c:func:" +"`PyErr_CheckSignals` is called, the Python signal handler for the given " +"signal number will be called." +msgstr "" +"Імітація ефекту надходження сигналу. Під час наступного виклику :c:func:" +"`PyErr_CheckSignals` буде викликано обробник сигналу Python для заданого " +"номера сигналу." + +msgid "" +"This function can be called by C code that sets up its own signal handling " +"and wants Python signal handlers to be invoked as expected when an " +"interruption is requested (for example when the user presses Ctrl-C to " +"interrupt an operation)." +msgstr "" +"Цю функцію можна викликати за допомогою коду C, який налаштовує власну " +"обробку сигналів і хоче, щоб обробники сигналів Python викликалися належним " +"чином, коли надходить запит на переривання (наприклад, коли користувач " +"натискає Ctrl-C, щоб перервати операцію)." + +msgid "" +"If the given signal isn't handled by Python (it was set to :data:`signal." +"SIG_DFL` or :data:`signal.SIG_IGN`), it will be ignored." +msgstr "" +"Якщо вказаний сигнал не обробляється Python (для нього встановлено значення :" +"data:`signal.SIG_DFL` або :data:`signal.SIG_IGN`), він буде проігнорований." + +msgid "" +"If *signum* is outside of the allowed range of signal numbers, ``-1`` is " +"returned. Otherwise, ``0`` is returned. The error indicator is never " +"changed by this function." +msgstr "" +"Якщо *signum* знаходиться за межами дозволеного діапазону чисел сигналу, " +"повертається ``-1``. В іншому випадку повертається ``0``. Ця функція ніколи " +"не змінює індикатор помилки." + +msgid "" +"This utility function specifies a file descriptor to which the signal number " +"is written as a single byte whenever a signal is received. *fd* must be non-" +"blocking. It returns the previous such file descriptor." +msgstr "" +"Ця допоміжна функція вказує дескриптор файлу, до якого номер сигналу " +"записується як один байт кожного разу, коли надходить сигнал. *fd* має бути " +"неблокуючим. Він повертає попередній такий файловий дескриптор." + +msgid "" +"The value ``-1`` disables the feature; this is the initial state. This is " +"equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error " +"checking. *fd* should be a valid file descriptor. The function should only " +"be called from the main thread." +msgstr "" +"Значення ``-1`` вимикає функцію; це початковий стан. Це еквівалентно :func:" +"`signal.set_wakeup_fd` у Python, але без перевірки помилок. *fd* має бути " +"дійсним дескриптором файлу. Функцію слід викликати лише з основного потоку." + +msgid "On Windows, the function now also supports socket handles." +msgstr "У Windows функція тепер також підтримує ручки сокетів." + +msgid "Exception Classes" +msgstr "Виняткові класи" + +msgid "" +"This utility function creates and returns a new exception class. The *name* " +"argument must be the name of the new exception, a C string of the form " +"``module.classname``. The *base* and *dict* arguments are normally " +"``NULL``. This creates a class object derived from :exc:`Exception` " +"(accessible in C as :c:data:`PyExc_Exception`)." +msgstr "" +"Ця службова функція створює та повертає новий клас винятків. Аргумент *name* " +"має бути назвою нового винятку, рядком C у формі ``module.classname``. " +"Аргументи *base* і *dict* зазвичай мають значення ``NULL``. Це створює " +"об’єкт класу, похідний від :exc:`Exception` (доступний у C як :c:data:" +"`PyExc_Exception`)." + +msgid "" +"The :attr:`__module__` attribute of the new class is set to the first part " +"(up to the last dot) of the *name* argument, and the class name is set to " +"the last part (after the last dot). The *base* argument can be used to " +"specify alternate base classes; it can either be only one class or a tuple " +"of classes. The *dict* argument can be used to specify a dictionary of class " +"variables and methods." +msgstr "" +"Атрибут :attr:`__module__` нового класу встановлюється на першу частину (до " +"останньої крапки) аргументу *name*, а ім’я класу встановлюється на останню " +"частину (після останньої крапки). Аргумент *base* можна використовувати для " +"визначення альтернативних базових класів; це може бути лише один клас або " +"кортеж класів. Аргумент *dict* можна використовувати для визначення словника " +"змінних класу та методів." + +msgid "" +"Same as :c:func:`PyErr_NewException`, except that the new exception class " +"can easily be given a docstring: If *doc* is non-``NULL``, it will be used " +"as the docstring for the exception class." +msgstr "" +"Те саме, що :c:func:`PyErr_NewException`, за винятком того, що новому класу " +"винятків можна легко надати рядок документації: якщо *doc* не є ``NULL``, " +"він використовуватиметься як рядок документації для класу винятків." + +msgid "Exception Objects" +msgstr "Об’єкти винятків" + +msgid "" +"Return the traceback associated with the exception as a new reference, as " +"accessible from Python through :attr:`__traceback__`. If there is no " +"traceback associated, this returns ``NULL``." +msgstr "" +"Повернути зворотне трасування, пов’язане з винятком, як нове посилання, " +"доступне з Python через :attr:`__traceback__`. Якщо зворотне відстеження не " +"пов’язане, повертається ``NULL``." + +msgid "" +"Set the traceback associated with the exception to *tb*. Use ``Py_None`` to " +"clear it." +msgstr "" +"Установіть для трасування, пов’язаного з винятком, значення *tb*. " +"Використовуйте ``Py_None``, щоб очистити його." + +msgid "" +"Return the context (another exception instance during whose handling *ex* " +"was raised) associated with the exception as a new reference, as accessible " +"from Python through :attr:`__context__`. If there is no context associated, " +"this returns ``NULL``." +msgstr "" +"Повертає контекст (інший екземпляр винятку, під час обробки якого було " +"викликано *ex*), пов’язаний із винятком як нове посилання, доступне з Python " +"через :attr:`__context__`. Якщо пов’язаного контексту немає, повертається " +"``NULL``." + +msgid "" +"Set the context associated with the exception to *ctx*. Use ``NULL`` to " +"clear it. There is no type check to make sure that *ctx* is an exception " +"instance. This steals a reference to *ctx*." +msgstr "" +"Установіть для контексту, пов’язаного з винятком, значення *ctx*. Щоб " +"очистити його, використовуйте ``NULL``. Немає перевірки типу, щоб " +"переконатися, що *ctx* є винятком. Це краде посилання на *ctx*." + +msgid "" +"Return the cause (either an exception instance, or :const:`None`, set by " +"``raise ... from ...``) associated with the exception as a new reference, as " +"accessible from Python through :attr:`__cause__`." +msgstr "" +"Повертає причину (або екземпляр винятку, або :const:`None`, встановлений " +"``raise ... from ...``), пов’язану з винятком як нове посилання, доступне з " +"Python через :attr:`__cause__`." + +msgid "" +"Set the cause associated with the exception to *cause*. Use ``NULL`` to " +"clear it. There is no type check to make sure that *cause* is either an " +"exception instance or :const:`None`. This steals a reference to *cause*." +msgstr "" +"Встановіть причину, пов’язану з винятком, на *cause*. Щоб очистити його, " +"використовуйте ``NULL``. Немає перевірки типу, щоб переконатися, що *cause* " +"є винятком або :const:`None`. Це краде посилання на *причину*." + +msgid "" +":attr:`__suppress_context__` is implicitly set to ``True`` by this function." +msgstr "" +":attr:`__suppress_context__` цією функцією неявно встановлено значення " +"``True``." + +msgid "Unicode Exception Objects" +msgstr "Виняткові об’єкти Unicode" + +msgid "" +"The following functions are used to create and modify Unicode exceptions " +"from C." +msgstr "" +"Наступні функції використовуються для створення та зміни винятків Unicode з " +"C." + +msgid "" +"Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, " +"*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " +"UTF-8 encoded strings." +msgstr "" +"Створіть об’єкт :class:`UnicodeDecodeError` з атрибутами *encoding*, " +"*object*, *length*, *start*, *end* і *reason*. *encoding* і *reason* є " +"рядками в кодуванні UTF-8." + +msgid "Return the *encoding* attribute of the given exception object." +msgstr "Повертає атрибут *encoding* даного об’єкта винятку." + +msgid "Return the *object* attribute of the given exception object." +msgstr "Повертає атрибут *object* даного об’єкта винятку." + +msgid "" +"Get the *start* attribute of the given exception object and place it into *" +"\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` " +"on failure." +msgstr "" +"Отримайте атрибут *start* даного об’єкта винятку та помістіть його в *" +"\\*start*. *початок* не має бути ``NULL``. Повертає ``0`` в разі успіху, " +"``-1`` у випадку невдачі." + +msgid "" +"Set the *start* attribute of the given exception object to *start*. Return " +"``0`` on success, ``-1`` on failure." +msgstr "" +"Установіть для атрибута *start* даного об’єкта винятку значення *start*. " +"Повертає ``0`` в разі успіху, ``-1`` у випадку невдачі." + +msgid "" +"Get the *end* attribute of the given exception object and place it into *" +"\\*end*. *end* must not be ``NULL``. Return ``0`` on success, ``-1`` on " +"failure." +msgstr "" +"Отримайте атрибут *end* даного об’єкта винятку та помістіть його в *\\*end*. " +"*end* не має бути ``NULL``. Повертає ``0`` в разі успіху, ``-1`` у випадку " +"невдачі." + +msgid "" +"Set the *end* attribute of the given exception object to *end*. Return " +"``0`` on success, ``-1`` on failure." +msgstr "" +"Установіть для атрибута *end* даного об’єкта винятку значення *end*. " +"Повертає ``0`` в разі успіху, ``-1`` у випадку невдачі." + +msgid "Return the *reason* attribute of the given exception object." +msgstr "Повертає атрибут *reason* даного об’єкта винятку." + +msgid "" +"Set the *reason* attribute of the given exception object to *reason*. " +"Return ``0`` on success, ``-1`` on failure." +msgstr "" +"Установіть для атрибута *reason* даного об’єкта винятку значення *reason*. " +"Повертає ``0`` в разі успіху, ``-1`` у випадку невдачі." + +msgid "Recursion Control" +msgstr "Контроль рекурсії" + +msgid "" +"These two functions provide a way to perform safe recursive calls at the C " +"level, both in the core and in extension modules. They are needed if the " +"recursive code does not necessarily invoke Python code (which tracks its " +"recursion depth automatically). They are also not needed for *tp_call* " +"implementations because the :ref:`call protocol ` takes care of " +"recursion handling." +msgstr "" +"Ці дві функції забезпечують спосіб виконання безпечних рекурсивних викликів " +"на рівні C, як в ядрі, так і в модулях розширення. Вони потрібні, якщо " +"рекурсивний код не обов’язково викликає код Python (який автоматично " +"відстежує глибину рекурсії). Вони також не потрібні для реалізації " +"*tp_call*, оскільки :ref:`протокол виклику ` піклується про обробку " +"рекурсії." + +msgid "Marks a point where a recursive C-level call is about to be performed." +msgstr "Позначає точку, де має бути виконано рекурсивний виклик C-рівня." + +msgid "" +"If :const:`USE_STACKCHECK` is defined, this function checks if the OS stack " +"overflowed using :c:func:`PyOS_CheckStack`. In this is the case, it sets a :" +"exc:`MemoryError` and returns a nonzero value." +msgstr "" +"Якщо визначено :const:`USE_STACKCHECK`, ця функція перевіряє, чи не було " +"переповнено стек ОС за допомогою :c:func:`PyOS_CheckStack`. У цьому випадку " +"він встановлює :exc:`MemoryError` і повертає ненульове значення." + +msgid "" +"The function then checks if the recursion limit is reached. If this is the " +"case, a :exc:`RecursionError` is set and a nonzero value is returned. " +"Otherwise, zero is returned." +msgstr "" +"Потім функція перевіряє, чи досягнуто обмеження рекурсії. Якщо це так, " +"встановлюється :exc:`RecursionError` і повертається ненульове значення. В " +"іншому випадку повертається нуль." + +msgid "" +"*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` " +"to be concatenated to the :exc:`RecursionError` message caused by the " +"recursion depth limit." +msgstr "" +"*де* має бути рядок у кодуванні UTF-8, такий як ``\" у перевірці екземпляра" +"\"``, який об’єднується з повідомленням :exc:`RecursionError`, спричиненим " +"обмеженням глибини рекурсії." + +msgid "This function is now also available in the limited API." +msgstr "Ця функція тепер також доступна в обмеженому API." + +msgid "" +"Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " +"*successful* invocation of :c:func:`Py_EnterRecursiveCall`." +msgstr "" +"Завершує :c:func:`Py_EnterRecursiveCall`. Потрібно викликати один раз для " +"кожного *успішного* виклику :c:func:`Py_EnterRecursiveCall`." + +msgid "" +"Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " +"requires special recursion handling. In addition to protecting the stack, :" +"c:member:`~PyTypeObject.tp_repr` also needs to track objects to prevent " +"cycles. The following two functions facilitate this functionality. " +"Effectively, these are the C equivalent to :func:`reprlib.recursive_repr`." +msgstr "" +"Правильна реалізація :c:member:`~PyTypeObject.tp_repr` для типів контейнерів " +"вимагає спеціальної обробки рекурсії. Окрім захисту стека, :c:member:" +"`~PyTypeObject.tp_repr` також має відстежувати об’єкти, щоб запобігти " +"циклам. Наступні дві функції полегшують цю функцію. По суті, це C " +"еквівалент :func:`reprlib.recursive_repr`." + +msgid "" +"Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " +"implementation to detect cycles." +msgstr "" +"Викликається на початку реалізації :c:member:`~PyTypeObject.tp_repr` для " +"виявлення циклів." + +msgid "" +"If the object has already been processed, the function returns a positive " +"integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " +"should return a string object indicating a cycle. As examples, :class:" +"`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``." +msgstr "" +"Якщо об’єкт уже оброблено, функція повертає додатне ціле число. У цьому " +"випадку реалізація :c:member:`~PyTypeObject.tp_repr` має повертати рядковий " +"об’єкт, що вказує на цикл. Як приклад, об’єкти :class:`dict` повертають " +"``{...}``, а об’єкти :class:`list` повертають ``[...]``." + +msgid "" +"The function will return a negative integer if the recursion limit is " +"reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " +"should typically return ``NULL``." +msgstr "" +"Функція поверне від’ємне ціле число, якщо досягнуто обмеження рекурсії. У " +"цьому випадку реалізація :c:member:`~PyTypeObject.tp_repr` зазвичай повинна " +"повертати ``NULL``." + +msgid "" +"Otherwise, the function returns zero and the :c:member:`~PyTypeObject." +"tp_repr` implementation can continue normally." +msgstr "" +"В іншому випадку функція повертає нуль, і реалізація :c:member:" +"`~PyTypeObject.tp_repr` може продовжуватися нормально." + +msgid "" +"Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :" +"c:func:`Py_ReprEnter` that returns zero." +msgstr "" +"Завершує :c:func:`Py_ReprEnter`. Потрібно викликати один раз для кожного " +"виклику :c:func:`Py_ReprEnter`, який повертає нуль." + +msgid "Standard Exceptions" +msgstr "Стандартні винятки" + +msgid "" +"All standard Python exceptions are available as global variables whose names " +"are ``PyExc_`` followed by the Python exception name. These have the type :" +"c:expr:`PyObject*`; they are all class objects. For completeness, here are " +"all the variables:" +msgstr "" + +msgid "C Name" +msgstr "C Назва" + +msgid "Python Name" +msgstr "Назва Python" + +msgid "Notes" +msgstr "Примітки" + +msgid ":c:data:`PyExc_BaseException`" +msgstr ":c:data:`PyExc_BaseException`" + +msgid ":exc:`BaseException`" +msgstr ":exc:`BaseException`" + +msgid "[1]_" +msgstr "[1]_" + +msgid ":c:data:`PyExc_Exception`" +msgstr ":c:data:`PyExc_Exception`" + +msgid ":exc:`Exception`" +msgstr ":exc:`Exception`" + +msgid ":c:data:`PyExc_ArithmeticError`" +msgstr ":c:data:`PyExc_ArithmeticError`" + +msgid ":exc:`ArithmeticError`" +msgstr ":exc:`ArithmeticError`" + +msgid ":c:data:`PyExc_AssertionError`" +msgstr ":c:data:`PyExc_AssertionError`" + +msgid ":exc:`AssertionError`" +msgstr ":exc:`AssertionError`" + +msgid ":c:data:`PyExc_AttributeError`" +msgstr ":c:data:`PyExc_AttributeError`" + +msgid ":exc:`AttributeError`" +msgstr ":exc:`AttributeError`" + +msgid ":c:data:`PyExc_BlockingIOError`" +msgstr ":c:data:`PyExc_BlockingIOError`" + +msgid ":exc:`BlockingIOError`" +msgstr ":exc:`BlockingIOError`" + +msgid ":c:data:`PyExc_BrokenPipeError`" +msgstr ":c:data:`PyExc_BrokenPipeError`" + +msgid ":exc:`BrokenPipeError`" +msgstr ":exc:`Помилка BrokenPipeError`" + +msgid ":c:data:`PyExc_BufferError`" +msgstr ":c:data:`PyExc_BufferError`" + +msgid ":exc:`BufferError`" +msgstr ":exc:`BufferError`" + +msgid ":c:data:`PyExc_ChildProcessError`" +msgstr ":c:data:`PyExc_ChildProcessError`" + +msgid ":exc:`ChildProcessError`" +msgstr ":exc:`ChildProcessError`" + +msgid ":c:data:`PyExc_ConnectionAbortedError`" +msgstr ":c:data:`PyExc_ConnectionAbortedError`" + +msgid ":exc:`ConnectionAbortedError`" +msgstr ":exc:`ConnectionAbortedError`" + +msgid ":c:data:`PyExc_ConnectionError`" +msgstr ":c:data:`PyExc_ConnectionError`" + +msgid ":exc:`ConnectionError`" +msgstr ":exc:`ConnectionError`" + +msgid ":c:data:`PyExc_ConnectionRefusedError`" +msgstr ":c:data:`PyExc_ConnectionRefusedError`" + +msgid ":exc:`ConnectionRefusedError`" +msgstr ":exc:`ConnectionRefusedError`" + +msgid ":c:data:`PyExc_ConnectionResetError`" +msgstr ":c:data:`PyExc_ConnectionResetError`" + +msgid ":exc:`ConnectionResetError`" +msgstr ":exc:`ConnectionResetError`" + +msgid ":c:data:`PyExc_EOFError`" +msgstr ":c:data:`PyExc_EOFError`" + +msgid ":exc:`EOFError`" +msgstr ":exc:`EOFError`" + +msgid ":c:data:`PyExc_FileExistsError`" +msgstr ":c:data:`PyExc_FileExistsError`" + +msgid ":exc:`FileExistsError`" +msgstr ":exc:`FileExistsError`" + +msgid ":c:data:`PyExc_FileNotFoundError`" +msgstr ":c:data:`PyExc_FileNotFoundError`" + +msgid ":exc:`FileNotFoundError`" +msgstr ":exc:`FileNotFoundError`" + +msgid ":c:data:`PyExc_FloatingPointError`" +msgstr ":c:data:`PyExc_FloatingPointError`" + +msgid ":exc:`FloatingPointError`" +msgstr ":exc:`FloatingPointError`" + +msgid ":c:data:`PyExc_GeneratorExit`" +msgstr ":c:data:`PyExc_GeneratorExit`" + +msgid ":exc:`GeneratorExit`" +msgstr ":exc:`GeneratorExit`" + +msgid ":c:data:`PyExc_ImportError`" +msgstr ":c:data:`PyExc_ImportError`" + +msgid ":exc:`ImportError`" +msgstr ":exc:`ImportError`" + +msgid ":c:data:`PyExc_IndentationError`" +msgstr ":c:data:`PyExc_IndentationError`" + +msgid ":exc:`IndentationError`" +msgstr ":exc:`IndentationError`" + +msgid ":c:data:`PyExc_IndexError`" +msgstr ":c:data:`PyExc_IndexError`" + +msgid ":exc:`IndexError`" +msgstr ":exc:`IndexError`" + +msgid ":c:data:`PyExc_InterruptedError`" +msgstr ":c:data:`PyExc_InterruptedError`" + +msgid ":exc:`InterruptedError`" +msgstr ":exc:`InterruptedError`" + +msgid ":c:data:`PyExc_IsADirectoryError`" +msgstr ":c:data:`PyExc_IsADirectoryError`" + +msgid ":exc:`IsADirectoryError`" +msgstr ":exc:`IsADirectoryError`" + +msgid ":c:data:`PyExc_KeyError`" +msgstr ":c:data:`PyExc_KeyError`" + +msgid ":exc:`KeyError`" +msgstr ":exc:`KeyError`" + +msgid ":c:data:`PyExc_KeyboardInterrupt`" +msgstr ":c:data:`PyExc_KeyboardInterrupt`" + +msgid ":exc:`KeyboardInterrupt`" +msgstr ":exc:`KeyboardInterrupt`" + +msgid ":c:data:`PyExc_LookupError`" +msgstr ":c:data:`PyExc_LookupError`" + +msgid ":exc:`LookupError`" +msgstr ":exc:`LookupError`" + +msgid ":c:data:`PyExc_MemoryError`" +msgstr ":c:data:`PyExc_MemoryError`" + +msgid ":exc:`MemoryError`" +msgstr ":exc:`помилка пам'яті`" + +msgid ":c:data:`PyExc_ModuleNotFoundError`" +msgstr ":c:data:`PyExc_ModuleNotFoundError`" + +msgid ":exc:`ModuleNotFoundError`" +msgstr ":exc:`ModuleNotFoundError`" + +msgid ":c:data:`PyExc_NameError`" +msgstr ":c:data:`PyExc_NameError`" + +msgid ":exc:`NameError`" +msgstr ":exc:`NameError`" + +msgid ":c:data:`PyExc_NotADirectoryError`" +msgstr ":c:data:`PyExc_NotADirectoryError`" + +msgid ":exc:`NotADirectoryError`" +msgstr ":exc:`NotADirectoryError`" + +msgid ":c:data:`PyExc_NotImplementedError`" +msgstr ":c:data:`PyExc_NotImplementedError`" + +msgid ":exc:`NotImplementedError`" +msgstr ":exc:`NotImplementedError`" + +msgid ":c:data:`PyExc_OSError`" +msgstr ":c:data:`PyExc_OSError`" + +msgid ":exc:`OSError`" +msgstr ":exc:`OSError`" + +msgid ":c:data:`PyExc_OverflowError`" +msgstr ":c:data:`PyExc_OverflowError`" + +msgid ":exc:`OverflowError`" +msgstr ":exc:`OverflowError`" + +msgid ":c:data:`PyExc_PermissionError`" +msgstr ":c:data:`PyExc_PermissionError`" + +msgid ":exc:`PermissionError`" +msgstr ":exc:`PermissionError`" + +msgid ":c:data:`PyExc_ProcessLookupError`" +msgstr ":c:data:`PyExc_ProcessLookupError`" + +msgid ":exc:`ProcessLookupError`" +msgstr ":exc:`ProcessLookupError`" + +msgid ":c:data:`PyExc_RecursionError`" +msgstr ":c:data:`PyExc_RecursionError`" + +msgid ":exc:`RecursionError`" +msgstr ":exc:`RecursionError`" + +msgid ":c:data:`PyExc_ReferenceError`" +msgstr ":c:data:`PyExc_ReferenceError`" + +msgid ":exc:`ReferenceError`" +msgstr ":exc:`ReferenceError`" + +msgid ":c:data:`PyExc_RuntimeError`" +msgstr ":c:data:`PyExc_RuntimeError`" + +msgid ":exc:`RuntimeError`" +msgstr ":exc:`RuntimeError`" + +msgid ":c:data:`PyExc_StopAsyncIteration`" +msgstr ":c:data:`PyExc_StopAsyncIteration`" + +msgid ":exc:`StopAsyncIteration`" +msgstr ":exc:`StopAsyncIteration`" + +msgid ":c:data:`PyExc_StopIteration`" +msgstr ":c:data:`PyExc_StopIteration`" + +msgid ":exc:`StopIteration`" +msgstr ":exc:`StopIteration`" + +msgid ":c:data:`PyExc_SyntaxError`" +msgstr ":c:data:`PyExc_SyntaxError`" + +msgid ":exc:`SyntaxError`" +msgstr ":exc:`SyntaxError`" + +msgid ":c:data:`PyExc_SystemError`" +msgstr ":c:data:`PyExc_SystemError`" + +msgid ":exc:`SystemError`" +msgstr ":exc:`SystemError`" + +msgid ":c:data:`PyExc_SystemExit`" +msgstr ":c:data:`PyExc_SystemExit`" + +msgid ":exc:`SystemExit`" +msgstr ":exc:`SystemError`" + +msgid ":c:data:`PyExc_TabError`" +msgstr ":c:data:`PyExc_TabError`" + +msgid ":exc:`TabError`" +msgstr ":exc:`TabError`" + +msgid ":c:data:`PyExc_TimeoutError`" +msgstr ":c:data:`PyExc_TimeoutError`" + +msgid ":exc:`TimeoutError`" +msgstr ":exc:`TimeoutError`" + +msgid ":c:data:`PyExc_TypeError`" +msgstr ":c:data:`PyExc_TypeError`" + +msgid ":exc:`TypeError`" +msgstr ":exc:`TypeError`" + +msgid ":c:data:`PyExc_UnboundLocalError`" +msgstr ":c:data:`PyExc_UnboundLocalError`" + +msgid ":exc:`UnboundLocalError`" +msgstr ":exc:`UnboundLocalError`" + +msgid ":c:data:`PyExc_UnicodeDecodeError`" +msgstr ":c:data:`PyExc_UnicodeDecodeError`" + +msgid ":exc:`UnicodeDecodeError`" +msgstr ":exc:`Помилка UnicodeDecodeError`" + +msgid ":c:data:`PyExc_UnicodeEncodeError`" +msgstr ":c:data:`PyExc_UnicodeEncodeError`" + +msgid ":exc:`UnicodeEncodeError`" +msgstr ":exc:`UnicodeEncodeError`" + +msgid ":c:data:`PyExc_UnicodeError`" +msgstr ":c:data:`PyExc_UnicodeError`" + +msgid ":exc:`UnicodeError`" +msgstr ":exc:`Помилка Unicode`" + +msgid ":c:data:`PyExc_UnicodeTranslateError`" +msgstr ":c:data:`PyExc_UnicodeTranslateError`" + +msgid ":exc:`UnicodeTranslateError`" +msgstr ":exc:`Помилка UnicodeTranslateError`" + +msgid ":c:data:`PyExc_ValueError`" +msgstr ":c:data:`PyExc_ValueError`" + +msgid ":exc:`ValueError`" +msgstr ":exc:`ValueError`" + +msgid ":c:data:`PyExc_ZeroDivisionError`" +msgstr ":c:data:`PyExc_ZeroDivisionError`" + +msgid ":exc:`ZeroDivisionError`" +msgstr ":exc:`Помилка ZeroDivisionError`" + +msgid "" +":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" +"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" +"`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:" +"data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:" +"`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:" +"`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:" +"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` and :c:data:" +"`PyExc_TimeoutError` were introduced following :pep:`3151`." +msgstr "" +":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" +"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" +"`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:" +"data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:" +"`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:" +"`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:" +"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` і :c:data:" +"`PyExc_TimeoutError` були представлені після :pep:`3151`." + +msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." +msgstr ":c:data:`PyExc_StopAsyncIteration` і :c:data:`PyExc_RecursionError`." + +msgid ":c:data:`PyExc_ModuleNotFoundError`." +msgstr ":c:data:`PyExc_ModuleNotFoundError`." + +msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" +msgstr "Це псевдоніми сумісності з :c:data:`PyExc_OSError`:" + +msgid ":c:data:`PyExc_EnvironmentError`" +msgstr ":c:data:`PyExc_EnvironmentError`" + +msgid ":c:data:`PyExc_IOError`" +msgstr ":c:data:`PyExc_IOError`" + +msgid ":c:data:`PyExc_WindowsError`" +msgstr ":c:data:`PyExc_WindowsError`" + +msgid "[2]_" +msgstr "[2]_" + +msgid "These aliases used to be separate exception types." +msgstr "Раніше ці псевдоніми були окремими типами винятків." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "This is a base class for other standard exceptions." +msgstr "Це базовий клас для інших стандартних винятків." + +msgid "" +"Only defined on Windows; protect code that uses this by testing that the " +"preprocessor macro ``MS_WINDOWS`` is defined." +msgstr "" +"Визначається лише в Windows; захистити код, який використовує це, " +"перевіривши, чи визначено макрос препроцесора ``MS_WINDOWS``." + +msgid "Standard Warning Categories" +msgstr "Стандартні категорії попереджень" + +msgid "" +"All standard Python warning categories are available as global variables " +"whose names are ``PyExc_`` followed by the Python exception name. These have " +"the type :c:expr:`PyObject*`; they are all class objects. For completeness, " +"here are all the variables:" +msgstr "" + +msgid ":c:data:`PyExc_Warning`" +msgstr ":c:data:`PyExc_Warning`" + +msgid ":exc:`Warning`" +msgstr ":exc:`Warning`" + +msgid "[3]_" +msgstr "[3]_" + +msgid ":c:data:`PyExc_BytesWarning`" +msgstr ":c:data:`PyExc_BytesWarning`" + +msgid ":exc:`BytesWarning`" +msgstr ":exc:`BytesWarning`" + +msgid ":c:data:`PyExc_DeprecationWarning`" +msgstr ":c:data:`PyExc_DeprecationWarning`" + +msgid ":exc:`DeprecationWarning`" +msgstr ":exc:`DeprecationWarning`" + +msgid ":c:data:`PyExc_FutureWarning`" +msgstr ":c:data:`PyExc_FutureWarning`" + +msgid ":exc:`FutureWarning`" +msgstr ":exc:`FutureWarning`" + +msgid ":c:data:`PyExc_ImportWarning`" +msgstr ":c:data:`PyExc_ImportWarning`" + +msgid ":exc:`ImportWarning`" +msgstr ":exc:`ImportWarning`" + +msgid ":c:data:`PyExc_PendingDeprecationWarning`" +msgstr ":c:data:`PyExc_PendingDeprecationWarning`" + +msgid ":exc:`PendingDeprecationWarning`" +msgstr ":exc:`PendingDeprecationWarning`" + +msgid ":c:data:`PyExc_ResourceWarning`" +msgstr ":c:data:`PyExc_ResourceWarning`" + +msgid ":exc:`ResourceWarning`" +msgstr ":exc:`ResourceWarning`" + +msgid ":c:data:`PyExc_RuntimeWarning`" +msgstr ":c:data:`PyExc_RuntimeWarning`" + +msgid ":exc:`RuntimeWarning`" +msgstr ":exc:`RuntimeWarning`" + +msgid ":c:data:`PyExc_SyntaxWarning`" +msgstr ":c:data:`PyExc_SyntaxWarning`" + +msgid ":exc:`SyntaxWarning`" +msgstr ":exc:`SyntaxWarning`" + +msgid ":c:data:`PyExc_UnicodeWarning`" +msgstr ":c:data:`PyExc_UnicodeWarning`" + +msgid ":exc:`UnicodeWarning`" +msgstr ":exc:`Попередження Unicode`" + +msgid ":c:data:`PyExc_UserWarning`" +msgstr ":c:data:`PyExc_UserWarning`" + +msgid ":exc:`UserWarning`" +msgstr ":exc:`UserWarning`" + +msgid ":c:data:`PyExc_ResourceWarning`." +msgstr ":c:data:`PyExc_ResourceWarning`." + +msgid "This is a base class for other standard warning categories." +msgstr "Це базовий клас для інших стандартних категорій попереджень." diff --git a/c-api/file.po b/c-api/file.po new file mode 100644 index 000000000..3a99f31a2 --- /dev/null +++ b/c-api/file.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "File Objects" +msgstr "Файлові об’єкти" + +msgid "" +"These APIs are a minimal emulation of the Python 2 C API for built-in file " +"objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support " +"from the C standard library. In Python 3, files and streams use the new :" +"mod:`io` module, which defines several layers over the low-level unbuffered " +"I/O of the operating system. The functions described below are convenience " +"C wrappers over these new APIs, and meant mostly for internal error " +"reporting in the interpreter; third-party code is advised to access the :mod:" +"`io` APIs instead." +msgstr "" + +msgid "" +"Create a Python file object from the file descriptor of an already opened " +"file *fd*. The arguments *name*, *encoding*, *errors* and *newline* can be " +"``NULL`` to use the defaults; *buffering* can be *-1* to use the default. " +"*name* is ignored and kept for backward compatibility. Return ``NULL`` on " +"failure. For a more comprehensive description of the arguments, please refer " +"to the :func:`io.open` function documentation." +msgstr "" +"Створіть файловий об’єкт Python із файлового дескриптора вже відкритого " +"файлу *fd*. Аргументи *name*, *encoding*, *errors* і *newline* можуть бути " +"``NULL`` для використання типових значень; *buffering* може бути *-1*, щоб " +"використовувати значення за замовчуванням. *name* ігнорується та " +"зберігається для зворотної сумісності. Повертає ``NULL`` у разі помилки. Щоб " +"отримати докладніший опис аргументів, зверніться до документації функції :" +"func:`io.open`." + +msgid "" +"Since Python streams have their own buffering layer, mixing them with OS-" +"level file descriptors can produce various issues (such as unexpected " +"ordering of data)." +msgstr "" +"Оскільки потоки Python мають власний рівень буферизації, змішування їх із " +"файловими дескрипторами рівня ОС може спричинити різноманітні проблеми " +"(наприклад, несподіване впорядкування даних)." + +msgid "Ignore *name* attribute." +msgstr "Ігнорувати атрибут *name*." + +msgid "" +"Return the file descriptor associated with *p* as an :c:expr:`int`. If the " +"object is an integer, its value is returned. If not, the object's :meth:" +"`~io.IOBase.fileno` method is called if it exists; the method must return an " +"integer, which is returned as the file descriptor value. Sets an exception " +"and returns ``-1`` on failure." +msgstr "" + +msgid "" +"Equivalent to ``p.readline([n])``, this function reads one line from the " +"object *p*. *p* may be a file object or any object with a :meth:`~io.IOBase." +"readline` method. If *n* is ``0``, exactly one line is read, regardless of " +"the length of the line. If *n* is greater than ``0``, no more than *n* " +"bytes will be read from the file; a partial line can be returned. In both " +"cases, an empty string is returned if the end of the file is reached " +"immediately. If *n* is less than ``0``, however, one line is read " +"regardless of length, but :exc:`EOFError` is raised if the end of the file " +"is reached immediately." +msgstr "" +"Еквівалентна ``p.readline([n])``, ця функція читає один рядок з об’єкта *p*. " +"*p* може бути файловим об’єктом або будь-яким об’єктом із методом :meth:`~io." +"IOBase.readline`. Якщо *n* дорівнює ``0``, читається рівно один рядок, " +"незалежно від довжини рядка. Якщо *n* більше ніж ``0``, з файлу буде " +"прочитано не більше ніж *n* байт; можна повернути часткову лінію. В обох " +"випадках повертається порожній рядок, якщо кінець файлу досягнуто негайно. " +"Однак якщо *n* менше ніж ``0``, один рядок читається незалежно від довжини, " +"але :exc:`EOFError` викликається, якщо кінець файлу досягнуто негайно." + +msgid "" +"Overrides the normal behavior of :func:`io.open_code` to pass its parameter " +"through the provided handler." +msgstr "" +"Перевизначає звичайну поведінку :func:`io.open_code` для передачі його " +"параметра через наданий обробник." + +msgid "" +"The handler is a function of type :c:expr:`PyObject *(\\*)(PyObject *path, " +"void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`." +msgstr "" + +msgid "" +"The *userData* pointer is passed into the hook function. Since hook " +"functions may be called from different runtimes, this pointer should not " +"refer directly to Python state." +msgstr "" +"Покажчик *userData* передається в функцію-перехоплювач. Оскільки функції " +"підключення можуть викликатися з різних середовищ виконання, цей вказівник " +"не повинен посилатися безпосередньо на стан Python." + +msgid "" +"As this hook is intentionally used during import, avoid importing new " +"modules during its execution unless they are known to be frozen or available " +"in ``sys.modules``." +msgstr "" +"Оскільки цей хук навмисно використовується під час імпорту, уникайте імпорту " +"нових модулів під час його виконання, якщо тільки відомо, що вони заморожені " +"або доступні в ``sys.modules``." + +msgid "" +"Once a hook has been set, it cannot be removed or replaced, and later calls " +"to :c:func:`PyFile_SetOpenCodeHook` will fail. On failure, the function " +"returns -1 and sets an exception if the interpreter has been initialized." +msgstr "" +"Після того, як хук встановлено, його не можна видалити або замінити, а " +"пізніші виклики :c:func:`PyFile_SetOpenCodeHook` не вдадуться. У разі " +"помилки функція повертає -1 і встановлює виняток, якщо інтерпретатор був " +"ініціалізований." + +msgid "This function is safe to call before :c:func:`Py_Initialize`." +msgstr "Цю функцію безпечно викликати перед :c:func:`Py_Initialize`." + +msgid "" +"Raises an :ref:`auditing event ` ``setopencodehook`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``setopencodehook`` без аргументів." + +msgid "" +"Write object *obj* to file object *p*. The only supported flag for *flags* " +"is :const:`Py_PRINT_RAW`; if given, the :func:`str` of the object is written " +"instead of the :func:`repr`. Return ``0`` on success or ``-1`` on failure; " +"the appropriate exception will be set." +msgstr "" +"Записати об’єкт *obj* у файловий об’єкт *p*. Єдиним підтримуваним прапором " +"для *flags* є :const:`Py_PRINT_RAW`; якщо задано, замість :func:`repr` " +"записується :func:`str` об’єкта. Повертає ``0`` у разі успіху або ``-1`` у " +"разі невдачі; буде встановлено відповідний виняток." + +msgid "" +"Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on " +"failure; the appropriate exception will be set." +msgstr "" +"Записати рядок *s* до файлового об’єкта *p*. Повертає ``0`` у разі успіху " +"або ``-1`` у разі невдачі; буде встановлено відповідний виняток." diff --git a/c-api/float.po b/c-api/float.po new file mode 100644 index 000000000..85e747dfb --- /dev/null +++ b/c-api/float.po @@ -0,0 +1,198 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Floating Point Objects" +msgstr "Об'єкти з плаваючою комою" + +msgid "" +"This subtype of :c:type:`PyObject` represents a Python floating point object." +msgstr "" +"Цей підтип :c:type:`PyObject` представляє об’єкт з плаваючою комою Python." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python floating point " +"type. This is the same object as :class:`float` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип Python з плаваючою " +"комою. Це той самий об’єкт, що й :class:`float` на рівні Python." + +msgid "" +"Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:" +"type:`PyFloatObject`. This function always succeeds." +msgstr "" +"Повертає true, якщо його аргумент є :c:type:`PyFloatObject` або підтипом :c:" +"type:`PyFloatObject`. Ця функція завжди успішна." + +msgid "" +"Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype " +"of :c:type:`PyFloatObject`. This function always succeeds." +msgstr "" +"Повертає true, якщо його аргумент є :c:type:`PyFloatObject`, але не " +"підтипом :c:type:`PyFloatObject`. Ця функція завжди успішна." + +msgid "" +"Create a :c:type:`PyFloatObject` object based on the string value in *str*, " +"or ``NULL`` on failure." +msgstr "" +"Створіть об’єкт :c:type:`PyFloatObject` на основі рядкового значення в *str* " +"або ``NULL`` у разі помилки." + +msgid "" +"Create a :c:type:`PyFloatObject` object from *v*, or ``NULL`` on failure." +msgstr "" +"Створіть об’єкт :c:type:`PyFloatObject` з *v* або ``NULL`` у разі помилки." + +msgid "" +"Return a C :c:expr:`double` representation of the contents of *pyfloat*. If " +"*pyfloat* is not a Python floating point object but has a :meth:`__float__` " +"method, this method will first be called to convert *pyfloat* into a float. " +"If ``__float__()`` is not defined then it falls back to :meth:`__index__`. " +"This method returns ``-1.0`` upon failure, so one should call :c:func:" +"`PyErr_Occurred` to check for errors." +msgstr "" + +msgid "Use :meth:`__index__` if available." +msgstr "Використовуйте :meth:`__index__`, якщо доступний." + +msgid "" +"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but " +"without error checking." +msgstr "" + +msgid "" +"Return a structseq instance which contains information about the precision, " +"minimum and maximum values of a float. It's a thin wrapper around the header " +"file :file:`float.h`." +msgstr "" +"Повертає екземпляр structseq, який містить інформацію про точність, " +"мінімальне та максимальне значення float. Це тонка обгортка навколо файлу " +"заголовка :file:`float.h`." + +msgid "" +"Return the maximum representable finite float *DBL_MAX* as C :c:expr:" +"`double`." +msgstr "" + +msgid "" +"Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`." +msgstr "" + +msgid "Pack and Unpack functions" +msgstr "" + +msgid "" +"The pack and unpack functions provide an efficient platform-independent way " +"to store floating-point values as byte strings. The Pack routines produce a " +"bytes string from a C :c:expr:`double`, and the Unpack routines produce a C :" +"c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies " +"the number of bytes in the bytes string." +msgstr "" + +msgid "" +"On platforms that appear to use IEEE 754 formats these functions work by " +"copying bits. On other platforms, the 2-byte format is identical to the IEEE " +"754 binary16 half-precision format, the 4-byte format (32-bit) is identical " +"to the IEEE 754 binary32 single precision format, and the 8-byte format to " +"the IEEE 754 binary64 double precision format, although the packing of INFs " +"and NaNs (if such things exist on the platform) isn't handled correctly, and " +"attempting to unpack a bytes string containing an IEEE INF or NaN will raise " +"an exception." +msgstr "" + +msgid "" +"On non-IEEE platforms with more precision, or larger dynamic range, than " +"IEEE 754 supports, not all values can be packed; on non-IEEE platforms with " +"less precision, or smaller dynamic range, not all values can be unpacked. " +"What happens in such cases is partly accidental (alas)." +msgstr "" + +msgid "Pack functions" +msgstr "" + +msgid "" +"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:" +"`int` argument, non-zero if you want the bytes string in little-endian " +"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you " +"want big-endian format (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` " +"constant can be used to use the native endian: it is equal to ``1`` on big " +"endian processor, or ``0`` on little endian processor." +msgstr "" + +msgid "" +"Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, " +"most likely :exc:`OverflowError`)." +msgstr "" + +msgid "There are two problems on non-IEEE platforms:" +msgstr "" + +msgid "What this does is undefined if *x* is a NaN or infinity." +msgstr "" + +msgid "``-0.0`` and ``+0.0`` produce the same bytes string." +msgstr "" + +msgid "Pack a C double as the IEEE 754 binary16 half-precision format." +msgstr "" + +msgid "Pack a C double as the IEEE 754 binary32 single precision format." +msgstr "" + +msgid "Pack a C double as the IEEE 754 binary64 double precision format." +msgstr "" + +msgid "Unpack functions" +msgstr "" + +msgid "" +"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:" +"expr:`int` argument, non-zero if the bytes string is in little-endian format " +"(exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-" +"endian (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` constant can be " +"used to use the native endian: it is equal to ``1`` on big endian processor, " +"or ``0`` on little endian processor." +msgstr "" + +msgid "" +"Return value: The unpacked double. On error, this is ``-1.0`` and :c:func:" +"`PyErr_Occurred` is true (and an exception is set, most likely :exc:" +"`OverflowError`)." +msgstr "" + +msgid "" +"Note that on a non-IEEE platform this will refuse to unpack a bytes string " +"that represents a NaN or infinity." +msgstr "" + +msgid "Unpack the IEEE 754 binary16 half-precision format as a C double." +msgstr "" + +msgid "Unpack the IEEE 754 binary32 single precision format as a C double." +msgstr "" + +msgid "Unpack the IEEE 754 binary64 double precision format as a C double." +msgstr "" diff --git a/c-api/function.po b/c-api/function.po new file mode 100644 index 000000000..392b3ff04 --- /dev/null +++ b/c-api/function.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Function Objects" +msgstr "Функціональні об’єкти" + +msgid "There are a few functions specific to Python functions." +msgstr "Є кілька функцій, специфічних для функцій Python." + +msgid "The C structure used for functions." +msgstr "Структура C, яка використовується для функцій." + +msgid "" +"This is an instance of :c:type:`PyTypeObject` and represents the Python " +"function type. It is exposed to Python programmers as ``types." +"FunctionType``." +msgstr "" +"Це екземпляр :c:type:`PyTypeObject` і представляє тип функції Python. Він " +"надається програмістам Python як ``types.FunctionType``." + +msgid "" +"Return true if *o* is a function object (has type :c:data:" +"`PyFunction_Type`). The parameter must not be ``NULL``. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо *o* є об’єктом функції (має тип :c:data:" +"`PyFunction_Type`). Параметр не має бути ``NULL``. Ця функція завжди успішна." + +msgid "" +"Return a new function object associated with the code object *code*. " +"*globals* must be a dictionary with the global variables accessible to the " +"function." +msgstr "" +"Повертає новий об’єкт функції, пов’язаний з об’єктом коду *code*. *globals* " +"має бути словником із глобальними змінними, доступними для функції." + +msgid "" +"The function's docstring and name are retrieved from the code object. " +"*__module__* is retrieved from *globals*. The argument defaults, annotations " +"and closure are set to ``NULL``. *__qualname__* is set to the same value as " +"the code object's ``co_qualname`` field." +msgstr "" + +msgid "" +"As :c:func:`PyFunction_New`, but also allows setting the function object's " +"``__qualname__`` attribute. *qualname* should be a unicode object or " +"``NULL``; if ``NULL``, the ``__qualname__`` attribute is set to the same " +"value as the code object's ``co_qualname`` field." +msgstr "" + +msgid "Return the code object associated with the function object *op*." +msgstr "Повертає об’єкт коду, пов’язаний з об’єктом функції *op*." + +msgid "Return the globals dictionary associated with the function object *op*." +msgstr "Повертає словник globals, пов’язаний з об’єктом функції *op*." + +msgid "" +"Return a :term:`borrowed reference` to the *__module__* attribute of the " +"function object *op*. It can be *NULL*." +msgstr "" +"Повертає :term:`borrowed reference` на атрибут *__module__* об’єкта функції " +"*op*. Це може бути *NULL*." + +msgid "" +"This is normally a string containing the module name, but can be set to any " +"other object by Python code." +msgstr "" +"Зазвичай це рядок, що містить назву модуля, але кодом Python можна " +"встановити будь-який інший об’єкт." + +msgid "" +"Return the argument default values of the function object *op*. This can be " +"a tuple of arguments or ``NULL``." +msgstr "" +"Повертає стандартні значення аргументу об’єкта функції *op*. Це може бути " +"кортеж аргументів або ``NULL``." + +msgid "" +"Set the argument default values for the function object *op*. *defaults* " +"must be ``Py_None`` or a tuple." +msgstr "" +"Установіть значення аргументу за замовчуванням для об’єкта функції *op*. *за " +"замовчуванням* має бути ``Py_None`` або кортеж." + +msgid "Raises :exc:`SystemError` and returns ``-1`` on failure." +msgstr "Викликає :exc:`SystemError` і повертає ``-1`` у разі помилки." + +msgid "" +"Return the closure associated with the function object *op*. This can be " +"``NULL`` or a tuple of cell objects." +msgstr "" +"Повертає закриття, пов’язане з об’єктом функції *op*. Це може бути ``NULL`` " +"або кортеж об’єктів клітинки." + +msgid "" +"Set the closure associated with the function object *op*. *closure* must be " +"``Py_None`` or a tuple of cell objects." +msgstr "" +"Установіть закриття, пов’язане з функціональним об’єктом *op*. *закриття* " +"має бути ``Py_None`` або кортеж об’єктів клітинки." + +msgid "" +"Return the annotations of the function object *op*. This can be a mutable " +"dictionary or ``NULL``." +msgstr "" +"Повертає анотації об’єкта функції *op*. Це може бути змінний словник або " +"``NULL``." + +msgid "" +"Set the annotations for the function object *op*. *annotations* must be a " +"dictionary or ``Py_None``." +msgstr "" +"Встановіть анотації для об’єкта функції *op*. *анотації* мають бути " +"словником або ``Py_None``." diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po new file mode 100644 index 000000000..34eea085d --- /dev/null +++ b/c-api/gcsupport.po @@ -0,0 +1,355 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Supporting Cyclic Garbage Collection" +msgstr "Підтримка циклічного збирання сміття" + +msgid "" +"Python's support for detecting and collecting garbage which involves " +"circular references requires support from object types which are \"containers" +"\" for other objects which may also be containers. Types which do not store " +"references to other objects, or which only store references to atomic types " +"(such as numbers or strings), do not need to provide any explicit support " +"for garbage collection." +msgstr "" +"Підтримка Python для виявлення та збирання сміття, яке включає циклічні " +"посилання, вимагає підтримки типів об’єктів, які є \"контейнерами\" для " +"інших об’єктів, які також можуть бути контейнерами. Типи, які не зберігають " +"посилання на інші об’єкти, або які зберігають лише посилання на атомарні " +"типи (такі як числа або рядки), не потребують явної підтримки для збирання " +"сміття." + +msgid "" +"To create a container type, the :c:member:`~PyTypeObject.tp_flags` field of " +"the type object must include the :const:`Py_TPFLAGS_HAVE_GC` and provide an " +"implementation of the :c:member:`~PyTypeObject.tp_traverse` handler. If " +"instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` " +"implementation must also be provided." +msgstr "" +"Щоб створити тип контейнера, поле :c:member:`~PyTypeObject.tp_flags` об’єкта " +"типу має містити :const:`Py_TPFLAGS_HAVE_GC` і забезпечувати реалізацію " +"обробника :c:member:`~PyTypeObject.tp_traverse` . Якщо екземпляри типу є " +"змінними, необхідно також надати реалізацію :c:member:`~PyTypeObject." +"tp_clear`." + +msgid "" +"Objects with a type with this flag set must conform with the rules " +"documented here. For convenience these objects will be referred to as " +"container objects." +msgstr "" +"Об’єкти типу з цим прапорцем мають відповідати задокументованим тут " +"правилам. Для зручності ці об'єкти будуть називатися об'єктами-контейнерами." + +msgid "Constructors for container types must conform to two rules:" +msgstr "Конструктори для типів контейнерів повинні відповідати двом правилам:" + +msgid "" +"The memory for the object must be allocated using :c:func:`PyObject_GC_New` " +"or :c:func:`PyObject_GC_NewVar`." +msgstr "" +"Пам’ять для об’єкта має бути виділена за допомогою :c:func:`PyObject_GC_New` " +"або :c:func:`PyObject_GC_NewVar`." + +msgid "" +"Once all the fields which may contain references to other containers are " +"initialized, it must call :c:func:`PyObject_GC_Track`." +msgstr "" +"Після ініціалізації всіх полів, які можуть містити посилання на інші " +"контейнери, він повинен викликати :c:func:`PyObject_GC_Track`." + +msgid "" +"Similarly, the deallocator for the object must conform to a similar pair of " +"rules:" +msgstr "" +"Подібним чином, делокатор для об’єкта має відповідати подібній парі правил:" + +msgid "" +"Before fields which refer to other containers are invalidated, :c:func:" +"`PyObject_GC_UnTrack` must be called." +msgstr "" +"Перш ніж поля, які посилаються на інші контейнери, стануть недійсними, " +"необхідно викликати :c:func:`PyObject_GC_UnTrack`." + +msgid "" +"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." +msgstr "" +"Пам’ять об’єкта має бути звільнено за допомогою :c:func:`PyObject_GC_Del`." + +msgid "" +"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :" +"c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its " +"subclass or subclasses." +msgstr "" +"Якщо тип додає Py_TPFLAGS_HAVE_GC, тоді він *має* реалізувати принаймні " +"обробник :c:member:`~PyTypeObject.tp_traverse` або явно використовувати один " +"із свого підкласу або підкласів." + +msgid "" +"When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call " +"it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the " +"interpreter will automatically populate the :c:member:`~PyTypeObject." +"tp_flags`, :c:member:`~PyTypeObject.tp_traverse` and :c:member:" +"`~PyTypeObject.tp_clear` fields if the type inherits from a class that " +"implements the garbage collector protocol and the child class does *not* " +"include the :const:`Py_TPFLAGS_HAVE_GC` flag." +msgstr "" +"Під час виклику :c:func:`PyType_Ready` або деяких API, які непрямо " +"викликають це як :c:func:`PyType_FromSpecWithBases` або :c:func:" +"`PyType_FromSpec`, інтерпретатор автоматично заповнить Поля :c:member:" +"`~PyTypeObject.tp_flags`, :c:member:`~PyTypeObject.tp_traverse` і :c:member:" +"`~PyTypeObject.tp_clear`, якщо тип успадковується від класу, який реалізує " +"протокол збирача сміття, а дочірній клас *не* включити прапорець :const:" +"`Py_TPFLAGS_HAVE_GC`." + +msgid "" +"Analogous to :c:func:`PyObject_New` but for container objects with the :" +"const:`Py_TPFLAGS_HAVE_GC` flag set." +msgstr "" +"Аналогічно :c:func:`PyObject_New`, але для об’єктів-контейнерів зі " +"встановленим прапором :const:`Py_TPFLAGS_HAVE_GC`." + +msgid "" +"Analogous to :c:func:`PyObject_NewVar` but for container objects with the :" +"const:`Py_TPFLAGS_HAVE_GC` flag set." +msgstr "" +"Аналогічно :c:func:`PyObject_NewVar`, але для об’єктів-контейнерів зі " +"встановленим прапором :const:`Py_TPFLAGS_HAVE_GC`." + +msgid "" +"Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the " +"resized object or ``NULL`` on failure. *op* must not be tracked by the " +"collector yet." +msgstr "" +"Змінити розмір об’єкта, виділеного :c:func:`PyObject_NewVar`. Повертає " +"змінений розмір об’єкта або ``NULL`` у разі помилки. *op* ще не повинен " +"відстежуватися колекціонером." + +msgid "" +"Adds the object *op* to the set of container objects tracked by the " +"collector. The collector can run at unexpected times so objects must be " +"valid while being tracked. This should be called once all the fields " +"followed by the :c:member:`~PyTypeObject.tp_traverse` handler become valid, " +"usually near the end of the constructor." +msgstr "" +"Додає об’єкт *op* до набору об’єктів-контейнерів, які відстежує збирач. " +"Збирач може запускатися в несподіваний час, тому об’єкти мають бути дійсними " +"під час відстеження. Його слід викликати, коли всі поля, за якими йде " +"обробник :c:member:`~PyTypeObject.tp_traverse`, стануть дійсними, як " +"правило, ближче до кінця конструктора." + +msgid "" +"Returns non-zero if the object implements the garbage collector protocol, " +"otherwise returns 0." +msgstr "" +"Повертає ненульове значення, якщо об’єкт реалізує протокол збирача сміття, " +"інакше повертає 0." + +msgid "" +"The object cannot be tracked by the garbage collector if this function " +"returns 0." +msgstr "Збирач сміття не може відстежувати об’єкт, якщо ця функція повертає 0." + +msgid "" +"Returns 1 if the object type of *op* implements the GC protocol and *op* is " +"being currently tracked by the garbage collector and 0 otherwise." +msgstr "" +"Повертає 1, якщо тип об’єкта *op* реалізує протокол GC і *op* зараз " +"відстежується збирачем сміття, і 0 в іншому випадку." + +msgid "This is analogous to the Python function :func:`gc.is_tracked`." +msgstr "Це аналогічно функції Python :func:`gc.is_tracked`." + +msgid "" +"Returns 1 if the object type of *op* implements the GC protocol and *op* has " +"been already finalized by the garbage collector and 0 otherwise." +msgstr "" +"Повертає 1, якщо тип об’єкта *op* реалізує протокол GC і *op* вже завершено " +"збирачем сміття, і 0 в іншому випадку." + +msgid "This is analogous to the Python function :func:`gc.is_finalized`." +msgstr "Це аналогічно функції Python :func:`gc.is_finalized`." + +msgid "" +"Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:" +"func:`PyObject_GC_NewVar`." +msgstr "" +"Звільняє пам’ять, виділену об’єкту за допомогою :c:func:`PyObject_GC_New` " +"або :c:func:`PyObject_GC_NewVar`." + +msgid "" +"Remove the object *op* from the set of container objects tracked by the " +"collector. Note that :c:func:`PyObject_GC_Track` can be called again on " +"this object to add it back to the set of tracked objects. The deallocator (:" +"c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the object " +"before any of the fields used by the :c:member:`~PyTypeObject.tp_traverse` " +"handler become invalid." +msgstr "" +"Видаліть об’єкт *op* із набору об’єктів-контейнерів, які відстежує збирач. " +"Зауважте, що :c:func:`PyObject_GC_Track` можна знову викликати для цього " +"об’єкта, щоб додати його назад до набору відстежуваних об’єктів. Deallocator " +"(:c:member:`~PyTypeObject.tp_dealloc` обробник) має викликати це для об’єкта " +"до того, як будь-яке з полів, що використовуються :c:member:`~PyTypeObject." +"tp_traverse` обробником, стане недійсним." + +msgid "" +"The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros " +"have been removed from the public C API." +msgstr "" +"Макроси :c:func:`_PyObject_GC_TRACK` і :c:func:`_PyObject_GC_UNTRACK` " +"видалено з публічного API C." + +msgid "" +"The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function " +"parameter of this type:" +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_traverse` приймає параметр функції " +"такого типу:" + +msgid "" +"Type of the visitor function passed to the :c:member:`~PyTypeObject." +"tp_traverse` handler. The function should be called with an object to " +"traverse as *object* and the third parameter to the :c:member:`~PyTypeObject." +"tp_traverse` handler as *arg*. The Python core uses several visitor " +"functions to implement cyclic garbage detection; it's not expected that " +"users will need to write their own visitor functions." +msgstr "" +"Тип функції відвідувача, переданої обробнику :c:member:`~PyTypeObject." +"tp_traverse`. Функція має бути викликана з об’єктом для проходження як " +"*object* і третім параметром для обробника :c:member:`~PyTypeObject." +"tp_traverse` як *arg*. Ядро Python використовує кілька функцій відвідувачів " +"для реалізації циклічного виявлення сміття; не очікується, що користувачам " +"доведеться писати власні функції відвідувачів." + +msgid "" +"The :c:member:`~PyTypeObject.tp_traverse` handler must have the following " +"type:" +msgstr "Обробник :c:member:`~PyTypeObject.tp_traverse` повинен мати такий тип:" + +msgid "" +"Traversal function for a container object. Implementations must call the " +"*visit* function for each object directly contained by *self*, with the " +"parameters to *visit* being the contained object and the *arg* value passed " +"to the handler. The *visit* function must not be called with a ``NULL`` " +"object argument. If *visit* returns a non-zero value that value should be " +"returned immediately." +msgstr "" +"Функція обходу для об’єкта-контейнера. Реалізації повинні викликати функцію " +"*visit* для кожного об’єкта, який безпосередньо міститься в *self*, з " +"параметрами *visit*, які містять об’єкт, а значення *arg* передається " +"обробнику. Функцію *visit* не можна викликати з аргументом об’єкта ``NULL``. " +"Якщо *visit* повертає ненульове значення, це значення має бути повернуто " +"негайно." + +msgid "" +"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:" +"func:`Py_VISIT` macro is provided. In order to use this macro, the :c:" +"member:`~PyTypeObject.tp_traverse` implementation must name its arguments " +"exactly *visit* and *arg*:" +msgstr "" +"Для спрощення написання обробників :c:member:`~PyTypeObject.tp_traverse` " +"передбачено макрос :c:func:`Py_VISIT`. Щоб використовувати цей макрос, " +"реалізація :c:member:`~PyTypeObject.tp_traverse` має назвати свої аргументи " +"точно *visit* і *arg*:" + +msgid "" +"If *o* is not ``NULL``, call the *visit* callback, with arguments *o* and " +"*arg*. If *visit* returns a non-zero value, then return it. Using this " +"macro, :c:member:`~PyTypeObject.tp_traverse` handlers look like::" +msgstr "" +"Якщо *o* не є ``NULL``, викличте зворотній виклик *visit* з аргументами *o* " +"і *arg*. Якщо *visit* повертає ненульове значення, поверніть його. За " +"допомогою цього макросу обробники :c:member:`~PyTypeObject.tp_traverse` " +"виглядають так:" + +msgid "" +"The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:" +"`inquiry` type, or ``NULL`` if the object is immutable." +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_clear` має бути типу :c:type:`inquiry` " +"або ``NULL``, якщо об’єкт є незмінним." + +msgid "" +"Drop references that may have created reference cycles. Immutable objects " +"do not have to define this method since they can never directly create " +"reference cycles. Note that the object must still be valid after calling " +"this method (don't just call :c:func:`Py_DECREF` on a reference). The " +"collector will call this method if it detects that this object is involved " +"in a reference cycle." +msgstr "" +"Видалити посилання, які могли створити цикли посилань. Незмінні об’єкти не " +"повинні визначати цей метод, оскільки вони ніколи не можуть безпосередньо " +"створювати еталонні цикли. Зауважте, що об’єкт все ще має бути дійсним після " +"виклику цього методу (не просто викликайте :c:func:`Py_DECREF` за " +"посиланням). Збирач викличе цей метод, якщо виявить, що цей об’єкт бере " +"участь у еталонному циклі." + +msgid "Controlling the Garbage Collector State" +msgstr "Контроль стану Garbage Collector" + +msgid "" +"The C-API provides the following functions for controlling garbage " +"collection runs." +msgstr "C-API надає такі функції для керування виконанням збирання сміття." + +msgid "" +"Perform a full garbage collection, if the garbage collector is enabled. " +"(Note that :func:`gc.collect` runs it unconditionally.)" +msgstr "" +"Виконати повне збирання сміття, якщо ввімкнено збирач сміття. (Зверніть " +"увагу, що :func:`gc.collect` запускає його безумовно.)" + +msgid "" +"Returns the number of collected + unreachable objects which cannot be " +"collected. If the garbage collector is disabled or already collecting, " +"returns ``0`` immediately. Errors during garbage collection are passed to :" +"data:`sys.unraisablehook`. This function does not raise exceptions." +msgstr "" +"Повертає кількість зібраних + недосяжних об’єктів, які неможливо зібрати. " +"Якщо збирач сміття вимкнено або вже збирає, негайно повертає ``0``. Помилки " +"під час збирання сміття передаються до :data:`sys.unraisablehook`. Ця " +"функція не викликає винятків." + +msgid "" +"Enable the garbage collector: similar to :func:`gc.enable`. Returns the " +"previous state, 0 for disabled and 1 for enabled." +msgstr "" +"Увімкніть збирач сміття: подібно до :func:`gc.enable`. Повертає попередній " +"стан, 0 для вимкнено та 1 для ввімкнено." + +msgid "" +"Disable the garbage collector: similar to :func:`gc.disable`. Returns the " +"previous state, 0 for disabled and 1 for enabled." +msgstr "" +"Вимкнути збирач сміття: подібно до :func:`gc.disable`. Повертає попередній " +"стан, 0 для вимкнено та 1 для ввімкнено." + +msgid "" +"Query the state of the garbage collector: similar to :func:`gc.isenabled`. " +"Returns the current state, 0 for disabled and 1 for enabled." +msgstr "" +"Запитайте стан збирача сміття: подібно до :func:`gc.isenabled`. Повертає " +"поточний стан, 0 для вимкнено та 1 для ввімкнено." diff --git a/c-api/gen.po b/c-api/gen.po new file mode 100644 index 000000000..af30e0c6b --- /dev/null +++ b/c-api/gen.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Generator Objects" +msgstr "Генератор об'єктів" + +msgid "" +"Generator objects are what Python uses to implement generator iterators. " +"They are normally created by iterating over a function that yields values, " +"rather than explicitly calling :c:func:`PyGen_New` or :c:func:" +"`PyGen_NewWithQualName`." +msgstr "" +"Об’єкти-генератори – це те, що Python використовує для реалізації ітераторів-" +"генераторів. Зазвичай вони створюються шляхом повторення функції, яка видає " +"значення, замість явного виклику :c:func:`PyGen_New` або :c:func:" +"`PyGen_NewWithQualName`." + +msgid "The C structure used for generator objects." +msgstr "Структура C, яка використовується для генераторних об’єктів." + +msgid "The type object corresponding to generator objects." +msgstr "Об’єкт типу, що відповідає об’єктам-генераторам." + +msgid "" +"Return true if *ob* is a generator object; *ob* must not be ``NULL``. This " +"function always succeeds." +msgstr "" +"Повертає true, якщо *ob* є генераторним об’єктом; *ob* не має бути ``NULL``. " +"Ця функція завжди успішна." + +msgid "" +"Return true if *ob*'s type is :c:type:`PyGen_Type`; *ob* must not be " +"``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* має тип :c:type:`PyGen_Type`; *ob* не має бути " +"``NULL``. Ця функція завжди успішна." + +msgid "" +"Create and return a new generator object based on the *frame* object. A " +"reference to *frame* is stolen by this function. The argument must not be " +"``NULL``." +msgstr "" +"Створіть і поверніть новий об’єкт-генератор на основі об’єкта *frame*. Ця " +"функція викрадає посилання на *frame*. Аргумент не має бути ``NULL``." + +msgid "" +"Create and return a new generator object based on the *frame* object, with " +"``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " +"to *frame* is stolen by this function. The *frame* argument must not be " +"``NULL``." +msgstr "" +"Створіть і поверніть новий об’єкт генератора на основі об’єкта *frame* із " +"значеннями *name* і *qualname* для ``__name__`` і ``__qualname__``. Ця " +"функція викрадає посилання на *frame*. Аргумент *frame* не має бути ``NULL``." diff --git a/c-api/import.po b/c-api/import.po new file mode 100644 index 000000000..a947fbeb3 --- /dev/null +++ b/c-api/import.po @@ -0,0 +1,424 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Importing Modules" +msgstr "Імпорт модулів" + +msgid "" +"This is a simplified interface to :c:func:`PyImport_ImportModuleEx` below, " +"leaving the *globals* and *locals* arguments set to ``NULL`` and *level* set " +"to 0. When the *name* argument contains a dot (when it specifies a " +"submodule of a package), the *fromlist* argument is set to the list " +"``['*']`` so that the return value is the named module rather than the top-" +"level package containing it as would otherwise be the case. (Unfortunately, " +"this has an additional side effect when *name* in fact specifies a " +"subpackage instead of a submodule: the submodules specified in the package's " +"``__all__`` variable are loaded.) Return a new reference to the imported " +"module, or ``NULL`` with an exception set on failure. A failing import of a " +"module doesn't leave the module in :data:`sys.modules`." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyImport_ImportModuleEx` нижче, " +"залишаючи аргументи *globals* і *locals* встановленими на ``NULL``, а " +"*level* — на 0. Коли аргумент *name* містить крапку (якщо він визначає " +"підмодуль пакета), аргумент *fromlist* встановлюється на список ``['*']``, " +"так що значення, що повертається, є названим модулем, а не пакетом верхнього " +"рівня, який містить його, як це було б інакше буде так. (На жаль, це має " +"додатковий побічний ефект, коли *name* фактично визначає підпакет замість " +"підмодуля: завантажуються підмодулі, указані в змінній ``__all__`` пакета.) " +"Поверніть нове посилання на імпортований модуль або ``NULL`` з винятком, " +"встановленим у разі помилки. Невдалий імпорт модуля не залишає модуль у :" +"data:`sys.modules`." + +msgid "This function always uses absolute imports." +msgstr "Ця функція завжди використовує абсолютний імпорт." + +msgid "This function is a deprecated alias of :c:func:`PyImport_ImportModule`." +msgstr "Ця функція є застарілим псевдонімом :c:func:`PyImport_ImportModule`." + +msgid "" +"This function used to fail immediately when the import lock was held by " +"another thread. In Python 3.3 though, the locking scheme switched to per-" +"module locks for most purposes, so this function's special behaviour isn't " +"needed anymore." +msgstr "" +"Раніше ця функція відразу виходила з ладу, коли блокування імпорту " +"утримувалося іншим потоком. Однак у Python 3.3 схема блокування перейшла на " +"блокування по модулю для більшості цілей, тому особлива поведінка цієї " +"функції більше не потрібна." + +msgid "" +"Import a module. This is best described by referring to the built-in Python " +"function :func:`__import__`." +msgstr "" +"Імпортувати модуль. Найкраще це можна описати, звернувшись до вбудованої " +"функції Python :func:`__import__`." + +msgid "" +"The return value is a new reference to the imported module or top-level " +"package, or ``NULL`` with an exception set on failure. Like for :func:" +"`__import__`, the return value when a submodule of a package was requested " +"is normally the top-level package, unless a non-empty *fromlist* was given." +msgstr "" +"Значення, що повертається, є новим посиланням на імпортований модуль або " +"пакет верхнього рівня, або ``NULL`` з винятком, встановленим у разі помилки. " +"Як і для :func:`__import__`, значення, що повертається, коли запитується " +"підмодуль пакету, зазвичай є пакетом верхнього рівня, якщо не було надано " +"непорожній *fromlist*." + +msgid "" +"Failing imports remove incomplete module objects, like with :c:func:" +"`PyImport_ImportModule`." +msgstr "" +"Невдалий імпорт видаляє неповні об’єкти модуля, як-от :c:func:" +"`PyImport_ImportModule`." + +msgid "" +"Import a module. This is best described by referring to the built-in Python " +"function :func:`__import__`, as the standard :func:`__import__` function " +"calls this function directly." +msgstr "" +"Імпортувати модуль. Найкраще це можна описати, звернувшись до вбудованої " +"функції Python :func:`__import__`, оскільки стандартна функція :func:" +"`__import__` викликає цю функцію безпосередньо." + +msgid "" +"Similar to :c:func:`PyImport_ImportModuleLevelObject`, but the name is a " +"UTF-8 encoded string instead of a Unicode object." +msgstr "" +"Подібно до :c:func:`PyImport_ImportModuleLevelObject`, але ім’я є рядком у " +"кодуванні UTF-8 замість об’єкта Unicode." + +msgid "Negative values for *level* are no longer accepted." +msgstr "Від’ємні значення для *рівня* більше не приймаються." + +msgid "" +"This is a higher-level interface that calls the current \"import hook " +"function\" (with an explicit *level* of 0, meaning absolute import). It " +"invokes the :func:`__import__` function from the ``__builtins__`` of the " +"current globals. This means that the import is done using whatever import " +"hooks are installed in the current environment." +msgstr "" +"Це інтерфейс вищого рівня, який викликає поточну \"функцію перехоплення " +"імпорту\" (з явним *рівнем* 0, що означає абсолютний імпорт). Він викликає " +"функцію :func:`__import__` з ``__builtins__`` поточних глобалів. Це означає, " +"що імпорт виконується за допомогою будь-яких хуків імпорту, встановлених у " +"поточному середовищі." + +msgid "" +"Reload a module. Return a new reference to the reloaded module, or ``NULL`` " +"with an exception set on failure (the module still exists in this case)." +msgstr "" +"Перезавантажте модуль. Повертає нове посилання на перезавантажений модуль " +"або ``NULL`` з винятком, встановленим у разі помилки (у цьому випадку модуль " +"все ще існує)." + +msgid "" +"Return the module object corresponding to a module name. The *name* " +"argument may be of the form ``package.module``. First check the modules " +"dictionary if there's one there, and if not, create a new one and insert it " +"in the modules dictionary. Return ``NULL`` with an exception set on failure." +msgstr "" +"Повертає об’єкт модуля, що відповідає імені модуля. Аргумент *name* може " +"мати форму ``package.module``. Спочатку перевірте словник модулів, якщо він " +"там є, а якщо ні, створіть новий і вставте його в словник модулів. Повертає " +"``NULL`` із встановленим винятком у разі помилки." + +msgid "" +"This function does not load or import the module; if the module wasn't " +"already loaded, you will get an empty module object. Use :c:func:" +"`PyImport_ImportModule` or one of its variants to import a module. Package " +"structures implied by a dotted name for *name* are not created if not " +"already present." +msgstr "" +"Ця функція не завантажує та не імпортує модуль; якщо модуль ще не " +"завантажено, ви отримаєте порожній об’єкт модуля. Використовуйте :c:func:" +"`PyImport_ImportModule` або один із його варіантів, щоб імпортувати модуль. " +"Структури пакетів, визначені назвою *name* із крапками, не створюються, якщо " +"вони ще не присутні." + +msgid "" +"Similar to :c:func:`PyImport_AddModuleObject`, but the name is a UTF-8 " +"encoded string instead of a Unicode object." +msgstr "" +"Подібно до :c:func:`PyImport_AddModuleObject`, але ім’я є рядком у кодуванні " +"UTF-8 замість об’єкта Юнікод." + +msgid "" +"Given a module name (possibly of the form ``package.module``) and a code " +"object read from a Python bytecode file or obtained from the built-in " +"function :func:`compile`, load the module. Return a new reference to the " +"module object, or ``NULL`` with an exception set if an error occurred. " +"*name* is removed from :attr:`sys.modules` in error cases, even if *name* " +"was already in :attr:`sys.modules` on entry to :c:func:" +"`PyImport_ExecCodeModule`. Leaving incompletely initialized modules in :" +"attr:`sys.modules` is dangerous, as imports of such modules have no way to " +"know that the module object is an unknown (and probably damaged with respect " +"to the module author's intents) state." +msgstr "" +"Завантажте модуль із назвою модуля (можливо, у формі ``package.module``) і " +"об’єктом коду, прочитаним із файлу байт-коду Python або отриманим із " +"вбудованої функції :func:`compile`. Повертає нове посилання на об’єкт модуля " +"або ``NULL`` із встановленим винятком, якщо сталася помилка. *ім’я* " +"видаляється з :attr:`sys.modules` у випадках помилки, навіть якщо *ім’я* вже " +"було в :attr:`sys.modules` під час входу в :c:func:" +"`PyImport_ExecCodeModule`. Залишати неповністю ініціалізовані модулі в :attr:" +"`sys.modules` небезпечно, оскільки імпорт таких модулів не має способу " +"дізнатися, що об’єкт модуля є невідомим (і, ймовірно, пошкодженим щодо " +"намірів автора модуля) станом." + +msgid "" +"The module's :attr:`__spec__` and :attr:`__loader__` will be set, if not set " +"already, with the appropriate values. The spec's loader will be set to the " +"module's ``__loader__`` (if set) and to an instance of :class:" +"`SourceFileLoader` otherwise." +msgstr "" +":attr:`__spec__` і :attr:`__loader__` модуля буде встановлено, якщо ще не " +"встановлено, з відповідними значеннями. Завантажувач специфікації буде " +"встановлено на ``__loader__`` модуля (якщо встановлено) та на екземпляр :" +"class:`SourceFileLoader` в іншому випадку." + +msgid "" +"The module's :attr:`__file__` attribute will be set to the code object's :c:" +"member:`co_filename`. If applicable, :attr:`__cached__` will also be set." +msgstr "" +"Атрибут :attr:`__file__` модуля буде встановлено на :c:member:`co_filename` " +"об’єкта коду. Якщо застосовно, також буде встановлено :attr:`__cached__`." + +msgid "" +"This function will reload the module if it was already imported. See :c:" +"func:`PyImport_ReloadModule` for the intended way to reload a module." +msgstr "" +"Ця функція перезавантажить модуль, якщо він уже був імпортований. " +"Перегляньте :c:func:`PyImport_ReloadModule` для передбачуваного способу " +"перезавантаження модуля." + +msgid "" +"If *name* points to a dotted name of the form ``package.module``, any " +"package structures not already created will still not be created." +msgstr "" +"Якщо *name* вказує на ім’я з крапками у формі ``package.module``, будь-які " +"ще не створені структури пакунків не будуть створені." + +msgid "" +"See also :c:func:`PyImport_ExecCodeModuleEx` and :c:func:" +"`PyImport_ExecCodeModuleWithPathnames`." +msgstr "" +"Дивіться також :c:func:`PyImport_ExecCodeModuleEx` і :c:func:" +"`PyImport_ExecCodeModuleWithPathnames`." + +msgid "" +"Like :c:func:`PyImport_ExecCodeModule`, but the :attr:`__file__` attribute " +"of the module object is set to *pathname* if it is non-``NULL``." +msgstr "" +"Подібно до :c:func:`PyImport_ExecCodeModule`, але атрибут :attr:`__file__` " +"об’єкта модуля встановлюється на *pathname*, якщо він не є ``NULL``." + +msgid "See also :c:func:`PyImport_ExecCodeModuleWithPathnames`." +msgstr "Дивіться також :c:func:`PyImport_ExecCodeModuleWithPathnames`." + +msgid "" +"Like :c:func:`PyImport_ExecCodeModuleEx`, but the :attr:`__cached__` " +"attribute of the module object is set to *cpathname* if it is non-``NULL``. " +"Of the three functions, this is the preferred one to use." +msgstr "" +"Подібно до :c:func:`PyImport_ExecCodeModuleEx`, але атрибут :attr:" +"`__cached__` об’єкта модуля встановлюється на *cpathname*, якщо він не " +"``NULL``. З усіх трьох функцій найкраще використовувати цю." + +msgid "" +"Like :c:func:`PyImport_ExecCodeModuleObject`, but *name*, *pathname* and " +"*cpathname* are UTF-8 encoded strings. Attempts are also made to figure out " +"what the value for *pathname* should be from *cpathname* if the former is " +"set to ``NULL``." +msgstr "" +"Як :c:func:`PyImport_ExecCodeModuleObject`, але *name*, *pathname* і " +"*cpathname* є рядками в кодуванні UTF-8. Також робляться спроби з’ясувати, " +"яким має бути значення *pathname* від *cpathname*, якщо для першого " +"встановлено значення ``NULL``." + +msgid "" +"Uses :func:`imp.source_from_cache()` in calculating the source path if only " +"the bytecode path is provided." +msgstr "" +"Використовує :func:`imp.source_from_cache()` для обчислення вихідного шляху, " +"якщо надається лише шлях байт-коду." + +msgid "" +"Return the magic number for Python bytecode files (a.k.a. :file:`.pyc` " +"file). The magic number should be present in the first four bytes of the " +"bytecode file, in little-endian byte order. Returns ``-1`` on error." +msgstr "" +"Повертає магічне число для файлів байт-коду Python (він же файл :file:`." +"pyc`). Магічне число має бути присутнім у перших чотирьох байтах файлу байт-" +"коду в порядку байтів у порядку байтів. Повертає ``-1`` у разі помилки." + +msgid "Return value of ``-1`` upon failure." +msgstr "Повертає значення \"-1\" у разі помилки." + +msgid "" +"Return the magic tag string for :pep:`3147` format Python bytecode file " +"names. Keep in mind that the value at ``sys.implementation.cache_tag`` is " +"authoritative and should be used instead of this function." +msgstr "" +"Повертає рядок чарівного тегу для імен файлів байт-коду Python у форматі :" +"pep:`3147`. Майте на увазі, що значення в ``sys.implementation.cache_tag`` є " +"авторитетним і має використовуватися замість цієї функції." + +msgid "" +"Return the dictionary used for the module administration (a.k.a. ``sys." +"modules``). Note that this is a per-interpreter variable." +msgstr "" +"Повертає словник, який використовується для адміністрування модуля (він же " +"``sys.modules``). Зверніть увагу, що це змінна для кожного інтерпретатора." + +msgid "" +"Return the already imported module with the given name. If the module has " +"not been imported yet then returns ``NULL`` but does not set an error. " +"Returns ``NULL`` and sets an error if the lookup failed." +msgstr "" +"Повернути вже імпортований модуль із вказаною назвою. Якщо модуль ще не було " +"імпортовано, повертає ``NULL``, але не встановлює помилку. Повертає ``NULL`` " +"і встановлює помилку, якщо пошук не вдався." + +msgid "" +"Return a finder object for a :data:`sys.path`/:attr:`pkg.__path__` item " +"*path*, possibly by fetching it from the :data:`sys.path_importer_cache` " +"dict. If it wasn't yet cached, traverse :data:`sys.path_hooks` until a hook " +"is found that can handle the path item. Return ``None`` if no hook could; " +"this tells our caller that the :term:`path based finder` could not find a " +"finder for this path item. Cache the result in :data:`sys." +"path_importer_cache`. Return a new reference to the finder object." +msgstr "" +"Повертає об’єкт пошуку для :data:`sys.path`/:attr:`pkg.__path__` елемента " +"*path*, можливо, шляхом отримання його з :data:`sys.path_importer_cache` " +"dict. Якщо він ще не був кешований, проходьте :data:`sys.path_hooks`, доки " +"не буде знайдено хук, який може обробити елемент шляху. Повертає ``None``, " +"якщо жоден гачок не міг; це повідомляє нашому абоненту, що :term:`path based " +"finder` не може знайти засіб пошуку для цього елемента шляху. Кешуйте " +"результат у :data:`sys.path_importer_cache`. Повернути нове посилання на " +"об’єкт пошуку." + +msgid "" +"Load a frozen module named *name*. Return ``1`` for success, ``0`` if the " +"module is not found, and ``-1`` with an exception set if the initialization " +"failed. To access the imported module on a successful load, use :c:func:" +"`PyImport_ImportModule`. (Note the misnomer --- this function would reload " +"the module if it was already imported.)" +msgstr "" +"Завантажте заморожений модуль під назвою *name*. Повертає ``1`` для успіху, " +"``0``, якщо модуль не знайдено, ``-1`` із встановленим винятком, якщо " +"ініціалізація не вдалася. Щоб отримати доступ до імпортованого модуля після " +"успішного завантаження, використовуйте :c:func:`PyImport_ImportModule`. " +"(Зверніть увагу на неправильну назву --- ця функція перезавантажить модуль, " +"якщо його вже було імпортовано.)" + +msgid "The ``__file__`` attribute is no longer set on the module." +msgstr "Атрибут ``__file__`` більше не встановлено в модулі." + +msgid "" +"Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a " +"UTF-8 encoded string instead of a Unicode object." +msgstr "" +"Подібно до :c:func:`PyImport_ImportFrozenModuleObject`, але ім’я є рядком у " +"кодуванні UTF-8 замість об’єкта Unicode." + +msgid "" +"This is the structure type definition for frozen module descriptors, as " +"generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the " +"Python source distribution). Its definition, found in :file:`Include/import." +"h`, is::" +msgstr "" +"Це визначення типу структури для закріплених дескрипторів модулів, створених " +"утилітою :program:`freeze` (див. :file:`Tools/freeze/` у вихідному коді " +"Python). Його визначення, знайдене в :file:`Include/import.h`, таке:" + +msgid "" +"The new ``is_package`` field indicates whether the module is a package or " +"not. This replaces setting the ``size`` field to a negative value." +msgstr "" + +msgid "" +"This pointer is initialized to point to an array of :c:struct:`_frozen` " +"records, terminated by one whose members are all ``NULL`` or zero. When a " +"frozen module is imported, it is searched in this table. Third-party code " +"could play tricks with this to provide a dynamically created collection of " +"frozen modules." +msgstr "" + +msgid "" +"Add a single module to the existing table of built-in modules. This is a " +"convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning " +"``-1`` if the table could not be extended. The new module can be imported " +"by the name *name*, and uses the function *initfunc* as the initialization " +"function called on the first attempted import. This should be called " +"before :c:func:`Py_Initialize`." +msgstr "" +"Додайте один модуль до існуючої таблиці вбудованих модулів. Це зручна " +"обгортка навколо :c:func:`PyImport_ExtendInittab`, яка повертає ``-1``, якщо " +"таблицю не можна розширити. Новий модуль можна імпортувати під назвою *name* " +"і використовувати функцію *initfunc* як функцію ініціалізації, викликану під " +"час першої спроби імпорту. Його слід викликати перед :c:func:`Py_Initialize`." + +msgid "" +"Structure describing a single entry in the list of built-in modules. Each " +"of these structures gives the name and initialization function for a module " +"built into the interpreter. The name is an ASCII encoded string. Programs " +"which embed Python may use an array of these structures in conjunction with :" +"c:func:`PyImport_ExtendInittab` to provide additional built-in modules. The " +"structure is defined in :file:`Include/import.h` as::" +msgstr "" +"Структура, що описує один запис у списку вбудованих модулів. Кожна з цих " +"структур дає назву та функцію ініціалізації для модуля, вбудованого в " +"інтерпретатор. Ім’я – це рядок у кодуванні ASCII. Програми, які вбудовують " +"Python, можуть використовувати масив цих структур у поєднанні з :c:func:" +"`PyImport_ExtendInittab` для надання додаткових вбудованих модулів. " +"Структура визначена у :file:`Include/import.h` як:" + +msgid "" +"Add a collection of modules to the table of built-in modules. The *newtab* " +"array must end with a sentinel entry which contains ``NULL`` for the :attr:" +"`name` field; failure to provide the sentinel value can result in a memory " +"fault. Returns ``0`` on success or ``-1`` if insufficient memory could be " +"allocated to extend the internal table. In the event of failure, no modules " +"are added to the internal table. This must be called before :c:func:" +"`Py_Initialize`." +msgstr "" +"Додати колекцію модулів до таблиці вбудованих модулів. Масив *newtab* має " +"закінчуватися дозорним записом, який містить ``NULL`` для поля :attr:`name`; " +"ненадання дозорного значення може призвести до помилки пам’яті. Повертає " +"``0`` у разі успіху або ``-1``, якщо може бути виділено недостатньо пам’яті " +"для розширення внутрішньої таблиці. У разі збою модулі не додаються до " +"внутрішньої таблиці. Його потрібно викликати перед :c:func:`Py_Initialize`." + +msgid "" +"If Python is initialized multiple times, :c:func:`PyImport_AppendInittab` " +"or :c:func:`PyImport_ExtendInittab` must be called before each Python " +"initialization." +msgstr "" +"Якщо Python ініціалізовано кілька разів, перед кожною ініціалізацією Python " +"потрібно викликати :c:func:`PyImport_AppendInittab` або :c:func:" +"`PyImport_ExtendInittab`." diff --git a/c-api/index.po b/c-api/index.po new file mode 100644 index 000000000..a1e3e0b03 --- /dev/null +++ b/c-api/index.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python/C API Reference Manual" +msgstr "Довідковий посібник з API Python/C" + +msgid "" +"This manual documents the API used by C and C++ programmers who want to " +"write extension modules or embed Python. It is a companion to :ref:" +"`extending-index`, which describes the general principles of extension " +"writing but does not document the API functions in detail." +msgstr "" +"Цей посібник документує API, який використовують програмісти на C і C++, які " +"хочуть писати модулі розширення або вбудовувати Python. Він є доповненням " +"до :ref:`extending-index`, який описує загальні принципи написання " +"розширень, але не документує детально функції API." diff --git a/c-api/init.po b/c-api/init.po new file mode 100644 index 000000000..1cfbf1a96 --- /dev/null +++ b/c-api/init.po @@ -0,0 +1,2551 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Initialization, Finalization, and Threads" +msgstr "Ініціалізація, фіналізація та потоки" + +msgid "See also :ref:`Python Initialization Configuration `." +msgstr "Дивіться також :ref:`Конфігурація ініціалізації Python `." + +msgid "Before Python Initialization" +msgstr "Перед ініціалізацією Python" + +msgid "" +"In an application embedding Python, the :c:func:`Py_Initialize` function " +"must be called before using any other Python/C API functions; with the " +"exception of a few functions and the :ref:`global configuration variables " +"`." +msgstr "" +"У програмі, яка вбудовує Python, функція :c:func:`Py_Initialize` має бути " +"викликана перед використанням будь-яких інших функцій API Python/C; за " +"винятком кількох функцій і :ref:`глобальних змінних конфігурації `." + +msgid "" +"The following functions can be safely called before Python is initialized:" +msgstr "Наступні функції можна безпечно викликати до ініціалізації Python:" + +msgid "Configuration functions:" +msgstr "Функції конфігурації:" + +msgid ":c:func:`PyImport_AppendInittab`" +msgstr ":c:func:`PyImport_AppendInittab`" + +msgid ":c:func:`PyImport_ExtendInittab`" +msgstr ":c:func:`PyImport_ExtendInittab`" + +msgid ":c:func:`PyInitFrozenExtensions`" +msgstr ":c:func:`PyInitFrozenExtensions`" + +msgid ":c:func:`PyMem_SetAllocator`" +msgstr ":c:func:`PyMem_SetAllocator`" + +msgid ":c:func:`PyMem_SetupDebugHooks`" +msgstr ":c:func:`PyMem_SetupDebugHooks`" + +msgid ":c:func:`PyObject_SetArenaAllocator`" +msgstr ":c:func:`PyObject_SetArenaAllocator`" + +msgid ":c:func:`Py_SetPath`" +msgstr ":c:func:`Py_SetPath`" + +msgid ":c:func:`Py_SetProgramName`" +msgstr ":c:func:`Py_SetProgramName`" + +msgid ":c:func:`Py_SetPythonHome`" +msgstr ":c:func:`Py_SetPythonHome`" + +msgid ":c:func:`Py_SetStandardStreamEncoding`" +msgstr ":c:func:`Py_SetStandardStreamEncoding`" + +msgid ":c:func:`PySys_AddWarnOption`" +msgstr ":c:func:`PySys_AddWarnOption`" + +msgid ":c:func:`PySys_AddXOption`" +msgstr ":c:func:`PySys_AddXOption`" + +msgid ":c:func:`PySys_ResetWarnOptions`" +msgstr ":c:func:`PySys_ResetWarnOptions`" + +msgid "Informative functions:" +msgstr "Інформативні функції:" + +msgid ":c:func:`Py_IsInitialized`" +msgstr ":c:func:`Py_IsInitialized`" + +msgid ":c:func:`PyMem_GetAllocator`" +msgstr ":c:func:`PyMem_GetAllocator`" + +msgid ":c:func:`PyObject_GetArenaAllocator`" +msgstr ":c:func:`PyObject_GetArenaAllocator`" + +msgid ":c:func:`Py_GetBuildInfo`" +msgstr ":c:func:`Py_GetBuildInfo`" + +msgid ":c:func:`Py_GetCompiler`" +msgstr ":c:func:`Py_GetCompiler`" + +msgid ":c:func:`Py_GetCopyright`" +msgstr ":c:func:`Py_GetCopyright`" + +msgid ":c:func:`Py_GetPlatform`" +msgstr ":c:func:`Py_GetPlatform`" + +msgid ":c:func:`Py_GetVersion`" +msgstr ":c:func:`Py_GetVersion`" + +msgid "Utilities:" +msgstr "Утиліти:" + +msgid ":c:func:`Py_DecodeLocale`" +msgstr ":c:func:`Py_DecodeLocale`" + +msgid "Memory allocators:" +msgstr "Розподільники пам'яті:" + +msgid ":c:func:`PyMem_RawMalloc`" +msgstr ":c:func:`PyMem_RawMalloc`" + +msgid ":c:func:`PyMem_RawRealloc`" +msgstr ":c:func:`PyMem_RawRealloc`" + +msgid ":c:func:`PyMem_RawCalloc`" +msgstr ":c:func:`PyMem_RawCalloc`" + +msgid ":c:func:`PyMem_RawFree`" +msgstr ":c:func:`PyMem_RawFree`" + +msgid "" +"The following functions **should not be called** before :c:func:" +"`Py_Initialize`: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, :c:func:" +"`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:" +"`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, :c:func:" +"`Py_GetProgramName` and :c:func:`PyEval_InitThreads`." +msgstr "" +"Наступні функції **не слід викликати** до :c:func:`Py_Initialize`: :c:func:" +"`Py_EncodeLocale`, :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:" +"`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, :c:func:" +"`Py_GetPythonHome`, :c:func:`Py_GetProgramName` і :c:func:" +"`PyEval_InitThreads`." + +msgid "Global configuration variables" +msgstr "Глобальні змінні конфігурації" + +msgid "" +"Python has variables for the global configuration to control different " +"features and options. By default, these flags are controlled by :ref:" +"`command line options `." +msgstr "" +"Python має змінні для глобальної конфігурації для керування різними " +"функціями та параметрами. За замовчуванням ці позначки контролюються :ref:" +"`параметрами командного рядка `." + +msgid "" +"When a flag is set by an option, the value of the flag is the number of " +"times that the option was set. For example, ``-b`` sets :c:data:" +"`Py_BytesWarningFlag` to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to " +"2." +msgstr "" +"Коли параметр встановлює прапор, значення прапора дорівнює кількості разів, " +"коли цей параметр було встановлено. Наприклад, ``-b`` встановлює :c:data:" +"`Py_BytesWarningFlag` на 1, а ``-bb`` встановлює :c:data:" +"`Py_BytesWarningFlag` на 2." + +msgid "" +"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" +"class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater " +"or equal to ``2``." +msgstr "" +"Видає попередження, коли порівнює :class:`bytes` або :class:`bytearray` з :" +"class:`str` або :class:`bytes` з :class:`int`. Видає помилку, якщо більше " +"або дорівнює ``2``." + +msgid "Set by the :option:`-b` option." +msgstr "Встановлюється параметром :option:`-b`." + +msgid "" +"Turn on parser debugging output (for expert only, depending on compilation " +"options)." +msgstr "" +"Увімкніть вихід налагодження аналізатора (лише для експерта, залежно від " +"параметрів компіляції)." + +msgid "" +"Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " +"variable." +msgstr "" +"Встановлюється параметром :option:`-d` і змінною середовища :envvar:" +"`PYTHONDEBUG`." + +msgid "" +"If set to non-zero, Python won't try to write ``.pyc`` files on the import " +"of source modules." +msgstr "" +"Якщо встановлено ненульове значення, Python не намагатиметься записати файли " +"``.pyc`` під час імпорту вихідних модулів." + +msgid "" +"Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` " +"environment variable." +msgstr "" +"Встановлюється параметром :option:`-B` і змінною середовища :envvar:" +"`PYTHONDONTWRITEBYTECODE`." + +msgid "" +"Suppress error messages when calculating the module search path in :c:func:" +"`Py_GetPath`." +msgstr "" +"Придушити повідомлення про помилки під час обчислення шляху пошуку модуля в :" +"c:func:`Py_GetPath`." + +msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs." +msgstr "" + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to " +"a non-empty string." +msgstr "" +"Установіть значення ``1``, якщо змінна середовища :envvar:`PYTHONHASHSEED` " +"має значення непорожнього рядка." + +msgid "" +"If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment " +"variable to initialize the secret hash seed." +msgstr "" +"Якщо прапорець відмінний від нуля, прочитайте змінну середовища :envvar:" +"`PYTHONHASHSEED`, щоб ініціалізувати секретне початкове значення хешу." + +msgid "" +"Ignore all :envvar:`PYTHON*` environment variables, e.g. :envvar:" +"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." +msgstr "" +"Ігноруйте всі змінні середовища :envvar:`PYTHON*`, напр. :envvar:" +"`PYTHONPATH` і :envvar:`PYTHONHOME`, які можуть бути встановлені." + +msgid "Set by the :option:`-E` and :option:`-I` options." +msgstr "Встановлюється параметрами :option:`-E` і :option:`-I`." + +msgid "" +"When a script is passed as first argument or the :option:`-c` option is " +"used, enter interactive mode after executing the script or the command, even " +"when :data:`sys.stdin` does not appear to be a terminal." +msgstr "" +"Якщо сценарій передається як перший аргумент або використовується параметр :" +"option:`-c`, увійдіть в інтерактивний режим після виконання сценарію або " +"команди, навіть якщо :data:`sys.stdin` не виглядає як термінал." + +msgid "" +"Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment " +"variable." +msgstr "" +"Встановлюється параметром :option:`-i` і змінною середовища :envvar:" +"`PYTHONINSPECT`." + +msgid "Set by the :option:`-i` option." +msgstr "Встановлюється параметром :option:`-i`." + +msgid "" +"Run Python in isolated mode. In isolated mode :data:`sys.path` contains " +"neither the script's directory nor the user's site-packages directory." +msgstr "" +"Запустіть Python в ізольованому режимі. В ізольованому режимі :data:`sys." +"path` не містить ані каталогу сценарію, ані каталогу сайту-пакетів " +"користувача." + +msgid "Set by the :option:`-I` option." +msgstr "Встановлюється параметром :option:`-I`." + +msgid "" +"If the flag is non-zero, use the ``mbcs`` encoding with ``replace`` error " +"handler, instead of the UTF-8 encoding with ``surrogatepass`` error handler, " +"for the :term:`filesystem encoding and error handler`." +msgstr "" +"Якщо прапорець відмінний від нуля, використовуйте кодування ``mbcs`` із " +"обробником помилок ``replace``, замість кодування UTF-8 із ``surrogatepass`` " +"обробником помилок, для :term:`filesystem encoding and error handler`." + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " +"variable is set to a non-empty string." +msgstr "" +"Установіть значення ``1``, якщо змінна середовища :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING` має значення непорожнього рядка." + +msgid "See :pep:`529` for more details." +msgstr "Дивіться :pep:`529` для більш детальної інформації." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"If the flag is non-zero, use :class:`io.FileIO` instead of :class:" +"`WindowsConsoleIO` for :mod:`sys` standard streams." +msgstr "" +"Якщо прапор не нульовий, використовуйте :class:`io.FileIO` замість :class:" +"`WindowsConsoleIO` для :mod:`sys` стандартних потоків." + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " +"is set to a non-empty string." +msgstr "" +"Установіть значення ``1``, якщо змінна середовища :envvar:" +"`PYTHONLEGACYWINDOWSSTDIO` має значення непорожнього рядка." + +msgid "See :pep:`528` for more details." +msgstr "Дивіться :pep:`528` для більш детальної інформації." + +msgid "" +"Disable the import of the module :mod:`site` and the site-dependent " +"manipulations of :data:`sys.path` that it entails. Also disable these " +"manipulations if :mod:`site` is explicitly imported later (call :func:`site." +"main` if you want them to be triggered)." +msgstr "" +"Вимкніть імпорт модуля :mod:`site` і залежні від сайту маніпуляції :data:" +"`sys.path`, які він передбачає. Також вимкніть ці маніпуляції, якщо :mod:" +"`site` буде явно імпортовано пізніше (викличте :func:`site.main`, якщо ви " +"хочете, щоб вони були активовані)." + +msgid "Set by the :option:`-S` option." +msgstr "Встановлюється параметром :option:`-S`." + +msgid "" +"Don't add the :data:`user site-packages directory ` to :data:" +"`sys.path`." +msgstr "" +"Не додавайте каталог :data:`user site-packages ` до :data:" +"`sys.path`." + +msgid "" +"Set by the :option:`-s` and :option:`-I` options, and the :envvar:" +"`PYTHONNOUSERSITE` environment variable." +msgstr "" +"Встановлюється параметрами :option:`-s` і :option:`-I`, а також змінною " +"середовища :envvar:`PYTHONNOUSERSITE`." + +msgid "" +"Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment " +"variable." +msgstr "" +"Встановлюється параметром :option:`-O` і змінною середовища :envvar:" +"`PYTHONOPTIMIZE`." + +msgid "" +"Don't display the copyright and version messages even in interactive mode." +msgstr "" +"Не відображайте повідомлення про авторські права та версію навіть в " +"інтерактивному режимі." + +msgid "Set by the :option:`-q` option." +msgstr "Встановлюється параметром :option:`-q`." + +msgid "Force the stdout and stderr streams to be unbuffered." +msgstr "Примусово розбуферизувати потоки stdout і stderr." + +msgid "" +"Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` " +"environment variable." +msgstr "" +"Встановлюється параметром :option:`-u` і змінною середовища :envvar:" +"`PYTHONUNBUFFERED`." + +msgid "" +"Print a message each time a module is initialized, showing the place " +"(filename or built-in module) from which it is loaded. If greater or equal " +"to ``2``, print a message for each file that is checked for when searching " +"for a module. Also provides information on module cleanup at exit." +msgstr "" +"Друкувати повідомлення кожного разу, коли модуль ініціалізовано, із " +"зазначенням місця (ім’я файлу чи вбудованого модуля), з якого він " +"завантажується. Якщо більше або дорівнює ``2``, друкувати повідомлення для " +"кожного файлу, який перевіряється під час пошуку модуля. Також надає " +"інформацію про очищення модуля при виході." + +msgid "" +"Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment " +"variable." +msgstr "" +"Встановлюється параметром :option:`-v` і змінною середовища :envvar:" +"`PYTHONVERBOSE`." + +msgid "Initializing and finalizing the interpreter" +msgstr "Ініціалізація та завершення інтерпретатора" + +msgid "" +"Initialize the Python interpreter. In an application embedding Python, " +"this should be called before using any other Python/C API functions; see :" +"ref:`Before Python Initialization ` for the few exceptions." +msgstr "" +"Ініціалізація інтерпретатора Python. У програмі, що вбудовує Python, це слід " +"викликати перед використанням будь-яких інших функцій API Python/C; див. :" +"ref:`Перед ініціалізацією Python ` для кількох винятків." + +msgid "" +"This initializes the table of loaded modules (``sys.modules``), and creates " +"the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It " +"also initializes the module search path (``sys.path``). It does not set " +"``sys.argv``; use :c:func:`PySys_SetArgvEx` for that. This is a no-op when " +"called for a second time (without calling :c:func:`Py_FinalizeEx` first). " +"There is no return value; it is a fatal error if the initialization fails." +msgstr "" +"Це ініціалізує таблицю завантажених модулів (``sys.modules``) і створює " +"фундаментальні модулі :mod:`builtins`, :mod:`__main__` і :mod:`sys`. Він " +"також ініціалізує шлях пошуку модуля (``sys.path``). Він не встановлює ``sys." +"argv``; використовуйте для цього :c:func:`PySys_SetArgvEx`. Під час другого " +"виклику це не виконується (без першого виклику :c:func:`Py_FinalizeEx`). " +"Немає значення, що повертається; це фатальна помилка, якщо ініціалізація не " +"вдається." + +msgid "" +"On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which " +"will also affect non-Python uses of the console using the C Runtime." +msgstr "" +"У Windows змінює режим консолі з ``O_TEXT`` на ``O_BINARY``, що також вплине " +"на використання консолі не на Python за допомогою C Runtime." + +msgid "" +"This function works like :c:func:`Py_Initialize` if *initsigs* is ``1``. If " +"*initsigs* is ``0``, it skips initialization registration of signal " +"handlers, which might be useful when Python is embedded." +msgstr "" +"Ця функція працює як :c:func:`Py_Initialize`, якщо *initsigs* дорівнює " +"``1``. Якщо *initsigs* дорівнює ``0``, він пропускає реєстрацію " +"ініціалізації обробників сигналів, що може бути корисним, якщо Python " +"вбудовано." + +msgid "" +"Return true (nonzero) when the Python interpreter has been initialized, " +"false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns " +"false until :c:func:`Py_Initialize` is called again." +msgstr "" +"Повертає істину (не нуль), якщо інтерпретатор Python ініціалізовано, і false " +"(нуль), якщо ні. Після виклику :c:func:`Py_FinalizeEx` повертається false, " +"доки :c:func:`Py_Initialize` не буде викликано знову." + +msgid "" +"Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " +"of Python/C API functions, and destroy all sub-interpreters (see :c:func:" +"`Py_NewInterpreter` below) that were created and not yet destroyed since the " +"last call to :c:func:`Py_Initialize`. Ideally, this frees all memory " +"allocated by the Python interpreter. This is a no-op when called for a " +"second time (without calling :c:func:`Py_Initialize` again first). Normally " +"the return value is ``0``. If there were errors during finalization " +"(flushing buffered data), ``-1`` is returned." +msgstr "" +"Скасуйте всі ініціалізації, зроблені :c:func:`Py_Initialize` і подальше " +"використання функцій Python/C API, і знищіть усі підінтерпретатори (див. :c:" +"func:`Py_NewInterpreter` нижче), які були створені та ще не знищені після " +"останній виклик :c:func:`Py_Initialize`. В ідеалі це звільняє всю пам’ять, " +"виділену інтерпретатором Python. Під час повторного виклику це не " +"виконується (без повторного виклику :c:func:`Py_Initialize`). Зазвичай " +"повертається значення ``0``. Якщо були помилки під час фіналізації (скидання " +"буферизованих даних), повертається ``-1``." + +msgid "" +"This function is provided for a number of reasons. An embedding application " +"might want to restart Python without having to restart the application " +"itself. An application that has loaded the Python interpreter from a " +"dynamically loadable library (or DLL) might want to free all memory " +"allocated by Python before unloading the DLL. During a hunt for memory leaks " +"in an application a developer might want to free all memory allocated by " +"Python before exiting from the application." +msgstr "" +"Ця функція передбачена з кількох причин. Програма для вбудовування може " +"захотіти перезапустити Python без необхідності перезапускати саму програму. " +"Програма, яка завантажила інтерпретатор Python із динамічно завантажуваної " +"бібліотеки (або DLL), може захотіти звільнити всю пам’ять, виділену Python, " +"перед вивантаженням DLL. Під час пошуку витоків пам’яті в програмі розробник " +"може захотіти звільнити всю пам’ять, виділену Python, перш ніж вийти з " +"програми." + +msgid "" +"**Bugs and caveats:** The destruction of modules and objects in modules is " +"done in random order; this may cause destructors (:meth:`__del__` methods) " +"to fail when they depend on other objects (even functions) or modules. " +"Dynamically loaded extension modules loaded by Python are not unloaded. " +"Small amounts of memory allocated by the Python interpreter may not be freed " +"(if you find a leak, please report it). Memory tied up in circular " +"references between objects is not freed. Some memory allocated by extension " +"modules may not be freed. Some extensions may not work properly if their " +"initialization routine is called more than once; this can happen if an " +"application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` more " +"than once." +msgstr "" +"**Помилки та застереження:** Знищення модулів і об’єктів у модулях " +"виконується у випадковому порядку; це може призвести до збою деструкторів (:" +"meth:`__del__` методів), коли вони залежать від інших об’єктів (навіть " +"функцій) або модулів. Динамічно завантажувані модулі розширення, завантажені " +"Python, не вивантажуються. Невеликі обсяги пам’яті, виділені інтерпретатором " +"Python, можуть не звільнитися (якщо ви виявите витік, повідомте про це). " +"Пам'ять, зв'язана циклічними посиланнями між об'єктами, не звільняється. " +"Частина пам’яті, виділеної модулями розширення, може не звільнятися. Деякі " +"розширення можуть не працювати належним чином, якщо їхня процедура " +"ініціалізації викликається кілька разів; це може статися, якщо програма " +"викликає :c:func:`Py_Initialize` і :c:func:`Py_FinalizeEx` більше одного " +"разу." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"_PySys_ClearAuditHooks`` with no arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython._PySys_ClearAuditHooks`` " +"без аргументів." + +msgid "" +"This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that " +"disregards the return value." +msgstr "" +"Це зворотно сумісна версія :c:func:`Py_FinalizeEx`, яка не враховує " +"значення, що повертається." + +msgid "Process-wide parameters" +msgstr "Параметри для всього процесу" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"stdio_encoding` and :c:member:`PyConfig.stdio_errors` should be used " +"instead, see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"This function should be called before :c:func:`Py_Initialize`, if it is " +"called at all. It specifies which encoding and error handling to use with " +"standard IO, with the same meanings as in :func:`str.encode`." +msgstr "" +"Цю функцію слід викликати перед :c:func:`Py_Initialize`, якщо вона взагалі " +"викликається. Він визначає, яке кодування та обробку помилок використовувати " +"зі стандартним вводом-виводом із тим самим значенням, що й у :func:`str." +"encode`." + +msgid "" +"It overrides :envvar:`PYTHONIOENCODING` values, and allows embedding code to " +"control IO encoding when the environment variable does not work." +msgstr "" +"Він замінює значення :envvar:`PYTHONIOENCODING` і дозволяє вставляти код для " +"керування кодуванням вводу/виводу, коли змінна середовища не працює." + +msgid "" +"*encoding* and/or *errors* may be ``NULL`` to use :envvar:`PYTHONIOENCODING` " +"and/or default values (depending on other settings)." +msgstr "" +"*кодування* та/або *помилки* можуть бути ``NULL`` для використання :envvar:" +"`PYTHONIOENCODING` та/або значень за замовчуванням (залежно від інших " +"налаштувань)." + +msgid "" +"Note that :data:`sys.stderr` always uses the \"backslashreplace\" error " +"handler, regardless of this (or any other) setting." +msgstr "" +"Зауважте, що :data:`sys.stderr` завжди використовує обробник помилок " +"\"backslashreplace\", незалежно від цього (або будь-якого іншого) параметра." + +msgid "" +"If :c:func:`Py_FinalizeEx` is called, this function will need to be called " +"again in order to affect subsequent calls to :c:func:`Py_Initialize`." +msgstr "" +"Якщо викликається :c:func:`Py_FinalizeEx`, цю функцію потрібно буде " +"викликати знову, щоб вплинути на наступні виклики :c:func:`Py_Initialize`." + +msgid "" +"Returns ``0`` if successful, a nonzero value on error (e.g. calling after " +"the interpreter has already been initialized)." +msgstr "" +"У разі успіху повертає ``0``, відмінне від нуля значення в разі помилки " +"(наприклад, виклик після того, як інтерпретатор уже ініціалізовано)." + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"program_name` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"This function should be called before :c:func:`Py_Initialize` is called for " +"the first time, if it is called at all. It tells the interpreter the value " +"of the ``argv[0]`` argument to the :c:func:`main` function of the program " +"(converted to wide characters). This is used by :c:func:`Py_GetPath` and " +"some other functions below to find the Python run-time libraries relative to " +"the interpreter executable. The default value is ``'python'``. The " +"argument should point to a zero-terminated wide character string in static " +"storage whose contents will not change for the duration of the program's " +"execution. No code in the Python interpreter will change the contents of " +"this storage." +msgstr "" +"Цю функцію слід викликати перед першим викликом :c:func:`Py_Initialize`, " +"якщо вона взагалі викликається. Він повідомляє інтерпретатору значення " +"аргументу ``argv[0]`` для функції :c:func:`main` програми (перетворене на " +"широкі символи). Це використовується :c:func:`Py_GetPath` та деякими іншими " +"функціями нижче для пошуку бібліотек часу виконання Python відносно " +"виконуваного файлу інтерпретатора. Значення за замовчуванням - ``'python'``. " +"Аргумент має вказувати на широкий символьний рядок із нульовим закінченням у " +"статичній пам’яті, вміст якої не змінюватиметься протягом виконання " +"програми. Жоден код інтерпретатора Python не змінить вміст цього сховища." + +msgid "" +"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" +"`wchar_*` string." +msgstr "" + +msgid "" +"Return the program name set with :c:func:`Py_SetProgramName`, or the " +"default. The returned string points into static storage; the caller should " +"not modify its value." +msgstr "" +"Повертає назву програми, встановлену за допомогою :c:func:" +"`Py_SetProgramName`, або за замовчуванням. Повернений рядок вказує на " +"статичне сховище; абонент не повинен змінювати його значення." + +msgid "" +"This function should not be called before :c:func:`Py_Initialize`, otherwise " +"it returns ``NULL``." +msgstr "" +"Цю функцію не слід викликати перед :c:func:`Py_Initialize`, інакше вона " +"повертає ``NULL``." + +msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`." +msgstr "" +"Тепер він повертає ``NULL``, якщо викликаний перед :c:func:`Py_Initialize`." + +msgid "" +"Return the *prefix* for installed platform-independent files. This is " +"derived through a number of complicated rules from the program name set " +"with :c:func:`Py_SetProgramName` and some environment variables; for " +"example, if the program name is ``'/usr/local/bin/python'``, the prefix is " +"``'/usr/local'``. The returned string points into static storage; the caller " +"should not modify its value. This corresponds to the :makevar:`prefix` " +"variable in the top-level :file:`Makefile` and the ``--prefix`` argument to " +"the :program:`configure` script at build time. The value is available to " +"Python code as ``sys.prefix``. It is only useful on Unix. See also the next " +"function." +msgstr "" +"Повертає *префікс* для встановлених незалежних від платформи файлів. Це " +"виводиться через низку складних правил із назви програми, встановленої за " +"допомогою :c:func:`Py_SetProgramName` та деяких змінних середовища; " +"наприклад, якщо назва програми ``'/usr/local/bin/python'``, префікс ``'/usr/" +"local'``. Повернений рядок вказує на статичне сховище; абонент не повинен " +"змінювати його значення. Це відповідає змінній :makevar:`prefix` у :file:" +"`Makefile` верхнього рівня та аргументу ``--prefix`` сценарію :program:" +"`configure` під час збирання. Значення доступне для коду Python як ``sys." +"prefix``. Це корисно лише в Unix. Дивіться також наступну функцію." + +msgid "" +"Return the *exec-prefix* for installed platform-*dependent* files. This is " +"derived through a number of complicated rules from the program name set " +"with :c:func:`Py_SetProgramName` and some environment variables; for " +"example, if the program name is ``'/usr/local/bin/python'``, the exec-prefix " +"is ``'/usr/local'``. The returned string points into static storage; the " +"caller should not modify its value. This corresponds to the :makevar:" +"`exec_prefix` variable in the top-level :file:`Makefile` and the ``--exec-" +"prefix`` argument to the :program:`configure` script at build time. The " +"value is available to Python code as ``sys.exec_prefix``. It is only useful " +"on Unix." +msgstr "" +"Повертає *префікс exec* для встановлених *залежних* від платформи файлів. Це " +"виводиться через низку складних правил із назви програми, встановленої за " +"допомогою :c:func:`Py_SetProgramName` та деяких змінних середовища; " +"наприклад, якщо назва програми ``'/usr/local/bin/python'``, префікс exec ``'/" +"usr/local'``. Повернений рядок вказує на статичне сховище; абонент не " +"повинен змінювати його значення. Це відповідає змінній :makevar:" +"`exec_prefix` у :file:`Makefile` верхнього рівня та аргументу ``--exec-" +"prefix`` сценарію :program:`configure` під час збирання. Значення доступне " +"для коду Python як ``sys.exec_prefix``. Це корисно лише в Unix." + +msgid "" +"Background: The exec-prefix differs from the prefix when platform dependent " +"files (such as executables and shared libraries) are installed in a " +"different directory tree. In a typical installation, platform dependent " +"files may be installed in the :file:`/usr/local/plat` subtree while platform " +"independent may be installed in :file:`/usr/local`." +msgstr "" +"Довідкова інформація: префікс exec відрізняється від префікса, коли залежні " +"від платформи файли (такі як виконувані файли та спільні бібліотеки) " +"інстальовано в іншому дереві каталогів. У типовій інсталяції залежні від " +"платформи файли можна інсталювати у піддереві :file:`/usr/local/plat`, а " +"незалежні від платформи — у :file:`/usr/local`." + +msgid "" +"Generally speaking, a platform is a combination of hardware and software " +"families, e.g. Sparc machines running the Solaris 2.x operating system are " +"considered the same platform, but Intel machines running Solaris 2.x are " +"another platform, and Intel machines running Linux are yet another " +"platform. Different major revisions of the same operating system generally " +"also form different platforms. Non-Unix operating systems are a different " +"story; the installation strategies on those systems are so different that " +"the prefix and exec-prefix are meaningless, and set to the empty string. " +"Note that compiled Python bytecode files are platform independent (but not " +"independent from the Python version by which they were compiled!)." +msgstr "" +"Загалом, платформа – це комбінація сімейства апаратного та програмного " +"забезпечення, напр. Машини Sparc під керуванням операційної системи Solaris " +"2.x вважаються тією самою платформою, але машини Intel під керуванням " +"Solaris 2.x є іншою платформою, а машини Intel під керуванням Linux є ще " +"іншою платформою. Різні основні версії однієї операційної системи, як " +"правило, створюють різні платформи. Інша історія — операційні системи, " +"відмінні від Unix; стратегії встановлення в цих системах настільки різні, що " +"префікс і префікс exec не мають сенсу та встановлюються як порожній рядок. " +"Зауважте, що скомпільовані файли байт-коду Python не залежать від платформи " +"(але не залежать від версії Python, за допомогою якої вони були " +"скомпільовані!)." + +msgid "" +"System administrators will know how to configure the :program:`mount` or :" +"program:`automount` programs to share :file:`/usr/local` between platforms " +"while having :file:`/usr/local/plat` be a different filesystem for each " +"platform." +msgstr "" +"Системні адміністратори знатимуть, як налаштувати програми :program:`mount` " +"або :program:`automount` для спільного використання :file:`/usr/local` між " +"платформами, використовуючи :file:`/usr/local/plat` різні файлові системи " +"для кожної платформи." + +msgid "" +"Return the full program name of the Python executable; this is computed as " +"a side-effect of deriving the default module search path from the program " +"name (set by :c:func:`Py_SetProgramName` above). The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.executable``." +msgstr "" +"Повертає повну назву програми виконуваного файлу Python; це обчислюється як " +"побічний ефект отримання шляху пошуку модуля за замовчуванням з назви " +"програми (встановленої :c:func:`Py_SetProgramName` вище). Повернений рядок " +"вказує на статичне сховище; абонент не повинен змінювати його значення. " +"Значення доступне для коду Python як ``sys.executable``." + +msgid "" +"Return the default module search path; this is computed from the program " +"name (set by :c:func:`Py_SetProgramName` above) and some environment " +"variables. The returned string consists of a series of directory names " +"separated by a platform dependent delimiter character. The delimiter " +"character is ``':'`` on Unix and macOS, ``';'`` on Windows. The returned " +"string points into static storage; the caller should not modify its value. " +"The list :data:`sys.path` is initialized with this value on interpreter " +"startup; it can be (and usually is) modified later to change the search path " +"for loading modules." +msgstr "" +"Повертає стандартний шлях пошуку модуля; це обчислюється з назви програми " +"(встановленої :c:func:`Py_SetProgramName` вище) і деяких змінних середовища. " +"Повернений рядок складається з назв каталогів, розділених символом-" +"роздільником, що залежить від платформи. Роздільником є ``':''`` в Unix і " +"macOS, ``';''`` у Windows. Повернений рядок вказує на статичне сховище; " +"абонент не повинен змінювати його значення. Список :data:`sys.path` " +"ініціалізується цим значенням під час запуску інтерпретатора; його можна (і " +"зазвичай так) змінити пізніше, щоб змінити шлях пошуку для завантаження " +"модулів." + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should " +"be used instead, see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"Set the default module search path. If this function is called before :c:" +"func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to compute a " +"default search path but uses the one provided instead. This is useful if " +"Python is embedded by an application that has full knowledge of the location " +"of all modules. The path components should be separated by the platform " +"dependent delimiter character, which is ``':'`` on Unix and macOS, ``';'`` " +"on Windows." +msgstr "" +"Встановіть шлях пошуку модуля за замовчуванням. Якщо ця функція викликається " +"перед :c:func:`Py_Initialize`, тоді :c:func:`Py_GetPath` не намагатиметься " +"обчислити шлях пошуку за замовчуванням, а замість цього використовуватиме " +"наданий. Це корисно, якщо Python вбудовано програмою, яка має повні " +"відомості про розташування всіх модулів. Компоненти шляху мають бути " +"розділені залежним від платформи символом роздільника, яким є ``':''`` в " +"Unix і macOS, ``';''`` у Windows." + +msgid "" +"This also causes :data:`sys.executable` to be set to the program full path " +"(see :c:func:`Py_GetProgramFullPath`) and for :data:`sys.prefix` and :data:" +"`sys.exec_prefix` to be empty. It is up to the caller to modify these if " +"required after calling :c:func:`Py_Initialize`." +msgstr "" +"Це також призводить до того, що для :data:`sys.executable` буде встановлено " +"повний шлях до програми (див. :c:func:`Py_GetProgramFullPath`), а для :data:" +"`sys.prefix` і :data:`sys.exec_prefix` — бути порожнім. Користувач, який " +"викликає, може змінити їх, якщо потрібно, після виклику :c:func:" +"`Py_Initialize`." + +msgid "" +"The path argument is copied internally, so the caller may free it after the " +"call completes." +msgstr "" +"Аргумент шляху копіюється всередину, тому абонент може звільнити його після " +"завершення виклику." + +msgid "" +"The program full path is now used for :data:`sys.executable`, instead of the " +"program name." +msgstr "" +"Тепер для :data:`sys.executable` використовується повний шлях до програми " +"замість назви програми." + +msgid "" +"Return the version of this Python interpreter. This is a string that looks " +"something like ::" +msgstr "" +"Повернути версію цього інтерпретатора Python. Це рядок, який виглядає " +"приблизно так::" + +msgid "" +"The first word (up to the first space character) is the current Python " +"version; the first characters are the major and minor version separated by a " +"period. The returned string points into static storage; the caller should " +"not modify its value. The value is available to Python code as :data:`sys." +"version`." +msgstr "" +"Перше слово (до першого символу пробілу) є поточною версією Python; перші " +"символи — це головна та другорядна версії, розділені крапкою. Повернений " +"рядок вказує на статичне сховище; абонент не повинен змінювати його " +"значення. Значення доступне для коду Python як :data:`sys.version`." + +msgid "See also the :c:var:`Py_Version` constant." +msgstr "" + +msgid "" +"Return the platform identifier for the current platform. On Unix, this is " +"formed from the \"official\" name of the operating system, converted to " +"lower case, followed by the major revision number; e.g., for Solaris 2.x, " +"which is also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it " +"is ``'darwin'``. On Windows, it is ``'win'``. The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.platform``." +msgstr "" +"Повертає ідентифікатор платформи для поточної платформи. В Unix це " +"формується з \"офіційної\" назви операційної системи, перетвореної на нижній " +"регістр, за якою йде основний номер версії; наприклад, для Solaris 2.x, яка " +"також відома як SunOS 5.x, значенням є ``'sunos5``. У macOS це ``'darwin'``. " +"У Windows це ``'win'``. Повернений рядок вказує на статичне сховище; абонент " +"не повинен змінювати його значення. Значення доступне для коду Python як " +"``sys.platform``." + +msgid "" +"Return the official copyright string for the current Python version, for " +"example" +msgstr "" +"Поверніть, наприклад, офіційний рядок авторських прав для поточної версії " +"Python" + +msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" +msgstr "" +"``'Авторське право 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" + +msgid "" +"The returned string points into static storage; the caller should not modify " +"its value. The value is available to Python code as ``sys.copyright``." +msgstr "" +"Повернений рядок вказує на статичне сховище; абонент не повинен змінювати " +"його значення. Значення доступне для коду Python як ``sys.copyright``." + +msgid "" +"Return an indication of the compiler used to build the current Python " +"version, in square brackets, for example::" +msgstr "" +"Повертає вказівку компілятора, використаного для створення поточної версії " +"Python, у квадратних дужках, наприклад::" + +msgid "" +"The returned string points into static storage; the caller should not modify " +"its value. The value is available to Python code as part of the variable " +"``sys.version``." +msgstr "" +"Повернений рядок вказує на статичне сховище; абонент не повинен змінювати " +"його значення. Значення доступне для коду Python як частина змінної ``sys." +"version``." + +msgid "" +"Return information about the sequence number and build date and time of the " +"current Python interpreter instance, for example ::" +msgstr "" +"Повертає інформацію про порядковий номер, дату й час збирання поточного " +"екземпляра інтерпретатора Python, наприклад::" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"argv`, :c:member:`PyConfig.parse_argv` and :c:member:`PyConfig.safe_path` " +"should be used instead, see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"Set :data:`sys.argv` based on *argc* and *argv*. These parameters are " +"similar to those passed to the program's :c:func:`main` function with the " +"difference that the first entry should refer to the script file to be " +"executed rather than the executable hosting the Python interpreter. If " +"there isn't a script that will be run, the first entry in *argv* can be an " +"empty string. If this function fails to initialize :data:`sys.argv`, a " +"fatal condition is signalled using :c:func:`Py_FatalError`." +msgstr "" +"Встановити :data:`sys.argv` на основі *argc* і *argv*. Ці параметри подібні " +"до тих, що передаються до функції програми :c:func:`main` з тією різницею, " +"що перший запис має посилатися на файл сценарію, який буде виконано, а не на " +"виконуваний файл, у якому розміщено інтерпретатор Python. Якщо сценарію, " +"який буде запущено, немає, перший запис у *argv* може бути порожнім рядком. " +"Якщо цій функції не вдається ініціалізувати :data:`sys.argv`, за допомогою :" +"c:func:`Py_FatalError` повідомляється про фатальну умову." + +msgid "" +"If *updatepath* is zero, this is all the function does. If *updatepath* is " +"non-zero, the function also modifies :data:`sys.path` according to the " +"following algorithm:" +msgstr "" +"Якщо *updatepath* дорівнює нулю, це все, що функція робить. Якщо " +"*updatepath* відмінний від нуля, функція також змінює :data:`sys.path` " +"відповідно до наступного алгоритму:" + +msgid "" +"If the name of an existing script is passed in ``argv[0]``, the absolute " +"path of the directory where the script is located is prepended to :data:`sys." +"path`." +msgstr "" +"Якщо ім’я існуючого сценарію передається в ``argv[0]``, абсолютний шлях до " +"каталогу, де розташований сценарій, додається до :data:`sys.path`." + +msgid "" +"Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an " +"existing file name), an empty string is prepended to :data:`sys.path`, which " +"is the same as prepending the current working directory (``\".\"``)." +msgstr "" +"В іншому випадку (тобто, якщо *argc* дорівнює ``0`` або ``argv[0]`` не " +"вказує на існуюче ім’я файлу), до :data:`sys.path` додається порожній рядок, " +"що те саме, що додавати поточний робочий каталог (``\".\"``)." + +msgid "" +"See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` " +"members of the :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"It is recommended that applications embedding the Python interpreter for " +"purposes other than executing a single script pass ``0`` as *updatepath*, " +"and update :data:`sys.path` themselves if desired. See `CVE-2008-5983 " +"`_." +msgstr "" +"Рекомендується, щоб програми, які вбудовують інтерпретатор Python для цілей, " +"відмінних від виконання одного сценарію, передавали ``0`` як *updatepath* і " +"оновлювали :data:`sys.path` самостійно, якщо це потрібно. Див. " +"`CVE-2008-5983 `_." + +msgid "" +"On versions before 3.1.3, you can achieve the same effect by manually " +"popping the first :data:`sys.path` element after having called :c:func:" +"`PySys_SetArgv`, for example using::" +msgstr "" +"У версіях до 3.1.3 ви можете досягти того самого ефекту, вручну витягнувши " +"перший елемент :data:`sys.path` після виклику :c:func:`PySys_SetArgv`, " +"наприклад, використовуючи::" + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"argv` and :c:member:`PyConfig.parse_argv` should be used instead, see :ref:" +"`Python Initialization Configuration `." +msgstr "" + +msgid "" +"This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " +"``1`` unless the :program:`python` interpreter was started with the :option:" +"`-I`." +msgstr "" +"Ця функція працює як :c:func:`PySys_SetArgvEx` з *updatepath*, встановленим " +"на ``1``, якщо інтерпретатор :program:`python` не було запущено з :option:`-" +"I`." + +msgid "The *updatepath* value depends on :option:`-I`." +msgstr "Значення *updatepath* залежить від :option:`-I`." + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"home` should be used instead, see :ref:`Python Initialization Configuration " +"`." +msgstr "" + +msgid "" +"Set the default \"home\" directory, that is, the location of the standard " +"Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " +"string." +msgstr "" +"Встановіть типовий \"домашній\" каталог, тобто розташування стандартних " +"бібліотек Python. Дивіться :envvar:`PYTHONHOME` для визначення значення " +"рядка аргументу." + +msgid "" +"The argument should point to a zero-terminated character string in static " +"storage whose contents will not change for the duration of the program's " +"execution. No code in the Python interpreter will change the contents of " +"this storage." +msgstr "" +"Аргумент має вказувати на символьний рядок із нульовим закінченням у " +"статичному сховищі, вміст якого не змінюватиметься протягом виконання " +"програми. Жоден код інтерпретатора Python не змінить вміст цього сховища." + +msgid "" +"Return the default \"home\", that is, the value set by a previous call to :c:" +"func:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME` " +"environment variable if it is set." +msgstr "" +"Повертає типовий \"home\", тобто значення, встановлене попереднім викликом :" +"c:func:`Py_SetPythonHome`, або значення змінної середовища :envvar:" +"`PYTHONHOME`, якщо воно встановлено." + +msgid "Thread State and the Global Interpreter Lock" +msgstr "Стан потоку та глобальне блокування інтерпретатора" + +msgid "" +"The Python interpreter is not fully thread-safe. In order to support multi-" +"threaded Python programs, there's a global lock, called the :term:`global " +"interpreter lock` or :term:`GIL`, that must be held by the current thread " +"before it can safely access Python objects. Without the lock, even the " +"simplest operations could cause problems in a multi-threaded program: for " +"example, when two threads simultaneously increment the reference count of " +"the same object, the reference count could end up being incremented only " +"once instead of twice." +msgstr "" +"Інтерпретатор Python не є повністю потокобезпечним. Щоб підтримувати " +"багатопотокові програми Python, існує глобальне блокування, яке називається :" +"term:`global interpreter lock` або :term:`GIL`, яке має утримуватися " +"поточним потоком, перш ніж він зможе безпечно отримати доступ до об’єктів " +"Python. Без блокування навіть найпростіші операції можуть спричинити " +"проблеми в багатопотоковій програмі: наприклад, коли два потоки одночасно " +"збільшують кількість посилань на один і той же об’єкт, кількість посилань " +"може збільшитися лише один раз, а не двічі." + +msgid "" +"Therefore, the rule exists that only the thread that has acquired the :term:" +"`GIL` may operate on Python objects or call Python/C API functions. In order " +"to emulate concurrency of execution, the interpreter regularly tries to " +"switch threads (see :func:`sys.setswitchinterval`). The lock is also " +"released around potentially blocking I/O operations like reading or writing " +"a file, so that other Python threads can run in the meantime." +msgstr "" +"Тому існує правило, згідно з яким лише потік, який отримав :term:`GIL`, може " +"працювати з об’єктами Python або викликати функції API Python/C. Щоб " +"імітувати паралельне виконання, інтерпретатор регулярно намагається " +"перемикати потоки (див. :func:`sys.setswitchinterval`). Блокування також " +"знімається навколо можливого блокування операцій введення-виведення, таких " +"як читання або запис файлу, щоб тим часом могли працювати інші потоки Python." + +msgid "" +"The Python interpreter keeps some thread-specific bookkeeping information " +"inside a data structure called :c:type:`PyThreadState`. There's also one " +"global variable pointing to the current :c:type:`PyThreadState`: it can be " +"retrieved using :c:func:`PyThreadState_Get`." +msgstr "" +"Інтерпретатор Python зберігає певну облікову інформацію про потоки в " +"структурі даних під назвою :c:type:`PyThreadState`. Існує також одна " +"глобальна змінна, яка вказує на поточний :c:type:`PyThreadState`: її можна " +"отримати за допомогою :c:func:`PyThreadState_Get`." + +msgid "Releasing the GIL from extension code" +msgstr "Реліз GIL від коду розширення" + +msgid "" +"Most extension code manipulating the :term:`GIL` has the following simple " +"structure::" +msgstr "" +"Більшість кодів розширення, які маніпулюють :term:`GIL`, мають таку просту " +"структуру:" + +msgid "This is so common that a pair of macros exists to simplify it::" +msgstr "" +"Це настільки поширене явище, що для його спрощення існує пара макросів:" + +msgid "" +"The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a " +"hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the " +"block." +msgstr "" +"Макрос :c:macro:`Py_BEGIN_ALLOW_THREADS` відкриває новий блок і оголошує " +"приховану локальну змінну; макрос :c:macro:`Py_END_ALLOW_THREADS` закриває " +"блок." + +msgid "The block above expands to the following code::" +msgstr "Блок вище розширюється до наступного коду::" + +msgid "" +"Here is how these functions work: the global interpreter lock is used to " +"protect the pointer to the current thread state. When releasing the lock " +"and saving the thread state, the current thread state pointer must be " +"retrieved before the lock is released (since another thread could " +"immediately acquire the lock and store its own thread state in the global " +"variable). Conversely, when acquiring the lock and restoring the thread " +"state, the lock must be acquired before storing the thread state pointer." +msgstr "" +"Ось як ці функції працюють: глобальне блокування інтерпретатора " +"використовується для захисту вказівника на поточний стан потоку. При знятті " +"блокування та збереженні стану потоку вказівник поточного стану потоку " +"повинен бути отриманий до зняття блокування (оскільки інший потік може " +"негайно отримати блокування та зберегти свій власний стан потоку в " +"глобальній змінній). І навпаки, під час отримання блокування та відновлення " +"стану потоку, блокування має бути отримано перед збереженням покажчика стану " +"потоку." + +msgid "" +"Calling system I/O functions is the most common use case for releasing the " +"GIL, but it can also be useful before calling long-running computations " +"which don't need access to Python objects, such as compression or " +"cryptographic functions operating over memory buffers. For example, the " +"standard :mod:`zlib` and :mod:`hashlib` modules release the GIL when " +"compressing or hashing data." +msgstr "" +"Виклик системних функцій вводу-виводу є найпоширенішим варіантом " +"використання для випуску GIL, але він також може бути корисним перед " +"викликом тривалих обчислень, яким не потрібен доступ до об’єктів Python, " +"таких як стиснення або криптографічні функції, що працюють над буферами " +"пам’яті. Наприклад, стандартні модулі :mod:`zlib` і :mod:`hashlib` " +"звільняють GIL під час стиснення або хешування даних." + +msgid "Non-Python created threads" +msgstr "Потоки, створені не на Python" + +msgid "" +"When threads are created using the dedicated Python APIs (such as the :mod:" +"`threading` module), a thread state is automatically associated to them and " +"the code showed above is therefore correct. However, when threads are " +"created from C (for example by a third-party library with its own thread " +"management), they don't hold the GIL, nor is there a thread state structure " +"for them." +msgstr "" +"Коли потоки створюються за допомогою спеціальних API Python (таких як " +"модуль :mod:`threading`), стан потоку автоматично пов’язується з ними, і " +"код, показаний вище, є правильним. Однак, коли потоки створюються з C " +"(наприклад, сторонньою бібліотекою з власним керуванням потоками), вони не " +"містять GIL, а також для них не існує структури стану потоку." + +msgid "" +"If you need to call Python code from these threads (often this will be part " +"of a callback API provided by the aforementioned third-party library), you " +"must first register these threads with the interpreter by creating a thread " +"state data structure, then acquiring the GIL, and finally storing their " +"thread state pointer, before you can start using the Python/C API. When you " +"are done, you should reset the thread state pointer, release the GIL, and " +"finally free the thread state data structure." +msgstr "" +"Якщо вам потрібно викликати код Python із цих потоків (часто це буде " +"частиною API зворотного виклику, наданого вищезгаданою сторонньою " +"бібліотекою), ви повинні спочатку зареєструвати ці потоки в інтерпретаторі, " +"створивши структуру даних стану потоку, а потім отримати GIL і, нарешті, " +"збереження покажчика стану потоку, перш ніж ви зможете почати " +"використовувати API Python/C. Коли ви закінчите, ви повинні скинути " +"вказівник стану потоку, звільнити GIL і, нарешті, звільнити структуру даних " +"стану потоку." + +msgid "" +"The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` functions " +"do all of the above automatically. The typical idiom for calling into " +"Python from a C thread is::" +msgstr "" +"Функції :c:func:`PyGILState_Ensure` і :c:func:`PyGILState_Release` виконують " +"усе вищезазначене автоматично. Типова ідіома виклику Python із потоку C:" + +msgid "" +"Note that the ``PyGILState_*`` functions assume there is only one global " +"interpreter (created automatically by :c:func:`Py_Initialize`). Python " +"supports the creation of additional interpreters (using :c:func:" +"`Py_NewInterpreter`), but mixing multiple interpreters and the " +"``PyGILState_*`` API is unsupported." +msgstr "" + +msgid "Cautions about fork()" +msgstr "Застереження щодо fork()" + +msgid "" +"Another important thing to note about threads is their behaviour in the face " +"of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a " +"process forks only the thread that issued the fork will exist. This has a " +"concrete impact both on how locks must be handled and on all stored state in " +"CPython's runtime." +msgstr "" +"Ще одна важлива річ, на яку слід звернути увагу щодо потоків, це їхня " +"поведінка перед викликом C :c:func:`fork`. У більшості систем із :c:func:" +"`fork` після розгалуження процесу існуватиме лише потік, який видав " +"розгалуження. Це має конкретний вплив як на те, як потрібно обробляти " +"блокування, так і на весь збережений стан у середовищі виконання CPython." + +msgid "" +"The fact that only the \"current\" thread remains means any locks held by " +"other threads will never be released. Python solves this for :func:`os.fork` " +"by acquiring the locks it uses internally before the fork, and releasing " +"them afterwards. In addition, it resets any :ref:`lock-objects` in the " +"child. When extending or embedding Python, there is no way to inform Python " +"of additional (non-Python) locks that need to be acquired before or reset " +"after a fork. OS facilities such as :c:func:`pthread_atfork` would need to " +"be used to accomplish the same thing. Additionally, when extending or " +"embedding Python, calling :c:func:`fork` directly rather than through :func:" +"`os.fork` (and returning to or calling into Python) may result in a deadlock " +"by one of Python's internal locks being held by a thread that is defunct " +"after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the necessary " +"locks, but is not always able to." +msgstr "" +"Той факт, що залишається лише \"поточний\" потік, означає, що будь-які " +"блокування, утримувані іншими потоками, ніколи не будуть звільнені. Python " +"вирішує це для :func:`os.fork`, отримуючи блокування, які він використовує " +"всередині перед розгалуженням, і звільняє їх після. Крім того, він скидає " +"будь-які :ref:`lock-objects` у дочірньому. Під час розширення або " +"вбудовування Python немає способу повідомити Python про додаткові (не " +"Python) блокування, які потрібно отримати до або скинути після розгалуження. " +"Такі засоби ОС, як :c:func:`pthread_atfork`, потрібно буде використовувати, " +"щоб виконати те ж саме. Крім того, під час розширення або вбудовування " +"Python виклик :c:func:`fork` безпосередньо, а не через :func:`os.fork` (і " +"повернення або виклик у Python) може призвести до тупикової блокування через " +"одне з внутрішніх блокувань Python утримується ниткою, яка не існує після " +"розгалуження. :c:func:`PyOS_AfterFork_Child` намагається скинути необхідні " +"блокування, але не завжди може." + +msgid "" +"The fact that all other threads go away also means that CPython's runtime " +"state there must be cleaned up properly, which :func:`os.fork` does. This " +"means finalizing all other :c:type:`PyThreadState` objects belonging to the " +"current interpreter and all other :c:type:`PyInterpreterState` objects. Due " +"to this and the special nature of the :ref:`\"main\" interpreter `, :c:func:`fork` should only be called in that " +"interpreter's \"main\" thread, where the CPython global runtime was " +"originally initialized. The only exception is if :c:func:`exec` will be " +"called immediately after." +msgstr "" +"Той факт, що всі інші потоки зникають, також означає, що стан виконання " +"CPython там має бути належним чином очищено, що й робить :func:`os.fork`. Це " +"означає завершення всіх інших об’єктів :c:type:`PyThreadState`, що належать " +"поточному інтерпретатору, і всіх інших об’єктів :c:type:" +"`PyInterpreterState`. Через це та особливу природу :ref:`\"main\" " +"інтерпретатора `, :c:func:`fork` слід викликати " +"лише в тому \"main\" потоці цього інтерпретатора, де початково " +"ініціалізовано глобальне середовище виконання CPython. Єдиним винятком є те, " +"що :c:func:`exec` буде викликано одразу після." + +msgid "High-level API" +msgstr "API високого рівня" + +msgid "" +"These are the most commonly used types and functions when writing C " +"extension code, or when embedding the Python interpreter:" +msgstr "" +"Це типи та функції, які найчастіше використовуються під час написання коду " +"розширення C або під час вбудовування інтерпретатора Python:" + +msgid "" +"This data structure represents the state shared by a number of cooperating " +"threads. Threads belonging to the same interpreter share their module " +"administration and a few other internal items. There are no public members " +"in this structure." +msgstr "" +"Ця структура даних представляє стан, спільний для кількох взаємодіючих " +"потоків. Потоки, що належать одному інтерпретатору, спільно використовують " +"адміністрування модуля та кілька інших внутрішніх елементів. У цій структурі " +"немає громадських учасників." + +msgid "" +"Threads belonging to different interpreters initially share nothing, except " +"process state like available memory, open file descriptors and such. The " +"global interpreter lock is also shared by all threads, regardless of to " +"which interpreter they belong." +msgstr "" +"Потоки, що належать різним інтерпретаторам, спочатку нічого спільного не " +"мають, окрім стану процесу, наприклад доступної пам’яті, відкритих файлових " +"дескрипторів тощо. Глобальне блокування інтерпретатора також " +"використовується для всіх потоків, незалежно від того, до якого " +"інтерпретатора вони належать." + +msgid "" +"This data structure represents the state of a single thread. The only " +"public data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which " +"points to this thread's interpreter state." +msgstr "" + +msgid "Deprecated function which does nothing." +msgstr "Застаріла функція, яка нічого не робить." + +msgid "" +"In Python 3.6 and older, this function created the GIL if it didn't exist." +msgstr "" +"У Python 3.6 і старіших версіях ця функція створювала GIL, якщо його не " +"існувало." + +msgid "The function now does nothing." +msgstr "Тепер функція нічого не робить." + +msgid "" +"This function is now called by :c:func:`Py_Initialize()`, so you don't have " +"to call it yourself anymore." +msgstr "" +"Ця функція тепер викликається :c:func:`Py_Initialize()`, тому вам більше не " +"потрібно викликати її самостійно." + +msgid "" +"This function cannot be called before :c:func:`Py_Initialize()` anymore." +msgstr "Цю функцію більше не можна викликати до :c:func:`Py_Initialize()`." + +msgid "" +"Returns a non-zero value if :c:func:`PyEval_InitThreads` has been called. " +"This function can be called without holding the GIL, and therefore can be " +"used to avoid calls to the locking API when running single-threaded." +msgstr "" +"Повертає ненульове значення, якщо було викликано :c:func:" +"`PyEval_InitThreads`. Цю функцію можна викликати без утримання GIL, і тому " +"її можна використовувати, щоб уникнути викликів API блокування під час " +"однопотокового виконання." + +msgid "The :term:`GIL` is now initialized by :c:func:`Py_Initialize()`." +msgstr "" +":term:`GIL` тепер ініціалізовано за допомогою :c:func:`Py_Initialize()`." + +msgid "" +"Release the global interpreter lock (if it has been created) and reset the " +"thread state to ``NULL``, returning the previous thread state (which is not " +"``NULL``). If the lock has been created, the current thread must have " +"acquired it." +msgstr "" +"Звільніть глобальне блокування інтерпретатора (якщо його було створено) і " +"скиньте стан потоку до ``NULL``, повертаючи попередній стан потоку (який не " +"є ``NULL``). Якщо блокування було створено, поточний потік повинен отримати " +"його." + +msgid "" +"Acquire the global interpreter lock (if it has been created) and set the " +"thread state to *tstate*, which must not be ``NULL``. If the lock has been " +"created, the current thread must not have acquired it, otherwise deadlock " +"ensues." +msgstr "" +"Отримайте глобальне блокування інтерпретатора (якщо його було створено) і " +"встановіть стан потоку на *tstate*, який не має бути ``NULL``. Якщо " +"блокування було створено, поточний потік не повинен отримати його, інакше " +"виникає взаємоблокування." + +msgid "" +"Calling this function from a thread when the runtime is finalizing will " +"terminate the thread, even if the thread was not created by Python. You can " +"use :c:func:`_Py_IsFinalizing` or :func:`sys.is_finalizing` to check if the " +"interpreter is in process of being finalized before calling this function to " +"avoid unwanted termination." +msgstr "" +"Виклик цієї функції з потоку під час завершення виконання призведе до " +"завершення потоку, навіть якщо він не був створений Python. Ви можете " +"використовувати :c:func:`_Py_IsFinalizing` або :func:`sys.is_finalizing`, " +"щоб перевірити, чи завершується інтерпретатор перед викликом цієї функції, " +"щоб уникнути небажаного завершення." + +msgid "" +"Return the current thread state. The global interpreter lock must be held. " +"When the current thread state is ``NULL``, this issues a fatal error (so " +"that the caller needn't check for ``NULL``)." +msgstr "" +"Повертає поточний стан потоку. Необхідно утримувати глобальне блокування " +"інтерпретатора. Коли поточний стан потоку ``NULL``, це викликає фатальну " +"помилку (тому абоненту не потрібно перевіряти ``NULL``)." + +msgid "" +"Swap the current thread state with the thread state given by the argument " +"*tstate*, which may be ``NULL``. The global interpreter lock must be held " +"and is not released." +msgstr "" +"Замінити поточний стан потоку на стан потоку, заданий аргументом *tstate*, " +"який може бути ``NULL``. Глобальне блокування інтерпретатора має бути " +"утримано та не звільнене." + +msgid "" +"The following functions use thread-local storage, and are not compatible " +"with sub-interpreters:" +msgstr "" +"Наступні функції використовують локальне сховище потоків і несумісні з " +"підінтерпретаторами:" + +msgid "" +"Ensure that the current thread is ready to call the Python C API regardless " +"of the current state of Python, or of the global interpreter lock. This may " +"be called as many times as desired by a thread as long as each call is " +"matched with a call to :c:func:`PyGILState_Release`. In general, other " +"thread-related APIs may be used between :c:func:`PyGILState_Ensure` and :c:" +"func:`PyGILState_Release` calls as long as the thread state is restored to " +"its previous state before the Release(). For example, normal usage of the :" +"c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS` macros " +"is acceptable." +msgstr "" +"Переконайтеся, що поточний потік готовий викликати API Python C незалежно " +"від поточного стану Python або глобального блокування інтерпретатора. Це " +"може бути викликано скільки завгодно разів потоком, якщо кожен виклик " +"відповідає виклику :c:func:`PyGILState_Release`. Загалом, між викликами :c:" +"func:`PyGILState_Ensure` і :c:func:`PyGILState_Release` можна " +"використовувати інші пов’язані з потоками API, якщо стан потоку відновлено " +"до попереднього стану до Release(). Наприклад, нормальне використання " +"макросів :c:macro:`Py_BEGIN_ALLOW_THREADS` і :c:macro:`Py_END_ALLOW_THREADS` " +"є прийнятним." + +msgid "" +"The return value is an opaque \"handle\" to the thread state when :c:func:" +"`PyGILState_Ensure` was called, and must be passed to :c:func:" +"`PyGILState_Release` to ensure Python is left in the same state. Even though " +"recursive calls are allowed, these handles *cannot* be shared - each unique " +"call to :c:func:`PyGILState_Ensure` must save the handle for its call to :c:" +"func:`PyGILState_Release`." +msgstr "" +"Значення, що повертається, є непрозорим \"дескриптором\" стану потоку під " +"час виклику :c:func:`PyGILState_Ensure`, і його потрібно передати в :c:func:" +"`PyGILState_Release`, щоб Python залишався в тому самому стані. Незважаючи " +"на те, що рекурсивні виклики дозволені, ці дескриптори *не можна* спільно " +"використовувати — кожен унікальний виклик :c:func:`PyGILState_Ensure` " +"повинен зберігати дескриптор для свого виклику :c:func:`PyGILState_Release`." + +msgid "" +"When the function returns, the current thread will hold the GIL and be able " +"to call arbitrary Python code. Failure is a fatal error." +msgstr "" +"Коли функція повертається, поточний потік зберігатиме GIL і зможе викликати " +"довільний код Python. Невдача є фатальною помилкою." + +msgid "" +"Release any resources previously acquired. After this call, Python's state " +"will be the same as it was prior to the corresponding :c:func:" +"`PyGILState_Ensure` call (but generally this state will be unknown to the " +"caller, hence the use of the GILState API)." +msgstr "" +"Вивільніть будь-які раніше отримані ресурси. Після цього виклику стан Python " +"буде таким же, як і до відповідного виклику :c:func:`PyGILState_Ensure` (але " +"зазвичай цей стан буде невідомий абоненту, тому використовується GILState " +"API)." + +msgid "" +"Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:" +"func:`PyGILState_Release` on the same thread." +msgstr "" +"Кожен виклик :c:func:`PyGILState_Ensure` має відповідати виклику :c:func:" +"`PyGILState_Release` у тому самому потоці." + +msgid "" +"Get the current thread state for this thread. May return ``NULL`` if no " +"GILState API has been used on the current thread. Note that the main thread " +"always has such a thread-state, even if no auto-thread-state call has been " +"made on the main thread. This is mainly a helper/diagnostic function." +msgstr "" +"Отримати поточний стан потоку для цього потоку. Може повертати ``NULL``, " +"якщо API GILState не використовувався в поточному потоці. Зверніть увагу, що " +"основний потік завжди має такий стан потоку, навіть якщо в основному потоці " +"не було зроблено виклик автоматичного стану потоку. Це в основному допоміжна/" +"діагностична функція." + +msgid "" +"Return ``1`` if the current thread is holding the GIL and ``0`` otherwise. " +"This function can be called from any thread at any time. Only if it has had " +"its Python thread state initialized and currently is holding the GIL will it " +"return ``1``. This is mainly a helper/diagnostic function. It can be useful " +"for example in callback contexts or memory allocation functions when knowing " +"that the GIL is locked can allow the caller to perform sensitive actions or " +"otherwise behave differently." +msgstr "" +"Повертає ``1``, якщо поточний потік містить GIL, і ``0`` інакше. Цю функцію " +"можна викликати з будь-якого потоку в будь-який час. Лише якщо він " +"ініціалізував стан потоку Python і зараз утримує GIL, він поверне ``1``. Це " +"в основному допоміжна/діагностична функція. Це може бути корисно, наприклад, " +"у контекстах зворотного виклику або функціях виділення пам’яті, коли знання " +"про те, що GIL заблоковано, може дозволити абоненту виконувати конфіденційні " +"дії або іншим чином поводитися по-іншому." + +msgid "" +"The following macros are normally used without a trailing semicolon; look " +"for example usage in the Python source distribution." +msgstr "" +"Наступні макроси зазвичай використовуються без крапки з комою в кінці; " +"подивіться, наприклад, використання в вихідному дистрибутиві Python." + +msgid "" +"This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();" +"``. Note that it contains an opening brace; it must be matched with a " +"following :c:macro:`Py_END_ALLOW_THREADS` macro. See above for further " +"discussion of this macro." +msgstr "" +"Цей макрос розширюється до ``{ PyThreadState *_save; _save = " +"PyEval_SaveThread();``. Зауважте, що він містить відкриваючу дужку; він " +"повинен відповідати наступному макросу :c:macro:`Py_END_ALLOW_THREADS`. " +"Дивіться вище для подальшого обговорення цього макросу." + +msgid "" +"This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " +"contains a closing brace; it must be matched with an earlier :c:macro:" +"`Py_BEGIN_ALLOW_THREADS` macro. See above for further discussion of this " +"macro." +msgstr "" +"Цей макрос розширюється до ``PyEval_RestoreThread(_save); }``. Зверніть " +"увагу, що він містить закриваючу дужку; він повинен відповідати попередньому " +"макросу :c:macro:`Py_BEGIN_ALLOW_THREADS`. Дивіться вище для подальшого " +"обговорення цього макросу." + +msgid "" +"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :" +"c:macro:`Py_END_ALLOW_THREADS` without the closing brace." +msgstr "" +"Цей макрос розширюється до ``PyEval_RestoreThread(_save);``: він " +"еквівалентний :c:macro:`Py_END_ALLOW_THREADS` без закриваючої дужки." + +msgid "" +"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :" +"c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " +"declaration." +msgstr "" +"Цей макрос розширюється до ``_save = PyEval_SaveThread();``: він " +"еквівалентний :c:macro:`Py_BEGIN_ALLOW_THREADS` без відкриваючої дужки та " +"оголошення змінної." + +msgid "Low-level API" +msgstr "API низького рівня" + +msgid "" +"All of the following functions must be called after :c:func:`Py_Initialize`." +msgstr "" +"Усі наведені нижче функції мають викликатися після :c:func:`Py_Initialize`." + +msgid ":c:func:`Py_Initialize()` now initializes the :term:`GIL`." +msgstr ":c:func:`Py_Initialize()` тепер ініціалізує :term:`GIL`." + +msgid "" +"Create a new interpreter state object. The global interpreter lock need not " +"be held, but may be held if it is necessary to serialize calls to this " +"function." +msgstr "" +"Створіть новий об’єкт стану інтерпретатора. Глобальне блокування " +"інтерпретатора не потрібно утримувати, але можна утримувати, якщо необхідно " +"серіалізувати виклики цієї функції." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"PyInterpreterState_New`` with no arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.PyInterpreterState_New`` " +"без аргументів." + +msgid "" +"Reset all information in an interpreter state object. The global " +"interpreter lock must be held." +msgstr "" +"Скинути всю інформацію в об’єкті стану інтерпретатора. Необхідно утримувати " +"глобальне блокування інтерпретатора." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"PyInterpreterState_Clear`` with no arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.PyInterpreterState_Clear`` " +"без аргументів." + +msgid "" +"Destroy an interpreter state object. The global interpreter lock need not " +"be held. The interpreter state must have been reset with a previous call " +"to :c:func:`PyInterpreterState_Clear`." +msgstr "" +"Знищити об’єкт стану інтерпретатора. Глобальне блокування інтерпретатора не " +"потрібно утримувати. Стан інтерпретатора має бути скинуто за допомогою " +"попереднього виклику :c:func:`PyInterpreterState_Clear`." + +msgid "" +"Create a new thread state object belonging to the given interpreter object. " +"The global interpreter lock need not be held, but may be held if it is " +"necessary to serialize calls to this function." +msgstr "" +"Створіть новий об’єкт стану потоку, що належить даному об’єкту " +"інтерпретатора. Глобальне блокування інтерпретатора не потрібно утримувати, " +"але можна утримувати, якщо необхідно серіалізувати виклики цієї функції." + +msgid "" +"Reset all information in a thread state object. The global interpreter lock " +"must be held." +msgstr "" +"Скинути всю інформацію в об’єкті стану потоку. Необхідно утримувати " +"глобальне блокування інтерпретатора." + +msgid "" +"This function now calls the :c:member:`PyThreadState.on_delete` callback. " +"Previously, that happened in :c:func:`PyThreadState_Delete`." +msgstr "" +"Ця функція тепер викликає зворотний виклик :c:member:`PyThreadState." +"on_delete`. Раніше це траплялося в :c:func:`PyThreadState_Delete`." + +msgid "" +"Destroy a thread state object. The global interpreter lock need not be " +"held. The thread state must have been reset with a previous call to :c:func:" +"`PyThreadState_Clear`." +msgstr "" +"Знищити об’єкт стану потоку. Глобальне блокування інтерпретатора не потрібно " +"утримувати. Стан потоку має бути скинуто попереднім викликом :c:func:" +"`PyThreadState_Clear`." + +msgid "" +"Destroy the current thread state and release the global interpreter lock. " +"Like :c:func:`PyThreadState_Delete`, the global interpreter lock need not be " +"held. The thread state must have been reset with a previous call to :c:func:" +"`PyThreadState_Clear`." +msgstr "" +"Знищити поточний стан потоку та зняти глобальне блокування інтерпретатора. " +"Як і :c:func:`PyThreadState_Delete`, глобальне блокування інтерпретатора не " +"потрібно утримувати. Стан потоку має бути скинуто попереднім викликом :c:" +"func:`PyThreadState_Clear`." + +msgid "Get the current frame of the Python thread state *tstate*." +msgstr "Отримати поточний кадр стану потоку Python *tstate*." + +msgid "" +"Return a :term:`strong reference`. Return ``NULL`` if no frame is currently " +"executing." +msgstr "" +"Повертає :term:`strong reference`. Повертає ``NULL``, якщо наразі не " +"виконується жоден кадр." + +msgid "See also :c:func:`PyEval_GetFrame`." +msgstr "Дивіться також :c:func:`PyEval_GetFrame`." + +msgid "*tstate* must not be ``NULL``." +msgstr "*tstate* не має бути ``NULL``." + +msgid "" +"Get the unique thread state identifier of the Python thread state *tstate*." +msgstr "Отримайте унікальний ідентифікатор стану потоку Python *tstate*." + +msgid "Get the interpreter of the Python thread state *tstate*." +msgstr "Отримайте інтерпретатор стану потоку Python *tstate*." + +msgid "Suspend tracing and profiling in the Python thread state *tstate*." +msgstr "" + +msgid "Resume them using the :c:func:`PyThreadState_LeaveTracing` function." +msgstr "" + +msgid "" +"Resume tracing and profiling in the Python thread state *tstate* suspended " +"by the :c:func:`PyThreadState_EnterTracing` function." +msgstr "" + +msgid "" +"See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` functions." +msgstr "" + +msgid "Get the current interpreter." +msgstr "Отримати поточний перекладач." + +msgid "" +"Issue a fatal error if there no current Python thread state or no current " +"interpreter. It cannot return NULL." +msgstr "" +"Видає фатальну помилку, якщо немає поточного стану потоку Python або " +"поточного інтерпретатора. Він не може повертати NULL." + +msgid "The caller must hold the GIL." +msgstr "Абонент повинен тримати GIL." + +msgid "" +"Return the interpreter's unique ID. If there was any error in doing so then " +"``-1`` is returned and an error is set." +msgstr "" +"Повернути унікальний ідентифікатор перекладача. Якщо під час цього сталася " +"якась помилка, повертається ``-1`` і встановлюється помилка." + +msgid "" +"Return a dictionary in which interpreter-specific data may be stored. If " +"this function returns ``NULL`` then no exception has been raised and the " +"caller should assume no interpreter-specific dict is available." +msgstr "" +"Повертає словник, у якому можуть зберігатися дані інтерпретатора. Якщо ця " +"функція повертає ``NULL``, це означає, що жодного винятку не було викликано, " +"і абонент повинен припустити, що недоступний dict інтерпретатора." + +msgid "" +"This is not a replacement for :c:func:`PyModule_GetState()`, which " +"extensions should use to store interpreter-specific state information." +msgstr "" +"Це не заміна :c:func:`PyModule_GetState()`, який розширення мають " +"використовувати для зберігання інформації про стан інтерпретатора." + +msgid "Type of a frame evaluation function." +msgstr "Тип функції оцінки фрейму." + +msgid "" +"The *throwflag* parameter is used by the ``throw()`` method of generators: " +"if non-zero, handle the current exception." +msgstr "" +"Параметр *throwflag* використовується методом ``throw()`` генераторів: якщо " +"він відмінний від нуля, обробити поточний виняток." + +msgid "The function now takes a *tstate* parameter." +msgstr "Тепер функція приймає параметр *tstate*." + +msgid "" +"The *frame* parameter changed from ``PyFrameObject*`` to " +"``_PyInterpreterFrame*``." +msgstr "" + +msgid "Get the frame evaluation function." +msgstr "Отримати функцію оцінки фрейму." + +msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"." +msgstr "Перегляньте :pep:`523` \"Додавання API оцінки фрейму до CPython\"." + +msgid "Set the frame evaluation function." +msgstr "Встановіть функцію оцінки кадру." + +msgid "" +"Return a dictionary in which extensions can store thread-specific state " +"information. Each extension should use a unique key to use to store state " +"in the dictionary. It is okay to call this function when no current thread " +"state is available. If this function returns ``NULL``, no exception has been " +"raised and the caller should assume no current thread state is available." +msgstr "" +"Повертає словник, у якому розширення можуть зберігати інформацію про стан " +"потоку. Кожне розширення має використовувати унікальний ключ для збереження " +"стану в словнику. Цю функцію можна викликати, якщо поточний стан потоку " +"недоступний. Якщо ця функція повертає ``NULL``, це означає, що жодного " +"винятку не було викликано, і абонент повинен вважати, що поточний стан " +"потоку недоступний." + +msgid "" +"Asynchronously raise an exception in a thread. The *id* argument is the " +"thread id of the target thread; *exc* is the exception object to be raised. " +"This function does not steal any references to *exc*. To prevent naive " +"misuse, you must write your own C extension to call this. Must be called " +"with the GIL held. Returns the number of thread states modified; this is " +"normally one, but will be zero if the thread id isn't found. If *exc* is :" +"const:`NULL`, the pending exception (if any) for the thread is cleared. This " +"raises no exceptions." +msgstr "" +"Асинхронно викликати виняток у потоці. Аргумент *id* — це ідентифікатор " +"цільового потоку; *exc* — об’єкт винятку, який потрібно викликати. Ця " +"функція не викрадає жодних посилань на *exc*. Щоб запобігти простому " +"неправильному використанню, ви повинні написати власне розширення C для " +"виклику цього. Потрібно викликати з GIL. Повертає кількість змінених станів " +"потоку; зазвичай це одиниця, але буде нулем, якщо ідентифікатор потоку не " +"знайдено. Якщо *exc* дорівнює :const:`NULL`, незавершений виняток (якщо є) " +"для потоку очищається. Це не викликає винятків." + +msgid "" +"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:" +"`unsigned long`." +msgstr "" + +msgid "" +"Acquire the global interpreter lock and set the current thread state to " +"*tstate*, which must not be ``NULL``. The lock must have been created " +"earlier. If this thread already has the lock, deadlock ensues." +msgstr "" +"Отримайте глобальне блокування інтерпретатора та встановіть поточний стан " +"потоку на *tstate*, який не має бути ``NULL``. Замок повинен бути створений " +"раніше. Якщо цей потік уже має блокування, виникає взаємоблокування." + +msgid "" +"Updated to be consistent with :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and terminate the " +"current thread if called while the interpreter is finalizing." +msgstr "" +"Оновлено для узгодження з :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS` і :c:func:`PyGILState_Ensure`, а також завершує " +"поточний потік, якщо він викликається, поки інтерпретатор завершує роботу." + +msgid "" +":c:func:`PyEval_RestoreThread` is a higher-level function which is always " +"available (even when threads have not been initialized)." +msgstr "" +":c:func:`PyEval_RestoreThread` — це функція вищого рівня, яка завжди " +"доступна (навіть якщо потоки не ініціалізовано)." + +msgid "" +"Reset the current thread state to ``NULL`` and release the global " +"interpreter lock. The lock must have been created earlier and must be held " +"by the current thread. The *tstate* argument, which must not be ``NULL``, " +"is only used to check that it represents the current thread state --- if it " +"isn't, a fatal error is reported." +msgstr "" +"Скиньте поточний стан потоку на ``NULL`` і звільніть глобальне блокування " +"інтерпретатора. Блокування має бути створено раніше та утримуватися поточним " +"потоком. Аргумент *tstate*, який не має бути ``NULL``, використовується лише " +"для перевірки того, що він представляє поточний стан потоку --- якщо це не " +"так, повідомляється про фатальну помилку." + +msgid "" +":c:func:`PyEval_SaveThread` is a higher-level function which is always " +"available (even when threads have not been initialized)." +msgstr "" +":c:func:`PyEval_SaveThread` — це функція вищого рівня, яка завжди доступна " +"(навіть якщо потоки не ініціалізовано)." + +msgid "" +"Acquire the global interpreter lock. The lock must have been created " +"earlier. If this thread already has the lock, a deadlock ensues." +msgstr "" +"Отримайте глобальне блокування інтерпретатора. Замок повинен бути створений " +"раніше. Якщо цей потік уже має блокування, виникає взаємоблокування." + +msgid "" +"This function does not update the current thread state. Please use :c:func:" +"`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread` instead." +msgstr "" +"Ця функція не оновлює поточний стан потоку. Натомість використовуйте :c:func:" +"`PyEval_RestoreThread` або :c:func:`PyEval_AcquireThread`." + +msgid "" +"Release the global interpreter lock. The lock must have been created " +"earlier." +msgstr "" +"Звільніть глобальне блокування інтерпретатора. Замок повинен бути створений " +"раніше." + +msgid "" +"This function does not update the current thread state. Please use :c:func:" +"`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread` instead." +msgstr "" +"Ця функція не оновлює поточний стан потоку. Натомість використовуйте :c:func:" +"`PyEval_SaveThread` або :c:func:`PyEval_ReleaseThread`." + +msgid "Sub-interpreter support" +msgstr "Підтримка субінтерпретатора" + +msgid "" +"While in most uses, you will only embed a single Python interpreter, there " +"are cases where you need to create several independent interpreters in the " +"same process and perhaps even in the same thread. Sub-interpreters allow you " +"to do that." +msgstr "" +"Хоча в більшості випадків ви вбудовуєте лише один інтерпретатор Python, є " +"випадки, коли вам потрібно створити кілька незалежних інтерпретаторів в " +"одному процесі і, можливо, навіть в одному потоці. Суб-інтерпретатори " +"дозволяють це зробити." + +msgid "" +"The \"main\" interpreter is the first one created when the runtime " +"initializes. It is usually the only Python interpreter in a process. Unlike " +"sub-interpreters, the main interpreter has unique process-global " +"responsibilities like signal handling. It is also responsible for execution " +"during runtime initialization and is usually the active interpreter during " +"runtime finalization. The :c:func:`PyInterpreterState_Main` function " +"returns a pointer to its state." +msgstr "" +"\"Головний\" інтерпретатор є першим, який створюється під час ініціалізації " +"середовища виконання. Зазвичай це єдиний інтерпретатор Python у процесі. На " +"відміну від субінтерпретаторів, головний інтерпретатор має унікальні " +"глобальні обов’язки процесу, такі як обробка сигналів. Він також відповідає " +"за виконання під час ініціалізації середовища виконання та зазвичай є " +"активним інтерпретатором під час завершення виконання. Функція :c:func:" +"`PyInterpreterState_Main` повертає вказівник на його стан." + +msgid "" +"You can switch between sub-interpreters using the :c:func:" +"`PyThreadState_Swap` function. You can create and destroy them using the " +"following functions:" +msgstr "" +"Ви можете перемикатися між підінтерпретаторами за допомогою функції :c:func:" +"`PyThreadState_Swap`. Ви можете створювати та знищувати їх за допомогою " +"таких функцій:" + +msgid "" +"Create a new sub-interpreter. This is an (almost) totally separate " +"environment for the execution of Python code. In particular, the new " +"interpreter has separate, independent versions of all imported modules, " +"including the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:" +"`sys`. The table of loaded modules (``sys.modules``) and the module search " +"path (``sys.path``) are also separate. The new environment has no ``sys." +"argv`` variable. It has new standard I/O stream file objects ``sys.stdin``, " +"``sys.stdout`` and ``sys.stderr`` (however these refer to the same " +"underlying file descriptors)." +msgstr "" +"Створіть новий підінтерпретатор. Це (майже) повністю окреме середовище для " +"виконання коду Python. Зокрема, новий інтерпретатор має окремі незалежні " +"версії всіх імпортованих модулів, включаючи фундаментальні модулі :mod:" +"`builtins`, :mod:`__main__` і :mod:`sys`. Таблиця завантажених модулів " +"(``sys.modules``) і шлях пошуку модуля (``sys.path``) також окремі. Нове " +"середовище не має змінної ``sys.argv``. Він має нові стандартні файлові " +"об’єкти потоку вводу/виводу ``sys.stdin``, ``sys.stdout`` і ``sys.stderr`` " +"(однак вони посилаються на ті самі основні дескриптори файлів)." + +msgid "" +"The return value points to the first thread state created in the new sub-" +"interpreter. This thread state is made in the current thread state. Note " +"that no actual thread is created; see the discussion of thread states " +"below. If creation of the new interpreter is unsuccessful, ``NULL`` is " +"returned; no exception is set since the exception state is stored in the " +"current thread state and there may not be a current thread state. (Like all " +"other Python/C API functions, the global interpreter lock must be held " +"before calling this function and is still held when it returns; however, " +"unlike most other Python/C API functions, there needn't be a current thread " +"state on entry.)" +msgstr "" +"Повернене значення вказує на перший стан потоку, створений у новому " +"підінтерпретаторі. Цей стан потоку створюється в поточному стані потоку. " +"Зауважте, що фактичний потік не створюється; дивіться обговорення станів " +"потоку нижче. Якщо створення нового інтерпретатора не вдається, повертається " +"``NULL``; виняток не встановлено, оскільки стан винятку зберігається в " +"поточному стані потоку, і поточного стану потоку може не бути. (Як і всі " +"інші функції Python/C API, глобальне блокування інтерпретатора має бути " +"утримано перед викликом цієї функції та все ще утримується, коли вона " +"повертається; однак, на відміну від більшості інших функцій Python/C API, не " +"потрібно мати поточний стан потоку на вхід.)" + +msgid "Extension modules are shared between (sub-)interpreters as follows:" +msgstr "" +"Модулі розширення розподіляються між (під)інтерпретаторами наступним чином:" + +msgid "" +"For modules using multi-phase initialization, e.g. :c:func:" +"`PyModule_FromDefAndSpec`, a separate module object is created and " +"initialized for each interpreter. Only C-level static and global variables " +"are shared between these module objects." +msgstr "" +"Для модулів, які використовують багатофазову ініціалізацію, напр. :c:func:" +"`PyModule_FromDefAndSpec`, окремий об’єкт модуля створюється та " +"ініціалізується для кожного інтерпретатора. Лише статичні та глобальні " +"змінні рівня C використовуються між цими об’єктами модуля." + +msgid "" +"For modules using single-phase initialization, e.g. :c:func:" +"`PyModule_Create`, the first time a particular extension is imported, it is " +"initialized normally, and a (shallow) copy of its module's dictionary is " +"squirreled away. When the same extension is imported by another " +"(sub-)interpreter, a new module is initialized and filled with the contents " +"of this copy; the extension's ``init`` function is not called. Objects in " +"the module's dictionary thus end up shared across (sub-)interpreters, which " +"might cause unwanted behavior (see `Bugs and caveats`_ below)." +msgstr "" +"Для модулів, які використовують однофазну ініціалізацію, напр. :c:func:" +"`PyModule_Create`, коли конкретне розширення імпортується вперше, воно " +"ініціалізується звичайним чином, а (неглибока) копія словника його модуля " +"видаляється. Коли те саме розширення імпортується іншим " +"(під)інтерпретатором, новий модуль ініціалізується та заповнюється вмістом " +"цієї копії; функція ``init`` розширення не викликається. Таким чином, " +"об’єкти в словнику модуля розподіляються між (суб-)інтерпретаторами, що може " +"спричинити небажану поведінку (див. `Bugs and caveats`_ нижче)." + +msgid "" +"Note that this is different from what happens when an extension is imported " +"after the interpreter has been completely re-initialized by calling :c:func:" +"`Py_FinalizeEx` and :c:func:`Py_Initialize`; in that case, the extension's " +"``initmodule`` function *is* called again. As with multi-phase " +"initialization, this means that only C-level static and global variables are " +"shared between these modules." +msgstr "" +"Зауважте, що це відрізняється від того, що відбувається, коли розширення " +"імпортується після повної повторної ініціалізації інтерпретатора викликом :c:" +"func:`Py_FinalizeEx` і :c:func:`Py_Initialize`; у цьому випадку функція " +"``initmodule`` розширення *викликається* знову. Як і у випадку з " +"багатофазною ініціалізацією, це означає, що ці модулі спільно використовують " +"лише статичні та глобальні змінні рівня C." + +msgid "" +"Destroy the (sub-)interpreter represented by the given thread state. The " +"given thread state must be the current thread state. See the discussion of " +"thread states below. When the call returns, the current thread state is " +"``NULL``. All thread states associated with this interpreter are " +"destroyed. (The global interpreter lock must be held before calling this " +"function and is still held when it returns.) :c:func:`Py_FinalizeEx` will " +"destroy all sub-interpreters that haven't been explicitly destroyed at that " +"point." +msgstr "" +"Знищити (суб-)інтерпретатор, представлений даним станом потоку. Даний стан " +"потоку має бути поточним станом потоку. Дивіться обговорення станів потоку " +"нижче. Коли виклик повертається, поточний стан потоку ``NULL``. Усі стани " +"потоку, пов’язані з цим інтерпретатором, знищуються. (Глобальне блокування " +"інтерпретатора має бути утримано перед викликом цієї функції та все ще " +"утримується, коли вона повертається.) :c:func:`Py_FinalizeEx` знищить усі " +"підінтерпретатори, які не були явно знищені на цьому етапі." + +msgid "Bugs and caveats" +msgstr "Помилки та застереження" + +msgid "" +"Because sub-interpreters (and the main interpreter) are part of the same " +"process, the insulation between them isn't perfect --- for example, using " +"low-level file operations like :func:`os.close` they can (accidentally or " +"maliciously) affect each other's open files. Because of the way extensions " +"are shared between (sub-)interpreters, some extensions may not work " +"properly; this is especially likely when using single-phase initialization " +"or (static) global variables. It is possible to insert objects created in " +"one sub-interpreter into a namespace of another (sub-)interpreter; this " +"should be avoided if possible." +msgstr "" +"Оскільки субінтерпретатори (і головний інтерпретатор) є частиною одного " +"процесу, ізоляція між ними не є ідеальною --- наприклад, використовуючи " +"низькорівневі файлові операції, такі як :func:`os.close`, вони можуть " +"(випадково або зловмисно) впливають на відкриті файли один одного. Через те, " +"як розширення розподіляються між (під)інтерпретаторами, деякі розширення " +"можуть не працювати належним чином; це особливо ймовірно при використанні " +"однофазної ініціалізації або (статичних) глобальних змінних. Можна вставляти " +"об’єкти, створені в одному суб-інтерпретаторі, у простір імен іншого " +"(суб-)інтерпретатора; цього слід уникати, якщо це можливо." + +msgid "" +"Special care should be taken to avoid sharing user-defined functions, " +"methods, instances or classes between sub-interpreters, since import " +"operations executed by such objects may affect the wrong (sub-)interpreter's " +"dictionary of loaded modules. It is equally important to avoid sharing " +"objects from which the above are reachable." +msgstr "" +"Слід приділяти особливу увагу уникненню спільного використання визначених " +"користувачем функцій, методів, екземплярів або класів між " +"підінтерпретаторами, оскільки операції імпорту, які виконуються такими " +"об’єктами, можуть вплинути на неправильний (під)інтерпретатор словник " +"завантажених модулів. Не менш важливо уникати спільного використання " +"об’єктів, з яких доступні вищевказані." + +msgid "" +"Also note that combining this functionality with ``PyGILState_*`` APIs is " +"delicate, because these APIs assume a bijection between Python thread states " +"and OS-level threads, an assumption broken by the presence of sub-" +"interpreters. It is highly recommended that you don't switch sub-" +"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:" +"func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:" +"`ctypes`) using these APIs to allow calling of Python code from non-Python " +"created threads will probably be broken when using sub-interpreters." +msgstr "" + +msgid "Asynchronous Notifications" +msgstr "Асинхронні сповіщення" + +msgid "" +"A mechanism is provided to make asynchronous notifications to the main " +"interpreter thread. These notifications take the form of a function pointer " +"and a void pointer argument." +msgstr "" +"Надається механізм для створення асинхронних сповіщень головному потоку " +"інтерпретатора. Ці сповіщення приймають форму вказівника функції та " +"аргументу вказівника void." + +msgid "" +"Schedule a function to be called from the main interpreter thread. On " +"success, ``0`` is returned and *func* is queued for being called in the main " +"thread. On failure, ``-1`` is returned without setting any exception." +msgstr "" +"Заплануйте виклик функції з основного потоку інтерпретатора. У разі успіху " +"повертається ``0`` і *func* ставиться в чергу для виклику в основному " +"потоці. У разі помилки повертається ``-1`` без встановлення винятків." + +msgid "" +"When successfully queued, *func* will be *eventually* called from the main " +"interpreter thread with the argument *arg*. It will be called " +"asynchronously with respect to normally running Python code, but with both " +"these conditions met:" +msgstr "" +"Після успішного розміщення в черзі *func* буде *зрештою* викликано з " +"основного потоку інтерпретатора з аргументом *arg*. Його буде викликано " +"асинхронно щодо нормально запущеного коду Python, але з дотриманням обох цих " +"умов:" + +msgid "on a :term:`bytecode` boundary;" +msgstr "на межі :term:`bytecode`;" + +msgid "" +"with the main thread holding the :term:`global interpreter lock` (*func* can " +"therefore use the full C API)." +msgstr "" +"з головним потоком, який утримує :term:`global interpreter lock` (*func* " +"може використовувати повний C API)." + +msgid "" +"*func* must return ``0`` on success, or ``-1`` on failure with an exception " +"set. *func* won't be interrupted to perform another asynchronous " +"notification recursively, but it can still be interrupted to switch threads " +"if the global interpreter lock is released." +msgstr "" +"*func* має повернути ``0`` у разі успіху або ``-1`` у разі помилки з набором " +"винятків. *func* не буде перервано для рекурсивного виконання іншого " +"асинхронного сповіщення, але його все одно можна перервати для перемикання " +"потоків, якщо глобальне блокування інтерпретатора звільнено." + +msgid "" +"This function doesn't need a current thread state to run, and it doesn't " +"need the global interpreter lock." +msgstr "" +"Цій функції не потрібен поточний стан потоку для запуску, і їй не потрібне " +"блокування глобального інтерпретатора." + +msgid "" +"To call this function in a subinterpreter, the caller must hold the GIL. " +"Otherwise, the function *func* can be scheduled to be called from the wrong " +"interpreter." +msgstr "" +"Щоб викликати цю функцію в підінтерпретаторі, абонент, що викликає, повинен " +"мати GIL. В іншому випадку функція *func* може бути запланована для виклику " +"з неправильного інтерпретатора." + +msgid "" +"This is a low-level function, only useful for very special cases. There is " +"no guarantee that *func* will be called as quick as possible. If the main " +"thread is busy executing a system call, *func* won't be called before the " +"system call returns. This function is generally **not** suitable for " +"calling Python code from arbitrary C threads. Instead, use the :ref:" +"`PyGILState API`." +msgstr "" +"Це функція низького рівня, корисна лише в дуже особливих випадках. Немає " +"гарантії, що *func* буде викликано якомога швидше. Якщо основний потік " +"зайнятий виконанням системного виклику, *func* не буде викликано до " +"повернення системного виклику. Ця функція зазвичай **не** підходить для " +"виклику коду Python із довільних потоків C. Замість цього використовуйте :" +"ref:`PyGILState API `." + +msgid "" +"If this function is called in a subinterpreter, the function *func* is now " +"scheduled to be called from the subinterpreter, rather than being called " +"from the main interpreter. Each subinterpreter now has its own list of " +"scheduled calls." +msgstr "" +"Якщо ця функція викликається у підінтерпретаторі, функція *func* тепер " +"запланована для виклику з підінтерпретатора, а не з основного " +"інтерпретатора. Кожен субінтерпретатор тепер має власний список запланованих " +"викликів." + +msgid "Profiling and Tracing" +msgstr "Профілювання та трасування" + +msgid "" +"The Python interpreter provides some low-level support for attaching " +"profiling and execution tracing facilities. These are used for profiling, " +"debugging, and coverage analysis tools." +msgstr "" +"Інтерпретатор Python надає деяку низькорівневу підтримку для підключення " +"засобів профілювання та трасування виконання. Вони використовуються для " +"інструментів профілювання, налагодження та аналізу покриття." + +msgid "" +"This C interface allows the profiling or tracing code to avoid the overhead " +"of calling through Python-level callable objects, making a direct C function " +"call instead. The essential attributes of the facility have not changed; " +"the interface allows trace functions to be installed per-thread, and the " +"basic events reported to the trace function are the same as had been " +"reported to the Python-level trace functions in previous versions." +msgstr "" +"Цей інтерфейс C дозволяє коду профілювання або трасування уникнути накладних " +"витрат на виклик через викликані об’єкти на рівні Python, замість цього " +"здійснюючи прямий виклик функції C. Основні атрибути закладу не змінилися; " +"інтерфейс дозволяє встановлювати функції трасування для кожного потоку, а " +"основні події, які повідомляються у функцію трасування, є такими самими, як " +"повідомлялося функціям трасування на рівні Python у попередніх версіях." + +msgid "" +"The type of the trace function registered using :c:func:`PyEval_SetProfile` " +"and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " +"the registration function as *obj*, *frame* is the frame object to which the " +"event pertains, *what* is one of the constants :const:`PyTrace_CALL`, :const:" +"`PyTrace_EXCEPTION`, :const:`PyTrace_LINE`, :const:`PyTrace_RETURN`, :const:" +"`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION`, :const:`PyTrace_C_RETURN`, " +"or :const:`PyTrace_OPCODE`, and *arg* depends on the value of *what*:" +msgstr "" +"Тип функції трасування, зареєстрованої за допомогою :c:func:" +"`PyEval_SetProfile` і :c:func:`PyEval_SetTrace`. Перший параметр — це " +"об’єкт, переданий у функцію реєстрації як *obj*, *frame* — об’єкт фрейму, до " +"якого відноситься подія, *what* — одна з констант :const:`PyTrace_CALL`, :" +"const:`PyTrace_EXCEPTION` , :const:`PyTrace_LINE`, :const:`PyTrace_RETURN`, :" +"const:`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION`, :const:" +"`PyTrace_C_RETURN` або :const:`PyTrace_OPCODE`, і *arg* залежить від " +"значення *що*:" + +msgid "Value of *what*" +msgstr "Значення *чого*" + +msgid "Meaning of *arg*" +msgstr "Значення *arg*" + +msgid ":const:`PyTrace_CALL`" +msgstr ":const:`PyTrace_CALL`" + +msgid "Always :c:data:`Py_None`." +msgstr "Завжди :c:data:`Py_None`." + +msgid ":const:`PyTrace_EXCEPTION`" +msgstr ":const:`PyTrace_EXCEPTION`" + +msgid "Exception information as returned by :func:`sys.exc_info`." +msgstr "Інформація про винятки, яку повертає :func:`sys.exc_info`." + +msgid ":const:`PyTrace_LINE`" +msgstr ":const:`PyTrace_LINE`" + +msgid ":const:`PyTrace_RETURN`" +msgstr ":const:`PyTrace_RETURN`" + +msgid "" +"Value being returned to the caller, or ``NULL`` if caused by an exception." +msgstr "" +"Значення, що повертається абоненту, або ``NULL``, якщо викликано винятком." + +msgid ":const:`PyTrace_C_CALL`" +msgstr ":const:`PyTrace_C_CALL`" + +msgid "Function object being called." +msgstr "Об’єкт функції, що викликається." + +msgid ":const:`PyTrace_C_EXCEPTION`" +msgstr ":const:`PyTrace_C_EXCEPTION`" + +msgid ":const:`PyTrace_C_RETURN`" +msgstr ":const:`PyTrace_C_RETURN`" + +msgid ":const:`PyTrace_OPCODE`" +msgstr ":const:`PyTrace_OPCODE`" + +msgid "" +"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " +"a new call to a function or method is being reported, or a new entry into a " +"generator. Note that the creation of the iterator for a generator function " +"is not reported as there is no control transfer to the Python bytecode in " +"the corresponding frame." +msgstr "" +"Значення параметра *what* для функції :c:type:`Py_tracefunc`, коли " +"повідомляється про новий виклик функції чи методу або новий запис у " +"генераторі. Зауважте, що створення ітератора для функції генератора не " +"повідомляється, оскільки немає передачі керування до байт-коду Python у " +"відповідному кадрі." + +msgid "" +"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " +"an exception has been raised. The callback function is called with this " +"value for *what* when after any bytecode is processed after which the " +"exception becomes set within the frame being executed. The effect of this " +"is that as exception propagation causes the Python stack to unwind, the " +"callback is called upon return to each frame as the exception propagates. " +"Only trace functions receives these events; they are not needed by the " +"profiler." +msgstr "" +"Значення параметра *what* для функції :c:type:`Py_tracefunc`, коли виникає " +"виняткова ситуація. Функція зворотного виклику викликається з цим значенням " +"для *what*, коли після обробки будь-якого байт-коду, після чого виняток стає " +"встановленим у кадрі, що виконується. Наслідком цього є те, що коли " +"розповсюдження винятку спричиняє розгортання стека Python, зворотний виклик " +"викликається після повернення до кожного кадру під час поширення винятку. " +"Лише функції трасування отримують ці події; вони не потрібні профайлеру." + +msgid "" +"The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " +"function (but not a profiling function) when a line-number event is being " +"reported. It may be disabled for a frame by setting :attr:`f_trace_lines` to " +"*0* on that frame." +msgstr "" +"Значення, передане як параметр *what* до функції :c:type:`Py_tracefunc` (але " +"не функції профілювання), коли повідомляється про подію номера рядка. Його " +"можна вимкнути для кадру, встановивши :attr:`f_trace_lines` на *0* для цього " +"кадру." + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a call is about to return." +msgstr "" +"Значення для параметра *what* для :c:type:`Py_tracefunc` функціонує, коли " +"виклик збирається повернутися." + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function is about to be called." +msgstr "" +"Значення параметра *what* для функцій :c:type:`Py_tracefunc`, коли має бути " +"викликана функція C." + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function has raised an exception." +msgstr "" +"Значення для параметра *what* для функцій :c:type:`Py_tracefunc`, коли " +"функція C викликала виняткову ситуацію." + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function has returned." +msgstr "" +"Значення для параметра *what* для функцій :c:type:`Py_tracefunc`, коли " +"функція C повертає." + +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " +"not profiling functions) when a new opcode is about to be executed. This " +"event is not emitted by default: it must be explicitly requested by setting :" +"attr:`f_trace_opcodes` to *1* on the frame." +msgstr "" +"Значення параметра *what* для функцій :c:type:`Py_tracefunc` (але не для " +"функцій профілювання), коли має бути виконано новий код операції. Ця подія " +"не генерується за замовчуванням: її потрібно явно запитати, встановивши для :" +"attr:`f_trace_opcodes` значення *1* у кадрі." + +msgid "" +"Set the profiler function to *func*. The *obj* parameter is passed to the " +"function as its first parameter, and may be any Python object, or ``NULL``. " +"If the profile function needs to maintain state, using a different value for " +"*obj* for each thread provides a convenient and thread-safe place to store " +"it. The profile function is called for all monitored events except :const:" +"`PyTrace_LINE` :const:`PyTrace_OPCODE` and :const:`PyTrace_EXCEPTION`." +msgstr "" +"Встановіть для функції профайлера значення *func*. Параметр *obj* " +"передається функції як її перший параметр і може бути будь-яким об’єктом " +"Python або ``NULL``. Якщо функція профілю потребує підтримки стану, " +"використання іншого значення для *obj* для кожного потоку забезпечує зручне " +"та безпечне для потоку місце для його зберігання. Функція профілю " +"викликається для всіх відстежуваних подій, крім :const:`PyTrace_LINE` :const:" +"`PyTrace_OPCODE` і :const:`PyTrace_EXCEPTION`." + +msgid "See also the :func:`sys.setprofile` function." +msgstr "" + +msgid "The caller must hold the :term:`GIL`." +msgstr "Абонент повинен утримувати :term:`GIL`." + +msgid "" +"Set the tracing function to *func*. This is similar to :c:func:" +"`PyEval_SetProfile`, except the tracing function does receive line-number " +"events and per-opcode events, but does not receive any event related to C " +"function objects being called. Any trace function registered using :c:func:" +"`PyEval_SetTrace` will not receive :const:`PyTrace_C_CALL`, :const:" +"`PyTrace_C_EXCEPTION` or :const:`PyTrace_C_RETURN` as a value for the *what* " +"parameter." +msgstr "" +"Встановіть для функції трасування значення *func*. Це схоже на :c:func:" +"`PyEval_SetProfile`, за винятком того, що функція трасування отримує події " +"номерів рядків і події кожного коду операції, але не отримує жодних подій, " +"пов’язаних із викликом об’єктів функції C. Будь-яка функція трасування, " +"зареєстрована за допомогою :c:func:`PyEval_SetTrace`, не отримає :const:" +"`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION` або :const:`PyTrace_C_RETURN` " +"як значення для параметра *what*." + +msgid "See also the :func:`sys.settrace` function." +msgstr "" + +msgid "Advanced Debugger Support" +msgstr "Розширена підтримка налагоджувача" + +msgid "" +"These functions are only intended to be used by advanced debugging tools." +msgstr "" +"Ці функції призначені лише для використання розширеними інструментами " +"налагодження." + +msgid "" +"Return the interpreter state object at the head of the list of all such " +"objects." +msgstr "" +"Повертає об’єкт стану інтерпретатора на початку списку всіх таких об’єктів." + +msgid "Return the main interpreter state object." +msgstr "Повертає основний об'єкт стану інтерпретатора." + +msgid "" +"Return the next interpreter state object after *interp* from the list of all " +"such objects." +msgstr "" +"Повертає наступний об’єкт стану інтерпретатора після *interp* зі списку всіх " +"таких об’єктів." + +msgid "" +"Return the pointer to the first :c:type:`PyThreadState` object in the list " +"of threads associated with the interpreter *interp*." +msgstr "" +"Поверніть вказівник на перший об’єкт :c:type:`PyThreadState` у списку " +"потоків, пов’язаних з інтерпретатором *interp*." + +msgid "" +"Return the next thread state object after *tstate* from the list of all such " +"objects belonging to the same :c:type:`PyInterpreterState` object." +msgstr "" +"Повертає наступний об’єкт стану потоку після *tstate* зі списку всіх таких " +"об’єктів, що належать до того самого об’єкта :c:type:`PyInterpreterState`." + +msgid "Thread Local Storage Support" +msgstr "Підтримка потокового локального сховища" + +msgid "" +"The Python interpreter provides low-level support for thread-local storage " +"(TLS) which wraps the underlying native TLS implementation to support the " +"Python-level thread local storage API (:class:`threading.local`). The " +"CPython C level APIs are similar to those offered by pthreads and Windows: " +"use a thread key and functions to associate a :c:expr:`void*` value per " +"thread." +msgstr "" + +msgid "" +"The GIL does *not* need to be held when calling these functions; they supply " +"their own locking." +msgstr "" +"GIL *не* потрібно утримувати під час виклику цих функцій; вони забезпечують " +"власний замок." + +msgid "" +"Note that :file:`Python.h` does not include the declaration of the TLS APIs, " +"you need to include :file:`pythread.h` to use thread-local storage." +msgstr "" +"Зауважте, що :file:`Python.h` не містить оголошення TLS API, вам потрібно " +"включити :file:`pythread.h`, щоб використовувати локальне сховище потоків." + +msgid "" +"None of these API functions handle memory management on behalf of the :c:" +"expr:`void*` values. You need to allocate and deallocate them yourself. If " +"the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions " +"don't do refcount operations on them either." +msgstr "" + +msgid "Thread Specific Storage (TSS) API" +msgstr "API для спеціального зберігання потоків (TSS)." + +msgid "" +"TSS API is introduced to supersede the use of the existing TLS API within " +"the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` " +"instead of :c:expr:`int` to represent thread keys." +msgstr "" + +msgid "\"A New C-API for Thread-Local Storage in CPython\" (:pep:`539`)" +msgstr "" +"\"Новий C-API для локального зберігання потоків у CPython\" (:pep:`539`)" + +msgid "" +"This data structure represents the state of a thread key, the definition of " +"which may depend on the underlying TLS implementation, and it has an " +"internal field representing the key's initialization state. There are no " +"public members in this structure." +msgstr "" +"Ця структура даних представляє стан ключа потоку, визначення якого може " +"залежати від базової реалізації TLS, і вона має внутрішнє поле, що " +"представляє стан ініціалізації ключа. У цій структурі немає громадських " +"учасників." + +msgid "" +"When :ref:`Py_LIMITED_API ` is not defined, static allocation of " +"this type by :c:macro:`Py_tss_NEEDS_INIT` is allowed." +msgstr "" +"Якщо :ref:`Py_LIMITED_API ` не визначено, статичний розподіл цього " +"типу за допомогою :c:macro:`Py_tss_NEEDS_INIT` дозволений." + +msgid "" +"This macro expands to the initializer for :c:type:`Py_tss_t` variables. Note " +"that this macro won't be defined with :ref:`Py_LIMITED_API `." +msgstr "" +"Цей макрос розширюється до ініціалізатора для змінних :c:type:`Py_tss_t`. " +"Зауважте, що цей макрос не буде визначено за допомогою :ref:`Py_LIMITED_API " +"`." + +msgid "Dynamic Allocation" +msgstr "Динамічний розподіл" + +msgid "" +"Dynamic allocation of the :c:type:`Py_tss_t`, required in extension modules " +"built with :ref:`Py_LIMITED_API `, where static allocation of this " +"type is not possible due to its implementation being opaque at build time." +msgstr "" +"Динамічне розміщення :c:type:`Py_tss_t`, необхідне в модулях розширення, " +"створених за допомогою :ref:`Py_LIMITED_API `, де статичне " +"розміщення цього типу неможливе через те, що його реалізація непрозора під " +"час створення." + +msgid "" +"Return a value which is the same state as a value initialized with :c:macro:" +"`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic allocation failure." +msgstr "" +"Повертає значення, яке є таким самим станом, як і значення, ініціалізоване " +"за допомогою :c:macro:`Py_tss_NEEDS_INIT` або ``NULL`` у разі помилки " +"динамічного розподілу." + +msgid "" +"Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first " +"calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals " +"have been unassigned. This is a no-op if the *key* argument is ``NULL``." +msgstr "" + +msgid "" +"A freed key becomes a dangling pointer. You should reset the key to ``NULL``." +msgstr "" + +msgid "Methods" +msgstr "методи" + +msgid "" +"The parameter *key* of these functions must not be ``NULL``. Moreover, the " +"behaviors of :c:func:`PyThread_tss_set` and :c:func:`PyThread_tss_get` are " +"undefined if the given :c:type:`Py_tss_t` has not been initialized by :c:" +"func:`PyThread_tss_create`." +msgstr "" +"Параметр *key* цих функцій не має бути ``NULL``. Крім того, поведінка :c:" +"func:`PyThread_tss_set` і :c:func:`PyThread_tss_get` є невизначеною, якщо " +"даний :c:type:`Py_tss_t` не був ініціалізований :c:func:" +"`PyThread_tss_create`." + +msgid "" +"Return a non-zero value if the given :c:type:`Py_tss_t` has been initialized " +"by :c:func:`PyThread_tss_create`." +msgstr "" +"Повертає ненульове значення, якщо заданий :c:type:`Py_tss_t` ініціалізовано :" +"c:func:`PyThread_tss_create`." + +msgid "" +"Return a zero value on successful initialization of a TSS key. The behavior " +"is undefined if the value pointed to by the *key* argument is not " +"initialized by :c:macro:`Py_tss_NEEDS_INIT`. This function can be called " +"repeatedly on the same key -- calling it on an already initialized key is a " +"no-op and immediately returns success." +msgstr "" +"Повертає нульове значення в разі успішної ініціалізації ключа TSS. Поведінка " +"не визначена, якщо значення, на яке вказує аргумент *key*, не " +"ініціалізовано :c:macro:`Py_tss_NEEDS_INIT`. Цю функцію можна викликати " +"неодноразово для одного і того ж ключа — виклик її для вже ініціалізованого " +"ключа є безопераційним і негайно повертає успіх." + +msgid "" +"Destroy a TSS key to forget the values associated with the key across all " +"threads, and change the key's initialization state to uninitialized. A " +"destroyed key is able to be initialized again by :c:func:" +"`PyThread_tss_create`. This function can be called repeatedly on the same " +"key -- calling it on an already destroyed key is a no-op." +msgstr "" +"Знищіть ключ TSS, щоб забути значення, пов’язані з ключем у всіх потоках, і " +"змініть стан ініціалізації ключа на неініціалізований. Знищений ключ можна " +"знову ініціалізувати за допомогою :c:func:`PyThread_tss_create`. Цю функцію " +"можна багаторазово викликати для одного і того ж ключа – виклик її для вже " +"знищеного ключа є безопераційним." + +msgid "" +"Return a zero value to indicate successfully associating a :c:expr:`void*` " +"value with a TSS key in the current thread. Each thread has a distinct " +"mapping of the key to a :c:expr:`void*` value." +msgstr "" + +msgid "" +"Return the :c:expr:`void*` value associated with a TSS key in the current " +"thread. This returns ``NULL`` if no value is associated with the key in the " +"current thread." +msgstr "" + +msgid "Thread Local Storage (TLS) API" +msgstr "API локального зберігання потоків (TLS)." + +msgid "" +"This API is superseded by :ref:`Thread Specific Storage (TSS) API `." +msgstr "" +"Цей API замінено :ref:`API спеціального зберігання потоків (TSS) `." + +msgid "" +"This version of the API does not support platforms where the native TLS key " +"is defined in a way that cannot be safely cast to ``int``. On such " +"platforms, :c:func:`PyThread_create_key` will return immediately with a " +"failure status, and the other TLS functions will all be no-ops on such " +"platforms." +msgstr "" +"Ця версія API не підтримує платформи, де власний ключ TLS визначено таким " +"чином, що його неможливо безпечно перевести в ``int``. На таких платформах :" +"c:func:`PyThread_create_key` негайно повернеться зі статусом помилки, а всі " +"інші функції TLS будуть безопераційними на таких платформах." + +msgid "" +"Due to the compatibility problem noted above, this version of the API should " +"not be used in new code." +msgstr "" +"Через проблему сумісності, зазначену вище, цю версію API не слід " +"використовувати в новому коді." diff --git a/c-api/init_config.po b/c-api/init_config.po new file mode 100644 index 000000000..f5dacdef5 --- /dev/null +++ b/c-api/init_config.po @@ -0,0 +1,2033 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python Initialization Configuration" +msgstr "Конфігурація ініціалізації Python" + +msgid "" +"Python can be initialized with :c:func:`Py_InitializeFromConfig` and the :c:" +"type:`PyConfig` structure. It can be preinitialized with :c:func:" +"`Py_PreInitialize` and the :c:type:`PyPreConfig` structure." +msgstr "" +"Python можна ініціалізувати за допомогою :c:func:`Py_InitializeFromConfig` і " +"структури :c:type:`PyConfig`. Його можна попередньо ініціалізувати за " +"допомогою :c:func:`Py_PreInitialize` і структури :c:type:`PyPreConfig`." + +msgid "There are two kinds of configuration:" +msgstr "Існує два види конфігурації:" + +msgid "" +"The :ref:`Python Configuration ` can be used to build a " +"customized Python which behaves as the regular Python. For example, " +"environment variables and command line arguments are used to configure " +"Python." +msgstr "" +":ref:`Налаштування Python ` можна використовувати для " +"створення налаштованого Python, який веде себе як звичайний Python. " +"Наприклад, змінні середовища та аргументи командного рядка використовуються " +"для налаштування Python." + +msgid "" +"The :ref:`Isolated Configuration ` can be used to embed " +"Python into an application. It isolates Python from the system. For example, " +"environment variables are ignored, the LC_CTYPE locale is left unchanged and " +"no signal handler is registered." +msgstr "" +":ref:`Ізольована конфігурація ` може бути використана " +"для вбудовування Python у програму. Він ізолює Python від системи. " +"Наприклад, змінні середовища ігноруються, локаль LC_CTYPE не змінюється, а " +"обробник сигналів не реєструється." + +msgid "" +"The :c:func:`Py_RunMain` function can be used to write a customized Python " +"program." +msgstr "" +"Функцію :c:func:`Py_RunMain` можна використовувати для написання спеціальної " +"програми Python." + +msgid "" +"See also :ref:`Initialization, Finalization, and Threads `." +msgstr "" +"Дивіться також :ref:`Ініціалізація, фіналізація та потоки `." + +msgid ":pep:`587` \"Python Initialization Configuration\"." +msgstr ":pep:`587` \"Конфігурація ініціалізації Python\"." + +msgid "Example" +msgstr "приклад" + +msgid "Example of customized Python always running in isolated mode::" +msgstr "" +"Приклад налаштованого Python, який завжди працює в ізольованому режимі::" + +msgid "PyWideStringList" +msgstr "PyWideStringList" + +msgid "List of ``wchar_t*`` strings." +msgstr "Список рядків ``wchar_t*``." + +msgid "" +"If *length* is non-zero, *items* must be non-``NULL`` and all strings must " +"be non-``NULL``." +msgstr "" +"Якщо *length* не дорівнює нулю, *items* не мають бути ``NULL``, а всі рядки " +"мають бути не ``NULL``." + +msgid "Methods:" +msgstr "Методи:" + +msgid "Append *item* to *list*." +msgstr "Додайте *елемент* до *списку*." + +msgid "Python must be preinitialized to call this function." +msgstr "Щоб викликати цю функцію, Python має бути попередньо ініціалізований." + +msgid "Insert *item* into *list* at *index*." +msgstr "Вставте *елемент* у *список* за *індексом*." + +msgid "" +"If *index* is greater than or equal to *list* length, append *item* to " +"*list*." +msgstr "" +"Якщо *index* більше або дорівнює довжині *list*, додайте *item* до *list*." + +msgid "*index* must be greater than or equal to ``0``." +msgstr "" + +msgid "Structure fields:" +msgstr "Поля структури:" + +msgid "List length." +msgstr "Довжина списку." + +msgid "List items." +msgstr "Список елементів." + +msgid "PyStatus" +msgstr "PyStatus" + +msgid "" +"Structure to store an initialization function status: success, error or exit." +msgstr "" +"Структура для збереження стану функції ініціалізації: успіх, помилка або " +"вихід." + +msgid "For an error, it can store the C function name which created the error." +msgstr "Для помилки він може зберегти назву функції C, яка створила помилку." + +msgid "Exit code. Argument passed to ``exit()``." +msgstr "Код виходу. Аргумент, переданий до ``exit()``." + +msgid "Error message." +msgstr "Повідомлення про помилку." + +msgid "Name of the function which created an error, can be ``NULL``." +msgstr "Ім'я функції, яка створила помилку, може бути ``NULL``." + +msgid "Functions to create a status:" +msgstr "Функції для створення статусу:" + +msgid "Success." +msgstr "Успіх." + +msgid "Initialization error with a message." +msgstr "Помилка ініціалізації з повідомленням." + +msgid "*err_msg* must not be ``NULL``." +msgstr "*err_msg* не має бути ``NULL``." + +msgid "Memory allocation failure (out of memory)." +msgstr "Помилка виділення пам'яті (брак пам'яті)." + +msgid "Exit Python with the specified exit code." +msgstr "Вийдіть із Python із вказаним кодом виходу." + +msgid "Functions to handle a status:" +msgstr "Функції для обробки статусу:" + +msgid "" +"Is the status an error or an exit? If true, the exception must be handled; " +"by calling :c:func:`Py_ExitStatusException` for example." +msgstr "" +"Статус помилка чи вихід? Якщо істина, виняток потрібно обробити; наприклад, " +"викликом :c:func:`Py_ExitStatusException`." + +msgid "Is the result an error?" +msgstr "Чи є результат помилкою?" + +msgid "Is the result an exit?" +msgstr "Результат – це вихід?" + +msgid "" +"Call ``exit(exitcode)`` if *status* is an exit. Print the error message and " +"exit with a non-zero exit code if *status* is an error. Must only be called " +"if ``PyStatus_Exception(status)`` is non-zero." +msgstr "" +"Викличте ``exit(exitcode)``, якщо *status* є виходом. Роздрукуйте " +"повідомлення про помилку та вийдіть із ненульовим кодом виходу, якщо " +"*статус* є помилкою. Потрібно викликати, лише якщо " +"``PyStatus_Exception(status)`` не дорівнює нулю." + +msgid "" +"Internally, Python uses macros which set ``PyStatus.func``, whereas " +"functions to create a status set ``func`` to ``NULL``." +msgstr "" +"Внутрішньо Python використовує макроси, які встановлюють ``PyStatus.func``, " +"тоді як функції для створення стану встановлюють ``func`` на ``NULL``." + +msgid "Example::" +msgstr "Приклад::" + +msgid "PyPreConfig" +msgstr "PyPreConfig" + +msgid "Structure used to preinitialize Python." +msgstr "Структура, яка використовується для попередньої ініціалізації Python." + +msgid "Function to initialize a preconfiguration:" +msgstr "Функція ініціалізації попередньої конфігурації:" + +msgid "" +"Initialize the preconfiguration with :ref:`Python Configuration `." +msgstr "" +"Ініціалізуйте попередню конфігурацію за допомогою :ref:`Налаштування Python " +"`." + +msgid "" +"Initialize the preconfiguration with :ref:`Isolated Configuration `." +msgstr "" +"Ініціалізуйте попередню конфігурацію за допомогою :ref:`Ізольованої " +"конфігурації `." + +msgid "Name of the Python memory allocators:" +msgstr "Ім'я розподілювачів пам'яті Python:" + +msgid "" +"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use " +"defaults)." +msgstr "" +"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): не змінювати розподільники пам'яті " +"(використовувати значення за замовчуванням)." + +msgid "" +"``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`default memory allocators " +"`." +msgstr "" +"``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`розподіл пам'яті за замовчуванням " +"`." + +msgid "" +"``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`default memory allocators ` with :ref:`debug hooks `." +msgstr "" +"``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`розподільники пам’яті за " +"замовчуванням ` з :ref:`налагоджувальними хуками " +"`." + +msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): use ``malloc()`` of the C library." +msgstr "" +"``PYMEM_ALLOCATOR_MALLOC`` (``3``): використовуйте ``malloc()`` бібліотеки C." + +msgid "" +"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` with :" +"ref:`debug hooks `." +msgstr "" +"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): примусове використання " +"``malloc()`` з :ref:`налагоджувальними хуками `." + +msgid "" +"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator " +"`." +msgstr "" +"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Виділювач пам'яті Python " +"pymalloc `." + +msgid "" +"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory " +"allocator ` with :ref:`debug hooks `." +msgstr "" +"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Розподіл пам’яті Python " +"pymalloc ` з :ref:`налагоджувальними хуками `." + +msgid "" +"``PYMEM_ALLOCATOR_PYMALLOC`` and ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` are not " +"supported if Python is :option:`configured using --without-pymalloc <--" +"without-pymalloc>`." +msgstr "" +"``PYMEM_ALLOCATOR_PYMALLOC`` і ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` не " +"підтримуються, якщо Python :option:`налаштовано за допомогою --without-" +"pymalloc <--without-pymalloc>`." + +msgid "See :ref:`Memory Management `." +msgstr "Перегляньте :ref:`Керування пам’яттю `." + +msgid "Default: ``PYMEM_ALLOCATOR_NOT_SET``." +msgstr "Типове значення: ``PYMEM_ALLOCATOR_NOT_SET``." + +msgid "Set the LC_CTYPE locale to the user preferred locale?" +msgstr "Установити для LC_CTYPE локаль на бажану для користувача мову?" + +msgid "" +"If equals to ``0``, set :c:member:`~PyPreConfig.coerce_c_locale` and :c:" +"member:`~PyPreConfig.coerce_c_locale_warn` members to ``0``." +msgstr "" + +msgid "See the :term:`locale encoding`." +msgstr "Перегляньте :term:`locale encoding`." + +msgid "Default: ``1`` in Python config, ``0`` in isolated config." +msgstr "" +"За замовчуванням: ``1`` у конфігурації Python, ``0`` в ізольованій " +"конфігурації." + +msgid "If equals to ``2``, coerce the C locale." +msgstr "" + +msgid "" +"If equals to ``1``, read the LC_CTYPE locale to decide if it should be " +"coerced." +msgstr "" + +msgid "Default: ``-1`` in Python config, ``0`` in isolated config." +msgstr "" +"За замовчуванням: ``-1`` у конфігурації Python, ``0`` в ізольованій " +"конфігурації." + +msgid "If non-zero, emit a warning if the C locale is coerced." +msgstr "" +"Якщо значення відмінне від нуля, видати попередження, якщо локаль C виведена " +"примусово." + +msgid "" +":ref:`Python Development Mode `: see :c:member:`PyConfig.dev_mode`." +msgstr "" + +msgid "Default: ``-1`` in Python mode, ``0`` in isolated mode." +msgstr "Типове значення: ``-1`` в режимі Python, ``0`` в ізольованому режимі." + +msgid "Isolated mode: see :c:member:`PyConfig.isolated`." +msgstr "Ізольований режим: див. :c:member:`PyConfig.isolated`." + +msgid "Default: ``0`` in Python mode, ``1`` in isolated mode." +msgstr "Типове значення: ``0`` в режимі Python, ``1`` в ізольованому режимі." + +msgid "If non-zero:" +msgstr "Якщо відмінне від нуля:" + +msgid "Set :c:member:`PyPreConfig.utf8_mode` to ``0``," +msgstr "Установіть :c:member:`PyPreConfig.utf8_mode` на ``0``," + +msgid "Set :c:member:`PyConfig.filesystem_encoding` to ``\"mbcs\"``," +msgstr "Установіть :c:member:`PyConfig.filesystem_encoding` на ``\"mbcs\"``," + +msgid "Set :c:member:`PyConfig.filesystem_errors` to ``\"replace\"``." +msgstr "Установіть :c:member:`PyConfig.filesystem_errors` на ``\"replace\"``." + +msgid "" +"Initialized the from :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " +"variable value." +msgstr "" +"Ініціалізовано значення змінної середовища from :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING`." + +msgid "" +"Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " +"Windows specific code." +msgstr "" +"Доступно лише для Windows. Макрос ``#ifdef MS_WINDOWS`` можна " +"використовувати для спеціального коду Windows." + +msgid "Default: ``0``." +msgstr "Типове значення: ``0``." + +msgid "" +"If non-zero, :c:func:`Py_PreInitializeFromArgs` and :c:func:" +"`Py_PreInitializeFromBytesArgs` parse their ``argv`` argument the same way " +"the regular Python parses command line arguments: see :ref:`Command Line " +"Arguments `." +msgstr "" +"Якщо значення відмінне від нуля, :c:func:`Py_PreInitializeFromArgs` і :c:" +"func:`Py_PreInitializeFromBytesArgs` аналізують свій аргумент ``argv`` так " +"само, як звичайний Python аналізує аргументи командного рядка: див. :ref:" +"`Аргументи командного рядка `." + +msgid "" +"Use :ref:`environment variables `? See :c:member:`PyConfig." +"use_environment`." +msgstr "" +"Використовувати :ref:`змінні середовища `? Перегляньте :c:" +"member:`PyConfig.use_environment`." + +msgid "Default: ``1`` in Python config and ``0`` in isolated config." +msgstr "" +"За замовчуванням: ``1`` у конфігурації Python і ``0`` в ізольованій " +"конфігурації." + +msgid "If non-zero, enable the :ref:`Python UTF-8 Mode `." +msgstr "Якщо не нуль, увімкніть :ref:`Режим Python UTF-8 `." + +msgid "" +"Set to ``0`` or ``1`` by the :option:`-X utf8 <-X>` command line option and " +"the :envvar:`PYTHONUTF8` environment variable." +msgstr "" + +msgid "Also set to ``1`` if the ``LC_CTYPE`` locale is ``C`` or ``POSIX``." +msgstr "" + +msgid "Default: ``-1`` in Python config and ``0`` in isolated config." +msgstr "" +"За замовчуванням: ``-1`` у конфігурації Python і ``0`` в ізольованій " +"конфігурації." + +msgid "Preinitialize Python with PyPreConfig" +msgstr "Попередня ініціалізація Python за допомогою PyPreConfig" + +msgid "The preinitialization of Python:" +msgstr "Попередня ініціалізація Python:" + +msgid "Set the Python memory allocators (:c:member:`PyPreConfig.allocator`)" +msgstr "" +"Встановіть розподільники пам’яті Python (:c:member:`PyPreConfig.allocator`)" + +msgid "Configure the LC_CTYPE locale (:term:`locale encoding`)" +msgstr "Налаштувати локаль LC_CTYPE (:term:`locale encoding`)" + +msgid "" +"Set the :ref:`Python UTF-8 Mode ` (:c:member:`PyPreConfig." +"utf8_mode`)" +msgstr "" +"Установіть режим :ref:`Python UTF-8 Mode ` (:c:member:" +"`PyPreConfig.utf8_mode`)" + +msgid "" +"The current preconfiguration (``PyPreConfig`` type) is stored in " +"``_PyRuntime.preconfig``." +msgstr "" +"Поточна попередня конфігурація (тип ``PyPreConfig``) зберігається в " +"``_PyRuntime.preconfig``." + +msgid "Functions to preinitialize Python:" +msgstr "Функції для попередньої ініціалізації Python:" + +msgid "Preinitialize Python from *preconfig* preconfiguration." +msgstr "" +"Попередньо ініціалізуйте Python із попередньої конфігурації *preconfig*." + +msgid "*preconfig* must not be ``NULL``." +msgstr "*preconfig* не має бути ``NULL``." + +msgid "" +"Parse *argv* command line arguments (bytes strings) if :c:member:" +"`~PyPreConfig.parse_argv` of *preconfig* is non-zero." +msgstr "" +"Проаналізуйте аргументи командного рядка *argv* (рядки байтів), якщо :c:" +"member:`~PyPreConfig.parse_argv` *preconfig* не дорівнює нулю." + +msgid "" +"Parse *argv* command line arguments (wide strings) if :c:member:" +"`~PyPreConfig.parse_argv` of *preconfig* is non-zero." +msgstr "" +"Проаналізуйте аргументи командного рядка *argv* (широкі рядки), якщо :c:" +"member:`~PyPreConfig.parse_argv` *preconfig* не дорівнює нулю." + +msgid "" +"The caller is responsible to handle exceptions (error or exit) using :c:func:" +"`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." +msgstr "" +"Виклик відповідає за обробку винятків (помилка або вихід) за допомогою :c:" +"func:`PyStatus_Exception` і :c:func:`Py_ExitStatusException`." + +msgid "" +"For :ref:`Python Configuration ` (:c:func:" +"`PyPreConfig_InitPythonConfig`), if Python is initialized with command line " +"arguments, the command line arguments must also be passed to preinitialize " +"Python, since they have an effect on the pre-configuration like encodings. " +"For example, the :option:`-X utf8 <-X>` command line option enables the :ref:" +"`Python UTF-8 Mode `." +msgstr "" +"Для :ref:`Конфігурації Python ` (:c:func:" +"`PyPreConfig_InitPythonConfig`), якщо Python ініціалізовано аргументами " +"командного рядка, аргументи командного рядка також потрібно передати для " +"попередньої ініціалізації Python, оскільки вони впливають на попередні " +"конфігурація, як кодування. Наприклад, параметр командного рядка :option:`-X " +"utf8 <-X>` вмикає :ref:`Режим Python UTF-8 `." + +msgid "" +"``PyMem_SetAllocator()`` can be called after :c:func:`Py_PreInitialize` and " +"before :c:func:`Py_InitializeFromConfig` to install a custom memory " +"allocator. It can be called before :c:func:`Py_PreInitialize` if :c:member:" +"`PyPreConfig.allocator` is set to ``PYMEM_ALLOCATOR_NOT_SET``." +msgstr "" +"``PyMem_SetAllocator()`` можна викликати після :c:func:`Py_PreInitialize` і " +"перед :c:func:`Py_InitializeFromConfig`, щоб встановити спеціальний " +"розподільник пам’яті. Його можна викликати перед :c:func:`Py_PreInitialize`, " +"якщо :c:member:`PyPreConfig.allocator` має значення " +"``PYMEM_ALLOCATOR_NOT_SET``." + +msgid "" +"Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not " +"be used before the Python preinitialization, whereas calling directly " +"``malloc()`` and ``free()`` is always safe. :c:func:`Py_DecodeLocale` must " +"not be called before the Python preinitialization." +msgstr "" +"Функції виділення пам’яті Python, такі як :c:func:`PyMem_RawMalloc`, не " +"можна використовувати до попередньої ініціалізації Python, тоді як прямий " +"виклик ``malloc()`` і ``free()`` завжди безпечний. :c:func:`Py_DecodeLocale` " +"не можна викликати до попередньої ініціалізації Python." + +msgid "" +"Example using the preinitialization to enable the :ref:`Python UTF-8 Mode " +"`::" +msgstr "" +"Приклад використання попередньої ініціалізації для ввімкнення режиму :ref:" +"`Python UTF-8 `::" + +msgid "PyConfig" +msgstr "PyConfig" + +msgid "Structure containing most parameters to configure Python." +msgstr "Структура, що містить більшість параметрів для налаштування Python." + +msgid "" +"When done, the :c:func:`PyConfig_Clear` function must be used to release the " +"configuration memory." +msgstr "" +"Після завершення необхідно використати функцію :c:func:`PyConfig_Clear`, щоб " +"звільнити конфігураційну пам’ять." + +msgid "Structure methods:" +msgstr "Методи будови:" + +msgid "" +"Initialize configuration with the :ref:`Python Configuration `." +msgstr "" +"Ініціалізуйте конфігурацію за допомогою :ref:`Налаштування Python `." + +msgid "" +"Initialize configuration with the :ref:`Isolated Configuration `." +msgstr "" +"Ініціалізуйте конфігурацію за допомогою :ref:`ізольованої конфігурації `." + +msgid "Copy the wide character string *str* into ``*config_str``." +msgstr "Скопіюйте широкий символьний рядок *str* у ``*config_str``." + +msgid ":ref:`Preinitialize Python ` if needed." +msgstr ":ref:`Попередньо ініціалізуйте Python `, якщо потрібно." + +msgid "" +"Decode *str* using :c:func:`Py_DecodeLocale` and set the result into " +"``*config_str``." +msgstr "" +"Декодуйте *str* за допомогою :c:func:`Py_DecodeLocale` і встановіть " +"результат у ``*config_str``." + +msgid "" +"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) " +"from the *argv* list of wide character strings." +msgstr "" +"Установіть аргументи командного рядка (:c:member:`~PyConfig.argv` член " +"*config*) зі списку *argv* рядків широких символів." + +msgid "" +"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) " +"from the *argv* list of bytes strings. Decode bytes using :c:func:" +"`Py_DecodeLocale`." +msgstr "" +"Установіть аргументи командного рядка (:c:member:`~PyConfig.argv` член " +"*config*) зі списку *argv* рядків байтів. Декодуйте байти за допомогою :c:" +"func:`Py_DecodeLocale`." + +msgid "Set the list of wide strings *list* to *length* and *items*." +msgstr "" +"Установіть для списку широких рядків *list* значення *length* і *items*." + +msgid "Read all Python configuration." +msgstr "Прочитайте всю конфігурацію Python." + +msgid "Fields which are already initialized are left unchanged." +msgstr "Поля, які вже ініціалізовані, залишаються без змін." + +msgid "" +"Fields for :ref:`path configuration ` are no longer " +"calculated or modified when calling this function, as of Python 3.11." +msgstr "" + +msgid "" +"The :c:func:`PyConfig_Read` function only parses :c:member:`PyConfig.argv` " +"arguments once: :c:member:`PyConfig.parse_argv` is set to ``2`` after " +"arguments are parsed. Since Python arguments are strippped from :c:member:" +"`PyConfig.argv`, parsing arguments twice would parse the application options " +"as Python options." +msgstr "" +"Функція :c:func:`PyConfig_Read` аналізує аргументи :c:member:`PyConfig.argv` " +"лише один раз: :c:member:`PyConfig.parse_argv` має значення ``2`` після " +"аналізу аргументів. Оскільки аргументи Python видаляються з :c:member:" +"`PyConfig.argv`, двічі аналізуючи аргументи, параметри програми будуть " +"аналізуватися як параметри Python." + +msgid "" +"The :c:member:`PyConfig.argv` arguments are now only parsed once, :c:member:" +"`PyConfig.parse_argv` is set to ``2`` after arguments are parsed, and " +"arguments are only parsed if :c:member:`PyConfig.parse_argv` equals ``1``." +msgstr "" +"Аргументи :c:member:`PyConfig.argv` тепер аналізуються лише один раз, :c:" +"member:`PyConfig.parse_argv` встановлюється на ``2`` після аналізу " +"аргументів, і аргументи аналізуються, лише якщо :c:member:`PyConfig." +"parse_argv` дорівнює ``1``." + +msgid "" +":c:func:`PyConfig_Read` no longer calculates all paths, and so fields listed " +"under :ref:`Python Path Configuration ` may no longer be " +"updated until :c:func:`Py_InitializeFromConfig` is called." +msgstr "" + +msgid "Release configuration memory." +msgstr "Звільніть конфігураційну пам'ять." + +msgid "" +"Most ``PyConfig`` methods :ref:`preinitialize Python ` if needed. " +"In that case, the Python preinitialization configuration (:c:type:" +"`PyPreConfig`) in based on the :c:type:`PyConfig`. If configuration fields " +"which are in common with :c:type:`PyPreConfig` are tuned, they must be set " +"before calling a :c:type:`PyConfig` method:" +msgstr "" +"Більшість методів ``PyConfig`` :ref:`за необхідності попередньо " +"ініціалізують Python `. У цьому випадку конфігурація попередньої " +"ініціалізації Python (:c:type:`PyPreConfig`) базується на :c:type:" +"`PyConfig`. Якщо поля конфігурації, які є спільними з :c:type:`PyPreConfig`, " +"налаштовано, їх потрібно встановити перед викликом методу :c:type:`PyConfig`:" + +msgid ":c:member:`PyConfig.dev_mode`" +msgstr ":c:member:`PyConfig.dev_mode`" + +msgid ":c:member:`PyConfig.isolated`" +msgstr ":c:member:`PyConfig.isolated`" + +msgid ":c:member:`PyConfig.parse_argv`" +msgstr ":c:member:`PyConfig.parse_argv`" + +msgid ":c:member:`PyConfig.use_environment`" +msgstr ":c:member:`PyConfig.use_environment`" + +msgid "" +"Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` " +"is used, this method must be called before other methods, since the " +"preinitialization configuration depends on command line arguments (if :c:" +"member:`parse_argv` is non-zero)." +msgstr "" +"Крім того, якщо :c:func:`PyConfig_SetArgv` або :c:func:" +"`PyConfig_SetBytesArgv` використовується, цей метод має бути викликаний " +"перед іншими методами, оскільки конфігурація попередньої ініціалізації " +"залежить від аргументів командного рядка (якщо :c:member:`parse_argv` не " +"дорівнює нулю)." + +msgid "" +"The caller of these methods is responsible to handle exceptions (error or " +"exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``." +msgstr "" +"Виклик цих методів відповідає за обробку винятків (помилка або вихід) за " +"допомогою ``PyStatus_Exception()`` і ``Py_ExitStatusException()``." + +msgid "Command line arguments: :data:`sys.argv`." +msgstr "Аргументи командного рядка: :data:`sys.argv`." + +msgid "" +"Set :c:member:`~PyConfig.parse_argv` to ``1`` to parse :c:member:`~PyConfig." +"argv` the same way the regular Python parses Python command line arguments " +"and then to strip Python arguments from :c:member:`~PyConfig.argv`." +msgstr "" +"Установіть для :c:member:`~PyConfig.parse_argv` значення ``1``, щоб " +"аналізувати :c:member:`~PyConfig.argv` так само, як звичайний Python " +"аналізує аргументи командного рядка Python, а потім видаляти аргументи " +"Python з :c:member:`~PyConfig.argv`." + +msgid "" +"If :c:member:`~PyConfig.argv` is empty, an empty string is added to ensure " +"that :data:`sys.argv` always exists and is never empty." +msgstr "" +"Якщо :c:member:`~PyConfig.argv` порожній, додається порожній рядок, щоб " +"гарантувати, що :data:`sys.argv` завжди існує і ніколи не буде порожнім." + +msgid "Default: ``NULL``." +msgstr "Типове значення: ``NULL``." + +msgid "See also the :c:member:`~PyConfig.orig_argv` member." +msgstr "Дивіться також елемент :c:member:`~PyConfig.orig_argv`." + +msgid "" +"If equals to zero, ``Py_RunMain()`` prepends a potentially unsafe path to :" +"data:`sys.path` at startup:" +msgstr "" + +msgid "" +"If :c:member:`argv[0] ` is equal to ``L\"-m\"`` (``python -m " +"module``), prepend the current working directory." +msgstr "" + +msgid "" +"If running a script (``python script.py``), prepend the script's directory. " +"If it's a symbolic link, resolve symbolic links." +msgstr "" + +msgid "" +"Otherwise (``python -c code`` and ``python``), prepend an empty string, " +"which means the current working directory." +msgstr "" + +msgid "" +"Set to ``1`` by the :option:`-P` command line option and the :envvar:" +"`PYTHONSAFEPATH` environment variable." +msgstr "" + +msgid "Default: ``0`` in Python config, ``1`` in isolated config." +msgstr "" + +msgid ":data:`sys.base_exec_prefix`." +msgstr ":data:`sys.base_exec_prefix`." + +msgid "Part of the :ref:`Python Path Configuration ` output." +msgstr "Частина виведення :ref:`Налаштування шляху Python `." + +msgid "Python base executable: :data:`sys._base_executable`." +msgstr "Базовий виконуваний файл Python: :data:`sys._base_executable`." + +msgid "Set by the :envvar:`__PYVENV_LAUNCHER__` environment variable." +msgstr "Встановлюється змінною середовища :envvar:`__PYVENV_LAUNCHER__`." + +msgid "Set from :c:member:`PyConfig.executable` if ``NULL``." +msgstr "Установити з :c:member:`PyConfig.executable`, якщо ``NULL``." + +msgid ":data:`sys.base_prefix`." +msgstr ":data:`sys.base_prefix`." + +msgid "" +"If equals to ``0`` and :c:member:`~PyConfig.configure_c_stdio` is non-zero, " +"disable buffering on the C streams stdout and stderr." +msgstr "" + +msgid "" +"Set to ``0`` by the :option:`-u` command line option and the :envvar:" +"`PYTHONUNBUFFERED` environment variable." +msgstr "" + +msgid "stdin is always opened in buffered mode." +msgstr "stdin завжди відкривається в режимі буферизації." + +msgid "Default: ``1``." +msgstr "Типове значення: ``1``." + +msgid "" +"If equals to ``1``, issue a warning when comparing :class:`bytes` or :class:" +"`bytearray` with :class:`str`, or comparing :class:`bytes` with :class:`int`." +msgstr "" + +msgid "" +"If equal or greater to ``2``, raise a :exc:`BytesWarning` exception in these " +"cases." +msgstr "" + +msgid "Incremented by the :option:`-b` command line option." +msgstr "Збільшується параметром командного рядка :option:`-b`." + +msgid "" +"If non-zero, emit a :exc:`EncodingWarning` warning when :class:`io." +"TextIOWrapper` uses its default encoding. See :ref:`io-encoding-warning` for " +"details." +msgstr "" +"Якщо не нуль, видавати попередження :exc:`EncodingWarning`, коли :class:`io." +"TextIOWrapper` використовує кодування за замовчуванням. Дивіться :ref:`io-" +"encoding-warning` для деталей." + +msgid "" +"If equals to ``0``, disables the inclusion of the end line and column " +"mappings in code objects. Also disables traceback printing carets to " +"specific error locations." +msgstr "" + +msgid "" +"Set to ``0`` by the :envvar:`PYTHONNODEBUGRANGES` environment variable and " +"by the :option:`-X no_debug_ranges <-X>` command line option." +msgstr "" + +msgid "" +"Control the validation behavior of hash-based ``.pyc`` files: value of the :" +"option:`--check-hash-based-pycs` command line option." +msgstr "" +"Керуйте поведінкою перевірки файлів ``.pyc`` на основі хешу: значення " +"параметра командного рядка :option:`--check-hash-based-pycs`." + +msgid "Valid values:" +msgstr "Дійсні значення:" + +msgid "" +"``L\"always\"``: Hash the source file for invalidation regardless of value " +"of the 'check_source' flag." +msgstr "" +"``L\"always\"``: хеш вихідного файлу для визнання недійсним незалежно від " +"значення позначки 'check_source'." + +msgid "``L\"never\"``: Assume that hash-based pycs always are valid." +msgstr "``L\"never\"``: припустимо, що pics на основі хешу завжди дійсні." + +msgid "" +"``L\"default\"``: The 'check_source' flag in hash-based pycs determines " +"invalidation." +msgstr "" +"``L\"default\"``: прапор 'check_source' у pycs на основі хешу визначає " +"недійсність." + +msgid "Default: ``L\"default\"``." +msgstr "Типове значення: ``L\"default\"``." + +msgid "See also :pep:`552` \"Deterministic pycs\"." +msgstr "Дивіться також :pep:`552` \"Детерміновані фото\"." + +msgid "If non-zero, configure C standard streams:" +msgstr "Якщо не нуль, налаштуйте стандартні потоки C:" + +msgid "" +"On Windows, set the binary mode (``O_BINARY``) on stdin, stdout and stderr." +msgstr "" +"У Windows установіть бінарний режим (``O_BINARY``) для stdin, stdout і " +"stderr." + +msgid "" +"If :c:member:`~PyConfig.buffered_stdio` equals zero, disable buffering of " +"stdin, stdout and stderr streams." +msgstr "" +"Якщо :c:member:`~PyConfig.buffered_stdio` дорівнює нулю, вимкніть " +"буферизацію потоків stdin, stdout і stderr." + +msgid "" +"If :c:member:`~PyConfig.interactive` is non-zero, enable stream buffering on " +"stdin and stdout (only stdout on Windows)." +msgstr "" +"Якщо :c:member:`~PyConfig.interactive` не дорівнює нулю, увімкніть " +"буферизацію потоку на stdin і stdout (лише stdout у Windows)." + +msgid "If non-zero, enable the :ref:`Python Development Mode `." +msgstr "Якщо не нуль, увімкніть :ref:`Режим розробки Python `." + +msgid "" +"Set to ``1`` by the :option:`-X dev <-X>` option and the :envvar:" +"`PYTHONDEVMODE` environment variable." +msgstr "" + +msgid "Dump Python references?" +msgstr "Скинути посилання на Python?" + +msgid "If non-zero, dump all objects which are still alive at exit." +msgstr "" +"Якщо значення відмінне від нуля, скинути всі об’єкти, які ще живі при виході." + +msgid "Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable." +msgstr "" +"Установіть значення ``1`` за допомогою змінної середовища :envvar:" +"`PYTHONDUMPREFS`." + +msgid "" +"Need a special build of Python with the ``Py_TRACE_REFS`` macro defined: see " +"the :option:`configure --with-trace-refs option <--with-trace-refs>`." +msgstr "" +"Потрібна спеціальна збірка Python із визначеним макросом ``Py_TRACE_REFS``: " +"перегляньте параметр :option:`configure --with-trace-refs <--with-trace-" +"refs>`." + +msgid "" +"The site-specific directory prefix where the platform-dependent Python files " +"are installed: :data:`sys.exec_prefix`." +msgstr "" +"Префікс каталогу сайту, де встановлено файли Python, залежні від платформи: :" +"data:`sys.exec_prefix`." + +msgid "" +"The absolute path of the executable binary for the Python interpreter: :data:" +"`sys.executable`." +msgstr "" +"Абсолютний шлях виконуваного двійкового файлу для інтерпретатора Python: :" +"data:`sys.executable`." + +msgid "Enable faulthandler?" +msgstr "Увімкнути обробник помилок?" + +msgid "If non-zero, call :func:`faulthandler.enable` at startup." +msgstr "Якщо не нуль, викликати :func:`faulthandler.enable` під час запуску." + +msgid "" +"Set to ``1`` by :option:`-X faulthandler <-X>` and the :envvar:" +"`PYTHONFAULTHANDLER` environment variable." +msgstr "" +"Установіть значення ``1`` за допомогою :option:`-X faulthandler <-X>` і " +"змінної середовища :envvar:`PYTHONFAULTHANDLER`." + +msgid "" +":term:`Filesystem encoding `: :func:" +"`sys.getfilesystemencoding`." +msgstr "" +":term:`Кодування файлової системи `: :" +"func:`sys.getfilesystemencoding`." + +msgid "On macOS, Android and VxWorks: use ``\"utf-8\"`` by default." +msgstr "" +"У macOS, Android і VxWorks: використовуйте ``\"utf-8\"`` за умовчанням." + +msgid "" +"On Windows: use ``\"utf-8\"`` by default, or ``\"mbcs\"`` if :c:member:" +"`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is non-" +"zero." +msgstr "" +"У Windows: використовуйте ``\"utf-8\"`` за замовчуванням або ``\"mbcs\"``, " +"якщо :c:member:`~PyPreConfig.legacy_windows_fs_encoding` :c:type:" +"`PyPreConfig` не дорівнює нулю." + +msgid "Default encoding on other platforms:" +msgstr "Стандартне кодування на інших платформах:" + +msgid "``\"utf-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." +msgstr "``\"utf-8\"``, якщо :c:member:`PyPreConfig.utf8_mode` не нульовий." + +msgid "" +"``\"ascii\"`` if Python detects that ``nl_langinfo(CODESET)`` announces the " +"ASCII encoding, whereas the ``mbstowcs()`` function decodes from a different " +"encoding (usually Latin1)." +msgstr "" +"``\"ascii\"``, якщо Python виявляє, що ``nl_langinfo(CODESET)`` повідомляє " +"про кодування ASCII, тоді як функція ``mbstowcs()`` декодує з іншого " +"кодування (зазвичай Latin1)." + +msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string." +msgstr "``\"utf-8\"``, якщо ``nl_langinfo(CODESET)`` повертає порожній рядок." + +msgid "" +"Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result." +msgstr "" +"В іншому випадку використовуйте результат :term:`locale encoding`: " +"``nl_langinfo(CODESET)``." + +msgid "" +"At Python startup, the encoding name is normalized to the Python codec name. " +"For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``." +msgstr "" +"Під час запуску Python назва кодування нормалізується до назви кодека " +"Python. Наприклад, ``\"ANSI_X3.4-1968\"`` замінюється на ``\"ascii\"``." + +msgid "See also the :c:member:`~PyConfig.filesystem_errors` member." +msgstr "Дивіться також елемент :c:member:`~PyConfig.filesystem_errors`." + +msgid "" +":term:`Filesystem error handler `: :" +"func:`sys.getfilesystemencodeerrors`." +msgstr "" +":term:`Обробник помилок файлової системи `: :func:`sys.getfilesystemencodeerrors`." + +msgid "" +"On Windows: use ``\"surrogatepass\"`` by default, or ``\"replace\"`` if :c:" +"member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is " +"non-zero." +msgstr "" +"У Windows: використовуйте ``\"surrogatepass\"`` за замовчуванням або ``" +"\"replace\"``, якщо :c:member:`~PyPreConfig.legacy_windows_fs_encoding` :c:" +"type:`PyPreConfig` не дорівнює нулю." + +msgid "On other platforms: use ``\"surrogateescape\"`` by default." +msgstr "" +"На інших платформах: використовуйте ``\"surrogateescape\"`` за умовчанням." + +msgid "Supported error handlers:" +msgstr "Підтримувані засоби обробки помилок:" + +msgid "``\"strict\"``" +msgstr "``\"суворий\"``" + +msgid "``\"surrogateescape\"``" +msgstr "``\"сурогатна втеча\"``" + +msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)" +msgstr "``\"surrogatepass\"`` (підтримується лише з кодуванням UTF-8)" + +msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member." +msgstr "Дивіться також елемент :c:member:`~PyConfig.filesystem_encoding`." + +msgid "Randomized hash function seed." +msgstr "Рандомізоване початкове значення хеш-функції." + +msgid "" +"If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at " +"Python startup, and :c:member:`~PyConfig.hash_seed` is ignored." +msgstr "" +"Якщо :c:member:`~PyConfig.use_hash_seed` дорівнює нулю, початкове значення " +"вибирається випадковим чином під час запуску Python, а :c:member:`~PyConfig." +"hash_seed` ігнорується." + +msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable." +msgstr "Встановлюється змінною середовища :envvar:`PYTHONHASHSEED`." + +msgid "" +"Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated mode." +msgstr "" +"Значення *use_hash_seed* за замовчуванням: ``-1`` у режимі Python, ``0`` в " +"ізольованому режимі." + +msgid "Python home directory." +msgstr "Домашній каталог Python." + +msgid "" +"If :c:func:`Py_SetPythonHome` has been called, use its argument if it is not " +"``NULL``." +msgstr "" +"Якщо було викликано :c:func:`Py_SetPythonHome`, використовуйте його " +"аргумент, якщо він не ``NULL``." + +msgid "Set by the :envvar:`PYTHONHOME` environment variable." +msgstr "Встановлюється змінною середовища :envvar:`PYTHONHOME`." + +msgid "Part of the :ref:`Python Path Configuration ` input." +msgstr "" +"Частина вхідних даних :ref:`Налаштування шляху Python `." + +msgid "If non-zero, profile import time." +msgstr "Якщо не нуль, час імпорту профілю." + +msgid "" +"Set the ``1`` by the :option:`-X importtime <-X>` option and the :envvar:" +"`PYTHONPROFILEIMPORTTIME` environment variable." +msgstr "" +"Установіть ``1`` за допомогою параметра :option:`-X importtime <-X>` і " +"змінної середовища :envvar:`PYTHONPROFILEIMPORTTIME`." + +msgid "Enter interactive mode after executing a script or a command." +msgstr "Увійти в інтерактивний режим після виконання сценарію або команди." + +msgid "" +"If greater than ``0``, enable inspect: when a script is passed as first " +"argument or the -c option is used, enter interactive mode after executing " +"the script or the command, even when :data:`sys.stdin` does not appear to be " +"a terminal." +msgstr "" + +msgid "" +"Incremented by the :option:`-i` command line option. Set to ``1`` if the :" +"envvar:`PYTHONINSPECT` environment variable is non-empty." +msgstr "" +"Збільшується параметром командного рядка :option:`-i`. Установіть значення " +"``1``, якщо змінна середовища :envvar:`PYTHONINSPECT` не порожня." + +msgid "Install Python signal handlers?" +msgstr "Установити обробники сигналів Python?" + +msgid "Default: ``1`` in Python mode, ``0`` in isolated mode." +msgstr "Типове значення: ``1`` в режимі Python, ``0`` в ізольованому режимі." + +msgid "If greater than ``0``, enable the interactive mode (REPL)." +msgstr "" + +msgid "Incremented by the :option:`-i` command line option." +msgstr "Збільшується параметром командного рядка :option:`-i`." + +msgid "If greater than ``0``, enable isolated mode:" +msgstr "" + +msgid "" +"Set :c:member:`~PyConfig.safe_path` to ``1``: don't prepend a potentially " +"unsafe path to :data:`sys.path` at Python startup." +msgstr "" + +msgid "Set :c:member:`~PyConfig.use_environment` to ``0``." +msgstr "" + +msgid "" +"Set :c:member:`~PyConfig.user_site_directory` to ``0``: don't add the user " +"site directory to :data:`sys.path`." +msgstr "" + +msgid "" +"Python REPL doesn't import :mod:`readline` nor enable default readline " +"configuration on interactive prompts." +msgstr "" +"Python REPL не імпортує :mod:`readline` і не вмикає стандартну конфігурацію " +"readline в інтерактивних підказках." + +msgid "Set to ``1`` by the :option:`-I` command line option." +msgstr "" + +msgid "See also :c:member:`PyPreConfig.isolated`." +msgstr "Дивіться також :c:member:`PyPreConfig.isolated`." + +msgid "" +"If non-zero, use :class:`io.FileIO` instead of :class:`io.WindowsConsoleIO` " +"for :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys.stderr`." +msgstr "" +"Якщо значення не нульове, використовуйте :class:`io.FileIO` замість :class:" +"`io.WindowsConsoleIO` для :data:`sys.stdin`, :data:`sys.stdout` і :data:`sys." +"stderr`." + +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " +"is set to a non-empty string." +msgstr "" +"Установіть значення ``1``, якщо змінна середовища :envvar:" +"`PYTHONLEGACYWINDOWSSTDIO` має значення непорожнього рядка." + +msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)." +msgstr "" +"Дивіться також :pep:`528` (Змінити кодування консолі Windows на UTF-8)." + +msgid "" +"If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " +"` at exit." +msgstr "" +"Якщо значення відмінне від нуля, вивести статистику на :ref:`Python pymalloc " +"memory allocator ` при виході." + +msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable." +msgstr "" +"Установіть значення ``1`` за допомогою змінної середовища :envvar:" +"`PYTHONMALLOCSTATS`." + +msgid "" +"The option is ignored if Python is :option:`configured using the --without-" +"pymalloc option <--without-pymalloc>`." +msgstr "" +"Параметр ігнорується, якщо Python :option:`налаштовано за допомогою " +"параметра --without-pymalloc <--without-pymalloc>`." + +msgid "Platform library directory name: :data:`sys.platlibdir`." +msgstr "Назва каталогу бібліотеки платформи: :data:`sys.platlibdir`." + +msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable." +msgstr "Встановлюється змінною середовища :envvar:`PYTHONPLATLIBDIR`." + +msgid "" +"Default: value of the ``PLATLIBDIR`` macro which is set by the :option:" +"`configure --with-platlibdir option <--with-platlibdir>` (default: ``\"lib" +"\"``, or ``\"DLLs\"`` on Windows)." +msgstr "" + +msgid "" +"This macro is now used on Windows to locate the standard library extension " +"modules, typically under ``DLLs``. However, for compatibility, note that " +"this value is ignored for any non-standard layouts, including in-tree builds " +"and virtual environments." +msgstr "" + +msgid "" +"Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` (:" +"data:`os.path.pathsep`)." +msgstr "" +"Шляхи пошуку модуля (:data:`sys.path`) у вигляді рядка, розділеного " +"``DELIM`` (:data:`os.path.pathsep`)." + +msgid "Set by the :envvar:`PYTHONPATH` environment variable." +msgstr "Встановлюється змінною середовища :envvar:`PYTHONPATH`." + +msgid "Module search paths: :data:`sys.path`." +msgstr "Шляхи пошуку модуля: :data:`sys.path`." + +msgid "" +"If :c:member:`~PyConfig.module_search_paths_set` is equal to ``0``, :c:func:" +"`Py_InitializeFromConfig` will replace :c:member:`~PyConfig." +"module_search_paths` and sets :c:member:`~PyConfig.module_search_paths_set` " +"to ``1``." +msgstr "" + +msgid "" +"Default: empty list (``module_search_paths``) and ``0`` " +"(``module_search_paths_set``)." +msgstr "" +"За замовчуванням: порожній список (``module_search_paths``) і ``0`` " +"(``module_search_paths_set``)." + +msgid "Compilation optimization level:" +msgstr "Рівень оптимізації компіляції:" + +msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``." +msgstr "``0``: оптимізатор Peephole, встановіть ``__debug__`` на ``True``." + +msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``." +msgstr "" +"``1``: Рівень 0, видалити твердження, встановити ``__debug__`` на ``False``." + +msgid "``2``: Level 1, strip docstrings." +msgstr "``2``: Рівень 1, рядки документації." + +msgid "" +"Incremented by the :option:`-O` command line option. Set to the :envvar:" +"`PYTHONOPTIMIZE` environment variable value." +msgstr "" +"Збільшується параметром командного рядка :option:`-O`. Установіть значення " +"змінної середовища :envvar:`PYTHONOPTIMIZE`." + +msgid "" +"The list of the original command line arguments passed to the Python " +"executable: :data:`sys.orig_argv`." +msgstr "" +"Список вихідних аргументів командного рядка, переданих у виконуваний файл " +"Python: :data:`sys.orig_argv`." + +msgid "" +"If :c:member:`~PyConfig.orig_argv` list is empty and :c:member:`~PyConfig." +"argv` is not a list only containing an empty string, :c:func:`PyConfig_Read` " +"copies :c:member:`~PyConfig.argv` into :c:member:`~PyConfig.orig_argv` " +"before modifying :c:member:`~PyConfig.argv` (if :c:member:`~PyConfig." +"parse_argv` is non-zero)." +msgstr "" +"Якщо список :c:member:`~PyConfig.orig_argv` порожній і :c:member:`~PyConfig." +"argv` не є списком, який містить лише порожній рядок, :c:func:" +"`PyConfig_Read` копіює :c:member:`~PyConfig.argv` в :c:member:`~PyConfig." +"orig_argv` перед зміною :c:member:`~PyConfig.argv` (якщо :c:member:" +"`~PyConfig.parse_argv` не дорівнює нулю) ." + +msgid "" +"See also the :c:member:`~PyConfig.argv` member and the :c:func:" +"`Py_GetArgcArgv` function." +msgstr "" +"Дивіться також член :c:member:`~PyConfig.argv` і функцію :c:func:" +"`Py_GetArgcArgv`." + +msgid "Default: empty list." +msgstr "За замовчуванням: порожній список." + +msgid "Parse command line arguments?" +msgstr "Розібрати аргументи командного рядка?" + +msgid "" +"If equals to ``1``, parse :c:member:`~PyConfig.argv` the same way the " +"regular Python parses :ref:`command line arguments `, and " +"strip Python arguments from :c:member:`~PyConfig.argv`." +msgstr "" +"Якщо дорівнює ``1``, аналізувати :c:member:`~PyConfig.argv` так само, як " +"звичайний Python аналізує :ref:`аргументи командного рядка `, і видаляти аргументи Python з :c:member:`~PyConfig.argv`." + +msgid "" +"The :c:member:`PyConfig.argv` arguments are now only parsed if :c:member:" +"`PyConfig.parse_argv` equals to ``1``." +msgstr "" +"Аргументи :c:member:`PyConfig.argv` тепер аналізуються, лише якщо :c:member:" +"`PyConfig.parse_argv` дорівнює ``1``." + +msgid "" +"Parser debug mode. If greater than ``0``, turn on parser debugging output " +"(for expert only, depending on compilation options)." +msgstr "" + +msgid "" +"Incremented by the :option:`-d` command line option. Set to the :envvar:" +"`PYTHONDEBUG` environment variable value." +msgstr "" +"Збільшується параметром командного рядка :option:`-d`. Установіть значення " +"змінної середовища :envvar:`PYTHONDEBUG`." + +msgid "" +"If non-zero, calculation of path configuration is allowed to log warnings " +"into ``stderr``. If equals to ``0``, suppress these warnings." +msgstr "" + +msgid "Now also applies on Windows." +msgstr "" + +msgid "" +"The site-specific directory prefix where the platform independent Python " +"files are installed: :data:`sys.prefix`." +msgstr "" +"Префікс каталогу сайту, де встановлено незалежні від платформи файли " +"Python: :data:`sys.prefix`." + +msgid "" +"Program name used to initialize :c:member:`~PyConfig.executable` and in " +"early error messages during Python initialization." +msgstr "" +"Ім’я програми, що використовується для ініціалізації :c:member:`~PyConfig." +"executable` і в ранніх повідомленнях про помилки під час ініціалізації " +"Python." + +msgid "If :func:`Py_SetProgramName` has been called, use its argument." +msgstr "" +"Якщо було викликано :func:`Py_SetProgramName`, використовуйте його аргумент." + +msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set." +msgstr "" +"У macOS використовуйте змінну середовища :envvar:`PYTHONEXECUTABLE`, якщо " +"встановлено." + +msgid "" +"If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use :envvar:" +"`__PYVENV_LAUNCHER__` environment variable if set." +msgstr "" +"Якщо визначено макрос ``WITH_NEXT_FRAMEWORK``, використовуйте змінну " +"середовища :envvar:`__PYVENV_LAUNCHER__`, якщо встановлено." + +msgid "" +"Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty." +msgstr "" +"Використовуйте ``argv[0]`` :c:member:`~PyConfig.argv`, якщо доступний і не є " +"порожнім." + +msgid "" +"Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other " +"platforms." +msgstr "" +"В іншому випадку використовуйте ``L\"python\"`` у Windows або ``L" +"\"python3\"`` на інших платформах." + +msgid "" +"Directory where cached ``.pyc`` files are written: :data:`sys." +"pycache_prefix`." +msgstr "" +"Каталог, де записуються кешовані файли ``.pyc``: :data:`sys.pycache_prefix`." + +msgid "" +"Set by the :option:`-X pycache_prefix=PATH <-X>` command line option and " +"the :envvar:`PYTHONPYCACHEPREFIX` environment variable." +msgstr "" +"Встановлюється параметром командного рядка :option:`-X pycache_prefix=PATH <-" +"X>` і змінною середовища :envvar:`PYTHONPYCACHEPREFIX`." + +msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``." +msgstr "Якщо ``NULL``, :data:`sys.pycache_prefix` має значення ``None``." + +msgid "" +"Quiet mode. If greater than ``0``, don't display the copyright and version " +"at Python startup in interactive mode." +msgstr "" + +msgid "Incremented by the :option:`-q` command line option." +msgstr "Збільшується параметром командного рядка :option:`-q`." + +msgid "Value of the :option:`-c` command line option." +msgstr "Значення параметра командного рядка :option:`-c`." + +msgid "Used by :c:func:`Py_RunMain`." +msgstr "Використовується :c:func:`Py_RunMain`." + +msgid "" +"Filename passed on the command line: trailing command line argument without :" +"option:`-c` or :option:`-m`. It is used by the :c:func:`Py_RunMain` function." +msgstr "" + +msgid "" +"For example, it is set to ``script.py`` by the ``python3 script.py arg`` " +"command line." +msgstr "" + +msgid "See also the :c:member:`PyConfig.skip_source_first_line` option." +msgstr "" + +msgid "Value of the :option:`-m` command line option." +msgstr "Значення параметра командного рядка :option:`-m`." + +msgid "Show total reference count at exit?" +msgstr "Показати загальну кількість посилань на виході?" + +msgid "Set to ``1`` by :option:`-X showrefcount <-X>` command line option." +msgstr "" + +msgid "" +"Need a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` " +"macro must be defined)." +msgstr "" +"Потрібна :ref:`налагоджувальна збірка Python ` (повинен бути " +"визначений макрос ``Py_REF_DEBUG``)." + +msgid "Import the :mod:`site` module at startup?" +msgstr "Імпортувати модуль :mod:`site` під час запуску?" + +msgid "" +"If equal to zero, disable the import of the module site and the site-" +"dependent manipulations of :data:`sys.path` that it entails." +msgstr "" +"Якщо дорівнює нулю, вимкніть імпорт сайту модуля та залежні від сайту " +"маніпуляції :data:`sys.path`, які він тягне за собою." + +msgid "" +"Also disable these manipulations if the :mod:`site` module is explicitly " +"imported later (call :func:`site.main` if you want them to be triggered)." +msgstr "" +"Також вимкніть ці маніпуляції, якщо модуль :mod:`site` буде явно імпортовано " +"пізніше (викличте :func:`site.main`, якщо ви хочете, щоб вони були " +"активовані)." + +msgid "Set to ``0`` by the :option:`-S` command line option." +msgstr "Установіть ``0`` за допомогою параметра командного рядка :option:`-S`." + +msgid "" +":data:`sys.flags.no_site` is set to the inverted value of :c:member:" +"`~PyConfig.site_import`." +msgstr "" +":data:`sys.flags.no_site` встановлюється на обернене значення :c:member:" +"`~PyConfig.site_import`." + +msgid "" +"If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` " +"source." +msgstr "" +"Якщо значення не нульове, пропустіть перший рядок джерела :c:member:" +"`PyConfig.run_filename`." + +msgid "" +"It allows the usage of non-Unix forms of ``#!cmd``. This is intended for a " +"DOS specific hack only." +msgstr "" +"Це дозволяє використовувати не-Unix форми ``#!cmd``. Це призначено лише для " +"спеціального злому DOS." + +msgid "Set to ``1`` by the :option:`-x` command line option." +msgstr "" +"Установіть значення ``1`` за допомогою параметра командного рядка :option:`-" +"x`." + +msgid "" +"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :" +"data:`sys.stderr` (but :data:`sys.stderr` always uses ``\"backslashreplace" +"\"`` error handler)." +msgstr "" +"Кодування та помилки кодування :data:`sys.stdin`, :data:`sys.stdout` і :data:" +"`sys.stderr` (але :data:`sys.stderr` завжди використовує ``\"backslashreplace" +"\"`` обробник помилок)." + +msgid "" +"If :c:func:`Py_SetStandardStreamEncoding` has been called, use its *error* " +"and *errors* arguments if they are not ``NULL``." +msgstr "" +"Якщо було викликано :c:func:`Py_SetStandardStreamEncoding`, використовуйте " +"його аргументи *error* і *errors*, якщо вони не є ``NULL``." + +msgid "" +"Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty." +msgstr "" +"Використовуйте змінну середовища :envvar:`PYTHONIOENCODING`, якщо вона " +"непорожня." + +msgid "Default encoding:" +msgstr "Стандартне кодування:" + +msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." +msgstr "``\"UTF-8\"``, якщо :c:member:`PyPreConfig.utf8_mode` не нульовий." + +msgid "Otherwise, use the :term:`locale encoding`." +msgstr "В іншому випадку використовуйте :term:`locale encoding`." + +msgid "Default error handler:" +msgstr "Обробник помилок за замовчуванням:" + +msgid "On Windows: use ``\"surrogateescape\"``." +msgstr "У Windows: використовуйте ``\"surrogateescape\"``." + +msgid "" +"``\"surrogateescape\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero, or " +"if the LC_CTYPE locale is \"C\" or \"POSIX\"." +msgstr "" +"``\"surrogateescape\"``, якщо :c:member:`PyPreConfig.utf8_mode` не нульовий, " +"або якщо LC_CTYPE локаль \"C\" або \"POSIX\"." + +msgid "``\"strict\"`` otherwise." +msgstr "``\"строгий\"`` інакше." + +msgid "Enable tracemalloc?" +msgstr "Увімкнути tracemalloc?" + +msgid "If non-zero, call :func:`tracemalloc.start` at startup." +msgstr "Якщо не нуль, викликати :func:`tracemalloc.start` під час запуску." + +msgid "" +"Set by :option:`-X tracemalloc=N <-X>` command line option and by the :" +"envvar:`PYTHONTRACEMALLOC` environment variable." +msgstr "" +"Встановлюється параметром командного рядка :option:`-X tracemalloc=N <-X>` і " +"змінною середовища :envvar:`PYTHONTRACEMALLOC`." + +msgid "Use :ref:`environment variables `?" +msgstr "Використовувати :ref:`змінні середовища `?" + +msgid "" +"If equals to zero, ignore the :ref:`environment variables `." +msgstr "" +"Якщо дорівнює нулю, ігноруйте :ref:`змінні середовища `." + +msgid "Set to ``0`` by the :option:`-E` environment variable." +msgstr "" + +msgid "If non-zero, add the user site directory to :data:`sys.path`." +msgstr "" +"Якщо значення не нульове, додайте каталог сайту користувача до :data:`sys." +"path`." + +msgid "Set to ``0`` by the :option:`-s` and :option:`-I` command line options." +msgstr "" +"Установіть значення ``0`` за допомогою параметрів командного рядка :option:`-" +"s` і :option:`-I`." + +msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable." +msgstr "" +"Установлено значення ``0`` за допомогою змінної середовища :envvar:" +"`PYTHONNOUSERSITE`." + +msgid "" +"Verbose mode. If greater than ``0``, print a message each time a module is " +"imported, showing the place (filename or built-in module) from which it is " +"loaded." +msgstr "" + +msgid "" +"If greater or equal to ``2``, print a message for each file that is checked " +"for when searching for a module. Also provides information on module cleanup " +"at exit." +msgstr "" + +msgid "Incremented by the :option:`-v` command line option." +msgstr "Збільшується параметром командного рядка :option:`-v`." + +msgid "Set to the :envvar:`PYTHONVERBOSE` environment variable value." +msgstr "Установіть значення змінної середовища :envvar:`PYTHONVERBOSE`." + +msgid "" +"Options of the :mod:`warnings` module to build warnings filters, lowest to " +"highest priority: :data:`sys.warnoptions`." +msgstr "" +"Параметри модуля :mod:`warnings` для створення фільтрів попереджень, від " +"найнижчого до найвищого пріоритету: :data:`sys.warnoptions`." + +msgid "" +"The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse " +"order: the last :c:member:`PyConfig.warnoptions` item becomes the first item " +"of :data:`warnings.filters` which is checked first (highest priority)." +msgstr "" +"Модуль :mod:`warnings` додає :data:`sys.warnoptions` у зворотному порядку: " +"останній елемент :c:member:`PyConfig.warnoptions` стає першим елементом :" +"data:`warnings.filters`, який є перевіряється першим (найвищий пріоритет)." + +msgid "" +"The :option:`-W` command line options adds its value to :c:member:`~PyConfig." +"warnoptions`, it can be used multiple times." +msgstr "" +"Параметр командного рядка :option:`-W` додає значення до :c:member:" +"`~PyConfig.warnoptions`, тому його можна використовувати кілька разів." + +msgid "" +"The :envvar:`PYTHONWARNINGS` environment variable can also be used to add " +"warning options. Multiple options can be specified, separated by commas (``," +"``)." +msgstr "" +"Змінну середовища :envvar:`PYTHONWARNINGS` також можна використовувати для " +"додавання параметрів попередження. Можна вказати декілька параметрів, " +"розділених комами (``,``)." + +msgid "" +"If equal to ``0``, Python won't try to write ``.pyc`` files on the import of " +"source modules." +msgstr "" + +msgid "" +"Set to ``0`` by the :option:`-B` command line option and the :envvar:" +"`PYTHONDONTWRITEBYTECODE` environment variable." +msgstr "" +"Установіть значення ``0`` за допомогою параметра командного рядка :option:`-" +"B` і змінної середовища :envvar:`PYTHONDONTWRITEBYTECODE`." + +msgid "" +":data:`sys.dont_write_bytecode` is initialized to the inverted value of :c:" +"member:`~PyConfig.write_bytecode`." +msgstr "" +":data:`sys.dont_write_bytecode` ініціалізується інвертованим значенням :c:" +"member:`~PyConfig.write_bytecode`." + +msgid "Values of the :option:`-X` command line options: :data:`sys._xoptions`." +msgstr "" +"Значення параметрів командного рядка :option:`-X`: :data:`sys._xoptions`." + +msgid "" +"If :c:member:`~PyConfig.parse_argv` is non-zero, :c:member:`~PyConfig.argv` " +"arguments are parsed the same way the regular Python parses :ref:`command " +"line arguments `, and Python arguments are stripped from :" +"c:member:`~PyConfig.argv`." +msgstr "" +"Якщо :c:member:`~PyConfig.parse_argv` не дорівнює нулю, аргументи :c:member:" +"`~PyConfig.argv` аналізуються так само, як звичайний Python аналізує :ref:" +"`аргументи командного рядка `, і Python аргументи " +"видаляються з :c:member:`~PyConfig.argv`." + +msgid "" +"The :c:member:`~PyConfig.xoptions` options are parsed to set other options: " +"see the :option:`-X` command line option." +msgstr "" +"Параметри :c:member:`~PyConfig.xoptions` аналізуються, щоб встановити інші " +"параметри: дивіться параметр командного рядка :option:`-X`." + +msgid "The ``show_alloc_count`` field has been removed." +msgstr "Поле ``show_alloc_count`` видалено." + +msgid "Initialization with PyConfig" +msgstr "Ініціалізація за допомогою PyConfig" + +msgid "Function to initialize Python:" +msgstr "Функція для ініціалізації Python:" + +msgid "Initialize Python from *config* configuration." +msgstr "Ініціалізація Python із конфігурації *config*." + +msgid "" +"If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` or :c:" +"func:`PyImport_ExtendInittab` are used, they must be set or called after " +"Python preinitialization and before the Python initialization. If Python is " +"initialized multiple times, :c:func:`PyImport_AppendInittab` or :c:func:" +"`PyImport_ExtendInittab` must be called before each Python initialization." +msgstr "" +"Якщо :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` або :" +"c:func:`PyImport_ExtendInittab` використовуються, їх потрібно встановити або " +"викликати після попередньої ініціалізації Python та перед ініціалізацією " +"Python. Якщо Python ініціалізовано кілька разів, перед кожною ініціалізацією " +"Python потрібно викликати :c:func:`PyImport_AppendInittab` або :c:func:" +"`PyImport_ExtendInittab`." + +msgid "" +"The current configuration (``PyConfig`` type) is stored in " +"``PyInterpreterState.config``." +msgstr "" +"Поточна конфігурація (тип ``PyConfig``) зберігається в ``PyInterpreterState." +"config``." + +msgid "Example setting the program name::" +msgstr "Приклад налаштування імені програми::" + +msgid "" +"More complete example modifying the default configuration, read the " +"configuration, and then override some parameters. Note that since 3.11, many " +"parameters are not calculated until initialization, and so values cannot be " +"read from the configuration structure. Any values set before initialize is " +"called will be left unchanged by initialization::" +msgstr "" + +msgid "Isolated Configuration" +msgstr "Ізольована конфігурація" + +msgid "" +":c:func:`PyPreConfig_InitIsolatedConfig` and :c:func:" +"`PyConfig_InitIsolatedConfig` functions create a configuration to isolate " +"Python from the system. For example, to embed Python into an application." +msgstr "" +"Функції :c:func:`PyPreConfig_InitIsolatedConfig` і :c:func:" +"`PyConfig_InitIsolatedConfig` створюють конфігурацію для ізоляції Python від " +"системи. Наприклад, щоб вбудувати Python у програму." + +msgid "" +"This configuration ignores global configuration variables, environment " +"variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) " +"and user site directory. The C standard streams (ex: ``stdout``) and the " +"LC_CTYPE locale are left unchanged. Signal handlers are not installed." +msgstr "" +"Ця конфігурація ігнорує глобальні змінні конфігурації, змінні середовища, " +"аргументи командного рядка (:c:member:`PyConfig.argv` не аналізується) і " +"каталог сайту користувача. Стандартні потоки C (наприклад: ``stdout``) і " +"локаль LC_CTYPE залишаються без змін. Обробники сигналів не встановлені." + +msgid "" +"Configuration files are still used with this configuration to determine " +"paths that are unspecified. Ensure :c:member:`PyConfig.home` is specified to " +"avoid computing the default path configuration." +msgstr "" + +msgid "Python Configuration" +msgstr "Конфігурація Python" + +msgid "" +":c:func:`PyPreConfig_InitPythonConfig` and :c:func:" +"`PyConfig_InitPythonConfig` functions create a configuration to build a " +"customized Python which behaves as the regular Python." +msgstr "" +"Функції :c:func:`PyPreConfig_InitPythonConfig` і :c:func:" +"`PyConfig_InitPythonConfig` створюють конфігурацію для створення " +"налаштованого Python, який веде себе як звичайний Python." + +msgid "" +"Environments variables and command line arguments are used to configure " +"Python, whereas global configuration variables are ignored." +msgstr "" +"Для налаштування Python використовуються змінні середовища та аргументи " +"командного рядка, тоді як глобальні змінні конфігурації ігноруються." + +msgid "" +"This function enables C locale coercion (:pep:`538`) and :ref:`Python UTF-8 " +"Mode ` (:pep:`540`) depending on the LC_CTYPE locale, :envvar:" +"`PYTHONUTF8` and :envvar:`PYTHONCOERCECLOCALE` environment variables." +msgstr "" +"Ця функція вмикає примусове налаштування локалі C (:pep:`538`) і :ref:" +"`Python UTF-8 Mode ` (:pep:`540`) залежно від локалі LC_CTYPE, :" +"envvar:`PYTHONUTF8` і Змінні середовища :envvar:`PYTHONCOERCECLOCALE`." + +msgid "Python Path Configuration" +msgstr "Конфігурація шляху Python" + +msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:" +msgstr ":c:type:`PyConfig` містить кілька полів для конфігурації шляху:" + +msgid "Path configuration inputs:" +msgstr "Вхідні дані конфігурації шляху:" + +msgid ":c:member:`PyConfig.home`" +msgstr ":c:member:`PyConfig.home`" + +msgid ":c:member:`PyConfig.platlibdir`" +msgstr ":c:member:`PyConfig.platlibdir`" + +msgid ":c:member:`PyConfig.pathconfig_warnings`" +msgstr ":c:member:`PyConfig.pathconfig_warnings`" + +msgid ":c:member:`PyConfig.program_name`" +msgstr ":c:member:`PyConfig.program_name`" + +msgid ":c:member:`PyConfig.pythonpath_env`" +msgstr ":c:member:`PyConfig.pythonpath_env`" + +msgid "current working directory: to get absolute paths" +msgstr "поточний робочий каталог: щоб отримати абсолютні шляхи" + +msgid "" +"``PATH`` environment variable to get the program full path (from :c:member:" +"`PyConfig.program_name`)" +msgstr "" +"Змінна середовища ``PATH``, щоб отримати повний шлях до програми (з :c:" +"member:`PyConfig.program_name`)" + +msgid "``__PYVENV_LAUNCHER__`` environment variable" +msgstr "Змінна середовища ``__PYVENV_LAUNCHER__``" + +msgid "" +"(Windows only) Application paths in the registry under \"Software\\Python" +"\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE " +"(where X.Y is the Python version)." +msgstr "" +"(Лише для Windows) Шляхи програм у реєстрі в розділі \"Software\\Python" +"\\PythonCore\\X.Y\\PythonPath\" HKEY_CURRENT_USER і HKEY_LOCAL_MACHINE (де X." +"Y — версія Python)." + +msgid "Path configuration output fields:" +msgstr "Поля виведення конфігурації шляху:" + +msgid ":c:member:`PyConfig.base_exec_prefix`" +msgstr ":c:member:`PyConfig.base_exec_prefix`" + +msgid ":c:member:`PyConfig.base_executable`" +msgstr ":c:member:`PyConfig.base_executable`" + +msgid ":c:member:`PyConfig.base_prefix`" +msgstr ":c:member:`PyConfig.base_prefix`" + +msgid ":c:member:`PyConfig.exec_prefix`" +msgstr ":c:member:`PyConfig.exec_prefix`" + +msgid ":c:member:`PyConfig.executable`" +msgstr ":c:member:`PyConfig.executable`" + +msgid "" +":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." +"module_search_paths`" +msgstr "" +":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." +"module_search_paths`" + +msgid ":c:member:`PyConfig.prefix`" +msgstr ":c:member:`PyConfig.prefix`" + +msgid "" +"If at least one \"output field\" is not set, Python calculates the path " +"configuration to fill unset fields. If :c:member:`~PyConfig." +"module_search_paths_set` is equal to ``0``, :c:member:`~PyConfig." +"module_search_paths` is overridden and :c:member:`~PyConfig." +"module_search_paths_set` is set to ``1``." +msgstr "" + +msgid "" +"It is possible to completely ignore the function calculating the default " +"path configuration by setting explicitly all path configuration output " +"fields listed above. A string is considered as set even if it is non-empty. " +"``module_search_paths`` is considered as set if ``module_search_paths_set`` " +"is set to ``1``. In this case, ``module_search_paths`` will be used without " +"modification." +msgstr "" + +msgid "" +"Set :c:member:`~PyConfig.pathconfig_warnings` to ``0`` to suppress warnings " +"when calculating the path configuration (Unix only, Windows does not log any " +"warning)." +msgstr "" + +msgid "" +"If :c:member:`~PyConfig.base_prefix` or :c:member:`~PyConfig." +"base_exec_prefix` fields are not set, they inherit their value from :c:" +"member:`~PyConfig.prefix` and :c:member:`~PyConfig.exec_prefix` respectively." +msgstr "" +"Якщо поля :c:member:`~PyConfig.base_prefix` або :c:member:`~PyConfig." +"base_exec_prefix` не встановлені, вони успадковують свої значення від :c:" +"member:`~PyConfig.prefix` і :c:member:`~PyConfig.exec_prefix` відповідно." + +msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" +msgstr ":c:func:`Py_RunMain` і :c:func:`Py_Main` змінюють :data:`sys.path`:" + +msgid "" +"If :c:member:`~PyConfig.run_filename` is set and is a directory which " +"contains a ``__main__.py`` script, prepend :c:member:`~PyConfig." +"run_filename` to :data:`sys.path`." +msgstr "" +"Якщо :c:member:`~PyConfig.run_filename` встановлено і це каталог, який " +"містить сценарій ``__main__.py``, додайте :c:member:`~PyConfig.run_filename` " +"до :data:`sys.path`." + +msgid "If :c:member:`~PyConfig.isolated` is zero:" +msgstr "Якщо :c:member:`~PyConfig.isolated` дорівнює нулю:" + +msgid "" +"If :c:member:`~PyConfig.run_module` is set, prepend the current directory " +"to :data:`sys.path`. Do nothing if the current directory cannot be read." +msgstr "" +"Якщо встановлено :c:member:`~PyConfig.run_module`, додайте поточний каталог " +"до :data:`sys.path`. Нічого не робити, якщо поточний каталог неможливо " +"прочитати." + +msgid "" +"If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the " +"filename to :data:`sys.path`." +msgstr "" +"Якщо встановлено :c:member:`~PyConfig.run_filename`, додайте каталог імені " +"файлу перед :data:`sys.path`." + +msgid "Otherwise, prepend an empty string to :data:`sys.path`." +msgstr "В іншому випадку додайте порожній рядок до :data:`sys.path`." + +msgid "" +"If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be " +"modified by the :mod:`site` module. If :c:member:`~PyConfig." +"user_site_directory` is non-zero and the user's site-package directory " +"exists, the :mod:`site` module appends the user's site-package directory to :" +"data:`sys.path`." +msgstr "" +"Якщо :c:member:`~PyConfig.site_import` не дорівнює нулю, :data:`sys.path` " +"можна змінити за допомогою модуля :mod:`site`. Якщо :c:member:`~PyConfig." +"user_site_directory` не дорівнює нулю, а каталог пакетів сайту користувача " +"існує, модуль :mod:`site` додає каталог пакетів сайту користувача до :data:" +"`sys.path`." + +msgid "The following configuration files are used by the path configuration:" +msgstr "У конфігурації шляху використовуються такі файли конфігурації:" + +msgid "``pyvenv.cfg``" +msgstr "``pyvenv.cfg``" + +msgid "``._pth`` file (ex: ``python._pth``)" +msgstr "" + +msgid "``pybuilddir.txt`` (Unix only)" +msgstr "``pybuilddir.txt`` (лише Unix)" + +msgid "If a ``._pth`` file is present:" +msgstr "" + +msgid "Set :c:member:`~PyConfig.isolated` to ``1``." +msgstr "" + +msgid "Set :c:member:`~PyConfig.site_import` to ``0``." +msgstr "" + +msgid "Set :c:member:`~PyConfig.safe_path` to ``1``." +msgstr "" + +msgid "" +"The ``__PYVENV_LAUNCHER__`` environment variable is used to set :c:member:" +"`PyConfig.base_executable`" +msgstr "" +"Змінна середовища ``__PYVENV_LAUNCHER__`` використовується для встановлення :" +"c:member:`PyConfig.base_executable`" + +msgid "Py_RunMain()" +msgstr "Py_RunMain()" + +msgid "" +"Execute the command (:c:member:`PyConfig.run_command`), the script (:c:" +"member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." +"run_module`) specified on the command line or in the configuration." +msgstr "" +"Виконайте команду (:c:member:`PyConfig.run_command`), сценарій (:c:member:" +"`PyConfig.run_filename`) або модуль (:c:member:`PyConfig.run_module`), " +"указані в командному рядку або в конфігурації." + +msgid "By default and when if :option:`-i` option is used, run the REPL." +msgstr "" +"За замовчуванням і якщо використовується параметр :option:`-i`, запустіть " +"REPL." + +msgid "" +"Finally, finalizes Python and returns an exit status that can be passed to " +"the ``exit()`` function." +msgstr "" +"Нарешті завершує Python і повертає статус виходу, який можна передати " +"функції ``exit()``." + +msgid "" +"See :ref:`Python Configuration ` for an example of " +"customized Python always running in isolated mode using :c:func:`Py_RunMain`." +msgstr "" +"Перегляньте :ref:`Налаштування Python ` для прикладу " +"налаштованого Python, який завжди працює в ізольованому режимі за допомогою :" +"c:func:`Py_RunMain`." + +msgid "Py_GetArgcArgv()" +msgstr "Py_GetArgcArgv()" + +msgid "Get the original command line arguments, before Python modified them." +msgstr "" +"Отримайте оригінальні аргументи командного рядка до того, як Python їх " +"змінив." + +msgid "See also :c:member:`PyConfig.orig_argv` member." +msgstr "Дивіться також член :c:member:`PyConfig.orig_argv`." + +msgid "Multi-Phase Initialization Private Provisional API" +msgstr "Приватний тимчасовий API багатофазної ініціалізації" + +msgid "" +"This section is a private provisional API introducing multi-phase " +"initialization, the core feature of :pep:`432`:" +msgstr "" +"Цей розділ є приватним тимчасовим API, який представляє багатофазову " +"ініціалізацію, основну функцію :pep:`432`:" + +msgid "\"Core\" initialization phase, \"bare minimum Python\":" +msgstr "Фаза ініціалізації \"Core\", \"мінімум Python\":" + +msgid "Builtin types;" +msgstr "Вбудовані типи;" + +msgid "Builtin exceptions;" +msgstr "Вбудовані винятки;" + +msgid "Builtin and frozen modules;" +msgstr "Вбудовані та заморожені модулі;" + +msgid "" +"The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` " +"doesn't exist yet)." +msgstr "" +"Модуль :mod:`sys` ініціалізовано лише частково (наприклад: :data:`sys.path` " +"ще не існує)." + +msgid "\"Main\" initialization phase, Python is fully initialized:" +msgstr "\"Основна\" фаза ініціалізації, Python повністю ініціалізовано:" + +msgid "Install and configure :mod:`importlib`;" +msgstr "Встановити та налаштувати :mod:`importlib`;" + +msgid "Apply the :ref:`Path Configuration `;" +msgstr "Застосуйте :ref:`Конфігурацію шляху `;" + +msgid "Install signal handlers;" +msgstr "встановити обробники сигналів;" + +msgid "" +"Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :" +"data:`sys.path`);" +msgstr "" +"Завершити ініціалізацію модуля :mod:`sys` (наприклад, створити :data:`sys." +"stdout` і :data:`sys.path`);" + +msgid "" +"Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;" +msgstr "" +"Увімкнути додаткові функції, такі як :mod:`faulthandler` і :mod:" +"`tracemalloc`;" + +msgid "Import the :mod:`site` module;" +msgstr "Імпортуйте модуль :mod:`site`;" + +msgid "etc." +msgstr "тощо" + +msgid "Private provisional API:" +msgstr "Приватний тимчасовий API:" + +msgid "" +":c:member:`PyConfig._init_main`: if set to ``0``, :c:func:" +"`Py_InitializeFromConfig` stops at the \"Core\" initialization phase." +msgstr "" + +msgid "" +":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, " +"subprocesses and fork." +msgstr "" +":c:member:`PyConfig._isolated_interpreter`: якщо ненульове значення, " +"заборонити потоки, підпроцеси та розгалуження." + +msgid "" +"Move to the \"Main\" initialization phase, finish the Python initialization." +msgstr "" +"Перейдіть до фази ініціалізації \"Main\", завершіть ініціалізацію Python." + +msgid "" +"No module is imported during the \"Core\" phase and the ``importlib`` module " +"is not configured: the :ref:`Path Configuration ` is only " +"applied during the \"Main\" phase. It may allow to customize Python in " +"Python to override or tune the :ref:`Path Configuration `, " +"maybe install a custom :data:`sys.meta_path` importer or an import hook, etc." +msgstr "" +"Жоден модуль не імпортується під час фази \"Core\", а модуль ``importlib`` " +"не налаштовано: :ref:`Конфігурація шляху ` застосовується " +"лише під час фази \"Main\". Це може дозволити налаштувати Python у Python, " +"щоб перевизначити або налаштувати :ref:`Конфігурацію шляху `, можливо, встановити спеціальний імпортер :data:`sys.meta_path` або " +"хук імпорту тощо." + +msgid "" +"It may become possible to calculatin the :ref:`Path Configuration ` in Python, after the Core phase and before the Main phase, which is " +"one of the :pep:`432` motivation." +msgstr "" +"Можливо, стане можливим обчислити :ref:`Конфігурацію шляху ` в Python після основної фази та перед основною фазою, яка є однією " +"з мотивів :pep:`432`." + +msgid "" +"The \"Core\" phase is not properly defined: what should be and what should " +"not be available at this phase is not specified yet. The API is marked as " +"private and provisional: the API can be modified or even be removed anytime " +"until a proper public API is designed." +msgstr "" +"Фаза \"Core\" не визначена належним чином: що має бути, а що не має бути " +"доступним на цій фазі, ще не визначено. API позначено як приватний і " +"тимчасовий: API можна змінити або навіть видалити в будь-який час, доки не " +"буде розроблено відповідний публічний API." + +msgid "" +"Example running Python code between \"Core\" and \"Main\" initialization " +"phases::" +msgstr "" +"Приклад виконання коду Python між фазами ініціалізації \"Core\" і \"Main\"::" diff --git a/c-api/intro.po b/c-api/intro.po new file mode 100644 index 000000000..53dc45360 --- /dev/null +++ b/c-api/intro.po @@ -0,0 +1,1054 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +"The Application Programmer's Interface to Python gives C and C++ programmers " +"access to the Python interpreter at a variety of levels. The API is equally " +"usable from C++, but for brevity it is generally referred to as the Python/C " +"API. There are two fundamentally different reasons for using the Python/C " +"API. The first reason is to write *extension modules* for specific purposes; " +"these are C modules that extend the Python interpreter. This is probably " +"the most common use. The second reason is to use Python as a component in a " +"larger application; this technique is generally referred to as :dfn:" +"`embedding` Python in an application." +msgstr "" +"Інтерфейс прикладного програміста для Python надає програмістам C і C++ " +"доступ до інтерпретатора Python на різних рівнях. API так само можна " +"використовувати з C++, але для стислості його зазвичай називають Python/C " +"API. Є дві принципово різні причини використання Python/C API. Перша причина " +"полягає в написанні *модулів розширення* для певних цілей; це модулі C, які " +"розширюють інтерпретатор Python. Мабуть, це найпоширеніше використання. " +"Друга причина полягає в тому, щоб використовувати Python як компонент у " +"більшій програмі; цей прийом зазвичай називають :dfn:`embedding` Python у " +"програму." + +msgid "" +"Writing an extension module is a relatively well-understood process, where a " +"\"cookbook\" approach works well. There are several tools that automate the " +"process to some extent. While people have embedded Python in other " +"applications since its early existence, the process of embedding Python is " +"less straightforward than writing an extension." +msgstr "" +"Написання модуля розширення є відносно добре зрозумілим процесом, де добре " +"працює підхід \"кулінарної книги\". Є кілька інструментів, які певною мірою " +"автоматизують процес. Хоча люди вбудовували Python в інші програми з самого " +"початку його існування, процес вбудовування Python менш простий, ніж " +"написання розширення." + +msgid "" +"Many API functions are useful independent of whether you're embedding or " +"extending Python; moreover, most applications that embed Python will need " +"to provide a custom extension as well, so it's probably a good idea to " +"become familiar with writing an extension before attempting to embed Python " +"in a real application." +msgstr "" +"Багато функцій API корисні незалежно від того, чи ви вбудовуєте чи " +"розширюєте Python; крім того, більшість програм, які вбудовують Python, " +"потребуватимуть також надати спеціальне розширення, тому, мабуть, доцільно " +"ознайомитися з написанням розширення перед тим, як намагатися вставити " +"Python у реальну програму." + +msgid "Coding standards" +msgstr "Стандарти кодування" + +msgid "" +"If you're writing C code for inclusion in CPython, you **must** follow the " +"guidelines and standards defined in :PEP:`7`. These guidelines apply " +"regardless of the version of Python you are contributing to. Following " +"these conventions is not necessary for your own third party extension " +"modules, unless you eventually expect to contribute them to Python." +msgstr "" +"Якщо ви пишете код C для включення в CPython, ви **повинні** дотримуватися " +"вказівок і стандартів, визначених у :PEP:`7`. Ці вказівки застосовуються " +"незалежно від версії Python, до якої ви робите внесок. Дотримання цих умов " +"не є обов’язковим для ваших власних модулів розширення сторонніх " +"розробників, якщо тільки ви не плануєте додати їх до Python." + +msgid "Include Files" +msgstr "Включати файли" + +msgid "" +"All function, type and macro definitions needed to use the Python/C API are " +"included in your code by the following line::" +msgstr "" +"Усі визначення функцій, типів і макросів, необхідні для використання API " +"Python/C, включено у ваш код у такий рядок::" + +msgid "" +"This implies inclusion of the following standard headers: ````, " +"````, ````, ````, ```` and ```` (if available)." +msgstr "" +"This implies inclusion of the following standard headers: ````, " +"````, ````, ````, ```` and ```` (if available)." + +msgid "" +"Since Python may define some pre-processor definitions which affect the " +"standard headers on some systems, you *must* include :file:`Python.h` before " +"any standard headers are included." +msgstr "" +"Оскільки Python може визначати деякі визначення попереднього процесора, які " +"впливають на стандартні заголовки в деяких системах, ви *мусите* включити :" +"file:`Python.h` перед тим, як включити будь-які стандартні заголовки." + +msgid "" +"It is recommended to always define ``PY_SSIZE_T_CLEAN`` before including " +"``Python.h``. See :ref:`arg-parsing` for a description of this macro." +msgstr "" +"Рекомендується завжди визначати ``PY_SSIZE_T_CLEAN`` перед включенням " +"``Python.h``. Перегляньте :ref:`arg-parsing` для опису цього макросу." + +msgid "" +"All user visible names defined by Python.h (except those defined by the " +"included standard headers) have one of the prefixes ``Py`` or ``_Py``. " +"Names beginning with ``_Py`` are for internal use by the Python " +"implementation and should not be used by extension writers. Structure member " +"names do not have a reserved prefix." +msgstr "" +"Усі видимі для користувача імена, визначені Python.h (крім тих, що визначені " +"включеними стандартними заголовками), мають один із префіксів ``Py`` або " +"``_Py``. Імена, що починаються з ``_Py`` призначені для внутрішнього " +"використання реалізацією Python і не повинні використовуватися розробниками " +"розширень. Імена членів структури не мають зарезервованого префікса." + +msgid "" +"User code should never define names that begin with ``Py`` or ``_Py``. This " +"confuses the reader, and jeopardizes the portability of the user code to " +"future Python versions, which may define additional names beginning with one " +"of these prefixes." +msgstr "" +"Код користувача ніколи не повинен визначати імена, які починаються з ``Py`` " +"або ``_Py``. Це заплутує читача та ставить під загрозу перенесення коду " +"користувача на майбутні версії Python, які можуть визначати додаткові імена, " +"що починаються з одного з цих префіксів." + +msgid "" +"The header files are typically installed with Python. On Unix, these are " +"located in the directories :file:`{prefix}/include/pythonversion/` and :file:" +"`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and :envvar:" +"`exec_prefix` are defined by the corresponding parameters to Python's :" +"program:`configure` script and *version* is ``'%d.%d' % sys." +"version_info[:2]``. On Windows, the headers are installed in :file:" +"`{prefix}/include`, where :envvar:`prefix` is the installation directory " +"specified to the installer." +msgstr "" +"Файли заголовків зазвичай встановлюються за допомогою Python. В Unix вони " +"розташовані в каталогах :file:`{prefix}/include/pythonversion/` і :file:" +"`{exec_prefix}/include/pythonversion/`, де :envvar:`prefix` і :envvar:" +"`exec_prefix` визначаються відповідними параметрами сценарію :program:" +"`configure` Python, а *версією* є ``'%d.%d' % sys.version_info[:2]``. У " +"Windows заголовки встановлюються в :file:`{prefix}/include`, де :envvar:" +"`prefix` — це каталог встановлення, указаний інсталятором." + +msgid "" +"To include the headers, place both directories (if different) on your " +"compiler's search path for includes. Do *not* place the parent directories " +"on the search path and then use ``#include ``; this will " +"break on multi-platform builds since the platform independent headers under :" +"envvar:`prefix` include the platform specific headers from :envvar:" +"`exec_prefix`." +msgstr "" +"Щоб включити заголовки, розмістіть обидва каталоги (якщо різні) на шляху " +"пошуку вашого компілятора для включення. *Не* розміщуйте батьківські " +"каталоги на шляху пошуку, а потім використовуйте ``#include ``; це порушиться на мультиплатформенних збірках, оскільки " +"незалежні від платформи заголовки в :envvar:`prefix` включають специфічні " +"заголовки платформи з :envvar:`exec_prefix`." + +msgid "" +"C++ users should note that although the API is defined entirely using C, the " +"header files properly declare the entry points to be ``extern \"C\"``. As a " +"result, there is no need to do anything special to use the API from C++." +msgstr "" +"Користувачі C++ повинні мати на увазі, що хоча API повністю визначено за " +"допомогою C, файли заголовків належним чином оголошують точки входу як " +"``extern \"C\"``. Як наслідок, немає потреби робити щось особливе для " +"використання API із C++." + +msgid "Useful macros" +msgstr "Корисні макроси" + +msgid "" +"Several useful macros are defined in the Python header files. Many are " +"defined closer to where they are useful (e.g. :c:macro:`Py_RETURN_NONE`). " +"Others of a more general utility are defined here. This is not necessarily " +"a complete listing." +msgstr "" +"У файлах заголовків Python визначено кілька корисних макросів. Багато " +"визначено ближче до того, де вони корисні (наприклад, :c:macro:" +"`Py_RETURN_NONE`). Тут визначено інші більш загальні корисності. Це не " +"обов’язково повний список." + +msgid "Return the absolute value of ``x``." +msgstr "Повертає абсолютне значення ``x``." + +msgid "" +"Ask the compiler to always inline a static inline function. The compiler can " +"ignore it and decides to not inline the function." +msgstr "" + +msgid "" +"It can be used to inline performance critical static inline functions when " +"building Python in debug mode with function inlining disabled. For example, " +"MSC disables function inlining when building in debug mode." +msgstr "" + +msgid "" +"Marking blindly a static inline function with Py_ALWAYS_INLINE can result in " +"worse performances (due to increased code size for example). The compiler is " +"usually smarter than the developer for the cost/benefit analysis." +msgstr "" + +msgid "" +"If Python is :ref:`built in debug mode ` (if the ``Py_DEBUG`` " +"macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro does nothing." +msgstr "" + +msgid "It must be specified before the function return type. Usage::" +msgstr "" + +msgid "" +"Argument must be a character or an integer in the range [-128, 127] or [0, " +"255]. This macro returns ``c`` cast to an ``unsigned char``." +msgstr "" +"Аргумент має бути символом або цілим числом у діапазоні [-128, 127] або [0, " +"255]. Цей макрос повертає ``c``, приведений до ``unsigned char``." + +msgid "" +"Use this for deprecated declarations. The macro must be placed before the " +"symbol name." +msgstr "" +"Використовуйте це для застарілих декларацій. Макрос необхідно розмістити " +"перед назвою символу." + +msgid "Example::" +msgstr "Приклад::" + +msgid "MSVC support was added." +msgstr "Додано підтримку MSVC." + +msgid "" +"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the " +"command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)." +msgstr "" +"Подібно до ``getenv(s)``, але повертає ``NULL``, якщо :option:`-E` було " +"передано в командному рядку (тобто якщо ``Py_IgnoreEnvironmentFlag`` " +"встановлено)." + +msgid "Return the maximum value between ``x`` and ``y``." +msgstr "Повертає максимальне значення між ``x`` і ``y``." + +msgid "Return the size of a structure (``type``) ``member`` in bytes." +msgstr "Повертає розмір члена структури (``type``) у байтах." + +msgid "Return the minimum value between ``x`` and ``y``." +msgstr "Повертає мінімальне значення між ``x`` і ``y``." + +msgid "" +"Disable inlining on a function. For example, it reduces the C stack " +"consumption: useful on LTO+PGO builds which heavily inline code (see :issue:" +"`33720`)." +msgstr "" + +msgid "Usage::" +msgstr "Використання::" + +msgid "" +"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``." +msgstr "" +"Перетворіть ``x`` на рядок C. наприклад ``Py_STRINGIFY(123)`` повертає ``" +"\"123\"``." + +msgid "" +"Use this when you have a code path that cannot be reached by design. For " +"example, in the ``default:`` clause in a ``switch`` statement for which all " +"possible values are covered in ``case`` statements. Use this in places " +"where you might be tempted to put an ``assert(0)`` or ``abort()`` call." +msgstr "" +"Використовуйте це, якщо у вас є шлях коду, який неможливий за проектом. " +"Наприклад, у реченні ``default:`` в операторі ``switch``, для якого всі " +"можливі значення охоплюються в операторах ``case``. Використовуйте це в " +"місцях, де у вас може виникнути спокуса викликати ``assert(0)`` або " +"``abort()``." + +msgid "" +"In release mode, the macro helps the compiler to optimize the code, and " +"avoids a warning about unreachable code. For example, the macro is " +"implemented with ``__builtin_unreachable()`` on GCC in release mode." +msgstr "" +"У режимі випуску макрос допомагає компілятору оптимізувати код і уникає " +"попередження про недоступність коду. Наприклад, макрос реалізовано за " +"допомогою ``__builtin_unreachable()`` на GCC у режимі випуску." + +msgid "" +"A use for ``Py_UNREACHABLE()`` is following a call a function that never " +"returns but that is not declared :c:macro:`_Py_NO_RETURN`." +msgstr "" +"Використання ``Py_UNREACHABLE()`` — це виклик функції, яка ніколи не " +"повертається, але не оголошена :c:macro:`_Py_NO_RETURN`." + +msgid "" +"If a code path is very unlikely code but can be reached under exceptional " +"case, this macro must not be used. For example, under low memory condition " +"or if a system call returns a value out of the expected range. In this " +"case, it's better to report the error to the caller. If the error cannot be " +"reported to caller, :c:func:`Py_FatalError` can be used." +msgstr "" +"Якщо кодовий шлях є дуже малоймовірним кодом, але його можна досягти у " +"виняткових випадках, цей макрос не можна використовувати. Наприклад, у разі " +"недостатнього обсягу пам’яті або якщо системний виклик повертає значення за " +"межами очікуваного діапазону. У цьому випадку краще повідомити про помилку " +"абонента. Якщо про помилку неможливо повідомити абоненту, можна використати :" +"c:func:`Py_FatalError`." + +msgid "" +"Use this for unused arguments in a function definition to silence compiler " +"warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``." +msgstr "" +"Використовуйте це для невикористаних аргументів у визначенні функції, щоб " +"заглушити попередження компілятора. Приклад: ``int func(int a, int " +"Py_UNUSED(b)) { return a; }``." + +msgid "" +"Creates a variable with name ``name`` that can be used in docstrings. If " +"Python is built without docstrings, the value will be empty." +msgstr "" +"Створює змінну з назвою ``name``, яку можна використовувати в рядках " +"документів. Якщо Python створено без рядків документації, значення буде " +"порожнім." + +msgid "" +"Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python " +"without docstrings, as specified in :pep:`7`." +msgstr "" +"Використовуйте :c:macro:`PyDoc_STRVAR` для рядків документів, щоб " +"підтримувати створення Python без рядків документів, як зазначено в :pep:`7`." + +msgid "" +"Creates a docstring for the given input string or an empty string if " +"docstrings are disabled." +msgstr "" +"Створює рядок документації для заданого рядка введення або порожній рядок, " +"якщо рядки документації вимкнено." + +msgid "" +"Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python " +"without docstrings, as specified in :pep:`7`." +msgstr "" +"Використовуйте :c:macro:`PyDoc_STR` у визначенні рядків документів, щоб " +"підтримувати створення Python без рядків документів, як зазначено в :pep:`7`." + +msgid "Objects, Types and Reference Counts" +msgstr "Об’єкти, типи та кількість посилань" + +msgid "" +"Most Python/C API functions have one or more arguments as well as a return " +"value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data " +"type representing an arbitrary Python object. Since all Python object types " +"are treated the same way by the Python language in most situations (e.g., " +"assignments, scope rules, and argument passing), it is only fitting that " +"they should be represented by a single C type. Almost all Python objects " +"live on the heap: you never declare an automatic or static variable of type :" +"c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` can " +"be declared. The sole exception are the type objects; since these must " +"never be deallocated, they are typically static :c:type:`PyTypeObject` " +"objects." +msgstr "" + +msgid "" +"All Python objects (even Python integers) have a :dfn:`type` and a :dfn:" +"`reference count`. An object's type determines what kind of object it is (e." +"g., an integer, a list, or a user-defined function; there are many more as " +"explained in :ref:`types`). For each of the well-known types there is a " +"macro to check whether an object is of that type; for instance, " +"``PyList_Check(a)`` is true if (and only if) the object pointed to by *a* is " +"a Python list." +msgstr "" +"Усі об’єкти Python (навіть цілі числа Python) мають :dfn:`type` і :dfn:" +"`reference counting`. Тип об’єкта визначає тип об’єкта (наприклад, ціле " +"число, список або визначена користувачем функція; їх багато інших, як " +"пояснюється в :ref:`types`). Для кожного з добре відомих типів існує макрос, " +"щоб перевірити, чи належить об’єкт до цього типу; наприклад, " +"``PyList_Check(a)`` є істинним, якщо (і тільки якщо) об’єкт, на який вказує " +"*a*, є списком Python." + +msgid "Reference Counts" +msgstr "Довідкова кількість" + +msgid "" +"The reference count is important because today's computers have a finite " +"(and often severely limited) memory size; it counts how many different " +"places there are that have a reference to an object. Such a place could be " +"another object, or a global (or static) C variable, or a local variable in " +"some C function. When an object's reference count becomes zero, the object " +"is deallocated. If it contains references to other objects, their " +"reference count is decremented. Those other objects may be deallocated in " +"turn, if this decrement makes their reference count become zero, and so on. " +"(There's an obvious problem with objects that reference each other here; " +"for now, the solution is \"don't do that.\")" +msgstr "" +"Кількість посилань є важливою, оскільки сучасні комп’ютери мають кінцевий (і " +"часто дуже обмежений) розмір пам’яті; він підраховує, скільки існує різних " +"місць, які мають посилання на об’єкт. Таким місцем може бути інший об’єкт, " +"або глобальна (або статична) змінна C, або локальна змінна в деякій функції " +"C. Коли кількість посилань об’єкта стає нульовою, об’єкт звільняється. Якщо " +"він містить посилання на інші об’єкти, їх кількість посилань зменшується. Ці " +"інші об’єкти можуть бути звільнені по черзі, якщо це зменшення призведе до " +"того, що їх число посилань стане нульовим і так далі. (Тут є очевидна " +"проблема з об’єктами, які посилаються один на одного; поки що рішенням є " +"\"не робіть цього\".)" + +msgid "" +"Reference counts are always manipulated explicitly. The normal way is to " +"use the macro :c:func:`Py_INCREF` to increment an object's reference count " +"by one, and :c:func:`Py_DECREF` to decrement it by one. The :c:func:" +"`Py_DECREF` macro is considerably more complex than the incref one, since it " +"must check whether the reference count becomes zero and then cause the " +"object's deallocator to be called. The deallocator is a function pointer " +"contained in the object's type structure. The type-specific deallocator " +"takes care of decrementing the reference counts for other objects contained " +"in the object if this is a compound object type, such as a list, as well as " +"performing any additional finalization that's needed. There's no chance " +"that the reference count can overflow; at least as many bits are used to " +"hold the reference count as there are distinct memory locations in virtual " +"memory (assuming ``sizeof(Py_ssize_t) >= sizeof(void*)``). Thus, the " +"reference count increment is a simple operation." +msgstr "" +"Кількість посилань завжди маніпулюється явно. Звичайним способом є " +"використання макросу :c:func:`Py_INCREF`, щоб збільшити кількість посилань " +"на об’єкт на одиницю, і :c:func:`Py_DECREF`, щоб зменшити його на одиницю. " +"Макрос :c:func:`Py_DECREF` є значно складнішим, ніж макрос incref, оскільки " +"він має перевіряти, чи кількість посилань стає нульовою, а потім викликає " +"виклик засобу звільнення об’єкта. Deallocator — це покажчик на функцію, що " +"міститься в структурі типу об’єкта. Спеціальний для типу делокатор " +"піклується про зменшення лічильників посилань для інших об’єктів, що " +"містяться в об’єкті, якщо це складений тип об’єкта, наприклад список, а " +"також виконує будь-яку додаткову фіналізацію, яка потрібна. Немає шансів, що " +"кількість посилань може переповнитися; для підрахунку посилань " +"використовується принаймні стільки бітів, скільки є окремих ділянок пам’яті " +"у віртуальній пам’яті (за умови, що ``sizeof(Py_ssize_t) >= " +"sizeof(void*)``). Таким чином, збільшення кількості посилань є простою " +"операцією." + +msgid "" +"It is not necessary to increment an object's reference count for every " +"local variable that contains a pointer to an object. In theory, the " +"object's reference count goes up by one when the variable is made to point " +"to it and it goes down by one when the variable goes out of scope. " +"However, these two cancel each other out, so at the end the reference count " +"hasn't changed. The only real reason to use the reference count is to " +"prevent the object from being deallocated as long as our variable is " +"pointing to it. If we know that there is at least one other reference to " +"the object that lives at least as long as our variable, there is no need to " +"increment the reference count temporarily. An important situation where " +"this arises is in objects that are passed as arguments to C functions in an " +"extension module that are called from Python; the call mechanism guarantees " +"to hold a reference to every argument for the duration of the call." +msgstr "" +"Немає необхідності збільшувати кількість посилань на об’єкт для кожної " +"локальної змінної, яка містить покажчик на об’єкт. Теоретично кількість " +"посилань на об’єкт збільшується на одиницю, коли змінна вказує на нього, і " +"зменшується на одиницю, коли змінна виходить за межі видимості. Однак ці два " +"скасовують один одного, тому в кінці кількість посилань не змінилася. Єдина " +"реальна причина використовувати підрахунок посилань — це запобігти " +"звільненню об’єкта, доки наша змінна вказує на нього. Якщо ми знаємо, що " +"існує принаймні ще одне посилання на об’єкт, яке живе принаймні стільки ж, " +"скільки наша змінна, немає потреби тимчасово збільшувати кількість посилань. " +"Важливою ситуацією, в якій це виникає, є об’єкти, які передаються як " +"аргументи функціям C у модулі розширення, які викликаються з Python; " +"механізм виклику гарантує збереження посилання на кожен аргумент протягом " +"тривалості виклику." + +msgid "" +"However, a common pitfall is to extract an object from a list and hold on to " +"it for a while without incrementing its reference count. Some other " +"operation might conceivably remove the object from the list, decrementing " +"its reference count and possibly deallocating it. The real danger is that " +"innocent-looking operations may invoke arbitrary Python code which could do " +"this; there is a code path which allows control to flow back to the user " +"from a :c:func:`Py_DECREF`, so almost any operation is potentially dangerous." +msgstr "" +"Однак поширеною підводним каменем є вилучення об’єкта зі списку та утримання " +"його деякий час, не збільшуючи його кількість посилань. Якась інша операція " +"може ймовірно видалити об’єкт зі списку, зменшивши кількість його посилань " +"і, можливо, звільнивши його розміщення. Реальна небезпека полягає в тому, що " +"невинні на вигляд операції можуть викликати довільний код Python, який міг " +"би це зробити; існує шлях до коду, який дозволяє повертати користувачеві " +"керування з :c:func:`Py_DECREF`, тому майже будь-яка операція є потенційно " +"небезпечною." + +msgid "" +"A safe approach is to always use the generic operations (functions whose " +"name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or " +"``PyMapping_``). These operations always increment the reference count of " +"the object they return. This leaves the caller with the responsibility to " +"call :c:func:`Py_DECREF` when they are done with the result; this soon " +"becomes second nature." +msgstr "" +"Безпечним підходом є завжди використовувати загальні операції (функції, " +"назва яких починається з ``PyObject_``, ``PyNumber_``, ``PySequence_`` або " +"``PyMapping_``). Ці операції завжди збільшують кількість посилань на об’єкт, " +"який вони повертають. Це залишає абонента відповідальним за виклик :c:func:" +"`Py_DECREF`, коли вони закінчили з результатом; незабаром це стає другою " +"натурою." + +msgid "Reference Count Details" +msgstr "Деталі кількості посилань" + +msgid "" +"The reference count behavior of functions in the Python/C API is best " +"explained in terms of *ownership of references*. Ownership pertains to " +"references, never to objects (objects are not owned: they are always " +"shared). \"Owning a reference\" means being responsible for calling " +"Py_DECREF on it when the reference is no longer needed. Ownership can also " +"be transferred, meaning that the code that receives ownership of the " +"reference then becomes responsible for eventually decref'ing it by calling :" +"c:func:`Py_DECREF` or :c:func:`Py_XDECREF` when it's no longer needed---or " +"passing on this responsibility (usually to its caller). When a function " +"passes ownership of a reference on to its caller, the caller is said to " +"receive a *new* reference. When no ownership is transferred, the caller is " +"said to *borrow* the reference. Nothing needs to be done for a :term:" +"`borrowed reference`." +msgstr "" +"Поведінку підрахунку посилань функцій у Python/C API найкраще пояснити з " +"точки зору *володіння посиланнями*. Право власності стосується посилань, а " +"не об’єктів (об’єкти не належать: вони завжди є спільними). \"Володіння " +"посиланням\" означає відповідальність за виклик Py_DECREF на ньому, коли " +"посилання більше не потрібне. Право власності також може бути передане, " +"тобто код, який отримує право власності на посилання, стає відповідальним за " +"остаточне його дешифрування шляхом виклику :c:func:`Py_DECREF` або :c:func:" +"`Py_XDECREF`, коли він більше не потрібен - --або передача цієї " +"відповідальності (зазвичай абоненту). Коли функція передає право власності " +"на посилання її викликаючому, той, хто викликає, отримує *нове* посилання. " +"Якщо право власності не передається, кажуть, що абонент *позичив* посилання. " +"Нічого не потрібно робити для :term:`borrowed reference`." + +msgid "" +"Conversely, when a calling function passes in a reference to an object, " +"there are two possibilities: the function *steals* a reference to the " +"object, or it does not. *Stealing a reference* means that when you pass a " +"reference to a function, that function assumes that it now owns that " +"reference, and you are not responsible for it any longer." +msgstr "" +"І навпаки, коли функція, що викликає, передає посилання на об’єкт, є дві " +"можливості: функція *вкрадає* посилання на об’єкт або ні. *Крадіжка " +"посилання* означає, що коли ви передаєте посилання на функцію, ця функція " +"припускає, що вона тепер володіє цим посиланням, і ви більше не несете за це " +"відповідальності." + +msgid "" +"Few functions steal references; the two notable exceptions are :c:func:" +"`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to " +"the item (but not to the tuple or list into which the item is put!). These " +"functions were designed to steal a reference because of a common idiom for " +"populating a tuple or list with newly created objects; for example, the code " +"to create the tuple ``(1, 2, \"three\")`` could look like this (forgetting " +"about error handling for the moment; a better way to code this is shown " +"below)::" +msgstr "" +"Кілька функцій викрадають посилання; двома помітними винятками є :c:func:" +"`PyList_SetItem` і :c:func:`PyTuple_SetItem`, які викрадають посилання на " +"елемент (але не на кортеж або список, до якого поміщено елемент!). Ці " +"функції були розроблені для викрадення посилання через загальну ідіому для " +"заповнення кортежу або списку новоствореними об’єктами; наприклад, код для " +"створення кортежу ``(1, 2, \"three\")`` може виглядати так (наразі забувши " +"про обробку помилок; кращий спосіб кодування цього показано нижче):" + +msgid "" +"Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately " +"stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object " +"although the reference to it will be stolen, use :c:func:`Py_INCREF` to grab " +"another reference before calling the reference-stealing function." +msgstr "" +"Тут :c:func:`PyLong_FromLong` повертає нове посилання, яке негайно викрадає :" +"c:func:`PyTuple_SetItem`. Якщо ви хочете продовжувати використовувати " +"об’єкт, хоча посилання на нього буде вкрадено, використовуйте :c:func:" +"`Py_INCREF`, щоб захопити інше посилання перед викликом функції викрадання " +"посилань." + +msgid "" +"Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple " +"items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to " +"do this since tuples are an immutable data type. You should only use :c:" +"func:`PyTuple_SetItem` for tuples that you are creating yourself." +msgstr "" +"До речі, :c:func:`PyTuple_SetItem` є *єдиним* способом встановлення " +"елементів кортежу; :c:func:`PySequence_SetItem` і :c:func:`PyObject_SetItem` " +"відмовляються робити це, оскільки кортежі є незмінним типом даних. Ви " +"повинні використовувати лише :c:func:`PyTuple_SetItem` для кортежів, які ви " +"створюєте самостійно." + +msgid "" +"Equivalent code for populating a list can be written using :c:func:" +"`PyList_New` and :c:func:`PyList_SetItem`." +msgstr "" +"Еквівалентний код для заповнення списку можна написати за допомогою :c:func:" +"`PyList_New` і :c:func:`PyList_SetItem`." + +msgid "" +"However, in practice, you will rarely use these ways of creating and " +"populating a tuple or list. There's a generic function, :c:func:" +"`Py_BuildValue`, that can create most common objects from C values, directed " +"by a :dfn:`format string`. For example, the above two blocks of code could " +"be replaced by the following (which also takes care of the error checking)::" +msgstr "" +"Однак на практиці ви рідко будете використовувати ці способи створення та " +"заповнення кортежу чи списку. Існує загальна функція, :c:func:" +"`Py_BuildValue`, яка може створювати найбільш поширені об’єкти зі значень C, " +"керованих :dfn:`format string`. Наприклад, наведені вище два блоки коду " +"можна замінити наступним (який також піклується про перевірку помилок):" + +msgid "" +"It is much more common to use :c:func:`PyObject_SetItem` and friends with " +"items whose references you are only borrowing, like arguments that were " +"passed in to the function you are writing. In that case, their behaviour " +"regarding reference counts is much saner, since you don't have to increment " +"a reference count so you can give a reference away (\"have it be stolen\"). " +"For example, this function sets all items of a list (actually, any mutable " +"sequence) to a given item::" +msgstr "" +"Набагато поширеніше використовувати :c:func:`PyObject_SetItem` і друзів з " +"елементами, посилання на які ви лише запозичуєте, наприклад аргументи, які " +"були передані функції, яку ви пишете. У такому випадку їхня поведінка щодо " +"кількості посилань є набагато розумнішою, оскільки вам не потрібно " +"збільшувати кількість посилань, щоб ви могли віддати посилання (\"нехай його " +"вкрадуть\"). Наприклад, ця функція встановлює всі елементи списку (фактично, " +"будь-яку змінну послідовність) у заданий елемент::" + +msgid "" +"The situation is slightly different for function return values. While " +"passing a reference to most functions does not change your ownership " +"responsibilities for that reference, many functions that return a reference " +"to an object give you ownership of the reference. The reason is simple: in " +"many cases, the returned object is created on the fly, and the reference " +"you get is the only reference to the object. Therefore, the generic " +"functions that return object references, like :c:func:`PyObject_GetItem` " +"and :c:func:`PySequence_GetItem`, always return a new reference (the caller " +"becomes the owner of the reference)." +msgstr "" +"Ситуація дещо інша для значень, що повертаються функцією. Хоча передача " +"посилання на більшість функцій не змінює вашу відповідальність за це " +"посилання, багато функцій, які повертають посилання на об’єкт, передають вам " +"право власності на посилання. Причина проста: у багатьох випадках повернутий " +"об’єкт створюється на льоту, і отримане вами посилання є єдиним посиланням " +"на об’єкт. Тому загальні функції, які повертають посилання на об’єкти, як-" +"от :c:func:`PyObject_GetItem` і :c:func:`PySequence_GetItem`, завжди " +"повертають нове посилання (викликач стає власником посилання)." + +msgid "" +"It is important to realize that whether you own a reference returned by a " +"function depends on which function you call only --- *the plumage* (the type " +"of the object passed as an argument to the function) *doesn't enter into it!" +"* Thus, if you extract an item from a list using :c:func:`PyList_GetItem`, " +"you don't own the reference --- but if you obtain the same item from the " +"same list using :c:func:`PySequence_GetItem` (which happens to take exactly " +"the same arguments), you do own a reference to the returned object." +msgstr "" +"Важливо розуміти, що чи володієте ви посиланням, яке повертає функція, " +"залежить лише від того, яку функцію ви викликаєте --- *оперення* (тип " +"об’єкта, переданого як аргумент функції) *не входить до нього !* Таким " +"чином, якщо ви витягуєте елемент зі списку за допомогою :c:func:" +"`PyList_GetItem`, ви не володієте посиланням --- але якщо ви отримуєте той " +"самий елемент із того самого списку за допомогою :c:func:" +"`PySequence_GetItem` (який приймає точно ті самі аргументи), у вас є " +"посилання на повернутий об’єкт." + +msgid "" +"Here is an example of how you could write a function that computes the sum " +"of the items in a list of integers; once using :c:func:`PyList_GetItem`, " +"and once using :c:func:`PySequence_GetItem`. ::" +msgstr "" +"Ось приклад того, як можна написати функцію, яка обчислює суму елементів у " +"списку цілих чисел; один раз за допомогою :c:func:`PyList_GetItem` і один " +"раз за допомогою :c:func:`PySequence_GetItem`. ::" + +msgid "Types" +msgstr "Типи" + +msgid "" +"There are few other data types that play a significant role in the Python/C " +"API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, :c:expr:" +"`double` and :c:expr:`char*`. A few structure types are used to describe " +"static tables used to list the functions exported by a module or the data " +"attributes of a new object type, and another is used to describe the value " +"of a complex number. These will be discussed together with the functions " +"that use them." +msgstr "" + +msgid "" +"A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. " +"C99 doesn't define such a thing directly (size_t is an unsigned integral " +"type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest " +"positive value of type :c:type:`Py_ssize_t`." +msgstr "" +"Інтегральний тип зі знаком, такий що ``sizeof(Py_ssize_t) == " +"sizeof(size_t)``. C99 не визначає таку річ безпосередньо (size_t є " +"беззнаковим інтегральним типом). Подробиці див. :pep:`353`. " +"``PY_SSIZE_T_MAX`` є найбільшим додатним значенням типу :c:type:`Py_ssize_t`." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"The Python programmer only needs to deal with exceptions if specific error " +"handling is required; unhandled exceptions are automatically propagated to " +"the caller, then to the caller's caller, and so on, until they reach the top-" +"level interpreter, where they are reported to the user accompanied by a " +"stack traceback." +msgstr "" +"Програміст на Python має мати справу лише з винятками, якщо потрібна " +"спеціальна обробка помилок; необроблені винятки автоматично поширюються до " +"абонента, потім до абонента, що викликає, і так далі, доки вони не досягнуть " +"інтерпретатора верхнього рівня, де про них повідомляється користувачеві в " +"супроводі стека." + +msgid "" +"For C programmers, however, error checking always has to be explicit. All " +"functions in the Python/C API can raise exceptions, unless an explicit claim " +"is made otherwise in a function's documentation. In general, when a " +"function encounters an error, it sets an exception, discards any object " +"references that it owns, and returns an error indicator. If not documented " +"otherwise, this indicator is either ``NULL`` or ``-1``, depending on the " +"function's return type. A few functions return a Boolean true/false result, " +"with false indicating an error. Very few functions return no explicit error " +"indicator or have an ambiguous return value, and require explicit testing " +"for errors with :c:func:`PyErr_Occurred`. These exceptions are always " +"explicitly documented." +msgstr "" +"Однак для програмістів на C перевірка помилок завжди має бути явною. Усі " +"функції в Python/C API можуть викликати винятки, якщо в документації до " +"функції не вказано інше. Загалом, коли функція стикається з помилкою, вона " +"встановлює виняток, відкидає будь-які посилання на об’єкти, якими вона " +"володіє, і повертає індикатор помилки. Якщо не задокументовано інше, цей " +"індикатор має значення ``NULL`` або ``-1``, залежно від типу повернення " +"функції. Кілька функцій повертають логічний результат true/false, де false " +"вказує на помилку. Дуже небагато функцій не повертають явного індикатора " +"помилки або мають неоднозначне значення, що повертається, і вимагають явного " +"тестування помилок за допомогою :c:func:`PyErr_Occurred`. Ці винятки завжди " +"чітко задокументовані." + +msgid "" +"Exception state is maintained in per-thread storage (this is equivalent to " +"using global storage in an unthreaded application). A thread can be in one " +"of two states: an exception has occurred, or not. The function :c:func:" +"`PyErr_Occurred` can be used to check for this: it returns a borrowed " +"reference to the exception type object when an exception has occurred, and " +"``NULL`` otherwise. There are a number of functions to set the exception " +"state: :c:func:`PyErr_SetString` is the most common (though not the most " +"general) function to set the exception state, and :c:func:`PyErr_Clear` " +"clears the exception state." +msgstr "" +"Винятковий стан підтримується в потоковому сховищі (це еквівалентно " +"використанню глобального сховища в непотоковій програмі). Потік може " +"перебувати в одному з двох станів: сталася виняток чи ні. Для перевірки " +"цього можна використати функцію :c:func:`PyErr_Occurred`: вона повертає " +"запозичене посилання на об’єкт типу винятку, коли виняток стався, і ``NULL`` " +"в іншому випадку. Існує кілька функцій для встановлення виняткового стану: :" +"c:func:`PyErr_SetString` є найпоширенішою (хоча і не найзагальнішою) " +"функцією для встановлення виняткового стану, а :c:func:`PyErr_Clear` очищає " +"виняток стан." + +msgid "" +"The full exception state consists of three objects (all of which can be " +"``NULL``): the exception type, the corresponding exception value, and the " +"traceback. These have the same meanings as the Python result of ``sys." +"exc_info()``; however, they are not the same: the Python objects represent " +"the last exception being handled by a Python :keyword:`try` ... :keyword:" +"`except` statement, while the C level exception state only exists while an " +"exception is being passed on between C functions until it reaches the Python " +"bytecode interpreter's main loop, which takes care of transferring it to " +"``sys.exc_info()`` and friends." +msgstr "" +"Повний винятковий стан складається з трьох об’єктів (усі з яких можуть бути " +"``NULL``): типу винятку, відповідного значення винятку та зворотного " +"відстеження. Вони мають ті самі значення, що й результат Python для ``sys." +"exc_info()``; однак вони не однакові: об’єкти Python представляють останній " +"виняток, який обробляється оператором Python :keyword:`try` ... :keyword:" +"`except`, тоді як винятковий стан рівня C існує лише під час виключення " +"передається між функціями C, доки він не досягне головного циклу " +"інтерпретатора байт-коду Python, який піклується про його передачу до ``sys." +"exc_info()`` та друзів." + +msgid "" +"Note that starting with Python 1.5, the preferred, thread-safe way to access " +"the exception state from Python code is to call the function :func:`sys." +"exc_info`, which returns the per-thread exception state for Python code. " +"Also, the semantics of both ways to access the exception state have changed " +"so that a function which catches an exception will save and restore its " +"thread's exception state so as to preserve the exception state of its " +"caller. This prevents common bugs in exception handling code caused by an " +"innocent-looking function overwriting the exception being handled; it also " +"reduces the often unwanted lifetime extension for objects that are " +"referenced by the stack frames in the traceback." +msgstr "" +"Зауважте, що, починаючи з Python 1.5, бажаним, потоково-безпечним способом " +"доступу до виняткового стану з коду Python є виклик функції :func:`sys." +"exc_info`, яка повертає винятковий стан для кожного потоку для коду Python. " +"Крім того, семантика обох способів доступу до виняткового стану була змінена " +"таким чином, що функція, яка перехоплює виняток, збереже та відновить " +"винятковий стан свого потоку, щоб зберегти винятковий стан свого " +"викликаючого. Це запобігає поширеним помилкам у коді обробки виключень, " +"спричинених невинною функцією, яка перезаписує виняток, що обробляється; це " +"також зменшує часто небажане подовження тривалості життя для об’єктів, на " +"які посилаються фрейми стека в трасуванні." + +msgid "" +"As a general principle, a function that calls another function to perform " +"some task should check whether the called function raised an exception, and " +"if so, pass the exception state on to its caller. It should discard any " +"object references that it owns, and return an error indicator, but it " +"should *not* set another exception --- that would overwrite the exception " +"that was just raised, and lose important information about the exact cause " +"of the error." +msgstr "" +"Як загальний принцип, функція, яка викликає іншу функцію для виконання " +"певного завдання, повинна перевіряти, чи викликана функція викликала " +"виняток, і якщо так, передати стан винятку її викликаючому. Він має " +"відкидати будь-які посилання на об’єкти, якими він володіє, і повертати " +"індикатор помилки, але *не* встановлювати інший виняток --- який би " +"перезаписував щойно викликаний виняток і втрачав важливу інформацію про " +"точну причину помилки." + +msgid "" +"A simple example of detecting exceptions and passing them on is shown in " +"the :c:func:`sum_sequence` example above. It so happens that this example " +"doesn't need to clean up any owned references when it detects an error. The " +"following example function shows some error cleanup. First, to remind you " +"why you like Python, we show the equivalent Python code::" +msgstr "" +"Простий приклад виявлення винятків і їх передачі показано у прикладі :c:func:" +"`sum_sequence` вище. Так сталося, що цьому прикладу не потрібно очищати будь-" +"які належні посилання, коли він виявляє помилку. Наступний приклад функції " +"показує деяке очищення помилок. По-перше, щоб нагадати вам, чому вам " +"подобається Python, ми показуємо еквівалентний код Python:" + +msgid "Here is the corresponding C code, in all its glory::" +msgstr "Ось відповідний код C у всій його красі:" + +msgid "" +"This example represents an endorsed use of the ``goto`` statement in C! It " +"illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:" +"`PyErr_Clear` to handle specific exceptions, and the use of :c:func:" +"`Py_XDECREF` to dispose of owned references that may be ``NULL`` (note the " +"``'X'`` in the name; :c:func:`Py_DECREF` would crash when confronted with a " +"``NULL`` reference). It is important that the variables used to hold owned " +"references are initialized to ``NULL`` for this to work; likewise, the " +"proposed return value is initialized to ``-1`` (failure) and only set to " +"success after the final call made is successful." +msgstr "" +"Цей приклад представляє схвалене використання оператора ``goto`` у C! Він " +"ілюструє використання :c:func:`PyErr_ExceptionMatches` і :c:func:" +"`PyErr_Clear` для обробки конкретних винятків, а також використання :c:func:" +"`Py_XDECREF` для утилізації власних посилань, які можуть бути ``NULL`` " +"(зверніть увагу на ``'X'`` в назві; :c:func:`Py_DECREF` аварійно завершував " +"би роботу, якщо зіткнутися з посиланням ``NULL``). Щоб це працювало, " +"важливо, щоб змінні, які використовуються для зберігання належних посилань, " +"були ініціалізовані як ``NULL``; аналогічно запропоноване значення, що " +"повертається, ініціалізується як ``-1`` (помилка) і встановлюється як " +"успішне лише після успішного останнього виклику." + +msgid "Embedding Python" +msgstr "Вбудовування Python" + +msgid "" +"The one important task that only embedders (as opposed to extension writers) " +"of the Python interpreter have to worry about is the initialization, and " +"possibly the finalization, of the Python interpreter. Most functionality of " +"the interpreter can only be used after the interpreter has been initialized." +msgstr "" +"Єдине важливе завдання, про яке мають турбуватися лише вбудовувачі (на " +"відміну від авторів розширень) інтерпретатора Python, це ініціалізація та, " +"можливо, фіналізація інтерпретатора Python. Більшість функцій інтерпретатора " +"можна використовувати лише після ініціалізації інтерпретатора." + +msgid "" +"The basic initialization function is :c:func:`Py_Initialize`. This " +"initializes the table of loaded modules, and creates the fundamental " +"modules :mod:`builtins`, :mod:`__main__`, and :mod:`sys`. It also " +"initializes the module search path (``sys.path``)." +msgstr "" +"Основною функцією ініціалізації є :c:func:`Py_Initialize`. Це ініціалізує " +"таблицю завантажених модулів і створює фундаментальні модулі :mod:" +"`builtins`, :mod:`__main__` і :mod:`sys`. Він також ініціалізує шлях пошуку " +"модуля (``sys.path``)." + +msgid "" +":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys." +"argv``). If this variable is needed by Python code that will be executed " +"later, setting :c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` " +"must be set: see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"On most systems (in particular, on Unix and Windows, although the details " +"are slightly different), :c:func:`Py_Initialize` calculates the module " +"search path based upon its best guess for the location of the standard " +"Python interpreter executable, assuming that the Python library is found in " +"a fixed location relative to the Python interpreter executable. In " +"particular, it looks for a directory named :file:`lib/python{X.Y}` relative " +"to the parent directory where the executable named :file:`python` is found " +"on the shell command search path (the environment variable :envvar:`PATH`)." +msgstr "" +"У більшості систем (зокрема, в Unix і Windows, хоча деталі дещо " +"відрізняються), :c:func:`Py_Initialize` обчислює шлях пошуку модуля на " +"основі свого найкращого припущення щодо розташування стандартного " +"виконуваного файлу інтерпретатора Python, припускаючи, що бібліотека Python " +"знаходиться у фіксованому місці відносно виконуваного файлу інтерпретатора " +"Python. Зокрема, він шукає каталог під назвою :file:`lib/python{X.Y}` " +"відносно батьківського каталогу, де виконуваний файл під назвою :file:" +"`python` знайдено на шляху пошуку команд оболонки (змінна середовища :envvar:" +"`PATH`)." + +msgid "" +"For instance, if the Python executable is found in :file:`/usr/local/bin/" +"python`, it will assume that the libraries are in :file:`/usr/local/lib/" +"python{X.Y}`. (In fact, this particular path is also the \"fallback\" " +"location, used when no executable file named :file:`python` is found along :" +"envvar:`PATH`.) The user can override this behavior by setting the " +"environment variable :envvar:`PYTHONHOME`, or insert additional directories " +"in front of the standard path by setting :envvar:`PYTHONPATH`." +msgstr "" +"Наприклад, якщо виконуваний файл Python знайдено в :file:`/usr/local/bin/" +"python`, буде вважатися, що бібліотеки знаходяться в :file:`/usr/local/lib/" +"python{X.Y}`. (Насправді цей конкретний шлях також є \"резервним\" " +"розташуванням, яке використовується, коли вздовж :envvar:`PATH` не знайдено " +"виконуваного файлу з назвою :file:`python`.) Користувач може змінити цю " +"поведінку, встановивши змінну середовища :envvar:`PYTHONHOME`, або вставте " +"додаткові каталоги перед стандартним шляхом, встановивши :envvar:" +"`PYTHONPATH`." + +msgid "" +"The embedding application can steer the search by calling " +"``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note " +"that :envvar:`PYTHONHOME` still overrides this and :envvar:`PYTHONPATH` is " +"still inserted in front of the standard path. An application that requires " +"total control has to provide its own implementation of :c:func:" +"`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, and :c:" +"func:`Py_GetProgramFullPath` (all defined in :file:`Modules/getpath.c`)." +msgstr "" +"Програма для вбудовування може керувати пошуком, викликаючи " +"``Py_SetProgramName(file)`` *перед* викликом :c:func:`Py_Initialize`. " +"Зауважте, що :envvar:`PYTHONHOME` все ще перевизначає це, а :envvar:" +"`PYTHONPATH` все ще вставляється перед стандартним шляхом. Програма, яка " +"потребує повного контролю, має забезпечити власну реалізацію :c:func:" +"`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix` і :c:func:" +"`Py_GetProgramFullPath` ( все визначено в :file:`Modules/getpath.c`)." + +msgid "" +"Sometimes, it is desirable to \"uninitialize\" Python. For instance, the " +"application may want to start over (make another call to :c:func:" +"`Py_Initialize`) or the application is simply done with its use of Python " +"and wants to free memory allocated by Python. This can be accomplished by " +"calling :c:func:`Py_FinalizeEx`. The function :c:func:`Py_IsInitialized` " +"returns true if Python is currently in the initialized state. More " +"information about these functions is given in a later chapter. Notice that :" +"c:func:`Py_FinalizeEx` does *not* free all memory allocated by the Python " +"interpreter, e.g. memory allocated by extension modules currently cannot be " +"released." +msgstr "" +"Іноді бажано \"деініціалізувати\" Python. Наприклад, програма може захотіти " +"почати спочатку (здійснити ще один виклик :c:func:`Py_Initialize`) або " +"програма просто завершила роботу з Python і хоче звільнити пам’ять, виділену " +"Python. Це можна зробити, викликавши :c:func:`Py_FinalizeEx`. Функція :c:" +"func:`Py_IsInitialized` повертає істину, якщо Python зараз перебуває в " +"ініціалізованому стані. Більше інформації про ці функції наведено в " +"наступному розділі. Зауважте, що :c:func:`Py_FinalizeEx` *не* звільняє всю " +"пам’ять, виділену інтерпретатором Python, напр. Пам'ять, виділена модулями " +"розширення, наразі не може бути звільнена." + +msgid "Debugging Builds" +msgstr "Налагодження збірок" + +msgid "" +"Python can be built with several macros to enable extra checks of the " +"interpreter and extension modules. These checks tend to add a large amount " +"of overhead to the runtime so they are not enabled by default." +msgstr "" +"Python можна створити з кількома макросами, щоб увімкнути додаткові " +"перевірки інтерпретатора та модулів розширення. Ці перевірки, як правило, " +"додають велику кількість накладних витрат до середовища виконання, тому їх " +"не ввімкнено за замовчуванням." + +msgid "" +"A full list of the various types of debugging builds is in the file :file:" +"`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are " +"available that support tracing of reference counts, debugging the memory " +"allocator, or low-level profiling of the main interpreter loop. Only the " +"most frequently used builds will be described in the remainder of this " +"section." +msgstr "" + +msgid "" +"Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined " +"produces what is generally meant by :ref:`a debug build of Python `. :c:macro:`Py_DEBUG` is enabled in the Unix build by adding :option:" +"`--with-pydebug` to the :file:`./configure` command. It is also implied by " +"the presence of the not-Python-specific :c:macro:`_DEBUG` macro. When :c:" +"macro:`Py_DEBUG` is enabled in the Unix build, compiler optimization is " +"disabled." +msgstr "" +"Компіляція інтерпретатора з визначеним макросом :c:macro:`Py_DEBUG` створює " +"те, що зазвичай мається на увазі під :ref:`збіркою налагодження Python " +"`. :c:macro:`Py_DEBUG` увімкнено в збірці Unix шляхом " +"додавання :option:`--with-pydebug` до команди :file:`./configure`. Це також " +"передбачається наявністю неспецифічного для Python макросу :c:macro:" +"`_DEBUG`. Коли :c:macro:`Py_DEBUG` увімкнено в збірці Unix, оптимізація " +"компілятора вимкнена." + +msgid "" +"In addition to the reference count debugging described below, extra checks " +"are performed, see :ref:`Python Debug Build `." +msgstr "" +"На додаток до налагодження кількості посилань, описаного нижче, виконуються " +"додаткові перевірки, див. :ref:`Python Debug Build `." + +msgid "" +"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the :option:" +"`configure --with-trace-refs option <--with-trace-refs>`). When defined, a " +"circular doubly linked list of active objects is maintained by adding two " +"extra fields to every :c:type:`PyObject`. Total allocations are tracked as " +"well. Upon exit, all existing references are printed. (In interactive mode " +"this happens after every statement run by the interpreter.)" +msgstr "" +"Визначення :c:macro:`Py_TRACE_REFS` увімкне трасування посилань (див. опцію :" +"option:`configure --with-trace-refs <--with-trace-refs>`). Коли визначено, " +"круговий подвійний зв’язаний список активних об’єктів підтримується шляхом " +"додавання двох додаткових полів до кожного :c:type:`PyObject`. Також " +"відстежуються загальні асигнування. Після виходу друкуються всі наявні " +"посилання. (В інтерактивному режимі це відбувається після кожного оператора, " +"виконаного інтерпретатором.)" + +msgid "" +"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source " +"distribution for more detailed information." +msgstr "" +"Будь ласка, зверніться до :file:`Misc/SpecialBuilds.txt` у дистрибутиві " +"вихідних кодів Python для отримання більш детальної інформації." diff --git a/c-api/iter.po b/c-api/iter.po new file mode 100644 index 000000000..f64099d04 --- /dev/null +++ b/c-api/iter.po @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Iterator Protocol" +msgstr "Протокол ітератора" + +msgid "There are two functions specifically for working with iterators." +msgstr "Є дві функції спеціально для роботи з ітераторами." + +msgid "" +"Return non-zero if the object *o* can be safely passed to :c:func:" +"`PyIter_Next`, and ``0`` otherwise. This function always succeeds." +msgstr "" +"Повертає ненульове значення, якщо об’єкт *o* можна безпечно передати в :c:" +"func:`PyIter_Next`, і ``0`` інакше. Ця функція завжди успішна." + +msgid "" +"Return non-zero if the object *o* provides the :class:`AsyncIterator` " +"protocol, and ``0`` otherwise. This function always succeeds." +msgstr "" +"Повертає відмінне від нуля значення, якщо об’єкт *o* забезпечує протокол :" +"class:`AsyncIterator`, і ``0`` інакше. Ця функція завжди успішна." + +msgid "" +"Return the next value from the iterator *o*. The object must be an iterator " +"according to :c:func:`PyIter_Check` (it is up to the caller to check this). " +"If there are no remaining values, returns ``NULL`` with no exception set. If " +"an error occurs while retrieving the item, returns ``NULL`` and passes along " +"the exception." +msgstr "" +"Повертає наступне значення з ітератора *o*. Об’єкт має бути ітератором " +"відповідно до :c:func:`PyIter_Check` (це залежить від того, хто викликає). " +"Якщо не залишилося значень, повертає ``NULL`` без винятку. Якщо під час " +"отримання елемента виникає помилка, повертається ``NULL`` і передається " +"виняток." + +msgid "" +"To write a loop which iterates over an iterator, the C code should look " +"something like this::" +msgstr "" +"Щоб написати цикл, який повторює ітератор, код C має виглядати приблизно так:" + +msgid "" +"The enum value used to represent different results of :c:func:`PyIter_Send`." +msgstr "" +"Значення enum, яке використовується для представлення різних результатів :c:" +"func:`PyIter_Send`." + +msgid "Sends the *arg* value into the iterator *iter*. Returns:" +msgstr "Надсилає значення *arg* в ітератор *iter*. Повернення:" + +msgid "" +"``PYGEN_RETURN`` if iterator returns. Return value is returned via *presult*." +msgstr "" +"``PYGEN_RETURN``, якщо повертає ітератор. Повернене значення повертається " +"через *presult*." + +msgid "" +"``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*." +msgstr "" +"``PYGEN_NEXT``, якщо ітератор дає результат. Отримане значення повертається " +"через *presult*." + +msgid "" +"``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to " +"``NULL``." +msgstr "" +"``PYGEN_ERROR``, якщо ітератор підняв і виняток. *presult* має значення " +"``NULL``." diff --git a/c-api/iterator.po b/c-api/iterator.po new file mode 100644 index 000000000..1dd7cc63e --- /dev/null +++ b/c-api/iterator.po @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Iterator Objects" +msgstr "Ітератор об'єктів" + +msgid "" +"Python provides two general-purpose iterator objects. The first, a sequence " +"iterator, works with an arbitrary sequence supporting the :meth:" +"`__getitem__` method. The second works with a callable object and a " +"sentinel value, calling the callable for each item in the sequence, and " +"ending the iteration when the sentinel value is returned." +msgstr "" +"Python надає два об’єкти-ітератори загального призначення. Перший, ітератор " +"послідовності, працює з довільною послідовністю, яка підтримує метод :meth:" +"`__getitem__`. Другий працює з викликаним об’єктом і дозорним значенням, " +"викликаючи викликаний для кожного елемента в послідовності та завершуючи " +"ітерацію, коли повертається дозорне значення." + +msgid "" +"Type object for iterator objects returned by :c:func:`PySeqIter_New` and the " +"one-argument form of the :func:`iter` built-in function for built-in " +"sequence types." +msgstr "" +"Об’єкт типу для об’єктів-ітераторів, які повертає :c:func:`PySeqIter_New`, і " +"форма з одним аргументом вбудованої функції :func:`iter` для вбудованих " +"типів послідовностей." + +msgid "" +"Return true if the type of *op* is :c:data:`PySeqIter_Type`. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо *op* має тип :c:data:`PySeqIter_Type`. Ця функція завжди " +"успішна." + +msgid "" +"Return an iterator that works with a general sequence object, *seq*. The " +"iteration ends when the sequence raises :exc:`IndexError` for the " +"subscripting operation." +msgstr "" +"Повертає ітератор, який працює з об’єктом загальної послідовності *seq*. " +"Ітерація завершується, коли послідовність викликає :exc:`IndexError` для " +"операції підписання." + +msgid "" +"Type object for iterator objects returned by :c:func:`PyCallIter_New` and " +"the two-argument form of the :func:`iter` built-in function." +msgstr "" +"Об’єкт типу для об’єктів-ітераторів, що повертаються :c:func:" +"`PyCallIter_New` і формою з двома аргументами вбудованої функції :func:" +"`iter`." + +msgid "" +"Return true if the type of *op* is :c:data:`PyCallIter_Type`. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо тип *op* :c:data:`PyCallIter_Type`. Ця функція завжди " +"успішна." + +msgid "" +"Return a new iterator. The first parameter, *callable*, can be any Python " +"callable object that can be called with no parameters; each call to it " +"should return the next item in the iteration. When *callable* returns a " +"value equal to *sentinel*, the iteration will be terminated." +msgstr "" +"Повернути новий ітератор. Перший параметр, *callable*, може бути будь-яким " +"викликаним об’єктом Python, який можна викликати без параметрів; кожен " +"виклик має повертати наступний елемент ітерації. Коли *callable* повертає " +"значення, рівне *sentinel*, ітерація буде припинена." diff --git a/c-api/list.po b/c-api/list.po new file mode 100644 index 000000000..441643cbe --- /dev/null +++ b/c-api/list.po @@ -0,0 +1,189 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "List Objects" +msgstr "Список об’єктів" + +msgid "This subtype of :c:type:`PyObject` represents a Python list object." +msgstr "Цей підтип :c:type:`PyObject` представляє об’єкт списку Python." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python list type. " +"This is the same object as :class:`list` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип списку Python. Це той " +"самий об’єкт, що й :class:`list` на рівні Python." + +msgid "" +"Return true if *p* is a list object or an instance of a subtype of the list " +"type. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом списку або екземпляром підтипу типу " +"списку. Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a list object, but not an instance of a subtype of the " +"list type. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом списку, але не екземпляром підтипу типу " +"списку. Ця функція завжди успішна." + +msgid "Return a new list of length *len* on success, or ``NULL`` on failure." +msgstr "" +"Повертає новий список довжиною *len* у разі успіху або ``NULL`` у разі " +"помилки." + +msgid "" +"If *len* is greater than zero, the returned list object's items are set to " +"``NULL``. Thus you cannot use abstract API functions such as :c:func:" +"`PySequence_SetItem` or expose the object to Python code before setting all " +"items to a real object with :c:func:`PyList_SetItem`." +msgstr "" +"Якщо *len* більше нуля, для поверненого об’єкта списку встановлено значення " +"``NULL``. Таким чином, ви не можете використовувати абстрактні функції API, " +"такі як :c:func:`PySequence_SetItem`, або надавати об’єкт коду Python до " +"встановлення всіх елементів на реальний об’єкт за допомогою :c:func:" +"`PyList_SetItem`." + +msgid "" +"Return the length of the list object in *list*; this is equivalent to " +"``len(list)`` on a list object." +msgstr "" +"Повертає довжину об’єкта списку в *list*; це еквівалентно ``len(list)`` для " +"об'єкта списку." + +msgid "Similar to :c:func:`PyList_Size`, but without error checking." +msgstr "" + +msgid "" +"Return the object at position *index* in the list pointed to by *list*. The " +"position must be non-negative; indexing from the end of the list is not " +"supported. If *index* is out of bounds (<0 or >=len(list)), return ``NULL`` " +"and set an :exc:`IndexError` exception." +msgstr "" +"Повертає об’єкт у позицію *index* у списку, на який вказує *list*. Позиція " +"повинна бути невід’ємною; індексація з кінця списку не підтримується. Якщо " +"*index* виходить за межі ( <0 or > =len(list)), поверніть ``NULL`` і " +"встановіть виняток :exc:`IndexError`." + +msgid "Similar to :c:func:`PyList_GetItem`, but without error checking." +msgstr "" + +msgid "" +"Set the item at index *index* in list to *item*. Return ``0`` on success. " +"If *index* is out of bounds, return ``-1`` and set an :exc:`IndexError` " +"exception." +msgstr "" +"Установіть для елемента з індексом *index* у списку значення *item*. У разі " +"успіху повертає ``0``. Якщо *index* виходить за межі, поверніть ``-1`` і " +"встановіть виняток :exc:`IndexError`." + +msgid "" +"This function \"steals\" a reference to *item* and discards a reference to " +"an item already in the list at the affected position." +msgstr "" +"Ця функція \"викрадає\" посилання на *елемент* і відкидає посилання на " +"елемент, який уже є у списку в ураженій позиції." + +msgid "" +"Macro form of :c:func:`PyList_SetItem` without error checking. This is " +"normally only used to fill in new lists where there is no previous content." +msgstr "" +"Макроформа :c:func:`PyList_SetItem` без перевірки помилок. Зазвичай це " +"використовується лише для заповнення нових списків, де немає попереднього " +"вмісту." + +msgid "" +"This macro \"steals\" a reference to *item*, and, unlike :c:func:" +"`PyList_SetItem`, does *not* discard a reference to any item that is being " +"replaced; any reference in *list* at position *i* will be leaked." +msgstr "" +"Цей макрос \"викрадає\" посилання на *item* і, на відміну від :c:func:" +"`PyList_SetItem`, *не* відкидає посилання на будь-який елемент, який " +"замінюється; будь-яке посилання в *списку* в позиції *i* буде витік." + +msgid "" +"Insert the item *item* into list *list* in front of index *index*. Return " +"``0`` if successful; return ``-1`` and set an exception if unsuccessful. " +"Analogous to ``list.insert(index, item)``." +msgstr "" +"Вставте елемент *item* у список *list* перед індексом *index*. Повернути " +"``0`` у разі успіху; повертає ``-1`` і встановлює виняток у разі невдачі. " +"Аналогічно ``list.insert(index, item)``." + +msgid "" +"Append the object *item* at the end of list *list*. Return ``0`` if " +"successful; return ``-1`` and set an exception if unsuccessful. Analogous " +"to ``list.append(item)``." +msgstr "" +"Додайте об’єкт *item* у кінець списку *list*. Повернути ``0`` у разі успіху; " +"повертає ``-1`` і встановлює виняток у разі невдачі. Аналогічно ``list." +"append(item)``." + +msgid "" +"Return a list of the objects in *list* containing the objects *between* " +"*low* and *high*. Return ``NULL`` and set an exception if unsuccessful. " +"Analogous to ``list[low:high]``. Indexing from the end of the list is not " +"supported." +msgstr "" +"Повертає список об’єктів у *списку*, що містить об’єкти *між* *низьким* і " +"*високим*. Повертає ``NULL`` і встановлює виняток у разі невдачі. Аналогічно " +"``list[low:high]``. Індексація з кінця списку не підтримується." + +msgid "" +"Set the slice of *list* between *low* and *high* to the contents of " +"*itemlist*. Analogous to ``list[low:high] = itemlist``. The *itemlist* may " +"be ``NULL``, indicating the assignment of an empty list (slice deletion). " +"Return ``0`` on success, ``-1`` on failure. Indexing from the end of the " +"list is not supported." +msgstr "" +"Встановіть фрагмент *списку* між *низьким* і *високим* вмістом *itemlist*. " +"Аналогічно ``list[low:high] = itemlist``. *itemlist* може бути ``NULL``, що " +"вказує на призначення порожнього списку (видалення фрагмента). Повертає " +"``0`` в разі успіху, ``-1`` у випадку невдачі. Індексація з кінця списку не " +"підтримується." + +msgid "" +"Sort the items of *list* in place. Return ``0`` on success, ``-1`` on " +"failure. This is equivalent to ``list.sort()``." +msgstr "" +"Розсортуйте елементи *списку* за місцем. Повертає ``0`` в разі успіху, " +"``-1`` у випадку невдачі. Це еквівалентно ``list.sort()``." + +msgid "" +"Reverse the items of *list* in place. Return ``0`` on success, ``-1`` on " +"failure. This is the equivalent of ``list.reverse()``." +msgstr "" +"Переверніть елементи *списку* на місця. Повертає ``0`` в разі успіху, ``-1`` " +"у випадку невдачі. Це еквівалент ``list.reverse()``." + +msgid "" +"Return a new tuple object containing the contents of *list*; equivalent to " +"``tuple(list)``." +msgstr "" +"Повертає новий об’єкт кортежу, що містить вміст *list*; еквівалент " +"``tuple(list)``." diff --git a/c-api/long.po b/c-api/long.po new file mode 100644 index 000000000..1f75eaf8e --- /dev/null +++ b/c-api/long.po @@ -0,0 +1,349 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Integer Objects" +msgstr "Цілі об'єкти" + +msgid "" +"All integers are implemented as \"long\" integer objects of arbitrary size." +msgstr "" +"Усі цілі числа реалізуються як \"довгі\" цілі об’єкти довільного розміру." + +msgid "" +"On error, most ``PyLong_As*`` APIs return ``(return type)-1`` which cannot " +"be distinguished from a number. Use :c:func:`PyErr_Occurred` to " +"disambiguate." +msgstr "" +"У разі помилки більшість API ``PyLong_As*`` повертають ``(тип " +"повернення)-1``, який неможливо відрізнити від числа. Використовуйте :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "This subtype of :c:type:`PyObject` represents a Python integer object." +msgstr "Цей підтип :c:type:`PyObject` представляє цілочисельний об’єкт Python." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python integer type. " +"This is the same object as :class:`int` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє цілочисельний тип Python. " +"Це той самий об’єкт, що й :class:`int` на рівні Python." + +msgid "" +"Return true if its argument is a :c:type:`PyLongObject` or a subtype of :c:" +"type:`PyLongObject`. This function always succeeds." +msgstr "" +"Повертає true, якщо його аргумент є :c:type:`PyLongObject` або підтипом :c:" +"type:`PyLongObject`. Ця функція завжди успішна." + +msgid "" +"Return true if its argument is a :c:type:`PyLongObject`, but not a subtype " +"of :c:type:`PyLongObject`. This function always succeeds." +msgstr "" +"Повертає true, якщо його аргумент є :c:type:`PyLongObject`, але не підтипом :" +"c:type:`PyLongObject`. Ця функція завжди успішна." + +msgid "" +"Return a new :c:type:`PyLongObject` object from *v*, or ``NULL`` on failure." +msgstr "" +"Повертає новий об’єкт :c:type:`PyLongObject` з *v* або ``NULL`` у разі " +"помилки." + +msgid "" +"The current implementation keeps an array of integer objects for all " +"integers between ``-5`` and ``256``. When you create an int in that range " +"you actually just get back a reference to the existing object." +msgstr "" +"Поточна реалізація зберігає масив цілих об’єктів для всіх цілих чисел від " +"``-5`` до ``256``. Коли ви створюєте int у цьому діапазоні, ви фактично " +"повертаєте посилання на існуючий об’єкт." + +msgid "" +"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, " +"or ``NULL`` on failure." +msgstr "" + +msgid "" +"Return a new :c:type:`PyLongObject` object from a C :c:type:`Py_ssize_t`, or " +"``NULL`` on failure." +msgstr "" +"Повертає новий об’єкт :c:type:`PyLongObject` із C :c:type:`Py_ssize_t` або " +"``NULL`` у разі помилки." + +msgid "" +"Return a new :c:type:`PyLongObject` object from a C :c:type:`size_t`, or " +"``NULL`` on failure." +msgstr "" +"Повертає новий об’єкт :c:type:`PyLongObject` із C :c:type:`size_t` або " +"``NULL`` у разі помилки." + +msgid "" +"Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or " +"``NULL`` on failure." +msgstr "" + +msgid "" +"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long " +"long`, or ``NULL`` on failure." +msgstr "" + +msgid "" +"Return a new :c:type:`PyLongObject` object from the integer part of *v*, or " +"``NULL`` on failure." +msgstr "" +"Повертає новий об’єкт :c:type:`PyLongObject` із цілої частини *v* або " +"``NULL`` у разі помилки." + +msgid "" +"Return a new :c:type:`PyLongObject` based on the string value in *str*, " +"which is interpreted according to the radix in *base*. If *pend* is non-" +"``NULL``, *\\*pend* will point to the first character in *str* which follows " +"the representation of the number. If *base* is ``0``, *str* is interpreted " +"using the :ref:`integers` definition; in this case, leading zeros in a non-" +"zero decimal number raises a :exc:`ValueError`. If *base* is not ``0``, it " +"must be between ``2`` and ``36``, inclusive. Leading spaces and single " +"underscores after a base specifier and between digits are ignored. If there " +"are no digits, :exc:`ValueError` will be raised." +msgstr "" +"Повертає новий :c:type:`PyLongObject` на основі значення рядка в *str*, яке " +"інтерпретується відповідно до основи в *base*. Якщо *pend* не є ``NULL``, *" +"\\*pend* вказуватиме на перший символ у *str*, який слідує за представленням " +"числа. Якщо *base* дорівнює ``0``, *str* інтерпретується за допомогою " +"визначення :ref:`integers`; у цьому випадку нулі на початку ненульового " +"десяткового числа викликають :exc:`ValueError`. Якщо *база* не дорівнює " +"``0``, вона має бути між ``2`` і ``36`` включно. Початкові пробіли та " +"одинарне підкреслення після базового специфікатора та між цифрами " +"ігноруються. Якщо цифр немає, буде викликано :exc:`ValueError`." + +msgid "" +"Convert a sequence of Unicode digits in the string *u* to a Python integer " +"value." +msgstr "" +"Перетворіть послідовність цифр Unicode у рядку *u* на ціле число Python." + +msgid "" +"Create a Python integer from the pointer *p*. The pointer value can be " +"retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`." +msgstr "" +"Створіть ціле число Python із покажчика *p*. Значення вказівника можна " +"отримати з результуючого значення за допомогою :c:func:`PyLong_AsVoidPtr`." + +msgid "" +"Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " +"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " +"(if present) to convert it to a :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" +"expr:`long`." +msgstr "" + +msgid "Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." +msgstr "" +"Повертає ``-1`` у разі помилки. Використовуйте :c:func:`PyErr_Occurred` для " +"усунення неоднозначності." + +msgid "Use :meth:`__index__` if available." +msgstr "Використовуйте :meth:`__index__`, якщо доступний." + +msgid "This function will no longer use :meth:`__int__`." +msgstr "Ця функція більше не використовуватиме :meth:`__int__`." + +msgid "" +"If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:" +"`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " +"``-1``; otherwise, set *\\*overflow* to ``0``. If any other exception " +"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." +msgstr "" +"Якщо значення *obj* більше за :const:`LONG_MAX` або менше за :const:" +"`LONG_MIN`, установіть для *\\*overflow* значення ``1`` або ``-1`` " +"відповідно та поверніть ``-1``; інакше встановіть *\\*overflow* на ``0``. " +"Якщо виникає будь-який інший виняток, встановіть *\\*overflow* на ``0`` і " +"поверніть ``-1``, як зазвичай." + +msgid "" +"Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an " +"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " +"(if present) to convert it to a :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" +"expr:`long long`." +msgstr "" + +msgid "" +"If the value of *obj* is greater than :const:`LLONG_MAX` or less than :const:" +"`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " +"``-1``; otherwise, set *\\*overflow* to ``0``. If any other exception " +"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." +msgstr "" +"Якщо значення *obj* більше за :const:`LLONG_MAX` або менше за :const:" +"`LLONG_MIN`, установіть для *\\*overflow* значення ``1`` або ``-1`` " +"відповідно та поверніть ``-1``; інакше встановіть *\\*overflow* на ``0``. " +"Якщо виникає будь-який інший виняток, встановіть *\\*overflow* на ``0`` і " +"поверніть ``-1``, як зазвичай." + +msgid "" +"Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must " +"be an instance of :c:type:`PyLongObject`." +msgstr "" +"Повертає C :c:type:`Py_ssize_t` представлення *pylong*. *pylong* має бути " +"екземпляром :c:type:`PyLongObject`." + +msgid "" +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" +"type:`Py_ssize_t`." +msgstr "" +"Викликайте :exc:`OverflowError`, якщо значення *pylong* виходить за межі " +"діапазону для :c:type:`Py_ssize_t`." + +msgid "" +"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* " +"must be an instance of :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" +"expr:`unsigned long`." +msgstr "" + +msgid "" +"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " +"disambiguate." +msgstr "" +"У разі помилки повертає ``(unsigned long)-1``. Використовуйте :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an " +"instance of :c:type:`PyLongObject`." +msgstr "" +"Повертає C :c:type:`size_t` представлення *pylong*. *pylong* має бути " +"екземпляром :c:type:`PyLongObject`." + +msgid "" +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" +"type:`size_t`." +msgstr "" +"Викликайте :exc:`OverflowError`, якщо значення *pylong* виходить за межі " +"діапазону для :c:type:`size_t`." + +msgid "" +"Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to " +"disambiguate." +msgstr "" +"Повертає ``(size_t)-1`` у разі помилки. Використовуйте :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Return a C :c:expr:`unsigned long long` representation of *pylong*. " +"*pylong* must be an instance of :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" +"c:expr:`unsigned long long`." +msgstr "" + +msgid "" +"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to " +"disambiguate." +msgstr "" +"У разі помилки повертає ``(unsigned long long)-1``. Використовуйте :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`." +msgstr "" +"Негативний *pylong* тепер викликає :exc:`OverflowError`, а не :exc:" +"`TypeError`." + +msgid "" +"Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not " +"an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` " +"method (if present) to convert it to a :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"If the value of *obj* is out of range for an :c:expr:`unsigned long`, return " +"the reduction of that value modulo ``ULONG_MAX + 1``." +msgstr "" + +msgid "" +"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " +"disambiguate." +msgstr "" +"У разі помилки повертає ``(unsigned long)-1``. Використовуйте :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* " +"is not an instance of :c:type:`PyLongObject`, first call its :meth:" +"`__index__` method (if present) to convert it to a :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"If the value of *obj* is out of range for an :c:expr:`unsigned long long`, " +"return the reduction of that value modulo ``ULLONG_MAX + 1``." +msgstr "" + +msgid "" +"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` " +"to disambiguate." +msgstr "" +"У разі помилки повертає ``(unsigned long long)-1``. Використовуйте :c:func:" +"`PyErr_Occurred` для усунення неоднозначності." + +msgid "" +"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an " +"instance of :c:type:`PyLongObject`." +msgstr "" + +msgid "" +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" +"expr:`double`." +msgstr "" + +msgid "" +"Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." +msgstr "" +"Повертає ``-1.0`` у разі помилки. Використовуйте :c:func:`PyErr_Occurred` " +"для усунення неоднозначності." + +msgid "" +"Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* " +"cannot be converted, an :exc:`OverflowError` will be raised. This is only " +"assured to produce a usable :c:expr:`void` pointer for values created with :" +"c:func:`PyLong_FromVoidPtr`." +msgstr "" + +msgid "" +"Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." +msgstr "" +"Повертає ``NULL`` у разі помилки. Використовуйте :c:func:`PyErr_Occurred` " +"для усунення неоднозначності." diff --git a/c-api/mapping.po b/c-api/mapping.po new file mode 100644 index 000000000..b7580d7b0 --- /dev/null +++ b/c-api/mapping.po @@ -0,0 +1,142 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Mapping Protocol" +msgstr "Протокол відображення" + +msgid "" +"See also :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` and :c:func:" +"`PyObject_DelItem`." +msgstr "" +"Дивіться також :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` і :c:" +"func:`PyObject_DelItem`." + +msgid "" +"Return ``1`` if the object provides the mapping protocol or supports " +"slicing, and ``0`` otherwise. Note that it returns ``1`` for Python classes " +"with a :meth:`__getitem__` method, since in general it is impossible to " +"determine what type of keys the class supports. This function always " +"succeeds." +msgstr "" +"Повертає ``1``, якщо об’єкт забезпечує протокол відображення або підтримує " +"нарізку, і ``0`` в іншому випадку. Зверніть увагу, що він повертає ``1`` для " +"класів Python за допомогою методу :meth:`__getitem__`, оскільки загалом " +"неможливо визначити, який тип ключів підтримує клас. Ця функція завжди " +"успішна." + +msgid "" +"Returns the number of keys in object *o* on success, and ``-1`` on failure. " +"This is equivalent to the Python expression ``len(o)``." +msgstr "" +"Повертає кількість ключів в об’єкті *o* в разі успіху та ``-1`` у разі " +"невдачі. Це еквівалентно виразу Python ``len(o)``." + +msgid "" +"Return element of *o* corresponding to the string *key* or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o[key]``. See " +"also :c:func:`PyObject_GetItem`." +msgstr "" +"Повертає елемент *o*, що відповідає рядку *key* або ``NULL`` у разі помилки. " +"Це еквівалент виразу Python ``o[key]``. Дивіться також :c:func:" +"`PyObject_GetItem`." + +msgid "" +"Map the string *key* to the value *v* in object *o*. Returns ``-1`` on " +"failure. This is the equivalent of the Python statement ``o[key] = v``. See " +"also :c:func:`PyObject_SetItem`. This function *does not* steal a reference " +"to *v*." +msgstr "" +"Зіставте рядок *key* зі значенням *v* в об’єкті *o*. Повертає ``-1`` у разі " +"помилки. Це еквівалент оператора Python ``o[key] = v``. Дивіться також :c:" +"func:`PyObject_SetItem`. Ця функція *не* викрадає посилання на *v*." + +msgid "" +"Remove the mapping for the object *key* from the object *o*. Return ``-1`` " +"on failure. This is equivalent to the Python statement ``del o[key]``. This " +"is an alias of :c:func:`PyObject_DelItem`." +msgstr "" +"Видаліть зіставлення для об’єкта *key* з об’єкта *o*. Повернути ``-1`` у " +"разі помилки. Це еквівалентно оператору Python ``del o[key]``. Це псевдонім :" +"c:func:`PyObject_DelItem`." + +msgid "" +"Remove the mapping for the string *key* from the object *o*. Return ``-1`` " +"on failure. This is equivalent to the Python statement ``del o[key]``." +msgstr "" +"Видаліть зіставлення для рядка *key* з об’єкта *o*. Повернути ``-1`` у разі " +"помилки. Це еквівалентно оператору Python ``del o[key]``." + +msgid "" +"Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. " +"This is equivalent to the Python expression ``key in o``. This function " +"always succeeds." +msgstr "" +"Повертає ``1``, якщо об’єкт зіставлення має ключ *key*, і ``0`` інакше. Це " +"еквівалентно виразу Python ``key in o``. Ця функція завжди успішна." + +msgid "" +"Note that exceptions which occur while calling the :meth:`__getitem__` " +"method will get suppressed. To get error reporting use :c:func:" +"`PyObject_GetItem()` instead." +msgstr "" +"Зауважте, що винятки, які виникають під час виклику методу :meth:" +"`__getitem__`, будуть придушені. Щоб отримати повідомлення про помилки, " +"замість цього використовуйте :c:func:`PyObject_GetItem()`." + +msgid "" +"Note that exceptions which occur while calling the :meth:`__getitem__` " +"method and creating a temporary string object will get suppressed. To get " +"error reporting use :c:func:`PyMapping_GetItemString()` instead." +msgstr "" +"Зауважте, що винятки, які виникають під час виклику методу :meth:" +"`__getitem__` і створення тимчасового рядкового об’єкта, будуть придушені. " +"Щоб отримати звіт про помилку, замість цього використовуйте :c:func:" +"`PyMapping_GetItemString()`." + +msgid "" +"On success, return a list of the keys in object *o*. On failure, return " +"``NULL``." +msgstr "" +"У разі успіху повертає список ключів в об’єкті *o*. У разі помилки поверніть " +"``NULL``." + +msgid "Previously, the function returned a list or a tuple." +msgstr "Раніше функція повертала список або кортеж." + +msgid "" +"On success, return a list of the values in object *o*. On failure, return " +"``NULL``." +msgstr "" +"У разі успіху повертає список значень в об’єкті *o*. У разі помилки " +"поверніть ``NULL``." + +msgid "" +"On success, return a list of the items in object *o*, where each item is a " +"tuple containing a key-value pair. On failure, return ``NULL``." +msgstr "" +"У разі успіху повертає список елементів в об’єкті *o*, де кожен елемент є " +"кортежем, що містить пару ключ-значення. У разі помилки поверніть ``NULL``." diff --git a/c-api/marshal.po b/c-api/marshal.po new file mode 100644 index 000000000..1d9ec8310 --- /dev/null +++ b/c-api/marshal.po @@ -0,0 +1,128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Data marshalling support" +msgstr "Підтримка маршалінгу даних" + +msgid "" +"These routines allow C code to work with serialized objects using the same " +"data format as the :mod:`marshal` module. There are functions to write data " +"into the serialization format, and additional functions that can be used to " +"read the data back. Files used to store marshalled data must be opened in " +"binary mode." +msgstr "" +"Ці процедури дозволяють коду C працювати з серіалізованими об’єктами, " +"використовуючи той самий формат даних, що й модуль :mod:`marshal`. Існують " +"функції для запису даних у формат серіалізації та додаткові функції, які " +"можна використовувати для зворотного читання даних. Файли, які " +"використовуються для зберігання маршалованих даних, необхідно відкривати в " +"двійковому режимі." + +msgid "Numeric values are stored with the least significant byte first." +msgstr "Числові значення зберігаються з молодшим байтом першим." + +msgid "" +"The module supports two versions of the data format: version 0 is the " +"historical version, version 1 shares interned strings in the file, and upon " +"unmarshalling. Version 2 uses a binary format for floating point numbers. " +"``Py_MARSHAL_VERSION`` indicates the current file format (currently 2)." +msgstr "" +"Модуль підтримує дві версії формату даних: версія 0 є історичною версією, " +"версія 1 надає спільний доступ до вбудованих рядків у файлі та після " +"демаршалінгу. Версія 2 використовує двійковий формат для чисел з плаваючою " +"комою. ``Py_MARSHAL_VERSION`` вказує на поточний формат файлу (наразі 2)." + +msgid "" +"Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write " +"the least-significant 32 bits of *value*; regardless of the size of the " +"native :c:expr:`long` type. *version* indicates the file format." +msgstr "" + +msgid "" +"Marshal a Python object, *value*, to *file*. *version* indicates the file " +"format." +msgstr "" +"Маршал об’єкта Python, *значення*, до *файлу*. *версія* вказує на формат " +"файлу." + +msgid "" +"Return a bytes object containing the marshalled representation of *value*. " +"*version* indicates the file format." +msgstr "" +"Повертає об’єкт bytes, що містить упорядковане представлення *value*. " +"*версія* вказує на формат файлу." + +msgid "The following functions allow marshalled values to be read back in." +msgstr "Наступні функції дозволяють зчитувати упорядковані значення." + +msgid "" +"Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened " +"for reading. Only a 32-bit value can be read in using this function, " +"regardless of the native size of :c:expr:`long`." +msgstr "" + +msgid "" +"On error, sets the appropriate exception (:exc:`EOFError`) and returns " +"``-1``." +msgstr "" +"У разі помилки встановлює відповідний виняток (:exc:`EOFError`) і повертає " +"``-1``." + +msgid "" +"Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened " +"for reading. Only a 16-bit value can be read in using this function, " +"regardless of the native size of :c:expr:`short`." +msgstr "" + +msgid "" +"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " +"reading." +msgstr "" + +msgid "" +"On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` " +"or :exc:`TypeError`) and returns ``NULL``." +msgstr "" +"У разі помилки встановлює відповідний виняток (:exc:`EOFError`, :exc:" +"`ValueError` або :exc:`TypeError`) і повертає ``NULL``." + +msgid "" +"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " +"reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " +"assumes that no further objects will be read from the file, allowing it to " +"aggressively load file data into memory so that the de-serialization can " +"operate from data in memory rather than reading a byte at a time from the " +"file. Only use these variant if you are certain that you won't be reading " +"anything else from the file." +msgstr "" + +msgid "" +"Return a Python object from the data stream in a byte buffer containing " +"*len* bytes pointed to by *data*." +msgstr "" +"Повертає об’єкт Python із потоку даних у байтовий буфер, що містить *len* " +"байти, на які вказує *data*." diff --git a/c-api/memory.po b/c-api/memory.po new file mode 100644 index 000000000..e35abd9b4 --- /dev/null +++ b/c-api/memory.po @@ -0,0 +1,1155 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Memory Management" +msgstr "Управління пам'яттю" + +msgid "Overview" +msgstr "Огляд" + +msgid "" +"Memory management in Python involves a private heap containing all Python " +"objects and data structures. The management of this private heap is ensured " +"internally by the *Python memory manager*. The Python memory manager has " +"different components which deal with various dynamic storage management " +"aspects, like sharing, segmentation, preallocation or caching." +msgstr "" +"Керування пам’яттю в Python включає приватну купу, що містить усі об’єкти та " +"структури даних Python. Управління цією приватною купою забезпечується " +"внутрішньо за допомогою *Менеджера пам’яті Python*. Менеджер пам’яті Python " +"має різні компоненти, які стосуються різноманітних аспектів керування " +"динамічним сховищем, наприклад спільного використання, сегментації, " +"попереднього розподілу чи кешування." + +msgid "" +"At the lowest level, a raw memory allocator ensures that there is enough " +"room in the private heap for storing all Python-related data by interacting " +"with the memory manager of the operating system. On top of the raw memory " +"allocator, several object-specific allocators operate on the same heap and " +"implement distinct memory management policies adapted to the peculiarities " +"of every object type. For example, integer objects are managed differently " +"within the heap than strings, tuples or dictionaries because integers imply " +"different storage requirements and speed/space tradeoffs. The Python memory " +"manager thus delegates some of the work to the object-specific allocators, " +"but ensures that the latter operate within the bounds of the private heap." +msgstr "" +"На найнижчому рівні розподільник необробленої пам’яті забезпечує наявність " +"достатнього місця в приватній купі для зберігання всіх пов’язаних із Python " +"даних шляхом взаємодії з диспетчером пам’яті операційної системи. Окрім " +"необробленого розподільника пам’яті, кілька об’єктно-специфічних " +"розподільників працюють на одній купі та реалізують різні політики керування " +"пам’яттю, адаптовані до особливостей кожного типу об’єкта. Наприклад, цілими " +"об’єктами в купі керують інакше, ніж рядками, кортежами чи словниками, " +"оскільки цілі числа передбачають різні вимоги до сховища та компроміси між " +"швидкістю та простором. Таким чином, менеджер пам’яті Python делегує частину " +"роботи об’єктно-специфічним розподільникам, але гарантує, що останні " +"працюють у межах приватної купи." + +msgid "" +"It is important to understand that the management of the Python heap is " +"performed by the interpreter itself and that the user has no control over " +"it, even if they regularly manipulate object pointers to memory blocks " +"inside that heap. The allocation of heap space for Python objects and other " +"internal buffers is performed on demand by the Python memory manager through " +"the Python/C API functions listed in this document." +msgstr "" +"Важливо розуміти, що керування купою Python виконується самим " +"інтерпретатором і що користувач не має контролю над нею, навіть якщо вони " +"регулярно маніпулюють покажчиками об’єктів на блоки пам’яті всередині цієї " +"купи. Виділення простору купи для об’єктів Python та інших внутрішніх " +"буферів виконується на вимогу менеджером пам’яті Python за допомогою функцій " +"API Python/C, перелічених у цьому документі." + +msgid "" +"To avoid memory corruption, extension writers should never try to operate on " +"Python objects with the functions exported by the C library: :c:func:" +"`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`. This will " +"result in mixed calls between the C allocator and the Python memory manager " +"with fatal consequences, because they implement different algorithms and " +"operate on different heaps. However, one may safely allocate and release " +"memory blocks with the C library allocator for individual purposes, as shown " +"in the following example::" +msgstr "" +"Щоб уникнути пошкодження пам’яті, автори розширень ніколи не повинні " +"намагатися працювати з об’єктами Python за допомогою функцій, експортованих " +"бібліотекою C: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` і :c:" +"func:`free`. Це призведе до змішаних викликів між розподільником C і " +"диспетчером пам’яті Python із фатальними наслідками, оскільки вони " +"реалізують різні алгоритми та працюють із різними купами. Однак можна " +"безпечно виділяти та звільняти блоки пам’яті за допомогою розподільника " +"бібліотеки C для окремих цілей, як показано в наступному прикладі:" + +msgid "" +"In this example, the memory request for the I/O buffer is handled by the C " +"library allocator. The Python memory manager is involved only in the " +"allocation of the bytes object returned as a result." +msgstr "" +"У цьому прикладі запит пам’яті для буфера введення/виведення обробляється " +"розподільником бібліотеки C. Менеджер пам’яті Python бере участь лише у " +"розподілі об’єкта bytes, який повертається в результаті." + +msgid "" +"In most situations, however, it is recommended to allocate memory from the " +"Python heap specifically because the latter is under control of the Python " +"memory manager. For example, this is required when the interpreter is " +"extended with new object types written in C. Another reason for using the " +"Python heap is the desire to *inform* the Python memory manager about the " +"memory needs of the extension module. Even when the requested memory is used " +"exclusively for internal, highly specific purposes, delegating all memory " +"requests to the Python memory manager causes the interpreter to have a more " +"accurate image of its memory footprint as a whole. Consequently, under " +"certain circumstances, the Python memory manager may or may not trigger " +"appropriate actions, like garbage collection, memory compaction or other " +"preventive procedures. Note that by using the C library allocator as shown " +"in the previous example, the allocated memory for the I/O buffer escapes " +"completely the Python memory manager." +msgstr "" + +msgid "" +"The :envvar:`PYTHONMALLOC` environment variable can be used to configure the " +"memory allocators used by Python." +msgstr "" +"Змінну середовища :envvar:`PYTHONMALLOC` можна використовувати для " +"налаштування розподільників пам’яті, які використовує Python." + +msgid "" +"The :envvar:`PYTHONMALLOCSTATS` environment variable can be used to print " +"statistics of the :ref:`pymalloc memory allocator ` every time a " +"new pymalloc object arena is created, and on shutdown." +msgstr "" +"Змінну середовища :envvar:`PYTHONMALLOCSTATS` можна використовувати для " +"виведення статистики :ref:`розподільника пам’яті pymalloc ` " +"кожного разу, коли створюється нова арена об’єкта pymalloc, і після " +"завершення роботи." + +msgid "Allocator Domains" +msgstr "Розподільник доменів" + +msgid "" +"All allocating functions belong to one of three different \"domains\" (see " +"also :c:type:`PyMemAllocatorDomain`). These domains represent different " +"allocation strategies and are optimized for different purposes. The specific " +"details on how every domain allocates memory or what internal functions each " +"domain calls is considered an implementation detail, but for debugging " +"purposes a simplified table can be found at :ref:`here `. There is no hard requirement to use the memory returned by the " +"allocation functions belonging to a given domain for only the purposes " +"hinted by that domain (although this is the recommended practice). For " +"example, one could use the memory returned by :c:func:`PyMem_RawMalloc` for " +"allocating Python objects or the memory returned by :c:func:" +"`PyObject_Malloc` for allocating memory for buffers." +msgstr "" +"Усі функції розподілу належать до одного з трьох різних \"доменів\" (див. " +"також :c:type:`PyMemAllocatorDomain`). Ці домени представляють різні " +"стратегії розподілу та оптимізовані для різних цілей. Конкретні відомості " +"про те, як кожен домен розподіляє пам’ять або які внутрішні функції викликає " +"кожен домен, вважаються деталями реалізації, але для цілей налагодження " +"спрощену таблицю можна знайти за адресою :ref:`тут `. Немає жорстких вимог щодо використання пам’яті, повернутої " +"функціями розподілу, що належить даному домену, лише для цілей, визначених " +"цим доменом (хоча це рекомендована практика). Наприклад, можна використати " +"пам’ять, яку повертає :c:func:`PyMem_RawMalloc` для виділення об’єктів " +"Python, або пам’ять, яку повертає :c:func:`PyObject_Malloc`, для виділення " +"пам’яті для буферів." + +msgid "The three allocation domains are:" +msgstr "Три домени розподілу:" + +msgid "" +"Raw domain: intended for allocating memory for general-purpose memory " +"buffers where the allocation *must* go to the system allocator or where the " +"allocator can operate without the :term:`GIL`. The memory is requested " +"directly to the system." +msgstr "" +"Необроблений домен: призначений для розподілу пам’яті для буферів пам’яті " +"загального призначення, де розподіл *має* надходити до системного " +"розподілювача або де розподільник може працювати без :term:`GIL`. Пам'ять " +"запитується безпосередньо системою." + +msgid "" +"\"Mem\" domain: intended for allocating memory for Python buffers and " +"general-purpose memory buffers where the allocation must be performed with " +"the :term:`GIL` held. The memory is taken from the Python private heap." +msgstr "" +"Домен \"Mem\": призначений для виділення пам’яті для буферів Python і " +"буферів пам’яті загального призначення, де розподіл має виконуватися з " +"утриманням :term:`GIL`. Пам'ять береться з приватної купи Python." + +msgid "" +"Object domain: intended for allocating memory belonging to Python objects. " +"The memory is taken from the Python private heap." +msgstr "" +"Домен об’єктів: призначений для розподілу пам’яті, що належить об’єктам " +"Python. Пам'ять береться з приватної купи Python." + +msgid "" +"When freeing memory previously allocated by the allocating functions " +"belonging to a given domain,the matching specific deallocating functions " +"must be used. For example, :c:func:`PyMem_Free` must be used to free memory " +"allocated using :c:func:`PyMem_Malloc`." +msgstr "" +"Під час звільнення пам’яті, попередньо виділеної функціями розподілу, що " +"належать до даного домену, необхідно використовувати відповідні спеціальні " +"функції звільнення. Наприклад, :c:func:`PyMem_Free` потрібно використовувати " +"для звільнення пам’яті, виділеної за допомогою :c:func:`PyMem_Malloc`." + +msgid "Raw Memory Interface" +msgstr "Інтерфейс необробленої пам'яті" + +msgid "" +"The following function sets are wrappers to the system allocator. These " +"functions are thread-safe, the :term:`GIL ` does " +"not need to be held." +msgstr "" +"Наступні набори функцій є оболонками для системного розподілювача. Ці " +"функції є потокобезпечними, :term:`GIL ` не " +"потрібно зберігати." + +msgid "" +"The :ref:`default raw memory allocator ` uses the " +"following functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " +"and :c:func:`free`; call ``malloc(1)`` (or ``calloc(1, 1)``) when requesting " +"zero bytes." +msgstr "" +":ref:`за замовчуванням необроблений розподільник пам’яті ` використовує такі функції: :c:func:`malloc`, :c:func:`calloc`, :" +"c:func:`realloc` і :c:func:`free`; викликати ``malloc(1)`` (або ``calloc(1, " +"1)``), коли запитує нульові байти." + +msgid "" +"Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the " +"allocated memory, or ``NULL`` if the request fails." +msgstr "" + +msgid "" +"Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " +"as if ``PyMem_RawMalloc(1)`` had been called instead. The memory will not " +"have been initialized in any way." +msgstr "" +"Запит нульових байтів повертає окремий вказівник, відмінний від ``NULL``, " +"якщо це можливо, ніби замість цього було викликано ``PyMem_RawMalloc(1)``. " +"Пам'ять жодним чином не буде ініціалізовано." + +msgid "" +"Allocates *nelem* elements each whose size in bytes is *elsize* and returns " +"a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if " +"the request fails. The memory is initialized to zeros." +msgstr "" + +msgid "" +"Requesting zero elements or elements of size zero bytes returns a distinct " +"non-``NULL`` pointer if possible, as if ``PyMem_RawCalloc(1, 1)`` had been " +"called instead." +msgstr "" +"Запит нульових елементів або елементів розміром нуль байтів повертає окремий " +"вказівник, відмінний від ``NULL``, якщо це можливо, ніби замість цього було " +"викликано ``PyMem_RawCalloc(1, 1)``." + +msgid "" +"Resizes the memory block pointed to by *p* to *n* bytes. The contents will " +"be unchanged to the minimum of the old and the new sizes." +msgstr "" +"Змінює розмір блоку пам'яті, на який вказує *p*, до *n* байтів. Вміст буде " +"незмінним до мінімуму старого та нового розмірів." + +msgid "" +"If *p* is ``NULL``, the call is equivalent to ``PyMem_RawMalloc(n)``; else " +"if *n* is equal to zero, the memory block is resized but is not freed, and " +"the returned pointer is non-``NULL``." +msgstr "" +"Якщо *p* має значення ``NULL``, виклик еквівалентний ``PyMem_RawMalloc(n)``; " +"інакше, якщо *n* дорівнює нулю, розмір блоку пам’яті змінюється, але не " +"звільняється, а повернутий вказівник не є ``NULL``." + +msgid "" +"Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" +"func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:func:" +"`PyMem_RawCalloc`." +msgstr "" +"Якщо *p* не має значення ``NULL``, воно має бути повернуто попереднім " +"викликом :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` або :c:func:" +"`PyMem_RawCalloc`." + +msgid "" +"If the request fails, :c:func:`PyMem_RawRealloc` returns ``NULL`` and *p* " +"remains a valid pointer to the previous memory area." +msgstr "" +"Якщо запит завершується невдало, :c:func:`PyMem_RawRealloc` повертає " +"``NULL``, а *p* залишається дійсним покажчиком на попередню область пам’яті." + +msgid "" +"Frees the memory block pointed to by *p*, which must have been returned by a " +"previous call to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:" +"func:`PyMem_RawCalloc`. Otherwise, or if ``PyMem_RawFree(p)`` has been " +"called before, undefined behavior occurs." +msgstr "" +"Звільняє блок пам’яті, на який вказує *p*, який мав бути повернутий " +"попереднім викликом :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` " +"або :c:func:`PyMem_RawCalloc`. В іншому випадку, або якщо " +"``PyMem_RawFree(p)`` був викликаний раніше, виникає невизначена поведінка." + +msgid "If *p* is ``NULL``, no operation is performed." +msgstr "Якщо *p* має значення ``NULL``, жодна операція не виконується." + +msgid "Memory Interface" +msgstr "Інтерфейс пам'яті" + +msgid "" +"The following function sets, modeled after the ANSI C standard, but " +"specifying behavior when requesting zero bytes, are available for allocating " +"and releasing memory from the Python heap." +msgstr "" +"Наступні набори функцій, створені за стандартом ANSI C, але вказуючи " +"поведінку під час запиту нульових байтів, доступні для виділення та " +"звільнення пам’яті з купи Python." + +msgid "" +"The :ref:`default memory allocator ` uses the :" +"ref:`pymalloc memory allocator `." +msgstr "" +":ref:`розподільник пам’яті за замовчуванням ` " +"використовує :ref:`розподільник пам’яті pymalloc `." + +msgid "" +"The :term:`GIL ` must be held when using these " +"functions." +msgstr "" +":term:`GIL ` має зберігатися під час використання " +"цих функцій." + +msgid "" +"The default allocator is now pymalloc instead of system :c:func:`malloc`." +msgstr "" +"Типовим розподільником тепер є pymalloc замість system :c:func:`malloc`." + +msgid "" +"Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " +"as if ``PyMem_Malloc(1)`` had been called instead. The memory will not have " +"been initialized in any way." +msgstr "" +"Запит нульових байтів повертає окремий вказівник, відмінний від ``NULL``, " +"якщо це можливо, ніби замість цього було викликано ``PyMem_Malloc(1)``. " +"Пам'ять жодним чином не буде ініціалізовано." + +msgid "" +"Requesting zero elements or elements of size zero bytes returns a distinct " +"non-``NULL`` pointer if possible, as if ``PyMem_Calloc(1, 1)`` had been " +"called instead." +msgstr "" +"Запит нульових елементів або елементів розміром нуль байтів повертає окремий " +"вказівник, відмінний від ``NULL``, якщо це можливо, як якщо б замість цього " +"було викликано ``PyMem_Calloc(1, 1)``." + +msgid "" +"If *p* is ``NULL``, the call is equivalent to ``PyMem_Malloc(n)``; else if " +"*n* is equal to zero, the memory block is resized but is not freed, and the " +"returned pointer is non-``NULL``." +msgstr "" +"Якщо *p* має значення ``NULL``, виклик еквівалентний ``PyMem_Malloc(n)``; " +"інакше, якщо *n* дорівнює нулю, розмір блоку пам’яті змінюється, але не " +"звільняється, а повернутий вказівник не є ``NULL``." + +msgid "" +"Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" +"func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:`PyMem_Calloc`." +msgstr "" +"Якщо *p* не має значення ``NULL``, воно має бути повернуто попереднім " +"викликом :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` або :c:func:" +"`PyMem_Calloc`." + +msgid "" +"If the request fails, :c:func:`PyMem_Realloc` returns ``NULL`` and *p* " +"remains a valid pointer to the previous memory area." +msgstr "" +"Якщо запит не вдається, :c:func:`PyMem_Realloc` повертає ``NULL``, а *p* " +"залишається дійсним покажчиком на попередню область пам’яті." + +msgid "" +"Frees the memory block pointed to by *p*, which must have been returned by a " +"previous call to :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:" +"`PyMem_Calloc`. Otherwise, or if ``PyMem_Free(p)`` has been called before, " +"undefined behavior occurs." +msgstr "" +"Звільняє блок пам’яті, на який вказує *p*, який мав бути повернутий " +"попереднім викликом :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` або :c:" +"func:`PyMem_Calloc`. В іншому випадку, або якщо ``PyMem_Free(p)`` був " +"викликаний раніше, виникає невизначена поведінка." + +msgid "" +"The following type-oriented macros are provided for convenience. Note that " +"*TYPE* refers to any C type." +msgstr "" +"Для зручності надано наступні типоорієнтовані макроси. Зауважте, що *TYPE* " +"відноситься до будь-якого типу C." + +msgid "" +"Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " +"of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not " +"have been initialized in any way." +msgstr "" + +msgid "" +"Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " +"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On " +"return, *p* will be a pointer to the new memory area, or ``NULL`` in the " +"event of failure." +msgstr "" + +msgid "" +"This is a C preprocessor macro; *p* is always reassigned. Save the original " +"value of *p* to avoid losing memory when handling errors." +msgstr "" +"Це макрос препроцесора C; *p* завжди перепризначається. Збережіть початкове " +"значення *p*, щоб уникнути втрати пам’яті під час обробки помилок." + +msgid "Same as :c:func:`PyMem_Free`." +msgstr "Те саме, що :c:func:`PyMem_Free`." + +msgid "" +"In addition, the following macro sets are provided for calling the Python " +"memory allocator directly, without involving the C API functions listed " +"above. However, note that their use does not preserve binary compatibility " +"across Python versions and is therefore deprecated in extension modules." +msgstr "" +"Крім того, наведені нижче набори макросів надаються для безпосереднього " +"виклику розподільника пам’яті Python без залучення функцій C API, " +"перелічених вище. Однак зауважте, що їх використання не зберігає двійкову " +"сумісність між версіями Python і тому не підтримується в модулях розширення." + +msgid "``PyMem_MALLOC(size)``" +msgstr "``PyMem_MALLOC(розмір)``" + +msgid "``PyMem_NEW(type, size)``" +msgstr "``PyMem_NEW(тип, розмір)``" + +msgid "``PyMem_REALLOC(ptr, size)``" +msgstr "``PyMem_REALLOC(ptr, size)``" + +msgid "``PyMem_RESIZE(ptr, type, size)``" +msgstr "``PyMem_RESIZE(ptr, тип, розмір)``" + +msgid "``PyMem_FREE(ptr)``" +msgstr "``PyMem_FREE(ptr)``" + +msgid "``PyMem_DEL(ptr)``" +msgstr "``PyMem_DEL(ptr)``" + +msgid "Object allocators" +msgstr "Розподільники об'єктів" + +msgid "" +"There is no guarantee that the memory returned by these allocators can be " +"successfully cast to a Python object when intercepting the allocating " +"functions in this domain by the methods described in the :ref:`Customize " +"Memory Allocators ` section." +msgstr "" +"Немає жодної гарантії, що пам’ять, повернута цими розподільниками, може бути " +"успішно передана об’єкту Python під час перехоплення функцій виділення в " +"цьому домені за допомогою методів, описаних у розділі :ref:`Налаштування " +"розподільників пам’яті `." + +msgid "" +"The :ref:`default object allocator ` uses the :" +"ref:`pymalloc memory allocator `." +msgstr "" +":ref:`розподільник об’єктів за замовчуванням ` " +"використовує :ref:`розподільник пам’яті pymalloc `." + +msgid "" +"Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " +"as if ``PyObject_Malloc(1)`` had been called instead. The memory will not " +"have been initialized in any way." +msgstr "" +"Запит нульових байтів повертає окремий покажчик, відмінний від ``NULL``, " +"якщо це можливо, ніби замість цього було викликано ``PyObject_Malloc(1)``. " +"Пам'ять жодним чином не буде ініціалізовано." + +msgid "" +"Requesting zero elements or elements of size zero bytes returns a distinct " +"non-``NULL`` pointer if possible, as if ``PyObject_Calloc(1, 1)`` had been " +"called instead." +msgstr "" +"Запит нульових елементів або елементів розміром нуль байтів повертає окремий " +"вказівник, відмінний від ``NULL``, якщо це можливо, як якщо б замість цього " +"було викликано ``PyObject_Calloc(1, 1)``." + +msgid "" +"If *p* is ``NULL``, the call is equivalent to ``PyObject_Malloc(n)``; else " +"if *n* is equal to zero, the memory block is resized but is not freed, and " +"the returned pointer is non-``NULL``." +msgstr "" +"Якщо *p* має значення ``NULL``, виклик еквівалентний ``PyObject_Malloc(n)``; " +"інакше, якщо *n* дорівнює нулю, розмір блоку пам’яті змінюється, але не " +"звільняється, а повернутий вказівник не є ``NULL``." + +msgid "" +"Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" +"func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:func:" +"`PyObject_Calloc`." +msgstr "" +"Якщо *p* не має значення ``NULL``, воно має бути повернуто попереднім " +"викликом :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` або :c:func:" +"`PyObject_Calloc`." + +msgid "" +"If the request fails, :c:func:`PyObject_Realloc` returns ``NULL`` and *p* " +"remains a valid pointer to the previous memory area." +msgstr "" +"Якщо запит не вдається, :c:func:`PyObject_Realloc` повертає ``NULL``, а *p* " +"залишається дійсним покажчиком на попередню область пам’яті." + +msgid "" +"Frees the memory block pointed to by *p*, which must have been returned by a " +"previous call to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:" +"func:`PyObject_Calloc`. Otherwise, or if ``PyObject_Free(p)`` has been " +"called before, undefined behavior occurs." +msgstr "" +"Звільняє блок пам’яті, на який вказує *p*, який мав бути повернутий " +"попереднім викликом :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` " +"або :c:func:`PyObject_Calloc`. В іншому випадку, або якщо " +"``PyObject_Free(p)`` був викликаний раніше, виникає невизначена поведінка." + +msgid "Default Memory Allocators" +msgstr "Типові розподілювачі пам'яті" + +msgid "Default memory allocators:" +msgstr "Розподільники пам'яті за замовчуванням:" + +msgid "Configuration" +msgstr "Конфігурація" + +msgid "Name" +msgstr "Ім'я" + +msgid "PyMem_RawMalloc" +msgstr "PyMem_RawMalloc" + +msgid "PyMem_Malloc" +msgstr "PyMem_Malloc" + +msgid "PyObject_Malloc" +msgstr "PyObject_Malloc" + +msgid "Release build" +msgstr "Реліз збірки" + +msgid "``\"pymalloc\"``" +msgstr "``\"pymalloc\"``" + +msgid "``malloc``" +msgstr "``malloc``" + +msgid "``pymalloc``" +msgstr "``pymalloc``" + +msgid "Debug build" +msgstr "Налагодити збірку" + +msgid "``\"pymalloc_debug\"``" +msgstr "``\"pymalloc_debug\"``" + +msgid "``malloc`` + debug" +msgstr "``malloc`` + налагодження" + +msgid "``pymalloc`` + debug" +msgstr "``pymalloc`` + налагодження" + +msgid "Release build, without pymalloc" +msgstr "Випуск збірки без pymalloc" + +msgid "``\"malloc\"``" +msgstr "``\"malloc\"``" + +msgid "Debug build, without pymalloc" +msgstr "Збірка налагодження без pymalloc" + +msgid "``\"malloc_debug\"``" +msgstr "``\"malloc_debug\"``" + +msgid "Legend:" +msgstr "Легенда:" + +msgid "Name: value for :envvar:`PYTHONMALLOC` environment variable." +msgstr "Ім’я: значення для змінної середовища :envvar:`PYTHONMALLOC`." + +msgid "" +"``malloc``: system allocators from the standard C library, C functions: :c:" +"func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`." +msgstr "" +"``malloc``: системні розподільники зі стандартної бібліотеки C, функції C: :" +"c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` і :c:func:`free`." + +msgid "``pymalloc``: :ref:`pymalloc memory allocator `." +msgstr "``pymalloc``: :ref:`розподіл пам'яті pymalloc `." + +msgid "" +"\"+ debug\": with :ref:`debug hooks on the Python memory allocators `." +msgstr "" +"\"+ debug\": з :ref:`debug хуками розподільників пам’яті Python `." + +msgid "\"Debug build\": :ref:`Python build in debug mode `." +msgstr "" +"\"Налагоджувальна збірка\": :ref:`Збірка Python у режимі налагодження `." + +msgid "Customize Memory Allocators" +msgstr "Налаштувати розподільники пам'яті" + +msgid "" +"Structure used to describe a memory block allocator. The structure has the " +"following fields:" +msgstr "" +"Структура, яка використовується для опису розподілювача блоків пам'яті. " +"Структура має такі поля:" + +msgid "Field" +msgstr "Поле" + +msgid "Meaning" +msgstr "Значення" + +msgid "``void *ctx``" +msgstr "``недійсний *ctx``" + +msgid "user context passed as first argument" +msgstr "контекст користувача, переданий як перший аргумент" + +msgid "``void* malloc(void *ctx, size_t size)``" +msgstr "``void* malloc(void *ctx, size_t size)``" + +msgid "allocate a memory block" +msgstr "виділити блок пам'яті" + +msgid "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" +msgstr "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" + +msgid "allocate a memory block initialized with zeros" +msgstr "виділити блок пам'яті, ініціалізований нулями" + +msgid "``void* realloc(void *ctx, void *ptr, size_t new_size)``" +msgstr "``void* realloc(void *ctx, void *ptr, size_t new_size)``" + +msgid "allocate or resize a memory block" +msgstr "виділити або змінити розмір блоку пам'яті" + +msgid "``void free(void *ctx, void *ptr)``" +msgstr "``void free(void *ctx, void *ptr)``" + +msgid "free a memory block" +msgstr "звільнити блок пам'яті" + +msgid "" +"The :c:type:`PyMemAllocator` structure was renamed to :c:type:" +"`PyMemAllocatorEx` and a new ``calloc`` field was added." +msgstr "" +"Структуру :c:type:`PyMemAllocator` було перейменовано на :c:type:" +"`PyMemAllocatorEx` і додано нове поле ``calloc``." + +msgid "Enum used to identify an allocator domain. Domains:" +msgstr "Enum використовується для визначення домену розподілювача. Домени:" + +msgid "Functions:" +msgstr "функції:" + +msgid ":c:func:`PyMem_RawMalloc`" +msgstr ":c:func:`PyMem_RawMalloc`" + +msgid ":c:func:`PyMem_RawRealloc`" +msgstr ":c:func:`PyMem_RawRealloc`" + +msgid ":c:func:`PyMem_RawCalloc`" +msgstr ":c:func:`PyMem_RawCalloc`" + +msgid ":c:func:`PyMem_RawFree`" +msgstr ":c:func:`PyMem_RawFree`" + +msgid ":c:func:`PyMem_Malloc`," +msgstr ":c:func:`PyMem_Malloc`," + +msgid ":c:func:`PyMem_Realloc`" +msgstr ":c:func:`PyMem_Realloc`" + +msgid ":c:func:`PyMem_Calloc`" +msgstr ":c:func:`PyMem_Calloc`" + +msgid ":c:func:`PyMem_Free`" +msgstr ":c:func:`PyMem_Free`" + +msgid ":c:func:`PyObject_Malloc`" +msgstr ":c:func:`PyObject_Malloc`" + +msgid ":c:func:`PyObject_Realloc`" +msgstr ":c:func:`PyObject_Realloc`" + +msgid ":c:func:`PyObject_Calloc`" +msgstr ":c:func:`PyObject_Calloc`" + +msgid ":c:func:`PyObject_Free`" +msgstr ":c:func:`PyObject_Free`" + +msgid "Get the memory block allocator of the specified domain." +msgstr "Отримати розподільник блоків пам’яті вказаного домену." + +msgid "Set the memory block allocator of the specified domain." +msgstr "Установіть розподільник блоків пам'яті для вказаного домену." + +msgid "" +"The new allocator must return a distinct non-``NULL`` pointer when " +"requesting zero bytes." +msgstr "" +"Новий розподільник має повертати окремий покажчик, відмінний від ``NULL``, " +"коли запитує нульові байти." + +msgid "" +"For the :c:data:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" +"safe: the :term:`GIL ` is not held when the " +"allocator is called." +msgstr "" +"Для домену :c:data:`PYMEM_DOMAIN_RAW` розподільник має бути " +"потокобезпечним: :term:`GIL ` не утримується під " +"час виклику розподілювача." + +msgid "" +"If the new allocator is not a hook (does not call the previous allocator), " +"the :c:func:`PyMem_SetupDebugHooks` function must be called to reinstall the " +"debug hooks on top on the new allocator." +msgstr "" +"Якщо новий розподільник не є хуком (не викликає попереднього розподільника), " +"необхідно викликати функцію :c:func:`PyMem_SetupDebugHooks`, щоб " +"перевстановити налагоджувальні хуки поверх нового розподільника." + +msgid "" +"See also :c:member:`PyPreConfig.allocator` and :ref:`Preinitialize Python " +"with PyPreConfig `." +msgstr "" + +msgid ":c:func:`PyMem_SetAllocator` does have the following contract:" +msgstr "" + +msgid "" +"It can be called after :c:func:`Py_PreInitialize` and before :c:func:" +"`Py_InitializeFromConfig` to install a custom memory allocator. There are no " +"restrictions over the installed allocator other than the ones imposed by the " +"domain (for instance, the Raw Domain allows the allocator to be called " +"without the GIL held). See :ref:`the section on allocator domains ` for more information." +msgstr "" + +msgid "" +"If called after Python has finish initializing (after :c:func:" +"`Py_InitializeFromConfig` has been called) the allocator **must** wrap the " +"existing allocator. Substituting the current allocator for some other " +"arbitrary one is **not supported**." +msgstr "" + +msgid "" +"Setup :ref:`debug hooks in the Python memory allocators ` " +"to detect memory errors." +msgstr "" +"Налаштування :ref:`налагоджувальних хуків у розподільниках пам’яті Python " +"` для виявлення помилок пам’яті." + +msgid "Debug hooks on the Python memory allocators" +msgstr "Налагодження перехоплювачів розподілювачів пам’яті Python" + +msgid "" +"When :ref:`Python is built in debug mode `, the :c:func:" +"`PyMem_SetupDebugHooks` function is called at the :ref:`Python " +"preinitialization ` to setup debug hooks on Python memory " +"allocators to detect memory errors." +msgstr "" +"Коли :ref:`Python зібрано в режимі налагодження `, функція :c:" +"func:`PyMem_SetupDebugHooks` викликається під час :ref:`попередньої " +"ініціалізації Python `, щоб налаштувати перехоплення налагодження " +"на розподільниках пам’яті Python для виявлення помилок пам’яті." + +msgid "" +"The :envvar:`PYTHONMALLOC` environment variable can be used to install debug " +"hooks on a Python compiled in release mode (ex: ``PYTHONMALLOC=debug``)." +msgstr "" +"Змінну оточення :envvar:`PYTHONMALLOC` можна використовувати для " +"встановлення хуків налагодження на Python, скомпільованому в режимі випуску " +"(наприклад: ``PYTHONMALLOC=debug``)." + +msgid "" +"The :c:func:`PyMem_SetupDebugHooks` function can be used to set debug hooks " +"after calling :c:func:`PyMem_SetAllocator`." +msgstr "" +"Функцію :c:func:`PyMem_SetupDebugHooks` можна використати для встановлення " +"хуків налагодження після виклику :c:func:`PyMem_SetAllocator`." + +msgid "" +"These debug hooks fill dynamically allocated memory blocks with special, " +"recognizable bit patterns. Newly allocated memory is filled with the byte " +"``0xCD`` (``PYMEM_CLEANBYTE``), freed memory is filled with the byte " +"``0xDD`` (``PYMEM_DEADBYTE``). Memory blocks are surrounded by \"forbidden " +"bytes\" filled with the byte ``0xFD`` (``PYMEM_FORBIDDENBYTE``). Strings of " +"these bytes are unlikely to be valid addresses, floats, or ASCII strings." +msgstr "" +"Ці хуки налагодження заповнюють динамічно виділені блоки пам’яті " +"спеціальними розпізнаваними бітовими шаблонами. Щойно виділена пам'ять " +"заповнюється байтом ``0xCD`` (``PYMEM_CLEANBYTE``), звільнена пам'ять " +"заповнюється байтом ``0xDD`` (``PYMEM_DEADBYTE``). Блоки пам'яті оточені " +"\"забороненими байтами\", заповненими байтом ``0xFD`` " +"(``PYMEM_FORBIDDENBYTE``). Рядки цих байтів навряд чи будуть дійсними " +"адресами, числами з плаваючою точкою або рядками ASCII." + +msgid "Runtime checks:" +msgstr "Перевірки виконання:" + +msgid "" +"Detect API violations. For example, detect if :c:func:`PyObject_Free` is " +"called on a memory block allocated by :c:func:`PyMem_Malloc`." +msgstr "" +"Виявлення порушень API. Наприклад, виявити, чи викликається :c:func:" +"`PyObject_Free` для блоку пам’яті, виділеного :c:func:`PyMem_Malloc`." + +msgid "Detect write before the start of the buffer (buffer underflow)." +msgstr "Виявлення запису до початку буфера (переповнення буфера)." + +msgid "Detect write after the end of the buffer (buffer overflow)." +msgstr "Виявлення запису після закінчення буфера (переповнення буфера)." + +msgid "" +"Check that the :term:`GIL ` is held when allocator " +"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" +"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." +msgstr "" +"Переконайтеся, що :term:`GIL ` зберігається, коли " +"функції розподільника :c:data:`PYMEM_DOMAIN_OBJ` (наприклад: :c:func:" +"`PyObject_Malloc`) і :c:data:`PYMEM_DOMAIN_MEM` (наприклад: :c:func:" +"`PyMem_Malloc`) викликаються домени." + +msgid "" +"On error, the debug hooks use the :mod:`tracemalloc` module to get the " +"traceback where a memory block was allocated. The traceback is only " +"displayed if :mod:`tracemalloc` is tracing Python memory allocations and the " +"memory block was traced." +msgstr "" +"У разі помилки хуки налагодження використовують модуль :mod:`tracemalloc`, " +"щоб отримати зворотне відстеження, де було виділено блок пам’яті. Зворотне " +"відстеження відображається, лише якщо :mod:`tracemalloc` відстежує виділення " +"пам’яті Python і блок пам’яті відстежується." + +msgid "" +"Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each " +"block of *N* bytes requested. The memory layout is like so, where p " +"represents the address returned by a malloc-like or realloc-like function " +"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to ``*(p" +"+j)`` exclusive; note that the treatment of negative indices differs from a " +"Python slice):" +msgstr "" +"Нехай *S* = ``sizeof(size_t)``. ``2*S`` байти додаються на кожному кінці " +"кожного запитуваного блоку *N* байтів. Схема пам’яті така, де p представляє " +"адресу, повернуту функцією, подібною до malloc або realloc (``p[i:j]`` " +"означає зріз байтів з ``*(p+i)`` включно до ``*(p+j)`` винятково; зауважте, " +"що обробка від’ємних індексів відрізняється від фрагмента Python):" + +msgid "``p[-2*S:-S]``" +msgstr "``p[-2*S:-S]``" + +msgid "" +"Number of bytes originally asked for. This is a size_t, big-endian (easier " +"to read in a memory dump)." +msgstr "" +"Первісно запитана кількість байтів. Це size_t, big-endian (легше читати в " +"дампі пам’яті)." + +msgid "``p[-S]``" +msgstr "``p[-S]``" + +msgid "API identifier (ASCII character):" +msgstr "Ідентифікатор API (символ ASCII):" + +msgid "``'r'`` for :c:data:`PYMEM_DOMAIN_RAW`." +msgstr "``'r'`` для :c:data:`PYMEM_DOMAIN_RAW`." + +msgid "``'m'`` for :c:data:`PYMEM_DOMAIN_MEM`." +msgstr "``'m''`` для :c:data:`PYMEM_DOMAIN_MEM`." + +msgid "``'o'`` for :c:data:`PYMEM_DOMAIN_OBJ`." +msgstr "``'o'`` для :c:data:`PYMEM_DOMAIN_OBJ`." + +msgid "``p[-S+1:0]``" +msgstr "``p[-S+1:0]``" + +msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch under- writes and reads." +msgstr "" +"Копії PYMEM_FORBIDDENBYTE. Використовується для перехоплення недописів і " +"читань." + +msgid "``p[0:N]``" +msgstr "``p[0:N]``" + +msgid "" +"The requested memory, filled with copies of PYMEM_CLEANBYTE, used to catch " +"reference to uninitialized memory. When a realloc-like function is called " +"requesting a larger memory block, the new excess bytes are also filled with " +"PYMEM_CLEANBYTE. When a free-like function is called, these are overwritten " +"with PYMEM_DEADBYTE, to catch reference to freed memory. When a realloc- " +"like function is called requesting a smaller memory block, the excess old " +"bytes are also filled with PYMEM_DEADBYTE." +msgstr "" +"Запитана пам'ять, заповнена копіями PYMEM_CLEANBYTE, використовувалася для " +"перехоплення посилань на неініціалізовану пам'ять. Коли функція, подібна до " +"realloc, викликається із запитом більшого блоку пам’яті, нові надлишкові " +"байти також заповнюються PYMEM_CLEANBYTE. Коли викликається функція, подібна " +"до вільної, вони перезаписуються на PYMEM_DEADBYTE, щоб перехопити посилання " +"на звільнену пам’ять. Коли функція, подібна до realloc, викликається із " +"запитом на менший блок пам’яті, зайві старі байти також заповнюються " +"PYMEM_DEADBYTE." + +msgid "``p[N:N+S]``" +msgstr "``p[N:N+S]``" + +msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch over- writes and reads." +msgstr "" +"Копії PYMEM_FORBIDDENBYTE. Використовується для перехоплення перезапису та " +"читання." + +msgid "``p[N+S:N+2*S]``" +msgstr "``p[N+S:N+2*S]``" + +msgid "" +"Only used if the ``PYMEM_DEBUG_SERIALNO`` macro is defined (not defined by " +"default)." +msgstr "" +"Використовується, лише якщо визначено макрос ``PYMEM_DEBUG_SERIALNO`` (не " +"визначено за замовчуванням)." + +msgid "" +"A serial number, incremented by 1 on each call to a malloc-like or realloc-" +"like function. Big-endian ``size_t``. If \"bad memory\" is detected later, " +"the serial number gives an excellent way to set a breakpoint on the next " +"run, to capture the instant at which this block was passed out. The static " +"function bumpserialno() in obmalloc.c is the only place the serial number is " +"incremented, and exists so you can set such a breakpoint easily." +msgstr "" +"Серійний номер, збільшений на 1 під час кожного виклику функції, подібної до " +"malloc або realloc. Стартовий порядок ``size_t``. Якщо \"погана пам’ять\" " +"буде виявлена пізніше, серійний номер дає чудовий спосіб встановити точку " +"зупинки під час наступного запуску, щоб зафіксувати момент, коли цей блок " +"було видалено. Статична функція bumpserialno() у obmalloc.c є єдиним місцем, " +"де збільшується серійний номер, і існує, тому ви можете легко встановити " +"таку точку зупину." + +msgid "" +"A realloc-like or free-like function first checks that the " +"PYMEM_FORBIDDENBYTE bytes at each end are intact. If they've been altered, " +"diagnostic output is written to stderr, and the program is aborted via " +"Py_FatalError(). The other main failure mode is provoking a memory error " +"when a program reads up one of the special bit patterns and tries to use it " +"as an address. If you get in a debugger then and look at the object, you're " +"likely to see that it's entirely filled with PYMEM_DEADBYTE (meaning freed " +"memory is getting used) or PYMEM_CLEANBYTE (meaning uninitialized memory is " +"getting used)." +msgstr "" +"Функція, подібна до realloc або free, спочатку перевіряє, чи не пошкоджені " +"байти PYMEM_FORBIDDENBYTE на кожному кінці. Якщо їх було змінено, " +"діагностичний вихід записується в stderr, а програма переривається через " +"Py_FatalError(). Інший основний тип помилки - це провокація помилки пам'яті, " +"коли програма зчитує один із спеціальних бітових шаблонів і намагається " +"використати його як адресу. Якщо ви зайдете в налагоджувач і подивіться на " +"об’єкт, ви, ймовірно, побачите, що він повністю заповнений PYMEM_DEADBYTE " +"(це означає, що звільнена пам’ять використовується) або PYMEM_CLEANBYTE (це " +"означає, що неініціалізована пам’ять використовується)." + +msgid "" +"The :c:func:`PyMem_SetupDebugHooks` function now also works on Python " +"compiled in release mode. On error, the debug hooks now use :mod:" +"`tracemalloc` to get the traceback where a memory block was allocated. The " +"debug hooks now also check if the GIL is held when functions of :c:data:" +"`PYMEM_DOMAIN_OBJ` and :c:data:`PYMEM_DOMAIN_MEM` domains are called." +msgstr "" +"Функція :c:func:`PyMem_SetupDebugHooks` тепер також працює на Python, " +"скомпільованому в режимі випуску. У разі помилки хуки налагодження тепер " +"використовують :mod:`tracemalloc` для отримання зворотного відстеження, де " +"було виділено блок пам’яті. Хуки налагодження тепер також перевіряють, чи " +"утримується GIL під час виклику функцій доменів :c:data:`PYMEM_DOMAIN_OBJ` " +"і :c:data:`PYMEM_DOMAIN_MEM`." + +msgid "" +"Byte patterns ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) " +"and ``0xFB`` (``PYMEM_FORBIDDENBYTE``) have been replaced with ``0xCD``, " +"``0xDD`` and ``0xFD`` to use the same values than Windows CRT debug " +"``malloc()`` and ``free()``." +msgstr "" +"Шаблони байтів ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) " +"і ``0xFB`` (``PYMEM_FORBIDDENBYTE``) були замінені на ``0xCD``, ``0xDD`` і " +"``0xFD``, щоб використовувати ті самі значення, що й ``malloc()`` і " +"``free()`` для налагодження Windows CRT." + +msgid "The pymalloc allocator" +msgstr "Розподільник pymalloc" + +msgid "" +"Python has a *pymalloc* allocator optimized for small objects (smaller or " +"equal to 512 bytes) with a short lifetime. It uses memory mappings called " +"\"arenas\" with a fixed size of 256 KiB. It falls back to :c:func:" +"`PyMem_RawMalloc` and :c:func:`PyMem_RawRealloc` for allocations larger than " +"512 bytes." +msgstr "" +"Python має розподільник *pymalloc*, оптимізований для малих об’єктів (менших " +"або рівних 512 байтам) із коротким часом життя. Він використовує " +"відображення пам’яті, які називаються \"аренами\" з фіксованим розміром 256 " +"КБ. Він повертається до :c:func:`PyMem_RawMalloc` і :c:func:" +"`PyMem_RawRealloc` для розподілу розміром більше 512 байт." + +msgid "" +"*pymalloc* is the :ref:`default allocator ` of " +"the :c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) and :c:data:" +"`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) domains." +msgstr "" +"*pymalloc* є :ref:`розподільником за замовчуванням ` :c:data:`PYMEM_DOMAIN_MEM` (наприклад: :c:func:`PyMem_Malloc`) " +"і :c:data:`PYMEM_DOMAIN_OBJ` (наприклад: :c:func:`PyObject_Malloc`)." + +msgid "The arena allocator uses the following functions:" +msgstr "Розподільник арени використовує такі функції:" + +msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows," +msgstr ":c:func:`VirtualAlloc` і :c:func:`VirtualFree` у Windows," + +msgid ":c:func:`mmap` and :c:func:`munmap` if available," +msgstr ":c:func:`mmap` і :c:func:`munmap`, якщо доступні," + +msgid ":c:func:`malloc` and :c:func:`free` otherwise." +msgstr ":c:func:`malloc` і :c:func:`free` інакше." + +msgid "" +"This allocator is disabled if Python is configured with the :option:`--" +"without-pymalloc` option. It can also be disabled at runtime using the :" +"envvar:`PYTHONMALLOC` environment variable (ex: ``PYTHONMALLOC=malloc``)." +msgstr "" +"Цей розподільник вимкнено, якщо Python налаштовано з параметром :option:`--" +"without-pymalloc`. Його також можна вимкнути під час виконання за допомогою " +"змінної середовища :envvar:`PYTHONMALLOC` (наприклад: " +"``PYTHONMALLOC=malloc``)." + +msgid "Customize pymalloc Arena Allocator" +msgstr "Налаштувати pymalloc Arena Allocator" + +msgid "" +"Structure used to describe an arena allocator. The structure has three " +"fields:" +msgstr "" +"Структура, яка використовується для опису розподільника арен. Структура має " +"три поля:" + +msgid "``void* alloc(void *ctx, size_t size)``" +msgstr "``void* alloc(void *ctx, size_t size)``" + +msgid "allocate an arena of size bytes" +msgstr "виділити арену розміром байт" + +msgid "``void free(void *ctx, void *ptr, size_t size)``" +msgstr "``void free(void *ctx, void *ptr, size_t size)``" + +msgid "free an arena" +msgstr "звільнити арену" + +msgid "Get the arena allocator." +msgstr "Отримайте розподільник арен." + +msgid "Set the arena allocator." +msgstr "Встановіть розподільник арен." + +msgid "tracemalloc C API" +msgstr "tracemalloc C API" + +msgid "Track an allocated memory block in the :mod:`tracemalloc` module." +msgstr "Відстежуйте виділений блок пам’яті в модулі :mod:`tracemalloc`." + +msgid "" +"Return ``0`` on success, return ``-1`` on error (failed to allocate memory " +"to store the trace). Return ``-2`` if tracemalloc is disabled." +msgstr "" +"Повертає ``0`` у разі успіху, повертає ``-1`` у разі помилки (не вдалося " +"виділити пам’ять для збереження трасування). Повертає ``-2``, якщо " +"tracemalloc вимкнено." + +msgid "If memory block is already tracked, update the existing trace." +msgstr "Якщо блок пам’яті вже відстежується, оновіть наявне трасування." + +msgid "" +"Untrack an allocated memory block in the :mod:`tracemalloc` module. Do " +"nothing if the block was not tracked." +msgstr "" +"Скасувати відстеження виділеного блоку пам’яті в модулі :mod:`tracemalloc`. " +"Нічого не робити, якщо блок не відстежується." + +msgid "Return ``-2`` if tracemalloc is disabled, otherwise return ``0``." +msgstr "Повертає ``-2``, якщо tracemalloc вимкнено, інакше повертає ``0``." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Here is the example from section :ref:`memoryoverview`, rewritten so that " +"the I/O buffer is allocated from the Python heap by using the first function " +"set::" +msgstr "" +"Ось приклад із розділу :ref:`memoryoverview`, переписаний таким чином, що " +"буфер введення/виведення виділяється з купи Python за допомогою першого " +"набору функцій::" + +msgid "The same code using the type-oriented function set::" +msgstr "Той самий код із використанням типу орієнтованого набору функцій::" + +msgid "" +"Note that in the two examples above, the buffer is always manipulated via " +"functions belonging to the same set. Indeed, it is required to use the same " +"memory API family for a given memory block, so that the risk of mixing " +"different allocators is reduced to a minimum. The following code sequence " +"contains two errors, one of which is labeled as *fatal* because it mixes two " +"different allocators operating on different heaps. ::" +msgstr "" +"Зауважте, що у двох наведених вище прикладах буфером завжди керують функції, " +"що належать одному набору. Дійсно, для певного блоку пам’яті потрібно " +"використовувати одне й те саме сімейство API пам’яті, щоб ризик змішування " +"різних розподільників був зведений до мінімуму. Наступна кодова " +"послідовність містить дві помилки, одна з яких позначена як *фатальна*, " +"оскільки вона змішує два різних розподільника, що працюють на різних " +"купах. ::" + +msgid "" +"In addition to the functions aimed at handling raw memory blocks from the " +"Python heap, objects in Python are allocated and released with :c:func:" +"`PyObject_New`, :c:func:`PyObject_NewVar` and :c:func:`PyObject_Del`." +msgstr "" +"На додаток до функцій, спрямованих на обробку необроблених блоків пам’яті з " +"купи Python, об’єкти в Python виділяються та звільняються за допомогою :c:" +"func:`PyObject_New`, :c:func:`PyObject_NewVar` і :c:func:`PyObject_Del` ." + +msgid "" +"These will be explained in the next chapter on defining and implementing new " +"object types in C." +msgstr "" +"Це буде пояснено в наступному розділі про визначення та реалізацію нових " +"типів об’єктів у C." diff --git a/c-api/memoryview.po b/c-api/memoryview.po new file mode 100644 index 000000000..9ad4f3d88 --- /dev/null +++ b/c-api/memoryview.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "MemoryView objects" +msgstr "Об'єкти MemoryView" + +msgid "" +"A :class:`memoryview` object exposes the C level :ref:`buffer interface " +"` as a Python object which can then be passed around like any " +"other object." +msgstr "" +"Об’єкт :class:`memoryview` розкриває :ref:`інтерфейс буфера рівня C " +"` як об’єкт Python, який потім можна передавати, як будь-який " +"інший об’єкт." + +msgid "" +"Create a memoryview object from an object that provides the buffer " +"interface. If *obj* supports writable buffer exports, the memoryview object " +"will be read/write, otherwise it may be either read-only or read/write at " +"the discretion of the exporter." +msgstr "" +"Створіть об’єкт memoryview з об’єкта, який забезпечує інтерфейс буфера. Якщо " +"*obj* підтримує експорт буфера для запису, об’єкт memoryview буде читати/" +"записувати, інакше він може бути або лише для читання, або для читання/" +"запису на розсуд експортера." + +msgid "" +"Create a memoryview object using *mem* as the underlying buffer. *flags* can " +"be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." +msgstr "" +"Створіть об’єкт memoryview, використовуючи *mem* як базовий буфер. *flags* " +"може бути одним із :c:macro:`PyBUF_READ` або :c:macro:`PyBUF_WRITE`." + +msgid "" +"Create a memoryview object wrapping the given buffer structure *view*. For " +"simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the preferred " +"function." +msgstr "" +"Створіть об’єкт memoryview, що обгортає задану структуру буфера *view*. Для " +"простих байтових буферів перевагою є функція :c:func:" +"`PyMemoryView_FromMemory`." + +msgid "" +"Create a memoryview object to a :term:`contiguous` chunk of memory (in " +"either 'C' or 'F'ortran *order*) from an object that defines the buffer " +"interface. If memory is contiguous, the memoryview object points to the " +"original memory. Otherwise, a copy is made and the memoryview points to a " +"new bytes object." +msgstr "" +"Створіть об’єкт memoryview для :term:`contiguous` фрагмента пам’яті (у " +"*порядку* \"C\" або \"F'ortran) з об’єкта, який визначає інтерфейс буфера. " +"Якщо пам’ять є суміжною, об’єкт memoryview вказує на вихідну пам’ять. В " +"іншому випадку буде зроблено копію, і memoryview вкаже на новий об’єкт bytes." + +msgid "" +"Return true if the object *obj* is a memoryview object. It is not currently " +"allowed to create subclasses of :class:`memoryview`. This function always " +"succeeds." +msgstr "" +"Повертає true, якщо об’єкт *obj* є об’єктом memoryview. Наразі не можна " +"створювати підкласи :class:`memoryview`. Ця функція завжди успішна." + +msgid "" +"Return a pointer to the memoryview's private copy of the exporter's buffer. " +"*mview* **must** be a memoryview instance; this macro doesn't check its " +"type, you must do it yourself or you will risk crashes." +msgstr "" +"Повертає вказівник на приватну копію буфера експортера для memoryview. " +"*mview* **має** бути екземпляром memoryview; цей макрос не перевіряє свій " +"тип, ви повинні зробити це самостійно, інакше ви ризикуєте збої." + +msgid "" +"Return either a pointer to the exporting object that the memoryview is based " +"on or ``NULL`` if the memoryview has been created by one of the functions :c:" +"func:`PyMemoryView_FromMemory` or :c:func:`PyMemoryView_FromBuffer`. *mview* " +"**must** be a memoryview instance." +msgstr "" +"Повертає вказівник на об’єкт експорту, на якому базується memoryview, або " +"``NULL``, якщо memoryview було створено однією з функцій :c:func:" +"`PyMemoryView_FromMemory` або :c:func:`PyMemoryView_FromBuffer`. *mview* " +"**має** бути екземпляром memoryview." diff --git a/c-api/method.po b/c-api/method.po new file mode 100644 index 000000000..89db6bde1 --- /dev/null +++ b/c-api/method.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Instance Method Objects" +msgstr "Об’єкти методу екземпляра" + +msgid "" +"An instance method is a wrapper for a :c:data:`PyCFunction` and the new way " +"to bind a :c:data:`PyCFunction` to a class object. It replaces the former " +"call ``PyMethod_New(func, NULL, class)``." +msgstr "" +"Метод екземпляра — це оболонка для :c:data:`PyCFunction` і новий спосіб " +"зв’язати :c:data:`PyCFunction` з об’єктом класу. Він замінює попередній " +"виклик ``PyMethod_New(func, NULL, class)``." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python instance " +"method type. It is not exposed to Python programs." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип методу екземпляра " +"Python. Він не піддається програмам Python." + +msgid "" +"Return true if *o* is an instance method object (has type :c:data:" +"`PyInstanceMethod_Type`). The parameter must not be ``NULL``. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо *o* є об’єктом методу екземпляра (має тип :c:data:" +"`PyInstanceMethod_Type`). Параметр не має бути ``NULL``. Ця функція завжди " +"успішна." + +msgid "" +"Return a new instance method object, with *func* being any callable object. " +"*func* is the function that will be called when the instance method is " +"called." +msgstr "" +"Повертає новий об’єкт методу примірника, де *func* є будь-яким викликаним " +"об’єктом. *func* — це функція, яка буде викликана під час виклику методу " +"екземпляра." + +msgid "Return the function object associated with the instance method *im*." +msgstr "Повертає об’єкт функції, пов’язаний із методом екземпляра *im*." + +msgid "" +"Macro version of :c:func:`PyInstanceMethod_Function` which avoids error " +"checking." +msgstr "" +"Макроверсія :c:func:`PyInstanceMethod_Function`, яка уникає перевірки " +"помилок." + +msgid "Method Objects" +msgstr "Об’єкти методу" + +msgid "" +"Methods are bound function objects. Methods are always bound to an instance " +"of a user-defined class. Unbound methods (methods bound to a class object) " +"are no longer available." +msgstr "" +"Методи є пов’язаними функціональними об’єктами. Методи завжди прив’язані до " +"екземпляра визначеного користувачем класу. Незв’язані методи (методи, " +"прив’язані до об’єкта класу) більше недоступні." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python method type. " +"This is exposed to Python programs as ``types.MethodType``." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип методу Python. Це " +"доступно для програм Python як ``types.MethodType``." + +msgid "" +"Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). " +"The parameter must not be ``NULL``. This function always succeeds." +msgstr "" +"Повертає true, якщо *o* є об’єктом методу (має тип :c:data:`PyMethod_Type`). " +"Параметр не має бути ``NULL``. Ця функція завжди успішна." + +msgid "" +"Return a new method object, with *func* being any callable object and *self* " +"the instance the method should be bound. *func* is the function that will be " +"called when the method is called. *self* must not be ``NULL``." +msgstr "" +"Повертає новий об’єкт методу, де *func* є будь-яким викликаним об’єктом, а " +"*self* — екземпляром, до якого метод має бути прив’язаний. *func* — це " +"функція, яка буде викликана під час виклику методу. *self* не має бути " +"``NULL``." + +msgid "Return the function object associated with the method *meth*." +msgstr "Повертає об’єкт функції, пов’язаний із методом *meth*." + +msgid "" +"Macro version of :c:func:`PyMethod_Function` which avoids error checking." +msgstr "Макроверсія :c:func:`PyMethod_Function`, яка уникає перевірки помилок." + +msgid "Return the instance associated with the method *meth*." +msgstr "Повертає екземпляр, пов’язаний з методом *meth*." + +msgid "Macro version of :c:func:`PyMethod_Self` which avoids error checking." +msgstr "Версія макросу :c:func:`PyMethod_Self`, яка уникає перевірки помилок." diff --git a/c-api/module.po b/c-api/module.po new file mode 100644 index 000000000..6e02e1e80 --- /dev/null +++ b/c-api/module.po @@ -0,0 +1,799 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Module Objects" +msgstr "Об’єкти модуля" + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python module type. " +"This is exposed to Python programs as ``types.ModuleType``." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип модуля Python. Це " +"доступно для програм Python як ``types.ModuleType``." + +msgid "" +"Return true if *p* is a module object, or a subtype of a module object. This " +"function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом модуля або підтипом об’єкта модуля. Ця " +"функція завжди успішна." + +msgid "" +"Return true if *p* is a module object, but not a subtype of :c:data:" +"`PyModule_Type`. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом модуля, але не підтипом :c:data:" +"`PyModule_Type`. Ця функція завжди успішна." + +msgid "" +"Return a new module object with the :attr:`__name__` attribute set to " +"*name*. The module's :attr:`__name__`, :attr:`__doc__`, :attr:`__package__`, " +"and :attr:`__loader__` attributes are filled in (all but :attr:`__name__` " +"are set to ``None``); the caller is responsible for providing a :attr:" +"`__file__` attribute." +msgstr "" +"Повертає новий об’єкт модуля з атрибутом :attr:`__name__`, встановленим на " +"*name*. Атрибути модуля :attr:`__name__`, :attr:`__doc__`, :attr:" +"`__package__` і :attr:`__loader__` заповнюються (для всіх, крім :attr:" +"`__name__`, встановлено значення ``None``); абонент відповідає за надання " +"атрибута :attr:`__file__`." + +msgid ":attr:`__package__` and :attr:`__loader__` are set to ``None``." +msgstr ":attr:`__package__` і :attr:`__loader__` мають значення ``None``." + +msgid "" +"Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded " +"string instead of a Unicode object." +msgstr "" +"Подібно до :c:func:`PyModule_NewObject`, але ім’я — це рядок у кодуванні " +"UTF-8, а не об’єкт Unicode." + +msgid "" +"Return the dictionary object that implements *module*'s namespace; this " +"object is the same as the :attr:`~object.__dict__` attribute of the module " +"object. If *module* is not a module object (or a subtype of a module " +"object), :exc:`SystemError` is raised and ``NULL`` is returned." +msgstr "" +"Повертає об’єкт словника, який реалізує простір імен *module*; цей об’єкт " +"збігається з атрибутом :attr:`~object.__dict__` об’єкта модуля. Якщо " +"*module* не є об’єктом модуля (або підтипом об’єкта модуля), виникає :exc:" +"`SystemError` і повертається ``NULL``." + +msgid "" +"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` " +"functions rather than directly manipulate a module's :attr:`~object." +"__dict__`." +msgstr "" + +msgid "" +"Return *module*'s :attr:`__name__` value. If the module does not provide " +"one, or if it is not a string, :exc:`SystemError` is raised and ``NULL`` is " +"returned." +msgstr "" +"Повертає значення *module* :attr:`__name__`. Якщо модуль не надає його або " +"якщо це не рядок, виникає :exc:`SystemError` і повертається ``NULL``." + +msgid "" +"Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to " +"``'utf-8'``." +msgstr "" +"Подібно до :c:func:`PyModule_GetNameObject`, але повертає назву, закодовану " +"в ``'utf-8'``." + +msgid "" +"Return the \"state\" of the module, that is, a pointer to the block of " +"memory allocated at module creation time, or ``NULL``. See :c:member:" +"`PyModuleDef.m_size`." +msgstr "" +"Повертає \"стан\" модуля, тобто вказівник на блок пам’яті, виділений під час " +"створення модуля, або ``NULL``. Перегляньте :c:member:`PyModuleDef.m_size`." + +msgid "" +"Return a pointer to the :c:type:`PyModuleDef` struct from which the module " +"was created, or ``NULL`` if the module wasn't created from a definition." +msgstr "" +"Повертає вказівник на структуру :c:type:`PyModuleDef`, з якої було створено " +"модуль, або ``NULL``, якщо модуль не було створено з визначення." + +msgid "" +"Return the name of the file from which *module* was loaded using *module*'s :" +"attr:`__file__` attribute. If this is not defined, or if it is not a " +"unicode string, raise :exc:`SystemError` and return ``NULL``; otherwise " +"return a reference to a Unicode object." +msgstr "" +"Повертає назву файлу, з якого було завантажено *module*, використовуючи " +"атрибут *module* :attr:`__file__`. Якщо це не визначено, або якщо це не " +"рядок Юнікод, викликати :exc:`SystemError` і повернути ``NULL``; інакше " +"повертає посилання на об’єкт Unicode." + +msgid "" +"Similar to :c:func:`PyModule_GetFilenameObject` but return the filename " +"encoded to 'utf-8'." +msgstr "" +"Подібно до :c:func:`PyModule_GetFilenameObject`, але повертає назву файлу, " +"закодовану як 'utf-8'." + +msgid "" +":c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on " +"unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." +msgstr "" +":c:func:`PyModule_GetFilename` викликає :c:type:`UnicodeEncodeError` на " +"некодованих іменах файлів, замість цього використовуйте :c:func:" +"`PyModule_GetFilenameObject`." + +msgid "Initializing C modules" +msgstr "Ініціалізація модулів C" + +msgid "" +"Modules objects are usually created from extension modules (shared libraries " +"which export an initialization function), or compiled-in modules (where the " +"initialization function is added using :c:func:`PyImport_AppendInittab`). " +"See :ref:`building` or :ref:`extending-with-embedding` for details." +msgstr "" +"Об’єкти Modules зазвичай створюються з модулів розширення (спільних " +"бібліотек, які експортують функцію ініціалізації) або скомпільованих модулів " +"(куди функція ініціалізації додається за допомогою :c:func:" +"`PyImport_AppendInittab`). Дивіться :ref:`building` або :ref:`extending-with-" +"embedding` для деталей." + +msgid "" +"The initialization function can either pass a module definition instance to :" +"c:func:`PyModule_Create`, and return the resulting module object, or request " +"\"multi-phase initialization\" by returning the definition struct itself." +msgstr "" +"Функція ініціалізації може або передати екземпляр визначення модуля до :c:" +"func:`PyModule_Create` і повернути результуючий об’єкт модуля, або запросити " +"\"багатофазову ініціалізацію\", повернувши саму структуру визначення." + +msgid "" +"The module definition struct, which holds all information needed to create a " +"module object. There is usually only one statically initialized variable of " +"this type for each module." +msgstr "" +"Структура визначення модуля, яка містить всю інформацію, необхідну для " +"створення об’єкта модуля. Зазвичай існує лише одна статично ініціалізована " +"змінна цього типу для кожного модуля." + +msgid "Always initialize this member to :const:`PyModuleDef_HEAD_INIT`." +msgstr "Завжди ініціалізуйте цей член :const:`PyModuleDef_HEAD_INIT`." + +msgid "Name for the new module." +msgstr "Назва для нового модуля." + +msgid "" +"Docstring for the module; usually a docstring variable created with :c:macro:" +"`PyDoc_STRVAR` is used." +msgstr "" +"Рядок документації для модуля; зазвичай використовується змінна docstring, " +"створена за допомогою :c:macro:`PyDoc_STRVAR`." + +msgid "" +"Module state may be kept in a per-module memory area that can be retrieved " +"with :c:func:`PyModule_GetState`, rather than in static globals. This makes " +"modules safe for use in multiple sub-interpreters." +msgstr "" +"Стан модуля може зберігатися в області пам’яті для кожного модуля, яку можна " +"отримати за допомогою :c:func:`PyModule_GetState`, а не в статичних " +"глобалах. Це робить модулі безпечними для використання в кількох " +"субінтерпретаторах." + +msgid "" +"This memory area is allocated based on *m_size* on module creation, and " +"freed when the module object is deallocated, after the :c:member:`m_free` " +"function has been called, if present." +msgstr "" +"Ця область пам’яті виділяється на основі *m_size* під час створення модуля " +"та звільняється, коли об’єкт модуля звільняється, після виклику функції :c:" +"member:`m_free`, якщо вона є." + +msgid "" +"Setting ``m_size`` to ``-1`` means that the module does not support sub-" +"interpreters, because it has global state." +msgstr "" +"Встановлення ``m_size`` на ``-1`` означає, що модуль не підтримує суб-" +"інтерпретатори, оскільки він має глобальний стан." + +msgid "" +"Setting it to a non-negative value means that the module can be re-" +"initialized and specifies the additional amount of memory it requires for " +"its state. Non-negative ``m_size`` is required for multi-phase " +"initialization." +msgstr "" +"Встановлення невід’ємного значення означає, що модуль можна повторно " +"ініціалізувати, і вказує додатковий обсяг пам’яті, який йому потрібен для " +"його стану. Для багатофазної ініціалізації необхідний невід’ємний ``m_size``." + +msgid "See :PEP:`3121` for more details." +msgstr "Додаткову інформацію див. :PEP:`3121`." + +msgid "" +"A pointer to a table of module-level functions, described by :c:type:" +"`PyMethodDef` values. Can be ``NULL`` if no functions are present." +msgstr "" +"Покажчик на таблицю функцій рівня модуля, описану значеннями :c:type:" +"`PyMethodDef`. Може бути ``NULL``, якщо функції відсутні." + +msgid "" +"An array of slot definitions for multi-phase initialization, terminated by a " +"``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must " +"be ``NULL``." +msgstr "" +"Масив визначень слотів для багатофазної ініціалізації, що завершується " +"записом ``{0, NULL}``. У разі використання однофазної ініціалізації " +"*m_slots* має бути ``NULL``." + +msgid "" +"Prior to version 3.5, this member was always set to ``NULL``, and was " +"defined as:" +msgstr "До версії 3.5 цей член завжди мав значення ``NULL`` і визначався як:" + +msgid "" +"A traversal function to call during GC traversal of the module object, or " +"``NULL`` if not needed." +msgstr "" +"Функція обходу, яка викликається під час обходу GC об’єкта модуля, або " +"``NULL``, якщо не потрібна." + +msgid "" +"This function is not called if the module state was requested but is not " +"allocated yet. This is the case immediately after the module is created and " +"before the module is executed (:c:data:`Py_mod_exec` function). More " +"precisely, this function is not called if :c:member:`m_size` is greater than " +"0 and the module state (as returned by :c:func:`PyModule_GetState`) is " +"``NULL``." +msgstr "" +"Ця функція не викликається, якщо стан модуля було запитано, але ще не " +"виділено. Це відбувається одразу після створення модуля та перед його " +"виконанням (функція :c:data:`Py_mod_exec`). Точніше, ця функція не " +"викликається, якщо :c:member:`m_size` більше 0, а стан модуля (як " +"повертається :c:func:`PyModule_GetState`) дорівнює ``NULL``." + +msgid "No longer called before the module state is allocated." +msgstr "Більше не викликається до виділення стану модуля." + +msgid "" +"A clear function to call during GC clearing of the module object, or " +"``NULL`` if not needed." +msgstr "" +"Очистити функцію для виклику під час очищення GC об’єкта модуля або " +"``NULL``, якщо не потрібно." + +msgid "" +"Like :c:member:`PyTypeObject.tp_clear`, this function is not *always* called " +"before a module is deallocated. For example, when reference counting is " +"enough to determine that an object is no longer used, the cyclic garbage " +"collector is not involved and :c:member:`~PyModuleDef.m_free` is called " +"directly." +msgstr "" +"Як і :c:member:`PyTypeObject.tp_clear`, ця функція не *завжди* викликається " +"до того, як модуль буде звільнено. Наприклад, коли підрахунку посилань " +"достатньо, щоб визначити, що об’єкт більше не використовується, циклічний " +"збирач сміття не задіяний і :c:member:`~PyModuleDef.m_free` викликається " +"безпосередньо." + +msgid "" +"A function to call during deallocation of the module object, or ``NULL`` if " +"not needed." +msgstr "" +"Функція для виклику під час звільнення об’єкта модуля або ``NULL``, якщо " +"вона не потрібна." + +msgid "Single-phase initialization" +msgstr "Однофазна ініціалізація" + +msgid "" +"The module initialization function may create and return the module object " +"directly. This is referred to as \"single-phase initialization\", and uses " +"one of the following two module creation functions:" +msgstr "" +"Функція ініціалізації модуля може створювати та повертати об’єкт модуля " +"безпосередньо. Це називається \"однофазною ініціалізацією\" та використовує " +"одну з наступних двох функцій створення модуля:" + +msgid "" +"Create a new module object, given the definition in *def*. This behaves " +"like :c:func:`PyModule_Create2` with *module_api_version* set to :const:" +"`PYTHON_API_VERSION`." +msgstr "" +"Створіть новий об’єкт модуля відповідно до визначення в *def*. Це поводиться " +"як :c:func:`PyModule_Create2` з *module_api_version* встановленим на :const:" +"`PYTHON_API_VERSION`." + +msgid "" +"Create a new module object, given the definition in *def*, assuming the API " +"version *module_api_version*. If that version does not match the version of " +"the running interpreter, a :exc:`RuntimeWarning` is emitted." +msgstr "" +"Створіть новий об’єкт модуля, враховуючи визначення в *def*, припускаючи " +"версію API *module_api_version*. Якщо ця версія не збігається з версією " +"запущеного інтерпретатора, видається :exc:`RuntimeWarning`." + +msgid "" +"Most uses of this function should be using :c:func:`PyModule_Create` " +"instead; only use this if you are sure you need it." +msgstr "" +"Більшість випадків використання цієї функції має використовувати замість " +"неї :c:func:`PyModule_Create`; використовуйте це, лише якщо ви впевнені, що " +"це вам потрібно." + +msgid "" +"Before it is returned from in the initialization function, the resulting " +"module object is typically populated using functions like :c:func:" +"`PyModule_AddObjectRef`." +msgstr "" +"Перед поверненням у функції ініціалізації результуючий об’єкт модуля " +"зазвичай заповнюється за допомогою таких функцій, як :c:func:" +"`PyModule_AddObjectRef`." + +msgid "Multi-phase initialization" +msgstr "Багатофазова ініціалізація" + +msgid "" +"An alternate way to specify extensions is to request \"multi-phase " +"initialization\". Extension modules created this way behave more like Python " +"modules: the initialization is split between the *creation phase*, when the " +"module object is created, and the *execution phase*, when it is populated. " +"The distinction is similar to the :py:meth:`__new__` and :py:meth:`__init__` " +"methods of classes." +msgstr "" +"Альтернативним способом визначення розширень є запит на \"багатофазову " +"ініціалізацію\". Модулі розширення, створені таким чином, поводяться більше " +"як модулі Python: ініціалізація розподіляється між *фазою створення*, коли " +"створюється об’єкт модуля, і *фазою виконання*, коли він заповнюється. " +"Розрізнення подібне до методів класів :py:meth:`__new__` і :py:meth:" +"`__init__`." + +msgid "" +"Unlike modules created using single-phase initialization, these modules are " +"not singletons: if the *sys.modules* entry is removed and the module is re-" +"imported, a new module object is created, and the old module is subject to " +"normal garbage collection -- as with Python modules. By default, multiple " +"modules created from the same definition should be independent: changes to " +"one should not affect the others. This means that all state should be " +"specific to the module object (using e.g. using :c:func:" +"`PyModule_GetState`), or its contents (such as the module's :attr:`__dict__` " +"or individual classes created with :c:func:`PyType_FromSpec`)." +msgstr "" +"На відміну від модулів, створених за допомогою однофазної ініціалізації, ці " +"модулі не є одиночними: якщо запис *sys.modules* видаляється та модуль " +"імпортується повторно, створюється новий об’єкт модуля, а старий модуль " +"підлягає звичайному збиранню сміття -- як і з модулями Python. За " +"замовчуванням кілька модулів, створених з одного визначення, мають бути " +"незалежними: зміни в одному не повинні впливати на інші. Це означає, що весь " +"стан має бути специфічним для об’єкта модуля (використовуючи, наприклад, " +"використання :c:func:`PyModule_GetState`), або його вмісту (наприклад, :attr:" +"`__dict__` модуля або окремих класів, створених за допомогою :c:func:" +"`PyType_FromSpec`)." + +msgid "" +"All modules created using multi-phase initialization are expected to " +"support :ref:`sub-interpreters `. Making sure " +"multiple modules are independent is typically enough to achieve this." +msgstr "" +"Очікується, що всі модулі, створені за допомогою багатофазної ініціалізації, " +"підтримуватимуть :ref:`sub-інтерпретатори `. " +"Переконавшись, що декілька модулів є незалежними, як правило, достатньо, щоб " +"досягти цього." + +msgid "" +"To request multi-phase initialization, the initialization function " +"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :" +"c:member:`~PyModuleDef.m_slots`. Before it is returned, the ``PyModuleDef`` " +"instance must be initialized with the following function:" +msgstr "" +"Для запиту багатофазної ініціалізації функція ініціалізації " +"(PyInit_modulename) повертає екземпляр :c:type:`PyModuleDef` з непорожнім :c:" +"member:`~PyModuleDef.m_slots`. Перш ніж його буде повернуто, примірник " +"``PyModuleDef`` має бути ініціалізований такою функцією:" + +msgid "" +"Ensures a module definition is a properly initialized Python object that " +"correctly reports its type and reference count." +msgstr "" +"Гарантує, що визначення модуля є правильно ініціалізованим об’єктом Python, " +"який правильно повідомляє про свій тип і кількість посилань." + +msgid "Returns *def* cast to ``PyObject*``, or ``NULL`` if an error occurred." +msgstr "" +"Повертає *def* приведення до ``PyObject*`` або ``NULL``, якщо сталася " +"помилка." + +msgid "" +"The *m_slots* member of the module definition must point to an array of " +"``PyModuleDef_Slot`` structures:" +msgstr "" +"Член *m_slots* у визначенні модуля має вказувати на масив структур " +"``PyModuleDef_Slot``:" + +msgid "A slot ID, chosen from the available values explained below." +msgstr "Ідентифікатор слота, вибраний із доступних значень, пояснених нижче." + +msgid "Value of the slot, whose meaning depends on the slot ID." +msgstr "Значення слота, значення якого залежить від ідентифікатора слота." + +msgid "The *m_slots* array must be terminated by a slot with id 0." +msgstr "Масив *m_slots* повинен закінчуватися слотом з ідентифікатором 0." + +msgid "The available slot types are:" +msgstr "Доступні типи слотів:" + +msgid "" +"Specifies a function that is called to create the module object itself. The " +"*value* pointer of this slot must point to a function of the signature:" +msgstr "" +"Визначає функцію, яка викликається для створення самого об’єкта модуля. " +"Покажчик *значення* цього слота має вказувати на функцію підпису:" + +msgid "" +"The function receives a :py:class:`~importlib.machinery.ModuleSpec` " +"instance, as defined in :PEP:`451`, and the module definition. It should " +"return a new module object, or set an error and return ``NULL``." +msgstr "" +"Функція отримує екземпляр :py:class:`~importlib.machinery.ModuleSpec`, як " +"визначено в :PEP:`451`, і визначення модуля. Він має повернути новий об’єкт " +"модуля або встановити помилку та повернути ``NULL``." + +msgid "" +"This function should be kept minimal. In particular, it should not call " +"arbitrary Python code, as trying to import the same module again may result " +"in an infinite loop." +msgstr "" +"Ця функція повинна бути мінімальною. Зокрема, він не повинен викликати " +"довільний код Python, оскільки повторна спроба імпортувати той самий модуль " +"може призвести до нескінченного циклу." + +msgid "" +"Multiple ``Py_mod_create`` slots may not be specified in one module " +"definition." +msgstr "" +"Кілька слотів ``Py_mod_create`` не можуть бути вказані в одному визначенні " +"модуля." + +msgid "" +"If ``Py_mod_create`` is not specified, the import machinery will create a " +"normal module object using :c:func:`PyModule_New`. The name is taken from " +"*spec*, not the definition, to allow extension modules to dynamically adjust " +"to their place in the module hierarchy and be imported under different names " +"through symlinks, all while sharing a single module definition." +msgstr "" +"Якщо ``Py_mod_create`` не вказано, механізм імпорту створить звичайний " +"об’єкт модуля за допомогою :c:func:`PyModule_New`. Ім’я взято з *spec*, а не " +"з визначення, щоб дозволити модулям розширення динамічно адаптуватися до " +"свого місця в ієрархії модулів і імпортуватися під різними іменами за " +"допомогою символічних посилань, водночас користуючись єдиним визначенням " +"модуля." + +msgid "" +"There is no requirement for the returned object to be an instance of :c:type:" +"`PyModule_Type`. Any type can be used, as long as it supports setting and " +"getting import-related attributes. However, only ``PyModule_Type`` instances " +"may be returned if the ``PyModuleDef`` has non-``NULL`` ``m_traverse``, " +"``m_clear``, ``m_free``; non-zero ``m_size``; or slots other than " +"``Py_mod_create``." +msgstr "" +"Немає вимоги, щоб повернутий об’єкт був екземпляром :c:type:`PyModule_Type`. " +"Можна використовувати будь-який тип, якщо він підтримує встановлення та " +"отримання пов’язаних з імпортом атрибутів. Однак лише екземпляри " +"``PyModule_Type`` можуть повертатися, якщо ``PyModuleDef`` має не-``NULL`` " +"``m_traverse``, ``m_clear``, ``m_free``; ненульовий ``m_size``; або слоти, " +"відмінні від ``Py_mod_create``." + +msgid "" +"Specifies a function that is called to *execute* the module. This is " +"equivalent to executing the code of a Python module: typically, this " +"function adds classes and constants to the module. The signature of the " +"function is:" +msgstr "" +"Визначає функцію, яка викликається для *виконання* модуля. Це еквівалентно " +"виконанню коду модуля Python: зазвичай ця функція додає класи та константи " +"до модуля. Сигнатура функції:" + +msgid "" +"If multiple ``Py_mod_exec`` slots are specified, they are processed in the " +"order they appear in the *m_slots* array." +msgstr "" +"Якщо вказано кілька слотів ``Py_mod_exec``, вони обробляються в тому " +"порядку, в якому вони з’являються в масиві *m_slots*." + +msgid "See :PEP:`489` for more details on multi-phase initialization." +msgstr "" +"Перегляньте :PEP:`489` для отримання додаткової інформації про багатофазову " +"ініціалізацію." + +msgid "Low-level module creation functions" +msgstr "Функції створення модулів низького рівня" + +msgid "" +"The following functions are called under the hood when using multi-phase " +"initialization. They can be used directly, for example when creating module " +"objects dynamically. Note that both ``PyModule_FromDefAndSpec`` and " +"``PyModule_ExecDef`` must be called to fully initialize a module." +msgstr "" +"Наступні функції викликаються під капотом під час використання багатофазної " +"ініціалізації. Їх можна використовувати безпосередньо, наприклад, при " +"динамічному створенні об’єктів модуля. Зауважте, що для повної ініціалізації " +"модуля необхідно викликати як ``PyModule_FromDefAndSpec``, так і " +"``PyModule_ExecDef``." + +msgid "" +"Create a new module object, given the definition in *module* and the " +"ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` " +"with *module_api_version* set to :const:`PYTHON_API_VERSION`." +msgstr "" +"Створіть новий об’єкт модуля, враховуючи визначення в *module* і ModuleSpec " +"*spec*. Це поводиться як :c:func:`PyModule_FromDefAndSpec2` з " +"*module_api_version* встановленим на :const:`PYTHON_API_VERSION`." + +msgid "" +"Create a new module object, given the definition in *module* and the " +"ModuleSpec *spec*, assuming the API version *module_api_version*. If that " +"version does not match the version of the running interpreter, a :exc:" +"`RuntimeWarning` is emitted." +msgstr "" +"Створіть новий об’єкт модуля, враховуючи визначення в *module* та ModuleSpec " +"*spec*, припускаючи версію API *module_api_version*. Якщо ця версія не " +"збігається з версією запущеного інтерпретатора, видається :exc:" +"`RuntimeWarning`." + +msgid "" +"Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` " +"instead; only use this if you are sure you need it." +msgstr "" +"У більшості випадків використання цієї функції має використовувати :c:func:" +"`PyModule_FromDefAndSpec`; використовуйте це, лише якщо ви впевнені, що це " +"вам потрібно." + +msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." +msgstr "" +"Обробити будь-які слоти виконання (:c:data:`Py_mod_exec`), указані в *def*." + +msgid "" +"Set the docstring for *module* to *docstring*. This function is called " +"automatically when creating a module from ``PyModuleDef``, using either " +"``PyModule_Create`` or ``PyModule_FromDefAndSpec``." +msgstr "" +"Встановіть рядок документації для *module* на *string*. Ця функція " +"викликається автоматично під час створення модуля з ``PyModuleDef`` за " +"допомогою ``PyModule_Create`` або ``PyModule_FromDefAndSpec``." + +msgid "" +"Add the functions from the ``NULL`` terminated *functions* array to " +"*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " +"individual entries (due to the lack of a shared module namespace, module " +"level \"functions\" implemented in C typically receive the module as their " +"first parameter, making them similar to instance methods on Python classes). " +"This function is called automatically when creating a module from " +"``PyModuleDef``, using either ``PyModule_Create`` or " +"``PyModule_FromDefAndSpec``." +msgstr "" +"Додайте функції з масиву *functions* із закінченням ``NULL`` до *module*. " +"Зверніться до документації :c:type:`PyMethodDef`, щоб дізнатися більше про " +"окремі записи (через відсутність спільного простору імен модуля \"функції\" " +"рівня модуля, реалізовані в C, зазвичай отримують модуль як свій перший " +"параметр, що робить їх схожими на екземпляр методи на класах Python). Ця " +"функція викликається автоматично під час створення модуля з ``PyModuleDef`` " +"за допомогою ``PyModule_Create`` або ``PyModule_FromDefAndSpec``." + +msgid "Support functions" +msgstr "Допоміжні функції" + +msgid "" +"The module initialization function (if using single phase initialization) or " +"a function called from a module execution slot (if using multi-phase " +"initialization), can use the following functions to help initialize the " +"module state:" +msgstr "" +"Функція ініціалізації модуля (якщо використовується однофазна ініціалізація) " +"або функція, що викликається зі слота виконання модуля (якщо " +"використовується багатофазова ініціалізація), може використовувати такі " +"функції, щоб допомогти ініціалізувати стан модуля:" + +msgid "" +"Add an object to *module* as *name*. This is a convenience function which " +"can be used from the module's initialization function." +msgstr "" +"Додайте об’єкт до *модуля* як *ім’я*. Це зручна функція, яку можна " +"використовувати з функції ініціалізації модуля." + +msgid "" +"On success, return ``0``. On error, raise an exception and return ``-1``." +msgstr "" +"У разі успіху поверніть ``0``. У разі помилки викликає виняток і повертає " +"``-1``." + +msgid "" +"Return ``NULL`` if *value* is ``NULL``. It must be called with an exception " +"raised in this case." +msgstr "" +"Повертає ``NULL``, якщо *значення* дорівнює ``NULL``. У цьому випадку його " +"потрібно викликати з винятком." + +msgid "Example usage::" +msgstr "Приклад використання::" + +msgid "" +"The example can also be written without checking explicitly if *obj* is " +"``NULL``::" +msgstr "" +"Приклад також можна написати без явної перевірки, якщо *obj* має значення " +"``NULL``::" + +msgid "" +"Note that ``Py_XDECREF()`` should be used instead of ``Py_DECREF()`` in this " +"case, since *obj* can be ``NULL``." +msgstr "" +"Зверніть увагу, що в цьому випадку слід використовувати ``Py_XDECREF()`` " +"замість ``Py_DECREF()``, оскільки *obj* може бути ``NULL``." + +msgid "" +"Similar to :c:func:`PyModule_AddObjectRef`, but steals a reference to " +"*value* on success (if it returns ``0``)." +msgstr "" +"Подібно до :c:func:`PyModule_AddObjectRef`, але в разі успіху викрадає " +"посилання на *value* (якщо повертає ``0``)." + +msgid "" +"The new :c:func:`PyModule_AddObjectRef` function is recommended, since it is " +"easy to introduce reference leaks by misusing the :c:func:" +"`PyModule_AddObject` function." +msgstr "" +"Рекомендовано використовувати нову функцію :c:func:`PyModule_AddObjectRef`, " +"оскільки внаслідок неправильного використання функції :c:func:" +"`PyModule_AddObject` легко створити витоки посилань." + +msgid "" +"Unlike other functions that steal references, ``PyModule_AddObject()`` only " +"decrements the reference count of *value* **on success**." +msgstr "" +"На відміну від інших функцій, які викрадають посилання, " +"``PyModule_AddObject()`` лише зменшує кількість посилань *значення* **у разі " +"успіху**." + +msgid "" +"This means that its return value must be checked, and calling code must :c:" +"func:`Py_DECREF` *value* manually on error." +msgstr "" +"Це означає, що його повертане значення має бути перевірено, а код виклику " +"повинен :c:func:`Py_DECREF` *значення* вручну у разі помилки." + +msgid "" +"Add an integer constant to *module* as *name*. This convenience function " +"can be used from the module's initialization function. Return ``-1`` on " +"error, ``0`` on success." +msgstr "" +"Додайте цілу константу до *module* як *name*. Цю зручну функцію можна " +"використовувати з функції ініціалізації модуля. Повертає ``-1`` у разі " +"помилки, ``0`` у разі успіху." + +msgid "" +"Add a string constant to *module* as *name*. This convenience function can " +"be used from the module's initialization function. The string *value* must " +"be ``NULL``-terminated. Return ``-1`` on error, ``0`` on success." +msgstr "" +"Додайте рядкову константу до *module* як *name*. Цю зручну функцію можна " +"використовувати з функції ініціалізації модуля. Рядок *значення* має " +"завершуватися ``NULL``. Повертає ``-1`` у разі помилки, ``0`` у разі успіху." + +msgid "" +"Add an int constant to *module*. The name and the value are taken from " +"*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int " +"constant *AF_INET* with the value of *AF_INET* to *module*. Return ``-1`` on " +"error, ``0`` on success." +msgstr "" +"Додайте константу int до *module*. Ім'я та значення взято з *макросу*. " +"Наприклад, ``PyModule_AddIntMacro(module, AF_INET)`` додає константу int " +"*AF_INET* зі значенням *AF_INET* до *module*. Повертає ``-1`` у разі " +"помилки, ``0`` у разі успіху." + +msgid "Add a string constant to *module*." +msgstr "Додайте рядкову константу до *module*." + +msgid "" +"Add a type object to *module*. The type object is finalized by calling " +"internally :c:func:`PyType_Ready`. The name of the type object is taken from " +"the last component of :c:member:`~PyTypeObject.tp_name` after dot. Return " +"``-1`` on error, ``0`` on success." +msgstr "" +"Додайте об’єкт типу до *module*. Об’єкт типу завершується внутрішнім " +"викликом :c:func:`PyType_Ready`. Ім’я об’єкта типу береться з останнього " +"компонента :c:member:`~PyTypeObject.tp_name` після крапки. Повертає ``-1`` у " +"разі помилки, ``0`` у разі успіху." + +msgid "Module lookup" +msgstr "Пошук модуля" + +msgid "" +"Single-phase initialization creates singleton modules that can be looked up " +"in the context of the current interpreter. This allows the module object to " +"be retrieved later with only a reference to the module definition." +msgstr "" +"Однофазова ініціалізація створює однотонні модулі, які можна шукати в " +"контексті поточного інтерпретатора. Це дозволяє пізніше отримати об’єкт " +"модуля лише з посиланням на визначення модуля." + +msgid "" +"These functions will not work on modules created using multi-phase " +"initialization, since multiple such modules can be created from a single " +"definition." +msgstr "" +"Ці функції не працюватимуть на модулях, створених за допомогою багатофазної " +"ініціалізації, оскільки кілька таких модулів можна створити з одного " +"визначення." + +msgid "" +"Returns the module object that was created from *def* for the current " +"interpreter. This method requires that the module object has been attached " +"to the interpreter state with :c:func:`PyState_AddModule` beforehand. In " +"case the corresponding module object is not found or has not been attached " +"to the interpreter state yet, it returns ``NULL``." +msgstr "" +"Повертає об’єкт модуля, який було створено з *def* для поточного " +"інтерпретатора. Цей метод вимагає, щоб об’єкт модуля був прикріплений до " +"стану інтерпретатора за допомогою :c:func:`PyState_AddModule` заздалегідь. " +"Якщо відповідний об’єкт модуля не знайдено або ще не приєднано до стану " +"інтерпретатора, він повертає ``NULL``." + +msgid "" +"Attaches the module object passed to the function to the interpreter state. " +"This allows the module object to be accessible via :c:func:" +"`PyState_FindModule`." +msgstr "" +"Приєднує об’єкт модуля, переданий у функцію, до стану інтерпретатора. Це " +"дозволяє об’єкту модуля бути доступним через :c:func:`PyState_FindModule`." + +msgid "Only effective on modules created using single-phase initialization." +msgstr "Діє лише для модулів, створених за допомогою однофазної ініціалізації." + +msgid "" +"Python calls ``PyState_AddModule`` automatically after importing a module, " +"so it is unnecessary (but harmless) to call it from module initialization " +"code. An explicit call is needed only if the module's own init code " +"subsequently calls ``PyState_FindModule``. The function is mainly intended " +"for implementing alternative import mechanisms (either by calling it " +"directly, or by referring to its implementation for details of the required " +"state updates)." +msgstr "" +"Python автоматично викликає ``PyState_AddModule`` після імпортування модуля, " +"тому непотрібно (але нешкідливо) викликати його з коду ініціалізації модуля. " +"Явний виклик потрібен, лише якщо власний код ініціалізації модуля згодом " +"викликає ``PyState_FindModule``. Ця функція в основному призначена для " +"впровадження альтернативних механізмів імпорту (або через її прямий виклик, " +"або шляхом посилання на її реалізацію для отримання деталей необхідних " +"оновлень стану)." + +msgid "The caller must hold the GIL." +msgstr "Абонент повинен тримати GIL." + +msgid "Return 0 on success or -1 on failure." +msgstr "Повертає 0 у разі успіху або -1 у разі невдачі." + +msgid "" +"Removes the module object created from *def* from the interpreter state. " +"Return 0 on success or -1 on failure." +msgstr "" +"Видаляє об’єкт модуля, створений з *def*, зі стану інтерпретатора. Повертає " +"0 у разі успіху або -1 у разі невдачі." diff --git a/c-api/none.po b/c-api/none.po new file mode 100644 index 000000000..0dea690d3 --- /dev/null +++ b/c-api/none.po @@ -0,0 +1,56 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The ``None`` Object" +msgstr "Об'єкт ``None``" + +msgid "" +"Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in " +"the Python/C API. Since ``None`` is a singleton, testing for object " +"identity (using ``==`` in C) is sufficient. There is no :c:func:" +"`PyNone_Check` function for the same reason." +msgstr "" +"Зауважте, що :c:type:`PyTypeObject` для ``None`` не відкрито безпосередньо в " +"Python/C API. Оскільки ``None`` є єдиним елементом, достатньо перевірити " +"ідентичність об’єкта (використовуючи ``==`` в C). З тієї ж причини немає " +"функції :c:func:`PyNone_Check`." + +msgid "" +"The Python ``None`` object, denoting lack of value. This object has no " +"methods. It needs to be treated just like any other object with respect to " +"reference counts." +msgstr "" +"Об’єкт Python ``None``, що вказує на відсутність значення. Цей об’єкт не має " +"методів. З ним потрібно поводитися так само, як і з будь-яким іншим об’єктом " +"щодо кількості посилань." + +msgid "" +"Properly handle returning :c:data:`Py_None` from within a C function (that " +"is, increment the reference count of ``None`` and return it.)" +msgstr "" +"Правильно обробляти повернення :c:data:`Py_None` із функції C (тобто " +"збільшити кількість посилань ``None`` і повернути його)." diff --git a/c-api/number.po b/c-api/number.po new file mode 100644 index 000000000..1f72d2a90 --- /dev/null +++ b/c-api/number.po @@ -0,0 +1,381 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Number Protocol" +msgstr "Номер протоколу" + +msgid "" +"Returns ``1`` if the object *o* provides numeric protocols, and false " +"otherwise. This function always succeeds." +msgstr "" +"Повертає ``1``, якщо об’єкт *o* надає числові протоколи, і false в іншому " +"випадку. Ця функція завжди успішна." + +msgid "Returns ``1`` if *o* is an index integer." +msgstr "Повертає ``1``, якщо *o* є цілим індексом." + +msgid "" +"Returns the result of adding *o1* and *o2*, or ``NULL`` on failure. This is " +"the equivalent of the Python expression ``o1 + o2``." +msgstr "" +"Повертає результат додавання *o1* і *o2* або ``NULL`` у разі помилки. Це " +"еквівалент виразу Python ``o1 + o2``." + +msgid "" +"Returns the result of subtracting *o2* from *o1*, or ``NULL`` on failure. " +"This is the equivalent of the Python expression ``o1 - o2``." +msgstr "" +"Повертає результат віднімання *o2* від *o1* або ``NULL`` у разі помилки. Це " +"еквівалент виразу Python ``o1 - o2``." + +msgid "" +"Returns the result of multiplying *o1* and *o2*, or ``NULL`` on failure. " +"This is the equivalent of the Python expression ``o1 * o2``." +msgstr "" +"Повертає результат множення *o1* і *o2* або ``NULL`` у разі помилки. Це " +"еквівалент виразу Python ``o1 * o2``." + +msgid "" +"Returns the result of matrix multiplication on *o1* and *o2*, or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o1 @ o2``." +msgstr "" +"Повертає результат множення матриці на *o1* та *o2* або ``NULL`` у разі " +"помилки. Це еквівалент виразу Python ``o1 @ o2``." + +msgid "" +"Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is " +"the equivalent of the Python expression ``o1 // o2``." +msgstr "" +"Повертає нижню частину *o1*, поділену на *o2*, або ``NULL`` у разі помилки. " +"Це еквівалент виразу Python ``o1 // o2``." + +msgid "" +"Return a reasonable approximation for the mathematical value of *o1* divided " +"by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " +"because binary floating point numbers are approximate; it is not possible to " +"represent all real numbers in base two. This function can return a floating " +"point value when passed two integers. This is the equivalent of the Python " +"expression ``o1 / o2``." +msgstr "" +"Повертає прийнятне наближення для математичного значення *o1*, поділеного на " +"*o2*, або ``NULL`` у разі помилки. Повернене значення є \"приблизним\", " +"оскільки двійкові числа з плаваючою комою є приблизними; неможливо " +"представити всі дійсні числа за основою два. Ця функція може повернути " +"значення з плаваючою комою, коли передано два цілі числа. Це еквівалент " +"виразу Python ``o1 / o2``." + +msgid "" +"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. " +"This is the equivalent of the Python expression ``o1 % o2``." +msgstr "" +"Повертає залишок від ділення *o1* на *o2* або ``NULL`` у разі помилки. Це " +"еквівалент виразу Python ``o1 % o2``." + +msgid "" +"See the built-in function :func:`divmod`. Returns ``NULL`` on failure. This " +"is the equivalent of the Python expression ``divmod(o1, o2)``." +msgstr "" +"Перегляньте вбудовану функцію :func:`divmod`. Повертає ``NULL`` у разі " +"помилки. Це еквівалент виразу Python ``divmod(o1, o2)``." + +msgid "" +"See the built-in function :func:`pow`. Returns ``NULL`` on failure. This is " +"the equivalent of the Python expression ``pow(o1, o2, o3)``, where *o3* is " +"optional. If *o3* is to be ignored, pass :c:data:`Py_None` in its place " +"(passing ``NULL`` for *o3* would cause an illegal memory access)." +msgstr "" +"Перегляньте вбудовану функцію :func:`pow`. Повертає ``NULL`` у разі помилки. " +"Це еквівалент виразу Python ``pow(o1, o2, o3)``, де *o3* є необов’язковим. " +"Якщо *o3* потрібно ігнорувати, передайте замість нього :c:data:`Py_None` " +"(передача ``NULL`` для *o3* призведе до незаконного доступу до пам’яті)." + +msgid "" +"Returns the negation of *o* on success, or ``NULL`` on failure. This is the " +"equivalent of the Python expression ``-o``." +msgstr "" +"Повертає заперечення *o* у разі успіху або ``NULL`` у разі невдачі. Це " +"еквівалент виразу Python ``-o``." + +msgid "" +"Returns *o* on success, or ``NULL`` on failure. This is the equivalent of " +"the Python expression ``+o``." +msgstr "" +"Повертає *o* у разі успіху або ``NULL`` у разі невдачі. Це еквівалент виразу " +"Python ``+o``." + +msgid "" +"Returns the absolute value of *o*, or ``NULL`` on failure. This is the " +"equivalent of the Python expression ``abs(o)``." +msgstr "" +"Повертає абсолютне значення *o* або ``NULL`` у разі помилки. Це еквівалент " +"виразу Python ``abs(o)``." + +msgid "" +"Returns the bitwise negation of *o* on success, or ``NULL`` on failure. " +"This is the equivalent of the Python expression ``~o``." +msgstr "" +"Повертає порозрядне заперечення *o* у разі успіху або ``NULL`` у разі " +"невдачі. Це еквівалент виразу Python ``~o``." + +msgid "" +"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o1 << o2``." +msgstr "" +"Повертає результат зсуву вліво *o1* на *o2* у разі успіху або ``NULL`` у " +"разі помилки. Це еквівалент виразу Python ``o1 << o2``." + +msgid "" +"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o1 >> o2``." +msgstr "" +"Повертає результат зсуву праворуч *o1* на *o2* у разі успіху або ``NULL`` у " +"разі помилки. Це еквівалент виразу Python ``o1 >> o2``." + +msgid "" +"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o1 & o2``." +msgstr "" +"Повертає \"порозрядне та\" *o1* і *o2* у разі успіху та ``NULL`` у разі " +"помилки. Це еквівалент виразу Python ``o1 & o2``." + +msgid "" +"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` " +"on failure. This is the equivalent of the Python expression ``o1 ^ o2``." +msgstr "" +"Повертає \"порозрядне виняткове або\" *o1* на *o2* у разі успіху або " +"``NULL`` у разі помилки. Це еквівалент виразу Python ``o1 ^ o2``." + +msgid "" +"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o1 | o2``." +msgstr "" +"Повертає \"порозрядне або\" *o1* і *o2* у разі успіху або ``NULL`` у разі " +"помилки. Це еквівалент виразу Python ``o1 | o2``." + +msgid "" +"Returns the result of adding *o1* and *o2*, or ``NULL`` on failure. The " +"operation is done *in-place* when *o1* supports it. This is the equivalent " +"of the Python statement ``o1 += o2``." +msgstr "" +"Повертає результат додавання *o1* і *o2* або ``NULL`` у разі помилки. " +"Операція виконується *на місці*, якщо *o1* її підтримує. Це еквівалент " +"оператора Python ``o1 += o2``." + +msgid "" +"Returns the result of subtracting *o2* from *o1*, or ``NULL`` on failure. " +"The operation is done *in-place* when *o1* supports it. This is the " +"equivalent of the Python statement ``o1 -= o2``." +msgstr "" +"Повертає результат віднімання *o2* від *o1* або ``NULL`` у разі помилки. " +"Операція виконується *на місці*, якщо *o1* її підтримує. Це еквівалент " +"оператора Python ``o1 -= o2``." + +msgid "" +"Returns the result of multiplying *o1* and *o2*, or ``NULL`` on failure. " +"The operation is done *in-place* when *o1* supports it. This is the " +"equivalent of the Python statement ``o1 *= o2``." +msgstr "" +"Повертає результат множення *o1* і *o2* або ``NULL`` у разі помилки. " +"Операція виконується *на місці*, якщо *o1* її підтримує. Це еквівалент " +"оператора Python ``o1 *= o2``." + +msgid "" +"Returns the result of matrix multiplication on *o1* and *o2*, or ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python statement ``o1 @= o2``." +msgstr "" +"Повертає результат множення матриці на *o1* і *o2* або ``NULL`` у разі " +"помилки. Операція виконується *на місці*, якщо *o1* її підтримує. Це " +"еквівалент оператора Python ``o1 @= o2``." + +msgid "" +"Returns the mathematical floor of dividing *o1* by *o2*, or ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python statement ``o1 //= o2``." +msgstr "" +"Повертає математичний рівень ділення *o1* на *o2* або ``NULL`` у разі " +"помилки. Операція виконується *на місці*, якщо *o1* її підтримує. Це " +"еквівалент оператора Python ``o1 //= o2``." + +msgid "" +"Return a reasonable approximation for the mathematical value of *o1* divided " +"by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " +"because binary floating point numbers are approximate; it is not possible to " +"represent all real numbers in base two. This function can return a floating " +"point value when passed two integers. The operation is done *in-place* when " +"*o1* supports it. This is the equivalent of the Python statement ``o1 /= " +"o2``." +msgstr "" +"Повертає прийнятне наближення для математичного значення *o1*, поділеного на " +"*o2*, або ``NULL`` у разі помилки. Повернене значення є \"приблизним\", " +"оскільки двійкові числа з плаваючою комою є приблизними; неможливо " +"представити всі дійсні числа за основою два. Ця функція може повернути " +"значення з плаваючою комою, коли передано два цілі числа. Операція " +"виконується *на місці*, якщо *o1* її підтримує. Це еквівалент оператора " +"Python ``o1 /= o2``." + +msgid "" +"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. The " +"operation is done *in-place* when *o1* supports it. This is the equivalent " +"of the Python statement ``o1 %= o2``." +msgstr "" +"Повертає залишок від ділення *o1* на *o2* або ``NULL`` у разі помилки. " +"Операція виконується *на місці*, якщо *o1* її підтримує. Це еквівалент " +"оператора Python ``o1 %= o2``." + +msgid "" +"See the built-in function :func:`pow`. Returns ``NULL`` on failure. The " +"operation is done *in-place* when *o1* supports it. This is the equivalent " +"of the Python statement ``o1 **= o2`` when o3 is :c:data:`Py_None`, or an in-" +"place variant of ``pow(o1, o2, o3)`` otherwise. If *o3* is to be ignored, " +"pass :c:data:`Py_None` in its place (passing ``NULL`` for *o3* would cause " +"an illegal memory access)." +msgstr "" +"Перегляньте вбудовану функцію :func:`pow`. Повертає ``NULL`` у разі помилки. " +"Операція виконується *на місці*, якщо *o1* її підтримує. Це еквівалент " +"оператора Python ``o1 **= o2``, коли o3 дорівнює :c:data:`Py_None`, або " +"альтернативного варіанту ``pow(o1, o2, o3)`` інакше. Якщо *o3* потрібно " +"ігнорувати, передайте замість нього :c:data:`Py_None` (передача ``NULL`` для " +"*o3* призведе до незаконного доступу до пам’яті)." + +msgid "" +"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python statement ``o1 <<= o2``." +msgstr "" +"Повертає результат зсуву ліворуч *o1* на *o2* у разі успіху або ``NULL`` у " +"разі помилки. Операція виконується *на місці*, якщо *o1* її підтримує. Це " +"еквівалент оператора Python ``o1 <<= o2``." + +msgid "" +"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python statement ``o1 >>= o2``." +msgstr "" +"Повертає результат зсуву праворуч *o1* на *o2* у разі успіху або ``NULL`` у " +"разі помилки. Операція виконується *на місці*, якщо *o1* її підтримує. Це " +"еквівалент оператора Python ``o1 >>= o2``." + +msgid "" +"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python statement ``o1 &= o2``." +msgstr "" +"Повертає \"порозрядне та\" *o1* і *o2* у разі успіху та ``NULL`` у разі " +"помилки. Операція виконується *на місці*, якщо *o1* її підтримує. Це " +"еквівалент оператора Python ``o1 &= o2``." + +msgid "" +"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` " +"on failure. The operation is done *in-place* when *o1* supports it. This " +"is the equivalent of the Python statement ``o1 ^= o2``." +msgstr "" +"Повертає \"порозрядне виняткове або\" *o1* на *o2* у разі успіху або " +"``NULL`` у разі помилки. Операція виконується *на місці*, якщо *o1* її " +"підтримує. Це еквівалент оператора Python ``o1 ^= o2``." + +msgid "" +"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python statement ``o1 |= o2``." +msgstr "" +"Повертає \"порозрядне або\" *o1* і *o2* у разі успіху або ``NULL`` у разі " +"помилки. Операція виконується *на місці*, якщо *o1* її підтримує. Це " +"еквівалент оператора Python ``o1 |= o2``." + +msgid "" +"Returns the *o* converted to an integer object on success, or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``int(o)``." +msgstr "" +"Повертає *o*, перетворений на цілий об’єкт у разі успіху, або ``NULL`` у " +"разі помилки. Це еквівалент виразу Python ``int(o)``." + +msgid "" +"Returns the *o* converted to a float object on success, or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``float(o)``." +msgstr "" +"Повертає *o*, перетворений на об’єкт float у разі успіху, або ``NULL`` у " +"разі помилки. Це еквівалент виразу Python ``float(o)``." + +msgid "" +"Returns the *o* converted to a Python int on success or ``NULL`` with a :exc:" +"`TypeError` exception raised on failure." +msgstr "" +"Повертає *o*, перетворений на Python int у разі успіху або ``NULL`` з " +"виключенням :exc:`TypeError`, яке виникає в разі помилки." + +msgid "" +"The result always has exact type :class:`int`. Previously, the result could " +"have been an instance of a subclass of ``int``." +msgstr "" +"Результат завжди має точний тип :class:`int`. Раніше результат міг бути " +"екземпляром підкласу ``int``." + +msgid "" +"Returns the integer *n* converted to base *base* as a string. The *base* " +"argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned " +"string is prefixed with a base marker of ``'0b'``, ``'0o'``, or ``'0x'``, " +"respectively. If *n* is not a Python int, it is converted with :c:func:" +"`PyNumber_Index` first." +msgstr "" +"Повертає ціле число *n*, перетворене на базу *base* як рядок. Аргумент " +"*base* має бути одним із 2, 8, 10 або 16. Для base 2, 8 або 16 повернутий " +"рядок має префікс базового маркера ``'0b'``, ``'0o'`` або ``'0x''`` " +"відповідно. Якщо *n* не є int Python, воно спочатку перетворюється за " +"допомогою :c:func:`PyNumber_Index`." + +msgid "" +"Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be " +"interpreted as an integer. If the call fails, an exception is raised and " +"``-1`` is returned." +msgstr "" +"Повертає *o*, перетворене на значення :c:type:`Py_ssize_t`, якщо *o* можна " +"інтерпретувати як ціле число. Якщо виклик не вдається, виникає виняток і " +"повертається ``-1``." + +msgid "" +"If *o* can be converted to a Python int but the attempt to convert to a :c:" +"type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the *exc* " +"argument is the type of exception that will be raised (usually :exc:" +"`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the " +"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a " +"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." +msgstr "" +"Якщо *o* можна перетворити на Python int, але спроба перетворити на " +"значення :c:type:`Py_ssize_t` призведе до появи :exc:`OverflowError`, тоді " +"аргумент *exc* є типом винятку, який викличе бути викликано (зазвичай :exc:" +"`IndexError` або :exc:`OverflowError`). Якщо *exc* дорівнює ``NULL``, тоді " +"виняток очищається, а значення обрізається до ``PY_SSIZE_T_MIN`` для " +"від’ємного цілого числа або ``PY_SSIZE_T_MAX`` для додатного цілого числа." + +msgid "" +"Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the " +"``tp_as_number`` structure filled in), and ``0`` otherwise. This function " +"always succeeds." +msgstr "" +"Повертає ``1``, якщо *o* є цілим індексом (має заповнений слот ``nb_index`` " +"структури ``tp_as_number``), і ``0`` інакше. Ця функція завжди успішна." diff --git a/c-api/objbuffer.po b/c-api/objbuffer.po new file mode 100644 index 000000000..189888892 --- /dev/null +++ b/c-api/objbuffer.po @@ -0,0 +1,109 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-07-29 13:25+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Old Buffer Protocol" +msgstr "Старий буферний протокол" + +msgid "" +"These functions were part of the \"old buffer protocol\" API in Python 2. In " +"Python 3, this protocol doesn't exist anymore but the functions are still " +"exposed to ease porting 2.x code. They act as a compatibility wrapper " +"around the :ref:`new buffer protocol `, but they don't give " +"you control over the lifetime of the resources acquired when a buffer is " +"exported." +msgstr "" +"Ці функції були частиною API \"старого буферного протоколу\" в Python 2. У " +"Python 3 цей протокол більше не існує, але функції все ще доступні для " +"полегшення перенесення коду 2.x. Вони діють як обгортка сумісності навколо :" +"ref:`нового протоколу буфера `, але вони не дають вам " +"контролю над часом життя ресурсів, отриманих під час експорту буфера." + +msgid "" +"Therefore, it is recommended that you call :c:func:`PyObject_GetBuffer` (or " +"the ``y*`` or ``w*`` :ref:`format codes ` with the :c:func:" +"`PyArg_ParseTuple` family of functions) to get a buffer view over an object, " +"and :c:func:`PyBuffer_Release` when the buffer view can be released." +msgstr "" +"Тому рекомендується викликати :c:func:`PyObject_GetBuffer` (або ``y*`` чи " +"``w*`` :ref:`коди формату ` з :c:func:`PyArg_ParseTuple` " +"сімейство функцій), щоб отримати перегляд буфера над об’єктом, і :c:func:" +"`PyBuffer_Release`, коли перегляд буфера може бути звільнений." + +msgid "" +"Returns a pointer to a read-only memory location usable as character-based " +"input. The *obj* argument must support the single-segment character buffer " +"interface. On success, returns ``0``, sets *buffer* to the memory location " +"and *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:" +"`TypeError` on error." +msgstr "" +"Повертає вказівник на місце пам’яті лише для читання, яке можна " +"використовувати як символьне введення. Аргумент *obj* повинен підтримувати " +"інтерфейс односегментного символьного буфера. У разі успіху повертає ``0``, " +"встановлює *buffer* у розташування пам’яті та *buffer_len* у значення " +"довжини буфера. Повертає ``-1`` і встановлює :exc:`TypeError` у разі помилки." + +msgid "" +"Returns a pointer to a read-only memory location containing arbitrary data. " +"The *obj* argument must support the single-segment readable buffer " +"interface. On success, returns ``0``, sets *buffer* to the memory location " +"and *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:" +"`TypeError` on error." +msgstr "" +"Повертає вказівник на область пам’яті лише для читання, що містить довільні " +"дані. Аргумент *obj* повинен підтримувати односегментний читабельний " +"інтерфейс буфера. У разі успіху повертає ``0``, встановлює *buffer* у " +"розташування пам’яті та *buffer_len* у значення довжини буфера. Повертає " +"``-1`` і встановлює :exc:`TypeError` у разі помилки." + +msgid "" +"Returns ``1`` if *o* supports the single-segment readable buffer interface. " +"Otherwise returns ``0``. This function always succeeds." +msgstr "" +"Повертає ``1``, якщо *o* підтримує односегментний читабельний інтерфейс " +"буфера. Інакше повертає ``0``. Ця функція завжди успішна." + +msgid "" +"Note that this function tries to get and release a buffer, and exceptions " +"which occur while calling corresponding functions will get suppressed. To " +"get error reporting use :c:func:`PyObject_GetBuffer()` instead." +msgstr "" +"Зверніть увагу, що ця функція намагається отримати та звільнити буфер, а " +"винятки, які виникають під час виклику відповідних функцій, будуть " +"придушені. Щоб отримати звіт про помилку, замість цього використовуйте :c:" +"func:`PyObject_GetBuffer()`." + +msgid "" +"Returns a pointer to a writable memory location. The *obj* argument must " +"support the single-segment, character buffer interface. On success, returns " +"``0``, sets *buffer* to the memory location and *buffer_len* to the buffer " +"length. Returns ``-1`` and sets a :exc:`TypeError` on error." +msgstr "" +"Повертає вказівник на область пам’яті, доступну для запису. Аргумент *obj* " +"повинен підтримувати односегментний інтерфейс символьного буфера. У разі " +"успіху повертає ``0``, встановлює *buffer* у розташування пам’яті та " +"*buffer_len* у значення довжини буфера. Повертає ``-1`` і встановлює :exc:" +"`TypeError` у разі помилки." diff --git a/c-api/object.po b/c-api/object.po new file mode 100644 index 000000000..80174ef24 --- /dev/null +++ b/c-api/object.po @@ -0,0 +1,507 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Object Protocol" +msgstr "Об'єктний протокол" + +msgid "" +"The ``NotImplemented`` singleton, used to signal that an operation is not " +"implemented for the given type combination." +msgstr "" +"Синглтон ``NotImplemented``, який використовується для сигналу про те, що " +"операція не реалізована для даної комбінації типів." + +msgid "" +"Properly handle returning :c:data:`Py_NotImplemented` from within a C " +"function (that is, increment the reference count of NotImplemented and " +"return it)." +msgstr "" +"Правильно обробляти повернення :c:data:`Py_NotImplemented` із функції C " +"(тобто збільшити кількість посилань NotImplemented і повернути його)." + +msgid "" +"Print an object *o*, on file *fp*. Returns ``-1`` on error. The flags " +"argument is used to enable certain printing options. The only option " +"currently supported is :const:`Py_PRINT_RAW`; if given, the :func:`str` of " +"the object is written instead of the :func:`repr`." +msgstr "" +"Надрукувати об'єкт *o* у файлі *fp*. Повертає ``-1`` у разі помилки. " +"Аргумент flags використовується для ввімкнення певних параметрів друку. " +"Єдиний варіант, який зараз підтримується, це :const:`Py_PRINT_RAW`; якщо " +"задано, замість :func:`repr` записується :func:`str` об’єкта." + +msgid "" +"Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. " +"This is equivalent to the Python expression ``hasattr(o, attr_name)``. This " +"function always succeeds." +msgstr "" +"Повертає ``1``, якщо *o* має атрибут *attr_name*, і ``0`` інакше. Це " +"еквівалентно виразу Python ``hasattr(o, attr_name)``. Ця функція завжди " +"успішна." + +msgid "" +"Note that exceptions which occur while calling :meth:`__getattr__` and :meth:" +"`__getattribute__` methods will get suppressed. To get error reporting use :" +"c:func:`PyObject_GetAttr()` instead." +msgstr "" +"Зауважте, що винятки, які виникають під час виклику методів :meth:" +"`__getattr__` і :meth:`__getattribute__`, будуть придушені. Щоб отримати " +"звіт про помилку, замість цього використовуйте :c:func:`PyObject_GetAttr()`." + +msgid "" +"Note that exceptions which occur while calling :meth:`__getattr__` and :meth:" +"`__getattribute__` methods and creating a temporary string object will get " +"suppressed. To get error reporting use :c:func:`PyObject_GetAttrString()` " +"instead." +msgstr "" +"Зауважте, що винятки, які виникають під час виклику методів :meth:" +"`__getattr__` і :meth:`__getattribute__` і створення тимчасового рядкового " +"об’єкта, будуть придушені. Щоб отримати повідомлення про помилки, замість " +"цього використовуйте :c:func:`PyObject_GetAttrString()`." + +msgid "" +"Retrieve an attribute named *attr_name* from object *o*. Returns the " +"attribute value on success, or ``NULL`` on failure. This is the equivalent " +"of the Python expression ``o.attr_name``." +msgstr "" +"Отримати атрибут з назвою *attr_name* з об’єкта *o*. Повертає значення " +"атрибута в разі успіху або ``NULL`` у разі невдачі. Це еквівалент виразу " +"Python ``o.attr_name``." + +msgid "" +"Retrieve an attribute named *attr_name* from object *o*. Returns the " +"attribute value on success, or ``NULL`` on failure. This is the equivalent " +"of the Python expression ``o.attr_name``." +msgstr "" +"Отримати атрибут з назвою *attr_name* з об’єкта *o*. Повертає значення " +"атрибута в разі успіху або ``NULL`` у разі невдачі. Це еквівалент виразу " +"Python ``o.attr_name``." + +msgid "" +"Generic attribute getter function that is meant to be put into a type " +"object's ``tp_getattro`` slot. It looks for a descriptor in the dictionary " +"of classes in the object's MRO as well as an attribute in the object's :attr:" +"`~object.__dict__` (if present). As outlined in :ref:`descriptors`, data " +"descriptors take preference over instance attributes, while non-data " +"descriptors don't. Otherwise, an :exc:`AttributeError` is raised." +msgstr "" +"Загальна функція отримання атрибутів, яка призначена для розміщення в слоті " +"``tp_getattro`` об’єкта типу. Він шукає дескриптор у словнику класів у MRO " +"об’єкта, а також атрибут у :attr:`~object.__dict__` об’єкта (якщо є). Як " +"зазначено в :ref:`descriptors`, дескриптори даних мають перевагу над " +"атрибутами екземплярів, тоді як дескриптори, що не є даними, ні. В іншому " +"випадку виникає помилка :exc:`AttributeError`." + +msgid "" +"Set the value of the attribute named *attr_name*, for object *o*, to the " +"value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on " +"success. This is the equivalent of the Python statement ``o.attr_name = v``." +msgstr "" +"Установіть значення атрибута *attr_name* для об’єкта *o* на значення *v*. " +"Викликати виняток і повертати ``-1`` у разі помилки; повернути ``0`` в разі " +"успіху. Це еквівалент оператора Python ``o.attr_name = v``." + +msgid "" +"If *v* is ``NULL``, the attribute is deleted. This behaviour is deprecated " +"in favour of using :c:func:`PyObject_DelAttr`, but there are currently no " +"plans to remove it." +msgstr "" +"Якщо *v* має значення ``NULL``, атрибут видаляється. Ця поведінка застаріла " +"на користь використання :c:func:`PyObject_DelAttr`, але наразі немає планів " +"її видалення." + +msgid "" +"If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated " +"in favour of using :c:func:`PyObject_DelAttrString`." +msgstr "" +"Якщо *v* має значення ``NULL``, атрибут видаляється, але ця функція " +"застаріла на користь використання :c:func:`PyObject_DelAttrString`." + +msgid "" +"Generic attribute setter and deleter function that is meant to be put into a " +"type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a " +"data descriptor in the dictionary of classes in the object's MRO, and if " +"found it takes preference over setting or deleting the attribute in the " +"instance dictionary. Otherwise, the attribute is set or deleted in the " +"object's :attr:`~object.__dict__` (if present). On success, ``0`` is " +"returned, otherwise an :exc:`AttributeError` is raised and ``-1`` is " +"returned." +msgstr "" +"Загальна функція встановлення та видалення атрибутів, яка призначена для " +"розміщення в слоті :c:member:`~PyTypeObject.tp_setattro` об’єкта типу. Він " +"шукає дескриптор даних у словнику класів у MRO об’єкта, і якщо його " +"знайдено, він надає перевагу над налаштуванням або видаленням атрибута в " +"словнику екземпляра. В іншому випадку атрибут встановлюється або видаляється " +"в об’єкті :attr:`~object.__dict__` (якщо є). У разі успіху повертається " +"``0``, інакше виникає :exc:`AttributeError` і повертається ``-1``." + +msgid "" +"Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on " +"failure. This is the equivalent of the Python statement ``del o.attr_name``." +msgstr "" +"Видалити атрибут з назвою *attr_name* для об’єкта *o*. Повертає ``-1`` у " +"разі помилки. Це еквівалент оператора Python ``del o.attr_name``." + +msgid "" +"A generic implementation for the getter of a ``__dict__`` descriptor. It " +"creates the dictionary if necessary." +msgstr "" +"Загальна реалізація засобу отримання дескриптора ``__dict__``. Він створює " +"словник, якщо це необхідно." + +msgid "" +"This function may also be called to get the :py:attr:`~object.__dict__` of " +"the object *o*. Pass ``NULL`` for *context* when calling it. Since this " +"function may need to allocate memory for the dictionary, it may be more " +"efficient to call :c:func:`PyObject_GetAttr` when accessing an attribute on " +"the object." +msgstr "" + +msgid "On failure, returns ``NULL`` with an exception set." +msgstr "" + +msgid "" +"A generic implementation for the setter of a ``__dict__`` descriptor. This " +"implementation does not allow the dictionary to be deleted." +msgstr "" +"Загальна реалізація засобу налаштування дескриптора ``__dict__``. Ця " +"реалізація не дозволяє видаляти словник." + +msgid "" +"Return a pointer to :py:attr:`~object.__dict__` of the object *obj*. If " +"there is no ``__dict__``, return ``NULL`` without setting an exception." +msgstr "" + +msgid "" +"This function may need to allocate memory for the dictionary, so it may be " +"more efficient to call :c:func:`PyObject_GetAttr` when accessing an " +"attribute on the object." +msgstr "" + +msgid "" +"Compare the values of *o1* and *o2* using the operation specified by *opid*, " +"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" +"`Py_NE`, :const:`Py_GT`, or :const:`Py_GE`, corresponding to ``<``, ``<=``, " +"``==``, ``!=``, ``>``, or ``>=`` respectively. This is the equivalent of the " +"Python expression ``o1 op o2``, where ``op`` is the operator corresponding " +"to *opid*. Returns the value of the comparison on success, or ``NULL`` on " +"failure." +msgstr "" +"Порівняйте значення *o1* і *o2* за допомогою операції, визначеної *opid*, " +"яка має бути однією з :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" +"`Py_NE`, :const:`Py_GT` або :const:`Py_GE`, що відповідає ``<``, ``<=``, " +"``==``, ``!=``, ``>`` або ``>=`` відповідно. Це еквівалент виразу Python " +"``o1 op o2``, де ``op`` є оператором, що відповідає *opid*. Повертає " +"значення порівняння в разі успіху або ``NULL`` у разі невдачі." + +msgid "" +"Compare the values of *o1* and *o2* using the operation specified by *opid*, " +"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" +"`Py_NE`, :const:`Py_GT`, or :const:`Py_GE`, corresponding to ``<``, ``<=``, " +"``==``, ``!=``, ``>``, or ``>=`` respectively. Returns ``-1`` on error, " +"``0`` if the result is false, ``1`` otherwise. This is the equivalent of the " +"Python expression ``o1 op o2``, where ``op`` is the operator corresponding " +"to *opid*." +msgstr "" +"Порівняйте значення *o1* і *o2* за допомогою операції, визначеної *opid*, " +"яка має бути однією з :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" +"`Py_NE`, :const:`Py_GT` або :const:`Py_GE`, що відповідає ``<``, ``<=``, " +"``==``, ``!=``, ``>`` або ``>=`` відповідно. Повертає ``-1`` у разі помилки, " +"``0``, якщо результат хибний, ``1`` інакше. Це еквівалент виразу Python ``o1 " +"op o2``, де ``op`` є оператором, що відповідає *opid*." + +msgid "" +"If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` " +"will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`." +msgstr "" +"Якщо *o1* і *o2* є одним і тим же об’єктом, :c:func:" +"`PyObject_RichCompareBool` завжди повертатиме ``1`` для :const:`Py_EQ` і " +"``0`` для :const:`Py_NE`." + +msgid "" +"Compute a string representation of object *o*. Returns the string " +"representation on success, ``NULL`` on failure. This is the equivalent of " +"the Python expression ``repr(o)``. Called by the :func:`repr` built-in " +"function." +msgstr "" +"Обчислити рядкове представлення об’єкта *o*. Повертає рядкове представлення " +"в разі успіху, ``NULL`` у разі невдачі. Це еквівалент виразу Python " +"``repr(o)``. Викликається вбудованою функцією :func:`repr`." + +msgid "" +"This function now includes a debug assertion to help ensure that it does not " +"silently discard an active exception." +msgstr "" +"Ця функція тепер включає твердження налагодження, щоб гарантувати, що вона " +"не відкидає мовчки активний виняток." + +msgid "" +"As :c:func:`PyObject_Repr`, compute a string representation of object *o*, " +"but escape the non-ASCII characters in the string returned by :c:func:" +"`PyObject_Repr` with ``\\x``, ``\\u`` or ``\\U`` escapes. This generates a " +"string similar to that returned by :c:func:`PyObject_Repr` in Python 2. " +"Called by the :func:`ascii` built-in function." +msgstr "" +"Як :c:func:`PyObject_Repr`, обчислити рядкове представлення об’єкта *o*, але " +"екранувати символи, відмінні від ASCII, у рядку, який повертає :c:func:" +"`PyObject_Repr`, за допомогою ``\\x``, ``\\u`` або ``\\U`` екранується. Це " +"створює рядок, подібний до того, який повертає :c:func:`PyObject_Repr` у " +"Python 2. Викликається вбудованою функцією :func:`ascii`." + +msgid "" +"Compute a string representation of object *o*. Returns the string " +"representation on success, ``NULL`` on failure. This is the equivalent of " +"the Python expression ``str(o)``. Called by the :func:`str` built-in " +"function and, therefore, by the :func:`print` function." +msgstr "" +"Обчислити рядкове представлення об’єкта *o*. Повертає рядкове представлення " +"в разі успіху, ``NULL`` у разі невдачі. Це еквівалент виразу Python " +"``str(o)``. Викликається вбудованою функцією :func:`str` і, отже, функцією :" +"func:`print`." + +msgid "" +"Compute a bytes representation of object *o*. ``NULL`` is returned on " +"failure and a bytes object on success. This is equivalent to the Python " +"expression ``bytes(o)``, when *o* is not an integer. Unlike ``bytes(o)``, a " +"TypeError is raised when *o* is an integer instead of a zero-initialized " +"bytes object." +msgstr "" +"Обчисліть байтове представлення об'єкта *o*. У разі помилки повертається " +"``NULL``, а в разі успіху — об’єкт bytes. Це еквівалентно виразу Python " +"``bytes(o)``, коли *o* не є цілим числом. На відміну від ``bytes(o)``, " +"помилка TypeError виникає, коли *o* є цілим числом замість об’єкта bytes, " +"ініціалізованого нулем." + +msgid "" +"Return ``1`` if the class *derived* is identical to or derived from the " +"class *cls*, otherwise return ``0``. In case of an error, return ``-1``." +msgstr "" +"Повертає ``1``, якщо клас *derived* ідентичний або походить від класу *cls*, " +"інакше повертає ``0``. У разі помилки поверніть ``-1``." + +msgid "" +"If *cls* is a tuple, the check will be done against every entry in *cls*. " +"The result will be ``1`` when at least one of the checks returns ``1``, " +"otherwise it will be ``0``." +msgstr "" +"Якщо *cls* є кортежем, перевірятиметься кожен запис у *cls*. Результатом " +"буде ``1``, якщо хоча б одна з перевірок повертає ``1``, інакше він буде " +"``0``." + +msgid "" +"If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to " +"determine the subclass status as described in :pep:`3119`. Otherwise, " +"*derived* is a subclass of *cls* if it is a direct or indirect subclass, i." +"e. contained in ``cls.__mro__``." +msgstr "" +"Якщо *cls* має метод :meth:`~class.__subclasscheck__`, його буде викликано " +"для визначення статусу підкласу, як описано в :pep:`3119`. В іншому випадку " +"*derived* є підкласом *cls*, якщо він є прямим або непрямим підкласом, тобто " +"міститься в ``cls.__mro__``." + +msgid "" +"Normally only class objects, i.e. instances of :class:`type` or a derived " +"class, are considered classes. However, objects can override this by having " +"a :attr:`__bases__` attribute (which must be a tuple of base classes)." +msgstr "" +"Зазвичай лише об’єкти класу, тобто екземпляри :class:`type` або похідного " +"класу, вважаються класами. Однак об’єкти можуть замінити це, маючи атрибут :" +"attr:`__bases__` (який має бути кортежем базових класів)." + +msgid "" +"Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " +"*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." +msgstr "" +"Повертає ``1``, якщо *inst* є екземпляром класу *cls* або підкласом *cls*, " +"або ``0``, якщо ні. У разі помилки повертає ``-1`` і встановлює виняток." + +msgid "" +"If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to " +"determine the subclass status as described in :pep:`3119`. Otherwise, " +"*inst* is an instance of *cls* if its class is a subclass of *cls*." +msgstr "" +"Якщо *cls* має метод :meth:`~class.__instancecheck__`, його буде викликано " +"для визначення статусу підкласу, як описано в :pep:`3119`. В іншому випадку " +"*inst* є екземпляром *cls*, якщо його клас є підкласом *cls*." + +msgid "" +"An instance *inst* can override what is considered its class by having a :" +"attr:`__class__` attribute." +msgstr "" +"Примірник *inst* може замінити те, що вважається його класом, маючи атрибут :" +"attr:`__class__`." + +msgid "" +"An object *cls* can override if it is considered a class, and what its base " +"classes are, by having a :attr:`__bases__` attribute (which must be a tuple " +"of base classes)." +msgstr "" +"Об’єкт *cls* може перевизначати, чи вважається він класом, і які його базові " +"класи, маючи атрибут :attr:`__bases__` (який має бути кортежем базових " +"класів)." + +msgid "" +"Compute and return the hash value of an object *o*. On failure, return " +"``-1``. This is the equivalent of the Python expression ``hash(o)``." +msgstr "" +"Обчислити та повернути хеш-значення об’єкта *o*. У разі помилки поверніть " +"``-1``. Це еквівалент виразу Python ``hash(o)``." + +msgid "" +"The return type is now Py_hash_t. This is a signed integer the same size " +"as :c:type:`Py_ssize_t`." +msgstr "" +"Тип повернення тепер Py_hash_t. Це ціле число зі знаком такого ж розміру, " +"як :c:type:`Py_ssize_t`." + +msgid "" +"Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and " +"return ``-1``. This function receives special treatment when stored in a " +"``tp_hash`` slot, allowing a type to explicitly indicate to the interpreter " +"that it is not hashable." +msgstr "" +"Установіть :exc:`TypeError`, який вказує, що ``type(o)`` не хешується, і " +"повертає ``-1``. Ця функція отримує особливу обробку, коли вона зберігається " +"в слоті ``tp_hash``, дозволяючи типу явно вказувати інтерпретатору, що він " +"не хешується." + +msgid "" +"Returns ``1`` if the object *o* is considered to be true, and ``0`` " +"otherwise. This is equivalent to the Python expression ``not not o``. On " +"failure, return ``-1``." +msgstr "" +"Повертає ``1``, якщо об’єкт *o* вважається істинним, і ``0`` в іншому " +"випадку. Це еквівалентно виразу Python ``not not o``. У разі помилки " +"поверніть ``-1``." + +msgid "" +"Returns ``0`` if the object *o* is considered to be true, and ``1`` " +"otherwise. This is equivalent to the Python expression ``not o``. On " +"failure, return ``-1``." +msgstr "" +"Повертає ``0``, якщо об’єкт *o* вважається істинним, і ``1`` інакше. Це " +"еквівалентно виразу Python ``not o``. У разі помилки поверніть ``-1``." + +msgid "" +"When *o* is non-``NULL``, returns a type object corresponding to the object " +"type of object *o*. On failure, raises :exc:`SystemError` and returns " +"``NULL``. This is equivalent to the Python expression ``type(o)``. This " +"function increments the reference count of the return value. There's really " +"no reason to use this function instead of the :c:func:`Py_TYPE()` function, " +"which returns a pointer of type :c:expr:`PyTypeObject*`, except when the " +"incremented reference count is needed." +msgstr "" + +msgid "" +"Return non-zero if the object *o* is of type *type* or a subtype of *type*, " +"and ``0`` otherwise. Both parameters must be non-``NULL``." +msgstr "" +"Повертає відмінне від нуля значення, якщо об’єкт *o* має тип *type* або " +"підтип *type*, і ``0`` інакше. Обидва параметри не мають бути ``NULL``." + +msgid "" +"Return the length of object *o*. If the object *o* provides either the " +"sequence and mapping protocols, the sequence length is returned. On error, " +"``-1`` is returned. This is the equivalent to the Python expression " +"``len(o)``." +msgstr "" +"Повертає довжину об'єкта *o*. Якщо об’єкт *o* надає протоколи послідовності " +"та відображення, повертається довжина послідовності. У разі помилки " +"повертається ``-1``. Це еквівалент виразу Python ``len(o)``." + +msgid "" +"Return an estimated length for the object *o*. First try to return its " +"actual length, then an estimate using :meth:`~object.__length_hint__`, and " +"finally return the default value. On error return ``-1``. This is the " +"equivalent to the Python expression ``operator.length_hint(o, " +"defaultvalue)``." +msgstr "" +"Повертає приблизну довжину об’єкта *o*. Спочатку спробуйте повернути його " +"фактичну довжину, потім оцінку за допомогою :meth:`~object.__length_hint__` " +"і, нарешті, поверніть значення за замовчуванням. У разі помилки повертає " +"``-1``. Це еквівалент виразу Python ``operator.length_hint(o, " +"defaultvalue)``." + +msgid "" +"Return element of *o* corresponding to the object *key* or ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o[key]``." +msgstr "" +"Повертає елемент *o*, що відповідає об’єкту *key* або ``NULL`` у разі " +"помилки. Це еквівалент виразу Python ``o[key]``." + +msgid "" +"Map the object *key* to the value *v*. Raise an exception and return ``-1`` " +"on failure; return ``0`` on success. This is the equivalent of the Python " +"statement ``o[key] = v``. This function *does not* steal a reference to *v*." +msgstr "" +"Зіставте об’єкт *key* на значення *v*. Викликати виняток і повертати ``-1`` " +"у разі помилки; повернути ``0`` в разі успіху. Це еквівалент оператора " +"Python ``o[key] = v``. Ця функція *не* викрадає посилання на *v*." + +msgid "" +"Remove the mapping for the object *key* from the object *o*. Return ``-1`` " +"on failure. This is equivalent to the Python statement ``del o[key]``." +msgstr "" +"Видаліть зіставлення для об’єкта *key* з об’єкта *o*. Повернути ``-1`` у " +"разі помилки. Це еквівалентно оператору Python ``del o[key]``." + +msgid "" +"This is equivalent to the Python expression ``dir(o)``, returning a " +"(possibly empty) list of strings appropriate for the object argument, or " +"``NULL`` if there was an error. If the argument is ``NULL``, this is like " +"the Python ``dir()``, returning the names of the current locals; in this " +"case, if no execution frame is active then ``NULL`` is returned but :c:func:" +"`PyErr_Occurred` will return false." +msgstr "" +"Це еквівалентно виразу Python ``dir(o)``, який повертає (можливо, порожній) " +"список рядків, відповідних для аргументу об’єкта, або ``NULL``, якщо була " +"помилка. Якщо аргумент ``NULL``, це схоже на ``dir()`` Python, що повертає " +"імена поточних локальних систем; у цьому випадку, якщо жоден кадр виконання " +"не активний, повертається ``NULL``, але :c:func:`PyErr_Occurred` повертатиме " +"false." + +msgid "" +"This is equivalent to the Python expression ``iter(o)``. It returns a new " +"iterator for the object argument, or the object itself if the object is " +"already an iterator. Raises :exc:`TypeError` and returns ``NULL`` if the " +"object cannot be iterated." +msgstr "" +"Це еквівалентно виразу Python ``iter(o)``. Він повертає новий ітератор для " +"аргументу об’єкта або сам об’єкт, якщо об’єкт уже є ітератором. Викликає :" +"exc:`TypeError` і повертає ``NULL``, якщо об’єкт не можна повторити." + +msgid "" +"This is the equivalent to the Python expression ``aiter(o)``. Takes an :" +"class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. " +"This is typically a new iterator but if the argument is an :class:" +"`AsyncIterator`, this returns itself. Raises :exc:`TypeError` and returns " +"``NULL`` if the object cannot be iterated." +msgstr "" +"Це еквівалент виразу Python ``aiter(o)``. Бере об’єкт :class:`AsyncIterable` " +"і повертає для нього :class:`AsyncIterator`. Зазвичай це новий ітератор, але " +"якщо аргументом є :class:`AsyncIterator`, він повертає сам себе. Викликає :" +"exc:`TypeError` і повертає ``NULL``, якщо об’єкт не можна повторити." diff --git a/c-api/objimpl.po b/c-api/objimpl.po new file mode 100644 index 000000000..1b972b67f --- /dev/null +++ b/c-api/objimpl.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Object Implementation Support" +msgstr "Підтримка реалізації об'єктів" + +msgid "" +"This chapter describes the functions, types, and macros used when defining " +"new object types." +msgstr "" +"У цьому розділі описано функції, типи та макроси, які використовуються під " +"час визначення нових типів об’єктів." diff --git a/c-api/refcounting.po b/c-api/refcounting.po new file mode 100644 index 000000000..8593636d4 --- /dev/null +++ b/c-api/refcounting.po @@ -0,0 +1,204 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Reference Counting" +msgstr "Підрахунок посилань" + +msgid "" +"The macros in this section are used for managing reference counts of Python " +"objects." +msgstr "" +"Макроси в цьому розділі використовуються для керування кількістю посилань на " +"об’єкти Python." + +msgid "Increment the reference count for object *o*." +msgstr "Збільшити кількість посилань для об’єкта *o*." + +msgid "" +"This function is usually used to convert a :term:`borrowed reference` to a :" +"term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " +"used to create a new :term:`strong reference`." +msgstr "" +"Ця функція зазвичай використовується для перетворення :term:`borrowed " +"reference` на :term:`strong reference` на місці. Функцію :c:func:`Py_NewRef` " +"можна використати для створення нового :term:`strong reference`." + +msgid "" +"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " +"use :c:func:`Py_XINCREF`." +msgstr "" +"Об’єкт не має бути ``NULL``; якщо ви не впевнені, що це не ``NULL``, " +"використовуйте :c:func:`Py_XINCREF`." + +msgid "" +"Increment the reference count for object *o*. The object may be ``NULL``, " +"in which case the macro has no effect." +msgstr "" +"Збільшити кількість посилань для об’єкта *o*. Об’єкт може бути ``NULL``, і в " +"цьому випадку макрос не матиме ефекту." + +msgid "See also :c:func:`Py_XNewRef`." +msgstr "Дивіться також :c:func:`Py_XNewRef`." + +msgid "" +"Create a new :term:`strong reference` to an object: increment the reference " +"count of the object *o* and return the object *o*." +msgstr "" +"Створіть нове :term:`strong reference` на об’єкт: збільште кількість " +"посилань на об’єкт *o* і поверніть об’єкт *o*." + +msgid "" +"When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " +"should be called on it to decrement the object reference count." +msgstr "" +"Коли :term:`strong reference` більше не потрібне, :c:func:`Py_DECREF` слід " +"викликати на ньому, щоб зменшити кількість посилань на об’єкт." + +msgid "" +"The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be " +"``NULL``." +msgstr "" +"Об’єкт *o* не має бути ``NULL``; використовуйте :c:func:`Py_XNewRef`, якщо " +"*o* може бути ``NULL``." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "can be written as::" +msgstr "можна записати як::" + +msgid "See also :c:func:`Py_INCREF`." +msgstr "Дивіться також :c:func:`Py_INCREF`." + +msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL." +msgstr "" +"Подібно до :c:func:`Py_NewRef`, але об’єкт *o* може мати значення NULL." + +msgid "If the object *o* is ``NULL``, the function just returns ``NULL``." +msgstr "" +"Якщо об’єкт *o* має значення ``NULL``, функція просто повертає ``NULL``." + +msgid "Decrement the reference count for object *o*." +msgstr "Зменшити кількість посилань для об’єкта *o*." + +msgid "" +"If the reference count reaches zero, the object's type's deallocation " +"function (which must not be ``NULL``) is invoked." +msgstr "" +"Якщо кількість посилань досягає нуля, викликається функція звільнення типу " +"об’єкта (яка не має бути ``NULL``)." + +msgid "" +"This function is usually used to delete a :term:`strong reference` before " +"exiting its scope." +msgstr "" +"Ця функція зазвичай використовується для видалення :term:`strong reference` " +"перед виходом з його області." + +msgid "" +"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " +"use :c:func:`Py_XDECREF`." +msgstr "" +"Об’єкт не має бути ``NULL``; якщо ви не впевнені, що це не ``NULL``, " +"використовуйте :c:func:`Py_XDECREF`." + +msgid "" +"The deallocation function can cause arbitrary Python code to be invoked (e." +"g. when a class instance with a :meth:`__del__` method is deallocated). " +"While exceptions in such code are not propagated, the executed code has free " +"access to all Python global variables. This means that any object that is " +"reachable from a global variable should be in a consistent state before :c:" +"func:`Py_DECREF` is invoked. For example, code to delete an object from a " +"list should copy a reference to the deleted object in a temporary variable, " +"update the list data structure, and then call :c:func:`Py_DECREF` for the " +"temporary variable." +msgstr "" +"Функція звільнення може викликати довільний код Python (наприклад, коли " +"звільняється екземпляр класу з методом :meth:`__del__`). Хоча винятки в " +"такому коді не поширюються, виконаний код має вільний доступ до всіх " +"глобальних змінних Python. Це означає, що будь-який об’єкт, доступний із " +"глобальної змінної, має перебувати в узгодженому стані перед викликом :c:" +"func:`Py_DECREF`. Наприклад, код для видалення об’єкта зі списку має " +"скопіювати посилання на видалений об’єкт у тимчасовій змінній, оновити " +"структуру даних списку, а потім викликати :c:func:`Py_DECREF` для тимчасової " +"змінної." + +msgid "" +"Decrement the reference count for object *o*. The object may be ``NULL``, " +"in which case the macro has no effect; otherwise the effect is the same as " +"for :c:func:`Py_DECREF`, and the same warning applies." +msgstr "" +"Зменшити кількість посилань для об’єкта *o*. Об’єкт може бути ``NULL``, у " +"цьому випадку макрос не має ефекту; інакше ефект такий самий, як і для :c:" +"func:`Py_DECREF`, і застосовується те саме попередження." + +msgid "" +"Decrement the reference count for object *o*. The object may be ``NULL``, " +"in which case the macro has no effect; otherwise the effect is the same as " +"for :c:func:`Py_DECREF`, except that the argument is also set to ``NULL``. " +"The warning for :c:func:`Py_DECREF` does not apply with respect to the " +"object passed because the macro carefully uses a temporary variable and sets " +"the argument to ``NULL`` before decrementing its reference count." +msgstr "" +"Зменшити кількість посилань для об’єкта *o*. Об’єкт може бути ``NULL``, у " +"цьому випадку макрос не має ефекту; інакше ефект такий самий, як і для :c:" +"func:`Py_DECREF`, за винятком того, що аргумент також має значення ``NULL``. " +"Попередження для :c:func:`Py_DECREF` не застосовується до переданого " +"об’єкта, тому що макрос обережно використовує тимчасову змінну та встановлює " +"для аргументу значення ``NULL`` перед зменшенням кількості посилань." + +msgid "" +"It is a good idea to use this macro whenever decrementing the reference " +"count of an object that might be traversed during garbage collection." +msgstr "" +"Доцільно використовувати цей макрос щоразу, коли зменшується кількість " +"посилань на об’єкт, який може бути об’їдений під час збирання сміття." + +msgid "" +"Increment the reference count for object *o*. A function version of :c:func:" +"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python." +msgstr "" +"Збільшити кількість посилань для об’єкта *o*. Версія функції :c:func:" +"`Py_XINCREF`. Його можна використовувати для динамічного вбудовування Python " +"під час виконання." + +msgid "" +"Decrement the reference count for object *o*. A function version of :c:func:" +"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python." +msgstr "" +"Зменшити кількість посилань для об’єкта *o*. Версія функції :c:func:" +"`Py_XDECREF`. Його можна використовувати для динамічного вбудовування Python " +"під час виконання." + +msgid "" +"The following functions or macros are only for use within the interpreter " +"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:" +"`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`." +msgstr "" +"Наступні функції або макроси призначені лише для використання в ядрі " +"інтерпретатора: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:" +"func:`_Py_NewReference`, а також глобальна змінна :c:data:`_Py_RefTotal`." diff --git a/c-api/reflection.po b/c-api/reflection.po new file mode 100644 index 000000000..0f5a005c4 --- /dev/null +++ b/c-api/reflection.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Reflection" +msgstr "Рефлексія" + +msgid "" +"Return a dictionary of the builtins in the current execution frame, or the " +"interpreter of the thread state if no frame is currently executing." +msgstr "" +"Повертає словник вбудованих модулів у поточному кадрі виконання або " +"інтерпретатор стану потоку, якщо наразі жоден кадр не виконується." + +msgid "" +"Return a dictionary of the local variables in the current execution frame, " +"or ``NULL`` if no frame is currently executing." +msgstr "" +"Повертає словник локальних змінних у поточному фреймі виконання або " +"``NULL``, якщо фрейм наразі не виконується." + +msgid "" +"Return a dictionary of the global variables in the current execution frame, " +"or ``NULL`` if no frame is currently executing." +msgstr "" +"Повертає словник глобальних змінних у поточному кадрі виконання або " +"``NULL``, якщо наразі жоден кадр не виконується." + +msgid "" +"Return the current thread state's frame, which is ``NULL`` if no frame is " +"currently executing." +msgstr "" +"Повертає фрейм поточного стану потоку, який є ``NULL``, якщо жоден фрейм " +"наразі не виконується." + +msgid "See also :c:func:`PyThreadState_GetFrame`." +msgstr "Дивіться також :c:func:`PyThreadState_GetFrame`." + +msgid "" +"Return the name of *func* if it is a function, class or instance object, " +"else the name of *func*\\s type." +msgstr "" +"Повертає ім’я *func*, якщо це функція, клас або об’єкт примірника, інакше " +"ім’я типу *func*\\s." + +msgid "" +"Return a description string, depending on the type of *func*. Return values " +"include \"()\" for functions and methods, \" constructor\", \" instance\", " +"and \" object\". Concatenated with the result of :c:func:" +"`PyEval_GetFuncName`, the result will be a description of *func*." +msgstr "" +"Повертає рядок опису залежно від типу *func*. Повернуті значення включають " +"\"()\" для функцій і методів, \"конструктор\", \"примірник\" і \"об'єкт\". " +"Поєднаний із результатом :c:func:`PyEval_GetFuncName`, результат буде описом " +"*func*." diff --git a/c-api/sequence.po b/c-api/sequence.po new file mode 100644 index 000000000..d5a1c2e4e --- /dev/null +++ b/c-api/sequence.po @@ -0,0 +1,252 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Sequence Protocol" +msgstr "Протокол послідовності" + +msgid "" +"Return ``1`` if the object provides the sequence protocol, and ``0`` " +"otherwise. Note that it returns ``1`` for Python classes with a :meth:" +"`__getitem__` method, unless they are :class:`dict` subclasses, since in " +"general it is impossible to determine what type of keys the class supports. " +"This function always succeeds." +msgstr "" +"Повертає ``1``, якщо об’єкт забезпечує протокол послідовності, і ``0`` " +"інакше. Зауважте, що він повертає ``1`` для класів Python за допомогою " +"методу :meth:`__getitem__`, якщо вони не є підкласами :class:`dict`, " +"оскільки загалом неможливо визначити, який тип ключів підтримує клас. Ця " +"функція завжди успішна." + +msgid "" +"Returns the number of objects in sequence *o* on success, and ``-1`` on " +"failure. This is equivalent to the Python expression ``len(o)``." +msgstr "" +"Повертає кількість об’єктів у послідовності *o* в разі успіху та ``-1`` в " +"разі невдачі. Це еквівалентно виразу Python ``len(o)``." + +msgid "" +"Return the concatenation of *o1* and *o2* on success, and ``NULL`` on " +"failure. This is the equivalent of the Python expression ``o1 + o2``." +msgstr "" +"Повертає конкатенацію *o1* і *o2* у разі успіху та ``NULL`` у разі невдачі. " +"Це еквівалент виразу Python ``o1 + o2``." + +msgid "" +"Return the result of repeating sequence object *o* *count* times, or " +"``NULL`` on failure. This is the equivalent of the Python expression ``o * " +"count``." +msgstr "" +"Повертає результат повторення об’єкта послідовності *o* *count* разів або " +"``NULL`` у разі помилки. Це еквівалент виразу Python ``o * count``." + +msgid "" +"Return the concatenation of *o1* and *o2* on success, and ``NULL`` on " +"failure. The operation is done *in-place* when *o1* supports it. This is " +"the equivalent of the Python expression ``o1 += o2``." +msgstr "" +"Повертає конкатенацію *o1* і *o2* у разі успіху та ``NULL`` у разі невдачі. " +"Операція виконується *на місці*, якщо *o1* її підтримує. Це еквівалент " +"виразу Python ``o1 += o2``." + +msgid "" +"Return the result of repeating sequence object *o* *count* times, or " +"``NULL`` on failure. The operation is done *in-place* when *o* supports " +"it. This is the equivalent of the Python expression ``o *= count``." +msgstr "" +"Повертає результат повторення об’єкта послідовності *o* *count* разів або " +"``NULL`` у разі помилки. Операція виконується *на місці*, якщо *o* її " +"підтримує. Це еквівалент виразу Python ``o *= count``." + +msgid "" +"Return the *i*\\ th element of *o*, or ``NULL`` on failure. This is the " +"equivalent of the Python expression ``o[i]``." +msgstr "" +"Повертає *i*\\-й елемент *o* або ``NULL`` у разі помилки. Це еквівалент " +"виразу Python ``o[i]``." + +msgid "" +"Return the slice of sequence object *o* between *i1* and *i2*, or ``NULL`` " +"on failure. This is the equivalent of the Python expression ``o[i1:i2]``." +msgstr "" +"Повертає зріз об’єкта послідовності *o* між *i1* і *i2* або ``NULL`` у разі " +"помилки. Це еквівалент виразу Python ``o[i1:i2]``." + +msgid "" +"Assign object *v* to the *i*\\ th element of *o*. Raise an exception and " +"return ``-1`` on failure; return ``0`` on success. This is the equivalent " +"of the Python statement ``o[i] = v``. This function *does not* steal a " +"reference to *v*." +msgstr "" +"Призначте об’єкт *v* до *i*\\ го елемента *o*. Викликати виняток і повертати " +"``-1`` у разі помилки; повернути ``0`` в разі успіху. Це еквівалент " +"оператора Python ``o[i] = v``. Ця функція *не* викрадає посилання на *v*." + +msgid "" +"If *v* is ``NULL``, the element is deleted, but this feature is deprecated " +"in favour of using :c:func:`PySequence_DelItem`." +msgstr "" +"Якщо *v* має значення ``NULL``, елемент видаляється, але ця функція " +"застаріла на користь використання :c:func:`PySequence_DelItem`." + +msgid "" +"Delete the *i*\\ th element of object *o*. Returns ``-1`` on failure. This " +"is the equivalent of the Python statement ``del o[i]``." +msgstr "" +"Видалити *i*\\ th елемент об'єкта *o*. Повертає ``-1`` у разі помилки. Це " +"еквівалент оператора Python ``del o[i]``." + +msgid "" +"Assign the sequence object *v* to the slice in sequence object *o* from *i1* " +"to *i2*. This is the equivalent of the Python statement ``o[i1:i2] = v``." +msgstr "" +"Призначте об’єкт послідовності *v* фрагменту в об’єкті послідовності *o* від " +"*i1* до *i2*. Це еквівалент оператора Python ``o[i1:i2] = v``." + +msgid "" +"Delete the slice in sequence object *o* from *i1* to *i2*. Returns ``-1`` " +"on failure. This is the equivalent of the Python statement ``del o[i1:i2]``." +msgstr "" +"Видалити фрагмент у послідовному об’єкті *o* від *i1* до *i2*. Повертає " +"``-1`` у разі помилки. Це еквівалент оператора Python ``del o[i1:i2]``." + +msgid "" +"Return the number of occurrences of *value* in *o*, that is, return the " +"number of keys for which ``o[key] == value``. On failure, return ``-1``. " +"This is equivalent to the Python expression ``o.count(value)``." +msgstr "" +"Повертає кількість входжень *value* у *o*, тобто повертає кількість ключів, " +"для яких ``o[key] == value``. У разі помилки поверніть ``-1``. Це " +"еквівалентно виразу Python ``o.count(value)``." + +msgid "" +"Determine if *o* contains *value*. If an item in *o* is equal to *value*, " +"return ``1``, otherwise return ``0``. On error, return ``-1``. This is " +"equivalent to the Python expression ``value in o``." +msgstr "" +"Визначте, чи *o* містить *value*. Якщо елемент у *o* дорівнює *value*, " +"поверніть ``1``, інакше поверніть ``0``. У разі помилки повертає ``-1``. Це " +"еквівалентно виразу Python ``значення в o``." + +msgid "" +"Return the first index *i* for which ``o[i] == value``. On error, return " +"``-1``. This is equivalent to the Python expression ``o.index(value)``." +msgstr "" +"Повертає перший індекс *i*, для якого ``o[i] == значення``. У разі помилки " +"повертає ``-1``. Це еквівалентно виразу Python ``o.index(value)``." + +msgid "" +"Return a list object with the same contents as the sequence or iterable *o*, " +"or ``NULL`` on failure. The returned list is guaranteed to be new. This is " +"equivalent to the Python expression ``list(o)``." +msgstr "" +"Повертає об’єкт списку з тим же вмістом, що й послідовність або ітерація " +"*o*, або ``NULL`` у разі помилки. Повернений список гарантовано буде новим. " +"Це еквівалентно виразу Python ``list(o)``." + +msgid "" +"Return a tuple object with the same contents as the sequence or iterable " +"*o*, or ``NULL`` on failure. If *o* is a tuple, a new reference will be " +"returned, otherwise a tuple will be constructed with the appropriate " +"contents. This is equivalent to the Python expression ``tuple(o)``." +msgstr "" +"Повертає об’єкт кортежу з тим самим вмістом, що й послідовність або " +"повторюваний *o*, або ``NULL`` у разі помилки. Якщо *o* є кортежем, буде " +"повернуто нове посилання, інакше буде створено кортеж із відповідним " +"вмістом. Це еквівалентно виразу Python ``tuple(o)``." + +msgid "" +"Return the sequence or iterable *o* as an object usable by the other " +"``PySequence_Fast*`` family of functions. If the object is not a sequence or " +"iterable, raises :exc:`TypeError` with *m* as the message text. Returns " +"``NULL`` on failure." +msgstr "" +"Повертає послідовність або ітерацію *o* як об’єкт, який можна " +"використовувати іншою сім’єю функцій ``PySequence_Fast*``. Якщо об’єкт не є " +"послідовністю або ітерацією, викликає :exc:`TypeError` з *m* як текст " +"повідомлення. Повертає ``NULL`` у разі помилки." + +msgid "" +"The ``PySequence_Fast*`` functions are thus named because they assume *o* is " +"a :c:type:`PyTupleObject` or a :c:type:`PyListObject` and access the data " +"fields of *o* directly." +msgstr "" +"Функції ``PySequence_Fast*`` названо так, оскільки вони припускають, що *o* " +"є :c:type:`PyTupleObject` або :c:type:`PyListObject` і мають прямий доступ " +"до полів даних *o*." + +msgid "" +"As a CPython implementation detail, if *o* is already a sequence or list, it " +"will be returned." +msgstr "" +"Як деталь реалізації CPython, якщо *o* вже є послідовністю або списком, він " +"буде повернутий." + +msgid "" +"Returns the length of *o*, assuming that *o* was returned by :c:func:" +"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be " +"retrieved by calling :c:func:`PySequence_Size` on *o*, but :c:func:" +"`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a list or " +"tuple." +msgstr "" +"Повертає довжину *o*, припускаючи, що *o* було повернуто :c:func:" +"`PySequence_Fast` і що *o* не є ``NULL``. Розмір також можна отримати, " +"викликавши :c:func:`PySequence_Size` на *o*, але :c:func:" +"`PySequence_Fast_GET_SIZE` швидше, тому що він може припускати, що *o* є " +"списком або кортежем." + +msgid "" +"Return the *i*\\ th element of *o*, assuming that *o* was returned by :c:" +"func:`PySequence_Fast`, *o* is not ``NULL``, and that *i* is within bounds." +msgstr "" +"Повертає *i*\\-й елемент *o*, припускаючи, що *o* було повернуто :c:func:" +"`PySequence_Fast`, *o* не є ``NULL`` і що *i* знаходиться в межах." + +msgid "" +"Return the underlying array of PyObject pointers. Assumes that *o* was " +"returned by :c:func:`PySequence_Fast` and *o* is not ``NULL``." +msgstr "" +"Повертає базовий масив покажчиків PyObject. Припускає, що *o* було " +"повернуто :c:func:`PySequence_Fast` і *o* не є ``NULL``." + +msgid "" +"Note, if a list gets resized, the reallocation may relocate the items array. " +"So, only use the underlying array pointer in contexts where the sequence " +"cannot change." +msgstr "" +"Зверніть увагу: якщо розмір списку змінено, перерозподіл може перемістити " +"масив елементів. Отже, використовуйте покажчик базового масиву лише в " +"контекстах, де послідовність не може змінитися." + +msgid "" +"Return the *i*\\ th element of *o* or ``NULL`` on failure. Faster form of :c:" +"func:`PySequence_GetItem` but without checking that :c:func:" +"`PySequence_Check` on *o* is true and without adjustment for negative " +"indices." +msgstr "" +"Повертає *i*\\-й елемент *o* або ``NULL`` у разі помилки. Швидша форма :c:" +"func:`PySequence_GetItem`, але без перевірки того, що :c:func:" +"`PySequence_Check` на *o* є істинним, і без коригування негативних індексів." diff --git a/c-api/set.po b/c-api/set.po new file mode 100644 index 000000000..e1998f99b --- /dev/null +++ b/c-api/set.po @@ -0,0 +1,249 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Olga Tomakhina, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Olga Tomakhina, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Set Objects" +msgstr "Набір об'єктів" + +msgid "" +"This section details the public API for :class:`set` and :class:`frozenset` " +"objects. Any functionality not listed below is best accessed using either " +"the abstract object protocol (including :c:func:`PyObject_CallMethod`, :c:" +"func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:" +"`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, and :c:" +"func:`PyObject_GetIter`) or the abstract number protocol (including :c:func:" +"`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:" +"`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:" +"`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:" +"`PyNumber_InPlaceXor`)." +msgstr "" +"У цьому розділі детально описано публічний API для об’єктів :class:`set` і :" +"class:`frozenset`. Будь-які функції, не перелічені нижче, найкраще отримати " +"доступ за допомогою протоколу абстрактних об’єктів (включно з :c:func:" +"`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:" +"`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:" +"`PyObject_Print` і :c:func:`PyObject_GetIter`) або протокол абстрактних " +"чисел (включно з :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:" +"func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :" +"c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, і :c:func:" +"`PyNumber_InPlaceXor`)." + +msgid "" +"This subtype of :c:type:`PyObject` is used to hold the internal data for " +"both :class:`set` and :class:`frozenset` objects. It is like a :c:type:" +"`PyDictObject` in that it is a fixed size for small sets (much like tuple " +"storage) and will point to a separate, variable sized block of memory for " +"medium and large sized sets (much like list storage). None of the fields of " +"this structure should be considered public and all are subject to change. " +"All access should be done through the documented API rather than by " +"manipulating the values in the structure." +msgstr "" +"Цей підтип :c:type:`PyObject` використовується для зберігання внутрішніх " +"даних для об’єктів :class:`set` і :class:`frozenset`. Це схоже на :c:type:" +"`PyDictObject` тим, що він має фіксований розмір для невеликих наборів " +"(подібно до сховища кортежів) і вказуватиме на окремий блок пам’яті змінного " +"розміру для середніх і великих наборів (подібно списку зберігання). Жодне з " +"полів цієї структури не можна вважати відкритим, і всі можуть бути змінені. " +"Весь доступ має здійснюватися через задокументований API, а не шляхом " +"маніпулювання значеннями в структурі." + +msgid "" +"This is an instance of :c:type:`PyTypeObject` representing the Python :class:" +"`set` type." +msgstr "" +"Це екземпляр :c:type:`PyTypeObject`, що представляє тип :class:`set` Python." + +msgid "" +"This is an instance of :c:type:`PyTypeObject` representing the Python :class:" +"`frozenset` type." +msgstr "" +"Це екземпляр :c:type:`PyTypeObject`, що представляє тип :class:`frozenset` " +"Python." + +msgid "" +"The following type check macros work on pointers to any Python object. " +"Likewise, the constructor functions work with any iterable Python object." +msgstr "" +"Наступні макроси перевірки типу працюють з покажчиками на будь-який об’єкт " +"Python. Подібним чином функції конструктора працюють з будь-яким ітерованим " +"об’єктом Python." + +msgid "" +"Return true if *p* is a :class:`set` object or an instance of a subtype. " +"This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом :class:`set` або екземпляром підтипу. Ця " +"функція завжди успішна." + +msgid "" +"Return true if *p* is a :class:`frozenset` object or an instance of a " +"subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом :class:`frozenset` або екземпляром " +"підтипу. Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a :class:`set` object, a :class:`frozenset` object, or " +"an instance of a subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом :class:`set`, об’єктом :class:`frozenset` " +"або екземпляром підтипу. Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a :class:`set` object but not an instance of a " +"subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом :class:`set`, але не екземпляром підтипу. " +"Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a :class:`set` object or a :class:`frozenset` object " +"but not an instance of a subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом :class:`set` або об’єктом :class:" +"`frozenset`, але не екземпляром підтипу. Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a :class:`frozenset` object but not an instance of a " +"subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом :class:`frozenset`, але не є екземпляром " +"підтипу. Ця функція завжди успішна." + +msgid "" +"Return a new :class:`set` containing objects returned by the *iterable*. " +"The *iterable* may be ``NULL`` to create a new empty set. Return the new " +"set on success or ``NULL`` on failure. Raise :exc:`TypeError` if *iterable* " +"is not actually iterable. The constructor is also useful for copying a set " +"(``c=set(s)``)." +msgstr "" +"Повертає новий :class:`set`, що містить об’єкти, повернуті *iterable*. " +"*Iterable* може бути ``NULL`` для створення нового порожнього набору. " +"Повертає новий набір у разі успіху або ``NULL`` у разі невдачі. Викликати :" +"exc:`TypeError`, якщо *iterable* насправді не можна ітерувати. Конструктор " +"також корисний для копіювання набору (``c=set(s)``)." + +msgid "" +"Return a new :class:`frozenset` containing objects returned by the " +"*iterable*. The *iterable* may be ``NULL`` to create a new empty frozenset. " +"Return the new set on success or ``NULL`` on failure. Raise :exc:" +"`TypeError` if *iterable* is not actually iterable." +msgstr "" +"Повертає новий :class:`frozenset`, що містить об’єкти, повернуті *iterable*. " +"*Iterable* може бути ``NULL`` для створення нового порожнього замороженого " +"набору. Повертає новий набір у разі успіху або ``NULL`` у разі невдачі. " +"Викликати :exc:`TypeError`, якщо *iterable* насправді не можна ітерувати." + +msgid "" +"The following functions and macros are available for instances of :class:" +"`set` or :class:`frozenset` or instances of their subtypes." +msgstr "" +"Наступні функції та макроси доступні для екземплярів :class:`set` або :class:" +"`frozenset` або екземплярів їхніх підтипів." + +msgid "" +"Return the length of a :class:`set` or :class:`frozenset` object. Equivalent " +"to ``len(anyset)``. Raises a :exc:`PyExc_SystemError` if *anyset* is not a :" +"class:`set`, :class:`frozenset`, or an instance of a subtype." +msgstr "" +"Повертає довжину об’єкта :class:`set` або :class:`frozenset`. Еквівалент " +"``len(anyset)``. Викликає :exc:`PyExc_SystemError`, якщо *anyset* не є :" +"class:`set`, :class:`frozenset` або екземпляром підтипу." + +msgid "Macro form of :c:func:`PySet_Size` without error checking." +msgstr "Макроформа :c:func:`PySet_Size` без перевірки помилок." + +msgid "" +"Return ``1`` if found, ``0`` if not found, and ``-1`` if an error is " +"encountered. Unlike the Python :meth:`__contains__` method, this function " +"does not automatically convert unhashable sets into temporary frozensets. " +"Raise a :exc:`TypeError` if the *key* is unhashable. Raise :exc:" +"`PyExc_SystemError` if *anyset* is not a :class:`set`, :class:`frozenset`, " +"or an instance of a subtype." +msgstr "" +"Повертає ``1``, якщо знайдено, ``0``, якщо не знайдено, ``-1``, якщо " +"виявлено помилку. На відміну від методу Python :meth:`__contains__`, ця " +"функція не перетворює набори, які не можна хешувати, у тимчасові заморожені " +"набори. Викликати :exc:`TypeError`, якщо *ключ* не хешується. Викликати :exc:" +"`PyExc_SystemError`, якщо *anyset* не є :class:`set`, :class:`frozenset` або " +"екземпляром підтипу." + +msgid "" +"Add *key* to a :class:`set` instance. Also works with :class:`frozenset` " +"instances (like :c:func:`PyTuple_SetItem` it can be used to fill in the " +"values of brand new frozensets before they are exposed to other code). " +"Return ``0`` on success or ``-1`` on failure. Raise a :exc:`TypeError` if " +"the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to " +"grow. Raise a :exc:`SystemError` if *set* is not an instance of :class:" +"`set` or its subtype." +msgstr "" +"Додайте *key* до екземпляра :class:`set`. Також працює з екземплярами :class:" +"`frozenset` (наприклад, :c:func:`PyTuple_SetItem`, його можна " +"використовувати для заповнення значень абсолютно нових заморожених наборів " +"перед тим, як вони будуть представлені в іншому коді). Повертає ``0`` у разі " +"успіху або ``-1`` у разі невдачі. Викликати :exc:`TypeError`, якщо *ключ* не " +"хешується. Викликайте :exc:`MemoryError`, якщо немає місця для зростання. " +"Викликати :exc:`SystemError`, якщо *set* не є екземпляром :class:`set` або " +"його підтипу." + +msgid "" +"The following functions are available for instances of :class:`set` or its " +"subtypes but not for instances of :class:`frozenset` or its subtypes." +msgstr "" +"Наступні функції доступні для екземплярів :class:`set` або його підтипів, " +"але не для екземплярів :class:`frozenset` або його підтипів." + +msgid "" +"Return ``1`` if found and removed, ``0`` if not found (no action taken), and " +"``-1`` if an error is encountered. Does not raise :exc:`KeyError` for " +"missing keys. Raise a :exc:`TypeError` if the *key* is unhashable. Unlike " +"the Python :meth:`~set.discard` method, this function does not automatically " +"convert unhashable sets into temporary frozensets. Raise :exc:" +"`PyExc_SystemError` if *set* is not an instance of :class:`set` or its " +"subtype." +msgstr "" +"Повертає ``1``, якщо знайдено та видалено, ``0``, якщо не знайдено (дія не " +"виконано), і ``-1``, якщо виявлено помилку. Не викликає :exc:`KeyError` за " +"відсутні ключі. Викликати :exc:`TypeError`, якщо *ключ* не хешується. На " +"відміну від методу Python :meth:`~set.discard`, ця функція не перетворює " +"набори, які не можна хешувати, у тимчасові заморожені набори. Викликати :exc:" +"`PyExc_SystemError`, якщо *set* не є екземпляром :class:`set` або його " +"підтипу." + +msgid "" +"Return a new reference to an arbitrary object in the *set*, and removes the " +"object from the *set*. Return ``NULL`` on failure. Raise :exc:`KeyError` " +"if the set is empty. Raise a :exc:`SystemError` if *set* is not an instance " +"of :class:`set` or its subtype." +msgstr "" +"Повертає нове посилання на довільний об’єкт у *set* та видаляє об’єкт із " +"*set*. Повертає ``NULL`` у разі помилки. Викликати :exc:`KeyError`, якщо " +"набір порожній. Викликати :exc:`SystemError`, якщо *set* не є екземпляром :" +"class:`set` або його підтипу." + +msgid "Empty an existing set of all elements." +msgstr "Очистити існуючий набір від усіх елементів." diff --git a/c-api/slice.po b/c-api/slice.po new file mode 100644 index 000000000..63f88b265 --- /dev/null +++ b/c-api/slice.po @@ -0,0 +1,175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Slice Objects" +msgstr "Об'єкти фрагментів" + +msgid "" +"The type object for slice objects. This is the same as :class:`slice` in " +"the Python layer." +msgstr "" +"Об’єкт типу для об’єктів фрагмента. Це те саме, що :class:`slice` на рівні " +"Python." + +msgid "" +"Return true if *ob* is a slice object; *ob* must not be ``NULL``. This " +"function always succeeds." +msgstr "" +"Повертає true, якщо *ob* є об’єктом фрагмента; *ob* не має бути ``NULL``. Ця " +"функція завжди успішна." + +msgid "" +"Return a new slice object with the given values. The *start*, *stop*, and " +"*step* parameters are used as the values of the slice object attributes of " +"the same names. Any of the values may be ``NULL``, in which case the " +"``None`` will be used for the corresponding attribute. Return ``NULL`` if " +"the new object could not be allocated." +msgstr "" +"Повертає новий об’єкт фрагмента із заданими значеннями. Параметри *start*, " +"*stop* і *step* використовуються як значення однойменних атрибутів об’єкта " +"зрізу. Будь-яке зі значень може бути ``NULL``, у цьому випадку ``None`` буде " +"використано для відповідного атрибута. Повертає ``NULL``, якщо новий об’єкт " +"не може бути виділений." + +msgid "" +"Retrieve the start, stop and step indices from the slice object *slice*, " +"assuming a sequence of length *length*. Treats indices greater than *length* " +"as errors." +msgstr "" +"Отримати індекси початку, зупинки та кроку з об’єкта фрагмента *slice*, " +"припускаючи послідовність довжини *length*. Розглядає індекси, більші за " +"*length*, як помилки." + +msgid "" +"Returns ``0`` on success and ``-1`` on error with no exception set (unless " +"one of the indices was not :const:`None` and failed to be converted to an " +"integer, in which case ``-1`` is returned with an exception set)." +msgstr "" +"Повертає ``0`` у разі успіху та ``-1`` у разі помилки без встановленого " +"винятку (якщо один з індексів не був :const:`None` і його не вдалося " +"перетворити на ціле число, у такому випадку ``- 1`` повертається з набором " +"винятків)." + +msgid "You probably do not want to use this function." +msgstr "Ймовірно, ви не хочете використовувати цю функцію." + +msgid "" +"The parameter type for the *slice* parameter was ``PySliceObject*`` before." +msgstr "Раніше тип параметра для параметра *slice* був ``PySliceObject*``." + +msgid "" +"Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start, " +"stop, and step indices from the slice object *slice* assuming a sequence of " +"length *length*, and store the length of the slice in *slicelength*. Out of " +"bounds indices are clipped in a manner consistent with the handling of " +"normal slices." +msgstr "" +"Корисна заміна для :c:func:`PySlice_GetIndices`. Отримати індекси початку, " +"зупинки та кроку з об’єкта фрагмента *slice*, припускаючи послідовність " +"довжини *length*, і зберегти довжину фрагмента в *slicelength*. Індекси поза " +"межами обрізаються таким чином, що відповідає обробці звичайних фрагментів." + +msgid "Returns ``0`` on success and ``-1`` on error with exception set." +msgstr "" +"Повертає ``0`` у разі успіху та ``-1`` у разі помилки з установленим " +"винятком." + +msgid "" +"This function is considered not safe for resizable sequences. Its invocation " +"should be replaced by a combination of :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices` where ::" +msgstr "" +"Ця функція вважається небезпечною для послідовностей змінного розміру. Його " +"виклик слід замінити комбінацією :c:func:`PySlice_Unpack` і :c:func:" +"`PySlice_AdjustIndices`, де:" + +msgid "is replaced by ::" +msgstr "замінюється на ::" + +msgid "" +"If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` " +"and ``0x03060000`` (not including) or ``0x03060100`` or higher :c:func:`!" +"PySlice_GetIndicesEx` is implemented as a macro using :c:func:`!" +"PySlice_Unpack` and :c:func:`!PySlice_AdjustIndices`. Arguments *start*, " +"*stop* and *step* are evaluated more than once." +msgstr "" +"Якщо ``Py_LIMITED_API`` не встановлено або встановлено значення між " +"``0x03050400`` і ``0x03060000`` (не включаючи) або ``0x03060100`` або вище :" +"c:func:`!PySlice_GetIndicesEx` реалізовано як макрос із використанням :c:" +"func:`!PySlice_Unpack` і :c:func:`!PySlice_AdjustIndices`. Аргументи " +"*start*, *stop* і *step* обчислюються більше одного разу." + +msgid "" +"If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or " +"between ``0x03060000`` and ``0x03060100`` (not including) :c:func:`!" +"PySlice_GetIndicesEx` is a deprecated function." +msgstr "" +"Якщо для ``Py_LIMITED_API`` встановлено значення, менше ніж ``0x03050400`` " +"або між ``0x03060000`` і ``0x03060100`` (не включаючи) :c:func:`!" +"PySlice_GetIndicesEx` є застарілою функцією." + +msgid "" +"Extract the start, stop and step data members from a slice object as C " +"integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to " +"``PY_SSIZE_T_MAX``, silently boost the start and stop values less than " +"``PY_SSIZE_T_MIN`` to ``PY_SSIZE_T_MIN``, and silently boost the step values " +"less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``." +msgstr "" +"Витягти елементи даних початку, зупинки та кроку з об’єкта зрізу як цілі " +"числа C. Безшумне зменшення значень, що перевищують ``PY_SSIZE_T_MAX``, до " +"``PY_SSIZE_T_MAX``, миттєве підвищення початкових і кінцевих значень, менших " +"за ``PY_SSIZE_T_MIN``, до ``PY_SSIZE_T_MIN``, і миттєве збільшення значень " +"кроку, менших за ``-PY_SSIZE_T_MAX`` до ``-PY_SSIZE_T_MAX``." + +msgid "Return ``-1`` on error, ``0`` on success." +msgstr "Повертає ``-1`` у разі помилки, ``0`` у разі успіху." + +msgid "" +"Adjust start/end slice indices assuming a sequence of the specified length. " +"Out of bounds indices are clipped in a manner consistent with the handling " +"of normal slices." +msgstr "" +"Налаштуйте початкові/кінцеві індекси фрагментів, припускаючи послідовність " +"зазначеної довжини. Індекси поза межами обрізаються таким чином, що " +"відповідає обробці звичайних фрагментів." + +msgid "" +"Return the length of the slice. Always successful. Doesn't call Python " +"code." +msgstr "Повернути довжину зрізу. Завжди успішний. Не викликає код Python." + +msgid "Ellipsis Object" +msgstr "Еліпсис" + +msgid "" +"The Python ``Ellipsis`` object. This object has no methods. It needs to be " +"treated just like any other object with respect to reference counts. Like :" +"c:data:`Py_None` it is a singleton object." +msgstr "" +"Об’єкт ``Ellipsis`` Python. Цей об’єкт не має методів. З ним потрібно " +"поводитися так само, як і з будь-яким іншим об’єктом щодо кількості " +"посилань. Як і :c:data:`Py_None`, це єдиний об’єкт." diff --git a/c-api/stable.po b/c-api/stable.po new file mode 100644 index 000000000..56be784ed --- /dev/null +++ b/c-api/stable.po @@ -0,0 +1,311 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "C API Stability" +msgstr "Стабільність C API" + +msgid "" +"Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. " +"While the C API will change with every minor release (e.g. from 3.9 to " +"3.10), most changes will be source-compatible, typically by only adding new " +"API. Changing existing API or removing API is only done after a deprecation " +"period or to fix serious issues." +msgstr "" +"C API Python регулюється Політикою зворотної сумісності, :pep:`387`. Хоча C " +"API змінюватиметься з кожним незначним випуском (наприклад, з 3.9 на 3.10), " +"більшість змін будуть сумісними з вихідним кодом, як правило, шляхом " +"додавання лише нового API. Зміна існуючого API або видалення API виконується " +"лише після закінчення періоду застарілості або для вирішення серйозних " +"проблем." + +msgid "" +"CPython's Application Binary Interface (ABI) is forward- and backwards-" +"compatible across a minor release (if these are compiled the same way; see :" +"ref:`stable-abi-platform` below). So, code compiled for Python 3.10.0 will " +"work on 3.10.8 and vice versa, but will need to be compiled separately for " +"3.9.x and 3.10.x." +msgstr "" +"Двійковий інтерфейс додатків (ABI) CPython є прямо- та зворотно сумісним у " +"незначних випусках (якщо вони скомпільовані таким же чином; див. :ref:" +"`stable-abi-platform` нижче). Отже, код, скомпільований для Python 3.10.0, " +"працюватиме на 3.10.8 і навпаки, але його потрібно буде скомпілювати окремо " +"для 3.9.x і 3.10.x." + +msgid "" +"Names prefixed by an underscore, such as ``_Py_InternalState``, are private " +"API that can change without notice even in patch releases." +msgstr "" +"Імена з префіксом підкреслення, як-от ``_Py_InternalState``, є приватним " +"API, який можна змінювати без попередження навіть у випусках виправлень." + +msgid "Stable Application Binary Interface" +msgstr "Стабільний бінарний інтерфейс програми" + +msgid "" +"Python 3.2 introduced the *Limited API*, a subset of Python's C API. " +"Extensions that only use the Limited API can be compiled once and work with " +"multiple versions of Python. Contents of the Limited API are :ref:`listed " +"below `." +msgstr "" +"Python 3.2 представив *Limited API*, підмножину C API Python. Розширення, " +"які використовують лише Limited API, можна скомпільувати один раз і " +"працювати з кількома версіями Python. Вміст обмеженого API :ref:`наведено " +"нижче `." + +msgid "" +"To enable this, Python provides a *Stable ABI*: a set of symbols that will " +"remain compatible across Python 3.x versions. The Stable ABI contains " +"symbols exposed in the Limited API, but also other ones – for example, " +"functions necessary to support older versions of the Limited API." +msgstr "" +"Щоб увімкнути це, Python надає *Stable ABI*: набір символів, який " +"залишатиметься сумісним у версіях Python 3.x. Стабільний ABI містить " +"символи, доступні в Limited API, а також інші – наприклад, функції, " +"необхідні для підтримки старіших версій Limited API." + +msgid "" +"(For simplicity, this document talks about *extensions*, but the Limited API " +"and Stable ABI work the same way for all uses of the API – for example, " +"embedding Python.)" +msgstr "" +"(Для простоти, у цьому документі йдеться про *розширення*, але Limited API і " +"Stable ABI працюють однаково для всіх видів використання API – наприклад, " +"для вбудовування Python.)" + +msgid "" +"Define this macro before including ``Python.h`` to opt in to only use the " +"Limited API, and to select the Limited API version." +msgstr "" +"Визначте цей макрос, перш ніж включати ``Python.h``, щоб увімкнути " +"використання лише обмеженого API та вибрати обмежену версію API." + +msgid "" +"Define ``Py_LIMITED_API`` to the value of :c:data:`PY_VERSION_HEX` " +"corresponding to the lowest Python version your extension supports. The " +"extension will work without recompilation with all Python 3 releases from " +"the specified one onward, and can use Limited API introduced up to that " +"version." +msgstr "" +"Визначте для ``Py_LIMITED_API`` значення :c:data:`PY_VERSION_HEX`, що " +"відповідає найстаршій версії Python, яку підтримує ваше розширення. " +"Розширення працюватиме без перекомпіляції з усіма випусками Python 3, " +"починаючи з зазначеного, і може використовувати обмежений API, представлений " +"до цієї версії." + +msgid "" +"Rather than using the ``PY_VERSION_HEX`` macro directly, hardcode a minimum " +"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when " +"compiling with future Python versions." +msgstr "" +"Замість безпосереднього використання макросу ``PY_VERSION_HEX`` жорстко " +"закодуйте мінімальну проміжну версію (наприклад, ``0x030A0000`` для Python " +"3.10) для стабільності під час компіляції з майбутніми версіями Python." + +msgid "" +"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as " +"``0x03020000`` (Python 3.2, the version that introduced Limited API)." +msgstr "" +"Ви також можете визначити ``Py_LIMITED_API`` як ``3``. Це працює так само, " +"як ``0x03020000`` (Python 3.2, версія, яка представила Limited API)." + +msgid "" +"On Windows, extensions that use the Stable ABI should be linked against " +"``python3.dll`` rather than a version-specific library such as ``python39." +"dll``." +msgstr "" +"У Windows розширення, які використовують стабільний ABI, слід пов’язувати з " +"``python3.dll``, а не з бібліотекою для певної версії, такою як ``python39." +"dll``." + +msgid "" +"On some platforms, Python will look for and load shared library files named " +"with the ``abi3`` tag (e.g. ``mymodule.abi3.so``). It does not check if such " +"extensions conform to a Stable ABI. The user (or their packaging tools) need " +"to ensure that, for example, extensions built with the 3.10+ Limited API are " +"not installed for lower versions of Python." +msgstr "" +"На деяких платформах Python шукатиме та завантажуватиме спільні бібліотечні " +"файли, названі тегом ``abi3`` (наприклад, ``mymodule.abi3.so``). Він не " +"перевіряє, чи такі розширення відповідають стабільному ABI. Користувач (або " +"його інструменти пакування) повинні переконатися, що, наприклад, розширення, " +"створені за допомогою обмеженого API 3.10+, не встановлено для нижчих версій " +"Python." + +msgid "" +"All functions in the Stable ABI are present as functions in Python's shared " +"library, not solely as macros. This makes them usable from languages that " +"don't use the C preprocessor." +msgstr "" +"Усі функції в Stable ABI присутні як функції в спільній бібліотеці Python, а " +"не лише як макроси. Це робить їх придатними для використання з мов, які не " +"використовують препроцесор C." + +msgid "Limited API Scope and Performance" +msgstr "Обмежений обсяг і продуктивність API" + +msgid "" +"The goal for the Limited API is to allow everything that is possible with " +"the full C API, but possibly with a performance penalty." +msgstr "" +"Мета обмеженого API полягає в тому, щоб дозволити все, що можливо з повним " +"API C, але, можливо, зі зниженням продуктивності." + +msgid "" +"For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro " +"variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it " +"can rely on version-specific implementation details of the list object." +msgstr "" +"Наприклад, хоча :c:func:`PyList_GetItem` доступний, його \"небезпечний\" " +"варіант макросу :c:func:`PyList_GET_ITEM` ні. Макрос може бути швидшим, " +"оскільки він може покладатися на специфічні для версії деталі реалізації " +"об’єкта списку." + +msgid "" +"Without ``Py_LIMITED_API`` defined, some C API functions are inlined or " +"replaced by macros. Defining ``Py_LIMITED_API`` disables this inlining, " +"allowing stability as Python's data structures are improved, but possibly " +"reducing performance." +msgstr "" +"Без визначення ``Py_LIMITED_API`` деякі функції C API вбудовані або замінені " +"макросами. Визначення ``Py_LIMITED_API`` вимикає це вбудовування, " +"забезпечуючи стабільність у міру вдосконалення структур даних Python, але, " +"можливо, знижуючи продуктивність." + +msgid "" +"By leaving out the ``Py_LIMITED_API`` definition, it is possible to compile " +"a Limited API extension with a version-specific ABI. This can improve " +"performance for that Python version, but will limit compatibility. Compiling " +"with ``Py_LIMITED_API`` will then yield an extension that can be distributed " +"where a version-specific one is not available – for example, for prereleases " +"of an upcoming Python version." +msgstr "" +"Виключивши визначення ``Py_LIMITED_API``, можна скомпілювати обмежене " +"розширення API із спеціальним ABI для версії. Це може покращити " +"продуктивність цієї версії Python, але обмежить сумісність. Компіляція за " +"допомогою ``Py_LIMITED_API`` дасть розширення, яке можна розповсюджувати " +"там, де недоступне розширення для конкретної версії – наприклад, для " +"попередніх версій майбутньої версії Python." + +msgid "Limited API Caveats" +msgstr "Обмежені застереження щодо API" + +msgid "" +"Note that compiling with ``Py_LIMITED_API`` is *not* a complete guarantee " +"that code conforms to the Limited API or the Stable ABI. ``Py_LIMITED_API`` " +"only covers definitions, but an API also includes other issues, such as " +"expected semantics." +msgstr "" +"Зауважте, що компіляція за допомогою ``Py_LIMITED_API`` *не* є повною " +"гарантією того, що код відповідає Limited API або Stable ABI. " +"``Py_LIMITED_API`` охоплює лише визначення, але API також містить інші " +"проблеми, такі як очікувана семантика." + +msgid "" +"One issue that ``Py_LIMITED_API`` does not guard against is calling a " +"function with arguments that are invalid in a lower Python version. For " +"example, consider a function that starts accepting ``NULL`` for an argument. " +"In Python 3.9, ``NULL`` now selects a default behavior, but in Python 3.8, " +"the argument will be used directly, causing a ``NULL`` dereference and " +"crash. A similar argument works for fields of structs." +msgstr "" +"Одна проблема, від якої ``Py_LIMITED_API`` не захищає, це виклик функції з " +"аргументами, які недійсні в старішій версії Python. Наприклад, розглянемо " +"функцію, яка починає приймати ``NULL`` для аргументу. У Python 3.9 ``NULL`` " +"тепер вибирає поведінку за замовчуванням, але в Python 3.8 аргумент " +"використовуватиметься безпосередньо, спричиняючи розіменування ``NULL`` і " +"збій. Подібний аргумент працює для полів структур." + +msgid "" +"Another issue is that some struct fields are currently not hidden when " +"``Py_LIMITED_API`` is defined, even though they're part of the Limited API." +msgstr "" +"Інша проблема полягає в тому, що деякі поля структури наразі не приховані, " +"коли визначено ``Py_LIMITED_API``, навіть якщо вони є частиною обмеженого " +"API." + +msgid "" +"For these reasons, we recommend testing an extension with *all* minor Python " +"versions it supports, and preferably to build with the *lowest* such version." +msgstr "" +"З цих причин ми рекомендуємо тестувати розширення з *усіма* проміжними " +"версіями Python, які воно підтримує, і бажано створювати з *найнижчою* такою " +"версією." + +msgid "" +"We also recommend reviewing documentation of all used API to check if it is " +"explicitly part of the Limited API. Even with ``Py_LIMITED_API`` defined, a " +"few private declarations are exposed for technical reasons (or even " +"unintentionally, as bugs)." +msgstr "" +"Ми також рекомендуємо переглянути документацію щодо всіх використовуваних " +"API, щоб перевірити, чи вони є частиною обмеженого API. Навіть якщо " +"визначено ``Py_LIMITED_API``, кілька приватних заяв виявляються з технічних " +"причин (або навіть ненавмисно, як помилки)." + +msgid "" +"Also note that the Limited API is not necessarily stable: compiling with " +"``Py_LIMITED_API`` with Python 3.8 means that the extension will run with " +"Python 3.12, but it will not necessarily *compile* with Python 3.12. In " +"particular, parts of the Limited API may be deprecated and removed, provided " +"that the Stable ABI stays stable." +msgstr "" +"Також зауважте, що обмежений API не обов’язково є стабільним: компіляція за " +"допомогою ``Py_LIMITED_API`` з Python 3.8 означає, що розширення працюватиме " +"з Python 3.12, але воно не обов’язково *компілюється* з Python 3.12. " +"Зокрема, частини обмеженого API можуть бути застарілими та видалені за " +"умови, що стабільний ABI залишається стабільним." + +msgid "Platform Considerations" +msgstr "Розгляд платформи" + +msgid "" +"ABI stability depends not only on Python, but also on the compiler used, " +"lower-level libraries and compiler options. For the purposes of the Stable " +"ABI, these details define a “platform”. They usually depend on the OS type " +"and processor architecture" +msgstr "" +"Стабільність ABI залежить не тільки від Python, а й від використовуваного " +"компілятора, бібліотек нижчого рівня та параметрів компілятора. Для цілей " +"стабільного ABI ці деталі визначають \"платформу\". Зазвичай вони залежать " +"від типу ОС і архітектури процесора" + +msgid "" +"It is the responsibility of each particular distributor of Python to ensure " +"that all Python versions on a particular platform are built in a way that " +"does not break the Stable ABI. This is the case with Windows and macOS " +"releases from ``python.org`` and many third-party distributors." +msgstr "" +"Кожен окремий розповсюджувач Python несе відповідальність за те, щоб усі " +"версії Python на певній платформі створювалися таким чином, щоб не " +"порушувати стабільний ABI. Це стосується випусків Windows і macOS від " +"``python.org`` і багатьох сторонніх розповсюджувачів." + +msgid "Contents of Limited API" +msgstr "Вміст обмеженого API" + +msgid "Currently, the Limited API includes the following items:" +msgstr "Наразі Limited API містить такі елементи:" diff --git a/c-api/structures.po b/c-api/structures.po new file mode 100644 index 000000000..c7fbe8389 --- /dev/null +++ b/c-api/structures.po @@ -0,0 +1,741 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Common Object Structures" +msgstr "Загальні структури об'єктів" + +msgid "" +"There are a large number of structures which are used in the definition of " +"object types for Python. This section describes these structures and how " +"they are used." +msgstr "" +"Існує велика кількість структур, які використовуються для визначення типів " +"об’єктів для Python. У цьому розділі описано ці структури та як вони " +"використовуються." + +msgid "Base object types and macros" +msgstr "Базові типи об'єктів і макроси" + +msgid "" +"All Python objects ultimately share a small number of fields at the " +"beginning of the object's representation in memory. These are represented " +"by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are " +"defined, in turn, by the expansions of some macros also used, whether " +"directly or indirectly, in the definition of all other Python objects." +msgstr "" +"Зрештою, усі об’єкти Python мають спільну невелику кількість полів на " +"початку представлення об’єкта в пам’яті. Вони представлені типами :c:type:" +"`PyObject` і :c:type:`PyVarObject`, які, у свою чергу, визначаються " +"розширеннями деяких макросів, які також використовуються, прямо чи " +"опосередковано, у визначенні всіх інші об’єкти Python." + +msgid "" +"All object types are extensions of this type. This is a type which contains " +"the information Python needs to treat a pointer to an object as an object. " +"In a normal \"release\" build, it contains only the object's reference count " +"and a pointer to the corresponding type object. Nothing is actually declared " +"to be a :c:type:`PyObject`, but every pointer to a Python object can be cast " +"to a :c:expr:`PyObject*`. Access to the members must be done by using the " +"macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." +msgstr "" + +msgid "" +"This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` " +"field. This is only used for objects that have some notion of *length*. " +"This type does not often appear in the Python/C API. Access to the members " +"must be done by using the macros :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, " +"and :c:macro:`Py_SIZE`." +msgstr "" +"Це розширення :c:type:`PyObject`, яке додає поле :attr:`ob_size`. Це " +"використовується лише для об’єктів, які мають деяке поняття *довжини*. Цей " +"тип не часто зустрічається в Python/C API. Доступ до учасників має " +"здійснюватися за допомогою макросів :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE` " +"і :c:macro:`Py_SIZE`." + +msgid "" +"This is a macro used when declaring new types which represent objects " +"without a varying length. The PyObject_HEAD macro expands to::" +msgstr "" +"Це макрос, який використовується під час оголошення нових типів, які " +"представляють об’єкти без змінної довжини. Макрос PyObject_HEAD розширюється " +"до:" + +msgid "See documentation of :c:type:`PyObject` above." +msgstr "Перегляньте документацію :c:type:`PyObject` вище." + +msgid "" +"This is a macro used when declaring new types which represent objects with a " +"length that varies from instance to instance. The PyObject_VAR_HEAD macro " +"expands to::" +msgstr "" +"Це макрос, який використовується під час оголошення нових типів, які " +"представляють об’єкти з довжиною, що змінюється від екземпляра до " +"екземпляра. Макрос PyObject_VAR_HEAD розширюється до:" + +msgid "See documentation of :c:type:`PyVarObject` above." +msgstr "Перегляньте документацію :c:type:`PyVarObject` вище." + +msgid "" +"Test if the *x* object is the *y* object, the same as ``x is y`` in Python." +msgstr "" +"Перевірте, чи є об’єкт *x* об’єктом *y*, так само як \"x є y\" в Python." + +msgid "" +"Test if an object is the ``None`` singleton, the same as ``x is None`` in " +"Python." +msgstr "" +"Перевірте, чи є об’єкт єдиним елементом ``None``, так само як ``x is None`` " +"у Python." + +msgid "" +"Test if an object is the ``True`` singleton, the same as ``x is True`` in " +"Python." +msgstr "" +"Перевірте, чи є об’єкт єдиним елементом ``True``, так само, як ``x is True`` " +"у Python." + +msgid "" +"Test if an object is the ``False`` singleton, the same as ``x is False`` in " +"Python." +msgstr "" +"Перевірте, чи є об’єкт синглетом ``False``, так само, як ``x is False`` у " +"Python." + +msgid "Get the type of the Python object *o*." +msgstr "Отримайте тип об'єкта Python *o*." + +msgid "Return a :term:`borrowed reference`." +msgstr "Повертає :term:`borrowed reference`." + +msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." +msgstr "" + +msgid "" +":c:func:`Py_TYPE()` is changed to an inline static function. The parameter " +"type is no longer :c:expr:`const PyObject*`." +msgstr "" + +msgid "" +"Return non-zero if the object *o* type is *type*. Return zero otherwise. " +"Equivalent to: ``Py_TYPE(o) == type``." +msgstr "" +"Повертає ненульове значення, якщо тип об’єкта *o* є *type*. Інакше поверніть " +"нуль. Еквівалент: ``Py_TYPE(o) == type``." + +msgid "Set the object *o* type to *type*." +msgstr "Встановіть тип об’єкта *o* на *type*." + +msgid "Get the reference count of the Python object *o*." +msgstr "Отримати кількість посилань на об’єкт Python *o*." + +msgid "" +"Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count." +msgstr "" + +msgid "The parameter type is no longer :c:expr:`const PyObject*`." +msgstr "" + +msgid ":c:func:`Py_REFCNT()` is changed to the inline static function." +msgstr "" + +msgid "Set the object *o* reference counter to *refcnt*." +msgstr "Встановіть лічильник посилань *o* на *refcnt*." + +msgid "Get the size of the Python object *o*." +msgstr "Отримайте розмір об'єкта Python *o*." + +msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." +msgstr "" + +msgid "" +":c:func:`Py_SIZE()` is changed to an inline static function. The parameter " +"type is no longer :c:expr:`const PyVarObject*`." +msgstr "" + +msgid "Set the object *o* size to *size*." +msgstr "Встановіть розмір об’єкта *o* на *size*." + +msgid "" +"This is a macro which expands to initialization values for a new :c:type:" +"`PyObject` type. This macro expands to::" +msgstr "" +"Це макрос, який розширюється до значень ініціалізації для нового типу :c:" +"type:`PyObject`. Цей макрос розширюється до:" + +msgid "" +"This is a macro which expands to initialization values for a new :c:type:" +"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands " +"to::" +msgstr "" +"Це макрос, який розширюється до значень ініціалізації для нового типу :c:" +"type:`PyVarObject`, включаючи поле :attr:`ob_size`. Цей макрос розширюється " +"до:" + +msgid "Implementing functions and methods" +msgstr "Реалізація функцій і методів" + +msgid "" +"Type of the functions used to implement most Python callables in C. " +"Functions of this type take two :c:expr:`PyObject*` parameters and return " +"one such value. If the return value is ``NULL``, an exception shall have " +"been set. If not ``NULL``, the return value is interpreted as the return " +"value of the function as exposed in Python. The function must return a new " +"reference." +msgstr "" + +msgid "The function signature is::" +msgstr "Сигнатура функції:" + +msgid "" +"Type of the functions used to implement Python callables in C with " +"signature :const:`METH_VARARGS | METH_KEYWORDS`. The function signature is::" +msgstr "" +"Тип функцій, які використовуються для реалізації викликів Python у C із " +"підписом :const:`METH_VARARGS | METH_KEYWORDS`. Сигнатура функції:" + +msgid "" +"Type of the functions used to implement Python callables in C with " +"signature :const:`METH_FASTCALL`. The function signature is::" +msgstr "" +"Тип функцій, які використовуються для реалізації викликів Python у C із " +"підписом :const:`METH_FASTCALL`. Сигнатура функції:" + +msgid "" +"Type of the functions used to implement Python callables in C with " +"signature :const:`METH_FASTCALL | METH_KEYWORDS`. The function signature is::" +msgstr "" +"Тип функцій, які використовуються для реалізації викликів Python у C із " +"підписом :const:`METH_FASTCALL | METH_KEYWORDS`. Сигнатура функції:" + +msgid "" +"Type of the functions used to implement Python callables in C with " +"signature :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. The function " +"signature is::" +msgstr "" +"Тип функцій, які використовуються для реалізації викликів Python у C із " +"підписом :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. Сигнатура " +"функції:" + +msgid "" +"Structure used to describe a method of an extension type. This structure " +"has four fields:" +msgstr "" +"Структура, що використовується для опису методу типу розширення. Ця " +"структура має чотири поля:" + +msgid "Field" +msgstr "Поле" + +msgid "C Type" +msgstr "C Тип" + +msgid "Meaning" +msgstr "Значення" + +msgid ":attr:`ml_name`" +msgstr ":attr:`ml_name`" + +msgid "const char \\*" +msgstr "const char \\*" + +msgid "name of the method" +msgstr "назва методу" + +msgid ":attr:`ml_meth`" +msgstr ":attr:`ml_meth`" + +msgid "PyCFunction" +msgstr "PyCFunction" + +msgid "pointer to the C implementation" +msgstr "покажчик на реалізацію C" + +msgid ":attr:`ml_flags`" +msgstr ":attr:`ml_flags`" + +msgid "int" +msgstr "внутр" + +msgid "flag bits indicating how the call should be constructed" +msgstr "біти прапорців, що вказують, як має бути побудований виклик" + +msgid ":attr:`ml_doc`" +msgstr ":attr:`ml_doc`" + +msgid "points to the contents of the docstring" +msgstr "вказує на вміст рядка документації" + +msgid "" +"The :attr:`ml_meth` is a C function pointer. The functions may be of " +"different types, but they always return :c:expr:`PyObject*`. If the " +"function is not of the :c:type:`PyCFunction`, the compiler will require a " +"cast in the method table. Even though :c:type:`PyCFunction` defines the " +"first parameter as :c:expr:`PyObject*`, it is common that the method " +"implementation uses the specific C type of the *self* object." +msgstr "" + +msgid "" +"The :attr:`ml_flags` field is a bitfield which can include the following " +"flags. The individual flags indicate either a calling convention or a " +"binding convention." +msgstr "" +"Поле :attr:`ml_flags` — це бітове поле, яке може містити наступні прапорці. " +"Окремі прапорці вказують або на угоду про виклик, або на прив’язувальну " +"угоду." + +msgid "There are these calling conventions:" +msgstr "Існують такі умови виклику:" + +msgid "" +"This is the typical calling convention, where the methods have the type :c:" +"type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The " +"first one is the *self* object for methods; for module functions, it is the " +"module object. The second parameter (often called *args*) is a tuple object " +"representing all arguments. This parameter is typically processed using :c:" +"func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." +msgstr "" + +msgid "" +"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " +"The function expects three parameters: *self*, *args*, *kwargs* where " +"*kwargs* is a dictionary of all the keyword arguments or possibly ``NULL`` " +"if there are no keyword arguments. The parameters are typically processed " +"using :c:func:`PyArg_ParseTupleAndKeywords`." +msgstr "" +"Методи з цими прапорцями мають бути типу :c:type:`PyCFunctionWithKeywords`. " +"Функція очікує три параметри: *self*, *args*, *kwargs*, де *kwargs* є " +"словником усіх аргументів ключового слова або, можливо, ``NULL``, якщо " +"аргументів ключового слова немає. Параметри зазвичай обробляються за " +"допомогою :c:func:`PyArg_ParseTupleAndKeywords`." + +msgid "" +"Fast calling convention supporting only positional arguments. The methods " +"have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " +"second parameter is a C array of :c:expr:`PyObject*` values indicating the " +"arguments and the third parameter is the number of arguments (the length of " +"the array)." +msgstr "" + +msgid "``METH_FASTCALL`` is now part of the stable ABI." +msgstr "``METH_FASTCALL`` тепер є частиною стабільного ABI." + +msgid "" +"Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " +"methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " +"are passed the same way as in the :ref:`vectorcall protocol `: " +"there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple " +"representing the names of the keyword arguments (which are guaranteed to be " +"strings) or possibly ``NULL`` if there are no keywords. The values of the " +"keyword arguments are stored in the *args* array, after the positional " +"arguments." +msgstr "" + +msgid "" +"Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining " +"class*, that is, the class that contains the method in question. The " +"defining class might be a superclass of ``Py_TYPE(self)``." +msgstr "" +"Розширення :const:`METH_FASTCALL | METH_KEYWORDS`, що підтримує " +"*визначальний клас*, тобто клас, який містить відповідний метод. " +"Визначальним класом може бути суперклас ``Py_TYPE(self)``." + +msgid "" +"The method needs to be of type :c:type:`PyCMethod`, the same as for " +"``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " +"after ``self``." +msgstr "" +"Метод має мати тип :c:type:`PyCMethod`, такий самий, як і для " +"``METH_FASTCALL | METH_KEYWORDS`` з аргументом ``defining_class``, доданим " +"після ``self``." + +msgid "" +"Methods without parameters don't need to check whether arguments are given " +"if they are listed with the :const:`METH_NOARGS` flag. They need to be of " +"type :c:type:`PyCFunction`. The first parameter is typically named *self* " +"and will hold a reference to the module or object instance. In all cases " +"the second parameter will be ``NULL``." +msgstr "" +"Методам без параметрів не потрібно перевіряти, чи надано аргументи, якщо " +"вони вказані з прапорцем :const:`METH_NOARGS`. Вони мають бути типу :c:type:" +"`PyCFunction`. Перший параметр зазвичай називається *self* і містить " +"посилання на екземпляр модуля або об’єкта. У всіх випадках другий параметр " +"буде ``NULL``." + +msgid "" +"The function must have 2 parameters. Since the second parameter is unused, :" +"c:macro:`Py_UNUSED` can be used to prevent a compiler warning." +msgstr "" + +msgid "" +"Methods with a single object argument can be listed with the :const:`METH_O` " +"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " +"argument. They have the type :c:type:`PyCFunction`, with the *self* " +"parameter, and a :c:expr:`PyObject*` parameter representing the single " +"argument." +msgstr "" + +msgid "" +"These two constants are not used to indicate the calling convention but the " +"binding when use with methods of classes. These may not be used for " +"functions defined for modules. At most one of these flags may be set for " +"any given method." +msgstr "" +"Ці дві константи не використовуються для вказівки умов виклику, а для " +"прив’язки під час використання з методами класів. Їх не можна " +"використовувати для функцій, визначених для модулів. Щонайбільше один із цих " +"прапорів може бути встановлений для будь-якого методу." + +msgid "" +"The method will be passed the type object as the first parameter rather than " +"an instance of the type. This is used to create *class methods*, similar to " +"what is created when using the :func:`classmethod` built-in function." +msgstr "" +"Методу буде передано об’єкт типу як перший параметр, а не екземпляр типу. Це " +"використовується для створення *методів класу*, подібних до того, що " +"створюється під час використання вбудованої функції :func:`classmethod`." + +msgid "" +"The method will be passed ``NULL`` as the first parameter rather than an " +"instance of the type. This is used to create *static methods*, similar to " +"what is created when using the :func:`staticmethod` built-in function." +msgstr "" +"Методу буде передано ``NULL`` як перший параметр, а не екземпляр типу. Це " +"використовується для створення *статичних методів*, подібних до того, що " +"створюється під час використання вбудованої функції :func:`staticmethod`." + +msgid "" +"One other constant controls whether a method is loaded in place of another " +"definition with the same method name." +msgstr "" +"Ще одна константа контролює, чи завантажується метод замість іншого " +"визначення з таким же ім’ям методу." + +msgid "" +"The method will be loaded in place of existing definitions. Without " +"*METH_COEXIST*, the default is to skip repeated definitions. Since slot " +"wrappers are loaded before the method table, the existence of a " +"*sq_contains* slot, for example, would generate a wrapped method named :meth:" +"`__contains__` and preclude the loading of a corresponding PyCFunction with " +"the same name. With the flag defined, the PyCFunction will be loaded in " +"place of the wrapper object and will co-exist with the slot. This is " +"helpful because calls to PyCFunctions are optimized more than wrapper object " +"calls." +msgstr "" +"Метод буде завантажено замість існуючих визначень. Без *METH_COEXIST* за " +"замовчуванням повторювані визначення пропускаються. Оскільки обгортки слотів " +"завантажуються перед таблицею методів, існування слота *sq_contains*, " +"наприклад, створить обернутий метод під назвою :meth:`__contains__` і " +"завадить завантаженню відповідної функції PyCFunction з такою ж назвою. З " +"визначеним прапором PyCFunction буде завантажено замість об’єкта-огортки та " +"співіснуватиме зі слотом. Це корисно, оскільки виклики PyCFunctions " +"оптимізовані більше, ніж виклики об’єктів-огорток." + +msgid "Accessing attributes of extension types" +msgstr "Доступ до атрибутів типів розширень" + +msgid "" +"Structure which describes an attribute of a type which corresponds to a C " +"struct member. Its fields are:" +msgstr "" +"Структура, яка описує атрибут типу, який відповідає члену структури C. Його " +"поля:" + +msgid ":attr:`name`" +msgstr ":attr:`name`" + +msgid "name of the member" +msgstr "ім'я учасника" + +msgid ":attr:`!type`" +msgstr ":attr:`!type`" + +msgid "the type of the member in the C struct" +msgstr "тип члена в структурі C" + +msgid ":attr:`offset`" +msgstr ":attr:`offset`" + +msgid "Py_ssize_t" +msgstr "Py_ssize_t" + +msgid "" +"the offset in bytes that the member is located on the type's object struct" +msgstr "зсув у байтах, що член розташований у структурі об’єкта типу" + +msgid ":attr:`flags`" +msgstr ":attr:`flags`" + +msgid "flag bits indicating if the field should be read-only or writable" +msgstr "" +"біти прапорців, які вказують, чи має поле бути доступним лише для читання чи " +"доступним для запису" + +msgid ":attr:`doc`" +msgstr ":attr:`doc`" + +msgid "" +":attr:`!type` can be one of many ``T_`` macros corresponding to various C " +"types. When the member is accessed in Python, it will be converted to the " +"equivalent Python type." +msgstr "" +":attr:`!type` може бути одним із багатьох макросів ``T_``, що відповідають " +"різним типам C. Коли до елемента звертаються в Python, його буде перетворено " +"на еквівалентний тип Python." + +msgid "Macro name" +msgstr "Назва макросу" + +msgid "C type" +msgstr "тип С" + +msgid "T_SHORT" +msgstr "T_SHORT" + +msgid "short" +msgstr "короткий" + +msgid "T_INT" +msgstr "T_INT" + +msgid "T_LONG" +msgstr "T_LONG" + +msgid "long" +msgstr "довгота" + +msgid "T_FLOAT" +msgstr "T_FLOAT" + +msgid "float" +msgstr "плавати" + +msgid "T_DOUBLE" +msgstr "T_DOUBLE" + +msgid "double" +msgstr "подвійний" + +msgid "T_STRING" +msgstr "T_STRING" + +msgid "T_OBJECT" +msgstr "T_OBJECT" + +msgid "PyObject \\*" +msgstr "PyObject \\*" + +msgid "T_OBJECT_EX" +msgstr "T_OBJECT_EX" + +msgid "T_CHAR" +msgstr "T_CHAR" + +msgid "char" +msgstr "char" + +msgid "T_BYTE" +msgstr "T_BYTE" + +msgid "T_UBYTE" +msgstr "T_UBYTE" + +msgid "unsigned char" +msgstr "беззнаковий символ" + +msgid "T_UINT" +msgstr "T_UINT" + +msgid "unsigned int" +msgstr "unsigned int" + +msgid "T_USHORT" +msgstr "T_USHORT" + +msgid "unsigned short" +msgstr "непідписаний короткий" + +msgid "T_ULONG" +msgstr "T_ULONG" + +msgid "unsigned long" +msgstr "беззнаковий довгий" + +msgid "T_BOOL" +msgstr "T_BOOL" + +msgid "T_LONGLONG" +msgstr "T_LONGLONG" + +msgid "long long" +msgstr "довгий довгий" + +msgid "T_ULONGLONG" +msgstr "T_ULONGLONG" + +msgid "unsigned long long" +msgstr "без знака довгий довгий" + +msgid "T_PYSSIZET" +msgstr "T_PYSSIZET" + +msgid "" +":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" +"`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:" +"`T_OBJECT_EX` raises an :exc:`AttributeError`. Try to use :c:macro:" +"`T_OBJECT_EX` over :c:macro:`T_OBJECT` because :c:macro:`T_OBJECT_EX` " +"handles use of the :keyword:`del` statement on that attribute more correctly " +"than :c:macro:`T_OBJECT`." +msgstr "" +":c:macro:`T_OBJECT` і :c:macro:`T_OBJECT_EX` відрізняються тим, що :c:macro:" +"`T_OBJECT` повертає ``None``, якщо член має значення ``NULL`` і :c:macro:" +"`T_OBJECT_EX` викликає :exc:`AttributeError`. Спробуйте використовувати :c:" +"macro:`T_OBJECT_EX` замість :c:macro:`T_OBJECT`, оскільки :c:macro:" +"`T_OBJECT_EX` обробляє використання оператора :keyword:`del` для цього " +"атрибута правильніше, ніж :c:macro:`T_OBJECT`." + +msgid "" +":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` " +"for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" +"macro:`READONLY`. :c:macro:`T_STRING` data is interpreted as UTF-8. Only :c:" +"macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` members can be deleted. (They " +"are set to ``NULL``)." +msgstr "" +":attr:`flags` може мати значення ``0`` для доступу до запису та читання або :" +"c:macro:`READONLY` для доступу лише для читання. Використання :c:macro:" +"`T_STRING` для :attr:`type` означає :c:macro:`READONLY`. Дані :c:macro:" +"`T_STRING` інтерпретуються як UTF-8. Можна видалити лише учасників :c:macro:" +"`T_OBJECT` і :c:macro:`T_OBJECT_EX`. (Їм встановлено значення ``NULL``)." + +msgid "" +"Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), " +"``PyMemberDef`` may contain definitions for the special members " +"``__dictoffset__``, ``__weaklistoffset__`` and ``__vectorcalloffset__``, " +"corresponding to :c:member:`~PyTypeObject.tp_dictoffset`, :c:member:" +"`~PyTypeObject.tp_weaklistoffset` and :c:member:`~PyTypeObject." +"tp_vectorcall_offset` in type objects. These must be defined with " +"``T_PYSSIZET`` and ``READONLY``, for example::" +msgstr "" +"Виділені типи купи (створені за допомогою :c:func:`PyType_FromSpec` або " +"подібного), ``PyMemberDef`` може містити визначення для спеціальних членів " +"``__dictoffset__``, ``__weaklistoffset__`` та ``__vectorcalloffset__``, що " +"відповідають :c:member:`~PyTypeObject.tp_dictoffset`, :c:member:" +"`~PyTypeObject.tp_weaklistoffset` і :c:member:`~PyTypeObject." +"tp_vectorcall_offset` в об’єктах типу. Їх потрібно визначити за допомогою " +"``T_PYSSIZET`` і ``READONLY``, наприклад:" + +msgid "" +"Get an attribute belonging to the object at address *obj_addr*. The " +"attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." +msgstr "" +"Отримати атрибут, що належить об’єкту за адресою *obj_addr*. Атрибут " +"описується ``PyMemberDef`` *m*. Повертає ``NULL`` у разі помилки." + +msgid "" +"Set an attribute belonging to the object at address *obj_addr* to object " +"*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " +"``0`` if successful and a negative value on failure." +msgstr "" +"Установіть атрибут, що належить об’єкту за адресою *obj_addr*, на об’єкт " +"*o*. Атрибут, який потрібно встановити, описується ``PyMemberDef`` *m*. " +"Повертає ``0`` у разі успіху та від'ємне значення у випадку невдачі." + +msgid "" +"Structure to define property-like access for a type. See also description of " +"the :c:member:`PyTypeObject.tp_getset` slot." +msgstr "" +"Структура для визначення доступу типу властивості. Дивіться також опис " +"слота :c:member:`PyTypeObject.tp_getset`." + +msgid "name" +msgstr "назва" + +msgid "attribute name" +msgstr "назва атрибута" + +msgid "get" +msgstr "отримати" + +msgid "getter" +msgstr "добувач" + +msgid "C function to get the attribute" +msgstr "Функція C для отримання атрибута" + +msgid "set" +msgstr "встановити" + +msgid "setter" +msgstr "сетер" + +msgid "" +"optional C function to set or delete the attribute, if omitted the attribute " +"is readonly" +msgstr "" +"необов'язкова функція C для встановлення або видалення атрибута, якщо не " +"вказана, атрибут доступний лише для читання" + +msgid "doc" +msgstr "док" + +msgid "optional docstring" +msgstr "додатковий рядок документації" + +msgid "closure" +msgstr "закриття" + +msgid "void \\*" +msgstr "порожній \\*" + +msgid "" +"optional function pointer, providing additional data for getter and setter" +msgstr "" +"додатковий покажчик функції, що надає додаткові дані для геттера та сеттера" + +msgid "" +"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " +"and a function pointer (the associated ``closure``)::" +msgstr "" + +msgid "" +"It should return a new reference on success or ``NULL`` with a set exception " +"on failure." +msgstr "" +"Він повинен повертати нове посилання в разі успіху або ``NULL`` із " +"встановленим винятком у випадку невдачі." + +msgid "" +"``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " +"the value to be set) and a function pointer (the associated ``closure``)::" +msgstr "" + +msgid "" +"In case the attribute should be deleted the second parameter is ``NULL``. " +"Should return ``0`` on success or ``-1`` with a set exception on failure." +msgstr "" +"У випадку, якщо атрибут потрібно видалити, другим параметром є ``NULL``. Має " +"повертати ``0`` у разі успіху або ``-1`` із встановленим винятком у випадку " +"невдачі." diff --git a/c-api/sys.po b/c-api/sys.po new file mode 100644 index 000000000..862ced480 --- /dev/null +++ b/c-api/sys.po @@ -0,0 +1,638 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Operating System Utilities" +msgstr "Утиліти операційної системи" + +msgid "" +"Return the file system representation for *path*. If the object is a :class:" +"`str` or :class:`bytes` object, then its reference count is incremented. If " +"the object implements the :class:`os.PathLike` interface, then :meth:`~os." +"PathLike.__fspath__` is returned as long as it is a :class:`str` or :class:" +"`bytes` object. Otherwise :exc:`TypeError` is raised and ``NULL`` is " +"returned." +msgstr "" +"Повертає представлення файлової системи для *шляху*. Якщо об’єкт є об’єктом :" +"class:`str` або :class:`bytes`, то його кількість посилань збільшується. " +"Якщо об’єкт реалізує інтерфейс :class:`os.PathLike`, тоді :meth:`~os." +"PathLike.__fspath__` повертається, якщо це об’єкт :class:`str` або :class:" +"`bytes`. В іншому випадку виникає :exc:`TypeError` і повертається ``NULL``." + +msgid "" +"Return true (nonzero) if the standard I/O file *fp* with name *filename* is " +"deemed interactive. This is the case for files for which " +"``isatty(fileno(fp))`` is true. If the global flag :c:data:" +"`Py_InteractiveFlag` is true, this function also returns true if the " +"*filename* pointer is ``NULL`` or if the name is equal to one of the strings " +"``''`` or ``'???'``." +msgstr "" +"Повертає істину (не нуль), якщо стандартний файл вводу-виводу *fp* з іменем " +"*filename* вважається інтерактивним. Це стосується файлів, для яких " +"isatty(fileno(fp)) має значення true. Якщо глобальний прапор :c:data:" +"`Py_InteractiveFlag` має значення true, ця функція також повертає значення " +"true, якщо покажчик *filename* має значення ``NULL`` або якщо ім’я дорівнює " +"одному з рядків ``' ''`` або ``'???''``." + +msgid "" +"Function to prepare some internal state before a process fork. This should " +"be called before calling :c:func:`fork` or any similar function that clones " +"the current process. Only available on systems where :c:func:`fork` is " +"defined." +msgstr "" +"Функція для підготовки деякого внутрішнього стану перед розгалуженням " +"процесу. Це слід викликати перед викликом :c:func:`fork` або будь-якої " +"подібної функції, яка клонує поточний процес. Доступно лише в системах, де " +"визначено :c:func:`fork`." + +msgid "" +"The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread " +"` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_BeforeFork()``." +msgstr "" +"Виклик C :c:func:`fork` має здійснюватися лише з :ref:`\"main\" потоку ` (з :ref:`\"main\" інтерпретатора `). " +"Те саме стосується ``PyOS_BeforeFork()``." + +msgid "" +"Function to update some internal state after a process fork. This should be " +"called from the parent process after calling :c:func:`fork` or any similar " +"function that clones the current process, regardless of whether process " +"cloning was successful. Only available on systems where :c:func:`fork` is " +"defined." +msgstr "" +"Функція для оновлення деякого внутрішнього стану після розгалуження процесу. " +"Це слід викликати з батьківського процесу після виклику :c:func:`fork` або " +"будь-якої подібної функції, яка клонує поточний процес, незалежно від того, " +"чи клонування процесу було успішним. Доступно лише в системах, де визначено :" +"c:func:`fork`." + +msgid "" +"The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread " +"` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_AfterFork_Parent()``." +msgstr "" +"Виклик C :c:func:`fork` має здійснюватися лише з :ref:`\"main\" потоку ` (з :ref:`\"main\" інтерпретатора `). " +"Те саме стосується ``PyOS_AfterFork_Parent()``." + +msgid "" +"Function to update internal interpreter state after a process fork. This " +"must be called from the child process after calling :c:func:`fork`, or any " +"similar function that clones the current process, if there is any chance the " +"process will call back into the Python interpreter. Only available on " +"systems where :c:func:`fork` is defined." +msgstr "" +"Функція для оновлення стану внутрішнього інтерпретатора після розгалуження " +"процесу. Це має бути викликано з дочірнього процесу після виклику :c:func:" +"`fork` або будь-якої подібної функції, яка клонує поточний процес, якщо є " +"шанс, що процес знову викличе інтерпретатор Python. Доступно лише в " +"системах, де визначено :c:func:`fork`." + +msgid "" +"The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread " +"` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_AfterFork_Child()``." +msgstr "" +"Виклик C :c:func:`fork` має здійснюватися лише з :ref:`\"main\" потоку ` (з :ref:`\"main\" інтерпретатора `). " +"Те саме стосується ``PyOS_AfterFork_Child()``." + +msgid "" +":func:`os.register_at_fork` allows registering custom Python functions to be " +"called by :c:func:`PyOS_BeforeFork()`, :c:func:`PyOS_AfterFork_Parent` and :" +"c:func:`PyOS_AfterFork_Child`." +msgstr "" +":func:`os.register_at_fork` дозволяє реєструвати користувацькі функції " +"Python для виклику :c:func:`PyOS_BeforeFork()`, :c:func:" +"`PyOS_AfterFork_Parent` і :c:func:`PyOS_AfterFork_Child`." + +msgid "" +"Function to update some internal state after a process fork; this should be " +"called in the new process if the Python interpreter will continue to be " +"used. If a new executable is loaded into the new process, this function does " +"not need to be called." +msgstr "" +"Функція для оновлення деякого внутрішнього стану після розгалуження процесу; " +"це слід викликати в новому процесі, якщо інтерпретатор Python продовжуватиме " +"використовуватися. Якщо новий виконуваний файл завантажується в новий " +"процес, цю функцію не потрібно викликати." + +msgid "This function is superseded by :c:func:`PyOS_AfterFork_Child()`." +msgstr "Цю функцію замінює :c:func:`PyOS_AfterFork_Child()`." + +msgid "" +"Return true when the interpreter runs out of stack space. This is a " +"reliable check, but is only available when :const:`USE_STACKCHECK` is " +"defined (currently on certain versions of Windows using the Microsoft Visual " +"C++ compiler). :const:`USE_STACKCHECK` will be defined automatically; you " +"should never change the definition in your own code." +msgstr "" + +msgid "" +"Return the current signal handler for signal *i*. This is a thin wrapper " +"around either :c:func:`sigaction` or :c:func:`signal`. Do not call those " +"functions directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:" +"expr:`void (\\*)(int)`." +msgstr "" + +msgid "" +"Set the signal handler for signal *i* to be *h*; return the old signal " +"handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:" +"`signal`. Do not call those functions directly! :c:type:" +"`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\\*)(int)`." +msgstr "" + +msgid "" +"This function should not be called directly: use the :c:type:`PyConfig` API " +"with the :c:func:`PyConfig_SetBytesString` function which ensures that :ref:" +"`Python is preinitialized `." +msgstr "" +"Цю функцію не слід викликати безпосередньо: використовуйте :c:type:" +"`PyConfig` API з функцією :c:func:`PyConfig_SetBytesString`, яка гарантує, " +"що :ref:`Python попередньо ініціалізовано `." + +msgid "" +"This function must not be called before :ref:`Python is preinitialized ` and so that the LC_CTYPE locale is properly configured: see the :c:" +"func:`Py_PreInitialize` function." +msgstr "" +"Цю функцію не можна викликати до :ref:`Python попередньо ініціалізовано ` і щоб локаль LC_CTYPE була правильно налаштована: див. функцію :c:" +"func:`Py_PreInitialize`." + +msgid "" +"Decode a byte string from the :term:`filesystem encoding and error handler`. " +"If the error handler is :ref:`surrogateescape error handler " +"`, undecodable bytes are decoded as characters in range U" +"+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate " +"character, the bytes are escaped using the surrogateescape error handler " +"instead of decoding them." +msgstr "" +"Декодуйте рядок байтів із :term:`filesystem encoding and error handler`. " +"Якщо обробником помилок є :ref:`surrogateescape error handler " +"`, недекодовані байти декодуються як символи в діапазоні U" +"+DC80..U+DCFF; і якщо послідовність байтів може бути декодована як " +"сурогатний символ, байти екрануються за допомогою обробника помилок " +"surrogateescape замість їх декодування." + +msgid "" +"Return a pointer to a newly allocated wide character string, use :c:func:" +"`PyMem_RawFree` to free the memory. If size is not ``NULL``, write the " +"number of wide characters excluding the null character into ``*size``" +msgstr "" +"Поверніть вказівник на щойно виділений широкий рядок символів, " +"використовуйте :c:func:`PyMem_RawFree`, щоб звільнити пам’ять. Якщо розмір " +"не дорівнює ``NULL``, запишіть кількість широких символів, за винятком " +"нульового символу, у ``*size``" + +msgid "" +"Return ``NULL`` on decoding error or memory allocation error. If *size* is " +"not ``NULL``, ``*size`` is set to ``(size_t)-1`` on memory error or set to " +"``(size_t)-2`` on decoding error." +msgstr "" +"Повертає ``NULL`` у разі помилки декодування або помилки виділення пам'яті. " +"Якщо *size* не дорівнює ``NULL``, ``*size`` встановлюється на ``(size_t)-1`` " +"у разі помилки пам’яті або встановлюється на ``(size_t)-2`` у разі помилки " +"декодування." + +msgid "" +"The :term:`filesystem encoding and error handler` are selected by :c:func:" +"`PyConfig_Read`: see :c:member:`~PyConfig.filesystem_encoding` and :c:member:" +"`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." +msgstr "" +":term:`filesystem encoding and error handler` вибираються :c:func:" +"`PyConfig_Read`: див. члени :c:member:`~PyConfig.filesystem_encoding` і :c:" +"member:`~PyConfig.filesystem_errors` :c:type:`PyConfig`." + +msgid "" +"Decoding errors should never happen, unless there is a bug in the C library." +msgstr "" +"Помилки декодування ніколи не повинні траплятися, якщо немає помилки в " +"бібліотеці C." + +msgid "" +"Use the :c:func:`Py_EncodeLocale` function to encode the character string " +"back to a byte string." +msgstr "" +"Використовуйте функцію :c:func:`Py_EncodeLocale`, щоб закодувати рядок " +"символів назад у рядок байтів." + +msgid "" +"The :c:func:`PyUnicode_DecodeFSDefaultAndSize` and :c:func:" +"`PyUnicode_DecodeLocaleAndSize` functions." +msgstr "" +"Функції :c:func:`PyUnicode_DecodeFSDefaultAndSize` і :c:func:" +"`PyUnicode_DecodeLocaleAndSize`." + +msgid "" +"The function now uses the UTF-8 encoding in the :ref:`Python UTF-8 Mode " +"`." +msgstr "" +"Тепер функція використовує кодування UTF-8 у режимі :ref:`Python UTF-8 Mode " +"`." + +msgid "" +"The function now uses the UTF-8 encoding on Windows if :c:data:" +"`Py_LegacyWindowsFSEncodingFlag` is zero;" +msgstr "" +"Функція тепер використовує кодування UTF-8 у Windows, якщо :c:data:" +"`Py_LegacyWindowsFSEncodingFlag` дорівнює нулю;" + +msgid "" +"Encode a wide character string to the :term:`filesystem encoding and error " +"handler`. If the error handler is :ref:`surrogateescape error handler " +"`, surrogate characters in the range U+DC80..U+DCFF are " +"converted to bytes 0x80..0xFF." +msgstr "" +"Закодуйте широкий рядок символів у :term:`filesystem encoding and error " +"handler`. Якщо обробником помилок є :ref:`surrogateescape error handler " +"`, сурогатні символи в діапазоні U+DC80..U+DCFF " +"перетворюються на байти 0x80..0xFF." + +msgid "" +"Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` " +"to free the memory. Return ``NULL`` on encoding error or memory allocation " +"error." +msgstr "" +"Поверніть вказівник на щойно виділений рядок байтів, використовуйте :c:func:" +"`PyMem_Free`, щоб звільнити пам’ять. Повертає ``NULL`` у разі помилки " +"кодування або помилки виділення пам'яті." + +msgid "" +"If error_pos is not ``NULL``, ``*error_pos`` is set to ``(size_t)-1`` on " +"success, or set to the index of the invalid character on encoding error." +msgstr "" +"Якщо error_pos не дорівнює ``NULL``, ``*error_pos`` встановлюється на " +"``(size_t)-1`` у разі успіху або встановлюється на індекс недійсного символу " +"в разі помилки кодування." + +msgid "" +"Use the :c:func:`Py_DecodeLocale` function to decode the bytes string back " +"to a wide character string." +msgstr "" +"Використовуйте функцію :c:func:`Py_DecodeLocale`, щоб декодувати рядок " +"байтів назад до широкого рядка символів." + +msgid "" +"The :c:func:`PyUnicode_EncodeFSDefault` and :c:func:`PyUnicode_EncodeLocale` " +"functions." +msgstr "" +"Функції :c:func:`PyUnicode_EncodeFSDefault` і :c:func:" +"`PyUnicode_EncodeLocale`." + +msgid "" +"The function now uses the UTF-8 encoding on Windows if :c:data:" +"`Py_LegacyWindowsFSEncodingFlag` is zero." +msgstr "" +"Функція тепер використовує кодування UTF-8 у Windows, якщо :c:data:" +"`Py_LegacyWindowsFSEncodingFlag` дорівнює нулю." + +msgid "System Functions" +msgstr "Системні функції" + +msgid "" +"These are utility functions that make functionality from the :mod:`sys` " +"module accessible to C code. They all work with the current interpreter " +"thread's :mod:`sys` module's dict, which is contained in the internal thread " +"state structure." +msgstr "" +"Це службові функції, які роблять функціональні можливості модуля :mod:`sys` " +"доступними для коду C. Усі вони працюють із dict модуля :mod:`sys` поточного " +"потоку інтерпретатора, який міститься у внутрішній структурі стану потоку." + +msgid "" +"Return the object *name* from the :mod:`sys` module or ``NULL`` if it does " +"not exist, without setting an exception." +msgstr "" +"Повертає *ім’я* об’єкта з модуля :mod:`sys` або ``NULL``, якщо він не існує, " +"без встановлення винятку." + +msgid "" +"Set *name* in the :mod:`sys` module to *v* unless *v* is ``NULL``, in which " +"case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` " +"on error." +msgstr "" +"Встановіть *name* у модулі :mod:`sys` на *v*, якщо *v* не має значення " +"``NULL``, у цьому випадку *name* буде видалено з модуля sys. Повертає ``0`` " +"у разі успіху, ``-1`` у разі помилки." + +msgid "" +"Reset :data:`sys.warnoptions` to an empty list. This function may be called " +"prior to :c:func:`Py_Initialize`." +msgstr "" +"Скинути :data:`sys.warnoptions` до порожнього списку. Цю функцію можна " +"викликати перед :c:func:`Py_Initialize`." + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"warnoptions` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Append *s* to :data:`sys.warnoptions`. This function must be called prior " +"to :c:func:`Py_Initialize` in order to affect the warnings filter list." +msgstr "" +"Додайте *s* до :data:`sys.warnoptions`. Цю функцію потрібно викликати перед :" +"c:func:`Py_Initialize`, щоб вплинути на список фільтрів попереджень." + +msgid "Append *unicode* to :data:`sys.warnoptions`." +msgstr "Додайте *unicode* до :data:`sys.warnoptions`." + +msgid "" +"Note: this function is not currently usable from outside the CPython " +"implementation, as it must be called prior to the implicit import of :mod:" +"`warnings` in :c:func:`Py_Initialize` to be effective, but can't be called " +"until enough of the runtime has been initialized to permit the creation of " +"Unicode objects." +msgstr "" +"Примітка: цю функцію наразі не можна використовувати поза межами реалізації " +"CPython, оскільки її потрібно викликати перед неявним імпортом :mod:" +"`warnings` у :c:func:`Py_Initialize`, щоб вона була ефективною, але її не " +"можна викликати поки не буде ініціалізовано достатньо часу виконання, щоб " +"дозволити створення об’єктів Unicode." + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should " +"be used instead, see :ref:`Python Initialization Configuration `." +msgstr "" + +msgid "" +"Set :data:`sys.path` to a list object of paths found in *path* which should " +"be a list of paths separated with the platform's search path delimiter (``:" +"`` on Unix, ``;`` on Windows)." +msgstr "" +"Встановіть :data:`sys.path` на об’єкт списку шляхів, знайдених у *path*, " +"який має бути списком шляхів, розділених роздільником шляху пошуку платформи " +"(``:`` в Unix, ``;`` у Windows )." + +msgid "" +"Write the output string described by *format* to :data:`sys.stdout`. No " +"exceptions are raised, even if truncation occurs (see below)." +msgstr "" +"Запишіть вихідний рядок, описаний *format*, у :data:`sys.stdout`. Ніяких " +"винятків не викликається, навіть якщо відбувається скорочення (див. нижче)." + +msgid "" +"*format* should limit the total size of the formatted output string to 1000 " +"bytes or less -- after 1000 bytes, the output string is truncated. In " +"particular, this means that no unrestricted \"%s\" formats should occur; " +"these should be limited using \"%.s\" where is a decimal number " +"calculated so that plus the maximum size of other formatted text does " +"not exceed 1000 bytes. Also watch out for \"%f\", which can print hundreds " +"of digits for very large numbers." +msgstr "" +"*format* має обмежувати загальний розмір відформатованого вихідного рядка до " +"1000 байтів або менше -- після 1000 байтів вихідний рядок скорочується. " +"Зокрема, це означає, що необмежені формати \"%s\" не повинні відбуватися; їх " +"слід обмежити за допомогою \"%. s\", де — це десяткове число, " +"обчислене таким чином, що плюс максимальний розмір іншого " +"відформатованого тексту не перевищує 1000 байт. Також слідкуйте за \"%f\", " +"який може друкувати сотні цифр для дуже великих чисел." + +msgid "" +"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message " +"is written to the real (C level) *stdout*." +msgstr "" +"Якщо виникає проблема або :data:`sys.stdout` не налаштовано, форматоване " +"повідомлення записується в реальний (рівень C) *stdout*." + +msgid "" +"As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* " +"instead." +msgstr "" +"Як :c:func:`PySys_WriteStdout`, але натомість записуйте в :data:`sys.stderr` " +"або *stderr*." + +msgid "" +"Function similar to PySys_WriteStdout() but format the message using :c:func:" +"`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary " +"length." +msgstr "" +"Функція схожа на PySys_WriteStdout(), але форматує повідомлення за " +"допомогою :c:func:`PyUnicode_FromFormatV` і не скорочує повідомлення до " +"довільної довжини." + +msgid "" +"As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* " +"instead." +msgstr "" +"Як :c:func:`PySys_FormatStdout`, але замість цього записуйте в :data:`sys." +"stderr` або *stderr*." + +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"xoptions` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +msgid "" +"Parse *s* as a set of :option:`-X` options and add them to the current " +"options mapping as returned by :c:func:`PySys_GetXOptions`. This function " +"may be called prior to :c:func:`Py_Initialize`." +msgstr "" +"Проаналізуйте *s* як набір параметрів :option:`-X` і додайте їх до поточного " +"відображення параметрів, як повертає :c:func:`PySys_GetXOptions`. Цю функцію " +"можна викликати перед :c:func:`Py_Initialize`." + +msgid "" +"Return the current dictionary of :option:`-X` options, similarly to :data:" +"`sys._xoptions`. On error, ``NULL`` is returned and an exception is set." +msgstr "" +"Повертає поточний словник параметрів :option:`-X`, подібно до :data:`sys." +"_xoptions`. У разі помилки повертається ``NULL`` і встановлюється виняток." + +msgid "" +"Raise an auditing event with any active hooks. Return zero for success and " +"non-zero with an exception set on failure." +msgstr "" +"Викликати подію аудиту з будь-якими активними хуками. Повертає нуль у разі " +"успіху та відмінний від нуля з винятком, встановленим у випадку невдачі." + +msgid "" +"If any hooks have been added, *format* and other arguments will be used to " +"construct a tuple to pass. Apart from ``N``, the same format characters as " +"used in :c:func:`Py_BuildValue` are available. If the built value is not a " +"tuple, it will be added into a single-element tuple. (The ``N`` format " +"option consumes a reference, but since there is no way to know whether " +"arguments to this function will be consumed, using it may cause reference " +"leaks.)" +msgstr "" +"Якщо додано будь-які хуки, *format* та інші аргументи будуть використані для " +"створення кортежу для передачі. Крім ``N``, доступні символи того самого " +"формату, що використовуються в :c:func:`Py_BuildValue`. Якщо побудоване " +"значення не є кортежем, його буде додано до одноелементного кортежу. " +"(Параметр формату ``N`` використовує посилання, але оскільки немає способу " +"дізнатися, чи будуть використані аргументи цієї функції, його використання " +"може спричинити витік посилань.)" + +msgid "" +"Note that ``#`` format characters should always be treated as :c:type:" +"`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined." +msgstr "" +"Зауважте, що символи формату ``#`` завжди слід розглядати як :c:type:" +"`Py_ssize_t`, незалежно від того, чи було визначено ``PY_SSIZE_T_CLEAN``." + +msgid ":func:`sys.audit` performs the same function from Python code." +msgstr ":func:`sys.audit` виконує ту саму функцію з коду Python." + +msgid "" +"Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an " +"unavoidable deprecation warning was raised." +msgstr "" +"Вимагати :c:type:`Py_ssize_t` для символів формату ``#``. Раніше виникало " +"неминуче попередження про застарілу версію." + +msgid "" +"Append the callable *hook* to the list of active auditing hooks. Return zero " +"on success and non-zero on failure. If the runtime has been initialized, " +"also set an error on failure. Hooks added through this API are called for " +"all interpreters created by the runtime." +msgstr "" +"Додайте *хук*, який можна викликати, до списку активних хуків аудиту. " +"Повертає нуль у разі успіху та ненуль у разі невдачі. Якщо середовище " +"виконання було ініціалізовано, також установіть помилку в разі помилки. " +"Хуки, додані через цей API, викликаються для всіх інтерпретаторів, створених " +"середовищем виконання." + +msgid "" +"The *userData* pointer is passed into the hook function. Since hook " +"functions may be called from different runtimes, this pointer should not " +"refer directly to Python state." +msgstr "" +"Покажчик *userData* передається в функцію-перехоплювач. Оскільки функції " +"підключення можуть викликатися з різних середовищ виконання, цей вказівник " +"не повинен посилатися безпосередньо на стан Python." + +msgid "" +"This function is safe to call before :c:func:`Py_Initialize`. When called " +"after runtime initialization, existing audit hooks are notified and may " +"silently abort the operation by raising an error subclassed from :class:" +"`Exception` (other errors will not be silenced)." +msgstr "" +"Цю функцію безпечно викликати перед :c:func:`Py_Initialize`. Під час виклику " +"після ініціалізації середовища виконання наявні перехоплювачі аудиту " +"отримують сповіщення та можуть мовчки перервати операцію, викликавши помилку " +"підкласу з :class:`Exception` (інші помилки не будуть заглушені)." + +msgid "" +"The hook function is of type :c:expr:`int (*)(const char *event, PyObject " +"*args, void *userData)`, where *args* is guaranteed to be a :c:type:" +"`PyTupleObject`. The hook function is always called with the GIL held by the " +"Python interpreter that raised the event." +msgstr "" + +msgid "" +"See :pep:`578` for a detailed description of auditing. Functions in the " +"runtime and standard library that raise events are listed in the :ref:`audit " +"events table `. Details are in each function's documentation." +msgstr "" +"Дивіться :pep:`578` для детального опису аудиту. Функції середовища " +"виконання та стандартної бібліотеки, які викликають події, перераховані в :" +"ref:`таблиці подій аудиту `. Подробиці наведено в документації " +"кожної функції." + +msgid "" +"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys.addaudithook`` без аргументів." + +msgid "" +"If the interpreter is initialized, this function raises a auditing event " +"``sys.addaudithook`` with no arguments. If any existing hooks raise an " +"exception derived from :class:`Exception`, the new hook will not be added " +"and the exception is cleared. As a result, callers cannot assume that their " +"hook has been added unless they control all existing hooks." +msgstr "" +"Якщо інтерпретатор ініціалізовано, ця функція викликає подію аудиту ``sys." +"addaudithook`` без аргументів. Якщо будь-які існуючі хуки викликають " +"виняток, отриманий від :class:`Exception`, новий хук не буде додано, а " +"виняток буде очищено. Як наслідок, абоненти не можуть вважати, що їхній " +"підхоплювач додано, якщо вони не контролюють усі існуючі підхоплення." + +msgid "Process Control" +msgstr "Контроль процесів" + +msgid "" +"Print a fatal error message and kill the process. No cleanup is performed. " +"This function should only be invoked when a condition is detected that would " +"make it dangerous to continue using the Python interpreter; e.g., when the " +"object administration appears to be corrupted. On Unix, the standard C " +"library function :c:func:`abort` is called which will attempt to produce a :" +"file:`core` file." +msgstr "" +"Надрукуйте повідомлення про фатальну помилку та завершіть процес. Очищення " +"не виконується. Цю функцію слід викликати лише тоді, коли виявлено стан, " +"який може зробити небезпечним продовження використання інтерпретатора " +"Python; наприклад, коли адміністрування об’єкта виглядає пошкодженим. В Unix " +"викликається стандартна функція бібліотеки C :c:func:`abort`, яка " +"намагатиметься створити файл :file:`core`." + +msgid "" +"The ``Py_FatalError()`` function is replaced with a macro which logs " +"automatically the name of the current function, unless the " +"``Py_LIMITED_API`` macro is defined." +msgstr "" +"Функцію ``Py_FatalError()`` замінено макросом, який автоматично реєструє " +"назву поточної функції, якщо не визначено макрос ``Py_LIMITED_API``." + +msgid "Log the function name automatically." +msgstr "Автоматично реєструйте назву функції." + +msgid "" +"Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls " +"the standard C library function ``exit(status)``. If :c:func:" +"`Py_FinalizeEx` indicates an error, the exit status is set to 120." +msgstr "" +"Вийти з поточного процесу. Це викликає :c:func:`Py_FinalizeEx`, а потім " +"викликає стандартну функцію бібліотеки C ``exit(status)``. Якщо :c:func:" +"`Py_FinalizeEx` вказує на помилку, статус виходу встановлюється на 120." + +msgid "Errors from finalization no longer ignored." +msgstr "Помилки під час фіналізації більше не ігноруються." + +msgid "" +"Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The " +"cleanup function will be called with no arguments and should return no " +"value. At most 32 cleanup functions can be registered. When the " +"registration is successful, :c:func:`Py_AtExit` returns ``0``; on failure, " +"it returns ``-1``. The cleanup function registered last is called first. " +"Each cleanup function will be called at most once. Since Python's internal " +"finalization will have completed before the cleanup function, no Python APIs " +"should be called by *func*." +msgstr "" +"Зареєструйте функцію очищення, яку буде викликати :c:func:`Py_FinalizeEx`. " +"Функція очищення буде викликана без аргументів і не повинна повертати " +"значення. Можна зареєструвати щонайбільше 32 функції очищення. Після " +"успішної реєстрації :c:func:`Py_AtExit` повертає ``0``; у разі помилки " +"повертає ``-1``. Першою викликається функція очищення, зареєстрована " +"останньою. Кожна функція очищення буде викликана щонайбільше один раз. " +"Оскільки внутрішня фіналізація Python буде завершена до виконання функції " +"очищення, жодні API Python не повинні викликатися за допомогою *func*." diff --git a/c-api/tuple.po b/c-api/tuple.po new file mode 100644 index 000000000..a4a8cc6d9 --- /dev/null +++ b/c-api/tuple.po @@ -0,0 +1,292 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Tuple Objects" +msgstr "Кортежні об'єкти" + +msgid "This subtype of :c:type:`PyObject` represents a Python tuple object." +msgstr "Цей підтип :c:type:`PyObject` представляє об’єкт кортежу Python." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python tuple type; it " +"is the same object as :class:`tuple` in the Python layer." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип кортежу Python; це той " +"самий об’єкт, що й :class:`tuple` на рівні Python." + +msgid "" +"Return true if *p* is a tuple object or an instance of a subtype of the " +"tuple type. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом кортежу або екземпляром підтипу типу " +"кортежу. Ця функція завжди успішна." + +msgid "" +"Return true if *p* is a tuple object, but not an instance of a subtype of " +"the tuple type. This function always succeeds." +msgstr "" +"Повертає true, якщо *p* є об’єктом кортежу, але не екземпляром підтипу типу " +"кортежу. Ця функція завжди успішна." + +msgid "Return a new tuple object of size *len*, or ``NULL`` on failure." +msgstr "" +"Повертає новий об’єкт кортежу розміром *len* або ``NULL`` у разі помилки." + +msgid "" +"Return a new tuple object of size *n*, or ``NULL`` on failure. The tuple " +"values are initialized to the subsequent *n* C arguments pointing to Python " +"objects. ``PyTuple_Pack(2, a, b)`` is equivalent to " +"``Py_BuildValue(\"(OO)\", a, b)``." +msgstr "" +"Повертає новий об’єкт кортежу розміром *n* або ``NULL`` у разі помилки. " +"Значення кортежу ініціалізуються наступними *n* аргументами C, що вказують " +"на об’єкти Python. ``PyTuple_Pack(2, a, b)`` еквівалентний " +"``Py_BuildValue(\"(OO)\", a, b)``." + +msgid "Take a pointer to a tuple object, and return the size of that tuple." +msgstr "" +"Візьміть вказівник на об’єкт кортежу та поверніть розмір цього кортежу." + +msgid "" +"Return the size of the tuple *p*, which must be non-``NULL`` and point to a " +"tuple; no error checking is performed." +msgstr "" +"Повертає розмір кортежу *p*, який має бути відмінним від ``NULL`` і " +"вказувати на кортеж; перевірка помилок не виконується." + +msgid "" +"Return the object at position *pos* in the tuple pointed to by *p*. If " +"*pos* is negative or out of bounds, return ``NULL`` and set an :exc:" +"`IndexError` exception." +msgstr "" +"Повертає об’єкт у позицію *pos* у кортежі, на який вказує *p*. Якщо *pos* є " +"негативним або виходить за межі, поверніть ``NULL`` і встановіть виняток :" +"exc:`IndexError`." + +msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments." +msgstr "Як :c:func:`PyTuple_GetItem`, але не перевіряє його аргументи." + +msgid "" +"Return the slice of the tuple pointed to by *p* between *low* and *high*, or " +"``NULL`` on failure. This is the equivalent of the Python expression " +"``p[low:high]``. Indexing from the end of the list is not supported." +msgstr "" +"Повертає фрагмент кортежу, на який вказує *p*, між *low* і *high* або " +"``NULL`` у разі помилки. Це еквівалент виразу Python ``p[low:high]``. " +"Індексація з кінця списку не підтримується." + +msgid "" +"Insert a reference to object *o* at position *pos* of the tuple pointed to " +"by *p*. Return ``0`` on success. If *pos* is out of bounds, return ``-1`` " +"and set an :exc:`IndexError` exception." +msgstr "" +"Вставте посилання на об’єкт *o* у позиції *pos* кортежу, на який вказує *p*. " +"У разі успіху повертає ``0``. Якщо *pos* виходить за межі, поверніть ``-1`` " +"і встановіть виняток :exc:`IndexError`." + +msgid "" +"This function \"steals\" a reference to *o* and discards a reference to an " +"item already in the tuple at the affected position." +msgstr "" +"Ця функція \"викрадає\" посилання на *o* та відкидає посилання на елемент, " +"який уже міститься в кортежі в ураженій позиції." + +msgid "" +"Like :c:func:`PyTuple_SetItem`, but does no error checking, and should " +"*only* be used to fill in brand new tuples." +msgstr "" +"Подібно до :c:func:`PyTuple_SetItem`, але не перевіряє помилки, і його слід " +"використовувати *лише* для заповнення абсолютно нових кортежів." + +msgid "" +"This function \"steals\" a reference to *o*, and, unlike :c:func:" +"`PyTuple_SetItem`, does *not* discard a reference to any item that is being " +"replaced; any reference in the tuple at position *pos* will be leaked." +msgstr "" + +msgid "" +"Can be used to resize a tuple. *newsize* will be the new length of the " +"tuple. Because tuples are *supposed* to be immutable, this should only be " +"used if there is only one reference to the object. Do *not* use this if the " +"tuple may already be known to some other part of the code. The tuple will " +"always grow or shrink at the end. Think of this as destroying the old tuple " +"and creating a new one, only more efficiently. Returns ``0`` on success. " +"Client code should never assume that the resulting value of ``*p`` will be " +"the same as before calling this function. If the object referenced by ``*p`` " +"is replaced, the original ``*p`` is destroyed. On failure, returns ``-1`` " +"and sets ``*p`` to ``NULL``, and raises :exc:`MemoryError` or :exc:" +"`SystemError`." +msgstr "" +"Можна використовувати для зміни розміру кортежу. *newsize* буде новою " +"довжиною кортежу. Оскільки кортежі *вважаються* незмінними, це слід " +"використовувати, лише якщо є лише одне посилання на об’єкт. *Не* " +"використовуйте це, якщо кортеж може бути вже відомий іншій частині коду. " +"Кортеж завжди зростатиме або зменшуватиметься в кінці. Думайте про це як про " +"знищення старого кортежу та створення нового, але більш ефективного. У разі " +"успіху повертає ``0``. Клієнтський код ніколи не повинен вважати, що " +"результуюче значення ``*p`` буде таким самим, як і до виклику цієї функції. " +"Якщо об’єкт, на який посилається ``*p``, замінюється, оригінальний ``*p`` " +"знищується. У разі помилки повертає ``-1`` і встановлює ``*p`` значення " +"``NULL`` і викликає :exc:`MemoryError` або :exc:`SystemError`." + +msgid "Struct Sequence Objects" +msgstr "Структуруйте об’єкти послідовності" + +msgid "" +"Struct sequence objects are the C equivalent of :func:`~collections." +"namedtuple` objects, i.e. a sequence whose items can also be accessed " +"through attributes. To create a struct sequence, you first have to create a " +"specific struct sequence type." +msgstr "" +"Об’єкти послідовності структур є еквівалентом C об’єктів :func:`~collections." +"namedtuple`, тобто послідовності, до елементів якої також можна отримати " +"доступ через атрибути. Щоб створити послідовність структур, спочатку " +"потрібно створити певний тип послідовності структур." + +msgid "" +"Create a new struct sequence type from the data in *desc*, described below. " +"Instances of the resulting type can be created with :c:func:" +"`PyStructSequence_New`." +msgstr "" +"Створіть новий тип послідовності структур із даних у *desc*, як описано " +"нижче. Екземпляри отриманого типу можна створити за допомогою :c:func:" +"`PyStructSequence_New`." + +msgid "Initializes a struct sequence type *type* from *desc* in place." +msgstr "Ініціалізує структурну послідовність типу *type* з *desc* на місці." + +msgid "" +"The same as ``PyStructSequence_InitType``, but returns ``0`` on success and " +"``-1`` on failure." +msgstr "" +"Те саме, що ``PyStructSequence_InitType``, але повертає ``0`` у разі успіху " +"та ``-1`` у разі невдачі." + +msgid "Contains the meta information of a struct sequence type to create." +msgstr "" +"Містить метаінформацію типу послідовності структур, яку потрібно створити." + +msgid "Field" +msgstr "Поле" + +msgid "C Type" +msgstr "C Тип" + +msgid "Meaning" +msgstr "Значення" + +msgid "``name``" +msgstr "``ім'я``" + +msgid "``const char *``" +msgstr "``const char *``" + +msgid "name of the struct sequence type" +msgstr "ім'я типу послідовності структур" + +msgid "``doc``" +msgstr "``doc``" + +msgid "pointer to docstring for the type or ``NULL`` to omit" +msgstr "вказівник на рядок документації для типу або ``NULL`` для пропуску" + +msgid "``fields``" +msgstr "``поля``" + +msgid "``PyStructSequence_Field *``" +msgstr "``PyStructSequence_Field *``" + +msgid "pointer to ``NULL``-terminated array with field names of the new type" +msgstr "вказівник на масив із закінченням ``NULL`` з іменами полів нового типу" + +msgid "``n_in_sequence``" +msgstr "``n_in_sequence``" + +msgid "``int``" +msgstr "``int``" + +msgid "number of fields visible to the Python side (if used as tuple)" +msgstr "" +"кількість полів, видимих стороні Python (якщо використовується як кортеж)" + +msgid "" +"Describes a field of a struct sequence. As a struct sequence is modeled as a " +"tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :attr:" +"`fields` array of the :c:type:`PyStructSequence_Desc` determines which field " +"of the struct sequence is described." +msgstr "" + +msgid "" +"name for the field or ``NULL`` to end the list of named fields, set to :c:" +"data:`PyStructSequence_UnnamedField` to leave unnamed" +msgstr "" +"ім’я для поля або ``NULL``, щоб завершити список іменованих полів, " +"встановіть значення :c:data:`PyStructSequence_UnnamedField`, щоб залишити " +"без назви" + +msgid "field docstring or ``NULL`` to omit" +msgstr "поле docstring або ``NULL`` для пропуску" + +msgid "Special value for a field name to leave it unnamed." +msgstr "Спеціальне значення для імені поля, щоб залишити його без імені." + +msgid "The type was changed from ``char *``." +msgstr "Тип змінено з ``char *``." + +msgid "" +"Creates an instance of *type*, which must have been created with :c:func:" +"`PyStructSequence_NewType`." +msgstr "" +"Створює екземпляр *type*, який має бути створено за допомогою :c:func:" +"`PyStructSequence_NewType`." + +msgid "" +"Return the object at position *pos* in the struct sequence pointed to by " +"*p*. No bounds checking is performed." +msgstr "" +"Повертає об’єкт у позицію *pos* у послідовності структур, на яку вказує *p*. " +"Перевірка меж не виконується." + +msgid "Macro equivalent of :c:func:`PyStructSequence_GetItem`." +msgstr "Макроеквівалент :c:func:`PyStructSequence_GetItem`." + +msgid "" +"Sets the field at index *pos* of the struct sequence *p* to value *o*. " +"Like :c:func:`PyTuple_SET_ITEM`, this should only be used to fill in brand " +"new instances." +msgstr "" +"Встановлює поле за індексом *pos* послідовності структур *p* на значення " +"*o*. Як і :c:func:`PyTuple_SET_ITEM`, це слід використовувати лише для " +"заповнення абсолютно нових екземплярів." + +msgid "This function \"steals\" a reference to *o*." +msgstr "Ця функція \"краде\" посилання на *o*." + +msgid "" +"Similar to :c:func:`PyStructSequence_SetItem`, but implemented as a static " +"inlined function." +msgstr "" diff --git a/c-api/type.po b/c-api/type.po new file mode 100644 index 000000000..a2e6724a5 --- /dev/null +++ b/c-api/type.po @@ -0,0 +1,436 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Type Objects" +msgstr "Об'єкти типу" + +msgid "The C structure of the objects used to describe built-in types." +msgstr "Структура C об’єктів, що використовуються для опису вбудованих типів." + +msgid "" +"This is the type object for type objects; it is the same object as :class:" +"`type` in the Python layer." +msgstr "" +"Це об’єкт типу для об’єктів типу; це той самий об’єкт, що й :class:`type` на " +"рівні Python." + +msgid "" +"Return non-zero if the object *o* is a type object, including instances of " +"types derived from the standard type object. Return 0 in all other cases. " +"This function always succeeds." +msgstr "" +"Повертає ненульове значення, якщо об’єкт *o* є об’єктом типу, включаючи " +"екземпляри типів, похідних від об’єкта стандартного типу. Повертає 0 у всіх " +"інших випадках. Ця функція завжди успішна." + +msgid "" +"Return non-zero if the object *o* is a type object, but not a subtype of the " +"standard type object. Return 0 in all other cases. This function always " +"succeeds." +msgstr "" +"Повертає відмінне від нуля значення, якщо об’єкт *o* є об’єктом типу, але не " +"підтипом об’єкта стандартного типу. Повертає 0 у всіх інших випадках. Ця " +"функція завжди успішна." + +msgid "Clear the internal lookup cache. Return the current version tag." +msgstr "Очистіть внутрішній кеш пошуку. Повернути тег поточної версії." + +msgid "" +"Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " +"function is primarily meant for use with ``Py_LIMITED_API``; the individual " +"flag bits are guaranteed to be stable across Python releases, but access to :" +"c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API." +msgstr "" + +msgid "The return type is now ``unsigned long`` rather than ``long``." +msgstr "Тип повернення тепер ``unsigned long``, а не ``long``." + +msgid "" +"Invalidate the internal lookup cache for the type and all of its subtypes. " +"This function must be called after any manual modification of the attributes " +"or base classes of the type." +msgstr "" +"Визнати недійсним внутрішній кеш пошуку для типу та всіх його підтипів. Цю " +"функцію необхідно викликати після будь-якої ручної зміни атрибутів або " +"базових класів типу." + +msgid "" +"Return non-zero if the type object *o* sets the feature *feature*. Type " +"features are denoted by single bit flags." +msgstr "" +"Повертає ненульове значення, якщо об’єкт типу *o* встановлює функцію " +"*feature*. Функції типу позначаються однобітовими прапорцями." + +msgid "" +"Return true if the type object includes support for the cycle detector; this " +"tests the type flag :const:`Py_TPFLAGS_HAVE_GC`." +msgstr "" +"Повертає true, якщо об’єкт типу містить підтримку детектора циклу; це " +"перевіряє прапор типу :const:`Py_TPFLAGS_HAVE_GC`." + +msgid "Return true if *a* is a subtype of *b*." +msgstr "Повертає true, якщо *a* є підтипом *b*." + +msgid "" +"This function only checks for actual subtypes, which means that :meth:" +"`~class.__subclasscheck__` is not called on *b*. Call :c:func:" +"`PyObject_IsSubclass` to do the same check that :func:`issubclass` would do." +msgstr "" +"Ця функція перевіряє лише фактичні підтипи, що означає, що :meth:`~class." +"__subclasscheck__` не викликається на *b*. Викличте :c:func:" +"`PyObject_IsSubclass`, щоб виконати ту саму перевірку, що й :func:" +"`issubclass`." + +msgid "" +"Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type " +"object. Use Python's default memory allocation mechanism to allocate a new " +"instance and initialize all its contents to ``NULL``." +msgstr "" +"Загальний обробник для слота :c:member:`~PyTypeObject.tp_alloc` об’єкта " +"типу. Використовуйте стандартний механізм виділення пам’яті Python, щоб " +"виділити новий екземпляр та ініціалізувати весь його вміст як ``NULL``." + +msgid "" +"Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type " +"object. Create a new instance using the type's :c:member:`~PyTypeObject." +"tp_alloc` slot." +msgstr "" +"Загальний обробник для слота :c:member:`~PyTypeObject.tp_new` об’єкта типу. " +"Створіть новий екземпляр, використовуючи слот типу :c:member:`~PyTypeObject." +"tp_alloc`." + +msgid "" +"Finalize a type object. This should be called on all type objects to finish " +"their initialization. This function is responsible for adding inherited " +"slots from a type's base class. Return ``0`` on success, or return ``-1`` " +"and sets an exception on error." +msgstr "" +"Завершення об’єкта типу. Це слід викликати для всіх об’єктів типу, щоб " +"завершити їх ініціалізацію. Ця функція відповідає за додавання успадкованих " +"слотів від базового класу типу. Повертає ``0`` у разі успіху або ``-1`` і " +"встановлює виняток у випадку помилки." + +msgid "" +"If some of the base classes implements the GC protocol and the provided type " +"does not include the :const:`Py_TPFLAGS_HAVE_GC` in its flags, then the GC " +"protocol will be automatically implemented from its parents. On the " +"contrary, if the type being created does include :const:`Py_TPFLAGS_HAVE_GC` " +"in its flags then it **must** implement the GC protocol itself by at least " +"implementing the :c:member:`~PyTypeObject.tp_traverse` handle." +msgstr "" +"Якщо деякі з базових класів реалізують протокол GC і наданий тип не містить :" +"const:`Py_TPFLAGS_HAVE_GC` у своїх прапорцях, тоді протокол GC буде " +"автоматично реалізовано зі своїх батьків. Навпаки, якщо тип, який " +"створюється, містить :const:`Py_TPFLAGS_HAVE_GC` у своїх прапорцях, тоді він " +"**має** реалізувати сам протокол GC, принаймні реалізувавши дескриптор :c:" +"member:`~PyTypeObject.tp_traverse`." + +msgid "" +"Return the type's name. Equivalent to getting the type's ``__name__`` " +"attribute." +msgstr "" + +msgid "" +"Return the type's qualified name. Equivalent to getting the type's " +"``__qualname__`` attribute." +msgstr "" + +msgid "" +"Return the function pointer stored in the given slot. If the result is " +"``NULL``, this indicates that either the slot is ``NULL``, or that the " +"function was called with invalid parameters. Callers will typically cast the " +"result pointer into the appropriate function type." +msgstr "" +"Повертає вказівник функції, що зберігається у вказаному слоті. Якщо " +"результат ``NULL``, це означає, що або слот має ``NULL``, або що функцію " +"було викликано з недійсними параметрами. Викликачі зазвичай перетворюють " +"покажчик результату на відповідний тип функції." + +msgid "" +"See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument." +msgstr "" +"Перегляньте :c:member:`PyType_Slot.slot`, щоб дізнатися про можливі значення " +"аргументу *slot*." + +msgid "" +":c:func:`PyType_GetSlot` can now accept all types. Previously, it was " +"limited to :ref:`heap types `." +msgstr "" +":c:func:`PyType_GetSlot` тепер може приймати всі типи. Раніше це було " +"обмежено :ref:`типами купи `." + +msgid "" +"Return the module object associated with the given type when the type was " +"created using :c:func:`PyType_FromModuleAndSpec`." +msgstr "" +"Повертає об’єкт модуля, пов’язаний із заданим типом, коли тип було створено " +"за допомогою :c:func:`PyType_FromModuleAndSpec`." + +msgid "" +"If no module is associated with the given type, sets :py:class:`TypeError` " +"and returns ``NULL``." +msgstr "" +"Якщо жоден модуль не пов’язаний із заданим типом, встановлюється :py:class:" +"`TypeError` і повертається ``NULL``." + +msgid "" +"This function is usually used to get the module in which a method is " +"defined. Note that in such a method, ``PyType_GetModule(Py_TYPE(self))`` may " +"not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of the " +"intended class, and subclasses are not necessarily defined in the same " +"module as their superclass. See :c:type:`PyCMethod` to get the class that " +"defines the method. See :c:func:`PyType_GetModuleByDef` for cases when " +"``PyCMethod`` cannot be used." +msgstr "" + +msgid "" +"Return the state of the module object associated with the given type. This " +"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:" +"func:`PyType_GetModule`." +msgstr "" +"Повертає стан об’єкта модуля, пов’язаного з заданим типом. Це ярлик для " +"виклику :c:func:`PyModule_GetState()` за результатом :c:func:" +"`PyType_GetModule`." + +msgid "" +"If the *type* has an associated module but its state is ``NULL``, returns " +"``NULL`` without setting an exception." +msgstr "" +"Якщо *тип* має пов’язаний модуль, але його стан ``NULL``, повертає ``NULL`` " +"без встановлення винятку." + +msgid "" +"Find the first superclass whose module was created from the given :c:type:" +"`PyModuleDef` *def*, and return that module." +msgstr "" + +msgid "" +"If no module is found, raises a :py:class:`TypeError` and returns ``NULL``." +msgstr "" + +msgid "" +"This function is intended to be used together with :c:func:" +"`PyModule_GetState()` to get module state from slot methods (such as :c:" +"member:`~PyTypeObject.tp_init` or :c:member:`~PyNumberMethods.nb_add`) and " +"other places where a method's defining class cannot be passed using the :c:" +"type:`PyCMethod` calling convention." +msgstr "" + +msgid "Creating Heap-Allocated Types" +msgstr "Створення типів, виділених у купі" + +msgid "" +"The following functions and structs are used to create :ref:`heap types " +"`." +msgstr "" +"Наступні функції та структури використовуються для створення :ref:`типів " +"купи `." + +msgid "" +"Creates and returns a :ref:`heap type ` from the *spec* (:const:" +"`Py_TPFLAGS_HEAPTYPE`)." +msgstr "" +"Створює та повертає :ref:`тип купи ` зі *spec* (:const:" +"`Py_TPFLAGS_HEAPTYPE`)." + +msgid "" +"The *bases* argument can be used to specify base classes; it can either be " +"only one class or a tuple of classes. If *bases* is ``NULL``, the " +"*Py_tp_bases* slot is used instead. If that also is ``NULL``, the " +"*Py_tp_base* slot is used instead. If that also is ``NULL``, the new type " +"derives from :class:`object`." +msgstr "" +"Аргумент *bases* можна використовувати для визначення базових класів; це " +"може бути лише один клас або кортеж класів. Якщо *bases* має значення " +"``NULL``, замість нього використовується слот *Py_tp_bases*. Якщо це також " +"``NULL``, замість нього використовується слот *Py_tp_base*. Якщо це також " +"``NULL``, новий тип походить від :class:`object`." + +msgid "" +"The *module* argument can be used to record the module in which the new " +"class is defined. It must be a module object or ``NULL``. If not ``NULL``, " +"the module is associated with the new type and can later be retrieved with :" +"c:func:`PyType_GetModule`. The associated module is not inherited by " +"subclasses; it must be specified for each class individually." +msgstr "" +"Аргумент *module* можна використовувати для запису модуля, в якому визначено " +"новий клас. Це має бути об’єкт модуля або ``NULL``. Якщо не ``NULL``, модуль " +"асоціюється з новим типом і може бути пізніше отриманий за допомогою :c:func:" +"`PyType_GetModule`. Асоційований модуль не успадковується підкласами; її " +"необхідно вказувати для кожного класу окремо." + +msgid "This function calls :c:func:`PyType_Ready` on the new type." +msgstr "Ця функція викликає :c:func:`PyType_Ready` для нового типу." + +msgid "" +"The function now accepts a single class as the *bases* argument and ``NULL`` " +"as the ``tp_doc`` slot." +msgstr "" +"Тепер функція приймає один клас як аргумент *bases* і ``NULL`` як слот " +"``tp_doc``." + +msgid "Equivalent to ``PyType_FromModuleAndSpec(NULL, spec, bases)``." +msgstr "Еквівалент ``PyType_FromModuleAndSpec(NULL, spec, bases)``." + +msgid "Equivalent to ``PyType_FromSpecWithBases(spec, NULL)``." +msgstr "Еквівалент ``PyType_FromSpecWithBases(spec, NULL)``." + +msgid "Structure defining a type's behavior." +msgstr "Структура, що визначає поведінку типу." + +msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`." +msgstr "" +"Назва типу, що використовується для встановлення :c:member:`PyTypeObject." +"tp_name`." + +msgid "" +"Size of the instance in bytes, used to set :c:member:`PyTypeObject." +"tp_basicsize` and :c:member:`PyTypeObject.tp_itemsize`." +msgstr "" +"Розмір екземпляра в байтах, який використовується для встановлення :c:member:" +"`PyTypeObject.tp_basicsize` і :c:member:`PyTypeObject.tp_itemsize`." + +msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`." +msgstr "" +"Прапорці типу, які використовуються для встановлення :c:member:`PyTypeObject." +"tp_flags`." + +msgid "" +"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:" +"`PyType_FromSpecWithBases` sets it automatically." +msgstr "" +"Якщо прапор ``Py_TPFLAGS_HEAPTYPE`` не встановлено, :c:func:" +"`PyType_FromSpecWithBases` встановлює його автоматично." + +msgid "" +"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot " +"value ``{0, NULL}``." +msgstr "" +"Масив структур :c:type:`PyType_Slot`. Закінчується спеціальним значенням " +"слота ``{0, NULL}``." + +msgid "" +"Structure defining optional functionality of a type, containing a slot ID " +"and a value pointer." +msgstr "" +"Структура, що визначає необов’язкову функціональність типу, що містить " +"ідентифікатор слота та покажчик значення." + +msgid "A slot ID." +msgstr "Ідентифікатор слота." + +msgid "" +"Slot IDs are named like the field names of the structures :c:type:" +"`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:" +"type:`PyMappingMethods` and :c:type:`PyAsyncMethods` with an added ``Py_`` " +"prefix. For example, use:" +msgstr "" +"Ідентифікатори слотів називаються як імена полів структур :c:type:" +"`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:" +"type:`PyMappingMethods` і :c:type:`PyAsyncMethods` з доданим префіксом " +"``Py_``. Наприклад, використовуйте:" + +msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`" +msgstr "``Py_tp_dealloc`` для встановлення :c:member:`PyTypeObject.tp_dealloc`" + +msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`" +msgstr "``Py_nb_add`` для встановлення :c:member:`PyNumberMethods.nb_add`" + +msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`" +msgstr "" +"``Py_sq_length`` для встановлення :c:member:`PySequenceMethods.sq_length`" + +msgid "" +"The following fields cannot be set at all using :c:type:`PyType_Spec` and :c:" +"type:`PyType_Slot`:" +msgstr "" +"Наступні поля взагалі не можна встановити за допомогою :c:type:`PyType_Spec` " +"і :c:type:`PyType_Slot`:" + +msgid ":c:member:`~PyTypeObject.tp_dict`" +msgstr ":c:member:`~PyTypeObject.tp_dict`" + +msgid ":c:member:`~PyTypeObject.tp_mro`" +msgstr ":c:member:`~PyTypeObject.tp_mro`" + +msgid ":c:member:`~PyTypeObject.tp_cache`" +msgstr ":c:member:`~PyTypeObject.tp_cache`" + +msgid ":c:member:`~PyTypeObject.tp_subclasses`" +msgstr ":c:member:`~PyTypeObject.tp_subclasses`" + +msgid ":c:member:`~PyTypeObject.tp_weaklist`" +msgstr ":c:member:`~PyTypeObject.tp_weaklist`" + +msgid ":c:member:`~PyTypeObject.tp_vectorcall`" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" + +msgid "" +":c:member:`~PyTypeObject.tp_weaklistoffset` (see :ref:`PyMemberDef " +"`)" +msgstr "" +":c:member:`~PyTypeObject.tp_weaklistoffset` (див. :ref:`PyMemberDef " +"`)" + +msgid "" +":c:member:`~PyTypeObject.tp_dictoffset` (see :ref:`PyMemberDef `)" +msgstr "" +":c:member:`~PyTypeObject.tp_dictoffset` (див. :ref:`PyMemberDef `)" + +msgid "" +":c:member:`~PyTypeObject.tp_vectorcall_offset` (see :ref:`PyMemberDef " +"`)" +msgstr "" +":c:member:`~PyTypeObject.tp_vectorcall_offset` (див. :ref:`PyMemberDef " +"`)" + +msgid "" +"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on " +"some platforms. To avoid issues, use the *bases* argument of :py:func:" +"`PyType_FromSpecWithBases` instead." +msgstr "" +"Налаштування :c:data:`Py_tp_bases` або :c:data:`Py_tp_base` може бути " +"проблематичним на деяких платформах. Щоб уникнути проблем, замість цього " +"використовуйте аргумент *bases* :py:func:`PyType_FromSpecWithBases`." + +msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API." +msgstr "Слоти в :c:type:`PyBufferProcs` можна встановити в необмеженому API." + +msgid "" +":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs." +"bf_releasebuffer` are now available under the limited API." +msgstr "" + +msgid "" +"The desired value of the slot. In most cases, this is a pointer to a " +"function." +msgstr "Бажане значення слота. У більшості випадків це вказівник на функцію." + +msgid "Slots other than ``Py_tp_doc`` may not be ``NULL``." +msgstr "Слоти, окрім ``Py_tp_doc``, не можуть бути ``NULL``." diff --git a/c-api/typehints.po b/c-api/typehints.po new file mode 100644 index 000000000..8dc5a599e --- /dev/null +++ b/c-api/typehints.po @@ -0,0 +1,65 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Objects for Type Hinting" +msgstr "Об'єкти для підказки типу" + +msgid "" +"Various built-in types for type hinting are provided. Currently, two types " +"exist -- :ref:`GenericAlias ` and :ref:`Union `. Only ``GenericAlias`` is exposed to C." +msgstr "" +"Надаються різні вбудовані типи для підказки типу. Наразі існує два типи -- :" +"ref:`GenericAlias ` та :ref:`Union `. " +"Тільки ``GenericAlias`` доступний для C." + +msgid "" +"Create a :ref:`GenericAlias ` object. Equivalent to " +"calling the Python class :class:`types.GenericAlias`. The *origin* and " +"*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " +"``__args__`` attributes respectively. *origin* should be a :c:expr:" +"`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any " +"``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically " +"constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done " +"for the arguments, so the function will succeed even if *origin* is not a " +"type. The ``GenericAlias``\\ 's ``__parameters__`` attribute is constructed " +"lazily from ``__args__``. On failure, an exception is raised and ``NULL`` " +"is returned." +msgstr "" + +msgid "Here's an example of how to make an extension type generic::" +msgstr "Ось приклад того, як зробити тип розширення загальним::" + +msgid "The data model method :meth:`__class_getitem__`." +msgstr "Метод моделі даних :meth:`__class_getitem__`." + +msgid "" +"The C type of the object returned by :c:func:`Py_GenericAlias`. Equivalent " +"to :class:`types.GenericAlias` in Python." +msgstr "" +"Тип C об’єкта, який повертає :c:func:`Py_GenericAlias`. Еквівалент :class:" +"`types.GenericAlias` у Python." diff --git a/c-api/typeobj.po b/c-api/typeobj.po new file mode 100644 index 000000000..e00fddcfa --- /dev/null +++ b/c-api/typeobj.po @@ -0,0 +1,3567 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Type Objects" +msgstr "Об'єкти типу" + +msgid "" +"Perhaps one of the most important structures of the Python object system is " +"the structure that defines a new type: the :c:type:`PyTypeObject` " +"structure. Type objects can be handled using any of the ``PyObject_*`` or " +"``PyType_*`` functions, but do not offer much that's interesting to most " +"Python applications. These objects are fundamental to how objects behave, so " +"they are very important to the interpreter itself and to any extension " +"module that implements new types." +msgstr "" + +msgid "" +"Type objects are fairly large compared to most of the standard types. The " +"reason for the size is that each type object stores a large number of " +"values, mostly C function pointers, each of which implements a small part of " +"the type's functionality. The fields of the type object are examined in " +"detail in this section. The fields will be described in the order in which " +"they occur in the structure." +msgstr "" +"Об’єкти типу досить великі порівняно з більшістю стандартних типів. Причина " +"такого розміру полягає в тому, що кожен об’єкт типу зберігає велику " +"кількість значень, переважно покажчиків на функції C, кожен з яких реалізує " +"невелику частину функціональності типу. У цьому розділі детально " +"розглядаються поля об’єкта типу. Поля будуть описані в тому порядку, в якому " +"вони розташовані в структурі." + +msgid "" +"In addition to the following quick reference, the :ref:`typedef-examples` " +"section provides at-a-glance insight into the meaning and use of :c:type:" +"`PyTypeObject`." +msgstr "" +"На додаток до наведеної нижче короткої довідки, розділ :ref:`typedef-" +"examples` надає швидке розуміння значення та використання :c:type:" +"`PyTypeObject`." + +msgid "Quick Reference" +msgstr "Короткий довідник" + +msgid "\"tp slots\"" +msgstr "\"tp слоти\"" + +msgid "PyTypeObject Slot [#slots]_" +msgstr "Слот PyTypeObject [#slots]_" + +msgid ":ref:`Type `" +msgstr ":ref:`Введіть `" + +msgid "special methods/attrs" +msgstr "спеціальні методи/атр" + +msgid "Info [#cols]_" +msgstr "Інформація [#cols]_" + +msgid "O" +msgstr "О" + +msgid "T" +msgstr "T" + +msgid "D" +msgstr "D" + +msgid "I" +msgstr "I" + +msgid " :c:member:`~PyTypeObject.tp_name`" +msgstr " :c:member:`~PyTypeObject.tp_name`" + +msgid "const char *" +msgstr "const char *" + +msgid "__name__" +msgstr "__name__" + +msgid "X" +msgstr "X" + +msgid ":c:member:`~PyTypeObject.tp_basicsize`" +msgstr ":c:member:`~PyTypeObject.tp_basicsize`" + +msgid ":c:type:`Py_ssize_t`" +msgstr ":c:type:`Py_ssize_t`" + +msgid ":c:member:`~PyTypeObject.tp_itemsize`" +msgstr ":c:member:`~PyTypeObject.tp_itemsize`" + +msgid ":c:member:`~PyTypeObject.tp_dealloc`" +msgstr ":c:member:`~PyTypeObject.tp_dealloc`" + +msgid ":c:type:`destructor`" +msgstr ":c:type:`destructor`" + +msgid ":c:member:`~PyTypeObject.tp_vectorcall_offset`" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall_offset`" + +msgid "(:c:member:`~PyTypeObject.tp_getattr`)" +msgstr "(:c:member:`~PyTypeObject.tp_getattr`)" + +msgid ":c:type:`getattrfunc`" +msgstr ":c:type:`getattrfunc`" + +msgid "__getattribute__, __getattr__" +msgstr "__getattribute__, __getattr__" + +msgid "G" +msgstr "Г" + +msgid "(:c:member:`~PyTypeObject.tp_setattr`)" +msgstr "(:c:member:`~PyTypeObject.tp_setattr`)" + +msgid ":c:type:`setattrfunc`" +msgstr ":c:type:`setattrfunc`" + +msgid "__setattr__, __delattr__" +msgstr "__setattr__, __delattr__" + +msgid ":c:member:`~PyTypeObject.tp_as_async`" +msgstr ":c:member:`~PyTypeObject.tp_as_async`" + +msgid ":c:type:`PyAsyncMethods` *" +msgstr ":c:type:`PyAsyncMethods` *" + +msgid ":ref:`sub-slots`" +msgstr ":ref:`sub-slots`" + +msgid "%" +msgstr "%" + +msgid ":c:member:`~PyTypeObject.tp_repr`" +msgstr ":c:member:`~PyTypeObject.tp_repr`" + +msgid ":c:type:`reprfunc`" +msgstr ":c:type:`reprfunc`" + +msgid "__repr__" +msgstr "__repr__" + +msgid ":c:member:`~PyTypeObject.tp_as_number`" +msgstr ":c:member:`~PyTypeObject.tp_as_number`" + +msgid ":c:type:`PyNumberMethods` *" +msgstr ":c:type:`PyNumberMethods` *" + +msgid ":c:member:`~PyTypeObject.tp_as_sequence`" +msgstr ":c:member:`~PyTypeObject.tp_as_sequence`" + +msgid ":c:type:`PySequenceMethods` *" +msgstr ":c:type:`PySequenceMethods` *" + +msgid ":c:member:`~PyTypeObject.tp_as_mapping`" +msgstr ":c:member:`~PyTypeObject.tp_as_mapping`" + +msgid ":c:type:`PyMappingMethods` *" +msgstr ":c:type:`PyMappingMethods` *" + +msgid ":c:member:`~PyTypeObject.tp_hash`" +msgstr ":c:member:`~PyTypeObject.tp_hash`" + +msgid ":c:type:`hashfunc`" +msgstr ":c:type:`hashfunc`" + +msgid "__hash__" +msgstr "__hash__" + +msgid ":c:member:`~PyTypeObject.tp_call`" +msgstr ":c:member:`~PyTypeObject.tp_call`" + +msgid ":c:type:`ternaryfunc`" +msgstr ":c:type:`ternaryfunc`" + +msgid "__call__" +msgstr "__call__" + +msgid ":c:member:`~PyTypeObject.tp_str`" +msgstr ":c:member:`~PyTypeObject.tp_str`" + +msgid "__str__" +msgstr "__str__" + +msgid ":c:member:`~PyTypeObject.tp_getattro`" +msgstr ":c:member:`~PyTypeObject.tp_getattro`" + +msgid ":c:type:`getattrofunc`" +msgstr ":c:type:`getattrofunc`" + +msgid ":c:member:`~PyTypeObject.tp_setattro`" +msgstr ":c:member:`~PyTypeObject.tp_setattro`" + +msgid ":c:type:`setattrofunc`" +msgstr ":c:type:`setattrofunc`" + +msgid ":c:member:`~PyTypeObject.tp_as_buffer`" +msgstr ":c:member:`~PyTypeObject.tp_as_buffer`" + +msgid ":c:type:`PyBufferProcs` *" +msgstr ":c:type:`PyBufferProcs` *" + +msgid ":c:member:`~PyTypeObject.tp_flags`" +msgstr ":c:member:`~PyTypeObject.tp_flags`" + +msgid "unsigned long" +msgstr "беззнаковий long" + +msgid "?" +msgstr "?" + +msgid ":c:member:`~PyTypeObject.tp_doc`" +msgstr ":c:member:`~PyTypeObject.tp_doc`" + +msgid "__doc__" +msgstr "__doc__" + +msgid ":c:member:`~PyTypeObject.tp_traverse`" +msgstr ":c:member:`~PyTypeObject.tp_traverse`" + +msgid ":c:type:`traverseproc`" +msgstr ":c:type:`traverseproc`" + +msgid ":c:member:`~PyTypeObject.tp_clear`" +msgstr ":c:member:`~PyTypeObject.tp_clear`" + +msgid ":c:type:`inquiry`" +msgstr ":c:type:`inquiry`" + +msgid ":c:member:`~PyTypeObject.tp_richcompare`" +msgstr ":c:member:`~PyTypeObject.tp_richcompare`" + +msgid ":c:type:`richcmpfunc`" +msgstr ":c:type:`richcmpfunc`" + +msgid "__lt__, __le__, __eq__, __ne__, __gt__, __ge__" +msgstr "__lt__, __le__, __eq__, __ne__, __gt__, __ge__" + +msgid ":c:member:`~PyTypeObject.tp_weaklistoffset`" +msgstr ":c:member:`~PyTypeObject.tp_weaklistoffset`" + +msgid ":c:member:`~PyTypeObject.tp_iter`" +msgstr ":c:member:`~PyTypeObject.tp_iter`" + +msgid ":c:type:`getiterfunc`" +msgstr ":c:type:`getiterfunc`" + +msgid "__iter__" +msgstr "__iter__" + +msgid ":c:member:`~PyTypeObject.tp_iternext`" +msgstr ":c:member:`~PyTypeObject.tp_iternext`" + +msgid ":c:type:`iternextfunc`" +msgstr ":c:type:`iternextfunc`" + +msgid "__next__" +msgstr "__next__" + +msgid ":c:member:`~PyTypeObject.tp_methods`" +msgstr ":c:member:`~PyTypeObject.tp_methods`" + +msgid ":c:type:`PyMethodDef` []" +msgstr ":c:type:`PyMethodDef` []" + +msgid ":c:member:`~PyTypeObject.tp_members`" +msgstr ":c:member:`~PyTypeObject.tp_members`" + +msgid ":c:type:`PyMemberDef` []" +msgstr ":c:type:`PyMemberDef` []" + +msgid ":c:member:`~PyTypeObject.tp_getset`" +msgstr ":c:member:`~PyTypeObject.tp_getset`" + +msgid ":c:type:`PyGetSetDef` []" +msgstr ":c:type:`PyGetSetDef` []" + +msgid ":c:member:`~PyTypeObject.tp_base`" +msgstr ":c:member:`~PyTypeObject.tp_base`" + +msgid ":c:type:`PyTypeObject` *" +msgstr ":c:type:`PyTypeObject` *" + +msgid "__base__" +msgstr "__base__" + +msgid ":c:member:`~PyTypeObject.tp_dict`" +msgstr ":c:member:`~PyTypeObject.tp_dict`" + +msgid ":c:type:`PyObject` *" +msgstr ":c:type:`PyObject` *" + +msgid "__dict__" +msgstr "__dict__" + +msgid ":c:member:`~PyTypeObject.tp_descr_get`" +msgstr ":c:member:`~PyTypeObject.tp_descr_get`" + +msgid ":c:type:`descrgetfunc`" +msgstr ":c:type:`descrgetfunc`" + +msgid "__get__" +msgstr "__get__" + +msgid ":c:member:`~PyTypeObject.tp_descr_set`" +msgstr ":c:member:`~PyTypeObject.tp_descr_set`" + +msgid ":c:type:`descrsetfunc`" +msgstr ":c:type:`descrsetfunc`" + +msgid "__set__, __delete__" +msgstr "__set__, __delete__" + +msgid ":c:member:`~PyTypeObject.tp_dictoffset`" +msgstr ":c:member:`~PyTypeObject.tp_dictoffset`" + +msgid ":c:member:`~PyTypeObject.tp_init`" +msgstr ":c:member:`~PyTypeObject.tp_init`" + +msgid ":c:type:`initproc`" +msgstr ":c:type:`initproc`" + +msgid "__init__" +msgstr "__init__" + +msgid ":c:member:`~PyTypeObject.tp_alloc`" +msgstr ":c:member:`~PyTypeObject.tp_alloc`" + +msgid ":c:type:`allocfunc`" +msgstr ":c:type:`allocfunc`" + +msgid ":c:member:`~PyTypeObject.tp_new`" +msgstr ":c:member:`~PyTypeObject.tp_new`" + +msgid ":c:type:`newfunc`" +msgstr ":c:type:`newfunc`" + +msgid "__new__" +msgstr "__new__" + +msgid ":c:member:`~PyTypeObject.tp_free`" +msgstr ":c:member:`~PyTypeObject.tp_free`" + +msgid ":c:type:`freefunc`" +msgstr ":c:type:`freefunc`" + +msgid ":c:member:`~PyTypeObject.tp_is_gc`" +msgstr ":c:member:`~PyTypeObject.tp_is_gc`" + +msgid "<:c:member:`~PyTypeObject.tp_bases`>" +msgstr " <:c:member:`~PyTypeObject.tp_bases`>" + +msgid "__bases__" +msgstr "__bases__" + +msgid "~" +msgstr "~" + +msgid "<:c:member:`~PyTypeObject.tp_mro`>" +msgstr " <:c:member:`~PyTypeObject.tp_mro`>" + +msgid "__mro__" +msgstr "__mro__" + +msgid "[:c:member:`~PyTypeObject.tp_cache`]" +msgstr "[:c:member:`~PyTypeObject.tp_cache`]" + +msgid "[:c:member:`~PyTypeObject.tp_subclasses`]" +msgstr "[:c:member:`~PyTypeObject.tp_subclasses`]" + +msgid "__subclasses__" +msgstr "__subclasses__" + +msgid "[:c:member:`~PyTypeObject.tp_weaklist`]" +msgstr "[:c:member:`~PyTypeObject.tp_weaklist`]" + +msgid "(:c:member:`~PyTypeObject.tp_del`)" +msgstr "(:c:member:`~PyTypeObject.tp_del`)" + +msgid "[:c:member:`~PyTypeObject.tp_version_tag`]" +msgstr "[:c:member:`~PyTypeObject.tp_version_tag`]" + +msgid "unsigned int" +msgstr "беззнаковий int" + +msgid ":c:member:`~PyTypeObject.tp_finalize`" +msgstr ":c:member:`~PyTypeObject.tp_finalize`" + +msgid "__del__" +msgstr "__del__" + +msgid ":c:member:`~PyTypeObject.tp_vectorcall`" +msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" + +msgid ":c:type:`vectorcallfunc`" +msgstr ":c:type:`vectorcallfunc`" + +msgid "" +"A slot name in parentheses indicates it is (effectively) deprecated. Names " +"in angle brackets should be treated as read-only. Names in square brackets " +"are for internal use only. \"\" (as a prefix) means the field is required " +"(must be non-``NULL``)." +msgstr "" +"Назва слота в дужках вказує на те, що він (фактично) застарілий. Імена в " +"кутових дужках мають розглядатися як доступні лише для читання. Імена в " +"квадратних дужках призначені лише для внутрішнього використання. \" " +"\" (як префікс) означає, що поле є обов’язковим (має бути відмінним від " +"``NULL``)." + +msgid "Columns:" +msgstr "Стовпці:" + +msgid "**\"O\"**: set on :c:type:`PyBaseObject_Type`" +msgstr "**\"O\"**: встановлено на :c:type:`PyBaseObject_Type`" + +msgid "**\"T\"**: set on :c:type:`PyType_Type`" +msgstr "**\"T\"**: встановлено на :c:type:`PyType_Type`" + +msgid "**\"D\"**: default (if slot is set to ``NULL``)" +msgstr "" +"**\"D\"**: за умовчанням (якщо для слота встановлено значення ``NULL``)" + +msgid "**\"I\"**: inheritance" +msgstr "**\"I\"**: наслідування" + +msgid "" +"Note that some slots are effectively inherited through the normal attribute " +"lookup chain." +msgstr "" +"Зверніть увагу, що деякі слоти фактично успадковуються через звичайний " +"ланцюжок пошуку атрибутів." + +msgid "sub-slots" +msgstr "підслоти" + +msgid "Slot" +msgstr "Слот" + +msgid "special methods" +msgstr "спеціальні методи" + +msgid ":c:member:`~PyAsyncMethods.am_await`" +msgstr ":c:member:`~PyAsyncMethods.am_await`" + +msgid ":c:type:`unaryfunc`" +msgstr ":c:type:`unaryfunc`" + +msgid "__await__" +msgstr "__await__" + +msgid ":c:member:`~PyAsyncMethods.am_aiter`" +msgstr ":c:member:`~PyAsyncMethods.am_aiter`" + +msgid "__aiter__" +msgstr "__aiter__" + +msgid ":c:member:`~PyAsyncMethods.am_anext`" +msgstr ":c:member:`~PyAsyncMethods.am_anext`" + +msgid "__anext__" +msgstr "__anext__" + +msgid ":c:member:`~PyAsyncMethods.am_send`" +msgstr ":c:member:`~PyAsyncMethods.am_send`" + +msgid ":c:type:`sendfunc`" +msgstr ":c:type:`sendfunc`" + +msgid ":c:member:`~PyNumberMethods.nb_add`" +msgstr ":c:member:`~PyNumberMethods.nb_add`" + +msgid ":c:type:`binaryfunc`" +msgstr ":c:type:`binaryfunc`" + +msgid "__add__ __radd__" +msgstr "__add__ __radd__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_add`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_add`" + +msgid "__iadd__" +msgstr "__iadd__" + +msgid ":c:member:`~PyNumberMethods.nb_subtract`" +msgstr ":c:member:`~PyNumberMethods.nb_subtract`" + +msgid "__sub__ __rsub__" +msgstr "__sub__ __rsub__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_subtract`" + +msgid "__isub__" +msgstr "__isub__" + +msgid ":c:member:`~PyNumberMethods.nb_multiply`" +msgstr ":c:member:`~PyNumberMethods.nb_multiply`" + +msgid "__mul__ __rmul__" +msgstr "__mul__ __rmul__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_multiply`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_multiply`" + +msgid "__imul__" +msgstr "__imul__" + +msgid ":c:member:`~PyNumberMethods.nb_remainder`" +msgstr ":c:member:`~PyNumberMethods.nb_remainder`" + +msgid "__mod__ __rmod__" +msgstr "__mod__ __rmod__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_remainder`" + +msgid "__imod__" +msgstr "__imod__" + +msgid ":c:member:`~PyNumberMethods.nb_divmod`" +msgstr ":c:member:`~PyNumberMethods.nb_divmod`" + +msgid "__divmod__ __rdivmod__" +msgstr "__divmod__ __rdivmod__" + +msgid ":c:member:`~PyNumberMethods.nb_power`" +msgstr ":c:member:`~PyNumberMethods.nb_power`" + +msgid "__pow__ __rpow__" +msgstr "__pow__ __rpow__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_power`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_power`" + +msgid "__ipow__" +msgstr "__ipow__" + +msgid ":c:member:`~PyNumberMethods.nb_negative`" +msgstr ":c:member:`~PyNumberMethods.nb_negative`" + +msgid "__neg__" +msgstr "__neg__" + +msgid ":c:member:`~PyNumberMethods.nb_positive`" +msgstr ":c:member:`~PyNumberMethods.nb_positive`" + +msgid "__pos__" +msgstr "__pos__" + +msgid ":c:member:`~PyNumberMethods.nb_absolute`" +msgstr ":c:member:`~PyNumberMethods.nb_absolute`" + +msgid "__abs__" +msgstr "__abs__" + +msgid ":c:member:`~PyNumberMethods.nb_bool`" +msgstr ":c:member:`~PyNumberMethods.nb_bool`" + +msgid "__bool__" +msgstr "__bool__" + +msgid ":c:member:`~PyNumberMethods.nb_invert`" +msgstr ":c:member:`~PyNumberMethods.nb_invert`" + +msgid "__invert__" +msgstr "__invert__" + +msgid ":c:member:`~PyNumberMethods.nb_lshift`" +msgstr ":c:member:`~PyNumberMethods.nb_lshift`" + +msgid "__lshift__ __rlshift__" +msgstr "__lshift__ __rlshift__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_lshift`" + +msgid "__ilshift__" +msgstr "__ilshift__" + +msgid ":c:member:`~PyNumberMethods.nb_rshift`" +msgstr ":c:member:`~PyNumberMethods.nb_rshift`" + +msgid "__rshift__ __rrshift__" +msgstr "__rshift__ __rrshift__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_rshift`" + +msgid "__irshift__" +msgstr "__irshift__" + +msgid ":c:member:`~PyNumberMethods.nb_and`" +msgstr ":c:member:`~PyNumberMethods.nb_and`" + +msgid "__and__ __rand__" +msgstr "__and__ __rand__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_and`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_and`" + +msgid "__iand__" +msgstr "__iand__" + +msgid ":c:member:`~PyNumberMethods.nb_xor`" +msgstr ":c:member:`~PyNumberMethods.nb_xor`" + +msgid "__xor__ __rxor__" +msgstr "__xor__ __rxor__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_xor`" + +msgid "__ixor__" +msgstr "__ixor__" + +msgid ":c:member:`~PyNumberMethods.nb_or`" +msgstr ":c:member:`~PyNumberMethods.nb_or`" + +msgid "__or__ __ror__" +msgstr "__or__ __ror__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_or`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_or`" + +msgid "__ior__" +msgstr "__ior__" + +msgid ":c:member:`~PyNumberMethods.nb_int`" +msgstr ":c:member:`~PyNumberMethods.nb_int`" + +msgid "__int__" +msgstr "__int__" + +msgid ":c:member:`~PyNumberMethods.nb_reserved`" +msgstr ":c:member:`~PyNumberMethods.nb_reserved`" + +msgid "void *" +msgstr "порожній *" + +msgid ":c:member:`~PyNumberMethods.nb_float`" +msgstr ":c:member:`~PyNumberMethods.nb_float`" + +msgid "__float__" +msgstr "__float__" + +msgid ":c:member:`~PyNumberMethods.nb_floor_divide`" +msgstr ":c:member:`~PyNumberMethods.nb_floor_divide`" + +msgid "__floordiv__" +msgstr "__floordiv__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" + +msgid "__ifloordiv__" +msgstr "__ifloordiv__" + +msgid ":c:member:`~PyNumberMethods.nb_true_divide`" +msgstr ":c:member:`~PyNumberMethods.nb_true_divide`" + +msgid "__truediv__" +msgstr "__truediv__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" + +msgid "__itruediv__" +msgstr "__itruediv__" + +msgid ":c:member:`~PyNumberMethods.nb_index`" +msgstr ":c:member:`~PyNumberMethods.nb_index`" + +msgid "__index__" +msgstr "__index__" + +msgid ":c:member:`~PyNumberMethods.nb_matrix_multiply`" +msgstr ":c:member:`~PyNumberMethods.nb_matrix_multiply`" + +msgid "__matmul__ __rmatmul__" +msgstr "__matmul__ __rmatmul__" + +msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" +msgstr ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" + +msgid "__imatmul__" +msgstr "__imatmul__" + +msgid ":c:member:`~PyMappingMethods.mp_length`" +msgstr ":c:member:`~PyMappingMethods.mp_length`" + +msgid ":c:type:`lenfunc`" +msgstr ":c:type:`lenfunc`" + +msgid "__len__" +msgstr "__len__" + +msgid ":c:member:`~PyMappingMethods.mp_subscript`" +msgstr ":c:member:`~PyMappingMethods.mp_subscript`" + +msgid "__getitem__" +msgstr "__getitem__" + +msgid ":c:member:`~PyMappingMethods.mp_ass_subscript`" +msgstr ":c:member:`~PyMappingMethods.mp_ass_subscript`" + +msgid ":c:type:`objobjargproc`" +msgstr ":c:type:`objobjargproc`" + +msgid "__setitem__, __delitem__" +msgstr "__setitem__, __delitem__" + +msgid ":c:member:`~PySequenceMethods.sq_length`" +msgstr ":c:member:`~PySequenceMethods.sq_length`" + +msgid ":c:member:`~PySequenceMethods.sq_concat`" +msgstr ":c:member:`~PySequenceMethods.sq_concat`" + +msgid "__add__" +msgstr "__add__" + +msgid ":c:member:`~PySequenceMethods.sq_repeat`" +msgstr ":c:member:`~PySequenceMethods.sq_repeat`" + +msgid ":c:type:`ssizeargfunc`" +msgstr ":c:type:`ssizeargfunc`" + +msgid "__mul__" +msgstr "__mul__" + +msgid ":c:member:`~PySequenceMethods.sq_item`" +msgstr ":c:member:`~PySequenceMethods.sq_item`" + +msgid ":c:member:`~PySequenceMethods.sq_ass_item`" +msgstr ":c:member:`~PySequenceMethods.sq_ass_item`" + +msgid ":c:type:`ssizeobjargproc`" +msgstr ":c:type:`ssizeobjargproc`" + +msgid "__setitem__ __delitem__" +msgstr "__setitem__ __delitem__" + +msgid ":c:member:`~PySequenceMethods.sq_contains`" +msgstr ":c:member:`~PySequenceMethods.sq_contains`" + +msgid ":c:type:`objobjproc`" +msgstr ":c:type:`objobjproc`" + +msgid "__contains__" +msgstr "__contains__" + +msgid ":c:member:`~PySequenceMethods.sq_inplace_concat`" +msgstr ":c:member:`~PySequenceMethods.sq_inplace_concat`" + +msgid ":c:member:`~PySequenceMethods.sq_inplace_repeat`" +msgstr ":c:member:`~PySequenceMethods.sq_inplace_repeat`" + +msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" +msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`" + +msgid ":c:func:`getbufferproc`" +msgstr ":c:func:`getbufferproc`" + +msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" +msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" + +msgid ":c:func:`releasebufferproc`" +msgstr ":c:func:`releasebufferproc`" + +msgid "slot typedefs" +msgstr "типи слотів" + +msgid "typedef" +msgstr "typedef" + +msgid "Parameter Types" +msgstr "Типи параметрів" + +msgid "Return Type" +msgstr "Тип повернення" + +msgid "void" +msgstr "пустий" + +msgid ":c:type:`visitproc`" +msgstr ":c:type:`visitproc`" + +msgid "int" +msgstr "int" + +msgid "Py_hash_t" +msgstr "Py_hash_t" + +msgid ":c:type:`getbufferproc`" +msgstr ":c:type:`getbufferproc`" + +msgid ":c:type:`Py_buffer` *" +msgstr ":c:type:`Py_buffer` *" + +msgid ":c:type:`releasebufferproc`" +msgstr ":c:type:`releasebufferproc`" + +msgid "See :ref:`slot-typedefs` below for more detail." +msgstr "Дивіться :ref:`slot-typedefs` нижче, щоб дізнатися більше." + +msgid "PyTypeObject Definition" +msgstr "Визначення PyTypeObject" + +msgid "" +"The structure definition for :c:type:`PyTypeObject` can be found in :file:" +"`Include/object.h`. For convenience of reference, this repeats the " +"definition found there:" +msgstr "" +"Визначення структури для :c:type:`PyTypeObject` можна знайти в :file:" +"`Include/object.h`. Для зручності посилання повторює наведене там визначення:" + +msgid "PyObject Slots" +msgstr "Слоти PyObject" + +msgid "" +"The type object structure extends the :c:type:`PyVarObject` structure. The :" +"attr:`ob_size` field is used for dynamic types (created by :func:`type_new`, " +"usually called from a class statement). Note that :c:data:`PyType_Type` (the " +"metatype) initializes :c:member:`~PyTypeObject.tp_itemsize`, which means " +"that its instances (i.e. type objects) *must* have the :attr:`ob_size` field." +msgstr "" +"Структура об’єкта типу розширює структуру :c:type:`PyVarObject`. Поле :attr:" +"`ob_size` використовується для динамічних типів (створених :func:`type_new`, " +"які зазвичай викликаються з оператора класу). Зауважте, що :c:data:" +"`PyType_Type` (метатип) ініціалізує :c:member:`~PyTypeObject.tp_itemsize`, " +"що означає, що його екземпляри (тобто об’єкти типу) *мають* мати поле :attr:" +"`ob_size`." + +msgid "" +"This is the type object's reference count, initialized to ``1`` by the " +"``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type " +"objects `, the type's instances (objects whose :attr:`ob_type` " +"points back to the type) do *not* count as references. But for :ref:" +"`dynamically allocated type objects `, the instances *do* count " +"as references." +msgstr "" +"Це кількість посилань об’єкта типу, ініціалізована макросом " +"``PyObject_HEAD_INIT`` значенням ``1``. Зауважте, що для :ref:`статично " +"виділених об’єктів типу ` екземпляри типу (об’єкти, чий :attr:" +"`ob_type` вказує на тип) *не* вважаються посиланнями. Але для :ref:" +"`динамічно виділених об’єктів типу ` екземпляри *враховуються* " +"як посилання." + +msgid "**Inheritance:**" +msgstr "**Наслідування:**" + +msgid "This field is not inherited by subtypes." +msgstr "Це поле не успадковується підтипами." + +msgid "" +"This is the type's type, in other words its metatype. It is initialized by " +"the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " +"normally be ``&PyType_Type``. However, for dynamically loadable extension " +"modules that must be usable on Windows (at least), the compiler complains " +"that this is not a valid initializer. Therefore, the convention is to pass " +"``NULL`` to the ``PyObject_HEAD_INIT`` macro and to initialize this field " +"explicitly at the start of the module's initialization function, before " +"doing anything else. This is typically done like this::" +msgstr "" +"Це тип типу, іншими словами його метатип. Він ініціалізується аргументом " +"макросу ``PyObject_HEAD_INIT``, і його значення зазвичай має бути " +"``&PyType_Type``. Однак для динамічно завантажуваних модулів розширення, які " +"повинні використовуватися в Windows (принаймні), компілятор скаржиться, що " +"це недійсний ініціалізатор. Таким чином, прийнято передавати ``NULL`` в " +"макрос ``PyObject_HEAD_INIT`` і ініціалізувати це поле явно на початку " +"функції ініціалізації модуля, перш ніж робити будь-що інше. Зазвичай це " +"робиться так:" + +msgid "" +"This should be done before any instances of the type are created. :c:func:" +"`PyType_Ready` checks if :attr:`ob_type` is ``NULL``, and if so, initializes " +"it to the :attr:`ob_type` field of the base class. :c:func:`PyType_Ready` " +"will not change this field if it is non-zero." +msgstr "" +"Це слід зробити до того, як будуть створені будь-які екземпляри типу. :c:" +"func:`PyType_Ready` перевіряє, чи :attr:`ob_type` має значення ``NULL``, і " +"якщо так, ініціалізує його полем :attr:`ob_type` базового класу. :c:func:" +"`PyType_Ready` не змінить це поле, якщо воно відмінне від нуля." + +msgid "This field is inherited by subtypes." +msgstr "Це поле успадковується підтипами." + +msgid "" +"These fields are only present when the macro ``Py_TRACE_REFS`` is defined " +"(see the :option:`configure --with-trace-refs option <--with-trace-refs>`)." +msgstr "" +"Ці поля присутні лише тоді, коли визначено макрос ``Py_TRACE_REFS`` (див. " +"параметр :option:`configure --with-trace-refs <--with-trace-refs>`)." + +msgid "" +"Their initialization to ``NULL`` is taken care of by the " +"``PyObject_HEAD_INIT`` macro. For :ref:`statically allocated objects " +"`, these fields always remain ``NULL``. For :ref:`dynamically " +"allocated objects `, these two fields are used to link the " +"object into a doubly linked list of *all* live objects on the heap." +msgstr "" + +msgid "" +"This could be used for various debugging purposes; currently the only uses " +"are the :func:`sys.getobjects` function and to print the objects that are " +"still alive at the end of a run when the environment variable :envvar:" +"`PYTHONDUMPREFS` is set." +msgstr "" +"Це можна використовувати для різних цілей налагодження; наразі єдиним " +"використанням є функція :func:`sys.getobjects` і друк об’єктів, які " +"залишаються живими наприкінці виконання, коли встановлено змінну середовища :" +"envvar:`PYTHONDUMPREFS`." + +msgid "These fields are not inherited by subtypes." +msgstr "Ці поля не успадковуються підтипами." + +msgid "PyVarObject Slots" +msgstr "Слоти PyVarObject" + +msgid "" +"For :ref:`statically allocated type objects `, this should be " +"initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning." +msgstr "" +"Для :ref:`статично виділених об’єктів типу `, це має бути " +"ініціалізовано нулем. Для :ref:`динамічно виділених об’єктів типу ` це поле має особливе внутрішнє значення." + +msgid "PyTypeObject Slots" +msgstr "Слоти PyTypeObject" + +msgid "" +"Each slot has a section describing inheritance. If :c:func:`PyType_Ready` " +"may set a value when the field is set to ``NULL`` then there will also be a " +"\"Default\" section. (Note that many fields set on :c:type:" +"`PyBaseObject_Type` and :c:type:`PyType_Type` effectively act as defaults.)" +msgstr "" +"Кожен слот має розділ, що описує успадкування. Якщо :c:func:`PyType_Ready` " +"може встановити значення, коли для поля встановлено значення ``NULL``, тоді " +"також буде розділ \"За замовчуванням\". (Зверніть увагу, що багато полів, " +"установлених у :c:type:`PyBaseObject_Type` і :c:type:`PyType_Type`, фактично " +"діють як значення за замовчуванням.)" + +msgid "" +"Pointer to a NUL-terminated string containing the name of the type. For " +"types that are accessible as module globals, the string should be the full " +"module name, followed by a dot, followed by the type name; for built-in " +"types, it should be just the type name. If the module is a submodule of a " +"package, the full package name is part of the full module name. For " +"example, a type named :class:`T` defined in module :mod:`M` in subpackage :" +"mod:`Q` in package :mod:`P` should have the :c:member:`~PyTypeObject." +"tp_name` initializer ``\"P.Q.M.T\"``." +msgstr "" +"Покажчик на рядок із закінченням NUL, що містить назву типу. Для типів, які " +"доступні як глобальні модулі, рядок має бути повним ім’ям модуля, за яким " +"слідує крапка та ім’я типу; для вбудованих типів це має бути лише назва " +"типу. Якщо модуль є підмодулем пакета, повна назва пакета є частиною повної " +"назви модуля. Наприклад, тип із назвою :class:`T`, визначений у модулі :mod:" +"`M` у вкладеному пакеті :mod:`Q` у пакеті :mod:`P`, повинен мати :c:member:" +"`~PyTypeObject.tp_name` ініціалізатор ``\"P.Q.M.T\"``." + +msgid "" +"For :ref:`dynamically allocated type objects `, this should just " +"be the type name, and the module name explicitly stored in the type dict as " +"the value for key ``'__module__'``." +msgstr "" +"Для :ref:`динамічно виділених об’єктів типу `, це має бути лише " +"ім’я типу, а ім’я модуля явно зберігається в dict типу як значення для ключа " +"``'__module__'``." + +msgid "" +"For :ref:`statically allocated type objects `, the *tp_name* " +"field should contain a dot. Everything before the last dot is made " +"accessible as the :attr:`__module__` attribute, and everything after the " +"last dot is made accessible as the :attr:`~definition.__name__` attribute." +msgstr "" +"Для :ref:`статично виділених об’єктів типу ` поле *tp_name* " +"має містити крапку. Усе перед останньою крапкою стає доступним як атрибут :" +"attr:`__module__`, а все після останньої крапки стає доступним як атрибут :" +"attr:`~definition.__name__`." + +msgid "" +"If no dot is present, the entire :c:member:`~PyTypeObject.tp_name` field is " +"made accessible as the :attr:`~definition.__name__` attribute, and the :attr:" +"`__module__` attribute is undefined (unless explicitly set in the " +"dictionary, as explained above). This means your type will be impossible to " +"pickle. Additionally, it will not be listed in module documentations " +"created with pydoc." +msgstr "" +"Якщо крапка відсутня, усе поле :c:member:`~PyTypeObject.tp_name` стає " +"доступним як атрибут :attr:`~definition.__name__`, а атрибут :attr:" +"`__module__` не визначено (якщо це не зазначено явно). набір у словнику, як " +"пояснено вище). Це означає, що ваш тип буде неможливо замаринувати. Крім " +"того, він не буде вказаний у документації модуля, створеній за допомогою " +"pydoc." + +msgid "" +"This field must not be ``NULL``. It is the only required field in :c:func:" +"`PyTypeObject` (other than potentially :c:member:`~PyTypeObject." +"tp_itemsize`)." +msgstr "" +"Це поле не має бути ``NULL``. Це єдине обов’язкове поле в :c:func:" +"`PyTypeObject` (окрім потенційно :c:member:`~PyTypeObject.tp_itemsize`)." + +msgid "" +"These fields allow calculating the size in bytes of instances of the type." +msgstr "Ці поля дозволяють обчислити розмір екземплярів типу в байтах." + +msgid "" +"There are two kinds of types: types with fixed-length instances have a zero :" +"c:member:`~PyTypeObject.tp_itemsize` field, types with variable-length " +"instances have a non-zero :c:member:`~PyTypeObject.tp_itemsize` field. For " +"a type with fixed-length instances, all instances have the same size, given " +"in :c:member:`~PyTypeObject.tp_basicsize`." +msgstr "" +"Існує два види типів: типи з екземплярами фіксованої довжини мають нульове " +"поле :c:member:`~PyTypeObject.tp_itemsize`, типи з екземплярами змінної " +"довжини мають ненульове поле :c:member:`~PyTypeObject.tp_itemsize` поле. Для " +"типу з екземплярами фіксованої довжини всі екземпляри мають однаковий " +"розмір, указаний у :c:member:`~PyTypeObject.tp_basicsize`." + +msgid "" +"For a type with variable-length instances, the instances must have an :attr:" +"`ob_size` field, and the instance size is :c:member:`~PyTypeObject." +"tp_basicsize` plus N times :c:member:`~PyTypeObject.tp_itemsize`, where N is " +"the \"length\" of the object. The value of N is typically stored in the " +"instance's :attr:`ob_size` field. There are exceptions: for example, ints " +"use a negative :attr:`ob_size` to indicate a negative number, and N is " +"``abs(ob_size)`` there. Also, the presence of an :attr:`ob_size` field in " +"the instance layout doesn't mean that the instance structure is variable-" +"length (for example, the structure for the list type has fixed-length " +"instances, yet those instances have a meaningful :attr:`ob_size` field)." +msgstr "" +"Для типу з примірниками змінної довжини примірники повинні мати поле :attr:" +"`ob_size`, а розмір примірника становить :c:member:`~PyTypeObject." +"tp_basicsize` плюс N разів :c:member:`~PyTypeObject. tp_itemsize`, де N — " +"\"довжина\" об’єкта. Значення N зазвичай зберігається в полі екземпляра :" +"attr:`ob_size`. Бувають винятки: наприклад, int використовує від'ємний :attr:" +"`ob_size` для позначення від’ємного числа, а N є ``abs(ob_size)``. Крім " +"того, наявність поля :attr:`ob_size` у макеті екземпляра не означає, що " +"структура екземпляра має змінну довжину (наприклад, структура для типу " +"списку має екземпляри фіксованої довжини, але ці екземпляри мають значуще " +"поле :attr:`ob_size`)." + +msgid "" +"The basic size includes the fields in the instance declared by the macro :c:" +"macro:`PyObject_HEAD` or :c:macro:`PyObject_VAR_HEAD` (whichever is used to " +"declare the instance struct) and this in turn includes the :attr:`_ob_prev` " +"and :attr:`_ob_next` fields if they are present. This means that the only " +"correct way to get an initializer for the :c:member:`~PyTypeObject." +"tp_basicsize` is to use the ``sizeof`` operator on the struct used to " +"declare the instance layout. The basic size does not include the GC header " +"size." +msgstr "" +"Базовий розмір включає поля в екземплярі, оголошеному макросом :c:macro:" +"`PyObject_HEAD` або :c:macro:`PyObject_VAR_HEAD` (залежно від того, який " +"використовується для оголошення структури екземпляра), а це, у свою чергу, " +"включає :attr:`Поля _ob_prev` і :attr:`_ob_next`, якщо вони присутні. Це " +"означає, що єдиний правильний спосіб отримати ініціалізатор для :c:member:" +"`~PyTypeObject.tp_basicsize` — це використання оператора ``sizeof`` у " +"структурі, яка використовується для оголошення макета екземпляра. Базовий " +"розмір не включає розмір заголовка GC." + +msgid "" +"A note about alignment: if the variable items require a particular " +"alignment, this should be taken care of by the value of :c:member:" +"`~PyTypeObject.tp_basicsize`. Example: suppose a type implements an array " +"of ``double``. :c:member:`~PyTypeObject.tp_itemsize` is ``sizeof(double)``. " +"It is the programmer's responsibility that :c:member:`~PyTypeObject." +"tp_basicsize` is a multiple of ``sizeof(double)`` (assuming this is the " +"alignment requirement for ``double``)." +msgstr "" +"Примітка щодо вирівнювання: якщо елементи змінної потребують особливого " +"вирівнювання, про це слід подбати за допомогою значення :c:member:" +"`~PyTypeObject.tp_basicsize`. Приклад: припустимо, що тип реалізує масив " +"``double``. :c:member:`~PyTypeObject.tp_itemsize` — це ``sizeof(double)``. " +"Програміст відповідає за те, щоб :c:member:`~PyTypeObject.tp_basicsize` був " +"кратним ``sizeof(double)`` (припускаючи, що це вимога вирівнювання для " +"``double``)." + +msgid "" +"For any type with variable-length instances, this field must not be ``NULL``." +msgstr "" +"Для будь-якого типу з екземплярами змінної довжини це поле не має бути " +"``NULL``." + +msgid "" +"These fields are inherited separately by subtypes. If the base type has a " +"non-zero :c:member:`~PyTypeObject.tp_itemsize`, it is generally not safe to " +"set :c:member:`~PyTypeObject.tp_itemsize` to a different non-zero value in a " +"subtype (though this depends on the implementation of the base type)." +msgstr "" +"Ці поля успадковуються окремо за підтипами. Якщо базовий тип має ненульовий :" +"c:member:`~PyTypeObject.tp_itemsize`, зазвичай небезпечно встановлювати :c:" +"member:`~PyTypeObject.tp_itemsize` інше ненульове значення в підтипі ( хоча " +"це залежить від реалізації базового типу)." + +msgid "" +"A pointer to the instance destructor function. This function must be " +"defined unless the type guarantees that its instances will never be " +"deallocated (as is the case for the singletons ``None`` and ``Ellipsis``). " +"The function signature is::" +msgstr "" +"Покажчик на функцію деструктора екземпляра. Ця функція має бути визначена, " +"якщо тип не гарантує, що її екземпляри ніколи не будуть звільнені (як у " +"випадку сінгтонів ``None`` і ``Ellipsis``). Сигнатура функції:" + +msgid "" +"The destructor function is called by the :c:func:`Py_DECREF` and :c:func:" +"`Py_XDECREF` macros when the new reference count is zero. At this point, " +"the instance is still in existence, but there are no references to it. The " +"destructor function should free all references which the instance owns, free " +"all memory buffers owned by the instance (using the freeing function " +"corresponding to the allocation function used to allocate the buffer), and " +"call the type's :c:member:`~PyTypeObject.tp_free` function. If the type is " +"not subtypable (doesn't have the :const:`Py_TPFLAGS_BASETYPE` flag bit set), " +"it is permissible to call the object deallocator directly instead of via :c:" +"member:`~PyTypeObject.tp_free`. The object deallocator should be the one " +"used to allocate the instance; this is normally :c:func:`PyObject_Del` if " +"the instance was allocated using :c:func:`PyObject_New` or :c:func:" +"`PyObject_VarNew`, or :c:func:`PyObject_GC_Del` if the instance was " +"allocated using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`." +msgstr "" +"Функція деструктора викликається макросами :c:func:`Py_DECREF` і :c:func:" +"`Py_XDECREF`, коли кількість нових посилань дорівнює нулю. На даний момент " +"екземпляр все ще існує, але на нього немає посилань. Функція деструктора " +"повинна звільнити всі посилання, якими володіє екземпляр, звільнити всі " +"буфери пам’яті, якими володіє екземпляр (за допомогою функції звільнення, що " +"відповідає функції розподілу, що використовується для виділення буфера), і " +"викликати тип :c:member:`~PyTypeObject.tp_free`. Якщо тип не можна " +"підтипувати (не має встановленого біта прапора :const:" +"`Py_TPFLAGS_BASETYPE`), дозволено викликати засіб усунення об’єктів " +"безпосередньо, а не через :c:member:`~PyTypeObject.tp_free`. Розділювач " +"об’єктів має бути тим, який використовується для виділення примірника; " +"зазвичай це :c:func:`PyObject_Del`, якщо екземпляр було виділено за " +"допомогою :c:func:`PyObject_New` або :c:func:`PyObject_VarNew`, або :c:func:" +"`PyObject_GC_Del`, якщо екземпляр було виділено за допомогою :c:func:" +"`PyObject_GC_New` або :c:func:`PyObject_GC_NewVar`." + +msgid "" +"If the type supports garbage collection (has the :const:`Py_TPFLAGS_HAVE_GC` " +"flag bit set), the destructor should call :c:func:`PyObject_GC_UnTrack` " +"before clearing any member fields." +msgstr "" +"Якщо тип підтримує збирання сміття (має встановлений біт прапора :const:" +"`Py_TPFLAGS_HAVE_GC`), деструктор повинен викликати :c:func:" +"`PyObject_GC_UnTrack` перед очищенням будь-яких полів-членів." + +msgid "" +"Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the " +"deallocator should decrement the reference count for its type object after " +"calling the type deallocator. In order to avoid dangling pointers, the " +"recommended way to achieve this is:" +msgstr "" +"Нарешті, якщо тип виділено купу (:const:`Py_TPFLAGS_HEAPTYPE`), засіб " +"розповсюдження має зменшити кількість посилань для свого об’єкта типу після " +"виклику засобу розповсюдження типу. Щоб уникнути звисаючих покажчиків, " +"рекомендований спосіб досягти цього:" + +msgid "" +"An optional offset to a per-instance function that implements calling the " +"object using the :ref:`vectorcall protocol `, a more efficient " +"alternative of the simpler :c:member:`~PyTypeObject.tp_call`." +msgstr "" +"Необов’язкове зміщення функції для кожного екземпляра, яка реалізує виклик " +"об’єкта за допомогою :ref:`vectorcall протоколу `, більш " +"ефективної альтернативи простішого :c:member:`~PyTypeObject.tp_call`." + +msgid "" +"This field is only used if the flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` is " +"set. If so, this must be a positive integer containing the offset in the " +"instance of a :c:type:`vectorcallfunc` pointer." +msgstr "" +"Це поле використовується, лише якщо встановлено прапорець :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL`. Якщо так, це має бути додатне ціле число, що " +"містить зміщення в екземплярі покажчика :c:type:`vectorcallfunc`." + +msgid "" +"The *vectorcallfunc* pointer may be ``NULL``, in which case the instance " +"behaves as if :const:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the " +"instance falls back to :c:member:`~PyTypeObject.tp_call`." +msgstr "" +"Покажчик *vectorcallfunc* може бути ``NULL``, у цьому випадку примірник " +"поводиться так, ніби :const:`Py_TPFLAGS_HAVE_VECTORCALL` не було " +"встановлено: виклик примірника повертається до :c:member:`~PyTypeObject." +"tp_call`." + +msgid "" +"Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:" +"`~PyTypeObject.tp_call` and make sure its behaviour is consistent with the " +"*vectorcallfunc* function. This can be done by setting *tp_call* to :c:func:" +"`PyVectorcall_Call`." +msgstr "" +"Будь-який клас, який встановлює ``Py_TPFLAGS_HAVE_VECTORCALL``, також " +"повинен встановити :c:member:`~PyTypeObject.tp_call` і переконатися, що його " +"поведінка узгоджується з функцією *vectorcallfunc*. Це можна зробити, " +"встановивши *tp_call* на :c:func:`PyVectorcall_Call`." + +msgid "" +"It is not recommended for :ref:`mutable heap types ` to " +"implement the vectorcall protocol. When a user sets :attr:`__call__` in " +"Python code, only *tp_call* is updated, likely making it inconsistent with " +"the vectorcall function." +msgstr "" + +msgid "" +"Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was " +"used for printing to a file. In Python 3.0 to 3.7, it was unused." +msgstr "" +"До версії 3.8 цей слот мав назву ``tp_print``. У Python 2.x він " +"використовувався для друку у файл. У Python від 3.0 до 3.7 він не " +"використовувався." + +msgid "" +"This field is always inherited. However, the :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then " +"the subclass won't use :ref:`vectorcall `, except when :c:func:" +"`PyVectorcall_Call` is explicitly called. This is in particular the case for " +"types without the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag set (including " +"subclasses defined in Python)." +msgstr "" + +msgid "An optional pointer to the get-attribute-string function." +msgstr "Додатковий покажчик на функцію get-attribute-string." + +msgid "" +"This field is deprecated. When it is defined, it should point to a function " +"that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " +"but taking a C string instead of a Python string object to give the " +"attribute name." +msgstr "" +"Це поле застаріло. Коли його визначено, він має вказувати на функцію, яка " +"діє так само, як функція :c:member:`~PyTypeObject.tp_getattro`, але " +"використовує рядок C замість рядкового об’єкта Python, щоб надати назву " +"атрибуту." + +msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`" +msgstr "Група: :attr:`tp_getattr`, :attr:`tp_getattro`" + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " +"and :c:member:`~PyTypeObject.tp_getattro` from its base type when the " +"subtype's :c:member:`~PyTypeObject.tp_getattr` and :c:member:`~PyTypeObject." +"tp_getattro` are both ``NULL``." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject." +"tp_getattro`: підтип успадковує і :c:member:`~PyTypeObject.tp_getattr`, і :c:" +"member:`~PyTypeObject.tp_getattro` від своєї основи типу, коли підтипи :c:" +"member:`~PyTypeObject.tp_getattr` і :c:member:`~PyTypeObject.tp_getattro` " +"мають значення ``NULL``." + +msgid "" +"An optional pointer to the function for setting and deleting attributes." +msgstr "" +"Додатковий вказівник на функцію для налаштування та видалення атрибутів." + +msgid "" +"This field is deprecated. When it is defined, it should point to a function " +"that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " +"but taking a C string instead of a Python string object to give the " +"attribute name." +msgstr "" +"Це поле застаріло. Коли його визначено, він має вказувати на функцію, яка " +"діє так само, як функція :c:member:`~PyTypeObject.tp_setattro`, але " +"використовує рядок C замість рядкового об’єкта Python, щоб надати назву " +"атрибуту." + +msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`" +msgstr "Група: :attr:`tp_setattr`, :attr:`tp_setattro`" + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " +"and :c:member:`~PyTypeObject.tp_setattro` from its base type when the " +"subtype's :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject." +"tp_setattro` are both ``NULL``." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject." +"tp_setattro`: підтип успадковує і :c:member:`~PyTypeObject.tp_setattr`, і :c:" +"member:`~PyTypeObject.tp_setattro` від своєї основи типу, коли підтипи :c:" +"member:`~PyTypeObject.tp_setattr` і :c:member:`~PyTypeObject.tp_setattro` " +"мають значення ``NULL``." + +msgid "" +"Pointer to an additional structure that contains fields relevant only to " +"objects which implement :term:`awaitable` and :term:`asynchronous iterator` " +"protocols at the C-level. See :ref:`async-structs` for details." +msgstr "" +"Покажчик на додаткову структуру, яка містить поля, що стосуються лише " +"об’єктів, які реалізують протоколи :term:`awaitable` і :term:`asynchronous " +"iterator` на рівні C. Дивіться :ref:`async-structs` для деталей." + +msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." +msgstr "Раніше відомий як ``tp_compare`` і ``tp_reserved``." + +msgid "" +"The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " +"contained fields are inherited individually." +msgstr "" +"Поле :c:member:`~PyTypeObject.tp_as_async` не успадковується, але поля, що " +"містяться, успадковуються окремо." + +msgid "" +"An optional pointer to a function that implements the built-in function :" +"func:`repr`." +msgstr "" +"Додатковий покажчик на функцію, яка реалізує вбудовану функцію :func:`repr`." + +msgid "The signature is the same as for :c:func:`PyObject_Repr`::" +msgstr "Підпис такий самий, як і для :c:func:`PyObject_Repr`::" + +msgid "" +"The function must return a string or a Unicode object. Ideally, this " +"function should return a string that, when passed to :func:`eval`, given a " +"suitable environment, returns an object with the same value. If this is not " +"feasible, it should return a string starting with ``'<'`` and ending with " +"``'>'`` from which both the type and the value of the object can be deduced." +msgstr "" +"Функція має повертати рядок або об’єкт Unicode. В ідеалі ця функція має " +"повертати рядок, який, переданий до :func:`eval`, за відповідного середовища " +"повертає об’єкт із тим самим значенням. Якщо це неможливо, він повинен " +"повертати рядок, що починається з ``'<'`` та закінчується на ``'>'``, з " +"якого можна вивести як тип, так і значення об’єкта." + +msgid "**Default:**" +msgstr "**За замовчуванням:**" + +msgid "" +"When this field is not set, a string of the form ``<%s object at %p>`` is " +"returned, where ``%s`` is replaced by the type name, and ``%p`` by the " +"object's memory address." +msgstr "" +"Якщо це поле не встановлено, повертається рядок у формі ``<%s object at " +"%p>``, де ``%s`` замінюється назвою типу, а ``%p`` адресою пам'яті об'єкта." + +msgid "" +"Pointer to an additional structure that contains fields relevant only to " +"objects which implement the number protocol. These fields are documented " +"in :ref:`number-structs`." +msgstr "" +"Покажчик на додаткову структуру, яка містить поля, що стосуються лише " +"об’єктів, які реалізують протокол номерів. Ці поля задокументовані в :ref:" +"`number-structs`." + +msgid "" +"The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " +"contained fields are inherited individually." +msgstr "" +"Поле :c:member:`~PyTypeObject.tp_as_number` не успадковується, але поля, що " +"містяться, успадковуються окремо." + +msgid "" +"Pointer to an additional structure that contains fields relevant only to " +"objects which implement the sequence protocol. These fields are documented " +"in :ref:`sequence-structs`." +msgstr "" +"Покажчик на додаткову структуру, яка містить поля, що стосуються лише " +"об’єктів, які реалізують протокол послідовності. Ці поля задокументовані в :" +"ref:`sequence-structs`." + +msgid "" +"The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " +"contained fields are inherited individually." +msgstr "" +"Поле :c:member:`~PyTypeObject.tp_as_sequence` не успадковується, але поля, " +"що містяться, успадковуються окремо." + +msgid "" +"Pointer to an additional structure that contains fields relevant only to " +"objects which implement the mapping protocol. These fields are documented " +"in :ref:`mapping-structs`." +msgstr "" +"Покажчик на додаткову структуру, яка містить поля, що стосуються лише " +"об’єктів, які реалізують протокол відображення. Ці поля задокументовані в :" +"ref:`mapping-structs`." + +msgid "" +"The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " +"contained fields are inherited individually." +msgstr "" +"Поле :c:member:`~PyTypeObject.tp_as_mapping` не успадковується, але поля, що " +"містяться, успадковуються окремо." + +msgid "" +"An optional pointer to a function that implements the built-in function :" +"func:`hash`." +msgstr "" +"Додатковий покажчик на функцію, яка реалізує вбудовану функцію :func:`hash`." + +msgid "The signature is the same as for :c:func:`PyObject_Hash`::" +msgstr "Підпис такий самий, як і для :c:func:`PyObject_Hash`::" + +msgid "" +"The value ``-1`` should not be returned as a normal return value; when an " +"error occurs during the computation of the hash value, the function should " +"set an exception and return ``-1``." +msgstr "" +"Значення ``-1`` не повинно повертатися як звичайне значення, що " +"повертається; якщо під час обчислення хеш-значення виникає помилка, функція " +"повинна встановити виняток і повернути ``-1``." + +msgid "" +"When this field is not set (*and* :attr:`tp_richcompare` is not set), an " +"attempt to take the hash of the object raises :exc:`TypeError`. This is the " +"same as setting it to :c:func:`PyObject_HashNotImplemented`." +msgstr "" +"Якщо це поле не встановлено (*і* :attr:`tp_richcompare` не встановлено), " +"спроба отримати хеш об’єкта викликає :exc:`TypeError`. Це те саме, що " +"встановити значення :c:func:`PyObject_HashNotImplemented`." + +msgid "" +"This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to " +"block inheritance of the hash method from a parent type. This is interpreted " +"as the equivalent of ``__hash__ = None`` at the Python level, causing " +"``isinstance(o, collections.Hashable)`` to correctly return ``False``. Note " +"that the converse is also true - setting ``__hash__ = None`` on a class at " +"the Python level will result in the ``tp_hash`` slot being set to :c:func:" +"`PyObject_HashNotImplemented`." +msgstr "" +"У цьому полі можна явно встановити значення :c:func:" +"`PyObject_HashNotImplemented`, щоб заблокувати успадкування геш-методу від " +"батьківського типу. Це інтерпретується як еквівалент ``__hash__ = None`` на " +"рівні Python, змушуючи ``isinstance(o, collections.Hashable)`` правильно " +"повертати ``False``. Зауважте, що зворотне також вірно – встановлення " +"``__hash__ = None`` для класу на рівні Python призведе до того, що слот " +"``tp_hash`` буде встановлено на :c:func:`PyObject_HashNotImplemented`." + +msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`" +msgstr "Група: :attr:`tp_hash`, :attr:`tp_richcompare`" + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." +"tp_richcompare` and :c:member:`~PyTypeObject.tp_hash`, when the subtype's :c:" +"member:`~PyTypeObject.tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` " +"are both ``NULL``." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject." +"tp_richcompare`: підтип успадковує як :c:member:`~PyTypeObject." +"tp_richcompare`, так і :c:member:`~PyTypeObject.tp_hash`, коли підтипи :c:" +"member:`~PyTypeObject.tp_richcompare` і :c:member:`~PyTypeObject.tp_hash` " +"мають значення ``NULL``." + +msgid "" +"An optional pointer to a function that implements calling the object. This " +"should be ``NULL`` if the object is not callable. The signature is the same " +"as for :c:func:`PyObject_Call`::" +msgstr "" +"Додатковий покажчик на функцію, яка реалізує виклик об’єкта. Це має бути " +"``NULL``, якщо об’єкт не можна викликати. Підпис такий самий, як і для :c:" +"func:`PyObject_Call`::" + +msgid "" +"An optional pointer to a function that implements the built-in operation :" +"func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " +"the constructor for that type. This constructor calls :c:func:" +"`PyObject_Str` to do the actual work, and :c:func:`PyObject_Str` will call " +"this handler.)" +msgstr "" +"Додатковий покажчик на функцію, яка реалізує вбудовану операцію :func:`str`. " +"(Зауважте, що :class:`str` тепер є типом, а :func:`str` викликає конструктор " +"для цього типу. Цей конструктор викликає :c:func:`PyObject_Str` для " +"виконання фактичної роботи, а :c:func:`PyObject_Str` викличе цей обробник.)" + +msgid "The signature is the same as for :c:func:`PyObject_Str`::" +msgstr "Підпис такий самий, як і для :c:func:`PyObject_Str`::" + +msgid "" +"The function must return a string or a Unicode object. It should be a " +"\"friendly\" string representation of the object, as this is the " +"representation that will be used, among other things, by the :func:`print` " +"function." +msgstr "" +"Функція має повертати рядок або об’єкт Unicode. Це має бути \"дружнє\" " +"рядкове представлення об’єкта, оскільки це представлення буде " +"використовуватися, серед іншого, функцією :func:`print`." + +msgid "" +"When this field is not set, :c:func:`PyObject_Repr` is called to return a " +"string representation." +msgstr "" +"Якщо це поле не встановлено, :c:func:`PyObject_Repr` викликається для " +"повернення рядкового представлення." + +msgid "An optional pointer to the get-attribute function." +msgstr "Додатковий покажчик на функцію get-attribute." + +msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" +msgstr "Підпис такий самий, як і для :c:func:`PyObject_GetAttr`::" + +msgid "" +"It is usually convenient to set this field to :c:func:" +"`PyObject_GenericGetAttr`, which implements the normal way of looking for " +"object attributes." +msgstr "" +"Зазвичай зручно встановити для цього поля значення :c:func:" +"`PyObject_GenericGetAttr`, що реалізує звичайний спосіб пошуку атрибутів " +"об’єкта." + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " +"and :c:member:`~PyTypeObject.tp_getattro` from its base type when the " +"subtype's :c:member:`~PyTypeObject.tp_getattr` and :c:member:`~PyTypeObject." +"tp_getattro` are both ``NULL``." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject." +"tp_getattr`: підтип успадковує і :c:member:`~PyTypeObject.tp_getattr`, і :c:" +"member:`~PyTypeObject.tp_getattro` від своєї основи типу, коли підтипи :c:" +"member:`~PyTypeObject.tp_getattr` і :c:member:`~PyTypeObject.tp_getattro` " +"мають значення ``NULL``." + +msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." +msgstr "" +":c:type:`PyBaseObject_Type` використовує :c:func:`PyObject_GenericGetAttr`." + +msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" +msgstr "Підпис такий самий, як і для :c:func:`PyObject_SetAttr`::" + +msgid "" +"In addition, setting *value* to ``NULL`` to delete an attribute must be " +"supported. It is usually convenient to set this field to :c:func:" +"`PyObject_GenericSetAttr`, which implements the normal way of setting object " +"attributes." +msgstr "" +"Крім того, для видалення атрибута має підтримуватися встановлення *значення* " +"на ``NULL``. Зазвичай зручно встановити для цього поля значення :c:func:" +"`PyObject_GenericSetAttr`, що реалізує звичайний спосіб встановлення " +"атрибутів об’єкта." + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " +"and :c:member:`~PyTypeObject.tp_setattro` from its base type when the " +"subtype's :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject." +"tp_setattro` are both ``NULL``." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject." +"tp_setattr`: підтип успадковує і :c:member:`~PyTypeObject.tp_setattr`, і :c:" +"member:`~PyTypeObject.tp_setattro` від своєї основи типу, коли підтипи :c:" +"member:`~PyTypeObject.tp_setattr` і :c:member:`~PyTypeObject.tp_setattro` " +"мають значення ``NULL``." + +msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." +msgstr "" +":c:type:`PyBaseObject_Type` використовує :c:func:`PyObject_GenericSetAttr`." + +msgid "" +"Pointer to an additional structure that contains fields relevant only to " +"objects which implement the buffer interface. These fields are documented " +"in :ref:`buffer-structs`." +msgstr "" +"Покажчик на додаткову структуру, яка містить поля, що стосуються лише " +"об’єктів, які реалізують інтерфейс буфера. Ці поля задокументовані в :ref:" +"`buffer-structs`." + +msgid "" +"The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " +"contained fields are inherited individually." +msgstr "" +"Поле :c:member:`~PyTypeObject.tp_as_buffer` не успадковується, але поля, що " +"містяться, успадковуються окремо." + +msgid "" +"This field is a bit mask of various flags. Some flags indicate variant " +"semantics for certain situations; others are used to indicate that certain " +"fields in the type object (or in the extension structures referenced via :c:" +"member:`~PyTypeObject.tp_as_number`, :c:member:`~PyTypeObject." +"tp_as_sequence`, :c:member:`~PyTypeObject.tp_as_mapping`, and :c:member:" +"`~PyTypeObject.tp_as_buffer`) that were historically not always present are " +"valid; if such a flag bit is clear, the type fields it guards must not be " +"accessed and must be considered to have a zero or ``NULL`` value instead." +msgstr "" +"Це поле є бітовою маскою різних прапорів. Деякі прапорці вказують на " +"варіантну семантику для певних ситуацій; інші використовуються для вказівки, " +"що певні поля в об’єкті типу (або в структурах розширення, на які " +"посилаються через :c:member:`~PyTypeObject.tp_as_number`, :c:member:" +"`~PyTypeObject.tp_as_sequence`, :c:member:`~PyTypeObject.tp_as_mapping` і :c:" +"member:`~PyTypeObject.tp_as_buffer`), які історично не завжди були присутні, " +"є дійсними; якщо такий біт прапора очищений, до полів типу, які він " +"охороняє, не можна звертатися, і вони повинні вважатися такими, що мають " +"нульове або ``NULL`` значення." + +msgid "" +"Inheritance of this field is complicated. Most flag bits are inherited " +"individually, i.e. if the base type has a flag bit set, the subtype inherits " +"this flag bit. The flag bits that pertain to extension structures are " +"strictly inherited if the extension structure is inherited, i.e. the base " +"type's value of the flag bit is copied into the subtype together with a " +"pointer to the extension structure. The :const:`Py_TPFLAGS_HAVE_GC` flag " +"bit is inherited together with the :c:member:`~PyTypeObject.tp_traverse` " +"and :c:member:`~PyTypeObject.tp_clear` fields, i.e. if the :const:" +"`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and the :c:member:" +"`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject.tp_clear` fields in " +"the subtype exist and have ``NULL`` values." +msgstr "" +"Успадкування цього поля складне. Більшість бітів прапора успадковуються " +"індивідуально, тобто якщо базовий тип має встановлений біт прапора, підтип " +"успадковує цей біт прапора. Біти прапорів, які відносяться до структур " +"розширення, суворо успадковуються, якщо успадковується структура розширення, " +"тобто значення біта прапора базового типу копіюється в підтип разом із " +"покажчиком на структуру розширення. Біт прапора :const:`Py_TPFLAGS_HAVE_GC` " +"успадковується разом із полями :c:member:`~PyTypeObject.tp_traverse` і :c:" +"member:`~PyTypeObject.tp_clear`, тобто якщо біт прапора :const:" +"`Py_TPFLAGS_HAVE_GC` є чистим у підтипі, а поля :c:member:`~PyTypeObject." +"tp_traverse` і :c:member:`~PyTypeObject.tp_clear` у підтипі існують і мають " +"значення ``NULL``." + +msgid "" +":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " +"Py_TPFLAGS_BASETYPE``." +msgstr "" +":c:type:`PyBaseObject_Type` використовує ``Py_TPFLAGS_DEFAULT | " +"Py_TPFLAGS_BASETYPE``." + +msgid "**Bit Masks:**" +msgstr "**Бітові маски:**" + +msgid "" +"The following bit masks are currently defined; these can be ORed together " +"using the ``|`` operator to form the value of the :c:member:`~PyTypeObject." +"tp_flags` field. The macro :c:func:`PyType_HasFeature` takes a type and a " +"flags value, *tp* and *f*, and checks whether ``tp->tp_flags & f`` is non-" +"zero." +msgstr "" +"Наразі визначено такі бітові маски; їх можна об’єднати АБО за допомогою " +"оператора ``|``, щоб сформувати значення поля :c:member:`~PyTypeObject." +"tp_flags`. Макрос :c:func:`PyType_HasFeature` приймає тип і значення " +"прапорців, *tp* і *f*, і перевіряє, чи ``tp->tp_flags & f`` є відмінним від " +"нуля." + +msgid "" +"This bit is set when the type object itself is allocated on the heap, for " +"example, types created dynamically using :c:func:`PyType_FromSpec`. In this " +"case, the :attr:`ob_type` field of its instances is considered a reference " +"to the type, and the type object is INCREF'ed when a new instance is " +"created, and DECREF'ed when an instance is destroyed (this does not apply to " +"instances of subtypes; only the type referenced by the instance's ob_type " +"gets INCREF'ed or DECREF'ed)." +msgstr "" +"Цей біт встановлюється, коли сам об’єкт типу розміщується в купі, наприклад, " +"типи, створені динамічно за допомогою :c:func:`PyType_FromSpec`. У цьому " +"випадку поле :attr:`ob_type` його екземплярів вважається посиланням на тип, " +"а для об’єкта типу INCREF під час створення нового екземпляра та DECREF під " +"час знищення екземпляра (це робить не застосовуються до екземплярів " +"підтипів; лише тип, на який посилається ob_type екземпляра, отримує INCREF " +"або DECREF)." + +msgid "???" +msgstr "???" + +msgid "" +"This bit is set when the type can be used as the base type of another type. " +"If this bit is clear, the type cannot be subtyped (similar to a \"final\" " +"class in Java)." +msgstr "" +"Цей біт встановлюється, коли тип можна використовувати як базовий тип іншого " +"типу. Якщо цей біт ясний, тип не може бути підтиповим (подібно до " +"\"фінального\" класу в Java)." + +msgid "" +"This bit is set when the type object has been fully initialized by :c:func:" +"`PyType_Ready`." +msgstr "" +"Цей біт встановлюється, коли об’єкт типу повністю ініціалізовано :c:func:" +"`PyType_Ready`." + +msgid "" +"This bit is set while :c:func:`PyType_Ready` is in the process of " +"initializing the type object." +msgstr "" +"Цей біт встановлюється, коли :c:func:`PyType_Ready` знаходиться в процесі " +"ініціалізації об’єкта типу." + +msgid "" +"This bit is set when the object supports garbage collection. If this bit is " +"set, instances must be created using :c:func:`PyObject_GC_New` and destroyed " +"using :c:func:`PyObject_GC_Del`. More information in section :ref:" +"`supporting-cycle-detection`. This bit also implies that the GC-related " +"fields :c:member:`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject." +"tp_clear` are present in the type object." +msgstr "" +"Цей біт встановлюється, якщо об’єкт підтримує збирання сміття. Якщо цей біт " +"установлено, екземпляри мають бути створені за допомогою :c:func:" +"`PyObject_GC_New` і знищені за допомогою :c:func:`PyObject_GC_Del`. Більше " +"інформації в розділі :ref:`supporting-cycle-detection`. Цей біт також " +"означає, що пов’язані з GC поля :c:member:`~PyTypeObject.tp_traverse` і :c:" +"member:`~PyTypeObject.tp_clear` присутні в об’єкті типу." + +msgid "" +"Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" +msgstr "" +"Група: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" + +msgid "" +"The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :" +"attr:`tp_traverse` and :attr:`tp_clear` fields, i.e. if the :const:" +"`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and the :attr:" +"`tp_traverse` and :attr:`tp_clear` fields in the subtype exist and have " +"``NULL`` values." +msgstr "" +"Біт прапора :const:`Py_TPFLAGS_HAVE_GC` успадковується разом із полями :attr:" +"`tp_traverse` і :attr:`tp_clear`, тобто якщо біт прапора :const:" +"`Py_TPFLAGS_HAVE_GC` очищений у підтипі, а Поля :attr:`tp_traverse` і :attr:" +"`tp_clear` у підтипі існують і мають значення ``NULL``." + +msgid "" +"This is a bitmask of all the bits that pertain to the existence of certain " +"fields in the type object and its extension structures. Currently, it " +"includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." +msgstr "" +"Це бітова маска всіх бітів, які стосуються існування певних полів в об’єкті " +"типу та його структурах розширення. Наразі він містить такі біти: :const:" +"`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." + +msgid "This bit indicates that objects behave like unbound methods." +msgstr "Цей біт вказує, що об’єкти поводяться як незв’язані методи." + +msgid "If this flag is set for ``type(meth)``, then:" +msgstr "Якщо цей прапор встановлено для ``type(meth)``, тоді:" + +msgid "" +"``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " +"equivalent to ``meth(obj, *args, **kwds)``." +msgstr "" +"``meth.__get__(obj, cls)(*args, **kwds)`` (з ``obj`` не None) має бути " +"еквівалентним ``meth(obj, *args, **kwds)``." + +msgid "" +"``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " +"``meth(*args, **kwds)``." +msgstr "" +"``meth.__get__(None, cls)(*args, **kwds)`` має бути еквівалентним " +"``meth(*args, **kwds)``." + +msgid "" +"This flag enables an optimization for typical method calls like ``obj." +"meth()``: it avoids creating a temporary \"bound method\" object for ``obj." +"meth``." +msgstr "" +"Цей прапорець дає змогу оптимізувати типові виклики методів, як-от ``obj." +"meth()``: він уникає створення тимчасового об’єкта \"зв’язаного методу\" для " +"``obj.meth``." + +msgid "" +"This flag is never inherited by types without the :const:" +"`Py_TPFLAGS_IMMUTABLETYPE` flag set. For extension types, it is inherited " +"whenever :c:member:`~PyTypeObject.tp_descr_get` is inherited." +msgstr "" + +msgid "" +"These flags are used by functions such as :c:func:`PyLong_Check` to quickly " +"determine if a type is a subclass of a built-in type; such specific checks " +"are faster than a generic check, like :c:func:`PyObject_IsInstance`. Custom " +"types that inherit from built-ins should have their :c:member:`~PyTypeObject." +"tp_flags` set appropriately, or the code that interacts with such types will " +"behave differently depending on what kind of check is used." +msgstr "" +"Ці позначки використовуються такими функціями, як :c:func:`PyLong_Check`, " +"щоб швидко визначити, чи є тип підкласом вбудованого типу; такі спеціальні " +"перевірки є швидшими, ніж загальні перевірки, наприклад :c:func:" +"`PyObject_IsInstance`. Користувальницькі типи, які успадковуються від " +"вбудованих, повинні мати належним чином встановлені :c:member:`~PyTypeObject." +"tp_flags`, інакше код, який взаємодіє з такими типами, поводитиметься по-" +"різному залежно від типу перевірки, що використовується." + +msgid "" +"This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " +"present in the type structure." +msgstr "" +"Цей біт встановлюється, коли слот :c:member:`~PyTypeObject.tp_finalize` " +"присутній у структурі типу." + +msgid "" +"This flag isn't necessary anymore, as the interpreter assumes the :c:member:" +"`~PyTypeObject.tp_finalize` slot is always present in the type structure." +msgstr "" +"Цей прапорець більше не потрібен, оскільки інтерпретатор припускає, що слот :" +"c:member:`~PyTypeObject.tp_finalize` завжди присутній у структурі типу." + +msgid "" +"This bit is set when the class implements the :ref:`vectorcall protocol " +"`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for " +"details." +msgstr "" +"Цей біт встановлюється, коли клас реалізує :ref:`vectorcall протокол " +"`. Перегляньте :c:member:`~PyTypeObject.tp_vectorcall_offset` " +"для деталей." + +msgid "" +"This bit is inherited for types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` " +"flag set, if :c:member:`~PyTypeObject.tp_call` is also inherited." +msgstr "" + +msgid "" +"This bit is set for type objects that are immutable: type attributes cannot " +"be set nor deleted." +msgstr "" +"Цей біт встановлено для об’єктів типу, які є незмінними: атрибути типу не " +"можна ні встановити, ні видалити." + +msgid "" +":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types " +"`." +msgstr "" +":c:func:`PyType_Ready` автоматично застосовує цей прапорець до :ref:" +"`статичних типів `." + +msgid "This flag is not inherited." +msgstr "Цей прапорець не успадковується." + +msgid "" +"Disallow creating instances of the type: set :c:member:`~PyTypeObject." +"tp_new` to NULL and don't create the ``__new__`` key in the type dictionary." +msgstr "" +"Заборонити створення екземплярів типу: установіть для :c:member:" +"`~PyTypeObject.tp_new` значення NULL і не створюйте ключ ``__new__`` у " +"словнику типу." + +msgid "" +"The flag must be set before creating the type, not after. For example, it " +"must be set before :c:func:`PyType_Ready` is called on the type." +msgstr "" +"Прапор має бути встановлений до створення типу, а не після. Наприклад, його " +"потрібно встановити перед викликом :c:func:`PyType_Ready` для типу." + +msgid "" +"The flag is set automatically on :ref:`static types ` if :c:" +"member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:" +"member:`~PyTypeObject.tp_new` is NULL." +msgstr "" +"Прапорець автоматично встановлюється для :ref:`статичних типів `, якщо :c:member:`~PyTypeObject.tp_base` має значення NULL або " +"``&PyBaseObject_Type`` і :c:member:`~PyTypeObject.tp_new` має значення NULL." + +msgid "" +"This flag is not inherited. However, subclasses will not be instantiable " +"unless they provide a non-NULL :c:member:`~PyTypeObject.tp_new` (which is " +"only possible via the C API)." +msgstr "" + +msgid "" +"To disallow instantiating a class directly but allow instantiating its " +"subclasses (e.g. for an :term:`abstract base class`), do not use this flag. " +"Instead, make :c:member:`~PyTypeObject.tp_new` only succeed for subclasses." +msgstr "" + +msgid "" +"This bit indicates that instances of the class may match mapping patterns " +"when used as the subject of a :keyword:`match` block. It is automatically " +"set when registering or subclassing :class:`collections.abc.Mapping`, and " +"unset when registering :class:`collections.abc.Sequence`." +msgstr "" +"Цей біт вказує на те, що екземпляри класу можуть відповідати шаблонам " +"відображення, якщо використовуються як суб’єкт блоку :keyword:`match`. Він " +"автоматично встановлюється під час реєстрації або підкласу :class:" +"`collections.abc.Mapping` і скасовується під час реєстрації :class:" +"`collections.abc.Sequence`." + +msgid "" +":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually " +"exclusive; it is an error to enable both flags simultaneously." +msgstr "" +":const:`Py_TPFLAGS_MAPPING` і :const:`Py_TPFLAGS_SEQUENCE` є " +"взаємовиключними; одночасне ввімкнення обох прапорів є помилкою." + +msgid "" +"This flag is inherited by types that do not already set :const:" +"`Py_TPFLAGS_SEQUENCE`." +msgstr "" +"Цей прапорець успадковується типами, які ще не встановили :const:" +"`Py_TPFLAGS_SEQUENCE`." + +msgid ":pep:`634` -- Structural Pattern Matching: Specification" +msgstr ":pep:`634` -- Структурне зіставлення шаблонів: Специфікація" + +msgid "" +"This bit indicates that instances of the class may match sequence patterns " +"when used as the subject of a :keyword:`match` block. It is automatically " +"set when registering or subclassing :class:`collections.abc.Sequence`, and " +"unset when registering :class:`collections.abc.Mapping`." +msgstr "" +"Цей біт вказує на те, що екземпляри класу можуть відповідати шаблонам " +"послідовності, коли використовуються як суб’єкт блоку :keyword:`match`. Він " +"автоматично встановлюється під час реєстрації або підкласу :class:" +"`collections.abc.Sequence` і скасовується під час реєстрації :class:" +"`collections.abc.Mapping`." + +msgid "" +"This flag is inherited by types that do not already set :const:" +"`Py_TPFLAGS_MAPPING`." +msgstr "" +"Цей прапорець успадковується типами, які ще не встановили :const:" +"`Py_TPFLAGS_MAPPING`." + +msgid "" +"An optional pointer to a NUL-terminated C string giving the docstring for " +"this type object. This is exposed as the :attr:`__doc__` attribute on the " +"type and instances of the type." +msgstr "" +"Додатковий вказівник на рядок C із закінченням NUL, що дає рядок " +"документації для об’єкта цього типу. Це відображається як атрибут :attr:" +"`__doc__` для типу та екземплярів типу." + +msgid "This field is *not* inherited by subtypes." +msgstr "Це поле *не* успадковується підтипами." + +msgid "" +"An optional pointer to a traversal function for the garbage collector. This " +"is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " +"signature is::" +msgstr "" +"Додатковий покажчик на функцію обходу для збирача сміття. Це " +"використовується, лише якщо встановлено біт прапора :const:" +"`Py_TPFLAGS_HAVE_GC`. Підпис::" + +msgid "" +"More information about Python's garbage collection scheme can be found in " +"section :ref:`supporting-cycle-detection`." +msgstr "" +"Більше інформації про схему збирання сміття Python можна знайти в розділі :" +"ref:`supporting-cycle-detection`." + +msgid "" +"The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " +"collector to detect reference cycles. A typical implementation of a :c:" +"member:`~PyTypeObject.tp_traverse` function simply calls :c:func:`Py_VISIT` " +"on each of the instance's members that are Python objects that the instance " +"owns. For example, this is function :c:func:`local_traverse` from the :mod:" +"`_thread` extension module::" +msgstr "" +"Покажчик :c:member:`~PyTypeObject.tp_traverse` використовується збирачем " +"сміття для виявлення опорних циклів. Типова реалізація функції :c:member:" +"`~PyTypeObject.tp_traverse` просто викликає :c:func:`Py_VISIT` для кожного з " +"членів примірника, які є об’єктами Python, якими володіє примірник. " +"Наприклад, це функція :c:func:`local_traverse` з модуля розширення :mod:" +"`_thread`::" + +msgid "" +"Note that :c:func:`Py_VISIT` is called only on those members that can " +"participate in reference cycles. Although there is also a ``self->key`` " +"member, it can only be ``NULL`` or a Python string and therefore cannot be " +"part of a reference cycle." +msgstr "" +"Зауважте, що :c:func:`Py_VISIT` викликається лише для тих членів, які можуть " +"брати участь у еталонних циклах. Хоча також є член ``self->key``, він може " +"бути лише ``NULL`` або рядком Python і тому не може бути частиною еталонного " +"циклу." + +msgid "" +"On the other hand, even if you know a member can never be part of a cycle, " +"as a debugging aid you may want to visit it anyway just so the :mod:`gc` " +"module's :func:`~gc.get_referents` function will include it." +msgstr "" +"З іншого боку, навіть якщо ви знаєте, що член ніколи не може бути частиною " +"циклу, як допомога в налагодженні, ви можете все одно відвідати його, щоб " +"скористатися функцією :func:`~gc.get_referents` модуля :mod:`gc` буде " +"включати його." + +msgid "" +"When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " +"that the instance *owns* (by having :term:`strong references ` to them) must be visited. For instance, if an object supports " +"weak references via the :c:member:`~PyTypeObject.tp_weaklist` slot, the " +"pointer supporting the linked list (what *tp_weaklist* points to) must " +"**not** be visited as the instance does not directly own the weak references " +"to itself (the weakreference list is there to support the weak reference " +"machinery, but the instance has no strong reference to the elements inside " +"it, as they are allowed to be removed even if the instance is still alive)." +msgstr "" +"Під час реалізації :c:member:`~PyTypeObject.tp_traverse` необхідно відвідати " +"лише члени, якими *володіє* примірник (через наявність :term:`сильних " +"посилань ` на них). Наприклад, якщо об’єкт підтримує " +"слабкі посилання через слот :c:member:`~PyTypeObject.tp_weaklist`, " +"вказівник, що підтримує зв’язаний список (на що вказує *tp_weaklist*), " +"**не** має відвідуватися, як це робить екземпляр не володіє безпосередньо " +"слабкими посиланнями на себе (список слабких посилань існує для підтримки " +"механізму слабких посилань, але екземпляр не має сильного посилання на " +"елементи всередині нього, оскільки їх можна видалити, навіть якщо екземпляр " +"все ще живий)." + +msgid "" +"Note that :c:func:`Py_VISIT` requires the *visit* and *arg* parameters to :c:" +"func:`local_traverse` to have these specific names; don't name them just " +"anything." +msgstr "" +"Зауважте, що :c:func:`Py_VISIT` вимагає параметрів *visit* і *arg*, щоб :c:" +"func:`local_traverse` мав ці конкретні імена; не називай їх як завгодно." + +msgid "" +"Instances of :ref:`heap-allocated types ` hold a reference to " +"their type. Their traversal function must therefore either visit :c:func:" +"`Py_TYPE(self) `, or delegate this responsibility by calling " +"``tp_traverse`` of another heap-allocated type (such as a heap-allocated " +"superclass). If they do not, the type object may not be garbage-collected." +msgstr "" +"Екземпляри :ref:`виділених у купі типів ` містять посилання на " +"свій тип. Таким чином, їх функція обходу повинна або відвідати :c:func:" +"`Py_TYPE(self) `, або делегувати цю відповідальність, викликавши " +"``tp_traverse`` іншого типу, виділеного купою (наприклад, суперкласу, " +"виділеного купою). Якщо вони цього не роблять, об’єкт типу може не збиратися " +"сміттям." + +msgid "" +"Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " +"``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." +msgstr "" +"Очікується, що типи, виділені в купі, відвідуватимуть ``Py_TYPE(self)`` у " +"``tp_traverse``. У попередніх версіях Python, через `помилку 40217 `_, це може призвести до збоїв у підкласах." + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" +"member:`~PyTypeObject.tp_traverse`, and :c:member:`~PyTypeObject.tp_clear` " +"are all inherited from the base type if they are all zero in the subtype." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject.tp_clear` " +"і бітом прапора :const:`Py_TPFLAGS_HAVE_GC`: біт прапора, :c:member:" +"`~PyTypeObject.tp_traverse` і :c:member:`~PyTypeObject.tp_clear` " +"успадковуються від базового типу, якщо всі вони дорівнюють нулю в підтипі." + +msgid "" +"An optional pointer to a clear function for the garbage collector. This is " +"only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The signature " +"is::" +msgstr "" +"Додатковий покажчик на зрозумілу функцію для збирача сміття. Це " +"використовується, лише якщо встановлено біт прапора :const:" +"`Py_TPFLAGS_HAVE_GC`. Підпис::" + +msgid "" +"The :c:member:`~PyTypeObject.tp_clear` member function is used to break " +"reference cycles in cyclic garbage detected by the garbage collector. Taken " +"together, all :c:member:`~PyTypeObject.tp_clear` functions in the system " +"must combine to break all reference cycles. This is subtle, and if in any " +"doubt supply a :c:member:`~PyTypeObject.tp_clear` function. For example, " +"the tuple type does not implement a :c:member:`~PyTypeObject.tp_clear` " +"function, because it's possible to prove that no reference cycle can be " +"composed entirely of tuples. Therefore the :c:member:`~PyTypeObject." +"tp_clear` functions of other types must be sufficient to break any cycle " +"containing a tuple. This isn't immediately obvious, and there's rarely a " +"good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`." +msgstr "" +"Функція-член :c:member:`~PyTypeObject.tp_clear` використовується для розриву " +"еталонних циклів у циклічному смітті, виявленому збирачем сміття. Взяті " +"разом, усі функції :c:member:`~PyTypeObject.tp_clear` у системі мають " +"поєднуватися, щоб розірвати всі цикли посилань. Це непомітно, і якщо є " +"сумніви, додайте функцію :c:member:`~PyTypeObject.tp_clear`. Наприклад, тип " +"кортежу не реалізує функцію :c:member:`~PyTypeObject.tp_clear`, тому що " +"можна довести, що жоден еталонний цикл не може повністю складатися з " +"кортежів. Тому функції :c:member:`~PyTypeObject.tp_clear` інших типів мають " +"бути достатніми, щоб розірвати будь-який цикл, що містить кортеж. Це не " +"відразу очевидно, і рідко є вагомі причини уникати реалізації :c:member:" +"`~PyTypeObject.tp_clear`." + +msgid "" +"Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " +"instance's references to those of its members that may be Python objects, " +"and set its pointers to those members to ``NULL``, as in the following " +"example::" +msgstr "" +"Реалізації :c:member:`~PyTypeObject.tp_clear` мають видаляти посилання " +"екземпляра на ті з його членів, які можуть бути об’єктами Python, і " +"встановлювати його покажчики на ці члени на ``NULL``, як у наступному " +"прикладі::" + +msgid "" +"The :c:func:`Py_CLEAR` macro should be used, because clearing references is " +"delicate: the reference to the contained object must not be decremented " +"until after the pointer to the contained object is set to ``NULL``. This is " +"because decrementing the reference count may cause the contained object to " +"become trash, triggering a chain of reclamation activity that may include " +"invoking arbitrary Python code (due to finalizers, or weakref callbacks, " +"associated with the contained object). If it's possible for such code to " +"reference *self* again, it's important that the pointer to the contained " +"object be ``NULL`` at that time, so that *self* knows the contained object " +"can no longer be used. The :c:func:`Py_CLEAR` macro performs the operations " +"in a safe order." +msgstr "" +"Слід використовувати макрос :c:func:`Py_CLEAR`, оскільки очищення посилань є " +"делікатним: посилання на об’єкт, що міститься, не має бути зменшено, доки " +"покажчик на об’єкт, що міститься, не буде встановлено на ``NULL``. Це " +"пов’язано з тим, що зменшення підрахунку посилань може призвести до того, що " +"об’єкт, що міститься, стане сміттям, запускаючи ланцюг дій із відновлення, " +"який може включати виклик довільного коду Python (через фіналізатори або " +"зворотні виклики weakref, пов’язані з об’єктом, що міститься). Якщо для " +"такого коду можливо знову посилатися на *self*, важливо, щоб вказівник на " +"об’єкт, що міститься, у цей час був ``NULL``, щоб *self* знав, що об’єкт, що " +"міститься, більше не можна використовувати. Макрос :c:func:`Py_CLEAR` " +"виконує операції в безпечному порядку." + +msgid "" +"Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before " +"an instance is deallocated. For example, when reference counting is enough " +"to determine that an object is no longer used, the cyclic garbage collector " +"is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." +msgstr "" +"Зауважте, що :c:member:`~PyTypeObject.tp_clear` не *завжди* викликається до " +"того, як екземпляр буде звільнено. Наприклад, коли підрахунку посилань " +"достатньо, щоб визначити, що об’єкт більше не використовується, циклічний " +"збирач сміття не залучається, і безпосередньо викликається :c:member:" +"`~PyTypeObject.tp_dealloc`." + +msgid "" +"Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break " +"reference cycles, it's not necessary to clear contained objects like Python " +"strings or Python integers, which can't participate in reference cycles. On " +"the other hand, it may be convenient to clear all contained Python objects, " +"and write the type's :c:member:`~PyTypeObject.tp_dealloc` function to " +"invoke :c:member:`~PyTypeObject.tp_clear`." +msgstr "" +"Оскільки мета функцій :c:member:`~PyTypeObject.tp_clear` — розірвати цикли " +"посилань, немає необхідності очищати об’єкти, що містяться, як-от рядки " +"Python або цілі числа Python, які не можуть брати участь у циклах посилань. " +"З іншого боку, може бути зручно очистити всі об’єкти Python і написати " +"функцію типу :c:member:`~PyTypeObject.tp_dealloc` для виклику :c:member:" +"`~PyTypeObject.tp_clear`." + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" +"member:`~PyTypeObject.tp_traverse`, and :c:member:`~PyTypeObject.tp_clear` " +"are all inherited from the base type if they are all zero in the subtype." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject." +"tp_traverse` і :const:`Py_TPFLAGS_HAVE_GC` біт прапора: біт прапора, :c:" +"member:`~PyTypeObject.tp_traverse` і :c:member:`~PyTypeObject.tp_clear` " +"успадковуються від базового типу, якщо всі вони дорівнюють нулю в підтипі." + +msgid "" +"An optional pointer to the rich comparison function, whose signature is::" +msgstr "" +"Додатковий вказівник на функцію розширеного порівняння, сигнатура якої::" + +msgid "" +"The first parameter is guaranteed to be an instance of the type that is " +"defined by :c:type:`PyTypeObject`." +msgstr "" +"Перший параметр гарантовано є екземпляром типу, визначеного :c:type:" +"`PyTypeObject`." + +msgid "" +"The function should return the result of the comparison (usually ``Py_True`` " +"or ``Py_False``). If the comparison is undefined, it must return " +"``Py_NotImplemented``, if another error occurred it must return ``NULL`` and " +"set an exception condition." +msgstr "" +"Функція має повертати результат порівняння (зазвичай ``Py_True`` або " +"``Py_False``). Якщо порівняння не визначено, воно має повернути " +"``Py_NotImplemented``, якщо сталася інша помилка, воно має повернути " +"``NULL`` і встановити умову винятку." + +msgid "" +"The following constants are defined to be used as the third argument for :c:" +"member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:" +msgstr "" +"Наступні константи визначено для використання як третій аргумент для :c:" +"member:`~PyTypeObject.tp_richcompare` і для :c:func:`PyObject_RichCompare`:" + +msgid "Constant" +msgstr "Постійний" + +msgid "Comparison" +msgstr "Порівняння" + +msgid ":const:`Py_LT`" +msgstr ":const:`Py_LT`" + +msgid "``<``" +msgstr "``<``" + +msgid ":const:`Py_LE`" +msgstr ":const:`Py_LE`" + +msgid "``<=``" +msgstr "``<=``" + +msgid ":const:`Py_EQ`" +msgstr ":const:`Py_EQ`" + +msgid "``==``" +msgstr "``==``" + +msgid ":const:`Py_NE`" +msgstr ":const:`Py_NE`" + +msgid "``!=``" +msgstr "``!=``" + +msgid ":const:`Py_GT`" +msgstr ":const:`Py_GT`" + +msgid "``>``" +msgstr "``>``" + +msgid ":const:`Py_GE`" +msgstr ":const:`Py_GE`" + +msgid "``>=``" +msgstr "``>=``" + +msgid "" +"The following macro is defined to ease writing rich comparison functions:" +msgstr "" +"Наступний макрос визначено для полегшення написання розширених функцій " +"порівняння:" + +msgid "" +"Return ``Py_True`` or ``Py_False`` from the function, depending on the " +"result of a comparison. VAL_A and VAL_B must be orderable by C comparison " +"operators (for example, they may be C ints or floats). The third argument " +"specifies the requested operation, as for :c:func:`PyObject_RichCompare`." +msgstr "" +"Повертає з функції ``Py_True`` або ``Py_False``, залежно від результату " +"порівняння. VAL_A і VAL_B повинні бути впорядковані операторами порівняння C " +"(наприклад, вони можуть бути C int або float). Третій аргумент визначає " +"необхідну операцію, як для :c:func:`PyObject_RichCompare`." + +msgid "The return value's reference count is properly incremented." +msgstr "" +"Лічильник посилань на значення, що повертається, правильно збільшується." + +msgid "On error, sets an exception and returns ``NULL`` from the function." +msgstr "У разі помилки встановлює виняток і повертає ``NULL`` із функції." + +msgid "" +"This field is inherited by subtypes together with :c:member:`~PyTypeObject." +"tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" +"member:`~PyTypeObject.tp_hash` when the subtype's :c:member:`~PyTypeObject." +"tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." +msgstr "" +"Це поле успадковується підтипами разом із :c:member:`~PyTypeObject.tp_hash`: " +"підтип успадковує :c:member:`~PyTypeObject.tp_richcompare` і :c:member:" +"`~PyTypeObject.tp_hash`, коли підтип :c:member:`~PyTypeObject." +"tp_richcompare` і :c:member:`~PyTypeObject.tp_hash` мають значення ``NULL``." + +msgid "" +":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` " +"implementation, which may be inherited. However, if only :attr:`tp_hash` is " +"defined, not even the inherited function is used and instances of the type " +"will not be able to participate in any comparisons." +msgstr "" +":c:type:`PyBaseObject_Type` забезпечує реалізацію :attr:`tp_richcompare`, " +"яка може бути успадкована. Однак, якщо визначено лише :attr:`tp_hash`, " +"навіть успадкована функція не використовується, і екземпляри типу не зможуть " +"брати участь у жодних порівняннях." + +msgid "" +"If the instances of this type are weakly referenceable, this field is " +"greater than zero and contains the offset in the instance structure of the " +"weak reference list head (ignoring the GC header, if present); this offset " +"is used by :c:func:`PyObject_ClearWeakRefs` and the ``PyWeakref_*`` " +"functions. The instance structure needs to include a field of type :c:expr:" +"`PyObject*` which is initialized to ``NULL``." +msgstr "" + +msgid "" +"Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " +"is the list head for weak references to the type object itself." +msgstr "" +"Не плутайте це поле з :c:member:`~PyTypeObject.tp_weaklist`; це заголовок " +"списку для слабких посилань на сам об’єкт типу." + +msgid "" +"This field is inherited by subtypes, but see the rules listed below. A " +"subtype may override this offset; this means that the subtype uses a " +"different weak reference list head than the base type. Since the list head " +"is always found via :c:member:`~PyTypeObject.tp_weaklistoffset`, this should " +"not be a problem." +msgstr "" +"Це поле успадковується підтипами, але перегляньте наведені нижче правила. " +"Підтип може замінити це зміщення; це означає, що підтип використовує інший " +"слабкий заголовок списку посилань, ніж базовий тип. Оскільки заголовок " +"списку завжди можна знайти через :c:member:`~PyTypeObject." +"tp_weaklistoffset`, це не повинно бути проблемою." + +msgid "" +"When a type defined by a class statement has no :attr:`~object.__slots__` " +"declaration, and none of its base types are weakly referenceable, the type " +"is made weakly referenceable by adding a weak reference list head slot to " +"the instance layout and setting the :c:member:`~PyTypeObject." +"tp_weaklistoffset` of that slot's offset." +msgstr "" +"Якщо тип, визначений оператором класу, не має оголошення :attr:`~object." +"__slots__`, і жоден із його базових типів не має слабких посилань, тип стає " +"слабко посилальним шляхом додавання слота заголовка списку слабких посилань " +"до макета екземпляра та встановлення :c:member:`~PyTypeObject." +"tp_weaklistoffset` зміщення цього слота." + +msgid "" +"When a type's :attr:`__slots__` declaration contains a slot named :attr:" +"`__weakref__`, that slot becomes the weak reference list head for instances " +"of the type, and the slot's offset is stored in the type's :c:member:" +"`~PyTypeObject.tp_weaklistoffset`." +msgstr "" +"Коли оголошення типу :attr:`__slots__` містить слот під назвою :attr:" +"`__weakref__`, цей слот стає заголовком списку слабких посилань для " +"екземплярів типу, а зсув слота зберігається в :c:member:`~PyTypeObject." +"tp_weaklistoffset` типу." + +msgid "" +"When a type's :attr:`__slots__` declaration does not contain a slot named :" +"attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject." +"tp_weaklistoffset` from its base type." +msgstr "" +"Якщо оголошення типу :attr:`__slots__` не містить слота з назвою :attr:" +"`__weakref__`, тип успадковує свій :c:member:`~PyTypeObject." +"tp_weaklistoffset` від свого базового типу." + +msgid "" +"An optional pointer to a function that returns an :term:`iterator` for the " +"object. Its presence normally signals that the instances of this type are :" +"term:`iterable` (although sequences may be iterable without this function)." +msgstr "" +"Додатковий покажчик на функцію, яка повертає :term:`iterator` для об’єкта. " +"Його наявність зазвичай сигналізує про те, що екземпляри цього типу :term:" +"`iterable` (хоча послідовності можуть бути ітерованими без цієї функції)." + +msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" +msgstr "Ця функція має той самий підпис, що й :c:func:`PyObject_GetIter`::" + +msgid "" +"An optional pointer to a function that returns the next item in an :term:" +"`iterator`. The signature is::" +msgstr "" +"Додатковий покажчик на функцію, яка повертає наступний елемент у :term:" +"`iterator`. Підпис::" + +msgid "" +"When the iterator is exhausted, it must return ``NULL``; a :exc:" +"`StopIteration` exception may or may not be set. When another error occurs, " +"it must return ``NULL`` too. Its presence signals that the instances of " +"this type are iterators." +msgstr "" +"Коли ітератор вичерпано, він повинен повернути ``NULL``; Виняток :exc:" +"`StopIteration` може бути встановлений або не встановлений. Коли виникає " +"інша помилка, вона також має повернути ``NULL``. Його наявність сигналізує " +"про те, що екземпляри цього типу є ітераторами." + +msgid "" +"Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " +"function, and that function should return the iterator instance itself (not " +"a new iterator instance)." +msgstr "" +"Типи ітераторів також повинні визначати функцію :c:member:`~PyTypeObject." +"tp_iter`, і ця функція має повертати сам екземпляр ітератора (а не новий " +"екземпляр ітератора)." + +msgid "This function has the same signature as :c:func:`PyIter_Next`." +msgstr "Ця функція має той самий підпис, що й :c:func:`PyIter_Next`." + +msgid "" +"An optional pointer to a static ``NULL``-terminated array of :c:type:" +"`PyMethodDef` structures, declaring regular methods of this type." +msgstr "" +"Необов’язковий вказівник на статичний масив структур :c:type:`PyMethodDef` " +"із закінченням ``NULL``, що оголошує регулярні методи цього типу." + +msgid "" +"For each entry in the array, an entry is added to the type's dictionary " +"(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." +msgstr "" +"Для кожного запису в масиві до словника типу (див. :c:member:`~PyTypeObject." +"tp_dict` нижче) додається запис, що містить дескриптор методу." + +msgid "" +"This field is not inherited by subtypes (methods are inherited through a " +"different mechanism)." +msgstr "" +"Це поле не успадковується підтипами (методи успадковуються через інший " +"механізм)." + +msgid "" +"An optional pointer to a static ``NULL``-terminated array of :c:type:" +"`PyMemberDef` structures, declaring regular data members (fields or slots) " +"of instances of this type." +msgstr "" +"Необов’язковий вказівник на статичний масив структур :c:type:`PyMemberDef` " +"із закінченням ``NULL``, що оголошує регулярні члени даних (поля або слоти) " +"екземплярів цього типу." + +msgid "" +"For each entry in the array, an entry is added to the type's dictionary " +"(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." +msgstr "" +"Для кожного запису в масиві до словника типу (див. :c:member:`~PyTypeObject." +"tp_dict` нижче) додається запис, що містить дескриптор члена." + +msgid "" +"This field is not inherited by subtypes (members are inherited through a " +"different mechanism)." +msgstr "" +"Це поле не успадковується підтипами (члени успадковуються через інший " +"механізм)." + +msgid "" +"An optional pointer to a static ``NULL``-terminated array of :c:type:" +"`PyGetSetDef` structures, declaring computed attributes of instances of this " +"type." +msgstr "" +"Додатковий вказівник на статичний масив структур :c:type:`PyGetSetDef` із " +"закінченням ``NULL``, що оголошує обчислені атрибути екземплярів цього типу." + +msgid "" +"For each entry in the array, an entry is added to the type's dictionary " +"(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." +msgstr "" +"Для кожного запису в масиві до словника типу (див. :c:member:`~PyTypeObject." +"tp_dict` нижче) додається запис, що містить дескриптор getset." + +msgid "" +"This field is not inherited by subtypes (computed attributes are inherited " +"through a different mechanism)." +msgstr "" +"Це поле не успадковується підтипами (обчислені атрибути успадковуються за " +"допомогою іншого механізму)." + +msgid "" +"An optional pointer to a base type from which type properties are " +"inherited. At this level, only single inheritance is supported; multiple " +"inheritance require dynamically creating a type object by calling the " +"metatype." +msgstr "" +"Додатковий покажчик на базовий тип, властивості якого успадковуються. На " +"цьому рівні підтримується лише одиночне успадкування; множинне успадкування " +"вимагає динамічного створення об’єкта типу шляхом виклику метатипу." + +msgid "" +"Slot initialization is subject to the rules of initializing globals. C99 " +"requires the initializers to be \"address constants\". Function designators " +"like :c:func:`PyType_GenericNew`, with implicit conversion to a pointer, are " +"valid C99 address constants." +msgstr "" +"Ініціалізація слота підпорядковується правилам ініціалізації глобалів. C99 " +"вимагає, щоб ініціалізатори були \"константами адреси\". Позначення функцій, " +"такі як :c:func:`PyType_GenericNew`, з неявним перетворенням на вказівник, є " +"дійсними константами адрес C99." + +msgid "" +"However, the unary '&' operator applied to a non-static variable like :c:" +"func:`PyBaseObject_Type` is not required to produce an address constant. " +"Compilers may support this (gcc does), MSVC does not. Both compilers are " +"strictly standard conforming in this particular behavior." +msgstr "" +"Однак унарний оператор \"&\", застосований до нестатичної змінної, " +"наприклад :c:func:`PyBaseObject_Type`, не потрібен для створення константи " +"адреси. Компілятори можуть це підтримувати (gcc підтримує), а MSVC — ні. " +"Обидва компілятори суворо відповідають стандартам у цій конкретній поведінці." + +msgid "" +"Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " +"extension module's init function." +msgstr "" +"Отже, :c:member:`~PyTypeObject.tp_base` має бути встановлено у функції " +"ініціалізації модуля розширення." + +msgid "This field is not inherited by subtypes (obviously)." +msgstr "Це поле не успадковується підтипами (очевидно)." + +msgid "" +"This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " +"is known as the type :class:`object`)." +msgstr "" +"У цьому полі за замовчуванням встановлено ``&PyBaseObject_Type`` (що " +"програмістам на Python відоме як тип :class:`object`)." + +msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." +msgstr "Словник типу зберігається тут у :c:func:`PyType_Ready`." + +msgid "" +"This field should normally be initialized to ``NULL`` before PyType_Ready is " +"called; it may also be initialized to a dictionary containing initial " +"attributes for the type. Once :c:func:`PyType_Ready` has initialized the " +"type, extra attributes for the type may be added to this dictionary only if " +"they don't correspond to overloaded operations (like :meth:`__add__`)." +msgstr "" +"Перед викликом PyType_Ready це поле має бути ініціалізовано як ``NULL``; він " +"також може бути ініціалізований словником, що містить початкові атрибути для " +"типу. Після того, як :c:func:`PyType_Ready` ініціалізує тип, додаткові " +"атрибути для типу можуть бути додані до цього словника, лише якщо вони не " +"відповідають перевантаженим операціям (наприклад, :meth:`__add__`)." + +msgid "" +"This field is not inherited by subtypes (though the attributes defined in " +"here are inherited through a different mechanism)." +msgstr "" +"Це поле не успадковується підтипами (хоча атрибути, визначені тут, " +"успадковуються за допомогою іншого механізму)." + +msgid "" +"If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " +"dictionary to it." +msgstr "" +"Якщо це поле має значення ``NULL``, :c:func:`PyType_Ready` призначить йому " +"новий словник." + +msgid "" +"It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:" +"member:`~PyTypeObject.tp_dict` with the dictionary C-API." +msgstr "" +"Небезпечно використовувати :c:func:`PyDict_SetItem` або іншим чином " +"змінювати :c:member:`~PyTypeObject.tp_dict` за допомогою словника C-API." + +msgid "An optional pointer to a \"descriptor get\" function." +msgstr "Додатковий вказівник на функцію \"отримання дескриптора\"." + +msgid "The function signature is::" +msgstr "Сигнатура функції:" + +msgid "" +"An optional pointer to a function for setting and deleting a descriptor's " +"value." +msgstr "" +"Додатковий покажчик на функцію для встановлення та видалення значення " +"дескриптора." + +msgid "The *value* argument is set to ``NULL`` to delete the value." +msgstr "Аргумент *value* має значення ``NULL``, щоб видалити значення." + +msgid "" +"If the instances of this type have a dictionary containing instance " +"variables, this field is non-zero and contains the offset in the instances " +"of the type of the instance variable dictionary; this offset is used by :c:" +"func:`PyObject_GenericGetAttr`." +msgstr "" +"Якщо екземпляри цього типу мають словник, що містить змінні екземпляра, це " +"поле ненульове та містить зміщення в екземплярах типу словника змінних " +"екземплярів; це зміщення використовується :c:func:`PyObject_GenericGetAttr`." + +msgid "" +"Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " +"the dictionary for attributes of the type object itself." +msgstr "" +"Не плутайте це поле з :c:member:`~PyTypeObject.tp_dict`; це словник для " +"атрибутів самого об’єкта типу." + +msgid "" +"If the value of this field is greater than zero, it specifies the offset " +"from the start of the instance structure. If the value is less than zero, " +"it specifies the offset from the *end* of the instance structure. A " +"negative offset is more expensive to use, and should only be used when the " +"instance structure contains a variable-length part. This is used for " +"example to add an instance variable dictionary to subtypes of :class:`str` " +"or :class:`tuple`. Note that the :c:member:`~PyTypeObject.tp_basicsize` " +"field should account for the dictionary added to the end in that case, even " +"though the dictionary is not included in the basic object layout. On a " +"system with a pointer size of 4 bytes, :c:member:`~PyTypeObject." +"tp_dictoffset` should be set to ``-4`` to indicate that the dictionary is at " +"the very end of the structure." +msgstr "" +"Якщо значення цього поля більше нуля, воно визначає зміщення від початку " +"структури екземпляра. Якщо значення менше нуля, воно визначає зміщення від " +"*кінця* структури екземпляра. Від’ємне зміщення є дорожчим у використанні, і " +"його слід використовувати лише тоді, коли структура екземпляра містить " +"частину змінної довжини. Це використовується, наприклад, для додавання " +"словника змінних примірників до підтипів :class:`str` або :class:`tuple`. " +"Зауважте, що в цьому випадку поле :c:member:`~PyTypeObject.tp_basicsize` має " +"враховувати словник, доданий у кінець, навіть якщо словник не включено до " +"основного макета об’єкта. У системі з розміром покажчика 4 байти :c:member:" +"`~PyTypeObject.tp_dictoffset` має бути встановлено на ``-4``, щоб вказати, " +"що словник знаходиться в самому кінці структури." + +msgid "" +"The :c:member:`~PyTypeObject.tp_dictoffset` should be regarded as write-" +"only. To get the pointer to the dictionary call :c:func:" +"`PyObject_GenericGetDict`. Calling :c:func:`PyObject_GenericGetDict` may " +"need to allocate memory for the dictionary, so it is may be more efficient " +"to call :c:func:`PyObject_GetAttr` when accessing an attribute on the object." +msgstr "" + +msgid "" +"This field is inherited by subtypes, but see the rules listed below. A " +"subtype may override this offset; this means that the subtype instances " +"store the dictionary at a difference offset than the base type. Since the " +"dictionary is always found via :c:member:`~PyTypeObject.tp_dictoffset`, this " +"should not be a problem." +msgstr "" +"Це поле успадковується підтипами, але перегляньте наведені нижче правила. " +"Підтип може замінити це зміщення; це означає, що екземпляри підтипу " +"зберігають словник зі зміщенням різниці, ніж базовий тип. Оскільки словник " +"завжди можна знайти через :c:member:`~PyTypeObject.tp_dictoffset`, це не " +"повинно бути проблемою." + +msgid "" +"When a type defined by a class statement has no :attr:`~object.__slots__` " +"declaration, and none of its base types has an instance variable dictionary, " +"a dictionary slot is added to the instance layout and the :c:member:" +"`~PyTypeObject.tp_dictoffset` is set to that slot's offset." +msgstr "" +"Якщо тип, визначений оператором класу, не має оголошення :attr:`~object." +"__slots__`, і жоден із його базових типів не має словника змінної " +"екземпляра, слот словника додається до макета екземпляра та :c:member:" +"`~PyTypeObject.tp_dictoffset` встановлено на зміщення цього слота." + +msgid "" +"When a type defined by a class statement has a :attr:`__slots__` " +"declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` " +"from its base type." +msgstr "" +"Коли тип, визначений оператором класу, має оголошення :attr:`__slots__`, тип " +"успадковує свій :c:member:`~PyTypeObject.tp_dictoffset` від свого базового " +"типу." + +msgid "" +"(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " +"declaration does not have the expected effect, it just causes confusion. " +"Maybe this should be added as a feature just like :attr:`__weakref__` " +"though.)" +msgstr "" +"(Додавання слота з іменем :attr:`~object.__dict__` до оголошення :attr:" +"`__slots__` не має очікуваного ефекту, це лише викликає плутанину. Можливо, " +"це слід додати як функцію, як :attr:`__weakref__` хоча.)" + +msgid "" +"This slot has no default. For :ref:`static types `, if the " +"field is ``NULL`` then no :attr:`__dict__` gets created for instances." +msgstr "" +"Цей слот не має умовчання. Для :ref:`статичних типів `, якщо " +"поле має значення ``NULL``, тоді :attr:`__dict__` не створюється для " +"екземплярів." + +msgid "An optional pointer to an instance initialization function." +msgstr "Додатковий покажчик на функцію ініціалізації екземпляра." + +msgid "" +"This function corresponds to the :meth:`__init__` method of classes. Like :" +"meth:`__init__`, it is possible to create an instance without calling :meth:" +"`__init__`, and it is possible to reinitialize an instance by calling its :" +"meth:`__init__` method again." +msgstr "" +"Ця функція відповідає методу класів :meth:`__init__`. Подібно до :meth:" +"`__init__`, екземпляр можна створити без виклику :meth:`__init__`, а " +"екземпляр можна повторно ініціалізувати, викликавши його метод :meth:" +"`__init__` знову." + +msgid "" +"The self argument is the instance to be initialized; the *args* and *kwds* " +"arguments represent positional and keyword arguments of the call to :meth:" +"`__init__`." +msgstr "" +"Аргумент self - це екземпляр, який потрібно ініціалізувати; аргументи *args* " +"і *kwds* представляють позиційні та ключові аргументи виклику :meth:" +"`__init__`." + +msgid "" +"The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called " +"when an instance is created normally by calling its type, after the type's :" +"c:member:`~PyTypeObject.tp_new` function has returned an instance of the " +"type. If the :c:member:`~PyTypeObject.tp_new` function returns an instance " +"of some other type that is not a subtype of the original type, no :c:member:" +"`~PyTypeObject.tp_init` function is called; if :c:member:`~PyTypeObject." +"tp_new` returns an instance of a subtype of the original type, the " +"subtype's :c:member:`~PyTypeObject.tp_init` is called." +msgstr "" +"Функція :c:member:`~PyTypeObject.tp_init`, якщо вона не ``NULL``, " +"викликається, коли екземпляр створюється звичайним викликом його типу, після " +"функції :c:member:`~PyTypeObject.tp_new` типу. повернув екземпляр типу. Якщо " +"функція :c:member:`~PyTypeObject.tp_new` повертає екземпляр якогось іншого " +"типу, який не є підтипом вихідного типу, функція :c:member:`~PyTypeObject." +"tp_init` не викликається; якщо :c:member:`~PyTypeObject.tp_new` повертає " +"екземпляр підтипу вихідного типу, викликається :c:member:`~PyTypeObject." +"tp_init` підтипу." + +msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." +msgstr "" +"У разі успіху повертає ``0``, ``-1`` і встановлює виняток у випадку помилки." + +msgid "" +"For :ref:`static types ` this field does not have a default." +msgstr "" +"Для :ref:`статичних типів ` це поле не має значення за " +"замовчуванням." + +msgid "An optional pointer to an instance allocation function." +msgstr "Додатковий покажчик на функцію виділення екземпляра." + +msgid "" +"This field is inherited by static subtypes, but not by dynamic subtypes " +"(subtypes created by a class statement)." +msgstr "" +"Це поле успадковується статичними підтипами, але не динамічними підтипами " +"(підтипами, створеними оператором класу)." + +msgid "" +"For dynamic subtypes, this field is always set to :c:func:" +"`PyType_GenericAlloc`, to force a standard heap allocation strategy." +msgstr "" +"Для динамічних підтипів це поле завжди має значення :c:func:" +"`PyType_GenericAlloc`, щоб примусово використовувати стандартну стратегію " +"розподілу купи." + +msgid "" +"For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:" +"`PyType_GenericAlloc`. That is the recommended value for all statically " +"defined types." +msgstr "" +"Для статичних підтипів :c:type:`PyBaseObject_Type` використовує :c:func:" +"`PyType_GenericAlloc`. Це рекомендоване значення для всіх статично " +"визначених типів." + +msgid "An optional pointer to an instance creation function." +msgstr "Додатковий покажчик на функцію створення екземпляра." + +msgid "" +"The *subtype* argument is the type of the object being created; the *args* " +"and *kwds* arguments represent positional and keyword arguments of the call " +"to the type. Note that *subtype* doesn't have to equal the type whose :c:" +"member:`~PyTypeObject.tp_new` function is called; it may be a subtype of " +"that type (but not an unrelated type)." +msgstr "" +"Аргумент *subtype* — це тип об’єкта, що створюється; аргументи *args* і " +"*kwds* представляють позиційні та ключові аргументи виклику типу. Зауважте, " +"що *subtype* не обов’язково дорівнює типу, чия функція :c:member:" +"`~PyTypeObject.tp_new` викликається; це може бути підтип цього типу (але не " +"непов’язаний тип)." + +msgid "" +"The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" +">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " +"only as much further initialization as is absolutely necessary. " +"Initialization that can safely be ignored or repeated should be placed in " +"the :c:member:`~PyTypeObject.tp_init` handler. A good rule of thumb is that " +"for immutable types, all initialization should take place in :c:member:" +"`~PyTypeObject.tp_new`, while for mutable types, most initialization should " +"be deferred to :c:member:`~PyTypeObject.tp_init`." +msgstr "" +"Функція :c:member:`~PyTypeObject.tp_new` має викликати ``subtype-" +">tp_alloc(subtype, nitems)``, щоб виділити простір для об’єкта, а потім " +"виконувати подальшу ініціалізацію лише стільки, скільки це абсолютно " +"необхідно. Ініціалізацію, яку можна безпечно проігнорувати або повторити, " +"слід розмістити в обробнику :c:member:`~PyTypeObject.tp_init`. Хорошим " +"емпіричним правилом є те, що для незмінних типів уся ініціалізація має " +"відбуватися в :c:member:`~PyTypeObject.tp_new`, тоді як для змінних типів " +"більшість ініціалізацій має бути відкладено до :c:member:`~PyTypeObject." +"tp_init`." + +msgid "" +"Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating " +"instances of the type in Python." +msgstr "" +"Установіть прапорець :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION`, щоб " +"заборонити створення екземплярів типу в Python." + +msgid "" +"This field is inherited by subtypes, except it is not inherited by :ref:" +"`static types ` whose :c:member:`~PyTypeObject.tp_base` is " +"``NULL`` or ``&PyBaseObject_Type``." +msgstr "" +"Це поле успадковується підтипами, за винятком :ref:`статичних типів `, у яких :c:member:`~PyTypeObject.tp_base` має значення ``NULL`` або " +"``&PyBaseObject_Type``." + +msgid "" +"For :ref:`static types ` this field has no default. This means " +"if the slot is defined as ``NULL``, the type cannot be called to create new " +"instances; presumably there is some other way to create instances, like a " +"factory function." +msgstr "" +"Для :ref:`статичних типів ` це поле не має типового значення. " +"Це означає, що якщо слот визначено як ``NULL``, тип не можна викликати для " +"створення нових екземплярів; мабуть, існує якийсь інший спосіб створення " +"екземплярів, як-от фабрична функція." + +msgid "" +"An optional pointer to an instance deallocation function. Its signature is::" +msgstr "Додатковий покажчик на функцію звільнення екземпляра. Його підпис::" + +msgid "" +"An initializer that is compatible with this signature is :c:func:" +"`PyObject_Free`." +msgstr "Ініціалізатор, сумісний із цим підписом, це :c:func:`PyObject_Free`." + +msgid "" +"This field is inherited by static subtypes, but not by dynamic subtypes " +"(subtypes created by a class statement)" +msgstr "" +"Це поле успадковується статичними підтипами, але не динамічними підтипами " +"(підтипами, створеними оператором класу)" + +msgid "" +"In dynamic subtypes, this field is set to a deallocator suitable to match :c:" +"func:`PyType_GenericAlloc` and the value of the :const:`Py_TPFLAGS_HAVE_GC` " +"flag bit." +msgstr "" +"У динамічних підтипах це поле встановлюється на засіб розблокування, який " +"відповідає :c:func:`PyType_GenericAlloc` і значенню біта прапора :const:" +"`Py_TPFLAGS_HAVE_GC`." + +msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del." +msgstr "" +"Для статичних підтипів :c:type:`PyBaseObject_Type` використовує PyObject_Del." + +msgid "An optional pointer to a function called by the garbage collector." +msgstr "Додатковий покажчик на функцію, яка викликається збирачем сміття." + +msgid "" +"The garbage collector needs to know whether a particular object is " +"collectible or not. Normally, it is sufficient to look at the object's " +"type's :c:member:`~PyTypeObject.tp_flags` field, and check the :const:" +"`Py_TPFLAGS_HAVE_GC` flag bit. But some types have a mixture of statically " +"and dynamically allocated instances, and the statically allocated instances " +"are not collectible. Such types should define this function; it should " +"return ``1`` for a collectible instance, and ``0`` for a non-collectible " +"instance. The signature is::" +msgstr "" +"Збирач сміття повинен знати, чи є певний об'єкт предметом колекціонування чи " +"ні. Зазвичай достатньо подивитися на поле типу об’єкта :c:member:" +"`~PyTypeObject.tp_flags` і перевірити біт прапора :const:" +"`Py_TPFLAGS_HAVE_GC`. Але деякі типи мають поєднання статично та динамічно " +"виділених екземплярів, і статично виділені екземпляри неможливо зібрати. " +"Такі типи повинні визначати цю функцію; він має повертати ``1`` для " +"екземпляра, який можна колекціонувати, і ``0`` для екземпляра, який не " +"підлягає колекціонуванню. Підпис::" + +msgid "" +"(The only example of this are types themselves. The metatype, :c:data:" +"`PyType_Type`, defines this function to distinguish between statically and :" +"ref:`dynamically allocated types `.)" +msgstr "" +"(Єдиним прикладом цього є самі типи. Метатип :c:data:`PyType_Type` визначає " +"цю функцію, щоб розрізняти статично та :ref:`динамічно виділені типи `.)" + +msgid "" +"This slot has no default. If this field is ``NULL``, :const:" +"`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." +msgstr "" +"Цей слот не має умовчання. Якщо це поле має значення ``NULL``, :const:" +"`Py_TPFLAGS_HAVE_GC` використовується як функціональний еквівалент." + +msgid "Tuple of base types." +msgstr "Кортеж базових типів." + +msgid "" +"This is set for types created by a class statement. It should be ``NULL`` " +"for statically defined types." +msgstr "" +"Це встановлено для типів, створених оператором класу. Він має бути ``NULL`` " +"для статично визначених типів." + +msgid "This field is not inherited." +msgstr "Це поле не успадковується." + +msgid "" +"Tuple containing the expanded set of base types, starting with the type " +"itself and ending with :class:`object`, in Method Resolution Order." +msgstr "" +"Кортеж, що містить розширений набір базових типів, починаючи з самого типу " +"та закінчуючи :class:`object`, у порядку вирішення методів." + +msgid "" +"This field is not inherited; it is calculated fresh by :c:func:" +"`PyType_Ready`." +msgstr "" +"Це поле не успадковується; він обчислюється за допомогою :c:func:" +"`PyType_Ready`." + +msgid "Unused. Internal use only." +msgstr "Невикористаний. Тільки для внутрішнього використання." + +msgid "List of weak references to subclasses. Internal use only." +msgstr "" +"Список слабких посилань на підкласи. Тільки для внутрішнього використання." + +msgid "" +"Weak reference list head, for weak references to this type object. Not " +"inherited. Internal use only." +msgstr "" +"Голова списку слабких посилань для слабких посилань на об’єкт цього типу. Не " +"передається у спадок. Тільки для внутрішнього використання." + +msgid "" +"This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` instead." +msgstr "" +"Це поле застаріло. Натомість використовуйте :c:member:`~PyTypeObject." +"tp_finalize`." + +msgid "Used to index into the method cache. Internal use only." +msgstr "" +"Використовується для індексування в кеш методів. Тільки для внутрішнього " +"використання." + +msgid "" +"An optional pointer to an instance finalization function. Its signature is::" +msgstr "Додатковий покажчик на функцію завершення екземпляра. Його підпис::" + +msgid "" +"If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " +"once when finalizing an instance. It is called either from the garbage " +"collector (if the instance is part of an isolated reference cycle) or just " +"before the object is deallocated. Either way, it is guaranteed to be called " +"before attempting to break reference cycles, ensuring that it finds the " +"object in a sane state." +msgstr "" +"Якщо встановлено :c:member:`~PyTypeObject.tp_finalize`, інтерпретатор " +"викликає його один раз під час завершення екземпляра. Він викликається або " +"зі збирача сміття (якщо екземпляр є частиною ізольованого еталонного циклу), " +"або безпосередньо перед звільненням об’єкта. У будь-якому випадку, він " +"гарантовано буде викликаний перед спробою розірвати еталонні цикли, " +"гарантуючи, що він знайде об’єкт у нормальному стані." + +msgid "" +":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " +"exception status; therefore, a recommended way to write a non-trivial " +"finalizer is::" +msgstr "" +":c:member:`~PyTypeObject.tp_finalize` не повинен змінювати поточний статус " +"винятку; отже, рекомендований спосіб написання нетривіального фіналізатора:" + +msgid "" +"Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject." +"tp_dealloc` may be called from any Python thread, not just the thread which " +"created the object (if the object becomes part of a refcount cycle, that " +"cycle might be collected by a garbage collection on any thread). This is " +"not a problem for Python API calls, since the thread on which tp_dealloc is " +"called will own the Global Interpreter Lock (GIL). However, if the object " +"being destroyed in turn destroys objects from some other C or C++ library, " +"care should be taken to ensure that destroying those objects on the thread " +"which called tp_dealloc will not violate any assumptions of the library." +msgstr "" +"Також зауважте, що в Python зі збиранням сміття :c:member:`~PyTypeObject." +"tp_dealloc` можна викликати з будь-якого потоку Python, а не лише з потоку, " +"який створив об’єкт (якщо об’єкт стає частиною циклу підрахунку посилань, це " +"цикл може бути зібраний за допомогою збирання сміття в будь-якому потоці). " +"Це не проблема для викликів Python API, оскільки потік, у якому викликається " +"tp_dealloc, буде володіти глобальним блокуванням інтерпретатора (GIL). " +"Проте, якщо об’єкт, який знищується, у свою чергу знищує об’єкти з якоїсь " +"іншої бібліотеки C або C++, слід подбати про те, щоб знищення цих об’єктів у " +"потоці, яка викликала tp_dealloc, не порушувало жодних припущень бібліотеки." + +msgid "" +"Before version 3.8 it was necessary to set the :const:" +"`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to be used. " +"This is no longer required." +msgstr "" + +msgid "\"Safe object finalization\" (:pep:`442`)" +msgstr "\"Безпечна фіналізація об'єкта\" (:pep:`442`)" + +msgid "" +"Vectorcall function to use for calls of this type object. In other words, it " +"is used to implement :ref:`vectorcall ` for ``type.__call__``. " +"If ``tp_vectorcall`` is ``NULL``, the default call implementation using :" +"attr:`__new__` and :attr:`__init__` is used." +msgstr "" +"Функція Vectorcall для викликів об’єкта цього типу. Іншими словами, він " +"використовується для реалізації :ref:`vectorcall ` для ``type." +"__call__``. Якщо ``tp_vectorcall`` має значення ``NULL``, використовується " +"реалізація виклику за замовчуванням за допомогою :attr:`__new__` і :attr:" +"`__init__`." + +msgid "This field is never inherited." +msgstr "Це поле ніколи не успадковується." + +msgid "(the field exists since 3.8 but it's only used since 3.9)" +msgstr "(поле існує з 3.8, але використовується лише з 3.9)" + +msgid "Static Types" +msgstr "Статичні типи" + +msgid "" +"Traditionally, types defined in C code are *static*, that is, a static :c:" +"type:`PyTypeObject` structure is defined directly in code and initialized " +"using :c:func:`PyType_Ready`." +msgstr "" +"Традиційно типи, визначені в коді C, є *статичними*, тобто статична " +"структура :c:type:`PyTypeObject` визначається безпосередньо в коді та " +"ініціалізується за допомогою :c:func:`PyType_Ready`." + +msgid "" +"This results in types that are limited relative to types defined in Python:" +msgstr "" +"Це призводить до типів, які обмежені відносно типів, визначених у Python:" + +msgid "" +"Static types are limited to one base, i.e. they cannot use multiple " +"inheritance." +msgstr "" +"Статичні типи обмежені однією базою, тобто вони не можуть використовувати " +"множинне успадкування." + +msgid "" +"Static type objects (but not necessarily their instances) are immutable. It " +"is not possible to add or modify the type object's attributes from Python." +msgstr "" +"Об’єкти статичного типу (але не обов’язково їх екземпляри) незмінні. " +"Неможливо додати або змінити атрибути об’єкта типу з Python." + +msgid "" +"Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" +"specific state." +msgstr "" +"Об’єкти статичного типу є спільними для :ref:`суб-інтерпретаторів `, тому вони не повинні включати будь-який стан, " +"специфічний для субінтерпретатора." + +msgid "" +"Also, since :c:type:`PyTypeObject` is only part of the :ref:`Limited API " +"` as an opaque struct, any extension modules using static types must " +"be compiled for a specific Python minor version." +msgstr "" + +msgid "Heap Types" +msgstr "Типи купи" + +msgid "" +"An alternative to :ref:`static types ` is *heap-allocated " +"types*, or *heap types* for short, which correspond closely to classes " +"created by Python's ``class`` statement. Heap types have the :const:" +"`Py_TPFLAGS_HEAPTYPE` flag set." +msgstr "" +"Альтернативою :ref:`статичним типам ` є *розподілені типи*, " +"або скорочено *типи купи*, які тісно відповідають класам, створеним " +"оператором ``class`` Python. Для типів купи встановлено прапорець :const:" +"`Py_TPFLAGS_HEAPTYPE`." + +msgid "" +"This is done by filling a :c:type:`PyType_Spec` structure and calling :c:" +"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:" +"`PyType_FromModuleAndSpec`." +msgstr "" +"Це робиться шляхом заповнення структури :c:type:`PyType_Spec` і виклику :c:" +"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` або :c:func:" +"`PyType_FromModuleAndSpec`." + +msgid "Number Object Structures" +msgstr "Числові об’єктні структури" + +msgid "" +"This structure holds pointers to the functions which an object uses to " +"implement the number protocol. Each function is used by the function of " +"similar name documented in the :ref:`number` section." +msgstr "" +"Ця структура містить покажчики на функції, які об’єкт використовує для " +"реалізації протоколу чисел. Кожна функція використовується функцією з " +"подібною назвою, задокументованою в розділі :ref:`number`." + +msgid "Here is the structure definition::" +msgstr "Ось визначення структури::" + +msgid "" +"Binary and ternary functions must check the type of all their operands, and " +"implement the necessary conversions (at least one of the operands is an " +"instance of the defined type). If the operation is not defined for the " +"given operands, binary and ternary functions must return " +"``Py_NotImplemented``, if another error occurred they must return ``NULL`` " +"and set an exception." +msgstr "" +"Двійкові та потрійні функції повинні перевіряти тип усіх своїх операндів і " +"здійснювати необхідні перетворення (принаймні один із операндів є " +"екземпляром визначеного типу). Якщо операція не визначена для заданих " +"операндів, двійкові та тернарні функції повинні повернути " +"``Py_NotImplemented``, якщо сталася інша помилка, вони повинні повернути " +"``NULL`` і встановити виняток." + +msgid "" +"The :c:data:`nb_reserved` field should always be ``NULL``. It was " +"previously called :c:data:`nb_long`, and was renamed in Python 3.0.1." +msgstr "" +"Поле :c:data:`nb_reserved` має завжди мати значення ``NULL``. Раніше він " +"називався :c:data:`nb_long` і був перейменований у Python 3.0.1." + +msgid "Mapping Object Structures" +msgstr "Відображення структур об’єктів" + +msgid "" +"This structure holds pointers to the functions which an object uses to " +"implement the mapping protocol. It has three members:" +msgstr "" +"Ця структура містить покажчики на функції, які об’єкт використовує для " +"реалізації протоколу відображення. Він складається з трьох членів:" + +msgid "" +"This function is used by :c:func:`PyMapping_Size` and :c:func:" +"`PyObject_Size`, and has the same signature. This slot may be set to " +"``NULL`` if the object has no defined length." +msgstr "" +"Ця функція використовується :c:func:`PyMapping_Size` і :c:func:" +"`PyObject_Size` і має однакову сигнатуру. Цей слот може бути встановлений на " +"``NULL``, якщо об’єкт не має визначеної довжини." + +msgid "" +"This function is used by :c:func:`PyObject_GetItem` and :c:func:" +"`PySequence_GetSlice`, and has the same signature as :c:func:`!" +"PyObject_GetItem`. This slot must be filled for the :c:func:" +"`PyMapping_Check` function to return ``1``, it can be ``NULL`` otherwise." +msgstr "" +"Ця функція використовується :c:func:`PyObject_GetItem` і :c:func:" +"`PySequence_GetSlice`, і має такий же підпис, як :c:func:`!" +"PyObject_GetItem`. Цей слот має бути заповнений, щоб функція :c:func:" +"`PyMapping_Check` повернула ``1``, інакше вона може бути ``NULL``." + +msgid "" +"This function is used by :c:func:`PyObject_SetItem`, :c:func:" +"`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:" +"`PyObject_DelSlice`. It has the same signature as :c:func:`!" +"PyObject_SetItem`, but *v* can also be set to ``NULL`` to delete an item. " +"If this slot is ``NULL``, the object does not support item assignment and " +"deletion." +msgstr "" +"Цю функцію використовують :c:func:`PyObject_SetItem`, :c:func:" +"`PyObject_DelItem`, :c:func:`PyObject_SetSlice` і :c:func:" +"`PyObject_DelSlice`. Він має той самий підпис, що й :c:func:`!" +"PyObject_SetItem`, але *v* також можна встановити на ``NULL``, щоб видалити " +"елемент. Якщо цей слот має значення ``NULL``, об’єкт не підтримує " +"призначення та видалення елементів." + +msgid "Sequence Object Structures" +msgstr "Структури об’єктів послідовності" + +msgid "" +"This structure holds pointers to the functions which an object uses to " +"implement the sequence protocol." +msgstr "" +"Ця структура містить покажчики на функції, які об’єкт використовує для " +"реалізації протоколу послідовності." + +msgid "" +"This function is used by :c:func:`PySequence_Size` and :c:func:" +"`PyObject_Size`, and has the same signature. It is also used for handling " +"negative indices via the :c:member:`~PySequenceMethods.sq_item` and the :c:" +"member:`~PySequenceMethods.sq_ass_item` slots." +msgstr "" +"Ця функція використовується :c:func:`PySequence_Size` і :c:func:" +"`PyObject_Size` і має однакову сигнатуру. Він також використовується для " +"обробки негативних індексів через слоти :c:member:`~PySequenceMethods." +"sq_item` і :c:member:`~PySequenceMethods.sq_ass_item`." + +msgid "" +"This function is used by :c:func:`PySequence_Concat` and has the same " +"signature. It is also used by the ``+`` operator, after trying the numeric " +"addition via the :c:member:`~PyNumberMethods.nb_add` slot." +msgstr "" +"Ця функція використовується :c:func:`PySequence_Concat` і має такий самий " +"підпис. Він також використовується оператором ``+`` після спроби додавання " +"чисел через слот :c:member:`~PyNumberMethods.nb_add`." + +msgid "" +"This function is used by :c:func:`PySequence_Repeat` and has the same " +"signature. It is also used by the ``*`` operator, after trying numeric " +"multiplication via the :c:member:`~PyNumberMethods.nb_multiply` slot." +msgstr "" +"Ця функція використовується :c:func:`PySequence_Repeat` і має такий самий " +"підпис. Він також використовується оператором ``*`` після спроби числового " +"множення через слот :c:member:`~PyNumberMethods.nb_multiply`." + +msgid "" +"This function is used by :c:func:`PySequence_GetItem` and has the same " +"signature. It is also used by :c:func:`PyObject_GetItem`, after trying the " +"subscription via the :c:member:`~PyMappingMethods.mp_subscript` slot. This " +"slot must be filled for the :c:func:`PySequence_Check` function to return " +"``1``, it can be ``NULL`` otherwise." +msgstr "" +"Ця функція використовується :c:func:`PySequence_GetItem` і має такий самий " +"підпис. Він також використовується :c:func:`PyObject_GetItem` після спроби " +"підписки через слот :c:member:`~PyMappingMethods.mp_subscript`. Цей слот має " +"бути заповнений, щоб функція :c:func:`PySequence_Check` повертала ``1``, " +"інакше вона може бути ``NULL``." + +msgid "" +"Negative indexes are handled as follows: if the :attr:`sq_length` slot is " +"filled, it is called and the sequence length is used to compute a positive " +"index which is passed to :attr:`sq_item`. If :attr:`sq_length` is ``NULL``, " +"the index is passed as is to the function." +msgstr "" +"Негативні індекси обробляються таким чином: якщо слот :attr:`sq_length` " +"заповнений, він викликається, і довжина послідовності використовується для " +"обчислення позитивного індексу, який передається в :attr:`sq_item`. Якщо :" +"attr:`sq_length` дорівнює ``NULL``, індекс передається до функції як є." + +msgid "" +"This function is used by :c:func:`PySequence_SetItem` and has the same " +"signature. It is also used by :c:func:`PyObject_SetItem` and :c:func:" +"`PyObject_DelItem`, after trying the item assignment and deletion via the :c:" +"member:`~PyMappingMethods.mp_ass_subscript` slot. This slot may be left to " +"``NULL`` if the object does not support item assignment and deletion." +msgstr "" +"Ця функція використовується :c:func:`PySequence_SetItem` і має такий самий " +"підпис. Він також використовується :c:func:`PyObject_SetItem` і :c:func:" +"`PyObject_DelItem` після спроби призначення та видалення елемента через " +"слот :c:member:`~PyMappingMethods.mp_ass_subscript`. Цей слот можна залишити " +"``NULL``, якщо об’єкт не підтримує призначення та видалення елементів." + +msgid "" +"This function may be used by :c:func:`PySequence_Contains` and has the same " +"signature. This slot may be left to ``NULL``, in this case :c:func:`!" +"PySequence_Contains` simply traverses the sequence until it finds a match." +msgstr "" +"Ця функція може використовуватися :c:func:`PySequence_Contains` і має такий " +"самий підпис. Цей слот можна залишити ``NULL``, у цьому випадку :c:func:`!" +"PySequence_Contains` просто обходить послідовність, поки не знайде збіг." + +msgid "" +"This function is used by :c:func:`PySequence_InPlaceConcat` and has the same " +"signature. It should modify its first operand, and return it. This slot " +"may be left to ``NULL``, in this case :c:func:`!PySequence_InPlaceConcat` " +"will fall back to :c:func:`PySequence_Concat`. It is also used by the " +"augmented assignment ``+=``, after trying numeric in-place addition via the :" +"c:member:`~PyNumberMethods.nb_inplace_add` slot." +msgstr "" +"Ця функція використовується :c:func:`PySequence_InPlaceConcat` і має такий " +"самий підпис. Він повинен змінити свій перший операнд і повернути його. Цей " +"слот можна залишити ``NULL``, у цьому випадку :c:func:`!" +"PySequence_InPlaceConcat` повернеться до :c:func:`PySequence_Concat`. Він " +"також використовується розширеним призначенням ``+=`` після спроби додавання " +"чисел на місці через слот :c:member:`~PyNumberMethods.nb_inplace_add`." + +msgid "" +"This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same " +"signature. It should modify its first operand, and return it. This slot " +"may be left to ``NULL``, in this case :c:func:`!PySequence_InPlaceRepeat` " +"will fall back to :c:func:`PySequence_Repeat`. It is also used by the " +"augmented assignment ``*=``, after trying numeric in-place multiplication " +"via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot." +msgstr "" +"Ця функція використовується :c:func:`PySequence_InPlaceRepeat` і має такий " +"самий підпис. Він повинен змінити свій перший операнд і повернути його. Цей " +"слот можна залишити ``NULL``, у цьому випадку :c:func:`!" +"PySequence_InPlaceRepeat` повернеться до :c:func:`PySequence_Repeat`. Він " +"також використовується розширеним призначенням ``*=`` після спроби числового " +"множення на місці через слот :c:member:`~PyNumberMethods." +"nb_inplace_multiply`." + +msgid "Buffer Object Structures" +msgstr "Буферні об'єктні структури" + +msgid "" +"This structure holds pointers to the functions required by the :ref:`Buffer " +"protocol `. The protocol defines how an exporter object can " +"expose its internal data to consumer objects." +msgstr "" +"Ця структура містить покажчики на функції, необхідні для :ref:`протоколу " +"буфера `. Протокол визначає, як об’єкт-експортер може " +"надавати свої внутрішні дані об’єктам-споживачам." + +msgid "The signature of this function is::" +msgstr "Сигнатура цієї функції:" + +msgid "" +"Handle a request to *exporter* to fill in *view* as specified by *flags*. " +"Except for point (3), an implementation of this function MUST take these " +"steps:" +msgstr "" +"Обробляти запит до *exporter* для заповнення *view*, як зазначено *flags*. " +"За винятком пункту (3), реалізація цієї функції ПОВИННА виконувати такі дії:" + +msgid "" +"Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " +"set :c:expr:`view->obj` to ``NULL`` and return ``-1``." +msgstr "" + +msgid "Fill in the requested fields." +msgstr "Заповніть необхідні поля." + +msgid "Increment an internal counter for the number of exports." +msgstr "Збільшити внутрішній лічильник для кількості експортів." + +msgid "" +"Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`." +msgstr "" + +msgid "Return ``0``." +msgstr "Повернути ``0``." + +msgid "" +"If *exporter* is part of a chain or tree of buffer providers, two main " +"schemes can be used:" +msgstr "" +"Якщо *експортер* є частиною ланцюжка або дерева постачальників буферів, " +"можна використовувати дві основні схеми:" + +msgid "" +"Re-export: Each member of the tree acts as the exporting object and sets :c:" +"expr:`view->obj` to a new reference to itself." +msgstr "" + +msgid "" +"Redirect: The buffer request is redirected to the root object of the tree. " +"Here, :c:expr:`view->obj` will be a new reference to the root object." +msgstr "" + +msgid "" +"The individual fields of *view* are described in section :ref:`Buffer " +"structure `, the rules how an exporter must react to " +"specific requests are in section :ref:`Buffer request types `." +msgstr "" +"Окремі поля *view* описані в розділі :ref:`Структура буфера `, правила, як експортер повинен реагувати на конкретні запити, " +"знаходяться в розділі :ref:`Типи запитів буфера `." + +msgid "" +"All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " +"exporter and must remain valid until there are no consumers left. :c:member:" +"`~Py_buffer.format`, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer." +"strides`, :c:member:`~Py_buffer.suboffsets` and :c:member:`~Py_buffer." +"internal` are read-only for the consumer." +msgstr "" +"Уся пам’ять, на яку вказує структура :c:type:`Py_buffer`, належить " +"експортеру та має залишатися чинною, доки не залишиться споживачів. :c:" +"member:`~Py_buffer.format`, :c:member:`~Py_buffer.shape`, :c:member:" +"`~Py_buffer.strides`, :c:member:`~Py_buffer.suboffsets` та :c:member:" +"`~Py_buffer.internal` доступні лише для читання для споживача." + +msgid "" +":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " +"buffer while dealing correctly with all request types." +msgstr "" +":c:func:`PyBuffer_FillInfo` забезпечує простий спосіб відкрити простий буфер " +"байтів, правильно обробляючи всі типи запитів." + +msgid "" +":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " +"this function." +msgstr "" +":c:func:`PyObject_GetBuffer` — це інтерфейс для споживача, який обертає цю " +"функцію." + +msgid "" +"Handle a request to release the resources of the buffer. If no resources " +"need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " +"``NULL``. Otherwise, a standard implementation of this function will take " +"these optional steps:" +msgstr "" +"Обробляти запит на звільнення ресурсів буфера. Якщо не потрібно звільняти " +"ресурси, :c:member:`PyBufferProcs.bf_releasebuffer` може мати значення " +"``NULL``. В іншому випадку стандартна реалізація цієї функції виконає " +"наступні додаткові дії:" + +msgid "Decrement an internal counter for the number of exports." +msgstr "Зменшити внутрішній лічильник для кількості експортів." + +msgid "If the counter is ``0``, free all memory associated with *view*." +msgstr "Якщо лічильник ``0``, звільнити всю пам'ять, пов'язану з *view*." + +msgid "" +"The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " +"track of buffer-specific resources. This field is guaranteed to remain " +"constant, while a consumer MAY pass a copy of the original buffer as the " +"*view* argument." +msgstr "" +"Експортер ПОВИНЕН використовувати поле :c:member:`~Py_buffer.internal`, щоб " +"відстежувати ресурси, пов’язані з буфером. Це поле гарантовано залишається " +"постійним, тоді як споживач МОЖЕ передати копію вихідного буфера як аргумент " +"*view*." + +msgid "" +"This function MUST NOT decrement :c:expr:`view->obj`, since that is done " +"automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " +"breaking reference cycles)." +msgstr "" + +msgid "" +":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " +"function." +msgstr "" +":c:func:`PyBuffer_Release` — це інтерфейс для споживача, який обертає цю " +"функцію." + +msgid "Async Object Structures" +msgstr "Асинхронні об'єктні структури" + +msgid "" +"This structure holds pointers to the functions required to implement :term:" +"`awaitable` and :term:`asynchronous iterator` objects." +msgstr "" +"Ця структура містить покажчики на функції, необхідні для реалізації " +"об’єктів :term:`awaitable` і :term:`asynchronous iterator`." + +msgid "" +"The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check` " +"must return ``1`` for it." +msgstr "" +"Повернений об’єкт має бути :term:`iterator`, тобто :c:func:`PyIter_Check` " +"має повернути для нього ``1``." + +msgid "" +"This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." +msgstr "" +"Цей слот може мати значення ``NULL``, якщо об’єкт не є :term:`awaitable`." + +msgid "" +"Must return an :term:`asynchronous iterator` object. See :meth:`__anext__` " +"for details." +msgstr "" +"Має повертати об’єкт :term:`asynchronous iterator`. Докладніше див. :meth:" +"`__anext__`." + +msgid "" +"This slot may be set to ``NULL`` if an object does not implement " +"asynchronous iteration protocol." +msgstr "" +"Цей слот може мати значення ``NULL``, якщо об’єкт не реалізує протокол " +"асинхронної ітерації." + +msgid "" +"Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " +"This slot may be set to ``NULL``." +msgstr "" +"Має повертати об’єкт :term:`awaitable`. Докладніше див. :meth:`__anext__`. " +"Цей слот може мати значення ``NULL``." + +msgid "" +"See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." +msgstr "" +"Дивіться :c:func:`PyIter_Send` для деталей. Цей слот може мати значення " +"``NULL``." + +msgid "Slot Type typedefs" +msgstr "Типи слотів" + +msgid "" +"The purpose of this function is to separate memory allocation from memory " +"initialization. It should return a pointer to a block of memory of adequate " +"length for the instance, suitably aligned, and initialized to zeros, but " +"with :attr:`ob_refcnt` set to ``1`` and :attr:`ob_type` set to the type " +"argument. If the type's :c:member:`~PyTypeObject.tp_itemsize` is non-zero, " +"the object's :attr:`ob_size` field should be initialized to *nitems* and the " +"length of the allocated memory block should be ``tp_basicsize + " +"nitems*tp_itemsize``, rounded up to a multiple of ``sizeof(void*)``; " +"otherwise, *nitems* is not used and the length of the block should be :c:" +"member:`~PyTypeObject.tp_basicsize`." +msgstr "" +"Метою цієї функції є відокремлення виділення пам’яті від ініціалізації " +"пам’яті. Він має повертати вказівник на блок пам’яті адекватної довжини для " +"екземпляра, відповідним чином вирівняний та ініціалізований нулями, але з :" +"attr:`ob_refcnt`, встановленим на ``1``, і :attr:`ob_type`, встановленим на " +"аргумент типу. Якщо тип :c:member:`~PyTypeObject.tp_itemsize` відмінний від " +"нуля, поле :attr:`ob_size` об’єкта має бути ініціалізовано *nitems*, а " +"довжина виділеного блоку пам’яті має бути ``tp_basicsize + nitems " +"*tp_itemsize``, округлений до кратного ``sizeof(void*)``; інакше *nitems* не " +"використовується, а довжина блоку має бути :c:member:`~PyTypeObject." +"tp_basicsize`." + +msgid "" +"This function should not do any other instance initialization, not even to " +"allocate additional memory; that should be done by :c:member:`~PyTypeObject." +"tp_new`." +msgstr "" +"Ця функція не повинна виконувати будь-яку іншу ініціалізацію екземпляра, " +"навіть не для виділення додаткової пам’яті; це має зробити :c:member:" +"`~PyTypeObject.tp_new`." + +msgid "See :c:member:`~PyTypeObject.tp_free`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_free`." + +msgid "See :c:member:`~PyTypeObject.tp_new`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_new`." + +msgid "See :c:member:`~PyTypeObject.tp_init`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_init`." + +msgid "See :c:member:`~PyTypeObject.tp_repr`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_repr`." + +msgid "Return the value of the named attribute for the object." +msgstr "Повертає значення названого атрибута для об’єкта." + +msgid "" +"Set the value of the named attribute for the object. The value argument is " +"set to ``NULL`` to delete the attribute." +msgstr "" +"Установіть для об’єкта значення іменованого атрибута. Аргумент значення має " +"значення ``NULL``, щоб видалити атрибут." + +msgid "See :c:member:`~PyTypeObject.tp_getattro`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_getattro`." + +msgid "See :c:member:`~PyTypeObject.tp_setattro`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_setattro`." + +msgid "See :c:member:`~PyTypeObject.tp_descr_get`." +msgstr "" + +msgid "See :c:member:`~PyTypeObject.tp_descr_set`." +msgstr "" + +msgid "See :c:member:`~PyTypeObject.tp_hash`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_hash`." + +msgid "See :c:member:`~PyTypeObject.tp_richcompare`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_richcompare`." + +msgid "See :c:member:`~PyTypeObject.tp_iter`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_iter`." + +msgid "See :c:member:`~PyTypeObject.tp_iternext`." +msgstr "Перегляньте :c:member:`~PyTypeObject.tp_iternext`." + +msgid "See :c:member:`~PyAsyncMethods.am_send`." +msgstr "Перегляньте :c:member:`~PyAsyncMethods.am_send`." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"The following are simple examples of Python type definitions. They include " +"common usage you may encounter. Some demonstrate tricky corner cases. For " +"more examples, practical info, and a tutorial, see :ref:`defining-new-types` " +"and :ref:`new-types-topics`." +msgstr "" +"Нижче наведено прості приклади визначень типів Python. Вони включають " +"загальне використання, з яким ви можете зіткнутися. Деякі демонструють хитрі " +"кутові випадки. Більше прикладів, практичної інформації та підручника див. :" +"ref:`defining-new-types` і :ref:`new-types-topics`." + +msgid "A basic :ref:`static type `::" +msgstr "Базовий :ref:`статичний тип `::" + +msgid "" +"You may also find older code (especially in the CPython code base) with a " +"more verbose initializer::" +msgstr "" +"Ви також можете знайти старіший код (особливо в кодовій базі CPython) із " +"більш детальним ініціалізатором:" + +msgid "A type that supports weakrefs, instance dicts, and hashing::" +msgstr "Тип, який підтримує слабкі посилання, екземпляри dicts і хешування::" + +msgid "" +"A str subclass that cannot be subclassed and cannot be called to create " +"instances (e.g. uses a separate factory func) using :c:data:" +"`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" +msgstr "" +"Підклас str, який не може бути підкласом і не може бути викликаний для " +"створення екземплярів (наприклад, використовує окрему заводську функцію), " +"використовуючи прапор :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION`::" + +msgid "" +"The simplest :ref:`static type ` with fixed-length instances::" +msgstr "" +"Найпростіший :ref:`статичний тип ` з екземплярами фіксованої " +"довжини::" + +msgid "" +"The simplest :ref:`static type ` with variable-length " +"instances::" +msgstr "" +"Найпростіший :ref:`статичний тип ` з екземплярами змінної " +"довжини::" diff --git a/c-api/unicode.po b/c-api/unicode.po new file mode 100644 index 000000000..4ad193c95 --- /dev/null +++ b/c-api/unicode.po @@ -0,0 +1,2005 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Unicode Objects and Codecs" +msgstr "Об’єкти та кодеки Unicode" + +msgid "Unicode Objects" +msgstr "Об'єкти Unicode" + +msgid "" +"Since the implementation of :pep:`393` in Python 3.3, Unicode objects " +"internally use a variety of representations, in order to allow handling the " +"complete range of Unicode characters while staying memory efficient. There " +"are special cases for strings where all code points are below 128, 256, or " +"65536; otherwise, code points must be below 1114112 (which is the full " +"Unicode range)." +msgstr "" +"З моменту впровадження :pep:`393` у Python 3.3 об’єкти Unicode внутрішньо " +"використовують різноманітні представлення, щоб дозволити обробку повного " +"діапазону символів Unicode, залишаючись ефективним для пам’яті. Існують " +"особливі випадки для рядків, де всі кодові точки нижчі за 128, 256 або " +"65536; інакше кодові точки повинні бути нижче 1114112 (що є повним " +"діапазоном Unicode)." + +msgid "" +":c:expr:`Py_UNICODE*` and UTF-8 representations are created on demand and " +"cached in the Unicode object. The :c:expr:`Py_UNICODE*` representation is " +"deprecated and inefficient." +msgstr "" + +msgid "" +"Due to the transition between the old APIs and the new APIs, Unicode objects " +"can internally be in two states depending on how they were created:" +msgstr "" +"Завдяки переходу між старими і новими API об’єкти Unicode можуть внутрішньо " +"перебувати в двох станах залежно від того, як вони були створені:" + +msgid "" +"\"canonical\" Unicode objects are all objects created by a non-deprecated " +"Unicode API. They use the most efficient representation allowed by the " +"implementation." +msgstr "" +"\"Канонічні\" об’єкти Unicode — це всі об’єкти, створені за допомогою API " +"Unicode, який не підтримується. Вони використовують найбільш ефективне " +"представлення, дозволене реалізацією." + +msgid "" +"\"legacy\" Unicode objects have been created through one of the deprecated " +"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:expr:" +"`Py_UNICODE*` representation; you will have to call :c:func:" +"`PyUnicode_READY` on them before calling any other API." +msgstr "" + +msgid "" +"The \"legacy\" Unicode object will be removed in Python 3.12 with deprecated " +"APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` " +"for more information." +msgstr "" +"\"Застарілий\" об’єкт Unicode буде видалено в Python 3.12 із застарілими " +"API. Відтоді всі об’єкти Unicode будуть \"канонічними\". Перегляньте :pep:" +"`623` для отримання додаткової інформації." + +msgid "Unicode Type" +msgstr "Тип Unicode" + +msgid "" +"These are the basic Unicode object types used for the Unicode implementation " +"in Python:" +msgstr "" +"Ось основні типи об’єктів Unicode, які використовуються для реалізації " +"Unicode в Python:" + +msgid "" +"These types are typedefs for unsigned integer types wide enough to contain " +"characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " +"single Unicode characters, use :c:type:`Py_UCS4`." +msgstr "" +"Ці типи є визначеннями типів для беззнакових цілих типів, достатньо широких, " +"щоб містити символи 32 біти, 16 бітів і 8 бітів відповідно. При роботі з " +"окремими символами Unicode використовуйте :c:type:`Py_UCS4`." + +msgid "" +"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit " +"type depending on the platform." +msgstr "" + +msgid "" +"In previous versions, this was a 16-bit type or a 32-bit type depending on " +"whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " +"build time." +msgstr "" +"У попередніх версіях це був 16-розрядний або 32-розрядний тип залежно від " +"того, чи ви вибрали \"вузьку\" чи \"широку\" версію Unicode Python під час " +"збирання." + +msgid "" +"These subtypes of :c:type:`PyObject` represent a Python Unicode object. In " +"almost all cases, they shouldn't be used directly, since all API functions " +"that deal with Unicode objects take and return :c:type:`PyObject` pointers." +msgstr "" +"Ці підтипи :c:type:`PyObject` представляють об’єкт Python Unicode. Майже у " +"всіх випадках їх не слід використовувати напряму, оскільки всі функції API, " +"які працюють з об’єктами Unicode, приймають і повертають покажчики :c:type:" +"`PyObject`." + +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " +"It is exposed to Python code as ``str``." +msgstr "" +"Цей екземпляр :c:type:`PyTypeObject` представляє тип Python Unicode. Він " +"доступний коду Python як ``str``." + +msgid "" +"The following APIs are C macros and static inlined functions for fast checks " +"and access to internal read-only data of Unicode objects:" +msgstr "" + +msgid "" +"Return true if the object *o* is a Unicode object or an instance of a " +"Unicode subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо об’єкт *o* є об’єктом Unicode або екземпляром підтипу " +"Unicode. Ця функція завжди успішна." + +msgid "" +"Return true if the object *o* is a Unicode object, but not an instance of a " +"subtype. This function always succeeds." +msgstr "" +"Повертає true, якщо об’єкт *o* є об’єктом Unicode, але не екземпляром " +"підтипу. Ця функція завжди успішна." + +msgid "" +"Ensure the string object *o* is in the \"canonical\" representation. This " +"is required before using any of the access macros described below." +msgstr "" +"Переконайтеся, що рядковий об’єкт *o* знаходиться в \"канонічному\" " +"представленні. Це необхідно зробити перед використанням будь-якого з " +"описаних нижче макросів доступу." + +msgid "" +"Returns ``0`` on success and ``-1`` with an exception set on failure, which " +"in particular happens if memory allocation fails." +msgstr "" +"Повертає ``0`` у разі успіху та ``-1`` з винятком, встановленим у випадку " +"невдачі, що, зокрема, трапляється, якщо виділення пам’яті не вдається." + +msgid "This API will be removed with :c:func:`PyUnicode_FromUnicode`." +msgstr "Цей API буде видалено за допомогою :c:func:`PyUnicode_FromUnicode`." + +msgid "" +"Return the length of the Unicode string, in code points. *o* has to be a " +"Unicode object in the \"canonical\" representation (not checked)." +msgstr "" +"Повертає довжину рядка Юнікод у кодових точках. *o* має бути об’єктом " +"Unicode у \"канонічному\" представленні (не позначено)." + +msgid "" +"Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 " +"integer types for direct character access. No checks are performed if the " +"canonical representation has the correct character size; use :c:func:" +"`PyUnicode_KIND` to select the right macro. Make sure :c:func:" +"`PyUnicode_READY` has been called before accessing this." +msgstr "" +"Повертайте вказівник на канонічне представлення, перетворене на цілі типи " +"UCS1, UCS2 або UCS4 для прямого доступу до символів. Перевірки не " +"виконуються, якщо канонічне представлення має правильний розмір символів; " +"використовуйте :c:func:`PyUnicode_KIND`, щоб вибрати правильний макрос. " +"Переконайтеся, що :c:func:`PyUnicode_READY` викликано перед тим, як отримати " +"доступ до цього." + +msgid "Return values of the :c:func:`PyUnicode_KIND` macro." +msgstr "Повертає значення макросу :c:func:`PyUnicode_KIND`." + +msgid "``PyUnicode_WCHAR_KIND`` is deprecated." +msgstr "``PyUnicode_WCHAR_KIND`` застаріло." + +msgid "" +"Return one of the PyUnicode kind constants (see above) that indicate how " +"many bytes per character this Unicode object uses to store its data. *o* " +"has to be a Unicode object in the \"canonical\" representation (not checked)." +msgstr "" +"Повертає одну з констант типу PyUnicode (див. вище), яка вказує, скільки " +"байтів на символ цей об’єкт Unicode використовує для зберігання своїх даних. " +"*o* має бути об’єктом Unicode у \"канонічному\" представленні (не позначено)." + +msgid "" +"Return a void pointer to the raw Unicode buffer. *o* has to be a Unicode " +"object in the \"canonical\" representation (not checked)." +msgstr "" +"Повертає вказівник недійсності на необроблений буфер Unicode. *o* має бути " +"об’єктом Unicode у \"канонічному\" представленні (не позначено)." + +msgid "" +"Write into a canonical representation *data* (as obtained with :c:func:" +"`PyUnicode_DATA`). This function performs no sanity checks, and is intended " +"for usage in loops. The caller should cache the *kind* value and *data* " +"pointer as obtained from other calls. *index* is the index in the string " +"(starts at 0) and *value* is the new code point value which should be " +"written to that location." +msgstr "" + +msgid "" +"Read a code point from a canonical representation *data* (as obtained with :" +"c:func:`PyUnicode_DATA`). No checks or ready calls are performed." +msgstr "" +"Прочитайте кодову точку з канонічного представлення *data* (отриманого за " +"допомогою :c:func:`PyUnicode_DATA`). Перевірки чи готові виклики не " +"виконуються." + +msgid "" +"Read a character from a Unicode object *o*, which must be in the \"canonical" +"\" representation. This is less efficient than :c:func:`PyUnicode_READ` if " +"you do multiple consecutive reads." +msgstr "" +"Прочитати символ з об’єкта Unicode *o*, який має бути в \"канонічному\" " +"представленні. Це менш ефективно, ніж :c:func:`PyUnicode_READ`, якщо ви " +"виконуєте кілька послідовних читань." + +msgid "" +"Return the maximum code point that is suitable for creating another string " +"based on *o*, which must be in the \"canonical\" representation. This is " +"always an approximation but more efficient than iterating over the string." +msgstr "" +"Повертає максимальну кодову точку, придатну для створення іншого рядка на " +"основі *o*, який має бути в \"канонічному\" представленні. Це завжди " +"наближення, але ефективніше, ніж ітерація по рядку." + +msgid "" +"Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " +"code units (this includes surrogate pairs as 2 units). *o* has to be a " +"Unicode object (not checked)." +msgstr "" +"Повертає розмір застарілого представлення :c:type:`Py_UNICODE` в одиницях " +"коду (це включає сурогатні пари як 2 одиниці). *o* має бути об’єктом Unicode " +"(не позначено)." + +msgid "" +"Part of the old-style Unicode API, please migrate to using :c:func:" +"`PyUnicode_GET_LENGTH`." +msgstr "" +"Частина старого стилю Unicode API, будь ласка, перейдіть на використання :c:" +"func:`PyUnicode_GET_LENGTH`." + +msgid "" +"Return the size of the deprecated :c:type:`Py_UNICODE` representation in " +"bytes. *o* has to be a Unicode object (not checked)." +msgstr "" +"Повертає розмір застарілого представлення :c:type:`Py_UNICODE` в байтах. *o* " +"має бути об’єктом Unicode (не позначено)." + +msgid "" +"Return a pointer to a :c:type:`Py_UNICODE` representation of the object. " +"The returned buffer is always terminated with an extra null code point. It " +"may also contain embedded null code points, which would cause the string to " +"be truncated when used in most C functions. The ``AS_DATA`` form casts the " +"pointer to :c:expr:`const char *`. The *o* argument has to be a Unicode " +"object (not checked)." +msgstr "" + +msgid "" +"This function is now inefficient -- because in many cases the :c:type:" +"`Py_UNICODE` representation does not exist and needs to be created -- and " +"can fail (return ``NULL`` with an exception set). Try to port the code to " +"use the new :c:func:`PyUnicode_nBYTE_DATA` macros or use :c:func:" +"`PyUnicode_WRITE` or :c:func:`PyUnicode_READ`." +msgstr "" + +msgid "" +"Part of the old-style Unicode API, please migrate to using the :c:func:" +"`PyUnicode_nBYTE_DATA` family of macros." +msgstr "" +"Частина API старого стилю Unicode, будь ласка, перейдіть на використання " +"сімейства макросів :c:func:`PyUnicode_nBYTE_DATA`." + +msgid "" +"Return ``1`` if the string is a valid identifier according to the language " +"definition, section :ref:`identifiers`. Return ``0`` otherwise." +msgstr "" +"Повертає ``1``, якщо рядок є дійсним ідентифікатором відповідно до " +"визначення мови, розділ :ref:`identifiers`. Інакше поверніть ``0``." + +msgid "" +"The function does not call :c:func:`Py_FatalError` anymore if the string is " +"not ready." +msgstr "" +"Функція більше не викликає :c:func:`Py_FatalError`, якщо рядок не готовий." + +msgid "Unicode Character Properties" +msgstr "Властивості символів Unicode" + +msgid "" +"Unicode provides many different character properties. The most often needed " +"ones are available through these macros which are mapped to C functions " +"depending on the Python configuration." +msgstr "" +"Unicode надає багато різних властивостей символів. Найпотрібніші з них " +"доступні через ці макроси, які зіставляються з функціями C залежно від " +"конфігурації Python." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is a whitespace character." +msgstr "Повертає \"1\" або \"0\" залежно від того, чи *ch* є пробілом." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is a lowercase character." +msgstr "" +"Повертає \"1\" або \"0\" залежно від того, чи *ch* є символом нижнього " +"регістру." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is an uppercase character." +msgstr "" +"Повертає ``1`` або ``0`` залежно від того, чи *ch* є символом у верхньому " +"регістрі." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is a titlecase character." +msgstr "" +"Повертає ``1`` або ``0`` залежно від того, чи *ch* є символом заголовка." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is a linebreak character." +msgstr "" +"Повертає \"1\" або \"0\" залежно від того, чи є *ch* символом розриву рядка." + +msgid "Return ``1`` or ``0`` depending on whether *ch* is a decimal character." +msgstr "" +"Повертає \"1\" або \"0\" залежно від того, чи є *ch* десятковим символом." + +msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character." +msgstr "Повертає \"1\" або \"0\" залежно від того, чи є *ch* символом цифри." + +msgid "Return ``1`` or ``0`` depending on whether *ch* is a numeric character." +msgstr "" +"Повертає \"1\" або \"0\" залежно від того, чи є *ch* цифровим символом." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character." +msgstr "Повертає \"1\" або \"0\" залежно від того, чи *ch* є буквою." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric character." +msgstr "" +"Повертає \"1\" або \"0\" залежно від того, чи є *ch* буквено-цифровим " +"символом." + +msgid "" +"Return ``1`` or ``0`` depending on whether *ch* is a printable character. " +"Nonprintable characters are those characters defined in the Unicode " +"character database as \"Other\" or \"Separator\", excepting the ASCII space " +"(0x20) which is considered printable. (Note that printable characters in " +"this context are those which should not be escaped when :func:`repr` is " +"invoked on a string. It has no bearing on the handling of strings written " +"to :data:`sys.stdout` or :data:`sys.stderr`.)" +msgstr "" +"Повертає \"1\" або \"0\" залежно від того, чи є *ch* символом для друку. " +"Символи, що не друкуються, — це символи, визначені в базі даних символів " +"Unicode як \"Інші\" або \"Розділювачі\", за винятком пробілу ASCII (0x20), " +"який вважається придатним для друку. (Зауважте, що друковані символи в цьому " +"контексті – це ті символи, які не слід екранувати, коли :func:`repr` " +"викликається в рядку. Це не впливає на обробку рядків, записаних у :data:" +"`sys.stdout` або :data:`sys.stderr`.)" + +msgid "These APIs can be used for fast direct character conversions:" +msgstr "" +"Ці API можна використовувати для швидкого прямого перетворення символів:" + +msgid "Return the character *ch* converted to lower case." +msgstr "Повертає символ *ch*, перетворений на нижній регістр." + +msgid "This function uses simple case mappings." +msgstr "Ця функція використовує прості відображення регістру." + +msgid "Return the character *ch* converted to upper case." +msgstr "Повертає символ *ch*, перетворений у верхній регістр." + +msgid "Return the character *ch* converted to title case." +msgstr "Повертає символ *ch*, перетворений на регістр заголовка." + +msgid "" +"Return the character *ch* converted to a decimal positive integer. Return " +"``-1`` if this is not possible. This macro does not raise exceptions." +msgstr "" +"Повертає символ *ch*, перетворений на десяткове позитивне ціле число. " +"Поверніть ``-1``, якщо це неможливо. Цей макрос не створює винятків." + +msgid "" +"Return the character *ch* converted to a single digit integer. Return ``-1`` " +"if this is not possible. This macro does not raise exceptions." +msgstr "" +"Повертає символ *ch*, перетворений на однозначне ціле число. Поверніть " +"``-1``, якщо це неможливо. Цей макрос не створює винятків." + +msgid "" +"Return the character *ch* converted to a double. Return ``-1.0`` if this is " +"not possible. This macro does not raise exceptions." +msgstr "" +"Повертає символ *ch*, перетворений на подвійну. Поверніть ``-1.0``, якщо це " +"неможливо. Цей макрос не створює винятків." + +msgid "These APIs can be used to work with surrogates:" +msgstr "Ці API можна використовувати для роботи із сурогатами:" + +msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)." +msgstr "Перевірте, чи *ch* є сурогатом (``0xD800 <= ch <= 0xDFFF``)." + +msgid "Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``)." +msgstr "Перевірте, чи *ch* є високим сурогатом (``0xD800 <= ch <= 0xDBFF``)." + +msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)." +msgstr "Перевірте, чи *ch* є низьким сурогатом (``0xDC00 <= ch <= 0xDFFF``)." + +msgid "" +"Join two surrogate characters and return a single Py_UCS4 value. *high* and " +"*low* are respectively the leading and trailing surrogates in a surrogate " +"pair." +msgstr "" +"Об’єднайте два сурогатних символи та поверніть одне значення Py_UCS4. " +"*високий* і *низький* є відповідно початковими та кінцевими сурогатами в " +"сурогатній парі." + +msgid "Creating and accessing Unicode strings" +msgstr "Створення та доступ до рядків Unicode" + +msgid "" +"To create Unicode objects and access their basic sequence properties, use " +"these APIs:" +msgstr "" +"Щоб створити об’єкти Unicode та отримати доступ до їхніх основних " +"властивостей послідовності, використовуйте ці API:" + +msgid "" +"Create a new Unicode object. *maxchar* should be the true maximum code " +"point to be placed in the string. As an approximation, it can be rounded up " +"to the nearest value in the sequence 127, 255, 65535, 1114111." +msgstr "" +"Створіть новий об’єкт Unicode. *maxchar* має бути справжньою максимальною " +"кодовою точкою, яка буде розміщена в рядку. Приблизно його можна округлити " +"до найближчого значення в послідовності 127, 255, 65535, 1114111." + +msgid "" +"This is the recommended way to allocate a new Unicode object. Objects " +"created using this function are not resizable." +msgstr "" +"Це рекомендований спосіб виділення нового об’єкта Unicode. Розмір об’єктів, " +"створених за допомогою цієї функції, неможливо змінити." + +msgid "" +"Create a new Unicode object with the given *kind* (possible values are :c:" +"macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:" +"`PyUnicode_KIND`). The *buffer* must point to an array of *size* units of " +"1, 2 or 4 bytes per character, as given by the kind." +msgstr "" +"Створіть новий об’єкт Unicode із заданим *kind* (можливі значення: :c:macro:" +"`PyUnicode_1BYTE_KIND` тощо, як повертає :c:func:`PyUnicode_KIND`). *Буфер* " +"має вказувати на масив одиниць *розміру* по 1, 2 або 4 байти на символ, як " +"задано типом." + +msgid "" +"If necessary, the input *buffer* is copied and transformed into the " +"canonical representation. For example, if the *buffer* is a UCS4 string (:c:" +"macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the UCS1 " +"range, it will be transformed into UCS1 (:c:macro:`PyUnicode_1BYTE_KIND`)." +msgstr "" + +msgid "" +"Create a Unicode object from the char buffer *u*. The bytes will be " +"interpreted as being UTF-8 encoded. The buffer is copied into the new " +"object. If the buffer is not ``NULL``, the return value might be a shared " +"object, i.e. modification of the data is not allowed." +msgstr "" +"Створіть об’єкт Unicode з буфера char *u*. Байти інтерпретуватимуться як " +"закодовані в UTF-8. Буфер копіюється в новий об'єкт. Якщо буфер не ``NULL``, " +"значення, що повертається, може бути спільним об’єктом, тобто модифікація " +"даних не дозволяється." + +msgid "" +"If *u* is ``NULL``, this function behaves like :c:func:" +"`PyUnicode_FromUnicode` with the buffer set to ``NULL``. This usage is " +"deprecated in favor of :c:func:`PyUnicode_New`, and will be removed in " +"Python 3.12." +msgstr "" +"Якщо *u* має значення ``NULL``, ця функція поводиться як :c:func:" +"`PyUnicode_FromUnicode` з буфером, встановленим на ``NULL``. Це використання " +"застаріло на користь :c:func:`PyUnicode_New` і буде видалено в Python 3.12." + +msgid "" +"Create a Unicode object from a UTF-8 encoded null-terminated char buffer *u*." +msgstr "" +"Створіть об’єкт Юнікод із буфера символів *u* із кодуванням UTF-8 із " +"закінченням нулем." + +msgid "" +"Take a C :c:func:`printf`\\ -style *format* string and a variable number of " +"arguments, calculate the size of the resulting Python Unicode string and " +"return a string with the values formatted into it. The variable arguments " +"must be C types and must correspond exactly to the format characters in the " +"*format* ASCII-encoded string. The following format characters are allowed:" +msgstr "" +"Візьміть рядок C :c:func:`printf`\\ -style *format* і змінну кількість " +"аргументів, обчисліть розмір результуючого рядка Python Unicode та поверніть " +"рядок із значеннями, відформатованими в ньому. Змінні аргументи мають бути " +"типу C і точно відповідати символам формату в рядку *format* у кодуванні " +"ASCII. Дозволяються такі символи формату:" + +msgid "Format Characters" +msgstr "Формат символів" + +msgid "Type" +msgstr "Тип" + +msgid "Comment" +msgstr "коментар" + +msgid ":attr:`%%`" +msgstr ":attr:`%%`" + +msgid "*n/a*" +msgstr "*немає*" + +msgid "The literal % character." +msgstr "Літеральний символ %." + +msgid ":attr:`%c`" +msgstr ":attr:`%c`" + +msgid "int" +msgstr "внутр" + +msgid "A single character, represented as a C int." +msgstr "Один символ, представлений як C int." + +msgid ":attr:`%d`" +msgstr ":attr:`%d`" + +msgid "Equivalent to ``printf(\"%d\")``. [1]_" +msgstr "Еквівалент ``printf(\"%d\")``. [1]_" + +msgid ":attr:`%u`" +msgstr ":attr:`%u`" + +msgid "unsigned int" +msgstr "unsigned int" + +msgid "Equivalent to ``printf(\"%u\")``. [1]_" +msgstr "Еквівалент ``printf(\"%u\")``. [1]_" + +msgid ":attr:`%ld`" +msgstr ":attr:`%ld`" + +msgid "long" +msgstr "довгота" + +msgid "Equivalent to ``printf(\"%ld\")``. [1]_" +msgstr "Еквівалент ``printf(\"%ld\")``. [1]_" + +msgid ":attr:`%li`" +msgstr ":attr:`%li`" + +msgid "Equivalent to ``printf(\"%li\")``. [1]_" +msgstr "Еквівалент ``printf(\"%li\")``. [1]_" + +msgid ":attr:`%lu`" +msgstr ":attr:`%lu`" + +msgid "unsigned long" +msgstr "беззнаковий довгий" + +msgid "Equivalent to ``printf(\"%lu\")``. [1]_" +msgstr "Еквівалент ``printf(\"%lu\")``. [1]_" + +msgid ":attr:`%lld`" +msgstr ":attr:`%lld`" + +msgid "long long" +msgstr "довгий довгий" + +msgid "Equivalent to ``printf(\"%lld\")``. [1]_" +msgstr "Еквівалент ``printf(\"%lld\")``. [1]_" + +msgid ":attr:`%lli`" +msgstr ":attr:`%lli`" + +msgid "Equivalent to ``printf(\"%lli\")``. [1]_" +msgstr "Еквівалент ``printf(\"%lli\")``. [1]_" + +msgid ":attr:`%llu`" +msgstr ":attr:`%llu`" + +msgid "unsigned long long" +msgstr "без знака довгий довгий" + +msgid "Equivalent to ``printf(\"%llu\")``. [1]_" +msgstr "Еквівалент ``printf(\"%llu\")``. [1]_" + +msgid ":attr:`%zd`" +msgstr ":attr:`%zd`" + +msgid ":c:type:`\\ Py_ssize_t`" +msgstr ":c:type:`\\ Py_ssize_t`" + +msgid "Equivalent to ``printf(\"%zd\")``. [1]_" +msgstr "Еквівалент ``printf(\"%zd\")``. [1]_" + +msgid ":attr:`%zi`" +msgstr ":attr:`%zi`" + +msgid "Equivalent to ``printf(\"%zi\")``. [1]_" +msgstr "Еквівалент ``printf(\"%zi\")``. [1]_" + +msgid ":attr:`%zu`" +msgstr ":attr:`%zu`" + +msgid "size_t" +msgstr "size_t" + +msgid "Equivalent to ``printf(\"%zu\")``. [1]_" +msgstr "Еквівалент ``printf(\"%zu\")``. [1]_" + +msgid ":attr:`%i`" +msgstr ":attr:`%i`" + +msgid "Equivalent to ``printf(\"%i\")``. [1]_" +msgstr "Еквівалент ``printf(\"%i\")``. [1]_" + +msgid ":attr:`%x`" +msgstr ":attr:`%x`" + +msgid "Equivalent to ``printf(\"%x\")``. [1]_" +msgstr "Еквівалент ``printf(\"%x\")``. [1]_" + +msgid ":attr:`%s`" +msgstr ":attr:`%s`" + +msgid "const char\\*" +msgstr "const char\\*" + +msgid "A null-terminated C character array." +msgstr "Масив символів C із закінченням нулем." + +msgid ":attr:`%p`" +msgstr ":attr:`%p`" + +msgid "const void\\*" +msgstr "const void\\*" + +msgid "" +"The hex representation of a C pointer. Mostly equivalent to ``printf(\"%p" +"\")`` except that it is guaranteed to start with the literal ``0x`` " +"regardless of what the platform's ``printf`` yields." +msgstr "" +"Шістнадцяткове представлення покажчика C. Здебільшого еквівалентний " +"``printf(\"%p\")`` за винятком того, що він гарантовано починається з " +"літералу ``0x`` незалежно від того, що дає ``printf`` платформи." + +msgid ":attr:`%A`" +msgstr ":attr:`%A`" + +msgid "PyObject\\*" +msgstr "PyObject\\*" + +msgid "The result of calling :func:`ascii`." +msgstr "Результат виклику :func:`ascii`." + +msgid ":attr:`%U`" +msgstr ":attr:`%U`" + +msgid "A Unicode object." +msgstr "Об'єкт Unicode." + +msgid ":attr:`%V`" +msgstr ":attr:`%V`" + +msgid "PyObject\\*, const char\\*" +msgstr "PyObject\\*, const char\\*" + +msgid "" +"A Unicode object (which may be ``NULL``) and a null-terminated C character " +"array as a second parameter (which will be used, if the first parameter is " +"``NULL``)." +msgstr "" +"Об’єкт Unicode (який може бути ``NULL``) і масив символів C із нульовим " +"закінченням як другий параметр (який використовуватиметься, якщо перший " +"параметр ``NULL``)." + +msgid ":attr:`%S`" +msgstr ":attr:`%S`" + +msgid "The result of calling :c:func:`PyObject_Str`." +msgstr "Результат виклику :c:func:`PyObject_Str`." + +msgid ":attr:`%R`" +msgstr ":attr:`%R`" + +msgid "The result of calling :c:func:`PyObject_Repr`." +msgstr "Результат виклику :c:func:`PyObject_Repr`." + +msgid "" +"An unrecognized format character causes all the rest of the format string to " +"be copied as-is to the result string, and any extra arguments discarded." +msgstr "" +"Нерозпізнаний символ формату спричиняє копіювання всієї решти рядка формату " +"як є до рядка результату, а всі додаткові аргументи відкидаються." + +msgid "" +"The width formatter unit is number of characters rather than bytes. The " +"precision formatter unit is number of bytes for ``\"%s\"`` and ``\"%V\"`` " +"(if the ``PyObject*`` argument is ``NULL``), and a number of characters for " +"``\"%A\"``, ``\"%U\"``, ``\"%S\"``, ``\"%R\"`` and ``\"%V\"`` (if the " +"``PyObject*`` argument is not ``NULL``)." +msgstr "" +"Одиницею форматування ширини є кількість символів, а не байти. Одиницею " +"точного форматування є кількість байтів для ``\"%s\"`` і ``\"%V\"`` (якщо " +"аргумент ``PyObject*`` має значення ``NULL``), і кількість символів для` `" +"\"%A\"``, ``\"%U\"``, ``\"%S\"``, ``\"%R\"`` і ``\"%V\"`` (якщо " +"``PyObject*`` аргумент не є ``NULL``)." + +msgid "" +"For integer specifiers (d, u, ld, li, lu, lld, lli, llu, zd, zi, zu, i, x): " +"the 0-conversion flag has effect even when a precision is given." +msgstr "" +"Для специфікаторів цілих чисел (d, u, ld, li, lu, lld, lli, llu, zd, zi, zu, " +"i, x): прапор 0-конверсії діє, навіть якщо задано точність." + +msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added." +msgstr "Додано підтримку ``\"%lld\"`` і ``\"%llu\"``." + +msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added." +msgstr "Додано підтримку ``\"%li\"``, ``\"%lli\"`` і ``\"%zi\"``." + +msgid "" +"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, ``\"%U" +"\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added." +msgstr "" +"Підтримка ширини та точного форматування для ``\"%s\"``, ``\"%A\"``, ``\"%U" +"\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` додано." + +msgid "" +"Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two " +"arguments." +msgstr "" +"Ідентичний :c:func:`PyUnicode_FromFormat` за винятком того, що він приймає " +"рівно два аргументи." + +msgid "Decode an encoded object *obj* to a Unicode object." +msgstr "Декодуйте закодований об’єкт *obj* в об’єкт Unicode." + +msgid "" +":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects " +"` are decoded according to the given *encoding* and using " +"the error handling defined by *errors*. Both can be ``NULL`` to have the " +"interface use the default values (see :ref:`builtincodecs` for details)." +msgstr "" +":class:`bytes`, :class:`bytearray` та інші :term:`bytes-подібні об’єкти " +"` декодуються відповідно до заданого *кодування* та з " +"використанням обробки помилок, визначеної *errors*. Обидва можуть бути " +"``NULL``, щоб інтерфейс використовував значення за замовчуванням (дивіться :" +"ref:`builtincodecs` для деталей)." + +msgid "" +"All other objects, including Unicode objects, cause a :exc:`TypeError` to be " +"set." +msgstr "" +"Усі інші об’єкти, включно з об’єктами Unicode, викликають встановлення :exc:" +"`TypeError`." + +msgid "" +"The API returns ``NULL`` if there was an error. The caller is responsible " +"for decref'ing the returned objects." +msgstr "" +"API повертає ``NULL``, якщо сталася помилка. Виклик відповідає за " +"декодування повернутих об'єктів." + +msgid "Return the length of the Unicode object, in code points." +msgstr "Повертає довжину об’єкта Юнікод у кодових точках." + +msgid "" +"Copy characters from one Unicode object into another. This function " +"performs character conversion when necessary and falls back to :c:func:" +"`memcpy` if possible. Returns ``-1`` and sets an exception on error, " +"otherwise returns the number of copied characters." +msgstr "" +"Копіювати символи з одного об’єкта Unicode в інший. Ця функція виконує " +"перетворення символів, якщо це необхідно, і повертається до :c:func:" +"`memcpy`, якщо це можливо. Повертає ``-1`` і встановлює виняток у випадку " +"помилки, інакше повертає кількість скопійованих символів." + +msgid "" +"Fill a string with a character: write *fill_char* into ``unicode[start:start" +"+length]``." +msgstr "" +"Заповніть рядок символом: напишіть *fill_char* у ``unicode[start:start" +"+length]``." + +msgid "" +"Fail if *fill_char* is bigger than the string maximum character, or if the " +"string has more than 1 reference." +msgstr "" +"Помилка, якщо *fill_char* перевищує максимальний символ рядка або якщо рядок " +"має більше ніж 1 посилання." + +msgid "" +"Return the number of written character, or return ``-1`` and raise an " +"exception on error." +msgstr "" +"Повертає номер написаного символу або повертає ``-1`` і викликає виняток у " +"разі помилки." + +msgid "" +"Write a character to a string. The string must have been created through :c:" +"func:`PyUnicode_New`. Since Unicode strings are supposed to be immutable, " +"the string must not be shared, or have been hashed yet." +msgstr "" +"Записати символ у рядок. Рядок має бути створено через :c:func:" +"`PyUnicode_New`. Оскільки рядки Юнікоду мають бути незмінними, рядок не " +"можна надавати спільно або хешувати." + +msgid "" +"This function checks that *unicode* is a Unicode object, that the index is " +"not out of bounds, and that the object can be modified safely (i.e. that it " +"its reference count is one)." +msgstr "" +"Ця функція перевіряє, що *unicode* є об’єктом Unicode, що індекс не виходить " +"за межі та чи можна безпечно змінювати об’єкт (тобто чи кількість посилань " +"дорівнює одиниці)." + +msgid "" +"Read a character from a string. This function checks that *unicode* is a " +"Unicode object and the index is not out of bounds, in contrast to :c:func:" +"`PyUnicode_READ_CHAR`, which performs no error checking." +msgstr "" + +msgid "" +"Return a substring of *str*, from character index *start* (included) to " +"character index *end* (excluded). Negative indices are not supported." +msgstr "" +"Повертає підрядок *str* від символьного індексу *start* (включено) до " +"символьного індексу *end* (виключено). Негативні індекси не підтримуються." + +msgid "" +"Copy the string *u* into a UCS4 buffer, including a null character, if " +"*copy_null* is set. Returns ``NULL`` and sets an exception on error (in " +"particular, a :exc:`SystemError` if *buflen* is smaller than the length of " +"*u*). *buffer* is returned on success." +msgstr "" +"Скопіюйте рядок *u* у буфер UCS4, включаючи нульовий символ, якщо " +"встановлено *copy_null*. Повертає ``NULL`` і встановлює виняток у випадку " +"помилки (зокрема, :exc:`SystemError`, якщо *buflen* менший за довжину *u*). " +"*buffer* повертається в разі успіху." + +msgid "" +"Copy the string *u* into a new UCS4 buffer that is allocated using :c:func:" +"`PyMem_Malloc`. If this fails, ``NULL`` is returned with a :exc:" +"`MemoryError` set. The returned buffer always has an extra null code point " +"appended." +msgstr "" +"Скопіюйте рядок *u* у новий буфер UCS4, який виділено за допомогою :c:func:" +"`PyMem_Malloc`. Якщо це не вдається, повертається ``NULL`` із набором :exc:" +"`MemoryError`. Повернений буфер завжди має додаткову нульову кодову точку." + +msgid "Deprecated Py_UNICODE APIs" +msgstr "Застарілі API Py_UNICODE" + +msgid "" +"These API functions are deprecated with the implementation of :pep:`393`. " +"Extension modules can continue using them, as they will not be removed in " +"Python 3.x, but need to be aware that their use can now cause performance " +"and memory hits." +msgstr "" +"Ці функції API застаріли з реалізацією :pep:`393`. Модулі розширення можуть " +"продовжувати використовувати їх, оскільки вони не будуть видалені в Python 3." +"x, але потрібно знати, що їхнє використання тепер може призвести до " +"погіршення продуктивності та пам’яті." + +msgid "" +"Create a Unicode object from the Py_UNICODE buffer *u* of the given size. " +"*u* may be ``NULL`` which causes the contents to be undefined. It is the " +"user's responsibility to fill in the needed data. The buffer is copied into " +"the new object." +msgstr "" +"Створіть об’єкт Unicode з буфера Py_UNICODE *u* заданого розміру. *u* може " +"бути ``NULL``, через що вміст буде невизначеним. Користувач несе " +"відповідальність за заповнення необхідних даних. Буфер копіюється в новий " +"об'єкт." + +msgid "" +"If the buffer is not ``NULL``, the return value might be a shared object. " +"Therefore, modification of the resulting Unicode object is only allowed when " +"*u* is ``NULL``." +msgstr "" +"Якщо буфер не ``NULL``, повернуте значення може бути спільним об’єктом. " +"Таким чином, модифікація отриманого об’єкта Unicode дозволена лише тоді, " +"коли *u* має значення ``NULL``." + +msgid "" +"If the buffer is ``NULL``, :c:func:`PyUnicode_READY` must be called once the " +"string content has been filled before using any of the access macros such " +"as :c:func:`PyUnicode_KIND`." +msgstr "" +"Якщо буфер має значення ``NULL``, :c:func:`PyUnicode_READY` потрібно " +"викликати після заповнення вмісту рядка перед використанням будь-якого " +"макросу доступу, наприклад :c:func:`PyUnicode_KIND`." + +msgid "" +"Part of the old-style Unicode API, please migrate to using :c:func:" +"`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, or :c:func:" +"`PyUnicode_New`." +msgstr "" +"Частина API Unicode старого стилю, перейдіть на використання :c:func:" +"`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar` або :c:func:" +"`PyUnicode_New`." + +msgid "" +"Return a read-only pointer to the Unicode object's internal :c:type:" +"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:expr:" +"`Py_UNICODE*` representation of the object if it is not yet available. The " +"buffer is always terminated with an extra null code point. Note that the " +"resulting :c:type:`Py_UNICODE` string may also contain embedded null code " +"points, which would cause the string to be truncated when used in most C " +"functions." +msgstr "" + +msgid "" +"Part of the old-style Unicode API, please migrate to using :c:func:" +"`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:" +"`PyUnicode_ReadChar` or similar new APIs." +msgstr "" +"Частина API старого стилю Unicode, перейдіть на використання :c:func:" +"`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:" +"`PyUnicode_ReadChar` або подібних нових API." + +msgid "" +"Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` " +"array length (excluding the extra null terminator) in *size*. Note that the " +"resulting :c:expr:`Py_UNICODE*` string may contain embedded null code " +"points, which would cause the string to be truncated when used in most C " +"functions." +msgstr "" + +msgid "" +"Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " +"code units (this includes surrogate pairs as 2 units)." +msgstr "" +"Повертає розмір застарілого представлення :c:type:`Py_UNICODE` в одиницях " +"коду (це включає сурогатні пари як 2 одиниці)." + +msgid "" +"Copy an instance of a Unicode subtype to a new true Unicode object if " +"necessary. If *obj* is already a true Unicode object (not a subtype), return " +"the reference with incremented refcount." +msgstr "" +"Якщо необхідно, скопіюйте екземпляр підтипу Unicode до нового справжнього " +"об’єкта Unicode. Якщо *obj* вже є справжнім об’єктом Юнікод (а не підтипом), " +"поверніть посилання зі збільшеним числом посилань." + +msgid "" +"Objects other than Unicode or its subtypes will cause a :exc:`TypeError`." +msgstr "" +"Об’єкти, відмінні від Unicode або його підтипів, викличуть :exc:`TypeError`." + +msgid "Locale Encoding" +msgstr "Кодування мови" + +msgid "" +"The current locale encoding can be used to decode text from the operating " +"system." +msgstr "" +"Поточне кодування мови можна використовувати для декодування тексту з " +"операційної системи." + +msgid "" +"Decode a string from UTF-8 on Android and VxWorks, or from the current " +"locale encoding on other platforms. The supported error handlers are ``" +"\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses ``" +"\"strict\"`` error handler if *errors* is ``NULL``. *str* must end with a " +"null character but cannot contain embedded null characters." +msgstr "" +"Декодуйте рядок з UTF-8 на Android і VxWorks або з поточного кодування мови " +"на інших платформах. Підтримуваними обробниками помилок є ``\"strict\"`` і ``" +"\"surrogateescape\"`` (:pep:`383`). Декодер використовує ``\"strict\"`` " +"обробник помилок, якщо *errors* має значення ``NULL``. *str* має " +"закінчуватися нульовим символом, але не може містити вбудовані нульові " +"символи." + +msgid "" +"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:" +"data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python " +"startup)." +msgstr "" +"Використовуйте :c:func:`PyUnicode_DecodeFSDefaultAndSize`, щоб декодувати " +"рядок із :c:data:`Py_FileSystemDefaultEncoding` (кодування локалі, яке " +"читається під час запуску Python)." + +msgid "This function ignores the :ref:`Python UTF-8 Mode `." +msgstr "Ця функція ігнорує :ref:`Режим Python UTF-8 `." + +msgid "The :c:func:`Py_DecodeLocale` function." +msgstr "Функція :c:func:`Py_DecodeLocale`." + +msgid "" +"The function now also uses the current locale encoding for the " +"``surrogateescape`` error handler, except on Android. Previously, :c:func:" +"`Py_DecodeLocale` was used for the ``surrogateescape``, and the current " +"locale encoding was used for ``strict``." +msgstr "" +"Функція тепер також використовує поточне кодування мови для обробника " +"помилок ``surrogateescape``, за винятком Android. Раніше :c:func:" +"`Py_DecodeLocale` використовувався для ``surrogateescape``, а поточне " +"кодування мови використовувалося для ``strict``." + +msgid "" +"Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string " +"length using :c:func:`strlen`." +msgstr "" +"Подібно до :c:func:`PyUnicode_DecodeLocaleAndSize`, але обчислюйте довжину " +"рядка за допомогою :c:func:`strlen`." + +msgid "" +"Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current " +"locale encoding on other platforms. The supported error handlers are ``" +"\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The encoder uses ``" +"\"strict\"`` error handler if *errors* is ``NULL``. Return a :class:`bytes` " +"object. *unicode* cannot contain embedded null characters." +msgstr "" +"Закодуйте об’єкт Unicode до UTF-8 на Android і VxWorks або до поточного " +"кодування мови на інших платформах. Підтримуваними обробниками помилок є ``" +"\"strict\"`` і ``\"surrogateescape\"`` (:pep:`383`). Кодер використовує ``" +"\"strict\"`` обробник помилок, якщо *errors* має значення ``NULL``. Повертає " +"об’єкт :class:`bytes`. *unicode* не може містити вбудовані нульові символи." + +msgid "" +"Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:" +"`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup)." +msgstr "" +"Використовуйте :c:func:`PyUnicode_EncodeFSDefault`, щоб закодувати рядок у :" +"c:data:`Py_FileSystemDefaultEncoding` (кодування локалі, яке читається під " +"час запуску Python)." + +msgid "The :c:func:`Py_EncodeLocale` function." +msgstr "Функція :c:func:`Py_EncodeLocale`." + +msgid "" +"The function now also uses the current locale encoding for the " +"``surrogateescape`` error handler, except on Android. Previously, :c:func:" +"`Py_EncodeLocale` was used for the ``surrogateescape``, and the current " +"locale encoding was used for ``strict``." +msgstr "" +"Функція тепер також використовує поточне кодування мови для обробника " +"помилок ``surrogateescape``, за винятком Android. Раніше :c:func:" +"`Py_EncodeLocale` використовувався для ``surrogateescape``, а поточне " +"кодування мови використовувалося для ``strict``." + +msgid "File System Encoding" +msgstr "Кодування файлової системи" + +msgid "" +"To encode and decode file names and other environment strings, :c:data:" +"`Py_FileSystemDefaultEncoding` should be used as the encoding, and :c:data:" +"`Py_FileSystemDefaultEncodeErrors` should be used as the error handler (:pep:" +"`383` and :pep:`529`). To encode file names to :class:`bytes` during " +"argument parsing, the ``\"O&\"`` converter should be used, passing :c:func:" +"`PyUnicode_FSConverter` as the conversion function:" +msgstr "" +"Для кодування та декодування імен файлів та інших рядків середовища слід " +"використовувати :c:data:`Py_FileSystemDefaultEncoding` як кодування, а :c:" +"data:`Py_FileSystemDefaultEncodeErrors` — як обробник помилок (:pep:`383` і :" +"pep:`529`). Щоб кодувати імена файлів у :class:`bytes` під час аналізу " +"аргументів, слід використовувати конвертер ``\"O&\"``, передаючи :c:func:" +"`PyUnicode_FSConverter` як функцію перетворення:" + +msgid "" +"ParseTuple converter: encode :class:`str` objects -- obtained directly or " +"through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:" +"func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. " +"*result* must be a :c:expr:`PyBytesObject*` which must be released when it " +"is no longer used." +msgstr "" + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"To decode file names to :class:`str` during argument parsing, the ``\"O&\"`` " +"converter should be used, passing :c:func:`PyUnicode_FSDecoder` as the " +"conversion function:" +msgstr "" +"Щоб декодувати імена файлів у :class:`str` під час синтаксичного аналізу " +"аргументів, слід використовувати конвертер ``\"O&\"``, передаючи :c:func:" +"`PyUnicode_FSDecoder` як функцію перетворення:" + +msgid "" +"ParseTuple converter: decode :class:`bytes` objects -- obtained either " +"directly or indirectly through the :class:`os.PathLike` interface -- to :" +"class:`str` using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` " +"objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` " +"which must be released when it is no longer used." +msgstr "" + +msgid "Decode a string from the :term:`filesystem encoding and error handler`." +msgstr "Декодуйте рядок із :term:`filesystem encoding and error handler`." + +msgid "" +"If :c:data:`Py_FileSystemDefaultEncoding` is not set, fall back to the " +"locale encoding." +msgstr "" +"Якщо :c:data:`Py_FileSystemDefaultEncoding` не встановлено, поверніться до " +"кодування мови." + +msgid "" +":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " +"locale encoding and cannot be modified later. If you need to decode a string " +"from the current locale encoding, use :c:func:" +"`PyUnicode_DecodeLocaleAndSize`." +msgstr "" +":c:data:`Py_FileSystemDefaultEncoding` ініціалізується під час запуску з " +"кодування мови та не може бути змінено пізніше. Якщо вам потрібно декодувати " +"рядок із поточного кодування мови, використовуйте :c:func:" +"`PyUnicode_DecodeLocaleAndSize`." + +msgid "Use :c:data:`Py_FileSystemDefaultEncodeErrors` error handler." +msgstr "" +"Використовуйте обробник помилок :c:data:`Py_FileSystemDefaultEncodeErrors`." + +msgid "" +"Decode a null-terminated string from the :term:`filesystem encoding and " +"error handler`." +msgstr "" +"Декодуйте рядок із нульовим закінченням із :term:`filesystem encoding and " +"error handler`." + +msgid "" +"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` if you know the string length." +msgstr "" +"Використовуйте :c:func:`PyUnicode_DecodeFSDefaultAndSize`, якщо вам відома " +"довжина рядка." + +msgid "" +"Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the :" +"c:data:`Py_FileSystemDefaultEncodeErrors` error handler, and return :class:" +"`bytes`. Note that the resulting :class:`bytes` object may contain null " +"bytes." +msgstr "" +"Закодуйте об’єкт Юнікод у :c:data:`Py_FileSystemDefaultEncoding` за " +"допомогою обробника помилок :c:data:`Py_FileSystemDefaultEncodeErrors` і " +"поверніть :class:`bytes`. Зауважте, що отриманий об’єкт :class:`bytes` може " +"містити нульові байти." + +msgid "" +":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " +"locale encoding and cannot be modified later. If you need to encode a string " +"to the current locale encoding, use :c:func:`PyUnicode_EncodeLocale`." +msgstr "" +":c:data:`Py_FileSystemDefaultEncoding` ініціалізується під час запуску з " +"кодування мови та не може бути змінено пізніше. Якщо вам потрібно закодувати " +"рядок до поточного кодування мови, використовуйте :c:func:" +"`PyUnicode_EncodeLocale`." + +msgid "wchar_t Support" +msgstr "Підтримка wchar_t" + +msgid ":c:expr:`wchar_t` support for platforms which support it:" +msgstr "" + +msgid "" +"Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given " +"*size*. Passing ``-1`` as the *size* indicates that the function must itself " +"compute the length, using wcslen. Return ``NULL`` on failure." +msgstr "" + +msgid "" +"Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*. At " +"most *size* :c:expr:`wchar_t` characters are copied (excluding a possibly " +"trailing null termination character). Return the number of :c:expr:" +"`wchar_t` characters copied or ``-1`` in case of an error. Note that the " +"resulting :c:expr:`wchar_t*` string may or may not be null-terminated. It " +"is the responsibility of the caller to make sure that the :c:expr:`wchar_t*` " +"string is null-terminated in case this is required by the application. Also, " +"note that the :c:expr:`wchar_t*` string might contain null characters, which " +"would cause the string to be truncated when used with most C functions." +msgstr "" + +msgid "" +"Convert the Unicode object to a wide character string. The output string " +"always ends with a null character. If *size* is not ``NULL``, write the " +"number of wide characters (excluding the trailing null termination " +"character) into *\\*size*. Note that the resulting :c:expr:`wchar_t` string " +"might contain null characters, which would cause the string to be truncated " +"when used with most C functions. If *size* is ``NULL`` and the :c:expr:" +"`wchar_t*` string contains null characters a :exc:`ValueError` is raised." +msgstr "" + +msgid "" +"Returns a buffer allocated by :c:func:`PyMem_Alloc` (use :c:func:" +"`PyMem_Free` to free it) on success. On error, returns ``NULL`` and *" +"\\*size* is undefined. Raises a :exc:`MemoryError` if memory allocation is " +"failed." +msgstr "" +"У разі успіху повертає буфер, виділений :c:func:`PyMem_Alloc` " +"(використовуйте :c:func:`PyMem_Free`, щоб звільнити його). У разі помилки " +"повертає ``NULL`` і *\\*size* не визначено. Викликає :exc:`MemoryError`, " +"якщо виділення пам’яті не вдалося." + +msgid "" +"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` " +"string contains null characters." +msgstr "" + +msgid "Built-in Codecs" +msgstr "Вбудовані кодеки" + +msgid "" +"Python provides a set of built-in codecs which are written in C for speed. " +"All of these codecs are directly usable via the following functions." +msgstr "" +"Python надає набір вбудованих кодеків, написаних на C для швидкості. Усі ці " +"кодеки можна безпосередньо використовувати за допомогою наведених нижче " +"функцій." + +msgid "" +"Many of the following APIs take two arguments encoding and errors, and they " +"have the same semantics as the ones of the built-in :func:`str` string " +"object constructor." +msgstr "" +"Багато з наведених нижче API приймають кодування двох аргументів і помилки, " +"і вони мають таку саму семантику, як і вбудовані конструктори рядкових " +"об’єктів :func:`str`." + +msgid "" +"Setting encoding to ``NULL`` causes the default encoding to be used which is " +"UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` for " +"encoding file names. This uses the variable :c:data:" +"`Py_FileSystemDefaultEncoding` internally. This variable should be treated " +"as read-only: on some systems, it will be a pointer to a static string, on " +"others, it will change at run-time (such as when the application invokes " +"setlocale)." +msgstr "" +"Встановлення кодування на ``NULL`` призводить до використання кодування за " +"умовчанням, яке є UTF-8. Виклики файлової системи мають використовувати :c:" +"func:`PyUnicode_FSConverter` для кодування імен файлів. Тут використовується " +"змінна :c:data:`Py_FileSystemDefaultEncoding` внутрішньо. Цю змінну слід " +"розглядати як доступну лише для читання: на деяких системах вона буде " +"вказівником на статичний рядок, на інших вона змінюватиметься під час " +"виконання (наприклад, коли програма викликає setlocale)." + +msgid "" +"Error handling is set by errors which may also be set to ``NULL`` meaning to " +"use the default handling defined for the codec. Default error handling for " +"all built-in codecs is \"strict\" (:exc:`ValueError` is raised)." +msgstr "" +"Обробка помилок встановлюється помилками, які також можуть мати значення " +"``NULL``, що означає використання обробки за замовчуванням, визначеної для " +"кодека. Обробка помилок за замовчуванням для всіх вбудованих кодеків є " +"\"суворою\" (:exc:`ValueError` викликається)." + +msgid "" +"The codecs all use a similar interface. Only deviations from the following " +"generic ones are documented for simplicity." +msgstr "" +"Усі кодеки використовують подібний інтерфейс. Для простоти документуються " +"лише відхилення від наступних загальних." + +msgid "Generic Codecs" +msgstr "Загальні кодеки" + +msgid "These are the generic codec APIs:" +msgstr "Це загальні кодеки API:" + +msgid "" +"Create a Unicode object by decoding *size* bytes of the encoded string *s*. " +"*encoding* and *errors* have the same meaning as the parameters of the same " +"name in the :func:`str` built-in function. The codec to be used is looked " +"up using the Python codec registry. Return ``NULL`` if an exception was " +"raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти закодованого рядка *s*. " +"*encoding* і *errors* мають те саме значення, що й однойменні параметри у " +"вбудованій функції :func:`str`. Кодек, який буде використовуватися, " +"шукається за допомогою реєстру кодеків Python. Повертає ``NULL``, якщо кодек " +"викликав виняткову ситуацію." + +msgid "" +"Encode a Unicode object and return the result as Python bytes object. " +"*encoding* and *errors* have the same meaning as the parameters of the same " +"name in the Unicode :meth:`~str.encode` method. The codec to be used is " +"looked up using the Python codec registry. Return ``NULL`` if an exception " +"was raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode та поверніть результат як об’єкт Python bytes. " +"*encoding* і *errors* мають те саме значення, що й однойменні параметри в " +"методі Unicode :meth:`~str.encode`. Кодек, який буде використовуватися, " +"шукається за допомогою реєстру кодеків Python. Повертає ``NULL``, якщо кодек " +"викликав виняткову ситуацію." + +msgid "UTF-8 Codecs" +msgstr "Кодеки UTF-8" + +msgid "These are the UTF-8 codec APIs:" +msgstr "Це API кодека UTF-8:" + +msgid "" +"Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string " +"*s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s* у кодуванні UTF-8. " +"Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If " +"*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will " +"not be treated as an error. Those bytes will not be decoded and the number " +"of bytes that have been decoded will be stored in *consumed*." +msgstr "" +"Якщо *consumed* дорівнює ``NULL``, поводьтеся як :c:func:" +"`PyUnicode_DecodeUTF8`. Якщо *consumed* не має значення ``NULL``, кінцеві " +"неповні послідовності байтів UTF-8 не розглядатимуться як помилка. Ці байти " +"не будуть декодовані, а кількість декодованих байтів зберігатиметься в " +"*спожитих*." + +msgid "" +"Encode a Unicode object using UTF-8 and return the result as Python bytes " +"object. Error handling is \"strict\". Return ``NULL`` if an exception was " +"raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою UTF-8 і поверніть результат як об’єкт " +"Python bytes. Обробка помилок \"строга\". Повертає ``NULL``, якщо кодек " +"викликав виняткову ситуацію." + +msgid "" +"Return a pointer to the UTF-8 encoding of the Unicode object, and store the " +"size of the encoded representation (in bytes) in *size*. The *size* " +"argument can be ``NULL``; in this case no size will be stored. The returned " +"buffer always has an extra null byte appended (not included in *size*), " +"regardless of whether there are any other null code points." +msgstr "" +"Поверніть вказівник на кодування UTF-8 об’єкта Unicode та збережіть розмір " +"закодованого представлення (у байтах) у *size*. Аргумент *size* може бути " +"``NULL``; у цьому випадку розмір не буде збережено. До поверненого буфера " +"завжди додається додатковий нульовий байт (не включений у *size*), незалежно " +"від того, чи є інші нульові кодові точки." + +msgid "" +"In the case of an error, ``NULL`` is returned with an exception set and no " +"*size* is stored." +msgstr "" +"У разі помилки повертається ``NULL`` із набором винятків і *розмір* не " +"зберігається." + +msgid "" +"This caches the UTF-8 representation of the string in the Unicode object, " +"and subsequent calls will return a pointer to the same buffer. The caller " +"is not responsible for deallocating the buffer. The buffer is deallocated " +"and pointers to it become invalid when the Unicode object is garbage " +"collected." +msgstr "" +"Це кешує представлення UTF-8 рядка в об’єкті Unicode, а наступні виклики " +"повертатимуть вказівник на той самий буфер. Абонент не несе відповідальності " +"за звільнення буфера. Буфер звільняється, і покажчики на нього стають " +"недійсними, коли об’єкт Unicode збирається як сміття." + +msgid "The return type is now ``const char *`` rather of ``char *``." +msgstr "Тип повернення тепер ``const char *``, а не ``char *``." + +msgid "This function is a part of the :ref:`limited API `." +msgstr "Ця функція є частиною :ref:`limited API `." + +msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." +msgstr "Як :c:func:`PyUnicode_AsUTF8AndSize`, але не зберігає розмір." + +msgid "UTF-32 Codecs" +msgstr "Кодеки UTF-32" + +msgid "These are the UTF-32 codec APIs:" +msgstr "Це API кодеків UTF-32:" + +msgid "" +"Decode *size* bytes from a UTF-32 encoded buffer string and return the " +"corresponding Unicode object. *errors* (if non-``NULL``) defines the error " +"handling. It defaults to \"strict\"." +msgstr "" +"Декодуйте байти *size* із рядка буфера, закодованого в UTF-32, і повертайте " +"відповідний об’єкт Unicode. *errors* (якщо не ``NULL``) визначає обробку " +"помилок. За замовчуванням встановлено \"суворий\"." + +msgid "" +"If *byteorder* is non-``NULL``, the decoder starts decoding using the given " +"byte order::" +msgstr "" +"Якщо *byteorder* не ``NULL``, декодер починає декодування, використовуючи " +"вказаний порядок байтів::" + +msgid "" +"If ``*byteorder`` is zero, and the first four bytes of the input data are a " +"byte order mark (BOM), the decoder switches to this byte order and the BOM " +"is not copied into the resulting Unicode string. If ``*byteorder`` is " +"``-1`` or ``1``, any byte order mark is copied to the output." +msgstr "" +"Якщо ``*byteorder`` дорівнює нулю, а перші чотири байти вхідних даних є " +"міткою порядку байтів (BOM), декодер перемикається на цей порядок байтів і " +"BOM не копіюється в результуючий рядок Unicode. Якщо ``*byteorder`` дорівнює " +"``-1`` або ``1``, будь-яка позначка порядку байтів копіюється до виводу." + +msgid "" +"After completion, *\\*byteorder* is set to the current byte order at the end " +"of input data." +msgstr "" +"Після завершення *\\*byteorder* встановлюється на поточний порядок байтів у " +"кінці вхідних даних." + +msgid "If *byteorder* is ``NULL``, the codec starts in native order mode." +msgstr "" +"Якщо *byteorder* дорівнює ``NULL``, кодек запускається в режимі власного " +"порядку." + +msgid "Return ``NULL`` if an exception was raised by the codec." +msgstr "Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If " +"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not " +"treat trailing incomplete UTF-32 byte sequences (such as a number of bytes " +"not divisible by four) as an error. Those bytes will not be decoded and the " +"number of bytes that have been decoded will be stored in *consumed*." +msgstr "" +"Якщо *consumed* дорівнює ``NULL``, поводьтеся як :c:func:" +"`PyUnicode_DecodeUTF32`. Якщо *consumed* не дорівнює ``NULL``, :c:func:" +"`PyUnicode_DecodeUTF32Stateful` не розглядатиме кінцеві неповні " +"послідовності байтів UTF-32 (наприклад, кількість байтів, що не ділиться на " +"чотири) як помилку. Ці байти не будуть декодовані, а кількість декодованих " +"байтів зберігатиметься в *спожитих*." + +msgid "" +"Return a Python byte string using the UTF-32 encoding in native byte order. " +"The string always starts with a BOM mark. Error handling is \"strict\". " +"Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Повертає байтовий рядок Python, використовуючи кодування UTF-32 у рідному " +"порядку байтів. Рядок завжди починається з позначки BOM. Обробка помилок " +"\"строга\". Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "UTF-16 Codecs" +msgstr "Кодеки UTF-16" + +msgid "These are the UTF-16 codec APIs:" +msgstr "Це API кодека UTF-16:" + +msgid "" +"Decode *size* bytes from a UTF-16 encoded buffer string and return the " +"corresponding Unicode object. *errors* (if non-``NULL``) defines the error " +"handling. It defaults to \"strict\"." +msgstr "" +"Декодуйте байти *size* із рядка буфера, закодованого в UTF-16, і повертайте " +"відповідний об’єкт Unicode. *errors* (якщо не ``NULL``) визначає обробку " +"помилок. За замовчуванням встановлено \"суворий\"." + +msgid "" +"If ``*byteorder`` is zero, and the first two bytes of the input data are a " +"byte order mark (BOM), the decoder switches to this byte order and the BOM " +"is not copied into the resulting Unicode string. If ``*byteorder`` is " +"``-1`` or ``1``, any byte order mark is copied to the output (where it will " +"result in either a ``\\ufeff`` or a ``\\ufffe`` character)." +msgstr "" +"Якщо ``*byteorder`` дорівнює нулю, а перші два байти вхідних даних є міткою " +"порядку байтів (BOM), декодер перемикається на цей порядок байтів і BOM не " +"копіюється в результуючий рядок Unicode. Якщо ``*byteorder`` дорівнює ``-1`` " +"або ``1``, будь-яка позначка порядку байтів копіюється до виводу (де це " +"призведе до ``\\ufeff`` або ``\\ufffe`` символ)." + +msgid "" +"After completion, ``*byteorder`` is set to the current byte order at the end " +"of input data." +msgstr "" +"Після завершення ``*byteorder`` встановлюється на поточний порядок байтів у " +"кінці вхідних даних." + +msgid "" +"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If " +"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not " +"treat trailing incomplete UTF-16 byte sequences (such as an odd number of " +"bytes or a split surrogate pair) as an error. Those bytes will not be " +"decoded and the number of bytes that have been decoded will be stored in " +"*consumed*." +msgstr "" +"Якщо *consumed* дорівнює ``NULL``, поводьтеся як :c:func:" +"`PyUnicode_DecodeUTF16`. Якщо *consumed* не дорівнює ``NULL``, :c:func:" +"`PyUnicode_DecodeUTF16Stateful` не розглядатиме кінцеві неповні " +"послідовності байтів UTF-16 (наприклад, непарну кількість байтів або " +"розділену сурогатну пару) як помилку. Ці байти не будуть декодовані, а " +"кількість декодованих байтів зберігатиметься в *спожитих*." + +msgid "" +"Return a Python byte string using the UTF-16 encoding in native byte order. " +"The string always starts with a BOM mark. Error handling is \"strict\". " +"Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Повертає байтовий рядок Python, використовуючи кодування UTF-16 у рідному " +"порядку байтів. Рядок завжди починається з позначки BOM. Обробка помилок " +"\"строга\". Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "UTF-7 Codecs" +msgstr "Кодеки UTF-7" + +msgid "These are the UTF-7 codec APIs:" +msgstr "Це API кодека UTF-7:" + +msgid "" +"Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string " +"*s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s* у кодуванні UTF-7. " +"Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`. If " +"*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will " +"not be treated as an error. Those bytes will not be decoded and the number " +"of bytes that have been decoded will be stored in *consumed*." +msgstr "" +"Якщо *consumed* дорівнює ``NULL``, поводьтеся як :c:func:" +"`PyUnicode_DecodeUTF7`. Якщо *consumed* не дорівнює ``NULL``, кінцеві " +"неповні розділи UTF-7 base-64 не розглядатимуться як помилка. Ці байти не " +"будуть декодовані, а кількість декодованих байтів зберігатиметься в " +"*спожитих*." + +msgid "Unicode-Escape Codecs" +msgstr "Кодеки Unicode-Escape" + +msgid "These are the \"Unicode Escape\" codec APIs:" +msgstr "Це API кодека \"Unicode Escape\":" + +msgid "" +"Create a Unicode object by decoding *size* bytes of the Unicode-Escape " +"encoded string *s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s*, закодованого " +"Unicode-Escape. Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"Encode a Unicode object using Unicode-Escape and return the result as a " +"bytes object. Error handling is \"strict\". Return ``NULL`` if an " +"exception was raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою Unicode-Escape та поверніть результат " +"як об’єкт bytes. Обробка помилок \"строга\". Повертає ``NULL``, якщо кодек " +"викликав виняткову ситуацію." + +msgid "Raw-Unicode-Escape Codecs" +msgstr "Кодеки Raw-Unicode-Escape" + +msgid "These are the \"Raw Unicode Escape\" codec APIs:" +msgstr "Це API кодека \"Raw Unicode Escape\":" + +msgid "" +"Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape " +"encoded string *s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s*, закодованого Raw-" +"Unicode-Escape. Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"Encode a Unicode object using Raw-Unicode-Escape and return the result as a " +"bytes object. Error handling is \"strict\". Return ``NULL`` if an " +"exception was raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою Raw-Unicode-Escape та поверніть " +"результат як об’єкт bytes. Обробка помилок \"строга\". Повертає ``NULL``, " +"якщо кодек викликав виняткову ситуацію." + +msgid "Latin-1 Codecs" +msgstr "Кодеки Latin-1" + +msgid "" +"These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 " +"Unicode ordinals and only these are accepted by the codecs during encoding." +msgstr "" +"Це API кодека Latin-1: Latin-1 відповідає першим 256 порядковим номерам " +"Unicode, і лише вони приймаються кодеками під час кодування." + +msgid "" +"Create a Unicode object by decoding *size* bytes of the Latin-1 encoded " +"string *s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s* у кодуванні " +"Latin-1. Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"Encode a Unicode object using Latin-1 and return the result as Python bytes " +"object. Error handling is \"strict\". Return ``NULL`` if an exception was " +"raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою Latin-1 і поверніть результат як " +"об’єкт Python bytes. Обробка помилок \"строга\". Повертає ``NULL``, якщо " +"кодек викликав виняткову ситуацію." + +msgid "ASCII Codecs" +msgstr "Кодеки ASCII" + +msgid "" +"These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " +"other codes generate errors." +msgstr "" +"Це API кодеків ASCII. Приймаються лише 7-бітні дані ASCII. Усі інші коди " +"генерують помилки." + +msgid "" +"Create a Unicode object by decoding *size* bytes of the ASCII encoded string " +"*s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s* у кодуванні ASCII. " +"Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"Encode a Unicode object using ASCII and return the result as Python bytes " +"object. Error handling is \"strict\". Return ``NULL`` if an exception was " +"raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою ASCII і поверніть результат як об’єкт " +"Python bytes. Обробка помилок \"строга\". Повертає ``NULL``, якщо кодек " +"викликав виняткову ситуацію." + +msgid "Character Map Codecs" +msgstr "Кодеки карти символів" + +msgid "" +"This codec is special in that it can be used to implement many different " +"codecs (and this is in fact what was done to obtain most of the standard " +"codecs included in the :mod:`encodings` package). The codec uses mappings to " +"encode and decode characters. The mapping objects provided must support " +"the :meth:`__getitem__` mapping interface; dictionaries and sequences work " +"well." +msgstr "" +"Цей кодек особливий тим, що його можна використовувати для реалізації " +"багатьох різних кодеків (і саме це було зроблено, щоб отримати більшість " +"стандартних кодеків, включених до пакета :mod:`encodings`). Кодек " +"використовує відображення для кодування та декодування символів. Надані " +"об’єкти відображення мають підтримувати інтерфейс відображення :meth:" +"`__getitem__`; словники та послідовності працюють добре." + +msgid "These are the mapping codec APIs:" +msgstr "Це API кодека відображення:" + +msgid "" +"Create a Unicode object by decoding *size* bytes of the encoded string *s* " +"using the given *mapping* object. Return ``NULL`` if an exception was " +"raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти закодованого рядка *s* за " +"допомогою заданого об’єкта *mapping*. Повертає ``NULL``, якщо кодек викликав " +"виняткову ситуацію." + +msgid "" +"If *mapping* is ``NULL``, Latin-1 decoding will be applied. Else *mapping* " +"must map bytes ordinals (integers in the range from 0 to 255) to Unicode " +"strings, integers (which are then interpreted as Unicode ordinals) or " +"``None``. Unmapped data bytes -- ones which cause a :exc:`LookupError`, as " +"well as ones which get mapped to ``None``, ``0xFFFE`` or ``'\\ufffe'``, are " +"treated as undefined mappings and cause an error." +msgstr "" +"Якщо *mapping* має значення ``NULL``, буде застосовано декодування Latin-1. " +"Інакше *відображення* має зіставляти порядкові номери байтів (цілі числа в " +"діапазоні від 0 до 255) на рядки Unicode, цілі числа (які потім " +"інтерпретуються як порядкові номери Unicode) або ``None``. Невідображені " +"байти даних – ті, які викликають :exc:`LookupError`, а також ті, які " +"відображаються на ``None``, ``0xFFFE`` або ``'\\ufffe``, розглядаються як " +"невизначені відображення і викликати помилку." + +msgid "" +"Encode a Unicode object using the given *mapping* object and return the " +"result as a bytes object. Error handling is \"strict\". Return ``NULL`` if " +"an exception was raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою даного об’єкта *mapping* і поверніть " +"результат як об’єкт bytes. Обробка помилок \"строга\". Повертає ``NULL``, " +"якщо кодек викликав виняткову ситуацію." + +msgid "" +"The *mapping* object must map Unicode ordinal integers to bytes objects, " +"integers in the range from 0 to 255 or ``None``. Unmapped character " +"ordinals (ones which cause a :exc:`LookupError`) as well as mapped to " +"``None`` are treated as \"undefined mapping\" and cause an error." +msgstr "" +"Об’єкт *mapping* має зіставляти порядкові цілі числа Unicode з об’єктами " +"bytes, цілі числа в діапазоні від 0 до 255 або ``None``. Невідображені " +"порядкові символи (які спричиняють :exc:`LookupError`), а також відображені " +"на ``None`` розглядаються як \"невизначене відображення\" та викликають " +"помилку." + +msgid "The following codec API is special in that maps Unicode to Unicode." +msgstr "" +"Наступний кодек API є особливим у тому, що відображає Unicode на Unicode." + +msgid "" +"Translate a string by applying a character mapping table to it and return " +"the resulting Unicode object. Return ``NULL`` if an exception was raised by " +"the codec." +msgstr "" +"Перекладіть рядок, застосувавши до нього таблицю зіставлення символів і " +"поверніть отриманий об’єкт Unicode. Повертає ``NULL``, якщо кодек викликав " +"виняткову ситуацію." + +msgid "" +"The mapping table must map Unicode ordinal integers to Unicode ordinal " +"integers or ``None`` (causing deletion of the character)." +msgstr "" +"Таблиця відображення має зіставляти порядкові цілі числа Unicode з " +"порядковими цілими числами Unicode або \"Немає\" (спричиняючи видалення " +"символу)." + +msgid "" +"Mapping tables need only provide the :meth:`__getitem__` interface; " +"dictionaries and sequences work well. Unmapped character ordinals (ones " +"which cause a :exc:`LookupError`) are left untouched and are copied as-is." +msgstr "" +"Таблиці відображення повинні надавати лише інтерфейс :meth:`__getitem__`; " +"словники та послідовності працюють добре. Незіставлені порядкові символи " +"(які викликають :exc:`LookupError`) залишаються недоторканими та копіюються " +"як є." + +msgid "" +"*errors* has the usual meaning for codecs. It may be ``NULL`` which " +"indicates to use the default error handling." +msgstr "" +"*помилки* має звичайне значення для кодеків. Це може бути ``NULL``, що " +"вказує на використання стандартної обробки помилок." + +msgid "MBCS codecs for Windows" +msgstr "Кодеки MBCS для Windows" + +msgid "" +"These are the MBCS codec APIs. They are currently only available on Windows " +"and use the Win32 MBCS converters to implement the conversions. Note that " +"MBCS (or DBCS) is a class of encodings, not just one. The target encoding " +"is defined by the user settings on the machine running the codec." +msgstr "" +"Це API кодека MBCS. Наразі вони доступні лише у Windows і використовують " +"конвертери Win32 MBCS для реалізації перетворень. Зауважте, що MBCS (або " +"DBCS) — це клас кодувань, а не одне. Цільове кодування визначається " +"налаштуваннями користувача на машині, на якій працює кодек." + +msgid "" +"Create a Unicode object by decoding *size* bytes of the MBCS encoded string " +"*s*. Return ``NULL`` if an exception was raised by the codec." +msgstr "" +"Створіть об’єкт Unicode, декодуючи *size* байти рядка *s* у кодуванні MBCS. " +"Повертає ``NULL``, якщо кодек викликав виняткову ситуацію." + +msgid "" +"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If " +"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not " +"decode trailing lead byte and the number of bytes that have been decoded " +"will be stored in *consumed*." +msgstr "" +"Якщо *consumed* дорівнює ``NULL``, поводьтеся як :c:func:" +"`PyUnicode_DecodeMBCS`. Якщо *consumed* не дорівнює ``NULL``, :c:func:" +"`PyUnicode_DecodeMBCSStateful` не декодуватиме кінцевий провідний байт, а " +"кількість декодованих байтів зберігатиметься в *consumed*." + +msgid "" +"Encode a Unicode object using MBCS and return the result as Python bytes " +"object. Error handling is \"strict\". Return ``NULL`` if an exception was " +"raised by the codec." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою MBCS і поверніть результат як об’єкт " +"Python bytes. Обробка помилок \"строга\". Повертає ``NULL``, якщо кодек " +"викликав виняткову ситуацію." + +msgid "" +"Encode the Unicode object using the specified code page and return a Python " +"bytes object. Return ``NULL`` if an exception was raised by the codec. Use :" +"c:data:`CP_ACP` code page to get the MBCS encoder." +msgstr "" +"Закодуйте об’єкт Unicode за допомогою вказаної кодової сторінки та поверніть " +"об’єкт Python bytes. Повертає ``NULL``, якщо кодек викликав виняткову " +"ситуацію. Використовуйте кодову сторінку :c:data:`CP_ACP`, щоб отримати " +"кодувальник MBCS." + +msgid "Methods & Slots" +msgstr "Методи та слоти" + +msgid "Methods and Slot Functions" +msgstr "Методи та функції слота" + +msgid "" +"The following APIs are capable of handling Unicode objects and strings on " +"input (we refer to them as strings in the descriptions) and return Unicode " +"objects or integers as appropriate." +msgstr "" +"Наступні API здатні обробляти об’єкти Unicode та рядки на вхідних даних (ми " +"називаємо їх рядками в описах) і повертати об’єкти Unicode або цілі числа " +"відповідно." + +msgid "They all return ``NULL`` or ``-1`` if an exception occurs." +msgstr "" +"Усі вони повертають ``NULL`` або ``-1``, якщо виникає виняткова ситуація." + +msgid "Concat two strings giving a new Unicode string." +msgstr "Concat два рядки дають новий рядок Unicode." + +msgid "" +"Split a string giving a list of Unicode strings. If *sep* is ``NULL``, " +"splitting will be done at all whitespace substrings. Otherwise, splits " +"occur at the given separator. At most *maxsplit* splits will be done. If " +"negative, no limit is set. Separators are not included in the resulting " +"list." +msgstr "" +"Розділити рядок, що дасть список рядків Unicode. Якщо *sep* дорівнює " +"``NULL``, розділення буде виконано на всіх пробільних підрядках. В іншому " +"випадку на даному сепараторі відбуваються розбивання. Буде виконано не " +"більше ніж *maxsplit*. Якщо значення від’ємне, обмеження не встановлено. " +"Розділювачі не включені в отриманий список." + +msgid "" +"Split a Unicode string at line breaks, returning a list of Unicode strings. " +"CRLF is considered to be one line break. If *keepend* is ``0``, the line " +"break characters are not included in the resulting strings." +msgstr "" +"Розділіть рядок Unicode на розриви рядків, повертаючи список рядків Unicode. " +"CRLF вважається розривом одного рядка. Якщо *keepend* дорівнює ``0``, " +"символи розриву рядка не включаються в отримані рядки." + +msgid "" +"Join a sequence of strings using the given *separator* and return the " +"resulting Unicode string." +msgstr "" +"З’єднайте послідовність рядків за допомогою заданого *роздільника* та " +"поверніть отриманий рядок Unicode." + +msgid "" +"Return ``1`` if *substr* matches ``str[start:end]`` at the given tail end " +"(*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` a " +"suffix match), ``0`` otherwise. Return ``-1`` if an error occurred." +msgstr "" +"Повертає ``1``, якщо *substr* збігається з ``str[start:end]`` у вказаному " +"кінці (*direction* == ``-1`` означає збіг префікса, *direction* == ``1`` " +"відповідає суфіксу), ``0`` інакше. Повертає ``-1``, якщо сталася помилка." + +msgid "" +"Return the first position of *substr* in ``str[start:end]`` using the given " +"*direction* (*direction* == ``1`` means to do a forward search, *direction* " +"== ``-1`` a backward search). The return value is the index of the first " +"match; a value of ``-1`` indicates that no match was found, and ``-2`` " +"indicates that an error occurred and an exception has been set." +msgstr "" +"Повертає першу позицію *substr* у ``str[start:end]``, використовуючи заданий " +"*напрям* (*напрямок* == ``1`` означає пошук вперед, *напрямок* == ``-1`` " +"пошук назад). Повернене значення є індексом першого збігу; значення ``-1`` " +"вказує на те, що відповідності не знайдено, а ``-2`` вказує на те, що " +"сталася помилка та встановлено виняток." + +msgid "" +"Return the first position of the character *ch* in ``str[start:end]`` using " +"the given *direction* (*direction* == ``1`` means to do a forward search, " +"*direction* == ``-1`` a backward search). The return value is the index of " +"the first match; a value of ``-1`` indicates that no match was found, and " +"``-2`` indicates that an error occurred and an exception has been set." +msgstr "" +"Повертає першу позицію символу *ch* у ``str[start:end]``, використовуючи " +"вказаний *напрямок* (*напрямок* == ``1`` означає пошук вперед, *напрямок* == " +"``-1`` пошук у зворотному напрямку). Повернене значення є індексом першого " +"збігу; значення ``-1`` вказує на те, що відповідності не знайдено, а ``-2`` " +"вказує на те, що сталася помилка та встановлено виняток." + +msgid "*start* and *end* are now adjusted to behave like ``str[start:end]``." +msgstr "" +"*start* і *end* тепер налаштовані так, щоб поводитися як ``str[start:end]``." + +msgid "" +"Return the number of non-overlapping occurrences of *substr* in ``str[start:" +"end]``. Return ``-1`` if an error occurred." +msgstr "" +"Повертає кількість неперекриваючих входжень *substr* у ``str[start:end]``. " +"Повертає ``-1``, якщо сталася помилка." + +msgid "" +"Replace at most *maxcount* occurrences of *substr* in *str* with *replstr* " +"and return the resulting Unicode object. *maxcount* == ``-1`` means replace " +"all occurrences." +msgstr "" +"Замініть щонайбільше *maxcount* входжень *substr* у *str* на *replstr* і " +"поверніть отриманий об’єкт Unicode. *maxcount* == ``-1`` означає заміну всіх " +"входжень." + +msgid "" +"Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, " +"and greater than, respectively." +msgstr "" +"Порівняйте два рядки та поверніть ``-1``, ``0``, ``1`` для меншого, рівного " +"та більшого відповідно." + +msgid "" +"This function returns ``-1`` upon failure, so one should call :c:func:" +"`PyErr_Occurred` to check for errors." +msgstr "" +"Ця функція повертає ``-1`` у разі помилки, тому слід викликати :c:func:" +"`PyErr_Occurred`, щоб перевірити наявність помилок." + +msgid "" +"Compare a Unicode object, *uni*, with *string* and return ``-1``, ``0``, " +"``1`` for less than, equal, and greater than, respectively. It is best to " +"pass only ASCII-encoded strings, but the function interprets the input " +"string as ISO-8859-1 if it contains non-ASCII characters." +msgstr "" +"Порівняйте об’єкт Unicode, *uni*, з *string* і поверніть ``-1``, ``0``, " +"``1`` для меншого, рівного та більшого відповідно. Найкраще передавати лише " +"рядки в кодуванні ASCII, але функція інтерпретує вхідний рядок як " +"ISO-8859-1, якщо він містить символи, відмінні від ASCII." + +msgid "This function does not raise exceptions." +msgstr "Ця функція не викликає винятків." + +msgid "Rich compare two Unicode strings and return one of the following:" +msgstr "Rich порівнює два рядки Unicode та повертає одне з наступного:" + +msgid "``NULL`` in case an exception was raised" +msgstr "``NULL`` у разі виникнення винятку" + +msgid ":const:`Py_True` or :const:`Py_False` for successful comparisons" +msgstr ":const:`Py_True` або :const:`Py_False` для успішних порівнянь" + +msgid ":const:`Py_NotImplemented` in case the type combination is unknown" +msgstr ":const:`Py_NotImplemented` у випадку, якщо комбінація типів невідома" + +msgid "" +"Possible values for *op* are :const:`Py_GT`, :const:`Py_GE`, :const:" +"`Py_EQ`, :const:`Py_NE`, :const:`Py_LT`, and :const:`Py_LE`." +msgstr "" +"Можливі значення для *op*: :const:`Py_GT`, :const:`Py_GE`, :const:`Py_EQ`, :" +"const:`Py_NE`, :const:`Py_LT` і :const:`Py_LE`." + +msgid "" +"Return a new string object from *format* and *args*; this is analogous to " +"``format % args``." +msgstr "" +"Повертає новий рядковий об’єкт із *format* і *args*; це аналогічно ``format " +"% args``." + +msgid "" +"Check whether *element* is contained in *container* and return true or false " +"accordingly." +msgstr "" +"Перевірте, чи *елемент* міститься в *контейнері*, і поверніть відповідно " +"true або false." + +msgid "" +"*element* has to coerce to a one element Unicode string. ``-1`` is returned " +"if there was an error." +msgstr "" +"*element* має привести до одноелементного рядка Unicode. ``-1`` " +"повертається, якщо була помилка." + +msgid "" +"Intern the argument *\\*string* in place. The argument must be the address " +"of a pointer variable pointing to a Python Unicode string object. If there " +"is an existing interned string that is the same as *\\*string*, it sets *" +"\\*string* to it (decrementing the reference count of the old string object " +"and incrementing the reference count of the interned string object), " +"otherwise it leaves *\\*string* alone and interns it (incrementing its " +"reference count). (Clarification: even though there is a lot of talk about " +"reference counts, think of this function as reference-count-neutral; you own " +"the object after the call if and only if you owned it before the call.)" +msgstr "" +"Інтернувати аргумент *\\*рядок* на місці. Аргумент має бути адресою змінної " +"покажчика, що вказує на рядковий об’єкт Python Unicode. Якщо існує " +"вбудований рядок, який збігається з *\\*string*, він встановлює для нього *" +"\\*string* (зменшуючи кількість посилань старого рядкового об’єкта та " +"збільшуючи кількість посилань вбудованого рядкового об’єкта), інакше він " +"залишає *\\*рядок* у спокої та інтернує його (збільшуючи його кількість " +"посилань). (Роз’яснення: незважаючи на те, що багато говорять про підрахунок " +"посилань, сприймайте цю функцію як нейтральну до підрахунку посилань; ви " +"володієте об’єктом після виклику тоді і тільки тоді, коли він вам належав до " +"виклику.)" + +msgid "" +"A combination of :c:func:`PyUnicode_FromString` and :c:func:" +"`PyUnicode_InternInPlace`, returning either a new Unicode string object that " +"has been interned, or a new (\"owned\") reference to an earlier interned " +"string object with the same value." +msgstr "" +"Комбінація :c:func:`PyUnicode_FromString` і :c:func:" +"`PyUnicode_InternInPlace`, що повертає новий об’єкт рядка Unicode, який було " +"інтерновано, або нове (\"власне\") посилання на попередній об’єкт " +"інтернованого рядка з те саме значення." diff --git a/c-api/utilities.po b/c-api/utilities.po new file mode 100644 index 000000000..bdf76db26 --- /dev/null +++ b/c-api/utilities.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Utilities" +msgstr "Комунальні послуги" + +msgid "" +"The functions in this chapter perform various utility tasks, ranging from " +"helping C code be more portable across platforms, using Python modules from " +"C, and parsing function arguments and constructing Python values from C " +"values." +msgstr "" +"Функції в цьому розділі виконують різноманітні службові завдання, починаючи " +"від сприяння більшій переносимості коду C на різні платформи, використання " +"модулів Python із C, аналізу аргументів функції та побудови значень Python " +"із значень C." diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po new file mode 100644 index 000000000..ec4eedfcd --- /dev/null +++ b/c-api/veryhigh.po @@ -0,0 +1,537 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The Very High Level Layer" +msgstr "Рівень дуже високого рівня" + +msgid "" +"The functions in this chapter will let you execute Python source code given " +"in a file or a buffer, but they will not let you interact in a more detailed " +"way with the interpreter." +msgstr "" +"Функції в цій главі дозволять вам виконувати вихідний код Python, поданий у " +"файлі або буфері, але вони не дозволять вам більш детально взаємодіяти з " +"інтерпретатором." + +msgid "" +"Several of these functions accept a start symbol from the grammar as a " +"parameter. The available start symbols are :const:`Py_eval_input`, :const:" +"`Py_file_input`, and :const:`Py_single_input`. These are described " +"following the functions which accept them as parameters." +msgstr "" +"Деякі з цих функцій приймають початковий символ із граматики як параметр. " +"Доступні початкові символи: :const:`Py_eval_input`, :const:`Py_file_input` " +"і :const:`Py_single_input`. Вони описані після функцій, які приймають їх як " +"параметри." + +msgid "" +"Note also that several of these functions take :c:expr:`FILE*` parameters. " +"One particular issue which needs to be handled carefully is that the :c:expr:" +"`FILE` structure for different C libraries can be different and " +"incompatible. Under Windows (at least), it is possible for dynamically " +"linked extensions to actually use different libraries, so care should be " +"taken that :c:expr:`FILE*` parameters are only passed to these functions if " +"it is certain that they were created by the same library that the Python " +"runtime is using." +msgstr "" + +msgid "" +"The main program for the standard interpreter. This is made available for " +"programs which embed Python. The *argc* and *argv* parameters should be " +"prepared exactly as those which are passed to a C program's :c:func:`main` " +"function (converted to wchar_t according to the user's locale). It is " +"important to note that the argument list may be modified (but the contents " +"of the strings pointed to by the argument list are not). The return value " +"will be ``0`` if the interpreter exits normally (i.e., without an " +"exception), ``1`` if the interpreter exits due to an exception, or ``2`` if " +"the parameter list does not represent a valid Python command line." +msgstr "" +"Основна програма для стандартного інтерпретатора. Це доступно для програм, " +"які вбудовують Python. Параметри *argc* і *argv* мають бути підготовлені " +"точно так само, як ті, що передаються до функції :c:func:`main` програми C " +"(перетворюються на wchar_t відповідно до локалі користувача). Важливо " +"зауважити, що список аргументів може бути змінений (але не вміст рядків, на " +"які вказує список аргументів). Поверненим значенням буде ``0``, якщо " +"інтерпретатор завершує роботу нормально (тобто без винятку), ``1``, ``1``, " +"якщо інтерпретатор завершує роботу через виняток, або ``2``, якщо список " +"параметрів не представляє дійсний командний рядок Python." + +msgid "" +"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " +"function will not return ``1``, but exit the process, as long as " +"``Py_InspectFlag`` is not set." +msgstr "" +"Зауважте, що якщо викликано необроблений :exc:`SystemExit`, ця функція не " +"поверне ``1``, а вийде з процесу, доки ``Py_InspectFlag`` не встановлено." + +msgid "Similar to :c:func:`Py_Main` but *argv* is an array of bytes strings." +msgstr "Подібно до :c:func:`Py_Main`, але *argv* — це масив рядків байтів." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " +"leaving *closeit* set to ``0`` and *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_AnyFileExFlags` нижче, залишаючи " +"*closeit* встановленим на ``0`` і *flags* встановленим на ``NULL``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " +"leaving the *closeit* argument set to ``0``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_AnyFileExFlags` нижче, залишаючи " +"аргумент *closeit* встановленим на ``0``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " +"leaving the *flags* argument set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_AnyFileExFlags` нижче, залишаючи " +"для аргументу *flags* значення ``NULL``." + +msgid "" +"If *fp* refers to a file associated with an interactive device (console or " +"terminal input or Unix pseudo-terminal), return the value of :c:func:" +"`PyRun_InteractiveLoop`, otherwise return the result of :c:func:" +"`PyRun_SimpleFile`. *filename* is decoded from the filesystem encoding (:" +"func:`sys.getfilesystemencoding`). If *filename* is ``NULL``, this function " +"uses ``\"???\"`` as the filename. If *closeit* is true, the file is closed " +"before ``PyRun_SimpleFileExFlags()`` returns." +msgstr "" +"Якщо *fp* посилається на файл, пов’язаний з інтерактивним пристроєм (консоль " +"або термінал введення чи псевдотермінал Unix), повертає значення :c:func:" +"`PyRun_InteractiveLoop`, інакше повертає результат :c:func:" +"`PyRun_SimpleFile`.*ім’я файлу* розшифровується з кодування файлової системи " +"(:func:`sys.getfilesystemencoding`). Якщо *ім’я файлу* має значення " +"``NULL``, ця функція використовує ``\"???\"`` як ім’я файлу. Якщо *closeit* " +"має значення true, файл закривається до повернення " +"``PyRun_SimpleFileExFlags()``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, " +"leaving the :c:struct:`PyCompilerFlags`\\* argument set to ``NULL``." +msgstr "" + +msgid "" +"Executes the Python source code from *command* in the :mod:`__main__` module " +"according to the *flags* argument. If :mod:`__main__` does not already " +"exist, it is created. Returns ``0`` on success or ``-1`` if an exception " +"was raised. If there was an error, there is no way to get the exception " +"information. For the meaning of *flags*, see below." +msgstr "" +"Виконує вихідний код Python з *команди* в модулі :mod:`__main__` відповідно " +"до аргументу *flags*. Якщо :mod:`__main__` ще не існує, він буде створений. " +"Повертає ``0`` у разі успіху або ``-1``, якщо було викликано виключення. " +"Якщо сталася помилка, неможливо отримати інформацію про винятки. Про " +"значення *прапорів* дивіться нижче." + +msgid "" +"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " +"function will not return ``-1``, but exit the process, as long as " +"``Py_InspectFlag`` is not set." +msgstr "" +"Зауважте, що якщо буде викликано необроблений :exc:`SystemExit`, ця функція " +"не поверне ``-1``, а вийде з процесу, поки не встановлено ``Py_InspectFlag``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " +"leaving *closeit* set to ``0`` and *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_SimpleFileExFlags` нижче, " +"залишаючи *closeit* встановленим на ``0`` і *flags* встановленим на ``NULL``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " +"leaving *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_SimpleFileExFlags` нижче, " +"залишаючи *flags* встановленими на ``NULL``." + +msgid "" +"Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code is " +"read from *fp* instead of an in-memory string. *filename* should be the name " +"of the file, it is decoded from :term:`filesystem encoding and error " +"handler`. If *closeit* is true, the file is closed before " +"``PyRun_SimpleFileExFlags()`` returns." +msgstr "" +"Подібно до :c:func:`PyRun_SimpleStringFlags`, але вихідний код Python " +"читається з *fp* замість рядка в пам’яті. *filename* має бути назвою файлу, " +"воно розшифровується з :term:`filesystem encoding and error handler`. Якщо " +"*closeit* має значення true, файл закривається до повернення " +"``PyRun_SimpleFileExFlags()``." + +msgid "" +"On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, \"rb" +"\")``). Otherwise, Python may not handle script file with LF line ending " +"correctly." +msgstr "" +"У Windows *fp* слід відкривати як бінарний режим (наприклад, " +"``fopen(filename, \"rb\")``). Інакше Python може неправильно обробити файл " +"сценарію з закінченням рядка LF." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_InteractiveOneFlags` below, " +"leaving *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_InteractiveOneFlags` нижче, " +"залишаючи *flags* встановленими на ``NULL``." + +msgid "" +"Read and execute a single statement from a file associated with an " +"interactive device according to the *flags* argument. The user will be " +"prompted using ``sys.ps1`` and ``sys.ps2``. *filename* is decoded from the :" +"term:`filesystem encoding and error handler`." +msgstr "" +"Читання та виконання окремого оператора з файлу, пов’язаного з інтерактивним " +"пристроєм, відповідно до аргументу *flags*. Користувачеві буде запропоновано " +"використовувати ``sys.ps1`` і ``sys.ps2``. *ім’я файлу* розшифровується з :" +"term:`filesystem encoding and error handler`." + +msgid "" +"Returns ``0`` when the input was executed successfully, ``-1`` if there was " +"an exception, or an error code from the :file:`errcode.h` include file " +"distributed as part of Python if there was a parse error. (Note that :file:" +"`errcode.h` is not included by :file:`Python.h`, so must be included " +"specifically if needed.)" +msgstr "" +"Повертає ``0``, якщо введення було виконано успішно, ``-1``, якщо стався " +"виняток, або код помилки з файлу включення :file:`errcode.h`, який " +"поширюється як частина Python, якщо був помилка аналізу. (Зауважте, що :file:" +"`errcode.h` не включено в :file:`Python.h`, тому його потрібно включити " +"спеціально, якщо це необхідно.)" + +msgid "" +"This is a simplified interface to :c:func:`PyRun_InteractiveLoopFlags` " +"below, leaving *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_InteractiveLoopFlags` нижче, " +"залишаючи *flags* встановленими на ``NULL``." + +msgid "" +"Read and execute statements from a file associated with an interactive " +"device until EOF is reached. The user will be prompted using ``sys.ps1`` " +"and ``sys.ps2``. *filename* is decoded from the :term:`filesystem encoding " +"and error handler`. Returns ``0`` at EOF or a negative number upon failure." +msgstr "" +"Читати та виконувати оператори з файлу, пов’язаного з інтерактивним " +"пристроєм, доки не буде досягнуто EOF. Користувачеві буде запропоновано " +"використовувати ``sys.ps1`` і ``sys.ps2``. *ім’я файлу* розшифровується з :" +"term:`filesystem encoding and error handler`. Повертає ``0`` на EOF або " +"від'ємне число у разі помилки." + +msgid "" +"Can be set to point to a function with the prototype ``int func(void)``. " +"The function will be called when Python's interpreter prompt is about to " +"become idle and wait for user input from the terminal. The return value is " +"ignored. Overriding this hook can be used to integrate the interpreter's " +"prompt with other event loops, as done in the :file:`Modules/_tkinter.c` in " +"the Python source code." +msgstr "" +"Може вказувати на функцію з прототипом ``int func(void)``. Функція буде " +"викликана, коли підказка інтерпретатора Python збирається перейти в режим " +"очікування та чекати введення користувача з терміналу. Повернене значення " +"ігнорується. Перевизначення цього хука можна використати для інтеграції " +"підказки інтерпретатора з іншими циклами подій, як це зроблено в :file:" +"`Modules/_tkinter.c` у вихідному коді Python." + +msgid "" +"Can be set to point to a function with the prototype ``char *func(FILE " +"*stdin, FILE *stdout, char *prompt)``, overriding the default function used " +"to read a single line of input at the interpreter's prompt. The function is " +"expected to output the string *prompt* if it's not ``NULL``, and then read a " +"line of input from the provided standard input file, returning the resulting " +"string. For example, The :mod:`readline` module sets this hook to provide " +"line-editing and tab-completion features." +msgstr "" +"Можна налаштувати так, щоб вказувати на функцію з прототипом ``char " +"*func(FILE *stdin, FILE *stdout, char *prompt)``, замінюючи функцію за " +"замовчуванням, яка використовується для читання одного рядка введення в " +"підказці інтерпретатора. Очікується, що функція виведе рядок *prompt*, якщо " +"він не ``NULL``, а потім прочитає рядок введення з наданого стандартного " +"файлу введення, повертаючи результуючий рядок. Наприклад, модуль :mod:" +"`readline` встановлює цей хук для надання функцій редагування рядка та " +"завершення табуляції." + +msgid "" +"The result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:" +"func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred." +msgstr "" +"Результат має бути рядком, виділеним :c:func:`PyMem_RawMalloc` або :c:func:" +"`PyMem_RawRealloc`, або ``NULL``, якщо сталася помилка." + +msgid "" +"The result must be allocated by :c:func:`PyMem_RawMalloc` or :c:func:" +"`PyMem_RawRealloc`, instead of being allocated by :c:func:`PyMem_Malloc` or :" +"c:func:`PyMem_Realloc`." +msgstr "" +"Результат має бути виділено за допомогою :c:func:`PyMem_RawMalloc` або :c:" +"func:`PyMem_RawRealloc`, а не за допомогою :c:func:`PyMem_Malloc` або :c:" +"func:`PyMem_Realloc`." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving " +"*flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_StringFlags` нижче, залишаючи " +"*flags* встановленими на ``NULL``." + +msgid "" +"Execute Python source code from *str* in the context specified by the " +"objects *globals* and *locals* with the compiler flags specified by " +"*flags*. *globals* must be a dictionary; *locals* can be any object that " +"implements the mapping protocol. The parameter *start* specifies the start " +"token that should be used to parse the source code." +msgstr "" +"Виконайте вихідний код Python із *str* у контексті, визначеному об’єктами " +"*globals* і *locals* з прапорцями компілятора, визначеними *flags*. " +"*globals* має бути словником; *locals* може бути будь-яким об’єктом, який " +"реалізує протокол відображення. Параметр *start* визначає початковий маркер, " +"який слід використовувати для аналізу вихідного коду." + +msgid "" +"Returns the result of executing the code as a Python object, or ``NULL`` if " +"an exception was raised." +msgstr "" +"Повертає результат виконання коду як об’єкт Python або ``NULL``, якщо було " +"викликано виняткову ситуацію." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " +"*closeit* set to ``0`` and *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_FileExFlags` нижче, залишаючи " +"*closeit* встановленим на ``0`` і *flags* встановленим на ``NULL``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " +"*flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_FileExFlags` нижче, залишаючи " +"*flags* встановленими на ``NULL``." + +msgid "" +"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " +"*closeit* set to ``0``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyRun_FileExFlags` нижче, залишаючи " +"*closeit* встановленим на ``0``." + +msgid "" +"Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read " +"from *fp* instead of an in-memory string. *filename* should be the name of " +"the file, it is decoded from the :term:`filesystem encoding and error " +"handler`. If *closeit* is true, the file is closed before :c:func:" +"`PyRun_FileExFlags` returns." +msgstr "" +"Подібно до :c:func:`PyRun_StringFlags`, але вихідний код Python читається з " +"*fp* замість рядка в пам’яті. *ім’я файлу* має бути ім’ям файлу, воно " +"декодується з :term:`filesystem encoding and error handler`. Якщо *closeit* " +"має значення true, файл закривається до повернення :c:func:" +"`PyRun_FileExFlags`." + +msgid "" +"This is a simplified interface to :c:func:`Py_CompileStringFlags` below, " +"leaving *flags* set to ``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`Py_CompileStringFlags` нижче, залишаючи " +"*flags* встановленими на ``NULL``." + +msgid "" +"This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, " +"with *optimize* set to ``-1``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`Py_CompileStringExFlags` нижче, з " +"*optimize* встановленим на ``-1``." + +msgid "" +"Parse and compile the Python source code in *str*, returning the resulting " +"code object. The start token is given by *start*; this can be used to " +"constrain the code which can be compiled and should be :const:" +"`Py_eval_input`, :const:`Py_file_input`, or :const:`Py_single_input`. The " +"filename specified by *filename* is used to construct the code object and " +"may appear in tracebacks or :exc:`SyntaxError` exception messages. This " +"returns ``NULL`` if the code cannot be parsed or compiled." +msgstr "" +"Проаналізуйте та скомпілюйте вихідний код Python у *str*, повертаючи " +"отриманий об’єкт коду. Початковий маркер задається *start*; це можна " +"використовувати для обмеження коду, який можна скомпілювати, і має бути :" +"const:`Py_eval_input`, :const:`Py_file_input` або :const:`Py_single_input`. " +"Ім’я файлу, указане *filename*, використовується для створення об’єкта коду " +"та може з’являтися в повідомленнях про відстеження або :exc:`SyntaxError` " +"про виключення. Це повертає ``NULL``, якщо код неможливо проаналізувати або " +"скомпілювати." + +msgid "" +"The integer *optimize* specifies the optimization level of the compiler; a " +"value of ``-1`` selects the optimization level of the interpreter as given " +"by :option:`-O` options. Explicit levels are ``0`` (no optimization; " +"``__debug__`` is true), ``1`` (asserts are removed, ``__debug__`` is false) " +"or ``2`` (docstrings are removed too)." +msgstr "" +"Ціле число *optimize* визначає рівень оптимізації компілятора; значення " +"``-1`` вибирає рівень оптимізації інтерпретатора, як задано параметрами :" +"option:`-O`. Явні рівні: ``0`` (немає оптимізації; ``__debug__`` є " +"істинним), ``1`` (затвердження видалено, ``__debug__`` є хибним) або ``2`` " +"(рядки документа також видалено )." + +msgid "" +"Like :c:func:`Py_CompileStringObject`, but *filename* is a byte string " +"decoded from the :term:`filesystem encoding and error handler`." +msgstr "" +"Подібно до :c:func:`Py_CompileStringObject`, але *filename* — це рядок " +"байтів, декодований з :term:`filesystem encoding and error handler`." + +msgid "" +"This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the " +"code object, and global and local variables. The other arguments are set to " +"``NULL``." +msgstr "" +"Це спрощений інтерфейс для :c:func:`PyEval_EvalCodeEx` лише з об’єктом коду " +"та глобальними та локальними змінними. Інші аргументи мають значення " +"``NULL``." + +msgid "" +"Evaluate a precompiled code object, given a particular environment for its " +"evaluation. This environment consists of a dictionary of global variables, " +"a mapping object of local variables, arrays of arguments, keywords and " +"defaults, a dictionary of default values for :ref:`keyword-only ` arguments and a closure tuple of cells." +msgstr "" +"Оцініть попередньо скомпільований об’єкт коду з урахуванням певного " +"середовища для його оцінки. Це середовище складається зі словника глобальних " +"змінних, об’єкта відображення локальних змінних, масивів аргументів, " +"ключових слів і значень за замовчуванням, словника значень за замовчуванням " +"для аргументів :ref:`keyword-only ` і закриваючого " +"кортежу клітинок." + +msgid "" +"Evaluate an execution frame. This is a simplified interface to :c:func:" +"`PyEval_EvalFrameEx`, for backward compatibility." +msgstr "" +"Оцініть кадр виконання. Це спрощений інтерфейс для :c:func:" +"`PyEval_EvalFrameEx` для зворотної сумісності." + +msgid "" +"This is the main, unvarnished function of Python interpretation. The code " +"object associated with the execution frame *f* is executed, interpreting " +"bytecode and executing calls as needed. The additional *throwflag* " +"parameter can mostly be ignored - if true, then it causes an exception to " +"immediately be thrown; this is used for the :meth:`~generator.throw` methods " +"of generator objects." +msgstr "" +"Це основна функція інтерпретації Python без прикрас. Об’єкт коду, пов’язаний " +"із кадром виконання *f*, виконується, інтерпретуючи байт-код і виконуючи " +"виклики за потреби. Додатковий параметр *throwflag* здебільшого можна " +"ігнорувати - якщо воно істинне, то це спричиняє миттєве виключення винятку; " +"це використовується для методів :meth:`~generator.throw` об’єктів генератора." + +msgid "" +"This function now includes a debug assertion to help ensure that it does not " +"silently discard an active exception." +msgstr "" +"Ця функція тепер включає твердження налагодження, щоб гарантувати, що вона " +"не відкидає мовчки активний виняток." + +msgid "" +"This function changes the flags of the current evaluation frame, and returns " +"true on success, false on failure." +msgstr "" +"Ця функція змінює прапори поточного кадру оцінки та повертає true у разі " +"успіху, false у разі невдачі." + +msgid "" +"The start symbol from the Python grammar for isolated expressions; for use " +"with :c:func:`Py_CompileString`." +msgstr "" +"Початковий символ із граматики Python для ізольованих виразів; для " +"використання з :c:func:`Py_CompileString`." + +msgid "" +"The start symbol from the Python grammar for sequences of statements as read " +"from a file or other source; for use with :c:func:`Py_CompileString`. This " +"is the symbol to use when compiling arbitrarily long Python source code." +msgstr "" +"Початковий символ із граматики Python для послідовностей операторів, " +"прочитаних із файлу чи іншого джерела; для використання з :c:func:" +"`Py_CompileString`. Це символ, який слід використовувати під час компіляції " +"будь-якої довжини вихідного коду Python." + +msgid "" +"The start symbol from the Python grammar for a single statement; for use " +"with :c:func:`Py_CompileString`. This is the symbol used for the interactive " +"interpreter loop." +msgstr "" +"Початковий символ із граматики Python для окремого оператора; для " +"використання з :c:func:`Py_CompileString`. Це символ, який використовується " +"для інтерактивного циклу інтерпретатора." + +msgid "" +"This is the structure used to hold compiler flags. In cases where code is " +"only being compiled, it is passed as ``int flags``, and in cases where code " +"is being executed, it is passed as ``PyCompilerFlags *flags``. In this " +"case, ``from __future__ import`` can modify *flags*." +msgstr "" +"Це структура, яка використовується для зберігання прапорів компілятора. У " +"випадках, коли код лише компілюється, він передається як ``прапорці int``, а " +"у випадках, коли код виконується, він передається як ``PyCompilerFlags " +"*flags``. У цьому випадку ``from __future__ import`` може змінювати " +"*прапори*." + +msgid "" +"Whenever ``PyCompilerFlags *flags`` is ``NULL``, :attr:`cf_flags` is treated " +"as equal to ``0``, and any modification due to ``from __future__ import`` is " +"discarded." +msgstr "" +"Щоразу, коли ``PyCompilerFlags *flags`` має значення ``NULL``, :attr:" +"`cf_flags` розглядається як рівний ``0``, і будь-які зміни через ``from " +"__future__ import`` відкидаються." + +msgid "Compiler flags." +msgstr "Прапори компілятора." + +msgid "" +"*cf_feature_version* is the minor Python version. It should be initialized " +"to ``PY_MINOR_VERSION``." +msgstr "" +"*cf_feature_version* є другорядною версією Python. Його слід ініціалізувати " +"як ``PY_MINOR_VERSION``." + +msgid "" +"The field is ignored by default, it is used if and only if ``PyCF_ONLY_AST`` " +"flag is set in *cf_flags*." +msgstr "" +"Поле ігнорується за замовчуванням, воно використовується тоді і тільки якщо " +"прапорець ``PyCF_ONLY_AST`` встановлено в *cf_flags*." + +msgid "Added *cf_feature_version* field." +msgstr "Додано поле *cf_feature_version*." + +msgid "" +"This bit can be set in *flags* to cause division operator ``/`` to be " +"interpreted as \"true division\" according to :pep:`238`." +msgstr "" +"Цей біт можна встановити у *flags*, щоб оператор ділення ``/`` " +"інтерпретувався як \"дійсне ділення\" відповідно до :pep:`238`." diff --git a/c-api/weakref.po b/c-api/weakref.po new file mode 100644 index 000000000..211e67dc4 --- /dev/null +++ b/c-api/weakref.po @@ -0,0 +1,98 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Weak Reference Objects" +msgstr "Слабкі довідкові об’єкти" + +msgid "" +"Python supports *weak references* as first-class objects. There are two " +"specific object types which directly implement weak references. The first " +"is a simple reference object, and the second acts as a proxy for the " +"original object as much as it can." +msgstr "" +"Python підтримує *слабкі посилання* як об’єкти першого класу. Існує два типи " +"об’єктів, які безпосередньо реалізують слабкі посилання. Перший є простим " +"довідковим об’єктом, а другий діє як проксі для оригінального об’єкта, " +"наскільки це можливо." + +msgid "" +"Return true if *ob* is either a reference or proxy object. This function " +"always succeeds." +msgstr "" +"Повертає true, якщо *ob* є посиланням або проксі-об’єктом. Ця функція завжди " +"успішна." + +msgid "" +"Return true if *ob* is a reference object. This function always succeeds." +msgstr "" +"Повертає true, якщо *ob* є посиланням на об’єкт. Ця функція завжди успішна." + +msgid "Return true if *ob* is a proxy object. This function always succeeds." +msgstr "Повертає true, якщо *ob* є проксі-об’єктом. Ця функція завжди успішна." + +msgid "" +"Return a weak reference object for the object *ob*. This will always return " +"a new reference, but is not guaranteed to create a new object; an existing " +"reference object may be returned. The second parameter, *callback*, can be " +"a callable object that receives notification when *ob* is garbage collected; " +"it should accept a single parameter, which will be the weak reference object " +"itself. *callback* may also be ``None`` or ``NULL``. If *ob* is not a " +"weakly referencable object, or if *callback* is not callable, ``None``, or " +"``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." +msgstr "" + +msgid "" +"Return a weak reference proxy object for the object *ob*. This will always " +"return a new reference, but is not guaranteed to create a new object; an " +"existing proxy object may be returned. The second parameter, *callback*, " +"can be a callable object that receives notification when *ob* is garbage " +"collected; it should accept a single parameter, which will be the weak " +"reference object itself. *callback* may also be ``None`` or ``NULL``. If " +"*ob* is not a weakly referencable object, or if *callback* is not callable, " +"``None``, or ``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." +msgstr "" + +msgid "" +"Return the referenced object from a weak reference, *ref*. If the referent " +"is no longer live, returns :const:`Py_None`." +msgstr "" +"Повертає об’єкт, на який посилається, зі слабкого посилання, *ref*. Якщо " +"референт більше не працює, повертає :const:`Py_None`." + +msgid "" +"This function returns a :term:`borrowed reference` to the referenced object. " +"This means that you should always call :c:func:`Py_INCREF` on the object " +"except when it cannot be destroyed before the last usage of the borrowed " +"reference." +msgstr "" +"Ця функція повертає :term:`borrowed reference` на об’єкт, на який " +"посилається. Це означає, що ви завжди повинні викликати :c:func:`Py_INCREF` " +"для об’єкта, за винятком випадків, коли його не можна знищити перед останнім " +"використанням запозиченого посилання." + +msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking." +msgstr "" diff --git a/contents.po b/contents.po new file mode 100644 index 000000000..b83b21ec3 --- /dev/null +++ b/contents.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (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..c797c61f6 --- /dev/null +++ b/copyright.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (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 "Python і ця документація має:" + +msgid "Copyright © 2001-2022 Python Software Foundation. All rights reserved." +msgstr "Copyright © 2001-2022 Python Software Foundation. All rights reserved." + +msgid "Copyright © 2000 BeOpen.com. All rights reserved." +msgstr "Copyright © 2000 BeOpen.com. All rights reserved." + +msgid "" +"Copyright © 1995-2000 Corporation for National Research Initiatives. All " +"rights reserved." +msgstr "" +"Copyright © 1995-2000 Corporation for National Research Initiatives. All " +"rights reserved." + +msgid "" +"Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved." +msgstr "" +"Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved." + +msgid "" +"See :ref:`history-and-license` for complete license and permissions " +"information." +msgstr "" +"Перегляньте :ref:`history-and-license` для повної інформації про ліцензії та " +"дозволи." diff --git a/distributing/index.po b/distributing/index.po new file mode 100644 index 000000000..fe8a78ab8 --- /dev/null +++ b/distributing/index.po @@ -0,0 +1,313 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Distributing Python Modules" +msgstr "Розповсюдження модулів Python" + +msgid "Email" +msgstr "Електронна пошта" + +msgid "distutils-sig@python.org" +msgstr "distutils-sig@python.org" + +msgid "" +"As a popular open source development project, Python has an active " +"supporting community of contributors and users that also make their software " +"available for other Python developers to use under open source license terms." +msgstr "" +"Як популярний проект розробки з відкритим кодом, Python має активну " +"спільноту учасників і користувачів, які також надають своє програмне " +"забезпечення іншим розробникам Python для використання на умовах ліцензії з " +"відкритим кодом." + +msgid "" +"This allows Python users to share and collaborate effectively, benefiting " +"from the solutions others have already created to common (and sometimes even " +"rare!) problems, as well as potentially contributing their own solutions to " +"the common pool." +msgstr "" +"Це дозволяє користувачам Python ефективно ділитися та співпрацювати, " +"отримуючи вигоду від рішень, які інші вже створили для поширених (а іноді " +"навіть рідкісних!) проблем, а також потенційно вносячи власні рішення в " +"загальний пул." + +msgid "" +"This guide covers the distribution part of the process. For a guide to " +"installing other Python projects, refer to the :ref:`installation guide " +"`." +msgstr "" +"Цей посібник описує частину процесу розповсюдження. Щоб отримати посібник із " +"встановлення інших проектів Python, зверніться до :ref:`посібника з " +"встановлення `." + +msgid "" +"For corporate and other institutional users, be aware that many " +"organisations have their own policies around using and contributing to open " +"source software. Please take such policies into account when making use of " +"the distribution and installation tools provided with Python." +msgstr "" +"Для корпоративних та інших інституційних користувачів пам’ятайте, що багато " +"організацій мають власні політики щодо використання програмного забезпечення " +"з відкритим вихідним кодом і надання допомоги в ньому. Будь ласка, візьміть " +"до уваги ці правила під час використання інструментів розповсюдження та " +"встановлення, які надаються разом з Python." + +msgid "Key terms" +msgstr "Ключові терміни" + +msgid "" +"the `Python Package Index `__ is a public repository of " +"open source licensed packages made available for use by other Python users" +msgstr "" +"`Python Package Index `__ є загальнодоступним сховищем " +"ліцензованих пакетів з відкритим вихідним кодом, доступним для використання " +"іншими користувачами Python" + +msgid "" +"the `Python Packaging Authority `__ are the group of " +"developers and documentation authors responsible for the maintenance and " +"evolution of the standard packaging tools and the associated metadata and " +"file format standards. They maintain a variety of tools, documentation and " +"issue trackers on both `GitHub `__ and `Bitbucket " +"`__." +msgstr "" +"`Python Packaging Authority `__ — це група розробників " +"і авторів документації, відповідальних за підтримку та розвиток стандартних " +"інструментів пакування та відповідних стандартів метаданих і форматів " +"файлів. Вони підтримують різноманітні інструменти, документацію та засоби " +"відстеження проблем як на `GitHub `__, так і " +"`Bitbucket `__." + +msgid "" +":mod:`distutils` is the original build and distribution system first added " +"to the Python standard library in 1998. While direct use of :mod:`distutils` " +"is being phased out, it still laid the foundation for the current packaging " +"and distribution infrastructure, and it not only remains part of the " +"standard library, but its name lives on in other ways (such as the name of " +"the mailing list used to coordinate Python packaging standards development)." +msgstr "" +":mod:`distutils` — це оригінальна система збірки та розповсюдження, яка " +"вперше була додана до стандартної бібліотеки Python у 1998 році. Хоча пряме " +"використання :mod:`distutils` поступово припиняється, вона все ж заклала " +"основу для поточної інфраструктури пакування та розповсюдження. , і він не " +"лише залишається частиною стандартної бібліотеки, але його ім’я живе іншими " +"способами (наприклад, ім’я списку розсилки, який використовується для " +"координації розробки стандартів пакування Python)." + +msgid "" +"`setuptools`_ is a (largely) drop-in replacement for :mod:`distutils` first " +"published in 2004. Its most notable addition over the unmodified :mod:" +"`distutils` tools was the ability to declare dependencies on other packages. " +"It is currently recommended as a more regularly updated alternative to :mod:" +"`distutils` that offers consistent support for more recent packaging " +"standards across a wide range of Python versions." +msgstr "" +"`setuptools`_ — це (в основному) додаткова заміна :mod:`distutils`, яка була " +"вперше опублікована в 2004 році. Найпомітнішим доповненням до " +"немодифікованих інструментів :mod:`distutils` була можливість оголошувати " +"залежності від інших пакунків. Наразі його рекомендують як регулярніше " +"оновлену альтернативу :mod:`distutils`, яка пропонує послідовну підтримку " +"новіших стандартів пакування в широкому діапазоні версій Python." + +msgid "" +"`wheel`_ (in this context) is a project that adds the ``bdist_wheel`` " +"command to :mod:`distutils`/`setuptools`_. This produces a cross platform " +"binary packaging format (called \"wheels\" or \"wheel files\" and defined " +"in :pep:`427`) that allows Python libraries, even those including binary " +"extensions, to be installed on a system without needing to be built locally." +msgstr "" +"`wheel`_ (у цьому контексті) — це проект, який додає команду ``bdist_wheel`` " +"до :mod:`distutils`/`setuptools`_. Це створює міжплатформний двійковий " +"формат пакування (який називається \"колеса\" або \"файли коліс\" і " +"визначено в :pep:`427`), який дозволяє бібліотекам Python, навіть тим, що " +"включають двійкові розширення, встановлювати в систему без необхідності " +"збирання локально." + +msgid "Open source licensing and collaboration" +msgstr "Ліцензування та співпраця з відкритим кодом" + +msgid "" +"In most parts of the world, software is automatically covered by copyright. " +"This means that other developers require explicit permission to copy, use, " +"modify and redistribute the software." +msgstr "" +"У більшості країн світу на програмне забезпечення автоматично поширюється " +"авторське право. Це означає, що іншим розробникам потрібен явний дозвіл на " +"копіювання, використання, зміну та повторне розповсюдження програмного " +"забезпечення." + +msgid "" +"Open source licensing is a way of explicitly granting such permission in a " +"relatively consistent way, allowing developers to share and collaborate " +"efficiently by making common solutions to various problems freely available. " +"This leaves many developers free to spend more time focusing on the problems " +"that are relatively unique to their specific situation." +msgstr "" +"Ліцензування з відкритим вихідним кодом — це спосіб явного надання такого " +"дозволу відносно послідовним способом, що дозволяє розробникам ділитися та " +"ефективно співпрацювати, надаючи загальні рішення для різних проблем у " +"вільний доступ. Це дозволяє багатьом розробникам витрачати більше часу, " +"зосереджуючись на проблемах, які відносно унікальні для їх конкретної " +"ситуації." + +msgid "" +"The distribution tools provided with Python are designed to make it " +"reasonably straightforward for developers to make their own contributions " +"back to that common pool of software if they choose to do so." +msgstr "" +"Інструменти розповсюдження, що надаються разом із Python, створені для того, " +"щоб розробникам було достатньо просто зробити свій внесок у цей загальний " +"пул програмного забезпечення, якщо вони вирішать це зробити." + +msgid "" +"The same distribution tools can also be used to distribute software within " +"an organisation, regardless of whether that software is published as open " +"source software or not." +msgstr "" +"Ті самі інструменти розповсюдження також можна використовувати для " +"розповсюдження програмного забезпечення всередині організації, незалежно від " +"того, опубліковано це програмне забезпечення як програмне забезпечення з " +"відкритим кодом чи ні." + +msgid "Installing the tools" +msgstr "Установка інструментів" + +msgid "" +"The standard library does not include build tools that support modern Python " +"packaging standards, as the core development team has found that it is " +"important to have standard tools that work consistently, even on older " +"versions of Python." +msgstr "" +"Стандартна бібліотека не включає інструменти збірки, які підтримують сучасні " +"стандарти упаковки Python, оскільки основна команда розробників виявила, що " +"важливо мати стандартні інструменти, які працюють узгоджено, навіть на " +"старих версіях Python." + +msgid "" +"The currently recommended build and distribution tools can be installed by " +"invoking the ``pip`` module at the command line::" +msgstr "" +"Наразі рекомендовані інструменти збирання та розповсюдження можна " +"встановити, викликавши модуль ``pip`` у командному рядку::" + +msgid "" +"For POSIX users (including macOS and Linux users), these instructions assume " +"the use of a :term:`virtual environment`." +msgstr "" +"Для користувачів POSIX (включаючи користувачів macOS і Linux) ці інструкції " +"передбачають використання :term:`virtual environment`." + +msgid "" +"For Windows users, these instructions assume that the option to adjust the " +"system PATH environment variable was selected when installing Python." +msgstr "" +"Для користувачів Windows ці інструкції припускають, що під час інсталяції " +"Python було вибрано параметр налаштування системної змінної середовища PATH." + +msgid "" +"The Python Packaging User Guide includes more details on the `currently " +"recommended tools`_." +msgstr "" +"Посібник користувача з пакування Python містить додаткові відомості про " +"`currently recommended tools`_." + +msgid "Reading the Python Packaging User Guide" +msgstr "Читання посібника користувача з пакування Python" + +msgid "" +"The Python Packaging User Guide covers the various key steps and elements " +"involved in creating and publishing a project:" +msgstr "" +"Посібник користувача з пакування Python охоплює різні ключові кроки та " +"елементи, пов’язані зі створенням і публікацією проекту:" + +msgid "`Project structure`_" +msgstr "Структура проекту (`Project structure`_)" + +msgid "`Building and packaging the project`_" +msgstr "Створення та упаковка проекту (`Building and packaging the project`_)" + +msgid "`Uploading the project to the Python Package Index`_" +msgstr "`Завантаження проекту в індекс пакетів Python`_" + +msgid "`The .pypirc file`_" +msgstr "`Файл .pypirc`_" + +msgid "How do I...?" +msgstr "Як мені...?" + +msgid "These are quick answers or links for some common tasks." +msgstr "Це короткі відповіді або посилання для деяких типових завдань." + +msgid "... choose a name for my project?" +msgstr "... вибрати назву для мого проекту?" + +msgid "This isn't an easy topic, but here are a few tips:" +msgstr "Це непроста тема, але ось кілька порад:" + +msgid "check the Python Package Index to see if the name is already in use" +msgstr "" +"перевірте індекс пакета Python, щоб побачити, чи ім’я вже використовується" + +msgid "" +"check popular hosting sites like GitHub, Bitbucket, etc to see if there is " +"already a project with that name" +msgstr "" +"перевірте популярні сайти хостингу, такі як GitHub, Bitbucket тощо, щоб " +"побачити, чи вже існує проект із такою назвою" + +msgid "check what comes up in a web search for the name you're considering" +msgstr "" +"перевірте, що з’являється під час веб-пошуку для імені, яке ви розглядаєте" + +msgid "" +"avoid particularly common words, especially ones with multiple meanings, as " +"they can make it difficult for users to find your software when searching " +"for it" +msgstr "" +"уникайте особливо загальних слів, особливо багатозначних, оскільки вони " +"можуть ускладнити користувачам пошук вашого програмного забезпечення під час " +"його пошуку" + +msgid "... create and distribute binary extensions?" +msgstr "... створювати та розповсюджувати двійкові розширення?" + +msgid "" +"This is actually quite a complex topic, with a variety of alternatives " +"available depending on exactly what you're aiming to achieve. See the Python " +"Packaging User Guide for more information and recommendations." +msgstr "" +"Насправді це досить складна тема, з різними доступними альтернативами " +"залежно від того, чого саме ви прагнете досягти. Додаткову інформацію та " +"рекомендації див. у Посібнику користувача з пакування Python." + +msgid "" +"`Python Packaging User Guide: Binary Extensions `__" +msgstr "" +"`Посібник користувача з пакування Python: двійкові розширення `__" diff --git a/distutils/_setuptools_disclaimer.po b/distutils/_setuptools_disclaimer.po new file mode 100644 index 000000000..f2b318732 --- /dev/null +++ b/distutils/_setuptools_disclaimer.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." diff --git a/distutils/apiref.po b/distutils/apiref.po new file mode 100644 index 000000000..c49f23220 --- /dev/null +++ b/distutils/apiref.po @@ -0,0 +1,2916 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "API Reference" +msgstr "Довідник з API" + +msgid "`New and changed setup.py arguments in setuptools`_" +msgstr "`Нові та змінені аргументи setup.py в setuptools`_" + +msgid "" +"The ``setuptools`` project adds new capabilities to the ``setup`` function " +"and other APIs, makes the API consistent across different Python versions, " +"and is hence recommended over using ``distutils`` directly." +msgstr "" +"Проект ``setuptools`` додає нові можливості до функції ``setup`` та інших " +"інтерфейсів API, робить API узгодженим для різних версій Python, і тому " +"рекомендується замість безпосереднього використання ``distutils``." + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid ":mod:`distutils.core` --- Core Distutils functionality" +msgstr ":mod:`distutils.core` --- Основні функції Distutils" + +msgid "" +"The :mod:`distutils.core` module is the only module that needs to be " +"installed to use the Distutils. It provides the :func:`setup` (which is " +"called from the setup script). Indirectly provides the :class:`distutils." +"dist.Distribution` and :class:`distutils.cmd.Command` class." +msgstr "" +"Модуль :mod:`distutils.core` — це єдиний модуль, який потрібно встановити " +"для використання Distutils. Він забезпечує :func:`setup` (який викликається " +"зі сценарію налаштування). Опосередковано надає клас :class:`distutils.dist." +"Distribution` і :class:`distutils.cmd.Command`." + +msgid "" +"The basic do-everything function that does most everything you could ever " +"ask for from a Distutils method." +msgstr "" +"Основна функція \"зроби все\", яка робить майже все, що ви можете попросити " +"від методу Distutils." + +msgid "" +"The setup function takes a large number of arguments. These are laid out in " +"the following table." +msgstr "" +"Функція налаштування приймає велику кількість аргументів. Вони наведені в " +"наступній таблиці." + +msgid "argument name" +msgstr "назва аргументу" + +msgid "value" +msgstr "значення" + +msgid "type" +msgstr "типу" + +msgid "*name*" +msgstr "*ім'я*" + +msgid "The name of the package" +msgstr "Назва пакета" + +msgid "a string" +msgstr "рядок" + +msgid "*version*" +msgstr "*версія*" + +msgid "The version number of the package; see :mod:`distutils.version`" +msgstr "номер версії пакета; див. :mod:`distutils.version`" + +msgid "*description*" +msgstr "*опис*" + +msgid "A single line describing the package" +msgstr "Один рядок, що описує пакет" + +msgid "*long_description*" +msgstr "*довгий_опис*" + +msgid "Longer description of the package" +msgstr "Довший опис пакету" + +msgid "*author*" +msgstr "*автор*" + +msgid "The name of the package author" +msgstr "Ім'я автора пакета" + +msgid "*author_email*" +msgstr "*email_автора*" + +msgid "The email address of the package author" +msgstr "Адреса електронної пошти автора пакета" + +msgid "*maintainer*" +msgstr "*супроводжувач*" + +msgid "" +"The name of the current maintainer, if different from the author. Note that " +"if the maintainer is provided, distutils will use it as the author in :file:" +"`PKG-INFO`" +msgstr "" +"Ім'я поточного супроводжуючого, якщо воно відрізняється від автора. " +"Зауважте, що якщо супроводжувач надано, distutils використовуватиме його як " +"автора у :file:`PKG-INFO`" + +msgid "*maintainer_email*" +msgstr "*email_maintainer_email*" + +msgid "" +"The email address of the current maintainer, if different from the author" +msgstr "" +"Електронна адреса поточного супроводжуючого, якщо вона відрізняється від " +"автора" + +msgid "*url*" +msgstr "*url*" + +msgid "A URL for the package (homepage)" +msgstr "URL-адреса пакета (домашня сторінка)" + +msgid "*download_url*" +msgstr "*URL-адреса_завантаження*" + +msgid "A URL to download the package" +msgstr "URL-адреса для завантаження пакета" + +msgid "*packages*" +msgstr "*пакети*" + +msgid "A list of Python packages that distutils will manipulate" +msgstr "Список пакетів Python, якими distutils працюватиме" + +msgid "a list of strings" +msgstr "список рядків" + +msgid "*py_modules*" +msgstr "*py_modules*" + +msgid "A list of Python modules that distutils will manipulate" +msgstr "Список модулів Python, якими distutils працюватиме" + +msgid "*scripts*" +msgstr "*скрипти*" + +msgid "A list of standalone script files to be built and installed" +msgstr "" +"Список автономних файлів сценаріїв, які потрібно створити та встановити" + +msgid "*ext_modules*" +msgstr "*ext_modules*" + +msgid "A list of Python extensions to be built" +msgstr "Список розширень Python для створення" + +msgid "a list of instances of :class:`distutils.core.Extension`" +msgstr "список екземплярів :class:`distutils.core.Extension`" + +msgid "*classifiers*" +msgstr "*класифікатори*" + +msgid "A list of categories for the package" +msgstr "Список категорій для пакета" + +msgid "" +"a list of strings; valid classifiers are listed on `PyPI `_." +msgstr "" +"список рядків; дійсні класифікатори перераховані на `PyPI `_." + +msgid "*distclass*" +msgstr "*distclass*" + +msgid "the :class:`Distribution` class to use" +msgstr "клас :class:`Distribution` для використання" + +msgid "a subclass of :class:`distutils.core.Distribution`" +msgstr "підклас :class:`distutils.core.Distribution`" + +msgid "*script_name*" +msgstr "*script_name*" + +msgid "The name of the setup.py script - defaults to ``sys.argv[0]``" +msgstr "Назва сценарію setup.py - за умовчанням ``sys.argv[0]``" + +msgid "*script_args*" +msgstr "*script_args*" + +msgid "Arguments to supply to the setup script" +msgstr "Аргументи для налаштування сценарію" + +msgid "*options*" +msgstr "*опції*" + +msgid "default options for the setup script" +msgstr "параметри за замовчуванням для сценарію налаштування" + +msgid "a dictionary" +msgstr "словник" + +msgid "*license*" +msgstr "*ліцензія*" + +msgid "The license for the package" +msgstr "Ліцензія на пакет" + +msgid "*keywords*" +msgstr "*ключові слова*" + +msgid "Descriptive meta-data, see :pep:`314`" +msgstr "Описові метадані див. :pep:`314`" + +msgid "a list of strings or a comma-separated string" +msgstr "список рядків або рядок, розділений комами" + +msgid "*platforms*" +msgstr "*платформи*" + +msgid "*cmdclass*" +msgstr "*cmdclass*" + +msgid "A mapping of command names to :class:`Command` subclasses" +msgstr "Відображення назв команд на підкласи :class:`Command`" + +msgid "*data_files*" +msgstr "*файли_даних*" + +msgid "A list of data files to install" +msgstr "Список файлів даних для встановлення" + +msgid "a list" +msgstr "список" + +msgid "*package_dir*" +msgstr "*package_dir*" + +msgid "A mapping of package to directory names" +msgstr "Відображення пакета в іменах каталогу" + +msgid "" +"Run a setup script in a somewhat controlled environment, and return the :" +"class:`distutils.dist.Distribution` instance that drives things. This is " +"useful if you need to find out the distribution meta-data (passed as " +"keyword args from *script* to :func:`setup`), or the contents of the config " +"files or command-line." +msgstr "" +"Запустіть сценарій налаштування в дещо контрольованому середовищі та " +"поверніть екземпляр :class:`distutils.dist.Distribution`, який керує діями. " +"Це корисно, якщо вам потрібно дізнатися метадані розповсюдження (передані як " +"аргументи ключового слова від *script* до :func:`setup`), або вміст " +"конфігураційних файлів чи командного рядка." + +msgid "" +"*script_name* is a file that will be read and run with :func:`exec`. ``sys." +"argv[0]`` will be replaced with *script* for the duration of the call. " +"*script_args* is a list of strings; if supplied, ``sys.argv[1:]`` will be " +"replaced by *script_args* for the duration of the call." +msgstr "" +"*script_name* — це файл, який читатиметься та запускатиметься за допомогою :" +"func:`exec`. ``sys.argv[0]`` буде замінено на *script* на час виклику. " +"*script_args* — це список рядків; якщо надано, ``sys.argv[1:]`` буде " +"замінено на *script_args* протягом тривалості виклику." + +msgid "" +"*stop_after* tells :func:`setup` when to stop processing; possible values:" +msgstr "" +"*stop_after* повідомляє :func:`setup`, коли зупинити обробку; можливі " +"значення:" + +msgid "description" +msgstr "опис" + +msgid "*init*" +msgstr "*у цьому*" + +msgid "" +"Stop after the :class:`Distribution` instance has been created and " +"populated with the keyword arguments to :func:`setup`" +msgstr "" +"Зупиніться після того, як екземпляр :class:`Distribution` буде створено та " +"заповнено ключовими аргументами для :func:`setup`" + +msgid "*config*" +msgstr "*конфігурація*" + +msgid "" +"Stop after config files have been parsed (and their data stored in the :" +"class:`Distribution` instance)" +msgstr "" +"Зупинити після аналізу конфігураційних файлів (і їх даних, збережених в " +"екземплярі :class:`Distribution`)" + +msgid "*commandline*" +msgstr "*командний рядок*" + +msgid "" +"Stop after the command-line (``sys.argv[1:]`` or *script_args*) have been " +"parsed (and the data stored in the :class:`Distribution` instance.)" +msgstr "" +"Зупиніться після аналізу командного рядка (``sys.argv[1:]`` або " +"*script_args*) (і даних, збережених в екземплярі :class:`Distribution`)." + +msgid "*run*" +msgstr "*бігти*" + +msgid "" +"Stop after all commands have been run (the same as if :func:`setup` had " +"been called in the usual way). This is the default value." +msgstr "" +"Зупиніться після виконання всіх команд (так само, якби :func:`setup` було " +"викликано звичайним способом). Це значення за умовчанням." + +msgid "" +"In addition, the :mod:`distutils.core` module exposed a number of classes " +"that live elsewhere." +msgstr "" +"Крім того, модуль :mod:`distutils.core` відкрив низку класів, які живуть в " +"інших місцях." + +msgid ":class:`~distutils.extension.Extension` from :mod:`distutils.extension`" +msgstr ":class:`~distutils.extension.Extension` з :mod:`distutils.extension`" + +msgid ":class:`~distutils.cmd.Command` from :mod:`distutils.cmd`" +msgstr ":class:`~distutils.cmd.Command` з :mod:`distutils.cmd`" + +msgid ":class:`~distutils.dist.Distribution` from :mod:`distutils.dist`" +msgstr ":class:`~distutils.dist.Distribution` з :mod:`distutils.dist`" + +msgid "" +"A short description of each of these follows, but see the relevant module " +"for the full reference." +msgstr "" +"Нижче наведено короткий опис кожного з них, але повну довідку див. у " +"відповідному модулі." + +msgid "" +"The Extension class describes a single C or C++ extension module in a setup " +"script. It accepts the following keyword arguments in its constructor:" +msgstr "" +"Клас Extension описує один модуль розширення C або C++ у сценарії " +"налаштування. Він приймає такі ключові аргументи у своєму конструкторі:" + +msgid "" +"the full name of the extension, including any packages --- ie. *not* a " +"filename or pathname, but Python dotted name" +msgstr "" +"повна назва розширення, включаючи будь-які пакети --- тобто. *не* ім’я файлу " +"чи шлях, а ім’я Python із крапками" + +msgid "*sources*" +msgstr "*джерела*" + +msgid "" +"list of source filenames, relative to the distribution root (where the setup " +"script lives), in Unix form (slash-separated) for portability. Source files " +"may be C, C++, SWIG (.i), platform-specific resource files, or whatever else " +"is recognized by the :command:`build_ext` command as source for a Python " +"extension." +msgstr "" +"список імен вихідних файлів відносно кореня розповсюдження (де знаходиться " +"сценарій встановлення), у формі Unix (розділені скісною рискою) для " +"переносимості. Вихідними файлами можуть бути C, C++, SWIG (.i), файли " +"ресурсів для певної платформи або будь-які інші файли, які розпізнаються " +"командою :command:`build_ext` як джерело для розширення Python." + +msgid "*include_dirs*" +msgstr "*include_dirs*" + +msgid "" +"list of directories to search for C/C++ header files (in Unix form for " +"portability)" +msgstr "" +"список каталогів для пошуку файлів заголовків C/C++ (у формі Unix для " +"переносимості)" + +msgid "*define_macros*" +msgstr "*define_macros*" + +msgid "" +"list of macros to define; each macro is defined using a 2-tuple ``(name, " +"value)``, where *value* is either the string to define it to or ``None`` to " +"define it without a particular value (equivalent of ``#define FOO`` in " +"source or :option:`!-DFOO` on Unix C compiler command line)" +msgstr "" +"список макросів для визначення; кожен макрос визначається за допомогою 2-" +"кортежу ``(ім’я, значення)``, де *value* є або рядком для його визначення, " +"або ``None``, щоб визначити його без певного значення (еквівалент ``# " +"визначте FOO`` у джерелі або :option:`!-DFOO` в командному рядку компілятора " +"Unix C)" + +msgid "a list of tuples" +msgstr "список кортежів" + +msgid "*undef_macros*" +msgstr "*undef_macros*" + +msgid "list of macros to undefine explicitly" +msgstr "список макросів для явного скасування визначення" + +msgid "*library_dirs*" +msgstr "*library_dirs*" + +msgid "list of directories to search for C/C++ libraries at link time" +msgstr "список каталогів для пошуку бібліотек C/C++ під час підключення" + +msgid "*libraries*" +msgstr "*бібліотеки*" + +msgid "list of library names (not filenames or paths) to link against" +msgstr "" +"список імен бібліотек (не імен файлів чи шляхів), з якими потрібно посилатися" + +msgid "*runtime_library_dirs*" +msgstr "*каталоги_бібліотеки_запуску*" + +msgid "" +"list of directories to search for C/C++ libraries at run time (for shared " +"extensions, this is when the extension is loaded)" +msgstr "" +"список каталогів для пошуку бібліотек C/C++ під час виконання (для спільних " +"розширень це час завантаження розширення)" + +msgid "*extra_objects*" +msgstr "*додаткові_об'єкти*" + +msgid "" +"list of extra files to link with (eg. object files not implied by 'sources', " +"static library that must be explicitly specified, binary resource files, " +"etc.)" +msgstr "" +"список додаткових файлів, з якими можна зв’язатися (наприклад, об’єктні " +"файли, які не передбачаються \"джерелами\", статична бібліотека, яку " +"необхідно вказати явно, двійкові файли ресурсів тощо)" + +msgid "*extra_compile_args*" +msgstr "*extra_compile_args*" + +msgid "" +"any extra platform- and compiler-specific information to use when compiling " +"the source files in 'sources'. For platforms and compilers where a command " +"line makes sense, this is typically a list of command-line arguments, but " +"for other platforms it could be anything." +msgstr "" +"будь-яка додаткова інформація про платформу та компілятор для використання " +"під час компіляції вихідних файлів у \"джерелах\". Для платформ і " +"компіляторів, де командний рядок має сенс, це зазвичай список аргументів " +"командного рядка, але для інших платформ це може бути будь-що." + +msgid "*extra_link_args*" +msgstr "*extra_link_args*" + +msgid "" +"any extra platform- and compiler-specific information to use when linking " +"object files together to create the extension (or to create a new static " +"Python interpreter). Similar interpretation as for 'extra_compile_args'." +msgstr "" +"будь-яка додаткова інформація про платформу та компілятор, яку можна " +"використовувати під час зв’язування об’єктних файлів разом для створення " +"розширення (або для створення нового статичного інтерпретатора Python). " +"Інтерпретація подібна до 'extra_compile_args'." + +msgid "*export_symbols*" +msgstr "*export_symbols*" + +msgid "" +"list of symbols to be exported from a shared extension. Not used on all " +"platforms, and not generally necessary for Python extensions, which " +"typically export exactly one symbol: ``init`` + extension_name." +msgstr "" +"список символів, які потрібно експортувати зі спільного розширення. Не " +"використовується на всіх платформах і не є загалом необхідним для розширень " +"Python, які зазвичай експортують лише один символ: ``init`` + extension_name." + +msgid "*depends*" +msgstr "*залежить*" + +msgid "list of files that the extension depends on" +msgstr "список файлів, від яких залежить розширення" + +msgid "*language*" +msgstr "*мову*" + +msgid "" +"extension language (i.e. ``'c'``, ``'c++'``, ``'objc'``). Will be detected " +"from the source extensions if not provided." +msgstr "" +"мова розширення (тобто ``'c'``, ``'c++'``, ``'objc'``). Буде виявлено з " +"вихідних розширень, якщо їх не надано." + +msgid "*optional*" +msgstr "*необов'язково*" + +msgid "" +"specifies that a build failure in the extension should not abort the build " +"process, but simply skip the extension." +msgstr "" +"вказує, що помилка збірки в розширенні не повинна переривати процес збірки, " +"а просто пропускати розширення." + +msgid "a boolean" +msgstr "логічне значення" + +msgid "" +"On Unix, C extensions are no longer linked to libpython except on Android " +"and Cygwin." +msgstr "" +"В Unix розширення C більше не пов’язані з libpython, за винятком Android і " +"Cygwin." + +msgid "" +"A :class:`Distribution` describes how to build, install and package up a " +"Python software package." +msgstr "" +":class:`Distribution` описує, як створити, встановити та запакувати " +"програмний пакет Python." + +msgid "" +"See the :func:`setup` function for a list of keyword arguments accepted by " +"the Distribution constructor. :func:`setup` creates a Distribution instance." +msgstr "" +"Перегляньте функцію :func:`setup`, щоб переглянути список ключових " +"аргументів, які приймає конструктор розподілу. :func:`setup` створює " +"екземпляр Distribution." + +msgid "" +":class:`~distutils.core.Distribution` now warns if ``classifiers``, " +"``keywords`` and ``platforms`` fields are not specified as a list or a " +"string." +msgstr "" +":class:`~distutils.core.Distribution` тепер попереджає, якщо поля " +"``класифікатори``, ``ключові слова`` та ``платформи`` не вказані як список " +"або рядок." + +msgid "" +"A :class:`Command` class (or rather, an instance of one of its subclasses) " +"implement a single distutils command." +msgstr "" +"Клас :class:`Command` (точніше, екземпляр одного з його підкласів) реалізує " +"одну команду distutils." + +msgid ":mod:`distutils.ccompiler` --- CCompiler base class" +msgstr ":mod:`distutils.ccompiler` --- базовий клас CCompiler" + +msgid "" +"This module provides the abstract base class for the :class:`CCompiler` " +"classes. A :class:`CCompiler` instance can be used for all the compile and " +"link steps needed to build a single project. Methods are provided to set " +"options for the compiler --- macro definitions, include directories, link " +"path, libraries and the like." +msgstr "" +"Цей модуль надає абстрактний базовий клас для класів :class:`CCompiler`. " +"Екземпляр :class:`CCompiler` можна використовувати для всіх кроків " +"компіляції та зв’язування, необхідних для створення одного проекту. " +"Надаються методи для встановлення опцій для компілятора --- визначень " +"макросів, включення каталогів, шляхів посилань, бібліотек тощо." + +msgid "This module provides the following functions." +msgstr "Цей модуль забезпечує такі функції." + +msgid "" +"Generate linker options for searching library directories and linking with " +"specific libraries. *libraries* and *library_dirs* are, respectively, lists " +"of library names (not filenames!) and search directories. Returns a list of " +"command-line options suitable for use with some compiler (depending on the " +"two format strings passed in)." +msgstr "" +"Створення параметрів компонувальника для пошуку каталогів бібліотек і " +"зв’язування з певними бібліотеками. *libraries* і *library_dirs* — це, " +"відповідно, списки імен бібліотек (а не імен файлів!) і каталогів пошуку. " +"Повертає список параметрів командного рядка, придатних для використання з " +"деяким компілятором (залежно від двох переданих рядків формату)." + +msgid "" +"Generate C pre-processor options (:option:`!-D`, :option:`!-U`, :option:`!-" +"I`) as used by at least two types of compilers: the typical Unix compiler " +"and Visual C++. *macros* is the usual thing, a list of 1- or 2-tuples, where " +"``(name,)`` means undefine (:option:`!-U`) macro *name*, and ``(name, " +"value)`` means define (:option:`!-D`) macro *name* to *value*. " +"*include_dirs* is just a list of directory names to be added to the header " +"file search path (:option:`!-I`). Returns a list of command-line options " +"suitable for either Unix compilers or Visual C++." +msgstr "" +"Згенеруйте параметри попереднього процесора C (:option:`!-D`, :option:`!-" +"U`, :option:`!-I`), які використовуються принаймні двома типами " +"компіляторів: типовим компілятором Unix і Visual C++. *макроси* — це " +"звичайна річ, список 1- або 2-кортежів, де ``(name,)`` означає undefine (:" +"option:`!-U`) макрос *name*, а ``(name, значення)`` означає визначення (:" +"option:`!-D`) *назви* макросу на *значення*. *include_dirs* — це лише список " +"імен каталогів, які потрібно додати до шляху пошуку файлу заголовка (:option:" +"`!-I`). Повертає список параметрів командного рядка, придатних для " +"компіляторів Unix або Visual C++." + +msgid "Determine the default compiler to use for the given platform." +msgstr "Визначте компілятор за замовчуванням для даної платформи." + +msgid "" +"*osname* should be one of the standard Python OS names (i.e. the ones " +"returned by ``os.name``) and *platform* the common value returned by ``sys." +"platform`` for the platform in question." +msgstr "" +"*osname* має бути одним із стандартних імен ОС Python (тобто тих, які " +"повертає ``os.name``), а *platform* — загальне значення, яке повертає ``sys." +"platform`` для відповідної платформи." + +msgid "" +"The default values are ``os.name`` and ``sys.platform`` in case the " +"parameters are not given." +msgstr "" +"Значеннями за замовчуванням є ``os.name`` і ``sys.platform``, якщо параметри " +"не вказано." + +msgid "" +"Factory function to generate an instance of some CCompiler subclass for the " +"supplied platform/compiler combination. *plat* defaults to ``os.name`` (eg. " +"``'posix'``, ``'nt'``), and *compiler* defaults to the default compiler for " +"that platform. Currently only ``'posix'`` and ``'nt'`` are supported, and " +"the default compilers are \"traditional Unix interface\" (:class:" +"`UnixCCompiler` class) and Visual C++ (:class:`MSVCCompiler` class). Note " +"that it's perfectly possible to ask for a Unix compiler object under " +"Windows, and a Microsoft compiler object under Unix---if you supply a value " +"for *compiler*, *plat* is ignored." +msgstr "" +"Фабрична функція для створення екземпляра деякого підкласу CCompiler для " +"наданої комбінації платформа/компілятор. *plat* за замовчуванням має ``os." +"name`` (наприклад, ``'posix'``, ``'nt'``), а *compiler* за замовчуванням " +"використовує компілятор за замовчуванням для цієї платформи. Наразі " +"підтримуються лише ``'posix'`` і ``'nt'``, а компіляторами за замовчуванням " +"є \"традиційний інтерфейс Unix\" (:class:`UnixCCompiler` клас) і Visual C++ " +"(:class:`MSVCCompiler` клас ). Зауважте, що цілком можливо запросити об’єкт " +"компілятора Unix під Windows і об’єкт компілятора Microsoft під Unix --- " +"якщо ви вказуєте значення для *compiler*, *plat* ігнорується." + +msgid "" +"Print list of available compilers (used by the :option:`!--help-compiler` " +"options to :command:`build`, :command:`build_ext`, :command:`build_clib`)." +msgstr "" +"Надрукувати список доступних компіляторів (використовується параметрами :" +"option:`!--help-compiler` для :command:`build`, :command:`build_ext`, :" +"command:`build_clib`)." + +msgid "" +"The abstract base class :class:`CCompiler` defines the interface that must " +"be implemented by real compiler classes. The class also has some utility " +"methods used by several compiler classes." +msgstr "" +"Абстрактний базовий клас :class:`CCompiler` визначає інтерфейс, який має " +"бути реалізований реальними класами компілятора. Клас також має деякі " +"корисні методи, які використовуються кількома класами компілятора." + +msgid "" +"The basic idea behind a compiler abstraction class is that each instance can " +"be used for all the compile/link steps in building a single project. Thus, " +"attributes common to all of those compile and link steps --- include " +"directories, macros to define, libraries to link against, etc. --- are " +"attributes of the compiler instance. To allow for variability in how " +"individual files are treated, most of those attributes may be varied on a " +"per-compilation or per-link basis." +msgstr "" +"Основна ідея класу абстракції компілятора полягає в тому, що кожен екземпляр " +"можна використовувати для всіх етапів компіляції/зв’язування в створенні " +"одного проекту. Таким чином, атрибути, загальні для всіх цих етапів " +"компіляції та зв’язування --- включають каталоги, макроси для визначення, " +"бібліотеки для зв’язування тощо --- є атрибутами примірника компілятора. Щоб " +"уможливити варіативність у тому, як обробляються окремі файли, більшість із " +"цих атрибутів можна змінювати для кожної компіляції чи кожного посилання." + +msgid "" +"The constructor for each subclass creates an instance of the Compiler " +"object. Flags are *verbose* (show verbose output), *dry_run* (don't actually " +"execute the steps) and *force* (rebuild everything, regardless of " +"dependencies). All of these flags default to ``0`` (off). Note that you " +"probably don't want to instantiate :class:`CCompiler` or one of its " +"subclasses directly - use the :func:`distutils.CCompiler.new_compiler` " +"factory function instead." +msgstr "" +"Конструктор для кожного підкласу створює екземпляр об’єкта Compiler. " +"Прапори: *verbose* (показати докладний вихід), *dry_run* (фактично не " +"виконувати кроки) і *force* (перебудувати все, незалежно від залежностей). " +"Усі ці прапорці за замовчуванням мають значення ``0`` (вимкнено). Зауважте, " +"що ви, мабуть, не бажаєте створювати екземпляр :class:`CCompiler` або один " +"із його підкласів напряму - використовуйте натомість фабричну функцію :func:" +"`distutils.CCompiler.new_compiler`." + +msgid "" +"The following methods allow you to manually alter compiler options for the " +"instance of the Compiler class." +msgstr "" +"Наступні методи дозволяють вручну змінювати параметри компілятора для " +"екземпляра класу Compiler." + +msgid "" +"Add *dir* to the list of directories that will be searched for header files. " +"The compiler is instructed to search directories in the order in which they " +"are supplied by successive calls to :meth:`add_include_dir`." +msgstr "" +"Додайте *dir* до списку каталогів, у яких здійснюватиметься пошук файлів " +"заголовків. Компілятор отримує вказівку шукати каталоги в тому порядку, в " +"якому вони надаються послідовними викликами :meth:`add_include_dir`." + +msgid "" +"Set the list of directories that will be searched to *dirs* (a list of " +"strings). Overrides any preceding calls to :meth:`add_include_dir`; " +"subsequent calls to :meth:`add_include_dir` add to the list passed to :meth:" +"`set_include_dirs`. This does not affect any list of standard include " +"directories that the compiler may search by default." +msgstr "" +"Встановіть список каталогів, у яких здійснюватиметься пошук, як *dirs* " +"(список рядків). Перевизначає будь-які попередні виклики :meth:" +"`add_include_dir`; наступні виклики :meth:`add_include_dir` додають до " +"списку, переданого :meth:`set_include_dirs`. Це не впливає на список " +"каталогів стандартного включення, які компілятор може шукати за " +"замовчуванням." + +msgid "" +"Add *libname* to the list of libraries that will be included in all links " +"driven by this compiler object. Note that *libname* should \\*not\\* be the " +"name of a file containing a library, but the name of the library itself: the " +"actual filename will be inferred by the linker, the compiler, or the " +"compiler class (depending on the platform)." +msgstr "" +"Додайте *libname* до списку бібліотек, які будуть включені в усі посилання, " +"керовані цим об’єктом компілятора. Зауважте, що *libname* має \\*не\\* бути " +"назвою файлу, що містить бібліотеку, а назвою самої бібліотеки: фактичне " +"ім’я файлу буде визначено компонувальником, компілятором або класом " +"компілятора (залежно від платформа)." + +msgid "" +"The linker will be instructed to link against libraries in the order they " +"were supplied to :meth:`add_library` and/or :meth:`set_libraries`. It is " +"perfectly valid to duplicate library names; the linker will be instructed to " +"link against libraries as many times as they are mentioned." +msgstr "" +"Пов’язувач отримає вказівку зв’язувати бібліотеки в тому порядку, в якому " +"вони були надані в :meth:`add_library` та/або :meth:`set_libraries`. Цілком " +"допустимо дублювати імена бібліотек; компонувальник отримає вказівку " +"створити зв’язок із бібліотеками стільки разів, скільки вони згадуються." + +msgid "" +"Set the list of libraries to be included in all links driven by this " +"compiler object to *libnames* (a list of strings). This does not affect any " +"standard system libraries that the linker may include by default." +msgstr "" +"Встановіть список бібліотек, які будуть включені в усі посилання, керовані " +"цим об’єктом компілятора, як *libnames* (список рядків). Це не впливає на " +"стандартні системні бібліотеки, які компонувальник може включати за " +"замовчуванням." + +msgid "" +"Add *dir* to the list of directories that will be searched for libraries " +"specified to :meth:`add_library` and :meth:`set_libraries`. The linker will " +"be instructed to search for libraries in the order they are supplied to :" +"meth:`add_library_dir` and/or :meth:`set_library_dirs`." +msgstr "" +"Додайте *dir* до списку каталогів, у яких здійснюватиметься пошук бібліотек, " +"указаних у :meth:`add_library` і :meth:`set_libraries`. Пов’язувач отримає " +"вказівку шукати бібліотеки в тому порядку, в якому вони надані в :meth:" +"`add_library_dir` та/або :meth:`set_library_dirs`." + +msgid "" +"Set the list of library search directories to *dirs* (a list of strings). " +"This does not affect any standard library search path that the linker may " +"search by default." +msgstr "" +"Встановіть список каталогів пошуку бібліотек на *dirs* (список рядків). Це " +"не впливає на будь-який стандартний шлях пошуку бібліотеки, який " +"компонувальник може шукати за замовчуванням." + +msgid "" +"Add *dir* to the list of directories that will be searched for shared " +"libraries at runtime." +msgstr "" +"Додайте *dir* до списку каталогів, у яких здійснюватиметься пошук спільних " +"бібліотек під час виконання." + +msgid "" +"Set the list of directories to search for shared libraries at runtime to " +"*dirs* (a list of strings). This does not affect any standard search path " +"that the runtime linker may search by default." +msgstr "" +"Встановіть список каталогів для пошуку спільних бібліотек під час виконання " +"на *dirs* (список рядків). Це не впливає на будь-який стандартний шлях " +"пошуку, який компонувальник під час виконання може шукати за замовчуванням." + +msgid "" +"Define a preprocessor macro for all compilations driven by this compiler " +"object. The optional parameter *value* should be a string; if it is not " +"supplied, then the macro will be defined without an explicit value and the " +"exact outcome depends on the compiler used." +msgstr "" +"Визначте макрос препроцесора для всіх компіляцій, керованих цим об’єктом " +"компілятора. Додатковий параметр *value* має бути рядком; якщо він не " +"наданий, то макрос буде визначено без явного значення, і точний результат " +"залежить від використовуваного компілятора." + +msgid "" +"Undefine a preprocessor macro for all compilations driven by this compiler " +"object. If the same macro is defined by :meth:`define_macro` and undefined " +"by :meth:`undefine_macro` the last call takes precedence (including multiple " +"redefinitions or undefinitions). If the macro is redefined/undefined on a " +"per-compilation basis (ie. in the call to :meth:`compile`), then that takes " +"precedence." +msgstr "" +"Скасуйте визначення макросу препроцесора для всіх компіляцій, керованих цим " +"об’єктом компілятора. Якщо той самий макрос визначено :meth:`define_macro` і " +"не визначено :meth:`undefine_macro`, останній виклик має перевагу (включно з " +"кількома перевизначеннями або невизначеннями). Якщо макрос перевизначено/не " +"визначено на основі кожної компіляції (тобто під час виклику :meth:" +"`compile`), то він має перевагу." + +msgid "" +"Add *object* to the list of object files (or analogues, such as explicitly " +"named library files or the output of \"resource compilers\") to be included " +"in every link driven by this compiler object." +msgstr "" +"Додайте *об’єкт* до списку об’єктних файлів (або аналогів, таких як " +"бібліотечні файли з явною назвою або вихідні дані \"компіляторів ресурсів" +"\"), які будуть включені в кожне посилання, кероване цим об’єктом " +"компілятора." + +msgid "" +"Set the list of object files (or analogues) to be included in every link to " +"*objects*. This does not affect any standard object files that the linker " +"may include by default (such as system libraries)." +msgstr "" +"Встановіть список об’єктних файлів (або аналогів), які будуть включені до " +"кожного посилання на *об’єкти*. Це не впливає на будь-які стандартні " +"об’єктні файли, які компонувальник може включати за замовчуванням " +"(наприклад, системні бібліотеки)." + +msgid "" +"The following methods implement methods for autodetection of compiler " +"options, providing some functionality similar to GNU :program:`autoconf`." +msgstr "" +"Наступні методи реалізують методи для автоматичного визначення параметрів " +"компілятора, надаючи деякі функції, подібні до GNU :program:`autoconf`." + +msgid "" +"Detect the language of a given file, or list of files. Uses the instance " +"attributes :attr:`language_map` (a dictionary), and :attr:`language_order` " +"(a list) to do the job." +msgstr "" +"Визначити мову певного файлу або списку файлів. Використовує атрибути " +"екземпляра :attr:`language_map` (словник) і :attr:`language_order` (список) " +"для виконання завдання." + +msgid "" +"Search the specified list of directories for a static or shared library file " +"*lib* and return the full path to that file. If *debug* is true, look for a " +"debugging version (if that makes sense on the current platform). Return " +"``None`` if *lib* wasn't found in any of the specified directories." +msgstr "" +"Знайдіть у вказаному списку каталогів файл статичної або спільної бібліотеки " +"*lib* і поверніть повний шлях до цього файлу. Якщо *debug* має значення " +"true, знайдіть версію для налагодження (якщо це має сенс на поточній " +"платформі). Повертає ``None``, якщо *lib* не знайдено в жодному з указаних " +"каталогів." + +msgid "" +"Return a boolean indicating whether *funcname* is supported on the current " +"platform. The optional arguments can be used to augment the compilation " +"environment by providing additional include files and paths and libraries " +"and paths." +msgstr "" +"Повертає логічне значення, яке вказує, чи підтримується *funcname* на " +"поточній платформі. Необов’язкові аргументи можна використовувати для " +"розширення середовища компіляції шляхом надання додаткових файлів і шляхів, " +"а також бібліотек і шляхів." + +msgid "" +"Return the compiler option to add *dir* to the list of directories searched " +"for libraries." +msgstr "" +"Повернути опцію компілятора, щоб додати *dir* до списку каталогів, у яких " +"шукаються бібліотеки." + +msgid "" +"Return the compiler option to add *lib* to the list of libraries linked into " +"the shared library or executable." +msgstr "" +"Поверніть опцію компілятора, щоб додати *lib* до списку бібліотек, " +"пов’язаних із спільною бібліотекою або виконуваним файлом." + +msgid "" +"Return the compiler option to add *dir* to the list of directories searched " +"for runtime libraries." +msgstr "" +"Поверніть опцію компілятора, щоб додати *dir* до списку каталогів, у яких " +"шукаються бібліотеки середовища виконання." + +msgid "" +"Define the executables (and options for them) that will be run to perform " +"the various stages of compilation. The exact set of executables that may be " +"specified here depends on the compiler class (via the 'executables' class " +"attribute), but most will have:" +msgstr "" +"Визначте виконувані файли (і параметри для них), які будуть запущені для " +"виконання різних етапів компіляції. Точний набір виконуваних файлів, який " +"можна вказати тут, залежить від класу компілятора (через атрибут класу " +"'executables'), але більшість матиме:" + +msgid "attribute" +msgstr "атрибут" + +msgid "*compiler*" +msgstr "*компілятор*" + +msgid "the C/C++ compiler" +msgstr "компілятор C/C++" + +msgid "*linker_so*" +msgstr "*linker_so*" + +msgid "linker used to create shared objects and libraries" +msgstr "" +"компонувальник, який використовується для створення спільних об’єктів і " +"бібліотек" + +msgid "*linker_exe*" +msgstr "*linker_exe*" + +msgid "linker used to create binary executables" +msgstr "" +"компонувальник, який використовується для створення двійкових виконуваних " +"файлів" + +msgid "*archiver*" +msgstr "*архіватор*" + +msgid "static library creator" +msgstr "творець статичної бібліотеки" + +msgid "" +"On platforms with a command-line (Unix, DOS/Windows), each of these is a " +"string that will be split into executable name and (optional) list of " +"arguments. (Splitting the string is done similarly to how Unix shells " +"operate: words are delimited by spaces, but quotes and backslashes can " +"override this. See :func:`distutils.util.split_quoted`.)" +msgstr "" +"На платформах із командним рядком (Unix, DOS/Windows) кожен із них є рядком, " +"який буде розділено на ім’я виконуваного файлу та (необов’язковий) список " +"аргументів. (Поділ рядка виконується подібно до того, як працюють оболонки " +"Unix: слова розділені пробілами, але лапки та зворотні косі риски можуть " +"замінити це. Див. :func:`distutils.util.split_quoted`.)" + +msgid "The following methods invoke stages in the build process." +msgstr "Наступні методи викликають етапи процесу побудови." + +msgid "" +"Compile one or more source files. Generates object files (e.g. transforms " +"a :file:`.c` file to a :file:`.o` file.)" +msgstr "" +"Скомпілюйте один або кілька вихідних файлів. Створює об’єктні файли " +"(наприклад, перетворює файл :file:`.c` на файл :file:`.o`.)" + +msgid "" +"*sources* must be a list of filenames, most likely C/C++ files, but in " +"reality anything that can be handled by a particular compiler and compiler " +"class (eg. :class:`MSVCCompiler` can handle resource files in *sources*). " +"Return a list of object filenames, one per source filename in *sources*. " +"Depending on the implementation, not all source files will necessarily be " +"compiled, but all corresponding object filenames will be returned." +msgstr "" +"*джерела* мають бути списком імен файлів, швидше за все файлів C/C++, але " +"насправді все, що може оброблятися певним компілятором і класом компілятора " +"(наприклад, :class:`MSVCCompiler` може обробляти файли ресурсів у " +"*джерелах*) . Повертає список імен файлів об’єктів, по одному на ім’я " +"вихідного файлу в *джерелах*. Залежно від реалізації, не всі вихідні файли " +"обов’язково будуть скомпільовані, але будуть повернуті всі відповідні імена " +"файлів об’єктів." + +msgid "" +"If *output_dir* is given, object files will be put under it, while retaining " +"their original path component. That is, :file:`foo/bar.c` normally compiles " +"to :file:`foo/bar.o` (for a Unix implementation); if *output_dir* is " +"*build*, then it would compile to :file:`build/foo/bar.o`." +msgstr "" +"Якщо задано *output_dir*, об’єктні файли буде розміщено під ним, зберігаючи " +"при цьому їхній початковий компонент шляху. Тобто :file:`foo/bar.c` зазвичай " +"компілюється до :file:`foo/bar.o` (для реалізації Unix); якщо *output_dir* є " +"*build*, тоді він скомпілюється до :file:`build/foo/bar.o`." + +msgid "" +"*macros*, if given, must be a list of macro definitions. A macro definition " +"is either a ``(name, value)`` 2-tuple or a ``(name,)`` 1-tuple. The former " +"defines a macro; if the value is ``None``, the macro is defined without an " +"explicit value. The 1-tuple case undefines a macro. Later definitions/" +"redefinitions/undefinitions take precedence." +msgstr "" +"*макроси*, якщо вказано, мають бути списком визначень макросів. Визначення " +"макросу – це 2-кортеж ``(ім’я, значення)\" або 1-кортеж ``(ім’я,)``. Перший " +"визначає макрос; якщо значенням є ``None``, макрос визначено без явного " +"значення. Випадок 1-кортежу не визначає макрос. Пізніші визначення/" +"перевизначення/невизначення мають пріоритет." + +msgid "" +"*include_dirs*, if given, must be a list of strings, the directories to add " +"to the default include file search path for this compilation only." +msgstr "" +"*include_dirs*, якщо задано, має бути списком рядків, каталогів, які " +"потрібно додати до шляху пошуку файлів за замовчуванням лише для цієї " +"компіляції." + +msgid "" +"*debug* is a boolean; if true, the compiler will be instructed to output " +"debug symbols in (or alongside) the object file(s)." +msgstr "" +"*debug* є логічним; якщо істина, компілятор отримає вказівку вивести символи " +"налагодження в (або поруч) з об’єктним файлом(ами)." + +msgid "" +"*extra_preargs* and *extra_postargs* are implementation-dependent. On " +"platforms that have the notion of a command-line (e.g. Unix, DOS/Windows), " +"they are most likely lists of strings: extra command-line arguments to " +"prepend/append to the compiler command line. On other platforms, consult " +"the implementation class documentation. In any event, they are intended as " +"an escape hatch for those occasions when the abstract compiler framework " +"doesn't cut the mustard." +msgstr "" +"*extra_preargs* і *extra_postargs* залежать від реалізації. На платформах, " +"які мають поняття командного рядка (наприклад, Unix, DOS/Windows), це, " +"швидше за все, списки рядків: додаткові аргументи командного рядка для " +"додавання перед/до командного рядка компілятора. На інших платформах " +"зверніться до документації класу реалізації. У будь-якому випадку, вони " +"призначені як аварійний люк у тих випадках, коли структура абстрактного " +"компілятора не вирішує проблеми." + +msgid "" +"*depends*, if given, is a list of filenames that all targets depend on. If " +"a source file is older than any file in depends, then the source file will " +"be recompiled. This supports dependency tracking, but only at a coarse " +"granularity." +msgstr "" +"*depends*, якщо вказано, це список імен файлів, від яких залежать усі цілі. " +"Якщо вихідний файл старіший за будь-який файл у залежностях, вихідний файл " +"буде перекомпільовано. Це підтримує відстеження залежностей, але лише з " +"грубою деталізацією." + +msgid "Raises :exc:`CompileError` on failure." +msgstr "Викликає :exc:`CompileError` у разі помилки." + +msgid "" +"Link a bunch of stuff together to create a static library file. The \"bunch " +"of stuff\" consists of the list of object files supplied as *objects*, the " +"extra object files supplied to :meth:`add_link_object` and/or :meth:" +"`set_link_objects`, the libraries supplied to :meth:`add_library` and/or :" +"meth:`set_libraries`, and the libraries supplied as *libraries* (if any)." +msgstr "" +"Зв’яжіть купу матеріалів разом, щоб створити файл статичної бібліотеки. " +"\"Кучка речей\" складається зі списку об’єктних файлів, наданих як " +"*objects*, додаткових об’єктних файлів, наданих у :meth:`add_link_object` та/" +"або :meth:`set_link_objects`, бібліотек, наданих у :meth:`add_library` та/" +"або :meth:`set_libraries`, а також бібліотеки, що надаються як *бібліотеки* " +"(якщо такі є)." + +msgid "" +"*output_libname* should be a library name, not a filename; the filename will " +"be inferred from the library name. *output_dir* is the directory where the " +"library file will be put." +msgstr "" +"*output_libname* має бути назвою бібліотеки, а не назвою файлу; ім'я файлу " +"буде виведено з назви бібліотеки. *output_dir* - це каталог, куди буде " +"розміщено файл бібліотеки." + +msgid "" +"*debug* is a boolean; if true, debugging information will be included in the " +"library (note that on most platforms, it is the compile step where this " +"matters: the *debug* flag is included here just for consistency)." +msgstr "" +"*debug* є логічним; якщо true, інформація про налагодження буде включена в " +"бібліотеку (зауважте, що на більшості платформ це має значення на етапі " +"компіляції: прапор *debug* включено тут лише для узгодженості)." + +msgid "" +"*target_lang* is the target language for which the given objects are being " +"compiled. This allows specific linkage time treatment of certain languages." +msgstr "" +"*target_lang* — цільова мова, для якої компілюються ці об’єкти. Це дозволяє " +"обробку певних мов у певний час зв’язування." + +msgid "Raises :exc:`LibError` on failure." +msgstr "Викликає :exc:`LibError` у разі помилки." + +msgid "" +"Link a bunch of stuff together to create an executable or shared library " +"file." +msgstr "" +"Пов’яжіть купу матеріалів разом, щоб створити виконуваний файл або файл " +"спільної бібліотеки." + +msgid "" +"The \"bunch of stuff\" consists of the list of object files supplied as " +"*objects*. *output_filename* should be a filename. If *output_dir* is " +"supplied, *output_filename* is relative to it (i.e. *output_filename* can " +"provide directory components if needed)." +msgstr "" +"\"Кучка речей\" складається зі списку об'єктних файлів, які надаються як " +"*об'єкти*. *вихідна_назва_файлу* має бути назвою файлу. Якщо вказано " +"*output_dir*, *output_filename* є відносно нього (тобто *output_filename* " +"може надати компоненти каталогу, якщо це необхідно)." + +msgid "" +"*libraries* is a list of libraries to link against. These are library " +"names, not filenames, since they're translated into filenames in a platform-" +"specific way (eg. *foo* becomes :file:`libfoo.a` on Unix and :file:`foo.lib` " +"on DOS/Windows). However, they can include a directory component, which " +"means the linker will look in that specific directory rather than searching " +"all the normal locations." +msgstr "" +"*libraries* — це список бібліотек, з якими можна посилатися. Це назви " +"бібліотек, а не назви файлів, оскільки вони перекладаються на назви файлів " +"залежно від платформи (наприклад, *foo* стає :file:`libfoo.a` в Unix і :file:" +"`foo.lib` в DOS/ вікна). Однак вони можуть містити компонент каталогу, що " +"означає, що компонувальник шукатиме в цьому конкретному каталозі, а не " +"шукатиме у всіх звичайних місцях." + +msgid "" +"*library_dirs*, if supplied, should be a list of directories to search for " +"libraries that were specified as bare library names (ie. no directory " +"component). These are on top of the system default and those supplied to :" +"meth:`add_library_dir` and/or :meth:`set_library_dirs`. " +"*runtime_library_dirs* is a list of directories that will be embedded into " +"the shared library and used to search for other shared libraries that \\*it" +"\\* depends on at run-time. (This may only be relevant on Unix.)" +msgstr "" +"*library_dirs*, якщо надається, має бути списком каталогів для пошуку " +"бібліотек, які були вказані як голі імена бібліотек (тобто без компонента " +"каталогу). Вони є поверх системних стандартних і тих, що надаються до :meth:" +"`add_library_dir` та/або :meth:`set_library_dirs`. *runtime_library_dirs* — " +"це список каталогів, які будуть вбудовані в спільну бібліотеку та " +"використовуватимуться для пошуку інших спільних бібліотек, від яких \\*вона" +"\\* залежить під час виконання. (Це може бути актуальним лише для Unix.)" + +msgid "" +"*export_symbols* is a list of symbols that the shared library will export. " +"(This appears to be relevant only on Windows.)" +msgstr "" +"*export_symbols* — це список символів, які буде експортовано спільною " +"бібліотекою. (Здається, це стосується лише Windows.)" + +msgid "" +"*debug* is as for :meth:`compile` and :meth:`create_static_lib`, with the " +"slight distinction that it actually matters on most platforms (as opposed " +"to :meth:`create_static_lib`, which includes a *debug* flag mostly for " +"form's sake)." +msgstr "" +"*debug* — це те саме, що стосується :meth:`compile` і :meth:" +"`create_static_lib`, з тією невеликою різницею, що це насправді має значення " +"на більшості платформ (на відміну від :meth:`create_static_lib`, який " +"переважно містить прапорець *debug* заради форми)." + +msgid "" +"*extra_preargs* and *extra_postargs* are as for :meth:`compile` (except of " +"course that they supply command-line arguments for the particular linker " +"being used)." +msgstr "" +"*extra_preargs* і *extra_postargs* схожі на :meth:`compile` (звісно, за " +"винятком того, що вони надають аргументи командного рядка для конкретного " +"використовуваного компонувальника)." + +msgid "Raises :exc:`LinkError` on failure." +msgstr "Викликає :exc:`LinkError` у разі помилки." + +msgid "" +"Link an executable. *output_progname* is the name of the file executable, " +"while *objects* are a list of object filenames to link in. Other arguments " +"are as for the :meth:`link` method." +msgstr "" +"Посилання на виконуваний файл. *output_progname* — це ім’я виконуваного " +"файлу, тоді як *objects* — це список імен файлів об’єктів для посилань. Інші " +"аргументи такі ж, як і для методу :meth:`link`." + +msgid "" +"Link a shared library. *output_libname* is the name of the output library, " +"while *objects* is a list of object filenames to link in. Other arguments " +"are as for the :meth:`link` method." +msgstr "" +"Пов’язати спільну бібліотеку. *output_libname* — це ім’я вихідної " +"бібліотеки, тоді як *objects* — це список імен файлів об’єктів для посилань. " +"Інші аргументи такі ж, як і для методу :meth:`link`." + +msgid "" +"Link a shared object. *output_filename* is the name of the shared object " +"that will be created, while *objects* is a list of object filenames to link " +"in. Other arguments are as for the :meth:`link` method." +msgstr "" +"Пов’язати спільний об’єкт. *output_filename* — це ім’я спільного об’єкта, " +"який буде створено, тоді як *objects* — це список імен файлів об’єктів для " +"посилань. Інші аргументи такі ж, як і для методу :meth:`link`." + +msgid "" +"Preprocess a single C/C++ source file, named in *source*. Output will be " +"written to file named *output_file*, or *stdout* if *output_file* not " +"supplied. *macros* is a list of macro definitions as for :meth:`compile`, " +"which will augment the macros set with :meth:`define_macro` and :meth:" +"`undefine_macro`. *include_dirs* is a list of directory names that will be " +"added to the default list, in the same way as :meth:`add_include_dir`." +msgstr "" +"Попередньо обробіть один вихідний файл C/C++, названий у *source*. Вихідні " +"дані буде записано у файл з назвою *output_file* або *stdout*, якщо " +"*output_file* не надано. *макроси* — це список визначень макросів, як для :" +"meth:`compile`, який доповнює набір макросів за допомогою :meth:" +"`define_macro` і :meth:`undefine_macro`. *include_dirs* — це список імен " +"каталогів, які буде додано до списку за замовчуванням так само, як :meth:" +"`add_include_dir`." + +msgid "Raises :exc:`PreprocessError` on failure." +msgstr "Викликає :exc:`PreprocessError` у разі помилки." + +msgid "" +"The following utility methods are defined by the :class:`CCompiler` class, " +"for use by the various concrete subclasses." +msgstr "" +"Наступні службові методи визначені класом :class:`CCompiler` для " +"використання різними конкретними підкласами." + +msgid "" +"Returns the filename of the executable for the given *basename*. Typically " +"for non-Windows platforms this is the same as the basename, while Windows " +"will get a :file:`.exe` added." +msgstr "" +"Повертає назву виконуваного файлу для заданого *базового імені*. Зазвичай " +"для платформ, відмінних від Windows, це те саме, що й базове ім’я, у той час " +"як Windows додаватиме :file:`.exe`." + +msgid "" +"Returns the filename for the given library name on the current platform. On " +"Unix a library with *lib_type* of ``'static'`` will typically be of the " +"form :file:`liblibname.a`, while a *lib_type* of ``'dynamic'`` will be of " +"the form :file:`liblibname.so`." +msgstr "" +"Повертає назву файлу для заданої назви бібліотеки на поточній платформі. В " +"Unix бібліотека з *lib_type* ``'static'`` зазвичай матиме форму :file:" +"`liblibname.a`, тоді як *lib_type* ``'dynamic'`` матиме форму: файл:" +"`liblibname.so`." + +msgid "" +"Returns the name of the object files for the given source files. " +"*source_filenames* should be a list of filenames." +msgstr "" +"Повертає назву об’єктних файлів для заданих вихідних файлів. " +"*source_filenames* має бути списком імен файлів." + +msgid "" +"Returns the name of a shared object file for the given file name *basename*." +msgstr "Повертає назву файлу спільного об’єкта для заданого імені *basename*." + +msgid "" +"Invokes :func:`distutils.util.execute`. This method invokes a Python " +"function *func* with the given arguments *args*, after logging and taking " +"into account the *dry_run* flag." +msgstr "" +"Викликає :func:`distutils.util.execute`. Цей метод викликає функцію Python " +"*func* із заданими аргументами *args* після реєстрації та з урахуванням " +"прапора *dry_run*." + +msgid "" +"Invokes :func:`distutils.util.spawn`. This invokes an external process to " +"run the given command." +msgstr "" +"Викликає :func:`distutils.util.spawn`. Це викликає зовнішній процес для " +"виконання даної команди." + +msgid "" +"Invokes :func:`distutils.dir_util.mkpath`. This creates a directory and any " +"missing ancestor directories." +msgstr "" +"Викликає :func:`distutils.dir_util.mkpath`. Це створює каталог і будь-які " +"відсутні каталоги предків." + +msgid "Invokes :meth:`distutils.file_util.move_file`. Renames *src* to *dst*." +msgstr "" +"Викликає :meth:`distutils.file_util.move_file`. Перейменовує *src* на *dst*." + +msgid "Write a message using :func:`distutils.log.debug`." +msgstr "Напишіть повідомлення за допомогою :func:`distutils.log.debug`." + +msgid "Write a warning message *msg* to standard error." +msgstr "Напишіть попередження *msg* до стандартної помилки." + +msgid "" +"If the *debug* flag is set on this :class:`CCompiler` instance, print *msg* " +"to standard output, otherwise do nothing." +msgstr "" +"Якщо на цьому екземплярі :class:`CCompiler` встановлено прапор *debug*, " +"виведіть *msg* у стандартний вихід, інакше нічого не робіть." + +msgid ":mod:`distutils.unixccompiler` --- Unix C Compiler" +msgstr ":mod:`distutils.unixccompiler` --- Компілятор Unix C" + +msgid "" +"This module provides the :class:`UnixCCompiler` class, a subclass of :class:" +"`CCompiler` that handles the typical Unix-style command-line C compiler:" +msgstr "" +"Цей модуль надає клас :class:`UnixCCompiler`, підклас :class:`CCompiler`, " +"який обробляє типовий компілятор командного рядка C у стилі Unix:" + +msgid "macros defined with :option:`!-Dname[=value]`" +msgstr "макроси, визначені за допомогою :option:`!-Dname[=value]`" + +msgid "macros undefined with :option:`!-Uname`" +msgstr "макроси невизначені з :option:`!-Uname`" + +msgid "include search directories specified with :option:`!-Idir`" +msgstr "включати каталоги пошуку, визначені за допомогою :option:`!-Idir`" + +msgid "libraries specified with :option:`!-llib`" +msgstr "бібліотеки, визначені за допомогою :option:`!-llib`" + +msgid "library search directories specified with :option:`!-Ldir`" +msgstr "каталоги пошуку бібліотек, указані за допомогою :option:`!-Ldir`" + +msgid "" +"compile handled by :program:`cc` (or similar) executable with :option:`!-c` " +"option: compiles :file:`.c` to :file:`.o`" +msgstr "" +"компілюється за допомогою :program:`cc` (або подібного) виконуваного файлу з " +"опцією :option:`!-c`: компілює :file:`.c` до :file:`.o`" + +msgid "" +"link static library handled by :program:`ar` command (possibly with :program:" +"`ranlib`)" +msgstr "" +"зв’язати статичну бібліотеку, яка обробляється командою :program:`ar` " +"(можливо, за допомогою :program:`ranlib`)" + +msgid "link shared library handled by :program:`cc` :option:`!-shared`" +msgstr "" +"посилання на спільну бібліотеку обробляється :program:`cc` :option:`!-shared`" + +msgid ":mod:`distutils.msvccompiler` --- Microsoft Compiler" +msgstr ":mod:`distutils.msvccompiler` --- Компілятор Microsoft" + +msgid "" +"This module provides :class:`MSVCCompiler`, an implementation of the " +"abstract :class:`CCompiler` class for Microsoft Visual Studio. Typically, " +"extension modules need to be compiled with the same compiler that was used " +"to compile Python. For Python 2.3 and earlier, the compiler was Visual " +"Studio 6. For Python 2.4 and 2.5, the compiler is Visual Studio .NET 2003." +msgstr "" +"Цей модуль забезпечує :class:`MSVCCompiler`, реалізацію абстрактного :class:" +"`CCompiler` класу для Microsoft Visual Studio. Як правило, модулі розширення " +"потрібно скомпілювати за допомогою того самого компілятора, який " +"використовувався для компіляції Python. Для Python 2.3 і раніших версій " +"компілятором була Visual Studio 6. Для Python 2.4 і 2.5 компілятором була " +"Visual Studio .NET 2003." + +msgid "" +":class:`MSVCCompiler` will normally choose the right compiler, linker etc. " +"on its own. To override this choice, the environment variables " +"*DISTUTILS_USE_SDK* and *MSSdk* must be both set. *MSSdk* indicates that the " +"current environment has been setup by the SDK's ``SetEnv.Cmd`` script, or " +"that the environment variables had been registered when the SDK was " +"installed; *DISTUTILS_USE_SDK* indicates that the distutils user has made an " +"explicit choice to override the compiler selection by :class:`MSVCCompiler`." +msgstr "" +":class:`MSVCCompiler` зазвичай самостійно вибере правильний компілятор, " +"компонувальник тощо. Щоб перевизначити цей вибір, потрібно встановити обидві " +"змінні середовища *DISTUTILS_USE_SDK* і *MSSdk*. *MSSdk* вказує на те, що " +"поточне середовище було налаштовано за допомогою сценарію ``SetEnv.Cmd`` SDK " +"або що змінні середовища були зареєстровані під час встановлення SDK; " +"*DISTUTILS_USE_SDK* вказує, що користувач distutils зробив явний вибір " +"перевизначити вибір компілятора за допомогою :class:`MSVCCompiler`." + +msgid ":mod:`distutils.bcppcompiler` --- Borland Compiler" +msgstr ":mod:`distutils.bcppcompiler` --- Компілятор Borland" + +msgid "" +"This module provides :class:`BorlandCCompiler`, a subclass of the abstract :" +"class:`CCompiler` class for the Borland C++ compiler." +msgstr "" +"Цей модуль надає :class:`BorlandCCompiler`, підклас абстрактного :class:" +"`CCompiler` класу для компілятора Borland C++." + +msgid ":mod:`distutils.cygwincompiler` --- Cygwin Compiler" +msgstr ":mod:`distutils.cygwincompiler` --- компілятор Cygwin" + +msgid "" +"This module provides the :class:`CygwinCCompiler` class, a subclass of :" +"class:`UnixCCompiler` that handles the Cygwin port of the GNU C compiler to " +"Windows. It also contains the Mingw32CCompiler class which handles the " +"mingw32 port of GCC (same as cygwin in no-cygwin mode)." +msgstr "" +"Цей модуль надає клас :class:`CygwinCCompiler`, підклас :class:" +"`UnixCCompiler`, який обробляє порт Cygwin компілятора GNU C для Windows. " +"Він також містить клас Mingw32CCompiler, який обробляє порт mingw32 GCC (те " +"саме, що cygwin у режимі без cygwin)." + +msgid ":mod:`distutils.archive_util` --- Archiving utilities" +msgstr ":mod:`distutils.archive_util` --- Утиліти архівування" + +msgid "" +"This module provides a few functions for creating archive files, such as " +"tarballs or zipfiles." +msgstr "" +"Цей модуль надає кілька функцій для створення архівних файлів, таких як tar-" +"файли або zip-файли." + +msgid "" +"Create an archive file (eg. ``zip`` or ``tar``). *base_name* is the name " +"of the file to create, minus any format-specific extension; *format* is the " +"archive format: one of ``zip``, ``tar``, ``gztar``, ``bztar``, ``xztar``, or " +"``ztar``. *root_dir* is a directory that will be the root directory of the " +"archive; ie. we typically ``chdir`` into *root_dir* before creating the " +"archive. *base_dir* is the directory where we start archiving from; ie. " +"*base_dir* will be the common prefix of all files and directories in the " +"archive. *root_dir* and *base_dir* both default to the current directory. " +"Returns the name of the archive file." +msgstr "" +"Створіть архівний файл (наприклад, ``zip`` або ``tar``). *base_name* — це " +"ім’я файлу, який потрібно створити, за вирахуванням розширення, що залежить " +"від формату; *format* — це формат архіву: один із ``zip``, ``tar``, " +"``gztar``, ``bztar``, ``xztar`` або ``ztar``. *root_dir* – це каталог, який " +"буде кореневим каталогом архіву; тобто. ми зазвичай ``chdir`` в *root_dir* " +"перед створенням архіву. *base_dir* - це каталог, з якого ми починаємо " +"архівування; тобто. *base_dir* буде загальним префіксом для всіх файлів і " +"каталогів в архіві. *root_dir* і *base_dir* за замовчуванням є поточним " +"каталогом. Повертає назву архівного файлу." + +msgid "Added support for the ``xztar`` format." +msgstr "Додано підтримку формату ``xztar``." + +msgid "" +"'Create an (optional compressed) archive as a tar file from all files in and " +"under *base_dir*. *compress* must be ``'gzip'`` (the default), ``'bzip2'``, " +"``'xz'``, ``'compress'``, or ``None``. For the ``'compress'`` method the " +"compression utility named by :program:`compress` must be on the default " +"program search path, so this is probably Unix-specific. The output tar file " +"will be named :file:`base_dir.tar`, possibly plus the appropriate " +"compression extension (``.gz``, ``.bz2``, ``.xz`` or ``.Z``). Return the " +"output filename." +msgstr "" +"\"Створіть (необов’язково стиснутий) архів як файл tar з усіх файлів у " +"*base_dir* та під ним. *compress* має бути ``'gzip'`` (за замовчуванням), " +"``'bzip2'``, ``'xz'``, ``'compress'`` або ``None``. Для методу " +"``'стиснення''`` утиліта стиснення, названа :program:`compress`, має бути на " +"шляху пошуку програми за замовчуванням, тому це, ймовірно, специфічно для " +"Unix. Вихідний файл tar матиме назву :file:`base_dir.tar`, можливо, з " +"додаванням відповідного розширення стиснення (``.gz``, ``.bz2``, ``.xz`` або " +"``.Z`` ). Повернути назву вихідного файлу." + +msgid "Added support for the ``xz`` compression." +msgstr "Додано підтримку стиснення ``xz``." + +msgid "" +"Create a zip file from all files in and under *base_dir*. The output zip " +"file will be named *base_name* + :file:`.zip`. Uses either the :mod:" +"`zipfile` Python module (if available) or the InfoZIP :file:`zip` utility " +"(if installed and found on the default search path). If neither tool is " +"available, raises :exc:`DistutilsExecError`. Returns the name of the " +"output zip file." +msgstr "" +"Створіть файл zip з усіх файлів у *base_dir* і під ним. Вихідний zip-файл " +"матиме назву *base_name* + :file:`.zip`. Використовує або модуль :mod:" +"`zipfile` Python (якщо доступний), або утиліту InfoZIP :file:`zip` (якщо " +"встановлено та знайдено на шляху пошуку за умовчанням). Якщо жоден " +"інструмент недоступний, викликає :exc:`DistutilsExecError`. Повертає назву " +"вихідного zip-файлу." + +msgid ":mod:`distutils.dep_util` --- Dependency checking" +msgstr ":mod:`distutils.dep_util` --- Перевірка залежностей" + +msgid "" +"This module provides functions for performing simple, timestamp-based " +"dependency of files and groups of files; also, functions based entirely on " +"such timestamp dependency analysis." +msgstr "" +"Цей модуль надає функції для виконання простої залежності файлів і груп " +"файлів на основі часових позначок; також функції, повністю засновані на " +"такому аналізі залежностей часових позначок." + +msgid "" +"Return true if *source* exists and is more recently modified than *target*, " +"or if *source* exists and *target* doesn't. Return false if both exist and " +"*target* is the same age or newer than *source*. Raise :exc:" +"`DistutilsFileError` if *source* does not exist." +msgstr "" +"Повертає істину, якщо *джерело* існує та змінено нещодавно, ніж *ціль*, або " +"якщо *джерело* існує, а *ціль* ні. Повертає false, якщо обидва існують і " +"*ціль* має той самий вік або новіший, ніж *джерело*. Викликати :exc:" +"`DistutilsFileError`, якщо *джерело* не існує." + +msgid "" +"Walk two filename lists in parallel, testing if each source is newer than " +"its corresponding target. Return a pair of lists (*sources*, *targets*) " +"where source is newer than target, according to the semantics of :func:" +"`newer`." +msgstr "" +"Перегляньте два списки імен файлів паралельно, перевіряючи, чи кожне джерело " +"є новішим за відповідну ціль. Повертає пару списків (*джерела*, *цілі*), де " +"джерело є новішим за ціль, відповідно до семантики :func:`newer`." + +msgid "" +"Return true if *target* is out-of-date with respect to any file listed in " +"*sources*. In other words, if *target* exists and is newer than every file " +"in *sources*, return false; otherwise return true. *missing* controls what " +"we do when a source file is missing; the default (``'error'``) is to blow up " +"with an :exc:`OSError` from inside :func:`os.stat`; if it is ``'ignore'``, " +"we silently drop any missing source files; if it is ``'newer'``, any missing " +"source files make us assume that *target* is out-of-date (this is handy in " +"\"dry-run\" mode: it'll make you pretend to carry out commands that wouldn't " +"work because inputs are missing, but that doesn't matter because you're not " +"actually going to run the commands)." +msgstr "" +"Повертає true, якщо *target* застарів щодо будь-якого файлу, зазначеного в " +"*джерелах*. Іншими словами, якщо *target* існує і є новішим за всі файли в " +"*sources*, поверніть false; інакше повертає true. *missing* контролює те, що " +"ми робимо, коли вихідний файл відсутній; за замовчуванням (``'помилка'``) " +"вибухає з :exc:`OSError` зсередини :func:`os.stat`; якщо це ``'ignore''``, " +"ми мовчки видаляємо всі відсутні джерельні файли; якщо він ``'новіший'``, " +"будь-які відсутні вихідні файли змушують нас вважати, що *target* застарів " +"(це зручно в режимі \"сухого запуску\": це змусить вас вдавати, що ви " +"виконуєте команди це не спрацює, оскільки вхідні дані відсутні, але це не " +"має значення, оскільки ви насправді не збираєтеся виконувати команди)." + +msgid ":mod:`distutils.dir_util` --- Directory tree operations" +msgstr ":mod:`distutils.dir_util` --- Операції з деревом каталогів" + +msgid "" +"This module provides functions for operating on directories and trees of " +"directories." +msgstr "" +"Цей модуль надає функції для роботи з каталогами та деревами каталогів." + +msgid "" +"Create a directory and any missing ancestor directories. If the directory " +"already exists (or if *name* is the empty string, which means the current " +"directory, which of course exists), then do nothing. Raise :exc:" +"`DistutilsFileError` if unable to create some directory along the way (eg. " +"some sub-path exists, but is a file rather than a directory). If *verbose* " +"is true, print a one-line summary of each mkdir to stdout. Return the list " +"of directories actually created." +msgstr "" +"Створіть каталог і будь-які відсутні каталоги предків. Якщо каталог уже " +"існує (або якщо *name* є порожнім рядком, що означає поточний каталог, який, " +"звичайно, існує), тоді нічого не робити. Викликати :exc:" +"`DistutilsFileError`, якщо неможливо створити певний каталог (наприклад, " +"якийсь підшлях існує, але це файл, а не каталог). Якщо *verbose* має " +"значення true, вивести однорядковий підсумок кожного mkdir у стандартний " +"вихід. Повертає список фактично створених каталогів." + +msgid "" +"Create all the empty directories under *base_dir* needed to put *files* " +"there. *base_dir* is just the name of a directory which doesn't necessarily " +"exist yet; *files* is a list of filenames to be interpreted relative to " +"*base_dir*. *base_dir* + the directory portion of every file in *files* will " +"be created if it doesn't already exist. *mode*, *verbose* and *dry_run* " +"flags are as for :func:`mkpath`." +msgstr "" +"Створіть усі порожні каталоги в *base_dir*, необхідні для розміщення туди " +"*файлів*. *base_dir* — це просто назва каталогу, який ще не обов’язково " +"існує; *files* — це список імен файлів, які слід інтерпретувати відносно " +"*base_dir*. *base_dir* + частина каталогу кожного файлу в *files* буде " +"створена, якщо вона ще не існує. Прапори *mode*, *verbose* і *dry_run* такі " +"ж, як і для :func:`mkpath`." + +msgid "" +"Copy an entire directory tree *src* to a new location *dst*. Both *src* and " +"*dst* must be directory names. If *src* is not a directory, raise :exc:" +"`DistutilsFileError`. If *dst* does not exist, it is created with :func:" +"`mkpath`. The end result of the copy is that every file in *src* is copied " +"to *dst*, and directories under *src* are recursively copied to *dst*. " +"Return the list of files that were copied or might have been copied, using " +"their output name. The return value is unaffected by *update* or *dry_run*: " +"it is simply the list of all files under *src*, with the names changed to be " +"under *dst*." +msgstr "" +"Скопіюйте все дерево каталогів *src* до нового розташування *dst*. І *src*, " +"і *dst* мають бути іменами каталогів. Якщо *src* не є каталогом, викликайте :" +"exc:`DistutilsFileError`. Якщо *dst* не існує, він створюється за допомогою :" +"func:`mkpath`. Кінцевим результатом копіювання є те, що кожен файл у *src* " +"копіюється в *dst*, а каталоги в *src* рекурсивно копіюються в *dst*. " +"Повертає список файлів, які були скопійовані або могли бути скопійовані, " +"використовуючи їхні вихідні назви. На повернене значення не впливають " +"*update* або *dry_run*: це просто список усіх файлів у *src*, імена яких " +"змінено на *dst*." + +msgid "" +"*preserve_mode* and *preserve_times* are the same as for :func:`distutils." +"file_util.copy_file`; note that they only apply to regular files, not to " +"directories. If *preserve_symlinks* is true, symlinks will be copied as " +"symlinks (on platforms that support them!); otherwise (the default), the " +"destination of the symlink will be copied. *update* and *verbose* are the " +"same as for :func:`copy_file`." +msgstr "" +"*preserve_mode* і *preserve_times* такі самі, як і для :func:`distutils." +"file_util.copy_file`; зауважте, що вони застосовуються лише до звичайних " +"файлів, а не до каталогів. Якщо *preserve_symlinks* має значення true, " +"символічні посилання буде скопійовано як символічні посилання (на " +"платформах, які їх підтримують!); інакше (за замовчуванням) місце " +"призначення символічного посилання буде скопійовано. *update* і *verbose* " +"такі самі, як і для :func:`copy_file`." + +msgid "" +"Files in *src* that begin with :file:`.nfs` are skipped (more information on " +"these files is available in answer D2 of the `NFS FAQ page `_)." +msgstr "" +"Файли в *src*, які починаються з :file:`.nfs`, пропускаються (додаткову " +"інформацію про ці файли можна знайти у відповіді D2 на сторінці `NFS FAQ " +"`_)." + +msgid "NFS files are ignored." +msgstr "Файли NFS ігноруються." + +msgid "" +"Recursively remove *directory* and all files and directories underneath it. " +"Any errors are ignored (apart from being reported to ``sys.stdout`` if " +"*verbose* is true)." +msgstr "" +"Рекурсивно видаліть *каталог* і всі файли та каталоги під ним. Будь-які " +"помилки ігноруються (крім повідомлень у ``sys.stdout``, якщо *verbose* має " +"значення true)." + +msgid ":mod:`distutils.file_util` --- Single file operations" +msgstr ":mod:`distutils.file_util` --- Операції з одним файлом" + +msgid "" +"This module contains some utility functions for operating on individual " +"files." +msgstr "" +"Цей модуль містить деякі службові функції для роботи з окремими файлами." + +msgid "" +"Copy file *src* to *dst*. If *dst* is a directory, then *src* is copied " +"there with the same name; otherwise, it must be a filename. (If the file " +"exists, it will be ruthlessly clobbered.) If *preserve_mode* is true (the " +"default), the file's mode (type and permission bits, or whatever is " +"analogous on the current platform) is copied. If *preserve_times* is true " +"(the default), the last-modified and last-access times are copied as well. " +"If *update* is true, *src* will only be copied if *dst* does not exist, or " +"if *dst* does exist but is older than *src*." +msgstr "" +"Скопіюйте файл *src* в *dst*. Якщо *dst* є каталогом, то *src* копіюється " +"туди з таким же ім’ям; інакше це має бути ім'я файлу. (Якщо файл існує, його " +"буде безжально знищено.) Якщо *preserve_mode* має значення true (за " +"замовчуванням), режим файлу (тип і біти дозволу або щось аналогічне на " +"поточній платформі) копіюється. Якщо *preserve_times* має значення true (за " +"замовчуванням), час останньої зміни та останнього доступу також копіюється. " +"Якщо *update* має значення true, *src* буде скопійовано, лише якщо *dst* не " +"існує, або якщо *dst* існує, але він старіший за *src*." + +msgid "" +"*link* allows you to make hard links (using :func:`os.link`) or symbolic " +"links (using :func:`os.symlink`) instead of copying: set it to ``'hard'`` or " +"``'sym'``; if it is ``None`` (the default), files are copied. Don't set " +"*link* on systems that don't support it: :func:`copy_file` doesn't check if " +"hard or symbolic linking is available. It uses :func:`_copy_file_contents` " +"to copy file contents." +msgstr "" +"*link* дозволяє створювати жорсткі посилання (за допомогою :func:`os.link`) " +"або символічні посилання (за допомогою :func:`os.symlink`) замість " +"копіювання: установіть значення ``'hard'`` або ``'сим'``; якщо значення " +"``None`` (за замовчуванням), файли копіюються. Не встановлюйте *посилання* " +"на системах, які його не підтримують: :func:`copy_file` не перевіряє " +"наявність жорсткого чи символічного зв’язування. Він використовує :func:" +"`_copy_file_contents` для копіювання вмісту файлу." + +msgid "" +"Return a tuple ``(dest_name, copied)``: *dest_name* is the actual name of " +"the output file, and *copied* is true if the file was copied (or would have " +"been copied, if *dry_run* true)." +msgstr "" +"Повертає кортеж ``(dest_name, copied)``: *dest_name* є фактичною назвою " +"вихідного файлу, а *copied* має значення true, якщо файл було скопійовано " +"(або було б скопійовано, якщо *dry_run* true)." + +msgid "" +"Move file *src* to *dst*. If *dst* is a directory, the file will be moved " +"into it with the same name; otherwise, *src* is just renamed to *dst*. " +"Returns the new full name of the file." +msgstr "" +"Перемістити файл *src* до *dst*. Якщо *dst* є каталогом, файл буде " +"переміщено до нього з таким же ім'ям; інакше *src* просто перейменовується " +"на *dst*. Повертає нову повну назву файлу." + +msgid "" +"Handles cross-device moves on Unix using :func:`copy_file`. What about " +"other systems?" +msgstr "" +"Обробляє переміщення між пристроями в Unix за допомогою :func:`copy_file`. А " +"як щодо інших систем?" + +msgid "" +"Create a file called *filename* and write *contents* (a sequence of strings " +"without line terminators) to it." +msgstr "" +"Створіть файл під назвою *filename* і запишіть у нього *contents* " +"(послідовність рядків без символів закінчення рядків)." + +msgid ":mod:`distutils.util` --- Miscellaneous other utility functions" +msgstr ":mod:`distutils.util` --- Інші інші службові функції" + +msgid "" +"This module contains other assorted bits and pieces that don't fit into any " +"other utility module." +msgstr "" +"Цей модуль містить інші різні частини, які не підходять до жодного іншого " +"службового модуля." + +msgid "" +"Return a string that identifies the current platform. This is used mainly " +"to distinguish platform-specific build directories and platform-specific " +"built distributions. Typically includes the OS name and version and the " +"architecture (as supplied by 'os.uname()'), although the exact information " +"included depends on the OS; e.g., on Linux, the kernel version isn't " +"particularly important." +msgstr "" +"Повертає рядок, що ідентифікує поточну платформу. Це використовується в " +"основному для того, щоб розрізнити каталоги збірок для певної платформи та " +"побудовані дистрибутиви для конкретної платформи. Зазвичай включає назву та " +"версію ОС та архітектуру (як надає 'os.uname()'), хоча точна включена " +"інформація залежить від ОС; наприклад, у Linux версія ядра не особливо " +"важлива." + +msgid "Examples of returned values:" +msgstr "Приклади повернених значень:" + +msgid "``linux-i586``" +msgstr "``linux-i586``" + +msgid "``linux-alpha``" +msgstr "``linux-альфа``" + +msgid "``solaris-2.6-sun4u``" +msgstr "``solaris-2.6-sun4u``" + +msgid "For non-POSIX platforms, currently just returns ``sys.platform``." +msgstr "" +"Для платформ, відмінних від POSIX, наразі повертає лише ``sys.platform``." + +msgid "" +"For macOS systems the OS version reflects the minimal version on which " +"binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET`` during " +"the build of Python), not the OS version of the current system." +msgstr "" +"Для систем macOS версія ОС відображає мінімальну версію, на якій " +"запускатимуться двійкові файли (тобто значення ``MACOSX_DEPLOYMENT_TARGET`` " +"під час збирання Python), а не версію ОС поточної системи." + +msgid "" +"For universal binary builds on macOS the architecture value reflects the " +"universal binary status instead of the architecture of the current " +"processor. For 32-bit universal binaries the architecture is ``fat``, for 64-" +"bit universal binaries the architecture is ``fat64``, and for 4-way " +"universal binaries the architecture is ``universal``. Starting from Python " +"2.7 and Python 3.2 the architecture ``fat3`` is used for a 3-way universal " +"build (ppc, i386, x86_64) and ``intel`` is used for a universal build with " +"the i386 and x86_64 architectures" +msgstr "" +"Для універсальних двійкових збірок на macOS значення архітектури відображає " +"статус універсального двійкового файлу замість архітектури поточного " +"процесора. Для 32-розрядних універсальних двійкових файлів архітектура " +"``fat``, для 64-розрядних універсальних двійкових файлів архітектура " +"``fat64``, а для 4-сторонніх універсальних двійкових файлів архітектура " +"``universal``. Починаючи з Python 2.7 і Python 3.2, архітектура ``fat3`` " +"використовується для тристоронньої універсальної збірки (ppc, i386, x86_64), " +"а ``intel`` використовується для універсальної збірки з архітектурами i386 і " +"x86_64" + +msgid "Examples of returned values on macOS:" +msgstr "Приклади повернених значень у macOS:" + +msgid "``macosx-10.3-ppc``" +msgstr "``macosx-10.3-ppc``" + +msgid "``macosx-10.3-fat``" +msgstr "``macosx-10.3-fat``" + +msgid "``macosx-10.5-universal``" +msgstr "``macosx-10.5-universal``" + +msgid "``macosx-10.6-intel``" +msgstr "``macosx-10.6-intel``" + +msgid "" +"For AIX, Python 3.9 and later return a string starting with \"aix\", " +"followed by additional fields (separated by ``'-'``) that represent the " +"combined values of AIX Version, Release and Technology Level (first field), " +"Build Date (second field), and bit-size (third field). Python 3.8 and " +"earlier returned only a single additional field with the AIX Version and " +"Release." +msgstr "" +"Для AIX Python 3.9 і пізніших версій повертає рядок, що починається з \"aix" +"\", за яким ідуть додаткові поля (розділені \"-\"), які представляють " +"об’єднані значення версії AIX, випуску та рівня технології (перше поле), " +"Build Дата (друге поле) і бітовий розмір (третє поле). Python 3.8 і " +"попередні версії повертали лише одне додаткове поле з версією та випуском " +"AIX." + +msgid "Examples of returned values on AIX:" +msgstr "Приклади повернених значень в AIX:" + +msgid "" +"``aix-5307-0747-32`` # 32-bit build on AIX ``oslevel -s``: 5300-07-00-0000" +msgstr "" +"``aix-5307-0747-32`` # 32-розрядна збірка на AIX ``oslevel -s``: " +"5300-07-00-0000" + +msgid "" +"``aix-7105-1731-64`` # 64-bit build on AIX ``oslevel -s``: 7100-05-01-1731" +msgstr "" +"``aix-7105-1731-64`` # 64-розрядна збірка на AIX ``oslevel -s``: " +"7100-05-01-1731" + +msgid "``aix-7.2`` # Legacy form reported in Python 3.8 and earlier" +msgstr "``aix-7.2`` # Застаріла форма, представлена в Python 3.8 і раніше" + +msgid "" +"The AIX platform string format now also includes the technology level, build " +"date, and ABI bit-size." +msgstr "" +"Формат рядка платформи AIX тепер також включає рівень технології, дату " +"збірки та бітовий розмір ABI." + +msgid "" +"Return 'pathname' as a name that will work on the native filesystem, i.e. " +"split it on '/' and put it back together again using the current directory " +"separator. Needed because filenames in the setup script are always supplied " +"in Unix style, and have to be converted to the local convention before we " +"can actually use them in the filesystem. Raises :exc:`ValueError` on non-" +"Unix-ish systems if *pathname* either starts or ends with a slash." +msgstr "" +"Поверніть \"pathname\" як ім’я, яке працюватиме у рідній файловій системі, " +"тобто розділіть його на \"/\" і знову об’єднайте, використовуючи поточний " +"роздільник каталогів. Необхідно, тому що імена файлів у сценарії " +"встановлення завжди надаються у стилі Unix і мають бути перетворені " +"відповідно до локальної угоди, перш ніж ми зможемо фактично використовувати " +"їх у файловій системі. Викликає :exc:`ValueError` на системах, що не " +"підтримують Unix, якщо *шлях* починається або закінчується скісною рискою." + +msgid "" +"Return *pathname* with *new_root* prepended. If *pathname* is relative, " +"this is equivalent to ``os.path.join(new_root,pathname)`` Otherwise, it " +"requires making *pathname* relative and then joining the two, which is " +"tricky on DOS/Windows." +msgstr "" +"Повернути *pathname* з *new_root* перед початком. Якщо *pathname* є " +"відносним, це еквівалентно ``os.path.join(new_root,pathname)``. В іншому " +"випадку потрібно зробити *pathname* відносним, а потім об’єднати два, що " +"складно в DOS/Windows." + +msgid "" +"Ensure that 'os.environ' has all the environment variables we guarantee that " +"users can use in config files, command-line options, etc. Currently this " +"includes:" +msgstr "" +"Переконайтеся, що \"os.environ\" містить усі змінні середовища, які ми " +"гарантуємо, що користувачі можуть використовувати у файлах конфігурації, " +"параметрах командного рядка тощо. Наразі це включає:" + +msgid ":envvar:`HOME` - user's home directory (Unix only)" +msgstr ":envvar:`HOME` - домашній каталог користувача (тільки для Unix)" + +msgid "" +":envvar:`PLAT` - description of the current platform, including hardware and " +"OS (see :func:`get_platform`)" +msgstr "" +":envvar:`PLAT` - опис поточної платформи, включаючи обладнання та ОС (див. :" +"func:`get_platform`)" + +msgid "" +"Perform shell/Perl-style variable substitution on *s*. Every occurrence of " +"``$`` followed by a name is considered a variable, and variable is " +"substituted by the value found in the *local_vars* dictionary, or in ``os." +"environ`` if it's not in *local_vars*. *os.environ* is first checked/" +"augmented to guarantee that it contains certain values: see :func:" +"`check_environ`. Raise :exc:`ValueError` for any variables not found in " +"either *local_vars* or ``os.environ``." +msgstr "" +"Виконайте підстановку змінної у стилі shell/Perl на *s*. Кожне входження ``" +"$``, після якого йде ім’я, вважається змінною, а змінна замінюється " +"значенням, знайденим у словнику *local_vars* або в ``os.environ``, якщо його " +"немає в *local_vars*. *os.environ* спочатку перевіряється/доповнюється, щоб " +"гарантувати, що він містить певні значення: див. :func:`check_environ`. " +"Викликати :exc:`ValueError` для будь-яких змінних, не знайдених ні в " +"*local_vars*, ні в ``os.environ``." + +msgid "" +"Note that this is not a full-fledged string interpolation function. A valid " +"``$variable`` can consist only of upper and lower case letters, numbers and " +"an underscore. No { } or ( ) style quoting is available." +msgstr "" + +msgid "" +"Split a string up according to Unix shell-like rules for quotes and " +"backslashes. In short: words are delimited by spaces, as long as those " +"spaces are not escaped by a backslash, or inside a quoted string. Single and " +"double quotes are equivalent, and the quote characters can be backslash-" +"escaped. The backslash is stripped from any two-character escape sequence, " +"leaving only the escaped character. The quote characters are stripped from " +"any quoted string. Returns a list of words." +msgstr "" +"Розділіть рядок відповідно до правил оболонки Unix для лапок і зворотних " +"косих риск. Коротше кажучи: слова розділені пробілами, якщо ці пробіли не " +"виділені зворотною скісною рискою або всередині рядка в лапках. Одинарні та " +"подвійні лапки еквівалентні, а символи лапок можна екранувати зворотною " +"скісною рискою. Зворотний слеш видаляється з будь-якої послідовності " +"екранування з двох символів, залишаючи лише екранований символ. Символи " +"лапок видаляються з будь-якого рядка в лапках. Повертає список слів." + +msgid "" +"Perform some action that affects the outside world (for instance, writing to " +"the filesystem). Such actions are special because they are disabled by the " +"*dry_run* flag. This method takes care of all that bureaucracy for you; " +"all you have to do is supply the function to call and an argument tuple for " +"it (to embody the \"external action\" being performed), and an optional " +"message to print." +msgstr "" +"Виконайте певну дію, яка впливає на зовнішній світ (наприклад, запис у " +"файлову систему). Такі дії є особливими, тому що вони вимкнені прапором " +"*dry_run*. Цей метод подбає про всю цю бюрократію за вас; все, що вам " +"потрібно зробити, це надати функцію для виклику та кортеж аргументів для неї " +"(щоб втілити \"зовнішню дію\", що виконується), і додаткове повідомлення для " +"друку." + +msgid "Convert a string representation of truth to true (1) or false (0)." +msgstr "" +"Перетворення рядкового представлення правди в істину (1) або хибність (0)." + +msgid "" +"True values are ``y``, ``yes``, ``t``, ``true``, ``on`` and ``1``; false " +"values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. Raises :exc:" +"`ValueError` if *val* is anything else." +msgstr "" +"Справжніми значеннями є ``y``, ``yes``, ``t``, ``true``, ``on`` і ``1``; " +"помилковими значеннями є ``n``, ``no``, ``f``, ``false``, ``off`` і ``0``. " +"Викликає :exc:`ValueError`, якщо *val* є чимось іншим." + +msgid "" +"Byte-compile a collection of Python source files to :file:`.pyc` files in a :" +"file:`__pycache__` subdirectory (see :pep:`3147` and :pep:`488`). *py_files* " +"is a list of files to compile; any files that don't end in :file:`.py` are " +"silently skipped. *optimize* must be one of the following:" +msgstr "" +"Байтова компіляція колекції вихідних файлів Python у файли :file:`.pyc` у " +"підкаталозі :file:`__pycache__` (див. :pep:`3147` і :pep:`488`). *py_files* " +"— список файлів для компіляції; будь-які файли, які не закінчуються на :file:" +"`.py` мовчки пропускаються. *optimize* має бути одним із таких:" + +msgid "``0`` - don't optimize" +msgstr "``0`` - не оптимізувати" + +msgid "``1`` - normal optimization (like ``python -O``)" +msgstr "``1`` - звичайна оптимізація (наприклад, ``python -O``)" + +msgid "``2`` - extra optimization (like ``python -OO``)" +msgstr "``2`` - додаткова оптимізація (наприклад, ``python -OO``)" + +msgid "If *force* is true, all files are recompiled regardless of timestamps." +msgstr "" +"Якщо *force* має значення true, усі файли перекомпільовуються незалежно від " +"позначок часу." + +msgid "" +"The source filename encoded in each :term:`bytecode` file defaults to the " +"filenames listed in *py_files*; you can modify these with *prefix* and " +"*basedir*. *prefix* is a string that will be stripped off of each source " +"filename, and *base_dir* is a directory name that will be prepended (after " +"*prefix* is stripped). You can supply either or both (or neither) of " +"*prefix* and *base_dir*, as you wish." +msgstr "" +"Ім’я вихідного файлу, закодоване в кожному файлі :term:`bytecode`, за " +"замовчуванням відповідає назвам файлів, указаним у *py_files*; ви можете " +"змінити їх за допомогою *prefix* і *basedir*. *префікс* — це рядок, який " +"буде видалено з імені кожного вихідного файлу, а *base_dir* — це ім’я " +"каталогу, яке буде додано перед (після видалення *префікса*). Ви можете " +"вказати один або обидва (або жоден) з *prefix* і *base_dir*, як хочете." + +msgid "" +"If *dry_run* is true, doesn't actually do anything that would affect the " +"filesystem." +msgstr "" +"Якщо *dry_run* має значення true, фактично не робить нічого, що могло б " +"вплинути на файлову систему." + +msgid "" +"Byte-compilation is either done directly in this interpreter process with " +"the standard :mod:`py_compile` module, or indirectly by writing a temporary " +"script and executing it. Normally, you should let :func:`byte_compile` " +"figure out to use direct compilation or not (see the source for details). " +"The *direct* flag is used by the script generated in indirect mode; unless " +"you know what you're doing, leave it set to ``None``." +msgstr "" +"Компіляція байтів виконується або безпосередньо в цьому процесі " +"інтерпретатора за допомогою стандартного модуля :mod:`py_compile`, або " +"опосередковано шляхом написання тимчасового сценарію та його виконання. " +"Зазвичай ви повинні дозволити :func:`byte_compile` визначити, " +"використовувати пряму компіляцію чи ні (дивіться джерело для деталей). " +"Прапор *прямий* використовується сценарієм, згенерованим у непрямому режимі; " +"Якщо ви не знаєте, що робите, залиште значення ``None``." + +msgid "" +"Create ``.pyc`` files with an :func:`import magic tag ` in " +"their name, in a :file:`__pycache__` subdirectory instead of files without " +"tag in the current directory." +msgstr "" +"Створюйте файли ``.pyc`` із :func:`магічним тегом імпорту ` у " +"своєму імені в підкаталозі :file:`__pycache__` замість файлів без тегу в " +"поточному каталозі." + +msgid "Create ``.pyc`` files according to :pep:`488`." +msgstr "Створіть файли ``.pyc`` відповідно до :pep:`488`." + +msgid "" +"Return a version of *header* escaped for inclusion in an :rfc:`822` header, " +"by ensuring there are 8 spaces space after each newline. Note that it does " +"no other modification of the string." +msgstr "" +"Повертає екрановану версію *заголовка* для включення в заголовок :rfc:`822`, " +"переконавшись, що після кожного нового рядка є 8 пробілів. Зауважте, що він " +"не виконує інших модифікацій рядка." + +msgid ":mod:`distutils.dist` --- The Distribution class" +msgstr ":mod:`distutils.dist` --- Клас розподілу" + +msgid "" +"This module provides the :class:`~distutils.core.Distribution` class, which " +"represents the module distribution being built/installed/distributed." +msgstr "" +"Цей модуль надає клас :class:`~distutils.core.Distribution`, який " +"представляє дистрибутив модуля, який створюється/встановлюється/" +"розповсюджується." + +msgid ":mod:`distutils.extension` --- The Extension class" +msgstr ":mod:`distutils.extension` --- Клас розширення" + +msgid "" +"This module provides the :class:`Extension` class, used to describe C/C++ " +"extension modules in setup scripts." +msgstr "" +"Цей модуль надає клас :class:`Extension`, який використовується для опису " +"модулів розширення C/C++ у сценаріях налаштування." + +msgid ":mod:`distutils.debug` --- Distutils debug mode" +msgstr ":mod:`distutils.debug` --- Режим налагодження Distutils" + +msgid "This module provides the DEBUG flag." +msgstr "Цей модуль надає позначку DEBUG." + +msgid ":mod:`distutils.errors` --- Distutils exceptions" +msgstr ":mod:`distutils.errors` --- винятки Distutils" + +msgid "" +"Provides exceptions used by the Distutils modules. Note that Distutils " +"modules may raise standard exceptions; in particular, SystemExit is usually " +"raised for errors that are obviously the end-user's fault (eg. bad command-" +"line arguments)." +msgstr "" +"Надає винятки, які використовуються модулями Distutils. Зауважте, що модулі " +"Distutils можуть викликати стандартні винятки; зокрема, SystemExit зазвичай " +"викликається для помилок, які, очевидно, є помилкою кінцевого користувача " +"(наприклад, неправильні аргументи командного рядка)." + +msgid "" +"This module is safe to use in ``from ... import *`` mode; it only exports " +"symbols whose names start with ``Distutils`` and end with ``Error``." +msgstr "" +"Цей модуль безпечно використовувати в режимі ``from ... import *``; він " +"експортує лише символи, імена яких починаються з ``Distutils`` і " +"закінчуються ``Error``." + +msgid "" +":mod:`distutils.fancy_getopt` --- Wrapper around the standard getopt module" +msgstr "" +":mod:`distutils.fancy_getopt` --- Обгортка навколо стандартного модуля getopt" + +msgid "" +"This module provides a wrapper around the standard :mod:`getopt` module " +"that provides the following additional features:" +msgstr "" +"Цей модуль надає оболонку стандартного модуля :mod:`getopt`, яка надає " +"наступні додаткові функції:" + +msgid "short and long options are tied together" +msgstr "короткі і довгі варіанти зв'язуються разом" + +msgid "" +"options have help strings, so :func:`fancy_getopt` could potentially create " +"a complete usage summary" +msgstr "" +"параметри мають рядки довідки, тому :func:`fancy_getopt` потенційно може " +"створити повний підсумок використання" + +msgid "options set attributes of a passed-in object" +msgstr "параметри встановлюють атрибути переданого об'єкта" + +msgid "" +"boolean options can have \"negative aliases\" --- eg. if :option:`!--quiet` " +"is the \"negative alias\" of :option:`!--verbose`, then :option:`!--quiet` " +"on the command line sets *verbose* to false." +msgstr "" +"логічні параметри можуть мати \"негативні псевдоніми\" --- наприклад. якщо :" +"option:`!--quiet` є \"негативним псевдонімом\" :option:`!--verbose`, тоді :" +"option:`!--quiet` у командному рядку встановлює для *verbose* значення false." + +msgid "" +"Wrapper function. *options* is a list of ``(long_option, short_option, " +"help_string)`` 3-tuples as described in the constructor for :class:" +"`FancyGetopt`. *negative_opt* should be a dictionary mapping option names to " +"option names, both the key and value should be in the *options* list. " +"*object* is an object which will be used to store values (see the :meth:" +"`getopt` method of the :class:`FancyGetopt` class). *args* is the argument " +"list. Will use ``sys.argv[1:]`` if you pass ``None`` as *args*." +msgstr "" +"Функція обгортки. *options* — це список ``(long_option, short_option, " +"help_string)`` 3-кортежів, як описано в конструкторі для :class:" +"`FancyGetopt`. *negative_opt* має бути словником, який зіставляє назви " +"параметрів з назвами параметрів, і ключ, і значення мають бути в списку " +"*параметрів*. *object* — це об’єкт, який використовуватиметься для " +"зберігання значень (дивіться метод :meth:`getopt` класу :class:" +"`FancyGetopt`). *args* — список аргументів. Використовуватиме ``sys." +"argv[1:]``, якщо ви передасте ``None`` як *args*." + +msgid "Wraps *text* to less than *width* wide." +msgstr "Переносить *текст* на ширину менше *ширини*." + +msgid "" +"The option_table is a list of 3-tuples: ``(long_option, short_option, " +"help_string)``" +msgstr "" +"Таблиця_опцій — це список із трьох кортежів: ``(long_option, short_option, " +"help_string)``" + +msgid "" +"If an option takes an argument, its *long_option* should have ``'='`` " +"appended; *short_option* should just be a single character, no ``':'`` in " +"any case. *short_option* should be ``None`` if a *long_option* doesn't have " +"a corresponding *short_option*. All option tuples must have long options." +msgstr "" +"Якщо параметр приймає аргумент, до його *long_option* має бути додано " +"``'='``; *short_option* має бути лише одним символом, ні в якому разі не " +"``':''``. *short_option* має бути ``None``, якщо *long_option* не має " +"відповідного *short_option*. Усі кортежі параметрів повинні мати довгі " +"параметри." + +msgid "The :class:`FancyGetopt` class provides the following methods:" +msgstr "Клас :class:`FancyGetopt` надає такі методи:" + +msgid "Parse command-line options in args. Store as attributes on *object*." +msgstr "" +"Розібрати параметри командного рядка в args. Зберігати як атрибути на " +"*об’єкті*." + +msgid "" +"If *args* is ``None`` or not supplied, uses ``sys.argv[1:]``. If *object* " +"is ``None`` or not supplied, creates a new :class:`OptionDummy` instance, " +"stores option values there, and returns a tuple ``(args, object)``. If " +"*object* is supplied, it is modified in place and :func:`getopt` just " +"returns *args*; in both cases, the returned *args* is a modified copy of the " +"passed-in *args* list, which is left untouched." +msgstr "" +"Якщо *args* має значення ``None`` або не надається, використовується ``sys." +"argv[1:]``. Якщо *object* має значення ``None`` або не надано, створює новий " +"екземпляр :class:`OptionDummy`, зберігає там значення параметрів і повертає " +"кортеж ``(args, object)``. Якщо надається *object*, він змінюється на місці, " +"і :func:`getopt` просто повертає *args*; в обох випадках повернутий *args* є " +"модифікованою копією переданого списку *args*, який залишається недоторканим." + +msgid "" +"Returns the list of ``(option, value)`` tuples processed by the previous run " +"of :meth:`getopt` Raises :exc:`RuntimeError` if :meth:`getopt` hasn't been " +"called yet." +msgstr "" +"Повертає список кортежів ``(option, value)``, оброблених попереднім " +"запуском :meth:`getopt` Викликає :exc:`RuntimeError`, якщо :meth:`getopt` ще " +"не було викликано." + +msgid "" +"Generate help text (a list of strings, one per suggested line of output) " +"from the option table for this :class:`FancyGetopt` object." +msgstr "" +"Згенеруйте довідковий текст (список рядків, по одному на запропонований " +"рядок виводу) з таблиці параметрів для цього об’єкта :class:`FancyGetopt`." + +msgid "If supplied, prints the supplied *header* at the top of the help." +msgstr "Якщо надається, друкує наданий *заголовок* у верхній частині довідки." + +msgid ":mod:`distutils.filelist` --- The FileList class" +msgstr ":mod:`distutils.filelist` --- Клас FileList" + +msgid "" +"This module provides the :class:`FileList` class, used for poking about the " +"filesystem and building lists of files." +msgstr "" +"Цей модуль надає клас :class:`FileList`, який використовується для вивчення " +"файлової системи та створення списків файлів." + +msgid ":mod:`distutils.log` --- Simple :pep:`282`-style logging" +msgstr ":mod:`distutils.log` --- Просте журналювання у стилі :pep:`282`" + +msgid ":mod:`distutils.spawn` --- Spawn a sub-process" +msgstr ":mod:`distutils.spawn` --- Створення підпроцесу" + +msgid "" +"This module provides the :func:`spawn` function, a front-end to various " +"platform-specific functions for launching another program in a sub-process. " +"Also provides :func:`find_executable` to search the path for a given " +"executable name." +msgstr "" +"Цей модуль надає функцію :func:`spawn`, інтерфейс для різних функцій, " +"специфічних для платформи, для запуску іншої програми в підпроцесі. Також " +"надає :func:`find_executable` для пошуку шляху для вказаного імені " +"виконуваного файлу." + +msgid ":mod:`distutils.sysconfig` --- System configuration information" +msgstr ":mod:`distutils.sysconfig` --- Інформація про конфігурацію системи" + +msgid ":mod:`distutils.sysconfig` has been merged into :mod:`sysconfig`." +msgstr ":mod:`distutils.sysconfig` було об’єднано в :mod:`sysconfig`." + +msgid "" +"The :mod:`distutils.sysconfig` module provides access to Python's low-level " +"configuration information. The specific configuration variables available " +"depend heavily on the platform and configuration. The specific variables " +"depend on the build process for the specific version of Python being run; " +"the variables are those found in the :file:`Makefile` and configuration " +"header that are installed with Python on Unix systems. The configuration " +"header is called :file:`pyconfig.h` for Python versions starting with 2.2, " +"and :file:`config.h` for earlier versions of Python." +msgstr "" +"Модуль :mod:`distutils.sysconfig` забезпечує доступ до низькорівневої " +"конфігураційної інформації Python. Конкретні доступні змінні конфігурації " +"значною мірою залежать від платформи та конфігурації. Конкретні змінні " +"залежать від процесу збирання для конкретної версії Python, що виконується; " +"змінні знаходяться в :file:`Makefile` та заголовку конфігурації, які " +"встановлено разом з Python у системах Unix. Заголовок конфігурації " +"називається :file:`pyconfig.h` для версій Python, починаючи з 2.2, і :file:" +"`config.h` для попередніх версій Python." + +msgid "" +"Some additional functions are provided which perform some useful " +"manipulations for other parts of the :mod:`distutils` package." +msgstr "" +"Надаються деякі додаткові функції, які виконують деякі корисні маніпуляції " +"для інших частин пакета :mod:`distutils`." + +msgid "The result of ``os.path.normpath(sys.prefix)``." +msgstr "Результат ``os.path.normpath(sys.prefix)``." + +msgid "The result of ``os.path.normpath(sys.exec_prefix)``." +msgstr "Результат ``os.path.normpath(sys.exec_prefix)``." + +msgid "" +"Return the value of a single variable. This is equivalent to " +"``get_config_vars().get(name)``." +msgstr "" +"Повертає значення однієї змінної. Це еквівалентно ``get_config_vars()." +"get(name)``." + +msgid "" +"Return a set of variable definitions. If there are no arguments, this " +"returns a dictionary mapping names of configuration variables to values. If " +"arguments are provided, they should be strings, and the return value will be " +"a sequence giving the associated values. If a given name does not have a " +"corresponding value, ``None`` will be included for that variable." +msgstr "" +"Повертає набір визначень змінних. Якщо аргументів немає, повертається " +"словник, який зіставляє імена змінних конфігурації зі значеннями. Якщо " +"надано аргументи, вони мають бути рядками, а значення, що повертається, буде " +"послідовністю, що надає пов’язані значення. Якщо задане ім’я не має " +"відповідного значення, для цієї змінної буде включено значення \"Немає\"." + +msgid "" +"Return the full path name of the configuration header. For Unix, this will " +"be the header generated by the :program:`configure` script; for other " +"platforms the header will have been supplied directly by the Python source " +"distribution. The file is a platform-specific text file." +msgstr "" +"Повертає повну назву шляху до заголовка конфігурації. Для Unix це буде " +"заголовок, згенерований сценарієм :program:`configure`; для інших платформ " +"заголовок буде надано безпосередньо вихідним кодом Python. Файл є текстовим " +"файлом для конкретної платформи." + +msgid "" +"Return the full path name of the :file:`Makefile` used to build Python. For " +"Unix, this will be a file generated by the :program:`configure` script; the " +"meaning for other platforms will vary. The file is a platform-specific text " +"file, if it exists. This function is only useful on POSIX platforms." +msgstr "" +"Повертає повну назву шляху до :file:`Makefile`, який використовується для " +"створення Python. Для Unix це буде файл, згенерований сценарієм :program:" +"`configure`; значення для інших платформ буде іншим. Файл є текстовим файлом " +"певної платформи, якщо він існує. Ця функція корисна лише на платформах " +"POSIX." + +msgid "" +"The following functions are deprecated together with this module and they " +"have no direct replacement." +msgstr "" +"Наступні функції застаріли разом із цим модулем і не мають прямої заміни." + +msgid "" +"Return the directory for either the general or platform-dependent C include " +"files. If *plat_specific* is true, the platform-dependent include directory " +"is returned; if false or omitted, the platform-independent directory is " +"returned. If *prefix* is given, it is used as either the prefix instead of :" +"const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if " +"*plat_specific* is true." +msgstr "" +"Повертає каталог для загальних або залежних від платформи C-файлів " +"включення. Якщо *plat_specific* має значення true, повертається залежний від " +"платформи каталог включення; якщо false або опущено, повертається незалежний " +"від платформи каталог. Якщо вказано *префікс*, він використовується або як " +"префікс замість :const:`PREFIX`, або як префікс exec замість :const:" +"`EXEC_PREFIX`, якщо *plat_specific* має значення true." + +msgid "" +"Return the directory for either the general or platform-dependent library " +"installation. If *plat_specific* is true, the platform-dependent include " +"directory is returned; if false or omitted, the platform-independent " +"directory is returned. If *prefix* is given, it is used as either the " +"prefix instead of :const:`PREFIX`, or as the exec-prefix instead of :const:" +"`EXEC_PREFIX` if *plat_specific* is true. If *standard_lib* is true, the " +"directory for the standard library is returned rather than the directory for " +"the installation of third-party extensions." +msgstr "" +"Поверніть каталог для встановлення загальної або залежної від платформи " +"бібліотеки. Якщо *plat_specific* має значення true, повертається залежний " +"від платформи каталог включення; якщо false або опущено, повертається " +"незалежний від платформи каталог. Якщо вказано *префікс*, він " +"використовується або як префікс замість :const:`PREFIX`, або як префікс exec " +"замість :const:`EXEC_PREFIX`, якщо *plat_specific* має значення true. Якщо " +"*standard_lib* має значення true, повертається каталог для стандартної " +"бібліотеки, а не каталог для встановлення розширень сторонніх розробників." + +msgid "" +"The following function is only intended for use within the :mod:`distutils` " +"package." +msgstr "" +"Наступна функція призначена лише для використання в пакеті :mod:`distutils`." + +msgid "" +"Do any platform-specific customization of a :class:`distutils.ccompiler." +"CCompiler` instance." +msgstr "" +"Виконайте будь-яке налаштування екземпляра :class:`distutils.ccompiler." +"CCompiler` для певної платформи." + +msgid "" +"This function is only needed on Unix at this time, but should be called " +"consistently to support forward-compatibility. It inserts the information " +"that varies across Unix flavors and is stored in Python's :file:`Makefile`. " +"This information includes the selected compiler, compiler and linker " +"options, and the extension used by the linker for shared objects." +msgstr "" +"На даний момент ця функція потрібна тільки в Unix, але її слід викликати " +"постійно, щоб підтримувати сумісність. Він вставляє інформацію, яка " +"різниться в різних варіантах Unix і зберігається в файлі :file:`Makefile` " +"Python. Ця інформація включає вибраний компілятор, параметри компілятора та " +"компонувальника, а також розширення, яке використовує компонувальник для " +"спільних об’єктів." + +msgid "" +"This function is even more special-purpose, and should only be used from " +"Python's own build procedures." +msgstr "" +"Ця функція ще більш спеціального призначення, і її слід використовувати лише " +"з власних процедур збірки Python." + +msgid "" +"Inform the :mod:`distutils.sysconfig` module that it is being used as part " +"of the build process for Python. This changes a lot of relative locations " +"for files, allowing them to be located in the build area rather than in an " +"installed Python." +msgstr "" +"Повідомте модуль :mod:`distutils.sysconfig`, що він використовується як " +"частина процесу збирання для Python. Це змінює багато відносних розташувань " +"файлів, дозволяючи їм розташовуватися в області збірки, а не у встановленому " +"Python." + +msgid ":mod:`distutils.text_file` --- The TextFile class" +msgstr ":mod:`distutils.text_file` --- Клас TextFile" + +msgid "" +"This module provides the :class:`TextFile` class, which gives an interface " +"to text files that (optionally) takes care of stripping comments, ignoring " +"blank lines, and joining lines with backslashes." +msgstr "" +"Цей модуль надає клас :class:`TextFile`, який надає інтерфейс для текстових " +"файлів, який (необов’язково) піклується про видалення коментарів, " +"ігнорування порожніх рядків і об’єднання рядків зворотними похилими рисками." + +msgid "" +"This class provides a file-like object that takes care of all the things " +"you commonly want to do when processing a text file that has some line-by-" +"line syntax: strip comments (as long as ``#`` is your comment character), " +"skip blank lines, join adjacent lines by escaping the newline (ie. backslash " +"at end of line), strip leading and/or trailing whitespace. All of these are " +"optional and independently controllable." +msgstr "" +"Цей клас надає файлоподібний об’єкт, який піклується про всі речі, які ви " +"зазвичай хочете робити під час обробки текстового файлу, який має деякий " +"рядковий синтаксис: видалення коментарів (за умови, що ``#`` є вашим " +"символом коментаря ), пропускати порожні рядки, об’єднувати суміжні рядки " +"шляхом екранування символу нового рядка (тобто зворотної косої риски в кінці " +"рядка), видаляти пробіли на початку та/або в кінці. Усі вони необов’язкові " +"та управляються незалежно." + +msgid "" +"The class provides a :meth:`warn` method so you can generate warning " +"messages that report physical line number, even if the logical line in " +"question spans multiple physical lines. Also provides :meth:`unreadline` " +"for implementing line-at-a-time lookahead." +msgstr "" +"Клас надає метод :meth:`warn`, щоб ви могли генерувати попередження, які " +"повідомляють номер фізичного рядка, навіть якщо відповідний логічний рядок " +"охоплює кілька фізичних рядків. Також надає :meth:`unreadline` для " +"реалізації построкового перегляду." + +msgid "" +":class:`TextFile` instances are create with either *filename*, *file*, or " +"both. :exc:`RuntimeError` is raised if both are ``None``. *filename* should " +"be a string, and *file* a file object (or something that provides :meth:" +"`readline` and :meth:`close` methods). It is recommended that you supply " +"at least *filename*, so that :class:`TextFile` can include it in warning " +"messages. If *file* is not supplied, :class:`TextFile` creates its own " +"using the :func:`open` built-in function." +msgstr "" +":class:`TextFile` екземпляри створюються з *filename*, *file* або обома. :" +"exc:`RuntimeError` виникає, якщо обидва мають значення ``None``. *filename* " +"має бути рядком, а *file* — файловим об’єктом (або чимось, що надає методи :" +"meth:`readline` і :meth:`close`). Рекомендовано вказати принаймні *ім’я " +"файлу*, щоб :class:`TextFile` міг включити його в попередження. Якщо *file* " +"не вказано, :class:`TextFile` створює власний за допомогою вбудованої " +"функції :func:`open`." + +msgid "" +"The options are all boolean, and affect the values returned by :meth:" +"`readline`" +msgstr "" +"Усі параметри є логічними і впливають на значення, які повертає :meth:" +"`readline`" + +msgid "option name" +msgstr "назва опції" + +msgid "default" +msgstr "за замовчуванням" + +msgid "*strip_comments*" +msgstr "*strip_comments*" + +msgid "" +"strip from ``'#'`` to end-of-line, as well as any whitespace leading up to " +"the ``'#'``\\ ---unless it is escaped by a backslash" +msgstr "" +"смуга від ``'#'`` до кінця рядка, а також будь-які пробіли, що ведуть до " +"``'#'``\\ --- якщо це не екрановано зворотною скісною рискою" + +msgid "true" +msgstr "правда" + +msgid "*lstrip_ws*" +msgstr "*lstrip_ws*" + +msgid "strip leading whitespace from each line before returning it" +msgstr "видаляти початкові пробіли з кожного рядка перед поверненням" + +msgid "false" +msgstr "помилковий" + +msgid "*rstrip_ws*" +msgstr "*rstrip_ws*" + +msgid "" +"strip trailing whitespace (including line terminator!) from each line before " +"returning it." +msgstr "" +"видаляти кінцеві пробіли (включно з символом закінчення рядка!) з кожного " +"рядка перед поверненням." + +msgid "*skip_blanks*" +msgstr "*skip_blanks*" + +msgid "" +"skip lines that are empty \\*after\\* stripping comments and whitespace. " +"(If both lstrip_ws and rstrip_ws are false, then some lines may consist of " +"solely whitespace: these will \\*not\\* be skipped, even if *skip_blanks* is " +"true.)" +msgstr "" +"пропускати порожні рядки \\*після\\* видалення коментарів і пробілів. (Якщо " +"і lstrip_ws, і rstrip_ws false, то деякі рядки можуть складатися лише з " +"пробілів: вони \\*не\\* будуть пропущені, навіть якщо *skip_blanks* має " +"значення true.)" + +msgid "*join_lines*" +msgstr "*join_lines*" + +msgid "" +"if a backslash is the last non-newline character on a line after stripping " +"comments and whitespace, join the following line to it to form one logical " +"line; if N consecutive lines end with a backslash, then N+1 physical lines " +"will be joined to form one logical line." +msgstr "" +"якщо зворотна скісна риска є останнім символом у рядку після видалення " +"коментарів і пробілів, приєднайте наступний рядок до нього, щоб утворити " +"один логічний рядок; якщо N послідовних рядків закінчуються зворотною " +"скісною рискою, тоді N+1 фізичний рядок буде об’єднано в один логічний рядок." + +msgid "*collapse_join*" +msgstr "*collapse_join*" + +msgid "" +"strip leading whitespace from lines that are joined to their predecessor; " +"only matters if ``(join_lines and not lstrip_ws)``" +msgstr "" +"видаляти початкові пробіли з рядків, які приєднані до їх попереднього; має " +"значення лише якщо ``(join_lines, а не lstrip_ws)``" + +msgid "" +"Note that since *rstrip_ws* can strip the trailing newline, the semantics " +"of :meth:`readline` must differ from those of the built-in file object's :" +"meth:`readline` method! In particular, :meth:`readline` returns ``None`` " +"for end-of-file: an empty string might just be a blank line (or an all-" +"whitespace line), if *rstrip_ws* is true but *skip_blanks* is not." +msgstr "" +"Зауважте, що оскільки *rstrip_ws* може видаляти кінцевий новий рядок, " +"семантика :meth:`readline` має відрізнятися від методу :meth:`readline` " +"вбудованого файлового об’єкта! Зокрема, :meth:`readline` повертає ``None`` " +"для кінця файлу: порожній рядок може бути просто порожнім рядком (або рядком " +"із пробілами), якщо *rstrip_ws* має значення true, але *skip_blanks* не." + +msgid "" +"Open a new file *filename*. This overrides any *file* or *filename* " +"constructor arguments." +msgstr "" +"Відкрийте новий файл *назва файлу*. Це перевизначає будь-які аргументи " +"конструктора *file* або *filename*." + +msgid "" +"Close the current file and forget everything we know about it (including the " +"filename and the current line number)." +msgstr "" +"Закрийте поточний файл і забудьте все, що ми знаємо про нього (включно з " +"назвою файлу та номером поточного рядка)." + +msgid "" +"Print (to stderr) a warning message tied to the current logical line in the " +"current file. If the current logical line in the file spans multiple " +"physical lines, the warning refers to the whole range, such as ``\"lines " +"3-5\"``. If *line* is supplied, it overrides the current line number; it " +"may be a list or tuple to indicate a range of physical lines, or an integer " +"for a single physical line." +msgstr "" +"Вивести (у stderr) попереджувальне повідомлення, прив’язане до поточного " +"логічного рядка в поточному файлі. Якщо поточний логічний рядок у файлі " +"охоплює кілька фізичних рядків, попередження стосується всього діапазону, " +"наприклад \"рядків 3-5\". Якщо вказано *рядок*, він замінює поточний номер " +"рядка; це може бути список або кортеж для позначення діапазону фізичних " +"рядків або ціле число для окремого фізичного рядка." + +msgid "" +"Read and return a single logical line from the current file (or from an " +"internal buffer if lines have previously been \"unread\" with :meth:" +"`unreadline`). If the *join_lines* option is true, this may involve " +"reading multiple physical lines concatenated into a single string. Updates " +"the current line number, so calling :meth:`warn` after :meth:`readline` " +"emits a warning about the physical line(s) just read. Returns ``None`` on " +"end-of-file, since the empty string can occur if *rstrip_ws* is true but " +"*strip_blanks* is not." +msgstr "" +"Читання та повернення одного логічного рядка з поточного файлу (або з " +"внутрішнього буфера, якщо рядки раніше були \"непрочитаними\" за допомогою :" +"meth:`unreadline`). Якщо параметр *join_lines* має значення true, це може " +"передбачати читання кількох фізичних рядків, об’єднаних в один рядок. " +"Оновлює номер поточного рядка, тому виклик :meth:`warn` після :meth:" +"`readline` видає попередження про щойно прочитаний фізичний рядок(и). " +"Повертає ``None`` у кінці файлу, оскільки порожній рядок може виникнути, " +"якщо *rstrip_ws* має значення true, а *strip_blanks* — ні." + +msgid "" +"Read and return the list of all logical lines remaining in the current file. " +"This updates the current line number to the last line of the file." +msgstr "" +"Прочитати та повернути список усіх логічних рядків, що залишилися в " +"поточному файлі. Це оновить номер поточного рядка до останнього рядка файлу." + +msgid "" +"Push *line* (a string) onto an internal buffer that will be checked by " +"future :meth:`readline` calls. Handy for implementing a parser with line-at-" +"a-time lookahead. Note that lines that are \"unread\" with :meth:" +"`unreadline` are not subsequently re-cleansed (whitespace stripped, or " +"whatever) when read with :meth:`readline`. If multiple calls are made to :" +"meth:`unreadline` before a call to :meth:`readline`, the lines will be " +"returned most in most recent first order." +msgstr "" +"Надішліть *рядок* (рядок) у внутрішній буфер, який перевірятиметься " +"майбутніми викликами :meth:`readline`. Зручно для реалізації синтаксичного " +"аналізатора з построковим переглядом. Зауважте, що рядки, які є " +"\"непрочитаними\" за допомогою :meth:`unreadline`, згодом не очищаються " +"повторно (видаляються пробіли чи щось інше), коли читаються за допомогою :" +"meth:`readline`. Якщо перед викликом :meth:`readline` зроблено декілька " +"викликів :meth:`unreadline`, рядки буде повернуто в найновішому першому " +"порядку." + +msgid ":mod:`distutils.version` --- Version number classes" +msgstr ":mod:`distutils.version` --- Класи номерів версій" + +msgid ":mod:`distutils.cmd` --- Abstract base class for Distutils commands" +msgstr ":mod:`distutils.cmd` --- Абстрактний базовий клас для команд Distutils" + +msgid "This module supplies the abstract base class :class:`Command`." +msgstr "Цей модуль надає абстрактний базовий клас :class:`Command`." + +msgid "" +"Abstract base class for defining command classes, the \"worker bees\" of the " +"Distutils. A useful analogy for command classes is to think of them as " +"subroutines with local variables called *options*. The options are declared " +"in :meth:`initialize_options` and defined (given their final values) in :" +"meth:`finalize_options`, both of which must be defined by every command " +"class. The distinction between the two is necessary because option values " +"might come from the outside world (command line, config file, ...), and any " +"options dependent on other options must be computed after these outside " +"influences have been processed --- hence :meth:`finalize_options`. The body " +"of the subroutine, where it does all its work based on the values of its " +"options, is the :meth:`run` method, which must also be implemented by every " +"command class." +msgstr "" +"Абстрактний базовий клас для визначення класів команд, \"робочих бджіл\" " +"Distutils. Корисною аналогією для класів команд є розглядати їх як " +"підпрограми з локальними змінними, які називаються *options*. Параметри " +"оголошені в :meth:`initialize_options` і визначені (враховуючи їх кінцеві " +"значення) в :meth:`finalize_options`, обидва з яких повинні бути визначені " +"кожним класом команд. Розрізнення між цими двома параметрами є необхідним, " +"оскільки значення параметрів можуть надходити із зовнішнього світу " +"(командний рядок, конфігураційний файл, ...), а будь-які параметри, залежні " +"від інших параметрів, мають бути обчислені після обробки цих зовнішніх " +"впливів --- отже :meth:`finalize_options`. Тіло підпрограми, де вона виконує " +"всю свою роботу на основі значень своїх параметрів, є методом :meth:`run`, " +"який також має бути реалізований кожним класом команд." + +msgid "" +"The class constructor takes a single argument *dist*, a :class:`~distutils." +"core.Distribution` instance." +msgstr "" +"Конструктор класу приймає один аргумент *dist*, екземпляр :class:`~distutils." +"core.Distribution`." + +msgid "Creating a new Distutils command" +msgstr "Створення нової команди Distutils" + +msgid "This section outlines the steps to create a new Distutils command." +msgstr "У цьому розділі описано кроки для створення нової команди Distutils." + +msgid "" +"A new command lives in a module in the :mod:`distutils.command` package. " +"There is a sample template in that directory called :file:" +"`command_template`. Copy this file to a new module with the same name as " +"the new command you're implementing. This module should implement a class " +"with the same name as the module (and the command). So, for instance, to " +"create the command ``peel_banana`` (so that users can run ``setup.py " +"peel_banana``), you'd copy :file:`command_template` to :file:`distutils/" +"command/peel_banana.py`, then edit it so that it's implementing the class :" +"class:`peel_banana`, a subclass of :class:`distutils.cmd.Command`." +msgstr "" +"Нова команда міститься в модулі в пакеті :mod:`distutils.command`. У цьому " +"каталозі є зразок шаблону під назвою :file:`command_template`. Скопіюйте цей " +"файл до нового модуля з такою ж назвою, як і нова команда, яку ви " +"реалізуєте. Цей модуль має реалізовувати клас із такою самою назвою, як і " +"модуль (і команда). Отже, наприклад, щоб створити команду ``peel_banana`` " +"(щоб користувачі могли запускати ``setup.py peel_banana``), ви повинні " +"скопіювати :file:`command_template` до :file:`distutils/command/peel_banana ." +"py`, потім відредагуйте його так, щоб він реалізував клас :class:" +"`peel_banana`, підклас :class:`distutils.cmd.Command`." + +msgid "Subclasses of :class:`Command` must define the following methods." +msgstr "Підкласи :class:`Command` повинні визначати такі методи." + +msgid "" +"Set default values for all the options that this command supports. Note " +"that these defaults may be overridden by other commands, by the setup " +"script, by config files, or by the command-line. Thus, this is not the " +"place to code dependencies between options; generally, :meth:" +"`initialize_options` implementations are just a bunch of ``self.foo = None`` " +"assignments." +msgstr "" +"Установіть значення за замовчуванням для всіх параметрів, які підтримує ця " +"команда. Зауважте, що ці параметри за замовчуванням можуть бути замінені " +"іншими командами, сценарієм налаштування, файлами конфігурації або командним " +"рядком. Таким чином, це не місце для кодування залежностей між параметрами; " +"загалом, реалізації :meth:`initialize_options` — це просто купа призначень " +"``self.foo = None``." + +msgid "" +"Set final values for all the options that this command supports. This is " +"always called as late as possible, ie. after any option assignments from " +"the command-line or from other commands have been done. Thus, this is the " +"place to code option dependencies: if *foo* depends on *bar*, then it is " +"safe to set *foo* from *bar* as long as *foo* still has the same value it " +"was assigned in :meth:`initialize_options`." +msgstr "" +"Установіть остаточні значення для всіх параметрів, які підтримує ця команда. " +"Це завжди викликається якомога пізніше, тобто. після виконання будь-яких " +"призначень параметрів із командного рядка чи інших команд. Таким чином, це " +"місце для кодування залежностей параметрів: якщо *foo* залежить від *bar*, " +"тоді безпечно встановити *foo* з *bar*, якщо *foo* все ще має те саме " +"значення, яке було призначено в :meth:`ініціалізувати_параметри`." + +msgid "" +"A command's raison d'etre: carry out the action it exists to perform, " +"controlled by the options initialized in :meth:`initialize_options`, " +"customized by other commands, the setup script, the command-line, and config " +"files, and finalized in :meth:`finalize_options`. All terminal output and " +"filesystem interaction should be done by :meth:`run`." +msgstr "" +"Сенс існування команди: виконати дію, для виконання якої вона існує, що " +"контролюється параметрами, ініціалізованими в :meth:`initialize_options`, " +"налаштованими іншими командами, сценарієм налаштування, командним рядком і " +"файлами конфігурації, а також завершеними в :meth:`finalize_options`. Весь " +"вихід терміналу та взаємодія з файловою системою має здійснюватися за " +"допомогою :meth:`run`." + +msgid "" +"*sub_commands* formalizes the notion of a \"family\" of commands, e.g. " +"``install`` as the parent with sub-commands ``install_lib``, " +"``install_headers``, etc. The parent of a family of commands defines " +"*sub_commands* as a class attribute; it's a list of 2-tuples " +"``(command_name, predicate)``, with *command_name* a string and *predicate* " +"a function, a string or ``None``. *predicate* is a method of the parent " +"command that determines whether the corresponding command is applicable in " +"the current situation. (E.g. ``install_headers`` is only applicable if we " +"have any C header files to install.) If *predicate* is ``None``, that " +"command is always applicable." +msgstr "" +"*sub_commands* формалізує поняття \"сімейства\" команд, напр. ``install`` як " +"батьківський з підкомандами ``install_lib``, ``install_headers`` тощо. " +"Батьківський елемент сімейства команд визначає *sub_commands* як атрибут " +"класу; це список із двох кортежів ``(назва_команди, предикат)``, де " +"*назва_команди* є рядком, а *предикат* — функцією, рядком або ``None``. " +"*предикат* — це метод батьківської команди, який визначає, чи застосовна " +"відповідна команда в поточній ситуації. (Наприклад, ``install_headers`` " +"застосовний, лише якщо у нас є файли заголовків C для встановлення.) Якщо " +"*predicate* має значення ``None``, ця команда завжди застосовна." + +msgid "" +"*sub_commands* is usually defined at the *end* of a class, because " +"predicates can be methods of the class, so they must already have been " +"defined. The canonical example is the :command:`install` command." +msgstr "" +"*sub_commands* зазвичай визначається в *кінці* класу, оскільки предикати " +"можуть бути методами класу, тому вони повинні бути вже визначені. Канонічним " +"прикладом є команда :command:`install`." + +msgid ":mod:`distutils.command` --- Individual Distutils commands" +msgstr ":mod:`distutils.command` --- Окремі команди Distutils" + +msgid ":mod:`distutils.command.bdist` --- Build a binary installer" +msgstr ":mod:`distutils.command.bdist` --- Створення бінарного інсталятора" + +msgid "" +":mod:`distutils.command.bdist_packager` --- Abstract base class for packagers" +msgstr "" +":mod:`distutils.command.bdist_packager` --- Абстрактний базовий клас для " +"пакувальників" + +msgid ":mod:`distutils.command.bdist_dumb` --- Build a \"dumb\" installer" +msgstr "" +":mod:`distutils.command.bdist_dumb` --- Створення \"тупого\" інсталятора" + +msgid "" +":mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a " +"Redhat RPM and SRPM" +msgstr "" +":mod:`distutils.command.bdist_rpm` --- Створення бінарного дистрибутива як " +"Redhat RPM і SRPM" + +msgid ":mod:`distutils.command.sdist` --- Build a source distribution" +msgstr ":mod:`distutils.command.sdist` --- Створення вихідного дистрибутива" + +msgid ":mod:`distutils.command.build` --- Build all files of a package" +msgstr ":mod:`distutils.command.build` --- Збірка всіх файлів пакета" + +msgid "" +":mod:`distutils.command.build_clib` --- Build any C libraries in a package" +msgstr "" +":mod:`distutils.command.build_clib` --- Збірка будь-яких бібліотек C у " +"пакунок" + +msgid "" +":mod:`distutils.command.build_ext` --- Build any extensions in a package" +msgstr "" +":mod:`distutils.command.build_ext` --- Створення будь-яких розширень у пакеті" + +msgid "" +":mod:`distutils.command.build_py` --- Build the .py/.pyc files of a package" +msgstr ":mod:`distutils.command.build_py` --- Створення файлів .py/.pyc пакета" + +msgid "" +"Alternative implementation of build_py which also runs the 2to3 conversion " +"library on each .py file that is going to be installed. To use this in a " +"setup.py file for a distribution that is designed to run with both Python 2." +"x and 3.x, add::" +msgstr "" +"Альтернативна реалізація build_py, яка також запускає бібліотеку " +"перетворення 2to3 для кожного файлу .py, який буде встановлено. Щоб " +"використовувати це у файлі setup.py для дистрибутива, призначеного для " +"роботи з Python 2.x і 3.x, додайте::" + +msgid "to your setup.py, and later::" +msgstr "до вашого setup.py, а пізніше::" + +msgid "to the invocation of setup()." +msgstr "до виклику setup()." + +msgid "" +":mod:`distutils.command.build_scripts` --- Build the scripts of a package" +msgstr ":mod:`distutils.command.build_scripts` --- Збірка сценаріїв пакета" + +msgid ":mod:`distutils.command.clean` --- Clean a package build area" +msgstr ":mod:`distutils.command.clean` --- Очистити область збірки пакета" + +msgid "" +"This command removes the temporary files created by :command:`build` and its " +"subcommands, like intermediary compiled object files. With the ``--all`` " +"option, the complete build directory will be removed." +msgstr "" +"Ця команда видаляє тимчасові файли, створені :command:`build` та його " +"підкомандами, як-от проміжні скомпільовані об’єктні файли. З опцією ``--" +"all`` буде видалено повний каталог збірки." + +msgid "" +"Extension modules built :ref:`in place ` will " +"not be cleaned, as they are not in the build directory." +msgstr "" +"Модулі розширення, створені :ref:`in place `, " +"не будуть очищені, оскільки їх немає в каталозі збірки." + +msgid ":mod:`distutils.command.config` --- Perform package configuration" +msgstr ":mod:`distutils.command.config` --- Виконати налаштування пакета" + +msgid ":mod:`distutils.command.install` --- Install a package" +msgstr ":mod:`distutils.command.install` --- Встановити пакет" + +msgid "" +":mod:`distutils.command.install_data` --- Install data files from a package" +msgstr "" +":mod:`distutils.command.install_data` --- Встановити файли даних із пакета" + +msgid "" +":mod:`distutils.command.install_headers` --- Install C/C++ header files from " +"a package" +msgstr "" +":mod:`distutils.command.install_headers` --- Встановити файли заголовків C/C+" +"+ із пакета" + +msgid "" +":mod:`distutils.command.install_lib` --- Install library files from a package" +msgstr "" +":mod:`distutils.command.install_lib` --- Встановити файли бібліотеки з пакета" + +msgid "" +":mod:`distutils.command.install_scripts` --- Install script files from a " +"package" +msgstr "" +":mod:`distutils.command.install_scripts` --- Встановити файли сценарію з " +"пакета" + +msgid "" +":mod:`distutils.command.register` --- Register a module with the Python " +"Package Index" +msgstr "" +":mod:`distutils.command.register` --- Реєстрація модуля в індексі пакетів " +"Python" + +msgid "" +"The ``register`` command registers the package with the Python Package " +"Index. This is described in more detail in :pep:`301`." +msgstr "" +"Команда ``register`` реєструє пакет в індексі пакетів Python. Це описано " +"більш детально в :pep:`301`." + +msgid ":mod:`distutils.command.check` --- Check the meta-data of a package" +msgstr ":mod:`distutils.command.check` --- Перевірити метадані пакета" + +msgid "" +"The ``check`` command performs some tests on the meta-data of a package. For " +"example, it verifies that all required meta-data are provided as the " +"arguments passed to the :func:`setup` function." +msgstr "" +"Команда ``check`` виконує деякі перевірки метаданих пакета. Наприклад, він " +"перевіряє, що всі необхідні метадані надано як аргументи, передані до " +"функції :func:`setup`." diff --git a/distutils/builtdist.po b/distutils/builtdist.po new file mode 100644 index 000000000..35aedadba --- /dev/null +++ b/distutils/builtdist.po @@ -0,0 +1,751 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Creating Built Distributions" +msgstr "Створення вбудованих дистрибутивів" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"A \"built distribution\" is what you're probably used to thinking of either " +"as a \"binary package\" or an \"installer\" (depending on your background). " +"It's not necessarily binary, though, because it might contain only Python " +"source code and/or byte-code; and we don't call it a package, because that " +"word is already spoken for in Python. (And \"installer\" is a term specific " +"to the world of mainstream desktop systems.)" +msgstr "" +"\"Вбудований дистрибутив\" — це те, що ви, ймовірно, звикли вважати " +"\"двійковим пакетом\" або \"інсталятором\" (залежно від вашого досвіду). " +"Однак він не обов’язково є двійковим, оскільки він може містити лише " +"вихідний код Python та/або байт-код; і ми не називаємо це пакетом, тому що " +"це слово вже вимовлено в Python. (А \"інсталятор\" — це термін, характерний " +"для світу основних настільних систем.)" + +msgid "" +"A built distribution is how you make life as easy as possible for installers " +"of your module distribution: for users of RPM-based Linux systems, it's a " +"binary RPM; for Windows users, it's an executable installer; for Debian-" +"based Linux users, it's a Debian package; and so forth. Obviously, no one " +"person will be able to create built distributions for every platform under " +"the sun, so the Distutils are designed to enable module developers to " +"concentrate on their specialty---writing code and creating source " +"distributions---while an intermediary species called *packagers* springs up " +"to turn source distributions into built distributions for as many platforms " +"as there are packagers." +msgstr "" +"Вбудований дистрибутив – це те, як ви максимально полегшуєте життя " +"інсталяторам вашого дистрибутива модуля: для користувачів систем Linux на " +"основі RPM це двійковий RPM; для користувачів Windows це виконуваний " +"інсталятор; для користувачів Linux на базі Debian це пакет Debian; і так " +"далі. Очевидно, що ніхто не зможе створити вбудовані дистрибутиви для будь-" +"якої платформи під сонцем, тому Distutils розроблено, щоб дозволити " +"розробникам модулів зосередитися на своїй спеціальності --- написанні коду " +"та створенні вихідних дистрибутивів --- тоді як проміжний вид, який " +"називається *packagers* з’являється, щоб перетворити вихідні дистрибутиви на " +"вбудовані дистрибутиви для стільки платформ, скільки пакувальників." + +msgid "" +"Of course, the module developer could be their own packager; or the packager " +"could be a volunteer \"out there\" somewhere who has access to a platform " +"which the original developer does not; or it could be software periodically " +"grabbing new source distributions and turning them into built distributions " +"for as many platforms as the software has access to. Regardless of who they " +"are, a packager uses the setup script and the :command:`bdist` command " +"family to generate built distributions." +msgstr "" +"Звичайно, розробник модуля може бути власним пакувальником; або пакувальник " +"може бути волонтером \"десь там\", який має доступ до платформи, якого не " +"має оригінальний розробник; або це може бути програмне забезпечення, яке " +"періодично збирає нові вихідні дистрибутиви та перетворює їх на вбудовані " +"дистрибутиви для стількох платформ, до яких програмне забезпечення має " +"доступ. Незалежно від того, ким вони є, пакетувальник використовує сценарій " +"налаштування та сімейство команд :command:`bdist` для створення вбудованих " +"дистрибутивів." + +msgid "" +"As a simple example, if I run the following command in the Distutils source " +"tree::" +msgstr "" +"Як простий приклад, якщо я запусту таку команду в дереві вихідних кодів " +"Distutils::" + +msgid "" +"then the Distutils builds my module distribution (the Distutils itself in " +"this case), does a \"fake\" installation (also in the :file:`build` " +"directory), and creates the default type of built distribution for my " +"platform. The default format for built distributions is a \"dumb\" tar file " +"on Unix, and a simple executable installer on Windows. (That tar file is " +"considered \"dumb\" because it has to be unpacked in a specific location to " +"work.)" +msgstr "" +"потім Distutils збирає мій дистрибутив модуля (у цьому випадку сам " +"Distutils), виконує \"підроблену\" інсталяцію (також у каталозі :file:" +"`build`) і створює стандартний тип вбудованого дистрибутива для моєї " +"платформи. Типовим форматом для вбудованих дистрибутивів є \"тупий\" файл " +"tar в Unix і простий виконуваний інсталятор у Windows. (Цей файл tar " +"вважається \"тупим\", оскільки для роботи його потрібно розпакувати в " +"певному місці.)" + +msgid "" +"Thus, the above command on a Unix system creates :file:`Distutils-1.0.{plat}." +"tar.gz`; unpacking this tarball from the right place installs the Distutils " +"just as though you had downloaded the source distribution and run ``python " +"setup.py install``. (The \"right place\" is either the root of the " +"filesystem or Python's :file:`{prefix}` directory, depending on the options " +"given to the :command:`bdist_dumb` command; the default is to make dumb " +"distributions relative to :file:`{prefix}`.)" +msgstr "" +"Таким чином, наведена вище команда в системі Unix створює :file:" +"`Distutils-1.0.{plat}.tar.gz`; розпакування цього архіву з потрібного місця " +"встановлює Distutils так само, як якщо б ви завантажили вихідний дистрибутив " +"і запустили ``python setup.py install``. (\"Правильним місцем\" є або корінь " +"файлової системи, або каталог Python :file:`{prefix}`, залежно від " +"параметрів, наданих команді :command:`bdist_dumb`; за замовчуванням " +"створюються дурні дистрибутиви відносно :file:`{prefix}`.)" + +msgid "" +"Obviously, for pure Python distributions, this isn't any simpler than just " +"running ``python setup.py install``\\ ---but for non-pure distributions, " +"which include extensions that would need to be compiled, it can mean the " +"difference between someone being able to use your extensions or not. And " +"creating \"smart\" built distributions, such as an RPM package or an " +"executable installer for Windows, is far more convenient for users even if " +"your distribution doesn't include any extensions." +msgstr "" +"Очевидно, що для чистих дистрибутивів Python це не простіше, ніж просто " +"запустити ``python setup.py install``\\ --- але для нечистих дистрибутивів, " +"які включають розширення, які потрібно скомпілювати, це може означати, що " +"різниця між тим, хто може використовувати ваші розширення чи ні. І створення " +"\"розумних\" вбудованих дистрибутивів, таких як пакет RPM або виконуваний " +"інсталятор для Windows, набагато зручніше для користувачів, навіть якщо ваш " +"дистрибутив не містить жодних розширень." + +msgid "" +"The :command:`bdist` command has a :option:`!--formats` option, similar to " +"the :command:`sdist` command, which you can use to select the types of built " +"distribution to generate: for example, ::" +msgstr "" +"Команда :command:`bdist` має опцію :option:`!--formats`, подібну до команди :" +"command:`sdist`, яку можна використовувати для вибору типів вбудованого " +"дистрибутива для створення: наприклад, : :" + +msgid "" +"would, when run on a Unix system, create :file:`Distutils-1.0.{plat}.zip`\\ " +"---again, this archive would be unpacked from the root directory to install " +"the Distutils." +msgstr "" +"під час запуску в системі Unix створить :file:`Distutils-1.0.{plat}.zip`\\ " +"---знову, цей архів буде розпаковано з кореневого каталогу для встановлення " +"Distutils." + +msgid "The available formats for built distributions are:" +msgstr "Доступні формати для вбудованих дистрибутивів:" + +msgid "Format" +msgstr "Формат" + +msgid "Description" +msgstr "Опис" + +msgid "Notes" +msgstr "Примітки" + +msgid "``gztar``" +msgstr "``gztar``" + +msgid "gzipped tar file (:file:`.tar.gz`)" +msgstr "gzipped tar файл (:file:`.tar.gz`)" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``bztar``" +msgstr "``bztar``" + +msgid "bzipped tar file (:file:`.tar.bz2`)" +msgstr "bzip-файл tar (:file:`.tar.bz2`)" + +msgid "``xztar``" +msgstr "``xztar``" + +msgid "xzipped tar file (:file:`.tar.xz`)" +msgstr "xzipped файл tar (:file:`.tar.xz`)" + +msgid "``ztar``" +msgstr "``ztar``" + +msgid "compressed tar file (:file:`.tar.Z`)" +msgstr "стиснутий файл tar (:file:`.tar.Z`)" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "``tar``" +msgstr "``tar``" + +msgid "tar file (:file:`.tar`)" +msgstr "tar-файл (:file:`.tar`)" + +msgid "``zip``" +msgstr "``zip``" + +msgid "zip file (:file:`.zip`)" +msgstr "zip-файл (:file:`.zip`)" + +msgid "(2),(4)" +msgstr "(2), (4)" + +msgid "``rpm``" +msgstr "``rpm``" + +msgid "RPM" +msgstr "RPM" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "``pkgtool``" +msgstr "``pkgtool``" + +msgid "Solaris :program:`pkgtool`" +msgstr "Solaris :program:`pkgtool`" + +msgid "``sdux``" +msgstr "``sdux``" + +msgid "HP-UX :program:`swinstall`" +msgstr "HP-UX :program:`swinstall`" + +msgid "``msi``" +msgstr "``msi``" + +msgid "Microsoft Installer." +msgstr "Інсталятор Microsoft." + +msgid "Added support for the ``xztar`` format." +msgstr "Додано підтримку формату ``xztar``." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "default on Unix" +msgstr "за замовчуванням в Unix" + +msgid "default on Windows" +msgstr "за замовчуванням у Windows" + +msgid "requires external :program:`compress` utility." +msgstr "потрібна зовнішня утиліта :program:`compress`." + +msgid "" +"requires either external :program:`zip` utility or :mod:`zipfile` module " +"(part of the standard Python library since Python 1.6)" +msgstr "" +"вимагає зовнішньої утиліти :program:`zip` або модуля :mod:`zipfile` (частина " +"стандартної бібліотеки Python, починаючи з Python 1.6)" + +msgid "" +"requires external :program:`rpm` utility, version 3.0.4 or better (use ``rpm " +"--version`` to find out which version you have)" +msgstr "" +"потрібна зовнішня утиліта :program:`rpm` версії 3.0.4 або кращої " +"(використовуйте ``rpm --version``, щоб дізнатися, яку версію у вас є)" + +msgid "" +"You don't have to use the :command:`bdist` command with the :option:`!--" +"formats` option; you can also use the command that directly implements the " +"format you're interested in. Some of these :command:`bdist` \"sub-commands" +"\" actually generate several similar formats; for instance, the :command:" +"`bdist_dumb` command generates all the \"dumb\" archive formats (``tar``, " +"``gztar``, ``bztar``, ``xztar``, ``ztar``, and ``zip``), and :command:" +"`bdist_rpm` generates both binary and source RPMs. The :command:`bdist` sub-" +"commands, and the formats generated by each, are:" +msgstr "" +"Вам не обов’язково використовувати команду :command:`bdist` з параметром :" +"option:`!--formats`; ви також можете використати команду, яка безпосередньо " +"реалізує формат, який вас цікавить. Деякі з цих :command:`bdist` \"підкоманд" +"\" насправді генерують декілька подібних форматів; наприклад, команда :" +"command:`bdist_dumb` створює всі \"тупі\" формати архівів (``tar``, " +"``gztar``, ``bztar``, ``xztar``, ``ztar``, і ``zip``), а :command:" +"`bdist_rpm` генерує двійкові та вихідні RPM. Підкоманди :command:`bdist` і " +"формати, створені кожною з них:" + +msgid "Command" +msgstr "Команда" + +msgid "Formats" +msgstr "Формати" + +msgid ":command:`bdist_dumb`" +msgstr ":command:`bdist_dumb`" + +msgid "tar, gztar, bztar, xztar, ztar, zip" +msgstr "tar, gztar, bztar, xztar, ztar, zip" + +msgid ":command:`bdist_rpm`" +msgstr ":command:`bdist_rpm`" + +msgid "rpm, srpm" +msgstr "rpm, srpm" + +msgid "" +"The following sections give details on the individual :command:`bdist_\\*` " +"commands." +msgstr "" +"У наступних розділах наведено детальну інформацію про окремі команди :" +"command:`bdist_\\*`." + +msgid "Creating RPM packages" +msgstr "Створення пакетів RPM" + +msgid "" +"The RPM format is used by many popular Linux distributions, including Red " +"Hat, SuSE, and Mandrake. If one of these (or any of the other RPM-based " +"Linux distributions) is your usual environment, creating RPM packages for " +"other users of that same distribution is trivial. Depending on the " +"complexity of your module distribution and differences between Linux " +"distributions, you may also be able to create RPMs that work on different " +"RPM-based distributions." +msgstr "" +"Формат RPM використовується багатьма популярними дистрибутивами Linux, " +"зокрема Red Hat, SuSE та Mandrake. Якщо один із них (або будь-який інший " +"дистрибутив Linux на основі RPM) є вашим звичайним середовищем, створення " +"пакетів RPM для інших користувачів того самого дистрибутива є тривіальним. " +"Залежно від складності вашого дистрибутива модуля та відмінностей між " +"дистрибутивами Linux, ви також можете створити RPM, які працюватимуть на " +"різних дистрибутивах на основі RPM." + +msgid "" +"The usual way to create an RPM of your module distribution is to run the :" +"command:`bdist_rpm` command::" +msgstr "" +"Звичайним способом створення RPM вашого дистрибутива модуля є виконання " +"команди :command:`bdist_rpm`::" + +msgid "or the :command:`bdist` command with the :option:`!--format` option::" +msgstr "або команда :command:`bdist` з параметром :option:`!--format`::" + +msgid "" +"The former allows you to specify RPM-specific options; the latter allows " +"you to easily specify multiple formats in one run. If you need to do both, " +"you can explicitly specify multiple :command:`bdist_\\*` commands and their " +"options::" +msgstr "" +"Перший дозволяє вказати параметри RPM; останнє дозволяє легко вказати кілька " +"форматів за один запуск. Якщо вам потрібно зробити обидва, ви можете явно " +"вказати декілька команд :command:`bdist_\\*` та їхні параметри::" + +msgid "" +"Creating RPM packages is driven by a :file:`.spec` file, much as using the " +"Distutils is driven by the setup script. To make your life easier, the :" +"command:`bdist_rpm` command normally creates a :file:`.spec` file based on " +"the information you supply in the setup script, on the command line, and in " +"any Distutils configuration files. Various options and sections in the :" +"file:`.spec` file are derived from options in the setup script as follows:" +msgstr "" +"Створення пакетів RPM керується файлом :file:`.spec`, подібно до того, як " +"використання Distutils керується сценарієм встановлення. Щоб полегшити ваше " +"життя, команда :command:`bdist_rpm` зазвичай створює файл :file:`.spec` на " +"основі інформації, яку ви надаєте в сценарії встановлення, у командному " +"рядку та в будь-яких конфігураційних файлах Distutils. Різні параметри та " +"розділи у файлі :file:`.spec` походять від параметрів у сценарії " +"налаштування таким чином:" + +msgid "RPM :file:`.spec` file option or section" +msgstr "Параметр або розділ файлу RPM :file:`.spec`" + +msgid "Distutils setup script option" +msgstr "Параметр сценарію налаштування Distutils" + +msgid "Name" +msgstr "Ім'я" + +msgid "``name``" +msgstr "``name``" + +msgid "Summary (in preamble)" +msgstr "Резюме (у преамбулі)" + +msgid "``description``" +msgstr "``description``" + +msgid "Version" +msgstr "Версія" + +msgid "``version``" +msgstr "``version``" + +msgid "Vendor" +msgstr "Продавець" + +msgid "" +"``author`` and ``author_email``, or --- & ``maintainer`` and " +"``maintainer_email``" +msgstr "" +"``author`` і ``author_email``, або --- & ``maintainer`` і " +"``maintainer_email``" + +msgid "Copyright" +msgstr "Авторське право" + +msgid "``license``" +msgstr "``license``" + +msgid "Url" +msgstr "Url" + +msgid "``url``" +msgstr "``url``" + +msgid "%description (section)" +msgstr "%dопис (розділ)" + +msgid "``long_description``" +msgstr "``long_description``" + +msgid "" +"Additionally, there are many options in :file:`.spec` files that don't have " +"corresponding options in the setup script. Most of these are handled " +"through options to the :command:`bdist_rpm` command as follows:" +msgstr "" +"Крім того, у файлах :file:`.spec` є багато параметрів, які не мають " +"відповідних параметрів у сценарії встановлення. Більшість із них " +"обробляються за допомогою параметрів команди :command:`bdist_rpm` наступним " +"чином:" + +msgid ":command:`bdist_rpm` option" +msgstr "параметр :command:`bdist_rpm`" + +msgid "default value" +msgstr "значення за замовчуванням" + +msgid "Release" +msgstr "Реліз" + +msgid "``release``" +msgstr "``release``" + +msgid "\"1\"" +msgstr "\"1\"" + +msgid "Group" +msgstr "Група" + +msgid "``group``" +msgstr "``group``" + +msgid "\"Development/Libraries\"" +msgstr "\"Розвиток/Бібліотеки\"" + +msgid "``vendor``" +msgstr "``vendor``" + +msgid "(see above)" +msgstr "(Дивись вище)" + +msgid "Packager" +msgstr "пакувальник" + +msgid "``packager``" +msgstr "``packager``" + +msgid "(none)" +msgstr "(жоден)" + +msgid "Provides" +msgstr "Забезпечує" + +msgid "``provides``" +msgstr "``provides``" + +msgid "Requires" +msgstr "Вимагає" + +msgid "``requires``" +msgstr "``requires``" + +msgid "Conflicts" +msgstr "Конфлікти" + +msgid "``conflicts``" +msgstr "``conflicts``" + +msgid "Obsoletes" +msgstr "Застарілі" + +msgid "``obsoletes``" +msgstr "``obsoletes``" + +msgid "Distribution" +msgstr "Розподіл" + +msgid "``distribution_name``" +msgstr "``distribution_name``" + +msgid "BuildRequires" +msgstr "BuildRequires" + +msgid "``build_requires``" +msgstr "``build_requires``" + +msgid "Icon" +msgstr "значок" + +msgid "``icon``" +msgstr "``icon``" + +msgid "" +"Obviously, supplying even a few of these options on the command-line would " +"be tedious and error-prone, so it's usually best to put them in the setup " +"configuration file, :file:`setup.cfg`\\ ---see section :ref:`setup-config`. " +"If you distribute or package many Python module distributions, you might " +"want to put options that apply to all of them in your personal Distutils " +"configuration file (:file:`~/.pydistutils.cfg`). If you want to temporarily " +"disable this file, you can pass the :option:`!--no-user-cfg` option to :file:" +"`setup.py`." +msgstr "" +"Очевидно, що надання навіть кількох із цих параметрів у командному рядку " +"було б виснажливим і спричинило помилки, тому зазвичай краще розмістити їх у " +"файлі конфігурації установки, :file:`setup.cfg`\\ --- дивіться розділ :ref:" +"`setup-config`. Якщо ви розповсюджуєте або пакуєте багато дистрибутивів " +"модулів Python, ви можете розмістити параметри, які стосуються всіх них, у " +"вашому особистому файлі конфігурації Distutils (:file:`~/.pydistutils.cfg`). " +"Якщо ви хочете тимчасово вимкнути цей файл, ви можете передати параметр :" +"option:`!--no-user-cfg` до :file:`setup.py`." + +msgid "" +"There are three steps to building a binary RPM package, all of which are " +"handled automatically by the Distutils:" +msgstr "" +"Створення бінарного пакета RPM складається з трьох кроків, усі з яких " +"автоматично обробляються Distutils:" + +msgid "" +"create a :file:`.spec` file, which describes the package (analogous to the " +"Distutils setup script; in fact, much of the information in the setup " +"script winds up in the :file:`.spec` file)" +msgstr "" +"створіть файл :file:`.spec`, який описує пакунок (аналогічно сценарію " +"налаштування Distutils; насправді велика частина інформації в сценарії " +"налаштування зберігається у файлі :file:`.spec`)" + +msgid "create the source RPM" +msgstr "створити вихідний RPM" + +msgid "" +"create the \"binary\" RPM (which may or may not contain binary code, " +"depending on whether your module distribution contains Python extensions)" +msgstr "" +"створити \"бінарний\" RPM (який може містити або не містити двійковий код, " +"залежно від того, чи містить ваш дистрибутив модуля розширення Python)" + +msgid "" +"Normally, RPM bundles the last two steps together; when you use the " +"Distutils, all three steps are typically bundled together." +msgstr "" +"Зазвичай RPM об’єднує останні два кроки разом; коли ви використовуєте " +"Distutils, усі три кроки зазвичай об’єднуються разом." + +msgid "" +"If you wish, you can separate these three steps. You can use the :option:" +"`!--spec-only` option to make :command:`bdist_rpm` just create the :file:`." +"spec` file and exit; in this case, the :file:`.spec` file will be written to " +"the \"distribution directory\"---normally :file:`dist/`, but customizable " +"with the :option:`!--dist-dir` option. (Normally, the :file:`.spec` file " +"winds up deep in the \"build tree,\" in a temporary directory created by :" +"command:`bdist_rpm`.)" +msgstr "" +"Якщо ви бажаєте, ви можете розділити ці три кроки. Ви можете використати " +"параметр :option:`!--spec-only`, щоб :command:`bdist_rpm` просто створив " +"файл :file:`.spec` і вийшов; у цьому випадку файл :file:`.spec` буде " +"записаний у \"каталог розповсюдження\" --- зазвичай :file:`dist/`, але його " +"можна налаштувати за допомогою параметра :option:`!--dist-dir` . (Зазвичай " +"файл :file:`.spec` знаходиться глибоко в \"дереві побудови\", у тимчасовому " +"каталозі, створеному :command:`bdist_rpm`.)" + +msgid "Cross-compiling on Windows" +msgstr "Крос-компіляція в Windows" + +msgid "" +"Starting with Python 2.6, distutils is capable of cross-compiling between " +"Windows platforms. In practice, this means that with the correct tools " +"installed, you can use a 32bit version of Windows to create 64bit extensions " +"and vice-versa." +msgstr "" +"Починаючи з Python 2.6, distutils здатний до крос-компіляції між платформами " +"Windows. На практиці це означає, що з правильними встановленими " +"інструментами ви можете використовувати 32-розрядну версію Windows для " +"створення 64-розрядних розширень і навпаки." + +msgid "" +"To build for an alternate platform, specify the :option:`!--plat-name` " +"option to the build command. Valid values are currently 'win32', and 'win-" +"amd64'. For example, on a 32bit version of Windows, you could execute::" +msgstr "" +"Щоб зібрати для альтернативної платформи, укажіть опцію :option:`!--plat-" +"name` для команди побудови. Наразі дійсними значеннями є \"win32\" і \"win-" +"amd64\". Наприклад, у 32-розрядній версії Windows ви можете виконати::" + +msgid "to build a 64bit version of your extension." +msgstr "щоб створити 64-розрядну версію вашого розширення." + +msgid "" +"would create a 64bit installation executable on your 32bit version of " +"Windows." +msgstr "" +"створить 64-розрядний виконуваний файл для встановлення у вашій 32-розрядній " +"версії Windows." + +msgid "" +"To cross-compile, you must download the Python source code and cross-compile " +"Python itself for the platform you are targeting - it is not possible from a " +"binary installation of Python (as the .lib etc file for other platforms are " +"not included.) In practice, this means the user of a 32 bit operating " +"system will need to use Visual Studio 2008 to open the :file:`PCbuild/" +"PCbuild.sln` solution in the Python source tree and build the \"x64\" " +"configuration of the 'pythoncore' project before cross-compiling extensions " +"is possible." +msgstr "" +"Щоб виконати крос-компіляцію, ви повинні завантажити вихідний код Python і " +"здійснити крос-компіляцію самого Python для цільової платформи – це " +"неможливо з бінарної інсталяції Python (оскільки файл .lib тощо для інших " +"платформ не включено). На практиці це означає, що користувачу 32-розрядної " +"операційної системи потрібно буде використовувати Visual Studio 2008, щоб " +"відкрити рішення :file:`PCbuild/PCbuild.sln` у дереві вихідних кодів Python " +"і створити конфігурацію \"x64\" \"pythoncore\". ' проекту до того, як " +"можлива крос-компіляція розширень." + +msgid "" +"Note that by default, Visual Studio 2008 does not install 64bit compilers or " +"tools. You may need to reexecute the Visual Studio setup process and select " +"these tools (using Control Panel->[Add/Remove] Programs is a convenient way " +"to check or modify your existing install.)" +msgstr "" +"Зауважте, що за замовчуванням Visual Studio 2008 не встановлює 64-розрядні " +"компілятори чи інструменти. Можливо, вам знадобиться повторно виконати " +"процес встановлення Visual Studio та вибрати ці інструменти (використання " +"Панелі керування->[Додати/Видалити] програми — це зручний спосіб перевірити " +"чи змінити наявну інсталяцію.)" + +msgid "The Postinstallation script" +msgstr "Сценарій після встановлення" + +msgid "" +"Starting with Python 2.3, a postinstallation script can be specified with " +"the :option:`!--install-script` option. The basename of the script must be " +"specified, and the script filename must also be listed in the scripts " +"argument to the setup function." +msgstr "" +"Починаючи з Python 2.3, сценарій після встановлення можна вказати за " +"допомогою опції :option:`!--install-script`. Необхідно вказати базове ім’я " +"сценарію, а ім’я файлу сценарію також має бути зазначено в аргументі scripts " +"функції налаштування." + +msgid "" +"This script will be run at installation time on the target system after all " +"the files have been copied, with ``argv[1]`` set to :option:`!-install`, and " +"again at uninstallation time before the files are removed with ``argv[1]`` " +"set to :option:`!-remove`." +msgstr "" +"Цей сценарій буде запущено під час інсталяції в цільовій системі після того, " +"як усі файли буде скопійовано, з параметром ``argv[1]`` встановленим на :" +"option:`!-install`, і знову під час деінсталяції перед видаленням файлів зі " +"значенням ``argv[1]`` :option:`!-remove`." + +msgid "" +"The installation script runs embedded in the windows installer, every output " +"(``sys.stdout``, ``sys.stderr``) is redirected into a buffer and will be " +"displayed in the GUI after the script has finished." +msgstr "" +"Сценарій інсталяції працює вбудовано в інсталятор Windows, кожен вихід " +"(``sys.stdout``, ``sys.stderr``) перенаправляється в буфер і " +"відображатиметься в графічному інтерфейсі після завершення сценарію." + +msgid "" +"Some functions especially useful in this context are available as additional " +"built-in functions in the installation script." +msgstr "" +"Деякі функції, особливо корисні в цьому контексті, доступні як додаткові " +"вбудовані функції в сценарії встановлення." + +msgid "" +"These functions should be called when a directory or file is created by the " +"postinstall script at installation time. It will register *path* with the " +"uninstaller, so that it will be removed when the distribution is " +"uninstalled. To be safe, directories are only removed if they are empty." +msgstr "" +"Ці функції слід викликати, коли каталог або файл створюється сценарієм після " +"встановлення під час встановлення. Він зареєструє *шлях* у програмі " +"видалення, щоб його було видалено, коли дистрибутив буде видалено. Для " +"безпеки каталоги видаляються, лише якщо вони порожні." + +msgid "" +"This function can be used to retrieve special folder locations on Windows " +"like the Start Menu or the Desktop. It returns the full path to the folder. " +"*csidl_string* must be one of the following strings::" +msgstr "" +"Цю функцію можна використовувати для отримання спеціальних папок у Windows, " +"таких як меню \"Пуск\" або робочий стіл. Він повертає повний шлях до папки. " +"*csidl_string* має бути одним із таких рядків::" + +msgid "If the folder cannot be retrieved, :exc:`OSError` is raised." +msgstr "Якщо папку неможливо отримати, виникає :exc:`OSError`." + +msgid "" +"Which folders are available depends on the exact Windows version, and " +"probably also the configuration. For details refer to Microsoft's " +"documentation of the :c:func:`SHGetSpecialFolderPath` function." +msgstr "" +"Які папки доступні, залежить від точної версії Windows і, можливо, також від " +"конфігурації. Додаткову інформацію див. у документації Microsoft щодо " +"функції :c:func:`SHGetSpecialFolderPath`." + +msgid "" +"This function creates a shortcut. *target* is the path to the program to be " +"started by the shortcut. *description* is the description of the shortcut. " +"*filename* is the title of the shortcut that the user will see. *arguments* " +"specifies the command line arguments, if any. *workdir* is the working " +"directory for the program. *iconpath* is the file containing the icon for " +"the shortcut, and *iconindex* is the index of the icon in the file " +"*iconpath*. Again, for details consult the Microsoft documentation for the :" +"class:`IShellLink` interface." +msgstr "" +"Ця функція створює ярлик. *ціль* — це шлях до програми, яка запускається за " +"допомогою ярлика. *description* — це опис ярлика. *ім’я файлу* – це назва " +"ярлика, який побачить користувач. *arguments* визначає аргументи командного " +"рядка, якщо такі є. *workdir* — це робочий каталог для програми. *iconpath* " +"— це файл, що містить піктограму для ярлика, а *iconindex* — це індекс " +"піктограми у файлі *iconpath*. Знову ж таки, для отримання детальної " +"інформації зверніться до документації Microsoft для інтерфейсу :class:" +"`IShellLink`." diff --git a/distutils/commandref.po b/distutils/commandref.po new file mode 100644 index 000000000..a08f8f88e --- /dev/null +++ b/distutils/commandref.po @@ -0,0 +1,151 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Command Reference" +msgstr "Довідник команд" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "Installing modules: the :command:`install` command family" +msgstr "Встановлення модулів: сімейство команд :command:`install`" + +msgid "" +"The install command ensures that the build commands have been run and then " +"runs the subcommands :command:`install_lib`, :command:`install_data` and :" +"command:`install_scripts`." +msgstr "" +"Команда інсталяції перевіряє виконання команд збірки, а потім запускає " +"підкоманди :command:`install_lib`, :command:`install_data` і :command:" +"`install_scripts`." + +msgid ":command:`install_data`" +msgstr ":command:`install_data`" + +msgid "This command installs all data files provided with the distribution." +msgstr "" +"Ця команда інсталює всі файли даних, що надаються разом із дистрибутивом." + +msgid ":command:`install_scripts`" +msgstr ":command:`install_scripts`" + +msgid "This command installs all (Python) scripts in the distribution." +msgstr "Ця команда встановлює всі сценарії (Python) у дистрибутиві." + +msgid "Creating a source distribution: the :command:`sdist` command" +msgstr "Створення вихідного дистрибутива: команда :command:`sdist`" + +msgid "The manifest template commands are:" +msgstr "Команди шаблону маніфесту:" + +msgid "Command" +msgstr "Команда" + +msgid "Description" +msgstr "опис" + +msgid ":command:`include pat1 pat2 ...`" +msgstr ":command:`include pat1 pat2 ...`" + +msgid "include all files matching any of the listed patterns" +msgstr "включити всі файли, що відповідають будь-якому з перелічених шаблонів" + +msgid ":command:`exclude pat1 pat2 ...`" +msgstr ":command:`виключити pat1 pat2 ...`" + +msgid "exclude all files matching any of the listed patterns" +msgstr "виключити всі файли, що відповідають будь-якому з перелічених шаблонів" + +msgid ":command:`recursive-include dir pat1 pat2 ...`" +msgstr ":command:`recursive-include dir pat1 pat2 ...`" + +msgid "include all files under *dir* matching any of the listed patterns" +msgstr "" +"включити всі файли в *dir*, які відповідають будь-якому з перелічених " +"шаблонів" + +msgid ":command:`recursive-exclude dir pat1 pat2 ...`" +msgstr ":command:`recursive-exclude dir pat1 pat2 ...`" + +msgid "exclude all files under *dir* matching any of the listed patterns" +msgstr "" +"виключити всі файли в *dir*, які відповідають будь-якому з перелічених " +"шаблонів" + +msgid ":command:`global-include pat1 pat2 ...`" +msgstr ":command:`global-include pat1 pat2 ...`" + +msgid "" +"include all files anywhere in the source tree matching --- & any of the " +"listed patterns" +msgstr "" +"включити всі файли будь-де в вихідному дереві, які відповідають --- і будь-" +"якому з перелічених шаблонів" + +msgid ":command:`global-exclude pat1 pat2 ...`" +msgstr ":command:`global-exclude pat1 pat2 ...`" + +msgid "" +"exclude all files anywhere in the source tree matching --- & any of the " +"listed patterns" +msgstr "" +"виключити всі файли будь-де у вихідному дереві, що відповідають --- та будь-" +"якому з перелічених шаблонів" + +msgid ":command:`prune dir`" +msgstr ":command:`prune dir`" + +msgid "exclude all files under *dir*" +msgstr "виключити всі файли в *dir*" + +msgid ":command:`graft dir`" +msgstr ":command:`graft dir`" + +msgid "include all files under *dir*" +msgstr "включити всі файли в *dir*" + +msgid "" +"The patterns here are Unix-style \"glob\" patterns: ``*`` matches any " +"sequence of regular filename characters, ``?`` matches any single regular " +"filename character, and ``[range]`` matches any of the characters in *range* " +"(e.g., ``a-z``, ``a-zA-Z``, ``a-f0-9_.``). The definition of \"regular " +"filename character\" is platform-specific: on Unix it is anything except " +"slash; on Windows anything except backslash or colon." +msgstr "" +"Шаблони тут є шаблонами \"glob\" у стилі Unix: ``*`` відповідає будь-якій " +"послідовності звичайних символів назви файлу, ``?`` відповідає будь-якому " +"окремому звичайному символу назви файлу, а ``[діапазон]`` відповідає будь-" +"якому з символів у *діапазоні* (наприклад, ``a-z``, ``a-zA-Z``, ``a-f0-9_." +"``). Визначення \"звичайного символу імені файлу\" залежить від платформи: в " +"Unix це будь-що, крім скісної риски; у Windows будь-що, крім зворотної " +"скісної риски або двокрапки." diff --git a/distutils/configfile.po b/distutils/configfile.po new file mode 100644 index 000000000..fc43537d8 --- /dev/null +++ b/distutils/configfile.po @@ -0,0 +1,223 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Writing the Setup Configuration File" +msgstr "Написання файлу конфігурації установки" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"Often, it's not possible to write down everything needed to build a " +"distribution *a priori*: you may need to get some information from the user, " +"or from the user's system, in order to proceed. As long as that information " +"is fairly simple---a list of directories to search for C header files or " +"libraries, for example---then providing a configuration file, :file:`setup." +"cfg`, for users to edit is a cheap and easy way to solicit it. " +"Configuration files also let you provide default values for any command " +"option, which the installer can then override either on the command-line or " +"by editing the config file." +msgstr "" +"Часто неможливо записати все, що потрібно для створення дистрибутива *a " +"priori*: вам може знадобитися отримати деяку інформацію від користувача або " +"від системи користувача, щоб продовжити. Якщо ця інформація досить проста " +"--- список каталогів для пошуку файлів заголовків C або бібліотек, наприклад " +"--- тоді надання файлу конфігурації, :file:`setup.cfg` для редагування " +"користувачами, є дешевий і простий спосіб отримати його. Файли конфігурації " +"також дають змогу вказати значення за замовчуванням для будь-якого параметра " +"команди, які інсталятор може потім змінити або в командному рядку, або " +"шляхом редагування файлу конфігурації." + +msgid "" +"The setup configuration file is a useful middle-ground between the setup " +"script---which, ideally, would be opaque to installers [#]_---and the " +"command-line to the setup script, which is outside of your control and " +"entirely up to the installer. In fact, :file:`setup.cfg` (and any other " +"Distutils configuration files present on the target system) are processed " +"after the contents of the setup script, but before the command-line. This " +"has several useful consequences:" +msgstr "" +"Файл конфігурації інсталяції є корисною серединою між сценарієм інсталяції " +"--- який в ідеалі був би непрозорим для інсталяторів [#]_--- та командним " +"рядком до сценарію інсталяції, який знаходиться поза вашим контролем і " +"повністю залежить від інсталятора. Насправді :file:`setup.cfg` (та будь-які " +"інші конфігураційні файли Distutils, наявні в цільовій системі) обробляються " +"після вмісту сценарію встановлення, але перед командним рядком. Це має " +"кілька корисних наслідків:" + +msgid "" +"installers can override some of what you put in :file:`setup.py` by editing :" +"file:`setup.cfg`" +msgstr "" +"інсталятори можуть перевизначати частину того, що ви додаєте до :file:`setup." +"py`, редагуючи :file:`setup.cfg`" + +msgid "" +"you can provide non-standard defaults for options that are not easily set " +"in :file:`setup.py`" +msgstr "" +"ви можете надати нестандартні параметри за замовчуванням для параметрів, які " +"непросто встановити в :file:`setup.py`" + +msgid "" +"installers can override anything in :file:`setup.cfg` using the command-line " +"options to :file:`setup.py`" +msgstr "" +"інсталятори можуть змінити будь-що в :file:`setup.cfg` за допомогою " +"параметрів командного рядка до :file:`setup.py`" + +msgid "The basic syntax of the configuration file is simple:" +msgstr "Основний синтаксис файлу конфігурації простий:" + +msgid "" +"where *command* is one of the Distutils commands (e.g. :command:`build_py`, :" +"command:`install`), and *option* is one of the options that command " +"supports. Any number of options can be supplied for each command, and any " +"number of command sections can be included in the file. Blank lines are " +"ignored, as are comments, which run from a ``'#'`` character until the end " +"of the line. Long option values can be split across multiple lines simply " +"by indenting the continuation lines." +msgstr "" +"де *command* — одна з команд Distutils (наприклад, :command:`build_py`, :" +"command:`install`), а *option* — один із параметрів, які підтримує ця " +"команда. Для кожної команди можна надати будь-яку кількість параметрів, і до " +"файлу можна включити будь-яку кількість розділів команд. Порожні рядки " +"ігноруються, як і коментарі, які починаються від символу ``'#'`` до кінця " +"рядка. Довгі значення параметрів можна розділити на кілька рядків, просто " +"зробивши відступ у рядках продовження." + +msgid "" +"You can find out the list of options supported by a particular command with " +"the universal :option:`!--help` option, e.g." +msgstr "" +"Ви можете дізнатися список параметрів, які підтримує певна команда, за " +"допомогою універсального параметра :option:`!--help`, напр." + +msgid "" +"Note that an option spelled :option:`!--foo-bar` on the command-line is " +"spelled ``foo_bar`` in configuration files." +msgstr "" +"Зауважте, що параметр, написаний :option:`!--foo-bar` у командному рядку, у " +"файлах конфігурації пишеться як ``foo_bar``." + +msgid "" +"For example, say you want your extensions to be built \"in-place\"---that " +"is, you have an extension :mod:`pkg.ext`, and you want the compiled " +"extension file (:file:`ext.so` on Unix, say) to be put in the same source " +"directory as your pure Python modules :mod:`pkg.mod1` and :mod:`pkg.mod2`. " +"You can always use the :option:`!--inplace` option on the command-line to " +"ensure this:" +msgstr "" +"Наприклад, скажімо, ви хочете, щоб ваші розширення створювалися \"на місці\" " +"--- тобто у вас є розширення :mod:`pkg.ext`, і ви хочете скомпільований файл " +"розширення (:file:`ext.so` в Unix, скажімо) для розміщення в тому ж " +"вихідному каталозі, що й ваші чисті модулі Python :mod:`pkg.mod1` і :mod:" +"`pkg.mod2`. Ви завжди можете скористатися параметром :option:`!--inplace` у " +"командному рядку, щоб переконатися в цьому:" + +msgid "" +"But this requires that you always specify the :command:`build_ext` command " +"explicitly, and remember to provide :option:`!--inplace`. An easier way is " +"to \"set and forget\" this option, by encoding it in :file:`setup.cfg`, the " +"configuration file for this distribution:" +msgstr "" +"Але це вимагає, щоб ви завжди явно вказували команду :command:`build_ext` і " +"не забувайте вказувати :option:`!--inplace`. Простіший спосіб — \"встановити " +"та забути\" цей параметр, закодувавши його у :file:`setup.cfg`, файл " +"конфігурації для цього дистрибутива:" + +msgid "" +"This will affect all builds of this module distribution, whether or not you " +"explicitly specify :command:`build_ext`. If you include :file:`setup.cfg` " +"in your source distribution, it will also affect end-user builds---which is " +"probably a bad idea for this option, since always building extensions in-" +"place would break installation of the module distribution. In certain " +"peculiar cases, though, modules are built right in their installation " +"directory, so this is conceivably a useful ability. (Distributing " +"extensions that expect to be built in their installation directory is almost " +"always a bad idea, though.)" +msgstr "" +"Це вплине на всі збірки цього дистрибутива модуля, незалежно від того, чи " +"вказано ви явно :command:`build_ext`. Якщо ви включите :file:`setup.cfg` у " +"вихідний дистрибутив, це також вплине на збірки для кінцевих користувачів " +"--- що, ймовірно, є поганою ідеєю для цього варіанту, оскільки постійне " +"створення розширень на місці порушить установку модуля розподіл. Однак у " +"певних особливих випадках модулі збираються прямо в каталозі встановлення, " +"тому це, ймовірно, корисна можливість. (Однак розповсюдження розширень, які " +"планується створити в каталозі встановлення, майже завжди є поганою ідеєю.)" + +msgid "" +"Another example: certain commands take a lot of options that don't change " +"from run to run; for example, :command:`bdist_rpm` needs to know everything " +"required to generate a \"spec\" file for creating an RPM distribution. Some " +"of this information comes from the setup script, and some is automatically " +"generated by the Distutils (such as the list of files installed). But some " +"of it has to be supplied as options to :command:`bdist_rpm`, which would be " +"very tedious to do on the command-line for every run. Hence, here is a " +"snippet from the Distutils' own :file:`setup.cfg`:" +msgstr "" +"Інший приклад: певні команди мають багато параметрів, які не змінюються від " +"запуску до запуску; наприклад, :command:`bdist_rpm` потрібно знати все, що " +"потрібно для створення файлу специфікації для створення дистрибутива RPM. " +"Частина цієї інформації надходить зі сценарію встановлення, а частина " +"автоматично генерується Distutils (наприклад, список встановлених файлів). " +"Але деякі з них мають бути надані як параметри :command:`bdist_rpm`, що було " +"б дуже втомливо робити в командному рядку для кожного запуску. Отже, ось " +"фрагмент із власного :file:`setup.cfg` Distutils:" + +msgid "" +"Note that the ``doc_files`` option is simply a whitespace-separated string " +"split across multiple lines for readability." +msgstr "" +"Зауважте, що параметр ``doc_files`` — це просто розділений пробілами рядок, " +"розділений на кілька рядків для зручності читання." + +msgid ":ref:`inst-config-syntax` in \"Installing Python Modules\"" +msgstr ":ref:`inst-config-syntax` у розділі \"Встановлення модулів Python\"" + +msgid "" +"More information on the configuration files is available in the manual for " +"system administrators." +msgstr "" +"Додаткову інформацію про файли конфігурації можна знайти в посібнику для " +"системних адміністраторів." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"This ideal probably won't be achieved until auto-configuration is fully " +"supported by the Distutils." +msgstr "" +"Цей ідеал, ймовірно, не буде досягнутий, доки автоматичне налаштування не " +"буде повністю підтримуватися Distutils." diff --git a/distutils/examples.po b/distutils/examples.po new file mode 100644 index 000000000..16651148f --- /dev/null +++ b/distutils/examples.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Distutils Examples" +msgstr "Приклади Distutils" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"This chapter provides a number of basic examples to help get started with " +"distutils. Additional information about using distutils can be found in the " +"Distutils Cookbook." +msgstr "" +"У цьому розділі наведено низку основних прикладів, які допоможуть розпочати " +"роботу з distutils. Додаткову інформацію про використання distutils можна " +"знайти в кулінарній книзі Distutils." + +msgid "`Distutils Cookbook `_" +msgstr "" +"`Кулінарна книга Distutils `_" + +msgid "" +"Collection of recipes showing how to achieve more control over distutils." +msgstr "" +"Збірка рецептів, які показують, як досягти більшого контролю над distutils." + +msgid "Pure Python distribution (by module)" +msgstr "Чистий дистрибутив Python (за модулями)" + +msgid "" +"If you're just distributing a couple of modules, especially if they don't " +"live in a particular package, you can specify them individually using the " +"``py_modules`` option in the setup script." +msgstr "" +"Якщо ви просто розповсюджуєте кілька модулів, особливо якщо вони не живуть в " +"окремому пакеті, ви можете вказати їх окремо за допомогою параметра " +"``py_modules`` у сценарії встановлення." + +msgid "" +"In the simplest case, you'll have two files to worry about: a setup script " +"and the single module you're distributing, :file:`foo.py` in this example::" +msgstr "" +"У найпростішому випадку вам доведеться потурбуватися про два файли: сценарій " +"встановлення та єдиний модуль, який ви розповсюджуєте, :file:`foo.py` у " +"цьому прикладі::" + +msgid "" +"(In all diagrams in this section, ** will refer to the distribution " +"root directory.) A minimal setup script to describe this situation would " +"be::" +msgstr "" +"(На всіх діаграмах у цьому розділі * * посилатиметься на кореневий " +"каталог розповсюдження.) Мінімальний сценарій налаштування для опису цієї " +"ситуації буде таким:" + +msgid "" +"Note that the name of the distribution is specified independently with the " +"``name`` option, and there's no rule that says it has to be the same as the " +"name of the sole module in the distribution (although that's probably a good " +"convention to follow). However, the distribution name is used to generate " +"filenames, so you should stick to letters, digits, underscores, and hyphens." +msgstr "" +"Зауважте, що ім’я дистрибутива вказується окремо за допомогою параметра " +"``name``, і немає правила, яке б стверджувало, що воно має бути таким самим, " +"як ім’я єдиного модуля в дистрибутиві (хоча це, ймовірно, гарна угода, якої " +"слід дотримуватися ). Однак ім’я дистрибутива використовується для " +"генерування імен файлів, тому ви повинні дотримуватися літер, цифр, символів " +"підкреслення та дефісів." + +msgid "" +"Since ``py_modules`` is a list, you can of course specify multiple modules, " +"eg. if you're distributing modules :mod:`foo` and :mod:`bar`, your setup " +"might look like this::" +msgstr "" +"Оскільки ``py_modules`` є списком, ви, звичайно, можете вказати декілька " +"модулів, наприклад. якщо ви розповсюджуєте модулі :mod:`foo` і :mod:`bar`, " +"ваші налаштування можуть виглядати так:" + +msgid "and the setup script might be ::" +msgstr "і сценарій налаштування може бути таким:" + +msgid "" +"You can put module source files into another directory, but if you have " +"enough modules to do that, it's probably easier to specify modules by " +"package rather than listing them individually." +msgstr "" +"Ви можете помістити вихідні файли модуля в інший каталог, але якщо у вас " +"достатньо модулів для цього, можливо, простіше вказати модулі за пакетом, а " +"не перераховувати їх окремо." + +msgid "Pure Python distribution (by package)" +msgstr "Чистий дистрибутив Python (за пакетом)" + +msgid "" +"If you have more than a couple of modules to distribute, especially if they " +"are in multiple packages, it's probably easier to specify whole packages " +"rather than individual modules. This works even if your modules are not in " +"a package; you can just tell the Distutils to process modules from the root " +"package, and that works the same as any other package (except that you don't " +"have to have an :file:`__init__.py` file)." +msgstr "" +"Якщо у вас є кілька модулів для розповсюдження, особливо якщо вони містяться " +"в кількох пакетах, можливо, простіше вказати цілі пакети, а не окремі " +"модулі. Це працює, навіть якщо ваші модулі не в пакеті; ви можете просто " +"сказати Distutils обробляти модулі з кореневого пакета, і це працює так " +"само, як і будь-який інший пакет (за винятком того, що вам не обов’язково " +"мати файл :file:`__init__.py`)." + +msgid "The setup script from the last example could also be written as ::" +msgstr "Сценарій налаштування з останнього прикладу також можна записати як::" + +msgid "(The empty string stands for the root package.)" +msgstr "(Порожній рядок означає кореневий пакет.)" + +msgid "" +"If those two files are moved into a subdirectory, but remain in the root " +"package, e.g.::" +msgstr "" +"Якщо ці два файли переміщуються до підкаталогу, але залишаються в кореневому " +"пакеті, наприклад::" + +msgid "" +"then you would still specify the root package, but you have to tell the " +"Distutils where source files in the root package live::" +msgstr "" +"тоді ви все одно вкажете кореневий пакет, але ви повинні повідомити " +"Distutils, де знаходяться вихідні файли в кореневому пакеті::" + +msgid "" +"More typically, though, you will want to distribute multiple modules in the " +"same package (or in sub-packages). For example, if the :mod:`foo` and :mod:" +"`bar` modules belong in package :mod:`foobar`, one way to layout your source " +"tree is ::" +msgstr "" +"Однак зазвичай ви захочете поширювати кілька модулів в одному пакеті (або в " +"підпакетах). Наприклад, якщо модулі :mod:`foo` і :mod:`bar` належать до " +"пакета :mod:`foobar`, одним зі способів компонування дерева вихідних кодів є:" + +msgid "" +"This is in fact the default layout expected by the Distutils, and the one " +"that requires the least work to describe in your setup script::" +msgstr "" +"Насправді це макет за замовчуванням, очікуваний Distutils, і той, який " +"вимагає найменшої роботи для опису у вашому сценарії налаштування::" + +msgid "" +"If you want to put modules in directories not named for their package, then " +"you need to use the ``package_dir`` option again. For example, if the :file:" +"`src` directory holds modules in the :mod:`foobar` package::" +msgstr "" +"Якщо ви бажаєте розмістити модулі в каталогах, не названих відповідно до " +"їхнього пакета, вам потрібно знову використати опцію ``package_dir``. " +"Наприклад, якщо каталог :file:`src` містить модулі в пакеті :mod:`foobar`:" + +msgid "an appropriate setup script would be ::" +msgstr "відповідним сценарієм налаштування буде:" + +msgid "" +"Or, you might put modules from your main package right in the distribution " +"root::" +msgstr "" +"Або ви можете розмістити модулі з основного пакета прямо в корені " +"дистрибутива::" + +msgid "in which case your setup script would be ::" +msgstr "у цьому випадку ваш сценарій налаштування буде таким:" + +msgid "(The empty string also stands for the current directory.)" +msgstr "(Порожній рядок також означає поточний каталог.)" + +msgid "" +"If you have sub-packages, they must be explicitly listed in ``packages``, " +"but any entries in ``package_dir`` automatically extend to sub-packages. (In " +"other words, the Distutils does *not* scan your source tree, trying to " +"figure out which directories correspond to Python packages by looking for :" +"file:`__init__.py` files.) Thus, if the default layout grows a sub-package::" +msgstr "" +"Якщо у вас є підпакунки, їх потрібно явно вказати в ``packages``, але будь-" +"які записи в ``package_dir`` автоматично поширюються на підпакунки. (Іншими " +"словами, Distutils *не* сканує ваше дерево вихідних кодів, намагаючись " +"з’ясувати, які каталоги відповідають пакетам Python, шукаючи файли :file:" +"`__init__.py`.) Таким чином, якщо макет за замовчуванням збільшує під- " +"пакет::" + +msgid "then the corresponding setup script would be ::" +msgstr "тоді відповідний сценарій налаштування буде таким:" + +msgid "Single extension module" +msgstr "Один модуль розширення" + +msgid "" +"Extension modules are specified using the ``ext_modules`` option. " +"``package_dir`` has no effect on where extension source files are found; it " +"only affects the source for pure Python modules. The simplest case, a " +"single extension module in a single C source file, is::" +msgstr "" +"Модулі розширення вказуються за допомогою параметра ``ext_modules``. " +"``package_dir`` не впливає на те, де знаходяться вихідні файли розширення; " +"це впливає лише на джерело для чистих модулів Python. Найпростіший випадок, " +"один модуль розширення в одному вихідному файлі C, це:" + +msgid "" +"If the :mod:`foo` extension belongs in the root package, the setup script " +"for this could be ::" +msgstr "" +"Якщо розширення :mod:`foo` належить кореневому пакету, сценарій налаштування " +"для цього може бути таким::" + +msgid "If the extension actually belongs in a package, say :mod:`foopkg`, then" +msgstr "Якщо розширення насправді належить до пакета, скажіть :mod:`foopkg`" + +msgid "" +"With exactly the same source tree layout, this extension can be put in the :" +"mod:`foopkg` package simply by changing the name of the extension::" +msgstr "" +"З таким же макетом вихідного дерева, це розширення можна помістити в пакет :" +"mod:`foopkg`, просто змінивши назву розширення::" + +msgid "Checking a package" +msgstr "Перевірка посилки" + +msgid "" +"The ``check`` command allows you to verify if your package meta-data meet " +"the minimum requirements to build a distribution." +msgstr "" +"Команда ``check`` дозволяє вам перевірити, чи метадані вашого пакета " +"відповідають мінімальним вимогам для створення дистрибутива." + +msgid "" +"To run it, just call it using your :file:`setup.py` script. If something is " +"missing, ``check`` will display a warning." +msgstr "" +"Щоб запустити його, просто викличте його за допомогою свого сценарію :file:" +"`setup.py`. Якщо чогось не вистачає, ``check`` відобразить попередження." + +msgid "Let's take an example with a simple script::" +msgstr "Розглянемо приклад із простим скриптом::" + +msgid "Running the ``check`` command will display some warnings:" +msgstr "Виконання команди ``check`` відобразить деякі попередження:" + +msgid "" +"If you use the reStructuredText syntax in the ``long_description`` field and " +"`docutils`_ is installed you can check if the syntax is fine with the " +"``check`` command, using the ``restructuredtext`` option." +msgstr "" +"Якщо ви використовуєте синтаксис reStructuredText у полі " +"``long_description`` і `docutils`_ встановлено, ви можете перевірити, чи " +"синтаксис правильний за допомогою команди ``check``, використовуючи параметр " +"``restructuredtext``." + +msgid "For example, if the :file:`setup.py` script is changed like this::" +msgstr "Наприклад, якщо сценарій :file:`setup.py` змінено таким чином:" + +msgid "" +"Where the long description is broken, ``check`` will be able to detect it by " +"using the :mod:`docutils` parser:" +msgstr "" +"Якщо довгий опис пошкоджено, ``check`` зможе виявити це за допомогою " +"аналізатора :mod:`docutils`:" + +msgid "Reading the metadata" +msgstr "Читання метаданих" + +msgid "" +"The :func:`distutils.core.setup` function provides a command-line interface " +"that allows you to query the metadata fields of a project through the " +"``setup.py`` script of a given project:" +msgstr "" +"Функція :func:`distutils.core.setup` забезпечує інтерфейс командного рядка, " +"який дозволяє запитувати поля метаданих проекту за допомогою сценарію " +"``setup.py`` даного проекту:" + +msgid "" +"This call reads the ``name`` metadata by running the :func:`distutils.core." +"setup` function. Although, when a source or binary distribution is created " +"with Distutils, the metadata fields are written in a static file called :" +"file:`PKG-INFO`. When a Distutils-based project is installed in Python, the :" +"file:`PKG-INFO` file is copied alongside the modules and packages of the " +"distribution under :file:`NAME-VERSION-pyX.X.egg-info`, where ``NAME`` is " +"the name of the project, ``VERSION`` its version as defined in the Metadata, " +"and ``pyX.X`` the major and minor version of Python like ``2.7`` or ``3.2``." +msgstr "" +"Цей виклик читає метадані ``name`` за допомогою функції :func:`distutils." +"core.setup`. Хоча, коли вихідний або бінарний дистрибутив створюється за " +"допомогою Distutils, поля метаданих записуються в статичний файл під назвою :" +"file:`PKG-INFO`. Коли проект на основі Distutils інстальовано в Python, " +"файл :file:`PKG-INFO` копіюється разом із модулями та пакетами дистрибутива " +"в :file:`NAME-VERSION-pyX.X.egg-info`, де ``NAME`` — це назва проекту, " +"``VERSION`` — його версія, як визначено в метаданих, а ``pyX.X`` — основна " +"та допоміжна версії Python, наприклад ``2.7`` або ``3.2``." + +msgid "" +"You can read back this static file, by using the :class:`distutils.dist." +"DistributionMetadata` class and its :func:`read_pkg_file` method::" +msgstr "" +"Ви можете прочитати цей статичний файл за допомогою класу :class:`distutils." +"dist.DistributionMetadata` та його методу :func:`read_pkg_file`::" + +msgid "" +"Notice that the class can also be instantiated with a metadata file path to " +"loads its values::" +msgstr "" +"Зауважте, що клас також може бути створений за допомогою шляху до файлу " +"метаданих для завантаження його значень:" diff --git a/distutils/extending.po b/distutils/extending.po new file mode 100644 index 000000000..e4d1a0b68 --- /dev/null +++ b/distutils/extending.po @@ -0,0 +1,183 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Extending Distutils" +msgstr "Розширення Distutils" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"Distutils can be extended in various ways. Most extensions take the form of " +"new commands or replacements for existing commands. New commands may be " +"written to support new types of platform-specific packaging, for example, " +"while replacements for existing commands may be made to modify details of " +"how the command operates on a package." +msgstr "" +"Distutils можна розширити різними способами. Більшість розширень мають форму " +"нових команд або заміни існуючих команд. Нові команди можуть бути написані " +"для підтримки нових типів пакетів, що стосуються платформи, наприклад, тоді " +"як заміни існуючих команд можуть бути зроблені для зміни деталей того, як " +"команда працює з пакетом." + +msgid "" +"Most extensions of the distutils are made within :file:`setup.py` scripts " +"that want to modify existing commands; many simply add a few file extensions " +"that should be copied into packages in addition to :file:`.py` files as a " +"convenience." +msgstr "" +"Більшість розширень distutils створено в сценаріях :file:`setup.py`, які " +"хочуть змінити існуючі команди; багато хто просто додає кілька розширень " +"файлів, які слід скопіювати в пакунки на додаток до файлів :file:`.py` для " +"зручності." + +msgid "" +"Most distutils command implementations are subclasses of the :class:" +"`distutils.cmd.Command` class. New commands may directly inherit from :" +"class:`Command`, while replacements often derive from :class:`Command` " +"indirectly, directly subclassing the command they are replacing. Commands " +"are required to derive from :class:`Command`." +msgstr "" +"Більшість реалізацій команд distutils є підкласами класу :class:`distutils." +"cmd.Command`. Нові команди можуть безпосередньо успадковувати :class:" +"`Command`, тоді як заміни часто походять від :class:`Command` " +"опосередковано, безпосередньо створюючи підклас команди, яку вони замінюють. " +"Команди повинні походити від :class:`Command`." + +msgid "Integrating new commands" +msgstr "Інтеграція нових команд" + +msgid "" +"There are different ways to integrate new command implementations into " +"distutils. The most difficult is to lobby for the inclusion of the new " +"features in distutils itself, and wait for (and require) a version of Python " +"that provides that support. This is really hard for many reasons." +msgstr "" +"Існують різні способи інтеграції нових реалізацій команд у distutils. " +"Найважче — лобіювати включення нових функцій у sam distutils і чекати (і " +"вимагати) версії Python, яка надає цю підтримку. Це дійсно важко з багатьох " +"причин." + +msgid "" +"The most common, and possibly the most reasonable for most needs, is to " +"include the new implementations with your :file:`setup.py` script, and cause " +"the :func:`distutils.core.setup` function use them::" +msgstr "" +"Найпоширенішим і, можливо, найдоцільнішим для більшості потреб є включення " +"нових реалізацій у ваш сценарій :file:`setup.py` і використання їх функцією :" +"func:`distutils.core.setup`:" + +msgid "" +"This approach is most valuable if the new implementations must be used to " +"use a particular package, as everyone interested in the package will need to " +"have the new command implementation." +msgstr "" +"Цей підхід є найбільш цінним, якщо нові реалізації потрібно використовувати " +"для використання конкретного пакета, оскільки кожен, хто зацікавлений у " +"пакеті, повинен мати нову реалізацію команди." + +msgid "" +"Beginning with Python 2.4, a third option is available, intended to allow " +"new commands to be added which can support existing :file:`setup.py` scripts " +"without requiring modifications to the Python installation. This is " +"expected to allow third-party extensions to provide support for additional " +"packaging systems, but the commands can be used for anything distutils " +"commands can be used for. A new configuration option, ``command_packages`` " +"(command-line option :option:`!--command-packages`), can be used to specify " +"additional packages to be searched for modules implementing commands. Like " +"all distutils options, this can be specified on the command line or in a " +"configuration file. This option can only be set in the ``[global]`` section " +"of a configuration file, or before any commands on the command line. If set " +"in a configuration file, it can be overridden from the command line; setting " +"it to an empty string on the command line causes the default to be used. " +"This should never be set in a configuration file provided with a package." +msgstr "" +"Починаючи з Python 2.4, доступний третій параметр, призначений для додавання " +"нових команд, які можуть підтримувати існуючі сценарії :file:`setup.py` без " +"необхідності модифікації інсталяції Python. Очікується, що це дозволить " +"стороннім розширенням надавати підтримку для додаткових систем пакування, " +"але команди можна використовувати для будь-яких завдань, для яких можна " +"використовувати команди distutils. Новий параметр конфігурації, " +"``command_packages`` (параметр командного рядка :option:`!--command-" +"packages`), можна використовувати для визначення додаткових пакетів для " +"пошуку модулів, що реалізують команди. Як і всі параметри distutils, це " +"можна вказати в командному рядку або у файлі конфігурації. Цей параметр " +"можна встановити лише в розділі ``[global]`` конфігураційного файлу або " +"перед будь-якими командами в командному рядку. Якщо встановлено у файлі " +"конфігурації, його можна змінити з командного рядка; встановлення його як " +"порожнього рядка в командному рядку призводить до використання типового " +"значення. Це ніколи не можна встановлювати у файлі конфігурації, що " +"надається разом із пакетом." + +msgid "" +"This new option can be used to add any number of packages to the list of " +"packages searched for command implementations; multiple package names should " +"be separated by commas. When not specified, the search is only performed in " +"the :mod:`distutils.command` package. When :file:`setup.py` is run with the " +"option ``--command-packages distcmds,buildcmds``, however, the packages :mod:" +"`distutils.command`, :mod:`distcmds`, and :mod:`buildcmds` will be searched " +"in that order. New commands are expected to be implemented in modules of " +"the same name as the command by classes sharing the same name. Given the " +"example command line option above, the command :command:`bdist_openpkg` " +"could be implemented by the class :class:`distcmds.bdist_openpkg." +"bdist_openpkg` or :class:`buildcmds.bdist_openpkg.bdist_openpkg`." +msgstr "" +"Цю нову опцію можна використовувати для додавання будь-якої кількості " +"пакунків до списку пакетів, у яких шукаються реалізації команд; кілька назв " +"пакетів слід розділяти комами. Якщо не вказано, пошук виконується лише в " +"пакеті :mod:`distutils.command`. Коли :file:`setup.py` запускається з " +"параметром ``--command-packages distcmds,buildcmds``, проте пакунки :mod:" +"`distutils.command`, :mod:`distcmds` і :mod:`buildcmds` шукатиметься в " +"такому порядку. Очікується, що нові команди будуть реалізовані в модулях з " +"тим же іменем, що й команда, класами, що мають таке ж ім’я. Враховуючи " +"наведений вище приклад командного рядка, команду :command:`bdist_openpkg` " +"можна реалізувати за допомогою класу :class:`distcmds.bdist_openpkg." +"bdist_openpkg` або :class:`buildcmds.bdist_openpkg.bdist_openpkg`." + +msgid "Adding new distribution types" +msgstr "Додавання нових типів розподілу" + +msgid "" +"Commands that create distributions (files in the :file:`dist/` directory) " +"need to add ``(command, filename)`` pairs to ``self.distribution." +"dist_files`` so that :command:`upload` can upload it to PyPI. The " +"*filename* in the pair contains no path information, only the name of the " +"file itself. In dry-run mode, pairs should still be added to represent what " +"would have been created." +msgstr "" +"Команди, які створюють дистрибутиви (файли в каталозі :file:`dist/`), " +"повинні додати пари ``(command, filename)`` до ``self.distribution." +"dist_files``, щоб :command:`upload` міг завантажувати це в PyPI. *Назва " +"файлу* в парі не містить інформації про шлях, лише назву самого файлу. У " +"режимі сухого запуску пари все одно повинні бути додані, щоб представити те, " +"що було б створено." diff --git a/distutils/index.po b/distutils/index.po new file mode 100644 index 000000000..9dbd3ab5e --- /dev/null +++ b/distutils/index.po @@ -0,0 +1,92 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Distributing Python Modules (Legacy version)" +msgstr "Розповсюдження модулів Python (застаріла версія)" + +msgid "Authors" +msgstr "Автори" + +msgid "Greg Ward, Anthony Baxter" +msgstr "Greg Ward, Anthony Baxter" + +msgid "Email" +msgstr "Електронна пошта" + +msgid "distutils-sig@python.org" +msgstr "distutils-sig@python.org" + +msgid ":ref:`distributing-index`" +msgstr ":ref:`distributing-index`" + +msgid "The up to date module distribution documentations" +msgstr "Актуальна документація щодо розповсюдження модуля" + +msgid "" +"The entire ``distutils`` package has been deprecated and will be removed in " +"Python 3.12. This documentation is retained as a reference only, and will be " +"removed with the package. See the :ref:`What's New ` " +"entry for more information." +msgstr "" +"Весь пакет ``distutils`` застарів і буде видалено в Python 3.12. Ця " +"документація зберігається лише як довідка та буде видалена разом із пакетом. " +"Перегляньте запис :ref:`Що нового ` для отримання " +"додаткової інформації." + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"This guide only covers the basic tools for building and distributing " +"extensions that are provided as part of this version of Python. Third party " +"tools offer easier to use and more secure alternatives. Refer to the `quick " +"recommendations section `__ in the Python Packaging User Guide for more information." +msgstr "" +"Цей посібник охоплює лише основні інструменти для створення та " +"розповсюдження розширень, які надаються як частина цієї версії Python. " +"Інструменти сторонніх розробників пропонують простіші у використанні та " +"безпечніші альтернативи. Для отримання додаткової інформації зверніться до " +"розділу `швидких рекомендацій `__ у посібнику користувача з пакування Python." + +msgid "" +"This document describes the Python Distribution Utilities (\"Distutils\") " +"from the module developer's point of view, describing the underlying " +"capabilities that ``setuptools`` builds on to allow Python developers to " +"make Python modules and extensions readily available to a wider audience." +msgstr "" +"Цей документ описує утиліти розповсюдження Python (\"Distutils\") з точки " +"зору розробника модулів, описуючи базові можливості, на яких базується " +"``setuptools``, щоб дозволити розробникам Python зробити модулі та " +"розширення Python доступними для ширшої аудиторії." diff --git a/distutils/introduction.po b/distutils/introduction.po new file mode 100644 index 000000000..e5b146917 --- /dev/null +++ b/distutils/introduction.po @@ -0,0 +1,397 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "An Introduction to Distutils" +msgstr "Вступ до Distutils" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"This document covers using the Distutils to distribute your Python modules, " +"concentrating on the role of developer/distributor: if you're looking for " +"information on installing Python modules, you should refer to the :ref:" +"`install-index` chapter." +msgstr "" +"Цей документ описує використання Distutils для розповсюдження ваших модулів " +"Python, зосереджуючись на ролі розробника/розповсюджувача: якщо ви шукаєте " +"інформацію про встановлення модулів Python, вам слід звернутися до розділу :" +"ref:`install-index`." + +msgid "Concepts & Terminology" +msgstr "Поняття та термінологія" + +msgid "" +"Using the Distutils is quite simple, both for module developers and for " +"users/administrators installing third-party modules. As a developer, your " +"responsibilities (apart from writing solid, well-documented and well-tested " +"code, of course!) are:" +msgstr "" +"Користуватися Distutils досить просто як для розробників модулів, так і для " +"користувачів/адміністраторів, які встановлюють модулі сторонніх розробників. " +"Як розробник, ваші обов’язки (крім написання надійного, добре " +"задокументованого та перевіреного коду, звичайно!) такі:" + +msgid "write a setup script (:file:`setup.py` by convention)" +msgstr "написати сценарій налаштування (:file:`setup.py` за угодою)" + +msgid "(optional) write a setup configuration file" +msgstr "(необов’язково) написати файл конфігурації налаштування" + +msgid "create a source distribution" +msgstr "створити вихідний розподіл" + +msgid "(optional) create one or more built (binary) distributions" +msgstr "" +"(необов’язково) створити один або кілька вбудованих (бінарних) дистрибутивів" + +msgid "Each of these tasks is covered in this document." +msgstr "Кожне з цих завдань описано в цьому документі." + +msgid "" +"Not all module developers have access to a multitude of platforms, so it's " +"not always feasible to expect them to create a multitude of built " +"distributions. It is hoped that a class of intermediaries, called " +"*packagers*, will arise to address this need. Packagers will take source " +"distributions released by module developers, build them on one or more " +"platforms, and release the resulting built distributions. Thus, users on " +"the most popular platforms will be able to install most popular Python " +"module distributions in the most natural way for their platform, without " +"having to run a single setup script or compile a line of code." +msgstr "" +"Не всі розробники модулів мають доступ до безлічі платформ, тому не завжди " +"можна очікувати, що вони створять безліч вбудованих дистрибутивів. Є надія, " +"що для задоволення цієї потреби виникне клас посередників, які називаються " +"*пакувальниками*. Розробники пакувальників візьмуть дистрибутиви вихідного " +"коду, випущені розробниками модулів, створять їх на одній або кількох " +"платформах і випустять отримані складені дистрибутиви. Таким чином, " +"користувачі на найпопулярніших платформах зможуть інсталювати більшість " +"популярних дистрибутивів модулів Python найбільш природним способом для " +"своєї платформи, без необхідності запускати один сценарій налаштування або " +"компілювати рядок коду." + +msgid "A Simple Example" +msgstr "Простий приклад" + +msgid "" +"The setup script is usually quite simple, although since it's written in " +"Python, there are no arbitrary limits to what you can do with it, though you " +"should be careful about putting arbitrarily expensive operations in your " +"setup script. Unlike, say, Autoconf-style configure scripts, the setup " +"script may be run multiple times in the course of building and installing " +"your module distribution." +msgstr "" +"Сценарій налаштування, як правило, досить простий, хоча, оскільки він " +"написаний на Python, немає довільних обмежень на те, що ви можете робити з " +"ним, хоча ви повинні бути обережними щодо розміщення довільно дорогих " +"операцій у вашому сценарії налаштування. На відміну, скажімо, від сценаріїв " +"налаштування у стилі Autoconf, сценарій налаштування можна запускати кілька " +"разів під час збирання та встановлення вашого дистрибутива модуля." + +msgid "" +"If all you want to do is distribute a module called :mod:`foo`, contained in " +"a file :file:`foo.py`, then your setup script can be as simple as this::" +msgstr "" +"Якщо все, що ви хочете зробити, це розповсюдити модуль під назвою :mod:" +"`foo`, який міститься у файлі :file:`foo.py`, тоді ваш сценарій налаштування " +"може бути таким простим, як це:" + +msgid "Some observations:" +msgstr "Деякі спостереження:" + +msgid "" +"most information that you supply to the Distutils is supplied as keyword " +"arguments to the :func:`setup` function" +msgstr "" +"Більшість інформації, яку ви надаєте Distutils, надається як ключові " +"аргументи функції :func:`setup`" + +msgid "" +"those keyword arguments fall into two categories: package metadata (name, " +"version number) and information about what's in the package (a list of pure " +"Python modules, in this case)" +msgstr "" +"ці аргументи ключових слів поділяються на дві категорії: метадані пакета " +"(назва, номер версії) та інформація про те, що міститься в пакеті (у цьому " +"випадку список чистих модулів Python)" + +msgid "" +"modules are specified by module name, not filename (the same will hold true " +"for packages and extensions)" +msgstr "" +"модулі вказуються назвою модуля, а не назвою файлу (те саме стосується " +"пакетів і розширень)" + +msgid "" +"it's recommended that you supply a little more metadata, in particular your " +"name, email address and a URL for the project (see section :ref:`setup-" +"script` for an example)" +msgstr "" +"рекомендується надати трохи більше метаданих, зокрема ваше ім’я, адресу " +"електронної пошти та URL-адресу проекту (див. розділ :ref:`setup-script` для " +"прикладу)" + +msgid "" +"To create a source distribution for this module, you would create a setup " +"script, :file:`setup.py`, containing the above code, and run this command " +"from a terminal::" +msgstr "" +"Щоб створити дистрибутив вихідного коду для цього модуля, вам слід створити " +"сценарій налаштування :file:`setup.py`, який містить наведений вище код, і " +"виконати цю команду з терміналу::" + +msgid "" +"For Windows, open a command prompt window (:menuselection:`Start --> " +"Accessories`) and change the command to::" +msgstr "" +"Для Windows відкрийте вікно командного рядка (:menuselection:`Пуск --> " +"Аксесуари`) і змініть команду на:" + +msgid "" +":command:`sdist` will create an archive file (e.g., tarball on Unix, ZIP " +"file on Windows) containing your setup script :file:`setup.py`, and your " +"module :file:`foo.py`. The archive file will be named :file:`foo-1.0.tar.gz` " +"(or :file:`.zip`), and will unpack into a directory :file:`foo-1.0`." +msgstr "" +":command:`sdist` створить архівний файл (наприклад, tar-архів в Unix, ZIP-" +"файл у Windows), що містить ваш сценарій налаштування :file:`setup.py` і ваш " +"модуль :file:`foo.py`. Архівний файл матиме назву :file:`foo-1.0.tar.gz` " +"(або :file:`.zip`) і буде розпаковано в каталог :file:`foo-1.0`." + +msgid "" +"If an end-user wishes to install your :mod:`foo` module, all they have to do " +"is download :file:`foo-1.0.tar.gz` (or :file:`.zip`), unpack it, and---from " +"the :file:`foo-1.0` directory---run ::" +msgstr "" +"Якщо кінцевий користувач бажає встановити ваш модуль :mod:`foo`, усе, що " +"йому потрібно зробити, це завантажити :file:`foo-1.0.tar.gz` (або :file:`." +"zip`), розпакувати його, і---з каталогу :file:`foo-1.0`---запустіть ::" + +msgid "" +"which will ultimately copy :file:`foo.py` to the appropriate directory for " +"third-party modules in their Python installation." +msgstr "" +"який зрештою скопіює :file:`foo.py` у відповідний каталог для сторонніх " +"модулів у їхній установці Python." + +msgid "" +"This simple example demonstrates some fundamental concepts of the Distutils. " +"First, both developers and installers have the same basic user interface, i." +"e. the setup script. The difference is which Distutils *commands* they use: " +"the :command:`sdist` command is almost exclusively for module developers, " +"while :command:`install` is more often for installers (although most " +"developers will want to install their own code occasionally)." +msgstr "" +"Цей простий приклад демонструє деякі фундаментальні концепції Distutils. По-" +"перше, і розробники, і інсталятори мають однаковий базовий інтерфейс " +"користувача, тобто сценарій налаштування. Різниця полягає в тому, які " +"*команди* Distutils вони використовують: команда :command:`sdist` призначена " +"майже виключно для розробників модулів, тоді як :command:`install` частіше " +"для встановлювачів (хоча більшість розробників захочуть час від часу " +"встановлювати власний код). )." + +msgid "" +"Other useful built distribution formats are RPM, implemented by the :command:" +"`bdist_rpm` command, Solaris :program:`pkgtool` (:command:`bdist_pkgtool`), " +"and HP-UX :program:`swinstall` (:command:`bdist_sdux`). For example, the " +"following command will create an RPM file called :file:`foo-1.0.noarch.rpm`::" +msgstr "" +"Іншими корисними вбудованими форматами розповсюдження є RPM, реалізований " +"командою :command:`bdist_rpm`, Solaris :program:`pkgtool` (:command:" +"`bdist_pkgtool`) і HP-UX :program:`swinstall` (:command:`bdist_sdux`). " +"Наприклад, наступна команда створить файл RPM під назвою :file:`foo-1.0." +"noarch.rpm`::" + +msgid "" +"(The :command:`bdist_rpm` command uses the :command:`rpm` executable, " +"therefore this has to be run on an RPM-based system such as Red Hat Linux, " +"SuSE Linux, or Mandrake Linux.)" +msgstr "" +"(Команда :command:`bdist_rpm` використовує виконуваний файл :command:`rpm`, " +"тому її потрібно запускати в системі на основі RPM, наприклад Red Hat Linux, " +"SuSE Linux або Mandrake Linux.)" + +msgid "" +"You can find out what distribution formats are available at any time by " +"running ::" +msgstr "" +"Ви можете будь-коли дізнатися, які формати розповсюдження доступні, " +"запустивши:" + +msgid "General Python terminology" +msgstr "Загальна термінологія Python" + +msgid "" +"If you're reading this document, you probably have a good idea of what " +"modules, extensions, and so forth are. Nevertheless, just to be sure that " +"everyone is operating from a common starting point, we offer the following " +"glossary of common Python terms:" +msgstr "" +"Якщо ви читаєте цей документ, ви, мабуть, добре розумієте, що таке модулі, " +"розширення тощо. Проте, щоб переконатися, що всі працюють із спільної " +"початкової точки, ми пропонуємо наступний глосарій загальних термінів Python:" + +msgid "module" +msgstr "модуль" + +msgid "" +"the basic unit of code reusability in Python: a block of code imported by " +"some other code. Three types of modules concern us here: pure Python " +"modules, extension modules, and packages." +msgstr "" +"основна одиниця багаторазового використання коду в Python: блок коду, " +"імпортований іншим кодом. Тут нас цікавлять три типи модулів: чисті модулі " +"Python, модулі розширення та пакунки." + +msgid "pure Python module" +msgstr "чистий модуль Python" + +msgid "" +"a module written in Python and contained in a single :file:`.py` file (and " +"possibly associated :file:`.pyc` files). Sometimes referred to as a \"pure " +"module.\"" +msgstr "" +"модуль, написаний на Python і міститься в одному файлі :file:`.py` (і, " +"можливо, пов’язаних файлах :file:`.pyc`). Іноді його називають \"чистим " +"модулем\"." + +msgid "extension module" +msgstr "модуль розширення" + +msgid "" +"a module written in the low-level language of the Python implementation: C/C+" +"+ for Python, Java for Jython. Typically contained in a single dynamically " +"loadable pre-compiled file, e.g. a shared object (:file:`.so`) file for " +"Python extensions on Unix, a DLL (given the :file:`.pyd` extension) for " +"Python extensions on Windows, or a Java class file for Jython extensions. " +"(Note that currently, the Distutils only handles C/C++ extensions for " +"Python.)" +msgstr "" +"модуль, написаний на мові низького рівня реалізації Python: C/C++ для " +"Python, Java для Jython. Зазвичай міститься в одному динамічно " +"завантажуваному попередньо скомпільованому файлі, напр. файл спільного " +"об’єкта (:file:`.so`) для розширень Python в Unix, DLL (з урахуванням " +"розширення :file:`.pyd`) для розширень Python у Windows або файл класу Java " +"для розширень Jython. (Зверніть увагу, що наразі Distutils обробляє лише " +"розширення C/C++ для Python.)" + +msgid "package" +msgstr "пакет" + +msgid "" +"a module that contains other modules; typically contained in a directory in " +"the filesystem and distinguished from other directories by the presence of a " +"file :file:`__init__.py`." +msgstr "" +"модуль, який містить інші модулі; зазвичай міститься в каталозі файлової " +"системи та відрізняється від інших каталогів наявністю файлу :file:`__init__." +"py`." + +msgid "root package" +msgstr "кореневий пакет" + +msgid "" +"the root of the hierarchy of packages. (This isn't really a package, since " +"it doesn't have an :file:`__init__.py` file. But we have to call it " +"something.) The vast majority of the standard library is in the root " +"package, as are many small, standalone third-party modules that don't belong " +"to a larger module collection. Unlike regular packages, modules in the root " +"package can be found in many directories: in fact, every directory listed in " +"``sys.path`` contributes modules to the root package." +msgstr "" +"корінь ієрархії пакетів. (Це насправді не пакунок, оскільки він не має " +"файлу :file:`__init__.py`. Але ми повинні якось це назвати.) Переважна " +"більшість стандартної бібліотеки міститься в кореневому пакунку, як і багато " +"невеликих окремих модулів сторонніх розробників, які не належать до більшої " +"колекції модулів. На відміну від звичайних пакетів, модулі в кореневому " +"пакеті можна знайти в багатьох каталогах: фактично кожен каталог, " +"перерахований у ``sys.path``, вносить модулі в кореневий пакет." + +msgid "Distutils-specific terminology" +msgstr "Спеціальна термінологія Distutils" + +msgid "" +"The following terms apply more specifically to the domain of distributing " +"Python modules using the Distutils:" +msgstr "" +"Наступні терміни більш конкретно стосуються домену розповсюдження модулів " +"Python за допомогою Distutils:" + +msgid "module distribution" +msgstr "розподіл модулів" + +msgid "" +"a collection of Python modules distributed together as a single downloadable " +"resource and meant to be installed *en masse*. Examples of some well-known " +"module distributions are NumPy, SciPy, Pillow, or mxBase. (This would be " +"called a *package*, except that term is already taken in the Python context: " +"a single module distribution may contain zero, one, or many Python packages.)" +msgstr "" +"колекція модулів Python, які розповсюджуються разом як єдиний ресурс для " +"завантаження та призначені для масового встановлення. Прикладами деяких " +"відомих дистрибутивів модулів є NumPy, SciPy, Pillow або mxBase. (Це буде " +"називатися *пакетом*, за винятком того, що цей термін уже використано в " +"контексті Python: дистрибутив одного модуля може містити нуль, один або " +"багато пакетів Python.)" + +msgid "pure module distribution" +msgstr "чистий модульний розподіл" + +msgid "" +"a module distribution that contains only pure Python modules and packages. " +"Sometimes referred to as a \"pure distribution.\"" +msgstr "" +"дистрибутив модулів, який містить лише чисті модулі та пакунки Python. Іноді " +"його називають \"чистим розподілом\"." + +msgid "non-pure module distribution" +msgstr "нечистий модульний розподіл" + +msgid "" +"a module distribution that contains at least one extension module. " +"Sometimes referred to as a \"non-pure distribution.\"" +msgstr "" +"дистрибутив модуля, який містить принаймні один модуль розширення. Іноді " +"його називають \"нечистим розподілом\"." + +msgid "distribution root" +msgstr "розподільчий корінь" + +msgid "" +"the top-level directory of your source tree (or source distribution); the " +"directory where :file:`setup.py` exists. Generally :file:`setup.py` will " +"be run from this directory." +msgstr "" +"каталог верхнього рівня вашого вихідного дерева (або вихідного " +"дистрибутива); каталог, де існує :file:`setup.py`. Зазвичай :file:`setup.py` " +"запускатиметься з цього каталогу." diff --git a/distutils/packageindex.po b/distutils/packageindex.po new file mode 100644 index 000000000..b040f81e2 --- /dev/null +++ b/distutils/packageindex.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The Python Package Index (PyPI)" +msgstr "Індекс пакетів Python (PyPI)" + +msgid "" +"The `Python Package Index (PyPI)`_ stores metadata describing distributions " +"packaged with distutils and other publishing tools, as well the distribution " +"archives themselves." +msgstr "" +"`Індекс пакетів Python (PyPI)`_ зберігає метадані, що описують дистрибутиви, " +"упаковані за допомогою distutils та інших інструментів публікації, а також " +"самі архіви дистрибутивів." + +msgid "" +"References to up to date PyPI documentation can be found at :ref:`publishing-" +"python-packages`." +msgstr "" +"Посилання на актуальну документацію PyPI можна знайти за адресою :ref:" +"`publishing-python-packages`." diff --git a/distutils/setupscript.po b/distutils/setupscript.po new file mode 100644 index 000000000..874c5a671 --- /dev/null +++ b/distutils/setupscript.po @@ -0,0 +1,1194 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Writing the Setup Script" +msgstr "Написання сценарію налаштування" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"The setup script is the centre of all activity in building, distributing, " +"and installing modules using the Distutils. The main purpose of the setup " +"script is to describe your module distribution to the Distutils, so that the " +"various commands that operate on your modules do the right thing. As we saw " +"in section :ref:`distutils-simple-example` above, the setup script consists " +"mainly of a call to :func:`setup`, and most information supplied to the " +"Distutils by the module developer is supplied as keyword arguments to :func:" +"`setup`." +msgstr "" +"Сценарій встановлення є центром усієї діяльності зі створення, " +"розповсюдження та встановлення модулів за допомогою Distutils. Основна мета " +"сценарію налаштування — описати розповсюдження ваших модулів у Distutils, " +"щоб різні команди, що працюють із вашими модулями, працювали правильно. Як " +"ми бачили в розділі :ref:`distutils-simple-example` вище, сценарій " +"налаштування складається в основному з виклику :func:`setup`, і більшість " +"інформації, яку надає Distutils розробник модуля, надається як аргументи " +"ключового слова до :func:`setup`." + +msgid "" +"Here's a slightly more involved example, which we'll follow for the next " +"couple of sections: the Distutils' own setup script. (Keep in mind that " +"although the Distutils are included with Python 1.6 and later, they also " +"have an independent existence so that Python 1.5.2 users can use them to " +"install other module distributions. The Distutils' own setup script, shown " +"here, is used to install the package into Python 1.5.2.) ::" +msgstr "" +"Ось трохи складніший приклад, який ми розглянемо в наступних кількох " +"розділах: власний сценарій налаштування Distutils. (Майте на увазі, що " +"незважаючи на те, що Distutils включено до Python 1.6 і пізніших версій, " +"вони також існують незалежно, тому користувачі Python 1.5.2 можуть " +"використовувати їх для встановлення інших дистрибутивів модулів. " +"Використовується власний сценарій налаштування Distutils, показаний тут щоб " +"інсталювати пакет у Python 1.5.2.) ::" + +msgid "" +"There are only two differences between this and the trivial one-file " +"distribution presented in section :ref:`distutils-simple-example`: more " +"metadata, and the specification of pure Python modules by package, rather " +"than by module. This is important since the Distutils consist of a couple " +"of dozen modules split into (so far) two packages; an explicit list of every " +"module would be tedious to generate and difficult to maintain. For more " +"information on the additional meta-data, see section :ref:`meta-data`." +msgstr "" +"Існує лише дві відмінності між цим і тривіальним однофайловим розподілом, " +"представленим у розділі :ref:`distutils-simple-example`: більше метаданих і " +"специфікація чистих модулів Python за пакетом, а не за модулем. Це важливо, " +"оскільки Distutils складається з кількох десятків модулів, розділених на " +"(поки що) два пакети; явний список кожного модуля було б стомлюючим для " +"створення та важким для підтримки. Для отримання додаткової інформації про " +"додаткові метадані перегляньте розділ :ref:`meta-data`." + +msgid "" +"Note that any pathnames (files or directories) supplied in the setup script " +"should be written using the Unix convention, i.e. slash-separated. The " +"Distutils will take care of converting this platform-neutral representation " +"into whatever is appropriate on your current platform before actually using " +"the pathname. This makes your setup script portable across operating " +"systems, which of course is one of the major goals of the Distutils. In " +"this spirit, all pathnames in this document are slash-separated." +msgstr "" +"Зауважте, що будь-які імена шляхів (файлів або каталогів), надані в сценарії " +"встановлення, мають бути записані з використанням конвенції Unix, тобто " +"розділені рискою. Distutils подбає про перетворення цього нейтрального щодо " +"платформи представлення у те, що підходить для вашої поточної платформи, " +"перш ніж фактично використовувати шлях. Це робить ваш сценарій налаштування " +"переносимим між операційними системами, що, звичайно, є однією з головних " +"цілей Distutils. У цьому дусі всі назви шляхів у цьому документі розділені " +"косою рискою." + +msgid "" +"This, of course, only applies to pathnames given to Distutils functions. If " +"you, for example, use standard Python functions such as :func:`glob.glob` " +"or :func:`os.listdir` to specify files, you should be careful to write " +"portable code instead of hardcoding path separators::" +msgstr "" +"Звичайно, це стосується лише імен шляхів, наданих функціям Distutils. Якщо " +"ви, наприклад, використовуєте стандартні функції Python, такі як :func:`glob." +"glob` або :func:`os.listdir` для вказування файлів, вам слід бути " +"обережними, щоб писати портативний код замість жорсткого кодування " +"роздільників шляхів::" + +msgid "Listing whole packages" +msgstr "Перелік цілих пакетів" + +msgid "" +"The ``packages`` option tells the Distutils to process (build, distribute, " +"install, etc.) all pure Python modules found in each package mentioned in " +"the ``packages`` list. In order to do this, of course, there has to be a " +"correspondence between package names and directories in the filesystem. The " +"default correspondence is the most obvious one, i.e. package :mod:" +"`distutils` is found in the directory :file:`distutils` relative to the " +"distribution root. Thus, when you say ``packages = ['foo']`` in your setup " +"script, you are promising that the Distutils will find a file :file:`foo/" +"__init__.py` (which might be spelled differently on your system, but you get " +"the idea) relative to the directory where your setup script lives. If you " +"break this promise, the Distutils will issue a warning but still process the " +"broken package anyway." +msgstr "" +"Параметр ``packages`` повідомляє Distutils обробляти (збирати, " +"розповсюджувати, інсталювати тощо) усі чисті модулі Python, знайдені в " +"кожному пакеті, згаданому у списку ``packages``. Для цього, звичайно, має " +"бути відповідність між назвами пакетів і каталогами у файловій системі. " +"Типова відповідність є найбільш очевидною, тобто пакунок :mod:`distutils` " +"знаходиться в каталозі :file:`distutils` відносно кореня дистрибутива. Таким " +"чином, коли ви кажете ``packages = ['foo']`` у вашому сценарії встановлення, " +"ви обіцяєте, що Distutils знайде файл :file:`foo/__init__.py` (який може " +"бути написаний інакше у вашій системі , але ви зрозуміли) відносно каталогу, " +"де знаходиться ваш сценарій налаштування. Якщо ви порушите цю обіцянку, " +"Distutils видасть попередження, але все одно обробить зламаний пакет." + +msgid "" +"If you use a different convention to lay out your source directory, that's " +"no problem: you just have to supply the ``package_dir`` option to tell the " +"Distutils about your convention. For example, say you keep all Python " +"source under :file:`lib`, so that modules in the \"root package\" (i.e., not " +"in any package at all) are in :file:`lib`, modules in the :mod:`foo` package " +"are in :file:`lib/foo`, and so forth. Then you would put ::" +msgstr "" +"Якщо ви використовуєте іншу угоду для компонування вихідного каталогу, це не " +"проблема: вам просто потрібно вказати опцію ``package_dir``, щоб повідомити " +"Distutils про вашу угоду. Наприклад, припустимо, що ви зберігаєте всі " +"джерела Python у :file:`lib`, так що модулі в \"кореневому пакеті\" (тобто " +"не в будь-якому пакеті взагалі) знаходяться в :file:`lib`, а модулі в Пакет :" +"mod:`foo` міститься в :file:`lib/foo` і так далі. Тоді ви б поставили ::" + +msgid "" +"in your setup script. The keys to this dictionary are package names, and an " +"empty package name stands for the root package. The values are directory " +"names relative to your distribution root. In this case, when you say " +"``packages = ['foo']``, you are promising that the file :file:`lib/foo/" +"__init__.py` exists." +msgstr "" +"у вашому сценарії налаштування. Ключами до цього словника є імена пакетів, а " +"порожня назва пакета означає кореневий пакет. Значення – це імена каталогів " +"відносно кореня дистрибутива. У цьому випадку, коли ви кажете ``packages = " +"['foo']``, ви обіцяєте, що файл :file:`lib/foo/__init__.py` існує." + +msgid "" +"Another possible convention is to put the :mod:`foo` package right in :file:" +"`lib`, the :mod:`foo.bar` package in :file:`lib/bar`, etc. This would be " +"written in the setup script as ::" +msgstr "" +"Іншою можливою угодою є розміщення пакета :mod:`foo` безпосередньо в :file:" +"`lib`, пакета :mod:`foo.bar` в :file:`lib/bar` тощо. Це буде написано в " +"сценарій налаштування як ::" + +msgid "" +"A ``package: dir`` entry in the ``package_dir`` dictionary implicitly " +"applies to all packages below *package*, so the :mod:`foo.bar` case is " +"automatically handled here. In this example, having ``packages = ['foo', " +"'foo.bar']`` tells the Distutils to look for :file:`lib/__init__.py` and :" +"file:`lib/bar/__init__.py`. (Keep in mind that although ``package_dir`` " +"applies recursively, you must explicitly list all packages in ``packages``: " +"the Distutils will *not* recursively scan your source tree looking for any " +"directory with an :file:`__init__.py` file.)" +msgstr "" +"Запис ``package: dir`` у словнику ``package_dir`` неявно застосовується до " +"всіх пакунків нижче *package*, тому тут автоматично обробляється випадок :" +"mod:`foo.bar`. У цьому прикладі наявність ``packages = ['foo', 'foo.bar']`` " +"повідомляє Distutils шукати :file:`lib/__init__.py` і :file:`lib/bar/" +"__init__.py`. (Майте на увазі, що хоча ``package_dir`` застосовується " +"рекурсивно, ви повинні явно перерахувати всі пакунки в ``packages``: " +"Distutils *не* рекурсивно скануватиме ваше вихідне дерево в пошуках будь-" +"якого каталогу з :file:`__init__. py` файл.)" + +msgid "Listing individual modules" +msgstr "Перелік окремих модулів" + +msgid "" +"For a small module distribution, you might prefer to list all modules rather " +"than listing packages---especially the case of a single module that goes in " +"the \"root package\" (i.e., no package at all). This simplest case was " +"shown in section :ref:`distutils-simple-example`; here is a slightly more " +"involved example::" +msgstr "" +"Для невеликого розповсюдження модулів ви можете віддати перевагу переліку " +"всіх модулів, а не переліку пакунків --- особливо у випадку окремого модуля, " +"який міститься в \"кореневому пакеті\" (тобто без пакета взагалі). Цей " +"найпростіший випадок було показано в розділі :ref:`distutils-simple-" +"example`; ось трохи складніший приклад::" + +msgid "" +"This describes two modules, one of them in the \"root\" package, the other " +"in the :mod:`pkg` package. Again, the default package/directory layout " +"implies that these two modules can be found in :file:`mod1.py` and :file:" +"`pkg/mod2.py`, and that :file:`pkg/__init__.py` exists as well. And again, " +"you can override the package/directory correspondence using the " +"``package_dir`` option." +msgstr "" +"Це описує два модулі, один з них у кореневому пакеті, інший у пакеті :mod:" +"`pkg`. Знову ж таки, макет пакета/каталогу за замовчуванням означає, що ці " +"два модулі можна знайти в :file:`mod1.py` і :file:`pkg/mod2.py`, і що :file:" +"`pkg/__init__.py` існує так само. І знову ж таки, ви можете змінити " +"відповідність пакета/каталогу за допомогою параметра ``package_dir``." + +msgid "Describing extension modules" +msgstr "Опис модулів розширення" + +msgid "" +"Just as writing Python extension modules is a bit more complicated than " +"writing pure Python modules, describing them to the Distutils is a bit more " +"complicated. Unlike pure modules, it's not enough just to list modules or " +"packages and expect the Distutils to go out and find the right files; you " +"have to specify the extension name, source file(s), and any compile/link " +"requirements (include directories, libraries to link with, etc.)." +msgstr "" +"Подібно до того, як написання модулів розширення Python є дещо складнішим, " +"ніж написання чистих модулів Python, описувати їх у Distutils дещо " +"складніше. На відміну від чистих модулів, недостатньо просто перерахувати " +"модулі чи пакети й очікувати, що Distutils вийдуть і знайдуть потрібні " +"файли; ви повинні вказати ім’я розширення, вихідний(і) файл(и) та будь-які " +"вимоги до компіляції/посилання (включно з каталогами, бібліотеками для " +"зв’язування тощо)." + +msgid "" +"All of this is done through another keyword argument to :func:`setup`, the " +"``ext_modules`` option. ``ext_modules`` is just a list of :class:" +"`~distutils.core.Extension` instances, each of which describes a single " +"extension module. Suppose your distribution includes a single extension, " +"called :mod:`foo` and implemented by :file:`foo.c`. If no additional " +"instructions to the compiler/linker are needed, describing this extension is " +"quite simple::" +msgstr "" +"Все це робиться за допомогою іншого ключового аргументу :func:`setup`, " +"параметра ``ext_modules``. ``ext_modules`` - це лише список екземплярів :" +"class:`~distutils.core.Extension`, кожен з яких описує окремий модуль " +"розширення. Припустімо, що ваш дистрибутив містить одне розширення, яке " +"називається :mod:`foo` і реалізоване :file:`foo.c`. Якщо додаткові " +"інструкції для компілятора/лінкера не потрібні, описати це розширення досить " +"просто:" + +msgid "" +"The :class:`Extension` class can be imported from :mod:`distutils.core` " +"along with :func:`setup`. Thus, the setup script for a module distribution " +"that contains only this one extension and nothing else might be::" +msgstr "" +"Клас :class:`Extension` можна імпортувати з :mod:`distutils.core` разом із :" +"func:`setup`. Таким чином, сценарій налаштування для розповсюдження модуля, " +"який містить лише це одне розширення і нічого іншого, може бути:" + +msgid "" +"The :class:`Extension` class (actually, the underlying extension-building " +"machinery implemented by the :command:`build_ext` command) supports a great " +"deal of flexibility in describing Python extensions, which is explained in " +"the following sections." +msgstr "" +"Клас :class:`Extension` (фактично базовий механізм створення розширень, " +"реалізований командою :command:`build_ext`) підтримує велику гнучкість в " +"описі розширень Python, що пояснюється в наступних розділах." + +msgid "Extension names and packages" +msgstr "Назви розширень і пакети" + +msgid "" +"The first argument to the :class:`~distutils.core.Extension` constructor is " +"always the name of the extension, including any package names. For " +"example, ::" +msgstr "" +"Першим аргументом конструктора :class:`~distutils.core.Extension` завжди є " +"ім’я розширення, включаючи будь-які імена пакетів. Наприклад, ::" + +msgid "describes an extension that lives in the root package, while ::" +msgstr "описує розширення, яке знаходиться в кореневому пакеті, а ::" + +msgid "" +"describes the same extension in the :mod:`pkg` package. The source files " +"and resulting object code are identical in both cases; the only difference " +"is where in the filesystem (and therefore where in Python's namespace " +"hierarchy) the resulting extension lives." +msgstr "" +"описує те саме розширення в пакеті :mod:`pkg`. Вихідні файли та отриманий " +"об’єктний код ідентичні в обох випадках; єдина різниця полягає в тому, де у " +"файловій системі (і, отже, де в ієрархії простору імен Python) живе " +"результуюче розширення." + +msgid "" +"If you have a number of extensions all in the same package (or all under the " +"same base package), use the ``ext_package`` keyword argument to :func:" +"`setup`. For example, ::" +msgstr "" +"Якщо у вас є декілька розширень в одному пакеті (або всі в одному базовому " +"пакеті), використовуйте аргумент ключового слова ``ext_package`` для :func:" +"`setup`. Наприклад, ::" + +msgid "" +"will compile :file:`foo.c` to the extension :mod:`pkg.foo`, and :file:`bar." +"c` to :mod:`pkg.subpkg.bar`." +msgstr "" +"скомпілює :file:`foo.c` до розширення :mod:`pkg.foo`, а :file:`bar.c` до :" +"mod:`pkg.subpkg.bar`." + +msgid "Extension source files" +msgstr "Вихідні файли розширення" + +msgid "" +"The second argument to the :class:`~distutils.core.Extension` constructor is " +"a list of source files. Since the Distutils currently only support C, C++, " +"and Objective-C extensions, these are normally C/C++/Objective-C source " +"files. (Be sure to use appropriate extensions to distinguish C++ source " +"files: :file:`.cc` and :file:`.cpp` seem to be recognized by both Unix and " +"Windows compilers.)" +msgstr "" +"Другим аргументом конструктора :class:`~distutils.core.Extension` є список " +"вихідних файлів. Оскільки Distutils наразі підтримують лише розширення C, C+" +"+ і Objective-C, зазвичай це вихідні файли C/C++/Objective-C. (Обов’язково " +"використовуйте відповідні розширення, щоб розрізняти вихідні файли C++: :" +"file:`.cc` і :file:`.cpp`, здається, розпізнаються як компіляторами Unix, " +"так і Windows.)" + +msgid "" +"However, you can also include SWIG interface (:file:`.i`) files in the list; " +"the :command:`build_ext` command knows how to deal with SWIG extensions: it " +"will run SWIG on the interface file and compile the resulting C/C++ file " +"into your extension." +msgstr "" +"Однак ви також можете включити файли інтерфейсу SWIG (:file:`.i`) до списку; " +"Команда :command:`build_ext` знає, як працювати з розширеннями SWIG: вона " +"запустить SWIG у файлі інтерфейсу та скомпілює отриманий файл C/C++ у ваше " +"розширення." + +msgid "" +"This warning notwithstanding, options to SWIG can be currently passed like " +"this::" +msgstr "" +"Незважаючи на це попередження, наразі параметри для SWIG можна передати так:" + +msgid "Or on the commandline like this::" +msgstr "Або в командному рядку так::" + +msgid "" +"On some platforms, you can include non-source files that are processed by " +"the compiler and included in your extension. Currently, this just means " +"Windows message text (:file:`.mc`) files and resource definition (:file:`." +"rc`) files for Visual C++. These will be compiled to binary resource (:file:" +"`.res`) files and linked into the executable." +msgstr "" +"На деяких платформах ви можете включити не вихідні файли, які оброблені " +"компілятором і включені у ваше розширення. Наразі це лише файли текстових " +"повідомлень Windows (:file:`.mc`) і файли визначення ресурсів (:file:`.rc`) " +"для Visual C++. Вони будуть скомпільовані у двійкові файли ресурсів (:file:`." +"res`) і пов’язані у виконуваний файл." + +msgid "Preprocessor options" +msgstr "Опції препроцесора" + +msgid "" +"Three optional arguments to :class:`~distutils.core.Extension` will help if " +"you need to specify include directories to search or preprocessor macros to " +"define/undefine: ``include_dirs``, ``define_macros``, and ``undef_macros``." +msgstr "" +"Три необов’язкові аргументи для :class:`~distutils.core.Extension` " +"допоможуть, якщо вам потрібно вказати включати каталоги для пошуку або " +"макроси препроцесора для визначення/невизначення: ``include_dirs``, " +"``define_macros`` і ``undef_macros``." + +msgid "" +"For example, if your extension requires header files in the :file:`include` " +"directory under your distribution root, use the ``include_dirs`` option::" +msgstr "" +"Наприклад, якщо ваше розширення потребує файлів заголовків у каталозі :file:" +"`include` у корені дистрибутива, використовуйте опцію ``include_dirs``::" + +msgid "" +"You can specify absolute directories there; if you know that your extension " +"will only be built on Unix systems with X11R6 installed to :file:`/usr`, you " +"can get away with ::" +msgstr "" +"Там можна вказати абсолютні каталоги; якщо ви знаєте, що ваше розширення " +"буде побудовано лише на системах Unix із X11R6, встановленим у :file:`/usr`, " +"ви можете обійтися ::" + +msgid "" +"You should avoid this sort of non-portable usage if you plan to distribute " +"your code: it's probably better to write C code like ::" +msgstr "" +"Якщо ви плануєте розповсюджувати свій код, вам слід уникати такого " +"непортативного використання: ймовірно, краще писати код на C так::" + +msgid "" +"If you need to include header files from some other Python extension, you " +"can take advantage of the fact that header files are installed in a " +"consistent way by the Distutils :command:`install_headers` command. For " +"example, the Numerical Python header files are installed (on a standard Unix " +"installation) to :file:`/usr/local/include/python1.5/Numerical`. (The exact " +"location will differ according to your platform and Python installation.) " +"Since the Python include directory---\\ :file:`/usr/local/include/python1.5` " +"in this case---is always included in the search path when building Python " +"extensions, the best approach is to write C code like ::" +msgstr "" +"Якщо вам потрібно включити файли заголовків з іншого розширення Python, ви " +"можете скористатися тим фактом, що файли заголовків установлюються узгоджено " +"за допомогою команди Distutils :command:`install_headers`. Наприклад, " +"числові файли заголовків Python інсталюються (у стандартній установці Unix) " +"у :file:`/usr/local/include/python1.5/Numerical`. (Точне розташування буде " +"відрізнятися залежно від вашої платформи та інсталяції Python.) Оскільки " +"каталог включення Python---\\ :file:`/usr/local/include/python1.5` у цьому " +"випадку---завжди включається в Шлях пошуку під час створення розширень " +"Python найкращим підходом є написання коду C, наприклад::" + +msgid "" +"If you must put the :file:`Numerical` include directory right into your " +"header search path, though, you can find that directory using the Distutils :" +"mod:`distutils.sysconfig` module::" +msgstr "" +"Якщо вам потрібно розмістити каталог :file:`Numerical` включення прямо в " +"шлях пошуку заголовка, ви можете знайти цей каталог за допомогою модуля " +"Distutils :mod:`distutils.sysconfig`::" + +msgid "" +"Even though this is quite portable---it will work on any Python " +"installation, regardless of platform---it's probably easier to just write " +"your C code in the sensible way." +msgstr "" +"Незважаючи на те, що це досить портативно --- воно працюватиме на будь-якій " +"інсталяції Python, незалежно від платформи --- мабуть, легше просто написати " +"свій код на C розумним способом." + +msgid "" +"You can define and undefine pre-processor macros with the ``define_macros`` " +"and ``undef_macros`` options. ``define_macros`` takes a list of ``(name, " +"value)`` tuples, where ``name`` is the name of the macro to define (a " +"string) and ``value`` is its value: either a string or ``None``. (Defining " +"a macro ``FOO`` to ``None`` is the equivalent of a bare ``#define FOO`` in " +"your C source: with most compilers, this sets ``FOO`` to the string ``1``.) " +"``undef_macros`` is just a list of macros to undefine." +msgstr "" +"Ви можете визначити та скасувати визначення макросів попередньої обробки за " +"допомогою параметрів ``define_macros`` і ``undef_macros``. ``define_macros`` " +"бере список кортежів ``(name, value)``, де ``name`` є назвою макросу для " +"визначення (рядок), а ``value`` є його значенням: або рядок або ``None``. " +"(Визначення макросу ``FOO`` як ``None`` є еквівалентом простого ``#define " +"FOO`` у вашому вихідному коді C: у більшості компіляторів це встановлює " +"``FOO`` у рядок ``1``.) ``undef_macros`` — це лише список макросів, які " +"потрібно скасувати." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "is the equivalent of having this at the top of every C source file::" +msgstr "" +"це еквівалент розміщення цього у верхній частині кожного вихідного файлу C::" + +msgid "Library options" +msgstr "Параметри бібліотеки" + +msgid "" +"You can also specify the libraries to link against when building your " +"extension, and the directories to search for those libraries. The " +"``libraries`` option is a list of libraries to link against, " +"``library_dirs`` is a list of directories to search for libraries at link-" +"time, and ``runtime_library_dirs`` is a list of directories to search for " +"shared (dynamically loaded) libraries at run-time." +msgstr "" +"Ви також можете вказати бібліотеки для зв’язування під час створення " +"розширення та каталоги для пошуку цих бібліотек. Параметр ``libraries`` — це " +"список бібліотек, з якими потрібно зв’язатися, ``library_dirs`` — це список " +"каталогів для пошуку бібліотек під час підключення, а " +"``runtime_library_dirs`` — це список каталогів для пошуку спільних " +"(динамічно завантажувані) бібліотеки під час виконання." + +msgid "" +"For example, if you need to link against libraries known to be in the " +"standard library search path on target systems ::" +msgstr "" +"Наприклад, якщо вам потрібно зв’язатися з бібліотеками, які, як відомо, " +"знаходяться в стандартному шляху пошуку бібліотек у цільових системах ::" + +msgid "" +"If you need to link with libraries in a non-standard location, you'll have " +"to include the location in ``library_dirs``::" +msgstr "" +"Якщо вам потрібно зв’язатися з бібліотеками в нестандартному розташуванні, " +"вам доведеться включити це розташування в ``library_dirs``::" + +msgid "" +"(Again, this sort of non-portable construct should be avoided if you intend " +"to distribute your code.)" +msgstr "" +"(Знову ж таки, такого роду непереносимих конструкцій слід уникати, якщо ви " +"маєте намір поширювати свій код.)" + +msgid "Other options" +msgstr "Інші варіанти" + +msgid "" +"There are still some other options which can be used to handle special cases." +msgstr "" +"Є ще деякі інші параметри, які можна використовувати для обробки особливих " +"випадків." + +msgid "" +"The ``optional`` option is a boolean; if it is true, a build failure in the " +"extension will not abort the build process, but instead simply not install " +"the failing extension." +msgstr "" +"Параметр ``optional`` є логічним; якщо це правда, помилка збірки в " +"розширенні не призведе до переривання процесу збірки, а натомість просто не " +"встановить помилкове розширення." + +msgid "" +"The ``extra_objects`` option is a list of object files to be passed to the " +"linker. These files must not have extensions, as the default extension for " +"the compiler is used." +msgstr "" +"Параметр ``extra_objects`` - це список об'єктних файлів, які будуть передані " +"компонувальнику. Ці файли не повинні мати розширень, оскільки " +"використовується розширення за замовчуванням для компілятора." + +msgid "" +"``extra_compile_args`` and ``extra_link_args`` can be used to specify " +"additional command line options for the respective compiler and linker " +"command lines." +msgstr "" +"``extra_compile_args`` і ``extra_link_args`` можна використовувати для " +"визначення додаткових параметрів командного рядка для відповідних командних " +"рядків компілятора та компонувальника." + +msgid "" +"``export_symbols`` is only useful on Windows. It can contain a list of " +"symbols (functions or variables) to be exported. This option is not needed " +"when building compiled extensions: Distutils will automatically add " +"``initmodule`` to the list of exported symbols." +msgstr "" +"``export_symbols`` корисний лише в Windows. Він може містити список символів " +"(функцій або змінних), які потрібно експортувати. Ця опція не потрібна під " +"час створення скомпільованих розширень: Distutils автоматично додасть " +"``initmodule`` до списку експортованих символів." + +msgid "" +"The ``depends`` option is a list of files that the extension depends on (for " +"example header files). The build command will call the compiler on the " +"sources to rebuild extension if any on this files has been modified since " +"the previous build." +msgstr "" +"Параметр ``depends`` — це список файлів, від яких залежить розширення " +"(наприклад, файли заголовків). Команда збірки викличе компілятор вихідних " +"кодів, щоб відновити розширення, якщо якісь у цих файлах було змінено з часу " +"попередньої збірки." + +msgid "Relationships between Distributions and Packages" +msgstr "Відносини між дистрибутивами та пакетами" + +msgid "A distribution may relate to packages in three specific ways:" +msgstr "Розповсюдження може стосуватися пакетів трьома конкретними способами:" + +msgid "It can require packages or modules." +msgstr "Для цього можуть знадобитися пакети або модулі." + +msgid "It can provide packages or modules." +msgstr "Він може надавати пакети або модулі." + +msgid "It can obsolete packages or modules." +msgstr "Це може застаріти пакети або модулі." + +msgid "" +"These relationships can be specified using keyword arguments to the :func:" +"`distutils.core.setup` function." +msgstr "" +"Ці зв’язки можна вказати за допомогою ключових аргументів функції :func:" +"`distutils.core.setup`." + +msgid "" +"Dependencies on other Python modules and packages can be specified by " +"supplying the *requires* keyword argument to :func:`setup`. The value must " +"be a list of strings. Each string specifies a package that is required, and " +"optionally what versions are sufficient." +msgstr "" +"Залежності від інших модулів і пакетів Python можна вказати, надавши " +"аргумент ключового слова *requires* для :func:`setup`. Значення має бути " +"списком рядків. Кожен рядок визначає необхідний пакет і, за бажанням, " +"достатні версії." + +msgid "" +"To specify that any version of a module or package is required, the string " +"should consist entirely of the module or package name. Examples include " +"``'mymodule'`` and ``'xml.parsers.expat'``." +msgstr "" +"Щоб вказати, що потрібна будь-яка версія модуля чи пакета, рядок має " +"повністю складатися з назви модуля чи пакета. Приклади включають " +"``'mymodule`` і ``'xml.parsers.expat''``." + +msgid "" +"If specific versions are required, a sequence of qualifiers can be supplied " +"in parentheses. Each qualifier may consist of a comparison operator and a " +"version number. The accepted comparison operators are::" +msgstr "" +"Якщо потрібні певні версії, у дужках можна вказати послідовність " +"кваліфікаторів. Кожен кваліфікатор може складатися з оператора порівняння та " +"номера версії. Прийнятні оператори порівняння:" + +msgid "" +"These can be combined by using multiple qualifiers separated by commas (and " +"optional whitespace). In this case, all of the qualifiers must be matched; " +"a logical AND is used to combine the evaluations." +msgstr "" +"Їх можна комбінувати за допомогою кількох кваліфікаторів, розділених комами " +"(і необов’язковими пробілами). У цьому випадку всі кваліфікатори повинні " +"збігатися; логічне І використовується для об’єднання оцінок." + +msgid "Let's look at a bunch of examples:" +msgstr "Давайте розглянемо кілька прикладів:" + +msgid "Requires Expression" +msgstr "Вимагає експресії" + +msgid "Explanation" +msgstr "Пояснення" + +msgid "``==1.0``" +msgstr "``==1,0``" + +msgid "Only version ``1.0`` is compatible" +msgstr "Лише версія ``1.0`` сумісна" + +msgid "``>1.0, !=1.5.1, <2.0``" +msgstr "``>1.0, !=1.5.1, <2.0``" + +msgid "" +"Any version after ``1.0`` and before ``2.0`` is compatible, except ``1.5.1``" +msgstr "Будь-яка версія після ``1.0`` і до ``2.0`` сумісна, крім ``1.5.1``" + +msgid "" +"Now that we can specify dependencies, we also need to be able to specify " +"what we provide that other distributions can require. This is done using " +"the *provides* keyword argument to :func:`setup`. The value for this keyword " +"is a list of strings, each of which names a Python module or package, and " +"optionally identifies the version. If the version is not specified, it is " +"assumed to match that of the distribution." +msgstr "" +"Тепер, коли ми можемо вказати залежності, нам також потрібно мати можливість " +"вказати, що ми надаємо, що можуть вимагати інші дистрибутиви. Це робиться за " +"допомогою ключового аргументу *provides* для :func:`setup`. Значення цього " +"ключового слова — це список рядків, кожен з яких іменує модуль або пакет " +"Python і, за бажанням, визначає версію. Якщо версія не вказана, вважається, " +"що вона відповідає версії дистрибутива." + +msgid "Some examples:" +msgstr "Деякі приклади:" + +msgid "Provides Expression" +msgstr "Забезпечує експресію" + +msgid "``mypkg``" +msgstr "``mypkg``" + +msgid "Provide ``mypkg``, using the distribution version" +msgstr "Надайте ``mypkg``, використовуючи версію розповсюдження" + +msgid "``mypkg (1.1)``" +msgstr "``mypkg (1.1)``" + +msgid "Provide ``mypkg`` version 1.1, regardless of the distribution version" +msgstr "Надайте ``mypkg`` версії 1.1, незалежно від версії дистрибутива" + +msgid "" +"A package can declare that it obsoletes other packages using the *obsoletes* " +"keyword argument. The value for this is similar to that of the *requires* " +"keyword: a list of strings giving module or package specifiers. Each " +"specifier consists of a module or package name optionally followed by one or " +"more version qualifiers. Version qualifiers are given in parentheses after " +"the module or package name." +msgstr "" +"Пакунок може оголосити, що він застарів іншим пакункам за допомогою " +"аргументу ключового слова *obsoletes*. Значення для цього подібне до " +"значення ключового слова *requires*: список рядків, що надають специфікатори " +"модуля або пакета. Кожен специфікатор складається з назви модуля або пакета, " +"за якою необов’язково слідують один або більше кваліфікаторів версії. " +"Специфікатори версії наведені в круглих дужках після назви модуля або пакета." + +msgid "" +"The versions identified by the qualifiers are those that are obsoleted by " +"the distribution being described. If no qualifiers are given, all versions " +"of the named module or package are understood to be obsoleted." +msgstr "" +"Версії, визначені кваліфікаторами, є тими, які застаріли через описуваний " +"розподіл. Якщо кваліфікатори не вказано, усі версії названого модуля або " +"пакета вважаються застарілими." + +msgid "Installing Scripts" +msgstr "Встановлення скриптів" + +msgid "" +"So far we have been dealing with pure and non-pure Python modules, which are " +"usually not run by themselves but imported by scripts." +msgstr "" +"Поки що ми мали справу з чистими та нечистими модулями Python, які зазвичай " +"не запускаються самостійно, а імпортуються за допомогою сценаріїв." + +msgid "" +"Scripts are files containing Python source code, intended to be started from " +"the command line. Scripts don't require Distutils to do anything very " +"complicated. The only clever feature is that if the first line of the script " +"starts with ``#!`` and contains the word \"python\", the Distutils will " +"adjust the first line to refer to the current interpreter location. By " +"default, it is replaced with the current interpreter location. The :option:" +"`!--executable` (or :option:`!-e`) option will allow the interpreter path to " +"be explicitly overridden." +msgstr "" +"Сценарії — це файли, що містять вихідний код Python і призначені для запуску " +"з командного рядка. Сценарії не вимагають від Distutils виконання чогось " +"дуже складного. Єдина розумна функція полягає в тому, що якщо перший рядок " +"сценарію починається з ``#!`` і містить слово \"python\", Distutils " +"відкоригує перший рядок відповідно до поточного розташування інтерпретатора. " +"За замовчуванням його замінено на поточне розташування інтерпретатора. " +"Параметр :option:`!--executable` (або :option:`!-e`) дозволить явно " +"перевизначати шлях інтерпретатора." + +msgid "" +"The ``scripts`` option simply is a list of files to be handled in this way. " +"From the PyXML setup script::" +msgstr "" +"Параметр ``scripts`` — це просто список файлів, які потрібно обробляти таким " +"чином. Зі сценарію налаштування PyXML::" + +msgid "" +"All the scripts will also be added to the ``MANIFEST`` file if no template " +"is provided. See :ref:`manifest`." +msgstr "" +"Усі сценарії також буде додано до файлу ``MANIFEST``, якщо шаблон не надано. " +"Див. :ref:`manifest`." + +msgid "Installing Package Data" +msgstr "Встановлення пакетних даних" + +msgid "" +"Often, additional files need to be installed into a package. These files " +"are often data that's closely related to the package's implementation, or " +"text files containing documentation that might be of interest to programmers " +"using the package. These files are called :dfn:`package data`." +msgstr "" +"Часто в пакет потрібно інсталювати додаткові файли. Ці файли часто є даними, " +"тісно пов’язаними з реалізацією пакета, або текстовими файлами, що містять " +"документацію, яка може зацікавити програмістів, які використовують пакет. Ці " +"файли називаються :dfn:`package data`." + +msgid "" +"Package data can be added to packages using the ``package_data`` keyword " +"argument to the :func:`setup` function. The value must be a mapping from " +"package name to a list of relative path names that should be copied into the " +"package. The paths are interpreted as relative to the directory containing " +"the package (information from the ``package_dir`` mapping is used if " +"appropriate); that is, the files are expected to be part of the package in " +"the source directories. They may contain glob patterns as well." +msgstr "" +"Дані пакетів можна додати до пакетів за допомогою ключового аргументу " +"``package_data`` функції :func:`setup`. Значення має бути зіставленням назви " +"пакета зі списком відносних імен шляхів, які слід скопіювати в пакет. Шляхи " +"інтерпретуються як відносні до каталогу, що містить пакунок (інформація з " +"відображення ``package_dir`` використовується, якщо це доречно); тобто " +"очікується, що файли будуть частиною пакета у вихідних каталогах. Вони також " +"можуть містити глобуси." + +msgid "" +"The path names may contain directory portions; any necessary directories " +"will be created in the installation." +msgstr "" +"Назви шляхів можуть містити частини каталогу; усі необхідні каталоги будуть " +"створені під час встановлення." + +msgid "" +"For example, if a package should contain a subdirectory with several data " +"files, the files can be arranged like this in the source tree::" +msgstr "" +"Наприклад, якщо пакунок має містити підкаталог із кількома файлами даних, " +"файли можна розташувати таким чином у вихідному дереві:" + +msgid "The corresponding call to :func:`setup` might be::" +msgstr "Відповідний виклик :func:`setup` може бути::" + +msgid "" +"All the files that match ``package_data`` will be added to the ``MANIFEST`` " +"file if no template is provided. See :ref:`manifest`." +msgstr "" +"Усі файли, які відповідають ``package_data``, будуть додані до ``MANIFEST`` " +"файлу, якщо шаблон не надано. Див. :ref:`manifest`." + +msgid "Installing Additional Files" +msgstr "Встановлення додаткових файлів" + +msgid "" +"The ``data_files`` option can be used to specify additional files needed by " +"the module distribution: configuration files, message catalogs, data files, " +"anything which doesn't fit in the previous categories." +msgstr "" +"Параметр ``data_files`` можна використовувати для визначення додаткових " +"файлів, необхідних для розповсюдження модуля: конфігураційні файли, каталоги " +"повідомлень, файли даних, будь-що, що не підходить до попередніх категорій." + +msgid "" +"``data_files`` specifies a sequence of (*directory*, *files*) pairs in the " +"following way::" +msgstr "" +"``data_files`` визначає послідовність пар (*каталог*, *файли*) таким чином:" + +msgid "" +"Each (*directory*, *files*) pair in the sequence specifies the installation " +"directory and the files to install there." +msgstr "" +"Кожна пара (*каталог*, *файли*) у послідовності визначає каталог інсталяції " +"та файли для інсталяції." + +msgid "" +"Each file name in *files* is interpreted relative to the :file:`setup.py` " +"script at the top of the package source distribution. Note that you can " +"specify the directory where the data files will be installed, but you cannot " +"rename the data files themselves." +msgstr "" +"Кожне ім’я файлу в *files* інтерпретується відносно сценарію :file:`setup." +"py` у верхній частині вихідного коду пакета. Зверніть увагу, що ви можете " +"вказати каталог, куди будуть встановлені файли даних, але ви не можете " +"перейменувати самі файли даних." + +msgid "" +"The *directory* should be a relative path. It is interpreted relative to the " +"installation prefix (Python's ``sys.prefix`` for system installations; " +"``site.USER_BASE`` for user installations). Distutils allows *directory* to " +"be an absolute installation path, but this is discouraged since it is " +"incompatible with the wheel packaging format. No directory information from " +"*files* is used to determine the final location of the installed file; only " +"the name of the file is used." +msgstr "" +"*Каталог* має бути відносним шляхом. Він інтерпретується відносно префікса " +"встановлення (``sys.prefix`` Python для системних установок; ``site." +"USER_BASE`` для установок користувача). Distutils дозволяє *каталог* бути " +"абсолютним шляхом встановлення, але це не рекомендується, оскільки це " +"несумісно з форматом упаковки коліс. Для визначення кінцевого розташування " +"встановленого файлу інформація про каталог із *файлів* не використовується; " +"використовується лише ім'я файлу." + +msgid "" +"You can specify the ``data_files`` options as a simple sequence of files " +"without specifying a target directory, but this is not recommended, and the :" +"command:`install` command will print a warning in this case. To install data " +"files directly in the target directory, an empty string should be given as " +"the directory." +msgstr "" +"Ви можете вказати параметри ``data_files`` як просту послідовність файлів " +"без вказівки цільового каталогу, але це не рекомендується, і команда :" +"command:`install` у цьому випадку виведе попередження. Щоб установити файли " +"даних безпосередньо в цільовий каталог, як каталог слід вказати порожній " +"рядок." + +msgid "" +"All the files that match ``data_files`` will be added to the ``MANIFEST`` " +"file if no template is provided. See :ref:`manifest`." +msgstr "" +"Усі файли, які відповідають ``data_files``, будуть додані до ``MANIFEST`` " +"файлу, якщо шаблон не надано. Див. :ref:`manifest`." + +msgid "Additional meta-data" +msgstr "Додаткові метадані" + +msgid "" +"The setup script may include additional meta-data beyond the name and " +"version. This information includes:" +msgstr "" +"Сценарій налаштування може містити додаткові метадані, окрім імені та " +"версії. Ця інформація включає:" + +msgid "Meta-Data" +msgstr "Мета-дані" + +msgid "Description" +msgstr "опис" + +msgid "Value" +msgstr "Значення" + +msgid "Notes" +msgstr "Примітки" + +msgid "``name``" +msgstr "``ім'я``" + +msgid "name of the package" +msgstr "назву пакета" + +msgid "short string" +msgstr "короткий рядок" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``version``" +msgstr "``версія``" + +msgid "version of this release" +msgstr "версія цього випуску" + +msgid "(1)(2)" +msgstr "(1)(2)" + +msgid "``author``" +msgstr "``автор``" + +msgid "package author's name" +msgstr "ім'я автора пакета" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "``author_email``" +msgstr "``author_email``" + +msgid "email address of the package author" +msgstr "адреса електронної пошти автора пакета" + +msgid "email address" +msgstr "адреса електронної пошти" + +msgid "``maintainer``" +msgstr "``підтримувач``" + +msgid "package maintainer's name" +msgstr "ім'я супроводжуючого пакета" + +msgid "``maintainer_email``" +msgstr "``maintainer_email``" + +msgid "email address of the package maintainer" +msgstr "адреса електронної пошти супроводжуючого пакет" + +msgid "``url``" +msgstr "``url``" + +msgid "home page for the package" +msgstr "домашня сторінка для пакета" + +msgid "URL" +msgstr "URL" + +msgid "``description``" +msgstr "``опис``" + +msgid "short, summary description of the package" +msgstr "короткий короткий опис пакету" + +msgid "``long_description``" +msgstr "``довгий_опис``" + +msgid "longer description of the package" +msgstr "додатковий опис пакета" + +msgid "long string" +msgstr "довгий рядок" + +msgid "\\(4)" +msgstr "\\(4)" + +msgid "``download_url``" +msgstr "URL-адреса_завантаження" + +msgid "location where the package may be downloaded" +msgstr "місце, де можна завантажити пакет" + +msgid "``classifiers``" +msgstr "``класифікатори``" + +msgid "a list of classifiers" +msgstr "список класифікаторів" + +msgid "list of strings" +msgstr "список рядків" + +msgid "(6)(7)" +msgstr "(6)(7)" + +msgid "``platforms``" +msgstr "``платформи``" + +msgid "a list of platforms" +msgstr "список платформ" + +msgid "(6)(8)" +msgstr "(6)(8)" + +msgid "``keywords``" +msgstr "``ключові слова``" + +msgid "a list of keywords" +msgstr "список ключових слів" + +msgid "``license``" +msgstr "``ліцензія``" + +msgid "license for the package" +msgstr "ліцензія на пакет" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "These fields are required." +msgstr "Ці поля є обов’язковими." + +msgid "" +"It is recommended that versions take the form *major.minor[.patch[.sub]]*." +msgstr "Рекомендується, щоб версії мали форму *major.minor[.patch[.sub]]*." + +msgid "" +"Either the author or the maintainer must be identified. If maintainer is " +"provided, distutils lists it as the author in :file:`PKG-INFO`." +msgstr "" +"Має бути ідентифікований або автор, або супроводжувач. Якщо вказано " +"супроводжуючого, distutils вказує його як автора в :file:`PKG-INFO`." + +msgid "" +"The ``long_description`` field is used by PyPI when you publish a package, " +"to build its project page." +msgstr "" +"Поле ``long_description`` використовується PyPI, коли ви публікуєте пакет, " +"для створення його сторінки проекту." + +msgid "" +"The ``license`` field is a text indicating the license covering the package " +"where the license is not a selection from the \"License\" Trove classifiers. " +"See the ``Classifier`` field. Notice that there's a ``licence`` distribution " +"option which is deprecated but still acts as an alias for ``license``." +msgstr "" +"Поле \"ліцензія\" — це текст, що вказує на ліцензію, що охоплює пакет, де " +"ліцензія не є вибором із класифікаторів Trove \"Ліцензії\". Перегляньте поле " +"``Класифікатор``. Зауважте, що існує опція розповсюдження ``ліцензія``, яка " +"є застарілою, але все ще діє як псевдонім для ``ліцензії``." + +msgid "This field must be a list." +msgstr "Це поле має бути списком." + +msgid "" +"The valid classifiers are listed on `PyPI `_." +msgstr "" +"Дійсні класифікатори перераховані на `PyPI `_." + +msgid "" +"To preserve backward compatibility, this field also accepts a string. If you " +"pass a comma-separated string ``'foo, bar'``, it will be converted to " +"``['foo', 'bar']``, Otherwise, it will be converted to a list of one string." +msgstr "" +"Щоб зберегти зворотну сумісність, це поле також приймає рядок. Якщо ви " +"передасте розділений комами рядок ``'foo, bar''``, він буде перетворений на " +"``['foo', 'bar']``, інакше він буде перетворений на список з одного рядка." + +msgid "'short string'" +msgstr "'короткий рядок'" + +msgid "A single line of text, not more than 200 characters." +msgstr "Один рядок тексту, не більше 200 символів." + +msgid "'long string'" +msgstr "\"довгий рядок\"" + +msgid "" +"Multiple lines of plain text in reStructuredText format (see http://docutils." +"sourceforge.net/)." +msgstr "" +"Кілька рядків звичайного тексту у форматі reStructuredText (див. http://" +"docutils.sourceforge.net/)." + +msgid "'list of strings'" +msgstr "'список рядків'" + +msgid "See below." +msgstr "Дивіться нижче." + +msgid "" +"Encoding the version information is an art in itself. Python packages " +"generally adhere to the version format *major.minor[.patch][sub]*. The major " +"number is 0 for initial, experimental releases of software. It is " +"incremented for releases that represent major milestones in a package. The " +"minor number is incremented when important new features are added to the " +"package. The patch number increments when bug-fix releases are made. " +"Additional trailing version information is sometimes used to indicate sub-" +"releases. These are \"a1,a2,...,aN\" (for alpha releases, where " +"functionality and API may change), \"b1,b2,...,bN\" (for beta releases, " +"which only fix bugs) and \"pr1,pr2,...,prN\" (for final pre-release release " +"testing). Some examples:" +msgstr "" +"Кодування інформації про версію — це саме по собі мистецтво. Пакунки Python " +"зазвичай мають формат версії *major.minor[.patch][sub]*. Основне число — 0 " +"для початкових, експериментальних версій програмного забезпечення. Він " +"збільшується для випусків, які представляють основні віхи в пакеті. Менше " +"число збільшується, коли до пакета додаються важливі нові функції. Номер " +"виправлення збільшується, коли випускаються випуски виправлень помилок. " +"Додаткова кінцева інформація про версію іноді використовується для " +"позначення підрелізів. Це \"a1,a2,...,aN\" (для альфа-версій, де " +"функціональність і API можуть змінюватися), \"b1,b2,...,bN\" (для бета-" +"версій, які лише виправляють помилки) і \"pr1 ,pr2,...,prN\" (для " +"остаточного тестування перед випуском). Деякі приклади:" + +msgid "0.1.0" +msgstr "0.1.0" + +msgid "the first, experimental release of a package" +msgstr "перший, експериментальний випуск пакету" + +msgid "1.0.1a2" +msgstr "1.0.1a2" + +msgid "the second alpha release of the first patch version of 1.0" +msgstr "друга альфа-версія першої версії патча 1.0" + +msgid "``classifiers`` must be specified in a list::" +msgstr "``класифікатори`` повинні бути вказані в списку::" + +msgid "" +":class:`~distutils.core.setup` now warns when ``classifiers``, ``keywords`` " +"or ``platforms`` fields are not specified as a list or a string." +msgstr "" +":class:`~distutils.core.setup` тепер попереджає, коли поля " +"``класифікатори``, ``ключові слова`` або ``платформи`` не вказані як список " +"або рядок." + +msgid "Debugging the setup script" +msgstr "Налагодження сценарію налаштування" + +msgid "" +"Sometimes things go wrong, and the setup script doesn't do what the " +"developer wants." +msgstr "" +"Іноді щось йде не так, і сценарій налаштування не виконує те, що хоче " +"розробник." + +msgid "" +"Distutils catches any exceptions when running the setup script, and print a " +"simple error message before the script is terminated. The motivation for " +"this behaviour is to not confuse administrators who don't know much about " +"Python and are trying to install a package. If they get a big long " +"traceback from deep inside the guts of Distutils, they may think the package " +"or the Python installation is broken because they don't read all the way " +"down to the bottom and see that it's a permission problem." +msgstr "" +"Distutils вловлює будь-які винятки під час запуску сценарію налаштування та " +"друкує просте повідомлення про помилку перед завершенням сценарію. Мотивація " +"такої поведінки полягає в тому, щоб не заплутати адміністраторів, які мало " +"знають про Python і намагаються встановити пакет. Якщо вони отримають велике " +"довге відстеження з глибини нутрощів Distutils, вони можуть подумати, що " +"пакет або інсталяція Python зламані, оскільки вони не прочитали весь шлях до " +"кінця й побачать, що це проблема з дозволом." + +msgid "" +"On the other hand, this doesn't help the developer to find the cause of the " +"failure. For this purpose, the :envvar:`DISTUTILS_DEBUG` environment " +"variable can be set to anything except an empty string, and distutils will " +"now print detailed information about what it is doing, dump the full " +"traceback when an exception occurs, and print the whole command line when an " +"external program (like a C compiler) fails." +msgstr "" +"З іншого боку, це не допомагає розробнику знайти причину збою. З цією метою " +"для змінної середовища :envvar:`DISTUTILS_DEBUG` можна встановити будь-яке " +"значення, окрім порожнього рядка, і distutils тепер друкуватиме детальну " +"інформацію про те, що він робить, створюватиме повну трасування, коли " +"станеться виняткова ситуація, і друкуватиме всю команду рядок, коли зовнішня " +"програма (наприклад, компілятор C) дає збій." diff --git a/distutils/sourcedist.po b/distutils/sourcedist.po new file mode 100644 index 000000000..eb0c054b4 --- /dev/null +++ b/distutils/sourcedist.po @@ -0,0 +1,493 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Creating a Source Distribution" +msgstr "Створення вихідного розповсюдження" + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"As shown in section :ref:`distutils-simple-example`, you use the :command:" +"`sdist` command to create a source distribution. In the simplest case, ::" +msgstr "" +"Як показано в розділі :ref:`distutils-simple-example`, ви використовуєте " +"команду :command:`sdist` для створення вихідного дистрибутива. У " +"найпростішому випадку::" + +msgid "" +"(assuming you haven't specified any :command:`sdist` options in the setup " +"script or config file), :command:`sdist` creates the archive of the default " +"format for the current platform. The default format is a gzip'ed tar file (:" +"file:`.tar.gz`) on Unix, and ZIP file on Windows." +msgstr "" +"(припустимо, що ви не вказали параметри :command:`sdist` у сценарії " +"встановлення чи файлі конфігурації), :command:`sdist` створює архів формату " +"за замовчуванням для поточної платформи. Типовим форматом є файл tar у " +"форматі gzip (:file:`.tar.gz`) в Unix і ZIP-файл у Windows." + +msgid "" +"You can specify as many formats as you like using the :option:`!--formats` " +"option, for example::" +msgstr "" +"Ви можете вказати скільки завгодно форматів за допомогою опції :option:`!--" +"formats`, наприклад::" + +msgid "to create a gzipped tarball and a zip file. The available formats are:" +msgstr "щоб створити стиснутий архів і файл zip. Доступні формати:" + +msgid "Format" +msgstr "Формат" + +msgid "Description" +msgstr "Опис" + +msgid "Notes" +msgstr "Примітки" + +msgid "``zip``" +msgstr "``zip``" + +msgid "zip file (:file:`.zip`)" +msgstr "zip-файл (:file:`.zip`)" + +msgid "(1),(3)" +msgstr "(1), (3)" + +msgid "``gztar``" +msgstr "``gztar``" + +msgid "gzip'ed tar file (:file:`.tar.gz`)" +msgstr "gzip-ований tar-файл (:file:`.tar.gz`)" + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "``bztar``" +msgstr "``bztar``" + +msgid "bzip2'ed tar file (:file:`.tar.bz2`)" +msgstr "bzip2-файл tar (:file:`.tar.bz2`)" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "``xztar``" +msgstr "``xztar``" + +msgid "xz'ed tar file (:file:`.tar.xz`)" +msgstr "xz-ваний tar-файл (:file:`.tar.xz`)" + +msgid "``ztar``" +msgstr "``ztar``" + +msgid "compressed tar file (:file:`.tar.Z`)" +msgstr "стиснутий файл tar (:file:`.tar.Z`)" + +msgid "(4),(5)" +msgstr "(4), (5)" + +msgid "``tar``" +msgstr "``tar``" + +msgid "tar file (:file:`.tar`)" +msgstr "tar-файл (:file:`.tar`)" + +msgid "Added support for the ``xztar`` format." +msgstr "Додано підтримку формату ``xztar``." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "default on Windows" +msgstr "за замовчуванням у Windows" + +msgid "default on Unix" +msgstr "за замовчуванням в Unix" + +msgid "" +"requires either external :program:`zip` utility or :mod:`zipfile` module " +"(part of the standard Python library since Python 1.6)" +msgstr "" +"вимагає зовнішньої утиліти :program:`zip` або модуля :mod:`zipfile` (частина " +"стандартної бібліотеки Python, починаючи з Python 1.6)" + +msgid "" +"requires the :program:`compress` program. Notice that this format is now " +"pending for deprecation and will be removed in the future versions of Python." +msgstr "" +"потрібна програма :program:`compress`. Зверніть увагу, що цей формат зараз " +"очікує на припинення підтримки та буде видалено в наступних версіях Python." + +msgid "" +"deprecated by `PEP 527 `_; `PyPI `_ only accepts ``.zip`` and ``.tar.gz`` files." +msgstr "" + +msgid "" +"When using any ``tar`` format (``gztar``, ``bztar``, ``xztar``, ``ztar`` or " +"``tar``), under Unix you can specify the ``owner`` and ``group`` names that " +"will be set for each member of the archive." +msgstr "" +"При використанні будь-якого ``tar`` формату (``gztar``, ``bztar``, " +"``xztar``, ``ztar`` або ``tar``), в Unix ви можете вказати імена ``owner`` " +"та ``group``, які будуть встановлені для кожного члена архіву." + +msgid "For example, if you want all files of the archive to be owned by root::" +msgstr "Наприклад, якщо ви хочете, щоб усі файли архіву належали root:" + +msgid "Specifying the files to distribute" +msgstr "Визначення файлів для розповсюдження" + +msgid "" +"If you don't supply an explicit list of files (or instructions on how to " +"generate one), the :command:`sdist` command puts a minimal default set into " +"the source distribution:" +msgstr "" +"Якщо ви не надаєте явного списку файлів (або інструкцій щодо того, як його " +"створити), команда :command:`sdist` розміщує мінімальний набір за " +"замовчуванням у вихідному дистрибутиві:" + +msgid "" +"all Python source files implied by the ``py_modules`` and ``packages`` " +"options" +msgstr "" +"усі вихідні файли Python, передбачені параметрами ``py_modules`` і " +"``packages``" + +msgid "" +"all C source files mentioned in the ``ext_modules`` or ``libraries`` options" +msgstr "" +"усі вихідні файли C, згадані в параметрах ``ext_modules`` або ``libraries``" + +msgid "" +"scripts identified by the ``scripts`` option See :ref:`distutils-installing-" +"scripts`." +msgstr "" +"сценарії, визначені параметром ``scripts`` Див. :ref:`distutils-installing-" +"scripts`." + +msgid "" +"anything that looks like a test script: :file:`test/test\\*.py` (currently, " +"the Distutils don't do anything with test scripts except include them in " +"source distributions, but in the future there will be a standard for testing " +"Python module distributions)" +msgstr "" +"усе, що виглядає як тестовий сценарій: :file:`test/test\\*.py` (наразі " +"Distutils нічого не роблять із тестовими сценаріями, окрім включення їх у " +"вихідні дистрибутиви, але в майбутньому буде стандарт для тестування " +"дистрибутивів модулів Python)" + +msgid "" +"Any of the standard README files (:file:`README`, :file:`README.txt`, or :" +"file:`README.rst`), :file:`setup.py` (or whatever you called your setup " +"script), and :file:`setup.cfg`." +msgstr "" +"Будь-який із стандартних файлів README (:file:`README`, :file:`README.txt` " +"або :file:`README.rst`), :file:`setup.py` (або як ви називаєте свій сценарій " +"налаштування ) і :file:`setup.cfg`." + +msgid "" +"all files that matches the ``package_data`` metadata. See :ref:`distutils-" +"installing-package-data`." +msgstr "" +"усі файли, які відповідають метаданим ``package_data``. Перегляньте :ref:" +"`distutils-installing-package-data`." + +msgid "" +"all files that matches the ``data_files`` metadata. See :ref:`distutils-" +"additional-files`." +msgstr "" +"усі файли, які відповідають метаданим ``data_files``. Перегляньте :ref:" +"`distutils-additional-files`." + +msgid "" +"Sometimes this is enough, but usually you will want to specify additional " +"files to distribute. The typical way to do this is to write a *manifest " +"template*, called :file:`MANIFEST.in` by default. The manifest template is " +"just a list of instructions for how to generate your manifest file, :file:" +"`MANIFEST`, which is the exact list of files to include in your source " +"distribution. The :command:`sdist` command processes this template and " +"generates a manifest based on its instructions and what it finds in the " +"filesystem." +msgstr "" +"Іноді цього достатньо, але зазвичай ви захочете вказати додаткові файли для " +"розповсюдження. Типовий спосіб зробити це — написати *шаблон маніфесту*, " +"який за замовчуванням називається :file:`MANIFEST.in`. Шаблон маніфесту — це " +"лише список інструкцій щодо того, як створити файл маніфесту, :file:" +"`MANIFEST`, який є точним списком файлів, які потрібно включити у вихідний " +"дистрибутив. Команда :command:`sdist` обробляє цей шаблон і створює маніфест " +"на основі його інструкцій і того, що вона знаходить у файловій системі." + +msgid "" +"If you prefer to roll your own manifest file, the format is simple: one " +"filename per line, regular files (or symlinks to them) only. If you do " +"supply your own :file:`MANIFEST`, you must specify everything: the default " +"set of files described above does not apply in this case." +msgstr "" +"Якщо ви віддаєте перевагу створенню власного файлу маніфесту, формат " +"простий: одна назва файлу на рядок, лише звичайні файли (або символічні " +"посилання на них). Якщо ви надаєте власний :file:`MANIFEST`, ви повинні " +"вказати все: набір файлів за замовчуванням, описаний вище, у цьому випадку " +"не застосовується." + +msgid "" +"An existing generated :file:`MANIFEST` will be regenerated without :command:" +"`sdist` comparing its modification time to the one of :file:`MANIFEST.in` " +"or :file:`setup.py`." +msgstr "" +"Існуючий згенерований :file:`MANIFEST` буде повторно згенерований без :" +"command:`sdist` порівняння часу його модифікації з часом :file:`MANIFEST.in` " +"або :file:`setup.py`." + +msgid "" +":file:`MANIFEST` files start with a comment indicating they are generated. " +"Files without this comment are not overwritten or removed." +msgstr "" +"Файли :file:`MANIFEST` починаються з коментаря, який вказує на те, що вони " +"створені. Файли без цього коментаря не перезаписуються та не видаляються." + +msgid "" +":command:`sdist` will read a :file:`MANIFEST` file if no :file:`MANIFEST.in` " +"exists, like it used to do." +msgstr "" +":command:`sdist` прочитає файл :file:`MANIFEST`, якщо не існує :file:" +"`MANIFEST.in`, як це було раніше." + +msgid "" +":file:`README.rst` is now included in the list of distutils standard READMEs." +msgstr "" +":file:`README.rst` тепер включено до списку стандартних файлів README " +"distutils." + +msgid "" +"The manifest template has one command per line, where each command specifies " +"a set of files to include or exclude from the source distribution. For an " +"example, again we turn to the Distutils' own manifest template:" +msgstr "" +"У шаблоні маніфесту є одна команда на рядок, де кожна команда визначає набір " +"файлів, які потрібно включити або виключити з вихідного розповсюдження. Для " +"прикладу ми знову звернемося до власного шаблону маніфесту Distutils:" + +msgid "" +"The meanings should be fairly clear: include all files in the distribution " +"root matching :file:`\\*.txt`, all files anywhere under the :file:`examples` " +"directory matching :file:`\\*.txt` or :file:`\\*.py`, and exclude all " +"directories matching :file:`examples/sample?/build`. All of this is done " +"*after* the standard include set, so you can exclude files from the standard " +"set with explicit instructions in the manifest template. (Or, you can use " +"the :option:`!--no-defaults` option to disable the standard set entirely.) " +"There are several other commands available in the manifest template mini-" +"language; see section :ref:`sdist-cmd`." +msgstr "" +"Значення мають бути досить зрозумілими: включити всі файли в кореневій " +"версії дистрибутива, відповідні :file:`\\*.txt`, усі файли будь-де в " +"каталозі :file:`examples`, відповідні :file:`\\*.txt` або :file:`\\*.py` і " +"виключити всі каталоги, що відповідають :file:`examples/sample?/build`. Усе " +"це робиться *після* стандартного набору включення, тому ви можете виключати " +"файли зі стандартного набору за допомогою чітких інструкцій у шаблоні " +"маніфесту. (Або ви можете використати опцію :option:`!--no-defaults`, щоб " +"повністю вимкнути стандартний набір.) У міні-мові шаблону маніфесту є кілька " +"інших команд; див. розділ :ref:`sdist-cmd`." + +msgid "" +"The order of commands in the manifest template matters: initially, we have " +"the list of default files as described above, and each command in the " +"template adds to or removes from that list of files. Once we have fully " +"processed the manifest template, we remove files that should not be included " +"in the source distribution:" +msgstr "" +"Порядок команд у шаблоні маніфесту має значення: спочатку ми маємо список " +"файлів за замовчуванням, як описано вище, і кожна команда в шаблоні додає " +"або видаляє з цього списку файли. Після того, як ми повністю обробили шаблон " +"маніфесту, ми видаляємо файли, які не повинні бути включені до вихідного " +"дистрибутива:" + +msgid "all files in the Distutils \"build\" tree (default :file:`build/`)" +msgstr "усі файли в дереві збірок Distutils (за замовчуванням :file:`build/`)" + +msgid "" +"all files in directories named :file:`RCS`, :file:`CVS`, :file:`.svn`, :file:" +"`.hg`, :file:`.git`, :file:`.bzr` or :file:`_darcs`" +msgstr "" +"усі файли в каталогах з назвами :file:`RCS`, :file:`CVS`, :file:`.svn`, :" +"file:`.hg`, :file:`.git`, :file:`.bzr` або :file:`_darcs`" + +msgid "" +"Now we have our complete list of files, which is written to the manifest for " +"future reference, and then used to build the source distribution archive(s)." +msgstr "" +"Тепер у нас є повний список файлів, який записується в маніфест для " +"подальшого використання, а потім використовується для створення архіву(ів) " +"вихідного дистрибутива." + +msgid "" +"You can disable the default set of included files with the :option:`!--no-" +"defaults` option, and you can disable the standard exclude set with :option:" +"`!--no-prune`." +msgstr "" +"Ви можете вимкнути стандартний набір включених файлів за допомогою " +"параметра :option:`!--no-defaults`, а стандартний набір виключень можна " +"вимкнути за допомогою :option:`!--no-prune`." + +msgid "" +"Following the Distutils' own manifest template, let's trace how the :command:" +"`sdist` command builds the list of files to include in the Distutils source " +"distribution:" +msgstr "" +"Дотримуючись власного шаблону маніфесту Distutils, давайте простежимо, як " +"команда :command:`sdist` створює список файлів для включення в дистрибутив " +"вихідного коду Distutils:" + +msgid "" +"include all Python source files in the :file:`distutils` and :file:" +"`distutils/command` subdirectories (because packages corresponding to those " +"two directories were mentioned in the ``packages`` option in the setup " +"script---see section :ref:`setup-script`)" +msgstr "" +"включити всі вихідні файли Python у підкаталоги :file:`distutils` і :file:" +"`distutils/command` (оскільки пакунки, що відповідають цим двом каталогам, " +"були згадані в параметрі ``packages`` у сценарії встановлення --- див. " +"розділ :ref:`setup-script`)" + +msgid "" +"include :file:`README.txt`, :file:`setup.py`, and :file:`setup.cfg` " +"(standard files)" +msgstr "" +"включають :file:`README.txt`, :file:`setup.py` і :file:`setup.cfg` " +"(стандартні файли)" + +msgid "include :file:`test/test\\*.py` (standard files)" +msgstr "включає :file:`test/test\\*.py` (стандартні файли)" + +msgid "" +"include :file:`\\*.txt` in the distribution root (this will find :file:" +"`README.txt` a second time, but such redundancies are weeded out later)" +msgstr "" +"включити :file:`\\*.txt` в кореневу папку дистрибутива (це знайде :file:" +"`README.txt` вдруге, але такі надмірності будуть видалені пізніше)" + +msgid "" +"include anything matching :file:`\\*.txt` or :file:`\\*.py` in the sub-tree " +"under :file:`examples`," +msgstr "" +"включити все, що відповідає :file:`\\*.txt` або :file:`\\*.py` у піддереві " +"під :file:`examples`," + +msgid "" +"exclude all files in the sub-trees starting at directories matching :file:" +"`examples/sample?/build`\\ ---this may exclude files included by the " +"previous two steps, so it's important that the ``prune`` command in the " +"manifest template comes after the ``recursive-include`` command" +msgstr "" +"виключити всі файли в піддеревах, починаючи з каталогів, що відповідають :" +"file:`examples/sample?/build`\\ ---це може виключити файли, включені двома " +"попередніми кроками, тому важливо, щоб команда ``prune`` у шаблон маніфесту " +"йде після команди ``recursive-include``" + +msgid "" +"exclude the entire :file:`build` tree, and any :file:`RCS`, :file:`CVS`, :" +"file:`.svn`, :file:`.hg`, :file:`.git`, :file:`.bzr` and :file:`_darcs` " +"directories" +msgstr "" +"виключити все дерево :file:`build` і будь-які :file:`RCS`, :file:`CVS`, :" +"file:`.svn`, :file:`.hg`, :file:`.git` , :file:`.bzr` і :file:`_darcs` " +"каталоги" + +msgid "" +"Just like in the setup script, file and directory names in the manifest " +"template should always be slash-separated; the Distutils will take care of " +"converting them to the standard representation on your platform. That way, " +"the manifest template is portable across operating systems." +msgstr "" +"Так само, як і в сценарії встановлення, імена файлів і каталогів у шаблоні " +"маніфесту завжди мають бути розділені косою рискою; Distutils подбає про " +"перетворення їх у стандартне представлення на вашій платформі. Таким чином, " +"шаблон маніфесту переноситься між операційними системами." + +msgid "Manifest-related options" +msgstr "Опції, пов’язані з маніфестом" + +msgid "" +"The normal course of operations for the :command:`sdist` command is as " +"follows:" +msgstr "Нормальний хід операцій для команди :command:`sdist` такий:" + +msgid "" +"if the manifest file (:file:`MANIFEST` by default) exists and the first line " +"does not have a comment indicating it is generated from :file:`MANIFEST.in`, " +"then it is used as is, unaltered" +msgstr "" +"якщо файл маніфесту (:file:`MANIFEST` за замовчуванням) існує, і перший " +"рядок не має коментаря, який вказує, що він створений з :file:`MANIFEST.in`, " +"тоді він використовується як є, без змін" + +msgid "" +"if the manifest file doesn't exist or has been previously automatically " +"generated, read :file:`MANIFEST.in` and create the manifest" +msgstr "" +"якщо файл маніфесту не існує або був попередньо створений автоматично, " +"прочитайте :file:`MANIFEST.in` і створіть маніфест" + +msgid "" +"if neither :file:`MANIFEST` nor :file:`MANIFEST.in` exist, create a manifest " +"with just the default file set" +msgstr "" +"якщо ані :file:`MANIFEST`, ані :file:`MANIFEST.in` не існує, створіть " +"маніфест лише з набором файлів за замовчуванням" + +msgid "" +"use the list of files now in :file:`MANIFEST` (either just generated or read " +"in) to create the source distribution archive(s)" +msgstr "" +"використовуйте список файлів у :file:`MANIFEST` (щойно створений або " +"прочитаний), щоб створити архів(и) розповсюдження коду" + +msgid "" +"There are a couple of options that modify this behaviour. First, use the :" +"option:`!--no-defaults` and :option:`!--no-prune` to disable the standard " +"\"include\" and \"exclude\" sets." +msgstr "" +"Є кілька варіантів, які змінюють цю поведінку. По-перше, використовуйте :" +"option:`!--no-defaults` і :option:`!--no-prune`, щоб вимкнути стандартні " +"набори \"include\" і \"exclude\"." + +msgid "" +"Second, you might just want to (re)generate the manifest, but not create a " +"source distribution::" +msgstr "" +"По-друге, ви можете просто захотіти (повторно) створити маніфест, але не " +"створювати вихідний розподіл::" + +msgid ":option:`!-o` is a shortcut for :option:`!--manifest-only`." +msgstr ":option:`!-o` — це ярлик для :option:`!--manifest-only`." diff --git a/distutils/uploading.po b/distutils/uploading.po new file mode 100644 index 000000000..d5eef9544 --- /dev/null +++ b/distutils/uploading.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Uploading Packages to the Package Index" +msgstr "Завантаження пакетів до індексу пакетів" + +msgid "" +"References to up to date PyPI documentation can be found at :ref:`publishing-" +"python-packages`." +msgstr "" +"Посилання на актуальну документацію PyPI можна знайти за адресою :ref:" +"`publishing-python-packages`." diff --git a/extending/building.po b/extending/building.po new file mode 100644 index 000000000..285a1cb3c --- /dev/null +++ b/extending/building.po @@ -0,0 +1,220 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Building C and C++ Extensions" +msgstr "Створення розширень C і C++" + +msgid "" +"A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux, " +"``.pyd`` on Windows), which exports an *initialization function*." +msgstr "" +"Розширення C для CPython — це спільна бібліотека (наприклад, файл ``.so`` у " +"Linux, ``.pyd`` у Windows), яка експортує *функцію ініціалізації*." + +msgid "" +"To be importable, the shared library must be available on :envvar:" +"`PYTHONPATH`, and must be named after the module name, with an appropriate " +"extension. When using distutils, the correct filename is generated " +"automatically." +msgstr "" +"Щоб бути імпортованою, спільна бібліотека має бути доступною на :envvar:" +"`PYTHONPATH` і мати назву за назвою модуля з відповідним розширенням. Під " +"час використання distutils правильна назва файлу генерується автоматично." + +msgid "The initialization function has the signature:" +msgstr "Функція ініціалізації має сигнатуру:" + +msgid "" +"It returns either a fully initialized module, or a :c:type:`PyModuleDef` " +"instance. See :ref:`initializing-modules` for details." +msgstr "" + +msgid "" +"For modules with ASCII-only names, the function must be named " +"``PyInit_``, with ```` replaced by the name of the " +"module. When using :ref:`multi-phase-initialization`, non-ASCII module names " +"are allowed. In this case, the initialization function name is " +"``PyInitU_``, with ```` encoded using Python's " +"*punycode* encoding with hyphens replaced by underscores. In Python::" +msgstr "" +"Для модулів із іменами лише у форматі ASCII функція має мати назву ``PyInit_ " +"``, при цьому ```` замінюється назвою модуля. При " +"використанні :ref:`multi-phase-initialization` дозволені назви модулів, " +"відмінні від ASCII. У цьому випадку ім’я функції ініціалізації – ``PyInitU_ " +"``, де ```` закодовано з використанням *punycode* " +"кодування Python із дефісами, заміненими підкресленням. У Python::" + +msgid "" +"It is possible to export multiple modules from a single shared library by " +"defining multiple initialization functions. However, importing them requires " +"using symbolic links or a custom importer, because by default only the " +"function corresponding to the filename is found. See the *\"Multiple modules " +"in one library\"* section in :pep:`489` for details." +msgstr "" +"Можна експортувати кілька модулів з однієї спільної бібліотеки, визначивши " +"кілька функцій ініціалізації. Однак для їх імпортування потрібно " +"використовувати символічні посилання або спеціальний імпортер, оскільки за " +"замовчуванням знайдено лише функцію, яка відповідає назві файлу. Подробиці " +"див. у розділі *\"Кілька модулів в одній бібліотеці\"* у :pep:`489`." + +msgid "Building C and C++ Extensions with distutils" +msgstr "Створення розширень C і C++ за допомогою distutils" + +msgid "" +"Extension modules can be built using distutils, which is included in " +"Python. Since distutils also supports creation of binary packages, users " +"don't necessarily need a compiler and distutils to install the extension." +msgstr "" +"Модулі розширення можна створити за допомогою distutils, який входить до " +"складу Python. Оскільки distutils також підтримує створення двійкових " +"пакетів, користувачам не обов’язково потрібен компілятор і distutils для " +"встановлення розширення." + +msgid "" +"A distutils package contains a driver script, :file:`setup.py`. This is a " +"plain Python file, which, in the most simple case, could look like this:" +msgstr "" +"Пакет distutils містить сценарій драйвера :file:`setup.py`. Це звичайний " +"файл Python, який у найпростішому випадку може виглядати так:" + +msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::" +msgstr "З цим :file:`setup.py` і файлом :file:`demo.c`, запускаючи ::" + +msgid "" +"will compile :file:`demo.c`, and produce an extension module named ``demo`` " +"in the :file:`build` directory. Depending on the system, the module file " +"will end up in a subdirectory :file:`build/lib.system`, and may have a name " +"like :file:`demo.so` or :file:`demo.pyd`." +msgstr "" +"скомпілює :file:`demo.c` і створить модуль розширення під назвою ``demo`` у " +"каталозі :file:`build`. Залежно від системи, файл модуля буде розміщено в " +"підкаталозі :file:`build/lib.system` і може мати таку назву, як :file:`demo." +"so` або :file:`demo.pyd`." + +msgid "" +"In the :file:`setup.py`, all execution is performed by calling the ``setup`` " +"function. This takes a variable number of keyword arguments, of which the " +"example above uses only a subset. Specifically, the example specifies meta-" +"information to build packages, and it specifies the contents of the " +"package. Normally, a package will contain additional modules, like Python " +"source modules, documentation, subpackages, etc. Please refer to the " +"distutils documentation in :ref:`distutils-index` to learn more about the " +"features of distutils; this section explains building extension modules only." +msgstr "" +"У :file:`setup.py` все виконання виконується шляхом виклику функції " +"``setup``. Це вимагає змінної кількості аргументів ключових слів, з яких у " +"прикладі вище використовується лише підмножина. Зокрема, у прикладі " +"вказується мета-інформація для створення пакетів і вказується вміст пакета. " +"Зазвичай пакунок містить додаткові модулі, як-от вихідні модулі Python, " +"документацію, підпакунки тощо. Будь ласка, зверніться до документації " +"distutils у :ref:`distutils-index`, щоб дізнатися більше про функції " +"distutils; у цьому розділі пояснюється лише створення модулів розширення." + +msgid "" +"It is common to pre-compute arguments to :func:`setup`, to better structure " +"the driver script. In the example above, the ``ext_modules`` argument to :" +"func:`~distutils.core.setup` is a list of extension modules, each of which " +"is an instance of the :class:`~distutils.extension.Extension`. In the " +"example, the instance defines an extension named ``demo`` which is build by " +"compiling a single source file, :file:`demo.c`." +msgstr "" +"Зазвичай попередньо обчислюють аргументи :func:`setup`, щоб краще " +"структурувати сценарій драйвера. У наведеному вище прикладі аргумент " +"``ext_modules`` для :func:`~distutils.core.setup` є списком модулів " +"розширення, кожен з яких є екземпляром :class:`~distutils.extension." +"Extension` . У цьому прикладі примірник визначає розширення під назвою " +"``demo``, яке створюється шляхом компіляції єдиного вихідного файлу :file:" +"`demo.c`." + +msgid "" +"In many cases, building an extension is more complex, since additional " +"preprocessor defines and libraries may be needed. This is demonstrated in " +"the example below." +msgstr "" +"У багатьох випадках створення розширення є більш складним, оскільки можуть " +"знадобитися додаткові визначення препроцесора та бібліотеки. Це показано на " +"прикладі нижче." + +msgid "" +"In this example, :func:`~distutils.core.setup` is called with additional " +"meta-information, which is recommended when distribution packages have to be " +"built. For the extension itself, it specifies preprocessor defines, include " +"directories, library directories, and libraries. Depending on the compiler, " +"distutils passes this information in different ways to the compiler. For " +"example, on Unix, this may result in the compilation commands ::" +msgstr "" +"У цьому прикладі :func:`~distutils.core.setup` викликається з додатковою " +"мета-інформацією, яку рекомендується використовувати, коли потрібно створити " +"дистрибутивні пакунки. Для самого розширення воно вказує визначення " +"препроцесора, включає каталоги, каталоги бібліотек і бібліотеки. Залежно від " +"компілятора distutils передає цю інформацію компілятору різними способами. " +"Наприклад, в Unix це може призвести до команд компіляції:" + +msgid "" +"These lines are for demonstration purposes only; distutils users should " +"trust that distutils gets the invocations right." +msgstr "" +"Ці рядки призначені лише для демонстрації; Користувачі distutils повинні " +"вірити, що distutils виконує правильні виклики." + +msgid "Distributing your extension modules" +msgstr "Розповсюдження ваших модулів розширення" + +msgid "" +"When an extension has been successfully built, there are three ways to use " +"it." +msgstr "Якщо розширення успішно створено, є три способи його використання." + +msgid "" +"End-users will typically want to install the module, they do so by running ::" +msgstr "" +"Кінцеві користувачі зазвичай хочуть встановити модуль, вони роблять це, " +"запустивши ::" + +msgid "" +"Module maintainers should produce source packages; to do so, they run ::" +msgstr "" +"Супроводжувачі модулів повинні створювати пакети вихідних кодів; для цього " +"вони запускають ::" + +msgid "" +"In some cases, additional files need to be included in a source " +"distribution; this is done through a :file:`MANIFEST.in` file; see :ref:" +"`manifest` for details." +msgstr "" +"У деяких випадках додаткові файли потрібно включити до вихідного " +"дистрибутива; це робиться через файл :file:`MANIFEST.in`; подробиці див. :" +"ref:`manifest`." + +msgid "" +"If the source distribution has been built successfully, maintainers can also " +"create binary distributions. Depending on the platform, one of the following " +"commands can be used to do so. ::" +msgstr "" +"Якщо вихідний дистрибутив було створено успішно, супроводжувачі також можуть " +"створювати двійкові дистрибутиви. Залежно від платформи для цього можна " +"використати одну з наведених нижче команд. ::" diff --git a/extending/embedding.po b/extending/embedding.po new file mode 100644 index 000000000..9fdc258b2 --- /dev/null +++ b/extending/embedding.po @@ -0,0 +1,424 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Embedding Python in Another Application" +msgstr "Вбудовування Python в іншу програму" + +msgid "" +"The previous chapters discussed how to extend Python, that is, how to extend " +"the functionality of Python by attaching a library of C functions to it. It " +"is also possible to do it the other way around: enrich your C/C++ " +"application by embedding Python in it. Embedding provides your application " +"with the ability to implement some of the functionality of your application " +"in Python rather than C or C++. This can be used for many purposes; one " +"example would be to allow users to tailor the application to their needs by " +"writing some scripts in Python. You can also use it yourself if some of the " +"functionality can be written in Python more easily." +msgstr "" +"У попередніх розділах обговорювалося, як розширити Python, тобто як " +"розширити функціональні можливості Python, приєднавши до нього бібліотеку " +"функцій C. Також можна зробити це навпаки: збагатіть свою програму C/C++, " +"вставивши в неї Python. Вбудовування надає вашій програмі можливість " +"реалізувати деякі функціональні можливості вашої програми на Python, а не на " +"C або C++. Це можна використовувати для багатьох цілей; одним із прикладів " +"може бути надання користувачам можливості адаптувати програму до своїх " +"потреб, написавши деякі сценарії на Python. Ви також можете використовувати " +"його самостійно, якщо деякі функції можна написати на Python легше." + +msgid "" +"Embedding Python is similar to extending it, but not quite. The difference " +"is that when you extend Python, the main program of the application is still " +"the Python interpreter, while if you embed Python, the main program may have " +"nothing to do with Python --- instead, some parts of the application " +"occasionally call the Python interpreter to run some Python code." +msgstr "" +"Вбудовування Python схоже на його розширення, але не зовсім. Різниця полягає " +"в тому, що коли ви розширюєте Python, основною програмою програми " +"залишається інтерпретатор Python, тоді як якщо ви вбудовуєте Python, основна " +"програма може не мати нічого спільного з Python --- натомість деякі частини " +"програми час від часу викликають Інтерпретатор Python для запуску коду " +"Python." + +msgid "" +"So if you are embedding Python, you are providing your own main program. " +"One of the things this main program has to do is initialize the Python " +"interpreter. At the very least, you have to call the function :c:func:" +"`Py_Initialize`. There are optional calls to pass command line arguments to " +"Python. Then later you can call the interpreter from any part of the " +"application." +msgstr "" +"Отже, якщо ви вбудовуєте Python, ви надаєте свою власну основну програму. " +"Одна з речей, яку має зробити ця основна програма, це ініціалізувати " +"інтерпретатор Python. Принаймні, ви повинні викликати функцію :c:func:" +"`Py_Initialize`. Існують додаткові виклики для передачі аргументів " +"командного рядка в Python. Пізніше ви можете викликати перекладача з будь-" +"якої частини програми." + +msgid "" +"There are several different ways to call the interpreter: you can pass a " +"string containing Python statements to :c:func:`PyRun_SimpleString`, or you " +"can pass a stdio file pointer and a file name (for identification in error " +"messages only) to :c:func:`PyRun_SimpleFile`. You can also call the lower-" +"level operations described in the previous chapters to construct and use " +"Python objects." +msgstr "" +"Існує кілька різних способів виклику інтерпретатора: ви можете передати " +"рядок, що містить оператори Python, до :c:func:`PyRun_SimpleString`, або ви " +"можете передати вказівник файлу stdio та ім’я файлу (лише для ідентифікації " +"в повідомленнях про помилки) до :c:func:`PyRun_SimpleFile`. Ви також можете " +"викликати операції нижчого рівня, описані в попередніх розділах, для " +"створення та використання об’єктів Python." + +msgid ":ref:`c-api-index`" +msgstr ":ref:`c-api-index`" + +msgid "" +"The details of Python's C interface are given in this manual. A great deal " +"of necessary information can be found here." +msgstr "" +"Подробиці інтерфейсу C Python наведено в цьому посібнику. Тут можна знайти " +"багато необхідної інформації." + +msgid "Very High Level Embedding" +msgstr "Дуже високий рівень вбудовування" + +msgid "" +"The simplest form of embedding Python is the use of the very high level " +"interface. This interface is intended to execute a Python script without " +"needing to interact with the application directly. This can for example be " +"used to perform some operation on a file. ::" +msgstr "" +"Найпростішою формою вбудовування Python є використання інтерфейсу дуже " +"високого рівня. Цей інтерфейс призначений для виконання сценарію Python без " +"необхідності безпосередньої взаємодії з програмою. Це можна, наприклад, " +"використати для виконання певної операції над файлом. ::" + +msgid "" +"The :c:func:`Py_SetProgramName` function should be called before :c:func:" +"`Py_Initialize` to inform the interpreter about paths to Python run-time " +"libraries. Next, the Python interpreter is initialized with :c:func:" +"`Py_Initialize`, followed by the execution of a hard-coded Python script " +"that prints the date and time. Afterwards, the :c:func:`Py_FinalizeEx` call " +"shuts the interpreter down, followed by the end of the program. In a real " +"program, you may want to get the Python script from another source, perhaps " +"a text-editor routine, a file, or a database. Getting the Python code from " +"a file can better be done by using the :c:func:`PyRun_SimpleFile` function, " +"which saves you the trouble of allocating memory space and loading the file " +"contents." +msgstr "" +"Функцію :c:func:`Py_SetProgramName` слід викликати перед :c:func:" +"`Py_Initialize`, щоб повідомити інтерпретатору про шляхи до бібліотек часу " +"виконання Python. Далі інтерпретатор Python ініціалізується за допомогою :c:" +"func:`Py_Initialize`, після чого виконується жорстко закодований сценарій " +"Python, який друкує дату та час. Після цього виклик :c:func:`Py_FinalizeEx` " +"вимикає інтерпретатор, після чого завершується програма. У реальній програмі " +"ви можете отримати сценарій Python з іншого джерела, можливо, з програми " +"текстового редактора, файлу або бази даних. Отримати код Python із файлу " +"можна краще за допомогою функції :c:func:`PyRun_SimpleFile`, яка позбавить " +"вас від проблем із виділенням пам’яті та завантаженням вмісту файлу." + +msgid "Beyond Very High Level Embedding: An overview" +msgstr "Поза межами вбудовування дуже високого рівня: огляд" + +msgid "" +"The high level interface gives you the ability to execute arbitrary pieces " +"of Python code from your application, but exchanging data values is quite " +"cumbersome to say the least. If you want that, you should use lower level " +"calls. At the cost of having to write more C code, you can achieve almost " +"anything." +msgstr "" +"Інтерфейс високого рівня дає вам можливість виконувати довільні частини коду " +"Python із вашої програми, але обмін значеннями даних, м’яко кажучи, досить " +"громіздкий. Якщо ви цього хочете, вам слід використовувати виклики нижчого " +"рівня. Ціною необхідності писати більше коду на C ви можете досягти майже " +"чого завгодно." + +msgid "" +"It should be noted that extending Python and embedding Python is quite the " +"same activity, despite the different intent. Most topics discussed in the " +"previous chapters are still valid. To show this, consider what the extension " +"code from Python to C really does:" +msgstr "" +"Слід зазначити, що розширення Python і вбудовування Python — це однакова " +"діяльність, незважаючи на різні наміри. Більшість тем, розглянутих у " +"попередніх розділах, все ще актуальні. Щоб показати це, розглянемо, що " +"насправді робить код розширення з Python на C:" + +msgid "Convert data values from Python to C," +msgstr "Перетворення значень даних з Python на C," + +msgid "Perform a function call to a C routine using the converted values, and" +msgstr "" +"Виконайте виклик функції до підпрограми C, використовуючи перетворені " +"значення, і" + +msgid "Convert the data values from the call from C to Python." +msgstr "Перетворіть значення даних виклику з C на Python." + +msgid "When embedding Python, the interface code does:" +msgstr "Під час вбудовування Python код інтерфейсу виконує:" + +msgid "Convert data values from C to Python," +msgstr "Перетворення значень даних із C на Python," + +msgid "" +"Perform a function call to a Python interface routine using the converted " +"values, and" +msgstr "" +"Виконайте виклик функції до процедури інтерфейсу Python, використовуючи " +"перетворені значення, і" + +msgid "Convert the data values from the call from Python to C." +msgstr "Перетворіть значення даних виклику з Python на C." + +msgid "" +"As you can see, the data conversion steps are simply swapped to accommodate " +"the different direction of the cross-language transfer. The only difference " +"is the routine that you call between both data conversions. When extending, " +"you call a C routine, when embedding, you call a Python routine." +msgstr "" +"Як бачите, кроки перетворення даних просто поміняно місцями, щоб відповідати " +"різному напрямку передачі між мовами. Єдина відмінність полягає в процедурі, " +"яку ви викликаєте між двома перетвореннями даних. Під час розширення ви " +"викликаєте підпрограму C, під час вбудовування ви викликаєте підпрограму " +"Python." + +msgid "" +"This chapter will not discuss how to convert data from Python to C and vice " +"versa. Also, proper use of references and dealing with errors is assumed to " +"be understood. Since these aspects do not differ from extending the " +"interpreter, you can refer to earlier chapters for the required information." +msgstr "" +"У цьому розділі не розглядатиметься, як конвертувати дані з Python на C і " +"навпаки. Також передбачається, що належне використання посилань і робота з " +"помилками є зрозумілими. Оскільки ці аспекти не відрізняються від розширення " +"інтерпретатора, ви можете звернутися до попередніх розділів для отримання " +"необхідної інформації." + +msgid "Pure Embedding" +msgstr "Чисте вбудовування" + +msgid "" +"The first program aims to execute a function in a Python script. Like in the " +"section about the very high level interface, the Python interpreter does not " +"directly interact with the application (but that will change in the next " +"section)." +msgstr "" +"Перша програма спрямована на виконання функції в сценарії Python. Як і в " +"розділі про інтерфейс дуже високого рівня, інтерпретатор Python " +"безпосередньо не взаємодіє з програмою (але це зміниться в наступному " +"розділі)." + +msgid "The code to run a function defined in a Python script is:" +msgstr "Код для запуску функції, визначеної в сценарії Python, такий:" + +msgid "" +"This code loads a Python script using ``argv[1]``, and calls the function " +"named in ``argv[2]``. Its integer arguments are the other values of the " +"``argv`` array. If you :ref:`compile and link ` this program " +"(let's call the finished executable :program:`call`), and use it to execute " +"a Python script, such as:" +msgstr "" +"Цей код завантажує сценарій Python за допомогою ``argv[1]`` і викликає " +"функцію, названу в ``argv[2]``. Його цілі аргументи є іншими значеннями " +"масиву ``argv``. Якщо ви :ref:`скомпілюєте та зв’яжете ` цю " +"програму (давайте назвемо готовий виконуваний файл :program:`call`), і " +"використаємо його для виконання сценарію Python, наприклад:" + +msgid "then the result should be:" +msgstr "тоді результат має бути таким:" + +msgid "" +"Although the program is quite large for its functionality, most of the code " +"is for data conversion between Python and C, and for error reporting. The " +"interesting part with respect to embedding Python starts with ::" +msgstr "" +"Незважаючи на те, що програма досить велика за своїми функціями, більша " +"частина коду призначена для перетворення даних між Python і C, а також для " +"звітування про помилки. Цікава частина щодо вбудовування Python починається " +"з::" + +msgid "" +"After initializing the interpreter, the script is loaded using :c:func:" +"`PyImport_Import`. This routine needs a Python string as its argument, " +"which is constructed using the :c:func:`PyUnicode_FromString` data " +"conversion routine. ::" +msgstr "" +"Після ініціалізації інтерпретатора сценарій завантажується за допомогою :c:" +"func:`PyImport_Import`. Для цієї процедури в якості аргументу потрібен рядок " +"Python, який створюється за допомогою процедури перетворення даних :c:func:" +"`PyUnicode_FromString`. ::" + +msgid "" +"Once the script is loaded, the name we're looking for is retrieved using :c:" +"func:`PyObject_GetAttrString`. If the name exists, and the object returned " +"is callable, you can safely assume that it is a function. The program then " +"proceeds by constructing a tuple of arguments as normal. The call to the " +"Python function is then made with::" +msgstr "" +"Після завантаження сценарію ім’я, яке ми шукаємо, отримується за допомогою :" +"c:func:`PyObject_GetAttrString`. Якщо ім'я існує, а повернутий об'єкт можна " +"викликати, ви можете сміливо вважати, що це функція. Потім програма " +"продовжує створення кортежу аргументів у звичайному режимі. Потім виклик " +"функції Python виконується за допомогою::" + +msgid "" +"Upon return of the function, ``pValue`` is either ``NULL`` or it contains a " +"reference to the return value of the function. Be sure to release the " +"reference after examining the value." +msgstr "" +"Після повернення функції ``pValue`` є або ``NULL``, або містить посилання на " +"значення, що повертається функцією. Обов’язково опублікуйте посилання після " +"вивчення значення." + +msgid "Extending Embedded Python" +msgstr "Розширення вбудованого Python" + +msgid "" +"Until now, the embedded Python interpreter had no access to functionality " +"from the application itself. The Python API allows this by extending the " +"embedded interpreter. That is, the embedded interpreter gets extended with " +"routines provided by the application. While it sounds complex, it is not so " +"bad. Simply forget for a while that the application starts the Python " +"interpreter. Instead, consider the application to be a set of subroutines, " +"and write some glue code that gives Python access to those routines, just " +"like you would write a normal Python extension. For example::" +msgstr "" +"До цього часу вбудований інтерпретатор Python не мав доступу до " +"функціональних можливостей самої програми. Python API дозволяє це, " +"розширюючи вбудований інтерпретатор. Тобто вбудований інтерпретатор " +"розширюється підпрограмами, наданими програмою. Хоча це звучить складно, це " +"не так вже й погано. Просто забудьте на деякий час, що програма запускає " +"інтерпретатор Python. Замість цього розгляньте програму як набір підпрограм " +"і напишіть якийсь клейовий код, який надає Python доступ до цих підпрограм, " +"так само, як ви б написали звичайне розширення Python. Наприклад::" + +msgid "" +"Insert the above code just above the :c:func:`main` function. Also, insert " +"the following two statements before the call to :c:func:`Py_Initialize`::" +msgstr "" +"Вставте наведений вище код безпосередньо над функцією :c:func:`main`. Також " +"вставте наступні два оператори перед викликом :c:func:`Py_Initialize`::" + +msgid "" +"These two lines initialize the ``numargs`` variable, and make the :func:`emb." +"numargs` function accessible to the embedded Python interpreter. With these " +"extensions, the Python script can do things like" +msgstr "" +"Ці два рядки ініціалізують змінну ``numargs`` і роблять функцію :func:`emb." +"numargs` доступною для вбудованого інтерпретатора Python. За допомогою цих " +"розширень сценарій Python може виконувати такі дії" + +msgid "" +"In a real application, the methods will expose an API of the application to " +"Python." +msgstr "У реальній програмі методи нададуть API програми Python." + +msgid "Embedding Python in C++" +msgstr "Вбудовування Python у C++" + +msgid "" +"It is also possible to embed Python in a C++ program; precisely how this is " +"done will depend on the details of the C++ system used; in general you will " +"need to write the main program in C++, and use the C++ compiler to compile " +"and link your program. There is no need to recompile Python itself using C+" +"+." +msgstr "" +"Також можна вбудувати Python у програму C++; те, як це буде зроблено, " +"залежатиме від деталей використовуваної системи C++; загалом, вам потрібно " +"буде написати основну програму мовою C++ і використовувати компілятор C++ " +"для компіляції та компонування вашої програми. Немає необхідності " +"перекомпілювати сам Python за допомогою C++." + +msgid "Compiling and Linking under Unix-like systems" +msgstr "Компіляція та компонування в Unix-подібних системах" + +msgid "" +"It is not necessarily trivial to find the right flags to pass to your " +"compiler (and linker) in order to embed the Python interpreter into your " +"application, particularly because Python needs to load library modules " +"implemented as C dynamic extensions (:file:`.so` files) linked against it." +msgstr "" +"Не обов’язково тривіально знайти правильні позначки для передачі вашому " +"компілятору (і компонувальнику), щоб вбудувати інтерпретатор Python у вашу " +"програму, особливо тому, що Python має завантажувати бібліотечні модулі, " +"реалізовані як динамічні розширення C (:file:`.so` файли), пов’язані з ним." + +msgid "" +"To find out the required compiler and linker flags, you can execute the :" +"file:`python{X.Y}-config` script which is generated as part of the " +"installation process (a :file:`python3-config` script may also be " +"available). This script has several options, of which the following will be " +"directly useful to you:" +msgstr "" +"Щоб дізнатися необхідні позначки компілятора та компонувальника, ви можете " +"виконати сценарій :file:`python{X.Y}-config`, який створюється як частина " +"процесу інсталяції (може також бути доступний сценарій :file:`python3-" +"config` ). Цей сценарій має кілька варіантів, з яких наступні будуть вам " +"безпосередньо корисні:" + +msgid "" +"``pythonX.Y-config --cflags`` will give you the recommended flags when " +"compiling:" +msgstr "" +"``pythonX.Y-config --cflags`` надасть вам рекомендовані позначки під час " +"компіляції:" + +msgid "" +"``pythonX.Y-config --ldflags --embed`` will give you the recommended flags " +"when linking:" +msgstr "" + +msgid "" +"To avoid confusion between several Python installations (and especially " +"between the system Python and your own compiled Python), it is recommended " +"that you use the absolute path to :file:`python{X.Y}-config`, as in the " +"above example." +msgstr "" +"Щоб уникнути плутанини між кількома інсталяціями Python (і особливо між " +"системним Python і вашим власно скомпільованим Python), рекомендується " +"використовувати абсолютний шлях до :file:`python{X.Y}-config`, як у прикладі " +"вище." + +msgid "" +"If this procedure doesn't work for you (it is not guaranteed to work for all " +"Unix-like platforms; however, we welcome :ref:`bug reports `) you will have to read your system's documentation about dynamic " +"linking and/or examine Python's :file:`Makefile` (use :func:`sysconfig." +"get_makefile_filename` to find its location) and compilation options. In " +"this case, the :mod:`sysconfig` module is a useful tool to programmatically " +"extract the configuration values that you will want to combine together. " +"For example:" +msgstr "" +"Якщо ця процедура не працює для вас (вона не гарантує роботу для всіх Unix-" +"подібних платформ; однак ми вітаємо :ref:`звіти про помилки `), вам доведеться прочитати документацію вашої системи щодо " +"динамічного зв’язування та/або перевірте :file:`Makefile` Python " +"(використовуйте :func:`sysconfig.get_makefile_filename`, щоб знайти його " +"розташування) і параметри компіляції. У цьому випадку модуль :mod:" +"`sysconfig` є корисним інструментом для програмного вилучення значень " +"конфігурації, які ви хочете об’єднати. Наприклад:" diff --git a/extending/extending.po b/extending/extending.po new file mode 100644 index 000000000..6545a512d --- /dev/null +++ b/extending/extending.po @@ -0,0 +1,1745 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Extending Python with C or C++" +msgstr "Розширення Python за допомогою C або C++" + +msgid "" +"It is quite easy to add new built-in modules to Python, if you know how to " +"program in C. Such :dfn:`extension modules` can do two things that can't be " +"done directly in Python: they can implement new built-in object types, and " +"they can call C library functions and system calls." +msgstr "" +"Доволі легко додати нові вбудовані модулі до Python, якщо ви знаєте, як " +"програмувати на C. Такі :dfn:`extension modules` можуть робити дві речі, які " +"не можна зробити безпосередньо в Python: вони можуть реалізувати нові " +"вбудовані модулі. -in типи об'єктів, і вони можуть викликати функції " +"бібліотеки C і системні виклики." + +msgid "" +"To support extensions, the Python API (Application Programmers Interface) " +"defines a set of functions, macros and variables that provide access to most " +"aspects of the Python run-time system. The Python API is incorporated in a " +"C source file by including the header ``\"Python.h\"``." +msgstr "" +"Для підтримки розширень API Python (інтерфейс прикладного програмування) " +"визначає набір функцій, макросів і змінних, які надають доступ до більшості " +"аспектів системи виконання Python. API Python включено у вихідний файл C " +"шляхом включення заголовка ``\"Python.h\"``." + +msgid "" +"The compilation of an extension module depends on its intended use as well " +"as on your system setup; details are given in later chapters." +msgstr "" +"Компіляція модуля розширення залежить від його цільового використання, а " +"також від налаштування вашої системи; подробиці наведено в наступних " +"розділах." + +msgid "" +"The C extension interface is specific to CPython, and extension modules do " +"not work on other Python implementations. In many cases, it is possible to " +"avoid writing C extensions and preserve portability to other " +"implementations. For example, if your use case is calling C library " +"functions or system calls, you should consider using the :mod:`ctypes` " +"module or the `cffi `_ library rather than " +"writing custom C code. These modules let you write Python code to interface " +"with C code and are more portable between implementations of Python than " +"writing and compiling a C extension module." +msgstr "" +"Інтерфейс розширення C є специфічним для CPython, а модулі розширення не " +"працюють в інших реалізаціях Python. У багатьох випадках можна уникнути " +"написання розширень C і зберегти переносимість на інші реалізації. " +"Наприклад, якщо ви використовуєте виклик функцій бібліотеки C або системних " +"викликів, вам слід розглянути можливість використання модуля :mod:`ctypes` " +"або бібліотеки `cffi `_ замість написання " +"спеціального коду C. Ці модулі дозволяють писати код Python для взаємодії з " +"кодом C і є більш переносимими між реалізаціями Python, ніж написання та " +"компіляція модуля розширення C." + +msgid "A Simple Example" +msgstr "Простий приклад" + +msgid "" +"Let's create an extension module called ``spam`` (the favorite food of Monty " +"Python fans...) and let's say we want to create a Python interface to the C " +"library function :c:func:`system` [#]_. This function takes a null-" +"terminated character string as argument and returns an integer. We want " +"this function to be callable from Python as follows:" +msgstr "" +"Давайте створимо модуль розширення під назвою ``spam`` (улюблена їжа " +"шанувальників Monty Python...) і, скажімо, ми хочемо створити інтерфейс " +"Python для функції бібліотеки C :c:func:`system` [#]_ . Ця функція приймає " +"рядок символів із нулем у кінці як аргумент і повертає ціле число. Ми " +"хочемо, щоб цю функцію можна було викликати з Python наступним чином:" + +msgid "" +"Begin by creating a file :file:`spammodule.c`. (Historically, if a module " +"is called ``spam``, the C file containing its implementation is called :file:" +"`spammodule.c`; if the module name is very long, like ``spammify``, the " +"module name can be just :file:`spammify.c`.)" +msgstr "" +"Почніть із створення файлу :file:`spammodule.c`. (Історично склалося так, що " +"якщо модуль називається ``спам``, файл C, що містить його реалізацію, " +"називається :file:`spammodule.c`; якщо назва модуля дуже довга, наприклад " +"``spammify``, назва модуля може бути просто :file:`spammify.c`.)" + +msgid "The first two lines of our file can be::" +msgstr "Перші два рядки нашого файлу можуть бути:" + +msgid "" +"which pulls in the Python API (you can add a comment describing the purpose " +"of the module and a copyright notice if you like)." +msgstr "" +"який залучає API Python (ви можете додати коментар із описом призначення " +"модуля та повідомлення про авторські права, якщо хочете)." + +msgid "" +"Since Python may define some pre-processor definitions which affect the " +"standard headers on some systems, you *must* include :file:`Python.h` before " +"any standard headers are included." +msgstr "" +"Оскільки Python може визначати деякі визначення попереднього процесора, які " +"впливають на стандартні заголовки в деяких системах, ви *мусите* включити :" +"file:`Python.h` перед тим, як включити будь-які стандартні заголовки." + +msgid "" +"It is recommended to always define ``PY_SSIZE_T_CLEAN`` before including " +"``Python.h``. See :ref:`parsetuple` for a description of this macro." +msgstr "" +"Рекомендується завжди визначати ``PY_SSIZE_T_CLEAN`` перед включенням " +"``Python.h``. Перегляньте :ref:`parsetuple` для опису цього макросу." + +msgid "" +"All user-visible symbols defined by :file:`Python.h` have a prefix of ``Py`` " +"or ``PY``, except those defined in standard header files. For convenience, " +"and since they are used extensively by the Python interpreter, ``\"Python.h" +"\"`` includes a few standard header files: ````, ````, " +"````, and ````. If the latter header file does not exist " +"on your system, it declares the functions :c:func:`malloc`, :c:func:`free` " +"and :c:func:`realloc` directly." +msgstr "" +"Усі видимі користувачем символи, визначені :file:`Python.h`, мають префікс " +"``Py`` або ``PY``, за винятком тих, що визначені у стандартних файлах " +"заголовків. Для зручності та оскільки вони широко використовуються " +"інтерпретатором Python, ``\"Python.h\"`` містить кілька стандартних файлів " +"заголовків: ````, ````, ````, і ````. " +"Якщо останнього файлу заголовка не існує у вашій системі, він безпосередньо " +"оголошує функції :c:func:`malloc`, :c:func:`free` і :c:func:`realloc`." + +msgid "" +"The next thing we add to our module file is the C function that will be " +"called when the Python expression ``spam.system(string)`` is evaluated " +"(we'll see shortly how it ends up being called)::" +msgstr "" +"Наступне, що ми додаємо до нашого файлу модуля, це функція C, яка буде " +"викликана, коли буде обчислено вираз Python ``spam.system(string)`` " +"(незабаром ми побачимо, як вона буде викликана):" + +msgid "" +"There is a straightforward translation from the argument list in Python (for " +"example, the single expression ``\"ls -l\"``) to the arguments passed to the " +"C function. The C function always has two arguments, conventionally named " +"*self* and *args*." +msgstr "" +"Існує прямий переклад зі списку аргументів у Python (наприклад, один вираз ``" +"\"ls -l\"``) в аргументи, передані функції C. Функція C завжди має два " +"аргументи, умовно названі *self* і *args*." + +msgid "" +"The *self* argument points to the module object for module-level functions; " +"for a method it would point to the object instance." +msgstr "" +"Аргумент *self* вказує на об’єкт модуля для функцій рівня модуля; для методу " +"він вказував би на екземпляр об’єкта." + +msgid "" +"The *args* argument will be a pointer to a Python tuple object containing " +"the arguments. Each item of the tuple corresponds to an argument in the " +"call's argument list. The arguments are Python objects --- in order to do " +"anything with them in our C function we have to convert them to C values. " +"The function :c:func:`PyArg_ParseTuple` in the Python API checks the " +"argument types and converts them to C values. It uses a template string to " +"determine the required types of the arguments as well as the types of the C " +"variables into which to store the converted values. More about this later." +msgstr "" +"Аргумент *args* буде вказівником на об’єкт кортежу Python, що містить " +"аргументи. Кожен елемент кортежу відповідає аргументу в списку аргументів " +"виклику. Аргументи є об’єктами Python --- щоб щось робити з ними в нашій " +"функції C, ми повинні перетворити їх на значення C. Функція :c:func:" +"`PyArg_ParseTuple` в API Python перевіряє типи аргументів і перетворює їх на " +"значення C. Він використовує рядок шаблону для визначення необхідних типів " +"аргументів, а також типів змінних C, у яких зберігатимуться перетворені " +"значення. Про це пізніше." + +msgid "" +":c:func:`PyArg_ParseTuple` returns true (nonzero) if all arguments have the " +"right type and its components have been stored in the variables whose " +"addresses are passed. It returns false (zero) if an invalid argument list " +"was passed. In the latter case it also raises an appropriate exception so " +"the calling function can return ``NULL`` immediately (as we saw in the " +"example)." +msgstr "" +":c:func:`PyArg_ParseTuple` повертає істину (не нуль), якщо всі аргументи " +"мають правильний тип і його компоненти зберігаються в змінних, адреси яких " +"передано. Він повертає false (нуль), якщо було передано недійсний список " +"аргументів. В останньому випадку він також викликає відповідний виняток, щоб " +"функція, що викликає, могла негайно повернути ``NULL`` (як ми бачили в " +"прикладі)." + +msgid "Intermezzo: Errors and Exceptions" +msgstr "Intermezzo: помилки та винятки" + +msgid "" +"An important convention throughout the Python interpreter is the following: " +"when a function fails, it should set an exception condition and return an " +"error value (usually ``-1`` or a ``NULL`` pointer). Exception information " +"is stored in three members of the interpreter's thread state. These are " +"``NULL`` if there is no exception. Otherwise they are the C equivalents of " +"the members of the Python tuple returned by :meth:`sys.exc_info`. These are " +"the exception type, exception instance, and a traceback object. It is " +"important to know about them to understand how errors are passed around." +msgstr "" +"Важлива конвенція в інтерпретаторі Python полягає в наступному: коли функція " +"виходить з ладу, вона повинна встановити умову винятку та повернути значення " +"помилки (зазвичай ``-1`` або ``NULL`` покажчик). Інформація про винятки " +"зберігається в трьох членах стану потоку інтерпретатора. Це ``NULL``, якщо " +"немає винятку. В іншому випадку вони є еквівалентами C членів кортежу " +"Python, які повертає :meth:`sys.exc_info`. Це тип винятку, екземпляр винятку " +"та об’єкт трасування. Важливо знати про них, щоб зрозуміти, як передаються " +"помилки." + +msgid "" +"The Python API defines a number of functions to set various types of " +"exceptions." +msgstr "" +"API Python визначає низку функцій для встановлення різних типів винятків." + +msgid "" +"The most common one is :c:func:`PyErr_SetString`. Its arguments are an " +"exception object and a C string. The exception object is usually a " +"predefined object like :c:data:`PyExc_ZeroDivisionError`. The C string " +"indicates the cause of the error and is converted to a Python string object " +"and stored as the \"associated value\" of the exception." +msgstr "" +"Найпоширенішим є :c:func:`PyErr_SetString`. Його аргументами є об’єкт " +"винятку та рядок C. Об’єкт винятку зазвичай є попередньо визначеним " +"об’єктом, наприклад :c:data:`PyExc_ZeroDivisionError`. Рядок C вказує на " +"причину помилки, перетворюється на об’єкт рядка Python і зберігається як " +"\"пов’язане значення\" винятку." + +msgid "" +"Another useful function is :c:func:`PyErr_SetFromErrno`, which only takes an " +"exception argument and constructs the associated value by inspection of the " +"global variable :c:data:`errno`. The most general function is :c:func:" +"`PyErr_SetObject`, which takes two object arguments, the exception and its " +"associated value. You don't need to :c:func:`Py_INCREF` the objects passed " +"to any of these functions." +msgstr "" +"Іншою корисною функцією є :c:func:`PyErr_SetFromErrno`, яка приймає лише " +"аргумент винятку та створює пов’язане значення шляхом перевірки глобальної " +"змінної :c:data:`errno`. Найбільш загальною функцією є :c:func:" +"`PyErr_SetObject`, яка приймає два аргументи об’єкта, виняток і пов’язане з " +"ним значення. Вам не потрібно :c:func:`Py_INCREF` об’єкти, передані в будь-" +"яку з цих функцій." + +msgid "" +"You can test non-destructively whether an exception has been set with :c:" +"func:`PyErr_Occurred`. This returns the current exception object, or " +"``NULL`` if no exception has occurred. You normally don't need to call :c:" +"func:`PyErr_Occurred` to see whether an error occurred in a function call, " +"since you should be able to tell from the return value." +msgstr "" +"За допомогою :c:func:`PyErr_Occurred` можна неруйнівним чином перевірити, чи " +"встановлено виняток. Це повертає поточний об’єкт винятку або ``NULL``, якщо " +"винятку не сталося. Зазвичай вам не потрібно викликати :c:func:" +"`PyErr_Occurred`, щоб перевірити, чи сталася помилка під час виклику " +"функції, оскільки ви зможете визначити це за значенням, що повертається." + +msgid "" +"When a function *f* that calls another function *g* detects that the latter " +"fails, *f* should itself return an error value (usually ``NULL`` or " +"``-1``). It should *not* call one of the ``PyErr_*`` functions --- one has " +"already been called by *g*. *f*'s caller is then supposed to also return an " +"error indication to *its* caller, again *without* calling ``PyErr_*``, and " +"so on --- the most detailed cause of the error was already reported by the " +"function that first detected it. Once the error reaches the Python " +"interpreter's main loop, this aborts the currently executing Python code and " +"tries to find an exception handler specified by the Python programmer." +msgstr "" + +msgid "" +"(There are situations where a module can actually give a more detailed error " +"message by calling another ``PyErr_*`` function, and in such cases it is " +"fine to do so. As a general rule, however, this is not necessary, and can " +"cause information about the cause of the error to be lost: most operations " +"can fail for a variety of reasons.)" +msgstr "" + +msgid "" +"To ignore an exception set by a function call that failed, the exception " +"condition must be cleared explicitly by calling :c:func:`PyErr_Clear`. The " +"only time C code should call :c:func:`PyErr_Clear` is if it doesn't want to " +"pass the error on to the interpreter but wants to handle it completely by " +"itself (possibly by trying something else, or pretending nothing went wrong)." +msgstr "" +"Щоб проігнорувати виняток, встановлений невдалим викликом функції, умову " +"виключення потрібно явно очистити, викликавши :c:func:`PyErr_Clear`. Єдиний " +"раз, коли C-код повинен викликати :c:func:`PyErr_Clear`, це якщо він не хоче " +"передавати помилку інтерпретатору, а хоче обробити її повністю сам (можливо, " +"спробувавши щось інше або вдаючи, що нічого не пішло не так). )." + +msgid "" +"Every failing :c:func:`malloc` call must be turned into an exception --- the " +"direct caller of :c:func:`malloc` (or :c:func:`realloc`) must call :c:func:" +"`PyErr_NoMemory` and return a failure indicator itself. All the object-" +"creating functions (for example, :c:func:`PyLong_FromLong`) already do this, " +"so this note is only relevant to those who call :c:func:`malloc` directly." +msgstr "" +"Кожен невдалий виклик :c:func:`malloc` має бути перетворений на виняток --- " +"прямий виклик :c:func:`malloc` (або :c:func:`realloc`) повинен викликати :c:" +"func:`PyErr_NoMemory` і повертає сам індикатор помилки. Усі функції " +"створення об’єктів (наприклад, :c:func:`PyLong_FromLong`) уже це роблять, " +"тому ця примітка актуальна лише для тих, хто викликає :c:func:`malloc` " +"безпосередньо." + +msgid "" +"Also note that, with the important exception of :c:func:`PyArg_ParseTuple` " +"and friends, functions that return an integer status usually return a " +"positive value or zero for success and ``-1`` for failure, like Unix system " +"calls." +msgstr "" +"Також зауважте, що, за винятком :c:func:`PyArg_ParseTuple` та друзів, " +"функції, які повертають цілочисельний статус, зазвичай повертають додатне " +"значення або нуль у разі успіху та ``-1`` у разі невдачі, як системні " +"виклики Unix." + +msgid "" +"Finally, be careful to clean up garbage (by making :c:func:`Py_XDECREF` or :" +"c:func:`Py_DECREF` calls for objects you have already created) when you " +"return an error indicator!" +msgstr "" +"Нарешті, будьте обережні, щоб очистити сміття (за допомогою викликів :c:func:" +"`Py_XDECREF` або :c:func:`Py_DECREF` для об’єктів, які ви вже створили), " +"коли ви повертаєте індикатор помилки!" + +msgid "" +"The choice of which exception to raise is entirely yours. There are " +"predeclared C objects corresponding to all built-in Python exceptions, such " +"as :c:data:`PyExc_ZeroDivisionError`, which you can use directly. Of course, " +"you should choose exceptions wisely --- don't use :c:data:`PyExc_TypeError` " +"to mean that a file couldn't be opened (that should probably be :c:data:" +"`PyExc_IOError`). If something's wrong with the argument list, the :c:func:" +"`PyArg_ParseTuple` function usually raises :c:data:`PyExc_TypeError`. If " +"you have an argument whose value must be in a particular range or must " +"satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate." +msgstr "" +"Вибір, який виняток підняти, повністю залежить від вас. Існують попередньо " +"оголошені об’єкти C, що відповідають усім вбудованим виняткам Python, " +"наприклад :c:data:`PyExc_ZeroDivisionError`, які можна використовувати " +"безпосередньо. Звичайно, ви повинні вибирати винятки з розумом --- не " +"використовуйте :c:data:`PyExc_TypeError`, щоб означати, що файл не вдалося " +"відкрити (це, ймовірно, має бути :c:data:`PyExc_IOError`). Якщо щось не так " +"зі списком аргументів, функція :c:func:`PyArg_ParseTuple` зазвичай викликає :" +"c:data:`PyExc_TypeError`. Якщо у вас є аргумент, значення якого має бути в " +"певному діапазоні або має задовольняти інші умови, :c:data:" +"`PyExc_ValueError` підходить." + +msgid "" +"You can also define a new exception that is unique to your module. For this, " +"you usually declare a static object variable at the beginning of your file::" +msgstr "" +"Ви також можете визначити новий виняток, унікальний для вашого модуля. Для " +"цього ви зазвичай оголошуєте змінну статичного об’єкта на початку вашого " +"файлу::" + +msgid "" +"and initialize it in your module's initialization function (:c:func:" +"`PyInit_spam`) with an exception object::" +msgstr "" +"та ініціалізуйте його у функції ініціалізації вашого модуля (:c:func:" +"`PyInit_spam`) за допомогою об’єкта винятку::" + +msgid "" +"Note that the Python name for the exception object is :exc:`spam.error`. " +"The :c:func:`PyErr_NewException` function may create a class with the base " +"class being :exc:`Exception` (unless another class is passed in instead of " +"``NULL``), described in :ref:`bltin-exceptions`." +msgstr "" +"Зауважте, що ім’я Python для об’єкта винятку – :exc:`spam.error`. Функція :c:" +"func:`PyErr_NewException` може створити клас із базовим класом :exc:" +"`Exception` (якщо інший клас не передано замість ``NULL``), описано в :ref:" +"`bltin-exceptions`." + +msgid "" +"Note also that the :c:data:`SpamError` variable retains a reference to the " +"newly created exception class; this is intentional! Since the exception " +"could be removed from the module by external code, an owned reference to the " +"class is needed to ensure that it will not be discarded, causing :c:data:" +"`SpamError` to become a dangling pointer. Should it become a dangling " +"pointer, C code which raises the exception could cause a core dump or other " +"unintended side effects." +msgstr "" +"Зауважте також, що змінна :c:data:`SpamError` зберігає посилання на щойно " +"створений клас винятків; це навмисно! Оскільки виняток може бути видалено з " +"модуля за допомогою зовнішнього коду, потрібне власне посилання на клас, щоб " +"гарантувати, що його не буде відкинуто, через що :c:data:`SpamError` стане " +"висячим покажчиком. Якщо він стане висячим покажчиком, код C, який викликає " +"виняток, може спричинити дамп ядра або інші небажані побічні ефекти." + +msgid "" +"We discuss the use of ``PyMODINIT_FUNC`` as a function return type later in " +"this sample." +msgstr "" +"Далі в цьому зразку ми обговорюємо використання ``PyMODINIT_FUNC`` як типу " +"повернення функції." + +msgid "" +"The :exc:`spam.error` exception can be raised in your extension module using " +"a call to :c:func:`PyErr_SetString` as shown below::" +msgstr "" +"Виняток :exc:`spam.error` можна викликати у вашому модулі розширення за " +"допомогою виклику :c:func:`PyErr_SetString`, як показано нижче::" + +msgid "Back to the Example" +msgstr "Повернемося до прикладу" + +msgid "" +"Going back to our example function, you should now be able to understand " +"this statement::" +msgstr "" +"Повертаючись до нашого прикладу функції, тепер ви зможете зрозуміти цей " +"оператор:" + +msgid "" +"It returns ``NULL`` (the error indicator for functions returning object " +"pointers) if an error is detected in the argument list, relying on the " +"exception set by :c:func:`PyArg_ParseTuple`. Otherwise the string value of " +"the argument has been copied to the local variable :c:data:`command`. This " +"is a pointer assignment and you are not supposed to modify the string to " +"which it points (so in Standard C, the variable :c:data:`command` should " +"properly be declared as ``const char *command``)." +msgstr "" +"Він повертає ``NULL`` (індикатор помилки для функцій, що повертають " +"вказівники на об’єкти), якщо помилка виявлена в списку аргументів, " +"покладаючись на виняток, встановлений :c:func:`PyArg_ParseTuple`. В іншому " +"випадку рядкове значення аргументу було скопійовано до локальної змінної :c:" +"data:`command`. Це призначення вказівника, і ви не повинні змінювати рядок, " +"на який він вказує (тому в Standard C змінна :c:data:`command` має бути " +"правильно оголошена як ``const char *command``)." + +msgid "" +"The next statement is a call to the Unix function :c:func:`system`, passing " +"it the string we just got from :c:func:`PyArg_ParseTuple`::" +msgstr "" +"Наступний оператор — це виклик функції Unix :c:func:`system`, передаючи їй " +"рядок, який ми щойно отримали з :c:func:`PyArg_ParseTuple`::" + +msgid "" +"Our :func:`spam.system` function must return the value of :c:data:`sts` as a " +"Python object. This is done using the function :c:func:`PyLong_FromLong`. ::" +msgstr "" +"Наша функція :func:`spam.system` має повертати значення :c:data:`sts` як " +"об’єкт Python. Це робиться за допомогою функції :c:func:`PyLong_FromLong`. ::" + +msgid "" +"In this case, it will return an integer object. (Yes, even integers are " +"objects on the heap in Python!)" +msgstr "" +"У цьому випадку він поверне цілочисельний об’єкт. (Так, навіть цілі числа є " +"об’єктами в купі в Python!)" + +msgid "" +"If you have a C function that returns no useful argument (a function " +"returning :c:expr:`void`), the corresponding Python function must return " +"``None``. You need this idiom to do so (which is implemented by the :c:" +"macro:`Py_RETURN_NONE` macro)::" +msgstr "" + +msgid "" +":c:data:`Py_None` is the C name for the special Python object ``None``. It " +"is a genuine Python object rather than a ``NULL`` pointer, which means " +"\"error\" in most contexts, as we have seen." +msgstr "" +":c:data:`Py_None` — це ім’я C для спеціального об’єкта Python ``None``. Це " +"справжній об’єкт Python, а не покажчик ``NULL``, що означає \"помилку\" в " +"більшості контекстів, як ми бачили." + +msgid "The Module's Method Table and Initialization Function" +msgstr "Таблиця методів модуля та функція ініціалізації" + +msgid "" +"I promised to show how :c:func:`spam_system` is called from Python programs. " +"First, we need to list its name and address in a \"method table\"::" +msgstr "" +"Я обіцяв показати, як :c:func:`spam_system` викликається з програм Python. " +"По-перше, нам потрібно вказати його назву та адресу в \"таблиці методів\"::" + +msgid "" +"Note the third entry (``METH_VARARGS``). This is a flag telling the " +"interpreter the calling convention to be used for the C function. It should " +"normally always be ``METH_VARARGS`` or ``METH_VARARGS | METH_KEYWORDS``; a " +"value of ``0`` means that an obsolete variant of :c:func:`PyArg_ParseTuple` " +"is used." +msgstr "" +"Зверніть увагу на третій запис (``METH_VARARGS``). Це прапорець, який " +"повідомляє інтерпретатору умову виклику, яка буде використовуватися для " +"функції C. Зазвичай це завжди має бути ``METH_VARARGS`` або ``METH_VARARGS | " +"METH_KEYWORDS``; значення ``0`` означає, що використовується застарілий " +"варіант :c:func:`PyArg_ParseTuple`." + +msgid "" +"When using only ``METH_VARARGS``, the function should expect the Python-" +"level parameters to be passed in as a tuple acceptable for parsing via :c:" +"func:`PyArg_ParseTuple`; more information on this function is provided below." +msgstr "" +"Якщо використовується лише ``METH_VARARGS``, функція повинна очікувати, що " +"параметри рівня Python будуть передані як кортеж, прийнятний для аналізу " +"через :c:func:`PyArg_ParseTuple`; більше інформації про цю функцію наведено " +"нижче." + +msgid "" +"The :const:`METH_KEYWORDS` bit may be set in the third field if keyword " +"arguments should be passed to the function. In this case, the C function " +"should accept a third ``PyObject *`` parameter which will be a dictionary of " +"keywords. Use :c:func:`PyArg_ParseTupleAndKeywords` to parse the arguments " +"to such a function." +msgstr "" +"Біт :const:`METH_KEYWORDS` можна встановити в третьому полі, якщо ключові " +"аргументи повинні бути передані функції. У цьому випадку функція C повинна " +"прийняти третій параметр ``PyObject *``, який буде словником ключових слів. " +"Використовуйте :c:func:`PyArg_ParseTupleAndKeywords`, щоб проаналізувати " +"аргументи такої функції." + +msgid "" +"The method table must be referenced in the module definition structure::" +msgstr "На таблицю методів має бути посилання в структурі визначення модуля:" + +msgid "" +"This structure, in turn, must be passed to the interpreter in the module's " +"initialization function. The initialization function must be named :c:func:" +"`PyInit_name`, where *name* is the name of the module, and should be the " +"only non-\\ ``static`` item defined in the module file::" +msgstr "" +"Ця структура, у свою чергу, повинна бути передана інтерпретатору у функції " +"ініціалізації модуля. Функція ініціалізації має мати назву :c:func:" +"`PyInit_name`, де *name* — це ім’я модуля, і це має бути єдиний не\\ " +"``статичний`` елемент, визначений у файлі модуля::" + +msgid "" +"Note that PyMODINIT_FUNC declares the function as ``PyObject *`` return " +"type, declares any special linkage declarations required by the platform, " +"and for C++ declares the function as ``extern \"C\"``." +msgstr "" +"Зауважте, що PyMODINIT_FUNC оголошує функцію як тип повернення ``PyObject " +"*``, оголошує будь-які спеціальні оголошення зв’язків, які вимагає " +"платформа, а для C++ оголошує функцію як ``extern \"C\"``." + +msgid "" +"When the Python program imports module :mod:`spam` for the first time, :c:" +"func:`PyInit_spam` is called. (See below for comments about embedding " +"Python.) It calls :c:func:`PyModule_Create`, which returns a module object, " +"and inserts built-in function objects into the newly created module based " +"upon the table (an array of :c:type:`PyMethodDef` structures) found in the " +"module definition. :c:func:`PyModule_Create` returns a pointer to the module " +"object that it creates. It may abort with a fatal error for certain errors, " +"or return ``NULL`` if the module could not be initialized satisfactorily. " +"The init function must return the module object to its caller, so that it " +"then gets inserted into ``sys.modules``." +msgstr "" +"Коли програма Python імпортує модуль :mod:`spam` вперше, викликається :c:" +"func:`PyInit_spam`. (Див. коментарі щодо вбудовування Python нижче.) Він " +"викликає :c:func:`PyModule_Create`, який повертає об’єкт модуля та вставляє " +"об’єкти вбудованої функції в щойно створений модуль на основі таблиці " +"(масив :c:type:`PyMethodDef` structures), знайдений у визначенні модуля. :c:" +"func:`PyModule_Create` повертає вказівник на об’єкт модуля, який він " +"створює. Він може перерватися з фатальною помилкою для певних помилок або " +"повернути ``NULL``, якщо модуль не вдалося задовільно ініціалізувати. " +"Функція init має повернути об’єкт модуля до свого виклику, щоб потім він був " +"вставлений у ``sys.modules``." + +msgid "" +"When embedding Python, the :c:func:`PyInit_spam` function is not called " +"automatically unless there's an entry in the :c:data:`PyImport_Inittab` " +"table. To add the module to the initialization table, use :c:func:" +"`PyImport_AppendInittab`, optionally followed by an import of the module::" +msgstr "" +"Під час вбудовування Python функція :c:func:`PyInit_spam` не викликається " +"автоматично, якщо немає запису в таблиці :c:data:`PyImport_Inittab`. Щоб " +"додати модуль до таблиці ініціалізації, скористайтеся :c:func:" +"`PyImport_AppendInittab`, необов’язково з наступним імпортом модуля::" + +msgid "" +"Removing entries from ``sys.modules`` or importing compiled modules into " +"multiple interpreters within a process (or following a :c:func:`fork` " +"without an intervening :c:func:`exec`) can create problems for some " +"extension modules. Extension module authors should exercise caution when " +"initializing internal data structures." +msgstr "" +"Видалення записів із ``sys.modules`` або імпортування скомпільованих модулів " +"у кілька інтерпретаторів у межах процесу (або виконання :c:func:`fork` без " +"втручання :c:func:`exec`) може створити проблеми для деяких розширень " +"модулі. Авторам модулів розширення слід бути обережними під час " +"ініціалізації внутрішніх структур даних." + +msgid "" +"A more substantial example module is included in the Python source " +"distribution as :file:`Modules/xxmodule.c`. This file may be used as a " +"template or simply read as an example." +msgstr "" +"Більш суттєвий приклад модуля включено в вихідний код Python як :file:" +"`Modules/xxmodule.c`. Цей файл можна використовувати як шаблон або просто " +"прочитати як приклад." + +msgid "" +"Unlike our ``spam`` example, ``xxmodule`` uses *multi-phase initialization* " +"(new in Python 3.5), where a PyModuleDef structure is returned from " +"``PyInit_spam``, and creation of the module is left to the import machinery. " +"For details on multi-phase initialization, see :PEP:`489`." +msgstr "" +"На відміну від нашого прикладу ``спаму``, ``xxmodule`` використовує " +"*багатофазову ініціалізацію* (нове в Python 3.5), де структура PyModuleDef " +"повертається з ``PyInit_spam``, а створення модуля залишається за імпортне " +"обладнання. Докладніше про багатофазову ініціалізацію див. :PEP:`489`." + +msgid "Compilation and Linkage" +msgstr "Компіляція та зв'язування" + +msgid "" +"There are two more things to do before you can use your new extension: " +"compiling and linking it with the Python system. If you use dynamic " +"loading, the details may depend on the style of dynamic loading your system " +"uses; see the chapters about building extension modules (chapter :ref:" +"`building`) and additional information that pertains only to building on " +"Windows (chapter :ref:`building-on-windows`) for more information about this." +msgstr "" +"Перш ніж використовувати нове розширення, потрібно зробити ще дві речі: " +"скомпілювати та зв’язати його з системою Python. Якщо ви використовуєте " +"динамічне завантаження, деталі можуть залежати від стилю динамічного " +"завантаження, який використовує ваша система; дивіться розділи про створення " +"модулів розширення (глава :ref:`building`) та додаткову інформацію, яка " +"стосується лише збірки на Windows (глава :ref:`building-on-windows`), щоб " +"отримати додаткові відомості про це." + +msgid "" +"If you can't use dynamic loading, or if you want to make your module a " +"permanent part of the Python interpreter, you will have to change the " +"configuration setup and rebuild the interpreter. Luckily, this is very " +"simple on Unix: just place your file (:file:`spammodule.c` for example) in " +"the :file:`Modules/` directory of an unpacked source distribution, add a " +"line to the file :file:`Modules/Setup.local` describing your file:" +msgstr "" +"Якщо ви не можете використовувати динамічне завантаження або якщо ви хочете " +"зробити свій модуль постійною частиною інтерпретатора Python, вам доведеться " +"змінити налаштування конфігурації та перебудувати інтерпретатор. На щастя, в " +"Unix це дуже просто: просто розмістіть свій файл (наприклад, :file:" +"`spammodule.c`) у каталозі :file:`Modules/` розпакованого вихідного " +"дистрибутива, додайте рядок до файлу :file:`Modules/Setup.local`, що описує " +"ваш файл:" + +msgid "" +"and rebuild the interpreter by running :program:`make` in the toplevel " +"directory. You can also run :program:`make` in the :file:`Modules/` " +"subdirectory, but then you must first rebuild :file:`Makefile` there by " +"running ':program:`make` Makefile'. (This is necessary each time you change " +"the :file:`Setup` file.)" +msgstr "" +"і перебудуйте інтерпретатор, запустивши :program:`make` у каталозі верхнього " +"рівня. Ви також можете запустити :program:`make` у підкаталозі :file:" +"`Modules/`, але тоді ви повинні спочатку перебудувати :file:`Makefile` там, " +"запустивши ':program:`make` Makefile'. (Це необхідно щоразу, коли ви " +"змінюєте файл :file:`Setup`.)" + +msgid "" +"If your module requires additional libraries to link with, these can be " +"listed on the line in the configuration file as well, for instance:" +msgstr "" +"Якщо вашому модулю потрібні додаткові бібліотеки для зв’язування, їх також " +"можна вказати в рядку у файлі конфігурації, наприклад:" + +msgid "Calling Python Functions from C" +msgstr "Виклик функцій Python із C" + +msgid "" +"So far we have concentrated on making C functions callable from Python. The " +"reverse is also useful: calling Python functions from C. This is especially " +"the case for libraries that support so-called \"callback\" functions. If a " +"C interface makes use of callbacks, the equivalent Python often needs to " +"provide a callback mechanism to the Python programmer; the implementation " +"will require calling the Python callback functions from a C callback. Other " +"uses are also imaginable." +msgstr "" +"Поки що ми зосереджувалися на тому, щоб зробити функції C викликаними з " +"Python. Корисним є і зворотний шлях: виклик функцій Python із C. Особливо це " +"стосується бібліотек, які підтримують так звані функції \"зворотного виклику" +"\". Якщо інтерфейс C використовує зворотні виклики, еквівалентний Python " +"часто потребує надання механізму зворотного виклику для програміста Python; " +"реалізація вимагатиме виклику функцій зворотного виклику Python із " +"зворотного виклику C. Можна уявити й інші способи використання." + +msgid "" +"Fortunately, the Python interpreter is easily called recursively, and there " +"is a standard interface to call a Python function. (I won't dwell on how to " +"call the Python parser with a particular string as input --- if you're " +"interested, have a look at the implementation of the :option:`-c` command " +"line option in :file:`Modules/main.c` from the Python source code.)" +msgstr "" +"На щастя, інтерпретатор Python легко викликати рекурсивно, і існує " +"стандартний інтерфейс для виклику функції Python. (Я не буду зупинятися на " +"тому, як викликати синтаксичний аналізатор Python за допомогою певного рядка " +"як вхідних даних --- якщо вам цікаво, подивіться на реалізацію параметра " +"командного рядка :option:`-c` у :file:`Modules/main.c` з вихідного коду " +"Python.)" + +msgid "" +"Calling a Python function is easy. First, the Python program must somehow " +"pass you the Python function object. You should provide a function (or some " +"other interface) to do this. When this function is called, save a pointer " +"to the Python function object (be careful to :c:func:`Py_INCREF` it!) in a " +"global variable --- or wherever you see fit. For example, the following " +"function might be part of a module definition::" +msgstr "" +"Викликати функцію Python легко. По-перше, програма Python повинна якимось " +"чином передати вам об’єкт функції Python. Ви повинні надати функцію (або " +"інший інтерфейс), щоб це зробити. Під час виклику цієї функції збережіть " +"вказівник на об’єкт функції Python (будьте обережні, щоб :c:func:`Py_INCREF` " +"це!) у глобальній змінній --- або будь-де, де ви вважаєте за потрібне. " +"Наприклад, наступна функція може бути частиною визначення модуля:" + +msgid "" +"This function must be registered with the interpreter using the :const:" +"`METH_VARARGS` flag; this is described in section :ref:`methodtable`. The :" +"c:func:`PyArg_ParseTuple` function and its arguments are documented in " +"section :ref:`parsetuple`." +msgstr "" +"Ця функція має бути зареєстрована в інтерпретаторі за допомогою прапорця :" +"const:`METH_VARARGS`; це описано в розділі :ref:`methodtable`. Функція :c:" +"func:`PyArg_ParseTuple` та її аргументи описані в розділі :ref:`parsetuple`." + +msgid "" +"The macros :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF` increment/decrement " +"the reference count of an object and are safe in the presence of ``NULL`` " +"pointers (but note that *temp* will not be ``NULL`` in this context). More " +"info on them in section :ref:`refcounts`." +msgstr "" +"Макроси :c:func:`Py_XINCREF` і :c:func:`Py_XDECREF` збільшують/зменшують " +"кількість посилань на об’єкт і безпечні за наявності покажчиків ``NULL`` " +"(але зауважте, що *temp* не буде бути ``NULL`` у цьому контексті). " +"Детальніше про них у розділі :ref:`refcounts`." + +msgid "" +"Later, when it is time to call the function, you call the C function :c:func:" +"`PyObject_CallObject`. This function has two arguments, both pointers to " +"arbitrary Python objects: the Python function, and the argument list. The " +"argument list must always be a tuple object, whose length is the number of " +"arguments. To call the Python function with no arguments, pass in ``NULL``, " +"or an empty tuple; to call it with one argument, pass a singleton tuple. :c:" +"func:`Py_BuildValue` returns a tuple when its format string consists of zero " +"or more format codes between parentheses. For example::" +msgstr "" +"Пізніше, коли прийде час викликати функцію, ви викликаєте функцію C :c:func:" +"`PyObject_CallObject`. Ця функція має два аргументи, обидва вказують на " +"довільні об’єкти Python: функція Python і список аргументів. Список " +"аргументів завжди має бути об’єктом кортежу, довжина якого дорівнює " +"кількості аргументів. Щоб викликати функцію Python без аргументів, передайте " +"``NULL`` або пустий кортеж; щоб викликати його з одним аргументом, передайте " +"одиночний кортеж. :c:func:`Py_BuildValue` повертає кортеж, якщо його рядок " +"формату складається з нуля або більше кодів формату в дужках. Наприклад::" + +msgid "" +":c:func:`PyObject_CallObject` returns a Python object pointer: this is the " +"return value of the Python function. :c:func:`PyObject_CallObject` is " +"\"reference-count-neutral\" with respect to its arguments. In the example a " +"new tuple was created to serve as the argument list, which is :c:func:" +"`Py_DECREF`\\ -ed immediately after the :c:func:`PyObject_CallObject` call." +msgstr "" +":c:func:`PyObject_CallObject` повертає покажчик на об’єкт Python: це " +"значення, яке повертає функція Python. :c:func:`PyObject_CallObject` є " +"\"нейтральним щодо кількості посилань\" щодо своїх аргументів. У прикладі " +"було створено новий кортеж, який слугуватиме списком аргументів, який :c:" +"func:`Py_DECREF`\\ -редагується відразу після виклику :c:func:" +"`PyObject_CallObject`." + +msgid "" +"The return value of :c:func:`PyObject_CallObject` is \"new\": either it is a " +"brand new object, or it is an existing object whose reference count has been " +"incremented. So, unless you want to save it in a global variable, you " +"should somehow :c:func:`Py_DECREF` the result, even (especially!) if you are " +"not interested in its value." +msgstr "" +"Значення, що повертається :c:func:`PyObject_CallObject`, є \"новим\": або це " +"абсолютно новий об’єкт, або це вже існуючий об’єкт, кількість посилань на " +"який було збільшено. Отже, якщо ви не хочете зберегти його в глобальній " +"змінній, ви повинні якимось чином :c:func:`Py_DECREF` результат, навіть " +"(особливо!), якщо вас не цікавить його значення." + +msgid "" +"Before you do this, however, it is important to check that the return value " +"isn't ``NULL``. If it is, the Python function terminated by raising an " +"exception. If the C code that called :c:func:`PyObject_CallObject` is called " +"from Python, it should now return an error indication to its Python caller, " +"so the interpreter can print a stack trace, or the calling Python code can " +"handle the exception. If this is not possible or desirable, the exception " +"should be cleared by calling :c:func:`PyErr_Clear`. For example::" +msgstr "" +"Однак перед тим, як це зробити, важливо переконатися, що значення, що " +"повертається, не ``NULL``. Якщо так, функція Python припиняється, викликаючи " +"виняток. Якщо код C, який викликав :c:func:`PyObject_CallObject`, " +"викликається з Python, тепер він має повернути вказівку про помилку своєму " +"виклику Python, щоб інтерпретатор міг надрукувати трасування стека, або " +"викликаючий код Python міг обробити виняткову ситуацію. Якщо це неможливо чи " +"бажано, виняток слід очистити, викликавши :c:func:`PyErr_Clear`. Наприклад::" + +msgid "" +"Depending on the desired interface to the Python callback function, you may " +"also have to provide an argument list to :c:func:`PyObject_CallObject`. In " +"some cases the argument list is also provided by the Python program, through " +"the same interface that specified the callback function. It can then be " +"saved and used in the same manner as the function object. In other cases, " +"you may have to construct a new tuple to pass as the argument list. The " +"simplest way to do this is to call :c:func:`Py_BuildValue`. For example, if " +"you want to pass an integral event code, you might use the following code::" +msgstr "" +"Залежно від бажаного інтерфейсу для функції зворотного виклику Python, вам " +"також може знадобитися надати список аргументів для :c:func:" +"`PyObject_CallObject`. У деяких випадках список аргументів також надається " +"програмою Python через той самий інтерфейс, який вказав функцію зворотного " +"виклику. Потім його можна зберегти та використовувати так само, як і об’єкт " +"функції. В інших випадках вам, можливо, доведеться створити новий кортеж для " +"передачі як списку аргументів. Найпростіший спосіб зробити це — викликати :c:" +"func:`Py_BuildValue`. Наприклад, якщо ви хочете передати інтегральний код " +"події, ви можете використати такий код:" + +msgid "" +"Note the placement of ``Py_DECREF(arglist)`` immediately after the call, " +"before the error check! Also note that strictly speaking this code is not " +"complete: :c:func:`Py_BuildValue` may run out of memory, and this should be " +"checked." +msgstr "" +"Зверніть увагу на розміщення ``Py_DECREF(arglist)`` одразу після виклику, " +"перед перевіркою помилок! Також зауважте, що строго кажучи, цей код " +"неповний: :c:func:`Py_BuildValue` може не вистачати пам’яті, і це слід " +"перевірити." + +msgid "" +"You may also call a function with keyword arguments by using :c:func:" +"`PyObject_Call`, which supports arguments and keyword arguments. As in the " +"above example, we use :c:func:`Py_BuildValue` to construct the dictionary. ::" +msgstr "" +"Ви також можете викликати функцію з ключовими аргументами за допомогою :c:" +"func:`PyObject_Call`, який підтримує аргументи та ключові аргументи. Як і в " +"наведеному вище прикладі, ми використовуємо :c:func:`Py_BuildValue` для " +"створення словника. ::" + +msgid "Extracting Parameters in Extension Functions" +msgstr "Вилучення параметрів у функціях розширення" + +msgid "The :c:func:`PyArg_ParseTuple` function is declared as follows::" +msgstr "Функція :c:func:`PyArg_ParseTuple` оголошується таким чином:" + +msgid "" +"The *arg* argument must be a tuple object containing an argument list passed " +"from Python to a C function. The *format* argument must be a format string, " +"whose syntax is explained in :ref:`arg-parsing` in the Python/C API " +"Reference Manual. The remaining arguments must be addresses of variables " +"whose type is determined by the format string." +msgstr "" +"Аргумент *arg* має бути об’єктом кортежу, що містить список аргументів, " +"переданий з Python до функції C. Аргумент *format* має бути рядком формату, " +"синтаксис якого пояснюється в :ref:`arg-parsing` у довідковому посібнику " +"Python/C API. Решта аргументів мають бути адресами змінних, тип яких " +"визначається рядком формату." + +msgid "" +"Note that while :c:func:`PyArg_ParseTuple` checks that the Python arguments " +"have the required types, it cannot check the validity of the addresses of C " +"variables passed to the call: if you make mistakes there, your code will " +"probably crash or at least overwrite random bits in memory. So be careful!" +msgstr "" +"Зауважте, що хоча :c:func:`PyArg_ParseTuple` перевіряє, чи аргументи Python " +"мають необхідні типи, він не може перевірити дійсність адрес змінних C, " +"переданих до виклику: якщо ви припуститеся там помилки, ваш код, ймовірно, " +"аварійно завершить роботу. найменше перезаписувати випадкові біти в пам'яті. " +"Тому будьте обережні!" + +msgid "" +"Note that any Python object references which are provided to the caller are " +"*borrowed* references; do not decrement their reference count!" +msgstr "" +"Зауважте, що будь-які посилання на об’єкти Python, які надаються абоненту, є " +"*позиченими* посиланнями; не зменшуйте кількість посилань!" + +msgid "Some example calls::" +msgstr "Деякі приклади викликів::" + +msgid "Keyword Parameters for Extension Functions" +msgstr "Параметри ключових слів для функцій розширення" + +msgid "" +"The :c:func:`PyArg_ParseTupleAndKeywords` function is declared as follows::" +msgstr "" +"Функція :c:func:`PyArg_ParseTupleAndKeywords` оголошується таким чином:" + +msgid "" +"The *arg* and *format* parameters are identical to those of the :c:func:" +"`PyArg_ParseTuple` function. The *kwdict* parameter is the dictionary of " +"keywords received as the third parameter from the Python runtime. The " +"*kwlist* parameter is a ``NULL``-terminated list of strings which identify " +"the parameters; the names are matched with the type information from " +"*format* from left to right. On success, :c:func:" +"`PyArg_ParseTupleAndKeywords` returns true, otherwise it returns false and " +"raises an appropriate exception." +msgstr "" +"Параметри *arg* і *format* ідентичні параметрам функції :c:func:" +"`PyArg_ParseTuple`. Параметр *kwdict* — це словник ключових слів, отриманий " +"як третій параметр із середовища виконання Python. Параметр *kwlist* — це " +"список рядків, що завершуються ``NULL`` і ідентифікують параметри; імена " +"зіставляються з інформацією про тип із *format* зліва направо. У разі " +"успіху :c:func:`PyArg_ParseTupleAndKeywords` повертає true, інакше повертає " +"false і викликає відповідний виняток." + +msgid "" +"Nested tuples cannot be parsed when using keyword arguments! Keyword " +"parameters passed in which are not present in the *kwlist* will cause :exc:" +"`TypeError` to be raised." +msgstr "" +"Вкладені кортежі неможливо проаналізувати за допомогою аргументів ключових " +"слів! Передані параметри ключового слова, яких немає в *kwlist*, призведуть " +"до появи :exc:`TypeError`." + +msgid "" +"Here is an example module which uses keywords, based on an example by Geoff " +"Philbrick (philbrick@hks.com)::" +msgstr "" +"Ось приклад модуля, який використовує ключові слова, на основі прикладу " +"Джеффа Філбріка (philbrick@hks.com):" + +msgid "Building Arbitrary Values" +msgstr "Побудова довільних значень" + +msgid "" +"This function is the counterpart to :c:func:`PyArg_ParseTuple`. It is " +"declared as follows::" +msgstr "" +"Ця функція є аналогом :c:func:`PyArg_ParseTuple`. Це оголошено наступним " +"чином:" + +msgid "" +"It recognizes a set of format units similar to the ones recognized by :c:" +"func:`PyArg_ParseTuple`, but the arguments (which are input to the function, " +"not output) must not be pointers, just values. It returns a new Python " +"object, suitable for returning from a C function called from Python." +msgstr "" +"Він розпізнає набір одиниць формату, подібних до тих, які розпізнає :c:func:" +"`PyArg_ParseTuple`, але аргументи (які є вхідними для функції, а не " +"виведеними) не повинні бути вказівниками, а просто значеннями. Він повертає " +"новий об’єкт Python, придатний для повернення з функції C, викликаної з " +"Python." + +msgid "" +"One difference with :c:func:`PyArg_ParseTuple`: while the latter requires " +"its first argument to be a tuple (since Python argument lists are always " +"represented as tuples internally), :c:func:`Py_BuildValue` does not always " +"build a tuple. It builds a tuple only if its format string contains two or " +"more format units. If the format string is empty, it returns ``None``; if it " +"contains exactly one format unit, it returns whatever object is described by " +"that format unit. To force it to return a tuple of size 0 or one, " +"parenthesize the format string." +msgstr "" +"Одна відмінність із :c:func:`PyArg_ParseTuple`: у той час як останній " +"вимагає, щоб його перший аргумент був кортежем (оскільки списки аргументів " +"Python завжди представлені у вигляді кортежів), :c:func:`Py_BuildValue` не " +"завжди створює кортеж . Він створює кортеж, лише якщо його рядок формату " +"містить дві або більше одиниць формату. Якщо рядок формату порожній, " +"повертається ``None``; якщо він містить рівно одну одиницю формату, він " +"повертає будь-який об’єкт, описаний цією одиницею формату. Щоб змусити його " +"повертати кортеж розміром 0 або одиницю, візьміть рядок формату в дужки." + +msgid "" +"Examples (to the left the call, to the right the resulting Python value):" +msgstr "Приклади (ліворуч виклик, праворуч результуюче значення Python):" + +msgid "Reference Counts" +msgstr "Довідкова кількість" + +msgid "" +"In languages like C or C++, the programmer is responsible for dynamic " +"allocation and deallocation of memory on the heap. In C, this is done using " +"the functions :c:func:`malloc` and :c:func:`free`. In C++, the operators " +"``new`` and ``delete`` are used with essentially the same meaning and we'll " +"restrict the following discussion to the C case." +msgstr "" +"У таких мовах, як C або C++, програміст відповідає за динамічний розподіл і " +"звільнення пам’яті в купі. У C це робиться за допомогою функцій :c:func:" +"`malloc` і :c:func:`free`. У C++ оператори ``new`` і ``delete`` " +"використовуються, по суті, з однаковим значенням, і ми обмежимо наступне " +"обговорення випадком C." + +msgid "" +"Every block of memory allocated with :c:func:`malloc` should eventually be " +"returned to the pool of available memory by exactly one call to :c:func:" +"`free`. It is important to call :c:func:`free` at the right time. If a " +"block's address is forgotten but :c:func:`free` is not called for it, the " +"memory it occupies cannot be reused until the program terminates. This is " +"called a :dfn:`memory leak`. On the other hand, if a program calls :c:func:" +"`free` for a block and then continues to use the block, it creates a " +"conflict with re-use of the block through another :c:func:`malloc` call. " +"This is called :dfn:`using freed memory`. It has the same bad consequences " +"as referencing uninitialized data --- core dumps, wrong results, mysterious " +"crashes." +msgstr "" +"Кожен блок пам’яті, виділений за допомогою :c:func:`malloc`, має бути " +"зрештою повернений до пулу доступної пам’яті рівно одним викликом :c:func:" +"`free`. Важливо подзвонити :c:func:`free` в потрібний час. Якщо адреса блоку " +"забута, але :c:func:`free` не викликається для нього, пам’ять, яку він " +"займає, не може бути повторно використана, доки програма не завершить " +"роботу. Це називається :dfn:`витоком пам’яті`. З іншого боку, якщо програма " +"викликає :c:func:`free` для блоку, а потім продовжує використовувати блок, " +"це створює конфлікт із повторним використанням блоку через інший виклик :c:" +"func:`malloc` . Це називається :dfn:`використанням звільненої пам’яті`. Це " +"має ті ж погані наслідки, що й посилання на неініціалізовані дані --- дампи " +"ядра, неправильні результати, таємничі збої." + +msgid "" +"Common causes of memory leaks are unusual paths through the code. For " +"instance, a function may allocate a block of memory, do some calculation, " +"and then free the block again. Now a change in the requirements for the " +"function may add a test to the calculation that detects an error condition " +"and can return prematurely from the function. It's easy to forget to free " +"the allocated memory block when taking this premature exit, especially when " +"it is added later to the code. Such leaks, once introduced, often go " +"undetected for a long time: the error exit is taken only in a small fraction " +"of all calls, and most modern machines have plenty of virtual memory, so the " +"leak only becomes apparent in a long-running process that uses the leaking " +"function frequently. Therefore, it's important to prevent leaks from " +"happening by having a coding convention or strategy that minimizes this kind " +"of errors." +msgstr "" +"Поширеними причинами витоку пам'яті є незвичайні шляхи через код. Наприклад, " +"функція може виділити блок пам'яті, виконати деякі обчислення, а потім знову " +"звільнити блок. Тепер зміна вимог до функції може додати перевірку до " +"обчислення, яка виявляє помилку та може передчасно повернутися з функції. " +"Легко забути звільнити виділений блок пам’яті під час цього передчасного " +"виходу, особливо коли він додається пізніше до коду. Такі витоки, щойно " +"виникли, часто залишаються непоміченими протягом тривалого часу: вихід із " +"помилкою відбувається лише в невеликій частині всіх викликів, а більшість " +"сучасних машин мають багато віртуальної пам’яті, тому витік стає очевидним " +"лише під час тривалого процесу який часто використовує функцію витоку. Тому " +"важливо запобігти витокам, маючи угоду або стратегію кодування, яка " +"мінімізує цей тип помилок." + +msgid "" +"Since Python makes heavy use of :c:func:`malloc` and :c:func:`free`, it " +"needs a strategy to avoid memory leaks as well as the use of freed memory. " +"The chosen method is called :dfn:`reference counting`. The principle is " +"simple: every object contains a counter, which is incremented when a " +"reference to the object is stored somewhere, and which is decremented when a " +"reference to it is deleted. When the counter reaches zero, the last " +"reference to the object has been deleted and the object is freed." +msgstr "" +"Оскільки Python активно використовує :c:func:`malloc` і :c:func:`free`, йому " +"потрібна стратегія, щоб уникнути витоку пам’яті, а також використання " +"звільненої пам’яті. Обраний метод називається :dfn:`reference counting`. " +"Принцип простий: кожен об’єкт містить лічильник, який збільшується, коли " +"десь зберігається посилання на об’єкт, і зменшується, коли посилання на " +"нього видаляється. Коли лічильник досягає нуля, останнє посилання на об’єкт " +"було видалено, а об’єкт звільнено." + +msgid "" +"An alternative strategy is called :dfn:`automatic garbage collection`. " +"(Sometimes, reference counting is also referred to as a garbage collection " +"strategy, hence my use of \"automatic\" to distinguish the two.) The big " +"advantage of automatic garbage collection is that the user doesn't need to " +"call :c:func:`free` explicitly. (Another claimed advantage is an " +"improvement in speed or memory usage --- this is no hard fact however.) The " +"disadvantage is that for C, there is no truly portable automatic garbage " +"collector, while reference counting can be implemented portably (as long as " +"the functions :c:func:`malloc` and :c:func:`free` are available --- which " +"the C Standard guarantees). Maybe some day a sufficiently portable automatic " +"garbage collector will be available for C. Until then, we'll have to live " +"with reference counts." +msgstr "" +"Альтернативна стратегія називається :dfn:`автоматична збірка сміття " +"`. (Іноді підрахунок посилань також називають " +"стратегією збирання сміття, тому я використовую \"автоматичний\", щоб " +"відрізнити ці два.) Великою перевагою автоматичного збирання сміття є те, що " +"користувачеві не потрібно викликати :c:func:`free` явно. (Іншою заявленою " +"перевагою є покращення швидкості або використання пам’яті --- однак це " +"непереконливий факт.) Недоліком є те, що для C немає справді портативного " +"автоматичного збирача сміття, тоді як підрахунок посилань можна реалізувати " +"портативно (за умови, що функції :c:func:`malloc` і :c:func:`free` доступні " +"--- що гарантує стандарт C). Можливо, колись достатньо портативний " +"автоматичний збирач сміття буде доступний для C. До того часу нам доведеться " +"жити з кількістю посилань." + +msgid "" +"While Python uses the traditional reference counting implementation, it also " +"offers a cycle detector that works to detect reference cycles. This allows " +"applications to not worry about creating direct or indirect circular " +"references; these are the weakness of garbage collection implemented using " +"only reference counting. Reference cycles consist of objects which contain " +"(possibly indirect) references to themselves, so that each object in the " +"cycle has a reference count which is non-zero. Typical reference counting " +"implementations are not able to reclaim the memory belonging to any objects " +"in a reference cycle, or referenced from the objects in the cycle, even " +"though there are no further references to the cycle itself." +msgstr "" +"Хоча Python використовує традиційну реалізацію підрахунку посилань, він " +"також пропонує детектор циклів, який працює для виявлення опорних циклів. Це " +"дозволяє програмам не турбуватися про створення прямих чи непрямих циклічних " +"посилань; це слабкі місця збирання сміття, реалізованого лише за допомогою " +"підрахунку посилань. Посилальні цикли складаються з об’єктів, які містять " +"(можливо, непрямі) посилання на себе, так що кожен об’єкт у циклі має " +"кількість посилань, відмінну від нуля. Типові реалізації підрахунку посилань " +"не можуть відновити пам’ять, що належить до будь-яких об’єктів у циклі " +"посилань, або на яку посилаються об’єкти в циклі, навіть якщо немає " +"подальших посилань на сам цикл." + +msgid "" +"The cycle detector is able to detect garbage cycles and can reclaim them. " +"The :mod:`gc` module exposes a way to run the detector (the :func:`~gc." +"collect` function), as well as configuration interfaces and the ability to " +"disable the detector at runtime." +msgstr "" +"Детектор циклів здатний виявляти цикли сміття та повертати їх. Модуль :mod:" +"`gc` надає спосіб запуску детектора (функція :func:`~gc.collect`), а також " +"інтерфейси налаштування та можливість вимкнути детектор під час виконання." + +msgid "Reference Counting in Python" +msgstr "Підрахунок посилань у Python" + +msgid "" +"There are two macros, ``Py_INCREF(x)`` and ``Py_DECREF(x)``, which handle " +"the incrementing and decrementing of the reference count. :c:func:" +"`Py_DECREF` also frees the object when the count reaches zero. For " +"flexibility, it doesn't call :c:func:`free` directly --- rather, it makes a " +"call through a function pointer in the object's :dfn:`type object`. For " +"this purpose (and others), every object also contains a pointer to its type " +"object." +msgstr "" +"Є два макроси, ``Py_INCREF(x)`` і ``Py_DECREF(x)``, які обробляють " +"збільшення та зменшення лічильника посилань. :c:func:`Py_DECREF` також " +"звільняє об’єкт, коли кількість досягає нуля. З міркувань гнучкості він не " +"викликає :c:func:`free` напряму --- він робить виклик через вказівник на " +"функцію в об’єкті :dfn:`type object`. Для цієї мети (та інших) кожен об’єкт " +"також містить покажчик на об’єкт свого типу." + +msgid "" +"The big question now remains: when to use ``Py_INCREF(x)`` and " +"``Py_DECREF(x)``? Let's first introduce some terms. Nobody \"owns\" an " +"object; however, you can :dfn:`own a reference` to an object. An object's " +"reference count is now defined as the number of owned references to it. The " +"owner of a reference is responsible for calling :c:func:`Py_DECREF` when the " +"reference is no longer needed. Ownership of a reference can be " +"transferred. There are three ways to dispose of an owned reference: pass it " +"on, store it, or call :c:func:`Py_DECREF`. Forgetting to dispose of an owned " +"reference creates a memory leak." +msgstr "" +"Тепер залишається велике питання: коли використовувати ``Py_INCREF(x)`` і " +"``Py_DECREF(x)``? Давайте спочатку введемо деякі терміни. Ніхто не \"володіє" +"\" об'єктом; проте ви можете :dfn:`володіти посиланням ` на " +"об'єкт. Кількість посилань на об’єкт тепер визначається як кількість " +"належних посилань на нього. Власник посилання відповідає за виклик :c:func:" +"`Py_DECREF`, коли посилання більше не потрібне. Право власності на посилання " +"можна передати. Є три способи позбутися посилання, яке належить: передати, " +"зберегти або викликати :c:func:`Py_DECREF`. Якщо забути позбутися посилання, " +"що належить, це призводить до витоку пам’яті." + +msgid "" +"It is also possible to :dfn:`borrow` [#]_ a reference to an object. The " +"borrower of a reference should not call :c:func:`Py_DECREF`. The borrower " +"must not hold on to the object longer than the owner from which it was " +"borrowed. Using a borrowed reference after the owner has disposed of it " +"risks using freed memory and should be avoided completely [#]_." +msgstr "" +"Також можна :dfn:`borrow` [#]_ посилання на об’єкт. Позичальник посилання не " +"повинен викликати :c:func:`Py_DECREF`. Позичальник не повинен утримувати річ " +"довше, ніж власник, у якого вона була позичена. Використання запозиченого " +"посилання після того, як власник позбувся його, ризикує використати " +"звільнену пам’ять, і його слід повністю уникати [#]_." + +msgid "" +"The advantage of borrowing over owning a reference is that you don't need to " +"take care of disposing of the reference on all possible paths through the " +"code --- in other words, with a borrowed reference you don't run the risk of " +"leaking when a premature exit is taken. The disadvantage of borrowing over " +"owning is that there are some subtle situations where in seemingly correct " +"code a borrowed reference can be used after the owner from which it was " +"borrowed has in fact disposed of it." +msgstr "" +"Перевага запозичення перед володінням посиланням полягає в тому, що вам не " +"потрібно піклуватися про утилізацію посилання на всіх можливих шляхах через " +"код --- іншими словами, з запозиченим посиланням ви не ризикуєте витоком " +"коли зроблено передчасний вихід. Недоліком запозичення перед володінням є " +"те, що існують деякі тонкі ситуації, коли в, здавалося б, правильному коді " +"запозичене посилання може бути використано після того, як власник, у якого " +"воно було запозичено, фактично позбувся його." + +msgid "" +"A borrowed reference can be changed into an owned reference by calling :c:" +"func:`Py_INCREF`. This does not affect the status of the owner from which " +"the reference was borrowed --- it creates a new owned reference, and gives " +"full owner responsibilities (the new owner must dispose of the reference " +"properly, as well as the previous owner)." +msgstr "" +"Позичене посилання можна змінити на власне, викликавши :c:func:`Py_INCREF`. " +"Це не впливає на статус власника, у якого було запозичено посилання --- " +"створюється нове посилання, яке належить, і надається повна відповідальність " +"власника (новий власник повинен правильно розпоряджатися посиланням, як і " +"попередній власник)." + +msgid "Ownership Rules" +msgstr "Правила власності" + +msgid "" +"Whenever an object reference is passed into or out of a function, it is part " +"of the function's interface specification whether ownership is transferred " +"with the reference or not." +msgstr "" +"Кожного разу, коли посилання на об’єкт передається у функцію або з неї, воно " +"є частиною специфікації інтерфейсу функції незалежно від того, передається " +"право власності з посиланням чи ні." + +msgid "" +"Most functions that return a reference to an object pass on ownership with " +"the reference. In particular, all functions whose function it is to create " +"a new object, such as :c:func:`PyLong_FromLong` and :c:func:`Py_BuildValue`, " +"pass ownership to the receiver. Even if the object is not actually new, you " +"still receive ownership of a new reference to that object. For instance, :c:" +"func:`PyLong_FromLong` maintains a cache of popular values and can return a " +"reference to a cached item." +msgstr "" +"Більшість функцій, які повертають посилання на об’єкт, передають право " +"власності разом із посиланням. Зокрема, усі функції, функцією яких є " +"створення нового об’єкта, такі як :c:func:`PyLong_FromLong` і :c:func:" +"`Py_BuildValue`, передають право власності одержувачу. Навіть якщо об’єкт " +"насправді не новий, ви все одно отримуєте право власності на нове посилання " +"на цей об’єкт. Наприклад, :c:func:`PyLong_FromLong` підтримує кеш популярних " +"значень і може повертати посилання на кешований елемент." + +msgid "" +"Many functions that extract objects from other objects also transfer " +"ownership with the reference, for instance :c:func:" +"`PyObject_GetAttrString`. The picture is less clear, here, however, since a " +"few common routines are exceptions: :c:func:`PyTuple_GetItem`, :c:func:" +"`PyList_GetItem`, :c:func:`PyDict_GetItem`, and :c:func:" +"`PyDict_GetItemString` all return references that you borrow from the tuple, " +"list or dictionary." +msgstr "" +"Багато функцій, які витягують об’єкти з інших об’єктів, також передають " +"право власності разом із посиланням, наприклад :c:func:" +"`PyObject_GetAttrString`. Однак тут картина менш зрозуміла, оскільки кілька " +"типових процедур є винятками: :c:func:`PyTuple_GetItem`, :c:func:" +"`PyList_GetItem`, :c:func:`PyDict_GetItem` і :c:func:`PyDict_GetItemString` " +"повертає всі посилання, які ви запозичили з кортежу, списку або словника." + +msgid "" +"The function :c:func:`PyImport_AddModule` also returns a borrowed reference, " +"even though it may actually create the object it returns: this is possible " +"because an owned reference to the object is stored in ``sys.modules``." +msgstr "" +"Функція :c:func:`PyImport_AddModule` також повертає запозичене посилання, " +"навіть якщо вона може фактично створити об’єкт, який повертає: це можливо, " +"оскільки власне посилання на об’єкт зберігається в ``sys.modules``." + +msgid "" +"When you pass an object reference into another function, in general, the " +"function borrows the reference from you --- if it needs to store it, it will " +"use :c:func:`Py_INCREF` to become an independent owner. There are exactly " +"two important exceptions to this rule: :c:func:`PyTuple_SetItem` and :c:func:" +"`PyList_SetItem`. These functions take over ownership of the item passed to " +"them --- even if they fail! (Note that :c:func:`PyDict_SetItem` and friends " +"don't take over ownership --- they are \"normal.\")" +msgstr "" +"Коли ви передаєте посилання на об’єкт в іншу функцію, функція, як правило, " +"запозичує посилання у вас --- якщо їй потрібно її зберегти, вона " +"використовуватиме :c:func:`Py_INCREF`, щоб стати незалежним власником. З " +"цього правила є два важливих винятки: :c:func:`PyTuple_SetItem` і :c:func:" +"`PyList_SetItem`. Ці функції беруть на себе право власності на переданий їм " +"елемент --- навіть якщо вони виходять з ладу! (Зауважте, що :c:func:" +"`PyDict_SetItem` і друзі не беруть на себе право власності --- вони " +"\"нормальні\".)" + +msgid "" +"When a C function is called from Python, it borrows references to its " +"arguments from the caller. The caller owns a reference to the object, so " +"the borrowed reference's lifetime is guaranteed until the function returns. " +"Only when such a borrowed reference must be stored or passed on, it must be " +"turned into an owned reference by calling :c:func:`Py_INCREF`." +msgstr "" +"Коли функція C викликається з Python, вона запозичує посилання на свої " +"аргументи від викликаючого. Виклик володіє посиланням на об’єкт, тому час " +"життя позиченого посилання гарантується до повернення функції. Лише тоді, " +"коли таке запозичене посилання потрібно зберегти або передати, його потрібно " +"перетворити на власне посилання шляхом виклику :c:func:`Py_INCREF`." + +msgid "" +"The object reference returned from a C function that is called from Python " +"must be an owned reference --- ownership is transferred from the function to " +"its caller." +msgstr "" +"Посилання на об’єкт, що повертається функцією C, яка викликається з Python, " +"має бути посиланням у власності --- право власності передається від функції " +"до її викликаючого." + +msgid "Thin Ice" +msgstr "Тонкий лід" + +msgid "" +"There are a few situations where seemingly harmless use of a borrowed " +"reference can lead to problems. These all have to do with implicit " +"invocations of the interpreter, which can cause the owner of a reference to " +"dispose of it." +msgstr "" +"Є кілька ситуацій, коли, здавалося б, нешкідливе використання запозиченого " +"посилання може призвести до проблем. Усе це пов’язано з неявними викликами " +"інтерпретатора, які можуть змусити власника посилання позбутися його." + +msgid "" +"The first and most important case to know about is using :c:func:`Py_DECREF` " +"on an unrelated object while borrowing a reference to a list item. For " +"instance::" +msgstr "" +"Перший і найважливіший випадок, про який варто знати, це використання :c:" +"func:`Py_DECREF` для непов’язаного об’єкта під час запозичення посилання на " +"елемент списку. Наприклад::" + +msgid "" +"This function first borrows a reference to ``list[0]``, then replaces " +"``list[1]`` with the value ``0``, and finally prints the borrowed reference. " +"Looks harmless, right? But it's not!" +msgstr "" +"Ця функція спочатку запозичує посилання на ``list[0]``, потім замінює " +"``list[1]`` на значення ``0`` і, нарешті, друкує запозичене посилання. " +"Виглядає нешкідливо, правда? Але це не так!" + +msgid "" +"Let's follow the control flow into :c:func:`PyList_SetItem`. The list owns " +"references to all its items, so when item 1 is replaced, it has to dispose " +"of the original item 1. Now let's suppose the original item 1 was an " +"instance of a user-defined class, and let's further suppose that the class " +"defined a :meth:`__del__` method. If this class instance has a reference " +"count of 1, disposing of it will call its :meth:`__del__` method." +msgstr "" +"Давайте прослідкуємо потік керування в :c:func:`PyList_SetItem`. Список має " +"посилання на всі свої елементи, тому, коли елемент 1 замінюється, він " +"повинен позбутися оригінального елемента 1. Тепер припустімо, що вихідний " +"елемент 1 був екземпляром визначеного користувачем класу, і припустімо, що " +"клас визначив метод :meth:`__del__`. Якщо цей екземпляр класу має кількість " +"посилань 1, його видалення викличе його метод :meth:`__del__`." + +msgid "" +"Since it is written in Python, the :meth:`__del__` method can execute " +"arbitrary Python code. Could it perhaps do something to invalidate the " +"reference to ``item`` in :c:func:`bug`? You bet! Assuming that the list " +"passed into :c:func:`bug` is accessible to the :meth:`__del__` method, it " +"could execute a statement to the effect of ``del list[0]``, and assuming " +"this was the last reference to that object, it would free the memory " +"associated with it, thereby invalidating ``item``." +msgstr "" +"Оскільки він написаний на Python, метод :meth:`__del__` може виконувати " +"довільний код Python. Чи може це щось зробити, щоб зробити недійсним " +"посилання на ``item`` у :c:func:`bug`? Будьте впевнені! Якщо припустити, що " +"список, переданий у :c:func:`bug`, доступний для методу :meth:`__del__`, він " +"міг би виконати оператор із ефектом ``del list[0]``, і припустивши, що це " +"був останнє посилання на цей об’єкт, це звільнить пов’язану з ним пам’ять, " +"тим самим зробивши \"item\" недійсним." + +msgid "" +"The solution, once you know the source of the problem, is easy: temporarily " +"increment the reference count. The correct version of the function reads::" +msgstr "" +"Якщо ви дізнаєтеся про джерело проблеми, вирішити її легко: тимчасово " +"збільште кількість посилань. Правильна версія функції виглядає так:" + +msgid "" +"This is a true story. An older version of Python contained variants of this " +"bug and someone spent a considerable amount of time in a C debugger to " +"figure out why his :meth:`__del__` methods would fail..." +msgstr "" +"Це правдива історія. Старіша версія Python містила варіанти цієї помилки, і " +"хтось витратив багато часу на налагоджувач C, щоб з’ясувати, чому його " +"методи :meth:`__del__` дадуть збій..." + +msgid "" +"The second case of problems with a borrowed reference is a variant involving " +"threads. Normally, multiple threads in the Python interpreter can't get in " +"each other's way, because there is a global lock protecting Python's entire " +"object space. However, it is possible to temporarily release this lock " +"using the macro :c:macro:`Py_BEGIN_ALLOW_THREADS`, and to re-acquire it " +"using :c:macro:`Py_END_ALLOW_THREADS`. This is common around blocking I/O " +"calls, to let other threads use the processor while waiting for the I/O to " +"complete. Obviously, the following function has the same problem as the " +"previous one::" +msgstr "" +"Другий випадок проблем із запозиченим посиланням – це варіант із залученням " +"потоків. Зазвичай кілька потоків в інтерпретаторі Python не можуть " +"перешкоджати один одному, оскільки існує глобальне блокування, яке захищає " +"весь простір об’єктів Python. Однак можна тимчасово зняти це блокування за " +"допомогою макросу :c:macro:`Py_BEGIN_ALLOW_THREADS` і повторно отримати його " +"за допомогою :c:macro:`Py_END_ALLOW_THREADS`. Це часто зустрічається під час " +"блокування викликів введення-виведення, щоб дозволити іншим потокам " +"використовувати процесор під час очікування завершення введення-виведення. " +"Очевидно, що наступна функція має ту саму проблему, що й попередня:" + +msgid "NULL Pointers" +msgstr "NULL покажчики" + +msgid "" +"In general, functions that take object references as arguments do not expect " +"you to pass them ``NULL`` pointers, and will dump core (or cause later core " +"dumps) if you do so. Functions that return object references generally " +"return ``NULL`` only to indicate that an exception occurred. The reason for " +"not testing for ``NULL`` arguments is that functions often pass the objects " +"they receive on to other function --- if each function were to test for " +"``NULL``, there would be a lot of redundant tests and the code would run " +"more slowly." +msgstr "" +"Загалом, функції, які приймають посилання на об’єкти як аргументи, не " +"очікують, що ви передасте їм покажчики ``NULL``, і, якщо ви це зробите, " +"створять дамп ядра (або викликатимуть дамп ядра пізніше). Функції, які " +"повертають посилання на об’єкт, зазвичай повертають ``NULL`` лише для того, " +"щоб вказати, що стався виняток. Причина не перевіряти аргументи ``NULL`` " +"полягає в тому, що функції часто передають отримані об’єкти іншій функції " +"--- якби кожна функція перевіряла ``NULL``, було б багато зайвих перевірок і " +"код працюватиме повільніше." + +msgid "" +"It is better to test for ``NULL`` only at the \"source:\" when a pointer " +"that may be ``NULL`` is received, for example, from :c:func:`malloc` or from " +"a function that may raise an exception." +msgstr "" +"Краще перевіряти ``NULL`` лише на \"джерело:\", коли вказівник, який може " +"бути ``NULL`` отримано, наприклад, від :c:func:`malloc` або від функції, яка " +"може створити виняток." + +msgid "" +"The macros :c:func:`Py_INCREF` and :c:func:`Py_DECREF` do not check for " +"``NULL`` pointers --- however, their variants :c:func:`Py_XINCREF` and :c:" +"func:`Py_XDECREF` do." +msgstr "" +"Макроси :c:func:`Py_INCREF` і :c:func:`Py_DECREF` не перевіряють покажчики " +"``NULL`` --- однак їх варіанти :c:func:`Py_XINCREF` і :c:func:`Py_XDECREF` " +"робити." + +msgid "" +"The macros for checking for a particular object type (``Pytype_Check()``) " +"don't check for ``NULL`` pointers --- again, there is much code that calls " +"several of these in a row to test an object against various different " +"expected types, and this would generate redundant tests. There are no " +"variants with ``NULL`` checking." +msgstr "" +"Макроси для перевірки певного типу об’єкта (``Pytype_Check()``) не " +"перевіряють покажчики ``NULL`` --- знову ж таки, є багато коду, який " +"викликає кілька з них поспіль для перевірки об’єкта проти різних очікуваних " +"типів, і це створить надлишкові тести. Варіантів із перевіркою ``NULL`` " +"немає." + +msgid "" +"The C function calling mechanism guarantees that the argument list passed to " +"C functions (``args`` in the examples) is never ``NULL`` --- in fact it " +"guarantees that it is always a tuple [#]_." +msgstr "" +"Механізм виклику функції C гарантує, що список аргументів, переданий " +"функціям C (``args`` у прикладах), ніколи не буде ``NULL`` --- фактично він " +"гарантує, що це завжди кортеж [#]_." + +msgid "" +"It is a severe error to ever let a ``NULL`` pointer \"escape\" to the Python " +"user." +msgstr "" +"Дозволити вказівнику ``NULL`` \"вийти\" користувачеві Python є серйозною " +"помилкою." + +msgid "Writing Extensions in C++" +msgstr "Написання розширень на C++" + +msgid "" +"It is possible to write extension modules in C++. Some restrictions apply. " +"If the main program (the Python interpreter) is compiled and linked by the C " +"compiler, global or static objects with constructors cannot be used. This " +"is not a problem if the main program is linked by the C++ compiler. " +"Functions that will be called by the Python interpreter (in particular, " +"module initialization functions) have to be declared using ``extern \"C\"``. " +"It is unnecessary to enclose the Python header files in ``extern \"C\" {...}" +"`` --- they use this form already if the symbol ``__cplusplus`` is defined " +"(all recent C++ compilers define this symbol)." +msgstr "" +"На C++ можна писати модулі розширення. Застосовуються деякі обмеження. Якщо " +"основна програма (інтерпретатор Python) скомпільована та зв’язана " +"компілятором C, глобальні чи статичні об’єкти з конструкторами " +"використовувати не можна. Це не проблема, якщо основна програма зв’язана " +"компілятором C++. Функції, які буде викликатися інтерпретатором Python " +"(зокрема, функції ініціалізації модуля), мають бути оголошені за допомогою " +"``extern \"C\"``. Немає необхідності вкладати файли заголовків Python у " +"``extern \"C\" {...}`` --- вони вже використовують цю форму, якщо визначено " +"символ ``__cplusplus`` (усі останні компілятори C++ визначають цей символ) ." + +msgid "Providing a C API for an Extension Module" +msgstr "Надання C API для модуля розширення" + +msgid "" +"Many extension modules just provide new functions and types to be used from " +"Python, but sometimes the code in an extension module can be useful for " +"other extension modules. For example, an extension module could implement a " +"type \"collection\" which works like lists without order. Just like the " +"standard Python list type has a C API which permits extension modules to " +"create and manipulate lists, this new collection type should have a set of C " +"functions for direct manipulation from other extension modules." +msgstr "" +"Багато модулів розширення просто надають нові функції та типи для " +"використання з Python, але іноді код у модулі розширення може бути корисним " +"для інших модулів розширення. Наприклад, модуль розширення може реалізувати " +"тип \"колекція\", який працює як списки без порядку. Подібно до того, як " +"стандартний тип списку Python має C API, який дозволяє модулям розширення " +"створювати списки та маніпулювати ними, цей новий тип колекції повинен мати " +"набір функцій C для прямого маніпулювання з інших модулів розширення." + +msgid "" +"At first sight this seems easy: just write the functions (without declaring " +"them ``static``, of course), provide an appropriate header file, and " +"document the C API. And in fact this would work if all extension modules " +"were always linked statically with the Python interpreter. When modules are " +"used as shared libraries, however, the symbols defined in one module may not " +"be visible to another module. The details of visibility depend on the " +"operating system; some systems use one global namespace for the Python " +"interpreter and all extension modules (Windows, for example), whereas others " +"require an explicit list of imported symbols at module link time (AIX is one " +"example), or offer a choice of different strategies (most Unices). And even " +"if symbols are globally visible, the module whose functions one wishes to " +"call might not have been loaded yet!" +msgstr "" +"На перший погляд це здається легким: просто напишіть функції (звичайно, не " +"оголошуючи їх \"статичними\"), надайте відповідний файл заголовка та " +"задокументуйте C API. І насправді це працювало б, якби всі модулі розширення " +"завжди були статично пов’язані з інтерпретатором Python. Проте коли модулі " +"використовуються як спільні бібліотеки, символи, визначені в одному модулі, " +"можуть бути невидимими для іншого модуля. Деталі видимості залежать від " +"операційної системи; деякі системи використовують один глобальний простір " +"імен для інтерпретатора Python і всіх модулів розширення (наприклад, " +"Windows), тоді як інші вимагають явного списку імпортованих символів під час " +"зв’язування модуля (прикладом є AIX) або пропонують вибір різних стратегій " +"(більшість Unices). І навіть якщо символи видимі глобально, модуль, функції " +"якого потрібно викликати, можливо, ще не завантажено!" + +msgid "" +"Portability therefore requires not to make any assumptions about symbol " +"visibility. This means that all symbols in extension modules should be " +"declared ``static``, except for the module's initialization function, in " +"order to avoid name clashes with other extension modules (as discussed in " +"section :ref:`methodtable`). And it means that symbols that *should* be " +"accessible from other extension modules must be exported in a different way." +msgstr "" +"Тому портативність вимагає не робити жодних припущень щодо видимості " +"символу. Це означає, що всі символи в модулях розширення мають бути " +"оголошені ``статичними``, за винятком функції ініціалізації модуля, щоб " +"уникнути зіткнення імен з іншими модулями розширення (як описано в розділі :" +"ref:`methodtable`). І це означає, що символи, які *мають* бути доступні з " +"інших модулів розширення, повинні бути експортовані в інший спосіб." + +msgid "" +"Python provides a special mechanism to pass C-level information (pointers) " +"from one extension module to another one: Capsules. A Capsule is a Python " +"data type which stores a pointer (:c:expr:`void \\*`). Capsules can only be " +"created and accessed via their C API, but they can be passed around like any " +"other Python object. In particular, they can be assigned to a name in an " +"extension module's namespace. Other extension modules can then import this " +"module, retrieve the value of this name, and then retrieve the pointer from " +"the Capsule." +msgstr "" + +msgid "" +"There are many ways in which Capsules can be used to export the C API of an " +"extension module. Each function could get its own Capsule, or all C API " +"pointers could be stored in an array whose address is published in a " +"Capsule. And the various tasks of storing and retrieving the pointers can be " +"distributed in different ways between the module providing the code and the " +"client modules." +msgstr "" +"Є багато способів використання Capsules для експорту C API модуля " +"розширення. Кожна функція може отримати власну капсулу, або всі покажчики C " +"API можуть зберігатися в масиві, адреса якого опублікована в капсулі. Різні " +"завдання зі зберігання та отримання покажчиків можуть бути розподілені " +"різними способами між модулем, що надає код, і клієнтськими модулями." + +msgid "" +"Whichever method you choose, it's important to name your Capsules properly. " +"The function :c:func:`PyCapsule_New` takes a name parameter (:c:expr:`const " +"char \\*`); you're permitted to pass in a ``NULL`` name, but we strongly " +"encourage you to specify a name. Properly named Capsules provide a degree " +"of runtime type-safety; there is no feasible way to tell one unnamed Capsule " +"from another." +msgstr "" + +msgid "" +"In particular, Capsules used to expose C APIs should be given a name " +"following this convention::" +msgstr "" +"Зокрема, капсулам, які використовуються для розкриття C API, слід присвоїти " +"назву відповідно до цієї угоди:" + +msgid "" +"The convenience function :c:func:`PyCapsule_Import` makes it easy to load a " +"C API provided via a Capsule, but only if the Capsule's name matches this " +"convention. This behavior gives C API users a high degree of certainty that " +"the Capsule they load contains the correct C API." +msgstr "" +"Зручна функція :c:func:`PyCapsule_Import` спрощує завантаження C API, що " +"надається через Capsule, але лише якщо назва Capsule відповідає цій умові. " +"Така поведінка дає користувачам C API високий ступінь впевненості, що " +"капсула, яку вони завантажують, містить правильний C API." + +msgid "" +"The following example demonstrates an approach that puts most of the burden " +"on the writer of the exporting module, which is appropriate for commonly " +"used library modules. It stores all C API pointers (just one in the " +"example!) in an array of :c:expr:`void` pointers which becomes the value of " +"a Capsule. The header file corresponding to the module provides a macro that " +"takes care of importing the module and retrieving its C API pointers; client " +"modules only have to call this macro before accessing the C API." +msgstr "" + +msgid "" +"The exporting module is a modification of the :mod:`spam` module from " +"section :ref:`extending-simpleexample`. The function :func:`spam.system` " +"does not call the C library function :c:func:`system` directly, but a " +"function :c:func:`PySpam_System`, which would of course do something more " +"complicated in reality (such as adding \"spam\" to every command). This " +"function :c:func:`PySpam_System` is also exported to other extension modules." +msgstr "" +"Модуль експорту є модифікацією модуля :mod:`spam` із розділу :ref:`extending-" +"simpleexample`. Функція :func:`spam.system` не викликає безпосередньо " +"функцію бібліотеки C :c:func:`system`, а викликає функцію :c:func:" +"`PySpam_System`, яка, звичайно, виконувала б щось складніше в реальності " +"( наприклад додавання \"спаму\" до кожної команди). Ця функція :c:func:" +"`PySpam_System` також експортується в інші модулі розширення." + +msgid "" +"The function :c:func:`PySpam_System` is a plain C function, declared " +"``static`` like everything else::" +msgstr "" +"Функція :c:func:`PySpam_System` є звичайною функцією C, оголошеною " +"``static``, як і все інше::" + +msgid "The function :c:func:`spam_system` is modified in a trivial way::" +msgstr "Функція :c:func:`spam_system` модифікована тривіально:" + +msgid "In the beginning of the module, right after the line ::" +msgstr "На початку модуля, відразу після рядка ::" + +msgid "two more lines must be added::" +msgstr "потрібно додати ще два рядки::" + +msgid "" +"The ``#define`` is used to tell the header file that it is being included in " +"the exporting module, not a client module. Finally, the module's " +"initialization function must take care of initializing the C API pointer " +"array::" +msgstr "" +"``#define`` використовується, щоб повідомити файлу заголовка, що його " +"включено до модуля експорту, а не клієнтського модуля. Нарешті, функція " +"ініціалізації модуля повинна подбати про ініціалізацію масиву покажчиків C " +"API::" + +msgid "" +"Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array " +"would disappear when :func:`PyInit_spam` terminates!" +msgstr "" +"Зауважте, що ``PySpam_API`` оголошено ``static``; інакше масив покажчиків " +"зникне, коли :func:`PyInit_spam` завершиться!" + +msgid "" +"The bulk of the work is in the header file :file:`spammodule.h`, which looks " +"like this::" +msgstr "" +"Основна частина роботи знаходиться у файлі заголовка :file:`spammodule.h`, " +"який виглядає так:" + +msgid "" +"All that a client module must do in order to have access to the function :c:" +"func:`PySpam_System` is to call the function (or rather macro) :c:func:" +"`import_spam` in its initialization function::" +msgstr "" +"Все, що повинен зробити клієнтський модуль, щоб мати доступ до функції :c:" +"func:`PySpam_System`, це викликати функцію (точніше макрос) :c:func:" +"`import_spam` у її функції ініціалізації::" + +msgid "" +"The main disadvantage of this approach is that the file :file:`spammodule.h` " +"is rather complicated. However, the basic structure is the same for each " +"function that is exported, so it has to be learned only once." +msgstr "" +"Основним недоліком цього підходу є те, що файл :file:`spammodule.h` досить " +"складний. Однак базова структура однакова для кожної функції, яка " +"експортується, тому її потрібно вивчати лише один раз." + +msgid "" +"Finally it should be mentioned that Capsules offer additional functionality, " +"which is especially useful for memory allocation and deallocation of the " +"pointer stored in a Capsule. The details are described in the Python/C API " +"Reference Manual in the section :ref:`capsules` and in the implementation of " +"Capsules (files :file:`Include/pycapsule.h` and :file:`Objects/pycapsule.c` " +"in the Python source code distribution)." +msgstr "" +"Насамкінець слід зазначити, що капсули пропонують додаткову " +"функціональність, яка особливо корисна для виділення пам’яті та зняття " +"вказівника, що зберігається в капсулі. Подробиці описано в довідковому " +"посібнику Python/C API у розділі :ref:`capsules` і в реалізації капсул " +"(файли :file:`Include/pycapsule.h` і :file:`Objects/pycapsule.c` у " +"дистрибутиві вихідного коду Python)." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"An interface for this function already exists in the standard module :mod:" +"`os` --- it was chosen as a simple and straightforward example." +msgstr "" +"Інтерфейс для цієї функції вже існує в стандартному модулі :mod:`os` --- він " +"був обраний як простий і зрозумілий приклад." + +msgid "" +"The metaphor of \"borrowing\" a reference is not completely correct: the " +"owner still has a copy of the reference." +msgstr "" +"Метафора \"позичити\" довідку не зовсім коректна: власник досі має копію " +"довідки." + +msgid "" +"Checking that the reference count is at least 1 **does not work** --- the " +"reference count itself could be in freed memory and may thus be reused for " +"another object!" +msgstr "" +"Перевірка того, що кількість посилань дорівнює принаймні 1, **не працює** " +"--- сама кількість посилань може бути у звільненій пам’яті та, таким чином, " +"може бути повторно використана для іншого об’єкта!" + +msgid "" +"These guarantees don't hold when you use the \"old\" style calling " +"convention --- this is still found in much existing code." +msgstr "" +"Ці гарантії не діють, якщо ви використовуєте \"старий\" стиль викликів --- " +"він все ще міститься в більшості існуючих кодів." diff --git a/extending/index.po b/extending/index.po new file mode 100644 index 000000000..08e9bb4cb --- /dev/null +++ b/extending/index.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Extending and Embedding the Python Interpreter" +msgstr "Розширення та вбудовування інтерпретатора Python" + +msgid "" +"This document describes how to write modules in C or C++ to extend the " +"Python interpreter with new modules. Those modules can not only define new " +"functions but also new object types and their methods. The document also " +"describes how to embed the Python interpreter in another application, for " +"use as an extension language. Finally, it shows how to compile and link " +"extension modules so that they can be loaded dynamically (at run time) into " +"the interpreter, if the underlying operating system supports this feature." +msgstr "" +"У цьому документі описано, як писати модулі на C або C++, щоб розширити " +"інтерпретатор Python новими модулями. Ці модулі можуть не лише визначати " +"нові функції, але й нові типи об’єктів та їхні методи. У документі також " +"описано, як вбудувати інтерпретатор Python в іншу програму для використання " +"як мови розширення. Нарешті, показано, як компілювати та зв’язувати модулі " +"розширення, щоб їх можна було динамічно завантажувати (під час виконання) в " +"інтерпретатор, якщо базова операційна система підтримує цю функцію." + +msgid "" +"This document assumes basic knowledge about Python. For an informal " +"introduction to the language, see :ref:`tutorial-index`. :ref:`reference-" +"index` gives a more formal definition of the language. :ref:`library-index` " +"documents the existing object types, functions and modules (both built-in " +"and written in Python) that give the language its wide application range." +msgstr "" +"Цей документ передбачає базові знання про Python. Для неформального " +"ознайомлення з мовою див. :ref:`tutorial-index`. :ref:`reference-index` дає " +"більш формальне визначення мови. :ref:`library-index` документує існуючі " +"типи об’єктів, функції та модулі (як вбудовані, так і написані на Python), " +"які надають мові широкий спектр застосування." + +msgid "" +"For a detailed description of the whole Python/C API, see the separate :ref:" +"`c-api-index`." +msgstr "" +"Для детального опису всього API Python/C перегляньте окремий :ref:`c-api-" +"index`." + +msgid "Recommended third party tools" +msgstr "Рекомендовані сторонні інструменти" + +msgid "" +"This guide only covers the basic tools for creating extensions provided as " +"part of this version of CPython. Third party tools like `Cython `_, `cffi `_, `SWIG `_ and `Numba `_ offer both simpler and " +"more sophisticated approaches to creating C and C++ extensions for Python." +msgstr "" + +msgid "" +"`Python Packaging User Guide: Binary Extensions `_" +msgstr "" +"`Посібник користувача з упаковки Python: двійкові розширення `_" + +msgid "" +"The Python Packaging User Guide not only covers several available tools that " +"simplify the creation of binary extensions, but also discusses the various " +"reasons why creating an extension module may be desirable in the first place." +msgstr "" +"Посібник користувача з упакування Python не лише охоплює кілька доступних " +"інструментів, які спрощують створення бінарних розширень, але й обговорює " +"різні причини, чому створення модуля розширення може бути бажаним у першу " +"чергу." + +msgid "Creating extensions without third party tools" +msgstr "Створення розширень без сторонніх інструментів" + +msgid "" +"This section of the guide covers creating C and C++ extensions without " +"assistance from third party tools. It is intended primarily for creators of " +"those tools, rather than being a recommended way to create your own C " +"extensions." +msgstr "" +"У цьому розділі посібника описано створення розширень C і C++ без допомоги " +"сторонніх інструментів. Він призначений насамперед для розробників цих " +"інструментів, а не як рекомендований спосіб створення власних розширень C." + +msgid "Embedding the CPython runtime in a larger application" +msgstr "Вбудовування середовища виконання CPython у більшу програму" + +msgid "" +"Sometimes, rather than creating an extension that runs inside the Python " +"interpreter as the main application, it is desirable to instead embed the " +"CPython runtime inside a larger application. This section covers some of the " +"details involved in doing that successfully." +msgstr "" +"Іноді замість створення розширення, яке працює в інтерпретаторі Python як " +"основної програми, бажано замість цього вбудувати середовище виконання " +"CPython у більшу програму. У цьому розділі описано деякі деталі, необхідні " +"для успішного виконання цього завдання." diff --git a/extending/newtypes.po b/extending/newtypes.po new file mode 100644 index 000000000..83e933d04 --- /dev/null +++ b/extending/newtypes.po @@ -0,0 +1,784 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Defining Extension Types: Assorted Topics" +msgstr "Визначення типів розширень: різні теми" + +msgid "" +"This section aims to give a quick fly-by on the various type methods you can " +"implement and what they do." +msgstr "" +"Цей розділ має на меті дати швидкий огляд методів різних типів, які ви " +"можете застосувати, і того, що вони роблять." + +msgid "" +"Here is the definition of :c:type:`PyTypeObject`, with some fields only used " +"in :ref:`debug builds ` omitted:" +msgstr "" +"Ось визначення :c:type:`PyTypeObject` з деякими полями, які використовуються " +"лише в :ref:`debug builds ` опущено:" + +msgid "" +"Now that's a *lot* of methods. Don't worry too much though -- if you have a " +"type you want to define, the chances are very good that you will only " +"implement a handful of these." +msgstr "" +"Тепер це *багато* методів. Однак не надто хвилюйтеся - якщо у вас є тип, " +"який ви хочете визначити, дуже високі шанси, що ви реалізуєте лише кілька з " +"них." + +msgid "" +"As you probably expect by now, we're going to go over this and give more " +"information about the various handlers. We won't go in the order they are " +"defined in the structure, because there is a lot of historical baggage that " +"impacts the ordering of the fields. It's often easiest to find an example " +"that includes the fields you need and then change the values to suit your " +"new type. ::" +msgstr "" +"Як ви, мабуть, очікуєте, ми розглянемо це та надамо більше інформації про " +"різні обробники. Ми не будемо йти в тому порядку, в якому вони визначені в " +"структурі, тому що існує багато історичного багажу, який впливає на порядок " +"розташування полів. Зазвичай найлегше знайти приклад, який містить потрібні " +"вам поля, а потім змінити значення відповідно до нового типу. ::" + +msgid "" +"The name of the type -- as mentioned in the previous chapter, this will " +"appear in various places, almost entirely for diagnostic purposes. Try to " +"choose something that will be helpful in such a situation! ::" +msgstr "" +"Назва типу — як згадувалося в попередньому розділі, вона з’являтиметься в " +"різних місцях, майже виключно для діагностичних цілей. Спробуйте вибрати те, " +"що допоможе в такій ситуації! ::" + +msgid "" +"These fields tell the runtime how much memory to allocate when new objects " +"of this type are created. Python has some built-in support for variable " +"length structures (think: strings, tuples) which is where the :c:member:" +"`~PyTypeObject.tp_itemsize` field comes in. This will be dealt with " +"later. ::" +msgstr "" +"Ці поля повідомляють середовищі виконання, скільки пам’яті виділяти під час " +"створення нових об’єктів цього типу. У Python є деяка вбудована підтримка " +"структур змінної довжини (наприклад, рядків, кортежів), у яких і з’являється " +"поле :c:member:`~PyTypeObject.tp_itemsize`. Це буде розглянуто пізніше. ::" + +msgid "" +"Here you can put a string (or its address) that you want returned when the " +"Python script references ``obj.__doc__`` to retrieve the doc string." +msgstr "" +"Тут ви можете розмістити рядок (або його адресу), який ви хочете повернути, " +"коли сценарій Python посилається на ``obj.__doc__`` для отримання рядка " +"документа." + +msgid "" +"Now we come to the basic type methods -- the ones most extension types will " +"implement." +msgstr "" +"Тепер ми підходимо до методів базового типу — тих, які реалізовуватимуть " +"більшість типів розширень." + +msgid "Finalization and De-allocation" +msgstr "Завершення та де-розподіл" + +msgid "" +"This function is called when the reference count of the instance of your " +"type is reduced to zero and the Python interpreter wants to reclaim it. If " +"your type has memory to free or other clean-up to perform, you can put it " +"here. The object itself needs to be freed here as well. Here is an example " +"of this function::" +msgstr "" +"Ця функція викликається, коли кількість посилань екземпляра вашого типу " +"зменшується до нуля, і інтерпретатор Python хоче відновити його. Якщо у " +"вашому типі є пам’ять, яку потрібно звільнити або виконати інше очищення, ви " +"можете розмістити це тут. Тут також потрібно звільнити сам об'єкт. Ось " +"приклад цієї функції:" + +msgid "" +"If your type supports garbage collection, the destructor should call :c:func:" +"`PyObject_GC_UnTrack` before clearing any member fields::" +msgstr "" +"Якщо ваш тип підтримує збирання сміття, деструктор має викликати :c:func:" +"`PyObject_GC_UnTrack` перед очищенням будь-яких полів-членів::" + +msgid "" +"One important requirement of the deallocator function is that it leaves any " +"pending exceptions alone. This is important since deallocators are " +"frequently called as the interpreter unwinds the Python stack; when the " +"stack is unwound due to an exception (rather than normal returns), nothing " +"is done to protect the deallocators from seeing that an exception has " +"already been set. Any actions which a deallocator performs which may cause " +"additional Python code to be executed may detect that an exception has been " +"set. This can lead to misleading errors from the interpreter. The proper " +"way to protect against this is to save a pending exception before performing " +"the unsafe action, and restoring it when done. This can be done using the :" +"c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" +msgstr "" +"Однією з важливих вимог до функції розповсюджувача є те, що вона залишає " +"будь-які незавершені винятки. Це важливо, оскільки делокатори часто " +"викликаються, коли інтерпретатор розгортає стек Python; коли стек " +"розгортається через виняток (а не звичайні повернення), нічого не робиться " +"для захисту розповсюджувачів від того, що виняток уже встановлено. Будь-які " +"дії, які виконує розповсюджувач, які можуть спричинити виконання додаткового " +"коду Python, можуть виявити, що встановлено виняток. Це може призвести до " +"оманливих помилок перекладача. Правильний спосіб захисту від цього — " +"зберегти очікуваний виняток перед виконанням небезпечної дії та відновити " +"його після завершення. Це можна зробити за допомогою функцій :c:func:" +"`PyErr_Fetch` і :c:func:`PyErr_Restore`:" + +msgid "" +"There are limitations to what you can safely do in a deallocator function. " +"First, if your type supports garbage collection (using :c:member:" +"`~PyTypeObject.tp_traverse` and/or :c:member:`~PyTypeObject.tp_clear`), some " +"of the object's members can have been cleared or finalized by the time :c:" +"member:`~PyTypeObject.tp_dealloc` is called. Second, in :c:member:" +"`~PyTypeObject.tp_dealloc`, your object is in an unstable state: its " +"reference count is equal to zero. Any call to a non-trivial object or API " +"(as in the example above) might end up calling :c:member:`~PyTypeObject." +"tp_dealloc` again, causing a double free and a crash." +msgstr "" +"Існують обмеження щодо того, що ви можете безпечно робити у функції " +"розповсюджувача. По-перше, якщо ваш тип підтримує збирання сміття (за " +"допомогою :c:member:`~PyTypeObject.tp_traverse` та/або :c:member:" +"`~PyTypeObject.tp_clear`), деякі члени об’єкта можуть бути очищені або " +"завершені за допомогою час виклику :c:member:`~PyTypeObject.tp_dealloc`. По-" +"друге, у :c:member:`~PyTypeObject.tp_dealloc` ваш об’єкт перебуває в " +"нестабільному стані: його кількість посилань дорівнює нулю. Будь-який виклик " +"нетривіального об’єкта або API (як у наведеному вище прикладі) може " +"призвести до повторного виклику :c:member:`~PyTypeObject.tp_dealloc`, " +"викликаючи подвійне звільнення та збій." + +msgid "" +"Starting with Python 3.4, it is recommended not to put any complex " +"finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use " +"the new :c:member:`~PyTypeObject.tp_finalize` type method." +msgstr "" +"Починаючи з Python 3.4, рекомендується не розміщувати будь-який складний код " +"фіналізації в :c:member:`~PyTypeObject.tp_dealloc`, а замість цього " +"використовувати новий метод типу :c:member:`~PyTypeObject.tp_finalize`." + +msgid ":pep:`442` explains the new finalization scheme." +msgstr ":pep:`442` пояснює нову схему завершення." + +msgid "Object Presentation" +msgstr "Презентація об’єкта" + +msgid "" +"In Python, there are two ways to generate a textual representation of an " +"object: the :func:`repr` function, and the :func:`str` function. (The :func:" +"`print` function just calls :func:`str`.) These handlers are both optional." +msgstr "" +"У Python існує два способи створення текстового представлення об’єкта: " +"функція :func:`repr` і функція :func:`str`. (Функція :func:`print` просто " +"викликає :func:`str`.) Ці обробники є необов’язковими." + +msgid "" +"The :c:member:`~PyTypeObject.tp_repr` handler should return a string object " +"containing a representation of the instance for which it is called. Here is " +"a simple example::" +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_repr` має повертати рядковий об’єкт, що " +"містить представлення примірника, для якого він викликається. Ось простий " +"приклад::" + +msgid "" +"If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the " +"interpreter will supply a representation that uses the type's :c:member:" +"`~PyTypeObject.tp_name` and a uniquely identifying value for the object." +msgstr "" + +msgid "" +"The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what the :c:" +"member:`~PyTypeObject.tp_repr` handler described above is to :func:`repr`; " +"that is, it is called when Python code calls :func:`str` on an instance of " +"your object. Its implementation is very similar to the :c:member:" +"`~PyTypeObject.tp_repr` function, but the resulting string is intended for " +"human consumption. If :c:member:`~PyTypeObject.tp_str` is not specified, " +"the :c:member:`~PyTypeObject.tp_repr` handler is used instead." +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_str` є :func:`str` тим же, що описаний " +"вище обробник :c:member:`~PyTypeObject.tp_repr` :func:`repr`; тобто він " +"викликається, коли код Python викликає :func:`str` для екземпляра вашого " +"об’єкта. Його реалізація дуже схожа на функцію :c:member:`~PyTypeObject." +"tp_repr`, але отриманий рядок призначений для використання людиною. Якщо :c:" +"member:`~PyTypeObject.tp_str` не вказано, замість нього використовується " +"обробник :c:member:`~PyTypeObject.tp_repr`." + +msgid "Here is a simple example::" +msgstr "Ось простий приклад::" + +msgid "Attribute Management" +msgstr "Управління атрибутами" + +msgid "" +"For every object which can support attributes, the corresponding type must " +"provide the functions that control how the attributes are resolved. There " +"needs to be a function which can retrieve attributes (if any are defined), " +"and another to set attributes (if setting attributes is allowed). Removing " +"an attribute is a special case, for which the new value passed to the " +"handler is ``NULL``." +msgstr "" +"Для кожного об’єкта, який може підтримувати атрибути, відповідний тип " +"повинен забезпечувати функції, які контролюють, як атрибути вирішуються. " +"Потрібна функція, яка може отримувати атрибути (якщо такі визначені), і інша " +"для встановлення атрибутів (якщо встановлення атрибутів дозволено). " +"Видалення атрибута є особливим випадком, для якого нове значення, передане " +"обробнику, є ``NULL``." + +msgid "" +"Python supports two pairs of attribute handlers; a type that supports " +"attributes only needs to implement the functions for one pair. The " +"difference is that one pair takes the name of the attribute as a :c:expr:" +"`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each type can use " +"whichever pair makes more sense for the implementation's convenience. ::" +msgstr "" + +msgid "" +"If accessing attributes of an object is always a simple operation (this will " +"be explained shortly), there are generic implementations which can be used " +"to provide the :c:expr:`PyObject*` version of the attribute management " +"functions. The actual need for type-specific attribute handlers almost " +"completely disappeared starting with Python 2.2, though there are many " +"examples which have not been updated to use some of the new generic " +"mechanism that is available." +msgstr "" + +msgid "Generic Attribute Management" +msgstr "Керування загальними атрибутами" + +msgid "" +"Most extension types only use *simple* attributes. So, what makes the " +"attributes simple? There are only a couple of conditions that must be met:" +msgstr "" +"Більшість типів розширень використовують лише *прості* атрибути. Отже, що " +"робить атрибути простими? Необхідно виконати лише кілька умов:" + +msgid "" +"The name of the attributes must be known when :c:func:`PyType_Ready` is " +"called." +msgstr "" +"Під час виклику :c:func:`PyType_Ready` мають бути відомі назви атрибутів." + +msgid "" +"No special processing is needed to record that an attribute was looked up or " +"set, nor do actions need to be taken based on the value." +msgstr "" +"Ніякої спеціальної обробки не потрібно, щоб записати, що атрибут було " +"знайдено або встановлено, а також не потрібно виконувати дії на основі " +"значення." + +msgid "" +"Note that this list does not place any restrictions on the values of the " +"attributes, when the values are computed, or how relevant data is stored." +msgstr "" +"Зауважте, що цей список не накладає жодних обмежень на значення атрибутів, " +"час обчислення значень або спосіб зберігання відповідних даних." + +msgid "" +"When :c:func:`PyType_Ready` is called, it uses three tables referenced by " +"the type object to create :term:`descriptor`\\s which are placed in the " +"dictionary of the type object. Each descriptor controls access to one " +"attribute of the instance object. Each of the tables is optional; if all " +"three are ``NULL``, instances of the type will only have attributes that are " +"inherited from their base type, and should leave the :c:member:" +"`~PyTypeObject.tp_getattro` and :c:member:`~PyTypeObject.tp_setattro` fields " +"``NULL`` as well, allowing the base type to handle attributes." +msgstr "" +"Коли викликається :c:func:`PyType_Ready`, він використовує три таблиці, на " +"які посилається об’єкт типу, щоб створити :term:`descriptor`\\, які " +"розміщуються в словнику об’єкта типу. Кожен дескриптор керує доступом до " +"одного атрибута об'єкта екземпляра. Кожна з таблиць необов'язкова; якщо всі " +"три мають значення ``NULL``, екземпляри типу матимуть лише атрибути, " +"успадковані від їх базового типу, і повинні залишити поля :c:member:" +"`~PyTypeObject.tp_getattro` і :c:member:`~PyTypeObject.tp_setattro` як " +"``NULL``, що дозволяє базовому типу обробляти атрибути." + +msgid "The tables are declared as three fields of the type object::" +msgstr "Таблиці оголошуються як три поля типу object::" + +msgid "" +"If :c:member:`~PyTypeObject.tp_methods` is not ``NULL``, it must refer to an " +"array of :c:type:`PyMethodDef` structures. Each entry in the table is an " +"instance of this structure::" +msgstr "" +"Якщо :c:member:`~PyTypeObject.tp_methods` не є ``NULL``, він має посилатися " +"на масив структур :c:type:`PyMethodDef`. Кожен запис у таблиці є екземпляром " +"цієї структури:" + +msgid "" +"One entry should be defined for each method provided by the type; no entries " +"are needed for methods inherited from a base type. One additional entry is " +"needed at the end; it is a sentinel that marks the end of the array. The :" +"attr:`ml_name` field of the sentinel must be ``NULL``." +msgstr "" +"Один запис має бути визначено для кожного методу, наданого типом; не " +"потрібні записи для методів, успадкованих від базового типу. У кінці " +"потрібен один додатковий запис; це дозорний знак, який позначає кінець " +"масиву. Поле :attr:`ml_name` дозорного має бути ``NULL``." + +msgid "" +"The second table is used to define attributes which map directly to data " +"stored in the instance. A variety of primitive C types are supported, and " +"access may be read-only or read-write. The structures in the table are " +"defined as::" +msgstr "" +"Друга таблиця використовується для визначення атрибутів, які відображаються " +"безпосередньо на дані, що зберігаються в екземплярі. Підтримуються " +"різноманітні примітивні типи C, і доступ може бути лише для читання або " +"читання-запису. Структури в таблиці визначені як:" + +msgid "" +"For each entry in the table, a :term:`descriptor` will be constructed and " +"added to the type which will be able to extract a value from the instance " +"structure. The :attr:`type` field should contain one of the type codes " +"defined in the :file:`structmember.h` header; the value will be used to " +"determine how to convert Python values to and from C values. The :attr:" +"`flags` field is used to store flags which control how the attribute can be " +"accessed." +msgstr "" +"Для кожного запису в таблиці буде створено :term:`descriptor` і додано до " +"типу, який зможе витягти значення зі структури екземпляра. Поле :attr:`type` " +"має містити один із кодів типу, визначених у заголовку :file:`structmember." +"h`; значення буде використано, щоб визначити, як конвертувати значення " +"Python у значення C і з них. Поле :attr:`flags` використовується для " +"зберігання позначок, які керують доступом до атрибута." + +msgid "" +"The following flag constants are defined in :file:`structmember.h`; they may " +"be combined using bitwise-OR." +msgstr "" +"У :file:`structmember.h` визначено такі константи прапорів; їх можна " +"комбінувати за допомогою побітового АБО." + +msgid "Constant" +msgstr "Постійний" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`READONLY`" +msgstr ":const:`READONLY`" + +msgid "Never writable." +msgstr "Ніколи не доступний для запису." + +msgid ":const:`PY_AUDIT_READ`" +msgstr ":const:`PY_AUDIT_READ`" + +msgid "" +"Emit an ``object.__getattr__`` :ref:`audit events ` before " +"reading." +msgstr "" +"Видайте ``object.__getattr__`` :ref:`audit events ` перед " +"читанням." + +msgid "" +":const:`RESTRICTED`, :const:`READ_RESTRICTED` and :const:`WRITE_RESTRICTED` " +"are deprecated. However, :const:`READ_RESTRICTED` is an alias for :const:" +"`PY_AUDIT_READ`, so fields that specify either :const:`RESTRICTED` or :const:" +"`READ_RESTRICTED` will also raise an audit event." +msgstr "" +":const:`RESTRICTED`, :const:`READ_RESTRICTED` і :const:`WRITE_RESTRICTED` " +"застаріли. Однак :const:`READ_RESTRICTED` є псевдонімом для :const:" +"`PY_AUDIT_READ`, тому поля, які вказують або :const:`RESTRICTED`, або :const:" +"`READ_RESTRICTED`, також викличуть подію аудиту." + +msgid "" +"An interesting advantage of using the :c:member:`~PyTypeObject.tp_members` " +"table to build descriptors that are used at runtime is that any attribute " +"defined this way can have an associated doc string simply by providing the " +"text in the table. An application can use the introspection API to retrieve " +"the descriptor from the class object, and get the doc string using its :attr:" +"`__doc__` attribute." +msgstr "" +"Цікавою перевагою використання таблиці :c:member:`~PyTypeObject.tp_members` " +"для створення дескрипторів, які використовуються під час виконання, є те, що " +"будь-який атрибут, визначений таким чином, може мати пов’язаний рядок " +"документа, просто надавши текст у таблиці. Програма може використовувати API " +"інтроспекції, щоб отримати дескриптор з об’єкта класу та отримати рядок " +"документа за допомогою його атрибута :attr:`__doc__`." + +msgid "" +"As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry " +"with a :attr:`name` value of ``NULL`` is required." +msgstr "" +"Як і у випадку з таблицею :c:member:`~PyTypeObject.tp_methods`, потрібен " +"дозорний запис зі значенням :attr:`name` ``NULL``." + +msgid "Type-specific Attribute Management" +msgstr "Типозалежне керування атрибутами" + +msgid "" +"For simplicity, only the :c:expr:`char\\*` version will be demonstrated " +"here; the type of the name parameter is the only difference between the :c:" +"expr:`char\\*` and :c:expr:`PyObject*` flavors of the interface. This " +"example effectively does the same thing as the generic example above, but " +"does not use the generic support added in Python 2.2. It explains how the " +"handler functions are called, so that if you do need to extend their " +"functionality, you'll understand what needs to be done." +msgstr "" + +msgid "" +"The :c:member:`~PyTypeObject.tp_getattr` handler is called when the object " +"requires an attribute look-up. It is called in the same situations where " +"the :meth:`__getattr__` method of a class would be called." +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_getattr` викликається, коли об’єкт " +"потребує пошуку атрибута. Він викликається в тих самих ситуаціях, що й " +"метод :meth:`__getattr__` класу." + +msgid "Here is an example::" +msgstr "Ось приклад::" + +msgid "" +"The :c:member:`~PyTypeObject.tp_setattr` handler is called when the :meth:" +"`__setattr__` or :meth:`__delattr__` method of a class instance would be " +"called. When an attribute should be deleted, the third parameter will be " +"``NULL``. Here is an example that simply raises an exception; if this were " +"really all you wanted, the :c:member:`~PyTypeObject.tp_setattr` handler " +"should be set to ``NULL``. ::" +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_setattr` викликається під час виклику " +"методу :meth:`__setattr__` або :meth:`__delattr__` екземпляра класу. Коли " +"атрибут потрібно видалити, третій параметр буде ``NULL``. Ось приклад, який " +"просто викликає виняток; якби це було справді все, що ви хотіли, обробник :c:" +"member:`~PyTypeObject.tp_setattr` повинен бути встановлений на ``NULL``. ::" + +msgid "Object Comparison" +msgstr "Порівняння об’єктів" + +msgid "" +"The :c:member:`~PyTypeObject.tp_richcompare` handler is called when " +"comparisons are needed. It is analogous to the :ref:`rich comparison " +"methods `, like :meth:`__lt__`, and also called by :c:func:" +"`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." +msgstr "" +"Обробник :c:member:`~PyTypeObject.tp_richcompare` викликається, коли " +"потрібні порівняння. Він аналогічний :ref:`багатим методам порівняння " +"`, таким як :meth:`__lt__`, і також викликається :c:func:" +"`PyObject_RichCompare` і :c:func:`PyObject_RichCompareBool`." + +msgid "" +"This function is called with two Python objects and the operator as " +"arguments, where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, " +"``Py_GE``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with " +"respect to the specified operator and return ``Py_True`` or ``Py_False`` if " +"the comparison is successful, ``Py_NotImplemented`` to indicate that " +"comparison is not implemented and the other object's comparison method " +"should be tried, or ``NULL`` if an exception was set." +msgstr "" +"Ця функція викликається з двома об’єктами Python і оператором як " +"аргументами, де оператор є одним із ``Py_EQ``, ``Py_NE``, ``Py_LE``, " +"``Py_GE``, ``Py_LT`` або ``Py_GT``. Він має порівняти два об’єкти щодо " +"вказаного оператора та повернути ``Py_True`` або ``Py_False``, якщо " +"порівняння успішне, ``Py_NotImplemented``, щоб вказати, що порівняння не " +"реалізовано, а метод порівняння іншого об’єкта має спробувати, або ``NULL``, " +"якщо встановлено виняток." + +msgid "" +"Here is a sample implementation, for a datatype that is considered equal if " +"the size of an internal pointer is equal::" +msgstr "" +"Ось приклад реалізації для типу даних, який вважається рівним, якщо розмір " +"внутрішнього покажчика дорівнює:" + +msgid "Abstract Protocol Support" +msgstr "Підтримка абстрактного протоколу" + +msgid "" +"Python supports a variety of *abstract* 'protocols;' the specific interfaces " +"provided to use these interfaces are documented in :ref:`abstract`." +msgstr "" +"Python підтримує різноманітні *абстрактні* \"протоколи\"; спеціальні " +"інтерфейси, надані для використання цих інтерфейсів, задокументовані в :ref:" +"`abstract`." + +msgid "" +"A number of these abstract interfaces were defined early in the development " +"of the Python implementation. In particular, the number, mapping, and " +"sequence protocols have been part of Python since the beginning. Other " +"protocols have been added over time. For protocols which depend on several " +"handler routines from the type implementation, the older protocols have been " +"defined as optional blocks of handlers referenced by the type object. For " +"newer protocols there are additional slots in the main type object, with a " +"flag bit being set to indicate that the slots are present and should be " +"checked by the interpreter. (The flag bit does not indicate that the slot " +"values are non-``NULL``. The flag may be set to indicate the presence of a " +"slot, but a slot may still be unfilled.) ::" +msgstr "" +"Деякі з цих абстрактних інтерфейсів були визначені на початку розробки " +"реалізації Python. Зокрема, протоколи чисел, відображення та послідовності " +"були частиною Python з самого початку. З часом були додані інші протоколи. " +"Для протоколів, які залежать від кількох підпрограм обробників із реалізації " +"типу, старіші протоколи були визначені як додаткові блоки обробників, на які " +"посилається об’єкт типу. Для новіших протоколів є додаткові слоти в об’єкті " +"основного типу, із встановленим бітом прапора, який вказує, що слоти " +"присутні та повинні бути перевірені інтерпретатором. (Біт прапора не вказує " +"на те, що значення слота не є ``NULL``. Прапор може бути встановлений для " +"вказівки на наявність слота, але слот все ще може бути незаповненим.) ::" + +msgid "" +"If you wish your object to be able to act like a number, a sequence, or a " +"mapping object, then you place the address of a structure that implements " +"the C type :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, or :c:" +"type:`PyMappingMethods`, respectively. It is up to you to fill in this " +"structure with appropriate values. You can find examples of the use of each " +"of these in the :file:`Objects` directory of the Python source " +"distribution. ::" +msgstr "" +"Якщо ви бажаєте, щоб ваш об’єкт діяв як число, послідовність або об’єкт " +"відображення, тоді ви розміщуєте адресу структури, яка реалізує тип C :c:" +"type:`PyNumberMethods`, :c:type:`PySequenceMethods` або :c:type:" +"`PyMappingMethods` відповідно. Ви повинні заповнити цю структуру " +"відповідними значеннями. Ви можете знайти приклади використання кожного з " +"них у каталозі :file:`Objects` вихідного коду Python. ::" + +msgid "" +"This function, if you choose to provide it, should return a hash number for " +"an instance of your data type. Here is a simple example::" +msgstr "" +"Ця функція, якщо ви вирішите її надати, має повертати хеш-номер для " +"екземпляра вашого типу даних. Ось простий приклад::" + +msgid "" +":c:type:`Py_hash_t` is a signed integer type with a platform-varying width. " +"Returning ``-1`` from :c:member:`~PyTypeObject.tp_hash` indicates an error, " +"which is why you should be careful to avoid returning it when hash " +"computation is successful, as seen above." +msgstr "" +":c:type:`Py_hash_t` — це цілочисельний тип зі знаком зі змінною шириною " +"платформи. Повернення ``-1`` із :c:member:`~PyTypeObject.tp_hash` вказує на " +"помилку, тому ви повинні бути обережними, щоб не повертати його, коли " +"обчислення хешу успішне, як показано вище." + +msgid "" +"This function is called when an instance of your data type is \"called\", " +"for example, if ``obj1`` is an instance of your data type and the Python " +"script contains ``obj1('hello')``, the :c:member:`~PyTypeObject.tp_call` " +"handler is invoked." +msgstr "" +"Ця функція викликається, коли \"викликається\" екземпляр вашого типу даних, " +"наприклад, якщо ``obj1`` є екземпляром вашого типу даних і сценарій Python " +"містить ``obj1('hello')``, то :c:member:`~PyTypeObject.tp_call` обробник " +"викликається." + +msgid "This function takes three arguments:" +msgstr "Ця функція приймає три аргументи:" + +msgid "" +"*self* is the instance of the data type which is the subject of the call. If " +"the call is ``obj1('hello')``, then *self* is ``obj1``." +msgstr "" +"*self* — це екземпляр типу даних, який є предметом виклику. Якщо виклик " +"``obj1('hello')``, то *self* є ``obj1``." + +msgid "" +"*args* is a tuple containing the arguments to the call. You can use :c:func:" +"`PyArg_ParseTuple` to extract the arguments." +msgstr "" +"*args* — це кортеж, що містить аргументи виклику. Ви можете використовувати :" +"c:func:`PyArg_ParseTuple`, щоб отримати аргументи." + +msgid "" +"*kwds* is a dictionary of keyword arguments that were passed. If this is non-" +"``NULL`` and you support keyword arguments, use :c:func:" +"`PyArg_ParseTupleAndKeywords` to extract the arguments. If you do not want " +"to support keyword arguments and this is non-``NULL``, raise a :exc:" +"`TypeError` with a message saying that keyword arguments are not supported." +msgstr "" +"*kwds* — це словник переданих ключових аргументів. Якщо це не ``NULL`` і ви " +"підтримуєте аргументи ключових слів, використовуйте :c:func:" +"`PyArg_ParseTupleAndKeywords`, щоб отримати аргументи. Якщо ви не хочете " +"підтримувати аргументи ключових слів і це не ``NULL``, викличте :exc:" +"`TypeError` із повідомленням про те, що аргументи ключових слів не " +"підтримуються." + +msgid "Here is a toy ``tp_call`` implementation::" +msgstr "Ось реалізація іграшки ``tp_call``::" + +msgid "" +"These functions provide support for the iterator protocol. Both handlers " +"take exactly one parameter, the instance for which they are being called, " +"and return a new reference. In the case of an error, they should set an " +"exception and return ``NULL``. :c:member:`~PyTypeObject.tp_iter` " +"corresponds to the Python :meth:`__iter__` method, while :c:member:" +"`~PyTypeObject.tp_iternext` corresponds to the Python :meth:`~iterator." +"__next__` method." +msgstr "" +"Ці функції забезпечують підтримку протоколу ітератора. Обидва обробники " +"беруть рівно один параметр, екземпляр, для якого вони викликаються, і " +"повертають нове посилання. У разі помилки вони повинні встановити виняток і " +"повернути ``NULL``. :c:member:`~PyTypeObject.tp_iter` відповідає методу " +"Python :meth:`__iter__`, тоді як :c:member:`~PyTypeObject.tp_iternext` " +"відповідає методу Python :meth:`~iterator.__next__`." + +msgid "" +"Any :term:`iterable` object must implement the :c:member:`~PyTypeObject." +"tp_iter` handler, which must return an :term:`iterator` object. Here the " +"same guidelines apply as for Python classes:" +msgstr "" +"Будь-який об’єкт :term:`iterable` повинен реалізовувати обробник :c:member:" +"`~PyTypeObject.tp_iter`, який має повертати об’єкт :term:`iterator`. Тут " +"застосовуються ті самі правила, що й для класів Python:" + +msgid "" +"For collections (such as lists and tuples) which can support multiple " +"independent iterators, a new iterator should be created and returned by each " +"call to :c:member:`~PyTypeObject.tp_iter`." +msgstr "" +"Для колекцій (таких як списки та кортежі), які можуть підтримувати кілька " +"незалежних ітераторів, новий ітератор слід створювати та повертати під час " +"кожного виклику :c:member:`~PyTypeObject.tp_iter`." + +msgid "" +"Objects which can only be iterated over once (usually due to side effects of " +"iteration, such as file objects) can implement :c:member:`~PyTypeObject." +"tp_iter` by returning a new reference to themselves -- and should also " +"therefore implement the :c:member:`~PyTypeObject.tp_iternext` handler." +msgstr "" +"Об’єкти, які можна повторити лише один раз (зазвичай через побічні ефекти " +"ітерації, такі як файлові об’єкти), можуть реалізувати :c:member:" +"`~PyTypeObject.tp_iter`, повертаючи нове посилання на себе — і тому також " +"повинні реалізувати :c:member:`~PyTypeObject.tp_iternext` обробник." + +msgid "" +"Any :term:`iterator` object should implement both :c:member:`~PyTypeObject." +"tp_iter` and :c:member:`~PyTypeObject.tp_iternext`. An iterator's :c:member:" +"`~PyTypeObject.tp_iter` handler should return a new reference to the " +"iterator. Its :c:member:`~PyTypeObject.tp_iternext` handler should return a " +"new reference to the next object in the iteration, if there is one. If the " +"iteration has reached the end, :c:member:`~PyTypeObject.tp_iternext` may " +"return ``NULL`` without setting an exception, or it may set :exc:" +"`StopIteration` *in addition* to returning ``NULL``; avoiding the exception " +"can yield slightly better performance. If an actual error occurs, :c:member:" +"`~PyTypeObject.tp_iternext` should always set an exception and return " +"``NULL``." +msgstr "" +"Будь-який об’єкт :term:`iterator` повинен реалізовувати як :c:member:" +"`~PyTypeObject.tp_iter`, так і :c:member:`~PyTypeObject.tp_iternext`. " +"Обробник :c:member:`~PyTypeObject.tp_iter` ітератора має повертати нове " +"посилання на ітератор. Його :c:member:`~PyTypeObject.tp_iternext` обробник " +"має повернути нове посилання на наступний об’єкт у ітерації, якщо він є. " +"Якщо ітерація досягла кінця, :c:member:`~PyTypeObject.tp_iternext` може " +"повернути ``NULL`` без встановлення винятку, або він може встановити :exc:" +"`StopIteration` *на додаток* до повернення ``NULL``; уникнення винятку може " +"дати трохи кращу продуктивність. Якщо сталася фактична помилка, :c:member:" +"`~PyTypeObject.tp_iternext` має завжди встановлювати виняток і повертати " +"``NULL``." + +msgid "Weak Reference Support" +msgstr "Слабка довідкова підтримка" + +msgid "" +"One of the goals of Python's weak reference implementation is to allow any " +"type to participate in the weak reference mechanism without incurring the " +"overhead on performance-critical objects (such as numbers)." +msgstr "" +"Одна з цілей реалізації слабкого посилання Python полягає в тому, щоб " +"дозволити будь-якому типу брати участь у механізмі слабкого посилання без " +"накладних витрат на критичні для продуктивності об’єкти (наприклад, числа)." + +msgid "Documentation for the :mod:`weakref` module." +msgstr "Документація для модуля :mod:`weakref`." + +msgid "" +"For an object to be weakly referencable, the extension type must do two " +"things:" +msgstr "" +"Щоб на об’єкт було слабке посилання, тип розширення повинен робити дві речі:" + +msgid "" +"Include a :c:expr:`PyObject*` field in the C object structure dedicated to " +"the weak reference mechanism. The object's constructor should leave it " +"``NULL`` (which is automatic when using the default :c:member:`~PyTypeObject." +"tp_alloc`)." +msgstr "" + +msgid "" +"Set the :c:member:`~PyTypeObject.tp_weaklistoffset` type member to the " +"offset of the aforementioned field in the C object structure, so that the " +"interpreter knows how to access and modify that field." +msgstr "" +"Встановіть елемент типу :c:member:`~PyTypeObject.tp_weaklistoffset` на " +"зміщення вищезгаданого поля в структурі об’єкта C, щоб інтерпретатор знав, " +"як отримати доступ до цього поля та змінити його." + +msgid "" +"Concretely, here is how a trivial object structure would be augmented with " +"the required field::" +msgstr "" +"Конкретно, ось як тривіальна структура об’єкта буде доповнена необхідним " +"полем::" + +msgid "And the corresponding member in the statically declared type object::" +msgstr "" + +msgid "" +"The only further addition is that ``tp_dealloc`` needs to clear any weak " +"references (by calling :c:func:`PyObject_ClearWeakRefs`) if the field is non-" +"``NULL``::" +msgstr "" +"Єдиним додатковим доповненням є те, що ``tp_dealloc`` має очистити всі " +"слабкі посилання (за допомогою виклику :c:func:`PyObject_ClearWeakRefs`), " +"якщо поле не є ``NULL``::" + +msgid "More Suggestions" +msgstr "Більше пропозицій" + +msgid "" +"In order to learn how to implement any specific method for your new data " +"type, get the :term:`CPython` source code. Go to the :file:`Objects` " +"directory, then search the C source files for ``tp_`` plus the function you " +"want (for example, ``tp_richcompare``). You will find examples of the " +"function you want to implement." +msgstr "" +"Щоб дізнатися, як реалізувати певний метод для вашого нового типу даних, " +"отримайте вихідний код :term:`CPython`. Перейдіть до каталогу :file:" +"`Objects`, потім знайдіть у вихідних файлах C ``tp_`` і потрібну функцію " +"(наприклад, ``tp_richcompare``). Ви знайдете приклади функцій, які ви хочете " +"реалізувати." + +msgid "" +"When you need to verify that an object is a concrete instance of the type " +"you are implementing, use the :c:func:`PyObject_TypeCheck` function. A " +"sample of its use might be something like the following::" +msgstr "" +"Якщо вам потрібно перевірити, чи об’єкт є конкретним екземпляром типу, який " +"ви реалізуєте, використовуйте функцію :c:func:`PyObject_TypeCheck`. Приклад " +"його використання може бути приблизно таким:" + +msgid "Download CPython source releases." +msgstr "Завантажте вихідні версії CPython." + +msgid "https://www.python.org/downloads/source/" +msgstr "https://www.python.org/downloads/source/" + +msgid "" +"The CPython project on GitHub, where the CPython source code is developed." +msgstr "Проект CPython на GitHub, де розробляється вихідний код CPython." + +msgid "https://github.com/python/cpython" +msgstr "https://github.com/python/cpython" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po new file mode 100644 index 000000000..2362f3e09 --- /dev/null +++ b/extending/newtypes_tutorial.po @@ -0,0 +1,1097 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Defining Extension Types: Tutorial" +msgstr "Визначення типів розширень: підручник" + +msgid "" +"Python allows the writer of a C extension module to define new types that " +"can be manipulated from Python code, much like the built-in :class:`str` " +"and :class:`list` types. The code for all extension types follows a " +"pattern, but there are some details that you need to understand before you " +"can get started. This document is a gentle introduction to the topic." +msgstr "" +"Python дозволяє автору модуля розширення C визначати нові типи, якими можна " +"керувати з коду Python, подібно до вбудованих типів :class:`str` і :class:" +"`list`. Код для всіх типів розширень відповідає шаблону, але є деякі деталі, " +"які ви повинні зрозуміти, перш ніж почати. Цей документ є легким вступом до " +"теми." + +msgid "The Basics" +msgstr "Основи" + +msgid "" +"The :term:`CPython` runtime sees all Python objects as variables of type :c:" +"expr:`PyObject*`, which serves as a \"base type\" for all Python objects. " +"The :c:type:`PyObject` structure itself only contains the object's :term:" +"`reference count` and a pointer to the object's \"type object\". This is " +"where the action is; the type object determines which (C) functions get " +"called by the interpreter when, for instance, an attribute gets looked up on " +"an object, a method called, or it is multiplied by another object. These C " +"functions are called \"type methods\"." +msgstr "" + +msgid "" +"So, if you want to define a new extension type, you need to create a new " +"type object." +msgstr "" +"Отже, якщо ви хочете визначити новий тип розширення, вам потрібно створити " +"об’єкт нового типу." + +msgid "" +"This sort of thing can only be explained by example, so here's a minimal, " +"but complete, module that defines a new type named :class:`Custom` inside a " +"C extension module :mod:`custom`:" +msgstr "" +"Подібні речі можна пояснити лише на прикладі, тому ось мінімальний, але " +"повний модуль, який визначає новий тип під назвою :class:`Custom` всередині " +"модуля розширення C :mod:`custom`:" + +msgid "" +"What we're showing here is the traditional way of defining *static* " +"extension types. It should be adequate for most uses. The C API also " +"allows defining heap-allocated extension types using the :c:func:" +"`PyType_FromSpec` function, which isn't covered in this tutorial." +msgstr "" +"Тут ми показуємо традиційний спосіб визначення *статичних* типів розширень. " +"Його має бути достатньо для більшості видів використання. C API також " +"дозволяє визначати типи розширень, виділених у купі, за допомогою функції :c:" +"func:`PyType_FromSpec`, яка не розглядається в цьому посібнику." + +msgid "" +"Now that's quite a bit to take in at once, but hopefully bits will seem " +"familiar from the previous chapter. This file defines three things:" +msgstr "" +"Це досить багато, щоб зрозуміти відразу, але, сподіваюся, деталі здадуться " +"вам знайомими з попереднього розділу. Цей файл визначає три речі:" + +msgid "" +"What a :class:`Custom` **object** contains: this is the ``CustomObject`` " +"struct, which is allocated once for each :class:`Custom` instance." +msgstr "" +"Що містить **об’єкт** :class:`Custom`: це структура ``CustomObject``, яка " +"виділяється один раз для кожного екземпляра :class:`Custom`." + +msgid "" +"How the :class:`Custom` **type** behaves: this is the ``CustomType`` struct, " +"which defines a set of flags and function pointers that the interpreter " +"inspects when specific operations are requested." +msgstr "" +"Як поводиться :class:`Custom` **type**: це структура ``CustomType``, яка " +"визначає набір прапорів і покажчиків на функції, які інтерпретатор " +"перевіряє, коли запитуються певні операції." + +msgid "" +"How to initialize the :mod:`custom` module: this is the ``PyInit_custom`` " +"function and the associated ``custommodule`` struct." +msgstr "" +"Як ініціалізувати модуль :mod:`custom`: це функція ``PyInit_custom`` і " +"пов’язана з нею структура ``custommodule``." + +msgid "The first bit is::" +msgstr "Перший біт::" + +msgid "" +"This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory " +"at the start of each object struct and defines a field called ``ob_base`` of " +"type :c:type:`PyObject`, containing a pointer to a type object and a " +"reference count (these can be accessed using the macros :c:macro:`Py_TYPE` " +"and :c:macro:`Py_REFCNT` respectively). The reason for the macro is to " +"abstract away the layout and to enable additional fields in :ref:`debug " +"builds `." +msgstr "" +"Це те, що міститиме спеціальний об’єкт. ``PyObject_HEAD`` є обов’язковим на " +"початку кожної структури об’єкта та визначає поле під назвою ``ob_base`` " +"типу :c:type:`PyObject`, що містить вказівник на об’єкт типу та кількість " +"посилань (вони можуть бути отримати доступ за допомогою макросів :c:macro:" +"`Py_TYPE` і :c:macro:`Py_REFCNT` відповідно). Причина макросу полягає в " +"тому, щоб абстрагуватися від макета та ввімкнути додаткові поля в :ref:" +"`debug builds `." + +msgid "" +"There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be " +"wary of adding one by accident: some compilers will complain." +msgstr "" +"Немає крапки з комою після макросу :c:macro:`PyObject_HEAD`. Будьте " +"обережні, додаючи його випадково: деякі компілятори скаржаться." + +msgid "" +"Of course, objects generally store additional data besides the standard " +"``PyObject_HEAD`` boilerplate; for example, here is the definition for " +"standard Python floats::" +msgstr "" +"Звичайно, об’єкти зазвичай зберігають додаткові дані, окрім стандартного " +"шаблону ``PyObject_HEAD``; наприклад, ось визначення стандартних floats " +"Python::" + +msgid "The second bit is the definition of the type object. ::" +msgstr "Другий біт - це визначення об'єкта типу. ::" + +msgid "" +"We recommend using C99-style designated initializers as above, to avoid " +"listing all the :c:type:`PyTypeObject` fields that you don't care about and " +"also to avoid caring about the fields' declaration order." +msgstr "" +"Ми рекомендуємо використовувати призначені ініціалізатори у стилі C99, як " +"зазначено вище, щоб уникнути переліку всіх полів :c:type:`PyTypeObject`, які " +"вас не цікавлять, а також щоб не піклуватися про порядок оголошення полів." + +msgid "" +"The actual definition of :c:type:`PyTypeObject` in :file:`object.h` has many " +"more :ref:`fields ` than the definition above. The remaining " +"fields will be filled with zeros by the C compiler, and it's common practice " +"to not specify them explicitly unless you need them." +msgstr "" +"Справжнє визначення :c:type:`PyTypeObject` у :file:`object.h` має набагато " +"більше :ref:`полів `, ніж визначення вище. Поля, що " +"залишилися, будуть заповнені нулями компілятором C, і звичайною практикою є " +"не вказувати їх явно, якщо вони вам не потрібні." + +msgid "We're going to pick it apart, one field at a time::" +msgstr "Ми збираємося розібрати його, одне поле за раз::" + +msgid "" +"This line is mandatory boilerplate to initialize the ``ob_base`` field " +"mentioned above. ::" +msgstr "" +"Цей рядок є обов’язковим шаблоном для ініціалізації поля ``ob_base``, " +"згаданого вище. ::" + +msgid "" +"The name of our type. This will appear in the default textual " +"representation of our objects and in some error messages, for example:" +msgstr "" +"Назва нашого типу. Це відображатиметься в типовому текстовому представленні " +"наших об’єктів і в деяких повідомленнях про помилки, наприклад:" + +msgid "" +"Note that the name is a dotted name that includes both the module name and " +"the name of the type within the module. The module in this case is :mod:" +"`custom` and the type is :class:`Custom`, so we set the type name to :class:" +"`custom.Custom`. Using the real dotted import path is important to make your " +"type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::" +msgstr "" +"Зауважте, що назва – це ім’я з крапками, яке включає як ім’я модуля, так і " +"ім’я типу в модулі. Модуль у цьому випадку — :mod:`custom`, а тип — :class:" +"`Custom`, тому ми встановлюємо назву типу :class:`custom.Custom`. " +"Використання справжнього шляху імпорту, позначеного пунктиром, важливо, щоб " +"ваш тип був сумісним із модулями :mod:`pydoc` і :mod:`pickle`. ::" + +msgid "" +"This is so that Python knows how much memory to allocate when creating new :" +"class:`Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only " +"used for variable-sized objects and should otherwise be zero." +msgstr "" +"Це для того, щоб Python знав, скільки пам’яті виділити під час створення " +"нових екземплярів :class:`Custom`. :c:member:`~PyTypeObject.tp_itemsize` " +"використовується лише для об’єктів змінного розміру, інакше має дорівнювати " +"нулю." + +msgid "" +"If you want your type to be subclassable from Python, and your type has the " +"same :c:member:`~PyTypeObject.tp_basicsize` as its base type, you may have " +"problems with multiple inheritance. A Python subclass of your type will " +"have to list your type first in its :attr:`~class.__bases__`, or else it " +"will not be able to call your type's :meth:`__new__` method without getting " +"an error. You can avoid this problem by ensuring that your type has a " +"larger value for :c:member:`~PyTypeObject.tp_basicsize` than its base type " +"does. Most of the time, this will be true anyway, because either your base " +"type will be :class:`object`, or else you will be adding data members to " +"your base type, and therefore increasing its size." +msgstr "" +"Якщо ви хочете, щоб ваш тип був підкласовим із Python, і ваш тип має той " +"самий :c:member:`~PyTypeObject.tp_basicsize` як базовий тип, у вас можуть " +"виникнути проблеми з множинним успадкуванням. Підклас Python вашого типу " +"повинен буде перерахувати ваш тип першим у своєму :attr:`~class.__bases__`, " +"інакше він не зможе викликати метод :meth:`__new__` вашого типу без " +"отримання помилки. Ви можете уникнути цієї проблеми, переконавшись, що ваш " +"тип має більше значення для :c:member:`~PyTypeObject.tp_basicsize`, ніж його " +"базовий тип. У більшості випадків це все одно буде правдою, тому що або ваш " +"базовий тип буде :class:`object`, або ви додаватимете члени даних до свого " +"базового типу, а отже, збільшите його розмір." + +msgid "We set the class flags to :const:`Py_TPFLAGS_DEFAULT`. ::" +msgstr "Ми встановили прапорці класу на :const:`Py_TPFLAGS_DEFAULT`. ::" + +msgid "" +"All types should include this constant in their flags. It enables all of " +"the members defined until at least Python 3.3. If you need further members, " +"you will need to OR the corresponding flags." +msgstr "" +"Усі типи повинні включати цю константу у свої прапорці. Він увімкне всі " +"члени, визначені принаймні до Python 3.3. Якщо вам потрібні додаткові члени, " +"вам потрібно буде АБО відповідні прапорці." + +msgid "" +"We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::" +msgstr "" +"Ми надаємо рядок документа для типу в :c:member:`~PyTypeObject.tp_doc`. ::" + +msgid "" +"To enable object creation, we have to provide a :c:member:`~PyTypeObject." +"tp_new` handler. This is the equivalent of the Python method :meth:" +"`__new__`, but has to be specified explicitly. In this case, we can just " +"use the default implementation provided by the API function :c:func:" +"`PyType_GenericNew`. ::" +msgstr "" +"Щоб увімкнути створення об’єкта, ми маємо надати обробник :c:member:" +"`~PyTypeObject.tp_new`. Це еквівалент методу Python :meth:`__new__`, але " +"його потрібно вказати явно. У цьому випадку ми можемо просто використати " +"реалізацію за замовчуванням, надану функцією API :c:func:" +"`PyType_GenericNew`. ::" + +msgid "" +"Everything else in the file should be familiar, except for some code in :c:" +"func:`PyInit_custom`::" +msgstr "" +"Все інше у файлі має бути знайомим, за винятком деякого коду в :c:func:" +"`PyInit_custom`::" + +msgid "" +"This initializes the :class:`Custom` type, filling in a number of members to " +"the appropriate default values, including :attr:`ob_type` that we initially " +"set to ``NULL``. ::" +msgstr "" +"Це ініціалізує тип :class:`Custom`, заповнюючи кількість членів відповідними " +"значеннями за замовчуванням, включаючи :attr:`ob_type`, який ми спочатку " +"встановили як ``NULL``. ::" + +msgid "" +"This adds the type to the module dictionary. This allows us to create :" +"class:`Custom` instances by calling the :class:`Custom` class:" +msgstr "" +"Це додає тип до словника модуля. Це дозволяє нам створювати екземпляри :" +"class:`Custom`, викликаючи клас :class:`Custom`:" + +msgid "" +"That's it! All that remains is to build it; put the above code in a file " +"called :file:`custom.c` and:" +msgstr "" +"Це воно! Залишається лише побудувати його; помістіть наведений вище код у " +"файл під назвою :file:`custom.c` і:" + +msgid "in a file called :file:`setup.py`; then typing" +msgstr "у файлі під назвою :file:`setup.py`; потім набравши" + +msgid "" +"at a shell should produce a file :file:`custom.so` in a subdirectory; move " +"to that directory and fire up Python --- you should be able to ``import " +"custom`` and play around with Custom objects." +msgstr "" +"в оболонці має створити файл :file:`custom.so` у підкаталозі; перейдіть до " +"цього каталогу та запустіть Python --- ви зможете ``імпортувати " +"настроювані`` та грати з налаштованими об’єктами." + +msgid "That wasn't so hard, was it?" +msgstr "Це було не так важко, чи не так?" + +msgid "" +"Of course, the current Custom type is pretty uninteresting. It has no data " +"and doesn't do anything. It can't even be subclassed." +msgstr "" +"Звичайно, поточний тип Custom є досить нецікавим. Він не має даних і нічого " +"не робить. Це навіть не може бути підкласом." + +msgid "" +"While this documentation showcases the standard :mod:`distutils` module for " +"building C extensions, it is recommended in real-world use cases to use the " +"newer and better-maintained ``setuptools`` library. Documentation on how to " +"do this is out of scope for this document and can be found in the `Python " +"Packaging User's Guide `_." +msgstr "" +"Хоча ця документація демонструє стандартний модуль :mod:`distutils` для " +"створення розширень C, у реальних випадках використання рекомендується " +"використовувати новішу та краще підтримувану бібліотеку ``setuptools``. " +"Документацію про те, як це зробити, виходить за рамки цього документа, її " +"можна знайти в `Посібнику користувача з упакування Python `_." + +msgid "Adding data and methods to the Basic example" +msgstr "Додавання даних і методів до базового прикладу" + +msgid "" +"Let's extend the basic example to add some data and methods. Let's also " +"make the type usable as a base class. We'll create a new module, :mod:" +"`custom2` that adds these capabilities:" +msgstr "" +"Давайте розширимо базовий приклад, щоб додати деякі дані та методи. Давайте " +"також зробимо тип придатним для використання як базовий клас. Ми створимо " +"новий модуль :mod:`custom2`, який додасть такі можливості:" + +msgid "This version of the module has a number of changes." +msgstr "Ця версія модуля має низку змін." + +msgid "We've added an extra include::" +msgstr "Ми додали додаткове включення::" + +msgid "" +"This include provides declarations that we use to handle attributes, as " +"described a bit later." +msgstr "" +"Це включає в себе оголошення, які ми використовуємо для обробки атрибутів, " +"як описано трохи пізніше." + +msgid "" +"The :class:`Custom` type now has three data attributes in its C struct, " +"*first*, *last*, and *number*. The *first* and *last* variables are Python " +"strings containing first and last names. The *number* attribute is a C " +"integer." +msgstr "" +"Тип :class:`Custom` тепер має три атрибути даних у структурі C: *first*, " +"*last* і *number*. Змінні *first* і *last* є рядками Python, що містять " +"імена та прізвища. Атрибут *number* є цілим числом C." + +msgid "The object structure is updated accordingly::" +msgstr "Відповідно оновлено структуру об'єкта:" + +msgid "" +"Because we now have data to manage, we have to be more careful about object " +"allocation and deallocation. At a minimum, we need a deallocation method::" +msgstr "" +"Оскільки тепер у нас є дані, якими потрібно керувати, ми повинні бути " +"обережнішими щодо розподілу та звільнення об’єктів. Як мінімум, нам потрібен " +"метод звільнення:" + +msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::" +msgstr "який призначено члену :c:member:`~PyTypeObject.tp_dealloc`::" + +msgid "" +"This method first clears the reference counts of the two Python attributes. :" +"c:func:`Py_XDECREF` correctly handles the case where its argument is " +"``NULL`` (which might happen here if ``tp_new`` failed midway). It then " +"calls the :c:member:`~PyTypeObject.tp_free` member of the object's type " +"(computed by ``Py_TYPE(self)``) to free the object's memory. Note that the " +"object's type might not be :class:`CustomType`, because the object may be an " +"instance of a subclass." +msgstr "" +"Цей метод спочатку очищає лічильники посилань двох атрибутів Python. :c:func:" +"`Py_XDECREF` правильно обробляє випадок, коли його аргумент дорівнює " +"``NULL`` (що може трапитися тут, якщо ``tp_new`` не вдається на півдорозі). " +"Потім він викликає :c:member:`~PyTypeObject.tp_free` член типу об’єкта " +"(обчислений ``Py_TYPE(self)``), щоб звільнити пам’ять об’єкта. Зверніть " +"увагу, що тип об’єкта може бути не :class:`CustomType`, оскільки об’єкт може " +"бути екземпляром підкласу." + +msgid "" +"The explicit cast to ``destructor`` above is needed because we defined " +"``Custom_dealloc`` to take a ``CustomObject *`` argument, but the " +"``tp_dealloc`` function pointer expects to receive a ``PyObject *`` " +"argument. Otherwise, the compiler will emit a warning. This is object-" +"oriented polymorphism, in C!" +msgstr "" +"Потрібне явне приведення до ``деструктора``, оскільки ми визначили " +"``Custom_dealloc`` для отримання аргументу ``CustomObject *``, але покажчик " +"функції ``tp_dealloc`` очікує отримання ``PyObject *`` аргумент. В іншому " +"випадку компілятор видасть попередження. Це об'єктно-орієнтований " +"поліморфізм у C!" + +msgid "" +"We want to make sure that the first and last names are initialized to empty " +"strings, so we provide a ``tp_new`` implementation::" +msgstr "" +"Ми хочемо переконатися, що ім’я та прізвище ініціалізовано порожніми " +"рядками, тому ми надаємо реалізацію ``tp_new``::" + +msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::" +msgstr "і встановіть його в :c:member:`~PyTypeObject.tp_new` member::" + +msgid "" +"The ``tp_new`` handler is responsible for creating (as opposed to " +"initializing) objects of the type. It is exposed in Python as the :meth:" +"`__new__` method. It is not required to define a ``tp_new`` member, and " +"indeed many extension types will simply reuse :c:func:`PyType_GenericNew` as " +"done in the first version of the ``Custom`` type above. In this case, we " +"use the ``tp_new`` handler to initialize the ``first`` and ``last`` " +"attributes to non-``NULL`` default values." +msgstr "" +"Обробник ``tp_new`` відповідає за створення (на відміну від ініціалізації) " +"об’єктів типу. Він представлений у Python як метод :meth:`__new__`. Не " +"потрібно визначати член ``tp_new``, і справді, багато типів розширень просто " +"повторно використовуватимуть :c:func:`PyType_GenericNew`, як це було " +"зроблено в першій версії типу ``Custom`` вище. У цьому випадку ми " +"використовуємо обробник ``tp_new``, щоб ініціалізувати атрибути ``first`` і " +"``last`` значеннями за замовчуванням, відмінними від ``NULL``." + +msgid "" +"``tp_new`` is passed the type being instantiated (not necessarily " +"``CustomType``, if a subclass is instantiated) and any arguments passed when " +"the type was called, and is expected to return the instance created. " +"``tp_new`` handlers always accept positional and keyword arguments, but they " +"often ignore the arguments, leaving the argument handling to initializer (a." +"k.a. ``tp_init`` in C or ``__init__`` in Python) methods." +msgstr "" +"``tp_new`` передається тип, який створюється (не обов’язково ``CustomType``, " +"якщо створено підклас) і будь-які аргументи, передані під час виклику типу, " +"і очікується, що він поверне створений екземпляр. Обробники ``tp_new`` " +"завжди приймають позиційні аргументи та аргументи ключових слів, але вони " +"часто ігнорують аргументи, залишаючи обробку аргументів методам " +"ініціалізації (він же ``tp_init`` в C або ``__init__`` в Python)." + +msgid "" +"``tp_new`` shouldn't call ``tp_init`` explicitly, as the interpreter will do " +"it itself." +msgstr "" +"``tp_new`` не повинен викликати ``tp_init`` явно, оскільки інтерпретатор " +"зробить це сам." + +msgid "" +"The ``tp_new`` implementation calls the :c:member:`~PyTypeObject.tp_alloc` " +"slot to allocate memory::" +msgstr "" +"Реалізація ``tp_new`` викликає слот :c:member:`~PyTypeObject.tp_alloc` для " +"виділення пам’яті::" + +msgid "" +"Since memory allocation may fail, we must check the :c:member:`~PyTypeObject." +"tp_alloc` result against ``NULL`` before proceeding." +msgstr "" +"Оскільки розподіл пам’яті може завершитися помилкою, ми повинні перевірити " +"результат :c:member:`~PyTypeObject.tp_alloc` на ``NULL`` перед тим, як " +"продовжити." + +msgid "" +"We didn't fill the :c:member:`~PyTypeObject.tp_alloc` slot ourselves. " +"Rather :c:func:`PyType_Ready` fills it for us by inheriting it from our base " +"class, which is :class:`object` by default. Most types use the default " +"allocation strategy." +msgstr "" +"Ми самі не заповнювали слот :c:member:`~PyTypeObject.tp_alloc`. Швидше :c:" +"func:`PyType_Ready` заповнює його за нас, успадковуючи його від нашого " +"базового класу, яким за замовчуванням є :class:`object`. Більшість типів " +"використовує стратегію розподілу за замовчуванням." + +msgid "" +"If you are creating a co-operative :c:member:`~PyTypeObject.tp_new` (one " +"that calls a base type's :c:member:`~PyTypeObject.tp_new` or :meth:" +"`__new__`), you must *not* try to determine what method to call using method " +"resolution order at runtime. Always statically determine what type you are " +"going to call, and call its :c:member:`~PyTypeObject.tp_new` directly, or " +"via ``type->tp_base->tp_new``. If you do not do this, Python subclasses of " +"your type that also inherit from other Python-defined classes may not work " +"correctly. (Specifically, you may not be able to create instances of such " +"subclasses without getting a :exc:`TypeError`.)" +msgstr "" +"Якщо ви створюєте кооперативний :c:member:`~PyTypeObject.tp_new` (який " +"викликає базовий тип :c:member:`~PyTypeObject.tp_new` або :meth:`__new__`), " +"ви *не* повинні спробуйте визначити, який метод викликати, використовуючи " +"порядок вирішення методів під час виконання. Завжди статично визначте, який " +"тип ви збираєтеся викликати, і викликайте його :c:member:`~PyTypeObject." +"tp_new` безпосередньо або через ``type->tp_base->tp_new``. Якщо ви цього не " +"зробите, підкласи Python вашого типу, які також успадковують інші класи, " +"визначені Python, можуть не працювати належним чином. (Зокрема, можливо, ви " +"не зможете створити екземпляри таких підкласів без отримання :exc:" +"`TypeError`.)" + +msgid "" +"We also define an initialization function which accepts arguments to provide " +"initial values for our instance::" +msgstr "" +"Ми також визначаємо функцію ініціалізації, яка приймає аргументи для надання " +"початкових значень для нашого екземпляра:" + +msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::" +msgstr "заповнивши слот :c:member:`~PyTypeObject.tp_init`. ::" + +msgid "" +"The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as the :meth:" +"`__init__` method. It is used to initialize an object after it's created. " +"Initializers always accept positional and keyword arguments, and they should " +"return either ``0`` on success or ``-1`` on error." +msgstr "" +"Слот :c:member:`~PyTypeObject.tp_init` представлено в Python як метод :meth:" +"`__init__`. Він використовується для ініціалізації об’єкта після його " +"створення. Ініціалізатори завжди приймають позиційні аргументи та аргументи " +"з ключовими словами, і вони повинні повертати ``0`` у разі успіху або ``-1`` " +"у разі помилки." + +msgid "" +"Unlike the ``tp_new`` handler, there is no guarantee that ``tp_init`` is " +"called at all (for example, the :mod:`pickle` module by default doesn't " +"call :meth:`__init__` on unpickled instances). It can also be called " +"multiple times. Anyone can call the :meth:`__init__` method on our " +"objects. For this reason, we have to be extra careful when assigning the " +"new attribute values. We might be tempted, for example to assign the " +"``first`` member like this::" +msgstr "" +"На відміну від обробника ``tp_new``, немає ніякої гарантії, що ``tp_init`` " +"буде викликано взагалі (наприклад, модуль :mod:`pickle` за замовчуванням не " +"викликає :meth:`__init__` у невибраних екземплярах ). Його також можна " +"викликати кілька разів. Кожен може викликати метод :meth:`__init__` для " +"наших об’єктів. З цієї причини ми повинні бути дуже обережними, призначаючи " +"нові значення атрибутів. У нас може виникнути спокуса, наприклад, призначити " +"``перший`` член таким чином:" + +msgid "" +"But this would be risky. Our type doesn't restrict the type of the " +"``first`` member, so it could be any kind of object. It could have a " +"destructor that causes code to be executed that tries to access the " +"``first`` member; or that destructor could release the :term:`Global " +"interpreter Lock ` and let arbitrary code run in other threads that " +"accesses and modifies our object." +msgstr "" +"Але це було б ризиковано. Наш тип не обмежує тип ``першого`` члена, тому це " +"може бути будь-який об’єкт. Він може мати деструктор, який викликає " +"виконання коду, який намагається отримати доступ до ``першого`` члена; або " +"цей деструктор може звільнити :term:`глобальний інтерпретатор Lock ` і " +"дозволити довільному коду виконуватися в інших потоках, які звертаються до " +"нашого об’єкта та змінюють його." + +msgid "" +"To be paranoid and protect ourselves against this possibility, we almost " +"always reassign members before decrementing their reference counts. When " +"don't we have to do this?" +msgstr "" +"Щоб бути параноїком і захистити себе від такої можливості, ми майже завжди " +"перепризначаємо учасників перед тим, як зменшити їх кількість посилань. Коли " +"ми не повинні це робити?" + +msgid "when we absolutely know that the reference count is greater than 1;" +msgstr "коли ми точно знаємо, що кількість посилань перевищує 1;" + +msgid "" +"when we know that deallocation of the object [#]_ will neither release the :" +"term:`GIL` nor cause any calls back into our type's code;" +msgstr "" +"коли ми знаємо, що звільнення об’єкта [#]_ не звільнить :term:`GIL` і не " +"призведе до зворотних викликів коду нашого типу;" + +msgid "" +"when decrementing a reference count in a :c:member:`~PyTypeObject." +"tp_dealloc` handler on a type which doesn't support cyclic garbage " +"collection [#]_." +msgstr "" +"під час зменшення кількості посилань у обробнику :c:member:`~PyTypeObject." +"tp_dealloc` для типу, який не підтримує циклічне збирання сміття [#]_." + +msgid "" +"We want to expose our instance variables as attributes. There are a number " +"of ways to do that. The simplest way is to define member definitions::" +msgstr "" +"Ми хочемо представити наші змінні екземпляра як атрибути. Є кілька способів " +"зробити це. Найпростішим способом є визначення членів:" + +msgid "" +"and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::" +msgstr "і помістіть визначення в слот :c:member:`~PyTypeObject.tp_members`::" + +msgid "" +"Each member definition has a member name, type, offset, access flags and " +"documentation string. See the :ref:`Generic-Attribute-Management` section " +"below for details." +msgstr "" +"Кожне визначення члена має ім’я члена, тип, зсув, позначки доступу та рядок " +"документації. Подробиці див. у розділі :ref:`Generic-Attribute-Management` " +"нижче." + +msgid "" +"A disadvantage of this approach is that it doesn't provide a way to restrict " +"the types of objects that can be assigned to the Python attributes. We " +"expect the first and last names to be strings, but any Python objects can be " +"assigned. Further, the attributes can be deleted, setting the C pointers to " +"``NULL``. Even though we can make sure the members are initialized to non-" +"``NULL`` values, the members can be set to ``NULL`` if the attributes are " +"deleted." +msgstr "" +"Недолік цього підходу полягає в тому, що він не дає можливості обмежити типи " +"об’єктів, які можна призначити атрибутам Python. Ми очікуємо, що ім’я та " +"прізвище будуть рядками, але можна призначити будь-які об’єкти Python. Крім " +"того, атрибути можна видалити, встановивши покажчики C на ``NULL``. " +"Незважаючи на те, що ми можемо переконатися, що члени ініціалізовані " +"значеннями, відмінними від ``NULL``, членам можна встановити значення " +"``NULL``, якщо атрибути видалено." + +msgid "" +"We define a single method, :meth:`Custom.name()`, that outputs the objects " +"name as the concatenation of the first and last names. ::" +msgstr "" +"Ми визначаємо єдиний метод, :meth:`Custom.name()`, який виводить назву " +"об’єкта як об’єднання імені та прізвища. ::" + +msgid "" +"The method is implemented as a C function that takes a :class:`Custom` (or :" +"class:`Custom` subclass) instance as the first argument. Methods always " +"take an instance as the first argument. Methods often take positional and " +"keyword arguments as well, but in this case we don't take any and don't need " +"to accept a positional argument tuple or keyword argument dictionary. This " +"method is equivalent to the Python method:" +msgstr "" +"Метод реалізовано як функція C, яка приймає екземпляр :class:`Custom` (або :" +"class:`Custom` підклас) як перший аргумент. Методи завжди приймають " +"екземпляр як перший аргумент. Методи також часто приймають позиційні " +"аргументи та аргументи ключових слів, але в цьому випадку ми не приймаємо " +"жодних і не потребуємо приймати кортеж позиційних аргументів або словник " +"аргументів ключових слів. Цей метод еквівалентний методу Python:" + +msgid "" +"Note that we have to check for the possibility that our :attr:`first` and :" +"attr:`last` members are ``NULL``. This is because they can be deleted, in " +"which case they are set to ``NULL``. It would be better to prevent deletion " +"of these attributes and to restrict the attribute values to be strings. " +"We'll see how to do that in the next section." +msgstr "" +"Зверніть увагу, що ми повинні перевірити можливість того, що наші члени :" +"attr:`first` і :attr:`last` мають значення ``NULL``. Це пов’язано з тим, що " +"їх можна видалити, і в цьому випадку вони мають значення ``NULL``. Було б " +"краще запобігти видаленню цих атрибутів і обмежити значення атрибутів як " +"рядки. У наступному розділі ми побачимо, як це зробити." + +msgid "" +"Now that we've defined the method, we need to create an array of method " +"definitions::" +msgstr "" +"Тепер, коли ми визначили метод, нам потрібно створити масив визначень " +"методів::" + +msgid "" +"(note that we used the :const:`METH_NOARGS` flag to indicate that the method " +"is expecting no arguments other than *self*)" +msgstr "" +"(зверніть увагу, що ми використали прапорець :const:`METH_NOARGS`, щоб " +"вказати, що метод не очікує жодних аргументів, крім *self*)" + +msgid "and assign it to the :c:member:`~PyTypeObject.tp_methods` slot::" +msgstr "і призначте його :c:member:`~PyTypeObject.tp_methods` слот::" + +msgid "" +"Finally, we'll make our type usable as a base class for subclassing. We've " +"written our methods carefully so far so that they don't make any assumptions " +"about the type of the object being created or used, so all we need to do is " +"to add the :const:`Py_TPFLAGS_BASETYPE` to our class flag definition::" +msgstr "" +"Нарешті, ми зробимо наш тип придатним для використання як базовий клас для " +"підкласів. Наразі ми ретельно написали наші методи, щоб вони не робили " +"жодних припущень щодо типу об’єкта, який створюється чи використовується, " +"тому все, що нам потрібно зробити, це додати :const:`Py_TPFLAGS_BASETYPE` до " +"визначення прапора нашого класу ::" + +msgid "" +"We rename :c:func:`PyInit_custom` to :c:func:`PyInit_custom2`, update the " +"module name in the :c:type:`PyModuleDef` struct, and update the full class " +"name in the :c:type:`PyTypeObject` struct." +msgstr "" +"Ми змінюємо назву :c:func:`PyInit_custom` на :c:func:`PyInit_custom2`, " +"оновлюємо назву модуля в структурі :c:type:`PyModuleDef` і оновлюємо повну " +"назву класу в Структура :c:type:`PyTypeObject`." + +msgid "Finally, we update our :file:`setup.py` file to build the new module:" +msgstr "" +"Нарешті, ми оновлюємо наш файл :file:`setup.py` для створення нового модуля:" + +msgid "Providing finer control over data attributes" +msgstr "Забезпечення більш точного контролю над атрибутами даних" + +msgid "" +"In this section, we'll provide finer control over how the :attr:`first` and :" +"attr:`last` attributes are set in the :class:`Custom` example. In the " +"previous version of our module, the instance variables :attr:`first` and :" +"attr:`last` could be set to non-string values or even deleted. We want to " +"make sure that these attributes always contain strings." +msgstr "" +"У цьому розділі ми надамо точніший контроль над тим, як атрибути :attr:" +"`first` і :attr:`last` встановлюються у прикладі :class:`Custom`. У " +"попередній версії нашого модуля для змінних екземплярів :attr:`first` і :" +"attr:`last` можна було встановити нерядкові значення або навіть видалити. Ми " +"хочемо переконатися, що ці атрибути завжди містять рядки." + +msgid "" +"To provide greater control, over the :attr:`first` and :attr:`last` " +"attributes, we'll use custom getter and setter functions. Here are the " +"functions for getting and setting the :attr:`first` attribute::" +msgstr "" +"Щоб забезпечити більший контроль над атрибутами :attr:`first` і :attr:" +"`last`, ми будемо використовувати власні функції отримання та встановлення. " +"Ось функції для отримання та встановлення атрибута :attr:`first`::" + +msgid "" +"The getter function is passed a :class:`Custom` object and a \"closure\", " +"which is a void pointer. In this case, the closure is ignored. (The " +"closure supports an advanced usage in which definition data is passed to the " +"getter and setter. This could, for example, be used to allow a single set of " +"getter and setter functions that decide the attribute to get or set based on " +"data in the closure.)" +msgstr "" +"Функції getter передається об’єкт :class:`Custom` і \"замикання\", яке є " +"покажчиком на недійсність. У цьому випадку закриття ігнорується. (Закриття " +"підтримує розширене використання, у якому дані визначення передаються до " +"геттера та сеттера. Це може, наприклад, використовуватися, щоб дозволити " +"один набір функцій геттера та сеттера, які вирішують отримати або встановити " +"атрибут на основі даних у закриття.)" + +msgid "" +"The setter function is passed the :class:`Custom` object, the new value, and " +"the closure. The new value may be ``NULL``, in which case the attribute is " +"being deleted. In our setter, we raise an error if the attribute is deleted " +"or if its new value is not a string." +msgstr "" +"Функції налаштування передається об’єкт :class:`Custom`, нове значення та " +"закриття. Нове значення може бути ``NULL``, у цьому випадку атрибут " +"видаляється. У нашому сетері ми викликаємо помилку, якщо атрибут видалено " +"або якщо його нове значення не є рядком." + +msgid "We create an array of :c:type:`PyGetSetDef` structures::" +msgstr "Ми створюємо масив структур :c:type:`PyGetSetDef`::" + +msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::" +msgstr "і зареєструйте його в слоті :c:member:`~PyTypeObject.tp_getset`::" + +msgid "" +"The last item in a :c:type:`PyGetSetDef` structure is the \"closure\" " +"mentioned above. In this case, we aren't using a closure, so we just pass " +"``NULL``." +msgstr "" +"Останнім елементом у структурі :c:type:`PyGetSetDef` є \"закриття\", згадане " +"вище. У цьому випадку ми не використовуємо закриття, тому ми просто " +"передаємо ``NULL``." + +msgid "We also remove the member definitions for these attributes::" +msgstr "Ми також видаляємо визначення учасників для цих атрибутів:" + +msgid "" +"We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only " +"allow strings [#]_ to be passed::" +msgstr "" +"Нам також потрібно оновити обробник :c:member:`~PyTypeObject.tp_init`, щоб " +"дозволити передавати лише рядки [#]_::" + +msgid "" +"With these changes, we can assure that the ``first`` and ``last`` members " +"are never ``NULL`` so we can remove checks for ``NULL`` values in almost all " +"cases. This means that most of the :c:func:`Py_XDECREF` calls can be " +"converted to :c:func:`Py_DECREF` calls. The only place we can't change " +"these calls is in the ``tp_dealloc`` implementation, where there is the " +"possibility that the initialization of these members failed in ``tp_new``." +msgstr "" +"Завдяки цим змінам ми можемо гарантувати, що ``перший`` і ``останній`` члени " +"ніколи не є ``NULL``, тому ми можемо видалити перевірки значень ``NULL`` " +"майже у всіх випадках. Це означає, що більшість викликів :c:func:" +"`Py_XDECREF` можна перетворити на виклики :c:func:`Py_DECREF`. Єдине місце, " +"де ми не можемо змінити ці виклики, це реалізація ``tp_dealloc``, де існує " +"ймовірність того, що ініціалізація цих учасників не вдалася в ``tp_new``." + +msgid "" +"We also rename the module initialization function and module name in the " +"initialization function, as we did before, and we add an extra definition to " +"the :file:`setup.py` file." +msgstr "" +"Ми також перейменуємо функцію ініціалізації модуля та назву модуля у функції " +"ініціалізації, як ми робили раніше, і додамо додаткове визначення до файлу :" +"file:`setup.py`." + +msgid "Supporting cyclic garbage collection" +msgstr "Підтримка циклічного збирання сміття" + +msgid "" +"Python has a :term:`cyclic garbage collector (GC) ` that " +"can identify unneeded objects even when their reference counts are not zero. " +"This can happen when objects are involved in cycles. For example, consider:" +msgstr "" +"У Python є :term:`циклічний збирач сміття (GC) `, який " +"може ідентифікувати непотрібні об’єкти, навіть якщо їх кількість посилань не " +"дорівнює нулю. Це може статися, коли об’єкти беруть участь у циклах. " +"Наприклад, розглянемо:" + +msgid "" +"In this example, we create a list that contains itself. When we delete it, " +"it still has a reference from itself. Its reference count doesn't drop to " +"zero. Fortunately, Python's cyclic garbage collector will eventually figure " +"out that the list is garbage and free it." +msgstr "" +"У цьому прикладі ми створюємо список, який містить сам себе. Коли ми його " +"видаляємо, воно все ще має посилання на себе. Його кількість посилань не " +"падає до нуля. На щастя, циклічний збирач сміття Python зрештою визначить, " +"що список є сміттям, і звільнить його." + +msgid "" +"In the second version of the :class:`Custom` example, we allowed any kind of " +"object to be stored in the :attr:`first` or :attr:`last` attributes [#]_. " +"Besides, in the second and third versions, we allowed subclassing :class:" +"`Custom`, and subclasses may add arbitrary attributes. For any of those two " +"reasons, :class:`Custom` objects can participate in cycles:" +msgstr "" +"У другій версії прикладу :class:`Custom` ми дозволили будь-які типи об’єктів " +"зберігати в атрибутах :attr:`first` або :attr:`last` [#]_. Крім того, у " +"другій і третій версіях ми дозволили створення підкласів :class:`Custom`, і " +"підкласи можуть додавати довільні атрибути. З будь-якої з цих двох причин " +"об’єкти :class:`Custom` можуть брати участь у циклах:" + +msgid "" +"To allow a :class:`Custom` instance participating in a reference cycle to be " +"properly detected and collected by the cyclic GC, our :class:`Custom` type " +"needs to fill two additional slots and to enable a flag that enables these " +"slots:" +msgstr "" +"Щоб дозволити циклічному GC належним чином виявити та зібрати екземпляр :" +"class:`Custom`, який бере участь у еталонному циклі, наш тип :class:`Custom` " +"має заповнити два додаткових слоти та ввімкнути прапорець, який вмикає ці " +"слоти:" + +msgid "" +"First, the traversal method lets the cyclic GC know about subobjects that " +"could participate in cycles::" +msgstr "" +"По-перше, метод обходу дозволяє циклічному GC знати про підоб’єкти, які " +"можуть брати участь у циклах::" + +msgid "" +"For each subobject that can participate in cycles, we need to call the :c:" +"func:`visit` function, which is passed to the traversal method. The :c:func:" +"`visit` function takes as arguments the subobject and the extra argument " +"*arg* passed to the traversal method. It returns an integer value that must " +"be returned if it is non-zero." +msgstr "" +"Для кожного підоб’єкта, який може брати участь у циклах, нам потрібно " +"викликати функцію :c:func:`visit`, яка передається в метод обходу. Функція :" +"c:func:`visit` приймає як аргументи субоб’єкт і додатковий аргумент *arg*, " +"переданий методу обходу. Він повертає ціле значення, яке має бути повернуто, " +"якщо воно відмінне від нуля." + +msgid "" +"Python provides a :c:func:`Py_VISIT` macro that automates calling visit " +"functions. With :c:func:`Py_VISIT`, we can minimize the amount of " +"boilerplate in ``Custom_traverse``::" +msgstr "" +"Python надає макрос :c:func:`Py_VISIT`, який автоматизує виклик функцій " +"відвідування. За допомогою :c:func:`Py_VISIT` ми можемо мінімізувати " +"кількість шаблонів у ``Custom_traverse``::" + +msgid "" +"The :c:member:`~PyTypeObject.tp_traverse` implementation must name its " +"arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`." +msgstr "" +"Реалізація :c:member:`~PyTypeObject.tp_traverse` повинна називати свої " +"аргументи точно *visit* і *arg*, щоб використовувати :c:func:`Py_VISIT`." + +msgid "" +"Second, we need to provide a method for clearing any subobjects that can " +"participate in cycles::" +msgstr "" +"По-друге, нам потрібно надати метод для очищення будь-яких підоб’єктів, які " +"можуть брати участь у циклах::" + +msgid "" +"Notice the use of the :c:func:`Py_CLEAR` macro. It is the recommended and " +"safe way to clear data attributes of arbitrary types while decrementing " +"their reference counts. If you were to call :c:func:`Py_XDECREF` instead on " +"the attribute before setting it to ``NULL``, there is a possibility that the " +"attribute's destructor would call back into code that reads the attribute " +"again (*especially* if there is a reference cycle)." +msgstr "" +"Зверніть увагу на використання макросу :c:func:`Py_CLEAR`. Це рекомендований " +"і безпечний спосіб очищення атрибутів даних довільних типів із одночасним " +"зменшенням кількості посилань. Якщо ви замість цього викликаєте :c:func:" +"`Py_XDECREF` для атрибута перед встановленням значення ``NULL``, існує " +"ймовірність того, що деструктор атрибута знову звернеться до коду, який " +"знову зчитує атрибут (*особливо*, якщо є еталонний цикл)." + +msgid "You could emulate :c:func:`Py_CLEAR` by writing::" +msgstr "Ви можете емулювати :c:func:`Py_CLEAR`, написавши::" + +msgid "" +"Nevertheless, it is much easier and less error-prone to always use :c:func:" +"`Py_CLEAR` when deleting an attribute. Don't try to micro-optimize at the " +"expense of robustness!" +msgstr "" +"Тим не менше, набагато простіше та менш схильне до помилок завжди " +"використовувати :c:func:`Py_CLEAR` під час видалення атрибута. Не " +"намагайтеся зробити мікрооптимізацію за рахунок надійності!" + +msgid "" +"The deallocator ``Custom_dealloc`` may call arbitrary code when clearing " +"attributes. It means the circular GC can be triggered inside the function. " +"Since the GC assumes reference count is not zero, we need to untrack the " +"object from the GC by calling :c:func:`PyObject_GC_UnTrack` before clearing " +"members. Here is our reimplemented deallocator using :c:func:" +"`PyObject_GC_UnTrack` and ``Custom_clear``::" +msgstr "" +"Розділювач ``Custom_dealloc`` може викликати довільний код під час очищення " +"атрибутів. Це означає, що циклічний GC може бути запущений всередині " +"функції. Оскільки GC передбачає, що кількість посилань не дорівнює нулю, нам " +"потрібно скасувати відстеження об’єкта з GC, викликавши :c:func:" +"`PyObject_GC_UnTrack` перед очищенням елементів. Ось наш повторно " +"реалізований делокатор з використанням :c:func:`PyObject_GC_UnTrack` і " +"``Custom_clear``::" + +msgid "" +"Finally, we add the :const:`Py_TPFLAGS_HAVE_GC` flag to the class flags::" +msgstr "" +"Нарешті, ми додаємо прапорець :const:`Py_TPFLAGS_HAVE_GC` до прапорців " +"класу::" + +msgid "" +"That's pretty much it. If we had written custom :c:member:`~PyTypeObject." +"tp_alloc` or :c:member:`~PyTypeObject.tp_free` handlers, we'd need to modify " +"them for cyclic garbage collection. Most extensions will use the versions " +"automatically provided." +msgstr "" +"Це майже все. Якби ми написали спеціальні обробники :c:member:`~PyTypeObject." +"tp_alloc` або :c:member:`~PyTypeObject.tp_free`, нам потрібно було б змінити " +"їх для циклічного збирання сміття. Більшість розширень використовуватимуть " +"автоматично надані версії." + +msgid "Subclassing other types" +msgstr "Підкласи інших типів" + +msgid "" +"It is possible to create new extension types that are derived from existing " +"types. It is easiest to inherit from the built in types, since an extension " +"can easily use the :c:type:`PyTypeObject` it needs. It can be difficult to " +"share these :c:type:`PyTypeObject` structures between extension modules." +msgstr "" +"Можна створювати нові типи розширень, які є похідними від існуючих типів. " +"Найпростіше успадковувати вбудовані типи, оскільки розширення може легко " +"використовувати необхідний :c:type:`PyTypeObject`. Може бути важко " +"поділитися цими структурами :c:type:`PyTypeObject` між модулями розширення." + +msgid "" +"In this example we will create a :class:`SubList` type that inherits from " +"the built-in :class:`list` type. The new type will be completely compatible " +"with regular lists, but will have an additional :meth:`increment` method " +"that increases an internal counter:" +msgstr "" +"У цьому прикладі ми створимо тип :class:`SubList`, який успадковує " +"вбудований тип :class:`list`. Новий тип буде повністю сумісний зі звичайними " +"списками, але матиме додатковий метод :meth:`increment`, який збільшує " +"внутрішній лічильник:" + +msgid "" +"As you can see, the source code closely resembles the :class:`Custom` " +"examples in previous sections. We will break down the main differences " +"between them. ::" +msgstr "" +"Як бачите, вихідний код дуже нагадує приклади :class:`Custom` у попередніх " +"розділах. Ми розберемо основні відмінності між ними. ::" + +msgid "" +"The primary difference for derived type objects is that the base type's " +"object structure must be the first value. The base type will already " +"include the :c:func:`PyObject_HEAD` at the beginning of its structure." +msgstr "" +"Основна відмінність для об’єктів похідного типу полягає в тому, що структура " +"об’єкта базового типу має бути першим значенням. Базовий тип уже включатиме :" +"c:func:`PyObject_HEAD` на початку своєї структури." + +msgid "" +"When a Python object is a :class:`SubList` instance, its ``PyObject *`` " +"pointer can be safely cast to both ``PyListObject *`` and ``SubListObject " +"*``::" +msgstr "" +"Коли об’єкт Python є екземпляром :class:`SubList`, його вказівник ``PyObject " +"*`` можна безпечно перевести як на ``PyListObject *``, так і на " +"``SubListObject *``::" + +msgid "" +"We see above how to call through to the :attr:`__init__` method of the base " +"type." +msgstr "Вище ми побачили, як викликати метод :attr:`__init__` базового типу." + +msgid "" +"This pattern is important when writing a type with custom :c:member:" +"`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_dealloc` members. " +"The :c:member:`~PyTypeObject.tp_new` handler should not actually create the " +"memory for the object with its :c:member:`~PyTypeObject.tp_alloc`, but let " +"the base class handle it by calling its own :c:member:`~PyTypeObject.tp_new`." +msgstr "" +"Цей шаблон важливий під час написання типу з власними елементами :c:member:" +"`~PyTypeObject.tp_new` і :c:member:`~PyTypeObject.tp_dealloc`. Обробник :c:" +"member:`~PyTypeObject.tp_new` насправді не повинен створювати пам’ять для " +"об’єкта за допомогою його :c:member:`~PyTypeObject.tp_alloc`, а дозволити " +"базовому класу обробляти це, викликаючи власний :c:member:`~PyTypeObject." +"tp_new`." + +msgid "" +"The :c:type:`PyTypeObject` struct supports a :c:member:`~PyTypeObject." +"tp_base` specifying the type's concrete base class. Due to cross-platform " +"compiler issues, you can't fill that field directly with a reference to :c:" +"type:`PyList_Type`; it should be done later in the module initialization " +"function::" +msgstr "" +"Структура :c:type:`PyTypeObject` підтримує :c:member:`~PyTypeObject." +"tp_base`, що визначає конкретний базовий клас типу. Через проблеми " +"міжплатформного компілятора ви не можете заповнити це поле безпосередньо " +"посиланням на :c:type:`PyList_Type`; це слід зробити пізніше у функції " +"ініціалізації модуля:" + +msgid "" +"Before calling :c:func:`PyType_Ready`, the type structure must have the :c:" +"member:`~PyTypeObject.tp_base` slot filled in. When we are deriving an " +"existing type, it is not necessary to fill out the :c:member:`~PyTypeObject." +"tp_alloc` slot with :c:func:`PyType_GenericNew` -- the allocation function " +"from the base type will be inherited." +msgstr "" +"Перш ніж викликати :c:func:`PyType_Ready`, у структурі типу має бути " +"заповнений слот :c:member:`~PyTypeObject.tp_base`. Коли ми створюємо " +"існуючий тип, немає необхідності заповнювати :c:member:`~PyTypeObject." +"tp_alloc` слот з :c:func:`PyType_GenericNew` -- функція розподілу з базового " +"типу буде успадкована." + +msgid "" +"After that, calling :c:func:`PyType_Ready` and adding the type object to the " +"module is the same as with the basic :class:`Custom` examples." +msgstr "" +"Після цього виклик :c:func:`PyType_Ready` і додавання об’єкта типу до модуля " +"відбувається так само, як у базових прикладах :class:`Custom`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"This is true when we know that the object is a basic type, like a string or " +"a float." +msgstr "" +"Це вірно, коли ми знаємо, що об’єкт є базовим типом, як-от рядок або float." + +msgid "" +"We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in " +"this example, because our type doesn't support garbage collection." +msgstr "" +"Ми покладалися на це в обробнику :c:member:`~PyTypeObject.tp_dealloc` у " +"цьому прикладі, оскільки наш тип не підтримує збирання сміття." + +msgid "" +"We now know that the first and last members are strings, so perhaps we could " +"be less careful about decrementing their reference counts, however, we " +"accept instances of string subclasses. Even though deallocating normal " +"strings won't call back into our objects, we can't guarantee that " +"deallocating an instance of a string subclass won't call back into our " +"objects." +msgstr "" +"Тепер ми знаємо, що перший і останній члени є рядками, тому, можливо, ми " +"могли б бути менш обережними щодо зменшення їх кількості посилань, однак ми " +"приймаємо екземпляри підкласів рядків. Незважаючи на те, що звільнення від " +"розміщення звичайних рядків не призведе до зворотного виклику наших " +"об’єктів, ми не можемо гарантувати, що звільнення від розміщення екземпляра " +"підкласу рядка не призведе до зворотного виклику до наших об’єктів." + +msgid "" +"Also, even with our attributes restricted to strings instances, the user " +"could pass arbitrary :class:`str` subclasses and therefore still create " +"reference cycles." +msgstr "" +"Крім того, навіть якщо наші атрибути обмежені екземплярами рядків, " +"користувач може передавати довільні підкласи :class:`str` і, отже, " +"створювати цикли посилань." diff --git a/extending/windows.po b/extending/windows.po new file mode 100644 index 000000000..c12d1af9c --- /dev/null +++ b/extending/windows.po @@ -0,0 +1,264 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Building C and C++ Extensions on Windows" +msgstr "Створення розширень C і C++ у Windows" + +msgid "" +"This chapter briefly explains how to create a Windows extension module for " +"Python using Microsoft Visual C++, and follows with more detailed background " +"information on how it works. The explanatory material is useful for both " +"the Windows programmer learning to build Python extensions and the Unix " +"programmer interested in producing software which can be successfully built " +"on both Unix and Windows." +msgstr "" +"У цій главі коротко пояснюється, як створити модуль розширення Windows для " +"Python за допомогою Microsoft Visual C++, а далі надається більш детальна " +"довідкова інформація про те, як це працює. Пояснювальний матеріал корисний " +"як для Windows-програміста, який навчається створювати розширення Python, " +"так і для Unix-програміста, зацікавленого у створенні програмного " +"забезпечення, яке можна успішно створювати як на Unix, так і на Windows." + +msgid "" +"Module authors are encouraged to use the distutils approach for building " +"extension modules, instead of the one described in this section. You will " +"still need the C compiler that was used to build Python; typically Microsoft " +"Visual C++." +msgstr "" +"Авторам модулів рекомендується використовувати підхід distutils для " +"створення модулів розширення замість описаного в цьому розділі. Вам все одно " +"знадобиться компілятор C, який використовувався для створення Python; " +"зазвичай Microsoft Visual C++." + +msgid "" +"This chapter mentions a number of filenames that include an encoded Python " +"version number. These filenames are represented with the version number " +"shown as ``XY``; in practice, ``'X'`` will be the major version number and " +"``'Y'`` will be the minor version number of the Python release you're " +"working with. For example, if you are using Python 2.2.1, ``XY`` will " +"actually be ``22``." +msgstr "" +"У цьому розділі згадується кілька імен файлів, які включають закодований " +"номер версії Python. Ці назви файлів представлені номером версії, показаним " +"як ``XY``; на практиці ``'X'`` буде номером основної версії, а ``'Y''`` буде " +"номером другорядної версії випуску Python, з яким ви працюєте. Наприклад, " +"якщо ви використовуєте Python 2.2.1, ``XY`` насправді буде ``22``." + +msgid "A Cookbook Approach" +msgstr "Підхід з кулінарної книги" + +msgid "" +"There are two approaches to building extension modules on Windows, just as " +"there are on Unix: use the :mod:`distutils` package to control the build " +"process, or do things manually. The distutils approach works well for most " +"extensions; documentation on using :mod:`distutils` to build and package " +"extension modules is available in :ref:`distutils-index`. If you find you " +"really need to do things manually, it may be instructive to study the " +"project file for the :source:`winsound ` standard " +"library module." +msgstr "" +"Існує два підходи до створення модулів розширення у Windows, як і в Unix: " +"використовувати пакет :mod:`distutils`, щоб контролювати процес збирання, " +"або виконувати дії вручну. Підхід distutils добре працює для більшості " +"розширень; документація щодо використання :mod:`distutils` для створення та " +"пакування модулів розширення доступна в :ref:`distutils-index`. Якщо ви " +"виявите, що вам справді потрібно щось робити вручну, можливо, буде корисно " +"вивчити файл проекту для модуля стандартної бібліотеки :source:`winsound " +"`." + +msgid "Differences Between Unix and Windows" +msgstr "Відмінності між Unix і Windows" + +msgid "" +"Unix and Windows use completely different paradigms for run-time loading of " +"code. Before you try to build a module that can be dynamically loaded, be " +"aware of how your system works." +msgstr "" +"Unix і Windows використовують абсолютно різні парадигми для завантаження " +"коду під час виконання. Перш ніж спробувати створити модуль, який можна " +"динамічно завантажувати, ознайомтеся з тим, як працює ваша система." + +msgid "" +"In Unix, a shared object (:file:`.so`) file contains code to be used by the " +"program, and also the names of functions and data that it expects to find in " +"the program. When the file is joined to the program, all references to " +"those functions and data in the file's code are changed to point to the " +"actual locations in the program where the functions and data are placed in " +"memory. This is basically a link operation." +msgstr "" +"В Unix файл спільного об’єкта (:file:`.so`) містить код, який буде " +"використовуватися програмою, а також назви функцій і даних, які вона очікує " +"знайти в програмі. Коли файл приєднується до програми, усі посилання на ці " +"функції та дані в коді файлу змінюються, щоб вказувати на фактичні місця в " +"програмі, де функції та дані розміщені в пам’яті. По суті, це операція " +"посилання." + +msgid "" +"In Windows, a dynamic-link library (:file:`.dll`) file has no dangling " +"references. Instead, an access to functions or data goes through a lookup " +"table. So the DLL code does not have to be fixed up at runtime to refer to " +"the program's memory; instead, the code already uses the DLL's lookup table, " +"and the lookup table is modified at runtime to point to the functions and " +"data." +msgstr "" +"У Windows файл бібліотеки динамічного компонування (:file:`.dll`) не має " +"висячих посилань. Натомість доступ до функцій або даних відбувається через " +"таблицю пошуку. Тому код DLL не потрібно виправляти під час виконання, щоб " +"посилатися на пам’ять програми; замість цього код уже використовує таблицю " +"пошуку DLL, і таблиця пошуку змінюється під час виконання, щоб вказувати на " +"функції та дані." + +msgid "" +"In Unix, there is only one type of library file (:file:`.a`) which contains " +"code from several object files (:file:`.o`). During the link step to create " +"a shared object file (:file:`.so`), the linker may find that it doesn't know " +"where an identifier is defined. The linker will look for it in the object " +"files in the libraries; if it finds it, it will include all the code from " +"that object file." +msgstr "" +"В Unix існує лише один тип файлу бібліотеки (:file:`.a`), який містить код " +"із кількох об’єктних файлів (:file:`.o`). Під час етапу зв’язування для " +"створення файлу спільного об’єкта (:file:`.so`) компонувальник може виявити, " +"що він не знає, де визначено ідентифікатор. Компонувальник шукатиме його в " +"об’єктних файлах у бібліотеках; якщо він знайде його, він включить увесь код " +"із цього об’єктного файлу." + +msgid "" +"In Windows, there are two types of library, a static library and an import " +"library (both called :file:`.lib`). A static library is like a Unix :file:`." +"a` file; it contains code to be included as necessary. An import library is " +"basically used only to reassure the linker that a certain identifier is " +"legal, and will be present in the program when the DLL is loaded. So the " +"linker uses the information from the import library to build the lookup " +"table for using identifiers that are not included in the DLL. When an " +"application or a DLL is linked, an import library may be generated, which " +"will need to be used for all future DLLs that depend on the symbols in the " +"application or DLL." +msgstr "" +"У Windows існує два типи бібліотек: статична та імпортована (обидві " +"називаються :file:`.lib`). Статична бібліотека схожа на файл Unix :file:`." +"a`; він містить код, який слід включити за необхідності. Бібліотека імпорту " +"в основному використовується лише для того, щоб переконати компонувальник у " +"тому, що певний ідентифікатор є законним і буде присутній у програмі, коли " +"DLL завантажується. Таким чином, компонувальник використовує інформацію з " +"бібліотеки імпорту для створення таблиці пошуку для використання " +"ідентифікаторів, які не включені в DLL. Коли програму або DLL пов’язано, " +"може бути створена бібліотека імпорту, яку потрібно буде використовувати для " +"всіх майбутніх DLL, які залежать від символів у програмі чи DLL." + +msgid "" +"Suppose you are building two dynamic-load modules, B and C, which should " +"share another block of code A. On Unix, you would *not* pass :file:`A.a` to " +"the linker for :file:`B.so` and :file:`C.so`; that would cause it to be " +"included twice, so that B and C would each have their own copy. In Windows, " +"building :file:`A.dll` will also build :file:`A.lib`. You *do* pass :file:" +"`A.lib` to the linker for B and C. :file:`A.lib` does not contain code; it " +"just contains information which will be used at runtime to access A's code." +msgstr "" +"Припустімо, ви створюєте два модулі динамічного завантаження, B і C, які " +"мають спільно використовувати ще один блок коду A. В Unix ви *не* передаєте :" +"file:`A.a` компонувальнику для :file:`B.so` і :file:`C.so`; це призвело б до " +"того, що його було б включено двічі, так що B і C мали б кожен свою копію. У " +"Windows збірка :file:`A.dll` також створить :file:`A.lib`. Ви *передаєте* :" +"file:`A.lib` компонувальнику для B і C. :file:`A.lib` не містить коду; він " +"просто містить інформацію, яка буде використана під час виконання для " +"доступу до коду A." + +msgid "" +"In Windows, using an import library is sort of like using ``import spam``; " +"it gives you access to spam's names, but does not create a separate copy. " +"On Unix, linking with a library is more like ``from spam import *``; it does " +"create a separate copy." +msgstr "" +"У Windows використання бібліотеки імпорту схоже на використання ``import " +"spam``; він надає вам доступ до імен спаму, але не створює окремої копії. В " +"Unix зв’язування з бібліотекою більше схоже на ``імпорт спаму *``; він " +"створює окрему копію." + +msgid "Using DLLs in Practice" +msgstr "Використання DLL на практиці" + +msgid "" +"Windows Python is built in Microsoft Visual C++; using other compilers may " +"or may not work. The rest of this section is MSVC++ specific." +msgstr "" +"Windows Python побудовано на Microsoft Visual C++; використання інших " +"компіляторів може працювати, а може і не працювати. Решта цього розділу " +"стосується MSVC++." + +msgid "" +"When creating DLLs in Windows, you must pass :file:`pythonXY.lib` to the " +"linker. To build two DLLs, spam and ni (which uses C functions found in " +"spam), you could use these commands::" +msgstr "" +"Під час створення DLL у Windows ви повинні передати :file:`pythonXY.lib` до " +"компонувальника. Щоб створити дві бібліотеки DLL, spam і ni (яка " +"використовує функції C, знайдені в спамі), ви можете використати такі " +"команди:" + +msgid "" +"The first command created three files: :file:`spam.obj`, :file:`spam.dll` " +"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python " +"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find " +"the Python code thanks to :file:`pythonXY.lib`." +msgstr "" +"Перша команда створила три файли: :file:`spam.obj`, :file:`spam.dll` і :file:" +"`spam.lib`. :file:`Spam.dll` не містить жодних функцій Python (таких як :c:" +"func:`PyArg_ParseTuple`), але він знає, як знайти код Python завдяки :file:" +"`pythonXY.lib`." + +msgid "" +"The second command created :file:`ni.dll` (and :file:`.obj` and :file:`." +"lib`), which knows how to find the necessary functions from spam, and also " +"from the Python executable." +msgstr "" +"Друга команда створила :file:`ni.dll` (і :file:`.obj` і :file:`.lib`), який " +"вміє знаходити потрібні функції в спамі, а також у виконуваному файлі Python." + +msgid "" +"Not every identifier is exported to the lookup table. If you want any other " +"modules (including Python) to be able to see your identifiers, you have to " +"say ``_declspec(dllexport)``, as in ``void _declspec(dllexport) " +"initspam(void)`` or ``PyObject _declspec(dllexport) *NiGetSpamData(void)``." +msgstr "" +"Не кожен ідентифікатор експортується до таблиці пошуку. Якщо ви хочете, щоб " +"будь-які інші модулі (включно з Python) могли бачити ваші ідентифікатори, " +"вам потрібно сказати ``_declspec(dllexport)``, як у ``void " +"_declspec(dllexport) initspam(void)`` або ``PyObject _declspec(dllexport) " +"*NiGetSpamData(void)``." + +msgid "" +"Developer Studio will throw in a lot of import libraries that you do not " +"really need, adding about 100K to your executable. To get rid of them, use " +"the Project Settings dialog, Link tab, to specify *ignore default " +"libraries*. Add the correct :file:`msvcrtxx.lib` to the list of libraries." +msgstr "" +"Developer Studio додасть багато бібліотек для імпорту, які вам насправді не " +"потрібні, додавши близько 100K до вашого виконуваного файлу. Щоб позбутися " +"їх, скористайтеся діалоговим вікном \"Параметри проекту\", вкладкою " +"\"Посилання\", щоб указати *ігнорувати стандартні бібліотеки*. Додайте " +"правильний :file:`msvcrtxx.lib` до списку бібліотек." diff --git a/faq/design.po b/faq/design.po new file mode 100644 index 000000000..c1ac87723 --- /dev/null +++ b/faq/design.po @@ -0,0 +1,1259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Vadim Kashirny, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Vadim Kashirny, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Design and History FAQ" +msgstr "Поширені запитання про оформлення та історію" + +msgid "Contents" +msgstr "Зміст" + +msgid "Why does Python use indentation for grouping of statements?" +msgstr "Чому Python використовує відступи для групування операторів?" + +msgid "" +"Guido van Rossum believes that using indentation for grouping is extremely " +"elegant and contributes a lot to the clarity of the average Python program. " +"Most people learn to love this feature after a while." +msgstr "" +"Гвідо ван Россум вважає, що використання відступів для групування є " +"надзвичайно елегантним і значною мірою сприяє ясності звичайної програми на " +"Python. Більшість людей через деякий час полюблять цю функцію." + +msgid "" +"Since there are no begin/end brackets there cannot be a disagreement between " +"grouping perceived by the parser and the human reader. Occasionally C " +"programmers will encounter a fragment of code like this::" +msgstr "" +"Оскільки немає початкових/кінцевих дужок, не може бути розбіжностей між " +"групуванням, сприйнятим синтаксичним аналізатором і людиною, що читає код. " +"Час від часу програмісти на C стикаються з таким фрагментом коду:" + +msgid "" +"Only the ``x++`` statement is executed if the condition is true, but the " +"indentation leads many to believe otherwise. Even experienced C programmers " +"will sometimes stare at it a long time wondering as to why ``y`` is being " +"decremented even for ``x > y``." +msgstr "" +"Тільки оператор ``x++`` виконується, якщо умова виконується, але відступ " +"змушує багатьох вважати протилежне. Навіть досвідчені С-програмісти іноді " +"довго дивляться на нього, дивуючись, чому ``y`` зменшується навіть для ``x > " +"y``." + +msgid "" +"Because there are no begin/end brackets, Python is much less prone to coding-" +"style conflicts. In C there are many different ways to place the braces. " +"After becoming used to reading and writing code using a particular style, it " +"is normal to feel somewhat uneasy when reading (or being required to write) " +"in a different one." +msgstr "" +"Оскільки немає початкових/кінцевих фігурних дужок, Python значно менше " +"схильний до конфліктів стилю кодування. У C є багато різних способів " +"розміщення фігурних дужок. Після того, як ви звикли читати та писати код, " +"використовуючи певний стиль, це нормально відчувати незручності, коли " +"читаєте (або коли вам потрібно писати) в іншому стилі." + +msgid "" +"Many coding styles place begin/end brackets on a line by themselves. This " +"makes programs considerably longer and wastes valuable screen space, making " +"it harder to get a good overview of a program. Ideally, a function should " +"fit on one screen (say, 20--30 lines). 20 lines of Python can do a lot more " +"work than 20 lines of C. This is not solely due to the lack of begin/end " +"brackets -- the lack of declarations and the high-level data types are also " +"responsible -- but the indentation-based syntax certainly helps." +msgstr "" +"Багато стилів кодування розміщують початкові/кінцеві дужки на рядку " +"самостійно. Це робить програми значно довшими та витрачає дорогоцінний " +"простір на екрані, що ускладнює гарний огляд програми. В ідеалі функція " +"повинна міститися на одному екрані (скажімо, 20--30 рядків). 20 рядків " +"Python можуть виконувати набагато більше роботи, ніж 20 рядків C. Це " +"пов’язано не лише з відсутністю початкових/кінцевих дужок – відсутність " +"декларацій і високорівневих типів даних також відповідає – але оснований на " +"відступах синтаксис, звичайно, допомагає." + +msgid "Why am I getting strange results with simple arithmetic operations?" +msgstr "Чому я отримую дивні результати під час простих арифметичних операцій?" + +msgid "See the next question." +msgstr "Дивіться наступне запитання." + +msgid "Why are floating-point calculations so inaccurate?" +msgstr "Чому обчислення з плаваючою комою настільки неточні?" + +msgid "Users are often surprised by results like this::" +msgstr "Користувачів часто дивують такі результати:" + +msgid "" +"and think it is a bug in Python. It's not. This has little to do with " +"Python, and much more to do with how the underlying platform handles " +"floating-point numbers." +msgstr "" +"і вони думають, що це помилка в Python. Це не так. Це має мало спільного з " +"Python, і набагато більше пов’язане з тим, як базова платформа обробляє " +"числа з плаваючою комою." + +msgid "" +"The :class:`float` type in CPython uses a C ``double`` for storage. A :" +"class:`float` object's value is stored in binary floating-point with a fixed " +"precision (typically 53 bits) and Python uses C operations, which in turn " +"rely on the hardware implementation in the processor, to perform floating-" +"point operations. This means that as far as floating-point operations are " +"concerned, Python behaves like many popular languages including C and Java." +msgstr "" +"Тип :class:`float` у CPython використовує C ``double`` для зберігання. " +"Значення об’єкта :class:`float` зберігається у двійковій формі з плаваючою " +"комою з фіксованою точністю (зазвичай 53 біти), і Python використовує " +"операції C, які, у свою чергу, покладаються на апаратну реалізацію в " +"процесорі, щоб виконувати операції з плаваючою комою. Це означає, що в " +"операціях з плаваючою комою Python поводиться як багато популярних мов, " +"включаючи C і Java." + +msgid "" +"Many numbers that can be written easily in decimal notation cannot be " +"expressed exactly in binary floating-point. For example, after::" +msgstr "" +"Багато чисел, які можна легко записати в десятковій системі числення, " +"неможливо точно виразити у двійковій формі з плаваючою комою. Наприклад, " +"після::" + +msgid "" +"the value stored for ``x`` is a (very good) approximation to the decimal " +"value ``1.2``, but is not exactly equal to it. On a typical machine, the " +"actual stored value is::" +msgstr "" +"значення, яке зберігається для ``x``, є (дуже точним) наближенням до " +"десяткового значення ``1.2``, але не зовсім дорівнює йому. На типовій машині " +"фактичне збережене значення:" + +msgid "which is exactly::" +msgstr "а саме::" + +msgid "" +"The typical precision of 53 bits provides Python floats with 15--16 decimal " +"digits of accuracy." +msgstr "" +"Типова точність в 53 біти забезпечує числа з плаваючою точкою Python з " +"точністю 15--16 десяткових цифр." + +msgid "" +"For a fuller explanation, please see the :ref:`floating point arithmetic " +"` chapter in the Python tutorial." +msgstr "" +"Для більш детального пояснення дивіться розділ :ref:`арифметика з плаваючою " +"комою ` у підручнику з Python." + +msgid "Why are Python strings immutable?" +msgstr "Чому рядки Python немутабельні?" + +msgid "There are several advantages." +msgstr "Є кілька переваг." + +msgid "" +"One is performance: knowing that a string is immutable means we can allocate " +"space for it at creation time, and the storage requirements are fixed and " +"unchanging. This is also one of the reasons for the distinction between " +"tuples and lists." +msgstr "" +"Одна з них — це продуктивність: знання того, що рядок є незмінним, означає, " +"що ми можемо виділити для нього місце під час створення, а вимоги до пам’яті " +"є фіксованими та незмінними. Це також одна з причин відмінності між " +"кортежами та списками." + +msgid "" +"Another advantage is that strings in Python are considered as \"elemental\" " +"as numbers. No amount of activity will change the value 8 to anything else, " +"and in Python, no amount of activity will change the string \"eight\" to " +"anything else." +msgstr "" +"Ще одна перевага полягає в тому, що рядки в Python вважаються такими ж " +"\"елементарними\", як і числа. Жодна активність не змінить значення 8 на " +"щось інше, а в Python жодна активність не змінить рядок \"вісім\" на щось " +"інше." + +msgid "Why must 'self' be used explicitly in method definitions and calls?" +msgstr "" +"Чому \"self\" має використовуватися явно у визначеннях і викликах методів?" + +msgid "" +"The idea was borrowed from Modula-3. It turns out to be very useful, for a " +"variety of reasons." +msgstr "" +"Ідея була запозичена з Modula-3. Це виявляється дуже корисним з різних " +"причин." + +msgid "" +"First, it's more obvious that you are using a method or instance attribute " +"instead of a local variable. Reading ``self.x`` or ``self.meth()`` makes it " +"absolutely clear that an instance variable or method is used even if you " +"don't know the class definition by heart. In C++, you can sort of tell by " +"the lack of a local variable declaration (assuming globals are rare or " +"easily recognizable) -- but in Python, there are no local variable " +"declarations, so you'd have to look up the class definition to be sure. " +"Some C++ and Java coding standards call for instance attributes to have an " +"``m_`` prefix, so this explicitness is still useful in those languages, too." +msgstr "" +"По-перше, більш очевидно, що ви використовуєте метод або атрибут екземпляра " +"замість локальної змінної. Читання ``self.x`` або ``self.meth()`` робить " +"абсолютно зрозумілим, що використовується змінна екземпляра або метод, " +"навіть якщо ви не знаєте визначення класу напам'ять. У C++ це можна " +"визначити за відсутністю оголошення локальної змінної (якщо глобальні " +"значення рідкісні або легко впізнавані), але в Python немає оголошення " +"локальної змінної, тому вам доведеться шукати визначення класу, щоб бути " +"впевненим. Деякі стандарти кодування C++ і Java вимагають, щоб атрибути " +"екземплярів мали префікс ``m_``, тому ця чіткість все ще корисна в цих мовах." + +msgid "" +"Second, it means that no special syntax is necessary if you want to " +"explicitly reference or call the method from a particular class. In C++, if " +"you want to use a method from a base class which is overridden in a derived " +"class, you have to use the ``::`` operator -- in Python you can write " +"``baseclass.methodname(self, )``. This is particularly " +"useful for :meth:`__init__` methods, and in general in cases where a derived " +"class method wants to extend the base class method of the same name and thus " +"has to call the base class method somehow." +msgstr "" +"По-друге, це означає, що не потрібен спеціальний синтаксис, якщо ви хочете " +"явно посилатися на метод або викликати його з певного класу. У C++, якщо ви " +"хочете використовувати метод із базового класу, який перевизначено в " +"похідному класі, вам потрібно використовувати оператор ``::`` -- у Python ви " +"можете написати ``baseclass.methodname(self, )``. Це особливо " +"корисно для методів :meth:`__init__` і загалом у випадках, коли метод " +"похідного класу хоче розширити однойменний метод базового класу і, отже, має " +"якось викликати метод базового класу." + +msgid "" +"Finally, for instance variables it solves a syntactic problem with " +"assignment: since local variables in Python are (by definition!) those " +"variables to which a value is assigned in a function body (and that aren't " +"explicitly declared global), there has to be some way to tell the " +"interpreter that an assignment was meant to assign to an instance variable " +"instead of to a local variable, and it should preferably be syntactic (for " +"efficiency reasons). C++ does this through declarations, but Python doesn't " +"have declarations and it would be a pity having to introduce them just for " +"this purpose. Using the explicit ``self.var`` solves this nicely. " +"Similarly, for using instance variables, having to write ``self.var`` means " +"that references to unqualified names inside a method don't have to search " +"the instance's directories. To put it another way, local variables and " +"instance variables live in two different namespaces, and you need to tell " +"Python which namespace to use." +msgstr "" +"Нарешті, для змінних екземпляра, такий підхід вирішує синтаксичну проблему " +"з призначенням: оскільки локальні змінні в Python — це (за визначенням!) ті " +"змінні, яким присвоєно значення в тілі функції (і які явно не оголошені " +"глобальними), необхідно бути якимось способом повідомити інтерпретатору, що " +"це призначено для встановленния значення змінній екземпляра, а не локальній " +"змінній, і бажано, щоб воно було синтаксичним (з причин ефективності). C++ " +"робить це за допомогою декларацій, але Python не має декларацій, і було б " +"шкода вводити їх лише для цієї мети. Використання явного ``self.var`` добре " +"вирішує цю проблему. Подібним чином, для використання змінних екземпляра " +"необхідність запису ``self.var`` означає, що посилання на некваліфіковані " +"імена всередині методу не потребують пошуку в каталогах екземпляра. Іншими " +"словами, локальні змінні та змінні екземплярів живуть у двох різних " +"просторах імен, і вам потрібно сказати інтерпритатору Python, який простір " +"імен використовувати." + +msgid "Why can't I use an assignment in an expression?" +msgstr "Чому я не можу використовувати присвоєння у виразі?" + +msgid "Starting in Python 3.8, you can!" +msgstr "Починаючи з Python 3.8, ви можете!" + +msgid "" +"Assignment expressions using the walrus operator ``:=`` assign a variable in " +"an expression::" +msgstr "" + +msgid "See :pep:`572` for more information." +msgstr "Перегляньте :pep:`572` для отримання додаткової інформації." + +msgid "" +"Why does Python use methods for some functionality (e.g. list.index()) but " +"functions for other (e.g. len(list))?" +msgstr "" +"Чому Python використовує методи для одних функцій (наприклад, list.index()), " +"а функції для інших (наприклад, len(list))?" + +msgid "As Guido said:" +msgstr "Як сказав Гвідо:" + +msgid "" +"(a) For some operations, prefix notation just reads better than postfix -- " +"prefix (and infix!) operations have a long tradition in mathematics which " +"likes notations where the visuals help the mathematician thinking about a " +"problem. Compare the easy with which we rewrite a formula like x*(a+b) into " +"x*a + x*b to the clumsiness of doing the same thing using a raw OO notation." +msgstr "" +"(a) Для деяких операцій префіксна нотація просто читається краще, ніж " +"постфіксна — префіксні (та інфіксні!) операції мають давню традицію в " +"математиці, яка любить нотації, де візуальні елементи допомагають математику " +"думати про проблему. Порівняйте легкість, за допомогою якої ми переписуємо " +"формулу на кшталт x*(a+b) на x*a + x*b, із незграбністю виконання того ж " +"самого, використовуючи чисту нотацію OO." + +msgid "" +"(b) When I read code that says len(x) I *know* that it is asking for the " +"length of something. This tells me two things: the result is an integer, and " +"the argument is some kind of container. To the contrary, when I read x." +"len(), I have to already know that x is some kind of container implementing " +"an interface or inheriting from a class that has a standard len(). Witness " +"the confusion we occasionally have when a class that is not implementing a " +"mapping has a get() or keys() method, or something that isn't a file has a " +"write() method." +msgstr "" +"(b) Коли я читаю код, який каже len(x), я *знаю*, що він запитує довжину " +"чогось. Це говорить мені про дві речі: результат є цілим числом, а аргумент " +"є певним контейнером. Навпаки, коли я читаю x.len(), я вже маю знати, що x — " +"це якийсь контейнер, який реалізує інтерфейс або успадковує від класу, який " +"має стандартний len(). Подивіться, яка плутанина у нас іноді виникає, коли " +"клас, який не реалізує відображення, має метод get() або keys(), або щось, " +"що не є файлом, має метод write()." + +msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" +msgstr "" +"https://mail.python.org/pipermail/python-3000/2006-November/004643.html" + +msgid "Why is join() a string method instead of a list or tuple method?" +msgstr "Чому метод join() є методом рядків, а не методом списку чи кортежу?" + +msgid "" +"Strings became much more like other standard types starting in Python 1.6, " +"when methods were added which give the same functionality that has always " +"been available using the functions of the string module. Most of these new " +"methods have been widely accepted, but the one which appears to make some " +"programmers feel uncomfortable is::" +msgstr "" +"Рядки стали набагато більше схожими на інші стандартні типи, починаючи з " +"Python 1.6, коли були додані методи, які надають ту саму функціональність, " +"яка завжди була доступна за допомогою функцій модуля string. Більшість цих " +"нових методів були широко прийняті, але один, який, здається, змушує деяких " +"програмістів почуватися некомфортно:" + +msgid "which gives the result::" +msgstr "що дає результат::" + +msgid "There are two common arguments against this usage." +msgstr "Існує два загальні аргументи проти такого використання." + +msgid "" +"The first runs along the lines of: \"It looks really ugly using a method of " +"a string literal (string constant)\", to which the answer is that it might, " +"but a string literal is just a fixed value. If the methods are to be allowed " +"on names bound to strings there is no logical reason to make them " +"unavailable on literals." +msgstr "" +"Перше звучить так: \"Це виглядає дуже потворно, використовуючи метод " +"рядкового літералу (рядкова константа)\", на що є відповідь, що це може " +"бути, навіть якщо рядковий літерал це лише фіксоване значення. Якщо методи " +"мають бути дозволені для імен, прив’язаних до рядків, немає логічної причини " +"робити їх недоступними для літералів." + +msgid "" +"The second objection is typically cast as: \"I am really telling a sequence " +"to join its members together with a string constant\". Sadly, you aren't. " +"For some reason there seems to be much less difficulty with having :meth:" +"`~str.split` as a string method, since in that case it is easy to see that ::" +msgstr "" +"Друге заперечення, як правило, формулюється так: \"Я справді кажу " +"послідовності об’єднати її члени за допомогою рядкової константи\". На жаль, " +"ні. З певних причин здається, що з використанням :meth:`~str.split` як " +"рядкового методу набагато менше труднощів, оскільки в цьому випадку легко " +"побачити, що:" + +msgid "" +"is an instruction to a string literal to return the substrings delimited by " +"the given separator (or, by default, arbitrary runs of white space)." +msgstr "" +"це вказівка для рядкового літералу повертати підрядки, розділені заданим " +"роздільником (або, за замовчуванням, пробілом)." + +msgid "" +":meth:`~str.join` is a string method because in using it you are telling the " +"separator string to iterate over a sequence of strings and insert itself " +"between adjacent elements. This method can be used with any argument which " +"obeys the rules for sequence objects, including any new classes you might " +"define yourself. Similar methods exist for bytes and bytearray objects." +msgstr "" +":meth:`~str.join` — це рядковий метод, оскільки, використовуючи його, ви " +"вказуєте рядку-роздільнику перебирати послідовність рядків і вставляти себе " +"між суміжними елементами. Цей метод можна використовувати з будь-яким " +"аргументом, який підкоряється правилам для об’єктів послідовності, включаючи " +"будь-які нові класи, які ви можете визначити самостійно. Подібні методи " +"існують для об’єктів bytes і bytearray." + +msgid "How fast are exceptions?" +msgstr "Як швидко працюють винятки?" + +msgid "" +"A try/except block is extremely efficient if no exceptions are raised. " +"Actually catching an exception is expensive. In versions of Python prior to " +"2.0 it was common to use this idiom::" +msgstr "" +"Блок try/except надзвичайно ефективний, якщо винятки не викликаються. " +"Насправді перехоплення винятків коштує дорого. У версіях Python до 2.0 було " +"поширеним використання цієї ідіоми:" + +msgid "" +"This only made sense when you expected the dict to have the key almost all " +"the time. If that wasn't the case, you coded it like this::" +msgstr "" +"Це мало сенс лише тоді, коли ви очікували, що dict матиме ключ майже весь " +"час. Якщо це не так, ви закодували це так::" + +msgid "" +"For this specific case, you could also use ``value = dict.setdefault(key, " +"getvalue(key))``, but only if the ``getvalue()`` call is cheap enough " +"because it is evaluated in all cases." +msgstr "" +"Для цього конкретного випадку ви також можете використати ``value = dict." +"setdefault(key, getvalue(key))``, але лише якщо виклик ``getvalue()`` досить " +"дешевий, оскільки він оцінюється в усіх випадках." + +msgid "Why isn't there a switch or case statement in Python?" +msgstr "Чому в Python немає оператора switch або case?" + +msgid "" +"You can do this easily enough with a sequence of ``if... elif... elif... " +"else``. For literal values, or constants within a namespace, you can also " +"use a ``match ... case`` statement." +msgstr "" +"Ви можете зробити це досить легко за допомогою послідовності ``if... elif... " +"elif... else``. Для літеральних значень або констант у просторі імен ви " +"також можете використовувати оператор ``match ... case``." + +msgid "" +"For cases where you need to choose from a very large number of " +"possibilities, you can create a dictionary mapping case values to functions " +"to call. For example::" +msgstr "" +"У випадках, коли вам потрібно вибрати з дуже великої кількості можливостей, " +"ви можете створити словник, який зіставлятиме значення регістру з функціями " +"для виклику. Наприклад::" + +msgid "" +"For calling methods on objects, you can simplify yet further by using the :" +"func:`getattr` built-in to retrieve methods with a particular name::" +msgstr "" +"Для виклику методів об’єктів ви можете ще більше спростити, використовуючи " +"вбудований :func:`getattr` для отримання методів із певним іменем::" + +msgid "" +"It's suggested that you use a prefix for the method names, such as " +"``visit_`` in this example. Without such a prefix, if values are coming " +"from an untrusted source, an attacker would be able to call any method on " +"your object." +msgstr "" +"Рекомендується використовувати префікс для імен методів, наприклад " +"``visit_`` у цьому прикладі. Без такого префікса, якщо значення надходять із " +"ненадійного джерела, зловмисник зможе викликати будь-який метод вашого " +"об’єкта." + +msgid "" +"Can't you emulate threads in the interpreter instead of relying on an OS-" +"specific thread implementation?" +msgstr "" +"Чи не можна емулювати потоки в інтерпретаторі замість того, щоб покладатися " +"на реалізацію потоку, специфічного для ОС?" + +msgid "" +"Answer 1: Unfortunately, the interpreter pushes at least one C stack frame " +"for each Python stack frame. Also, extensions can call back into Python at " +"almost random moments. Therefore, a complete threads implementation " +"requires thread support for C." +msgstr "" +"Відповідь 1: На жаль, інтерпретатор надсилає принаймні один кадр стека C для " +"кожного кадру стека Python. Крім того, розширення можуть повертатися до " +"Python у майже випадкові моменти. Таким чином, повна реалізація потоків " +"вимагає підтримки потоків для C." + +msgid "" +"Answer 2: Fortunately, there is `Stackless Python `_, which has a completely redesigned " +"interpreter loop that avoids the C stack." +msgstr "" +"Відповідь 2: На щастя, є `Stackless Python `_, який має повністю перероблений цикл інтерпретатора, який " +"уникає стека C." + +msgid "Why can't lambda expressions contain statements?" +msgstr "Чому лямбда-вирази не можуть містити оператори?" + +msgid "" +"Python lambda expressions cannot contain statements because Python's " +"syntactic framework can't handle statements nested inside expressions. " +"However, in Python, this is not a serious problem. Unlike lambda forms in " +"other languages, where they add functionality, Python lambdas are only a " +"shorthand notation if you're too lazy to define a function." +msgstr "" +"Лямбда-вирази Python не можуть містити оператори, оскільки синтаксична " +"структура Python не може обробляти оператори, вкладені у вирази. Однак у " +"Python це не є серйозною проблемою. На відміну від лямбда-форм в інших " +"мовах, де вони додають функціональність, лямбда-вирази Python є лише " +"скороченою нотацією, якщо вам ліньки визначати функцію." + +msgid "" +"Functions are already first class objects in Python, and can be declared in " +"a local scope. Therefore the only advantage of using a lambda instead of a " +"locally defined function is that you don't need to invent a name for the " +"function -- but that's just a local variable to which the function object " +"(which is exactly the same type of object that a lambda expression yields) " +"is assigned!" +msgstr "" + +msgid "Can Python be compiled to machine code, C or some other language?" +msgstr "Чи можна Python скомпілювати до машинного коду, мови C чи іншої?" + +msgid "" +"`Cython `_ compiles a modified version of Python with " +"optional annotations into C extensions. `Nuitka `_ " +"is an up-and-coming compiler of Python into C++ code, aiming to support the " +"full Python language." +msgstr "" + +msgid "How does Python manage memory?" +msgstr "Як Python керує пам'яттю?" + +msgid "" +"The details of Python memory management depend on the implementation. The " +"standard implementation of Python, :term:`CPython`, uses reference counting " +"to detect inaccessible objects, and another mechanism to collect reference " +"cycles, periodically executing a cycle detection algorithm which looks for " +"inaccessible cycles and deletes the objects involved. The :mod:`gc` module " +"provides functions to perform a garbage collection, obtain debugging " +"statistics, and tune the collector's parameters." +msgstr "" +"Деталі керування пам’яттю Python залежать від реалізації. Стандартна " +"реалізація Python, :term:`CPython`, використовує підрахунок посилань для " +"виявлення недоступних об’єктів та інший механізм для збору посилальних " +"циклів, періодично виконуючи алгоритм виявлення циклів, який шукає " +"недоступні цикли та видаляє залучені об’єкти. Модуль :mod:`gc` надає функції " +"для збирання сміття, отримання статистики налагодження та налаштування " +"параметрів збирача." + +msgid "" +"Other implementations (such as `Jython `_ or `PyPy " +"`_), however, can rely on a different mechanism such " +"as a full-blown garbage collector. This difference can cause some subtle " +"porting problems if your Python code depends on the behavior of the " +"reference counting implementation." +msgstr "" + +msgid "" +"In some Python implementations, the following code (which is fine in " +"CPython) will probably run out of file descriptors::" +msgstr "" +"У деяких реалізаціях Python наступний код (який добре процює у CPython), " +"ймовірно, не матиме файлових дескрипторів::" + +msgid "" +"Indeed, using CPython's reference counting and destructor scheme, each new " +"assignment to *f* closes the previous file. With a traditional GC, however, " +"those file objects will only get collected (and closed) at varying and " +"possibly long intervals." +msgstr "" +"Дійсно, використовуючи схему підрахунку посилань і деструктора CPython, " +"кожне нове призначення *f* закриває попередній файл. Однак за допомогою " +"традиційного збирача сміття ці файлові об’єкти збиратимуться (і " +"закриватимуться) лише через різні та, можливо, великі проміжки часу." + +msgid "" +"If you want to write code that will work with any Python implementation, you " +"should explicitly close the file or use the :keyword:`with` statement; this " +"will work regardless of memory management scheme::" +msgstr "" +"Якщо ви хочете написати код, який працюватиме з будь-якою реалізацією " +"Python, вам слід явно закрити файл або використати оператор :keyword:`with`; " +"це працюватиме незалежно від схеми керування пам'яттю:" + +msgid "Why doesn't CPython use a more traditional garbage collection scheme?" +msgstr "Чому CPython не використовує більш традиційну схему збирання сміття?" + +msgid "" +"For one thing, this is not a C standard feature and hence it's not portable. " +"(Yes, we know about the Boehm GC library. It has bits of assembler code for " +"*most* common platforms, not for all of them, and although it is mostly " +"transparent, it isn't completely transparent; patches are required to get " +"Python to work with it.)" +msgstr "" +"По-перше, це не є стандартною функцією C, а отже, вона не переносна. (Так, " +"ми знаємо про бібліотеку Boehm GC. Вона містить фрагменти коду асемблера для " +"*найбільш* поширених платформ, не для всіх, і хоча вона здебільшого прозора, " +"але всеж таки не зовсім прозора; для Python потрібні патчи щоб працювати з " +"нею.)" + +msgid "" +"Traditional GC also becomes a problem when Python is embedded into other " +"applications. While in a standalone Python it's fine to replace the " +"standard malloc() and free() with versions provided by the GC library, an " +"application embedding Python may want to have its *own* substitute for " +"malloc() and free(), and may not want Python's. Right now, CPython works " +"with anything that implements malloc() and free() properly." +msgstr "" +"Звичайний GC також стає проблемою, коли Python вбудовано в інші програми. " +"Хоча в автономному Python можна замінити стандартні malloc() і free() " +"версіями, наданими бібліотекою GC, програма, яка вбудовує Python, може " +"захотіти мати свій *власний* замінник malloc() і free(), і може не хотіти " +"використовувати те що є у Python. Наразі CPython працює з усім, що правильно " +"реалізує malloc() і free()." + +msgid "Why isn't all memory freed when CPython exits?" +msgstr "Чому не вся пам'ять звільняється, коли CPython завершує роботу?" + +msgid "" +"Objects referenced from the global namespaces of Python modules are not " +"always deallocated when Python exits. This may happen if there are circular " +"references. There are also certain bits of memory that are allocated by the " +"C library that are impossible to free (e.g. a tool like Purify will complain " +"about these). Python is, however, aggressive about cleaning up memory on " +"exit and does try to destroy every single object." +msgstr "" +"Об’єкти, на які посилаються глобальні простори імен модулів Python, не " +"завжди звільняються, коли Python завершує роботу. Це може статися, якщо є " +"циклічні посилання. Є також певні частини пам’яті, виділені бібліотекою C, " +"які неможливо звільнити (наприклад, такий інструмент, як Purify, буде " +"скаржитися на це). Однак Python агресивно очищає пам’ять під час виходу та " +"намагається знищити кожен окремий об’єкт." + +msgid "" +"If you want to force Python to delete certain things on deallocation use " +"the :mod:`atexit` module to run a function that will force those deletions." +msgstr "" +"Якщо ви хочете змусити Python видалити певні речі під час звільнення, " +"скористайтеся модулем :mod:`atexit`, щоб запустити функцію, яка примусово " +"прискорить ці видалення." + +msgid "Why are there separate tuple and list data types?" +msgstr "Чому існують окремі типи даних кортежу та списку?" + +msgid "" +"Lists and tuples, while similar in many respects, are generally used in " +"fundamentally different ways. Tuples can be thought of as being similar to " +"Pascal records or C structs; they're small collections of related data which " +"may be of different types which are operated on as a group. For example, a " +"Cartesian coordinate is appropriately represented as a tuple of two or three " +"numbers." +msgstr "" +"Списки та кортежі, хоч і схожі в багатьох відношеннях, зазвичай " +"використовуються принципово різними способами. Кортежі можна розглядати як " +"подібні до записів Pascal або структур C; це невеликі колекції пов’язаних " +"даних, які можуть бути різних типів, які обробляються як група. Наприклад, " +"декартова координата відповідним чином представлена у вигляді кортежу з двох " +"або трьох чисел." + +msgid "" +"Lists, on the other hand, are more like arrays in other languages. They " +"tend to hold a varying number of objects all of which have the same type and " +"which are operated on one-by-one. For example, ``os.listdir('.')`` returns " +"a list of strings representing the files in the current directory. " +"Functions which operate on this output would generally not break if you " +"added another file or two to the directory." +msgstr "" +"Списки, з іншого боку, більше схожі на масиви в інших мовах. Вони, як " +"правило, містять різну кількість об’єктів, усі з яких мають однаковий тип і " +"з якими працюють один за одним. Наприклад, ``os.listdir('.')`` повертає " +"список рядків, що представляють файли в поточному каталозі. Функції, які " +"працюють з цим виводом, як правило, не зламаються, якщо ви додасте ще один " +"або два файли до каталогу." + +msgid "" +"Tuples are immutable, meaning that once a tuple has been created, you can't " +"replace any of its elements with a new value. Lists are mutable, meaning " +"that you can always change a list's elements. Only immutable elements can " +"be used as dictionary keys, and hence only tuples and not lists can be used " +"as keys." +msgstr "" +"Кортежі є незмінними, тобто після створення кортежу ви не можете замінити " +"жоден із його елементів новим значенням. Списки є змінними, тобто ви завжди " +"можете змінити елементи списку. Тільки незмінні елементи можна " +"використовувати як ключі словника, а отже, лише кортежі можна " +"використовувати як ключі, а списки не можна." + +msgid "How are lists implemented in CPython?" +msgstr "Як списки реалізовані в CPython?" + +msgid "" +"CPython's lists are really variable-length arrays, not Lisp-style linked " +"lists. The implementation uses a contiguous array of references to other " +"objects, and keeps a pointer to this array and the array's length in a list " +"head structure." +msgstr "" +"Списки CPython насправді є масивами змінної довжини, а не пов’язаними " +"списками як у стилі Lisp. Реалізація використовує безперервний масив " +"посилань на інші об’єкти та зберігає вказівник на цей масив і довжину масиву " +"в структурі заголовка списку." + +msgid "" +"This makes indexing a list ``a[i]`` an operation whose cost is independent " +"of the size of the list or the value of the index." +msgstr "" +"Це робить індексацію списку ``a[i]`` операцією, вартість якої не залежить " +"від розміру списку або значення індексу." + +msgid "" +"When items are appended or inserted, the array of references is resized. " +"Some cleverness is applied to improve the performance of appending items " +"repeatedly; when the array must be grown, some extra space is allocated so " +"the next few times don't require an actual resize." +msgstr "" +"Коли елементи додаються або вставляються, розмір масиву посилань змінюється. " +"Деяка кмітливість застосована для покращення продуктивності багаторазового " +"додавання елементів; коли масив потрібно збільшити, виділяється додатковий " +"простір, тому наступні кілька разів не вимагають фактичної зміни розміру." + +msgid "How are dictionaries implemented in CPython?" +msgstr "Як реалізовані словники в CPython?" + +msgid "" +"CPython's dictionaries are implemented as resizable hash tables. Compared " +"to B-trees, this gives better performance for lookup (the most common " +"operation by far) under most circumstances, and the implementation is " +"simpler." +msgstr "" +"Словники CPython реалізовані як хеш-таблиці зі змінним розміром. Порівняно з " +"B-деревами, це дає кращу продуктивність для пошуку (найпоширеніша операція " +"на сьогоднішній день) у більшості випадків, а реалізація є простішою." + +msgid "" +"Dictionaries work by computing a hash code for each key stored in the " +"dictionary using the :func:`hash` built-in function. The hash code varies " +"widely depending on the key and a per-process seed; for example, \"Python\" " +"could hash to -539294296 while \"python\", a string that differs by a single " +"bit, could hash to 1142331976. The hash code is then used to calculate a " +"location in an internal array where the value will be stored. Assuming that " +"you're storing keys that all have different hash values, this means that " +"dictionaries take constant time -- O(1), in Big-O notation -- to retrieve a " +"key." +msgstr "" +"Словники працюють шляхом обчислення хеш-коду для кожного ключа, що " +"зберігається в словнику, за допомогою вбудованої функції :func:`hash`. Хеш-" +"код значно змінюється залежно від ключа та початкового числа процесу; " +"наприклад, рядок \"Python\" може отримати хеш -539294296, тоді як \"python" +"\", рядок, який відрізняється одним бітом, може отримати хеш 1142331976. " +"Хеш-код потім використовується для обчислення розташування у внутрішньому " +"масиві, де буде зберігатися значення . Якщо припустити, що ви зберігаєте " +"ключі, усі з яких мають різні хеш-значення, це означає, що словникам " +"потрібен постійний час – O(1) у нотації Big-O – щоб отримати ключ." + +msgid "Why must dictionary keys be immutable?" +msgstr "Чому ключі словника повинні бути незмінними?" + +msgid "" +"The hash table implementation of dictionaries uses a hash value calculated " +"from the key value to find the key. If the key were a mutable object, its " +"value could change, and thus its hash could also change. But since whoever " +"changes the key object can't tell that it was being used as a dictionary " +"key, it can't move the entry around in the dictionary. Then, when you try " +"to look up the same object in the dictionary it won't be found because its " +"hash value is different. If you tried to look up the old value it wouldn't " +"be found either, because the value of the object found in that hash bin " +"would be different." +msgstr "" +"Реалізація хеш-таблиці словників використовує хеш-значення, обчислене зі " +"значення ключа, щоб знайти ключ. Якби ключ був змінним об’єктом, його " +"значення могло б змінитися, а отже, і його хеш також міг би змінитися. Але " +"оскільки той, хто змінює об’єкт ключа, не може сказати, що він " +"використовувався як ключ словника, він не може переміщувати запис у " +"словнику. Тоді, коли ви спробуєте знайти той самий об’єкт у словнику, він не " +"буде знайдений, оскільки його хеш-значення інше. Якщо ви спробуєте знайти " +"старе значення, його також не буде знайдено, оскільки значення об’єкта, " +"знайденого в цьому хеш-біні, буде іншим." + +msgid "" +"If you want a dictionary indexed with a list, simply convert the list to a " +"tuple first; the function ``tuple(L)`` creates a tuple with the same entries " +"as the list ``L``. Tuples are immutable and can therefore be used as " +"dictionary keys." +msgstr "" +"Якщо ви хочете, щоб словник був індексований списком, просто спочатку " +"перетворіть список на кортеж; функція ``tuple(L)`` створює кортеж з тими " +"самими записами, що і список ``L``. Кортежі є незмінними, тому їх можна " +"використовувати як ключі словника." + +msgid "Some unacceptable solutions that have been proposed:" +msgstr "Деякі неприйнятні рішення, які були запропоновані:" + +msgid "" +"Hash lists by their address (object ID). This doesn't work because if you " +"construct a new list with the same value it won't be found; e.g.::" +msgstr "" +"Хешувати списки за їхньою адресою (ID об'єкта). Це не працює, тому що якщо " +"ви створите новий список із тим самим значенням, його не буде знайдено; " +"наприклад::" + +msgid "" +"would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` " +"used in the second line differs from that in the first line. In other " +"words, dictionary keys should be compared using ``==``, not using :keyword:" +"`is`." +msgstr "" +"викличе виняток :exc:`KeyError`, оскільки ідентифікатор ``[1, 2]``, який " +"використовується у другому рядку, відрізняється від ідентифікатора в першому " +"рядку. Іншими словами, ключі словника слід порівнювати за допомогою ``==``, " +"а не за допомогою :keyword:`is`." + +msgid "" +"Make a copy when using a list as a key. This doesn't work because the list, " +"being a mutable object, could contain a reference to itself, and then the " +"copying code would run into an infinite loop." +msgstr "" +"Зробити копію, якщо використовуєте список як ключ. Це не працює, тому що " +"список, будучи змінним об’єктом, може містити посилання на себе, і тоді код " +"копіювання запускатиметься в нескінченний цикл." + +msgid "" +"Allow lists as keys but tell the user not to modify them. This would allow " +"a class of hard-to-track bugs in programs when you forgot or modified a list " +"by accident. It also invalidates an important invariant of dictionaries: " +"every value in ``d.keys()`` is usable as a key of the dictionary." +msgstr "" +"Дозволити списки як ключі, але сказати користувачеві не змінювати їх. Це " +"дозволило б створити клас помилок, які важко відстежити в програмах, коли ви " +"випадково забули або змінили список. Це також робить недійсним важливий " +"інваріант словників: кожне значення в ``d.keys()`` можна використовувати як " +"ключ словника." + +msgid "" +"Mark lists as read-only once they are used as a dictionary key. The problem " +"is that it's not just the top-level object that could change its value; you " +"could use a tuple containing a list as a key. Entering anything as a key " +"into a dictionary would require marking all objects reachable from there as " +"read-only -- and again, self-referential objects could cause an infinite " +"loop." +msgstr "" +"Позначайте списки як доступні лише для читання, коли вони використовуються " +"як ключ словника. Проблема полягає в тому, що не лише об’єкт верхнього рівня " +"може змінити своє значення; ви можете використовувати кортеж, що містить " +"список, як ключ. Введення будь-чого як ключа до словника вимагало б " +"позначити всі доступні звідти об’єкти як доступні лише для читання – і знову " +"ж таки самопосилання на об’єкти могло б спричинити нескінченний цикл." + +msgid "" +"There is a trick to get around this if you need to, but use it at your own " +"risk: You can wrap a mutable structure inside a class instance which has " +"both a :meth:`__eq__` and a :meth:`__hash__` method. You must then make " +"sure that the hash value for all such wrapper objects that reside in a " +"dictionary (or other hash based structure), remain fixed while the object is " +"in the dictionary (or other structure). ::" +msgstr "" +"Існує трюк, щоб обійти це, якщо вам потрібно, але використовуйте його на " +"свій страх і ризик: ви можете загорнути змінну структуру в екземпляр класу, " +"який має методи як :meth:`__eq__`, так і :meth:`__hash__`. . Потім ви " +"повинні переконатися, що хеш-значення для всіх таких об’єктів-огорток, які " +"знаходяться в словнику (або іншій структурі на основі хешів), залишаються " +"фіксованими, поки об’єкт знаходиться в словнику (або іншій структурі). ::" + +msgid "" +"Note that the hash computation is complicated by the possibility that some " +"members of the list may be unhashable and also by the possibility of " +"arithmetic overflow." +msgstr "" +"Зверніть увагу, що обчислення хешу ускладнюється можливістю того, що деякі " +"члени списку можуть бути нехешованими, а також можливістю арифметичного " +"переповнення." + +msgid "" +"Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1." +"__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == " +"o2.__hash__()``), regardless of whether the object is in a dictionary or " +"not. If you fail to meet these restrictions dictionaries and other hash " +"based structures will misbehave." +msgstr "" +"Крім того, завжди має бути так, що якщо ``o1 == o2`` (тобто ``o1.__eq__(o2) " +"має значення True``), тоді ``hash(o1) == hash(o2)`` (тобто, ``o1.__hash__() " +"== o2.__hash__()``), незалежно від того, чи є об’єкт у словнику чи ні. Якщо " +"ви не впораєтеся з цими обмеженнями, словники та інші хеш-структури " +"працюватимуть неправильно." + +msgid "" +"In the case of ListWrapper, whenever the wrapper object is in a dictionary " +"the wrapped list must not change to avoid anomalies. Don't do this unless " +"you are prepared to think hard about the requirements and the consequences " +"of not meeting them correctly. Consider yourself warned." +msgstr "" +"У випадку ListWrapper, щоразу, коли об’єкт-огортка знаходиться в словнику, " +"обгорнутий список не повинен змінюватися, щоб уникнути аномалій. Не робіть " +"цього, якщо ви не готові добре подумати про вимоги та наслідки їх " +"невиконання належним чином. Вважайте, що вас попередили." + +msgid "Why doesn't list.sort() return the sorted list?" +msgstr "Чому list.sort() не повертає відсортований список?" + +msgid "" +"In situations where performance matters, making a copy of the list just to " +"sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in " +"place. In order to remind you of that fact, it does not return the sorted " +"list. This way, you won't be fooled into accidentally overwriting a list " +"when you need a sorted copy but also need to keep the unsorted version " +"around." +msgstr "" +"У ситуаціях, коли продуктивність має значення, створення копії списку лише " +"для його сортування було б марним. Тому :meth:`list.sort` сортує список за " +"місцем. Щоб нагадати вам про цей факт, він не повертає відсортований список. " +"Таким чином, вас не введуть в оману випадковим перезаписом списку, коли вам " +"потрібна відсортована копія, але також потрібно зберегти невідсортовану " +"версію." + +msgid "" +"If you want to return a new list, use the built-in :func:`sorted` function " +"instead. This function creates a new list from a provided iterable, sorts " +"it and returns it. For example, here's how to iterate over the keys of a " +"dictionary in sorted order::" +msgstr "" +"Якщо ви хочете повернути новий список, скористайтеся вбудованою функцією :" +"func:`sorted`. Ця функція створює новий список із наданого ітератора, сортує " +"його та повертає. Наприклад, ось як виконати ітерацію по ключах словника у " +"відсортованому порядку:" + +msgid "How do you specify and enforce an interface spec in Python?" +msgstr "Як визначити та застосувати специфікацію інтерфейсу в Python?" + +msgid "" +"An interface specification for a module as provided by languages such as C++ " +"and Java describes the prototypes for the methods and functions of the " +"module. Many feel that compile-time enforcement of interface specifications " +"helps in the construction of large programs." +msgstr "" +"Специфікація інтерфейсу для модуля, яка надається такими мовами, як C++ і " +"Java, описує прототипи методів і функцій модуля. Багато хто вважає, що " +"примусове виконання специфікацій інтерфейсу під час компіляції допомагає " +"створювати великі програми." + +msgid "" +"Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base " +"Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` " +"to check whether an instance or a class implements a particular ABC. The :" +"mod:`collections.abc` module defines a set of useful ABCs such as :class:" +"`~collections.abc.Iterable`, :class:`~collections.abc.Container`, and :class:" +"`~collections.abc.MutableMapping`." +msgstr "" +"Python 2.6 додає модуль :mod:`abc`, який дозволяє визначати абстрактні " +"базові класи (ABC - Abstract Base Classes ). Потім ви можете " +"використовувати :func:`isinstance` і :func:`issubclass`, щоб перевірити, чи " +"екземпляр або клас певного ABC їх реалізує. Модуль :mod:`collections.abc` " +"визначає набір корисних ABC, таких як :class:`~collections.abc.Iterable`, :" +"class:`~collections.abc.Container` і :class:`~collections. abc." +"MutableMapping`." + +msgid "" +"For Python, many of the advantages of interface specifications can be " +"obtained by an appropriate test discipline for components." +msgstr "" +"Для Python багато переваг специфікацій інтерфейсу можна отримати за " +"допомогою відповідного порядку тестування компонентів." + +msgid "" +"A good test suite for a module can both provide a regression test and serve " +"as a module interface specification and a set of examples. Many Python " +"modules can be run as a script to provide a simple \"self test.\" Even " +"modules which use complex external interfaces can often be tested in " +"isolation using trivial \"stub\" emulations of the external interface. The :" +"mod:`doctest` and :mod:`unittest` modules or third-party test frameworks can " +"be used to construct exhaustive test suites that exercise every line of code " +"in a module." +msgstr "" +"Хороший набір тестів для модуля може як забезпечити регресійний тест, так і " +"служити специфікацією інтерфейсу модуля та набором прикладів. Багато модулів " +"Python можна запускати як сценарій для забезпечення простого \"самотестування" +"\". Навіть модулі, які використовують складні зовнішні інтерфейси, часто " +"можуть бути протестовані ізольовано за допомогою тривіальних \"заглушок\" " +"емуляції зовнішнього інтерфейсу. Модулі :mod:`doctest` і :mod:`unittest` або " +"сторонні фреймворки тестування можна використовувати для створення вичерпних " +"наборів тестів, які перевіряють кожен рядок коду в модулі." + +msgid "" +"An appropriate testing discipline can help build large complex applications " +"in Python as well as having interface specifications would. In fact, it can " +"be better because an interface specification cannot test certain properties " +"of a program. For example, the :meth:`append` method is expected to add new " +"elements to the end of some internal list; an interface specification cannot " +"test that your :meth:`append` implementation will actually do this " +"correctly, but it's trivial to check this property in a test suite." +msgstr "" +"Відповідний порядок тестування може допомогти створювати великі складні " +"програми на Python так само, як і специфікації інтерфейсу. Насправді це може " +"бути краще, оскільки специфікація інтерфейсу не може перевірити певні " +"властивості програми. Наприклад, очікується, що метод :meth:`append` додасть " +"нові елементи в кінець деякого внутрішнього списку; специфікація інтерфейсу " +"не може перевірити, чи ваша реалізація :meth:`append` справді зробить це " +"правильно, але перевірити цю властивість у наборі тестів досить просто." + +msgid "" +"Writing test suites is very helpful, and you might want to design your code " +"to make it easily tested. One increasingly popular technique, test-driven " +"development, calls for writing parts of the test suite first, before you " +"write any of the actual code. Of course Python allows you to be sloppy and " +"not write test cases at all." +msgstr "" +"Написання наборів тестів дуже корисно, і ви можете розробити свій код, щоб " +"його було легко перевірити. Одна з технік, що стає все більш популярною, — " +"розробка на основі тестування (TDD - test-driven development)— вимагає " +"спочатку написати частини набору тестів, перш ніж писати будь-який фактичний " +"код. Звичайно, Python дозволяє вам бути неохайними і взагалі не писати тести." + +msgid "Why is there no goto?" +msgstr "Чому немає goto?" + +msgid "" +"In the 1970s people realized that unrestricted goto could lead to messy " +"\"spaghetti\" code that was hard to understand and revise. In a high-level " +"language, it is also unneeded as long as there are ways to branch (in " +"Python, with ``if`` statements and ``or``, ``and``, and ``if-else`` " +"expressions) and loop (with ``while`` and ``for`` statements, possibly " +"containing ``continue`` and ``break``)." +msgstr "" +"У 1970-х роках люди зрозуміли, що необмежений goto може призвести до " +"безладного \"спагетті\" коду, який важко зрозуміти та переглянути. У мові " +"високого рівня він також непотрібний, якщо є способи розгалуження (у Python " +"з операторами ``if``, ``or``, ``and`` та ``if-else`` вирази) і цикл (з " +"операторами ``while`` і ``for``, можливо, що містять ``continue`` і " +"``break``)." + +msgid "" +"One can also use exceptions to provide a \"structured goto\" that works even " +"across function calls. Many feel that exceptions can conveniently emulate " +"all reasonable uses of the \"go\" or \"goto\" constructs of C, Fortran, and " +"other languages. For example::" +msgstr "" +"Можна також використовувати винятки, щоб забезпечити \"структурований переход" +"\", який працює навіть при викликах функцій. Багато хто вважає, що винятки " +"можуть зручно імітувати всі розумні використання конструкцій \"go\" або " +"\"goto\" C, Fortran та інших мов. Наприклад::" + +msgid "" +"This doesn't allow you to jump into the middle of a loop, but that's usually " +"considered an abuse of goto anyway. Use sparingly." +msgstr "" +"Це не дозволяє вам переходити в середину циклу, але зазвичай це вважається " +"зловживанням goto. Використовуйте раціонально." + +msgid "Why can't raw strings (r-strings) end with a backslash?" +msgstr "" +"Чому необроблені рядки (r-рядки) не можуть закінчуватися зворотною косою " +"рискою?" + +msgid "" +"More precisely, they can't end with an odd number of backslashes: the " +"unpaired backslash at the end escapes the closing quote character, leaving " +"an unterminated string." +msgstr "" +"Точніше, вони не можуть закінчуватися непарною кількістю зворотних скісних " +"рисок: непарна зворотна коса риска в кінці виходить із символу закриваючої " +"лапки, залишаючи незакінчений рядок." + +msgid "" +"Raw strings were designed to ease creating input for processors (chiefly " +"regular expression engines) that want to do their own backslash escape " +"processing. Such processors consider an unmatched trailing backslash to be " +"an error anyway, so raw strings disallow that. In return, they allow you to " +"pass on the string quote character by escaping it with a backslash. These " +"rules work well when r-strings are used for their intended purpose." +msgstr "" +"Необроблені рядки були розроблені, щоб полегшити створення вхідних даних для " +"процесорів (головним чином механізмів регулярних виразів), які хочуть " +"виконувати власну обробку зворотного слеша. Такі процесори в будь-якому " +"випадку вважають невідповідну зворотну косу риску в кінці помилкою, тому " +"необроблені рядки це забороняють. Натомість вони дозволяють вам передати " +"символ лапки рядка, екрануючи його зворотною косою рискою. Ці правила добре " +"працюють, коли r-рядки використовуються за призначенням." + +msgid "" +"If you're trying to build Windows pathnames, note that all Windows system " +"calls accept forward slashes too::" +msgstr "" +"Якщо ви намагаєтеся створити імена шляхів Windows, зверніть увагу, що всі " +"системні виклики Windows також приймають косу риску::" + +msgid "" +"If you're trying to build a pathname for a DOS command, try e.g. one of ::" +msgstr "" +"Якщо ви намагаєтеся створити шлях для команди DOS, спробуйте, наприклад. " +"один з ::" + +msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" +msgstr "Чому в Python немає оператора \"with\" для призначення атрибутів?" + +msgid "" +"Python has a 'with' statement that wraps the execution of a block, calling " +"code on the entrance and exit from the block. Some languages have a " +"construct that looks like this::" +msgstr "" +"У Python є оператор with, який завершує виконання блоку, викликаючи код на " +"вході та виході з блоку. У деяких мовах є конструкція, яка виглядає так:" + +msgid "In Python, such a construct would be ambiguous." +msgstr "У Python така конструкція була б неоднозначною." + +msgid "" +"Other languages, such as Object Pascal, Delphi, and C++, use static types, " +"so it's possible to know, in an unambiguous way, what member is being " +"assigned to. This is the main point of static typing -- the compiler " +"*always* knows the scope of every variable at compile time." +msgstr "" +"Інші мови, такі як Object Pascal, Delphi та C++, використовують статичні " +"типи, тому можна однозначно знати, якому члену призначено. Це головний " +"момент статичної типізації -- компілятор *завжди* знає область кожної " +"змінної під час компіляції." + +msgid "" +"Python uses dynamic types. It is impossible to know in advance which " +"attribute will be referenced at runtime. Member attributes may be added or " +"removed from objects on the fly. This makes it impossible to know, from a " +"simple reading, what attribute is being referenced: a local one, a global " +"one, or a member attribute?" +msgstr "" +"Python використовує динамічні типи. Неможливо знати заздалегідь, на який " +"атрибут буде посилатися під час виконання. Атрибути учасників можна додавати " +"або видаляти з об’єктів на льоту. Це робить неможливим з простого читання " +"дізнатися, на який атрибут посилається: локальний, глобальний чи атрибут-" +"член?" + +msgid "For instance, take the following incomplete snippet::" +msgstr "Наприклад, візьмемо наступний неповний фрагмент:" + +msgid "" +"The snippet assumes that \"a\" must have a member attribute called \"x\". " +"However, there is nothing in Python that tells the interpreter this. What " +"should happen if \"a\" is, let us say, an integer? If there is a global " +"variable named \"x\", will it be used inside the with block? As you see, " +"the dynamic nature of Python makes such choices much harder." +msgstr "" +"Фрагмент припускає, що \"a\" повинен мати атрибут члена під назвою \"x\". " +"Однак у Python немає нічого, що повідомляє про це інтерпретатору. Що має " +"статися, якщо \"а\" є, скажімо, цілим числом? Якщо існує глобальна змінна з " +"назвою \"x\", чи буде вона використана в блоці with? Як бачите, динамічна " +"природа Python робить такий вибір набагато складнішим." + +msgid "" +"The primary benefit of \"with\" and similar language features (reduction of " +"code volume) can, however, easily be achieved in Python by assignment. " +"Instead of::" +msgstr "" +"Основна перевага \"with\" і подібних функцій мови (зменшення обсягу коду) " +"може бути легко досягнута в Python за допомогою призначення. Замість::" + +msgid "write this::" +msgstr "напиши це::" + +msgid "" +"This also has the side-effect of increasing execution speed because name " +"bindings are resolved at run-time in Python, and the second version only " +"needs to perform the resolution once." +msgstr "" +"Це також має побічний ефект збільшення швидкості виконання, оскільки " +"прив’язки імен вирішуються під час виконання в Python, а другій версії " +"потрібно виконати розв’язання лише один раз." + +msgid "Why don't generators support the with statement?" +msgstr "Чому генератори не підтримують оператор with?" + +msgid "" +"For technical reasons, a generator used directly as a context manager would " +"not work correctly. When, as is most common, a generator is used as an " +"iterator run to completion, no closing is needed. When it is, wrap it as " +"\"contextlib.closing(generator)\" in the 'with' statement." +msgstr "" +"З технічних причин генератор, який використовується безпосередньо як " +"менеджер контексту, не працюватиме належним чином. Коли, як це найчастіше " +"буває, генератор використовується як ітератор, що виконується до кінця, " +"закриття не потрібне. Коли це так, оберніть його як \"contextlib." +"closing(generator)\" у операторі \"with\"." + +msgid "Why are colons required for the if/while/def/class statements?" +msgstr "Чому в операторах if/while/def/class потрібні двокрапки?" + +msgid "" +"The colon is required primarily to enhance readability (one of the results " +"of the experimental ABC language). Consider this::" +msgstr "" +"Двокрапка потрібна насамперед для покращення читабельності (один із " +"результатів експериментальної мови ABC). Розглянемо це::" + +msgid "versus ::" +msgstr "проти ::" + +msgid "" +"Notice how the second one is slightly easier to read. Notice further how a " +"colon sets off the example in this FAQ answer; it's a standard usage in " +"English." +msgstr "" +"Зверніть увагу, що другий читається трохи легше. Зверніть увагу на те, як " +"двокрапка виділяє приклад у цій відповіді на поширені запитання; це " +"стандартне використання в англійській мові." + +msgid "" +"Another minor reason is that the colon makes it easier for editors with " +"syntax highlighting; they can look for colons to decide when indentation " +"needs to be increased instead of having to do a more elaborate parsing of " +"the program text." +msgstr "" +"Інша незначна причина полягає в тому, що двокрапка полегшує роботу " +"редакторів із підсвічуванням синтаксису; вони можуть шукати двокрапки, щоб " +"вирішити, коли потрібно збільшити відступ, замість того, щоб виконувати " +"більш детальний розбір тексту програми." + +msgid "Why does Python allow commas at the end of lists and tuples?" +msgstr "Чому Python допускає коми в кінці списків і кортежів?" + +msgid "" +"Python lets you add a trailing comma at the end of lists, tuples, and " +"dictionaries::" +msgstr "" +"Python дозволяє додавати кінцеву кому в кінці списків, кортежів і словників:" + +msgid "There are several reasons to allow this." +msgstr "Є кілька причин дозволити це." + +msgid "" +"When you have a literal value for a list, tuple, or dictionary spread across " +"multiple lines, it's easier to add more elements because you don't have to " +"remember to add a comma to the previous line. The lines can also be " +"reordered without creating a syntax error." +msgstr "" +"Коли у вас є літеральне значення для списку, кортежу чи словника, " +"розкиданого на кілька рядків, легше додати більше елементів, оскільки вам не " +"потрібно пам’ятати про додавання коми в попередній рядок. Рядки також можна " +"змінити, не створюючи синтаксичних помилок." + +msgid "" +"Accidentally omitting the comma can lead to errors that are hard to " +"diagnose. For example::" +msgstr "" +"Випадковий пропуск коми може призвести до помилок, які важко діагностувати. " +"Наприклад::" + +msgid "" +"This list looks like it has four elements, but it actually contains three: " +"\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source " +"of error." +msgstr "" +"Цей список виглядає так, ніби він складається з чотирьох елементів, але " +"насправді він містить три: \"fee\", \"fiefoo\" і \"fum\". Постійне додавання " +"коми дозволяє уникнути цього джерела помилки." + +msgid "" +"Allowing the trailing comma may also make programmatic code generation " +"easier." +msgstr "Дозвіл кінцевої коми також може полегшити генерацію програмного коду." diff --git a/faq/extending.po b/faq/extending.po new file mode 100644 index 000000000..937a17cba --- /dev/null +++ b/faq/extending.po @@ -0,0 +1,423 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Vadim Kashirny, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Vadim Kashirny, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Extending/Embedding FAQ" +msgstr "Поширені запитання про розширення/вбудовування" + +msgid "Contents" +msgstr "Зміст" + +msgid "Can I create my own functions in C?" +msgstr "Чи можу я створювати власні функції на C?" + +msgid "" +"Yes, you can create built-in modules containing functions, variables, " +"exceptions and even new types in C. This is explained in the document :ref:" +"`extending-index`." +msgstr "" +"Так, у C можна створювати вбудовані модулі, що містять функції, змінні, " +"винятки та навіть нові типи. Це пояснюється в документі :ref:`extending-" +"index`." + +msgid "Most intermediate or advanced Python books will also cover this topic." +msgstr "" +"Більшість книжок про Python середнього та просунутого рівня також охоплюють " +"цю тему." + +msgid "Can I create my own functions in C++?" +msgstr "Чи можу я створювати власні функції на C++?" + +msgid "" +"Yes, using the C compatibility features found in C++. Place ``extern \"C" +"\" { ... }`` around the Python include files and put ``extern \"C\"`` before " +"each function that is going to be called by the Python interpreter. Global " +"or static C++ objects with constructors are probably not a good idea." +msgstr "" +"Так, використовуючи функції сумісності з C, наявні в C++. Розмістіть " +"``extern \"C\" { ... }`` навколо файлів включення Python і поставте ``extern " +"\"C\"`` перед кожною функцією, яку буде викликати інтерпретатор Python. " +"Глобальні чи статичні об’єкти C++ із конструкторами, мабуть, не є гарною " +"ідеєю." + +msgid "Writing C is hard; are there any alternatives?" +msgstr "Писати С важко; є якісь альтернативи?" + +msgid "" +"There are a number of alternatives to writing your own C extensions, " +"depending on what you're trying to do." +msgstr "" +"Існує кілька альтернатив написанню власних розширень C, залежно від того, що " +"ви намагаєтеся зробити." + +msgid "" +"`Cython `_ and its relative `Pyrex `_ are compilers that accept a " +"slightly modified form of Python and generate the corresponding C code. " +"Cython and Pyrex make it possible to write an extension without having to " +"learn Python's C API." +msgstr "" + +msgid "" +"If you need to interface to some C or C++ library for which no Python " +"extension currently exists, you can try wrapping the library's data types " +"and functions with a tool such as `SWIG `_. `SIP " +"`__, `CXX `_ `Boost `_, or `Weave `_ are also alternatives " +"for wrapping C++ libraries." +msgstr "" + +msgid "How can I execute arbitrary Python statements from C?" +msgstr "Як я можу виконати довільні оператори Python із C?" + +msgid "" +"The highest-level function to do this is :c:func:`PyRun_SimpleString` which " +"takes a single string argument to be executed in the context of the module " +"``__main__`` and returns ``0`` for success and ``-1`` when an exception " +"occurred (including :exc:`SyntaxError`). If you want more control, use :c:" +"func:`PyRun_String`; see the source for :c:func:`PyRun_SimpleString` in " +"``Python/pythonrun.c``." +msgstr "" +"Функція найвищого рівня для цього — :c:func:`PyRun_SimpleString`, яка " +"приймає один рядковий аргумент для виконання в контексті модуля ``__main__`` " +"і повертає ``0`` для успіху та ``- 1``, коли стався виняток (включаючи :exc:" +"`SyntaxError`). Якщо вам потрібен більше контролю, використовуйте :c:func:" +"`PyRun_String`; див. джерело для :c:func:`PyRun_SimpleString` у ``Python/" +"pythonrun.c``." + +msgid "How can I evaluate an arbitrary Python expression from C?" +msgstr "Як я можу обчислити довільний вираз Python із C?" + +msgid "" +"Call the function :c:func:`PyRun_String` from the previous question with the " +"start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it " +"and returns its value." +msgstr "" +"Викличте функцію :c:func:`PyRun_String` з попереднього запитання з символом " +"початку :c:data:`Py_eval_input`; він аналізує вираз, обчислює його та " +"повертає його значення." + +msgid "How do I extract C values from a Python object?" +msgstr "Як отримати значення C з об’єкта Python?" + +msgid "" +"That depends on the object's type. If it's a tuple, :c:func:`PyTuple_Size` " +"returns its length and :c:func:`PyTuple_GetItem` returns the item at a " +"specified index. Lists have similar functions, :c:func:`PyListSize` and :c:" +"func:`PyList_GetItem`." +msgstr "" +"Це залежить від типу об'єкта. Якщо це кортеж, :c:func:`PyTuple_Size` " +"повертає його довжину, а :c:func:`PyTuple_GetItem` повертає елемент за " +"вказаним індексом. Списки мають подібні функції, :c:func:`PyListSize` і :c:" +"func:`PyList_GetItem`." + +msgid "" +"For bytes, :c:func:`PyBytes_Size` returns its length and :c:func:" +"`PyBytes_AsStringAndSize` provides a pointer to its value and its length. " +"Note that Python bytes objects may contain null bytes so C's :c:func:" +"`strlen` should not be used." +msgstr "" +"Для байтів :c:func:`PyBytes_Size` повертає його довжину, а :c:func:" +"`PyBytes_AsStringAndSize` надає покажчик на його значення та довжину. " +"Зауважте, що об’єкти Python bytes можуть містити нульові байти, тому C :c:" +"func:`strlen` не слід використовувати." + +msgid "" +"To test the type of an object, first make sure it isn't ``NULL``, and then " +"use :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:func:" +"`PyList_Check`, etc." +msgstr "" +"Щоб перевірити тип об’єкта, спочатку переконайтеся, що він не ``NULL``, а " +"потім скористайтеся :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:" +"func:`PyList_Check` і т.д." + +msgid "" +"There is also a high-level API to Python objects which is provided by the so-" +"called 'abstract' interface -- read ``Include/abstract.h`` for further " +"details. It allows interfacing with any kind of Python sequence using calls " +"like :c:func:`PySequence_Length`, :c:func:`PySequence_GetItem`, etc. as well " +"as many other useful protocols such as numbers (:c:func:`PyNumber_Index` et " +"al.) and mappings in the PyMapping APIs." +msgstr "" +"Існує також високорівневий API для об’єктів Python, який надається так " +"званим \"абстрактним\" інтерфейсом — читайте ``Include/abstract.h`` для " +"отримання додаткової інформації. Він дозволяє взаємодіяти з будь-якою " +"послідовністю Python за допомогою таких викликів, як :c:func:" +"`PySequence_Length`, :c:func:`PySequence_GetItem` тощо, а також багатьох " +"інших корисних протоколів, таких як числа (:c:func:`PyNumber_Index` та ін.) " +"і відображення в API PyMapping." + +msgid "How do I use Py_BuildValue() to create a tuple of arbitrary length?" +msgstr "" +"Як я можу використовувати Py_BuildValue() для створення кортежу довільної " +"довжини?" + +msgid "You can't. Use :c:func:`PyTuple_Pack` instead." +msgstr "" +"Ви не можете це робити. Натомість використовуйте :c:func:`PyTuple_Pack`." + +msgid "How do I call an object's method from C?" +msgstr "Як викликати метод об’єкта з C?" + +msgid "" +"The :c:func:`PyObject_CallMethod` function can be used to call an arbitrary " +"method of an object. The parameters are the object, the name of the method " +"to call, a format string like that used with :c:func:`Py_BuildValue`, and " +"the argument values::" +msgstr "" +"Функцію :c:func:`PyObject_CallMethod` можна використовувати для виклику " +"довільного методу об’єкта. Параметрами є об’єкт, ім’я методу для виклику, " +"рядок формату, який використовується з :c:func:`Py_BuildValue`, і значення " +"аргументів::" + +msgid "" +"This works for any object that has methods -- whether built-in or user-" +"defined. You are responsible for eventually :c:func:`Py_DECREF`\\ 'ing the " +"return value." +msgstr "" +"Це працює для будь-якого об’єкта, який має методи – вбудовані чи визначені " +"користувачем. Ви несете відповідальність за остаточне :c:func:`Py_DECREF`\\ " +"'виведення значення, що повертається." + +msgid "" +"To call, e.g., a file object's \"seek\" method with arguments 10, 0 " +"(assuming the file object pointer is \"f\")::" +msgstr "" +"Щоб викликати, наприклад, метод \"seek\" файлового об'єкта з аргументами 10, " +"0 (припускаючи, що вказівник на файловий об'єкт є \"f\")::" + +msgid "" +"Note that since :c:func:`PyObject_CallObject` *always* wants a tuple for the " +"argument list, to call a function without arguments, pass \"()\" for the " +"format, and to call a function with one argument, surround the argument in " +"parentheses, e.g. \"(i)\"." +msgstr "" +"Зауважте, що оскільки :c:func:`PyObject_CallObject` *завжди* вимагає кортеж " +"для списку аргументів, щоб викликати функцію без аргументів, передайте " +"\"()\" для формату, а щоб викликати функцію з одним аргументом, оточіть " +"аргумент в дужках, напр. \"(i)\"." + +msgid "" +"How do I catch the output from PyErr_Print() (or anything that prints to " +"stdout/stderr)?" +msgstr "" +"Як мені перехопити вихідні дані PyErr_Print() (або будь-чого, що друкує в " +"stdout/stderr)?" + +msgid "" +"In Python code, define an object that supports the ``write()`` method. " +"Assign this object to :data:`sys.stdout` and :data:`sys.stderr`. Call " +"print_error, or just allow the standard traceback mechanism to work. Then, " +"the output will go wherever your ``write()`` method sends it." +msgstr "" +"У коді Python визначте об’єкт, який підтримує метод ``write()``. Призначте " +"цей об’єкт :data:`sys.stdout` і :data:`sys.stderr`. Викличте print_error або " +"просто дозвольте стандартному механізму відстеження працювати. Тоді вивід " +"буде відправлятися туди, куди його надсилає метод ``write()``." + +msgid "The easiest way to do this is to use the :class:`io.StringIO` class:" +msgstr "" +"Найпростіший спосіб зробити це — використати клас :class:`io.StringIO`:" + +msgid "A custom object to do the same would look like this:" +msgstr "Настроюваний об’єкт, який буде робити те саме, виглядатиме так:" + +msgid "How do I access a module written in Python from C?" +msgstr "Як отримати доступ до модуля, написаного мовою Python, із C?" + +msgid "You can get a pointer to the module object as follows::" +msgstr "Ви можете отримати вказівник на об’єкт модуля наступним чином:" + +msgid "" +"If the module hasn't been imported yet (i.e. it is not yet present in :data:" +"`sys.modules`), this initializes the module; otherwise it simply returns the " +"value of ``sys.modules[\"\"]``. Note that it doesn't enter the " +"module into any namespace -- it only ensures it has been initialized and is " +"stored in :data:`sys.modules`." +msgstr "" +"Якщо модуль ще не було імпортовано (тобто його ще немає в :data:`sys." +"modules`), це ініціалізує модуль; інакше він просто повертає значення ``sys." +"modules[\" \"]``. Зверніть увагу, що він не вводить модуль у " +"простір імен — він лише гарантує, що його було ініціалізовано та збережено " +"в :data:`sys.modules`." + +msgid "" +"You can then access the module's attributes (i.e. any name defined in the " +"module) as follows::" +msgstr "" +"Потім ви можете отримати доступ до атрибутів модуля (тобто до будь-якого " +"імені, визначеного в модулі) наступним чином:" + +msgid "" +"Calling :c:func:`PyObject_SetAttrString` to assign to variables in the " +"module also works." +msgstr "" +"Виклик :c:func:`PyObject_SetAttrString` для призначення змінним у модулі " +"також працює." + +msgid "How do I interface to C++ objects from Python?" +msgstr "Як підключитися до об’єктів C++ із Python?" + +msgid "" +"Depending on your requirements, there are many approaches. To do this " +"manually, begin by reading :ref:`the \"Extending and Embedding\" document " +"`. Realize that for the Python run-time system, there " +"isn't a whole lot of difference between C and C++ -- so the strategy of " +"building a new Python type around a C structure (pointer) type will also " +"work for C++ objects." +msgstr "" +"Залежно від ваших вимог існує багато підходів. Щоб зробити це вручну, " +"почніть із прочитання документу :ref:`\"Розширення та вбудовування\\ " +"`. Зрозумійте, що для системи виконання Python немає " +"великої різниці між C і C++, тому стратегія побудови нового типу Python " +"навколо типу структури (вказівника) C також працюватиме для об’єктів C++." + +msgid "For C++ libraries, see :ref:`c-wrapper-software`." +msgstr "Для бібліотек C++ див. :ref:`c-wrapper-software`." + +msgid "I added a module using the Setup file and the make fails; why?" +msgstr "Я додав модуль за допомогою файлу Setup, і отримав помилку, чому?" + +msgid "" +"Setup must end in a newline, if there is no newline there, the build process " +"fails. (Fixing this requires some ugly shell script hackery, and this bug " +"is so minor that it doesn't seem worth the effort.)" +msgstr "" +"Налаштування має закінчуватися символом нового рядка, якщо там немає нового " +"рядка, процес збирання завершується помилкою. (Щоб виправити це, потрібне " +"негарне хакерство сценарію оболонки, і ця помилка настільки незначна, що " +"здається не вартою зусиль.)" + +msgid "How do I debug an extension?" +msgstr "Як відлагодити розширення?" + +msgid "" +"When using GDB with dynamically loaded extensions, you can't set a " +"breakpoint in your extension until your extension is loaded." +msgstr "" +"Під час використання GDB із динамічно завантажуваними розширеннями ви не " +"можете встановити точку зупинки у своєму розширенні, доки воно не " +"завантажиться." + +msgid "In your ``.gdbinit`` file (or interactively), add the command:" +msgstr "У свій файл ``.gdbinit`` (або інтерактивно) додайте команду:" + +msgid "Then, when you run GDB:" +msgstr "Тоді, коли ви запускаєте GDB:" + +msgid "" +"I want to compile a Python module on my Linux system, but some files are " +"missing. Why?" +msgstr "" +"Я хочу скомпілювати модуль Python у своїй системі Linux, але деякі файли " +"відсутні. чому" + +msgid "" +"Most packaged versions of Python don't include the :file:`/usr/lib/python2." +"{x}/config/` directory, which contains various files required for compiling " +"Python extensions." +msgstr "" +"Більшість упакованих версій Python не включають каталог :file:`/usr/lib/" +"python2.{x}/config/`, який містить різні файли, необхідні для компіляції " +"розширень Python." + +msgid "For Red Hat, install the python-devel RPM to get the necessary files." +msgstr "Для Red Hat встановіть RPM python-devel, щоб отримати необхідні файли." + +msgid "For Debian, run ``apt-get install python-dev``." +msgstr "Для Debian запустіть ``apt-get install python-dev``." + +msgid "How do I tell \"incomplete input\" from \"invalid input\"?" +msgstr "Як відрізнити \"неповне введення\" від \"некоректного введення\"?" + +msgid "" +"Sometimes you want to emulate the Python interactive interpreter's behavior, " +"where it gives you a continuation prompt when the input is incomplete (e.g. " +"you typed the start of an \"if\" statement or you didn't close your " +"parentheses or triple string quotes), but it gives you a syntax error " +"message immediately when the input is invalid." +msgstr "" +"Іноді потрібно імітувати поведінку інтерактивного інтерпретатора Python, " +"коли він дає вам запит на продовження, коли введення неповне (наприклад, ви " +"ввели початок оператора \"if\" або не закрили дужки чи потрійні рядкові " +"лапки), але він дає вам повідомлення про синтаксичну помилку негайно, коли " +"введення некректне." + +msgid "" +"In Python you can use the :mod:`codeop` module, which approximates the " +"parser's behavior sufficiently. IDLE uses this, for example." +msgstr "" +"У Python ви можете використовувати модуль :mod:`codeop`, який достатньо " +"наближає поведінку аналізатора. IDLE використовує це, наприклад." + +msgid "" +"The easiest way to do it in C is to call :c:func:`PyRun_InteractiveLoop` " +"(perhaps in a separate thread) and let the Python interpreter handle the " +"input for you. You can also set the :c:func:`PyOS_ReadlineFunctionPointer` " +"to point at your custom input function. See ``Modules/readline.c`` and " +"``Parser/myreadline.c`` for more hints." +msgstr "" +"Найпростіший спосіб зробити це в C — викликати :c:func:" +"`PyRun_InteractiveLoop` (можливо, в окремому потоці) і дозволити " +"інтерпретатору Python обробити вхідні дані за вас. Ви також можете " +"встановити :c:func:`PyOS_ReadlineFunctionPointer` так, щоб він вказував на " +"вашу власну функцію введення. Перегляньте ``Modules/readline.c`` і ``Parser/" +"myreadline.c`` для отримання додаткових підказок." + +msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?" +msgstr "Як знайти невизначені символи g++ __builtin_new або __pure_virtual?" + +msgid "" +"To dynamically load g++ extension modules, you must recompile Python, relink " +"it using g++ (change LINKCC in the Python Modules Makefile), and link your " +"extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``)." +msgstr "" +"Щоб динамічно завантажувати модулі розширення g++, ви повинні " +"перекомпілювати Python, перекомпілювати його за допомогою g++ (змінити " +"LINKCC у Makefile модулів Python) і пов'язати свій модуль розширення за " +"допомогою g++ (наприклад, ``g++ -shared -o mymodule.so mymodule.o``)." + +msgid "" +"Can I create an object class with some methods implemented in C and others " +"in Python (e.g. through inheritance)?" +msgstr "" +"Чи можу я створити клас об’єктів за допомогою деяких методів, реалізованих у " +"C, а інших – у Python (наприклад, через успадкування)?" + +msgid "" +"Yes, you can inherit from built-in classes such as :class:`int`, :class:" +"`list`, :class:`dict`, etc." +msgstr "" +"Так, ви можете успадкувати такі вбудовані класи, як :class:`int`, :class:" +"`list`, :class:`dict` тощо." + +msgid "" +"The Boost Python Library (BPL, https://www.boost.org/libs/python/doc/index." +"html) provides a way of doing this from C++ (i.e. you can inherit from an " +"extension class written in C++ using the BPL)." +msgstr "" diff --git a/faq/general.po b/faq/general.po new file mode 100644 index 000000000..7bcc65755 --- /dev/null +++ b/faq/general.po @@ -0,0 +1,777 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Vadim Kashirny, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Vadim Kashirny, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "General Python FAQ" +msgstr "Загальні поширені запитання щодо Python" + +msgid "Contents" +msgstr "Зміст" + +msgid "General Information" +msgstr "Загальна інформація" + +msgid "What is Python?" +msgstr "Що таке Python?" + +msgid "" +"Python is an interpreted, interactive, object-oriented programming " +"language. It incorporates modules, exceptions, dynamic typing, very high " +"level dynamic data types, and classes. It supports multiple programming " +"paradigms beyond object-oriented programming, such as procedural and " +"functional programming. Python combines remarkable power with very clear " +"syntax. It has interfaces to many system calls and libraries, as well as to " +"various window systems, and is extensible in C or C++. It is also usable as " +"an extension language for applications that need a programmable interface. " +"Finally, Python is portable: it runs on many Unix variants including Linux " +"and macOS, and on Windows." +msgstr "" +"Python — це інтерпретована, інтерактивна, об’єктно-орієнтована мова " +"програмування. Він містить модулі, винятки, динамічну типізацію, динамічні " +"типи даних дуже високого рівня та класи. Він підтримує кілька парадигм " +"програмування, окрім об’єктно-орієнтованого програмування, наприклад " +"процедурне та функціональне програмування. Python поєднує в собі надзвичайну " +"потужність із дуже чітким синтаксисом. Він має інтерфейси для багатьох " +"системних викликів і бібліотек, а також для різних віконних систем і " +"розширюється на C або C++. Його також можна використовувати як мову " +"розширення для програм, яким потрібен програмований інтерфейс. Нарешті, " +"Python портативний: він працює на багатьох варіантах Unix, включаючи Linux і " +"macOS, а також на Windows." + +msgid "" +"To find out more, start with :ref:`tutorial-index`. The `Beginner's Guide " +"to Python `_ links to other " +"introductory tutorials and resources for learning Python." +msgstr "" +"Щоб дізнатися більше, почніть з :ref:`tutorial-index`. `Посібник для " +"початківців з Python `_ містить " +"посилання на інші вступні посібники та ресурси для вивчення Python." + +msgid "What is the Python Software Foundation?" +msgstr "Що таке Python Software Foundation?" + +msgid "" +"The Python Software Foundation is an independent non-profit organization " +"that holds the copyright on Python versions 2.1 and newer. The PSF's " +"mission is to advance open source technology related to the Python " +"programming language and to publicize the use of Python. The PSF's home " +"page is at https://www.python.org/psf/." +msgstr "" +"Python Software Foundation — це незалежна некомерційна організація, яка " +"володіє авторськими правами на Python версії 2.1 і новіших. Місія PSF " +"полягає в тому, щоб просувати технологію з відкритим кодом, пов’язану з " +"мовою програмування Python, і оприлюднювати використання Python. Домашня " +"сторінка PSF знаходиться за адресою https://www.python.org/psf/." + +msgid "" +"Donations to the PSF are tax-exempt in the US. If you use Python and find " +"it helpful, please contribute via `the PSF donation page `_." +msgstr "" +"Пожертви на користь PSF звільняються від податків у США. Якщо ви " +"використовуєте Python і вважаєте його корисним, зробіть свій внесок через " +"`сторінку пожертв PSF `_." + +msgid "Are there copyright restrictions on the use of Python?" +msgstr "Чи існують обмеження авторського права на використання Python?" + +msgid "" +"You can do anything you want with the source, as long as you leave the " +"copyrights in and display those copyrights in any documentation about Python " +"that you produce. If you honor the copyright rules, it's OK to use Python " +"for commercial use, to sell copies of Python in source or binary form " +"(modified or unmodified), or to sell products that incorporate Python in " +"some form. We would still like to know about all commercial use of Python, " +"of course." +msgstr "" +"Ви можете робити з вихідним кодом усе, що завгодно, за умови, що ви залишите " +"авторські права та відобразите ці авторські права в будь-якій документації " +"щодо Python, яку ви створюєте. Якщо ви дотримуєтеся правил авторського " +"права, можна використовувати Python для комерційного використання, продавати " +"копії Python у вихідній чи двійковій формі (модифікованій чи " +"немодифікованій) або продавати продукти, які в тій чи іншій формі містять " +"Python. Звичайно, ми все ще хотіли б знати про комерційне використання " +"Python." + +msgid "" +"See `the PSF license page `_ to find " +"further explanations and a link to the full text of the license." +msgstr "" +"Перегляньте `сторінку ліцензії PSF `_, " +"щоб знайти додаткові пояснення та посилання на повний текст ліцензії." + +msgid "" +"The Python logo is trademarked, and in certain cases permission is required " +"to use it. Consult `the Trademark Usage Policy `__ for more information." +msgstr "" +"Логотип Python є торговою маркою, і в деяких випадках для його використання " +"потрібен дозвіл. Зверніться до `Політики використання торговельних марок " +"`__ для отримання додаткової " +"інформації." + +msgid "Why was Python created in the first place?" +msgstr "Чому взагалі був створений Python?" + +msgid "" +"Here's a *very* brief summary of what started it all, written by Guido van " +"Rossum:" +msgstr "" +"Ось *дуже* короткий виклад того, з чого все почалося, написаний Гвідо ван " +"Россумом:" + +msgid "" +"I had extensive experience with implementing an interpreted language in the " +"ABC group at CWI, and from working with this group I had learned a lot about " +"language design. This is the origin of many Python features, including the " +"use of indentation for statement grouping and the inclusion of very-high-" +"level data types (although the details are all different in Python)." +msgstr "" +"У мене був великий досвід впровадження мови інтерпретації в групі ABC у CWI, " +"і, працюючи з цією групою, я багато чого дізнався про мовний дизайн. Це " +"походження багатьох функцій Python, включаючи використання відступів для " +"групування операторів і включення типів даних дуже високого рівня (хоча всі " +"деталі в Python різні)." + +msgid "" +"I had a number of gripes about the ABC language, but also liked many of its " +"features. It was impossible to extend the ABC language (or its " +"implementation) to remedy my complaints -- in fact its lack of extensibility " +"was one of its biggest problems. I had some experience with using Modula-2+ " +"and talked with the designers of Modula-3 and read the Modula-3 report. " +"Modula-3 is the origin of the syntax and semantics used for exceptions, and " +"some other Python features." +msgstr "" +"У мене було кілька нарікань щодо мови ABC, але мені також сподобалися багато " +"її функцій. Неможливо було розширити мову ABC (або її реалізацію), щоб " +"виправити мої скарги - насправді її відсутність розширюваності була однією з " +"найбільших проблем. У мене був певний досвід використання Modula-2+, я " +"поспілкувався з розробниками Modula-3 і прочитав звіт Modula-3. Modula-3 є " +"джерелом синтаксису та семантики, які використовуються для винятків, а також " +"деяких інших функцій Python." + +msgid "" +"I was working in the Amoeba distributed operating system group at CWI. We " +"needed a better way to do system administration than by writing either C " +"programs or Bourne shell scripts, since Amoeba had its own system call " +"interface which wasn't easily accessible from the Bourne shell. My " +"experience with error handling in Amoeba made me acutely aware of the " +"importance of exceptions as a programming language feature." +msgstr "" +"Я працював у групі розподілених операційних систем Amoeba в CWI. Нам " +"потрібен був кращий спосіб адміністрування системи, ніж написання програм на " +"C або сценаріїв оболонки Bourne, оскільки Amoeba мала власний інтерфейс " +"системних викликів, до якого було важко отримати доступ із оболонки Bourne. " +"Мій досвід обробки помилок в Amoeba дав мені чітке усвідомлення важливості " +"винятків як функції мови програмування." + +msgid "" +"It occurred to me that a scripting language with a syntax like ABC but with " +"access to the Amoeba system calls would fill the need. I realized that it " +"would be foolish to write an Amoeba-specific language, so I decided that I " +"needed a language that was generally extensible." +msgstr "" +"Мені спало на думку, що мова сценаріїв із синтаксисом, подібним до ABC, але " +"з доступом до системних викликів Amoeba, задовольнить цю потребу. Я " +"зрозумів, що було б нерозумно писати мову, специфічну для Amoeba, тому я " +"вирішив, що мені потрібна мова, яка загалом розширювана." + +msgid "" +"During the 1989 Christmas holidays, I had a lot of time on my hand, so I " +"decided to give it a try. During the next year, while still mostly working " +"on it in my own time, Python was used in the Amoeba project with increasing " +"success, and the feedback from colleagues made me add many early " +"improvements." +msgstr "" +"Під час різдвяних свят 1989 року в мене було багато часу, тож я вирішив " +"спробувати. Протягом наступного року, хоча я все ще здебільшого працював над " +"ним у свій час, Python використовувався в проекті Amoeba з дедалі більшим " +"успіхом, і відгуки колег змусили мене додати багато перших покращень." + +msgid "" +"In February 1991, after just over a year of development, I decided to post " +"to USENET. The rest is in the ``Misc/HISTORY`` file." +msgstr "" +"У лютому 1991 року, після трохи більше ніж року розробки, я вирішив " +"опублікувати повідомлення в USENET. Решта у файлі ``Misc/HISTORY``." + +msgid "What is Python good for?" +msgstr "Чим корисний Python?" + +msgid "" +"Python is a high-level general-purpose programming language that can be " +"applied to many different classes of problems." +msgstr "" +"Python — це мова програмування високого рівня загального призначення, яку " +"можна застосовувати до багатьох різних класів задач." + +msgid "" +"The language comes with a large standard library that covers areas such as " +"string processing (regular expressions, Unicode, calculating differences " +"between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP), " +"software engineering (unit testing, logging, profiling, parsing Python " +"code), and operating system interfaces (system calls, filesystems, TCP/IP " +"sockets). Look at the table of contents for :ref:`library-index` to get an " +"idea of what's available. A wide variety of third-party extensions are also " +"available. Consult `the Python Package Index `_ to find " +"packages of interest to you." +msgstr "" + +msgid "How does the Python version numbering scheme work?" +msgstr "Як працює схема нумерації версій Python?" + +msgid "Python versions are numbered \"A.B.C\" or \"A.B\":" +msgstr "" + +msgid "" +"*A* is the major version number -- it is only incremented for really major " +"changes in the language." +msgstr "" + +msgid "" +"*B* is the minor version number -- it is incremented for less earth-" +"shattering changes." +msgstr "" + +msgid "" +"*C* is the micro version number -- it is incremented for each bugfix release." +msgstr "" + +msgid "See :pep:`6` for more information about bugfix releases." +msgstr "" + +msgid "" +"Not all releases are bugfix releases. In the run-up to a new major release, " +"a series of development releases are made, denoted as alpha, beta, or " +"release candidate. Alphas are early releases in which interfaces aren't yet " +"finalized; it's not unexpected to see an interface change between two alpha " +"releases. Betas are more stable, preserving existing interfaces but possibly " +"adding new modules, and release candidates are frozen, making no changes " +"except as needed to fix critical bugs." +msgstr "" +"Не всі випуски є випусками з виправленнями помилок. Напередодні нового " +"основного випуску створюється серія випусків для розробки, які позначаються " +"як альфа-, бета-версія або кандидат на випуск. Альфа-версії — це ранні " +"випуски, інтерфейси яких ще не завершено; не є несподіванкою побачити зміну " +"інтерфейсу між двома альфа-версіями. Бета-версії більш стабільні, зберігають " +"існуючі інтерфейси, але, можливо, додають нові модулі, а кандидати на " +"випуски заморожені, не вносячи жодних змін, окрім тих, які потрібні для " +"виправлення критичних помилок." + +msgid "Alpha, beta and release candidate versions have an additional suffix:" +msgstr "" + +msgid "The suffix for an alpha version is \"aN\" for some small number *N*." +msgstr "" + +msgid "The suffix for a beta version is \"bN\" for some small number *N*." +msgstr "" + +msgid "" +"The suffix for a release candidate version is \"rcN\" for some small number " +"*N*." +msgstr "" + +msgid "" +"In other words, all versions labeled *2.0aN* precede the versions labeled " +"*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0." +msgstr "" + +msgid "" +"You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These " +"are unreleased versions, built directly from the CPython development " +"repository. In practice, after a final minor release is made, the version " +"is incremented to the next minor version, which becomes the \"a0\" version, " +"e.g. \"2.4a0\"." +msgstr "" +"Ви також можете знайти номери версій із суфіксом \"+\", напр. \"2,2+\". Це " +"неопубліковані версії, створені безпосередньо з репозиторію розробки " +"CPython. На практиці, після створення остаточного мінорного випуску, версія " +"збільшується до наступної мінорної версії, яка стає версією \"a0\", напр. " +"\"2.4a0\"." + +msgid "" +"See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, " +"and :data:`sys.version_info`." +msgstr "" +"Дивіться також документацію для :data:`sys.version`, :data:`sys.hexversion` " +"і :data:`sys.version_info`." + +msgid "How do I obtain a copy of the Python source?" +msgstr "Як отримати копію вихідного коду Python?" + +msgid "" +"The latest Python source distribution is always available from python.org, " +"at https://www.python.org/downloads/. The latest development sources can be " +"obtained at https://github.com/python/cpython/." +msgstr "" +"Найновіший вихідний код Python завжди доступний на сайті python.org за " +"адресою https://www.python.org/downloads/. Останні джерела розробки можна " +"отримати на https://github.com/python/cpython/." + +msgid "" +"The source distribution is a gzipped tar file containing the complete C " +"source, Sphinx-formatted documentation, Python library modules, example " +"programs, and several useful pieces of freely distributable software. The " +"source will compile and run out of the box on most UNIX platforms." +msgstr "" +"Дистрибутив вихідного коду — це файл tar у форматі gzip, що містить повний " +"вихідний код C, документацію у форматі Sphinx, модулі бібліотеки Python, " +"приклади програм і кілька корисних частин програмного забезпечення, яке " +"вільно розповсюджується. Джерело компілюється та запускається з коробки на " +"більшості платформ UNIX." + +msgid "" +"Consult the `Getting Started section of the Python Developer's Guide " +"`__ for more information on getting the " +"source code and compiling it." +msgstr "" +"Зверніться до розділу `Початок роботи` `Посібника розробника Python `__, щоб дізнатися більше про отримання вихідного " +"коду та його компіляцію." + +msgid "How do I get documentation on Python?" +msgstr "Як отримати документацію на Python?" + +msgid "" +"The standard documentation for the current stable version of Python is " +"available at https://docs.python.org/3/. PDF, plain text, and downloadable " +"HTML versions are also available at https://docs.python.org/3/download.html." +msgstr "" +"Стандартна документація для поточної стабільної версії Python доступна за " +"адресою https://docs.python.org/3/. PDF, звичайний текст і HTML-версії для " +"завантаження також доступні за адресою https://docs.python.org/3/download." +"html." + +msgid "" +"The documentation is written in reStructuredText and processed by `the " +"Sphinx documentation tool `__. The " +"reStructuredText source for the documentation is part of the Python source " +"distribution." +msgstr "" + +msgid "I've never programmed before. Is there a Python tutorial?" +msgstr "Я ніколи раніше не програмував. Чи є підручник з Python?" + +msgid "" +"There are numerous tutorials and books available. The standard " +"documentation includes :ref:`tutorial-index`." +msgstr "" +"Доступно багато підручників і книг. Стандартна документація включає :ref:" +"`tutorial-index`." + +msgid "" +"Consult `the Beginner's Guide `_ to find information for beginning Python programmers, " +"including lists of tutorials." +msgstr "" +"Зверніться до `Посібника для початківців `_, щоб знайти інформацію для початківців програмістів " +"Python, включаючи списки навчальних посібників." + +msgid "Is there a newsgroup or mailing list devoted to Python?" +msgstr "Чи існує група новин або список розсилки, присвячений Python?" + +msgid "" +"There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " +"`python-list `_. The " +"newsgroup and mailing list are gatewayed into each other -- if you can read " +"news it's unnecessary to subscribe to the mailing list. :newsgroup:`comp." +"lang.python` is high-traffic, receiving hundreds of postings every day, and " +"Usenet readers are often more able to cope with this volume." +msgstr "" +"Є група новин :newsgroup:`comp.lang.python` і список розсилки `python-list " +"`_. Група новин і " +"список розсилки пов’язані один з одним — якщо ви можете читати новини, немає " +"необхідності підписуватися на список розсилки. :newsgroup:`comp.lang.python` " +"має високий трафік, отримує сотні публікацій щодня, і читачам Usenet часто " +"легше впоратися з цим обсягом." + +msgid "" +"Announcements of new software releases and events can be found in comp.lang." +"python.announce, a low-traffic moderated list that receives about five " +"postings per day. It's available as `the python-announce mailing list " +"`_." +msgstr "" +"Оголошення про нові випуски програмного забезпечення та події можна знайти в " +"comp.lang.python.announce, модерованому списку з низьким трафіком, який " +"отримує близько п’яти публікацій на день. Він доступний як `список розсилки " +"python-announce `_." + +msgid "" +"More info about other mailing lists and newsgroups can be found at https://" +"www.python.org/community/lists/." +msgstr "" +"Додаткову інформацію про інші списки розсилки та групи новин можна знайти на " +"https://www.python.org/community/lists/." + +msgid "How do I get a beta test version of Python?" +msgstr "Як отримати тестову бета-версію Python?" + +msgid "" +"Alpha and beta releases are available from https://www.python.org/" +"downloads/. All releases are announced on the comp.lang.python and comp." +"lang.python.announce newsgroups and on the Python home page at https://www." +"python.org/; an RSS feed of news is available." +msgstr "" +"Альфа- та бета-версії доступні за адресою https://www.python.org/downloads/. " +"Усі випуски оголошуються в групах новин comp.lang.python і comp.lang.python." +"announce, а також на домашній сторінці Python за адресою https://www.python." +"org/; доступна RSS-канал новин." + +msgid "" +"You can also access the development version of Python through Git. See `The " +"Python Developer's Guide `_ for details." +msgstr "" +"Ви також можете отримати доступ до версії Python для розробки через Git. " +"Перегляньте `Посібник розробника Python `_ для " +"отримання додаткової інформації." + +msgid "How do I submit bug reports and patches for Python?" +msgstr "Як надіслати звіти про помилки та виправлення для Python?" + +msgid "" +"To report a bug or submit a patch, use the issue tracker at https://github." +"com/python/cpython/issues." +msgstr "" + +msgid "" +"For more information on how Python is developed, consult `the Python " +"Developer's Guide `_." +msgstr "" +"Щоб дізнатися більше про те, як розробляється Python, зверніться до " +"`Посібника розробника Python `_." + +msgid "Are there any published articles about Python that I can reference?" +msgstr "Чи є опубліковані статті про Python, на які я можу посилатися?" + +msgid "It's probably best to cite your favorite book about Python." +msgstr "Мабуть, найкраще процитувати вашу улюблену книгу про Python." + +msgid "" +"The very first article about Python was written in 1991 and is now quite " +"outdated." +msgstr "" +"Найперша стаття про Python була написана в 1991 році і зараз досить " +"застаріла." + +msgid "" +"Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " +"Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " +"(December 1991), Amsterdam, pp 283--303." +msgstr "" +"Гвідо ван Россум і Джелке де Бур, \"Інтерактивне тестування віддалених " +"серверів за допомогою мови програмування Python\", CWI Quarterly, том 4, " +"випуск 4 (грудень 1991), Амстердам, стор. 283--303." + +msgid "Are there any books on Python?" +msgstr "Чи є книги про Python?" + +msgid "" +"Yes, there are many, and more are being published. See the python.org wiki " +"at https://wiki.python.org/moin/PythonBooks for a list." +msgstr "" +"Так, їх багато, і публікується більше. Перегляньте список у вікі python.org " +"за адресою https://wiki.python.org/moin/PythonBooks." + +msgid "" +"You can also search online bookstores for \"Python\" and filter out the " +"Monty Python references; or perhaps search for \"Python\" and \"language\"." +msgstr "" +"Ви також можете шукати в книжкових онлайн-магазинах \"Python\" і " +"відфільтрувати посилання на Monty Python; або, можливо, шукайте \"Python\" і " +"\"мова\"." + +msgid "Where in the world is www.python.org located?" +msgstr "Де у світі знаходиться www.python.org?" + +msgid "" +"The Python project's infrastructure is located all over the world and is " +"managed by the Python Infrastructure Team. Details `here `__." +msgstr "" + +msgid "Why is it called Python?" +msgstr "Чому він називається Python?" + +msgid "" +"When he began implementing Python, Guido van Rossum was also reading the " +"published scripts from `\"Monty Python's Flying Circus\" `__, a BBC comedy series from the 1970s. " +"Van Rossum thought he needed a name that was short, unique, and slightly " +"mysterious, so he decided to call the language Python." +msgstr "" +"Коли Гвідо ван Россум почав впроваджувати Python, він також читав " +"опубліковані сценарії з `\"Летючого цирку Монті Пайтона\" `__, комедійного серіалу BBC 1970-х років. " +"Ван Россум подумав, що йому потрібна коротка, унікальна та трохи загадкова " +"назва, тому він вирішив назвати мову Python." + +msgid "Do I have to like \"Monty Python's Flying Circus\"?" +msgstr "" +"Чи обов’язково мені повинен подобатись \"Летючий цирк Монті Пайтона\"?" + +msgid "No, but it helps. :)" +msgstr "Ні, але допомагає. :)" + +msgid "Python in the real world" +msgstr "Python у реальному світі" + +msgid "How stable is Python?" +msgstr "Наскільки стабільний Python?" + +msgid "" +"Very stable. New, stable releases have been coming out roughly every 6 to " +"18 months since 1991, and this seems likely to continue. As of version 3.9, " +"Python will have a major new release every 12 months (:pep:`602`)." +msgstr "" +"Дуже стійкий. Нові стабільні випуски виходять приблизно кожні 6-18 місяців з " +"1991 року, і, схоже, це продовжуватиметься. Починаючи з версії 3.9, Python " +"випускатиметься кожні 12 місяців (:pep:`602`)." + +msgid "" +"The developers issue \"bugfix\" releases of older versions, so the stability " +"of existing releases gradually improves. Bugfix releases, indicated by a " +"third component of the version number (e.g. 3.5.3, 3.6.2), are managed for " +"stability; only fixes for known problems are included in a bugfix release, " +"and it's guaranteed that interfaces will remain the same throughout a series " +"of bugfix releases." +msgstr "" +"Розробники випускають релізи з \"виправленнями\" старих версій, тому " +"стабільність існуючих релізів поступово покращується. Випуски виправлень " +"помилок, позначені третім компонентом номера версії (наприклад, 3.5.3, " +"3.6.2), керуються стабільністю; лише виправлення відомих проблем включено у " +"випуск виправлення помилок, і гарантовано, що інтерфейси залишатимуться " +"незмінними протягом серії випусків виправлень помилок." + +msgid "" +"The latest stable releases can always be found on the `Python download page " +"`_. There are two production-ready " +"versions of Python: 2.x and 3.x. The recommended version is 3.x, which is " +"supported by most widely used libraries. Although 2.x is still widely used, " +"`it is not maintained anymore `_." +msgstr "" + +msgid "How many people are using Python?" +msgstr "Скільки людей використовують Python?" + +msgid "" +"There are probably millions of users, though it's difficult to obtain an " +"exact count." +msgstr "" +"Ймовірно, є мільйони користувачів, хоча важко отримати точну кількість." + +msgid "" +"Python is available for free download, so there are no sales figures, and " +"it's available from many different sites and packaged with many Linux " +"distributions, so download statistics don't tell the whole story either." +msgstr "" +"Python доступний для безкоштовного завантаження, тому немає даних про " +"продажі, і він доступний на багатьох різних сайтах і входить до складу " +"багатьох дистрибутивів Linux, тому статистика завантажень також не говорить " +"усієї історії." + +msgid "" +"The comp.lang.python newsgroup is very active, but not all Python users post " +"to the group or even read it." +msgstr "" +"Група новин comp.lang.python дуже активна, але не всі користувачі Python " +"пишають у групі або навіть читають її." + +msgid "Have any significant projects been done in Python?" +msgstr "Чи були якісь значні проекти виконані на Python?" + +msgid "" +"See https://www.python.org/about/success for a list of projects that use " +"Python. Consulting the proceedings for `past Python conferences `_ will reveal contributions from many " +"different companies and organizations." +msgstr "" +"Див. https://www.python.org/about/success, щоб переглянути список проектів, " +"які використовують Python. Перегляд матеріалів `минулих конференцій Python " +"`_ покаже внески багатьох " +"різних компаній і організацій." + +msgid "" +"High-profile Python projects include `the Mailman mailing list manager " +"`_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat `_, have written part or all of their installer and system " +"administration software in Python. Companies that use Python internally " +"include Google, Yahoo, and Lucasfilm Ltd." +msgstr "" + +msgid "What new developments are expected for Python in the future?" +msgstr "Які нові розробки очікуються для Python у майбутньому?" + +msgid "" +"See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). " +"PEPs are design documents describing a suggested new feature for Python, " +"providing a concise technical specification and a rationale. Look for a PEP " +"titled \"Python X.Y Release Schedule\", where X.Y is a version that hasn't " +"been publicly released yet." +msgstr "" + +msgid "" +"New development is discussed on `the python-dev mailing list `_." +msgstr "" +"Нова розробка обговорюється в `списку розсилки python-dev `_." + +msgid "Is it reasonable to propose incompatible changes to Python?" +msgstr "Чи розумно пропонувати несумісні зміни в Python?" + +msgid "" +"In general, no. There are already millions of lines of Python code around " +"the world, so any change in the language that invalidates more than a very " +"small fraction of existing programs has to be frowned upon. Even if you can " +"provide a conversion program, there's still the problem of updating all " +"documentation; many books have been written about Python, and we don't want " +"to invalidate them all at a single stroke." +msgstr "" +"Загалом ні. По всьому світу вже існують мільйони рядків коду Python, тому " +"будь-яку зміну в мові, яка робить недійсною більш ніж дуже малу частину " +"існуючих програм, слід сприймати несхвально. Навіть якщо ви можете надати " +"програму перетворення, все одно залишається проблема оновлення всієї " +"документації; Про Python написано багато книжок, і ми не хочемо скасувати їх " +"усі одним ударом." + +msgid "" +"Providing a gradual upgrade path is necessary if a feature has to be " +"changed. :pep:`5` describes the procedure followed for introducing backward-" +"incompatible changes while minimizing disruption for users." +msgstr "" +"Надання поступового шляху оновлення є необхідним, якщо функцію потрібно " +"змінити. :pep:`5` описує процедуру введення змін, несумісних із попередніми " +"версіями, мінімізуючи перешкоди для користувачів." + +msgid "Is Python a good language for beginning programmers?" +msgstr "Чи є Python хорошою мовою для програмістів-початківців?" + +msgid "Yes." +msgstr "Так." + +msgid "" +"It is still common to start students with a procedural and statically typed " +"language such as Pascal, C, or a subset of C++ or Java. Students may be " +"better served by learning Python as their first language. Python has a very " +"simple and consistent syntax and a large standard library and, most " +"importantly, using Python in a beginning programming course lets students " +"concentrate on important programming skills such as problem decomposition " +"and data type design. With Python, students can be quickly introduced to " +"basic concepts such as loops and procedures. They can probably even work " +"with user-defined objects in their very first course." +msgstr "" +"Досі прийнято починати студентів із процедурної та статично типізованої " +"мови, такої як Pascal, C або підмножини C++ чи Java. Студентам краще буде " +"вивчати Python як першу мову. Python має дуже простий і послідовний " +"синтаксис і велику стандартну бібліотеку, і, що найважливіше, використання " +"Python на початковому курсі програмування дозволяє студентам зосередитися на " +"важливих навичках програмування, таких як декомпозиція задачі та " +"проектування типів даних. За допомогою Python студенти можуть швидко " +"познайомитися з основними поняттями, такими як цикли та процедури. Ймовірно, " +"вони навіть можуть працювати з об’єктами, визначеними користувачем, у своєму " +"першому курсі." + +msgid "" +"For a student who has never programmed before, using a statically typed " +"language seems unnatural. It presents additional complexity that the " +"student must master and slows the pace of the course. The students are " +"trying to learn to think like a computer, decompose problems, design " +"consistent interfaces, and encapsulate data. While learning to use a " +"statically typed language is important in the long term, it is not " +"necessarily the best topic to address in the students' first programming " +"course." +msgstr "" +"Для студента, який ніколи раніше не програмував, використання статично " +"типізованої мови виглядає неприродним. Це створює додаткову складність, яку " +"студент повинен освоїти, і уповільнює темп курсу. Студенти намагаються " +"навчитися мислити як комп’ютер, декомпонувати проблеми, проектувати " +"послідовні інтерфейси та інкапсулювати дані. Хоча навчитися використовувати " +"статично типізовану мову є важливим у довгостроковій перспективі, це не " +"обов’язково найкраща тема для вивчення в першому курсі програмування " +"студентів." + +msgid "" +"Many other aspects of Python make it a good first language. Like Java, " +"Python has a large standard library so that students can be assigned " +"programming projects very early in the course that *do* something. " +"Assignments aren't restricted to the standard four-function calculator and " +"check balancing programs. By using the standard library, students can gain " +"the satisfaction of working on realistic applications as they learn the " +"fundamentals of programming. Using the standard library also teaches " +"students about code reuse. Third-party modules such as PyGame are also " +"helpful in extending the students' reach." +msgstr "" +"Багато інших аспектів Python роблять його хорошою першою мовою. Подібно до " +"Java, Python має велику стандартну бібліотеку, тому студентам можна " +"призначати проекти програмування на початку курсу, які *роблять* щось. " +"Завдання не обмежуються стандартним чотирифункціональним калькулятором і " +"програмами перевірки балансу. Використовуючи стандартну бібліотеку, студенти " +"можуть отримати задоволення від роботи над реалістичними програмами, " +"вивчаючи основи програмування. Використання стандартної бібліотеки також " +"навчає студентів повторному використанню коду. Сторонні модулі, такі як " +"PyGame, також допомагають розширити охоплення студентів." + +msgid "" +"Python's interactive interpreter enables students to test language features " +"while they're programming. They can keep a window with the interpreter " +"running while they enter their program's source in another window. If they " +"can't remember the methods for a list, they can do something like this::" +msgstr "" +"Інтерактивний інтерпретатор Python дозволяє студентам тестувати функції мови " +"під час програмування. Вони можуть тримати вікно з запущеним " +"інтерпретатором, поки вони вводять код своєї програми в інше вікно. Якщо " +"вони не можуть згадати методи для списку, вони можуть зробити щось подібне:" + +msgid "" +"With the interpreter, documentation is never far from the student as they " +"are programming." +msgstr "" +"З інтерпретатором документація завжди є доступною для студента, оскільки він " +"програмує." + +msgid "" +"There are also good IDEs for Python. IDLE is a cross-platform IDE for " +"Python that is written in Python using Tkinter. Emacs users will be happy to " +"know that there is a very good Python mode for Emacs. All of these " +"programming environments provide syntax highlighting, auto-indenting, and " +"access to the interactive interpreter while coding. Consult `the Python " +"wiki `_ for a full list of " +"Python editing environments." +msgstr "" + +msgid "" +"If you want to discuss Python's use in education, you may be interested in " +"joining `the edu-sig mailing list `_." +msgstr "" +"Якщо ви хочете обговорити використання Python в освіті, вам може бути цікаво " +"приєднатися до `списку розсилки edu-sig `_." diff --git a/faq/gui.po b/faq/gui.po new file mode 100644 index 000000000..c9f557b68 --- /dev/null +++ b/faq/gui.po @@ -0,0 +1,148 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Vadim Kashirny, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Vadim Kashirny, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Graphic User Interface FAQ" +msgstr "Поширені запитання про графічний інтерфейс користувача" + +msgid "Contents" +msgstr "Зміст" + +msgid "General GUI Questions" +msgstr "Загальні запитання графічного інтерфейсу" + +msgid "What GUI toolkits exist for Python?" +msgstr "Які інструменти GUI існують для Python?" + +msgid "" +"Standard builds of Python include an object-oriented interface to the Tcl/Tk " +"widget set, called :ref:`tkinter `. This is probably the easiest " +"to install (since it comes included with most `binary distributions `_ of Python) and use. For more info about Tk, " +"including pointers to the source, see the `Tcl/Tk home page `_. Tcl/Tk is fully portable to the macOS, Windows, and Unix platforms." +msgstr "" +"Стандартні збірки Python містять об’єктно-орієнтований інтерфейс до набору " +"віджетів Tcl/Tk під назвою :ref:`tkinter `. Це, мабуть, " +"найпростіший для встановлення (оскільки він входить до складу більшості " +"`бінарних дистрибутивів `_ Python) і " +"використання. Для отримання додаткової інформації про Tk, включаючи " +"покажчики на джерело, перегляньте `домашню сторінку Tcl/Tk `_. Tcl/Tk повністю переноситься на платформи macOS, Windows і Unix." + +msgid "" +"Depending on what platform(s) you are aiming at, there are also several " +"alternatives. A `list of cross-platform `_ and `platform-specific `_ GUI " +"frameworks can be found on the python wiki." +msgstr "" +"Залежно від того, на яку платформу(и) ви орієнтуєтеся, є також кілька " +"альтернатив. `Список кросплатформних `_ і `специфічних для платформи " +"`_ " +"фреймворків графічного інтерфейсу можна знайти на python wiki." + +msgid "Tkinter questions" +msgstr "Питання по Tkinter" + +msgid "How do I freeze Tkinter applications?" +msgstr "Як заморозити програми Tkinter?" + +msgid "" +"Freeze is a tool to create stand-alone applications. When freezing Tkinter " +"applications, the applications will not be truly stand-alone, as the " +"application will still need the Tcl and Tk libraries." +msgstr "" +"Freeze — це інструмент для створення автономних програм. Під час " +"заморожування програм Tkinter програми не будуть справді автономними, " +"оскільки програмі все одно знадобляться бібліотеки Tcl і Tk." + +msgid "" +"One solution is to ship the application with the Tcl and Tk libraries, and " +"point to them at run-time using the :envvar:`TCL_LIBRARY` and :envvar:" +"`TK_LIBRARY` environment variables." +msgstr "" +"Одне з рішень полягає в тому, щоб завантажити програму з бібліотеками Tcl і " +"Tk і вказати на них під час виконання за допомогою змінних середовища :" +"envvar:`TCL_LIBRARY` і :envvar:`TK_LIBRARY`." + +msgid "" +"To get truly stand-alone applications, the Tcl scripts that form the library " +"have to be integrated into the application as well. One tool supporting that " +"is SAM (stand-alone modules), which is part of the Tix distribution (https://" +"tix.sourceforge.net/)." +msgstr "" + +msgid "" +"Build Tix with SAM enabled, perform the appropriate call to :c:func:" +"`Tclsam_init`, etc. inside Python's :file:`Modules/tkappinit.c`, and link " +"with libtclsam and libtksam (you might include the Tix libraries as well)." +msgstr "" +"Створіть Tix із увімкненим SAM, виконайте відповідний виклик :c:func:" +"`Tclsam_init` тощо всередині :file:`Modules/tkappinit.c` Python і зв’яжіться " +"з libtclsam і libtksam (ви також можете включити бібліотеки Tix )." + +msgid "Can I have Tk events handled while waiting for I/O?" +msgstr "Чи можу я обробляти події Tk під час очікування введення-виведення?" + +msgid "" +"On platforms other than Windows, yes, and you don't even need threads! But " +"you'll have to restructure your I/O code a bit. Tk has the equivalent of " +"Xt's :c:func:`XtAddInput()` call, which allows you to register a callback " +"function which will be called from the Tk mainloop when I/O is possible on a " +"file descriptor. See :ref:`tkinter-file-handlers`." +msgstr "" +"На платформах, відмінних від Windows, так, і вам навіть не потрібні потоки! " +"Але вам доведеться дещо змінити структуру коду введення-виведення. Tk має " +"еквівалент виклику Xt :c:func:`XtAddInput()`, який дозволяє вам " +"зареєструвати функцію зворотного виклику, яка буде викликана з основного " +"циклу Tk, коли введення/виведення можливе для дескриптора файлу. Див. :ref:" +"`tkinter-file-handlers`." + +msgid "I can't get key bindings to work in Tkinter: why?" +msgstr "Я не можу змусити прив’язки клавіш працювати в Tkinter: чому?" + +msgid "" +"An often-heard complaint is that event handlers bound to events with the :" +"meth:`bind` method don't get handled even when the appropriate key is " +"pressed." +msgstr "" +"Часто можна почути скаргу на те, що обробники подій, пов’язані з подіями за " +"допомогою методу :meth:`bind`, не обробляються навіть після натискання " +"відповідної клавіші." + +msgid "" +"The most common cause is that the widget to which the binding applies " +"doesn't have \"keyboard focus\". Check out the Tk documentation for the " +"focus command. Usually a widget is given the keyboard focus by clicking in " +"it (but not for labels; see the takefocus option)." +msgstr "" +"Найпоширенішою причиною є те, що віджет, до якого застосовується прив’язка, " +"не має \"фокусу клавіатури\". Перегляньте документацію Tk для команди focus. " +"Зазвичай віджет отримує фокус клавіатури, клацнувши його (але не для міток; " +"див. опцію takefocus)." diff --git a/faq/index.po b/faq/index.po new file mode 100644 index 000000000..302dd8670 --- /dev/null +++ b/faq/index.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python Frequently Asked Questions" +msgstr "Часті запитання щодо Python" diff --git a/faq/installed.po b/faq/installed.po new file mode 100644 index 000000000..6d965be8a --- /dev/null +++ b/faq/installed.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Vadim Kashirny, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Vadim Kashirny, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "\"Why is Python Installed on my Computer?\" FAQ" +msgstr "\"Чому на моєму комп’ютері встановлено Python?\" FAQ" + +msgid "What is Python?" +msgstr "Що таке Python?" + +msgid "" +"Python is a programming language. It's used for many different " +"applications. It's used in some high schools and colleges as an introductory " +"programming language because Python is easy to learn, but it's also used by " +"professional software developers at places such as Google, NASA, and " +"Lucasfilm Ltd." +msgstr "" +"Python — мова програмування. Він використовується для багатьох різних " +"застосувань. Його вивчають у деяких середніх школах і коледжах як першу мову " +"програмування, оскільки Python легко вивчити, але його також використовують " +"професійні розробники програмного забезпечення в таких організаціях, як " +"Google, NASA та Lucasfilm Ltd." + +msgid "" +"If you wish to learn more about Python, start with the `Beginner's Guide to " +"Python `_." +msgstr "" +"Якщо ви хочете дізнатися більше про Python, почніть із `Посібника для " +"початківців з Python `_." + +msgid "Why is Python installed on my machine?" +msgstr "Чому на моїй машині встановлено Python?" + +msgid "" +"If you find Python installed on your system but don't remember installing " +"it, there are several possible ways it could have gotten there." +msgstr "" +"Якщо у вашій системі встановлено Python, але ви не пам’ятаєте, що " +"встановлювали його, існує кілька можливих шляхів, якими він міг туди " +"потрапити." + +msgid "" +"Perhaps another user on the computer wanted to learn programming and " +"installed it; you'll have to figure out who's been using the machine and " +"might have installed it." +msgstr "" +"Можливо, інший користувач комп'ютера хотів навчитися програмуванню і " +"встановив його; вам доведеться з’ясувати, хто використовував машину і, " +"можливо, її встановив." + +msgid "" +"A third-party application installed on the machine might have been written " +"in Python and included a Python installation. There are many such " +"applications, from GUI programs to network servers and administrative " +"scripts." +msgstr "" +"Програма стороннього виробника, встановлена на машині, могла бути написана " +"на Python і включала інсталяцію Python. Існує багато таких програм, це і " +"програми з графічним користувацьким инерфейсом і мережеві сервери і " +"адміністративні сценарії." + +msgid "" +"Some Windows machines also have Python installed. At this writing we're " +"aware of computers from Hewlett-Packard and Compaq that include Python. " +"Apparently some of HP/Compaq's administrative tools are written in Python." +msgstr "" +"На деяких машинах Windows також встановлено Python. На момент написання цієї " +"статті ми знаємо про комп’ютери Hewlett-Packard і Compaq, які включають " +"Python. Очевидно, деякі інструменти адміністрування HP/Compaq написані на " +"Python." + +msgid "" +"Many Unix-compatible operating systems, such as macOS and some Linux " +"distributions, have Python installed by default; it's included in the base " +"installation." +msgstr "" +"У багатьох Unix-сумісних операційних системах, таких як macOS і деякі " +"дистрибутиви Linux, стандартно встановлено Python; він включений в базову " +"установку." + +msgid "Can I delete Python?" +msgstr "Чи можу я видалити Python?" + +msgid "That depends on where Python came from." +msgstr "Це залежить від того, звідки взявся Python." + +msgid "" +"If someone installed it deliberately, you can remove it without hurting " +"anything. On Windows, use the Add/Remove Programs icon in the Control Panel." +msgstr "" +"Якщо хтось встановив його додатково, ви можете видалити його, нічого не " +"пошкодивши. У Windows використовуйте піктограму \"Установка/видалення програм" +"\" на панелі керування." + +msgid "" +"If Python was installed by a third-party application, you can also remove " +"it, but that application will no longer work. You should use that " +"application's uninstaller rather than removing Python directly." +msgstr "" +"Якщо Python було встановлено в комплекті разом з іншою програмою, ви також " +"можете видалити його, але така програма більше не працюватиме. Вам слід " +"використовувати програму видалення цієї програми, а не видаляти Python " +"безпосередньо." + +msgid "" +"If Python came with your operating system, removing it is not recommended. " +"If you remove it, whatever tools were written in Python will no longer run, " +"and some of them might be important to you. Reinstalling the whole system " +"would then be required to fix things again." +msgstr "" +"Якщо Python поставляється разом із вашою операційною системою, видаляти його " +"не рекомендується. Якщо ви видалите його, усі інструменти, написані на " +"Python, більше не працюватимуть, а деякі з них можуть бути для вас " +"важливими. Щоб виправити ситуацію, знадобиться перевстановити всю систему." diff --git a/faq/library.po b/faq/library.po new file mode 100644 index 000000000..506137512 --- /dev/null +++ b/faq/library.po @@ -0,0 +1,994 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Library and Extension FAQ" +msgstr "Поширені запитання про бібліотеку та розширення" + +msgid "Contents" +msgstr "Зміст" + +msgid "General Library Questions" +msgstr "Загальні бібліотечні питання" + +msgid "How do I find a module or application to perform task X?" +msgstr "Як знайти модуль або програму для виконання завдання X?" + +msgid "" +"Check :ref:`the Library Reference ` to see if there's a " +"relevant standard library module. (Eventually you'll learn what's in the " +"standard library and will be able to skip this step.)" +msgstr "" +"Перевірте :ref:`довідник бібліотеки `, щоб побачити, чи є " +"відповідний модуль стандартної бібліотеки. (Згодом ви дізнаєтеся, що " +"міститься в стандартній бібліотеці, і зможете пропустити цей крок.)" + +msgid "" +"For third-party packages, search the `Python Package Index `_ or try `Google `_ or another web search " +"engine. Searching for \"Python\" plus a keyword or two for your topic of " +"interest will usually find something helpful." +msgstr "" +"Пакунки сторонніх розробників шукайте в `Python Package Index `_ або спробуйте `Google `_ або іншу веб-" +"пошукову систему. Якщо шукати \"Python\" і кілька ключових слів для теми, " +"яка вас цікавить, зазвичай знайдете щось корисне." + +msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" +msgstr "Де знаходиться вихідний файл math.py (socket.py, regex.py тощо)?" + +msgid "" +"If you can't find a source file for a module it may be a built-in or " +"dynamically loaded module implemented in C, C++ or other compiled language. " +"In this case you may not have the source file or it may be something like :" +"file:`mathmodule.c`, somewhere in a C source directory (not on the Python " +"Path)." +msgstr "" +"Якщо ви не можете знайти вихідний файл для модуля, це може бути вбудований " +"або динамічно завантажуваний модуль, реалізований на C, C++ або іншій " +"скомпільованій мові. У цьому випадку ви можете не мати вихідного файлу або " +"це може бути щось на кшталт :file:`mathmodule.c`, десь у каталозі вихідного " +"коду C (не на шляху Python)." + +msgid "There are (at least) three kinds of modules in Python:" +msgstr "У Python є (принаймні) три типи модулів:" + +msgid "modules written in Python (.py);" +msgstr "модулі, написані мовою Python (.py);" + +msgid "" +"modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" +msgstr "" +"модулі, написані на C і динамічно завантажуються (.dll, .pyd, .so, .sl тощо);" + +msgid "" +"modules written in C and linked with the interpreter; to get a list of " +"these, type::" +msgstr "" +"модулі, написані на C і пов'язані з інтерпретатором; щоб отримати їх список, " +"введіть::" + +msgid "How do I make a Python script executable on Unix?" +msgstr "Як зробити сценарій Python виконуваним у Unix?" + +msgid "" +"You need to do two things: the script file's mode must be executable and the " +"first line must begin with ``#!`` followed by the path of the Python " +"interpreter." +msgstr "" +"Вам потрібно зробити дві речі: режим файлу сценарію має бути виконуваним, а " +"перший рядок має починатися з ``#!``, за яким слідує шлях інтерпретатора " +"Python." + +msgid "" +"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " +"755 scriptfile``." +msgstr "" +"Перший виконується шляхом виконання ``chmod +x scriptfile`` або, можливо, " +"``chmod 755 scriptfile``." + +msgid "" +"The second can be done in a number of ways. The most straightforward way is " +"to write ::" +msgstr "" +"Друге можна зробити кількома способами. Найпростіший спосіб - написати ::" + +msgid "" +"as the very first line of your file, using the pathname for where the Python " +"interpreter is installed on your platform." +msgstr "" +"як перший рядок вашого файлу, використовуючи ім’я шляху для того, де на " +"вашій платформі встановлено інтерпретатор Python." + +msgid "" +"If you would like the script to be independent of where the Python " +"interpreter lives, you can use the :program:`env` program. Almost all Unix " +"variants support the following, assuming the Python interpreter is in a " +"directory on the user's :envvar:`PATH`::" +msgstr "" +"Якщо ви бажаєте, щоб сценарій не залежав від місця розташування " +"інтерпретатора Python, ви можете скористатися програмою :program:`env`. " +"Майже всі варіанти Unix підтримують наступне, припускаючи, що інтерпретатор " +"Python знаходиться в каталозі користувача :envvar:`PATH`::" + +msgid "" +"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI " +"scripts is often very minimal, so you need to use the actual absolute " +"pathname of the interpreter." +msgstr "" +"*Не* робіть цього для сценаріїв CGI. Змінна :envvar:`PATH` для сценаріїв CGI " +"часто дуже мінімальна, тому вам потрібно використовувати фактичний " +"абсолютний шлях інтерпретатора." + +msgid "" +"Occasionally, a user's environment is so full that the :program:`/usr/bin/" +"env` program fails; or there's no env program at all. In that case, you can " +"try the following hack (due to Alex Rezinsky):" +msgstr "" +"Іноді середовище користувача настільки переповнене, що програма :program:`/" +"usr/bin/env` дає збій; або взагалі немає програми env. У такому випадку ви " +"можете спробувати наступний хак (завдяки Alex Rezinsky):" + +msgid "" +"The minor disadvantage is that this defines the script's __doc__ string. " +"However, you can fix that by adding ::" +msgstr "" +"Незначним недоліком є те, що це визначає рядок __doc__ сценарію. Однак ви " +"можете виправити це, додавши ::" + +msgid "Is there a curses/termcap package for Python?" +msgstr "Чи є пакет curses/termcap для Python?" + +msgid "" +"For Unix variants: The standard Python source distribution comes with a " +"curses module in the :source:`Modules` subdirectory, though it's not " +"compiled by default. (Note that this is not available in the Windows " +"distribution -- there is no curses module for Windows.)" +msgstr "" +"Для варіантів Unix: Стандартний дистрибутив вихідного коду Python " +"постачається з модулем curses у підкаталозі :source:`Modules`, хоча він не " +"скомпільований за замовчуванням. (Зауважте, що це недоступно в дистрибутиві " +"Windows — для Windows немає модуля curses.)" + +msgid "" +"The :mod:`curses` module supports basic curses features as well as many " +"additional functions from ncurses and SYSV curses such as colour, " +"alternative character set support, pads, and mouse support. This means the " +"module isn't compatible with operating systems that only have BSD curses, " +"but there don't seem to be any currently maintained OSes that fall into this " +"category." +msgstr "" +"Модуль :mod:`curses` підтримує базові функції curses, а також багато " +"додаткових функцій від ncurses і curses SYSV, таких як підтримка кольору, " +"альтернативного набору символів, панелей і підтримки миші. Це означає, що " +"модуль не сумісний з операційними системами, які мають лише прокляття BSD, " +"але, здається, на даний момент не існує операційних систем, які підпадають " +"під цю категорію." + +msgid "Is there an equivalent to C's onexit() in Python?" +msgstr "Чи є еквівалент onexit() C у Python?" + +msgid "" +"The :mod:`atexit` module provides a register function that is similar to " +"C's :c:func:`onexit`." +msgstr "" +"Модуль :mod:`atexit` надає функцію реєстру, подібну до :c:func:`onexit` C." + +msgid "Why don't my signal handlers work?" +msgstr "Чому мої обробники сигналів не працюють?" + +msgid "" +"The most common problem is that the signal handler is declared with the " +"wrong argument list. It is called as ::" +msgstr "" +"Найбільш поширеною проблемою є те, що обробник сигналу оголошено з " +"неправильним списком аргументів. Називається як ::" + +msgid "so it should be declared with two parameters::" +msgstr "тому його слід оголосити з двома параметрами::" + +msgid "Common tasks" +msgstr "Загальні завдання" + +msgid "How do I test a Python program or component?" +msgstr "Як перевірити програму або компонент Python?" + +msgid "" +"Python comes with two testing frameworks. The :mod:`doctest` module finds " +"examples in the docstrings for a module and runs them, comparing the output " +"with the expected output given in the docstring." +msgstr "" +"Python постачається з двома платформами тестування. Модуль :mod:`doctest` " +"знаходить приклади в рядках документів для модуля та запускає їх, порівнюючи " +"вихідні дані з очікуваними результатами, указаними в рядках документів." + +msgid "" +"The :mod:`unittest` module is a fancier testing framework modelled on Java " +"and Smalltalk testing frameworks." +msgstr "" +"Модуль :mod:`unittest` — це модніша платформа для тестування, змодельована " +"на платформах тестування Java і Smalltalk." + +msgid "" +"To make testing easier, you should use good modular design in your program. " +"Your program should have almost all functionality encapsulated in either " +"functions or class methods -- and this sometimes has the surprising and " +"delightful effect of making the program run faster (because local variable " +"accesses are faster than global accesses). Furthermore the program should " +"avoid depending on mutating global variables, since this makes testing much " +"more difficult to do." +msgstr "" +"Щоб спростити тестування, вам слід використовувати хороший модульний дизайн " +"у вашій програмі. Ваша програма повинна мати майже всю функціональність, " +"інкапсульовану або у функції, або в методи класу - і це іноді має дивовижний " +"і чудовий ефект, прискорюючи роботу програми (оскільки доступ до локальних " +"змінних є швидшим, ніж доступ до глобальних). Крім того, програмі слід " +"уникати залежності від мутації глобальних змінних, оскільки це значно " +"ускладнює виконання тестування." + +msgid "The \"global main logic\" of your program may be as simple as ::" +msgstr "" +"\"Глобальна основна логіка\" вашої програми може бути такою ж простою, як:" + +msgid "at the bottom of the main module of your program." +msgstr "у нижній частині головного модуля вашої програми." + +msgid "" +"Once your program is organized as a tractable collection of function and " +"class behaviours, you should write test functions that exercise the " +"behaviours. A test suite that automates a sequence of tests can be " +"associated with each module. This sounds like a lot of work, but since " +"Python is so terse and flexible it's surprisingly easy. You can make coding " +"much more pleasant and fun by writing your test functions in parallel with " +"the \"production code\", since this makes it easy to find bugs and even " +"design flaws earlier." +msgstr "" +"Після того, як ваша програма організована як придатна для читання колекція " +"поведінки функцій і класів, ви повинні написати тестові функції, які " +"реалізують поведінку. З кожним модулем можна пов’язати набір тестів, який " +"автоматизує послідовність тестів. Це звучить як велика робота, але оскільки " +"Python такий стислий і гнучкий, це напрочуд легко. Ви можете зробити " +"кодування набагато приємнішим і веселішим, написавши тестові функції " +"паралельно з \"виробничим кодом\", оскільки це полегшить пошук помилок і " +"навіть недоліків дизайну раніше." + +msgid "" +"\"Support modules\" that are not intended to be the main module of a program " +"may include a self-test of the module. ::" +msgstr "" +"\"Модулі підтримки\", які не призначені бути основними модулями програми, " +"можуть включати самотестування модуля. ::" + +msgid "" +"Even programs that interact with complex external interfaces may be tested " +"when the external interfaces are unavailable by using \"fake\" interfaces " +"implemented in Python." +msgstr "" +"Навіть програми, які взаємодіють зі складними зовнішніми інтерфейсами, можна " +"перевіряти, коли зовнішні інтерфейси недоступні, використовуючи \"фальшиві\" " +"інтерфейси, реалізовані на Python." + +msgid "How do I create documentation from doc strings?" +msgstr "Як створити документацію з рядків документа?" + +msgid "" +"The :mod:`pydoc` module can create HTML from the doc strings in your Python " +"source code. An alternative for creating API documentation purely from " +"docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." +msgstr "" + +msgid "How do I get a single keypress at a time?" +msgstr "Як отримати одне натискання клавіші за раз?" + +msgid "" +"For Unix variants there are several solutions. It's straightforward to do " +"this using curses, but curses is a fairly large module to learn." +msgstr "" +"Для варіантів Unix є кілька рішень. Це легко зробити за допомогою curses, " +"але curses — це досить великий модуль для вивчення." + +msgid "Threads" +msgstr "Нитки" + +msgid "How do I program using threads?" +msgstr "Як програмувати за допомогою потоків?" + +msgid "" +"Be sure to use the :mod:`threading` module and not the :mod:`_thread` " +"module. The :mod:`threading` module builds convenient abstractions on top of " +"the low-level primitives provided by the :mod:`_thread` module." +msgstr "" +"Обов’язково використовуйте модуль :mod:`threading`, а не модуль :mod:" +"`_thread`. Модуль :mod:`threading` створює зручні абстракції на основі " +"низькорівневих примітивів, які надає модуль :mod:`_thread`." + +msgid "None of my threads seem to run: why?" +msgstr "Здається, жодна з моїх тем не працює: чому?" + +msgid "" +"As soon as the main thread exits, all threads are killed. Your main thread " +"is running too quickly, giving the threads no time to do any work." +msgstr "" +"Як тільки головний потік виходить, усі потоки припиняються. Ваш основний " +"потік працює надто швидко, не даючи потокам часу виконувати будь-яку роботу." + +msgid "" +"A simple fix is to add a sleep to the end of the program that's long enough " +"for all the threads to finish::" +msgstr "" +"Простим виправленням є додавання сну до кінця програми, який буде достатнім " +"для завершення всіх потоків:" + +msgid "" +"But now (on many platforms) the threads don't run in parallel, but appear to " +"run sequentially, one at a time! The reason is that the OS thread scheduler " +"doesn't start a new thread until the previous thread is blocked." +msgstr "" +"Але тепер (на багатьох платформах) потоки не працюють паралельно, а, " +"здається, виконуються послідовно, один за одним! Причина полягає в тому, що " +"планувальник потоків ОС не запускає новий потік, доки попередній потік не " +"буде заблоковано." + +msgid "A simple fix is to add a tiny sleep to the start of the run function::" +msgstr "" +"Просте виправлення полягає в тому, щоб додати крихітний сон до початку " +"функції запуску:" + +msgid "" +"Instead of trying to guess a good delay value for :func:`time.sleep`, it's " +"better to use some kind of semaphore mechanism. One idea is to use the :mod:" +"`queue` module to create a queue object, let each thread append a token to " +"the queue when it finishes, and let the main thread read as many tokens from " +"the queue as there are threads." +msgstr "" +"Замість того, щоб намагатися вгадати хороше значення затримки для :func:" +"`time.sleep`, краще використати якийсь семафорний механізм. Одна з ідей " +"полягає в тому, щоб використовувати модуль :mod:`queue` для створення " +"об’єкта черги, дозволити кожному потоку додавати маркер до черги, коли він " +"закінчиться, і дозволити основному потоку читати стільки маркерів із черги, " +"скільки є потоків." + +msgid "How do I parcel out work among a bunch of worker threads?" +msgstr "Як розділити роботу серед групи робочих потоків?" + +msgid "" +"The easiest way is to use the :mod:`concurrent.futures` module, especially " +"the :mod:`~concurrent.futures.ThreadPoolExecutor` class." +msgstr "" +"Найпростішим способом є використання модуля :mod:`concurrent.futures`, " +"особливо класу :mod:`~concurrent.futures.ThreadPoolExecutor`." + +msgid "" +"Or, if you want fine control over the dispatching algorithm, you can write " +"your own logic manually. Use the :mod:`queue` module to create a queue " +"containing a list of jobs. The :class:`~queue.Queue` class maintains a list " +"of objects and has a ``.put(obj)`` method that adds items to the queue and a " +"``.get()`` method to return them. The class will take care of the locking " +"necessary to ensure that each job is handed out exactly once." +msgstr "" +"Або, якщо вам потрібен точний контроль над алгоритмом диспетчеризації, ви " +"можете написати власну логіку вручну. Використовуйте модуль :mod:`queue`, " +"щоб створити чергу зі списком завдань. Клас :class:`~queue.Queue` підтримує " +"список об’єктів і має метод ``.put(obj)``, який додає елементи до черги, і " +"метод ``.get()`` для їх повернення. Клас подбає про блокування, необхідне " +"для того, щоб кожне завдання було роздано рівно один раз." + +msgid "Here's a trivial example::" +msgstr "Ось тривіальний приклад::" + +msgid "When run, this will produce the following output:" +msgstr "Під час запуску це створить такий результат:" + +msgid "" +"Consult the module's documentation for more details; the :class:`~queue." +"Queue` class provides a featureful interface." +msgstr "" +"Щоб дізнатися більше, зверніться до документації модуля; клас :class:`~queue." +"Queue` забезпечує зручний інтерфейс." + +msgid "What kinds of global value mutation are thread-safe?" +msgstr "Які види глобальної мутації значення є потокобезпечними?" + +msgid "" +"A :term:`global interpreter lock` (GIL) is used internally to ensure that " +"only one thread runs in the Python VM at a time. In general, Python offers " +"to switch among threads only between bytecode instructions; how frequently " +"it switches can be set via :func:`sys.setswitchinterval`. Each bytecode " +"instruction and therefore all the C implementation code reached from each " +"instruction is therefore atomic from the point of view of a Python program." +msgstr "" +":term:`global interpreter lock` (GIL) використовується внутрішньо, щоб " +"забезпечити виконання лише одного потоку у віртуальній машині Python " +"одночасно. Загалом, Python пропонує перемикатися між потоками лише між " +"інструкціями байт-коду; як часто він перемикається, можна встановити через :" +"func:`sys.setswitchinterval`. Кожна інструкція байт-коду і, отже, весь код " +"реалізації C, отриманий від кожної інструкції, є атомарними з точки зору " +"програми Python." + +msgid "" +"In theory, this means an exact accounting requires an exact understanding of " +"the PVM bytecode implementation. In practice, it means that operations on " +"shared variables of built-in data types (ints, lists, dicts, etc) that " +"\"look atomic\" really are." +msgstr "" +"Теоретично це означає, що точний облік вимагає точного розуміння реалізації " +"байт-коду PVM. На практиці це означає, що операції зі спільними змінними " +"вбудованих типів даних (int, списки, dicts тощо), які \"виглядають атомарними" +"\", дійсно є такими." + +msgid "" +"For example, the following operations are all atomic (L, L1, L2 are lists, " +"D, D1, D2 are dicts, x, y are objects, i, j are ints)::" +msgstr "" +"Наприклад, усі наступні операції є атомарними (L, L1, L2 — списки, D, D1, D2 " +"— dicts, x, y — об’єкти, i, j — цілі):" + +msgid "These aren't::" +msgstr "Це не::" + +msgid "" +"Operations that replace other objects may invoke those other objects' :meth:" +"`__del__` method when their reference count reaches zero, and that can " +"affect things. This is especially true for the mass updates to dictionaries " +"and lists. When in doubt, use a mutex!" +msgstr "" +"Операції, які замінюють інші об’єкти, можуть викликати метод :meth:`__del__` " +"цих інших об’єктів, коли кількість посилань досягає нуля, і це може вплинути " +"на речі. Особливо це стосується масових оновлень словників і списків. Якщо " +"сумніваєтеся, використовуйте м'ютекс!" + +msgid "Can't we get rid of the Global Interpreter Lock?" +msgstr "Чи не можемо ми позбутися глобального блокування інтерпретатора?" + +msgid "" +"The :term:`global interpreter lock` (GIL) is often seen as a hindrance to " +"Python's deployment on high-end multiprocessor server machines, because a " +"multi-threaded Python program effectively only uses one CPU, due to the " +"insistence that (almost) all Python code can only run while the GIL is held." +msgstr "" +":term:`global interpreter lock` (GIL) часто розглядається як перешкода для " +"розгортання Python на високоякісних багатопроцесорних серверах, оскільки " +"багатопотокова програма Python фактично використовує лише один ЦП, через те, " +"що (майже) весь код Python може виконуватися лише під час утримання GIL." + +msgid "" +"Back in the days of Python 1.5, Greg Stein actually implemented a " +"comprehensive patch set (the \"free threading\" patches) that removed the " +"GIL and replaced it with fine-grained locking. Adam Olsen recently did a " +"similar experiment in his `python-safethread `_ project. Unfortunately, both experiments " +"exhibited a sharp drop in single-thread performance (at least 30% slower), " +"due to the amount of fine-grained locking necessary to compensate for the " +"removal of the GIL." +msgstr "" +"Ще за часів Python 1.5 Грег Стайн фактично реалізував повний набір патчів " +"(патчів \"безкоштовних потоків\"), які видалили GIL і замінили його дрібним " +"блокуванням. Адам Олсен нещодавно провів подібний експеримент у своєму " +"проекті `python-safethread `_. На жаль, обидва експерименти продемонстрували різке зниження " +"продуктивності одного потоку (принаймні на 30% повільніше) через кількість " +"дрібнозернистого блокування, необхідного для компенсації видалення GIL." + +msgid "" +"This doesn't mean that you can't make good use of Python on multi-CPU " +"machines! You just have to be creative with dividing the work up between " +"multiple *processes* rather than multiple *threads*. The :class:" +"`~concurrent.futures.ProcessPoolExecutor` class in the new :mod:`concurrent." +"futures` module provides an easy way of doing so; the :mod:`multiprocessing` " +"module provides a lower-level API in case you want more control over " +"dispatching of tasks." +msgstr "" +"Це не означає, що ви не можете ефективно використовувати Python на " +"багатопроцесорних машинах! Вам просто потрібно бути творчим, розподіляючи " +"роботу між кількома *процесами*, а не кількома *потоками*. Клас :class:" +"`~concurrent.futures.ProcessPoolExecutor` у новому модулі :mod:`concurrent." +"futures` забезпечує простий спосіб зробити це; Модуль :mod:`multiprocessing` " +"надає API нижчого рівня, якщо вам потрібен більший контроль над " +"диспетчеризацією завдань." + +msgid "" +"Judicious use of C extensions will also help; if you use a C extension to " +"perform a time-consuming task, the extension can release the GIL while the " +"thread of execution is in the C code and allow other threads to get some " +"work done. Some standard library modules such as :mod:`zlib` and :mod:" +"`hashlib` already do this." +msgstr "" +"Розумне використання розширень C також допоможе; якщо ви використовуєте " +"розширення C для виконання трудомісткого завдання, розширення може звільнити " +"GIL, поки потік виконання знаходиться в коді C, і дозволить іншим потокам " +"виконати певну роботу. Деякі стандартні бібліотечні модулі, такі як :mod:" +"`zlib` і :mod:`hashlib`, вже це роблять." + +msgid "" +"It has been suggested that the GIL should be a per-interpreter-state lock " +"rather than truly global; interpreters then wouldn't be able to share " +"objects. Unfortunately, this isn't likely to happen either. It would be a " +"tremendous amount of work, because many object implementations currently " +"have global state. For example, small integers and short strings are cached; " +"these caches would have to be moved to the interpreter state. Other object " +"types have their own free list; these free lists would have to be moved to " +"the interpreter state. And so on." +msgstr "" +"Було запропоновано, щоб GIL був блокуванням стану для кожного " +"інтерпретатора, а не справді глобальним; інтерпретатори тоді не зможуть " +"ділитися об’єктами. На жаль, це теж навряд чи станеться. Це було б " +"величезним обсягом роботи, оскільки багато реалізацій об’єктів зараз мають " +"глобальний стан. Наприклад, малі цілі числа та короткі рядки кешуються; ці " +"кеші потрібно було б перемістити в стан інтерпретатора. Інші типи об'єктів " +"мають власний вільний список; ці вільні списки потрібно було б перемістити в " +"стан інтерпретатора. І так далі." + +msgid "" +"And I doubt that it can even be done in finite time, because the same " +"problem exists for 3rd party extensions. It is likely that 3rd party " +"extensions are being written at a faster rate than you can convert them to " +"store all their global state in the interpreter state." +msgstr "" +"І я сумніваюся, що це навіть можна зробити за скінченний час, тому що та " +"сама проблема існує для сторонніх розширень. Цілком ймовірно, що розширення " +"сторонніх розробників пишуться швидше, ніж ви можете перетворити їх, щоб " +"зберігати весь їхній глобальний стан у стані інтерпретатора." + +msgid "" +"And finally, once you have multiple interpreters not sharing any state, what " +"have you gained over running each interpreter in a separate process?" +msgstr "" +"І, нарешті, коли у вас є кілька інтерпретаторів, які не мають спільного " +"стану, що ви отримуєте від запуску кожного інтерпретатора в окремому процесі?" + +msgid "Input and Output" +msgstr "Вхід і вихід" + +msgid "How do I delete a file? (And other file questions...)" +msgstr "Як видалити файл? (І інші запитання щодо файлів...)" + +msgid "" +"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, " +"see the :mod:`os` module. The two functions are identical; :func:`~os." +"unlink` is simply the name of the Unix system call for this function." +msgstr "" +"Використовуйте ``os.remove(ім’я файлу)`` або ``os.unlink(ім’я файлу)``; для " +"документації дивіться модуль :mod:`os`. Дві функції ідентичні; :func:`~os." +"unlink` — це просто назва системного виклику Unix для цієї функції." + +msgid "" +"To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create " +"one. ``os.makedirs(path)`` will create any intermediate directories in " +"``path`` that don't exist. ``os.removedirs(path)`` will remove intermediate " +"directories as long as they're empty; if you want to delete an entire " +"directory tree and its contents, use :func:`shutil.rmtree`." +msgstr "" +"Щоб видалити каталог, використовуйте :func:`os.rmdir`; використовуйте :func:" +"`os.mkdir`, щоб створити його. ``os.makedirs(path)`` створить будь-які " +"проміжні каталоги в ``path``, яких не існує. ``os.removedirs(path)`` " +"видалить проміжні каталоги, якщо вони порожні; якщо ви хочете видалити ціле " +"дерево каталогів і його вміст, використовуйте :func:`shutil.rmtree`." + +msgid "To rename a file, use ``os.rename(old_path, new_path)``." +msgstr "" +"Щоб перейменувати файл, використовуйте ``os.rename(old_path, new_path)``." + +msgid "" +"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use " +"``f.truncate(offset)``; offset defaults to the current seek position. " +"There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." +"open`, where *fd* is the file descriptor (a small integer)." +msgstr "" +"Щоб скоротити файл, відкрийте його за допомогою ``f = open(filename, \"rb+" +"\")`` і використовуйте ``f.truncate(offset)``; offset за замовчуванням до " +"поточної позиції пошуку. Існує також ``os.ftruncate(fd, offset)`` для " +"файлів, відкритих за допомогою :func:`os.open`, де *fd* є дескриптором файлу " +"(мале ціле число)." + +msgid "" +"The :mod:`shutil` module also contains a number of functions to work on " +"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" +"func:`~shutil.rmtree`." +msgstr "" +"Модуль :mod:`shutil` також містить ряд функцій для роботи з файлами, " +"включаючи :func:`~shutil.copyfile`, :func:`~shutil.copytree` і :func:" +"`~shutil.rmtree`." + +msgid "How do I copy a file?" +msgstr "Як скопіювати файл?" + +msgid "" +"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " +"that on Windows NTFS volumes, it does not copy `alternate data streams " +"`_ nor " +"`resource forks `__ on macOS HFS" +"+ volumes, though both are now rarely used. It also doesn't copy file " +"permissions and metadata, though using :func:`shutil.copy2` instead will " +"preserve most (though not all) of it." +msgstr "" +"Модуль :mod:`shutil` містить функцію :func:`~shutil.copyfile`. Зауважте, що " +"на томах Windows NTFS він не копіює `альтернативні потоки даних `_ і `розгалуження " +"ресурсів `__ на томах macOS HFS" +"+, хоча обидва зараз використовуються рідко. Він також не копіює дозволи на " +"файли та метадані, хоча використання натомість :func:`shutil.copy2` збереже " +"більшість (хоча не всі) з них." + +msgid "How do I read (or write) binary data?" +msgstr "Як читати (або записувати) двійкові дані?" + +msgid "" +"To read or write complex binary data formats, it's best to use the :mod:" +"`struct` module. It allows you to take a string containing binary data " +"(usually numbers) and convert it to Python objects; and vice versa." +msgstr "" +"Для читання або запису складних двійкових форматів даних найкраще " +"використовувати модуль :mod:`struct`. Це дозволяє вам взяти рядок, що " +"містить двійкові дані (зазвичай числа), і перетворити його на об’єкти " +"Python; і навпаки." + +msgid "" +"For example, the following code reads two 2-byte integers and one 4-byte " +"integer in big-endian format from a file::" +msgstr "" +"Наприклад, наступний код читає два 2-байтових цілих числа та одне 4-байтове " +"ціле число у форматі big-endian з файлу::" + +msgid "" +"The '>' in the format string forces big-endian data; the letter 'h' reads " +"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " +"bytes) from the string." +msgstr "" +"Знак \">\" у рядку формату примусово вводить дані в бік старшого; літера 'h' " +"читає одне \"коротке ціле число\" (2 байти), а 'l' читає одне \"довге ціле " +"число\" (4 байти) з рядка." + +msgid "" +"For data that is more regular (e.g. a homogeneous list of ints or floats), " +"you can also use the :mod:`array` module." +msgstr "" +"Для даних, які є більш регулярними (наприклад, однорідний список int або " +"float), ви також можете використовувати модуль :mod:`array`." + +msgid "" +"To read and write binary data, it is mandatory to open the file in binary " +"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` " +"instead (the default), the file will be open in text mode and ``f.read()`` " +"will return :class:`str` objects rather than :class:`bytes` objects." +msgstr "" +"Щоб читати та записувати двійкові дані, необхідно відкрити файл у двійковому " +"режимі (тут передаючи ``\"rb\"`` до :func:`open`). Якщо замість цього " +"використовувати ``\"r\"`` (за замовчуванням), файл буде відкритий у " +"текстовому режимі, а ``f.read()`` повертатиме об’єкти :class:`str`, а не :" +"class:`bytes` об'єктів." + +msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" +msgstr "" +"Здається, я не можу використовувати os.read() у каналі, створеному за " +"допомогою os.popen(); чому?" + +msgid "" +":func:`os.read` is a low-level function which takes a file descriptor, a " +"small integer representing the opened file. :func:`os.popen` creates a high-" +"level file object, the same type returned by the built-in :func:`open` " +"function. Thus, to read *n* bytes from a pipe *p* created with :func:`os." +"popen`, you need to use ``p.read(n)``." +msgstr "" +":func:`os.read` — це функція низького рівня, яка приймає дескриптор файлу, " +"маленьке ціле число, що представляє відкритий файл. :func:`os.popen` створює " +"об’єкт файлу високого рівня, того самого типу, який повертає вбудована " +"функція :func:`open`. Таким чином, щоб прочитати *n* байт з каналу *p*, " +"створеного за допомогою :func:`os.popen`, вам потрібно використовувати ``p." +"read(n)``." + +msgid "How do I access the serial (RS232) port?" +msgstr "Як отримати доступ до послідовного (RS232) порту?" + +msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" +msgstr "Для Win32, OSX, Linux, BSD, Jython, IronPython:" + +msgid "https://pypi.org/project/pyserial/" +msgstr "https://pypi.org/project/pyserial/" + +msgid "For Unix, see a Usenet post by Mitch Chapman:" +msgstr "Щодо Unix, перегляньте публікацію Usenet від Мітча Чепмена:" + +msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" +msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" + +msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" +msgstr "Чому закриття sys.stdout (stdin, stderr) насправді не закриває його?" + +msgid "" +"Python :term:`file objects ` are a high-level layer of " +"abstraction on low-level C file descriptors." +msgstr "" +"Python :term:`файлові об’єкти ` є високорівневим рівнем " +"абстракції на низькорівневих файлових дескрипторах C." + +msgid "" +"For most file objects you create in Python via the built-in :func:`open` " +"function, ``f.close()`` marks the Python file object as being closed from " +"Python's point of view, and also arranges to close the underlying C file " +"descriptor. This also happens automatically in ``f``'s destructor, when " +"``f`` becomes garbage." +msgstr "" +"Для більшості файлових об’єктів, які ви створюєте в Python за допомогою " +"вбудованої функції :func:`open`, ``f.close()`` позначає файловий об’єкт " +"Python як закритий з точки зору Python, а також організовує закриття базовий " +"дескриптор файлу C. Це також відбувається автоматично в деструкторі ``f``, " +"коли ``f`` стає сміттям." + +msgid "" +"But stdin, stdout and stderr are treated specially by Python, because of the " +"special status also given to them by C. Running ``sys.stdout.close()`` " +"marks the Python-level file object as being closed, but does *not* close the " +"associated C file descriptor." +msgstr "" +"Але stdin, stdout і stderr спеціально обробляються Python через особливий " +"статус, наданий їм також C. Запуск ``sys.stdout.close()`` позначає файловий " +"об’єкт на рівні Python як закритий, але *не* закривати пов’язаний дескриптор " +"файлу C." + +msgid "" +"To close the underlying C file descriptor for one of these three, you should " +"first be sure that's what you really want to do (e.g., you may confuse " +"extension modules trying to do I/O). If it is, use :func:`os.close`::" +msgstr "" +"Щоб закрити базовий дескриптор файлу C для одного з цих трьох, ви повинні " +"спочатку переконатися, що це те, що ви дійсно хочете зробити (наприклад, ви " +"можете сплутати модулі розширення, які намагаються виконати введення-" +"виведення). Якщо так, використовуйте :func:`os.close`::" + +msgid "Or you can use the numeric constants 0, 1 and 2, respectively." +msgstr "Або ви можете використовувати числові константи 0, 1 і 2 відповідно." + +msgid "Network/Internet Programming" +msgstr "Програмування мережі/Інтернету" + +msgid "What WWW tools are there for Python?" +msgstr "Які інструменти WWW існують для Python?" + +msgid "" +"See the chapters titled :ref:`internet` and :ref:`netdata` in the Library " +"Reference Manual. Python has many modules that will help you build server-" +"side and client-side web systems." +msgstr "" +"Див. розділи під назвою :ref:`internet` і :ref:`netdata` у Довідковому " +"посібнику з бібліотеки. Python має багато модулів, які допоможуть вам " +"створювати серверні та клієнтські веб-системи." + +msgid "" +"A summary of available frameworks is maintained by Paul Boddie at https://" +"wiki.python.org/moin/WebProgramming\\ ." +msgstr "" +"Резюме доступних фреймворків підтримує Пол Бодді на https://wiki.python.org/" +"moin/WebProgramming\\ ." + +msgid "" +"Cameron Laird maintains a useful set of pages about Python web technologies " +"at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp." +"lang.python/web_python." +msgstr "" + +msgid "How can I mimic CGI form submission (METHOD=POST)?" +msgstr "Як я можу імітувати надсилання форми CGI (METHOD=POST)?" + +msgid "" +"I would like to retrieve web pages that are the result of POSTing a form. Is " +"there existing code that would let me do this easily?" +msgstr "" +"Я хотів би отримати веб-сторінки, які є результатом розміщення форми POST. " +"Чи є існуючий код, який дозволив би мені легко це зробити?" + +msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" +msgstr "Так. Ось простий приклад використання :mod:`urllib.request`::" + +msgid "" +"Note that in general for percent-encoded POST operations, query strings must " +"be quoted using :func:`urllib.parse.urlencode`. For example, to send " +"``name=Guy Steele, Jr.``::" +msgstr "" +"Зверніть увагу, що загалом для операцій POST із відсотковим кодуванням рядки " +"запиту мають бути взяті в лапки за допомогою :func:`urllib.parse.urlencode`. " +"Наприклад, щоб надіслати ``name=Guy Steele, Jr.``::" + +msgid ":ref:`urllib-howto` for extensive examples." +msgstr ":ref:`urllib-howto` для докладних прикладів." + +msgid "What module should I use to help with generating HTML?" +msgstr "Який модуль мені слід використовувати для створення HTML?" + +msgid "" +"You can find a collection of useful links on the `Web Programming wiki page " +"`_." +msgstr "" +"Ви можете знайти колекцію корисних посилань на `Вікі-сторінці веб-" +"програмування `_." + +msgid "How do I send mail from a Python script?" +msgstr "Як надіслати пошту за допомогою сценарію Python?" + +msgid "Use the standard library module :mod:`smtplib`." +msgstr "Використовуйте стандартний бібліотечний модуль :mod:`smtplib`." + +msgid "" +"Here's a very simple interactive mail sender that uses it. This method will " +"work on any host that supports an SMTP listener. ::" +msgstr "" +"Ось дуже простий інтерактивний відправник пошти, який його використовує. Цей " +"метод працюватиме на будь-якому хості, який підтримує прослуховувач SMTP. ::" + +msgid "" +"A Unix-only alternative uses sendmail. The location of the sendmail program " +"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/" +"usr/sbin/sendmail``. The sendmail manual page will help you out. Here's " +"some sample code::" +msgstr "" +"Альтернатива лише для Unix використовує sendmail. Розташування програми " +"sendmail залежить від системи; іноді це ``/usr/lib/sendmail``, іноді ``/usr/" +"sbin/sendmail``. Довідкова сторінка sendmail допоможе вам. Ось приклад коду::" + +msgid "How do I avoid blocking in the connect() method of a socket?" +msgstr "Як уникнути блокування в методі connect() сокета?" + +msgid "" +"The :mod:`select` module is commonly used to help with asynchronous I/O on " +"sockets." +msgstr "" +"Модуль :mod:`select` зазвичай використовується для допомоги з асинхронним " +"введенням/виведенням на сокетах." + +msgid "" +"To prevent the TCP connect from blocking, you can set the socket to non-" +"blocking mode. Then when you do the :meth:`socket.connect`, you will either " +"connect immediately (unlikely) or get an exception that contains the error " +"number as ``.errno``. ``errno.EINPROGRESS`` indicates that the connection is " +"in progress, but hasn't finished yet. Different OSes will return different " +"values, so you're going to have to check what's returned on your system." +msgstr "" +"Щоб запобігти блокуванню підключення TCP, ви можете встановити для сокета " +"неблокуючий режим. Тоді, коли ви виконуєте :meth:`socket.connect`, ви або " +"підключитеся негайно (навряд чи), або отримаєте виняток, який містить номер " +"помилки як ``.errno``. ``errno.EINPROGRESS`` вказує на те, що підключення " +"триває, але ще не завершено. Різні ОС повертатимуть різні значення, тому вам " +"доведеться перевірити, що повертає ваша система." + +msgid "" +"You can use the :meth:`socket.connect_ex` method to avoid creating an " +"exception. It will just return the errno value. To poll, you can call :" +"meth:`socket.connect_ex` again later -- ``0`` or ``errno.EISCONN`` indicate " +"that you're connected -- or you can pass this socket to :meth:`select." +"select` to check if it's writable." +msgstr "" +"Ви можете використовувати метод :meth:`socket.connect_ex`, щоб уникнути " +"створення винятку. Він просто поверне значення errno. Щоб провести " +"опитування, ви можете пізніше знову викликати :meth:`socket.connect_ex` -- " +"``0`` або ``errno.EISCONN`` вказують на те, що ви підключені -- або ви " +"можете передати цей сокет :meth:`select.select`, щоб перевірити, чи " +"доступний він для запису." + +msgid "" +"The :mod:`asyncio` module provides a general purpose single-threaded and " +"concurrent asynchronous library, which can be used for writing non-blocking " +"network code. The third-party `Twisted `_ " +"library is a popular and feature-rich alternative." +msgstr "" +"Модуль :mod:`asyncio` надає однопотокову та однопотокову асинхронну " +"бібліотеку загального призначення, яку можна використовувати для написання " +"неблокуючого мережевого коду. Стороння бібліотека `Twisted `_ є популярною та багатофункціональною " +"альтернативою." + +msgid "Databases" +msgstr "Бази даних" + +msgid "Are there any interfaces to database packages in Python?" +msgstr "Чи існують інтерфейси для пакетів баз даних у Python?" + +msgid "Yes." +msgstr "Так." + +msgid "" +"Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " +"` are also included with standard Python. There is also the :mod:" +"`sqlite3` module, which provides a lightweight disk-based relational " +"database." +msgstr "" +"Інтерфейси для дискових хешів, таких як :mod:`DBM ` і :mod:`GDBM " +"`, також включені в стандартний Python. Існує також модуль :mod:" +"`sqlite3`, який забезпечує полегшену дискову реляційну базу даних." + +msgid "" +"Support for most relational databases is available. See the " +"`DatabaseProgramming wiki page `_ for details." +msgstr "" +"Доступна підтримка більшості реляційних баз даних. Перегляньте " +"`DatabaseProgramming вікі-сторінку `_ для отримання додаткової інформації." + +msgid "How do you implement persistent objects in Python?" +msgstr "Як реалізувати постійні об’єкти в Python?" + +msgid "" +"The :mod:`pickle` library module solves this in a very general way (though " +"you still can't store things like open files, sockets or windows), and the :" +"mod:`shelve` library module uses pickle and (g)dbm to create persistent " +"mappings containing arbitrary Python objects." +msgstr "" +"Модуль бібліотеки :mod:`pickle` вирішує це у дуже загальний спосіб (хоча ви " +"все одно не можете зберігати такі речі, як відкриті файли, сокети чи вікна), " +"а модуль бібліотеки :mod:`shelve` використовує pickle і (g) dbm для " +"створення постійних відображень, що містять довільні об’єкти Python." + +msgid "Mathematics and Numerics" +msgstr "Математика та цифри" + +msgid "How do I generate random numbers in Python?" +msgstr "Як генерувати випадкові числа в Python?" + +msgid "" +"The standard module :mod:`random` implements a random number generator. " +"Usage is simple::" +msgstr "" +"Стандартний модуль :mod:`random` реалізує генератор випадкових чисел. " +"Використання просте::" + +msgid "This returns a random floating point number in the range [0, 1)." +msgstr "Це повертає випадкове число з плаваючою комою в діапазоні [0, 1)." + +msgid "" +"There are also many other specialized generators in this module, such as:" +msgstr "" +"У цьому модулі також є багато інших спеціалізованих генераторів, таких як:" + +msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." +msgstr "``randrange(a, b)`` вибирає ціле число в діапазоні [a, b)." + +msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." +msgstr "``uniform(a, b)`` вибирає число з плаваючою комою в діапазоні [a, b)." + +msgid "" +"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." +msgstr "" +"``normalvariate(mean, sdev)`` вибірка нормального (гауссового) розподілу." + +msgid "Some higher-level functions operate on sequences directly, such as:" +msgstr "" +"Деякі функції вищого рівня працюють безпосередньо з послідовностями, " +"наприклад:" + +msgid "``choice(S)`` chooses a random element from a given sequence." +msgstr "``choice(S)`` вибирає випадковий елемент із заданої послідовності." + +msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." +msgstr "" +"``shuffle(L)`` перемішує список на місці, тобто переставляє його випадковим " +"чином." + +msgid "" +"There's also a ``Random`` class you can instantiate to create independent " +"multiple random number generators." +msgstr "" +"Існує також клас ``Random``, який можна створити для створення незалежних " +"кількох генераторів випадкових чисел." diff --git a/faq/programming.po b/faq/programming.po new file mode 100644 index 000000000..e1493629c --- /dev/null +++ b/faq/programming.po @@ -0,0 +1,2618 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Programming FAQ" +msgstr "FAQ з програмування" + +msgid "Contents" +msgstr "Зміст" + +msgid "General Questions" +msgstr "Загальні питання" + +msgid "" +"Is there a source code level debugger with breakpoints, single-stepping, " +"etc.?" +msgstr "" +"Чи існує налагоджувач рівня вихідного коду з точками зупинки, однокроковим " +"режимом тощо?" + +msgid "Yes." +msgstr "Так." + +msgid "" +"Several debuggers for Python are described below, and the built-in function :" +"func:`breakpoint` allows you to drop into any of them." +msgstr "" +"Нижче описано кілька налагоджувачів для Python, і вбудована функція :func:" +"`breakpoint` дозволяє вам перейти до будь-якого з них." + +msgid "" +"The pdb module is a simple but adequate console-mode debugger for Python. It " +"is part of the standard Python library, and is :mod:`documented in the " +"Library Reference Manual `. You can also write your own debugger by " +"using the code for pdb as an example." +msgstr "" +"Модуль pdb — це простий, але адекватний налагоджувач у консольному режимі " +"для Python. Це частина стандартної бібліотеки Python і :mod:`задокументована " +"в Library Reference Manual `. Ви також можете написати власний " +"налагоджувач, використовуючи код для pdb як приклад." + +msgid "" +"The IDLE interactive development environment, which is part of the standard " +"Python distribution (normally available as `Tools/scripts/idle3 `_), includes a " +"graphical debugger." +msgstr "" + +msgid "" +"PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " +"PythonWin debugger colors breakpoints and has quite a few cool features such " +"as debugging non-PythonWin programs. PythonWin is available as part of " +"`pywin32 `_ project and as a part of " +"the `ActivePython `_ " +"distribution." +msgstr "" +"PythonWin — це середовище розробки Python, яке містить налагоджувач " +"графічного інтерфейсу на основі pdb. Налагоджувач PythonWin забарвлює точки " +"зупину та має чимало цікавих функцій, таких як налагодження програм, які не " +"належать до PythonWin. PythonWin доступний як частина проекту `pywin32 " +"`_ і як частина дистрибутива " +"`ActivePython `_." + +msgid "" +"`Eric `_ is an IDE built on PyQt and " +"the Scintilla editing component." +msgstr "" + +msgid "" +"`trepan3k `_ is a gdb-like " +"debugger." +msgstr "" +"`trepan3k `_ є gdb-подібним " +"налагоджувачем." + +msgid "" +"`Visual Studio Code `_ is an IDE with " +"debugging tools that integrates with version-control software." +msgstr "" +"`Visual Studio Code `_ — це середовище " +"розробки з інструментами налагодження, яке інтегрується з програмним " +"забезпеченням для керування версіями." + +msgid "" +"There are a number of commercial Python IDEs that include graphical " +"debuggers. They include:" +msgstr "" +"Існує кілька комерційних Python IDE, які містять графічні налагоджувачі. " +"Вони включають:" + +msgid "`Wing IDE `_" +msgstr "`Wing IDE `_" + +msgid "`Komodo IDE `_" +msgstr "`Komodo IDE `_" + +msgid "`PyCharm `_" +msgstr "`PyCharm `_" + +msgid "Are there tools to help find bugs or perform static analysis?" +msgstr "" +"Чи існують інструменти, які допомагають знайти помилки або виконати " +"статичний аналіз?" + +msgid "" +"`Pylint `_ and `Pyflakes " +"`_ do basic checking that will help you " +"catch bugs sooner." +msgstr "" + +msgid "" +"Static type checkers such as `Mypy `_, `Pyre `_, and `Pytype `_ can " +"check type hints in Python source code." +msgstr "" +"Засоби перевірки статичних типів, такі як `Mypy `_, " +"`Pyre `_ і `Pytype `_, можуть перевіряти підказки типу у вихідному коді Python." + +msgid "How can I create a stand-alone binary from a Python script?" +msgstr "Як я можу створити автономний двійковий файл зі сценарію Python?" + +msgid "" +"You don't need the ability to compile Python to C code if all you want is a " +"stand-alone program that users can download and run without having to " +"install the Python distribution first. There are a number of tools that " +"determine the set of modules required by a program and bind these modules " +"together with a Python binary to produce a single executable." +msgstr "" +"Вам не потрібна можливість компілювати код Python до C, якщо все, що вам " +"потрібно, це окрема програма, яку користувачі можуть завантажити та " +"запустити без попередньої інсталяції дистрибутива Python. Існує ряд " +"інструментів, які визначають набір модулів, необхідних для програми, і " +"зв’язують ці модулі з двійковим файлом Python для створення єдиного " +"виконуваного файлу." + +msgid "" +"One is to use the freeze tool, which is included in the Python source tree " +"as `Tools/freeze `_. It converts Python byte code to C arrays; with a C compiler you " +"can embed all your modules into a new program, which is then linked with the " +"standard Python modules." +msgstr "" + +msgid "" +"It works by scanning your source recursively for import statements (in both " +"forms) and looking for the modules in the standard Python path as well as in " +"the source directory (for built-in modules). It then turns the bytecode for " +"modules written in Python into C code (array initializers that can be turned " +"into code objects using the marshal module) and creates a custom-made config " +"file that only contains those built-in modules which are actually used in " +"the program. It then compiles the generated C code and links it with the " +"rest of the Python interpreter to form a self-contained binary which acts " +"exactly like your script." +msgstr "" +"Він працює шляхом рекурсивного сканування джерела на наявність інструкцій " +"імпорту (в обох формах) і пошуку модулів у стандартному шляху Python, а " +"також у вихідному каталозі (для вбудованих модулів). Потім він перетворює " +"байт-код для модулів, написаних на Python, у код C (ініціалізатори масивів, " +"які можна перетворити на об’єкти коду за допомогою модуля marshal) і створює " +"спеціальний файл конфігурації, який містить лише ті вбудовані модулі, які " +"фактично використовуються в програма. Потім він компілює згенерований код C " +"і пов’язує його з рештою інтерпретатора Python, щоб сформувати самодостатній " +"двійковий файл, який діє точно так само, як ваш сценарій." + +msgid "" +"The following packages can help with the creation of console and GUI " +"executables:" +msgstr "" +"Наступні пакети можуть допомогти зі створенням консолі та виконуваних файлів " +"графічного інтерфейсу користувача:" + +msgid "`Nuitka `_ (Cross-platform)" +msgstr "`Nuitka `_ (Кросплатформенний)" + +msgid "`PyInstaller `_ (Cross-platform)" +msgstr "" + +msgid "" +"`PyOxidizer `_ (Cross-platform)" +msgstr "" +"`PyOxidizer `_ " +"(Кросплатформенний)" + +msgid "" +"`cx_Freeze `_ (Cross-platform)" +msgstr "" +"`cx_Freeze `_ " +"(Кросплатформенний)" + +msgid "`py2app `_ (macOS only)" +msgstr "`py2app `_ (лише для macOS)" + +msgid "`py2exe `_ (Windows only)" +msgstr "" + +msgid "Are there coding standards or a style guide for Python programs?" +msgstr "" +"Чи існують стандарти кодування чи керівництво по стилю для програм Python?" + +msgid "" +"Yes. The coding style required for standard library modules is documented " +"as :pep:`8`." +msgstr "" +"Так. Стиль кодування, необхідний для модулів стандартної бібліотеки, " +"задокументовано як :pep:`8`." + +msgid "Core Language" +msgstr "Основна мова" + +msgid "Why am I getting an UnboundLocalError when the variable has a value?" +msgstr "Чому я отримую помилку UnboundLocalError, коли змінна має значення?" + +msgid "" +"It can be a surprise to get the :exc:`UnboundLocalError` in previously " +"working code when it is modified by adding an assignment statement somewhere " +"in the body of a function." +msgstr "" + +msgid "This code:" +msgstr "Цей код:" + +msgid "works, but this code:" +msgstr "працює, але цей код:" + +msgid "results in an :exc:`!UnboundLocalError`:" +msgstr "" + +msgid "" +"This is because when you make an assignment to a variable in a scope, that " +"variable becomes local to that scope and shadows any similarly named " +"variable in the outer scope. Since the last statement in foo assigns a new " +"value to ``x``, the compiler recognizes it as a local variable. " +"Consequently when the earlier ``print(x)`` attempts to print the " +"uninitialized local variable and an error results." +msgstr "" +"Це пояснюється тим, що коли ви робите призначення змінній в області " +"видимості, ця змінна стає локальною для цієї області і затьмарює будь-яку " +"змінну з подібним іменем у зовнішній області. Оскільки останній оператор у " +"foo присвоює нове значення ``x``, компілятор розпізнає його як локальну " +"змінну. Отже, коли попередній ``print(x)`` намагається надрукувати " +"неініціалізовану локальну змінну, виникає помилка." + +msgid "" +"In the example above you can access the outer scope variable by declaring it " +"global:" +msgstr "" +"У наведеному вище прикладі ви можете отримати доступ до зовнішньої змінної " +"області видимості, оголосивши її глобальною:" + +msgid "" +"This explicit declaration is required in order to remind you that (unlike " +"the superficially analogous situation with class and instance variables) you " +"are actually modifying the value of the variable in the outer scope:" +msgstr "" +"Ця явна декларація потрібна, щоб нагадати вам, що (на відміну від зовнішньо " +"аналогічної ситуації зі змінними класу та екземпляра) ви фактично змінюєте " +"значення змінної у зовнішній області:" + +msgid "" +"You can do a similar thing in a nested scope using the :keyword:`nonlocal` " +"keyword:" +msgstr "" +"Ви можете зробити подібне у вкладеній області, використовуючи ключове слово :" +"keyword:`nonlocal`:" + +msgid "What are the rules for local and global variables in Python?" +msgstr "Які правила для локальних і глобальних змінних у Python?" + +msgid "" +"In Python, variables that are only referenced inside a function are " +"implicitly global. If a variable is assigned a value anywhere within the " +"function's body, it's assumed to be a local unless explicitly declared as " +"global." +msgstr "" +"У Python змінні, на які посилаються лише всередині функції, є неявно " +"глобальними. Якщо змінній присвоєно значення будь-де в тілі функції, вона " +"вважається локальною, якщо вона явно не оголошена як глобальна." + +msgid "" +"Though a bit surprising at first, a moment's consideration explains this. " +"On one hand, requiring :keyword:`global` for assigned variables provides a " +"bar against unintended side-effects. On the other hand, if ``global`` was " +"required for all global references, you'd be using ``global`` all the time. " +"You'd have to declare as global every reference to a built-in function or to " +"a component of an imported module. This clutter would defeat the usefulness " +"of the ``global`` declaration for identifying side-effects." +msgstr "" +"Хоча це трохи дивно спочатку, мить міркування пояснює це. З одного боку, " +"вимога :keyword:`global` для призначених змінних забезпечує захист від " +"ненавмисних побічних ефектів. З іншого боку, якби ``global`` був потрібний " +"для всіх глобальних посилань, ви б використовували ``global`` весь час. Ви " +"повинні оголосити як глобальне кожне посилання на вбудовану функцію або на " +"компонент імпортованого модуля. Цей безлад перекреслив би корисність " +"оголошення ``global`` для визначення побічних ефектів." + +msgid "" +"Why do lambdas defined in a loop with different values all return the same " +"result?" +msgstr "" +"Чому всі лямбда-вирази, визначені в циклі з різними значеннями, повертають " +"однаковий результат?" + +msgid "" +"Assume you use a for loop to define a few different lambdas (or even plain " +"functions), e.g.::" +msgstr "" +"Припустімо, що ви використовуєте цикл for для визначення кількох різних " +"лямбда-виразів (або навіть простих функцій), наприклад::" + +msgid "" +"This gives you a list that contains 5 lambdas that calculate ``x**2``. You " +"might expect that, when called, they would return, respectively, ``0``, " +"``1``, ``4``, ``9``, and ``16``. However, when you actually try you will " +"see that they all return ``16``::" +msgstr "" +"Це дає вам список, який містить 5 лямбда-виразів, які обчислюють ``x**2``. " +"Можна очікувати, що під час виклику вони повертатимуть, відповідно, ``0``, " +"``1``, ``4``, ``9`` і ``16``. Однак, коли ви насправді спробуєте, ви " +"побачите, що всі вони повертають ``16``::" + +msgid "" +"This happens because ``x`` is not local to the lambdas, but is defined in " +"the outer scope, and it is accessed when the lambda is called --- not when " +"it is defined. At the end of the loop, the value of ``x`` is ``4``, so all " +"the functions now return ``4**2``, i.e. ``16``. You can also verify this by " +"changing the value of ``x`` and see how the results of the lambdas change::" +msgstr "" +"Це відбувається тому, що ``x`` не є локальним для лямбда-вираз, а визначено " +"у зовнішній області видимості, і доступ до нього здійснюється під час " +"виклику лямбда-виразки --- а не тоді, коли вона визначена. Наприкінці циклу " +"значення ``x`` дорівнює ``4``, тому всі функції тепер повертають ``4**2``, " +"тобто ``16``. Ви також можете перевірити це, змінивши значення ``x`` і " +"подивившись, як змінюються результати лямбда-виражень:" + +msgid "" +"In order to avoid this, you need to save the values in variables local to " +"the lambdas, so that they don't rely on the value of the global ``x``::" +msgstr "" +"Щоб уникнути цього, вам потрібно зберегти значення в змінних, локальних для " +"лямбда-виразів, щоб вони не покладалися на значення глобального ``x``::" + +msgid "" +"Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed " +"when the lambda is defined so that it has the same value that ``x`` had at " +"that point in the loop. This means that the value of ``n`` will be ``0`` in " +"the first lambda, ``1`` in the second, ``2`` in the third, and so on. " +"Therefore each lambda will now return the correct result::" +msgstr "" +"Тут ``n=x`` створює нову змінну ``n``, локальну для лямбда-виразу, яка " +"обчислюється, коли лямбда-визначення визначено таким чином, щоб воно мало те " +"саме значення, яке ``x`` мав у цій точці циклу. Це означає, що значення " +"``n`` буде ``0`` у першому лямбда, ``1`` у другому, ``2`` у третьому, і так " +"далі. Тому кожна лямбда тепер повертатиме правильний результат::" + +msgid "" +"Note that this behaviour is not peculiar to lambdas, but applies to regular " +"functions too." +msgstr "" +"Зауважте, що ця поведінка не властива лямбда-виразам, але також стосується " +"звичайних функцій." + +msgid "How do I share global variables across modules?" +msgstr "Як поділитися глобальними змінними між модулями?" + +msgid "" +"The canonical way to share information across modules within a single " +"program is to create a special module (often called config or cfg). Just " +"import the config module in all modules of your application; the module then " +"becomes available as a global name. Because there is only one instance of " +"each module, any changes made to the module object get reflected " +"everywhere. For example:" +msgstr "" +"Канонічний спосіб обміну інформацією між модулями в одній програмі полягає у " +"створенні спеціального модуля (часто називається config або cfg). Просто " +"імпортуйте модуль конфігурації в усі модулі вашої програми; потім модуль " +"стає доступним як глобальне ім'я. Оскільки існує лише один екземпляр кожного " +"модуля, будь-які зміни, внесені до об’єкта модуля, відображаються всюди. " +"Наприклад:" + +msgid "config.py::" +msgstr "config.py::" + +msgid "mod.py::" +msgstr "mod.py::" + +msgid "main.py::" +msgstr "main.py::" + +msgid "" +"Note that using a module is also the basis for implementing the singleton " +"design pattern, for the same reason." +msgstr "" + +msgid "What are the \"best practices\" for using import in a module?" +msgstr "Які \"найкращі практики\" використання імпорту в модулі?" + +msgid "" +"In general, don't use ``from modulename import *``. Doing so clutters the " +"importer's namespace, and makes it much harder for linters to detect " +"undefined names." +msgstr "" +"Загалом, не використовуйте ``from modulename import *``. Це захаращує " +"простір імен імпортера, і значно ускладнює для лінтерів виявлення " +"невизначених імен." + +msgid "" +"Import modules at the top of a file. Doing so makes it clear what other " +"modules your code requires and avoids questions of whether the module name " +"is in scope. Using one import per line makes it easy to add and delete " +"module imports, but using multiple imports per line uses less screen space." +msgstr "" +"Імпорт модулів у верхній частині файлу. Це дає зрозуміти, які інші модулі " +"вимагає ваш код, і уникає запитань про те, чи входить ім’я модуля в область " +"видимості. Використання одного імпорту на рядок полегшує додавання та " +"видалення імпортованих модулів, але використання кількох імпортів на рядок " +"займає менше місця на екрані." + +msgid "It's good practice if you import modules in the following order:" +msgstr "Доцільно імпортувати модулі в такому порядку:" + +msgid "" +"standard library modules -- e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, :" +"mod:`re`" +msgstr "" + +msgid "" +"third-party library modules (anything installed in Python's site-packages " +"directory) -- e.g. :mod:`!dateutil`, :mod:`!requests`, :mod:`!PIL.Image`" +msgstr "" + +msgid "locally developed modules" +msgstr "" + +msgid "" +"It is sometimes necessary to move imports to a function or class to avoid " +"problems with circular imports. Gordon McMillan says:" +msgstr "" +"Іноді необхідно перемістити імпорт до функції чи класу, щоб уникнути проблем " +"із циклічним імпортом. Гордон Макміллан каже:" + +msgid "" +"Circular imports are fine where both modules use the \"import \" " +"form of import. They fail when the 2nd module wants to grab a name out of " +"the first (\"from module import name\") and the import is at the top level. " +"That's because names in the 1st are not yet available, because the first " +"module is busy importing the 2nd." +msgstr "" +"Циклічний імпорт підходить, якщо обидва модулі використовують форму імпорту " +"\"import \". Вони зазнають невдачі, коли 2-й модуль хоче отримати " +"ім’я з першого (\"з імені імпорту модуля\"), а імпорт здійснюється на " +"верхньому рівні. Це тому, що імена в 1-му ще недоступні, оскільки перший " +"модуль зайнятий імпортом 2-го." + +msgid "" +"In this case, if the second module is only used in one function, then the " +"import can easily be moved into that function. By the time the import is " +"called, the first module will have finished initializing, and the second " +"module can do its import." +msgstr "" +"У цьому випадку, якщо другий модуль використовується лише в одній функції, " +"імпорт можна легко перемістити в цю функцію. До моменту виклику імпорту " +"перший модуль завершить ініціалізацію, і другий модуль зможе виконувати свій " +"імпорт." + +msgid "" +"It may also be necessary to move imports out of the top level of code if " +"some of the modules are platform-specific. In that case, it may not even be " +"possible to import all of the modules at the top of the file. In this case, " +"importing the correct modules in the corresponding platform-specific code is " +"a good option." +msgstr "" +"Також може знадобитися перемістити імпорт із верхнього рівня коду, якщо " +"деякі модулі залежать від платформи. У цьому випадку може бути навіть " +"неможливо імпортувати всі модулі у верхній частині файлу. У цьому випадку " +"хорошим варіантом є імпорт правильних модулів у відповідний специфічний для " +"платформи код." + +msgid "" +"Only move imports into a local scope, such as inside a function definition, " +"if it's necessary to solve a problem such as avoiding a circular import or " +"are trying to reduce the initialization time of a module. This technique is " +"especially helpful if many of the imports are unnecessary depending on how " +"the program executes. You may also want to move imports into a function if " +"the modules are only ever used in that function. Note that loading a module " +"the first time may be expensive because of the one time initialization of " +"the module, but loading a module multiple times is virtually free, costing " +"only a couple of dictionary lookups. Even if the module name has gone out " +"of scope, the module is probably available in :data:`sys.modules`." +msgstr "" +"Переміщуйте імпорт у локальну область, наприклад, у визначення функції, лише " +"якщо це необхідно для вирішення проблеми, як-от уникнення циклічного імпорту " +"або намагання скоротити час ініціалізації модуля. Ця техніка особливо " +"корисна, якщо багато імпортів непотрібні залежно від того, як виконується " +"програма. Ви також можете перемістити імпорт у функцію, якщо модулі " +"використовуються лише в цій функції. Зауважте, що завантаження модуля вперше " +"може бути дорогим через одноразову ініціалізацію модуля, але багаторазове " +"завантаження модуля практично безкоштовне, коштуючи лише кількох пошуків у " +"словнику. Навіть якщо назва модуля вийшла за межі видимості, модуль, " +"імовірно, доступний у :data:`sys.modules`." + +msgid "Why are default values shared between objects?" +msgstr "Чому значення за замовчуванням є спільними між об’єктами?" + +msgid "" +"This type of bug commonly bites neophyte programmers. Consider this " +"function::" +msgstr "" +"Цей тип помилок зазвичай кусає програмістів-неофітів. Розглянемо цю функцію::" + +msgid "" +"The first time you call this function, ``mydict`` contains a single item. " +"The second time, ``mydict`` contains two items because when ``foo()`` begins " +"executing, ``mydict`` starts out with an item already in it." +msgstr "" +"Під час першого виклику цієї функції ``mydict`` містить один елемент. " +"Другого разу ``mydict`` містить два елементи, тому що коли ``foo()`` починає " +"виконуватися, ``mydict`` починає з елементом, який уже є в ньому." + +msgid "" +"It is often expected that a function call creates new objects for default " +"values. This is not what happens. Default values are created exactly once, " +"when the function is defined. If that object is changed, like the " +"dictionary in this example, subsequent calls to the function will refer to " +"this changed object." +msgstr "" +"Часто очікується, що виклик функції створює нові об’єкти для значень за " +"замовчуванням. Такого не буває. Значення за замовчуванням створюються рівно " +"один раз під час визначення функції. Якщо цей об’єкт змінено, як і словник у " +"цьому прикладі, наступні виклики функції посилатимуться на цей змінений " +"об’єкт." + +msgid "" +"By definition, immutable objects such as numbers, strings, tuples, and " +"``None``, are safe from change. Changes to mutable objects such as " +"dictionaries, lists, and class instances can lead to confusion." +msgstr "" +"За визначенням, незмінні об’єкти, такі як числа, рядки, кортежі та ``None``, " +"захищені від змін. Зміни змінних об’єктів, таких як словники, списки та " +"екземпляри класів, можуть призвести до плутанини." + +msgid "" +"Because of this feature, it is good programming practice to not use mutable " +"objects as default values. Instead, use ``None`` as the default value and " +"inside the function, check if the parameter is ``None`` and create a new " +"list/dictionary/whatever if it is. For example, don't write::" +msgstr "" +"Через цю функцію хороша практика програмування не використовувати змінні " +"об’єкти як значення за замовчуванням. Натомість використовуйте ``None`` як " +"значення за замовчуванням і всередині функції перевірте, чи параметр " +"``None``, і створіть новий список/словник/що завгодно, якщо він є. " +"Наприклад, не пишіть::" + +msgid "but::" +msgstr "але ::" + +msgid "" +"This feature can be useful. When you have a function that's time-consuming " +"to compute, a common technique is to cache the parameters and the resulting " +"value of each call to the function, and return the cached value if the same " +"value is requested again. This is called \"memoizing\", and can be " +"implemented like this::" +msgstr "" +"Ця функція може бути корисною. Якщо у вас є функція, обчислення якої " +"потребує багато часу, поширеною технікою є кешування параметрів і " +"результуючого значення кожного виклику функції та повернення кешованого " +"значення, якщо те саме значення запитується знову. Це називається " +"\"запам'ятовування\" і може бути реалізовано так:" + +msgid "" +"You could use a global variable containing a dictionary instead of the " +"default value; it's a matter of taste." +msgstr "" +"Ви можете використовувати глобальну змінну, що містить словник, замість " +"значення за замовчуванням; це справа смаку." + +msgid "" +"How can I pass optional or keyword parameters from one function to another?" +msgstr "" +"Як я можу передати необов’язкові або ключові параметри з однієї функції в " +"іншу?" + +msgid "" +"Collect the arguments using the ``*`` and ``**`` specifiers in the " +"function's parameter list; this gives you the positional arguments as a " +"tuple and the keyword arguments as a dictionary. You can then pass these " +"arguments when calling another function by using ``*`` and ``**``::" +msgstr "" +"Зберіть аргументи за допомогою специфікаторів ``*`` і ``**`` у списку " +"параметрів функції; це дає вам позиційні аргументи як кортеж і ключові " +"аргументи як словник. Потім ви можете передати ці аргументи під час виклику " +"іншої функції за допомогою ``*`` і ``**``::" + +msgid "What is the difference between arguments and parameters?" +msgstr "Яка різниця між аргументами та параметрами?" + +msgid "" +":term:`Parameters ` are defined by the names that appear in a " +"function definition, whereas :term:`arguments ` are the values " +"actually passed to a function when calling it. Parameters define what :term:" +"`kind of arguments ` a function can accept. For example, given " +"the function definition::" +msgstr "" + +msgid "" +"*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling " +"``func``, for example::" +msgstr "" +"*foo*, *bar* і *kwargs* є параметрами ``func``. Однак під час виклику " +"``func``, наприклад::" + +msgid "the values ``42``, ``314``, and ``somevar`` are arguments." +msgstr "значення ``42``, ``314`` і ``somevar`` є аргументами." + +msgid "Why did changing list 'y' also change list 'x'?" +msgstr "Чому зміна списку 'y' також змінила список 'x'?" + +msgid "If you wrote code like::" +msgstr "Якщо ви написали такий код::" + +msgid "" +"you might be wondering why appending an element to ``y`` changed ``x`` too." +msgstr "" +"можливо, вам буде цікаво, чому додавання елемента до ``y`` також змінило " +"``x``." + +msgid "There are two factors that produce this result:" +msgstr "Є два чинники, які призводять до такого результату:" + +msgid "" +"Variables are simply names that refer to objects. Doing ``y = x`` doesn't " +"create a copy of the list -- it creates a new variable ``y`` that refers to " +"the same object ``x`` refers to. This means that there is only one object " +"(the list), and both ``x`` and ``y`` refer to it." +msgstr "" +"Змінні - це просто імена, які посилаються на об'єкти. Виконання ``y = x`` не " +"створює копію списку — воно створює нову змінну ``y``, яка посилається на " +"той самий об’єкт, на який посилається ``x``. Це означає, що є лише один " +"об’єкт (список), і як ``x``, так і ``y`` посилаються на нього." + +msgid "" +"Lists are :term:`mutable`, which means that you can change their content." +msgstr "" +"Списки :term:`mutable`, що означає, що ви можете змінювати їхній вміст." + +msgid "" +"After the call to :meth:`~list.append`, the content of the mutable object " +"has changed from ``[]`` to ``[10]``. Since both the variables refer to the " +"same object, using either name accesses the modified value ``[10]``." +msgstr "" +"Після виклику :meth:`~list.append` вміст змінного об’єкта змінився з ``[]`` " +"на ``[10]``. Оскільки обидві змінні посилаються на той самий об’єкт, " +"використання будь-якої назви дає доступ до зміненого значення ``[10]``." + +msgid "If we instead assign an immutable object to ``x``::" +msgstr "Якщо натомість ми призначимо незмінний об’єкт ``x``::" + +msgid "" +"we can see that in this case ``x`` and ``y`` are not equal anymore. This is " +"because integers are :term:`immutable`, and when we do ``x = x + 1`` we are " +"not mutating the int ``5`` by incrementing its value; instead, we are " +"creating a new object (the int ``6``) and assigning it to ``x`` (that is, " +"changing which object ``x`` refers to). After this assignment we have two " +"objects (the ints ``6`` and ``5``) and two variables that refer to them " +"(``x`` now refers to ``6`` but ``y`` still refers to ``5``)." +msgstr "" +"ми бачимо, що в цьому випадку ``x`` і ``y`` більше не рівні. Це тому, що " +"цілі числа :term:`immutable`, і коли ми робимо ``x = x + 1``, ми не змінюємо " +"int ``5``, збільшуючи його значення; натомість ми створюємо новий об’єкт " +"(int ``6``) і призначаємо його ``x`` (тобто змінюємо, на який об’єкт " +"посилається ``x``). Після цього призначення ми маємо два об’єкти (цілі ``6`` " +"і ``5``) і дві змінні, які посилаються на них (``x`` тепер посилається на " +"``6``, але ``y`` все ще посилається на ``5``)." + +msgid "" +"Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " +"object, whereas superficially similar operations (for example ``y = y + " +"[10]`` and :func:`sorted(y) `) create a new object. In general in " +"Python (and in all cases in the standard library) a method that mutates an " +"object will return ``None`` to help avoid getting the two types of " +"operations confused. So if you mistakenly write ``y.sort()`` thinking it " +"will give you a sorted copy of ``y``, you'll instead end up with ``None``, " +"which will likely cause your program to generate an easily diagnosed error." +msgstr "" + +msgid "" +"However, there is one class of operations where the same operation sometimes " +"has different behaviors with different types: the augmented assignment " +"operators. For example, ``+=`` mutates lists but not tuples or ints " +"(``a_list += [1, 2, 3]`` is equivalent to ``a_list.extend([1, 2, 3])`` and " +"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += " +"1`` create new objects)." +msgstr "" +"Однак існує один клас операцій, де одна й та сама операція іноді має різну " +"поведінку з різними типами: розширені оператори присвоєння. Наприклад, ``" +"+=`` змінює списки, але не кортежі чи цілі (``a_list += [1, 2, 3]`` " +"еквівалентно ``a_list.extend([1, 2, 3])`` і змінює ``a_list``, тоді як " +"``some_tuple += (1, 2, 3)`` і ``some_int += 1`` створюють нові об’єкти)." + +msgid "In other words:" +msgstr "Іншими словами:" + +msgid "" +"If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " +"etc.), we can use some specific operations to mutate it and all the " +"variables that refer to it will see the change." +msgstr "" +"Якщо у нас є змінний об’єкт (:class:`list`, :class:`dict`, :class:`set` " +"тощо), ми можемо використати певні операції, щоб змінити його, і всі змінні, " +"які посилаються на нього, будуть побачити зміни." + +msgid "" +"If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " +"etc.), all the variables that refer to it will always see the same value, " +"but operations that transform that value into a new value always return a " +"new object." +msgstr "" +"Якщо у нас є незмінний об’єкт (:class:`str`, :class:`int`, :class:`tuple` " +"тощо), усі змінні, які посилаються на нього, завжди бачитимуть те саме " +"значення, але операції, що перетворюють це значення в нове значення завжди " +"повертає новий об’єкт." + +msgid "" +"If you want to know if two variables refer to the same object or not, you " +"can use the :keyword:`is` operator, or the built-in function :func:`id`." +msgstr "" +"Якщо ви хочете знати, чи дві змінні посилаються на той самий об’єкт, ви " +"можете скористатися оператором :keyword:`is` або вбудованою функцією :func:" +"`id`." + +msgid "How do I write a function with output parameters (call by reference)?" +msgstr "Як написати функцію з вихідними параметрами (виклик за посиланням)?" + +msgid "" +"Remember that arguments are passed by assignment in Python. Since " +"assignment just creates references to objects, there's no alias between an " +"argument name in the caller and callee, and so no call-by-reference per se. " +"You can achieve the desired effect in a number of ways." +msgstr "" +"Пам’ятайте, що в Python аргументи передаються шляхом присвоєння. Оскільки " +"присвоєння лише створює посилання на об’єкти, немає псевдоніма між ім’ям " +"аргументу у викликаючому та викликаному, а тому немає виклику за посиланням " +"як такого. Бажаного ефекту можна досягти кількома способами." + +msgid "By returning a tuple of the results::" +msgstr "Повертаючи кортеж результатів::" + +msgid "This is almost always the clearest solution." +msgstr "Це майже завжди найясніше рішення." + +msgid "" +"By using global variables. This isn't thread-safe, and is not recommended." +msgstr "" +"За допомогою глобальних змінних. Це небезпечно для потоків і не " +"рекомендується." + +msgid "By passing a mutable (changeable in-place) object::" +msgstr "Передаючи змінний (змінний на місці) об’єкт::" + +msgid "By passing in a dictionary that gets mutated::" +msgstr "Передаючи словник, який мутується::" + +msgid "Or bundle up values in a class instance::" +msgstr "Або об'єднайте значення в екземпляр класу::" + +msgid "There's almost never a good reason to get this complicated." +msgstr "Майже ніколи не буває вагомих причин ускладнювати це." + +msgid "Your best choice is to return a tuple containing the multiple results." +msgstr "Ваш найкращий вибір — повернути кортеж, що містить кілька результатів." + +msgid "How do you make a higher order function in Python?" +msgstr "Як створити функцію вищого порядку в Python?" + +msgid "" +"You have two choices: you can use nested scopes or you can use callable " +"objects. For example, suppose you wanted to define ``linear(a,b)`` which " +"returns a function ``f(x)`` that computes the value ``a*x+b``. Using nested " +"scopes::" +msgstr "" +"У вас є два варіанти: ви можете використовувати вкладені області або ви " +"можете використовувати викликані об’єкти. Наприклад, припустімо, що ви " +"хочете визначити ``linear(a,b)``, яка повертає функцію ``f(x)``, яка " +"обчислює значення ``a*x+b``. Використання вкладених областей::" + +msgid "Or using a callable object::" +msgstr "Або за допомогою викликаного об'єкта::" + +msgid "In both cases, ::" +msgstr "В обох випадках ::" + +msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." +msgstr "дає викликуваний об’єкт, де ``taxes(10e6) == 0,3 * 10e6 + 2``." + +msgid "" +"The callable object approach has the disadvantage that it is a bit slower " +"and results in slightly longer code. However, note that a collection of " +"callables can share their signature via inheritance::" +msgstr "" +"Підхід викликаного об’єкта має той недолік, що він трохи повільніший і " +"призводить до трохи довшого коду. Однак зауважте, що колекція викликів може " +"ділитися своїм підписом через успадкування::" + +msgid "Object can encapsulate state for several methods::" +msgstr "Об'єкт може інкапсулювати стан кількома методами:" + +msgid "" +"Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the " +"same counting variable." +msgstr "" +"Тут ``inc()``, ``dec()`` і ``reset()`` діють як функції, які спільно " +"використовують ту саму змінну підрахунку." + +msgid "How do I copy an object in Python?" +msgstr "Як скопіювати об’єкт у Python?" + +msgid "" +"In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " +"case. Not all objects can be copied, but most can." +msgstr "" +"Загалом, спробуйте :func:`copy.copy` або :func:`copy.deepcopy` для " +"загального випадку. Не всі об'єкти можна скопіювати, але більшість можна." + +msgid "" +"Some objects can be copied more easily. Dictionaries have a :meth:`~dict." +"copy` method::" +msgstr "" +"Деякі об'єкти можна легше скопіювати. Словники мають метод :meth:`~dict." +"copy`::" + +msgid "Sequences can be copied by slicing::" +msgstr "Послідовності можна скопіювати шляхом нарізки:" + +msgid "How can I find the methods or attributes of an object?" +msgstr "Як я можу знайти методи або атрибути об’єкта?" + +msgid "" +"For an instance ``x`` of a user-defined class, :func:`dir(x) ` returns " +"an alphabetized list of the names containing the instance attributes and " +"methods and attributes defined by its class." +msgstr "" + +msgid "How can my code discover the name of an object?" +msgstr "Як мій код може виявити назву об’єкта?" + +msgid "" +"Generally speaking, it can't, because objects don't really have names. " +"Essentially, assignment always binds a name to a value; the same is true of " +"``def`` and ``class`` statements, but in that case the value is a callable. " +"Consider the following code::" +msgstr "" +"Загалом, не може, тому що об’єкти насправді не мають назв. По суті, " +"присвоєння завжди прив’язує ім’я до значення; те саме стосується операторів " +"``def`` і ``class``, але в цьому випадку значення є викликаним. Розглянемо " +"наступний код::" + +msgid "" +"Arguably the class has a name: even though it is bound to two names and " +"invoked through the name ``B`` the created instance is still reported as an " +"instance of class ``A``. However, it is impossible to say whether the " +"instance's name is ``a`` or ``b``, since both names are bound to the same " +"value." +msgstr "" + +msgid "" +"Generally speaking it should not be necessary for your code to \"know the " +"names\" of particular values. Unless you are deliberately writing " +"introspective programs, this is usually an indication that a change of " +"approach might be beneficial." +msgstr "" +"Взагалі кажучи, вашому коду не потрібно \"знати імена\" певних значень. Якщо " +"ви не навмисне пишете інтроспективні програми, це зазвичай свідчить про те, " +"що зміна підходу може бути корисною." + +msgid "" +"In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " +"to this question:" +msgstr "" +"У comp.lang.python Фредрік Лунд якось дав чудову аналогію у відповідь на це " +"запитання:" + +msgid "" +"The same way as you get the name of that cat you found on your porch: the " +"cat (object) itself cannot tell you its name, and it doesn't really care -- " +"so the only way to find out what it's called is to ask all your neighbours " +"(namespaces) if it's their cat (object)..." +msgstr "" +"Так само, як ви отримуєте ім’я того кота, якого знайшли на своєму під’їзді: " +"кіт (об’єкт) сам не може назвати вам своє ім’я, і йому це не дуже важливо, " +"тому єдиний спосіб дізнатися, як його звуть, це запитайте всіх своїх сусідів " +"(простір імен), чи це їхній кіт (об’єкт)..." + +msgid "" +"....and don't be surprised if you'll find that it's known by many names, or " +"no name at all!" +msgstr "" +"....і не дивуйтеся, якщо ви побачите, що він відомий під багатьма іменами " +"або взагалі без назви!" + +msgid "What's up with the comma operator's precedence?" +msgstr "Що трапилося з пріоритетом оператора коми?" + +msgid "Comma is not an operator in Python. Consider this session::" +msgstr "Кома не є оператором у Python. Розгляньте цю сесію::" + +msgid "" +"Since the comma is not an operator, but a separator between expressions the " +"above is evaluated as if you had entered::" +msgstr "" +"Оскільки кома є не оператором, а роздільником між виразами, наведене вище " +"оцінюється так, ніби ви ввели::" + +msgid "not::" +msgstr "ні ::" + +msgid "" +"The same is true of the various assignment operators (``=``, ``+=`` etc). " +"They are not truly operators but syntactic delimiters in assignment " +"statements." +msgstr "" +"Те саме стосується різних операторів присвоювання (``=``, ``+=`` тощо). Вони " +"насправді не є операторами, а синтаксичними роздільниками в операторах " +"присвоєння." + +msgid "Is there an equivalent of C's \"?:\" ternary operator?" +msgstr "Чи існує еквівалент потрійного оператора C \"?:\"?" + +msgid "Yes, there is. The syntax is as follows::" +msgstr "Так, є. Синтаксис такий::" + +msgid "" +"Before this syntax was introduced in Python 2.5, a common idiom was to use " +"logical operators::" +msgstr "" +"До появи цього синтаксису в Python 2.5 поширеною ідіомою було використання " +"логічних операторів::" + +msgid "" +"However, this idiom is unsafe, as it can give wrong results when *on_true* " +"has a false boolean value. Therefore, it is always better to use the ``... " +"if ... else ...`` form." +msgstr "" +"Однак ця ідіома небезпечна, оскільки може дати неправильні результати, якщо " +"*on_true* має хибне логічне значення. Тому завжди краще використовувати " +"форму ``... if ... else ...``." + +msgid "Is it possible to write obfuscated one-liners in Python?" +msgstr "Чи можна написати обфусковані однорядкові тексти на Python?" + +msgid "" +"Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!" +"lambda`. See the following three examples, slightly adapted from Ulf " +"Bartelt::" +msgstr "" + +msgid "Don't try this at home, kids!" +msgstr "Не пробуйте цього вдома, діти!" + +msgid "What does the slash(/) in the parameter list of a function mean?" +msgstr "Що означає коса риска (/) у списку параметрів функції?" + +msgid "" +"A slash in the argument list of a function denotes that the parameters prior " +"to it are positional-only. Positional-only parameters are the ones without " +"an externally usable name. Upon calling a function that accepts positional-" +"only parameters, arguments are mapped to parameters based solely on their " +"position. For example, :func:`divmod` is a function that accepts positional-" +"only parameters. Its documentation looks like this::" +msgstr "" + +msgid "" +"The slash at the end of the parameter list means that both parameters are " +"positional-only. Thus, calling :func:`divmod` with keyword arguments would " +"lead to an error::" +msgstr "" +"Слеш у кінці списку параметрів означає, що обидва параметри є лише " +"позиційними. Таким чином, виклик :func:`divmod` з ключовими аргументами " +"призведе до помилки::" + +msgid "Numbers and strings" +msgstr "Числа та рядки" + +msgid "How do I specify hexadecimal and octal integers?" +msgstr "Як вказати шістнадцяткові та вісімкові цілі числа?" + +msgid "" +"To specify an octal digit, precede the octal value with a zero, and then a " +"lower or uppercase \"o\". For example, to set the variable \"a\" to the " +"octal value \"10\" (8 in decimal), type::" +msgstr "" +"Щоб вказати вісімкову цифру, поставте перед вісімковим значенням нуль, а " +"потім малу або велику літеру \"o\". Наприклад, щоб встановити змінну \"a\" у " +"вісімкове значення \"10\" (8 у десятковій системі), введіть::" + +msgid "" +"Hexadecimal is just as easy. Simply precede the hexadecimal number with a " +"zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " +"specified in lower or uppercase. For example, in the Python interpreter::" +msgstr "" +"Шістнадцяткове так само легко. Просто поставте перед шістнадцятковим числом " +"нуль, а потім малий або великий регістр \"x\". Шістнадцяткові цифри можна " +"вказувати як у нижньому, так і у верхньому регістрі. Наприклад, в " +"інтерпретаторі Python::" + +msgid "Why does -22 // 10 return -3?" +msgstr "Чому -22 // 10 повертає -3?" + +msgid "" +"It's primarily driven by the desire that ``i % j`` have the same sign as " +"``j``. If you want that, and also want::" +msgstr "" +"Головним чином це зумовлено бажанням, щоб ``i % j`` мав той самий знак, що " +"``j``. Якщо ви цього хочете, а також хочете::" + +msgid "" +"then integer division has to return the floor. C also requires that " +"identity to hold, and then compilers that truncate ``i // j`` need to make " +"``i % j`` have the same sign as ``i``." +msgstr "" +"тоді цілочисельне ділення має повернути підлогу. C також вимагає збереження " +"цієї ідентичності, а потім компіляторам, які скорочують ``i // j``, потрібно " +"зробити так, щоб ``i % j`` мав той самий знак, що і ``i``." + +msgid "" +"There are few real use cases for ``i % j`` when ``j`` is negative. When " +"``j`` is positive, there are many, and in virtually all of them it's more " +"useful for ``i % j`` to be ``>= 0``. If the clock says 10 now, what did it " +"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a " +"bug waiting to bite." +msgstr "" +"Є кілька реальних випадків використання ``i % j``, коли ``j`` є від'ємним. " +"Коли ``j`` додатне, їх багато, і практично в усіх з них корисніше, щоб ``i % " +"j`` було ``>= 0``. Якщо годинник показує 10 зараз, що він показував 200 " +"годин тому? ``-190 % 12 == 2`` є корисним; ``-190 % 12 == -10`` - це " +"помилка, яка чекає, щоб вкусити." + +msgid "How do I get int literal attribute instead of SyntaxError?" +msgstr "Як отримати атрибут int literal замість SyntaxError?" + +msgid "" +"Trying to lookup an ``int`` literal attribute in the normal manner gives a :" +"exc:`SyntaxError` because the period is seen as a decimal point::" +msgstr "" + +msgid "" +"The solution is to separate the literal from the period with either a space " +"or parentheses." +msgstr "" +"Рішення полягає в тому, щоб відокремити літерал від крапки пробілом або " +"дужками." + +msgid "How do I convert a string to a number?" +msgstr "Як перетворити рядок на число?" + +msgid "" +"For integers, use the built-in :func:`int` type constructor, e.g. " +"``int('144') == 144``. Similarly, :func:`float` converts to floating-point, " +"e.g. ``float('144') == 144.0``." +msgstr "" +"Для цілих чисел використовуйте вбудований конструктор типу :func:`int`, " +"напр. ``int('144') == 144``. Так само :func:`float` перетворює на число з " +"плаваючою комою, наприклад. ``float('144') == 144.0``." + +msgid "" +"By default, these interpret the number as decimal, so that ``int('0144') == " +"144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " +"``int(string, base)`` takes the base to convert from as a second optional " +"argument, so ``int( '0x144', 16) == 324``. If the base is specified as 0, " +"the number is interpreted using Python's rules: a leading '0o' indicates " +"octal, and '0x' indicates a hex number." +msgstr "" +"За замовчуванням вони інтерпретують число як десяткове, так що ``int('0144') " +"== 144`` залишається істинним, а ``int('0x144')`` викликає :exc:" +"`ValueError`. ``int(string, base)`` бере основу для перетворення як другий " +"необов’язковий аргумент, тому ``int( '0x144', 16) == 324``. Якщо основа " +"вказана як 0, число інтерпретується за правилами Python: \"0o\" на початку " +"означає вісімкове число, а \"0x\" означає шістнадцяткове число." + +msgid "" +"Do not use the built-in function :func:`eval` if all you need is to convert " +"strings to numbers. :func:`eval` will be significantly slower and it " +"presents a security risk: someone could pass you a Python expression that " +"might have unwanted side effects. For example, someone could pass " +"``__import__('os').system(\"rm -rf $HOME\")`` which would erase your home " +"directory." +msgstr "" +"Не використовуйте вбудовану функцію :func:`eval`, якщо вам потрібно лише " +"перетворити рядки на числа. :func:`eval` буде значно повільніше, і це " +"становить ризик для безпеки: хтось може передати вам вираз Python, який може " +"мати небажані побічні ефекти. Наприклад, хтось може передати " +"``__import__('os').system(\"rm -rf $HOME\")``, що стерло б ваш домашній " +"каталог." + +msgid "" +":func:`eval` also has the effect of interpreting numbers as Python " +"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python " +"does not allow leading '0' in a decimal number (except '0')." +msgstr "" +":func:`eval` також має ефект інтерпретації чисел як виразів Python, так що, " +"наприклад, ``eval('09')`` дає синтаксичну помилку, оскільки Python не " +"дозволяє починати '0' у десятковому числі (окрім '0')." + +msgid "How do I convert a number to a string?" +msgstr "Як перетворити число на рядок?" + +msgid "" +"To convert, e.g., the number ``144`` to the string ``'144'``, use the built-" +"in type constructor :func:`str`. If you want a hexadecimal or octal " +"representation, use the built-in functions :func:`hex` or :func:`oct`. For " +"fancy formatting, see the :ref:`f-strings` and :ref:`formatstrings` " +"sections, e.g. ``\"{:04d}\".format(144)`` yields ``'0144'`` and ``\"{:.3f}\"." +"format(1.0/3.0)`` yields ``'0.333'``." +msgstr "" + +msgid "How do I modify a string in place?" +msgstr "Як змінити рядок на місці?" + +msgid "" +"You can't, because strings are immutable. In most situations, you should " +"simply construct a new string from the various parts you want to assemble it " +"from. However, if you need an object with the ability to modify in-place " +"unicode data, try using an :class:`io.StringIO` object or the :mod:`array` " +"module::" +msgstr "" +"Ви не можете, тому що рядки незмінні. У більшості ситуацій вам слід просто " +"побудувати нову струну з різних частин, з яких ви хочете її зібрати. Однак, " +"якщо вам потрібен об’єкт із можливістю змінювати дані Unicode на місці, " +"спробуйте використати об’єкт :class:`io.StringIO` або модуль :mod:`array`::" + +msgid "How do I use strings to call functions/methods?" +msgstr "Як використовувати рядки для виклику функцій/методів?" + +msgid "There are various techniques." +msgstr "Існують різні техніки." + +msgid "" +"The best is to use a dictionary that maps strings to functions. The primary " +"advantage of this technique is that the strings do not need to match the " +"names of the functions. This is also the primary technique used to emulate " +"a case construct::" +msgstr "" +"Найкраще використовувати словник, який відображає рядки на функції. Основна " +"перевага цього методу полягає в тому, що рядки не повинні збігатися з " +"назвами функцій. Це також основна техніка, яка використовується для емуляції " +"конструкції case:" + +msgid "Use the built-in function :func:`getattr`::" +msgstr "Використовуйте вбудовану функцію :func:`getattr`::" + +msgid "" +"Note that :func:`getattr` works on any object, including classes, class " +"instances, modules, and so on." +msgstr "" +"Зауважте, що :func:`getattr` працює з будь-яким об’єктом, включаючи класи, " +"екземпляри класів, модулі тощо." + +msgid "This is used in several places in the standard library, like this::" +msgstr "" +"Це використовується в кількох місцях стандартної бібліотеки, наприклад:" + +msgid "Use :func:`locals` to resolve the function name::" +msgstr "Використовуйте :func:`locals` для визначення імені функції::" + +msgid "" +"Is there an equivalent to Perl's chomp() for removing trailing newlines from " +"strings?" +msgstr "" +"Чи існує еквівалент Perl chomp() для видалення завершальних символів нового " +"рядка з рядків?" + +msgid "" +"You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " +"terminator from the end of the string ``S`` without removing other trailing " +"whitespace. If the string ``S`` represents more than one line, with several " +"empty lines at the end, the line terminators for all the blank lines will be " +"removed::" +msgstr "" +"Ви можете використовувати ``S.rstrip(\"\\r\\n\")``, щоб видалити всі " +"входження будь-якого термінатора рядка з кінця рядка ``S``, не видаляючи " +"інші пробіли в кінці. Якщо рядок ``S`` представляє більше одного рядка з " +"кількома порожніми рядками в кінці, кінцеві знаки для всіх порожніх рядків " +"буде видалено:" + +msgid "" +"Since this is typically only desired when reading text one line at a time, " +"using ``S.rstrip()`` this way works well." +msgstr "" +"Оскільки це зазвичай бажано лише під час читання тексту по одному рядку, " +"використання ``S.rstrip()`` цей спосіб працює добре." + +msgid "Is there a scanf() or sscanf() equivalent?" +msgstr "Чи існує еквівалент scanf() або sscanf()?" + +msgid "Not as such." +msgstr "Не як такої." + +msgid "" +"For simple input parsing, the easiest approach is usually to split the line " +"into whitespace-delimited words using the :meth:`~str.split` method of " +"string objects and then convert decimal strings to numeric values using :" +"func:`int` or :func:`float`. :meth:`!split()` supports an optional \"sep\" " +"parameter which is useful if the line uses something other than whitespace " +"as a separator." +msgstr "" + +msgid "" +"For more complicated input parsing, regular expressions are more powerful " +"than C's ``sscanf`` and better suited for the task." +msgstr "" + +msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" +msgstr "Що означає помилка \"UnicodeDecodeError\" або \"UnicodeEncodeError\"?" + +msgid "See the :ref:`unicode-howto`." +msgstr "Перегляньте :ref:`unicode-howto`." + +msgid "Performance" +msgstr "Продуктивність" + +msgid "My program is too slow. How do I speed it up?" +msgstr "Моя програма надто повільна. Як це прискорити?" + +msgid "" +"That's a tough one, in general. First, here are a list of things to " +"remember before diving further:" +msgstr "" +"Загалом, це важко. По-перше, ось список речей, які слід запам’ятати перед " +"подальшим зануренням:" + +msgid "" +"Performance characteristics vary across Python implementations. This FAQ " +"focuses on :term:`CPython`." +msgstr "" +"Характеристики продуктивності відрізняються в різних реалізаціях Python. Цей " +"FAQ присвячений :term:`CPython`." + +msgid "" +"Behaviour can vary across operating systems, especially when talking about I/" +"O or multi-threading." +msgstr "" +"Поведінка може відрізнятися в різних операційних системах, особливо коли " +"мова йде про введення-виведення або багатопотоковість." + +msgid "" +"You should always find the hot spots in your program *before* attempting to " +"optimize any code (see the :mod:`profile` module)." +msgstr "" +"Ви завжди повинні знаходити гарячі точки у своїй програмі *перед* спробою " +"оптимізувати будь-який код (дивіться модуль :mod:`profile`)." + +msgid "" +"Writing benchmark scripts will allow you to iterate quickly when searching " +"for improvements (see the :mod:`timeit` module)." +msgstr "" +"Написання тестових сценаріїв дозволить вам швидко виконувати ітерації під " +"час пошуку покращень (дивіться модуль :mod:`timeit`)." + +msgid "" +"It is highly recommended to have good code coverage (through unit testing or " +"any other technique) before potentially introducing regressions hidden in " +"sophisticated optimizations." +msgstr "" +"Настійно рекомендується добре охопити код (через модульне тестування або " +"будь-яку іншу техніку), перш ніж потенційно вводити регресії, приховані в " +"складних оптимізаціях." + +msgid "" +"That being said, there are many tricks to speed up Python code. Here are " +"some general principles which go a long way towards reaching acceptable " +"performance levels:" +msgstr "" +"З огляду на це, існує багато прийомів, щоб пришвидшити код Python. Ось " +"кілька загальних принципів, які допоможуть досягти прийнятного рівня " +"продуктивності:" + +msgid "" +"Making your algorithms faster (or changing to faster ones) can yield much " +"larger benefits than trying to sprinkle micro-optimization tricks all over " +"your code." +msgstr "" +"Пришвидшення ваших алгоритмів (або заміна на швидші) може дати набагато " +"більші переваги, ніж спроба розсипати трюки мікрооптимізації по всьому коду." + +msgid "" +"Use the right data structures. Study documentation for the :ref:`bltin-" +"types` and the :mod:`collections` module." +msgstr "" +"Використовуйте правильні структури даних. Навчальна документація для " +"модулів :ref:`bltin-types` і :mod:`collections`." + +msgid "" +"When the standard library provides a primitive for doing something, it is " +"likely (although not guaranteed) to be faster than any alternative you may " +"come up with. This is doubly true for primitives written in C, such as " +"builtins and some extension types. For example, be sure to use either the :" +"meth:`list.sort` built-in method or the related :func:`sorted` function to " +"do sorting (and see the :ref:`sortinghowto` for examples of moderately " +"advanced usage)." +msgstr "" +"Коли стандартна бібліотека надає примітив для виконання чогось, швидше за " +"все (хоча це не гарантовано) буде швидше, ніж будь-яка альтернатива, яку ви " +"можете придумати. Це подвійно вірно для примітивів, написаних на C, таких як " +"вбудовані модулі та деякі типи розширень. Наприклад, обов’язково " +"використовуйте або вбудований метод :meth:`list.sort`, або пов’язану " +"функцію :func:`sorted` для виконання сортування (і перегляньте :ref:" +"`sortinghowto` для прикладів помірно просунутого використання )." + +msgid "" +"Abstractions tend to create indirections and force the interpreter to work " +"more. If the levels of indirection outweigh the amount of useful work done, " +"your program will be slower. You should avoid excessive abstraction, " +"especially under the form of tiny functions or methods (which are also often " +"detrimental to readability)." +msgstr "" +"Абстракції, як правило, створюють непрямість і змушують перекладача " +"працювати більше. Якщо рівень опосередкованості переважає обсяг виконаної " +"корисної роботи, ваша програма працюватиме повільніше. Вам слід уникати " +"надмірної абстракції, особливо у формі крихітних функцій або методів (які " +"також часто шкодять читабельності)." + +msgid "" +"If you have reached the limit of what pure Python can allow, there are tools " +"to take you further away. For example, `Cython `_ can " +"compile a slightly modified version of Python code into a C extension, and " +"can be used on many different platforms. Cython can take advantage of " +"compilation (and optional type annotations) to make your code significantly " +"faster than when interpreted. If you are confident in your C programming " +"skills, you can also :ref:`write a C extension module ` " +"yourself." +msgstr "" + +msgid "" +"The wiki page devoted to `performance tips `_." +msgstr "" +"Вікі-сторінка, присвячена `порадам щодо продуктивності `_." + +msgid "What is the most efficient way to concatenate many strings together?" +msgstr "Який найефективніший спосіб об’єднати багато рядків?" + +msgid "" +":class:`str` and :class:`bytes` objects are immutable, therefore " +"concatenating many strings together is inefficient as each concatenation " +"creates a new object. In the general case, the total runtime cost is " +"quadratic in the total string length." +msgstr "" +"Об’єкти :class:`str` і :class:`bytes` є незмінними, тому конкатенація " +"багатьох рядків разом неефективна, оскільки кожна конкатенація створює новий " +"об’єкт. У загальному випадку загальна вартість виконання є квадратичною щодо " +"загальної довжини рядка." + +msgid "" +"To accumulate many :class:`str` objects, the recommended idiom is to place " +"them into a list and call :meth:`str.join` at the end::" +msgstr "" +"Щоб накопичити багато об’єктів :class:`str`, рекомендована ідіома полягає в " +"тому, щоб помістити їх у список і викликати :meth:`str.join` в кінці::" + +msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" +msgstr "(іншою досить ефективною ідіомою є використання :class:`io.StringIO`)" + +msgid "" +"To accumulate many :class:`bytes` objects, the recommended idiom is to " +"extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " +"operator)::" +msgstr "" +"Щоб накопичити багато об’єктів :class:`bytes`, рекомендована ідіома полягає " +"в тому, щоб розширити об’єкт :class:`bytearray` за допомогою конкатенації на " +"місці (оператор ``+=``):" + +msgid "Sequences (Tuples/Lists)" +msgstr "Послідовності (кортежі/списки)" + +msgid "How do I convert between tuples and lists?" +msgstr "Як конвертувати між кортежами та списками?" + +msgid "" +"The type constructor ``tuple(seq)`` converts any sequence (actually, any " +"iterable) into a tuple with the same items in the same order." +msgstr "" +"Конструктор типу ``tuple(seq)`` перетворює будь-яку послідовність (фактично, " +"будь-яку ітерацію) у кортеж з тими самими елементами в тому самому порядку." + +msgid "" +"For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " +"yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " +"copy but returns the same object, so it is cheap to call :func:`tuple` when " +"you aren't sure that an object is already a tuple." +msgstr "" +"Наприклад, ``tuple([1, 2, 3])`` дає ``(1, 2, 3)``, ``tuple('abc')`` дає " +"``('a', 'b ', 'c')``. Якщо аргумент є кортежем, він не створює копію, а " +"повертає той самий об’єкт, тому дешево викликати :func:`tuple`, коли ви не " +"впевнені, що об’єкт уже є кортежем." + +msgid "" +"The type constructor ``list(seq)`` converts any sequence or iterable into a " +"list with the same items in the same order. For example, ``list((1, 2, " +"3))`` yields ``[1, 2, 3]`` and ``list('abc')`` yields ``['a', 'b', 'c']``. " +"If the argument is a list, it makes a copy just like ``seq[:]`` would." +msgstr "" +"Конструктор типу ``list(seq)`` перетворює будь-яку послідовність або " +"ітерацію в список з тими самими елементами в тому самому порядку. Наприклад, " +"``list((1, 2, 3))`` дає ``[1, 2, 3]``, а ``list('abc')`` дає ``['a', 'b ', " +"'c']``. Якщо аргумент є списком, він створює копію так само, як ``seq[:]``." + +msgid "What's a negative index?" +msgstr "Що таке негативний індекс?" + +msgid "" +"Python sequences are indexed with positive numbers and negative numbers. " +"For positive numbers 0 is the first index 1 is the second index and so " +"forth. For negative indices -1 is the last index and -2 is the penultimate " +"(next to last) index and so forth. Think of ``seq[-n]`` as the same as " +"``seq[len(seq)-n]``." +msgstr "" +"Послідовності Python індексуються позитивними та негативними числами. Для " +"додатних чисел 0 є першим індексом, 1 є другим індексом і так далі. Для " +"негативних індексів -1 є останнім індексом, а -2 є передостаннім " +"(передостаннім) індексом і так далі. Подумайте про ``seq[-n]`` як про те " +"саме, що ``seq[len(seq)-n]``." + +msgid "" +"Using negative indices can be very convenient. For example ``S[:-1]`` is " +"all of the string except for its last character, which is useful for " +"removing the trailing newline from a string." +msgstr "" +"Використання від’ємних індексів може бути дуже зручним. Наприклад, " +"``S[:-1]`` — це весь рядок, за винятком останнього символу, який корисний " +"для видалення кінцевого символу нового рядка з рядка." + +msgid "How do I iterate over a sequence in reverse order?" +msgstr "Як мені виконати ітерацію по послідовності у зворотному порядку?" + +msgid "Use the :func:`reversed` built-in function::" +msgstr "Використовуйте вбудовану функцію :func:`reversed`::" + +msgid "" +"This won't touch your original sequence, but build a new copy with reversed " +"order to iterate over." +msgstr "" +"Це не торкнеться вашої оригінальної послідовності, але створить нову копію " +"зі зворотним порядком повторення." + +msgid "How do you remove duplicates from a list?" +msgstr "Як видалити дублікати зі списку?" + +msgid "See the Python Cookbook for a long discussion of many ways to do this:" +msgstr "" +"Перегляньте кулінарну книгу Python для довгого обговорення багатьох способів " +"зробити це:" + +msgid "https://code.activestate.com/recipes/52560/" +msgstr "https://code.activestate.com/recipes/52560/" + +msgid "" +"If you don't mind reordering the list, sort it and then scan from the end of " +"the list, deleting duplicates as you go::" +msgstr "" +"Якщо ви не проти змінити порядок списку, відсортуйте його, а потім скануйте " +"з кінця списку, видаляючи дублікати по ходу::" + +msgid "" +"If all elements of the list may be used as set keys (i.e. they are all :term:" +"`hashable`) this is often faster ::" +msgstr "" +"Якщо всі елементи списку можна використовувати як набір ключів (тобто всі " +"вони :term:`hashable`), це часто швидше ::" + +msgid "" +"This converts the list into a set, thereby removing duplicates, and then " +"back into a list." +msgstr "" +"Це перетворює список на набір, таким чином видаляючи дублікати, а потім " +"знову на список." + +msgid "How do you remove multiple items from a list" +msgstr "Як видалити кілька елементів зі списку" + +msgid "" +"As with removing duplicates, explicitly iterating in reverse with a delete " +"condition is one possibility. However, it is easier and faster to use slice " +"replacement with an implicit or explicit forward iteration. Here are three " +"variations.::" +msgstr "" +"Як і у випадку з видаленням дублікатів, явне повторення у зворотному порядку " +"з умовою видалення є однією з можливостей. Однак простіше і швидше " +"використовувати заміну фрагмента з неявною або явною прямою ітерацією. Ось " +"три варіації::" + +msgid "The list comprehension may be fastest." +msgstr "Розуміння списку може бути найшвидшим." + +msgid "How do you make an array in Python?" +msgstr "Як створити масив у Python?" + +msgid "Use a list::" +msgstr "Використовуйте список::" + +msgid "" +"Lists are equivalent to C or Pascal arrays in their time complexity; the " +"primary difference is that a Python list can contain objects of many " +"different types." +msgstr "" +"За часовою складністю списки еквівалентні масивам C або Pascal; основна " +"відмінність полягає в тому, що список Python може містити об’єкти багатьох " +"різних типів." + +msgid "" +"The ``array`` module also provides methods for creating arrays of fixed " +"types with compact representations, but they are slower to index than " +"lists. Also note that `NumPy `_ and other third party " +"packages define array-like structures with various characteristics as well." +msgstr "" + +msgid "" +"To get Lisp-style linked lists, you can emulate *cons cells* using tuples::" +msgstr "" + +msgid "" +"If mutability is desired, you could use lists instead of tuples. Here the " +"analogue of a Lisp *car* is ``lisp_list[0]`` and the analogue of *cdr* is " +"``lisp_list[1]``. Only do this if you're sure you really need to, because " +"it's usually a lot slower than using Python lists." +msgstr "" + +msgid "How do I create a multidimensional list?" +msgstr "Як створити багатовимірний список?" + +msgid "You probably tried to make a multidimensional array like this::" +msgstr "" +"Можливо, ви намагалися створити багатовимірний масив, подібний до цього:" + +msgid "This looks correct if you print it:" +msgstr "Це виглядає правильно, якщо ви його надрукуєте:" + +msgid "But when you assign a value, it shows up in multiple places:" +msgstr "" +"Але коли ви призначаєте значення, воно відображається в кількох місцях:" + +msgid "" +"The reason is that replicating a list with ``*`` doesn't create copies, it " +"only creates references to the existing objects. The ``*3`` creates a list " +"containing 3 references to the same list of length two. Changes to one row " +"will show in all rows, which is almost certainly not what you want." +msgstr "" +"Причина полягає в тому, що реплікація списку з ``*`` не створює копії, а " +"лише створює посилання на існуючі об’єкти. ``*3`` створює список, що містить " +"3 посилання на той самий список довжиною два. Зміни в одному рядку " +"відображатимуться в усіх рядках, що майже напевно не те, що ви хочете." + +msgid "" +"The suggested approach is to create a list of the desired length first and " +"then fill in each element with a newly created list::" +msgstr "" +"Пропонований підхід полягає в тому, щоб спочатку створити список потрібної " +"довжини, а потім заповнити кожен елемент новоствореним списком::" + +msgid "" +"This generates a list containing 3 different lists of length two. You can " +"also use a list comprehension::" +msgstr "" +"Це генерує список, що містить 3 різні списки довжиною два. Ви також можете " +"використовувати розуміння списку:" + +msgid "" +"Or, you can use an extension that provides a matrix datatype; `NumPy " +"`_ is the best known." +msgstr "" + +msgid "How do I apply a method or function to a sequence of objects?" +msgstr "" + +msgid "" +"To call a method or function and accumulate the return values is a list, a :" +"term:`list comprehension` is an elegant solution::" +msgstr "" + +msgid "" +"To just run the method or function without saving the return values, a " +"plain :keyword:`for` loop will suffice::" +msgstr "" + +msgid "" +"Why does a_tuple[i] += ['item'] raise an exception when the addition works?" +msgstr "" +"Чому a_tuple[i] += ['item'] викликає виключення, коли додавання працює?" + +msgid "" +"This is because of a combination of the fact that augmented assignment " +"operators are *assignment* operators, and the difference between mutable and " +"immutable objects in Python." +msgstr "" +"Це пояснюється поєднанням того факту, що розширені оператори присвоєння є " +"операторами *присвоєння*, а також різниці між змінними та незмінними " +"об’єктами в Python." + +msgid "" +"This discussion applies in general when augmented assignment operators are " +"applied to elements of a tuple that point to mutable objects, but we'll use " +"a ``list`` and ``+=`` as our exemplar." +msgstr "" +"Це обговорення загалом стосується випадків, коли розширені оператори " +"присвоєння застосовуються до елементів кортежу, які вказують на змінні " +"об’єкти, але ми будемо використовувати ``list`` і ``+=`` як наш приклад." + +msgid "If you wrote::" +msgstr "Якщо ви написали::" + +msgid "" +"The reason for the exception should be immediately clear: ``1`` is added to " +"the object ``a_tuple[0]`` points to (``1``), producing the result object, " +"``2``, but when we attempt to assign the result of the computation, ``2``, " +"to element ``0`` of the tuple, we get an error because we can't change what " +"an element of a tuple points to." +msgstr "" +"Причина винятку має бути зрозуміла одразу: ``1`` додається до об’єкта " +"``a_tuple[0]``, що вказує на (``1``), створюючи об’єкт результату ``2``, але " +"коли ми намагаємося призначити результат обчислення, ``2``, елементу ``0`` " +"кортежу, ми отримуємо помилку, оскільки ми не можемо змінити те, на що " +"вказує елемент кортежу." + +msgid "" +"Under the covers, what this augmented assignment statement is doing is " +"approximately this::" +msgstr "" +"Під обкладинками цей доповнений оператор присвоєння робить приблизно " +"наступне:" + +msgid "" +"It is the assignment part of the operation that produces the error, since a " +"tuple is immutable." +msgstr "" +"Саме частина операції присвоєння створює помилку, оскільки кортеж є " +"незмінним." + +msgid "When you write something like::" +msgstr "Коли ви пишете щось на зразок::" + +msgid "" +"The exception is a bit more surprising, and even more surprising is the fact " +"that even though there was an error, the append worked::" +msgstr "" +"Виняток є трохи більш дивним, і ще більш дивним є той факт, що, незважаючи " +"на помилку, додаток працював:" + +msgid "" +"To see why this happens, you need to know that (a) if an object implements " +"an :meth:`~object.__iadd__` magic method, it gets called when the ``+=`` " +"augmented assignment is executed, and its return value is what gets used in " +"the assignment statement; and (b) for lists, :meth:`!__iadd__` is equivalent " +"to calling :meth:`~list.extend` on the list and returning the list. That's " +"why we say that for lists, ``+=`` is a \"shorthand\" for :meth:`!list." +"extend`::" +msgstr "" + +msgid "This is equivalent to::" +msgstr "Це еквівалентно::" + +msgid "" +"The object pointed to by a_list has been mutated, and the pointer to the " +"mutated object is assigned back to ``a_list``. The end result of the " +"assignment is a no-op, since it is a pointer to the same object that " +"``a_list`` was previously pointing to, but the assignment still happens." +msgstr "" +"Об’єкт, на який вказує a_list, було змінено, і вказівник на змінений об’єкт " +"знову призначено ``a_list``. Кінцевим результатом призначення є no-op, " +"оскільки це вказівник на той самий об’єкт, на який раніше вказував " +"``a_list``, але призначення все одно відбувається." + +msgid "Thus, in our tuple example what is happening is equivalent to::" +msgstr "" +"Таким чином, у нашому прикладі кортежу те, що відбувається, еквівалентно::" + +msgid "" +"The :meth:`!__iadd__` succeeds, and thus the list is extended, but even " +"though ``result`` points to the same object that ``a_tuple[0]`` already " +"points to, that final assignment still results in an error, because tuples " +"are immutable." +msgstr "" + +msgid "" +"I want to do a complicated sort: can you do a Schwartzian Transform in " +"Python?" +msgstr "" +"Я хочу зробити складне сортування: чи можете ви виконати перетворення Шварца " +"в Python?" + +msgid "" +"The technique, attributed to Randal Schwartz of the Perl community, sorts " +"the elements of a list by a metric which maps each element to its \"sort " +"value\". In Python, use the ``key`` argument for the :meth:`list.sort` " +"method::" +msgstr "" +"Техніка, яку приписують Рендалу Шварцу зі спільноти Perl, сортує елементи " +"списку за метрикою, яка відображає кожен елемент на його \"значення " +"сортування\". У Python використовуйте аргумент ``key`` для методу :meth:" +"`list.sort`::" + +msgid "How can I sort one list by values from another list?" +msgstr "Як я можу сортувати один список за значеннями з іншого списку?" + +msgid "" +"Merge them into an iterator of tuples, sort the resulting list, and then " +"pick out the element you want. ::" +msgstr "" +"Об’єднайте їх у ітератор кортежів, відсортуйте отриманий список, а потім " +"виберіть потрібний елемент. ::" + +msgid "Objects" +msgstr "Об'єкти" + +msgid "What is a class?" +msgstr "Що таке клас?" + +msgid "" +"A class is the particular object type created by executing a class " +"statement. Class objects are used as templates to create instance objects, " +"which embody both the data (attributes) and code (methods) specific to a " +"datatype." +msgstr "" +"Клас — це окремий тип об’єкта, створений шляхом виконання оператора класу. " +"Об’єкти класу використовуються як шаблони для створення об’єктів " +"екземплярів, які втілюють як дані (атрибути), так і код (методи), специфічні " +"для типу даних." + +msgid "" +"A class can be based on one or more other classes, called its base " +"class(es). It then inherits the attributes and methods of its base classes. " +"This allows an object model to be successively refined by inheritance. You " +"might have a generic ``Mailbox`` class that provides basic accessor methods " +"for a mailbox, and subclasses such as ``MboxMailbox``, ``MaildirMailbox``, " +"``OutlookMailbox`` that handle various specific mailbox formats." +msgstr "" +"Клас може базуватися на одному або кількох інших класах, які називаються " +"базовими класами. Потім він успадковує атрибути та методи своїх базових " +"класів. Це дозволяє послідовно вдосконалювати об’єктну модель шляхом " +"успадкування. У вас може бути загальний клас ``Поштова скринька``, який " +"надає основні методи доступу до поштової скриньки, і підкласи, такі як " +"``MboxMailbox``, ``MaildirMailbox``, ``OutlookMailbox``, які обробляють " +"різні конкретні формати поштових скриньок." + +msgid "What is a method?" +msgstr "Що таке метод?" + +msgid "" +"A method is a function on some object ``x`` that you normally call as ``x." +"name(arguments...)``. Methods are defined as functions inside the class " +"definition::" +msgstr "" +"Метод — це функція для деякого об’єкта ``x``, який зазвичай викликається як " +"``x.name(arguments...)``. Методи визначаються як функції всередині " +"визначення класу::" + +msgid "What is self?" +msgstr "Що таке себе?" + +msgid "" +"Self is merely a conventional name for the first argument of a method. A " +"method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b, " +"c)`` for some instance ``x`` of the class in which the definition occurs; " +"the called method will think it is called as ``meth(x, a, b, c)``." +msgstr "" +"Self — це просто умовна назва для першого аргументу методу. Метод, " +"визначений як ``meth(self, a, b, c)``, слід викликати як ``x.meth(a, b, c)`` " +"для деякого екземпляра ``x`` класу, в якому відбувається визначення; " +"викликаний метод вважатиме, що він викликається як ``meth(x, a, b, c)``." + +msgid "See also :ref:`why-self`." +msgstr "Дивіться також :ref:`why-self`." + +msgid "" +"How do I check if an object is an instance of a given class or of a subclass " +"of it?" +msgstr "" +"Як перевірити, чи є об’єкт екземпляром заданого класу чи його підкласу?" + +msgid "" +"Use the built-in function :func:`isinstance(obj, cls) `. You " +"can check if an object is an instance of any of a number of classes by " +"providing a tuple instead of a single class, e.g. ``isinstance(obj, (class1, " +"class2, ...))``, and can also check whether an object is one of Python's " +"built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, " +"float, complex))``." +msgstr "" + +msgid "" +"Note that :func:`isinstance` also checks for virtual inheritance from an :" +"term:`abstract base class`. So, the test will return ``True`` for a " +"registered class even if hasn't directly or indirectly inherited from it. " +"To test for \"true inheritance\", scan the :term:`MRO` of the class:" +msgstr "" +"Зауважте, що :func:`isinstance` також перевіряє віртуальне успадкування від :" +"term:`abstract base class`. Таким чином, тест поверне ``True`` для " +"зареєстрованого класу, навіть якщо він прямо чи опосередковано не успадкував " +"його. Щоб перевірити \"справжнє успадкування\", проскануйте :term:`MRO` " +"класу:" + +msgid "" +"Note that most programs do not use :func:`isinstance` on user-defined " +"classes very often. If you are developing the classes yourself, a more " +"proper object-oriented style is to define methods on the classes that " +"encapsulate a particular behaviour, instead of checking the object's class " +"and doing a different thing based on what class it is. For example, if you " +"have a function that does something::" +msgstr "" +"Зауважте, що більшість програм не дуже часто використовують :func:" +"`isinstance` у визначених користувачем класах. Якщо ви розробляєте класи " +"самостійно, більш правильним об’єктно-орієнтованим стилем є визначення " +"методів у класах, які інкапсулюють конкретну поведінку, замість перевірки " +"класу об’єкта та виконання інших дій на основі того, який це клас. " +"Наприклад, якщо у вас є функція, яка щось робить:" + +msgid "" +"A better approach is to define a ``search()`` method on all the classes and " +"just call it::" +msgstr "" +"Кращий підхід полягає в тому, щоб визначити метод ``search()`` для всіх " +"класів і просто викликати його::" + +msgid "What is delegation?" +msgstr "Що таке делегування?" + +msgid "" +"Delegation is an object oriented technique (also called a design pattern). " +"Let's say you have an object ``x`` and want to change the behaviour of just " +"one of its methods. You can create a new class that provides a new " +"implementation of the method you're interested in changing and delegates all " +"other methods to the corresponding method of ``x``." +msgstr "" +"Делегування — це об’єктно-орієнтована техніка (яка також називається " +"шаблоном проектування). Припустімо, у вас є об’єкт ``x`` і ви хочете змінити " +"поведінку лише одного з його методів. Ви можете створити новий клас, який " +"забезпечує нову реалізацію методу, який ви хочете змінити, і делегує всі " +"інші методи відповідному методу ``x``." + +msgid "" +"Python programmers can easily implement delegation. For example, the " +"following class implements a class that behaves like a file but converts all " +"written data to uppercase::" +msgstr "" +"Програмісти на Python можуть легко реалізувати делегування. Наприклад, " +"наступний клас реалізує клас, який поводиться як файл, але перетворює всі " +"записані дані у верхній регістр:" + +msgid "" +"Here the ``UpperOut`` class redefines the ``write()`` method to convert the " +"argument string to uppercase before calling the underlying ``self._outfile." +"write()`` method. All other methods are delegated to the underlying ``self." +"_outfile`` object. The delegation is accomplished via the :meth:`~object." +"__getattr__` method; consult :ref:`the language reference ` for more information about controlling attribute access." +msgstr "" + +msgid "" +"Note that for more general cases delegation can get trickier. When " +"attributes must be set as well as retrieved, the class must define a :meth:" +"`~object.__setattr__` method too, and it must do so carefully. The basic " +"implementation of :meth:`!__setattr__` is roughly equivalent to the " +"following::" +msgstr "" + +msgid "" +"Most :meth:`!__setattr__` implementations must modify :meth:`self.__dict__ " +"` to store local state for self without causing an infinite " +"recursion." +msgstr "" + +msgid "" +"How do I call a method defined in a base class from a derived class that " +"extends it?" +msgstr "" +"Як викликати метод, визначений у базовому класі, з похідного класу, який " +"його розширює?" + +msgid "Use the built-in :func:`super` function::" +msgstr "Використовуйте вбудовану функцію :func:`super`::" + +msgid "" +"In the example, :func:`super` will automatically determine the instance from " +"which it was called (the ``self`` value), look up the :term:`method " +"resolution order` (MRO) with ``type(self).__mro__``, and return the next in " +"line after ``Derived`` in the MRO: ``Base``." +msgstr "" +"У прикладі :func:`super` автоматично визначатиме екземпляр, з якого його " +"було викликано (значення ``self``), шукатиме :term:`method resolution order` " +"(MRO) за допомогою ``type(self) ).__mro__`` і повертає наступний рядок після " +"``Derived`` у MRO: ``Base``." + +msgid "How can I organize my code to make it easier to change the base class?" +msgstr "Як я можу організувати свій код, щоб полегшити зміну базового класу?" + +msgid "" +"You could assign the base class to an alias and derive from the alias. Then " +"all you have to change is the value assigned to the alias. Incidentally, " +"this trick is also handy if you want to decide dynamically (e.g. depending " +"on availability of resources) which base class to use. Example::" +msgstr "" +"Ви можете призначити базовий клас псевдоніму та отримати його від " +"псевдоніма. Тоді все, що вам потрібно змінити, це значення, присвоєне " +"псевдоніму. До речі, цей прийом також зручний, якщо ви хочете динамічно " +"(наприклад, залежно від наявності ресурсів) вирішувати, який базовий клас " +"використовувати. Приклад::" + +msgid "How do I create static class data and static class methods?" +msgstr "Як створити статичні дані класу та статичні методи класу?" + +msgid "" +"Both static data and static methods (in the sense of C++ or Java) are " +"supported in Python." +msgstr "" +"У Python підтримуються як статичні дані, так і статичні методи (у сенсі C++ " +"або Java)." + +msgid "" +"For static data, simply define a class attribute. To assign a new value to " +"the attribute, you have to explicitly use the class name in the assignment::" +msgstr "" +"Для статичних даних просто визначте атрибут класу. Щоб призначити нове " +"значення атрибуту, ви повинні явно використовувати ім’я класу в призначенні::" + +msgid "" +"``c.count`` also refers to ``C.count`` for any ``c`` such that " +"``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " +"class on the base-class search path from ``c.__class__`` back to ``C``." +msgstr "" +"``c.count`` також посилається на ``C.count`` для будь-якого ``c`` такого, що " +"``isinstance(c, C)`` має місце, якщо не перевизначено самим ``c`` або " +"деякими на шляху пошуку базового класу від ``c.__class__`` назад до ``C``." + +msgid "" +"Caution: within a method of C, an assignment like ``self.count = 42`` " +"creates a new and unrelated instance named \"count\" in ``self``'s own " +"dict. Rebinding of a class-static data name must always specify the class " +"whether inside a method or not::" +msgstr "" +"Застереження: у методі C призначення на кшталт ``self.count = 42`` створює " +"новий і непов’язаний екземпляр під назвою \"count\" у власному дикторі " +"``self``. Повторне прив’язування назви статичних даних класу має завжди " +"вказувати клас незалежно від того, чи знаходиться він у методі чи ні:" + +msgid "Static methods are possible::" +msgstr "Можливі статичні методи:" + +msgid "" +"However, a far more straightforward way to get the effect of a static method " +"is via a simple module-level function::" +msgstr "" +"Однак набагато більш простий спосіб отримати ефект статичного методу — це за " +"допомогою простої функції на рівні модуля::" + +msgid "" +"If your code is structured so as to define one class (or tightly related " +"class hierarchy) per module, this supplies the desired encapsulation." +msgstr "" +"Якщо ваш код структурований таким чином, щоб визначити один клас (або тісно " +"пов’язану ієрархію класів) на модуль, це забезпечує бажану інкапсуляцію." + +msgid "How can I overload constructors (or methods) in Python?" +msgstr "Як я можу перевантажити конструктори (або методи) у Python?" + +msgid "" +"This answer actually applies to all methods, but the question usually comes " +"up first in the context of constructors." +msgstr "" +"Ця відповідь фактично стосується всіх методів, але зазвичай це питання " +"виникає першим у контексті конструкторів." + +msgid "In C++ you'd write" +msgstr "У C++ ви б написали" + +msgid "" +"In Python you have to write a single constructor that catches all cases " +"using default arguments. For example::" +msgstr "" +"У Python ви повинні написати єдиний конструктор, який ловить усі випадки, " +"використовуючи аргументи за замовчуванням. Наприклад::" + +msgid "This is not entirely equivalent, but close enough in practice." +msgstr "Це не зовсім еквівалентно, але досить близько на практиці." + +msgid "You could also try a variable-length argument list, e.g. ::" +msgstr "" +"Ви також можете спробувати список аргументів змінної довжини, наприклад. ::" + +msgid "The same approach works for all method definitions." +msgstr "Той самий підхід працює для всіх визначень методів." + +msgid "I try to use __spam and I get an error about _SomeClassName__spam." +msgstr "" +"Я намагаюся використовувати __спам і отримую помилку про " +"_SomeClassName__спам." + +msgid "" +"Variable names with double leading underscores are \"mangled\" to provide a " +"simple but effective way to define class private variables. Any identifier " +"of the form ``__spam`` (at least two leading underscores, at most one " +"trailing underscore) is textually replaced with ``_classname__spam``, where " +"``classname`` is the current class name with any leading underscores " +"stripped." +msgstr "" +"Назви змінних із подвійним підкресленням на початку \"спотворені\", щоб " +"забезпечити простий, але ефективний спосіб визначення приватних змінних " +"класу. Будь-який ідентифікатор у формі ``__spam`` (принаймні два символи " +"підкреслення на початку, не більше одного символу підкреслення в кінці) " +"текстово замінюється на ``_classname__spam``, де ``classname`` є поточною " +"назвою класу з будь-якими початковими символами підкреслення." + +msgid "" +"This doesn't guarantee privacy: an outside user can still deliberately " +"access the \"_classname__spam\" attribute, and private values are visible in " +"the object's ``__dict__``. Many Python programmers never bother to use " +"private variable names at all." +msgstr "" +"Це не гарантує конфіденційності: зовнішній користувач усе ще може навмисно " +"отримати доступ до атрибута \"_classname__spam\", а приватні значення " +"відображаються в ``__dict__`` об’єкта. Багато програмістів на Python взагалі " +"ніколи не використовують приватні імена змінних." + +msgid "My class defines __del__ but it is not called when I delete the object." +msgstr "" +"Мій клас визначає __del__, але він не викликається, коли я видаляю об’єкт." + +msgid "There are several possible reasons for this." +msgstr "Для цього є кілька можливих причин." + +msgid "" +"The :keyword:`del` statement does not necessarily call :meth:`~object." +"__del__` -- it simply decrements the object's reference count, and if this " +"reaches zero :meth:`!__del__` is called." +msgstr "" + +msgid "" +"If your data structures contain circular links (e.g. a tree where each child " +"has a parent reference and each parent has a list of children) the reference " +"counts will never go back to zero. Once in a while Python runs an algorithm " +"to detect such cycles, but the garbage collector might run some time after " +"the last reference to your data structure vanishes, so your :meth:`!__del__` " +"method may be called at an inconvenient and random time. This is " +"inconvenient if you're trying to reproduce a problem. Worse, the order in " +"which object's :meth:`!__del__` methods are executed is arbitrary. You can " +"run :func:`gc.collect` to force a collection, but there *are* pathological " +"cases where objects will never be collected." +msgstr "" + +msgid "" +"Despite the cycle collector, it's still a good idea to define an explicit " +"``close()`` method on objects to be called whenever you're done with them. " +"The ``close()`` method can then remove attributes that refer to subobjects. " +"Don't call :meth:`!__del__` directly -- :meth:`!__del__` should call " +"``close()`` and ``close()`` should make sure that it can be called more than " +"once for the same object." +msgstr "" + +msgid "" +"Another way to avoid cyclical references is to use the :mod:`weakref` " +"module, which allows you to point to objects without incrementing their " +"reference count. Tree data structures, for instance, should use weak " +"references for their parent and sibling references (if they need them!)." +msgstr "" +"Іншим способом уникнути циклічних посилань є використання модуля :mod:" +"`weakref`, який дозволяє вам вказувати на об’єкти, не збільшуючи їх " +"кількість посилань. Деревоподібні структури даних, наприклад, повинні " +"використовувати слабкі посилання для своїх батьківських і братських посилань " +"(якщо вони їм потрібні!)." + +msgid "" +"Finally, if your :meth:`!__del__` method raises an exception, a warning " +"message is printed to :data:`sys.stderr`." +msgstr "" + +msgid "How do I get a list of all instances of a given class?" +msgstr "Як отримати список усіх екземплярів певного класу?" + +msgid "" +"Python does not keep track of all instances of a class (or of a built-in " +"type). You can program the class's constructor to keep track of all " +"instances by keeping a list of weak references to each instance." +msgstr "" +"Python не відстежує всі екземпляри класу (або вбудованого типу). Ви можете " +"запрограмувати конструктор класу для відстеження всіх екземплярів, " +"зберігаючи список слабких посилань на кожен екземпляр." + +msgid "Why does the result of ``id()`` appear to be not unique?" +msgstr "Чому результат ``id()`` здається не унікальним?" + +msgid "" +"The :func:`id` builtin returns an integer that is guaranteed to be unique " +"during the lifetime of the object. Since in CPython, this is the object's " +"memory address, it happens frequently that after an object is deleted from " +"memory, the next freshly created object is allocated at the same position in " +"memory. This is illustrated by this example:" +msgstr "" +"Вбудований :func:`id` повертає ціле число, яке гарантовано буде унікальним " +"протягом усього життя об’єкта. Оскільки в CPython це адреса пам’яті об’єкта, " +"часто трапляється так, що після видалення об’єкта з пам’яті наступний щойно " +"створений об’єкт розміщується в тій же позиції в пам’яті. Це проілюстровано " +"таким прикладом:" + +msgid "" +"The two ids belong to different integer objects that are created before, and " +"deleted immediately after execution of the ``id()`` call. To be sure that " +"objects whose id you want to examine are still alive, create another " +"reference to the object:" +msgstr "" +"Два ідентифікатори належать до різних цілочисельних об’єктів, створених " +"раніше та видалених одразу після виконання виклику ``id()``. Щоб " +"переконатися, що об’єкти, чий ідентифікатор ви хочете перевірити, все ще " +"живі, створіть інше посилання на об’єкт:" + +msgid "When can I rely on identity tests with the *is* operator?" +msgstr "Коли я можу покладатися на перевірку ідентичності з оператором *is*?" + +msgid "" +"The ``is`` operator tests for object identity. The test ``a is b`` is " +"equivalent to ``id(a) == id(b)``." +msgstr "" +"Оператор ``is`` перевіряє ідентичність об'єкта. Перевірка \"a is b\" " +"еквівалентна \"id(a) == id(b)\"." + +msgid "" +"The most important property of an identity test is that an object is always " +"identical to itself, ``a is a`` always returns ``True``. Identity tests are " +"usually faster than equality tests. And unlike equality tests, identity " +"tests are guaranteed to return a boolean ``True`` or ``False``." +msgstr "" +"Найважливіша властивість перевірки ідентичності полягає в тому, що об’єкт " +"завжди ідентичний самому собі, ``a is a`` завжди повертає ``True``. Тести " +"ідентифікації зазвичай швидші, ніж тести рівності. І на відміну від тестів " +"на рівність, тести ідентичності гарантовано повертають логічне значення " +"``True`` або ``False``." + +msgid "" +"However, identity tests can *only* be substituted for equality tests when " +"object identity is assured. Generally, there are three circumstances where " +"identity is guaranteed:" +msgstr "" +"Однак тести на ідентичність можна *тільки* замінити на тести на рівність, " +"якщо ідентичність об’єкта забезпечена. Загалом існує три обставини, за яких " +"ідентичність гарантується:" + +msgid "" +"1) Assignments create new names but do not change object identity. After " +"the assignment ``new = old``, it is guaranteed that ``new is old``." +msgstr "" +"1) Присвоєння створює нові імена, але не змінює ідентифікацію об’єкта. Після " +"присвоєння ``нове = старе`` гарантується, що ``нове є старим``." + +msgid "" +"2) Putting an object in a container that stores object references does not " +"change object identity. After the list assignment ``s[0] = x``, it is " +"guaranteed that ``s[0] is x``." +msgstr "" +"2) Поміщення об’єкта в контейнер, який зберігає посилання на об’єкти, не " +"змінює ідентифікацію об’єкта. Після присвоєння списку ``s[0] = x`` " +"гарантується, що ``s[0] є x``." + +msgid "" +"3) If an object is a singleton, it means that only one instance of that " +"object can exist. After the assignments ``a = None`` and ``b = None``, it " +"is guaranteed that ``a is b`` because ``None`` is a singleton." +msgstr "" +"3) Якщо об’єкт є єдиним, це означає, що може існувати лише один екземпляр " +"цього об’єкта. Після присвоєння ``a = None`` і ``b = None`` гарантується, що " +"``a є b``, оскільки ``None`` є єдиним елементом." + +msgid "" +"In most other circumstances, identity tests are inadvisable and equality " +"tests are preferred. In particular, identity tests should not be used to " +"check constants such as :class:`int` and :class:`str` which aren't " +"guaranteed to be singletons::" +msgstr "" +"У більшості інших обставин тести на ідентичність є недоцільними, а тести на " +"рівність є кращими. Зокрема, тести ідентичності не слід використовувати для " +"перевірки таких констант, як :class:`int` і :class:`str`, які не гарантовано " +"є одиночними:" + +msgid "Likewise, new instances of mutable containers are never identical::" +msgstr "" +"Подібним чином нові екземпляри змінних контейнерів ніколи не бувають " +"ідентичними:" + +msgid "" +"In the standard library code, you will see several common patterns for " +"correctly using identity tests:" +msgstr "" +"У коді стандартної бібліотеки ви побачите кілька загальних шаблонів для " +"правильного використання тестів ідентичності:" + +msgid "" +"1) As recommended by :pep:`8`, an identity test is the preferred way to " +"check for ``None``. This reads like plain English in code and avoids " +"confusion with other objects that may have boolean values that evaluate to " +"false." +msgstr "" +"1) Відповідно до рекомендацій :pep:`8`, тест ідентичності є кращим способом " +"перевірки ``None``. Це читається як звичайна англійська мова в коді та " +"дозволяє уникнути плутанини з іншими об’єктами, які можуть мати логічні " +"значення, які оцінюються як false." + +msgid "" +"2) Detecting optional arguments can be tricky when ``None`` is a valid input " +"value. In those situations, you can create a singleton sentinel object " +"guaranteed to be distinct from other objects. For example, here is how to " +"implement a method that behaves like :meth:`dict.pop`::" +msgstr "" + +msgid "" +"3) Container implementations sometimes need to augment equality tests with " +"identity tests. This prevents the code from being confused by objects such " +"as ``float('NaN')`` that are not equal to themselves." +msgstr "" +"3) Контейнерні реалізації іноді потребують доповнення тестів на рівність " +"тестами ідентичності. Це запобігає заплутанню коду такими об’єктами, як " +"``float('NaN')``, які не дорівнюють собі." + +msgid "" +"For example, here is the implementation of :meth:`collections.abc.Sequence." +"__contains__`::" +msgstr "" +"Наприклад, ось реалізація :meth:`collections.abc.Sequence.__contains__`::" + +msgid "" +"How can a subclass control what data is stored in an immutable instance?" +msgstr "" +"Як підклас може контролювати, які дані зберігаються в незмінному екземплярі?" + +msgid "" +"When subclassing an immutable type, override the :meth:`~object.__new__` " +"method instead of the :meth:`~object.__init__` method. The latter only runs " +"*after* an instance is created, which is too late to alter data in an " +"immutable instance." +msgstr "" + +msgid "" +"All of these immutable classes have a different signature than their parent " +"class:" +msgstr "Усі ці незмінні класи мають інший підпис, ніж їх батьківський клас:" + +msgid "The classes can be used like this:" +msgstr "Класи можна використовувати так:" + +msgid "How do I cache method calls?" +msgstr "Як кешувати виклики методів?" + +msgid "" +"The two principal tools for caching methods are :func:`functools." +"cached_property` and :func:`functools.lru_cache`. The former stores results " +"at the instance level and the latter at the class level." +msgstr "" +"Двома основними інструментами для методів кешування є :func:`functools." +"cached_property` і :func:`functools.lru_cache`. Перший зберігає результати " +"на рівні екземпляра, а другий — на рівні класу." + +msgid "" +"The *cached_property* approach only works with methods that do not take any " +"arguments. It does not create a reference to the instance. The cached " +"method result will be kept only as long as the instance is alive." +msgstr "" +"Підхід *cached_property* працює лише з методами, які не приймають жодних " +"аргументів. Він не створює посилання на екземпляр. Кешований результат " +"методу зберігатиметься лише доти, доки екземпляр активний." + +msgid "" +"The advantage is that when an instance is no longer used, the cached method " +"result will be released right away. The disadvantage is that if instances " +"accumulate, so too will the accumulated method results. They can grow " +"without bound." +msgstr "" +"Перевагою є те, що коли екземпляр більше не використовується, кешований " +"результат методу буде негайно опубліковано. Недоліком є те, що якщо " +"екземпляри накопичуються, накопичений метод теж буде результатом. Вони " +"можуть рости необмежено." + +msgid "" +"The *lru_cache* approach works with methods that have hashable arguments. " +"It creates a reference to the instance unless special efforts are made to " +"pass in weak references." +msgstr "" +"Підхід *lru_cache* працює з методами, які мають хешовані аргументи. Він " +"створює посилання на екземпляр, якщо не докладаються спеціальні зусилля для " +"передачі слабких посилань." + +msgid "" +"The advantage of the least recently used algorithm is that the cache is " +"bounded by the specified *maxsize*. The disadvantage is that instances are " +"kept alive until they age out of the cache or until the cache is cleared." +msgstr "" +"Перевага найменш використовуваного алгоритму полягає в тому, що кеш " +"обмежений указаним *maxsize*. Недоліком є те, що екземпляри залишаються " +"активними, поки вони не вичерпаються з кешу або поки кеш не буде очищено." + +msgid "This example shows the various techniques::" +msgstr "Цей приклад демонструє різні техніки:" + +msgid "" +"The above example assumes that the *station_id* never changes. If the " +"relevant instance attributes are mutable, the *cached_property* approach " +"can't be made to work because it cannot detect changes to the attributes." +msgstr "" +"Наведений вище приклад передбачає, що *station_id* ніколи не змінюється. " +"Якщо відповідні атрибути екземпляра є змінними, підхід *cached_property* не " +"може працювати, оскільки він не може виявити зміни в атрибутах." + +msgid "" +"To make the *lru_cache* approach work when the *station_id* is mutable, the " +"class needs to define the :meth:`~object.__eq__` and :meth:`~object." +"__hash__` methods so that the cache can detect relevant attribute updates::" +msgstr "" + +msgid "Modules" +msgstr "Модулі" + +msgid "How do I create a .pyc file?" +msgstr "Як створити файл .pyc?" + +msgid "" +"When a module is imported for the first time (or when the source file has " +"changed since the current compiled file was created) a ``.pyc`` file " +"containing the compiled code should be created in a ``__pycache__`` " +"subdirectory of the directory containing the ``.py`` file. The ``.pyc`` " +"file will have a filename that starts with the same name as the ``.py`` " +"file, and ends with ``.pyc``, with a middle component that depends on the " +"particular ``python`` binary that created it. (See :pep:`3147` for details.)" +msgstr "" +"Коли модуль імпортується вперше (або якщо вихідний файл змінився після " +"створення поточного скомпільованого файлу), файл ``.pyc``, що містить " +"скомпільований код, має бути створений у підкаталозі ``__pycache__`` " +"каталог, що містить файл ``.py``. Файл ``.pyc`` матиме назву файлу, яка " +"починається з тієї самої назви, що й файл ``.py``, і закінчується ``.pyc``, " +"із середнім компонентом, який залежить від конкретного ``python`` двійковий " +"файл, який його створив. (Докладніше див. :pep:`3147`.)" + +msgid "" +"One reason that a ``.pyc`` file may not be created is a permissions problem " +"with the directory containing the source file, meaning that the " +"``__pycache__`` subdirectory cannot be created. This can happen, for " +"example, if you develop as one user but run as another, such as if you are " +"testing with a web server." +msgstr "" +"Однією з причин того, що файл ``.pyc`` може не бути створений, є проблема з " +"дозволами для каталогу, що містить вихідний файл, тобто неможливо створити " +"підкаталог ``__pycache__``. Це може статися, наприклад, якщо ви розробляєте " +"як один користувач, але запускаєте як інший, наприклад, якщо ви тестуєте за " +"допомогою веб-сервера." + +msgid "" +"Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " +"creation of a .pyc file is automatic if you're importing a module and Python " +"has the ability (permissions, free space, etc...) to create a " +"``__pycache__`` subdirectory and write the compiled module to that " +"subdirectory." +msgstr "" +"Якщо не встановлено змінну середовища :envvar:`PYTHONDONTWRITEBYTECODE`, " +"створення файлу .pyc відбувається автоматично, якщо ви імпортуєте модуль і " +"Python має можливість (дозволи, вільне місце тощо) створити ``__pycache__`` " +"підкаталог і записати скомпільований модуль у цей підкаталог." + +msgid "" +"Running Python on a top level script is not considered an import and no ``." +"pyc`` will be created. For example, if you have a top-level module ``foo." +"py`` that imports another module ``xyz.py``, when you run ``foo`` (by typing " +"``python foo.py`` as a shell command), a ``.pyc`` will be created for " +"``xyz`` because ``xyz`` is imported, but no ``.pyc`` file will be created " +"for ``foo`` since ``foo.py`` isn't being imported." +msgstr "" +"Запуск Python на сценарії верхнього рівня не вважається імпортом, і ``.pyc`` " +"не буде створено. Наприклад, якщо у вас є модуль верхнього рівня ``foo.py``, " +"який імпортує інший модуль ``xyz.py``, коли ви запускаєте ``foo`` (ввівши " +"``python foo.py`` як команду оболонки), для ``xyz`` буде створено ``.pyc``, " +"оскільки ``xyz`` імпортовано, але файл ``.pyc`` не буде створено для " +"``foo``, оскільки ``foo.py`` не імпортується." + +msgid "" +"If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a ``." +"pyc`` file for a module that is not imported -- you can, using the :mod:" +"`py_compile` and :mod:`compileall` modules." +msgstr "" +"Якщо вам потрібно створити файл ``.pyc`` для ``foo``, тобто створити файл ``." +"pyc`` для модуля, який не імпортується, ви можете, використовувати модулі :" +"mod:`py_compile` і :mod:`compileall`." + +msgid "" +"The :mod:`py_compile` module can manually compile any module. One way is to " +"use the ``compile()`` function in that module interactively::" +msgstr "" +"Модуль :mod:`py_compile` може вручну скомпілювати будь-який модуль. Одним із " +"способів є використання функції ``compile()`` у цьому модулі в " +"інтерактивному режимі:" + +msgid "" +"This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " +"location as ``foo.py`` (or you can override that with the optional parameter " +"``cfile``)." +msgstr "" +"Це запише ``.pyc`` до підкаталогу ``__pycache__`` в тому самому місці, що " +"``foo.py`` (або ви можете змінити це за допомогою додаткового параметра " +"``cfile``)." + +msgid "" +"You can also automatically compile all files in a directory or directories " +"using the :mod:`compileall` module. You can do it from the shell prompt by " +"running ``compileall.py`` and providing the path of a directory containing " +"Python files to compile::" +msgstr "" +"Ви також можете автоматично скомпілювати всі файли в каталозі або каталогах " +"за допомогою модуля :mod:`compileall`. Ви можете зробити це з підказки " +"оболонки, запустивши ``compileall.py`` і вказавши шлях до каталогу, що " +"містить файли Python для компіляції::" + +msgid "How do I find the current module name?" +msgstr "Як знайти поточну назву модуля?" + +msgid "" +"A module can find out its own module name by looking at the predefined " +"global variable ``__name__``. If this has the value ``'__main__'``, the " +"program is running as a script. Many modules that are usually used by " +"importing them also provide a command-line interface or a self-test, and " +"only execute this code after checking ``__name__``::" +msgstr "" +"Модуль може дізнатися власну назву модуля, дивлячись на попередньо визначену " +"глобальну змінну ``__name__``. Якщо має значення ``'__main__``, програма " +"виконується як сценарій. Багато модулів, які зазвичай використовуються " +"шляхом їх імпорту, також забезпечують інтерфейс командного рядка або " +"самоперевірку та виконують цей код лише після перевірки ``__name__``::" + +msgid "How can I have modules that mutually import each other?" +msgstr "Як я можу мати модулі, які взаємно імпортують один одного?" + +msgid "Suppose you have the following modules:" +msgstr "Припустимо, у вас є такі модулі:" + +msgid ":file:`foo.py`::" +msgstr ":file:`foo.py`::" + +msgid ":file:`bar.py`::" +msgstr ":file:`bar.py`::" + +msgid "The problem is that the interpreter will perform the following steps:" +msgstr "Проблема полягає в тому, що перекладач виконуватиме наступні кроки:" + +msgid "main imports ``foo``" +msgstr "основний імпорт ``foo``" + +msgid "Empty globals for ``foo`` are created" +msgstr "Створюються порожні глобальні значення для ``foo``" + +msgid "``foo`` is compiled and starts executing" +msgstr "``foo`` компілюється та починає виконуватися" + +msgid "``foo`` imports ``bar``" +msgstr "``foo`` імпортує ``bar``" + +msgid "Empty globals for ``bar`` are created" +msgstr "Створено порожні глобали для ``bar``" + +msgid "``bar`` is compiled and starts executing" +msgstr "``bar`` компілюється та починає виконуватися" + +msgid "" +"``bar`` imports ``foo`` (which is a no-op since there already is a module " +"named ``foo``)" +msgstr "" +"``bar`` імпортує ``foo`` (що є безопераційним, оскільки вже існує модуль з " +"назвою ``foo``)" + +msgid "" +"The import mechanism tries to read ``foo_var`` from ``foo`` globals, to set " +"``bar.foo_var = foo.foo_var``" +msgstr "" +"Механізм імпорту намагається прочитати ``foo_var`` з ``foo`` глобальних, щоб " +"встановити ``bar.foo_var = foo.foo_var``" + +msgid "" +"The last step fails, because Python isn't done with interpreting ``foo`` yet " +"and the global symbol dictionary for ``foo`` is still empty." +msgstr "" +"Останній крок не вдається, оскільки Python ще не завершив інтерпретацію " +"``foo``, а глобальний словник символів для ``foo`` все ще порожній." + +msgid "" +"The same thing happens when you use ``import foo``, and then try to access " +"``foo.foo_var`` in global code." +msgstr "" +"Те ж саме відбувається, коли ви використовуєте ``import foo``, а потім " +"намагаєтесь отримати доступ ``foo.foo_var`` у глобальному коді." + +msgid "There are (at least) three possible workarounds for this problem." +msgstr "Є (принаймні) три можливі способи вирішення цієї проблеми." + +msgid "" +"Guido van Rossum recommends avoiding all uses of ``from import ..." +"``, and placing all code inside functions. Initializations of global " +"variables and class variables should use constants or built-in functions " +"only. This means everything from an imported module is referenced as " +"``.``." +msgstr "" +"Гвідо ван Россум рекомендує уникати будь-якого використання ``from " +"import ...`` і розміщувати весь код у функціях. Для ініціалізації глобальних " +"змінних і змінних класу слід використовувати лише константи або вбудовані " +"функції. Це означає, що все з імпортованого модуля посилається як " +"`` . ``." + +msgid "" +"Jim Roskind suggests performing steps in the following order in each module:" +msgstr "" +"Джим Роскінд пропонує виконувати кроки в такому порядку в кожному модулі:" + +msgid "" +"exports (globals, functions, and classes that don't need imported base " +"classes)" +msgstr "" +"експорт (глобальні елементи, функції та класи, яким не потрібні імпортовані " +"базові класи)" + +msgid "``import`` statements" +msgstr "оператори ``імпорту``" + +msgid "" +"active code (including globals that are initialized from imported values)." +msgstr "" +"активний код (включаючи глобальні значення, ініціалізовані з імпортованих " +"значень)." + +msgid "" +"Van Rossum doesn't like this approach much because the imports appear in a " +"strange place, but it does work." +msgstr "" +"Ван Россуму не дуже подобається такий підхід, оскільки імпорт з’являється в " +"незнайомому місці, але він працює." + +msgid "" +"Matthias Urlichs recommends restructuring your code so that the recursive " +"import is not necessary in the first place." +msgstr "" +"Матіас Урліхс рекомендує реструктуризувати ваш код, щоб рекурсивний імпорт " +"не був необхідним." + +msgid "These solutions are not mutually exclusive." +msgstr "Ці рішення не є взаємовиключними." + +msgid "__import__('x.y.z') returns ; how do I get z?" +msgstr "__import__('x.y.z') повертає ; як я можу отримати z?" + +msgid "" +"Consider using the convenience function :func:`~importlib.import_module` " +"from :mod:`importlib` instead::" +msgstr "" +"Замість цього можна скористатися зручною функцією :func:`~importlib." +"import_module` з :mod:`importlib`::" + +msgid "" +"When I edit an imported module and reimport it, the changes don't show up. " +"Why does this happen?" +msgstr "" +"Коли я редагую імпортований модуль і повторно імпортую його, зміни не " +"відображаються. чому це відбувається" + +msgid "" +"For reasons of efficiency as well as consistency, Python only reads the " +"module file on the first time a module is imported. If it didn't, in a " +"program consisting of many modules where each one imports the same basic " +"module, the basic module would be parsed and re-parsed many times. To force " +"re-reading of a changed module, do this::" +msgstr "" +"З міркувань ефективності та узгодженості Python читає файл модуля лише під " +"час першого імпорту модуля. Якби цього не було, у програмі, що складається з " +"багатьох модулів, кожен з яких імпортує той самий базовий модуль, базовий " +"модуль аналізувався б і повторно аналізувався багато разів. Щоб примусово " +"перечитати змінений модуль, виконайте наступне:" + +msgid "" +"Warning: this technique is not 100% fool-proof. In particular, modules " +"containing statements like ::" +msgstr "" +"Попередження: ця техніка не є на 100% надійною. Зокрема, модулі, що містять " +"оператори типу ::" + +msgid "" +"will continue to work with the old version of the imported objects. If the " +"module contains class definitions, existing class instances will *not* be " +"updated to use the new class definition. This can result in the following " +"paradoxical behaviour::" +msgstr "" +"продовжить працювати зі старою версією імпортованих об'єктів. Якщо модуль " +"містить визначення класу, існуючі екземпляри класу *не* будуть оновлені для " +"використання нового визначення класу. Це може призвести до наступної " +"парадоксальної поведінки:" + +msgid "" +"The nature of the problem is made clear if you print out the \"identity\" of " +"the class objects::" +msgstr "" +"Природа проблеми стане зрозумілою, якщо ви роздрукуєте \"ідентичність\" " +"об’єктів класу:" diff --git a/faq/windows.po b/faq/windows.po new file mode 100644 index 000000000..82b802b79 --- /dev/null +++ b/faq/windows.po @@ -0,0 +1,460 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python on Windows FAQ" +msgstr "Поширені запитання про Python у Windows" + +msgid "Contents" +msgstr "Зміст" + +msgid "How do I run a Python program under Windows?" +msgstr "Як запустити програму Python під Windows?" + +msgid "" +"This is not necessarily a straightforward question. If you are already " +"familiar with running programs from the Windows command line then everything " +"will seem obvious; otherwise, you might need a little more guidance." +msgstr "" +"Це не обов’язково однозначне запитання. Якщо ви вже знайомі із запуском " +"програм із командного рядка Windows, то все буде здаватися очевидним; інакше " +"вам може знадобитися трохи більше вказівок." + +msgid "" +"Unless you use some sort of integrated development environment, you will end " +"up *typing* Windows commands into what is referred to as a \"Command prompt " +"window\". Usually you can create such a window from your search bar by " +"searching for ``cmd``. You should be able to recognize when you have " +"started such a window because you will see a Windows \"command prompt\", " +"which usually looks like this:" +msgstr "" +"Якщо ви не використовуєте якесь інтегроване середовище розробки, вам " +"доведеться *вводити* команди Windows у так зване \"вікно командного рядка\". " +"Зазвичай ви можете створити таке вікно з панелі пошуку, виконавши пошук за " +"``cmd``. Ви повинні мати змогу розпізнати, коли ви запустили таке вікно, " +"оскільки ви побачите \"командний рядок\" Windows, який зазвичай виглядає так:" + +msgid "" +"The letter may be different, and there might be other things after it, so " +"you might just as easily see something like:" +msgstr "" +"Літера може бути іншою, і після неї можуть бути інші речі, тому ви можете " +"так само легко побачити щось на зразок:" + +msgid "" +"depending on how your computer has been set up and what else you have " +"recently done with it. Once you have started such a window, you are well on " +"the way to running Python programs." +msgstr "" +"залежно від того, як налаштовано ваш комп’ютер і що ще ви нещодавно з ним " +"робили. Як тільки ви запустили таке вікно, ви вже на шляху до запуску " +"програм Python." + +msgid "" +"You need to realize that your Python scripts have to be processed by another " +"program called the Python *interpreter*. The interpreter reads your script, " +"compiles it into bytecodes, and then executes the bytecodes to run your " +"program. So, how do you arrange for the interpreter to handle your Python?" +msgstr "" +"Ви повинні усвідомити, що ваші сценарії Python мають оброблятися іншою " +"програмою під назвою *інтерпретатор* Python. Інтерпретатор читає ваш " +"сценарій, компілює його в байт-коди, а потім виконує байт-коди для запуску " +"вашої програми. Отже, як організувати роботу інтерпретатора з вашим Python?" + +msgid "" +"First, you need to make sure that your command window recognises the word " +"\"py\" as an instruction to start the interpreter. If you have opened a " +"command window, you should try entering the command ``py`` and hitting " +"return:" +msgstr "" +"По-перше, вам потрібно переконатися, що ваше командне вікно розпізнає слово " +"\"py\" як інструкцію для запуску інтерпретатора. Якщо ви відкрили командне " +"вікно, спробуйте ввести команду ``py`` і натиснути клавішу return:" + +msgid "You should then see something like:" +msgstr "Тоді ви повинні побачити щось на зразок:" + +msgid "" +"You have started the interpreter in \"interactive mode\". That means you can " +"enter Python statements or expressions interactively and have them executed " +"or evaluated while you wait. This is one of Python's strongest features. " +"Check it by entering a few expressions of your choice and seeing the results:" +msgstr "" +"Ви запустили перекладач в \"інтерактивному режимі\". Це означає, що ви " +"можете інтерактивно вводити оператори або вирази Python і виконувати їх чи " +"оцінювати, поки ви чекаєте. Це одна з найсильніших можливостей Python. " +"Перевірте це, ввівши кілька виразів на ваш вибір і переглянувши результати:" + +msgid "" +"Many people use the interactive mode as a convenient yet highly programmable " +"calculator. When you want to end your interactive Python session, call the :" +"func:`exit` function or hold the :kbd:`Ctrl` key down while you enter a :kbd:" +"`Z`, then hit the \":kbd:`Enter`\" key to get back to your Windows command " +"prompt." +msgstr "" +"Багато людей використовують інтерактивний режим як зручний, але добре " +"програмований калькулятор. Якщо ви хочете завершити свій інтерактивний сеанс " +"Python, викличте функцію :func:`exit` або утримуйте клавішу :kbd:`Ctrl`, " +"вводячи :kbd:`Z`, а потім натисніть \":kbd:`Enter`\", щоб повернутися до " +"командного рядка Windows." + +msgid "" +"You may also find that you have a Start-menu entry such as :menuselection:" +"`Start --> Programs --> Python 3.x --> Python (command line)` that results " +"in you seeing the ``>>>`` prompt in a new window. If so, the window will " +"disappear after you call the :func:`exit` function or enter the :kbd:`Ctrl-" +"Z` character; Windows is running a single \"python\" command in the window, " +"and closes it when you terminate the interpreter." +msgstr "" +"Ви також можете виявити, що у вас є пункт меню \"Пуск\", наприклад :" +"menuselection:`Пуск --> Програми --> Python 3.x --> Python (командний " +"рядок)`, який призводить до того, що ви бачите ``>>>`` у новому вікні. Якщо " +"так, вікно зникне після виклику функції :func:`exit` або введення символу :" +"kbd:`Ctrl-Z`; Windows виконує одну команду \"python\" у вікні та закриває " +"її, коли ви завершуєте роботу інтерпретатора." + +msgid "" +"Now that we know the ``py`` command is recognized, you can give your Python " +"script to it. You'll have to give either an absolute or a relative path to " +"the Python script. Let's say your Python script is located in your desktop " +"and is named ``hello.py``, and your command prompt is nicely opened in your " +"home directory so you're seeing something similar to::" +msgstr "" +"Тепер, коли ми знаємо, що команда ``py`` розпізнається, ви можете надати їй " +"свій сценарій Python. Вам потрібно буде вказати або абсолютний, або " +"відносний шлях до сценарію Python. Припустімо, що ваш сценарій Python " +"розташований на робочому столі та має назву ``hello.py``, а ваш командний " +"рядок добре відкрито у вашому домашньому каталозі, тому ви бачите щось " +"подібне до:" + +msgid "" +"So now you'll ask the ``py`` command to give your script to Python by typing " +"``py`` followed by your script path::" +msgstr "" +"Отже, тепер ви попросите команду ``py`` передати ваш сценарій Python, ввівши " +"``py``, а потім шлях до вашого сценарію::" + +msgid "How do I make Python scripts executable?" +msgstr "Як зробити сценарії Python виконуваними?" + +msgid "" +"On Windows, the standard Python installer already associates the .py " +"extension with a file type (Python.File) and gives that file type an open " +"command that runs the interpreter (``D:\\Program Files\\Python\\python.exe " +"\"%1\" %*``). This is enough to make scripts executable from the command " +"prompt as 'foo.py'. If you'd rather be able to execute the script by simple " +"typing 'foo' with no extension you need to add .py to the PATHEXT " +"environment variable." +msgstr "" +"У Windows стандартний інсталятор Python уже пов’язує розширення .py з типом " +"файлу (Python.File) і дає цьому типу файлу команду відкриття, яка запускає " +"інтерпретатор (``D:\\Program Files\\Python\\python.exe \"% 1\" %*``). Цього " +"достатньо, щоб зробити скрипти виконуваними з командного рядка як \"foo.py" +"\". Якщо ви бажаєте виконати сценарій, просто ввівши 'foo' без розширення, " +"вам потрібно додати .py до змінної середовища PATHEXT." + +msgid "Why does Python sometimes take so long to start?" +msgstr "Чому іноді Python запускається так довго?" + +msgid "" +"Usually Python starts very quickly on Windows, but occasionally there are " +"bug reports that Python suddenly begins to take a long time to start up. " +"This is made even more puzzling because Python will work fine on other " +"Windows systems which appear to be configured identically." +msgstr "" +"Зазвичай Python запускається дуже швидко в Windows, але іноді з’являються " +"повідомлення про помилки, коли Python раптово починає займати багато часу " +"для запуску. Це стає ще більш загадковим, оскільки Python добре працюватиме " +"на інших системах Windows, які, здається, налаштовані однаково." + +msgid "" +"The problem may be caused by a misconfiguration of virus checking software " +"on the problem machine. Some virus scanners have been known to introduce " +"startup overhead of two orders of magnitude when the scanner is configured " +"to monitor all reads from the filesystem. Try checking the configuration of " +"virus scanning software on your systems to ensure that they are indeed " +"configured identically. McAfee, when configured to scan all file system read " +"activity, is a particular offender." +msgstr "" +"Проблема може бути викликана неправильною конфігурацією програмного " +"забезпечення перевірки вірусів на проблемній машині. Відомо, що деякі " +"сканери вірусів створюють накладні витрати на запуск у два порядки величини, " +"коли сканер налаштовано на моніторинг усіх зчитувань із файлової системи. " +"Спробуйте перевірити конфігурацію програмного забезпечення для сканування " +"вірусів у своїх системах, щоб переконатися, що вони справді налаштовані " +"однаково. McAfee, налаштований на сканування всіх операцій читання файлової " +"системи, є особливим порушником." + +msgid "How do I make an executable from a Python script?" +msgstr "Як створити виконуваний файл із сценарію Python?" + +msgid "" +"See :ref:`faq-create-standalone-binary` for a list of tools that can be used " +"to make executables." +msgstr "" +"Перегляньте :ref:`faq-create-standalone-binary` список інструментів, які " +"можна використовувати для створення виконуваних файлів." + +msgid "Is a ``*.pyd`` file the same as a DLL?" +msgstr "Чи файл ``*.pyd`` те саме, що DLL?" + +msgid "" +"Yes, .pyd files are dll's, but there are a few differences. If you have a " +"DLL named ``foo.pyd``, then it must have a function ``PyInit_foo()``. You " +"can then write Python \"import foo\", and Python will search for foo.pyd (as " +"well as foo.py, foo.pyc) and if it finds it, will attempt to call " +"``PyInit_foo()`` to initialize it. You do not link your .exe with foo.lib, " +"as that would cause Windows to require the DLL to be present." +msgstr "" +"Так, файли .pyd є dll, але є кілька відмінностей. Якщо у вас є DLL з назвою " +"``foo.pyd``, тоді вона повинна мати функцію ``PyInit_foo()``. Потім ви " +"можете написати Python \"import foo\", і Python шукатиме foo.pyd (а також " +"foo.py, foo.pyc) і, якщо знайде його, спробує викликати ``PyInit_foo()``, " +"щоб ініціалізувати його . Ви не пов’язуєте свій .exe з foo.lib, оскільки це " +"змусить Windows вимагати наявності DLL." + +msgid "" +"Note that the search path for foo.pyd is PYTHONPATH, not the same as the " +"path that Windows uses to search for foo.dll. Also, foo.pyd need not be " +"present to run your program, whereas if you linked your program with a dll, " +"the dll is required. Of course, foo.pyd is required if you want to say " +"``import foo``. In a DLL, linkage is declared in the source code with " +"``__declspec(dllexport)``. In a .pyd, linkage is defined in a list of " +"available functions." +msgstr "" +"Зауважте, що шлях пошуку для foo.pyd — це PYTHONPATH, а не шлях, який " +"Windows використовує для пошуку foo.dll. Крім того, foo.pyd не обов’язково " +"присутній для запуску вашої програми, тоді як якщо ви пов’язали свою " +"програму з dll, dll потрібна. Звичайно, foo.pyd потрібен, якщо ви хочете " +"сказати ``import foo``. У DLL зв’язок оголошується у вихідному коді за " +"допомогою ``__declspec(dllexport)``. У .pyd зв’язок визначається у списку " +"доступних функцій." + +msgid "How can I embed Python into a Windows application?" +msgstr "Як я можу вставити Python у програму Windows?" + +msgid "" +"Embedding the Python interpreter in a Windows app can be summarized as " +"follows:" +msgstr "" +"Вбудовування інтерпретатора Python у програму Windows можна підсумувати " +"таким чином:" + +msgid "" +"Do **not** build Python into your .exe file directly. On Windows, Python " +"must be a DLL to handle importing modules that are themselves DLL's. (This " +"is the first key undocumented fact.) Instead, link to :file:`python{NN}." +"dll`; it is typically installed in ``C:\\Windows\\System``. *NN* is the " +"Python version, a number such as \"33\" for Python 3.3." +msgstr "" + +msgid "" +"You can link to Python in two different ways. Load-time linking means " +"linking against :file:`python{NN}.lib`, while run-time linking means linking " +"against :file:`python{NN}.dll`. (General note: :file:`python{NN}.lib` is " +"the so-called \"import lib\" corresponding to :file:`python{NN}.dll`. It " +"merely defines symbols for the linker.)" +msgstr "" +"Ви можете зв’язатися з Python двома різними способами. Зв’язування під час " +"завантаження означає зв’язування з :file:`python{NN}.lib`, тоді як " +"зв’язування під час виконання означає зв’язування з :file:`python{NN}.dll`. " +"(Загальна примітка: :file:`python{NN}.lib` — це так звана \"імпортована " +"бібліотека\", яка відповідає :file:`python{NN}.dll`. Вона лише визначає " +"символи для компонувальника.)" + +msgid "" +"Run-time linking greatly simplifies link options; everything happens at run " +"time. Your code must load :file:`python{NN}.dll` using the Windows " +"``LoadLibraryEx()`` routine. The code must also use access routines and " +"data in :file:`python{NN}.dll` (that is, Python's C API's) using pointers " +"obtained by the Windows ``GetProcAddress()`` routine. Macros can make using " +"these pointers transparent to any C code that calls routines in Python's C " +"API." +msgstr "" +"Зв’язування під час виконання значно спрощує параметри зв’язування; все " +"відбувається під час виконання. Ваш код має завантажити :file:`python{NN}." +"dll` за допомогою процедури Windows ``LoadLibraryEx()``. Код також має " +"використовувати підпрограми доступу та дані в :file:`python{NN}.dll` (тобто " +"C API Python), використовуючи покажчики, отримані підпрограмою " +"``GetProcAddress()`` Windows. Макроси можуть зробити використання цих " +"покажчиків прозорим для будь-якого коду C, який викликає підпрограми в C API " +"Python." + +msgid "" +"If you use SWIG, it is easy to create a Python \"extension module\" that " +"will make the app's data and methods available to Python. SWIG will handle " +"just about all the grungy details for you. The result is C code that you " +"link *into* your .exe file (!) You do **not** have to create a DLL file, " +"and this also simplifies linking." +msgstr "" + +msgid "" +"SWIG will create an init function (a C function) whose name depends on the " +"name of the extension module. For example, if the name of the module is " +"leo, the init function will be called initleo(). If you use SWIG shadow " +"classes, as you should, the init function will be called initleoc(). This " +"initializes a mostly hidden helper class used by the shadow class." +msgstr "" +"SWIG створить функцію ініціалізації (функцію C), назва якої залежить від " +"назви модуля розширення. Наприклад, якщо назва модуля leo, функція init буде " +"називатися initleo(). Якщо ви використовуєте тіньові класи SWIG, як і має " +"бути, функція init називатиметься initleoc(). Це ініціалізує здебільшого " +"прихований допоміжний клас, який використовується тіньовим класом." + +msgid "" +"The reason you can link the C code in step 2 into your .exe file is that " +"calling the initialization function is equivalent to importing the module " +"into Python! (This is the second key undocumented fact.)" +msgstr "" +"Причина, по якій ви можете пов’язати код C на кроці 2 у свій файл .exe, " +"полягає в тому, що виклик функції ініціалізації еквівалентний імпорту модуля " +"в Python! (Це другий ключовий незадокументований факт.)" + +msgid "" +"In short, you can use the following code to initialize the Python " +"interpreter with your extension module." +msgstr "" +"Коротше кажучи, ви можете використовувати наступний код для ініціалізації " +"інтерпретатора Python за допомогою вашого модуля розширення." + +msgid "" +"There are two problems with Python's C API which will become apparent if you " +"use a compiler other than MSVC, the compiler used to build pythonNN.dll." +msgstr "" +"Є дві проблеми з C API Python, які стануть очевидними, якщо ви " +"використовуєте компілятор, відмінний від MSVC, компілятора, який " +"використовується для створення pythonNN.dll." + +msgid "" +"Problem 1: The so-called \"Very High Level\" functions that take ``FILE *`` " +"arguments will not work in a multi-compiler environment because each " +"compiler's notion of a ``struct FILE`` will be different. From an " +"implementation standpoint these are very low level functions." +msgstr "" + +msgid "" +"Problem 2: SWIG generates the following code when generating wrappers to " +"void functions:" +msgstr "" +"Проблема 2: SWIG генерує такий код під час генерації обгорток для функцій " +"void:" + +msgid "" +"Alas, Py_None is a macro that expands to a reference to a complex data " +"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will " +"fail in a mult-compiler environment. Replace such code by:" +msgstr "" +"На жаль, Py_None — це макрос, який розширюється до посилання на складну " +"структуру даних під назвою _Py_NoneStruct усередині pythonNN.dll. Знову ж " +"таки, цей код не працюватиме в середовищі з декількома компіляторами. " +"Замініть такий код на:" + +msgid "" +"It may be possible to use SWIG's ``%typemap`` command to make the change " +"automatically, though I have not been able to get this to work (I'm a " +"complete SWIG newbie)." +msgstr "" +"Можливо, можна використати команду ``%typemap`` SWIG, щоб внести зміни " +"автоматично, хоча мені не вдалося змусити це працювати (я абсолютно новачок " +"у SWIG)." + +msgid "" +"Using a Python shell script to put up a Python interpreter window from " +"inside your Windows app is not a good idea; the resulting window will be " +"independent of your app's windowing system. Rather, you (or the " +"wxPythonWindow class) should create a \"native\" interpreter window. It is " +"easy to connect that window to the Python interpreter. You can redirect " +"Python's i/o to _any_ object that supports read and write, so all you need " +"is a Python object (defined in your extension module) that contains read() " +"and write() methods." +msgstr "" +"Використання сценарію оболонки Python для розміщення вікна інтерпретатора " +"Python із програми Windows не є гарною ідеєю; отримане вікно не залежатиме " +"від віконної системи вашої програми. Швидше, ви (або клас wxPythonWindow) " +"повинні створити \"власне\" вікно інтерпретатора. Це вікно легко підключити " +"до інтерпретатора Python. Ви можете перенаправити введення/виведення Python " +"до будь-якого об'єкта, який підтримує читання та запис, тому все, що вам " +"потрібно, це об’єкт Python (визначений у вашому модулі розширення), який " +"містить методи read() і write()." + +msgid "How do I keep editors from inserting tabs into my Python source?" +msgstr "Як заборонити редакторам вставляти вкладки в мій джерело Python?" + +msgid "" +"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, " +"recommends 4 spaces for distributed Python code; this is also the Emacs " +"python-mode default." +msgstr "" +"FAQ не рекомендує використовувати вкладки, а посібник зі стилю Python, :pep:" +"`8`, рекомендує 4 пробіли для розподіленого коду Python; це також " +"стандартний режим Emacs python." + +msgid "" +"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no " +"different in this respect, and is easily configured to use spaces: Take :" +"menuselection:`Tools --> Options --> Tabs`, and for file type \"Default\" " +"set \"Tab size\" and \"Indent size\" to 4, and select the \"Insert spaces\" " +"radio button." +msgstr "" +"У будь-якому редакторі змішувати табуляції та пробіли – погана ідея. MSVC " +"нічим не відрізняється в цьому відношенні, і його легко налаштувати для " +"використання пробілів: візьміть :menuselection:`Інструменти --> Параметри --" +"> Вкладки`, а для типу файлу \"За замовчуванням\" встановіть \"Розмір вкладки" +"\" та \"Розмір відступу\" на 4 і виберіть перемикач \"Вставити пробіли\"." + +msgid "" +"Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and " +"spaces are causing problems in leading whitespace. You may also run the :mod:" +"`tabnanny` module to check a directory tree in batch mode." +msgstr "" +"Python викликає :exc:`IndentationError` або :exc:`TabError`, якщо змішані " +"символи табуляції та пробіли спричиняють проблеми на початку пробілу. Ви " +"також можете запустити модуль :mod:`tabnanny`, щоб перевірити дерево " +"каталогів у пакетному режимі." + +msgid "How do I check for a keypress without blocking?" +msgstr "Як перевірити натискання клавіш без блокування?" + +msgid "" +"Use the :mod:`msvcrt` module. This is a standard Windows-specific extension " +"module. It defines a function ``kbhit()`` which checks whether a keyboard " +"hit is present, and ``getch()`` which gets one character without echoing it." +msgstr "" +"Використовуйте модуль :mod:`msvcrt`. Це стандартний модуль розширення для " +"Windows. Він визначає функцію ``kbhit()``, яка перевіряє наявність " +"натискання клавіатури, і ``getch()``, яка отримує один символ, не повторюючи " +"його." + +msgid "How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?" +msgstr "" + +msgid "" +"This can occur on Python 3.5 and later when using Windows 8.1 or earlier " +"without all updates having been installed. First ensure your operating " +"system is supported and is up to date, and if that does not resolve the " +"issue, visit the `Microsoft support page `_ for guidance on manually installing the C Runtime update." +msgstr "" diff --git a/glossary.po b/glossary.po new file mode 100644 index 000000000..bcafa73ef --- /dev/null +++ b/glossary.po @@ -0,0 +1,2473 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Stanislav Silin, 2022 +# Taras Kuzyo , 2022 +# Vadim Kashirny, 2022 +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (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 interactive shell. Often seen for code " +"examples which can be executed interactively in the interpreter." +msgstr "" +"Типова позначка в інтерактивнії оболонці Python-у. Часто зустрічається разом " +"з прикладами коду, які можна інтерактивно запустити в інтерпретаторі." + +msgid "``...``" +msgstr "``...``" + +msgid "Can refer to:" +msgstr "Може посилатися на:" + +msgid "" +"The default Python prompt of the 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. Застосовується підчас " +"написання коду з відступами, в межах пари відповідних лівих і правих " +"роздільників (дужки, квадратні дужки, фігурні або потрійні лапки) або після " +"декоратора." + +msgid "The :const:`Ellipsis` built-in constant." +msgstr "Вбудована константа :const:`Ellipsis`." + +msgid "2to3" +msgstr "2to3" + +msgid "" +"A tool that tries to convert Python 2.x code to Python 3.x code by handling " +"most of the incompatibilities which can be detected by parsing the source " +"and traversing the parse tree." +msgstr "" +"Інструмент, який намагається перетворити код Python 2.x на код Python 3.x, " +"обробляючи більшість несумісностей, які можна виявити шляхом розбору " +"синтаксичного дерева." + +msgid "" +"2to3 is available in the standard library as :mod:`lib2to3`; a standalone " +"entry point is provided as :file:`Tools/scripts/2to3`. See :ref:`2to3-" +"reference`." +msgstr "" +"2to3 знаходиться в стандартній бібліотеці як :mod:`lib2to3`; точка входу має " +"вигляд :file:`Tools/scripts/2to3`. Перегляньте :ref:`2to3-reference`." + +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:`duck-typing`, надаючи спосіб для " +"визначення інтерфейсів, коли інші методи, такі як :func:`hasattr`, були б " +"незручними або дещо неправильними (наприклад, з :ref:`магічними методами " +"`). ABC вводить віртуальні підкласи, що є класами, які не " +"успадковуються від класу, але все ще можуть розпізнватися за допомогою :func:" +"`isinstance` та :func:`issubclass`; дивіться документацію модуля :mod:`abc`. " +"Python має багато вбудованх ABC для різних структур(у модулі :mod:" +"`collections.abc`), чисел (у модулі :mod:`numbers`), потоків (у модулі :mod:" +"`io`) , шукачів імпортів і завантажувачів (у модулі :mod:`importlib.abc`). " +"Ви можете створювати власні азбуки за допомогою модуля :mod:`abc`." + +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:`type hint`." + +msgid "" +"Annotations of local variables cannot be accessed at runtime, but " +"annotations of global variables, class attributes, and functions are stored " +"in the :attr:`__annotations__` special attribute of modules, classes, and " +"functions, respectively." +msgstr "" +"Анотації локальних змінних недоступні під час виконання, але анотації " +"глобальних змінних, атрибутів класів і функцій зберігаються в спеціальному " +"атрибуті :attr:`__annotations__` модулів, класів і функцій відповідно." + +msgid "" +"See :term:`variable annotation`, :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:`variable annotation`, :term:`function annotation`, :pep:" +"`484` та :pep:`526`, які описують цю функціональність. Також перегляньте :" +"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:`function` (або :term:`method`) під час " +"виклику функції. Існує два види аргументів:" + +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:`keyword argument`: аргумент, якому передує ідентифікатор (наприклад, " +"``name=``) під час виклику функції або передається як значення в словнику " +"перед яким ``**``. Наприклад, ``3`` і ``5`` є ключовими аргументами в " +"наступних викликах :func:`complex`::" + +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:`positional argument`: аргумент, який не є аргументом ключового слова. " +"Позиційні аргументи можуть з’являтися на початку списку аргументів і/або " +"передаватися як елементи :term:`iterable`, яким передує ``*``. Наприклад, " +"``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:`parameter` глосарій, питання FAQ про :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:`__aenter__` and :meth:`__aexit__` methods. " +"Introduced by :pep:`492`." +msgstr "" +"Об’єкт, який керує середовищем, видимим у операторі :keyword:`async with`, " +"визначаючи методи :meth:`__aenter__` і :meth:`__aexit__`. Представлений :pep:" +"`492`." + +msgid "asynchronous generator" +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." +msgstr "" +"Функція, яка повертає :term:`asynchronous generator iterator`. Це виглядає " +"як функція співпрограми, визначена за допомогою :keyword:`async def`, за " +"винятком того, що вона містить вирази :keyword:`yield` для створення серії " +"значень, які можна використовувати в циклі :keyword:`async for`." + +msgid "" +"Usually refers to an asynchronous generator function, but may refer to an " +"*asynchronous generator iterator* in some contexts. In cases where the " +"intended meaning isn't clear, using the full terms avoids ambiguity." +msgstr "" +"Зазвичай відноситься до функції асинхронного генератора, але в деяких " +"контекстах може посилатися на *ітератор асинхронного генератора*. У " +"випадках, коли передбачуване значення не є зрозумілим, використання повних " +"термінів дозволяє уникнути двозначності." + +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 a :term:`asynchronous generator` function." +msgstr "Об’єкт, створений функцією :term:`asynchronous generator`." + +msgid "" +"This is an :term:`asynchronous iterator` which when called using the :meth:" +"`__anext__` method returns an awaitable object which will execute the body " +"of the asynchronous generator function until the next :keyword:`yield` " +"expression." +msgstr "" +"Це :term:`asynchronous iterator`, який під час виклику за допомогою методу :" +"meth:`__anext__` повертає очікуваний об’єкт, який виконуватиме тіло функції " +"асинхронного генератора до наступного виразу :keyword:`yield`." + +msgid "" +"Each :keyword:`yield` temporarily suspends processing, remembering the " +"location execution state (including local variables and pending try-" +"statements). When the *asynchronous generator iterator* effectively resumes " +"with another awaitable returned by :meth:`__anext__`, it picks up where it " +"left off. See :pep:`492` and :pep:`525`." +msgstr "" +"Кожен :keyword:`yield` тимчасово призупиняє обробку, запам’ятовуючи стан " +"виконання розташування (включно з локальними змінними та очікуваними " +"операторами спроби). Коли *ітератор асинхронного генератора* фактично " +"продовжує роботу з іншим очікуванням, повернутим :meth:`__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:`__aiter__` method. " +"Introduced by :pep:`492`." +msgstr "" +"Об’єкт, який можна використовувати в операторі :keyword:`async for`. Повинен " +"повертати :term:`asynchronous iterator` зі свого методу :meth:`__aiter__`. " +"Представлений :pep:`492`." + +msgid "asynchronous iterator" +msgstr "асинхронний ітератор" + +msgid "" +"An object that implements the :meth:`__aiter__` and :meth:`__anext__` " +"methods. ``__anext__`` must return an :term:`awaitable` object. :keyword:" +"`async for` resolves the awaitables returned by an asynchronous iterator's :" +"meth:`__anext__` method until it raises a :exc:`StopAsyncIteration` " +"exception. Introduced by :pep:`492`." +msgstr "" +"Об’єкт, який реалізує методи :meth:`__aiter__` і :meth:`__anext__`. " +"``__anext__`` має повертати об’єкт :term:`awaitable`. :keyword:`async for` " +"вирішує очікувані значення, які повертає метод :meth:`__anext__` " +"асинхронного ітератора, доки він не спричинить виняткову ситуацію :exc:" +"`StopAsyncIteration`. Представлений :pep:`492`." + +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 "" + +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 "" + +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:`__await__` method. See also :" +"pep:`492`." +msgstr "" +"Об’єкт, який можна використовувати у виразі :keyword:`await`. Може бути :" +"term:`coroutine` або об’єктом з методом :meth:`__await__`. Дивіться також :" +"pep:`492`." + +msgid "BDFL" +msgstr "BDFL" + +msgid "" +"Benevolent Dictator For Life, a.k.a. `Guido van Rossum `_, Python's creator." +msgstr "" +"Доброзичливий диктатор на все життя (BDFL - Benevolent Dictator For Life), " +"також відомий як `Гвідо ван Россум `_, " +"творець 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:`file object`, здатний читати та записувати :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:`text file` для об’єкта файлу, здатного читати та " +"записувати об’єкти :class:`str`." + +msgid "borrowed reference" +msgstr "запозичене посилання" + +msgid "" +"In Python's C API, a borrowed reference is a reference to an object. It does " +"not modify the object reference count. 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 "" +"В API C Python запозичене посилання є посиланням на об’єкт. Це не змінює " +"кількість посилань на об’єкт. Він стає висячим покажчиком, якщо об’єкт " +"знищено. Наприклад, збірка сміття може видалити останнє :term:`strong " +"reference` на об’єкт і таким чином знищити його." + +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 "" +"Виклик :c:func:`Py_INCREF` для :term:`borrowed reference` рекомендовано для " +"перетворення його на :term:`strong reference` на місці, за винятком " +"випадків, коли об’єкт не можна знищити до останнього використання " +"запозиченого посилання. Функцію :c:func:`Py_NewRef` можна використати для " +"створення нового :term:`strong reference`." + +msgid "bytes-like object" +msgstr "байтоподібний об'єкт" + +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` і може експортувати буфер C-:" +"term:`contiguous`. Це включає всі об’єкти :class:`bytes`, :class:`bytearray` " +"і :class:`array.array`, а також багато поширених об’єктів :class:" +"`memoryview`. Байтоподібні об'єкти можна використовувати для різних " +"операцій, які працюють з двійковими даними; вони включають стиснення, " +"збереження у бінарний файл і надсилання через сокет." + +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 "" +"Для деяких операцій двійкові дані повинні бути змінними. У документації вони " +"часто називаються \"байтоподібними об’єктами читання-запису\". Приклади " +"змінних буферних об’єктів включають :class:`bytearray` і :class:" +"`memoryview` :class:`bytearray`. Інші операції вимагають, щоб двійкові дані " +"зберігалися в незмінних об’єктах (\"байтоподібні об’єкти лише для читання" +"\"); прикладами таких є :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:`virtual machine`, яка виконує машинний " +"код, що відповідає кожному байт-коду. Зауважте, що байт-коди не повинні " +"працювати між різними віртуальними машинами Python, а також бути стабільними " +"між випусками Python." + +msgid "" +"A list of bytecode instructions can be found in the documentation for :ref:" +"`the dis module `." +msgstr "" +"Список інструкцій байт-коду можна знайти в документації для :ref:`the dis " +"module `." + +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 "" + +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 "" + +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 "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 "context manager" +msgstr "контекстний менеджер" + +msgid "" +"An object which controls the environment seen in a :keyword:`with` statement " +"by defining :meth:`__enter__` and :meth:`__exit__` methods. See :pep:`343`." +msgstr "" +"Об’єкт, який керує середовищем, видимим у операторі :keyword:`with`, шляхом " +"визначення методів :meth:`__enter__` і :meth:`__exit__`. Дивіться :pep:`343`." + +msgid "context variable" +msgstr "контекстна змінна" + +msgid "" +"A variable which can have different values depending on its context. This is " +"similar to Thread-Local Storage in which each execution thread may have a " +"different value for a variable. However, with context variables, there may " +"be several contexts in one execution thread and the main usage for context " +"variables is to keep track of variables in concurrent asynchronous tasks. " +"See :mod:`contextvars`." +msgstr "" +"Змінна, яка може мати різні значення залежно від контексту. Це схоже на " +"Thread-Local Storage, у якому кожен потік виконання може мати різне значення " +"для змінної. Однак із змінними контексту в одному потоці виконання може бути " +"кілька контекстів, і основне використання змінних контексту — це відстеження " +"змінних у паралельних асинхронних завданнях. Див. :mod:`contextvars`." + +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:`coroutine`. Функція співпрограми може " +"бути визначена оператором :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 "decorator" +msgstr "декоратор" + +msgid "" +"A function returning another function, usually applied as a function " +"transformation using the ``@wrapper`` syntax. Common examples for " +"decorators are :func:`classmethod` and :func:`staticmethod`." +msgstr "" +"Функція, що повертає іншу функцію, зазвичай застосовується як перетворення " +"функції за допомогою синтаксису ``@wrapper``. Типовими прикладами для " +"декораторів є :func:`classmethod` і :func:`staticmethod`." + +msgid "" +"The decorator syntax is merely syntactic sugar, the following two function " +"definitions are semantically equivalent::" +msgstr "" +"Синтаксис декоратора є просто синтаксичним цукром, наступні два визначення " +"функції семантично еквівалентні:" + +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:`__get__`, :meth:`__set__`, or :" +"meth:`__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:`__get__`, :meth:`__set__` або :" +"meth:`__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:`__hash__` and :meth:`__eq__` methods. Called a " +"hash in Perl." +msgstr "" +"Асоціативний масив, де довільні ключі зіставляються зі значеннями. Ключами " +"можуть бути будь-які об’єкти з методами :meth:`__hash__` і :meth:`__eq__`. " +"Називається хешем у Perl." + +msgid "dictionary comprehension" +msgstr "dictionary comprehension" + +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:`__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:`__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 "" +"Стиль програмування, який не дивиться на тип об’єкта, щоб визначити, чи має " +"він правильний інтерфейс; замість цього метод або атрибут просто " +"викликається або використовується (\"Якщо він схожий на качку і крякає як " +"качка, це має бути качка\".) Підкреслюючи інтерфейси, а не конкретні типи, " +"добре розроблений код покращує свою гнучкість, дозволяючи поліморфне " +"заміщення. Duck-введення дозволяє уникнути тестів з використанням :func:" +"`type` або :func:`isinstance`. (Однак зауважте, що качиний тип може бути " +"доповнений :term:`абстрактними базовими класами `.) " +"Замість цього зазвичай використовуються :func:`hasattr` тести або :term:" +"`EAFP` програмування." + +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 "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:`statement`\\s, які не можна використовувати як вирази, " +"наприклад :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 "" +"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:`streams`." + +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:`file object`." + +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:`filesystem encoding and error handler` налаштовуються під час запуску " +"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:`locale encoding`." + +msgid "finder" +msgstr "шукач" + +msgid "" +"An object that tries to find the :term:`loader` for a module that is being " +"imported." +msgstr "" +"Об’єкт, який намагається знайти :term:`loader` для модуля, який імпортується." + +msgid "" +"Since Python 3.3, 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 "" +"Починаючи з Python 3.3, існує два типи шукачів: :term:`мета-шукачі шляху " +"` для використання з :data:`sys.meta_path` та :term:" +"`шукачі шляхів ` для використання з :data:`sys ." +"path_hooks`." + +msgid "See :pep:`302`, :pep:`420` and :pep:`451` for much more detail." +msgstr "" +"Перегляньте :pep:`302`, :pep:`420` і :pep:`451` для більш детальної " +"інформації." + +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``, яке повертає float true division. Зауважте, що " +"``(-11) // 4`` є ``-3``, тому що це ``-2,75``, округлене *униз*. Дивіться :" +"pep:`238`." + +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:`parameter`, :term:" +"`method` і розділ :ref:`function`." + +msgid "function annotation" +msgstr "анотація функції" + +msgid "An :term:`annotation` of a function parameter or return value." +msgstr ":term:`annotation` параметра функції або значення, що повертається." + +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 "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:`variable annotation` і :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 "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 "" +"A function which returns a :term:`generator iterator`. It looks like a " +"normal function except that it contains :keyword:`yield` expressions for " +"producing a series of values usable in a for-loop or that can be retrieved " +"one at a time with the :func:`next` function." +msgstr "" +"Функція, яка повертає :term:`generator iterator`. Це виглядає як звичайна " +"функція, за винятком того, що вона містить вирази :keyword:`yield` для " +"створення серії значень, які можна використовувати в циклі for або які можна " +"отримати по одному за допомогою функції :func:`next`." + +msgid "" +"Usually refers to a generator function, but may refer to a *generator " +"iterator* in some contexts. In cases where the intended meaning isn't " +"clear, using the full terms avoids ambiguity." +msgstr "" +"Зазвичай відноситься до функції-генератора, але в деяких контекстах може " +"посилатися на *ітератор-генератор*. У випадках, коли передбачуване значення " +"не є зрозумілим, використання повних термінів дозволяє уникнути двозначності." + +msgid "generator iterator" +msgstr "ітератор генератора" + +msgid "An object created by a :term:`generator` function." +msgstr "Об’єкт, створений функцією :term:`generator`." + +msgid "" +"Each :keyword:`yield` temporarily suspends processing, remembering the " +"location 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` тимчасово призупиняє обробку, запам’ятовуючи стан " +"виконання розташування (включно з локальними змінними та очікуваними " +"операторами спроби). Коли *ітератор-генератор* продовжує роботу, він " +"продовжує роботу з того місця, де зупинився (на відміну від функцій, які " +"починаються заново під час кожного виклику)." + +msgid "generator expression" +msgstr "генераторний вираз" + +msgid "" +"An expression that returns an 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 "" +"Вираз, який повертає ітератор. Це виглядає як звичайний вираз, за яким " +"слідує речення :keyword:`!for`, що визначає змінну циклу, діапазон і " +"необов’язкове речення :keyword:`!if`. Комбінований вираз генерує значення " +"для охоплюючої функції::" + +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 :func:`functools." +"singledispatch` decorator, and :pep:`443`." +msgstr "" +"Дивіться також запис глосарію :term:`single dispatch`, декоратор :func:" +"`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:`type`, який можна параметризувати; зазвичай це :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:`global interpreter lock`." + +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:`bytecode` 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 "" + +msgid "" +"Past efforts to create a \"free-threaded\" interpreter (one which locks " +"shared data at a much finer granularity) have not been successful because " +"performance suffered in the common single-processor case. It is believed " +"that overcoming this performance issue would make the implementation much " +"more complicated and therefore costlier to maintain." +msgstr "" +"Попередні спроби створити \"безпотоковий\" інтерпретатор (такий, який блокує " +"спільні дані з набагато дрібнішою деталізацією) не увінчалися успіхом, " +"оскільки продуктивність постраждала у звичайному випадку з одним процесором. " +"Вважається, що подолання цієї проблеми з продуктивністю зробить реалізацію " +"набагато складнішою і, отже, дорожчою для обслуговування." + +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:`__hash__` method), and can be compared to " +"other objects (it needs an :meth:`__eq__` method). Hashable objects which " +"compare equal must have the same hash value." +msgstr "" +"Об’єкт є *хешуваним*, якщо він має хеш-значення, яке ніколи не змінюється " +"протягом свого життя (йому потрібен метод :meth:`__hash__`), і його можна " +"порівнювати з іншими об’єктами (йому потрібен метод :meth:`__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 "ПРОСТОЮЧИЙ" + +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 "" + +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." +msgstr "" +"Об’єкт із фіксованим значенням. До незмінних об’єктів належать числа, рядки " +"та кортежі. Такий об'єкт не можна змінити. Якщо потрібно зберегти інше " +"значення, потрібно створити новий об’єкт. Вони відіграють важливу роль у " +"місцях, де потрібне постійне хеш-значення, наприклад, як ключ у словнику." + +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:" +"`path based finder` шукає модулі для імпорту. Під час імпорту цей список " +"розташувань зазвичай надходить із :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:`finder`, так і :" +"term:`loader`." + +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)``)." +msgstr "" +"У Python є інтерактивний інтерпретатор, який означає, що ви можете вводити " +"оператори та вирази в підказку інтерпретатора, негайно виконувати їх і " +"бачити їхні результати. Просто запустіть ``python`` без аргументів (можливо, " +"вибравши його в головному меню комп’ютера). Це дуже потужний спосіб " +"випробувати нові ідеї або перевірити модулі та пакунки (пам’ятайте " +"``help(x)``)." + +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:`interactive`." + +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:`збирача сміття `. Це може ініціювати " +"виконання коду в визначених користувачем деструкторах або зворотних викликах " +"weakref. Код, який виконується під час фази завершення роботи, може " +"зіткнутися з різними винятками, оскільки ресурси, на які він покладається, " +"можуть більше не функціонувати (поширеними прикладами є бібліотечні модулі " +"або механізм попереджень)." + +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:`__iter__` method or with a :meth:`__getitem__` method that implements :" +"term:`sequence` semantics." +msgstr "" + +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 " +"``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` або самостійно мати справу з " +"об’єктами ітератора. Оператор ``for`` робить це автоматично за вас, " +"створюючи тимчасову безіменну змінну для утримання ітератора протягом циклу. " +"Дивіться також :term:`iterator`, :term:`sequence` і :term:`generator`." + +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:`__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:`__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:`__iter__`." +msgstr "" +"CPython не послідовно застосовує вимогу, щоб ітератор визначав :meth:" +"`__iter__`." + +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.lower` 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 "" + +msgid "keyword argument" +msgstr "аргумент ключового слова" + +msgid "See :term:`argument`." +msgstr "Дивіться :term:`argument`." + +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:`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 "" +"Сім разів відміряй, один раз відріж. Цей стиль кодування явно перевіряє " +"попередні умови перед здійсненням викликів або пошуку. Цей стиль контрастує " +"з підходом :term:`EAFP` і характеризується наявністю багатьох операторів :" +"keyword:`if`." + +msgid "" +"In a multi-threaded environment, the LBYL approach can risk introducing a " +"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 locks or by using the EAFP approach." +msgstr "" +"У багатопоточному середовищі підхід LBYL може загрожувати введенням умов " +"змагання між \"дивлячим\" і \"стрибаючим\". Наприклад, код ``if key in " +"mapping: return mapping[key]`` може завершитися помилкою, якщо інший потік " +"видаляє *key* із *mapping* після перевірки, але перед пошуком. Цю проблему " +"можна вирішити за допомогою блокувань або використання підходу EAFP." + +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 "" + +msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)." +msgstr "" + +msgid "" +"On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding." +msgstr "" + +msgid "``locale.getencoding()`` can be used to get the locale encoding." +msgstr "" + +msgid "See also the :term:`filesystem encoding and error handler`." +msgstr "" + +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:`sequence` 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` є " +"необов’язковим. Якщо опущено, обробляються всі елементи в діапазоні (256)." + +msgid "loader" +msgstr "навантажувач" + +msgid "" +"An object that loads a module. It must define a method named :meth:" +"`load_module`. A loader is typically returned by a :term:`finder`. See :pep:" +"`302` for details and :class:`importlib.abc.Loader` for an :term:`abstract " +"base class`." +msgstr "" +"Об’єкт, який завантажує модуль. Він повинен визначати метод під назвою :meth:" +"`load_module`. Завантажувач зазвичай повертається :term:`finder`. " +"Перегляньте :pep:`302` для деталей та :class:`importlib.abc.Loader` для :" +"term:`abstract base class`." + +msgid "magic method" +msgstr "магічний метод" + +msgid "An informal synonym for :term:`special method`." +msgstr "Неофіційний синонім слова :term:`special method`." + +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 "" + +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:`finder`, що повертається в результаті пошуку :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:" +"`argument` (який зазвичай називається ``self``). Див. :term:`function` і :" +"term:`nested scope`." + +msgid "method resolution order" +msgstr "порядок вирішення методу" + +msgid "" +"Method Resolution Order is the order in which base classes are searched for " +"a member during lookup. See `The Python 2.3 Method Resolution Order `_ for details of the algorithm " +"used by the Python interpreter since the 2.3 release." +msgstr "" +"Порядок вирішення методів — це порядок, у якому базові класи шукають член " +"під час пошуку. Перегляньте `The Python 2.3 Method Resolution Order `_ для детальної інформації про " +"алгоритм, який використовується інтерпретатором 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:`importing`." + +msgid "See also :term:`package`." +msgstr "Дивіться також :term:`package`." + +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 "MRO" +msgstr "MRO" + +msgid "See :term:`method resolution order`." +msgstr "Дивіться :term:`method resolution order`." + +msgid "mutable" +msgstr "мінливий" + +msgid "" +"Mutable objects can change their value but keep their :func:`id`. See also :" +"term:`immutable`." +msgstr "" +"Змінні об’єкти можуть змінювати своє значення, але зберігають свій :func:" +"`id`. Дивіться також :term:`immutable`." + +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 "" +"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 with the factory function :" +"func:`collections.namedtuple`. The latter technique also adds some extra " +"methods that may not be found in hand-written or built-in named tuples." +msgstr "" +"Деякі іменовані кортежі є вбудованими типами (наприклад, наведені вище " +"приклади). Крім того, іменований кортеж можна створити зі звичайного " +"визначення класу, який успадковує :class:`tuple` і визначає іменовані поля. " +"Такий клас можна написати вручну або створити за допомогою фабричної " +"функції :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 :pep:`420` :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 "" +":pep:`420` :term:`package`, який служить лише контейнером для підпакетів. " +"Пакунки простору імен можуть не мати фізичного представлення, і, зокрема, не " +"схожі на :term:`regular package`, оскільки вони не мають файлу ``__init__." +"py``." + +msgid "See also :term:`module`." +msgstr "Дивіться також :term:`module`." + +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:`__getattribute__`, class methods, and static methods." +msgstr "" +"Стара назва різновиду класів, яка тепер використовується для всіх об’єктів " +"класу. У попередніх версіях Python лише класи нового стилю могли " +"використовувати нові, універсальні функції Python, такі як :attr:`~object." +"__slots__`, дескриптори, властивості, :meth:`__getattribute__`, методи класу " +"та статичні методи." + +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:`new-style class`." + +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 "" + +msgid "See also :term:`regular package` and :term:`namespace package`." +msgstr "Дивіться також :term:`regular package` і :term:`namespace package`." + +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:`function` (або методу), яка визначає :" +"term:`argument` (або в деяких випадках аргументи), які функція може " +"прийняти. Є п'ять типів параметрів:" + +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:`positional-or-keyword`: визначає аргумент, який можна передати :term:" +"`позиційно ` або як :term:`аргумент ключового слова `. " +"Це тип параметра за замовчуванням, наприклад *foo* і *bar* у наступному::" + +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:`positional-only`: визначає аргумент, який можна надати лише за " +"позицією. Лише позиційні параметри можна визначити, включивши символ ``/`` у " +"список параметрів визначення функції після них, наприклад *posonly1* і " +"*posonly2* у наступному::" + +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:`keyword-only`: визначає аргумент, який можна надати лише за ключовим " +"словом. Параметри, що містять лише ключове слово, можна визначити, включивши " +"один змінний позиційний параметр або голий ``*`` у список параметрів " +"визначення функції перед ними, наприклад *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:`var-positional`: вказує, що можна надати довільну послідовність " +"позиційних аргументів (на додаток до будь-яких позиційних аргументів, уже " +"прийнятих іншими параметрами). Такий параметр можна визначити, додавши перед " +"назвою параметра ``*``, наприклад *args* у наступному::" + +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:`var-keyword`: вказує, що можна надати довільну кількість аргументів " +"ключових слів (на додаток до будь-яких аргументів ключових слів, які вже " +"прийняті іншими параметрами). Такий параметр можна визначити, додавши перед " +"назвою параметра ``**``, наприклад *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:`argument` глосарій, питання FAQ про :ref:`різницю між " +"аргументами та параметрами `, :class:`inspect." +"Parameter` клас, :ref:`function` розділ та :pep:`362`." + +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:`import path`, до якого :term:`path based " +"finder` звертається, щоб знайти модулі для імпорту." + +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:`finder`, що повертається викликом на :data:`sys.path_hooks` (тобто :" +"term:`path entry hook`), який знає, як знаходити модулі за допомогою :term:" +"`path entry`." + +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_hook` 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_hook`, який повертає :term:`path entry " +"finder`, якщо він знає, як знайти модулі в певному :term:`path entry finder`." + +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:`import path` для модулів." + +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`; :func:`os." +"fsdecode` і :func:`os.fsencode` можна використовувати, щоб гарантувати " +"результат :class:`str` або :class:`bytes` відповідно. Представлений :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. PEP — це проектний документ, який надає " +"інформацію спільноті Python або описує нову функцію для Python або його " +"процеси чи середовище. Публічні діячі повинні надавати стислу технічну " +"специфікацію та обґрунтування запропонованих функцій." + +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." + +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:`provisional 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 "Pythonic" + +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 "As opposed to the cleaner, Pythonic method::" +msgstr "На відміну від очищувача, метод Pythonic::" + +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 "" +"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 "reference count" +msgstr "кількість посилань" + +msgid "" +"The number of references to an object. When the reference count of an " +"object drops to zero, it is 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 "" + +msgid "regular package" +msgstr "звичайний пакет" + +msgid "" +"A traditional :term:`package`, such as a directory containing an ``__init__." +"py`` file." +msgstr "" +"Традиційний :term:`package`, як-от каталог, що містить файл ``__init__.py``." + +msgid "See also :term:`namespace package`." +msgstr "Дивіться також :term:`namespace package`." + +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:`__getitem__` special method and defines a :meth:" +"`__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:`__getitem__` and :meth:" +"`__len__`, but is considered a mapping rather than a sequence because the " +"lookups use arbitrary :term:`immutable` keys rather than integers." +msgstr "" +":term:`iterable`, який підтримує ефективний доступ до елементів за допомогою " +"цілочисельних індексів за допомогою спеціального методу :meth:`__getitem__` " +"і визначає метод :meth:`__len__`, який повертає довжину послідовності. Деякі " +"вбудовані типи послідовностей: :class:`list`, :class:`str`, :class:`tuple` " +"і :class:`bytes`. Зауважте, що :class:`dict` також підтримує :meth:" +"`__getitem__` і :meth:`__len__`, але вважається відображенням, а не " +"послідовністю, оскільки під час пошуку використовуються довільні :term:" +"`immutable` ключі, а не цілі числа." + +msgid "" +"The :class:`collections.abc.Sequence` abstract base class defines a much " +"richer interface that goes beyond just :meth:`__getitem__` and :meth:" +"`__len__`, adding :meth:`count`, :meth:`index`, :meth:`__contains__`, and :" +"meth:`__reversed__`. Types that implement this expanded interface can be " +"registered explicitly using :func:`~abc.ABCMeta.register`." +msgstr "" +"Абстрактний базовий клас :class:`collections.abc.Sequence` визначає набагато " +"багатший інтерфейс, який виходить за межі просто :meth:`__getitem__` і :meth:" +"`__len__`, додаючи :meth:`count`, :meth:`index`, :meth:`__contains__` і :" +"meth:`__reversed__`. Типи, які реалізують цей розширений інтерфейс, можна " +"явно зареєструвати за допомогою :func:`~abc.ABCMeta.register`." + +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:`generic function`, де реалізація вибирається на " +"основі типу одного аргументу." + +msgid "slice" +msgstr "шматочок" + +msgid "" +"An object usually containing a portion of a :term:`sequence`. A slice is " +"created using the subscript notation, ``[]`` with colons between numbers " +"when several are given, such as in ``variable_name[1:3:5]``. The bracket " +"(subscript) notation uses :class:`slice` objects internally." +msgstr "" +"Об’єкт, який зазвичай містить частину :term:`sequence`. Зріз створюється з " +"використанням нижнього індексу ``[]`` з двокрапками між числами, якщо " +"вказано кілька, наприклад, ``variable_name[1:3:5]``. Нотація в дужках " +"(підрядковому) використовує внутрішньо об’єкти :class:`slice`." + +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 "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:" +"`expression`, або однією з кількох конструкцій із ключовим словом, таким як :" +"keyword:`if`, :keyword:`while` або :keyword:`for`." + +msgid "strong reference" +msgstr "сильна посилання" + +msgid "" +"In Python's C API, a strong reference is a reference to an object which " +"increments the object's reference count when it is created and decrements " +"the object's reference count when it is deleted." +msgstr "" +"В API C Python сильним посиланням є посилання на об’єкт, яке збільшує " +"кількість посилань на об’єкт під час його створення та зменшує кількість " +"посилань на об’єкт, коли його видаляють." + +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:`borrowed reference`." + +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:`file object`, здатний читати та записувати об’єкти :class:" +"`str`. Часто текстовий файл насправді отримує доступ до байт-орієнтованого " +"потоку даних і автоматично обробляє :term:`text encoding`. Прикладами " +"текстових файлів є файли, відкриті в текстовому режимі (``'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:`binary file` щодо файлового об’єкта, здатного читати " +"та записувати :term:`байтоподібні об’єкти `." + +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:`~instance." +"__class__` attribute or can be retrieved with ``type(obj)``." +msgstr "" +"Тип об'єкта Python визначає тип об'єкта; кожен об'єкт має тип. Тип об’єкта " +"доступний як його атрибут :attr:`~instance.__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 "could be made more readable like this::" +msgstr "можна зробити більш читабельним таким чином::" + +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:`annotation`, яка визначає очікуваний тип для змінної, атрибута класу " +"або параметра функції чи значення, що повертається." + +msgid "" +"Type hints are optional and are not enforced by Python but they are useful " +"to static type analysis tools, and aid IDEs with code completion and " +"refactoring." +msgstr "" +"Підказки типу є необов’язковими та не застосовуються Python, але вони " +"корисні для інструментів статичного аналізу типів і допомагають 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:`annotation` змінної або атрибута класу." + +msgid "" +"When annotating a variable or a class attribute, assignment is optional::" +msgstr "" +"При анотуванні змінної або атрибута класу призначення є необов’язковим:" + +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 "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:`function annotation`, :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:`bytecode`, виданий компілятором байт-коду." + +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``\" в " +"інтерактивному рядку." diff --git a/howto/annotations.po b/howto/annotations.po new file mode 100644 index 000000000..1042e7f47 --- /dev/null +++ b/howto/annotations.po @@ -0,0 +1,402 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Annotations Best Practices" +msgstr "Рекомендації щодо анотацій" + +msgid "author" +msgstr "автор" + +msgid "Larry Hastings" +msgstr "Larry Hastings" + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"This document is designed to encapsulate the best practices for working with " +"annotations dicts. If you write Python code that examines " +"``__annotations__`` on Python objects, we encourage you to follow the " +"guidelines described below." +msgstr "" +"Цей документ розроблено, щоб узагальнити найкращі методи роботи з анотаціями " +"dicts. Якщо ви пишете код на Python, який перевіряє ``__annotations__`` на " +"об’єктах Python, радимо дотримуватися вказівок, описаних нижче." + +msgid "" +"The document is organized into four sections: best practices for accessing " +"the annotations of an object in Python versions 3.10 and newer, best " +"practices for accessing the annotations of an object in Python versions 3.9 " +"and older, other best practices for ``__annotations__`` that apply to any " +"Python version, and quirks of ``__annotations__``." +msgstr "" +"Документ складається з чотирьох розділів: найкращі методи доступу до " +"анотацій об’єкта в Python версії 3.10 і новіших, найкращі методи доступу до " +"анотацій об’єктів у Python 3.9 і старіших версій, інші найкращі практики для " +"``__annotations__``, які застосовуються до будь-якої версії Python, а " +"особливості ``__annotations__``." + +msgid "" +"Note that this document is specifically about working with " +"``__annotations__``, not uses *for* annotations. If you're looking for " +"information on how to use \"type hints\" in your code, please see the :mod:" +"`typing` module." +msgstr "" +"Зверніть увагу, що в цьому документі йдеться саме про роботу з " +"``__annotations__``, а не про використання анотацій *for*. Якщо ви шукаєте " +"інформацію про те, як використовувати \"підказки типу\" у вашому коді, " +"перегляньте модуль :mod:`typing`." + +msgid "Accessing The Annotations Dict Of An Object In Python 3.10 And Newer" +msgstr "Доступ до анотацій Dict об’єкта в Python 3.10 і новіших версіях" + +msgid "" +"Python 3.10 adds a new function to the standard library: :func:`inspect." +"get_annotations`. In Python versions 3.10 and newer, calling this function " +"is the best practice for accessing the annotations dict of any object that " +"supports annotations. This function can also \"un-stringize\" stringized " +"annotations for you." +msgstr "" +"Python 3.10 додає нову функцію до стандартної бібліотеки: :func:`inspect." +"get_annotations`. У версіях Python 3.10 і новіших, виклик цієї функції є " +"найкращою практикою для доступу до dict анотацій будь-якого об’єкта, який " +"підтримує анотації. Ця функція також може \"відмінювати\" рядкові анотації " +"для вас." + +msgid "" +"If for some reason :func:`inspect.get_annotations` isn't viable for your use " +"case, you may access the ``__annotations__`` data member manually. Best " +"practice for this changed in Python 3.10 as well: as of Python 3.10, ``o." +"__annotations__`` is guaranteed to *always* work on Python functions, " +"classes, and modules. If you're certain the object you're examining is one " +"of these three *specific* objects, you may simply use ``o.__annotations__`` " +"to get at the object's annotations dict." +msgstr "" +"Якщо з якоїсь причини :func:`inspect.get_annotations` непридатний для вашого " +"випадку використання, ви можете отримати доступ до елемента даних " +"``__annotations__`` вручну. У Python 3.10 також змінилася найкраща практика " +"щодо цього: починаючи з Python 3.10, ``o.__annotations__`` гарантовано " +"*завжди* працюватиме з функціями, класами та модулями Python. Якщо ви " +"впевнені, що об’єкт, який ви досліджуєте, є одним із цих трьох *специфічних* " +"об’єктів, ви можете просто використати ``o.__annotations__``, щоб отримати " +"dict анотацій об’єкта." + +msgid "" +"However, other types of callables--for example, callables created by :func:" +"`functools.partial`--may not have an ``__annotations__`` attribute defined. " +"When accessing the ``__annotations__`` of a possibly unknown object, best " +"practice in Python versions 3.10 and newer is to call :func:`getattr` with " +"three arguments, for example ``getattr(o, '__annotations__', None)``." +msgstr "" +"Однак інші типи викликів, наприклад, виклики, створені :func:`functools." +"partial`, можуть не мати визначеного атрибута ``__annotations__``. Під час " +"доступу до ``__annotations__`` можливо невідомого об’єкта, найкраща практика " +"в Python версії 3.10 і новіших — викликати :func:`getattr` з трьома " +"аргументами, наприклад ``getattr(o, '__annotations__', None)``." + +msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older" +msgstr "Доступ до анотацій Dict об’єкта в Python 3.9 і старіших версіях" + +msgid "" +"In Python 3.9 and older, accessing the annotations dict of an object is much " +"more complicated than in newer versions. The problem is a design flaw in " +"these older versions of Python, specifically to do with class annotations." +msgstr "" +"У Python 3.9 і старіших версіях доступ до анотацій dict об’єкта набагато " +"складніший, ніж у новіших версіях. Проблема полягає в недоліку дизайну в цих " +"старих версіях Python, зокрема щодо анотацій класів." + +msgid "" +"Best practice for accessing the annotations dict of other objects--" +"functions, other callables, and modules--is the same as best practice for " +"3.10, assuming you aren't calling :func:`inspect.get_annotations`: you " +"should use three-argument :func:`getattr` to access the object's " +"``__annotations__`` attribute." +msgstr "" +"Найкраща практика доступу до анотацій dict інших об’єктів — функцій, інших " +"викликів і модулів — така ж, як і найкраща практика для 3.10, припускаючи, " +"що ви не викликаєте :func:`inspect.get_annotations`: вам слід " +"використовувати три- аргумент :func:`getattr` для доступу до атрибута " +"``__annotations__`` об’єкта." + +msgid "" +"Unfortunately, this isn't best practice for classes. The problem is that, " +"since ``__annotations__`` is optional on classes, and because classes can " +"inherit attributes from their base classes, accessing the " +"``__annotations__`` attribute of a class may inadvertently return the " +"annotations dict of a *base class.* As an example::" +msgstr "" +"На жаль, це не найкраща практика для занять. Проблема полягає в тому, що, " +"оскільки ``__annotations__`` є необов’язковим для класів, і оскільки класи " +"можуть успадковувати атрибути від своїх базових класів, доступ до атрибута " +"``__annotations__`` класу може ненавмисно повернути анотації dict *base " +"class*. Як приклад::" + +msgid "This will print the annotations dict from ``Base``, not ``Derived``." +msgstr "Це надрукує анотації dict з ``Base``, а не ``Derived``." + +msgid "" +"Your code will have to have a separate code path if the object you're " +"examining is a class (``isinstance(o, type)``). In that case, best practice " +"relies on an implementation detail of Python 3.9 and before: if a class has " +"annotations defined, they are stored in the class's ``__dict__`` " +"dictionary. Since the class may or may not have annotations defined, best " +"practice is to call the ``get`` method on the class dict." +msgstr "" +"Ваш код повинен мати окремий кодовий шлях, якщо об’єкт, який ви перевіряєте, " +"є класом (``isinstance(o, type)``). У цьому випадку найкраща практика " +"покладається на деталі реалізації Python 3.9 і раніше: якщо клас має " +"визначені анотації, вони зберігаються в словнику ``__dict__`` класу. " +"Оскільки клас може мати або не мати визначених анотацій, найкращою практикою " +"є виклик методу ``get`` у dict класу." + +msgid "" +"To put it all together, here is some sample code that safely accesses the " +"``__annotations__`` attribute on an arbitrary object in Python 3.9 and " +"before::" +msgstr "" +"Ось приклад коду, який безпечно отримує доступ до атрибута " +"``__annotations__`` довільного об’єкта в Python 3.9 і раніше:" + +msgid "" +"After running this code, ``ann`` should be either a dictionary or ``None``. " +"You're encouraged to double-check the type of ``ann`` using :func:" +"`isinstance` before further examination." +msgstr "" +"Після виконання цього коду ``ann`` має бути або словником, або ``None``. " +"Перед подальшим вивченням радимо ще раз перевірити тип ``ann`` за допомогою :" +"func:`isinstance`." + +msgid "" +"Note that some exotic or malformed type objects may not have a ``__dict__`` " +"attribute, so for extra safety you may also wish to use :func:`getattr` to " +"access ``__dict__``." +msgstr "" +"Зауважте, що деякі об’єкти екзотичного чи неправильного типу можуть не мати " +"атрибута ``__dict__``, тому для додаткової безпеки ви також можете " +"використовувати :func:`getattr` для доступу до ``__dict__``." + +msgid "Manually Un-Stringizing Stringized Annotations" +msgstr "Ручне видалення струнних анотацій" + +msgid "" +"In situations where some annotations may be \"stringized\", and you wish to " +"evaluate those strings to produce the Python values they represent, it " +"really is best to call :func:`inspect.get_annotations` to do this work for " +"you." +msgstr "" +"У ситуаціях, коли деякі анотації можуть бути \"рядковими\", і ви бажаєте " +"оцінити ці рядки для створення значень Python, які вони представляють, " +"дійсно найкраще викликати :func:`inspect.get_annotations`, щоб зробити цю " +"роботу за вас." + +msgid "" +"If you're using Python 3.9 or older, or if for some reason you can't use :" +"func:`inspect.get_annotations`, you'll need to duplicate its logic. You're " +"encouraged to examine the implementation of :func:`inspect.get_annotations` " +"in the current Python version and follow a similar approach." +msgstr "" +"Якщо ви використовуєте Python 3.9 або старішу версію, або якщо з якоїсь " +"причини ви не можете використовувати :func:`inspect.get_annotations`, вам " +"потрібно буде скопіювати його логіку. Радимо перевірити реалізацію :func:" +"`inspect.get_annotations` у поточній версії Python і застосувати подібний " +"підхід." + +msgid "" +"In a nutshell, if you wish to evaluate a stringized annotation on an " +"arbitrary object ``o``:" +msgstr "" +"У двох словах, якщо ви бажаєте оцінити рядкову анотацію довільного об’єкта " +"``o``:" + +msgid "" +"If ``o`` is a module, use ``o.__dict__`` as the ``globals`` when calling :" +"func:`eval`." +msgstr "" +"Якщо ``o`` є модулем, використовуйте ``o.__dict__`` як ``globals`` під час " +"виклику :func:`eval`." + +msgid "" +"If ``o`` is a class, use ``sys.modules[o.__module__].__dict__`` as the " +"``globals``, and ``dict(vars(o))`` as the ``locals``, when calling :func:" +"`eval`." +msgstr "" +"Якщо ``o`` є класом, використовуйте ``sys.modules[o.__module__].__dict__`` " +"як ``globals``, а ``dict(vars(o))`` як ``locals``, під час виклику :func:" +"`eval`." + +msgid "" +"If ``o`` is a wrapped callable using :func:`functools.update_wrapper`, :func:" +"`functools.wraps`, or :func:`functools.partial`, iteratively unwrap it by " +"accessing either ``o.__wrapped__`` or ``o.func`` as appropriate, until you " +"have found the root unwrapped function." +msgstr "" +"Якщо ``o`` є обернутим викликом за допомогою :func:`functools." +"update_wrapper`, :func:`functools.wraps` або :func:`functools.partial`, " +"ітеративно розгортайте його, звертаючись до ``o.__wrapped__`` або ``o.func`` " +"відповідно, доки ви не знайдете кореневу розгорнуту функцію." + +msgid "" +"If ``o`` is a callable (but not a class), use ``o.__globals__`` as the " +"globals when calling :func:`eval`." +msgstr "" +"Якщо ``o`` є викликаним (але не класом), використовуйте ``o.__globals__`` як " +"глобальні під час виклику :func:`eval`." + +msgid "" +"However, not all string values used as annotations can be successfully " +"turned into Python values by :func:`eval`. String values could theoretically " +"contain any valid string, and in practice there are valid use cases for type " +"hints that require annotating with string values that specifically *can't* " +"be evaluated. For example:" +msgstr "" +"Однак не всі рядкові значення, які використовуються як анотації, можна " +"успішно перетворити на значення Python за допомогою :func:`eval`. Рядкові " +"значення теоретично можуть містити будь-який дійсний рядок, і на практиці є " +"дійсні випадки використання підказок типу, які вимагають анотування " +"рядковими значеннями, які конкретно *неможливо* оцінити. Наприклад:" + +msgid "" +":pep:`604` union types using ``|``, before support for this was added to " +"Python 3.10." +msgstr "" +":pep:`604` типи об’єднання з використанням ``|``, перш ніж підтримку цього " +"було додано в Python 3.10." + +msgid "" +"Definitions that aren't needed at runtime, only imported when :const:`typing." +"TYPE_CHECKING` is true." +msgstr "" +"Визначення, які не потрібні під час виконання, імпортуються лише тоді, коли :" +"const:`typing.TYPE_CHECKING` має значення true." + +msgid "" +"If :func:`eval` attempts to evaluate such values, it will fail and raise an " +"exception. So, when designing a library API that works with annotations, " +"it's recommended to only attempt to evaluate string values when explicitly " +"requested to by the caller." +msgstr "" +"Якщо :func:`eval` спробує обчислити такі значення, це зазнає невдачі та " +"викличе виняток. Таким чином, під час розробки API бібліотеки, яка працює з " +"анотаціями, рекомендується намагатися оцінити значення рядка лише тоді, коли " +"це явно вимагається від викликаючого." + +msgid "Best Practices For ``__annotations__`` In Any Python Version" +msgstr "Найкращі методи роботи з ``__annotations__`` в будь-якій версії Python" + +msgid "" +"You should avoid assigning to the ``__annotations__`` member of objects " +"directly. Let Python manage setting ``__annotations__``." +msgstr "" +"Вам слід уникати безпосереднього призначення члену ``__annotations__`` " +"об’єктів. Дозвольте Python керувати налаштуванням ``__annotations__``." + +msgid "" +"If you do assign directly to the ``__annotations__`` member of an object, " +"you should always set it to a ``dict`` object." +msgstr "" +"Якщо ви призначаєте безпосередньо члену ``__annotations__`` об’єкта, ви " +"завжди повинні встановлювати його на об’єкт ``dict``." + +msgid "" +"If you directly access the ``__annotations__`` member of an object, you " +"should ensure that it's a dictionary before attempting to examine its " +"contents." +msgstr "" +"Якщо ви здійснюєте прямий доступ до елемента ``__annotations__`` об’єкта, ви " +"повинні переконатися, що це словник, перш ніж намагатися перевірити його " +"вміст." + +msgid "You should avoid modifying ``__annotations__`` dicts." +msgstr "Слід уникати змінення ``__annotations__`` dicts." + +msgid "" +"You should avoid deleting the ``__annotations__`` attribute of an object." +msgstr "Слід уникати видалення атрибута ``__annotations__`` об’єкта." + +msgid "``__annotations__`` Quirks" +msgstr "``__annotations__`` Примхи" + +msgid "" +"In all versions of Python 3, function objects lazy-create an annotations " +"dict if no annotations are defined on that object. You can delete the " +"``__annotations__`` attribute using ``del fn.__annotations__``, but if you " +"then access ``fn.__annotations__`` the object will create a new empty dict " +"that it will store and return as its annotations. Deleting the annotations " +"on a function before it has lazily created its annotations dict will throw " +"an ``AttributeError``; using ``del fn.__annotations__`` twice in a row is " +"guaranteed to always throw an ``AttributeError``." +msgstr "" +"У всіх версіях Python 3 функціональні об’єкти відкладено створюють анотації " +"dict, якщо для цього об’єкта не визначено анотацій. Ви можете видалити " +"атрибут ``__annotations__`` за допомогою ``del fn.__annotations__``, але " +"якщо ви потім отримаєте доступ до ``fn.__annotations__``, об’єкт створить " +"новий порожній dict, який він зберігатиме та повертатиме як свої анотації. " +"Видалення анотацій у функції до того, як вона ліниво створить свої анотації " +"dict, викличе ``AttributeError``; використання ``del fn.__annotations__`` " +"двічі поспіль гарантовано завжди викидає ``AttributeError``." + +msgid "" +"Everything in the above paragraph also applies to class and module objects " +"in Python 3.10 and newer." +msgstr "" +"Усе, що наведено вище, також стосується об’єктів класу та модуля в Python " +"3.10 і новіших версіях." + +msgid "" +"In all versions of Python 3, you can set ``__annotations__`` on a function " +"object to ``None``. However, subsequently accessing the annotations on that " +"object using ``fn.__annotations__`` will lazy-create an empty dictionary as " +"per the first paragraph of this section. This is *not* true of modules and " +"classes, in any Python version; those objects permit setting " +"``__annotations__`` to any Python value, and will retain whatever value is " +"set." +msgstr "" +"У всіх версіях Python 3 для ``__annotations__`` для об’єкта функції можна " +"встановити значення ``None``. Однак подальший доступ до анотацій цього " +"об’єкта за допомогою ``fn.__annotations__`` призведе до відкладеного " +"створення порожнього словника згідно з першим параграфом цього розділу. Це " +"*не* стосується модулів і класів у будь-якій версії Python; ці об’єкти " +"дозволяють установлювати ``__annotations__`` на будь-яке значення Python і " +"збережуть будь-яке встановлене значення." + +msgid "" +"If Python stringizes your annotations for you (using ``from __future__ " +"import annotations``), and you specify a string as an annotation, the string " +"will itself be quoted. In effect the annotation is quoted *twice.* For " +"example::" +msgstr "" +"Якщо Python створить для вас рядкові анотації (за допомогою ``from " +"__future__ import annotations``), і ви вкажете рядок як анотацію, сам рядок " +"буде взято в лапки. По суті, анотація взята в лапки *двічі.* Наприклад::" + +msgid "" +"This prints ``{'a': \"'str'\"}``. This shouldn't really be considered a " +"\"quirk\"; it's mentioned here simply because it might be surprising." +msgstr "" +"Це друкує ``{'a': \"'str'\"}``. Це насправді не слід вважати \"химерністю\"; " +"це згадується тут просто тому, що це може бути несподіваним." diff --git a/howto/argparse.po b/howto/argparse.po new file mode 100644 index 000000000..4a0c3b01a --- /dev/null +++ b/howto/argparse.po @@ -0,0 +1,543 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Argparse Tutorial" +msgstr "Підручник Argparse" + +msgid "author" +msgstr "автор" + +msgid "Tshepang Lekhonkhobe" +msgstr "Tshepang Lekhonkhobe" + +msgid "" +"This tutorial is intended to be a gentle introduction to :mod:`argparse`, " +"the recommended command-line parsing module in the Python standard library." +msgstr "" +"Цей підручник призначений для ознайомлення з :mod:`argparse`, рекомендованим " +"модулем аналізу командного рядка в стандартній бібліотеці Python." + +msgid "" +"There are two other modules that fulfill the same task, namely :mod:`getopt` " +"(an equivalent for :c:func:`getopt` from the C language) and the deprecated :" +"mod:`optparse`. Note also that :mod:`argparse` is based on :mod:`optparse`, " +"and therefore very similar in terms of usage." +msgstr "" +"Є два інші модулі, які виконують те саме завдання, а саме :mod:`getopt` " +"(еквівалент :c:func:`getopt` з мови C) і застарілий :mod:`optparse`. " +"Зауважте також, що :mod:`argparse` засновано на :mod:`optparse`, і тому дуже " +"подібний з точки зору використання." + +msgid "Concepts" +msgstr "Концепції" + +msgid "" +"Let's show the sort of functionality that we are going to explore in this " +"introductory tutorial by making use of the :command:`ls` command:" +msgstr "" +"Давайте покажемо тип функціональності, який ми збираємося досліджувати в " +"цьому вступному посібнику, використовуючи команду :command:`ls`:" + +msgid "A few concepts we can learn from the four commands:" +msgstr "Кілька понять, які ми можемо вивчити з чотирьох команд:" + +msgid "" +"The :command:`ls` command is useful when run without any options at all. It " +"defaults to displaying the contents of the current directory." +msgstr "" +"Команда :command:`ls` корисна, якщо її запускати без жодних опцій. За " +"замовчуванням відображається вміст поточного каталогу." + +msgid "" +"If we want beyond what it provides by default, we tell it a bit more. In " +"this case, we want it to display a different directory, ``pypy``. What we " +"did is specify what is known as a positional argument. It's named so because " +"the program should know what to do with the value, solely based on where it " +"appears on the command line. This concept is more relevant to a command " +"like :command:`cp`, whose most basic usage is ``cp SRC DEST``. The first " +"position is *what you want copied,* and the second position is *where you " +"want it copied to*." +msgstr "" +"Якщо ми хочемо вийти за межі того, що він надає за замовчуванням, ми " +"розповідаємо про це трохи більше. У цьому випадку ми хочемо, щоб він " +"відображав інший каталог, ``pypy``. Ми вказали так званий позиційний " +"аргумент. Це названо так, тому що програма повинна знати, що робити зі " +"значенням, виключно на основі того, де воно з’являється в командному рядку. " +"Ця концепція більш актуальна для такої команди, як :command:`cp`, основним " +"використанням якої є ``cp SRC DEST``. Перша позиція — це *те, що ви хочете " +"скопіювати*, а друга позиція — це *куди ви хочете це скопіювати*." + +msgid "" +"Now, say we want to change behaviour of the program. In our example, we " +"display more info for each file instead of just showing the file names. The " +"``-l`` in that case is known as an optional argument." +msgstr "" +"Тепер, скажімо, ми хочемо змінити поведінку програми. У нашому прикладі ми " +"показуємо більше інформації для кожного файлу, а не просто показуємо імена " +"файлів. ``-l`` у цьому випадку відомий як необов'язковий аргумент." + +msgid "" +"That's a snippet of the help text. It's very useful in that you can come " +"across a program you have never used before, and can figure out how it works " +"simply by reading its help text." +msgstr "" +"Це фрагмент довідкового тексту. Це дуже корисно, оскільки ви можете " +"натрапити на програму, якою ніколи раніше не користувалися, і зрозуміти, як " +"вона працює, просто прочитавши довідковий текст." + +msgid "The basics" +msgstr "Основи" + +msgid "Let us start with a very simple example which does (almost) nothing::" +msgstr "Почнемо з дуже простого прикладу, який (майже) нічого не робить:" + +msgid "Following is a result of running the code:" +msgstr "Нижче наведено результат виконання коду:" + +msgid "Here is what is happening:" +msgstr "Ось що відбувається:" + +msgid "" +"Running the script without any options results in nothing displayed to " +"stdout. Not so useful." +msgstr "" +"Запуск сценарію без будь-яких параметрів призводить до того, що стандартний " +"вивід нічого не відображає. Не дуже корисно." + +msgid "" +"The second one starts to display the usefulness of the :mod:`argparse` " +"module. We have done almost nothing, but already we get a nice help message." +msgstr "" +"Другий починає відображати корисність модуля :mod:`argparse`. Ми майже " +"нічого не зробили, але вже отримуємо гарне довідкове повідомлення." + +msgid "" +"The ``--help`` option, which can also be shortened to ``-h``, is the only " +"option we get for free (i.e. no need to specify it). Specifying anything " +"else results in an error. But even then, we do get a useful usage message, " +"also for free." +msgstr "" +"Опція ``--help``, яку також можна скоротити до ``-h``, є єдиною опцією, яку " +"ми отримуємо безкоштовно (тобто її не потрібно вказувати). Вказівка будь-" +"чого іншого призводить до помилки. Але навіть тоді ми отримуємо корисне " +"повідомлення про використання, також безкоштовно." + +msgid "Introducing Positional arguments" +msgstr "Представлення позиційних аргументів" + +msgid "An example::" +msgstr "Приклад::" + +msgid "And running the code:" +msgstr "І запуск коду:" + +msgid "Here is what's happening:" +msgstr "Ось що відбувається:" + +msgid "" +"We've added the :meth:`add_argument` method, which is what we use to specify " +"which command-line options the program is willing to accept. In this case, " +"I've named it ``echo`` so that it's in line with its function." +msgstr "" +"Ми додали метод :meth:`add_argument`, який ми використовуємо, щоб визначити, " +"які параметри командного рядка програма готова прийняти. У цьому випадку я " +"назвав його ``echo``, щоб воно відповідало його функції." + +msgid "Calling our program now requires us to specify an option." +msgstr "Для виклику нашої програми тепер потрібно вказати опцію." + +msgid "" +"The :meth:`parse_args` method actually returns some data from the options " +"specified, in this case, ``echo``." +msgstr "" +"Метод :meth:`parse_args` насправді повертає деякі дані з указаних " +"параметрів, у даному випадку це ``echo``." + +msgid "" +"The variable is some form of 'magic' that :mod:`argparse` performs for free " +"(i.e. no need to specify which variable that value is stored in). You will " +"also notice that its name matches the string argument given to the method, " +"``echo``." +msgstr "" +"Змінна є певною формою \"магії\", яку :mod:`argparse` виконує безкоштовно " +"(тобто не потрібно вказувати, у якій змінній це значення зберігається). Ви " +"також помітите, що його назва відповідає рядковому аргументу, наданому " +"методу, ``echo``." + +msgid "" +"Note however that, although the help display looks nice and all, it " +"currently is not as helpful as it can be. For example we see that we got " +"``echo`` as a positional argument, but we don't know what it does, other " +"than by guessing or by reading the source code. So, let's make it a bit more " +"useful::" +msgstr "" +"Зауважте, однак, що, незважаючи на те, що екран довідки виглядає гарно і все " +"таке, наразі він не такий корисний, як міг би бути. Наприклад, ми бачимо, що " +"ми отримали ``echo`` як позиційний аргумент, але ми не знаємо, що він " +"робить, окрім здогадок або читання вихідного коду. Отже, давайте зробимо це " +"трохи кориснішим::" + +msgid "And we get:" +msgstr "І отримуємо:" + +msgid "Now, how about doing something even more useful::" +msgstr "А тепер як щодо того, щоб зробити щось ще корисніше:" + +msgid "" +"That didn't go so well. That's because :mod:`argparse` treats the options we " +"give it as strings, unless we tell it otherwise. So, let's tell :mod:" +"`argparse` to treat that input as an integer::" +msgstr "" +"Це пішло не так добре. Це тому, що :mod:`argparse` розглядає надані нами " +"параметри як рядки, якщо ми не вкажемо інше. Отже, давайте скажемо :mod:" +"`argparse` розглядати цей вхід як ціле число::" + +msgid "" +"That went well. The program now even helpfully quits on bad illegal input " +"before proceeding." +msgstr "" +"Це пройшло добре. Програма тепер навіть допомагає завершити роботу, якщо " +"неправильно введено неправильні дані, перш ніж продовжити." + +msgid "Introducing Optional arguments" +msgstr "Представляємо додаткові аргументи" + +msgid "" +"So far we have been playing with positional arguments. Let us have a look on " +"how to add optional ones::" +msgstr "" +"Досі ми гралися з позиційними аргументами. Давайте розглянемо, як додати " +"необов'язкові:" + +msgid "And the output:" +msgstr "І вихід:" + +msgid "" +"The program is written so as to display something when ``--verbosity`` is " +"specified and display nothing when not." +msgstr "" +"Програма написана таким чином, щоб щось відображати, коли вказано ``--" +"verbosity``, і нічого не відображати, якщо ні." + +msgid "" +"To show that the option is actually optional, there is no error when running " +"the program without it. Note that by default, if an optional argument isn't " +"used, the relevant variable, in this case :attr:`args.verbosity`, is given " +"``None`` as a value, which is the reason it fails the truth test of the :" +"keyword:`if` statement." +msgstr "" +"Щоб показати, що цей параметр насправді є необов’язковим, помилка не виникає " +"під час запуску програми без нього. Зауважте, що за замовчуванням, якщо " +"необов’язковий аргумент не використовується, відповідній змінній, у цьому " +"випадку :attr:`args.verbosity`, присвоюється значення ``None``, через що " +"вона не проходить тест на істинність оператора :keyword:`if`." + +msgid "The help message is a bit different." +msgstr "Довідкове повідомлення дещо інше." + +msgid "" +"When using the ``--verbosity`` option, one must also specify some value, any " +"value." +msgstr "" +"При використанні опції ``--verbosity`` необхідно також вказати певне " +"значення, будь-яке значення." + +msgid "" +"The above example accepts arbitrary integer values for ``--verbosity``, but " +"for our simple program, only two values are actually useful, ``True`` or " +"``False``. Let's modify the code accordingly::" +msgstr "" +"Наведений вище приклад приймає довільні цілі значення для ``--verbosity``, " +"але для нашої простої програми насправді корисними є лише два значення, " +"``True`` або ``False``. Давайте відповідно змінимо код::" + +msgid "" +"The option is now more of a flag than something that requires a value. We " +"even changed the name of the option to match that idea. Note that we now " +"specify a new keyword, ``action``, and give it the value ``\"store_true\"``. " +"This means that, if the option is specified, assign the value ``True`` to :" +"data:`args.verbose`. Not specifying it implies ``False``." +msgstr "" +"Параметр тепер більше схожий на прапор, ніж щось, що вимагає значення. Ми " +"навіть змінили назву опції відповідно до цієї ідеї. Зауважте, що тепер ми " +"вказуємо нове ключове слово, ``action``, і надаємо йому значення ``" +"\"store_true\"``. Це означає, що якщо параметр указано, присвойте значення " +"``True`` для :data:`args.verbose`. Невказівка означає ``False``." + +msgid "" +"It complains when you specify a value, in true spirit of what flags actually " +"are." +msgstr "" +"Він скаржиться, коли ви вказуєте значення, у справжньому дусі того, чим " +"насправді є прапори." + +msgid "Notice the different help text." +msgstr "Зверніть увагу на інший текст довідки." + +msgid "Short options" +msgstr "Короткі варіанти" + +msgid "" +"If you are familiar with command line usage, you will notice that I haven't " +"yet touched on the topic of short versions of the options. It's quite " +"simple::" +msgstr "" +"Якщо ви знайомі з використанням командного рядка, ви помітите, що я ще не " +"торкався теми коротких версій параметрів. Це досить просто::" + +msgid "And here goes:" +msgstr "І ось:" + +msgid "Note that the new ability is also reflected in the help text." +msgstr "" +"Зверніть увагу, що нова здатність також відображається в тексті довідки." + +msgid "Combining Positional and Optional arguments" +msgstr "Поєднання позиційних і необов’язкових аргументів" + +msgid "Our program keeps growing in complexity::" +msgstr "Наша програма постійно ускладнюється:" + +msgid "And now the output:" +msgstr "А тепер вихід:" + +msgid "We've brought back a positional argument, hence the complaint." +msgstr "Ми повернули позиційний аргумент, тому скарга." + +msgid "Note that the order does not matter." +msgstr "Зауважте, що порядок не має значення." + +msgid "" +"How about we give this program of ours back the ability to have multiple " +"verbosity values, and actually get to use them::" +msgstr "" +"Як щодо того, щоб ми повернули цій нашій програмі можливість мати кілька " +"значень докладності та фактично отримати їх використання:" + +msgid "" +"These all look good except the last one, which exposes a bug in our program. " +"Let's fix it by restricting the values the ``--verbosity`` option can " +"accept::" +msgstr "" +"Усі вони виглядають добре, крім останнього, який виявляє помилку в нашій " +"програмі. Давайте виправимо це, обмеживши значення, які може приймати " +"параметр ``--verbosity``:" + +msgid "" +"Note that the change also reflects both in the error message as well as the " +"help string." +msgstr "" +"Зауважте, що зміна також відображається як у повідомленні про помилку, так і " +"в рядку довідки." + +msgid "" +"Now, let's use a different approach of playing with verbosity, which is " +"pretty common. It also matches the way the CPython executable handles its " +"own verbosity argument (check the output of ``python --help``)::" +msgstr "" +"Тепер давайте використаємо інший підхід гри з багатослівністю, який є досить " +"поширеним. Це також відповідає тому, як виконуваний файл CPython обробляє " +"власний аргумент багатослівності (перевірте вихід ``python --help``)::" + +msgid "" +"We have introduced another action, \"count\", to count the number of " +"occurrences of specific options." +msgstr "" +"Ми запровадили ще одну дію, \"підрахунок\", щоб підрахувати кількість " +"повторень певних параметрів." + +msgid "" +"Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the " +"previous version of our script. That should explain the complaint." +msgstr "" +"Так, тепер це більше позначка (схожа на ``action=\"store_true\"``) у " +"попередній версії нашого сценарію. Це має пояснити скаргу." + +msgid "It also behaves similar to \"store_true\" action." +msgstr "Він також поводиться подібно до дії \"store_true\"." + +msgid "" +"Now here's a demonstration of what the \"count\" action gives. You've " +"probably seen this sort of usage before." +msgstr "" +"Тепер ось демонстрація того, що дає дія \"підрахунок\". Ви, напевно, бачили " +"таке використання раніше." + +msgid "" +"And if you don't specify the ``-v`` flag, that flag is considered to have " +"``None`` value." +msgstr "" +"І якщо ви не вкажете прапорець ``-v``, цей прапорець вважатиметься таким, що " +"має значення ``None``." + +msgid "" +"As should be expected, specifying the long form of the flag, we should get " +"the same output." +msgstr "" +"Як і слід було очікувати, вказавши довгу форму прапора, ми повинні отримати " +"той самий результат." + +msgid "" +"Sadly, our help output isn't very informative on the new ability our script " +"has acquired, but that can always be fixed by improving the documentation " +"for our script (e.g. via the ``help`` keyword argument)." +msgstr "" +"На жаль, результати нашої довідки не надто інформативні щодо нових " +"можливостей, які отримав наш сценарій, але це завжди можна виправити, " +"покращивши документацію для нашого сценарію (наприклад, за допомогою " +"аргументу ключового слова ``help``)." + +msgid "That last output exposes a bug in our program." +msgstr "Цей останній вихід виявляє помилку в нашій програмі." + +msgid "Let's fix::" +msgstr "Виправимо::" + +msgid "And this is what it gives:" +msgstr "І ось що це дає:" + +msgid "" +"First output went well, and fixes the bug we had before. That is, we want " +"any value >= 2 to be as verbose as possible." +msgstr "" +"Перший вихід пройшов добре та виправляє помилку, яку ми мали раніше. Тобто " +"ми хочемо, щоб будь-яке значення >= 2 було якомога детальнішим." + +msgid "Third output not so good." +msgstr "Третій вихід не дуже хороший." + +msgid "Let's fix that bug::" +msgstr "Давайте виправимо цю помилку::" + +msgid "" +"We've just introduced yet another keyword, ``default``. We've set it to " +"``0`` in order to make it comparable to the other int values. Remember that " +"by default, if an optional argument isn't specified, it gets the ``None`` " +"value, and that cannot be compared to an int value (hence the :exc:" +"`TypeError` exception)." +msgstr "" +"Ми щойно представили ще одне ключове слово, ``default``. Ми встановили для " +"нього значення ``0``, щоб зробити його порівнянним з іншими значеннями int. " +"Пам’ятайте, що за замовчуванням, якщо необов’язковий аргумент не вказано, " +"він отримує значення ``None``, яке не можна порівняти зі значенням int " +"(отже, виняток :exc:`TypeError`)." + +msgid "And:" +msgstr "і:" + +msgid "" +"You can go quite far just with what we've learned so far, and we have only " +"scratched the surface. The :mod:`argparse` module is very powerful, and " +"we'll explore a bit more of it before we end this tutorial." +msgstr "" +"Ви можете зайти досить далеко лише з тим, що ми навчилися досі, і ми лише " +"подряпали поверхню. Модуль :mod:`argparse` дуже потужний, і ми вивчимо його " +"трохи більше, перш ніж закінчити цей підручник." + +msgid "Getting a little more advanced" +msgstr "Ставши трохи більш просунутим" + +msgid "" +"What if we wanted to expand our tiny program to perform other powers, not " +"just squares::" +msgstr "" +"Що, якби ми захотіли розширити нашу крихітну програму для виконання інших " +"ступенів, а не лише квадратів:" + +msgid "Output:" +msgstr "Вихід:" + +msgid "" +"Notice that so far we've been using verbosity level to *change* the text " +"that gets displayed. The following example instead uses verbosity level to " +"display *more* text instead::" +msgstr "" +"Зверніть увагу, що досі ми використовували рівень докладності, щоб *змінити* " +"текст, який відображається. Натомість у наступному прикладі використовується " +"рівень детальності для відображення *більше* тексту::" + +msgid "Conflicting options" +msgstr "Конфліктні варіанти" + +msgid "" +"So far, we have been working with two methods of an :class:`argparse." +"ArgumentParser` instance. Let's introduce a third one, :meth:" +"`add_mutually_exclusive_group`. It allows for us to specify options that " +"conflict with each other. Let's also change the rest of the program so that " +"the new functionality makes more sense: we'll introduce the ``--quiet`` " +"option, which will be the opposite of the ``--verbose`` one::" +msgstr "" +"Поки що ми працювали з двома методами екземпляра :class:`argparse." +"ArgumentParser`. Давайте представимо третій, :meth:" +"`add_mutually_exclusive_group`. Це дозволяє нам вказувати параметри, які " +"суперечать один одному. Давайте також змінимо решту програми, щоб нова " +"функціональність мала більше сенсу: ми запровадимо опцію ``--quiet``, яка " +"буде протилежною опції ``--verbose``::" + +msgid "" +"Our program is now simpler, and we've lost some functionality for the sake " +"of demonstration. Anyways, here's the output:" +msgstr "" +"Наша програма стала простішою, і ми втратили деякі функції заради " +"демонстрації. У будь-якому випадку, ось результат:" + +msgid "" +"That should be easy to follow. I've added that last output so you can see " +"the sort of flexibility you get, i.e. mixing long form options with short " +"form ones." +msgstr "" +"Це повинно бути легко слідкувати. Я додав цей останній вихід, щоб ви могли " +"бачити, яку гнучкість ви отримуєте, тобто змішування параметрів довгої форми " +"з опціями короткої." + +msgid "" +"Before we conclude, you probably want to tell your users the main purpose of " +"your program, just in case they don't know::" +msgstr "" +"Перш ніж завершити, ви, ймовірно, захочете повідомити своїм користувачам " +"головну мету вашої програми, на випадок, якщо вони не знають:" + +msgid "" +"Note that slight difference in the usage text. Note the ``[-v | -q]``, which " +"tells us that we can either use ``-v`` or ``-q``, but not both at the same " +"time:" +msgstr "" +"Зверніть увагу на невелику різницю в тексті використання. Зверніть увагу на " +"``[-v | -q]``, який говорить нам, що ми можемо використовувати ``-v`` або ``-" +"q``, але не обидва одночасно:" + +msgid "Conclusion" +msgstr "Висновок" + +msgid "" +"The :mod:`argparse` module offers a lot more than shown here. Its docs are " +"quite detailed and thorough, and full of examples. Having gone through this " +"tutorial, you should easily digest them without feeling overwhelmed." +msgstr "" +"Модуль :mod:`argparse` пропонує набагато більше, ніж показано тут. Його " +"документи досить докладні та ретельні та повні прикладів. Пройшовши цей " +"підручник, ви повинні легко засвоїти їх, не відчуваючи себе приголомшеними." diff --git a/howto/clinic.po b/howto/clinic.po new file mode 100644 index 000000000..5227c35ec --- /dev/null +++ b/howto/clinic.po @@ -0,0 +1,2861 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Argument Clinic How-To" +msgstr "Інструкції клініки аргументів" + +msgid "author" +msgstr "автор" + +msgid "Larry Hastings" +msgstr "Larry Hastings" + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"Argument Clinic is a preprocessor for CPython C files. Its purpose is to " +"automate all the boilerplate involved with writing argument parsing code for " +"\"builtins\". This document shows you how to convert your first C function " +"to work with Argument Clinic, and then introduces some advanced topics on " +"Argument Clinic usage." +msgstr "" +"Argument Clinic є препроцесором для файлів CPython C. Його метою є " +"автоматизація всього шаблонного коду, пов’язаного з написанням коду аналізу " +"аргументів для \"builtins\". У цьому документі показано, як перетворити вашу " +"першу функцію C для роботи з Argument Clinic, а потім представлені деякі " +"додаткові теми щодо використання Argument Clinic." + +msgid "" +"Currently Argument Clinic is considered internal-only for CPython. Its use " +"is not supported for files outside CPython, and no guarantees are made " +"regarding backwards compatibility for future versions. In other words: if " +"you maintain an external C extension for CPython, you're welcome to " +"experiment with Argument Clinic in your own code. But the version of " +"Argument Clinic that ships with the next version of CPython *could* be " +"totally incompatible and break all your code." +msgstr "" +"Наразі Argument Clinic вважається лише внутрішнім для CPython. Його " +"використання не підтримується для файлів за межами CPython, і не надається " +"жодних гарантій щодо зворотної сумісності для майбутніх версій. Іншими " +"словами: якщо ви підтримуєте зовнішнє розширення C для CPython, ви можете " +"експериментувати з Argument Clinic у своєму власному коді. Але версія " +"Argument Clinic, яка постачається з наступною версією CPython *може* бути " +"абсолютно несумісною та порушити весь ваш код." + +msgid "The Goals Of Argument Clinic" +msgstr "Цілі клініки аргументів" + +msgid "" +"Argument Clinic's primary goal is to take over responsibility for all " +"argument parsing code inside CPython. This means that, when you convert a " +"function to work with Argument Clinic, that function should no longer do any " +"of its own argument parsing—the code generated by Argument Clinic should be " +"a \"black box\" to you, where CPython calls in at the top, and your code " +"gets called at the bottom, with ``PyObject *args`` (and maybe ``PyObject " +"*kwargs``) magically converted into the C variables and types you need." +msgstr "" +"Головна мета Argument Clinic — взяти на себе відповідальність за весь код " +"аналізу аргументів у CPython. Це означає, що коли ви перетворюєте функцію " +"для роботи з Argument Clinic, ця функція більше не повинна виконувати " +"власний розбір аргументів — код, згенерований Argument Clinic, має бути для " +"вас \"чорним ящиком\", куди CPython звертається до зверху, а ваш код " +"викликається внизу, за допомогою ``PyObject *args`` (і, можливо, ``PyObject " +"*kwargs``), чарівним чином перетворених у потрібні вам змінні C і типи." + +msgid "" +"In order for Argument Clinic to accomplish its primary goal, it must be easy " +"to use. Currently, working with CPython's argument parsing library is a " +"chore, requiring maintaining redundant information in a surprising number of " +"places. When you use Argument Clinic, you don't have to repeat yourself." +msgstr "" +"Щоб Argument Clinic міг досягти своєї основної мети, він має бути простим у " +"використанні. Наразі робота з бібліотекою аналізу аргументів CPython є " +"клопіткою, що потребує збереження надлишкової інформації у неймовірній " +"кількості місць. Коли ви використовуєте Argument Clinic, вам не потрібно " +"повторюватися." + +msgid "" +"Obviously, no one would want to use Argument Clinic unless it's solving " +"their problem—and without creating new problems of its own. So it's " +"paramount that Argument Clinic generate correct code. It'd be nice if the " +"code was faster, too, but at the very least it should not introduce a major " +"speed regression. (Eventually Argument Clinic *should* make a major speedup " +"possible—we could rewrite its code generator to produce tailor-made argument " +"parsing code, rather than calling the general-purpose CPython argument " +"parsing library. That would make for the fastest argument parsing possible!)" +msgstr "" +"Очевидно, що ніхто не захоче використовувати Argument Clinic, якщо вона не " +"вирішить їхню проблему — і не створює нових власних проблем. Тому " +"надзвичайно важливо, щоб Argument Clinic створила правильний код. Було б " +"непогано, якби код також був швидшим, але принаймні це не повинно вводити " +"значної регресії швидкості. (Врешті-решт Argument Clinic *має* зробити " +"можливим значне прискорення — ми могли б переписати його генератор коду, щоб " +"створювати індивідуальний код аналізу аргументів, а не викликати бібліотеку " +"аналізу аргументів загального призначення CPython. Це забезпечить найшвидший " +"із можливих аналіз аргументів! )" + +msgid "" +"Additionally, Argument Clinic must be flexible enough to work with any " +"approach to argument parsing. Python has some functions with some very " +"strange parsing behaviors; Argument Clinic's goal is to support all of them." +msgstr "" +"Крім того, Argument Clinic має бути досить гнучким, щоб працювати з будь-" +"яким підходом до аналізу аргументів. У Python є деякі функції з дуже дивною " +"поведінкою аналізу; Мета клініки \"Аргумент\" — підтримати їх усіх." + +msgid "" +"Finally, the original motivation for Argument Clinic was to provide " +"introspection \"signatures\" for CPython builtins. It used to be, the " +"introspection query functions would throw an exception if you passed in a " +"builtin. With Argument Clinic, that's a thing of the past!" +msgstr "" +"Нарешті, початковою мотивацією для Argument Clinic було надання \"підписів\" " +"самоаналізу для вбудованих модулів CPython. Раніше функції запиту " +"самоаналізу видавали виняток, якщо ви передавали вбудований. З клінікою " +"\"Аргумент\" це залишилося в минулому!" + +msgid "" +"One idea you should keep in mind, as you work with Argument Clinic: the more " +"information you give it, the better job it'll be able to do. Argument Clinic " +"is admittedly relatively simple right now. But as it evolves it will get " +"more sophisticated, and it should be able to do many interesting and smart " +"things with all the information you give it." +msgstr "" +"Працюючи з Argument Clinic, вам слід пам’ятати одну ідею: чим більше " +"інформації ви їй надасте, тим краще вона зможе виконувати роботу. Правда, " +"клініка Аргумент зараз відносно проста. Але в міру розвитку він ставатиме " +"складнішим і зможе робити багато цікавих і розумних речей з усією " +"інформацією, яку ви йому надаєте." + +msgid "Basic Concepts And Usage" +msgstr "Основні поняття та використання" + +msgid "" +"Argument Clinic ships with CPython; you'll find it in ``Tools/clinic/clinic." +"py``. If you run that script, specifying a C file as an argument:" +msgstr "" +"Argument Clinic поставляється з CPython; ви знайдете його в ``Tools/clinic/" +"clinic.py``. Якщо ви запустите цей сценарій, вказавши файл C як аргумент:" + +msgid "" +"Argument Clinic will scan over the file looking for lines that look exactly " +"like this:" +msgstr "Argument Clinic сканує файл, шукаючи рядки, які виглядають саме так:" + +msgid "" +"When it finds one, it reads everything up to a line that looks exactly like " +"this:" +msgstr "" +"Коли він знаходить його, він читає все до рядка, який виглядає саме так:" + +msgid "" +"Everything in between these two lines is input for Argument Clinic. All of " +"these lines, including the beginning and ending comment lines, are " +"collectively called an Argument Clinic \"block\"." +msgstr "" +"Все, що знаходиться між цими двома рядками, є вхідними для Argument Clinic. " +"Усі ці рядки, включно з початковим і кінцевим рядками коментарів, разом " +"називаються \"блоком аргументації\"." + +msgid "" +"When Argument Clinic parses one of these blocks, it generates output. This " +"output is rewritten into the C file immediately after the block, followed by " +"a comment containing a checksum. The Argument Clinic block now looks like " +"this:" +msgstr "" +"Коли Argument Clinic аналізує один із цих блоків, він генерує вихідні дані. " +"Цей вивід переписується у файл C відразу після блоку, після чого йде " +"коментар, що містить контрольну суму. Блок \"Клініка аргументів\" тепер " +"виглядає так:" + +msgid "" +"If you run Argument Clinic on the same file a second time, Argument Clinic " +"will discard the old output and write out the new output with a fresh " +"checksum line. However, if the input hasn't changed, the output won't " +"change either." +msgstr "" +"Якщо ви запустите Argument Clinic для того самого файлу вдруге, Argument " +"Clinic відхилить старий вихід і випише новий вихід із свіжим рядком " +"контрольної суми. Однак, якщо вхід не змінився, вихід також не зміниться." + +msgid "" +"You should never modify the output portion of an Argument Clinic block. " +"Instead, change the input until it produces the output you want. (That's " +"the purpose of the checksum—to detect if someone changed the output, as " +"these edits would be lost the next time Argument Clinic writes out fresh " +"output.)" +msgstr "" +"Ви ніколи не повинні змінювати вихідну частину блоку Argument Clinic. " +"Натомість змінюйте вхідні дані, доки вони не отримають бажаний результат. " +"(Це мета контрольної суми — виявити, чи хтось змінив вихідні дані, оскільки " +"ці редагування буде втрачено наступного разу, коли Argument Clinic виведе " +"новий вихід.)" + +msgid "" +"For the sake of clarity, here's the terminology we'll use with Argument " +"Clinic:" +msgstr "" +"Для ясності ось термінологія, яку ми будемо використовувати з Argument " +"Clinic:" + +msgid "" +"The first line of the comment (``/*[clinic input]``) is the *start line*." +msgstr "Перший рядок коментаря (``/*[clinic input]``) є *початковим рядком*." + +msgid "" +"The last line of the initial comment (``[clinic start generated code]*/``) " +"is the *end line*." +msgstr "" +"Останній рядок початкового коментаря (``[генерований код початку клініки]*/" +"``) є *кінцевим рядком*." + +msgid "" +"The last line (``/*[clinic end generated code: checksum=...]*/``) is the " +"*checksum line*." +msgstr "" +"Останній рядок (``/*[код, згенерований клінікою: контрольна сума=...]*/``) — " +"це *рядок контрольної суми*." + +msgid "In between the start line and the end line is the *input*." +msgstr "Між початковим і кінцевим рядками знаходиться *вхід*." + +msgid "In between the end line and the checksum line is the *output*." +msgstr "Між кінцевим рядком і рядком контрольної суми знаходиться *вихід*." + +msgid "" +"All the text collectively, from the start line to the checksum line " +"inclusively, is the *block*. (A block that hasn't been successfully " +"processed by Argument Clinic yet doesn't have output or a checksum line, but " +"it's still considered a block.)" +msgstr "" +"Увесь текст разом, від початкового рядка до рядка контрольної суми включно, " +"є *блоком*. (Блок, який не було успішно оброблено Argument Clinic, ще не має " +"виводу чи рядка контрольної суми, але все одно вважається блоком.)" + +msgid "Converting Your First Function" +msgstr "Перетворення вашої першої функції" + +msgid "" +"The best way to get a sense of how Argument Clinic works is to convert a " +"function to work with it. Here, then, are the bare minimum steps you'd need " +"to follow to convert a function to work with Argument Clinic. Note that for " +"code you plan to check in to CPython, you really should take the conversion " +"farther, using some of the advanced concepts you'll see later on in the " +"document (like \"return converters\" and \"self converters\"). But we'll " +"keep it simple for this walkthrough so you can learn." +msgstr "" +"Найкращий спосіб зрозуміти, як працює Argument Clinic, — це перетворити " +"функцію для роботи з нею. Отже, ось мінімальні кроки, які вам потрібно " +"виконати, щоб перетворити функцію на роботу з Argument Clinic. Зауважте, що " +"для коду, який ви плануєте зареєструвати в CPython, вам справді слід " +"продовжити процес перетворення, використовуючи деякі розширені концепції, " +"які ви побачите пізніше в цьому документі (наприклад, \"перетворювачі " +"повернення\" та \"перетворювачі самостійно\"). Але ми зробимо його простим " +"для цього покрокового керівництва, щоб ви могли навчитися." + +msgid "Let's dive in!" +msgstr "Давайте зануримося!" + +msgid "" +"Make sure you're working with a freshly updated checkout of the CPython " +"trunk." +msgstr "" +"Переконайтеся, що ви працюєте зі щойно оновленою перевіркою магістралі " +"CPython." + +msgid "" +"Find a Python builtin that calls either :c:func:`PyArg_ParseTuple` or :c:" +"func:`PyArg_ParseTupleAndKeywords`, and hasn't been converted to work with " +"Argument Clinic yet. For my example I'm using ``_pickle.Pickler.dump()``." +msgstr "" +"Знайдіть вбудований Python, який викликає або :c:func:`PyArg_ParseTuple`, " +"або :c:func:`PyArg_ParseTupleAndKeywords`, і ще не перетворений для роботи з " +"Argument Clinic. Для свого прикладу я використовую ``_pickle.Pickler." +"dump()``." + +msgid "" +"If the call to the ``PyArg_Parse`` function uses any of the following format " +"units:" +msgstr "" +"Якщо виклик функції ``PyArg_Parse`` використовує будь-яку з наступних " +"одиниць формату:" + +msgid "" +"or if it has multiple calls to :c:func:`PyArg_ParseTuple`, you should choose " +"a different function. Argument Clinic *does* support all of these " +"scenarios. But these are advanced topics—let's do something simpler for " +"your first function." +msgstr "" +"або якщо він має декілька викликів :c:func:`PyArg_ParseTuple`, вам слід " +"вибрати іншу функцію. Клініка Аргумент *підтримує* всі ці сценарії. Але це " +"складні теми — давайте зробимо щось простіше для вашої першої функції." + +msgid "" +"Also, if the function has multiple calls to :c:func:`PyArg_ParseTuple` or :c:" +"func:`PyArg_ParseTupleAndKeywords` where it supports different types for the " +"same argument, or if the function uses something besides PyArg_Parse " +"functions to parse its arguments, it probably isn't suitable for conversion " +"to Argument Clinic. Argument Clinic doesn't support generic functions or " +"polymorphic parameters." +msgstr "" +"Крім того, якщо функція має кілька викликів :c:func:`PyArg_ParseTuple` або :" +"c:func:`PyArg_ParseTupleAndKeywords`, де вона підтримує різні типи для " +"одного аргументу, або якщо функція використовує щось окрім функцій " +"PyArg_Parse для аналізу своїх аргументів, він, ймовірно, не підходить для " +"перетворення на Argument Clinic. Argument Clinic не підтримує загальні " +"функції чи поліморфні параметри." + +msgid "Add the following boilerplate above the function, creating our block::" +msgstr "Додайте наступний шаблон над функцією, створивши наш блок::" + +msgid "" +"Cut the docstring and paste it in between the ``[clinic]`` lines, removing " +"all the junk that makes it a properly quoted C string. When you're done you " +"should have just the text, based at the left margin, with no line wider than " +"80 characters. (Argument Clinic will preserve indents inside the docstring.)" +msgstr "" +"Виріжте рядок документації та вставте його між рядками ``[clinic]``, " +"видаливши весь непотріб, який робить його правильним рядком C у лапках. Коли " +"ви закінчите, у вас має бути лише текст, розташований на лівому полі, без " +"рядка ширше 80 символів. (Argument Clinic збереже відступи всередині рядка " +"документації.)" + +msgid "" +"If the old docstring had a first line that looked like a function signature, " +"throw that line away. (The docstring doesn't need it anymore—when you use " +"``help()`` on your builtin in the future, the first line will be built " +"automatically based on the function's signature.)" +msgstr "" +"Якщо старий рядок документації мав перший рядок, який виглядав як підпис " +"функції, викиньте цей рядок. (Документаційному рядку він більше не потрібен " +"— коли ви в майбутньому використовуєте ``help()`` у своїй вбудованій " +"системі, перший рядок буде створено автоматично на основі сигнатури функції.)" + +msgid "Sample::" +msgstr "Зразок::" + +msgid "" +"If your docstring doesn't have a \"summary\" line, Argument Clinic will " +"complain. So let's make sure it has one. The \"summary\" line should be a " +"paragraph consisting of a single 80-column line at the beginning of the " +"docstring." +msgstr "" +"Якщо у вашому рядку документів немає рядка \"резюме\", Argument Clinic " +"поскаржиться. Тож давайте переконаємося, що він є. Рядок \"резюме\" має бути " +"абзацом, що складається з одного рядка з 80 стовпців на початку рядка " +"документа." + +msgid "" +"(Our example docstring consists solely of a summary line, so the sample code " +"doesn't have to change for this step.)" +msgstr "" +"(Наш приклад рядка документації складається лише з підсумкового рядка, тому " +"зразок коду не потрібно змінювати для цього кроку.)" + +msgid "" +"Above the docstring, enter the name of the function, followed by a blank " +"line. This should be the Python name of the function, and should be the " +"full dotted path to the function—it should start with the name of the " +"module, include any sub-modules, and if the function is a method on a class " +"it should include the class name too." +msgstr "" +"Над рядком документації введіть назву функції та порожній рядок. Це має бути " +"ім’я Python функції та має бути повний пунктирний шлях до функції — він має " +"починатися з назви модуля, включати будь-які підмодулі, а якщо функція є " +"методом у класі, вона має включати також ім'я класу." + +msgid "" +"If this is the first time that module or class has been used with Argument " +"Clinic in this C file, you must declare the module and/or class. Proper " +"Argument Clinic hygiene prefers declaring these in a separate block " +"somewhere near the top of the C file, in the same way that include files and " +"statics go at the top. (In our sample code we'll just show the two blocks " +"next to each other.)" +msgstr "" +"Якщо це перший раз, коли модуль або клас використовується з Argument Clinic " +"у цьому файлі C, ви повинні оголосити модуль та/або клас. Правильний " +"аргумент Клініка гігієни вважає за краще оголошувати їх в окремому блоці " +"десь у верхній частині файлу C, так само, як файли включення та статика " +"йдуть у верхній частині. (У нашому прикладі коду ми просто покажемо два " +"блоки поруч один з одним.)" + +msgid "" +"The name of the class and module should be the same as the one seen by " +"Python. Check the name defined in the :c:type:`PyModuleDef` or :c:type:" +"`PyTypeObject` as appropriate." +msgstr "" +"Ім’я класу та модуля має збігатися з тим, яке бачить Python. Перевірте " +"назву, визначену в :c:type:`PyModuleDef` або :c:type:`PyTypeObject` " +"відповідно." + +msgid "" +"When you declare a class, you must also specify two aspects of its type in " +"C: the type declaration you'd use for a pointer to an instance of this " +"class, and a pointer to the :c:type:`PyTypeObject` for this class." +msgstr "" +"Коли ви оголошуєте клас, ви також повинні вказати два аспекти його типу в C: " +"оголошення типу, яке ви б використовували для вказівника на екземпляр цього " +"класу, і вказівник на :c:type:`PyTypeObject` для цього клас." + +msgid "" +"Declare each of the parameters to the function. Each parameter should get " +"its own line. All the parameter lines should be indented from the function " +"name and the docstring." +msgstr "" +"Оголошіть кожен із параметрів функції. Для кожного параметра має бути " +"окремий рядок. Усі рядки параметрів повинні мати відступ від назви функції " +"та рядка документації." + +msgid "The general form of these parameter lines is as follows:" +msgstr "Загальна форма цих ліній параметрів така:" + +msgid "If the parameter has a default value, add that after the converter:" +msgstr "" +"Якщо параметр має значення за замовчуванням, додайте його після конвертера:" + +msgid "" +"Argument Clinic's support for \"default values\" is quite sophisticated; " +"please see :ref:`the section below on default values ` for " +"more information." +msgstr "" +"Підтримка \"значення за замовчуванням\" у Argument Clinic досить складна; " +"див. :ref:`розділ нижче про значення за замовчуванням ` для " +"отримання додаткової інформації." + +msgid "Add a blank line below the parameters." +msgstr "Додайте порожній рядок під параметрами." + +msgid "" +"What's a \"converter\"? It establishes both the type of the variable used " +"in C, and the method to convert the Python value into a C value at runtime. " +"For now you're going to use what's called a \"legacy converter\"—a " +"convenience syntax intended to make porting old code into Argument Clinic " +"easier." +msgstr "" +"Що таке \"конвертер\"? Він визначає як тип змінної, що використовується в C, " +"так і метод перетворення значення Python у значення C під час виконання. " +"Наразі ви використовуватимете так званий \"застарілий конвертер\" — зручний " +"синтаксис, призначений для полегшення перенесення старого коду в Argument " +"Clinic." + +msgid "" +"For each parameter, copy the \"format unit\" for that parameter from the " +"``PyArg_Parse()`` format argument and specify *that* as its converter, as a " +"quoted string. (\"format unit\" is the formal name for the one-to-three " +"character substring of the ``format`` parameter that tells the argument " +"parsing function what the type of the variable is and how to convert it. " +"For more on format units please see :ref:`arg-parsing`.)" +msgstr "" +"Для кожного параметра скопіюйте \"одиницю формату\" для цього параметра з " +"аргументу формату ``PyArg_Parse()`` і вкажіть *that* як його конвертер, як " +"рядок у лапках. (\"одиниця формату\" — це формальна назва підрядка від " +"одного до трьох символів параметра ``format``, який повідомляє функції " +"аналізу аргументу, який тип змінної та як її перетворити. Докладніше про " +"одиниці формату див. :ref:`arg-parsing`.)" + +msgid "" +"For multicharacter format units like ``z#``, use the entire two-or-three " +"character string." +msgstr "" +"Для одиниць багатосимвольного формату, таких як ``z#``, використовуйте весь " +"рядок із двох або трьох символів." + +msgid "" +"If your function has ``|`` in the format string, meaning some parameters " +"have default values, you can ignore it. Argument Clinic infers which " +"parameters are optional based on whether or not they have default values." +msgstr "" +"Якщо ваша функція має ``|`` у рядку формату, тобто деякі параметри мають " +"значення за замовчуванням, ви можете ігнорувати це. Argument Clinic " +"визначає, які параметри є необов’язковими, залежно від того, чи мають вони " +"значення за замовчуванням." + +msgid "" +"If your function has ``$`` in the format string, meaning it takes keyword-" +"only arguments, specify ``*`` on a line by itself before the first keyword-" +"only argument, indented the same as the parameter lines." +msgstr "" +"Якщо у вашій функції є ``$`` у рядку формату, тобто вона приймає лише " +"ключові аргументи, вкажіть ``*`` в окремому рядку перед першим ключовим " +"аргументом із таким же відступом, як і рядки параметрів." + +msgid "(``_pickle.Pickler.dump`` has neither, so our sample is unchanged.)" +msgstr "" +"(``_pickle.Pickler.dump`` не має жодного, тому наш зразок не змінився.)" + +msgid "" +"If the existing C function calls :c:func:`PyArg_ParseTuple` (as opposed to :" +"c:func:`PyArg_ParseTupleAndKeywords`), then all its arguments are positional-" +"only." +msgstr "" +"Якщо наявна функція C викликає :c:func:`PyArg_ParseTuple` (на відміну від :c:" +"func:`PyArg_ParseTupleAndKeywords`), тоді всі її аргументи є лише " +"позиційними." + +msgid "" +"To mark all parameters as positional-only in Argument Clinic, add a ``/`` on " +"a line by itself after the last parameter, indented the same as the " +"parameter lines." +msgstr "" +"Щоб позначити всі параметри як позиційні лише в Argument Clinic, додайте ``/" +"`` в окремому рядку після останнього параметра з таким же відступом, як і " +"рядки параметрів." + +msgid "" +"Currently this is all-or-nothing; either all parameters are positional-only, " +"or none of them are. (In the future Argument Clinic may relax this " +"restriction.)" +msgstr "" +"Наразі це все або нічого; або всі параметри є лише позиційними, або жоден із " +"них. (У майбутньому Argument Clinic може послабити це обмеження.)" + +msgid "" +"It's helpful to write a per-parameter docstring for each parameter. But per-" +"parameter docstrings are optional; you can skip this step if you prefer." +msgstr "" +"Корисно написати рядок документації для кожного параметра. Але рядки " +"документації для кожного параметра необов’язкові; ви можете пропустити цей " +"крок, якщо хочете." + +msgid "" +"Here's how to add a per-parameter docstring. The first line of the per-" +"parameter docstring must be indented further than the parameter definition. " +"The left margin of this first line establishes the left margin for the whole " +"per-parameter docstring; all the text you write will be outdented by this " +"amount. You can write as much text as you like, across multiple lines if " +"you wish." +msgstr "" +"Ось як додати рядок документації для кожного параметра. Перший рядок рядка " +"документації для кожного параметра повинен мати відступ далі, ніж визначення " +"параметра. Ліве поле цього першого рядка встановлює ліве поле для всього " +"рядка документації для кожного параметра; весь написаний вами текст буде " +"зменшено на цю величину. Ви можете написати скільки завгодно тексту в кілька " +"рядків, якщо хочете." + +msgid "" +"Save and close the file, then run ``Tools/clinic/clinic.py`` on it. With " +"luck everything worked---your block now has output, and a ``.c.h`` file has " +"been generated! Reopen the file in your text editor to see::" +msgstr "" +"Збережіть і закрийте файл, а потім запустіть над ним ``Tools/clinic/clinic." +"py``. Якщо пощастило, все спрацювало --- ваш блок тепер має вихід, і файл ``." +"c.h`` було згенеровано! Знову відкрийте файл у текстовому редакторі, щоб " +"побачити::" + +msgid "" +"Obviously, if Argument Clinic didn't produce any output, it's because it " +"found an error in your input. Keep fixing your errors and retrying until " +"Argument Clinic processes your file without complaint." +msgstr "" +"Очевидно, якщо Argument Clinic не дає жодних результатів, це тому, що вона " +"знайшла помилку у вашому введенні. Продовжуйте виправляти свої помилки та " +"повторювати спроби, доки Argument Clinic не обробить ваш файл без скарг." + +msgid "" +"For readability, most of the glue code has been generated to a ``.c.h`` " +"file. You'll need to include that in your original ``.c`` file, typically " +"right after the clinic module block::" +msgstr "" +"Для зручності читання більшу частину з’єднувального коду було згенеровано у " +"файлі ``.c.h``. Вам потрібно буде включити це у вихідний файл ``.c``, як " +"правило, одразу після блоку модуля клініки::" + +msgid "" +"Double-check that the argument-parsing code Argument Clinic generated looks " +"basically the same as the existing code." +msgstr "" +"Двічі перевірте, чи згенерований Argument Clinic код розбору аргументів " +"виглядає так само, як і існуючий код." + +msgid "" +"First, ensure both places use the same argument-parsing function. The " +"existing code must call either :c:func:`PyArg_ParseTuple` or :c:func:" +"`PyArg_ParseTupleAndKeywords`; ensure that the code generated by Argument " +"Clinic calls the *exact* same function." +msgstr "" +"По-перше, переконайтеся, що обидва місця використовують ту саму функцію " +"розбору аргументів. Існуючий код має викликати :c:func:`PyArg_ParseTuple` " +"або :c:func:`PyArg_ParseTupleAndKeywords`; переконайтеся, що код, " +"згенерований Argument Clinic, викликає *точно* ту саму функцію." + +msgid "" +"Second, the format string passed in to :c:func:`PyArg_ParseTuple` or :c:func:" +"`PyArg_ParseTupleAndKeywords` should be *exactly* the same as the hand-" +"written one in the existing function, up to the colon or semi-colon." +msgstr "" +"По-друге, рядок формату, переданий у :c:func:`PyArg_ParseTuple` або :c:func:" +"`PyArg_ParseTupleAndKeywords`, має бути *точно* таким самим, як написаний " +"від руки в існуючій функції, до двокрапки або напів- товста кишка." + +msgid "" +"(Argument Clinic always generates its format strings with a ``:`` followed " +"by the name of the function. If the existing code's format string ends with " +"``;``, to provide usage help, this change is harmless—don't worry about it.)" +msgstr "" +"(Argument Clinic завжди генерує рядки формату з символом ``:``, за яким " +"слідує назва функції. Якщо рядок формату існуючого коду закінчується на ``;" +"``, щоб надати довідку щодо використання, ця зміна нешкідлива — не хвилюйся " +"про це.)" + +msgid "" +"Third, for parameters whose format units require two arguments (like a " +"length variable, or an encoding string, or a pointer to a conversion " +"function), ensure that the second argument is *exactly* the same between the " +"two invocations." +msgstr "" +"По-третє, для параметрів, одиниці формату яких вимагають два аргументи " +"(наприклад, змінна довжини, або рядок кодування, або покажчик на функцію " +"перетворення), переконайтеся, що другий аргумент *точно* однаковий між двома " +"викликами." + +msgid "" +"Fourth, inside the output portion of the block you'll find a preprocessor " +"macro defining the appropriate static :c:type:`PyMethodDef` structure for " +"this builtin::" +msgstr "" +"По-четверте, у вихідній частині блоку ви знайдете макрос препроцесора, що " +"визначає відповідну статичну структуру :c:type:`PyMethodDef` для цього " +"вбудованого::" + +msgid "" +"This static structure should be *exactly* the same as the existing static :c:" +"type:`PyMethodDef` structure for this builtin." +msgstr "" +"Ця статична структура має бути *точно* такою ж, як існуюча статична " +"структура :c:type:`PyMethodDef` для цієї вбудованої програми." + +msgid "" +"If any of these items differ in *any way*, adjust your Argument Clinic " +"function specification and rerun ``Tools/clinic/clinic.py`` until they *are* " +"the same." +msgstr "" +"Якщо будь-який із цих елементів *будь-яким чином* відрізняється, налаштуйте " +"специфікацію функції Argument Clinic і повторно запускайте ``Tools/clinic/" +"clinic.py``, доки вони *не стануть* однаковими." + +msgid "" +"Notice that the last line of its output is the declaration of your \"impl\" " +"function. This is where the builtin's implementation goes. Delete the " +"existing prototype of the function you're modifying, but leave the opening " +"curly brace. Now delete its argument parsing code and the declarations of " +"all the variables it dumps the arguments into. Notice how the Python " +"arguments are now arguments to this impl function; if the implementation " +"used different names for these variables, fix it." +msgstr "" +"Зверніть увагу, що останній рядок його виводу є оголошенням вашої функції " +"\"impl\". Ось де реалізується вбудована програма. Видаліть наявний прототип " +"функції, яку ви змінюєте, але залиште відкриваючу фігурну дужку. Тепер " +"видаліть його код розбору аргументів і оголошення всіх змінних, у які він " +"виводить аргументи. Зверніть увагу, що аргументи Python тепер є аргументами " +"для цієї функції impl; якщо реалізація використовувала різні імена для цих " +"змінних, виправте це." + +msgid "" +"Let's reiterate, just because it's kind of weird. Your code should now look " +"like this::" +msgstr "" +"Давайте повторимо, просто тому, що це трохи дивно. Тепер ваш код має " +"виглядати так:" + +msgid "" +"Argument Clinic generated the checksum line and the function prototype just " +"above it. You should write the opening (and closing) curly braces for the " +"function, and the implementation inside." +msgstr "" +"Argument Clinic згенерувала рядок контрольної суми та прототип функції прямо " +"над ним. Ви повинні записати відкриваючі (і закриваючі) фігурні дужки для " +"функції та реалізацію всередині." + +msgid "" +"Remember the macro with the :c:type:`PyMethodDef` structure for this " +"function? Find the existing :c:type:`PyMethodDef` structure for this " +"function and replace it with a reference to the macro. (If the builtin is " +"at module scope, this will probably be very near the end of the file; if the " +"builtin is a class method, this will probably be below but relatively near " +"to the implementation.)" +msgstr "" +"Пам’ятаєте макрос зі структурою :c:type:`PyMethodDef` для цієї функції? " +"Знайдіть наявну структуру :c:type:`PyMethodDef` для цієї функції та замініть " +"її посиланням на макрос. (Якщо вбудований модуль знаходиться в області " +"видимості модуля, це, ймовірно, буде дуже близько до кінця файлу; якщо " +"вбудований модуль є методом класу, це, ймовірно, буде нижче, але відносно " +"близько до реалізації.)" + +msgid "" +"Note that the body of the macro contains a trailing comma. So when you " +"replace the existing static :c:type:`PyMethodDef` structure with the macro, " +"*don't* add a comma to the end." +msgstr "" +"Зауважте, що тіло макросу містить кінцеву кому. Отже, коли ви замінюєте " +"існуючу статичну структуру :c:type:`PyMethodDef` на макрос, *не* додавайте " +"кому в кінці." + +msgid "" +"Compile, then run the relevant portions of the regression-test suite. This " +"change should not introduce any new compile-time warnings or errors, and " +"there should be no externally visible change to Python's behavior." +msgstr "" + +msgid "" +"Well, except for one difference: ``inspect.signature()`` run on your " +"function should now provide a valid signature!" +msgstr "" +"Ну, за винятком однієї відмінності: ``inspect.signature()``, запущений у " +"вашій функції, тепер має надати дійсний підпис!" + +msgid "" +"Congratulations, you've ported your first function to work with Argument " +"Clinic!" +msgstr "Вітаємо, ви перенесли свою першу функцію для роботи з Argument Clinic!" + +msgid "Advanced Topics" +msgstr "Розширені теми" + +msgid "" +"Now that you've had some experience working with Argument Clinic, it's time " +"for some advanced topics." +msgstr "" +"Тепер, коли ви маєте певний досвід роботи з Argument Clinic, настав час для " +"деяких складних тем." + +msgid "Symbolic default values" +msgstr "Символічні значення за замовчуванням" + +msgid "" +"The default value you provide for a parameter can't be any arbitrary " +"expression. Currently the following are explicitly supported:" +msgstr "" +"Значення за умовчанням, яке ви надаєте для параметра, не може бути довільним " +"виразом. Наразі явно підтримуються:" + +msgid "Numeric constants (integer and float)" +msgstr "Числові константи (цілі чи з плаваючою точкою)" + +msgid "String constants" +msgstr "Рядкові константи" + +msgid "``True``, ``False``, and ``None``" +msgstr "``True``, ``False`` і ``None``" + +msgid "" +"Simple symbolic constants like ``sys.maxsize``, which must start with the " +"name of the module" +msgstr "" +"Прості символічні константи, такі як ``sys.maxsize``, які мають починатися з " +"назви модуля" + +msgid "" +"(In the future, this may need to get even more elaborate, to allow full " +"expressions like ``CONSTANT - 1``.)" +msgstr "" +"(У майбутньому це може бути ще більш детальним, щоб дозволити повні вирази, " +"такі як ``CONSTANT - 1``.)" + +msgid "Renaming the C functions and variables generated by Argument Clinic" +msgstr "Перейменування функцій і змінних C, згенерованих Argument Clinic" + +msgid "" +"Argument Clinic automatically names the functions it generates for you. " +"Occasionally this may cause a problem, if the generated name collides with " +"the name of an existing C function. There's an easy solution: override the " +"names used for the C functions. Just add the keyword ``\"as\"`` to your " +"function declaration line, followed by the function name you wish to use. " +"Argument Clinic will use that function name for the base (generated) " +"function, then add ``\"_impl\"`` to the end and use that for the name of the " +"impl function." +msgstr "" +"Argument Clinic автоматично називає функції, які генерує для вас. Іноді це " +"може спричинити проблему, якщо згенерована назва збігається з назвою " +"існуючої функції C. Є просте рішення: замініть імена, які використовуються " +"для функцій C. Просто додайте ключове слово ``\"as\"`` до рядка оголошення " +"функції, а потім назву функції, яку ви бажаєте використовувати. Argument " +"Clinic використовуватиме це ім’я функції для базової (згенерованої) функції, " +"а потім додаватиме ``\"_impl\"`` у кінець і використовуватиме його як назву " +"функції impl." + +msgid "" +"For example, if we wanted to rename the C function names generated for " +"``pickle.Pickler.dump``, it'd look like this::" +msgstr "" +"Наприклад, якби ми хотіли перейменувати назви функцій C, згенеровані для " +"``pickle.Pickler.dump``, це виглядало б так:" + +msgid "" +"The base function would now be named ``pickler_dumper()``, and the impl " +"function would now be named ``pickler_dumper_impl()``." +msgstr "" +"Базова функція тепер матиме назву ``pickler_dumper()``, а функція impl — " +"``pickler_dumper_impl()``." + +msgid "" +"Similarly, you may have a problem where you want to give a parameter a " +"specific Python name, but that name may be inconvenient in C. Argument " +"Clinic allows you to give a parameter different names in Python and in C, " +"using the same ``\"as\"`` syntax::" +msgstr "" +"Подібним чином у вас може виникнути проблема, коли ви бажаєте дати параметру " +"конкретне ім’я Python, але це ім’я може бути незручним у C. Argument Clinic " +"дозволяє вам давати різні імена параметрам у Python і C, використовуючи той " +"самий \"``\" як\"`` синтаксис::" + +msgid "" +"Here, the name used in Python (in the signature and the ``keywords`` array) " +"would be ``file``, but the C variable would be named ``file_obj``." +msgstr "" +"Тут ім’я, яке використовується в Python (у підписі та масиві ``keywords``), " +"буде ``file``, але змінна C матиме назву ``file_obj``." + +msgid "You can use this to rename the ``self`` parameter too!" +msgstr "" +"Ви також можете використовувати це, щоб перейменувати параметр ``self``!" + +msgid "Converting functions using PyArg_UnpackTuple" +msgstr "Перетворення функцій за допомогою PyArg_UnpackTuple" + +msgid "" +"To convert a function parsing its arguments with :c:func:" +"`PyArg_UnpackTuple`, simply write out all the arguments, specifying each as " +"an ``object``. You may specify the ``type`` argument to cast the type as " +"appropriate. All arguments should be marked positional-only (add a ``/`` on " +"a line by itself after the last argument)." +msgstr "" +"Щоб перетворити функцію, що аналізує свої аргументи за допомогою :c:func:" +"`PyArg_UnpackTuple`, просто запишіть усі аргументи, вказавши кожен як " +"``object``. Ви можете вказати аргумент ``type``, щоб привести тип до " +"відповідності. Усі аргументи мають бути позначені лише позиційними (додайте " +"``/`` в окремому рядку після останнього аргументу)." + +msgid "" +"Currently the generated code will use :c:func:`PyArg_ParseTuple`, but this " +"will change soon." +msgstr "" +"Наразі згенерований код використовуватиме :c:func:`PyArg_ParseTuple`, але " +"незабаром це зміниться." + +msgid "Optional Groups" +msgstr "Додаткові групи" + +msgid "" +"Some legacy functions have a tricky approach to parsing their arguments: " +"they count the number of positional arguments, then use a ``switch`` " +"statement to call one of several different :c:func:`PyArg_ParseTuple` calls " +"depending on how many positional arguments there are. (These functions " +"cannot accept keyword-only arguments.) This approach was used to simulate " +"optional arguments back before :c:func:`PyArg_ParseTupleAndKeywords` was " +"created." +msgstr "" +"Деякі застарілі функції мають хитрий підхід до аналізу своїх аргументів: " +"вони підраховують кількість позиційних аргументів, а потім використовують " +"оператор ``switch`` для виклику одного з кількох різних викликів :c:func:" +"`PyArg_ParseTuple` залежно від кількості позиційних аргументів там є. (Ці " +"функції не можуть приймати лише ключові слова.) Цей підхід використовувався " +"для симуляції необов’язкових аргументів ще до створення :c:func:" +"`PyArg_ParseTupleAndKeywords`." + +msgid "" +"While functions using this approach can often be converted to use :c:func:" +"`PyArg_ParseTupleAndKeywords`, optional arguments, and default values, it's " +"not always possible. Some of these legacy functions have behaviors :c:func:" +"`PyArg_ParseTupleAndKeywords` doesn't directly support. The most obvious " +"example is the builtin function ``range()``, which has an optional argument " +"on the *left* side of its required argument! Another example is ``curses." +"window.addch()``, which has a group of two arguments that must always be " +"specified together. (The arguments are called ``x`` and ``y``; if you call " +"the function passing in ``x``, you must also pass in ``y``—and if you don't " +"pass in ``x`` you may not pass in ``y`` either.)" +msgstr "" +"Хоча функції, які використовують цей підхід, часто можна перетворити на " +"використання :c:func:`PyArg_ParseTupleAndKeywords`, необов’язкових " +"аргументів і значень за замовчуванням, це не завжди можливо. Деякі з цих " +"застарілих функцій мають поведінку, яку :c:func:" +"`PyArg_ParseTupleAndKeywords` безпосередньо не підтримує. Найбільш очевидним " +"прикладом є вбудована функція ``range()``, яка має необов’язковий аргумент у " +"*лівій* частині обов’язкового аргументу! Іншим прикладом є ``curses.window." +"addch()``, який має групу з двох аргументів, які завжди повинні вказуватися " +"разом. (Аргументи називаються ``x`` і ``y``; якщо ви викликаєте функцію, " +"передаючи ``x``, ви також повинні передати ``y``—а якщо ви не передаєте `` " +"`x`` також не можна передавати в ``y``.)" + +msgid "" +"In any case, the goal of Argument Clinic is to support argument parsing for " +"all existing CPython builtins without changing their semantics. Therefore " +"Argument Clinic supports this alternate approach to parsing, using what are " +"called *optional groups*. Optional groups are groups of arguments that must " +"all be passed in together. They can be to the left or the right of the " +"required arguments. They can *only* be used with positional-only parameters." +msgstr "" +"У будь-якому випадку, метою Argument Clinic є підтримка аналізу аргументів " +"для всіх існуючих вбудованих модулів CPython без зміни їх семантики. Тому " +"Argument Clinic підтримує цей альтернативний підхід до аналізу, " +"використовуючи так звані *додаткові групи*. Необов’язкові групи — це групи " +"аргументів, які потрібно передати разом. Вони можуть бути ліворуч або " +"праворуч від необхідних аргументів. Їх можна використовувати *лише* з " +"позиційними параметрами." + +msgid "" +"Optional groups are *only* intended for use when converting functions that " +"make multiple calls to :c:func:`PyArg_ParseTuple`! Functions that use *any* " +"other approach for parsing arguments should *almost never* be converted to " +"Argument Clinic using optional groups. Functions using optional groups " +"currently cannot have accurate signatures in Python, because Python just " +"doesn't understand the concept. Please avoid using optional groups wherever " +"possible." +msgstr "" +"Необов’язкові групи призначені *лише* для використання під час перетворення " +"функцій, які здійснюють кілька викликів у :c:func:`PyArg_ParseTuple`! " +"Функції, які використовують *будь-який* інший підхід для аналізу аргументів, " +"*майже ніколи* не повинні перетворюватися на клініку аргументів за допомогою " +"додаткових груп. Функції, які використовують додаткові групи, наразі не " +"можуть мати точні підписи в Python, оскільки Python просто не розуміє " +"концепції. Будь ласка, уникайте використання додаткових груп, де це можливо." + +msgid "" +"To specify an optional group, add a ``[`` on a line by itself before the " +"parameters you wish to group together, and a ``]`` on a line by itself after " +"these parameters. As an example, here's how ``curses.window.addch`` uses " +"optional groups to make the first two parameters and the last parameter " +"optional::" +msgstr "" +"Щоб указати необов’язкову групу, додайте ``[`` в окремому рядку перед " +"параметрами, які ви хочете згрупувати разом, і ``]`` в окремому рядку після " +"цих параметрів. Як приклад, ось як ``curses.window.addch`` використовує " +"необов’язкові групи, щоб зробити перші два параметри та останній параметр " +"необов’язковими::" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"For every optional group, one additional parameter will be passed into the " +"impl function representing the group. The parameter will be an int named " +"``group_{direction}_{number}``, where ``{direction}`` is either ``right`` or " +"``left`` depending on whether the group is before or after the required " +"parameters, and ``{number}`` is a monotonically increasing number (starting " +"at 1) indicating how far away the group is from the required parameters. " +"When the impl is called, this parameter will be set to zero if this group " +"was unused, and set to non-zero if this group was used. (By used or unused, " +"I mean whether or not the parameters received arguments in this invocation.)" +msgstr "" +"Для кожної необов’язкової групи один додатковий параметр буде передано у " +"функцію impl, що представляє групу. Параметром буде int з іменем " +"``group_{direction}_{number}``, де ``{direction}`` є або ``праворуч``, або " +"``ліворуч`` залежно від того, яка група знаходиться до чи після необхідні " +"параметри, а {number} — монотонно зростаюче число (починаючи з 1), яке " +"вказує на те, наскільки далека група від необхідних параметрів. Під час " +"виклику impl цей параметр буде встановлено на нуль, якщо ця група не " +"використовувалася, і на відмінне від нуля, якщо ця група використовувалася. " +"(Під \"використаним\" чи \"невикористаним\" я маю на увазі, чи отримали " +"параметри аргументи під час цього виклику.)" + +msgid "" +"If there are no required arguments, the optional groups will behave as if " +"they're to the right of the required arguments." +msgstr "" +"Якщо обов’язкових аргументів немає, необов’язкові групи поводитимуться так, " +"ніби вони розташовані праворуч від обов’язкових аргументів." + +msgid "" +"In the case of ambiguity, the argument parsing code favors parameters on the " +"left (before the required parameters)." +msgstr "" +"У разі неоднозначності код аналізу аргументу надає перевагу параметрам зліва " +"(перед потрібними параметрами)." + +msgid "Optional groups can only contain positional-only parameters." +msgstr "Додаткові групи можуть містити лише позиційні параметри." + +msgid "" +"Optional groups are *only* intended for legacy code. Please do not use " +"optional groups for new code." +msgstr "" +"Додаткові групи призначені *тільки* для застарілого коду. Будь ласка, не " +"використовуйте додаткові групи для нового коду." + +msgid "Using real Argument Clinic converters, instead of \"legacy converters\"" +msgstr "" +"Використання реальних конвертерів Argument Clinic замість \"застарілих " +"конвертерів\"" + +msgid "" +"To save time, and to minimize how much you need to learn to achieve your " +"first port to Argument Clinic, the walkthrough above tells you to use " +"\"legacy converters\". \"Legacy converters\" are a convenience, designed " +"explicitly to make porting existing code to Argument Clinic easier. And to " +"be clear, their use is acceptable when porting code for Python 3.4." +msgstr "" +"Щоб заощадити час і звести до мінімуму те, що вам потрібно навчитися, щоб " +"досягти першого перенесення на Argument Clinic, наведене вище керівництво " +"рекомендує вам використовувати \"застарілі конвертери\". \"Застарілі " +"конвертери\" — це зручність, розроблена спеціально для полегшення " +"перенесення існуючого коду на Argument Clinic. Щоб було зрозуміло, їхнє " +"використання прийнятне під час портування коду для Python 3.4." + +msgid "" +"However, in the long term we probably want all our blocks to use Argument " +"Clinic's real syntax for converters. Why? A couple reasons:" +msgstr "" +"Однак у довгостроковій перспективі ми, ймовірно, хочемо, щоб усі наші блоки " +"використовували реальний синтаксис Argument Clinic для конвертерів. чому " +"Пара причин:" + +msgid "" +"The proper converters are far easier to read and clearer in their intent." +msgstr "Належні конвертери набагато легше читати, і їхні наміри зрозуміліші." + +msgid "" +"There are some format units that are unsupported as \"legacy converters\", " +"because they require arguments, and the legacy converter syntax doesn't " +"support specifying arguments." +msgstr "" +"Є деякі одиниці формату, які не підтримуються як \"застарілі конвертери\", " +"оскільки вони потребують аргументів, а синтаксис застарілого конвертера не " +"підтримує визначення аргументів." + +msgid "" +"In the future we may have a new argument parsing library that isn't " +"restricted to what :c:func:`PyArg_ParseTuple` supports; this flexibility " +"won't be available to parameters using legacy converters." +msgstr "" +"У майбутньому ми можемо мати нову бібліотеку аналізу аргументів, яка не " +"обмежується тим, що підтримує :c:func:`PyArg_ParseTuple`; ця гнучкість не " +"буде доступна для параметрів, які використовують застарілі конвертери." + +msgid "" +"Therefore, if you don't mind a little extra effort, please use the normal " +"converters instead of legacy converters." +msgstr "" +"Тому, якщо ви не проти трохи додаткових зусиль, використовуйте звичайні " +"конвертери замість застарілих конвертерів." + +msgid "" +"In a nutshell, the syntax for Argument Clinic (non-legacy) converters looks " +"like a Python function call. However, if there are no explicit arguments to " +"the function (all functions take their default values), you may omit the " +"parentheses. Thus ``bool`` and ``bool()`` are exactly the same converters." +msgstr "" +"У двох словах, синтаксис для конвертерів Argument Clinic (не застарілих) " +"виглядає як виклик функції Python. Однак, якщо для функції немає явних " +"аргументів (усі функції приймають значення за замовчуванням), ви можете " +"опустити дужки. Таким чином, ``bool`` і ``bool()`` є абсолютно однаковими " +"перетворювачами." + +msgid "" +"All arguments to Argument Clinic converters are keyword-only. All Argument " +"Clinic converters accept the following arguments:" +msgstr "" +"Усі аргументи для конвертерів Argument Clinic є лише ключовими словами. Усі " +"конвертери Argument Clinic приймають такі аргументи:" + +msgid "``c_default``" +msgstr "``c_default``" + +msgid "" +"The default value for this parameter when defined in C. Specifically, this " +"will be the initializer for the variable declared in the \"parse function" +"\". See :ref:`the section on default values ` for how to " +"use this. Specified as a string." +msgstr "" +"Значення за замовчуванням для цього параметра, коли його визначено в C. " +"Зокрема, це буде ініціалізатор для змінної, оголошеної у \"функції аналізу" +"\". Перегляньте :ref:`розділ про значення за замовчуванням " +"`, щоб дізнатися, як це використовувати. Задається як рядок." + +msgid "``annotation``" +msgstr "``анотація``" + +msgid "" +"The annotation value for this parameter. Not currently supported, because :" +"pep:`8` mandates that the Python library may not use annotations." +msgstr "" +"Значення анотації для цього параметра. Наразі не підтримується, оскільки :" +"pep:`8` забороняє бібліотеці Python використовувати анотації." + +msgid "" +"In addition, some converters accept additional arguments. Here is a list of " +"these arguments, along with their meanings:" +msgstr "" +"Крім того, деякі конвертери приймають додаткові аргументи. Ось список цих " +"аргументів разом із їхнім значенням:" + +msgid "``accept``" +msgstr "``прийняти``" + +msgid "" +"A set of Python types (and possibly pseudo-types); this restricts the " +"allowable Python argument to values of these types. (This is not a general-" +"purpose facility; as a rule it only supports specific lists of types as " +"shown in the legacy converter table.)" +msgstr "" +"Набір типів Python (і, можливо, псевдотипів); це обмежує дозволений аргумент " +"Python значеннями цих типів. (Це засіб не є універсальним; як правило, він " +"підтримує лише певні списки типів, як показано в таблиці застарілого " +"конвертера.)" + +msgid "To accept ``None``, add ``NoneType`` to this set." +msgstr "Щоб прийняти ``None``, додайте ``NoneType`` до цього набору." + +msgid "``bitwise``" +msgstr "``порозрядно``" + +msgid "" +"Only supported for unsigned integers. The native integer value of this " +"Python argument will be written to the parameter without any range checking, " +"even for negative values." +msgstr "" +"Підтримується лише для цілих чисел без знаку. Власне ціле значення цього " +"аргументу Python буде записано в параметр без будь-якої перевірки діапазону, " +"навіть для від’ємних значень." + +msgid "``converter``" +msgstr "``конвертер``" + +msgid "" +"Only supported by the ``object`` converter. Specifies the name of a :ref:`C " +"\"converter function\" ` to use to convert this object to a " +"native type." +msgstr "" +"Підтримується лише конвертером ``object``. Вказує ім’я :ref:`C \"функції " +"конвертера\" ` для перетворення цього об’єкта на рідний тип." + +msgid "``encoding``" +msgstr "``кодування``" + +msgid "" +"Only supported for strings. Specifies the encoding to use when converting " +"this string from a Python str (Unicode) value into a C ``char *`` value." +msgstr "" +"Підтримується лише для рядків. Визначає кодування для використання під час " +"перетворення цього рядка зі значення Python str (Unicode) у значення C " +"``char *``." + +msgid "``subclass_of``" +msgstr "``підклас_з``" + +msgid "" +"Only supported for the ``object`` converter. Requires that the Python value " +"be a subclass of a Python type, as expressed in C." +msgstr "" +"Підтримується лише для конвертера ``object``. Вимагає, щоб значення Python " +"було підкласом типу Python, як виражено в C." + +msgid "``type``" +msgstr "``тип``" + +msgid "" +"Only supported for the ``object`` and ``self`` converters. Specifies the C " +"type that will be used to declare the variable. Default value is ``" +"\"PyObject *\"``." +msgstr "" +"Підтримується лише для конвертерів ``object`` і ``self``. Визначає тип C, " +"який використовуватиметься для оголошення змінної. Значення за замовчуванням " +"– ``\"PyObject *\"``." + +msgid "``zeroes``" +msgstr "``нули``" + +msgid "" +"Only supported for strings. If true, embedded NUL bytes (``'\\\\0'``) are " +"permitted inside the value. The length of the string will be passed in to " +"the impl function, just after the string parameter, as a parameter named " +"``_length``." +msgstr "" +"Підтримується лише для рядків. Якщо встановлено значення true, вбудовані " +"байти NUL (``'\\\\0'``) дозволені всередині значення. Довжину рядка буде " +"передано у функцію impl одразу після параметра string як параметр із назвою " +"`` _length``." + +msgid "" +"Please note, not every possible combination of arguments will work. Usually " +"these arguments are implemented by specific ``PyArg_ParseTuple`` *format " +"units*, with specific behavior. For example, currently you cannot call " +"``unsigned_short`` without also specifying ``bitwise=True``. Although it's " +"perfectly reasonable to think this would work, these semantics don't map to " +"any existing format unit. So Argument Clinic doesn't support it. (Or, at " +"least, not yet.)" +msgstr "" +"Зауважте, що не кожна можлива комбінація аргументів буде працювати. Зазвичай " +"ці аргументи реалізуються спеціальними ``PyArg_ParseTuple`` *одиницями " +"формату* з певною поведінкою. Наприклад, зараз ви не можете викликати " +"``unsigned_short``, не вказавши також ``bitwise=True``. Хоча це цілком " +"розумно вважати, що це спрацює, ця семантика не відображається на жодну " +"існуючу одиницю формату. Тому клініка \"Аргумент\" не підтримує. (Або, " +"принаймні, ще ні.)" + +msgid "" +"Below is a table showing the mapping of legacy converters into real Argument " +"Clinic converters. On the left is the legacy converter, on the right is the " +"text you'd replace it with." +msgstr "" +"Нижче наведено таблицю, яка показує відображення застарілих конвертерів у " +"справжні конвертери Argument Clinic. Ліворуч — застарілий конвертер, " +"праворуч — текст, яким його потрібно замінити." + +msgid "``'B'``" +msgstr "``'B'``" + +msgid "``unsigned_char(bitwise=True)``" +msgstr "``unsigned_char(bitwise=True)``" + +msgid "``'b'``" +msgstr "``'b''``" + +msgid "``unsigned_char``" +msgstr "``unsigned_char``" + +msgid "``'c'``" +msgstr "``'c''``" + +msgid "``char``" +msgstr "``символ``" + +msgid "``'C'``" +msgstr "``'C''``" + +msgid "``int(accept={str})``" +msgstr "``int(accept={str})``" + +msgid "``'d'``" +msgstr "``'d''``" + +msgid "``double``" +msgstr "``подвійний``" + +msgid "``'D'``" +msgstr "``'D''``" + +msgid "``Py_complex``" +msgstr "``Py_complex``" + +msgid "``'es'``" +msgstr "``'es'``" + +msgid "``str(encoding='name_of_encoding')``" +msgstr "``str(encoding='назва_кодування')``" + +msgid "``'es#'``" +msgstr "``'es#'``" + +msgid "``str(encoding='name_of_encoding', zeroes=True)``" +msgstr "``str(encoding='name_of_encoding', zeroes=True)``" + +msgid "``'et'``" +msgstr "``'et'``" + +msgid "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``" +msgstr "``str(encoding='name_of_encoding', accept={bytes, bytearray})``" + +msgid "``'et#'``" +msgstr "``'et#'``" + +msgid "" +"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, " +"zeroes=True)``" +msgstr "" +"``str(encoding='name_of_encoding', accept={bytes, bytearray}, zeroes=True)``" + +msgid "``'f'``" +msgstr "``'f''``" + +msgid "``float``" +msgstr "``float``" + +msgid "``'h'``" +msgstr "``'h''``" + +msgid "``short``" +msgstr "``короткий``" + +msgid "``'H'``" +msgstr "``'H''``" + +msgid "``unsigned_short(bitwise=True)``" +msgstr "``unsigned_short(bitwise=True)``" + +msgid "``'i'``" +msgstr "``'я''``" + +msgid "``int``" +msgstr "``int``" + +msgid "``'I'``" +msgstr "``'Я''``" + +msgid "``unsigned_int(bitwise=True)``" +msgstr "``unsigned_int(bitwise=True)``" + +msgid "``'k'``" +msgstr "``'k''``" + +msgid "``unsigned_long(bitwise=True)``" +msgstr "``unsigned_long(bitwise=True)``" + +msgid "``'K'``" +msgstr "``'K'``" + +msgid "``unsigned_long_long(bitwise=True)``" +msgstr "``unsigned_long_long(bitwise=True)``" + +msgid "``'l'``" +msgstr "``'l'``" + +msgid "``long``" +msgstr "``довгий``" + +msgid "``'L'``" +msgstr "``'L'``" + +msgid "``long long``" +msgstr "``довгий довгий``" + +msgid "``'n'``" +msgstr "``'n'``" + +msgid "``Py_ssize_t``" +msgstr "``Py_ssize_t``" + +msgid "``'O'``" +msgstr "``'O'``" + +msgid "``object``" +msgstr "``об'єкт``" + +msgid "``'O!'``" +msgstr "``'О!'``" + +msgid "``object(subclass_of='&PySomething_Type')``" +msgstr "``object(subclass_of='&PySomething_Type')``" + +msgid "``'O&'``" +msgstr "``'O&''``" + +msgid "``object(converter='name_of_c_function')``" +msgstr "``object(converter='name_of_c_function')``" + +msgid "``'p'``" +msgstr "``'p''``" + +msgid "``bool``" +msgstr "``bool``" + +msgid "``'S'``" +msgstr "``'S'``" + +msgid "``PyBytesObject``" +msgstr "``PyBytesObject``" + +msgid "``'s'``" +msgstr "``'s''``" + +msgid "``str``" +msgstr "``str``" + +msgid "``'s#'``" +msgstr "``'s#''``" + +msgid "``str(zeroes=True)``" +msgstr "``str(нули=Істина)``" + +msgid "``'s*'``" +msgstr "``'s*'``" + +msgid "``Py_buffer(accept={buffer, str})``" +msgstr "``Py_buffer(accept={buffer, str})``" + +msgid "``'U'``" +msgstr "``'U''``" + +msgid "``unicode``" +msgstr "``юнікод``" + +msgid "``'u'``" +msgstr "``'u''``" + +msgid "``Py_UNICODE``" +msgstr "``Py_UNICODE``" + +msgid "``'u#'``" +msgstr "``'u#''``" + +msgid "``Py_UNICODE(zeroes=True)``" +msgstr "``Py_UNICODE(нули=Істина)``" + +msgid "``'w*'``" +msgstr "``'w*'``" + +msgid "``Py_buffer(accept={rwbuffer})``" +msgstr "``Py_buffer(accept={rwbuffer})``" + +msgid "``'Y'``" +msgstr "``'Т''``" + +msgid "``PyByteArrayObject``" +msgstr "``PyByteArrayObject``" + +msgid "``'y'``" +msgstr "``'y''``" + +msgid "``str(accept={bytes})``" +msgstr "``str(accept={bytes})``" + +msgid "``'y#'``" +msgstr "``'y#''``" + +msgid "``str(accept={robuffer}, zeroes=True)``" +msgstr "``str(accept={robuffer}, нулі=True)``" + +msgid "``'y*'``" +msgstr "``'y*'``" + +msgid "``Py_buffer``" +msgstr "``Py_buffer``" + +msgid "``'Z'``" +msgstr "``'Z''``" + +msgid "``Py_UNICODE(accept={str, NoneType})``" +msgstr "``Py_UNICODE(accept={str, NoneType})``" + +msgid "``'Z#'``" +msgstr "``'Z#'``" + +msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" +msgstr "``Py_UNICODE(accept={str, NoneType}, нулі=True)``" + +msgid "``'z'``" +msgstr "``'z''``" + +msgid "``str(accept={str, NoneType})``" +msgstr "``str(accept={str, NoneType})``" + +msgid "``'z#'``" +msgstr "``'z#''``" + +msgid "``str(accept={str, NoneType}, zeroes=True)``" +msgstr "``str(accept={str, NoneType}, zeroes=True)``" + +msgid "``'z*'``" +msgstr "``'z*'``" + +msgid "``Py_buffer(accept={buffer, str, NoneType})``" +msgstr "``Py_buffer(accept={buffer, str})``" + +msgid "" +"As an example, here's our sample ``pickle.Pickler.dump`` using the proper " +"converter::" +msgstr "" +"Як приклад, ось наш зразок ``pickle.Pickler.dump`` з використанням належного " +"конвертера::" + +msgid "" +"One advantage of real converters is that they're more flexible than legacy " +"converters. For example, the ``unsigned_int`` converter (and all the " +"``unsigned_`` converters) can be specified without ``bitwise=True``. Their " +"default behavior performs range checking on the value, and they won't accept " +"negative numbers. You just can't do that with a legacy converter!" +msgstr "" +"Однією з переваг справжніх конвертерів є те, що вони більш гнучкі, ніж " +"застарілі конвертери. Наприклад, конвертер ``unsigned_int`` (і всі " +"``unsigned_`` перетворювачі) можна вказати без ``bitwise=True``. Їх " +"поведінка за умовчанням виконує перевірку діапазону значення, і вони не " +"приймають від’ємні числа. Ви просто не можете зробити це за допомогою " +"застарілого конвертера!" + +msgid "" +"Argument Clinic will show you all the converters it has available. For each " +"converter it'll show you all the parameters it accepts, along with the " +"default value for each parameter. Just run ``Tools/clinic/clinic.py --" +"converters`` to see the full list." +msgstr "" +"Argument Clinic покаже вам усі доступні конвертери. Для кожного конвертера " +"буде показано всі параметри, які він приймає, а також значення за " +"замовчуванням для кожного параметра. Просто запустіть ``Tools/clinic/clinic." +"py --converters``, щоб переглянути повний список." + +msgid "Py_buffer" +msgstr "Py_buffer" + +msgid "" +"When using the ``Py_buffer`` converter (or the ``'s*'``, ``'w*'``, ``'*y'``, " +"or ``'z*'`` legacy converters), you *must* not call :c:func:" +"`PyBuffer_Release` on the provided buffer. Argument Clinic generates code " +"that does it for you (in the parsing function)." +msgstr "" +"При використанні конвертера ``Py_buffer`` (або ``'s*'``, ``'w*'``, ``'*y'`` " +"або ``'z*'`` застарілих конвертерів ), ви *не повинні* викликати :c:func:" +"`PyBuffer_Release` у наданому буфері. Argument Clinic генерує код, який " +"робить це за вас (у функції аналізу)." + +msgid "Advanced converters" +msgstr "Розширені конвертери" + +msgid "" +"Remember those format units you skipped for your first time because they " +"were advanced? Here's how to handle those too." +msgstr "" +"Пам’ятаєте ті форматні одиниці, які ви пропустили вперше, оскільки вони були " +"просунутими? Ось як впоратися з ними." + +msgid "" +"The trick is, all those format units take arguments—either conversion " +"functions, or types, or strings specifying an encoding. (But \"legacy " +"converters\" don't support arguments. That's why we skipped them for your " +"first function.) The argument you specified to the format unit is now an " +"argument to the converter; this argument is either ``converter`` (for " +"``O&``), ``subclass_of`` (for ``O!``), or ``encoding`` (for all the format " +"units that start with ``e``)." +msgstr "" +"Хитрість полягає в тому, що всі ці одиниці формату приймають аргументи — або " +"функції перетворення, або типи, або рядки, що визначають кодування. (Але " +"\"застарілі конвертери\" не підтримують аргументи. Ось чому ми пропустили їх " +"для вашої першої функції.) Аргумент, який ви вказали для одиниці формату, " +"тепер є аргументом для конвертера; цей аргумент або ``конвертер`` (для " +"``O&``), ``subclass_of`` (для ``O!``), або ``encoding`` (для всіх одиниць " +"формату, які починаються з ``e``)." + +msgid "" +"When using ``subclass_of``, you may also want to use the other custom " +"argument for ``object()``: ``type``, which lets you set the type actually " +"used for the parameter. For example, if you want to ensure that the object " +"is a subclass of ``PyUnicode_Type``, you probably want to use the converter " +"``object(type='PyUnicodeObject *', subclass_of='&PyUnicode_Type')``." +msgstr "" +"Використовуючи ``subclass_of``, ви також можете використати інший " +"спеціальний аргумент для ``object()``: ``type``, який дозволяє встановити " +"тип, який фактично використовується для параметра. Наприклад, якщо ви хочете " +"переконатися, що об’єкт є підкласом ``PyUnicode_Type``, можливо, ви захочете " +"використати конвертер ``object(type='PyUnicodeObject *', " +"subclass_of='&PyUnicode_Type')``." + +msgid "" +"One possible problem with using Argument Clinic: it takes away some possible " +"flexibility for the format units starting with ``e``. When writing a " +"``PyArg_Parse`` call by hand, you could theoretically decide at runtime what " +"encoding string to pass in to :c:func:`PyArg_ParseTuple`. But now this " +"string must be hard-coded at Argument-Clinic-preprocessing-time. This " +"limitation is deliberate; it made supporting this format unit much easier, " +"and may allow for future optimizations. This restriction doesn't seem " +"unreasonable; CPython itself always passes in static hard-coded encoding " +"strings for parameters whose format units start with ``e``." +msgstr "" +"Одна з можливих проблем із використанням Argument Clinic: це позбавляє " +"можливої гнучкості одиниць формату, що починаються з ``e``. Під час " +"написання виклику ``PyArg_Parse`` вручну, ви теоретично можете вирішити під " +"час виконання, який рядок кодування передати в :c:func:`PyArg_ParseTuple`. " +"Але тепер цей рядок має бути жорстко закодований під час попередньої обробки " +"аргументів-клініки. Це обмеження є навмисним; це значно полегшило підтримку " +"цього блоку формату та, можливо, дозволить оптимізувати його в майбутньому. " +"Це обмеження не здається безпідставним; Сам CPython завжди передає статичні " +"жорстко закодовані рядки для параметрів, одиниці формату яких починаються з " +"``e``." + +msgid "Parameter default values" +msgstr "Значення параметрів за замовчуванням" + +msgid "" +"Default values for parameters can be any of a number of values. At their " +"simplest, they can be string, int, or float literals:" +msgstr "" +"Значення за замовчуванням для параметрів можуть бути будь-якими з кількох " +"значень. У найпростішому вигляді вони можуть бути рядковими, цілими або " +"плаваючими літералами:" + +msgid "They can also use any of Python's built-in constants:" +msgstr "Вони також можуть використовувати будь-які вбудовані константи Python:" + +msgid "" +"There's also special support for a default value of ``NULL``, and for simple " +"expressions, documented in the following sections." +msgstr "" +"Існує також спеціальна підтримка значення за замовчуванням ``NULL`` і " +"простих виразів, задокументованих у наступних розділах." + +msgid "The ``NULL`` default value" +msgstr "Значення за замовчуванням ``NULL``" + +msgid "" +"For string and object parameters, you can set them to ``None`` to indicate " +"that there's no default. However, that means the C variable will be " +"initialized to ``Py_None``. For convenience's sakes, there's a special " +"value called ``NULL`` for just this reason: from Python's perspective it " +"behaves like a default value of ``None``, but the C variable is initialized " +"with ``NULL``." +msgstr "" +"Для параметрів рядка та об’єкта ви можете встановити для них значення " +"``None``, щоб вказати, що за замовчуванням немає. Однак це означає, що " +"змінна C буде ініціалізована як ``Py_None``. Для зручності існує спеціальне " +"значення під назвою ``NULL`` саме з цієї причини: з точки зору Python воно " +"поводиться як значення за замовчуванням ``None``, але змінна C " +"ініціалізується ``NULL``." + +msgid "Expressions specified as default values" +msgstr "Вирази, указані як значення за замовчуванням" + +msgid "" +"The default value for a parameter can be more than just a literal value. It " +"can be an entire expression, using math operators and looking up attributes " +"on objects. However, this support isn't exactly simple, because of some non-" +"obvious semantics." +msgstr "" +"Значення за замовчуванням для параметра може бути не просто літеральним " +"значенням. Це може бути цілий вираз із використанням математичних операторів " +"і пошуком атрибутів об’єктів. Однак ця підтримка не зовсім проста через " +"деяку неочевидну семантику." + +msgid "Consider the following example:" +msgstr "Розглянемо такий приклад:" + +msgid "" +"``sys.maxsize`` can have different values on different platforms. Therefore " +"Argument Clinic can't simply evaluate that expression locally and hard-code " +"it in C. So it stores the default in such a way that it will get evaluated " +"at runtime, when the user asks for the function's signature." +msgstr "" +"``sys.maxsize`` може мати різні значення на різних платформах. Тому Argument " +"Clinic не може просто оцінити цей вираз локально та жорстко закодувати його " +"в C. Тому він зберігає значення за замовчуванням таким чином, що воно буде " +"оцінено під час виконання, коли користувач запитує підпис функції." + +msgid "" +"What namespace is available when the expression is evaluated? It's " +"evaluated in the context of the module the builtin came from. So, if your " +"module has an attribute called \"``max_widgets``\", you may simply use it:" +msgstr "" +"Який простір імен доступний під час обчислення виразу? Він оцінюється в " +"контексті модуля, з якого походить вбудований модуль. Отже, якщо ваш модуль " +"має атрибут під назвою \"``max_widgets``, ви можете просто використовувати " +"його:" + +msgid "" +"If the symbol isn't found in the current module, it fails over to looking in " +"``sys.modules``. That's how it can find ``sys.maxsize`` for example. " +"(Since you don't know in advance what modules the user will load into their " +"interpreter, it's best to restrict yourself to modules that are preloaded by " +"Python itself.)" +msgstr "" +"Якщо символ не знайдено в поточному модулі, він переходить до пошуку в ``sys." +"modules``. Ось як він може знайти, наприклад, ``sys.maxsize``. (Оскільки ви " +"заздалегідь не знаєте, які модулі користувач завантажить у свій " +"інтерпретатор, найкраще обмежитися модулями, попередньо завантаженими самим " +"Python.)" + +msgid "" +"Evaluating default values only at runtime means Argument Clinic can't " +"compute the correct equivalent C default value. So you need to tell it " +"explicitly. When you use an expression, you must also specify the equivalent " +"expression in C, using the ``c_default`` parameter to the converter:" +msgstr "" +"Оцінка значень за замовчуванням лише під час виконання означає, що Argument " +"Clinic не може обчислити правильне еквівалентне значення за замовчуванням C. " +"Тому вам потрібно сказати це прямо. Коли ви використовуєте вираз, ви також " +"повинні вказати еквівалентний вираз у C, використовуючи параметр " +"``c_default`` для конвертера:" + +msgid "" +"Another complication: Argument Clinic can't know in advance whether or not " +"the expression you supply is valid. It parses it to make sure it looks " +"legal, but it can't *actually* know. You must be very careful when using " +"expressions to specify values that are guaranteed to be valid at runtime!" +msgstr "" +"Інша складність: Argument Clinic не може заздалегідь знати, чи дійсний " +"вираз, який ви надаєте. Він аналізує його, щоб переконатися, що він виглядає " +"законним, але він не може *насправді* знати. Ви повинні бути дуже " +"обережними, використовуючи вирази для визначення значень, які гарантовано " +"будуть дійсними під час виконання!" + +msgid "" +"Finally, because expressions must be representable as static C values, there " +"are many restrictions on legal expressions. Here's a list of Python " +"features you're not permitted to use:" +msgstr "" +"Нарешті, оскільки вирази повинні бути представлені як статичні значення C, " +"існує багато обмежень на юридичні вирази. Ось список функцій Python, які вам " +"заборонено використовувати:" + +msgid "Function calls." +msgstr "Виклики функцій." + +msgid "Inline if statements (``3 if foo else 5``)." +msgstr "Вбудовані оператори if (``3 if foo else 5``)." + +msgid "Automatic sequence unpacking (``*[1, 2, 3]``)." +msgstr "Автоматичне розпакування послідовності (``*[1, 2, 3]``)." + +msgid "List/set/dict comprehensions and generator expressions." +msgstr "Розуміння списку/набору/диктів і вирази генератора." + +msgid "Tuple/list/set/dict literals." +msgstr "Літерали кортеж/список/набір/дикт." + +msgid "Using a return converter" +msgstr "Використання зворотного перетворювача" + +msgid "" +"By default the impl function Argument Clinic generates for you returns " +"``PyObject *``. But your C function often computes some C type, then " +"converts it into the ``PyObject *`` at the last moment. Argument Clinic " +"handles converting your inputs from Python types into native C types—why not " +"have it convert your return value from a native C type into a Python type " +"too?" +msgstr "" +"За замовчуванням функція impl Argument Clinic генерує для вас повернення " +"``PyObject *``. Але ваша функція C часто обчислює певний тип C, а потім в " +"останній момент перетворює його на ``PyObject *``. Argument Clinic " +"перетворює ваші вхідні дані з типів Python у власні типи C — чому б їй не " +"перетворити ваше повертане значення з рідного типу C у тип Python?" + +msgid "" +"That's what a \"return converter\" does. It changes your impl function to " +"return some C type, then adds code to the generated (non-impl) function to " +"handle converting that value into the appropriate ``PyObject *``." +msgstr "" +"Ось що робить \"конвертер повернення\". Він змінює вашу функцію impl, щоб " +"повернути деякий тип C, а потім додає код до згенерованої (не impl) функції " +"для обробки перетворення цього значення у відповідний ``PyObject *``." + +msgid "" +"The syntax for return converters is similar to that of parameter converters. " +"You specify the return converter like it was a return annotation on the " +"function itself. Return converters behave much the same as parameter " +"converters; they take arguments, the arguments are all keyword-only, and if " +"you're not changing any of the default arguments you can omit the " +"parentheses." +msgstr "" +"Синтаксис конвертерів повернення подібний до синтаксису конвертерів " +"параметрів. Ви вказуєте конвертер повернення так, ніби це анотація " +"повернення до самої функції. Перетворювачі повернення поводяться майже так " +"само, як перетворювачі параметрів; вони приймають аргументи, усі аргументи є " +"лише ключовими словами, і якщо ви не змінюєте жоден із стандартних " +"аргументів, ви можете опустити дужки." + +msgid "" +"(If you use both ``\"as\"`` *and* a return converter for your function, the " +"``\"as\"`` should come before the return converter.)" +msgstr "" +"(Якщо ви використовуєте як ``\"as\"`` *, так і* перетворювач повернення для " +"вашої функції, ``\"as\"`` має стояти перед перетворювачем повернення.)" + +msgid "" +"There's one additional complication when using return converters: how do you " +"indicate an error has occurred? Normally, a function returns a valid (non-" +"``NULL``) pointer for success, and ``NULL`` for failure. But if you use an " +"integer return converter, all integers are valid. How can Argument Clinic " +"detect an error? Its solution: each return converter implicitly looks for a " +"special value that indicates an error. If you return that value, and an " +"error has been set (``PyErr_Occurred()`` returns a true value), then the " +"generated code will propagate the error. Otherwise it will encode the value " +"you return like normal." +msgstr "" +"Є одна додаткова складність під час використання конвертерів повернення: як " +"вказати, що сталася помилка? Зазвичай функція повертає дійсний (не ``NULL``) " +"вказівник для успіху та ``NULL`` для помилки. Але якщо ви використовуєте " +"конвертер повернення цілих чисел, усі цілі числа є дійсними. Як Клініка " +"Аргумент може виявити помилку? Його рішення: кожен конвертер повернення " +"неявно шукає спеціальне значення, яке вказує на помилку. Якщо ви повертаєте " +"це значення, і було встановлено помилку (``PyErr_Occurred()`` повертає " +"справжнє значення), тоді згенерований код поширить помилку. В іншому випадку " +"він кодуватиме значення, яке ви повертаєте, як зазвичай." + +msgid "Currently Argument Clinic supports only a few return converters:" +msgstr "Наразі Argument Clinic підтримує лише кілька конвертерів повернення:" + +msgid "" +"None of these take parameters. For the first three, return -1 to indicate " +"error. For ``DecodeFSDefault``, the return type is ``const char *``; return " +"a ``NULL`` pointer to indicate an error." +msgstr "" +"Жоден із них не приймає параметрів. Для перших трьох поверніть -1, щоб " +"вказати помилку. Для ``DecodeFSDefault`` типом повернення є ``const char " +"*``; повертає вказівник ``NULL`` для вказівки на помилку." + +msgid "" +"(There's also an experimental ``NoneType`` converter, which lets you return " +"``Py_None`` on success or ``NULL`` on failure, without having to increment " +"the reference count on ``Py_None``. I'm not sure it adds enough clarity to " +"be worth using.)" +msgstr "" +"(Існує також експериментальний конвертер ``NoneType``, який дозволяє " +"повертати ``Py_None`` у разі успіху або ``NULL`` у разі невдачі, без " +"необхідності збільшення кількості посилань на ``Py_None``. Я не впевнений, " +"що це додає достатньо ясності, щоб його було варто використовувати.)" + +msgid "" +"To see all the return converters Argument Clinic supports, along with their " +"parameters (if any), just run ``Tools/clinic/clinic.py --converters`` for " +"the full list." +msgstr "" +"Щоб побачити всі конвертери повернення, які підтримує Argument Clinic, разом " +"із їхніми параметрами (якщо такі є), просто запустіть ``Tools/clinic/clinic." +"py --converters`` для повного списку." + +msgid "Cloning existing functions" +msgstr "Клонування існуючих функцій" + +msgid "" +"If you have a number of functions that look similar, you may be able to use " +"Clinic's \"clone\" feature. When you clone an existing function, you reuse:" +msgstr "" +"Якщо у вас є декілька функцій, які виглядають схожими, ви можете " +"скористатися функцією \"клонування\" Clinic. Коли ви клонуєте наявну " +"функцію, ви повторно використовуєте:" + +msgid "its parameters, including" +msgstr "його параметри, в т.ч" + +msgid "their names," +msgstr "їхні імена," + +msgid "their converters, with all parameters," +msgstr "їхні конвертери з усіма параметрами," + +msgid "their default values," +msgstr "їхні значення за замовчуванням," + +msgid "their per-parameter docstrings," +msgstr "їхні рядки документації для кожного параметра," + +msgid "" +"their *kind* (whether they're positional only, positional or keyword, or " +"keyword only), and" +msgstr "" +"їх *вид* (незалежно від того, чи є вони лише позиційними, позиційними чи " +"ключовими словами чи лише ключовими словами) та" + +msgid "its return converter." +msgstr "його зворотний перетворювач." + +msgid "" +"The only thing not copied from the original function is its docstring; the " +"syntax allows you to specify a new docstring." +msgstr "" +"Єдине, що не скопійовано з оригінальної функції, це її рядок документації; " +"синтаксис дозволяє вказати новий рядок документації." + +msgid "Here's the syntax for cloning a function::" +msgstr "Ось синтаксис для клонування функції::" + +msgid "" +"(The functions can be in different modules or classes. I wrote ``module." +"class`` in the sample just to illustrate that you must use the full path to " +"*both* functions.)" +msgstr "" +"(Функції можуть бути в різних модулях або класах. Я написав ``module.class`` " +"у прикладі, щоб проілюструвати, що ви повинні використовувати повний шлях до " +"*обох* функцій.)" + +msgid "" +"Sorry, there's no syntax for partially cloning a function, or cloning a " +"function then modifying it. Cloning is an all-or nothing proposition." +msgstr "" + +msgid "" +"Also, the function you are cloning from must have been previously defined in " +"the current file." +msgstr "" +"Крім того, функція, з якої ви клонуєте, має бути попередньо визначена в " +"поточному файлі." + +msgid "Calling Python code" +msgstr "Виклик коду Python" + +msgid "" +"The rest of the advanced topics require you to write Python code which lives " +"inside your C file and modifies Argument Clinic's runtime state. This is " +"simple: you simply define a Python block." +msgstr "" +"Решта розширених тем вимагає від вас написання коду Python, який міститься у " +"вашому файлі C і змінює стан виконання Argument Clinic. Це просто: ви просто " +"визначаєте блок Python." + +msgid "" +"A Python block uses different delimiter lines than an Argument Clinic " +"function block. It looks like this::" +msgstr "" +"Блок Python використовує інші розділові лінії, ніж функціональний блок " +"Argument Clinic. Це виглядає так::" + +msgid "" +"All the code inside the Python block is executed at the time it's parsed. " +"All text written to stdout inside the block is redirected into the \"output" +"\" after the block." +msgstr "" +"Увесь код у блоці Python виконується під час його аналізу. Увесь текст, " +"записаний у stdout всередині блоку, перенаправляється у \"вихід\" після " +"блоку." + +msgid "" +"As an example, here's a Python block that adds a static integer variable to " +"the C code::" +msgstr "" +"Як приклад, ось блок Python, який додає статичну цілочисельну змінну до коду " +"C::" + +msgid "Using a \"self converter\"" +msgstr "Використання \"самоперетворювача\"" + +msgid "" +"Argument Clinic automatically adds a \"self\" parameter for you using a " +"default converter. It automatically sets the ``type`` of this parameter to " +"the \"pointer to an instance\" you specified when you declared the type. " +"However, you can override Argument Clinic's converter and specify one " +"yourself. Just add your own ``self`` parameter as the first parameter in a " +"block, and ensure that its converter is an instance of ``self_converter`` or " +"a subclass thereof." +msgstr "" +"Argument Clinic автоматично додає для вас параметр \"self\" за допомогою " +"конвертера за замовчуванням. Він автоматично встановлює ``тип`` цього " +"параметра на \"вказівник на екземпляр\", який ви вказали під час оголошення " +"типу. Однак ви можете замінити конвертер Argument Clinic і вказати його " +"самостійно. Просто додайте свій власний параметр ``self`` як перший параметр " +"у блоці та переконайтеся, що його конвертер є екземпляром ``self_converter`` " +"або його підкласом." + +msgid "" +"What's the point? This lets you override the type of ``self``, or give it a " +"different default name." +msgstr "" +"В чому справа? Це дає змогу змінити тип ``self`` або дати йому іншу назву за " +"умовчанням." + +msgid "" +"How do you specify the custom type you want to cast ``self`` to? If you only " +"have one or two functions with the same type for ``self``, you can directly " +"use Argument Clinic's existing ``self`` converter, passing in the type you " +"want to use as the ``type`` parameter::" +msgstr "" +"Як вказати настроюваний тип, до якого потрібно привести ``self``? Якщо у вас " +"є лише одна чи дві функції з однаковим типом для ``self``, ви можете напряму " +"використати наявний ``self`` конвертер Argument Clinic, передаючи тип, який " +"ви хочете використовувати як параметр ``type``: :" + +msgid "" +"On the other hand, if you have a lot of functions that will use the same " +"type for ``self``, it's best to create your own converter, subclassing " +"``self_converter`` but overwriting the ``type`` member::" +msgstr "" +"З іншого боку, якщо у вас є багато функцій, які використовуватимуть той " +"самий тип для ``self``, найкраще створити власний конвертер, створивши " +"підклас ``self_converter``, але перезаписавши член ``type``::" + +msgid "Using a \"defining class\" converter" +msgstr "Використання конвертера \"визначення класу\"." + +msgid "" +"Argument Clinic facilitates gaining access to the defining class of a " +"method. This is useful for :ref:`heap type ` methods that need " +"to fetch module level state. Use :c:func:`PyType_FromModuleAndSpec` to " +"associate a new heap type with a module. You can now use :c:func:" +"`PyType_GetModuleState` on the defining class to fetch the module state, for " +"example from a module method." +msgstr "" +"Argument Clinic полегшує отримання доступу до визначального класу методу. Це " +"корисно для методів :ref:`heap type `, яким потрібно отримати " +"стан рівня модуля. Використовуйте :c:func:`PyType_FromModuleAndSpec`, щоб " +"зв’язати новий тип купи з модулем. Тепер ви можете використовувати :c:func:" +"`PyType_GetModuleState` у визначальному класі, щоб отримати стан модуля, " +"наприклад, з методу модуля." + +msgid "" +"Example from ``Modules/zlibmodule.c``. First, ``defining_class`` is added " +"to the clinic input::" +msgstr "" +"Приклад із ``Modules/zlibmodule.c``. По-перше, ``defining_class`` додається " +"до вхідних даних клініки::" + +msgid "" +"After running the Argument Clinic tool, the following function signature is " +"generated::" +msgstr "" +"Після запуску інструменту \"Клініка аргументів\" створюється такий сигнатур " +"функції:" + +msgid "" +"The following code can now use ``PyType_GetModuleState(cls)`` to fetch the " +"module state::" +msgstr "" +"Наступний код тепер може використовувати ``PyType_GetModuleState(cls)`` для " +"отримання стану модуля::" + +msgid "" +"Each method may only have one argument using this converter, and it must " +"appear after ``self``, or, if ``self`` is not used, as the first argument. " +"The argument will be of type ``PyTypeObject *``. The argument will not " +"appear in the ``__text_signature__``." +msgstr "" +"Кожен метод може мати лише один аргумент, який використовує цей конвертер, і " +"він повинен з’являтися після ``self`` або, якщо ``self`` не " +"використовується, як перший аргумент. Аргумент матиме тип ``PyTypeObject " +"*``. Аргумент не з’явиться в ``__text_signature__``." + +msgid "" +"The ``defining_class`` converter is not compatible with ``__init__`` and " +"``__new__`` methods, which cannot use the ``METH_METHOD`` convention." +msgstr "" +"Конвертер ``defining_class`` не сумісний з методами ``__init__`` і " +"``__new__``, які не можуть використовувати угоду ``METH_METHOD``." + +msgid "" +"It is not possible to use ``defining_class`` with slot methods. In order to " +"fetch the module state from such methods, use :c:func:" +"`PyType_GetModuleByDef` to look up the module and then :c:func:" +"`PyModule_GetState` to fetch the module state. Example from the " +"``setattro`` slot method in ``Modules/_threadmodule.c``::" +msgstr "" + +msgid "See also :pep:`573`." +msgstr "Дивіться також :pep:`573`." + +msgid "Writing a custom converter" +msgstr "Написання спеціального конвертера" + +msgid "" +"As we hinted at in the previous section... you can write your own " +"converters! A converter is simply a Python class that inherits from " +"``CConverter``. The main purpose of a custom converter is if you have a " +"parameter using the ``O&`` format unit—parsing this parameter means calling " +"a :c:func:`PyArg_ParseTuple` \"converter function\"." +msgstr "" +"Як ми натякали в попередньому розділі... ви можете писати власні конвертери! " +"Конвертер — це просто клас Python, який успадковує ``CConverter``. Основна " +"мета спеціального конвертера полягає в тому, що якщо у вас є параметр, який " +"використовує одиницю формату ``O&``, аналіз цього параметра означає виклик :" +"c:func:`PyArg_ParseTuple` \"функції конвертера\"." + +msgid "" +"Your converter class should be named ``*something*_converter``. If the name " +"follows this convention, then your converter class will be automatically " +"registered with Argument Clinic; its name will be the name of your class " +"with the ``_converter`` suffix stripped off. (This is accomplished with a " +"metaclass.)" +msgstr "" +"Ваш клас конвертера повинен мати назву ``*something*_converter``. Якщо назва " +"відповідає цій умові, ваш клас конвертера буде автоматично зареєстровано в " +"Argument Clinic; його назва буде назвою вашого класу з видаленим суфіксом " +"``_converter``. (Це досягається за допомогою метакласу.)" + +msgid "" +"You shouldn't subclass ``CConverter.__init__``. Instead, you should write a " +"``converter_init()`` function. ``converter_init()`` always accepts a " +"``self`` parameter; after that, all additional parameters *must* be keyword-" +"only. Any arguments passed in to the converter in Argument Clinic will be " +"passed along to your ``converter_init()``." +msgstr "" +"Ви не повинні створювати підклас ``CConverter.__init__``. Натомість вам слід " +"написати функцію ``converter_init()``. ``converter_init()`` завжди приймає " +"параметр ``self``; після цього всі додаткові параметри *мають* бути лише " +"ключовими словами. Будь-які аргументи, передані конвертеру в Argument " +"Clinic, будуть передані вашому ``converter_init()``." + +msgid "" +"There are some additional members of ``CConverter`` you may wish to specify " +"in your subclass. Here's the current list:" +msgstr "" +"Є деякі додаткові члени ``CConverter``, які ви можете вказати у своєму " +"підкласі. Ось поточний список:" + +msgid "" +"The C type to use for this variable. ``type`` should be a Python string " +"specifying the type, e.g. ``int``. If this is a pointer type, the type " +"string should end with ``' *'``." +msgstr "" +"Тип C для цієї змінної. ``type`` має бути рядком Python із зазначенням типу, " +"напр. ``int``. Якщо це тип вказівника, рядок типу має закінчуватися на ``' " +"*'``." + +msgid "``default``" +msgstr "``за замовчуванням``" + +msgid "" +"The Python default value for this parameter, as a Python value. Or the magic " +"value ``unspecified`` if there is no default." +msgstr "" +"Стандартне значення Python для цього параметра як значення Python. Або " +"магічне значення ``unspecified``, якщо немає значення за умовчанням." + +msgid "``py_default``" +msgstr "``py_default``" + +msgid "" +"``default`` as it should appear in Python code, as a string. Or ``None`` if " +"there is no default." +msgstr "" +"``default``, як воно має відображатися в коді Python, як рядок. Або " +"``None``, якщо за замовчуванням немає." + +msgid "" +"``default`` as it should appear in C code, as a string. Or ``None`` if there " +"is no default." +msgstr "" +"``default``, як воно має відображатися в коді C, як рядок. Або ``None``, " +"якщо за замовчуванням немає." + +msgid "``c_ignored_default``" +msgstr "``c_ignored_default``" + +msgid "" +"The default value used to initialize the C variable when there is no " +"default, but not specifying a default may result in an \"uninitialized " +"variable\" warning. This can easily happen when using option groups—" +"although properly written code will never actually use this value, the " +"variable does get passed in to the impl, and the C compiler will complain " +"about the \"use\" of the uninitialized value. This value should always be a " +"non-empty string." +msgstr "" + +msgid "The name of the C converter function, as a string." +msgstr "Назва функції конвертера C у вигляді рядка." + +msgid "``impl_by_reference``" +msgstr "``impl_by_reference``" + +msgid "" +"A boolean value. If true, Argument Clinic will add a ``&`` in front of the " +"name of the variable when passing it into the impl function." +msgstr "" +"Логічне значення. Якщо значення true, Argument Clinic додасть ``&`` перед " +"іменем змінної під час передачі її у функцію impl." + +msgid "``parse_by_reference``" +msgstr "``parse_by_reference``" + +msgid "" +"A boolean value. If true, Argument Clinic will add a ``&`` in front of the " +"name of the variable when passing it into :c:func:`PyArg_ParseTuple`." +msgstr "" +"Логічне значення. Якщо істина, Argument Clinic додасть ``&`` перед іменем " +"змінної під час передачі її в :c:func:`PyArg_ParseTuple`." + +msgid "" +"Here's the simplest example of a custom converter, from ``Modules/zlibmodule." +"c``::" +msgstr "" +"Ось найпростіший приклад спеціального конвертера з ``Modules/zlibmodule.c``::" + +msgid "" +"This block adds a converter to Argument Clinic named ``ssize_t``. " +"Parameters declared as ``ssize_t`` will be declared as type :c:type:" +"`Py_ssize_t`, and will be parsed by the ``'O&'`` format unit, which will " +"call the ``ssize_t_converter`` converter function. ``ssize_t`` variables " +"automatically support default values." +msgstr "" +"Цей блок додає конвертер до клініки аргументів під назвою ``ssize_t``. " +"Параметри, оголошені як ``ssize_t``, будуть оголошені як тип :c:type:" +"`Py_ssize_t` і аналізуватимуться блоком формату ``'O&''``, який викличе " +"функцію конвертера ``ssize_t_converter``. Змінні ``ssize_t`` автоматично " +"підтримують значення за замовчуванням." + +msgid "" +"More sophisticated custom converters can insert custom C code to handle " +"initialization and cleanup. You can see more examples of custom converters " +"in the CPython source tree; grep the C files for the string ``CConverter``." +msgstr "" +"Більш складні користувацькі конвертери можуть вставляти власний код C для " +"обробки ініціалізації та очищення. Ви можете побачити більше прикладів " +"користувацьких конвертерів у дереві вихідних кодів CPython; grep файли C для " +"рядка ``CConverter``." + +msgid "Writing a custom return converter" +msgstr "Написання спеціального конвертера повернення" + +msgid "" +"Writing a custom return converter is much like writing a custom converter. " +"Except it's somewhat simpler, because return converters are themselves much " +"simpler." +msgstr "" +"Написання спеціального конвертера повернення схоже на написання спеціального " +"конвертера. За винятком того, що це дещо простіше, тому що зворотні " +"перетворювачі самі по собі набагато простіші." + +msgid "" +"Return converters must subclass ``CReturnConverter``. There are no examples " +"yet of custom return converters, because they are not widely used yet. If " +"you wish to write your own return converter, please read ``Tools/clinic/" +"clinic.py``, specifically the implementation of ``CReturnConverter`` and all " +"its subclasses." +msgstr "" +"Перетворювачі повернення мають бути підкласом ``CReturnConverter``. Ще немає " +"прикладів користувальницьких конвертерів повернення, оскільки вони ще не " +"широко використовуються. Якщо ви бажаєте написати власний конвертер " +"повернення, прочитайте ``Tools/clinic/clinic.py``, зокрема реалізацію " +"``CReturnConverter`` та всі його підкласи." + +msgid "METH_O and METH_NOARGS" +msgstr "METH_O та METH_NOARGS" + +msgid "" +"To convert a function using ``METH_O``, make sure the function's single " +"argument is using the ``object`` converter, and mark the arguments as " +"positional-only::" +msgstr "" +"Щоб перетворити функцію за допомогою ``METH_O``, переконайтеся, що єдиний " +"аргумент функції використовує конвертер ``object``, і позначте аргументи як " +"позиційні:" + +msgid "" +"To convert a function using ``METH_NOARGS``, just don't specify any " +"arguments." +msgstr "" +"Щоб перетворити функцію за допомогою ``METH_NOARGS``, просто не вказуйте " +"жодних аргументів." + +msgid "" +"You can still use a self converter, a return converter, and specify a " +"``type`` argument to the object converter for ``METH_O``." +msgstr "" +"Ви все ще можете використовувати самоконвертер, конвертер повернення та " +"вказати аргумент ``type`` для конвертера об’єктів для ``METH_O``." + +msgid "tp_new and tp_init functions" +msgstr "функції tp_new і tp_init" + +msgid "" +"You can convert ``tp_new`` and ``tp_init`` functions. Just name them " +"``__new__`` or ``__init__`` as appropriate. Notes:" +msgstr "" +"Ви можете конвертувати функції ``tp_new`` і ``tp_init``. Просто назвіть їх " +"``__new__`` або ``__init__`` відповідно. Примітки:" + +msgid "" +"The function name generated for ``__new__`` doesn't end in ``__new__`` like " +"it would by default. It's just the name of the class, converted into a " +"valid C identifier." +msgstr "" +"Назва функції, створена для ``__new__``, не закінчується на ``__new__``, як " +"це було б за замовчуванням. Це просто назва класу, перетворена на дійсний " +"ідентифікатор C." + +msgid "No ``PyMethodDef`` ``#define`` is generated for these functions." +msgstr "Для цих функцій не генерується ``PyMethodDef`` ``#define``." + +msgid "``__init__`` functions return ``int``, not ``PyObject *``." +msgstr "Функції ``__init__`` повертають ``int``, а не ``PyObject *``." + +msgid "Use the docstring as the class docstring." +msgstr "Використовуйте рядок документації як рядок документації класу." + +msgid "" +"Although ``__new__`` and ``__init__`` functions must always accept both the " +"``args`` and ``kwargs`` objects, when converting you may specify any " +"signature for these functions that you like. (If your function doesn't " +"support keywords, the parsing function generated will throw an exception if " +"it receives any.)" +msgstr "" +"Хоча функції ``__new__`` і ``__init__`` завжди повинні приймати об’єкти " +"``args`` і ``kwargs``, під час перетворення ви можете вказати будь-який " +"підпис для цих функцій, який вам подобається. (Якщо ваша функція не " +"підтримує ключові слова, згенерована функція синтаксичного аналізу викличе " +"виняток, якщо вона отримає їх.)" + +msgid "Changing and redirecting Clinic's output" +msgstr "Зміна та перенаправлення виходу клініки" + +msgid "" +"It can be inconvenient to have Clinic's output interspersed with your " +"conventional hand-edited C code. Luckily, Clinic is configurable: you can " +"buffer up its output for printing later (or earlier!), or write its output " +"to a separate file. You can also add a prefix or suffix to every line of " +"Clinic's generated output." +msgstr "" +"Це може бути незручно, щоб вихід Clinic перемежовувався з вашим звичайним " +"редагованим вручну кодом C. На щастя, Clinic можна налаштувати: ви можете " +"буферизувати його вихід для друку пізніше (чи раніше!) або записати його " +"вихід в окремий файл. Ви також можете додати префікс або суфікс до кожного " +"рядка результату, створеного Clinic." + +msgid "" +"While changing Clinic's output in this manner can be a boon to readability, " +"it may result in Clinic code using types before they are defined, or your " +"code attempting to use Clinic-generated code before it is defined. These " +"problems can be easily solved by rearranging the declarations in your file, " +"or moving where Clinic's generated code goes. (This is why the default " +"behavior of Clinic is to output everything into the current block; while " +"many people consider this hampers readability, it will never require " +"rearranging your code to fix definition-before-use problems.)" +msgstr "" +"Хоча зміна вихідних даних Clinic таким чином може сприяти читабельності, це " +"може призвести до того, що код Clinic використовує типи до того, як вони " +"будуть визначені, або ваш код намагатиметься використати згенерований Clinic " +"код до того, як він буде визначений. Ці проблеми можна легко вирішити, " +"переставивши декларації у вашому файлі або перемістивши код, згенерований " +"клінікою. (Ось чому поведінка Clinic за замовчуванням полягає у виведенні " +"всього в поточний блок; хоча багато людей вважають, що це заважає " +"читабельності, це ніколи не вимагатиме перевпорядкування вашого коду, щоб " +"виправити проблеми визначення перед використанням.)" + +msgid "Let's start with defining some terminology:" +msgstr "Почнемо з визначення термінології:" + +msgid "*field*" +msgstr "*поле*" + +msgid "" +"A field, in this context, is a subsection of Clinic's output. For example, " +"the ``#define`` for the ``PyMethodDef`` structure is a field, called " +"``methoddef_define``. Clinic has seven different fields it can output per " +"function definition:" +msgstr "" +"У цьому контексті поле є підрозділом результату клініки. Наприклад, " +"``#define`` для структури ``PyMethodDef`` є полем під назвою " +"``methoddef_define``. Клініка має сім різних полів, які вона може виводити " +"за визначенням функції:" + +msgid "" +"All the names are of the form ``\"_\"``, where ``\"\"`` is the " +"semantic object represented (the parsing function, the impl function, the " +"docstring, or the methoddef structure) and ``\"\"`` represents what kind " +"of statement the field is. Field names that end in ``\"_prototype\"`` " +"represent forward declarations of that thing, without the actual body/data " +"of the thing; field names that end in ``\"_definition\"`` represent the " +"actual definition of the thing, with the body/data of the thing. (``" +"\"methoddef\"`` is special, it's the only one that ends with ``\"_define" +"\"``, representing that it's a preprocessor #define.)" +msgstr "" +"Усі назви мають форму ``\"_\"``, де ``\"\"`` є представленим " +"семантичним об’єктом (функція аналізу, функція impl, рядок документа або " +"структура methoddef) і ``\"\"`` представляє тип оператора поля. Назви " +"полів, які закінчуються на ``\"_prototype\"``, представляють прямі " +"оголошення цієї речі без фактичного тіла/даних речі; назви полів, які " +"закінчуються на ``\"_definition\"`` представляють фактичне визначення речі " +"разом із тілом/даними речі. (``\"methoddef\"`` є особливим, він єдиний, який " +"закінчується на ``\"_define\"``, вказуючи, що це препроцесор #define.)" + +msgid "*destination*" +msgstr "*пункт призначення*" + +msgid "" +"A destination is a place Clinic can write output to. There are five built-" +"in destinations:" +msgstr "" +"Пункт призначення – це місце, куди клініка може писати вихідні дані. Є п’ять " +"вбудованих пунктів призначення:" + +msgid "``block``" +msgstr "``блок``" + +msgid "" +"The default destination: printed in the output section of the current Clinic " +"block." +msgstr "" +"Призначення за замовчуванням: друкується в розділі виводу поточного блоку " +"Clinic." + +msgid "``buffer``" +msgstr "``буфер``" + +msgid "" +"A text buffer where you can save text for later. Text sent here is appended " +"to the end of any existing text. It's an error to have any text left in the " +"buffer when Clinic finishes processing a file." +msgstr "" +"Текстовий буфер, де ви можете зберегти текст на потім. Надісланий тут текст " +"додається в кінці будь-якого наявного тексту. Це помилка, коли будь-який " +"текст залишився в буфері, коли клініка завершує обробку файлу." + +msgid "``file``" +msgstr "``файл``" + +msgid "" +"A separate \"clinic file\" that will be created automatically by Clinic. The " +"filename chosen for the file is ``{basename}.clinic{extension}``, where " +"``basename`` and ``extension`` were assigned the output from ``os.path." +"splitext()`` run on the current file. (Example: the ``file`` destination " +"for ``_pickle.c`` would be written to ``_pickle.clinic.c``.)" +msgstr "" +"Окремий \"файл клініки\", який буде створено Клінікою автоматично. Для файлу " +"вибрано ім’я ``{basename}.clinic{extension}``, де ``basename`` і " +"``extension`` було призначено результат ``os.path.splitext()``, що " +"виконується на поточний файл. (Приклад: місце призначення ``file`` для " +"``_pickle.c`` буде записано в ``_pickle.clinic.c``.)" + +msgid "" +"**Important: When using a** ``file`` **destination, you** *must check in* " +"**the generated file!**" +msgstr "" +"**Важливо: використовуючи** ``файл`` **призначення, ви** *повинні " +"перевірити* **згенерований файл!**" + +msgid "``two-pass``" +msgstr "``двоходовий``" + +msgid "" +"A buffer like ``buffer``. However, a two-pass buffer can only be dumped " +"once, and it prints out all text sent to it during all processing, even from " +"Clinic blocks *after* the dumping point." +msgstr "" +"Буфер, як ``buffer``. Однак двопрохідний буфер можна скинути лише один раз, " +"і він друкує весь текст, надісланий до нього під час усієї обробки, навіть " +"із блоків Clinic *після* точки скидання." + +msgid "``suppress``" +msgstr "``придушити``" + +msgid "The text is suppressed—thrown away." +msgstr "Текст приховується — викидається." + +msgid "Clinic defines five new directives that let you reconfigure its output." +msgstr "" +"Клініка визначає п’ять нових директив, які дозволяють переналаштувати її " +"вихід." + +msgid "The first new directive is ``dump``:" +msgstr "Першою новою директивою є ``dump``:" + +msgid "" +"This dumps the current contents of the named destination into the output of " +"the current block, and empties it. This only works with ``buffer`` and " +"``two-pass`` destinations." +msgstr "" +"Це скидає поточний вміст названого пункту призначення у вихід поточного " +"блоку та очищає його. Це працює лише з призначеннями ``буфер`` і " +"``двопрохідний``." + +msgid "" +"The second new directive is ``output``. The most basic form of ``output`` " +"is like this:" +msgstr "Другою новою директивою є ``вихід``. Основна форма \"виводу\" така:" + +msgid "" +"This tells Clinic to output *field* to *destination*. ``output`` also " +"supports a special meta-destination, called ``everything``, which tells " +"Clinic to output *all* fields to that *destination*." +msgstr "" +"Це повідомляє Клініці виводити *поле* в *адресат*. ``вивід`` також підтримує " +"спеціальний мета-адресат, який називається ``все``, який повідомляє Clinic " +"виводити *всі* поля в цей *адресат*." + +msgid "``output`` has a number of other functions:" +msgstr "``вивід`` має ряд інших функцій:" + +msgid "" +"``output push`` and ``output pop`` allow you to push and pop configurations " +"on an internal configuration stack, so that you can temporarily modify the " +"output configuration, then easily restore the previous configuration. " +"Simply push before your change to save the current configuration, then pop " +"when you wish to restore the previous configuration." +msgstr "" +"``output push`` і ``output pop`` дозволяють вам надсилати та витягувати " +"конфігурації у внутрішній стек конфігурації, щоб ви могли тимчасово змінити " +"вихідну конфігурацію, а потім легко відновити попередню конфігурацію. Просто " +"натисніть перед внесенням змін, щоб зберегти поточну конфігурацію, а потім " +"натисніть, коли захочете відновити попередню конфігурацію." + +msgid "" +"``output preset`` sets Clinic's output to one of several built-in preset " +"configurations, as follows:" +msgstr "" +"``output preset`` встановлює вихід клініки на одну з кількох вбудованих " +"попередньо встановлених конфігурацій, як показано нижче:" + +msgid "" +"Clinic's original starting configuration. Writes everything immediately " +"after the input block." +msgstr "" +"Оригінальна стартова конфігурація клініки. Пише все відразу після блоку " +"введення." + +msgid "" +"Suppress the ``parser_prototype`` and ``docstring_prototype``, write " +"everything else to ``block``." +msgstr "" +"Приховати ``parser_prototype`` і ``docstring_prototype``, записати все інше " +"в ``block``." + +msgid "" +"Designed to write everything to the \"clinic file\" that it can. You then " +"``#include`` this file near the top of your file. You may need to rearrange " +"your file to make this work, though usually this just means creating forward " +"declarations for various ``typedef`` and ``PyTypeObject`` definitions." +msgstr "" +"Призначений для запису в \"картотеку клініки\" всього, що може. Потім ви " +"``#include`` цей файл у верхній частині вашого файлу. Можливо, вам " +"знадобиться перевпорядкувати файл, щоб це запрацювало, хоча зазвичай це " +"означає лише створення попередніх декларацій для різних визначень " +"``typedef`` і ``PyTypeObject``." + +msgid "" +"Suppress the ``parser_prototype`` and ``docstring_prototype``, write the " +"``impl_definition`` to ``block``, and write everything else to ``file``." +msgstr "" +"Приховати ``parser_prototype`` і ``docstring_prototype``, записати " +"``impl_definition`` до ``block``, а все інше записати до ``file``." + +msgid "The default filename is ``\"{dirname}/clinic/{basename}.h\"``." +msgstr "Назва файлу за замовчуванням – ``\"{dirname}/clinic/{basename}.h\"``." + +msgid "" +"Save up most of the output from Clinic, to be written into your file near " +"the end. For Python files implementing modules or builtin types, it's " +"recommended that you dump the buffer just above the static structures for " +"your module or builtin type; these are normally very near the end. Using " +"``buffer`` may require even more editing than ``file``, if your file has " +"static ``PyMethodDef`` arrays defined in the middle of the file." +msgstr "" +"Збережіть більшу частину вихідних даних Clinic, щоб записати їх у ваш файл " +"ближче до кінця. Для файлів Python, що реалізують модулі або вбудовані типи, " +"рекомендується створювати дамп буфера безпосередньо над статичними " +"структурами для вашого модуля або вбудованого типу; зазвичай вони дуже " +"близькі до кінця. Використання ``buffer`` може вимагати навіть більше " +"редагування, ніж ``file``, якщо ваш файл має статичні масиви " +"``PyMethodDef``, визначені в середині файлу." + +msgid "" +"Suppress the ``parser_prototype``, ``impl_prototype``, and " +"``docstring_prototype``, write the ``impl_definition`` to ``block``, and " +"write everything else to ``file``." +msgstr "" +"Приховати ``parser_prototype``, ``impl_prototype`` і " +"``docstring_prototype``, записати ``impl_definition`` до ``block``, а все " +"інше записати до ``file``." + +msgid "" +"Similar to the ``buffer`` preset, but writes forward declarations to the " +"``two-pass`` buffer, and definitions to the ``buffer``. This is similar to " +"the ``buffer`` preset, but may require less editing than ``buffer``. Dump " +"the ``two-pass`` buffer near the top of your file, and dump the ``buffer`` " +"near the end just like you would when using the ``buffer`` preset." +msgstr "" +"Подібно до попереднього налаштування ``buffer``, але записує прямі " +"оголошення в ``двопрохідний`` буфер, а визначення в ``buffer``. Це подібно " +"до попереднього налаштування ``buffer``, але може потребувати менше " +"редагування, ніж ``buffer``. Вивантажте буфер ``двох проходів`` у верхній " +"частині вашого файлу, а ``буфер`` ближче до кінця так само, як при " +"використанні попереднього налаштування ``буфер``." + +msgid "" +"Suppresses the ``impl_prototype``, write the ``impl_definition`` to " +"``block``, write ``docstring_prototype``, ``methoddef_define``, and " +"``parser_prototype`` to ``two-pass``, write everything else to ``buffer``." +msgstr "" +"Пригнічує ``impl_prototype``, записує ``impl_definition`` у ``block``, " +"записує ``docstring_prototype``, ``methoddef_define`` і ``parser_prototype`` " +"у ``two-pass``, записати все інше в ``buffer``." + +msgid "``partial-buffer``" +msgstr "``частковий буфер``" + +msgid "" +"Similar to the ``buffer`` preset, but writes more things to ``block``, only " +"writing the really big chunks of generated code to ``buffer``. This avoids " +"the definition-before-use problem of ``buffer`` completely, at the small " +"cost of having slightly more stuff in the block's output. Dump the " +"``buffer`` near the end, just like you would when using the ``buffer`` " +"preset." +msgstr "" +"Подібно до попереднього налаштування ``buffer``, але записує більше речей у " +"``block``, записуючи лише дійсно великі фрагменти згенерованого коду до " +"``buffer``. Це повністю уникає проблеми визначення перед використанням " +"``буфера`` за невелику ціну наявності трохи більше речей у виводі блоку. " +"Вивантажте ``buffer`` ближче до кінця, так само, як і при використанні " +"попереднього налаштування ``buffer``." + +msgid "" +"Suppresses the ``impl_prototype``, write the ``docstring_definition`` and " +"``parser_definition`` to ``buffer``, write everything else to ``block``." +msgstr "" +"Пригнічує ``impl_prototype``, записує ``docstring_definition`` і " +"``parser_definition`` до ``buffer``, записує все інше до ``block``." + +msgid "The third new directive is ``destination``:" +msgstr "Третя нова директива – ``destination``:" + +msgid "This performs an operation on the destination named ``name``." +msgstr "Це виконує операцію над призначенням під назвою ``name``." + +msgid "There are two defined subcommands: ``new`` and ``clear``." +msgstr "Існує дві визначені підкоманди: ``new`` і ``clear``." + +msgid "The ``new`` subcommand works like this:" +msgstr "Підкоманда ``new`` працює так:" + +msgid "" +"This creates a new destination with name ```` and type ````." +msgstr "" +"Це створює новий пункт призначення з назвою ```` і типом ````." + +msgid "There are five destination types:" +msgstr "Є п'ять типів призначення:" + +msgid "Throws the text away." +msgstr "Викидає текст." + +msgid "" +"Writes the text to the current block. This is what Clinic originally did." +msgstr "Записує текст у поточний блок. Це те, що клініка спочатку робила." + +msgid "A simple text buffer, like the \"buffer\" builtin destination above." +msgstr "" +"Простий текстовий буфер, подібний до вбудованого призначення \"buffer\" вище." + +msgid "" +"A text file. The file destination takes an extra argument, a template to " +"use for building the filename, like so:" +msgstr "" +"Текстовий файл. Місце призначення файлу приймає додатковий аргумент, шаблон " +"для створення імені файлу, наприклад:" + +msgid "destination new " +msgstr "призначення новий " + +msgid "" +"The template can use three strings internally that will be replaced by bits " +"of the filename:" +msgstr "" +"Шаблон може використовувати три внутрішні рядки, які будуть замінені бітами " +"імені файлу:" + +msgid "{path}" +msgstr "{path}" + +msgid "The full path to the file, including directory and full filename." +msgstr "Повний шлях до файлу, включаючи каталог і повну назву файлу." + +msgid "{dirname}" +msgstr "{dirname}" + +msgid "The name of the directory the file is in." +msgstr "Назва каталогу, у якому знаходиться файл." + +msgid "{basename}" +msgstr "{basename}" + +msgid "Just the name of the file, not including the directory." +msgstr "Просто ім’я файлу, не враховуючи каталог." + +msgid "{basename_root}" +msgstr "{basename_root}" + +msgid "" +"Basename with the extension clipped off (everything up to but not including " +"the last '.')." +msgstr "Базове ім’я з обрізаним розширенням (усе до останнього \".\")." + +msgid "{basename_extension}" +msgstr "{basename_extension}" + +msgid "" +"The last '.' and everything after it. If the basename does not contain a " +"period, this will be the empty string." +msgstr "" +"Останній '.' і все після нього. Якщо базове ім’я не містить крапки, це буде " +"порожній рядок." + +msgid "" +"If there are no periods in the filename, {basename} and {filename} are the " +"same, and {extension} is empty. \"{basename}{extension}\" is always exactly " +"the same as \"{filename}\".\"" +msgstr "" +"Якщо в назві файлу немає крапок, {basename} і {filename} однакові, а " +"{extension} порожній. \"{basename}{extension}\" завжди точно збігається з " +"\"{filename}\".\"" + +msgid "A two-pass buffer, like the \"two-pass\" builtin destination above." +msgstr "" +"Двопрохідний буфер, як і \"двопрохідний\" вбудований пункт призначення вище." + +msgid "The ``clear`` subcommand works like this:" +msgstr "Підкоманда ``clear`` працює так:" + +msgid "" +"It removes all the accumulated text up to this point in the destination. (I " +"don't know what you'd need this for, but I thought maybe it'd be useful " +"while someone's experimenting.)" +msgstr "" +"Він видаляє весь накопичений текст до цієї точки призначення. (Я не знаю, " +"для чого вам це знадобиться, але я подумав, що, можливо, це буде корисно, " +"коли хтось експериментуватиме.)" + +msgid "The fourth new directive is ``set``:" +msgstr "Четверта нова директива — ``set``:" + +msgid "" +"``set`` lets you set two internal variables in Clinic. ``line_prefix`` is a " +"string that will be prepended to every line of Clinic's output; " +"``line_suffix`` is a string that will be appended to every line of Clinic's " +"output." +msgstr "" +"``set`` дозволяє встановити дві внутрішні змінні в Clinic. ``line_prefix`` - " +"це рядок, який додаватиметься до кожного рядка виводу Clinic; " +"``line_suffix`` – це рядок, який буде додано до кожного рядка виводу Clinic." + +msgid "Both of these support two format strings:" +msgstr "Обидва вони підтримують два рядки формату:" + +msgid "``{block comment start}``" +msgstr "``{заблокувати початок коментаря}``" + +msgid "" +"Turns into the string ``/*``, the start-comment text sequence for C files." +msgstr "" +"Перетворюється на рядок ``/*``, текстову послідовність початку коментаря для " +"файлів C." + +msgid "``{block comment end}``" +msgstr "{block comment end}``" + +msgid "" +"Turns into the string ``*/``, the end-comment text sequence for C files." +msgstr "" +"Перетворюється на рядок ``*/``, послідовність тексту кінцевого коментаря для " +"файлів C." + +msgid "" +"The final new directive is one you shouldn't need to use directly, called " +"``preserve``:" +msgstr "" +"Остання нова директива, яку вам не потрібно використовувати безпосередньо, " +"називається ``preserve``:" + +msgid "" +"This tells Clinic that the current contents of the output should be kept, " +"unmodified. This is used internally by Clinic when dumping output into " +"``file`` files; wrapping it in a Clinic block lets Clinic use its existing " +"checksum functionality to ensure the file was not modified by hand before it " +"gets overwritten." +msgstr "" +"Це повідомляє Клініці, що поточний вміст вихідних даних слід зберегти без " +"змін. Це використовується клінікою внутрішньо під час створення дампу " +"виведених даних у файли ``file``; загортання його в блок Clinic дозволяє " +"Clinic використовувати наявну функцію контрольної суми, щоб переконатися, що " +"файл не було змінено вручну, перш ніж його буде перезаписано." + +msgid "The #ifdef trick" +msgstr "Трюк #ifdef" + +msgid "" +"If you're converting a function that isn't available on all platforms, " +"there's a trick you can use to make life a little easier. The existing code " +"probably looks like this::" +msgstr "" +"Якщо ви перетворюєте функцію, яка доступна не на всіх платформах, є " +"хитрість, за допомогою якої ви можете трохи полегшити життя. Наявний код, " +"ймовірно, виглядає так::" + +msgid "" +"And then in the ``PyMethodDef`` structure at the bottom the existing code " +"will have:" +msgstr "А потім у нижній структурі ``PyMethodDef`` наявний код матиме:" + +msgid "" +"In this scenario, you should enclose the body of your impl function inside " +"the ``#ifdef``, like so::" +msgstr "" +"У цьому сценарії ви повинні вкласти тіло вашої функції impl у ``#ifdef``, " +"ось так:" + +msgid "" +"Then, remove those three lines from the ``PyMethodDef`` structure, replacing " +"them with the macro Argument Clinic generated:" +msgstr "" +"Потім видаліть ці три рядки зі структури ``PyMethodDef``, замінивши їх " +"згенерованим макросом Argument Clinic:" + +msgid "" +"(You can find the real name for this macro inside the generated code. Or you " +"can calculate it yourself: it's the name of your function as defined on the " +"first line of your block, but with periods changed to underscores, " +"uppercased, and ``\"_METHODDEF\"`` added to the end.)" +msgstr "" +"(Ви можете знайти справжню назву цього макросу в створеному коді. Або ви " +"можете обчислити її самостійно: це назва вашої функції, як визначено в " +"першому рядку вашого блоку, але з крапками, зміненими на підкреслення, " +"верхній регістр і ``\"_METHODDEF\"`` додано в кінець.)" + +msgid "" +"Perhaps you're wondering: what if ``HAVE_FUNCTIONNAME`` isn't defined? The " +"``MODULE_FUNCTIONNAME_METHODDEF`` macro won't be defined either!" +msgstr "" +"Можливо, вам цікаво: а що, якщо ``HAVE_FUNCTIONNAME`` не визначено? Макрос " +"``MODULE_FUNCTIONNAME_METHODDEF`` також не буде визначено!" + +msgid "" +"Here's where Argument Clinic gets very clever. It actually detects that the " +"Argument Clinic block might be deactivated by the ``#ifdef``. When that " +"happens, it generates a little extra code that looks like this::" +msgstr "" +"Ось де Argument Clinic стає дуже розумною. Він фактично виявляє, що блок " +"аргументів може бути дезактивований ``#ifdef``. Коли це відбувається, " +"створюється додатковий код, який виглядає так:" + +msgid "" +"That means the macro always works. If the function is defined, this turns " +"into the correct structure, including the trailing comma. If the function " +"is undefined, this turns into nothing." +msgstr "" +"Це означає, що макрос працює завжди. Якщо функцію визначено, вона " +"перетворюється на правильну структуру, включаючи кінцеву кому. Якщо функція " +"не визначена, це перетворюється на ніщо." + +msgid "" +"However, this causes one ticklish problem: where should Argument Clinic put " +"this extra code when using the \"block\" output preset? It can't go in the " +"output block, because that could be deactivated by the ``#ifdef``. (That's " +"the whole point!)" +msgstr "" +"Однак це спричиняє одну лоскотну проблему: куди Argument Clinic має " +"розмістити цей додатковий код, коли використовується пресет виведення \"блок" +"\"? Він не може перейти до блоку виведення, тому що це може бути " +"дезактивовано ``#ifdef``. (У цьому вся суть!)" + +msgid "" +"In this situation, Argument Clinic writes the extra code to the \"buffer\" " +"destination. This may mean that you get a complaint from Argument Clinic:" +msgstr "" +"У цій ситуації Argument Clinic записує додатковий код до місця призначення " +"\"буфера\". Це може означати, що ви отримали скаргу від клініки Аргумент:" + +msgid "" +"When this happens, just open your file, find the ``dump buffer`` block that " +"Argument Clinic added to your file (it'll be at the very bottom), then move " +"it above the ``PyMethodDef`` structure where that macro is used." +msgstr "" +"Коли це станеться, просто відкрийте файл, знайдіть блок ``буфера дампа``, " +"який Argument Clinic додав до вашого файлу (він буде в самому низу), а потім " +"перемістіть його над структурою ``PyMethodDef``, де цей макрос " +"використовується." + +msgid "Using Argument Clinic in Python files" +msgstr "Використання клініки аргументів у файлах Python" + +msgid "" +"It's actually possible to use Argument Clinic to preprocess Python files. " +"There's no point to using Argument Clinic blocks, of course, as the output " +"wouldn't make any sense to the Python interpreter. But using Argument " +"Clinic to run Python blocks lets you use Python as a Python preprocessor!" +msgstr "" +"Насправді можна використовувати Argument Clinic для попередньої обробки " +"файлів Python. Звичайно, немає сенсу використовувати блоки Argument Clinic, " +"оскільки вихідні дані не матимуть сенсу для інтерпретатора Python. Але " +"використання Argument Clinic для запуску блоків Python дозволяє " +"використовувати Python як препроцесор Python!" + +msgid "" +"Since Python comments are different from C comments, Argument Clinic blocks " +"embedded in Python files look slightly different. They look like this:" +msgstr "" +"Оскільки коментарі Python відрізняються від коментарів C, блоки Argument " +"Clinic, вбудовані у файли Python, виглядають дещо інакше. Вони виглядають " +"так:" diff --git a/howto/cporting.po b/howto/cporting.po new file mode 100644 index 000000000..518260c69 --- /dev/null +++ b/howto/cporting.po @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:52+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Porting Extension Modules to Python 3" +msgstr "Перенесення модулів розширення на Python 3" + +msgid "" +"We recommend the following resources for porting extension modules to Python " +"3:" +msgstr "" +"Ми рекомендуємо такі ресурси для перенесення модулів розширення на Python 3:" + +msgid "" +"The `Migrating C extensions`_ chapter from *Supporting Python 3: An in-depth " +"guide*, a book on moving from Python 2 to Python 3 in general, guides the " +"reader through porting an extension module." +msgstr "" +"У розділі `Migrating C extensions`_ із книги \"Підтримка Python 3: докладний " +"посібник*, книги про перехід від Python 2 до Python 3 загалом, читач " +"ознайомиться з перенесенням модуля розширення." + +msgid "" +"The `Porting guide`_ from the *py3c* project provides opinionated " +"suggestions with supporting code." +msgstr "" +"`Porting guide`_ з проекту *py3c* містить упевнені пропозиції з допоміжним " +"кодом." + +msgid "" +"The `Cython`_ and `CFFI`_ libraries offer abstractions over Python's C API. " +"Extensions generally need to be re-written to use one of them, but the " +"library then handles differences between various Python versions and " +"implementations." +msgstr "" +"Бібліотеки `Cython`_ і `CFFI`_ пропонують абстракції над C API Python. " +"Розширення зазвичай потрібно переписати, щоб використовувати одне з них, але " +"тоді бібліотека обробляє відмінності між різними версіями та реалізаціями " +"Python." diff --git a/howto/curses.po b/howto/curses.po new file mode 100644 index 000000000..8531af5eb --- /dev/null +++ b/howto/curses.po @@ -0,0 +1,930 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Curses Programming with Python" +msgstr "Програмування Curses на Python" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling, Eric S. Raymond" +msgstr "A.M. Kuchling, Eric S. Raymond" + +msgid "Release" +msgstr "Реліз" + +msgid "2.04" +msgstr "2.04" + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"This document describes how to use the :mod:`curses` extension module to " +"control text-mode displays." +msgstr "" +"У цьому документі описано, як використовувати модуль розширення :mod:" +"`curses` для керування відображеннями в текстовому режимі." + +msgid "What is curses?" +msgstr "Що таке прокляття?" + +msgid "" +"The curses library supplies a terminal-independent screen-painting and " +"keyboard-handling facility for text-based terminals; such terminals include " +"VT100s, the Linux console, and the simulated terminal provided by various " +"programs. Display terminals support various control codes to perform common " +"operations such as moving the cursor, scrolling the screen, and erasing " +"areas. Different terminals use widely differing codes, and often have their " +"own minor quirks." +msgstr "" +"Бібліотека curses надає незалежне від терміналу засіб малювання екрану та " +"керування клавіатурою для текстових терміналів; такі термінали включають " +"VT100s, консоль Linux і імітований термінал, що надається різними " +"програмами. Дисплейні термінали підтримують різні керуючі коди для виконання " +"типових операцій, таких як переміщення курсору, прокручування екрана та " +"стирання областей. Різні термінали використовують дуже різні коди та часто " +"мають власні незначні особливості." + +msgid "" +"In a world of graphical displays, one might ask \"why bother\"? It's true " +"that character-cell display terminals are an obsolete technology, but there " +"are niches in which being able to do fancy things with them are still " +"valuable. One niche is on small-footprint or embedded Unixes that don't run " +"an X server. Another is tools such as OS installers and kernel " +"configurators that may have to run before any graphical support is available." +msgstr "" +"У світі графічних дисплеїв хтось може запитати \"навіщо турбуватися\"? Це " +"правда, що дисплеї з символьними комірками є застарілою технологією, але є " +"ніші, в яких можливість робити з ними фантастичні речі все ще цінна. Одна " +"ніша займає малогабаритні або вбудовані системи Unix, на яких не працює X-" +"сервер. Інші інструменти, такі як інсталятори ОС і конфігуратори ядра, які, " +"можливо, доведеться запустити, перш ніж буде доступна будь-яка графічна " +"підтримка." + +msgid "" +"The curses library provides fairly basic functionality, providing the " +"programmer with an abstraction of a display containing multiple non-" +"overlapping windows of text. The contents of a window can be changed in " +"various ways---adding text, erasing it, changing its appearance---and the " +"curses library will figure out what control codes need to be sent to the " +"terminal to produce the right output. curses doesn't provide many user-" +"interface concepts such as buttons, checkboxes, or dialogs; if you need such " +"features, consider a user interface library such as `Urwid `_." +msgstr "" +"Бібліотека curses надає досить базову функціональність, надаючи програмісту " +"абстракцію відображення, що містить кілька вікон тексту, які не " +"перекриваються. Вміст вікна можна змінювати різними способами --- додавати " +"текст, стирати його, змінювати його вигляд --- і бібліотека curses " +"визначить, які керуючі коди потрібно надіслати на термінал, щоб отримати " +"правильний результат. curses не надає багато концепцій інтерфейсу " +"користувача, таких як кнопки, прапорці або діалогові вікна; якщо вам " +"потрібні такі функції, розгляньте бібліотеку інтерфейсу користувача, таку як " +"`Urwid `_." + +msgid "" +"The curses library was originally written for BSD Unix; the later System V " +"versions of Unix from AT&T added many enhancements and new functions. BSD " +"curses is no longer maintained, having been replaced by ncurses, which is an " +"open-source implementation of the AT&T interface. If you're using an open-" +"source Unix such as Linux or FreeBSD, your system almost certainly uses " +"ncurses. Since most current commercial Unix versions are based on System V " +"code, all the functions described here will probably be available. The " +"older versions of curses carried by some proprietary Unixes may not support " +"everything, though." +msgstr "" +"Бібліотека curses спочатку була написана для BSD Unix; пізніші версії System " +"V Unix від AT&T додали багато вдосконалень і нових функцій. BSD curses " +"більше не підтримується, їх замінив ncurses, який є реалізацією інтерфейсу " +"AT&T з відкритим кодом. Якщо ви використовуєте Unix з відкритим кодом, " +"наприклад Linux або FreeBSD, ваша система майже напевно використовує " +"ncurses. Оскільки більшість сучасних комерційних версій Unix базується на " +"коді System V, усі описані тут функції, ймовірно, будуть доступні. Однак " +"старіші версії curses, які містяться в деяких пропрієтарних системах Unix, " +"можуть не підтримувати все." + +msgid "" +"The Windows version of Python doesn't include the :mod:`curses` module. A " +"ported version called `UniCurses `_ is " +"available." +msgstr "" +"Версія Python для Windows не включає модуль :mod:`curses`. Доступна " +"перенесена версія під назвою `UniCurses `_." + +msgid "The Python curses module" +msgstr "Модуль проклинань Python" + +msgid "" +"The Python module is a fairly simple wrapper over the C functions provided " +"by curses; if you're already familiar with curses programming in C, it's " +"really easy to transfer that knowledge to Python. The biggest difference is " +"that the Python interface makes things simpler by merging different C " +"functions such as :c:func:`addstr`, :c:func:`mvaddstr`, and :c:func:" +"`mvwaddstr` into a single :meth:`~curses.window.addstr` method. You'll see " +"this covered in more detail later." +msgstr "" +"Модуль Python є досить простою обгорткою для функцій C, що надаються curses; " +"якщо ви вже знайомі з програмуванням curses на C, вам дуже легко перенести " +"ці знання на Python. Найбільша відмінність полягає в тому, що інтерфейс " +"Python спрощує речі, об’єднуючи різні функції C, такі як :c:func:`addstr`, :" +"c:func:`mvaddstr` і :c:func:`mvwaddstr` в єдиний :meth:`~curses.window." +"addstr` метод. Ви побачите це більш детально пізніше." + +msgid "" +"This HOWTO is an introduction to writing text-mode programs with curses and " +"Python. It doesn't attempt to be a complete guide to the curses API; for " +"that, see the Python library guide's section on ncurses, and the C manual " +"pages for ncurses. It will, however, give you the basic ideas." +msgstr "" +"Цей HOWTO є вступом до написання програм у текстовому режимі за допомогою " +"curses і Python. Він не намагається бути повним посібником з curses API; для " +"цього дивіться розділ посібника з бібліотеки Python про ncurses і сторінки " +"посібника C для ncurses. Однак це дасть вам основні ідеї." + +msgid "Starting and ending a curses application" +msgstr "Запуск і завершення програми curses" + +msgid "" +"Before doing anything, curses must be initialized. This is done by calling " +"the :func:`~curses.initscr` function, which will determine the terminal " +"type, send any required setup codes to the terminal, and create various " +"internal data structures. If successful, :func:`initscr` returns a window " +"object representing the entire screen; this is usually called ``stdscr`` " +"after the name of the corresponding C variable. ::" +msgstr "" +"Перш ніж щось робити, curses потрібно ініціалізувати. Це робиться шляхом " +"виклику функції :func:`~curses.initscr`, яка визначить тип терміналу, " +"надішле будь-які необхідні коди налаштування на термінал і створить різні " +"внутрішні структури даних. У разі успіху :func:`initscr` повертає віконний " +"об’єкт, що представляє весь екран; це зазвичай називається ``stdscr`` за " +"назвою відповідної змінної C. ::" + +msgid "" +"Usually curses applications turn off automatic echoing of keys to the " +"screen, in order to be able to read keys and only display them under certain " +"circumstances. This requires calling the :func:`~curses.noecho` function. ::" +msgstr "" +"Зазвичай програми curses вимикають автоматичне відлуння клавіш на екрані, " +"щоб мати можливість читати клавіші та відображати їх лише за певних " +"обставин. Для цього потрібно викликати функцію :func:`~curses.noecho`. ::" + +msgid "" +"Applications will also commonly need to react to keys instantly, without " +"requiring the Enter key to be pressed; this is called cbreak mode, as " +"opposed to the usual buffered input mode. ::" +msgstr "" +"Додаткам також зазвичай потрібно миттєво реагувати на натискання клавіш, не " +"вимагаючи натискання клавіші Enter; це називається режимом cbreak, на " +"відміну від звичайного режиму буферизованого введення. ::" + +msgid "" +"Terminals usually return special keys, such as the cursor keys or navigation " +"keys such as Page Up and Home, as a multibyte escape sequence. While you " +"could write your application to expect such sequences and process them " +"accordingly, curses can do it for you, returning a special value such as :" +"const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to enable " +"keypad mode. ::" +msgstr "" +"Термінали зазвичай повертають спеціальні клавіші, такі як клавіші керування " +"курсором або навігаційні клавіші, такі як Page Up і Home, як багатобайтову " +"escape-послідовність. Хоча ви можете написати свою програму так, щоб " +"очікувати такі послідовності та обробляти їх відповідно, curses може зробити " +"це за вас, повертаючи спеціальне значення, наприклад :const:`curses." +"KEY_LEFT`. Щоб змусити прокляття виконувати роботу, вам потрібно буде " +"ввімкнути режим клавіатури. ::" + +msgid "" +"Terminating a curses application is much easier than starting one. You'll " +"need to call::" +msgstr "" +"Завершити роботу програми curses набагато легше, ніж розпочати її. Вам " +"потрібно зателефонувати::" + +msgid "" +"to reverse the curses-friendly terminal settings. Then call the :func:" +"`~curses.endwin` function to restore the terminal to its original operating " +"mode. ::" +msgstr "" +"щоб змінити налаштування терміналу, зручні для curses. Потім викличте " +"функцію :func:`~curses.endwin`, щоб відновити термінал до вихідного режиму " +"роботи. ::" + +msgid "" +"A common problem when debugging a curses application is to get your terminal " +"messed up when the application dies without restoring the terminal to its " +"previous state. In Python this commonly happens when your code is buggy and " +"raises an uncaught exception. Keys are no longer echoed to the screen when " +"you type them, for example, which makes using the shell difficult." +msgstr "" +"Поширеною проблемою під час налагодження програми curses є псування " +"терміналу, коли програма вимикається без відновлення попереднього стану " +"терміналу. У Python це зазвичай трапляється, коли ваш код має помилки та " +"викликає неперехоплений виняток. Наприклад, клавіші більше не відтворюються " +"на екрані, коли ви їх вводите, що ускладнює використання оболонки." + +msgid "" +"In Python you can avoid these complications and make debugging much easier " +"by importing the :func:`curses.wrapper` function and using it like this::" +msgstr "" +"У Python ви можете уникнути цих ускладнень і значно полегшити налагодження, " +"імпортувавши функцію :func:`curses.wrapper` і використовуючи її таким чином::" + +msgid "" +"The :func:`~curses.wrapper` function takes a callable object and does the " +"initializations described above, also initializing colors if color support " +"is present. :func:`wrapper` then runs your provided callable. Once the " +"callable returns, :func:`wrapper` will restore the original state of the " +"terminal. The callable is called inside a :keyword:`try`...\\ :keyword:" +"`except` that catches exceptions, restores the state of the terminal, and " +"then re-raises the exception. Therefore your terminal won't be left in a " +"funny state on exception and you'll be able to read the exception's message " +"and traceback." +msgstr "" +"Функція :func:`~curses.wrapper` приймає об’єкт, який можна викликати, і " +"виконує ініціалізацію, описану вище, а також ініціалізацію кольорів, якщо " +"присутня підтримка кольорів. :func:`wrapper` потім запускає наданий вами " +"виклик. Після того, як виклик повернеться, :func:`wrapper` відновить " +"вихідний стан терміналу. Викликається всередині :keyword:`try`...\\ :keyword:" +"`except`, який перехоплює винятки, відновлює стан терміналу, а потім " +"повторно викликає виняток. Таким чином, ваш термінал не залишиться у дивному " +"стані під час виключення, і ви зможете прочитати повідомлення про виняток і " +"відстежити його." + +msgid "Windows and Pads" +msgstr "Вікна та колодки" + +msgid "" +"Windows are the basic abstraction in curses. A window object represents a " +"rectangular area of the screen, and supports methods to display text, erase " +"it, allow the user to input strings, and so forth." +msgstr "" +"Вікна є основною абстракцією в curses. Об’єкт вікна представляє прямокутну " +"область екрана та підтримує методи відображення тексту, його стирання, " +"дозволу користувачеві вводити рядки тощо." + +msgid "" +"The ``stdscr`` object returned by the :func:`~curses.initscr` function is a " +"window object that covers the entire screen. Many programs may need only " +"this single window, but you might wish to divide the screen into smaller " +"windows, in order to redraw or clear them separately. The :func:`~curses." +"newwin` function creates a new window of a given size, returning the new " +"window object. ::" +msgstr "" +"Об’єкт ``stdscr``, що повертається функцією :func:`~curses.initscr`, є " +"об’єктом вікна, що покриває весь екран. Багатьом програмам може знадобитися " +"лише це одне вікно, але ви можете розділити екран на менші вікна, щоб " +"перемалювати або очистити їх окремо. Функція :func:`~curses.newwin` створює " +"нове вікно заданого розміру, повертаючи новий об’єкт вікна. ::" + +msgid "" +"Note that the coordinate system used in curses is unusual. Coordinates are " +"always passed in the order *y,x*, and the top-left corner of a window is " +"coordinate (0,0). This breaks the normal convention for handling " +"coordinates where the *x* coordinate comes first. This is an unfortunate " +"difference from most other computer applications, but it's been part of " +"curses since it was first written, and it's too late to change things now." +msgstr "" +"Зверніть увагу, що система координат, яка використовується в curses, є " +"незвичною. Координати завжди передаються в порядку *y,x*, а верхній лівий " +"кут вікна є координатою (0,0). Це порушує звичайну угоду щодо обробки " +"координат, де координата *x* стоїть першою. Це прикра відмінність від " +"більшості інших комп’ютерних програм, але вона була частиною прокляття " +"відтоді, як була написана, і зараз надто пізно щось змінювати." + +msgid "" +"Your application can determine the size of the screen by using the :data:" +"`curses.LINES` and :data:`curses.COLS` variables to obtain the *y* and *x* " +"sizes. Legal coordinates will then extend from ``(0,0)`` to ``(curses.LINES " +"- 1, curses.COLS - 1)``." +msgstr "" +"Ваша програма може визначити розмір екрана за допомогою змінних :data:" +"`curses.LINES` і :data:`curses.COLS` для отримання розмірів *y* і *x*. Тоді " +"юридичні координати розширюватимуться від ``(0,0)`` до ``(curses.LINES - 1, " +"curses.COLS - 1)``." + +msgid "" +"When you call a method to display or erase text, the effect doesn't " +"immediately show up on the display. Instead you must call the :meth:" +"`~curses.window.refresh` method of window objects to update the screen." +msgstr "" +"Коли ви викликаєте метод для відображення або стирання тексту, ефект не " +"відразу відображається на дисплеї. Натомість ви повинні викликати метод :" +"meth:`~curses.window.refresh` об’єктів вікна, щоб оновити екран." + +msgid "" +"This is because curses was originally written with slow 300-baud terminal " +"connections in mind; with these terminals, minimizing the time required to " +"redraw the screen was very important. Instead curses accumulates changes to " +"the screen and displays them in the most efficient manner when you call :" +"meth:`refresh`. For example, if your program displays some text in a window " +"and then clears the window, there's no need to send the original text " +"because they're never visible." +msgstr "" +"Це тому, що curses спочатку було написано з урахуванням повільних " +"термінальних з’єднань на 300 бод; з цими терміналами мінімізація часу, " +"необхідного для перемальовування екрана, була дуже важливою. Натомість " +"curses накопичує зміни на екрані та відображає їх у найефективніший спосіб, " +"коли ви викликаєте :meth:`refresh`. Наприклад, якщо ваша програма відображає " +"деякий текст у вікні, а потім очищає вікно, немає потреби надсилати вихідний " +"текст, оскільки він ніколи не буде видимим." + +msgid "" +"In practice, explicitly telling curses to redraw a window doesn't really " +"complicate programming with curses much. Most programs go into a flurry of " +"activity, and then pause waiting for a keypress or some other action on the " +"part of the user. All you have to do is to be sure that the screen has been " +"redrawn before pausing to wait for user input, by first calling ``stdscr." +"refresh()`` or the :meth:`refresh` method of some other relevant window." +msgstr "" +"На практиці явне вказівку curses перемалювати вікно не дуже ускладнює " +"програмування з curses. Більшість програм починає активно працювати, а потім " +"призупиняється, чекаючи натискання клавіші або іншої дії з боку користувача. " +"Все, що вам потрібно зробити, це переконатися, що екран було перемальовано " +"перед тим, як призупинити очікування введення користувача, спершу викликавши " +"``stdscr.refresh()`` або метод :meth:`refresh` іншого відповідного вікна." + +msgid "" +"A pad is a special case of a window; it can be larger than the actual " +"display screen, and only a portion of the pad displayed at a time. Creating " +"a pad requires the pad's height and width, while refreshing a pad requires " +"giving the coordinates of the on-screen area where a subsection of the pad " +"will be displayed. ::" +msgstr "" +"Колодка — окремий випадок вікна; він може бути більшим, ніж фактичний екран " +"дисплея, і одночасно відображатися лише частина панелі. Щоб створити " +"блокнот, потрібно вказати його висоту та ширину, тоді як для оновлення " +"блокнота потрібно вказати координати області на екрані, де відображатиметься " +"його підрозділ. ::" + +msgid "" +"The :meth:`refresh` call displays a section of the pad in the rectangle " +"extending from coordinate (5,5) to coordinate (20,75) on the screen; the " +"upper left corner of the displayed section is coordinate (0,0) on the pad. " +"Beyond that difference, pads are exactly like ordinary windows and support " +"the same methods." +msgstr "" +"Виклик :meth:`refresh` відображає на екрані частину панелі в прямокутнику " +"від координати (5,5) до координати (20,75); верхній лівий кут " +"відображуваного розділу є координатою (0,0) на панелі. Окрім цієї різниці, " +"колодки схожі на звичайні вікна та підтримують ті самі методи." + +msgid "" +"If you have multiple windows and pads on screen there is a more efficient " +"way to update the screen and prevent annoying screen flicker as each part of " +"the screen gets updated. :meth:`refresh` actually does two things:" +msgstr "" +"Якщо на екрані є кілька вікон і панелей, є ефективніший спосіб оновити екран " +"і запобігти дратівливому мерехтінню екрана під час оновлення кожної частини " +"екрана. :meth:`refresh` насправді робить дві речі:" + +msgid "" +"Calls the :meth:`~curses.window.noutrefresh` method of each window to update " +"an underlying data structure representing the desired state of the screen." +msgstr "" +"Викликає метод :meth:`~curses.window.noutrefresh` кожного вікна, щоб оновити " +"базову структуру даних, що представляє потрібний стан екрана." + +msgid "" +"Calls the function :func:`~curses.doupdate` function to change the physical " +"screen to match the desired state recorded in the data structure." +msgstr "" +"Викликає функцію :func:`~curses.doupdate`, щоб змінити фізичний екран " +"відповідно до потрібного стану, записаного в структурі даних." + +msgid "" +"Instead you can call :meth:`noutrefresh` on a number of windows to update " +"the data structure, and then call :func:`doupdate` to update the screen." +msgstr "" +"Натомість ви можете викликати :meth:`noutrefresh` у кількох вікнах, щоб " +"оновити структуру даних, а потім викликати :func:`doupdate`, щоб оновити " +"екран." + +msgid "Displaying Text" +msgstr "Відображення тексту" + +msgid "" +"From a C programmer's point of view, curses may sometimes look like a twisty " +"maze of functions, all subtly different. For example, :c:func:`addstr` " +"displays a string at the current cursor location in the ``stdscr`` window, " +"while :c:func:`mvaddstr` moves to a given y,x coordinate first before " +"displaying the string. :c:func:`waddstr` is just like :c:func:`addstr`, but " +"allows specifying a window to use instead of using ``stdscr`` by default. :c:" +"func:`mvwaddstr` allows specifying both a window and a coordinate." +msgstr "" +"З точки зору програміста на C, curses іноді можуть виглядати як заплутаний " +"лабіринт функцій, усі дещо різні. Наприклад, :c:func:`addstr` відображає " +"рядок у поточному місці розташування курсору у вікні ``stdscr``, тоді як :c:" +"func:`mvaddstr` спочатку переміщується до заданої координати y,x перед " +"відображенням рядка . :c:func:`waddstr` схожий на :c:func:`addstr`, але " +"дозволяє вказати вікно для використання замість використання ``stdscr`` за " +"замовчуванням. :c:func:`mvwaddstr` дозволяє вказати як вікно, так і " +"координату." + +msgid "" +"Fortunately the Python interface hides all these details. ``stdscr`` is a " +"window object like any other, and methods such as :meth:`~curses.window." +"addstr` accept multiple argument forms. Usually there are four different " +"forms." +msgstr "" +"На щастя, інтерфейс Python приховує всі ці деталі. ``stdscr`` є віконним " +"об’єктом, як і будь-який інший, і такі методи, як :meth:`~curses.window." +"addstr` приймають кілька форм аргументів. Зазвичай є чотири різні форми." + +msgid "Form" +msgstr "Форма" + +msgid "Description" +msgstr "опис" + +msgid "*str* or *ch*" +msgstr "*str* або *ch*" + +msgid "Display the string *str* or character *ch* at the current position" +msgstr "Відобразити рядок *str* або символ *ch* у поточній позиції" + +msgid "*str* or *ch*, *attr*" +msgstr "*str* або *ch*, *attr*" + +msgid "" +"Display the string *str* or character *ch*, using attribute *attr* at the " +"current position" +msgstr "" +"Відобразити рядок *str* або символ *ch*, використовуючи атрибут *attr* у " +"поточній позиції" + +msgid "*y*, *x*, *str* or *ch*" +msgstr "*y*, *x*, *str* або *ch*" + +msgid "Move to position *y,x* within the window, and display *str* or *ch*" +msgstr "Перейдіть до позиції *y,x* у вікні та відобразіть *str* або *ch*" + +msgid "*y*, *x*, *str* or *ch*, *attr*" +msgstr "*y*, *x*, *str* або *ch*, *attr*" + +msgid "" +"Move to position *y,x* within the window, and display *str* or *ch*, using " +"attribute *attr*" +msgstr "" +"Перейдіть до позиції *y,x* у вікні та відобразіть *str* або *ch*, " +"використовуючи атрибут *attr*" + +msgid "" +"Attributes allow displaying text in highlighted forms such as boldface, " +"underline, reverse code, or in color. They'll be explained in more detail " +"in the next subsection." +msgstr "" +"Атрибути дозволяють відображати текст у виділених формах, наприклад жирним " +"шрифтом, підкресленням, зворотним кодом або кольором. Вони будуть пояснені " +"більш детально в наступному підрозділі." + +msgid "" +"The :meth:`~curses.window.addstr` method takes a Python string or bytestring " +"as the value to be displayed. The contents of bytestrings are sent to the " +"terminal as-is. Strings are encoded to bytes using the value of the " +"window's :attr:`encoding` attribute; this defaults to the default system " +"encoding as returned by :func:`locale.getencoding`." +msgstr "" + +msgid "" +"The :meth:`~curses.window.addch` methods take a character, which can be " +"either a string of length 1, a bytestring of length 1, or an integer." +msgstr "" +"Методи :meth:`~curses.window.addch` приймають символ, який може бути рядком " +"довжини 1, байтовим рядком довжини 1 або цілим числом." + +msgid "" +"Constants are provided for extension characters; these constants are " +"integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/- " +"symbol, and :const:`ACS_ULCORNER` is the upper left corner of a box (handy " +"for drawing borders). You can also use the appropriate Unicode character." +msgstr "" +"Константи надаються для символів розширення; ці константи є цілими числами, " +"більшими за 255. Наприклад, :const:`ACS_PLMINUS` — це символ +/-, а :const:" +"`ACS_ULCORNER` — верхній лівий кут прямокутника (зручно для малювання меж). " +"Ви також можете використовувати відповідний символ Unicode." + +msgid "" +"Windows remember where the cursor was left after the last operation, so if " +"you leave out the *y,x* coordinates, the string or character will be " +"displayed wherever the last operation left off. You can also move the " +"cursor with the ``move(y,x)`` method. Because some terminals always display " +"a flashing cursor, you may want to ensure that the cursor is positioned in " +"some location where it won't be distracting; it can be confusing to have the " +"cursor blinking at some apparently random location." +msgstr "" +"Windows запам’ятовує, де був залишений курсор після останньої операції, " +"тому, якщо ви пропустите координати *y,x*, рядок або символ " +"відображатиметься там, де зупинилася остання операція. Ви також можете " +"перемістити курсор за допомогою методу ``move(y,x)``. Оскільки деякі " +"термінали завжди відображають блимаючий курсор, ви можете переконатися, що " +"курсор розташований у певному місці, де він не буде відволікати; блимання " +"курсора в певному, начебто випадковому, місці може бути збентеженим." + +msgid "" +"If your application doesn't need a blinking cursor at all, you can call " +"``curs_set(False)`` to make it invisible. For compatibility with older " +"curses versions, there's a ``leaveok(bool)`` function that's a synonym for :" +"func:`~curses.curs_set`. When *bool* is true, the curses library will " +"attempt to suppress the flashing cursor, and you won't need to worry about " +"leaving it in odd locations." +msgstr "" +"Якщо вашій програмі зовсім не потрібен мерехтливий курсор, ви можете " +"викликати ``curs_set(False)``, щоб зробити його невидимим. Для сумісності зі " +"старішими версіями curses існує функція ``leaveok(bool)``, яка є синонімом :" +"func:`~curses.curs_set`. Якщо *bool* має значення true, бібліотека curses " +"намагатиметься придушити миготливий курсор, і вам не потрібно буде " +"турбуватися про те, щоб залишити його в незвичних місцях." + +msgid "Attributes and Color" +msgstr "Атрибути та колір" + +msgid "" +"Characters can be displayed in different ways. Status lines in a text-based " +"application are commonly shown in reverse video, or a text viewer may need " +"to highlight certain words. curses supports this by allowing you to specify " +"an attribute for each cell on the screen." +msgstr "" +"Символи можуть відображатися різними способами. Рядки стану в текстовій " +"програмі зазвичай відображаються у зворотному відео, або програмі перегляду " +"тексту може знадобитися виділити певні слова. curses підтримує це, " +"дозволяючи вам вказати атрибут для кожної клітинки на екрані." + +msgid "" +"An attribute is an integer, each bit representing a different attribute. " +"You can try to display text with multiple attribute bits set, but curses " +"doesn't guarantee that all the possible combinations are available, or that " +"they're all visually distinct. That depends on the ability of the terminal " +"being used, so it's safest to stick to the most commonly available " +"attributes, listed here." +msgstr "" +"Атрибут — це ціле число, кожен біт якого представляє окремий атрибут. Ви " +"можете спробувати відобразити текст з кількома встановленими бітами " +"атрибутів, але curses не гарантує, що всі можливі комбінації доступні, або " +"що всі вони візуально відрізняються. Це залежить від можливостей " +"використовуваного терміналу, тому найбезпечніше дотримуватися найпоширеніших " +"атрибутів, перелічених тут." + +msgid "Attribute" +msgstr "Атрибут" + +msgid ":const:`A_BLINK`" +msgstr ":const:`A_BLINK`" + +msgid "Blinking text" +msgstr "Миготливий текст" + +msgid ":const:`A_BOLD`" +msgstr ":const:`A_BOLD`" + +msgid "Extra bright or bold text" +msgstr "Дуже яскравий або жирний текст" + +msgid ":const:`A_DIM`" +msgstr ":const:`A_DIM`" + +msgid "Half bright text" +msgstr "Наполовину яскравий текст" + +msgid ":const:`A_REVERSE`" +msgstr ":const:`A_REVERSE`" + +msgid "Reverse-video text" +msgstr "Зворотний відеотекст" + +msgid ":const:`A_STANDOUT`" +msgstr ":const:`A_STANDOUT`" + +msgid "The best highlighting mode available" +msgstr "Найкращий доступний режим підсвічування" + +msgid ":const:`A_UNDERLINE`" +msgstr ":const:`A_UNDERLINE`" + +msgid "Underlined text" +msgstr "Підкреслений текст" + +msgid "" +"So, to display a reverse-video status line on the top line of the screen, " +"you could code::" +msgstr "" +"Отже, щоб відобразити рядок стану реверсивного відео у верхньому рядку " +"екрана, ви можете закодувати:" + +msgid "" +"The curses library also supports color on those terminals that provide it. " +"The most common such terminal is probably the Linux console, followed by " +"color xterms." +msgstr "" +"Бібліотека curses також підтримує колір на тих терміналах, які його надають. " +"Найпоширенішим таким терміналом, ймовірно, є консоль Linux, за якою слідують " +"кольорові xterms." + +msgid "" +"To use color, you must call the :func:`~curses.start_color` function soon " +"after calling :func:`~curses.initscr`, to initialize the default color set " +"(the :func:`curses.wrapper` function does this automatically). Once that's " +"done, the :func:`~curses.has_colors` function returns TRUE if the terminal " +"in use can actually display color. (Note: curses uses the American spelling " +"'color', instead of the Canadian/British spelling 'colour'. If you're used " +"to the British spelling, you'll have to resign yourself to misspelling it " +"for the sake of these functions.)" +msgstr "" +"Щоб використовувати колір, ви повинні викликати функцію :func:`~curses." +"start_color` відразу після виклику :func:`~curses.initscr`, щоб " +"ініціалізувати набір кольорів за замовчуванням (це робить функція :func:" +"`curses.wrapper` автоматично). Після цього функція :func:`~curses." +"has_colors` повертає TRUE, якщо термінал, що використовується, справді може " +"відображати колір. (Примітка: curses використовує американське написання " +"\"колір\" замість канадсько-британського написання \"колір\". Якщо ви звикли " +"до британського написання, вам доведеться змиритися з орфографічною помилкою " +"заради цих функцій. )" + +msgid "" +"The curses library maintains a finite number of color pairs, containing a " +"foreground (or text) color and a background color. You can get the " +"attribute value corresponding to a color pair with the :func:`~curses." +"color_pair` function; this can be bitwise-OR'ed with other attributes such " +"as :const:`A_REVERSE`, but again, such combinations are not guaranteed to " +"work on all terminals." +msgstr "" +"Бібліотека curses підтримує кінцеву кількість пар кольорів, що містять колір " +"переднього плану (або тексту) і колір фону. Ви можете отримати значення " +"атрибута, що відповідає парі кольорів, за допомогою функції :func:`~curses." +"color_pair`; це можна об’єднати порозрядним АБО з іншими атрибутами, такими " +"як :const:`A_REVERSE`, але знову ж таки, такі комбінації не гарантовано " +"працюють на всіх терміналах." + +msgid "An example, which displays a line of text using color pair 1::" +msgstr "Приклад, який відображає рядок тексту за допомогою пари кольорів 1::" + +msgid "" +"As I said before, a color pair consists of a foreground and background " +"color. The ``init_pair(n, f, b)`` function changes the definition of color " +"pair *n*, to foreground color f and background color b. Color pair 0 is " +"hard-wired to white on black, and cannot be changed." +msgstr "" +"Як я вже говорив раніше, пара кольорів складається з кольору переднього " +"плану та кольору фону. Функція ``init_pair(n, f, b)`` змінює визначення пари " +"кольорів *n* на колір переднього плану f і колір фону b. Пара кольорів 0 " +"жорстко з’єднана з білим на чорному, і її неможливо змінити." + +msgid "" +"Colors are numbered, and :func:`start_color` initializes 8 basic colors when " +"it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, 4:" +"blue, 5:magenta, 6:cyan, and 7:white. The :mod:`curses` module defines " +"named constants for each of these colors: :const:`curses.COLOR_BLACK`, :" +"const:`curses.COLOR_RED`, and so forth." +msgstr "" +"Кольори пронумеровані, і :func:`start_color` ініціалізує 8 основних " +"кольорів, коли він активує колірний режим. Це: 0:чорний, 1:червоний, 2:" +"зелений, 3:жовтий, 4:синій, 5:пурпурний, 6:блакитний і 7:білий. Модуль :mod:" +"`curses` визначає іменовані константи для кожного з цих кольорів: :const:" +"`curses.COLOR_BLACK`, :const:`curses.COLOR_RED` і так далі." + +msgid "" +"Let's put all this together. To change color 1 to red text on a white " +"background, you would call::" +msgstr "" +"Давайте все це разом. Щоб змінити колір 1 на червоний текст на білому фоні, " +"ви повинні викликати:" + +msgid "" +"When you change a color pair, any text already displayed using that color " +"pair will change to the new colors. You can also display new text in this " +"color with::" +msgstr "" +"Коли ви змінюєте пару кольорів, будь-який текст, який уже відображається за " +"допомогою цієї пари кольорів, зміниться на нові кольори. Ви також можете " +"відобразити новий текст у цьому кольорі за допомогою:" + +msgid "" +"Very fancy terminals can change the definitions of the actual colors to a " +"given RGB value. This lets you change color 1, which is usually red, to " +"purple or blue or any other color you like. Unfortunately, the Linux " +"console doesn't support this, so I'm unable to try it out, and can't provide " +"any examples. You can check if your terminal can do this by calling :func:" +"`~curses.can_change_color`, which returns ``True`` if the capability is " +"there. If you're lucky enough to have such a talented terminal, consult " +"your system's man pages for more information." +msgstr "" +"Дуже модні термінали можуть змінювати визначення фактичних кольорів на " +"задане значення RGB. Це дозволяє змінити колір 1, який зазвичай червоний, на " +"фіолетовий, синій або будь-який інший колір, який вам подобається. На жаль, " +"консоль Linux не підтримує це, тому я не можу випробувати це й не можу " +"надати жодних прикладів. Ви можете перевірити, чи ваш термінал може зробити " +"це, викликавши :func:`~curses.can_change_color`, який повертає ``True``, " +"якщо така можливість є. Якщо вам пощастило мати такий талановитий термінал, " +"зверніться до сторінок керівництва вашої системи для отримання додаткової " +"інформації." + +msgid "User Input" +msgstr "Введення користувача" + +msgid "" +"The C curses library offers only very simple input mechanisms. Python's :mod:" +"`curses` module adds a basic text-input widget. (Other libraries such as " +"`Urwid `_ have more extensive collections " +"of widgets.)" +msgstr "" +"Бібліотека C curses пропонує лише дуже прості механізми введення. Модуль " +"Python :mod:`curses` додає базовий віджет для введення тексту. (Інші " +"бібліотеки, такі як `Urwid `_ мають більші " +"колекції віджетів.)" + +msgid "There are two methods for getting input from a window:" +msgstr "Існує два способи отримання даних із вікна:" + +msgid "" +":meth:`~curses.window.getch` refreshes the screen and then waits for the " +"user to hit a key, displaying the key if :func:`~curses.echo` has been " +"called earlier. You can optionally specify a coordinate to which the cursor " +"should be moved before pausing." +msgstr "" +":meth:`~curses.window.getch` оновлює екран, а потім чекає, поки користувач " +"натисне клавішу, відображаючи клавішу, якщо :func:`~curses.echo` було " +"викликано раніше. Додатково можна вказати координату, до якої слід " +"перемістити курсор перед паузою." + +msgid "" +":meth:`~curses.window.getkey` does the same thing but converts the integer " +"to a string. Individual characters are returned as 1-character strings, and " +"special keys such as function keys return longer strings containing a key " +"name such as ``KEY_UP`` or ``^G``." +msgstr "" +":meth:`~curses.window.getkey` робить те саме, але перетворює ціле число на " +"рядок. Окремі символи повертаються як рядки з 1 символу, а спеціальні " +"клавіші, такі як функціональні клавіші, повертають довші рядки, що містять " +"ім’я ключа, наприклад ``KEY_UP`` або ``^G``." + +msgid "" +"It's possible to not wait for the user using the :meth:`~curses.window." +"nodelay` window method. After ``nodelay(True)``, :meth:`getch` and :meth:" +"`getkey` for the window become non-blocking. To signal that no input is " +"ready, :meth:`getch` returns ``curses.ERR`` (a value of -1) and :meth:" +"`getkey` raises an exception. There's also a :func:`~curses.halfdelay` " +"function, which can be used to (in effect) set a timer on each :meth:" +"`getch`; if no input becomes available within a specified delay (measured in " +"tenths of a second), curses raises an exception." +msgstr "" +"Можна не чекати користувача за допомогою віконного методу :meth:`~curses." +"window.nodelay`. Після ``nodelay(True)`` :meth:`getch` і :meth:`getkey` для " +"вікна стають неблокуючими. Щоб повідомити, що введення не готове, :meth:" +"`getch` повертає ``curses.ERR`` (значення -1), а :meth:`getkey` викликає " +"виняткову ситуацію. Існує також функція :func:`~curses.halfdelay`, яка може " +"бути використана для (фактично) встановлення таймера для кожного :meth:" +"`getch`; якщо введення не стає доступним протягом зазначеної затримки " +"(вимірюється десятими частками секунди), curses викликає виняток." + +msgid "" +"The :meth:`getch` method returns an integer; if it's between 0 and 255, it " +"represents the ASCII code of the key pressed. Values greater than 255 are " +"special keys such as Page Up, Home, or the cursor keys. You can compare the " +"value returned to constants such as :const:`curses.KEY_PPAGE`, :const:" +"`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of your " +"program may look something like this::" +msgstr "" +"Метод :meth:`getch` повертає ціле число; якщо він між 0 і 255, він " +"представляє код ASCII натиснутої клавіші. Значення більше 255 — це " +"спеціальні клавіші, наприклад Page Up, Home або клавіші керування курсором. " +"Ви можете порівняти значення, що повертаються до таких констант, як :const:" +"`curses.KEY_PPAGE`, :const:`curses.KEY_HOME` або :const:`curses.KEY_LEFT`. " +"Основний цикл вашої програми може виглядати приблизно так:" + +msgid "" +"The :mod:`curses.ascii` module supplies ASCII class membership functions " +"that take either integer or 1-character string arguments; these may be " +"useful in writing more readable tests for such loops. It also supplies " +"conversion functions that take either integer or 1-character-string " +"arguments and return the same type. For example, :func:`curses.ascii.ctrl` " +"returns the control character corresponding to its argument." +msgstr "" +"Модуль :mod:`curses.ascii` надає функції приналежності до класу ASCII, які " +"приймають цілі або односимвольні рядкові аргументи; вони можуть бути " +"корисними для написання більш читабельних тестів для таких циклів. Він також " +"надає функції перетворення, які приймають цілі або односимвольні аргументи " +"та повертають той самий тип. Наприклад, :func:`curses.ascii.ctrl` повертає " +"керуючий символ, що відповідає його аргументу." + +msgid "" +"There's also a method to retrieve an entire string, :meth:`~curses.window." +"getstr`. It isn't used very often, because its functionality is quite " +"limited; the only editing keys available are the backspace key and the Enter " +"key, which terminates the string. It can optionally be limited to a fixed " +"number of characters. ::" +msgstr "" +"Існує також метод для отримання цілого рядка, :meth:`~curses.window.getstr`. " +"Використовується не дуже часто, оскільки його функціональність досить " +"обмежена; єдиними доступними клавішами редагування є клавіша повернення та " +"клавіша Enter, яка завершує рядок. За бажанням його можна обмежити " +"фіксованою кількістю символів. ::" + +msgid "" +"The :mod:`curses.textpad` module supplies a text box that supports an Emacs-" +"like set of keybindings. Various methods of the :class:`~curses.textpad." +"Textbox` class support editing with input validation and gathering the edit " +"results either with or without trailing spaces. Here's an example::" +msgstr "" +"Модуль :mod:`curses.textpad` надає текстове поле, яке підтримує Emacs-" +"подібний набір сполучень клавіш. Різні методи класу :class:`~curses.textpad." +"Textbox` підтримують редагування з перевіркою введених даних і збиранням " +"результатів редагування з пробілами в кінці або без них. Ось приклад::" + +msgid "" +"See the library documentation on :mod:`curses.textpad` for more details." +msgstr "" +"Перегляньте документацію бібліотеки на :mod:`curses.textpad` для отримання " +"додаткової інформації." + +msgid "For More Information" +msgstr "Для отримання додаткової інформації" + +msgid "" +"This HOWTO doesn't cover some advanced topics, such as reading the contents " +"of the screen or capturing mouse events from an xterm instance, but the " +"Python library page for the :mod:`curses` module is now reasonably " +"complete. You should browse it next." +msgstr "" +"Цей HOWTO не охоплює деякі складні теми, такі як читання вмісту екрана чи " +"захоплення подій миші з екземпляра xterm, але сторінка бібліотеки Python для " +"модуля :mod:`curses` тепер досить повна. Ви повинні переглянути його далі." + +msgid "" +"If you're in doubt about the detailed behavior of the curses functions, " +"consult the manual pages for your curses implementation, whether it's " +"ncurses or a proprietary Unix vendor's. The manual pages will document any " +"quirks, and provide complete lists of all the functions, attributes, and :" +"const:`ACS_\\*` characters available to you." +msgstr "" +"Якщо ви сумніваєтеся щодо детальної поведінки функцій curses, зверніться до " +"сторінок посібника для вашої реалізації curses, незалежно від того, чи це " +"ncurses, чи власність постачальника Unix. Сторінки посібника задокументують " +"будь-які особливості та нададуть повний список усіх доступних вам функцій, " +"атрибутів і символів :const:`ACS_\\*`." + +msgid "" +"Because the curses API is so large, some functions aren't supported in the " +"Python interface. Often this isn't because they're difficult to implement, " +"but because no one has needed them yet. Also, Python doesn't yet support " +"the menu library associated with ncurses. Patches adding support for these " +"would be welcome; see `the Python Developer's Guide `_ to learn more about submitting patches to Python." +msgstr "" +"Оскільки API curses дуже великий, деякі функції не підтримуються в " +"інтерфейсі Python. Часто це відбувається не тому, що їх важко реалізувати, а " +"тому, що вони ще нікому не потрібні. Крім того, Python ще не підтримує " +"бібліотеку меню, пов’язану з ncurses. Латки, що додають підтримку для них, " +"будуть вітатися; див. `Посібник розробника Python `_, щоб дізнатися більше про надсилання виправлень у Python." + +msgid "" +"`Writing Programs with NCURSES `_: a lengthy tutorial for C programmers." +msgstr "" + +msgid "`The ncurses man page `_" +msgstr "`Довідкова сторінка ncurses `_" + +msgid "" +"`The ncurses FAQ `_" +msgstr "" + +msgid "" +"`\"Use curses... don't swear\" `_: video of a PyCon 2013 talk on controlling terminals using " +"curses or Urwid." +msgstr "" +"`\"Використовуйте прокляття... не лайтеся\" `_: відео розмови на PyCon 2013 про керування терміналами за " +"допомогою проклять або Urwid." + +msgid "" +"`\"Console Applications with Urwid\" `_: video of a PyCon CA 2012 talk demonstrating some " +"applications written using Urwid." +msgstr "" diff --git a/howto/descriptor.po b/howto/descriptor.po new file mode 100644 index 000000000..adbd4b2de --- /dev/null +++ b/howto/descriptor.po @@ -0,0 +1,1207 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Descriptor HowTo Guide" +msgstr "Дескриптор Інструкції" + +msgid "Author" +msgstr "Автор" + +msgid "Raymond Hettinger" +msgstr "Raymond Hettinger" + +msgid "Contact" +msgstr "контакт" + +msgid "" +msgstr " " + +msgid "Contents" +msgstr "Зміст" + +msgid "" +":term:`Descriptors ` let objects customize attribute lookup, " +"storage, and deletion." +msgstr "" +":term:`Дескриптори ` дозволяють об’єктам налаштовувати пошук " +"атрибутів, зберігання та видалення." + +msgid "This guide has four major sections:" +msgstr "Цей посібник складається з чотирьох основних розділів:" + +msgid "" +"The \"primer\" gives a basic overview, moving gently from simple examples, " +"adding one feature at a time. Start here if you're new to descriptors." +msgstr "" +"\"Буквар\" дає базовий огляд, обережно переходячи від простих прикладів, " +"додаючи одну функцію за раз. Почніть тут, якщо ви новачок у дескрипторах." + +msgid "" +"The second section shows a complete, practical descriptor example. If you " +"already know the basics, start there." +msgstr "" +"Другий розділ показує повний, практичний приклад дескриптора. Якщо ви вже " +"знаєте основи, почніть з цього." + +msgid "" +"The third section provides a more technical tutorial that goes into the " +"detailed mechanics of how descriptors work. Most people don't need this " +"level of detail." +msgstr "" +"Третій розділ містить більш технічний підручник, який детально описує " +"механізм роботи дескрипторів. Більшості людей не потрібен такий рівень " +"деталізації." + +msgid "" +"The last section has pure Python equivalents for built-in descriptors that " +"are written in C. Read this if you're curious about how functions turn into " +"bound methods or about the implementation of common tools like :func:" +"`classmethod`, :func:`staticmethod`, :func:`property`, and :term:`__slots__`." +msgstr "" +"Останній розділ містить чисті еквіваленти Python для вбудованих " +"дескрипторів, написаних мовою C. Прочитайте це, якщо вам цікаво, як функції " +"перетворюються на зв’язані методи, або про реалізацію звичайних " +"інструментів, таких як :func:`classmethod`, :func:`staticmethod`, :func:" +"`property` і :term:`__slots__`." + +msgid "Primer" +msgstr "Буквар" + +msgid "" +"In this primer, we start with the most basic possible example and then we'll " +"add new capabilities one by one." +msgstr "" +"У цьому посібнику ми починаємо з найпростішого можливого прикладу, а потім " +"будемо додавати нові можливості одну за одною." + +msgid "Simple example: A descriptor that returns a constant" +msgstr "Простий приклад: дескриптор, який повертає константу" + +msgid "" +"The :class:`Ten` class is a descriptor whose :meth:`__get__` method always " +"returns the constant ``10``:" +msgstr "" +"Клас :class:`Ten` — це дескриптор, чий метод :meth:`__get__` завжди повертає " +"константу ``10``:" + +msgid "" +"To use the descriptor, it must be stored as a class variable in another " +"class:" +msgstr "" +"Щоб використовувати дескриптор, його потрібно зберегти як змінну класу в " +"іншому класі:" + +msgid "" +"An interactive session shows the difference between normal attribute lookup " +"and descriptor lookup:" +msgstr "" +"Інтерактивний сеанс показує різницю між звичайним пошуком атрибута та " +"пошуком дескриптора:" + +msgid "" +"In the ``a.x`` attribute lookup, the dot operator finds ``'x': 5`` in the " +"class dictionary. In the ``a.y`` lookup, the dot operator finds a " +"descriptor instance, recognized by its ``__get__`` method. Calling that " +"method returns ``10``." +msgstr "" +"Під час пошуку атрибутів ``a.x`` оператор крапки знаходить ``'x': 5`` у " +"словнику класу. Під час пошуку ``a.y`` оператор точки знаходить екземпляр " +"дескриптора, розпізнаний його методом ``__get__``. Виклик цього методу " +"повертає ``10``." + +msgid "" +"Note that the value ``10`` is not stored in either the class dictionary or " +"the instance dictionary. Instead, the value ``10`` is computed on demand." +msgstr "" +"Зверніть увагу, що значення ``10`` не зберігається ні в словнику класу, ні в " +"словнику екземпляра. Натомість значення ``10`` обчислюється на вимогу." + +msgid "" +"This example shows how a simple descriptor works, but it isn't very useful. " +"For retrieving constants, normal attribute lookup would be better." +msgstr "" +"Цей приклад показує, як працює простий дескриптор, але він не дуже корисний. " +"Для отримання констант кращим буде звичайний пошук атрибутів." + +msgid "" +"In the next section, we'll create something more useful, a dynamic lookup." +msgstr "У наступному розділі ми створимо щось більш корисне, динамічний пошук." + +msgid "Dynamic lookups" +msgstr "Динамічні пошуки" + +msgid "" +"Interesting descriptors typically run computations instead of returning " +"constants:" +msgstr "" +"Цікаві дескриптори зазвичай запускають обчислення замість повернення " +"констант:" + +msgid "" +"An interactive session shows that the lookup is dynamic — it computes " +"different, updated answers each time::" +msgstr "" +"Інтерактивний сеанс показує, що пошук є динамічним — він щоразу обчислює " +"різні оновлені відповіді:" + +msgid "" +"Besides showing how descriptors can run computations, this example also " +"reveals the purpose of the parameters to :meth:`__get__`. The *self* " +"parameter is *size*, an instance of *DirectorySize*. The *obj* parameter is " +"either *g* or *s*, an instance of *Directory*. It is the *obj* parameter " +"that lets the :meth:`__get__` method learn the target directory. The " +"*objtype* parameter is the class *Directory*." +msgstr "" +"Крім показу того, як дескриптори можуть запускати обчислення, цей приклад " +"також показує призначення параметрів для :meth:`__get__`. Параметр *self* — " +"це *size*, екземпляр *DirectorySize*. Параметр *obj* — це або *g*, або *s*, " +"екземпляр *Directory*. Саме параметр *obj* дозволяє методу :meth:`__get__` " +"вивчати цільовий каталог. Параметр *objtype* є класом *Directory*." + +msgid "Managed attributes" +msgstr "Керовані атрибути" + +msgid "" +"A popular use for descriptors is managing access to instance data. The " +"descriptor is assigned to a public attribute in the class dictionary while " +"the actual data is stored as a private attribute in the instance " +"dictionary. The descriptor's :meth:`__get__` and :meth:`__set__` methods " +"are triggered when the public attribute is accessed." +msgstr "" +"Популярним використанням дескрипторів є керування доступом до даних " +"екземплярів. Дескриптор призначається публічному атрибуту в словнику класу, " +"а фактичні дані зберігаються як приватний атрибут у словнику екземпляра. " +"Методи дескриптора :meth:`__get__` і :meth:`__set__` запускаються під час " +"доступу до публічного атрибута." + +msgid "" +"In the following example, *age* is the public attribute and *_age* is the " +"private attribute. When the public attribute is accessed, the descriptor " +"logs the lookup or update:" +msgstr "" +"У наступному прикладі *age* є публічним атрибутом, а *_age* є приватним. " +"Коли здійснюється доступ до публічного атрибута, дескриптор реєструє пошук " +"або оновлення:" + +msgid "" +"An interactive session shows that all access to the managed attribute *age* " +"is logged, but that the regular attribute *name* is not logged:" +msgstr "" +"Інтерактивний сеанс показує, що весь доступ до керованого атрибута *age* " +"реєструється, але звичайний атрибут *name* не реєструється:" + +msgid "" +"One major issue with this example is that the private name *_age* is " +"hardwired in the *LoggedAgeAccess* class. That means that each instance can " +"only have one logged attribute and that its name is unchangeable. In the " +"next example, we'll fix that problem." +msgstr "" +"Однією з основних проблем у цьому прикладі є те, що приватне ім’я *_age* " +"закріплено в класі *LoggedAgeAccess*. Це означає, що кожен екземпляр може " +"мати лише один зареєстрований атрибут і що його ім’я не змінюється. У " +"наступному прикладі ми вирішимо цю проблему." + +msgid "Customized names" +msgstr "Індивідуальні імена" + +msgid "" +"When a class uses descriptors, it can inform each descriptor about which " +"variable name was used." +msgstr "" +"Коли клас використовує дескриптори, він може інформувати кожен дескриптор " +"про те, яке ім'я змінної було використано." + +msgid "" +"In this example, the :class:`Person` class has two descriptor instances, " +"*name* and *age*. When the :class:`Person` class is defined, it makes a " +"callback to :meth:`__set_name__` in *LoggedAccess* so that the field names " +"can be recorded, giving each descriptor its own *public_name* and " +"*private_name*:" +msgstr "" +"У цьому прикладі клас :class:`Person` має два екземпляри дескриптора, *name* " +"і *age*. Коли визначено клас :class:`Person`, він здійснює зворотний виклик " +"до :meth:`__set_name__` у *LoggedAccess*, щоб можна було записати назви " +"полів, надаючи кожному дескриптору власні *public_name* і *private_name*:" + +msgid "" +"An interactive session shows that the :class:`Person` class has called :meth:" +"`__set_name__` so that the field names would be recorded. Here we call :" +"func:`vars` to look up the descriptor without triggering it:" +msgstr "" +"Інтерактивний сеанс показує, що клас :class:`Person` викликав :meth:" +"`__set_name__`, щоб назви полів були записані. Тут ми викликаємо :func:" +"`vars` для пошуку дескриптора без його запуску:" + +msgid "The new class now logs access to both *name* and *age*:" +msgstr "Новий клас тепер реєструє доступ як до *ім’я*, так і до *віку*:" + +msgid "The two *Person* instances contain only the private names:" +msgstr "Два екземпляри *Person* містять лише приватні імена:" + +msgid "Closing thoughts" +msgstr "Закриття думок" + +msgid "" +"A :term:`descriptor` is what we call any object that defines :meth:" +"`__get__`, :meth:`__set__`, or :meth:`__delete__`." +msgstr "" +":term:`descriptor` — це те, що ми називаємо будь-яким об’єктом, який " +"визначає :meth:`__get__`, :meth:`__set__` або :meth:`__delete__`." + +msgid "" +"Optionally, descriptors can have a :meth:`__set_name__` method. This is " +"only used in cases where a descriptor needs to know either the class where " +"it was created or the name of class variable it was assigned to. (This " +"method, if present, is called even if the class is not a descriptor.)" +msgstr "" +"Додатково дескриптори можуть мати метод :meth:`__set_name__`. Це " +"використовується лише у випадках, коли дескриптору потрібно знати або клас, " +"у якому він був створений, або назву змінної класу, якій він був " +"призначений. (Цей метод, якщо він присутній, викликається, навіть якщо клас " +"не є дескриптором.)" + +msgid "" +"Descriptors get invoked by the dot operator during attribute lookup. If a " +"descriptor is accessed indirectly with ``vars(some_class)" +"[descriptor_name]``, the descriptor instance is returned without invoking it." +msgstr "" +"Дескриптори викликаються оператором крапки під час пошуку атрибутів. Якщо до " +"дескриптора звертаються опосередковано за допомогою ``vars(some_class)" +"[descriptor_name]``, екземпляр дескриптора повертається без його виклику." + +msgid "" +"Descriptors only work when used as class variables. When put in instances, " +"they have no effect." +msgstr "" +"Дескриптори працюють лише тоді, коли використовуються як змінні класу. Якщо " +"їх поставити в інстанції, вони не мають ефекту." + +msgid "" +"The main motivation for descriptors is to provide a hook allowing objects " +"stored in class variables to control what happens during attribute lookup." +msgstr "" +"Основна мотивація для дескрипторів полягає в тому, щоб надати гачок, який " +"дозволяє об’єктам, що зберігаються у змінних класу, контролювати те, що " +"відбувається під час пошуку атрибутів." + +msgid "" +"Traditionally, the calling class controls what happens during lookup. " +"Descriptors invert that relationship and allow the data being looked-up to " +"have a say in the matter." +msgstr "" +"Традиційно викликаючий клас контролює те, що відбувається під час пошуку. " +"Дескриптори інвертують цей зв’язок і дозволяють шуканим даним мати право " +"голосу в цьому питанні." + +msgid "" +"Descriptors are used throughout the language. It is how functions turn into " +"bound methods. Common tools like :func:`classmethod`, :func:" +"`staticmethod`, :func:`property`, and :func:`functools.cached_property` are " +"all implemented as descriptors." +msgstr "" +"Дескриптори використовуються в усій мові. Саме так функції перетворюються на " +"зв’язані методи. Загальні інструменти, такі як :func:`classmethod`, :func:" +"`staticmethod`, :func:`property` і :func:`functools.cached_property`, усі " +"реалізовані як дескриптори." + +msgid "Complete Practical Example" +msgstr "Повний практичний приклад" + +msgid "" +"In this example, we create a practical and powerful tool for locating " +"notoriously hard to find data corruption bugs." +msgstr "" +"У цьому прикладі ми створюємо практичний і потужний інструмент для виявлення " +"помилок пошкодження даних, які, як відомо, важко знайти." + +msgid "Validator class" +msgstr "Клас валідатора" + +msgid "" +"A validator is a descriptor for managed attribute access. Prior to storing " +"any data, it verifies that the new value meets various type and range " +"restrictions. If those restrictions aren't met, it raises an exception to " +"prevent data corruption at its source." +msgstr "" +"Валідатор — це дескриптор керованого доступу до атрибутів. Перш ніж " +"зберігати будь-які дані, він перевіряє, чи нове значення відповідає різним " +"обмеженням типу та діапазону. Якщо ці обмеження не виконуються, створюється " +"виняток, щоб запобігти пошкодженню даних у їх джерелі." + +msgid "" +"This :class:`Validator` class is both an :term:`abstract base class` and a " +"managed attribute descriptor:" +msgstr "" +"Цей клас :class:`Validator` є водночас :term:`abstract base class` і " +"дескриптором керованих атрибутів:" + +msgid "" +"Custom validators need to inherit from :class:`Validator` and must supply a :" +"meth:`validate` method to test various restrictions as needed." +msgstr "" +"Спеціальні валідатори повинні успадкувати :class:`Validator` і надати метод :" +"meth:`validate` для перевірки різноманітних обмежень за потреби." + +msgid "Custom validators" +msgstr "Спеціальні валідатори" + +msgid "Here are three practical data validation utilities:" +msgstr "Ось три практичні утиліти перевірки даних:" + +msgid "" +":class:`OneOf` verifies that a value is one of a restricted set of options." +msgstr "" +":class:`OneOf` перевіряє, чи значення є одним із обмеженого набору " +"параметрів." + +msgid "" +":class:`Number` verifies that a value is either an :class:`int` or :class:" +"`float`. Optionally, it verifies that a value is between a given minimum or " +"maximum." +msgstr "" +":class:`Number` перевіряє, чи значення є або :class:`int`, або :class:" +"`float`. За бажанням він перевіряє, чи значення знаходиться між заданим " +"мінімумом або максимумом." + +msgid "" +":class:`String` verifies that a value is a :class:`str`. Optionally, it " +"validates a given minimum or maximum length. It can validate a user-defined " +"`predicate `_ " +"as well." +msgstr "" +":class:`String` перевіряє, що значення є :class:`str`. За бажанням він " +"перевіряє задану мінімальну або максимальну довжину. Він також може " +"перевірити визначений користувачем `предикат `_." + +msgid "Practical application" +msgstr "Практичне застосування" + +msgid "Here's how the data validators can be used in a real class:" +msgstr "Ось як валідатори даних можна використовувати в реальному класі:" + +msgid "The descriptors prevent invalid instances from being created:" +msgstr "Дескриптори запобігають створенню недійсних екземплярів:" + +msgid "Technical Tutorial" +msgstr "Технічний підручник" + +msgid "" +"What follows is a more technical tutorial for the mechanics and details of " +"how descriptors work." +msgstr "" +"Далі є більш технічний підручник для механіки та деталей роботи дескрипторів." + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"Defines descriptors, summarizes the protocol, and shows how descriptors are " +"called. Provides an example showing how object relational mappings work." +msgstr "" +"Визначає дескриптори, підсумовує протокол і показує, як викликаються " +"дескриптори. Надає приклад, який показує, як працюють об’єктно-реляційні " +"відображення." + +msgid "" +"Learning about descriptors not only provides access to a larger toolset, it " +"creates a deeper understanding of how Python works." +msgstr "" +"Вивчення дескрипторів не тільки забезпечує доступ до більшого набору " +"інструментів, це створює глибше розуміння того, як працює Python." + +msgid "Definition and introduction" +msgstr "Визначення та вступ" + +msgid "" +"In general, a descriptor is an attribute value that has one of the methods " +"in the descriptor protocol. Those methods are :meth:`__get__`, :meth:" +"`__set__`, and :meth:`__delete__`. If any of those methods are defined for " +"an attribute, it is said to be a :term:`descriptor`." +msgstr "" +"Загалом, дескриптор — це значення атрибута, яке має один із методів у " +"протоколі дескриптора. Ці методи: :meth:`__get__`, :meth:`__set__` і :meth:" +"`__delete__`. Якщо будь-який із цих методів визначено для атрибута, він " +"називається :term:`descriptor`." + +msgid "" +"The default behavior for attribute access is to get, set, or delete the " +"attribute from an object's dictionary. For instance, ``a.x`` has a lookup " +"chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and " +"continuing through the method resolution order of ``type(a)``. If the looked-" +"up value is an object defining one of the descriptor methods, then Python " +"may override the default behavior and invoke the descriptor method instead. " +"Where this occurs in the precedence chain depends on which descriptor " +"methods were defined." +msgstr "" +"Поведінка за умовчанням для доступу до атрибутів полягає в отриманні, " +"установці або видаленні атрибута зі словника об’єкта. Наприклад, ``a.x`` має " +"ланцюжок пошуку, починаючи з ``a.__dict__['x']``, потім ``type(a)." +"__dict__['x']`` і продовжуючи через дозвіл методу порядок ``type(a)``. Якщо " +"шукане значення є об’єктом, що визначає один із методів дескриптора, тоді " +"Python може замінити поведінку за замовчуванням і замість цього викликати " +"метод дескриптора. Де це відбувається в ланцюжку пріоритетів, залежить від " +"того, які методи дескриптора були визначені." + +msgid "" +"Descriptors are a powerful, general purpose protocol. They are the " +"mechanism behind properties, methods, static methods, class methods, and :" +"func:`super()`. They are used throughout Python itself. Descriptors " +"simplify the underlying C code and offer a flexible set of new tools for " +"everyday Python programs." +msgstr "" +"Дескриптори — це потужний протокол загального призначення. Вони є " +"механізмом, що стоїть за властивостями, методами, статичними методами, " +"методами класу та :func:`super()`. Вони використовуються в самому Python. " +"Дескриптори спрощують базовий код C і пропонують гнучкий набір нових " +"інструментів для щоденних програм Python." + +msgid "Descriptor protocol" +msgstr "Дескрипторний протокол" + +msgid "``descr.__get__(self, obj, type=None) -> value``" +msgstr "``descr.__get__(self, obj, type=None) -> значення``" + +msgid "``descr.__set__(self, obj, value) -> None``" +msgstr "``descr.__set__(self, obj, value) -> None``" + +msgid "``descr.__delete__(self, obj) -> None``" +msgstr "``descr.__delete__(self, obj) -> None``" + +msgid "" +"That is all there is to it. Define any of these methods and an object is " +"considered a descriptor and can override default behavior upon being looked " +"up as an attribute." +msgstr "" +"Це все. Визначте будь-який із цих методів, і об’єкт вважатиметься " +"дескриптором і зможе замінити поведінку за замовчуванням, якщо його шукати " +"як атрибут." + +msgid "" +"If an object defines :meth:`__set__` or :meth:`__delete__`, it is considered " +"a data descriptor. Descriptors that only define :meth:`__get__` are called " +"non-data descriptors (they are often used for methods but other uses are " +"possible)." +msgstr "" +"Якщо об’єкт визначає :meth:`__set__` або :meth:`__delete__`, він вважається " +"дескриптором даних. Дескриптори, які визначають лише :meth:`__get__`, " +"називаються дескрипторами не даних (вони часто використовуються для методів, " +"але можливі й інші способи використання)." + +msgid "" +"Data and non-data descriptors differ in how overrides are calculated with " +"respect to entries in an instance's dictionary. If an instance's dictionary " +"has an entry with the same name as a data descriptor, the data descriptor " +"takes precedence. If an instance's dictionary has an entry with the same " +"name as a non-data descriptor, the dictionary entry takes precedence." +msgstr "" +"Дескриптори даних і не даних відрізняються тим, як обчислюються " +"перевизначення щодо записів у словнику екземпляра. Якщо в словнику " +"екземпляра є запис із таким самим іменем, як і дескриптор даних, дескриптор " +"даних має пріоритет. Якщо в словнику екземпляра є запис із таким же ім’ям, " +"що й дескриптор, що не є даними, пріоритет має словниковий запис." + +msgid "" +"To make a read-only data descriptor, define both :meth:`__get__` and :meth:" +"`__set__` with the :meth:`__set__` raising an :exc:`AttributeError` when " +"called. Defining the :meth:`__set__` method with an exception raising " +"placeholder is enough to make it a data descriptor." +msgstr "" +"Щоб створити дескриптор даних лише для читання, визначте :meth:`__get__` і :" +"meth:`__set__` з :meth:`__set__`, що викликає :exc:`AttributeError` під час " +"виклику. Щоб зробити його дескриптором даних, достатньо визначити метод :" +"meth:`__set__` із заповнювачем, що викликає винятки." + +msgid "Overview of descriptor invocation" +msgstr "Огляд виклику дескриптора" + +msgid "" +"A descriptor can be called directly with ``desc.__get__(obj)`` or ``desc." +"__get__(None, cls)``." +msgstr "" +"Дескриптор можна викликати безпосередньо за допомогою ``desc.__get__(obj)`` " +"або ``desc.__get__(None, cls)``." + +msgid "" +"But it is more common for a descriptor to be invoked automatically from " +"attribute access." +msgstr "" +"Але частіше дескриптор викликається автоматично з доступу до атрибутів." + +msgid "" +"The expression ``obj.x`` looks up the attribute ``x`` in the chain of " +"namespaces for ``obj``. If the search finds a descriptor outside of the " +"instance ``__dict__``, its :meth:`__get__` method is invoked according to " +"the precedence rules listed below." +msgstr "" +"Вираз ``obj.x`` шукає атрибут ``x`` у ланцюжку просторів імен для ``obj``. " +"Якщо пошук знаходить дескриптор за межами екземпляра ``__dict__``, його " +"метод :meth:`__get__` викликається згідно з правилами пріоритету, наведеними " +"нижче." + +msgid "" +"The details of invocation depend on whether ``obj`` is an object, class, or " +"instance of super." +msgstr "" +"Деталі виклику залежать від того, чи є ``obj`` об'єктом, класом або " +"екземпляром super." + +msgid "Invocation from an instance" +msgstr "Виклик із екземпляра" + +msgid "" +"Instance lookup scans through a chain of namespaces giving data descriptors " +"the highest priority, followed by instance variables, then non-data " +"descriptors, then class variables, and lastly :meth:`__getattr__` if it is " +"provided." +msgstr "" +"Пошук екземплярів сканує ланцюжок просторів імен, надаючи найвищий пріоритет " +"дескрипторам даних, потім змінним екземплярів, потім дескрипторам, що не є " +"даними, потім змінним класу, і нарешті :meth:`__getattr__`, якщо він " +"надається." + +msgid "" +"If a descriptor is found for ``a.x``, then it is invoked with: ``desc." +"__get__(a, type(a))``." +msgstr "" +"Якщо для ``a.x`` знайдено дескриптор, він викликається за допомогою: ``desc." +"__get__(a, type(a))``." + +msgid "" +"The logic for a dotted lookup is in :meth:`object.__getattribute__`. Here " +"is a pure Python equivalent:" +msgstr "" +"Логіка пошуку з пунктиром міститься в :meth:`object.__getattribute__`. Ось " +"чистий еквівалент Python:" + +msgid "" +"Note, there is no :meth:`__getattr__` hook in the :meth:`__getattribute__` " +"code. That is why calling :meth:`__getattribute__` directly or with " +"``super().__getattribute__`` will bypass :meth:`__getattr__` entirely." +msgstr "" +"Зауважте, що в коді :meth:`__getattribute__` немає хука :meth:`__getattr__`. " +"Ось чому виклик :meth:`__getattribute__` безпосередньо або за допомогою " +"``super().__getattribute__`` повністю обійде :meth:`__getattr__`." + +msgid "" +"Instead, it is the dot operator and the :func:`getattr` function that are " +"responsible for invoking :meth:`__getattr__` whenever :meth:" +"`__getattribute__` raises an :exc:`AttributeError`. Their logic is " +"encapsulated in a helper function:" +msgstr "" +"Натомість це оператор крапки та функція :func:`getattr`, які відповідають за " +"виклик :meth:`__getattr__` щоразу, коли :meth:`__getattribute__` викликає :" +"exc:`AttributeError`. Їхня логіка інкапсульована в допоміжній функції:" + +msgid "Invocation from a class" +msgstr "Виклик із класу" + +msgid "" +"The logic for a dotted lookup such as ``A.x`` is in :meth:`type." +"__getattribute__`. The steps are similar to those for :meth:`object." +"__getattribute__` but the instance dictionary lookup is replaced by a search " +"through the class's :term:`method resolution order`." +msgstr "" +"Логіка пошуку з пунктиром, наприклад ``A.x``, знаходиться в :meth:`type." +"__getattribute__`. Кроки подібні до кроків для :meth:`object." +"__getattribute__`, але пошук у словнику екземпляра замінюється пошуком у :" +"term:`method resolution order` класу." + +msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." +msgstr "" +"Якщо дескриптор знайдено, він викликається за допомогою ``desc.__get__(None, " +"A)``." + +msgid "" +"The full C implementation can be found in :c:func:`type_getattro()` and :c:" +"func:`_PyType_Lookup()` in :source:`Objects/typeobject.c`." +msgstr "" +"Повну реалізацію C можна знайти в :c:func:`type_getattro()` і :c:func:" +"`_PyType_Lookup()` у :source:`Objects/typeobject.c`." + +msgid "Invocation from super" +msgstr "Заклик від супер" + +msgid "" +"The logic for super's dotted lookup is in the :meth:`__getattribute__` " +"method for object returned by :class:`super()`." +msgstr "" +"Логіка пошуку з пунктиром super полягає в методі :meth:`__getattribute__` " +"для об’єкта, який повертає :class:`super()`." + +msgid "" +"A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__." +"__mro__`` for the base class ``B`` immediately following ``A`` and then " +"returns ``B.__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is " +"returned unchanged." +msgstr "" +"Пошук із пунктиром, наприклад ``super(A, obj).m``, шукає ``obj.__class__." +"__mro__`` для базового класу ``B`` відразу після ``A``, а потім повертає ``B" +"\". __dict__['m'].__get__(obj, A)``. Якщо не є дескриптором, ``m`` " +"повертається без змін." + +msgid "" +"The full C implementation can be found in :c:func:`super_getattro()` in :" +"source:`Objects/typeobject.c`. A pure Python equivalent can be found in " +"`Guido's Tutorial `_." +msgstr "" +"Повну реалізацію C можна знайти в :c:func:`super_getattro()` в :source:" +"`Objects/typeobject.c`. Чистий еквівалент Python можна знайти в `Посібнику " +"Guido `_." + +msgid "Summary of invocation logic" +msgstr "Короткий опис логіки виклику" + +msgid "" +"The mechanism for descriptors is embedded in the :meth:`__getattribute__()` " +"methods for :class:`object`, :class:`type`, and :func:`super`." +msgstr "" +"Механізм для дескрипторів вбудовано в методи :meth:`__getattribute__()` для :" +"class:`object`, :class:`type` і :func:`super`." + +msgid "The important points to remember are:" +msgstr "Важливо пам’ятати:" + +msgid "Descriptors are invoked by the :meth:`__getattribute__` method." +msgstr "Дескриптори викликаються методом :meth:`__getattribute__`." + +msgid "" +"Classes inherit this machinery from :class:`object`, :class:`type`, or :func:" +"`super`." +msgstr "" +"Класи успадковують цей механізм від :class:`object`, :class:`type` або :func:" +"`super`." + +msgid "" +"Overriding :meth:`__getattribute__` prevents automatic descriptor calls " +"because all the descriptor logic is in that method." +msgstr "" +"Перевизначення :meth:`__getattribute__` запобігає автоматичним викликам " +"дескриптора, оскільки вся логіка дескриптора міститься в цьому методі." + +msgid "" +":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " +"different calls to :meth:`__get__`. The first includes the instance and may " +"include the class. The second puts in ``None`` for the instance and always " +"includes the class." +msgstr "" +":meth:`object.__getattribute__` і :meth:`type.__getattribute__` здійснюють " +"різні виклики :meth:`__get__`. Перший включає екземпляр і може включати " +"клас. Другий ставить ``None`` для екземпляра та завжди включає клас." + +msgid "Data descriptors always override instance dictionaries." +msgstr "Дескриптори даних завжди перевизначають словники примірників." + +msgid "Non-data descriptors may be overridden by instance dictionaries." +msgstr "" +"Дескриптори, не пов’язані з даними, можуть бути перевизначені словниками " +"примірників." + +msgid "Automatic name notification" +msgstr "Автоматичне сповіщення про ім'я" + +msgid "" +"Sometimes it is desirable for a descriptor to know what class variable name " +"it was assigned to. When a new class is created, the :class:`type` " +"metaclass scans the dictionary of the new class. If any of the entries are " +"descriptors and if they define :meth:`__set_name__`, that method is called " +"with two arguments. The *owner* is the class where the descriptor is used, " +"and the *name* is the class variable the descriptor was assigned to." +msgstr "" +"Іноді дескриптору бажано знати, яке ім'я змінної класу було призначено. Коли " +"створюється новий клас, метаклас :class:`type` сканує словник нового класу. " +"Якщо будь-який із записів є дескрипторами та якщо вони визначають :meth:" +"`__set_name__`, цей метод викликається з двома аргументами. *Власник* — це " +"клас, де використовується дескриптор, а *ім’я* — це змінна класу, якій " +"призначено дескриптор." + +msgid "" +"The implementation details are in :c:func:`type_new()` and :c:func:" +"`set_names()` in :source:`Objects/typeobject.c`." +msgstr "" +"Деталі реалізації знаходяться в :c:func:`type_new()` і :c:func:`set_names()` " +"в :source:`Objects/typeobject.c`." + +msgid "" +"Since the update logic is in :meth:`type.__new__`, notifications only take " +"place at the time of class creation. If descriptors are added to the class " +"afterwards, :meth:`__set_name__` will need to be called manually." +msgstr "" +"Оскільки логіка оновлення знаходиться в :meth:`type.__new__`, сповіщення " +"надходять лише під час створення класу. Якщо дескриптори додаються до класу " +"пізніше, :meth:`__set_name__` потрібно буде викликати вручну." + +msgid "ORM example" +msgstr "Приклад ORM" + +msgid "" +"The following code is a simplified skeleton showing how data descriptors " +"could be used to implement an `object relational mapping `_." +msgstr "" + +msgid "" +"The essential idea is that the data is stored in an external database. The " +"Python instances only hold keys to the database's tables. Descriptors take " +"care of lookups or updates:" +msgstr "" +"Основна ідея полягає в тому, що дані зберігаються у зовнішній базі даних. " +"Екземпляри Python містять лише ключі до таблиць бази даних. Дескриптори " +"піклуються про пошук або оновлення:" + +msgid "" +"We can use the :class:`Field` class to define `models `_ that describe the schema for each table in a " +"database:" +msgstr "" +"Ми можемо використовувати клас :class:`Field`, щоб визначити `моделі " +"`_, які описують схему для " +"кожної таблиці в базі даних:" + +msgid "To use the models, first connect to the database::" +msgstr "Щоб використовувати моделі, спочатку підключіться до бази даних:" + +msgid "" +"An interactive session shows how data is retrieved from the database and how " +"it can be updated:" +msgstr "" +"Інтерактивний сеанс показує, як дані витягуються з бази даних і як їх можна " +"оновити:" + +msgid "Pure Python Equivalents" +msgstr "Чисті еквіваленти Python" + +msgid "" +"The descriptor protocol is simple and offers exciting possibilities. " +"Several use cases are so common that they have been prepackaged into built-" +"in tools. Properties, bound methods, static methods, class methods, and \\_" +"\\_slots\\_\\_ are all based on the descriptor protocol." +msgstr "" +"Протокол дескриптора простий і пропонує захоплюючі можливості. Кілька " +"варіантів використання настільки поширені, що вони були попередньо упаковані " +"у вбудовані інструменти. Властивості, прив’язані методи, статичні методи, " +"методи класу та \\_\\_слоти\\_\\_ базуються на протоколі дескриптора." + +msgid "Properties" +msgstr "Властивості" + +msgid "" +"Calling :func:`property` is a succinct way of building a data descriptor " +"that triggers a function call upon access to an attribute. Its signature " +"is::" +msgstr "" +"Виклик :func:`property` — це короткий спосіб створення дескриптора даних, " +"який ініціює виклик функції після доступу до атрибута. Його підпис::" + +msgid "" +"The documentation shows a typical use to define a managed attribute ``x``:" +msgstr "" +"У документації показано типове використання для визначення керованого " +"атрибута ``x``:" + +msgid "" +"To see how :func:`property` is implemented in terms of the descriptor " +"protocol, here is a pure Python equivalent:" +msgstr "" +"Щоб побачити, як :func:`property` реалізовано в термінах протоколу " +"дескриптора, ось чистий еквівалент Python:" + +msgid "" +"The :func:`property` builtin helps whenever a user interface has granted " +"attribute access and then subsequent changes require the intervention of a " +"method." +msgstr "" +"Вбудована функція :func:`property` допомагає щоразу, коли інтерфейс " +"користувача надає доступ до атрибутів, а подальші зміни вимагають втручання " +"методу." + +msgid "" +"For instance, a spreadsheet class may grant access to a cell value through " +"``Cell('b10').value``. Subsequent improvements to the program require the " +"cell to be recalculated on every access; however, the programmer does not " +"want to affect existing client code accessing the attribute directly. The " +"solution is to wrap access to the value attribute in a property data " +"descriptor:" +msgstr "" +"Наприклад, клас електронної таблиці може надати доступ до значення клітинки " +"через ``Cell('b10').value``. Подальші вдосконалення програми вимагають " +"перерахунку комірки при кожному доступі; однак програміст не хоче впливати " +"на існуючий клієнтський код, який безпосередньо звертається до атрибута. " +"Рішення полягає в тому, щоб загорнути доступ до атрибута значення в " +"дескриптор даних властивості:" + +msgid "" +"Either the built-in :func:`property` or our :func:`Property` equivalent " +"would work in this example." +msgstr "" +"У цьому прикладі працюватиме або вбудований :func:`property`, або наш " +"еквівалент :func:`Property`." + +msgid "Functions and methods" +msgstr "Функції та методи" + +msgid "" +"Python's object oriented features are built upon a function based " +"environment. Using non-data descriptors, the two are merged seamlessly." +msgstr "" +"Об’єктно-орієнтовані функції Python побудовані на функціональному " +"середовищі. Використовуючи дескриптори, не пов’язані з даними, ці два " +"об’єднуються без проблем." + +msgid "" +"Functions stored in class dictionaries get turned into methods when invoked. " +"Methods only differ from regular functions in that the object instance is " +"prepended to the other arguments. By convention, the instance is called " +"*self* but could be called *this* or any other variable name." +msgstr "" +"Функції, що зберігаються в словниках класів, під час виклику перетворюються " +"на методи. Методи відрізняються від звичайних функцій лише тим, що екземпляр " +"об’єкта додається до інших аргументів. За домовленістю екземпляр називається " +"*self*, але може мати назву *this* або будь-яке інше ім’я змінної." + +msgid "" +"Methods can be created manually with :class:`types.MethodType` which is " +"roughly equivalent to:" +msgstr "" +"Методи можна створити вручну за допомогою :class:`types.MethodType`, що " +"приблизно еквівалентно:" + +msgid "" +"To support automatic creation of methods, functions include the :meth:" +"`__get__` method for binding methods during attribute access. This means " +"that functions are non-data descriptors that return bound methods during " +"dotted lookup from an instance. Here's how it works:" +msgstr "" +"Щоб підтримувати автоматичне створення методів, функції включають метод :" +"meth:`__get__` для зв’язування методів під час доступу до атрибутів. Це " +"означає, що функції є дескрипторами, не пов’язаними з даними, які повертають " +"пов’язані методи під час пошуку з пунктиром з екземпляра. Ось як це працює:" + +msgid "" +"Running the following class in the interpreter shows how the function " +"descriptor works in practice:" +msgstr "" +"Запуск наступного класу в інтерпретаторі показує, як дескриптор функції " +"працює на практиці:" + +msgid "" +"The function has a :term:`qualified name` attribute to support introspection:" +msgstr "Функція має атрибут :term:`qualified name` для підтримки самоаналізу:" + +msgid "" +"Accessing the function through the class dictionary does not invoke :meth:" +"`__get__`. Instead, it just returns the underlying function object::" +msgstr "" +"Доступ до функції через словник класу не викликає :meth:`__get__`. Замість " +"цього він просто повертає базовий об’єкт функції::" + +msgid "" +"Dotted access from a class calls :meth:`__get__` which just returns the " +"underlying function unchanged::" +msgstr "" +"Пунктирний доступ із класу викликає :meth:`__get__`, який просто повертає " +"базову функцію без змін::" + +msgid "" +"The interesting behavior occurs during dotted access from an instance. The " +"dotted lookup calls :meth:`__get__` which returns a bound method object::" +msgstr "" +"Цікава поведінка відбувається під час доступу з екземпляра з пунктиром. " +"Пошук із пунктиром викликає :meth:`__get__`, який повертає пов’язаний об’єкт " +"методу::" + +msgid "" +"Internally, the bound method stores the underlying function and the bound " +"instance::" +msgstr "" +"Внутрішньо зв’язаний метод зберігає базову функцію та зв’язаний екземпляр::" + +msgid "" +"If you have ever wondered where *self* comes from in regular methods or " +"where *cls* comes from in class methods, this is it!" +msgstr "" +"Якщо ви коли-небудь задавалися питанням, звідки береться *self* у звичайних " +"методах або звідки *cls* у методах класу, то це все!" + +msgid "Kinds of methods" +msgstr "Види методів" + +msgid "" +"Non-data descriptors provide a simple mechanism for variations on the usual " +"patterns of binding functions into methods." +msgstr "" +"Дескриптори, не пов’язані з даними, надають простий механізм для варіацій " +"звичайних шаблонів зв’язування функцій у методи." + +msgid "" +"To recap, functions have a :meth:`__get__` method so that they can be " +"converted to a method when accessed as attributes. The non-data descriptor " +"transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. Calling ``cls." +"f(*args)`` becomes ``f(*args)``." +msgstr "" +"Підсумовуючи, функції мають метод :meth:`__get__`, щоб їх можна було " +"перетворити на метод, коли вони доступні як атрибути. Дескриптор без даних " +"перетворює виклик ``obj.f(*args)`` на ``f(obj, *args)``. Виклик ``cls." +"f(*args)`` перетворюється на ``f(*args)``." + +msgid "This chart summarizes the binding and its two most useful variants:" +msgstr "Ця діаграма підсумовує прив’язку та два її найкорисніші варіанти:" + +msgid "Transformation" +msgstr "Трансформація" + +msgid "Called from an object" +msgstr "Викликано з об'єкта" + +msgid "Called from a class" +msgstr "Подзвонили з класу" + +msgid "function" +msgstr "функція" + +msgid "f(obj, \\*args)" +msgstr "f(obj, \\*args)" + +msgid "f(\\*args)" +msgstr "f(\\*args)" + +msgid "staticmethod" +msgstr "статичний метод" + +msgid "classmethod" +msgstr "метод класу" + +msgid "f(type(obj), \\*args)" +msgstr "f(type(obj), \\*args)" + +msgid "f(cls, \\*args)" +msgstr "f(cls, \\*args)" + +msgid "Static methods" +msgstr "Статичні методи" + +msgid "" +"Static methods return the underlying function without changes. Calling " +"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object." +"__getattribute__(c, \"f\")`` or ``object.__getattribute__(C, \"f\")``. As a " +"result, the function becomes identically accessible from either an object or " +"a class." +msgstr "" +"Статичні методи повертають базову функцію без змін. Виклик ``c.f`` або ``C." +"f`` є еквівалентом прямого пошуку ``object.__getattribute__(c, \"f\")`` або " +"``object.__getattribute__(C, \"f\")`` . У результаті функція стає однаково " +"доступною з об’єкта або класу." + +msgid "" +"Good candidates for static methods are methods that do not reference the " +"``self`` variable." +msgstr "" +"Хорошими кандидатами на статичні методи є методи, які не посилаються на " +"змінну ``self``." + +msgid "" +"For instance, a statistics package may include a container class for " +"experimental data. The class provides normal methods for computing the " +"average, mean, median, and other descriptive statistics that depend on the " +"data. However, there may be useful functions which are conceptually related " +"but do not depend on the data. For instance, ``erf(x)`` is handy conversion " +"routine that comes up in statistical work but does not directly depend on a " +"particular dataset. It can be called either from an object or the class: " +"``s.erf(1.5) --> .9332`` or ``Sample.erf(1.5) --> .9332``." +msgstr "" +"Наприклад, пакет статистики може містити клас контейнера для " +"експериментальних даних. Клас надає звичайні методи для обчислення " +"середнього, середнього, медіани та іншої описової статистики, яка залежить " +"від даних. Однак можуть існувати корисні функції, які концептуально " +"пов’язані, але не залежать від даних. Наприклад, ``erf(x)`` — це зручна " +"процедура перетворення, яка виникає в статистичній роботі, але безпосередньо " +"не залежить від конкретного набору даних. Його можна викликати або з " +"об’єкта, або з класу: ``s.erf(1.5) --> .9332`` або ``Sample.erf(1.5) --" +"> .9332``." + +msgid "" +"Since static methods return the underlying function with no changes, the " +"example calls are unexciting:" +msgstr "" +"Оскільки статичні методи повертають базову функцію без змін, приклади " +"викликів нецікаві:" + +msgid "" +"Using the non-data descriptor protocol, a pure Python version of :func:" +"`staticmethod` would look like this:" +msgstr "" +"Використовуючи протокол дескриптора без даних, чиста версія :func:" +"`staticmethod` на Python виглядала б так:" + +msgid "Class methods" +msgstr "Методи класу" + +msgid "" +"Unlike static methods, class methods prepend the class reference to the " +"argument list before calling the function. This format is the same for " +"whether the caller is an object or a class:" +msgstr "" +"На відміну від статичних методів, методи класу додають посилання на клас до " +"списку аргументів перед викликом функції. Цей формат є однаковим для того, " +"чи є викликаючий об’єкт чи клас:" + +msgid "" +"This behavior is useful whenever the method only needs to have a class " +"reference and does not rely on data stored in a specific instance. One use " +"for class methods is to create alternate class constructors. For example, " +"the classmethod :func:`dict.fromkeys` creates a new dictionary from a list " +"of keys. The pure Python equivalent is:" +msgstr "" +"Така поведінка корисна, коли метод потребує лише посилання на клас і не " +"покладається на дані, що зберігаються в конкретному екземплярі. Одним із " +"способів використання методів класу є створення альтернативних конструкторів " +"класу. Наприклад, метод класу :func:`dict.fromkeys` створює новий словник зі " +"списку ключів. Чистий еквівалент Python:" + +msgid "Now a new dictionary of unique keys can be constructed like this:" +msgstr "Тепер новий словник унікальних ключів можна сконструювати так:" + +msgid "" +"Using the non-data descriptor protocol, a pure Python version of :func:" +"`classmethod` would look like this:" +msgstr "" +"Використовуючи протокол дескриптора без даних, чиста версія :func:" +"`classmethod` на Python виглядала б так:" + +msgid "" +"The code path for ``hasattr(type(self.f), '__get__')`` was added in Python " +"3.9 and makes it possible for :func:`classmethod` to support chained " +"decorators. For example, a classmethod and property could be chained " +"together. In Python 3.11, this functionality was deprecated." +msgstr "" + +msgid "Member objects and __slots__" +msgstr "Об'єкти-члени та __slots__" + +msgid "" +"When a class defines ``__slots__``, it replaces instance dictionaries with a " +"fixed-length array of slot values. From a user point of view that has " +"several effects:" +msgstr "" +"Коли клас визначає ``__slots__``, він замінює словники примірників на масив " +"значень слотів фіксованої довжини. З точки зору користувача, це має кілька " +"ефектів:" + +msgid "" +"1. Provides immediate detection of bugs due to misspelled attribute " +"assignments. Only attribute names specified in ``__slots__`` are allowed:" +msgstr "" +"1. Забезпечує негайне виявлення помилок через неправильно написані атрибути. " +"Дозволяються лише імена атрибутів, указані в ``__slots__``:" + +msgid "" +"2. Helps create immutable objects where descriptors manage access to private " +"attributes stored in ``__slots__``:" +msgstr "" +"2. Допомагає створювати незмінні об’єкти, де дескриптори керують доступом до " +"приватних атрибутів, що зберігаються в ``__slots__``:" + +msgid "" +"3. Saves memory. On a 64-bit Linux build, an instance with two attributes " +"takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight " +"design pattern `_ likely " +"only matters when a large number of instances are going to be created." +msgstr "" +"3. Економить пам'ять. У 64-розрядній збірці Linux екземпляр із двома " +"атрибутами займає 48 байтів із ``__slots__`` і 152 байти без. Цей `шаблон " +"проектування легкої ваги `_, ймовірно, має значення лише тоді, коли буде створено " +"велику кількість екземплярів." + +msgid "" +"4. Improves speed. Reading instance variables is 35% faster with " +"``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)." +msgstr "" +"4. Покращує швидкість. Читання змінних екземплярів відбувається на 35% " +"швидше за допомогою ``__slots__`` (виміряно за допомогою Python 3.10 на " +"процесорі Apple M1)." + +msgid "" +"5. Blocks tools like :func:`functools.cached_property` which require an " +"instance dictionary to function correctly:" +msgstr "" +"5. Блокує такі інструменти, як :func:`functools.cached_property`, яким для " +"коректної роботи потрібен словник екземплярів:" + +msgid "" +"It is not possible to create an exact drop-in pure Python version of " +"``__slots__`` because it requires direct access to C structures and control " +"over object memory allocation. However, we can build a mostly faithful " +"simulation where the actual C structure for slots is emulated by a private " +"``_slotvalues`` list. Reads and writes to that private structure are " +"managed by member descriptors:" +msgstr "" +"Неможливо створити точну версію ``__slots__`` на Python, оскільки для цього " +"потрібен прямий доступ до структур C і контроль над розподілом пам’яті " +"об’єктів. Однак ми можемо побудувати здебільшого точну симуляцію, де " +"фактична структура C для слотів емулюється приватним списком " +"``_slotvalues``. Читанням і записом у цю приватну структуру керують " +"дескриптори членів:" + +msgid "" +"The :meth:`type.__new__` method takes care of adding member objects to class " +"variables:" +msgstr "" +"Метод :meth:`type.__new__` піклується про додавання об’єктів-членів до " +"змінних класу:" + +msgid "" +"The :meth:`object.__new__` method takes care of creating instances that have " +"slots instead of an instance dictionary. Here is a rough simulation in pure " +"Python:" +msgstr "" +"Метод :meth:`object.__new__` піклується про створення екземплярів, які мають " +"слоти замість словника екземплярів. Ось приблизне моделювання на чистому " +"Python:" + +msgid "" +"To use the simulation in a real class, just inherit from :class:`Object` and " +"set the :term:`metaclass` to :class:`Type`:" +msgstr "" +"Щоб використовувати симуляцію в реальному класі, просто успадкуйте від :" +"class:`Object` і встановіть :term:`metaclass` на :class:`Type`:" + +msgid "" +"At this point, the metaclass has loaded member objects for *x* and *y*::" +msgstr "На даний момент метаклас завантажив об’єкти-члени для *x* і *y*::" + +msgid "" +"When instances are created, they have a ``slot_values`` list where the " +"attributes are stored:" +msgstr "" +"Коли екземпляри створюються, вони мають список ``slot_values``, де " +"зберігаються атрибути:" + +msgid "Misspelled or unassigned attributes will raise an exception:" +msgstr "Помилково введені або непризначені атрибути викликають виняток:" diff --git a/howto/enum.po b/howto/enum.po new file mode 100644 index 000000000..ec6f80be2 --- /dev/null +++ b/howto/enum.po @@ -0,0 +1,1216 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Enum HOWTO" +msgstr "Enum HOWTO" + +msgid "" +"An :class:`Enum` is a set of symbolic names bound to unique values. They " +"are similar to global variables, but they offer a more useful :func:" +"`repr()`, grouping, type-safety, and a few other features." +msgstr "" +":class:`Enum` — це набір символічних імен, прив’язаних до унікальних " +"значень. Вони подібні до глобальних змінних, але пропонують більш корисні " +"функції :func:`repr()`, групування, безпеку типів і кілька інших функцій." + +msgid "" +"They are most useful when you have a variable that can take one of a limited " +"selection of values. For example, the days of the week::" +msgstr "" +"Вони найбільш корисні, коли у вас є змінна, яка може приймати одне з " +"обмеженого вибору значень. Наприклад, дні тижня::" + +msgid "Or perhaps the RGB primary colors::" +msgstr "" + +msgid "" +"As you can see, creating an :class:`Enum` is as simple as writing a class " +"that inherits from :class:`Enum` itself." +msgstr "" +"Як бачите, створити :class:`Enum` так само просто, як написати клас, який " +"успадковує сам :class:`Enum`." + +msgid "Case of Enum Members" +msgstr "Випадок членів Enum" + +msgid "" +"Because Enums are used to represent constants we recommend using UPPER_CASE " +"names for members, and will be using that style in our examples." +msgstr "" +"Оскільки Enum використовуються для представлення констант, ми рекомендуємо " +"використовувати UPPER_CASE імена для членів і використовуватимемо цей стиль " +"у наших прикладах." + +msgid "" +"Depending on the nature of the enum a member's value may or may not be " +"important, but either way that value can be used to get the corresponding " +"member::" +msgstr "" +"Залежно від характеру переліку значення члена може бути важливим або " +"неважливим, але в будь-якому випадку це значення можна використовувати для " +"отримання відповідного члена::" + +msgid "" +"As you can see, the ``repr()`` of a member shows the enum name, the member " +"name, and the value. The ``str()`` of a member shows only the enum name and " +"member name::" +msgstr "" + +msgid "The *type* of an enumeration member is the enum it belongs to::" +msgstr "*Тип* члена переліку — це enum, якому він належить::" + +msgid "Enum members have an attribute that contains just their :attr:`name`::" +msgstr "Члени Enum мають атрибут, який містить лише їх :attr:`name`::" + +msgid "Likewise, they have an attribute for their :attr:`value`::" +msgstr "Так само вони мають атрибут для свого :attr:`value`::" + +msgid "" +"Unlike many languages that treat enumerations solely as name/value pairs, " +"Python Enums can have behavior added. For example, :class:`datetime.date` " +"has two methods for returning the weekday: :meth:`weekday` and :meth:" +"`isoweekday`. The difference is that one of them counts from 0-6 and the " +"other from 1-7. Rather than keep track of that ourselves we can add a method " +"to the :class:`Weekday` enum to extract the day from the :class:`date` " +"instance and return the matching enum member::" +msgstr "" +"На відміну від багатьох мов, які розглядають перерахування виключно як пари " +"ім’я/значення, Python Enums може мати додану поведінку. Наприклад, :class:" +"`datetime.date` має два методи для повернення дня тижня: :meth:`weekday` і :" +"meth:`isoweekday`. Різниця в тому, що один з них рахує від 0 до 6, а інший " +"від 1 до 7. Замість того, щоб відслідковувати це самостійно, ми можемо " +"додати метод до переліку :class:`Weekday`, щоб отримати день із примірника :" +"class:`date` і повернути відповідний член переліку::" + +msgid "The complete :class:`Weekday` enum now looks like this::" +msgstr "Повний перелік :class:`Weekday` виглядає так:" + +msgid "Now we can find out what today is! Observe::" +msgstr "Тепер ми можемо дізнатися, що таке сьогодні! Спостерігати::" + +msgid "" +"Of course, if you're reading this on some other day, you'll see that day " +"instead." +msgstr "Звичайно, якщо ви читаєте це в інший день, ви побачите цей день." + +msgid "" +"This :class:`Weekday` enum is great if our variable only needs one day, but " +"what if we need several? Maybe we're writing a function to plot chores " +"during a week, and don't want to use a :class:`list` -- we could use a " +"different type of :class:`Enum`::" +msgstr "" +"Цей перелік :class:`Weekday` чудово підходить, якщо нашій змінній потрібен " +"лише один день, але що, якщо нам потрібно декілька? Можливо, ми пишемо " +"функцію для графіку роботи протягом тижня, і не хочемо використовувати :" +"class:`list` -- ми можемо використати інший тип :class:`Enum`::" + +msgid "" +"We've changed two things: we're inherited from :class:`Flag`, and the values " +"are all powers of 2." +msgstr "" +"Ми змінили дві речі: ми успадковані від :class:`Flag`, і всі значення є " +"степенями 2." + +msgid "" +"Just like the original :class:`Weekday` enum above, we can have a single " +"selection::" +msgstr "" +"Як і в оригінальному переліку :class:`Weekday` вище, ми можемо мати один " +"вибір::" + +msgid "" +"But :class:`Flag` also allows us to combine several members into a single " +"variable::" +msgstr "" +"Але :class:`Flag` також дозволяє нам об’єднати кілька членів в одну змінну::" + +msgid "You can even iterate over a :class:`Flag` variable::" +msgstr "Ви навіть можете перебирати змінну :class:`Flag`::" + +msgid "Okay, let's get some chores set up::" +msgstr "Гаразд, давайте приступимо до роботи::" + +msgid "And a function to display the chores for a given day::" +msgstr "І функція для відображення справ за певний день::" + +msgid "" +"In cases where the actual values of the members do not matter, you can save " +"yourself some work and use :func:`auto()` for the values::" +msgstr "" +"У випадках, коли фактичні значення членів не мають значення, ви можете " +"заощадити собі трохи праці та використати :func:`auto()` для значень::" + +msgid "Programmatic access to enumeration members and their attributes" +msgstr "Програмний доступ до елементів переліку та їх атрибутів" + +msgid "" +"Sometimes it's useful to access members in enumerations programmatically (i." +"e. situations where ``Color.RED`` won't do because the exact color is not " +"known at program-writing time). ``Enum`` allows such access::" +msgstr "" +"Іноді корисно отримати доступ до членів у перерахуваннях програмно (тобто " +"ситуації, коли ``Color.RED`` не підійде, оскільки точний колір невідомий під " +"час написання програми). ``Enum`` дозволяє такий доступ:" + +msgid "If you want to access enum members by *name*, use item access::" +msgstr "" +"Якщо ви хочете отримати доступ до членів enum за *ім’ям*, використовуйте " +"доступ до елемента::" + +msgid "If you have an enum member and need its :attr:`name` or :attr:`value`::" +msgstr "" +"Якщо у вас є член enum і вам потрібно його :attr:`name` або :attr:`value`::" + +msgid "Duplicating enum members and values" +msgstr "Дублювання членів enum і значень" + +msgid "Having two enum members with the same name is invalid::" +msgstr "Наявність двох членів переліку з однаковими іменами недійсна::" + +msgid "" +"However, an enum member can have other names associated with it. Given two " +"entries ``A`` and ``B`` with the same value (and ``A`` defined first), ``B`` " +"is an alias for the member ``A``. By-value lookup of the value of ``A`` " +"will return the member ``A``. By-name lookup of ``A`` will return the " +"member ``A``. By-name lookup of ``B`` will also return the member ``A``::" +msgstr "" +"Однак член enum може мати інші імена, пов’язані з ним. За наявності двох " +"записів ``A`` і ``B`` з однаковим значенням (і ``A``, визначеним першим), " +"``B`` є псевдонімом для члена ``A``. Пошук за значенням значення ``A`` " +"поверне член ``A``. Пошук за назвою ``A`` поверне член ``A``. Пошук за " +"назвою ``B`` також поверне член ``A``::" + +msgid "" +"Attempting to create a member with the same name as an already defined " +"attribute (another member, a method, etc.) or attempting to create an " +"attribute with the same name as a member is not allowed." +msgstr "" +"Спроба створити член із тим же ім’ям, що й уже визначений атрибут (інший " +"член, метод тощо), або спроба створити атрибут із тим же ім’ям, що й член, " +"не дозволяється." + +msgid "Ensuring unique enumeration values" +msgstr "Забезпечення унікальних значень перерахування" + +msgid "" +"By default, enumerations allow multiple names as aliases for the same value. " +"When this behavior isn't desired, you can use the :func:`unique` decorator::" +msgstr "" +"За замовчуванням перерахування дозволяють використовувати кілька імен як " +"псевдоніми для одного значення. Якщо така поведінка небажана, ви можете " +"використати декоратор :func:`unique`::" + +msgid "Using automatic values" +msgstr "Використання автоматичних значень" + +msgid "If the exact value is unimportant you can use :class:`auto`::" +msgstr "" +"Якщо точне значення неважливе, ви можете використовувати :class:`auto`::" + +msgid "" +"The values are chosen by :func:`_generate_next_value_`, which can be " +"overridden::" +msgstr "" +"Значення вибираються :func:`_generate_next_value_`, які можна замінити:" + +msgid "" +"The :meth:`_generate_next_value_` method must be defined before any members." +msgstr "" +"Метод :meth:`_generate_next_value_` має бути визначений перед будь-якими " +"членами." + +msgid "Iteration" +msgstr "Ітерація" + +msgid "Iterating over the members of an enum does not provide the aliases::" +msgstr "Перебір членів enum не забезпечує псевдоніми::" + +msgid "" +"The special attribute ``__members__`` is a read-only ordered mapping of " +"names to members. It includes all names defined in the enumeration, " +"including the aliases::" +msgstr "" +"Спеціальний атрибут ``__members__`` — це впорядковане відображення імен " +"учасників лише для читання. Він включає всі імена, визначені в переліку, " +"включаючи псевдоніми::" + +msgid "" +"The ``__members__`` attribute can be used for detailed programmatic access " +"to the enumeration members. For example, finding all the aliases::" +msgstr "" +"Атрибут ``__members__`` можна використовувати для детального програмного " +"доступу до елементів переліку. Наприклад, пошук усіх псевдонімів::" + +msgid "Comparisons" +msgstr "Порівняння" + +msgid "Enumeration members are compared by identity::" +msgstr "Члени переліку порівнюються за ідентичністю::" + +msgid "" +"Ordered comparisons between enumeration values are *not* supported. Enum " +"members are not integers (but see `IntEnum`_ below)::" +msgstr "" +"Упорядковані порівняння між значеннями перерахування *не* підтримуються. " +"Члени Enum не є цілими числами (але дивіться `IntEnum`_ нижче):" + +msgid "Equality comparisons are defined though::" +msgstr "Однак порівняння рівності визначено:" + +msgid "" +"Comparisons against non-enumeration values will always compare not equal " +"(again, :class:`IntEnum` was explicitly designed to behave differently, see " +"below)::" +msgstr "" +"Порівняння зі значеннями, не пов’язаними з перерахуванням, завжди " +"порівнюватиметься нерівними (знову ж таки, :class:`IntEnum` був явно " +"розроблений для іншої поведінки, див. нижче)::" + +msgid "Allowed members and attributes of enumerations" +msgstr "Дозволені члени та атрибути перерахувань" + +msgid "" +"Most of the examples above use integers for enumeration values. Using " +"integers is short and handy (and provided by default by the `Functional " +"API`_), but not strictly enforced. In the vast majority of use-cases, one " +"doesn't care what the actual value of an enumeration is. But if the value " +"*is* important, enumerations can have arbitrary values." +msgstr "" +"Більшість наведених вище прикладів використовують цілі числа для значень " +"перерахування. Використання цілих чисел є коротким і зручним (і надається за " +"замовчуванням `Functional API`_), але не суворо дотримується. У переважній " +"більшості варіантів використання байдуже, яке фактичне значення " +"перерахування. Але якщо значення *є* важливим, перерахування можуть мати " +"довільні значення." + +msgid "" +"Enumerations are Python classes, and can have methods and special methods as " +"usual. If we have this enumeration::" +msgstr "" +"Перерахування є класами Python і, як зазвичай, можуть мати методи та " +"спеціальні методи. Якщо ми маємо цей перелік::" + +msgid "Then::" +msgstr "Потім::" + +msgid "" +"The rules for what is allowed are as follows: names that start and end with " +"a single underscore are reserved by enum and cannot be used; all other " +"attributes defined within an enumeration will become members of this " +"enumeration, with the exception of special methods (:meth:`__str__`, :meth:" +"`__add__`, etc.), descriptors (methods are also descriptors), and variable " +"names listed in :attr:`_ignore_`." +msgstr "" +"Дозволені правила такі: імена, які починаються і закінчуються одним " +"підкресленням, зарезервовані enum і не можуть використовуватися; усі інші " +"атрибути, визначені в переліку, стануть членами цього переліку, за винятком " +"спеціальних методів (:meth:`__str__`, :meth:`__add__` тощо), дескрипторів " +"(методи також є дескрипторами) і імен змінних перераховані в :attr:" +"`_ignore_`." + +msgid "" +"Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` " +"then any value(s) given to the enum member will be passed into those " +"methods. See `Planet`_ for an example." +msgstr "" +"Примітка: якщо ваш перелік визначає :meth:`__new__` та/або :meth:`__init__`, " +"тоді будь-яке значення, надане члену enum, буде передано в ці методи. " +"Перегляньте `Planet`_ для прикладу." + +msgid "Restricted Enum subclassing" +msgstr "Обмежений підклас Enum" + +msgid "" +"A new :class:`Enum` class must have one base enum class, up to one concrete " +"data type, and as many :class:`object`-based mixin classes as needed. The " +"order of these base classes is::" +msgstr "" +"Новий клас :class:`Enum` повинен мати один базовий клас enum, до одного " +"конкретного типу даних і стільки класів міксину на основі :class:`object`, " +"скільки потрібно. Порядок цих базових класів:" + +msgid "" +"Also, subclassing an enumeration is allowed only if the enumeration does not " +"define any members. So this is forbidden::" +msgstr "" +"Крім того, створення підкласу переліку дозволяється, лише якщо перелік не " +"визначає жодних членів. Тому це заборонено::" + +msgid "But this is allowed::" +msgstr "Але це дозволено::" + +msgid "" +"Allowing subclassing of enums that define members would lead to a violation " +"of some important invariants of types and instances. On the other hand, it " +"makes sense to allow sharing some common behavior between a group of " +"enumerations. (See `OrderedEnum`_ for an example.)" +msgstr "" +"Дозвіл створення підкласів для переліків, які визначають члени, призведе до " +"порушення деяких важливих інваріантів типів і екземплярів. З іншого боку, " +"має сенс дозволити спільну поведінку між групою перерахувань. (Див. " +"`OrderedEnum`_ для прикладу.)" + +msgid "Pickling" +msgstr "Соління" + +msgid "Enumerations can be pickled and unpickled::" +msgstr "Перерахування можна маринувати і не маринувати:" + +msgid "" +"The usual restrictions for pickling apply: picklable enums must be defined " +"in the top level of a module, since unpickling requires them to be " +"importable from that module." +msgstr "" +"Застосовуються звичайні обмеження для маркування: переліки, які можна " +"піклувати, повинні бути визначені на верхньому рівні модуля, оскільки для " +"скасування потрібно, щоб їх можна було імпортувати з цього модуля." + +msgid "" +"With pickle protocol version 4 it is possible to easily pickle enums nested " +"in other classes." +msgstr "" +"За допомогою протоколу pickle версії 4 можна легко маринувати переліки, " +"вкладені в інші класи." + +msgid "" +"It is possible to modify how enum members are pickled/unpickled by defining :" +"meth:`__reduce_ex__` in the enumeration class." +msgstr "" +"Можна змінити те, як члени enum вибираються/розбираються, визначивши :meth:" +"`__reduce_ex__` у класі переліку." + +msgid "Functional API" +msgstr "Функціональний API" + +msgid "" +"The :class:`Enum` class is callable, providing the following functional API::" +msgstr "" +"Клас :class:`Enum` можна викликати, забезпечуючи такий функціональний API:" + +msgid "" +"The semantics of this API resemble :class:`~collections.namedtuple`. The " +"first argument of the call to :class:`Enum` is the name of the enumeration." +msgstr "" +"Семантика цього API нагадує :class:`~collections.namedtuple`. Першим " +"аргументом виклику :class:`Enum` є назва переліку." + +msgid "" +"The second argument is the *source* of enumeration member names. It can be " +"a whitespace-separated string of names, a sequence of names, a sequence of 2-" +"tuples with key/value pairs, or a mapping (e.g. dictionary) of names to " +"values. The last two options enable assigning arbitrary values to " +"enumerations; the others auto-assign increasing integers starting with 1 " +"(use the ``start`` parameter to specify a different starting value). A new " +"class derived from :class:`Enum` is returned. In other words, the above " +"assignment to :class:`Animal` is equivalent to::" +msgstr "" +"Другим аргументом є *джерело* імен членів переліку. Це може бути рядок імен, " +"розділених пробілами, послідовність імен, послідовність 2-кортежів із парами " +"ключ/значення або зіставлення (наприклад, словник) імен із значеннями. " +"Останні два параметри дозволяють присвоювати довільні значення " +"перерахуванням; інші автоматично призначають зростаючі цілі числа, починаючи " +"з 1 (використовуйте параметр ``start``, щоб вказати інше початкове " +"значення). Повертається новий клас, похідний від :class:`Enum`. Іншими " +"словами, наведене вище призначення :class:`Animal` еквівалентне::" + +msgid "" +"The reason for defaulting to ``1`` as the starting number and not ``0`` is " +"that ``0`` is ``False`` in a boolean sense, but by default enum members all " +"evaluate to ``True``." +msgstr "" +"Причина того, що за замовчуванням початковим числом є ``1``, а не ``0``, " +"полягає в тому, що ``0`` є ``False`` у логічному сенсі, але за замовчуванням " +"усі члени enum оцінюються як ``True``." + +msgid "" +"Pickling enums created with the functional API can be tricky as frame stack " +"implementation details are used to try and figure out which module the " +"enumeration is being created in (e.g. it will fail if you use a utility " +"function in a separate module, and also may not work on IronPython or " +"Jython). The solution is to specify the module name explicitly as follows::" +msgstr "" + +msgid "" +"If ``module`` is not supplied, and Enum cannot determine what it is, the new " +"Enum members will not be unpicklable; to keep errors closer to the source, " +"pickling will be disabled." +msgstr "" +"Якщо ``module`` не вказано, і Enum не може визначити, що це таке, нові члени " +"Enum не можна буде вибрати; щоб зберегти помилки ближче до джерела, " +"травлення буде вимкнено." + +msgid "" +"The new pickle protocol 4 also, in some circumstances, relies on :attr:" +"`~definition.__qualname__` being set to the location where pickle will be " +"able to find the class. For example, if the class was made available in " +"class SomeData in the global scope::" +msgstr "" +"Новий протокол pickle 4 також, за деяких обставин, покладається на те, що :" +"attr:`~definition.__qualname__` встановлено на місце, де pickle зможе знайти " +"клас. Наприклад, якщо клас був доступний у класі SomeData у глобальній " +"області::" + +msgid "The complete signature is::" +msgstr "Повний підпис:" + +msgid "value" +msgstr "значення" + +msgid "What the new enum class will record as its name." +msgstr "Те, що новий клас enum записуватиме як своє ім’я." + +msgid "names" +msgstr "імена" + +msgid "" +"The enum members. This can be a whitespace- or comma-separated string " +"(values will start at 1 unless otherwise specified)::" +msgstr "" + +msgid "or an iterator of names::" +msgstr "або ітератор імен::" + +msgid "or an iterator of (name, value) pairs::" +msgstr "або ітератор пар (ім'я, значення)::" + +msgid "or a mapping::" +msgstr "або відображення::" + +msgid "module" +msgstr "модуль" + +msgid "name of module where new enum class can be found." +msgstr "назва модуля, де можна знайти новий клас enum." + +msgid "qualname" +msgstr "qualname" + +msgid "where in module new enum class can be found." +msgstr "де в модулі можна знайти новий клас enum." + +msgid "type" +msgstr "типу" + +msgid "type to mix in to new enum class." +msgstr "введіть, щоб додати до нового класу enum." + +msgid "start" +msgstr "початок" + +msgid "number to start counting at if only names are passed in." +msgstr "число для початку підрахунку, якщо передано лише імена." + +msgid "The *start* parameter was added." +msgstr "Додано параметр *start*." + +msgid "Derived Enumerations" +msgstr "Похідні перерахування" + +msgid "IntEnum" +msgstr "IntEnum" + +msgid "" +"The first variation of :class:`Enum` that is provided is also a subclass of :" +"class:`int`. Members of an :class:`IntEnum` can be compared to integers; by " +"extension, integer enumerations of different types can also be compared to " +"each other::" +msgstr "" +"Перший наданий варіант :class:`Enum` також є підкласом :class:`int`. Члени :" +"class:`IntEnum` можна порівняти з цілими числами; за розширенням, " +"цілочисельні перерахування різних типів також можна порівнювати один з одним:" + +msgid "" +"However, they still can't be compared to standard :class:`Enum` " +"enumerations::" +msgstr "" +"Однак їх все ще не можна порівняти зі стандартними перерахуваннями :class:" +"`Enum`::" + +msgid "" +":class:`IntEnum` values behave like integers in other ways you'd expect::" +msgstr "Значення :class:`IntEnum` поводяться як цілі числа іншим чином:" + +msgid "StrEnum" +msgstr "StrEnum" + +msgid "" +"The second variation of :class:`Enum` that is provided is also a subclass " +"of :class:`str`. Members of a :class:`StrEnum` can be compared to strings; " +"by extension, string enumerations of different types can also be compared to " +"each other." +msgstr "" + +msgid "IntFlag" +msgstr "IntFlag" + +msgid "" +"The next variation of :class:`Enum` provided, :class:`IntFlag`, is also " +"based on :class:`int`. The difference being :class:`IntFlag` members can be " +"combined using the bitwise operators (&, \\|, ^, ~) and the result is still " +"an :class:`IntFlag` member, if possible. Like :class:`IntEnum`, :class:" +"`IntFlag` members are also integers and can be used wherever an :class:`int` " +"is used." +msgstr "" + +msgid "" +"Any operation on an :class:`IntFlag` member besides the bit-wise operations " +"will lose the :class:`IntFlag` membership." +msgstr "" +"Будь-яка операція з членом :class:`IntFlag`, крім побітових операцій, " +"втрачає членство :class:`IntFlag`." + +msgid "" +"Bit-wise operations that result in invalid :class:`IntFlag` values will lose " +"the :class:`IntFlag` membership. See :class:`FlagBoundary` for details." +msgstr "" +"Побітові операції, які призводять до недійсних значень :class:`IntFlag`, " +"втратять членство :class:`IntFlag`. Перегляньте :class:`FlagBoundary` для " +"деталей." + +msgid "Sample :class:`IntFlag` class::" +msgstr "Приклад :class:`IntFlag` class::" + +msgid "It is also possible to name the combinations::" +msgstr "Також можна назвати комбінації:" + +msgid "" +"Named combinations are considered aliases. Aliases do not show up during " +"iteration, but can be returned from by-value lookups." +msgstr "" +"Іменовані комбінації вважаються псевдонімами. Псевдоніми не відображаються " +"під час ітерації, але їх можна повернути під час пошуку за значенням." + +msgid "" +"Another important difference between :class:`IntFlag` and :class:`Enum` is " +"that if no flags are set (the value is 0), its boolean evaluation is :data:" +"`False`::" +msgstr "" +"Ще одна важлива відмінність між :class:`IntFlag` і :class:`Enum` полягає в " +"тому, що якщо не встановлено жодного прапора (значення дорівнює 0), його " +"логічна оцінка буде :data:`False`::" + +msgid "" +"Because :class:`IntFlag` members are also subclasses of :class:`int` they " +"can be combined with them (but may lose :class:`IntFlag` membership::" +msgstr "" +"Оскільки члени :class:`IntFlag` також є підкласами :class:`int`, їх можна " +"поєднувати з ними (але вони можуть втратити членство :class:`IntFlag`::" + +msgid "" +"The negation operator, ``~``, always returns an :class:`IntFlag` member with " +"a positive value::" +msgstr "" +"Оператор заперечення, ``~``, завжди повертає член :class:`IntFlag` із " +"позитивним значенням::" + +msgid ":class:`IntFlag` members can also be iterated over::" +msgstr "Члени :class:`IntFlag` також можна повторювати:" + +msgid "Flag" +msgstr "Прапор" + +msgid "" +"The last variation is :class:`Flag`. Like :class:`IntFlag`, :class:`Flag` " +"members can be combined using the bitwise operators (&, \\|, ^, ~). Unlike :" +"class:`IntFlag`, they cannot be combined with, nor compared against, any " +"other :class:`Flag` enumeration, nor :class:`int`. While it is possible to " +"specify the values directly it is recommended to use :class:`auto` as the " +"value and let :class:`Flag` select an appropriate value." +msgstr "" +"Останнім варіантом є :class:`Flag`. Подібно до :class:`IntFlag`, члени :" +"class:`Flag` можна комбінувати за допомогою порозрядних операторів (&, \\|, " +"^, ~). На відміну від :class:`IntFlag`, їх не можна комбінувати з будь-яким " +"іншим переліком :class:`Flag` або :class:`int`, ані порівнювати з ними. Хоча " +"можна вказати значення безпосередньо, рекомендується використовувати :class:" +"`auto` як значення, а :class:`Flag` вибрати відповідне значення." + +msgid "" +"Like :class:`IntFlag`, if a combination of :class:`Flag` members results in " +"no flags being set, the boolean evaluation is :data:`False`::" +msgstr "" +"Подібно до :class:`IntFlag`, якщо комбінація членів :class:`Flag` не " +"призводить до встановлення прапорів, логічна оцінка буде :data:`False`::" + +msgid "" +"Individual flags should have values that are powers of two (1, 2, 4, " +"8, ...), while combinations of flags won't::" +msgstr "" +"Індивідуальні прапори повинні мати значення, які є степенями двійки (1, 2, " +"4, 8, ...), тоді як комбінації прапорів не матимуть:" + +msgid "" +"Giving a name to the \"no flags set\" condition does not change its boolean " +"value::" +msgstr "" +"Присвоєння назви умові \"прапори не встановлено\" не змінює її логічного " +"значення::" + +msgid ":class:`Flag` members can also be iterated over::" +msgstr "Члени :class:`Flag` також можна повторювати:" + +msgid "" +"For the majority of new code, :class:`Enum` and :class:`Flag` are strongly " +"recommended, since :class:`IntEnum` and :class:`IntFlag` break some semantic " +"promises of an enumeration (by being comparable to integers, and thus by " +"transitivity to other unrelated enumerations). :class:`IntEnum` and :class:" +"`IntFlag` should be used only in cases where :class:`Enum` and :class:`Flag` " +"will not do; for example, when integer constants are replaced with " +"enumerations, or for interoperability with other systems." +msgstr "" +"Для більшості нового коду наполегливо рекомендується використовувати :class:" +"`Enum` і :class:`Flag`, оскільки :class:`IntEnum` і :class:`IntFlag` " +"порушують деякі семантичні обіцянки перерахування (через їх порівняння з " +"цілі числа, і, таким чином, через перехідність до інших непов’язаних " +"перерахувань). :class:`IntEnum` і :class:`IntFlag` слід використовувати лише " +"у випадках, коли :class:`Enum` і :class:`Flag` не підходять; наприклад, коли " +"цілі константи замінюються перерахуваннями або для взаємодії з іншими " +"системами." + +msgid "Others" +msgstr "інші" + +msgid "" +"While :class:`IntEnum` is part of the :mod:`enum` module, it would be very " +"simple to implement independently::" +msgstr "" +"Хоча :class:`IntEnum` є частиною модуля :mod:`enum`, його було б дуже просто " +"реалізувати незалежно:" + +msgid "" +"This demonstrates how similar derived enumerations can be defined; for " +"example a :class:`FloatEnum` that mixes in :class:`float` instead of :class:" +"`int`." +msgstr "" + +msgid "Some rules:" +msgstr "Деякі правила:" + +msgid "" +"When subclassing :class:`Enum`, mix-in types must appear before :class:" +"`Enum` itself in the sequence of bases, as in the :class:`IntEnum` example " +"above." +msgstr "" +"Під час створення підкласу :class:`Enum` змішані типи повинні з’являтися " +"перед самим :class:`Enum` у послідовності основ, як у прикладі :class:" +"`IntEnum` вище." + +msgid "" +"Mix-in types must be subclassable. For example, :class:`bool` and :class:" +"`range` are not subclassable and will throw an error during Enum creation if " +"used as the mix-in type." +msgstr "" + +msgid "" +"While :class:`Enum` can have members of any type, once you mix in an " +"additional type, all the members must have values of that type, e.g. :class:" +"`int` above. This restriction does not apply to mix-ins which only add " +"methods and don't specify another type." +msgstr "" +"Хоча :class:`Enum` може мати члени будь-якого типу, коли ви додаєте " +"додатковий тип, усі члени повинні мати значення цього типу, наприклад. :" +"class:`int` вище. Це обмеження не стосується змішувань, які лише додають " +"методи і не вказують інший тип." + +msgid "" +"When another data type is mixed in, the :attr:`value` attribute is *not the " +"same* as the enum member itself, although it is equivalent and will compare " +"equal." +msgstr "" +"Коли додається інший тип даних, атрибут :attr:`value` *не такий самий*, як " +"сам член переліку, хоча він еквівалентний і порівнюватиметься рівним." + +msgid "" +"%-style formatting: ``%s`` and ``%r`` call the :class:`Enum` class's :meth:" +"`__str__` and :meth:`__repr__` respectively; other codes (such as ``%i`` or " +"``%h`` for IntEnum) treat the enum member as its mixed-in type." +msgstr "" + +msgid "" +":ref:`Formatted string literals `, :meth:`str.format`, and :func:" +"`format` will use the enum's :meth:`__str__` method." +msgstr "" + +msgid "" +"Because :class:`IntEnum`, :class:`IntFlag`, and :class:`StrEnum` are " +"designed to be drop-in replacements for existing constants, their :meth:" +"`__str__` method has been reset to their data types :meth:`__str__` method." +msgstr "" + +msgid "When to use :meth:`__new__` vs. :meth:`__init__`" +msgstr "Коли використовувати :meth:`__new__` проти :meth:`__init__`" + +msgid "" +":meth:`__new__` must be used whenever you want to customize the actual value " +"of the :class:`Enum` member. Any other modifications may go in either :meth:" +"`__new__` or :meth:`__init__`, with :meth:`__init__` being preferred." +msgstr "" +":meth:`__new__` потрібно використовувати щоразу, коли ви хочете налаштувати " +"фактичне значення члена :class:`Enum`. Будь-які інші модифікації можна " +"вносити в :meth:`__new__` або :meth:`__init__`, причому перевага віддається :" +"meth:`__init__`." + +msgid "" +"For example, if you want to pass several items to the constructor, but only " +"want one of them to be the value::" +msgstr "" +"Наприклад, якщо ви хочете передати кілька елементів у конструктор, але " +"хочете, щоб лише один із них був значенням::" + +msgid "Finer Points" +msgstr "Більш тонкі точки" + +msgid "Supported ``__dunder__`` names" +msgstr "Підтримувані імена ``__dunder__``" + +msgid "" +":attr:`__members__` is a read-only ordered mapping of ``member_name``:" +"``member`` items. It is only available on the class." +msgstr "" +":attr:`__members__` — це впорядковане зіставлення елементів ``member_name``:" +"``member`` лише для читання. Це доступно лише в класі." + +msgid "" +":meth:`__new__`, if specified, must create and return the enum members; it " +"is also a very good idea to set the member's :attr:`_value_` appropriately. " +"Once all the members are created it is no longer used." +msgstr "" +":meth:`__new__`, якщо вказано, має створити та повернути члени enum; також " +"дуже гарна ідея належним чином встановити :attr:`_value_` члена. Після " +"створення всіх учасників він більше не використовується." + +msgid "Supported ``_sunder_`` names" +msgstr "Підтримувані імена ``_sunder_``" + +msgid "``_name_`` -- name of the member" +msgstr "``_name_`` -- ім'я учасника" + +msgid "" +"``_value_`` -- value of the member; can be set / modified in ``__new__``" +msgstr "``_value_`` -- значення члена; можна встановити/змінити в ``__new__``" + +msgid "" +"``_missing_`` -- a lookup function used when a value is not found; may be " +"overridden" +msgstr "" +"``_missing_`` -- функція пошуку, яка використовується, коли значення не " +"знайдено; може бути перевизначено" + +msgid "" +"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:" +"`str`, that will not be transformed into members, and will be removed from " +"the final class" +msgstr "" +"``_ignore_`` -- список імен у вигляді :class:`list` або :class:`str`, які не " +"будуть перетворені в члени та будуть видалені з остаточного класу" + +msgid "" +"``_order_`` -- used in Python 2/3 code to ensure member order is consistent " +"(class attribute, removed during class creation)" +msgstr "" +"``_order_`` -- використовується в коді Python 2/3 для забезпечення " +"узгодженості порядку членів (атрибут класу, видалений під час створення " +"класу)" + +msgid "" +"``_generate_next_value_`` -- used by the `Functional API`_ and by :class:" +"`auto` to get an appropriate value for an enum member; may be overridden" +msgstr "" +"``_generate_next_value_`` -- використовується `Functional API`_ і :class:" +"`auto` для отримання відповідного значення для члена enum; може бути " +"перевизначено" + +msgid "" +"For standard :class:`Enum` classes the next value chosen is the last value " +"seen incremented by one." +msgstr "" +"Для стандартних класів :class:`Enum` наступним вибраним значенням є останнє " +"значення, збільшене на одиницю." + +msgid "" +"For :class:`Flag` classes the next value chosen will be the next highest " +"power-of-two, regardless of the last value seen." +msgstr "" +"Для класів :class:`Flag` наступним вибраним значенням буде наступний " +"найвищий ступінь двох, незалежно від останнього побаченого значення." + +msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" +msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" + +msgid "``_ignore_``" +msgstr "``_ігнорувати_``" + +msgid "" +"To help keep Python 2 / Python 3 code in sync an :attr:`_order_` attribute " +"can be provided. It will be checked against the actual order of the " +"enumeration and raise an error if the two do not match::" +msgstr "" +"Щоб підтримувати синхронізацію коду Python 2 / Python 3, можна надати " +"атрибут :attr:`_order_`. Його буде перевірено на фактичний порядок " +"перерахування та викличе помилку, якщо вони не збігаються:" + +msgid "" +"In Python 2 code the :attr:`_order_` attribute is necessary as definition " +"order is lost before it can be recorded." +msgstr "" +"У коді Python 2 атрибут :attr:`_order_` необхідний, оскільки порядок " +"визначення втрачається, перш ніж його можна записати." + +msgid "_Private__names" +msgstr "_Private__names" + +msgid "" +":ref:`Private names ` are not converted to enum " +"members, but remain normal attributes." +msgstr "" + +msgid "``Enum`` member type" +msgstr "Тип члена ``Enum``" + +msgid "" +"Enum members are instances of their enum class, and are normally accessed as " +"``EnumClass.member``. In Python versions ``3.5`` to ``3.10`` you could " +"access members from other members -- this practice was discouraged, and in " +"``3.11`` :class:`Enum` returns to not allowing it::" +msgstr "" + +msgid "Creating members that are mixed with other data types" +msgstr "Створення елементів, змішаних з іншими типами даних" + +msgid "" +"When subclassing other data types, such as :class:`int` or :class:`str`, " +"with an :class:`Enum`, all values after the ``=`` are passed to that data " +"type's constructor. For example::" +msgstr "" + +msgid "Boolean value of ``Enum`` classes and members" +msgstr "Логічне значення класів і членів ``Enum``" + +msgid "" +"Enum classes that are mixed with non-:class:`Enum` types (such as :class:" +"`int`, :class:`str`, etc.) are evaluated according to the mixed-in type's " +"rules; otherwise, all members evaluate as :data:`True`. To make your own " +"enum's boolean evaluation depend on the member's value add the following to " +"your class::" +msgstr "" +"Класи Enum, змішані з типами не :class:`Enum` (такими як :class:`int`, :" +"class:`str` тощо), оцінюються відповідно до правил змішаного типу; інакше " +"всі члени оцінюються як :data:`True`. Щоб зробити логічне обчислення вашого " +"власного переліку залежним від значення члена, додайте наступне до свого " +"класу:" + +msgid "Plain :class:`Enum` classes always evaluate as :data:`True`." +msgstr "Класи Plain :class:`Enum` завжди оцінюються як :data:`True`." + +msgid "``Enum`` classes with methods" +msgstr "``Enum`` класи з методами" + +msgid "" +"If you give your enum subclass extra methods, like the `Planet`_ class " +"below, those methods will show up in a :func:`dir` of the member, but not of " +"the class::" +msgstr "" + +msgid "Combining members of ``Flag``" +msgstr "Об'єднання членів ``Прапора``" + +msgid "" +"Iterating over a combination of :class:`Flag` members will only return the " +"members that are comprised of a single bit::" +msgstr "" +"Ітерація по комбінації елементів :class:`Flag` поверне лише елементи, які " +"складаються з одного біта::" + +msgid "``Flag`` and ``IntFlag`` minutia" +msgstr "Деталі ``Flag`` і ``IntFlag``" + +msgid "Using the following snippet for our examples::" +msgstr "Використовуючи наступний фрагмент для наших прикладів:" + +msgid "the following are true:" +msgstr "вірно наступне:" + +msgid "single-bit flags are canonical" +msgstr "однобітові прапори є канонічними" + +msgid "multi-bit and zero-bit flags are aliases" +msgstr "багатобітні та нульові бітові прапорці є псевдонімами" + +msgid "only canonical flags are returned during iteration::" +msgstr "під час ітерації повертаються лише канонічні прапори::" + +msgid "" +"negating a flag or flag set returns a new flag/flag set with the " +"corresponding positive integer value::" +msgstr "" +"заперечення прапора або набору прапорів повертає новий прапор/набір прапорів " +"із відповідним додатним цілим значенням::" + +msgid "names of pseudo-flags are constructed from their members' names::" +msgstr "імена псевдо-прапорів складаються з імен їх членів::" + +msgid "multi-bit flags, aka aliases, can be returned from operations::" +msgstr "" +"багатобітові прапорці, або псевдоніми, можуть бути повернуті з операцій::" + +msgid "" +"membership / containment checking: zero-valued flags are always considered " +"to be contained::" +msgstr "" + +msgid "" +"otherwise, only if all bits of one flag are in the other flag will True be " +"returned::" +msgstr "" + +msgid "" +"There is a new boundary mechanism that controls how out-of-range / invalid " +"bits are handled: ``STRICT``, ``CONFORM``, ``EJECT``, and ``KEEP``:" +msgstr "" +"Існує новий граничний механізм, який контролює, як обробляються біти за " +"межами діапазону/недійсні: ``STRICT``, ``CONFORM``, ``EJECT`` і ``KEEP``:" + +msgid "STRICT --> raises an exception when presented with invalid values" +msgstr "STRICT --> створює виняток, якщо надає недійсні значення" + +msgid "CONFORM --> discards any invalid bits" +msgstr "CONFORM --> відкидає всі недійсні біти" + +msgid "EJECT --> lose Flag status and become a normal int with the given value" +msgstr "" +"EJECT --> втрачає статус прапора та стає звичайним int із заданим значенням" + +msgid "KEEP --> keep the extra bits" +msgstr "KEEP --> збережіть зайві біти" + +msgid "keeps Flag status and extra bits" +msgstr "зберігає статус прапора та додаткові біти" + +msgid "extra bits do not show up in iteration" +msgstr "зайві біти не відображаються в ітерації" + +msgid "extra bits do show up in repr() and str()" +msgstr "додаткові біти з’являються в repr() і str()" + +msgid "" +"The default for Flag is ``STRICT``, the default for ``IntFlag`` is " +"``EJECT``, and the default for ``_convert_`` is ``KEEP`` (see ``ssl." +"Options`` for an example of when ``KEEP`` is needed)." +msgstr "" +"Типовим значенням для прапора є ``STRICT``, значенням за замовчуванням " +"``IntFlag`` є ``EJECT``, а за умовчанням для ``_convert_`` є ``KEEP`` (див. " +"``ssl.Options`` для прикладу того, коли потрібен ``KEEP``)." + +msgid "How are Enums different?" +msgstr "Чим відрізняються Enum?" + +msgid "" +"Enums have a custom metaclass that affects many aspects of both derived :" +"class:`Enum` classes and their instances (members)." +msgstr "" +"Переліки мають спеціальний метаклас, який впливає на багато аспектів як " +"похідних класів :class:`Enum`, так і їх екземплярів (членів)." + +msgid "Enum Classes" +msgstr "Класи Enum" + +msgid "" +"The :class:`EnumType` metaclass is responsible for providing the :meth:" +"`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that " +"allow one to do things with an :class:`Enum` class that fail on a typical " +"class, such as ``list(Color)`` or ``some_enum_var in Color``. :class:" +"`EnumType` is responsible for ensuring that various other methods on the " +"final :class:`Enum` class are correct (such as :meth:`__new__`, :meth:" +"`__getnewargs__`, :meth:`__str__` and :meth:`__repr__`)." +msgstr "" + +msgid "Enum Members (aka instances)" +msgstr "Члени Enum (також відомі як екземпляри)" + +msgid "" +"The most interesting thing about enum members is that they are singletons. :" +"class:`EnumType` creates them all while it is creating the enum class " +"itself, and then puts a custom :meth:`__new__` in place to ensure that no " +"new ones are ever instantiated by returning only the existing member " +"instances." +msgstr "" +"Найцікавіше в членах enum те, що вони є одиночними. :class:`EnumType` " +"створює їх усі під час створення самого класу enum, а потім розміщує " +"спеціальний :meth:`__new__`, щоб гарантувати, що нові екземпляри ніколи не " +"створюватимуться, повертаючи лише наявні екземпляри членів." + +msgid "" +"While :class:`Enum`, :class:`IntEnum`, :class:`StrEnum`, :class:`Flag`, and :" +"class:`IntFlag` are expected to cover the majority of use-cases, they cannot " +"cover them all. Here are recipes for some different types of enumerations " +"that can be used directly, or as examples for creating one's own." +msgstr "" +"Хоча очікується, що :class:`Enum`, :class:`IntEnum`, :class:`StrEnum`, :" +"class:`Flag` і :class:`IntFlag` охоплять більшість варіантів використання, " +"вони не можуть охопити їх усіх. Ось рецепти для деяких різних типів " +"перерахувань, які можна використовувати безпосередньо або як приклади для " +"створення власних." + +msgid "Omitting values" +msgstr "Пропуск значень" + +msgid "" +"In many use-cases, one doesn't care what the actual value of an enumeration " +"is. There are several ways to define this type of simple enumeration:" +msgstr "" + +msgid "use instances of :class:`auto` for the value" +msgstr "використовувати екземпляри :class:`auto` для значення" + +msgid "use instances of :class:`object` as the value" +msgstr "використовуйте екземпляри :class:`object` як значення" + +msgid "use a descriptive string as the value" +msgstr "використовуйте описовий рядок як значення" + +msgid "" +"use a tuple as the value and a custom :meth:`__new__` to replace the tuple " +"with an :class:`int` value" +msgstr "" +"використовуйте кортеж як значення та спеціальний :meth:`__new__`, щоб " +"замінити кортеж на значення :class:`int`" + +msgid "" +"Using any of these methods signifies to the user that these values are not " +"important, and also enables one to add, remove, or reorder members without " +"having to renumber the remaining members." +msgstr "" +"Використання будь-якого з цих методів означає для користувача, що ці " +"значення не є важливими, а також дозволяє додавати, видаляти або змінювати " +"порядок членів без необхідності перенумеровувати решту членів." + +msgid "Using :class:`auto`" +msgstr "Використання :class:`auto`" + +msgid "Using :class:`auto` would look like::" +msgstr "Використання :class:`auto` виглядатиме так::" + +msgid "Using :class:`object`" +msgstr "Використання :class:`object`" + +msgid "Using :class:`object` would look like::" +msgstr "Використання :class:`object` виглядатиме так::" + +msgid "" +"This is also a good example of why you might want to write your own :meth:" +"`__repr__`::" +msgstr "" + +msgid "Using a descriptive string" +msgstr "Використання описового рядка" + +msgid "Using a string as the value would look like::" +msgstr "Використання рядка як значення виглядатиме так::" + +msgid "Using a custom :meth:`__new__`" +msgstr "Використання спеціального :meth:`__new__`" + +msgid "Using an auto-numbering :meth:`__new__` would look like::" +msgstr "Використання автоматичної нумерації :meth:`__new__` виглядатиме так::" + +msgid "" +"To make a more general purpose ``AutoNumber``, add ``*args`` to the " +"signature::" +msgstr "" +"Щоб зробити ``AutoNumber`` більш загального призначення, додайте ``*args`` " +"до підпису::" + +msgid "" +"Then when you inherit from ``AutoNumber`` you can write your own " +"``__init__`` to handle any extra arguments::" +msgstr "" +"Тоді, коли ви успадкуєте від ``AutoNumber``, ви можете написати свій власний " +"``__init__`` для обробки будь-яких додаткових аргументів::" + +msgid "" +"The :meth:`__new__` method, if defined, is used during creation of the Enum " +"members; it is then replaced by Enum's :meth:`__new__` which is used after " +"class creation for lookup of existing members." +msgstr "" +"Метод :meth:`__new__`, якщо його визначено, використовується під час " +"створення елементів Enum; потім його замінює :meth:`__new__` Enum, який " +"використовується після створення класу для пошуку існуючих членів." + +msgid "OrderedEnum" +msgstr "OrderedEnum" + +msgid "" +"An ordered enumeration that is not based on :class:`IntEnum` and so " +"maintains the normal :class:`Enum` invariants (such as not being comparable " +"to other enumerations)::" +msgstr "" +"Упорядковане перерахування, яке не базується на :class:`IntEnum` і тому " +"підтримує звичайні інваріанти :class:`Enum` (наприклад, не порівнюється з " +"іншими переліками):" + +msgid "DuplicateFreeEnum" +msgstr "DuplicateFreeEnum" + +msgid "" +"Raises an error if a duplicate member value is found instead of creating an " +"alias::" +msgstr "" + +msgid "" +"This is a useful example for subclassing Enum to add or change other " +"behaviors as well as disallowing aliases. If the only desired change is " +"disallowing aliases, the :func:`unique` decorator can be used instead." +msgstr "" +"Це корисний приклад для підкласу Enum для додавання або зміни іншої " +"поведінки, а також заборони псевдонімів. Якщо єдиною бажаною зміною є " +"заборона псевдонімів, натомість можна використати декоратор :func:`unique`." + +msgid "Planet" +msgstr "Планета" + +msgid "" +"If :meth:`__new__` or :meth:`__init__` is defined, the value of the enum " +"member will be passed to those methods::" +msgstr "" + +msgid "TimePeriod" +msgstr "Період часу" + +msgid "An example to show the :attr:`_ignore_` attribute in use::" +msgstr "Приклад використання атрибута :attr:`_ignore_`::" + +msgid "Subclassing EnumType" +msgstr "Підклас EnumType" + +msgid "" +"While most enum needs can be met by customizing :class:`Enum` subclasses, " +"either with class decorators or custom functions, :class:`EnumType` can be " +"subclassed to provide a different Enum experience." +msgstr "" +"У той час як більшість потреб enum можна задовольнити, налаштувавши " +"підкласи :class:`Enum`, або за допомогою декораторів класів, або " +"користувацьких функцій, :class:`EnumType` можна створити підкласи, щоб " +"забезпечити інший досвід Enum." diff --git a/howto/functional.po b/howto/functional.po new file mode 100644 index 000000000..813b03928 --- /dev/null +++ b/howto/functional.po @@ -0,0 +1,1696 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Functional Programming HOWTO" +msgstr "Функціональне програмування HOWTO" + +msgid "Author" +msgstr "Автор" + +msgid "A. M. Kuchling" +msgstr "A. M. Kuchling" + +msgid "Release" +msgstr "Реліз" + +msgid "0.32" +msgstr "0,32" + +msgid "" +"In this document, we'll take a tour of Python's features suitable for " +"implementing programs in a functional style. After an introduction to the " +"concepts of functional programming, we'll look at language features such as :" +"term:`iterator`\\s and :term:`generator`\\s and relevant library modules " +"such as :mod:`itertools` and :mod:`functools`." +msgstr "" +"У цьому документі ми ознайомимося з функціями Python, придатними для " +"реалізації програм у функціональному стилі. Після вступу до концепцій " +"функціонального програмування ми розглянемо функції мови, такі як :term:" +"`iterator`\\s і :term:`generator`\\s, а також відповідні бібліотечні модулі, " +"такі як :mod:`itertools` і :mod:`functools`." + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"This section explains the basic concept of functional programming; if you're " +"just interested in learning about Python language features, skip to the next " +"section on :ref:`functional-howto-iterators`." +msgstr "" +"У цьому розділі пояснюється основна концепція функціонального програмування; " +"якщо вам просто цікаво дізнатися про функції мови Python, перейдіть до " +"наступного розділу :ref:`functional-howto-iterators`." + +msgid "" +"Programming languages support decomposing problems in several different ways:" +msgstr "" +"Мови програмування підтримують декомпозицію проблем кількома різними " +"способами:" + +msgid "" +"Most programming languages are **procedural**: programs are lists of " +"instructions that tell the computer what to do with the program's input. C, " +"Pascal, and even Unix shells are procedural languages." +msgstr "" +"Більшість мов програмування є **процедурними**: програми — це списки " +"інструкцій, які вказують комп’ютеру, що робити з вхідними даними програми. " +"C, Pascal і навіть оболонки Unix є процедурними мовами." + +msgid "" +"In **declarative** languages, you write a specification that describes the " +"problem to be solved, and the language implementation figures out how to " +"perform the computation efficiently. SQL is the declarative language you're " +"most likely to be familiar with; a SQL query describes the data set you want " +"to retrieve, and the SQL engine decides whether to scan tables or use " +"indexes, which subclauses should be performed first, etc." +msgstr "" +"У **декларативних** мовах ви пишете специфікацію, яка описує проблему, яку " +"потрібно вирішити, а реалізація мови визначає, як виконати обчислення " +"ефективно. SQL — це декларативна мова, з якою ви, швидше за все, знайомі; " +"SQL-запит описує набір даних, який ви хочете отримати, і механізм SQL " +"вирішує, сканувати таблиці чи використовувати індекси, які підпункти слід " +"виконати першими тощо." + +msgid "" +"**Object-oriented** programs manipulate collections of objects. Objects " +"have internal state and support methods that query or modify this internal " +"state in some way. Smalltalk and Java are object-oriented languages. C++ " +"and Python are languages that support object-oriented programming, but don't " +"force the use of object-oriented features." +msgstr "" +"**Об’єктно-орієнтовані** програми маніпулюють колекціями об’єктів. Об’єкти " +"мають внутрішній стан і підтримують методи, які певним чином запитують або " +"змінюють цей внутрішній стан. Smalltalk і Java є об'єктно-орієнтованими " +"мовами. C++ і Python — це мови, які підтримують об’єктно-орієнтоване " +"програмування, але не примусово використовують об’єктно-орієнтовані функції." + +msgid "" +"**Functional** programming decomposes a problem into a set of functions. " +"Ideally, functions only take inputs and produce outputs, and don't have any " +"internal state that affects the output produced for a given input. Well-" +"known functional languages include the ML family (Standard ML, OCaml, and " +"other variants) and Haskell." +msgstr "" +"**Функціональне** програмування розкладає проблему на набір функцій. В " +"ідеалі функції лише приймають вхідні дані та виробляють виходи, і не мають " +"жодного внутрішнього стану, який впливає на вихідні дані, отримані для " +"даного вхідного елемента. Добре відомі функціональні мови включають " +"сімейство ML (Standard ML, OCaml та інші варіанти) і Haskell." + +msgid "" +"The designers of some computer languages choose to emphasize one particular " +"approach to programming. This often makes it difficult to write programs " +"that use a different approach. Other languages are multi-paradigm languages " +"that support several different approaches. Lisp, C++, and Python are multi-" +"paradigm; you can write programs or libraries that are largely procedural, " +"object-oriented, or functional in all of these languages. In a large " +"program, different sections might be written using different approaches; the " +"GUI might be object-oriented while the processing logic is procedural or " +"functional, for example." +msgstr "" +"Розробники деяких комп’ютерних мов вирішують наголосити на одному " +"конкретному підході до програмування. Це часто ускладнює написання програм, " +"які використовують інший підхід. Інші мови є мовами з кількома парадигмами, " +"які підтримують кілька різних підходів. Lisp, C++ і Python є " +"мультипарадигмальними; ви можете писати програми або бібліотеки, які в " +"основному є процедурними, об'єктно-орієнтованими або функціональними на всіх " +"цих мовах. У великій програмі різні розділи можуть бути написані з " +"використанням різних підходів; GUI може бути об'єктно-орієнтованим, тоді як " +"логіка обробки є процедурною або функціональною, наприклад." + +msgid "" +"In a functional program, input flows through a set of functions. Each " +"function operates on its input and produces some output. Functional style " +"discourages functions with side effects that modify internal state or make " +"other changes that aren't visible in the function's return value. Functions " +"that have no side effects at all are called **purely functional**. Avoiding " +"side effects means not using data structures that get updated as a program " +"runs; every function's output must only depend on its input." +msgstr "" +"У функціональній програмі введення проходить через набір функцій. Кожна " +"функція працює зі своїм входом і видає певний результат. Функціональний " +"стиль не заохочує функції з побічними ефектами, які змінюють внутрішній стан " +"або вносять інші зміни, які не видно у значенні, що повертається функцією. " +"Функції, які взагалі не мають побічних ефектів, називаються **чисто " +"функціональними**. Уникати побічних ефектів означає не використовувати " +"структури даних, які оновлюються під час виконання програми; кожен вихід " +"функції повинен залежати лише від її входу." + +msgid "" +"Some languages are very strict about purity and don't even have assignment " +"statements such as ``a=3`` or ``c = a + b``, but it's difficult to avoid all " +"side effects, such as printing to the screen or writing to a disk file. " +"Another example is a call to the :func:`print` or :func:`time.sleep` " +"function, neither of which returns a useful value. Both are called only for " +"their side effects of sending some text to the screen or pausing execution " +"for a second." +msgstr "" +"Деякі мови дуже суворі щодо чистоти й навіть не мають операторів присвоєння, " +"таких як ``a=3`` або ``c = a + b``, але важко уникнути всіх побічних " +"ефектів, таких як друк на екрані або запис у файл диска. Іншим прикладом є " +"виклик функції :func:`print` або :func:`time.sleep`, жодна з яких не " +"повертає корисне значення. Обидва викликаються лише через побічні ефекти " +"надсилання тексту на екран або призупинення виконання на секунду." + +msgid "" +"Python programs written in functional style usually won't go to the extreme " +"of avoiding all I/O or all assignments; instead, they'll provide a " +"functional-appearing interface but will use non-functional features " +"internally. For example, the implementation of a function will still use " +"assignments to local variables, but won't modify global variables or have " +"other side effects." +msgstr "" +"Програми на Python, написані у функціональному стилі, зазвичай не йдуть до " +"крайнощів, щоб уникнути всього вводу-виводу або всіх призначень; замість " +"цього вони забезпечуватимуть функціональний інтерфейс, але " +"використовуватимуть нефункціональні функції всередині. Наприклад, реалізація " +"функції все одно використовуватиме призначення локальним змінним, але не " +"змінюватиме глобальні змінні чи матиме інші побічні ефекти." + +msgid "" +"Functional programming can be considered the opposite of object-oriented " +"programming. Objects are little capsules containing some internal state " +"along with a collection of method calls that let you modify this state, and " +"programs consist of making the right set of state changes. Functional " +"programming wants to avoid state changes as much as possible and works with " +"data flowing between functions. In Python you might combine the two " +"approaches by writing functions that take and return instances representing " +"objects in your application (e-mail messages, transactions, etc.)." +msgstr "" +"Функціональне програмування можна вважати протилежністю об'єктно-" +"орієнтованого програмування. Об’єкти — це маленькі капсули, що містять " +"певний внутрішній стан разом із набором викликів методів, які дозволяють " +"змінювати цей стан, а програми складаються із внесення правильних змін " +"стану. Функціональне програмування хоче якомога більше уникати змін стану та " +"працює з потоком даних між функціями. У Python ви можете поєднати два " +"підходи, написавши функції, які приймають і повертають екземпляри, що " +"представляють об’єкти у вашій програмі (повідомлення електронної пошти, " +"транзакції тощо)." + +msgid "" +"Functional design may seem like an odd constraint to work under. Why should " +"you avoid objects and side effects? There are theoretical and practical " +"advantages to the functional style:" +msgstr "" +"Функціональний дизайн може здатися дивним обмеженням для роботи. Чому слід " +"уникати предметів і побічних ефектів? Існують теоретичні та практичні " +"переваги функціонального стилю:" + +msgid "Formal provability." +msgstr "Формальна доказовість." + +msgid "Modularity." +msgstr "Модульність." + +msgid "Composability." +msgstr "Композиційність." + +msgid "Ease of debugging and testing." +msgstr "Простота налагодження та тестування." + +msgid "Formal provability" +msgstr "Формальна доказовість" + +msgid "" +"A theoretical benefit is that it's easier to construct a mathematical proof " +"that a functional program is correct." +msgstr "" +"Теоретична перевага полягає в тому, що легше побудувати математичний доказ " +"правильності функціональної програми." + +msgid "" +"For a long time researchers have been interested in finding ways to " +"mathematically prove programs correct. This is different from testing a " +"program on numerous inputs and concluding that its output is usually " +"correct, or reading a program's source code and concluding that the code " +"looks right; the goal is instead a rigorous proof that a program produces " +"the right result for all possible inputs." +msgstr "" +"Довгий час дослідники були зацікавлені в пошуку способів математичної " +"перевірки правильності програм. Це відрізняється від тестування програми на " +"численних вхідних даних і висновку, що її вихід зазвичай правильний, або " +"читання вихідного коду програми та висновку, що код виглядає правильно; " +"натомість метою є суворий доказ того, що програма дає правильний результат " +"для всіх можливих вхідних даних." + +msgid "" +"The technique used to prove programs correct is to write down " +"**invariants**, properties of the input data and of the program's variables " +"that are always true. For each line of code, you then show that if " +"invariants X and Y are true **before** the line is executed, the slightly " +"different invariants X' and Y' are true **after** the line is executed. " +"This continues until you reach the end of the program, at which point the " +"invariants should match the desired conditions on the program's output." +msgstr "" +"Техніка, яка використовується для підтвердження правильності програм, " +"полягає в записі **інваріантів**, властивостей вхідних даних і змінних " +"програми, які завжди є істинними. Для кожного рядка коду ви потім показуєте, " +"що якщо інваріанти X і Y істинні **до** виконання рядка, дещо інші " +"інваріанти X' і Y' є істинними **після** виконання рядка. Це продовжується, " +"доки ви не досягнете кінця програми, після чого інваріанти повинні " +"відповідати бажаним умовам на виході програми." + +msgid "" +"Functional programming's avoidance of assignments arose because assignments " +"are difficult to handle with this technique; assignments can break " +"invariants that were true before the assignment without producing any new " +"invariants that can be propagated onward." +msgstr "" +"Уникання присвоєння у функціональному програмуванні виникло тому, що " +"присвоєння важко обробляти за допомогою цієї техніки; призначення можуть " +"порушувати інваріанти, які були істинними до призначення, не створюючи " +"жодних нових інваріантів, які можна поширювати далі." + +msgid "" +"Unfortunately, proving programs correct is largely impractical and not " +"relevant to Python software. Even trivial programs require proofs that are " +"several pages long; the proof of correctness for a moderately complicated " +"program would be enormous, and few or none of the programs you use daily " +"(the Python interpreter, your XML parser, your web browser) could be proven " +"correct. Even if you wrote down or generated a proof, there would then be " +"the question of verifying the proof; maybe there's an error in it, and you " +"wrongly believe you've proved the program correct." +msgstr "" +"На жаль, перевірка правильності програм в основному непрактична і не " +"стосується програмного забезпечення Python. Навіть тривіальні програми " +"вимагають доказів довжиною кілька сторінок; докази правильності для помірно " +"складної програми були б величезними, і мало або жодна з програм, якими ви " +"користуєтеся щодня (інтерпретатор Python, ваш аналізатор XML, ваш веб-" +"браузер), може бути доведена правильною. Навіть якщо ви записали або " +"згенерували доказ, тоді виникне питання перевірки доказу; можливо, у ньому є " +"помилка, і ви помилково вважаєте, що довели правильність програми." + +msgid "Modularity" +msgstr "Модульність" + +msgid "" +"A more practical benefit of functional programming is that it forces you to " +"break apart your problem into small pieces. Programs are more modular as a " +"result. It's easier to specify and write a small function that does one " +"thing than a large function that performs a complicated transformation. " +"Small functions are also easier to read and to check for errors." +msgstr "" +"Більш практична перевага функціонального програмування полягає в тому, що " +"воно змушує вас розбивати проблему на дрібні частини. В результаті програми " +"стають більш модульними. Простіше вказати та написати невелику функцію, яка " +"виконує щось одне, ніж велику функцію, яка виконує складне перетворення. " +"Невеликі функції також легше читати та перевіряти на наявність помилок." + +msgid "Ease of debugging and testing" +msgstr "Простота налагодження та тестування" + +msgid "Testing and debugging a functional-style program is easier." +msgstr "Тестування та налагодження програми у функціональному стилі легше." + +msgid "" +"Debugging is simplified because functions are generally small and clearly " +"specified. When a program doesn't work, each function is an interface point " +"where you can check that the data are correct. You can look at the " +"intermediate inputs and outputs to quickly isolate the function that's " +"responsible for a bug." +msgstr "" +"Налагодження спрощене, оскільки функції, як правило, невеликі та чітко " +"визначені. Коли програма не працює, кожна функція є точкою інтерфейсу, де " +"можна перевірити правильність даних. Ви можете переглянути проміжні входи та " +"виходи, щоб швидко виділити функцію, яка є відповідальною за помилку." + +msgid "" +"Testing is easier because each function is a potential subject for a unit " +"test. Functions don't depend on system state that needs to be replicated " +"before running a test; instead you only have to synthesize the right input " +"and then check that the output matches expectations." +msgstr "" +"Тестування легше, тому що кожна функція є потенційним предметом модульного " +"тесту. Функції не залежать від стану системи, який потрібно відтворити перед " +"виконанням тесту; натомість вам потрібно лише синтезувати правильні вхідні " +"дані, а потім перевірити, чи результат відповідає очікуванням." + +msgid "Composability" +msgstr "Композиційність" + +msgid "" +"As you work on a functional-style program, you'll write a number of " +"functions with varying inputs and outputs. Some of these functions will be " +"unavoidably specialized to a particular application, but others will be " +"useful in a wide variety of programs. For example, a function that takes a " +"directory path and returns all the XML files in the directory, or a function " +"that takes a filename and returns its contents, can be applied to many " +"different situations." +msgstr "" +"Працюючи над програмою функціонального стилю, ви напишете ряд функцій із " +"різними входами та виходами. Деякі з цих функцій неминуче будуть " +"спеціалізовані для конкретної програми, але інші будуть корисні в широкому " +"спектрі програм. Наприклад, функцію, яка приймає шлях до каталогу та " +"повертає всі файли XML у каталозі, або функцію, яка приймає ім’я файлу та " +"повертає його вміст, можна застосувати до багатьох різних ситуацій." + +msgid "" +"Over time you'll form a personal library of utilities. Often you'll " +"assemble new programs by arranging existing functions in a new configuration " +"and writing a few functions specialized for the current task." +msgstr "" +"З часом ви сформуєте особисту бібліотеку утиліт. Часто ви збираєте нові " +"програми, організовуючи існуючі функції в новій конфігурації та написавши " +"кілька функцій, спеціалізованих для поточного завдання." + +msgid "Iterators" +msgstr "Ітератори" + +msgid "" +"I'll start by looking at a Python language feature that's an important " +"foundation for writing functional-style programs: iterators." +msgstr "" +"Я почну з вивчення функції мови Python, яка є важливою основою для написання " +"програм у функціональному стилі: ітератори." + +msgid "" +"An iterator is an object representing a stream of data; this object returns " +"the data one element at a time. A Python iterator must support a method " +"called :meth:`~iterator.__next__` that takes no arguments and always returns " +"the next element of the stream. If there are no more elements in the " +"stream, :meth:`~iterator.__next__` must raise the :exc:`StopIteration` " +"exception. Iterators don't have to be finite, though; it's perfectly " +"reasonable to write an iterator that produces an infinite stream of data." +msgstr "" +"Ітератор - це об'єкт, що представляє потік даних; цей об’єкт повертає дані " +"по одному елементу за раз. Ітератор Python має підтримувати метод під " +"назвою :meth:`~iterator.__next__`, який не приймає аргументів і завжди " +"повертає наступний елемент потоку. Якщо в потоці більше немає елементів, :" +"meth:`~iterator.__next__` має викликати виняток :exc:`StopIteration`. Проте " +"ітератори не обов’язково мають бути кінцевими; цілком розумно написати " +"ітератор, який створює нескінченний потік даних." + +msgid "" +"The built-in :func:`iter` function takes an arbitrary object and tries to " +"return an iterator that will return the object's contents or elements, " +"raising :exc:`TypeError` if the object doesn't support iteration. Several " +"of Python's built-in data types support iteration, the most common being " +"lists and dictionaries. An object is called :term:`iterable` if you can get " +"an iterator for it." +msgstr "" +"Вбудована функція :func:`iter` приймає довільний об’єкт і намагається " +"повернути ітератор, який повертатиме вміст або елементи об’єкта, викликаючи :" +"exc:`TypeError`, якщо об’єкт не підтримує ітерацію. Кілька вбудованих типів " +"даних Python підтримують ітерацію, найпоширенішими з яких є списки та " +"словники. Об’єкт називається :term:`iterable`, якщо ви можете отримати для " +"нього ітератор." + +msgid "You can experiment with the iteration interface manually:" +msgstr "Ви можете експериментувати з інтерфейсом ітерації вручну:" + +msgid "" +"Python expects iterable objects in several different contexts, the most " +"important being the :keyword:`for` statement. In the statement ``for X in " +"Y``, Y must be an iterator or some object for which :func:`iter` can create " +"an iterator. These two statements are equivalent::" +msgstr "" +"Python очікує ітерованих об’єктів у кількох різних контекстах, найважливішим " +"з яких є оператор :keyword:`for`. У операторі ``для X в Y`` Y має бути " +"ітератором або деяким об’єктом, для якого :func:`iter` може створити " +"ітератор. Ці два твердження еквівалентні:" + +msgid "" +"Iterators can be materialized as lists or tuples by using the :func:`list` " +"or :func:`tuple` constructor functions:" +msgstr "" +"Ітератори можна матеріалізувати як списки або кортежі за допомогою функцій " +"конструктора :func:`list` або :func:`tuple`:" + +msgid "" +"Sequence unpacking also supports iterators: if you know an iterator will " +"return N elements, you can unpack them into an N-tuple:" +msgstr "" +"Розпакування послідовності також підтримує ітератори: якщо ви знаєте, що " +"ітератор поверне N елементів, ви можете розпакувати їх у N-кортеж:" + +msgid "" +"Built-in functions such as :func:`max` and :func:`min` can take a single " +"iterator argument and will return the largest or smallest element. The ``" +"\"in\"`` and ``\"not in\"`` operators also support iterators: ``X in " +"iterator`` is true if X is found in the stream returned by the iterator. " +"You'll run into obvious problems if the iterator is infinite; :func:`max`, :" +"func:`min` will never return, and if the element X never appears in the " +"stream, the ``\"in\"`` and ``\"not in\"`` operators won't return either." +msgstr "" +"Вбудовані функції, такі як :func:`max` і :func:`min`, можуть приймати один " +"аргумент ітератора та повертати найбільший або найменший елемент. Оператори " +"``\"in\"`` і ``\"not in\"`` також підтримують ітератори: ``X в ітераторі`` є " +"істинним, якщо X знайдено в потоці, повернутому ітератором. Ви зіткнетеся з " +"очевидними проблемами, якщо ітератор нескінченний; :func:`max`, :func:`min` " +"ніколи не повертаються, а якщо елемент X ніколи не з’являється в потоці, " +"оператори ``\"in\"`` і ``\"not in\"`` не повертаються або." + +msgid "" +"Note that you can only go forward in an iterator; there's no way to get the " +"previous element, reset the iterator, or make a copy of it. Iterator " +"objects can optionally provide these additional capabilities, but the " +"iterator protocol only specifies the :meth:`~iterator.__next__` method. " +"Functions may therefore consume all of the iterator's output, and if you " +"need to do something different with the same stream, you'll have to create a " +"new iterator." +msgstr "" +"Зауважте, що в ітераторі можна рухатися лише вперед; немає способу отримати " +"попередній елемент, скинути ітератор або зробити його копію. Об’єкти-" +"ітератори можуть додатково надавати ці додаткові можливості, але протокол " +"ітераторів визначає лише метод :meth:`~iterator.__next__`. Тому функції " +"можуть споживати весь вихід ітератора, і якщо вам потрібно зробити щось інше " +"з тим самим потоком, вам доведеться створити новий ітератор." + +msgid "Data Types That Support Iterators" +msgstr "Типи даних, які підтримують ітератори" + +msgid "" +"We've already seen how lists and tuples support iterators. In fact, any " +"Python sequence type, such as strings, will automatically support creation " +"of an iterator." +msgstr "" +"Ми вже бачили, як списки та кортежі підтримують ітератори. Насправді будь-" +"який тип послідовності Python, наприклад рядки, автоматично підтримуватиме " +"створення ітератора." + +msgid "" +"Calling :func:`iter` on a dictionary returns an iterator that will loop over " +"the dictionary's keys::" +msgstr "" +"Виклик :func:`iter` для словника повертає ітератор, який перебиратиме ключі " +"словника::" + +msgid "" +"Note that starting with Python 3.7, dictionary iteration order is guaranteed " +"to be the same as the insertion order. In earlier versions, the behaviour " +"was unspecified and could vary between implementations." +msgstr "" +"Зауважте, що, починаючи з Python 3.7, порядок ітерацій словника гарантовано " +"збігається з порядком вставки. У попередніх версіях поведінка була " +"невизначеною та могла відрізнятися в різних реалізаціях." + +msgid "" +"Applying :func:`iter` to a dictionary always loops over the keys, but " +"dictionaries have methods that return other iterators. If you want to " +"iterate over values or key/value pairs, you can explicitly call the :meth:" +"`~dict.values` or :meth:`~dict.items` methods to get an appropriate iterator." +msgstr "" +"Застосування :func:`iter` до словника завжди повторює ключі, але словники " +"мають методи, які повертають інші ітератори. Якщо ви хочете перебирати " +"значення або пари ключ/значення, ви можете явно викликати методи :meth:" +"`~dict.values` або :meth:`~dict.items`, щоб отримати відповідний ітератор." + +msgid "" +"The :func:`dict` constructor can accept an iterator that returns a finite " +"stream of ``(key, value)`` tuples:" +msgstr "" +"Конструктор :func:`dict` може приймати ітератор, який повертає кінцевий " +"потік кортежів ``(ключ, значення)``:" + +msgid "" +"Files also support iteration by calling the :meth:`~io.TextIOBase.readline` " +"method until there are no more lines in the file. This means you can read " +"each line of a file like this::" +msgstr "" +"Файли також підтримують ітерацію шляхом виклику методу :meth:`~io.TextIOBase." +"readline`, доки у файлі не залишиться рядків. Це означає, що ви можете " +"читати кожен рядок файлу таким чином:" + +msgid "" +"Sets can take their contents from an iterable and let you iterate over the " +"set's elements::" +msgstr "" +"Набори можуть брати свій вміст із ітерованого елемента й дозволяти вам " +"перебирати елементи набору:" + +msgid "Generator expressions and list comprehensions" +msgstr "Генератор виразів і розуміння списків" + +msgid "" +"Two common operations on an iterator's output are 1) performing some " +"operation for every element, 2) selecting a subset of elements that meet " +"some condition. For example, given a list of strings, you might want to " +"strip off trailing whitespace from each line or extract all the strings " +"containing a given substring." +msgstr "" +"Дві загальні операції на виході ітератора: 1) виконання певної операції для " +"кожного елемента, 2) вибір підмножини елементів, які відповідають певній " +"умові. Наприклад, маючи список рядків, ви можете видалити кінцеві пробіли з " +"кожного рядка або витягти всі рядки, що містять певний підрядок." + +msgid "" +"List comprehensions and generator expressions (short form: \"listcomps\" and " +"\"genexps\") are a concise notation for such operations, borrowed from the " +"functional programming language Haskell (https://www.haskell.org/). You can " +"strip all the whitespace from a stream of strings with the following code::" +msgstr "" +"Розуміння списків і вирази генератора (скорочена форма: \"listcomps\" і " +"\"genexps\") є короткою нотацією для таких операцій, запозиченої з " +"функціональної мови програмування Haskell (https://www.haskell.org/). Ви " +"можете видалити всі пробіли з потоку рядків за допомогою такого коду::" + +msgid "" +"You can select only certain elements by adding an ``\"if\"`` condition::" +msgstr "Ви можете вибрати лише певні елементи, додавши умову ``\"if\"``::" + +msgid "" +"With a list comprehension, you get back a Python list; ``stripped_list`` is " +"a list containing the resulting lines, not an iterator. Generator " +"expressions return an iterator that computes the values as necessary, not " +"needing to materialize all the values at once. This means that list " +"comprehensions aren't useful if you're working with iterators that return an " +"infinite stream or a very large amount of data. Generator expressions are " +"preferable in these situations." +msgstr "" +"З розумінням списку ви отримуєте список Python; ``stripped_list`` – це " +"список, що містить отримані рядки, а не ітератор. Вирази генератора " +"повертають ітератор, який обчислює значення за потреби, не потребуючи " +"матеріалізації всіх значень одночасно. Це означає, що розуміння списку не є " +"корисним, якщо ви працюєте з ітераторами, які повертають нескінченний потік " +"або дуже великий обсяг даних. Вирази-генератори є кращими в цих ситуаціях." + +msgid "" +"Generator expressions are surrounded by parentheses (\"()\") and list " +"comprehensions are surrounded by square brackets (\"[]\"). Generator " +"expressions have the form::" +msgstr "" +"Вирази генератора оточені дужками (\"()\"), а розуміння списків оточені " +"квадратними дужками (\"[]\"). Вирази генератора мають вигляд::" + +msgid "" +"Again, for a list comprehension only the outside brackets are different " +"(square brackets instead of parentheses)." +msgstr "" +"Знову ж таки, для розуміння списку відрізняються лише зовнішні дужки " +"(квадратні дужки замість дужок)." + +msgid "" +"The elements of the generated output will be the successive values of " +"``expression``. The ``if`` clauses are all optional; if present, " +"``expression`` is only evaluated and added to the result when ``condition`` " +"is true." +msgstr "" +"Елементи згенерованого результату будуть послідовними значеннями ``виразу``. " +"Речення ``if`` є необов'язковими; якщо присутнє, ``вираз`` обчислюється та " +"додається до результату лише тоді, коли ``умова`` є істинною." + +msgid "" +"Generator expressions always have to be written inside parentheses, but the " +"parentheses signalling a function call also count. If you want to create an " +"iterator that will be immediately passed to a function you can write::" +msgstr "" +"Вирази генератора завжди мають бути записані в дужках, але дужки, що " +"сигналізують про виклик функції, також враховуються. Якщо ви хочете створити " +"ітератор, який буде негайно передано функції, ви можете написати::" + +msgid "" +"The ``for...in`` clauses contain the sequences to be iterated over. The " +"sequences do not have to be the same length, because they are iterated over " +"from left to right, **not** in parallel. For each element in ``sequence1``, " +"``sequence2`` is looped over from the beginning. ``sequence3`` is then " +"looped over for each resulting pair of elements from ``sequence1`` and " +"``sequence2``." +msgstr "" +"Речення ``for...in`` містять послідовності, які потрібно повторити. " +"Послідовності не обов’язково мають бути однакової довжини, оскільки вони " +"повторюються зліва направо, **не** паралельно. Для кожного елемента в " +"``sequence1`` ``sequence2`` повторюється з самого початку. Після цього " +"``sequence3`` виконується в циклі для кожної отриманої пари елементів з " +"``sequence1`` і ``sequence2``." + +msgid "" +"To put it another way, a list comprehension or generator expression is " +"equivalent to the following Python code::" +msgstr "" +"Іншими словами, вираз розуміння списку або генератор еквівалентний такому " +"коду Python::" + +msgid "" +"This means that when there are multiple ``for...in`` clauses but no ``if`` " +"clauses, the length of the resulting output will be equal to the product of " +"the lengths of all the sequences. If you have two lists of length 3, the " +"output list is 9 elements long:" +msgstr "" +"Це означає, що коли є кілька пропозицій ``for...in``, але немає пропозицій " +"``if``, довжина результату буде дорівнювати добутку довжин усіх " +"послідовностей. Якщо у вас є два списки довжиною 3, вихідний список " +"складається з 9 елементів:" + +msgid "" +"To avoid introducing an ambiguity into Python's grammar, if ``expression`` " +"is creating a tuple, it must be surrounded with parentheses. The first list " +"comprehension below is a syntax error, while the second one is correct::" +msgstr "" +"Щоб уникнути неоднозначності в граматиці Python, якщо ``вираз`` створює " +"кортеж, він повинен бути оточений дужками. Перше розуміння списку нижче є " +"синтаксичною помилкою, тоді як друге є правильним:" + +msgid "Generators" +msgstr "Генератори" + +msgid "" +"Generators are a special class of functions that simplify the task of " +"writing iterators. Regular functions compute a value and return it, but " +"generators return an iterator that returns a stream of values." +msgstr "" +"Генератори — це спеціальний клас функцій, які спрощують завдання написання " +"ітераторів. Звичайні функції обчислюють значення та повертають його, але " +"генератори повертають ітератор, який повертає потік значень." + +msgid "" +"You're doubtless familiar with how regular function calls work in Python or " +"C. When you call a function, it gets a private namespace where its local " +"variables are created. When the function reaches a ``return`` statement, " +"the local variables are destroyed and the value is returned to the caller. " +"A later call to the same function creates a new private namespace and a " +"fresh set of local variables. But, what if the local variables weren't " +"thrown away on exiting a function? What if you could later resume the " +"function where it left off? This is what generators provide; they can be " +"thought of as resumable functions." +msgstr "" +"Ви, безсумнівно, знайомі з тим, як працюють звичайні виклики функцій у " +"Python або C. Коли ви викликаєте функцію, вона отримує приватний простір " +"імен, де створюються її локальні змінні. Коли функція досягає оператора " +"``return``, локальні змінні знищуються, а значення повертається " +"викликаючому. Пізніший виклик тієї ж функції створює новий приватний простір " +"імен і новий набір локальних змінних. Але що, якби локальні змінні не були " +"викинуті під час виходу з функції? Що, якби ви могли пізніше відновити " +"функцію, де вона була зупинена? Це те, що забезпечують генератори; їх можна " +"розглядати як відновлювані функції." + +msgid "Here's the simplest example of a generator function:" +msgstr "Ось найпростіший приклад функції генератора:" + +msgid "" +"Any function containing a :keyword:`yield` keyword is a generator function; " +"this is detected by Python's :term:`bytecode` compiler which compiles the " +"function specially as a result." +msgstr "" +"Будь-яка функція, що містить ключове слово :keyword:`yield`, є функцією-" +"генератором; це виявляється компілятором :term:`bytecode` Python, який " +"спеціально компілює функцію в результаті." + +msgid "" +"When you call a generator function, it doesn't return a single value; " +"instead it returns a generator object that supports the iterator protocol. " +"On executing the ``yield`` expression, the generator outputs the value of " +"``i``, similar to a ``return`` statement. The big difference between " +"``yield`` and a ``return`` statement is that on reaching a ``yield`` the " +"generator's state of execution is suspended and local variables are " +"preserved. On the next call to the generator's :meth:`~generator.__next__` " +"method, the function will resume executing." +msgstr "" +"Коли ви викликаєте функцію генератора, вона не повертає жодного значення; " +"замість цього він повертає об'єкт генератора, який підтримує протокол " +"ітератора. Під час виконання виразу ``yield`` генератор виводить значення " +"``i``, подібно до оператора ``return``. Велика різниця між оператором " +"``yield`` і оператором ``return`` полягає в тому, що після досягнення " +"``yield`` стан виконання генератора призупиняється, а локальні змінні " +"зберігаються. Під час наступного виклику методу генератора :meth:`~generator." +"__next__` функція відновить виконання." + +msgid "Here's a sample usage of the ``generate_ints()`` generator:" +msgstr "Ось приклад використання генератора ``generate_ints()``:" + +msgid "" +"You could equally write ``for i in generate_ints(5)``, or ``a, b, c = " +"generate_ints(3)``." +msgstr "" +"Так само можна написати ``для i в generate_ints(5)`` або ``a, b, c = " +"generate_ints(3)``." + +msgid "" +"Inside a generator function, ``return value`` causes " +"``StopIteration(value)`` to be raised from the :meth:`~generator.__next__` " +"method. Once this happens, or the bottom of the function is reached, the " +"procession of values ends and the generator cannot yield any further values." +msgstr "" +"Усередині функції-генератора ``повернене значення`` викликає " +"``StopIteration(value)``, яке буде викликано з методу :meth:`~generator." +"__next__`. Як тільки це станеться, або коли функція досягне дна, обробка " +"значень закінчується, і генератор не зможе видавати жодних додаткових " +"значень." + +msgid "" +"You could achieve the effect of generators manually by writing your own " +"class and storing all the local variables of the generator as instance " +"variables. For example, returning a list of integers could be done by " +"setting ``self.count`` to 0, and having the :meth:`~iterator.__next__` " +"method increment ``self.count`` and return it. However, for a moderately " +"complicated generator, writing a corresponding class can be much messier." +msgstr "" +"Ви можете досягти ефекту генераторів вручну, написавши власний клас і " +"зберігши всі локальні змінні генератора як змінні екземпляра. Наприклад, " +"повернути список цілих чисел можна, встановивши ``self.count`` на 0, і " +"дозволивши методу :meth:`~iterator.__next__` збільшити ``self.count`` і " +"повернути його. Однак для помірно складного генератора написання " +"відповідного класу може бути набагато складнішим." + +msgid "" +"The test suite included with Python's library, :source:`Lib/test/" +"test_generators.py`, contains a number of more interesting examples. Here's " +"one generator that implements an in-order traversal of a tree using " +"generators recursively. ::" +msgstr "" +"Набір тестів, що входить до бібліотеки Python, :source:`Lib/test/" +"test_generators.py`, містить низку більш цікавих прикладів. Ось один " +"генератор, який реалізує рекурсивний обхід дерева за допомогою " +"генераторів. ::" + +msgid "" +"Two other examples in ``test_generators.py`` produce solutions for the N-" +"Queens problem (placing N queens on an NxN chess board so that no queen " +"threatens another) and the Knight's Tour (finding a route that takes a " +"knight to every square of an NxN chessboard without visiting any square " +"twice)." +msgstr "" +"Два інших приклади в ``test_generators.py`` створюють рішення для проблеми N-" +"Queens (розміщення N ферзів на NxN шахівниці так, щоб жодна королева не " +"загрожувала іншій) і Knight's Tour (пошук маршруту, який веде лицаря до " +"кожної клітинки). шахової дошки NxN, не відвідуючи жодного поля двічі)." + +msgid "Passing values into a generator" +msgstr "Передача значень у генератор" + +msgid "" +"In Python 2.4 and earlier, generators only produced output. Once a " +"generator's code was invoked to create an iterator, there was no way to pass " +"any new information into the function when its execution is resumed. You " +"could hack together this ability by making the generator look at a global " +"variable or by passing in some mutable object that callers then modify, but " +"these approaches are messy." +msgstr "" +"У Python 2.4 і раніших версіях генератори створювали лише вихідні дані. Як " +"тільки код генератора був викликаний для створення ітератора, не було " +"можливості передати будь-яку нову інформацію у функцію, коли її виконання " +"відновилося. Ви можете об’єднати цю здатність, змусивши генератор дивитися " +"на глобальну змінну або передавши якийсь змінний об’єкт, який потім змінюють " +"абоненти, але ці підходи є безладними." + +msgid "" +"In Python 2.5 there's a simple way to pass values into a generator. :keyword:" +"`yield` became an expression, returning a value that can be assigned to a " +"variable or otherwise operated on::" +msgstr "" +"У Python 2.5 є простий спосіб передачі значень у генератор. :keyword:`yield` " +"став виразом, який повертає значення, яке можна присвоїти змінній або іншим " +"чином оперувати:" + +msgid "" +"I recommend that you **always** put parentheses around a ``yield`` " +"expression when you're doing something with the returned value, as in the " +"above example. The parentheses aren't always necessary, but it's easier to " +"always add them instead of having to remember when they're needed." +msgstr "" +"Я рекомендую вам **завжди** брати дужки навколо виразу ``yield``, коли ви " +"робите щось із повернутим значенням, як у прикладі вище. Дужки не завжди " +"потрібні, але простіше завжди додавати їх замість того, щоб запам’ятовувати, " +"коли вони потрібні." + +msgid "" +"(:pep:`342` explains the exact rules, which are that a ``yield``-expression " +"must always be parenthesized except when it occurs at the top-level " +"expression on the right-hand side of an assignment. This means you can " +"write ``val = yield i`` but have to use parentheses when there's an " +"operation, as in ``val = (yield i) + 12``.)" +msgstr "" +"(:pep:`342` пояснює точні правила, які полягають у тому, що вираз ``yield`` " +"завжди повинен бути взятий у дужки, за винятком випадків, коли він " +"зустрічається у виразі верхнього рівня в правій частині призначення. Це " +"означає, що ви можна написати ``val = yield i``, але потрібно " +"використовувати дужки, коли є операція, як у ``val = (yield i) + 12``.)" + +msgid "" +"Values are sent into a generator by calling its :meth:`send(value) " +"` method. This method resumes the generator's code and the " +"``yield`` expression returns the specified value. If the regular :meth:" +"`~generator.__next__` method is called, the ``yield`` returns ``None``." +msgstr "" +"Значення надсилаються в генератор шляхом виклику його методу :meth:" +"`send(value) `. Цей метод відновлює код генератора, а вираз " +"``yield`` повертає вказане значення. Якщо викликається звичайний метод :meth:" +"`~generator.__next__`, ``yield`` повертає ``None``." + +msgid "" +"Here's a simple counter that increments by 1 and allows changing the value " +"of the internal counter." +msgstr "" +"Ось простий лічильник, який збільшується на 1 і дозволяє змінювати значення " +"внутрішнього лічильника." + +msgid "And here's an example of changing the counter:" +msgstr "А ось приклад зміни лічильника:" + +msgid "" +"Because ``yield`` will often be returning ``None``, you should always check " +"for this case. Don't just use its value in expressions unless you're sure " +"that the :meth:`~generator.send` method will be the only method used to " +"resume your generator function." +msgstr "" +"Оскільки ``yield`` часто повертатиме ``None``, ви завжди повинні перевіряти " +"цей випадок. Не просто використовуйте його значення у виразах, якщо ви не " +"впевнені, що метод :meth:`~generator.send` буде єдиним методом, використаним " +"для відновлення вашої функції генератора." + +msgid "" +"In addition to :meth:`~generator.send`, there are two other methods on " +"generators:" +msgstr "Окрім :meth:`~generator.send`, у генераторах є ще два методи:" + +msgid "" +":meth:`throw(value) ` is used to raise an exception inside " +"the generator; the exception is raised by the ``yield`` expression where the " +"generator's execution is paused." +msgstr "" +":meth:`throw(value) ` використовується для створення " +"винятку всередині генератора; виняток викликає вираз ``yield``, де виконання " +"генератора призупинено." + +msgid "" +":meth:`~generator.close` raises a :exc:`GeneratorExit` exception inside the " +"generator to terminate the iteration. On receiving this exception, the " +"generator's code must either raise :exc:`GeneratorExit` or :exc:" +"`StopIteration`; catching the exception and doing anything else is illegal " +"and will trigger a :exc:`RuntimeError`. :meth:`~generator.close` will also " +"be called by Python's garbage collector when the generator is garbage-" +"collected." +msgstr "" +":meth:`~generator.close` викликає виняткову ситуацію :exc:`GeneratorExit` " +"всередині генератора, щоб завершити ітерацію. Отримавши цей виняток, код " +"генератора повинен викликати :exc:`GeneratorExit` або :exc:`StopIteration`; " +"перехоплення винятку та будь-що інше є незаконним і спричинить :exc:" +"`RuntimeError`. :meth:`~generator.close` також буде викликано збирачем " +"сміття Python, коли генератор збирає сміття." + +msgid "" +"If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " +"suggest using a ``try: ... finally:`` suite instead of catching :exc:" +"`GeneratorExit`." +msgstr "" +"Якщо вам потрібно запустити код очищення, коли виникає :exc:`GeneratorExit`, " +"я пропоную використовувати набір ``try: ... finally:`` замість перехоплення :" +"exc:`GeneratorExit`." + +msgid "" +"The cumulative effect of these changes is to turn generators from one-way " +"producers of information into both producers and consumers." +msgstr "" +"Кумулятивний ефект цих змін полягає в тому, щоб перетворити генераторів з " +"односторонніх виробників інформації на виробників і споживачів." + +msgid "" +"Generators also become **coroutines**, a more generalized form of " +"subroutines. Subroutines are entered at one point and exited at another " +"point (the top of the function, and a ``return`` statement), but coroutines " +"can be entered, exited, and resumed at many different points (the ``yield`` " +"statements)." +msgstr "" +"Генератори також стають **співпрограмами**, більш узагальненою формою " +"підпрограм. Підпрограми вводяться в одній точці та виходять з іншої точки " +"(верхня частина функції та оператор \"return\"), але підпрограми можна " +"входити, виходити та продовжувати в багатьох різних точках (оператори \"yield" +"\" )." + +msgid "Built-in functions" +msgstr "Вбудовані функції" + +msgid "" +"Let's look in more detail at built-in functions often used with iterators." +msgstr "" +"Давайте детальніше розглянемо вбудовані функції, які часто використовуються " +"з ітераторами." + +msgid "" +"Two of Python's built-in functions, :func:`map` and :func:`filter` duplicate " +"the features of generator expressions:" +msgstr "" +"Дві вбудовані функції Python, :func:`map` і :func:`filter` дублюють функції " +"генераторних виразів:" + +msgid "" +":func:`map(f, iterA, iterB, ...) ` returns an iterator over the sequence" +msgstr "" +":func:`map(f, iterA, iterB, ...) ` повертає ітератор у послідовності" + +msgid "" +"``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." +msgstr "" +"``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." + +msgid "You can of course achieve the same effect with a list comprehension." +msgstr "" +"Звичайно, ви можете досягти такого ж ефекту за допомогою розуміння списку." + +msgid "" +":func:`filter(predicate, iter) ` returns an iterator over all the " +"sequence elements that meet a certain condition, and is similarly duplicated " +"by list comprehensions. A **predicate** is a function that returns the " +"truth value of some condition; for use with :func:`filter`, the predicate " +"must take a single value." +msgstr "" +":func:`filter(predicate, iter) ` повертає ітератор над усіма " +"елементами послідовності, які відповідають певній умові, і подібним чином " +"дублюється за допомогою списків. **Предикат** – це функція, яка повертає " +"значення істинності певної умови; для використання з :func:`filter` предикат " +"має приймати одне значення." + +msgid "This can also be written as a list comprehension:" +msgstr "Це також можна записати як розуміння списку:" + +msgid "" +":func:`enumerate(iter, start=0) ` counts off the elements in the " +"iterable returning 2-tuples containing the count (from *start*) and each " +"element. ::" +msgstr "" +":func:`enumerate(iter, start=0) ` відраховує елементи в " +"ітераційному повертаючому 2-кортежі, що містить кількість (від *start*) і " +"кожен елемент. ::" + +msgid "" +":func:`enumerate` is often used when looping through a list and recording " +"the indexes at which certain conditions are met::" +msgstr "" +":func:`enumerate` часто використовується під час циклічного перегляду списку " +"та запису індексів, при яких виконуються певні умови:" + +msgid "" +":func:`sorted(iterable, key=None, reverse=False) ` collects all the " +"elements of the iterable into a list, sorts the list, and returns the sorted " +"result. The *key* and *reverse* arguments are passed through to the " +"constructed list's :meth:`~list.sort` method. ::" +msgstr "" +":func:`sorted(iterable, key=None, reverse=False) ` збирає всі " +"елементи iterable у список, сортує список і повертає відсортований " +"результат. Аргументи *key* і *reverse* передаються до методу :meth:`~list." +"sort` створеного списку. ::" + +msgid "" +"(For a more detailed discussion of sorting, see the :ref:`sortinghowto`.)" +msgstr "" +"(Для більш детального обговорення сортування див. :ref:`sortinghowto`.)" + +msgid "" +"The :func:`any(iter) ` and :func:`all(iter) ` built-ins look at " +"the truth values of an iterable's contents. :func:`any` returns ``True`` if " +"any element in the iterable is a true value, and :func:`all` returns " +"``True`` if all of the elements are true values:" +msgstr "" +"Вбудовані функції :func:`any(iter) ` і :func:`all(iter) ` " +"переглядають значення істинності вмісту ітерованого елемента. :func:`any` " +"повертає ``True``, якщо будь-який елемент в iterable є істинним значенням, " +"а :func:`all` повертає ``True``, якщо всі елементи є істинними значеннями:" + +msgid "" +":func:`zip(iterA, iterB, ...) ` takes one element from each iterable " +"and returns them in a tuple::" +msgstr "" +":func:`zip(iterA, iterB, ...) ` бере по одному елементу з кожного " +"iterable і повертає їх у кортежі::" + +msgid "" +"It doesn't construct an in-memory list and exhaust all the input iterators " +"before returning; instead tuples are constructed and returned only if " +"they're requested. (The technical term for this behaviour is `lazy " +"evaluation `__.)" +msgstr "" +"Він не створює список у пам’яті та не вичерпує всі ітератори введення перед " +"поверненням; натомість кортежі створюються та повертаються лише за запитом. " +"(Технічний термін для такої поведінки — `лінива оцінка `__.)" + +msgid "" +"This iterator is intended to be used with iterables that are all of the same " +"length. If the iterables are of different lengths, the resulting stream " +"will be the same length as the shortest iterable. ::" +msgstr "" +"Цей ітератор призначений для використання з ітераторами, які мають однакову " +"довжину. Якщо ітератори мають різну довжину, результуючий потік буде такої ж " +"довжини, як і найкоротший ітератор. ::" + +msgid "" +"You should avoid doing this, though, because an element may be taken from " +"the longer iterators and discarded. This means you can't go on to use the " +"iterators further because you risk skipping a discarded element." +msgstr "" +"Однак вам слід уникати цього, оскільки елемент може бути взято з довших " +"ітераторів і відкинуто. Це означає, що ви не можете продовжувати " +"використовувати ітератори, оскільки ризикуєте пропустити відкинутий елемент." + +msgid "The itertools module" +msgstr "Модуль itertools" + +msgid "" +"The :mod:`itertools` module contains a number of commonly used iterators as " +"well as functions for combining several iterators. This section will " +"introduce the module's contents by showing small examples." +msgstr "" + +msgid "The module's functions fall into a few broad classes:" +msgstr "Функції модуля поділяються на кілька широких класів:" + +msgid "Functions that create a new iterator based on an existing iterator." +msgstr "Функції, які створюють новий ітератор на основі існуючого ітератора." + +msgid "Functions for treating an iterator's elements as function arguments." +msgstr "Функції для обробки елементів ітератора як аргументів функції." + +msgid "Functions for selecting portions of an iterator's output." +msgstr "Функції для вибору частин виводу ітератора." + +msgid "A function for grouping an iterator's output." +msgstr "Функція для групування виводу ітератора." + +msgid "Creating new iterators" +msgstr "Створення нових ітераторів" + +msgid "" +":func:`itertools.count(start, step) ` returns an infinite " +"stream of evenly spaced values. You can optionally supply the starting " +"number, which defaults to 0, and the interval between numbers, which " +"defaults to 1::" +msgstr "" +":func:`itertools.count(start, step) ` повертає нескінченний " +"потік рівномірно розподілених значень. Додатково можна вказати початкове " +"число, яке за замовчуванням дорівнює 0, і інтервал між числами, який за " +"замовчуванням дорівнює 1::" + +msgid "" +":func:`itertools.cycle(iter) ` saves a copy of the contents " +"of a provided iterable and returns a new iterator that returns its elements " +"from first to last. The new iterator will repeat these elements " +"infinitely. ::" +msgstr "" +":func:`itertools.cycle(iter) ` зберігає копію вмісту " +"наданого ітератора та повертає новий ітератор, який повертає елементи від " +"першого до останнього. Новий ітератор буде нескінченно повторювати ці " +"елементи. ::" + +msgid "" +":func:`itertools.repeat(elem, [n]) ` returns the provided " +"element *n* times, or returns the element endlessly if *n* is not " +"provided. ::" +msgstr "" +":func:`itertools.repeat(elem, [n]) ` повертає наданий " +"елемент *n* разів або нескінченно повертає елемент, якщо *n* не надано. ::" + +msgid "" +":func:`itertools.chain(iterA, iterB, ...) ` takes an " +"arbitrary number of iterables as input, and returns all the elements of the " +"first iterator, then all the elements of the second, and so on, until all of " +"the iterables have been exhausted. ::" +msgstr "" +":func:`itertools.chain(iterA, iterB, ...) ` приймає " +"довільну кількість ітераторів як вхідні дані та повертає всі елементи " +"першого ітератора, потім усі елементи другого і так далі, доки усі ітерації " +"вичерпано. ::" + +msgid "" +":func:`itertools.islice(iter, [start], stop, [step]) ` " +"returns a stream that's a slice of the iterator. With a single *stop* " +"argument, it will return the first *stop* elements. If you supply a " +"starting index, you'll get *stop-start* elements, and if you supply a value " +"for *step*, elements will be skipped accordingly. Unlike Python's string " +"and list slicing, you can't use negative values for *start*, *stop*, or " +"*step*. ::" +msgstr "" +":func:`itertools.islice(iter, [start], stop, [step]) ` " +"повертає потік, який є фрагментом ітератора. З одним аргументом *stop* він " +"повертає перші елементи *stop*. Якщо ви вкажете початковий індекс, ви " +"отримаєте елементи *stop-start*, а якщо ви вкажете значення для *step*, " +"елементи будуть відповідно пропущені. На відміну від нарізки рядків і " +"списків Python, ви не можете використовувати від’ємні значення для *start*, " +"*stop* або *step*. ::" + +msgid "" +":func:`itertools.tee(iter, [n]) ` replicates an iterator; it " +"returns *n* independent iterators that will all return the contents of the " +"source iterator. If you don't supply a value for *n*, the default is 2. " +"Replicating iterators requires saving some of the contents of the source " +"iterator, so this can consume significant memory if the iterator is large " +"and one of the new iterators is consumed more than the others. ::" +msgstr "" +":func:`itertools.tee(iter, [n]) ` повторює ітератор; він " +"повертає *n* незалежних ітераторів, які повертатимуть вміст вихідного " +"ітератора. Якщо ви не вкажете значення для *n*, за замовчуванням буде 2. " +"Реплікація ітераторів вимагає збереження частини вмісту вихідного ітератора, " +"тому це може споживати значну кількість пам’яті, якщо ітератор великий і " +"один із нових ітераторів споживається більше ніж інші. ::" + +msgid "Calling functions on elements" +msgstr "Виклик функцій на елементах" + +msgid "" +"The :mod:`operator` module contains a set of functions corresponding to " +"Python's operators. Some examples are :func:`operator.add(a, b) ` (adds two values), :func:`operator.ne(a, b) ` (same as " +"``a != b``), and :func:`operator.attrgetter('id') ` " +"(returns a callable that fetches the ``.id`` attribute)." +msgstr "" +"Модуль :mod:`operator` містить набір функцій, що відповідають операторам " +"Python. Деякі приклади: :func:`operator.add(a, b) ` (додає два " +"значення), :func:`operator.ne(a, b) ` (те саме, що ``a != b``), " +"і :func:`operator.attrgetter('id') ` (повертає виклик, " +"який отримує атрибут ``.id``)." + +msgid "" +":func:`itertools.starmap(func, iter) ` assumes that the " +"iterable will return a stream of tuples, and calls *func* using these tuples " +"as the arguments::" +msgstr "" +":func:`itertools.starmap(func, iter) ` припускає, що " +"iterable поверне потік кортежів, і викликає *func*, використовуючи ці " +"кортежі як аргументи:" + +msgid "Selecting elements" +msgstr "Вибір елементів" + +msgid "" +"Another group of functions chooses a subset of an iterator's elements based " +"on a predicate." +msgstr "" +"Інша група функцій вибирає підмножину елементів ітератора на основі " +"предикату." + +msgid "" +":func:`itertools.filterfalse(predicate, iter) ` is " +"the opposite of :func:`filter`, returning all elements for which the " +"predicate returns false::" +msgstr "" +":func:`itertools.filterfalse(predicate, iter) ` є " +"протилежністю :func:`filter`, повертаючи всі елементи, для яких предикат " +"повертає false::" + +msgid "" +":func:`itertools.takewhile(predicate, iter) ` returns " +"elements for as long as the predicate returns true. Once the predicate " +"returns false, the iterator will signal the end of its results. ::" +msgstr "" +":func:`itertools.takewhile(predicate, iter) ` повертає " +"елементи до тих пір, поки предикат повертає true. Як тільки предикат " +"повертає false, ітератор сигналізує про закінчення своїх результатів. ::" + +msgid "" +":func:`itertools.dropwhile(predicate, iter) ` discards " +"elements while the predicate returns true, and then returns the rest of the " +"iterable's results. ::" +msgstr "" +":func:`itertools.dropwhile(predicate, iter) ` відкидає " +"елементи, поки предикат повертає true, а потім повертає решту результатів " +"ітерації. ::" + +msgid "" +":func:`itertools.compress(data, selectors) ` takes two " +"iterators and returns only those elements of *data* for which the " +"corresponding element of *selectors* is true, stopping whenever either one " +"is exhausted::" +msgstr "" +":func:`itertools.compress(data, selectors) ` приймає два " +"ітератори та повертає лише ті елементи *data*, для яких відповідний елемент " +"*selectors* є істинним, зупиняючись щоразу, коли один із них вичерпується::" + +msgid "Combinatoric functions" +msgstr "Комбінаторні функції" + +msgid "" +"The :func:`itertools.combinations(iterable, r) ` " +"returns an iterator giving all possible *r*-tuple combinations of the " +"elements contained in *iterable*. ::" +msgstr "" +":func:`itertools.combinations(iterable, r) ` " +"повертає ітератор, що містить усі можливі *r*-кортежні комбінації елементів, " +"що містяться в *iterable*. ::" + +msgid "" +"The elements within each tuple remain in the same order as *iterable* " +"returned them. For example, the number 1 is always before 2, 3, 4, or 5 in " +"the examples above. A similar function, :func:`itertools." +"permutations(iterable, r=None) `, removes this " +"constraint on the order, returning all possible arrangements of length *r*::" +msgstr "" +"Елементи в кожному кортежі залишаються в тому самому порядку, у якому їх " +"повернув *iterable*. Наприклад, число 1 завжди стоїть перед 2, 3, 4 або 5 у " +"наведених вище прикладах. Подібна функція, :func:`itertools." +"permutations(iterable, r=None) `, усуває це " +"обмеження на порядок, повертаючи всі можливі розташування довжини *r*::" + +msgid "" +"If you don't supply a value for *r* the length of the iterable is used, " +"meaning that all the elements are permuted." +msgstr "" +"Якщо ви не вказуєте значення для *r*, використовується довжина ітерованого, " +"що означає, що всі елементи переставлені." + +msgid "" +"Note that these functions produce all of the possible combinations by " +"position and don't require that the contents of *iterable* are unique::" +msgstr "" +"Зауважте, що ці функції створюють усі можливі комбінації за позицією та не " +"вимагають, щоб вміст *iterable* був унікальним::" + +msgid "" +"The identical tuple ``('a', 'a', 'b')`` occurs twice, but the two 'a' " +"strings came from different positions." +msgstr "" +"Ідентичний кортеж ``('a', 'a', 'b')`` зустрічається двічі, але два рядки 'a' " +"походять з різних позицій." + +msgid "" +"The :func:`itertools.combinations_with_replacement(iterable, r) ` function relaxes a different constraint: " +"elements can be repeated within a single tuple. Conceptually an element is " +"selected for the first position of each tuple and then is replaced before " +"the second element is selected. ::" +msgstr "" +"Функція :func:`itertools.combinations_with_replacement(iterable, r) " +"` послаблює інше обмеження: " +"елементи можуть повторюватися в одному кортежі. Концептуально елемент " +"вибирається для першої позиції кожного кортежу, а потім замінюється перед " +"вибором другого елемента. ::" + +msgid "Grouping elements" +msgstr "Групування елементів" + +msgid "" +"The last function I'll discuss, :func:`itertools.groupby(iter, " +"key_func=None) `, is the most complicated. " +"``key_func(elem)`` is a function that can compute a key value for each " +"element returned by the iterable. If you don't supply a key function, the " +"key is simply each element itself." +msgstr "" +"Остання функція, яку я розповім, :func:`itertools.groupby(iter, " +"key_func=None) `, є найскладнішою. ``key_func(elem)`` - " +"це функція, яка може обчислити значення ключа для кожного елемента, " +"повернутого ітерованим. Якщо ви не надаєте ключову функцію, ключем буде " +"просто кожен елемент сам по собі." + +msgid "" +":func:`~itertools.groupby` collects all the consecutive elements from the " +"underlying iterable that have the same key value, and returns a stream of 2-" +"tuples containing a key value and an iterator for the elements with that key." +msgstr "" +":func:`~itertools.groupby` збирає всі послідовні елементи з основного " +"ітератора, які мають однакове значення ключа, і повертає потік 2-кортежів, " +"що містить значення ключа та ітератор для елементів із цим ключем." + +msgid "" +":func:`~itertools.groupby` assumes that the underlying iterable's contents " +"will already be sorted based on the key. Note that the returned iterators " +"also use the underlying iterable, so you have to consume the results of " +"iterator-1 before requesting iterator-2 and its corresponding key." +msgstr "" +":func:`~itertools.groupby` припускає, що вміст базового ітератора вже буде " +"відсортовано на основі ключа. Зверніть увагу, що повернуті ітератори також " +"використовують базовий ітератор, тому ви повинні споживати результати " +"ітератора-1 перед запитом ітератора-2 та його відповідного ключа." + +msgid "The functools module" +msgstr "Модуль functools" + +msgid "" +"The :mod:`functools` module contains some higher-order functions. A **higher-" +"order function** takes one or more functions as input and returns a new " +"function. The most useful tool in this module is the :func:`functools." +"partial` function." +msgstr "" + +msgid "" +"For programs written in a functional style, you'll sometimes want to " +"construct variants of existing functions that have some of the parameters " +"filled in. Consider a Python function ``f(a, b, c)``; you may wish to create " +"a new function ``g(b, c)`` that's equivalent to ``f(1, b, c)``; you're " +"filling in a value for one of ``f()``'s parameters. This is called " +"\"partial function application\"." +msgstr "" +"Для програм, написаних у функціональному стилі, ви іноді захочете побудувати " +"варіанти існуючих функцій із заповненими деякими параметрами. Розглянемо " +"функцію Python ``f(a, b, c)``; ви можете створити нову функцію ``g(b, c)``, " +"еквівалентну ``f(1, b, c)``; ви вводите значення для одного з параметрів " +"``f()``. Це називається \"часткове застосування функції\"." + +msgid "" +"The constructor for :func:`~functools.partial` takes the arguments " +"``(function, arg1, arg2, ..., kwarg1=value1, kwarg2=value2)``. The " +"resulting object is callable, so you can just call it to invoke ``function`` " +"with the filled-in arguments." +msgstr "" +"Конструктор для :func:`~functools.partial` приймає аргументи ``(функція, " +"arg1, arg2, ..., kwarg1=value1, kwarg2=value2)``. Отриманий об’єкт можна " +"викликати, тому ви можете просто викликати його, щоб викликати ``функцію`` " +"із заповненими аргументами." + +msgid "Here's a small but realistic example::" +msgstr "Ось маленький, але реалістичний приклад:" + +msgid "" +":func:`functools.reduce(func, iter, [initial_value]) ` " +"cumulatively performs an operation on all the iterable's elements and, " +"therefore, can't be applied to infinite iterables. *func* must be a function " +"that takes two elements and returns a single value. :func:`functools." +"reduce` takes the first two elements A and B returned by the iterator and " +"calculates ``func(A, B)``. It then requests the third element, C, " +"calculates ``func(func(A, B), C)``, combines this result with the fourth " +"element returned, and continues until the iterable is exhausted. If the " +"iterable returns no values at all, a :exc:`TypeError` exception is raised. " +"If the initial value is supplied, it's used as a starting point and " +"``func(initial_value, A)`` is the first calculation. ::" +msgstr "" +":func:`functools.reduce(func, iter, [initial_value]) ` " +"кумулятивно виконує операцію над усіма елементами iterable і, отже, не може " +"бути застосовано до нескінченних iterables. *func* має бути функцією, яка " +"приймає два елементи та повертає одне значення. :func:`functools.reduce` " +"бере перші два елементи A і B, повернуті ітератором, і обчислює ``func(A, " +"B)``. Потім він запитує третій елемент, C, обчислює ``func(func(A, B), C)``, " +"поєднує цей результат із повернутим четвертим елементом і продовжує роботу, " +"доки не вичерпається ітерація. Якщо ітерація не повертає жодних значень, " +"виникає виняток :exc:`TypeError`. Якщо вказано початкове значення, воно " +"використовується як початкова точка, а ``func(initial_value, A)`` є першим " +"обчисленням. ::" + +msgid "" +"If you use :func:`operator.add` with :func:`functools.reduce`, you'll add up " +"all the elements of the iterable. This case is so common that there's a " +"special built-in called :func:`sum` to compute it:" +msgstr "" +"Якщо ви використовуєте :func:`operator.add` з :func:`functools.reduce`, ви " +"додасте всі елементи iterable. Цей випадок настільки поширений, що для його " +"обчислення існує спеціальна вбудована функція під назвою :func:`sum`:" + +msgid "" +"For many uses of :func:`functools.reduce`, though, it can be clearer to just " +"write the obvious :keyword:`for` loop::" +msgstr "" +"Однак для багатьох застосувань :func:`functools.reduce` може бути " +"зрозумілішим просто написати очевидний :keyword:`for` цикл::" + +msgid "" +"A related function is :func:`itertools.accumulate(iterable, func=operator." +"add) `. It performs the same calculation, but instead " +"of returning only the final result, :func:`accumulate` returns an iterator " +"that also yields each partial result::" +msgstr "" +"Пов’язаною функцією є :func:`itertools.accumulate(iterable, func=operator." +"add) `. Він виконує ті самі обчислення, але замість " +"того, щоб повертати лише кінцевий результат, :func:`accumulate` повертає " +"ітератор, який також дає кожен частковий результат::" + +msgid "The operator module" +msgstr "Операторський модуль" + +msgid "" +"The :mod:`operator` module was mentioned earlier. It contains a set of " +"functions corresponding to Python's operators. These functions are often " +"useful in functional-style code because they save you from writing trivial " +"functions that perform a single operation." +msgstr "" +"Модуль :mod:`operator` згадувався раніше. Він містить набір функцій, що " +"відповідають операторам Python. Ці функції часто корисні в коді " +"функціонального стилю, оскільки вони позбавляють вас від написання " +"тривіальних функцій, які виконують одну операцію." + +msgid "Some of the functions in this module are:" +msgstr "Деякі з функцій цього модуля:" + +msgid "" +"Math operations: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, " +"``abs()``, ..." +msgstr "" +"Математичні операції: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, " +"``abs()``, ..." + +msgid "Logical operations: ``not_()``, ``truth()``." +msgstr "Логічні операції: ``not_()``, ``truth()``." + +msgid "Bitwise operations: ``and_()``, ``or_()``, ``invert()``." +msgstr "Побітові операції: ``and_()``, ``or_()``, ``invert()``." + +msgid "" +"Comparisons: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()``, and ``ge()``." +msgstr "" +"Порівняння: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()`` і ``ge()`` ." + +msgid "Object identity: ``is_()``, ``is_not()``." +msgstr "Ідентифікація об'єкта: ``is_()``, ``is_not()``." + +msgid "Consult the operator module's documentation for a complete list." +msgstr "" +"Зверніться до документації модуля оператора, щоб отримати повний список." + +msgid "Small functions and the lambda expression" +msgstr "Малі функції та лямбда-вираз" + +msgid "" +"When writing functional-style programs, you'll often need little functions " +"that act as predicates or that combine elements in some way." +msgstr "" +"Під час написання програм у функціональному стилі вам часто знадобляться " +"невеликі функції, які виконують роль предикатів або якимось чином поєднують " +"елементи." + +msgid "" +"If there's a Python built-in or a module function that's suitable, you don't " +"need to define a new function at all::" +msgstr "" +"Якщо є вбудована функція Python або функція модуля, яка підходить, вам " +"взагалі не потрібно визначати нову функцію::" + +msgid "" +"If the function you need doesn't exist, you need to write it. One way to " +"write small functions is to use the :keyword:`lambda` expression. " +"``lambda`` takes a number of parameters and an expression combining these " +"parameters, and creates an anonymous function that returns the value of the " +"expression::" +msgstr "" +"Якщо потрібної вам функції не існує, її потрібно написати. Один із способів " +"написання невеликих функцій — це використання виразу :keyword:`lambda`. " +"``лямбда`` приймає кілька параметрів і вираз, що поєднує ці параметри, і " +"створює анонімну функцію, яка повертає значення виразу::" + +msgid "" +"An alternative is to just use the ``def`` statement and define a function in " +"the usual way::" +msgstr "" +"Альтернативою є просто використання оператора ``def`` і визначення функції " +"звичайним способом::" + +msgid "" +"Which alternative is preferable? That's a style question; my usual course " +"is to avoid using ``lambda``." +msgstr "" +"Яка альтернатива є кращою? Це питання стилю; мій звичайний курс — уникати " +"використання ``лямбда``." + +msgid "" +"One reason for my preference is that ``lambda`` is quite limited in the " +"functions it can define. The result has to be computable as a single " +"expression, which means you can't have multiway ``if... elif... else`` " +"comparisons or ``try... except`` statements. If you try to do too much in a " +"``lambda`` statement, you'll end up with an overly complicated expression " +"that's hard to read. Quick, what's the following code doing? ::" +msgstr "" +"Однією з причин моїх переваг є те, що ``лямбда`` досить обмежена у функціях, " +"які вона може визначати. Результат має бути обчислюваним як один вираз, що " +"означає, що ви не можете мати багатосторонні порівняння ``if... elif... " +"else`` або ``try... osim`` операторів. Якщо ви спробуєте зробити занадто " +"багато в операторі ``лямбда``, ви отримаєте надто складний вираз, який важко " +"прочитати. Швидко, що робить наступний код? ::" + +msgid "" +"You can figure it out, but it takes time to disentangle the expression to " +"figure out what's going on. Using a short nested ``def`` statements makes " +"things a little bit better::" +msgstr "" +"Ви можете це зрозуміти, але потрібен час, щоб розібрати вираз, щоб " +"зрозуміти, що відбувається. Використання коротких вкладених операторів " +"``def`` покращує ситуацію:" + +msgid "But it would be best of all if I had simply used a ``for`` loop::" +msgstr "Але було б найкраще, якби я просто використав цикл ``for``::" + +msgid "Or the :func:`sum` built-in and a generator expression::" +msgstr "Або вбудований :func:`sum` і вираз генератора::" + +msgid "" +"Many uses of :func:`functools.reduce` are clearer when written as ``for`` " +"loops." +msgstr "" +"Багато способів використання :func:`functools.reduce` зрозуміліші, коли " +"записуються як цикли ``for``." + +msgid "" +"Fredrik Lundh once suggested the following set of rules for refactoring uses " +"of ``lambda``:" +msgstr "" +"Фредрік Лунд одного разу запропонував наступний набір правил для " +"рефакторингу використання ``лямбда``:" + +msgid "Write a lambda function." +msgstr "Напишіть лямбда-функцію." + +msgid "Write a comment explaining what the heck that lambda does." +msgstr "Напишіть коментар, пояснюючи, що в біса робить ця лямбда." + +msgid "" +"Study the comment for a while, and think of a name that captures the essence " +"of the comment." +msgstr "" +"Вивчіть коментар деякий час і придумайте назву, яка б передавала суть " +"коментаря." + +msgid "Convert the lambda to a def statement, using that name." +msgstr "Перетворіть лямбда-вираз на оператор def, використовуючи це ім’я." + +msgid "Remove the comment." +msgstr "Видалити коментар." + +msgid "" +"I really like these rules, but you're free to disagree about whether this " +"lambda-free style is better." +msgstr "" +"Мені дуже подобаються ці правила, але ви можете не погоджуватися щодо того, " +"чи цей стиль без лямбда кращий." + +msgid "Revision History and Acknowledgements" +msgstr "Історія переглядів і подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Ian Bicking, Nick Coghlan, Nick Efford, Raymond Hettinger, Jim Jewett, Mike " +"Krell, Leandro Lameiro, Jussi Salmela, Collin Winter, Blake Winton." +msgstr "" +"Автор хотів би подякувати наступним особам за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Іен Бікінґ, Нік Коглан, Нік " +"Еффорд, Реймонд Геттінгер, Джим Джеветт, Майк Крелл, Леандро Ламейро, Юссі " +"Салмела, Коллін Вінтер, Блейк Вінтон." + +msgid "Version 0.1: posted June 30 2006." +msgstr "Версія 0.1: опубліковано 30 червня 2006 р." + +msgid "Version 0.11: posted July 1 2006. Typo fixes." +msgstr "" +"Версія 0.11: опубліковано 1 липня 2006 р. Виправлення друкарських помилок." + +msgid "" +"Version 0.2: posted July 10 2006. Merged genexp and listcomp sections into " +"one. Typo fixes." +msgstr "" +"Версія 0.2: опубліковано 10 липня 2006 р. Об’єднано розділи genexp і " +"listcomp в один. Виправлення друкарських помилок." + +msgid "" +"Version 0.21: Added more references suggested on the tutor mailing list." +msgstr "" +"Версія 0.21: додано більше посилань, запропонованих у списку розсилки " +"викладачів." + +msgid "" +"Version 0.30: Adds a section on the ``functional`` module written by Collin " +"Winter; adds short section on the operator module; a few other edits." +msgstr "" +"Версія 0.30: додано розділ про ``функціональний`` модуль, написаний Колліном " +"Вінтером; додає короткий розділ про модуль оператора; кілька інших правок." + +msgid "References" +msgstr "Список літератури" + +msgid "General" +msgstr "Загальний" + +msgid "" +"**Structure and Interpretation of Computer Programs**, by Harold Abelson and " +"Gerald Jay Sussman with Julie Sussman. Full text at https://mitpress.mit." +"edu/sicp/. In this classic textbook of computer science, chapters 2 and 3 " +"discuss the use of sequences and streams to organize the data flow inside a " +"program. The book uses Scheme for its examples, but many of the design " +"approaches described in these chapters are applicable to functional-style " +"Python code." +msgstr "" +"**Структура та інтерпретація комп’ютерних програм**, Гарольд Абельсон і " +"Джеральд Джей Сассман з Джулі Сассман. Повний текст на https://mitpress.mit." +"edu/sicp/. У цьому класичному підручнику з інформатики в розділах 2 і 3 " +"обговорюється використання послідовностей і потоків для організації потоку " +"даних у програмі. У книзі для прикладів використовується Scheme, але багато " +"підходів до проектування, описаних у цих розділах, можна застосувати до коду " +"Python у функціональному стилі." + +msgid "" +"https://www.defmacro.org/ramblings/fp.html: A general introduction to " +"functional programming that uses Java examples and has a lengthy historical " +"introduction." +msgstr "" + +msgid "" +"https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia " +"entry describing functional programming." +msgstr "" +"https://en.wikipedia.org/wiki/Functional_programming: загальний запис у " +"Вікіпедії, що описує функціональне програмування." + +msgid "https://en.wikipedia.org/wiki/Coroutine: Entry for coroutines." +msgstr "https://en.wikipedia.org/wiki/Coroutine: Запис для співпрограм." + +msgid "" +"https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying." +msgstr "https://en.wikipedia.org/wiki/Currying: Початок поняття каррі." + +msgid "Python-specific" +msgstr "Специфічний для Python" + +msgid "" +"https://gnosis.cx/TPiP/: The first chapter of David Mertz's book :title-" +"reference:`Text Processing in Python` discusses functional programming for " +"text processing, in the section titled \"Utilizing Higher-Order Functions in " +"Text Processing\"." +msgstr "" + +msgid "" +"Mertz also wrote a 3-part series of articles on functional programming for " +"IBM's DeveloperWorks site; see `part 1 `__, `part 2 `__, and " +"`part 3 `__," +msgstr "" +"Мерц також написав серію статей із 3 частин про функціональне програмування " +"для сайту IBM DeveloperWorks; див. `частина 1 `__, `частина 2 `__ та `частина 3 `__," + +msgid "Python documentation" +msgstr "Документація Python" + +msgid "Documentation for the :mod:`itertools` module." +msgstr "Документація для модуля :mod:`itertools`." + +msgid "Documentation for the :mod:`functools` module." +msgstr "Документація для модуля :mod:`functools`." + +msgid "Documentation for the :mod:`operator` module." +msgstr "Документація для модуля :mod:`operator`." + +msgid ":pep:`289`: \"Generator Expressions\"" +msgstr ":pep:`289`: \"Генератор виразів\"" + +msgid "" +":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new " +"generator features in Python 2.5." +msgstr "" +":pep:`342`: \"Сопрограми через розширені генератори\" описує нові функції " +"генератора в Python 2.5." diff --git a/howto/index.po b/howto/index.po new file mode 100644 index 000000000..672da9b1a --- /dev/null +++ b/howto/index.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python HOWTOs" +msgstr "Python HOWTO" + +msgid "" +"Python HOWTOs are documents that cover a single, specific topic, and attempt " +"to cover it fairly completely. Modelled on the Linux Documentation Project's " +"HOWTO collection, this collection is an effort to foster documentation " +"that's more detailed than the Python Library Reference." +msgstr "" +"Python HOWTO — це документи, які охоплюють одну конкретну тему та " +"намагаються охопити її досить повно. Створена за зразком колекції HOWTO " +"Проекту документації Linux, ця колекція є спробою сприяти створенню " +"документації, яка є більш детальною, ніж Довідник бібліотеки Python." + +msgid "Currently, the HOWTOs are:" +msgstr "На даний момент HOWTO:" diff --git a/howto/instrumentation.po b/howto/instrumentation.po new file mode 100644 index 000000000..ba6741a38 --- /dev/null +++ b/howto/instrumentation.po @@ -0,0 +1,364 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Instrumenting CPython with DTrace and SystemTap" +msgstr "Інструментування CPython за допомогою DTrace і SystemTap" + +msgid "author" +msgstr "автор" + +msgid "David Malcolm" +msgstr "David Malcolm" + +msgid "Łukasz Langa" +msgstr "Łukasz Langa" + +msgid "" +"DTrace and SystemTap are monitoring tools, each providing a way to inspect " +"what the processes on a computer system are doing. They both use domain-" +"specific languages allowing a user to write scripts which:" +msgstr "" +"DTrace і SystemTap — це інструменти моніторингу, кожен з яких надає спосіб " +"перевірити, що роблять процеси в комп’ютерній системі. Вони обидва " +"використовують доменно-спеціальні мови, що дозволяє користувачеві писати " +"сценарії, які:" + +msgid "filter which processes are to be observed" +msgstr "фільтрувати процеси, які слід спостерігати" + +msgid "gather data from the processes of interest" +msgstr "збирати дані з цікавих процесів" + +msgid "generate reports on the data" +msgstr "створювати звіти за даними" + +msgid "" +"As of Python 3.6, CPython can be built with embedded \"markers\", also known " +"as \"probes\", that can be observed by a DTrace or SystemTap script, making " +"it easier to monitor what the CPython processes on a system are doing." +msgstr "" +"Починаючи з Python 3.6, CPython можна створювати за допомогою вбудованих " +"\"маркерів\", також відомих як \"зонди\", які можна спостерігати за " +"допомогою сценарію DTrace або SystemTap, що полегшує моніторинг того, що " +"роблять процеси CPython у системі." + +msgid "" +"DTrace markers are implementation details of the CPython interpreter. No " +"guarantees are made about probe compatibility between versions of CPython. " +"DTrace scripts can stop working or work incorrectly without warning when " +"changing CPython versions." +msgstr "" +"Маркери DTrace є деталями реалізації інтерпретатора CPython. Жодних гарантій " +"щодо сумісності зондів між версіями CPython не надається. Під час зміни " +"версій CPython сценарії DTrace можуть перестати працювати або працювати " +"неправильно без попередження." + +msgid "Enabling the static markers" +msgstr "Увімкнення статичних маркерів" + +msgid "" +"macOS comes with built-in support for DTrace. On Linux, in order to build " +"CPython with the embedded markers for SystemTap, the SystemTap development " +"tools must be installed." +msgstr "" +"macOS має вбудовану підтримку DTrace. У Linux, щоб створити CPython із " +"вбудованими маркерами для SystemTap, необхідно встановити інструменти " +"розробки SystemTap." + +msgid "On a Linux machine, this can be done via::" +msgstr "На машині Linux це можна зробити за допомогою::" + +msgid "or::" +msgstr "або::" + +msgid "" +"CPython must then be :option:`configured with the --with-dtrace option <--" +"with-dtrace>`:" +msgstr "" +"Тоді CPython має бути :option:`налаштований за допомогою параметра --with-" +"dtrace <--with-dtrace>`:" + +msgid "" +"On macOS, you can list available DTrace probes by running a Python process " +"in the background and listing all probes made available by the Python " +"provider::" +msgstr "" +"У macOS ви можете отримати список доступних зондів DTrace, запустивши процес " +"Python у фоновому режимі та перерахувавши всі зонди, доступні постачальником " +"Python:" + +msgid "" +"On Linux, you can verify if the SystemTap static markers are present in the " +"built binary by seeing if it contains a \".note.stapsdt\" section." +msgstr "" +"У Linux ви можете перевірити наявність статичних маркерів SystemTap у " +"вбудованому двійковому файлі, перевіривши, чи містить він розділ \".note." +"stapsdt\"." + +msgid "" +"If you've built Python as a shared library (with the :option:`--enable-" +"shared` configure option), you need to look instead within the shared " +"library. For example::" +msgstr "" +"Якщо ви створили Python як спільну бібліотеку (з параметром конфігурації :" +"option:`--enable-shared`), вам потрібно натомість шукати в спільній " +"бібліотеці. Наприклад::" + +msgid "Sufficiently modern readelf can print the metadata::" +msgstr "Досить сучасний readelf може друкувати метадані::" + +msgid "" +"The above metadata contains information for SystemTap describing how it can " +"patch strategically placed machine code instructions to enable the tracing " +"hooks used by a SystemTap script." +msgstr "" + +msgid "Static DTrace probes" +msgstr "Статичні зонди DTrace" + +msgid "" +"The following example DTrace script can be used to show the call/return " +"hierarchy of a Python script, only tracing within the invocation of a " +"function called \"start\". In other words, import-time function invocations " +"are not going to be listed:" +msgstr "" +"Наступний приклад сценарію DTrace можна використовувати, щоб показати " +"ієрархію викликів/повернень сценарію Python, лише відстежуючи в межах " +"виклику функції під назвою \"start\". Іншими словами, виклики функцій під " +"час імпорту не будуть перераховані:" + +msgid "It can be invoked like this::" +msgstr "Його можна викликати так::" + +msgid "The output looks like this:" +msgstr "Результат виглядає так:" + +msgid "Static SystemTap markers" +msgstr "Статичні маркери SystemTap" + +msgid "" +"The low-level way to use the SystemTap integration is to use the static " +"markers directly. This requires you to explicitly state the binary file " +"containing them." +msgstr "" +"Низькорівневий спосіб використання інтеграції SystemTap полягає в " +"безпосередньому використанні статичних маркерів. Це вимагає, щоб ви явно " +"вказали бінарний файл, який їх містить." + +msgid "" +"For example, this SystemTap script can be used to show the call/return " +"hierarchy of a Python script:" +msgstr "" +"Наприклад, цей сценарій SystemTap можна використовувати, щоб показати " +"ієрархію викликів/повернень сценарію Python:" + +msgid "where the columns are:" +msgstr "де стовпці:" + +msgid "time in microseconds since start of script" +msgstr "час у мікросекундах з моменту запуску сценарію" + +msgid "name of executable" +msgstr "ім'я виконуваного файлу" + +msgid "PID of process" +msgstr "PID процесу" + +msgid "" +"and the remainder indicates the call/return hierarchy as the script executes." +msgstr "" +"а залишок вказує на ієрархію виклику/повернення під час виконання сценарію." + +msgid "" +"For a :option:`--enable-shared` build of CPython, the markers are contained " +"within the libpython shared library, and the probe's dotted path needs to " +"reflect this. For example, this line from the above example:" +msgstr "" +"Для :option:`--enable-shared` збірки CPython маркери містяться в спільній " +"бібліотеці libpython, і пунктирний шлях зонда повинен це відображати. " +"Наприклад, цей рядок із наведеного вище прикладу:" + +msgid "should instead read:" +msgstr "замість цього слід читати:" + +msgid "(assuming a :ref:`debug build ` of CPython 3.6)" +msgstr "(за умови :ref:`debug build ` CPython 3.6)" + +msgid "Available static markers" +msgstr "Наявні статичні маркери" + +msgid "" +"This marker indicates that execution of a Python function has begun. It is " +"only triggered for pure-Python (bytecode) functions." +msgstr "" +"Цей маркер вказує на те, що почалося виконання функції Python. Він " +"запускається лише для функцій чистого Python (байт-код)." + +msgid "" +"The filename, function name, and line number are provided back to the " +"tracing script as positional arguments, which must be accessed using ``" +"$arg1``, ``$arg2``, ``$arg3``:" +msgstr "" +"Ім’я файлу, ім’я функції та номер рядка повертаються до сценарію трасування " +"як позиційні аргументи, до яких потрібно отримати доступ за допомогою ``" +"$arg1``, ``$arg2``, ``$arg3``:" + +msgid "" +"``$arg1`` : ``(const char *)`` filename, accessible using " +"``user_string($arg1)``" +msgstr "" +"``$arg1`` : ``(const char *)`` ім'я файлу, доступне за допомогою " +"``user_string($arg1)``" + +msgid "" +"``$arg2`` : ``(const char *)`` function name, accessible using " +"``user_string($arg2)``" +msgstr "" +"``$arg2`` : ``(const char *)`` назва функції, доступна за допомогою " +"``user_string($arg2)``" + +msgid "``$arg3`` : ``int`` line number" +msgstr "``$arg3`` : ``int`` номер рядка" + +msgid "" +"This marker is the converse of :c:func:`function__entry`, and indicates that " +"execution of a Python function has ended (either via ``return``, or via an " +"exception). It is only triggered for pure-Python (bytecode) functions." +msgstr "" +"Цей маркер є протилежністю :c:func:`function__entry` і вказує на те, що " +"виконання функції Python завершилося (або через ``return``, або через " +"виняток). Він запускається лише для функцій чистого Python (байт-код)." + +msgid "The arguments are the same as for :c:func:`function__entry`" +msgstr "Аргументи такі самі, як і для :c:func:`function__entry`" + +msgid "" +"This marker indicates a Python line is about to be executed. It is the " +"equivalent of line-by-line tracing with a Python profiler. It is not " +"triggered within C functions." +msgstr "" +"Цей маркер вказує на те, що рядок Python збирається виконати. Це еквівалент " +"построкової трасування за допомогою профайлера Python. Він не запускається у " +"функціях C." + +msgid "The arguments are the same as for :c:func:`function__entry`." +msgstr "Аргументи такі самі, як і для :c:func:`function__entry`." + +msgid "" +"Fires when the Python interpreter starts a garbage collection cycle. " +"``arg0`` is the generation to scan, like :func:`gc.collect()`." +msgstr "" +"Спрацьовує, коли інтерпретатор Python запускає цикл збирання сміття. " +"``arg0`` - це генерація для сканування, наприклад :func:`gc.collect()`." + +msgid "" +"Fires when the Python interpreter finishes a garbage collection cycle. " +"``arg0`` is the number of collected objects." +msgstr "" +"Спрацьовує, коли інтерпретатор Python завершує цикл збирання сміття. " +"``arg0`` - кількість зібраних об'єктів." + +msgid "" +"Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` " +"is the module name." +msgstr "" +"Спрацьовує перед спробою :mod:`importlib` знайти та завантажити модуль. " +"``arg0`` - це назва модуля." + +msgid "" +"Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is " +"the module name, ``arg1`` indicates if module was successfully loaded." +msgstr "" +"Спрацьовує після виклику функції find_and_load :mod:`importlib`. ``arg0`` - " +"це назва модуля, ``arg1`` вказує, чи модуль було успішно завантажено." + +msgid "" +"Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is " +"the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a " +"tuple object." +msgstr "" +"Спрацьовує під час виклику :func:`sys.audit` або :c:func:`PySys_Audit`. " +"``arg0`` — це ім’я події у вигляді рядка C, ``arg1`` — це покажчик :c:type:" +"`PyObject` на об’єкт кортежу." + +msgid "SystemTap Tapsets" +msgstr "Системні крани" + +msgid "" +"The higher-level way to use the SystemTap integration is to use a \"tapset" +"\": SystemTap's equivalent of a library, which hides some of the lower-level " +"details of the static markers." +msgstr "" +"Шлях вищого рівня використання інтеграції SystemTap полягає у використанні " +"\"tapset\": еквівалента бібліотеки SystemTap, яка приховує деякі деталі " +"нижчого рівня статичних маркерів." + +msgid "Here is a tapset file, based on a non-shared build of CPython:" +msgstr "Ось файл tapset, заснований на незагальній збірці CPython:" + +msgid "" +"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/" +"systemtap/tapset``), then these additional probepoints become available:" +msgstr "" +"Якщо цей файл встановлено в каталозі tapset SystemTap (наприклад, ``/usr/" +"share/systemtap/tapset``), тоді ці додаткові точки дослідження стають " +"доступними:" + +msgid "" +"This probe point indicates that execution of a Python function has begun. It " +"is only triggered for pure-Python (bytecode) functions." +msgstr "" +"Ця точка тестування вказує на те, що почалося виконання функції Python. Він " +"запускається лише для функцій чистого Python (байт-код)." + +msgid "" +"This probe point is the converse of ``python.function.return``, and " +"indicates that execution of a Python function has ended (either via " +"``return``, or via an exception). It is only triggered for pure-Python " +"(bytecode) functions." +msgstr "" +"Ця точка тестування є протилежністю ``python.function.return`` і вказує, що " +"виконання функції Python завершилося (або через ``return``, або через " +"виняток). Він запускається лише для функцій чистого Python (байт-код)." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"This SystemTap script uses the tapset above to more cleanly implement the " +"example given above of tracing the Python function-call hierarchy, without " +"needing to directly name the static markers:" +msgstr "" +"Цей сценарій SystemTap використовує наведений вище набір для більш чіткої " +"реалізації наведеного вище прикладу відстеження ієрархії викликів функцій " +"Python, без необхідності безпосередньо називати статичні маркери:" + +msgid "" +"The following script uses the tapset above to provide a top-like view of all " +"running CPython code, showing the top 20 most frequently entered bytecode " +"frames, each second, across the whole system:" +msgstr "" diff --git a/howto/ipaddress.po b/howto/ipaddress.po new file mode 100644 index 000000000..36efdf45e --- /dev/null +++ b/howto/ipaddress.po @@ -0,0 +1,374 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "An introduction to the ipaddress module" +msgstr "Знайомство з модулем ipaddress" + +msgid "author" +msgstr "автор" + +msgid "Peter Moody" +msgstr "Peter Moody" + +msgid "Nick Coghlan" +msgstr "Nick Coghlan" + +msgid "Overview" +msgstr "Огляд" + +msgid "" +"This document aims to provide a gentle introduction to the :mod:`ipaddress` " +"module. It is aimed primarily at users that aren't already familiar with IP " +"networking terminology, but may also be useful to network engineers wanting " +"an overview of how :mod:`ipaddress` represents IP network addressing " +"concepts." +msgstr "" +"Цей документ має на меті надати короткий вступ до модуля :mod:`ipaddress`. " +"Він орієнтований насамперед на користувачів, які ще не знайомі з " +"термінологією IP-мереж, але також може бути корисним для мережевих " +"інженерів, які бажають отримати огляд того, як :mod:`ipaddress` представляє " +"концепції адресації IP-мережі." + +msgid "Creating Address/Network/Interface objects" +msgstr "Створення об’єктів Адреса/Мережа/Інтерфейс" + +msgid "" +"Since :mod:`ipaddress` is a module for inspecting and manipulating IP " +"addresses, the first thing you'll want to do is create some objects. You " +"can use :mod:`ipaddress` to create objects from strings and integers." +msgstr "" +"Оскільки :mod:`ipaddress` — це модуль для перевірки та маніпулювання IP-" +"адресами, перше, що ви захочете зробити, це створити кілька об’єктів. Ви " +"можете використовувати :mod:`ipaddress` для створення об’єктів із рядків і " +"цілих чисел." + +msgid "A Note on IP Versions" +msgstr "Примітка щодо версій IP" + +msgid "" +"For readers that aren't particularly familiar with IP addressing, it's " +"important to know that the Internet Protocol (IP) is currently in the " +"process of moving from version 4 of the protocol to version 6. This " +"transition is occurring largely because version 4 of the protocol doesn't " +"provide enough addresses to handle the needs of the whole world, especially " +"given the increasing number of devices with direct connections to the " +"internet." +msgstr "" +"Читачам, які не особливо знайомі з IP-адресацією, важливо знати, що Інтернет-" +"протокол (IP) зараз перебуває в процесі переходу від версії 4 протоколу до " +"версії 6. Цей перехід відбувається головним чином тому, що версія 4 " +"протоколу протокол не надає достатньо адрес для задоволення потреб усього " +"світу, особливо зважаючи на збільшення кількості пристроїв із прямим " +"підключенням до Інтернету." + +msgid "" +"Explaining the details of the differences between the two versions of the " +"protocol is beyond the scope of this introduction, but readers need to at " +"least be aware that these two versions exist, and it will sometimes be " +"necessary to force the use of one version or the other." +msgstr "" +"Пояснення деталей відмінностей між двома версіями протоколу виходить за " +"рамки цього вступу, але читачі повинні принаймні знати, що ці дві версії " +"існують, і іноді буде необхідно примусово використовувати одну версію або " +"інший." + +msgid "IP Host Addresses" +msgstr "IP-адреси хостів" + +msgid "" +"Addresses, often referred to as \"host addresses\" are the most basic unit " +"when working with IP addressing. The simplest way to create addresses is to " +"use the :func:`ipaddress.ip_address` factory function, which automatically " +"determines whether to create an IPv4 or IPv6 address based on the passed in " +"value:" +msgstr "" +"Адреси, які часто називають \"адресами хостів\", є основними одиницями " +"роботи з IP-адресуванням. Найпростішим способом створення адрес є " +"використання фабричної функції :func:`ipaddress.ip_address`, яка автоматично " +"визначає, чи потрібно створити адресу IPv4 чи IPv6 на основі переданого " +"значення:" + +msgid "" +"Addresses can also be created directly from integers. Values that will fit " +"within 32 bits are assumed to be IPv4 addresses::" +msgstr "" +"Адреси також можна створювати безпосередньо з цілих чисел. Припускається, що " +"значення, які вміщуються в 32 біти, є адресами IPv4:" + +msgid "" +"To force the use of IPv4 or IPv6 addresses, the relevant classes can be " +"invoked directly. This is particularly useful to force creation of IPv6 " +"addresses for small integers::" +msgstr "" +"Щоб примусово використовувати адреси IPv4 або IPv6, відповідні класи можна " +"викликати безпосередньо. Це особливо корисно для примусового створення адрес " +"IPv6 для малих цілих чисел:" + +msgid "Defining Networks" +msgstr "Визначення мереж" + +msgid "" +"Host addresses are usually grouped together into IP networks, so :mod:" +"`ipaddress` provides a way to create, inspect and manipulate network " +"definitions. IP network objects are constructed from strings that define the " +"range of host addresses that are part of that network. The simplest form for " +"that information is a \"network address/network prefix\" pair, where the " +"prefix defines the number of leading bits that are compared to determine " +"whether or not an address is part of the network and the network address " +"defines the expected value of those bits." +msgstr "" +"Адреси хостів зазвичай групуються в IP-мережі, тому :mod:`ipaddress` надає " +"можливість створювати, перевіряти та маніпулювати визначеннями мережі. " +"Об’єкти IP-мережі складаються з рядків, які визначають діапазон адрес " +"хостів, які є частиною цієї мережі. Найпростішою формою цієї інформації є " +"пара \"адреса мережі/префікс мережі\", де префікс визначає кількість " +"початкових бітів, які порівнюються, щоб визначити, чи є адреса частиною " +"мережі, а мережева адреса визначає очікуване значення ці шматочки." + +msgid "" +"As for addresses, a factory function is provided that determines the correct " +"IP version automatically::" +msgstr "" +"Що стосується адрес, передбачена заводська функція, яка автоматично визначає " +"правильну версію IP:" + +msgid "" +"Network objects cannot have any host bits set. The practical effect of this " +"is that ``192.0.2.1/24`` does not describe a network. Such definitions are " +"referred to as interface objects since the ip-on-a-network notation is " +"commonly used to describe network interfaces of a computer on a given " +"network and are described further in the next section." +msgstr "" +"Мережні об’єкти не можуть мати встановлені біти хоста. Практичний ефект " +"цього полягає в тому, що ``192.0.2.1/24`` не описує мережу. Такі визначення " +"називаються об’єктами інтерфейсу, оскільки нотація ip-on-a-network зазвичай " +"використовується для опису мережевих інтерфейсів комп’ютера в даній мережі " +"та описана далі в наступному розділі." + +msgid "" +"By default, attempting to create a network object with host bits set will " +"result in :exc:`ValueError` being raised. To request that the additional " +"bits instead be coerced to zero, the flag ``strict=False`` can be passed to " +"the constructor::" +msgstr "" +"За замовчуванням спроба створити мережевий об’єкт із встановленими бітами " +"хоста призведе до появи :exc:`ValueError`. Щоб запитати, щоб додаткові біти " +"натомість привели до нуля, прапорець ``strict=False`` можна передати " +"конструктору:" + +msgid "" +"While the string form offers significantly more flexibility, networks can " +"also be defined with integers, just like host addresses. In this case, the " +"network is considered to contain only the single address identified by the " +"integer, so the network prefix includes the entire network address::" +msgstr "" +"Хоча рядкова форма забезпечує значно більшу гнучкість, мережі також можна " +"визначати цілими числами, як і адреси хостів. У цьому випадку вважається, що " +"мережа містить лише одну адресу, визначену цілим числом, тому мережевий " +"префікс включає всю мережеву адресу::" + +msgid "" +"As with addresses, creation of a particular kind of network can be forced by " +"calling the class constructor directly instead of using the factory function." +msgstr "" +"Як і у випадку з адресами, створення певного типу мережі можна примусово " +"викликати безпосередньо конструктор класу замість використання функції " +"фабрики." + +msgid "Host Interfaces" +msgstr "Інтерфейси хоста" + +msgid "" +"As mentioned just above, if you need to describe an address on a particular " +"network, neither the address nor the network classes are sufficient. " +"Notation like ``192.0.2.1/24`` is commonly used by network engineers and the " +"people who write tools for firewalls and routers as shorthand for \"the host " +"``192.0.2.1`` on the network ``192.0.2.0/24``\", Accordingly, :mod:" +"`ipaddress` provides a set of hybrid classes that associate an address with " +"a particular network. The interface for creation is identical to that for " +"defining network objects, except that the address portion isn't constrained " +"to being a network address." +msgstr "" +"Як згадувалося вище, якщо вам потрібно описати адресу в певній мережі, ні " +"адреси, ні класів мережі недостатньо. Позначення на зразок ``192.0.2.1/24`` " +"зазвичай використовується мережевими інженерами та людьми, які пишуть " +"інструменти для брандмауерів і маршрутизаторів, як скорочення для \"хосту " +"``192.0.2.1`` в мережі ``192.0.2.0/24``\", Відповідно, :mod:`ipaddress` " +"надає набір гібридних класів, які пов’язують адресу з певною мережею. " +"Інтерфейс для створення ідентичний інтерфейсу для визначення мережевих " +"об’єктів, за винятком того, що частина адреси не обмежена мережевою адресою." + +msgid "" +"Integer inputs are accepted (as with networks), and use of a particular IP " +"version can be forced by calling the relevant constructor directly." +msgstr "" +"Цілочисельні введення приймаються (як у випадку з мережами), і використання " +"певної версії IP може бути примусово викликано відповідний конструктор " +"безпосередньо." + +msgid "Inspecting Address/Network/Interface Objects" +msgstr "Перевірка об’єктів адреси/мережі/інтерфейсу" + +msgid "" +"You've gone to the trouble of creating an IPv(4|6)(Address|Network|" +"Interface) object, so you probably want to get information about it. :mod:" +"`ipaddress` tries to make doing this easy and intuitive." +msgstr "" +"Ви потрудилися зі створенням об’єкта IPv(4|6)(Address|Network|Interface), " +"тож, мабуть, хочете отримати інформацію про нього. :mod:`ipaddress` " +"намагається зробити це легким та інтуїтивно зрозумілим." + +msgid "Extracting the IP version::" +msgstr "Витяг версії IP::" + +msgid "Obtaining the network from an interface::" +msgstr "Отримання мережі через інтерфейс::" + +msgid "Finding out how many individual addresses are in a network::" +msgstr "Дізнатися кількість окремих адрес у мережі:" + +msgid "Iterating through the \"usable\" addresses on a network::" +msgstr "Перебір \"придатних\" адрес у мережі:" + +msgid "" +"Obtaining the netmask (i.e. set bits corresponding to the network prefix) or " +"the hostmask (any bits that are not part of the netmask):" +msgstr "" +"Отримання маски мережі (тобто встановлених бітів, що відповідають префіксу " +"мережі) або маски хоста (будь-яких бітів, які не є частиною маски мережі):" + +msgid "Exploding or compressing the address::" +msgstr "Розкладання або стиснення адреси:" + +msgid "" +"While IPv4 doesn't support explosion or compression, the associated objects " +"still provide the relevant properties so that version neutral code can " +"easily ensure the most concise or most verbose form is used for IPv6 " +"addresses while still correctly handling IPv4 addresses." +msgstr "" +"Незважаючи на те, що IPv4 не підтримує розгортання чи стиснення, пов’язані " +"об’єкти все одно надають відповідні властивості, щоб нейтральний код версії " +"міг легко гарантувати, що для адрес IPv6 використовується найкоротша чи " +"найбільш докладна форма, водночас правильно обробляючи адреси IPv4." + +msgid "Networks as lists of Addresses" +msgstr "Мережі як списки адрес" + +msgid "" +"It's sometimes useful to treat networks as lists. This means it is possible " +"to index them like this::" +msgstr "" +"Іноді корисно розглядати мережі як списки. Це означає, що їх можна " +"індексувати таким чином:" + +msgid "" +"It also means that network objects lend themselves to using the list " +"membership test syntax like this::" +msgstr "" +"Це також означає, що мережеві об’єкти піддаються використанню синтаксису " +"перевірки членства в списку таким чином:" + +msgid "Containment testing is done efficiently based on the network prefix::" +msgstr "" +"Тестування обмеження виконується ефективно на основі мережевого префікса::" + +msgid "Comparisons" +msgstr "Порівняння" + +msgid "" +":mod:`ipaddress` provides some simple, hopefully intuitive ways to compare " +"objects, where it makes sense::" +msgstr "" +":mod:`ipaddress` надає кілька простих, сподіваюся, інтуїтивно зрозумілих " +"способів порівняння об’єктів, де це має сенс:" + +msgid "" +"A :exc:`TypeError` exception is raised if you try to compare objects of " +"different versions or different types." +msgstr "" +"Виняток :exc:`TypeError` виникає, якщо ви намагаєтеся порівняти об’єкти " +"різних версій або різних типів." + +msgid "Using IP Addresses with other modules" +msgstr "Використання IP-адрес з іншими модулями" + +msgid "" +"Other modules that use IP addresses (such as :mod:`socket`) usually won't " +"accept objects from this module directly. Instead, they must be coerced to " +"an integer or string that the other module will accept::" +msgstr "" +"Інші модулі, які використовують IP-адреси (такі як :mod:`socket`), зазвичай " +"не приймають об’єкти з цього модуля безпосередньо. Замість цього вони " +"повинні бути приведені до цілого числа або рядка, який прийме інший модуль:" + +msgid "Getting more detail when instance creation fails" +msgstr "Отримання додаткової інформації, коли не вдається створити примірник" + +msgid "" +"When creating address/network/interface objects using the version-agnostic " +"factory functions, any errors will be reported as :exc:`ValueError` with a " +"generic error message that simply says the passed in value was not " +"recognized as an object of that type. The lack of a specific error is " +"because it's necessary to know whether the value is *supposed* to be IPv4 or " +"IPv6 in order to provide more detail on why it has been rejected." +msgstr "" +"Під час створення об’єктів адреси/мережі/інтерфейсу за допомогою функцій " +"фабрики, що не залежать від версії, про будь-які помилки повідомлятиметься " +"як :exc:`ValueError` із загальним повідомленням про помилку, яке просто " +"повідомляє, що передане значення не було розпізнано як об’єкт цього типу. " +"Відсутність конкретної помилки пов’язана з тим, що необхідно знати, чи *має* " +"значення бути IPv4 чи IPv6, щоб надати докладнішу інформацію про те, чому " +"його було відхилено." + +msgid "" +"To support use cases where it is useful to have access to this additional " +"detail, the individual class constructors actually raise the :exc:" +"`ValueError` subclasses :exc:`ipaddress.AddressValueError` and :exc:" +"`ipaddress.NetmaskValueError` to indicate exactly which part of the " +"definition failed to parse correctly." +msgstr "" +"Щоб підтримати випадки використання, де корисно мати доступ до цієї " +"додаткової деталі, окремі конструктори класів фактично створюють підкласи :" +"exc:`ValueError` :exc:`ipaddress.AddressValueError` і :exc:`ipaddress." +"NetmaskValueError`, щоб точно вказати яку частину визначення не вдалося " +"правильно проаналізувати." + +msgid "" +"The error messages are significantly more detailed when using the class " +"constructors directly. For example::" +msgstr "" +"Повідомлення про помилки значно більш детальні при безпосередньому " +"використанні конструкторів класів. Наприклад::" + +msgid "" +"However, both of the module specific exceptions have :exc:`ValueError` as " +"their parent class, so if you're not concerned with the particular type of " +"error, you can still write code like the following::" +msgstr "" +"Однак обидва винятки, специфічні для модуля, мають :exc:`ValueError` як " +"батьківський клас, тому, якщо вас не хвилює певний тип помилки, ви все одно " +"можете написати наступний код:" diff --git a/howto/isolating-extensions.po b/howto/isolating-extensions.po new file mode 100644 index 000000000..d4fe5e27b --- /dev/null +++ b/howto/isolating-extensions.po @@ -0,0 +1,544 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2022-11-05 19:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Isolating Extension Modules" +msgstr "" + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"Traditionally, state belonging to Python extension modules was kept in C " +"``static`` variables, which have process-wide scope. This document describes " +"problems of such per-process state and shows a safer way: per-module state." +msgstr "" + +msgid "" +"The document also describes how to switch to per-module state where " +"possible. This transition involves allocating space for that state, " +"potentially switching from static types to heap types, and—perhaps most " +"importantly—accessing per-module state from code." +msgstr "" + +msgid "Who should read this" +msgstr "" + +msgid "" +"This guide is written for maintainers of :ref:`C-API ` " +"extensions who would like to make that extension safer to use in " +"applications where Python itself is used as a library." +msgstr "" + +msgid "Background" +msgstr "Фон" + +msgid "" +"An *interpreter* is the context in which Python code runs. It contains " +"configuration (e.g. the import path) and runtime state (e.g. the set of " +"imported modules)." +msgstr "" + +msgid "" +"Python supports running multiple interpreters in one process. There are two " +"cases to think about—users may run interpreters:" +msgstr "" + +msgid "" +"in sequence, with several :c:func:`Py_InitializeEx`/:c:func:`Py_FinalizeEx` " +"cycles, and" +msgstr "" + +msgid "" +"in parallel, managing \"sub-interpreters\" using :c:func:" +"`Py_NewInterpreter`/:c:func:`Py_EndInterpreter`." +msgstr "" + +msgid "" +"Both cases (and combinations of them) would be most useful when embedding " +"Python within a library. Libraries generally shouldn't make assumptions " +"about the application that uses them, which include assuming a process-wide " +"\"main Python interpreter\"." +msgstr "" + +msgid "" +"Historically, Python extension modules don't handle this use case well. Many " +"extension modules (and even some stdlib modules) use *per-process* global " +"state, because C ``static`` variables are extremely easy to use. Thus, data " +"that should be specific to an interpreter ends up being shared between " +"interpreters. Unless the extension developer is careful, it is very easy to " +"introduce edge cases that lead to crashes when a module is loaded in more " +"than one interpreter in the same process." +msgstr "" + +msgid "" +"Unfortunately, *per-interpreter* state is not easy to achieve. Extension " +"authors tend to not keep multiple interpreters in mind when developing, and " +"it is currently cumbersome to test the behavior." +msgstr "" + +msgid "Enter Per-Module State" +msgstr "" + +msgid "" +"Instead of focusing on per-interpreter state, Python's C API is evolving to " +"better support the more granular *per-module* state. This means that C-level " +"data is be attached to a *module object*. Each interpreter creates its own " +"module object, keeping the data separate. For testing the isolation, " +"multiple module objects corresponding to a single extension can even be " +"loaded in a single interpreter." +msgstr "" + +msgid "" +"Per-module state provides an easy way to think about lifetime and resource " +"ownership: the extension module will initialize when a module object is " +"created, and clean up when it's freed. In this regard, a module is just like " +"any other :c:expr:`PyObject *`; there are no \"on interpreter shutdown\" " +"hooks to think—or forget—about." +msgstr "" + +msgid "" +"Note that there are use cases for different kinds of \"globals\": per-" +"process, per-interpreter, per-thread or per-task state. With per-module " +"state as the default, these are still possible, but you should treat them as " +"exceptional cases: if you need them, you should give them additional care " +"and testing. (Note that this guide does not cover them.)" +msgstr "" + +msgid "Isolated Module Objects" +msgstr "" + +msgid "" +"The key point to keep in mind when developing an extension module is that " +"several module objects can be created from a single shared library. For " +"example:" +msgstr "" + +msgid "" +"As a rule of thumb, the two modules should be completely independent. All " +"objects and state specific to the module should be encapsulated within the " +"module object, not shared with other module objects, and cleaned up when the " +"module object is deallocated. Since this just is a rule of thumb, exceptions " +"are possible (see `Managing Global State`_), but they will need more thought " +"and attention to edge cases." +msgstr "" + +msgid "" +"While some modules could do with less stringent restrictions, isolated " +"modules make it easier to set clear expectations and guidelines that work " +"across a variety of use cases." +msgstr "" + +msgid "Surprising Edge Cases" +msgstr "" + +msgid "" +"Note that isolated modules do create some surprising edge cases. Most " +"notably, each module object will typically not share its classes and " +"exceptions with other similar modules. Continuing from the `example above " +"`__, note that ``old_binascii.Error`` and " +"``binascii.Error`` are separate objects. In the following code, the " +"exception is *not* caught:" +msgstr "" + +msgid "" +"This is expected. Notice that pure-Python modules behave the same way: it is " +"a part of how Python works." +msgstr "" + +msgid "" +"The goal is to make extension modules safe at the C level, not to make hacks " +"behave intuitively. Mutating ``sys.modules`` \"manually\" counts as a hack." +msgstr "" + +msgid "Making Modules Safe with Multiple Interpreters" +msgstr "" + +msgid "Managing Global State" +msgstr "" + +msgid "" +"Sometimes, the state associated with a Python module is not specific to that " +"module, but to the entire process (or something else \"more global\" than a " +"module). For example:" +msgstr "" + +msgid "The ``readline`` module manages *the* terminal." +msgstr "" + +msgid "" +"A module running on a circuit board wants to control *the* on-board LED." +msgstr "" + +msgid "" +"In these cases, the Python module should provide *access* to the global " +"state, rather than *own* it. If possible, write the module so that multiple " +"copies of it can access the state independently (along with other libraries, " +"whether for Python or other languages). If that is not possible, consider " +"explicit locking." +msgstr "" + +msgid "" +"If it is necessary to use process-global state, the simplest way to avoid " +"issues with multiple interpreters is to explicitly prevent a module from " +"being loaded more than once per process—see `Opt-Out: Limiting to One Module " +"Object per Process`_." +msgstr "" + +msgid "Managing Per-Module State" +msgstr "" + +msgid "" +"To use per-module state, use :ref:`multi-phase extension module " +"initialization `. This signals that your module " +"supports multiple interpreters correctly." +msgstr "" + +msgid "" +"Set ``PyModuleDef.m_size`` to a positive number to request that many bytes " +"of storage local to the module. Usually, this will be set to the size of " +"some module-specific ``struct``, which can store all of the module's C-level " +"state. In particular, it is where you should put pointers to classes " +"(including exceptions, but excluding static types) and settings (e.g. " +"``csv``'s :py:data:`~csv.field_size_limit`) which the C code needs to " +"function." +msgstr "" + +msgid "" +"Another option is to store state in the module's ``__dict__``, but you must " +"avoid crashing when users modify ``__dict__`` from Python code. This usually " +"means error- and type-checking at the C level, which is easy to get wrong " +"and hard to test sufficiently." +msgstr "" + +msgid "" +"However, if module state is not needed in C code, storing it in ``__dict__`` " +"only is a good idea." +msgstr "" + +msgid "" +"If the module state includes ``PyObject`` pointers, the module object must " +"hold references to those objects and implement the module-level hooks " +"``m_traverse``, ``m_clear`` and ``m_free``. These work like ``tp_traverse``, " +"``tp_clear`` and ``tp_free`` of a class. Adding them will require some work " +"and make the code longer; this is the price for modules which can be " +"unloaded cleanly." +msgstr "" + +msgid "" +"An example of a module with per-module state is currently available as " +"`xxlimited `__; example module initialization shown at the bottom of the file." +msgstr "" + +msgid "Opt-Out: Limiting to One Module Object per Process" +msgstr "" + +msgid "" +"A non-negative ``PyModuleDef.m_size`` signals that a module supports " +"multiple interpreters correctly. If this is not yet the case for your " +"module, you can explicitly make your module loadable only once per process. " +"For example::" +msgstr "" + +msgid "Module State Access from Functions" +msgstr "" + +msgid "" +"Accessing the state from module-level functions is straightforward. " +"Functions get the module object as their first argument; for extracting the " +"state, you can use ``PyModule_GetState``::" +msgstr "" + +msgid "" +"``PyModule_GetState`` may return ``NULL`` without setting an exception if " +"there is no module state, i.e. ``PyModuleDef.m_size`` was zero. In your own " +"module, you're in control of ``m_size``, so this is easy to prevent." +msgstr "" + +msgid "Heap Types" +msgstr "Типи купи" + +msgid "" +"Traditionally, types defined in C code are *static*; that is, ``static " +"PyTypeObject`` structures defined directly in code and initialized using " +"``PyType_Ready()``." +msgstr "" + +msgid "" +"Such types are necessarily shared across the process. Sharing them between " +"module objects requires paying attention to any state they own or access. To " +"limit the possible issues, static types are immutable at the Python level: " +"for example, you can't set ``str.myattribute = 123``." +msgstr "" + +msgid "" +"Sharing truly immutable objects between interpreters is fine, as long as " +"they don't provide access to mutable objects. However, in CPython, every " +"Python object has a mutable implementation detail: the reference count. " +"Changes to the refcount are guarded by the GIL. Thus, code that shares any " +"Python objects across interpreters implicitly depends on CPython's current, " +"process-wide GIL." +msgstr "" + +msgid "" +"Because they are immutable and process-global, static types cannot access " +"\"their\" module state. If any method of such a type requires access to " +"module state, the type must be converted to a *heap-allocated type*, or " +"*heap type* for short. These correspond more closely to classes created by " +"Python's ``class`` statement." +msgstr "" + +msgid "For new modules, using heap types by default is a good rule of thumb." +msgstr "" + +msgid "Changing Static Types to Heap Types" +msgstr "" + +msgid "" +"Static types can be converted to heap types, but note that the heap type API " +"was not designed for \"lossless\" conversion from static types—that is, " +"creating a type that works exactly like a given static type. So, when " +"rewriting the class definition in a new API, you are likely to " +"unintentionally change a few details (e.g. pickleability or inherited " +"slots). Always test the details that are important to you." +msgstr "" + +msgid "" +"Watch out for the following two points in particular (but note that this is " +"not a comprehensive list):" +msgstr "" + +msgid "" +"Unlike static types, heap type objects are mutable by default. Use the :c:" +"data:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability." +msgstr "" + +msgid "" +"Heap types inherit :c:member:`~PyTypeObject.tp_new` by default, so it may " +"become possible to instantiate them from Python code. You can prevent this " +"with the :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag." +msgstr "" + +msgid "Defining Heap Types" +msgstr "" + +msgid "" +"Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a " +"description or \"blueprint\" of a class, and calling :c:func:" +"`PyType_FromModuleAndSpec` to construct a new class object." +msgstr "" + +msgid "" +"Other functions, like :c:func:`PyType_FromSpec`, can also create heap types, " +"but :c:func:`PyType_FromModuleAndSpec` associates the module with the class, " +"allowing access to the module state from methods." +msgstr "" + +msgid "" +"The class should generally be stored in *both* the module state (for safe " +"access from C) and the module's ``__dict__`` (for access from Python code)." +msgstr "" + +msgid "Garbage-Collection Protocol" +msgstr "" + +msgid "" +"Instances of heap types hold a reference to their type. This ensures that " +"the type isn't destroyed before all its instances are, but may result in " +"reference cycles that need to be broken by the garbage collector." +msgstr "" + +msgid "" +"To avoid memory leaks, instances of heap types must implement the garbage " +"collection protocol. That is, heap types should:" +msgstr "" + +msgid "Have the :c:data:`Py_TPFLAGS_HAVE_GC` flag." +msgstr "" + +msgid "" +"Define a traverse function using ``Py_tp_traverse``, which visits the type " +"(e.g. using :c:expr:`Py_VISIT(Py_TYPE(self))`)." +msgstr "" + +msgid "" +"Please refer to the :ref:`the documentation ` of :c:data:" +"`Py_TPFLAGS_HAVE_GC` and :c:member:`~PyTypeObject.tp_traverse` for " +"additional considerations." +msgstr "" + +msgid "" +"If your traverse function delegates to the ``tp_traverse`` of its base class " +"(or another type), ensure that ``Py_TYPE(self)`` is visited only once. Note " +"that only heap type are expected to visit the type in ``tp_traverse``." +msgstr "" + +msgid "For example, if your traverse function includes::" +msgstr "" + +msgid "...and ``base`` may be a static type, then it should also include::" +msgstr "" + +msgid "" +"It is not necessary to handle the type's reference count in ``tp_new`` and " +"``tp_clear``." +msgstr "" + +msgid "Module State Access from Classes" +msgstr "" + +msgid "" +"If you have a type object defined with :c:func:`PyType_FromModuleAndSpec`, " +"you can call :c:func:`PyType_GetModule` to get the associated module, and " +"then :c:func:`PyModule_GetState` to get the module's state." +msgstr "" + +msgid "" +"To save a some tedious error-handling boilerplate code, you can combine " +"these two steps with :c:func:`PyType_GetModuleState`, resulting in::" +msgstr "" + +msgid "Module State Access from Regular Methods" +msgstr "" + +msgid "" +"Accessing the module-level state from methods of a class is somewhat more " +"complicated, but is possible thanks to API introduced in Python 3.9. To get " +"the state, you need to first get the *defining class*, and then get the " +"module state from it." +msgstr "" + +msgid "" +"The largest roadblock is getting *the class a method was defined in*, or " +"that method's \"defining class\" for short. The defining class can have a " +"reference to the module it is part of." +msgstr "" + +msgid "" +"Do not confuse the defining class with :c:expr:`Py_TYPE(self)`. If the " +"method is called on a *subclass* of your type, ``Py_TYPE(self)`` will refer " +"to that subclass, which may be defined in different module than yours." +msgstr "" + +msgid "" +"The following Python code can illustrate the concept. ``Base." +"get_defining_class`` returns ``Base`` even if ``type(self) == Sub``:" +msgstr "" + +msgid "" +"For a method to get its \"defining class\", it must use the :data:" +"`METH_METHOD | METH_FASTCALL | METH_KEYWORDS` :c:type:`calling convention " +"` and the corresponding :c:type:`PyCMethod` signature::" +msgstr "" + +msgid "" +"Once you have the defining class, call :c:func:`PyType_GetModuleState` to " +"get the state of its associated module." +msgstr "" + +msgid "For example::" +msgstr "Наприклад::" + +msgid "Module State Access from Slot Methods, Getters and Setters" +msgstr "" + +msgid "This is new in Python 3.11." +msgstr "" + +msgid "" +"Slot methods—the fast C equivalents for special methods, such as :c:member:" +"`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` or :c:member:" +"`~PyType.tp_new` for initialization—have a very simple API that doesn't " +"allow passing in the defining class, unlike with :c:type:`PyCMethod`. The " +"same goes for getters and setters defined with :c:type:`PyGetSetDef`." +msgstr "" + +msgid "" +"To access the module state in these cases, use the :c:func:" +"`PyType_GetModuleByDef` function, and pass in the module definition. Once " +"you have the module, call :c:func:`PyModule_GetState` to get the state::" +msgstr "" + +msgid "" +"``PyType_GetModuleByDef`` works by searching the :term:`method resolution " +"order` (i.e. all superclasses) for the first superclass that has a " +"corresponding module." +msgstr "" + +msgid "" +"In very exotic cases (inheritance chains spanning multiple modules created " +"from the same definition), ``PyType_GetModuleByDef`` might not return the " +"module of the true defining class. However, it will always return a module " +"with the same definition, ensuring a compatible C memory layout." +msgstr "" + +msgid "Lifetime of the Module State" +msgstr "" + +msgid "" +"When a module object is garbage-collected, its module state is freed. For " +"each pointer to (a part of) the module state, you must hold a reference to " +"the module object." +msgstr "" + +msgid "" +"Usually this is not an issue, because types created with :c:func:" +"`PyType_FromModuleAndSpec`, and their instances, hold a reference to the " +"module. However, you must be careful in reference counting when you " +"reference module state from other places, such as callbacks for external " +"libraries." +msgstr "" + +msgid "Open Issues" +msgstr "" + +msgid "Several issues around per-module state and heap types are still open." +msgstr "" + +msgid "" +"Discussions about improving the situation are best held on the `capi-sig " +"mailing list `__." +msgstr "" + +msgid "Per-Class Scope" +msgstr "" + +msgid "" +"It is currently (as of Python 3.11) not possible to attach state to " +"individual *types* without relying on CPython implementation details (which " +"may change in the future—perhaps, ironically, to allow a proper solution for " +"per-class scope)." +msgstr "" + +msgid "Lossless Conversion to Heap Types" +msgstr "" + +msgid "" +"The heap type API was not designed for \"lossless\" conversion from static " +"types; that is, creating a type that works exactly like a given static type." +msgstr "" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po new file mode 100644 index 000000000..e0df46baf --- /dev/null +++ b/howto/logging-cookbook.po @@ -0,0 +1,2530 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Logging Cookbook" +msgstr "\"Книга рецептів\" з логування" + +msgid "Author" +msgstr "Автор" + +msgid "Vinay Sajip " +msgstr "Vinay Sajip " + +msgid "" +"This page contains a number of recipes related to logging, which have been " +"found useful in the past. For links to tutorial and reference information, " +"please see :ref:`cookbook-ref-links`." +msgstr "" + +msgid "Using logging in multiple modules" +msgstr "Використання журналювання в кількох модулях" + +msgid "" +"Multiple calls to ``logging.getLogger('someLogger')`` return a reference to " +"the same logger object. This is true not only within the same module, but " +"also across modules as long as it is in the same Python interpreter " +"process. It is true for references to the same object; additionally, " +"application code can define and configure a parent logger in one module and " +"create (but not configure) a child logger in a separate module, and all " +"logger calls to the child will pass up to the parent. Here is a main " +"module::" +msgstr "" +"Кілька викликів ``logging.getLogger('someLogger')`` повертають посилання на " +"той самий об’єкт журналу. Це вірно не лише в межах одного модуля, але й у " +"всіх модулях, якщо вони знаходяться в одному процесі інтерпретатора Python. " +"Це вірно для посилань на той самий об’єкт; крім того, код програми може " +"визначати та налаштовувати батьківський реєстратор в одному модулі та " +"створювати (але не налаштовувати) дочірній реєстратор в окремому модулі, і " +"всі виклики реєстратора до дочірнього модуля передадуться батьківському. Ось " +"головний модуль::" + +msgid "Here is the auxiliary module::" +msgstr "Ось допоміжний модуль::" + +msgid "The output looks like this:" +msgstr "Результат виглядає так:" + +msgid "Logging from multiple threads" +msgstr "Ведення журналу з кількох потоків" + +msgid "" +"Logging from multiple threads requires no special effort. The following " +"example shows logging from the main (initial) thread and another thread::" +msgstr "" +"Логування з кількох потоків не потребує особливих зусиль. У наступному " +"прикладі показано журналювання з основного (початкового) потоку та іншого " +"потоку::" + +msgid "When run, the script should print something like the following:" +msgstr "Під час запуску сценарій має надрукувати щось на зразок такого:" + +msgid "" +"This shows the logging output interspersed as one might expect. This " +"approach works for more threads than shown here, of course." +msgstr "" +"Це показує результати журналювання, як і можна було очікувати. Звичайно, цей " +"підхід працює для більшої кількості потоків, ніж показано тут." + +msgid "Multiple handlers and formatters" +msgstr "Кілька обробників і форматувальників" + +msgid "" +"Loggers are plain Python objects. The :meth:`~Logger.addHandler` method has " +"no minimum or maximum quota for the number of handlers you may add. " +"Sometimes it will be beneficial for an application to log all messages of " +"all severities to a text file while simultaneously logging errors or above " +"to the console. To set this up, simply configure the appropriate handlers. " +"The logging calls in the application code will remain unchanged. Here is a " +"slight modification to the previous simple module-based configuration " +"example::" +msgstr "" +"Логери — це звичайні об’єкти Python. Метод :meth:`~Logger.addHandler` не має " +"мінімальної або максимальної квоти на кількість обробників, які ви можете " +"додати. Іноді для програми буде корисно реєструвати всі повідомлення будь-" +"якого рівня серйозності в текстовий файл, одночасно реєструючи помилки або " +"вище на консолі. Щоб налаштувати це, просто налаштуйте відповідні обробники. " +"Виклики журналювання в коді програми залишаться незмінними. Ось невелика " +"модифікація попереднього простого прикладу конфігурації на основі модуля:" + +msgid "" +"Notice that the 'application' code does not care about multiple handlers. " +"All that changed was the addition and configuration of a new handler named " +"*fh*." +msgstr "" +"Зауважте, що код програми не піклується про декілька обробників. Все, що " +"змінилося, це додавання та налаштування нового обробника під назвою *fh*." + +msgid "" +"The ability to create new handlers with higher- or lower-severity filters " +"can be very helpful when writing and testing an application. Instead of " +"using many ``print`` statements for debugging, use ``logger.debug``: Unlike " +"the print statements, which you will have to delete or comment out later, " +"the logger.debug statements can remain intact in the source code and remain " +"dormant until you need them again. At that time, the only change that needs " +"to happen is to modify the severity level of the logger and/or handler to " +"debug." +msgstr "" +"Можливість створювати нові обробники з фільтрами вищого або нижчого рівня " +"серйозності може бути дуже корисною під час написання та тестування " +"програми. Замість використання багатьох інструкцій ``print`` для " +"налагодження використовуйте ``logger.debug``: на відміну від інструкцій " +"print, які вам доведеться видалити або закоментувати пізніше, інструкції " +"logger.debug можуть залишатися недоторканими у вихідному коді. і залишаються " +"в стані спокою, доки вони вам знову не знадобляться. У той час єдина зміна, " +"яка має відбутися, це змінити рівень серйозності реєстратора та/або " +"обробника для налагодження." + +msgid "Logging to multiple destinations" +msgstr "Реєстрація в кількох пунктах призначення" + +msgid "" +"Let's say you want to log to console and file with different message formats " +"and in differing circumstances. Say you want to log messages with levels of " +"DEBUG and higher to file, and those messages at level INFO and higher to the " +"console. Let's also assume that the file should contain timestamps, but the " +"console messages should not. Here's how you can achieve this::" +msgstr "" +"Припустімо, ви хочете увійти в консоль і файл із різними форматами " +"повідомлень і за різних обставин. Скажімо, ви хочете реєструвати " +"повідомлення з рівнями DEBUG і вище у файл, а ці повідомлення рівня INFO і " +"вище — на консоль. Давайте також припустимо, що файл повинен містити мітки " +"часу, але повідомлення консолі не повинні. Ось як ви можете цього досягти:" + +msgid "When you run this, on the console you will see" +msgstr "Коли ви запустите це, на консолі ви побачите" + +msgid "and in the file you will see something like" +msgstr "і у файлі ви побачите щось на зразок" + +msgid "" +"As you can see, the DEBUG message only shows up in the file. The other " +"messages are sent to both destinations." +msgstr "" +"Як бачите, повідомлення DEBUG відображається лише у файлі. Інші повідомлення " +"надсилаються в обидва адресати." + +msgid "" +"This example uses console and file handlers, but you can use any number and " +"combination of handlers you choose." +msgstr "" +"У цьому прикладі використовуються обробники консолі та файлів, але ви можете " +"використовувати будь-яку кількість і комбінацію обробників на свій вибір." + +msgid "" +"Note that the above choice of log filename ``/tmp/myapp.log`` implies use of " +"a standard location for temporary files on POSIX systems. On Windows, you " +"may need to choose a different directory name for the log - just ensure that " +"the directory exists and that you have the permissions to create and update " +"files in it." +msgstr "" + +msgid "Custom handling of levels" +msgstr "" + +msgid "" +"Sometimes, you might want to do something slightly different from the " +"standard handling of levels in handlers, where all levels above a threshold " +"get processed by a handler. To do this, you need to use filters. Let's look " +"at a scenario where you want to arrange things as follows:" +msgstr "" + +msgid "Send messages of severity ``INFO`` and ``WARNING`` to ``sys.stdout``" +msgstr "" + +msgid "Send messages of severity ``ERROR`` and above to ``sys.stderr``" +msgstr "" + +msgid "Send messages of severity ``DEBUG`` and above to file ``app.log``" +msgstr "" + +msgid "Suppose you configure logging with the following JSON:" +msgstr "" + +msgid "" +"This configuration does *almost* what we want, except that ``sys.stdout`` " +"would show messages of severity ``ERROR`` and above as well as ``INFO`` and " +"``WARNING`` messages. To prevent this, we can set up a filter which excludes " +"those messages and add it to the relevant handler. This can be configured by " +"adding a ``filters`` section parallel to ``formatters`` and ``handlers``:" +msgstr "" + +msgid "and changing the section on the ``stdout`` handler to add it:" +msgstr "" + +msgid "" +"A filter is just a function, so we can define the ``filter_maker`` (a " +"factory function) as follows:" +msgstr "" + +msgid "" +"This converts the string argument passed in to a numeric level, and returns " +"a function which only returns ``True`` if the level of the passed in record " +"is at or below the specified level. Note that in this example I have defined " +"the ``filter_maker`` in a test script ``main.py`` that I run from the " +"command line, so its module will be ``__main__`` - hence the ``__main__." +"filter_maker`` in the filter configuration. You will need to change that if " +"you define it in a different module." +msgstr "" + +msgid "With the filter added, we can run ``main.py``, which in full is:" +msgstr "" + +msgid "And after running it like this:" +msgstr "" + +msgid "We can see the results are as expected:" +msgstr "" + +msgid "Configuration server example" +msgstr "Приклад конфігурації сервера" + +msgid "Here is an example of a module using the logging configuration server::" +msgstr "Ось приклад модуля, який використовує сервер конфігурації журналу:" + +msgid "" +"And here is a script that takes a filename and sends that file to the " +"server, properly preceded with the binary-encoded length, as the new logging " +"configuration::" +msgstr "" +"А ось сценарій, який приймає ім’я файлу та надсилає цей файл на сервер, " +"належним чином передуючи довжиною у двійковому кодуванні, як нову " +"конфігурацію журналювання::" + +msgid "Dealing with handlers that block" +msgstr "Робота з обробниками, які блокують" + +msgid "" +"Sometimes you have to get your logging handlers to do their work without " +"blocking the thread you're logging from. This is common in web applications, " +"though of course it also occurs in other scenarios." +msgstr "" +"Іноді вам потрібно змусити обробників журналу виконувати свою роботу, не " +"блокуючи потік, з якого ви входите. Це поширене явище у веб-додатках, хоча, " +"звичайно, трапляється й в інших сценаріях." + +msgid "" +"A common culprit which demonstrates sluggish behaviour is the :class:" +"`SMTPHandler`: sending emails can take a long time, for a number of reasons " +"outside the developer's control (for example, a poorly performing mail or " +"network infrastructure). But almost any network-based handler can block: " +"Even a :class:`SocketHandler` operation may do a DNS query under the hood " +"which is too slow (and this query can be deep in the socket library code, " +"below the Python layer, and outside your control)." +msgstr "" +"Поширеним винуватцем млявої поведінки є :class:`SMTPHandler`: надсилання " +"електронних листів може тривати багато часу через ряд причин, які не " +"залежать від розробника (наприклад, погана робота пошти чи мережевої " +"інфраструктури). Але майже будь-який мережевий обробник може заблокувати: " +"навіть операція :class:`SocketHandler` може виконати DNS-запит під капотом, " +"який надто повільний (і цей запит може бути глибоко в коді бібліотеки " +"сокетів, нижче рівня Python, і поза вашим контролем)." + +msgid "" +"One solution is to use a two-part approach. For the first part, attach only " +"a :class:`QueueHandler` to those loggers which are accessed from performance-" +"critical threads. They simply write to their queue, which can be sized to a " +"large enough capacity or initialized with no upper bound to their size. The " +"write to the queue will typically be accepted quickly, though you will " +"probably need to catch the :exc:`queue.Full` exception as a precaution in " +"your code. If you are a library developer who has performance-critical " +"threads in their code, be sure to document this (together with a suggestion " +"to attach only ``QueueHandlers`` to your loggers) for the benefit of other " +"developers who will use your code." +msgstr "" +"Одним із рішень є використання підходу з двох частин. Для першої частини " +"додайте лише :class:`QueueHandler` до тих реєстраторів, доступ до яких " +"здійснюється з критичних для продуктивності потоків. Вони просто записують у " +"свою чергу, розмір якої може бути достатньо великим або ініціалізований без " +"верхньої межі їхнього розміру. Запис до черги, як правило, швидко " +"приймається, хоча вам, ймовірно, потрібно буде перехопити виняток :exc:" +"`queue.Full` як запобіжний захід у вашому коді. Якщо ви розробник " +"бібліотеки, у коді якого є критично важливі для продуктивності потоки, " +"обов’язково задокументуйте це (разом із пропозицією приєднати лише " +"``QueueHandlers`` до ваших реєстраторів) на користь інших розробників, які " +"використовуватимуть ваш код." + +msgid "" +"The second part of the solution is :class:`QueueListener`, which has been " +"designed as the counterpart to :class:`QueueHandler`. A :class:" +"`QueueListener` is very simple: it's passed a queue and some handlers, and " +"it fires up an internal thread which listens to its queue for LogRecords " +"sent from ``QueueHandlers`` (or any other source of ``LogRecords``, for that " +"matter). The ``LogRecords`` are removed from the queue and passed to the " +"handlers for processing." +msgstr "" +"Другою частиною рішення є :class:`QueueListener`, який був розроблений як " +"відповідник :class:`QueueHandler`. :class:`QueueListener` дуже простий: він " +"передає чергу та деякі обробники, і запускає внутрішній потік, який " +"прослуховує свою чергу для LogRecords, надісланих з ``QueueHandlers`` (або " +"будь-якого іншого джерела ``LogRecords``, як на те пішло). ``LogRecords`` " +"видаляються з черги та передаються обробникам для обробки." + +msgid "" +"The advantage of having a separate :class:`QueueListener` class is that you " +"can use the same instance to service multiple ``QueueHandlers``. This is " +"more resource-friendly than, say, having threaded versions of the existing " +"handler classes, which would eat up one thread per handler for no particular " +"benefit." +msgstr "" +"Перевага наявності окремого класу :class:`QueueListener` полягає в тому, що " +"ви можете використовувати один екземпляр для обслуговування кількох " +"``QueueHandler``. Це більш дружньо до ресурсів, ніж, скажімо, мати " +"багатопотокові версії існуючих класів обробників, які з’їдають один потік на " +"обробник без особливої користі." + +msgid "An example of using these two classes follows (imports omitted)::" +msgstr "Нижче наведено приклад використання цих двох класів (імпорт опущено):" + +msgid "which, when run, will produce:" +msgstr "який під час запуску вироблятиме:" + +msgid "" +"Although the earlier discussion wasn't specifically talking about async " +"code, but rather about slow logging handlers, it should be noted that when " +"logging from async code, network and even file handlers could lead to " +"problems (blocking the event loop) because some logging is done from :mod:" +"`asyncio` internals. It might be best, if any async code is used in an " +"application, to use the above approach for logging, so that any blocking " +"code runs only in the ``QueueListener`` thread." +msgstr "" + +msgid "" +"Prior to Python 3.5, the :class:`QueueListener` always passed every message " +"received from the queue to every handler it was initialized with. (This was " +"because it was assumed that level filtering was all done on the other side, " +"where the queue is filled.) From 3.5 onwards, this behaviour can be changed " +"by passing a keyword argument ``respect_handler_level=True`` to the " +"listener's constructor. When this is done, the listener compares the level " +"of each message with the handler's level, and only passes a message to a " +"handler if it's appropriate to do so." +msgstr "" +"До Python 3.5 :class:`QueueListener` завжди передавав кожне повідомлення, " +"отримане з черги, кожному обробнику, яким він був ініціалізований. (Це " +"сталося тому, що передбачалося, що фільтрація рівня виконується з іншого " +"боку, де заповнюється черга.) Починаючи з версії 3.5 і далі цю поведінку " +"можна змінити, передавши аргумент ключового слова " +"``respect_handler_level=True`` конструктору слухача . Коли це зроблено, " +"слухач порівнює рівень кожного повідомлення з рівнем обробника та передає " +"повідомлення обробнику, лише якщо це доречно." + +msgid "Sending and receiving logging events across a network" +msgstr "Надсилання та отримання журнальних подій через мережу" + +msgid "" +"Let's say you want to send logging events across a network, and handle them " +"at the receiving end. A simple way of doing this is attaching a :class:" +"`SocketHandler` instance to the root logger at the sending end::" +msgstr "" +"Припустімо, ви хочете надіслати події журналювання через мережу та обробити " +"їх на приймаючому кінці. Простий спосіб зробити це — приєднати екземпляр :" +"class:`SocketHandler` до кореневого реєстратора на стороні надсилання::" + +msgid "" +"At the receiving end, you can set up a receiver using the :mod:" +"`socketserver` module. Here is a basic working example::" +msgstr "" +"На стороні приймача ви можете налаштувати приймача за допомогою модуля :mod:" +"`socketserver`. Ось базовий робочий приклад:" + +msgid "" +"First run the server, and then the client. On the client side, nothing is " +"printed on the console; on the server side, you should see something like:" +msgstr "" +"Спочатку запустіть сервер, а потім клієнт. На стороні клієнта на консолі " +"нічого не друкується; на стороні сервера ви повинні побачити щось на кшталт:" + +msgid "" +"Note that there are some security issues with pickle in some scenarios. If " +"these affect you, you can use an alternative serialization scheme by " +"overriding the :meth:`~handlers.SocketHandler.makePickle` method and " +"implementing your alternative there, as well as adapting the above script to " +"use your alternative serialization." +msgstr "" +"Зауважте, що в деяких сценаріях із pickle виникають проблеми з безпекою. " +"Якщо це стосується вас, ви можете використати альтернативну схему " +"серіалізації, перевизначивши метод :meth:`~handlers.SocketHandler." +"makePickle` і реалізувавши там свою альтернативу, а також адаптувавши " +"наведений вище сценарій для використання альтернативної серіалізації." + +msgid "Running a logging socket listener in production" +msgstr "Запуск прослуховувача сокетів журналювання у виробництві" + +msgid "" +"To run a logging listener in production, you may need to use a process-" +"management tool such as `Supervisor `_. `Here is a " +"Gist `__ which provides the bare-bones files to run " +"the above functionality using Supervisor. It consists of the following files:" +msgstr "" + +msgid "File" +msgstr "" + +msgid "Purpose" +msgstr "призначення" + +msgid ":file:`prepare.sh`" +msgstr "" + +msgid "A Bash script to prepare the environment for testing" +msgstr "" + +msgid ":file:`supervisor.conf`" +msgstr "" + +msgid "" +"The Supervisor configuration file, which has entries for the listener and a " +"multi-process web application" +msgstr "" + +msgid ":file:`ensure_app.sh`" +msgstr "" + +msgid "" +"A Bash script to ensure that Supervisor is running with the above " +"configuration" +msgstr "" + +msgid ":file:`log_listener.py`" +msgstr "" + +msgid "" +"The socket listener program which receives log events and records them to a " +"file" +msgstr "" + +msgid ":file:`main.py`" +msgstr "" + +msgid "" +"A simple web application which performs logging via a socket connected to " +"the listener" +msgstr "" + +msgid ":file:`webapp.json`" +msgstr "" + +msgid "A JSON configuration file for the web application" +msgstr "" + +msgid ":file:`client.py`" +msgstr "" + +msgid "A Python script to exercise the web application" +msgstr "" + +msgid "" +"The web application uses `Gunicorn `_, which is a " +"popular web application server that starts multiple worker processes to " +"handle requests. This example setup shows how the workers can write to the " +"same log file without conflicting with one another --- they all go through " +"the socket listener." +msgstr "" + +msgid "To test these files, do the following in a POSIX environment:" +msgstr "" + +msgid "" +"Download `the Gist `__ as a ZIP archive using the :" +"guilabel:`Download ZIP` button." +msgstr "" + +msgid "Unzip the above files from the archive into a scratch directory." +msgstr "" + +msgid "" +"In the scratch directory, run ``bash prepare.sh`` to get things ready. This " +"creates a :file:`run` subdirectory to contain Supervisor-related and log " +"files, and a :file:`venv` subdirectory to contain a virtual environment into " +"which ``bottle``, ``gunicorn`` and ``supervisor`` are installed." +msgstr "" + +msgid "" +"Run ``bash ensure_app.sh`` to ensure that Supervisor is running with the " +"above configuration." +msgstr "" + +msgid "" +"Run ``venv/bin/python client.py`` to exercise the web application, which " +"will lead to records being written to the log." +msgstr "" + +msgid "" +"Inspect the log files in the :file:`run` subdirectory. You should see the " +"most recent log lines in files matching the pattern :file:`app.log*`. They " +"won't be in any particular order, since they have been handled concurrently " +"by different worker processes in a non-deterministic way." +msgstr "" + +msgid "" +"You can shut down the listener and the web application by running ``venv/bin/" +"supervisorctl -c supervisor.conf shutdown``." +msgstr "" + +msgid "" +"You may need to tweak the configuration files in the unlikely event that the " +"configured ports clash with something else in your test environment." +msgstr "" + +msgid "Adding contextual information to your logging output" +msgstr "Додавання контекстної інформації до вихідних даних журналу" + +msgid "" +"Sometimes you want logging output to contain contextual information in " +"addition to the parameters passed to the logging call. For example, in a " +"networked application, it may be desirable to log client-specific " +"information in the log (e.g. remote client's username, or IP address). " +"Although you could use the *extra* parameter to achieve this, it's not " +"always convenient to pass the information in this way. While it might be " +"tempting to create :class:`Logger` instances on a per-connection basis, this " +"is not a good idea because these instances are not garbage collected. While " +"this is not a problem in practice, when the number of :class:`Logger` " +"instances is dependent on the level of granularity you want to use in " +"logging an application, it could be hard to manage if the number of :class:" +"`Logger` instances becomes effectively unbounded." +msgstr "" +"Іноді потрібно, щоб вихід журналу містив контекстну інформацію на додаток до " +"параметрів, переданих до виклику журналу. Наприклад, у мережевій програмі " +"може бути бажаним реєструвати інформацію про клієнта в журналі (наприклад, " +"ім’я користувача віддаленого клієнта або IP-адресу). Хоча для цього можна " +"використовувати параметр *extra*, не завжди зручно передавати інформацію " +"таким чином. Хоча може виникнути спокуса створити екземпляри :class:`Logger` " +"для кожного з’єднання, це не дуже гарна ідея, оскільки ці екземпляри не " +"збираються для сміття. Хоча це не є проблемою на практиці, коли кількість " +"екземплярів :class:`Logger` залежить від рівня деталізації, який ви хочете " +"використовувати для реєстрації програми, може бути важко керувати кількістю :" +"class:`Екземпляри Logger` стають фактично необмеженими." + +msgid "Using LoggerAdapters to impart contextual information" +msgstr "Використання LoggerAdapters для передачі контекстної інформації" + +msgid "" +"An easy way in which you can pass contextual information to be output along " +"with logging event information is to use the :class:`LoggerAdapter` class. " +"This class is designed to look like a :class:`Logger`, so that you can call :" +"meth:`debug`, :meth:`info`, :meth:`warning`, :meth:`error`, :meth:" +"`exception`, :meth:`critical` and :meth:`log`. These methods have the same " +"signatures as their counterparts in :class:`Logger`, so you can use the two " +"types of instances interchangeably." +msgstr "" +"Простий спосіб, за допомогою якого ви можете передати контекстну інформацію " +"для виведення разом із інформацією про подію журналювання, полягає у " +"використанні класу :class:`LoggerAdapter`. Цей клас розроблено так, щоб " +"виглядати як :class:`Logger`, щоб ви могли викликати :meth:`debug`, :meth:" +"`info`, :meth:`warning`, :meth:`error`, :meth:`exception`, :meth:`critical` " +"і :meth:`log`. Ці методи мають ті самі сигнатури, що й їхні аналоги в :class:" +"`Logger`, тому ви можете використовувати обидва типи екземплярів як " +"взаємозамінні." + +msgid "" +"When you create an instance of :class:`LoggerAdapter`, you pass it a :class:" +"`Logger` instance and a dict-like object which contains your contextual " +"information. When you call one of the logging methods on an instance of :" +"class:`LoggerAdapter`, it delegates the call to the underlying instance of :" +"class:`Logger` passed to its constructor, and arranges to pass the " +"contextual information in the delegated call. Here's a snippet from the code " +"of :class:`LoggerAdapter`::" +msgstr "" +"Коли ви створюєте екземпляр :class:`LoggerAdapter`, ви передаєте йому " +"екземпляр :class:`Logger` і dict-подібний об’єкт, який містить вашу " +"контекстну інформацію. Коли ви викликаєте один із методів журналювання в " +"екземплярі :class:`LoggerAdapter`, він делегує виклик базовому екземпляру :" +"class:`Logger`, який передається його конструктору, і організовує передачу " +"контекстної інформації в делегованому виклику . Ось фрагмент коду :class:" +"`LoggerAdapter`::" + +msgid "" +"The :meth:`~LoggerAdapter.process` method of :class:`LoggerAdapter` is where " +"the contextual information is added to the logging output. It's passed the " +"message and keyword arguments of the logging call, and it passes back " +"(potentially) modified versions of these to use in the call to the " +"underlying logger. The default implementation of this method leaves the " +"message alone, but inserts an 'extra' key in the keyword argument whose " +"value is the dict-like object passed to the constructor. Of course, if you " +"had passed an 'extra' keyword argument in the call to the adapter, it will " +"be silently overwritten." +msgstr "" +"У методі :meth:`~LoggerAdapter.process` :class:`LoggerAdapter` контекстна " +"інформація додається до результатів журналювання. Він передає аргументи " +"повідомлення та ключове слово виклику журналювання, а також повертає " +"(потенційно) модифіковані версії їх для використання у виклику базовому " +"реєстратору. Реалізація цього методу за замовчуванням залишає повідомлення в " +"спокої, але вставляє \"додатковий\" ключ в аргумент ключового слова, " +"значенням якого є dict-подібний об’єкт, переданий конструктору. Звичайно, " +"якщо ви передали \"додатковий\" аргумент ключового слова під час виклику " +"адаптера, він буде мовчки перезаписаний." + +msgid "" +"The advantage of using 'extra' is that the values in the dict-like object " +"are merged into the :class:`LogRecord` instance's __dict__, allowing you to " +"use customized strings with your :class:`Formatter` instances which know " +"about the keys of the dict-like object. If you need a different method, e.g. " +"if you want to prepend or append the contextual information to the message " +"string, you just need to subclass :class:`LoggerAdapter` and override :meth:" +"`~LoggerAdapter.process` to do what you need. Here is a simple example::" +msgstr "" +"Перевага використання \"extra\" полягає в тому, що значення в dict-подібному " +"об’єкті об’єднуються в __dict__ екземпляра :class:`LogRecord`, що дозволяє " +"вам використовувати налаштовані рядки з вашими екземплярами :class:" +"`Formatter`, які знають про ключі диктоподібного об’єкта. Якщо вам потрібен " +"інший метод, напр. якщо ви хочете передати або додати контекстну інформацію " +"до рядка повідомлення, вам просто потрібно створити підклас :class:" +"`LoggerAdapter` і перевизначити :meth:`~LoggerAdapter.process`, щоб зробити " +"те, що вам потрібно. Ось простий приклад::" + +msgid "which you can use like this::" +msgstr "який можна використовувати таким чином::" + +msgid "" +"Then any events that you log to the adapter will have the value of " +"``some_conn_id`` prepended to the log messages." +msgstr "" +"Тоді будь-які події, які ви реєструєте в адаптері, матимуть значення " +"``some_conn_id`` до повідомлень журналу." + +msgid "Using objects other than dicts to pass contextual information" +msgstr "" +"Використання об’єктів, відмінних від dicts, для передачі контекстної " +"інформації" + +msgid "" +"You don't need to pass an actual dict to a :class:`LoggerAdapter` - you " +"could pass an instance of a class which implements ``__getitem__`` and " +"``__iter__`` so that it looks like a dict to logging. This would be useful " +"if you want to generate values dynamically (whereas the values in a dict " +"would be constant)." +msgstr "" +"Вам не потрібно передавати фактичний dict до :class:`LoggerAdapter` - ви " +"можете передати примірник класу, який реалізує ``__getitem__`` і " +"``__iter__``, щоб він виглядав як dict для журналювання. Це буде корисно, " +"якщо ви хочете генерувати значення динамічно (тоді як значення в dict будуть " +"постійними)." + +msgid "Using Filters to impart contextual information" +msgstr "Використання фільтрів для передачі контекстної інформації" + +msgid "" +"You can also add contextual information to log output using a user-defined :" +"class:`Filter`. ``Filter`` instances are allowed to modify the " +"``LogRecords`` passed to them, including adding additional attributes which " +"can then be output using a suitable format string, or if needed a custom :" +"class:`Formatter`." +msgstr "" +"Ви також можете додати контекстну інформацію до виведення журналу за " +"допомогою визначеного користувачем :class:`Filter`. Екземплярам ``Filter`` " +"дозволено змінювати ``LogRecords``, передані їм, включаючи додавання " +"додаткових атрибутів, які потім можуть бути виведені за допомогою рядка " +"відповідного формату або, якщо необхідно, спеціального :class:`Formatter`." + +msgid "" +"For example in a web application, the request being processed (or at least, " +"the interesting parts of it) can be stored in a threadlocal (:class:" +"`threading.local`) variable, and then accessed from a ``Filter`` to add, " +"say, information from the request - say, the remote IP address and remote " +"user's username - to the ``LogRecord``, using the attribute names 'ip' and " +"'user' as in the ``LoggerAdapter`` example above. In that case, the same " +"format string can be used to get similar output to that shown above. Here's " +"an example script::" +msgstr "" +"Наприклад, у веб-додатку запит, який обробляється (або, принаймні, його " +"цікаві частини) можна зберегти у змінній threadlocal (:class:`threading." +"local`), а потім отримати доступ із ``Фільтра`` щоб додати, скажімо, " +"інформацію із запиту - скажімо, віддалену IP-адресу та ім'я користувача " +"віддаленого користувача - до ``LogRecord``, використовуючи імена атрибутів " +"'ip' і 'user', як у прикладі ``LoggerAdapter`` вище . У цьому випадку можна " +"використати той самий рядок формату, щоб отримати вихід, схожий на показаний " +"вище. Ось приклад сценарію::" + +msgid "which, when run, produces something like:" +msgstr "який під час запуску створює щось на зразок:" + +msgid "Use of ``contextvars``" +msgstr "" + +msgid "" +"Since Python 3.7, the :mod:`contextvars` module has provided context-local " +"storage which works for both :mod:`threading` and :mod:`asyncio` processing " +"needs. This type of storage may thus be generally preferable to thread-" +"locals. The following example shows how, in a multi-threaded environment, " +"logs can populated with contextual information such as, for example, request " +"attributes handled by web applications." +msgstr "" + +msgid "" +"For the purposes of illustration, say that you have different web " +"applications, each independent of the other but running in the same Python " +"process and using a library common to them. How can each of these " +"applications have their own log, where all logging messages from the library " +"(and other request processing code) are directed to the appropriate " +"application's log file, while including in the log additional contextual " +"information such as client IP, HTTP request method and client username?" +msgstr "" + +msgid "Let's assume that the library can be simulated by the following code:" +msgstr "" + +msgid "" +"We can simulate the multiple web applications by means of two simple " +"classes, ``Request`` and ``WebApp``. These simulate how real threaded web " +"applications work - each request is handled by a thread:" +msgstr "" + +msgid "" +"If you run the above, you should find that roughly half the requests go " +"into :file:`app1.log` and the rest into :file:`app2.log`, and the all the " +"requests are logged to :file:`app.log`. Each webapp-specific log will " +"contain only log entries for only that webapp, and the request information " +"will be displayed consistently in the log (i.e. the information in each " +"dummy request will always appear together in a log line). This is " +"illustrated by the following shell output:" +msgstr "" + +msgid "Imparting contextual information in handlers" +msgstr "" + +msgid "" +"Each :class:`~Handler` has its own chain of filters. If you want to add " +"contextual information to a :class:`LogRecord` without leaking it to other " +"handlers, you can use a filter that returns a new :class:`~LogRecord` " +"instead of modifying it in-place, as shown in the following script::" +msgstr "" + +msgid "Logging to a single file from multiple processes" +msgstr "Реєстрація в один файл з кількох процесів" + +msgid "" +"Although logging is thread-safe, and logging to a single file from multiple " +"threads in a single process *is* supported, logging to a single file from " +"*multiple processes* is *not* supported, because there is no standard way to " +"serialize access to a single file across multiple processes in Python. If " +"you need to log to a single file from multiple processes, one way of doing " +"this is to have all the processes log to a :class:`~handlers.SocketHandler`, " +"and have a separate process which implements a socket server which reads " +"from the socket and logs to file. (If you prefer, you can dedicate one " +"thread in one of the existing processes to perform this function.) :ref:" +"`This section ` documents this approach in more detail and " +"includes a working socket receiver which can be used as a starting point for " +"you to adapt in your own applications." +msgstr "" +"Хоча ведення журналу є потокобезпечним і *підтримується* журналювання в один " +"файл із кількох потоків в одному процесі, журналювання в один файл із " +"*кількох процесів *не* підтримується, оскільки немає стандартного способу " +"серіалізації доступу в один файл через кілька процесів у Python. Якщо вам " +"потрібно ввійти до одного файлу з кількох процесів, один із способів зробити " +"це — зареєструвати всі процеси в :class:`~handlers.SocketHandler` і мати " +"окремий процес, який реалізує сервер сокетів, який читає з сокет і журнали в " +"файл. (Якщо ви віддаєте перевагу, ви можете виділити один потік в одному з " +"існуючих процесів для виконання цієї функції.) :ref:`Цей розділ ` документує цей підхід більш детально та містить робочий приймач " +"сокетів, який можна використовувати як відправну точку для адаптації у " +"власних програмах." + +msgid "" +"You could also write your own handler which uses the :class:" +"`~multiprocessing.Lock` class from the :mod:`multiprocessing` module to " +"serialize access to the file from your processes. The existing :class:" +"`FileHandler` and subclasses do not make use of :mod:`multiprocessing` at " +"present, though they may do so in the future. Note that at present, the :mod:" +"`multiprocessing` module does not provide working lock functionality on all " +"platforms (see https://bugs.python.org/issue3770)." +msgstr "" +"Ви також можете написати власний обробник, який використовує клас :class:" +"`~multiprocessing.Lock` з модуля :mod:`multiprocessing` для серіалізації " +"доступу до файлу з ваших процесів. Існуючий :class:`FileHandler` і підкласи " +"не використовують :mod:`multiprocessing` наразі, хоча вони можуть " +"використовувати це в майбутньому. Зауважте, що наразі модуль :mod:" +"`multiprocessing` не забезпечує робочу функцію блокування на всіх платформах " +"(див. https://bugs.python.org/issue3770)." + +msgid "" +"Alternatively, you can use a ``Queue`` and a :class:`QueueHandler` to send " +"all logging events to one of the processes in your multi-process " +"application. The following example script demonstrates how you can do this; " +"in the example a separate listener process listens for events sent by other " +"processes and logs them according to its own logging configuration. Although " +"the example only demonstrates one way of doing it (for example, you may want " +"to use a listener thread rather than a separate listener process -- the " +"implementation would be analogous) it does allow for completely different " +"logging configurations for the listener and the other processes in your " +"application, and can be used as the basis for code meeting your own specific " +"requirements::" +msgstr "" +"Крім того, ви можете використовувати ``Queue`` і :class:`QueueHandler`, щоб " +"надсилати всі події журналювання до одного з процесів у вашій " +"багатопроцесовій програмі. Наступний приклад сценарію демонструє, як це " +"можна зробити; у прикладі окремий процес слухача прослуховує події, " +"надіслані іншими процесами, і реєструє їх відповідно до власної конфігурації " +"журналювання. Хоча приклад демонструє лише один спосіб зробити це " +"(наприклад, ви можете використовувати потік слухача, а не окремий процес " +"слухача — реалізація буде аналогічною), він дозволяє абсолютно різні " +"конфігурації журналювання для слухача та інших процеси у вашій програмі та " +"можуть бути використані як основа для коду, який відповідає вашим власним " +"вимогам:" + +msgid "" +"A variant of the above script keeps the logging in the main process, in a " +"separate thread::" +msgstr "" +"Варіант наведеного вище сценарію зберігає журнали в основному процесі в " +"окремому потоці:" + +msgid "" +"This variant shows how you can e.g. apply configuration for particular " +"loggers - e.g. the ``foo`` logger has a special handler which stores all " +"events in the ``foo`` subsystem in a file ``mplog-foo.log``. This will be " +"used by the logging machinery in the main process (even though the logging " +"events are generated in the worker processes) to direct the messages to the " +"appropriate destinations." +msgstr "" +"Цей варіант показує, як ви можете напр. застосувати конфігурацію для певних " +"реєстраторів - напр. Логер ``foo`` має спеціальний обробник, який зберігає " +"всі події в підсистемі ``foo`` у файлі ``mplog-foo.log``. Це " +"використовуватиметься механізмом реєстрації в основному процесі (навіть якщо " +"події журналювання генеруються в робочих процесах), щоб спрямувати " +"повідомлення до відповідних адресатів." + +msgid "Using concurrent.futures.ProcessPoolExecutor" +msgstr "Використання concurrent.futures.ProcessPoolExecutor" + +msgid "" +"If you want to use :class:`concurrent.futures.ProcessPoolExecutor` to start " +"your worker processes, you need to create the queue slightly differently. " +"Instead of" +msgstr "" +"Якщо ви хочете використовувати :class:`concurrent.futures." +"ProcessPoolExecutor` для запуску ваших робочих процесів, вам потрібно " +"створити чергу трохи інакше. Замість" + +msgid "you should use" +msgstr "ви повинні використовувати" + +msgid "and you can then replace the worker creation from this::" +msgstr "а потім ви можете замінити робоче створення з цього::" + +msgid "to this (remembering to first import :mod:`concurrent.futures`)::" +msgstr "до цього (не забувши спочатку імпортувати :mod:`concurrent.futures`)::" + +msgid "Deploying Web applications using Gunicorn and uWSGI" +msgstr "Розгортання веб-додатків за допомогою Gunicorn і uWSGI" + +msgid "" +"When deploying Web applications using `Gunicorn `_ or " +"`uWSGI `_ (or similar), " +"multiple worker processes are created to handle client requests. In such " +"environments, avoid creating file-based handlers directly in your web " +"application. Instead, use a :class:`SocketHandler` to log from the web " +"application to a listener in a separate process. This can be set up using a " +"process management tool such as Supervisor - see `Running a logging socket " +"listener in production`_ for more details." +msgstr "" +"Під час розгортання веб-програм за допомогою `Gunicorn `_ або `uWSGI `_ (або " +"подібних), для обробки запитів клієнтів створюється кілька робочих процесів. " +"У таких середовищах уникайте створення обробників на основі файлів " +"безпосередньо у вашій веб-програмі. Замість цього використовуйте :class:" +"`SocketHandler`, щоб увійти з веб-програми до слухача в окремому процесі. Це " +"можна налаштувати за допомогою інструменту керування процесами, такого як " +"Supervisor - див. `Running a logging socket listener in production`_ для " +"отримання додаткової інформації." + +msgid "Using file rotation" +msgstr "Використання ротації файлів" + +msgid "" +"Sometimes you want to let a log file grow to a certain size, then open a new " +"file and log to that. You may want to keep a certain number of these files, " +"and when that many files have been created, rotate the files so that the " +"number of files and the size of the files both remain bounded. For this " +"usage pattern, the logging package provides a :class:`~handlers." +"RotatingFileHandler`::" +msgstr "" +"Іноді потрібно дозволити файлу журналу збільшитися до певного розміру, а " +"потім відкрити новий файл і зареєструвати його. Можливо, ви захочете " +"зберегти певну кількість цих файлів, а коли буде створено таку кількість " +"файлів, чергуйте файли так, щоб кількість і розмір файлів залишалися " +"обмеженими. Для цього шаблону використання пакет журналювання надає :class:" +"`~handlers.RotatingFileHandler`::" + +msgid "" +"The result should be 6 separate files, each with part of the log history for " +"the application:" +msgstr "" +"У результаті повинно вийти 6 окремих файлів, кожен з яких містить частину " +"журналу журналу програми:" + +msgid "" +"The most current file is always :file:`logging_rotatingfile_example.out`, " +"and each time it reaches the size limit it is renamed with the suffix " +"``.1``. Each of the existing backup files is renamed to increment the suffix " +"(``.1`` becomes ``.2``, etc.) and the ``.6`` file is erased." +msgstr "" +"Найновішим файлом завжди є :file:`logging_rotatingfile_example.out`, і " +"кожного разу, коли він досягає ліміту розміру, він перейменовується з " +"суфіксом ``.1``. Кожен із наявних файлів резервної копії перейменовується, " +"щоб збільшити суфікс (``.1`` стає ``.2`` тощо), а файл ``.6`` видаляється." + +msgid "" +"Obviously this example sets the log length much too small as an extreme " +"example. You would want to set *maxBytes* to an appropriate value." +msgstr "" +"Очевидно, що цей приклад встановлює занадто малу довжину журналу як " +"екстремальний приклад. Вам потрібно встановити відповідне значення " +"*maxBytes*." + +msgid "Use of alternative formatting styles" +msgstr "Використання альтернативних стилів форматування" + +msgid "" +"When logging was added to the Python standard library, the only way of " +"formatting messages with variable content was to use the %-formatting " +"method. Since then, Python has gained two new formatting approaches: :class:" +"`string.Template` (added in Python 2.4) and :meth:`str.format` (added in " +"Python 2.6)." +msgstr "" +"Коли журналювання було додано до стандартної бібліотеки Python, єдиним " +"способом форматування повідомлень зі змінним вмістом було використання " +"методу %-formatting. Відтоді Python отримав два нові підходи до " +"форматування: :class:`string.Template` (доданий у Python 2.4) і :meth:`str." +"format` (доданий у Python 2.6)." + +msgid "" +"Logging (as of 3.2) provides improved support for these two additional " +"formatting styles. The :class:`Formatter` class been enhanced to take an " +"additional, optional keyword parameter named ``style``. This defaults to " +"``'%'``, but other possible values are ``'{'`` and ``'$'``, which correspond " +"to the other two formatting styles. Backwards compatibility is maintained by " +"default (as you would expect), but by explicitly specifying a style " +"parameter, you get the ability to specify format strings which work with :" +"meth:`str.format` or :class:`string.Template`. Here's an example console " +"session to show the possibilities:" +msgstr "" +"Журналування (станом на 3.2) забезпечує покращену підтримку цих двох " +"додаткових стилів форматування. Клас :class:`Formatter` було вдосконалено, " +"щоб прийняти додатковий необов’язковий параметр ключового слова під назвою " +"``style``. За замовчуванням це ``'%'``, але інші можливі значення ``'{'`` і " +"``'$'``, які відповідають двом іншим стилям форматування. Зворотна " +"сумісність підтримується за замовчуванням (як і слід було очікувати), але, " +"явно вказавши параметр стилю, ви отримуєте можливість вказати рядки формату, " +"які працюють із :meth:`str.format` або :class:`string.Template`. Ось приклад " +"сеансу консолі, щоб показати можливості:" + +msgid "" +"Note that the formatting of logging messages for final output to logs is " +"completely independent of how an individual logging message is constructed. " +"That can still use %-formatting, as shown here::" +msgstr "" +"Зверніть увагу, що форматування повідомлень журналу для остаточного " +"виведення в журнали повністю не залежить від того, як побудовано окреме " +"повідомлення журналу. Це все ще може використовувати %-formatting, як " +"показано тут::" + +msgid "" +"Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " +"positional parameters for the actual logging message itself, with keyword " +"parameters used only for determining options for how to handle the actual " +"logging call (e.g. the ``exc_info`` keyword parameter to indicate that " +"traceback information should be logged, or the ``extra`` keyword parameter " +"to indicate additional contextual information to be added to the log). So " +"you cannot directly make logging calls using :meth:`str.format` or :class:" +"`string.Template` syntax, because internally the logging package uses %-" +"formatting to merge the format string and the variable arguments. There " +"would be no changing this while preserving backward compatibility, since all " +"logging calls which are out there in existing code will be using %-format " +"strings." +msgstr "" +"Виклики журналювання (``logger.debug()``, ``logger.info()`` тощо) приймають " +"лише позиційні параметри для самого фактичного повідомлення журналу, а " +"параметри ключових слів використовуються лише для визначення варіантів " +"обробки фактичного виклик журналювання (наприклад, параметр ключового слова " +"``exc_info``, щоб вказати, що слід реєструвати інформацію відстеження, або " +"параметр ключового слова ``extra``, щоб вказати додаткову контекстну " +"інформацію, яку потрібно додати до журналу). Таким чином, ви не можете " +"безпосередньо здійснювати виклики журналювання за допомогою синтаксису :meth:" +"`str.format` або :class:`string.Template`, тому що внутрішньо пакет " +"журналювання використовує %-formatting для об’єднання рядка формату та " +"змінних аргументів. Це не змінюватиметься, зберігаючи зворотну сумісність, " +"оскільки всі виклики журналювання, які присутні в існуючому коді, " +"використовуватимуть рядки %-format." + +msgid "" +"There is, however, a way that you can use {}- and $- formatting to construct " +"your individual log messages. Recall that for a message you can use an " +"arbitrary object as a message format string, and that the logging package " +"will call ``str()`` on that object to get the actual format string. Consider " +"the following two classes::" +msgstr "" +"Однак існує спосіб, за допомогою якого ви можете використовувати " +"форматування {}- і $- для створення ваших індивідуальних повідомлень " +"журналу. Згадайте, що для повідомлення ви можете використовувати довільний " +"об’єкт як рядок формату повідомлення, і що пакет журналювання викличе " +"``str()`` для цього об’єкта, щоб отримати фактичний рядок формату. " +"Розглянемо наступні два класи:" + +msgid "" +"Either of these can be used in place of a format string, to allow {}- or $-" +"formatting to be used to build the actual \"message\" part which appears in " +"the formatted log output in place of \"%(message)s\" or \"{message}\" or " +"\"$message\". It's a little unwieldy to use the class names whenever you " +"want to log something, but it's quite palatable if you use an alias such as " +"__ (double underscore --- not to be confused with _, the single underscore " +"used as a synonym/alias for :func:`gettext.gettext` or its brethren)." +msgstr "" +"Будь-який із них можна використовувати замість рядка формату, щоб дозволити " +"використовувати {}- або $-форматування для побудови фактичної частини " +"\"повідомлення\", яка з’являється у відформатованому журналі замість " +"\"%(message)s\" або \"{message\". }\" або \"$message\". Трохи громіздко " +"використовувати назви класів, коли ви хочете щось зареєструвати, але це " +"цілком приємно, якщо ви використовуєте псевдонім, наприклад __ (подвійне " +"підкреслення --- не плутати з _, єдине підкреслення, яке використовується як " +"синонім/псевдонім для :func:`gettext.gettext` або його братів)." + +msgid "" +"The above classes are not included in Python, though they're easy enough to " +"copy and paste into your own code. They can be used as follows (assuming " +"that they're declared in a module called ``wherever``):" +msgstr "" +"Наведені вище класи не включені в Python, хоча їх достатньо легко скопіювати " +"та вставити у свій власний код. Їх можна використовувати наступним чином (за " +"умови, що вони оголошені в модулі під назвою ``wherever``):" + +msgid "" +"While the above examples use ``print()`` to show how the formatting works, " +"you would of course use ``logger.debug()`` or similar to actually log using " +"this approach." +msgstr "" +"У той час як у наведених вище прикладах використовується ``print()``, щоб " +"показати, як працює форматування, ви, звичайно, скористаєтеся ``logger." +"debug()`` або подібним, щоб справді вести журнал за допомогою цього підходу." + +msgid "" +"One thing to note is that you pay no significant performance penalty with " +"this approach: the actual formatting happens not when you make the logging " +"call, but when (and if) the logged message is actually about to be output to " +"a log by a handler. So the only slightly unusual thing which might trip you " +"up is that the parentheses go around the format string and the arguments, " +"not just the format string. That's because the __ notation is just syntax " +"sugar for a constructor call to one of the XXXMessage classes." +msgstr "" +"Одна річ, яку слід зазначити, полягає в тому, що ви не сплачуєте суттєвої " +"втрати продуктивності за допомогою цього підходу: фактичне форматування " +"відбувається не тоді, коли ви робите виклик журналювання, а коли (і якщо) " +"зареєстроване повідомлення фактично збирається вивести в журнал обробником. " +"Отже, єдина трохи незвичайна річ, яка може вас збентежити, полягає в тому, " +"що круглі дужки охоплюють рядок форматування та аргументи, а не лише рядок " +"форматування. Це тому, що нотація __ є просто синтаксичним цукром для " +"виклику конструктора до одного з класів XXXMessage." + +msgid "" +"If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar " +"effect to the above, as in the following example::" +msgstr "" +"Якщо ви віддаєте перевагу, ви можете використовувати :class:`LoggerAdapter`, " +"щоб досягти ефекту, подібного до наведеного вище, як у наступному прикладі::" + +msgid "" +"The above script should log the message ``Hello, world!`` when run with " +"Python 3.2 or later." +msgstr "" +"Наведений вище сценарій має реєструвати повідомлення ``Hello, world!`` під " +"час виконання з Python 3.2 або новішої версії." + +msgid "Customizing ``LogRecord``" +msgstr "Налаштування ``LogRecord``" + +msgid "" +"Every logging event is represented by a :class:`LogRecord` instance. When an " +"event is logged and not filtered out by a logger's level, a :class:" +"`LogRecord` is created, populated with information about the event and then " +"passed to the handlers for that logger (and its ancestors, up to and " +"including the logger where further propagation up the hierarchy is " +"disabled). Before Python 3.2, there were only two places where this creation " +"was done:" +msgstr "" +"Кожна подія журналювання представлена екземпляром :class:`LogRecord`. Коли " +"подія реєструється і не відфільтровується на рівні реєстратора, створюється :" +"class:`LogRecord`, заповнюється інформацією про подію, а потім передається " +"обробникам цього реєстратора (і його предків, аж до реєстратора включно). де " +"подальше поширення вгору по ієрархії вимкнено). До Python 3.2 існувало лише " +"два місця, де це було зроблено:" + +msgid "" +":meth:`Logger.makeRecord`, which is called in the normal process of logging " +"an event. This invoked :class:`LogRecord` directly to create an instance." +msgstr "" +":meth:`Logger.makeRecord`, який викликається в звичайному процесі реєстрації " +"події. Це безпосередньо викликало :class:`LogRecord` для створення " +"екземпляра." + +msgid "" +":func:`makeLogRecord`, which is called with a dictionary containing " +"attributes to be added to the LogRecord. This is typically invoked when a " +"suitable dictionary has been received over the network (e.g. in pickle form " +"via a :class:`~handlers.SocketHandler`, or in JSON form via an :class:" +"`~handlers.HTTPHandler`)." +msgstr "" +":func:`makeLogRecord`, який викликається зі словником, що містить атрибути, " +"які потрібно додати до LogRecord. Це зазвичай викликається, коли через " +"мережу отримано відповідний словник (наприклад, у формі pickle через :class:" +"`~handlers.SocketHandler` або у формі JSON через :class:`~handlers." +"HTTPHandler`)." + +msgid "" +"This has usually meant that if you need to do anything special with a :class:" +"`LogRecord`, you've had to do one of the following." +msgstr "" +"Зазвичай це означало, що якщо вам потрібно зробити щось особливе з :class:" +"`LogRecord`, ви повинні зробити одну з наступних дій." + +msgid "" +"Create your own :class:`Logger` subclass, which overrides :meth:`Logger." +"makeRecord`, and set it using :func:`~logging.setLoggerClass` before any " +"loggers that you care about are instantiated." +msgstr "" +"Створіть свій власний підклас :class:`Logger`, який замінює :meth:`Logger." +"makeRecord`, і встановіть його за допомогою :func:`~logging.setLoggerClass` " +"перед створенням будь-яких реєстраторів, які вас цікавлять." + +msgid "" +"Add a :class:`Filter` to a logger or handler, which does the necessary " +"special manipulation you need when its :meth:`~Filter.filter` method is " +"called." +msgstr "" +"Додайте :class:`Filter` до реєстратора або обробника, який виконує необхідні " +"спеціальні маніпуляції, які вам потрібні, коли викликається його метод :meth:" +"`~Filter.filter`." + +msgid "" +"The first approach would be a little unwieldy in the scenario where (say) " +"several different libraries wanted to do different things. Each would " +"attempt to set its own :class:`Logger` subclass, and the one which did this " +"last would win." +msgstr "" +"Перший підхід був би трохи громіздким у сценарії, коли (скажімо) кілька " +"різних бібліотек хотіли б робити різні речі. Кожен намагатиметься встановити " +"власний підклас :class:`Logger`, і виграє той, хто зробить це останнім." + +msgid "" +"The second approach works reasonably well for many cases, but does not allow " +"you to e.g. use a specialized subclass of :class:`LogRecord`. Library " +"developers can set a suitable filter on their loggers, but they would have " +"to remember to do this every time they introduced a new logger (which they " +"would do simply by adding new packages or modules and doing ::" +msgstr "" +"Другий підхід працює досить добре для багатьох випадків, але не дозволяє " +"вам, наприклад, використовувати спеціалізований підклас :class:`LogRecord`. " +"Розробники бібліотек можуть встановити відповідний фільтр для своїх " +"реєстраторів, але вони повинні пам’ятати про це щоразу, коли вводять новий " +"реєстратор (що вони робили б, просто додаючи нові пакунки чи модулі та " +"виконуючи:" + +msgid "" +"at module level). It's probably one too many things to think about. " +"Developers could also add the filter to a :class:`~logging.NullHandler` " +"attached to their top-level logger, but this would not be invoked if an " +"application developer attached a handler to a lower-level library logger --- " +"so output from that handler would not reflect the intentions of the library " +"developer." +msgstr "" +"на рівні модуля). Ймовірно, це занадто багато речей, про які варто думати. " +"Розробники також можуть додати фільтр до :class:`~logging.NullHandler`, " +"прикріпленого до їхнього реєстратора верхнього рівня, але це не буде " +"викликано, якщо розробник програми приєднає обробник до реєстратора " +"бібліотеки нижчого рівня --- тому виведіть з цього обробника не " +"відображатиме намірів розробника бібліотеки." + +msgid "" +"In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " +"through a factory, which you can specify. The factory is just a callable you " +"can set with :func:`~logging.setLogRecordFactory`, and interrogate with :" +"func:`~logging.getLogRecordFactory`. The factory is invoked with the same " +"signature as the :class:`~logging.LogRecord` constructor, as :class:" +"`LogRecord` is the default setting for the factory." +msgstr "" +"У Python 3.2 і пізніших версіях створення :class:`~logging.LogRecord` " +"здійснюється через фабрику, яку ви можете вказати. Фабрика — це просто " +"виклик, який можна встановити за допомогою :func:`~logging." +"setLogRecordFactory` і запитати за допомогою :func:`~logging." +"getLogRecordFactory`. Фабрика викликається з тим самим підписом, що й " +"конструктор :class:`~logging.LogRecord`, оскільки :class:`LogRecord` є " +"параметром за замовчуванням для фабрики." + +msgid "" +"This approach allows a custom factory to control all aspects of LogRecord " +"creation. For example, you could return a subclass, or just add some " +"additional attributes to the record once created, using a pattern similar to " +"this::" +msgstr "" +"Цей підхід дозволяє спеціальній фабрикі контролювати всі аспекти створення " +"LogRecord. Наприклад, ви можете повернути підклас або просто додати деякі " +"додаткові атрибути до створеного запису, використовуючи шаблон, подібний до " +"цього:" + +msgid "" +"This pattern allows different libraries to chain factories together, and as " +"long as they don't overwrite each other's attributes or unintentionally " +"overwrite the attributes provided as standard, there should be no surprises. " +"However, it should be borne in mind that each link in the chain adds run-" +"time overhead to all logging operations, and the technique should only be " +"used when the use of a :class:`Filter` does not provide the desired result." +msgstr "" +"Цей шаблон дозволяє різним бібліотекам об’єднувати фабрики разом, і якщо " +"вони не перезаписують атрибути одна одної або ненавмисно перезаписують " +"атрибути, надані як стандартні, не повинно бути сюрпризів. Однак слід мати " +"на увазі, що кожна ланка в ланцюжку додає накладні витрати на час виконання " +"для всіх операцій журналювання, і цю техніку слід використовувати лише тоді, " +"коли використання :class:`Filter` не забезпечує бажаного результату." + +msgid "Subclassing QueueHandler - a ZeroMQ example" +msgstr "Підклас QueueHandler - приклад ZeroMQ" + +msgid "" +"You can use a :class:`QueueHandler` subclass to send messages to other kinds " +"of queues, for example a ZeroMQ 'publish' socket. In the example below,the " +"socket is created separately and passed to the handler (as its 'queue')::" +msgstr "" +"Ви можете використовувати підклас :class:`QueueHandler` для надсилання " +"повідомлень в інші типи черг, наприклад, сокет ZeroMQ 'publish'. У " +"наведеному нижче прикладі сокет створюється окремо та передається обробнику " +"(як його \"черга\"):" + +msgid "" +"Of course there are other ways of organizing this, for example passing in " +"the data needed by the handler to create the socket::" +msgstr "" +"Звичайно, існують інші способи організації цього, наприклад, передача даних, " +"необхідних обробнику для створення сокета::" + +msgid "Subclassing QueueListener - a ZeroMQ example" +msgstr "Підкласи QueueListener - приклад ZeroMQ" + +msgid "" +"You can also subclass :class:`QueueListener` to get messages from other " +"kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an example::" +msgstr "" +"Ви також можете створити підклас :class:`QueueListener`, щоб отримувати " +"повідомлення з інших типів черг, наприклад, сокет ZeroMQ 'subscribe'. Ось " +"приклад::" + +msgid "Module :mod:`logging`" +msgstr "Модуль :mod:`logging`" + +msgid "API reference for the logging module." +msgstr "Довідник API для модуля журналювання." + +msgid "Module :mod:`logging.config`" +msgstr "Модуль :mod:`logging.config`" + +msgid "Configuration API for the logging module." +msgstr "API конфігурації для модуля журналювання." + +msgid "Module :mod:`logging.handlers`" +msgstr "Модуль :mod:`logging.handlers`" + +msgid "Useful handlers included with the logging module." +msgstr "Корисні обробники, включені в модуль журналювання." + +msgid ":ref:`A basic logging tutorial `" +msgstr ":ref:`Посібник з базового журналювання `" + +msgid ":ref:`A more advanced logging tutorial `" +msgstr "" +":ref:`Більш просунутий підручник з журналювання `" + +msgid "An example dictionary-based configuration" +msgstr "Приклад конфігурації на основі словника" + +msgid "" +"Below is an example of a logging configuration dictionary - it's taken from " +"the `documentation on the Django project `_. This dictionary is passed to :" +"func:`~config.dictConfig` to put the configuration into effect::" +msgstr "" +"Нижче наведено приклад словника конфігурації журналювання — його взято з " +"`документації проекту Django `_. Цей словник передається до :func:" +"`~config.dictConfig` для введення в дію конфігурації::" + +msgid "" +"For more information about this configuration, you can see the `relevant " +"section `_ of the Django documentation." +msgstr "" +"Для отримання додаткової інформації про цю конфігурацію ви можете " +"переглянути `відповідний розділ `_ документації Django." + +msgid "Using a rotator and namer to customize log rotation processing" +msgstr "" +"Використання ротатора та іменника для налаштування обробки ротації журналу" + +msgid "" +"An example of how you can define a namer and rotator is given in the " +"following snippet, which shows zlib-based compression of the log file::" +msgstr "" +"Приклад того, як можна визначити іменник і ротатор, наведено в наступному " +"фрагменті, де показано стиснення файлу журналу на основі zlib::" + +msgid "" +"These are not \"true\" .gz files, as they are bare compressed data, with no " +"\"container\" such as you’d find in an actual gzip file. This snippet is " +"just for illustration purposes." +msgstr "" +"Це не \"справжні\" файли .gz, оскільки це чисті стиснуті дані без " +"\"контейнера\", який можна знайти у справжньому файлі gzip. Цей фрагмент " +"лише для ілюстрації." + +msgid "A more elaborate multiprocessing example" +msgstr "Більш складний приклад багатопроцесорної обробки" + +msgid "" +"The following working example shows how logging can be used with " +"multiprocessing using configuration files. The configurations are fairly " +"simple, but serve to illustrate how more complex ones could be implemented " +"in a real multiprocessing scenario." +msgstr "" +"Наступний робочий приклад показує, як журналювання можна використовувати з " +"багатопроцесорною обробкою за допомогою файлів конфігурації. Конфігурації " +"досить прості, але служать для ілюстрації того, як більш складні можуть бути " +"реалізовані в реальному багатопроцесорному сценарії." + +msgid "" +"In the example, the main process spawns a listener process and some worker " +"processes. Each of the main process, the listener and the workers have three " +"separate configurations (the workers all share the same configuration). We " +"can see logging in the main process, how the workers log to a QueueHandler " +"and how the listener implements a QueueListener and a more complex logging " +"configuration, and arranges to dispatch events received via the queue to the " +"handlers specified in the configuration. Note that these configurations are " +"purely illustrative, but you should be able to adapt this example to your " +"own scenario." +msgstr "" +"У прикладі головний процес породжує процес слухача та деякі робочі процеси. " +"Кожен із основного процесу, слухача та робочих має три окремі конфігурації " +"(усі робочі мають однакову конфігурацію). Ми можемо побачити реєстрацію в " +"основному процесі, як працівники входять до QueueHandler і як слухач " +"реалізує QueueListener і більш складну конфігурацію журналювання, а також " +"організовує відправку подій, отриманих через чергу, до обробників, указаних " +"у конфігурації. Зауважте, що ці конфігурації є суто ілюстративними, але ви " +"зможете адаптувати цей приклад до власного сценарію." + +msgid "" +"Here's the script - the docstrings and the comments hopefully explain how it " +"works::" +msgstr "" +"Ось сценарій - рядки документації та коментарі, сподіваюся, пояснюють, як це " +"працює::" + +msgid "Inserting a BOM into messages sent to a SysLogHandler" +msgstr "Вставлення BOM у повідомлення, надіслані до SysLogHandler" + +msgid "" +":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " +"set of bytes which have the following structure: an optional pure-ASCII " +"component, followed by a UTF-8 Byte Order Mark (BOM), followed by Unicode " +"encoded using UTF-8. (See the :rfc:`relevant section of the specification " +"<5424#section-6>`.)" +msgstr "" +":rfc:`5424` вимагає, щоб повідомлення Unicode надсилалося до демона " +"системного журналу як набір байтів із такою структурою: необов’язковий " +"чистий ASCII-компонент, за яким слідує UTF-8 Byte Order Mark (BOM), за яким " +"слідує Юнікод, закодований за допомогою UTF-8. (Див. :rfc:`відповідний " +"розділ специфікації <5424#section-6>`.)" + +msgid "" +"In Python 3.1, code was added to :class:`~logging.handlers.SysLogHandler` to " +"insert a BOM into the message, but unfortunately, it was implemented " +"incorrectly, with the BOM appearing at the beginning of the message and " +"hence not allowing any pure-ASCII component to appear before it." +msgstr "" +"У Python 3.1 до :class:`~logging.handlers.SysLogHandler` було додано код для " +"вставлення BOM у повідомлення, але, на жаль, він був реалізований " +"неправильно, оскільки BOM з’являвся на початку повідомлення, а отже, не " +"дозволяв будь-які компонент pure-ASCII, який з’явиться перед ним." + +msgid "" +"As this behaviour is broken, the incorrect BOM insertion code is being " +"removed from Python 3.2.4 and later. However, it is not being replaced, and " +"if you want to produce :rfc:`5424`-compliant messages which include a BOM, " +"an optional pure-ASCII sequence before it and arbitrary Unicode after it, " +"encoded using UTF-8, then you need to do the following:" +msgstr "" +"Оскільки ця поведінка порушена, неправильний код вставки BOM видаляється з " +"Python 3.2.4 і пізніших версій. Однак його не буде замінено, і якщо ви " +"хочете створювати повідомлення, сумісні з :rfc:`5424`, які включають " +"специфікацію матеріалів, необов’язкову чисту послідовність ASCII перед нею " +"та довільний код Unicode після неї, закодований за допомогою UTF-8, тоді ви " +"потрібно зробити наступне:" + +msgid "" +"Attach a :class:`~logging.Formatter` instance to your :class:`~logging." +"handlers.SysLogHandler` instance, with a format string such as::" +msgstr "" +"Приєднайте екземпляр :class:`~logging.Formatter` до вашого екземпляра :class:" +"`~logging.handlers.SysLogHandler` із рядком форматування, наприклад:" + +msgid "" +"The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " +"a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." +msgstr "" +"Кодова точка Юнікоду U+FEFF, коли вона кодується за допомогою UTF-8, буде " +"закодована як UTF-8 BOM -- рядок байтів ``b'\\xef\\xbb\\xbf``." + +msgid "" +"Replace the ASCII section with whatever placeholders you like, but make sure " +"that the data that appears in there after substitution is always ASCII (that " +"way, it will remain unchanged after UTF-8 encoding)." +msgstr "" +"Замініть розділ ASCII будь-якими заповнювачами, але переконайтеся, що дані, " +"які з’являються в ньому після заміни, завжди мають ASCII (таким чином вони " +"залишаться незмінними після кодування UTF-8)." + +msgid "" +"Replace the Unicode section with whatever placeholders you like; if the data " +"which appears there after substitution contains characters outside the ASCII " +"range, that's fine -- it will be encoded using UTF-8." +msgstr "" +"Замініть розділ Unicode будь-якими заповнювачами; якщо дані, які з’являються " +"там після заміни, містять символи поза діапазоном ASCII, це нормально – вони " +"будуть закодовані за допомогою UTF-8." + +msgid "" +"The formatted message *will* be encoded using UTF-8 encoding by " +"``SysLogHandler``. If you follow the above rules, you should be able to " +"produce :rfc:`5424`-compliant messages. If you don't, logging may not " +"complain, but your messages will not be RFC 5424-compliant, and your syslog " +"daemon may complain." +msgstr "" +"Відформатоване повідомлення *буде* закодовано за допомогою кодування UTF-8 " +"за допомогою ``SysLogHandler``. Якщо ви дотримуєтеся наведених вище правил, " +"ви зможете створювати :rfc:`5424`-сумісні повідомлення. Якщо ви цього не " +"зробите, журналювання може не скаржитися, але ваші повідомлення не будуть " +"сумісними з RFC 5424, і ваш демон системного журналу може скаржитися." + +msgid "Implementing structured logging" +msgstr "Впровадження структурованого журналювання" + +msgid "" +"Although most logging messages are intended for reading by humans, and thus " +"not readily machine-parseable, there might be circumstances where you want " +"to output messages in a structured format which *is* capable of being parsed " +"by a program (without needing complex regular expressions to parse the log " +"message). This is straightforward to achieve using the logging package. " +"There are a number of ways in which this could be achieved, but the " +"following is a simple approach which uses JSON to serialise the event in a " +"machine-parseable manner::" +msgstr "" +"Незважаючи на те, що більшість повідомлень журналу призначені для читання " +"людьми, і тому їх не легко аналізувати машиною, можуть виникнути обставини, " +"коли ви захочете вивести повідомлення у структурованому форматі, який *може* " +"проаналізувати програма (без потреби у складних регулярних виразах). щоб " +"проаналізувати повідомлення журналу). Це легко досягти за допомогою пакета " +"журналювання. Існує кілька способів, за допомогою яких цього можна досягти, " +"але нижче наведено простий підхід, який використовує JSON для серіалізації " +"події машинним способом:" + +msgid "If the above script is run, it prints:" +msgstr "Якщо наведений вище сценарій запущено, він друкує:" + +msgid "" +"Note that the order of items might be different according to the version of " +"Python used." +msgstr "" +"Зауважте, що порядок елементів може відрізнятися залежно від версії Python, " +"що використовується." + +msgid "" +"If you need more specialised processing, you can use a custom JSON encoder, " +"as in the following complete example::" +msgstr "" +"Якщо вам потрібна більш спеціалізована обробка, ви можете використовувати " +"спеціальний кодер JSON, як у наступному повному прикладі:" + +msgid "When the above script is run, it prints:" +msgstr "Коли наведений вище сценарій виконується, він друкує:" + +msgid "Customizing handlers with :func:`dictConfig`" +msgstr "Налаштування обробників за допомогою :func:`dictConfig`" + +msgid "" +"There are times when you want to customize logging handlers in particular " +"ways, and if you use :func:`dictConfig` you may be able to do this without " +"subclassing. As an example, consider that you may want to set the ownership " +"of a log file. On POSIX, this is easily done using :func:`shutil.chown`, but " +"the file handlers in the stdlib don't offer built-in support. You can " +"customize handler creation using a plain function such as::" +msgstr "" +"Бувають випадки, коли ви хочете налаштувати обробники журналу певним чином, " +"і якщо ви використовуєте :func:`dictConfig`, ви можете зробити це без " +"підкласів. Як приклад, подумайте, що ви можете встановити право власності на " +"файл журналу. У POSIX це легко зробити за допомогою :func:`shutil.chown`, " +"але обробники файлів у stdlib не пропонують вбудованої підтримки. Ви можете " +"налаштувати створення обробника за допомогою простої функції, такої як:" + +msgid "" +"You can then specify, in a logging configuration passed to :func:" +"`dictConfig`, that a logging handler be created by calling this function::" +msgstr "" +"Потім ви можете вказати в конфігурації журналювання, переданій у :func:" +"`dictConfig`, щоб обробник журналювання було створено шляхом виклику цієї " +"функції::" + +msgid "" +"In this example I am setting the ownership using the ``pulse`` user and " +"group, just for the purposes of illustration. Putting it together into a " +"working script, ``chowntest.py``::" +msgstr "" +"У цьому прикладі я встановлюю право власності за допомогою користувача та " +"групи ``pulse`` лише для ілюстрації. Об’єднавши це в робочий сценарій, " +"``chowntest.py``::" + +msgid "To run this, you will probably need to run as ``root``:" +msgstr "Щоб запустити це, вам, ймовірно, потрібно буде запустити як ``root``:" + +msgid "" +"Note that this example uses Python 3.3 because that's where :func:`shutil." +"chown` makes an appearance. This approach should work with any Python " +"version that supports :func:`dictConfig` - namely, Python 2.7, 3.2 or later. " +"With pre-3.3 versions, you would need to implement the actual ownership " +"change using e.g. :func:`os.chown`." +msgstr "" +"Зверніть увагу, що в цьому прикладі використовується Python 3.3, тому що " +"саме там з’являється :func:`shutil.chown`. Цей підхід має працювати з будь-" +"якою версією Python, яка підтримує :func:`dictConfig`, а саме з Python 2.7, " +"3.2 або новішою. У версіях до 3.3 вам потрібно було б реалізувати фактичну " +"зміну власності, використовуючи, наприклад, :func:`os.chown`." + +msgid "" +"In practice, the handler-creating function may be in a utility module " +"somewhere in your project. Instead of the line in the configuration::" +msgstr "" +"На практиці функція створення обробника може бути десь у службовому модулі " +"вашого проекту. Замість рядка в конфігурації::" + +msgid "you could use e.g.::" +msgstr "ви можете використовувати, наприклад::" + +msgid "" +"where ``project.util`` can be replaced with the actual name of the package " +"where the function resides. In the above working script, using ``'ext://" +"__main__.owned_file_handler'`` should work. Here, the actual callable is " +"resolved by :func:`dictConfig` from the ``ext://`` specification." +msgstr "" +"де ``project.util`` можна замінити фактичною назвою пакета, де знаходиться " +"функція. У наведеному вище робочому сценарії використання ``'ext://__main__." +"owned_file_handler`` має працювати. Тут фактичний виклик визначається за " +"допомогою :func:`dictConfig` із специфікації ``ext://``." + +msgid "" +"This example hopefully also points the way to how you could implement other " +"types of file change - e.g. setting specific POSIX permission bits - in the " +"same way, using :func:`os.chmod`." +msgstr "" +"Сподіваємось, цей приклад також вказує шлях до того, як ви можете " +"реалізувати інші типи змін файлів - наприклад. встановлення певних бітів " +"дозволу POSIX - таким же чином, за допомогою :func:`os.chmod`." + +msgid "" +"Of course, the approach could also be extended to types of handler other " +"than a :class:`~logging.FileHandler` - for example, one of the rotating file " +"handlers, or a different type of handler altogether." +msgstr "" +"Звичайно, цей підхід також можна розширити до типів обробників, відмінних " +"від :class:`~logging.FileHandler` - наприклад, одного з обробників файлів, " +"що обертаються, або зовсім іншого типу обробника." + +msgid "Using particular formatting styles throughout your application" +msgstr "Використання певних стилів форматування у вашій програмі" + +msgid "" +"In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword " +"parameter which, while defaulting to ``%`` for backward compatibility, " +"allowed the specification of ``{`` or ``$`` to support the formatting " +"approaches supported by :meth:`str.format` and :class:`string.Template`. " +"Note that this governs the formatting of logging messages for final output " +"to logs, and is completely orthogonal to how an individual logging message " +"is constructed." +msgstr "" +"У Python 3.2 :class:`~logging.Formatter` отримав параметр ключового слова " +"``style``, який, незважаючи на значення за умовчанням ``%`` для зворотної " +"сумісності, дозволяв специфікацію ``{`` або ``$`` для підтримки підходів до " +"форматування, які підтримуються :meth:`str.format` і :class:`string." +"Template`. Зауважте, що це керує форматуванням повідомлень журналу для " +"остаточного виведення в журнали та повністю ортогонально до того, як " +"будується окреме повідомлення журналу." + +msgid "" +"Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take " +"positional parameters for the actual logging message itself, with keyword " +"parameters used only for determining options for how to handle the logging " +"call (e.g. the ``exc_info`` keyword parameter to indicate that traceback " +"information should be logged, or the ``extra`` keyword parameter to indicate " +"additional contextual information to be added to the log). So you cannot " +"directly make logging calls using :meth:`str.format` or :class:`string." +"Template` syntax, because internally the logging package uses %-formatting " +"to merge the format string and the variable arguments. There would no " +"changing this while preserving backward compatibility, since all logging " +"calls which are out there in existing code will be using %-format strings." +msgstr "" +"Виклики журналювання (:meth:`~Logger.debug`, :meth:`~Logger.info` тощо) " +"приймають лише позиційні параметри для самого фактичного повідомлення " +"журналу, а параметри ключових слів використовуються лише для визначення " +"варіантів обробки журналювання виклик (наприклад, параметр ключового слова " +"``exc_info``, щоб вказати, що слід реєструвати інформацію відстеження, або " +"параметр ``extra`` ключового слова, щоб вказати додаткову контекстну " +"інформацію, яку потрібно додати до журналу). Таким чином, ви не можете " +"безпосередньо здійснювати виклики журналювання за допомогою синтаксису :meth:" +"`str.format` або :class:`string.Template`, тому що внутрішньо пакет " +"журналювання використовує %-formatting для об’єднання рядка формату та " +"змінних аргументів. Це не зміниться, зберігаючи зворотну сумісність, " +"оскільки всі виклики журналювання, які присутні в існуючому коді, " +"використовуватимуть рядки %-format." + +msgid "" +"There have been suggestions to associate format styles with specific " +"loggers, but that approach also runs into backward compatibility problems " +"because any existing code could be using a given logger name and using %-" +"formatting." +msgstr "" +"Були пропозиції пов’язати стилі формату з певними реєстраторами, але такий " +"підхід також стикається з проблемами зворотної сумісності, оскільки будь-" +"який існуючий код може використовувати дане ім’я реєстратора та " +"використовувати %-formatting." + +msgid "" +"For logging to work interoperably between any third-party libraries and your " +"code, decisions about formatting need to be made at the level of the " +"individual logging call. This opens up a couple of ways in which alternative " +"formatting styles can be accommodated." +msgstr "" +"Щоб журналювання працювало сумісно між будь-якими сторонніми бібліотеками та " +"вашим кодом, рішення щодо форматування потрібно приймати на рівні окремого " +"виклику журналювання. Це відкриває кілька способів використання " +"альтернативних стилів форматування." + +msgid "Using LogRecord factories" +msgstr "Використання фабрик LogRecord" + +msgid "" +"In Python 3.2, along with the :class:`~logging.Formatter` changes mentioned " +"above, the logging package gained the ability to allow users to set their " +"own :class:`LogRecord` subclasses, using the :func:`setLogRecordFactory` " +"function. You can use this to set your own subclass of :class:`LogRecord`, " +"which does the Right Thing by overriding the :meth:`~LogRecord.getMessage` " +"method. The base class implementation of this method is where the ``msg % " +"args`` formatting happens, and where you can substitute your alternate " +"formatting; however, you should be careful to support all formatting styles " +"and allow %-formatting as the default, to ensure interoperability with other " +"code. Care should also be taken to call ``str(self.msg)``, just as the base " +"implementation does." +msgstr "" +"У Python 3.2 разом зі змінами :class:`~logging.Formatter`, згаданими вище, " +"пакет журналювання отримав можливість дозволяти користувачам встановлювати " +"власні підкласи :class:`LogRecord` за допомогою функції :func:" +"`setLogRecordFactory` . Ви можете використовувати це, щоб установити власний " +"підклас :class:`LogRecord`, який робить правильні речі, замінюючи метод :" +"meth:`~LogRecord.getMessage`. Реалізація базового класу цього методу є " +"місцем, де відбувається форматування ``msg % args``, і де ви можете замінити " +"своє альтернативне форматування; однак ви повинні бути обережними, щоб " +"підтримувати всі стилі форматування та дозволити %-formatting як типовий, " +"щоб забезпечити взаємодію з іншим кодом. Слід також подбати про те, щоб " +"викликати ``str(self.msg)``, як це робить базова реалізація." + +msgid "" +"Refer to the reference documentation on :func:`setLogRecordFactory` and :" +"class:`LogRecord` for more information." +msgstr "" +"Зверніться до довідкової документації щодо :func:`setLogRecordFactory` і :" +"class:`LogRecord` для отримання додаткової інформації." + +msgid "Using custom message objects" +msgstr "Використання настроюваних об’єктів повідомлення" + +msgid "" +"There is another, perhaps simpler way that you can use {}- and $- formatting " +"to construct your individual log messages. You may recall (from :ref:" +"`arbitrary-object-messages`) that when logging you can use an arbitrary " +"object as a message format string, and that the logging package will call :" +"func:`str` on that object to get the actual format string. Consider the " +"following two classes::" +msgstr "" +"Існує інший, можливо, простіший спосіб використання форматування {}- і $- " +"для створення індивідуальних повідомлень журналу. Ви можете пам’ятати (з :" +"ref:`arbitrary-object-messages`), що під час журналювання ви можете " +"використовувати довільний об’єкт як рядок формату повідомлення, і що пакет " +"журналювання викличе :func:`str` для цього об’єкта, щоб отримати рядок " +"фактичного формату. Розглянемо наступні два класи:" + +msgid "" +"Either of these can be used in place of a format string, to allow {}- or $-" +"formatting to be used to build the actual \"message\" part which appears in " +"the formatted log output in place of “%(message)s” or “{message}” or " +"“$message”. If you find it a little unwieldy to use the class names whenever " +"you want to log something, you can make it more palatable if you use an " +"alias such as ``M`` or ``_`` for the message (or perhaps ``__``, if you are " +"using ``_`` for localization)." +msgstr "" +"Будь-яке з них можна використовувати замість рядка формату, щоб дозволити " +"використовувати {}- або $-форматування для створення фактичної частини " +"\"повідомлення\", яка з’являється у відформатованому журналі замість " +"\"%(message)s\" або \"{message\". }\" або \"$message\". Якщо вам здається " +"трохи громіздким використовувати імена класів, коли ви хочете щось " +"зареєструвати, ви можете зробити це більш приємним, якщо використаєте " +"псевдонім, наприклад ``M`` або ``_`` для повідомлення (або, можливо ``__``, " +"якщо ви використовуєте ``_`` для локалізації)." + +msgid "" +"Examples of this approach are given below. Firstly, formatting with :meth:" +"`str.format`::" +msgstr "" +"Приклади цього підходу наведені нижче. По-перше, форматування за допомогою :" +"meth:`str.format`::" + +msgid "Secondly, formatting with :class:`string.Template`::" +msgstr "По-друге, форматування за допомогою :class:`string.Template`::" + +msgid "" +"One thing to note is that you pay no significant performance penalty with " +"this approach: the actual formatting happens not when you make the logging " +"call, but when (and if) the logged message is actually about to be output to " +"a log by a handler. So the only slightly unusual thing which might trip you " +"up is that the parentheses go around the format string and the arguments, " +"not just the format string. That’s because the __ notation is just syntax " +"sugar for a constructor call to one of the ``XXXMessage`` classes shown " +"above." +msgstr "" +"Одне, що слід зазначити, полягає в тому, що ви не сплачуєте суттєвої втрати " +"продуктивності за допомогою цього підходу: фактичне форматування " +"відбувається не тоді, коли ви робите виклик журналювання, а коли (і якщо) " +"зареєстроване повідомлення фактично збирається вивести в журнал обробником. " +"Отже, єдина трохи незвичайна річ, яка може вас збентежити, полягає в тому, " +"що круглі дужки охоплюють рядок формату та аргументи, а не лише рядок " +"формату. Це тому, що нотація __ є просто синтаксичним цукром для виклику " +"конструктора одного з класів ``XXXMessage``, показаних вище." + +msgid "Configuring filters with :func:`dictConfig`" +msgstr "Налаштування фільтрів за допомогою :func:`dictConfig`" + +msgid "" +"You *can* configure filters using :func:`~logging.config.dictConfig`, though " +"it might not be obvious at first glance how to do it (hence this recipe). " +"Since :class:`~logging.Filter` is the only filter class included in the " +"standard library, and it is unlikely to cater to many requirements (it's " +"only there as a base class), you will typically need to define your own :" +"class:`~logging.Filter` subclass with an overridden :meth:`~logging.Filter." +"filter` method. To do this, specify the ``()`` key in the configuration " +"dictionary for the filter, specifying a callable which will be used to " +"create the filter (a class is the most obvious, but you can provide any " +"callable which returns a :class:`~logging.Filter` instance). Here is a " +"complete example::" +msgstr "" +"Ви *можете* налаштувати фільтри за допомогою :func:`~logging.config." +"dictConfig`, хоча на перший погляд може бути неочевидно, як це зробити (тому " +"цей рецепт). Оскільки :class:`~logging.Filter` є єдиним класом фільтра, " +"включеним у стандартну бібліотеку, і він навряд чи задовольнить багато вимог " +"(він існує лише як базовий клас), вам зазвичай потрібно буде визначити свій " +"власний Підклас :class:`~logging.Filter` із перевизначеним методом :meth:" +"`~logging.Filter.filter`. Для цього вкажіть ключ ``()`` у словнику " +"конфігурації для фільтра, вказавши виклик, який буде використовуватися для " +"створення фільтра (клас є найбільш очевидним, але ви можете надати будь-який " +"виклик, який повертає :class:`~logging.Filter` екземпляр). Ось повний " +"приклад::" + +msgid "" +"This example shows how you can pass configuration data to the callable which " +"constructs the instance, in the form of keyword parameters. When run, the " +"above script will print:" +msgstr "" +"У цьому прикладі показано, як ви можете передати дані конфігурації " +"викликаному, який створює екземпляр, у формі параметрів ключових слів. Під " +"час запуску наведений вище сценарій надрукує:" + +msgid "which shows that the filter is working as configured." +msgstr "який показує, що фільтр працює, як налаштовано." + +msgid "A couple of extra points to note:" +msgstr "Кілька додаткових моментів, на які варто звернути увагу:" + +msgid "" +"If you can't refer to the callable directly in the configuration (e.g. if it " +"lives in a different module, and you can't import it directly where the " +"configuration dictionary is), you can use the form ``ext://...`` as " +"described in :ref:`logging-config-dict-externalobj`. For example, you could " +"have used the text ``'ext://__main__.MyFilter'`` instead of ``MyFilter`` in " +"the above example." +msgstr "" +"Якщо ви не можете звернутися до викликаного безпосередньо в конфігурації " +"(наприклад, якщо він живе в іншому модулі, і ви не можете імпортувати його " +"безпосередньо туди, де знаходиться словник конфігурації), ви можете " +"використовувати форму ``ext://. ..``, як описано в :ref:`logging-config-dict-" +"externalobj`. Наприклад, у наведеному вище прикладі ви могли використати " +"текст ``'ext://__main__.MyFilter`` замість ``MyFilter``." + +msgid "" +"As well as for filters, this technique can also be used to configure custom " +"handlers and formatters. See :ref:`logging-config-dict-userdef` for more " +"information on how logging supports using user-defined objects in its " +"configuration, and see the other cookbook recipe :ref:`custom-handlers` " +"above." +msgstr "" +"Як і для фільтрів, цю техніку також можна використовувати для налаштування " +"нестандартних обробників і форматувальників. Перегляньте :ref:`logging-" +"config-dict-userdef`, щоб дізнатися більше про те, як ведення журналу " +"підтримує використання визначених користувачем об’єктів у своїй " +"конфігурації, і перегляньте інший рецепт кулінарної книги :ref:`custom-" +"handlers` вище." + +msgid "Customized exception formatting" +msgstr "Індивідуальне форматування винятків" + +msgid "" +"There might be times when you want to do customized exception formatting - " +"for argument's sake, let's say you want exactly one line per logged event, " +"even when exception information is present. You can do this with a custom " +"formatter class, as shown in the following example::" +msgstr "" +"Можуть бути випадки, коли ви захочете зробити налаштоване форматування " +"винятків - заради аргументу, припустімо, що вам потрібен рівно один рядок на " +"зареєстровану подію, навіть якщо присутня інформація про винятки. Ви можете " +"зробити це за допомогою спеціального класу форматера, як показано в " +"наступному прикладі:" + +msgid "When run, this produces a file with exactly two lines:" +msgstr "Під час запуску створюється файл із рівно двома рядками:" + +msgid "" +"While the above treatment is simplistic, it points the way to how exception " +"information can be formatted to your liking. The :mod:`traceback` module may " +"be helpful for more specialized needs." +msgstr "" +"Хоча описане вище лікування є спрощеним, воно вказує шлях до того, як " +"інформацію про винятки можна відформатувати на свій смак. Модуль :mod:" +"`traceback` може бути корисним для більш спеціалізованих потреб." + +msgid "Speaking logging messages" +msgstr "Озвучення повідомлень журналу" + +msgid "" +"There might be situations when it is desirable to have logging messages " +"rendered in an audible rather than a visible format. This is easy to do if " +"you have text-to-speech (TTS) functionality available in your system, even " +"if it doesn't have a Python binding. Most TTS systems have a command line " +"program you can run, and this can be invoked from a handler using :mod:" +"`subprocess`. It's assumed here that TTS command line programs won't expect " +"to interact with users or take a long time to complete, and that the " +"frequency of logged messages will be not so high as to swamp the user with " +"messages, and that it's acceptable to have the messages spoken one at a time " +"rather than concurrently, The example implementation below waits for one " +"message to be spoken before the next is processed, and this might cause " +"other handlers to be kept waiting. Here is a short example showing the " +"approach, which assumes that the ``espeak`` TTS package is available::" +msgstr "" +"Можуть бути ситуації, коли бажано, щоб повідомлення журналу відтворювалися в " +"звуковому, а не у видимому форматі. Це легко зробити, якщо у вашій системі " +"доступна функція перетворення тексту в мову (TTS), навіть якщо вона не має " +"прив’язки Python. Більшість систем TTS мають програму командного рядка, яку " +"можна запустити, і її можна викликати з обробника за допомогою :mod:" +"`subprocess`. Тут передбачається, що програми командного рядка TTS не будуть " +"взаємодіяти з користувачами або займати багато часу для виконання, і що " +"частота зареєстрованих повідомлень не буде настільки високою, щоб завалювати " +"користувача повідомленнями, і що прийнятно мати повідомлення промовляються " +"по одному, а не одночасно. Приклад реалізації нижче очікує, поки одне " +"повідомлення буде озвучено перед обробкою наступного, і це може спричинити " +"очікування інших обробників. Ось короткий приклад, який демонструє підхід, " +"який передбачає наявність пакета TTS ``espeak``::" + +msgid "" +"When run, this script should say \"Hello\" and then \"Goodbye\" in a female " +"voice." +msgstr "" +"Під час запуску цей скрипт має сказати \"Привіт\", а потім \"До побачення\" " +"жіночим голосом." + +msgid "" +"The above approach can, of course, be adapted to other TTS systems and even " +"other systems altogether which can process messages via external programs " +"run from a command line." +msgstr "" +"Наведений вище підхід, звичайно, можна адаптувати до інших систем TTS і " +"навіть до інших систем взагалі, які можуть обробляти повідомлення через " +"зовнішні програми, що запускаються з командного рядка." + +msgid "Buffering logging messages and outputting them conditionally" +msgstr "Буферизація повідомлень журналу та їх умовне виведення" + +msgid "" +"There might be situations where you want to log messages in a temporary area " +"and only output them if a certain condition occurs. For example, you may " +"want to start logging debug events in a function, and if the function " +"completes without errors, you don't want to clutter the log with the " +"collected debug information, but if there is an error, you want all the " +"debug information to be output as well as the error." +msgstr "" +"Можуть виникнути ситуації, коли потрібно реєструвати повідомлення у " +"тимчасовій області та виводити їх лише у разі виникнення певної умови. " +"Наприклад, ви можете почати реєструвати події налагодження у функції, і якщо " +"функція завершиться без помилок, ви не хочете захаращувати журнал зібраною " +"інформацією про налагодження, але якщо є помилка, ви хочете, щоб усі " +"налагодження інформацію, яку потрібно вивести, а також помилку." + +msgid "" +"Here is an example which shows how you could do this using a decorator for " +"your functions where you want logging to behave this way. It makes use of " +"the :class:`logging.handlers.MemoryHandler`, which allows buffering of " +"logged events until some condition occurs, at which point the buffered " +"events are ``flushed`` - passed to another handler (the ``target`` handler) " +"for processing. By default, the ``MemoryHandler`` flushed when its buffer " +"gets filled up or an event whose level is greater than or equal to a " +"specified threshold is seen. You can use this recipe with a more specialised " +"subclass of ``MemoryHandler`` if you want custom flushing behavior." +msgstr "" +"Ось приклад, який показує, як ви можете зробити це за допомогою декоратора " +"для ваших функцій, де ви хочете, щоб журналювання поводилося таким чином. " +"Він використовує :class:`logging.handlers.MemoryHandler`, який дозволяє " +"буферизувати зареєстровані події, доки не відбудеться певна умова, після " +"чого буферизовані події ``скидаються`` і передаються іншому обробнику " +"(``ціль`` обробник) для обробки. За замовчуванням ``MemoryHandler`` " +"очищується, коли його буфер заповнюється або спостерігається подія, рівень " +"якої перевищує або дорівнює вказаному порогу. Ви можете використовувати цей " +"рецепт із більш спеціалізованим підкласом ``MemoryHandler``, якщо вам " +"потрібна спеціальна поведінка очищення." + +msgid "" +"The example script has a simple function, ``foo``, which just cycles through " +"all the logging levels, writing to ``sys.stderr`` to say what level it's " +"about to log at, and then actually logging a message at that level. You can " +"pass a parameter to ``foo`` which, if true, will log at ERROR and CRITICAL " +"levels - otherwise, it only logs at DEBUG, INFO and WARNING levels." +msgstr "" +"Приклад сценарію має просту функцію, ``foo``, яка просто циклічно перебирає " +"всі рівні журналювання, записуючи в ``sys.stderr``, щоб сказати, на якому " +"рівні він збирається зареєструватися, а потім фактично записує повідомлення " +"на цьому рівень. Ви можете передати параметр у ``foo``, який, якщо істина, " +"буде реєструватися на рівнях ПОМИЛКА та КРИТИЧНИЙ - інакше він реєструватиме " +"лише на рівнях НАЛАШТУВАННЯ, ІНФОРМАЦІЇ та ПОПЕРЕДЖЕННЯ." + +msgid "" +"The script just arranges to decorate ``foo`` with a decorator which will do " +"the conditional logging that's required. The decorator takes a logger as a " +"parameter and attaches a memory handler for the duration of the call to the " +"decorated function. The decorator can be additionally parameterised using a " +"target handler, a level at which flushing should occur, and a capacity for " +"the buffer (number of records buffered). These default to a :class:`~logging." +"StreamHandler` which writes to ``sys.stderr``, ``logging.ERROR`` and ``100`` " +"respectively." +msgstr "" +"Сценарій лише організовує декорування ``foo`` за допомогою декоратора, який " +"виконуватиме необхідне умовне журналювання. Декоратор приймає реєстратор як " +"параметр і приєднує обробник пам’яті на час виклику декорованої функції. " +"Декоратор може бути додатково параметризований за допомогою цільового " +"обробника, рівня, на якому має відбуватися очищення, і ємності для буфера " +"(кількість записів, буферизованих). За умовчанням це :class:`~logging." +"StreamHandler`, який записує в ``sys.stderr``, ``logging.ERROR`` і ``100`` " +"відповідно." + +msgid "Here's the script::" +msgstr "Ось сценарій::" + +msgid "When this script is run, the following output should be observed:" +msgstr "Під час виконання цього сценарію має спостерігатися такий результат:" + +msgid "" +"As you can see, actual logging output only occurs when an event is logged " +"whose severity is ERROR or greater, but in that case, any previous events at " +"lower severities are also logged." +msgstr "" +"Як ви можете бачити, фактичний вихід журналу відбувається лише тоді, коли " +"реєструється подія, серйозність якої дорівнює ПОМИЛКІ або вище, але в цьому " +"випадку також реєструються будь-які попередні події з нижчим рівнем " +"серйозності." + +msgid "You can of course use the conventional means of decoration::" +msgstr "Ви, звичайно, можете використовувати звичайні засоби декору:" + +msgid "Sending logging messages to email, with buffering" +msgstr "" + +msgid "" +"To illustrate how you can send log messages via email, so that a set number " +"of messages are sent per email, you can subclass :class:`~logging.handlers." +"BufferingHandler`. In the following example, which you can adapt to suit " +"your specific needs, a simple test harness is provided which allows you to " +"run the script with command line arguments specifying what you typically " +"need to send things via SMTP. (Run the downloaded script with the ``-h`` " +"argument to see the required and optional arguments.)" +msgstr "" + +msgid "" +"If you run this script and your SMTP server is correctly set up, you should " +"find that it sends eleven emails to the addressee you specify. The first ten " +"emails will each have ten log messages, and the eleventh will have two " +"messages. That makes up 102 messages as specified in the script." +msgstr "" + +msgid "Formatting times using UTC (GMT) via configuration" +msgstr "Форматування часу за допомогою UTC (GMT) через налаштування" + +msgid "" +"Sometimes you want to format times using UTC, which can be done using a " +"class such as ``UTCFormatter``, shown below::" +msgstr "" + +msgid "" +"and you can then use the ``UTCFormatter`` in your code instead of :class:" +"`~logging.Formatter`. If you want to do that via configuration, you can use " +"the :func:`~logging.config.dictConfig` API with an approach illustrated by " +"the following complete example::" +msgstr "" +"і тоді ви можете використовувати ``UTCFormatter`` у своєму коді замість :" +"class:`~logging.Formatter`. Якщо ви хочете зробити це за допомогою " +"конфігурації, ви можете використовувати :func:`~logging.config.dictConfig` " +"API з підходом, проілюстрованим таким повним прикладом:" + +msgid "When this script is run, it should print something like:" +msgstr "Коли цей сценарій запускається, він має надрукувати щось на кшталт:" + +msgid "" +"showing how the time is formatted both as local time and UTC, one for each " +"handler." +msgstr "" +"показує, як час форматується як місцевий час, так і UTC, по одному для " +"кожного обробника." + +msgid "Using a context manager for selective logging" +msgstr "Використання контекстного менеджера для вибіркового журналювання" + +msgid "" +"There are times when it would be useful to temporarily change the logging " +"configuration and revert it back after doing something. For this, a context " +"manager is the most obvious way of saving and restoring the logging context. " +"Here is a simple example of such a context manager, which allows you to " +"optionally change the logging level and add a logging handler purely in the " +"scope of the context manager::" +msgstr "" +"Бувають випадки, коли було б корисно тимчасово змінити конфігурацію " +"журналювання та повернути її назад після певних дій. Для цього менеджер " +"контексту є найбільш очевидним способом збереження та відновлення контексту " +"журналювання. Ось простий приклад такого менеджера контексту, який дозволяє " +"вам за бажанням змінити рівень журналювання та додати обробник журналювання " +"виключно в межах контекстного менеджера::" + +msgid "" +"If you specify a level value, the logger's level is set to that value in the " +"scope of the with block covered by the context manager. If you specify a " +"handler, it is added to the logger on entry to the block and removed on exit " +"from the block. You can also ask the manager to close the handler for you on " +"block exit - you could do this if you don't need the handler any more." +msgstr "" +"Якщо ви вказуєте значення рівня, рівень реєстратора встановлюється на це " +"значення в області блоку with, охопленого менеджером контексту. Якщо ви " +"вкажете обробник, він додається до реєстратора під час входу до блоку та " +"видаляється під час виходу з блоку. Ви також можете попросити менеджера " +"закрити обробник для вас після виходу з блоку - ви можете зробити це, якщо " +"вам більше не потрібен обробник." + +msgid "" +"To illustrate how it works, we can add the following block of code to the " +"above::" +msgstr "" +"Щоб проілюструвати, як це працює, ми можемо додати наступний блок коду до " +"наведеного вище:" + +msgid "" +"We initially set the logger's level to ``INFO``, so message #1 appears and " +"message #2 doesn't. We then change the level to ``DEBUG`` temporarily in the " +"following ``with`` block, and so message #3 appears. After the block exits, " +"the logger's level is restored to ``INFO`` and so message #4 doesn't appear. " +"In the next ``with`` block, we set the level to ``DEBUG`` again but also add " +"a handler writing to ``sys.stdout``. Thus, message #5 appears twice on the " +"console (once via ``stderr`` and once via ``stdout``). After the ``with`` " +"statement's completion, the status is as it was before so message #6 appears " +"(like message #1) whereas message #7 doesn't (just like message #2)." +msgstr "" +"Спочатку ми встановили рівень реєстратора на ``INFO``, тому повідомлення №1 " +"з’являється, а повідомлення №2 ні. Потім ми тимчасово змінюємо рівень на " +"``DEBUG`` у наступному блоці ``with``, і тому з'являється повідомлення №3. " +"Після виходу з блоку рівень реєстратора відновлюється до ``INFO``, тому " +"повідомлення №4 не з’являється. У наступному блоці ``with`` ми знову " +"встановлюємо рівень ``DEBUG``, але також додаємо запис обробника в ``sys." +"stdout``. Таким чином, повідомлення №5 з’являється двічі на консолі (один " +"раз через ``stderr`` і один раз через ``stdout``). Після завершення " +"оператора ``with`` статус залишається таким же, як і раніше, тому " +"повідомлення №6 з’являється (як повідомлення №1), тоді як повідомлення №7 ні " +"(так само, як повідомлення №2)." + +msgid "If we run the resulting script, the result is as follows:" +msgstr "Якщо ми запустимо отриманий сценарій, результат буде таким:" + +msgid "" +"If we run it again, but pipe ``stderr`` to ``/dev/null``, we see the " +"following, which is the only message written to ``stdout``:" +msgstr "" +"Якщо ми запустимо його знову, але передаємо ``stderr`` до ``/dev/null``, ми " +"побачимо наступне, яке є єдиним повідомленням, яке записується в ``stdout``:" + +msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:" +msgstr "Ще раз, але передаючи ``stdout`` до ``/dev/null``, ми отримуємо:" + +msgid "" +"In this case, the message #5 printed to ``stdout`` doesn't appear, as " +"expected." +msgstr "" +"У цьому випадку повідомлення №5, надруковане в ``stdout``, не з'являється, " +"як очікувалося." + +msgid "" +"Of course, the approach described here can be generalised, for example to " +"attach logging filters temporarily. Note that the above code works in Python " +"2 as well as Python 3." +msgstr "" +"Звичайно, описаний тут підхід можна узагальнити, наприклад, тимчасово " +"приєднати фільтри журналювання. Зверніть увагу, що наведений вище код працює " +"як у Python 2, так і в Python 3." + +msgid "A CLI application starter template" +msgstr "Початковий шаблон програми CLI" + +msgid "Here's an example which shows how you can:" +msgstr "Ось приклад, який показує, як можна:" + +msgid "Use a logging level based on command-line arguments" +msgstr "" +"Використовуйте рівень журналювання на основі аргументів командного рядка" + +msgid "" +"Dispatch to multiple subcommands in separate files, all logging at the same " +"level in a consistent way" +msgstr "" +"Відправлення до кількох підкоманд в окремих файлах, усі журнали на одному " +"рівні узгоджено" + +msgid "Make use of simple, minimal configuration" +msgstr "Використовуйте просту мінімальну конфігурацію" + +msgid "" +"Suppose we have a command-line application whose job is to stop, start or " +"restart some services. This could be organised for the purposes of " +"illustration as a file ``app.py`` that is the main script for the " +"application, with individual commands implemented in ``start.py``, ``stop." +"py`` and ``restart.py``. Suppose further that we want to control the " +"verbosity of the application via a command-line argument, defaulting to " +"``logging.INFO``. Here's one way that ``app.py`` could be written::" +msgstr "" +"Припустімо, що у нас є програма командного рядка, завданням якої є зупинка, " +"запуск або перезапуск деяких служб. Для ілюстрації це можна організувати як " +"файл ``app.py``, який є основним сценарієм для програми, з окремими " +"командами, реалізованими в ``start.py``, ``stop.py`` і ``restart.py``. " +"Припустимо далі, що ми хочемо контролювати докладність програми за допомогою " +"аргументу командного рядка, за замовчуванням ``logging.INFO``. Ось один із " +"способів написання ``app.py``:" + +msgid "" +"And the ``start``, ``stop`` and ``restart`` commands can be implemented in " +"separate modules, like so for starting::" +msgstr "" +"А команди ``start``, ``stop`` і ``restart`` можна реалізувати в окремих " +"модулях, наприклад, для запуску::" + +msgid "and thus for stopping::" +msgstr "і, таким чином, для зупинки::" + +msgid "and similarly for restarting::" +msgstr "і аналогічно для перезапуску::" + +msgid "" +"If we run this application with the default log level, we get output like " +"this:" +msgstr "" +"Якщо ми запустимо цю програму з рівнем журналу за замовчуванням, ми " +"отримаємо такий результат:" + +msgid "" +"The first word is the logging level, and the second word is the module or " +"package name of the place where the event was logged." +msgstr "" +"Перше слово — це рівень журналювання, а друге — ім’я модуля або пакета " +"місця, де було зареєстровано подію." + +msgid "" +"If we change the logging level, then we can change the information sent to " +"the log. For example, if we want more information:" +msgstr "" +"Якщо ми змінимо рівень журналювання, ми зможемо змінити інформацію, яка " +"надсилається до журналу. Наприклад, якщо нам потрібна додаткова інформація:" + +msgid "And if we want less:" +msgstr "А якщо ми хочемо менше:" + +msgid "" +"In this case, the commands don't print anything to the console, since " +"nothing at ``WARNING`` level or above is logged by them." +msgstr "" +"У цьому випадку команди нічого не друкують на консолі, оскільки вони нічого " +"не реєструють на рівні ``ПОПЕРЕДЖЕННЯ`` або вище." + +msgid "A Qt GUI for logging" +msgstr "Графічний інтерфейс Qt для журналювання" + +msgid "" +"A question that comes up from time to time is about how to log to a GUI " +"application. The `Qt `_ framework is a popular cross-" +"platform UI framework with Python bindings using `PySide2 `_ or `PyQt5 `_ libraries." +msgstr "" +"Час від часу виникає питання про те, як увійти в програму графічного " +"інтерфейсу користувача. Фреймворк `Qt `_ — це популярна " +"кросплатформна структура інтерфейсу користувача з прив’язками Python із " +"використанням бібліотек `PySide2 `_ або " +"`PyQt5 `_." + +msgid "" +"The following example shows how to log to a Qt GUI. This introduces a simple " +"``QtHandler`` class which takes a callable, which should be a slot in the " +"main thread that does GUI updates. A worker thread is also created to show " +"how you can log to the GUI from both the UI itself (via a button for manual " +"logging) as well as a worker thread doing work in the background (here, just " +"logging messages at random levels with random short delays in between)." +msgstr "" +"У наступному прикладі показано, як увійти до Qt GUI. Це представляє простий " +"клас ``QtHandler``, який приймає callable, який має бути слотом у головному " +"потоці, який виконує оновлення GUI. Робочий потік також створюється, щоб " +"показати, як ви можете входити в графічний інтерфейс як з самого інтерфейсу " +"користувача (за допомогою кнопки для ручного журналювання), так і з робочого " +"потоку, який виконує роботу у фоновому режимі (тут просто реєструє " +"повідомлення на випадкових рівнях з довільним короткі затримки між ними)." + +msgid "" +"The worker thread is implemented using Qt's ``QThread`` class rather than " +"the :mod:`threading` module, as there are circumstances where one has to use " +"``QThread``, which offers better integration with other ``Qt`` components." +msgstr "" +"Робочий потік реалізовано за допомогою класу ``QThread`` Qt, а не модуля :" +"mod:`threading`, оскільки є обставини, коли потрібно використовувати " +"``QThread``, який забезпечує кращу інтеграцію з іншим ``Qt`` компоненти." + +msgid "" +"The code should work with recent releases of either ``PySide2`` or " +"``PyQt5``. You should be able to adapt the approach to earlier versions of " +"Qt. Please refer to the comments in the code snippet for more detailed " +"information." +msgstr "" +"Код має працювати з останніми випусками ``PySide2`` або ``PyQt5``. Ви " +"повинні мати можливість адаптувати підхід до попередніх версій Qt. Щоб " +"отримати докладнішу інформацію, зверніться до коментарів у фрагменті коду." + +msgid "Logging to syslog with RFC5424 support" +msgstr "Вхід до системного журналу з підтримкою RFC5424" + +msgid "" +"Although :rfc:`5424` dates from 2009, most syslog servers are configured by " +"detault to use the older :rfc:`3164`, which hails from 2001. When " +"``logging`` was added to Python in 2003, it supported the earlier (and only " +"existing) protocol at the time. Since RFC5424 came out, as there has not " +"been widespread deployment of it in syslog servers, the :class:`~logging." +"handlers.SysLogHandler` functionality has not been updated." +msgstr "" +"Хоча :rfc:`5424` датується 2009 роком, більшість серверів syslog налаштовано " +"detault на використання старішого :rfc:`3164`, який походить з 2001 року. " +"Коли ``logging`` було додано до Python у 2003 році, воно підтримувало " +"попередній (і єдиний існуючий) протокол на той час. З моменту виходу " +"RFC5424, оскільки його широкого розгортання на серверах syslog не було, " +"функціональні можливості :class:`~logging.handlers.SysLogHandler` не " +"оновлювалися." + +msgid "" +"RFC 5424 contains some useful features such as support for structured data, " +"and if you need to be able to log to a syslog server with support for it, " +"you can do so with a subclassed handler which looks something like this::" +msgstr "" +"RFC 5424 містить деякі корисні функції, такі як підтримка структурованих " +"даних, і якщо вам потрібно мати можливість увійти на сервер системного " +"журналу з його підтримкою, ви можете зробити це за допомогою обробника " +"підкласів, який виглядає приблизно так:" + +msgid "" +"You'll need to be familiar with RFC 5424 to fully understand the above code, " +"and it may be that you have slightly different needs (e.g. for how you pass " +"structural data to the log). Nevertheless, the above should be adaptable to " +"your speciric needs. With the above handler, you'd pass structured data " +"using something like this::" +msgstr "" +"Вам потрібно буде ознайомитися з RFC 5424, щоб повністю зрозуміти наведений " +"вище код, і можливо, у вас є дещо інші потреби (наприклад, щодо того, як ви " +"передаєте структурні дані в журнал). Тим не менш, наведене вище має " +"адаптуватися до ваших конкретних потреб. За допомогою наведеного вище " +"обробника ви передаєте структуровані дані, використовуючи щось на зразок " +"цього::" + +msgid "How to treat a logger like an output stream" +msgstr "" + +msgid "" +"Sometimes, you need to interface to a third-party API which expects a file-" +"like object to write to, but you want to direct the API's output to a " +"logger. You can do this using a class which wraps a logger with a file-like " +"API. Here's a short script illustrating such a class:" +msgstr "" + +msgid "When this script is run, it prints" +msgstr "" + +msgid "" +"You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and ``sys." +"stderr`` by doing something like this:" +msgstr "" + +msgid "" +"You should do this *after* configuring logging for your needs. In the above " +"example, the :func:`~logging.basicConfig` call does this (using the ``sys." +"stderr`` value *before* it is overwritten by a ``LoggerWriter`` instance). " +"Then, you'd get this kind of result:" +msgstr "" + +msgid "" +"Of course, the examples above show output according to the format used by :" +"func:`~logging.basicConfig`, but you can use a different formatter when you " +"configure logging." +msgstr "" + +msgid "" +"Note that with the above scheme, you are somewhat at the mercy of buffering " +"and the sequence of write calls which you are intercepting. For example, " +"with the definition of ``LoggerWriter`` above, if you have the snippet" +msgstr "" + +msgid "then running the script results in" +msgstr "" + +msgid "" +"As you can see, this output isn't ideal. That's because the underlying code " +"which writes to ``sys.stderr`` makes mutiple writes, each of which results " +"in a separate logged line (for example, the last three lines above). To get " +"around this problem, you need to buffer things and only output log lines " +"when newlines are seen. Let's use a slghtly better implementation of " +"``LoggerWriter``:" +msgstr "" + +msgid "" +"This just buffers up stuff until a newline is seen, and then logs complete " +"lines. With this approach, you get better output:" +msgstr "" + +msgid "Patterns to avoid" +msgstr "Шаблони, яких слід уникати" + +msgid "" +"Although the preceding sections have described ways of doing things you " +"might need to do or deal with, it is worth mentioning some usage patterns " +"which are *unhelpful*, and which should therefore be avoided in most cases. " +"The following sections are in no particular order." +msgstr "" +"Незважаючи на те, що в попередніх розділах описано способи виконання речей, " +"які вам можуть знадобитися, варто згадати деякі шаблони використання, які є " +"*некорисними* і яких у більшості випадків слід уникати. Наступні розділи не " +"мають певного порядку." + +msgid "Opening the same log file multiple times" +msgstr "Відкриття одного файлу журналу кілька разів" + +msgid "" +"On Windows, you will generally not be able to open the same file multiple " +"times as this will lead to a \"file is in use by another process\" error. " +"However, on POSIX platforms you'll not get any errors if you open the same " +"file multiple times. This could be done accidentally, for example by:" +msgstr "" +"У Windows зазвичай ви не зможете відкрити один і той же файл кілька разів, " +"оскільки це призведе до помилки \"файл використовується іншим процесом\". " +"Однак на платформах POSIX ви не отримаєте жодних помилок, якщо відкриєте той " +"самий файл кілька разів. Це може бути зроблено випадково, наприклад:" + +msgid "" +"Adding a file handler more than once which references the same file (e.g. by " +"a copy/paste/forget-to-change error)." +msgstr "" +"Додавання обробника файлів більше одного разу, який посилається на той самий " +"файл (наприклад, через помилку копіювання/вставлення/забути змінити)." + +msgid "" +"Opening two files that look different, as they have different names, but are " +"the same because one is a symbolic link to the other." +msgstr "" +"Відкриття двох файлів, які виглядають по-різному, оскільки мають різні " +"назви, але однакові, оскільки один є символічним посиланням на інший." + +msgid "" +"Forking a process, following which both parent and child have a reference to " +"the same file. This might be through use of the :mod:`multiprocessing` " +"module, for example." +msgstr "" +"Розгалуження процесу, після якого і батьківський, і дочірній елементи мають " +"посилання на той самий файл. Це може бути, наприклад, через використання " +"модуля :mod:`multiprocessing`." + +msgid "" +"Opening a file multiple times might *appear* to work most of the time, but " +"can lead to a number of problems in practice:" +msgstr "" +"Багаторазове відкриття файлу може *видаватись* більшу частину часу " +"ефективним, але на практиці це може призвести до ряду проблем:" + +msgid "" +"Logging output can be garbled because multiple threads or processes try to " +"write to the same file. Although logging guards against concurrent use of " +"the same handler instance by multiple threads, there is no such protection " +"if concurrent writes are attempted by two different threads using two " +"different handler instances which happen to point to the same file." +msgstr "" +"Вихід журналу може бути спотвореним, оскільки кілька потоків або процесів " +"намагаються записати в той самий файл. Хоча журналювання захищає від " +"одночасного використання одного екземпляра обробника кількома потоками, " +"такого захисту немає, якщо одночасний запис намагаються виконати два різні " +"потоки, використовуючи два різні екземпляри обробника, які випадково " +"вказують на той самий файл." + +msgid "" +"An attempt to delete a file (e.g. during file rotation) silently fails, " +"because there is another reference pointing to it. This can lead to " +"confusion and wasted debugging time - log entries end up in unexpected " +"places, or are lost altogether. Or a file that was supposed to be moved " +"remains in place, and grows in size unexpectedly despite size-based rotation " +"being supposedly in place." +msgstr "" + +msgid "" +"Use the techniques outlined in :ref:`multiple-processes` to circumvent such " +"issues." +msgstr "" +"Використовуйте методи, описані в :ref:`multiple-processes`, щоб уникнути " +"таких проблем." + +msgid "Using loggers as attributes in a class or passing them as parameters" +msgstr "" +"Використання реєстраторів як атрибутів у класі або передача їх як параметрів" + +msgid "" +"While there might be unusual cases where you'll need to do this, in general " +"there is no point because loggers are singletons. Code can always access a " +"given logger instance by name using ``logging.getLogger(name)``, so passing " +"instances around and holding them as instance attributes is pointless. Note " +"that in other languages such as Java and C#, loggers are often static class " +"attributes. However, this pattern doesn't make sense in Python, where the " +"module (and not the class) is the unit of software decomposition." +msgstr "" +"Хоча можуть бути незвичайні випадки, коли вам знадобиться це зробити, " +"загалом це не має сенсу, оскільки реєстратори є одиночними. Код завжди може " +"отримати доступ до певного екземпляра реєстратора за назвою за допомогою " +"``logging.getLogger(name)``, тому передавати екземпляри та зберігати їх як " +"атрибути екземпляра безглуздо. Зверніть увагу, що в інших мовах, таких як " +"Java і C#, реєстратори часто є статичними атрибутами класу. Однак цей шаблон " +"не має сенсу в Python, де модуль (а не клас) є одиницею декомпозиції " +"програмного забезпечення." + +msgid "" +"Adding handlers other than :class:`NullHandler` to a logger in a library" +msgstr "" +"Додавання обробників, відмінних від :class:`NullHandler`, до реєстратора в " +"бібліотеці" + +msgid "" +"Configuring logging by adding handlers, formatters and filters is the " +"responsibility of the application developer, not the library developer. If " +"you are maintaining a library, ensure that you don't add handlers to any of " +"your loggers other than a :class:`~logging.NullHandler` instance." +msgstr "" +"Налаштування журналювання шляхом додавання обробників, засобів форматування " +"та фільтрів є відповідальністю розробника програми, а не розробника " +"бібліотеки. Якщо ви підтримуєте бібліотеку, переконайтеся, що ви не додаєте " +"обробники до жодного з ваших журналів, крім екземпляра :class:`~logging." +"NullHandler`." + +msgid "Creating a lot of loggers" +msgstr "Створення великої кількості журналів" + +msgid "" +"Loggers are singletons that are never freed during a script execution, and " +"so creating lots of loggers will use up memory which can't then be freed. " +"Rather than create a logger per e.g. file processed or network connection " +"made, use the :ref:`existing mechanisms ` for passing " +"contextual information into your logs and restrict the loggers created to " +"those describing areas within your application (generally modules, but " +"occasionally slightly more fine-grained than that)." +msgstr "" +"Реєстратори — це одиночні елементи, які ніколи не звільняються під час " +"виконання сценарію, тому створення великої кількості реєстраторів буде " +"використовувати пам’ять, яку потім не можна звільнити. Замість створення " +"реєстратора, наприклад, оброблено файл або встановлено мережеве з’єднання, " +"скористайтеся :ref:`існуючими механізмами ` для передачі " +"контекстної інформації у ваші журнали та обмежте реєстратори, створені тими, " +"що описують області у вашій програмі (зазвичай модулі, але іноді трохи більш " +"дрібнозернисті, ніж це) ." + +msgid "Other resources" +msgstr "Інші ресурси" + +msgid ":ref:`Basic Tutorial `" +msgstr ":ref:`Основний посібник `" + +msgid ":ref:`Advanced Tutorial `" +msgstr ":ref:`Розширений посібник `" diff --git a/howto/logging.po b/howto/logging.po new file mode 100644 index 000000000..f9655aaea --- /dev/null +++ b/howto/logging.po @@ -0,0 +1,1789 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Logging HOWTO" +msgstr "Журнал HOWTO" + +msgid "Author" +msgstr "Автор" + +msgid "Vinay Sajip " +msgstr "Vinay Sajip " + +msgid "Basic Logging Tutorial" +msgstr "Підручник з базового журналювання" + +msgid "" +"Logging is a means of tracking events that happen when some software runs. " +"The software's developer adds logging calls to their code to indicate that " +"certain events have occurred. An event is described by a descriptive message " +"which can optionally contain variable data (i.e. data that is potentially " +"different for each occurrence of the event). Events also have an importance " +"which the developer ascribes to the event; the importance can also be called " +"the *level* or *severity*." +msgstr "" +"Ведення журналу — це засіб відстеження подій, які відбуваються під час " +"роботи певного програмного забезпечення. Розробник програмного забезпечення " +"додає до свого коду виклики реєстрації, щоб вказати, що відбулися певні " +"події. Подія описується описовим повідомленням, яке може додатково містити " +"змінні дані (тобто дані, які потенційно відрізняються для кожного випадку " +"події). Події також мають важливість, яку розробник приписує події; " +"важливість також можна назвати *рівнем* або *серйозністю*." + +msgid "When to use logging" +msgstr "Коли використовувати журналювання" + +msgid "" +"Logging provides a set of convenience functions for simple logging usage. " +"These are :func:`debug`, :func:`info`, :func:`warning`, :func:`error` and :" +"func:`critical`. To determine when to use logging, see the table below, " +"which states, for each of a set of common tasks, the best tool to use for it." +msgstr "" +"Logging надає набір зручних функцій для простого використання журналу. Це :" +"func:`debug`, :func:`info`, :func:`warning`, :func:`error` і :func:" +"`critical`. Щоб визначити, коли використовувати журналювання, перегляньте " +"наведену нижче таблицю, у якій зазначено найкращий інструмент для кожного з " +"набору поширених завдань." + +msgid "Task you want to perform" +msgstr "Завдання, яке ви хочете виконати" + +msgid "The best tool for the task" +msgstr "Найкращий інструмент для завдання" + +msgid "" +"Display console output for ordinary usage of a command line script or program" +msgstr "" +"Відображення виводу консолі для звичайного використання сценарію або " +"програми командного рядка" + +msgid ":func:`print`" +msgstr ":func:`print`" + +msgid "" +"Report events that occur during normal operation of a program (e.g. for " +"status monitoring or fault investigation)" +msgstr "" +"Повідомлення про події, які відбуваються під час нормальної роботи програми " +"(наприклад, для моніторингу стану або дослідження помилок)" + +msgid "" +":func:`logging.info` (or :func:`logging.debug` for very detailed output for " +"diagnostic purposes)" +msgstr "" +":func:`logging.info` (або :func:`logging.debug` для дуже детального виводу " +"для діагностичних цілей)" + +msgid "Issue a warning regarding a particular runtime event" +msgstr "Видавати попередження щодо певної події виконання" + +msgid "" +":func:`warnings.warn` in library code if the issue is avoidable and the " +"client application should be modified to eliminate the warning" +msgstr "" +":func:`warnings.warn` у коді бібліотеки, якщо проблеми можна уникнути і " +"клієнтську програму слід змінити, щоб усунути попередження" + +msgid "" +":func:`logging.warning` if there is nothing the client application can do " +"about the situation, but the event should still be noted" +msgstr "" +":func:`logging.warning`, якщо клієнтська програма нічого не може вдіяти з " +"ситуацією, але подію все одно слід зазначити" + +msgid "Report an error regarding a particular runtime event" +msgstr "Повідомити про помилку щодо певної події виконання" + +msgid "Raise an exception" +msgstr "Викликати виняток" + +msgid "" +"Report suppression of an error without raising an exception (e.g. error " +"handler in a long-running server process)" +msgstr "" +"Повідомити про придушення помилки без виклику винятку (наприклад, обробник " +"помилок у тривалому серверному процесі)" + +msgid "" +":func:`logging.error`, :func:`logging.exception` or :func:`logging.critical` " +"as appropriate for the specific error and application domain" +msgstr "" +":func:`logging.error`, :func:`logging.exception` або :func:`logging." +"critical` відповідно до конкретної помилки та домену програми" + +msgid "" +"The logging functions are named after the level or severity of the events " +"they are used to track. The standard levels and their applicability are " +"described below (in increasing order of severity):" +msgstr "" +"Функції журналювання називаються відповідно до рівня або серйозності подій, " +"які вони використовують для відстеження. Стандартні рівні та їх " +"застосовність описані нижче (у порядку зростання суворості):" + +msgid "Level" +msgstr "Рівень" + +msgid "When it's used" +msgstr "Коли він використовується" + +msgid "``DEBUG``" +msgstr "``НАЛАШТУВАННЯ``" + +msgid "" +"Detailed information, typically of interest only when diagnosing problems." +msgstr "" +"Детальна інформація, яка зазвичай цікава лише під час діагностики проблем." + +msgid "``INFO``" +msgstr "``ІНФО``" + +msgid "Confirmation that things are working as expected." +msgstr "Підтвердження того, що все працює належним чином." + +msgid "``WARNING``" +msgstr "``ПОПЕРЕДЖЕННЯ``" + +msgid "" +"An indication that something unexpected happened, or indicative of some " +"problem in the near future (e.g. 'disk space low'). The software is still " +"working as expected." +msgstr "" +"Ознака того, що трапилося щось несподіване, або вказує на певну проблему в " +"найближчому майбутньому (наприклад, \"замало місця на диску\"). Програмне " +"забезпечення все ще працює належним чином." + +msgid "``ERROR``" +msgstr "``ПОМИЛКА``" + +msgid "" +"Due to a more serious problem, the software has not been able to perform " +"some function." +msgstr "" +"Через більш серйозну проблему програмне забезпечення не може виконувати " +"деякі функції." + +msgid "``CRITICAL``" +msgstr "``КРИТИЧНО``" + +msgid "" +"A serious error, indicating that the program itself may be unable to " +"continue running." +msgstr "" +"Серйозна помилка, яка вказує на те, що сама програма може не працювати далі." + +msgid "" +"The default level is ``WARNING``, which means that only events of this level " +"and above will be tracked, unless the logging package is configured to do " +"otherwise." +msgstr "" +"Рівень за замовчуванням – ``ПОПЕРЕДЖЕННЯ``, що означає, що " +"відстежуватимуться лише події цього рівня та вище, якщо пакет журналювання " +"не налаштовано на інше." + +msgid "" +"Events that are tracked can be handled in different ways. The simplest way " +"of handling tracked events is to print them to the console. Another common " +"way is to write them to a disk file." +msgstr "" +"Події, які відстежуються, можна обробляти різними способами. Найпростіший " +"спосіб обробки відстежуваних подій — роздрукувати їх на консолі. Ще один " +"поширений спосіб - записати їх у файл на диску." + +msgid "A simple example" +msgstr "Простий приклад" + +msgid "A very simple example is::" +msgstr "Дуже простий приклад::" + +msgid "If you type these lines into a script and run it, you'll see:" +msgstr "Якщо ви введете ці рядки в сценарій і запустите його, ви побачите:" + +msgid "" +"printed out on the console. The ``INFO`` message doesn't appear because the " +"default level is ``WARNING``. The printed message includes the indication of " +"the level and the description of the event provided in the logging call, i." +"e. 'Watch out!'. Don't worry about the 'root' part for now: it will be " +"explained later. The actual output can be formatted quite flexibly if you " +"need that; formatting options will also be explained later." +msgstr "" +"роздрукований на консолі. Повідомлення ``ІНФО`` не з'являється, оскільки " +"рівень за замовчуванням ``ПОПЕРЕДЖЕННЯ``. Роздруковане повідомлення містить " +"індикацію рівня та опис події, наданої у виклику реєстрації, тобто " +"\"Обережно!\". Наразі не турбуйтеся про \"кореневу\" частину: це буде " +"пояснено пізніше. Фактичний вихід можна відформатувати досить гнучко, якщо " +"вам це потрібно; параметри форматування також будуть пояснені пізніше." + +msgid "Logging to a file" +msgstr "Запис у файл" + +msgid "" +"A very common situation is that of recording logging events in a file, so " +"let's look at that next. Be sure to try the following in a newly started " +"Python interpreter, and don't just continue from the session described " +"above::" +msgstr "" + +msgid "" +"The *encoding* argument was added. In earlier Python versions, or if not " +"specified, the encoding used is the default value used by :func:`open`. " +"While not shown in the above example, an *errors* argument can also now be " +"passed, which determines how encoding errors are handled. For available " +"values and the default, see the documentation for :func:`open`." +msgstr "" +"Додано аргумент *кодування*. У попередніх версіях Python або, якщо не " +"вказано, використовувалося кодування за замовчуванням, яке використовується :" +"func:`open`. Хоча це не показано в наведеному вище прикладі, тепер також " +"можна передати аргумент *errors*, який визначає, як обробляються помилки " +"кодування. Доступні значення та типові значення дивіться в документації для :" +"func:`open`." + +msgid "" +"And now if we open the file and look at what we have, we should find the log " +"messages:" +msgstr "" +"А тепер, якщо ми відкриємо файл і подивимося, що у нас є, ми повинні знайти " +"повідомлення журналу:" + +msgid "" +"This example also shows how you can set the logging level which acts as the " +"threshold for tracking. In this case, because we set the threshold to " +"``DEBUG``, all of the messages were printed." +msgstr "" +"У цьому прикладі також показано, як можна встановити рівень журналювання, " +"який діє як порогове значення для відстеження. У цьому випадку, оскільки ми " +"встановили порогове значення ``DEBUG``, усі повідомлення було надруковано." + +msgid "" +"If you want to set the logging level from a command-line option such as:" +msgstr "" +"Якщо ви хочете встановити рівень журналювання за допомогою параметра " +"командного рядка, наприклад:" + +msgid "" +"and you have the value of the parameter passed for ``--log`` in some " +"variable *loglevel*, you can use::" +msgstr "" +"і у вас є значення параметра, переданого для ``--log`` у деякій змінній " +"*loglevel*, ви можете використовувати::" + +msgid "" +"to get the value which you'll pass to :func:`basicConfig` via the *level* " +"argument. You may want to error check any user input value, perhaps as in " +"the following example::" +msgstr "" +"щоб отримати значення, яке ви передасте :func:`basicConfig` через аргумент " +"*level*. Можливо, ви захочете перевірити помилки будь-якого введеного " +"користувачем значення, можливо, як у наступному прикладі::" + +msgid "" +"The call to :func:`basicConfig` should come *before* any calls to :func:" +"`debug`, :func:`info`, etc. Otherwise, those functions will call :func:" +"`basicConfig` for you with the default options. As it's intended as a one-" +"off simple configuration facility, only the first call will actually do " +"anything: subsequent calls are effectively no-ops." +msgstr "" +"Виклик :func:`basicConfig` має надходити *перед* будь-якими викликами :func:" +"`debug`, :func:`info` тощо. Інакше ці функції викличуть :func:`basicConfig` " +"для вас із значенням за замовчуванням параметри. Оскільки це призначено як " +"одноразовий простий засіб конфігурації, лише перший виклик насправді щось " +"зробить: наступні виклики фактично не виконують жодних операцій." + +msgid "" +"If you run the above script several times, the messages from successive runs " +"are appended to the file *example.log*. If you want each run to start " +"afresh, not remembering the messages from earlier runs, you can specify the " +"*filemode* argument, by changing the call in the above example to::" +msgstr "" +"Якщо ви запустите наведений вище сценарій кілька разів, повідомлення від " +"послідовних запусків буде додано до файлу *example.log*. Якщо ви хочете, щоб " +"кожен запуск починався заново, не запам’ятовуючи повідомлення з попередніх " +"запусків, ви можете вказати аргумент *filemode*, змінивши виклик у прикладі " +"вище на::" + +msgid "" +"The output will be the same as before, but the log file is no longer " +"appended to, so the messages from earlier runs are lost." +msgstr "" +"Результат буде таким же, як і раніше, але файл журналу більше не додається, " +"тому повідомлення від попередніх запусків буде втрачено." + +msgid "Logging from multiple modules" +msgstr "Логування з кількох модулів" + +msgid "" +"If your program consists of multiple modules, here's an example of how you " +"could organize logging in it::" +msgstr "" +"Якщо ваша програма складається з кількох модулів, ось приклад того, як ви " +"можете організувати в ній реєстрацію:" + +msgid "If you run *myapp.py*, you should see this in *myapp.log*:" +msgstr "Якщо ви запускаєте *myapp.py*, ви повинні побачити це в *myapp.log*:" + +msgid "" +"which is hopefully what you were expecting to see. You can generalize this " +"to multiple modules, using the pattern in *mylib.py*. Note that for this " +"simple usage pattern, you won't know, by looking in the log file, *where* in " +"your application your messages came from, apart from looking at the event " +"description. If you want to track the location of your messages, you'll need " +"to refer to the documentation beyond the tutorial level -- see :ref:`logging-" +"advanced-tutorial`." +msgstr "" +"що, сподіваюся, ви очікували побачити. Ви можете узагальнити це на кілька " +"модулів, використовуючи шаблон у *mylib.py*. Зауважте, що для цього простого " +"шаблону використання ви не знатимете, дивлячись у файл журналу, *звідки* у " +"вашій програмі надійшли ваші повідомлення, окрім перегляду опису події. Якщо " +"ви бажаєте відстежувати місцезнаходження своїх повідомлень, вам потрібно " +"буде звернутися до документації за межами навчального рівня – див. :ref:" +"`logging-advanced-tutorial`." + +msgid "Logging variable data" +msgstr "Журналування змінних даних" + +msgid "" +"To log variable data, use a format string for the event description message " +"and append the variable data as arguments. For example::" +msgstr "" +"Щоб зареєструвати змінні дані, використовуйте рядок формату для повідомлення " +"з описом події та додайте змінні дані як аргументи. Наприклад::" + +msgid "will display:" +msgstr "буде відображатися:" + +msgid "" +"As you can see, merging of variable data into the event description message " +"uses the old, %-style of string formatting. This is for backwards " +"compatibility: the logging package pre-dates newer formatting options such " +"as :meth:`str.format` and :class:`string.Template`. These newer formatting " +"options *are* supported, but exploring them is outside the scope of this " +"tutorial: see :ref:`formatting-styles` for more information." +msgstr "" +"Як бачите, об’єднання змінних даних у повідомлення опису події використовує " +"старий, %-style форматування рядків. Це для зворотної сумісності: пакет " +"журналювання передує новішим параметрам форматування, таким як :meth:`str." +"format` і :class:`string.Template`. Ці нові параметри форматування " +"*підтримуються*, але їх вивчення виходить за рамки цього підручника: див. :" +"ref:`formatting-styles` для отримання додаткової інформації." + +msgid "Changing the format of displayed messages" +msgstr "Зміна формату повідомлень, що відображаються" + +msgid "" +"To change the format which is used to display messages, you need to specify " +"the format you want to use::" +msgstr "" +"Щоб змінити формат, який використовується для відображення повідомлень, вам " +"потрібно вказати формат, який ви хочете використовувати:" + +msgid "which would print:" +msgstr "який буде друкувати:" + +msgid "" +"Notice that the 'root' which appeared in earlier examples has disappeared. " +"For a full set of things that can appear in format strings, you can refer to " +"the documentation for :ref:`logrecord-attributes`, but for simple usage, you " +"just need the *levelname* (severity), *message* (event description, " +"including variable data) and perhaps to display when the event occurred. " +"This is described in the next section." +msgstr "" +"Зверніть увагу, що \"корінь\", який з’явився в попередніх прикладах, зник. " +"Щоб отримати повний набір речей, які можуть відображатися в рядках формату, " +"ви можете звернутися до документації для :ref:`logrecord-attributes`, але " +"для простого використання вам потрібні лише *levelname* (серйозність), " +"*message* (подія). опис, включаючи змінні дані) і, можливо, для " +"відображення, коли сталася подія. Це описано в наступному розділі." + +msgid "Displaying the date/time in messages" +msgstr "Відображення дати/часу в повідомленнях" + +msgid "" +"To display the date and time of an event, you would place '%(asctime)s' in " +"your format string::" +msgstr "" +"Щоб відобразити дату й час події, потрібно розмістити \"%(asctime)s\" у " +"рядку формату::" + +msgid "which should print something like this:" +msgstr "який має надрукувати щось на зразок цього:" + +msgid "" +"The default format for date/time display (shown above) is like ISO8601 or :" +"rfc:`3339`. If you need more control over the formatting of the date/time, " +"provide a *datefmt* argument to ``basicConfig``, as in this example::" +msgstr "" +"Формат за замовчуванням для відображення дати/часу (показаний вище) такий, " +"як ISO8601 або :rfc:`3339`. Якщо вам потрібен більший контроль над " +"форматуванням дати/часу, надайте аргумент *datefmt* для ``basicConfig``, як " +"у цьому прикладі::" + +msgid "which would display something like this:" +msgstr "який відображатиме щось на зразок цього:" + +msgid "" +"The format of the *datefmt* argument is the same as supported by :func:`time." +"strftime`." +msgstr "" +"Формат аргументу *datefmt* такий самий, як підтримується :func:`time." +"strftime`." + +msgid "Next Steps" +msgstr "Наступні кроки" + +msgid "" +"That concludes the basic tutorial. It should be enough to get you up and " +"running with logging. There's a lot more that the logging package offers, " +"but to get the best out of it, you'll need to invest a little more of your " +"time in reading the following sections. If you're ready for that, grab some " +"of your favourite beverage and carry on." +msgstr "" +"На цьому основний підручник завершується. Цього має бути достатньо, щоб " +"розпочати роботу з журналюванням. Пакет журналювання пропонує багато іншого, " +"але щоб отримати від нього найкраще, вам потрібно буде витратити трохи " +"більше часу на читання наступних розділів. Якщо ви готові до цього, візьміть " +"свій улюблений напій і продовжуйте." + +msgid "" +"If your logging needs are simple, then use the above examples to incorporate " +"logging into your own scripts, and if you run into problems or don't " +"understand something, please post a question on the comp.lang.python Usenet " +"group (available at https://groups.google.com/forum/#!forum/comp.lang." +"python) and you should receive help before too long." +msgstr "" +"Якщо ваші потреби в журналі прості, скористайтеся наведеними вище " +"прикладами, щоб включити вхід у ваші власні сценарії, і якщо ви зіткнетеся з " +"проблемами або щось не зрозумієте, опублікуйте запитання в групі comp.lang." +"python Usenet (доступна за адресою https ://groups.google.com/forum/#!forum/" +"comp.lang.python), і ви незабаром отримаєте допомогу." + +msgid "" +"Still here? You can carry on reading the next few sections, which provide a " +"slightly more advanced/in-depth tutorial than the basic one above. After " +"that, you can take a look at the :ref:`logging-cookbook`." +msgstr "" +"Досі тут? Ви можете продовжувати читати кілька наступних розділів, які " +"містять дещо більш просунутий/поглиблений підручник, ніж основний вище. " +"Після цього ви можете переглянути :ref:`logging-cookbook`." + +msgid "Advanced Logging Tutorial" +msgstr "Навчальний посібник із розширеного журналювання" + +msgid "" +"The logging library takes a modular approach and offers several categories " +"of components: loggers, handlers, filters, and formatters." +msgstr "" +"Бібліотека журналювання має модульний підхід і пропонує кілька категорій " +"компонентів: журнали, обробники, фільтри та засоби форматування." + +msgid "Loggers expose the interface that application code directly uses." +msgstr "" +"Логери відкривають інтерфейс, який безпосередньо використовує код програми." + +msgid "" +"Handlers send the log records (created by loggers) to the appropriate " +"destination." +msgstr "" +"Обробники надсилають записи журналу (створені реєстраторами) у відповідне " +"місце призначення." + +msgid "" +"Filters provide a finer grained facility for determining which log records " +"to output." +msgstr "" +"Фільтри забезпечують точніші засоби для визначення того, які записи журналу " +"виводити." + +msgid "Formatters specify the layout of log records in the final output." +msgstr "" +"Засоби форматування вказують макет записів журналу в кінцевому виведенні." + +msgid "" +"Log event information is passed between loggers, handlers, filters and " +"formatters in a :class:`LogRecord` instance." +msgstr "" +"Інформація про подію журналу передається між реєстраторами, обробниками, " +"фільтрами та форматувальниками в екземплярі :class:`LogRecord`." + +msgid "" +"Logging is performed by calling methods on instances of the :class:`Logger` " +"class (hereafter called :dfn:`loggers`). Each instance has a name, and they " +"are conceptually arranged in a namespace hierarchy using dots (periods) as " +"separators. For example, a logger named 'scan' is the parent of loggers " +"'scan.text', 'scan.html' and 'scan.pdf'. Logger names can be anything you " +"want, and indicate the area of an application in which a logged message " +"originates." +msgstr "" +"Логування виконується шляхом виклику методів екземплярів класу :class:" +"`Logger` (надалі :dfn:`loggers`). Кожен екземпляр має назву, і вони " +"концептуально впорядковані в ієрархії простору імен із використанням крапок " +"(крапок) як роздільників. Наприклад, реєстратор під назвою \"scan\" є " +"батьківським для реєстраторів \"scan.text\", \"scan.html\" і \"scan.pdf\". " +"Імена реєстратора можуть бути будь-якими, і вони вказують на область " +"програми, з якої походить повідомлення, що реєструється." + +msgid "" +"A good convention to use when naming loggers is to use a module-level " +"logger, in each module which uses logging, named as follows::" +msgstr "" +"Хороша угода для використання під час іменування реєстраторів полягає в " +"тому, щоб використовувати реєстратор на рівні модуля, у кожному модулі, який " +"використовує журналювання, названий таким чином:" + +msgid "" +"This means that logger names track the package/module hierarchy, and it's " +"intuitively obvious where events are logged just from the logger name." +msgstr "" +"Це означає, що імена реєстраторів відстежують ієрархію пакетів/модулів, і " +"інтуїтивно зрозуміло, де події реєструються лише з імені реєстратора." + +msgid "" +"The root of the hierarchy of loggers is called the root logger. That's the " +"logger used by the functions :func:`debug`, :func:`info`, :func:`warning`, :" +"func:`error` and :func:`critical`, which just call the same-named method of " +"the root logger. The functions and the methods have the same signatures. The " +"root logger's name is printed as 'root' in the logged output." +msgstr "" +"Корінь ієрархії реєстраторів називається кореневим реєстратором. Це " +"реєстратор, який використовують функції :func:`debug`, :func:`info`, :func:" +"`warning`, :func:`error` і :func:`critical`, які просто викликають " +"одноіменний метод кореневого реєстратора. Функції та методи мають однакові " +"сигнатури. Ім'я кореневого реєстратора друкується як 'root' у зареєстрованих " +"результатах." + +msgid "" +"It is, of course, possible to log messages to different destinations. " +"Support is included in the package for writing log messages to files, HTTP " +"GET/POST locations, email via SMTP, generic sockets, queues, or OS-specific " +"logging mechanisms such as syslog or the Windows NT event log. Destinations " +"are served by :dfn:`handler` classes. You can create your own log " +"destination class if you have special requirements not met by any of the " +"built-in handler classes." +msgstr "" +"Звичайно, можна записувати повідомлення до різних адресатів. У пакет " +"включено підтримку для запису повідомлень журналу у файли, розташування HTTP " +"GET/POST, електронну пошту через SMTP, загальні сокети, черги або специфічні " +"для ОС механізми журналювання, такі як syslog або журнал подій Windows NT. " +"Пункти призначення обслуговуються класами :dfn:`handler`. Ви можете створити " +"власний клас призначення журналу, якщо у вас є особливі вимоги, яких не " +"задовольняє жоден із вбудованих класів обробки." + +msgid "" +"By default, no destination is set for any logging messages. You can specify " +"a destination (such as console or file) by using :func:`basicConfig` as in " +"the tutorial examples. If you call the functions :func:`debug`, :func:" +"`info`, :func:`warning`, :func:`error` and :func:`critical`, they will check " +"to see if no destination is set; and if one is not set, they will set a " +"destination of the console (``sys.stderr``) and a default format for the " +"displayed message before delegating to the root logger to do the actual " +"message output." +msgstr "" +"За замовчуванням адресат не встановлено для будь-яких повідомлень журналу. " +"Ви можете вказати призначення (наприклад, консоль або файл) за допомогою :" +"func:`basicConfig`, як у прикладах підручника. Якщо ви викликаєте функції :" +"func:`debug`, :func:`info`, :func:`warning`, :func:`error` і :func:" +"`critical`, вони перевірять, чи не встановлено місце призначення ; і якщо " +"його не встановлено, вони встановлять призначення консолі (``sys.stderr``) і " +"формат за замовчуванням для відображеного повідомлення перед делегуванням " +"кореневому реєстратору для фактичного виведення повідомлення." + +msgid "The default format set by :func:`basicConfig` for messages is:" +msgstr "Типовий формат, встановлений :func:`basicConfig` для повідомлень:" + +msgid "" +"You can change this by passing a format string to :func:`basicConfig` with " +"the *format* keyword argument. For all options regarding how a format string " +"is constructed, see :ref:`formatter-objects`." +msgstr "" +"Ви можете змінити це, передавши рядок формату в :func:`basicConfig` з " +"ключовим аргументом *format*. Щоб дізнатися про всі варіанти створення рядка " +"формату, перегляньте :ref:`formatter-objects`." + +msgid "Logging Flow" +msgstr "Потік журналювання" + +msgid "" +"The flow of log event information in loggers and handlers is illustrated in " +"the following diagram." +msgstr "" +"Потік інформації про подію журналу в реєстраторах і обробниках показано на " +"наступній діаграмі." + +msgid "Loggers" +msgstr "Лісоруби" + +msgid "" +":class:`Logger` objects have a threefold job. First, they expose several " +"methods to application code so that applications can log messages at " +"runtime. Second, logger objects determine which log messages to act upon " +"based upon severity (the default filtering facility) or filter objects. " +"Third, logger objects pass along relevant log messages to all interested log " +"handlers." +msgstr "" +"Об’єкти :class:`Logger` виконують потрійну роботу. По-перше, вони надають " +"кілька методів коду програми, щоб програми могли реєструвати повідомлення " +"під час виконання. По-друге, об’єкти реєстратора визначають, з якими " +"повідомленнями журналу діяти, залежно від серйозності (засоби фільтрації за " +"замовчуванням) або об’єктів фільтрації. По-третє, об’єкти журналу передають " +"відповідні повідомлення журналу всім зацікавленим обробникам журналів." + +msgid "" +"The most widely used methods on logger objects fall into two categories: " +"configuration and message sending." +msgstr "" +"Найбільш широко використовувані методи для об’єктів журналу діляться на дві " +"категорії: конфігурація та надсилання повідомлень." + +msgid "These are the most common configuration methods:" +msgstr "Ось найпоширеніші методи налаштування:" + +msgid "" +":meth:`Logger.setLevel` specifies the lowest-severity log message a logger " +"will handle, where debug is the lowest built-in severity level and critical " +"is the highest built-in severity. For example, if the severity level is " +"INFO, the logger will handle only INFO, WARNING, ERROR, and CRITICAL " +"messages and will ignore DEBUG messages." +msgstr "" +":meth:`Logger.setLevel` визначає повідомлення журналу з найнижчим рівнем " +"серйозності, яке обробить реєстратор, де debug — найнижчий вбудований рівень " +"серйозності, а критичний — найвищий вбудований рівень серйозності. " +"Наприклад, якщо рівень серйозності INFO, реєстратор оброблятиме лише " +"повідомлення INFO, WARNING, ERROR і CRITICAL і ігноруватиме повідомлення " +"DEBUG." + +msgid "" +":meth:`Logger.addHandler` and :meth:`Logger.removeHandler` add and remove " +"handler objects from the logger object. Handlers are covered in more detail " +"in :ref:`handler-basic`." +msgstr "" +":meth:`Logger.addHandler` і :meth:`Logger.removeHandler` додають і видаляють " +"об’єкти обробки з об’єкта реєстратора. Обробники описані більш детально в :" +"ref:`handler-basic`." + +msgid "" +":meth:`Logger.addFilter` and :meth:`Logger.removeFilter` add and remove " +"filter objects from the logger object. Filters are covered in more detail " +"in :ref:`filter`." +msgstr "" +":meth:`Logger.addFilter` і :meth:`Logger.removeFilter` додають і видаляють " +"об’єкти фільтрів з об’єкта реєстратора. Фільтри описані більш детально в :" +"ref:`filter`." + +msgid "" +"You don't need to always call these methods on every logger you create. See " +"the last two paragraphs in this section." +msgstr "" +"Вам не потрібно завжди викликати ці методи в кожному створеному вами " +"реєстраторі. Дивіться останні два абзаци цього розділу." + +msgid "" +"With the logger object configured, the following methods create log messages:" +msgstr "" +"Якщо об’єкт журналу налаштовано, такі методи створюють повідомлення журналу:" + +msgid "" +":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:" +"`Logger.error`, and :meth:`Logger.critical` all create log records with a " +"message and a level that corresponds to their respective method names. The " +"message is actually a format string, which may contain the standard string " +"substitution syntax of ``%s``, ``%d``, ``%f``, and so on. The rest of their " +"arguments is a list of objects that correspond with the substitution fields " +"in the message. With regard to ``**kwargs``, the logging methods care only " +"about a keyword of ``exc_info`` and use it to determine whether to log " +"exception information." +msgstr "" +":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:" +"`Logger.error` і :meth:`Logger.critical` створюють записи журналу з " +"повідомлення та рівень, що відповідає їх відповідним назвам методів. " +"Повідомлення фактично є рядком формату, який може містити стандартний " +"синтаксис заміни рядка ``%s``, ``%d``, ``%f`` і так далі. Решта аргументів — " +"це список об’єктів, які відповідають полям підстановки в повідомленні. Щодо " +"``**kwargs``, методи журналювання дбають лише про ключове слово ``exc_info`` " +"і використовують його, щоб визначити, чи потрібно реєструвати інформацію про " +"винятки." + +msgid "" +":meth:`Logger.exception` creates a log message similar to :meth:`Logger." +"error`. The difference is that :meth:`Logger.exception` dumps a stack trace " +"along with it. Call this method only from an exception handler." +msgstr "" +":meth:`Logger.exception` створює повідомлення журналу, подібне до :meth:" +"`Logger.error`. Різниця полягає в тому, що :meth:`Logger.exception` виводить " +"трасування стека разом із ним. Викликайте цей метод лише з обробника " +"винятків." + +msgid "" +":meth:`Logger.log` takes a log level as an explicit argument. This is a " +"little more verbose for logging messages than using the log level " +"convenience methods listed above, but this is how to log at custom log " +"levels." +msgstr "" +":meth:`Logger.log` приймає рівень журналу як явний аргумент. Це трохи " +"докладніше для реєстрації повідомлень, ніж використання зручних методів на " +"рівні журналу, перелічених вище, але це те, як реєструвати на спеціальних " +"рівнях журналу." + +msgid "" +":func:`getLogger` returns a reference to a logger instance with the " +"specified name if it is provided, or ``root`` if not. The names are period-" +"separated hierarchical structures. Multiple calls to :func:`getLogger` with " +"the same name will return a reference to the same logger object. Loggers " +"that are further down in the hierarchical list are children of loggers " +"higher up in the list. For example, given a logger with a name of ``foo``, " +"loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` are all " +"descendants of ``foo``." +msgstr "" +":func:`getLogger` повертає посилання на екземпляр журналу з указаним іменем, " +"якщо воно надано, або ``root``, якщо ні. Назви є ієрархічними структурами, " +"розділеними на періоди. Кілька викликів :func:`getLogger` з однаковою назвою " +"повертатимуть посилання на той самий об’єкт журналу. Реєстратори, " +"розташовані нижче в ієрархічному списку, є нащадками реєстраторів, " +"розташованих вище в списку. Наприклад, якщо задано реєстратор із іменем " +"``foo``, усі реєстратори з іменами ``foo.bar``, ``foo.bar.baz`` і ``foo." +"bam`` є нащадками ``фу``." + +msgid "" +"Loggers have a concept of *effective level*. If a level is not explicitly " +"set on a logger, the level of its parent is used instead as its effective " +"level. If the parent has no explicit level set, *its* parent is examined, " +"and so on - all ancestors are searched until an explicitly set level is " +"found. The root logger always has an explicit level set (``WARNING`` by " +"default). When deciding whether to process an event, the effective level of " +"the logger is used to determine whether the event is passed to the logger's " +"handlers." +msgstr "" +"Лісоруби мають поняття *ефективного рівня*. Якщо рівень не встановлено явно " +"в реєстраторі, рівень його батьківського елемента використовується замість " +"цього як ефективний рівень. Якщо батьківський елемент не має явно " +"встановленого рівня, перевіряється *його* батьківський елемент, і так далі - " +"шукаються всі предки, доки не буде знайдено явно встановлений рівень. " +"Кореневий реєстратор завжди має чітко встановлений рівень (``ПОПЕРЕДЖЕННЯ`` " +"за замовчуванням). При прийнятті рішення про обробку події ефективний рівень " +"реєстратора використовується для визначення того, чи подія передається " +"обробникам реєстратора." + +msgid "" +"Child loggers propagate messages up to the handlers associated with their " +"ancestor loggers. Because of this, it is unnecessary to define and configure " +"handlers for all the loggers an application uses. It is sufficient to " +"configure handlers for a top-level logger and create child loggers as " +"needed. (You can, however, turn off propagation by setting the *propagate* " +"attribute of a logger to ``False``.)" +msgstr "" +"Дочірні реєстратори поширюють повідомлення до обробників, пов’язаних із " +"їхніми попередніми реєстраторами. Через це немає необхідності визначати та " +"налаштовувати обробники для всіх реєстраторів, які використовує програма. " +"Достатньо налаштувати обробники для реєстратора верхнього рівня та створити " +"дочірні реєстратори за потреби. (Проте ви можете вимкнути розповсюдження, " +"встановивши для атрибута *propagate* реєстратора значення ``False``.)" + +msgid "Handlers" +msgstr "Обробники" + +msgid "" +":class:`~logging.Handler` objects are responsible for dispatching the " +"appropriate log messages (based on the log messages' severity) to the " +"handler's specified destination. :class:`Logger` objects can add zero or " +"more handler objects to themselves with an :meth:`~Logger.addHandler` " +"method. As an example scenario, an application may want to send all log " +"messages to a log file, all log messages of error or higher to stdout, and " +"all messages of critical to an email address. This scenario requires three " +"individual handlers where each handler is responsible for sending messages " +"of a specific severity to a specific location." +msgstr "" +"Об’єкти :class:`~logging.Handler` відповідають за надсилання відповідних " +"повідомлень журналу (залежно від серйозності повідомлень журналу) до " +"вказаного призначення обробника. Об’єкти :class:`Logger` можуть додавати до " +"себе нуль або більше об’єктів обробки за допомогою методу :meth:`~Logger." +"addHandler`. Як приклад сценарію, програма може захотіти надіслати всі " +"повідомлення журналу до файлу журналу, усі повідомлення журналу про помилку " +"або вище до stdout, а всі критичні повідомлення на адресу електронної пошти. " +"Цей сценарій потребує трьох окремих обробників, де кожен обробник відповідає " +"за надсилання повідомлень певного рівня серйозності в певне місце." + +msgid "" +"The standard library includes quite a few handler types (see :ref:`useful-" +"handlers`); the tutorials use mainly :class:`StreamHandler` and :class:" +"`FileHandler` in its examples." +msgstr "" +"Стандартна бібліотека включає досить багато типів обробників (див. :ref:" +"`useful-handlers`); навчальні посібники в основному використовують :class:" +"`StreamHandler` і :class:`FileHandler` у своїх прикладах." + +msgid "" +"There are very few methods in a handler for application developers to " +"concern themselves with. The only handler methods that seem relevant for " +"application developers who are using the built-in handler objects (that is, " +"not creating custom handlers) are the following configuration methods:" +msgstr "" +"У обробнику дуже мало методів, якими можуть зайнятися розробники програм. " +"Єдиними методами обробки, які здаються актуальними для розробників додатків, " +"які використовують вбудовані об’єкти обробки (тобто не створюють спеціальні " +"обробники), є такі методи конфігурації:" + +msgid "" +"The :meth:`~Handler.setLevel` method, just as in logger objects, specifies " +"the lowest severity that will be dispatched to the appropriate destination. " +"Why are there two :func:`setLevel` methods? The level set in the logger " +"determines which severity of messages it will pass to its handlers. The " +"level set in each handler determines which messages that handler will send " +"on." +msgstr "" +"Метод :meth:`~Handler.setLevel`, як і в об’єктах реєстратора, визначає " +"найнижчий рівень серйозності, який буде відправлено до відповідного пункту " +"призначення. Чому існує два методи :func:`setLevel`? Рівень, встановлений у " +"реєстраторі, визначає, яку серйозність повідомлень він передаватиме своїм " +"обробникам. Рівень, встановлений у кожному обробнику, визначає, які " +"повідомлення цей обробник надсилатиме." + +msgid "" +":meth:`~Handler.setFormatter` selects a Formatter object for this handler to " +"use." +msgstr "" +":meth:`~Handler.setFormatter` вибирає об’єкт Formatter для використання цим " +"обробником." + +msgid "" +":meth:`~Handler.addFilter` and :meth:`~Handler.removeFilter` respectively " +"configure and deconfigure filter objects on handlers." +msgstr "" +":meth:`~Handler.addFilter` і :meth:`~Handler.removeFilter` відповідно " +"налаштовують і деконфігурують об’єкти фільтрів на обробниках." + +msgid "" +"Application code should not directly instantiate and use instances of :class:" +"`Handler`. Instead, the :class:`Handler` class is a base class that defines " +"the interface that all handlers should have and establishes some default " +"behavior that child classes can use (or override)." +msgstr "" +"Код програми не повинен безпосередньо створювати та використовувати " +"екземпляри :class:`Handler`. Натомість клас :class:`Handler` є базовим " +"класом, який визначає інтерфейс, який повинні мати всі обробники, і " +"встановлює певну поведінку за замовчуванням, яку дочірні класи можуть " +"використовувати (або замінювати)." + +msgid "Formatters" +msgstr "Форматери" + +msgid "" +"Formatter objects configure the final order, structure, and contents of the " +"log message. Unlike the base :class:`logging.Handler` class, application " +"code may instantiate formatter classes, although you could likely subclass " +"the formatter if your application needs special behavior. The constructor " +"takes three optional arguments -- a message format string, a date format " +"string and a style indicator." +msgstr "" +"Об’єкти форматувальника налаштовують остаточний порядок, структуру та вміст " +"повідомлення журналу. На відміну від базового класу :class:`logging." +"Handler`, код програми може створювати екземпляри класів форматера, хоча ви, " +"ймовірно, можете створити підкласи форматера, якщо ваша програма потребує " +"особливої поведінки. Конструктор приймає три необов'язкові аргументи - рядок " +"формату повідомлення, рядок формату дати та індикатор стилю." + +msgid "" +"If there is no message format string, the default is to use the raw " +"message. If there is no date format string, the default date format is:" +msgstr "" +"Якщо рядок формату повідомлення відсутній, за умовчанням використовується " +"необроблене повідомлення. Якщо рядок формату дати відсутній, стандартний " +"формат дати:" + +msgid "" +"with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``, " +"``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be " +"used." +msgstr "" + +msgid "" +"If the ``style`` is ``'%'``, the message format string uses ``%()s`` styled string substitution; the possible keys are documented in :" +"ref:`logrecord-attributes`. If the style is ``'{'``, the message format " +"string is assumed to be compatible with :meth:`str.format` (using keyword " +"arguments), while if the style is ``'$'`` then the message format string " +"should conform to what is expected by :meth:`string.Template.substitute`." +msgstr "" + +msgid "Added the ``style`` parameter." +msgstr "Додано параметр ``style``." + +msgid "" +"The following message format string will log the time in a human-readable " +"format, the severity of the message, and the contents of the message, in " +"that order::" +msgstr "" +"Наступний рядок формату повідомлення реєструватиме час у зрозумілому для " +"людини форматі, серйозність повідомлення та вміст повідомлення в такому " +"порядку:" + +msgid "" +"Formatters use a user-configurable function to convert the creation time of " +"a record to a tuple. By default, :func:`time.localtime` is used; to change " +"this for a particular formatter instance, set the ``converter`` attribute of " +"the instance to a function with the same signature as :func:`time.localtime` " +"or :func:`time.gmtime`. To change it for all formatters, for example if you " +"want all logging times to be shown in GMT, set the ``converter`` attribute " +"in the Formatter class (to ``time.gmtime`` for GMT display)." +msgstr "" +"Форматери використовують настроювану користувачем функцію для перетворення " +"часу створення запису в кортеж. За замовчуванням використовується :func:" +"`time.localtime`; щоб змінити це для певного екземпляра форматера, " +"установіть атрибут ``converter`` екземпляра на функцію з тим самим підписом, " +"що й :func:`time.localtime` або :func:`time.gmtime`. Щоб змінити його для " +"всіх засобів форматування, наприклад, якщо ви хочете, щоб усі часи " +"журналювання відображалися за GMT, установіть атрибут ``converter`` у класі " +"Formatter (на ``time.gmtime`` для відображення GMT)." + +msgid "Configuring Logging" +msgstr "Налаштування журналювання" + +msgid "Programmers can configure logging in three ways:" +msgstr "Програмісти можуть налаштувати журналювання трьома способами:" + +msgid "" +"Creating loggers, handlers, and formatters explicitly using Python code that " +"calls the configuration methods listed above." +msgstr "" +"Створення реєстраторів, обробників і форматувальників явно за допомогою коду " +"Python, який викликає перелічені вище методи конфігурації." + +msgid "" +"Creating a logging config file and reading it using the :func:`fileConfig` " +"function." +msgstr "" +"Створення файлу конфігурації журналу та його читання за допомогою функції :" +"func:`fileConfig`." + +msgid "" +"Creating a dictionary of configuration information and passing it to the :" +"func:`dictConfig` function." +msgstr "" +"Створення словника конфігураційної інформації та передача його функції :func:" +"`dictConfig`." + +msgid "" +"For the reference documentation on the last two options, see :ref:`logging-" +"config-api`. The following example configures a very simple logger, a " +"console handler, and a simple formatter using Python code::" +msgstr "" +"Довідкову документацію щодо останніх двох параметрів див. :ref:`logging-" +"config-api`. У наступному прикладі налаштовується дуже простий реєстратор, " +"обробник консолі та простий засіб форматування за допомогою коду Python::" + +msgid "" +"Running this module from the command line produces the following output:" +msgstr "Запуск цього модуля з командного рядка дає такий результат:" + +msgid "" +"The following Python module creates a logger, handler, and formatter nearly " +"identical to those in the example listed above, with the only difference " +"being the names of the objects::" +msgstr "" +"Наступний модуль Python створює реєстратор, обробник і форматування, майже " +"ідентичні тим, що в наведеному вище прикладі, з тією лише різницею, як імена " +"об’єктів:" + +msgid "Here is the logging.conf file:" +msgstr "Ось файл logging.conf:" + +msgid "" +"The output is nearly identical to that of the non-config-file-based example:" +msgstr "Результат майже ідентичний прикладу без конфігураційного файлу:" + +msgid "" +"You can see that the config file approach has a few advantages over the " +"Python code approach, mainly separation of configuration and code and the " +"ability of noncoders to easily modify the logging properties." +msgstr "" +"Ви бачите, що підхід із конфігураційним файлом має кілька переваг перед " +"підходом до коду Python, головним чином розділення конфігурації та коду та " +"можливість некодерів легко змінювати властивості журналювання." + +msgid "" +"The :func:`fileConfig` function takes a default parameter, " +"``disable_existing_loggers``, which defaults to ``True`` for reasons of " +"backward compatibility. This may or may not be what you want, since it will " +"cause any non-root loggers existing before the :func:`fileConfig` call to be " +"disabled unless they (or an ancestor) are explicitly named in the " +"configuration. Please refer to the reference documentation for more " +"information, and specify ``False`` for this parameter if you wish." +msgstr "" +"Функція :func:`fileConfig` приймає параметр за замовчуванням, " +"``disable_existing_loggers``, який за умовчанням має значення ``True`` з " +"причин зворотної сумісності. Це може бути або не те, що ви хочете, оскільки " +"це призведе до вимкнення будь-яких некореневих реєстраторів, які існують до " +"виклику :func:`fileConfig`, якщо вони (або предок) явно не вказані в " +"конфігурації. Будь ласка, зверніться до довідкової документації для " +"отримання додаткової інформації та вкажіть ``False`` для цього параметра, " +"якщо хочете." + +msgid "" +"The dictionary passed to :func:`dictConfig` can also specify a Boolean value " +"with key ``disable_existing_loggers``, which if not specified explicitly in " +"the dictionary also defaults to being interpreted as ``True``. This leads to " +"the logger-disabling behaviour described above, which may not be what you " +"want - in which case, provide the key explicitly with a value of ``False``." +msgstr "" +"Словник, переданий у :func:`dictConfig`, також може вказати логічне значення " +"з ключем ``disable_existing_loggers``, яке, якщо не вказано явно в словнику, " +"також за умовчанням інтерпретується як ``True``. Це призводить до поведінки " +"вимкнення реєстратора, описаної вище, яка може не відповідати вашим " +"побажанням - у такому випадку вкажіть ключ явно зі значенням ``False``." + +msgid "" +"Note that the class names referenced in config files need to be either " +"relative to the logging module, or absolute values which can be resolved " +"using normal import mechanisms. Thus, you could use either :class:`~logging." +"handlers.WatchedFileHandler` (relative to the logging module) or ``mypackage." +"mymodule.MyHandler`` (for a class defined in package ``mypackage`` and " +"module ``mymodule``, where ``mypackage`` is available on the Python import " +"path)." +msgstr "" +"Зауважте, що назви класів, на які посилаються у конфігураційних файлах, " +"мають бути або відносними до модуля журналювання, або абсолютними " +"значеннями, які можна вирішити за допомогою звичайних механізмів імпорту. " +"Таким чином, ви можете використовувати :class:`~logging.handlers." +"WatchedFileHandler` (щодо модуля журналювання) або ``mypackage.mymodule." +"MyHandler`` (для класу, визначеного в пакунку ``mypackage`` і модулі " +"``mymodule``, де ``mypackage`` доступний на шляху імпорту Python)." + +msgid "" +"In Python 3.2, a new means of configuring logging has been introduced, using " +"dictionaries to hold configuration information. This provides a superset of " +"the functionality of the config-file-based approach outlined above, and is " +"the recommended configuration method for new applications and deployments. " +"Because a Python dictionary is used to hold configuration information, and " +"since you can populate that dictionary using different means, you have more " +"options for configuration. For example, you can use a configuration file in " +"JSON format, or, if you have access to YAML processing functionality, a file " +"in YAML format, to populate the configuration dictionary. Or, of course, you " +"can construct the dictionary in Python code, receive it in pickled form over " +"a socket, or use whatever approach makes sense for your application." +msgstr "" +"У Python 3.2 було введено новий засіб конфігурації журналювання, " +"використовуючи словники для зберігання конфігураційної інформації. Це " +"забезпечує надмножину функціональних можливостей підходу на основі " +"конфігураційного файлу, описаного вище, і є рекомендованим методом " +"конфігурації для нових програм і розгортань. Оскільки словник Python " +"використовується для зберігання конфігураційної інформації, і оскільки ви " +"можете заповнювати цей словник різними засобами, у вас є більше можливостей " +"для конфігурації. Наприклад, ви можете використовувати файл конфігурації у " +"форматі JSON або, якщо у вас є доступ до функцій обробки YAML, файл у " +"форматі YAML, щоб заповнити словник конфігурації. Або, звісно, ви можете " +"побудувати словник у коді Python, отримати його в маринованому вигляді через " +"сокет або використати будь-який підхід, який має сенс для вашої програми." + +msgid "" +"Here's an example of the same configuration as above, in YAML format for the " +"new dictionary-based approach:" +msgstr "" +"Ось приклад тієї ж конфігурації, що й вище, у форматі YAML для нового " +"підходу на основі словника:" + +msgid "" +"For more information about logging using a dictionary, see :ref:`logging-" +"config-api`." +msgstr "" +"Для отримання додаткової інформації про журналювання за допомогою словника " +"див. :ref:`logging-config-api`." + +msgid "What happens if no configuration is provided" +msgstr "Що станеться, якщо конфігурацію не надано" + +msgid "" +"If no logging configuration is provided, it is possible to have a situation " +"where a logging event needs to be output, but no handlers can be found to " +"output the event. The behaviour of the logging package in these " +"circumstances is dependent on the Python version." +msgstr "" +"Якщо конфігурація журналювання не надається, можлива ситуація, коли потрібно " +"вивести подію журналювання, але не можна знайти обробників для виведення " +"події. Поведінка пакета журналювання в цих обставинах залежить від версії " +"Python." + +msgid "For versions of Python prior to 3.2, the behaviour is as follows:" +msgstr "Для версій Python до 3.2 поведінка така:" + +msgid "" +"If *logging.raiseExceptions* is ``False`` (production mode), the event is " +"silently dropped." +msgstr "" +"Якщо *logging.raiseExceptions* має значення ``False`` (виробничий режим), " +"подія мовчки видаляється." + +msgid "" +"If *logging.raiseExceptions* is ``True`` (development mode), a message 'No " +"handlers could be found for logger X.Y.Z' is printed once." +msgstr "" +"Якщо *logging.raiseExceptions* має значення ``True`` (режим розробки), " +"повідомлення \"Не вдалося знайти обробників для реєстратора X.Y.Z\" " +"друкується один раз." + +msgid "In Python 3.2 and later, the behaviour is as follows:" +msgstr "У Python 3.2 і пізніших версіях поведінка така:" + +msgid "" +"The event is output using a 'handler of last resort', stored in ``logging." +"lastResort``. This internal handler is not associated with any logger, and " +"acts like a :class:`~logging.StreamHandler` which writes the event " +"description message to the current value of ``sys.stderr`` (therefore " +"respecting any redirections which may be in effect). No formatting is done " +"on the message - just the bare event description message is printed. The " +"handler's level is set to ``WARNING``, so all events at this and greater " +"severities will be output." +msgstr "" +"Подія виводиться за допомогою \"обробника останньої можливості\", який " +"зберігається в ``logging.lastResort``. Цей внутрішній обробник не пов’язаний " +"із жодним реєстратором і діє як :class:`~logging.StreamHandler`, який " +"записує повідомлення з описом події до поточного значення ``sys.stderr`` " +"(отже враховуючи будь-які перенаправлення, які можуть бути в ефект). " +"Повідомлення не форматується – друкується лише повідомлення з описом події. " +"Рівень обробника встановлено на ``ПОПЕРЕДЖЕННЯ``, тому всі події з цим і " +"вищими рівнями серйозності будуть виведені." + +msgid "" +"To obtain the pre-3.2 behaviour, ``logging.lastResort`` can be set to " +"``None``." +msgstr "" +"Щоб отримати поведінку до 3.2, ``logging.lastResort`` можна встановити на " +"``None``." + +msgid "Configuring Logging for a Library" +msgstr "Налаштування журналювання для бібліотеки" + +msgid "" +"When developing a library which uses logging, you should take care to " +"document how the library uses logging - for example, the names of loggers " +"used. Some consideration also needs to be given to its logging " +"configuration. If the using application does not use logging, and library " +"code makes logging calls, then (as described in the previous section) events " +"of severity ``WARNING`` and greater will be printed to ``sys.stderr``. This " +"is regarded as the best default behaviour." +msgstr "" +"Розробляючи бібліотеку, яка використовує журналювання, ви повинні подбати " +"про документування того, як бібліотека використовує журналювання - " +"наприклад, імена використовуваних журналів. Певну увагу також слід приділити " +"його конфігурації журналювання. Якщо програма, що використовує, не " +"використовує журналювання, а код бібліотеки здійснює виклики журналювання, " +"тоді (як описано в попередньому розділі) події серйозності ``ПОПЕРЕДЖЕННЯ`` " +"і вище будуть надруковані в ``sys.stderr``. Це вважається найкращою " +"поведінкою за умовчанням." + +msgid "" +"If for some reason you *don't* want these messages printed in the absence of " +"any logging configuration, you can attach a do-nothing handler to the top-" +"level logger for your library. This avoids the message being printed, since " +"a handler will always be found for the library's events: it just doesn't " +"produce any output. If the library user configures logging for application " +"use, presumably that configuration will add some handlers, and if levels are " +"suitably configured then logging calls made in library code will send output " +"to those handlers, as normal." +msgstr "" +"Якщо з якоїсь причини ви *не* хочете, щоб ці повідомлення друкувались за " +"відсутності будь-якої конфігурації журналювання, ви можете приєднати " +"обробник нічого не робити до реєстратора верхнього рівня для вашої " +"бібліотеки. Це дозволяє уникнути друку повідомлення, оскільки для подій " +"бібліотеки завжди буде знайдено обробник: він просто не створює жодних " +"виводів. Якщо користувач бібліотеки налаштовує журналювання для використання " +"програмою, імовірно, ця конфігурація додасть деякі обробники, і якщо рівні " +"налаштовано відповідним чином, виклики журналювання, зроблені в коді " +"бібліотеки, надсилатимуть вихідні дані цим обробникам, як зазвичай." + +msgid "" +"A do-nothing handler is included in the logging package: :class:`~logging." +"NullHandler` (since Python 3.1). An instance of this handler could be added " +"to the top-level logger of the logging namespace used by the library (*if* " +"you want to prevent your library's logged events being output to ``sys." +"stderr`` in the absence of logging configuration). If all logging by a " +"library *foo* is done using loggers with names matching 'foo.x', 'foo.x.y', " +"etc. then the code::" +msgstr "" +"Обробник нічого не робиться включено в пакет журналювання: :class:`~logging." +"NullHandler` (починаючи з Python 3.1). Екземпляр цього обробника можна " +"додати до реєстратора верхнього рівня простору імен журналювання, який " +"використовується бібліотекою (*якщо* ви хочете запобігти виведенню " +"зареєстрованих у бібліотеці подій у ``sys.stderr`` за відсутності " +"конфігурації журналювання ). Якщо все журналювання бібліотекою *foo* " +"здійснюється за допомогою реєстраторів з іменами, що відповідають \"foo.x\", " +"\"foo.x.y\" тощо, тоді код::" + +msgid "" +"should have the desired effect. If an organisation produces a number of " +"libraries, then the logger name specified can be 'orgname.foo' rather than " +"just 'foo'." +msgstr "" +"має мати бажаний ефект. Якщо організація виробляє декілька бібліотек, то " +"ім’я реєстратора може бути \"orgname.foo\", а не просто \"foo\"." + +msgid "" +"It is strongly advised that you *do not log to the root logger* in your " +"library. Instead, use a logger with a unique and easily identifiable name, " +"such as the ``__name__`` for your library's top-level package or module. " +"Logging to the root logger will make it difficult or impossible for the " +"application developer to configure the logging verbosity or handlers of your " +"library as they wish." +msgstr "" + +msgid "" +"It is strongly advised that you *do not add any handlers other than* :class:" +"`~logging.NullHandler` *to your library's loggers*. This is because the " +"configuration of handlers is the prerogative of the application developer " +"who uses your library. The application developer knows their target audience " +"and what handlers are most appropriate for their application: if you add " +"handlers 'under the hood', you might well interfere with their ability to " +"carry out unit tests and deliver logs which suit their requirements." +msgstr "" +"Настійно рекомендується *не додавати жодних обробників, окрім* :class:" +"`~logging.NullHandler` *до реєстраторів вашої бібліотеки*. Це пояснюється " +"тим, що конфігурація обробників є прерогативою розробника програми, який " +"використовує вашу бібліотеку. Розробник програми знає свою цільову аудиторію " +"та знає, які обробники найбільше підходять для їхньої програми: якщо ви " +"додасте обробники \"під капотом\", ви цілком можете втрутитися в їх " +"здатність виконувати модульні тести та доставляти журнали, які відповідають " +"їхнім вимогам." + +msgid "Logging Levels" +msgstr "Рівні реєстрації" + +msgid "" +"The numeric values of logging levels are given in the following table. These " +"are primarily of interest if you want to define your own levels, and need " +"them to have specific values relative to the predefined levels. If you " +"define a level with the same numeric value, it overwrites the predefined " +"value; the predefined name is lost." +msgstr "" +"Числові значення рівнів журналювання наведені в наступній таблиці. Це " +"насамперед цікаво, якщо ви бажаєте визначити власні рівні та потребуєте, щоб " +"вони мали певні значення відносно попередньо визначених рівнів. Якщо ви " +"визначаєте рівень з тим самим числовим значенням, він перезаписує попередньо " +"визначене значення; попередньо визначене ім'я втрачено." + +msgid "Numeric value" +msgstr "Числове значення" + +msgid "50" +msgstr "50" + +msgid "40" +msgstr "40" + +msgid "30" +msgstr "30" + +msgid "20" +msgstr "20" + +msgid "10" +msgstr "10" + +msgid "``NOTSET``" +msgstr "``NOTSET``" + +msgid "0" +msgstr "0" + +msgid "" +"Levels can also be associated with loggers, being set either by the " +"developer or through loading a saved logging configuration. When a logging " +"method is called on a logger, the logger compares its own level with the " +"level associated with the method call. If the logger's level is higher than " +"the method call's, no logging message is actually generated. This is the " +"basic mechanism controlling the verbosity of logging output." +msgstr "" +"Рівні також можуть бути пов’язані з реєстраторами, які встановлюються " +"розробником або через завантаження збереженої конфігурації журналювання. " +"Коли в реєстраторі викликається метод ведення журналу, реєстратор порівнює " +"свій власний рівень із рівнем, пов’язаним із викликом методу. Якщо рівень " +"реєстратора вищий, ніж виклик методу, повідомлення журналу фактично не " +"генерується. Це основний механізм, який контролює докладність вихідних даних " +"журналу." + +msgid "" +"Logging messages are encoded as instances of the :class:`~logging.LogRecord` " +"class. When a logger decides to actually log an event, a :class:`~logging." +"LogRecord` instance is created from the logging message." +msgstr "" +"Повідомлення журналу кодуються як екземпляри класу :class:`~logging." +"LogRecord`. Коли реєстратор вирішує фактично зареєструвати подію, екземпляр :" +"class:`~logging.LogRecord` створюється з повідомлення журналу." + +msgid "" +"Logging messages are subjected to a dispatch mechanism through the use of :" +"dfn:`handlers`, which are instances of subclasses of the :class:`Handler` " +"class. Handlers are responsible for ensuring that a logged message (in the " +"form of a :class:`LogRecord`) ends up in a particular location (or set of " +"locations) which is useful for the target audience for that message (such as " +"end users, support desk staff, system administrators, developers). Handlers " +"are passed :class:`LogRecord` instances intended for particular " +"destinations. Each logger can have zero, one or more handlers associated " +"with it (via the :meth:`~Logger.addHandler` method of :class:`Logger`). In " +"addition to any handlers directly associated with a logger, *all handlers " +"associated with all ancestors of the logger* are called to dispatch the " +"message (unless the *propagate* flag for a logger is set to a false value, " +"at which point the passing to ancestor handlers stops)." +msgstr "" +"Повідомлення журналювання підлягають механізму відправлення за допомогою :" +"dfn:`handlers`, які є екземплярами підкласів класу :class:`Handler`. " +"Обробники відповідають за те, щоб зареєстроване повідомлення (у формі :class:" +"`LogRecord`) потрапляло в певне місце (або набір місць), яке є корисним для " +"цільової аудиторії цього повідомлення (наприклад, кінцевих користувачів, " +"співробітники служби підтримки, системні адміністратори, розробники). " +"Обробники передають екземпляри :class:`LogRecord`, призначені для певних " +"місць призначення. Кожен реєстратор може мати нуль, один або більше " +"пов’язаних з ним обробників (через метод :meth:`~Logger.addHandler` :class:" +"`Logger`). На додаток до будь-яких обробників, безпосередньо пов’язаних із " +"реєстратором, *усі обробники, пов’язані з усіма предками реєстратора* " +"викликаються для надсилання повідомлення (якщо прапор *розповсюдження* для " +"реєстратора не має значення false, після чого передача до обробників предків " +"зупиняється)." + +msgid "" +"Just as for loggers, handlers can have levels associated with them. A " +"handler's level acts as a filter in the same way as a logger's level does. " +"If a handler decides to actually dispatch an event, the :meth:`~Handler." +"emit` method is used to send the message to its destination. Most user-" +"defined subclasses of :class:`Handler` will need to override this :meth:" +"`~Handler.emit`." +msgstr "" +"Як і для реєстраторів, обробники можуть мати пов’язані з ними рівні. Рівень " +"обробника діє як фільтр так само, як і рівень реєстратора. Якщо обробник " +"вирішує фактично відправити подію, метод :meth:`~Handler.emit` " +"використовується для надсилання повідомлення до місця призначення. Більшість " +"визначених користувачем підкласів :class:`Handler` повинні замінити цей :" +"meth:`~Handler.emit`." + +msgid "Custom Levels" +msgstr "Спеціальні рівні" + +msgid "" +"Defining your own levels is possible, but should not be necessary, as the " +"existing levels have been chosen on the basis of practical experience. " +"However, if you are convinced that you need custom levels, great care should " +"be exercised when doing this, and it is possibly *a very bad idea to define " +"custom levels if you are developing a library*. That's because if multiple " +"library authors all define their own custom levels, there is a chance that " +"the logging output from such multiple libraries used together will be " +"difficult for the using developer to control and/or interpret, because a " +"given numeric value might mean different things for different libraries." +msgstr "" +"Визначення власних рівнів можливо, але це не обов’язково, оскільки існуючі " +"рівні було обрано на основі практичного досвіду. Однак, якщо ви впевнені, що " +"вам потрібні користувацькі рівні, слід бути дуже обережним, роблячи це, і " +"це, можливо, *дуже погана ідея визначати користувацькі рівні, якщо ви " +"розробляєте бібліотеку*. Це тому, що якщо кілька авторів бібліотек " +"визначають власні власні рівні, існує ймовірність того, що вихід журналу з " +"таких кількох бібліотек, які використовуються разом, розробнику буде важко " +"контролювати та/або інтерпретувати, оскільки дане числове значення може " +"означати різні речі для різних бібліотек." + +msgid "Useful Handlers" +msgstr "Корисні обробники" + +msgid "" +"In addition to the base :class:`Handler` class, many useful subclasses are " +"provided:" +msgstr "" +"Окрім базового класу :class:`Handler`, надається багато корисних підкласів:" + +msgid "" +":class:`StreamHandler` instances send messages to streams (file-like " +"objects)." +msgstr "" +"Екземпляри :class:`StreamHandler` надсилають повідомлення до потоків " +"(файлоподібних об’єктів)." + +msgid ":class:`FileHandler` instances send messages to disk files." +msgstr "" +"Екземпляри :class:`FileHandler` надсилають повідомлення до файлів на диску." + +msgid "" +":class:`~handlers.BaseRotatingHandler` is the base class for handlers that " +"rotate log files at a certain point. It is not meant to be instantiated " +"directly. Instead, use :class:`~handlers.RotatingFileHandler` or :class:" +"`~handlers.TimedRotatingFileHandler`." +msgstr "" +":class:`~handlers.BaseRotatingHandler` — це базовий клас для обробників, які " +"обертають файли журналів у певний момент. Він не призначений для " +"безпосереднього створення екземпляра. Замість цього використовуйте :class:" +"`~handlers.RotatingFileHandler` або :class:`~handlers." +"TimedRotatingFileHandler`." + +msgid "" +":class:`~handlers.RotatingFileHandler` instances send messages to disk " +"files, with support for maximum log file sizes and log file rotation." +msgstr "" +"Екземпляри :class:`~handlers.RotatingFileHandler` надсилають повідомлення до " +"файлів на диску з підтримкою максимального розміру файлу журналу та ротації " +"файлів журналу." + +msgid "" +":class:`~handlers.TimedRotatingFileHandler` instances send messages to disk " +"files, rotating the log file at certain timed intervals." +msgstr "" +":class:`~handlers.TimedRotatingFileHandler` екземпляри надсилають " +"повідомлення до дискових файлів, чергуючи файл журналу через певні проміжки " +"часу." + +msgid "" +":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. " +"Since 3.4, Unix domain sockets are also supported." +msgstr "" +"Екземпляри :class:`~handlers.SocketHandler` надсилають повідомлення до " +"сокетів TCP/IP. Починаючи з версії 3.4, також підтримуються доменні сокети " +"Unix." + +msgid "" +":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. " +"Since 3.4, Unix domain sockets are also supported." +msgstr "" +"Екземпляри :class:`~handlers.DatagramHandler` надсилають повідомлення до UDP-" +"сокетів. Починаючи з версії 3.4, також підтримуються доменні сокети Unix." + +msgid "" +":class:`~handlers.SMTPHandler` instances send messages to a designated email " +"address." +msgstr "" +"Екземпляри :class:`~handlers.SMTPHandler` надсилають повідомлення на вказану " +"електронну адресу." + +msgid "" +":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog " +"daemon, possibly on a remote machine." +msgstr "" +"Екземпляри :class:`~handlers.SysLogHandler` надсилають повідомлення до " +"демона системного журналу Unix, можливо, на віддаленій машині." + +msgid "" +":class:`~handlers.NTEventLogHandler` instances send messages to a Windows " +"NT/2000/XP event log." +msgstr "" +"Екземпляри :class:`~handlers.NTEventLogHandler` надсилають повідомлення до " +"журналу подій Windows NT/2000/XP." + +msgid "" +":class:`~handlers.MemoryHandler` instances send messages to a buffer in " +"memory, which is flushed whenever specific criteria are met." +msgstr "" +"Екземпляри :class:`~handlers.MemoryHandler` надсилають повідомлення до " +"буфера в пам’яті, який очищається щоразу, коли виконуються певні критерії." + +msgid "" +":class:`~handlers.HTTPHandler` instances send messages to an HTTP server " +"using either ``GET`` or ``POST`` semantics." +msgstr "" +"Екземпляри :class:`~handlers.HTTPHandler` надсилають повідомлення на сервер " +"HTTP, використовуючи семантику ``GET`` або ``POST``." + +msgid "" +":class:`~handlers.WatchedFileHandler` instances watch the file they are " +"logging to. If the file changes, it is closed and reopened using the file " +"name. This handler is only useful on Unix-like systems; Windows does not " +"support the underlying mechanism used." +msgstr "" +"Екземпляри :class:`~handlers.WatchedFileHandler` спостерігають за файлом, до " +"якого вони входять. Якщо файл змінюється, він закривається та знову " +"відкривається з використанням імені файлу. Цей обробник корисний лише в Unix-" +"подібних системах; Windows не підтримує використовуваний основний механізм." + +msgid "" +":class:`~handlers.QueueHandler` instances send messages to a queue, such as " +"those implemented in the :mod:`queue` or :mod:`multiprocessing` modules." +msgstr "" +"Екземпляри :class:`~handlers.QueueHandler` надсилають повідомлення до черги, " +"як-от реалізовані в модулях :mod:`queue` або :mod:`multiprocessing`." + +msgid "" +":class:`NullHandler` instances do nothing with error messages. They are used " +"by library developers who want to use logging, but want to avoid the 'No " +"handlers could be found for logger XXX' message which can be displayed if " +"the library user has not configured logging. See :ref:`library-config` for " +"more information." +msgstr "" +"Екземпляри :class:`NullHandler` нічого не роблять із повідомленнями про " +"помилки. Вони використовуються розробниками бібліотек, які хочуть " +"використовувати журналювання, але хочуть уникнути повідомлення \"Немає " +"обробників для журналу XXX\", яке може відображатися, якщо користувач " +"бібліотеки не налаштував журналювання. Перегляньте :ref:`library-config` для " +"отримання додаткової інформації." + +msgid "The :class:`NullHandler` class." +msgstr "Клас :class:`NullHandler`." + +msgid "The :class:`~handlers.QueueHandler` class." +msgstr "Клас :class:`~handlers.QueueHandler`." + +msgid "" +"The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` " +"classes are defined in the core logging package. The other handlers are " +"defined in a sub-module, :mod:`logging.handlers`. (There is also another sub-" +"module, :mod:`logging.config`, for configuration functionality.)" +msgstr "" +"Класи :class:`NullHandler`, :class:`StreamHandler` і :class:`FileHandler` " +"визначені в базовому пакеті журналювання. Інші обробники визначені в " +"підмодулі :mod:`logging.handlers`. (Існує також інший підмодуль, :mod:" +"`logging.config`, для функціональних можливостей налаштування.)" + +msgid "" +"Logged messages are formatted for presentation through instances of the :" +"class:`Formatter` class. They are initialized with a format string suitable " +"for use with the % operator and a dictionary." +msgstr "" +"Зареєстровані повідомлення форматуються для представлення через екземпляри " +"класу :class:`Formatter`. Вони ініціалізуються рядком формату, придатним для " +"використання з оператором % і словником." + +msgid "" +"For formatting multiple messages in a batch, instances of :class:`~handlers." +"BufferingFormatter` can be used. In addition to the format string (which is " +"applied to each message in the batch), there is provision for header and " +"trailer format strings." +msgstr "" +"Для форматування кількох повідомлень у пакеті можна використовувати " +"екземпляри :class:`~handlers.BufferingFormatter`. На додаток до рядка " +"формату (який застосовується до кожного повідомлення в пакеті), передбачено " +"рядки формату заголовка та кінця." + +msgid "" +"When filtering based on logger level and/or handler level is not enough, " +"instances of :class:`Filter` can be added to both :class:`Logger` and :class:" +"`Handler` instances (through their :meth:`~Handler.addFilter` method). " +"Before deciding to process a message further, both loggers and handlers " +"consult all their filters for permission. If any filter returns a false " +"value, the message is not processed further." +msgstr "" +"Якщо фільтрації на основі рівня реєстратора та/або рівня обробника " +"недостатньо, екземпляри :class:`Filter` можна додати до екземплярів :class:" +"`Logger` і :class:`Handler` (через їх метод :meth:`~Handler.addFilter`). " +"Перш ніж вирішити продовжити обробку повідомлення, і реєстратори, і " +"обробники звертаються до всіх своїх фільтрів для отримання дозволу. Якщо " +"будь-який фільтр повертає хибне значення, повідомлення не обробляється далі." + +msgid "" +"The basic :class:`Filter` functionality allows filtering by specific logger " +"name. If this feature is used, messages sent to the named logger and its " +"children are allowed through the filter, and all others dropped." +msgstr "" +"Основна функція :class:`Filter` дозволяє фільтрувати за певним іменем " +"реєстратора. Якщо використовується ця функція, повідомлення, надіслані до " +"названого реєстратора та його дочірніх елементів, пропускаються через " +"фільтр, а всі інші відкидаються." + +msgid "Exceptions raised during logging" +msgstr "Винятки, які виникають під час реєстрації" + +msgid "" +"The logging package is designed to swallow exceptions which occur while " +"logging in production. This is so that errors which occur while handling " +"logging events - such as logging misconfiguration, network or other similar " +"errors - do not cause the application using logging to terminate prematurely." +msgstr "" +"Пакет журналювання призначений для ковтання винятків, які виникають під час " +"входу в робочу систему. Це зроблено для того, щоб помилки, які виникають під " +"час обробки подій журналювання (наприклад, неправильна конфігурація журналу, " +"мережа чи інші подібні помилки), не призвели до передчасного завершення " +"програми, яка використовує журналювання." + +msgid "" +":class:`SystemExit` and :class:`KeyboardInterrupt` exceptions are never " +"swallowed. Other exceptions which occur during the :meth:`~Handler.emit` " +"method of a :class:`Handler` subclass are passed to its :meth:`~Handler." +"handleError` method." +msgstr "" +"Винятки :class:`SystemExit` і :class:`KeyboardInterrupt` ніколи не " +"проковтуються. Інші винятки, які виникають під час методу :meth:`~Handler." +"emit` підкласу :class:`Handler`, передаються до його методу :meth:`~Handler." +"handleError`." + +msgid "" +"The default implementation of :meth:`~Handler.handleError` in :class:" +"`Handler` checks to see if a module-level variable, :data:`raiseExceptions`, " +"is set. If set, a traceback is printed to :data:`sys.stderr`. If not set, " +"the exception is swallowed." +msgstr "" +"Стандартна реалізація :meth:`~Handler.handleError` в :class:`Handler` " +"перевіряє, чи встановлено змінну рівня модуля, :data:`raiseExceptions`. Якщо " +"встановлено, зворотне відстеження друкується в :data:`sys.stderr`. Якщо не " +"встановлено, виняток проковтується." + +msgid "" +"The default value of :data:`raiseExceptions` is ``True``. This is because " +"during development, you typically want to be notified of any exceptions that " +"occur. It's advised that you set :data:`raiseExceptions` to ``False`` for " +"production usage." +msgstr "" +"Значенням за замовчуванням :data:`raiseExceptions` є ``True``. Це " +"пояснюється тим, що під час розробки ви зазвичай хочете отримувати " +"сповіщення про будь-які винятки, які трапляються. Радимо встановити :data:" +"`raiseExceptions` на ``False`` для використання у робочому режимі." + +msgid "Using arbitrary objects as messages" +msgstr "Використання довільних об’єктів як повідомлень" + +msgid "" +"In the preceding sections and examples, it has been assumed that the message " +"passed when logging the event is a string. However, this is not the only " +"possibility. You can pass an arbitrary object as a message, and its :meth:" +"`~object.__str__` method will be called when the logging system needs to " +"convert it to a string representation. In fact, if you want to, you can " +"avoid computing a string representation altogether - for example, the :class:" +"`~handlers.SocketHandler` emits an event by pickling it and sending it over " +"the wire." +msgstr "" +"У попередніх розділах і прикладах передбачалося, що повідомлення, передане " +"під час реєстрації події, є рядком. Однак це не єдина можливість. Ви можете " +"передати довільний об’єкт як повідомлення, і його метод :meth:`~object." +"__str__` буде викликано, коли системі журналювання потрібно перетворити його " +"на представлення рядка. Насправді, якщо ви хочете, ви можете взагалі " +"уникнути обчислення представлення рядка - наприклад, :class:`~handlers." +"SocketHandler` випромінює подію, вибираючи її та надсилаючи по дроту." + +msgid "Optimization" +msgstr "Оптимізація" + +msgid "" +"Formatting of message arguments is deferred until it cannot be avoided. " +"However, computing the arguments passed to the logging method can also be " +"expensive, and you may want to avoid doing it if the logger will just throw " +"away your event. To decide what to do, you can call the :meth:`~Logger." +"isEnabledFor` method which takes a level argument and returns true if the " +"event would be created by the Logger for that level of call. You can write " +"code like this::" +msgstr "" +"Форматування аргументів повідомлення відкладено, доки його не можна " +"уникнути. Однак обчислення аргументів, переданих до методу журналювання, " +"також може бути дорогим, і ви можете уникнути цього, якщо реєстратор просто " +"відкине вашу подію. Щоб вирішити, що робити, ви можете викликати метод :meth:" +"`~Logger.isEnabledFor`, який приймає аргумент рівня та повертає значення " +"true, якщо подію буде створено реєстратором для цього рівня виклику. Ви " +"можете написати такий код:" + +msgid "" +"so that if the logger's threshold is set above ``DEBUG``, the calls to :func:" +"`expensive_func1` and :func:`expensive_func2` are never made." +msgstr "" +"тому, якщо порогове значення реєстратора встановлено вище ``DEBUG``, " +"виклики :func:`expensive_func1` і :func:`expensive_func2` ніколи не " +"здійснюються." + +msgid "" +"In some cases, :meth:`~Logger.isEnabledFor` can itself be more expensive " +"than you'd like (e.g. for deeply nested loggers where an explicit level is " +"only set high up in the logger hierarchy). In such cases (or if you want to " +"avoid calling a method in tight loops), you can cache the result of a call " +"to :meth:`~Logger.isEnabledFor` in a local or instance variable, and use " +"that instead of calling the method each time. Such a cached value would only " +"need to be recomputed when the logging configuration changes dynamically " +"while the application is running (which is not all that common)." +msgstr "" +"У деяких випадках :meth:`~Logger.isEnabledFor` сам по собі може бути " +"дорожчим, ніж вам хотілося б (наприклад, для глибоко вкладених реєстраторів, " +"де явний рівень встановлюється лише високо в ієрархії реєстратора). У таких " +"випадках (або якщо ви хочете уникнути виклику методу в жорстких циклах), ви " +"можете кешувати результат виклику :meth:`~Logger.isEnabledFor` у локальній " +"змінній чи змінній екземпляра та використовувати це замість виклику метод " +"кожного разу. Таке кешоване значення потрібно було б повторно обчислити лише " +"тоді, коли конфігурація журналювання динамічно змінюється під час роботи " +"програми (що не так вже й часто)." + +msgid "" +"There are other optimizations which can be made for specific applications " +"which need more precise control over what logging information is collected. " +"Here's a list of things you can do to avoid processing during logging which " +"you don't need:" +msgstr "" +"Існують інші оптимізації, які можна зробити для конкретних програм, які " +"потребують більш точного контролю над тим, яка інформація журналу " +"збирається. Ось список речей, які ви можете зробити, щоб уникнути обробки " +"під час журналювання, яка вам не потрібна:" + +msgid "What you don't want to collect" +msgstr "Те, що ви не хочете збирати" + +msgid "How to avoid collecting it" +msgstr "Як уникнути його збору" + +msgid "Information about where calls were made from." +msgstr "Інформація про те, звідки дзвонили." + +msgid "" +"Set ``logging._srcfile`` to ``None``. This avoids calling :func:`sys." +"_getframe`, which may help to speed up your code in environments like PyPy " +"(which can't speed up code that uses :func:`sys._getframe`)." +msgstr "" +"Встановіть для ``logging._srcfile`` значення ``None``. Це дозволяє уникнути " +"виклику :func:`sys._getframe`, що може допомогти пришвидшити ваш код у таких " +"середовищах, як PyPy (який не може прискорити код, який використовує :func:" +"`sys._getframe`)." + +msgid "Threading information." +msgstr "Інформація про потоки." + +msgid "Set ``logging.logThreads`` to ``False``." +msgstr "Встановіть для ``logging.logThreads`` значення ``False``." + +msgid "Current process ID (:func:`os.getpid`)" +msgstr "Ідентифікатор поточного процесу (:func:`os.getpid`)" + +msgid "Set ``logging.logProcesses`` to ``False``." +msgstr "Встановіть для ``logging.logProcesses`` значення ``False``." + +msgid "" +"Current process name when using ``multiprocessing`` to manage multiple " +"processes." +msgstr "" +"Поточне ім’я процесу, якщо для керування кількома процесами використовується " +"``багатопроцесорна обробка``." + +msgid "Set ``logging.logMultiprocessing`` to ``False``." +msgstr "Встановіть для ``logging.logMultiprocessing`` значення ``False``." + +msgid "" +"Also note that the core logging module only includes the basic handlers. If " +"you don't import :mod:`logging.handlers` and :mod:`logging.config`, they " +"won't take up any memory." +msgstr "" +"Також зауважте, що основний модуль журналювання включає лише основні " +"обробники. Якщо ви не імпортуєте :mod:`logging.handlers` і :mod:`logging." +"config`, вони не займатимуть жодної пам’яті." + +msgid "Module :mod:`logging`" +msgstr "Модуль :mod:`logging`" + +msgid "API reference for the logging module." +msgstr "Довідник API для модуля журналювання." + +msgid "Module :mod:`logging.config`" +msgstr "Модуль :mod:`logging.config`" + +msgid "Configuration API for the logging module." +msgstr "API конфігурації для модуля журналювання." + +msgid "Module :mod:`logging.handlers`" +msgstr "Модуль :mod:`logging.handlers`" + +msgid "Useful handlers included with the logging module." +msgstr "Корисні обробники, включені в модуль журналювання." + +msgid ":ref:`A logging cookbook `" +msgstr ":ref:`Кулінарна книга журналювання `" diff --git a/howto/pyporting.po b/howto/pyporting.po new file mode 100644 index 000000000..1abf9f06c --- /dev/null +++ b/howto/pyporting.po @@ -0,0 +1,866 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Porting Python 2 Code to Python 3" +msgstr "Перенесення коду Python 2 на Python 3" + +msgid "author" +msgstr "автор" + +msgid "Brett Cannon" +msgstr "Brett Cannon" + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"With Python 3 being the future of Python while Python 2 is still in active " +"use, it is good to have your project available for both major releases of " +"Python. This guide is meant to help you figure out how best to support both " +"Python 2 & 3 simultaneously." +msgstr "" +"Оскільки Python 3 є майбутнім Python, а Python 2 все ще активно " +"використовується, добре мати ваш проект для обох основних випусків Python. " +"Цей посібник призначений для того, щоб допомогти вам зрозуміти, як найкраще " +"підтримувати Python 2 і 3 одночасно." + +msgid "" +"If you are looking to port an extension module instead of pure Python code, " +"please see :ref:`cporting-howto`." +msgstr "" +"Якщо ви хочете перенести модуль розширення замість чистого коду Python, " +"перегляньте :ref:`cporting-howto`." + +msgid "" +"If you would like to read one core Python developer's take on why Python 3 " +"came into existence, you can read Nick Coghlan's `Python 3 Q & A`_ or Brett " +"Cannon's `Why Python 3 exists`_." +msgstr "" +"Якщо ви хочете прочитати думку одного з основних розробників Python про те, " +"чому виник Python 3, ви можете прочитати `Python 3 Q & A`_ Ніка Коглана або " +"`Чому існує Python 3`_ Бретта Кеннона." + +msgid "" +"For help with porting, you can view the archived python-porting_ mailing " +"list." +msgstr "" +"Щоб отримати допомогу щодо перенесення, ви можете переглянути архівний " +"список розсилки python-porting_." + +msgid "The Short Explanation" +msgstr "Коротке пояснення" + +msgid "" +"To make your project be single-source Python 2/3 compatible, the basic steps " +"are:" +msgstr "" +"Щоб зробити ваш проект сумісним з єдиним джерелом Python 2/3, виконайте такі " +"основні кроки:" + +msgid "Only worry about supporting Python 2.7" +msgstr "Турбуйтеся лише про підтримку Python 2.7" + +msgid "" +"Make sure you have good test coverage (coverage.py_ can help; ``python -m " +"pip install coverage``)" +msgstr "" +"Переконайтеся, що у вас добре тестове покриття (coverage.py_ може допомогти; " +"``python -m pip install coverage``)" + +msgid "Learn the differences between Python 2 & 3" +msgstr "Дізнайтеся про відмінності між Python 2 і 3" + +msgid "" +"Use Futurize_ (or Modernize_) to update your code (e.g. ``python -m pip " +"install future``)" +msgstr "" +"Використовуйте Futurize_ (або Modernize_), щоб оновити свій код (наприклад, " +"``python -m pip install future``)" + +msgid "" +"Use Pylint_ to help make sure you don't regress on your Python 3 support " +"(``python -m pip install pylint``)" +msgstr "" +"Використовуйте Pylint_, щоб переконатися, що підтримка Python 3 не " +"зменшується (``python -m pip install pylint``)" + +msgid "" +"Use caniusepython3_ to find out which of your dependencies are blocking your " +"use of Python 3 (``python -m pip install caniusepython3``)" +msgstr "" +"Використовуйте caniusepython3_, щоб дізнатися, які з ваших залежностей " +"блокують використання Python 3 (``python -m pip install caniusepython3``)" + +msgid "" +"Once your dependencies are no longer blocking you, use continuous " +"integration to make sure you stay compatible with Python 2 & 3 (tox_ can " +"help test against multiple versions of Python; ``python -m pip install tox``)" +msgstr "" +"Коли ваші залежності перестануть блокувати вас, використовуйте безперервну " +"інтеграцію, щоб переконатися, що ви залишаєтеся сумісними з Python 2 і 3 " +"(tox_ може допомогти перевірити кілька версій Python; ``python -m pip " +"install tox``)" + +msgid "" +"Consider using optional static type checking to make sure your type usage " +"works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both " +"Python 2 & Python 3; ``python -m pip install mypy``)." +msgstr "" +"Подумайте про використання додаткової статичної перевірки типів, щоб " +"переконатися, що використання вашого типу працює як у Python 2, так і в " +"Python 3 (наприклад, використовуйте mypy_, щоб перевірити введення тексту як " +"у Python 2, так і в Python 3; ``python -m pip install mypy``)." + +msgid "" +"Note: Using ``python -m pip install`` guarantees that the ``pip`` you invoke " +"is the one installed for the Python currently in use, whether it be a system-" +"wide ``pip`` or one installed within a :ref:`virtual environment `." +msgstr "" +"Примітка. Використання ``python -m pip install`` гарантує, що ``pip``, який " +"ви викликаєте, є тим, що встановлено для Python, який зараз " +"використовується, незалежно від того, чи це загальносистемний ``pip``, чи " +"встановлений у межах :ref:`віртуальне середовище `." + +msgid "Details" +msgstr "Подробиці" + +msgid "" +"A key point about supporting Python 2 & 3 simultaneously is that you can " +"start **today**! Even if your dependencies are not supporting Python 3 yet " +"that does not mean you can't modernize your code **now** to support Python " +"3. Most changes required to support Python 3 lead to cleaner code using " +"newer practices even in Python 2 code." +msgstr "" +"Ключовим моментом одночасної підтримки Python 2 і 3 є те, що ви можете " +"почати **сьогодні**! Навіть якщо ваші залежності ще не підтримують Python 3, " +"це не означає, що ви не можете модернізувати свій код **зараз** для " +"підтримки Python 3. Більшість змін, необхідних для підтримки Python 3, " +"призводять до чистішого коду з використанням нових практик навіть у коді " +"Python 2 ." + +msgid "" +"Another key point is that modernizing your Python 2 code to also support " +"Python 3 is largely automated for you. While you might have to make some API " +"decisions thanks to Python 3 clarifying text data versus binary data, the " +"lower-level work is now mostly done for you and thus can at least benefit " +"from the automated changes immediately." +msgstr "" +"Іншим ключовим моментом є те, що модернізація коду Python 2 для підтримки " +"Python 3 значною мірою автоматизована. Хоча вам, можливо, доведеться " +"приймати деякі рішення щодо API завдяки Python 3, який уточнює текстові дані " +"порівняно з двійковими даними, робота нижчого рівня тепер здебільшого " +"виконується за вас, тому ви можете принаймні негайно отримати вигоду від " +"автоматизованих змін." + +msgid "" +"Keep those key points in mind while you read on about the details of porting " +"your code to support Python 2 & 3 simultaneously." +msgstr "" +"Пам’ятайте про ці ключові моменти, коли читатимете про деталі перенесення " +"вашого коду для одночасної підтримки Python 2 і 3." + +msgid "Drop support for Python 2.6 and older" +msgstr "Припинено підтримку Python 2.6 і старіших версій" + +msgid "" +"While you can make Python 2.5 work with Python 3, it is **much** easier if " +"you only have to work with Python 2.7. If dropping Python 2.5 is not an " +"option then the six_ project can help you support Python 2.5 & 3 " +"simultaneously (``python -m pip install six``). Do realize, though, that " +"nearly all the projects listed in this HOWTO will not be available to you." +msgstr "" +"Хоча ви можете змусити Python 2.5 працювати з Python 3, це **набагато** " +"легше, якщо вам доведеться працювати лише з Python 2.7. Якщо відмовитися від " +"Python 2.5 не можна, тоді проект six_ може допомогти вам підтримувати Python " +"2.5 і 3 одночасно (``python -m pip install six``). Однак майте на увазі, що " +"майже всі проекти, перелічені в цьому HOWTO, будуть недоступні для вас." + +msgid "" +"If you are able to skip Python 2.5 and older, then the required changes to " +"your code should continue to look and feel like idiomatic Python code. At " +"worst you will have to use a function instead of a method in some instances " +"or have to import a function instead of using a built-in one, but otherwise " +"the overall transformation should not feel foreign to you." +msgstr "" +"Якщо ви можете пропустити Python 2.5 і старіші версії, то необхідні зміни у " +"вашому коді мають і надалі виглядати як ідіоматичний код Python. У гіршому " +"випадку вам доведеться використовувати функцію замість методу в деяких " +"випадках або імпортувати функцію замість використання вбудованої, але в " +"іншому випадку загальне перетворення не повинно здаватися вам чужим." + +msgid "" +"But you should aim for only supporting Python 2.7. Python 2.6 is no longer " +"freely supported and thus is not receiving bugfixes. This means **you** will " +"have to work around any issues you come across with Python 2.6. There are " +"also some tools mentioned in this HOWTO which do not support Python 2.6 (e." +"g., Pylint_), and this will become more commonplace as time goes on. It will " +"simply be easier for you if you only support the versions of Python that you " +"have to support." +msgstr "" +"Але ви повинні прагнути лише підтримувати Python 2.7. Python 2.6 більше не " +"підтримується вільно, тому не отримує виправлень помилок. Це означає, що " +"**вам** доведеться вирішити будь-які проблеми, які виникають у Python 2.6. Є " +"також деякі інструменти, згадані в цьому HOWTO, які не підтримують Python " +"2.6 (наприклад, Pylint_), і це стане більш поширеним з часом. Вам просто " +"буде легше, якщо ви підтримуватимете лише ті версії Python, які вам " +"необхідно підтримувати." + +msgid "" +"Make sure you specify the proper version support in your ``setup.py`` file" +msgstr "" +"Переконайтеся, що ви вказали правильну підтримку версії у вашому файлі " +"``setup.py``" + +msgid "" +"In your ``setup.py`` file you should have the proper `trove classifier`_ " +"specifying what versions of Python you support. As your project does not " +"support Python 3 yet you should at least have ``Programming Language :: " +"Python :: 2 :: Only`` specified. Ideally you should also specify each major/" +"minor version of Python that you do support, e.g. ``Programming Language :: " +"Python :: 2.7``." +msgstr "" +"У вашому файлі ``setup.py`` ви повинні мати належний `trove classifier`_, " +"який визначає, які версії Python ви підтримуєте. Оскільки ваш проект не " +"підтримує Python 3, вам слід принаймні вказати ``Programming Language :: " +"Python :: 2 :: Only``. В ідеалі ви також повинні вказати кожну основну/" +"проміжну версію Python, яку ви підтримуєте, напр. ``Мова програмування :: " +"Python :: 2.7``." + +msgid "Have good test coverage" +msgstr "Мати хороше тестове покриття" + +msgid "" +"Once you have your code supporting the oldest version of Python 2 you want " +"it to, you will want to make sure your test suite has good coverage. A good " +"rule of thumb is that if you want to be confident enough in your test suite " +"that any failures that appear after having tools rewrite your code are " +"actual bugs in the tools and not in your code. If you want a number to aim " +"for, try to get over 80% coverage (and don't feel bad if you find it hard to " +"get better than 90% coverage). If you don't already have a tool to measure " +"test coverage then coverage.py_ is recommended." +msgstr "" +"Коли ваш код підтримує найстарішу версію Python 2, яку ви хочете, " +"переконайтеся, що ваш набір тестів має добре покриття. Хорошим емпіричним " +"правилом є те, що якщо ви хочете бути достатньо впевненими у своєму наборі " +"тестів, усі збої, які з’являються після того, як інструменти переписують ваш " +"код, є фактичними помилками в інструментах, а не у вашому коді. Якщо ви " +"хочете досягти певного показника, спробуйте охопити понад 80% (і не " +"засмучуйтеся, якщо вам важко досягти охоплення більше 90%). Якщо у вас ще " +"немає інструменту для вимірювання тестового покриття, рекомендується " +"coverage.py_." + +msgid "" +"Once you have your code well-tested you are ready to begin porting your code " +"to Python 3! But to fully understand how your code is going to change and " +"what you want to look out for while you code, you will want to learn what " +"changes Python 3 makes in terms of Python 2. Typically the two best ways of " +"doing that is reading the :ref:`\"What's New\" ` doc for " +"each release of Python 3 and the `Porting to Python 3`_ book (which is free " +"online). There is also a handy `cheat sheet`_ from the Python-Future project." +msgstr "" +"Після того, як ваш код добре протестовано, ви готові розпочати портування " +"свого коду на Python 3! Але щоб повністю зрозуміти, як зміниться ваш код і " +"на що ви хочете звернути увагу під час кодування, ви захочете дізнатися, які " +"зміни вносить Python 3 у порівнянні з Python 2. Як правило, два найкращі " +"способи зробити це – прочитати :ref:`\"Що нового\" ` " +"документ для кожного випуску Python 3 і книга `Портування на Python 3`_ (яка " +"є безкоштовною в Інтернеті). Існує також зручна шпаргалка (`cheat sheet`_) з " +"проекту Python-Future." + +msgid "Update your code" +msgstr "Оновіть свій код" + +msgid "" +"Once you feel like you know what is different in Python 3 compared to Python " +"2, it's time to update your code! You have a choice between two tools in " +"porting your code automatically: Futurize_ and Modernize_. Which tool you " +"choose will depend on how much like Python 3 you want your code to be. " +"Futurize_ does its best to make Python 3 idioms and practices exist in " +"Python 2, e.g. backporting the ``bytes`` type from Python 3 so that you have " +"semantic parity between the major versions of Python. Modernize_, on the " +"other hand, is more conservative and targets a Python 2/3 subset of Python, " +"directly relying on six_ to help provide compatibility. As Python 3 is the " +"future, it might be best to consider Futurize to begin adjusting to any new " +"practices that Python 3 introduces which you are not accustomed to yet." +msgstr "" +"Коли ви відчуєте, що знаєте, чим Python 3 відрізняється від Python 2, настав " +"час оновити свій код! У вас є вибір між двома інструментами для " +"автоматичного перенесення коду: Futurize_ і Modernize_. Який інструмент ви " +"виберете, залежатиме від того, наскільки ваш код схожий на Python 3. " +"Futurize_ робить усе можливе, щоб ідіоми та практики Python 3 існували в " +"Python 2, напр. зворотне портування типу ``bytes`` з Python 3, щоб мати " +"семантичний паритет між основними версіями Python. Modernize_, з іншого " +"боку, більш консервативний і націлений на підмножину Python 2/3 Python, " +"безпосередньо покладаючись на six_ для забезпечення сумісності. Оскільки " +"Python 3 — це майбутнє, можливо, краще розглянути Futurize, щоб почати " +"пристосовуватися до будь-яких нових практик, які вводить Python 3 і до яких " +"ви ще не звикли." + +msgid "" +"Regardless of which tool you choose, they will update your code to run under " +"Python 3 while staying compatible with the version of Python 2 you started " +"with. Depending on how conservative you want to be, you may want to run the " +"tool over your test suite first and visually inspect the diff to make sure " +"the transformation is accurate. After you have transformed your test suite " +"and verified that all the tests still pass as expected, then you can " +"transform your application code knowing that any tests which fail is a " +"translation failure." +msgstr "" +"Незалежно від того, який інструмент ви виберете, вони оновлять ваш код для " +"роботи під Python 3, залишаючись сумісним із версією Python 2, з якої ви " +"почали. Залежно від того, наскільки консервативними ви хочете бути, ви " +"можете спочатку запустити інструмент над своїм тестовим набором і візуально " +"перевірити різницю, щоб переконатися, що перетворення точне. Після того, як " +"ви трансформуєте свій набір тестів і переконаєтеся, що всі тести все ще " +"проходять належним чином, ви можете трансформувати код програми, знаючи, що " +"будь-які тести, які не пройдуть, є помилкою перекладу." + +msgid "" +"Unfortunately the tools can't automate everything to make your code work " +"under Python 3 and so there are a handful of things you will need to update " +"manually to get full Python 3 support (which of these steps are necessary " +"vary between the tools). Read the documentation for the tool you choose to " +"use to see what it fixes by default and what it can do optionally to know " +"what will (not) be fixed for you and what you may have to fix on your own (e." +"g. using ``io.open()`` over the built-in ``open()`` function is off by " +"default in Modernize). Luckily, though, there are only a couple of things to " +"watch out for which can be considered large issues that may be hard to debug " +"if not watched for." +msgstr "" +"На жаль, інструменти не можуть автоматизувати все, щоб ваш код працював під " +"Python 3, тому є кілька речей, які вам потрібно буде оновити вручну, щоб " +"отримати повну підтримку Python 3 (які з цих кроків необхідні для різних " +"інструментів). Прочитайте документацію до інструменту, який ви оберете для " +"використання, щоб побачити, що він виправляє за замовчуванням і що він може " +"робити додатково, щоб знати, що (не) буде виправлено для вас, а що вам, " +"можливо, доведеться виправити самостійно (наприклад, за допомогою ``io ." +"open()`` над вбудованою функцією ``open()`` вимкнено за замовчуванням у " +"Modernize). На щастя, однак, є лише кілька речей, на які слід звернути " +"увагу, і які можна вважати серйозними проблемами, які може бути важко " +"налагодити, якщо за ними не спостерігати." + +msgid "Division" +msgstr "Поділ" + +msgid "" +"In Python 3, ``5 / 2 == 2.5`` and not ``2``; all division between ``int`` " +"values result in a ``float``. This change has actually been planned since " +"Python 2.2 which was released in 2002. Since then users have been encouraged " +"to add ``from __future__ import division`` to any and all files which use " +"the ``/`` and ``//`` operators or to be running the interpreter with the ``-" +"Q`` flag. If you have not been doing this then you will need to go through " +"your code and do two things:" +msgstr "" +"У Python 3 ``5 / 2 == 2,5``, а не ``2``; усі ділення між значеннями ``int`` " +"призводять до ``float``. Ця зміна фактично була запланована з Python 2.2, " +"який був випущений у 2002 році. Відтоді користувачам було запропоновано " +"додавати ``from __future__ import division`` до будь-яких файлів, які " +"використовують ``/`` і ``//`` або для запуску інтерпретатора з прапором ``-" +"Q``. Якщо ви цього не робили, вам потрібно буде переглянути свій код і " +"зробити дві речі:" + +msgid "Add ``from __future__ import division`` to your files" +msgstr "Додайте ``from __future__ import division`` до своїх файлів" + +msgid "" +"Update any division operator as necessary to either use ``//`` to use floor " +"division or continue using ``/`` and expect a float" +msgstr "" +"За потреби оновіть будь-який оператор ділення, щоб використовувати ``//`` " +"для використання поверхового поділу або продовжувати використовувати ``/`` і " +"очікувати значення з плаваючою точкою" + +msgid "" +"The reason that ``/`` isn't simply translated to ``//`` automatically is " +"that if an object defines a ``__truediv__`` method but not ``__floordiv__`` " +"then your code would begin to fail (e.g. a user-defined class that uses ``/" +"`` to signify some operation but not ``//`` for the same thing or at all)." +msgstr "" +"Причина того, що ``/`` не просто автоматично перекладається на ``//``, " +"полягає в тому, що якщо об’єкт визначає метод ``__truediv__``, але не " +"``__floordiv__``, ваш код почне виходити з ладу (наприклад, визначений " +"користувачем клас, який використовує ``/`` для позначення певної операції, " +"але не ``//`` для того самого або взагалі)." + +msgid "Text versus binary data" +msgstr "Текст проти двійкових даних" + +msgid "" +"In Python 2 you could use the ``str`` type for both text and binary data. " +"Unfortunately this confluence of two different concepts could lead to " +"brittle code which sometimes worked for either kind of data, sometimes not. " +"It also could lead to confusing APIs if people didn't explicitly state that " +"something that accepted ``str`` accepted either text or binary data instead " +"of one specific type. This complicated the situation especially for anyone " +"supporting multiple languages as APIs wouldn't bother explicitly supporting " +"``unicode`` when they claimed text data support." +msgstr "" +"У Python 2 ви можете використовувати тип ``str`` як для текстових, так і для " +"двійкових даних. На жаль, це злиття двох різних концепцій може призвести до " +"крихкого коду, який іноді працює для будь-якого типу даних, іноді ні. Це " +"також може призвести до заплутаних API, якщо люди явно не вкажуть, що щось, " +"що приймає ``str``, приймає текстові або двійкові дані замість одного " +"конкретного типу. Це ускладнювало ситуацію особливо для тих, хто підтримує " +"кілька мов, оскільки API не турбувались про підтримку ``unicode``, коли вони " +"заявляли про підтримку текстових даних." + +msgid "" +"To make the distinction between text and binary data clearer and more " +"pronounced, Python 3 did what most languages created in the age of the " +"internet have done and made text and binary data distinct types that cannot " +"blindly be mixed together (Python predates widespread access to the " +"internet). For any code that deals only with text or only binary data, this " +"separation doesn't pose an issue. But for code that has to deal with both, " +"it does mean you might have to now care about when you are using text " +"compared to binary data, which is why this cannot be entirely automated." +msgstr "" +"Щоб зробити різницю між текстовими та двійковими даними чіткішими та " +"виразнішими, Python 3 зробив те, що зробили більшість мов, створених в епоху " +"Інтернету, і зробив текстові та двійкові дані різними типами, які неможливо " +"змішувати наосліп (Python виник ще до широкого доступу до Інтернет). Для " +"будь-якого коду, який має справу лише з текстовими або лише з двійковими " +"даними, це розділення не створює проблеми. Але для коду, який має працювати " +"з обома, це означає, що тепер вам, можливо, доведеться піклуватися про те, " +"коли ви використовуєте текст у порівнянні з двійковими даними, тому це не " +"можна повністю автоматизувати." + +msgid "" +"To start, you will need to decide which APIs take text and which take binary " +"(it is **highly** recommended you don't design APIs that can take both due " +"to the difficulty of keeping the code working; as stated earlier it is " +"difficult to do well). In Python 2 this means making sure the APIs that take " +"text can work with ``unicode`` and those that work with binary data work " +"with the ``bytes`` type from Python 3 (which is a subset of ``str`` in " +"Python 2 and acts as an alias for ``bytes`` type in Python 2). Usually the " +"biggest issue is realizing which methods exist on which types in Python 2 & " +"3 simultaneously (for text that's ``unicode`` in Python 2 and ``str`` in " +"Python 3, for binary that's ``str``/``bytes`` in Python 2 and ``bytes`` in " +"Python 3). The following table lists the **unique** methods of each data " +"type across Python 2 & 3 (e.g., the ``decode()`` method is usable on the " +"equivalent binary data type in either Python 2 or 3, but it can't be used by " +"the textual data type consistently between Python 2 and 3 because ``str`` in " +"Python 3 doesn't have the method). Do note that as of Python 3.5 the " +"``__mod__`` method was added to the bytes type." +msgstr "" +"Для початку вам потрібно буде вирішити, які API приймають текстові, а які " +"двійкові (**настійно** не рекомендується розробляти API, які можуть приймати " +"обидва, через складність підтримувати код у робочому стані; як було сказано " +"раніше, це важко робити добре). У Python 2 це означає, що API, які приймають " +"текст, можуть працювати з ``unicode``, а ті, що працюють з двійковими " +"даними, працюють із типом ``bytes`` з Python 3 (який є підмножиною ``str`` у " +"Python 2 і діє як псевдонім для типу ``bytes`` у Python 2). Зазвичай " +"найбільшою проблемою є усвідомлення того, які методи існують для яких типів " +"у Python 2 і 3 одночасно (для тексту, який є ``unicode`` у Python 2 та " +"``str`` у Python 3, для бінарного це ``str``/``bytes`` у Python 2 і " +"``bytes`` у Python 3). У наступній таблиці наведено **унікальні** методи " +"кожного типу даних у Python 2 і 3 (наприклад, метод ``decode()`` можна " +"використовувати для еквівалентного двійкового типу даних у Python 2 або 3, " +"але він може не використовуватиметься текстовим типом даних узгоджено між " +"Python 2 і 3, оскільки ``str`` у Python 3 не має методу). Зауважте, що " +"починаючи з Python 3.5 метод ``__mod__`` було додано до типу bytes." + +msgid "**Text data**" +msgstr "**Текстові дані**" + +msgid "**Binary data**" +msgstr "**Двійкові дані**" + +msgid "\\" +msgstr "\\" + +msgid "decode" +msgstr "декодувати" + +msgid "encode" +msgstr "кодувати" + +msgid "format" +msgstr "формат" + +msgid "isdecimal" +msgstr "є десятковим" + +msgid "isnumeric" +msgstr "є числовим" + +msgid "" +"Making the distinction easier to handle can be accomplished by encoding and " +"decoding between binary data and text at the edge of your code. This means " +"that when you receive text in binary data, you should immediately decode it. " +"And if your code needs to send text as binary data then encode it as late as " +"possible. This allows your code to work with only text internally and thus " +"eliminates having to keep track of what type of data you are working with." +msgstr "" +"Полегшити розрізнення можна за допомогою кодування та декодування двійкових " +"даних і тексту на краю коду. Це означає, що коли ви отримуєте текст у " +"двійковій формі, ви повинні негайно його декодувати. І якщо ваш код потребує " +"надсилання тексту як двійкових даних, кодуйте його якомога пізніше. Це " +"дозволяє вашому коду внутрішньо працювати лише з текстом і таким чином " +"усуває необхідність відстежувати, з якими типами даних ви працюєте." + +msgid "" +"The next issue is making sure you know whether the string literals in your " +"code represent text or binary data. You should add a ``b`` prefix to any " +"literal that presents binary data. For text you should add a ``u`` prefix to " +"the text literal. (there is a :mod:`__future__` import to force all " +"unspecified literals to be Unicode, but usage has shown it isn't as " +"effective as adding a ``b`` or ``u`` prefix to all literals explicitly)" +msgstr "" +"Наступна проблема полягає в тому, щоб переконатися, що рядкові літерали у " +"вашому коді представляють текстові чи двійкові дані. Ви повинні додати " +"префікс ``b`` до будь-якого літералу, який представляє двійкові дані. Для " +"тексту ви повинні додати префікс ``u`` до текстового літералу. (існує " +"імпорт :mod:`__future__`, щоб змусити всі невизначені літерали бути Unicode, " +"але використання показало, що це не так ефективно, як додавання префікса " +"``b`` або ``u`` до всіх літералів явно)" + +msgid "" +"As part of this dichotomy you also need to be careful about opening files. " +"Unless you have been working on Windows, there is a chance you have not " +"always bothered to add the ``b`` mode when opening a binary file (e.g., " +"``rb`` for binary reading). Under Python 3, binary files and text files are " +"clearly distinct and mutually incompatible; see the :mod:`io` module for " +"details. Therefore, you **must** make a decision of whether a file will be " +"used for binary access (allowing binary data to be read and/or written) or " +"textual access (allowing text data to be read and/or written). You should " +"also use :func:`io.open` for opening files instead of the built-in :func:" +"`open` function as the :mod:`io` module is consistent from Python 2 to 3 " +"while the built-in :func:`open` function is not (in Python 3 it's actually :" +"func:`io.open`). Do not bother with the outdated practice of using :func:" +"`codecs.open` as that's only necessary for keeping compatibility with Python " +"2.5." +msgstr "" +"У рамках цієї дихотомії вам також потрібно бути обережним під час відкриття " +"файлів. Якщо ви не працювали в Windows, можливо, ви не завжди додавали режим " +"``b`` під час відкриття двійкового файлу (наприклад, ``rb`` для двійкового " +"читання). У Python 3 бінарні та текстові файли чітко відрізняються та " +"взаємно несумісні; подробиці див. у модулі :mod:`io`. Таким чином, ви " +"**повинні** прийняти рішення, чи використовуватиметься файл для бінарного " +"доступу (що дозволяє читати та/або записувати двійкові дані) чи текстового " +"доступу (що дозволяє читати та/або записувати текстові дані). Ви також " +"повинні використовувати :func:`io.open` для відкриття файлів замість " +"вбудованої функції :func:`open`, оскільки модуль :mod:`io` є узгодженим від " +"Python 2 до 3, тоді як вбудований: функція :func:`open` не є (у Python 3 це " +"насправді :func:`io.open`). Не турбуйтеся про застарілу практику " +"використання :func:`codecs.open`, оскільки це необхідно лише для підтримки " +"сумісності з Python 2.5." + +msgid "" +"The constructors of both ``str`` and ``bytes`` have different semantics for " +"the same arguments between Python 2 & 3. Passing an integer to ``bytes`` in " +"Python 2 will give you the string representation of the integer: ``bytes(3) " +"== '3'``. But in Python 3, an integer argument to ``bytes`` will give you a " +"bytes object as long as the integer specified, filled with null bytes: " +"``bytes(3) == b'\\x00\\x00\\x00'``. A similar worry is necessary when " +"passing a bytes object to ``str``. In Python 2 you just get the bytes object " +"back: ``str(b'3') == b'3'``. But in Python 3 you get the string " +"representation of the bytes object: ``str(b'3') == \"b'3'\"``." +msgstr "" +"Конструктори як ``str``, так і ``bytes`` мають різну семантику для тих самих " +"аргументів у Python 2 і 3. Передача цілого числа в ``bytes`` у Python 2 " +"дасть вам рядкове представлення цілого числа: ``bytes(3) == '3'``. Але в " +"Python 3 цілочисельний аргумент ``bytes`` надасть вам об’єкт bytes такої " +"довжини, як указане ціле число, заповнене нульовими байтами: ``bytes(3) == " +"b'\\x00\\x00\\x00'``. Подібне занепокоєння виникає при передачі об’єкта " +"bytes до ``str``. У Python 2 ви просто повертаєте об’єкт bytes: ``str(b'3') " +"== b'3'``. Але в Python 3 ви отримуєте рядкове представлення об’єкта bytes: " +"``str(b'3') == \"b'3'\"``." + +msgid "" +"Finally, the indexing of binary data requires careful handling (slicing does " +"**not** require any special handling). In Python 2, ``b'123'[1] == b'2'`` " +"while in Python 3 ``b'123'[1] == 50``. Because binary data is simply a " +"collection of binary numbers, Python 3 returns the integer value for the " +"byte you index on. But in Python 2 because ``bytes == str``, indexing " +"returns a one-item slice of bytes. The six_ project has a function named " +"``six.indexbytes()`` which will return an integer like in Python 3: ``six." +"indexbytes(b'123', 1)``." +msgstr "" +"Нарешті, індексування двійкових даних вимагає обережного поводження " +"(зрізання **не** потребує спеціального поводження). У Python 2 ``b'123'[1] " +"== b'2'``, а в Python 3 ``b'123'[1] == 50``. Оскільки двійкові дані — це " +"просто набір двійкових чисел, Python 3 повертає ціле значення для байта, " +"який ви індексуєте. Але в Python 2, оскільки ``bytes == str``, індексація " +"повертає фрагмент байтів з одного елемента. У проекті six_ є функція з " +"назвою ``six.indexbytes()``, яка повертатиме ціле число, як у Python 3: " +"``six.indexbytes(b'123', 1)``." + +msgid "To summarize:" +msgstr "Узагальнити:" + +msgid "Decide which of your APIs take text and which take binary data" +msgstr "Вирішіть, який із ваших API приймає текст, а який двійкові дані" + +msgid "" +"Make sure that your code that works with text also works with ``unicode`` " +"and code for binary data works with ``bytes`` in Python 2 (see the table " +"above for what methods you cannot use for each type)" +msgstr "" +"Переконайтеся, що ваш код, який працює з текстом, також працює з " +"``unicode``, а код для двійкових даних працює з ``bytes`` у Python 2 " +"(перегляньте таблицю вище, які методи не можна використовувати для кожного " +"типу)" + +msgid "" +"Mark all binary literals with a ``b`` prefix, textual literals with a ``u`` " +"prefix" +msgstr "" +"Позначте всі бінарні літерали префіксом ``b``, текстові літерали префіксом " +"``u``" + +msgid "" +"Decode binary data to text as soon as possible, encode text as binary data " +"as late as possible" +msgstr "" +"Декодуйте двійкові дані в текст якомога швидше, кодуйте текст як двійкові " +"дані якомога пізніше" + +msgid "" +"Open files using :func:`io.open` and make sure to specify the ``b`` mode " +"when appropriate" +msgstr "" +"Відкривайте файли за допомогою :func:`io.open` і не забудьте вказати режим " +"``b``, якщо це необхідно" + +msgid "Be careful when indexing into binary data" +msgstr "Будьте обережні, індексуючи двійкові дані" + +msgid "Use feature detection instead of version detection" +msgstr "Використовуйте функцію виявлення замість визначення версії" + +msgid "" +"Inevitably you will have code that has to choose what to do based on what " +"version of Python is running. The best way to do this is with feature " +"detection of whether the version of Python you're running under supports " +"what you need. If for some reason that doesn't work then you should make the " +"version check be against Python 2 and not Python 3. To help explain this, " +"let's look at an example." +msgstr "" +"Ви неминуче матимете код, який має вибирати, що робити, залежно від того, " +"яка версія Python запущена. Найкращий спосіб зробити це — за допомогою " +"функції визначення того, чи підтримує версія Python, на якій ви працюєте, " +"те, що вам потрібно. Якщо з якоїсь причини це не спрацьовує, вам слід " +"перевірити версію на Python 2, а не на Python 3. Щоб пояснити це, розглянемо " +"приклад." + +msgid "" +"Let's pretend that you need access to a feature of :mod:`importlib` that is " +"available in Python's standard library since Python 3.3 and available for " +"Python 2 through importlib2_ on PyPI. You might be tempted to write code to " +"access e.g. the :mod:`importlib.abc` module by doing the following::" +msgstr "" +"Давайте уявимо, що вам потрібен доступ до функції :mod:`importlib`, яка " +"доступна в стандартній бібліотеці Python з Python 3.3 і доступна для Python " +"2 через importlib2_ на PyPI. У вас може виникнути спокуса написати код для " +"доступу, наприклад. модуль :mod:`importlib.abc`, виконавши такі дії:" + +msgid "" +"The problem with this code is what happens when Python 4 comes out? It would " +"be better to treat Python 2 as the exceptional case instead of Python 3 and " +"assume that future Python versions will be more compatible with Python 3 " +"than Python 2::" +msgstr "" +"Проблема з цим кодом полягає в тому, що відбувається, коли виходить Python " +"4? Було б краще вважати Python 2 винятковим випадком замість Python 3 і " +"припустити, що майбутні версії Python будуть більш сумісні з Python 3, ніж " +"Python 2:" + +msgid "" +"The best solution, though, is to do no version detection at all and instead " +"rely on feature detection. That avoids any potential issues of getting the " +"version detection wrong and helps keep you future-compatible::" +msgstr "" +"Однак найкращим рішенням є взагалі не виявляти версії, а покладатися на " +"розпізнавання функцій. Це дозволяє уникнути будь-яких потенційних проблем із " +"неправильним визначенням версії та допоможе зберегти вашу сумісність у " +"майбутньому:" + +msgid "Prevent compatibility regressions" +msgstr "Запобігайте регресії сумісності" + +msgid "" +"Once you have fully translated your code to be compatible with Python 3, you " +"will want to make sure your code doesn't regress and stop working under " +"Python 3. This is especially true if you have a dependency which is blocking " +"you from actually running under Python 3 at the moment." +msgstr "" +"Після того, як ви повністю перекладете свій код на сумісність із Python 3, " +"ви захочете переконатися, що ваш код не регресує та не перестане працювати " +"під Python 3. Це особливо вірно, якщо у вас є залежність, яка блокує ваш " +"фактичний запуск під Python 3 Python 3 на даний момент." + +msgid "" +"To help with staying compatible, any new modules you create should have at " +"least the following block of code at the top of it::" +msgstr "" +"Щоб підтримувати сумісність, будь-які нові модулі, які ви створюєте, повинні " +"мати принаймні такий блок коду у верхній частині:" + +msgid "" +"You can also run Python 2 with the ``-3`` flag to be warned about various " +"compatibility issues your code triggers during execution. If you turn " +"warnings into errors with ``-Werror`` then you can make sure that you don't " +"accidentally miss a warning." +msgstr "" +"Ви також можете запустити Python 2 з прапорцем ``-3``, щоб отримувати " +"попередження про різні проблеми сумісності, які запускає ваш код під час " +"виконання. Якщо ви перетворите попередження на помилки за допомогою ``-" +"Werror``, ви можете переконатися, що ви випадково не пропустите попередження." + +msgid "" +"You can also use the Pylint_ project and its ``--py3k`` flag to lint your " +"code to receive warnings when your code begins to deviate from Python 3 " +"compatibility. This also prevents you from having to run Modernize_ or " +"Futurize_ over your code regularly to catch compatibility regressions. This " +"does require you only support Python 2.7 and Python 3.4 or newer as that is " +"Pylint's minimum Python version support." +msgstr "" +"Ви також можете використовувати проект Pylint_ і його прапорець ``--py3k``, " +"щоб лінтувати свій код, щоб отримувати попередження, коли ваш код починає " +"відхилятися від сумісності з Python 3. Це також запобігає вам від " +"необхідності регулярно запускати Modernize_ або Futurize_ над вашим кодом, " +"щоб уловлювати регресії сумісності. Для цього потрібна лише підтримка Python " +"2.7 і Python 3.4 або новіших версій, оскільки це мінімальна підтримка Pylint " +"версії Python." + +msgid "Check which dependencies block your transition" +msgstr "Перевірте, які залежності блокують ваш перехід" + +msgid "" +"**After** you have made your code compatible with Python 3 you should begin " +"to care about whether your dependencies have also been ported. The " +"caniusepython3_ project was created to help you determine which projects -- " +"directly or indirectly -- are blocking you from supporting Python 3. There " +"is both a command-line tool as well as a web interface at https://" +"caniusepython3.com." +msgstr "" +"**Після** того, як ви зробили свій код сумісним з Python 3, ви повинні " +"почати дбати про те, чи ваші залежності також були перенесені. Проект " +"caniusepython3_ було створено, щоб допомогти вам визначити, які проекти — " +"прямо чи опосередковано — блокують вам підтримку Python 3. На https://" +"caniusepython3.com є як інструмент командного рядка, так і веб-інтерфейс." + +msgid "" +"The project also provides code which you can integrate into your test suite " +"so that you will have a failing test when you no longer have dependencies " +"blocking you from using Python 3. This allows you to avoid having to " +"manually check your dependencies and to be notified quickly when you can " +"start running on Python 3." +msgstr "" +"Проект також містить код, який ви можете інтегрувати у свій набір тестів, " +"щоб отримати невдалий тест, коли у вас більше не буде залежностей, які " +"блокують вам використання Python 3. Це дає вам змогу уникнути необхідності " +"вручну перевіряти ваші залежності та швидко отримувати сповіщення коли ви " +"зможете почати працювати на Python 3." + +msgid "Update your ``setup.py`` file to denote Python 3 compatibility" +msgstr "Оновіть файл ``setup.py``, щоб позначити сумісність з Python 3" + +msgid "" +"Once your code works under Python 3, you should update the classifiers in " +"your ``setup.py`` to contain ``Programming Language :: Python :: 3`` and to " +"not specify sole Python 2 support. This will tell anyone using your code " +"that you support Python 2 **and** 3. Ideally you will also want to add " +"classifiers for each major/minor version of Python you now support." +msgstr "" +"Коли ваш код запрацює на Python 3, вам слід оновити класифікатори у своєму " +"``setup.py``, щоб вони містили ``Programming Language :: Python :: 3`` і не " +"вказували єдину підтримку Python 2. Це повідомить усім, хто використовує ваш " +"код, що ви підтримуєте Python 2 **і** 3. В ідеалі ви також захочете додати " +"класифікатори для кожної основної/проміжної версії Python, яку ви зараз " +"підтримуєте." + +msgid "Use continuous integration to stay compatible" +msgstr "Використовуйте постійну інтеграцію, щоб залишатися сумісними" + +msgid "" +"Once you are able to fully run under Python 3 you will want to make sure " +"your code always works under both Python 2 & 3. Probably the best tool for " +"running your tests under multiple Python interpreters is tox_. You can then " +"integrate tox with your continuous integration system so that you never " +"accidentally break Python 2 or 3 support." +msgstr "" +"Щойно ви зможете повністю працювати під Python 3, ви захочете переконатися, " +"що ваш код завжди працює як під Python 2, так і під Python 3. Ймовірно, " +"найкращим інструментом для виконання ваших тестів під кількома " +"інтерпретаторами Python є tox_. Потім ви можете інтегрувати tox у свою " +"систему безперервної інтеграції, щоб ніколи випадково не порушити підтримку " +"Python 2 або 3." + +msgid "" +"You may also want to use the ``-bb`` flag with the Python 3 interpreter to " +"trigger an exception when you are comparing bytes to strings or bytes to an " +"int (the latter is available starting in Python 3.5). By default type-" +"differing comparisons simply return ``False``, but if you made a mistake in " +"your separation of text/binary data handling or indexing on bytes you " +"wouldn't easily find the mistake. This flag will raise an exception when " +"these kinds of comparisons occur, making the mistake much easier to track " +"down." +msgstr "" +"Ви також можете використати прапорець ``-bb`` з інтерпретатором Python 3, " +"щоб ініціювати виняток, коли ви порівнюєте байти з рядками або байти з int " +"(останній доступний, починаючи з Python 3.5). За замовчуванням порівняння за " +"різними типами просто повертають ``False``, але якщо ви зробили помилку в " +"розділенні обробки текстових/бінарних даних або індексування байтів, вам " +"непросто знайти цю помилку. Цей прапорець викличе виняток, коли трапляються " +"такі порівняння, завдяки чому помилку буде набагато легше відстежити." + +msgid "" +"And that's mostly it! At this point your code base is compatible with both " +"Python 2 and 3 simultaneously. Your testing will also be set up so that you " +"don't accidentally break Python 2 or 3 compatibility regardless of which " +"version you typically run your tests under while developing." +msgstr "" +"І це в основному все! На цьому етапі ваша база коду сумісна з Python 2 і 3 " +"одночасно. Ваше тестування також буде налаштовано таким чином, щоб ви " +"випадково не порушили сумісність з Python 2 або 3 незалежно від того, на " +"якій версії ви зазвичай запускаєте свої тести під час розробки." + +msgid "Consider using optional static type checking" +msgstr "Розгляньте можливість використання додаткової статичної перевірки типу" + +msgid "" +"Another way to help port your code is to use a static type checker like " +"mypy_ or pytype_ on your code. These tools can be used to analyze your code " +"as if it's being run under Python 2, then you can run the tool a second time " +"as if your code is running under Python 3. By running a static type checker " +"twice like this you can discover if you're e.g. misusing binary data type in " +"one version of Python compared to another. If you add optional type hints to " +"your code you can also explicitly state whether your APIs use textual or " +"binary data, helping to make sure everything functions as expected in both " +"versions of Python." +msgstr "" +"Ще один спосіб допомогти перенести ваш код – це використовувати засіб " +"перевірки статичних типів, наприклад mypy_ або pytype_ у вашому коді. Ці " +"інструменти можна використовувати для аналізу вашого коду так, ніби він " +"виконується під Python 2, а потім ви можете запустити інструмент вдруге, " +"ніби ваш код виконується під Python 3. Двічі запустивши перевірку статичного " +"типу, як це, ви можете виявити, чи ти напр. неправильне використання " +"двійкового типу даних в одній версії Python порівняно з іншою. Якщо ви " +"додаєте додаткові підказки типу до свого коду, ви також можете явно вказати, " +"чи ваші API використовують текстові чи двійкові дані, допомагаючи " +"переконатися, що все працює належним чином в обох версіях Python." diff --git a/howto/regex.po b/howto/regex.po new file mode 100644 index 000000000..9c5022640 --- /dev/null +++ b/howto/regex.po @@ -0,0 +1,2271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Regular Expression HOWTO" +msgstr "Регулярний вираз HOWTO" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling " +msgstr "A.M. Kuchling " + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"This document is an introductory tutorial to using regular expressions in " +"Python with the :mod:`re` module. It provides a gentler introduction than " +"the corresponding section in the Library Reference." +msgstr "" +"Цей документ є вступним посібником із використання регулярних виразів у " +"Python із модулем :mod:`re`. Він містить більш лагідний вступ, ніж " +"відповідний розділ довідника бібліотеки." + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +"Regular expressions (called REs, or regexes, or regex patterns) are " +"essentially a tiny, highly specialized programming language embedded inside " +"Python and made available through the :mod:`re` module. Using this little " +"language, you specify the rules for the set of possible strings that you " +"want to match; this set might contain English sentences, or e-mail " +"addresses, or TeX commands, or anything you like. You can then ask " +"questions such as \"Does this string match the pattern?\", or \"Is there a " +"match for the pattern anywhere in this string?\". You can also use REs to " +"modify a string or to split it apart in various ways." +msgstr "" +"Регулярні вирази (так звані RE, або регулярні вирази, або шаблони регулярних " +"виразів) — це, по суті, крихітна вузькоспеціалізована мова програмування, " +"вбудована в Python і доступна через модуль :mod:`re`. Використовуючи цю " +"маленьку мову, ви визначаєте правила для набору можливих рядків, які ви " +"хочете зіставити; цей набір може містити англійські речення, або адреси " +"електронної пошти, або команди TeX, або будь-що, що вам подобається. Потім " +"ви можете поставити такі запитання, як \"Чи відповідає цей рядок шаблону?\" " +"або \"Чи є відповідність шаблону десь у цьому рядку?\". Ви також можете " +"використовувати RE, щоб змінити рядок або розділити його різними способами." + +msgid "" +"Regular expression patterns are compiled into a series of bytecodes which " +"are then executed by a matching engine written in C. For advanced use, it " +"may be necessary to pay careful attention to how the engine will execute a " +"given RE, and write the RE in a certain way in order to produce bytecode " +"that runs faster. Optimization isn't covered in this document, because it " +"requires that you have a good understanding of the matching engine's " +"internals." +msgstr "" +"Шаблони регулярних виразів компілюються в серію байт-кодів, які потім " +"виконуються механізмом відповідності, написаним мовою C. Для розширеного " +"використання може знадобитися звернути особливу увагу на те, як механізм " +"виконуватиме заданий RE, і записати RE у певним чином, щоб створити байт-" +"код, який працює швидше. Оптимізація не розглядається в цьому документі, " +"оскільки вона вимагає, щоб ви добре розуміли внутрішні механізми " +"відповідності." + +msgid "" +"The regular expression language is relatively small and restricted, so not " +"all possible string processing tasks can be done using regular expressions. " +"There are also tasks that *can* be done with regular expressions, but the " +"expressions turn out to be very complicated. In these cases, you may be " +"better off writing Python code to do the processing; while Python code will " +"be slower than an elaborate regular expression, it will also probably be " +"more understandable." +msgstr "" +"Мова регулярних виразів є відносно невеликою та обмеженою, тому не всі " +"можливі завдання обробки рядків можна виконати за допомогою регулярних " +"виразів. Також є завдання, які *можна* виконувати регулярними виразами, але " +"вирази виявляються дуже складними. У цих випадках вам може бути краще " +"написати код Python для виконання обробки; Хоча код Python буде повільнішим, " +"ніж складний регулярний вираз, він також, ймовірно, буде більш зрозумілим." + +msgid "Simple Patterns" +msgstr "Прості візерунки" + +msgid "" +"We'll start by learning about the simplest possible regular expressions. " +"Since regular expressions are used to operate on strings, we'll begin with " +"the most common task: matching characters." +msgstr "" +"Ми почнемо з вивчення найпростіших регулярних виразів. Оскільки регулярні " +"вирази використовуються для роботи з рядками, ми почнемо з найпоширенішого " +"завдання: зіставлення символів." + +msgid "" +"For a detailed explanation of the computer science underlying regular " +"expressions (deterministic and non-deterministic finite automata), you can " +"refer to almost any textbook on writing compilers." +msgstr "" +"Для детального пояснення інформатики, що лежить в основі регулярних виразів " +"(детермінованих і недетермінованих кінцевих автоматів), ви можете звернутися " +"до майже будь-якого підручника з написання компіляторів." + +msgid "Matching Characters" +msgstr "Відповідні символи" + +msgid "" +"Most letters and characters will simply match themselves. For example, the " +"regular expression ``test`` will match the string ``test`` exactly. (You " +"can enable a case-insensitive mode that would let this RE match ``Test`` or " +"``TEST`` as well; more about this later.)" +msgstr "" +"Більшість літер і символів просто збігаються. Наприклад, регулярний вираз " +"``test`` точно збігатиметься з рядком ``test``. (Ви можете ввімкнути режим " +"без урахування регістру, який дозволив би цьому RE відповідати також " +"``Test`` або ``TEST``; докладніше про це пізніше.)" + +msgid "" +"There are exceptions to this rule; some characters are special :dfn:" +"`metacharacters`, and don't match themselves. Instead, they signal that " +"some out-of-the-ordinary thing should be matched, or they affect other " +"portions of the RE by repeating them or changing their meaning. Much of " +"this document is devoted to discussing various metacharacters and what they " +"do." +msgstr "" +"З цього правила є винятки; деякі символи є спеціальними :dfn:" +"`metacharacters` і не відповідають самі собі. Натомість вони сигналізують " +"про те, що потрібно зіставити щось незвичайне, або впливають на інші частини " +"RE, повторюючи їх або змінюючи їх значення. Велика частина цього документа " +"присвячена обговоренню різних метасимволів і того, що вони роблять." + +msgid "" +"Here's a complete list of the metacharacters; their meanings will be " +"discussed in the rest of this HOWTO." +msgstr "" +"Ось повний список метасимволів; їхнє значення буде обговорено в решті цього " +"HOWTO." + +msgid "" +"The first metacharacters we'll look at are ``[`` and ``]``. They're used for " +"specifying a character class, which is a set of characters that you wish to " +"match. Characters can be listed individually, or a range of characters can " +"be indicated by giving two characters and separating them by a ``'-'``. For " +"example, ``[abc]`` will match any of the characters ``a``, ``b``, or ``c``; " +"this is the same as ``[a-c]``, which uses a range to express the same set of " +"characters. If you wanted to match only lowercase letters, your RE would be " +"``[a-z]``." +msgstr "" +"Перші метасимволи, які ми розглянемо, це ``[`` і ``]``. Вони " +"використовуються для вказівки класу символів, який є набором символів, які " +"ви хочете зіставити. Символи можна перераховувати окремо або діапазон " +"символів можна вказати двома символами та розділити їх символом ``'-'``. " +"Наприклад, \"[abc]\" відповідатиме будь-якому із символів \"a\", \"b\" або " +"\"c\"; це те саме, що ``[a-c]``, який використовує діапазон для вираження " +"того самого набору символів. Якщо ви хочете зіставити лише малі літери, " +"вашим RE буде ``[a-z]``." + +msgid "" +"Metacharacters (except ``\\``) are not active inside classes. For example, " +"``[akm$]`` will match any of the characters ``'a'``, ``'k'``, ``'m'``, or " +"``'$'``; ``'$'`` is usually a metacharacter, but inside a character class " +"it's stripped of its special nature." +msgstr "" +"Метасимволи (крім ``\\``) неактивні всередині класів. Наприклад, ``[akm$]`` " +"відповідатиме будь-якому із символів ``'a'``, ``'k'``, ``'m'`` або ``'$'``; " +"``'$'`` зазвичай є метасимволом, але всередині класу символів він " +"позбавлений особливої природи." + +msgid "" +"You can match the characters not listed within the class by :dfn:" +"`complementing` the set. This is indicated by including a ``'^'`` as the " +"first character of the class. For example, ``[^5]`` will match any character " +"except ``'5'``. If the caret appears elsewhere in a character class, it " +"does not have special meaning. For example: ``[5^]`` will match either a " +"``'5'`` or a ``'^'``." +msgstr "" +"Ви можете зіставити символи, яких немає в списку в класі, :dfn:" +"`complementing` набір. Це вказується додаванням ``'^'`` як першого символу " +"класу. Наприклад, ``[^5]`` відповідатиме будь-якому символу, крім ``'5'``. " +"Якщо каретка з’являється в іншому місці класу символів, вона не має " +"особливого значення. Наприклад: ``[5^]`` відповідатиме або ``'5''``, або " +"``'^'``." + +msgid "" +"Perhaps the most important metacharacter is the backslash, ``\\``. As in " +"Python string literals, the backslash can be followed by various characters " +"to signal various special sequences. It's also used to escape all the " +"metacharacters so you can still match them in patterns; for example, if you " +"need to match a ``[`` or ``\\``, you can precede them with a backslash to " +"remove their special meaning: ``\\[`` or ``\\\\``." +msgstr "" +"Мабуть, найважливішим метасимволом є зворотна коса риска, ``\\``. Як і в " +"рядкових літералах Python, за зворотною скісною рискою можуть слідувати " +"різні символи, щоб позначити різні спеціальні послідовності. Він також " +"використовується для екранування всіх метасимволів, щоб ви все ще могли " +"зіставляти їх у шаблонах; наприклад, якщо вам потрібно знайти відповідність " +"``[`` або ``\\``, ви можете поставити перед ними зворотну скісну риску, щоб " +"видалити їхнє спеціальне значення: ``\\[`` або ``\\\\``." + +msgid "" +"Some of the special sequences beginning with ``'\\'`` represent predefined " +"sets of characters that are often useful, such as the set of digits, the set " +"of letters, or the set of anything that isn't whitespace." +msgstr "" +"Деякі спеціальні послідовності, що починаються з ``'\\'``, представляють " +"заздалегідь визначені набори символів, які часто є корисними, наприклад " +"набір цифр, набір літер або набір будь-чого, що не є пробілами." + +msgid "" +"Let's take an example: ``\\w`` matches any alphanumeric character. If the " +"regex pattern is expressed in bytes, this is equivalent to the class ``[a-zA-" +"Z0-9_]``. If the regex pattern is a string, ``\\w`` will match all the " +"characters marked as letters in the Unicode database provided by the :mod:" +"`unicodedata` module. You can use the more restricted definition of ``\\w`` " +"in a string pattern by supplying the :const:`re.ASCII` flag when compiling " +"the regular expression." +msgstr "" +"Розглянемо приклад: ``\\w`` відповідає будь-якому буквено-цифровому символу. " +"Якщо шаблон регулярного виразу виражено в байтах, це еквівалентно класу ``[a-" +"zA-Z0-9_]``. Якщо шаблон регулярного виразу є рядком, ``\\w`` відповідатиме " +"всім символам, позначеним як літери в базі даних Unicode, наданій модулем :" +"mod:`unicodedata`. Ви можете використовувати більш обмежене визначення ``" +"\\w`` у шаблоні рядка, поставивши прапорець :const:`re.ASCII` під час " +"компіляції регулярного виразу." + +msgid "" +"The following list of special sequences isn't complete. For a complete list " +"of sequences and expanded class definitions for Unicode string patterns, see " +"the last part of :ref:`Regular Expression Syntax ` in the " +"Standard Library reference. In general, the Unicode versions match any " +"character that's in the appropriate category in the Unicode database." +msgstr "" +"Наступний список спеціальних послідовностей не є повним. Щоб отримати повний " +"список послідовностей і розширених визначень класів для шаблонів рядків " +"Unicode, перегляньте останню частину :ref:`Синтаксису регулярного виразу ` у довіднику стандартної бібліотеки. Загалом, версії Unicode " +"відповідають будь-якому символу, який знаходиться у відповідній категорії " +"бази даних Unicode." + +msgid "``\\d``" +msgstr "``\\d``" + +msgid "Matches any decimal digit; this is equivalent to the class ``[0-9]``." +msgstr "" +"Збігається з будь-якою десятковою цифрою; це еквівалентно класу ``[0-9]``." + +msgid "``\\D``" +msgstr "``\\D``" + +msgid "" +"Matches any non-digit character; this is equivalent to the class ``[^0-9]``." +msgstr "" +"Відповідає будь-якому нецифровому символу; це еквівалентно класу ``[^0-9]``." + +msgid "``\\s``" +msgstr "``\\s``" + +msgid "" +"Matches any whitespace character; this is equivalent to the class ``[ \\t\\n" +"\\r\\f\\v]``." +msgstr "" +"Відповідає будь-якому пробілу; це еквівалентно класу ``[ \\t\\n\\r\\f\\v]``." + +msgid "``\\S``" +msgstr "``\\S``" + +msgid "" +"Matches any non-whitespace character; this is equivalent to the class ``[^ " +"\\t\\n\\r\\f\\v]``." +msgstr "" +"Відповідає будь-якому непробільному символу; це еквівалентно класу ``[^ \\t" +"\\n\\r\\f\\v]``." + +msgid "``\\w``" +msgstr "``\\w``" + +msgid "" +"Matches any alphanumeric character; this is equivalent to the class ``[a-zA-" +"Z0-9_]``." +msgstr "" +"Відповідає будь-якому буквено-цифровому символу; це еквівалентно класу ``[a-" +"zA-Z0-9_]``." + +msgid "``\\W``" +msgstr "``\\W``" + +msgid "" +"Matches any non-alphanumeric character; this is equivalent to the class " +"``[^a-zA-Z0-9_]``." +msgstr "" +"Відповідає будь-якому небуквено-цифровому символу; це еквівалентно класу " +"``[^a-zA-Z0-9_]``." + +msgid "" +"These sequences can be included inside a character class. For example, " +"``[\\s,.]`` is a character class that will match any whitespace character, " +"or ``','`` or ``'.'``." +msgstr "" +"Ці послідовності можна включити в клас символів. Наприклад, ``[\\s,.]`` — це " +"клас символів, який відповідатиме будь-якому пробілу, або ``',''`` чи " +"``'.''``." + +msgid "" +"The final metacharacter in this section is ``.``. It matches anything " +"except a newline character, and there's an alternate mode (:const:`re." +"DOTALL`) where it will match even a newline. ``.`` is often used where you " +"want to match \"any character\"." +msgstr "" +"Останнім метасимволом у цьому розділі є ``.``. Він відповідає будь-чому, " +"крім символу нового рядка, і є альтернативний режим (:const:`re.DOTALL`), де " +"він відповідатиме навіть новому рядку. ``.`` часто використовується, коли " +"потрібно знайти відповідність \"будь-якому символу\"." + +msgid "Repeating Things" +msgstr "Повторення речей" + +msgid "" +"Being able to match varying sets of characters is the first thing regular " +"expressions can do that isn't already possible with the methods available on " +"strings. However, if that was the only additional capability of regexes, " +"they wouldn't be much of an advance. Another capability is that you can " +"specify that portions of the RE must be repeated a certain number of times." +msgstr "" +"Здатність зіставляти різні набори символів — це перше, що можуть зробити " +"регулярні вирази, що ще не можливо за допомогою методів, доступних для " +"рядків. Однак, якби це була єдина додаткова можливість регулярних виразів, " +"вони не були б великим прогресом. Інша можливість полягає в тому, що ви " +"можете вказати, що частини RE мають повторюватися певну кількість разів." + +msgid "" +"The first metacharacter for repeating things that we'll look at is ``*``. " +"``*`` doesn't match the literal character ``'*'``; instead, it specifies " +"that the previous character can be matched zero or more times, instead of " +"exactly once." +msgstr "" +"Перший метасимвол для повторення речей, які ми розглянемо, це ``*``. ``*`` " +"не відповідає буквальному символу ``'*'``; натомість він визначає, що " +"попередній символ може бути зіставлений нуль або більше разів замість точно " +"одного разу." + +msgid "" +"For example, ``ca*t`` will match ``'ct'`` (0 ``'a'`` characters), ``'cat'`` " +"(1 ``'a'``), ``'caaat'`` (3 ``'a'`` characters), and so forth." +msgstr "" +"Наприклад, ``ca*t`` відповідатиме ``'ct'`` (0 символів ``'a'``), ``'cat'`` " +"(1 ``'a'``), ``'caaat'`` (3 символи ``'a'``) і так далі." + +msgid "" +"Repetitions such as ``*`` are :dfn:`greedy`; when repeating a RE, the " +"matching engine will try to repeat it as many times as possible. If later " +"portions of the pattern don't match, the matching engine will then back up " +"and try again with fewer repetitions." +msgstr "" +"Такі повтори, як ``*`` є :dfn:`greedy`; при повторенні RE механізм пошуку " +"відповідності намагатиметься повторити його якомога більше разів. Якщо " +"пізніші частини шаблону не збігаються, механізм пошуку відповідностей " +"створить резервну копію та спробує знову з меншою кількістю повторень." + +msgid "" +"A step-by-step example will make this more obvious. Let's consider the " +"expression ``a[bcd]*b``. This matches the letter ``'a'``, zero or more " +"letters from the class ``[bcd]``, and finally ends with a ``'b'``. Now " +"imagine matching this RE against the string ``'abcbd'``." +msgstr "" +"Покроковий приклад зробить це більш очевидним. Розглянемо вираз " +"``a[bcd]*b``. Це відповідає літері ``'a'``, нулю або більше літер з класу " +"``[bcd]`` і, нарешті, закінчується ``'b'``. Тепер уявіть, що зіставлення " +"цього RE з рядком ``'abcbd``." + +msgid "Step" +msgstr "Крок" + +msgid "Matched" +msgstr "Збіг" + +msgid "Explanation" +msgstr "Пояснення" + +msgid "1" +msgstr "1" + +msgid "``a``" +msgstr "``a``" + +msgid "The ``a`` in the RE matches." +msgstr "``a`` у RE відповідає." + +msgid "2" +msgstr "2" + +msgid "``abcbd``" +msgstr "``abcbd``" + +msgid "" +"The engine matches ``[bcd]*``, going as far as it can, which is to the end " +"of the string." +msgstr "" +"Механізм збігається з ``[bcd]*``, просуваючись якомога далі, тобто до кінця " +"рядка." + +msgid "3" +msgstr "3" + +msgid "*Failure*" +msgstr "*Невдача*" + +msgid "" +"The engine tries to match ``b``, but the current position is at the end of " +"the string, so it fails." +msgstr "" +"Механізм намагається знайти відповідність ``b``, але поточна позиція " +"знаходиться в кінці рядка, тому це не вдається." + +msgid "4" +msgstr "4" + +msgid "``abcb``" +msgstr "``abcb``" + +msgid "Back up, so that ``[bcd]*`` matches one less character." +msgstr "" +"Зробіть резервну копію, щоб ``[bcd]*`` відповідав на один символ менше." + +msgid "5" +msgstr "5" + +msgid "" +"Try ``b`` again, but the current position is at the last character, which is " +"a ``'d'``." +msgstr "" +"Спробуйте ``b`` ще раз, але поточна позиція знаходиться на останньому " +"символі, який є ``'d'``." + +msgid "6" +msgstr "6" + +msgid "``abc``" +msgstr "``abc``" + +msgid "Back up again, so that ``[bcd]*`` is only matching ``bc``." +msgstr "Знову створіть резервну копію, щоб ``[bcd]*`` відповідало лише ``bc``." + +msgid "" +"Try ``b`` again. This time the character at the current position is " +"``'b'``, so it succeeds." +msgstr "" +"Спробуйте ``b`` знову. Цього разу символом у поточній позиції є ``'b'``, " +"отже, це вдалось." + +msgid "" +"The end of the RE has now been reached, and it has matched ``'abcb'``. This " +"demonstrates how the matching engine goes as far as it can at first, and if " +"no match is found it will then progressively back up and retry the rest of " +"the RE again and again. It will back up until it has tried zero matches for " +"``[bcd]*``, and if that subsequently fails, the engine will conclude that " +"the string doesn't match the RE at all." +msgstr "" +"Кінець RE вже досягнуто, і він відповідає ``'abcb``. Це демонструє, як " +"система пошуку відповідностей спочатку йде так далеко, як тільки може, і " +"якщо відповідності не знайдено, вона поступово створюватиме резервні копії " +"та повторюватиме решту RE знову і знову. Він виконуватиме резервне " +"копіювання, доки не знайде нульових збігів для ``[bcd]*``, і якщо це згодом " +"не вдасться, система зробить висновок, що рядок взагалі не відповідає RE." + +msgid "" +"Another repeating metacharacter is ``+``, which matches one or more times. " +"Pay careful attention to the difference between ``*`` and ``+``; ``*`` " +"matches *zero* or more times, so whatever's being repeated may not be " +"present at all, while ``+`` requires at least *one* occurrence. To use a " +"similar example, ``ca+t`` will match ``'cat'`` (1 ``'a'``), ``'caaat'`` (3 " +"``'a'``\\ s), but won't match ``'ct'``." +msgstr "" +"Ще один повторюваний метасимвол – це ``+``, який збігається один або кілька " +"разів. Зверніть увагу на різницю між ``*`` і ``+``; ``*`` відповідає *нуль* " +"або більше разів, тому все, що повторюється, може взагалі не бути присутнім, " +"тоді як ``+`` вимагає принаймні *одного* входження. Щоб використати подібний " +"приклад, ``ca+t`` відповідатиме ``'cat'`` (1 ``'a'``), ``'caaat'`` (3 ``'a'``" +"\\ s), але не відповідатиме ``'ct``." + +msgid "" +"There are two more repeating operators or quantifiers. The question mark " +"character, ``?``, matches either once or zero times; you can think of it as " +"marking something as being optional. For example, ``home-?brew`` matches " +"either ``'homebrew'`` or ``'home-brew'``." +msgstr "" + +msgid "" +"The most complicated quantifier is ``{m,n}``, where *m* and *n* are decimal " +"integers. This quantifier means there must be at least *m* repetitions, and " +"at most *n*. For example, ``a/{1,3}b`` will match ``'a/b'``, ``'a//b'``, " +"and ``'a///b'``. It won't match ``'ab'``, which has no slashes, or ``'a////" +"b'``, which has four." +msgstr "" + +msgid "" +"You can omit either *m* or *n*; in that case, a reasonable value is assumed " +"for the missing value. Omitting *m* is interpreted as a lower limit of 0, " +"while omitting *n* results in an upper bound of infinity." +msgstr "" +"Ви можете опустити *m* або *n*; у цьому випадку для відсутнього значення " +"приймається розумне значення. Пропуск *m* інтерпретується як нижня межа 0, " +"тоді як пропуск *n* призводить до верхньої межі нескінченності." + +msgid "" +"Readers of a reductionist bent may notice that the three other quantifiers " +"can all be expressed using this notation. ``{0,}`` is the same as ``*``, " +"``{1,}`` is equivalent to ``+``, and ``{0,1}`` is the same as ``?``. It's " +"better to use ``*``, ``+``, or ``?`` when you can, simply because they're " +"shorter and easier to read." +msgstr "" + +msgid "Using Regular Expressions" +msgstr "Використання регулярних виразів" + +msgid "" +"Now that we've looked at some simple regular expressions, how do we actually " +"use them in Python? The :mod:`re` module provides an interface to the " +"regular expression engine, allowing you to compile REs into objects and then " +"perform matches with them." +msgstr "" +"Тепер, коли ми розглянули деякі прості регулярні вирази, як ми насправді " +"використовуємо їх у Python? Модуль :mod:`re` надає інтерфейс механізму " +"регулярних виразів, дозволяючи вам компілювати RE в об’єкти, а потім " +"виконувати з ними збіги." + +msgid "Compiling Regular Expressions" +msgstr "Компіляція регулярних виразів" + +msgid "" +"Regular expressions are compiled into pattern objects, which have methods " +"for various operations such as searching for pattern matches or performing " +"string substitutions. ::" +msgstr "" +"Регулярні вирази компілюються в об’єкти шаблонів, які мають методи для " +"різноманітних операцій, таких як пошук збігів шаблону або виконання " +"підстановок рядків. ::" + +msgid "" +":func:`re.compile` also accepts an optional *flags* argument, used to enable " +"various special features and syntax variations. We'll go over the available " +"settings later, but for now a single example will do::" +msgstr "" +":func:`re.compile` також приймає необов’язковий аргумент *flags*, який " +"використовується для ввімкнення різних спеціальних функцій і варіантів " +"синтаксису. Пізніше ми розглянемо доступні параметри, а поки підійде один " +"приклад:" + +msgid "" +"The RE is passed to :func:`re.compile` as a string. REs are handled as " +"strings because regular expressions aren't part of the core Python language, " +"and no special syntax was created for expressing them. (There are " +"applications that don't need REs at all, so there's no need to bloat the " +"language specification by including them.) Instead, the :mod:`re` module is " +"simply a C extension module included with Python, just like the :mod:" +"`socket` or :mod:`zlib` modules." +msgstr "" +"RE передається до :func:`re.compile` як рядок. RE обробляються як рядки, " +"оскільки регулярні вирази не є частиною основної мови Python, і для їх " +"вираження не створено спеціального синтаксису. (Існують програми, які " +"взагалі не потребують RE, тому немає потреби роздувати специфікацію мови, " +"включаючи їх.) Натомість модуль :mod:`re` є просто модулем розширення C, що " +"входить до складу Python, як і модулі :mod:`socket` або :mod:`zlib`." + +msgid "" +"Putting REs in strings keeps the Python language simpler, but has one " +"disadvantage which is the topic of the next section." +msgstr "" +"Розміщення RE в рядках робить мову Python простішою, але має один недолік, " +"який є темою наступного розділу." + +msgid "The Backslash Plague" +msgstr "Зворотна коса чума" + +msgid "" +"As stated earlier, regular expressions use the backslash character " +"(``'\\'``) to indicate special forms or to allow special characters to be " +"used without invoking their special meaning. This conflicts with Python's " +"usage of the same character for the same purpose in string literals." +msgstr "" +"Як було сказано раніше, у регулярних виразах використовується символ " +"зворотної косої риски (``'\\'``), щоб позначити спеціальні форми або " +"дозволити використовувати спеціальні символи без виклику їх особливого " +"значення. Це суперечить використанню Python того самого символу для тієї ж " +"мети в рядкових літералах." + +msgid "" +"Let's say you want to write a RE that matches the string ``\\section``, " +"which might be found in a LaTeX file. To figure out what to write in the " +"program code, start with the desired string to be matched. Next, you must " +"escape any backslashes and other metacharacters by preceding them with a " +"backslash, resulting in the string ``\\\\section``. The resulting string " +"that must be passed to :func:`re.compile` must be ``\\\\section``. However, " +"to express this as a Python string literal, both backslashes must be escaped " +"*again*." +msgstr "" +"Припустімо, ви хочете написати RE, який відповідає рядку ``\\section``, який " +"можна знайти у файлі LaTeX. Щоб зрозуміти, що писати в коді програми, " +"почніть із потрібного рядка, який потрібно знайти. Далі ви повинні уникнути " +"будь-яких зворотних похилих рисок та інших метасимволів, поставивши перед " +"ними зворотну похилу риску, що призведе до рядка ``\\\\section``. Отриманий " +"рядок, який потрібно передати в :func:`re.compile`, має бути ``\\" +"\\section``. Однак, щоб виразити це як рядковий літерал Python, обидві " +"зворотні похилі риски потрібно екранувати *знову*." + +msgid "Characters" +msgstr "Персонажі" + +msgid "Stage" +msgstr "етап" + +msgid "``\\section``" +msgstr "``\\розділ``" + +msgid "Text string to be matched" +msgstr "Текстовий рядок, який потрібно знайти" + +msgid "``\\\\section``" +msgstr "``\\\\розділ``" + +msgid "Escaped backslash for :func:`re.compile`" +msgstr "Екранований зворотний слеш для :func:`re.compile`" + +msgid "``\"\\\\\\\\section\"``" +msgstr "``\"\\\\\\\\розділ\"``" + +msgid "Escaped backslashes for a string literal" +msgstr "Екрановані зворотні косі риски для рядкового літералу" + +msgid "" +"In short, to match a literal backslash, one has to write ``'\\\\\\\\'`` as " +"the RE string, because the regular expression must be ``\\\\``, and each " +"backslash must be expressed as ``\\\\`` inside a regular Python string " +"literal. In REs that feature backslashes repeatedly, this leads to lots of " +"repeated backslashes and makes the resulting strings difficult to understand." +msgstr "" +"Коротше кажучи, щоб відповідати буквальному зворотному слешу, потрібно " +"написати ``'\\\\\\\\'`` як рядок RE, тому що регулярний вираз має бути ``\\" +"\\``, а кожен зворотний слеш має бути виражений як ``\\\\`` всередині " +"звичайного рядкового літералу Python. У RE, які неодноразово містять " +"зворотні косі риски, це призводить до великої кількості повторюваних " +"зворотних косих риск і ускладнює розуміння результуючих рядків." + +msgid "" +"The solution is to use Python's raw string notation for regular expressions; " +"backslashes are not handled in any special way in a string literal prefixed " +"with ``'r'``, so ``r\"\\n\"`` is a two-character string containing ``'\\'`` " +"and ``'n'``, while ``\"\\n\"`` is a one-character string containing a " +"newline. Regular expressions will often be written in Python code using this " +"raw string notation." +msgstr "" +"Рішення полягає у використанні необробленої рядкової нотації Python для " +"регулярних виразів; зворотні косі риски не обробляються спеціальним чином у " +"рядковому літералі з префіксом ``'r'``, тому ``r\"\\n\"`` є двосимвольним " +"рядком, що містить ``'\\'`` і ``' n'``, тоді як ``\"\\n\"`` є односимвольним " +"рядком, що містить новий рядок. Регулярні вирази часто записуються в коді " +"Python з використанням цієї необробленої рядкової нотації." + +msgid "" +"In addition, special escape sequences that are valid in regular expressions, " +"but not valid as Python string literals, now result in a :exc:" +"`DeprecationWarning` and will eventually become a :exc:`SyntaxError`, which " +"means the sequences will be invalid if raw string notation or escaping the " +"backslashes isn't used." +msgstr "" +"Крім того, спеціальні керуючі послідовності, дійсні в регулярних виразах, " +"але недійсні як рядкові літерали Python, тепер призводять до :exc:" +"`DeprecationWarning` і згодом стануть :exc:`SyntaxError`, що означає, що " +"послідовності будуть недійсними якщо не використовується необроблений " +"рядковий запис або екранування зворотних скісних риск." + +msgid "Regular String" +msgstr "Звичайний рядок" + +msgid "Raw string" +msgstr "Необроблений рядок" + +msgid "``\"ab*\"``" +msgstr "``\"ab*\"``" + +msgid "``r\"ab*\"``" +msgstr "``r\"ab*\"``" + +msgid "``r\"\\\\section\"``" +msgstr "``r\"\\\\розділ\"``" + +msgid "``\"\\\\w+\\\\s+\\\\1\"``" +msgstr "``\"\\\\w+\\\\s+\\\\1\"``" + +msgid "``r\"\\w+\\s+\\1\"``" +msgstr "``r\"\\w+\\s+\\1\"``" + +msgid "Performing Matches" +msgstr "Виконання матчів" + +msgid "" +"Once you have an object representing a compiled regular expression, what do " +"you do with it? Pattern objects have several methods and attributes. Only " +"the most significant ones will be covered here; consult the :mod:`re` docs " +"for a complete listing." +msgstr "" +"Якщо у вас є об’єкт, що представляє скомпільований регулярний вираз, що ви з " +"ним робите? Об’єкти шаблонів мають кілька методів і атрибутів. Тут будуть " +"розглянуті лише найважливіші з них; зверніться до документів :mod:`re` для " +"отримання повного списку." + +msgid "Method/Attribute" +msgstr "Метод/атрибут" + +msgid "Purpose" +msgstr "призначення" + +msgid "``match()``" +msgstr "``match()``" + +msgid "Determine if the RE matches at the beginning of the string." +msgstr "Визначте, чи відповідає RE на початку рядка." + +msgid "``search()``" +msgstr "``search()``" + +msgid "Scan through a string, looking for any location where this RE matches." +msgstr "Проскануйте рядок, шукаючи будь-яке місце, де цей RE відповідає." + +msgid "``findall()``" +msgstr "``findall()``" + +msgid "Find all substrings where the RE matches, and returns them as a list." +msgstr "" +"Знайти всі підрядки, де відповідає RE, і повернути їх у вигляді списку." + +msgid "``finditer()``" +msgstr "``finditer()``" + +msgid "" +"Find all substrings where the RE matches, and returns them as an :term:" +"`iterator`." +msgstr "" +"Знайти всі підрядки, де відповідає RE, і повернути їх як :term:`iterator`." + +msgid "" +":meth:`~re.Pattern.match` and :meth:`~re.Pattern.search` return ``None`` if " +"no match can be found. If they're successful, a :ref:`match object ` instance is returned, containing information about the match: " +"where it starts and ends, the substring it matched, and more." +msgstr "" +":meth:`~re.Pattern.match` і :meth:`~re.Pattern.search` повертають ``None``, " +"якщо збіг не знайдено. Якщо вони успішні, повертається екземпляр :ref:`match " +"object `, який містить інформацію про збіг: де він " +"починається і закінчується, підрядок, з яким він збігся, тощо." + +msgid "" +"You can learn about this by interactively experimenting with the :mod:`re` " +"module. If you have :mod:`tkinter` available, you may also want to look at :" +"source:`Tools/demo/redemo.py`, a demonstration program included with the " +"Python distribution. It allows you to enter REs and strings, and displays " +"whether the RE matches or fails. :file:`redemo.py` can be quite useful when " +"trying to debug a complicated RE." +msgstr "" +"Ви можете дізнатися про це, інтерактивно поекспериментувавши з модулем :mod:" +"`re`. Якщо у вас є :mod:`tkinter`, ви також можете переглянути :source:" +"`Tools/demo/redemo.py`, демонстраційну програму, що входить до дистрибутива " +"Python. Він дозволяє вводити RE та рядки, а також показує, чи RE збігається " +"чи не відповідає. :file:`redemo.py` може бути дуже корисним при спробі " +"налагодити складне RE." + +msgid "" +"This HOWTO uses the standard Python interpreter for its examples. First, run " +"the Python interpreter, import the :mod:`re` module, and compile a RE::" +msgstr "" +"Цей HOWTO використовує стандартний інтерпретатор Python для своїх прикладів. " +"Спочатку запустіть інтерпретатор Python, імпортуйте модуль :mod:`re` і " +"скомпілюйте RE::" + +msgid "" +"Now, you can try matching various strings against the RE ``[a-z]+``. An " +"empty string shouldn't match at all, since ``+`` means 'one or more " +"repetitions'. :meth:`~re.Pattern.match` should return ``None`` in this case, " +"which will cause the interpreter to print no output. You can explicitly " +"print the result of :meth:`!match` to make this clear. ::" +msgstr "" +"Тепер ви можете спробувати зіставити різні рядки з RE ``[a-z]+``. Порожній " +"рядок взагалі не повинен збігатися, оскільки ``+`` означає 'одне або більше " +"повторень'. :meth:`~re.Pattern.match` має повернути ``None`` у цьому " +"випадку, що призведе до того, що інтерпретатор не друкуватиме вихідні дані. " +"Ви можете явно надрукувати результат :meth:`!match`, щоб це було " +"зрозуміло. ::" + +msgid "" +"Now, let's try it on a string that it should match, such as ``tempo``. In " +"this case, :meth:`~re.Pattern.match` will return a :ref:`match object `, so you should store the result in a variable for later use. ::" +msgstr "" +"Тепер давайте спробуємо це на рядку, який має збігатися, наприклад " +"``tempo``. У цьому випадку :meth:`~re.Pattern.match` поверне :ref:`об’єкт " +"відповідності `, тому ви повинні зберегти результат у змінній " +"для подальшого використання. ::" + +msgid "" +"Now you can query the :ref:`match object ` for information " +"about the matching string. Match object instances also have several methods " +"and attributes; the most important ones are:" +msgstr "" +"Тепер ви можете запитати :ref:`match object ` для отримання " +"інформації про відповідний рядок. Екземпляри об’єктів зіставлення також " +"мають кілька методів і атрибутів; найважливіші з них:" + +msgid "``group()``" +msgstr "``group()``" + +msgid "Return the string matched by the RE" +msgstr "Повертає рядок, який відповідає RE" + +msgid "``start()``" +msgstr "``start()``" + +msgid "Return the starting position of the match" +msgstr "Повернути вихідну позицію матчу" + +msgid "``end()``" +msgstr "``end()``" + +msgid "Return the ending position of the match" +msgstr "Повернення кінцевої позиції матчу" + +msgid "``span()``" +msgstr "``span()``" + +msgid "Return a tuple containing the (start, end) positions of the match" +msgstr "Повертає кортеж, що містить (початкову, кінцеву) позиції збігу" + +msgid "Trying these methods will soon clarify their meaning::" +msgstr "Спроба цих методів незабаром прояснить їх значення:" + +msgid "" +":meth:`~re.Match.group` returns the substring that was matched by the RE. :" +"meth:`~re.Match.start` and :meth:`~re.Match.end` return the starting and " +"ending index of the match. :meth:`~re.Match.span` returns both start and end " +"indexes in a single tuple. Since the :meth:`~re.Pattern.match` method only " +"checks if the RE matches at the start of a string, :meth:`!start` will " +"always be zero. However, the :meth:`~re.Pattern.search` method of patterns " +"scans through the string, so the match may not start at zero in that " +"case. ::" +msgstr "" +":meth:`~re.Match.group` повертає підрядок, який був зіставлений RE. :meth:" +"`~re.Match.start` і :meth:`~re.Match.end` повертають початковий і кінцевий " +"індекси збігу. :meth:`~re.Match.span` повертає початковий і кінцевий індекси " +"в одному кортежі. Оскільки метод :meth:`~re.Pattern.match` лише перевіряє, " +"чи відповідає RE на початку рядка, :meth:`!start` завжди дорівнюватиме нулю. " +"Однак метод шаблонів :meth:`~re.Pattern.search` сканує рядок, тому в цьому " +"випадку збіг може не початися з нуля. ::" + +msgid "" +"In actual programs, the most common style is to store the :ref:`match object " +"` in a variable, and then check if it was ``None``. This " +"usually looks like::" +msgstr "" +"У реальних програмах найпоширенішим стилем є збереження :ref:`match object " +"` у змінній, а потім перевірка, чи вона була ``None``. " +"Зазвичай це виглядає так::" + +msgid "" +"Two pattern methods return all of the matches for a pattern. :meth:`~re." +"Pattern.findall` returns a list of matching strings::" +msgstr "" +"Два методи шаблону повертають усі збіги шаблону. :meth:`~re.Pattern.findall` " +"повертає список відповідних рядків::" + +msgid "" +"The ``r`` prefix, making the literal a raw string literal, is needed in this " +"example because escape sequences in a normal \"cooked\" string literal that " +"are not recognized by Python, as opposed to regular expressions, now result " +"in a :exc:`DeprecationWarning` and will eventually become a :exc:" +"`SyntaxError`. See :ref:`the-backslash-plague`." +msgstr "" +"Префікс ``r``, який робить літерал необробленим рядковим літералом, потрібен " +"у цьому прикладі, тому що escape-послідовності у звичайному \"вареному\" " +"рядковому літералі, які не розпізнаються Python, на відміну від регулярних " +"виразів, тепер призводять до :exc:`DeprecationWarning` і з часом стане :exc:" +"`SyntaxError`. Дивіться :ref:`the-backslash-plague`." + +msgid "" +":meth:`~re.Pattern.findall` has to create the entire list before it can be " +"returned as the result. The :meth:`~re.Pattern.finditer` method returns a " +"sequence of :ref:`match object ` instances as an :term:" +"`iterator`::" +msgstr "" +":meth:`~re.Pattern.findall` має створити весь список, перш ніж його можна " +"буде повернути як результат. Метод :meth:`~re.Pattern.finditer` повертає " +"послідовність екземплярів :ref:`match object ` як :term:" +"`iterator`::" + +msgid "Module-Level Functions" +msgstr "Функції рівня модуля" + +msgid "" +"You don't have to create a pattern object and call its methods; the :mod:" +"`re` module also provides top-level functions called :func:`~re.match`, :" +"func:`~re.search`, :func:`~re.findall`, :func:`~re.sub`, and so forth. " +"These functions take the same arguments as the corresponding pattern method " +"with the RE string added as the first argument, and still return either " +"``None`` or a :ref:`match object ` instance. ::" +msgstr "" +"Вам не потрібно створювати шаблонний об’єкт і викликати його методи; модуль :" +"mod:`re` також надає функції верхнього рівня під назвою :func:`~re.match`, :" +"func:`~re.search`, :func:`~re.findall`, :func:`~re.sub` і так далі. Ці " +"функції приймають ті самі аргументи, що й відповідний метод шаблону з рядком " +"RE, доданим як перший аргумент, і все одно повертають ``None`` або " +"екземпляр :ref:`match object `. ::" + +msgid "" +"Under the hood, these functions simply create a pattern object for you and " +"call the appropriate method on it. They also store the compiled object in a " +"cache, so future calls using the same RE won't need to parse the pattern " +"again and again." +msgstr "" +"Під капотом ці функції просто створюють для вас шаблонний об’єкт і " +"викликають для нього відповідний метод. Вони також зберігають скомпільований " +"об’єкт у кеш-пам’яті, тому для майбутніх викликів із використанням того " +"самого RE не потрібно буде аналізувати шаблон знову і знову." + +msgid "" +"Should you use these module-level functions, or should you get the pattern " +"and call its methods yourself? If you're accessing a regex within a loop, " +"pre-compiling it will save a few function calls. Outside of loops, there's " +"not much difference thanks to the internal cache." +msgstr "" +"Ви повинні використовувати ці функції на рівні модуля, чи вам слід отримати " +"шаблон і викликати його методи самостійно? Якщо ви отримуєте доступ до " +"регулярного виразу в циклі, його попередня компіляція заощадить кілька " +"викликів функцій. За межами циклів немає великої різниці завдяки " +"внутрішньому кешу." + +msgid "Compilation Flags" +msgstr "Прапори компіляції" + +msgid "" +"Compilation flags let you modify some aspects of how regular expressions " +"work. Flags are available in the :mod:`re` module under two names, a long " +"name such as :const:`IGNORECASE` and a short, one-letter form such as :const:" +"`I`. (If you're familiar with Perl's pattern modifiers, the one-letter " +"forms use the same letters; the short form of :const:`re.VERBOSE` is :const:" +"`re.X`, for example.) Multiple flags can be specified by bitwise OR-ing " +"them; ``re.I | re.M`` sets both the :const:`I` and :const:`M` flags, for " +"example." +msgstr "" +"Прапори компіляції дозволяють змінювати деякі аспекти роботи регулярних " +"виразів. Прапори доступні в модулі :mod:`re` під двома назвами: довгою " +"назвою, як-от :const:`IGNORECASE`, і короткою однолітерною формою, як-от :" +"const:`I`. (Якщо ви знайомі з модифікаторами шаблонів Perl, однолітерні " +"форми використовують ті самі літери; наприклад, коротка форма :const:`re." +"VERBOSE` це :const:`re.X`.) Кілька прапорів можуть вказувати їх порозрядним " +"АБО; ``re.I | re.M`` встановлює, наприклад, прапорці :const:`I` і :const:`M`." + +msgid "" +"Here's a table of the available flags, followed by a more detailed " +"explanation of each one." +msgstr "" +"Ось таблиця доступних прапорів із більш детальним поясненням кожного з них." + +msgid "Flag" +msgstr "Прапор" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`ASCII`, :const:`A`" +msgstr ":const:`ASCII`, :const:`A`" + +msgid "" +"Makes several escapes like ``\\w``, ``\\b``, ``\\s`` and ``\\d`` match only " +"on ASCII characters with the respective property." +msgstr "" +"Декілька символів екранування, як-от ``\\w``, ``\\b``, ``\\s`` і ``\\d``, " +"збігаються лише з символами ASCII з відповідною властивістю." + +msgid ":const:`DOTALL`, :const:`S`" +msgstr ":const:`DOTALL`, :const:`S`" + +msgid "Make ``.`` match any character, including newlines." +msgstr "" +"Зробіть \".\" відповідним будь-якому символу, включно з новими рядками." + +msgid ":const:`IGNORECASE`, :const:`I`" +msgstr ":const:`IGNORECASE`, :const:`I`" + +msgid "Do case-insensitive matches." +msgstr "Збіги без урахування регістру." + +msgid ":const:`LOCALE`, :const:`L`" +msgstr ":const:`LOCALE`, :const:`L`" + +msgid "Do a locale-aware match." +msgstr "Виконайте відповідність з урахуванням локалі." + +msgid ":const:`MULTILINE`, :const:`M`" +msgstr ":const:`MULTILINE`, :const:`M`" + +msgid "Multi-line matching, affecting ``^`` and ``$``." +msgstr "Багаторядкова відповідність, що впливає на ``^`` і ``$``." + +msgid ":const:`VERBOSE`, :const:`X` (for 'extended')" +msgstr ":const:`VERBOSE`, :const:`X` (для \"розширеного\")" + +msgid "" +"Enable verbose REs, which can be organized more cleanly and understandably." +msgstr "" +"Увімкніть докладні RE, які можна організувати більш чітко та зрозуміло." + +msgid "" +"Perform case-insensitive matching; character class and literal strings will " +"match letters by ignoring case. For example, ``[A-Z]`` will match lowercase " +"letters, too. Full Unicode matching also works unless the :const:`ASCII` " +"flag is used to disable non-ASCII matches. When the Unicode patterns ``[a-" +"z]`` or ``[A-Z]`` are used in combination with the :const:`IGNORECASE` flag, " +"they will match the 52 ASCII letters and 4 additional non-ASCII letters: " +"'İ' (U+0130, Latin capital letter I with dot above), 'ı' (U+0131, Latin " +"small letter dotless i), 'ſ' (U+017F, Latin small letter long s) and 'K' (U" +"+212A, Kelvin sign). ``Spam`` will match ``'Spam'``, ``'spam'``, " +"``'spAM'``, or ``'ſpam'`` (the latter is matched only in Unicode mode). This " +"lowercasing doesn't take the current locale into account; it will if you " +"also set the :const:`LOCALE` flag." +msgstr "" +"Виконуйте зіставлення без урахування регістру; клас символів і літеральні " +"рядки будуть відповідати буквам, ігноруючи регістр. Наприклад, ``[A-Z]`` " +"також відповідатиме малим регістрам. Повна відповідність Unicode також " +"працює, якщо не використовується прапорець :const:`ASCII`, щоб вимкнути " +"збіги, відмінні від ASCII. Коли шаблони Unicode ``[a-z]`` або ``[A-Z]`` " +"використовуються в поєднанні з прапором :const:`IGNORECASE`, вони " +"відповідатимуть 52 літерам ASCII і 4 додатковим літерам, які не належать до " +"ASCII: 'İ ' (U+0130, латинська велика літера I з крапкою вгорі), 'ı' (U" +"+0131, латинська мала літера без крапки), 'ſ' (U+017F, латинська мала літера " +"довге s) і 'K' (U +212A, знак Кельвіна). ``Spam`` відповідатиме ``'Spam'``, " +"``'spam'``, ``'spAM'`` або ``'ſpam'`` (останній збігається лише в режимі " +"Unicode). Цей нижній регістр не враховує поточну мову; це буде, якщо ви " +"також установите прапорець :const:`LOCALE`." + +msgid "" +"Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " +"dependent on the current locale instead of the Unicode database." +msgstr "" +"Зробіть ``\\w``, ``\\W``, ``\\b``, ``\\B`` і відповідність без урахування " +"регістру залежною від поточної мови замість бази даних Unicode." + +msgid "" +"Locales are a feature of the C library intended to help in writing programs " +"that take account of language differences. For example, if you're " +"processing encoded French text, you'd want to be able to write ``\\w+`` to " +"match words, but ``\\w`` only matches the character class ``[A-Za-z]`` in " +"bytes patterns; it won't match bytes corresponding to ``é`` or ``ç``. If " +"your system is configured properly and a French locale is selected, certain " +"C functions will tell the program that the byte corresponding to ``é`` " +"should also be considered a letter. Setting the :const:`LOCALE` flag when " +"compiling a regular expression will cause the resulting compiled object to " +"use these C functions for ``\\w``; this is slower, but also enables ``\\w+`` " +"to match French words as you'd expect. The use of this flag is discouraged " +"in Python 3 as the locale mechanism is very unreliable, it only handles one " +"\"culture\" at a time, and it only works with 8-bit locales. Unicode " +"matching is already enabled by default in Python 3 for Unicode (str) " +"patterns, and it is able to handle different locales/languages." +msgstr "" +"Локалі — це функція бібліотеки C, призначена для допомоги в написанні " +"програм, які враховують мовні відмінності. Наприклад, якщо ви обробляєте " +"закодований французький текст, ви б хотіли мати можливість писати ``\\w+`` " +"для відповідності слів, але ``\\w`` відповідає лише класу символів ``[A-Za- " +"z]`` у шаблонах байтів; він не співпадатиме з байтами, що відповідають ``é`` " +"або ``ç``. Якщо ваша система налаштована належним чином і вибрано французьку " +"мову, певні функції C повідомлять програмі, що байт, який відповідає ``é``, " +"також слід вважати літерою. Встановлення прапорця :const:`LOCALE` під час " +"компіляції регулярного виразу змусить отриманий скомпільований об’єкт " +"використовувати ці функції C для ``\\w``; це повільніше, але також дозволяє " +"``\\w+`` відповідати французьким словам, як ви очікуєте. Використання цього " +"прапора не рекомендується в Python 3, оскільки механізм локалізації дуже " +"ненадійний, він обробляє лише одну \"культуру\" за раз і працює лише з 8-" +"бітними локалями. Зіставлення Unicode вже ввімкнено за замовчуванням у " +"Python 3 для шаблонів Unicode (str), і він здатний обробляти різні локалі/" +"мови." + +msgid "" +"(``^`` and ``$`` haven't been explained yet; they'll be introduced in " +"section :ref:`more-metacharacters`.)" +msgstr "" +"(``^`` і ``$`` ще не пояснено; їх буде введено в розділі :ref:`more-" +"metacharacters`.)" + +msgid "" +"Usually ``^`` matches only at the beginning of the string, and ``$`` matches " +"only at the end of the string and immediately before the newline (if any) at " +"the end of the string. When this flag is specified, ``^`` matches at the " +"beginning of the string and at the beginning of each line within the string, " +"immediately following each newline. Similarly, the ``$`` metacharacter " +"matches either at the end of the string and at the end of each line " +"(immediately preceding each newline)." +msgstr "" +"Зазвичай ``^`` збігається лише на початку рядка, а ``$`` збігається лише в " +"кінці рядка та безпосередньо перед символом нового рядка (якщо є) у кінці " +"рядка. Якщо вказано цей прапорець, ``^`` збігається на початку рядка та на " +"початку кожного рядка в рядку, відразу після кожного нового рядка. Подібним " +"чином, метасимвол ``$`` збігається або в кінці рядка, і в кінці кожного " +"рядка (безпосередньо перед кожним новим рядком)." + +msgid "" +"Makes the ``'.'`` special character match any character at all, including a " +"newline; without this flag, ``'.'`` will match anything *except* a newline." +msgstr "" +"Робить спеціальний символ `''.''` відповідним будь-якому символу взагалі, " +"включно з символом нового рядка; без цього прапорця `''.''` відповідатиме " +"будь-чому *крім* нового рядка." + +msgid "" +"Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\s`` and ``\\S`` perform ASCII-" +"only matching instead of full Unicode matching. This is only meaningful for " +"Unicode patterns, and is ignored for byte patterns." +msgstr "" +"Змусити ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\s`` і ``\\S`` виконувати " +"відповідність лише ASCII замість повної Зіставлення Unicode. Це має значення " +"лише для шаблонів Unicode та ігнорується для шаблонів байтів." + +msgid "" +"This flag allows you to write regular expressions that are more readable by " +"granting you more flexibility in how you can format them. When this flag " +"has been specified, whitespace within the RE string is ignored, except when " +"the whitespace is in a character class or preceded by an unescaped " +"backslash; this lets you organize and indent the RE more clearly. This flag " +"also lets you put comments within a RE that will be ignored by the engine; " +"comments are marked by a ``'#'`` that's neither in a character class or " +"preceded by an unescaped backslash." +msgstr "" +"Цей прапорець дозволяє вам писати регулярні вирази, які є більш " +"читабельними, надаючи вам більше гнучкості у тому, як ви можете їх " +"форматувати. Якщо вказано цей прапорець, пробіли в рядку RE ігноруються, за " +"винятком випадків, коли пробіли знаходяться в класі символів або перед ними " +"стоїть неекранована зворотна похила риска; це дозволяє більш чітко " +"організувати та зробити відступи RE. Цей прапор також дозволяє розміщувати " +"коментарі в RE, які ігноруватимуться механізмом; коментарі позначаються " +"символом ``'#'``, якого немає в класі символів або якому передує " +"неекранований зворотний слеш." + +msgid "" +"For example, here's a RE that uses :const:`re.VERBOSE`; see how much easier " +"it is to read? ::" +msgstr "" +"Наприклад, ось RE, який використовує :const:`re.VERBOSE`; бачите, наскільки " +"легше читати? ::" + +msgid "Without the verbose setting, the RE would look like this::" +msgstr "Без параметра verbose RE виглядатиме так:" + +msgid "" +"In the above example, Python's automatic concatenation of string literals " +"has been used to break up the RE into smaller pieces, but it's still more " +"difficult to understand than the version using :const:`re.VERBOSE`." +msgstr "" +"У наведеному вище прикладі автоматичне об’єднання рядкових літералів Python " +"було використано для розбиття RE на менші частини, але це все ще важче " +"зрозуміти, ніж версію з використанням :const:`re.VERBOSE`." + +msgid "More Pattern Power" +msgstr "Більше потужності шаблону" + +msgid "" +"So far we've only covered a part of the features of regular expressions. In " +"this section, we'll cover some new metacharacters, and how to use groups to " +"retrieve portions of the text that was matched." +msgstr "" +"Поки що ми розглянули лише частину функцій регулярних виразів. У цьому " +"розділі ми розглянемо деякі нові метасимволи, а також те, як використовувати " +"групи для отримання частин тексту, які збігаються." + +msgid "More Metacharacters" +msgstr "Більше метасимволів" + +msgid "" +"There are some metacharacters that we haven't covered yet. Most of them " +"will be covered in this section." +msgstr "" +"Є деякі метасимволи, які ми ще не розглянули. Більшість із них буде " +"розглянуто в цьому розділі." + +msgid "" +"Some of the remaining metacharacters to be discussed are :dfn:`zero-width " +"assertions`. They don't cause the engine to advance through the string; " +"instead, they consume no characters at all, and simply succeed or fail. For " +"example, ``\\b`` is an assertion that the current position is located at a " +"word boundary; the position isn't changed by the ``\\b`` at all. This means " +"that zero-width assertions should never be repeated, because if they match " +"once at a given location, they can obviously be matched an infinite number " +"of times." +msgstr "" +"Деякі метасимволи, які залишилися для обговорення, це :dfn:`затвердження " +"нульової ширини`. Вони не змушують двигун просуватися по струні; натомість " +"вони взагалі не використовують жодних символів і просто досягають успіху або " +"зазнають невдачі. Наприклад, ``\\b`` - це твердження, що поточна позиція " +"розташована на межі слова; позиція взагалі не змінюється ``\\b``. Це " +"означає, що твердження нульової ширини ніколи не повинні повторюватися, " +"оскільки якщо вони збігаються один раз у заданому місці, вони, очевидно, " +"можуть бути зіставлені нескінченну кількість разів." + +msgid "``|``" +msgstr "``|``" + +msgid "" +"Alternation, or the \"or\" operator. If *A* and *B* are regular " +"expressions, ``A|B`` will match any string that matches either *A* or *B*. " +"``|`` has very low precedence in order to make it work reasonably when " +"you're alternating multi-character strings. ``Crow|Servo`` will match either " +"``'Crow'`` or ``'Servo'``, not ``'Cro'``, a ``'w'`` or an ``'S'``, and " +"``'ervo'``." +msgstr "" +"Чергування або оператор \"або\". Якщо *A* і *B* є регулярними виразами, ``A|" +"B`` відповідатиме будь-якому рядку, який відповідає *A* або *B*. ``|`` має " +"дуже низький пріоритет, щоб він працював розумно, коли ви чергуєте " +"багатосимвольні рядки. ``Crow|Servo`` відповідатиме ``'Crow'`` або " +"``'Servo'``, а не ``'Cro'``, ``'w'`` чи ``'S'`` і ``'ervo''``." + +msgid "" +"To match a literal ``'|'``, use ``\\|``, or enclose it inside a character " +"class, as in ``[|]``." +msgstr "" +"Щоб відповідати літералу ``'|'``, використовуйте ``\\|`` або вкладіть його в " +"клас символів, як у ``[|]``." + +msgid "``^``" +msgstr "``^``" + +msgid "" +"Matches at the beginning of lines. Unless the :const:`MULTILINE` flag has " +"been set, this will only match at the beginning of the string. In :const:" +"`MULTILINE` mode, this also matches immediately after each newline within " +"the string." +msgstr "" +"Збіги на початку рядків. Якщо не встановлено прапорець :const:`MULTILINE`, " +"він збігатиметься лише на початку рядка. У режимі :const:`MULTILINE` це " +"також збігається відразу після кожного нового рядка в рядку." + +msgid "" +"For example, if you wish to match the word ``From`` only at the beginning of " +"a line, the RE to use is ``^From``. ::" +msgstr "" +"Наприклад, якщо ви бажаєте зіставити слово ``From`` лише на початку рядка, " +"використовуйте RE ``^From``. ::" + +msgid "To match a literal ``'^'``, use ``\\^``." +msgstr "Щоб відповідати літералу ``'^'``, використовуйте ``\\^``." + +msgid "``$``" +msgstr "``$``" + +msgid "" +"Matches at the end of a line, which is defined as either the end of the " +"string, or any location followed by a newline character. ::" +msgstr "" +"Збігається в кінці рядка, який визначається як кінець рядка або будь-яке " +"місце, після якого йде символ нового рядка. ::" + +msgid "" +"To match a literal ``'$'``, use ``\\$`` or enclose it inside a character " +"class, as in ``[$]``." +msgstr "" +"Щоб відповідати літералу ``'$'``, використовуйте ``\\$`` або вкладіть його в " +"клас символів, як у ``[$]``." + +msgid "``\\A``" +msgstr "``\\A``" + +msgid "" +"Matches only at the start of the string. When not in :const:`MULTILINE` " +"mode, ``\\A`` and ``^`` are effectively the same. In :const:`MULTILINE` " +"mode, they're different: ``\\A`` still matches only at the beginning of the " +"string, but ``^`` may match at any location inside the string that follows a " +"newline character." +msgstr "" +"Збігається лише на початку рядка. Якщо не в режимі :const:`MULTILINE`, ``" +"\\A`` і ``^`` фактично однакові. У режимі :const:`MULTILINE` вони " +"відрізняються: ``\\A`` все ще збігається лише на початку рядка, але ``^`` " +"може збігатися в будь-якому місці всередині рядка, яке слідує за символом " +"нового рядка." + +msgid "``\\Z``" +msgstr "``\\Z``" + +msgid "Matches only at the end of the string." +msgstr "Збігається лише в кінці рядка." + +msgid "``\\b``" +msgstr "``\\b``" + +msgid "" +"Word boundary. This is a zero-width assertion that matches only at the " +"beginning or end of a word. A word is defined as a sequence of alphanumeric " +"characters, so the end of a word is indicated by whitespace or a non-" +"alphanumeric character." +msgstr "" +"Кордон слова. Це твердження нульової ширини, яке збігається лише на початку " +"або в кінці слова. Слово визначається як послідовність буквено-цифрових " +"символів, тому кінець слова позначається пробілом або неалфавітно-цифровим " +"символом." + +msgid "" +"The following example matches ``class`` only when it's a complete word; it " +"won't match when it's contained inside another word. ::" +msgstr "" +"Наступний приклад відповідає ``класу`` лише тоді, коли це повне слово; воно " +"не збігається, якщо міститься всередині іншого слова. ::" + +msgid "" +"There are two subtleties you should remember when using this special " +"sequence. First, this is the worst collision between Python's string " +"literals and regular expression sequences. In Python's string literals, ``" +"\\b`` is the backspace character, ASCII value 8. If you're not using raw " +"strings, then Python will convert the ``\\b`` to a backspace, and your RE " +"won't match as you expect it to. The following example looks the same as our " +"previous RE, but omits the ``'r'`` in front of the RE string. ::" +msgstr "" +"Використовуючи цю особливу послідовність, слід пам’ятати про дві тонкощі. По-" +"перше, це найгірша колізія між рядковими літералами Python і послідовностями " +"регулярних виразів. У рядкових літералах Python ``\\b`` є символом " +"повернення, значення ASCII 8. Якщо ви не використовуєте необроблені рядки, " +"тоді Python перетворить ``\\b`` на пропуск, а ваш RE не буде відповідати, як " +"ви очікуєте. Наступний приклад виглядає так само, як наш попередній RE, але " +"опущено ``'r'`` перед рядком RE. ::" + +msgid "" +"Second, inside a character class, where there's no use for this assertion, ``" +"\\b`` represents the backspace character, for compatibility with Python's " +"string literals." +msgstr "" +"По-друге, всередині класу символів, де немає користі для цього твердження, ``" +"\\b`` представляє символ зворотного простору для сумісності з рядковими " +"літералами Python." + +msgid "``\\B``" +msgstr "``\\B``" + +msgid "" +"Another zero-width assertion, this is the opposite of ``\\b``, only matching " +"when the current position is not at a word boundary." +msgstr "" +"Інше твердження нульової ширини, це протилежність ``\\b``, збігається лише " +"тоді, коли поточна позиція не знаходиться на межі слова." + +msgid "Grouping" +msgstr "Групування" + +msgid "" +"Frequently you need to obtain more information than just whether the RE " +"matched or not. Regular expressions are often used to dissect strings by " +"writing a RE divided into several subgroups which match different components " +"of interest. For example, an RFC-822 header line is divided into a header " +"name and a value, separated by a ``':'``, like this:" +msgstr "" +"Часто вам потрібно отримати більше інформації, ніж просто відповідність RE " +"чи ні. Регулярні вирази часто використовуються для аналізу рядків шляхом " +"запису RE, розділеного на кілька підгруп, які відповідають різним цікавим " +"компонентам. Наприклад, рядок заголовка RFC-822 розділено на ім’я заголовка " +"та значення, розділені символом ``':'``, ось так:" + +msgid "" +"This can be handled by writing a regular expression which matches an entire " +"header line, and has one group which matches the header name, and another " +"group which matches the header's value." +msgstr "" +"Це можна вирішити, написавши регулярний вираз, який відповідає всьому рядку " +"заголовка та має одну групу, яка відповідає імені заголовка, та іншу групу, " +"яка відповідає значенню заголовка." + +msgid "" +"Groups are marked by the ``'('``, ``')'`` metacharacters. ``'('`` and " +"``')'`` have much the same meaning as they do in mathematical expressions; " +"they group together the expressions contained inside them, and you can " +"repeat the contents of a group with a quantifier, such as ``*``, ``+``, ``?" +"``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more " +"repetitions of ``ab``. ::" +msgstr "" + +msgid "" +"Groups indicated with ``'('``, ``')'`` also capture the starting and ending " +"index of the text that they match; this can be retrieved by passing an " +"argument to :meth:`~re.Match.group`, :meth:`~re.Match.start`, :meth:`~re." +"Match.end`, and :meth:`~re.Match.span`. Groups are numbered starting with " +"0. Group 0 is always present; it's the whole RE, so :ref:`match object " +"` methods all have group 0 as their default argument. Later " +"we'll see how to express groups that don't capture the span of text that " +"they match. ::" +msgstr "" +"Групи, позначені ``'('``, ``')'`` також фіксують початковий і кінцевий " +"індекс тексту, якому вони відповідають; це можна отримати, передавши " +"аргумент до :meth:`~re.Match.group`, :meth:`~re.Match.start`, :meth:`~re." +"Match.end` і :meth:`~re.Match.span`. Групи нумеруються, починаючи з 0. Група " +"0 завжди присутня; це весь RE, тому всі методи :ref:`match object ` мають групу 0 як аргумент за замовчуванням. Пізніше ми побачимо, " +"як виражати групи, які не фіксують діапазон тексту, якому вони " +"відповідають. ::" + +msgid "" +"Subgroups are numbered from left to right, from 1 upward. Groups can be " +"nested; to determine the number, just count the opening parenthesis " +"characters, going from left to right. ::" +msgstr "" +"Підгрупи нумеруються зліва направо, починаючи з 1 і вище. Групи можуть бути " +"вкладеними; щоб визначити число, просто порахуйте символи відкриваючих " +"дужок, рухаючись зліва направо. ::" + +msgid "" +":meth:`~re.Match.group` can be passed multiple group numbers at a time, in " +"which case it will return a tuple containing the corresponding values for " +"those groups. ::" +msgstr "" +":meth:`~re.Match.group` можна передати кілька номерів груп одночасно, і в " +"цьому випадку він поверне кортеж, що містить відповідні значення для цих " +"груп. ::" + +msgid "" +"The :meth:`~re.Match.groups` method returns a tuple containing the strings " +"for all the subgroups, from 1 up to however many there are. ::" +msgstr "" +"Метод :meth:`~re.Match.groups` повертає кортеж, що містить рядки для всіх " +"підгруп, від 1 до будь-якої кількості. ::" + +msgid "" +"Backreferences in a pattern allow you to specify that the contents of an " +"earlier capturing group must also be found at the current location in the " +"string. For example, ``\\1`` will succeed if the exact contents of group 1 " +"can be found at the current position, and fails otherwise. Remember that " +"Python's string literals also use a backslash followed by numbers to allow " +"including arbitrary characters in a string, so be sure to use a raw string " +"when incorporating backreferences in a RE." +msgstr "" +"Зворотні посилання в шаблоні дозволяють вказати, що вміст попередньої групи " +"захоплення також має бути знайдений у поточному місці в рядку. Наприклад, ``" +"\\1`` буде успішним, якщо точний вміст групи 1 можна знайти в поточній " +"позиції, і не вдасться в іншому випадку. Пам’ятайте, що рядкові літерали " +"Python також використовують зворотну скісну риску, за якою слідують числа, " +"щоб дозволити включати довільні символи в рядок, тому обов’язково " +"використовуйте необроблений рядок, коли включаєте зворотні посилання в RE." + +msgid "For example, the following RE detects doubled words in a string. ::" +msgstr "Наприклад, наступний RE виявляє подвоєні слова в рядку. ::" + +msgid "" +"Backreferences like this aren't often useful for just searching through a " +"string --- there are few text formats which repeat data in this way --- but " +"you'll soon find out that they're *very* useful when performing string " +"substitutions." +msgstr "" +"Подібні зворотні посилання не часто корисні лише для пошуку в рядку --- є " +"кілька текстових форматів, які повторюють дані таким чином --- але незабаром " +"ви зрозумієте, що вони *дуже* корисні під час виконання замін рядків ." + +msgid "Non-capturing and Named Groups" +msgstr "Неперехоплювані та іменовані групи" + +msgid "" +"Elaborate REs may use many groups, both to capture substrings of interest, " +"and to group and structure the RE itself. In complex REs, it becomes " +"difficult to keep track of the group numbers. There are two features which " +"help with this problem. Both of them use a common syntax for regular " +"expression extensions, so we'll look at that first." +msgstr "" +"Розроблені RE можуть використовувати багато груп як для захоплення цікавих " +"підрядків, так і для групування та структурування самого RE. У складних RE " +"стає важко відслідковувати номери груп. Є дві функції, які допомагають " +"вирішити цю проблему. Обидва вони використовують загальний синтаксис для " +"розширень регулярних виразів, тому ми розглянемо це спочатку." + +msgid "" +"Perl 5 is well known for its powerful additions to standard regular " +"expressions. For these new features the Perl developers couldn't choose new " +"single-keystroke metacharacters or new special sequences beginning with ``" +"\\`` without making Perl's regular expressions confusingly different from " +"standard REs. If they chose ``&`` as a new metacharacter, for example, old " +"expressions would be assuming that ``&`` was a regular character and " +"wouldn't have escaped it by writing ``\\&`` or ``[&]``." +msgstr "" +"Perl 5 добре відомий своїми потужними доповненнями до стандартних регулярних " +"виразів. Для цих нових можливостей розробники Perl не могли вибрати нові " +"одноклавішні метасимволи або нові спеціальні послідовності, що починаються з " +"``\\``, не зробивши регулярні вирази Perl різко відмінними від стандартних " +"RE. Наприклад, якби вони вибрали ``&`` як новий метасимвол, старі вирази " +"припускали б, що ``&`` був звичайним символом і не міг би уникнути його, " +"написавши ``\\&`` або ``[ &]``." + +msgid "" +"The solution chosen by the Perl developers was to use ``(?...)`` as the " +"extension syntax. ``?`` immediately after a parenthesis was a syntax error " +"because the ``?`` would have nothing to repeat, so this didn't introduce any " +"compatibility problems. The characters immediately after the ``?`` " +"indicate what extension is being used, so ``(?=foo)`` is one thing (a " +"positive lookahead assertion) and ``(?:foo)`` is something else (a non-" +"capturing group containing the subexpression ``foo``)." +msgstr "" +"Рішенням, обраним розробниками Perl, було використання ``(?...)`` як " +"синтаксису розширення. ``?`` відразу після дужок було синтаксичною помилкою, " +"оскільки ``?`` не було б чого повторювати, тому це не створювало жодних " +"проблем із сумісністю. Символи відразу після ``?`` вказують на те, яке " +"розширення використовується, тому ``(?=foo)`` це одне (позитивне твердження " +"попереднього перегляду), а ``(?:foo)`` це щось інше ( група без захоплення, " +"що містить підвираз ``foo``)." + +msgid "" +"Python supports several of Perl's extensions and adds an extension syntax to " +"Perl's extension syntax. If the first character after the question mark is " +"a ``P``, you know that it's an extension that's specific to Python." +msgstr "" +"Python підтримує кілька розширень Perl і додає синтаксис розширення до " +"синтаксису розширення Perl. Якщо першим символом після знака питання є " +"``P``, ви знаєте, що це розширення, специфічне для Python." + +msgid "" +"Now that we've looked at the general extension syntax, we can return to the " +"features that simplify working with groups in complex REs." +msgstr "" +"Тепер, коли ми розглянули загальний синтаксис розширення, ми можемо " +"повернутися до функцій, які спрощують роботу з групами в складних RE." + +msgid "" +"Sometimes you'll want to use a group to denote a part of a regular " +"expression, but aren't interested in retrieving the group's contents. You " +"can make this fact explicit by using a non-capturing group: ``(?:...)``, " +"where you can replace the ``...`` with any other regular expression. ::" +msgstr "" +"Іноді вам потрібно використати групу для позначення частини регулярного " +"виразу, але ви не зацікавлені в отриманні вмісту групи. Ви можете зробити " +"цей факт явним, використовуючи групу без захоплення: ``(?:...)``, де ви " +"можете замінити ``...`` будь-яким іншим регулярним виразом. ::" + +msgid "" +"Except for the fact that you can't retrieve the contents of what the group " +"matched, a non-capturing group behaves exactly the same as a capturing " +"group; you can put anything inside it, repeat it with a repetition " +"metacharacter such as ``*``, and nest it within other groups (capturing or " +"non-capturing). ``(?:...)`` is particularly useful when modifying an " +"existing pattern, since you can add new groups without changing how all the " +"other groups are numbered. It should be mentioned that there's no " +"performance difference in searching between capturing and non-capturing " +"groups; neither form is any faster than the other." +msgstr "" +"За винятком того факту, що ви не можете отримати вміст того, що відповідає " +"групі, група без захоплення поводиться точно так само, як група захоплення; " +"ви можете помістити в нього що завгодно, повторити це з метасимволом " +"повторення, таким як ``*``, і вкладати його в інші групи (захоплюючі чи " +"незахоплюючі). ``(?:...)`` особливо корисний під час зміни існуючого " +"шаблону, оскільки ви можете додавати нові групи, не змінюючи спосіб " +"нумерації всіх інших груп. Слід зазначити, що немає різниці в продуктивності " +"пошуку між групами захоплення та групами без захоплення; жодна форма не є " +"швидшою за іншу." + +msgid "" +"A more significant feature is named groups: instead of referring to them by " +"numbers, groups can be referenced by a name." +msgstr "" +"Більш важливою особливістю є іменовані групи: замість того, щоб посилатися " +"на них номерами, на групи можна посилатися за назвою." + +msgid "" +"The syntax for a named group is one of the Python-specific extensions: ``(?" +"P...)``. *name* is, obviously, the name of the group. Named groups " +"behave exactly like capturing groups, and additionally associate a name with " +"a group. The :ref:`match object ` methods that deal with " +"capturing groups all accept either integers that refer to the group by " +"number or strings that contain the desired group's name. Named groups are " +"still given numbers, so you can retrieve information about a group in two " +"ways::" +msgstr "" +"Синтаксис іменованої групи є одним із специфічних для Python розширень: ``(?" +"P ...)``. *name* — це, очевидно, назва групи. Іменовані групи " +"поводяться так само, як групи захоплення, і додатково пов’язують назву з " +"групою. Усі методи :ref:`match object `, які мають справу із " +"захопленням груп, приймають або цілі числа, які посилаються на групу за " +"номером, або рядки, які містять назву потрібної групи. Іменовані групи все " +"ще мають номери, тому ви можете отримати інформацію про групу двома " +"способами:" + +msgid "" +"Additionally, you can retrieve named groups as a dictionary with :meth:`~re." +"Match.groupdict`::" +msgstr "" +"Крім того, ви можете отримати іменовані групи як словник за допомогою :meth:" +"`~re.Match.groupdict`::" + +msgid "" +"Named groups are handy because they let you use easily remembered names, " +"instead of having to remember numbers. Here's an example RE from the :mod:" +"`imaplib` module::" +msgstr "" + +msgid "" +"It's obviously much easier to retrieve ``m.group('zonem')``, instead of " +"having to remember to retrieve group 9." +msgstr "" +"Очевидно, набагато простіше отримати ``m.group('zonem')``, замість того, щоб " +"пам'ятати, що потрібно отримати групу 9." + +msgid "" +"The syntax for backreferences in an expression such as ``(...)\\1`` refers " +"to the number of the group. There's naturally a variant that uses the group " +"name instead of the number. This is another Python extension: ``(?P=name)`` " +"indicates that the contents of the group called *name* should again be " +"matched at the current point. The regular expression for finding doubled " +"words, ``\\b(\\w+)\\s+\\1\\b`` can also be written as ``\\b(?P\\w+)\\s" +"+(?P=word)\\b``::" +msgstr "" +"Синтаксис зворотних посилань у такому виразі, як ``(...)\\1``, посилається " +"на номер групи. Природно, існує варіант, який використовує назву групи " +"замість номера. Це ще одне розширення Python: ``(?P=name)`` вказує на те, що " +"вміст групи з назвою *name* знову повинен бути зіставлений у поточній точці. " +"Регулярний вираз для пошуку подвоєних слів ``\\b(\\w+)\\s+\\1\\b`` також " +"можна записати як ``\\b(?P \\w+)\\s+(?P=слово)\\b``::" + +msgid "Lookahead Assertions" +msgstr "Попередні твердження" + +msgid "" +"Another zero-width assertion is the lookahead assertion. Lookahead " +"assertions are available in both positive and negative form, and look like " +"this:" +msgstr "" +"Іншим твердженням нульової ширини є твердження прогнозу. Попередні " +"твердження доступні як у позитивній, так і в негативній формі та виглядають " +"так:" + +msgid "``(?=...)``" +msgstr "``(?=...)``" + +msgid "" +"Positive lookahead assertion. This succeeds if the contained regular " +"expression, represented here by ``...``, successfully matches at the current " +"location, and fails otherwise. But, once the contained expression has been " +"tried, the matching engine doesn't advance at all; the rest of the pattern " +"is tried right where the assertion started." +msgstr "" +"Позитивне прогнозне твердження. Це виконується успішно, якщо регулярний " +"вираз, представлений тут ``...``, успішно збігається в поточному місці, і не " +"вдається в іншому випадку. Але після спроби виразу, що міститься, механізм " +"пошуку відповідностей взагалі не переходить; решта шаблону пробується там, " +"де почалося твердження." + +msgid "``(?!...)``" +msgstr "``(?!...)``" + +msgid "" +"Negative lookahead assertion. This is the opposite of the positive " +"assertion; it succeeds if the contained expression *doesn't* match at the " +"current position in the string." +msgstr "" +"Негативне прогнозне твердження. Це протилежне до позитивного твердження; це " +"вдається, якщо вираз, що міститься, *не* збігається з поточною позицією в " +"рядку." + +msgid "" +"To make this concrete, let's look at a case where a lookahead is useful. " +"Consider a simple pattern to match a filename and split it apart into a base " +"name and an extension, separated by a ``.``. For example, in ``news.rc``, " +"``news`` is the base name, and ``rc`` is the filename's extension." +msgstr "" +"Щоб зробити це конкретним, давайте подивимося на випадок, де корисний погляд " +"наперед. Розглянемо простий шаблон для відповідності назві файлу та " +"розділення його на базове ім’я та розширення, розділені символом ``.``. " +"Наприклад, у ``news.rc`` ``news`` є базовою назвою, а ``rc`` є розширенням " +"назви файлу." + +msgid "The pattern to match this is quite simple:" +msgstr "Викрійка для цього досить проста:" + +msgid "``.*[.].*$``" +msgstr "``.*[.].*$``" + +msgid "" +"Notice that the ``.`` needs to be treated specially because it's a " +"metacharacter, so it's inside a character class to only match that specific " +"character. Also notice the trailing ``$``; this is added to ensure that all " +"the rest of the string must be included in the extension. This regular " +"expression matches ``foo.bar`` and ``autoexec.bat`` and ``sendmail.cf`` and " +"``printers.conf``." +msgstr "" +"Зауважте, що ``.`` потрібно обробляти спеціально, оскільки це метасимвол, " +"тому він знаходиться всередині класу символів, щоб відповідати лише цьому " +"конкретному символу. Також зверніть увагу на закінчення ``$``; це додається, " +"щоб переконатися, що вся решта рядка повинна бути включена в розширення. Цей " +"регулярний вираз відповідає ``foo.bar`` і ``autoexec.bat``, ``sendmail.cf`` " +"і ``printers.conf``." + +msgid "" +"Now, consider complicating the problem a bit; what if you want to match " +"filenames where the extension is not ``bat``? Some incorrect attempts:" +msgstr "" +"Тепер подумайте про те, щоб трохи ускладнити проблему; що, якщо ви хочете " +"зіставити назви файлів, розширення яких не є ``bat``? Деякі неправильні " +"спроби:" + +msgid "" +"``.*[.][^b].*$`` The first attempt above tries to exclude ``bat`` by " +"requiring that the first character of the extension is not a ``b``. This is " +"wrong, because the pattern also doesn't match ``foo.bar``." +msgstr "" +"``.*[.][^b].*$`` Перша спроба вище намагається виключити ``bat``, вимагаючи, " +"щоб перший символ розширення не був ``b``. Це неправильно, оскільки шаблон " +"також не відповідає ``foo.bar``." + +msgid "``.*[.]([^b]..|.[^a].|..[^t])$``" +msgstr "``.*[.]([^b]..|.[^a].|..[^t])$``" + +msgid "" +"The expression gets messier when you try to patch up the first solution by " +"requiring one of the following cases to match: the first character of the " +"extension isn't ``b``; the second character isn't ``a``; or the third " +"character isn't ``t``. This accepts ``foo.bar`` and rejects ``autoexec." +"bat``, but it requires a three-letter extension and won't accept a filename " +"with a two-letter extension such as ``sendmail.cf``. We'll complicate the " +"pattern again in an effort to fix it." +msgstr "" +"Вираз стає складнішим, коли ви намагаєтеся виправити перше рішення, " +"вимагаючи збігу одного з наступних випадків: перший символ розширення не є " +"``b``; другий символ не є ``a``; або третій символ не є ``t``. Це приймає " +"``foo.bar`` і відхиляє ``autoexec.bat``, але воно вимагає розширення з трьох " +"літер і не приймає ім’я файлу з дволітерним розширенням, наприклад " +"``sendmail.cf``. Ми знову ускладнимо шаблон, намагаючись його виправити." + +msgid "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``" +msgstr "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``" + +msgid "" +"In the third attempt, the second and third letters are all made optional in " +"order to allow matching extensions shorter than three characters, such as " +"``sendmail.cf``." +msgstr "" +"Під час третьої спроби друга та третя літери стають необов’язковими, щоб " +"дозволити відповідні розширення коротші за три символи, наприклад ``sendmail." +"cf``." + +msgid "" +"The pattern's getting really complicated now, which makes it hard to read " +"and understand. Worse, if the problem changes and you want to exclude both " +"``bat`` and ``exe`` as extensions, the pattern would get even more " +"complicated and confusing." +msgstr "" +"Зараз шаблон стає дуже складним, тому його важко прочитати та зрозуміти. " +"Гірше того, якщо проблема зміниться і ви захочете виключити і ``bat``, і " +"``exe`` як розширення, шаблон стане ще більш складним і заплутаним." + +msgid "A negative lookahead cuts through all this confusion:" +msgstr "Негативний прогноз прорізає всю цю плутанину:" + +msgid "" +"``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression " +"``bat`` doesn't match at this point, try the rest of the pattern; if ``bat" +"$`` does match, the whole pattern will fail. The trailing ``$`` is required " +"to ensure that something like ``sample.batch``, where the extension only " +"starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that the " +"pattern works when there are multiple dots in the filename." +msgstr "" +"``.*[.](?!bat$)[^.]*$`` Негативний перегляд означає: якщо вираз ``bat`` не " +"збігається на цьому етапі, спробуйте решту шаблону; якщо ``bat$`` " +"збігається, весь шаблон буде невдалим. Кінцевий ``$`` потрібен, щоб " +"переконатися, що щось на зразок ``sample.batch``, де розширення починається " +"лише з ``bat``, буде дозволено. ``[^.]*`` гарантує, що шаблон працює, якщо в " +"назві файлу є кілька крапок." + +msgid "" +"Excluding another filename extension is now easy; simply add it as an " +"alternative inside the assertion. The following pattern excludes filenames " +"that end in either ``bat`` or ``exe``:" +msgstr "" +"Виключити інше розширення імені файлу тепер легко; просто додайте його як " +"альтернативу всередину твердження. Наступний шаблон виключає імена файлів, " +"які закінчуються на ``bat`` або ``exe``:" + +msgid "``.*[.](?!bat$|exe$)[^.]*$``" +msgstr "``.*[.](?!bat$|exe$)[^.]*$``" + +msgid "Modifying Strings" +msgstr "Зміна рядків" + +msgid "" +"Up to this point, we've simply performed searches against a static string. " +"Regular expressions are also commonly used to modify strings in various " +"ways, using the following pattern methods:" +msgstr "" +"До цього моменту ми просто виконували пошук у статичному рядку. Регулярні " +"вирази також часто використовуються для зміни рядків різними способами, " +"використовуючи такі методи шаблонів:" + +msgid "``split()``" +msgstr "``split()``" + +msgid "Split the string into a list, splitting it wherever the RE matches" +msgstr "Розділіть рядок на список, розділивши його там, де відповідає RE" + +msgid "``sub()``" +msgstr "``sub()``" + +msgid "" +"Find all substrings where the RE matches, and replace them with a different " +"string" +msgstr "Знайдіть усі підрядки, де відповідає RE, і замініть їх іншим рядком" + +msgid "``subn()``" +msgstr "``subn()``" + +msgid "" +"Does the same thing as :meth:`!sub`, but returns the new string and the " +"number of replacements" +msgstr "" +"Робить те саме, що :meth:`!sub`, але повертає новий рядок і кількість замін" + +msgid "Splitting Strings" +msgstr "Розбиття рядків" + +msgid "" +"The :meth:`~re.Pattern.split` method of a pattern splits a string apart " +"wherever the RE matches, returning a list of the pieces. It's similar to " +"the :meth:`~str.split` method of strings but provides much more generality " +"in the delimiters that you can split by; string :meth:`!split` only supports " +"splitting by whitespace or by a fixed string. As you'd expect, there's a " +"module-level :func:`re.split` function, too." +msgstr "" +"Метод шаблону :meth:`~re.Pattern.split` розділяє рядок на частини, де " +"збігається RE, повертаючи список фрагментів. Він подібний до методу рядків :" +"meth:`~str.split`, але надає набагато більшу загальність роздільників, за " +"якими можна розділяти; string :meth:`!split` підтримує лише поділ за " +"пробілами або за фіксованим рядком. Як і слід було очікувати, також існує " +"функція :func:`re.split` на рівні модуля." + +msgid "" +"Split *string* by the matches of the regular expression. If capturing " +"parentheses are used in the RE, then their contents will also be returned as " +"part of the resulting list. If *maxsplit* is nonzero, at most *maxsplit* " +"splits are performed." +msgstr "" +"Розділити *рядок* за збігами регулярного виразу. Якщо в RE використовуються " +"круглі дужки, їхній вміст також повертатиметься як частина результуючого " +"списку. Якщо *maxsplit* відмінний від нуля, виконується не більше ніж " +"*maxsplit*." + +msgid "" +"You can limit the number of splits made, by passing a value for *maxsplit*. " +"When *maxsplit* is nonzero, at most *maxsplit* splits will be made, and the " +"remainder of the string is returned as the final element of the list. In " +"the following example, the delimiter is any sequence of non-alphanumeric " +"characters. ::" +msgstr "" +"Ви можете обмежити кількість зроблених поділів, передавши значення " +"*maxsplit*. Якщо *maxsplit* відмінний від нуля, буде виконано щонайбільше " +"*maxsplit* розбиття, а залишок рядка повертається як останній елемент " +"списку. У наступному прикладі роздільником є будь-яка послідовність не " +"буквено-цифрових символів. ::" + +msgid "" +"Sometimes you're not only interested in what the text between delimiters is, " +"but also need to know what the delimiter was. If capturing parentheses are " +"used in the RE, then their values are also returned as part of the list. " +"Compare the following calls::" +msgstr "" +"Іноді вам не тільки цікаво, що таке текст між роздільниками, а й потрібно " +"знати, що це за роздільник. Якщо в RE використовуються круглі дужки, їх " +"значення також повертаються як частина списку. Порівняйте наступні виклики:" + +msgid "" +"The module-level function :func:`re.split` adds the RE to be used as the " +"first argument, but is otherwise the same. ::" +msgstr "" +"Функція рівня модуля :func:`re.split` додає RE, який буде використовуватися " +"як перший аргумент, але в іншому вона така сама. ::" + +msgid "Search and Replace" +msgstr "Пошук і заміна" + +msgid "" +"Another common task is to find all the matches for a pattern, and replace " +"them with a different string. The :meth:`~re.Pattern.sub` method takes a " +"replacement value, which can be either a string or a function, and the " +"string to be processed." +msgstr "" +"Ще одне поширене завдання — знайти всі збіги для шаблону та замінити їх " +"іншим рядком. Метод :meth:`~re.Pattern.sub` приймає значення заміни, яке " +"може бути або рядком, або функцією, і рядок, який потрібно обробити." + +msgid "" +"Returns the string obtained by replacing the leftmost non-overlapping " +"occurrences of the RE in *string* by the replacement *replacement*. If the " +"pattern isn't found, *string* is returned unchanged." +msgstr "" +"Повертає рядок, отриманий шляхом заміни крайніх лівих неперекриваючих " +"входжень RE в *рядку* на заміну *replacement*. Якщо шаблон не знайдено, " +"*рядок* повертається без змін." + +msgid "" +"The optional argument *count* is the maximum number of pattern occurrences " +"to be replaced; *count* must be a non-negative integer. The default value " +"of 0 means to replace all occurrences." +msgstr "" +"Необов’язковий аргумент *count* — це максимальна кількість шаблонів, які " +"потрібно замінити; *count* має бути невід’ємним цілим числом. Значення за " +"замовчуванням 0 означає заміну всіх входжень." + +msgid "" +"Here's a simple example of using the :meth:`~re.Pattern.sub` method. It " +"replaces colour names with the word ``colour``::" +msgstr "" +"Ось простий приклад використання методу :meth:`~re.Pattern.sub`. Він замінює " +"назви кольорів словом ``колір``::" + +msgid "" +"The :meth:`~re.Pattern.subn` method does the same work, but returns a 2-" +"tuple containing the new string value and the number of replacements that " +"were performed::" +msgstr "" +"Метод :meth:`~re.Pattern.subn` виконує ту саму роботу, але повертає 2-" +"кортеж, що містить нове значення рядка та кількість виконаних замін:" + +msgid "" +"Empty matches are replaced only when they're not adjacent to a previous " +"empty match. ::" +msgstr "" +"Порожні збіги замінюються лише тоді, коли вони не суміжні з попереднім " +"порожнім збігом. ::" + +msgid "" +"If *replacement* is a string, any backslash escapes in it are processed. " +"That is, ``\\n`` is converted to a single newline character, ``\\r`` is " +"converted to a carriage return, and so forth. Unknown escapes such as ``" +"\\&`` are left alone. Backreferences, such as ``\\6``, are replaced with the " +"substring matched by the corresponding group in the RE. This lets you " +"incorporate portions of the original text in the resulting replacement " +"string." +msgstr "" +"Якщо *replacement* є рядком, будь-які вихідні символи зворотної косої риски " +"в ньому обробляються. Тобто ``\\n`` перетворюється на один символ нового " +"рядка, ``\\r`` перетворюється на повернення каретки і так далі. Невідомі " +"вихідні коди, такі як ``\\&`` залишаються в спокої. Зворотні посилання, такі " +"як ``\\6``, замінюються підрядком, який відповідає відповідній групі в RE. " +"Це дає змогу включати частини вихідного тексту в отриманий рядок заміни." + +msgid "" +"This example matches the word ``section`` followed by a string enclosed in " +"``{``, ``}``, and changes ``section`` to ``subsection``::" +msgstr "" +"Цей приклад відповідає слову ``розділ``, за яким слідує рядок, укладений у " +"``{``, ``}``, і змінює ``розділ`` на ``підрозділ``::" + +msgid "" +"There's also a syntax for referring to named groups as defined by the ``(?" +"P...)`` syntax. ``\\g`` will use the substring matched by the " +"group named ``name``, and ``\\g`` uses the corresponding group " +"number. ``\\g<2>`` is therefore equivalent to ``\\2``, but isn't ambiguous " +"in a replacement string such as ``\\g<2>0``. (``\\20`` would be interpreted " +"as a reference to group 20, not a reference to group 2 followed by the " +"literal character ``'0'``.) The following substitutions are all equivalent, " +"but use all three variations of the replacement string. ::" +msgstr "" +"Існує також синтаксис для посилань на іменовані групи, як визначено " +"синтаксисом ``(?P ...)``. ``\\g `` використовуватиме підрядок, " +"який відповідає групі з назвою ``name``, а ``\\g `` використовує " +"відповідний номер групи. ``\\g <2>``, отже, еквівалентний ``\\2``, але не є " +"неоднозначним у рядку заміни, такому як ``\\g <2> 0``. (``\\20`` буде " +"інтерпретуватися як посилання на групу 20, а не як посилання на групу 2, за " +"якою йде літеральний символ ``'0''``.) Усі наступні заміни еквівалентні, але " +"використовують усі три варіанти рядок заміни. ::" + +msgid "" +"*replacement* can also be a function, which gives you even more control. If " +"*replacement* is a function, the function is called for every non-" +"overlapping occurrence of *pattern*. On each call, the function is passed " +"a :ref:`match object ` argument for the match and can use " +"this information to compute the desired replacement string and return it." +msgstr "" +"*заміна* також може бути функцією, яка дає вам ще більше контролю. Якщо " +"*replacement* є функцією, функція викликається для кожного неперекриваючого " +"входження *pattern*. Під час кожного виклику функції передається аргумент :" +"ref:`match object ` для відповідності, і ця інформація може " +"використовуватися для обчислення потрібного рядка заміни та повернення його." + +msgid "" +"In the following example, the replacement function translates decimals into " +"hexadecimal::" +msgstr "" +"У наступному прикладі функція заміни перетворює десяткові числа в " +"шістнадцяткові:" + +msgid "" +"When using the module-level :func:`re.sub` function, the pattern is passed " +"as the first argument. The pattern may be provided as an object or as a " +"string; if you need to specify regular expression flags, you must either use " +"a pattern object as the first parameter, or use embedded modifiers in the " +"pattern string, e.g. ``sub(\"(?i)b+\", \"x\", \"bbbb BBBB\")`` returns ``'x " +"x'``." +msgstr "" +"Під час використання функції :func:`re.sub` на рівні модуля шаблон " +"передається як перший аргумент. Шаблон може бути наданий як об'єкт або як " +"рядок; якщо вам потрібно вказати прапорці регулярного виразу, ви повинні або " +"використовувати об’єкт шаблону як перший параметр, або використати вбудовані " +"модифікатори в рядок шаблону, напр. ``sub(\"(?i)b+\", \"x\", \"bbbb BBBB" +"\")`` повертає ``'x x''``." + +msgid "Common Problems" +msgstr "Загальні проблеми" + +msgid "" +"Regular expressions are a powerful tool for some applications, but in some " +"ways their behaviour isn't intuitive and at times they don't behave the way " +"you may expect them to. This section will point out some of the most common " +"pitfalls." +msgstr "" +"Регулярні вирази є потужним інструментом для деяких програм, але в певному " +"сенсі їх поведінка не є інтуїтивно зрозумілою, а іноді вони поводяться не " +"так, як ви від них можете очікувати. У цьому розділі буде вказано на деякі з " +"найпоширеніших пасток." + +msgid "Use String Methods" +msgstr "Використовуйте рядкові методи" + +msgid "" +"Sometimes using the :mod:`re` module is a mistake. If you're matching a " +"fixed string, or a single character class, and you're not using any :mod:" +"`re` features such as the :const:`~re.IGNORECASE` flag, then the full power " +"of regular expressions may not be required. Strings have several methods for " +"performing operations with fixed strings and they're usually much faster, " +"because the implementation is a single small C loop that's been optimized " +"for the purpose, instead of the large, more generalized regular expression " +"engine." +msgstr "" +"Іноді використання модуля :mod:`re` є помилкою. Якщо ви зіставляєте " +"фіксований рядок або одиничний клас символів і не використовуєте жодних " +"функцій :mod:`re`, таких як прапор :const:`~re.IGNORECASE`, тоді повна " +"потужність регулярних виразів може не знадобитися. Рядки мають кілька " +"методів для виконання операцій із фіксованими рядками, і зазвичай вони " +"набагато швидші, оскільки реалізація являє собою один маленький цикл C, " +"оптимізований для цієї мети, замість великого, більш узагальненого механізму " +"регулярних виразів." + +msgid "" +"One example might be replacing a single fixed string with another one; for " +"example, you might replace ``word`` with ``deed``. :func:`re.sub` seems " +"like the function to use for this, but consider the :meth:`~str.replace` " +"method. Note that :meth:`!replace` will also replace ``word`` inside words, " +"turning ``swordfish`` into ``sdeedfish``, but the naive RE ``word`` would " +"have done that, too. (To avoid performing the substitution on parts of " +"words, the pattern would have to be ``\\bword\\b``, in order to require that " +"``word`` have a word boundary on either side. This takes the job beyond :" +"meth:`!replace`'s abilities.)" +msgstr "" +"Одним із прикладів може бути заміна одного фіксованого рядка іншим; " +"наприклад, ви можете замінити ``слово`` на ``справа``. :func:`re.sub` " +"здається функцією для цього, але розгляньте метод :meth:`~str.replace`. " +"Зауважте, що :meth:`!replace` також замінить ``word`` всередині слів, " +"перетворивши ``swordfish`` на ``sdeedfish``, але наївний RE ``word`` також " +"зробив би це. (Щоб уникнути виконання заміни на частинах слів, шаблон має " +"бути ``\\bword\\b``, щоб вимагати, щоб ``слово`` мало межу слова з обох " +"боків. Це виводить роботу за межі :meth:`!replace`.)" + +msgid "" +"Another common task is deleting every occurrence of a single character from " +"a string or replacing it with another single character. You might do this " +"with something like ``re.sub('\\n', ' ', S)``, but :meth:`~str.translate` is " +"capable of doing both tasks and will be faster than any regular expression " +"operation can be." +msgstr "" +"Інше поширене завдання — видалення кожного входження одного символу з рядка " +"або заміна його іншим окремим символом. Ви можете зробити це за допомогою " +"чогось на зразок ``re.sub('\\n', ' ', S)``, але :meth:`~str.translate` " +"здатний виконувати обидва завдання та буде швидшим за будь-який регулярний " +"вираз операція може бути." + +msgid "" +"In short, before turning to the :mod:`re` module, consider whether your " +"problem can be solved with a faster and simpler string method." +msgstr "" +"Коротше кажучи, перш ніж звернутися до модуля :mod:`re`, подумайте, чи можна " +"вирішити вашу проблему швидшим і простішим методом рядка." + +msgid "match() versus search()" +msgstr "match() проти search()" + +msgid "" +"The :func:`~re.match` function only checks if the RE matches at the " +"beginning of the string while :func:`~re.search` will scan forward through " +"the string for a match. It's important to keep this distinction in mind. " +"Remember, :func:`!match` will only report a successful match which will " +"start at 0; if the match wouldn't start at zero, :func:`!match` will *not* " +"report it. ::" +msgstr "" +"Функція :func:`~re.match` лише перевіряє, чи RE збігається на початку рядка, " +"тоді як :func:`~re.search` скануватиме рядок вперед у пошуках відповідності. " +"Важливо пам’ятати про цю відмінність. Пам’ятайте, :func:`!match` " +"повідомлятиме лише про успішний збіг, який розпочнеться з 0; якщо збіг не " +"починається з нуля, :func:`!match` *не* повідомить про це. ::" + +msgid "" +"On the other hand, :func:`~re.search` will scan forward through the string, " +"reporting the first match it finds. ::" +msgstr "" +"З іншого боку, :func:`~re.search` скануватиме рядок вперед, повідомляючи про " +"перший знайдений збіг. ::" + +msgid "" +"Sometimes you'll be tempted to keep using :func:`re.match`, and just add ``." +"*`` to the front of your RE. Resist this temptation and use :func:`re." +"search` instead. The regular expression compiler does some analysis of REs " +"in order to speed up the process of looking for a match. One such analysis " +"figures out what the first character of a match must be; for example, a " +"pattern starting with ``Crow`` must match starting with a ``'C'``. The " +"analysis lets the engine quickly scan through the string looking for the " +"starting character, only trying the full match if a ``'C'`` is found." +msgstr "" +"Іноді у вас виникне спокуса продовжувати використовувати :func:`re.match` і " +"просто додати ``.*`` на початку вашого RE. Утримайтесь від цієї спокуси та " +"використовуйте замість цього :func:`re.search`. Компілятор регулярних " +"виразів виконує деякий аналіз RE, щоб прискорити процес пошуку " +"відповідності. Один такий аналіз визначає, яким повинен бути перший символ " +"відповідності; наприклад, шаблон, що починається з ``Crow``, повинен " +"збігатися з ``'C``. Аналіз дозволяє механізму швидко сканувати рядок у " +"пошуках початкового символу, лише намагаючись знайти повну відповідність, " +"якщо знайдено ``'C'``." + +msgid "" +"Adding ``.*`` defeats this optimization, requiring scanning to the end of " +"the string and then backtracking to find a match for the rest of the RE. " +"Use :func:`re.search` instead." +msgstr "" +"Додавання ``.*`` руйнує цю оптимізацію, вимагаючи сканування до кінця рядка, " +"а потім повернення назад, щоб знайти збіг для решти RE. Натомість " +"використовуйте :func:`re.search`." + +msgid "Greedy versus Non-Greedy" +msgstr "Жадібний проти нежадібного" + +msgid "" +"When repeating a regular expression, as in ``a*``, the resulting action is " +"to consume as much of the pattern as possible. This fact often bites you " +"when you're trying to match a pair of balanced delimiters, such as the angle " +"brackets surrounding an HTML tag. The naive pattern for matching a single " +"HTML tag doesn't work because of the greedy nature of ``.*``. ::" +msgstr "" +"Під час повторення регулярного виразу, як у ``a*``, результуюча дія полягає " +"в споживанні якомога більшої частини шаблону. Цей факт часто кусає вас, коли " +"ви намагаєтеся зіставити пару збалансованих розділювачів, таких як кутові " +"дужки, що оточують тег HTML. Наївний шаблон для відповідності одному тегу " +"HTML не працює через жадібний характер ``.*``. ::" + +msgid "" +"The RE matches the ``'<'`` in ``''``, and the ``.*`` consumes the rest " +"of the string. There's still more left in the RE, though, and the ``>`` " +"can't match at the end of the string, so the regular expression engine has " +"to backtrack character by character until it finds a match for the ``>``. " +"The final match extends from the ``'<'`` in ``''`` to the ``'>'`` in " +"``''``, which isn't what you want." +msgstr "" +"RE відповідає ``'<'`` in ``''``, а ``.*`` займає решту рядка. Однак у " +"RE залишилося ще більше, і ``>`` не може збігатися в кінці рядка, тому " +"система регулярних виразів має відстежувати символ за символом, поки не " +"знайде відповідність ``>``. Фінальний збіг поширюється від ``' <'`` in " +"``' ''`` до ``'>''`` в ``' ''``, що не те, чого ви хочете." + +msgid "" +"In this case, the solution is to use the non-greedy quantifiers ``*?``, ``+?" +"``, ``??``, or ``{m,n}?``, which match as *little* text as possible. In the " +"above example, the ``'>'`` is tried immediately after the first ``'<'`` " +"matches, and when it fails, the engine advances a character at a time, " +"retrying the ``'>'`` at every step. This produces just the right result::" +msgstr "" + +msgid "" +"(Note that parsing HTML or XML with regular expressions is painful. Quick-" +"and-dirty patterns will handle common cases, but HTML and XML have special " +"cases that will break the obvious regular expression; by the time you've " +"written a regular expression that handles all of the possible cases, the " +"patterns will be *very* complicated. Use an HTML or XML parser module for " +"such tasks.)" +msgstr "" +"(Зауважте, що синтаксичний аналіз HTML або XML за допомогою регулярних " +"виразів є болючим. Швидкі та брудні шаблони впораються з типовими випадками, " +"але HTML і XML мають особливі випадки, які порушують очевидний регулярний " +"вираз; коли ви напишете регулярний вираз, обробляє всі можливі випадки, " +"шаблони будуть *дуже* складними. Для таких завдань використовуйте модуль " +"аналізатора HTML або XML.)" + +msgid "Using re.VERBOSE" +msgstr "Використання re.VERBOSE" + +msgid "" +"By now you've probably noticed that regular expressions are a very compact " +"notation, but they're not terribly readable. REs of moderate complexity can " +"become lengthy collections of backslashes, parentheses, and metacharacters, " +"making them difficult to read and understand." +msgstr "" +"Наразі ви, напевно, помітили, що регулярні вирази є дуже компактним записом, " +"але їх не дуже добре читати. RE помірної складності можуть перетворитися на " +"довгі набори зворотних скісних риск, круглих дужок і метасимволів, що " +"ускладнює їх читання та розуміння." + +msgid "" +"For such REs, specifying the :const:`re.VERBOSE` flag when compiling the " +"regular expression can be helpful, because it allows you to format the " +"regular expression more clearly." +msgstr "" +"Для таких RE вказівка прапорця :const:`re.VERBOSE` під час компіляції " +"регулярного виразу може бути корисною, оскільки це дозволяє форматувати " +"регулярний вираз більш чітко." + +msgid "" +"The ``re.VERBOSE`` flag has several effects. Whitespace in the regular " +"expression that *isn't* inside a character class is ignored. This means " +"that an expression such as ``dog | cat`` is equivalent to the less readable " +"``dog|cat``, but ``[a b]`` will still match the characters ``'a'``, ``'b'``, " +"or a space. In addition, you can also put comments inside a RE; comments " +"extend from a ``#`` character to the next newline. When used with triple-" +"quoted strings, this enables REs to be formatted more neatly::" +msgstr "" +"Прапор ``re.VERBOSE`` має кілька ефектів. Пробіли в регулярному виразі, яких " +"*не* всередині класу символів, ігноруються. Це означає, що такий вираз, як " +"``собака | cat`` еквівалентний менш читабельному ``dog|cat``, але ``[a b]`` " +"все одно відповідатиме символам ``'a'``, ``'b'`` або пробілу. Крім того, ви " +"також можете розмістити коментарі всередині RE; коментарі поширюються від " +"символу ``#`` до наступного нового рядка. При використанні з рядками в " +"потрійних лапках це дає змогу форматувати RE більш акуратно::" + +msgid "This is far more readable than::" +msgstr "Це набагато читабельніше, ніж:" + +msgid "Feedback" +msgstr "Зворотній зв'язок" + +msgid "" +"Regular expressions are a complicated topic. Did this document help you " +"understand them? Were there parts that were unclear, or Problems you " +"encountered that weren't covered here? If so, please send suggestions for " +"improvements to the author." +msgstr "" +"Регулярні вирази – це складна тема. Чи допоміг вам цей документ зрозуміти " +"їх? Чи були частини, які були незрозумілими, або проблеми, з якими ви " +"зіткнулися, які не були розглянуті тут? Якщо так, будь ласка, надішліть " +"пропозиції щодо покращення автору." + +msgid "" +"The most complete book on regular expressions is almost certainly Jeffrey " +"Friedl's Mastering Regular Expressions, published by O'Reilly. " +"Unfortunately, it exclusively concentrates on Perl and Java's flavours of " +"regular expressions, and doesn't contain any Python material at all, so it " +"won't be useful as a reference for programming in Python. (The first " +"edition covered Python's now-removed :mod:`!regex` module, which won't help " +"you much.) Consider checking it out from your library." +msgstr "" +"Найповнішою книгою про регулярні вирази майже напевно є \"Опанування " +"регулярних виразів\" Джеффрі Фрідла, опублікована O'Reilly. На жаль, він " +"зосереджений виключно на стилях регулярних виразів Perl і Java і взагалі не " +"містить жодного матеріалу Python, тому він не буде корисним як довідник для " +"програмування на Python. (Перше видання охоплювало видалений модуль Python :" +"mod:`!regex`, який вам не дуже допоможе.) Подумайте про те, щоб перевірити " +"його у своїй бібліотеці." diff --git a/howto/sockets.po b/howto/sockets.po new file mode 100644 index 000000000..5e82d1d28 --- /dev/null +++ b/howto/sockets.po @@ -0,0 +1,683 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Socket Programming HOWTO" +msgstr "HOWTO з програмування сокетів" + +msgid "Author" +msgstr "Автор" + +msgid "Gordon McMillan" +msgstr "Gordon McMillan" + +msgid "Abstract" +msgstr "Анотація" + +msgid "" +"Sockets are used nearly everywhere, but are one of the most severely " +"misunderstood technologies around. This is a 10,000 foot overview of " +"sockets. It's not really a tutorial - you'll still have work to do in " +"getting things operational. It doesn't cover the fine points (and there are " +"a lot of them), but I hope it will give you enough background to begin using " +"them decently." +msgstr "" +"Розетки використовуються майже скрізь, але це одна з найбільш неправильно " +"зрозумілих технологій. Це 10 000-футовий огляд розеток. Насправді це не " +"підручник – вам ще доведеться попрацювати, щоб налагодити роботу. Він не " +"охоплює тонкощі (а їх багато), але я сподіваюся, що він дасть вам достатньо " +"інформації, щоб почати ними гідно користуватися." + +msgid "Sockets" +msgstr "Сокети" + +msgid "" +"I'm only going to talk about INET (i.e. IPv4) sockets, but they account for " +"at least 99% of the sockets in use. And I'll only talk about STREAM (i.e. " +"TCP) sockets - unless you really know what you're doing (in which case this " +"HOWTO isn't for you!), you'll get better behavior and performance from a " +"STREAM socket than anything else. I will try to clear up the mystery of what " +"a socket is, as well as some hints on how to work with blocking and non-" +"blocking sockets. But I'll start by talking about blocking sockets. You'll " +"need to know how they work before dealing with non-blocking sockets." +msgstr "" +"Я збираюся говорити лише про сокети INET (тобто IPv4), але на них припадає " +"щонайменше 99% використовуваних сокетів. І я буду говорити лише про сокети " +"STREAM (тобто TCP) - якщо ви дійсно не знаєте, що робите (у цьому випадку це " +"HOWTO не для вас!), ви отримаєте кращу поведінку та продуктивність від " +"сокета STREAM, ніж будь-що інше. Я спробую розкрити таємницю того, що таке " +"сокет, а також дам деякі підказки щодо роботи з блокуючими та неблокуючими " +"сокетами. Але я почну з розмови про блокування сокетів. Вам потрібно знати, " +"як вони працюють, перш ніж мати справу з неблокуючими сокетами." + +msgid "" +"Part of the trouble with understanding these things is that \"socket\" can " +"mean a number of subtly different things, depending on context. So first, " +"let's make a distinction between a \"client\" socket - an endpoint of a " +"conversation, and a \"server\" socket, which is more like a switchboard " +"operator. The client application (your browser, for example) uses \"client\" " +"sockets exclusively; the web server it's talking to uses both \"server\" " +"sockets and \"client\" sockets." +msgstr "" +"Частково проблема з розумінням цих речей полягає в тому, що \"розетка\" може " +"означати декілька дещо різних речей, залежно від контексту. Отже, спочатку " +"давайте розрізнимо \"клієнтський\" сокет — кінцеву точку розмови, і " +"\"серверний\" сокет, який більше схожий на оператора комутатора. Клієнтська " +"програма (наприклад, ваш браузер) використовує виключно \"клієнтські\" " +"сокети; веб-сервер, з яким він спілкується, використовує як \"серверні\" " +"сокети, так і \"клієнтські\" сокети." + +msgid "History" +msgstr "історія" + +msgid "" +"Of the various forms of :abbr:`IPC (Inter Process Communication)`, sockets " +"are by far the most popular. On any given platform, there are likely to be " +"other forms of IPC that are faster, but for cross-platform communication, " +"sockets are about the only game in town." +msgstr "" +"З різних форм :abbr:`IPC (Inter Process Communication)` сокети є, безумовно, " +"найпопулярнішими. На будь-якій платформі, імовірно, існують інші форми IPC, " +"які є швидшими, але для міжплатформного зв’язку сокети – це майже єдина гра " +"в місті." + +msgid "" +"They were invented in Berkeley as part of the BSD flavor of Unix. They " +"spread like wildfire with the internet. With good reason --- the combination " +"of sockets with INET makes talking to arbitrary machines around the world " +"unbelievably easy (at least compared to other schemes)." +msgstr "" +"Вони були винайдені в Берклі як частина різновиду BSD Unix. Вони поширюються " +"з Інтернетом як лісова пожежа. З поважною причиною --- поєднання сокетів з " +"INET робить спілкування з довільними машинами по всьому світу неймовірно " +"легким (принаймні порівняно з іншими схемами)." + +msgid "Creating a Socket" +msgstr "Створення сокета" + +msgid "" +"Roughly speaking, when you clicked on the link that brought you to this " +"page, your browser did something like the following::" +msgstr "" +"Грубо кажучи, коли ви клацали посилання, яке привело вас на цю сторінку, ваш " +"браузер робив щось на зразок наступного:" + +msgid "" +"When the ``connect`` completes, the socket ``s`` can be used to send in a " +"request for the text of the page. The same socket will read the reply, and " +"then be destroyed. That's right, destroyed. Client sockets are normally only " +"used for one exchange (or a small set of sequential exchanges)." +msgstr "" +"Коли ``connect`` завершиться, сокет ``s`` можна використовувати для " +"надсилання запиту на текст сторінки. Той самий сокет прочитає відповідь, а " +"потім буде знищено. Правильно, знищено. Клієнтські сокети зазвичай " +"використовуються лише для одного обміну (або невеликого набору послідовних " +"обмінів)." + +msgid "" +"What happens in the web server is a bit more complex. First, the web server " +"creates a \"server socket\"::" +msgstr "" +"Те, що відбувається на веб-сервері, дещо складніше. Спочатку веб-сервер " +"створює \"серверний сокет\"::" + +msgid "" +"A couple things to notice: we used ``socket.gethostname()`` so that the " +"socket would be visible to the outside world. If we had used ``s." +"bind(('localhost', 80))`` or ``s.bind(('127.0.0.1', 80))`` we would still " +"have a \"server\" socket, but one that was only visible within the same " +"machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any " +"address the machine happens to have." +msgstr "" +"Кілька речей, які слід зауважити: ми використали ``socket.gethostname()``, " +"щоб сокет був видимий для зовнішнього світу. Якби ми використовували ``s." +"bind(('localhost', 80))`` або ``s.bind(('127.0.0.1', 80))``, ми все одно " +"мали б \"серверний\" сокет, але той, який був видимий лише на одній машині. " +"``s.bind(('', 80))`` вказує, що сокет доступний за будь-якою адресою, яку " +"має машина." + +msgid "" +"A second thing to note: low number ports are usually reserved for \"well " +"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " +"number (4 digits)." +msgstr "" +"По-друге, на що слід звернути увагу: порти з малими номерами зазвичай " +"зарезервовані для \"добре відомих\" служб (HTTP, SNMP тощо). Якщо ви " +"граєтесь, використовуйте гарне високе число (4 цифри)." + +msgid "" +"Finally, the argument to ``listen`` tells the socket library that we want it " +"to queue up as many as 5 connect requests (the normal max) before refusing " +"outside connections. If the rest of the code is written properly, that " +"should be plenty." +msgstr "" +"Нарешті, аргумент ``listen`` повідомляє бібліотеці сокетів, що ми хочемо " +"поставити в чергу щонайменше 5 запитів на з’єднання (звичайний максимум), " +"перш ніж відхилити зовнішні з’єднання. Якщо решта коду написана належним " +"чином, цього має бути достатньо." + +msgid "" +"Now that we have a \"server\" socket, listening on port 80, we can enter the " +"mainloop of the web server::" +msgstr "" +"Тепер, коли у нас є \"серверний\" сокет, який слухає порт 80, ми можемо " +"увійти в основний цикл веб-сервера:" + +msgid "" +"There's actually 3 general ways in which this loop could work - dispatching " +"a thread to handle ``clientsocket``, create a new process to handle " +"``clientsocket``, or restructure this app to use non-blocking sockets, and " +"multiplex between our \"server\" socket and any active ``clientsocket``\\ s " +"using ``select``. More about that later. The important thing to understand " +"now is this: this is *all* a \"server\" socket does. It doesn't send any " +"data. It doesn't receive any data. It just produces \"client\" sockets. Each " +"``clientsocket`` is created in response to some *other* \"client\" socket " +"doing a ``connect()`` to the host and port we're bound to. As soon as we've " +"created that ``clientsocket``, we go back to listening for more connections. " +"The two \"clients\" are free to chat it up - they are using some dynamically " +"allocated port which will be recycled when the conversation ends." +msgstr "" +"Насправді існує 3 загальні способи роботи цього циклу: відправка потоку для " +"обробки ``clientsocket``, створення нового процесу для обробки " +"``clientsocket`` або реструктуризація цієї програми для використання " +"неблокуючих сокетів і мультиплексування між нашими \"серверний\" сокет і " +"будь-який активний ``clientocket``\\ з використанням ``select``. Про це " +"пізніше. Зараз важливо розуміти наступне: це *все*, що робить \"серверний\" " +"сокет. Він не надсилає жодних даних. Він не отримує жодних даних. Він просто " +"створює \"клієнтські\" сокети. Кожен ``clientocket`` створюється у відповідь " +"на те, що якийсь *інший* \"клієнтський\" сокет виконує ``connect()`` до " +"хосту та порту, до якого ми прив’язані. Як тільки ми створили цей " +"``clientsocket``, ми повертаємося до прослуховування додаткових з’єднань. " +"Два \"клієнти\" можуть вільно спілкуватися - вони використовують якийсь " +"динамічно виділений порт, який буде повторно використано після завершення " +"розмови." + +msgid "IPC" +msgstr "IPC" + +msgid "" +"If you need fast IPC between two processes on one machine, you should look " +"into pipes or shared memory. If you do decide to use AF_INET sockets, bind " +"the \"server\" socket to ``'localhost'``. On most platforms, this will take " +"a shortcut around a couple of layers of network code and be quite a bit " +"faster." +msgstr "" +"Якщо вам потрібен швидкий IPC між двома процесами на одній машині, вам слід " +"звернути увагу на канали або спільну пам’ять. Якщо ви вирішите " +"використовувати сокети AF_INET, прив’яжіть сокет \"сервер\" до " +"``'localhost'``. На більшості платформ це займе ярлик навколо кількох шарів " +"мережевого коду та буде трохи швидшим." + +msgid "" +"The :mod:`multiprocessing` integrates cross-platform IPC into a higher-level " +"API." +msgstr "" +":mod:`multiprocessing` інтегрує міжплатформенний IPC у API вищого рівня." + +msgid "Using a Socket" +msgstr "Використання сокета" + +msgid "" +"The first thing to note, is that the web browser's \"client\" socket and the " +"web server's \"client\" socket are identical beasts. That is, this is a " +"\"peer to peer\" conversation. Or to put it another way, *as the designer, " +"you will have to decide what the rules of etiquette are for a conversation*. " +"Normally, the ``connect``\\ ing socket starts the conversation, by sending " +"in a request, or perhaps a signon. But that's a design decision - it's not a " +"rule of sockets." +msgstr "" +"Перше, що слід зазначити, це те, що \"клієнтський\" сокет веб-браузера та " +"\"клієнтський\" сокет веб-сервера є ідентичними звірами. Тобто це розмова " +"\"рівний\". Або інакше кажучи, *як дизайнеру, вам доведеться вирішити, які " +"правила етикету для розмови*. Зазвичай сокет ``connect``\\ починає розмову, " +"надсилаючи запит або, можливо, авторизуючись. Але це дизайнерське рішення - " +"це не правило розеток." + +msgid "" +"Now there are two sets of verbs to use for communication. You can use " +"``send`` and ``recv``, or you can transform your client socket into a file-" +"like beast and use ``read`` and ``write``. The latter is the way Java " +"presents its sockets. I'm not going to talk about it here, except to warn " +"you that you need to use ``flush`` on sockets. These are buffered \"files\", " +"and a common mistake is to ``write`` something, and then ``read`` for a " +"reply. Without a ``flush`` in there, you may wait forever for the reply, " +"because the request may still be in your output buffer." +msgstr "" +"Тепер є два набори дієслів для спілкування. Ви можете використовувати " +"``send`` і ``recv``, або ви можете перетворити свій клієнтський сокет на " +"звіра, схожого на файл, і використовувати ``read`` і ``write``. Останнім є " +"те, як Java представляє свої сокети. Я не збираюся говорити про це тут, " +"окрім того, щоб попередити вас, що вам потрібно використовувати " +"``промивання`` для сокетів. Це буферизовані \"файли\", і поширеною помилкою " +"є ``написати`` щось, а потім ``читати`` для відповіді. Без ``скидання`` ви " +"можете вічно чекати відповіді, оскільки запит може все ще перебувати у " +"вашому вихідному буфері." + +msgid "" +"Now we come to the major stumbling block of sockets - ``send`` and ``recv`` " +"operate on the network buffers. They do not necessarily handle all the bytes " +"you hand them (or expect from them), because their major focus is handling " +"the network buffers. In general, they return when the associated network " +"buffers have been filled (``send``) or emptied (``recv``). They then tell " +"you how many bytes they handled. It is *your* responsibility to call them " +"again until your message has been completely dealt with." +msgstr "" +"Тепер ми підходимо до основного каменю спотикання сокетів - ``send`` і " +"``recv`` працюють з мережевими буферами. Вони не обов’язково обробляють усі " +"байти, які ви їм передаєте (або очікуєте від них), тому що їх основна увага " +"приділяється роботі з мережевими буферами. Зазвичай вони повертаються, коли " +"пов’язані мережеві буфери заповнено (``send``) або спустошено (``recv``). " +"Потім вони повідомлять вам, скільки байтів вони обробили. Це *ваш* обов’язок " +"зателефонувати їм знову, доки ваше повідомлення не буде повністю розглянуто." + +msgid "" +"When a ``recv`` returns 0 bytes, it means the other side has closed (or is " +"in the process of closing) the connection. You will not receive any more " +"data on this connection. Ever. You may be able to send data successfully; " +"I'll talk more about this later." +msgstr "" +"Коли ``recv`` повертає 0 байтів, це означає, що інша сторона закрила (або " +"знаходиться в процесі закриття) з’єднання. Ви більше не отримуватимете " +"жодних даних за цим з’єднанням. Коли-небудь. Можливо, ви зможете успішно " +"надіслати дані; Я розповім про це пізніше." + +msgid "" +"A protocol like HTTP uses a socket for only one transfer. The client sends a " +"request, then reads a reply. That's it. The socket is discarded. This means " +"that a client can detect the end of the reply by receiving 0 bytes." +msgstr "" +"Такий протокол, як HTTP, використовує сокет лише для однієї передачі. Клієнт " +"надсилає запит, потім читає відповідь. Це воно. Розетка викидається. Це " +"означає, що клієнт може виявити кінець відповіді, отримавши 0 байтів." + +msgid "" +"But if you plan to reuse your socket for further transfers, you need to " +"realize that *there is no* :abbr:`EOT (End of Transfer)` *on a socket.* I " +"repeat: if a socket ``send`` or ``recv`` returns after handling 0 bytes, the " +"connection has been broken. If the connection has *not* been broken, you " +"may wait on a ``recv`` forever, because the socket will *not* tell you that " +"there's nothing more to read (for now). Now if you think about that a bit, " +"you'll come to realize a fundamental truth of sockets: *messages must either " +"be fixed length* (yuck), *or be delimited* (shrug), *or indicate how long " +"they are* (much better), *or end by shutting down the connection*. The " +"choice is entirely yours, (but some ways are righter than others)." +msgstr "" +"Але якщо ви плануєте повторно використовувати свій сокет для подальших " +"передач, ви повинні розуміти, що *немає* :abbr:`EOT (End of Transfer)` *у " +"сокеті*. Я повторюю: якщо сокет ``надсилає`` або ``recv`` повертає після " +"обробки 0 байт, з'єднання було розірвано. Якщо з’єднання *не* розірвано, ви " +"можете чекати ``recv`` вічно, тому що сокет *не* скаже вам, що більше нічого " +"читати (наразі). Тепер, якщо ви трохи подумаєте про це, ви зрозумієте " +"фундаментальну істину сокетів: *повідомлення мають бути фіксованої довжини* " +"(фу), *або бути розділеними* (знизати плечима), *або вказати їхню довжину* " +"(набагато краще), *або закінчити, вимкнувши з’єднання*. Вибір виключно за " +"вами (але деякі шляхи правильніші за інші)." + +msgid "" +"Assuming you don't want to end the connection, the simplest solution is a " +"fixed length message::" +msgstr "" +"Якщо припустити, що ви не хочете розривати з’єднання, найпростішим рішенням " +"є повідомлення фіксованої довжини::" + +msgid "" +"The sending code here is usable for almost any messaging scheme - in Python " +"you send strings, and you can use ``len()`` to determine its length (even if " +"it has embedded ``\\0`` characters). It's mostly the receiving code that " +"gets more complex. (And in C, it's not much worse, except you can't use " +"``strlen`` if the message has embedded ``\\0``\\ s.)" +msgstr "" +"Код надсилання тут можна використовувати майже для будь-якої схеми обміну " +"повідомленнями - у Python ви надсилаєте рядки, і ви можете використовувати " +"``len()``, щоб визначити його довжину (навіть якщо він містить символи ``" +"\\0``). Здебільшого код отримання стає складнішим. (У C це не набагато " +"гірше, за винятком того, що ви не можете використовувати ``strlen``, якщо " +"повідомлення містить ``\\0``\\ s.)" + +msgid "" +"The easiest enhancement is to make the first character of the message an " +"indicator of message type, and have the type determine the length. Now you " +"have two ``recv``\\ s - the first to get (at least) that first character so " +"you can look up the length, and the second in a loop to get the rest. If you " +"decide to go the delimited route, you'll be receiving in some arbitrary " +"chunk size, (4096 or 8192 is frequently a good match for network buffer " +"sizes), and scanning what you've received for a delimiter." +msgstr "" +"Найпростішим удосконаленням є зробити перший символ повідомлення індикатором " +"типу повідомлення, а тип визначати довжину. Тепер у вас є два ``recv``\\ - " +"перший, щоб отримати (принаймні) перший символ, щоб ви могли переглянути " +"довжину, а другий у циклі, щоб отримати решту. Якщо ви вирішите скористатися " +"розмежованим маршрутом, ви отримуватимете довільний розмір фрагмента (4096 " +"або 8192 часто добре підходить для розмірів мережевого буфера) і " +"скануватимете отримане як роздільник." + +msgid "" +"One complication to be aware of: if your conversational protocol allows " +"multiple messages to be sent back to back (without some kind of reply), and " +"you pass ``recv`` an arbitrary chunk size, you may end up reading the start " +"of a following message. You'll need to put that aside and hold onto it, " +"until it's needed." +msgstr "" +"Одна складність, про яку слід пам’ятати: якщо ваш протокол розмови дозволяє " +"надсилати декілька повідомлень один за одним (без відповіді), і ви передаєте " +"``recv`` довільного розміру фрагмента, ви можете завершити читання початку " +"наступне повідомлення. Вам потрібно буде відкласти це вбік і тримати, поки " +"воно не знадобиться." + +msgid "" +"Prefixing the message with its length (say, as 5 numeric characters) gets " +"more complex, because (believe it or not), you may not get all 5 characters " +"in one ``recv``. In playing around, you'll get away with it; but in high " +"network loads, your code will very quickly break unless you use two ``recv`` " +"loops - the first to determine the length, the second to get the data part " +"of the message. Nasty. This is also when you'll discover that ``send`` does " +"not always manage to get rid of everything in one pass. And despite having " +"read this, you will eventually get bit by it!" +msgstr "" +"Додавання до повідомлення довжини (скажімо, 5 цифрових символів) стає " +"складнішим, оскільки (вірте чи ні), ви можете не отримати всі 5 символів в " +"одному ``recv``. Граючись, ви вийдете з рук; але за високого навантаження на " +"мережу ваш код дуже швидко зламається, якщо ви не використовуєте два цикли " +"``recv`` - перший для визначення довжини, другий для отримання частини даних " +"повідомлення. Огидно. Тут також ви побачите, що ``send`` не завжди вдається " +"позбутися всього за один прохід. І, незважаючи на те, що ви прочитали це, ви " +"зрештою розчулитесь!" + +msgid "" +"In the interests of space, building your character, (and preserving my " +"competitive position), these enhancements are left as an exercise for the " +"reader. Lets move on to cleaning up." +msgstr "" +"В інтересах простору, побудови вашого персонажа (і збереження моєї " +"конкурентної позиції), ці вдосконалення залишаються як вправа для читача. " +"Переходимо до прибирання." + +msgid "Binary Data" +msgstr "Двійкові дані" + +msgid "" +"It is perfectly possible to send binary data over a socket. The major " +"problem is that not all machines use the same formats for binary data. For " +"example, `network byte order `_ is big-endian, with the most significant byte " +"first, so a 16 bit integer with the value ``1`` would be the two hex bytes " +"``00 01``. However, most common processors (x86/AMD64, ARM, RISC-V), are " +"little-endian, with the least significant byte first - that same ``1`` would " +"be ``01 00``." +msgstr "" +"Цілком можливо надсилати двійкові дані через сокет. Основна проблема полягає " +"в тому, що не всі машини використовують однакові формати для двійкових " +"даних. Наприклад, `мережевий порядок байтів `_ є старшим байтом, із старшим байтом першим, тому 16-" +"бітове ціле число зі значенням ``1`` буде двома шістнадцятковими байтами " +"``00 01``. Однак більшість поширених процесорів (x86/AMD64, ARM, RISC-V) " +"мають байт від маленького байта з молодшим байтом першим - той самий ``1`` " +"буде ``01 00``." + +msgid "" +"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, " +"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, \"s" +"\" means *short* and \"l\" means *long*. Where network order is host order, " +"these do nothing, but where the machine is byte-reversed, these swap the " +"bytes around appropriately." +msgstr "" +"Бібліотеки сокетів містять виклики для перетворення 16- та 32-розрядних " +"цілих чисел — ``ntohl, htonl, ntohs, htons``, де \"n\" означає *мережа*, а " +"\"h\" означає *host*, \"s\" означає *short* і \"l\". \" означає *довгий*. " +"Там, де мережевий порядок є порядком хостів, вони нічого не роблять, але " +"там, де машина реверсована, байти міняються місцями належним чином." + +msgid "" +"In these days of 64-bit machines, the ASCII representation of binary data is " +"frequently smaller than the binary representation. That's because a " +"surprising amount of the time, most integers have the value 0, or maybe 1. " +"The string ``\"0\"`` would be two bytes, while a full 64-bit integer would " +"be 8. Of course, this doesn't fit well with fixed-length messages. " +"Decisions, decisions." +msgstr "" +"У наші дні 64-розрядних машин представлення двійкових даних у форматі ASCII " +"часто менше, ніж у двійковому. Це тому, що на диво більшість цілих чисел " +"мають значення 0 або, можливо, 1. Рядок ``\"0\"`` складатиметься з двох " +"байтів, тоді як повне 64-розрядне ціле число буде 8. Звичайно, це не не " +"підходить для повідомлень фіксованої довжини. Рішення, рішення." + +msgid "Disconnecting" +msgstr "Відключення" + +msgid "" +"Strictly speaking, you're supposed to use ``shutdown`` on a socket before " +"you ``close`` it. The ``shutdown`` is an advisory to the socket at the " +"other end. Depending on the argument you pass it, it can mean \"I'm not " +"going to send anymore, but I'll still listen\", or \"I'm not listening, good " +"riddance!\". Most socket libraries, however, are so used to programmers " +"neglecting to use this piece of etiquette that normally a ``close`` is the " +"same as ``shutdown(); close()``. So in most situations, an explicit " +"``shutdown`` is not needed." +msgstr "" +"Власне кажучи, ви повинні використовувати ``shutdown`` для сокета перед тим, " +"як ``закрити`` його. ``вимкнення`` є порадою для розетки на іншому кінці. " +"Залежно від аргументу, який ви передаєте, це може означати \"Я більше не " +"надсилаю, але я все одно вислухаю\", або \"Я не слухаю, ну добре!\". Однак " +"більшість бібліотек сокетів настільки звикли до того, що програмісти " +"нехтують використанням цього правила етикету, що зазвичай ``close`` є таким " +"самим, як ``shutdown(); close()``. Тож у більшості ситуацій явне " +"``вимкнення`` не потрібне." + +msgid "" +"One way to use ``shutdown`` effectively is in an HTTP-like exchange. The " +"client sends a request and then does a ``shutdown(1)``. This tells the " +"server \"This client is done sending, but can still receive.\" The server " +"can detect \"EOF\" by a receive of 0 bytes. It can assume it has the " +"complete request. The server sends a reply. If the ``send`` completes " +"successfully then, indeed, the client was still receiving." +msgstr "" +"Один із способів ефективного використання ``shutdown`` - це HTTP-подібний " +"обмін. Клієнт надсилає запит, а потім виконує ``shutdown(1)``. Це повідомляє " +"серверу: \"Цей клієнт завершив надсилання, але все ще може отримувати\". " +"Сервер може виявити \"EOF\" за отриманням 0 байтів. Він може вважати, що має " +"повний запит. Сервер надсилає відповідь. Якщо ``надсилання`` завершилося " +"успішно, тоді клієнт справді все ще отримував." + +msgid "" +"Python takes the automatic shutdown a step further, and says that when a " +"socket is garbage collected, it will automatically do a ``close`` if it's " +"needed. But relying on this is a very bad habit. If your socket just " +"disappears without doing a ``close``, the socket at the other end may hang " +"indefinitely, thinking you're just being slow. *Please* ``close`` your " +"sockets when you're done." +msgstr "" +"Python робить автоматичне завершення роботи на крок далі, і каже, що коли " +"сокет збирає сміття, він автоматично виконає ``закриття``, якщо це " +"необхідно. Але покладатися на це – дуже погана звичка. Якщо ваш сокет просто " +"зникне, не виконавши ``закриття``, сокет на іншому кінці може зависнути " +"нескінченно, вважаючи, що ви просто повільні. *Будь ласка* ``закрийте`` свої " +"сокети, коли закінчите." + +msgid "When Sockets Die" +msgstr "Коли сокети вмирають" + +msgid "" +"Probably the worst thing about using blocking sockets is what happens when " +"the other side comes down hard (without doing a ``close``). Your socket is " +"likely to hang. TCP is a reliable protocol, and it will wait a long, long " +"time before giving up on a connection. If you're using threads, the entire " +"thread is essentially dead. There's not much you can do about it. As long as " +"you aren't doing something dumb, like holding a lock while doing a blocking " +"read, the thread isn't really consuming much in the way of resources. Do " +"*not* try to kill the thread - part of the reason that threads are more " +"efficient than processes is that they avoid the overhead associated with the " +"automatic recycling of resources. In other words, if you do manage to kill " +"the thread, your whole process is likely to be screwed up." +msgstr "" +"Ймовірно, найгірше у використанні блокування сокетів – це те, що " +"відбувається, коли інша сторона сильно опускається (без виконання " +"``закриття``). Ваша розетка, швидше за все, зависла. TCP є надійним " +"протоколом, і він чекатиме дуже довго, перш ніж відмовитися від з’єднання. " +"Якщо ви використовуєте потоки, весь потік фактично мертвий. З цим мало що " +"можна зробити. Поки ви не робите щось дурне, наприклад, утримуєте блокування " +"під час виконання блокуючого читання, потік насправді не споживає багато " +"ресурсів. *Не* намагайтеся припинити потік – одна з причин того, що потоки " +"ефективніші за процеси, полягає в тому, що вони уникають накладних витрат, " +"пов’язаних з автоматичною переробкою ресурсів. Іншими словами, якщо вам таки " +"вдасться припинити потік, весь ваш процес, швидше за все, буде зіпсовано." + +msgid "Non-blocking Sockets" +msgstr "Неблокуючі сокети" + +msgid "" +"If you've understood the preceding, you already know most of what you need " +"to know about the mechanics of using sockets. You'll still use the same " +"calls, in much the same ways. It's just that, if you do it right, your app " +"will be almost inside-out." +msgstr "" +"Якщо ви зрозуміли попереднє, ви вже знаєте більшість того, що вам потрібно " +"знати про механізми використання розеток. Ви й надалі використовуватимете ті " +"самі дзвінки майже тими самими способами. Просто якщо ви зробите це " +"правильно, ваш додаток буде майже навиворіт." + +msgid "" +"In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In " +"C, it's more complex, (for one thing, you'll need to choose between the BSD " +"flavor ``O_NONBLOCK`` and the almost indistinguishable POSIX flavor " +"``O_NDELAY``, which is completely different from ``TCP_NODELAY``), but it's " +"the exact same idea. You do this after creating the socket, but before using " +"it. (Actually, if you're nuts, you can switch back and forth.)" +msgstr "" +"У Python ви використовуєте ``socket.setblocking(False)``, щоб зробити його " +"неблокуючим. У C це складніше (з одного боку, вам потрібно буде вибирати між " +"варіантом BSD ``O_NONBLOCK`` і майже невідмітним варіантом POSIX " +"``O_NDELAY``, який повністю відрізняється від ``TCP_NODELAY``) , але це та " +"сама ідея. Ви робите це після створення сокета, але перед його " +"використанням. (Насправді, якщо ви божевільні, ви можете перемикатися вперед " +"і назад.)" + +msgid "" +"The major mechanical difference is that ``send``, ``recv``, ``connect`` and " +"``accept`` can return without having done anything. You have (of course) a " +"number of choices. You can check return code and error codes and generally " +"drive yourself crazy. If you don't believe me, try it sometime. Your app " +"will grow large, buggy and suck CPU. So let's skip the brain-dead solutions " +"and do it right." +msgstr "" +"Основна механічна відмінність полягає в тому, що ``send``, ``recv``, " +"``connect`` і ``accept`` можуть повернутися, не зробивши нічого. У вас є " +"(звичайно) кілька варіантів. Можна перевірити код повернення і коди помилок " +"і взагалі звести себе з розуму. Якщо ви мені не вірите, спробуйте якось. " +"Ваша програма буде рости, матиме помилки та завантажуватиме процесор. Тож " +"давайте пропустимо рішення, що призводять до смерті мозку, і зробимо це " +"правильно." + +msgid "Use ``select``." +msgstr "Використовуйте ``вибрати``." + +msgid "" +"In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, " +"but it's close enough to the C version that if you understand ``select`` in " +"Python, you'll have little trouble with it in C::" +msgstr "" +"У C кодування ``select`` є досить складним. У Python це непросто, але він " +"досить близький до версії C, тому якщо ви розумієте ``select`` у Python, у " +"вас не буде проблем з цим у C::" + +msgid "" +"You pass ``select`` three lists: the first contains all sockets that you " +"might want to try reading; the second all the sockets you might want to try " +"writing to, and the last (normally left empty) those that you want to check " +"for errors. You should note that a socket can go into more than one list. " +"The ``select`` call is blocking, but you can give it a timeout. This is " +"generally a sensible thing to do - give it a nice long timeout (say a " +"minute) unless you have good reason to do otherwise." +msgstr "" +"Ви передаєте ``select`` три списки: перший містить усі сокети, які ви можете " +"спробувати прочитати; другий – усі сокети, до яких ви можете спробувати " +"записати, а останній (зазвичай залишають порожнім) ті, які ви хочете " +"перевірити на наявність помилок. Зверніть увагу, що сокет може входити до " +"кількох списків. Виклик ``select`` блокується, але ви можете дати йому тайм-" +"аут. Загалом це розумна річ — дайте гарний довгий тайм-аут (скажімо, " +"хвилину), якщо у вас немає вагомих причин для цього." + +msgid "" +"In return, you will get three lists. They contain the sockets that are " +"actually readable, writable and in error. Each of these lists is a subset " +"(possibly empty) of the corresponding list you passed in." +msgstr "" +"Натомість ви отримаєте три списки. Вони містять сокети, які фактично " +"доступні для читання, запису та помилок. Кожен із цих списків є підмножиною " +"(можливо, порожньою) відповідного списку, який ви передали." + +msgid "" +"If a socket is in the output readable list, you can be as-close-to-certain-" +"as-we-ever-get-in-this-business that a ``recv`` on that socket will return " +"*something*. Same idea for the writable list. You'll be able to send " +"*something*. Maybe not all you want to, but *something* is better than " +"nothing. (Actually, any reasonably healthy socket will return as writable - " +"it just means outbound network buffer space is available.)" +msgstr "" +"Якщо сокет є у вихідному списку доступних для читання, ви можете бути " +"настільки ж близькі до впевненості, що ``recv`` для цього сокета поверне " +"*щось*. Така сама ідея для списку доступного для запису. Ви зможете " +"надіслати *щось*. Можливо, не все, що ви хочете, але *щось* краще, ніж " +"нічого. (Насправді, будь-який досить справний сокет повернеться як доступний " +"для запису - це просто означає, що вихідний мережевий буфер доступний.)" + +msgid "" +"If you have a \"server\" socket, put it in the potential_readers list. If it " +"comes out in the readable list, your ``accept`` will (almost certainly) " +"work. If you have created a new socket to ``connect`` to someone else, put " +"it in the potential_writers list. If it shows up in the writable list, you " +"have a decent chance that it has connected." +msgstr "" +"Якщо у вас є \"серверний\" сокет, додайте його до списку potencial_readers. " +"Якщо він з’явиться у списку доступних для читання, ваш ``accept`` (майже " +"напевно) спрацює. Якщо ви створили новий сокет для ``з’єднання`` з кимось " +"іншим, додайте його до списку potencijal_writers. Якщо він відображається у " +"списку доступних для запису, у вас є пристойний шанс, що він підключився." + +msgid "" +"Actually, ``select`` can be handy even with blocking sockets. It's one way " +"of determining whether you will block - the socket returns as readable when " +"there's something in the buffers. However, this still doesn't help with the " +"problem of determining whether the other end is done, or just busy with " +"something else." +msgstr "" +"Фактично, ``select`` може бути зручним навіть з блокуванням сокетів. Це один " +"із способів визначити, чи будете ви блокувати – сокет повертається як " +"читабельний, коли щось є в буферах. Однак це все ще не допомагає вирішити " +"проблему визначення того, чи інший кінець готовий, чи він просто зайнятий " +"чимось іншим." + +msgid "" +"**Portability alert**: On Unix, ``select`` works both with the sockets and " +"files. Don't try this on Windows. On Windows, ``select`` works with sockets " +"only. Also note that in C, many of the more advanced socket options are done " +"differently on Windows. In fact, on Windows I usually use threads (which " +"work very, very well) with my sockets." +msgstr "" +"**Попередження про переносимість**: в Unix ``select`` працює як з сокетами, " +"так і з файлами. Не пробуйте це на Windows. У Windows ``select`` працює лише " +"з сокетами. Також зауважте, що в C багато розширені параметри сокетів " +"виконуються інакше у Windows. Фактично, у Windows я зазвичай використовую " +"потоки (які дуже, дуже добре працюють) зі своїми сокетами." diff --git a/howto/sorting.po b/howto/sorting.po new file mode 100644 index 000000000..c6c32b0af --- /dev/null +++ b/howto/sorting.po @@ -0,0 +1,365 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Sorting HOW TO" +msgstr "Сортування ЯК" + +msgid "Author" +msgstr "Автор" + +msgid "Andrew Dalke and Raymond Hettinger" +msgstr "" + +msgid "Release" +msgstr "Реліз" + +msgid "0.1" +msgstr "0,1" + +msgid "" +"Python lists have a built-in :meth:`list.sort` method that modifies the list " +"in-place. There is also a :func:`sorted` built-in function that builds a " +"new sorted list from an iterable." +msgstr "" +"Списки Python мають вбудований метод :meth:`list.sort`, який змінює список " +"на місці. Існує також вбудована функція :func:`sorted`, яка створює новий " +"відсортований список із ітерованого." + +msgid "" +"In this document, we explore the various techniques for sorting data using " +"Python." +msgstr "" +"У цьому документі ми досліджуємо різні техніки сортування даних за допомогою " +"Python." + +msgid "Sorting Basics" +msgstr "Основи сортування" + +msgid "" +"A simple ascending sort is very easy: just call the :func:`sorted` function. " +"It returns a new sorted list:" +msgstr "" +"Просте сортування за зростанням дуже просте: просто викличте функцію :func:" +"`sorted`. Він повертає новий відсортований список:" + +msgid "" +"You can also use the :meth:`list.sort` method. It modifies the list in-place " +"(and returns ``None`` to avoid confusion). Usually it's less convenient " +"than :func:`sorted` - but if you don't need the original list, it's slightly " +"more efficient." +msgstr "" +"Ви також можете використовувати метод :meth:`list.sort`. Він змінює список " +"на місці (і повертає ``None``, щоб уникнути плутанини). Зазвичай це менш " +"зручно, ніж :func:`sorted`, але якщо вам не потрібен оригінальний список, це " +"трохи ефективніше." + +msgid "" +"Another difference is that the :meth:`list.sort` method is only defined for " +"lists. In contrast, the :func:`sorted` function accepts any iterable." +msgstr "" +"Ще одна відмінність полягає в тому, що метод :meth:`list.sort` визначено " +"лише для списків. На відміну від цього, функція :func:`sorted` приймає будь-" +"яку ітерацію." + +msgid "Key Functions" +msgstr "Ключові функції" + +msgid "" +"Both :meth:`list.sort` and :func:`sorted` have a *key* parameter to specify " +"a function (or other callable) to be called on each list element prior to " +"making comparisons." +msgstr "" +"І :meth:`list.sort`, і :func:`sorted` мають параметр *key* для вказівки " +"функції (або іншого виклику), яка буде викликана для кожного елемента списку " +"перед проведенням порівнянь." + +msgid "For example, here's a case-insensitive string comparison:" +msgstr "Наприклад, ось порівняння рядків без урахування регістру:" + +msgid "" +"The value of the *key* parameter should be a function (or other callable) " +"that takes a single argument and returns a key to use for sorting purposes. " +"This technique is fast because the key function is called exactly once for " +"each input record." +msgstr "" +"Значення параметра *key* має бути функцією (або іншою можливістю виклику), " +"яка приймає один аргумент і повертає ключ для використання в цілях " +"сортування. Ця техніка є швидкою, оскільки ключова функція викликається " +"рівно один раз для кожного вхідного запису." + +msgid "" +"A common pattern is to sort complex objects using some of the object's " +"indices as keys. For example:" +msgstr "" +"Загальним шаблоном є сортування складних об’єктів за допомогою деяких " +"індексів об’єктів як ключів. Наприклад:" + +msgid "" +"The same technique works for objects with named attributes. For example:" +msgstr "" +"Така ж техніка працює для об’єктів з іменованими атрибутами. Наприклад:" + +msgid "Operator Module Functions" +msgstr "Функції модуля оператора" + +msgid "" +"The key-function patterns shown above are very common, so Python provides " +"convenience functions to make accessor functions easier and faster. The :mod:" +"`operator` module has :func:`~operator.itemgetter`, :func:`~operator." +"attrgetter`, and a :func:`~operator.methodcaller` function." +msgstr "" +"Наведені вище шаблони клавіш-функцій дуже поширені, тому Python надає зручні " +"функції, щоб зробити функції доступу простішими та швидшими. Модуль :mod:" +"`operator` має :func:`~operator.itemgetter`, :func:`~operator.attrgetter` і " +"функцію :func:`~operator.methodcaller`." + +msgid "Using those functions, the above examples become simpler and faster:" +msgstr "" +"Використовуючи ці функції, наведені вище приклади стають простішими та " +"швидшими:" + +msgid "" +"The operator module functions allow multiple levels of sorting. For example, " +"to sort by *grade* then by *age*:" +msgstr "" +"Функції модуля оператора дозволяють сортувати кілька рівнів. Наприклад, щоб " +"відсортувати за *класом*, а потім за *віком*:" + +msgid "Ascending and Descending" +msgstr "Висхідний і спадний" + +msgid "" +"Both :meth:`list.sort` and :func:`sorted` accept a *reverse* parameter with " +"a boolean value. This is used to flag descending sorts. For example, to get " +"the student data in reverse *age* order:" +msgstr "" +"І :meth:`list.sort`, і :func:`sorted` приймають параметр *reverse* із " +"логічним значенням. Це використовується для позначення сортування за " +"спаданням. Наприклад, щоб отримати дані про студентів у зворотному порядку " +"*віку*:" + +msgid "Sort Stability and Complex Sorts" +msgstr "Стійкість сортування та складні сорти" + +msgid "" +"Sorts are guaranteed to be `stable `_\\. That means that when multiple records have " +"the same key, their original order is preserved." +msgstr "" +"Сортування гарантовано буде `стабільним `_\\. Це означає, що коли кілька записів мають " +"однаковий ключ, їхній початковий порядок зберігається." + +msgid "" +"Notice how the two records for *blue* retain their original order so that " +"``('blue', 1)`` is guaranteed to precede ``('blue', 2)``." +msgstr "" +"Зверніть увагу, як два записи для *blue* зберігають свій початковий порядок, " +"тому ``('blue', 1)`` гарантовано передує ``('blue', 2)``." + +msgid "" +"This wonderful property lets you build complex sorts in a series of sorting " +"steps. For example, to sort the student data by descending *grade* and then " +"ascending *age*, do the *age* sort first and then sort again using *grade*:" +msgstr "" +"Ця чудова властивість дозволяє вам створювати складні сорти за допомогою " +"серії кроків сортування. Наприклад, щоб відсортувати дані студента за " +"зменшенням *оцінки*, а потім за зростанням *віку*, спочатку виконайте " +"сортування за *віком*, а потім знову за допомогою *оцінки*:" + +msgid "" +"This can be abstracted out into a wrapper function that can take a list and " +"tuples of field and order to sort them on multiple passes." +msgstr "" +"Це можна абстрагувати у функцію-обгортку, яка може брати список і кортежі " +"полів і впорядковувати їх, щоб сортувати їх за кілька проходів." + +msgid "" +"The `Timsort `_ algorithm used in " +"Python does multiple sorts efficiently because it can take advantage of any " +"ordering already present in a dataset." +msgstr "" +"Алгоритм `Timsort `_, що " +"використовується в Python, ефективно виконує багаторазове сортування, " +"оскільки він може використовувати будь-яке впорядкування, яке вже є в наборі " +"даних." + +msgid "Decorate-Sort-Undecorate" +msgstr "" + +msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:" +msgstr "Ця ідіома називається Decorate-Sort-Undecorate після трьох кроків:" + +msgid "" +"First, the initial list is decorated with new values that control the sort " +"order." +msgstr "" +"По-перше, початковий список прикрашається новими значеннями, які контролюють " +"порядок сортування." + +msgid "Second, the decorated list is sorted." +msgstr "По-друге, оформлений список сортується." + +msgid "" +"Finally, the decorations are removed, creating a list that contains only the " +"initial values in the new order." +msgstr "" +"Нарешті, декорації видаляються, створюючи список, який містить лише " +"початкові значення в новому порядку." + +msgid "" +"For example, to sort the student data by *grade* using the DSU approach:" +msgstr "" +"Наприклад, щоб відсортувати дані студента за *класом* за допомогою підходу " +"DSU:" + +msgid "" +"This idiom works because tuples are compared lexicographically; the first " +"items are compared; if they are the same then the second items are compared, " +"and so on." +msgstr "" +"Ця ідіома працює, тому що кортежі порівнюються лексикографічно; порівнюються " +"перші предмети; якщо вони однакові, то порівнюються другі елементи і так " +"далі." + +msgid "" +"It is not strictly necessary in all cases to include the index *i* in the " +"decorated list, but including it gives two benefits:" +msgstr "" +"Не обов’язково в усіх випадках включати індекс *i* в оформлений список, але " +"це дає дві переваги:" + +msgid "" +"The sort is stable -- if two items have the same key, their order will be " +"preserved in the sorted list." +msgstr "" +"Сортування є стабільним — якщо два елементи мають однаковий ключ, їхній " +"порядок буде збережено у відсортованому списку." + +msgid "" +"The original items do not have to be comparable because the ordering of the " +"decorated tuples will be determined by at most the first two items. So for " +"example the original list could contain complex numbers which cannot be " +"sorted directly." +msgstr "" +"Оригінальні елементи не обов’язково мають бути порівнянними, тому що порядок " +"оформлених кортежів визначатиметься щонайбільше першими двома елементами. " +"Так, наприклад, вихідний список може містити комплексні числа, які неможливо " +"відсортувати безпосередньо." + +msgid "" +"Another name for this idiom is `Schwartzian transform `_\\, after Randal L. Schwartz, who " +"popularized it among Perl programmers." +msgstr "" +"Інша назва цієї ідіоми — `перетворення Шварца `_\\, на честь Рендала Л. Шварца, який популяризував " +"її серед програмістів на Perl." + +msgid "" +"Now that Python sorting provides key-functions, this technique is not often " +"needed." +msgstr "" +"Тепер, коли сортування Python надає ключові функції, ця техніка не часто " +"потрібна." + +msgid "Comparison Functions" +msgstr "" + +msgid "" +"Unlike key functions that return an absolute value for sorting, a comparison " +"function computes the relative ordering for two inputs." +msgstr "" + +msgid "" +"For example, a `balance scale `_ compares two samples giving a " +"relative ordering: lighter, equal, or heavier. Likewise, a comparison " +"function such as ``cmp(a, b)`` will return a negative value for less-than, " +"zero if the inputs are equal, or a positive value for greater-than." +msgstr "" + +msgid "" +"It is common to encounter comparison functions when translating algorithms " +"from other languages. Also, some libraries provide comparison functions as " +"part of their API. For example, :func:`locale.strcoll` is a comparison " +"function." +msgstr "" + +msgid "" +"To accommodate those situations, Python provides :class:`functools." +"cmp_to_key` to wrap the comparison function to make it usable as a key " +"function::" +msgstr "" + +msgid "Odds and Ends" +msgstr "Обривки" + +msgid "" +"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :" +"func:`locale.strcoll` for a comparison function. This is necessary because " +"\"alphabetical\" sort orderings can vary across cultures even if the " +"underlying alphabet is the same." +msgstr "" + +msgid "" +"The *reverse* parameter still maintains sort stability (so that records with " +"equal keys retain the original order). Interestingly, that effect can be " +"simulated without the parameter by using the builtin :func:`reversed` " +"function twice:" +msgstr "" +"Параметр *reverse* усе ще підтримує стабільність сортування (щоб записи з " +"однаковими ключами зберігали вихідний порядок). Цікаво, що цей ефект можна " +"моделювати без параметра, використовуючи двічі вбудовану функцію :func:" +"`reversed`:" + +msgid "" +"The sort routines use ``<`` when making comparisons between two objects. So, " +"it is easy to add a standard sort order to a class by defining an :meth:" +"`__lt__` method:" +msgstr "" +"Процедури сортування використовують ``<`` під час порівняння між двома " +"об’єктами. Отже, легко додати стандартний порядок сортування до класу, " +"визначивши метод :meth:`__lt__`:" + +msgid "" +"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:" +"`__lt__` is not implemented (see :func:`object.__lt__`)." +msgstr "" +"Однак зауважте, що ``<`` може повернутися до використання :meth:`__gt__`, " +"якщо :meth:`__lt__` не реалізовано (див. :func:`object.__lt__`)." + +msgid "" +"Key functions need not depend directly on the objects being sorted. A key " +"function can also access external resources. For instance, if the student " +"grades are stored in a dictionary, they can be used to sort a separate list " +"of student names:" +msgstr "" +"Ключові функції не повинні безпосередньо залежати від об’єктів, які " +"сортуються. Ключова функція також може отримувати доступ до зовнішніх " +"ресурсів. Наприклад, якщо оцінки студентів зберігаються в словнику, їх можна " +"використовувати для сортування окремого списку імен студентів:" diff --git a/howto/unicode.po b/howto/unicode.po new file mode 100644 index 000000000..8a8e18960 --- /dev/null +++ b/howto/unicode.po @@ -0,0 +1,1117 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Unicode HOWTO" +msgstr "Юнікод HOWTO" + +msgid "Release" +msgstr "Реліз" + +msgid "1.12" +msgstr "1.12" + +msgid "" +"This HOWTO discusses Python's support for the Unicode specification for " +"representing textual data, and explains various problems that people " +"commonly encounter when trying to work with Unicode." +msgstr "" +"Цей HOWTO обговорює підтримку Python специфікації Unicode для представлення " +"текстових даних і пояснює різні проблеми, з якими люди зазвичай стикаються, " +"намагаючись працювати з Unicode." + +msgid "Introduction to Unicode" +msgstr "Знайомство з Unicode" + +msgid "Definitions" +msgstr "визначення" + +msgid "" +"Today's programs need to be able to handle a wide variety of characters. " +"Applications are often internationalized to display messages and output in a " +"variety of user-selectable languages; the same program might need to output " +"an error message in English, French, Japanese, Hebrew, or Russian. Web " +"content can be written in any of these languages and can also include a " +"variety of emoji symbols. Python's string type uses the Unicode Standard for " +"representing characters, which lets Python programs work with all these " +"different possible characters." +msgstr "" +"Сучасні програми повинні вміти працювати з великою різноманітністю символів. " +"Програми часто інтернаціоналізовані для відображення повідомлень і виведення " +"різними мовами, які вибирає користувач; та сама програма може вивести " +"повідомлення про помилку англійською, французькою, японською, івритом або " +"російською. Веб-вміст може бути написаний будь-якою з цих мов, а також може " +"включати різні символи емодзі. Рядковий тип Python використовує стандарт " +"Unicode для представлення символів, що дозволяє програмам Python працювати з " +"усіма цими різними можливими символами." + +msgid "" +"Unicode (https://www.unicode.org/) is a specification that aims to list " +"every character used by human languages and give each character its own " +"unique code. The Unicode specifications are continually revised and updated " +"to add new languages and symbols." +msgstr "" +"Юнікод (https://www.unicode.org/) — це специфікація, метою якої є перелік " +"усіх символів, які використовуються людськими мовами, і надання кожному " +"символу власного унікального коду. Специфікації Unicode постійно " +"переглядаються й оновлюються для додавання нових мов і символів." + +msgid "" +"A **character** is the smallest possible component of a text. 'A', 'B', " +"'C', etc., are all different characters. So are 'È' and 'Í'. Characters " +"vary depending on the language or context you're talking about. For " +"example, there's a character for \"Roman Numeral One\", 'Ⅰ', that's separate " +"from the uppercase letter 'I'. They'll usually look the same, but these are " +"two different characters that have different meanings." +msgstr "" +"**Символ** - це найменша можлива складова тексту. \"A\", \"B\", \"C\" тощо — " +"це різні символи. Так само \"È\" і \"Í\". Символи відрізняються залежно від " +"мови чи контексту, про який ви говорите. Наприклад, для \"римської цифри один" +"\" є символ \"Ⅰ\", який стоїть окремо від великої літери \"I\". Зазвичай " +"вони виглядають однаково, але це два різні символи, які мають різні значення." + +msgid "" +"The Unicode standard describes how characters are represented by **code " +"points**. A code point value is an integer in the range 0 to 0x10FFFF " +"(about 1.1 million values, the `actual number assigned `_ is less than that). In the standard and in " +"this document, a code point is written using the notation ``U+265E`` to mean " +"the character with value ``0x265e`` (9,822 in decimal)." +msgstr "" +"Стандарт Unicode описує, як символи представлені **кодовими точками**. " +"Значення кодової точки є цілим числом у діапазоні від 0 до 0x10FFFF " +"(приблизно 1,1 мільйона значень, `фактичний номер, призначений `_ менше цього). У стандарті та в цьому " +"документі кодова точка записується з використанням позначення ``U+265E``, " +"щоб означати символ зі значенням ``0x265e`` (9822 у десятковому)." + +msgid "" +"The Unicode standard contains a lot of tables listing characters and their " +"corresponding code points:" +msgstr "" +"Стандарт Unicode містить багато таблиць зі списком символів і відповідних їм " +"кодових точок:" + +msgid "" +"Strictly, these definitions imply that it's meaningless to say 'this is " +"character ``U+265E``'. ``U+265E`` is a code point, which represents some " +"particular character; in this case, it represents the character 'BLACK CHESS " +"KNIGHT', '♞'. In informal contexts, this distinction between code points " +"and characters will sometimes be forgotten." +msgstr "" +"Власне, ці визначення означають, що немає сенсу говорити \"це символ ``U" +"+265E``\". ``U+265E`` - це кодова точка, яка представляє певний символ; у " +"цьому випадку він представляє персонаж \"ЧОРНИЙ ШАХОВИЙ ЛИКАР\", \"♞\". У " +"неофіційному контексті ця відмінність між кодовими точками та символами " +"іноді забувається." + +msgid "" +"A character is represented on a screen or on paper by a set of graphical " +"elements that's called a **glyph**. The glyph for an uppercase A, for " +"example, is two diagonal strokes and a horizontal stroke, though the exact " +"details will depend on the font being used. Most Python code doesn't need " +"to worry about glyphs; figuring out the correct glyph to display is " +"generally the job of a GUI toolkit or a terminal's font renderer." +msgstr "" +"Символ представлений на екрані чи папері набором графічних елементів, який " +"називається **гліфом**. Наприклад, гліф для великої літери A складається з " +"двох діагональних штрихів і горизонтального штриха, хоча точні деталі " +"залежатимуть від використовуваного шрифту. Для більшості кодів Python не " +"потрібно турбуватися про гліфи; визначення правильного гліфа для " +"відображення, як правило, є завданням інструментарію графічного інтерфейсу " +"користувача або засобу обробки шрифтів терміналу." + +msgid "Encodings" +msgstr "Кодування" + +msgid "" +"To summarize the previous section: a Unicode string is a sequence of code " +"points, which are numbers from 0 through ``0x10FFFF`` (1,114,111 decimal). " +"This sequence of code points needs to be represented in memory as a set of " +"**code units**, and **code units** are then mapped to 8-bit bytes. The " +"rules for translating a Unicode string into a sequence of bytes are called a " +"**character encoding**, or just an **encoding**." +msgstr "" +"Підсумовуючи попередній розділ: рядок Unicode – це послідовність кодових " +"точок, які є числами від 0 до ``0x10FFFF`` (1 114 111 десяткових). Цю " +"послідовність кодових точок потрібно представити в пам’яті як набір " +"**кодових одиниць**, а **кодові одиниці** потім відображаються на 8-бітні " +"байти. Правила перетворення рядка Unicode у послідовність байтів називаються " +"**кодуванням символів** або просто **кодуванням**." + +msgid "" +"The first encoding you might think of is using 32-bit integers as the code " +"unit, and then using the CPU's representation of 32-bit integers. In this " +"representation, the string \"Python\" might look like this:" +msgstr "" +"Перше кодування, про яке ви можете подумати, це використання 32-розрядних " +"цілих чисел як одиниці коду, а потім використання представлення ЦП 32-" +"розрядних цілих чисел. У цьому представленні рядок \"Python\" може виглядати " +"так:" + +msgid "" +"This representation is straightforward but using it presents a number of " +"problems." +msgstr "Це представлення є простим, але його використання створює ряд проблем." + +msgid "It's not portable; different processors order the bytes differently." +msgstr "Він не портативний; різні процесори впорядковують байти по-різному." + +msgid "" +"It's very wasteful of space. In most texts, the majority of the code points " +"are less than 127, or less than 255, so a lot of space is occupied by " +"``0x00`` bytes. The above string takes 24 bytes compared to the 6 bytes " +"needed for an ASCII representation. Increased RAM usage doesn't matter too " +"much (desktop computers have gigabytes of RAM, and strings aren't usually " +"that large), but expanding our usage of disk and network bandwidth by a " +"factor of 4 is intolerable." +msgstr "" +"Це дуже марнотратно. У більшості текстів більшість кодових точок менше ніж " +"127 або менше ніж 255, тому багато місця займають байти ``0x00``. Наведений " +"вище рядок займає 24 байти порівняно з 6 байтами, необхідними для " +"представлення ASCII. Збільшення використання оперативної пам’яті не має " +"великого значення (настільні комп’ютери мають гігабайти оперативної пам’яті, " +"а рядки зазвичай не такі великі), але розширення використання дискової та " +"мережевої пропускної здатності в 4 рази неприпустимо." + +msgid "" +"It's not compatible with existing C functions such as ``strlen()``, so a new " +"family of wide string functions would need to be used." +msgstr "" +"Вона не сумісна з існуючими функціями C, такими як ``strlen()``, тому " +"потрібно буде використовувати нове сімейство широких рядкових функцій." + +msgid "" +"Therefore this encoding isn't used very much, and people instead choose " +"other encodings that are more efficient and convenient, such as UTF-8." +msgstr "" +"Тому це кодування використовується не дуже часто, і люди натомість обирають " +"інші кодування, які є більш ефективними та зручними, наприклад UTF-8." + +msgid "" +"UTF-8 is one of the most commonly used encodings, and Python often defaults " +"to using it. UTF stands for \"Unicode Transformation Format\", and the '8' " +"means that 8-bit values are used in the encoding. (There are also UTF-16 " +"and UTF-32 encodings, but they are less frequently used than UTF-8.) UTF-8 " +"uses the following rules:" +msgstr "" +"UTF-8 є одним із найпоширеніших кодувань, і Python часто використовує його " +"за замовчуванням. UTF означає \"формат перетворення Юнікоду\", а \"8\" " +"означає, що в кодуванні використовуються 8-бітні значення. (Існують також " +"кодування UTF-16 і UTF-32, але вони використовуються рідше, ніж UTF-8.) " +"UTF-8 використовує такі правила:" + +msgid "" +"If the code point is < 128, it's represented by the corresponding byte value." +msgstr "" +"Якщо кодова точка < 128, вона представлена відповідним значенням байта." + +msgid "" +"If the code point is >= 128, it's turned into a sequence of two, three, or " +"four bytes, where each byte of the sequence is between 128 and 255." +msgstr "" +"Якщо кодова точка >= 128, вона перетворюється на послідовність з двох, трьох " +"або чотирьох байтів, де кожен байт послідовності знаходиться між 128 і 255." + +msgid "UTF-8 has several convenient properties:" +msgstr "UTF-8 має кілька зручних властивостей:" + +msgid "It can handle any Unicode code point." +msgstr "Він може обробляти будь-який код Unicode." + +msgid "" +"A Unicode string is turned into a sequence of bytes that contains embedded " +"zero bytes only where they represent the null character (U+0000). This means " +"that UTF-8 strings can be processed by C functions such as ``strcpy()`` and " +"sent through protocols that can't handle zero bytes for anything other than " +"end-of-string markers." +msgstr "" +"Рядок Unicode перетворюється на послідовність байтів, яка містить вбудовані " +"нульові байти лише там, де вони представляють нульовий символ (U+0000). Це " +"означає, що рядки UTF-8 можуть оброблятися такими функціями C, як " +"``strcpy()`` і надсилатися через протоколи, які не можуть обробляти нульові " +"байти для будь-чого, крім маркерів кінця рядка." + +msgid "A string of ASCII text is also valid UTF-8 text." +msgstr "Рядок тексту ASCII також є дійсним текстом UTF-8." + +msgid "" +"UTF-8 is fairly compact; the majority of commonly used characters can be " +"represented with one or two bytes." +msgstr "" +"UTF-8 є досить компактним; більшість часто використовуваних символів можуть " +"бути представлені одним або двома байтами." + +msgid "" +"If bytes are corrupted or lost, it's possible to determine the start of the " +"next UTF-8-encoded code point and resynchronize. It's also unlikely that " +"random 8-bit data will look like valid UTF-8." +msgstr "" +"Якщо байти пошкоджені або втрачені, можна визначити початок наступної " +"кодової точки кодування UTF-8 і повторно синхронізувати. Також малоймовірно, " +"що випадкові 8-бітні дані виглядатимуть як дійсний UTF-8." + +msgid "" +"UTF-8 is a byte oriented encoding. The encoding specifies that each " +"character is represented by a specific sequence of one or more bytes. This " +"avoids the byte-ordering issues that can occur with integer and word " +"oriented encodings, like UTF-16 and UTF-32, where the sequence of bytes " +"varies depending on the hardware on which the string was encoded." +msgstr "" +"UTF-8 — це байтове кодування. Кодування вказує, що кожен символ " +"представляється певною послідовністю з одного або кількох байтів. Це " +"дозволяє уникнути проблем із упорядкуванням байтів, які можуть виникнути з " +"кодуваннями, орієнтованими на ціле чи слово, наприклад UTF-16 і UTF-32, де " +"послідовність байтів змінюється залежно від апаратного забезпечення, на " +"якому було закодовано рядок." + +msgid "References" +msgstr "Список літератури" + +msgid "" +"The `Unicode Consortium site `_ has character " +"charts, a glossary, and PDF versions of the Unicode specification. Be " +"prepared for some difficult reading. `A chronology `_ of the origin and development of Unicode is also available on " +"the site." +msgstr "" +"На сайті `Unicode Consortium `_ є таблиці символів, " +"глосарій і PDF-версії специфікації Unicode. Будьте готові до важкого " +"читання. `Хронологія `_ походження та " +"розвитку Unicode також доступна на сайті." + +msgid "" +"On the Computerphile Youtube channel, Tom Scott briefly `discusses the " +"history of Unicode and UTF-8 `_ " +"(9 minutes 36 seconds)." +msgstr "" +"На Youtube-каналі Computerphile Том Скотт коротко `обговорює історію Unicode " +"та UTF-8 `_ (9 хвилин 36 " +"секунд)." + +msgid "" +"To help understand the standard, Jukka Korpela has written `an introductory " +"guide `_ to reading the Unicode " +"character tables." +msgstr "" + +msgid "" +"Another `good introductory article `_ was " +"written by Joel Spolsky. If this introduction didn't make things clear to " +"you, you should try reading this alternate article before continuing." +msgstr "" +"Ще одну `хорошу вступну статтю `_ написав Джоел Спольскі. " +"Якщо цей вступ не прояснив вам щось, спробуйте прочитати цю альтернативну " +"статтю, перш ніж продовжити." + +msgid "" +"Wikipedia entries are often helpful; see the entries for \"`character " +"encoding `_\" and `UTF-8 " +"`_, for example." +msgstr "" +"Записи у Вікіпедії часто є корисними; дивіться, наприклад, записи для " +"\"`кодування символів `_\" " +"і `UTF-8 `_." + +msgid "Python's Unicode Support" +msgstr "Підтримка Unicode в Python" + +msgid "" +"Now that you've learned the rudiments of Unicode, we can look at Python's " +"Unicode features." +msgstr "" +"Тепер, коли ви вивчили основи Юнікоду, ми можемо розглянути особливості " +"Юнікоду Python." + +msgid "The String Type" +msgstr "Тип рядка" + +msgid "" +"Since Python 3.0, the language's :class:`str` type contains Unicode " +"characters, meaning any string created using ``\"unicode rocks!\"``, " +"``'unicode rocks!'``, or the triple-quoted string syntax is stored as " +"Unicode." +msgstr "" +"Починаючи з Python 3.0, тип :class:`str` мови містить символи Unicode, тобто " +"будь-який рядок, створений за допомогою ``\"unicode rocks!\"``, ``'unicode " +"rocks!'`` або синтаксис рядка в потрійних лапках зберігається як Unicode." + +msgid "" +"The default encoding for Python source code is UTF-8, so you can simply " +"include a Unicode character in a string literal::" +msgstr "" +"Кодуванням за замовчуванням для вихідного коду Python є UTF-8, тому ви " +"можете просто включити символ Юнікоду в рядковий літерал::" + +msgid "" +"Side note: Python 3 also supports using Unicode characters in identifiers::" +msgstr "" +"Примітка: Python 3 також підтримує використання символів Unicode в " +"ідентифікаторах:" + +msgid "" +"If you can't enter a particular character in your editor or want to keep the " +"source code ASCII-only for some reason, you can also use escape sequences in " +"string literals. (Depending on your system, you may see the actual capital-" +"delta glyph instead of a \\u escape.) ::" +msgstr "" +"Якщо ви не можете ввести певний символ у своєму редакторі або з якоїсь " +"причини хочете зберегти вихідний код лише ASCII, ви також можете використати " +"керуючі послідовності в рядкових літералах. (Залежно від вашої системи, ви " +"можете побачити справжній гліф великої дельти замість символу \\u.) ::" + +msgid "" +"In addition, one can create a string using the :func:`~bytes.decode` method " +"of :class:`bytes`. This method takes an *encoding* argument, such as " +"``UTF-8``, and optionally an *errors* argument." +msgstr "" +"Крім того, можна створити рядок за допомогою методу :func:`~bytes.decode` :" +"class:`bytes`. Цей метод приймає аргумент *кодування*, такий як ``UTF-8``, і " +"необов’язково аргумент *помилки*." + +msgid "" +"The *errors* argument specifies the response when the input string can't be " +"converted according to the encoding's rules. Legal values for this argument " +"are ``'strict'`` (raise a :exc:`UnicodeDecodeError` exception), " +"``'replace'`` (use ``U+FFFD``, ``REPLACEMENT CHARACTER``), ``'ignore'`` " +"(just leave the character out of the Unicode result), or " +"``'backslashreplace'`` (inserts a ``\\xNN`` escape sequence). The following " +"examples show the differences::" +msgstr "" +"Аргумент *errors* визначає відповідь, коли вхідний рядок не можна " +"перетворити відповідно до правил кодування. Допустимі значення для цього " +"аргументу: ``'strict'`` (викликає виняток :exc:`UnicodeDecodeError`), " +"``'replace`` (використовуйте ``U+FFFD``, ``REPLACEMENT CHARACTER``), " +"``'ignore'`` (просто залиште символ поза результатом Юнікоду) або " +"``'backslashreplace'`` (вставляє керуючу послідовність ``\\xNN``). Наступні " +"приклади показують відмінності:" + +msgid "" +"Encodings are specified as strings containing the encoding's name. Python " +"comes with roughly 100 different encodings; see the Python Library Reference " +"at :ref:`standard-encodings` for a list. Some encodings have multiple " +"names; for example, ``'latin-1'``, ``'iso_8859_1'`` and ``'8859``' are all " +"synonyms for the same encoding." +msgstr "" +"Кодування вказуються як рядки, що містять назву кодування. Python " +"поставляється з приблизно 100 різними кодуваннями; перегляньте список у " +"Довіднику з бібліотеки Python за адресою :ref:`standard-encodings`. Деякі " +"кодування мають кілька імен; наприклад, \"latin-1\", \"iso_8859_1\" і " +"\"8859\" є синонімами одного кодування." + +msgid "" +"One-character Unicode strings can also be created with the :func:`chr` built-" +"in function, which takes integers and returns a Unicode string of length 1 " +"that contains the corresponding code point. The reverse operation is the " +"built-in :func:`ord` function that takes a one-character Unicode string and " +"returns the code point value::" +msgstr "" +"Односимвольні рядки Unicode також можна створити за допомогою вбудованої " +"функції :func:`chr`, яка приймає цілі числа та повертає рядок Unicode " +"довжиною 1, який містить відповідну кодову точку. Зворотною операцією є " +"вбудована функція :func:`ord`, яка приймає односимвольний рядок Юнікод і " +"повертає значення кодової точки::" + +msgid "Converting to Bytes" +msgstr "Перетворення в байти" + +msgid "" +"The opposite method of :meth:`bytes.decode` is :meth:`str.encode`, which " +"returns a :class:`bytes` representation of the Unicode string, encoded in " +"the requested *encoding*." +msgstr "" +"Протилежним методом :meth:`bytes.decode` є :meth:`str.encode`, який " +"повертає :class:`bytes` представлення рядка Юнікод, закодованого в " +"потрібному *кодуванні*." + +msgid "" +"The *errors* parameter is the same as the parameter of the :meth:`~bytes." +"decode` method but supports a few more possible handlers. As well as " +"``'strict'``, ``'ignore'``, and ``'replace'`` (which in this case inserts a " +"question mark instead of the unencodable character), there is also " +"``'xmlcharrefreplace'`` (inserts an XML character reference), " +"``backslashreplace`` (inserts a ``\\uNNNN`` escape sequence) and " +"``namereplace`` (inserts a ``\\N{...}`` escape sequence)." +msgstr "" +"Параметр *errors* такий самий, як і параметр методу :meth:`~bytes.decode`, " +"але підтримує кілька інших можливих обробників. Крім ``'strict'``, " +"``'ignore'`` і ``'replace'`` (який у цьому випадку вставляє знак питання " +"замість некодованого символу), є також ``'xmlcharrefreplace \"`` (вставляє " +"посилання на символ XML), ``backslashreplace`` (вставляє керуючу " +"послідовність ``\\uNNNN``) і ``namereplace`` (вставляє керуючу послідовність " +"``\\N{...}`` )." + +msgid "The following example shows the different results::" +msgstr "У наступному прикладі показано різні результати:" + +msgid "" +"The low-level routines for registering and accessing the available encodings " +"are found in the :mod:`codecs` module. Implementing new encodings also " +"requires understanding the :mod:`codecs` module. However, the encoding and " +"decoding functions returned by this module are usually more low-level than " +"is comfortable, and writing new encodings is a specialized task, so the " +"module won't be covered in this HOWTO." +msgstr "" +"Процедури низького рівня для реєстрації та доступу до доступних кодувань " +"можна знайти в модулі :mod:`codecs`. Реалізація нових кодувань також вимагає " +"розуміння модуля :mod:`codecs`. Однак функції кодування та декодування, які " +"повертає цей модуль, зазвичай нижчі, ніж зручно, а написання нових кодувань " +"є спеціальним завданням, тому цей модуль не розглядатиметься в цьому HOWTO." + +msgid "Unicode Literals in Python Source Code" +msgstr "Літерали Unicode у вихідному коді Python" + +msgid "" +"In Python source code, specific Unicode code points can be written using the " +"``\\u`` escape sequence, which is followed by four hex digits giving the " +"code point. The ``\\U`` escape sequence is similar, but expects eight hex " +"digits, not four::" +msgstr "" +"У вихідному коді Python певні кодові точки Unicode можна записати за " +"допомогою escape-послідовності ``\\u``, за якою йдуть чотири шістнадцяткові " +"цифри, що вказують кодову точку. Екран-послідовність ``\\U`` схожа, але " +"передбачає вісім шістнадцяткових цифр, а не чотири:" + +msgid "" +"Using escape sequences for code points greater than 127 is fine in small " +"doses, but becomes an annoyance if you're using many accented characters, as " +"you would in a program with messages in French or some other accent-using " +"language. You can also assemble strings using the :func:`chr` built-in " +"function, but this is even more tedious." +msgstr "" +"Використання керуючих послідовностей для кодових точок більше 127 добре в " +"невеликих дозах, але стає неприємним, якщо ви використовуєте багато символів " +"з акцентами, як це було б у програмі з повідомленнями французькою або іншою " +"мовою, що використовує акценти. Ви також можете збирати рядки за допомогою " +"вбудованої функції :func:`chr`, але це ще більше стомлює." + +msgid "" +"Ideally, you'd want to be able to write literals in your language's natural " +"encoding. You could then edit Python source code with your favorite editor " +"which would display the accented characters naturally, and have the right " +"characters used at runtime." +msgstr "" +"В ідеалі ви хотіли б мати можливість писати літерали в природному кодуванні " +"вашої мови. Потім ви можете відредагувати вихідний код Python за допомогою " +"свого улюбленого редактора, який природним чином відображатиме символи з " +"акцентами та використовуватиме правильні символи під час виконання." + +msgid "" +"Python supports writing source code in UTF-8 by default, but you can use " +"almost any encoding if you declare the encoding being used. This is done by " +"including a special comment as either the first or second line of the source " +"file::" +msgstr "" +"Python за замовчуванням підтримує написання вихідного коду в UTF-8, але ви " +"можете використовувати майже будь-яке кодування, якщо ви оголосите " +"кодування, яке використовується. Це робиться шляхом додавання спеціального " +"коментаря як першого або другого рядка вихідного файлу::" + +msgid "" +"The syntax is inspired by Emacs's notation for specifying variables local to " +"a file. Emacs supports many different variables, but Python only supports " +"'coding'. The ``-*-`` symbols indicate to Emacs that the comment is " +"special; they have no significance to Python but are a convention. Python " +"looks for ``coding: name`` or ``coding=name`` in the comment." +msgstr "" +"Синтаксис натхненний нотацією Emacs для визначення змінних, локальних для " +"файлу. Emacs підтримує багато різних змінних, але Python підтримує лише " +"\"кодування\". Символи ``-*-`` вказують Emacs, що коментар є особливим; вони " +"не мають значення для Python, але є умовністю. Python шукає ``coding: name`` " +"або ``coding=name`` у коментарі." + +msgid "" +"If you don't include such a comment, the default encoding used will be UTF-8 " +"as already mentioned. See also :pep:`263` for more information." +msgstr "" +"Якщо ви не включите такий коментар, використовуваним кодуванням за " +"умовчанням буде UTF-8, як уже згадувалося. Дивіться також :pep:`263` для " +"отримання додаткової інформації." + +msgid "Unicode Properties" +msgstr "Властивості Unicode" + +msgid "" +"The Unicode specification includes a database of information about code " +"points. For each defined code point, the information includes the " +"character's name, its category, the numeric value if applicable (for " +"characters representing numeric concepts such as the Roman numerals, " +"fractions such as one-third and four-fifths, etc.). There are also display-" +"related properties, such as how to use the code point in bidirectional text." +msgstr "" +"Специфікація Unicode включає базу даних інформації про кодові точки. Для " +"кожної визначеної кодової точки інформація включає ім’я символу, його " +"категорію, числове значення, якщо це застосовно (для символів, що " +"представляють числові поняття, такі як римські цифри, дроби, такі як одна " +"третина та чотири п’ятих тощо). Існують також властивості, пов’язані з " +"відображенням, наприклад, як використовувати кодову точку в двонаправленому " +"тексті." + +msgid "" +"The following program displays some information about several characters, " +"and prints the numeric value of one particular character::" +msgstr "" +"Наступна програма відображає деяку інформацію про кілька символів і друкує " +"числове значення одного конкретного символу:" + +msgid "When run, this prints:" +msgstr "Під час запуску це друкує:" + +msgid "" +"The category codes are abbreviations describing the nature of the character. " +"These are grouped into categories such as \"Letter\", \"Number\", " +"\"Punctuation\", or \"Symbol\", which in turn are broken up into " +"subcategories. To take the codes from the above output, ``'Ll'`` means " +"'Letter, lowercase', ``'No'`` means \"Number, other\", ``'Mn'`` is \"Mark, " +"nonspacing\", and ``'So'`` is \"Symbol, other\". See `the General Category " +"Values section of the Unicode Character Database documentation `_ for a list of category " +"codes." +msgstr "" +"Коди категорій — це абревіатури, що описують характер персонажа. Вони " +"згруповані в такі категорії, як \"Літера\", \"Цифра\", \"Пунктуація\" або " +"\"Символ\", які, у свою чергу, розбиті на підкатегорії. Щоб взяти коди з " +"наведеного вище виводу, ``'Ll'`` означає 'Літера, нижній регістр', ``'Ні'`` " +"означає \"Число, інше\", ``'Mn'`` це \"Позначка, без пробілів\" , а ``'So'`` " +"це \"Символ, інше\". Перегляньте `розділ Загальні значення категорій " +"документації бази даних символів Unicode `_, щоб отримати список кодів категорій." + +msgid "Comparing Strings" +msgstr "Порівняння рядків" + +msgid "" +"Unicode adds some complication to comparing strings, because the same set of " +"characters can be represented by different sequences of code points. For " +"example, a letter like 'ê' can be represented as a single code point U+00EA, " +"or as U+0065 U+0302, which is the code point for 'e' followed by a code " +"point for 'COMBINING CIRCUMFLEX ACCENT'. These will produce the same output " +"when printed, but one is a string of length 1 and the other is of length 2." +msgstr "" +"Юнікод ускладнює порівняння рядків, тому що той самий набір символів може " +"бути представлений різними послідовностями кодових точок. Наприклад, така " +"літера, як \"ê\", може бути представлена як одна кодова точка U+00EA або як U" +"+0065 U+0302, яка є кодовою точкою для \"e\", за якою йде кодова точка для " +"\"COMBINING CIRCUMFLEX ACCENT\". . Вони створюватимуть той самий результат " +"під час друку, але один буде рядком довжини 1, а інший – довжиною 2." + +msgid "" +"One tool for a case-insensitive comparison is the :meth:`~str.casefold` " +"string method that converts a string to a case-insensitive form following an " +"algorithm described by the Unicode Standard. This algorithm has special " +"handling for characters such as the German letter 'ß' (code point U+00DF), " +"which becomes the pair of lowercase letters 'ss'." +msgstr "" +"Одним із інструментів для порівняння без урахування регістру є метод рядка :" +"meth:`~str.casefold`, який перетворює рядок у форму без урахування регістру " +"відповідно до алгоритму, описаного стандартом Unicode. Цей алгоритм має " +"особливу обробку таких символів, як німецька літера \"ß\" (кодовий знак U" +"+00DF), яка стає парою малих літер \"ss\"." + +msgid "" +"A second tool is the :mod:`unicodedata` module's :func:`~unicodedata." +"normalize` function that converts strings to one of several normal forms, " +"where letters followed by a combining character are replaced with single " +"characters. :func:`normalize` can be used to perform string comparisons " +"that won't falsely report inequality if two strings use combining characters " +"differently:" +msgstr "" +"Другим інструментом є функція :func:`~unicodedata.normalize` модуля :mod:" +"`unicodedata`, яка перетворює рядки в одну з кількох нормальних форм, де " +"літери, за якими йде комбінований символ, замінюються окремими символами. :" +"func:`normalize` можна використовувати для виконання порівнянь рядків, які " +"не будуть хибно повідомляти про нерівність, якщо два рядки використовують " +"комбіновані символи по-різному:" + +msgid "When run, this outputs:" +msgstr "Під час запуску це виводить:" + +msgid "" +"The first argument to the :func:`~unicodedata.normalize` function is a " +"string giving the desired normalization form, which can be one of 'NFC', " +"'NFKC', 'NFD', and 'NFKD'." +msgstr "" +"Першим аргументом функції :func:`~unicodedata.normalize` є рядок, що надає " +"бажану форму нормалізації, яка може бути однією з \"NFC\", \"NFKC\", \"NFD\" " +"і \"NFKD\"." + +msgid "The Unicode Standard also specifies how to do caseless comparisons::" +msgstr "Стандарт Unicode також визначає, як робити порівняння без регістру:" + +msgid "" +"This will print ``True``. (Why is :func:`NFD` invoked twice? Because there " +"are a few characters that make :meth:`casefold` return a non-normalized " +"string, so the result needs to be normalized again. See section 3.13 of the " +"Unicode Standard for a discussion and an example.)" +msgstr "" +"Це виведе ``True``. (Чому :func:`NFD` викликається двічі? Тому що є кілька " +"символів, через які :meth:`casefold` повертає ненормалізований рядок, тому " +"результат потрібно знову нормалізувати. Дивіться розділ 3.13 стандарту " +"Unicode для обговорення та приклад.)" + +msgid "Unicode Regular Expressions" +msgstr "Регулярні вирази Unicode" + +msgid "" +"The regular expressions supported by the :mod:`re` module can be provided " +"either as bytes or strings. Some of the special character sequences such as " +"``\\d`` and ``\\w`` have different meanings depending on whether the pattern " +"is supplied as bytes or a string. For example, ``\\d`` will match the " +"characters ``[0-9]`` in bytes but in strings will match any character that's " +"in the ``'Nd'`` category." +msgstr "" +"Регулярні вирази, які підтримує модуль :mod:`re`, можуть бути надані у " +"вигляді байтів або рядків. Деякі послідовності спеціальних символів, " +"наприклад ``\\d`` і ``\\w``, мають різні значення залежно від того, чи " +"надається шаблон у вигляді байтів чи рядка. Наприклад, ``\\d`` відповідатиме " +"символам ``[0-9]`` у байтах, але в рядках відповідатиме будь-якому символу " +"категорії ``'Nd'``." + +msgid "" +"The string in this example has the number 57 written in both Thai and Arabic " +"numerals::" +msgstr "" +"Рядок у цьому прикладі містить число 57, написане тайськими та арабськими " +"цифрами:" + +msgid "" +"When executed, ``\\d+`` will match the Thai numerals and print them out. If " +"you supply the :const:`re.ASCII` flag to :func:`~re.compile`, ``\\d+`` will " +"match the substring \"57\" instead." +msgstr "" +"Після виконання ``\\d+`` відповідатиме тайським цифрам і виводитиме їх. Якщо " +"ви додасте прапорець :const:`re.ASCII` до :func:`~re.compile`, ``\\d+`` " +"натомість відповідатиме підрядку \"57\"." + +msgid "" +"Similarly, ``\\w`` matches a wide variety of Unicode characters but only " +"``[a-zA-Z0-9_]`` in bytes or if :const:`re.ASCII` is supplied, and ``\\s`` " +"will match either Unicode whitespace characters or ``[ \\t\\n\\r\\f\\v]``." +msgstr "" +"Аналогічно, ``\\w`` відповідає широкому спектру символів Юнікоду, але лише " +"``[a-zA-Z0-9_]`` в байтах або якщо надано :const:`re.ASCII`, і ``\\s`` " +"відповідатиме або пробілам Unicode, або ``[ \\t\\n\\r\\f\\v]``." + +msgid "Some good alternative discussions of Python's Unicode support are:" +msgstr "Деякі хороші альтернативні обговорення підтримки Unicode в Python:" + +msgid "" +"`Processing Text Files in Python 3 `_, by Nick Coghlan." +msgstr "" + +msgid "" +"`Pragmatic Unicode `_, a PyCon " +"2012 presentation by Ned Batchelder." +msgstr "" +"`Pragmatic Unicode `_, " +"презентація PyCon 2012 Неда Батчелдера." + +msgid "" +"The :class:`str` type is described in the Python library reference at :ref:" +"`textseq`." +msgstr "" +"Тип :class:`str` описано в довідці про бібліотеку Python за адресою :ref:" +"`textseq`." + +msgid "The documentation for the :mod:`unicodedata` module." +msgstr "Документація для модуля :mod:`unicodedata`." + +msgid "The documentation for the :mod:`codecs` module." +msgstr "Документація для модуля :mod:`codecs`." + +msgid "" +"Marc-André Lemburg gave `a presentation titled \"Python and Unicode\" (PDF " +"slides) `_ at " +"EuroPython 2002. The slides are an excellent overview of the design of " +"Python 2's Unicode features (where the Unicode string type is called " +"``unicode`` and literals start with ``u``)." +msgstr "" +"Марк-Андре Лембург провів `презентацію під назвою \"Python і Юнікод\" (PDF-" +"слайди) `_ на " +"EuroPython 2002. Слайди є чудовим оглядом дизайну функцій Юнікоду Python 2 " +"(де тип рядка Юнікод називається ``unicode`` і літерали починаються з ``u``)." + +msgid "Reading and Writing Unicode Data" +msgstr "Читання та запис даних Unicode" + +msgid "" +"Once you've written some code that works with Unicode data, the next problem " +"is input/output. How do you get Unicode strings into your program, and how " +"do you convert Unicode into a form suitable for storage or transmission?" +msgstr "" +"Після того, як ви написали код, який працює з даними Unicode, наступною " +"проблемою є введення/виведення. Як отримати рядки Unicode у вашій програмі " +"та як перетворити Unicode у форму, придатну для зберігання чи передачі?" + +msgid "" +"It's possible that you may not need to do anything depending on your input " +"sources and output destinations; you should check whether the libraries used " +"in your application support Unicode natively. XML parsers often return " +"Unicode data, for example. Many relational databases also support Unicode-" +"valued columns and can return Unicode values from an SQL query." +msgstr "" +"Цілком можливо, що вам може не знадобитися нічого робити залежно від ваших " +"джерел введення та призначення виводу; вам слід перевірити, чи бібліотеки, " +"які використовуються у вашій програмі, підтримують Unicode. Синтаксичні " +"аналізатори XML часто повертають, наприклад, дані Unicode. Багато реляційних " +"баз даних також підтримують стовпці зі значеннями Юнікод і можуть повертати " +"значення Юнікод із запиту SQL." + +msgid "" +"Unicode data is usually converted to a particular encoding before it gets " +"written to disk or sent over a socket. It's possible to do all the work " +"yourself: open a file, read an 8-bit bytes object from it, and convert the " +"bytes with ``bytes.decode(encoding)``. However, the manual approach is not " +"recommended." +msgstr "" +"Дані Unicode зазвичай перетворюються в певне кодування перед записом на диск " +"або надсиланням через сокет. Можна виконати всю роботу самостійно: відкрити " +"файл, прочитати з нього 8-бітний об’єкт bytes і перетворити байти за " +"допомогою ``bytes.decode(encoding)``. Однак ручний підхід не рекомендується." + +msgid "" +"One problem is the multi-byte nature of encodings; one Unicode character can " +"be represented by several bytes. If you want to read the file in arbitrary-" +"sized chunks (say, 1024 or 4096 bytes), you need to write error-handling " +"code to catch the case where only part of the bytes encoding a single " +"Unicode character are read at the end of a chunk. One solution would be to " +"read the entire file into memory and then perform the decoding, but that " +"prevents you from working with files that are extremely large; if you need " +"to read a 2 GiB file, you need 2 GiB of RAM. (More, really, since for at " +"least a moment you'd need to have both the encoded string and its Unicode " +"version in memory.)" +msgstr "" +"Однією з проблем є багатобайтова природа кодувань; один символ Unicode може " +"бути представлений кількома байтами. Якщо ви хочете прочитати файл " +"фрагментами довільного розміру (скажімо, 1024 або 4096 байтів), вам потрібно " +"написати код обробки помилок, щоб уловити випадок, коли лише частина байтів, " +"що кодують один символ Unicode, читається в кінці шматок. Одним із рішень " +"було б прочитати весь файл у пам’ять, а потім виконати декодування, але це " +"заважає вам працювати з файлами, які є надзвичайно великими; якщо вам " +"потрібно прочитати файл розміром 2 ГБ, вам знадобиться 2 ГБ оперативної " +"пам’яті. (Насправді більше, оскільки принаймні на мить вам знадобиться мати " +"в пам’яті як закодований рядок, так і його версію Unicode.)" + +msgid "" +"The solution would be to use the low-level decoding interface to catch the " +"case of partial coding sequences. The work of implementing this has already " +"been done for you: the built-in :func:`open` function can return a file-like " +"object that assumes the file's contents are in a specified encoding and " +"accepts Unicode parameters for methods such as :meth:`~io.TextIOBase.read` " +"and :meth:`~io.TextIOBase.write`. This works through :func:`open`\\'s " +"*encoding* and *errors* parameters which are interpreted just like those in :" +"meth:`str.encode` and :meth:`bytes.decode`." +msgstr "" +"Рішення полягало б у використанні інтерфейсу декодування низького рівня для " +"виявлення випадків часткових послідовностей кодування. Роботу над " +"реалізацією цього вже виконано за вас: вбудована функція :func:`open` може " +"повертати файлоподібний об’єкт, який припускає, що вміст файлу знаходиться у " +"вказаному кодуванні та приймає параметри Unicode для таких методів, як :meth:" +"`~io.TextIOBase.read` і :meth:`~io.TextIOBase.write`. Це працює через " +"параметри *encoding* і *errors* :func:`open`\\, які інтерпретуються так " +"само, як ті, що в :meth:`str.encode` і :meth:`bytes.decode`." + +msgid "Reading Unicode from a file is therefore simple::" +msgstr "Тому читання Unicode з файлу просте:" + +msgid "" +"It's also possible to open files in update mode, allowing both reading and " +"writing::" +msgstr "" +"Також можна відкривати файли в режимі оновлення, дозволяючи як читання, так " +"і запис:" + +msgid "" +"The Unicode character ``U+FEFF`` is used as a byte-order mark (BOM), and is " +"often written as the first character of a file in order to assist with " +"autodetection of the file's byte ordering. Some encodings, such as UTF-16, " +"expect a BOM to be present at the start of a file; when such an encoding is " +"used, the BOM will be automatically written as the first character and will " +"be silently dropped when the file is read. There are variants of these " +"encodings, such as 'utf-16-le' and 'utf-16-be' for little-endian and big-" +"endian encodings, that specify one particular byte ordering and don't skip " +"the BOM." +msgstr "" +"Символ Unicode ``U+FEFF`` використовується як позначка порядку байтів (BOM) " +"і часто записується як перший символ файлу, щоб допомогти автоматично " +"визначити порядок байтів у файлі. Деякі кодування, такі як UTF-16, очікують " +"наявності BOM на початку файлу; коли використовується таке кодування, " +"специфікація буде автоматично записана як перший символ і буде мовчки " +"відкинута під час читання файлу. Існують варіанти цих кодувань, наприклад " +"\"utf-16-le\" і \"utf-16-be\" для кодувань little-endian і big-endian, які " +"вказують один конкретний порядок байтів і не пропускають BOM." + +msgid "" +"In some areas, it is also convention to use a \"BOM\" at the start of UTF-8 " +"encoded files; the name is misleading since UTF-8 is not byte-order " +"dependent. The mark simply announces that the file is encoded in UTF-8. For " +"reading such files, use the 'utf-8-sig' codec to automatically skip the mark " +"if present." +msgstr "" +"У деяких регіонах також прийнято використовувати \"BOM\" на початку файлів у " +"кодуванні UTF-8; назва вводить в оману, оскільки UTF-8 не залежить від " +"порядку байтів. Позначка просто повідомляє, що файл закодовано в UTF-8. Для " +"читання таких файлів використовуйте кодек \"utf-8-sig\", щоб автоматично " +"пропускати позначку, якщо вона є." + +msgid "Unicode filenames" +msgstr "Імена файлів у кодуванні Unicode" + +msgid "" +"Most of the operating systems in common use today support filenames that " +"contain arbitrary Unicode characters. Usually this is implemented by " +"converting the Unicode string into some encoding that varies depending on " +"the system. Today Python is converging on using UTF-8: Python on MacOS has " +"used UTF-8 for several versions, and Python 3.6 switched to using UTF-8 on " +"Windows as well. On Unix systems, there will only be a :term:`filesystem " +"encoding `. if you've set the " +"``LANG`` or ``LC_CTYPE`` environment variables; if you haven't, the default " +"encoding is again UTF-8." +msgstr "" +"Більшість операційних систем, які сьогодні широко використовуються, " +"підтримують імена файлів, які містять довільні символи Unicode. Зазвичай це " +"реалізується шляхом перетворення рядка Unicode у кодування, яке змінюється " +"залежно від системи. Сьогодні Python наближається до використання UTF-8: " +"Python на MacOS використовував UTF-8 для кількох версій, а Python 3.6 також " +"перейшов на використання UTF-8 у Windows. У системах Unix буде лише :term:" +"`кодування файлової системи `. якщо " +"ви встановили змінні середовища ``LANG`` або ``LC_CTYPE``; якщо ви цього не " +"зробили, стандартним кодуванням знову є UTF-8." + +msgid "" +"The :func:`sys.getfilesystemencoding` function returns the encoding to use " +"on your current system, in case you want to do the encoding manually, but " +"there's not much reason to bother. When opening a file for reading or " +"writing, you can usually just provide the Unicode string as the filename, " +"and it will be automatically converted to the right encoding for you::" +msgstr "" +"Функція :func:`sys.getfilesystemencoding` повертає кодування для " +"використання у вашій поточній системі, якщо ви хочете зробити кодування " +"вручну, але немає особливих причин турбуватися. Відкриваючи файл для читання " +"або запису, ви зазвичай можете просто вказати рядок Юнікод як ім’я файлу, і " +"він буде автоматично перетворений у правильне для вас кодування::" + +msgid "" +"Functions in the :mod:`os` module such as :func:`os.stat` will also accept " +"Unicode filenames." +msgstr "" +"Функції в модулі :mod:`os`, такі як :func:`os.stat`, також прийматимуть " +"імена файлів у кодуванні Unicode." + +msgid "" +"The :func:`os.listdir` function returns filenames, which raises an issue: " +"should it return the Unicode version of filenames, or should it return bytes " +"containing the encoded versions? :func:`os.listdir` can do both, depending " +"on whether you provided the directory path as bytes or a Unicode string. If " +"you pass a Unicode string as the path, filenames will be decoded using the " +"filesystem's encoding and a list of Unicode strings will be returned, while " +"passing a byte path will return the filenames as bytes. For example, " +"assuming the default :term:`filesystem encoding ` is UTF-8, running the following program::" +msgstr "" +"Функція :func:`os.listdir` повертає імена файлів, що викликає проблему: чи " +"має вона повертати версію імен файлів у кодуванні Unicode, чи має повертати " +"байти, що містять закодовані версії? :func:`os.listdir` може робити і те, і " +"інше, залежно від того, чи вказали ви шлях до каталогу у байтах чи рядку " +"Unicode. Якщо ви передасте рядок Unicode як шлях, назви файлів буде " +"розшифровано з використанням кодування файлової системи, і буде повернено " +"список рядків Unicode, тоді як передача байтового шляху поверне назви файлів " +"як байти. Наприклад, припустивши, що типовим :term:`кодуванням файлової " +"системи ` є UTF-8, запустіть таку " +"програму::" + +msgid "will produce the following output:" +msgstr "виведе наступний результат:" + +msgid "" +"The first list contains UTF-8-encoded filenames, and the second list " +"contains the Unicode versions." +msgstr "" +"Перший список містить імена файлів у кодуванні UTF-8, а другий список " +"містить версії Unicode." + +msgid "" +"Note that on most occasions, you should can just stick with using Unicode " +"with these APIs. The bytes APIs should only be used on systems where " +"undecodable file names can be present; that's pretty much only Unix systems " +"now." +msgstr "" +"Зверніть увагу, що в більшості випадків ви можете просто використовувати " +"Unicode з цими API. API байтів слід використовувати лише в системах, де " +"можуть бути присутні імена файлів, що не розшифровуються; зараз це майже " +"лише системи Unix." + +msgid "Tips for Writing Unicode-aware Programs" +msgstr "Поради щодо написання програм, що підтримують Unicode" + +msgid "" +"This section provides some suggestions on writing software that deals with " +"Unicode." +msgstr "" +"У цьому розділі надано деякі поради щодо написання програмного забезпечення, " +"яке працює з Unicode." + +msgid "The most important tip is:" +msgstr "Найважливіша порада:" + +msgid "" +"Software should only work with Unicode strings internally, decoding the " +"input data as soon as possible and encoding the output only at the end." +msgstr "" +"Програмне забезпечення повинно працювати лише з внутрішніми рядками Unicode, " +"декодуючи вхідні дані якнайшвидше та кодуючи вихід лише в кінці." + +msgid "" +"If you attempt to write processing functions that accept both Unicode and " +"byte strings, you will find your program vulnerable to bugs wherever you " +"combine the two different kinds of strings. There is no automatic encoding " +"or decoding: if you do e.g. ``str + bytes``, a :exc:`TypeError` will be " +"raised." +msgstr "" +"Якщо ви спробуєте написати функції обробки, які приймають як Юнікод, так і " +"байтові рядки, ви побачите, що ваша програма вразлива до помилок, коли б ви " +"не поєднували два різних типи рядків. Немає автоматичного кодування або " +"декодування: якщо ви робите, напр. ``str + bytes``, буде викликано :exc:" +"`TypeError`." + +msgid "" +"When using data coming from a web browser or some other untrusted source, a " +"common technique is to check for illegal characters in a string before using " +"the string in a generated command line or storing it in a database. If " +"you're doing this, be careful to check the decoded string, not the encoded " +"bytes data; some encodings may have interesting properties, such as not " +"being bijective or not being fully ASCII-compatible. This is especially " +"true if the input data also specifies the encoding, since the attacker can " +"then choose a clever way to hide malicious text in the encoded bytestream." +msgstr "" +"Під час використання даних, що надходять із веб-браузера чи іншого " +"ненадійного джерела, поширеною технікою є перевірка рядка на недозволені " +"символи перед використанням рядка в створеному командному рядку або " +"збереженням його в базі даних. Якщо ви робите це, будьте обережні, щоб " +"перевірити декодований рядок, а не закодовані дані байтів; деякі кодування " +"можуть мати цікаві властивості, такі як небіективність або неповна ASCII-" +"сумісність. Це особливо вірно, якщо вхідні дані також визначають кодування, " +"оскільки зловмисник може вибрати розумний спосіб приховати шкідливий текст у " +"закодованому байтовому потоці." + +msgid "Converting Between File Encodings" +msgstr "Перетворення між кодуваннями файлів" + +msgid "" +"The :class:`~codecs.StreamRecoder` class can transparently convert between " +"encodings, taking a stream that returns data in encoding #1 and behaving " +"like a stream returning data in encoding #2." +msgstr "" +"Клас :class:`~codecs.StreamRecoder` може прозоро конвертувати між " +"кодуваннями, приймаючи потік, який повертає дані в кодуванні №1, і " +"поводитися як потік, який повертає дані в кодуванні №2." + +msgid "" +"For example, if you have an input file *f* that's in Latin-1, you can wrap " +"it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::" +msgstr "" +"Наприклад, якщо у вас є вхідний файл *f*, написаний мовою Latin-1, ви можете " +"обернути його :class:`~codecs.StreamRecoder`, щоб повернути байти, " +"закодовані в UTF-8::" + +msgid "Files in an Unknown Encoding" +msgstr "Файли в невідомому кодуванні" + +msgid "" +"What can you do if you need to make a change to a file, but don't know the " +"file's encoding? If you know the encoding is ASCII-compatible and only want " +"to examine or modify the ASCII parts, you can open the file with the " +"``surrogateescape`` error handler::" +msgstr "" +"Що робити, якщо вам потрібно внести зміни у файл, але ви не знаєте кодування " +"файлу? Якщо ви знаєте, що кодування сумісне з ASCII, і хочете перевірити або " +"змінити лише частини ASCII, ви можете відкрити файл за допомогою обробника " +"помилок ``surrogateescape``::" + +msgid "" +"The ``surrogateescape`` error handler will decode any non-ASCII bytes as " +"code points in a special range running from U+DC80 to U+DCFF. These code " +"points will then turn back into the same bytes when the ``surrogateescape`` " +"error handler is used to encode the data and write it back out." +msgstr "" +"Обробник помилок ``surrogateescape`` декодує будь-які байти, відмінні від " +"ASCII, як кодові точки в спеціальному діапазоні від U+DC80 до U+DCFF. Потім " +"ці кодові точки знову перетворюються на ті самі байти, коли обробник помилок " +"``surrogateescape`` використовується для кодування даних і їх зворотного " +"запису." + +msgid "" +"One section of `Mastering Python 3 Input/Output `_, a PyCon 2010 talk by David " +"Beazley, discusses text processing and binary data handling." +msgstr "" + +msgid "" +"The `PDF slides for Marc-André Lemburg's presentation \"Writing Unicode-" +"aware Applications in Python\" `_ discuss questions of " +"character encodings as well as how to internationalize and localize an " +"application. These slides cover Python 2.x only." +msgstr "" +"У `PDF-слайдах для презентації Марка-Андре Лембурга \"Написання програм, що " +"підтримують Unicode на Python\" `_ обговорюються питання " +"кодування символів, а також те, як інтернаціоналізувати та локалізувати " +"програму. Ці слайди стосуються лише Python 2.x." + +msgid "" +"`The Guts of Unicode in Python `_ is a PyCon 2013 talk by Benjamin Peterson that " +"discusses the internal Unicode representation in Python 3.3." +msgstr "" + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The initial draft of this document was written by Andrew Kuchling. It has " +"since been revised further by Alexander Belopolsky, Georg Brandl, Andrew " +"Kuchling, and Ezio Melotti." +msgstr "" +"Початковий проект цього документа був написаний Ендрю Кухлінгом. Відтоді він " +"був додатково переглянут Олександром Бєлопольським, Георгом Брандлом, Ендрю " +"Кухлінгом та Еціо Мелотті." + +msgid "" +"Thanks to the following people who have noted errors or offered suggestions " +"on this article: Éric Araujo, Nicholas Bastin, Nick Coghlan, Marius " +"Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von Löwis, " +"Terry J. Reedy, Serhiy Storchaka, Eryk Sun, Chad Whitacre, Graham Wideman." +msgstr "" +"Дякуємо таким людям, які помітили помилки або надали пропозиції щодо цієї " +"статті: Ерік Араухо, Ніколас Бастін, Нік Коглан, Маріус Гедмінас, Кент " +"Джонсон, Кен Круглер, Марк-Андре Лембург, Мартін фон Льовіс, Террі Дж. Ріді, " +"Сергій Сторчака , Ерік Сан, Чад Вітакр, Грем Уайдмен." diff --git a/howto/urllib2.po b/howto/urllib2.po new file mode 100644 index 000000000..2c40c753e --- /dev/null +++ b/howto/urllib2.po @@ -0,0 +1,725 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "HOWTO Fetch Internet Resources Using The urllib Package" +msgstr "HOWTO Отримати Інтернет-ресурси за допомогою пакета urllib" + +msgid "Author" +msgstr "Автор" + +msgid "`Michael Foord `_" +msgstr "" + +msgid "" +"There is a French translation of an earlier revision of this HOWTO, " +"available at `urllib2 - Le Manuel manquant `_." +msgstr "" + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"You may also find useful the following article on fetching web resources " +"with Python:" +msgstr "" +"Вам також може бути корисною наступна стаття про отримання веб-ресурсів за " +"допомогою Python:" + +msgid "" +"`Basic Authentication `_" +msgstr "" + +msgid "A tutorial on *Basic Authentication*, with examples in Python." +msgstr "Посібник із *базової автентифікації* з прикладами на Python." + +msgid "" +"**urllib.request** is a Python module for fetching URLs (Uniform Resource " +"Locators). It offers a very simple interface, in the form of the *urlopen* " +"function. This is capable of fetching URLs using a variety of different " +"protocols. It also offers a slightly more complex interface for handling " +"common situations - like basic authentication, cookies, proxies and so on. " +"These are provided by objects called handlers and openers." +msgstr "" +"**urllib.request** — це модуль Python для отримання URL-адрес (уніфікованих " +"покажчиків ресурсів). Він пропонує дуже простий інтерфейс у формі функції " +"*urlopen*. Це здатне отримувати URL-адреси за допомогою різних протоколів. " +"Він також пропонує дещо складніший інтерфейс для обробки поширених ситуацій, " +"таких як базова автентифікація, файли cookie, проксі тощо. Вони " +"забезпечуються об’єктами, які називаються обробниками та відкривачами." + +msgid "" +"urllib.request supports fetching URLs for many \"URL schemes\" (identified " +"by the string before the ``\":\"`` in URL - for example ``\"ftp\"`` is the " +"URL scheme of ``\"ftp://python.org/\"``) using their associated network " +"protocols (e.g. FTP, HTTP). This tutorial focuses on the most common case, " +"HTTP." +msgstr "" +"urllib.request підтримує отримання URL-адрес для багатьох \"схем URL-адрес" +"\" (визначених рядком перед ``\":\"`` в URL-адресі - наприклад, ``\"ftp\"`` " +"є схемою URL-адреси ``\"ftp:// python.org/\"``), використовуючи відповідні " +"мережеві протоколи (наприклад, FTP, HTTP). Цей підручник присвячено " +"найпоширенішому випадку, HTTP." + +msgid "" +"For straightforward situations *urlopen* is very easy to use. But as soon as " +"you encounter errors or non-trivial cases when opening HTTP URLs, you will " +"need some understanding of the HyperText Transfer Protocol. The most " +"comprehensive and authoritative reference to HTTP is :rfc:`2616`. This is a " +"technical document and not intended to be easy to read. This HOWTO aims to " +"illustrate using *urllib*, with enough detail about HTTP to help you " +"through. It is not intended to replace the :mod:`urllib.request` docs, but " +"is supplementary to them." +msgstr "" +"Для простих ситуацій *urlopen* дуже простий у використанні. Але як тільки ви " +"зіткнетеся з помилками або нетривіальними випадками під час відкриття URL-" +"адрес HTTP, вам знадобиться деяке розуміння протоколу передачі гіпертексту. " +"Найбільш повним і авторитетним посиланням на HTTP є :rfc:`2616`. Це " +"технічний документ, який не призначений для легкого читання. Цей HOWTO має " +"на меті проілюструвати використання *urllib* з достатньою кількістю деталей " +"про HTTP, щоб допомогти вам у цьому. Він не призначений для заміни " +"документів :mod:`urllib.request`, а є доповненням до них." + +msgid "Fetching URLs" +msgstr "Отримання URL-адрес" + +msgid "The simplest way to use urllib.request is as follows::" +msgstr "Найпростіший спосіб використання urllib.request такий:" + +msgid "" +"If you wish to retrieve a resource via URL and store it in a temporary " +"location, you can do so via the :func:`shutil.copyfileobj` and :func:" +"`tempfile.NamedTemporaryFile` functions::" +msgstr "" +"Якщо ви бажаєте отримати ресурс через URL-адресу та зберегти його у " +"тимчасовому місці, ви можете зробити це за допомогою функцій :func:`shutil." +"copyfileobj` і :func:`tempfile.NamedTemporaryFile`::" + +msgid "" +"Many uses of urllib will be that simple (note that instead of an 'http:' URL " +"we could have used a URL starting with 'ftp:', 'file:', etc.). However, " +"it's the purpose of this tutorial to explain the more complicated cases, " +"concentrating on HTTP." +msgstr "" +"У багатьох випадках використання urllib буде таким простим (зауважте, що " +"замість URL-адреси \"http:\" ми могли б використовувати URL-адресу, яка " +"починається з \"ftp:\", \"file:\" тощо). Однак мета цього підручника — " +"пояснити складніші випадки, зосереджуючись на HTTP." + +msgid "" +"HTTP is based on requests and responses - the client makes requests and " +"servers send responses. urllib.request mirrors this with a ``Request`` " +"object which represents the HTTP request you are making. In its simplest " +"form you create a Request object that specifies the URL you want to fetch. " +"Calling ``urlopen`` with this Request object returns a response object for " +"the URL requested. This response is a file-like object, which means you can " +"for example call ``.read()`` on the response::" +msgstr "" +"HTTP базується на запитах і відповідях - клієнт робить запити, а сервери " +"надсилають відповіді. urllib.request відображає це за допомогою об’єкта " +"``Request``, який представляє HTTP-запит, який ви робите. У найпростішій " +"формі ви створюєте об’єкт Request, який визначає URL-адресу, яку ви хочете " +"отримати. Виклик ``urlopen`` із цим об’єктом Request повертає об’єкт " +"відповіді для запитуваної URL-адреси. Ця відповідь є файлоподібним об’єктом, " +"що означає, що ви можете, наприклад, викликати ``.read()`` у відповіді::" + +msgid "" +"Note that urllib.request makes use of the same Request interface to handle " +"all URL schemes. For example, you can make an FTP request like so::" +msgstr "" +"Зауважте, що urllib.request використовує той самий інтерфейс Request для " +"обробки всіх схем URL-адрес. Наприклад, ви можете зробити FTP-запит так:" + +msgid "" +"In the case of HTTP, there are two extra things that Request objects allow " +"you to do: First, you can pass data to be sent to the server. Second, you " +"can pass extra information (\"metadata\") *about* the data or about the " +"request itself, to the server - this information is sent as HTTP \"headers" +"\". Let's look at each of these in turn." +msgstr "" +"У випадку HTTP об’єкти Request дозволяють робити дві додаткові речі: по-" +"перше, ви можете передавати дані для надсилання на сервер. По-друге, ви " +"можете передати на сервер додаткову інформацію (\"метадані\") *про* дані або " +"про сам запит — ця інформація надсилається як \"заголовки\" HTTP. Давайте по " +"черзі розглянемо кожен із них." + +msgid "Data" +msgstr "Дані" + +msgid "" +"Sometimes you want to send data to a URL (often the URL will refer to a CGI " +"(Common Gateway Interface) script or other web application). With HTTP, this " +"is often done using what's known as a **POST** request. This is often what " +"your browser does when you submit a HTML form that you filled in on the web. " +"Not all POSTs have to come from forms: you can use a POST to transmit " +"arbitrary data to your own application. In the common case of HTML forms, " +"the data needs to be encoded in a standard way, and then passed to the " +"Request object as the ``data`` argument. The encoding is done using a " +"function from the :mod:`urllib.parse` library. ::" +msgstr "" +"Іноді потрібно надіслати дані за URL-адресою (часто URL-адреса " +"посилатиметься на сценарій CGI (Common Gateway Interface) або іншу веб-" +"програму). За допомогою HTTP це часто робиться за допомогою так званого " +"запиту **POST**. Це часто робить ваш браузер, коли ви надсилаєте форму HTML, " +"яку ви заповнили в Інтернеті. Не всі повідомлення POST мають надходити з " +"форм: ви можете використовувати POST для передачі довільних даних у власну " +"програму. У звичайному випадку форм HTML дані потрібно закодувати " +"стандартним способом, а потім передати в об’єкт Request як аргумент " +"``data``. Кодування виконується за допомогою функції з бібліотеки :mod:" +"`urllib.parse`. ::" + +msgid "" +"Note that other encodings are sometimes required (e.g. for file upload from " +"HTML forms - see `HTML Specification, Form Submission `_ for more details)." +msgstr "" +"Зауважте, що іноді потрібні інші кодування (наприклад, для завантаження " +"файлів із форм HTML – див. `Специфікація HTML, Подання форми `_ для отримання додаткової " +"інформації)." + +msgid "" +"If you do not pass the ``data`` argument, urllib uses a **GET** request. One " +"way in which GET and POST requests differ is that POST requests often have " +"\"side-effects\": they change the state of the system in some way (for " +"example by placing an order with the website for a hundredweight of tinned " +"spam to be delivered to your door). Though the HTTP standard makes it clear " +"that POSTs are intended to *always* cause side-effects, and GET requests " +"*never* to cause side-effects, nothing prevents a GET request from having " +"side-effects, nor a POST requests from having no side-effects. Data can also " +"be passed in an HTTP GET request by encoding it in the URL itself." +msgstr "" +"Якщо ви не передаєте аргумент ``data``, urllib використовує запит **GET**. " +"Запити GET і POST відрізняються тим, що запити POST часто мають \"побічні " +"ефекти\": вони певним чином змінюють стан системи (наприклад, розміщуючи на " +"веб-сайті замовлення на доставку сотень консервованого спаму). до ваших " +"дверей). Хоча стандарт HTTP чітко визначає, що POST призначені *завжди* " +"спричиняти побічні ефекти, а запити GET *ніколи* не спричиняти побічних " +"ефектів, ніщо не заважає запитам GET мати побічні ефекти, а запитам POST — " +"не мати побічних ефектів. побічні ефекти. Дані також можна передати в запиті " +"HTTP GET, закодувавши їх у самій URL-адресі." + +msgid "This is done as follows::" +msgstr "Це робиться наступним чином:" + +msgid "" +"Notice that the full URL is created by adding a ``?`` to the URL, followed " +"by the encoded values." +msgstr "" +"Зауважте, що повна URL-адреса створюється шляхом додавання ``?`` до URL-" +"адреси, а потім закодованих значень." + +msgid "Headers" +msgstr "Заголовки" + +msgid "" +"We'll discuss here one particular HTTP header, to illustrate how to add " +"headers to your HTTP request." +msgstr "" +"Ми обговоримо тут один конкретний HTTP-заголовок, щоб проілюструвати, як " +"додати заголовки до вашого HTTP-запиту." + +msgid "" +"Some websites [#]_ dislike being browsed by programs, or send different " +"versions to different browsers [#]_. By default urllib identifies itself as " +"``Python-urllib/x.y`` (where ``x`` and ``y`` are the major and minor version " +"numbers of the Python release, e.g. ``Python-urllib/2.5``), which may " +"confuse the site, or just plain not work. The way a browser identifies " +"itself is through the ``User-Agent`` header [#]_. When you create a Request " +"object you can pass a dictionary of headers in. The following example makes " +"the same request as above, but identifies itself as a version of Internet " +"Explorer [#]_. ::" +msgstr "" +"Деяким веб-сайтам [#]_ не подобається, коли їх переглядають програми, або " +"вони надсилають різні версії в різні браузери [#]_. За замовчуванням urllib " +"ідентифікує себе як ``Python-urllib/x.y`` (де ``x`` і ``y`` — номер основної " +"та другорядної версій випуску Python, наприклад ``Python-urllib/2.5`` ), що " +"може заплутати сайт або просто не працювати. Браузер ідентифікує себе через " +"заголовок ``User-Agent`` [#]_. Коли ви створюєте об’єкт Request, ви можете " +"передати словник заголовків. Наступний приклад робить той самий запит, що й " +"вище, але ідентифікує себе як версію Internet Explorer [#]_. ::" + +msgid "" +"The response also has two useful methods. See the section on `info and " +"geturl`_ which comes after we have a look at what happens when things go " +"wrong." +msgstr "" +"Відповідь також має два корисні методи. Перегляньте розділ про `info та " +"geturl`_, який йде після того, як ми подивимося, що відбувається, коли щось " +"йде не так." + +msgid "Handling Exceptions" +msgstr "Обробка винятків" + +msgid "" +"*urlopen* raises :exc:`URLError` when it cannot handle a response (though as " +"usual with Python APIs, built-in exceptions such as :exc:`ValueError`, :exc:" +"`TypeError` etc. may also be raised)." +msgstr "" +"*urlopen* викликає :exc:`URLError`, коли не може обробити відповідь (хоча, " +"як зазвичай з Python API, також можуть виникати вбудовані винятки, такі як :" +"exc:`ValueError`, :exc:`TypeError` тощо) ." + +msgid "" +":exc:`HTTPError` is the subclass of :exc:`URLError` raised in the specific " +"case of HTTP URLs." +msgstr "" +":exc:`HTTPError` є підкласом :exc:`URLError`, що виникає в конкретному " +"випадку URL-адрес HTTP." + +msgid "The exception classes are exported from the :mod:`urllib.error` module." +msgstr "Класи винятків експортуються з модуля :mod:`urllib.error`." + +msgid "URLError" +msgstr "URLError" + +msgid "" +"Often, URLError is raised because there is no network connection (no route " +"to the specified server), or the specified server doesn't exist. In this " +"case, the exception raised will have a 'reason' attribute, which is a tuple " +"containing an error code and a text error message." +msgstr "" +"Часто URLError виникає через відсутність підключення до мережі (немає " +"маршруту до вказаного сервера) або вказаний сервер не існує. У цьому випадку " +"викликаний виняток матиме атрибут \"причина\", який є кортежем, що містить " +"код помилки та текстове повідомлення про помилку." + +msgid "e.g. ::" +msgstr "напр. ::" + +msgid "HTTPError" +msgstr "HTTPError" + +msgid "" +"Every HTTP response from the server contains a numeric \"status code\". " +"Sometimes the status code indicates that the server is unable to fulfil the " +"request. The default handlers will handle some of these responses for you " +"(for example, if the response is a \"redirection\" that requests the client " +"fetch the document from a different URL, urllib will handle that for you). " +"For those it can't handle, urlopen will raise an :exc:`HTTPError`. Typical " +"errors include '404' (page not found), '403' (request forbidden), and " +"'401' (authentication required)." +msgstr "" +"Кожна відповідь HTTP від сервера містить числовий \"код стану\". Іноді код " +"стану вказує на те, що сервер не може виконати запит. Обробники за " +"замовчуванням оброблять деякі з цих відповідей за вас (наприклад, якщо " +"відповідь є \"переспрямуванням\", яке вимагає від клієнта отримати документ " +"з іншої URL-адреси, urllib обробить це за вас). Для тих, хто не може " +"впоратися, urlopen викличе :exc:`HTTPError`. Типові помилки включають " +"\"404\" (сторінку не знайдено), \"403\" (запит заборонено) і " +"\"401\" (потрібна автентифікація)." + +msgid "" +"See section 10 of :rfc:`2616` for a reference on all the HTTP error codes." +msgstr "" +"Перегляньте розділ 10 :rfc:`2616` для довідки про всі коди помилок HTTP." + +msgid "" +"The :exc:`HTTPError` instance raised will have an integer 'code' attribute, " +"which corresponds to the error sent by the server." +msgstr "" +"Викликаний екземпляр :exc:`HTTPError` матиме цілочисельний атрибут \"code\", " +"який відповідає помилці, надісланій сервером." + +msgid "Error Codes" +msgstr "Коди помилок" + +msgid "" +"Because the default handlers handle redirects (codes in the 300 range), and " +"codes in the 100--299 range indicate success, you will usually only see " +"error codes in the 400--599 range." +msgstr "" +"Оскільки обробники за замовчуванням обробляють переспрямування (коди в " +"діапазоні 300), а коди в діапазоні 100--299 вказують на успіх, зазвичай ви " +"побачите коди помилок лише в діапазоні 400--599." + +msgid "" +":attr:`http.server.BaseHTTPRequestHandler.responses` is a useful dictionary " +"of response codes in that shows all the response codes used by :rfc:`2616`. " +"The dictionary is reproduced here for convenience ::" +msgstr "" +":attr:`http.server.BaseHTTPRequestHandler.responses` — це корисний словник " +"кодів відповідей, який показує всі коди відповідей, які використовує :rfc:" +"`2616`. Для зручності словник наведено тут ::" + +msgid "" +"When an error is raised the server responds by returning an HTTP error code " +"*and* an error page. You can use the :exc:`HTTPError` instance as a response " +"on the page returned. This means that as well as the code attribute, it also " +"has read, geturl, and info, methods as returned by the ``urllib.response`` " +"module::" +msgstr "" +"Коли виникає помилка, сервер відповідає, повертаючи код помилки HTTP *і* " +"сторінку помилки. Ви можете використовувати екземпляр :exc:`HTTPError` як " +"відповідь на повернуту сторінку. Це означає, що окрім атрибута code, він " +"також має методи read, geturl та info, які повертає модуль urllib.response::" + +msgid "Wrapping it Up" +msgstr "Загортання" + +msgid "" +"So if you want to be prepared for :exc:`HTTPError` *or* :exc:`URLError` " +"there are two basic approaches. I prefer the second approach." +msgstr "" +"Отже, якщо ви хочете бути готовими до :exc:`HTTPError` *або* :exc:" +"`URLError`, є два основні підходи. Я віддаю перевагу другому підходу." + +msgid "Number 1" +msgstr "Номер 1" + +msgid "" +"The ``except HTTPError`` *must* come first, otherwise ``except URLError`` " +"will *also* catch an :exc:`HTTPError`." +msgstr "" +"``except HTTPError`` *має* бути першим, інакше ``except URLError`` *також* " +"перехопить :exc:`HTTPEror`." + +msgid "Number 2" +msgstr "Номер 2" + +msgid "info and geturl" +msgstr "інформація та geturl" + +msgid "" +"The response returned by urlopen (or the :exc:`HTTPError` instance) has two " +"useful methods :meth:`info` and :meth:`geturl` and is defined in the module :" +"mod:`urllib.response`.." +msgstr "" +"Відповідь, яку повертає urlopen (або екземпляр :exc:`HTTPError`), має два " +"корисні методи :meth:`info` та :meth:`geturl` і визначено в модулі :mod:" +"`urllib.response`.." + +msgid "" +"**geturl** - this returns the real URL of the page fetched. This is useful " +"because ``urlopen`` (or the opener object used) may have followed a " +"redirect. The URL of the page fetched may not be the same as the URL " +"requested." +msgstr "" +"**geturl** - повертає справжню URL-адресу отриманої сторінки. Це корисно, " +"оскільки ``urlopen`` (або використаний об’єкт відкриття) міг слідувати за " +"перенаправленням. URL-адреса отриманої сторінки може не збігатися з " +"запитуваною URL-адресою." + +msgid "" +"**info** - this returns a dictionary-like object that describes the page " +"fetched, particularly the headers sent by the server. It is currently an :" +"class:`http.client.HTTPMessage` instance." +msgstr "" +"**info** - це повертає об’єкт, схожий на словник, який описує отриману " +"сторінку, зокрема заголовки, надіслані сервером. Зараз це екземпляр :class:" +"`http.client.HTTPMessage`." + +msgid "" +"Typical headers include 'Content-length', 'Content-type', and so on. See the " +"`Quick Reference to HTTP Headers `_ for a " +"useful listing of HTTP headers with brief explanations of their meaning and " +"use." +msgstr "" + +msgid "Openers and Handlers" +msgstr "Відкривачки та обробники" + +msgid "" +"When you fetch a URL you use an opener (an instance of the perhaps " +"confusingly named :class:`urllib.request.OpenerDirector`). Normally we have " +"been using the default opener - via ``urlopen`` - but you can create custom " +"openers. Openers use handlers. All the \"heavy lifting\" is done by the " +"handlers. Each handler knows how to open URLs for a particular URL scheme " +"(http, ftp, etc.), or how to handle an aspect of URL opening, for example " +"HTTP redirections or HTTP cookies." +msgstr "" + +msgid "" +"You will want to create openers if you want to fetch URLs with specific " +"handlers installed, for example to get an opener that handles cookies, or to " +"get an opener that does not handle redirections." +msgstr "" +"Ви захочете створити відкривачі, якщо хочете отримати URL-адреси з " +"установленими певними обробниками, наприклад, щоб отримати відкривач, який " +"обробляє файли cookie, або щоб отримати відкривач, який не обробляє " +"переспрямування." + +msgid "" +"To create an opener, instantiate an ``OpenerDirector``, and then call ``." +"add_handler(some_handler_instance)`` repeatedly." +msgstr "" +"Щоб створити відкривач, створіть екземпляр ``OpenerDirector``, а потім " +"кілька разів викличте ``.add_handler(some_handler_instance)``." + +msgid "" +"Alternatively, you can use ``build_opener``, which is a convenience function " +"for creating opener objects with a single function call. ``build_opener`` " +"adds several handlers by default, but provides a quick way to add more and/" +"or override the default handlers." +msgstr "" +"Крім того, ви можете використовувати ``build_opener``, яка є зручною " +"функцією для створення відкриваючих об’єктів за допомогою одного виклику " +"функції. ``build_opener`` додає кілька обробників за замовчуванням, але " +"забезпечує швидкий спосіб додати більше та/або замінити обробники за " +"замовчуванням." + +msgid "" +"Other sorts of handlers you might want to can handle proxies, " +"authentication, and other common but slightly specialised situations." +msgstr "" +"Інші типи обробників, які вам можуть знадобитися, можуть обробляти проксі, " +"автентифікацію та інші типові, але трохи спеціалізовані ситуації." + +msgid "" +"``install_opener`` can be used to make an ``opener`` object the (global) " +"default opener. This means that calls to ``urlopen`` will use the opener you " +"have installed." +msgstr "" +"``install_opener`` можна використовувати, щоб зробити об’єкт ``opener`` " +"(глобальним) відкривачем за замовчуванням. Це означає, що виклики " +"``urlopen`` використовуватимуть встановлений вами відкривач." + +msgid "" +"Opener objects have an ``open`` method, which can be called directly to " +"fetch urls in the same way as the ``urlopen`` function: there's no need to " +"call ``install_opener``, except as a convenience." +msgstr "" +"Об’єкти Opener мають метод ``open``, який можна викликати безпосередньо для " +"отримання URL-адрес так само, як і функцію ``urlopen``: немає необхідності " +"викликати ``install_opener``, окрім як для зручності." + +msgid "Basic Authentication" +msgstr "Базова автентифікація" + +msgid "" +"To illustrate creating and installing a handler we will use the " +"``HTTPBasicAuthHandler``. For a more detailed discussion of this subject -- " +"including an explanation of how Basic Authentication works - see the `Basic " +"Authentication Tutorial `_." +msgstr "" +"Щоб проілюструвати створення та встановлення обробника, ми використаємо " +"``HTTPBasicAuthHandler``. Для більш детального обговорення цієї теми, " +"включаючи пояснення того, як працює базова автентифікація, дивіться " +"`Навчальний посібник з базової автентифікації `_." + +msgid "" +"When authentication is required, the server sends a header (as well as the " +"401 error code) requesting authentication. This specifies the " +"authentication scheme and a 'realm'. The header looks like: ``WWW-" +"Authenticate: SCHEME realm=\"REALM\"``." +msgstr "" +"Коли потрібна автентифікація, сервер надсилає заголовок (а також код помилки " +"401) із запитом на автентифікацію. Це визначає схему автентифікації та " +"\"сферу\". Заголовок виглядає так: ``WWW-Authenticate: SCHEME realm=\"REALM" +"\"``." + +msgid "e.g." +msgstr "напр." + +msgid "" +"The client should then retry the request with the appropriate name and " +"password for the realm included as a header in the request. This is 'basic " +"authentication'. In order to simplify this process we can create an instance " +"of ``HTTPBasicAuthHandler`` and an opener to use this handler." +msgstr "" +"Потім клієнт повинен повторити запит із відповідним іменем і паролем для " +"області, включеними як заголовок запиту. Це \"базова автентифікація\". Щоб " +"спростити цей процес, ми можемо створити екземпляр ``HTTPBasicAuthHandler`` " +"і засіб відкриття для використання цього обробника." + +msgid "" +"The ``HTTPBasicAuthHandler`` uses an object called a password manager to " +"handle the mapping of URLs and realms to passwords and usernames. If you " +"know what the realm is (from the authentication header sent by the server), " +"then you can use a ``HTTPPasswordMgr``. Frequently one doesn't care what the " +"realm is. In that case, it is convenient to use " +"``HTTPPasswordMgrWithDefaultRealm``. This allows you to specify a default " +"username and password for a URL. This will be supplied in the absence of you " +"providing an alternative combination for a specific realm. We indicate this " +"by providing ``None`` as the realm argument to the ``add_password`` method." +msgstr "" +"``HTTPBasicAuthHandler`` використовує об’єкт під назвою менеджер паролів для " +"обробки зіставлення URL-адрес і областей з паролями та іменами користувачів. " +"Якщо ви знаєте, що таке область (із заголовка автентифікації, надісланого " +"сервером), ви можете використовувати ``HTTPPasswordMgr``. Часто байдуже, що " +"таке царство. У такому випадку зручно використовувати " +"``HTTPPasswordMgrWithDefaultRealm``. Це дозволяє вказати ім’я користувача та " +"пароль за умовчанням для URL-адреси. Це буде надано, якщо ви не надасте " +"альтернативну комбінацію для певного царства. Ми вказуємо на це, надаючи " +"``None`` як аргумент області для методу ``add_password``." + +msgid "" +"The top-level URL is the first URL that requires authentication. URLs " +"\"deeper\" than the URL you pass to .add_password() will also match. ::" +msgstr "" +"URL-адреса верхнього рівня – це перша URL-адреса, яка вимагає " +"автентифікації. URL-адреси, \"глибші\" за URL-адресу, яку ви передаєте в ." +"add_password(), також відповідатимуть. ::" + +msgid "" +"In the above example we only supplied our ``HTTPBasicAuthHandler`` to " +"``build_opener``. By default openers have the handlers for normal situations " +"-- ``ProxyHandler`` (if a proxy setting such as an :envvar:`http_proxy` " +"environment variable is set), ``UnknownHandler``, ``HTTPHandler``, " +"``HTTPDefaultErrorHandler``, ``HTTPRedirectHandler``, ``FTPHandler``, " +"``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``." +msgstr "" +"У наведеному вище прикладі ми лише надали наш ``HTTPBasicAuthHandler`` до " +"``build_opener``. За замовчуванням відкривачі мають обробники для звичайних " +"ситуацій -- ``ProxyHandler`` (якщо встановлено налаштування проксі, " +"наприклад змінну середовища :envvar:`http_proxy`), ``UnknownHandler``, " +"``HTTPHandler``, ``HTTPDefaultErrorHandler``, ``HTTPRedirectHandler``, " +"``FTPHandler``, ``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``." + +msgid "" +"``top_level_url`` is in fact *either* a full URL (including the 'http:' " +"scheme component and the hostname and optionally the port number) e.g. ``" +"\"http://example.com/\"`` *or* an \"authority\" (i.e. the hostname, " +"optionally including the port number) e.g. ``\"example.com\"`` or ``" +"\"example.com:8080\"`` (the latter example includes a port number). The " +"authority, if present, must NOT contain the \"userinfo\" component - for " +"example ``\"joe:password@example.com\"`` is not correct." +msgstr "" +"``top_level_url`` насправді є *або* повною URL-адресою (включно з " +"компонентом схеми 'http:' та ім'ям хоста та, необов'язково, номером порту), " +"напр. ``\"http://example.com/\"`` *або* \"орган\" (тобто ім’я хоста, " +"необов’язково включаючи номер порту), наприклад. ``\"example.com\"`` або ``" +"\"example.com:8080\"`` (останній приклад містить номер порту). Повноваження, " +"якщо вони присутні, НЕ повинні містити компонент \"userinfo\" - наприклад, ``" +"\"joe:password@example.com\"`` є неправильним." + +msgid "Proxies" +msgstr "Проксі" + +msgid "" +"**urllib** will auto-detect your proxy settings and use those. This is " +"through the ``ProxyHandler``, which is part of the normal handler chain when " +"a proxy setting is detected. Normally that's a good thing, but there are " +"occasions when it may not be helpful [#]_. One way to do this is to setup " +"our own ``ProxyHandler``, with no proxies defined. This is done using " +"similar steps to setting up a `Basic Authentication`_ handler: ::" +msgstr "" +"**urllib** автоматично визначить ваші налаштування проксі та використає їх. " +"Це відбувається через ``ProxyHandler``, який є частиною звичайного ланцюжка " +"обробників, коли виявляється налаштування проксі. Зазвичай це добре, але " +"бувають випадки, коли це може бути некорисним [#]_. Один із способів зробити " +"це — налаштувати наш власний ``ProxyHandler`` без визначених проксі. Це " +"робиться за допомогою подібних кроків до налаштування обробника `Basic " +"Authentication`_: ::" + +msgid "" +"Currently ``urllib.request`` *does not* support fetching of ``https`` " +"locations through a proxy. However, this can be enabled by extending urllib." +"request as shown in the recipe [#]_." +msgstr "" +"Наразі ``urllib.request`` *не* підтримує отримання адрес ``https`` через " +"проксі. Однак це можна ввімкнути, розширивши urllib.request, як показано в " +"рецепті [#]_." + +msgid "" +"``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " +"the documentation on :func:`~urllib.request.getproxies`." +msgstr "" +"``HTTP_PROXY`` ігноруватиметься, якщо встановлено змінну ``REQUEST_METHOD``; " +"перегляньте документацію на :func:`~urllib.request.getproxies`." + +msgid "Sockets and Layers" +msgstr "Розетки та шари" + +msgid "" +"The Python support for fetching resources from the web is layered. urllib " +"uses the :mod:`http.client` library, which in turn uses the socket library." +msgstr "" +"Підтримка Python для отримання ресурсів з Інтернету є багаторівневою. urllib " +"використовує бібліотеку :mod:`http.client`, яка, у свою чергу, використовує " +"бібліотеку сокетів." + +msgid "" +"As of Python 2.3 you can specify how long a socket should wait for a " +"response before timing out. This can be useful in applications which have to " +"fetch web pages. By default the socket module has *no timeout* and can hang. " +"Currently, the socket timeout is not exposed at the http.client or urllib." +"request levels. However, you can set the default timeout globally for all " +"sockets using ::" +msgstr "" +"Починаючи з Python 2.3, ви можете вказати, як довго сокет повинен чекати " +"відповіді перед закінченням часу очікування. Це може бути корисним у " +"програмах, які мають отримати веб-сторінки. За замовчуванням модуль сокета " +"*не має часу очікування* і може зависати. Наразі час очікування сокета не " +"розкривається на рівнях http.client або urllib.request. Однак ви можете " +"глобально встановити тайм-аут за замовчуванням для всіх сокетів за " +"допомогою ::" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "This document was reviewed and revised by John Lee." +msgstr "Цей документ переглянув і відредагував Джон Лі." + +msgid "Google for example." +msgstr "Google наприклад." + +msgid "" +"Browser sniffing is a very bad practice for website design - building sites " +"using web standards is much more sensible. Unfortunately a lot of sites " +"still send different versions to different browsers." +msgstr "" +"Перегляд веб-переглядача є дуже поганою практикою для дизайну веб-сайтів - " +"створювати сайти за допомогою веб-стандартів набагато розумніше. На жаль, " +"багато сайтів досі надсилають різні версії в різні браузери." + +msgid "" +"The user agent for MSIE 6 is *'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT " +"5.1; SV1; .NET CLR 1.1.4322)'*" +msgstr "" +"Агентом користувача для MSIE 6 є *\"Mozilla/4.0 (сумісний; MSIE 6.0; Windows " +"NT 5.1; SV1; .NET CLR 1.1.4322)\"*" + +msgid "" +"For details of more HTTP request headers, see `Quick Reference to HTTP " +"Headers`_." +msgstr "" +"Додаткову інформацію про заголовки HTTP-запитів див. у розділі `Короткий " +"довідник із заголовками HTTP`_." + +msgid "" +"In my case I have to use a proxy to access the internet at work. If you " +"attempt to fetch *localhost* URLs through this proxy it blocks them. IE is " +"set to use the proxy, which urllib picks up on. In order to test scripts " +"with a localhost server, I have to prevent urllib from using the proxy." +msgstr "" +"У моєму випадку мені доводиться використовувати проксі для доступу до " +"Інтернету на роботі. Якщо ви намагаєтесь отримати URL-адреси *localhost* " +"через цей проксі, він блокує їх. IE налаштовано на використання проксі, який " +"підбирає urllib. Щоб перевірити сценарії на локальному сервері, я повинен " +"заборонити urllib використовувати проксі." + +msgid "" +"urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe `_." +msgstr "" +"urllib для відкриття SSL-проксі (метод CONNECT): `ASPN Cookbook Recipe " +"`_." diff --git a/install/index.po b/install/index.po new file mode 100644 index 000000000..e325f46d5 --- /dev/null +++ b/install/index.po @@ -0,0 +1,1784 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:53+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Installing Python Modules (Legacy version)" +msgstr "Встановлення модулів Python (застаріла версія)" + +msgid "Author" +msgstr "Автор" + +msgid "Greg Ward" +msgstr "Greg Ward" + +msgid "" +"The entire ``distutils`` package has been deprecated and will be removed in " +"Python 3.12. This documentation is retained as a reference only, and will be " +"removed with the package. See the :ref:`What's New ` " +"entry for more information." +msgstr "" +"Весь пакет ``distutils`` застарів і буде видалено в Python 3.12. Ця " +"документація зберігається лише як довідка та буде видалена разом із пакетом. " +"Перегляньте запис :ref:`Що нового ` для отримання " +"додаткової інформації." + +msgid ":ref:`installing-index`" +msgstr ":ref:`installing-index`" + +msgid "" +"The up to date module installation documentation. For regular Python usage, " +"you almost certainly want that document rather than this one." +msgstr "" +"Актуальна документація по установці модуля. Для регулярного використання " +"Python вам майже напевно потрібен цей документ, а не цей." + +msgid "" +"This document is being retained solely until the ``setuptools`` " +"documentation at https://setuptools.readthedocs.io/en/latest/setuptools.html " +"independently covers all of the relevant information currently included here." +msgstr "" +"Цей документ зберігається лише до тих пір, поки документація ``setuptools`` " +"за адресою https://setuptools.readthedocs.io/en/latest/setuptools.html " +"окремо не охопить всю відповідну інформацію, яка зараз включена тут." + +msgid "" +"This guide only covers the basic tools for building and distributing " +"extensions that are provided as part of this version of Python. Third party " +"tools offer easier to use and more secure alternatives. Refer to the `quick " +"recommendations section `__ in the Python Packaging User Guide for more information." +msgstr "" +"Цей посібник охоплює лише основні інструменти для створення та " +"розповсюдження розширень, які надаються як частина цієї версії Python. " +"Інструменти сторонніх розробників пропонують прості у використанні та " +"безпечніші альтернативи. Для отримання додаткової інформації зверніться до " +"розділу `швидких рекомендацій `__ у посібнику користувача з пакування Python." + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"In Python 2.0, the ``distutils`` API was first added to the standard " +"library. This provided Linux distro maintainers with a standard way of " +"converting Python projects into Linux distro packages, and system " +"administrators with a standard way of installing them directly onto target " +"systems." +msgstr "" +"У Python 2.0 API distutils було вперше додано до стандартної бібліотеки. Це " +"забезпечило розробникам дистрибутивів Linux стандартний спосіб перетворення " +"проектів Python у пакети дистрибутивів Linux, а системним адміністраторам — " +"стандартний спосіб встановлення їх безпосередньо на цільових системах." + +msgid "" +"In the many years since Python 2.0 was released, tightly coupling the build " +"system and package installer to the language runtime release cycle has " +"turned out to be problematic, and it is now recommended that projects use " +"the ``pip`` package installer and the ``setuptools`` build system, rather " +"than using ``distutils`` directly." +msgstr "" +"За багато років після випуску Python 2.0 тісно зв’язати систему збірки та " +"інсталятор пакунків із циклом випуску середовища виконання мови виявилося " +"проблематично, і тепер рекомендовано, щоб проекти використовували інсталятор " +"пакетів ``pip`` і ``setuptools`` будує систему, а не використовує " +"``distutils`` безпосередньо." + +msgid "" +"See :ref:`installing-index` and :ref:`distributing-index` for more details." +msgstr "" +"Перегляньте :ref:`installing-index` і :ref:`distributing-index` для " +"отримання додаткової інформації." + +msgid "" +"This legacy documentation is being retained only until we're confident that " +"the ``setuptools`` documentation covers everything needed." +msgstr "" +"Ця застаріла документація зберігається лише до тих пір, поки ми не будемо " +"впевнені, що документація ``setuptools`` охоплює все необхідне." + +msgid "Distutils based source distributions" +msgstr "Розповсюдження джерел на основі Distutils" + +msgid "" +"If you download a module source distribution, you can tell pretty quickly if " +"it was packaged and distributed in the standard way, i.e. using the " +"Distutils. First, the distribution's name and version number will be " +"featured prominently in the name of the downloaded archive, e.g. :file:" +"`foo-1.0.tar.gz` or :file:`widget-0.9.7.zip`. Next, the archive will unpack " +"into a similarly named directory: :file:`foo-1.0` or :file:`widget-0.9.7`. " +"Additionally, the distribution will contain a setup script :file:`setup.py`, " +"and a file named :file:`README.txt` or possibly just :file:`README`, which " +"should explain that building and installing the module distribution is a " +"simple matter of running one command from a terminal::" +msgstr "" + +msgid "" +"For Windows, this command should be run from a command prompt window (:" +"menuselection:`Start --> Accessories`)::" +msgstr "" +"Для Windows цю команду слід запускати з вікна командного рядка (:" +"menuselection:`Пуск --> Аксесуари`):" + +msgid "" +"If all these things are true, then you already know how to build and install " +"the modules you've just downloaded: Run the command above. Unless you need " +"to install things in a non-standard way or customize the build process, you " +"don't really need this manual. Or rather, the above command is everything " +"you need to get out of this manual." +msgstr "" +"Якщо все це правда, то ви вже знаєте, як створити та встановити модулі, які " +"щойно завантажили: виконайте наведену вище команду. Якщо вам не потрібно " +"встановлювати щось нестандартним способом або налаштовувати процес збірки, " +"цей посібник вам не потрібен. Або, точніше, наведена вище команда - це все, " +"що вам потрібно, щоб вийти з цього посібника." + +msgid "Standard Build and Install" +msgstr "Стандартна збірка та встановлення" + +msgid "" +"As described in section :ref:`inst-new-standard`, building and installing a " +"module distribution using the Distutils is usually one simple command to run " +"from a terminal::" +msgstr "" +"Як описано в розділі :ref:`inst-new-standard`, створення та встановлення " +"дистрибутива модуля за допомогою Distutils зазвичай виконується однією " +"простою командою з терміналу::" + +msgid "Platform variations" +msgstr "Варіації платформи" + +msgid "" +"You should always run the setup command from the distribution root " +"directory, i.e. the top-level subdirectory that the module source " +"distribution unpacks into. For example, if you've just downloaded a module " +"source distribution :file:`foo-1.0.tar.gz` onto a Unix system, the normal " +"thing to do is::" +msgstr "" +"Завжди слід запускати команду налаштування з кореневого каталогу " +"розповсюдження, тобто підкаталогу верхнього рівня, куди розпаковується " +"дистрибутив джерела модуля. Наприклад, якщо ви щойно завантажили дистрибутив " +"вихідного коду модуля :file:`foo-1.0.tar.gz` на систему Unix, звичайною " +"справою є:" + +msgid "" +"On Windows, you'd probably download :file:`foo-1.0.zip`. If you downloaded " +"the archive file to :file:`C:\\\\Temp`, then it would unpack into :file:`C:\\" +"\\Temp\\\\foo-1.0`; you can use either an archive manipulator with a " +"graphical user interface (such as WinZip) or a command-line tool (such as :" +"program:`unzip` or :program:`pkunzip`) to unpack the archive. Then, open a " +"command prompt window and run::" +msgstr "" +"У Windows ви, ймовірно, завантажите :file:`foo-1.0.zip`. Якщо ви завантажили " +"архівний файл до :file:`C:\\\\Temp`, він буде розпакований у :file:`C:\\" +"\\Temp\\\\foo-1.0`; ви можете використовувати маніпулятор архіву з графічним " +"інтерфейсом користувача (наприклад, WinZip) або інструмент командного рядка " +"(наприклад, :program:`unzip` або :program:`pkunzip`), щоб розпакувати архів. " +"Потім відкрийте вікно командного рядка та запустіть::" + +msgid "Splitting the job up" +msgstr "Розподіл роботи" + +msgid "" +"Running ``setup.py install`` builds and installs all modules in one run. If " +"you prefer to work incrementally---especially useful if you want to " +"customize the build process, or if things are going wrong---you can use the " +"setup script to do one thing at a time. This is particularly helpful when " +"the build and install will be done by different users---for example, you " +"might want to build a module distribution and hand it off to a system " +"administrator for installation (or do it yourself, with super-user " +"privileges)." +msgstr "" +"Запуск ``setup.py install`` збирає та встановлює всі модулі за один запуск. " +"Якщо ви віддаєте перевагу працювати поступово --- особливо корисно, якщо ви " +"хочете налаштувати процес збирання, або якщо щось йде не так --- ви можете " +"використовувати сценарій налаштування, щоб виконувати одну дію за раз. Це " +"особливо корисно, коли збирання та встановлення виконуватимуться різними " +"користувачами --- наприклад, ви можете створити дистрибутив модуля та " +"передати його системному адміністратору для встановлення (або зробити це " +"самостійно, з правами суперкористувача )." + +msgid "" +"For example, you can build everything in one step, and then install " +"everything in a second step, by invoking the setup script twice::" +msgstr "" +"Наприклад, ви можете створити все за один крок, а потім інсталювати все за " +"другий крок, двічі викликавши сценарій встановлення:" + +msgid "" +"If you do this, you will notice that running the :command:`install` command " +"first runs the :command:`build` command, which---in this case---quickly " +"notices that it has nothing to do, since everything in the :file:`build` " +"directory is up-to-date." +msgstr "" +"Якщо ви це зробите, ви помітите, що виконання команди :command:`install` " +"спочатку запускає команду :command:`build`, яка --- в цьому випадку --- " +"швидко помічає, що вона не має нічого робити, оскільки все у каталозі :file:" +"`build` є актуальною." + +msgid "" +"You may not need this ability to break things down often if all you do is " +"install modules downloaded off the 'net, but it's very handy for more " +"advanced tasks. If you get into distributing your own Python modules and " +"extensions, you'll run lots of individual Distutils commands on their own." +msgstr "" +"Можливо, вам не знадобиться ця здатність часто розбивати речі, якщо все, що " +"ви робите, це встановлювати модулі, завантажені з мережі, але це дуже зручно " +"для більш складних завдань. Якщо ви починаєте розповсюджувати свої власні " +"модулі та розширення Python, ви запускатимете багато окремих команд " +"Distutils окремо." + +msgid "How building works" +msgstr "Як працює будівництво" + +msgid "" +"As implied above, the :command:`build` command is responsible for putting " +"the files to install into a *build directory*. By default, this is :file:" +"`build` under the distribution root; if you're excessively concerned with " +"speed, or want to keep the source tree pristine, you can change the build " +"directory with the :option:`!--build-base` option. For example::" +msgstr "" +"Як було зазначено вище, команда :command:`build` відповідає за розміщення " +"файлів для встановлення в *каталог збірки*. За замовчуванням це :file:" +"`build` у корені розповсюдження; якщо ви надмірно стурбовані швидкістю або " +"хочете зберегти вихідне дерево незайманим, ви можете змінити каталог збірки " +"за допомогою опції :option:`!--build-base`. Наприклад::" + +msgid "" +"(Or you could do this permanently with a directive in your system or " +"personal Distutils configuration file; see section :ref:`inst-config-" +"files`.) Normally, this isn't necessary." +msgstr "" +"(Або ви можете зробити це назавжди за допомогою директиви у вашій системі чи " +"особистому конфігураційному файлі Distutils; див. розділ :ref:`inst-config-" +"files`.) Зазвичай це не обов’язково." + +msgid "The default layout for the build tree is as follows::" +msgstr "Типовий макет дерева побудови такий:" + +msgid "" +"where ```` expands to a brief description of the current OS/hardware " +"platform and Python version. The first form, with just a :file:`lib` " +"directory, is used for \"pure module distributions\"---that is, module " +"distributions that include only pure Python modules. If a module " +"distribution contains any extensions (modules written in C/C++), then the " +"second form, with two ```` directories, is used. In that case, the :" +"file:`temp.{plat}` directory holds temporary files generated by the compile/" +"link process that don't actually get installed. In either case, the :file:" +"`lib` (or :file:`lib.{plat}`) directory contains all Python modules (pure " +"Python and extensions) that will be installed." +msgstr "" +"де ```` розширюється до короткого опису поточної ОС/апаратної " +"платформи та версії Python. Перша форма, лише з каталогом :file:`lib`, " +"використовується для \"дистрибутивів чистих модулів\" --- тобто " +"дистрибутивів модулів, які містять лише чисті модулі Python. Якщо " +"розповсюдження модуля містить будь-які розширення (модулі, написані мовою C/C" +"++), то використовується друга форма з двома каталогами ````. У цьому " +"випадку каталог :file:`temp.{plat}` містить тимчасові файли, згенеровані " +"процесом компіляції/посилання, які фактично не встановлюються. У будь-якому " +"випадку каталог :file:`lib` (або :file:`lib.{plat}`) містить усі модулі " +"Python (чистий Python і розширення), які буде встановлено." + +msgid "" +"In the future, more directories will be added to handle Python scripts, " +"documentation, binary executables, and whatever else is needed to handle the " +"job of installing Python modules and applications." +msgstr "" +"У майбутньому буде додано більше каталогів для обробки сценаріїв Python, " +"документації, двійкових виконуваних файлів і всього іншого, що буде потрібно " +"для роботи зі встановлення модулів і програм Python." + +msgid "How installation works" +msgstr "Як працює установка" + +msgid "" +"After the :command:`build` command runs (whether you run it explicitly, or " +"the :command:`install` command does it for you), the work of the :command:" +"`install` command is relatively simple: all it has to do is copy everything " +"under :file:`build/lib` (or :file:`build/lib.{plat}`) to your chosen " +"installation directory." +msgstr "" +"Після виконання команди :command:`build` (незалежно від того, запускаєте ви " +"її явно чи команда :command:`install` робить це за вас), робота команди :" +"command:`install` відносно проста: усе, що вона має це скопіювати все в :" +"file:`build/lib` (або :file:`build/lib.{plat}`) до вибраного каталогу " +"встановлення." + +msgid "" +"If you don't choose an installation directory---i.e., if you just run " +"``setup.py install``\\ ---then the :command:`install` command installs to " +"the standard location for third-party Python modules. This location varies " +"by platform and by how you built/installed Python itself. On Unix (and " +"macOS, which is also Unix-based), it also depends on whether the module " +"distribution being installed is pure Python or contains extensions (\"non-" +"pure\"):" +msgstr "" +"Якщо ви не виберете каталог інсталяції --- тобто якщо ви просто запустите " +"``setup.py install``\\ --- тоді команда :command:`install` встановить " +"стандартне розташування для сторонніх модулів Python . Це розташування " +"залежить від платформи та способу створення/встановлення самого Python. В " +"Unix (і macOS, яка також базується на Unix), це також залежить від того, чи " +"інстальований дистрибутив модуля є чистим Python чи містить розширення " +"(\"нечисті\"):" + +msgid "Platform" +msgstr "Платформа" + +msgid "Standard installation location" +msgstr "Стандартне місце установки" + +msgid "Default value" +msgstr "Значення за замовчуванням" + +msgid "Notes" +msgstr "Примітки" + +msgid "Unix (pure)" +msgstr "Unix (чистий)" + +msgid ":file:`{prefix}/lib/python{X.Y}/site-packages`" +msgstr ":file:`{префікс}/lib/python{X.Y}/site-packages`" + +msgid ":file:`/usr/local/lib/python{X.Y}/site-packages`" +msgstr ":file:`/usr/local/lib/python{X.Y}/site-packages`" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "Unix (non-pure)" +msgstr "Unix (не чистий)" + +msgid ":file:`{exec-prefix}/lib/python{X.Y}/site-packages`" +msgstr ":file:`{exec-prefix}/lib/python{X.Y}/site-packages`" + +msgid "Windows" +msgstr "вікна" + +msgid ":file:`{prefix}\\\\Lib\\\\site-packages`" +msgstr ":file:`{prefix}\\\\Lib\\\\site-packages`" + +msgid ":file:`C:\\\\Python{XY}\\\\Lib\\\\site-packages`" +msgstr ":file:`C:\\\\Python{XY}\\\\Lib\\\\site-packages`" + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"Most Linux distributions include Python as a standard part of the system, " +"so :file:`{prefix}` and :file:`{exec-prefix}` are usually both :file:`/usr` " +"on Linux. If you build Python yourself on Linux (or any Unix-like system), " +"the default :file:`{prefix}` and :file:`{exec-prefix}` are :file:`/usr/" +"local`." +msgstr "" +"Більшість дистрибутивів Linux включають Python як стандартну частину " +"системи, тому :file:`{prefix}` і :file:`{exec-prefix}` зазвичай обидва є :" +"file:`/usr` в Linux. Якщо ви самостійно створюєте Python на Linux (або будь-" +"якій Unix-подібній системі), типовими :file:`{prefix}` і :file:`{exec-prefix}" +"` є :file:`/usr/local`." + +msgid "" +"The default installation directory on Windows was :file:`C:\\\\Program Files" +"\\\\Python` under Python 1.6a1, 1.5.2, and earlier." +msgstr "" +"Стандартним каталогом інсталяції в Windows був :file:`C:\\\\Program Files\\" +"\\Python` у Python 1.6a1, 1.5.2 і попередніх версіях." + +msgid "" +":file:`{prefix}` and :file:`{exec-prefix}` stand for the directories that " +"Python is installed to, and where it finds its libraries at run-time. They " +"are always the same under Windows, and very often the same under Unix and " +"macOS. You can find out what your Python installation uses for :file:" +"`{prefix}` and :file:`{exec-prefix}` by running Python in interactive mode " +"and typing a few simple commands. Under Unix, just type ``python`` at the " +"shell prompt. Under Windows, choose :menuselection:`Start --> Programs --> " +"Python X.Y --> Python (command line)`. Once the interpreter is started, " +"you type Python code at the prompt. For example, on my Linux system, I type " +"the three Python statements shown below, and get the output as shown, to " +"find out my :file:`{prefix}` and :file:`{exec-prefix}`:" +msgstr "" +":file:`{prefix}` і :file:`{exec-prefix}` означають каталоги, у які " +"встановлено Python, і де він знаходить свої бібліотеки під час виконання. " +"Вони завжди однакові під Windows і дуже часто однакові під Unix і macOS. Ви " +"можете дізнатися, що ваша інсталяція Python використовує для :file:`{prefix}" +"` і :file:`{exec-prefix}`, запустивши Python в інтерактивному режимі та " +"ввівши кілька простих команд. В Unix просто введіть ``python`` у командному " +"рядку оболонки. У Windows виберіть :menuselection:`Пуск --> Програми --> " +"Python X.Y --> Python (командний рядок)`. Після запуску інтерпретатора ви " +"вводите код Python у запиті. Наприклад, у моїй системі Linux я вводжу три " +"оператори Python, показані нижче, і отримую результат, як показано, щоб " +"дізнатися мої :file:`{prefix}` і :file:`{exec-prefix}`:" + +msgid "" +"A few other placeholders are used in this document: :file:`{X.Y}` stands for " +"the version of Python, for example ``3.2``; :file:`{abiflags}` will be " +"replaced by the value of :data:`sys.abiflags` or the empty string for " +"platforms which don't define ABI flags; :file:`{distname}` will be replaced " +"by the name of the module distribution being installed. Dots and " +"capitalization are important in the paths; for example, a value that uses " +"``python3.2`` on UNIX will typically use ``Python32`` on Windows." +msgstr "" +"У цьому документі використовується кілька інших заповнювачів: :file:`{X.Y}` " +"означає версію Python, наприклад ``3.2``; :file:`{abiflags}` буде замінено " +"на значення :data:`sys.abiflags` або порожній рядок для платформ, які не " +"визначають прапори ABI; :file:`{distname}` буде замінено назвою дистрибутива " +"модуля, який встановлюється. Крапки та великі літери важливі в шляхах; " +"наприклад, значення, яке використовує ``python3.2`` в UNIX, зазвичай " +"використовуватиме ``Python32`` у Windows." + +msgid "" +"If you don't want to install modules to the standard location, or if you " +"don't have permission to write there, then you need to read about alternate " +"installations in section :ref:`inst-alt-install`. If you want to customize " +"your installation directories more heavily, see section :ref:`inst-custom-" +"install` on custom installations." +msgstr "" +"Якщо ви не бажаєте встановлювати модулі у стандартне розташування або якщо у " +"вас немає дозволу на запис у цьому місці, вам потрібно прочитати про " +"альтернативні встановлення в розділі :ref:`inst-alt-install`. Якщо ви " +"бажаєте суттєвіше налаштувати ваші каталоги встановлення, див. розділ :ref:" +"`inst-custom-install` про нестандартне встановлення." + +msgid "Alternate Installation" +msgstr "Альтернативна інсталяція" + +msgid "" +"Often, it is necessary or desirable to install modules to a location other " +"than the standard location for third-party Python modules. For example, on " +"a Unix system you might not have permission to write to the standard third-" +"party module directory. Or you might wish to try out a module before making " +"it a standard part of your local Python installation. This is especially " +"true when upgrading a distribution already present: you want to make sure " +"your existing base of scripts still works with the new version before " +"actually upgrading." +msgstr "" +"Часто необхідно або бажано встановити модулі в інше місце, ніж стандартне " +"розташування для сторонніх модулів Python. Наприклад, у системі Unix ви " +"можете не мати дозволу на запис у стандартний каталог сторонніх модулів. Або " +"ви можете спробувати модуль перед тим, як зробити його стандартною частиною " +"локальної інсталяції Python. Це особливо актуально під час оновлення " +"наявного дистрибутива: ви хочете переконатися, що ваша існуюча база " +"сценаріїв все ще працює з новою версією, перш ніж фактично оновлювати." + +msgid "" +"The Distutils :command:`install` command is designed to make installing " +"module distributions to an alternate location simple and painless. The " +"basic idea is that you supply a base directory for the installation, and " +"the :command:`install` command picks a set of directories (called an " +"*installation scheme*) under this base directory in which to install files. " +"The details differ across platforms, so read whichever of the following " +"sections applies to you." +msgstr "" +"Команда Distutils :command:`install` призначена для простого та безболісного " +"встановлення дистрибутивів модулів до альтернативного розташування. Основна " +"ідея полягає в тому, що ви вказуєте базовий каталог для інсталяції, а " +"команда :command:`install` вибирає набір каталогів (званий *схемою " +"інсталяції*) у цьому базовому каталозі, у який потрібно інсталювати файли. " +"Деталі відрізняються для різних платформ, тому прочитайте той із наступних " +"розділів, який вам підходить." + +msgid "" +"Note that the various alternate installation schemes are mutually exclusive: " +"you can pass ``--user``, or ``--home``, or ``--prefix`` and ``--exec-" +"prefix``, or ``--install-base`` and ``--install-platbase``, but you can't " +"mix from these groups." +msgstr "" +"Зауважте, що різні альтернативні схеми встановлення є взаємовиключними: ви " +"можете передати ``--user``, ``--home``, ``--prefix`` і ``--exec-prefix``, " +"або ``--install-base`` і ``--install-platbase``, але ви не можете змішувати " +"ці групи." + +msgid "Alternate installation: the user scheme" +msgstr "Альтернативна установка: схема користувача" + +msgid "" +"This scheme is designed to be the most convenient solution for users that " +"don't have write permission to the global site-packages directory or don't " +"want to install into it. It is enabled with a simple option::" +msgstr "" +"Ця схема розроблена як найзручніше рішення для користувачів, які не мають " +"дозволу на запис до глобального каталогу пакетів сайтів або не хочуть " +"встановлювати в нього. Це вмикається простим параметром::" + +msgid "" +"Files will be installed into subdirectories of :data:`site.USER_BASE` " +"(written as :file:`{userbase}` hereafter). This scheme installs pure Python " +"modules and extension modules in the same location (also known as :data:" +"`site.USER_SITE`). Here are the values for UNIX, including macOS:" +msgstr "" +"Файли буде встановлено в підкаталоги :data:`site.USER_BASE` (надалі " +"записується як :file:`{userbase}`). Ця схема встановлює чисті модулі Python " +"і модулі розширення в те саме місце (також відоме як :data:`site." +"USER_SITE`). Ось значення для UNIX, включаючи macOS:" + +msgid "Type of file" +msgstr "Тип файлу" + +msgid "Installation directory" +msgstr "Каталог встановлення" + +msgid "modules" +msgstr "модулі" + +msgid ":file:`{userbase}/lib/python{X.Y}/site-packages`" +msgstr ":file:`{userbase}/lib/python{X.Y}/site-packages`" + +msgid "scripts" +msgstr "сценарії" + +msgid ":file:`{userbase}/bin`" +msgstr ":file:`{userbase}/bin`" + +msgid "data" +msgstr "даних" + +msgid ":file:`{userbase}`" +msgstr ":file:`{userbase}`" + +msgid "C headers" +msgstr "C заголовки" + +msgid ":file:`{userbase}/include/python{X.Y}{abiflags}/{distname}`" +msgstr ":file:`{userbase}/include/python{X.Y}{abiflags}/{distname}`" + +msgid "And here are the values used on Windows:" +msgstr "А ось значення, які використовуються в Windows:" + +msgid ":file:`{userbase}\\\\Python{XY}\\\\site-packages`" +msgstr ":file:`{userbase}\\\\Python{XY}\\\\site-packages`" + +msgid ":file:`{userbase}\\\\Python{XY}\\\\Scripts`" +msgstr ":file:`{userbase}\\\\Python{XY}\\\\Сценарії`" + +msgid ":file:`{userbase}\\\\Python{XY}\\\\Include\\\\{distname}`" +msgstr ":file:`{userbase}\\\\Python{XY}\\\\Include\\\\{distname}`" + +msgid "" +"The advantage of using this scheme compared to the other ones described " +"below is that the user site-packages directory is under normal conditions " +"always included in :data:`sys.path` (see :mod:`site` for more information), " +"which means that there is no additional step to perform after running the :" +"file:`setup.py` script to finalize the installation." +msgstr "" +"Перевага використання цієї схеми порівняно з іншими, описаними нижче, " +"полягає в тому, що каталог пакетів сайту користувача за звичайних умов " +"завжди включається в :data:`sys.path` (див. :mod:`site` для отримання " +"додаткової інформації), що означає, що після запуску сценарію :file:`setup." +"py` для завершення встановлення не потрібно виконувати жодних додаткових " +"кроків." + +msgid "" +"The :command:`build_ext` command also has a ``--user`` option to add :file:" +"`{userbase}/include` to the compiler search path for header files and :file:" +"`{userbase}/lib` to the compiler search path for libraries as well as to the " +"runtime search path for shared C libraries (rpath)." +msgstr "" +"Команда :command:`build_ext` також має опцію ``--user``, щоб додати :file:" +"`{userbase}/include` до шляху пошуку компілятора для файлів заголовків і :" +"file:`{userbase}/lib` до шляху пошуку компілятора для бібліотек, а також до " +"шляху пошуку під час виконання для спільних бібліотек C (rpath)." + +msgid "Alternate installation: the home scheme" +msgstr "Альтернативна установка: домашня схема" + +msgid "" +"The idea behind the \"home scheme\" is that you build and maintain a " +"personal stash of Python modules. This scheme's name is derived from the " +"idea of a \"home\" directory on Unix, since it's not unusual for a Unix user " +"to make their home directory have a layout similar to :file:`/usr/` or :file:" +"`/usr/local/`. This scheme can be used by anyone, regardless of the " +"operating system they are installing for." +msgstr "" +"Ідея \"домашньої схеми\" полягає в тому, що ви створюєте та підтримуєте " +"особистий запас модулів Python. Назва цієї схеми походить від ідеї " +"\"домашнього\" каталогу в Unix, оскільки для користувачів Unix не є " +"незвичайним зробити свій домашній каталог макетом, подібним до :file:`/usr/` " +"або :file:`/usr /локальний/`. Цю схему може використовувати будь-хто, " +"незалежно від операційної системи, для якої він встановлюється." + +msgid "Installing a new module distribution is as simple as ::" +msgstr "Встановити новий дистрибутив модуля так само просто, як:" + +msgid "" +"where you can supply any directory you like for the :option:`!--home` " +"option. On Unix, lazy typists can just type a tilde (``~``); the :command:" +"`install` command will expand this to your home directory::" +msgstr "" +"де ви можете вказати будь-який каталог для опції :option:`!--home`. В Unix " +"ліниві друкарки можуть просто ввести тильду (``~``); команда :command:" +"`install` розширить це до вашого домашнього каталогу::" + +msgid "" +"To make Python find the distributions installed with this scheme, you may " +"have to :ref:`modify Python's search path ` or edit :mod:" +"`sitecustomize` (see :mod:`site`) to call :func:`site.addsitedir` or edit :" +"data:`sys.path`." +msgstr "" +"Щоб змусити Python знаходити дистрибутиви, встановлені за цією схемою, " +"можливо, вам доведеться :ref:`змінити шлях пошуку Python ` " +"або відредагувати :mod:`sitecustomize` (див. :mod:`site`), щоб викликати :" +"func:`site. addsitedir` або відредагуйте :data:`sys.path`." + +msgid "" +"The :option:`!--home` option defines the installation base directory. Files " +"are installed to the following directories under the installation base as " +"follows:" +msgstr "" +"Параметр :option:`!--home` визначає базовий каталог встановлення. Файли " +"встановлюються в такі каталоги в базі інсталяції наступним чином:" + +msgid ":file:`{home}/lib/python`" +msgstr ":file:`{home}/lib/python`" + +msgid ":file:`{home}/bin`" +msgstr ":file:`{home}/bin`" + +msgid ":file:`{home}`" +msgstr ":file:`{home}`" + +msgid ":file:`{home}/include/python/{distname}`" +msgstr ":file:`{home}/include/python/{distname}`" + +msgid "(Mentally replace slashes with backslashes if you're on Windows.)" +msgstr "" +"(Подумки замініть скісні риски на зворотні скісні риски, якщо ви " +"використовуєте Windows.)" + +msgid "Alternate installation: Unix (the prefix scheme)" +msgstr "Альтернативна інсталяція: Unix (префіксна схема)" + +msgid "" +"The \"prefix scheme\" is useful when you wish to use one Python installation " +"to perform the build/install (i.e., to run the setup script), but install " +"modules into the third-party module directory of a different Python " +"installation (or something that looks like a different Python " +"installation). If this sounds a trifle unusual, it is---that's why the user " +"and home schemes come before. However, there are at least two known cases " +"where the prefix scheme will be useful." +msgstr "" +"\"Схема префіксів\" корисна, коли ви бажаєте використовувати одну інсталяцію " +"Python для виконання побудови/інсталяції (тобто для запуску сценарію " +"інсталяції), але інсталювати модулі в каталог модулів сторонніх розробників " +"іншої інсталяції Python (або щось, що виглядає як інша інсталяція Python). " +"Якщо це звучить трішки незвично, це---тому користувальницька та домашня " +"схеми стоять раніше. Однак є принаймні два відомі випадки, коли префіксна " +"схема буде корисною." + +msgid "" +"First, consider that many Linux distributions put Python in :file:`/usr`, " +"rather than the more traditional :file:`/usr/local`. This is entirely " +"appropriate, since in those cases Python is part of \"the system\" rather " +"than a local add-on. However, if you are installing Python modules from " +"source, you probably want them to go in :file:`/usr/local/lib/python2.{X}` " +"rather than :file:`/usr/lib/python2.{X}`. This can be done with ::" +msgstr "" +"По-перше, врахуйте, що багато дистрибутивів Linux розміщують Python у :file:" +"`/usr`, а не в більш традиційному :file:`/usr/local`. Це цілком доречно, " +"оскільки в таких випадках Python є частиною \"системи\", а не локальним " +"додатком. Однак, якщо ви встановлюєте модулі Python із джерела, ви, " +"ймовірно, хочете, щоб вони містилися в :file:`/usr/local/lib/python2.{X}`, а " +"не в :file:`/usr/lib/python2.{X }`. Це можна зробити за допомогою ::" + +msgid "" +"Another possibility is a network filesystem where the name used to write to " +"a remote directory is different from the name used to read it: for example, " +"the Python interpreter accessed as :file:`/usr/local/bin/python` might " +"search for modules in :file:`/usr/local/lib/python2.{X}`, but those modules " +"would have to be installed to, say, :file:`/mnt/{@server}/export/lib/python2." +"{X}`. This could be done with ::" +msgstr "" +"Іншою можливістю є мережева файлова система, де ім’я, що використовується " +"для запису у віддалений каталог, відрізняється від імені, яке " +"використовується для його читання: наприклад, інтерпретатор Python, доступ " +"до якого здійснюється як :file:`/usr/local/bin/python`, може шукати модулі " +"в :file:`/usr/local/lib/python2.{X}`, але ці модулі мають бути встановлені, " +"скажімо, у :file:`/mnt/{@server}/export/lib/python2. {X}`. Це можна зробити " +"за допомогою ::" + +msgid "" +"In either case, the :option:`!--prefix` option defines the installation " +"base, and the :option:`!--exec-prefix` option defines the platform-specific " +"installation base, which is used for platform-specific files. (Currently, " +"this just means non-pure module distributions, but could be expanded to C " +"libraries, binary executables, etc.) If :option:`!--exec-prefix` is not " +"supplied, it defaults to :option:`!--prefix`. Files are installed as " +"follows:" +msgstr "" +"У будь-якому випадку параметр :option:`!--prefix` визначає базу інсталяції, " +"а параметр :option:`!--exec-prefix` визначає базу інсталяції для певної " +"платформи, яка використовується для файлів певної платформи. . (Наразі це " +"означає лише розповсюдження нечистих модулів, але може бути розширено до " +"бібліотек C, двійкових виконуваних файлів тощо.) Якщо :option:`!--exec-" +"prefix` не вказано, за умовчанням буде :option:`! --префікс`. Файли " +"встановлюються наступним чином:" + +msgid "Python modules" +msgstr "Модулі Python" + +msgid "extension modules" +msgstr "модулі розширення" + +msgid ":file:`{prefix}/bin`" +msgstr ":file:`{prefix}/bin`" + +msgid ":file:`{prefix}`" +msgstr ":file:`{prefix}`" + +msgid ":file:`{prefix}/include/python{X.Y}{abiflags}/{distname}`" +msgstr ":file:`{префікс}/include/python{X.Y}{abiflags}/{distname}`" + +msgid "" +"There is no requirement that :option:`!--prefix` or :option:`!--exec-prefix` " +"actually point to an alternate Python installation; if the directories " +"listed above do not already exist, they are created at installation time." +msgstr "" +"Немає вимоги, щоб :option:`!--prefix` або :option:`!--exec-prefix` справді " +"вказували на альтернативну установку Python; якщо перелічені вище каталоги " +"ще не існують, вони створюються під час встановлення." + +msgid "" +"Incidentally, the real reason the prefix scheme is important is simply that " +"a standard Unix installation uses the prefix scheme, but with :option:`!--" +"prefix` and :option:`!--exec-prefix` supplied by Python itself as ``sys." +"prefix`` and ``sys.exec_prefix``. Thus, you might think you'll never use " +"the prefix scheme, but every time you run ``python setup.py install`` " +"without any other options, you're using it." +msgstr "" +"До речі, справжня причина важливості схеми префіксів полягає просто в тому, " +"що стандартна інсталяція Unix використовує схему префіксів, але з :option:" +"`!--prefix` і :option:`!--exec-prefix`, що надаються самим Python як ``sys." +"prefix`` і ``sys.exec_prefix``. Таким чином, ви можете подумати, що ніколи " +"не використовуватимете схему префіксів, але кожного разу, коли ви запускаєте " +"``python setup.py install`` без будь-яких інших параметрів, ви " +"використовуєте її." + +msgid "" +"Note that installing extensions to an alternate Python installation has no " +"effect on how those extensions are built: in particular, the Python header " +"files (:file:`Python.h` and friends) installed with the Python interpreter " +"used to run the setup script will be used in compiling extensions. It is " +"your responsibility to ensure that the interpreter used to run extensions " +"installed in this way is compatible with the interpreter used to build " +"them. The best way to do this is to ensure that the two interpreters are " +"the same version of Python (possibly different builds, or possibly copies of " +"the same build). (Of course, if your :option:`!--prefix` and :option:`!--" +"exec-prefix` don't even point to an alternate Python installation, this is " +"immaterial.)" +msgstr "" +"Зауважте, що встановлення розширень до альтернативної інсталяції Python не " +"впливає на те, як створено ці розширення: зокрема, файли заголовків Python (:" +"file:`Python.h` і друзі), встановлені за допомогою інтерпретатора Python, " +"який використовується для запуску сценарію налаштування, будуть " +"використовувати для компіляції розширень. Ви несете відповідальність за те, " +"щоб інтерпретатор, який використовується для запуску встановлених таким " +"чином розширень, був сумісний з інтерпретатором, який використовується для " +"їх створення. Найкращий спосіб зробити це — переконатися, що два " +"інтерпретатори є однаковою версією Python (можливо, різними збірками або, " +"можливо, копіями однієї збірки). (Звичайно, якщо ваші :option:`!--prefix` і :" +"option:`!--exec-prefix` навіть не вказують на альтернативну інсталяцію " +"Python, це не має значення.)" + +msgid "Alternate installation: Windows (the prefix scheme)" +msgstr "Альтернативна установка: Windows (префіксна схема)" + +msgid "" +"Windows has no concept of a user's home directory, and since the standard " +"Python installation under Windows is simpler than under Unix, the :option:" +"`!--prefix` option has traditionally been used to install additional " +"packages in separate locations on Windows. ::" +msgstr "" +"Windows не має концепції домашнього каталогу користувача, і оскільки " +"стандартна інсталяція Python у Windows є простішою, ніж у Unix, опція :" +"option:`!--prefix` традиційно використовується для інсталяції додаткових " +"пакетів в окремих місцях у Windows. ::" + +msgid "" +"to install modules to the :file:`\\\\Temp\\\\Python` directory on the " +"current drive." +msgstr "" +"для встановлення модулів у каталог :file:`\\\\Temp\\\\Python` на поточному " +"диску." + +msgid "" +"The installation base is defined by the :option:`!--prefix` option; the :" +"option:`!--exec-prefix` option is not supported under Windows, which means " +"that pure Python modules and extension modules are installed into the same " +"location. Files are installed as follows:" +msgstr "" +"База встановлення визначається параметром :option:`!--prefix`; параметр :" +"option:`!--exec-prefix` не підтримується в Windows, що означає, що чисті " +"модулі Python і модулі розширення встановлені в одному місці. Файли " +"встановлюються наступним чином:" + +msgid ":file:`{prefix}\\\\Scripts`" +msgstr ":file:`{prefix}\\\\Сценарії`" + +msgid ":file:`{prefix}\\\\Include\\\\{distname}`" +msgstr ":file:`{prefix}\\\\Включити\\\\{distname}`" + +msgid "Custom Installation" +msgstr "Вибіркова установка" + +msgid "" +"Sometimes, the alternate installation schemes described in section :ref:" +"`inst-alt-install` just don't do what you want. You might want to tweak " +"just one or two directories while keeping everything under the same base " +"directory, or you might want to completely redefine the installation " +"scheme. In either case, you're creating a *custom installation scheme*." +msgstr "" +"Іноді альтернативні схеми встановлення, описані в розділі :ref:`inst-alt-" +"install`, просто не роблять того, що ви хочете. Можливо, ви захочете " +"налаштувати лише один або два каталоги, зберігаючи все в одному базовому " +"каталозі, або ви можете повністю перевизначити схему встановлення. У будь-" +"якому випадку ви створюєте *спеціальну схему встановлення*." + +msgid "" +"To create a custom installation scheme, you start with one of the alternate " +"schemes and override some of the installation directories used for the " +"various types of files, using these options:" +msgstr "" +"Щоб створити спеціальну схему встановлення, ви починаєте з однієї з " +"альтернативних схем і замінюєте деякі каталоги встановлення, які " +"використовуються для різних типів файлів, використовуючи ці параметри:" + +msgid "Override option" +msgstr "Опція перевизначення" + +msgid "``--install-purelib``" +msgstr "``--install-purelib``" + +msgid "``--install-platlib``" +msgstr "``--install-platlib``" + +msgid "all modules" +msgstr "всі модулі" + +msgid "``--install-lib``" +msgstr "``--install-lib``" + +msgid "``--install-scripts``" +msgstr "``--install-scripts``" + +msgid "``--install-data``" +msgstr "``--install-data``" + +msgid "``--install-headers``" +msgstr "``--install-headers``" + +msgid "" +"These override options can be relative, absolute, or explicitly defined in " +"terms of one of the installation base directories. (There are two " +"installation base directories, and they are normally the same---they only " +"differ when you use the Unix \"prefix scheme\" and supply different ``--" +"prefix`` and ``--exec-prefix`` options; using ``--install-lib`` will " +"override values computed or given for ``--install-purelib`` and ``--install-" +"platlib``, and is recommended for schemes that don't make a difference " +"between Python and extension modules.)" +msgstr "" +"Ці параметри заміни можуть бути відносними, абсолютними або явно визначеними " +"в термінах одного з базових каталогів встановлення. (Існує два базові " +"каталоги встановлення, і зазвичай вони однакові --- вони відрізняються лише " +"тоді, коли ви використовуєте \"префіксну схему\" Unix і надаєте різні " +"параметри ``--prefix`` і ``--exec-prefix`` ; використання ``--install-lib`` " +"замінить значення, обчислені або надані для ``--install-purelib`` і ``--" +"install-platlib``, і рекомендовано для схем, які не мають значення між " +"Python і модулями розширення.)" + +msgid "" +"For example, say you're installing a module distribution to your home " +"directory under Unix---but you want scripts to go in :file:`~/scripts` " +"rather than :file:`~/bin`. As you might expect, you can override this " +"directory with the :option:`!--install-scripts` option; in this case, it " +"makes most sense to supply a relative path, which will be interpreted " +"relative to the installation base directory (your home directory, in this " +"case)::" +msgstr "" +"Наприклад, скажімо, ви встановлюєте дистрибутив модуля у свій домашній " +"каталог під Unix --- але ви хочете, щоб сценарії містилися в :file:`~/" +"scripts`, а не в :file:`~/bin`. Як і слід було очікувати, ви можете замінити " +"цей каталог опцією :option:`!--install-scripts`; у цьому випадку має сенс " +"надати відносний шлях, який інтерпретуватиметься відносно основного каталогу " +"інсталяції (у цьому випадку вашого домашнього каталогу):" + +msgid "" +"Another Unix example: suppose your Python installation was built and " +"installed with a prefix of :file:`/usr/local/python`, so under a standard " +"installation scripts will wind up in :file:`/usr/local/python/bin`. If you " +"want them in :file:`/usr/local/bin` instead, you would supply this absolute " +"directory for the :option:`!--install-scripts` option::" +msgstr "" +"Інший приклад Unix: припустімо, що вашу інсталяцію Python було зібрано та " +"встановлено з префіксом :file:`/usr/local/python`, тому за стандартної " +"інсталяції сценарії з’являться у :file:`/usr/local/python/bin`. Якщо ви " +"хочете, щоб вони були в :file:`/usr/local/bin` замість цього, ви повинні " +"вказати цей абсолютний каталог для параметра :option:`!--install-scripts`::" + +msgid "" +"(This performs an installation using the \"prefix scheme\", where the prefix " +"is whatever your Python interpreter was installed with--- :file:`/usr/local/" +"python` in this case.)" +msgstr "" +"(Це виконує інсталяцію за допомогою \"схеми префіксів\", де префіксом є те, " +"що було встановлено вашим інтерпретатором Python --- :file:`/usr/local/" +"python` у цьому випадку.)" + +msgid "" +"If you maintain Python on Windows, you might want third-party modules to " +"live in a subdirectory of :file:`{prefix}`, rather than right in :file:" +"`{prefix}` itself. This is almost as easy as customizing the script " +"installation directory---you just have to remember that there are two types " +"of modules to worry about, Python and extension modules, which can " +"conveniently be both controlled by one option::" +msgstr "" +"Якщо ви підтримуєте Python у Windows, можливо, ви захочете, щоб модулі " +"сторонніх розробників знаходилися в підкаталозі :file:`{prefix}`, а не " +"безпосередньо в :file:`{prefix}`. Це майже так само просто, як налаштувати " +"каталог встановлення сценарію --- вам потрібно лише пам’ятати, що є два типи " +"модулів, про які варто турбуватися, Python і модулі розширення, якими зручно " +"керувати одним параметром::" + +msgid "" +"The specified installation directory is relative to :file:`{prefix}`. Of " +"course, you also have to ensure that this directory is in Python's module " +"search path, such as by putting a :file:`.pth` file in a site directory " +"(see :mod:`site`). See section :ref:`inst-search-path` to find out how to " +"modify Python's search path." +msgstr "" +"Указаний каталог встановлення відноситься до :file:`{prefix}`. Звичайно, ви " +"також повинні переконатися, що цей каталог знаходиться в шляху пошуку модуля " +"Python, наприклад, помістивши файл :file:`.pth` в каталог сайту (див. :mod:" +"`site`). Перегляньте розділ :ref:`inst-search-path`, щоб дізнатися, як " +"змінити шлях пошуку Python." + +msgid "" +"If you want to define an entire installation scheme, you just have to supply " +"all of the installation directory options. The recommended way to do this " +"is to supply relative paths; for example, if you want to maintain all Python " +"module-related files under :file:`python` in your home directory, and you " +"want a separate directory for each platform that you use your home directory " +"from, you might define the following installation scheme::" +msgstr "" +"Якщо ви бажаєте визначити повну схему встановлення, вам просто потрібно " +"вказати всі параметри каталогу встановлення. Рекомендований спосіб зробити " +"це — надати відносні шляхи; наприклад, якщо ви хочете підтримувати всі " +"файли, пов’язані з модулями Python, у :file:`python` у вашому домашньому " +"каталозі, і вам потрібен окремий каталог для кожної платформи, з якої ви " +"використовуєте свій домашній каталог, ви можете визначити наступну схему " +"встановлення ::" + +msgid "or, equivalently, ::" +msgstr "або, еквівалентно, ::" + +msgid "" +"``$PLAT`` is not (necessarily) an environment variable---it will be expanded " +"by the Distutils as it parses your command line options, just as it does " +"when parsing your configuration file(s)." +msgstr "" +"``$PLAT`` не є (обов’язково) змінною середовища --- вона буде розширена за " +"допомогою Distutils під час аналізу ваших параметрів командного рядка, так " +"само, як це робиться під час аналізу ваших конфігураційних файлів." + +msgid "" +"Obviously, specifying the entire installation scheme every time you install " +"a new module distribution would be very tedious. Thus, you can put these " +"options into your Distutils config file (see section :ref:`inst-config-" +"files`):" +msgstr "" +"Очевидно, що вказувати всю схему встановлення кожного разу, коли ви " +"встановлюєте новий дистрибутив модуля, було б дуже виснажливо. Таким чином, " +"ви можете розмістити ці параметри у вашому конфігураційному файлі Distutils " +"(див. розділ :ref:`inst-config-files`):" + +msgid "or, equivalently," +msgstr "або, те саме," + +msgid "" +"Note that these two are *not* equivalent if you supply a different " +"installation base directory when you run the setup script. For example, ::" +msgstr "" +"Зауважте, що ці два *не* еквівалентні, якщо ви вказуєте інший базовий " +"каталог встановлення під час запуску сценарію налаштування. Наприклад, ::" + +msgid "" +"would install pure modules to :file:`/tmp/python/lib` in the first case, and " +"to :file:`/tmp/lib` in the second case. (For the second case, you probably " +"want to supply an installation base of :file:`/tmp/python`.)" +msgstr "" +"встановить чисті модулі до :file:`/tmp/python/lib` у першому випадку та до :" +"file:`/tmp/lib` у другому випадку. (Для другого випадку ви, ймовірно, " +"захочете надати базу встановлення :file:`/tmp/python`.)" + +msgid "" +"You probably noticed the use of ``$HOME`` and ``$PLAT`` in the sample " +"configuration file input. These are Distutils configuration variables, " +"which bear a strong resemblance to environment variables. In fact, you can " +"use environment variables in config files on platforms that have such a " +"notion but the Distutils additionally define a few extra variables that may " +"not be in your environment, such as ``$PLAT``. (And of course, on systems " +"that don't have environment variables, such as Mac OS 9, the configuration " +"variables supplied by the Distutils are the only ones you can use.) See " +"section :ref:`inst-config-files` for details." +msgstr "" +"Можливо, ви помітили використання ``$HOME`` і ``$PLAT`` у зразку вхідних " +"даних файлу конфігурації. Це змінні конфігурації Distutils, які дуже схожі " +"на змінні середовища. Фактично, ви можете використовувати змінні середовища " +"у файлах конфігурації на платформах, які мають таке поняття, але Distutils " +"додатково визначає кілька додаткових змінних, яких може не бути у вашому " +"середовищі, наприклад ``$PLAT``. (Звичайно, у системах, які не мають змінних " +"середовища, наприклад Mac OS 9, змінні конфігурації, надані Distutils, є " +"єдиними, які ви можете використовувати.) Перегляньте розділ :ref:`inst-" +"config-files` для деталі." + +msgid "" +"When a :ref:`virtual environment ` is activated, any options that " +"change the installation path will be ignored from all distutils " +"configuration files to prevent inadvertently installing projects outside of " +"the virtual environment." +msgstr "" +"Коли активовано :ref:`віртуальне середовище `, будь-які параметри, " +"які змінюють шлях інсталяції, ігноруватимуться в усіх конфігураційних файлах " +"distutils, щоб запобігти випадковому встановленню проектів за межами " +"віртуального середовища." + +msgid "Modifying Python's Search Path" +msgstr "Зміна шляху пошуку Python" + +msgid "" +"When the Python interpreter executes an :keyword:`import` statement, it " +"searches for both Python code and extension modules along a search path. A " +"default value for the path is configured into the Python binary when the " +"interpreter is built. You can determine the path by importing the :mod:`sys` " +"module and printing the value of ``sys.path``. ::" +msgstr "" +"Коли інтерпретатор Python виконує оператор :keyword:`import`, він шукає як " +"код Python, так і модулі розширення вздовж шляху пошуку. Значення за " +"замовчуванням для шляху налаштовується у двійковий файл Python під час " +"створення інтерпретатора. Ви можете визначити шлях, імпортувавши модуль :mod:" +"`sys` і надрукувавши значення ``sys.path``. ::" + +msgid "" +"The null string in ``sys.path`` represents the current working directory." +msgstr "Нульовий рядок у ``sys.path`` представляє поточний робочий каталог." + +msgid "" +"The expected convention for locally installed packages is to put them in " +"the :file:`{...}/site-packages/` directory, but you may want to install " +"Python modules into some arbitrary directory. For example, your site may " +"have a convention of keeping all software related to the web server under :" +"file:`/www`. Add-on Python modules might then belong in :file:`/www/python`, " +"and in order to import them, this directory must be added to ``sys.path``. " +"There are several different ways to add the directory." +msgstr "" +"Очікувана умова для локально встановлених пакунків полягає в тому, щоб " +"розмістити їх у каталозі :file:`{...}/site-packages/`, але ви можете " +"встановити модулі Python у будь-який довільний каталог. Наприклад, ваш сайт " +"може зберігати все програмне забезпечення, пов’язане з веб-сервером, у :file:" +"`/www`. Додаткові модулі Python можуть належати до :file:`/www/python`, і " +"щоб імпортувати їх, цей каталог потрібно додати до ``sys.path``. Є кілька " +"різних способів додати каталог." + +msgid "" +"The most convenient way is to add a path configuration file to a directory " +"that's already on Python's path, usually to the :file:`.../site-packages/` " +"directory. Path configuration files have an extension of :file:`.pth`, and " +"each line must contain a single path that will be appended to ``sys.path``. " +"(Because the new paths are appended to ``sys.path``, modules in the added " +"directories will not override standard modules. This means you can't use " +"this mechanism for installing fixed versions of standard modules.)" +msgstr "" +"Найзручніший спосіб — додати файл конфігурації шляху до каталогу, який уже є " +"на шляху Python, зазвичай до каталогу :file:`.../site-packages/`. Файли " +"конфігурації шляху мають розширення :file:`.pth`, і кожен рядок має містити " +"один шлях, який буде додано до ``sys.path``. (Оскільки нові шляхи додаються " +"до ``sys.path``, модулі в доданих каталогах не замінять стандартні модулі. " +"Це означає, що ви не можете використовувати цей механізм для встановлення " +"фіксованих версій стандартних модулів.)" + +msgid "" +"Paths can be absolute or relative, in which case they're relative to the " +"directory containing the :file:`.pth` file. See the documentation of the :" +"mod:`site` module for more information." +msgstr "" +"Шляхи можуть бути абсолютними або відносними, і в цьому випадку вони " +"відносяться до каталогу, що містить файл :file:`.pth`. Дивіться документацію " +"модуля :mod:`site` для отримання додаткової інформації." + +msgid "" +"A slightly less convenient way is to edit the :file:`site.py` file in " +"Python's standard library, and modify ``sys.path``. :file:`site.py` is " +"automatically imported when the Python interpreter is executed, unless the :" +"option:`-S` switch is supplied to suppress this behaviour. So you could " +"simply edit :file:`site.py` and add two lines to it:" +msgstr "" +"Трохи менш зручний спосіб – редагувати файл :file:`site.py` у стандартній " +"бібліотеці Python і змінити ``sys.path``. :file:`site.py` автоматично " +"імпортується під час виконання інтерпретатора Python, якщо не встановлено " +"перемикач :option:`-S` для придушення такої поведінки. Тож ви можете просто " +"відредагувати :file:`site.py` і додати до нього два рядки:" + +msgid "" +"However, if you reinstall the same major version of Python (perhaps when " +"upgrading from 2.2 to 2.2.2, for example) :file:`site.py` will be " +"overwritten by the stock version. You'd have to remember that it was " +"modified and save a copy before doing the installation." +msgstr "" +"Однак якщо ви перевстановите ту саму основну версію Python (наприклад, під " +"час оновлення з 2.2 до 2.2.2), :file:`site.py` буде перезаписано стандартною " +"версією. Ви повинні пам’ятати, що його було змінено, і зберегти копію перед " +"встановленням." + +msgid "" +"There are two environment variables that can modify ``sys.path``. :envvar:" +"`PYTHONHOME` sets an alternate value for the prefix of the Python " +"installation. For example, if :envvar:`PYTHONHOME` is set to ``/www/" +"python``, the search path will be set to ``['', '/www/python/lib/pythonX." +"Y/', '/www/python/lib/pythonX.Y/plat-linux2', ...]``." +msgstr "" +"Є дві змінні середовища, які можуть змінювати ``sys.path``. :envvar:" +"`PYTHONHOME` встановлює альтернативне значення для префікса встановлення " +"Python. Наприклад, якщо :envvar:`PYTHONHOME` встановлено на ``/www/python``, " +"шлях пошуку буде встановлено на ``['', '/www/python/lib/pythonX.Y/', ' /www/" +"python/lib/pythonX.Y/plat-linux2', ...]``." + +msgid "" +"The :envvar:`PYTHONPATH` variable can be set to a list of paths that will be " +"added to the beginning of ``sys.path``. For example, if :envvar:" +"`PYTHONPATH` is set to ``/www/python:/opt/py``, the search path will begin " +"with ``['/www/python', '/opt/py']``. (Note that directories must exist in " +"order to be added to ``sys.path``; the :mod:`site` module removes paths that " +"don't exist.)" +msgstr "" +"Для змінної :envvar:`PYTHONPATH` можна встановити список шляхів, які будуть " +"додані на початок ``sys.path``. Наприклад, якщо для :envvar:`PYTHONPATH` " +"встановлено значення ``/www/python:/opt/py``, шлях пошуку починатиметься з " +"``['/www/python', '/opt/py']``. (Зауважте, що каталоги мають існувати, щоб " +"їх можна було додати до ``sys.path``; модуль :mod:`site` видаляє шляхи, яких " +"не існує.)" + +msgid "" +"Finally, ``sys.path`` is just a regular Python list, so any Python " +"application can modify it by adding or removing entries." +msgstr "" +"Нарешті, ``sys.path`` — це звичайний список Python, тому будь-яка програма " +"Python може змінити його, додаючи або видаляючи записи." + +msgid "Distutils Configuration Files" +msgstr "Файли конфігурації Distutils" + +msgid "" +"As mentioned above, you can use Distutils configuration files to record " +"personal or site preferences for any Distutils options. That is, any option " +"to any command can be stored in one of two or three (depending on your " +"platform) configuration files, which will be consulted before the command-" +"line is parsed. This means that configuration files will override default " +"values, and the command-line will in turn override configuration files. " +"Furthermore, if multiple configuration files apply, values from \"earlier\" " +"files are overridden by \"later\" files." +msgstr "" +"Як згадувалося вище, ви можете використовувати конфігураційні файли " +"Distutils для запису особистих налаштувань або параметрів сайту для будь-" +"яких параметрів Distutils. Тобто будь-яку опцію будь-якої команди можна " +"зберегти в одному з двох або трьох (залежно від вашої платформи) " +"конфігураційних файлів, які будуть перевірені перед аналізом командного " +"рядка. Це означає, що файли конфігурації замінять значення за замовчуванням, " +"а командний рядок, у свою чергу, замінить файли конфігурації. Крім того, " +"якщо застосовуються кілька файлів конфігурації, значення з \"попередніх\" " +"файлів замінюються \"пізнішими\"." + +msgid "Location and names of config files" +msgstr "Розташування та назви конфігураційних файлів" + +msgid "" +"The names and locations of the configuration files vary slightly across " +"platforms. On Unix and macOS, the three configuration files (in the order " +"they are processed) are:" +msgstr "" +"Імена та розташування конфігураційних файлів дещо відрізняються на різних " +"платформах. В Unix і macOS три файли конфігурації (у порядку їх обробки):" + +msgid "Location and filename" +msgstr "Розташування та назва файлу" + +msgid "system" +msgstr "система" + +msgid ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`" +msgstr ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`" + +msgid "personal" +msgstr "особистий" + +msgid ":file:`$HOME/.pydistutils.cfg`" +msgstr ":file:`$HOME/.pydistutils.cfg`" + +msgid "local" +msgstr "місцевий" + +msgid ":file:`setup.cfg`" +msgstr ":file:`setup.cfg`" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "And on Windows, the configuration files are:" +msgstr "А в Windows конфігураційні файли:" + +msgid ":file:`{prefix}\\\\Lib\\\\distutils\\\\distutils.cfg`" +msgstr ":file:`{prefix}\\\\Lib\\\\distutils\\\\distutils.cfg`" + +msgid "\\(4)" +msgstr "\\(4)" + +msgid ":file:`%HOME%\\\\pydistutils.cfg`" +msgstr ":file:`%HOME%\\\\pydistutils.cfg`" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "" +"On all platforms, the \"personal\" file can be temporarily disabled by " +"passing the ``--no-user-cfg`` option." +msgstr "" + +msgid "" +"Strictly speaking, the system-wide configuration file lives in the directory " +"where the Distutils are installed; under Python 1.6 and later on Unix, this " +"is as shown. For Python 1.5.2, the Distutils will normally be installed to :" +"file:`{prefix}/lib/python1.5/site-packages/distutils`, so the system " +"configuration file should be put there under Python 1.5.2." +msgstr "" +"Власне кажучи, загальносистемний файл конфігурації знаходиться в каталозі, " +"де встановлено Distutils; під Python 1.6 і пізніше в Unix, це як показано. " +"Для Python 1.5.2 Distutils зазвичай встановлюється в :file:`{prefix}/lib/" +"python1.5/site-packages/distutils`, тому файл конфігурації системи слід " +"розміщувати туди під Python 1.5.2." + +msgid "" +"On Unix, if the :envvar:`HOME` environment variable is not defined, the " +"user's home directory will be determined with the :func:`getpwuid` function " +"from the standard :mod:`pwd` module. This is done by the :func:`os.path." +"expanduser` function used by Distutils." +msgstr "" +"В Unix, якщо змінна середовища :envvar:`HOME` не визначена, домашній каталог " +"користувача буде визначено за допомогою функції :func:`getpwuid` зі " +"стандартного модуля :mod:`pwd`. Це робиться за допомогою функції :func:`os." +"path.expanduser`, яку використовує Distutils." + +msgid "" +"I.e., in the current directory (usually the location of the setup script)." +msgstr "" +"Тобто в поточному каталозі (зазвичай місце розташування сценарію " +"налаштування)." + +msgid "" +"(See also note (1).) Under Python 1.6 and later, Python's default " +"\"installation prefix\" is :file:`C:\\\\Python`, so the system configuration " +"file is normally :file:`C:\\\\Python\\\\Lib\\\\distutils\\\\distutils.cfg`. " +"Under Python 1.5.2, the default prefix was :file:`C:\\\\Program Files\\" +"\\Python`, and the Distutils were not part of the standard library---so the " +"system configuration file would be :file:`C:\\\\Program Files\\\\Python\\" +"\\distutils\\\\distutils.cfg` in a standard Python 1.5.2 installation under " +"Windows." +msgstr "" +"(Див. також примітку (1).) У Python 1.6 і пізніших версіях стандартним " +"\"префіксом встановлення\" Python є :file:`C:\\\\Python`, тому файл " +"конфігурації системи зазвичай має вигляд :file:`C:\\\\Python\\ \\Lib\\" +"\\distutils\\\\distutils.cfg`. У Python 1.5.2 префікс за замовчуванням був :" +"file:`C:\\\\Program Files\\\\Python`, а Distutils не були частиною " +"стандартної бібліотеки --- тому файл конфігурації системи мав би виглядати " +"як :file:`C :\\\\Program Files\\\\Python\\\\distutils\\\\distutils.cfg` у " +"стандартній установці Python 1.5.2 під Windows." + +msgid "" +"On Windows, if the :envvar:`HOME` environment variable is not defined, :" +"envvar:`USERPROFILE` then :envvar:`HOMEDRIVE` and :envvar:`HOMEPATH` will be " +"tried. This is done by the :func:`os.path.expanduser` function used by " +"Distutils." +msgstr "" +"У Windows, якщо змінна середовища :envvar:`HOME` не визначена, :envvar:" +"`USERPROFILE`, то :envvar:`HOMEDRIVE` і :envvar:`HOMEPATH` будуть " +"спробовані. Це робиться за допомогою функції :func:`os.path.expanduser`, яку " +"використовує Distutils." + +msgid "Syntax of config files" +msgstr "Синтаксис конфігураційних файлів" + +msgid "" +"The Distutils configuration files all have the same syntax. The config " +"files are grouped into sections. There is one section for each Distutils " +"command, plus a ``global`` section for global options that affect every " +"command. Each section consists of one option per line, specified as " +"``option=value``." +msgstr "" +"Усі конфігураційні файли Distutils мають однаковий синтаксис. Файли " +"конфігурації згруповані в розділи. Існує один розділ для кожної команди " +"Distutils, а також розділ ``global`` для глобальних параметрів, які " +"впливають на кожну команду. Кожен розділ складається з одного параметра на " +"рядок, визначеного як ``option=value``." + +msgid "" +"For example, the following is a complete config file that just forces all " +"commands to run quietly by default:" +msgstr "" +"Наприклад, нижче наведено повний файл конфігурації, який просто змушує всі " +"команди виконуватися тихо за замовчуванням:" + +msgid "" +"If this is installed as the system config file, it will affect all " +"processing of any Python module distribution by any user on the current " +"system. If it is installed as your personal config file (on systems that " +"support them), it will affect only module distributions processed by you. " +"And if it is used as the :file:`setup.cfg` for a particular module " +"distribution, it affects only that distribution." +msgstr "" +"Якщо це встановлено як файл конфігурації системи, це вплине на всю обробку " +"будь-якого розповсюдження модуля Python будь-яким користувачем у поточній " +"системі. Якщо його встановлено як ваш особистий конфігураційний файл (у " +"системах, які їх підтримують), він впливатиме лише на розповсюдження " +"модулів, які ви обробляєте. І якщо він використовується як :file:`setup.cfg` " +"для певного дистрибутива модуля, він впливає лише на цей дистрибутив." + +msgid "" +"You could override the default \"build base\" directory and make the :" +"command:`build\\*` commands always forcibly rebuild all files with the " +"following:" +msgstr "" +"Ви можете перевизначити типовий каталог \"build base\" і змусити команди :" +"command:`build\\*` завжди примусово перезбирати всі файли за допомогою " +"наступного:" + +msgid "which corresponds to the command-line arguments ::" +msgstr "який відповідає аргументам командного рядка ::" + +msgid "" +"except that including the :command:`build` command on the command-line means " +"that command will be run. Including a particular command in config files " +"has no such implication; it only means that if the command is run, the " +"options in the config file will apply. (Or if other commands that derive " +"values from it are run, they will use the values in the config file.)" +msgstr "" +"за винятком того, що включення команди :command:`build` до командного рядка " +"означає, що команда буде виконана. Включення конкретної команди до " +"конфігураційних файлів не має такого значення; це лише означає, що якщо " +"команду запущено, будуть застосовані параметри у файлі конфігурації. (Або " +"якщо запускаються інші команди, які отримують значення з нього, вони " +"використовуватимуть значення у файлі конфігурації.)" + +msgid "" +"You can find out the complete list of options for any command using the :" +"option:`!--help` option, e.g.::" +msgstr "" +"Ви можете знайти повний список параметрів для будь-якої команди за допомогою " +"параметра :option:`!--help`, наприклад::" + +msgid "" +"and you can find out the complete list of global options by using :option:" +"`!--help` without a command::" +msgstr "" +"і ви можете дізнатися повний список глобальних параметрів, використовуючи :" +"option:`!--help` без команди::" + +msgid "" +"See also the \"Reference\" section of the \"Distributing Python Modules\" " +"manual." +msgstr "" +"Дивіться також розділ \"Довідка\" посібника \"Розповсюдження модулів Python" +"\"." + +msgid "Building Extensions: Tips and Tricks" +msgstr "Будівництво прибудов: поради та підказки" + +msgid "" +"Whenever possible, the Distutils try to use the configuration information " +"made available by the Python interpreter used to run the :file:`setup.py` " +"script. For example, the same compiler and linker flags used to compile " +"Python will also be used for compiling extensions. Usually this will work " +"well, but in complicated situations this might be inappropriate. This " +"section discusses how to override the usual Distutils behaviour." +msgstr "" +"Коли це можливо, Distutils намагаються використовувати інформацію про " +"конфігурацію, надану інтерпретатором Python, який використовується для " +"запуску сценарію :file:`setup.py`. Наприклад, ті самі прапорці компілятора " +"та компонувальника, що використовуються для компіляції Python, також " +"використовуватимуться для компіляції розширень. Зазвичай це добре працює, " +"але в складних ситуаціях це може бути недоречним. У цьому розділі " +"обговорюється, як змінити звичайну поведінку Distutils." + +msgid "Tweaking compiler/linker flags" +msgstr "Налаштування прапорів компілятора/лінкера" + +msgid "" +"Compiling a Python extension written in C or C++ will sometimes require " +"specifying custom flags for the compiler and linker in order to use a " +"particular library or produce a special kind of object code. This is " +"especially true if the extension hasn't been tested on your platform, or if " +"you're trying to cross-compile Python." +msgstr "" +"Компіляція розширення Python, написаного на C або C++, іноді потребує " +"вказівки спеціальних прапорів для компілятора та компонувальника, щоб " +"використовувати певну бібліотеку або створювати особливий тип об’єктного " +"коду. Це особливо вірно, якщо розширення не було протестовано на вашій " +"платформі або якщо ви намагаєтеся крос-компілювати Python." + +msgid "" +"In the most general case, the extension author might have foreseen that " +"compiling the extensions would be complicated, and provided a :file:`Setup` " +"file for you to edit. This will likely only be done if the module " +"distribution contains many separate extension modules, or if they often " +"require elaborate sets of compiler flags in order to work." +msgstr "" +"У найзагальнішому випадку автор розширення міг передбачити, що компіляція " +"розширень буде складною, і надав файл :file:`Setup` для редагування. " +"Ймовірно, це буде зроблено, лише якщо дистрибутив модуля містить багато " +"окремих модулів розширення, або якщо вони часто вимагають складних наборів " +"прапорів компілятора для роботи." + +msgid "" +"A :file:`Setup` file, if present, is parsed in order to get a list of " +"extensions to build. Each line in a :file:`Setup` describes a single " +"module. Lines have the following structure::" +msgstr "" +"Файл :file:`Setup`, якщо він є, аналізується, щоб отримати список розширень " +"для створення. Кожен рядок у :file:`Setup` описує окремий модуль. Лінії " +"мають таку структуру:" + +msgid "Let's examine each of the fields in turn." +msgstr "Розглянемо по черзі кожне з полів." + +msgid "" +"*module* is the name of the extension module to be built, and should be a " +"valid Python identifier. You can't just change this in order to rename a " +"module (edits to the source code would also be needed), so this should be " +"left alone." +msgstr "" +"*module* — це ім’я модуля розширення, який потрібно створити, і має бути " +"дійсним ідентифікатором Python. Ви не можете просто змінити це, щоб " +"перейменувати модуль (також буде потрібно редагування вихідного коду), тому " +"це слід залишити." + +msgid "" +"*sourcefile* is anything that's likely to be a source code file, at least " +"judging by the filename. Filenames ending in :file:`.c` are assumed to be " +"written in C, filenames ending in :file:`.C`, :file:`.cc`, and :file:`.c++` " +"are assumed to be C++, and filenames ending in :file:`.m` or :file:`.mm` are " +"assumed to be in Objective C." +msgstr "" +"*sourcefile* — це все, що ймовірно є файлом вихідного коду, принаймні судячи " +"з назви файлу. Передбачається, що назви файлів, що закінчуються на :file:`." +"c`, написані на C, а назви файлів, що закінчуються на :file:`.C`, :file:`." +"cc` і :file:`.c++`, — на C++ , а імена файлів, що закінчуються на :file:`.m` " +"або :file:`.mm`, вважаються такими, що належать до Objective C." + +msgid "" +"*cpparg* is an argument for the C preprocessor, and is anything starting " +"with :option:`!-I`, :option:`!-D`, :option:`!-U` or :option:`!-C`." +msgstr "" +"*cpparg* — це аргумент для препроцесора C і все, що починається з :option:`!-" +"I`, :option:`!-D`, :option:`!-U` або :option:`!-C`." + +msgid "" +"*library* is anything ending in :file:`.a` or beginning with :option:`!-l` " +"or :option:`!-L`." +msgstr "" +"*бібліотека* — це все, що закінчується на :file:`.a` або починається на :" +"option:`!-l` чи :option:`!-L`." + +msgid "" +"If a particular platform requires a special library on your platform, you " +"can add it by editing the :file:`Setup` file and running ``python setup.py " +"build``. For example, if the module defined by the line ::" +msgstr "" +"Якщо певна платформа потребує спеціальної бібліотеки на вашій платформі, ви " +"можете додати її, відредагувавши файл :file:`Setup` і запустивши ``python " +"setup.py build``. Наприклад, якщо модуль, визначений рядком ::" + +msgid "" +"must be linked with the math library :file:`libm.a` on your platform, simply " +"add :option:`!-lm` to the line::" +msgstr "" +"має бути пов’язано з математичною бібліотекою :file:`libm.a` на вашій " +"платформі, просто додайте :option:`!-lm` до рядка::" + +msgid "" +"Arbitrary switches intended for the compiler or the linker can be supplied " +"with the :option:`!-Xcompiler` *arg* and :option:`!-Xlinker` *arg* options::" +msgstr "" +"Довільні перемикачі, призначені для компілятора або компонувальника, можуть " +"бути забезпечені параметрами :option:`!-Xcompiler` *arg* і :option:`!-" +"Xlinker` *arg*::" + +msgid "" +"The next option after :option:`!-Xcompiler` and :option:`!-Xlinker` will be " +"appended to the proper command line, so in the above example the compiler " +"will be passed the :option:`!-o32` option, and the linker will be passed :" +"option:`!-shared`. If a compiler option requires an argument, you'll have " +"to supply multiple :option:`!-Xcompiler` options; for example, to pass ``-x c" +"++`` the :file:`Setup` file would have to contain ``-Xcompiler -x -Xcompiler " +"c++``." +msgstr "" +"Наступний параметр після :option:`!-Xcompiler` і :option:`!-Xlinker` буде " +"додано до відповідного командного рядка, тому у наведеному вище прикладі " +"компілятору буде передано параметр :option:`!-o32` , і компонувальнику буде " +"передано :option:`!-shared`. Якщо параметр компілятора потребує аргументу, " +"вам доведеться надати кілька параметрів :option:`!-Xcompiler`; наприклад, " +"щоб передати ``-x c++`` файл :file:`Setup` повинен містити ``-Xcompiler -x -" +"Xcompiler c++``." + +msgid "" +"Compiler flags can also be supplied through setting the :envvar:`CFLAGS` " +"environment variable. If set, the contents of :envvar:`CFLAGS` will be " +"added to the compiler flags specified in the :file:`Setup` file." +msgstr "" +"Прапори компілятора також можна надати через встановлення змінної " +"середовища :envvar:`CFLAGS`. Якщо встановлено, вміст :envvar:`CFLAGS` буде " +"додано до позначок компілятора, указаних у файлі :file:`Setup`." + +msgid "Using non-Microsoft compilers on Windows" +msgstr "Використання компіляторів не від Microsoft у Windows" + +msgid "Borland/CodeGear C++" +msgstr "Borland/CodeGear C++" + +msgid "" +"This subsection describes the necessary steps to use Distutils with the " +"Borland C++ compiler version 5.5. First you have to know that Borland's " +"object file format (OMF) is different from the format used by the Python " +"version you can download from the Python or ActiveState web site. (Python " +"is built with Microsoft Visual C++, which uses COFF as the object file " +"format.) For this reason you have to convert Python's library :file:" +"`python25.lib` into the Borland format. You can do this as follows:" +msgstr "" +"У цьому підрозділі описано необхідні кроки для використання Distutils із " +"компілятором Borland C++ версії 5.5. По-перше, ви повинні знати, що формат " +"об’єктного файлу Borland (OMF) відрізняється від формату, який " +"використовується версією Python, яку можна завантажити з веб-сайту Python " +"або ActiveState. (Python побудовано з Microsoft Visual C++, який " +"використовує COFF як формат об’єктного файлу.) З цієї причини вам потрібно " +"конвертувати бібліотеку Python :file:`python25.lib` у формат Borland. Ви " +"можете зробити це наступним чином:" + +msgid "" +"The :file:`coff2omf` program comes with the Borland compiler. The file :" +"file:`python25.lib` is in the :file:`Libs` directory of your Python " +"installation. If your extension uses other libraries (zlib, ...) you have " +"to convert them too." +msgstr "" +"Програма :file:`coff2omf` постачається разом із компілятором Borland. Файл :" +"file:`python25.lib` знаходиться в каталозі :file:`Libs` вашого встановлення " +"Python. Якщо ваше розширення використовує інші бібліотеки (zlib, ...), їх " +"також потрібно конвертувати." + +msgid "" +"The converted files have to reside in the same directories as the normal " +"libraries." +msgstr "" +"Перетворені файли мають зберігатися в тих самих каталогах, що й звичайні " +"бібліотеки." + +msgid "" +"How does Distutils manage to use these libraries with their changed names? " +"If the extension needs a library (eg. :file:`foo`) Distutils checks first if " +"it finds a library with suffix :file:`_bcpp` (eg. :file:`foo_bcpp.lib`) and " +"then uses this library. In the case it doesn't find such a special library " +"it uses the default name (:file:`foo.lib`.) [#]_" +msgstr "" +"Як Distutils вдається використовувати ці бібліотеки зі зміненими назвами? " +"Якщо для розширення потрібна бібліотека (наприклад, :file:`foo`), Distutils " +"спочатку перевіряє, чи знайде бібліотеку з суфіксом :file:`_bcpp` " +"(наприклад, :file:`foo_bcpp.lib`), а потім використовує цю бібліотеку. У " +"випадку, якщо він не знаходить такої спеціальної бібліотеки, він " +"використовує назву за замовчуванням (:file:`foo.lib`.) [#]_" + +msgid "" +"To let Distutils compile your extension with Borland C++ you now have to " +"type::" +msgstr "" +"Щоб дозволити Distutils скомпілювати ваше розширення за допомогою Borland C+" +"+, вам тепер потрібно ввести::" + +msgid "" +"If you want to use the Borland C++ compiler as the default, you could " +"specify this in your personal or system-wide configuration file for " +"Distutils (see section :ref:`inst-config-files`.)" +msgstr "" +"Якщо ви хочете використовувати компілятор Borland C++ за замовчуванням, ви " +"можете вказати це у своєму особистому або системному файлі конфігурації для " +"Distutils (див. розділ :ref:`inst-config-files`.)" + +msgid "`C++Builder Compiler `_" +msgstr "`Компілятор C++Builder `_" + +msgid "" +"Information about the free C++ compiler from Borland, including links to the " +"download pages." +msgstr "" +"Інформація про безкоштовний компілятор C++ від Borland, включаючи посилання " +"на сторінки завантаження." + +msgid "" +"`Creating Python Extensions Using Borland's Free Compiler `_" +msgstr "" +"`Створення розширень Python за допомогою безкоштовного компілятора Borland " +"`_" + +msgid "" +"Document describing how to use Borland's free command-line C++ compiler to " +"build Python." +msgstr "" +"Документ, що описує, як використовувати безкоштовний компілятор командного " +"рядка Borland C++ для створення Python." + +msgid "GNU C / Cygwin / MinGW" +msgstr "GNU C / Cygwin / MinGW" + +msgid "" +"This section describes the necessary steps to use Distutils with the GNU C/C+" +"+ compilers in their Cygwin and MinGW distributions. [#]_ For a Python " +"interpreter that was built with Cygwin, everything should work without any " +"of these following steps." +msgstr "" +"У цьому розділі описано необхідні кроки для використання Distutils із " +"компіляторами GNU C/C++ у їхніх дистрибутивах Cygwin та MinGW. [#]_ Для " +"інтерпретатора Python, створеного за допомогою Cygwin, усе повинно працювати " +"без будь-якого з цих кроків." + +msgid "" +"Not all extensions can be built with MinGW or Cygwin, but many can. " +"Extensions most likely to not work are those that use C++ or depend on " +"Microsoft Visual C extensions." +msgstr "" +"Не всі розширення можна створити за допомогою MinGW або Cygwin, але багато з " +"них можуть. Швидше за все не працюють розширення, які використовують C++ або " +"залежать від розширень Microsoft Visual C." + +msgid "To let Distutils compile your extension with Cygwin you have to type::" +msgstr "" +"Щоб дозволити Distutils скомпілювати ваше розширення за допомогою Cygwin, " +"вам потрібно ввести::" + +msgid "and for Cygwin in no-cygwin mode [#]_ or for MinGW type::" +msgstr "і для Cygwin у режимі без Cygwin [#]_ або для типу MinGW::" + +msgid "" +"If you want to use any of these options/compilers as default, you should " +"consider writing it in your personal or system-wide configuration file for " +"Distutils (see section :ref:`inst-config-files`.)" +msgstr "" +"Якщо ви хочете використовувати будь-який із цих параметрів/компіляторів за " +"замовчуванням, вам слід записати його у свій особистий або загальносистемний " +"файл конфігурації для Distutils (див. розділ :ref:`inst-config-files`.)" + +msgid "Older Versions of Python and MinGW" +msgstr "Старіші версії Python і MinGW" + +msgid "" +"The following instructions only apply if you're using a version of Python " +"inferior to 2.4.1 with a MinGW inferior to 3.0.0 (with " +"binutils-2.13.90-20030111-1)." +msgstr "" +"Наступні вказівки застосовуються, лише якщо ви використовуєте версію Python " +"нижчу за 2.4.1 із MinGW нижчою за 3.0.0 (з binutils-2.13.90-20030111-1)." + +msgid "" +"These compilers require some special libraries. This task is more complex " +"than for Borland's C++, because there is no program to convert the library. " +"First you have to create a list of symbols which the Python DLL exports. " +"(You can find a good program for this task at https://sourceforge.net/" +"projects/mingw/files/MinGW/Extension/pexports/)." +msgstr "" +"Для цих компіляторів потрібні спеціальні бібліотеки. Це завдання більш " +"складне, ніж для C++ від Borland, оскільки немає програми для перетворення " +"бібліотеки. Спочатку вам потрібно створити список символів, які експортує " +"DLL Python. (Ви можете знайти хорошу програму для цього завдання на https://" +"sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/)." + +msgid "" +"The location of an installed :file:`python25.dll` will depend on the " +"installation options and the version and language of Windows. In a \"just " +"for me\" installation, it will appear in the root of the installation " +"directory. In a shared installation, it will be located in the system " +"directory." +msgstr "" +"Розташування встановленого :file:`python25.dll` залежатиме від параметрів " +"встановлення, версії та мови Windows. Під час встановлення \"тільки для мене" +"\" він з’явиться в кореневому каталозі встановлення. У спільній установці " +"він буде розташований у системному каталозі." + +msgid "" +"Then you can create from these information an import library for gcc. ::" +msgstr "" +"Тоді ви можете створити з цієї інформації бібліотеку імпорту для gcc. ::" + +msgid "" +"The resulting library has to be placed in the same directory as :file:" +"`python25.lib`. (Should be the :file:`libs` directory under your Python " +"installation directory.)" +msgstr "" +"Отриману бібліотеку потрібно розмістити в тому ж каталозі, що й :file:" +"`python25.lib`. (Має бути каталог :file:`libs` у вашому каталозі " +"встановлення Python.)" + +msgid "" +"If your extension uses other libraries (zlib,...) you might have to convert " +"them too. The converted files have to reside in the same directories as the " +"normal libraries do." +msgstr "" +"Якщо ваше розширення використовує інші бібліотеки (zlib,...), вам, можливо, " +"доведеться конвертувати їх також. Перетворені файли мають зберігатися в тих " +"самих каталогах, що й звичайні бібліотеки." + +msgid "" +"`Building Python modules on MS Windows platform with MinGW `_" +msgstr "" + +msgid "" +"Information about building the required libraries for the MinGW environment." +msgstr "Інформація про створення необхідних бібліотек для середовища MinGW." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"This also means you could replace all existing COFF-libraries with OMF-" +"libraries of the same name." +msgstr "" +"Це також означає, що ви можете замінити всі існуючі COFF-бібліотеки " +"бібліотеками OMF з такою ж назвою." + +msgid "Check https://www.sourceware.org/cygwin/ for more information" +msgstr "" +"Перегляньте https://www.sourceware.org/cygwin/ для отримання додаткової " +"інформації" + +msgid "" +"Then you have no POSIX emulation available, but you also don't need :file:" +"`cygwin1.dll`." +msgstr "" +"Тоді вам не доступна емуляція POSIX, але вам також не потрібен :file:" +"`cygwin1.dll`." diff --git a/installing/index.po b/installing/index.po new file mode 100644 index 000000000..a072e5182 --- /dev/null +++ b/installing/index.po @@ -0,0 +1,411 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Installing Python Modules" +msgstr "Встановлення модулів Python" + +msgid "Email" +msgstr "Електронна пошта" + +msgid "distutils-sig@python.org" +msgstr "distutils-sig@python.org" + +msgid "" +"As a popular open source development project, Python has an active " +"supporting community of contributors and users that also make their software " +"available for other Python developers to use under open source license terms." +msgstr "" +"Як популярний проект розробки з відкритим кодом, Python має активну " +"спільноту учасників і користувачів, які також надають своє програмне " +"забезпечення іншим розробникам Python для використання на умовах ліцензії з " +"відкритим кодом." + +msgid "" +"This allows Python users to share and collaborate effectively, benefiting " +"from the solutions others have already created to common (and sometimes even " +"rare!) problems, as well as potentially contributing their own solutions to " +"the common pool." +msgstr "" +"Це дозволяє користувачам Python ефективно ділитися та співпрацювати, " +"отримуючи вигоду від рішень, які інші вже створили для поширених (а іноді " +"навіть рідкісних!) проблем, а також потенційно вносячи власні рішення в " +"загальний пул." + +msgid "" +"This guide covers the installation part of the process. For a guide to " +"creating and sharing your own Python projects, refer to the :ref:" +"`distribution guide `." +msgstr "" +"Цей посібник описує частину процесу встановлення. Щоб отримати вказівки щодо " +"створення та спільного використання власних проектів Python, зверніться до :" +"ref:`посібника з розповсюдження `." + +msgid "" +"For corporate and other institutional users, be aware that many " +"organisations have their own policies around using and contributing to open " +"source software. Please take such policies into account when making use of " +"the distribution and installation tools provided with Python." +msgstr "" +"Для корпоративних та інших інституційних користувачів пам’ятайте, що багато " +"організацій мають власні політики щодо використання програмного забезпечення " +"з відкритим вихідним кодом і надання допомоги в ньому. Будь ласка, візьміть " +"до уваги ці правила під час використання інструментів розповсюдження та " +"встановлення, які надаються разом з Python." + +msgid "Key terms" +msgstr "Ключові терміни" + +msgid "" +"``pip`` is the preferred installer program. Starting with Python 3.4, it is " +"included by default with the Python binary installers." +msgstr "" +"``pip`` є кращою програмою встановлення. Починаючи з Python 3.4, він " +"включено за замовчуванням у бінарні інсталятори Python." + +msgid "" +"A *virtual environment* is a semi-isolated Python environment that allows " +"packages to be installed for use by a particular application, rather than " +"being installed system wide." +msgstr "" +"*Віртуальне середовище* — це напівізольоване середовище Python, яке дозволяє " +"встановлювати пакети для використання певною програмою, а не встановлювати в " +"системі." + +msgid "" +"``venv`` is the standard tool for creating virtual environments, and has " +"been part of Python since Python 3.3. Starting with Python 3.4, it defaults " +"to installing ``pip`` into all created virtual environments." +msgstr "" +"``venv`` є стандартним інструментом для створення віртуальних середовищ і є " +"частиною Python з Python 3.3. Починаючи з Python 3.4, за замовчуванням " +"``pip`` встановлюється в усі створені віртуальні середовища." + +msgid "" +"``virtualenv`` is a third party alternative (and predecessor) to ``venv``. " +"It allows virtual environments to be used on versions of Python prior to " +"3.4, which either don't provide ``venv`` at all, or aren't able to " +"automatically install ``pip`` into created environments." +msgstr "" +"``virtualenv`` є сторонньою альтернативою (і попередником) ``venv``. Він " +"дозволяє використовувати віртуальні середовища у версіях Python до 3.4, які " +"або взагалі не забезпечують ``venv``, або не можуть автоматично " +"встановлювати ``pip`` у створені середовища." + +msgid "" +"The `Python Package Index `__ is a public repository of " +"open source licensed packages made available for use by other Python users." +msgstr "" +"`Python Package Index `__ є загальнодоступним сховищем " +"ліцензованих пакетів з відкритим вихідним кодом, доступним для використання " +"іншими користувачами Python." + +msgid "" +"the `Python Packaging Authority `__ is the group of " +"developers and documentation authors responsible for the maintenance and " +"evolution of the standard packaging tools and the associated metadata and " +"file format standards. They maintain a variety of tools, documentation, and " +"issue trackers on both `GitHub `__ and `Bitbucket " +"`__." +msgstr "" +"`Python Packaging Authority `__ — це група розробників " +"і авторів документації, відповідальних за підтримку та розвиток стандартних " +"інструментів пакування та відповідних стандартів метаданих і форматів " +"файлів. Вони підтримують різноманітні інструменти, документацію та засоби " +"відстеження проблем як на `GitHub `__, так і на " +"`Bitbucket `__." + +msgid "" +"``distutils`` is the original build and distribution system first added to " +"the Python standard library in 1998. While direct use of ``distutils`` is " +"being phased out, it still laid the foundation for the current packaging and " +"distribution infrastructure, and it not only remains part of the standard " +"library, but its name lives on in other ways (such as the name of the " +"mailing list used to coordinate Python packaging standards development)." +msgstr "" +"``distutils`` — це оригінальна система збірки та розповсюдження, яка вперше " +"була додана до стандартної бібліотеки Python у 1998 році. Хоча пряме " +"використання ``distutils`` поступово припиняється, воно все одно заклало " +"основу для поточної інфраструктури пакування та розповсюдження, а також він " +"не тільки залишається частиною стандартної бібліотеки, але й продовжує жити " +"іншим чином (наприклад, назва списку розсилки, який використовується для " +"координації розробки стандартів пакування Python)." + +msgid "" +"The use of ``venv`` is now recommended for creating virtual environments." +msgstr "" +"Тепер для створення віртуальних середовищ рекомендується використовувати " +"``venv``." + +msgid "" +"`Python Packaging User Guide: Creating and using virtual environments " +"`__" +msgstr "" +"`Посібник користувача з пакування Python: Створення та використання " +"віртуальних середовищ `__" + +msgid "Basic usage" +msgstr "Базове використання" + +msgid "" +"The standard packaging tools are all designed to be used from the command " +"line." +msgstr "" +"Усі стандартні інструменти пакування призначені для використання з " +"командного рядка." + +msgid "" +"The following command will install the latest version of a module and its " +"dependencies from the Python Package Index::" +msgstr "" +"Наступна команда встановить останню версію модуля та його залежності з " +"індексу пакетів Python::" + +msgid "" +"For POSIX users (including macOS and Linux users), the examples in this " +"guide assume the use of a :term:`virtual environment`." +msgstr "" +"Для користувачів POSIX (включаючи користувачів macOS і Linux) приклади в " +"цьому посібнику передбачають використання :term:`virtual environment`." + +msgid "" +"For Windows users, the examples in this guide assume that the option to " +"adjust the system PATH environment variable was selected when installing " +"Python." +msgstr "" +"Для користувачів Windows приклади в цьому посібнику припускають, що під час " +"інсталяції Python було вибрано параметр налаштування системної змінної " +"середовища PATH." + +msgid "" +"It's also possible to specify an exact or minimum version directly on the " +"command line. When using comparator operators such as ``>``, ``<`` or some " +"other special character which get interpreted by shell, the package name and " +"the version should be enclosed within double quotes::" +msgstr "" +"Також можна вказати точну або мінімальну версію безпосередньо в командному " +"рядку. У разі використання таких операторів порівняння, як ``>``, ``<`` або " +"будь-який інший спеціальний символ, який інтерпретується командною " +"оболонкою, назву пакета та версію слід брати в подвійні лапки::" + +msgid "" +"Normally, if a suitable module is already installed, attempting to install " +"it again will have no effect. Upgrading existing modules must be requested " +"explicitly::" +msgstr "" +"Зазвичай, якщо відповідний модуль уже встановлено, повторна спроба " +"встановити його не матиме ефекту. Оновлення існуючих модулів має надаватися " +"в явному вигляді:" + +msgid "" +"More information and resources regarding ``pip`` and its capabilities can be " +"found in the `Python Packaging User Guide `__." +msgstr "" +"Більше інформації та ресурсів щодо ``pip`` і його можливостей можна знайти в " +"`Посібнику користувача з пакування Python `__." + +msgid "" +"Creation of virtual environments is done through the :mod:`venv` module. " +"Installing packages into an active virtual environment uses the commands " +"shown above." +msgstr "" +"Створення віртуальних середовищ здійснюється за допомогою модуля :mod:" +"`venv`. Для встановлення пакетів у активне віртуальне середовище " +"використовуються команди, наведені вище." + +msgid "" +"`Python Packaging User Guide: Installing Python Distribution Packages " +"`__" +msgstr "" +"`Посібник користувача з пакування Python: встановлення пакетів " +"розповсюдження Python `__" + +msgid "How do I ...?" +msgstr "Як мені ...?" + +msgid "These are quick answers or links for some common tasks." +msgstr "Це короткі відповіді або посилання для деяких типових завдань." + +msgid "... install ``pip`` in versions of Python prior to Python 3.4?" +msgstr "... встановити ``pip`` у версіях Python до Python 3.4?" + +msgid "" +"Python only started bundling ``pip`` with Python 3.4. For earlier versions, " +"``pip`` needs to be \"bootstrapped\" as described in the Python Packaging " +"User Guide." +msgstr "" +"Python почав об’єднувати ``pip`` лише з Python 3.4. Для попередніх версій " +"``pip`` потрібно \"завантажити\", як описано в посібнику користувача з " +"пакування Python." + +msgid "" +"`Python Packaging User Guide: Requirements for Installing Packages `__" +msgstr "" +"`Посібник користувача з пакування Python: Вимоги до встановлення пакетів " +"`__" + +msgid "... install packages just for the current user?" +msgstr "... встановити пакети лише для поточного користувача?" + +msgid "" +"Passing the ``--user`` option to ``python -m pip install`` will install a " +"package just for the current user, rather than for all users of the system." +msgstr "" +"Передача параметра ``--user`` до ``python -m pip install`` встановить пакет " +"лише для поточного користувача, а не для всіх користувачів системи." + +msgid "... install scientific Python packages?" +msgstr "... встановити наукові пакети Python?" + +msgid "" +"A number of scientific Python packages have complex binary dependencies, and " +"aren't currently easy to install using ``pip`` directly. At this point in " +"time, it will often be easier for users to install these packages by `other " +"means `__ rather than attempting to " +"install them with ``pip``." +msgstr "" +"Кілька наукових пакетів Python мають складні бінарні залежності, і наразі їх " +"непросто встановити безпосередньо за допомогою ``pip``. На даний момент " +"користувачам буде простіше встановити ці пакунки `іншими засобами `__, ніж намагатися встановити їх за допомогою " +"``pip``." + +msgid "" +"`Python Packaging User Guide: Installing Scientific Packages `__" +msgstr "" +"`Посібник користувача з пакування Python: встановлення наукових пакетів " +"`__" + +msgid "... work with multiple versions of Python installed in parallel?" +msgstr "... працювати з кількома версіями Python, встановленими паралельно?" + +msgid "" +"On Linux, macOS, and other POSIX systems, use the versioned Python commands " +"in combination with the ``-m`` switch to run the appropriate copy of " +"``pip``::" +msgstr "" +"У Linux, macOS та інших системах POSIX використовуйте версії команд Python у " +"поєднанні з перемикачем ``-m``, щоб запустити відповідну копію ``pip``::" + +msgid "Appropriately versioned ``pip`` commands may also be available." +msgstr "Також можуть бути доступні команди ``pip`` з відповідними версіями." + +msgid "" +"On Windows, use the ``py`` Python launcher in combination with the ``-m`` " +"switch::" +msgstr "" +"У Windows використовуйте засіб запуску Python ``py`` у поєднанні з " +"перемикачем ``-m``::" + +msgid "Common installation issues" +msgstr "Поширені проблеми встановлення" + +msgid "Installing into the system Python on Linux" +msgstr "Встановлення в систему Python на Linux" + +msgid "" +"On Linux systems, a Python installation will typically be included as part " +"of the distribution. Installing into this Python installation requires root " +"access to the system, and may interfere with the operation of the system " +"package manager and other components of the system if a component is " +"unexpectedly upgraded using ``pip``." +msgstr "" +"У системах Linux інсталяція Python зазвичай буде включена як частина " +"дистрибутива. Встановлення в цю установку Python вимагає кореневого доступу " +"до системи та може заважати роботі системного менеджера пакунків та інших " +"компонентів системи, якщо компонент неочікувано оновлено за допомогою " +"``pip``." + +msgid "" +"On such systems, it is often better to use a virtual environment or a per-" +"user installation when installing packages with ``pip``." +msgstr "" +"У таких системах часто краще використовувати віртуальне середовище або " +"інсталяцію для кожного користувача під час інсталяції пакетів за допомогою " +"``pip``." + +msgid "Pip not installed" +msgstr "Pip не встановлено" + +msgid "" +"It is possible that ``pip`` does not get installed by default. One potential " +"fix is::" +msgstr "" +"Можливо, ``pip`` не встановлюється за замовчуванням. Одним з потенційних " +"виправлень є:" + +msgid "" +"There are also additional resources for `installing pip. `__" +msgstr "" + +msgid "Installing binary extensions" +msgstr "Встановлення бінарних розширень" + +msgid "" +"Python has typically relied heavily on source based distribution, with end " +"users being expected to compile extension modules from source as part of the " +"installation process." +msgstr "" +"Python, як правило, значною мірою покладається на дистрибутив на основі " +"вихідного коду, причому очікується, що кінцеві користувачі збиратимуть " +"модулі розширення з вихідного коду як частину процесу встановлення." + +msgid "" +"With the introduction of support for the binary ``wheel`` format, and the " +"ability to publish wheels for at least Windows and macOS through the Python " +"Package Index, this problem is expected to diminish over time, as users are " +"more regularly able to install pre-built extensions rather than needing to " +"build them themselves." +msgstr "" +"Із запровадженням підтримки двійкового формату ``wheel`` і можливістю " +"публікувати колеса принаймні для Windows і macOS через індекс пакетів " +"Python, очікується, що ця проблема з часом зменшиться, оскільки користувачі " +"зможуть більш регулярно встановлювати готові розширення, а не створювати їх " +"самостійно." + +msgid "" +"Some of the solutions for installing `scientific software `__ that are not yet available as pre-built ``wheel`` " +"files may also help with obtaining other binary extensions without needing " +"to build them locally." +msgstr "" +"Деякі з рішень для встановлення `наукового програмного забезпечення `__, які ще не доступні у вигляді попередньо " +"зібраних файлів ``wheel``, також можуть допомогти отримати інші двійкові " +"розширення без необхідності створювати їх локально." + +msgid "" +"`Python Packaging User Guide: Binary Extensions `__" +msgstr "" +"`Посібник користувача з пакування Python: двійкові розширення `__" diff --git a/library/2to3.po b/library/2to3.po new file mode 100644 index 000000000..d0d721fdc --- /dev/null +++ b/library/2to3.po @@ -0,0 +1,676 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "2to3 --- Automated Python 2 to 3 code translation" +msgstr "" + +msgid "" +"2to3 is a Python program that reads Python 2.x source code and applies a " +"series of *fixers* to transform it into valid Python 3.x code. The standard " +"library contains a rich set of fixers that will handle almost all code. " +"2to3 supporting library :mod:`lib2to3` is, however, a flexible and generic " +"library, so it is possible to write your own fixers for 2to3." +msgstr "" +"2to3 — це програма Python, яка зчитує вихідний код Python 2.x і застосовує " +"серію *фіксаторів*, щоб перетворити його на дійсний код Python 3.x. " +"Стандартна бібліотека містить багатий набір фіксаторів, які оброблять майже " +"весь код. Бібліотека підтримки 2to3 :mod:`lib2to3`, однак, є гнучкою та " +"загальною бібліотекою, тому можна написати власні фіксатори для 2to3." + +msgid "" +"The ``lib2to3`` module was marked pending for deprecation in Python 3.9 " +"(raising :exc:`PendingDeprecationWarning` on import) and fully deprecated in " +"Python 3.11 (raising :exc:`DeprecationWarning`). The ``2to3`` tool is part " +"of that. It will be removed in Python 3.13." +msgstr "" + +msgid "Using 2to3" +msgstr "Використовуючи 2 до 3" + +msgid "" +"2to3 will usually be installed with the Python interpreter as a script. It " +"is also located in the :file:`Tools/scripts` directory of the Python root." +msgstr "" +"2to3 зазвичай встановлюється з інтерпретатором Python як сценарієм. Він " +"також знаходиться в каталозі :file:`Tools/scripts` кореневого каталогу " +"Python." + +msgid "" +"2to3's basic arguments are a list of files or directories to transform. The " +"directories are recursively traversed for Python sources." +msgstr "" +"Основними аргументами 2to3 є список файлів або каталогів для трансформації. " +"Для вихідних кодів Python каталоги проходять рекурсивно." + +msgid "Here is a sample Python 2.x source file, :file:`example.py`::" +msgstr "Ось зразок вихідного файлу Python 2.x, :file:`example.py`::" + +msgid "It can be converted to Python 3.x code via 2to3 on the command line:" +msgstr "" +"Його можна перетворити на код Python 3.x за допомогою 2to3 у командному " +"рядку:" + +msgid "" +"A diff against the original source file is printed. 2to3 can also write the " +"needed modifications right back to the source file. (A backup of the " +"original file is made unless :option:`!-n` is also given.) Writing the " +"changes back is enabled with the :option:`!-w` flag:" +msgstr "" +"Друкується порівняння з вихідним вихідним файлом. 2to3 також може записати " +"необхідні зміни прямо у вихідний файл. (Буде створено резервну копію " +"вихідного файлу, якщо також не вказано :option:`!-n`.) Записування змін " +"увімкнено за допомогою прапорця :option:`!-w`:" + +msgid "After transformation, :file:`example.py` looks like this::" +msgstr "Після трансформації :file:`example.py` виглядає так:" + +msgid "" +"Comments and exact indentation are preserved throughout the translation " +"process." +msgstr "" +"Коментарі та точні відступи зберігаються протягом усього процесу перекладу." + +msgid "" +"By default, 2to3 runs a set of :ref:`predefined fixers <2to3-fixers>`. The :" +"option:`!-l` flag lists all available fixers. An explicit set of fixers to " +"run can be given with :option:`!-f`. Likewise the :option:`!-x` explicitly " +"disables a fixer. The following example runs only the ``imports`` and " +"``has_key`` fixers:" +msgstr "" +"За замовчуванням 2to3 запускає набір :ref:`передвизначених фіксаторів <2to3-" +"fixers>`. Прапорець :option:`!-l` містить список усіх доступних фіксаторів. " +"Явний набір фіксаторів для запуску можна надати за допомогою :option:`!-f`. " +"Так само :option:`!-x` явно вимикає фіксатор. У наступному прикладі " +"запускаються лише фіксатори ``imports`` і ``has_key``:" + +msgid "This command runs every fixer except the ``apply`` fixer:" +msgstr "Ця команда запускає всі фіксатори, крім фіксатора ``apply``:" + +msgid "" +"Some fixers are *explicit*, meaning they aren't run by default and must be " +"listed on the command line to be run. Here, in addition to the default " +"fixers, the ``idioms`` fixer is run:" +msgstr "" +"Деякі фіксатори є *явними*, що означає, що вони не запускаються за " +"замовчуванням і повинні бути зазначені в командному рядку для запуску. Тут, " +"на додаток до типових фіксаторів, запускається фіксатор ``ідіом``:" + +msgid "Notice how passing ``all`` enables all default fixers." +msgstr "Зверніть увагу, як передача ``all`` вмикає всі стандартні фіксатори." + +msgid "" +"Sometimes 2to3 will find a place in your source code that needs to be " +"changed, but 2to3 cannot fix automatically. In this case, 2to3 will print a " +"warning beneath the diff for a file. You should address the warning in " +"order to have compliant 3.x code." +msgstr "" +"Іноді 2to3 знаходить місце у вашому вихідному коді, яке потрібно змінити, " +"але 2to3 не може виправити автоматично. У цьому випадку 2to3 надрукує " +"попередження під diff для файлу. Вам слід усунути попередження, щоб мати " +"сумісний код 3.x." + +msgid "" +"2to3 can also refactor doctests. To enable this mode, use the :option:`!-d` " +"flag. Note that *only* doctests will be refactored. This also doesn't " +"require the module to be valid Python. For example, doctest like examples " +"in a reST document could also be refactored with this option." +msgstr "" +"2to3 також може виконувати рефакторинг doctests. Щоб увімкнути цей режим, " +"використовуйте прапорець :option:`!-d`. Зауважте, що *тільки* doctests " +"будуть перероблені. Для цього також не потрібно, щоб модуль був дійсним " +"Python. Наприклад, приклади, схожі на doctest, у документі reST також можуть " +"бути перероблені за допомогою цієї опції." + +msgid "" +"The :option:`!-v` option enables output of more information on the " +"translation process." +msgstr "" +"Опція :option:`!-v` дозволяє виводити більше інформації про процес перекладу." + +msgid "" +"Since some print statements can be parsed as function calls or statements, " +"2to3 cannot always read files containing the print function. When 2to3 " +"detects the presence of the ``from __future__ import print_function`` " +"compiler directive, it modifies its internal grammar to interpret :func:" +"`print` as a function. This change can also be enabled manually with the :" +"option:`!-p` flag. Use :option:`!-p` to run fixers on code that already has " +"had its print statements converted. Also :option:`!-e` can be used to make :" +"func:`exec` a function." +msgstr "" +"Оскільки деякі оператори друку можна проаналізувати як виклики функцій або " +"оператори, 2to3 не завжди може читати файли, що містять функцію друку. Коли " +"2to3 виявляє наявність директиви компілятора ``from __future__ import " +"print_function``, він змінює свою внутрішню граматику, щоб інтерпретувати :" +"func:`print` як функцію. Цю зміну також можна ввімкнути вручну за допомогою " +"позначки :option:`!-p`. Використовуйте :option:`!-p`, щоб запустити " +"фіксатори для коду, оператори друку якого вже перетворені. Також :option:`!-" +"e` можна використовувати, щоб зробити :func:`exec` функцією." + +msgid "" +"The :option:`!-o` or :option:`!--output-dir` option allows specification of " +"an alternate directory for processed output files to be written to. The :" +"option:`!-n` flag is required when using this as backup files do not make " +"sense when not overwriting the input files." +msgstr "" +"Параметр :option:`!-o` або :option:`!--output-dir` дозволяє вказати " +"альтернативний каталог для запису оброблених вихідних файлів. Прапорець :" +"option:`!-n` потрібен під час використання, оскільки файли резервних копій " +"не мають сенсу, якщо не перезаписувати вхідні файли." + +msgid "The :option:`!-o` option was added." +msgstr "Додано параметр :option:`!-o`." + +msgid "" +"The :option:`!-W` or :option:`!--write-unchanged-files` flag tells 2to3 to " +"always write output files even if no changes were required to the file. " +"This is most useful with :option:`!-o` so that an entire Python source tree " +"is copied with translation from one directory to another. This option " +"implies the :option:`!-w` flag as it would not make sense otherwise." +msgstr "" +"Прапорець :option:`!-W` або :option:`!--write-unchanged-files` вказує 2to3 " +"завжди записувати вихідні файли, навіть якщо до файлу не потрібні зміни. Це " +"найбільш корисно з :option:`!-o`, так що все дерево вихідних кодів Python " +"копіюється з перекладом з одного каталогу в інший. Ця опція передбачає " +"прапорець :option:`!-w`, оскільки інакше це не мало б сенсу." + +msgid "The :option:`!-W` flag was added." +msgstr "Додано прапорець :option:`!-W`." + +msgid "" +"The :option:`!--add-suffix` option specifies a string to append to all " +"output filenames. The :option:`!-n` flag is required when specifying this " +"as backups are not necessary when writing to different filenames. Example:" +msgstr "" +"Параметр :option:`!--add-suffix` визначає рядок, який додається до всіх назв " +"вихідних файлів. Прапорець :option:`!-n` є обов’язковим, коли вказується це, " +"оскільки резервні копії не потрібні під час запису в різні імена файлів. " +"приклад:" + +msgid "Will cause a converted file named ``example.py3`` to be written." +msgstr "Викличе запис перетвореного файлу під назвою ``example.py3``." + +msgid "The :option:`!--add-suffix` option was added." +msgstr "Додано параметр :option:`!--add-suffix`." + +msgid "To translate an entire project from one directory tree to another use:" +msgstr "" +"Щоб перекласти весь проект з одного дерева каталогів в інше, використовуйте:" + +msgid "Fixers" +msgstr "Закріплювачі" + +msgid "" +"Each step of transforming code is encapsulated in a fixer. The command " +"``2to3 -l`` lists them. As :ref:`documented above <2to3-using>`, each can " +"be turned on and off individually. They are described here in more detail." +msgstr "" +"Кожен крок трансформації коду інкапсульований у фіксаторі. Команда ``2to3 -" +"l`` перераховує їх. Як :ref:`задокументовано вище <2to3-using>`, кожен з них " +"можна вмикати та вимикати окремо. Тут вони описані більш детально." + +msgid "" +"Removes usage of :func:`apply`. For example ``apply(function, *args, " +"**kwargs)`` is converted to ``function(*args, **kwargs)``." +msgstr "" +"Вилучає використання :func:`apply`. Наприклад, ``apply(function, *args, " +"**kwargs)`` перетворюється на ``function(*args, **kwargs)``." + +msgid "Replaces deprecated :mod:`unittest` method names with the correct ones." +msgstr "Замінює застарілі назви методів :mod:`unittest` на правильні." + +msgid "From" +msgstr "Від" + +msgid "To" +msgstr "до" + +msgid "``failUnlessEqual(a, b)``" +msgstr "``failUnlessEqual(a, b)``" + +msgid ":meth:`assertEqual(a, b) `" +msgstr ":meth:`assertEqual(a, b) `" + +msgid "``assertEquals(a, b)``" +msgstr "``assertEquals(a, b)``" + +msgid "``failIfEqual(a, b)``" +msgstr "``failIfEqual(a, b)``" + +msgid ":meth:`assertNotEqual(a, b) `" +msgstr ":meth:`assertNotEqual(a, b) `" + +msgid "``assertNotEquals(a, b)``" +msgstr "``assertNotEquals(a, b)``" + +msgid "``failUnless(a)``" +msgstr "``failUnless(a)``" + +msgid ":meth:`assertTrue(a) `" +msgstr ":meth:`assertTrue(a) `" + +msgid "``assert_(a)``" +msgstr "``assert_(a)``" + +msgid "``failIf(a)``" +msgstr "``failIf(a)``" + +msgid ":meth:`assertFalse(a) `" +msgstr ":meth:`assertFalse(a) `" + +msgid "``failUnlessRaises(exc, cal)``" +msgstr "``failUnlessRaises(exc, cal)``" + +msgid ":meth:`assertRaises(exc, cal) `" +msgstr ":meth:`assertRaises(exc, cal) `" + +msgid "``failUnlessAlmostEqual(a, b)``" +msgstr "``failUnlessAlmostEqual(a, b)``" + +msgid ":meth:`assertAlmostEqual(a, b) `" +msgstr ":meth:`assertAlmostEqual(a, b) `" + +msgid "``assertAlmostEquals(a, b)``" +msgstr "``assertAlmostEquals(a, b)``" + +msgid "``failIfAlmostEqual(a, b)``" +msgstr "``failIfAlmostEqual(a, b)``" + +msgid "" +":meth:`assertNotAlmostEqual(a, b) `" +msgstr "" +":meth:`assertNotAlmostEqual(a, b) `" + +msgid "``assertNotAlmostEquals(a, b)``" +msgstr "``assertNotAlmostEquals(a, b)``" + +msgid "Converts :class:`basestring` to :class:`str`." +msgstr "Перетворює :class:`basestring` на :class:`str`." + +msgid "" +"Converts :class:`buffer` to :class:`memoryview`. This fixer is optional " +"because the :class:`memoryview` API is similar but not exactly the same as " +"that of :class:`buffer`." +msgstr "" +"Перетворює :class:`buffer` на :class:`memoryview`. Цей засіб виправлення є " +"необов’язковим, оскільки API :class:`memoryview` схожий, але не зовсім " +"такий, як API :class:`buffer`." + +msgid "" +"Fixes dictionary iteration methods. :meth:`dict.iteritems` is converted to :" +"meth:`dict.items`, :meth:`dict.iterkeys` to :meth:`dict.keys`, and :meth:" +"`dict.itervalues` to :meth:`dict.values`. Similarly, :meth:`dict." +"viewitems`, :meth:`dict.viewkeys` and :meth:`dict.viewvalues` are converted " +"respectively to :meth:`dict.items`, :meth:`dict.keys` and :meth:`dict." +"values`. It also wraps existing usages of :meth:`dict.items`, :meth:`dict." +"keys`, and :meth:`dict.values` in a call to :class:`list`." +msgstr "" +"Виправляє методи ітерації словника. :meth:`dict.iteritems` перетворюється " +"на :meth:`dict.items`, :meth:`dict.iterkeys` на :meth:`dict.keys`, а :meth:" +"`dict.itervalues` на :meth:`dict.values`. Так само :meth:`dict.viewitems`, :" +"meth:`dict.viewkeys` і :meth:`dict.viewvalues` перетворюються відповідно на :" +"meth:`dict.items`, :meth:`dict.keys` і :meth:`dict.values`. Він також " +"обгортає існуючі використання :meth:`dict.items`, :meth:`dict.keys` і :meth:" +"`dict.values` у виклику :class:`list`." + +msgid "Converts ``except X, T`` to ``except X as T``." +msgstr "Перетворює ``крім X, T`` на ``крім X як T``." + +msgid "Converts the ``exec`` statement to the :func:`exec` function." +msgstr "Перетворює оператор ``exec`` на функцію :func:`exec`." + +msgid "" +"Removes usage of :func:`execfile`. The argument to :func:`execfile` is " +"wrapped in calls to :func:`open`, :func:`compile`, and :func:`exec`." +msgstr "" +"Видаляє використання :func:`execfile`. Аргумент :func:`execfile` містить " +"виклики :func:`open`, :func:`compile` і :func:`exec`." + +msgid "" +"Changes assignment of :attr:`sys.exitfunc` to use of the :mod:`atexit` " +"module." +msgstr "" +"Змінює призначення :attr:`sys.exitfunc` на використання модуля :mod:`atexit`." + +msgid "Wraps :func:`filter` usage in a :class:`list` call." +msgstr "Обгортає використання :func:`filter` у виклику :class:`list`." + +msgid "" +"Fixes function attributes that have been renamed. For example, " +"``my_function.func_closure`` is converted to ``my_function.__closure__``." +msgstr "" +"Виправляє атрибути функції, які були перейменовані. Наприклад, ``my_function." +"func_closure`` перетворюється на ``my_function.__closure__``." + +msgid "Removes ``from __future__ import new_feature`` statements." +msgstr "Вилучає оператори ``from __future__ import new_feature``." + +msgid "Renames :func:`os.getcwdu` to :func:`os.getcwd`." +msgstr "Перейменовує :func:`os.getcwdu` на :func:`os.getcwd`." + +msgid "Changes ``dict.has_key(key)`` to ``key in dict``." +msgstr "Змінює ``dict.has_key(key)`` на ``ключ у dict``." + +msgid "" +"This optional fixer performs several transformations that make Python code " +"more idiomatic. Type comparisons like ``type(x) is SomeClass`` and " +"``type(x) == SomeClass`` are converted to ``isinstance(x, SomeClass)``. " +"``while 1`` becomes ``while True``. This fixer also tries to make use of :" +"func:`sorted` in appropriate places. For example, this block ::" +msgstr "" +"Цей додатковий засіб виправлення виконує декілька перетворень, які роблять " +"код Python більш ідіоматичним. Порівняння типів, як-от ``type(x) is " +"SomeClass`` і ``type(x) == SomeClass``, перетворюються на ``isinstance(x, " +"SomeClass)``. ``while 1`` стає ``while True``. Цей фіксатор також " +"намагається використовувати :func:`sorted` у відповідних місцях. Наприклад, " +"цей блок ::" + +msgid "is changed to ::" +msgstr "змінюється на ::" + +msgid "Detects sibling imports and converts them to relative imports." +msgstr "Виявляє однорідний імпорт і перетворює його на відносний імпорт." + +msgid "Handles module renames in the standard library." +msgstr "Обробляє перейменування модулів у стандартній бібліотеці." + +msgid "" +"Handles other modules renames in the standard library. It is separate from " +"the :2to3fixer:`imports` fixer only because of technical limitations." +msgstr "" +"Обробляє перейменування інших модулів у стандартній бібліотеці. Він " +"відокремлений від фіксатора :2to3fixer:`imports` лише через технічні " +"обмеження." + +msgid "Converts ``input(prompt)`` to ``eval(input(prompt))``." +msgstr "Перетворює ``input(prompt)`` на ``eval(input(prompt))``." + +msgid "Converts :func:`intern` to :func:`sys.intern`." +msgstr "Перетворює :func:`intern` на :func:`sys.intern`." + +msgid "" +"Fixes duplicate types in the second argument of :func:`isinstance`. For " +"example, ``isinstance(x, (int, int))`` is converted to ``isinstance(x, " +"int)`` and ``isinstance(x, (int, float, int))`` is converted to " +"``isinstance(x, (int, float))``." +msgstr "" +"Виправляє дублікати типів у другому аргументі :func:`isinstance`. Наприклад, " +"``isinstance(x, (int, int))`` перетворюється на ``isinstance(x, int)``, а " +"``isinstance(x, (int, float, int))`` перетворюється на ``isinstance(x, (int, " +"float))``." + +msgid "" +"Removes imports of :func:`itertools.ifilter`, :func:`itertools.izip`, and :" +"func:`itertools.imap`. Imports of :func:`itertools.ifilterfalse` are also " +"changed to :func:`itertools.filterfalse`." +msgstr "" +"Видаляє імпорт :func:`itertools.ifilter`, :func:`itertools.izip` і :func:" +"`itertools.imap`. Імпорт :func:`itertools.ifilterfalse` також змінено на :" +"func:`itertools.filterfalse`." + +msgid "" +"Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, and :" +"func:`itertools.imap` to their built-in equivalents. :func:`itertools." +"ifilterfalse` is changed to :func:`itertools.filterfalse`." +msgstr "" +"Змінює використання :func:`itertools.ifilter`, :func:`itertools.izip` і :" +"func:`itertools.imap` на їхні вбудовані еквіваленти. :func:`itertools." +"ifilterfalse` змінено на :func:`itertools.filterfalse`." + +msgid "Renames :class:`long` to :class:`int`." +msgstr "Перейменовує :class:`long` на :class:`int`." + +msgid "" +"Wraps :func:`map` in a :class:`list` call. It also changes ``map(None, x)`` " +"to ``list(x)``. Using ``from future_builtins import map`` disables this " +"fixer." +msgstr "" +"Переносить :func:`map` у виклик :class:`list`. Він також змінює ``map(None, " +"x)`` на ``list(x)``. Використання ``from future_builtins import map`` " +"вимикає цей засіб виправлення." + +msgid "" +"Converts the old metaclass syntax (``__metaclass__ = Meta`` in the class " +"body) to the new (``class X(metaclass=Meta)``)." +msgstr "" +"Перетворює старий синтаксис метакласу (``__metaclass__ = Meta`` у тілі " +"класу) на новий (``class X(metaclass=Meta)``)." + +msgid "" +"Fixes old method attribute names. For example, ``meth.im_func`` is " +"converted to ``meth.__func__``." +msgstr "" +"Виправляє старі назви атрибутів методів. Наприклад, ``meth.im_func`` " +"перетворюється на ``meth.__func__``." + +msgid "Converts the old not-equal syntax, ``<>``, to ``!=``." +msgstr "Перетворює старий синтаксис нерівності, ``<>``, на ``!=``." + +msgid "" +"Converts the use of iterator's :meth:`~iterator.next` methods to the :func:" +"`next` function. It also renames :meth:`next` methods to :meth:`~iterator." +"__next__`." +msgstr "" +"Перетворює використання методів ітератора :meth:`~iterator.next` на функцію :" +"func:`next`. Він також перейменовує методи :meth:`next` на :meth:`~iterator." +"__next__`." + +msgid "" +"Renames definitions of methods called :meth:`__nonzero__` to :meth:`~object." +"__bool__`." +msgstr "" +"Перейменовує визначення методів під назвою :meth:`__nonzero__` на :meth:" +"`~object.__bool__`." + +msgid "Converts octal literals into the new syntax." +msgstr "Перетворює вісімкові літерали на новий синтаксис." + +msgid "" +"Converts calls to various functions in the :mod:`operator` module to other, " +"but equivalent, function calls. When needed, the appropriate ``import`` " +"statements are added, e.g. ``import collections.abc``. The following " +"mapping are made:" +msgstr "" +"Перетворює виклики різних функцій у модулі :mod:`operator` на інші, але " +"еквівалентні виклики функцій. За потреби додаються відповідні оператори " +"``import``, наприклад. ``import collections.abc``. Виконується наступне " +"відображення:" + +msgid "``operator.isCallable(obj)``" +msgstr "``operator.isCallable(obj)``" + +msgid "``callable(obj)``" +msgstr "``callable(obj)``" + +msgid "``operator.sequenceIncludes(obj)``" +msgstr "``operator.sequenceIncludes(obj)``" + +msgid "``operator.contains(obj)``" +msgstr "``operator.contains(obj)``" + +msgid "``operator.isSequenceType(obj)``" +msgstr "``operator.isSequenceType(obj)``" + +msgid "``isinstance(obj, collections.abc.Sequence)``" +msgstr "``isinstance(obj, collections.abc.Sequence)``" + +msgid "``operator.isMappingType(obj)``" +msgstr "``operator.isMappingType(obj)``" + +msgid "``isinstance(obj, collections.abc.Mapping)``" +msgstr "``isinstance(obj, collections.abc.Mapping)``" + +msgid "``operator.isNumberType(obj)``" +msgstr "``operator.isNumberType(obj)``" + +msgid "``isinstance(obj, numbers.Number)``" +msgstr "``isinstance(obj, numbers.Number)``" + +msgid "``operator.repeat(obj, n)``" +msgstr "``operator.repeat(obj, n)``" + +msgid "``operator.mul(obj, n)``" +msgstr "``operator.mul(obj, n)``" + +msgid "``operator.irepeat(obj, n)``" +msgstr "``operator.irepeat(obj, n)``" + +msgid "``operator.imul(obj, n)``" +msgstr "``operator.imul(obj, n)``" + +msgid "" +"Add extra parenthesis where they are required in list comprehensions. For " +"example, ``[x for x in 1, 2]`` becomes ``[x for x in (1, 2)]``." +msgstr "" +"Додайте додаткові дужки там, де вони потрібні для розуміння списку. " +"Наприклад, \"[x для x в 1, 2]\" перетворюється на \"[x для x в (1, 2)]\"." + +msgid "Converts the ``print`` statement to the :func:`print` function." +msgstr "Перетворює оператор ``print`` на функцію :func:`print`." + +msgid "" +"Converts ``raise E, V`` to ``raise E(V)``, and ``raise E, V, T`` to ``raise " +"E(V).with_traceback(T)``. If ``E`` is a tuple, the translation will be " +"incorrect because substituting tuples for exceptions has been removed in 3.0." +msgstr "" +"Перетворює \"raise E, V\" на \"raise E(V)\", а \"raise E, V, T\" на \"raise " +"E(V).with_traceback(T)\". Якщо ``E`` є кортежем, переклад буде неправильним, " +"оскільки заміну кортежів для винятків було видалено в 3.0." + +msgid "Converts :func:`raw_input` to :func:`input`." +msgstr "Перетворює :func:`raw_input` на :func:`input`." + +msgid "Handles the move of :func:`reduce` to :func:`functools.reduce`." +msgstr "Обробляє переміщення :func:`reduce` до :func:`functools.reduce`." + +msgid "Converts :func:`reload` to :func:`importlib.reload`." +msgstr "Перетворює :func:`reload` на :func:`importlib.reload`." + +msgid "Changes :data:`sys.maxint` to :data:`sys.maxsize`." +msgstr "Змінює :data:`sys.maxint` на :data:`sys.maxsize`." + +msgid "Replaces backtick repr with the :func:`repr` function." +msgstr "Замінює зворотну галочку repr на функцію :func:`repr`." + +msgid "" +"Replaces use of the :class:`set` constructor with set literals. This fixer " +"is optional." +msgstr "" +"Замінює використання конструктора :class:`set` літералами набору. Цей " +"закріплювач необов’язковий." + +msgid "Renames :exc:`StandardError` to :exc:`Exception`." +msgstr "Перейменовує :exc:`StandardError` на :exc:`Exception`." + +msgid "" +"Changes the deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:" +"`sys.exc_traceback` to use :func:`sys.exc_info`." +msgstr "" +"Змінює застарілі :data:`sys.exc_value`, :data:`sys.exc_type`, :data:`sys." +"exc_traceback` на використання :func:`sys.exc_info`." + +msgid "Fixes the API change in generator's :meth:`throw` method." +msgstr "Виправляє зміну API у методі :meth:`throw` генератора." + +msgid "" +"Removes implicit tuple parameter unpacking. This fixer inserts temporary " +"variables." +msgstr "" +"Видаляє неявне розпакування параметрів кортежу. Цей фіксатор вставляє " +"тимчасові змінні." + +msgid "" +"Fixes code broken from the removal of some members in the :mod:`types` " +"module." +msgstr "" +"Виправляє код, пошкоджений через видалення деяких членів у модулі :mod:" +"`types`." + +msgid "Renames :class:`unicode` to :class:`str`." +msgstr "Перейменовує :class:`unicode` на :class:`str`." + +msgid "" +"Handles the rename of :mod:`urllib` and :mod:`urllib2` to the :mod:`urllib` " +"package." +msgstr "" +"Обробляє перейменування :mod:`urllib` і :mod:`urllib2` на пакет :mod:" +"`urllib`." + +msgid "" +"Removes excess whitespace from comma separated items. This fixer is " +"optional." +msgstr "" +"Видаляє зайві пробіли з елементів, розділених комами. Цей закріплювач " +"необов’язковий." + +msgid "" +"Renames :func:`xrange` to :func:`range` and wraps existing :func:`range` " +"calls with :class:`list`." +msgstr "" +"Перейменовує :func:`xrange` на :func:`range` і обгортає існуючі виклики :" +"func:`range` :class:`list`." + +msgid "Changes ``for x in file.xreadlines()`` to ``for x in file``." +msgstr "Змінює ``for x in file.xreadlines()`` на ``for x in file``." + +msgid "" +"Wraps :func:`zip` usage in a :class:`list` call. This is disabled when " +"``from future_builtins import zip`` appears." +msgstr "" +"Обгортає використання :func:`zip` у виклику :class:`list`. Це вимкнено, коли " +"з’являється ``from future_builtins import zip``." + +msgid ":mod:`lib2to3` --- 2to3's library" +msgstr "" + +msgid "**Source code:** :source:`Lib/lib2to3/`" +msgstr "**Вихідний код:** :source:`Lib/lib2to3/`" + +msgid "" +"Python 3.9 switched to a PEG parser (see :pep:`617`) while lib2to3 is using " +"a less flexible LL(1) parser. Python 3.10 includes new language syntax that " +"is not parsable by lib2to3's LL(1) parser (see :pep:`634`). The ``lib2to3`` " +"module was marked pending for deprecation in Python 3.9 (raising :exc:" +"`PendingDeprecationWarning` on import) and fully deprecated in Python 3.11 " +"(raising :exc:`DeprecationWarning`). It will be removed from the standard " +"library in Python 3.13. Consider third-party alternatives such as `LibCST`_ " +"or `parso`_." +msgstr "" +"Python 3.9 перейшов на аналізатор PEG (див. :pep:`617`), тоді як lib2to3 " +"використовує менш гнучкий аналізатор LL(1). Python 3.10 включає новий мовний " +"синтаксис, який не піддається синтаксичному аналізу LL(1) lib2to3 (див. :pep:" +"`634`). Модуль ``lib2to3`` було позначено як очікуючий на припинення в " +"Python 3.9 (підвищення :exc:`PendingDeprecationWarning` під час імпорту) і " +"повністю застаріле в Python 3.11 (підвищення :exc:`DeprecationWarning`). " +"Його буде видалено зі стандартної бібліотеки в Python 3.13. Розгляньте " +"сторонні альтернативи, такі як `LibCST`_ або `parso`_." + +msgid "" +"The :mod:`lib2to3` API should be considered unstable and may change " +"drastically in the future." +msgstr "" +"API :mod:`lib2to3` слід вважати нестабільним і може кардинально змінитися в " +"майбутньому." diff --git a/library/__future__.po b/library/__future__.po new file mode 100644 index 000000000..a26058f7d --- /dev/null +++ b/library/__future__.po @@ -0,0 +1,259 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`__future__` --- Future statement definitions" +msgstr ":mod:`__future__` --- Визначення майбутніх операторів" + +msgid "**Source code:** :source:`Lib/__future__.py`" +msgstr "**Вихідний код:** :source:`Lib/__future__.py`" + +msgid ":mod:`__future__` is a real module, and serves three purposes:" +msgstr ":mod:`__future__` — це реальний модуль, який служить трьом цілям:" + +msgid "" +"To avoid confusing existing tools that analyze import statements and expect " +"to find the modules they're importing." +msgstr "" +"Щоб не плутати існуючі інструменти, які аналізують оператори імпорту та " +"очікують знайти модулі, які вони імпортують." + +msgid "" +"To ensure that :ref:`future statements ` run under releases prior to " +"2.1 at least yield runtime exceptions (the import of :mod:`__future__` will " +"fail, because there was no module of that name prior to 2.1)." +msgstr "" +"Щоб переконатися, що :ref:`future statements ` виконуються у " +"випусках до 2.1, принаймні створюватимуться винятки часу виконання (імпорт :" +"mod:`__future__` не вдасться, оскільки не було модуля з такою назвою до 2.1)." + +msgid "" +"To document when incompatible changes were introduced, and when they will be " +"--- or were --- made mandatory. This is a form of executable documentation, " +"and can be inspected programmatically via importing :mod:`__future__` and " +"examining its contents." +msgstr "" +"Щоб задокументувати, коли були внесені несумісні зміни, і коли вони будуть " +"--- або були --- зроблені обов'язковими. Це форма виконуваної документації, " +"яку можна перевірити програмним шляхом, імпортувавши :mod:`__future__` і " +"перевіривши його вміст." + +msgid "Each statement in :file:`__future__.py` is of the form::" +msgstr "Кожен оператор у :file:`__future__.py` має форму::" + +msgid "" +"where, normally, *OptionalRelease* is less than *MandatoryRelease*, and both " +"are 5-tuples of the same form as :data:`sys.version_info`::" +msgstr "" +"де, як правило, *OptionalRelease* менше ніж *MandatoryRelease*, і обидва є 5-" +"кортежами тієї самої форми, що й :data:`sys.version_info`::" + +msgid "" +"*OptionalRelease* records the first release in which the feature was " +"accepted." +msgstr "" +"*OptionalRelease* записує перший випуск, у якому цю функцію було прийнято." + +msgid "" +"In the case of a *MandatoryRelease* that has not yet occurred, " +"*MandatoryRelease* predicts the release in which the feature will become " +"part of the language." +msgstr "" +"У випадку *MandatoryRelease*, який ще не відбувся, *MandatoryRelease* " +"передбачає випуск, у якому ця функція стане частиною мови." + +msgid "" +"Else *MandatoryRelease* records when the feature became part of the " +"language; in releases at or after that, modules no longer need a future " +"statement to use the feature in question, but may continue to use such " +"imports." +msgstr "" +"Інакше *MandatoryRelease* записує, коли функція стала частиною мови; у " +"випусках на цьому або після цього модулям більше не потрібен майбутній " +"оператор для використання відповідної функції, але вони можуть продовжувати " +"використовувати такий імпорт." + +msgid "" +"*MandatoryRelease* may also be ``None``, meaning that a planned feature got " +"dropped." +msgstr "" +"*MandatoryRelease* також може бути ``None``, що означає, що заплановану " +"функцію було видалено." + +msgid "" +"Instances of class :class:`_Feature` have two corresponding methods, :meth:" +"`getOptionalRelease` and :meth:`getMandatoryRelease`." +msgstr "" +"Екземпляри класу :class:`_Feature` мають два відповідні методи, :meth:" +"`getOptionalRelease` і :meth:`getMandatoryRelease`." + +msgid "" +"*CompilerFlag* is the (bitfield) flag that should be passed in the fourth " +"argument to the built-in function :func:`compile` to enable the feature in " +"dynamically compiled code. This flag is stored in the :attr:`compiler_flag` " +"attribute on :class:`_Feature` instances." +msgstr "" +"*CompilerFlag* — це прапор (бітове поле), який слід передати в четвертому " +"аргументі вбудованої функції :func:`compile`, щоб увімкнути функцію в " +"динамічно скомпільованому коді. Цей прапорець зберігається в атрибуті :attr:" +"`compiler_flag` екземплярів :class:`_Feature`." + +msgid "" +"No feature description will ever be deleted from :mod:`__future__`. Since " +"its introduction in Python 2.1 the following features have found their way " +"into the language using this mechanism:" +msgstr "" +"Жоден опис функції ніколи не буде видалено з :mod:`__future__`. З моменту " +"появи в Python 2.1 наступні функції знайшли шлях до мови за допомогою цього " +"механізму:" + +msgid "feature" +msgstr "функція" + +msgid "optional in" +msgstr "факультативно в" + +msgid "mandatory in" +msgstr "обов'язкове в" + +msgid "effect" +msgstr "ефект" + +msgid "nested_scopes" +msgstr "вкладені_області" + +msgid "2.1.0b1" +msgstr "2.1.0b1" + +msgid "2.2" +msgstr "2.2" + +msgid ":pep:`227`: *Statically Nested Scopes*" +msgstr ":pep:`227`: *Статично вкладені області*" + +msgid "generators" +msgstr "генератори" + +msgid "2.2.0a1" +msgstr "2.2.0a1" + +msgid "2.3" +msgstr "2.3" + +msgid ":pep:`255`: *Simple Generators*" +msgstr ":pep:`255`: *Прості генератори*" + +msgid "division" +msgstr "поділ" + +msgid "2.2.0a2" +msgstr "2.2.0a2" + +msgid "3.0" +msgstr "3.0" + +msgid ":pep:`238`: *Changing the Division Operator*" +msgstr ":pep:`238`: *Зміна оператора ділення*" + +msgid "absolute_import" +msgstr "абсолютний_імпорт" + +msgid "2.5.0a1" +msgstr "2.5.0a1" + +msgid ":pep:`328`: *Imports: Multi-Line and Absolute/Relative*" +msgstr ":pep:`328`: *Імпорт: багаторядковий і абсолютний/відносний*" + +msgid "with_statement" +msgstr "with_statement" + +msgid "2.6" +msgstr "2.6" + +msgid ":pep:`343`: *The \"with\" Statement*" +msgstr ":pep:`343`: *Заява \"з\"*" + +msgid "print_function" +msgstr "функція друку" + +msgid "2.6.0a2" +msgstr "2.6.0a2" + +msgid ":pep:`3105`: *Make print a function*" +msgstr ":pep:`3105`: *Зробити функцію друку*" + +msgid "unicode_literals" +msgstr "unicode_literals" + +msgid ":pep:`3112`: *Bytes literals in Python 3000*" +msgstr ":pep:`3112`: *Байтові літерали в Python 3000*" + +msgid "generator_stop" +msgstr "generator_stop" + +msgid "3.5.0b1" +msgstr "3.5.0b1" + +msgid "3.7" +msgstr "3.7" + +msgid ":pep:`479`: *StopIteration handling inside generators*" +msgstr ":pep:`479`: *Обробка StopIteration всередині генераторів*" + +msgid "annotations" +msgstr "анотації" + +msgid "3.7.0b1" +msgstr "3.7.0b1" + +msgid "TBD [1]_" +msgstr "Уточнюється [1]_" + +msgid ":pep:`563`: *Postponed evaluation of annotations*" +msgstr ":pep:`563`: *Відкладена оцінка анотацій*" + +msgid "" +"``from __future__ import annotations`` was previously scheduled to become " +"mandatory in Python 3.10, but the Python Steering Council twice decided to " +"delay the change (`announcement for Python 3.10 `__; `announcement for Python 3.11 `__). No " +"final decision has been made yet. See also :pep:`563` and :pep:`649`." +msgstr "" +"``from __future__ import annotations`` раніше було заплановано, щоб стати " +"обов’язковим у Python 3.10, але Керівна рада Python двічі вирішила відкласти " +"цю зміну (`оголошення для Python 3.10 `__; " +"`оголошення для Python 3.11 `__). Остаточне " +"рішення ще не прийнято. Дивіться також :pep:`563` і :pep:`649`." + +msgid ":ref:`future`" +msgstr ":ref:`future`" + +msgid "How the compiler treats future imports." +msgstr "Як компілятор обробляє майбутні імпорти." diff --git a/library/__main__.po b/library/__main__.po new file mode 100644 index 000000000..174c923f7 --- /dev/null +++ b/library/__main__.po @@ -0,0 +1,447 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`__main__` --- Top-level code environment" +msgstr ":mod:`__main__` --- Кодове середовище верхнього рівня" + +msgid "" +"In Python, the special name ``__main__`` is used for two important " +"constructs:" +msgstr "" +"У Python спеціальна назва ``__main__`` використовується для двох важливих " +"конструкцій:" + +msgid "" +"the name of the top-level environment of the program, which can be checked " +"using the ``__name__ == '__main__'`` expression; and" +msgstr "" +"ім'я середовища верхнього рівня програми, яке можна перевірити за допомогою " +"виразу ``__name__ == '__main__'``; і" + +msgid "the ``__main__.py`` file in Python packages." +msgstr "файл ``__main__.py`` в пакетах Python." + +msgid "" +"Both of these mechanisms are related to Python modules; how users interact " +"with them and how they interact with each other. They are explained in " +"detail below. If you're new to Python modules, see the tutorial section :" +"ref:`tut-modules` for an introduction." +msgstr "" +"Обидва ці механізми пов’язані з модулями Python; як користувачі взаємодіють " +"з ними та як вони взаємодіють один з одним. Вони детально пояснюються нижче. " +"Якщо ви новачок у роботі з модулями Python, ознайомтеся з розділом " +"посібника :ref:`tut-modules`." + +msgid "``__name__ == '__main__'``" +msgstr "``__name__ == '__main__''``" + +msgid "" +"When a Python module or package is imported, ``__name__`` is set to the " +"module's name. Usually, this is the name of the Python file itself without " +"the ``.py`` extension::" +msgstr "" +"Коли імпортується модуль або пакет Python, ``__name__`` встановлюється на " +"ім’я модуля. Зазвичай це назва самого файлу Python без розширення ``.py``::" + +msgid "" +"If the file is part of a package, ``__name__`` will also include the parent " +"package's path::" +msgstr "" +"Якщо файл є частиною пакета, ``__name__`` також включатиме шлях до " +"батьківського пакета::" + +msgid "" +"However, if the module is executed in the top-level code environment, its " +"``__name__`` is set to the string ``'__main__'``." +msgstr "" +"Однак, якщо модуль виконується в кодовому середовищі верхнього рівня, його " +"``__name__`` встановлюється на рядок ``'__main__'``." + +msgid "What is the \"top-level code environment\"?" +msgstr "Що таке \"середовище коду верхнього рівня\"?" + +msgid "" +"``__main__`` is the name of the environment where top-level code is run. " +"\"Top-level code\" is the first user-specified Python module that starts " +"running. It's \"top-level\" because it imports all other modules that the " +"program needs. Sometimes \"top-level code\" is called an *entry point* to " +"the application." +msgstr "" +"``__main__`` — це назва середовища, де виконується код верхнього рівня. " +"\"Код верхнього рівня\" — це перший зазначений користувачем модуль Python, " +"який запускається. Це \"верхній рівень\", тому що він імпортує всі інші " +"модулі, які потрібні програмі. Іноді \"код верхнього рівня\" називають " +"*точкою входу* до програми." + +msgid "The top-level code environment can be:" +msgstr "Кодове середовище верхнього рівня може бути:" + +msgid "the scope of an interactive prompt::" +msgstr "область дії інтерактивної підказки:" + +msgid "the Python module passed to the Python interpreter as a file argument:" +msgstr "модуль Python передається інтерпретатору Python як аргумент файлу:" + +msgid "" +"the Python module or package passed to the Python interpreter with the :" +"option:`-m` argument:" +msgstr "" +"модуль або пакет Python передається інтерпретатору Python з аргументом :" +"option:`-m`:" + +msgid "Python code read by the Python interpreter from standard input:" +msgstr "" +"Код Python, який читається інтерпретатором Python зі стандартного введення:" + +msgid "" +"Python code passed to the Python interpreter with the :option:`-c` argument:" +msgstr "" +"Код Python передається інтерпретатору Python з аргументом :option:`-c`:" + +msgid "" +"In each of these situations, the top-level module's ``__name__`` is set to " +"``'__main__'``." +msgstr "" +"У кожній із цих ситуацій ``__name__`` модуля верхнього рівня встановлено на " +"``'__main__'``." + +msgid "" +"As a result, a module can discover whether or not it is running in the top-" +"level environment by checking its own ``__name__``, which allows a common " +"idiom for conditionally executing code when the module is not initialized " +"from an import statement::" +msgstr "" +"Як наслідок, модуль може виявити, чи працює він у середовищі верхнього " +"рівня, перевіряючи власне ``__name__``, що дозволяє загальну ідіому для " +"умовного виконання коду, коли модуль не ініціалізовано оператором імпорту: :" + +msgid "" +"For a more detailed look at how ``__name__`` is set in all situations, see " +"the tutorial section :ref:`tut-modules`." +msgstr "" +"Для більш детального ознайомлення з тим, як ``__name__`` встановлюється в " +"усіх ситуаціях, перегляньте розділ підручника :ref:`tut-modules`." + +msgid "Idiomatic Usage" +msgstr "Ідіоматичне використання" + +msgid "" +"Some modules contain code that is intended for script use only, like parsing " +"command-line arguments or fetching data from standard input. If a module " +"like this was imported from a different module, for example to unit test it, " +"the script code would unintentionally execute as well." +msgstr "" +"Деякі модулі містять код, призначений лише для використання сценарієм, як-от " +"аналіз аргументів командного рядка або отримання даних зі стандартного " +"введення. Якщо подібний модуль було імпортовано з іншого модуля, наприклад, " +"для модульного тестування, код сценарію також буде ненавмисно виконано." + +msgid "" +"This is where using the ``if __name__ == '__main__'`` code block comes in " +"handy. Code within this block won't run unless the module is executed in the " +"top-level environment." +msgstr "" +"Тут стане в нагоді використання блоку коду ``if __name__ == '__main__''``. " +"Код у цьому блоці не працюватиме, якщо модуль не буде виконано в середовищі " +"верхнього рівня." + +msgid "" +"Putting as few statements as possible in the block below ``if __name___ == " +"'__main__'`` can improve code clarity and correctness. Most often, a " +"function named ``main`` encapsulates the program's primary behavior::" +msgstr "" +"Розміщення якомога меншої кількості операторів у блоці нижче ``if __name___ " +"== '__main__'`` може покращити ясність і правильність коду. Найчастіше " +"функція з назвою ``main`` інкапсулює основну поведінку програми:" + +msgid "" +"Note that if the module didn't encapsulate code inside the ``main`` function " +"but instead put it directly within the ``if __name__ == '__main__'`` block, " +"the ``phrase`` variable would be global to the entire module. This is error-" +"prone as other functions within the module could be unintentionally using " +"the global variable instead of a local name. A ``main`` function solves " +"this problem." +msgstr "" +"Зауважте, що якби модуль не інкапсулював код у функцію ``main``, а поміщав " +"його безпосередньо в блок ``if __name__ == '__main__'``, змінна ``phrase`` " +"буде глобальною для весь модуль. Це загрожує помилками, оскільки інші " +"функції в модулі можуть ненавмисно використовувати глобальну змінну замість " +"локального імені. Функція ``main`` вирішує цю проблему." + +msgid "" +"Using a ``main`` function has the added benefit of the ``echo`` function " +"itself being isolated and importable elsewhere. When ``echo.py`` is " +"imported, the ``echo`` and ``main`` functions will be defined, but neither " +"of them will be called, because ``__name__ != '__main__'``." +msgstr "" +"Використання функції ``main`` має додаткову перевагу в тому, що сама функція " +"``echo`` є ізольованою та її можна імпортувати в інше місце. Коли " +"імпортується ``echo.py``, функції ``echo`` і ``main`` будуть визначені, але " +"жодна з них не буде викликана, оскільки ``__name__ != '__main__'``." + +msgid "Packaging Considerations" +msgstr "Зауваження щодо упаковки" + +msgid "" +"``main`` functions are often used to create command-line tools by specifying " +"them as entry points for console scripts. When this is done, `pip `_ inserts the function call into a template script, where the " +"return value of ``main`` is passed into :func:`sys.exit`. For example::" +msgstr "" +"Функції ``main`` часто використовуються для створення інструментів " +"командного рядка, вказуючи їх як точки входу для сценаріїв консолі. Коли це " +"зроблено, `pip `_ вставляє виклик функції в сценарій " +"шаблону, де повернуте значення ``main`` передається в :func:`sys.exit`. " +"Наприклад::" + +msgid "" +"Since the call to ``main`` is wrapped in :func:`sys.exit`, the expectation " +"is that your function will return some value acceptable as an input to :func:" +"`sys.exit`; typically, an integer or ``None`` (which is implicitly returned " +"if your function does not have a return statement)." +msgstr "" +"Оскільки виклик ``main`` загорнутий у :func:`sys.exit`, очікується, що ваша " +"функція поверне деяке значення, прийнятне як вхідні дані для :func:`sys." +"exit`; як правило, ціле число або ``None`` (що неявно повертається, якщо " +"ваша функція не має оператора return)." + +msgid "" +"By proactively following this convention ourselves, our module will have the " +"same behavior when run directly (i.e. ``python3 echo.py``) as it will have " +"if we later package it as a console script entry-point in a pip-installable " +"package." +msgstr "" +"Завчасно дотримуючись цієї угоди, наш модуль матиме таку саму поведінку під " +"час безпосереднього запуску (тобто ``python3 echo.py``), як і якщо ми " +"пізніше запакуємо його як точку входу сценарію консолі в пакунок, який можна " +"встановити за допомогою pip ." + +msgid "" +"In particular, be careful about returning strings from your ``main`` " +"function. :func:`sys.exit` will interpret a string argument as a failure " +"message, so your program will have an exit code of ``1``, indicating " +"failure, and the string will be written to :data:`sys.stderr`. The ``echo." +"py`` example from earlier exemplifies using the ``sys.exit(main())`` " +"convention." +msgstr "" +"Зокрема, будьте обережні щодо повернення рядків з вашої функції ``main``. :" +"func:`sys.exit` інтерпретує рядковий аргумент як повідомлення про помилку, " +"тому ваша програма матиме код виходу ``1``, що вказує на помилку, і рядок " +"буде записано в :data:`sys.stderr`. Приклад ``echo.py`` з попереднього " +"прикладу використання угоди ``sys.exit(main())``." + +msgid "" +"`Python Packaging User Guide `_ contains a " +"collection of tutorials and references on how to distribute and install " +"Python packages with modern tools." +msgstr "" +"`Посібник користувача з пакування Python `_ " +"містить колекцію посібників і довідок про те, як розповсюджувати та " +"встановлювати пакунки Python за допомогою сучасних інструментів." + +msgid "``__main__.py`` in Python Packages" +msgstr "``__main__.py`` в пакетах Python" + +msgid "" +"If you are not familiar with Python packages, see section :ref:`tut-" +"packages` of the tutorial. Most commonly, the ``__main__.py`` file is used " +"to provide a command-line interface for a package. Consider the following " +"hypothetical package, \"bandclass\":" +msgstr "" +"Якщо ви не знайомі з пакетами Python, перегляньте розділ :ref:`tut-packages` " +"підручника. Найчастіше файл ``__main__.py`` використовується для " +"забезпечення інтерфейсу командного рядка для пакета. Розглянемо наступний " +"гіпотетичний пакет, \"bandclass\":" + +msgid "" +"``__main__.py`` will be executed when the package itself is invoked directly " +"from the command line using the :option:`-m` flag. For example:" +msgstr "" +"``__main__.py`` буде виконано, коли сам пакет викликається безпосередньо з " +"командного рядка за допомогою прапорця :option:`-m`. Наприклад:" + +msgid "" +"This command will cause ``__main__.py`` to run. How you utilize this " +"mechanism will depend on the nature of the package you are writing, but in " +"this hypothetical case, it might make sense to allow the teacher to search " +"for students::" +msgstr "" +"Ця команда призведе до запуску ``__main__.py``. Те, як ви використовуєте цей " +"механізм, залежатиме від характеру пакету, який ви пишете, але в цьому " +"гіпотетичному випадку може мати сенс дозволити вчителю шукати учнів:" + +msgid "" +"Note that ``from .student import search_students`` is an example of a " +"relative import. This import style can be used when referencing modules " +"within a package. For more details, see :ref:`intra-package-references` in " +"the :ref:`tut-modules` section of the tutorial." +msgstr "" +"Зауважте, що ``from .student import search_students`` є прикладом відносного " +"імпорту. Цей стиль імпорту можна використовувати під час посилань на модулі " +"в пакеті. Для отримання додаткової інформації перегляньте :ref:`intra-" +"package-references` у розділі :ref:`tut-modules` підручника." + +msgid "" +"The contents of ``__main__.py`` typically isn't fenced with ``if __name__ == " +"'__main__'`` blocks. Instead, those files are kept short, functions to " +"execute from other modules. Those other modules can then be easily unit-" +"tested and are properly reusable." +msgstr "" +"Вміст ``__main__.py`` зазвичай не обмежується блоками ``if __name__ == " +"'__main__''``. Натомість ці файли зберігаються короткими, функції " +"виконуються з інших модулів. Ці інші модулі потім можна легко протестувати " +"на модулі та належним чином повторно використовувати." + +msgid "" +"If used, an ``if __name__ == '__main__'`` block will still work as expected " +"for a ``__main__.py`` file within a package, because its ``__name__`` " +"attribute will include the package's path if imported::" +msgstr "" +"Якщо використовується, блок ``if __name__ == '__main__'`` все одно " +"працюватиме належним чином для файлу ``__main__.py`` у пакеті, тому що його " +"атрибут ``__name__`` включатиме шлях до пакета, якщо імпортовано ::" + +msgid "" +"This won't work for ``__main__.py`` files in the root directory of a .zip " +"file though. Hence, for consistency, minimal ``__main__.py`` like the :mod:" +"`venv` one mentioned below are preferred." +msgstr "" +"Однак це не працюватиме для файлів ``__main__.py`` у кореневому каталозі " +"файлу .zip. Тому для узгодженості бажано використовувати мінімальний " +"``__main__.py``, наприклад :mod:`venv`, згаданий нижче." + +msgid "" +"See :mod:`venv` for an example of a package with a minimal ``__main__.py`` " +"in the standard library. It doesn't contain a ``if __name__ == '__main__'`` " +"block. You can invoke it with ``python3 -m venv [directory]``." +msgstr "" +"Перегляньте :mod:`venv` для прикладу пакета з мінімальним ``__main__.py`` у " +"стандартній бібліотеці. Він не містить блоку ``if __name__ == '__main__''``. " +"Ви можете викликати його за допомогою ``python3 -m venv [каталог]``." + +msgid "" +"See :mod:`runpy` for more details on the :option:`-m` flag to the " +"interpreter executable." +msgstr "" +"Перегляньте :mod:`runpy` для отримання додаткової інформації про прапорець :" +"option:`-m` для виконуваного файлу інтерпретатора." + +msgid "" +"See :mod:`zipapp` for how to run applications packaged as *.zip* files. In " +"this case Python looks for a ``__main__.py`` file in the root directory of " +"the archive." +msgstr "" +"Перегляньте :mod:`zipapp`, щоб дізнатися, як запускати програми, упаковані у " +"файли *.zip*. У цьому випадку Python шукає файл ``__main__.py`` в кореневому " +"каталозі архіву." + +msgid "``import __main__``" +msgstr "``імпорт __main__``" + +msgid "" +"Regardless of which module a Python program was started with, other modules " +"running within that same program can import the top-level environment's " +"scope (:term:`namespace`) by importing the ``__main__`` module. This " +"doesn't import a ``__main__.py`` file but rather whichever module that " +"received the special name ``'__main__'``." +msgstr "" +"Незалежно від того, з якого модуля була запущена програма Python, інші " +"модулі, що працюють у цій же програмі, можуть імпортувати область верхнього " +"рівня середовища (:term:`namespace`), імпортуючи модуль ``__main__``. Це " +"імпортує не файл ``__main__.py``, а будь-який модуль, який отримав " +"спеціальну назву ``'__main__'``." + +msgid "Here is an example module that consumes the ``__main__`` namespace::" +msgstr "Ось приклад модуля, який використовує простір імен ``__main__``::" + +msgid "Example usage of this module could be as follows::" +msgstr "Приклад використання цього модуля може бути наступним:" + +msgid "Now, if we started our program, the result would look like this:" +msgstr "Тепер, якби ми запустили нашу програму, результат виглядав би так:" + +msgid "" +"The exit code of the program would be 1, indicating an error. Uncommenting " +"the line with ``my_name = \"Dinsdale\"`` fixes the program and now it exits " +"with status code 0, indicating success:" +msgstr "" +"Код виходу програми буде 1, що вказуватиме на помилку. Розкоментування рядка " +"``my_name = \"Dinsdale\"`` виправляє програму, і тепер вона завершує роботу " +"з кодом статусу 0, що вказує на успіх:" + +msgid "" +"Note that importing ``__main__`` doesn't cause any issues with " +"unintentionally running top-level code meant for script use which is put in " +"the ``if __name__ == \"__main__\"`` block of the ``start`` module. Why does " +"this work?" +msgstr "" +"Зауважте, що імпорт ``__main__`` не викликає жодних проблем із ненавмисним " +"запуском коду верхнього рівня, призначеного для використання сценарію, який " +"розміщено в ``if __name__ == \"__main__\"`` блоку ``start`` модуля . Чому це " +"працює?" + +msgid "" +"Python inserts an empty ``__main__`` module in :attr:`sys.modules` at " +"interpreter startup, and populates it by running top-level code. In our " +"example this is the ``start`` module which runs line by line and imports " +"``namely``. In turn, ``namely`` imports ``__main__`` (which is really " +"``start``). That's an import cycle! Fortunately, since the partially " +"populated ``__main__`` module is present in :attr:`sys.modules`, Python " +"passes that to ``namely``. See :ref:`Special considerations for __main__ " +"` in the import system's reference for details on how " +"this works." +msgstr "" +"Python вставляє порожній модуль ``__main__`` в :attr:`sys.modules` під час " +"запуску інтерпретатора та заповнює його, запускаючи код верхнього рівня. У " +"нашому прикладі це модуль ``start``, який виконується рядок за рядком і " +"імпортує ``namely``. У свою чергу, ``namely`` імпортує ``__main__`` (що " +"насправді є ``початком``). Це цикл імпорту! На щастя, оскільки частково " +"заповнений модуль ``__main__`` присутній у :attr:`sys.modules`, Python " +"передає його в ``namely``. Перегляньте :ref:`Особливі зауваження для " +"__main__ ` у довіднику системи імпорту, щоб дізнатися " +"більше про те, як це працює." + +msgid "" +"The Python REPL is another example of a \"top-level environment\", so " +"anything defined in the REPL becomes part of the ``__main__`` scope::" +msgstr "" +"Python REPL є ще одним прикладом \"середовища верхнього рівня\", тому все, " +"що визначено в REPL, стає частиною області ``__main__``::" + +msgid "" +"Note that in this case the ``__main__`` scope doesn't contain a ``__file__`` " +"attribute as it's interactive." +msgstr "" +"Зауважте, що в цьому випадку область ``__main__`` не містить атрибут " +"``__file__``, оскільки вона інтерактивна." + +msgid "" +"The ``__main__`` scope is used in the implementation of :mod:`pdb` and :mod:" +"`rlcompleter`." +msgstr "" +"Область ``__main__`` використовується в реалізації :mod:`pdb` і :mod:" +"`rlcompleter`." diff --git a/library/_thread.po b/library/_thread.po new file mode 100644 index 000000000..c4f4b7510 --- /dev/null +++ b/library/_thread.po @@ -0,0 +1,332 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`_thread` --- Low-level threading API" +msgstr ":mod:`_thread` --- API потоків низького рівня" + +msgid "" +"This module provides low-level primitives for working with multiple threads " +"(also called :dfn:`light-weight processes` or :dfn:`tasks`) --- multiple " +"threads of control sharing their global data space. For synchronization, " +"simple locks (also called :dfn:`mutexes` or :dfn:`binary semaphores`) are " +"provided. The :mod:`threading` module provides an easier to use and higher-" +"level threading API built on top of this module." +msgstr "" +"Цей модуль надає низькорівневі примітиви для роботи з кількома потоками " +"(також званими :dfn:`light-weight processes` або :dfn:`tasks`) --- кілька " +"потоків управління спільно використовують свій глобальний простір даних. Для " +"синхронізації передбачені прості блокування (також звані :dfn:`mutexes` або :" +"dfn:`binary semaphores`). Модуль :mod:`threading` надає більш простий у " +"використанні та високорівневий потоковий API, побудований на основі цього " +"модуля." + +msgid "This module used to be optional, it is now always available." +msgstr "Раніше цей модуль був необов’язковим, тепер він доступний завжди." + +msgid "This module defines the following constants and functions:" +msgstr "Цей модуль визначає такі константи та функції:" + +msgid "Raised on thread-specific errors." +msgstr "Виникає через помилки потоку." + +msgid "This is now a synonym of the built-in :exc:`RuntimeError`." +msgstr "Тепер це синонім вбудованої :exc:`RuntimeError`." + +msgid "This is the type of lock objects." +msgstr "Це тип об'єктів блокування." + +msgid "" +"Start a new thread and return its identifier. The thread executes the " +"function *function* with the argument list *args* (which must be a tuple). " +"The optional *kwargs* argument specifies a dictionary of keyword arguments." +msgstr "" +"Створіть новий потік і поверніть його ідентифікатор. Потік виконує функцію " +"*function* зі списком аргументів *args* (який має бути кортежем). " +"Необов'язковий аргумент *kwargs* визначає словник ключових аргументів." + +msgid "When the function returns, the thread silently exits." +msgstr "Коли функція повертається, потік мовчки виходить." + +msgid "" +"When the function terminates with an unhandled exception, :func:`sys." +"unraisablehook` is called to handle the exception. The *object* attribute of " +"the hook argument is *function*. By default, a stack trace is printed and " +"then the thread exits (but other threads continue to run)." +msgstr "" +"Коли функція завершується з необробленим винятком, :func:`sys." +"unraisablehook` викликається для обробки винятку. Атрибутом *object* " +"аргументу hook є *function*. За замовчуванням трасування стека друкується, а " +"потім потік завершується (але інші потоки продовжують працювати)." + +msgid "" +"When the function raises a :exc:`SystemExit` exception, it is silently " +"ignored." +msgstr "" +"Коли функція викликає виняткову ситуацію :exc:`SystemExit`, вона мовчки " +"ігнорується." + +msgid ":func:`sys.unraisablehook` is now used to handle unhandled exceptions." +msgstr "" +":func:`sys.unraisablehook` тепер використовується для обробки необроблених " +"винятків." + +msgid "" +"Simulate the effect of a signal arriving in the main thread. A thread can " +"use this function to interrupt the main thread, though there is no guarantee " +"that the interruption will happen immediately." +msgstr "" +"Імітуйте ефект сигналу, що надходить у головний потік. Потік може " +"використовувати цю функцію для переривання основного потоку, хоча немає " +"гарантії, що переривання відбудеться негайно." + +msgid "" +"If given, *signum* is the number of the signal to simulate. If *signum* is " +"not given, :data:`signal.SIGINT` is simulated." +msgstr "" +"Якщо задано, *signum* є номером сигналу для імітації. Якщо *signum* не " +"вказано, симулюється :data:`signal.SIGINT`." + +msgid "" +"If the given signal isn't handled by Python (it was set to :data:`signal." +"SIG_DFL` or :data:`signal.SIG_IGN`), this function does nothing." +msgstr "" +"Якщо заданий сигнал не обробляється Python (для нього встановлено :data:" +"`signal.SIG_DFL` або :data:`signal.SIG_IGN`), ця функція нічого не робить." + +msgid "The *signum* argument is added to customize the signal number." +msgstr "Аргумент *signum* додається для налаштування номера сигналу." + +msgid "" +"This does not emit the corresponding signal but schedules a call to the " +"associated handler (if it exists). If you want to truly emit the signal, " +"use :func:`signal.raise_signal`." +msgstr "" +"Це не випромінює відповідний сигнал, але планує виклик пов’язаного обробника " +"(якщо він існує). Якщо ви хочете справді випромінювати сигнал, " +"використовуйте :func:`signal.raise_signal`." + +msgid "" +"Raise the :exc:`SystemExit` exception. When not caught, this will cause the " +"thread to exit silently." +msgstr "" +"Підніміть виняток :exc:`SystemExit`. Якщо не буде спіймано, це призведе до " +"тихого виходу потоку." + +msgid "" +"Return a new lock object. Methods of locks are described below. The lock " +"is initially unlocked." +msgstr "" +"Повернути новий об’єкт блокування. Способи блокування описані нижче. Замок " +"спочатку розблокований." + +msgid "" +"Return the 'thread identifier' of the current thread. This is a nonzero " +"integer. Its value has no direct meaning; it is intended as a magic cookie " +"to be used e.g. to index a dictionary of thread-specific data. Thread " +"identifiers may be recycled when a thread exits and another thread is " +"created." +msgstr "" +"Повертає \"ідентифікатор потоку\" поточного потоку. Це ненульове ціле число. " +"Його значення не має прямого значення; воно призначене як магічне печиво, " +"яке можна використовувати, наприклад. щоб індексувати словник даних, що " +"стосуються потоку. Ідентифікатори потоку можуть бути перероблені, коли потік " +"завершується та створюється інший." + +msgid "" +"Return the native integral Thread ID of the current thread assigned by the " +"kernel. This is a non-negative integer. Its value may be used to uniquely " +"identify this particular thread system-wide (until the thread terminates, " +"after which the value may be recycled by the OS)." +msgstr "" +"Повертає власний інтегральний ідентифікатор потоку поточного потоку, " +"призначеного ядром. Це невід’ємне ціле число. Його значення може " +"використовуватися для однозначної ідентифікації цього конкретного потоку в " +"системі (до завершення роботи потоку, після чого значення може бути повторно " +"використано ОС)." + +msgid "" +":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " +"NetBSD, AIX." +msgstr "" +":ref:`Наявність `: Windows, FreeBSD, Linux, macOS, OpenBSD, " +"NetBSD, AIX." + +msgid "" +"Return the thread stack size used when creating new threads. The optional " +"*size* argument specifies the stack size to be used for subsequently created " +"threads, and must be 0 (use platform or configured default) or a positive " +"integer value of at least 32,768 (32 KiB). If *size* is not specified, 0 is " +"used. If changing the thread stack size is unsupported, a :exc:" +"`RuntimeError` is raised. If the specified stack size is invalid, a :exc:" +"`ValueError` is raised and the stack size is unmodified. 32 KiB is " +"currently the minimum supported stack size value to guarantee sufficient " +"stack space for the interpreter itself. Note that some platforms may have " +"particular restrictions on values for the stack size, such as requiring a " +"minimum stack size > 32 KiB or requiring allocation in multiples of the " +"system memory page size - platform documentation should be referred to for " +"more information (4 KiB pages are common; using multiples of 4096 for the " +"stack size is the suggested approach in the absence of more specific " +"information)." +msgstr "" +"Повертає розмір стека потоків, який використовувався під час створення нових " +"потоків. Необов’язковий аргумент *size* визначає розмір стека, який буде " +"використовуватися для згодом створених потоків, і має дорівнювати 0 " +"(використовувати платформу або налаштоване за замовчуванням) або додатне " +"ціле значення принаймні 32 768 (32 КіБ). Якщо *size* не вказано, " +"використовується 0. Якщо зміна розміру стека потоку не підтримується, " +"виникає :exc:`RuntimeError`. Якщо вказаний розмір стека недійсний, виникає " +"помилка :exc:`ValueError` і розмір стека не змінюється. 32 КіБ наразі є " +"мінімальним підтримуваним значенням розміру стеку, щоб гарантувати достатній " +"простір стеку для самого інтерпретатора. Зауважте, що деякі платформи можуть " +"мати певні обмеження щодо значень розміру стека, як-от вимагати мінімальний " +"розмір стека > 32 КБ або вимагати виділення кратного розміру сторінки " +"системної пам’яті – для отримання додаткової інформації слід звернутися до " +"документації платформи (сторінки 4 КБ є поширеними; використання кратних " +"4096 для розміру стека є запропонованим підходом за відсутності більш " +"конкретної інформації)." + +msgid ":ref:`Availability `: Windows, pthreads." +msgstr "" + +msgid "Unix platforms with POSIX threads support." +msgstr "" + +msgid "" +"The maximum value allowed for the *timeout* parameter of :meth:`Lock." +"acquire`. Specifying a timeout greater than this value will raise an :exc:" +"`OverflowError`." +msgstr "" +"Максимальне дозволене значення для параметра *timeout* для :meth:`Lock." +"acquire`. Якщо вказати час очікування, більший за це значення, виникне :exc:" +"`OverflowError`." + +msgid "Lock objects have the following methods:" +msgstr "Об’єкти блокування мають такі методи:" + +msgid "" +"Without any optional argument, this method acquires the lock " +"unconditionally, if necessary waiting until it is released by another thread " +"(only one thread at a time can acquire a lock --- that's their reason for " +"existence)." +msgstr "" +"Без будь-яких необов’язкових аргументів цей метод отримує блокування " +"безумовно, за необхідності чекаючи, поки його не буде звільнено іншим " +"потоком (лише один потік за раз може отримати блокування --- це причина " +"їхнього існування)." + +msgid "" +"If the *blocking* argument is present, the action depends on its value: if " +"it is False, the lock is only acquired if it can be acquired immediately " +"without waiting, while if it is True, the lock is acquired unconditionally " +"as above." +msgstr "" + +msgid "" +"If the floating-point *timeout* argument is present and positive, it " +"specifies the maximum wait time in seconds before returning. A negative " +"*timeout* argument specifies an unbounded wait. You cannot specify a " +"*timeout* if *blocking* is False." +msgstr "" + +msgid "" +"The return value is ``True`` if the lock is acquired successfully, ``False`` " +"if not." +msgstr "" +"Поверненим значенням є ``True``, якщо блокування отримано успішно, " +"``False``, якщо ні." + +msgid "The *timeout* parameter is new." +msgstr "Параметр *timeout* є новим." + +msgid "Lock acquires can now be interrupted by signals on POSIX." +msgstr "Отримання блокування тепер може бути перервано сигналами на POSIX." + +msgid "" +"Releases the lock. The lock must have been acquired earlier, but not " +"necessarily by the same thread." +msgstr "" +"Звільняє замок. Замок повинен бути придбаний раніше, але не обов'язково за " +"тією ж ниткою." + +msgid "" +"Return the status of the lock: ``True`` if it has been acquired by some " +"thread, ``False`` if not." +msgstr "" +"Повертає статус блокування: ``True``, якщо його було отримано якимось " +"потоком, ``False``, якщо ні." + +msgid "" +"In addition to these methods, lock objects can also be used via the :keyword:" +"`with` statement, e.g.::" +msgstr "" +"Окрім цих методів, об’єкти блокування також можна використовувати за " +"допомогою оператора :keyword:`with`, наприклад::" + +msgid "**Caveats:**" +msgstr "**Застереження:**" + +msgid "" +"Threads interact strangely with interrupts: the :exc:`KeyboardInterrupt` " +"exception will be received by an arbitrary thread. (When the :mod:`signal` " +"module is available, interrupts always go to the main thread.)" +msgstr "" +"Потоки дивно взаємодіють із перериваннями: виняткова ситуація :exc:" +"`KeyboardInterrupt` буде отримана довільним потоком. (Коли доступний модуль :" +"mod:`signal`, переривання завжди спрямовуються до основного потоку.)" + +msgid "" +"Calling :func:`sys.exit` or raising the :exc:`SystemExit` exception is " +"equivalent to calling :func:`_thread.exit`." +msgstr "" +"Виклик :func:`sys.exit` або підвищення винятку :exc:`SystemExit` " +"еквівалентний виклику :func:`_thread.exit`." + +msgid "" +"It is not possible to interrupt the :meth:`acquire` method on a lock --- " +"the :exc:`KeyboardInterrupt` exception will happen after the lock has been " +"acquired." +msgstr "" +"Неможливо перервати метод :meth:`acquire` під час блокування --- виняток :" +"exc:`KeyboardInterrupt` станеться після отримання блокування." + +msgid "" +"When the main thread exits, it is system defined whether the other threads " +"survive. On most systems, they are killed without executing :keyword:" +"`try` ... :keyword:`finally` clauses or executing object destructors." +msgstr "" +"Коли основний потік виходить, система визначає, чи виживуть інші потоки. У " +"більшості систем вони припиняються без виконання пропозицій :keyword:" +"`try` ... :keyword:`finally` або виконання деструкторів об’єктів." + +msgid "" +"When the main thread exits, it does not do any of its usual cleanup (except " +"that :keyword:`try` ... :keyword:`finally` clauses are honored), and the " +"standard I/O files are not flushed." +msgstr "" +"Коли основний потік завершується, він не виконує жодного звичайного очищення " +"(окрім того, що враховуються пропозиції :keyword:`try` ... :keyword:" +"`finally`), а стандартні файли вводу/виводу не очищуються." diff --git a/library/abc.po b/library/abc.po new file mode 100644 index 000000000..d7146ca43 --- /dev/null +++ b/library/abc.po @@ -0,0 +1,411 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`abc` --- Abstract Base Classes" +msgstr ":mod:`abc` --- Абстрактні базові класи" + +msgid "**Source code:** :source:`Lib/abc.py`" +msgstr "**Вихідний код:** :source:`Lib/abc.py`" + +msgid "" +"This module provides the infrastructure for defining :term:`abstract base " +"classes ` (ABCs) in Python, as outlined in :pep:`3119`; " +"see the PEP for why this was added to Python. (See also :pep:`3141` and the :" +"mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.)" +msgstr "" +"Цей модуль забезпечує інфраструктуру для визначення :term:`абстрактних " +"базових класів ` (ABC) у Python, як описано в :pep:" +"`3119`; див. PEP, чому це було додано до Python. (Див. також :pep:`3141` і " +"модуль :mod:`numbers` щодо ієрархії типів для чисел на основі ABC.)" + +msgid "" +"The :mod:`collections` module has some concrete classes that derive from " +"ABCs; these can, of course, be further derived. In addition, the :mod:" +"`collections.abc` submodule has some ABCs that can be used to test whether a " +"class or instance provides a particular interface, for example, if it is " +"hashable or if it is a mapping." +msgstr "" +"Модуль :mod:`collections` має деякі конкретні класи, які походять від ABC; " +"вони, звичайно, можуть бути отримані далі. Крім того, субмодуль :mod:" +"`collections.abc` має деякі азбуки, які можна використовувати, щоб " +"перевірити, чи надає клас або примірник певний інтерфейс, наприклад, чи є " +"він хешованим або чи є це відображенням." + +msgid "" +"This module provides the metaclass :class:`ABCMeta` for defining ABCs and a " +"helper class :class:`ABC` to alternatively define ABCs through inheritance:" +msgstr "" +"Цей модуль надає метаклас :class:`ABCMeta` для визначення ABC і допоміжний " +"клас :class:`ABC` для альтернативного визначення ABC через успадкування:" + +msgid "" +"A helper class that has :class:`ABCMeta` as its metaclass. With this class, " +"an abstract base class can be created by simply deriving from :class:`ABC` " +"avoiding sometimes confusing metaclass usage, for example::" +msgstr "" +"Допоміжний клас, який має метаклас :class:`ABCMeta`. За допомогою цього " +"класу можна створити абстрактний базовий клас, просто похідним від :class:" +"`ABC`, уникаючи інколи заплутаного використання метакласу, наприклад::" + +msgid "" +"Note that the type of :class:`ABC` is still :class:`ABCMeta`, therefore " +"inheriting from :class:`ABC` requires the usual precautions regarding " +"metaclass usage, as multiple inheritance may lead to metaclass conflicts. " +"One may also define an abstract base class by passing the metaclass keyword " +"and using :class:`ABCMeta` directly, for example::" +msgstr "" +"Зауважте, що тип :class:`ABC` все ще :class:`ABCMeta`, тому успадкування " +"від :class:`ABC` вимагає звичайних запобіжних заходів щодо використання " +"метакласу, оскільки множинне успадкування може призвести до конфліктів " +"метакласів. Можна також визначити абстрактний базовий клас, передавши " +"ключове слово metaclass і безпосередньо використовуючи :class:`ABCMeta`, " +"наприклад::" + +msgid "Metaclass for defining Abstract Base Classes (ABCs)." +msgstr "Метаклас для визначення абстрактних базових класів (ABC)." + +msgid "" +"Use this metaclass to create an ABC. An ABC can be subclassed directly, and " +"then acts as a mix-in class. You can also register unrelated concrete " +"classes (even built-in classes) and unrelated ABCs as \"virtual subclasses\" " +"-- these and their descendants will be considered subclasses of the " +"registering ABC by the built-in :func:`issubclass` function, but the " +"registering ABC won't show up in their MRO (Method Resolution Order) nor " +"will method implementations defined by the registering ABC be callable (not " +"even via :func:`super`). [#]_" +msgstr "" +"Використовуйте цей метаклас для створення ABC. ABC може бути безпосередньо " +"підкласом, а потім діяти як змішаний клас. Ви також можете зареєструвати " +"непов’язані конкретні класи (навіть вбудовані) і непов’язані ABC як " +"\"віртуальні підкласи\" — ці та їхні нащадки вважатимуться підкласами " +"реєструючого ABC вбудованою функцією :func:`issubclass`, але реєструючий ABC " +"не відображатиметься в їхньому MRO (Method Resolution Order), а також " +"реалізації методів, визначені реєструючим ABC, не можна буде викликати " +"(навіть через :func:`super`). [#]_" + +msgid "" +"Classes created with a metaclass of :class:`ABCMeta` have the following " +"method:" +msgstr "" +"Класи, створені за допомогою метакласу :class:`ABCMeta`, мають такий метод:" + +msgid "" +"Register *subclass* as a \"virtual subclass\" of this ABC. For example::" +msgstr "" +"Зареєструйте *підклас* як \"віртуальний підклас\" цього ABC. Наприклад::" + +msgid "Returns the registered subclass, to allow usage as a class decorator." +msgstr "" +"Повертає зареєстрований підклас, щоб дозволити використання як декоратор " +"класу." + +msgid "" +"To detect calls to :meth:`register`, you can use the :func:`get_cache_token` " +"function." +msgstr "" +"Щоб виявити виклики :meth:`register`, ви можете використати функцію :func:" +"`get_cache_token`." + +msgid "You can also override this method in an abstract base class:" +msgstr "Ви також можете перевизначити цей метод в абстрактному базовому класі:" + +msgid "(Must be defined as a class method.)" +msgstr "(Повинен бути визначений як метод класу.)" + +msgid "" +"Check whether *subclass* is considered a subclass of this ABC. This means " +"that you can customize the behavior of ``issubclass`` further without the " +"need to call :meth:`register` on every class you want to consider a subclass " +"of the ABC. (This class method is called from the :meth:`__subclasscheck__` " +"method of the ABC.)" +msgstr "" +"Перевірте, чи вважається *підклас* підкласом цього ABC. Це означає, що ви " +"можете налаштувати поведінку ``issubclass`` без необхідності викликати :meth:" +"`register` для кожного класу, який ви хочете вважати підкласом ABC. (Цей " +"метод класу викликається з методу :meth:`__subclasscheck__` ABC.)" + +msgid "" +"This method should return ``True``, ``False`` or ``NotImplemented``. If it " +"returns ``True``, the *subclass* is considered a subclass of this ABC. If it " +"returns ``False``, the *subclass* is not considered a subclass of this ABC, " +"even if it would normally be one. If it returns ``NotImplemented``, the " +"subclass check is continued with the usual mechanism." +msgstr "" +"Цей метод має повертати ``True``, ``False`` або ``NotImplemented``. Якщо він " +"повертає ``True``, *підклас* вважається підкласом цього ABC. Якщо він " +"повертає ``False``, *підклас* не вважається підкласом цього ABC, навіть якщо " +"він зазвичай є ним. Якщо він повертає ``NotImplemented``, перевірка підкласу " +"продовжується за звичайним механізмом." + +msgid "" +"For a demonstration of these concepts, look at this example ABC definition::" +msgstr "" +"Для демонстрації цих концепцій подивіться на цей приклад визначення ABC:" + +msgid "" +"The ABC ``MyIterable`` defines the standard iterable method, :meth:" +"`~iterator.__iter__`, as an abstract method. The implementation given here " +"can still be called from subclasses. The :meth:`get_iterator` method is " +"also part of the ``MyIterable`` abstract base class, but it does not have to " +"be overridden in non-abstract derived classes." +msgstr "" +"ABC ``MyIterable`` визначає стандартний ітераційний метод, :meth:`~iterator." +"__iter__`, як абстрактний метод. Наведену тут реалізацію все ще можна " +"викликати з підкласів. Метод :meth:`get_iterator` також є частиною " +"абстрактного базового класу ``MyIterable``, але його не потрібно " +"перевизначати в неабстрактних похідних класах." + +msgid "" +"The :meth:`__subclasshook__` class method defined here says that any class " +"that has an :meth:`~iterator.__iter__` method in its :attr:`~object." +"__dict__` (or in that of one of its base classes, accessed via the :attr:" +"`~class.__mro__` list) is considered a ``MyIterable`` too." +msgstr "" +"Метод класу :meth:`__subclasshook__`, визначений тут, говорить, що будь-який " +"клас, який має метод :meth:`~iterator.__iter__` у своєму :attr:`~object." +"__dict__` (або в одному зі своїх базових класів, доступ через список :attr:" +"`~class.__mro__` також вважається ``MyIterable``." + +msgid "" +"Finally, the last line makes ``Foo`` a virtual subclass of ``MyIterable``, " +"even though it does not define an :meth:`~iterator.__iter__` method (it uses " +"the old-style iterable protocol, defined in terms of :meth:`__len__` and :" +"meth:`__getitem__`). Note that this will not make ``get_iterator`` " +"available as a method of ``Foo``, so it is provided separately." +msgstr "" +"Нарешті, останній рядок робить ``Foo`` віртуальним підкласом ``MyIterable``, " +"навіть якщо він не визначає метод :meth:`~iterator.__iter__` (він " +"використовує старий ітераційний протокол, визначений у умови :meth:`__len__` " +"і :meth:`__getitem__`). Зверніть увагу, що це не зробить ``get_iterator`` " +"доступним як метод ``Foo``, тому він надається окремо." + +msgid "The :mod:`abc` module also provides the following decorator:" +msgstr "Модуль :mod:`abc` також надає наступний декоратор:" + +msgid "A decorator indicating abstract methods." +msgstr "Декоратор, що вказує на абстрактні методи." + +msgid "" +"Using this decorator requires that the class's metaclass is :class:`ABCMeta` " +"or is derived from it. A class that has a metaclass derived from :class:" +"`ABCMeta` cannot be instantiated unless all of its abstract methods and " +"properties are overridden. The abstract methods can be called using any of " +"the normal 'super' call mechanisms. :func:`abstractmethod` may be used to " +"declare abstract methods for properties and descriptors." +msgstr "" +"Використання цього декоратора вимагає, щоб метаклас класу був :class:" +"`ABCMeta` або був похідним від нього. Клас, який має метаклас, похідний від :" +"class:`ABCMeta`, не може бути створений, якщо всі його абстрактні методи та " +"властивості не перевизначено. Абстрактні методи можна викликати за допомогою " +"будь-якого звичайних механізмів \"супер\" виклику. :func:`abstractmethod` " +"можна використовувати для оголошення абстрактних методів властивостей і " +"дескрипторів." + +msgid "" +"Dynamically adding abstract methods to a class, or attempting to modify the " +"abstraction status of a method or class once it is created, are only " +"supported using the :func:`update_abstractmethods` function. The :func:" +"`abstractmethod` only affects subclasses derived using regular inheritance; " +"\"virtual subclasses\" registered with the ABC's :meth:`register` method are " +"not affected." +msgstr "" +"Динамічне додавання абстрактних методів до класу або спроба змінити стан " +"абстракції методу чи класу після його створення підтримується лише за " +"допомогою функції :func:`update_abstractmethods`. :func:`abstractmethod` " +"впливає лише на підкласи, отримані за допомогою звичайного успадкування; " +"\"віртуальні підкласи\", зареєстровані за допомогою методу :meth:`register` " +"ABC, не впливають." + +msgid "" +"When :func:`abstractmethod` is applied in combination with other method " +"descriptors, it should be applied as the innermost decorator, as shown in " +"the following usage examples::" +msgstr "" +"Коли :func:`abstractmethod` застосовано в поєднанні з іншими дескрипторами " +"методу, його слід застосовувати як внутрішній декоратор, як показано в " +"наведених нижче прикладах використання:" + +msgid "" +"In order to correctly interoperate with the abstract base class machinery, " +"the descriptor must identify itself as abstract using :attr:" +"`__isabstractmethod__`. In general, this attribute should be ``True`` if any " +"of the methods used to compose the descriptor are abstract. For example, " +"Python's built-in :class:`property` does the equivalent of::" +msgstr "" +"Щоб правильно взаємодіяти з механізмом абстрактного базового класу, " +"дескриптор повинен ідентифікувати себе як абстрактний за допомогою :attr:" +"`__isabstractmethod__`. Загалом цей атрибут має бути ``True``, якщо будь-" +"який із методів, використаних для складання дескриптора, є абстрактним. " +"Наприклад, вбудована властивість Python :class:`property` виконує еквівалент:" + +msgid "" +"Unlike Java abstract methods, these abstract methods may have an " +"implementation. This implementation can be called via the :func:`super` " +"mechanism from the class that overrides it. This could be useful as an end-" +"point for a super-call in a framework that uses cooperative multiple-" +"inheritance." +msgstr "" +"На відміну від абстрактних методів Java, ці абстрактні методи можуть мати " +"реалізацію. Цю реалізацію можна викликати через механізм :func:`super` з " +"класу, який її замінює. Це може бути корисним як кінцева точка для " +"супервиклику в структурі, яка використовує кооперативне множинне " +"успадкування." + +msgid "The :mod:`abc` module also supports the following legacy decorators:" +msgstr "Модуль :mod:`abc` також підтримує наступні застарілі декоратори:" + +msgid "" +"It is now possible to use :class:`classmethod` with :func:`abstractmethod`, " +"making this decorator redundant." +msgstr "" +"Тепер можна використовувати :class:`classmethod` з :func:`abstractmethod`, " +"що робить цей декоратор зайвим." + +msgid "" +"A subclass of the built-in :func:`classmethod`, indicating an abstract " +"classmethod. Otherwise it is similar to :func:`abstractmethod`." +msgstr "" +"Підклас вбудованого :func:`classmethod`, що вказує на абстрактний метод " +"класу. В іншому він схожий на :func:`abstractmethod`." + +msgid "" +"This special case is deprecated, as the :func:`classmethod` decorator is now " +"correctly identified as abstract when applied to an abstract method::" +msgstr "" +"Цей спеціальний випадок застарів, оскільки декоратор :func:`classmethod` " +"тепер правильно ідентифікується як абстрактний, коли застосовується до " +"абстрактного методу::" + +msgid "" +"It is now possible to use :class:`staticmethod` with :func:`abstractmethod`, " +"making this decorator redundant." +msgstr "" +"Тепер можна використовувати :class:`staticmethod` з :func:`abstractmethod`, " +"що робить цей декоратор зайвим." + +msgid "" +"A subclass of the built-in :func:`staticmethod`, indicating an abstract " +"staticmethod. Otherwise it is similar to :func:`abstractmethod`." +msgstr "" +"Підклас вбудованого :func:`staticmethod`, що вказує на абстрактний статичний " +"метод. В іншому він схожий на :func:`abstractmethod`." + +msgid "" +"This special case is deprecated, as the :func:`staticmethod` decorator is " +"now correctly identified as abstract when applied to an abstract method::" +msgstr "" +"Цей окремий випадок застарів, оскільки декоратор :func:`staticmethod` тепер " +"правильно ідентифікується як абстрактний, коли застосовується до " +"абстрактного методу::" + +msgid "" +"It is now possible to use :class:`property`, :meth:`property.getter`, :meth:" +"`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, " +"making this decorator redundant." +msgstr "" +"Тепер можна використовувати :class:`property`, :meth:`property.getter`, :" +"meth:`property.setter` і :meth:`property.deleter` з :func:`abstractmethod`, " +"створюючи цей декоратор надлишковий." + +msgid "" +"A subclass of the built-in :func:`property`, indicating an abstract property." +msgstr "" +"Підклас вбудованої :func:`property`, що вказує на абстрактну властивість." + +msgid "" +"This special case is deprecated, as the :func:`property` decorator is now " +"correctly identified as abstract when applied to an abstract method::" +msgstr "" +"Цей окремий випадок застарів, оскільки декоратор :func:`property` тепер " +"правильно ідентифікується як абстрактний, коли застосовується до " +"абстрактного методу::" + +msgid "" +"The above example defines a read-only property; you can also define a read-" +"write abstract property by appropriately marking one or more of the " +"underlying methods as abstract::" +msgstr "" +"Наведений вище приклад визначає властивість лише для читання; ви також " +"можете визначити абстрактну властивість читання-запису, відповідним чином " +"позначивши один або більше основних методів як абстрактні:" + +msgid "" +"If only some components are abstract, only those components need to be " +"updated to create a concrete property in a subclass::" +msgstr "" +"Якщо лише деякі компоненти є абстрактними, лише ці компоненти потрібно " +"оновити, щоб створити конкретну властивість у підкласі::" + +msgid "The :mod:`abc` module also provides the following functions:" +msgstr "Модуль :mod:`abc` також надає такі функції:" + +msgid "Returns the current abstract base class cache token." +msgstr "Повертає поточний маркер кешу абстрактного базового класу." + +msgid "" +"The token is an opaque object (that supports equality testing) identifying " +"the current version of the abstract base class cache for virtual subclasses. " +"The token changes with every call to :meth:`ABCMeta.register` on any ABC." +msgstr "" +"Маркер — це непрозорий об’єкт (який підтримує перевірку рівності), що " +"ідентифікує поточну версію кешу абстрактного базового класу для віртуальних " +"підкласів. Маркер змінюється з кожним викликом :meth:`ABCMeta.register` на " +"будь-якому ABC." + +msgid "" +"A function to recalculate an abstract class's abstraction status. This " +"function should be called if a class's abstract methods have been " +"implemented or changed after it was created. Usually, this function should " +"be called from within a class decorator." +msgstr "" +"Функція для повторного обчислення статусу абстракції абстрактного класу. Цю " +"функцію слід викликати, якщо абстрактні методи класу були реалізовані або " +"змінені після його створення. Зазвичай цю функцію слід викликати з " +"декоратора класу." + +msgid "Returns *cls*, to allow usage as a class decorator." +msgstr "Повертає *cls*, щоб дозволити використання як декоратора класу." + +msgid "If *cls* is not an instance of :class:`ABCMeta`, does nothing." +msgstr "Якщо *cls* не є екземпляром :class:`ABCMeta`, нічого не робить." + +msgid "" +"This function assumes that *cls*'s superclasses are already updated. It does " +"not update any subclasses." +msgstr "" +"Ця функція передбачає, що суперкласи *cls* вже оновлені. Він не оновлює " +"жодних підкласів." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"C++ programmers should note that Python's virtual base class concept is not " +"the same as C++'s." +msgstr "" +"Програмісти на C++ повинні мати на увазі, що концепція віртуального базового " +"класу Python не збігається з концепцією C++." diff --git a/library/aifc.po b/library/aifc.po new file mode 100644 index 000000000..b931fb27d --- /dev/null +++ b/library/aifc.po @@ -0,0 +1,310 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`aifc` --- Read and write AIFF and AIFC files" +msgstr ":mod:`aifc` --- Читання та запис файлів AIFF та AIFC" + +msgid "**Source code:** :source:`Lib/aifc.py`" +msgstr "**Вихідний код:** :source:`Lib/aifc.py`" + +msgid "" +"The :mod:`aifc` module is deprecated (see :pep:`PEP 594 <594#aifc>` for " +"details)." +msgstr "" +"Модуль :mod:`aifc` є застарілим (див. :pep:`PEP 594 <594#aifc>` для деталей)." + +msgid "" +"This module provides support for reading and writing AIFF and AIFF-C files. " +"AIFF is Audio Interchange File Format, a format for storing digital audio " +"samples in a file. AIFF-C is a newer version of the format that includes " +"the ability to compress the audio data." +msgstr "" +"Цей модуль підтримує читання та запис файлів AIFF і AIFF-C. AIFF — це формат " +"файлів обміну аудіо, формат для зберігання зразків цифрового аудіо у файлі. " +"AIFF-C — це нова версія формату, яка включає можливість стискати аудіодані." + +msgid "" +"Audio files have a number of parameters that describe the audio data. The " +"sampling rate or frame rate is the number of times per second the sound is " +"sampled. The number of channels indicate if the audio is mono, stereo, or " +"quadro. Each frame consists of one sample per channel. The sample size is " +"the size in bytes of each sample. Thus a frame consists of ``nchannels * " +"samplesize`` bytes, and a second's worth of audio consists of ``nchannels * " +"samplesize * framerate`` bytes." +msgstr "" +"Аудіофайли мають ряд параметрів, які описують аудіодані. Частота " +"дискретизації або частота кадрів – це кількість разів на секунду, коли звук " +"дискретизується. Кількість каналів вказує, чи є звук моно, стерео чи квадро. " +"Кожен кадр складається з однієї вибірки на канал. Розмір вибірки — це розмір " +"кожної вибірки в байтах. Таким чином, кадр складається з байтів ``nchannels " +"* samplesize``, а аудіо в секунду складається з ``nchannels * samplesize * " +"framerate`` байтів." + +msgid "" +"For example, CD quality audio has a sample size of two bytes (16 bits), uses " +"two channels (stereo) and has a frame rate of 44,100 frames/second. This " +"gives a frame size of 4 bytes (2\\*2), and a second's worth occupies " +"2\\*2\\*44100 bytes (176,400 bytes)." +msgstr "" +"Наприклад, аудіо якості CD має розмір вибірки два байти (16 біт), " +"використовує два канали (стерео) і має частоту кадрів 44 100 кадрів/секунду. " +"Це дає розмір кадру 4 байти (2\\*2), а вартість секунди займає 2\\*2\\*44100 " +"байт (176 400 байт)." + +msgid "Module :mod:`aifc` defines the following function:" +msgstr "Модуль :mod:`aifc` визначає таку функцію:" + +msgid "" +"Open an AIFF or AIFF-C file and return an object instance with methods that " +"are described below. The argument *file* is either a string naming a file " +"or a :term:`file object`. *mode* must be ``'r'`` or ``'rb'`` when the file " +"must be opened for reading, or ``'w'`` or ``'wb'`` when the file must be " +"opened for writing. If omitted, ``file.mode`` is used if it exists, " +"otherwise ``'rb'`` is used. When used for writing, the file object should " +"be seekable, unless you know ahead of time how many samples you are going to " +"write in total and use :meth:`writeframesraw` and :meth:`setnframes`. The :" +"func:`.open` function may be used in a :keyword:`with` statement. When the :" +"keyword:`!with` block completes, the :meth:`~aifc.close` method is called." +msgstr "" +"Відкрийте файл AIFF або AIFF-C і поверніть екземпляр об’єкта за допомогою " +"методів, описаних нижче. Аргумент *file* є або рядком з іменем файлу, або :" +"term:`file object`. *mode* має бути ``'r'`` або ``'rb'``, коли файл потрібно " +"відкрити для читання, або ``'w'`` або ``'wb'``, коли файл має бути відкритим " +"відкрито для запису. Якщо опущено, використовується ``file.mode``, якщо він " +"існує, інакше ``'rb'`` використовується. Коли об’єкт файлу використовується " +"для запису, він має бути доступним для пошуку, якщо ви не знаєте " +"заздалегідь, скільки зразків ви збираєтеся написати загалом і " +"використовуєте :meth:`writeframesraw` і :meth:`setnframes`. Функцію :func:`." +"open` можна використовувати в операторі :keyword:`with`. Коли блок :keyword:" +"`!with` завершується, викликається метод :meth:`~aifc.close`." + +msgid "Support for the :keyword:`with` statement was added." +msgstr "Додано підтримку оператора :keyword:`with`." + +msgid "" +"Objects returned by :func:`.open` when a file is opened for reading have the " +"following methods:" +msgstr "" +"Об’єкти, які повертає :func:`.open`, коли файл відкрито для читання, мають " +"такі методи:" + +msgid "Return the number of audio channels (1 for mono, 2 for stereo)." +msgstr "Повертає кількість аудіоканалів (1 для моно, 2 для стерео)." + +msgid "Return the size in bytes of individual samples." +msgstr "Повертає розмір у байтах окремих зразків." + +msgid "Return the sampling rate (number of audio frames per second)." +msgstr "Повертає частоту дискретизації (кількість звукових кадрів за секунду)." + +msgid "Return the number of audio frames in the file." +msgstr "Повертає кількість звукових кадрів у файлі." + +msgid "" +"Return a bytes array of length 4 describing the type of compression used in " +"the audio file. For AIFF files, the returned value is ``b'NONE'``." +msgstr "" +"Повертає масив байтів довжиною 4, що описує тип стиснення, що " +"використовується в аудіофайлі. Для файлів AIFF повертається значення " +"``b'NONE``." + +msgid "" +"Return a bytes array convertible to a human-readable description of the type " +"of compression used in the audio file. For AIFF files, the returned value " +"is ``b'not compressed'``." +msgstr "" +"Повертає масив байтів, який можна перетворити на зрозумілий людині опис типу " +"стиснення, який використовується в аудіофайлі. Для файлів AIFF повертається " +"значення ``b'not compressed``." + +msgid "" +"Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " +"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" +"`get\\*` methods." +msgstr "" +"Повертає :func:`~collections.namedtuple` ``(nchannels, sampwidth, framerate, " +"nframes, comptype, compname)``, еквівалентний виводу методів :meth:`get\\*`." + +msgid "" +"Return a list of markers in the audio file. A marker consists of a tuple of " +"three elements. The first is the mark ID (an integer), the second is the " +"mark position in frames from the beginning of the data (an integer), the " +"third is the name of the mark (a string)." +msgstr "" +"Повернути список маркерів у звуковому файлі. Маркер складається з кортежу з " +"трьох елементів. Перший — ID позначки (ціле число), другий — позиція " +"позначки у кадрах від початку даних (ціле число), третій — назва позначки " +"(рядок)." + +msgid "" +"Return the tuple as described in :meth:`getmarkers` for the mark with the " +"given *id*." +msgstr "" +"Поверніть кортеж, як описано в :meth:`getmarkers` для позначки з заданим " +"*id*." + +msgid "" +"Read and return the next *nframes* frames from the audio file. The returned " +"data is a string containing for each frame the uncompressed samples of all " +"channels." +msgstr "" +"Прочитати та повернути наступні *nframes* кадри з аудіофайлу. Повернуті дані " +"— це рядок, що містить для кожного кадру нестиснуті зразки всіх каналів." + +msgid "" +"Rewind the read pointer. The next :meth:`readframes` will start from the " +"beginning." +msgstr "" +"Перемотати вказівник читання назад. Наступний :meth:`readframes` почнеться " +"спочатку." + +msgid "Seek to the specified frame number." +msgstr "Перейти до вказаного номера кадру." + +msgid "Return the current frame number." +msgstr "Повернути поточний номер кадру." + +msgid "" +"Close the AIFF file. After calling this method, the object can no longer be " +"used." +msgstr "" +"Закрийте файл AIFF. Після виклику цього методу об’єкт більше не можна " +"використовувати." + +msgid "" +"Objects returned by :func:`.open` when a file is opened for writing have all " +"the above methods, except for :meth:`readframes` and :meth:`setpos`. In " +"addition the following methods exist. The :meth:`get\\*` methods can only " +"be called after the corresponding :meth:`set\\*` methods have been called. " +"Before the first :meth:`writeframes` or :meth:`writeframesraw`, all " +"parameters except for the number of frames must be filled in." +msgstr "" +"Об’єкти, які повертає :func:`.open`, коли файл відкривається для запису, " +"мають усі наведені вище методи, крім :meth:`readframes` і :meth:`setpos`. " +"Крім того, існують такі методи. Методи :meth:`get\\*` можна викликати лише " +"після виклику відповідних методів :meth:`set\\*`. Перед першим :meth:" +"`writeframes` або :meth:`writeframesraw` необхідно заповнити всі параметри, " +"крім кількості кадрів." + +msgid "" +"Create an AIFF file. The default is that an AIFF-C file is created, unless " +"the name of the file ends in ``'.aiff'`` in which case the default is an " +"AIFF file." +msgstr "" +"Створіть файл AIFF. За замовчуванням створюється файл AIFF-C, якщо ім’я " +"файлу не закінчується на ``'.aiff'``, у цьому випадку за замовчуванням " +"використовується файл AIFF." + +msgid "" +"Create an AIFF-C file. The default is that an AIFF-C file is created, " +"unless the name of the file ends in ``'.aiff'`` in which case the default is " +"an AIFF file." +msgstr "" +"Створіть файл AIFF-C. За замовчуванням створюється файл AIFF-C, якщо ім’я " +"файлу не закінчується на '``.aiff''``, у цьому випадку за замовчуванням " +"використовується файл AIFF." + +msgid "Specify the number of channels in the audio file." +msgstr "Вкажіть кількість каналів у звуковому файлі." + +msgid "Specify the size in bytes of audio samples." +msgstr "Вкажіть розмір аудіосемплів у байтах." + +msgid "Specify the sampling frequency in frames per second." +msgstr "Вкажіть частоту дискретизації в кадрах за секунду." + +msgid "" +"Specify the number of frames that are to be written to the audio file. If " +"this parameter is not set, or not set correctly, the file needs to support " +"seeking." +msgstr "" +"Вкажіть кількість кадрів, які потрібно записати в аудіофайл. Якщо цей " +"параметр не встановлено або встановлено неправильно, файл має підтримувати " +"пошук." + +msgid "" +"Specify the compression type. If not specified, the audio data will not be " +"compressed. In AIFF files, compression is not possible. The name parameter " +"should be a human-readable description of the compression type as a bytes " +"array, the type parameter should be a bytes array of length 4. Currently " +"the following compression types are supported: ``b'NONE'``, ``b'ULAW'``, " +"``b'ALAW'``, ``b'G722'``." +msgstr "" +"Вкажіть тип стиснення. Якщо не вказано, аудіодані не будуть стиснуті. У " +"файлах AIFF стиснення неможливе. Параметр імені має бути зрозумілим для " +"людини описом типу стиснення у вигляді масиву байтів, параметр типу має бути " +"масивом байтів довжиною 4. Наразі підтримуються такі типи стиснення: " +"``b'NONE'``, ``b'ULAW'``, ``b'ALAW''``, ``b'G722''``." + +msgid "" +"Set all the above parameters at once. The argument is a tuple consisting of " +"the various parameters. This means that it is possible to use the result of " +"a :meth:`getparams` call as argument to :meth:`setparams`." +msgstr "" +"Встановіть всі перераховані вище параметри відразу. Аргумент - це кортеж, що " +"складається з різних параметрів. Це означає, що можна використовувати " +"результат виклику :meth:`getparams` як аргумент для :meth:`setparams`." + +msgid "" +"Add a mark with the given id (larger than 0), and the given name at the " +"given position. This method can be called at any time before :meth:`close`." +msgstr "" +"Додайте позначку з заданим ідентифікатором (більшим за 0) і заданим ім’ям у " +"вказаній позиції. Цей метод можна викликати будь-коли до :meth:`close`." + +msgid "" +"Return the current write position in the output file. Useful in combination " +"with :meth:`setmark`." +msgstr "" +"Повертає поточну позицію запису у вихідний файл. Корисно в поєднанні з :meth:" +"`setmark`." + +msgid "" +"Write data to the output file. This method can only be called after the " +"audio file parameters have been set." +msgstr "" +"Записати дані у вихідний файл. Цей метод можна викликати лише після " +"встановлення параметрів аудіофайлу." + +msgid "Any :term:`bytes-like object` is now accepted." +msgstr "Тепер приймається будь-який :term:`bytes-like object`." + +msgid "" +"Like :meth:`writeframes`, except that the header of the audio file is not " +"updated." +msgstr "" +"Як :meth:`writeframes`, за винятком того, що заголовок аудіофайлу не " +"оновлюється." + +msgid "" +"Close the AIFF file. The header of the file is updated to reflect the " +"actual size of the audio data. After calling this method, the object can no " +"longer be used." +msgstr "" +"Закрийте файл AIFF. Заголовок файлу оновлюється відповідно до фактичного " +"розміру аудіоданих. Після виклику цього методу об’єкт більше не можна " +"використовувати." diff --git a/library/allos.po b/library/allos.po new file mode 100644 index 000000000..55c6586a8 --- /dev/null +++ b/library/allos.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Generic Operating System Services" +msgstr "Загальні служби операційної системи" + +msgid "" +"The modules described in this chapter provide interfaces to operating system " +"features that are available on (almost) all operating systems, such as files " +"and a clock. The interfaces are generally modeled after the Unix or C " +"interfaces, but they are available on most other systems as well. Here's an " +"overview:" +msgstr "" +"Модулі, описані в цьому розділі, забезпечують інтерфейси для функцій " +"операційної системи, які доступні (майже) у всіх операційних системах, " +"наприклад файли та годинник. Інтерфейси, як правило, моделюються за " +"інтерфейсами Unix або C, але вони також доступні в більшості інших систем. " +"Ось огляд:" diff --git a/library/archiving.po b/library/archiving.po new file mode 100644 index 000000000..e7d8dcd5c --- /dev/null +++ b/library/archiving.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Data Compression and Archiving" +msgstr "Стиснення та архівування даних" + +msgid "" +"The modules described in this chapter support data compression with the " +"zlib, gzip, bzip2 and lzma algorithms, and the creation of ZIP- and tar-" +"format archives. See also :ref:`archiving-operations` provided by the :mod:" +"`shutil` module." +msgstr "" +"Модулі, описані в цьому розділі, підтримують стиснення даних за допомогою " +"алгоритмів zlib, gzip, bzip2 і lzma, а також створення архівів у форматах " +"ZIP і tar. Дивіться також :ref:`archiving-operations`, надані модулем :mod:" +"`shutil`." diff --git a/library/argparse.po b/library/argparse.po new file mode 100644 index 000000000..e156a7844 --- /dev/null +++ b/library/argparse.po @@ -0,0 +1,2338 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +":mod:`argparse` --- Parser for command-line options, arguments and sub-" +"commands" +msgstr "" +":mod:`argparse` --- аналізатор параметрів командного рядка, аргументів і " +"підкоманд" + +msgid "**Source code:** :source:`Lib/argparse.py`" +msgstr "**Вихідний код:** :source:`Lib/argparse.py`" + +msgid "Tutorial" +msgstr "Підручник" + +msgid "" +"This page contains the API reference information. For a more gentle " +"introduction to Python command-line parsing, have a look at the :ref:" +"`argparse tutorial `." +msgstr "" +"Ця сторінка містить довідкову інформацію про API. Для більш обережного " +"ознайомлення з розбором командного рядка Python перегляньте :ref:`argparse " +"tutorial `." + +msgid "" +"The :mod:`argparse` module makes it easy to write user-friendly command-line " +"interfaces. The program defines what arguments it requires, and :mod:" +"`argparse` will figure out how to parse those out of :data:`sys.argv`. The :" +"mod:`argparse` module also automatically generates help and usage messages. " +"The module will also issue errors when users give the program invalid " +"arguments." +msgstr "" + +msgid "Core Functionality" +msgstr "" + +msgid "" +"The :mod:`argparse` module's support for command-line interfaces is built " +"around an instance of :class:`argparse.ArgumentParser`. It is a container " +"for argument specifications and has options that apply the parser as whole::" +msgstr "" + +msgid "" +"The :meth:`ArgumentParser.add_argument` method attaches individual argument " +"specifications to the parser. It supports positional arguments, options " +"that accept values, and on/off flags::" +msgstr "" + +msgid "" +"The :meth:`ArgumentParser.parse_args` method runs the parser and places the " +"extracted data in a :class:`argparse.Namespace` object::" +msgstr "" + +msgid "Quick Links for add_argument()" +msgstr "" + +msgid "Name" +msgstr "Ім'я" + +msgid "Description" +msgstr "Опис" + +msgid "Values" +msgstr "Цінності" + +msgid "action_" +msgstr "" + +msgid "Specify how an argument should be handled" +msgstr "" + +msgid "" +"``'store'``, ``'store_const'``, ``'store_true'``, ``'append'``, " +"``'append_const'``, ``'count'``, ``'help'``, ``'version'``" +msgstr "" + +msgid "choices_" +msgstr "" + +msgid "Limit values to a specific set of choices" +msgstr "" + +msgid "" +"``['foo', 'bar']``, ``range(1, 10)``, or :class:`~collections.abc.Container` " +"instance" +msgstr "" + +msgid "const_" +msgstr "" + +msgid "Store a constant value" +msgstr "" + +msgid "default_" +msgstr "" + +msgid "Default value used when an argument is not provided" +msgstr "" + +msgid "Defaults to ``None``" +msgstr "" + +msgid "dest_" +msgstr "" + +msgid "Specify the attribute name used in the result namespace" +msgstr "" + +msgid "help_" +msgstr "" + +msgid "Help message for an argument" +msgstr "" + +msgid "metavar_" +msgstr "" + +msgid "Alternate display name for the argument as shown in help" +msgstr "" + +msgid "nargs_" +msgstr "" + +msgid "Number of times the argument can be used" +msgstr "" + +msgid ":class:`int`, ``'?'``, ``'*'``, ``'+'``, or ``argparse.REMAINDER``" +msgstr "" + +msgid "required_" +msgstr "" + +msgid "Indicate whether an argument is required or optional" +msgstr "" + +msgid "``True`` or ``False``" +msgstr "" + +msgid "type_" +msgstr "" + +msgid "Automatically convert an argument to the given type" +msgstr "" + +msgid "" +":class:`int`, :class:`float`, ``argparse.FileType('w')``, or callable " +"function" +msgstr "" + +msgid "Example" +msgstr "приклад" + +msgid "" +"The following code is a Python program that takes a list of integers and " +"produces either the sum or the max::" +msgstr "" +"Наступний код є програмою на Python, яка отримує список цілих чисел і " +"створює або суму, або максимум::" + +msgid "" +"Assuming the above Python code is saved into a file called ``prog.py``, it " +"can be run at the command line and it provides useful help messages:" +msgstr "" + +msgid "" +"When run with the appropriate arguments, it prints either the sum or the max " +"of the command-line integers:" +msgstr "" +"При запуску з відповідними аргументами він друкує або суму, або максимальне " +"значення цілих чисел командного рядка:" + +msgid "If invalid arguments are passed in, an error will be displayed:" +msgstr "" + +msgid "The following sections walk you through this example." +msgstr "У наступних розділах ви ознайомитеся з цим прикладом." + +msgid "Creating a parser" +msgstr "Створення синтаксичного аналізатора" + +msgid "" +"The first step in using the :mod:`argparse` is creating an :class:" +"`ArgumentParser` object::" +msgstr "" +"Першим кроком у використанні :mod:`argparse` є створення об’єкта :class:" +"`ArgumentParser`::" + +msgid "" +"The :class:`ArgumentParser` object will hold all the information necessary " +"to parse the command line into Python data types." +msgstr "" +"Об’єкт :class:`ArgumentParser` буде містити всю інформацію, необхідну для " +"аналізу командного рядка на типи даних Python." + +msgid "Adding arguments" +msgstr "Додавання аргументів" + +msgid "" +"Filling an :class:`ArgumentParser` with information about program arguments " +"is done by making calls to the :meth:`~ArgumentParser.add_argument` method. " +"Generally, these calls tell the :class:`ArgumentParser` how to take the " +"strings on the command line and turn them into objects. This information is " +"stored and used when :meth:`~ArgumentParser.parse_args` is called. For " +"example::" +msgstr "" +"Заповнення :class:`ArgumentParser` інформацією про аргументи програми " +"здійснюється шляхом виклику методу :meth:`~ArgumentParser.add_argument`. " +"Зазвичай ці виклики повідомляють :class:`ArgumentParser`, як брати рядки в " +"командному рядку та перетворювати їх на об’єкти. Ця інформація зберігається " +"та використовується під час виклику :meth:`~ArgumentParser.parse_args`. " +"Наприклад::" + +msgid "" +"Later, calling :meth:`~ArgumentParser.parse_args` will return an object with " +"two attributes, ``integers`` and ``accumulate``. The ``integers`` attribute " +"will be a list of one or more integers, and the ``accumulate`` attribute " +"will be either the :func:`sum` function, if ``--sum`` was specified at the " +"command line, or the :func:`max` function if it was not." +msgstr "" + +msgid "Parsing arguments" +msgstr "Розбір аргументів" + +msgid "" +":class:`ArgumentParser` parses arguments through the :meth:`~ArgumentParser." +"parse_args` method. This will inspect the command line, convert each " +"argument to the appropriate type and then invoke the appropriate action. In " +"most cases, this means a simple :class:`Namespace` object will be built up " +"from attributes parsed out of the command line::" +msgstr "" +":class:`ArgumentParser` аналізує аргументи за допомогою методу :meth:" +"`~ArgumentParser.parse_args`. Це перевірить командний рядок, перетворить " +"кожен аргумент у відповідний тип, а потім викличе відповідну дію. У " +"більшості випадків це означає, що простий об’єкт :class:`Namespace` буде " +"створено з атрибутів, проаналізованих із командного рядка::" + +msgid "" +"In a script, :meth:`~ArgumentParser.parse_args` will typically be called " +"with no arguments, and the :class:`ArgumentParser` will automatically " +"determine the command-line arguments from :data:`sys.argv`." +msgstr "" +"У сценарії :meth:`~ArgumentParser.parse_args` зазвичай викликається без " +"аргументів, а :class:`ArgumentParser` автоматично визначатиме аргументи " +"командного рядка з :data:`sys.argv`." + +msgid "ArgumentParser objects" +msgstr "Об’єкти ArgumentParser" + +msgid "" +"Create a new :class:`ArgumentParser` object. All parameters should be passed " +"as keyword arguments. Each parameter has its own more detailed description " +"below, but in short they are:" +msgstr "" +"Створіть новий об’єкт :class:`ArgumentParser`. Усі параметри слід передати " +"як аргументи ключового слова. Кожен параметр має власний більш детальний " +"опис нижче, але коротко вони:" + +msgid "" +"prog_ - The name of the program (default: ``os.path.basename(sys.argv[0])``)" +msgstr "" +"prog_ - назва програми (за замовчуванням: ``os.path.basename(sys.argv[0])``)" + +msgid "" +"usage_ - The string describing the program usage (default: generated from " +"arguments added to parser)" +msgstr "" +"usage_ - рядок, що описує використання програми (за замовчуванням: " +"генерується з аргументів, доданих до аналізатора)" + +msgid "" +"description_ - Text to display before the argument help (by default, no text)" +msgstr "" + +msgid "epilog_ - Text to display after the argument help (by default, no text)" +msgstr "" + +msgid "" +"parents_ - A list of :class:`ArgumentParser` objects whose arguments should " +"also be included" +msgstr "" +"Parents_ - список об'єктів :class:`ArgumentParser`, аргументи яких також " +"мають бути включені" + +msgid "formatter_class_ - A class for customizing the help output" +msgstr "formatter_class_ - клас для налаштування виведення довідки" + +msgid "" +"prefix_chars_ - The set of characters that prefix optional arguments " +"(default: '-')" +msgstr "" +"prefix_chars_ - набір символів, які є префіксом необов'язкових аргументів " +"(за замовчуванням: '-')" + +msgid "" +"fromfile_prefix_chars_ - The set of characters that prefix files from which " +"additional arguments should be read (default: ``None``)" +msgstr "" +"fromfile_prefix_chars_ - набір символів, які є префіксами файлів, з яких " +"слід читати додаткові аргументи (за замовчуванням: ``None``)" + +msgid "" +"argument_default_ - The global default value for arguments (default: " +"``None``)" +msgstr "" +"argument_default_ - глобальне значення за замовчуванням для аргументів (за " +"замовчуванням: ``None``)" + +msgid "" +"conflict_handler_ - The strategy for resolving conflicting optionals " +"(usually unnecessary)" +msgstr "" +"конфлікт_обробник_ - стратегія вирішення конфліктних опцій (зазвичай " +"непотрібних)" + +msgid "" +"add_help_ - Add a ``-h/--help`` option to the parser (default: ``True``)" +msgstr "" +"add_help_ - додає опцію ``-h/--help`` до аналізатора (за замовчуванням: " +"``True``)" + +msgid "" +"allow_abbrev_ - Allows long options to be abbreviated if the abbreviation is " +"unambiguous. (default: ``True``)" +msgstr "" +"allow_abbrev_ - Дозволяє скорочувати довгі параметри, якщо скорочення є " +"однозначним. (за замовчуванням: ``True``)" + +msgid "" +"exit_on_error_ - Determines whether or not ArgumentParser exits with error " +"info when an error occurs. (default: ``True``)" +msgstr "" +"exit_on_error_ – визначає, чи завершує роботу ArgumentParser з інформацією " +"про помилку, коли виникає помилка. (за замовчуванням: ``True``)" + +msgid "*allow_abbrev* parameter was added." +msgstr "Додано параметр *allow_abbrev*." + +msgid "" +"In previous versions, *allow_abbrev* also disabled grouping of short flags " +"such as ``-vv`` to mean ``-v -v``." +msgstr "" +"У попередніх версіях *allow_abbrev* також вимикав групування коротких " +"прапорців, таких як ``-vv``, щоб означати ``-v -v``." + +msgid "*exit_on_error* parameter was added." +msgstr "Додано параметр *exit_on_error*." + +msgid "The following sections describe how each of these are used." +msgstr "У наступних розділах описано, як використовується кожен із них." + +msgid "prog" +msgstr "прог" + +msgid "" +"By default, :class:`ArgumentParser` objects use ``sys.argv[0]`` to determine " +"how to display the name of the program in help messages. This default is " +"almost always desirable because it will make the help messages match how the " +"program was invoked on the command line. For example, consider a file named " +"``myprogram.py`` with the following code::" +msgstr "" +"За замовчуванням об’єкти :class:`ArgumentParser` використовують ``sys." +"argv[0]``, щоб визначити, як відображати назву програми в довідкових " +"повідомленнях. Це за замовчуванням є майже завжди бажаним, оскільки воно " +"змусить повідомлення довідки відповідати тому, як програма була викликана в " +"командному рядку. Наприклад, розглянемо файл з назвою ``myprogram.py`` з " +"таким кодом::" + +msgid "" +"The help for this program will display ``myprogram.py`` as the program name " +"(regardless of where the program was invoked from):" +msgstr "" +"Довідка для цієї програми відображатиме ``myprogram.py`` як назву програми " +"(незалежно від того, звідки програму було викликано):" + +msgid "" +"To change this default behavior, another value can be supplied using the " +"``prog=`` argument to :class:`ArgumentParser`::" +msgstr "" +"Щоб змінити цю типову поведінку, можна надати інше значення за допомогою " +"аргументу ``prog=`` до :class:`ArgumentParser`::" + +msgid "" +"Note that the program name, whether determined from ``sys.argv[0]`` or from " +"the ``prog=`` argument, is available to help messages using the ``%(prog)s`` " +"format specifier." +msgstr "" +"Зауважте, що ім’я програми, незалежно від того, чи визначається з ``sys." +"argv[0]`` або з ``prog=`` аргументу, доступне для довідкових повідомлень за " +"допомогою специфікатора формату ``%(prog)s``." + +msgid "usage" +msgstr "використання" + +msgid "" +"By default, :class:`ArgumentParser` calculates the usage message from the " +"arguments it contains::" +msgstr "" +"За замовчуванням :class:`ArgumentParser` обчислює повідомлення про " +"використання з аргументів, які він містить:" + +msgid "" +"The default message can be overridden with the ``usage=`` keyword argument::" +msgstr "" +"Повідомлення за замовчуванням можна замінити аргументом ключового слова " +"``usage=``::" + +msgid "" +"The ``%(prog)s`` format specifier is available to fill in the program name " +"in your usage messages." +msgstr "" +"Специфікатор формату ``%(prog)s`` доступний для заповнення назви програми у " +"ваших повідомленнях про використання." + +msgid "description" +msgstr "опис" + +msgid "" +"Most calls to the :class:`ArgumentParser` constructor will use the " +"``description=`` keyword argument. This argument gives a brief description " +"of what the program does and how it works. In help messages, the " +"description is displayed between the command-line usage string and the help " +"messages for the various arguments::" +msgstr "" +"Більшість викликів конструктора :class:`ArgumentParser` використовуватимуть " +"аргумент ключового слова ``description=``. Цей аргумент дає короткий опис " +"того, що програма робить і як вона працює. У довідкових повідомленнях опис " +"відображається між рядком використання командного рядка та довідковими " +"повідомленнями для різних аргументів:" + +msgid "" +"By default, the description will be line-wrapped so that it fits within the " +"given space. To change this behavior, see the formatter_class_ argument." +msgstr "" +"За замовчуванням опис буде перенесено на рядок, щоб він поміщався в заданий " +"простір. Щоб змінити цю поведінку, перегляньте аргумент formatter_class_." + +msgid "epilog" +msgstr "епілог" + +msgid "" +"Some programs like to display additional description of the program after " +"the description of the arguments. Such text can be specified using the " +"``epilog=`` argument to :class:`ArgumentParser`::" +msgstr "" +"Деякі програми люблять відображати додатковий опис програми після опису " +"аргументів. Такий текст можна вказати за допомогою аргументу ``epilog=`` " +"для :class:`ArgumentParser`::" + +msgid "" +"As with the description_ argument, the ``epilog=`` text is by default line-" +"wrapped, but this behavior can be adjusted with the formatter_class_ " +"argument to :class:`ArgumentParser`." +msgstr "" +"Як і в випадку з аргументом description_, текст ``epilog=`` за замовчуванням " +"переносить рядки, але цю поведінку можна налаштувати за допомогою аргументу " +"formatter_class_ на :class:`ArgumentParser`." + +msgid "parents" +msgstr "батьки" + +msgid "" +"Sometimes, several parsers share a common set of arguments. Rather than " +"repeating the definitions of these arguments, a single parser with all the " +"shared arguments and passed to ``parents=`` argument to :class:" +"`ArgumentParser` can be used. The ``parents=`` argument takes a list of :" +"class:`ArgumentParser` objects, collects all the positional and optional " +"actions from them, and adds these actions to the :class:`ArgumentParser` " +"object being constructed::" +msgstr "" +"Іноді кілька аналізаторів використовують загальний набір аргументів. Замість " +"того, щоб повторювати визначення цих аргументів, можна використати єдиний " +"синтаксичний аналізатор із усіма спільними аргументами та переданим " +"аргументом ``parents=`` для :class:`ArgumentParser`. Аргумент ``parents=`` " +"бере список об’єктів :class:`ArgumentParser`, збирає всі позиційні та " +"необов’язкові дії з них і додає ці дії до об’єкта :class:`ArgumentParser`, " +"який створюється::" + +msgid "" +"Note that most parent parsers will specify ``add_help=False``. Otherwise, " +"the :class:`ArgumentParser` will see two ``-h/--help`` options (one in the " +"parent and one in the child) and raise an error." +msgstr "" +"Зауважте, що більшість батьківських аналізаторів вказуватимуть " +"``add_help=False``. Інакше :class:`ArgumentParser` побачить два параметри ``-" +"h/--help`` (один у батьківському і один у дочірньому) і викличе помилку." + +msgid "" +"You must fully initialize the parsers before passing them via ``parents=``. " +"If you change the parent parsers after the child parser, those changes will " +"not be reflected in the child." +msgstr "" +"Ви повинні повністю ініціалізувати аналізатори перед тим, як передавати їх " +"через ``parents=``. Якщо ви змінюєте батьківські аналізатори після " +"дочірнього, ці зміни не відображатимуться в дочірньому." + +msgid "formatter_class" +msgstr "formatter_class" + +msgid "" +":class:`ArgumentParser` objects allow the help formatting to be customized " +"by specifying an alternate formatting class. Currently, there are four such " +"classes:" +msgstr "" +"Об’єкти :class:`ArgumentParser` дозволяють налаштувати форматування довідки " +"шляхом визначення альтернативного класу форматування. На даний момент існує " +"чотири таких класи:" + +msgid "" +":class:`RawDescriptionHelpFormatter` and :class:`RawTextHelpFormatter` give " +"more control over how textual descriptions are displayed. By default, :class:" +"`ArgumentParser` objects line-wrap the description_ and epilog_ texts in " +"command-line help messages::" +msgstr "" +":class:`RawDescriptionHelpFormatter` і :class:`RawTextHelpFormatter` дають " +"більше контролю над тим, як відображаються текстові описи. За замовчуванням " +"об’єкти :class:`ArgumentParser` переносять тексти description_ і epilog_ у " +"довідкові повідомлення командного рядка:" + +msgid "" +"Passing :class:`RawDescriptionHelpFormatter` as ``formatter_class=`` " +"indicates that description_ and epilog_ are already correctly formatted and " +"should not be line-wrapped::" +msgstr "" +"Передача :class:`RawDescriptionHelpFormatter` як ``formatter_class=`` вказує " +"на те, що description_ і epilog_ вже правильно відформатовані і не повинні " +"бути перенесені в рядок::" + +msgid "" +":class:`RawTextHelpFormatter` maintains whitespace for all sorts of help " +"text, including argument descriptions. However, multiple new lines are " +"replaced with one. If you wish to preserve multiple blank lines, add spaces " +"between the newlines." +msgstr "" +":class:`RawTextHelpFormatter` зберігає пробіли для всіх видів довідкового " +"тексту, включаючи описи аргументів. Однак кілька нових рядків замінено " +"одним. Якщо ви бажаєте зберегти кілька порожніх рядків, додайте пробіли між " +"новими рядками." + +msgid "" +":class:`ArgumentDefaultsHelpFormatter` automatically adds information about " +"default values to each of the argument help messages::" +msgstr "" +":class:`ArgumentDefaultsHelpFormatter` автоматично додає інформацію про " +"значення за замовчуванням до кожного довідкового повідомлення аргументу::" + +msgid "" +":class:`MetavarTypeHelpFormatter` uses the name of the type_ argument for " +"each argument as the display name for its values (rather than using the " +"dest_ as the regular formatter does)::" +msgstr "" +":class:`MetavarTypeHelpFormatter` використовує ім’я аргументу type_ для " +"кожного аргументу як відображуване ім’я для його значень (замість " +"використання dest_, як це робить звичайний засіб форматування):" + +msgid "prefix_chars" +msgstr "prefix_chars" + +msgid "" +"Most command-line options will use ``-`` as the prefix, e.g. ``-f/--foo``. " +"Parsers that need to support different or additional prefix characters, e.g. " +"for options like ``+f`` or ``/foo``, may specify them using the " +"``prefix_chars=`` argument to the ArgumentParser constructor::" +msgstr "" +"Більшість параметрів командного рядка використовуватимуть ``-`` як префікс, " +"напр. ``-f/--foo``. Парсери, які повинні підтримувати різні або додаткові " +"префіксні символи, напр. для таких параметрів, як ``+f`` або ``/foo``, можна " +"вказати їх за допомогою аргументу ``prefix_chars=`` конструктора " +"ArgumentParser::" + +msgid "" +"The ``prefix_chars=`` argument defaults to ``'-'``. Supplying a set of " +"characters that does not include ``-`` will cause ``-f/--foo`` options to be " +"disallowed." +msgstr "" +"Аргумент ``prefix_chars=`` за умовчанням має значення ``'-'``. Якщо вказати " +"набір символів, який не містить ``-``, параметри ``-f/--foo`` будуть " +"заборонені." + +msgid "fromfile_prefix_chars" +msgstr "fromfile_prefix_chars" + +msgid "" +"Sometimes, when dealing with a particularly long argument list, it may make " +"sense to keep the list of arguments in a file rather than typing it out at " +"the command line. If the ``fromfile_prefix_chars=`` argument is given to " +"the :class:`ArgumentParser` constructor, then arguments that start with any " +"of the specified characters will be treated as files, and will be replaced " +"by the arguments they contain. For example::" +msgstr "" + +msgid "" +"Arguments read from a file must by default be one per line (but see also :" +"meth:`~ArgumentParser.convert_arg_line_to_args`) and are treated as if they " +"were in the same place as the original file referencing argument on the " +"command line. So in the example above, the expression ``['-f', 'foo', " +"'@args.txt']`` is considered equivalent to the expression ``['-f', 'foo', '-" +"f', 'bar']``." +msgstr "" +"Аргументи, зчитані з файлу, за замовчуванням мають бути по одному на рядок " +"(але дивіться також :meth:`~ArgumentParser.convert_arg_line_to_args`) і " +"обробляються так, ніби вони знаходяться в тому самому місці, що й вихідний " +"аргумент посилання на файл у командному рядку. Отже, у наведеному вище " +"прикладі вираз ``['-f', 'foo', '@args.txt']`` вважається еквівалентним " +"виразу ``['-f', 'foo', '-f ', 'бар']``." + +msgid "" +"The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " +"arguments will never be treated as file references." +msgstr "" +"Аргумент ``fromfile_prefix_chars=`` за умовчанням має значення ``None``, що " +"означає, що аргументи ніколи не розглядатимуться як посилання на файли." + +msgid "argument_default" +msgstr "аргумент_за замовчуванням" + +msgid "" +"Generally, argument defaults are specified either by passing a default to :" +"meth:`~ArgumentParser.add_argument` or by calling the :meth:`~ArgumentParser." +"set_defaults` methods with a specific set of name-value pairs. Sometimes " +"however, it may be useful to specify a single parser-wide default for " +"arguments. This can be accomplished by passing the ``argument_default=`` " +"keyword argument to :class:`ArgumentParser`. For example, to globally " +"suppress attribute creation on :meth:`~ArgumentParser.parse_args` calls, we " +"supply ``argument_default=SUPPRESS``::" +msgstr "" +"Як правило, параметри за замовчуванням вказуються або передачею значення за " +"замовчуванням :meth:`~ArgumentParser.add_argument`, або викликом методів :" +"meth:`~ArgumentParser.set_defaults` із певним набором пар ім’я-значення. " +"Іноді, однак, може бути корисно вказати єдине значення за замовчуванням для " +"параметрів аналізатора. Це можна зробити, передавши аргумент ключового слова " +"``argument_default=`` до :class:`ArgumentParser`. Наприклад, щоб глобально " +"заборонити створення атрибутів у викликах :meth:`~ArgumentParser." +"parse_args`, ми надаємо ``argument_default=SUPPRESS``::" + +msgid "allow_abbrev" +msgstr "дозволити_скорочене" + +msgid "" +"Normally, when you pass an argument list to the :meth:`~ArgumentParser." +"parse_args` method of an :class:`ArgumentParser`, it :ref:`recognizes " +"abbreviations ` of long options." +msgstr "" +"Зазвичай, коли ви передаєте список аргументів у метод :meth:`~ArgumentParser." +"parse_args` :class:`ArgumentParser`, він :ref:`розпізнає абревіатури ` довгих параметрів." + +msgid "This feature can be disabled by setting ``allow_abbrev`` to ``False``::" +msgstr "" +"Цю функцію можна вимкнути, встановивши для параметра ``allow_abbrev`` " +"значення ``False``::" + +msgid "conflict_handler" +msgstr "обробник_конфлікту" + +msgid "" +":class:`ArgumentParser` objects do not allow two actions with the same " +"option string. By default, :class:`ArgumentParser` objects raise an " +"exception if an attempt is made to create an argument with an option string " +"that is already in use::" +msgstr "" +"Об’єкти :class:`ArgumentParser` не дозволяють дві дії з однаковим рядком " +"параметрів. За замовчуванням об’єкти :class:`ArgumentParser` викликають " +"виняток, якщо робиться спроба створити аргумент із рядком параметрів, який " +"уже використовується:" + +msgid "" +"Sometimes (e.g. when using parents_) it may be useful to simply override any " +"older arguments with the same option string. To get this behavior, the " +"value ``'resolve'`` can be supplied to the ``conflict_handler=`` argument " +"of :class:`ArgumentParser`::" +msgstr "" +"Іноді (наприклад, під час використання батьків_) може бути корисним просто " +"замінити будь-які старіші аргументи тим самим рядком параметрів. Щоб " +"отримати таку поведінку, значення ``'resolve'`` можна надати аргументу " +"``conflict_handler=`` :class:`ArgumentParser`::" + +msgid "" +"Note that :class:`ArgumentParser` objects only remove an action if all of " +"its option strings are overridden. So, in the example above, the old ``-f/--" +"foo`` action is retained as the ``-f`` action, because only the ``--foo`` " +"option string was overridden." +msgstr "" +"Зауважте, що об’єкти :class:`ArgumentParser` видаляють дію лише в тому " +"випадку, якщо перевизначено всі рядки параметрів. Отже, у наведеному вище " +"прикладі стара дія ``-f/--foo`` зберігається як дія ``-f``, тому що було " +"замінено лише рядок опції ``--foo``." + +msgid "add_help" +msgstr "add_help" + +msgid "" +"By default, ArgumentParser objects add an option which simply displays the " +"parser's help message. For example, consider a file named ``myprogram.py`` " +"containing the following code::" +msgstr "" +"За замовчуванням об’єкти ArgumentParser додають параметр, який просто " +"відображає довідкове повідомлення аналізатора. Наприклад, розглянемо файл з " +"назвою ``myprogram.py``, який містить наступний код:" + +msgid "" +"If ``-h`` or ``--help`` is supplied at the command line, the ArgumentParser " +"help will be printed:" +msgstr "" +"Якщо в командному рядку вказано ``-h`` або ``--help``, буде надруковано " +"довідку ArgumentParser:" + +msgid "" +"Occasionally, it may be useful to disable the addition of this help option. " +"This can be achieved by passing ``False`` as the ``add_help=`` argument to :" +"class:`ArgumentParser`::" +msgstr "" +"Іноді може бути корисним вимкнути додавання цієї опції довідки. Цього можна " +"досягти, передавши ``False`` як аргумент ``add_help=`` до :class:" +"`ArgumentParser`::" + +msgid "" +"The help option is typically ``-h/--help``. The exception to this is if the " +"``prefix_chars=`` is specified and does not include ``-``, in which case ``-" +"h`` and ``--help`` are not valid options. In this case, the first character " +"in ``prefix_chars`` is used to prefix the help options::" +msgstr "" +"Параметром довідки зазвичай є ``-h/--help``. Винятком є те, що " +"``prefix_chars=`` указано і не містить ``-``, у цьому випадку ``-h`` і ``--" +"help`` не є дійсними параметрами. У цьому випадку перший символ у " +"``prefix_chars`` використовується для префіксу параметрів довідки::" + +msgid "exit_on_error" +msgstr "exit_on_error" + +msgid "" +"Normally, when you pass an invalid argument list to the :meth:" +"`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, it will " +"exit with error info." +msgstr "" +"Зазвичай, коли ви передаєте недійсний список аргументів у метод :meth:" +"`~ArgumentParser.parse_args` :class:`ArgumentParser`, він завершить роботу з " +"інформацією про помилку." + +msgid "" +"If the user would like to catch errors manually, the feature can be enabled " +"by setting ``exit_on_error`` to ``False``::" +msgstr "" +"Якщо користувач хоче виловлювати помилки вручну, цю функцію можна ввімкнути, " +"встановивши для ``exit_on_error`` значення ``False``::" + +msgid "The add_argument() method" +msgstr "Метод add_argument()." + +msgid "" +"Define how a single command-line argument should be parsed. Each parameter " +"has its own more detailed description below, but in short they are:" +msgstr "" +"Визначте, як слід аналізувати один аргумент командного рядка. Кожен параметр " +"має власний більш детальний опис нижче, але коротко вони:" + +msgid "" +"`name or flags`_ - Either a name or a list of option strings, e.g. ``foo`` " +"or ``-f, --foo``." +msgstr "" +"`name or flags`_ - або ім'я, або список рядків параметрів, напр. ``foo`` або " +"``-f, --foo``." + +msgid "" +"action_ - The basic type of action to be taken when this argument is " +"encountered at the command line." +msgstr "" +"action_ - основний тип дії, яку потрібно виконати, коли цей аргумент " +"зустрічається в командному рядку." + +msgid "nargs_ - The number of command-line arguments that should be consumed." +msgstr "" +"nargs_ – кількість аргументів командного рядка, які мають бути використані." + +msgid "" +"const_ - A constant value required by some action_ and nargs_ selections." +msgstr "" +"const_ – постійне значення, необхідне для вибору деяких action_ і nargs_." + +msgid "" +"default_ - The value produced if the argument is absent from the command " +"line and if it is absent from the namespace object." +msgstr "" +"default_ – значення, створене, якщо аргумент відсутній у командному рядку та " +"якщо він відсутній в об’єкті простору імен." + +msgid "" +"type_ - The type to which the command-line argument should be converted." +msgstr "type_ – тип, до якого потрібно перетворити аргумент командного рядка." + +msgid "choices_ - A container of the allowable values for the argument." +msgstr "choices_ – контейнер допустимих значень для аргументу." + +msgid "" +"required_ - Whether or not the command-line option may be omitted (optionals " +"only)." +msgstr "" +"required_ – чи можна пропустити параметр командного рядка (тільки " +"необов’язковий)." + +msgid "help_ - A brief description of what the argument does." +msgstr "help_ - короткий опис того, що робить аргумент." + +msgid "metavar_ - A name for the argument in usage messages." +msgstr "metavar_ – назва аргументу в повідомленнях про використання." + +msgid "" +"dest_ - The name of the attribute to be added to the object returned by :" +"meth:`parse_args`." +msgstr "" +"dest_ – ім’я атрибута, який буде додано до об’єкта, повернутого :meth:" +"`parse_args`." + +msgid "name or flags" +msgstr "назву чи прапори" + +msgid "" +"The :meth:`~ArgumentParser.add_argument` method must know whether an " +"optional argument, like ``-f`` or ``--foo``, or a positional argument, like " +"a list of filenames, is expected. The first arguments passed to :meth:" +"`~ArgumentParser.add_argument` must therefore be either a series of flags, " +"or a simple argument name." +msgstr "" + +msgid "For example, an optional argument could be created like::" +msgstr "" + +msgid "while a positional argument could be created like::" +msgstr "тоді як позиційний аргумент може бути створений таким чином::" + +msgid "" +"When :meth:`~ArgumentParser.parse_args` is called, optional arguments will " +"be identified by the ``-`` prefix, and the remaining arguments will be " +"assumed to be positional::" +msgstr "" +"Під час виклику :meth:`~ArgumentParser.parse_args` необов’язкові аргументи " +"ідентифікуються префіксом ``-``, а решта аргументів вважатиметься " +"позиційними:" + +msgid "action" +msgstr "дію" + +msgid "" +":class:`ArgumentParser` objects associate command-line arguments with " +"actions. These actions can do just about anything with the command-line " +"arguments associated with them, though most actions simply add an attribute " +"to the object returned by :meth:`~ArgumentParser.parse_args`. The " +"``action`` keyword argument specifies how the command-line arguments should " +"be handled. The supplied actions are:" +msgstr "" +"Об’єкти :class:`ArgumentParser` пов’язують аргументи командного рядка з " +"діями. Ці дії можуть робити що завгодно з пов’язаними з ними аргументами " +"командного рядка, хоча більшість дій просто додають атрибут до об’єкта, який " +"повертає :meth:`~ArgumentParser.parse_args`. Аргумент ключового слова " +"``action`` визначає, як слід обробляти аргументи командного рядка. Надані " +"дії:" + +msgid "" +"``'store'`` - This just stores the argument's value. This is the default " +"action. For example::" +msgstr "" +"``'store'`` – тут лише зберігається значення аргументу. Це типова дія. " +"Наприклад::" + +msgid "" +"``'store_const'`` - This stores the value specified by the const_ keyword " +"argument; note that the const_ keyword argument defaults to ``None``. The " +"``'store_const'`` action is most commonly used with optional arguments that " +"specify some sort of flag. For example::" +msgstr "" + +msgid "" +"``'store_true'`` and ``'store_false'`` - These are special cases of " +"``'store_const'`` used for storing the values ``True`` and ``False`` " +"respectively. In addition, they create default values of ``False`` and " +"``True`` respectively. For example::" +msgstr "" +"``'store_true'`` і ``'store_false'`` – це особливі випадки " +"``'store_const'``, які використовуються для зберігання значень ``True`` і " +"``False`` відповідно. Крім того, вони створюють значення за замовчуванням " +"``False`` і ``True`` відповідно. Наприклад::" + +msgid "" +"``'append'`` - This stores a list, and appends each argument value to the " +"list. It is useful to allow an option to be specified multiple times. If the " +"default value is non-empty, the default elements will be present in the " +"parsed value for the option, with any values from the command line appended " +"after those default values. Example usage::" +msgstr "" + +msgid "" +"``'append_const'`` - This stores a list, and appends the value specified by " +"the const_ keyword argument to the list; note that the const_ keyword " +"argument defaults to ``None``. The ``'append_const'`` action is typically " +"useful when multiple arguments need to store constants to the same list. For " +"example::" +msgstr "" + +msgid "" +"``'count'`` - This counts the number of times a keyword argument occurs. For " +"example, this is useful for increasing verbosity levels::" +msgstr "" +"``'count'`` – підраховує кількість разів, коли виникає аргумент ключового " +"слова. Наприклад, це корисно для збільшення рівнів докладності:" + +msgid "Note, the *default* will be ``None`` unless explicitly set to *0*." +msgstr "" +"Зауважте, *за замовчуванням* буде ``None``, якщо явно не встановлено *0*." + +msgid "" +"``'help'`` - This prints a complete help message for all the options in the " +"current parser and then exits. By default a help action is automatically " +"added to the parser. See :class:`ArgumentParser` for details of how the " +"output is created." +msgstr "" +"``'help'`` - друкує повне повідомлення довідки для всіх параметрів у " +"поточному парсері, а потім завершує роботу. За замовчуванням дія довідки " +"автоматично додається до аналізатора. Дивіться :class:`ArgumentParser` для " +"детальної інформації про те, як створюється вихід." + +msgid "" +"``'version'`` - This expects a ``version=`` keyword argument in the :meth:" +"`~ArgumentParser.add_argument` call, and prints version information and " +"exits when invoked::" +msgstr "" +"``'version'`` – очікується ключовий аргумент ``version=`` у виклику :meth:" +"`~ArgumentParser.add_argument`, друкується інформація про версію та " +"завершується після виклику::" + +msgid "" +"``'extend'`` - This stores a list, and extends each argument value to the " +"list. Example usage::" +msgstr "" +"``'extend'`` – це зберігає список і розширює кожне значення аргументу до " +"списку. Приклад використання::" + +msgid "" +"You may also specify an arbitrary action by passing an Action subclass or " +"other object that implements the same interface. The " +"``BooleanOptionalAction`` is available in ``argparse`` and adds support for " +"boolean actions such as ``--foo`` and ``--no-foo``::" +msgstr "" +"Ви також можете вказати довільну дію, передавши підклас Action або інший " +"об’єкт, який реалізує той самий інтерфейс. ``BooleanOptionalAction`` " +"доступна в ``argparse`` і додає підтримку логічних дій, таких як ``--foo`` і " +"``--no-foo``::" + +msgid "" +"The recommended way to create a custom action is to extend :class:`Action`, " +"overriding the ``__call__`` method and optionally the ``__init__`` and " +"``format_usage`` methods." +msgstr "" +"Рекомендований спосіб створити спеціальну дію — розширити :class:`Action`, " +"замінивши метод ``__call__`` і, за бажанням, ``__init__`` та " +"``format_usage``." + +msgid "An example of a custom action::" +msgstr "Приклад спеціальної дії::" + +msgid "For more details, see :class:`Action`." +msgstr "Для отримання додаткової інформації див. :class:`Action`." + +msgid "nargs" +msgstr "наргс" + +msgid "" +"ArgumentParser objects usually associate a single command-line argument with " +"a single action to be taken. The ``nargs`` keyword argument associates a " +"different number of command-line arguments with a single action. The " +"supported values are:" +msgstr "" +"Об’єкти ArgumentParser зазвичай пов’язують один аргумент командного рядка з " +"однією дією, яку потрібно виконати. Аргумент ключового слова ``nargs`` " +"пов’язує різну кількість аргументів командного рядка з однією дією. " +"Підтримувані значення:" + +msgid "" +"``N`` (an integer). ``N`` arguments from the command line will be gathered " +"together into a list. For example::" +msgstr "" +"``N`` (ціле число). ``N`` аргументів з командного рядка буде зібрано разом у " +"список. Наприклад::" + +msgid "" +"Note that ``nargs=1`` produces a list of one item. This is different from " +"the default, in which the item is produced by itself." +msgstr "" +"Зауважте, що ``nargs=1`` створює список з одного елемента. Це відрізняється " +"від типового, коли елемент створюється сам по собі." + +msgid "" +"``'?'``. One argument will be consumed from the command line if possible, " +"and produced as a single item. If no command-line argument is present, the " +"value from default_ will be produced. Note that for optional arguments, " +"there is an additional case - the option string is present but not followed " +"by a command-line argument. In this case the value from const_ will be " +"produced. Some examples to illustrate this::" +msgstr "" +"``'?'``. Один аргумент буде використано з командного рядка, якщо це можливо, " +"і створено як окремий елемент. Якщо аргумент командного рядка відсутній, " +"буде отримано значення з default_. Зауважте, що для необов’язкових " +"аргументів існує додатковий випадок – рядок параметрів присутній, але не " +"слідує за аргументом командного рядка. У цьому випадку буде отримано " +"значення з const_. Деякі приклади для ілюстрації:" + +msgid "" +"One of the more common uses of ``nargs='?'`` is to allow optional input and " +"output files::" +msgstr "" +"Одне з найпоширеніших застосувань ``nargs='?''`` — дозволити додаткові файли " +"введення та виведення:" + +msgid "" +"``'*'``. All command-line arguments present are gathered into a list. Note " +"that it generally doesn't make much sense to have more than one positional " +"argument with ``nargs='*'``, but multiple optional arguments with " +"``nargs='*'`` is possible. For example::" +msgstr "" +"``'*'``. Усі присутні аргументи командного рядка збираються у список. " +"Зауважте, що зазвичай не має сенсу мати більше одного позиційного аргументу " +"з ``nargs='*'``, але кілька необов'язкових аргументів з ``nargs='*'`` " +"можливі. Наприклад::" + +msgid "" +"``'+'``. Just like ``'*'``, all command-line args present are gathered into " +"a list. Additionally, an error message will be generated if there wasn't at " +"least one command-line argument present. For example::" +msgstr "" +"``'+'``. Подібно до ``'*'``, усі наявні аргументи командного рядка " +"збираються в список. Крім того, буде створено повідомлення про помилку, якщо " +"не було принаймні одного аргументу командного рядка. Наприклад::" + +msgid "" +"If the ``nargs`` keyword argument is not provided, the number of arguments " +"consumed is determined by the action_. Generally this means a single " +"command-line argument will be consumed and a single item (not a list) will " +"be produced." +msgstr "" +"Якщо аргумент ключового слова ``nargs`` не надано, кількість споживаних " +"аргументів визначається дією_. Загалом це означає, що один аргумент " +"командного рядка буде використано, і буде створено один елемент (не список)." + +msgid "const" +msgstr "конст" + +msgid "" +"The ``const`` argument of :meth:`~ArgumentParser.add_argument` is used to " +"hold constant values that are not read from the command line but are " +"required for the various :class:`ArgumentParser` actions. The two most " +"common uses of it are:" +msgstr "" +"Аргумент ``const`` :meth:`~ArgumentParser.add_argument` використовується для " +"зберігання постійних значень, які не читаються з командного рядка, але " +"потрібні для різних дій :class:`ArgumentParser`. Два найпоширеніші його " +"використання:" + +msgid "" +"When :meth:`~ArgumentParser.add_argument` is called with " +"``action='store_const'`` or ``action='append_const'``. These actions add " +"the ``const`` value to one of the attributes of the object returned by :meth:" +"`~ArgumentParser.parse_args`. See the action_ description for examples. If " +"``const`` is not provided to :meth:`~ArgumentParser.add_argument`, it will " +"receive a default value of ``None``." +msgstr "" + +msgid "" +"When :meth:`~ArgumentParser.add_argument` is called with option strings " +"(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional " +"argument that can be followed by zero or one command-line arguments. When " +"parsing the command line, if the option string is encountered with no " +"command-line argument following it, the value of ``const`` will be assumed " +"to be ``None`` instead. See the nargs_ description for examples." +msgstr "" + +msgid "" +"``const=None`` by default, including when ``action='append_const'`` or " +"``action='store_const'``." +msgstr "" + +msgid "default" +msgstr "за замовчуванням" + +msgid "" +"All optional arguments and some positional arguments may be omitted at the " +"command line. The ``default`` keyword argument of :meth:`~ArgumentParser." +"add_argument`, whose value defaults to ``None``, specifies what value should " +"be used if the command-line argument is not present. For optional arguments, " +"the ``default`` value is used when the option string was not present at the " +"command line::" +msgstr "" +"Усі додаткові аргументи та деякі позиційні аргументи можна пропустити в " +"командному рядку. Аргумент ключового слова ``default`` :meth:" +"`~ArgumentParser.add_argument`, значення якого за замовчуванням ``None``, " +"визначає, яке значення слід використовувати, якщо аргумент командного рядка " +"відсутній. Для необов’язкових аргументів використовується значення ``за " +"замовчуванням``, якщо рядок параметрів відсутній у командному рядку::" + +msgid "" +"If the target namespace already has an attribute set, the action *default* " +"will not over write it::" +msgstr "" +"Якщо цільовий простір імен уже має встановлений атрибут, дія *default* не " +"перезаписує його:" + +msgid "" +"If the ``default`` value is a string, the parser parses the value as if it " +"were a command-line argument. In particular, the parser applies any type_ " +"conversion argument, if provided, before setting the attribute on the :class:" +"`Namespace` return value. Otherwise, the parser uses the value as is::" +msgstr "" +"Якщо значенням ``default`` є рядок, синтаксичний аналізатор аналізує " +"значення так, ніби це аргумент командного рядка. Зокрема, синтаксичний " +"аналізатор застосовує будь-який аргумент перетворення type_, якщо він " +"надається, перед встановленням атрибута для значення, що повертається :class:" +"`Namespace`. В іншому випадку аналізатор використовує значення як є::" + +msgid "" +"For positional arguments with nargs_ equal to ``?`` or ``*``, the " +"``default`` value is used when no command-line argument was present::" +msgstr "" +"Для позиційних аргументів, у яких nargs_ дорівнює ``?`` або ``*``, значення " +"``default`` використовується, якщо аргумент командного рядка відсутній:" + +msgid "" +"Providing ``default=argparse.SUPPRESS`` causes no attribute to be added if " +"the command-line argument was not present::" +msgstr "" +"Якщо вказати ``default=argparse.SUPPRESS``, атрибут не буде додано, якщо " +"аргумент командного рядка відсутній:" + +msgid "type" +msgstr "типу" + +msgid "" +"By default, the parser reads command-line arguments in as simple strings. " +"However, quite often the command-line string should instead be interpreted " +"as another type, such as a :class:`float` or :class:`int`. The ``type`` " +"keyword for :meth:`~ArgumentParser.add_argument` allows any necessary type-" +"checking and type conversions to be performed." +msgstr "" +"За замовчуванням аналізатор читає аргументи командного рядка як прості " +"рядки. Однак досить часто рядок командного рядка слід інтерпретувати як " +"інший тип, наприклад :class:`float` або :class:`int`. Ключове слово ``type`` " +"для :meth:`~ArgumentParser.add_argument` дозволяє виконувати будь-які " +"необхідні перевірки типів і перетворення типів." + +msgid "" +"If the type_ keyword is used with the default_ keyword, the type converter " +"is only applied if the default is a string." +msgstr "" +"Якщо ключове слово type_ використовується з ключовим словом default_, " +"конвертер типів застосовується, лише якщо значенням за замовчуванням є рядок." + +msgid "" +"The argument to ``type`` can be any callable that accepts a single string. " +"If the function raises :exc:`ArgumentTypeError`, :exc:`TypeError`, or :exc:" +"`ValueError`, the exception is caught and a nicely formatted error message " +"is displayed. No other exception types are handled." +msgstr "" +"Аргументом типу може бути будь-який виклик, який приймає один рядок. Якщо " +"функція викликає помилку :exc:`ArgumentTypeError`, :exc:`TypeError` або :exc:" +"`ValueError`, виняток буде перехоплено, і відобразиться повідомлення про " +"помилку в гарному форматі. Інші типи винятків не обробляються." + +msgid "Common built-in types and functions can be used as type converters:" +msgstr "" +"Загальні вбудовані типи та функції можна використовувати як перетворювачі " +"типів:" + +msgid "User defined functions can be used as well:" +msgstr "Також можна використовувати визначені користувачем функції:" + +msgid "" +"The :func:`bool` function is not recommended as a type converter. All it " +"does is convert empty strings to ``False`` and non-empty strings to " +"``True``. This is usually not what is desired." +msgstr "" +"Функцію :func:`bool` не рекомендується використовувати як перетворювач " +"типів. Усе, що він робить, це перетворює порожні рядки на ``False``, а " +"непорожні рядки — на ``True``. Зазвичай це не те, чого хочеться." + +msgid "" +"In general, the ``type`` keyword is a convenience that should only be used " +"for simple conversions that can only raise one of the three supported " +"exceptions. Anything with more interesting error-handling or resource " +"management should be done downstream after the arguments are parsed." +msgstr "" +"Загалом, ключове слово ``type`` є зручним, і його слід використовувати лише " +"для простих перетворень, які можуть викликати лише одне з трьох " +"підтримуваних винятків. Усе, що має більш цікаву обробку помилок або " +"керування ресурсами, має бути зроблено нижче за течією після аналізу " +"аргументів." + +msgid "" +"For example, JSON or YAML conversions have complex error cases that require " +"better reporting than can be given by the ``type`` keyword. A :exc:`~json." +"JSONDecodeError` would not be well formatted and a :exc:`FileNotFound` " +"exception would not be handled at all." +msgstr "" +"Наприклад, перетворення JSON або YAML мають складні випадки помилок, які " +"вимагають кращого звітування, ніж те, що може надати ключове слово ``type``. " +"Помилка :exc:`~json.JSONDecodeError` буде неправильно відформатована, а " +"виняток :exc:`FileNotFound` взагалі не оброблятиметься." + +msgid "" +"Even :class:`~argparse.FileType` has its limitations for use with the " +"``type`` keyword. If one argument uses *FileType* and then a subsequent " +"argument fails, an error is reported but the file is not automatically " +"closed. In this case, it would be better to wait until after the parser has " +"run and then use the :keyword:`with`-statement to manage the files." +msgstr "" +"Навіть :class:`~argparse.FileType` має свої обмеження щодо використання з " +"ключовим словом ``type``. Якщо один аргумент використовує *FileType*, а " +"наступний аргумент не виконується, повідомляється про помилку, але файл не " +"закривається автоматично. У цьому випадку було б краще дочекатися завершення " +"роботи синтаксичного аналізатора, а потім використовувати оператор :keyword:" +"`with` для керування файлами." + +msgid "" +"For type checkers that simply check against a fixed set of values, consider " +"using the choices_ keyword instead." +msgstr "" +"Для засобів перевірки типів, які просто перевіряють фіксований набір " +"значень, подумайте про використання ключового слова choices_." + +msgid "choices" +msgstr "вибір" + +msgid "" +"Some command-line arguments should be selected from a restricted set of " +"values. These can be handled by passing a container object as the *choices* " +"keyword argument to :meth:`~ArgumentParser.add_argument`. When the command " +"line is parsed, argument values will be checked, and an error message will " +"be displayed if the argument was not one of the acceptable values::" +msgstr "" +"Деякі аргументи командного рядка слід вибирати з обмеженого набору значень. " +"З ними можна впоратися, передавши об’єкт-контейнер як аргумент ключового " +"слова *choices* до :meth:`~ArgumentParser.add_argument`. Під час " +"синтаксичного аналізу командного рядка значення аргументів буде перевірено, " +"і якщо аргумент не буде одним із допустимих значень, відобразиться " +"повідомлення про помилку:" + +msgid "" +"Note that inclusion in the *choices* container is checked after any type_ " +"conversions have been performed, so the type of the objects in the *choices* " +"container should match the type_ specified::" +msgstr "" +"Зауважте, що включення до контейнера *choices* перевіряється після виконання " +"будь-яких перетворень type_, тому тип об’єктів у контейнері *choices* має " +"відповідати вказаному type_::" + +msgid "" +"Any container can be passed as the *choices* value, so :class:`list` " +"objects, :class:`set` objects, and custom containers are all supported." +msgstr "" +"Будь-який контейнер можна передати як значення *choices*, тому підтримуються " +"об’єкти :class:`list`, об’єкти :class:`set` і спеціальні контейнери." + +msgid "" +"Use of :class:`enum.Enum` is not recommended because it is difficult to " +"control its appearance in usage, help, and error messages." +msgstr "" +"Використання :class:`enum.Enum` не рекомендується, оскільки важко " +"контролювати його появу в повідомленнях про використання, довідці та " +"помилках." + +msgid "" +"Formatted choices override the default *metavar* which is normally derived " +"from *dest*. This is usually what you want because the user never sees the " +"*dest* parameter. If this display isn't desirable (perhaps because there " +"are many choices), just specify an explicit metavar_." +msgstr "" + +msgid "required" +msgstr "вимагається" + +msgid "" +"In general, the :mod:`argparse` module assumes that flags like ``-f`` and " +"``--bar`` indicate *optional* arguments, which can always be omitted at the " +"command line. To make an option *required*, ``True`` can be specified for " +"the ``required=`` keyword argument to :meth:`~ArgumentParser.add_argument`::" +msgstr "" +"Загалом, модуль :mod:`argparse` припускає, що такі прапорці, як ``-f`` і ``--" +"bar``, вказують на *необов’язкові* аргументи, які завжди можна пропустити в " +"командному рядку. Щоб зробити опцію *обов’язковою*, можна вказати ``True`` " +"для ключового аргументу ``required=`` для :meth:`~ArgumentParser." +"add_argument`::" + +msgid "" +"As the example shows, if an option is marked as ``required``, :meth:" +"`~ArgumentParser.parse_args` will report an error if that option is not " +"present at the command line." +msgstr "" +"Як показує приклад, якщо параметр позначено як ``required``, :meth:" +"`~ArgumentParser.parse_args` повідомить про помилку, якщо цей параметр " +"відсутній у командному рядку." + +msgid "" +"Required options are generally considered bad form because users expect " +"*options* to be *optional*, and thus they should be avoided when possible." +msgstr "" +"Обов’язкові параметри зазвичай вважаються поганим тоном, оскільки " +"користувачі очікують, що *параметри* будуть *необов’язковими*, тому їх слід " +"уникати, коли це можливо." + +msgid "help" +msgstr "допомогти" + +msgid "" +"The ``help`` value is a string containing a brief description of the " +"argument. When a user requests help (usually by using ``-h`` or ``--help`` " +"at the command line), these ``help`` descriptions will be displayed with " +"each argument::" +msgstr "" +"Значення ``help`` - це рядок, що містить короткий опис аргументу. Коли " +"користувач запитує довідку (зазвичай за допомогою ``-h`` або ``--help`` у " +"командному рядку), ці описи ``help`` відображатимуться з кожним аргументом:" + +msgid "" +"The ``help`` strings can include various format specifiers to avoid " +"repetition of things like the program name or the argument default_. The " +"available specifiers include the program name, ``%(prog)s`` and most keyword " +"arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, ``" +"%(type)s``, etc.::" +msgstr "" +"Рядки ``help`` можуть містити різні специфікатори формату, щоб уникнути " +"повторення таких речей, як назва програми або аргумент default_. Доступні " +"специфікатори включають назву програми, ``%(prog)s`` та більшість ключових " +"аргументів для :meth:`~ArgumentParser.add_argument`, напр. ``%(default)s``, " +"``%(type)s`` тощо::" + +msgid "" +"As the help string supports %-formatting, if you want a literal ``%`` to " +"appear in the help string, you must escape it as ``%%``." +msgstr "" +"Оскільки рядок довідки підтримує %-formatting, якщо ви хочете, щоб літерал ``" +"%`` з’явився в рядку довідки, ви повинні екранувати його як ``%%``." + +msgid "" +":mod:`argparse` supports silencing the help entry for certain options, by " +"setting the ``help`` value to ``argparse.SUPPRESS``::" +msgstr "" +":mod:`argparse` підтримує вимикання запису довідки для певних параметрів " +"шляхом встановлення значення ``help`` на ``argparse.SUPPRESS``::" + +msgid "metavar" +msgstr "метавар" + +msgid "" +"When :class:`ArgumentParser` generates help messages, it needs some way to " +"refer to each expected argument. By default, ArgumentParser objects use the " +"dest_ value as the \"name\" of each object. By default, for positional " +"argument actions, the dest_ value is used directly, and for optional " +"argument actions, the dest_ value is uppercased. So, a single positional " +"argument with ``dest='bar'`` will be referred to as ``bar``. A single " +"optional argument ``--foo`` that should be followed by a single command-line " +"argument will be referred to as ``FOO``. An example::" +msgstr "" +"Коли :class:`ArgumentParser` створює довідкові повідомлення, йому потрібен " +"певний спосіб посилатися на кожен очікуваний аргумент. За замовчуванням " +"об’єкти ArgumentParser використовують значення dest_ як \"ім’я\" кожного " +"об’єкта. За замовчуванням для дій позиційного аргументу значення dest_ " +"використовується безпосередньо, а для необов’язкових дій аргументу значення " +"dest_ пишеться у верхньому регістрі. Отже, один позиційний аргумент із " +"``dest='bar`` буде називатися ``bar``. Один необов’язковий аргумент ``--" +"foo``, за яким має слідувати один аргумент командного рядка, буде називатися " +"``FOO``. Приклад::" + +msgid "An alternative name can be specified with ``metavar``::" +msgstr "Альтернативну назву можна вказати за допомогою ``metavar``::" + +msgid "" +"Note that ``metavar`` only changes the *displayed* name - the name of the " +"attribute on the :meth:`~ArgumentParser.parse_args` object is still " +"determined by the dest_ value." +msgstr "" +"Зауважте, що ``metavar`` змінює лише *відображене* ім’я – ім’я атрибута " +"об’єкта :meth:`~ArgumentParser.parse_args` все ще визначається значенням " +"dest_." + +msgid "" +"Different values of ``nargs`` may cause the metavar to be used multiple " +"times. Providing a tuple to ``metavar`` specifies a different display for " +"each of the arguments::" +msgstr "" +"Різні значення ``nargs`` можуть спричинити багаторазове використання " +"метаперемінної. Надання кортежу для ``metavar`` визначає інше відображення " +"для кожного з аргументів::" + +msgid "dest" +msgstr "дест" + +msgid "" +"Most :class:`ArgumentParser` actions add some value as an attribute of the " +"object returned by :meth:`~ArgumentParser.parse_args`. The name of this " +"attribute is determined by the ``dest`` keyword argument of :meth:" +"`~ArgumentParser.add_argument`. For positional argument actions, ``dest`` " +"is normally supplied as the first argument to :meth:`~ArgumentParser." +"add_argument`::" +msgstr "" +"Більшість дій :class:`ArgumentParser` додають певне значення як атрибут " +"об’єкта, який повертає :meth:`~ArgumentParser.parse_args`. Ім’я цього " +"атрибута визначається ключовим аргументом ``dest`` :meth:`~ArgumentParser." +"add_argument`. Для дій позиційного аргументу ``dest`` зазвичай надається як " +"перший аргумент :meth:`~ArgumentParser.add_argument`::" + +msgid "" +"For optional argument actions, the value of ``dest`` is normally inferred " +"from the option strings. :class:`ArgumentParser` generates the value of " +"``dest`` by taking the first long option string and stripping away the " +"initial ``--`` string. If no long option strings were supplied, ``dest`` " +"will be derived from the first short option string by stripping the initial " +"``-`` character. Any internal ``-`` characters will be converted to ``_`` " +"characters to make sure the string is a valid attribute name. The examples " +"below illustrate this behavior::" +msgstr "" +"Для необов’язкових дій аргументів значення ``dest`` зазвичай виводиться з " +"рядків параметрів. :class:`ArgumentParser` генерує значення ``dest``, беручи " +"перший довгий рядок параметрів і видаляючи початковий рядок ``--``. Якщо не " +"було надано довгих рядків параметрів, ``dest`` буде отримано з першого " +"короткого рядка параметрів шляхом видалення початкового символу ``-``. Усі " +"внутрішні символи \"-\" буде перетворено на символи \"_\", щоб переконатися, " +"що рядок є дійсною назвою атрибута. Наведені нижче приклади ілюструють цю " +"поведінку:" + +msgid "``dest`` allows a custom attribute name to be provided::" +msgstr "``dest`` дозволяє надати ім'я спеціального атрибута:" + +msgid "Action classes" +msgstr "Класи дії" + +msgid "" +"Action classes implement the Action API, a callable which returns a callable " +"which processes arguments from the command-line. Any object which follows " +"this API may be passed as the ``action`` parameter to :meth:`add_argument`." +msgstr "" +"Класи дій реалізують Action API, виклик, який повертає виклик, який обробляє " +"аргументи з командного рядка. Будь-який об’єкт, який слідує за цим API, " +"можна передати як параметр ``action`` до :meth:`add_argument`." + +msgid "" +"Action objects are used by an ArgumentParser to represent the information " +"needed to parse a single argument from one or more strings from the command " +"line. The Action class must accept the two positional arguments plus any " +"keyword arguments passed to :meth:`ArgumentParser.add_argument` except for " +"the ``action`` itself." +msgstr "" +"Об’єкти дії використовуються ArgumentParser для представлення інформації, " +"необхідної для аналізу одного аргументу з одного або кількох рядків із " +"командного рядка. Клас Action повинен приймати два позиційні аргументи плюс " +"будь-які ключові аргументи, передані в :meth:`ArgumentParser.add_argument`, " +"крім самої ``action``." + +msgid "" +"Instances of Action (or return value of any callable to the ``action`` " +"parameter) should have attributes \"dest\", \"option_strings\", \"default\", " +"\"type\", \"required\", \"help\", etc. defined. The easiest way to ensure " +"these attributes are defined is to call ``Action.__init__``." +msgstr "" +"Екземпляри Action (або значення, що повертається будь-яким викликом " +"параметра ``action``) повинні мати визначені атрибути \"dest\", " +"\"option_strings\", \"default\", \"type\", \"required\", \"help\" тощо. " +"Найпростіший спосіб переконатися, що ці атрибути визначені, це викликати " +"``Action.__init__``." + +msgid "" +"Action instances should be callable, so subclasses must override the " +"``__call__`` method, which should accept four parameters:" +msgstr "" +"Екземпляри дій мають бути викликаними, тому підкласи повинні перевизначати " +"метод ``__call__``, який має приймати чотири параметри:" + +msgid "``parser`` - The ArgumentParser object which contains this action." +msgstr "``parser`` – об’єкт ArgumentParser, який містить цю дію." + +msgid "" +"``namespace`` - The :class:`Namespace` object that will be returned by :meth:" +"`~ArgumentParser.parse_args`. Most actions add an attribute to this object " +"using :func:`setattr`." +msgstr "" +"``простір імен`` – об’єкт :class:`Namespace`, який повертатиме :meth:" +"`~ArgumentParser.parse_args`. Більшість дій додають атрибут до цього об’єкта " +"за допомогою :func:`setattr`." + +msgid "" +"``values`` - The associated command-line arguments, with any type " +"conversions applied. Type conversions are specified with the type_ keyword " +"argument to :meth:`~ArgumentParser.add_argument`." +msgstr "" +"``значення`` – пов’язані аргументи командного рядка з будь-якими " +"застосованими перетвореннями типів. Перетворення типів вказуються аргументом " +"ключового слова type_ для :meth:`~ArgumentParser.add_argument`." + +msgid "" +"``option_string`` - The option string that was used to invoke this action. " +"The ``option_string`` argument is optional, and will be absent if the action " +"is associated with a positional argument." +msgstr "" +"``option_string`` - рядок параметра, який використовувався для виклику цієї " +"дії. Аргумент ``option_string`` необов’язковий і буде відсутній, якщо дію " +"пов’язано з позиційним аргументом." + +msgid "" +"The ``__call__`` method may perform arbitrary actions, but will typically " +"set attributes on the ``namespace`` based on ``dest`` and ``values``." +msgstr "" +"Метод ``__call__`` може виконувати довільні дії, але зазвичай встановлює " +"атрибути в ``простір імен`` на основі ``dest`` і ``values``." + +msgid "" +"Action subclasses can define a ``format_usage`` method that takes no " +"argument and return a string which will be used when printing the usage of " +"the program. If such method is not provided, a sensible default will be used." +msgstr "" +"Підкласи дій можуть визначати метод ``format_usage``, який не приймає " +"аргументів і повертає рядок, який використовуватиметься під час друку " +"використання програми. Якщо такий метод не надано, буде використано розумне " +"значення за умовчанням." + +msgid "The parse_args() method" +msgstr "Метод parse_args()." + +msgid "" +"Convert argument strings to objects and assign them as attributes of the " +"namespace. Return the populated namespace." +msgstr "" +"Перетворіть рядки аргументів на об’єкти та призначте їх як атрибути простору " +"імен. Повернути заповнений простір імен." + +msgid "" +"Previous calls to :meth:`add_argument` determine exactly what objects are " +"created and how they are assigned. See the documentation for :meth:" +"`add_argument` for details." +msgstr "" +"Попередні виклики :meth:`add_argument` точно визначають, які об’єкти " +"створюються та як вони призначаються. Перегляньте документацію для :meth:" +"`add_argument` для деталей." + +msgid "" +"args_ - List of strings to parse. The default is taken from :data:`sys." +"argv`." +msgstr "" +"args_ - список рядків для аналізу. Типове значення взято з :data:`sys.argv`." + +msgid "" +"namespace_ - An object to take the attributes. The default is a new empty :" +"class:`Namespace` object." +msgstr "" +"namespace_ – об’єкт для отримання атрибутів. Типовим є новий порожній " +"об’єкт :class:`Namespace`." + +msgid "Option value syntax" +msgstr "Синтаксис значення опції" + +msgid "" +"The :meth:`~ArgumentParser.parse_args` method supports several ways of " +"specifying the value of an option (if it takes one). In the simplest case, " +"the option and its value are passed as two separate arguments::" +msgstr "" +"Метод :meth:`~ArgumentParser.parse_args` підтримує кілька способів " +"визначення значення параметра (якщо воно приймається). У найпростішому " +"випадку параметр і його значення передаються як два окремих аргументи:" + +msgid "" +"For long options (options with names longer than a single character), the " +"option and value can also be passed as a single command-line argument, using " +"``=`` to separate them::" +msgstr "" +"Для довгих параметрів (параметрів з іменами, довшими за один символ), " +"параметр і значення також можна передати як один аргумент командного рядка, " +"використовуючи ``=``, щоб розділити їх::" + +msgid "" +"For short options (options only one character long), the option and its " +"value can be concatenated::" +msgstr "" +"Для коротких опцій (опції лише з одного символу) опцію та її значення можна " +"об’єднати:" + +msgid "" +"Several short options can be joined together, using only a single ``-`` " +"prefix, as long as only the last option (or none of them) requires a value::" +msgstr "" +"Кілька коротких опцій можна об’єднати разом, використовуючи лише один " +"префікс ``-``, якщо тільки остання опція (або жодна з них) вимагає значення::" + +msgid "Invalid arguments" +msgstr "Недійсні аргументи" + +msgid "" +"While parsing the command line, :meth:`~ArgumentParser.parse_args` checks " +"for a variety of errors, including ambiguous options, invalid types, invalid " +"options, wrong number of positional arguments, etc. When it encounters such " +"an error, it exits and prints the error along with a usage message::" +msgstr "" +"Під час аналізу командного рядка :meth:`~ArgumentParser.parse_args` " +"перевіряє наявність різноманітних помилок, включаючи неоднозначні параметри, " +"недійсні типи, недійсні параметри, неправильну кількість позиційних " +"аргументів тощо. Коли він стикається з такою помилкою, він виходить і друкує " +"помилку разом із повідомленням про використання::" + +msgid "Arguments containing ``-``" +msgstr "Аргументи, що містять ``-``" + +msgid "" +"The :meth:`~ArgumentParser.parse_args` method attempts to give errors " +"whenever the user has clearly made a mistake, but some situations are " +"inherently ambiguous. For example, the command-line argument ``-1`` could " +"either be an attempt to specify an option or an attempt to provide a " +"positional argument. The :meth:`~ArgumentParser.parse_args` method is " +"cautious here: positional arguments may only begin with ``-`` if they look " +"like negative numbers and there are no options in the parser that look like " +"negative numbers::" +msgstr "" +"Метод :meth:`~ArgumentParser.parse_args` намагається видавати помилки " +"щоразу, коли користувач явно зробив помилку, але деякі ситуації за своєю " +"суттю неоднозначні. Наприклад, аргумент командного рядка \"-1\" може бути " +"або спробою вказати параметр, або спробою надати позиційний аргумент. Метод :" +"meth:`~ArgumentParser.parse_args` тут обережний: позиційні аргументи можуть " +"починатися лише з ``-``, якщо вони виглядають як від’ємні числа, і в " +"аналізаторі немає параметрів, які виглядають як від’ємні числа:" + +msgid "" +"If you have positional arguments that must begin with ``-`` and don't look " +"like negative numbers, you can insert the pseudo-argument ``'--'`` which " +"tells :meth:`~ArgumentParser.parse_args` that everything after that is a " +"positional argument::" +msgstr "" +"Якщо у вас є позиційні аргументи, які повинні починатися з ``-`` і не " +"виглядати як від’ємні числа, ви можете вставити псевдоаргумент ``''--'``, " +"який повідомляє :meth:`~ArgumentParser.parse_args`, що все після цього є " +"позиційним аргументом::" + +msgid "Argument abbreviations (prefix matching)" +msgstr "Скорочення аргументів (відповідність префіксу)" + +msgid "" +"The :meth:`~ArgumentParser.parse_args` method :ref:`by default " +"` allows long options to be abbreviated to a prefix, if the " +"abbreviation is unambiguous (the prefix matches a unique option)::" +msgstr "" +"Метод :meth:`~ArgumentParser.parse_args` :ref:`за замовчуванням " +"` дозволяє скорочувати довгі параметри до префікса, якщо " +"скорочення є однозначним (префікс відповідає унікальному параметру)::" + +msgid "" +"An error is produced for arguments that could produce more than one options. " +"This feature can be disabled by setting :ref:`allow_abbrev` to ``False``." +msgstr "" +"Помилка створюється для аргументів, які можуть давати більше одного " +"варіанту. Цю функцію можна вимкнути, встановивши для :ref:`allow_abbrev` " +"значення ``False``." + +msgid "Beyond ``sys.argv``" +msgstr "За межами ``sys.argv``" + +msgid "" +"Sometimes it may be useful to have an ArgumentParser parse arguments other " +"than those of :data:`sys.argv`. This can be accomplished by passing a list " +"of strings to :meth:`~ArgumentParser.parse_args`. This is useful for " +"testing at the interactive prompt::" +msgstr "" +"Іноді може бути корисним, щоб ArgumentParser аналізував аргументи, відмінні " +"від аргументів :data:`sys.argv`. Це можна зробити, передавши список рядків " +"до :meth:`~ArgumentParser.parse_args`. Це корисно для тестування в " +"інтерактивному запиті:" + +msgid "The Namespace object" +msgstr "Об'єкт простору імен" + +msgid "" +"Simple class used by default by :meth:`~ArgumentParser.parse_args` to create " +"an object holding attributes and return it." +msgstr "" +"Простий клас, який за замовчуванням використовується :meth:`~ArgumentParser." +"parse_args` для створення об’єкта з атрибутами та повернення його." + +msgid "" +"This class is deliberately simple, just an :class:`object` subclass with a " +"readable string representation. If you prefer to have dict-like view of the " +"attributes, you can use the standard Python idiom, :func:`vars`::" +msgstr "" +"Цей клас навмисне простий, просто підклас :class:`object` із читабельним " +"представленням рядка. Якщо ви віддаєте перевагу перегляду атрибутів у " +"форматі dict, ви можете використовувати стандартну ідіому Python :func:" +"`vars`::" + +msgid "" +"It may also be useful to have an :class:`ArgumentParser` assign attributes " +"to an already existing object, rather than a new :class:`Namespace` object. " +"This can be achieved by specifying the ``namespace=`` keyword argument::" +msgstr "" +"Також може бути корисним, щоб :class:`ArgumentParser` призначав атрибути вже " +"існуючому об’єкту, а не новому об’єкту :class:`Namespace`. Цього можна " +"досягти, вказавши аргумент ключового слова ``namespace=``::" + +msgid "Other utilities" +msgstr "Інші комунальні послуги" + +msgid "Sub-commands" +msgstr "Підкоманди" + +msgid "" +"Many programs split up their functionality into a number of sub-commands, " +"for example, the ``svn`` program can invoke sub-commands like ``svn " +"checkout``, ``svn update``, and ``svn commit``. Splitting up functionality " +"this way can be a particularly good idea when a program performs several " +"different functions which require different kinds of command-line " +"arguments. :class:`ArgumentParser` supports the creation of such sub-" +"commands with the :meth:`add_subparsers` method. The :meth:`add_subparsers` " +"method is normally called with no arguments and returns a special action " +"object. This object has a single method, :meth:`~ArgumentParser." +"add_parser`, which takes a command name and any :class:`ArgumentParser` " +"constructor arguments, and returns an :class:`ArgumentParser` object that " +"can be modified as usual." +msgstr "" +"Багато програм поділяють свої функції на декілька підкоманд, наприклад, " +"програма ``svn`` може викликати такі підкоманди, як ``svn checkout``, ``svn " +"update`` і ``svn commit``. Поділ функціональності таким чином може бути " +"особливо гарною ідеєю, коли програма виконує кілька різних функцій, які " +"потребують різних типів аргументів командного рядка. :class:`ArgumentParser` " +"підтримує створення таких підкоманд за допомогою методу :meth:" +"`add_subparsers`. Метод :meth:`add_subparsers` зазвичай викликається без " +"аргументів і повертає спеціальний об’єкт дії. Цей об’єкт має один метод, :" +"meth:`~ArgumentParser.add_parser`, який приймає ім’я команди та будь-які " +"аргументи конструктора :class:`ArgumentParser` і повертає об’єкт :class:" +"`ArgumentParser`, який можна змінювати як зазвичай." + +msgid "Description of parameters:" +msgstr "Опис параметрів:" + +msgid "" +"title - title for the sub-parser group in help output; by default " +"\"subcommands\" if description is provided, otherwise uses title for " +"positional arguments" +msgstr "" +"title - заголовок для групи суб-парсера у виведенні довідки; за " +"замовчуванням \"підкоманди\", якщо надається опис, інакше використовує " +"заголовок для позиційних аргументів" + +msgid "" +"description - description for the sub-parser group in help output, by " +"default ``None``" +msgstr "" +"description - опис для групи суб-парсера у виведенні довідки, за " +"замовчуванням ``None``" + +msgid "" +"prog - usage information that will be displayed with sub-command help, by " +"default the name of the program and any positional arguments before the " +"subparser argument" +msgstr "" +"prog - інформація про використання, яка відображатиметься з довідкою " +"підкоманд, за замовчуванням назва програми та будь-які позиційні аргументи " +"перед аргументом subparser" + +msgid "" +"parser_class - class which will be used to create sub-parser instances, by " +"default the class of the current parser (e.g. ArgumentParser)" +msgstr "" +"parser_class - клас, який використовуватиметься для створення екземплярів " +"суб-парсера, за замовчуванням клас поточного аналізатора (наприклад, " +"ArgumentParser)" + +msgid "" +"action_ - the basic type of action to be taken when this argument is " +"encountered at the command line" +msgstr "" +"action_ - основний тип дії, яка виконується, коли цей аргумент зустрічається " +"в командному рядку" + +msgid "" +"dest_ - name of the attribute under which sub-command name will be stored; " +"by default ``None`` and no value is stored" +msgstr "" +"dest_ - ім'я атрибута, під яким буде зберігатися ім'я підкоманди; за " +"замовчуванням ``None`` і жодне значення не зберігається" + +msgid "" +"required_ - Whether or not a subcommand must be provided, by default " +"``False`` (added in 3.7)" +msgstr "" +"required_ - чи потрібно надавати підкоманду, за замовчуванням ``False`` " +"(додано в 3.7)" + +msgid "help_ - help for sub-parser group in help output, by default ``None``" +msgstr "" +"help_ - довідка для групи суб-парсера у виведенні довідки, за замовчуванням " +"``None``" + +msgid "" +"metavar_ - string presenting available sub-commands in help; by default it " +"is ``None`` and presents sub-commands in form {cmd1, cmd2, ..}" +msgstr "" +"metavar_ - рядок, що представляє доступні підкоманди в довідці; за " +"замовчуванням це ``None`` і представляє підкоманди у формі {cmd1, cmd2, ..}" + +msgid "Some example usage::" +msgstr "Деякі приклади використання::" + +msgid "" +"Note that the object returned by :meth:`parse_args` will only contain " +"attributes for the main parser and the subparser that was selected by the " +"command line (and not any other subparsers). So in the example above, when " +"the ``a`` command is specified, only the ``foo`` and ``bar`` attributes are " +"present, and when the ``b`` command is specified, only the ``foo`` and " +"``baz`` attributes are present." +msgstr "" +"Зауважте, що об’єкт, який повертає :meth:`parse_args`, міститиме лише " +"атрибути для головного синтаксичного аналізатора та підпарсера, вибраного " +"командним рядком (а не будь-яких інших підпарсерів). Отже, у прикладі вище, " +"коли вказано команду ``a``, присутні лише атрибути ``foo`` і ``bar``, а коли " +"вказано команду ``b``, лише наявні атрибути ``foo`` і ``baz``." + +msgid "" +"Similarly, when a help message is requested from a subparser, only the help " +"for that particular parser will be printed. The help message will not " +"include parent parser or sibling parser messages. (A help message for each " +"subparser command, however, can be given by supplying the ``help=`` argument " +"to :meth:`add_parser` as above.)" +msgstr "" +"Подібним чином, коли довідкове повідомлення запитується від субпарсера, буде " +"надруковано лише довідку для цього конкретного парсера. Повідомлення довідки " +"не включатиме повідомлення батьківського аналізатора або братського " +"аналізатора. (Однак довідкове повідомлення для кожної команди субпарсера " +"можна надати, надавши аргумент ``help=`` для :meth:`add_parser`, як " +"зазначено вище.)" + +msgid "" +"The :meth:`add_subparsers` method also supports ``title`` and " +"``description`` keyword arguments. When either is present, the subparser's " +"commands will appear in their own group in the help output. For example::" +msgstr "" +"Метод :meth:`add_subparsers` також підтримує ключові аргументи ``title`` і " +"``description``. Якщо будь-який з них присутній, команди субпарсера " +"відображатимуться у власній групі у виведенні довідки. Наприклад::" + +msgid "" +"Furthermore, ``add_parser`` supports an additional ``aliases`` argument, " +"which allows multiple strings to refer to the same subparser. This example, " +"like ``svn``, aliases ``co`` as a shorthand for ``checkout``::" +msgstr "" +"Крім того, ``add_parser`` підтримує додатковий аргумент ``aliases``, який " +"дозволяє кільком рядкам посилатися на той самий підпарсер. Цей приклад, як і " +"``svn``, використовує псевдонім ``co`` як скорочення для ``checkout``::" + +msgid "" +"One particularly effective way of handling sub-commands is to combine the " +"use of the :meth:`add_subparsers` method with calls to :meth:`set_defaults` " +"so that each subparser knows which Python function it should execute. For " +"example::" +msgstr "" +"Одним із особливо ефективних способів обробки підкоманд є поєднання " +"використання методу :meth:`add_subparsers` із викликами :meth:" +"`set_defaults`, щоб кожен підрозмір знав, яку функцію Python він має " +"виконати. Наприклад::" + +msgid "" +"This way, you can let :meth:`parse_args` do the job of calling the " +"appropriate function after argument parsing is complete. Associating " +"functions with actions like this is typically the easiest way to handle the " +"different actions for each of your subparsers. However, if it is necessary " +"to check the name of the subparser that was invoked, the ``dest`` keyword " +"argument to the :meth:`add_subparsers` call will work::" +msgstr "" +"Таким чином, ви можете дозволити :meth:`parse_args` виконати роботу з " +"виклику відповідної функції після завершення аналізу аргументу. Пов’язування " +"функцій із подібними діями зазвичай є найпростішим способом обробки різних " +"дій для кожного з ваших підпарсерів. Однак, якщо необхідно перевірити ім’я " +"викликаного субпарсера, аргумент ключового слова ``dest`` для виклику :meth:" +"`add_subparsers` буде працювати:" + +msgid "New *required* keyword argument." +msgstr "Новий *обов’язковий* аргумент ключового слова." + +msgid "FileType objects" +msgstr "Об'єкти FileType" + +msgid "" +"The :class:`FileType` factory creates objects that can be passed to the type " +"argument of :meth:`ArgumentParser.add_argument`. Arguments that have :class:" +"`FileType` objects as their type will open command-line arguments as files " +"with the requested modes, buffer sizes, encodings and error handling (see " +"the :func:`open` function for more details)::" +msgstr "" +"Фабрика :class:`FileType` створює об’єкти, які можна передати в аргумент " +"типу :meth:`ArgumentParser.add_argument`. Аргументи, які мають тип об’єктів :" +"class:`FileType`, відкриватимуть аргументи командного рядка як файли з " +"потрібними режимами, розмірами буфера, кодуванням і обробкою помилок " +"(додаткову інформацію див. у функції :func:`open`)::" + +msgid "" +"FileType objects understand the pseudo-argument ``'-'`` and automatically " +"convert this into :data:`sys.stdin` for readable :class:`FileType` objects " +"and :data:`sys.stdout` for writable :class:`FileType` objects::" +msgstr "" + +msgid "The *encodings* and *errors* keyword arguments." +msgstr "Аргументи ключових слів *encodings* і *errors*." + +msgid "Argument groups" +msgstr "Групи аргументів" + +msgid "" +"By default, :class:`ArgumentParser` groups command-line arguments into " +"\"positional arguments\" and \"optional arguments\" when displaying help " +"messages. When there is a better conceptual grouping of arguments than this " +"default one, appropriate groups can be created using the :meth:" +"`add_argument_group` method::" +msgstr "" +"За замовчуванням :class:`ArgumentParser` групує аргументи командного рядка в " +"\"позиційні аргументи\" та \"необов’язкові аргументи\" під час відображення " +"довідкових повідомлень. Якщо існує краща концептуальна група аргументів, ніж " +"стандартна, відповідні групи можна створити за допомогою методу :meth:" +"`add_argument_group`::" + +msgid "" +"The :meth:`add_argument_group` method returns an argument group object which " +"has an :meth:`~ArgumentParser.add_argument` method just like a regular :" +"class:`ArgumentParser`. When an argument is added to the group, the parser " +"treats it just like a normal argument, but displays the argument in a " +"separate group for help messages. The :meth:`add_argument_group` method " +"accepts *title* and *description* arguments which can be used to customize " +"this display::" +msgstr "" +"Метод :meth:`add_argument_group` повертає об’єкт групи аргументів, який має " +"метод :meth:`~ArgumentParser.add_argument`, як і звичайний :class:" +"`ArgumentParser`. Коли аргумент додається до групи, аналізатор розглядає " +"його як звичайний аргумент, але відображає аргумент в окремій групі для " +"довідкових повідомлень. Метод :meth:`add_argument_group` приймає аргументи " +"*title* і *description*, які можна використовувати для налаштування цього " +"відображення:" + +msgid "" +"Note that any arguments not in your user-defined groups will end up back in " +"the usual \"positional arguments\" and \"optional arguments\" sections." +msgstr "" +"Зверніть увагу, що будь-які аргументи, які не входять до визначених " +"користувачем груп, повертаються до звичайних розділів \"позиційні аргументи" +"\" та \"необов’язкові аргументи\"." + +msgid "" +"Calling :meth:`add_argument_group` on an argument group is deprecated. This " +"feature was never supported and does not always work correctly. The function " +"exists on the API by accident through inheritance and will be removed in the " +"future." +msgstr "" + +msgid "Mutual exclusion" +msgstr "Взаємне виключення" + +msgid "" +"Create a mutually exclusive group. :mod:`argparse` will make sure that only " +"one of the arguments in the mutually exclusive group was present on the " +"command line::" +msgstr "" +"Створіть взаємовиключну групу. :mod:`argparse` переконається, що лише один " +"із аргументів у взаємовиключній групі присутній у командному рядку::" + +msgid "" +"The :meth:`add_mutually_exclusive_group` method also accepts a *required* " +"argument, to indicate that at least one of the mutually exclusive arguments " +"is required::" +msgstr "" +"Метод :meth:`add_mutually_exclusive_group` також приймає *обов’язковий* " +"аргумент, щоб вказати, що потрібен принаймні один із взаємовиключних " +"аргументів:" + +msgid "" +"Note that currently mutually exclusive argument groups do not support the " +"*title* and *description* arguments of :meth:`~ArgumentParser." +"add_argument_group`." +msgstr "" +"Зауважте, що наразі взаємовиключні групи аргументів не підтримують аргументи " +"*title* і *description* :meth:`~ArgumentParser.add_argument_group`." + +msgid "" +"Calling :meth:`add_argument_group` or :meth:`add_mutually_exclusive_group` " +"on a mutually exclusive group is deprecated. These features were never " +"supported and do not always work correctly. The functions exist on the API " +"by accident through inheritance and will be removed in the future." +msgstr "" + +msgid "Parser defaults" +msgstr "Параметри аналізатора за замовчуванням" + +msgid "" +"Most of the time, the attributes of the object returned by :meth:" +"`parse_args` will be fully determined by inspecting the command-line " +"arguments and the argument actions. :meth:`set_defaults` allows some " +"additional attributes that are determined without any inspection of the " +"command line to be added::" +msgstr "" +"У більшості випадків атрибути об’єкта, які повертає :meth:`parse_args`, " +"будуть повністю визначені шляхом перевірки аргументів командного рядка та " +"дій аргументів. :meth:`set_defaults` дозволяє додавати деякі додаткові " +"атрибути, які визначаються без перевірки командного рядка:" + +msgid "" +"Note that parser-level defaults always override argument-level defaults::" +msgstr "" +"Зверніть увагу, що значення за замовчуванням на рівні аналізатора завжди " +"перекривають значення за замовчуванням на рівні аргументів::" + +msgid "" +"Parser-level defaults can be particularly useful when working with multiple " +"parsers. See the :meth:`~ArgumentParser.add_subparsers` method for an " +"example of this type." +msgstr "" +"Значення за замовчуванням на рівні парсера можуть бути особливо корисними " +"під час роботи з декількома парсерами. Перегляньте метод :meth:" +"`~ArgumentParser.add_subparsers` для прикладу цього типу." + +msgid "" +"Get the default value for a namespace attribute, as set by either :meth:" +"`~ArgumentParser.add_argument` or by :meth:`~ArgumentParser.set_defaults`::" +msgstr "" +"Отримати значення за замовчуванням для атрибута простору імен, встановлене " +"або :meth:`~ArgumentParser.add_argument`, або :meth:`~ArgumentParser." +"set_defaults`::" + +msgid "Printing help" +msgstr "Друк довідки" + +msgid "" +"In most typical applications, :meth:`~ArgumentParser.parse_args` will take " +"care of formatting and printing any usage or error messages. However, " +"several formatting methods are available:" +msgstr "" +"У більшості типових програм :meth:`~ArgumentParser.parse_args` подбає про " +"форматування та друк будь-яких повідомлень про використання чи помилки. " +"Однак доступно кілька методів форматування:" + +msgid "" +"Print a brief description of how the :class:`ArgumentParser` should be " +"invoked on the command line. If *file* is ``None``, :data:`sys.stdout` is " +"assumed." +msgstr "" +"Надрукуйте короткий опис того, як :class:`ArgumentParser` слід викликати в " +"командному рядку. Якщо *file* має значення ``None``, передбачається :data:" +"`sys.stdout`." + +msgid "" +"Print a help message, including the program usage and information about the " +"arguments registered with the :class:`ArgumentParser`. If *file* is " +"``None``, :data:`sys.stdout` is assumed." +msgstr "" +"Надрукуйте довідкове повідомлення, включно з використанням програми та " +"інформацією про аргументи, зареєстровані в :class:`ArgumentParser`. Якщо " +"*file* має значення ``None``, передбачається :data:`sys.stdout`." + +msgid "" +"There are also variants of these methods that simply return a string instead " +"of printing it:" +msgstr "" +"Існують також варіанти цих методів, які просто повертають рядок замість " +"того, щоб друкувати його:" + +msgid "" +"Return a string containing a brief description of how the :class:" +"`ArgumentParser` should be invoked on the command line." +msgstr "" +"Повертає рядок, що містить короткий опис того, як :class:`ArgumentParser` " +"слід викликати в командному рядку." + +msgid "" +"Return a string containing a help message, including the program usage and " +"information about the arguments registered with the :class:`ArgumentParser`." +msgstr "" +"Повертає рядок, що містить довідкове повідомлення, включаючи використання " +"програми та інформацію про аргументи, зареєстровані в :class:" +"`ArgumentParser`." + +msgid "Partial parsing" +msgstr "Частковий розбір" + +msgid "" +"Sometimes a script may only parse a few of the command-line arguments, " +"passing the remaining arguments on to another script or program. In these " +"cases, the :meth:`~ArgumentParser.parse_known_args` method can be useful. " +"It works much like :meth:`~ArgumentParser.parse_args` except that it does " +"not produce an error when extra arguments are present. Instead, it returns " +"a two item tuple containing the populated namespace and the list of " +"remaining argument strings." +msgstr "" +"Іноді сценарій може аналізувати лише кілька аргументів командного рядка, " +"передаючи решту аргументів іншому сценарію чи програмі. У цих випадках може " +"бути корисним метод :meth:`~ArgumentParser.parse_known_args`. Він працює так " +"само, як :meth:`~ArgumentParser.parse_args`, за винятком того, що не створює " +"помилки, коли присутні додаткові аргументи. Замість цього він повертає " +"кортеж із двома елементами, що містить заповнений простір імен і список " +"решти рядків аргументів." + +msgid "" +":ref:`Prefix matching ` rules apply to :meth:" +"`parse_known_args`. The parser may consume an option even if it's just a " +"prefix of one of its known options, instead of leaving it in the remaining " +"arguments list." +msgstr "" +":ref:`Правила префікса, що відповідає `, застосовуються до :" +"meth:`parse_known_args`. Синтаксичний аналізатор може використати опцію, " +"навіть якщо це просто префікс однієї з відомих опцій, замість того, щоб " +"залишити її в списку аргументів, що залишилися." + +msgid "Customizing file parsing" +msgstr "Налаштування аналізу файлів" + +msgid "" +"Arguments that are read from a file (see the *fromfile_prefix_chars* keyword " +"argument to the :class:`ArgumentParser` constructor) are read one argument " +"per line. :meth:`convert_arg_line_to_args` can be overridden for fancier " +"reading." +msgstr "" +"Аргументи, які зчитуються з файлу (див. аргумент ключового слова " +"*fromfile_prefix_chars* конструктора :class:`ArgumentParser`), зчитуються по " +"одному аргументу на рядок. :meth:`convert_arg_line_to_args` можна замінити " +"для кращого читання." + +msgid "" +"This method takes a single argument *arg_line* which is a string read from " +"the argument file. It returns a list of arguments parsed from this string. " +"The method is called once per line read from the argument file, in order." +msgstr "" +"Цей метод приймає один аргумент *arg_line*, який є рядком, прочитаним з " +"файлу аргументів. Він повертає список аргументів, розібраних із цього рядка. " +"Метод викликається один раз на рядок, який читається з файлу аргументів, по " +"порядку." + +msgid "" +"A useful override of this method is one that treats each space-separated " +"word as an argument. The following example demonstrates how to do this::" +msgstr "" +"Корисною заміною цього методу є те, що розглядає кожне розділене пробілом " +"слово як аргумент. Наступний приклад демонструє, як це зробити:" + +msgid "Exiting methods" +msgstr "Методи виходу" + +msgid "" +"This method terminates the program, exiting with the specified *status* and, " +"if given, it prints a *message* before that. The user can override this " +"method to handle these steps differently::" +msgstr "" +"Цей метод завершує програму, виходячи з указаним *статусом* і, якщо він " +"заданий, перед цим друкує *повідомлення*. Користувач може перевизначити цей " +"метод, щоб виконати ці кроки інакше:" + +msgid "" +"This method prints a usage message including the *message* to the standard " +"error and terminates the program with a status code of 2." +msgstr "" +"Цей метод друкує повідомлення про використання, включаючи *повідомлення* до " +"стандартної помилки, і завершує роботу програми з кодом стану 2." + +msgid "Intermixed parsing" +msgstr "Змішаний розбір" + +msgid "" +"A number of Unix commands allow the user to intermix optional arguments with " +"positional arguments. The :meth:`~ArgumentParser.parse_intermixed_args` " +"and :meth:`~ArgumentParser.parse_known_intermixed_args` methods support this " +"parsing style." +msgstr "" +"Ряд команд Unix дозволяє користувачеві змішувати додаткові аргументи з " +"позиційними. Методи :meth:`~ArgumentParser.parse_intermixed_args` і :meth:" +"`~ArgumentParser.parse_known_intermixed_args` підтримують цей стиль аналізу." + +msgid "" +"These parsers do not support all the argparse features, and will raise " +"exceptions if unsupported features are used. In particular, subparsers, " +"``argparse.REMAINDER``, and mutually exclusive groups that include both " +"optionals and positionals are not supported." +msgstr "" +"Ці парсери не підтримують усі функції argparse і викликають винятки, якщо " +"використовуються непідтримувані функції. Зокрема, не підтримуються " +"субаналізатори, ``argparse.REMAINDER`` і взаємовиключні групи, які включають " +"опціональні та позиційні." + +msgid "" +"The following example shows the difference between :meth:`~ArgumentParser." +"parse_known_args` and :meth:`~ArgumentParser.parse_intermixed_args`: the " +"former returns ``['2', '3']`` as unparsed arguments, while the latter " +"collects all the positionals into ``rest``. ::" +msgstr "" +"У наступному прикладі показано різницю між :meth:`~ArgumentParser." +"parse_known_args` і :meth:`~ArgumentParser.parse_intermixed_args`: перший " +"повертає ``['2', '3']`` як нерозібрані аргументи, а другий збирає всі " +"позиційні елементи в ``rest``. ::" + +msgid "" +":meth:`~ArgumentParser.parse_known_intermixed_args` returns a two item tuple " +"containing the populated namespace and the list of remaining argument " +"strings. :meth:`~ArgumentParser.parse_intermixed_args` raises an error if " +"there are any remaining unparsed argument strings." +msgstr "" +":meth:`~ArgumentParser.parse_known_intermixed_args` повертає кортеж із двома " +"елементами, що містить заповнений простір імен і список решти рядків " +"аргументів. :meth:`~ArgumentParser.parse_intermixed_args` викликає помилку, " +"якщо залишилися нерозібрані рядки аргументів." + +msgid "Upgrading optparse code" +msgstr "Оновлення коду optparse" + +msgid "" +"Originally, the :mod:`argparse` module had attempted to maintain " +"compatibility with :mod:`optparse`. However, :mod:`optparse` was difficult " +"to extend transparently, particularly with the changes required to support " +"the new ``nargs=`` specifiers and better usage messages. When most " +"everything in :mod:`optparse` had either been copy-pasted over or monkey-" +"patched, it no longer seemed practical to try to maintain the backwards " +"compatibility." +msgstr "" +"Спочатку модуль :mod:`argparse` намагався підтримувати сумісність із :mod:" +"`optparse`. Однак :mod:`optparse` було важко розширити прозоро, особливо зі " +"змінами, необхідними для підтримки нових специфікаторів ``nargs=`` і кращих " +"повідомлень про використання. Коли майже все в :mod:`optparse` було або " +"скопійовано, або виправлено мавпами, більше не здавалося практичним " +"намагатися підтримувати зворотну сумісність." + +msgid "" +"The :mod:`argparse` module improves on the standard library :mod:`optparse` " +"module in a number of ways including:" +msgstr "" +"Модуль :mod:`argparse` покращує модуль стандартної бібліотеки :mod:" +"`optparse` кількома способами, зокрема:" + +msgid "Handling positional arguments." +msgstr "Обробка позиційних аргументів." + +msgid "Supporting sub-commands." +msgstr "Допоміжні підкоманди." + +msgid "Allowing alternative option prefixes like ``+`` and ``/``." +msgstr "Дозволяє альтернативні префікси параметрів, наприклад ``+`` і ``/``." + +msgid "Handling zero-or-more and one-or-more style arguments." +msgstr "Обробка нуля або більше та одного або кількох аргументів стилю." + +msgid "Producing more informative usage messages." +msgstr "Створення більш інформативних повідомлень про використання." + +msgid "Providing a much simpler interface for custom ``type`` and ``action``." +msgstr "" +"Забезпечення набагато простішого інтерфейсу для користувацького ``типу`` і " +"``дії``." + +msgid "A partial upgrade path from :mod:`optparse` to :mod:`argparse`:" +msgstr "Шлях часткового оновлення з :mod:`optparse` до :mod:`argparse`:" + +msgid "" +"Replace all :meth:`optparse.OptionParser.add_option` calls with :meth:" +"`ArgumentParser.add_argument` calls." +msgstr "" +"Замініть усі виклики :meth:`optparse.OptionParser.add_option` на виклики :" +"meth:`ArgumentParser.add_argument`." + +msgid "" +"Replace ``(options, args) = parser.parse_args()`` with ``args = parser." +"parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls " +"for the positional arguments. Keep in mind that what was previously called " +"``options``, now in the :mod:`argparse` context is called ``args``." +msgstr "" +"Замініть ``(options, args) = parser.parse_args()`` на ``args = parser." +"parse_args()`` і додайте додаткові виклики :meth:`ArgumentParser." +"add_argument` для позиційних аргументів. Майте на увазі, що те, що раніше " +"називалося ``options``, тепер у контексті :mod:`argparse` називається " +"``args``." + +msgid "" +"Replace :meth:`optparse.OptionParser.disable_interspersed_args` by using :" +"meth:`~ArgumentParser.parse_intermixed_args` instead of :meth:" +"`~ArgumentParser.parse_args`." +msgstr "" +"Замініть :meth:`optparse.OptionParser.disable_interspersed_args` на " +"використання :meth:`~ArgumentParser.parse_intermixed_args` замість :meth:" +"`~ArgumentParser.parse_args`." + +msgid "" +"Replace callback actions and the ``callback_*`` keyword arguments with " +"``type`` or ``action`` arguments." +msgstr "" +"Замініть дії зворотного виклику та аргументи ключового слова ``callback_*`` " +"на аргументи ``type`` або ``action``." + +msgid "" +"Replace string names for ``type`` keyword arguments with the corresponding " +"type objects (e.g. int, float, complex, etc)." +msgstr "" +"Замініть назви рядків для ключових аргументів ``type`` відповідними " +"об’єктами типу (наприклад, int, float, complex тощо)." + +msgid "" +"Replace :class:`optparse.Values` with :class:`Namespace` and :exc:`optparse." +"OptionError` and :exc:`optparse.OptionValueError` with :exc:`ArgumentError`." +msgstr "" +"Замініть :class:`optparse.Values` на :class:`Namespace` і :exc:`optparse." +"OptionError` і :exc:`optparse.OptionValueError` на :exc:`ArgumentError`." + +msgid "" +"Replace strings with implicit arguments such as ``%default`` or ``%prog`` " +"with the standard Python syntax to use dictionaries to format strings, that " +"is, ``%(default)s`` and ``%(prog)s``." +msgstr "" +"Замініть рядки неявними аргументами, такими як ``%default`` або ``%prog`` " +"стандартним синтаксисом Python, щоб використовувати словники для " +"форматування рядків, тобто ``%(default)s`` і ``%(prog)s``." + +msgid "" +"Replace the OptionParser constructor ``version`` argument with a call to " +"``parser.add_argument('--version', action='version', version='')``." +msgstr "" +"Замініть аргумент ``version`` конструктора OptionParser на виклик ``parser." +"add_argument('--version', action='version', version=' ')``." diff --git a/library/array.po b/library/array.po new file mode 100644 index 000000000..b86e9055a --- /dev/null +++ b/library/array.po @@ -0,0 +1,441 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`array` --- Efficient arrays of numeric values" +msgstr ":mod:`array` --- Ефективні масиви числових значень" + +msgid "" +"This module defines an object type which can compactly represent an array of " +"basic values: characters, integers, floating point numbers. Arrays are " +"sequence types and behave very much like lists, except that the type of " +"objects stored in them is constrained. The type is specified at object " +"creation time by using a :dfn:`type code`, which is a single character. The " +"following type codes are defined:" +msgstr "" +"Цей модуль визначає тип об’єкта, який може компактно представляти масив " +"основних значень: символів, цілих чисел, чисел з плаваючою комою. Масиви є " +"типами послідовностей і поводяться дуже подібно до списків, за винятком " +"того, що тип об’єктів, які в них зберігаються, обмежений. Тип вказується під " +"час створення об’єкта за допомогою :dfn:`type code`, який є одним символом. " +"Визначаються такі коди типів:" + +msgid "Type code" +msgstr "Введіть код" + +msgid "C Type" +msgstr "C Тип" + +msgid "Python Type" +msgstr "Тип Python" + +msgid "Minimum size in bytes" +msgstr "Мінімальний розмір у байтах" + +msgid "Notes" +msgstr "Примітки" + +msgid "``'b'``" +msgstr "``'b''``" + +msgid "signed char" +msgstr "підписаний символ" + +msgid "int" +msgstr "внутр" + +msgid "1" +msgstr "1" + +msgid "``'B'``" +msgstr "``'B'``" + +msgid "unsigned char" +msgstr "беззнаковий символ" + +msgid "``'u'``" +msgstr "``'u''``" + +msgid "wchar_t" +msgstr "wchar_t" + +msgid "Unicode character" +msgstr "символ Unicode" + +msgid "2" +msgstr "2" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``'h'``" +msgstr "``'h''``" + +msgid "signed short" +msgstr "підписаний короткий" + +msgid "``'H'``" +msgstr "``'H''``" + +msgid "unsigned short" +msgstr "непідписаний короткий" + +msgid "``'i'``" +msgstr "``'я''``" + +msgid "signed int" +msgstr "підписаний внутр" + +msgid "``'I'``" +msgstr "``'Я''``" + +msgid "unsigned int" +msgstr "unsigned int" + +msgid "``'l'``" +msgstr "``'l'``" + +msgid "signed long" +msgstr "підписаний довго" + +msgid "4" +msgstr "4" + +msgid "``'L'``" +msgstr "``'L'``" + +msgid "unsigned long" +msgstr "беззнаковий довгий" + +msgid "``'q'``" +msgstr "``'q''``" + +msgid "signed long long" +msgstr "підписаний довгий довгий" + +msgid "8" +msgstr "8" + +msgid "``'Q'``" +msgstr "``'Q''``" + +msgid "unsigned long long" +msgstr "без знака довгий довгий" + +msgid "``'f'``" +msgstr "``'f''``" + +msgid "float" +msgstr "плавати" + +msgid "``'d'``" +msgstr "``'d''``" + +msgid "double" +msgstr "подвійний" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "It can be 16 bits or 32 bits depending on the platform." +msgstr "Це може бути 16 або 32 біти залежно від платформи." + +msgid "" +"``array('u')`` now uses ``wchar_t`` as C type instead of deprecated " +"``Py_UNICODE``. This change doesn't affect its behavior because " +"``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3." +msgstr "" +"``array('u')`` тепер використовує ``wchar_t`` як тип C замість застарілого " +"``Py_UNICODE``. Ця зміна не впливає на його поведінку, оскільки " +"``Py_UNICODE`` є псевдонімом ``wchar_t``, починаючи з Python 3.3." + +msgid "" +"The actual representation of values is determined by the machine " +"architecture (strictly speaking, by the C implementation). The actual size " +"can be accessed through the :attr:`itemsize` attribute." +msgstr "" +"Фактичне представлення значень визначається архітектурою машини (строго " +"кажучи, реалізацією C). Фактичний розмір можна отримати через атрибут :attr:" +"`itemsize`." + +msgid "The module defines the following type:" +msgstr "Модуль визначає наступний тип:" + +msgid "" +"A new array whose items are restricted by *typecode*, and initialized from " +"the optional *initializer* value, which must be a list, a :term:`bytes-like " +"object`, or iterable over elements of the appropriate type." +msgstr "" +"Новий масив, елементи якого обмежені *typecode* та ініціалізуються " +"необов’язковим значенням *ініціалізатора*, яке має бути списком, :term:" +"`bytes-like object` або повторюваним над елементами відповідного типу." + +msgid "" +"If given a list or string, the initializer is passed to the new array's :" +"meth:`fromlist`, :meth:`frombytes`, or :meth:`fromunicode` method (see " +"below) to add initial items to the array. Otherwise, the iterable " +"initializer is passed to the :meth:`extend` method." +msgstr "" +"Якщо задано список або рядок, ініціалізатор передається в новий метод :meth:" +"`fromlist`, :meth:`frombytes` або :meth:`fromunicode` нового масиву (див. " +"нижче), щоб додати початкові елементи до масиву. В іншому випадку " +"ітераційний ініціалізатор передається в метод :meth:`extend`." + +msgid "" +"Raises an :ref:`auditing event ` ``array.__new__`` with arguments " +"``typecode``, ``initializer``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``array.__new__`` з аргументами " +"``typecode``, ``initializer``." + +msgid "A string with all available type codes." +msgstr "Рядок із усіма доступними кодами типів." + +msgid "" +"Array objects support the ordinary sequence operations of indexing, slicing, " +"concatenation, and multiplication. When using slice assignment, the " +"assigned value must be an array object with the same type code; in all other " +"cases, :exc:`TypeError` is raised. Array objects also implement the buffer " +"interface, and may be used wherever :term:`bytes-like objects ` are supported." +msgstr "" +"Об’єкти-масиви підтримують звичайні операції послідовності індексування, " +"нарізки, конкатенації та множення. Якщо використовується призначення " +"фрагментів, призначене значення має бути об’єктом масиву з таким же кодом " +"типу; у всіх інших випадках виникає :exc:`TypeError`. Об’єкти-масиви також " +"реалізують інтерфейс буфера, і їх можна використовувати скрізь, де " +"підтримуються :term:`байтоподібні об’єкти `." + +msgid "The following data items and methods are also supported:" +msgstr "Також підтримуються такі елементи даних і методи:" + +msgid "The typecode character used to create the array." +msgstr "Символ коду типу, який використовується для створення масиву." + +msgid "The length in bytes of one array item in the internal representation." +msgstr "Довжина в байтах одного елемента масиву у внутрішньому представленні." + +msgid "Append a new item with value *x* to the end of the array." +msgstr "Додайте новий елемент зі значенням *x* у кінець масиву." + +msgid "" +"Return a tuple ``(address, length)`` giving the current memory address and " +"the length in elements of the buffer used to hold array's contents. The " +"size of the memory buffer in bytes can be computed as ``array.buffer_info()" +"[1] * array.itemsize``. This is occasionally useful when working with low-" +"level (and inherently unsafe) I/O interfaces that require memory addresses, " +"such as certain :c:func:`ioctl` operations. The returned numbers are valid " +"as long as the array exists and no length-changing operations are applied to " +"it." +msgstr "" +"Повертає кортеж ``(адреса, довжина)``, що вказує поточну адресу пам’яті та " +"довжину в елементах буфера, який використовується для зберігання вмісту " +"масиву. Розмір буфера пам'яті в байтах можна обчислити як ``array." +"buffer_info()[1] * array.itemsize``. Іноді це корисно під час роботи з " +"низькорівневими (і за своєю суттю небезпечними) інтерфейсами вводу/виводу, " +"які вимагають адреси пам’яті, наприклад певні операції :c:func:`ioctl`. " +"Повернені числа дійсні, доки існує масив і до нього не застосовуються " +"операції зміни довжини." + +msgid "" +"When using array objects from code written in C or C++ (the only way to " +"effectively make use of this information), it makes more sense to use the " +"buffer interface supported by array objects. This method is maintained for " +"backward compatibility and should be avoided in new code. The buffer " +"interface is documented in :ref:`bufferobjects`." +msgstr "" +"При використанні об’єктів масиву з коду, написаного на C або C++ (єдиний " +"спосіб ефективного використання цієї інформації), має сенс використовувати " +"інтерфейс буфера, який підтримується об’єктами масиву. Цей метод " +"підтримується для зворотної сумісності, і його слід уникати в новому коді. " +"Інтерфейс буфера задокументовано в :ref:`bufferobjects`." + +msgid "" +"\"Byteswap\" all items of the array. This is only supported for values " +"which are 1, 2, 4, or 8 bytes in size; for other types of values, :exc:" +"`RuntimeError` is raised. It is useful when reading data from a file " +"written on a machine with a different byte order." +msgstr "" +"\"Побайтувати\" всі елементи масиву. Це підтримується лише для значень " +"розміром 1, 2, 4 або 8 байтів; для інших типів значень виникає :exc:" +"`RuntimeError`. Це корисно під час читання даних із файлу, записаного на " +"машині з іншим порядком байтів." + +msgid "Return the number of occurrences of *x* in the array." +msgstr "Повертає кількість входжень *x* в масиві." + +msgid "" +"Append items from *iterable* to the end of the array. If *iterable* is " +"another array, it must have *exactly* the same type code; if not, :exc:" +"`TypeError` will be raised. If *iterable* is not an array, it must be " +"iterable and its elements must be the right type to be appended to the array." +msgstr "" +"Додайте елементи з *iterable* у кінець масиву. Якщо *iterable* є іншим " +"масивом, він повинен мати *точно* той самий код типу; якщо ні, буде " +"викликано :exc:`TypeError`. Якщо *iterable* не є масивом, він має бути " +"повторюваним, а його елементи мають мати правильний тип для додавання до " +"масиву." + +msgid "" +"Appends items from the string, interpreting the string as an array of " +"machine values (as if it had been read from a file using the :meth:" +"`fromfile` method)." +msgstr "" +"Додає елементи з рядка, інтерпретуючи рядок як масив машинних значень (наче " +"його було прочитано з файлу за допомогою методу :meth:`fromfile`)." + +msgid ":meth:`fromstring` is renamed to :meth:`frombytes` for clarity." +msgstr ":meth:`fromstring` перейменовано на :meth:`frombytes` для ясності." + +msgid "" +"Read *n* items (as machine values) from the :term:`file object` *f* and " +"append them to the end of the array. If less than *n* items are available, :" +"exc:`EOFError` is raised, but the items that were available are still " +"inserted into the array." +msgstr "" +"Прочитайте *n* елементів (як машинні значення) з :term:`file object` *f* і " +"додайте їх у кінець масиву. Якщо доступно менше *n* елементів, виникає :exc:" +"`EOFError`, але доступні елементи все одно вставляються в масив." + +msgid "" +"Append items from the list. This is equivalent to ``for x in list: a." +"append(x)`` except that if there is a type error, the array is unchanged." +msgstr "" +"Додавання елементів зі списку. Це еквівалентно ``для x у списку: a." +"append(x)`` за винятком того, що якщо є помилка типу, масив не змінюється." + +msgid "" +"Extends this array with data from the given unicode string. The array must " +"be a type ``'u'`` array; otherwise a :exc:`ValueError` is raised. Use " +"``array.frombytes(unicodestring.encode(enc))`` to append Unicode data to an " +"array of some other type." +msgstr "" +"Розширює цей масив даними з заданого рядка Юнікод. Масив має бути масиву " +"типу ``'u''``; інакше виникає помилка :exc:`ValueError`. Використовуйте " +"``array.frombytes(unicodestring.encode(enc))``, щоб додати дані Unicode до " +"масиву іншого типу." + +msgid "" +"Return the smallest *i* such that *i* is the index of the first occurrence " +"of *x* in the array. The optional arguments *start* and *stop* can be " +"specified to search for *x* within a subsection of the array. Raise :exc:" +"`ValueError` if *x* is not found." +msgstr "" +"Повертає найменше *i* таке, що *i* є індексом першого входження *x* в " +"масиві. Для пошуку *x* у підрозділі масиву можна вказати необов’язкові " +"аргументи *start* і *stop*. Викликати :exc:`ValueError`, якщо *x* не " +"знайдено." + +msgid "Added optional *start* and *stop* parameters." +msgstr "Додано додаткові параметри *start* і *stop*." + +msgid "" +"Insert a new item with value *x* in the array before position *i*. Negative " +"values are treated as being relative to the end of the array." +msgstr "" +"Вставте новий елемент зі значенням *x* в масив перед позицією *i*. Від’ємні " +"значення розглядаються як відносні до кінця масиву." + +msgid "" +"Removes the item with the index *i* from the array and returns it. The " +"optional argument defaults to ``-1``, so that by default the last item is " +"removed and returned." +msgstr "" +"Вилучає з масиву елемент з індексом *i* і повертає його. Необов’язковий " +"аргумент за умовчанням має значення ``-1``, тому за замовчуванням останній " +"елемент видаляється та повертається." + +msgid "Remove the first occurrence of *x* from the array." +msgstr "Видаліть перше входження *x* з масиву." + +msgid "Reverse the order of the items in the array." +msgstr "Змінити порядок елементів у масиві." + +msgid "" +"Convert the array to an array of machine values and return the bytes " +"representation (the same sequence of bytes that would be written to a file " +"by the :meth:`tofile` method.)" +msgstr "" +"Перетворіть масив на масив машинних значень і поверніть представлення байтів " +"(та сама послідовність байтів, яка була б записана у файл за допомогою " +"методу :meth:`tofile`)." + +msgid ":meth:`tostring` is renamed to :meth:`tobytes` for clarity." +msgstr ":meth:`tostring` перейменовано на :meth:`tobytes` для ясності." + +msgid "Write all items (as machine values) to the :term:`file object` *f*." +msgstr "Запишіть усі елементи (як машинні значення) в :term:`file object` *f*." + +msgid "Convert the array to an ordinary list with the same items." +msgstr "Перетворіть масив на звичайний список з тими самими елементами." + +msgid "" +"Convert the array to a unicode string. The array must be a type ``'u'`` " +"array; otherwise a :exc:`ValueError` is raised. Use ``array.tobytes()." +"decode(enc)`` to obtain a unicode string from an array of some other type." +msgstr "" +"Перетворіть масив на рядок Unicode. Масив має бути масиву типу ``'u''``; " +"інакше виникає помилка :exc:`ValueError`. Використовуйте ``array.tobytes()." +"decode(enc)``, щоб отримати рядок Юнікод із масиву іншого типу." + +msgid "" +"When an array object is printed or converted to a string, it is represented " +"as ``array(typecode, initializer)``. The *initializer* is omitted if the " +"array is empty, otherwise it is a string if the *typecode* is ``'u'``, " +"otherwise it is a list of numbers. The string is guaranteed to be able to " +"be converted back to an array with the same type and value using :func:" +"`eval`, so long as the :class:`~array.array` class has been imported using " +"``from array import array``. Examples::" +msgstr "" +"Коли об’єкт масиву друкується або перетворюється на рядок, він " +"представляється як ``array(typecode, initializer)``. *Ініціалізатор* " +"пропускається, якщо масив порожній, інакше це рядок, якщо *код типу* є " +"``'u'``, інакше це список чисел. Гарантовано, що рядок можна буде " +"перетворити назад на масив із тим самим типом і значенням за допомогою :func:" +"`eval`, якщо клас :class:`~array.array` було імпортовано за допомогою ``from " +"array import array``. Приклади::" + +msgid "Module :mod:`struct`" +msgstr "Модуль :mod:`struct`" + +msgid "Packing and unpacking of heterogeneous binary data." +msgstr "Упаковка та розпакування різнорідних двійкових даних." + +msgid "Module :mod:`xdrlib`" +msgstr "Модуль :mod:`xdrlib`" + +msgid "" +"Packing and unpacking of External Data Representation (XDR) data as used in " +"some remote procedure call systems." +msgstr "" +"Пакування та розпакування даних зовнішнього представлення даних (XDR), які " +"використовуються в деяких системах віддаленого виклику процедур." + +msgid "`NumPy `_" +msgstr "`NumPy `_" + +msgid "The NumPy package defines another array type." +msgstr "Пакет NumPy визначає інший тип масиву." diff --git a/library/ast.po b/library/ast.po new file mode 100644 index 000000000..e9fa6bc72 --- /dev/null +++ b/library/ast.po @@ -0,0 +1,1585 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ast` --- Abstract Syntax Trees" +msgstr ":mod:`ast` --- Абстрактні синтаксичні дерева" + +msgid "**Source code:** :source:`Lib/ast.py`" +msgstr "**Вихідний код:** :source:`Lib/ast.py`" + +msgid "" +"The :mod:`ast` module helps Python applications to process trees of the " +"Python abstract syntax grammar. The abstract syntax itself might change " +"with each Python release; this module helps to find out programmatically " +"what the current grammar looks like." +msgstr "" +"Модуль :mod:`ast` допомагає програмам Python обробляти дерева граматики " +"абстрактного синтаксису Python. Сам абстрактний синтаксис може змінюватися з " +"кожним випуском Python; цей модуль допомагає програмно дізнатися, як " +"виглядає поточна граматика." + +msgid "" +"An abstract syntax tree can be generated by passing :data:`ast." +"PyCF_ONLY_AST` as a flag to the :func:`compile` built-in function, or using " +"the :func:`parse` helper provided in this module. The result will be a tree " +"of objects whose classes all inherit from :class:`ast.AST`. An abstract " +"syntax tree can be compiled into a Python code object using the built-in :" +"func:`compile` function." +msgstr "" +"Абстрактне синтаксичне дерево можна створити, передавши :data:`ast." +"PyCF_ONLY_AST` як прапорець вбудованій функції :func:`compile` або " +"використовуючи помічник :func:`parse`, наданий у цьому модулі. Результатом " +"буде дерево об’єктів, усі класи яких успадковуються від :class:`ast.AST`. " +"Абстрактне синтаксичне дерево можна скомпілювати в об’єкт коду Python за " +"допомогою вбудованої функції :func:`compile`." + +msgid "Abstract Grammar" +msgstr "Абстрактна граматика" + +msgid "The abstract grammar is currently defined as follows:" +msgstr "Наразі абстрактна граматика визначається наступним чином:" + +msgid "Node classes" +msgstr "Класи вузлів" + +msgid "" +"This is the base of all AST node classes. The actual node classes are " +"derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" +"`above `. They are defined in the :mod:`_ast` C module " +"and re-exported in :mod:`ast`." +msgstr "" + +msgid "" +"There is one class defined for each left-hand side symbol in the abstract " +"grammar (for example, :class:`ast.stmt` or :class:`ast.expr`). In addition, " +"there is one class defined for each constructor on the right-hand side; " +"these classes inherit from the classes for the left-hand side trees. For " +"example, :class:`ast.BinOp` inherits from :class:`ast.expr`. For production " +"rules with alternatives (aka \"sums\"), the left-hand side class is " +"abstract: only instances of specific constructor nodes are ever created." +msgstr "" +"Для кожного лівого символу в абстрактній граматиці визначено один клас " +"(наприклад, :class:`ast.stmt` або :class:`ast.expr`). Крім того, є один " +"клас, визначений для кожного конструктора в правій частині; ці класи " +"успадковують класи для лівих дерев. Наприклад, :class:`ast.BinOp` " +"успадковується від :class:`ast.expr`. Для виробничих правил з альтернативами " +"(він же \"суми\") лівий клас є абстрактним: створюються лише екземпляри " +"конкретних вузлів конструктора." + +msgid "" +"Each concrete class has an attribute :attr:`_fields` which gives the names " +"of all child nodes." +msgstr "" +"Кожен конкретний клас має атрибут :attr:`_fields`, який дає імена всіх " +"дочірніх вузлів." + +msgid "" +"Each instance of a concrete class has one attribute for each child node, of " +"the type as defined in the grammar. For example, :class:`ast.BinOp` " +"instances have an attribute :attr:`left` of type :class:`ast.expr`." +msgstr "" +"Кожен екземпляр конкретного класу має один атрибут для кожного дочірнього " +"вузла типу, визначеного в граматиці. Наприклад, екземпляри :class:`ast." +"BinOp` мають атрибут :attr:`left` типу :class:`ast.expr`." + +msgid "" +"If these attributes are marked as optional in the grammar (using a question " +"mark), the value might be ``None``. If the attributes can have zero-or-more " +"values (marked with an asterisk), the values are represented as Python " +"lists. All possible attributes must be present and have valid values when " +"compiling an AST with :func:`compile`." +msgstr "" +"Якщо ці атрибути позначені як необов’язкові в граматиці (використовуючи знак " +"питання), значенням може бути ``None``. Якщо атрибути можуть мати нуль або " +"більше значень (позначених зірочкою), значення представлені у вигляді " +"списків Python. Під час компіляції AST за допомогою :func:`compile` усі " +"можливі атрибути повинні бути присутніми та мати дійсні значення." + +msgid "" +"Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses have :attr:" +"`lineno`, :attr:`col_offset`, :attr:`end_lineno`, and :attr:`end_col_offset` " +"attributes. The :attr:`lineno` and :attr:`end_lineno` are the first and " +"last line numbers of source text span (1-indexed so the first line is line " +"1) and the :attr:`col_offset` and :attr:`end_col_offset` are the " +"corresponding UTF-8 byte offsets of the first and last tokens that generated " +"the node. The UTF-8 offset is recorded because the parser uses UTF-8 " +"internally." +msgstr "" +"Екземпляри підкласів :class:`ast.expr` і :class:`ast.stmt` мають атрибути :" +"attr:`lineno`, :attr:`col_offset`, :attr:`end_lineno` і :attr:" +"`end_col_offset` . :attr:`lineno` і :attr:`end_lineno` — це номери першого й " +"останнього рядків вихідного текстового діапазону (з індексом 1, тому перший " +"рядок — рядок 1), а також :attr:`col_offset` і :attr:`end_col_offset` — це " +"відповідні зміщення байтів UTF-8 для першого й останнього маркерів, які " +"створили вузол. Зсув UTF-8 записується, оскільки аналізатор використовує " +"UTF-8 внутрішньо." + +msgid "" +"Note that the end positions are not required by the compiler and are " +"therefore optional. The end offset is *after* the last symbol, for example " +"one can get the source segment of a one-line expression node using " +"``source_line[node.col_offset : node.end_col_offset]``." +msgstr "" +"Зауважте, що кінцеві позиції не потрібні компілятору і тому є " +"необов’язковими. Кінцеве зміщення вказується *після* останнього символу, " +"наприклад, можна отримати вихідний сегмент вузла однорядкового виразу за " +"допомогою ``source_line[node.col_offset : node.end_col_offset]``." + +msgid "" +"The constructor of a class :class:`ast.T` parses its arguments as follows:" +msgstr "" +"Конструктор класу :class:`ast.T` аналізує його аргументи наступним чином:" + +msgid "" +"If there are positional arguments, there must be as many as there are items " +"in :attr:`T._fields`; they will be assigned as attributes of these names." +msgstr "" +"Якщо є позиційні аргументи, їх має бути стільки, скільки елементів у :attr:" +"`T._fields`; вони будуть призначені як атрибути цих імен." + +msgid "" +"If there are keyword arguments, they will set the attributes of the same " +"names to the given values." +msgstr "" +"Якщо є ключові аргументи, вони встановлять атрибути з однаковими іменами на " +"задані значення." + +msgid "" +"For example, to create and populate an :class:`ast.UnaryOp` node, you could " +"use ::" +msgstr "" +"Наприклад, щоб створити та заповнити вузол :class:`ast.UnaryOp`, ви можете " +"використати ::" + +msgid "or the more compact ::" +msgstr "або більш компактний ::" + +msgid "Class :class:`ast.Constant` is now used for all constants." +msgstr "Клас :class:`ast.Constant` тепер використовується для всіх констант." + +msgid "" +"Simple indices are represented by their value, extended slices are " +"represented as tuples." +msgstr "" +"Прості індекси представлені їх значеннями, розширені зрізи представлені у " +"вигляді кортежів." + +msgid "" +"Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :class:" +"`ast.NameConstant` and :class:`ast.Ellipsis` are still available, but they " +"will be removed in future Python releases. In the meantime, instantiating " +"them will return an instance of a different class." +msgstr "" +"Старі класи :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :class:" +"`ast.NameConstant` і :class:`ast.Ellipsis` все ще доступні, але їх буде " +"видалено в наступних випусках Python. Тим часом їх створення екземпляра " +"поверне екземпляр іншого класу." + +msgid "" +"Old classes :class:`ast.Index` and :class:`ast.ExtSlice` are still " +"available, but they will be removed in future Python releases. In the " +"meantime, instantiating them will return an instance of a different class." +msgstr "" +"Старі класи :class:`ast.Index` і :class:`ast.ExtSlice` все ще доступні, але " +"їх буде видалено в наступних випусках Python. Тим часом їх створення " +"екземпляра поверне екземпляр іншого класу." + +msgid "" +"The descriptions of the specific node classes displayed here were initially " +"adapted from the fantastic `Green Tree Snakes `__ project and all its contributors." +msgstr "" +"Описи конкретних класів вузлів, відображені тут, спочатку були адаптовані з " +"фантастичного проекту `Green Tree Snakes `__ та всіх його учасників." + +msgid "Literals" +msgstr "Літерали" + +msgid "" +"A constant value. The ``value`` attribute of the ``Constant`` literal " +"contains the Python object it represents. The values represented can be " +"simple types such as a number, string or ``None``, but also immutable " +"container types (tuples and frozensets) if all of their elements are " +"constant." +msgstr "" +"Постійне значення. Атрибут ``value`` літералу ``Constant`` містить об’єкт " +"Python, який він представляє. Представлені значення можуть бути простими " +"типами, такими як число, рядок або ``None``, а також незмінними типами " +"контейнерів (кортежі та заморожені набори), якщо всі їхні елементи постійні." + +msgid "" +"Node representing a single formatting field in an f-string. If the string " +"contains a single formatting field and nothing else the node can be isolated " +"otherwise it appears in :class:`JoinedStr`." +msgstr "" +"Вузол, що представляє одне поле форматування в f-рядку. Якщо рядок містить " +"одне поле форматування та нічого іншого, вузол можна ізолювати, інакше він " +"з’являється в :class:`JoinedStr`." + +msgid "" +"``value`` is any expression node (such as a literal, a variable, or a " +"function call)." +msgstr "" +"``значення`` - будь-який вузол виразу (наприклад, літерал, змінна або виклик " +"функції)." + +msgid "``conversion`` is an integer:" +msgstr "``перетворення`` є цілим числом:" + +msgid "-1: no formatting" +msgstr "-1: без форматування" + +msgid "115: ``!s`` string formatting" +msgstr "115: форматування рядка ``!s``" + +msgid "114: ``!r`` repr formatting" +msgstr "114: форматування ``!r`` repr" + +msgid "97: ``!a`` ascii formatting" +msgstr "97: ``!a`` форматування ascii" + +msgid "" +"``format_spec`` is a :class:`JoinedStr` node representing the formatting of " +"the value, or ``None`` if no format was specified. Both ``conversion`` and " +"``format_spec`` can be set at the same time." +msgstr "" +"``format_spec`` — це вузол :class:`JoinedStr`, який представляє форматування " +"значення, або ``None``, якщо формат не вказано. І ``conversion``, і " +"``format_spec`` можна встановити одночасно." + +msgid "" +"An f-string, comprising a series of :class:`FormattedValue` and :class:" +"`Constant` nodes." +msgstr "" +"F-рядок, що містить ряд вузлів :class:`FormattedValue` і :class:`Constant`." + +msgid "" +"A list or tuple. ``elts`` holds a list of nodes representing the elements. " +"``ctx`` is :class:`Store` if the container is an assignment target (i.e. " +"``(x,y)=something``), and :class:`Load` otherwise." +msgstr "" +"Список або кортеж. ``elts`` містить список вузлів, що представляють " +"елементи. ``ctx`` є :class:`Store`, якщо контейнер є метою призначення " +"(тобто ``(x,y)=something``), і :class:`Load` інакше." + +msgid "A set. ``elts`` holds a list of nodes representing the set's elements." +msgstr "" +"Набір. ``elts`` містить список вузлів, що представляють елементи набору." + +msgid "" +"A dictionary. ``keys`` and ``values`` hold lists of nodes representing the " +"keys and the values respectively, in matching order (what would be returned " +"when calling :code:`dictionary.keys()` and :code:`dictionary.values()`)." +msgstr "" +"Словник. ``keys`` і ``values`` містять списки вузлів, що представляють ключі " +"та значення відповідно, у відповідному порядку (те, що буде повернуто під " +"час виклику :code:`dictionary.keys()` і :code:`dictionary. значення()`)." + +msgid "" +"When doing dictionary unpacking using dictionary literals the expression to " +"be expanded goes in the ``values`` list, with a ``None`` at the " +"corresponding position in ``keys``." +msgstr "" +"Під час розпакування словника за допомогою словникових літералів вираз, який " +"потрібно розгорнути, потрапляє до списку ``значень`` із ``None`` у " +"відповідній позиції ``ключів``." + +msgid "Variables" +msgstr "Змінні" + +msgid "" +"A variable name. ``id`` holds the name as a string, and ``ctx`` is one of " +"the following types." +msgstr "" +"Ім'я змінної. ``id`` містить назву як рядок, а ``ctx`` є одним із наступних " +"типів." + +msgid "" +"Variable references can be used to load the value of a variable, to assign a " +"new value to it, or to delete it. Variable references are given a context to " +"distinguish these cases." +msgstr "" +"Посилання на змінні можна використовувати, щоб завантажити значення змінної, " +"призначити їй нове значення або видалити її. Посиланням на змінні надається " +"контекст, щоб розрізняти ці випадки." + +msgid "" +"A ``*var`` variable reference. ``value`` holds the variable, typically a :" +"class:`Name` node. This type must be used when building a :class:`Call` node " +"with ``*args``." +msgstr "" +"Посилання на змінну ``*var``. ``value`` містить змінну, як правило, вузол :" +"class:`Name`. Цей тип необхідно використовувати під час створення вузла :" +"class:`Call` з ``*args``." + +msgid "Expressions" +msgstr "Вирази" + +msgid "" +"When an expression, such as a function call, appears as a statement by " +"itself with its return value not used or stored, it is wrapped in this " +"container. ``value`` holds one of the other nodes in this section, a :class:" +"`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` or :class:" +"`YieldFrom` node." +msgstr "" +"Коли вираз, як-от виклик функції, з’являється як окремий оператор із " +"невикористаним або збереженим значенням, що повертається, його загортають у " +"цей контейнер. ``value`` містить один із інших вузлів у цьому розділі, :" +"class:`Constant`, :class:`Name`, :class:`Lambda`, :class:`Yield` або :class:" +"`YieldFrom`." + +msgid "" +"A unary operation. ``op`` is the operator, and ``operand`` any expression " +"node." +msgstr "" +"Унарна операція. ``op`` є оператором, а ``operand`` будь-яким вузлом виразу." + +msgid "" +"Unary operator tokens. :class:`Not` is the ``not`` keyword, :class:`Invert` " +"is the ``~`` operator." +msgstr "" +"Унарні маркери оператора. :class:`Not` - це ключове слово ``not``, :class:" +"`Invert` - це оператор ``~``." + +msgid "" +"A binary operation (like addition or division). ``op`` is the operator, and " +"``left`` and ``right`` are any expression nodes." +msgstr "" +"Двійкова операція (наприклад, додавання або ділення). ``op`` є оператором, " +"``left`` і ``right`` є будь-якими вузлами виразу." + +msgid "Binary operator tokens." +msgstr "Бінарні операторські токени." + +msgid "" +"A boolean operation, 'or' or 'and'. ``op`` is :class:`Or` or :class:`And`. " +"``values`` are the values involved. Consecutive operations with the same " +"operator, such as ``a or b or c``, are collapsed into one node with several " +"values." +msgstr "" +"Логічна операція \"або\" або \"і\". ``op`` - це :class:`Or` або :class:" +"`And`. ``values`` - це значення, які беруть участь. Послідовні операції з " +"тим самим оператором, наприклад ``a або b або c``, згортаються в один вузол " +"з кількома значеннями." + +msgid "This doesn't include ``not``, which is a :class:`UnaryOp`." +msgstr "Це не включає ``not``, який є :class:`UnaryOp`." + +msgid "Boolean operator tokens." +msgstr "Логічні операторні маркери." + +msgid "" +"A comparison of two or more values. ``left`` is the first value in the " +"comparison, ``ops`` the list of operators, and ``comparators`` the list of " +"values after the first element in the comparison." +msgstr "" +"Порівняння двох чи більше значень. ``left`` - це перше значення в " +"порівнянні, ``ops`` - список операторів, ``comparators`` - список значень " +"після першого елемента в порівнянні." + +msgid "Comparison operator tokens." +msgstr "Лексими операторів порівняння." + +msgid "" +"A function call. ``func`` is the function, which will often be a :class:" +"`Name` or :class:`Attribute` object. Of the arguments:" +msgstr "" +"Виклик функції. ``func`` – це функція, яка часто буде об’єктом :class:`Name` " +"або :class:`Attribute`. З аргументів:" + +msgid "``args`` holds a list of the arguments passed by position." +msgstr "``args`` містить список аргументів, переданих за позицією." + +msgid "" +"``keywords`` holds a list of :class:`keyword` objects representing arguments " +"passed by keyword." +msgstr "" +"``keywords`` містить список об’єктів :class:`keyword`, що представляють " +"аргументи, передані ключовим словом." + +msgid "" +"When creating a ``Call`` node, ``args`` and ``keywords`` are required, but " +"they can be empty lists. ``starargs`` and ``kwargs`` are optional." +msgstr "" +"Під час створення вузла ``Call`` необхідні ``args`` і ``keywords``, але вони " +"можуть бути порожніми списками. ``starargs`` і ``kwargs`` необов'язкові." + +msgid "" +"A keyword argument to a function call or class definition. ``arg`` is a raw " +"string of the parameter name, ``value`` is a node to pass in." +msgstr "" +"Аргумент ключового слова для виклику функції або визначення класу. ``arg`` — " +"це необроблений рядок назви параметра, ``value`` — це вузол для передачі." + +msgid "" +"An expression such as ``a if b else c``. Each field holds a single node, so " +"in the following example, all three are :class:`Name` nodes." +msgstr "" +"Вираз на зразок \"a if b else c\". Кожне поле містить один вузол, тому в " +"наступному прикладі всі три є вузлами :class:`Name`." + +msgid "" +"Attribute access, e.g. ``d.keys``. ``value`` is a node, typically a :class:" +"`Name`. ``attr`` is a bare string giving the name of the attribute, and " +"``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to how " +"the attribute is acted on." +msgstr "" +"Доступ до атрибутів, напр. ``d.keys``. ``value`` - це вузол, як правило, :" +"class:`Name`. ``attr`` — це чистий рядок, що дає назву атрибуту, а ``ctx`` — " +"це :class:`Load`, :class:`Store` або :class:`Del` відповідно до того, як діє " +"атрибут на." + +msgid "" +"A named expression. This AST node is produced by the assignment expressions " +"operator (also known as the walrus operator). As opposed to the :class:" +"`Assign` node in which the first argument can be multiple nodes, in this " +"case both ``target`` and ``value`` must be single nodes." +msgstr "" +"Іменований вираз. Цей вузол AST створюється оператором виразів присвоєння " +"(також відомим як оператор моржа). На відміну від вузла :class:`Assign`, у " +"якому першим аргументом може бути кілька вузлів, у цьому випадку як " +"``target``, так і ``value`` мають бути окремими вузлами." + +msgid "Subscripting" +msgstr "Підписка" + +msgid "" +"A subscript, such as ``l[1]``. ``value`` is the subscripted object (usually " +"sequence or mapping). ``slice`` is an index, slice or key. It can be a :" +"class:`Tuple` and contain a :class:`Slice`. ``ctx`` is :class:`Load`, :class:" +"`Store` or :class:`Del` according to the action performed with the subscript." +msgstr "" +"Нижній індекс, наприклад \"l[1]\". ``значення`` - це об'єкт з індексом " +"(зазвичай послідовність або відображення). ``slice`` - це індекс, зріз або " +"ключ. Це може бути :class:`Tuple` і містити :class:`Slice`. ``ctx`` - це :" +"class:`Load`, :class:`Store` або :class:`Del` відповідно до дії, виконаної з " +"нижнім індексом." + +msgid "" +"Regular slicing (on the form ``lower:upper`` or ``lower:upper:step``). Can " +"occur only inside the *slice* field of :class:`Subscript`, either directly " +"or as an element of :class:`Tuple`." +msgstr "" +"Звичайна нарізка (за формою ``lower:upper`` або ``lower:upper:step``). Може " +"зустрічатися лише всередині поля *slice* :class:`Subscript`, або " +"безпосередньо, або як елемент :class:`Tuple`." + +msgid "Comprehensions" +msgstr "Осягнення" + +msgid "" +"List and set comprehensions, generator expressions, and dictionary " +"comprehensions. ``elt`` (or ``key`` and ``value``) is a single node " +"representing the part that will be evaluated for each item." +msgstr "" +"Список і набір розуміння, генератор виразів і словник розуміння. ``elt`` " +"(або ``key`` і ``value``) — це один вузол, що представляє частину, яка буде " +"оцінюватися для кожного елемента." + +msgid "``generators`` is a list of :class:`comprehension` nodes." +msgstr "``generators`` - це список вузлів :class:`comprehension`." + +msgid "" +"One ``for`` clause in a comprehension. ``target`` is the reference to use " +"for each element - typically a :class:`Name` or :class:`Tuple` node. " +"``iter`` is the object to iterate over. ``ifs`` is a list of test " +"expressions: each ``for`` clause can have multiple ``ifs``." +msgstr "" +"Одне речення ``за`` для розуміння. ``target`` - це посилання для " +"використання для кожного елемента - зазвичай :class:`Name` або :class:" +"`Tuple` вузол. ``iter`` - це об'єкт для повторення. ``ifs`` — це список " +"перевірочних виразів: кожен пункт ``for`` може мати кілька ``ifs``." + +msgid "" +"``is_async`` indicates a comprehension is asynchronous (using an ``async " +"for`` instead of ``for``). The value is an integer (0 or 1)." +msgstr "" +"``is_async`` вказує, що розуміння є асинхронним (використовуючи ``async " +"for`` замість ``for``). Значення є цілим числом (0 або 1)." + +msgid "Statements" +msgstr "Заяви" + +msgid "" +"An assignment. ``targets`` is a list of nodes, and ``value`` is a single " +"node." +msgstr "Доручення. ``targets`` — це список вузлів, а ``value`` — один вузол." + +msgid "" +"Multiple nodes in ``targets`` represents assigning the same value to each. " +"Unpacking is represented by putting a :class:`Tuple` or :class:`List` within " +"``targets``." +msgstr "" +"Кілька вузлів у ``цілях`` представляють призначення однакового значення " +"кожному. Розпакування представлено розміщенням :class:`Tuple` або :class:" +"`List` у ``targets``." + +msgid "" +"``type_comment`` is an optional string with the type annotation as a comment." +msgstr "" +"``type_comment`` – необов’язковий рядок із анотацією типу як коментаря." + +msgid "" +"An assignment with a type annotation. ``target`` is a single node and can be " +"a :class:`Name`, a :class:`Attribute` or a :class:`Subscript`. " +"``annotation`` is the annotation, such as a :class:`Constant` or :class:" +"`Name` node. ``value`` is a single optional node. ``simple`` is a boolean " +"integer set to True for a :class:`Name` node in ``target`` that do not " +"appear in between parenthesis and are hence pure names and not expressions." +msgstr "" +"Призначення з анотацією типу. ``target`` є одним вузлом і може бути :class:" +"`Name`, :class:`Attribute` або :class:`Subscript`. ``аннотація`` – це " +"анотація, наприклад вузол :class:`Constant` або :class:`Name`. ``value`` - " +"це один необов'язковий вузол. ``simple`` — це логічне ціле число зі " +"значенням True для вузла :class:`Name` у ``target``, яке не відображається в " +"дужках і, отже, є чистими іменами, а не виразами." + +msgid "" +"Augmented assignment, such as ``a += 1``. In the following example, " +"``target`` is a :class:`Name` node for ``x`` (with the :class:`Store` " +"context), ``op`` is :class:`Add`, and ``value`` is a :class:`Constant` with " +"value for 1." +msgstr "" +"Доповнене присвоювання, наприклад ``a += 1``. У наступному прикладі " +"``target`` є вузлом :class:`Name` для ``x`` (з контекстом :class:`Store`), " +"``op`` це :class:`Add`, а ``значення`` є :class:`Constant` зі значенням 1." + +msgid "" +"The ``target`` attribute cannot be of class :class:`Tuple` or :class:`List`, " +"unlike the targets of :class:`Assign`." +msgstr "" +"Атрибут ``target`` не може належати до класу :class:`Tuple` або :class:" +"`List`, на відміну від цілей :class:`Assign`." + +msgid "" +"A ``raise`` statement. ``exc`` is the exception object to be raised, " +"normally a :class:`Call` or :class:`Name`, or ``None`` for a standalone " +"``raise``. ``cause`` is the optional part for ``y`` in ``raise x from y``." +msgstr "" +"Оператор ``raise``. ``exc`` — це об’єкт винятку, який потрібно викликати, " +"зазвичай це :class:`Call` або :class:`Name`, або ``None`` для окремого " +"``raise``. ``cause`` є необов’язковою частиною для ``y`` у ``raise x from " +"y``." + +msgid "" +"An assertion. ``test`` holds the condition, such as a :class:`Compare` node. " +"``msg`` holds the failure message." +msgstr "" +"Твердження. ``test`` містить умову, як-от вузол :class:`Compare`. ``msg`` " +"містить повідомлення про помилку." + +msgid "" +"Represents a ``del`` statement. ``targets`` is a list of nodes, such as :" +"class:`Name`, :class:`Attribute` or :class:`Subscript` nodes." +msgstr "" +"Представляє оператор ``del``. ``targets`` – це список вузлів, наприклад " +"вузли :class:`Name`, :class:`Attribute` або :class:`Subscript`." + +msgid "A ``pass`` statement." +msgstr "Заява ``pass``." + +msgid "" +"Other statements which are only applicable inside functions or loops are " +"described in other sections." +msgstr "" +"Інші оператори, які застосовуються лише всередині функцій або циклів, " +"описані в інших розділах." + +msgid "Imports" +msgstr "Імпорт" + +msgid "An import statement. ``names`` is a list of :class:`alias` nodes." +msgstr "Заява про імпорт. ``names`` - це список вузлів :class:`alias`." + +msgid "" +"Represents ``from x import y``. ``module`` is a raw string of the 'from' " +"name, without any leading dots, or ``None`` for statements such as ``from . " +"import foo``. ``level`` is an integer holding the level of the relative " +"import (0 means absolute import)." +msgstr "" +"Представляє ``from x import y``. ``module`` — це необроблений рядок назви " +"'from' без будь-яких крапок на початку або ``None`` для операторів, таких як " +"``from . імпортувати foo``. ``level`` — це ціле число, що містить рівень " +"відносного імпорту (0 означає абсолютний імпорт)." + +msgid "" +"Both parameters are raw strings of the names. ``asname`` can be ``None`` if " +"the regular name is to be used." +msgstr "" +"Обидва параметри є необробленими рядками імен. ``asname`` може бути " +"``None``, якщо має використовуватися звичайна назва." + +msgid "Control flow" +msgstr "Контроль потоку" + +msgid "" +"Optional clauses such as ``else`` are stored as an empty list if they're not " +"present." +msgstr "" +"Необов’язкові пропозиції, такі як ``else``, зберігаються як порожній список, " +"якщо їх немає." + +msgid "" +"An ``if`` statement. ``test`` holds a single node, such as a :class:" +"`Compare` node. ``body`` and ``orelse`` each hold a list of nodes." +msgstr "" +"Оператор ``if``. ``test`` містить один вузол, наприклад вузол :class:" +"`Compare`. ``body`` і ``orelse`` містять список вузлів." + +msgid "" +"``elif`` clauses don't have a special representation in the AST, but rather " +"appear as extra :class:`If` nodes within the ``orelse`` section of the " +"previous one." +msgstr "" +"Речення ``elif`` не мають спеціального представлення в AST, а радше " +"з’являються як додаткові вузли :class:`If` у розділі ``orelse`` попереднього." + +msgid "" +"A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a " +"single :class:`Name`, :class:`Tuple` or :class:`List` node. ``iter`` holds " +"the item to be looped over, again as a single node. ``body`` and ``orelse`` " +"contain lists of nodes to execute. Those in ``orelse`` are executed if the " +"loop finishes normally, rather than via a ``break`` statement." +msgstr "" +"Цикл ``for``. ``target`` містить змінну(-и), яку призначає цикл, як один " +"вузол :class:`Name`, :class:`Tuple` або :class:`List`. ``iter`` зберігає " +"елемент, який буде проходити в циклі, знову як один вузол. ``body`` і " +"``orelse`` містять списки вузлів для виконання. Ті, що в ``orelse``, " +"виконуються, якщо цикл завершується нормально, а не через оператор ``break``." + +msgid "" +"A ``while`` loop. ``test`` holds the condition, such as a :class:`Compare` " +"node." +msgstr "Цикл ``while``. ``test`` містить умову, як-от вузол :class:`Compare`." + +msgid "The ``break`` and ``continue`` statements." +msgstr "Оператори ``break`` і ``continue``." + +msgid "" +"``try`` blocks. All attributes are list of nodes to execute, except for " +"``handlers``, which is a list of :class:`ExceptHandler` nodes." +msgstr "" +"блоки ``try``. Усі атрибути є списком вузлів для виконання, за винятком " +"``обробників``, який є списком :class:`ExceptHandler` вузлів." + +msgid "" +"``try`` blocks which are followed by ``except*`` clauses. The attributes are " +"the same as for :class:`Try` but the :class:`ExceptHandler` nodes in " +"``handlers`` are interpreted as ``except*`` blocks rather then ``except``." +msgstr "" + +msgid "" +"A single ``except`` clause. ``type`` is the exception type it will match, " +"typically a :class:`Name` node (or ``None`` for a catch-all ``except:`` " +"clause). ``name`` is a raw string for the name to hold the exception, or " +"``None`` if the clause doesn't have ``as foo``. ``body`` is a list of nodes." +msgstr "" +"Єдине речення ``крім``. ``type`` — це тип винятку, якому він відповідатиме, " +"як правило, вузол :class:`Name` (або ``None`` для речення catch-all ``except:" +"``). ``name`` — це необроблений рядок для імені, який містить виняток, або " +"``None``, якщо в пропозиції немає ``as foo``. ``body`` - це список вузлів." + +msgid "" +"A ``with`` block. ``items`` is a list of :class:`withitem` nodes " +"representing the context managers, and ``body`` is the indented block inside " +"the context." +msgstr "" +"Блок ``with``. ``items`` — це список вузлів :class:`withitem`, що " +"представляють контекстні менеджери, а ``body`` — блок із відступом усередині " +"контексту." + +msgid "" +"A single context manager in a ``with`` block. ``context_expr`` is the " +"context manager, often a :class:`Call` node. ``optional_vars`` is a :class:" +"`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or ``None`` " +"if that isn't used." +msgstr "" +"Єдиний контекстний менеджер у блоці ``with``. ``context_expr`` - це менеджер " +"контексту, часто вузол :class:`Call`. ``optional_vars`` — це :class:`Name`, :" +"class:`Tuple` або :class:`List` для частини ``as foo``, або ``None``, якщо " +"вона не використовується." + +msgid "Pattern matching" +msgstr "Зіставлення шаблону" + +msgid "" +"A ``match`` statement. ``subject`` holds the subject of the match (the " +"object that is being matched against the cases) and ``cases`` contains an " +"iterable of :class:`match_case` nodes with the different cases." +msgstr "" +"Оператор ``збігу``. ``subject`` містить предмет відповідності (об’єкт, який " +"зіставляється з регістрами), а ``cases`` містить ітерацію вузлів :class:" +"`match_case` з різними регістрами." + +msgid "" +"A single case pattern in a ``match`` statement. ``pattern`` contains the " +"match pattern that the subject will be matched against. Note that the :class:" +"`AST` nodes produced for patterns differ from those produced for " +"expressions, even when they share the same syntax." +msgstr "" +"Шаблон одного регістру в операторі ``match``. ``шаблон`` містить шаблон " +"відповідності, з яким буде зіставлятися предмет. Зверніть увагу, що вузли :" +"class:`AST`, створені для шаблонів, відрізняються від вузлів, створених для " +"виразів, навіть якщо вони мають однаковий синтаксис." + +msgid "" +"The ``guard`` attribute contains an expression that will be evaluated if the " +"pattern matches the subject." +msgstr "" +"Атрибут ``guard`` містить вираз, який буде оцінено, якщо шаблон відповідає " +"темі." + +msgid "" +"``body`` contains a list of nodes to execute if the pattern matches and the " +"result of evaluating the guard expression is true." +msgstr "" +"``body`` містить список вузлів для виконання, якщо шаблон збігається і " +"результат оцінки виразу guard є істинним." + +msgid "" +"A match literal or value pattern that compares by equality. ``value`` is an " +"expression node. Permitted value nodes are restricted as described in the " +"match statement documentation. This pattern succeeds if the match subject is " +"equal to the evaluated value." +msgstr "" +"Літерал відповідності або шаблон значення, який порівнює за рівністю. " +"``значення`` є вузлом виразу. Дозволені вузли значень обмежені, як описано в " +"документації оператора відповідності. Цей шаблон успішно працює, якщо " +"суб’єкт відповідності дорівнює оцінюваному значенню." + +msgid "" +"A match literal pattern that compares by identity. ``value`` is the " +"singleton to be compared against: ``None``, ``True``, or ``False``. This " +"pattern succeeds if the match subject is the given constant." +msgstr "" +"Зразок буквального збігу, який порівнює за ідентичністю. ``value`` — це " +"синглтон, з яким слід порівнювати: ``None``, ``True`` або ``False``. Цей " +"шаблон успішний, якщо суб’єкт відповідності є заданою константою." + +msgid "" +"A match sequence pattern. ``patterns`` contains the patterns to be matched " +"against the subject elements if the subject is a sequence. Matches a " +"variable length sequence if one of the subpatterns is a ``MatchStar`` node, " +"otherwise matches a fixed length sequence." +msgstr "" +"Шаблон послідовності відповідності. ``patterns`` містить шаблони, які " +"потрібно зіставити з елементами теми, якщо тема є послідовністю. Відповідає " +"послідовності змінної довжини, якщо один із підшаблонів є вузлом " +"``MatchStar``, інакше відповідає послідовності фіксованої довжини." + +msgid "" +"Matches the rest of the sequence in a variable length match sequence " +"pattern. If ``name`` is not ``None``, a list containing the remaining " +"sequence elements is bound to that name if the overall sequence pattern is " +"successful." +msgstr "" +"Збігається з рештою послідовності в шаблоні послідовності відповідності " +"змінної довжини. Якщо ``name`` не ``None``, список, що містить решту " +"елементів послідовності, прив’язується до цього імені, якщо загальний шаблон " +"послідовності успішний." + +msgid "" +"A match mapping pattern. ``keys`` is a sequence of expression nodes. " +"``patterns`` is a corresponding sequence of pattern nodes. ``rest`` is an " +"optional name that can be specified to capture the remaining mapping " +"elements. Permitted key expressions are restricted as described in the match " +"statement documentation." +msgstr "" +"Шаблон відображення відповідності. ``ключі`` - це послідовність вузлів " +"експресії. ``паттерни`` - це відповідна послідовність вузлів шаблону. " +"``rest`` - це необов'язкове ім'я, яке можна вказати для захоплення решти " +"елементів відображення. Дозволені ключові вирази обмежені, як описано в " +"документації оператора відповідності." + +msgid "" +"This pattern succeeds if the subject is a mapping, all evaluated key " +"expressions are present in the mapping, and the value corresponding to each " +"key matches the corresponding subpattern. If ``rest`` is not ``None``, a " +"dict containing the remaining mapping elements is bound to that name if the " +"overall mapping pattern is successful." +msgstr "" +"Цей шаблон виконується успішно, якщо суб’єктом є відображення, усі оцінені " +"ключові вирази присутні у відображенні, а значення, що відповідає кожному " +"ключу, відповідає відповідному підшаблону. Якщо ``rest`` не є ``None``, " +"dict, що містить решту елементів відображення, прив’язується до цього імені, " +"якщо загальний шаблон відображення успішний." + +msgid "" +"A match class pattern. ``cls`` is an expression giving the nominal class to " +"be matched. ``patterns`` is a sequence of pattern nodes to be matched " +"against the class defined sequence of pattern matching attributes. " +"``kwd_attrs`` is a sequence of additional attributes to be matched " +"(specified as keyword arguments in the class pattern), ``kwd_patterns`` are " +"the corresponding patterns (specified as keyword values in the class " +"pattern)." +msgstr "" +"Шаблон класу відповідності. ``cls`` - це вираз, який дає номінальний клас, " +"який потрібно знайти. ``шаблони`` - це послідовність вузлів шаблону, які " +"потрібно зіставити з визначеною класом послідовністю атрибутів відповідності " +"шаблону. ``kwd_attrs`` — це послідовність додаткових атрибутів, які потрібно " +"зіставити (зазначені як аргументи ключових слів у шаблоні класу), " +"``kwd_patterns`` — це відповідні шаблони (зазначені як значення ключових " +"слів у шаблоні класу)." + +msgid "" +"This pattern succeeds if the subject is an instance of the nominated class, " +"all positional patterns match the corresponding class-defined attributes, " +"and any specified keyword attributes match their corresponding pattern." +msgstr "" +"Цей шаблон успішний, якщо суб’єкт є екземпляром призначеного класу, усі " +"позиційні шаблони відповідають відповідним атрибутам, визначеним класом, і " +"будь-які вказані атрибути ключового слова відповідають своєму відповідному " +"шаблону." + +msgid "" +"Note: classes may define a property that returns self in order to match a " +"pattern node against the instance being matched. Several builtin types are " +"also matched that way, as described in the match statement documentation." +msgstr "" +"Примітка: класи можуть визначати властивість, яка повертає self, щоб " +"зіставити вузол шаблону з екземпляром, який відповідає. Кілька вбудованих " +"типів також зіставляються таким чином, як описано в документації оператора " +"збігу." + +msgid "" +"A match \"as-pattern\", capture pattern or wildcard pattern. ``pattern`` " +"contains the match pattern that the subject will be matched against. If the " +"pattern is ``None``, the node represents a capture pattern (i.e a bare name) " +"and will always succeed." +msgstr "" +"Збіг \"як шаблон\", шаблон захоплення або шаблон підстановки. ``шаблон`` " +"містить шаблон відповідності, з яким буде зіставлятися предмет. Якщо шаблон " +"``None``, вузол представляє шаблон захоплення (тобто голе ім’я) і завжди " +"матиме успіх." + +msgid "" +"The ``name`` attribute contains the name that will be bound if the pattern " +"is successful. If ``name`` is ``None``, ``pattern`` must also be ``None`` " +"and the node represents the wildcard pattern." +msgstr "" +"Атрибут ``name`` містить ім'я, яке буде зв'язано, якщо шаблон буде успішним. " +"Якщо ``name`` має значення ``None``, ``pattern`` також має бути ``None``, а " +"вузол представляє шаблон підстановки." + +msgid "" +"A match \"or-pattern\". An or-pattern matches each of its subpatterns in " +"turn to the subject, until one succeeds. The or-pattern is then deemed to " +"succeed. If none of the subpatterns succeed the or-pattern fails. The " +"``patterns`` attribute contains a list of match pattern nodes that will be " +"matched against the subject." +msgstr "" +"Збіг \"або шаблон\". Або-шаблон по черзі зіставляє кожен із своїх " +"підшаблонів із суб’єктом, поки один не досягне успіху. Після цього шаблон " +"або вважається успішним. Якщо жоден із підшаблонів не вдався, шаблон or-не " +"вдається. Атрибут ``patterns`` містить список вузлів шаблону відповідності, " +"які будуть зіставлятися з предметом." + +msgid "Function and class definitions" +msgstr "Визначення функцій і класів" + +msgid "A function definition." +msgstr "Визначення функції." + +msgid "``name`` is a raw string of the function name." +msgstr "``name`` - це необроблений рядок назви функції." + +msgid "``args`` is an :class:`arguments` node." +msgstr "``args`` є вузлом :class:`arguments`." + +msgid "``body`` is the list of nodes inside the function." +msgstr "``body`` - це список вузлів усередині функції." + +msgid "" +"``decorator_list`` is the list of decorators to be applied, stored outermost " +"first (i.e. the first in the list will be applied last)." +msgstr "" +"``decorator_list`` — це список декораторів, які будуть застосовані, " +"зберігаються в першу чергу (тобто перший у списку буде застосовано останнім)." + +msgid "``returns`` is the return annotation." +msgstr "``returns`` - це анотація повернення." + +msgid "" +"``lambda`` is a minimal function definition that can be used inside an " +"expression. Unlike :class:`FunctionDef`, ``body`` holds a single node." +msgstr "" +"``лямбда`` - це мінімальне визначення функції, яке можна використовувати " +"всередині виразу. На відміну від :class:`FunctionDef`, ``body`` містить один " +"вузол." + +msgid "The arguments for a function." +msgstr "Аргументи функції." + +msgid "" +"``posonlyargs``, ``args`` and ``kwonlyargs`` are lists of :class:`arg` nodes." +msgstr "" +"``posonlyargs``, ``args`` і ``kwonlyargs`` - це списки вузлів :class:`arg`." + +msgid "" +"``vararg`` and ``kwarg`` are single :class:`arg` nodes, referring to the " +"``*args, **kwargs`` parameters." +msgstr "" +"``vararg`` і ``kwarg`` є окремими вузлами :class:`arg`, які посилаються на " +"параметри ``*args, **kwargs``." + +msgid "" +"``kw_defaults`` is a list of default values for keyword-only arguments. If " +"one is ``None``, the corresponding argument is required." +msgstr "" +"``kw_defaults`` - це список значень за замовчуванням для аргументів, що " +"містять лише ключові слова. Якщо одне значення ``None``, потрібен " +"відповідний аргумент." + +msgid "" +"``defaults`` is a list of default values for arguments that can be passed " +"positionally. If there are fewer defaults, they correspond to the last n " +"arguments." +msgstr "" +"``defaults`` - це список значень за замовчуванням для аргументів, які можна " +"передати позиційно. Якщо стандартних значень менше, вони відповідають " +"останнім n аргументам." + +msgid "" +"A single argument in a list. ``arg`` is a raw string of the argument name, " +"``annotation`` is its annotation, such as a :class:`Str` or :class:`Name` " +"node." +msgstr "" +"Один аргумент у списку. ``arg`` — це необроблений рядок назви аргументу, " +"``annotation`` — це його анотація, наприклад вузол :class:`Str` або :class:" +"`Name`." + +msgid "" +"``type_comment`` is an optional string with the type annotation as a comment" +msgstr "``type_comment`` – необов’язковий рядок із анотацією типу як коментаря" + +msgid "A ``return`` statement." +msgstr "Оператор ``повернення``." + +msgid "" +"A ``yield`` or ``yield from`` expression. Because these are expressions, " +"they must be wrapped in a :class:`Expr` node if the value sent back is not " +"used." +msgstr "" +"Вираз ``yield`` або ``yield from``. Оскільки це вирази, їх потрібно " +"загорнути у вузол :class:`Expr`, якщо надіслане значення не використовується." + +msgid "" +"``global`` and ``nonlocal`` statements. ``names`` is a list of raw strings." +msgstr "" +"``глобальні`` і ``нелокальні`` заяви. ``names`` - це список необроблених " +"рядків." + +msgid "A class definition." +msgstr "Визначення класу." + +msgid "``name`` is a raw string for the class name" +msgstr "``name`` - це необроблений рядок для імені класу" + +msgid "``bases`` is a list of nodes for explicitly specified base classes." +msgstr "``бази`` - це список вузлів для явно визначених базових класів." + +msgid "" +"``keywords`` is a list of :class:`keyword` nodes, principally for " +"'metaclass'. Other keywords will be passed to the metaclass, as per " +"`PEP-3115 `_." +msgstr "" + +msgid "" +"``starargs`` and ``kwargs`` are each a single node, as in a function call. " +"starargs will be expanded to join the list of base classes, and kwargs will " +"be passed to the metaclass." +msgstr "" +"``starargs`` і ``kwargs`` є окремим вузлом, як у виклику функції. starargs " +"буде розширено до списку базових класів, а kwargs буде передано до метакласу." + +msgid "" +"``body`` is a list of nodes representing the code within the class " +"definition." +msgstr "``body`` - це список вузлів, що представляють код у визначенні класу." + +msgid "``decorator_list`` is a list of nodes, as in :class:`FunctionDef`." +msgstr "``decorator_list`` - це список вузлів, як у :class:`FunctionDef`." + +msgid "Async and await" +msgstr "Async і очікування" + +msgid "" +"An ``async def`` function definition. Has the same fields as :class:" +"`FunctionDef`." +msgstr "" +"Визначення функції ``async def``. Має ті самі поля, що й :class:" +"`FunctionDef`." + +msgid "" +"An ``await`` expression. ``value`` is what it waits for. Only valid in the " +"body of an :class:`AsyncFunctionDef`." +msgstr "" +"Вираз ``очікування``. ``value`` це те, на що він чекає. Дійсний лише в тілі :" +"class:`AsyncFunctionDef`." + +msgid "" +"``async for`` loops and ``async with`` context managers. They have the same " +"fields as :class:`For` and :class:`With`, respectively. Only valid in the " +"body of an :class:`AsyncFunctionDef`." +msgstr "" +"``async for`` цикли ``async with`` контекстні менеджери. Вони мають ті самі " +"поля, що й :class:`For` і :class:`With` відповідно. Дійсний лише в тілі :" +"class:`AsyncFunctionDef`." + +msgid "" +"When a string is parsed by :func:`ast.parse`, operator nodes (subclasses of :" +"class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast." +"boolop` and :class:`ast.expr_context`) on the returned tree will be " +"singletons. Changes to one will be reflected in all other occurrences of the " +"same value (e.g. :class:`ast.Add`)." +msgstr "" +"Коли рядок аналізується :func:`ast.parse`, вузли оператора (підкласи :class:" +"`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast." +"boolop` і :class:`ast.expr_context`) у повернутому дереві будуть одиночними " +"елементами. Зміни в одному буде відображено в усіх інших входженнях того " +"самого значення (наприклад, :class:`ast.Add`)." + +msgid ":mod:`ast` Helpers" +msgstr ":mod:`ast` Помічники" + +msgid "" +"Apart from the node classes, the :mod:`ast` module defines these utility " +"functions and classes for traversing abstract syntax trees:" +msgstr "" +"Окрім класів вузлів, модуль :mod:`ast` визначає ці службові функції та класи " +"для обходу абстрактних синтаксичних дерев:" + +msgid "" +"Parse the source into an AST node. Equivalent to ``compile(source, " +"filename, mode, ast.PyCF_ONLY_AST)``." +msgstr "" +"Розберіть джерело на вузол AST. Еквівалент ``compile(source, filename, mode, " +"ast.PyCF_ONLY_AST)``." + +msgid "" +"If ``type_comments=True`` is given, the parser is modified to check and " +"return type comments as specified by :pep:`484` and :pep:`526`. This is " +"equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the flags passed to :" +"func:`compile()`. This will report syntax errors for misplaced type " +"comments. Without this flag, type comments will be ignored, and the " +"``type_comment`` field on selected AST nodes will always be ``None``. In " +"addition, the locations of ``# type: ignore`` comments will be returned as " +"the ``type_ignores`` attribute of :class:`Module` (otherwise it is always an " +"empty list)." +msgstr "" +"Якщо задано ``type_comments=True``, аналізатор змінюється, щоб перевіряти та " +"повертати коментарі типу, як зазначено :pep:`484` і :pep:`526`. Це " +"еквівалентно додаванню :data:`ast.PyCF_TYPE_COMMENTS` до прапорів, переданих " +"у :func:`compile()`. Це повідомить про синтаксичні помилки для коментарів " +"неправильного типу. Без цього прапорця коментарі типу ігноруватимуться, а " +"поле ``type_comment`` на вибраних вузлах AST завжди матиме значення " +"``None``. Крім того, розташування коментарів ``# type: ignore`` " +"повертатиметься як атрибут ``type_ignores`` :class:`Module` (інакше це " +"завжди порожній список)." + +msgid "" +"In addition, if ``mode`` is ``'func_type'``, the input syntax is modified to " +"correspond to :pep:`484` \"signature type comments\", e.g. ``(str, int) -> " +"List[str]``." +msgstr "" +"Крім того, якщо ``mode`` є ``'func_type'``, синтаксис введення змінюється " +"відповідно до :pep:`484` \"коментарів типу підпису\", напр. ``(str, int) -> " +"Список[str]``." + +msgid "" +"Also, setting ``feature_version`` to a tuple ``(major, minor)`` will attempt " +"to parse using that Python version's grammar. Currently ``major`` must equal " +"to ``3``. For example, setting ``feature_version=(3, 4)`` will allow the " +"use of ``async`` and ``await`` as variable names. The lowest supported " +"version is ``(3, 4)``; the highest is ``sys.version_info[0:2]``." +msgstr "" +"Крім того, встановлення ``feature_version`` на кортеж ``(major, minor)`` " +"спробує проаналізувати за допомогою граматики цієї версії Python. Наразі " +"``major`` має дорівнювати ``3``. Наприклад, встановлення " +"``feature_version=(3, 4)`` дозволить використовувати ``async`` і ``await`` " +"як імена змінних. Найменша підтримувана версія – ``(3, 4)``; найвищий — " +"``sys.version_info[0:2]``." + +msgid "" +"If source contains a null character ('\\0'), :exc:`ValueError` is raised." +msgstr "" +"Якщо джерело містить нульовий символ ('\\0'), виникає :exc:`ValueError`." + +msgid "" +"Note that successfully parsing source code into an AST object doesn't " +"guarantee that the source code provided is valid Python code that can be " +"executed as the compilation step can raise further :exc:`SyntaxError` " +"exceptions. For instance, the source ``return 42`` generates a valid AST " +"node for a return statement, but it cannot be compiled alone (it needs to be " +"inside a function node)." +msgstr "" +"Зауважте, що успішний розбір вихідного коду в об’єкт AST не гарантує, що " +"наданий вихідний код є дійсним кодом Python, який можна виконати, оскільки " +"етап компіляції може викликати подальші винятки :exc:`SyntaxError`. " +"Наприклад, вихідний ``return 42`` генерує дійсний вузол AST для оператора " +"return, але його не можна скомпілювати окремо (він має бути всередині " +"функціонального вузла)." + +msgid "" +"In particular, :func:`ast.parse` won't do any scoping checks, which the " +"compilation step does." +msgstr "" +"Зокрема, :func:`ast.parse` не виконуватиме жодних перевірок обсягу, що " +"робить крок компіляції." + +msgid "" +"It is possible to crash the Python interpreter with a sufficiently large/" +"complex string due to stack depth limitations in Python's AST compiler." +msgstr "" +"Можливий збій інтерпретатора Python із досить великим/складним рядком через " +"обмеження глибини стеку в компіляторі AST Python." + +msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." +msgstr "Додано ``type_comments``, ``mode='func_type'`` і ``feature_version``." + +msgid "" +"Unparse an :class:`ast.AST` object and generate a string with code that " +"would produce an equivalent :class:`ast.AST` object if parsed back with :" +"func:`ast.parse`." +msgstr "" +"Розберіть об’єкт :class:`ast.AST` і згенеруйте рядок із кодом, який створить " +"еквівалентний об’єкт :class:`ast.AST`, якщо його проаналізувати назад за " +"допомогою :func:`ast.parse`." + +msgid "" +"The produced code string will not necessarily be equal to the original code " +"that generated the :class:`ast.AST` object (without any compiler " +"optimizations, such as constant tuples/frozensets)." +msgstr "" +"Створений рядок коду не обов’язково дорівнюватиме вихідному коду, який " +"згенерував об’єкт :class:`ast.AST` (без будь-яких оптимізацій компілятора, " +"таких як константні кортежі/заморожені набори)." + +msgid "" +"Trying to unparse a highly complex expression would result with :exc:" +"`RecursionError`." +msgstr "" +"Спроба розібрати дуже складний вираз призведе до :exc:`RecursionError`." + +msgid "" +"Evaluate an expression node or a string containing only a Python literal or " +"container display. The string or node provided may only consist of the " +"following Python literal structures: strings, bytes, numbers, tuples, lists, " +"dicts, sets, booleans, ``None`` and ``Ellipsis``." +msgstr "" + +msgid "" +"This can be used for evaluating strings containing Python values without the " +"need to parse the values oneself. It is not capable of evaluating " +"arbitrarily complex expressions, for example involving operators or indexing." +msgstr "" + +msgid "" +"This function had been documented as \"safe\" in the past without defining " +"what that meant. That was misleading. This is specifically designed not to " +"execute Python code, unlike the more general :func:`eval`. There is no " +"namespace, no name lookups, or ability to call out. But it is not free from " +"attack: A relatively small input can lead to memory exhaustion or to C stack " +"exhaustion, crashing the process. There is also the possibility for " +"excessive CPU consumption denial of service on some inputs. Calling it on " +"untrusted data is thus not recommended." +msgstr "" + +msgid "" +"It is possible to crash the Python interpreter due to stack depth " +"limitations in Python's AST compiler." +msgstr "" + +msgid "" +"It can raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:" +"`MemoryError` and :exc:`RecursionError` depending on the malformed input." +msgstr "" +"Він може викликати :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :" +"exc:`MemoryError` і :exc:`RecursionError` залежно від неправильного введення." + +msgid "Now allows bytes and set literals." +msgstr "Тепер дозволяє байти та встановлені літерали." + +msgid "Now supports creating empty sets with ``'set()'``." +msgstr "" +"Тепер підтримується створення порожніх наборів за допомогою ``'set()'``." + +msgid "For string inputs, leading spaces and tabs are now stripped." +msgstr "Для вводу рядків початкові пробіли та табуляції тепер видалені." + +msgid "" +"Return the docstring of the given *node* (which must be a :class:" +"`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" +"`Module` node), or ``None`` if it has no docstring. If *clean* is true, " +"clean up the docstring's indentation with :func:`inspect.cleandoc`." +msgstr "" +"Повертає рядок документації даного *вузла* (який має бути :class:" +"`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef` або :class:" +"`Module` вузол), або ``None``, якщо він не має рядка документації. Якщо " +"*clean* має значення true, очистіть відступ у рядку документа за допомогою :" +"func:`inspect.cleandoc`." + +msgid ":class:`AsyncFunctionDef` is now supported." +msgstr ":class:`AsyncFunctionDef` тепер підтримується." + +msgid "" +"Get source code segment of the *source* that generated *node*. If some " +"location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" +"`col_offset`, or :attr:`end_col_offset`) is missing, return ``None``." +msgstr "" +"Отримати сегмент вихідного коду *джерела*, який створив *вузол*. Якщо якась " +"інформація про місцезнаходження (:attr:`lineno`, :attr:`end_lineno`, :attr:" +"`col_offset` або :attr:`end_col_offset`) відсутня, поверніть ``None``." + +msgid "" +"If *padded* is ``True``, the first line of a multi-line statement will be " +"padded with spaces to match its original position." +msgstr "" +"Якщо *paded* має значення ``True``, перший рядок багаторядкового оператора " +"буде доповнено пробілами відповідно до його вихідної позиції." + +msgid "" +"When you compile a node tree with :func:`compile`, the compiler expects :" +"attr:`lineno` and :attr:`col_offset` attributes for every node that supports " +"them. This is rather tedious to fill in for generated nodes, so this helper " +"adds these attributes recursively where not already set, by setting them to " +"the values of the parent node. It works recursively starting at *node*." +msgstr "" +"Коли ви компілюєте дерево вузлів за допомогою :func:`compile`, компілятор " +"очікує атрибутів :attr:`lineno` і :attr:`col_offset` для кожного вузла, який " +"їх підтримує. Це досить нудно заповнювати для згенерованих вузлів, тому цей " +"помічник рекурсивно додає ці атрибути там, де ще не встановлено, " +"встановлюючи для них значення батьківського вузла. Він працює рекурсивно, " +"починаючи з *node*." + +msgid "" +"Increment the line number and end line number of each node in the tree " +"starting at *node* by *n*. This is useful to \"move code\" to a different " +"location in a file." +msgstr "" +"Збільште номер рядка та номер кінцевого рядка кожного вузла в дереві, " +"починаючи з *вузла*, на *n*. Це корисно для \"переміщення коду\" в інше " +"місце у файлі." + +msgid "" +"Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" +"`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " +"possible, and return *new_node*." +msgstr "" +"Скопіюйте вихідне розташування (:attr:`lineno`, :attr:`col_offset`, :attr:" +"`end_lineno` та :attr:`end_col_offset`) із *old_node* у *new_node*, якщо " +"можливо, і поверніть *new_node*." + +msgid "" +"Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " +"that is present on *node*." +msgstr "" +"Отримайте кортеж ``(fieldname, value)`` для кожного поля ``node._fields``, " +"який присутній на *node*." + +msgid "" +"Yield all direct child nodes of *node*, that is, all fields that are nodes " +"and all items of fields that are lists of nodes." +msgstr "" +"Видає всі прямі дочірні вузли *node*, тобто всі поля, які є вузлами, і всі " +"елементи полів, які є списками вузлів." + +msgid "" +"Recursively yield all descendant nodes in the tree starting at *node* " +"(including *node* itself), in no specified order. This is useful if you " +"only want to modify nodes in place and don't care about the context." +msgstr "" +"Рекурсивно створювати всі вузли-нащадки в дереві, починаючи з *node* " +"(включаючи сам *node*), у невизначеному порядку. Це корисно, якщо ви хочете " +"лише змінити вузли на місці й не дбаєте про контекст." + +msgid "" +"A node visitor base class that walks the abstract syntax tree and calls a " +"visitor function for every node found. This function may return a value " +"which is forwarded by the :meth:`visit` method." +msgstr "" +"Базовий клас відвідувача вузла, який проходить абстрактне синтаксичне дерево " +"та викликає функцію відвідувача для кожного знайденого вузла. Ця функція " +"може повертати значення, яке пересилається методом :meth:`visit`." + +msgid "" +"This class is meant to be subclassed, with the subclass adding visitor " +"methods." +msgstr "" +"Цей клас призначений для створення підкласу, який додає методи відвідувачів." + +msgid "" +"Visit a node. The default implementation calls the method called :samp:" +"`self.visit_{classname}` where *classname* is the name of the node class, " +"or :meth:`generic_visit` if that method doesn't exist." +msgstr "" +"Відвідайте вузол. Стандартна реалізація викликає метод під назвою :samp:" +"`self.visit_{classname}`, де *classname* є назвою класу вузла, або :meth:" +"`generic_visit`, якщо цей метод не існує." + +msgid "This visitor calls :meth:`visit` on all children of the node." +msgstr "Цей відвідувач викликає :meth:`visit` для всіх дітей вузла." + +msgid "" +"Note that child nodes of nodes that have a custom visitor method won't be " +"visited unless the visitor calls :meth:`generic_visit` or visits them itself." +msgstr "" +"Зауважте, що дочірні вузли вузлів, які мають спеціальний метод відвідувача, " +"не будуть відвідані, якщо відвідувач не викличе :meth:`generic_visit` або " +"відвідає їх сам." + +msgid "" +"Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " +"during traversal. For this a special visitor exists (:class:" +"`NodeTransformer`) that allows modifications." +msgstr "" +"Не використовуйте :class:`NodeVisitor`, якщо ви хочете застосувати зміни до " +"вузлів під час обходу. Для цього існує спеціальний відвідувач (:class:" +"`NodeTransformer`), який дозволяє вносити зміни." + +msgid "" +"Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" +"`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " +"not be called in future Python versions. Add the :meth:`visit_Constant` " +"method to handle all constant nodes." +msgstr "" +"Методи :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" +"`visit_NameConstant` і :meth:`visit_Ellipsis` зараз застаріли та не будуть " +"викликатися в майбутніх версіях Python. Додайте метод :meth:`visit_Constant` " +"для обробки всіх постійних вузлів." + +msgid "" +"A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " +"allows modification of nodes." +msgstr "" +"Підклас :class:`NodeVisitor`, який проходить абстрактне синтаксичне дерево " +"та дозволяє модифікувати вузли." + +msgid "" +"The :class:`NodeTransformer` will walk the AST and use the return value of " +"the visitor methods to replace or remove the old node. If the return value " +"of the visitor method is ``None``, the node will be removed from its " +"location, otherwise it is replaced with the return value. The return value " +"may be the original node in which case no replacement takes place." +msgstr "" +":class:`NodeTransformer` пройде AST і використає значення, що повертається " +"методами відвідувача, щоб замінити або видалити старий вузол. Якщо " +"значенням, що повертається методом відвідувача, є ``None``, вузол буде " +"видалено зі свого розташування, інакше він замінюється значенням, що " +"повертається. Поверненим значенням може бути вихідний вузол, і в цьому " +"випадку заміна не відбувається." + +msgid "" +"Here is an example transformer that rewrites all occurrences of name lookups " +"(``foo``) to ``data['foo']``::" +msgstr "" +"Ось приклад трансформатора, який переписує всі випадки пошуку імен (``foo``) " +"на ``data['foo']``::" + +msgid "" +"Keep in mind that if the node you're operating on has child nodes you must " +"either transform the child nodes yourself or call the :meth:`generic_visit` " +"method for the node first." +msgstr "" +"Майте на увазі, що якщо вузол, на якому ви працюєте, має дочірні вузли, ви " +"повинні або трансформувати дочірні вузли самостійно, або спочатку викликати " +"метод :meth:`generic_visit` для вузла." + +msgid "" +"For nodes that were part of a collection of statements (that applies to all " +"statement nodes), the visitor may also return a list of nodes rather than " +"just a single node." +msgstr "" +"Для вузлів, які були частиною набору операторів (що стосується всіх вузлів " +"операторів), відвідувач також може повернути список вузлів, а не лише один " +"вузол." + +msgid "" +"If :class:`NodeTransformer` introduces new nodes (that weren't part of " +"original tree) without giving them location information (such as :attr:" +"`lineno`), :func:`fix_missing_locations` should be called with the new sub-" +"tree to recalculate the location information::" +msgstr "" +"Якщо :class:`NodeTransformer` вводить нові вузли (які не були частиною " +"оригінального дерева) без надання інформації про їх розташування " +"(наприклад, :attr:`lineno`), :func:`fix_missing_locations` має бути " +"викликано з новим під- дерево для перерахунку інформації про " +"місцезнаходження::" + +msgid "Usually you use the transformer like this::" +msgstr "Зазвичай ви використовуєте трансформатор таким чином:" + +msgid "" +"Return a formatted dump of the tree in *node*. This is mainly useful for " +"debugging purposes. If *annotate_fields* is true (by default), the returned " +"string will show the names and the values for fields. If *annotate_fields* " +"is false, the result string will be more compact by omitting unambiguous " +"field names. Attributes such as line numbers and column offsets are not " +"dumped by default. If this is wanted, *include_attributes* can be set to " +"true." +msgstr "" +"Повернути відформатований дамп дерева у *node*. Це в основному корисно для " +"цілей налагодження. Якщо *annotate_fields* має значення true (за " +"замовчуванням), у поверненому рядку відображатимуться імена та значення для " +"полів. Якщо *annotate_fields* має значення false, рядок результату буде " +"більш компактним за рахунок пропуску однозначних імен полів. Такі атрибути, " +"як номери рядків і зміщення стовпців, не скидаються за замовчуванням. Якщо " +"це потрібно, *include_attributes* можна встановити на true." + +msgid "" +"If *indent* is a non-negative integer or string, then the tree will be " +"pretty-printed with that indent level. An indent level of 0, negative, or ``" +"\"\"`` will only insert newlines. ``None`` (the default) selects the single " +"line representation. Using a positive integer indent indents that many " +"spaces per level. If *indent* is a string (such as ``\"\\t\"``), that " +"string is used to indent each level." +msgstr "" +"Якщо *indent* є невід’ємним цілим числом або рядком, то дерево буде " +"надруковано з таким рівнем відступу. Рівень відступу 0, негативний або ``" +"\"\"`` вставлятиме лише нові рядки. ``None`` (за замовчуванням) вибирає " +"однорядкове представлення. Використання додатного цілого відступу робить " +"стільки відступів на рівень. Якщо *indent* є рядком (наприклад, ``\"\\t" +"\"``), цей рядок використовується для відступу кожного рівня." + +msgid "Added the *indent* option." +msgstr "Додано параметр *відступ*." + +msgid "Compiler Flags" +msgstr "Прапори компілятора" + +msgid "" +"The following flags may be passed to :func:`compile` in order to change " +"effects on the compilation of a program:" +msgstr "" +"Наступні прапорці можуть бути передані :func:`compile`, щоб змінити вплив на " +"компіляцію програми:" + +msgid "" +"Enables support for top-level ``await``, ``async for``, ``async with`` and " +"async comprehensions." +msgstr "" +"Вмикає підтримку ``await`` верхнього рівня, ``async for``, ``async with`` та " +"асинхронне розуміння." + +msgid "" +"Generates and returns an abstract syntax tree instead of returning a " +"compiled code object." +msgstr "" +"Створює та повертає абстрактне синтаксичне дерево замість повернення " +"скомпільованого об’єкта коду." + +msgid "" +"Enables support for :pep:`484` and :pep:`526` style type comments (``# type: " +"``, ``# type: ignore ``)." +msgstr "" +"Вмикає підтримку коментарів типу :pep:`484` і :pep:`526` (``# type: " +"``, ``# type: ignore ``)." + +msgid "Command-Line Usage" +msgstr "Використання командного рядка" + +msgid "" +"The :mod:`ast` module can be executed as a script from the command line. It " +"is as simple as:" +msgstr "" +"Модуль :mod:`ast` можна запустити як скрипт із командного рядка. Це так " +"просто:" + +msgid "The following options are accepted:" +msgstr "Приймаються такі варіанти:" + +msgid "Show the help message and exit." +msgstr "Показати довідкове повідомлення та вийти." + +msgid "" +"Specify what kind of code must be compiled, like the *mode* argument in :" +"func:`parse`." +msgstr "" +"Укажіть тип коду, який потрібно скомпілювати, наприклад аргумент *mode* у :" +"func:`parse`." + +msgid "Don't parse type comments." +msgstr "Не аналізуйте коментарі типу." + +msgid "Include attributes such as line numbers and column offsets." +msgstr "Додайте такі атрибути, як номери рядків і зміщення стовпців." + +msgid "Indentation of nodes in AST (number of spaces)." +msgstr "Відступ вузлів в AST (кількість пробілів)." + +msgid "" +"If :file:`infile` is specified its contents are parsed to AST and dumped to " +"stdout. Otherwise, the content is read from stdin." +msgstr "" +"Якщо вказано :file:`infile`, його вміст аналізується в AST і скидається в " +"stdout. В іншому випадку вміст читається зі стандартного вводу." + +msgid "" +"`Green Tree Snakes `_, an external " +"documentation resource, has good details on working with Python ASTs." +msgstr "" +"`Green Tree Snakes `_, зовнішній " +"ресурс документації, містить хороші відомості про роботу з Python AST." + +msgid "" +"`ASTTokens `_ " +"annotates Python ASTs with the positions of tokens and text in the source " +"code that generated them. This is helpful for tools that make source code " +"transformations." +msgstr "" +"`ASTTokens `_ " +"анотує AST Python за допомогою позицій токенів і тексту у вихідному коді, " +"який їх створив. Це корисно для інструментів, які здійснюють перетворення " +"вихідного коду." + +msgid "" +"`leoAst.py `_ unifies the " +"token-based and parse-tree-based views of python programs by inserting two-" +"way links between tokens and ast nodes." +msgstr "" + +msgid "" +"`LibCST `_ parses code as a Concrete Syntax " +"Tree that looks like an ast tree and keeps all formatting details. It's " +"useful for building automated refactoring (codemod) applications and linters." +msgstr "" +"`LibCST `_ аналізує код як конкретне " +"синтаксичне дерево, яке виглядає як дерево ast і зберігає всі деталі " +"форматування. Це корисно для створення додатків і лінтерів для " +"автоматизованого рефакторинга (codemod)." + +msgid "" +"`Parso `_ is a Python parser that supports " +"error recovery and round-trip parsing for different Python versions (in " +"multiple Python versions). Parso is also able to list multiple syntax errors " +"in your python file." +msgstr "" +"`Parso `_ — це аналізатор Python, який " +"підтримує відновлення помилок і двосторонній аналіз для різних версій Python " +"(у кількох версіях Python). Parso також може перелічувати численні " +"синтаксичні помилки у вашому файлі python." diff --git a/library/asynchat.po b/library/asynchat.po new file mode 100644 index 000000000..b9d91f7de --- /dev/null +++ b/library/asynchat.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`asynchat` --- Asynchronous socket command/response handler" +msgstr ":mod:`asynchat` --- обробник команд/відповідей асинхронного сокета" + +msgid "**Source code:** :source:`Lib/asynchat.py`" +msgstr "**Вихідний код:** :source:`Lib/asynchat.py`" + +msgid "" +"The :mod:`asynchat` module is deprecated (see :pep:`PEP 594 <594#asynchat>` " +"for details). Please use :mod:`asyncio` instead." +msgstr "" + +msgid "" +"This module exists for backwards compatibility only. For new code we " +"recommend using :mod:`asyncio`." +msgstr "" +"Цей модуль існує лише для зворотної сумісності. Для нового коду ми " +"рекомендуємо використовувати :mod:`asyncio`." + +msgid "" +"This module builds on the :mod:`asyncore` infrastructure, simplifying " +"asynchronous clients and servers and making it easier to handle protocols " +"whose elements are terminated by arbitrary strings, or are of variable " +"length. :mod:`asynchat` defines the abstract class :class:`async_chat` that " +"you subclass, providing implementations of the :meth:`collect_incoming_data` " +"and :meth:`found_terminator` methods. It uses the same asynchronous loop as :" +"mod:`asyncore`, and the two types of channel, :class:`asyncore.dispatcher` " +"and :class:`asynchat.async_chat`, can freely be mixed in the channel map. " +"Typically an :class:`asyncore.dispatcher` server channel generates new :" +"class:`asynchat.async_chat` channel objects as it receives incoming " +"connection requests." +msgstr "" +"Цей модуль базується на інфраструктурі :mod:`asyncore`, спрощуючи роботу " +"асинхронних клієнтів і серверів і полегшуючи роботу з протоколами, елементи " +"яких завершуються довільними рядками або мають змінну довжину. :mod:" +"`asynchat` визначає абстрактний клас :class:`async_chat`, підклас якого ви " +"створюєте, надаючи реалізацію методів :meth:`collect_incoming_data` і :meth:" +"`found_terminator`. Він використовує той самий асинхронний цикл, що й :mod:" +"`asyncore`, і два типи каналів, :class:`asyncore.dispatcher` і :class:" +"`asynchat.async_chat`, можна вільно змішувати в карті каналів. Зазвичай " +"канал сервера :class:`asyncore.dispatcher` створює нові об’єкти каналу :" +"class:`asynchat.async_chat`, коли отримує вхідні запити на з’єднання." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"This class is an abstract subclass of :class:`asyncore.dispatcher`. To make " +"practical use of the code you must subclass :class:`async_chat`, providing " +"meaningful :meth:`collect_incoming_data` and :meth:`found_terminator` " +"methods. The :class:`asyncore.dispatcher` methods can be used, although not " +"all make sense in a message/response context." +msgstr "" +"Цей клас є абстрактним підкласом :class:`asyncore.dispatcher`. Щоб практично " +"використовувати код, ви повинні створити підклас :class:`async_chat`, " +"надаючи значущі методи :meth:`collect_incoming_data` і :meth:" +"`found_terminator`. Методи :class:`asyncore.dispatcher` можна " +"використовувати, хоча не всі мають сенс у контексті повідомлення/відповіді." + +msgid "" +"Like :class:`asyncore.dispatcher`, :class:`async_chat` defines a set of " +"events that are generated by an analysis of socket conditions after a :c:" +"func:`select` call. Once the polling loop has been started the :class:" +"`async_chat` object's methods are called by the event-processing framework " +"with no action on the part of the programmer." +msgstr "" +"Як і :class:`asyncore.dispatcher`, :class:`async_chat` визначає набір подій, " +"які генеруються аналізом умов сокета після виклику :c:func:`select`. Після " +"запуску циклу опитування методи об’єкта :class:`async_chat` викликаються " +"структурою обробки подій без жодних дій з боку програміста." + +msgid "" +"Two class attributes can be modified, to improve performance, or possibly " +"even to conserve memory." +msgstr "" +"Два атрибути класу можна змінити, щоб покращити продуктивність або, можливо, " +"навіть зберегти пам'ять." + +msgid "The asynchronous input buffer size (default ``4096``)." +msgstr "Розмір буфера асинхронного введення (за замовчуванням ``4096``)." + +msgid "The asynchronous output buffer size (default ``4096``)." +msgstr "Розмір буфера асинхронного виводу (за замовчуванням ``4096``)." + +msgid "" +"Unlike :class:`asyncore.dispatcher`, :class:`async_chat` allows you to " +"define a :abbr:`FIFO (first-in, first-out)` queue of *producers*. A producer " +"need have only one method, :meth:`more`, which should return data to be " +"transmitted on the channel. The producer indicates exhaustion (*i.e.* that " +"it contains no more data) by having its :meth:`more` method return the empty " +"bytes object. At this point the :class:`async_chat` object removes the " +"producer from the queue and starts using the next producer, if any. When the " +"producer queue is empty the :meth:`handle_write` method does nothing. You " +"use the channel object's :meth:`set_terminator` method to describe how to " +"recognize the end of, or an important breakpoint in, an incoming " +"transmission from the remote endpoint." +msgstr "" +"На відміну від :class:`asyncore.dispatcher`, :class:`async_chat` дозволяє " +"вам визначити чергу :abbr:`FIFO (першим увійшов, першим вийшов)` " +"*виробників*. Продюсеру потрібен лише один метод, :meth:`more`, який має " +"повертати дані для передачі по каналу. Виробник вказує на вичерпання " +"(*тобто*, що він більше не містить даних), за допомогою методу :meth:`more`, " +"який повертає порожній об’єкт bytes. У цей момент об’єкт :class:`async_chat` " +"видаляє виробника з черги та починає використовувати наступного виробника, " +"якщо такий є. Коли черга виробника порожня, метод :meth:`handle_write` " +"нічого не робить. Ви використовуєте метод :meth:`set_terminator` об’єкта " +"каналу, щоб описати, як розпізнати кінець або важливу точку зупину вхідної " +"передачі від віддаленої кінцевої точки." + +msgid "" +"To build a functioning :class:`async_chat` subclass your input methods :" +"meth:`collect_incoming_data` and :meth:`found_terminator` must handle the " +"data that the channel receives asynchronously. The methods are described " +"below." +msgstr "" +"Щоб побудувати функціонуючий підклас :class:`async_chat`, ваші методи " +"введення :meth:`collect_incoming_data` і :meth:`found_terminator` повинні " +"обробляти дані, які отримує канал асинхронно. Методи описані нижче." + +msgid "" +"Pushes a ``None`` on to the producer queue. When this producer is popped off " +"the queue it causes the channel to be closed." +msgstr "" +"Вставляє ``None`` до черги виробника. Коли цього виробника видаляють із " +"черги, канал закривається." + +msgid "" +"Called with *data* holding an arbitrary amount of received data. The " +"default method, which must be overridden, raises a :exc:" +"`NotImplementedError` exception." +msgstr "" +"Викликається з *data*, що містить довільну кількість отриманих даних. Метод " +"за замовчуванням, який потрібно перевизначати, викликає виняток :exc:" +"`NotImplementedError`." + +msgid "" +"In emergencies this method will discard any data held in the input and/or " +"output buffers and the producer queue." +msgstr "" +"У надзвичайних ситуаціях цей метод скидає будь-які дані, що зберігаються у " +"вхідних та/або вихідних буферах і черзі виробника." + +msgid "" +"Called when the incoming data stream matches the termination condition set " +"by :meth:`set_terminator`. The default method, which must be overridden, " +"raises a :exc:`NotImplementedError` exception. The buffered input data " +"should be available via an instance attribute." +msgstr "" +"Викликається, коли вхідний потік даних відповідає умові завершення, " +"встановленій :meth:`set_terminator`. Метод за замовчуванням, який потрібно " +"перевизначати, викликає виняток :exc:`NotImplementedError`. Буферизовані " +"вхідні дані мають бути доступні через атрибут екземпляра." + +msgid "Returns the current terminator for the channel." +msgstr "Повертає поточний термінатор для каналу." + +msgid "" +"Pushes data on to the channel's queue to ensure its transmission. This is " +"all you need to do to have the channel write the data out to the network, " +"although it is possible to use your own producers in more complex schemes to " +"implement encryption and chunking, for example." +msgstr "" +"Надсилає дані до черги каналу, щоб забезпечити їх передачу. Це все, що вам " +"потрібно зробити, щоб канал записував дані в мережу, хоча можна " +"використовувати власні виробники в складніших схемах, наприклад, для " +"реалізації шифрування та фрагментації." + +msgid "" +"Takes a producer object and adds it to the producer queue associated with " +"the channel. When all currently pushed producers have been exhausted the " +"channel will consume this producer's data by calling its :meth:`more` method " +"and send the data to the remote endpoint." +msgstr "" + +msgid "" +"Sets the terminating condition to be recognized on the channel. ``term`` " +"may be any of three types of value, corresponding to three different ways to " +"handle incoming protocol data." +msgstr "" +"Встановлює умову завершення, яку буде розпізнано на каналі. ``term`` може " +"бути будь-яким із трьох типів значення, що відповідає трьом різним способам " +"обробки вхідних даних протоколу." + +msgid "term" +msgstr "термін" + +msgid "Description" +msgstr "опис" + +msgid "*string*" +msgstr "*рядок*" + +msgid "" +"Will call :meth:`found_terminator` when the string is found in the input " +"stream" +msgstr "" +"Викличе :meth:`found_terminator`, коли рядок знайдено у вхідному потоці" + +msgid "*integer*" +msgstr "*ціле*" + +msgid "" +"Will call :meth:`found_terminator` when the indicated number of characters " +"have been received" +msgstr "" +"Викличе :meth:`found_terminator`, коли буде отримано вказану кількість " +"символів" + +msgid "``None``" +msgstr "``Жодного``" + +msgid "The channel continues to collect data forever" +msgstr "Канал продовжує збирати дані вічно" + +msgid "" +"Note that any data following the terminator will be available for reading by " +"the channel after :meth:`found_terminator` is called." +msgstr "" +"Зауважте, що будь-які дані після термінатора будуть доступні для читання " +"каналом після виклику :meth:`found_terminator`." + +msgid "asynchat Example" +msgstr "Приклад асинчат" + +msgid "" +"The following partial example shows how HTTP requests can be read with :" +"class:`async_chat`. A web server might create an :class:" +"`http_request_handler` object for each incoming client connection. Notice " +"that initially the channel terminator is set to match the blank line at the " +"end of the HTTP headers, and a flag indicates that the headers are being " +"read." +msgstr "" +"Наступний частковий приклад показує, як HTTP-запити можна читати за " +"допомогою :class:`async_chat`. Веб-сервер може створити об’єкт :class:" +"`http_request_handler` для кожного вхідного підключення клієнта. Зауважте, " +"що початково термінатор каналу встановлено на відповідність порожньому рядку " +"в кінці заголовків HTTP, а прапорець вказує, що заголовки зчитуються." + +msgid "" +"Once the headers have been read, if the request is of type POST (indicating " +"that further data are present in the input stream) then the ``Content-Length:" +"`` header is used to set a numeric terminator to read the right amount of " +"data from the channel." +msgstr "" +"Після прочитання заголовків, якщо запит має тип POST (що вказує на наявність " +"додаткових даних у вхідному потоці), тоді заголовок ``Content-Length:`` " +"використовується для встановлення числового термінатора для читання " +"потрібної кількості дані з каналу." + +msgid "" +"The :meth:`handle_request` method is called once all relevant input has been " +"marshalled, after setting the channel terminator to ``None`` to ensure that " +"any extraneous data sent by the web client are ignored. ::" +msgstr "" +"Метод :meth:`handle_request` викликається після сортування всіх відповідних " +"вхідних даних після встановлення термінатора каналу на ``None``, щоб " +"гарантувати, що будь-які сторонні дані, надіслані веб-клієнтом, " +"ігноруються. ::" diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po new file mode 100644 index 000000000..b6b42ab61 --- /dev/null +++ b/library/asyncio-api-index.po @@ -0,0 +1,367 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "High-level API Index" +msgstr "Індекс API високого рівня" + +msgid "This page lists all high-level async/await enabled asyncio APIs." +msgstr "" +"На цій сторінці перераховано всі асинхронні API високого рівня з підтримкою " +"функції очікування." + +msgid "Tasks" +msgstr "завдання" + +msgid "" +"Utilities to run asyncio programs, create Tasks, and await on multiple " +"things with timeouts." +msgstr "" +"Утиліти для запуску асинхронних програм, створення завдань і очікування " +"кількох речей із тайм-аутом." + +msgid ":func:`run`" +msgstr ":func:`run`" + +msgid "Create event loop, run a coroutine, close the loop." +msgstr "Створіть цикл подій, запустіть співпрограму, закрийте цикл." + +msgid ":class:`Runner`" +msgstr "" + +msgid "A context manager that simplifies multiple async function calls." +msgstr "" + +msgid ":class:`Task`" +msgstr ":class:`Task`" + +msgid "Task object." +msgstr "Об'єкт завдання." + +msgid ":class:`TaskGroup`" +msgstr "" + +msgid "" +"A context manager that holds a group of tasks. Provides a convenient and " +"reliable way to wait for all tasks in the group to finish." +msgstr "" + +msgid ":func:`create_task`" +msgstr ":func:`create_task`" + +msgid "Start an asyncio Task, then returns it." +msgstr "" + +msgid ":func:`current_task`" +msgstr ":func:`поточне_завдання`" + +msgid "Return the current Task." +msgstr "Повернути поточне завдання." + +msgid ":func:`all_tasks`" +msgstr ":func:`усі_завдання`" + +msgid "Return all tasks that are not yet finished for an event loop." +msgstr "" + +msgid "``await`` :func:`sleep`" +msgstr "``чекати`` :func:`sleep`" + +msgid "Sleep for a number of seconds." +msgstr "Поспати кілька секунд." + +msgid "``await`` :func:`gather`" +msgstr "``чекати`` :func:`gather`" + +msgid "Schedule and wait for things concurrently." +msgstr "Плануйте та чекайте подій одночасно." + +msgid "``await`` :func:`wait_for`" +msgstr "``очікувати`` :func:`wait_for`" + +msgid "Run with a timeout." +msgstr "Запустити з тайм-аутом." + +msgid "``await`` :func:`shield`" +msgstr "``чекати`` :func:`shield`" + +msgid "Shield from cancellation." +msgstr "Щит від скасування." + +msgid "``await`` :func:`wait`" +msgstr "``чекати`` :func:`wait`" + +msgid "Monitor for completion." +msgstr "Монітор для завершення." + +msgid ":func:`timeout`" +msgstr "" + +msgid "Run with a timeout. Useful in cases when ``wait_for`` is not suitable." +msgstr "" + +msgid ":func:`to_thread`" +msgstr ":func:`до_потоку`" + +msgid "Asynchronously run a function in a separate OS thread." +msgstr "Асинхронний запуск функції в окремому потоці ОС." + +msgid ":func:`run_coroutine_threadsafe`" +msgstr ":func:`run_coroutine_threadsafe`" + +msgid "Schedule a coroutine from another OS thread." +msgstr "Заплануйте співпрограму з іншого потоку ОС." + +msgid "``for in`` :func:`as_completed`" +msgstr "``for in`` :func:`as_completed`" + +msgid "Monitor for completion with a ``for`` loop." +msgstr "Контроль завершення за допомогою циклу ``for``." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +":ref:`Using asyncio.gather() to run things in parallel " +"`." +msgstr "" +":ref:`Використання asyncio.gather() для паралельного запуску " +"`." + +msgid "" +":ref:`Using asyncio.wait_for() to enforce a timeout " +"`." +msgstr "" +":ref:`Використання asyncio.wait_for() для застосування тайм-ауту " +"`." + +msgid ":ref:`Cancellation `." +msgstr ":ref:`Скасування `." + +msgid ":ref:`Using asyncio.sleep() `." +msgstr ":ref:`Використання asyncio.sleep() `." + +msgid "See also the main :ref:`Tasks documentation page `." +msgstr "" +"Дивіться також головну :ref:`сторінку документації завдань `." + +msgid "Queues" +msgstr "Черги" + +msgid "" +"Queues should be used to distribute work amongst multiple asyncio Tasks, " +"implement connection pools, and pub/sub patterns." +msgstr "" +"Черги слід використовувати для розподілу роботи між декількома асинхронними " +"завданнями, впровадження пулів підключень і шаблонів pub/sub." + +msgid ":class:`Queue`" +msgstr ":class:`Queue`" + +msgid "A FIFO queue." +msgstr "Черга FIFO." + +msgid ":class:`PriorityQueue`" +msgstr ":class:`PriorityQueue`" + +msgid "A priority queue." +msgstr "Пріоритетна черга." + +msgid ":class:`LifoQueue`" +msgstr ":class:`LifoQueue`" + +msgid "A LIFO queue." +msgstr "Черга LIFO." + +msgid "" +":ref:`Using asyncio.Queue to distribute workload between several Tasks " +"`." +msgstr "" +":ref:`Використання asyncio.Queue для розподілу робочого навантаження між " +"кількома завданнями `." + +msgid "See also the :ref:`Queues documentation page `." +msgstr "" +"Дивіться також :ref:`сторінку документації про черги `." + +msgid "Subprocesses" +msgstr "Підпроцеси" + +msgid "Utilities to spawn subprocesses and run shell commands." +msgstr "Утиліти для створення підпроцесів і виконання команд оболонки." + +msgid "``await`` :func:`create_subprocess_exec`" +msgstr "``чекати`` :func:`create_subprocess_exec`" + +msgid "Create a subprocess." +msgstr "Створіть підпроцес." + +msgid "``await`` :func:`create_subprocess_shell`" +msgstr "``чекати`` :func:`create_subprocess_shell`" + +msgid "Run a shell command." +msgstr "Виконайте команду оболонки." + +msgid ":ref:`Executing a shell command `." +msgstr ":ref:`Виконання команди оболонки `." + +msgid "See also the :ref:`subprocess APIs ` documentation." +msgstr "" +"Дивіться також документацію :ref:`API підпроцесів `." + +msgid "Streams" +msgstr "Потоки" + +msgid "High-level APIs to work with network IO." +msgstr "API високого рівня для роботи з мережевим вводом-виводом." + +msgid "``await`` :func:`open_connection`" +msgstr "``чекати`` :func:`open_connection`" + +msgid "Establish a TCP connection." +msgstr "Встановіть з'єднання TCP." + +msgid "``await`` :func:`open_unix_connection`" +msgstr "``чекати`` :func:`open_unix_connection`" + +msgid "Establish a Unix socket connection." +msgstr "Встановіть підключення через сокет Unix." + +msgid "``await`` :func:`start_server`" +msgstr "``чекати`` :func:`start_server`" + +msgid "Start a TCP server." +msgstr "Запустіть сервер TCP." + +msgid "``await`` :func:`start_unix_server`" +msgstr "``чекати`` :func:`start_unix_server`" + +msgid "Start a Unix socket server." +msgstr "Запустіть сокет-сервер Unix." + +msgid ":class:`StreamReader`" +msgstr ":class:`StreamReader`" + +msgid "High-level async/await object to receive network data." +msgstr "Високорівневий об’єкт async/wait для отримання мережевих даних." + +msgid ":class:`StreamWriter`" +msgstr ":class:`StreamWriter`" + +msgid "High-level async/await object to send network data." +msgstr "Високорівневий об’єкт async/await для надсилання мережевих даних." + +msgid ":ref:`Example TCP client `." +msgstr ":ref:`Приклад TCP-клієнта `." + +msgid "See also the :ref:`streams APIs ` documentation." +msgstr "Дивіться також документацію :ref:`streams APIs `." + +msgid "Synchronization" +msgstr "Синхронізація" + +msgid "Threading-like synchronization primitives that can be used in Tasks." +msgstr "" +"Примітиви потокової синхронізації, які можна використовувати в Завданнях." + +msgid ":class:`Lock`" +msgstr ":class:`Lock`" + +msgid "A mutex lock." +msgstr "Блокування м'ютексу." + +msgid ":class:`Event`" +msgstr ":class:`Event`" + +msgid "An event object." +msgstr "Об'єкт події." + +msgid ":class:`Condition`" +msgstr ":class:`Condition`" + +msgid "A condition object." +msgstr "Об'єкт умови." + +msgid ":class:`Semaphore`" +msgstr ":class:`Semaphore`" + +msgid "A semaphore." +msgstr "Семафор." + +msgid ":class:`BoundedSemaphore`" +msgstr ":class:`BoundedSemaphore`" + +msgid "A bounded semaphore." +msgstr "Обмежений семафор." + +msgid ":class:`Barrier`" +msgstr "" + +msgid "A barrier object." +msgstr "" + +msgid ":ref:`Using asyncio.Event `." +msgstr ":ref:`Використання asyncio.Event `." + +msgid ":ref:`Using asyncio.Barrier `." +msgstr "" + +msgid "" +"See also the documentation of asyncio :ref:`synchronization primitives " +"`." +msgstr "" +"Дивіться також документацію asyncio :ref:`примітивів синхронізації `." + +msgid "Exceptions" +msgstr "Винятки" + +msgid ":exc:`asyncio.CancelledError`" +msgstr ":exc:`asyncio.CancelledError`" + +msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`." +msgstr "" +"Піднімається, коли завдання скасовано. Дивіться також :meth:`Task.cancel`." + +msgid ":exc:`asyncio.BrokenBarrierError`" +msgstr "" + +msgid "Raised when a Barrier is broken. See also :meth:`Barrier.wait`." +msgstr "" + +msgid "" +":ref:`Handling CancelledError to run code on cancellation request " +"`." +msgstr "" +":ref:`Обробка CancelledError для запуску коду запиту на скасування " +"`." + +msgid "" +"See also the full list of :ref:`asyncio-specific exceptions `." +msgstr "" +"Дивіться також повний список :ref:`специфічних винятків asyncio `." diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po new file mode 100644 index 000000000..ff0d1ff33 --- /dev/null +++ b/library/asyncio-dev.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Developing with asyncio" +msgstr "Розробка з asyncio" + +msgid "" +"Asynchronous programming is different from classic \"sequential\" " +"programming." +msgstr "" +"Асинхронне програмування відрізняється від класичного \"послідовного\" " +"програмування." + +msgid "" +"This page lists common mistakes and traps and explains how to avoid them." +msgstr "" +"На цій сторінці наведено типові помилки та пастки та пояснено, як їх " +"уникнути." + +msgid "Debug Mode" +msgstr "Режим налагодження" + +msgid "" +"By default asyncio runs in production mode. In order to ease the " +"development asyncio has a *debug mode*." +msgstr "" +"За замовчуванням asyncio працює у робочому режимі. Щоб полегшити розробку, " +"asyncio має *режим налагодження*." + +msgid "There are several ways to enable asyncio debug mode:" +msgstr "Є кілька способів увімкнути асинхронний режим налагодження:" + +msgid "Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``." +msgstr "Встановлення змінної середовища :envvar:`PYTHONASYNCIODEBUG` на ``1``." + +msgid "Using the :ref:`Python Development Mode `." +msgstr "Використання :ref:`режиму розробки Python `." + +msgid "Passing ``debug=True`` to :func:`asyncio.run`." +msgstr "Передача ``debug=True`` до :func:`asyncio.run`." + +msgid "Calling :meth:`loop.set_debug`." +msgstr "Виклик :meth:`loop.set_debug`." + +msgid "In addition to enabling the debug mode, consider also:" +msgstr "Окрім увімкнення режиму налагодження, враховуйте також:" + +msgid "" +"setting the log level of the :ref:`asyncio logger ` to :py:" +"data:`logging.DEBUG`, for example the following snippet of code can be run " +"at startup of the application::" +msgstr "" +"встановлення рівня журналу :ref:`asyncio logger ` на :py:" +"data:`logging.DEBUG`, наприклад, наступний фрагмент коду можна запустити під " +"час запуску програми::" + +msgid "" +"configuring the :mod:`warnings` module to display :exc:`ResourceWarning` " +"warnings. One way of doing that is by using the :option:`-W` ``default`` " +"command line option." +msgstr "" +"налаштування модуля :mod:`warnings` для відображення попереджень :exc:" +"`ResourceWarning`. Один із способів зробити це — скористатися параметром " +"командного рядка :option:`-W` ``default``." + +msgid "When the debug mode is enabled:" +msgstr "Коли ввімкнено режим налагодження:" + +msgid "" +"asyncio checks for :ref:`coroutines that were not awaited ` and logs them; this mitigates the \"forgotten await\" " +"pitfall." +msgstr "" +"asyncio перевіряє :ref:`співпрограми, які не були очікувані `, і записує їх у журнал; це пом'якшує помилку " +"\"забутого очікування\"." + +msgid "" +"Many non-threadsafe asyncio APIs (such as :meth:`loop.call_soon` and :meth:" +"`loop.call_at` methods) raise an exception if they are called from a wrong " +"thread." +msgstr "" +"Багато небезпечних для потоків асинхронних API (таких як методи :meth:`loop." +"call_soon` і :meth:`loop.call_at`) викликають виняток, якщо вони " +"викликаються з неправильного потоку." + +msgid "" +"The execution time of the I/O selector is logged if it takes too long to " +"perform an I/O operation." +msgstr "" +"Час виконання селектора введення-виведення реєструється, якщо виконання " +"операції введення-виведення займає надто багато часу." + +msgid "" +"Callbacks taking longer than 100 milliseconds are logged. The :attr:`loop." +"slow_callback_duration` attribute can be used to set the minimum execution " +"duration in seconds that is considered \"slow\"." +msgstr "" + +msgid "Concurrency and Multithreading" +msgstr "Паралельність і багатопотоковість" + +msgid "" +"An event loop runs in a thread (typically the main thread) and executes all " +"callbacks and Tasks in its thread. While a Task is running in the event " +"loop, no other Tasks can run in the same thread. When a Task executes an " +"``await`` expression, the running Task gets suspended, and the event loop " +"executes the next Task." +msgstr "" +"Цикл подій виконується в потоці (зазвичай головному) і виконує всі зворотні " +"виклики та завдання у своєму потоці. Поки Завдання виконується в циклі " +"подій, жодні інші Завдання не можуть виконуватися в тому самому потоці. Коли " +"Завдання виконує вираз ``очікування``, запущене Завдання призупиняється, а " +"цикл подій виконує наступне Завдання." + +msgid "" +"To schedule a :term:`callback` from another OS thread, the :meth:`loop." +"call_soon_threadsafe` method should be used. Example::" +msgstr "" +"Щоб запланувати :term:`callback` з іншого потоку ОС, слід використовувати " +"метод :meth:`loop.call_soon_threadsafe`. Приклад::" + +msgid "" +"Almost all asyncio objects are not thread safe, which is typically not a " +"problem unless there is code that works with them from outside of a Task or " +"a callback. If there's a need for such code to call a low-level asyncio " +"API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::" +msgstr "" +"Майже всі асинхронні об’єкти не є потокобезпечними, що зазвичай не є " +"проблемою, якщо немає коду, який працює з ними поза Завданням або зворотним " +"викликом. Якщо існує потреба в такому коді для виклику низькорівневого " +"асинхронного API, слід використовувати метод :meth:`loop." +"call_soon_threadsafe`, наприклад::" + +msgid "" +"To schedule a coroutine object from a different OS thread, the :func:" +"`run_coroutine_threadsafe` function should be used. It returns a :class:" +"`concurrent.futures.Future` to access the result::" +msgstr "" +"Щоб запланувати об’єкт співпрограми з іншого потоку ОС, слід використати " +"функцію :func:`run_coroutine_threadsafe`. Він повертає :class:`concurrent." +"futures.Future` для доступу до результату::" + +msgid "" +"To handle signals and to execute subprocesses, the event loop must be run in " +"the main thread." +msgstr "" +"Для обробки сигналів і виконання підпроцесів цикл подій повинен запускатися " +"в основному потоці." + +msgid "" +"The :meth:`loop.run_in_executor` method can be used with a :class:" +"`concurrent.futures.ThreadPoolExecutor` to execute blocking code in a " +"different OS thread without blocking the OS thread that the event loop runs " +"in." +msgstr "" +"Метод :meth:`loop.run_in_executor` можна використовувати з :class:" +"`concurrent.futures.ThreadPoolExecutor` для виконання коду блокування в " +"іншому потоці ОС, не блокуючи потік ОС, у якому виконується цикл подій." + +msgid "" +"There is currently no way to schedule coroutines or callbacks directly from " +"a different process (such as one started with :mod:`multiprocessing`). The :" +"ref:`asyncio-event-loop-methods` section lists APIs that can read from pipes " +"and watch file descriptors without blocking the event loop. In addition, " +"asyncio's :ref:`Subprocess ` APIs provide a way to start " +"a process and communicate with it from the event loop. Lastly, the " +"aforementioned :meth:`loop.run_in_executor` method can also be used with a :" +"class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " +"different process." +msgstr "" + +msgid "Running Blocking Code" +msgstr "Запуск коду блокування" + +msgid "" +"Blocking (CPU-bound) code should not be called directly. For example, if a " +"function performs a CPU-intensive calculation for 1 second, all concurrent " +"asyncio Tasks and IO operations would be delayed by 1 second." +msgstr "" +"Код блокування (прив’язаний до процесора) не слід викликати безпосередньо. " +"Наприклад, якщо функція виконує інтенсивне обчислення ЦП протягом 1 секунди, " +"усі одночасні асинхронні завдання та операції введення-виведення будуть " +"відкладені на 1 секунду." + +msgid "" +"An executor can be used to run a task in a different thread or even in a " +"different process to avoid blocking the OS thread with the event loop. See " +"the :meth:`loop.run_in_executor` method for more details." +msgstr "" +"Виконавець можна використовувати для запуску завдання в іншому потоці або " +"навіть в іншому процесі, щоб уникнути блокування потоку ОС за допомогою " +"циклу подій. Додаткову інформацію див. у методі :meth:`loop.run_in_executor`." + +msgid "Logging" +msgstr "Лісозаготівля" + +msgid "" +"asyncio uses the :mod:`logging` module and all logging is performed via the " +"``\"asyncio\"`` logger." +msgstr "" +"asyncio використовує модуль :mod:`logging`, і все журналювання виконується " +"через ``\"asyncio\"`` реєстратор." + +msgid "" +"The default log level is :py:data:`logging.INFO`, which can be easily " +"adjusted::" +msgstr "" +"Типовим рівнем журналу є :py:data:`logging.INFO`, який можна легко " +"налаштувати:" + +msgid "" +"Network logging can block the event loop. It is recommended to use a " +"separate thread for handling logs or use non-blocking IO. For example, see :" +"ref:`blocking-handlers`." +msgstr "" + +msgid "Detect never-awaited coroutines" +msgstr "Виявляти ніколи не очікувані співпрограми" + +msgid "" +"When a coroutine function is called, but not awaited (e.g. ``coro()`` " +"instead of ``await coro()``) or the coroutine is not scheduled with :meth:" +"`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::" +msgstr "" +"Коли функція співпрограми викликається, але не очікується (наприклад, " +"``coro()`` замість ``await coro()``) або співпрограма не запланована за " +"допомогою :meth:`asyncio.create_task`, asyncio видасть :exc:" +"`RuntimeWarning`::" + +msgid "Output::" +msgstr "Вихід::" + +msgid "Output in debug mode::" +msgstr "Вивід у режимі налагодження::" + +msgid "" +"The usual fix is to either await the coroutine or call the :meth:`asyncio." +"create_task` function::" +msgstr "" +"Звичайним виправленням є або очікування співпрограми, або виклик функції :" +"meth:`asyncio.create_task`::" + +msgid "Detect never-retrieved exceptions" +msgstr "Виявлення ніколи не отриманих винятків" + +msgid "" +"If a :meth:`Future.set_exception` is called but the Future object is never " +"awaited on, the exception would never be propagated to the user code. In " +"this case, asyncio would emit a log message when the Future object is " +"garbage collected." +msgstr "" +"Якщо викликається :meth:`Future.set_exception`, але об’єкт Future ніколи не " +"очікується, виняток ніколи не поширюватиметься на код користувача. У цьому " +"випадку asyncio створюватиме повідомлення журналу, коли об’єкт Future " +"збиратиме сміття." + +msgid "Example of an unhandled exception::" +msgstr "Приклад необробленого винятку::" + +msgid "" +":ref:`Enable the debug mode ` to get the traceback where " +"the task was created::" +msgstr "" +":ref:`Увімкніть режим налагодження `, щоб отримати " +"відстеження місця створення завдання:" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po new file mode 100644 index 000000000..b6f62811f --- /dev/null +++ b/library/asyncio-eventloop.po @@ -0,0 +1,2262 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Event Loop" +msgstr "Цикл подій" + +msgid "" +"**Source code:** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" +"base_events.py`" +msgstr "" +"**Вихідний код:** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" +"base_events.py`" + +msgid "Preface" +msgstr "Передмова" + +msgid "" +"The event loop is the core of every asyncio application. Event loops run " +"asynchronous tasks and callbacks, perform network IO operations, and run " +"subprocesses." +msgstr "" +"Цикл подій є ядром кожної асинхронної програми. Цикли подій запускають " +"асинхронні завдання та зворотні виклики, виконують мережеві операції вводу-" +"виводу та запускають підпроцеси." + +msgid "" +"Application developers should typically use the high-level asyncio " +"functions, such as :func:`asyncio.run`, and should rarely need to reference " +"the loop object or call its methods. This section is intended mostly for " +"authors of lower-level code, libraries, and frameworks, who need finer " +"control over the event loop behavior." +msgstr "" +"Розробникам додатків зазвичай слід використовувати асинхронні функції " +"високого рівня, такі як :func:`asyncio.run`, і їм рідко потрібно посилатися " +"на об’єкт циклу або викликати його методи. Цей розділ призначений переважно " +"для авторів коду нижчого рівня, бібліотек і фреймворків, яким потрібен " +"точніший контроль над поведінкою циклу подій." + +msgid "Obtaining the Event Loop" +msgstr "Отримання циклу подій" + +msgid "" +"The following low-level functions can be used to get, set, or create an " +"event loop:" +msgstr "" +"Наступні функції низького рівня можна використовувати для отримання, " +"встановлення або створення циклу подій:" + +msgid "Return the running event loop in the current OS thread." +msgstr "Повернути запущений цикл подій у поточному потоці ОС." + +msgid "" +"If there is no running event loop a :exc:`RuntimeError` is raised. This " +"function can only be called from a coroutine or a callback." +msgstr "" +"Якщо немає запущеного циклу подій, виникає :exc:`RuntimeError`. Цю функцію " +"можна викликати лише з співпрограми або зворотного виклику." + +msgid "Get the current event loop." +msgstr "Отримати поточний цикл подій." + +msgid "" +"If there is no current event loop set in the current OS thread, the OS " +"thread is main, and :func:`set_event_loop` has not yet been called, asyncio " +"will create a new event loop and set it as the current one." +msgstr "" +"Якщо в поточному потоці ОС не встановлено поточний цикл подій, потік ОС є " +"головним, а :func:`set_event_loop` ще не викликано, asyncio створить новий " +"цикл подій і встановить його як поточний." + +msgid "" +"Because this function has rather complex behavior (especially when custom " +"event loop policies are in use), using the :func:`get_running_loop` function " +"is preferred to :func:`get_event_loop` in coroutines and callbacks." +msgstr "" +"Оскільки ця функція має досить складну поведінку (особливо, коли " +"використовуються користувацькі політики циклу подій), використанню функції :" +"func:`get_running_loop` краще, ніж :func:`get_event_loop` у співпрограмах і " +"зворотних викликах." + +msgid "" +"Consider also using the :func:`asyncio.run` function instead of using lower " +"level functions to manually create and close an event loop." +msgstr "" +"Також подумайте про використання функції :func:`asyncio.run` замість " +"використання функцій нижчого рівня для ручного створення та закриття циклу " +"подій." + +msgid "" +"Deprecation warning is emitted if there is no running event loop. In future " +"Python releases, this function will be an alias of :func:`get_running_loop`." +msgstr "" +"Попередження про застарілу видається, якщо цикл подій не виконується. У " +"майбутніх випусках Python ця функція буде псевдонімом :func:" +"`get_running_loop`." + +msgid "Set *loop* as a current event loop for the current OS thread." +msgstr "Встановіть *loop* як поточний цикл подій для поточного потоку ОС." + +msgid "Create and return a new event loop object." +msgstr "Створити та повернути новий об’єкт циклу подій." + +msgid "" +"Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " +"and :func:`new_event_loop` functions can be altered by :ref:`setting a " +"custom event loop policy `." +msgstr "" +"Зауважте, що поведінку функцій :func:`get_event_loop`, :func:" +"`set_event_loop` і :func:`new_event_loop` можна змінити шляхом :ref:" +"`встановлення спеціальної політики циклу подій `." + +msgid "Contents" +msgstr "Зміст" + +msgid "This documentation page contains the following sections:" +msgstr "Ця сторінка документації містить такі розділи:" + +msgid "" +"The `Event Loop Methods`_ section is the reference documentation of the " +"event loop APIs;" +msgstr "" +"Розділ `Event Loop Methods`_ є довідковою документацією щодо API циклу подій;" + +msgid "" +"The `Callback Handles`_ section documents the :class:`Handle` and :class:" +"`TimerHandle` instances which are returned from scheduling methods such as :" +"meth:`loop.call_soon` and :meth:`loop.call_later`;" +msgstr "" +"Розділ `Callback Handles`_ документує екземпляри :class:`Handle` і :class:" +"`TimerHandle`, які повертаються з таких методів планування, як :meth:`loop." +"call_soon` і :meth:`loop.call_later`;" + +msgid "" +"The `Server Objects`_ section documents types returned from event loop " +"methods like :meth:`loop.create_server`;" +msgstr "" +"Розділ `Server Objects`_ документує типи, що повертаються з методів циклу " +"подій, таких як :meth:`loop.create_server`;" + +msgid "" +"The `Event Loop Implementations`_ section documents the :class:" +"`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" +msgstr "" +"Розділ `Event Loop Implementations`_ документує класи :class:" +"`SelectorEventLoop` і :class:`ProactorEventLoop`;" + +msgid "" +"The `Examples`_ section showcases how to work with some event loop APIs." +msgstr "Розділ `Examples`_ демонструє, як працювати з деякими API циклу подій." + +msgid "Event Loop Methods" +msgstr "Методи циклу подій" + +msgid "Event loops have **low-level** APIs for the following:" +msgstr "Цикли подій мають API **низького рівня** для наступного:" + +msgid "Running and stopping the loop" +msgstr "Запуск і зупинка циклу" + +msgid "Run until the *future* (an instance of :class:`Future`) has completed." +msgstr "Виконуйте, доки *future* (примірник :class:`Future`) не завершиться." + +msgid "" +"If the argument is a :ref:`coroutine object ` it is implicitly " +"scheduled to run as a :class:`asyncio.Task`." +msgstr "" +"Якщо аргумент є :ref:`об’єктом співпрограми `, він неявно " +"запланований для виконання як :class:`asyncio.Task`." + +msgid "Return the Future's result or raise its exception." +msgstr "Повернути результат майбутнього або викликати його виключення." + +msgid "Run the event loop until :meth:`stop` is called." +msgstr "Запускайте цикл подій, доки не буде викликано :meth:`stop`." + +msgid "" +"If :meth:`stop` is called before :meth:`run_forever()` is called, the loop " +"will poll the I/O selector once with a timeout of zero, run all callbacks " +"scheduled in response to I/O events (and those that were already scheduled), " +"and then exit." +msgstr "" +"Якщо :meth:`stop` викликається перед викликом :meth:`run_forever()`, цикл " +"опитує селектор вводу-виводу один раз із нульовим тайм-аутом, запускає всі " +"зворотні виклики, заплановані у відповідь на події введення-виведення (і ті, " +"які вже були заплановані), а потім вийдіть." + +msgid "" +"If :meth:`stop` is called while :meth:`run_forever` is running, the loop " +"will run the current batch of callbacks and then exit. Note that new " +"callbacks scheduled by callbacks will not run in this case; instead, they " +"will run the next time :meth:`run_forever` or :meth:`run_until_complete` is " +"called." +msgstr "" +"Якщо :meth:`stop` викликається під час роботи :meth:`run_forever`, цикл " +"запустить поточний пакет зворотних викликів, а потім завершить роботу. " +"Зауважте, що нові зворотні виклики, заплановані зворотними викликами, не " +"виконуватимуться в цьому випадку; натомість вони запустяться під час " +"наступного виклику :meth:`run_forever` або :meth:`run_until_complete`." + +msgid "Stop the event loop." +msgstr "Зупиніть цикл подій." + +msgid "Return ``True`` if the event loop is currently running." +msgstr "Повертає ``True``, якщо цикл подій зараз запущено." + +msgid "Return ``True`` if the event loop was closed." +msgstr "Повертає ``True``, якщо цикл події було закрито." + +msgid "Close the event loop." +msgstr "Закрийте цикл подій." + +msgid "" +"The loop must not be running when this function is called. Any pending " +"callbacks will be discarded." +msgstr "" +"Під час виклику цієї функції цикл не повинен працювати. Усі зворотні " +"виклики, що очікують на розгляд, буде відхилено." + +msgid "" +"This method clears all queues and shuts down the executor, but does not wait " +"for the executor to finish." +msgstr "" +"Цей метод очищає всі черги та вимикає виконавець, але не чекає, поки " +"виконавець завершить роботу." + +msgid "" +"This method is idempotent and irreversible. No other methods should be " +"called after the event loop is closed." +msgstr "" +"Цей метод є ідемпотентним і необоротним. Ніякі інші методи не повинні " +"викликатися після закриття циклу подій." + +msgid "" +"Schedule all currently open :term:`asynchronous generator` objects to close " +"with an :meth:`~agen.aclose()` call. After calling this method, the event " +"loop will issue a warning if a new asynchronous generator is iterated. This " +"should be used to reliably finalize all scheduled asynchronous generators." +msgstr "" +"Заплануйте закриття всіх наразі відкритих об’єктів :term:`asynchronous " +"generator` за допомогою виклику :meth:`~agen.aclose()`. Після виклику цього " +"методу цикл подій видасть попередження, якщо повторюється новий асинхронний " +"генератор. Це слід використовувати для надійного завершення всіх " +"запланованих асинхронних генераторів." + +msgid "" +"Note that there is no need to call this function when :func:`asyncio.run` is " +"used." +msgstr "" +"Зауважте, що немає потреби викликати цю функцію, коли використовується :func:" +"`asyncio.run`." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"Schedule the closure of the default executor and wait for it to join all of " +"the threads in the :class:`ThreadPoolExecutor`. After calling this method, " +"a :exc:`RuntimeError` will be raised if :meth:`loop.run_in_executor` is " +"called while using the default executor." +msgstr "" +"Заплануйте закриття виконавця за замовчуванням і зачекайте, поки він " +"приєднається до всіх потоків у :class:`ThreadPoolExecutor`. Після виклику " +"цього методу виникне :exc:`RuntimeError`, якщо :meth:`loop.run_in_executor` " +"викликається під час використання виконавця за замовчуванням." + +msgid "Scheduling callbacks" +msgstr "Планування зворотних дзвінків" + +msgid "" +"Schedule the *callback* :term:`callback` to be called with *args* arguments " +"at the next iteration of the event loop." +msgstr "" +"Заплануйте виклик *callback* :term:`callback` з аргументами *args* на " +"наступній ітерації циклу подій." + +msgid "" +"Callbacks are called in the order in which they are registered. Each " +"callback will be called exactly once." +msgstr "" +"Зворотні виклики викликаються в тому порядку, в якому вони зареєстровані. " +"Кожен зворотній виклик буде викликано рівно один раз." + +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *callback* to run in. The current " +"context is used when no *context* is provided." +msgstr "" +"Необов’язковий аргумент *context*, що містить лише ключове слово, дозволяє " +"вказати спеціальний :class:`contextvars.Context` для виконання *зворотного " +"виклику*. Поточний контекст використовується, якщо *контексту* не надано." + +msgid "" +"An instance of :class:`asyncio.Handle` is returned, which can be used later " +"to cancel the callback." +msgstr "" +"Повертається екземпляр :class:`asyncio.Handle`, який можна використати " +"пізніше для скасування зворотного виклику." + +msgid "This method is not thread-safe." +msgstr "Цей метод не є потокобезпечним." + +msgid "" +"A thread-safe variant of :meth:`call_soon`. Must be used to schedule " +"callbacks *from another thread*." +msgstr "" +"Потокобезпечний варіант :meth:`call_soon`. Потрібно використовувати для " +"планування зворотних викликів *з іншого потоку*." + +msgid "" +"Raises :exc:`RuntimeError` if called on a loop that's been closed. This can " +"happen on a secondary thread when the main application is shutting down." +msgstr "" +"Викликає :exc:`RuntimeError`, якщо викликається в закритому циклі. Це може " +"статися у вторинному потоці, коли основна програма вимикається." + +msgid "" +"See the :ref:`concurrency and multithreading ` " +"section of the documentation." +msgstr "" +"Перегляньте розділ :ref:`паралелізм і багатопотоковість ` документації." + +msgid "" +"The *context* keyword-only parameter was added. See :pep:`567` for more " +"details." +msgstr "" +"Додано параметр *context* тільки для ключового слова. Дивіться :pep:`567` " +"для більш детальної інформації." + +msgid "" +"Most :mod:`asyncio` scheduling functions don't allow passing keyword " +"arguments. To do that, use :func:`functools.partial`::" +msgstr "" +"Більшість функцій планування :mod:`asyncio` не дозволяють передавати ключові " +"аргументи. Для цього скористайтеся :func:`functools.partial`::" + +msgid "" +"Using partial objects is usually more convenient than using lambdas, as " +"asyncio can render partial objects better in debug and error messages." +msgstr "" +"Використання часткових об’єктів зазвичай зручніше, ніж використання лямбда-" +"виразів, оскільки asyncio може краще відтворювати часткові об’єкти в " +"повідомленнях про налагодження та помилки." + +msgid "Scheduling delayed callbacks" +msgstr "Планування відкладених зворотних викликів" + +msgid "" +"Event loop provides mechanisms to schedule callback functions to be called " +"at some point in the future. Event loop uses monotonic clocks to track time." +msgstr "" +"Цикл подій надає механізми для планування виклику функцій зворотного виклику " +"в певний момент у майбутньому. Цикл подій використовує монотонні годинники " +"для відстеження часу." + +msgid "" +"Schedule *callback* to be called after the given *delay* number of seconds " +"(can be either an int or a float)." +msgstr "" +"Розклад *зворотного виклику* для виклику після заданої *затримки* у секундах " +"(може бути як int, так і float)." + +msgid "" +"An instance of :class:`asyncio.TimerHandle` is returned which can be used to " +"cancel the callback." +msgstr "" +"Повертається екземпляр :class:`asyncio.TimerHandle`, який можна " +"використовувати для скасування зворотного виклику." + +msgid "" +"*callback* will be called exactly once. If two callbacks are scheduled for " +"exactly the same time, the order in which they are called is undefined." +msgstr "" +"*callback* буде передзвонено рівно один раз. Якщо два зворотні виклики " +"заплановано на один і той же час, порядок їх викликів не визначений." + +msgid "" +"The optional positional *args* will be passed to the callback when it is " +"called. If you want the callback to be called with keyword arguments use :" +"func:`functools.partial`." +msgstr "" +"Додатковий позиційний *args* буде передано зворотному виклику під час його " +"виклику. Якщо ви хочете, щоб зворотній виклик викликався з аргументами " +"ключового слова, використовуйте :func:`functools.partial`." + +msgid "" +"In Python 3.7 and earlier with the default event loop implementation, the " +"*delay* could not exceed one day. This has been fixed in Python 3.8." +msgstr "" +"У Python 3.7 і раніше з реалізацією циклу подій за замовчуванням *затримка* " +"не могла перевищувати один день. Це було виправлено в Python 3.8." + +msgid "" +"Schedule *callback* to be called at the given absolute timestamp *when* (an " +"int or a float), using the same time reference as :meth:`loop.time`." +msgstr "" +"Заплануйте виклик *callback* у вказану абсолютну позначку часу *when* (int " +"або float), використовуючи те саме посилання на час, що й :meth:`loop.time`." + +msgid "This method's behavior is the same as :meth:`call_later`." +msgstr "Поведінка цього методу така ж, як і :meth:`call_later`." + +msgid "" +"In Python 3.7 and earlier with the default event loop implementation, the " +"difference between *when* and the current time could not exceed one day. " +"This has been fixed in Python 3.8." +msgstr "" +"У Python 3.7 і раніше з реалізацією циклу подій за замовчуванням різниця між " +"*when* і поточним часом не могла перевищувати одного дня. Це було виправлено " +"в Python 3.8." + +msgid "" +"Return the current time, as a :class:`float` value, according to the event " +"loop's internal monotonic clock." +msgstr "" +"Повертає поточний час у вигляді значення :class:`float` відповідно до " +"внутрішнього монотонного годинника циклу подій." + +msgid "" +"In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " +"should not exceed one day. This has been fixed in Python 3.8." +msgstr "" +"У Python 3.7 та попередніх версіях тайм-аути (відносна *затримка* або " +"абсолютна *коли*) не повинні перевищувати одного дня. Це було виправлено в " +"Python 3.8." + +msgid "The :func:`asyncio.sleep` function." +msgstr "Функція :func:`asyncio.sleep`." + +msgid "Creating Futures and Tasks" +msgstr "Створення ф'ючерсів і завдань" + +msgid "Create an :class:`asyncio.Future` object attached to the event loop." +msgstr "Створіть об’єкт :class:`asyncio.Future`, приєднаний до циклу подій." + +msgid "" +"This is the preferred way to create Futures in asyncio. This lets third-" +"party event loops provide alternative implementations of the Future object " +"(with better performance or instrumentation)." +msgstr "" +"Це найкращий спосіб створення ф’ючерсів в асинхронному режимі. Це дозволяє " +"стороннім циклам подій надавати альтернативні реалізації об’єкта Future (з " +"кращою продуктивністю або інструментарієм)." + +msgid "" +"Schedule the execution of :ref:`coroutine ` *coro*. Return a :" +"class:`Task` object." +msgstr "" + +msgid "" +"Third-party event loops can use their own subclass of :class:`Task` for " +"interoperability. In this case, the result type is a subclass of :class:" +"`Task`." +msgstr "" +"Сторонні цикли подій можуть використовувати власний підклас :class:`Task` " +"для взаємодії. У цьому випадку тип результату є підкласом :class:`Task`." + +msgid "" +"If the *name* argument is provided and not ``None``, it is set as the name " +"of the task using :meth:`Task.set_name`." +msgstr "" +"Якщо вказано аргумент *name*, а не ``None``, він встановлюється як назва " +"завдання за допомогою :meth:`Task.set_name`." + +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *coro* to run in. The current context " +"copy is created when no *context* is provided." +msgstr "" + +msgid "Added the *name* parameter." +msgstr "Додано параметр *name*." + +msgid "Added the *context* parameter." +msgstr "" + +msgid "Set a task factory that will be used by :meth:`loop.create_task`." +msgstr "" +"Встановіть фабрику завдань, яка використовуватиметься :meth:`loop." +"create_task`." + +msgid "" +"If *factory* is ``None`` the default task factory will be set. Otherwise, " +"*factory* must be a *callable* with the signature matching ``(loop, coro, " +"context=None)``, where *loop* is a reference to the active event loop, and " +"*coro* is a coroutine object. The callable must return a :class:`asyncio." +"Future`-compatible object." +msgstr "" + +msgid "Return a task factory or ``None`` if the default one is in use." +msgstr "Повертає фабрику завдань або ``None``, якщо використовується типова." + +msgid "Opening network connections" +msgstr "Відкриття мережевих підключень" + +msgid "" +"Open a streaming transport connection to a given address specified by *host* " +"and *port*." +msgstr "" +"Відкрийте потокове транспортне з’єднання за вказаною адресою, указаною " +"*host* і *port*." + +msgid "" +"The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" +"`~socket.AF_INET6` depending on *host* (or the *family* argument, if " +"provided)." +msgstr "" +"Сімейство сокетів може бути :py:data:`~socket.AF_INET` або :py:data:`~socket." +"AF_INET6` залежно від *host* (або аргументу *family*, якщо він надається)." + +msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." +msgstr "Тип сокета буде :py:data:`~socket.SOCK_STREAM`." + +msgid "" +"*protocol_factory* must be a callable returning an :ref:`asyncio protocol " +"` implementation." +msgstr "" +"*protocol_factory* має бути викликом, що повертає реалізацію :ref:`asyncio " +"protocol `." + +msgid "" +"This method will try to establish the connection in the background. When " +"successful, it returns a ``(transport, protocol)`` pair." +msgstr "" +"Цей метод намагатиметься встановити з’єднання у фоновому режимі. У разі " +"успіху він повертає пару ``(транспорт, протокол)``." + +msgid "The chronological synopsis of the underlying operation is as follows:" +msgstr "Хронологічний синопсис основної операції такий:" + +msgid "" +"The connection is established and a :ref:`transport ` is " +"created for it." +msgstr "" +"З’єднання встановлюється та для нього створюється :ref:`транспорт `." + +msgid "" +"*protocol_factory* is called without arguments and is expected to return a :" +"ref:`protocol ` instance." +msgstr "" +"*protocol_factory* викликається без аргументів і має повернути екземпляр :" +"ref:`protocol `." + +msgid "" +"The protocol instance is coupled with the transport by calling its :meth:" +"`~BaseProtocol.connection_made` method." +msgstr "" +"Екземпляр протоколу з’єднується з транспортом шляхом виклику його методу :" +"meth:`~BaseProtocol.connection_made`." + +msgid "A ``(transport, protocol)`` tuple is returned on success." +msgstr "Кортеж ``(транспорт, протокол)`` повертається в разі успіху." + +msgid "" +"The created transport is an implementation-dependent bidirectional stream." +msgstr "" +"Створений транспорт є двонаправленим потоком, що залежить від реалізації." + +msgid "Other arguments:" +msgstr "Інші аргументи:" + +msgid "" +"*ssl*: if given and not false, a SSL/TLS transport is created (by default a " +"plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " +"object, this context is used to create the transport; if *ssl* is :const:" +"`True`, a default context returned from :func:`ssl.create_default_context` " +"is used." +msgstr "" +"*ssl*: якщо задано і не має значення false, створюється транспорт SSL/TLS " +"(за замовчуванням створюється звичайний транспорт TCP). Якщо *ssl* є " +"об’єктом :class:`ssl.SSLContext`, цей контекст використовується для " +"створення транспорту; якщо *ssl* має значення :const:`True`, " +"використовується контекст за замовчуванням, який повертається з :func:`ssl." +"create_default_context`." + +msgid ":ref:`SSL/TLS security considerations `" +msgstr ":ref:`Заходи безпеки SSL/TLS `" + +msgid "" +"*server_hostname* sets or overrides the hostname that the target server's " +"certificate will be matched against. Should only be passed if *ssl* is not " +"``None``. By default the value of the *host* argument is used. If *host* " +"is empty, there is no default and you must pass a value for " +"*server_hostname*. If *server_hostname* is an empty string, hostname " +"matching is disabled (which is a serious security risk, allowing for " +"potential man-in-the-middle attacks)." +msgstr "" +"*server_hostname* встановлює або замінює ім’я хоста, з яким буде " +"зіставлятися сертифікат цільового сервера. Слід передавати лише якщо *ssl* " +"не є ``None``. За замовчуванням використовується значення аргументу *host*. " +"Якщо *host* порожній, за умовчанням немає, і ви повинні передати значення " +"*server_hostname*. Якщо *server_hostname* є порожнім рядком, збіг імен " +"хостів вимкнено (що є серйозною загрозою безпеці, уможливлюючи потенційні " +"атаки типу \"людина посередині\")." + +msgid "" +"*family*, *proto*, *flags* are the optional address family, protocol and " +"flags to be passed through to getaddrinfo() for *host* resolution. If given, " +"these should all be integers from the corresponding :mod:`socket` module " +"constants." +msgstr "" +"*family*, *proto*, *flags* — це необов’язкове сімейство адрес, протокол і " +"прапорці, які передаються до getaddrinfo() для вирішення *host*. Якщо " +"задано, усі вони мають бути цілими числами з відповідних констант модуля :" +"mod:`socket`." + +msgid "" +"*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " +"connection. It should be a floating-point number representing the amount of " +"time in seconds to wait for a connection attempt to complete, before " +"starting the next attempt in parallel. This is the \"Connection Attempt Delay" +"\" as defined in :rfc:`8305`. A sensible default value recommended by the " +"RFC is ``0.25`` (250 milliseconds)." +msgstr "" +"*happy_eyeballs_delay*, якщо задано, увімкне Happy Eyeballs для цього " +"підключення. Це має бути число з плаваючою комою, яке представляє кількість " +"часу в секундах, протягом якого потрібно очікувати завершення спроби " +"з’єднання перед початком наступної паралельної спроби. Це \"Затримка спроби " +"підключення\", як визначено в :rfc:`8305`. Розумним стандартним значенням, " +"рекомендованим RFC, є ``0,25`` (250 мілісекунд)." + +msgid "" +"*interleave* controls address reordering when a host name resolves to " +"multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " +"addresses are tried in the order returned by :meth:`getaddrinfo`. If a " +"positive integer is specified, the addresses are interleaved by address " +"family, and the given integer is interpreted as \"First Address Family Count" +"\" as defined in :rfc:`8305`. The default is ``0`` if *happy_eyeballs_delay* " +"is not specified, and ``1`` if it is." +msgstr "" +"*interleave* контролює перевпорядкування адрес, коли ім’я хоста " +"перетворюється на декілька IP-адрес. Якщо ``0`` або не вказано, зміна " +"порядку не виконується, а адреси пробуються в порядку, який повертає :meth:" +"`getaddrinfo`. Якщо вказано додатне ціле число, адреси чергуються за " +"сімейством адрес, і задане ціле число інтерпретується як \"Перша кількість " +"сімейства адрес\", як визначено в :rfc:`8305`. Типовим значенням є ``0``, " +"якщо *happy_eyeballs_delay* не вказано, і ``1``, якщо так." + +msgid "" +"*sock*, if given, should be an existing, already connected :class:`socket." +"socket` object to be used by the transport. If *sock* is given, none of " +"*host*, *port*, *family*, *proto*, *flags*, *happy_eyeballs_delay*, " +"*interleave* and *local_addr* should be specified." +msgstr "" +"*sock*, якщо його надано, має бути існуючим, уже підключеним :class:`socket." +"socket` об’єктом, який буде використовуватися транспортом. Якщо вказано " +"*sock*, жоден з *host*, *port*, *family*, *proto*, *flags*, " +"*happy_eyeballs_delay*, *interleave* і *local_addr* не повинен бути вказаний." + +msgid "" +"The *sock* argument transfers ownership of the socket to the transport " +"created. To close the socket, call the transport's :meth:`~asyncio." +"BaseTransport.close` method." +msgstr "" + +msgid "" +"*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " +"the socket locally. The *local_host* and *local_port* are looked up using " +"``getaddrinfo()``, similarly to *host* and *port*." +msgstr "" +"*local_addr*, якщо вказано, це кортеж ``(local_host, local_port)``, який " +"використовується для локального зв’язування сокета. *local_host* і " +"*local_port* шукаються за допомогою ``getaddrinfo()``, подібно до *host* і " +"*port*." + +msgid "" +"*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " +"wait for the TLS handshake to complete before aborting the connection. " +"``60.0`` seconds if ``None`` (default)." +msgstr "" +"*ssl_handshake_timeout* — це (для з’єднання TLS) час у секундах очікування " +"завершення рукостискання TLS перед перериванням з’єднання. ``60.0`` секунд, " +"якщо ``None`` (за замовчуванням)." + +msgid "" +"*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " +"to complete before aborting the connection. ``30.0`` seconds if ``None`` " +"(default)." +msgstr "" + +msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." +msgstr "Додано підтримку SSL/TLS у :class:`ProactorEventLoop`." + +msgid "" +"The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " +"TCP connections." +msgstr "" +"Параметр сокета :py:data:`~socket.TCP_NODELAY` встановлено за замовчуванням " +"для всіх TCP-з’єднань." + +msgid "Added the *ssl_handshake_timeout* parameter." +msgstr "Додано параметр *ssl_handshake_timeout*." + +msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." +msgstr "Додано параметри *happy_eyeballs_delay* і *interleave*." + +msgid "" +"Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " +"IPv4 path and protocol are working, but the server's IPv6 path and protocol " +"are not working, a dual-stack client application experiences significant " +"connection delay compared to an IPv4-only client. This is undesirable " +"because it causes the dual- stack client to have a worse user experience. " +"This document specifies requirements for algorithms that reduce this user-" +"visible delay and provides an algorithm." +msgstr "" +"Алгоритм Happy Eyeballs: успіх із хостами з двома стеками. Коли шлях і " +"протокол IPv4 сервера працюють, але шлях і протокол IPv6 сервера не " +"працюють, клієнтська програма з подвійним стеком відчуває значну затримку " +"підключення порівняно з клієнтом, який підтримує лише IPv4. Це небажано, " +"оскільки це спричиняє гіршу роботу клієнта з подвійним стеком. Цей документ " +"визначає вимоги до алгоритмів, які зменшують видиму користувачем затримку, і " +"надає алгоритм." + +msgid "For more information: https://tools.ietf.org/html/rfc6555" +msgstr "" +"Для отримання додаткової інформації: https://tools.ietf.org/html/rfc6555" + +msgid "Added the *ssl_shutdown_timeout* parameter." +msgstr "" + +msgid "" +"The :func:`open_connection` function is a high-level alternative API. It " +"returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " +"used directly in async/await code." +msgstr "" +"Функція :func:`open_connection` є альтернативним API високого рівня. Він " +"повертає пару (:class:`StreamReader`, :class:`StreamWriter`), яку можна " +"використовувати безпосередньо в коді async/await." + +msgid "Create a datagram connection." +msgstr "Створіть з'єднання дейтаграми." + +msgid "" +"The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" +"`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " +"the *family* argument, if provided)." +msgstr "" +"Сімейство сокетів може бути :py:data:`~socket.AF_INET`, :py:data:`~socket." +"AF_INET6` або :py:data:`~socket.AF_UNIX`, залежно від *хосту* (або аргумент " +"*сім'я*, якщо він надається)." + +msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." +msgstr "Тип сокета буде :py:data:`~socket.SOCK_DGRAM`." + +msgid "" +"*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." +msgstr "" +"*protocol_factory* має бути викликом, що повертає реалізацію :ref:`protocol " +"`." + +msgid "A tuple of ``(transport, protocol)`` is returned on success." +msgstr "Кортеж ``(транспорт, протокол)`` повертається в разі успіху." + +msgid "" +"*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " +"the socket locally. The *local_host* and *local_port* are looked up using :" +"meth:`getaddrinfo`." +msgstr "" +"*local_addr*, якщо вказано, це кортеж ``(local_host, local_port)``, який " +"використовується для локального зв’язування сокета. *local_host* і " +"*local_port* шукаються за допомогою :meth:`getaddrinfo`." + +msgid "" +"*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " +"connect the socket to a remote address. The *remote_host* and *remote_port* " +"are looked up using :meth:`getaddrinfo`." +msgstr "" +"*remote_addr*, якщо вказано, це кортеж ``(remote_host, remote_port)``, який " +"використовується для підключення сокета до віддаленої адреси. *remote_host* " +"і *remote_port* шукаються за допомогою :meth:`getaddrinfo`." + +msgid "" +"*family*, *proto*, *flags* are the optional address family, protocol and " +"flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " +"given, these should all be integers from the corresponding :mod:`socket` " +"module constants." +msgstr "" +"*family*, *proto*, *flags* – це необов’язкове сімейство адрес, протокол і " +"прапори, які передаються до :meth:`getaddrinfo` для вирішення *host*. Якщо " +"задано, усі вони мають бути цілими числами з відповідних констант модуля :" +"mod:`socket`." + +msgid "" +"*reuse_port* tells the kernel to allow this endpoint to be bound to the same " +"port as other existing endpoints are bound to, so long as they all set this " +"flag when being created. This option is not supported on Windows and some " +"Unixes. If the :py:data:`~socket.SO_REUSEPORT` constant is not defined then " +"this capability is unsupported." +msgstr "" +"*reuse_port* повідомляє ядру дозволити цю кінцеву точку прив’язувати до того " +"самого порту, до якого прив’язані інші існуючі кінцеві точки, за умови, що " +"всі вони встановлюють цей прапор під час створення. Цей параметр не " +"підтримується в Windows і деяких Unix. Якщо константа :py:data:`~socket." +"SO_REUSEPORT` не визначена, ця можливість не підтримується." + +msgid "" +"*allow_broadcast* tells the kernel to allow this endpoint to send messages " +"to the broadcast address." +msgstr "" +"*allow_broadcast* повідомляє ядру дозволити цій кінцевій точці надсилати " +"повідомлення на широкомовну адресу." + +msgid "" +"*sock* can optionally be specified in order to use a preexisting, already " +"connected, :class:`socket.socket` object to be used by the transport. If " +"specified, *local_addr* and *remote_addr* should be omitted (must be :const:" +"`None`)." +msgstr "" +"Опціонально можна вказати *sock*, щоб використовувати існуючий, уже " +"підключений об’єкт :class:`socket.socket`, який буде використовуватися " +"транспортом. Якщо вказано, *local_addr* і *remote_addr* слід опустити (має " +"бути :const:`None`)." + +msgid "" +"See :ref:`UDP echo client protocol ` and :" +"ref:`UDP echo server protocol ` examples." +msgstr "" +"Перегляньте приклади :ref:`UDP echo client protocol ` і :ref:`UDP echo server protocol ` прикладів." + +msgid "" +"The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " +"*allow_broadcast*, and *sock* parameters were added." +msgstr "" + +msgid "" +"The *reuse_address* parameter is no longer supported, as using :py:data:" +"`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " +"Explicitly passing ``reuse_address=True`` will raise an exception." +msgstr "" + +msgid "" +"When multiple processes with differing UIDs assign sockets to an identical " +"UDP socket address with ``SO_REUSEADDR``, incoming packets can become " +"randomly distributed among the sockets." +msgstr "" +"Коли кілька процесів з різними UID призначають сокети ідентичній адресі " +"сокета UDP за допомогою ``SO_REUSEADDR``, вхідні пакети можуть розподілятися " +"між сокетами випадковим чином." + +msgid "" +"For supported platforms, *reuse_port* can be used as a replacement for " +"similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " +"is used instead, which specifically prevents processes with differing UIDs " +"from assigning sockets to the same socket address." +msgstr "" +"Для підтримуваних платформ *reuse_port* можна використовувати як заміну " +"подібної функції. За допомогою *reuse_port* замість нього використовується :" +"py:data:`~sockets.SO_REUSEPORT`, що спеціально запобігає процесам з різними " +"UID призначати сокетам ту саму адресу сокета." + +msgid "Added support for Windows." +msgstr "Додана підтримка Windows." + +msgid "" +"The *reuse_address* parameter, disabled since Python 3.9.0, 3.8.1, 3.7.6 and " +"3.6.10, has been entirely removed." +msgstr "" + +msgid "Create a Unix connection." +msgstr "Створіть підключення Unix." + +msgid "" +"The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" +"py:data:`~socket.SOCK_STREAM`." +msgstr "" +"Сімейство сокетів буде :py:data:`~socket.AF_UNIX`; тип сокета буде :py:data:" +"`~socket.SOCK_STREAM`." + +msgid "" +"*path* is the name of a Unix domain socket and is required, unless a *sock* " +"parameter is specified. Abstract Unix sockets, :class:`str`, :class:" +"`bytes`, and :class:`~pathlib.Path` paths are supported." +msgstr "" +"*path* — це ім’я сокета домену Unix і є обов’язковим, якщо не вказано " +"параметр *sock*. Підтримуються абстрактні сокети Unix, шляхи :class:`str`, :" +"class:`bytes` і :class:`~pathlib.Path`." + +msgid "" +"See the documentation of the :meth:`loop.create_connection` method for " +"information about arguments to this method." +msgstr "" +"Перегляньте документацію методу :meth:`loop.create_connection`, щоб отримати " +"інформацію про аргументи цього методу." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " +"a :term:`path-like object`." +msgstr "" +"Додано параметр *ssl_handshake_timeout*. Параметр *path* тепер може бути :" +"term:`path-like object`." + +msgid "Creating network servers" +msgstr "Створення мережевих серверів" + +msgid "" +"Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " +"*port* of the *host* address." +msgstr "" +"Створіть TCP-сервер (тип сокета :data:`~socket.SOCK_STREAM`), який " +"прослуховує *порт* адреси *хосту*." + +msgid "Returns a :class:`Server` object." +msgstr "Повертає об’єкт :class:`Server`." + +msgid "Arguments:" +msgstr "Аргументи:" + +msgid "" +"The *host* parameter can be set to several types which determine where the " +"server would be listening:" +msgstr "" +"Для параметра *host* можна встановити кілька типів, які визначають, де " +"сервер буде слухати:" + +msgid "" +"If *host* is a string, the TCP server is bound to a single network interface " +"specified by *host*." +msgstr "" +"Якщо *host* є рядком, сервер TCP прив’язаний до єдиного мережевого " +"інтерфейсу, визначеного *host*." + +msgid "" +"If *host* is a sequence of strings, the TCP server is bound to all network " +"interfaces specified by the sequence." +msgstr "" +"Якщо *host* є послідовністю рядків, TCP-сервер прив’язаний до всіх мережевих " +"інтерфейсів, визначених цією послідовністю." + +msgid "" +"If *host* is an empty string or ``None``, all interfaces are assumed and a " +"list of multiple sockets will be returned (most likely one for IPv4 and " +"another one for IPv6)." +msgstr "" +"Якщо *host* є порожнім рядком або ``None``, усі інтерфейси передбачаються, і " +"буде повернено список кількох сокетів (швидше за все, один для IPv4 та інший " +"для IPv6)." + +msgid "" +"The *port* parameter can be set to specify which port the server should " +"listen on. If ``0`` or ``None`` (the default), a random unused port will be " +"selected (note that if *host* resolves to multiple network interfaces, a " +"different random port will be selected for each interface)." +msgstr "" +"Параметр *port* можна встановити, щоб вказати, який порт сервер повинен " +"слухати. Якщо ``0`` або ``None`` (за замовчуванням), буде вибрано випадковий " +"невикористаний порт (зауважте, що якщо *host* розпізнає кілька мережевих " +"інтерфейсів, для кожного інтерфейсу буде вибрано окремий випадковий порт)." + +msgid "" +"*family* can be set to either :data:`socket.AF_INET` or :data:`~socket." +"AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " +"will be determined from host name (defaults to :data:`~socket.AF_UNSPEC`)." +msgstr "" +"*family* можна встановити як :data:`socket.AF_INET` або :data:`~socket." +"AF_INET6`, щоб змусити сокет використовувати IPv4 або IPv6. Якщо не " +"встановлено, *сімейство* буде визначено з імені хоста (за замовчуванням :" +"data:`~socket.AF_UNSPEC`)." + +msgid "*flags* is a bitmask for :meth:`getaddrinfo`." +msgstr "*flags* — це бітова маска для :meth:`getaddrinfo`." + +msgid "" +"*sock* can optionally be specified in order to use a preexisting socket " +"object. If specified, *host* and *port* must not be specified." +msgstr "" +"За бажанням можна вказати *sock*, щоб використовувати вже існуючий об’єкт " +"socket. Якщо вказано, *host* і *port* не повинні вказуватися." + +msgid "" +"The *sock* argument transfers ownership of the socket to the server created. " +"To close the socket, call the server's :meth:`~asyncio.Server.close` method." +msgstr "" + +msgid "" +"*backlog* is the maximum number of queued connections passed to :meth:" +"`~socket.socket.listen` (defaults to 100)." +msgstr "" +"*backlog* — це максимальна кількість підключень у черзі, переданих до :meth:" +"`~socket.socket.listen` (за замовчуванням 100)." + +msgid "" +"*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " +"the accepted connections." +msgstr "" +"*ssl* можна встановити як екземпляр :class:`~ssl.SSLContext`, щоб увімкнути " +"TLS через прийнятні з’єднання." + +msgid "" +"*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " +"state, without waiting for its natural timeout to expire. If not specified " +"will automatically be set to ``True`` on Unix." +msgstr "" +"*reuse_address* повідомляє ядру повторно використовувати локальний сокет у " +"стані ``TIME_WAIT``, не чекаючи закінчення його природного часу очікування. " +"Якщо не вказано, для Unix буде автоматично встановлено значення ``True``." + +msgid "" +"*reuse_port* tells the kernel to allow this endpoint to be bound to the same " +"port as other existing endpoints are bound to, so long as they all set this " +"flag when being created. This option is not supported on Windows." +msgstr "" +"*reuse_port* повідомляє ядру дозволити цю кінцеву точку прив’язувати до того " +"самого порту, до якого прив’язані інші існуючі кінцеві точки, за умови, що " +"всі вони встановлюють цей прапор під час створення. Цей параметр не " +"підтримується в Windows." + +msgid "" +"*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " +"for the TLS handshake to complete before aborting the connection. ``60.0`` " +"seconds if ``None`` (default)." +msgstr "" +"*ssl_handshake_timeout* — це (для TLS-сервера) час у секундах очікування " +"завершення рукостискання TLS перед розривом з’єднання. ``60.0`` секунд, якщо " +"``None`` (за замовчуванням)." + +msgid "" +"*start_serving* set to ``True`` (the default) causes the created server to " +"start accepting connections immediately. When set to ``False``, the user " +"should await on :meth:`Server.start_serving` or :meth:`Server.serve_forever` " +"to make the server to start accepting connections." +msgstr "" +"*start_serving* встановлений на ``True`` (за замовчуванням), змушує " +"створений сервер негайно приймати підключення. Якщо встановлено значення " +"``False``, користувач повинен чекати :meth:`Server.start_serving` або :meth:" +"`Server.serve_forever`, щоб змусити сервер почати приймати з’єднання." + +msgid "The *host* parameter can be a sequence of strings." +msgstr "Параметр *host* може бути послідовністю рядків." + +msgid "" +"Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " +"option :py:data:`~socket.TCP_NODELAY` is set by default for all TCP " +"connections." +msgstr "" +"Додано параметри *ssl_handshake_timeout* і *start_serving*. Параметр сокета :" +"py:data:`~socket.TCP_NODELAY` встановлено за замовчуванням для всіх TCP-" +"з’єднань." + +msgid "" +"The :func:`start_server` function is a higher-level alternative API that " +"returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " +"be used in an async/await code." +msgstr "" +"Функція :func:`start_server` — це альтернативний API вищого рівня, який " +"повертає пару :class:`StreamReader` і :class:`StreamWriter`, які можна " +"використовувати в коді async/await." + +msgid "" +"Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." +"AF_UNIX` socket family." +msgstr "" +"Подібно до :meth:`loop.create_server`, але працює з сімейством сокетів :py:" +"data:`~socket.AF_UNIX`." + +msgid "" +"*path* is the name of a Unix domain socket, and is required, unless a *sock* " +"argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " +"and :class:`~pathlib.Path` paths are supported." +msgstr "" +"*path* — це ім’я сокета домену Unix і є обов’язковим, якщо не надано " +"аргумент *sock*. Підтримуються абстрактні сокети Unix, шляхи :class:`str`, :" +"class:`bytes` і :class:`~pathlib.Path`." + +msgid "" +"See the documentation of the :meth:`loop.create_server` method for " +"information about arguments to this method." +msgstr "" +"Перегляньте документацію методу :meth:`loop.create_server` для отримання " +"інформації про аргументи цього методу." + +msgid "" +"Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " +"parameter can now be a :class:`~pathlib.Path` object." +msgstr "" +"Додано параметри *ssl_handshake_timeout* і *start_serving*. Параметр *path* " +"тепер може бути об’єктом :class:`~pathlib.Path`." + +msgid "Wrap an already accepted connection into a transport/protocol pair." +msgstr "Оберніть уже прийняте підключення до пари транспорт/протокол." + +msgid "" +"This method can be used by servers that accept connections outside of " +"asyncio but that use asyncio to handle them." +msgstr "" +"Цей метод може використовуватися серверами, які приймають з’єднання за " +"межами asyncio, але використовують asyncio для їх обробки." + +msgid "Parameters:" +msgstr "Параметри:" + +msgid "" +"*sock* is a preexisting socket object returned from :meth:`socket.accept " +"`." +msgstr "" +"*sock* — це вже існуючий об’єкт сокета, який повертається з :meth:`socket." +"accept `." + +msgid "" +"*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " +"accepted connections." +msgstr "" +"*ssl* можна встановити як :class:`~ssl.SSLContext`, щоб увімкнути SSL через " +"прийнятні з’єднання." + +msgid "" +"*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " +"wait for the SSL handshake to complete before aborting the connection. " +"``60.0`` seconds if ``None`` (default)." +msgstr "" +"*ssl_handshake_timeout* — це (для з’єднання SSL) час у секундах очікування " +"завершення рукостискання SSL перед розривом з’єднання. ``60.0`` секунд, якщо " +"``None`` (за замовчуванням)." + +msgid "Returns a ``(transport, protocol)`` pair." +msgstr "Повертає пару ``(транспорт, протокол)``." + +msgid "Transferring files" +msgstr "Передача файлів" + +msgid "" +"Send a *file* over a *transport*. Return the total number of bytes sent." +msgstr "" +"Надіслати *файл* через *транспорт*. Повертає загальну кількість надісланих " +"байтів." + +msgid "The method uses high-performance :meth:`os.sendfile` if available." +msgstr "" +"Метод використовує високопродуктивний :meth:`os.sendfile`, якщо він " +"доступний." + +msgid "*file* must be a regular file object opened in binary mode." +msgstr "" +"*file* має бути звичайним файловим об’єктом, відкритим у двійковому режимі." + +msgid "" +"*offset* tells from where to start reading the file. If specified, *count* " +"is the total number of bytes to transmit as opposed to sending the file " +"until EOF is reached. File position is always updated, even when this method " +"raises an error, and :meth:`file.tell() ` can be used to " +"obtain the actual number of bytes sent." +msgstr "" +"*offset* вказує, звідки почати читання файлу. Якщо вказано, *count* — це " +"загальна кількість байтів для передачі, а не надсилання файлу до досягнення " +"EOF. Позиція файлу завжди оновлюється, навіть якщо цей метод викликає " +"помилку, і :meth:`file.tell() ` можна використовувати для " +"отримання фактичної кількості надісланих байтів." + +msgid "" +"*fallback* set to ``True`` makes asyncio to manually read and send the file " +"when the platform does not support the sendfile system call (e.g. Windows or " +"SSL socket on Unix)." +msgstr "" +"*fallback* встановлений на ``True`` робить asyncio для ручного читання та " +"надсилання файлу, коли платформа не підтримує системний виклик sendfile " +"(наприклад, Windows або SSL-сокет на Unix)." + +msgid "" +"Raise :exc:`SendfileNotAvailableError` if the system does not support the " +"*sendfile* syscall and *fallback* is ``False``." +msgstr "" +"Викликати :exc:`SendfileNotAvailableError`, якщо система не підтримує " +"системний виклик *sendfile* і *fallback* має значення ``False``." + +msgid "TLS Upgrade" +msgstr "Оновлення TLS" + +msgid "Upgrade an existing transport-based connection to TLS." +msgstr "Оновіть існуюче транспортне підключення до TLS." + +msgid "" +"Create a TLS coder/decoder instance and insert it between the *transport* " +"and the *protocol*. The coder/decoder implements both *transport*-facing " +"protocol and *protocol*-facing transport." +msgstr "" + +msgid "" +"Return the created two-interface instance. After *await*, the *protocol* " +"must stop using the original *transport* and communicate with the returned " +"object only because the coder caches *protocol*-side data and sporadically " +"exchanges extra TLS session packets with *transport*." +msgstr "" + +msgid "" +"*transport* and *protocol* instances that methods like :meth:`~loop." +"create_server` and :meth:`~loop.create_connection` return." +msgstr "" +"екземпляри *transport* і *protocol*, які повертають такі методи, як :meth:" +"`~loop.create_server` і :meth:`~loop.create_connection`." + +msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." +msgstr "*sslcontext*: налаштований екземпляр :class:`~ssl.SSLContext`." + +msgid "" +"*server_side* pass ``True`` when a server-side connection is being upgraded " +"(like the one created by :meth:`~loop.create_server`)." +msgstr "" +"*server_side* передає ``True``, коли з’єднання на стороні сервера " +"оновлюється (наприклад, створене :meth:`~loop.create_server`)." + +msgid "" +"*server_hostname*: sets or overrides the host name that the target server's " +"certificate will be matched against." +msgstr "" +"*server_hostname*: встановлює або замінює ім’я хоста, з яким буде " +"зіставлятися сертифікат цільового сервера." + +msgid "Watching file descriptors" +msgstr "Перегляд дескрипторів файлів" + +msgid "" +"Start monitoring the *fd* file descriptor for read availability and invoke " +"*callback* with the specified arguments once *fd* is available for reading." +msgstr "" +"Розпочніть моніторинг дескриптора файлу *fd* на доступність читання та " +"викличте *callback* із зазначеними аргументами, коли *fd* стане доступним " +"для читання." + +msgid "Stop monitoring the *fd* file descriptor for read availability." +msgstr "Припиніть моніторинг дескриптора файлу *fd* на доступність читання." + +msgid "" +"Start monitoring the *fd* file descriptor for write availability and invoke " +"*callback* with the specified arguments once *fd* is available for writing." +msgstr "" +"Розпочніть моніторинг дескриптора файлу *fd* на доступність запису та " +"викличте *callback* із зазначеними аргументами, коли *fd* стане доступним " +"для запису." + +msgid "" +"Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." +msgstr "" +"Використовуйте :func:`functools.partial` :ref:`, щоб передати аргументи " +"ключового слова ` в *callback*." + +msgid "Stop monitoring the *fd* file descriptor for write availability." +msgstr "Припиніть моніторинг дескриптора файлу *fd* для доступності запису." + +msgid "" +"See also :ref:`Platform Support ` section for some " +"limitations of these methods." +msgstr "" +"Перегляньте також розділ :ref:`Підтримка платформи `, щоб дізнатися про деякі обмеження цих методів." + +msgid "Working with socket objects directly" +msgstr "Безпосередня робота з об'єктами сокетів" + +msgid "" +"In general, protocol implementations that use transport-based APIs such as :" +"meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " +"implementations that work with sockets directly. However, there are some use " +"cases when performance is not critical, and working with :class:`~socket." +"socket` objects directly is more convenient." +msgstr "" +"Загалом, реалізації протоколів, які використовують API на основі транспорту, " +"такі як :meth:`loop.create_connection` і :meth:`loop.create_server`, є " +"швидшими, ніж реалізації, які працюють безпосередньо з сокетами. Однак є " +"деякі випадки використання, коли продуктивність не є критичною, і працювати " +"з об’єктами :class:`~socket.socket` напряму зручніше." + +msgid "" +"Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." +"recv() `." +msgstr "" +"Отримайте до *nbytes* від *sock*. Асинхронна версія :meth:`socket.recv() " +"`." + +msgid "Return the received data as a bytes object." +msgstr "Повернути отримані дані як об’єкт bytes." + +msgid "*sock* must be a non-blocking socket." +msgstr "*sock* має бути неблокуючим сокетом." + +msgid "" +"Even though this method was always documented as a coroutine method, " +"releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " +"is an ``async def`` method." +msgstr "" +"Незважаючи на те, що цей метод завжди документувався як метод співпрограми, " +"випуски до Python 3.7 повертали :class:`Future`. Починаючи з Python 3.7, це " +"метод ``async def``." + +msgid "" +"Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" +"meth:`socket.recv_into() ` method." +msgstr "" +"Отримувати дані з *sock* в буфер *buf*. Створено за методом блокування :meth:" +"`socket.recv_into() `." + +msgid "Return the number of bytes written to the buffer." +msgstr "Повертає кількість байтів, записаних у буфер." + +msgid "" +"Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of :" +"meth:`socket.recvfrom() `." +msgstr "" + +msgid "Return a tuple of (received data, remote address)." +msgstr "" + +msgid "" +"Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " +"version of :meth:`socket.recvfrom_into() `." +msgstr "" + +msgid "Return a tuple of (number of bytes received, remote address)." +msgstr "" + +msgid "" +"Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." +"sendall() `." +msgstr "" +"Надішліть *дані* в сокет *sock*. Асинхронна версія :meth:`socket.sendall() " +"`." + +msgid "" +"This method continues to send to the socket until either all data in *data* " +"has been sent or an error occurs. ``None`` is returned on success. On " +"error, an exception is raised. Additionally, there is no way to determine " +"how much data, if any, was successfully processed by the receiving end of " +"the connection." +msgstr "" +"Цей метод продовжує надсилати дані в сокет, доки не буде надіслано всі дані " +"в *data* або не станеться помилка. ``None`` повертається в разі успіху. У " +"разі помилки виникає виняток. Крім того, немає способу визначити, скільки " +"даних, якщо такі були, було успішно оброблено приймальною стороною з’єднання." + +msgid "" +"Even though the method was always documented as a coroutine method, before " +"Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " +"``async def`` method." +msgstr "" +"Незважаючи на те, що метод завжди документувався як метод співпрограми, до " +"Python 3.7 він повертав :class:`Future`. Починаючи з Python 3.7, це метод " +"``async def``." + +msgid "" +"Send a datagram from *sock* to *address*. Asynchronous version of :meth:" +"`socket.sendto() `." +msgstr "" + +msgid "Return the number of bytes sent." +msgstr "" + +msgid "Connect *sock* to a remote socket at *address*." +msgstr "Підключіть *sock* до віддаленої розетки за *адресою*." + +msgid "" +"Asynchronous version of :meth:`socket.connect() `." +msgstr "Асинхронна версія :meth:`socket.connect() `." + +msgid "" +"``address`` no longer needs to be resolved. ``sock_connect`` will try to " +"check if the *address* is already resolved by calling :func:`socket." +"inet_pton`. If not, :meth:`loop.getaddrinfo` will be used to resolve the " +"*address*." +msgstr "" +"``address`` більше не потребує вирішення. ``sock_connect`` спробує " +"перевірити, чи *адреса* вже дозволена, викликавши :func:`socket.inet_pton`. " +"Якщо ні, :meth:`loop.getaddrinfo` буде використано для визначення *адреси*." + +msgid "" +":meth:`loop.create_connection` and :func:`asyncio.open_connection() " +"`." +msgstr "" +":meth:`loop.create_connection` і :func:`asyncio.open_connection() " +"`." + +msgid "" +"Accept a connection. Modeled after the blocking :meth:`socket.accept() " +"` method." +msgstr "" +"Прийняти підключення. Створено за методом блокування :meth:`socket.accept() " +"`." + +msgid "" +"The socket must be bound to an address and listening for connections. The " +"return value is a pair ``(conn, address)`` where *conn* is a *new* socket " +"object usable to send and receive data on the connection, and *address* is " +"the address bound to the socket on the other end of the connection." +msgstr "" +"Сокет має бути прив’язаний до адреси та прослуховувати підключення. " +"Поверненим значенням є пара ``(conn, address)``, де *conn* — це *новий* " +"об’єкт сокета, який можна використовувати для надсилання та отримання даних " +"під час з’єднання, а *address* — це адреса, прив’язана до сокета на іншому " +"кінець з'єднання." + +msgid ":meth:`loop.create_server` and :func:`start_server`." +msgstr ":meth:`loop.create_server` і :func:`start_server`." + +msgid "" +"Send a file using high-performance :mod:`os.sendfile` if possible. Return " +"the total number of bytes sent." +msgstr "" +"Якщо можливо, надішліть файл за допомогою високопродуктивного :mod:`os." +"sendfile`. Повертає загальну кількість надісланих байтів." + +msgid "" +"Asynchronous version of :meth:`socket.sendfile() `." +msgstr "Асинхронна версія :meth:`socket.sendfile() `." + +msgid "" +"*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." +"socket`." +msgstr "" +"*sock* має бути неблокуючим :const:`socket.SOCK_STREAM` :class:`~socket." +"socket`." + +msgid "*file* must be a regular file object open in binary mode." +msgstr "" +"*file* має бути звичайним файловим об’єктом, відкритим у двійковому режимі." + +msgid "" +"*fallback*, when set to ``True``, makes asyncio manually read and send the " +"file when the platform does not support the sendfile syscall (e.g. Windows " +"or SSL socket on Unix)." +msgstr "" +"*fallback*, якщо встановлено значення ``True``, змушує asyncio читати та " +"надсилати файл вручну, якщо платформа не підтримує системний виклик sendfile " +"(наприклад, Windows або сокет SSL в Unix)." + +msgid "" +"Raise :exc:`SendfileNotAvailableError` if the system does not support " +"*sendfile* syscall and *fallback* is ``False``." +msgstr "" +"Викликати :exc:`SendfileNotAvailableError`, якщо система не підтримує " +"системний виклик *sendfile* і *fallback* має значення ``False``." + +msgid "DNS" +msgstr "DNS" + +msgid "Asynchronous version of :meth:`socket.getaddrinfo`." +msgstr "Асинхронна версія :meth:`socket.getaddrinfo`." + +msgid "Asynchronous version of :meth:`socket.getnameinfo`." +msgstr "Асинхронна версія :meth:`socket.getnameinfo`." + +msgid "" +"Both *getaddrinfo* and *getnameinfo* methods were always documented to " +"return a coroutine, but prior to Python 3.7 they were, in fact, returning :" +"class:`asyncio.Future` objects. Starting with Python 3.7 both methods are " +"coroutines." +msgstr "" +"Обидва методи *getaddrinfo* і *getnameinfo* завжди були задокументовані для " +"повернення співпрограми, але до Python 3.7 вони фактично повертали об’єкти :" +"class:`asyncio.Future`. Починаючи з Python 3.7 обидва методи є " +"співпрограмами." + +msgid "Working with pipes" +msgstr "Робота з трубами" + +msgid "Register the read end of *pipe* in the event loop." +msgstr "Зареєструйте прочитаний кінець *pipe* у циклі подій." + +msgid "*pipe* is a :term:`file-like object `." +msgstr "*pipe* — це :term:`файлоподібний об’єкт `." + +msgid "" +"Return pair ``(transport, protocol)``, where *transport* supports the :class:" +"`ReadTransport` interface and *protocol* is an object instantiated by the " +"*protocol_factory*." +msgstr "" +"Повернена пара ``(транспорт, протокол)``, де *transport* підтримує " +"інтерфейс :class:`ReadTransport`, а *protocol* є об’єктом, створеним " +"*protocol_factory*." + +msgid "" +"With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" +"blocking mode." +msgstr "" +"За допомогою циклу подій :class:`SelectorEventLoop` *pipe* встановлюється в " +"неблокуючий режим." + +msgid "Register the write end of *pipe* in the event loop." +msgstr "Зареєструйте кінець запису *pipe* у циклі подій." + +msgid "*pipe* is :term:`file-like object `." +msgstr "*pipe* — це :term:`файлоподібний об’єкт `." + +msgid "" +"Return pair ``(transport, protocol)``, where *transport* supports :class:" +"`WriteTransport` interface and *protocol* is an object instantiated by the " +"*protocol_factory*." +msgstr "" +"Повернена пара ``(транспорт, протокол)``, де *transport* підтримує " +"інтерфейс :class:`WriteTransport`, а *protocol* є об’єктом, створеним " +"*protocol_factory*." + +msgid "" +":class:`SelectorEventLoop` does not support the above methods on Windows. " +"Use :class:`ProactorEventLoop` instead for Windows." +msgstr "" +":class:`SelectorEventLoop` не підтримує наведені вище методи в Windows. " +"Використовуйте :class:`ProactorEventLoop` замість цього для Windows." + +msgid "" +"The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." +msgstr "Методи :meth:`loop.subprocess_exec` і :meth:`loop.subprocess_shell`." + +msgid "Unix signals" +msgstr "Сигнали Unix" + +msgid "Set *callback* as the handler for the *signum* signal." +msgstr "Встановіть *callback* як обробник для сигналу *signum*." + +msgid "" +"The callback will be invoked by *loop*, along with other queued callbacks " +"and runnable coroutines of that event loop. Unlike signal handlers " +"registered using :func:`signal.signal`, a callback registered with this " +"function is allowed to interact with the event loop." +msgstr "" +"Зворотний виклик буде викликаний *циклом* разом з іншими зворотними " +"викликами в черзі та запущеними співпрограмами цього циклу подій. На відміну " +"від обробників сигналів, зареєстрованих за допомогою :func:`signal.signal`, " +"зворотній виклик, зареєстрований у цій функції, може взаємодіяти з циклом " +"подій." + +msgid "" +"Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " +"Raise :exc:`RuntimeError` if there is a problem setting up the handler." +msgstr "" +"Викликайте :exc:`ValueError`, якщо номер сигналу недійсний або не " +"вловлюється. Викликати :exc:`RuntimeError`, якщо є проблема з налаштуванням " +"обробника." + +msgid "" +"Like :func:`signal.signal`, this function must be invoked in the main thread." +msgstr "" +"Подібно до :func:`signal.signal`, ця функція має бути викликана в основному " +"потоці." + +msgid "Remove the handler for the *sig* signal." +msgstr "Видаліть обробник для сигналу *sig*." + +msgid "" +"Return ``True`` if the signal handler was removed, or ``False`` if no " +"handler was set for the given signal." +msgstr "" +"Повертає ``True``, якщо обробник сигналу було видалено, або ``False``, якщо " +"обробник не встановлено для даного сигналу." + +msgid "The :mod:`signal` module." +msgstr "Модуль :mod:`signal`." + +msgid "Executing code in thread or process pools" +msgstr "Виконання коду в потоках або пулах процесів" + +msgid "Arrange for *func* to be called in the specified executor." +msgstr "Організувати виклик *func* у вказаному виконавці." + +msgid "" +"The *executor* argument should be an :class:`concurrent.futures.Executor` " +"instance. The default executor is used if *executor* is ``None``." +msgstr "" +"Аргумент *executor* має бути екземпляром :class:`concurrent.futures." +"Executor`. Виконавець за замовчуванням використовується, якщо *executor* має " +"значення ``None``." + +msgid "" +"Note that the entry point guard (``if __name__ == '__main__'``) is required " +"for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " +"used by :class:`~concurrent.futures.ProcessPoolExecutor`. See :ref:`Safe " +"importing of main module `." +msgstr "" + +msgid "This method returns a :class:`asyncio.Future` object." +msgstr "Цей метод повертає об’єкт :class:`asyncio.Future`." + +msgid "" +"Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." +msgstr "" +"Використовуйте :func:`functools.partial` :ref:`, щоб передати аргументи " +"ключового слова ` до *func*." + +msgid "" +":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " +"thread pool executor it creates, instead leaving it up to the thread pool " +"executor (:class:`~concurrent.futures.ThreadPoolExecutor`) to set the " +"default." +msgstr "" +":meth:`loop.run_in_executor` більше не налаштовує ``max_workers`` виконавця " +"пулу потоків, який він створює, натомість залишаючи його виконавцю пулу " +"потоків (:class:`~concurrent.futures.ThreadPoolExecutor`) для встановлення " +"за замовчуванням." + +msgid "" +"Set *executor* as the default executor used by :meth:`run_in_executor`. " +"*executor* must be an instance of :class:`~concurrent.futures." +"ThreadPoolExecutor`." +msgstr "" + +msgid "" +"*executor* must be an instance of :class:`~concurrent.futures." +"ThreadPoolExecutor`." +msgstr "" + +msgid "Error Handling API" +msgstr "API обробки помилок" + +msgid "Allows customizing how exceptions are handled in the event loop." +msgstr "Дозволяє налаштувати спосіб обробки винятків у циклі подій." + +msgid "Set *handler* as the new event loop exception handler." +msgstr "Встановіть *обробник* як новий обробник винятків циклу подій." + +msgid "" +"If *handler* is ``None``, the default exception handler will be set. " +"Otherwise, *handler* must be a callable with the signature matching ``(loop, " +"context)``, where ``loop`` is a reference to the active event loop, and " +"``context`` is a ``dict`` object containing the details of the exception " +"(see :meth:`call_exception_handler` documentation for details about context)." +msgstr "" +"Якщо *обробник* має значення ``None``, буде встановлено обробник винятків за " +"умовчанням. В іншому випадку *обробник* має бути викликом із сигнатурою, що " +"відповідає ``(цикл, контекст)``, де ``цикл`` є посиланням на активний цикл " +"подій, а ``контекст`` є ``dict`` об’єкт, що містить деталі винятку " +"(перегляньте документацію :meth:`call_exception_handler`, щоб дізнатися " +"більше про контекст)." + +msgid "" +"Return the current exception handler, or ``None`` if no custom exception " +"handler was set." +msgstr "" +"Повертає поточний обробник винятків або ``None``, якщо настроюваний обробник " +"винятків не встановлено." + +msgid "Default exception handler." +msgstr "Обробник винятків за замовчуванням." + +msgid "" +"This is called when an exception occurs and no exception handler is set. " +"This can be called by a custom exception handler that wants to defer to the " +"default handler behavior." +msgstr "" +"Це викликається, коли виникає виняткова ситуація, а обробник винятків не " +"встановлено. Це може бути викликано спеціальним обробником винятків, який " +"хоче відкласти поведінку обробника за замовчуванням." + +msgid "" +"*context* parameter has the same meaning as in :meth:" +"`call_exception_handler`." +msgstr "" +"Параметр *context* має те саме значення, що й у :meth:" +"`call_exception_handler`." + +msgid "Call the current event loop exception handler." +msgstr "Викликати обробник винятків поточного циклу подій." + +msgid "" +"*context* is a ``dict`` object containing the following keys (new keys may " +"be introduced in future Python versions):" +msgstr "" +"*context* — це об’єкт ``dict``, що містить такі ключі (нові ключі можуть " +"бути представлені в наступних версіях Python):" + +msgid "'message': Error message;" +msgstr "'message': повідомлення про помилку;" + +msgid "'exception' (optional): Exception object;" +msgstr "'exception' (необов'язковий): об'єкт винятку;" + +msgid "'future' (optional): :class:`asyncio.Future` instance;" +msgstr "'майбутнє' (необов'язково): екземпляр :class:`asyncio.Future`;" + +msgid "'task' (optional): :class:`asyncio.Task` instance;" +msgstr "'task' (необов'язковий): :class:`asyncio.Task` екземпляр;" + +msgid "'handle' (optional): :class:`asyncio.Handle` instance;" +msgstr "'handle' (необов'язковий): :class:`asyncio.Handle` екземпляр;" + +msgid "'protocol' (optional): :ref:`Protocol ` instance;" +msgstr "" +"'протокол' (необов'язково): :ref:`примірник протоколу `;" + +msgid "'transport' (optional): :ref:`Transport ` instance;" +msgstr "" +"'transport' (необов'язковий): :ref:`Transport ` екземпляр;" + +msgid "'socket' (optional): :class:`socket.socket` instance;" +msgstr "'socket' (необов'язковий): :class:`socket.socket` екземпляр;" + +msgid "'asyncgen' (optional): Asynchronous generator that caused" +msgstr "'asyncgen' (необов'язково): асинхронний генератор, який викликав" + +msgid "the exception." +msgstr "виняток." + +msgid "" +"This method should not be overloaded in subclassed event loops. For custom " +"exception handling, use the :meth:`set_exception_handler()` method." +msgstr "" +"Цей метод не слід перевантажувати в циклах подій підкласів. Для спеціальної " +"обробки винятків використовуйте метод :meth:`set_exception_handler()`." + +msgid "Enabling debug mode" +msgstr "Увімкнення режиму налагодження" + +msgid "Get the debug mode (:class:`bool`) of the event loop." +msgstr "Отримати режим налагодження (:class:`bool`) циклу подій." + +msgid "" +"The default value is ``True`` if the environment variable :envvar:" +"`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." +msgstr "" +"Значенням за замовчуванням є ``True``, якщо змінна середовища :envvar:" +"`PYTHONASYNCIODEBUG` має значення непорожнього рядка, ``False`` в іншому " +"випадку." + +msgid "Set the debug mode of the event loop." +msgstr "Встановіть режим налагодження циклу подій." + +msgid "" +"The new :ref:`Python Development Mode ` can now also be used to " +"enable the debug mode." +msgstr "" +"Новий :ref:`Режим розробки Python ` тепер також можна " +"використовувати для ввімкнення режиму налагодження." + +msgid "The :ref:`debug mode of asyncio `." +msgstr ":ref:`режим налагодження asyncio `." + +msgid "Running Subprocesses" +msgstr "Запущені підпроцеси" + +msgid "" +"Methods described in this subsections are low-level. In regular async/await " +"code consider using the high-level :func:`asyncio.create_subprocess_shell` " +"and :func:`asyncio.create_subprocess_exec` convenience functions instead." +msgstr "" +"Методи, описані в цьому підрозділі, є низькорівневими. У звичайному коді " +"async/await розгляньте можливість використовувати натомість зручні функції " +"високого рівня :func:`asyncio.create_subprocess_shell` і :func:`asyncio." +"create_subprocess_exec`." + +msgid "" +"On Windows, the default event loop :class:`ProactorEventLoop` supports " +"subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" +"`Subprocess Support on Windows ` for details." +msgstr "" +"У Windows типовий цикл подій :class:`ProactorEventLoop` підтримує " +"підпроцеси, тоді як :class:`SelectorEventLoop` не підтримує. Дивіться :ref:" +"`Підтримку підпроцесів у Windows `, щоб " +"дізнатися більше." + +msgid "" +"Create a subprocess from one or more string arguments specified by *args*." +msgstr "" +"Створіть підпроцес з одного або кількох рядкових аргументів, визначених " +"*args*." + +msgid "*args* must be a list of strings represented by:" +msgstr "*args* має бути списком рядків, представлених:" + +msgid ":class:`str`;" +msgstr ":class:`str`;" + +msgid "" +"or :class:`bytes`, encoded to the :ref:`filesystem encoding `." +msgstr "" +"або :class:`bytes`, закодований у :ref:`кодування файлової системи " +"`." + +msgid "" +"The first string specifies the program executable, and the remaining strings " +"specify the arguments. Together, string arguments form the ``argv`` of the " +"program." +msgstr "" +"Перший рядок визначає виконуваний файл програми, а решта рядків визначають " +"аргументи. Разом рядкові аргументи утворюють ``argv`` програми." + +msgid "" +"This is similar to the standard library :class:`subprocess.Popen` class " +"called with ``shell=False`` and the list of strings passed as the first " +"argument; however, where :class:`~subprocess.Popen` takes a single argument " +"which is list of strings, *subprocess_exec* takes multiple string arguments." +msgstr "" +"Це схоже на клас стандартної бібліотеки :class:`subprocess.Popen`, " +"викликаний за допомогою ``shell=False`` і списку рядків, переданих як перший " +"аргумент; однак, якщо :class:`~subprocess.Popen` приймає один аргумент, який " +"є списком рядків, *subprocess_exec* приймає кілька рядкових аргументів." + +msgid "" +"The *protocol_factory* must be a callable returning a subclass of the :class:" +"`asyncio.SubprocessProtocol` class." +msgstr "" +"*protocol_factory* має бути викликаним, що повертає підклас класу :class:" +"`asyncio.SubprocessProtocol`." + +msgid "Other parameters:" +msgstr "Інші параметри:" + +msgid "*stdin* can be any of these:" +msgstr "*stdin* може бути будь-яким із цих:" + +msgid "" +"a file-like object representing a pipe to be connected to the subprocess's " +"standard input stream using :meth:`~loop.connect_write_pipe`" +msgstr "" +"файлоподібний об’єкт, що представляє трубу, яка буде під’єднана до " +"стандартного вхідного потоку підпроцесу за допомогою :meth:`~loop." +"connect_write_pipe`" + +msgid "" +"the :const:`subprocess.PIPE` constant (default) which will create a new pipe " +"and connect it," +msgstr "" +"константа :const:`subprocess.PIPE` (за замовчуванням), яка створить новий " +"канал і з’єднає його," + +msgid "" +"the value ``None`` which will make the subprocess inherit the file " +"descriptor from this process" +msgstr "" +"значення ``None``, яке змусить підпроцес успадкувати дескриптор файлу від " +"цього процесу" + +msgid "" +"the :const:`subprocess.DEVNULL` constant which indicates that the special :" +"data:`os.devnull` file will be used" +msgstr "" +"константа :const:`subprocess.DEVNULL`, яка вказує, що буде використовуватися " +"спеціальний файл :data:`os.devnull`" + +msgid "*stdout* can be any of these:" +msgstr "*stdout* може бути будь-яким із цього:" + +msgid "" +"a file-like object representing a pipe to be connected to the subprocess's " +"standard output stream using :meth:`~loop.connect_write_pipe`" +msgstr "" +"файлоподібний об’єкт, що представляє трубу, яка буде підключена до " +"стандартного потоку виведення підпроцесу за допомогою :meth:`~loop." +"connect_write_pipe`" + +msgid "*stderr* can be any of these:" +msgstr "*stderr* може бути будь-яким із цього:" + +msgid "" +"a file-like object representing a pipe to be connected to the subprocess's " +"standard error stream using :meth:`~loop.connect_write_pipe`" +msgstr "" +"файлоподібний об’єкт, що представляє трубу, яка буде підключена до " +"стандартного потоку помилок підпроцесу за допомогою :meth:`~loop." +"connect_write_pipe`" + +msgid "" +"the :const:`subprocess.STDOUT` constant which will connect the standard " +"error stream to the process' standard output stream" +msgstr "" +"константа :const:`subprocess.STDOUT`, яка підключатиме стандартний потік " +"помилок до стандартного потоку виводу процесу" + +msgid "" +"All other keyword arguments are passed to :class:`subprocess.Popen` without " +"interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " +"*encoding* and *errors*, which should not be specified at all." +msgstr "" +"Усі інші аргументи ключових слів передаються до :class:`subprocess.Popen` " +"без інтерпретації, за винятком *bufsize*, *universal_newlines*, *shell*, " +"*text*, *encoding* і *errors*, які не слід вказувати в все." + +msgid "" +"The ``asyncio`` subprocess API does not support decoding the streams as " +"text. :func:`bytes.decode` can be used to convert the bytes returned from " +"the stream to text." +msgstr "" +"API підпроцесу ``asyncio`` не підтримує декодування потоків як тексту. :func:" +"`bytes.decode` можна використовувати для перетворення байтів, повернутих із " +"потоку, на текст." + +msgid "" +"See the constructor of the :class:`subprocess.Popen` class for documentation " +"on other arguments." +msgstr "" +"Перегляньте конструктор класу :class:`subprocess.Popen` для документації " +"щодо інших аргументів." + +msgid "" +"Returns a pair of ``(transport, protocol)``, where *transport* conforms to " +"the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " +"object instantiated by the *protocol_factory*." +msgstr "" +"Повертає пару \"(transport, protocol)\", де *transport* відповідає базовому " +"класу :class:`asyncio.SubprocessTransport`, а *protocol* є об’єктом, " +"створеним *protocol_factory*." + +msgid "" +"Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" +"`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." +msgstr "" +"Створіть підпроцес із *cmd*, який може бути :class:`str` або :class:`bytes` " +"рядком, закодованим у :ref:`кодуванні файлової системи `, використовуючи синтаксис \"оболонки\" платформи." + +msgid "" +"This is similar to the standard library :class:`subprocess.Popen` class " +"called with ``shell=True``." +msgstr "" +"Це схоже на клас стандартної бібліотеки :class:`subprocess.Popen`, що " +"викликається за допомогою ``shell=True``." + +msgid "" +"The *protocol_factory* must be a callable returning a subclass of the :class:" +"`SubprocessProtocol` class." +msgstr "" +"*protocol_factory* має бути викликаним, що повертає підклас класу :class:" +"`SubprocessProtocol`." + +msgid "" +"See :meth:`~loop.subprocess_exec` for more details about the remaining " +"arguments." +msgstr "" +"Перегляньте :meth:`~loop.subprocess_exec` для отримання додаткової " +"інформації про інші аргументи." + +msgid "" +"Returns a pair of ``(transport, protocol)``, where *transport* conforms to " +"the :class:`SubprocessTransport` base class and *protocol* is an object " +"instantiated by the *protocol_factory*." +msgstr "" +"Повертає пару \"(transport, protocol)\", де *transport* відповідає базовому " +"класу :class:`SubprocessTransport`, а *protocol* є об’єктом, створеним " +"*protocol_factory*." + +msgid "" +"It is the application's responsibility to ensure that all whitespace and " +"special characters are quoted appropriately to avoid `shell injection " +"`_ " +"vulnerabilities. The :func:`shlex.quote` function can be used to properly " +"escape whitespace and special characters in strings that are going to be " +"used to construct shell commands." +msgstr "" +"Програма несе відповідальність за те, щоб усі пробіли та спеціальні символи " +"були взяті в лапки належним чином, щоб уникнути вразливості `впровадження " +"оболонки `_. " +"Функцію :func:`shlex.quote` можна використати для правильного екранування " +"пробілів і спеціальних символів у рядках, які використовуватимуться для " +"створення команд оболонки." + +msgid "Callback Handles" +msgstr "Ручки зворотного виклику" + +msgid "" +"A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." +"call_soon_threadsafe`." +msgstr "" +"Об’єкт оболонки зворотного виклику, повернутий :meth:`loop.call_soon`, :meth:" +"`loop.call_soon_threadsafe`." + +msgid "" +"Cancel the callback. If the callback has already been canceled or executed, " +"this method has no effect." +msgstr "" +"Скасувати зворотний дзвінок. Якщо зворотний виклик уже скасовано або " +"виконано, цей метод не має ефекту." + +msgid "Return ``True`` if the callback was cancelled." +msgstr "Повертає ``True``, якщо зворотний виклик було скасовано." + +msgid "" +"A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" +"`loop.call_at`." +msgstr "" +"Об’єкт оболонки зворотного виклику, повернутий :meth:`loop.call_later` і :" +"meth:`loop.call_at`." + +msgid "This class is a subclass of :class:`Handle`." +msgstr "Цей клас є підкласом :class:`Handle`." + +msgid "Return a scheduled callback time as :class:`float` seconds." +msgstr "" +"Повертає запланований час зворотного виклику як :class:`float` секунди." + +msgid "" +"The time is an absolute timestamp, using the same time reference as :meth:" +"`loop.time`." +msgstr "" +"Час – це абсолютна позначка часу, яка використовує те саме посилання на час, " +"що й :meth:`loop.time`." + +msgid "Server Objects" +msgstr "Серверні об’єкти" + +msgid "" +"Server objects are created by :meth:`loop.create_server`, :meth:`loop." +"create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " +"functions." +msgstr "" +"Серверні об’єкти створюються функціями :meth:`loop.create_server`, :meth:" +"`loop.create_unix_server`, :func:`start_server` і :func:`start_unix_server`." + +msgid "Do not instantiate the class directly." +msgstr "Не створюйте клас безпосередньо." + +msgid "" +"*Server* objects are asynchronous context managers. When used in an ``async " +"with`` statement, it's guaranteed that the Server object is closed and not " +"accepting new connections when the ``async with`` statement is completed::" +msgstr "" +"Об'єкти *Server* є асинхронними менеджерами контексту. При використанні в " +"операторі ``async with`` гарантується, що об’єкт Server закритий і не " +"приймає нових з’єднань після завершення оператора ``async with``::" + +msgid "Server object is an asynchronous context manager since Python 3.7." +msgstr "" +"Серверний об’єкт — це асинхронний менеджер контексту, починаючи з Python 3.7." + +msgid "" +"Stop serving: close listening sockets and set the :attr:`sockets` attribute " +"to ``None``." +msgstr "" +"Зупинити обслуговування: закрийте сокети прослуховування та встановіть для " +"атрибута :attr:`sockets` значення ``None``." + +msgid "" +"The sockets that represent existing incoming client connections are left " +"open." +msgstr "" +"Сокети, які представляють наявні вхідні підключення клієнта, залишаються " +"відкритими." + +msgid "" +"The server is closed asynchronously, use the :meth:`wait_closed` coroutine " +"to wait until the server is closed." +msgstr "" +"Сервер закривається асинхронно, скористайтеся співпрограмою :meth:" +"`wait_closed`, щоб дочекатися, поки сервер закриється." + +msgid "Return the event loop associated with the server object." +msgstr "Повертає цикл подій, пов’язаний з об’єктом сервера." + +msgid "Start accepting connections." +msgstr "Почніть приймати підключення." + +msgid "" +"This method is idempotent, so it can be called when the server is already " +"serving." +msgstr "" + +msgid "" +"The *start_serving* keyword-only parameter to :meth:`loop.create_server` " +"and :meth:`asyncio.start_server` allows creating a Server object that is not " +"accepting connections initially. In this case ``Server.start_serving()``, " +"or :meth:`Server.serve_forever` can be used to make the Server start " +"accepting connections." +msgstr "" +"Ключовий параметр *start_serving* для :meth:`loop.create_server` і :meth:" +"`asyncio.start_server` дозволяє створити об’єкт сервера, який спочатку не " +"приймає підключення. У цьому випадку ``Server.start_serving()`` або :meth:" +"`Server.serve_forever` можна використати, щоб сервер почав приймати " +"з’єднання." + +msgid "" +"Start accepting connections until the coroutine is cancelled. Cancellation " +"of ``serve_forever`` task causes the server to be closed." +msgstr "" +"Почніть приймати підключення, доки співпрограму не буде скасовано. " +"Скасування завдання ``serve_forever`` призводить до закриття сервера." + +msgid "" +"This method can be called if the server is already accepting connections. " +"Only one ``serve_forever`` task can exist per one *Server* object." +msgstr "" +"Цей метод можна викликати, якщо сервер уже приймає підключення. На один " +"об’єкт *Server* може існувати лише одне завдання ``serve_forever``." + +msgid "Return ``True`` if the server is accepting new connections." +msgstr "Повертає ``True``, якщо сервер приймає нові підключення." + +msgid "Wait until the :meth:`close` method completes." +msgstr "Зачекайте, поки метод :meth:`close` завершить роботу." + +msgid "List of :class:`socket.socket` objects the server is listening on." +msgstr "Список об’єктів :class:`socket.socket`, які прослуховує сервер." + +msgid "" +"Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " +"server sockets directly. In 3.7 a copy of that list is returned." +msgstr "" +"До Python 3.7 ``Server.sockets`` використовувався для безпосереднього " +"повернення внутрішнього списку серверних сокетів. У 3.7 повертається копія " +"цього списку." + +msgid "Event Loop Implementations" +msgstr "Реалізації циклу подій" + +msgid "" +"asyncio ships with two different event loop implementations: :class:" +"`SelectorEventLoop` and :class:`ProactorEventLoop`." +msgstr "" +"asyncio постачається з двома різними реалізаціями циклу подій: :class:" +"`SelectorEventLoop` і :class:`ProactorEventLoop`." + +msgid "" +"By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " +"and :class:`ProactorEventLoop` on Windows." +msgstr "" +"За замовчуванням asyncio налаштовано на використання :class:" +"`SelectorEventLoop` в Unix і :class:`ProactorEventLoop` у Windows." + +msgid "An event loop based on the :mod:`selectors` module." +msgstr "Цикл подій на основі модуля :mod:`selectors`." + +msgid "" +"Uses the most efficient *selector* available for the given platform. It is " +"also possible to manually configure the exact selector implementation to be " +"used::" +msgstr "" +"Використовує найефективніший *селектор*, доступний для даної платформи. " +"Також можна вручну налаштувати точну реалізацію селектора, яка буде " +"використовуватися:" + +msgid ":ref:`Availability `: Unix, Windows." +msgstr ":ref:`Наявність `: Unix, Windows." + +msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." +msgstr "" +"Цикл подій для Windows, який використовує \"Порти завершення введення-" +"виведення\" (IOCP)." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"`MSDN documentation on I/O Completion Ports `_." +msgstr "" +"`Документація MSDN щодо портів завершення введення-виведення `_." + +msgid "Abstract base class for asyncio-compliant event loops." +msgstr "Абстрактний базовий клас для асинційно-сумісних циклів подій." + +msgid "" +"The :ref:`asyncio-event-loop-methods` section lists all methods that an " +"alternative implementation of ``AbstractEventLoop`` should have defined." +msgstr "" + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Note that all examples in this section **purposefully** show how to use the " +"low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." +"call_soon`. Modern asyncio applications rarely need to be written this way; " +"consider using the high-level functions like :func:`asyncio.run`." +msgstr "" +"Зверніть увагу, що всі приклади в цьому розділі **цілеспрямовано** " +"показують, як використовувати API циклу подій низького рівня, такі як :meth:" +"`loop.run_forever` і :meth:`loop.call_soon`. Сучасні асинхронні програми " +"рідко потрібно писати таким чином; подумайте про використання функцій " +"високого рівня, таких як :func:`asyncio.run`." + +msgid "Hello World with call_soon()" +msgstr "Привіт, світ із call_soon()" + +msgid "" +"An example using the :meth:`loop.call_soon` method to schedule a callback. " +"The callback displays ``\"Hello World\"`` and then stops the event loop::" +msgstr "" +"Приклад використання методу :meth:`loop.call_soon` для планування зворотного " +"виклику. Зворотний виклик відображає ``\"Hello World\"``, а потім зупиняє " +"цикл подій::" + +msgid "" +"A similar :ref:`Hello World ` example created with a coroutine " +"and the :func:`run` function." +msgstr "" +"Подібний приклад :ref:`Hello World `, створений за допомогою " +"співпрограми та функції :func:`run`." + +msgid "Display the current date with call_later()" +msgstr "Показати поточну дату за допомогою call_later()" + +msgid "" +"An example of a callback displaying the current date every second. The " +"callback uses the :meth:`loop.call_later` method to reschedule itself after " +"5 seconds, and then stops the event loop::" +msgstr "" +"Приклад зворотного виклику, що відображає поточну дату кожну секунду. " +"Зворотний виклик використовує метод :meth:`loop.call_later`, щоб " +"перепланувати себе через 5 секунд, а потім зупинити цикл подій::" + +msgid "" +"A similar :ref:`current date ` example created with a " +"coroutine and the :func:`run` function." +msgstr "" +"Схожий приклад :ref:`current date `, створений за " +"допомогою співпрограми та функції :func:`run`." + +msgid "Watch a file descriptor for read events" +msgstr "Спостерігайте за подіями читання файлового дескриптора" + +msgid "" +"Wait until a file descriptor received some data using the :meth:`loop." +"add_reader` method and then close the event loop::" +msgstr "" +"Зачекайте, доки дескриптор файлу не отримає деякі дані за допомогою методу :" +"meth:`loop.add_reader`, а потім закрийте цикл подій::" + +msgid "" +"A similar :ref:`example ` using " +"transports, protocols, and the :meth:`loop.create_connection` method." +msgstr "" +"Подібний :ref:`приклад ` з використанням " +"транспортів, протоколів і методу :meth:`loop.create_connection`." + +msgid "" +"Another similar :ref:`example ` " +"using the high-level :func:`asyncio.open_connection` function and streams." +msgstr "" +"Інший подібний :ref:`приклад ` з " +"використанням високорівневої функції :func:`asyncio.open_connection` і " +"потоків." + +msgid "Set signal handlers for SIGINT and SIGTERM" +msgstr "Встановити обробники сигналів для SIGINT і SIGTERM" + +msgid "(This ``signals`` example only works on Unix.)" +msgstr "(Цей приклад ``сигналів`` працює лише в Unix.)" + +msgid "" +"Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " +"the :meth:`loop.add_signal_handler` method::" +msgstr "" +"Зареєструвати обробники для сигналів :py:data:`SIGINT` і :py:data:`SIGTERM` " +"за допомогою методу :meth:`loop.add_signal_handler`::" diff --git a/library/asyncio-exceptions.po b/library/asyncio-exceptions.po new file mode 100644 index 000000000..1ffe8c039 --- /dev/null +++ b/library/asyncio-exceptions.po @@ -0,0 +1,96 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:54+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Exceptions" +msgstr "Винятки" + +msgid "**Source code:** :source:`Lib/asyncio/exceptions.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncio/exceptions.py`" + +msgid "" +"A deprecated alias of :exc:`TimeoutError`, raised when the operation has " +"exceeded the given deadline." +msgstr "" + +msgid "This class was made an alias of :exc:`TimeoutError`." +msgstr "Цей клас отримав псевдонім :exc:`TimeoutError`." + +msgid "The operation has been cancelled." +msgstr "Операцію скасовано." + +msgid "" +"This exception can be caught to perform custom operations when asyncio Tasks " +"are cancelled. In almost all situations the exception must be re-raised." +msgstr "" +"Цей виняток можна перехопити для виконання спеціальних операцій, коли " +"асинхронні завдання скасовуються. Майже в усіх ситуаціях виняток потрібно " +"підняти повторно." + +msgid ":exc:`CancelledError` is now a subclass of :class:`BaseException`." +msgstr ":exc:`CancelledError` тепер є підкласом :class:`BaseException`." + +msgid "Invalid internal state of :class:`Task` or :class:`Future`." +msgstr "Недійсний внутрішній стан :class:`Task` або :class:`Future`." + +msgid "" +"Can be raised in situations like setting a result value for a *Future* " +"object that already has a result value set." +msgstr "" +"Може бути викликано в таких ситуаціях, як встановлення значення результату " +"для об’єкта *Future*, для якого вже встановлено значення результату." + +msgid "" +"The \"sendfile\" syscall is not available for the given socket or file type." +msgstr "" +"Системний виклик \"sendfile\" недоступний для даного сокета або типу файлу." + +msgid "A subclass of :exc:`RuntimeError`." +msgstr "Підклас :exc:`RuntimeError`." + +msgid "The requested read operation did not complete fully." +msgstr "Запитана операція читання не завершена повністю." + +msgid "Raised by the :ref:`asyncio stream APIs`." +msgstr "Створено :ref:`asyncio stream API `." + +msgid "This exception is a subclass of :exc:`EOFError`." +msgstr "Цей виняток є підкласом :exc:`EOFError`." + +msgid "The total number (:class:`int`) of expected bytes." +msgstr "Загальна кількість (:class:`int`) очікуваних байтів." + +msgid "A string of :class:`bytes` read before the end of stream was reached." +msgstr "Рядок із :class:`bytes` прочитано до кінця потоку." + +msgid "Reached the buffer size limit while looking for a separator." +msgstr "Досягнуто обмеження розміру буфера під час пошуку роздільника." + +msgid "Raised by the :ref:`asyncio stream APIs `." +msgstr "Створено :ref:`asyncio stream API `." + +msgid "The total number of to be consumed bytes." +msgstr "Загальна кількість спожитих байтів." diff --git a/library/asyncio-future.po b/library/asyncio-future.po new file mode 100644 index 000000000..a268e8d94 --- /dev/null +++ b/library/asyncio-future.po @@ -0,0 +1,375 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Futures" +msgstr "Ф'ючерси" + +msgid "" +"**Source code:** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/" +"base_futures.py`" +msgstr "" +"**Вихідний код:** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/" +"base_futures.py`" + +msgid "" +"*Future* objects are used to bridge **low-level callback-based code** with " +"high-level async/await code." +msgstr "" +"Об’єкти *Future* використовуються для з’єднання **низькорівневого коду на " +"основі зворотного виклику** з високорівневим асинхронним кодом/кодом " +"очікування." + +msgid "Future Functions" +msgstr "Майбутні функції" + +msgid "Return ``True`` if *obj* is either of:" +msgstr "Повертає ``True``, якщо *obj* є одним із:" + +msgid "an instance of :class:`asyncio.Future`," +msgstr "екземпляр :class:`asyncio.Future`," + +msgid "an instance of :class:`asyncio.Task`," +msgstr "екземпляр :class:`asyncio.Task`," + +msgid "a Future-like object with a ``_asyncio_future_blocking`` attribute." +msgstr "Future-подібний об’єкт з атрибутом ``_asyncio_future_blocking``." + +msgid "Return:" +msgstr "Повернення:" + +msgid "" +"*obj* argument as is, if *obj* is a :class:`Future`, a :class:`Task`, or a " +"Future-like object (:func:`isfuture` is used for the test.)" +msgstr "" +"Аргумент *obj* як є, якщо *obj* є :class:`Future`, :class:`Task` або Future-" +"подібним об’єктом (:func:`isfuture` використовується для перевірки.)" + +msgid "" +"a :class:`Task` object wrapping *obj*, if *obj* is a coroutine (:func:" +"`iscoroutine` is used for the test); in this case the coroutine will be " +"scheduled by ``ensure_future()``." +msgstr "" +"об’єкт :class:`Task`, що обгортає *obj*, якщо *obj* є співпрограмою (для " +"тесту використовується :func:`iscoroutine`); у цьому випадку співпрограма " +"буде запланована ``ensure_future()``." + +msgid "" +"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable (:" +"func:`inspect.isawaitable` is used for the test.)" +msgstr "" +"об’єкт :class:`Task`, який очікуватиме на *obj*, якщо *obj* є очікуваним (:" +"func:`inspect.isawaitable` використовується для тесту.)" + +msgid "If *obj* is neither of the above a :exc:`TypeError` is raised." +msgstr "Якщо *obj* не є жодним із наведених вище, виникає :exc:`TypeError`." + +msgid "" +"See also the :func:`create_task` function which is the preferred way for " +"creating new Tasks." +msgstr "" +"Дивіться також функцію :func:`create_task`, яка є кращим способом створення " +"нових завдань." + +msgid "" +"Save a reference to the result of this function, to avoid a task " +"disappearing mid-execution." +msgstr "" + +msgid "The function accepts any :term:`awaitable` object." +msgstr "Функція приймає будь-який об’єкт :term:`awaitable`." + +msgid "" +"Deprecation warning is emitted if *obj* is not a Future-like object and " +"*loop* is not specified and there is no running event loop." +msgstr "" +"Якщо *obj* не є Future-подібним об’єктом і *loop* не вказано, і цикл подій " +"не виконується, видається попередження про застаріле." + +msgid "" +"Wrap a :class:`concurrent.futures.Future` object in a :class:`asyncio." +"Future` object." +msgstr "" +"Загорніть об’єкт :class:`concurrent.futures.Future` в об’єкт :class:`asyncio." +"Future`." + +msgid "" +"Deprecation warning is emitted if *future* is not a Future-like object and " +"*loop* is not specified and there is no running event loop." +msgstr "" +"Якщо *future* не є об’єктом, схожим на Future, і *loop* не вказано, і немає " +"запущеного циклу подій, видається попередження про застаріння." + +msgid "Future Object" +msgstr "Майбутній об'єкт" + +msgid "" +"A Future represents an eventual result of an asynchronous operation. Not " +"thread-safe." +msgstr "" +"Future представляє кінцевий результат асинхронної операції. Небезпечно для " +"потоків." + +msgid "" +"Future is an :term:`awaitable` object. Coroutines can await on Future " +"objects until they either have a result or an exception set, or until they " +"are cancelled. A Future can be awaited multiple times and the result is same." +msgstr "" + +msgid "" +"Typically Futures are used to enable low-level callback-based code (e.g. in " +"protocols implemented using asyncio :ref:`transports `) to interoperate with high-level async/await code." +msgstr "" +"Зазвичай ф’ючерси використовуються, щоб увімкнути низькорівневий код на " +"основі зворотного виклику (наприклад, у протоколах, реалізованих за " +"допомогою asyncio :ref:`transports `) для " +"взаємодії з високорівневим асинхронним кодом/кодом очікування." + +msgid "" +"The rule of thumb is to never expose Future objects in user-facing APIs, and " +"the recommended way to create a Future object is to call :meth:`loop." +"create_future`. This way alternative event loop implementations can inject " +"their own optimized implementations of a Future object." +msgstr "" +"Емпіричне правило полягає в тому, щоб ніколи не показувати об’єкти Future в " +"призначених для користувача API, а рекомендований спосіб створити об’єкт " +"Future – це викликати :meth:`loop.create_future`. Таким чином альтернативні " +"реалізації циклу подій можуть вводити власні оптимізовані реалізації об’єкта " +"Future." + +msgid "Added support for the :mod:`contextvars` module." +msgstr "Додано підтримку модуля :mod:`contextvars`." + +msgid "" +"Deprecation warning is emitted if *loop* is not specified and there is no " +"running event loop." +msgstr "" +"Якщо *loop* не вказано і немає запущеного циклу подій, видається " +"попередження про застаріле." + +msgid "Return the result of the Future." +msgstr "Повернути результат Future." + +msgid "" +"If the Future is *done* and has a result set by the :meth:`set_result` " +"method, the result value is returned." +msgstr "" +"Якщо Future *done* і має результат, встановлений методом :meth:`set_result`, " +"повертається значення результату." + +msgid "" +"If the Future is *done* and has an exception set by the :meth:" +"`set_exception` method, this method raises the exception." +msgstr "" +"Якщо Future *done* і має виняток, встановлений методом :meth:" +"`set_exception`, цей метод викликає виняток." + +msgid "" +"If the Future has been *cancelled*, this method raises a :exc:" +"`CancelledError` exception." +msgstr "" +"Якщо Future було *скасовано*, цей метод викликає виняток :exc:" +"`CancelledError`." + +msgid "" +"If the Future's result isn't yet available, this method raises a :exc:" +"`InvalidStateError` exception." +msgstr "" +"Якщо результат Future ще недоступний, цей метод викликає виняток :exc:" +"`InvalidStateError`." + +msgid "Mark the Future as *done* and set its result." +msgstr "Позначте майбутнє як *виконане* та встановіть його результат." + +msgid "" +"Raises a :exc:`InvalidStateError` error if the Future is already *done*." +msgstr "Викликає помилку :exc:`InvalidStateError`, якщо Future вже *виконано*." + +msgid "Mark the Future as *done* and set an exception." +msgstr "Позначте майбутнє як *готове* та встановіть виняток." + +msgid "Return ``True`` if the Future is *done*." +msgstr "Повертає ``True``, якщо Future *done*." + +msgid "" +"A Future is *done* if it was *cancelled* or if it has a result or an " +"exception set with :meth:`set_result` or :meth:`set_exception` calls." +msgstr "" +"Майбутнє вважається *виконаним*, якщо його було *скасовано* або якщо він має " +"результат чи виняток, встановлений за допомогою викликів :meth:`set_result` " +"або :meth:`set_exception`." + +msgid "Return ``True`` if the Future was *cancelled*." +msgstr "Повертає ``True``, якщо Future було *скасовано*." + +msgid "" +"The method is usually used to check if a Future is not *cancelled* before " +"setting a result or an exception for it::" +msgstr "" +"Метод зазвичай використовується, щоб перевірити, чи Future не *скасовано* " +"перед встановленням результату або винятку для нього::" + +msgid "Add a callback to be run when the Future is *done*." +msgstr "" +"Додайте зворотний виклик, який буде запущено, коли Майбутнє *зроблено*." + +msgid "The *callback* is called with the Future object as its only argument." +msgstr "" +"*Зворотний виклик* викликається з об’єктом Future як єдиним аргументом." + +msgid "" +"If the Future is already *done* when this method is called, the callback is " +"scheduled with :meth:`loop.call_soon`." +msgstr "" +"Якщо Future вже *done* під час виклику цього методу, зворотний виклик " +"планується за допомогою :meth:`loop.call_soon`." + +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *callback* to run in. The current " +"context is used when no *context* is provided." +msgstr "" +"Необов’язковий аргумент *context*, що містить лише ключове слово, дозволяє " +"вказати спеціальний :class:`contextvars.Context` для виконання *зворотного " +"виклику*. Поточний контекст використовується, якщо *контексту* не надано." + +msgid "" +":func:`functools.partial` can be used to pass parameters to the callback, e." +"g.::" +msgstr "" +":func:`functools.partial` можна використовувати для передачі параметрів " +"зворотному виклику, наприклад::" + +msgid "" +"The *context* keyword-only parameter was added. See :pep:`567` for more " +"details." +msgstr "" +"Додано параметр *context* тільки для ключового слова. Дивіться :pep:`567` " +"для більш детальної інформації." + +msgid "Remove *callback* from the callbacks list." +msgstr "Видалити *callback* зі списку зворотних викликів." + +msgid "" +"Returns the number of callbacks removed, which is typically 1, unless a " +"callback was added more than once." +msgstr "" +"Повертає кількість видалених зворотних викликів, яка зазвичай дорівнює 1, " +"якщо зворотний виклик не було додано кілька разів." + +msgid "Cancel the Future and schedule callbacks." +msgstr "Скасувати майбутнє та запланувати зворотні виклики." + +msgid "" +"If the Future is already *done* or *cancelled*, return ``False``. Otherwise, " +"change the Future's state to *cancelled*, schedule the callbacks, and return " +"``True``." +msgstr "" +"Якщо Future вже *виконано* або *скасовано*, поверніть ``False``. В іншому " +"випадку змініть стан Future на *cancelled*, заплануйте зворотні виклики та " +"поверніть ``True``." + +msgid "Added the *msg* parameter." +msgstr "Додано параметр *msg*." + +msgid "Return the exception that was set on this Future." +msgstr "Повертає виняток, встановлений для цього Future." + +msgid "" +"The exception (or ``None`` if no exception was set) is returned only if the " +"Future is *done*." +msgstr "" +"Виняток (або ``None``, якщо виключення не було встановлено) повертається, " +"лише якщо Future *done*." + +msgid "" +"If the Future isn't *done* yet, this method raises an :exc:" +"`InvalidStateError` exception." +msgstr "" +"Якщо Future ще не *зроблено*, цей метод викликає виняток :exc:" +"`InvalidStateError`." + +msgid "Return the event loop the Future object is bound to." +msgstr "Повертає цикл подій, до якого прив’язаний об’єкт Future." + +msgid "" +"This example creates a Future object, creates and schedules an asynchronous " +"Task to set result for the Future, and waits until the Future has a result::" +msgstr "" +"У цьому прикладі створюється об’єкт Future, створюється та планується " +"асинхронне завдання для встановлення результату для Future та очікується, " +"доки Future не отримає результат::" + +msgid "" +"The Future object was designed to mimic :class:`concurrent.futures.Future`. " +"Key differences include:" +msgstr "" +"Об’єкт Future був розроблений для імітації :class:`concurrent.futures." +"Future`. Основні відмінності:" + +msgid "" +"unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot " +"be awaited." +msgstr "" +"на відміну від asyncio Futures, екземпляри :class:`concurrent.futures." +"Future` не можна чекати." + +msgid "" +":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not " +"accept the *timeout* argument." +msgstr "" +":meth:`asyncio.Future.result` і :meth:`asyncio.Future.exception` не " +"приймають аргумент *timeout*." + +msgid "" +":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :" +"exc:`InvalidStateError` exception when the Future is not *done*." +msgstr "" +":meth:`asyncio.Future.result` і :meth:`asyncio.Future.exception` викликають " +"виняток :exc:`InvalidStateError`, коли Future не *виконано*." + +msgid "" +"Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not " +"called immediately. They are scheduled with :meth:`loop.call_soon` instead." +msgstr "" +"Зворотні виклики, зареєстровані за допомогою :meth:`asyncio.Future." +"add_done_callback`, не викликаються негайно. Натомість вони плануються за " +"допомогою :meth:`loop.call_soon`." + +msgid "" +"asyncio Future is not compatible with the :func:`concurrent.futures.wait` " +"and :func:`concurrent.futures.as_completed` functions." +msgstr "" +"asyncio Future несумісний із функціями :func:`concurrent.futures.wait` і :" +"func:`concurrent.futures.as_completed`." + +msgid "" +":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :" +"func:`concurrent.futures.cancel` does not." +msgstr "" +":meth:`asyncio.Future.cancel` приймає необов’язковий аргумент ``msg``, але :" +"func:`concurrent.futures.cancel` не приймає." diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po new file mode 100644 index 000000000..4733517b9 --- /dev/null +++ b/library/asyncio-llapi-index.po @@ -0,0 +1,852 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Low-level API Index" +msgstr "Індекс API низького рівня" + +msgid "This page lists all low-level asyncio APIs." +msgstr "На цій сторінці перераховано всі асинхронні API низького рівня." + +msgid "Obtaining the Event Loop" +msgstr "Отримання циклу подій" + +msgid ":func:`asyncio.get_running_loop`" +msgstr ":func:`asyncio.get_running_loop`" + +msgid "The **preferred** function to get the running event loop." +msgstr "**Переважна** функція для отримання запущеного циклу подій." + +msgid ":func:`asyncio.get_event_loop`" +msgstr ":func:`asyncio.get_event_loop`" + +msgid "Get an event loop instance (current or via the policy)." +msgstr "Отримати екземпляр циклу подій (поточний або через політику)." + +msgid ":func:`asyncio.set_event_loop`" +msgstr ":func:`asyncio.set_event_loop`" + +msgid "Set the event loop as current via the current policy." +msgstr "Установіть цикл подій як поточний за допомогою поточної політики." + +msgid ":func:`asyncio.new_event_loop`" +msgstr ":func:`asyncio.new_event_loop`" + +msgid "Create a new event loop." +msgstr "Створіть новий цикл подій." + +msgid "Examples" +msgstr "Приклади" + +msgid ":ref:`Using asyncio.get_running_loop() `." +msgstr "" +":ref:`Використання asyncio.get_running_loop() `." + +msgid "Event Loop Methods" +msgstr "Методи циклу подій" + +msgid "" +"See also the main documentation section about the :ref:`asyncio-event-loop-" +"methods`." +msgstr "" + +msgid "Lifecycle" +msgstr "Життєвий цикл" + +msgid ":meth:`loop.run_until_complete`" +msgstr ":meth:`loop.run_until_complete`" + +msgid "Run a Future/Task/awaitable until complete." +msgstr "Запустіть Future/Task/waitable до завершення." + +msgid ":meth:`loop.run_forever`" +msgstr ":meth:`loop.run_forever`" + +msgid "Run the event loop forever." +msgstr "Запустити цикл подій назавжди." + +msgid ":meth:`loop.stop`" +msgstr ":meth:`loop.stop`" + +msgid "Stop the event loop." +msgstr "Зупиніть цикл подій." + +msgid ":meth:`loop.close`" +msgstr ":meth:`loop.close`" + +msgid "Close the event loop." +msgstr "Закрийте цикл подій." + +msgid ":meth:`loop.is_running()`" +msgstr ":meth:`loop.is_running()`" + +msgid "Return ``True`` if the event loop is running." +msgstr "Повертає ``True``, якщо запущено цикл подій." + +msgid ":meth:`loop.is_closed()`" +msgstr ":meth:`loop.is_closed()`" + +msgid "Return ``True`` if the event loop is closed." +msgstr "Повертає ``True``, якщо цикл події закрито." + +msgid "``await`` :meth:`loop.shutdown_asyncgens`" +msgstr "``чекати`` :meth:`loop.shutdown_asyncgens`" + +msgid "Close asynchronous generators." +msgstr "Закрити асинхронні генератори." + +msgid "Debugging" +msgstr "Налагодження" + +msgid ":meth:`loop.set_debug`" +msgstr ":meth:`loop.set_debug`" + +msgid "Enable or disable the debug mode." +msgstr "Увімкніть або вимкніть режим налагодження." + +msgid ":meth:`loop.get_debug`" +msgstr ":meth:`loop.get_debug`" + +msgid "Get the current debug mode." +msgstr "Отримати поточний режим налагодження." + +msgid "Scheduling Callbacks" +msgstr "Планування зворотних викликів" + +msgid ":meth:`loop.call_soon`" +msgstr ":meth:`loop.call_soon`" + +msgid "Invoke a callback soon." +msgstr "Незабаром викликайте зворотний дзвінок." + +msgid ":meth:`loop.call_soon_threadsafe`" +msgstr ":meth:`loop.call_soon_threadsafe`" + +msgid "A thread-safe variant of :meth:`loop.call_soon`." +msgstr "Потоково-безпечний варіант :meth:`loop.call_soon`." + +msgid ":meth:`loop.call_later`" +msgstr ":meth:`loop.call_later`" + +msgid "Invoke a callback *after* the given time." +msgstr "Викликати зворотний виклик *після* вказаного часу." + +msgid ":meth:`loop.call_at`" +msgstr ":meth:`loop.call_at`" + +msgid "Invoke a callback *at* the given time." +msgstr "Викликати зворотний виклик *у* вказаний час." + +msgid "Thread/Process Pool" +msgstr "Пул потоків/процесів" + +msgid "``await`` :meth:`loop.run_in_executor`" +msgstr "``чекати`` :meth:`loop.run_in_executor`" + +msgid "" +"Run a CPU-bound or other blocking function in a :mod:`concurrent.futures` " +"executor." +msgstr "" +"Запустіть пов’язану з ЦП функцію або іншу функцію блокування у виконавці :" +"mod:`concurrent.futures`." + +msgid ":meth:`loop.set_default_executor`" +msgstr ":meth:`loop.set_default_executor`" + +msgid "Set the default executor for :meth:`loop.run_in_executor`." +msgstr "" +"Встановити виконавця за замовчуванням для :meth:`loop.run_in_executor`." + +msgid "Tasks and Futures" +msgstr "Завдання та майбутнє" + +msgid ":meth:`loop.create_future`" +msgstr ":meth:`loop.create_future`" + +msgid "Create a :class:`Future` object." +msgstr "Створіть об’єкт :class:`Future`." + +msgid ":meth:`loop.create_task`" +msgstr ":meth:`loop.create_task`" + +msgid "Schedule coroutine as a :class:`Task`." +msgstr "Розклад співпрограми як :class:`Task`." + +msgid ":meth:`loop.set_task_factory`" +msgstr ":meth:`loop.set_task_factory`" + +msgid "" +"Set a factory used by :meth:`loop.create_task` to create :class:`Tasks " +"`." +msgstr "" +"Установіть фабрику, яку використовує :meth:`loop.create_task` для створення :" +"class:`Tasks `." + +msgid ":meth:`loop.get_task_factory`" +msgstr ":meth:`loop.get_task_factory`" + +msgid "" +"Get the factory :meth:`loop.create_task` uses to create :class:`Tasks " +"`." +msgstr "" +"Отримайте фабрику, яку :meth:`loop.create_task` використовує для створення :" +"class:`Tasks `." + +msgid "DNS" +msgstr "DNS" + +msgid "``await`` :meth:`loop.getaddrinfo`" +msgstr "``чекати`` :meth:`loop.getaddrinfo`" + +msgid "Asynchronous version of :meth:`socket.getaddrinfo`." +msgstr "Асинхронна версія :meth:`socket.getaddrinfo`." + +msgid "``await`` :meth:`loop.getnameinfo`" +msgstr "``чекати`` :meth:`loop.getnameinfo`" + +msgid "Asynchronous version of :meth:`socket.getnameinfo`." +msgstr "Асинхронна версія :meth:`socket.getnameinfo`." + +msgid "Networking and IPC" +msgstr "Мережа та IPC" + +msgid "``await`` :meth:`loop.create_connection`" +msgstr "``чекати`` :meth:`loop.create_connection`" + +msgid "Open a TCP connection." +msgstr "Відкрийте TCP-з'єднання." + +msgid "``await`` :meth:`loop.create_server`" +msgstr "``чекати`` :meth:`loop.create_server`" + +msgid "Create a TCP server." +msgstr "Створіть сервер TCP." + +msgid "``await`` :meth:`loop.create_unix_connection`" +msgstr "``чекати`` :meth:`loop.create_unix_connection`" + +msgid "Open a Unix socket connection." +msgstr "Відкрийте підключення сокета Unix." + +msgid "``await`` :meth:`loop.create_unix_server`" +msgstr "``чекати`` :meth:`loop.create_unix_server`" + +msgid "Create a Unix socket server." +msgstr "Створіть сокет-сервер Unix." + +msgid "``await`` :meth:`loop.connect_accepted_socket`" +msgstr "``чекати`` :meth:`loop.connect_accepted_socket`" + +msgid "Wrap a :class:`~socket.socket` into a ``(transport, protocol)`` pair." +msgstr "Оберніть :class:`~socket.socket` в пару ``(транспорт, протокол)``." + +msgid "``await`` :meth:`loop.create_datagram_endpoint`" +msgstr "``чекати`` :meth:`loop.create_datagram_endpoint`" + +msgid "Open a datagram (UDP) connection." +msgstr "Відкрийте з'єднання дейтаграми (UDP)." + +msgid "``await`` :meth:`loop.sendfile`" +msgstr "``чекати`` :meth:`loop.sendfile`" + +msgid "Send a file over a transport." +msgstr "Надіслати файл через транспорт." + +msgid "``await`` :meth:`loop.start_tls`" +msgstr "``чекати`` :meth:`loop.start_tls`" + +msgid "Upgrade an existing connection to TLS." +msgstr "Оновіть наявне підключення до TLS." + +msgid "``await`` :meth:`loop.connect_read_pipe`" +msgstr "``чекати`` :meth:`loop.connect_read_pipe`" + +msgid "Wrap a read end of a pipe into a ``(transport, protocol)`` pair." +msgstr "Оберніть зчитований кінець каналу в пару ``(транспорт, протокол)``." + +msgid "``await`` :meth:`loop.connect_write_pipe`" +msgstr "``чекати`` :meth:`loop.connect_write_pipe`" + +msgid "Wrap a write end of a pipe into a ``(transport, protocol)`` pair." +msgstr "Оберніть кінець каналу для запису в пару ``(транспорт, протокол)``." + +msgid "Sockets" +msgstr "Сокети" + +msgid "``await`` :meth:`loop.sock_recv`" +msgstr "``чекати`` :meth:`loop.sock_recv`" + +msgid "Receive data from the :class:`~socket.socket`." +msgstr "Отримувати дані з :class:`~socket.socket`." + +msgid "``await`` :meth:`loop.sock_recv_into`" +msgstr "``чекати`` :meth:`loop.sock_recv_into`" + +msgid "Receive data from the :class:`~socket.socket` into a buffer." +msgstr "Отримувати дані з :class:`~socket.socket` в буфер." + +msgid "``await`` :meth:`loop.sock_recvfrom`" +msgstr "" + +msgid "Receive a datagram from the :class:`~socket.socket`." +msgstr "" + +msgid "``await`` :meth:`loop.sock_recvfrom_into`" +msgstr "" + +msgid "Receive a datagram from the :class:`~socket.socket` into a buffer." +msgstr "" + +msgid "``await`` :meth:`loop.sock_sendall`" +msgstr "``чекати`` :meth:`loop.sock_sendall`" + +msgid "Send data to the :class:`~socket.socket`." +msgstr "Надсилайте дані до :class:`~socket.socket`." + +msgid "``await`` :meth:`loop.sock_sendto`" +msgstr "" + +msgid "Send a datagram via the :class:`~socket.socket` to the given address." +msgstr "" + +msgid "``await`` :meth:`loop.sock_connect`" +msgstr "``чекати`` :meth:`loop.sock_connect`" + +msgid "Connect the :class:`~socket.socket`." +msgstr "Підключіть :class:`~socket.socket`." + +msgid "``await`` :meth:`loop.sock_accept`" +msgstr "``чекати`` :meth:`loop.sock_accept`" + +msgid "Accept a :class:`~socket.socket` connection." +msgstr "Прийміть підключення :class:`~socket.socket`." + +msgid "``await`` :meth:`loop.sock_sendfile`" +msgstr "``чекати`` :meth:`loop.sock_sendfile`" + +msgid "Send a file over the :class:`~socket.socket`." +msgstr "Надішліть файл через :class:`~socket.socket`." + +msgid ":meth:`loop.add_reader`" +msgstr ":meth:`loop.add_reader`" + +msgid "Start watching a file descriptor for read availability." +msgstr "Почніть переглядати файловий дескриптор на наявність читання." + +msgid ":meth:`loop.remove_reader`" +msgstr ":meth:`loop.remove_reader`" + +msgid "Stop watching a file descriptor for read availability." +msgstr "Припиніть перегляд дескриптора файлу на доступність читання." + +msgid ":meth:`loop.add_writer`" +msgstr ":meth:`loop.add_writer`" + +msgid "Start watching a file descriptor for write availability." +msgstr "Почніть переглядати файловий дескриптор на доступність запису." + +msgid ":meth:`loop.remove_writer`" +msgstr ":meth:`loop.remove_writer`" + +msgid "Stop watching a file descriptor for write availability." +msgstr "Припиніть стежити за доступністю запису в дескрипторі файлів." + +msgid "Unix Signals" +msgstr "Сигнали Unix" + +msgid ":meth:`loop.add_signal_handler`" +msgstr ":meth:`loop.add_signal_handler`" + +msgid "Add a handler for a :mod:`signal`." +msgstr "Додайте обробник для :mod:`signal`." + +msgid ":meth:`loop.remove_signal_handler`" +msgstr ":meth:`loop.remove_signal_handler`" + +msgid "Remove a handler for a :mod:`signal`." +msgstr "Видаліть обробник для :mod:`signal`." + +msgid "Subprocesses" +msgstr "Підпроцеси" + +msgid ":meth:`loop.subprocess_exec`" +msgstr ":meth:`loop.subprocess_exec`" + +msgid "Spawn a subprocess." +msgstr "Створити підпроцес." + +msgid ":meth:`loop.subprocess_shell`" +msgstr ":meth:`loop.subprocess_shell`" + +msgid "Spawn a subprocess from a shell command." +msgstr "Створити підпроцес із команди оболонки." + +msgid "Error Handling" +msgstr "Обробка помилок" + +msgid ":meth:`loop.call_exception_handler`" +msgstr ":meth:`loop.call_exception_handler`" + +msgid "Call the exception handler." +msgstr "Виклик обробника винятків." + +msgid ":meth:`loop.set_exception_handler`" +msgstr ":meth:`loop.set_exception_handler`" + +msgid "Set a new exception handler." +msgstr "Встановити новий обробник винятків." + +msgid ":meth:`loop.get_exception_handler`" +msgstr ":meth:`loop.get_exception_handler`" + +msgid "Get the current exception handler." +msgstr "Отримати поточний обробник винятків." + +msgid ":meth:`loop.default_exception_handler`" +msgstr ":meth:`loop.default_exception_handler`" + +msgid "The default exception handler implementation." +msgstr "Реалізація обробника винятків за замовчуванням." + +msgid "" +":ref:`Using asyncio.new_event_loop() and loop.run_forever() " +"`." +msgstr "" + +msgid ":ref:`Using loop.call_later() `." +msgstr ":ref:`Використання loop.call_later() `." + +msgid "" +"Using ``loop.create_connection()`` to implement :ref:`an echo-client " +"`." +msgstr "" +"Використання ``loop.create_connection()`` для реалізації :ref:`ехо-клієнта " +"`." + +msgid "" +"Using ``loop.create_connection()`` to :ref:`connect a socket " +"`." +msgstr "" +"Використання ``loop.create_connection()`` для :ref:`підключення сокета " +"`." + +msgid "" +":ref:`Using add_reader() to watch an FD for read events " +"`." +msgstr "" +":ref:`Використання add_reader() для перегляду FD для подій читання " +"`." + +msgid ":ref:`Using loop.add_signal_handler() `." +msgstr "" +":ref:`Використання loop.add_signal_handler() `." + +msgid ":ref:`Using loop.subprocess_exec() `." +msgstr "" +":ref:`Використання loop.subprocess_exec() " +"`." + +msgid "Transports" +msgstr "Транспорти" + +msgid "All transports implement the following methods:" +msgstr "Усі транспорти реалізують такі методи:" + +msgid ":meth:`transport.close() `" +msgstr ":meth:`transport.close() `" + +msgid "Close the transport." +msgstr "Закрити транспорт." + +msgid ":meth:`transport.is_closing() `" +msgstr ":meth:`transport.is_closing() `" + +msgid "Return ``True`` if the transport is closing or is closed." +msgstr "Повертає ``True``, якщо транспорт закривається або закритий." + +msgid ":meth:`transport.get_extra_info() `" +msgstr ":meth:`transport.get_extra_info() `" + +msgid "Request for information about the transport." +msgstr "Запит інформації про транспорт." + +msgid ":meth:`transport.set_protocol() `" +msgstr ":meth:`transport.set_protocol() `" + +msgid "Set a new protocol." +msgstr "Встановіть новий протокол." + +msgid ":meth:`transport.get_protocol() `" +msgstr ":meth:`transport.get_protocol() `" + +msgid "Return the current protocol." +msgstr "Повернути поточний протокол." + +msgid "" +"Transports that can receive data (TCP and Unix connections, pipes, etc). " +"Returned from methods like :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_read_pipe`, etc:" +msgstr "" +"Транспорти, які можуть отримувати дані (з’єднання TCP і Unix, канали тощо). " +"Повертається з таких методів, як :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_read_pipe` тощо:" + +msgid "Read Transports" +msgstr "Читайте Транспорт" + +msgid ":meth:`transport.is_reading() `" +msgstr ":meth:`transport.is_reading() `" + +msgid "Return ``True`` if the transport is receiving." +msgstr "Повертає ``True``, якщо транспорт отримує." + +msgid ":meth:`transport.pause_reading() `" +msgstr ":meth:`transport.pause_reading() `" + +msgid "Pause receiving." +msgstr "Призупинити отримання." + +msgid ":meth:`transport.resume_reading() `" +msgstr ":meth:`transport.resume_reading() `" + +msgid "Resume receiving." +msgstr "Відновити прийом." + +msgid "" +"Transports that can Send data (TCP and Unix connections, pipes, etc). " +"Returned from methods like :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_write_pipe`, etc:" +msgstr "" +"Транспорти, які можуть надсилати дані (з’єднання TCP і Unix, канали тощо). " +"Повертається з таких методів, як :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_write_pipe` тощо:" + +msgid "Write Transports" +msgstr "Напишіть Транспорти" + +msgid ":meth:`transport.write() `" +msgstr ":meth:`transport.write() `" + +msgid "Write data to the transport." +msgstr "Записати дані в транспорт." + +msgid ":meth:`transport.writelines() `" +msgstr ":meth:`transport.writelines() `" + +msgid "Write buffers to the transport." +msgstr "Записати буфери в транспорт." + +msgid ":meth:`transport.can_write_eof() `" +msgstr ":meth:`transport.can_write_eof() `" + +msgid "Return :const:`True` if the transport supports sending EOF." +msgstr "Повертає :const:`True`, якщо транспорт підтримує надсилання EOF." + +msgid ":meth:`transport.write_eof() `" +msgstr ":meth:`transport.write_eof() `" + +msgid "Close and send EOF after flushing buffered data." +msgstr "Закрийте та надішліть EOF після очищення буферизованих даних." + +msgid ":meth:`transport.abort() `" +msgstr ":meth:`transport.abort() `" + +msgid "Close the transport immediately." +msgstr "Негайно закрити транспорт." + +msgid "" +":meth:`transport.get_write_buffer_size() `" +msgstr "" +":meth:`transport.get_write_buffer_size() `" + +msgid "Return the current size of the output buffer." +msgstr "" + +msgid "" +":meth:`transport.get_write_buffer_limits() `" +msgstr "" + +msgid "Return high and low water marks for write flow control." +msgstr "" +"Повернути верхні та нижні водяні позначки для керування потоком запису." + +msgid "" +":meth:`transport.set_write_buffer_limits() `" +msgstr "" +":meth:`transport.set_write_buffer_limits() `" + +msgid "Set new high and low water marks for write flow control." +msgstr "" +"Встановіть нові позначки верхнього та нижнього рівня для контролю потоку " +"запису." + +msgid "Transports returned by :meth:`loop.create_datagram_endpoint`:" +msgstr "Транспорти, повернуті :meth:`loop.create_datagram_endpoint`:" + +msgid "Datagram Transports" +msgstr "Транспортування дейтаграм" + +msgid ":meth:`transport.sendto() `" +msgstr ":meth:`transport.sendto() `" + +msgid "Send data to the remote peer." +msgstr "Надсилати дані віддаленому одноранговому пристрою." + +msgid ":meth:`transport.abort() `" +msgstr ":meth:`transport.abort() `" + +msgid "" +"Low-level transport abstraction over subprocesses. Returned by :meth:`loop." +"subprocess_exec` and :meth:`loop.subprocess_shell`:" +msgstr "" +"Низькорівнева транспортна абстракція над підпроцесами. Повертається :meth:" +"`loop.subprocess_exec` і :meth:`loop.subprocess_shell`:" + +msgid "Subprocess Transports" +msgstr "Транспортування підпроцесів" + +msgid ":meth:`transport.get_pid() `" +msgstr ":meth:`transport.get_pid() `" + +msgid "Return the subprocess process id." +msgstr "Повернути ідентифікатор процесу підпроцесу." + +msgid "" +":meth:`transport.get_pipe_transport() `" +msgstr "" +":meth:`transport.get_pipe_transport() `" + +msgid "" +"Return the transport for the requested communication pipe (*stdin*, " +"*stdout*, or *stderr*)." +msgstr "" +"Повернути транспорт для запитуваного каналу зв’язку (*stdin*, *stdout* або " +"*stderr*)." + +msgid ":meth:`transport.get_returncode() `" +msgstr "" +":meth:`transport.get_returncode() `" + +msgid "Return the subprocess return code." +msgstr "Повернути код повернення підпроцесу." + +msgid ":meth:`transport.kill() `" +msgstr ":meth:`transport.kill() `" + +msgid "Kill the subprocess." +msgstr "Закрийте підпроцес." + +msgid ":meth:`transport.send_signal() `" +msgstr ":meth:`transport.send_signal() `" + +msgid "Send a signal to the subprocess." +msgstr "Надішліть сигнал підпроцесу." + +msgid ":meth:`transport.terminate() `" +msgstr ":meth:`transport.terminate() `" + +msgid "Stop the subprocess." +msgstr "Зупиніть підпроцес." + +msgid ":meth:`transport.close() `" +msgstr ":meth:`transport.close() `" + +msgid "Kill the subprocess and close all pipes." +msgstr "Закрийте підпроцес і закрийте всі канали." + +msgid "Protocols" +msgstr "Протоколи" + +msgid "Protocol classes can implement the following **callback methods**:" +msgstr "" +"Класи протоколів можуть реалізовувати такі **методи зворотного виклику**:" + +msgid "``callback`` :meth:`connection_made() `" +msgstr "" +"``зворотний виклик`` :meth:`connection_made() `" + +msgid "Called when a connection is made." +msgstr "Викликається, коли встановлено з'єднання." + +msgid "``callback`` :meth:`connection_lost() `" +msgstr "" +"``зворотний виклик`` :meth:`connection_lost() `" + +msgid "Called when the connection is lost or closed." +msgstr "Викликається, коли з'єднання втрачено або закрито." + +msgid "``callback`` :meth:`pause_writing() `" +msgstr "" +"``зворотний виклик`` :meth:`pause_writing() `" + +msgid "Called when the transport's buffer goes over the high water mark." +msgstr "Викликається, коли транспортний буфер перевищує позначку високої води." + +msgid "``callback`` :meth:`resume_writing() `" +msgstr "" +"``зворотний виклик`` :meth:`resume_writing() `" + +msgid "Called when the transport's buffer drains below the low water mark." +msgstr "" +"Викликається, коли буфер транспорту стікає нижче позначки низького рівня " +"води." + +msgid "Streaming Protocols (TCP, Unix Sockets, Pipes)" +msgstr "Протоколи потокової передачі (TCP, Unix-сокети, канали)" + +msgid "``callback`` :meth:`data_received() `" +msgstr "``зворотний виклик`` :meth:`data_received() `" + +msgid "Called when some data is received." +msgstr "Викликається при отриманні деяких даних." + +msgid "``callback`` :meth:`eof_received() `" +msgstr "``зворотний виклик`` :meth:`eof_received() `" + +msgid "Called when an EOF is received." +msgstr "Викликається, коли отримано EOF." + +msgid "Buffered Streaming Protocols" +msgstr "Буферизовані потокові протоколи" + +msgid "``callback`` :meth:`get_buffer() `" +msgstr "" +"``зворотний виклик`` :meth:`get_buffer() `" + +msgid "Called to allocate a new receive buffer." +msgstr "Викликається для виділення нового буфера отримання." + +msgid "``callback`` :meth:`buffer_updated() `" +msgstr "" +"``зворотний виклик`` :meth:`buffer_updated() `" + +msgid "Called when the buffer was updated with the received data." +msgstr "Викликається, коли буфер оновлюється отриманими даними." + +msgid "``callback`` :meth:`eof_received() `" +msgstr "" +"``зворотний виклик`` :meth:`eof_received() `" + +msgid "Datagram Protocols" +msgstr "Протоколи дейтаграм" + +msgid "" +"``callback`` :meth:`datagram_received() `" +msgstr "" +"``зворотний виклик`` :meth:`datagram_received() `" + +msgid "Called when a datagram is received." +msgstr "Викликається, коли отримано дейтаграму." + +msgid "``callback`` :meth:`error_received() `" +msgstr "" +"``зворотний виклик`` :meth:`error_received() `" + +msgid "" +"Called when a previous send or receive operation raises an :class:`OSError`." +msgstr "" +"Викликається, коли попередня операція надсилання чи отримання викликає :" +"class:`OSError`." + +msgid "Subprocess Protocols" +msgstr "Протоколи підпроцесів" + +msgid "" +"``callback`` :meth:`pipe_data_received() `" +msgstr "" +"``зворотний виклик`` :meth:`pipe_data_received() `" + +msgid "" +"Called when the child process writes data into its *stdout* or *stderr* pipe." +msgstr "" +"Викликається, коли дочірній процес записує дані у свій канал *stdout* або " +"*stderr*." + +msgid "" +"``callback`` :meth:`pipe_connection_lost() `" +msgstr "" +"``зворотний виклик`` :meth:`pipe_connection_lost() `" + +msgid "" +"Called when one of the pipes communicating with the child process is closed." +msgstr "" +"Викликається, коли одна з труб, що спілкуються з дочірнім процесом, закрита." + +msgid "" +"``callback`` :meth:`process_exited() `" +msgstr "" +"``зворотний виклик`` :meth:`process_exited() `" + +msgid "Called when the child process has exited." +msgstr "Викликається, коли дочірній процес вийшов." + +msgid "Event Loop Policies" +msgstr "Політики циклу подій" + +msgid "" +"Policies is a low-level mechanism to alter the behavior of functions like :" +"func:`asyncio.get_event_loop`. See also the main :ref:`policies section " +"` for more details." +msgstr "" +"Політики — це механізм низького рівня для зміни поведінки таких функцій, як :" +"func:`asyncio.get_event_loop`. Перегляньте також основний :ref:`розділ " +"правил ` для отримання додаткової інформації." + +msgid "Accessing Policies" +msgstr "Доступ до політик" + +msgid ":meth:`asyncio.get_event_loop_policy`" +msgstr ":meth:`asyncio.get_event_loop_policy`" + +msgid "Return the current process-wide policy." +msgstr "Повернути поточну політику для всього процесу." + +msgid ":meth:`asyncio.set_event_loop_policy`" +msgstr ":meth:`asyncio.set_event_loop_policy`" + +msgid "Set a new process-wide policy." +msgstr "Установіть нову політику для всього процесу." + +msgid ":class:`AbstractEventLoopPolicy`" +msgstr ":class:`AbstractEventLoopPolicy`" + +msgid "Base class for policy objects." +msgstr "Базовий клас для об’єктів політики." diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po new file mode 100644 index 000000000..9cae83bd4 --- /dev/null +++ b/library/asyncio-platforms.po @@ -0,0 +1,171 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Platform Support" +msgstr "Підтримка платформи" + +msgid "" +"The :mod:`asyncio` module is designed to be portable, but some platforms " +"have subtle differences and limitations due to the platforms' underlying " +"architecture and capabilities." +msgstr "" +"Модуль :mod:`asyncio` розроблений як портативний, але деякі платформи мають " +"незначні відмінності та обмеження через базову архітектуру та можливості " +"платформ." + +msgid "All Platforms" +msgstr "Усі платформи" + +msgid "" +":meth:`loop.add_reader` and :meth:`loop.add_writer` cannot be used to " +"monitor file I/O." +msgstr "" +":meth:`loop.add_reader` і :meth:`loop.add_writer` не можна використовувати " +"для моніторингу файлового введення/виведення." + +msgid "Windows" +msgstr "вікна" + +msgid "" +"**Source code:** :source:`Lib/asyncio/proactor_events.py`, :source:`Lib/" +"asyncio/windows_events.py`, :source:`Lib/asyncio/windows_utils.py`" +msgstr "" +"**Вихідний код:** :source:`Lib/asyncio/proactor_events.py`, :source:`Lib/" +"asyncio/windows_events.py`, :source:`Lib/asyncio/windows_utils.py`" + +msgid "On Windows, :class:`ProactorEventLoop` is now the default event loop." +msgstr "" +"У Windows :class:`ProactorEventLoop` тепер є циклом подій за замовчуванням." + +msgid "All event loops on Windows do not support the following methods:" +msgstr "Усі цикли подій у Windows не підтримують такі методи:" + +msgid "" +":meth:`loop.create_unix_connection` and :meth:`loop.create_unix_server` are " +"not supported. The :data:`socket.AF_UNIX` socket family is specific to Unix." +msgstr "" +":meth:`loop.create_unix_connection` і :meth:`loop.create_unix_server` не " +"підтримуються. Сімейство сокетів :data:`socket.AF_UNIX` є специфічним для " +"Unix." + +msgid "" +":meth:`loop.add_signal_handler` and :meth:`loop.remove_signal_handler` are " +"not supported." +msgstr "" +":meth:`loop.add_signal_handler` і :meth:`loop.remove_signal_handler` не " +"підтримуються." + +msgid ":class:`SelectorEventLoop` has the following limitations:" +msgstr ":class:`SelectorEventLoop` має такі обмеження:" + +msgid "" +":class:`~selectors.SelectSelector` is used to wait on socket events: it " +"supports sockets and is limited to 512 sockets." +msgstr "" +":class:`~selectors.SelectSelector` використовується для очікування подій " +"сокетів: він підтримує сокети та обмежений 512 сокетами." + +msgid "" +":meth:`loop.add_reader` and :meth:`loop.add_writer` only accept socket " +"handles (e.g. pipe file descriptors are not supported)." +msgstr "" +":meth:`loop.add_reader` і :meth:`loop.add_writer` приймають лише дескриптори " +"сокетів (наприклад, дескриптори каналів файлів не підтримуються)." + +msgid "" +"Pipes are not supported, so the :meth:`loop.connect_read_pipe` and :meth:" +"`loop.connect_write_pipe` methods are not implemented." +msgstr "" +"Канали не підтримуються, тому методи :meth:`loop.connect_read_pipe` і :meth:" +"`loop.connect_write_pipe` не реалізовані." + +msgid "" +":ref:`Subprocesses ` are not supported, i.e. :meth:`loop." +"subprocess_exec` and :meth:`loop.subprocess_shell` methods are not " +"implemented." +msgstr "" +":ref:`Підпроцеси ` не підтримуються, тобто методи :meth:" +"`loop.subprocess_exec` і :meth:`loop.subprocess_shell` не реалізовані." + +msgid ":class:`ProactorEventLoop` has the following limitations:" +msgstr ":class:`ProactorEventLoop` має такі обмеження:" + +msgid "" +"The :meth:`loop.add_reader` and :meth:`loop.add_writer` methods are not " +"supported." +msgstr "" +"Методи :meth:`loop.add_reader` і :meth:`loop.add_writer` не підтримуються." + +msgid "" +"The resolution of the monotonic clock on Windows is usually around 15.6 " +"milliseconds. The best resolution is 0.5 milliseconds. The resolution " +"depends on the hardware (availability of `HPET `_) and on the Windows configuration." +msgstr "" + +msgid "Subprocess Support on Windows" +msgstr "Підтримка підпроцесів у Windows" + +msgid "" +"On Windows, the default event loop :class:`ProactorEventLoop` supports " +"subprocesses, whereas :class:`SelectorEventLoop` does not." +msgstr "" +"У Windows типовий цикл подій :class:`ProactorEventLoop` підтримує " +"підпроцеси, тоді як :class:`SelectorEventLoop` не підтримує." + +msgid "" +"The :meth:`policy.set_child_watcher() ` function is also not supported, as :class:" +"`ProactorEventLoop` has a different mechanism to watch child processes." +msgstr "" +"Функція :meth:`policy.set_child_watcher() ` також не підтримується, оскільки :class:" +"`ProactorEventLoop` має інший механізм для спостереження за дочірніми " +"процесами." + +msgid "macOS" +msgstr "macOS" + +msgid "Modern macOS versions are fully supported." +msgstr "Сучасні версії macOS повністю підтримуються." + +msgid "macOS <= 10.8" +msgstr "macOS <= 10.8" + +msgid "" +"On macOS 10.6, 10.7 and 10.8, the default event loop uses :class:`selectors." +"KqueueSelector`, which does not support character devices on these " +"versions. The :class:`SelectorEventLoop` can be manually configured to use :" +"class:`~selectors.SelectSelector` or :class:`~selectors.PollSelector` to " +"support character devices on these older versions of macOS. Example::" +msgstr "" +"У macOS 10.6, 10.7 і 10.8 цикл подій за замовчуванням використовує :class:" +"`selectors.KqueueSelector`, який не підтримує символьні пристрої в цих " +"версіях. :class:`SelectorEventLoop` можна вручну налаштувати на " +"використання :class:`~selectors.SelectSelector` або :class:`~selectors." +"PollSelector` для підтримки символьних пристроїв у цих старіших версіях " +"macOS. Приклад::" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po new file mode 100644 index 000000000..7d869aa23 --- /dev/null +++ b/library/asyncio-policy.po @@ -0,0 +1,411 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Policies" +msgstr "політики" + +msgid "" +"An event loop policy is a global object used to get and set the current :ref:" +"`event loop `, as well as create new event loops. The " +"default policy can be :ref:`replaced ` with :ref:" +"`built-in alternatives ` to use different event loop " +"implementations, or substituted by a :ref:`custom policy ` that can override these behaviors." +msgstr "" + +msgid "" +"The :ref:`policy object ` gets and sets a separate " +"event loop per *context*. This is per-thread by default, though custom " +"policies could define *context* differently." +msgstr "" + +msgid "" +"Custom event loop policies can control the behavior of :func:" +"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`." +msgstr "" + +msgid "" +"Policy objects should implement the APIs defined in the :class:" +"`AbstractEventLoopPolicy` abstract base class." +msgstr "" +"Об’єкти політики мають реалізовувати API, визначені в :class:" +"`AbstractEventLoopPolicy` абстрактному базовому класі." + +msgid "Getting and Setting the Policy" +msgstr "Отримання та налаштування політики" + +msgid "" +"The following functions can be used to get and set the policy for the " +"current process:" +msgstr "" +"Наступні функції можна використовувати для отримання та налаштування " +"політики для поточного процесу:" + +msgid "Return the current process-wide policy." +msgstr "Повернути поточну політику для всього процесу." + +msgid "Set the current process-wide policy to *policy*." +msgstr "Установіть поточну політику для всього процесу на *policy*." + +msgid "If *policy* is set to ``None``, the default policy is restored." +msgstr "" +"Якщо *policy* встановлено на ``None``, політика за замовчуванням буде " +"відновлена." + +msgid "Policy Objects" +msgstr "Об'єкти політики" + +msgid "The abstract event loop policy base class is defined as follows:" +msgstr "" +"Базовий клас політики абстрактного циклу подій визначається наступним чином:" + +msgid "An abstract base class for asyncio policies." +msgstr "Абстрактний базовий клас для асинхронних політик." + +msgid "Get the event loop for the current context." +msgstr "Отримати цикл подій для поточного контексту." + +msgid "" +"Return an event loop object implementing the :class:`AbstractEventLoop` " +"interface." +msgstr "" +"Повертає об’єкт циклу подій, що реалізує інтерфейс :class:" +"`AbstractEventLoop`." + +msgid "This method should never return ``None``." +msgstr "Цей метод ніколи не повинен повертати ``None``." + +msgid "Set the event loop for the current context to *loop*." +msgstr "Встановіть для циклу подій для поточного контексту значення *loop*." + +msgid "Create and return a new event loop object." +msgstr "Створити та повернути новий об’єкт циклу подій." + +msgid "Get a child process watcher object." +msgstr "Отримайте дочірній об’єкт спостереження за процесом." + +msgid "" +"Return a watcher object implementing the :class:`AbstractChildWatcher` " +"interface." +msgstr "" +"Повертає об’єкт спостереження, що реалізує інтерфейс :class:" +"`AbstractChildWatcher`." + +msgid "This function is Unix specific." +msgstr "Ця функція є специфічною для Unix." + +msgid "Set the current child process watcher to *watcher*." +msgstr "" +"Встановіть для поточного спостерігача дочірнього процесу значення *watcher*." + +msgid "asyncio ships with the following built-in policies:" +msgstr "asyncio поставляється з такими вбудованими політиками:" + +msgid "" +"The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" +"class:`ProactorEventLoop` on Windows." +msgstr "" +"Стандартна асинхронна політика. Використовує :class:`SelectorEventLoop` в " +"Unix і :class:`ProactorEventLoop` у Windows." + +msgid "" +"There is no need to install the default policy manually. asyncio is " +"configured to use the default policy automatically." +msgstr "" +"Немає необхідності встановлювати стандартну політику вручну. asyncio " +"налаштовано на автоматичне використання політики за замовчуванням." + +msgid "On Windows, :class:`ProactorEventLoop` is now used by default." +msgstr "" +"У Windows :class:`ProactorEventLoop` тепер використовується за замовчуванням." + +msgid "" +"An alternative event loop policy that uses the :class:`SelectorEventLoop` " +"event loop implementation." +msgstr "" +"Альтернативна політика циклу подій, яка використовує реалізацію циклу подій :" +"class:`SelectorEventLoop`." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"An alternative event loop policy that uses the :class:`ProactorEventLoop` " +"event loop implementation." +msgstr "" +"Альтернативна політика циклу подій, яка використовує реалізацію циклу подій :" +"class:`ProactorEventLoop`." + +msgid "Process Watchers" +msgstr "Спостерігачі процесів" + +msgid "" +"A process watcher allows customization of how an event loop monitors child " +"processes on Unix. Specifically, the event loop needs to know when a child " +"process has exited." +msgstr "" +"Спостерігач процесів дозволяє налаштувати те, як цикл подій відстежує " +"дочірні процеси в Unix. Зокрема, цикл подій повинен знати, коли завершився " +"дочірній процес." + +msgid "" +"In asyncio, child processes are created with :func:`create_subprocess_exec` " +"and :meth:`loop.subprocess_exec` functions." +msgstr "" +"В asyncio дочірні процеси створюються за допомогою функцій :func:" +"`create_subprocess_exec` і :meth:`loop.subprocess_exec`." + +msgid "" +"asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " +"child watchers should implement, and has four different implementations: :" +"class:`ThreadedChildWatcher` (configured to be used by default), :class:" +"`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, and :class:" +"`FastChildWatcher`." +msgstr "" +"asyncio визначає абстрактний базовий клас :class:`AbstractChildWatcher`, " +"який повинні реалізувати дочірні спостерігачі, і має чотири різні " +"реалізації: :class:`ThreadedChildWatcher` (налаштований для використання за " +"замовчуванням), :class:`MultiLoopChildWatcher`, :class:`SafeChildWatcher` і :" +"class:`FastChildWatcher`." + +msgid "" +"See also the :ref:`Subprocess and Threads ` " +"section." +msgstr "" +"Дивіться також розділ :ref:`Subprocess and Threads `." + +msgid "" +"The following two functions can be used to customize the child process " +"watcher implementation used by the asyncio event loop:" +msgstr "" +"Наступні дві функції можна використовувати для налаштування реалізації " +"спостерігача дочірніх процесів, що використовується циклом асинхронних подій:" + +msgid "Return the current child watcher for the current policy." +msgstr "Повертає поточний дочірній спостерігач для поточної політики." + +msgid "" +"Set the current child watcher to *watcher* for the current policy. " +"*watcher* must implement methods defined in the :class:" +"`AbstractChildWatcher` base class." +msgstr "" +"Установіть для поточного дочірнього спостерігача значення *watcher* для " +"поточної політики. *watcher* повинен реалізовувати методи, визначені в " +"базовому класі :class:`AbstractChildWatcher`." + +msgid "" +"Third-party event loops implementations might not support custom child " +"watchers. For such event loops, using :func:`set_child_watcher` might be " +"prohibited or have no effect." +msgstr "" +"Реалізації сторонніх циклів подій можуть не підтримувати користувацькі " +"дочірні спостерігачі. Для таких циклів подій використання :func:" +"`set_child_watcher` може бути заборонено або не матиме ефекту." + +msgid "Register a new child handler." +msgstr "Зареєструвати нового дочірнього обробника." + +msgid "" +"Arrange for ``callback(pid, returncode, *args)`` to be called when a process " +"with PID equal to *pid* terminates. Specifying another callback for the " +"same process replaces the previous handler." +msgstr "" +"Організуйте виклик ``callback(pid, returncode, *args)`` під час завершення " +"процесу з PID, рівним *pid*. Зазначення іншого зворотного виклику для того " +"самого процесу замінює попередній обробник." + +msgid "The *callback* callable must be thread-safe." +msgstr "Функція *callback* має бути потокобезпечною." + +msgid "Removes the handler for process with PID equal to *pid*." +msgstr "Видаляє обробник для процесу з PID рівним *pid*." + +msgid "" +"The function returns ``True`` if the handler was successfully removed, " +"``False`` if there was nothing to remove." +msgstr "" +"Функція повертає ``True``, якщо обробник було успішно видалено, ``False``, " +"якщо не було нічого для видалення." + +msgid "Attach the watcher to an event loop." +msgstr "Приєднайте спостерігач до циклу подій." + +msgid "" +"If the watcher was previously attached to an event loop, then it is first " +"detached before attaching to the new loop." +msgstr "" +"Якщо спостерігач був раніше приєднаний до циклу подій, то він спочатку " +"від'єднується перед приєднанням до нового циклу." + +msgid "Note: loop may be ``None``." +msgstr "Примітка: цикл може бути ``None``." + +msgid "Return ``True`` if the watcher is ready to use." +msgstr "Повертає ``True``, якщо спостерігач готовий до використання." + +msgid "" +"Spawning a subprocess with *inactive* current child watcher raises :exc:" +"`RuntimeError`." +msgstr "" +"Створення підпроцесу з *неактивним* поточним дочірнім спостерігачем " +"викликає :exc:`RuntimeError`." + +msgid "Close the watcher." +msgstr "Закрийте спостерігач." + +msgid "" +"This method has to be called to ensure that underlying resources are cleaned-" +"up." +msgstr "" +"Цей метод потрібно викликати, щоб переконатися, що базові ресурси очищені." + +msgid "" +"This implementation starts a new waiting thread for every subprocess spawn." +msgstr "" +"Ця реалізація запускає новий потік очікування для кожного породження " +"підпроцесу." + +msgid "" +"It works reliably even when the asyncio event loop is run in a non-main OS " +"thread." +msgstr "" +"Він працює надійно, навіть якщо цикл асинхронних подій виконується в " +"неосновному потоці ОС." + +msgid "" +"There is no noticeable overhead when handling a big number of children " +"(*O(1)* each time a child terminates), but starting a thread per process " +"requires extra memory." +msgstr "" +"Немає помітних накладних витрат при обробці великої кількості дітей (*O(1)* " +"кожного разу, коли дитина завершується), але для запуску потоку для кожного " +"процесу потрібна додаткова пам’ять." + +msgid "This watcher is used by default." +msgstr "Цей спостерігач використовується за замовчуванням." + +msgid "" +"This implementation registers a :py:data:`SIGCHLD` signal handler on " +"instantiation. That can break third-party code that installs a custom " +"handler for :py:data:`SIGCHLD` signal." +msgstr "" +"Ця реалізація реєструє обробник сигналу :py:data:`SIGCHLD` під час створення " +"екземпляра. Це може порушити код третьої сторони, який встановлює " +"спеціальний обробник для сигналу :py:data:`SIGCHLD`." + +msgid "" +"The watcher avoids disrupting other code spawning processes by polling every " +"process explicitly on a :py:data:`SIGCHLD` signal." +msgstr "" +"Спостерігач уникає порушення інших процесів створення коду, явно опитуючи " +"кожен процес за сигналом :py:data:`SIGCHLD`." + +msgid "" +"There is no limitation for running subprocesses from different threads once " +"the watcher is installed." +msgstr "" +"Немає обмежень для запуску підпроцесів з різних потоків після встановлення " +"спостерігача." + +msgid "" +"The solution is safe but it has a significant overhead when handling a big " +"number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." +msgstr "" +"Рішення є безпечним, але воно має значні витрати під час обробки великої " +"кількості процесів (*O(n)* щоразу, коли отримується :py:data:`SIGCHLD`)." + +msgid "" +"This implementation uses active event loop from the main thread to handle :" +"py:data:`SIGCHLD` signal. If the main thread has no running event loop " +"another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." +msgstr "" +"Ця реалізація використовує активний цикл подій з основного потоку для " +"обробки сигналу :py:data:`SIGCHLD`. Якщо основний потік не має запущеного " +"циклу подій, інший потік не може породити підпроцес (виникає :exc:" +"`RuntimeError`)." + +msgid "" +"This solution is as safe as :class:`MultiLoopChildWatcher` and has the same " +"*O(N)* complexity but requires a running event loop in the main thread to " +"work." +msgstr "" +"Це рішення таке ж безпечне, як і :class:`MultiLoopChildWatcher`, і має таку " +"ж складність *O(N)*, але для роботи потрібен запущений цикл подій у " +"головному потоці." + +msgid "" +"This implementation reaps every terminated processes by calling ``os." +"waitpid(-1)`` directly, possibly breaking other code spawning processes and " +"waiting for their termination." +msgstr "" +"Ця реалізація збирає всі завершені процеси шляхом безпосереднього виклику " +"``os.waitpid(-1)``, можливо, порушуючи інші процеси породження коду та " +"чекаючи їх завершення." + +msgid "" +"There is no noticeable overhead when handling a big number of children " +"(*O(1)* each time a child terminates)." +msgstr "" +"Немає помітних накладних витрат при обробці великої кількості дітей (*O(1)* " +"кожного разу, коли дитина завершує роботу)." + +msgid "" +"This solution requires a running event loop in the main thread to work, as :" +"class:`SafeChildWatcher`." +msgstr "" +"Для роботи цього рішення потрібен запущений цикл подій у головному потоці, " +"як :class:`SafeChildWatcher`." + +msgid "" +"This implementation polls process file descriptors (pidfds) to await child " +"process termination. In some respects, :class:`PidfdChildWatcher` is a " +"\"Goldilocks\" child watcher implementation. It doesn't require signals or " +"threads, doesn't interfere with any processes launched outside the event " +"loop, and scales linearly with the number of subprocesses launched by the " +"event loop. The main disadvantage is that pidfds are specific to Linux, and " +"only work on recent (5.3+) kernels." +msgstr "" +"Ця реалізація опитує дескриптори файлів процесу (pidfds) для очікування " +"завершення дочірнього процесу. У деяких відношеннях :class:" +"`PidfdChildWatcher` є реалізацією дочірнього спостерігача \"Золотовласка\". " +"Він не потребує сигналів чи потоків, не заважає жодним процесам, запущеним " +"поза циклом подій, і масштабується лінійно залежно від кількості " +"підпроцесів, запущених циклом подій. Основним недоліком є те, що pidfds є " +"специфічними для Linux і працюють лише на останніх (5.3+) ядрах." + +msgid "Custom Policies" +msgstr "Спеціальна політика" + +msgid "" +"To implement a new event loop policy, it is recommended to subclass :class:" +"`DefaultEventLoopPolicy` and override the methods for which custom behavior " +"is wanted, e.g.::" +msgstr "" +"Щоб запровадити нову політику циклу подій, рекомендується створити підклас :" +"class:`DefaultEventLoopPolicy` і перевизначити методи, для яких потрібна " +"спеціальна поведінка, наприклад::" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po new file mode 100644 index 000000000..64a72cbe0 --- /dev/null +++ b/library/asyncio-protocol.po @@ -0,0 +1,1147 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Transports and Protocols" +msgstr "Транспорт і протоколи" + +msgid "Preface" +msgstr "Передмова" + +msgid "" +"Transports and Protocols are used by the **low-level** event loop APIs such " +"as :meth:`loop.create_connection`. They use callback-based programming " +"style and enable high-performance implementations of network or IPC " +"protocols (e.g. HTTP)." +msgstr "" +"Транспорти та протоколи використовуються API циклу подій **низького рівня**, " +"наприклад :meth:`loop.create_connection`. Вони використовують стиль " +"програмування на основі зворотного виклику та дозволяють високопродуктивні " +"реалізації мережевих або IPC-протоколів (наприклад, HTTP)." + +msgid "" +"Essentially, transports and protocols should only be used in libraries and " +"frameworks and never in high-level asyncio applications." +msgstr "" +"По суті, транспорти та протоколи слід використовувати лише в бібліотеках і " +"фреймворках, а не в асинхронних програмах високого рівня." + +msgid "This documentation page covers both `Transports`_ and `Protocols`_." +msgstr "Ця сторінка документації охоплює як `Transports`_, так і `Protocols`_." + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +"At the highest level, the transport is concerned with *how* bytes are " +"transmitted, while the protocol determines *which* bytes to transmit (and to " +"some extent when)." +msgstr "" +"На найвищому рівні транспорт стосується того, *як* передаються байти, тоді " +"як протокол визначає, *які* байти передавати (і певною мірою коли)." + +msgid "" +"A different way of saying the same thing: a transport is an abstraction for " +"a socket (or similar I/O endpoint) while a protocol is an abstraction for an " +"application, from the transport's point of view." +msgstr "" +"Інший спосіб сказати те саме: транспорт є абстракцією для сокета (або " +"подібної кінцевої точки вводу/виводу), тоді як протокол є абстракцією для " +"програми з точки зору транспорту." + +msgid "" +"Yet another view is the transport and protocol interfaces together define an " +"abstract interface for using network I/O and interprocess I/O." +msgstr "" +"Ще один погляд полягає в тому, що транспортний і протокольний інтерфейси " +"разом визначають абстрактний інтерфейс для використання мережевого вводу-" +"виводу та міжпроцесного введення-виведення." + +msgid "" +"There is always a 1:1 relationship between transport and protocol objects: " +"the protocol calls transport methods to send data, while the transport calls " +"protocol methods to pass it data that has been received." +msgstr "" +"Між транспортними об’єктами та об’єктами протоколу завжди існує зв’язок 1:1: " +"протокол викликає транспортні методи для надсилання даних, тоді як транспорт " +"викликає протокольні методи для передачі йому отриманих даних." + +msgid "" +"Most of connection oriented event loop methods (such as :meth:`loop." +"create_connection`) usually accept a *protocol_factory* argument used to " +"create a *Protocol* object for an accepted connection, represented by a " +"*Transport* object. Such methods usually return a tuple of ``(transport, " +"protocol)``." +msgstr "" +"Більшість методів циклу подій, орієнтованих на підключення (таких як :meth:" +"`loop.create_connection`), зазвичай приймають аргумент *protocol_factory*, " +"який використовується для створення об’єкта *Protocol* для прийнятного " +"з’єднання, представленого об’єктом *Transport*. Такі методи зазвичай " +"повертають кортеж ``(транспорт, протокол)``." + +msgid "Contents" +msgstr "Зміст" + +msgid "This documentation page contains the following sections:" +msgstr "Ця сторінка документації містить такі розділи:" + +msgid "" +"The `Transports`_ section documents asyncio :class:`BaseTransport`, :class:" +"`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:" +"`DatagramTransport`, and :class:`SubprocessTransport` classes." +msgstr "" +"Розділ `Transports`_ документує asyncio :class:`BaseTransport`, :class:" +"`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:" +"`DatagramTransport` і :class:`SubprocessTransport` класи." + +msgid "" +"The `Protocols`_ section documents asyncio :class:`BaseProtocol`, :class:" +"`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, and :class:" +"`SubprocessProtocol` classes." +msgstr "" +"Розділ `Protocols`_ документує асинхронні класи :class:`BaseProtocol`, :" +"class:`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol` і :" +"class:`SubprocessProtocol`." + +msgid "" +"The `Examples`_ section showcases how to work with transports, protocols, " +"and low-level event loop APIs." +msgstr "" +"Розділ `Examples`_ демонструє, як працювати з транспортами, протоколами та " +"API низькорівневого циклу подій." + +msgid "Transports" +msgstr "Транспорти" + +msgid "**Source code:** :source:`Lib/asyncio/transports.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncio/transports.py`" + +msgid "" +"Transports are classes provided by :mod:`asyncio` in order to abstract " +"various kinds of communication channels." +msgstr "" +"Транспорти — це класи, надані :mod:`asyncio` для абстрагування різних видів " +"каналів зв’язку." + +msgid "" +"Transport objects are always instantiated by an :ref:`asyncio event loop " +"`." +msgstr "" +"Транспортні об’єкти завжди створюються :ref:`асинхронним циклом подій " +"`." + +msgid "" +"asyncio implements transports for TCP, UDP, SSL, and subprocess pipes. The " +"methods available on a transport depend on the transport's kind." +msgstr "" +"asyncio реалізує транспорти для каналів TCP, UDP, SSL і підпроцесів. Методи, " +"доступні на транспорті, залежать від типу транспорту." + +msgid "" +"The transport classes are :ref:`not thread safe `." +msgstr "" +"Транспортні класи :ref:`не потоково безпечні `." + +msgid "Transports Hierarchy" +msgstr "Ієрархія транспортів" + +msgid "" +"Base class for all transports. Contains methods that all asyncio transports " +"share." +msgstr "" +"Базовий клас для всіх видів транспорту. Містить методи, спільні для всіх " +"асинхронних транспортів." + +msgid "A base transport for write-only connections." +msgstr "Базовий транспорт для підключень лише для запису." + +msgid "" +"Instances of the *WriteTransport* class are returned from the :meth:`loop." +"connect_write_pipe` event loop method and are also used by subprocess-" +"related methods like :meth:`loop.subprocess_exec`." +msgstr "" +"Екземпляри класу *WriteTransport* повертаються з методу циклу подій :meth:" +"`loop.connect_write_pipe`, а також використовуються пов’язаними з " +"підпроцесами методами, наприклад :meth:`loop.subprocess_exec`." + +msgid "A base transport for read-only connections." +msgstr "Базовий транспорт для підключень лише для читання." + +msgid "" +"Instances of the *ReadTransport* class are returned from the :meth:`loop." +"connect_read_pipe` event loop method and are also used by subprocess-related " +"methods like :meth:`loop.subprocess_exec`." +msgstr "" +"Екземпляри класу *ReadTransport* повертаються з методу циклу подій :meth:" +"`loop.connect_read_pipe`, а також використовуються пов’язаними з " +"підпроцесами методами, наприклад :meth:`loop.subprocess_exec`." + +msgid "" +"Interface representing a bidirectional transport, such as a TCP connection." +msgstr "" +"Інтерфейс, що представляє двонаправлений транспорт, наприклад TCP-з'єднання." + +msgid "" +"The user does not instantiate a transport directly; they call a utility " +"function, passing it a protocol factory and other information necessary to " +"create the transport and protocol." +msgstr "" +"Користувач не створює екземпляр транспорту безпосередньо; вони викликають " +"службову функцію, передаючи їй фабрику протоколів та іншу інформацію, " +"необхідну для створення транспорту та протоколу." + +msgid "" +"Instances of the *Transport* class are returned from or used by event loop " +"methods like :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.create_server`, :meth:`loop.sendfile`, " +"etc." +msgstr "" +"Екземпляри класу *Transport* повертаються або використовуються такими " +"методами циклу подій, як :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.create_server`, :meth:`loop. sendfile` " +"тощо." + +msgid "A transport for datagram (UDP) connections." +msgstr "Транспорт для з’єднань дейтаграм (UDP)." + +msgid "" +"Instances of the *DatagramTransport* class are returned from the :meth:`loop." +"create_datagram_endpoint` event loop method." +msgstr "" +"Екземпляри класу *DatagramTransport* повертаються з методу циклу подій :meth:" +"`loop.create_datagram_endpoint`." + +msgid "" +"An abstraction to represent a connection between a parent and its child OS " +"process." +msgstr "" +"Абстракція для представлення зв’язку між батьківським і дочірнім процесами " +"ОС." + +msgid "" +"Instances of the *SubprocessTransport* class are returned from event loop " +"methods :meth:`loop.subprocess_shell` and :meth:`loop.subprocess_exec`." +msgstr "" +"Екземпляри класу *SubprocessTransport* повертаються з методів циклу подій :" +"meth:`loop.subprocess_shell` і :meth:`loop.subprocess_exec`." + +msgid "Base Transport" +msgstr "Базовий транспорт" + +msgid "Close the transport." +msgstr "Закрити транспорт." + +msgid "" +"If the transport has a buffer for outgoing data, buffered data will be " +"flushed asynchronously. No more data will be received. After all buffered " +"data is flushed, the protocol's :meth:`protocol.connection_lost() " +"` method will be called with :const:`None` as " +"its argument. The transport should not be used once it is closed." +msgstr "" + +msgid "Return ``True`` if the transport is closing or is closed." +msgstr "Повертає ``True``, якщо транспорт закривається або закритий." + +msgid "Return information about the transport or underlying resources it uses." +msgstr "" +"Повертає інформацію про транспорт або основні ресурси, які він використовує." + +msgid "" +"*name* is a string representing the piece of transport-specific information " +"to get." +msgstr "" +"*ім’я* — це рядок, що представляє частину транспортної інформації, яку " +"потрібно отримати." + +msgid "" +"*default* is the value to return if the information is not available, or if " +"the transport does not support querying it with the given third-party event " +"loop implementation or on the current platform." +msgstr "" +"*default* — це значення, яке повертається, якщо інформація недоступна або " +"якщо транспорт не підтримує її запит за допомогою сторонньої реалізації " +"циклу подій або на поточній платформі." + +msgid "" +"For example, the following code attempts to get the underlying socket object " +"of the transport::" +msgstr "" +"Наприклад, наступний код намагається отримати базовий об’єкт сокета " +"транспорту::" + +msgid "Categories of information that can be queried on some transports:" +msgstr "Категорії інформації, які можна запитувати на деяких транспортах:" + +msgid "socket:" +msgstr "розетка:" + +msgid "" +"``'peername'``: the remote address to which the socket is connected, result " +"of :meth:`socket.socket.getpeername` (``None`` on error)" +msgstr "" +"``'peername'``: віддалена адреса, до якої підключено сокет, результат :meth:" +"`socket.socket.getpeername` (``None`` у разі помилки)" + +msgid "``'socket'``: :class:`socket.socket` instance" +msgstr "``'socket'``: :class:`socket.socket` екземпляр" + +msgid "" +"``'sockname'``: the socket's own address, result of :meth:`socket.socket." +"getsockname`" +msgstr "" +"``'sockname'``: власна адреса сокета, результат :meth:`socket.socket." +"getsockname`" + +msgid "SSL socket:" +msgstr "SSL-сокет:" + +msgid "" +"``'compression'``: the compression algorithm being used as a string, or " +"``None`` if the connection isn't compressed; result of :meth:`ssl.SSLSocket." +"compression`" +msgstr "" +"``'стиснення'``: алгоритм стиснення, що використовується як рядок, або " +"``None``, якщо з'єднання не стиснуте; результат :meth:`ssl.SSLSocket." +"compression`" + +msgid "" +"``'cipher'``: a three-value tuple containing the name of the cipher being " +"used, the version of the SSL protocol that defines its use, and the number " +"of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`" +msgstr "" +"``'cipher'``: кортеж з трьох значень, що містить назву використовуваного " +"шифру, версію протоколу SSL, яка визначає його використання, і кількість " +"секретних бітів, що використовуються; результат :meth:`ssl.SSLSocket.cipher`" + +msgid "" +"``'peercert'``: peer certificate; result of :meth:`ssl.SSLSocket.getpeercert`" +msgstr "" +"``'peercert'``: одноранговий сертифікат; результат :meth:`ssl.SSLSocket." +"getpeercert`" + +msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance" +msgstr "``'sslcontext'``: екземпляр :class:`ssl.SSLContext`" + +msgid "" +"``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance" +msgstr "" +"``'ssl_object'``: :class:`ssl.SSLObject` або :class:`ssl.SSLSocket` екземпляр" + +msgid "pipe:" +msgstr "труба:" + +msgid "``'pipe'``: pipe object" +msgstr "``'pipe'``: об'єкт труби" + +msgid "subprocess:" +msgstr "підпроцес:" + +msgid "``'subprocess'``: :class:`subprocess.Popen` instance" +msgstr "екземпляр ``'subprocess'``: :class:`subprocess.Popen`" + +msgid "Set a new protocol." +msgstr "Встановіть новий протокол." + +msgid "" +"Switching protocol should only be done when both protocols are documented to " +"support the switch." +msgstr "" +"Протокол перемикання слід виконувати лише тоді, коли обидва протоколи " +"задокументовано для підтримки перемикання." + +msgid "Return the current protocol." +msgstr "Повернути поточний протокол." + +msgid "Read-only Transports" +msgstr "Транспорти лише для читання" + +msgid "Return ``True`` if the transport is receiving new data." +msgstr "Повертає ``True``, якщо транспорт отримує нові дані." + +msgid "" +"Pause the receiving end of the transport. No data will be passed to the " +"protocol's :meth:`protocol.data_received() ` method " +"until :meth:`resume_reading` is called." +msgstr "" +"Призупинити приймальний кінець транспорту. Жодні дані не будуть передані в " +"метод протоколу :meth:`protocol.data_received() `, " +"доки не буде викликано :meth:`resume_reading`." + +msgid "" +"The method is idempotent, i.e. it can be called when the transport is " +"already paused or closed." +msgstr "" +"Метод є ідемпотентним, тобто його можна викликати, коли транспорт вже " +"призупинено або закрито." + +msgid "" +"Resume the receiving end. The protocol's :meth:`protocol.data_received() " +"` method will be called once again if some data is " +"available for reading." +msgstr "" +"Відновіть приймальний кінець. Метод :meth:`protocol.data_received() " +"` протоколу буде викликано ще раз, якщо деякі дані " +"доступні для читання." + +msgid "" +"The method is idempotent, i.e. it can be called when the transport is " +"already reading." +msgstr "" +"Метод є ідемпотентним, тобто його можна викликати, коли транспорт вже читає." + +msgid "Write-only Transports" +msgstr "Транспорти лише для запису" + +msgid "" +"Close the transport immediately, without waiting for pending operations to " +"complete. Buffered data will be lost. No more data will be received. The " +"protocol's :meth:`protocol.connection_lost() ` " +"method will eventually be called with :const:`None` as its argument." +msgstr "" +"Закрийте транспорт негайно, не чекаючи завершення незавершених операцій. " +"Буферизовані дані буде втрачено. Дані більше не надходитимуть. Метод :meth:" +"`protocol.connection_lost() ` протоколу " +"зрештою буде викликано з :const:`None` як аргумент." + +msgid "" +"Return :const:`True` if the transport supports :meth:`~WriteTransport." +"write_eof`, :const:`False` if not." +msgstr "" +"Повертає :const:`True`, якщо транспорт підтримує :meth:`~WriteTransport." +"write_eof`, :const:`False`, якщо ні." + +msgid "Return the current size of the output buffer used by the transport." +msgstr "" +"Повертає поточний розмір вихідного буфера, який використовується транспортом." + +msgid "" +"Get the *high* and *low* watermarks for write flow control. Return a tuple " +"``(low, high)`` where *low* and *high* are positive number of bytes." +msgstr "" +"Отримайте *високий* і *низький* водяні знаки для керування потоком запису. " +"Повертає кортеж ``(low, high)``, де *low* і *high* є додатною кількістю " +"байтів." + +msgid "Use :meth:`set_write_buffer_limits` to set the limits." +msgstr "" +"Використовуйте :meth:`set_write_buffer_limits`, щоб встановити обмеження." + +msgid "Set the *high* and *low* watermarks for write flow control." +msgstr "" +"Встановіть *високий* і *низький* водяні знаки для керування потоком запису." + +msgid "" +"These two values (measured in number of bytes) control when the protocol's :" +"meth:`protocol.pause_writing() ` and :meth:" +"`protocol.resume_writing() ` methods are " +"called. If specified, the low watermark must be less than or equal to the " +"high watermark. Neither *high* nor *low* can be negative." +msgstr "" +"Ці два значення (вимірюються в кількості байтів) контролюють, коли " +"викликаються методи протоколу :meth:`protocol.pause_writing() ` і :meth:`protocol.resume_writing() `. Якщо вказано, нижній водяний знак має бути меншим або " +"дорівнювати високому водяному знаку. Ні *високий*, ні *низький* не можуть " +"бути негативними." + +msgid "" +":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes " +"greater than or equal to the *high* value. If writing has been paused, :meth:" +"`~BaseProtocol.resume_writing` is called when the buffer size becomes less " +"than or equal to the *low* value." +msgstr "" +":meth:`~BaseProtocol.pause_writing` викликається, коли розмір буфера стає " +"більшим або рівним значенню *high*. Якщо запис призупинено, :meth:" +"`~BaseProtocol.resume_writing` викликається, коли розмір буфера стає меншим " +"або рівним *низькому* значенню." + +msgid "" +"The defaults are implementation-specific. If only the high watermark is " +"given, the low watermark defaults to an implementation-specific value less " +"than or equal to the high watermark. Setting *high* to zero forces *low* to " +"zero as well, and causes :meth:`~BaseProtocol.pause_writing` to be called " +"whenever the buffer becomes non-empty. Setting *low* to zero causes :meth:" +"`~BaseProtocol.resume_writing` to be called only once the buffer is empty. " +"Use of zero for either limit is generally sub-optimal as it reduces " +"opportunities for doing I/O and computation concurrently." +msgstr "" +"Значення за замовчуванням залежать від реалізації. Якщо вказано лише високий " +"водяний знак, низький водяний знак за замовчуванням має значення, що " +"залежить від реалізації, менше або дорівнює верхньому водяному знаку. Якщо " +"встановити *high* на нуль, *low* також буде встановлено на нуль і спричинить " +"виклик :meth:`~BaseProtocol.pause_writing` щоразу, коли буфер стає " +"непорожнім. Якщо встановити *low* на нуль, :meth:`~BaseProtocol." +"resume_writing` буде викликатися лише після того, як буфер буде порожнім. " +"Використання нуля для будь-якого обмеження, як правило, є неоптимальним, " +"оскільки воно зменшує можливості одночасного виконання вводу-виводу та " +"обчислень." + +msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits." +msgstr "" +"Використовуйте :meth:`~WriteTransport.get_write_buffer_limits`, щоб отримати " +"обмеження." + +msgid "Write some *data* bytes to the transport." +msgstr "Запишіть кілька байтів *data* в транспорт." + +msgid "" +"This method does not block; it buffers the data and arranges for it to be " +"sent out asynchronously." +msgstr "" +"Цей спосіб не блокує; він буферизує дані та організовує їх асинхронне " +"надсилання." + +msgid "" +"Write a list (or any iterable) of data bytes to the transport. This is " +"functionally equivalent to calling :meth:`write` on each element yielded by " +"the iterable, but may be implemented more efficiently." +msgstr "" +"Запишіть список (або будь-яку ітерацію) байтів даних у транспорт. Це " +"функціонально еквівалентно виклику :meth:`write` для кожного елемента, " +"отриманого iterable, але може бути реалізовано більш ефективно." + +msgid "" +"Close the write end of the transport after flushing all buffered data. Data " +"may still be received." +msgstr "" +"Закрийте кінець запису транспорту після очищення всіх буферизованих даних. " +"Дані ще можуть бути отримані." + +msgid "" +"This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL) " +"doesn't support half-closed connections." +msgstr "" +"Цей метод може викликати :exc:`NotImplementedError`, якщо транспорт " +"(наприклад, SSL) не підтримує напівзакриті з’єднання." + +msgid "Datagram Transports" +msgstr "Транспортування дейтаграм" + +msgid "" +"Send the *data* bytes to the remote peer given by *addr* (a transport-" +"dependent target address). If *addr* is :const:`None`, the data is sent to " +"the target address given on transport creation." +msgstr "" +"Надішліть байти *data* до віддаленого однорангового вузла, заданого *addr* " +"(цільова адреса, що залежить від транспорту). Якщо *addr* має значення :" +"const:`None`, дані надсилаються на цільову адресу, указану під час створення " +"транспорту." + +msgid "" +"Close the transport immediately, without waiting for pending operations to " +"complete. Buffered data will be lost. No more data will be received. The " +"protocol's :meth:`protocol.connection_lost() ` " +"method will eventually be called with :const:`None` as its argument." +msgstr "" +"Закрийте транспорт негайно, не чекаючи завершення незавершених операцій. " +"Буферизовані дані буде втрачено. Дані більше не надходитимуть. Метод :meth:" +"`protocol.connection_lost() ` протоколу " +"зрештою буде викликано з :const:`None` як аргумент." + +msgid "Subprocess Transports" +msgstr "Транспортування підпроцесів" + +msgid "Return the subprocess process id as an integer." +msgstr "Повертає ідентифікатор процесу підпроцесу як ціле число." + +msgid "" +"Return the transport for the communication pipe corresponding to the integer " +"file descriptor *fd*:" +msgstr "" +"Повертає транспорт для комунікаційного каналу, що відповідає цілочисельному " +"файловому дескриптору *fd*:" + +msgid "" +"``0``: readable streaming transport of the standard input (*stdin*), or :" +"const:`None` if the subprocess was not created with ``stdin=PIPE``" +msgstr "" +"``0``: доступний для читання потоковий транспорт стандартного введення " +"(*stdin*) або :const:`None`, якщо підпроцес не було створено за допомогою " +"``stdin=PIPE``" + +msgid "" +"``1``: writable streaming transport of the standard output (*stdout*), or :" +"const:`None` if the subprocess was not created with ``stdout=PIPE``" +msgstr "" +"``1``: доступний для запису потоковий транспорт стандартного виводу " +"(*stdout*) або :const:`None`, якщо підпроцес не було створено за допомогою " +"``stdout=PIPE``" + +msgid "" +"``2``: writable streaming transport of the standard error (*stderr*), or :" +"const:`None` if the subprocess was not created with ``stderr=PIPE``" +msgstr "" +"``2``: доступний для запису потоковий транспорт стандартної помилки " +"(*stderr*) або :const:`None`, якщо підпроцес не було створено за допомогою " +"``stderr=PIPE``" + +msgid "other *fd*: :const:`None`" +msgstr "інший *fd*: :const:`None`" + +msgid "" +"Return the subprocess return code as an integer or :const:`None` if it " +"hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode` " +"attribute." +msgstr "" +"Повертає код повернення підпроцесу як ціле число або :const:`None`, якщо він " +"не повернувся, що подібно до атрибута :attr:`subprocess.Popen.returncode`." + +msgid "Kill the subprocess." +msgstr "Закрийте підпроцес." + +msgid "" +"On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, " +"this method is an alias for :meth:`terminate`." +msgstr "" +"У системах POSIX функція надсилає SIGKILL підпроцесу. У Windows цей метод є " +"псевдонімом для :meth:`terminate`." + +msgid "See also :meth:`subprocess.Popen.kill`." +msgstr "Дивіться також :meth:`subprocess.Popen.kill`." + +msgid "" +"Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen." +"send_signal`." +msgstr "" +"Надішліть номер *сигналу* підпроцесу, як у :meth:`subprocess.Popen." +"send_signal`." + +msgid "Stop the subprocess." +msgstr "Зупиніть підпроцес." + +msgid "" +"On POSIX systems, this method sends SIGTERM to the subprocess. On Windows, " +"the Windows API function TerminateProcess() is called to stop the subprocess." +msgstr "" +"У системах POSIX цей метод надсилає SIGTERM підпроцесу. У Windows для " +"зупинки підпроцесу викликається функція Windows API TerminateProcess()." + +msgid "See also :meth:`subprocess.Popen.terminate`." +msgstr "Дивіться також :meth:`subprocess.Popen.terminate`." + +msgid "Kill the subprocess by calling the :meth:`kill` method." +msgstr "Закрийте підпроцес, викликавши метод :meth:`kill`." + +msgid "" +"If the subprocess hasn't returned yet, and close transports of *stdin*, " +"*stdout*, and *stderr* pipes." +msgstr "" +"Якщо підпроцес ще не повернувся, закрийте транспорти каналів *stdin*, " +"*stdout* і *stderr*." + +msgid "Protocols" +msgstr "Протоколи" + +msgid "**Source code:** :source:`Lib/asyncio/protocols.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncio/protocols.py`" + +msgid "" +"asyncio provides a set of abstract base classes that should be used to " +"implement network protocols. Those classes are meant to be used together " +"with :ref:`transports `." +msgstr "" +"asyncio надає набір абстрактних базових класів, які слід використовувати для " +"реалізації мережевих протоколів. Ці класи призначені для використання разом " +"із :ref:`transports `." + +msgid "" +"Subclasses of abstract base protocol classes may implement some or all " +"methods. All these methods are callbacks: they are called by transports on " +"certain events, for example when some data is received. A base protocol " +"method should be called by the corresponding transport." +msgstr "" +"Підкласи абстрактних базових класів протоколу можуть реалізовувати деякі або " +"всі методи. Усі ці методи є зворотними викликами: вони викликаються " +"транспортами під час певних подій, наприклад, коли надходять якісь дані. " +"Метод базового протоколу має викликатися відповідним транспортом." + +msgid "Base Protocols" +msgstr "Базові протоколи" + +msgid "Base protocol with methods that all protocols share." +msgstr "Базовий протокол із методами, які використовують усі протоколи." + +msgid "" +"The base class for implementing streaming protocols (TCP, Unix sockets, etc)." +msgstr "" +"Базовий клас для реалізації потокових протоколів (TCP, Unix-сокети тощо)." + +msgid "" +"A base class for implementing streaming protocols with manual control of the " +"receive buffer." +msgstr "" +"Базовий клас для реалізації потокових протоколів із ручним керуванням " +"приймальним буфером." + +msgid "The base class for implementing datagram (UDP) protocols." +msgstr "Базовий клас для реалізації протоколів дейтаграм (UDP)." + +msgid "" +"The base class for implementing protocols communicating with child processes " +"(unidirectional pipes)." +msgstr "" +"Базовий клас для реалізації протоколів, що спілкуються з дочірніми процесами " +"(односпрямовані канали)." + +msgid "Base Protocol" +msgstr "Базовий протокол" + +msgid "All asyncio protocols can implement Base Protocol callbacks." +msgstr "" +"Усі асинхронні протоколи можуть реалізовувати зворотні виклики базового " +"протоколу." + +msgid "Connection Callbacks" +msgstr "Зворотні виклики підключення" + +msgid "" +"Connection callbacks are called on all protocols, exactly once per a " +"successful connection. All other protocol callbacks can only be called " +"between those two methods." +msgstr "" +"Зворотні виклики підключення викликаються для всіх протоколів рівно один раз " +"за успішне підключення. Усі інші зворотні виклики протоколу можна викликати " +"лише між цими двома методами." + +msgid "Called when a connection is made." +msgstr "Викликається, коли встановлено з'єднання." + +msgid "" +"The *transport* argument is the transport representing the connection. The " +"protocol is responsible for storing the reference to its transport." +msgstr "" +"Аргумент *transport* — це транспорт, що представляє з’єднання. Протокол " +"відповідає за збереження посилання на свій транспорт." + +msgid "Called when the connection is lost or closed." +msgstr "Викликається, коли з'єднання втрачено або закрито." + +msgid "" +"The argument is either an exception object or :const:`None`. The latter " +"means a regular EOF is received, or the connection was aborted or closed by " +"this side of the connection." +msgstr "" +"Аргументом є або об’єкт винятку, або :const:`None`. Останнє означає, що " +"отримано звичайний EOF, або з’єднання було перервано чи закрито цією " +"стороною з’єднання." + +msgid "Flow Control Callbacks" +msgstr "Зворотні виклики керування потоком" + +msgid "" +"Flow control callbacks can be called by transports to pause or resume " +"writing performed by the protocol." +msgstr "" +"Зворотні виклики керування потоком можуть бути викликані транспортами, щоб " +"призупинити або відновити запис, який виконується протоколом." + +msgid "" +"See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits` " +"method for more details." +msgstr "" +"Додаткову інформацію дивіться в документації методу :meth:`~WriteTransport." +"set_write_buffer_limits`." + +msgid "Called when the transport's buffer goes over the high watermark." +msgstr "Викликається, коли транспортний буфер переходить верхній водяний знак." + +msgid "Called when the transport's buffer drains below the low watermark." +msgstr "" +"Викликається, коли транспортний буфер закінчується нижче низького водяного " +"знака." + +msgid "" +"If the buffer size equals the high watermark, :meth:`~BaseProtocol." +"pause_writing` is not called: the buffer size must go strictly over." +msgstr "" +"Якщо розмір буфера дорівнює верхньому водяному знаку, :meth:`~BaseProtocol." +"pause_writing` не викликається: розмір буфера має суворо перевищувати." + +msgid "" +"Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer " +"size is equal or lower than the low watermark. These end conditions are " +"important to ensure that things go as expected when either mark is zero." +msgstr "" +"І навпаки, :meth:`~BaseProtocol.resume_writing` викликається, коли розмір " +"буфера дорівнює або менше ніж нижній водяний знак. Ці кінцеві умови важливі " +"для забезпечення того, щоб усе відбувалося так, як очікувалося, коли будь-" +"яка позначка дорівнює нулю." + +msgid "Streaming Protocols" +msgstr "Протоколи потокової передачі" + +msgid "" +"Event methods, such as :meth:`loop.create_server`, :meth:`loop." +"create_unix_server`, :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop." +"connect_read_pipe`, and :meth:`loop.connect_write_pipe` accept factories " +"that return streaming protocols." +msgstr "" +"Методи подій, такі як :meth:`loop.create_server`, :meth:`loop." +"create_unix_server`, :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop." +"connect_read_pipe` і :meth:`loop.connect_write_pipe` приймають фабрики, які " +"повертають потокові протоколи." + +msgid "" +"Called when some data is received. *data* is a non-empty bytes object " +"containing the incoming data." +msgstr "" +"Викликається при отриманні деяких даних. *data* — це об’єкт із непорожніми " +"байтами, що містить вхідні дані." + +msgid "" +"Whether the data is buffered, chunked or reassembled depends on the " +"transport. In general, you shouldn't rely on specific semantics and instead " +"make your parsing generic and flexible. However, data is always received in " +"the correct order." +msgstr "" +"Від транспортування залежить, чи будуть дані буферизовані, фрагментовані чи " +"повторно зібрані. Загалом, вам не слід покладатися на конкретну семантику, а " +"натомість робити аналіз загальним і гнучким. Однак дані завжди надходять у " +"правильному порядку." + +msgid "" +"The method can be called an arbitrary number of times while a connection is " +"open." +msgstr "" +"Метод можна викликати довільну кількість разів, поки з’єднання відкрито." + +msgid "" +"However, :meth:`protocol.eof_received() ` is called " +"at most once. Once ``eof_received()`` is called, ``data_received()`` is not " +"called anymore." +msgstr "" + +msgid "" +"Called when the other end signals it won't send any more data (for example " +"by calling :meth:`transport.write_eof() `, if the " +"other end also uses asyncio)." +msgstr "" +"Викликається, коли інший кінець сигналізує, що більше не надсилатиме даних " +"(наприклад, викликом :meth:`transport.write_eof() `, якщо інший кінець також використовує asyncio)." + +msgid "" +"This method may return a false value (including ``None``), in which case the " +"transport will close itself. Conversely, if this method returns a true " +"value, the protocol used determines whether to close the transport. Since " +"the default implementation returns ``None``, it implicitly closes the " +"connection." +msgstr "" +"Цей метод може повернути хибне значення (включаючи ``None``), у цьому " +"випадку транспорт закриється сам. І навпаки, якщо цей метод повертає істинне " +"значення, протокол, який використовується, визначає, чи закривати транспорт. " +"Оскільки реалізація за замовчуванням повертає ``None``, вона неявно закриває " +"з’єднання." + +msgid "" +"Some transports, including SSL, don't support half-closed connections, in " +"which case returning true from this method will result in the connection " +"being closed." +msgstr "" +"Деякі транспортні засоби, включно з SSL, не підтримують напівзакриті " +"з’єднання, і в цьому випадку повернення true з цього методу призведе до " +"закриття з’єднання." + +msgid "State machine:" +msgstr "Державна машина:" + +msgid "Buffered Streaming Protocols" +msgstr "Буферизовані потокові протоколи" + +msgid "" +"Buffered Protocols can be used with any event loop method that supports " +"`Streaming Protocols`_." +msgstr "" +"Буферизовані протоколи можна використовувати з будь-яким методом циклу " +"подій, який підтримує `Streaming Protocols`_." + +msgid "" +"``BufferedProtocol`` implementations allow explicit manual allocation and " +"control of the receive buffer. Event loops can then use the buffer provided " +"by the protocol to avoid unnecessary data copies. This can result in " +"noticeable performance improvement for protocols that receive big amounts of " +"data. Sophisticated protocol implementations can significantly reduce the " +"number of buffer allocations." +msgstr "" +"Реалізації ``BufferedProtocol`` дозволяють явно вручну розподіляти та " +"контролювати буфер отримання. Потім цикли подій можуть використовувати " +"буфер, наданий протоколом, щоб уникнути непотрібних копій даних. Це може " +"призвести до помітного підвищення продуктивності для протоколів, які " +"отримують великі обсяги даних. Складні реалізації протоколів можуть значно " +"зменшити кількість розподілів буферів." + +msgid "" +"The following callbacks are called on :class:`BufferedProtocol` instances:" +msgstr "" +"Наступні зворотні виклики викликаються в екземплярах :class:" +"`BufferedProtocol`:" + +msgid "Called to allocate a new receive buffer." +msgstr "Викликається для виділення нового буфера отримання." + +msgid "" +"*sizehint* is the recommended minimum size for the returned buffer. It is " +"acceptable to return smaller or larger buffers than what *sizehint* " +"suggests. When set to -1, the buffer size can be arbitrary. It is an error " +"to return a buffer with a zero size." +msgstr "" +"*sizehint* — рекомендований мінімальний розмір для поверненого буфера. " +"Дозволено повертати менші або більші буфери, ніж пропонує *sizehint*. Якщо " +"встановлено значення -1, розмір буфера може бути довільним. Помилкою є " +"повернення буфера з нульовим розміром." + +msgid "" +"``get_buffer()`` must return an object implementing the :ref:`buffer " +"protocol `." +msgstr "" +"``get_buffer()`` має повертати об’єкт, що реалізує :ref:`протокол буфера " +"`." + +msgid "Called when the buffer was updated with the received data." +msgstr "Викликається, коли буфер оновлюється отриманими даними." + +msgid "*nbytes* is the total number of bytes that were written to the buffer." +msgstr "*nbytes* — це загальна кількість байтів, які були записані в буфер." + +msgid "" +"See the documentation of the :meth:`protocol.eof_received() ` method." +msgstr "" +"Перегляньте документацію методу :meth:`protocol.eof_received() `." + +msgid "" +":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of " +"times during a connection. However, :meth:`protocol.eof_received() " +"` is called at most once and, if called, :meth:" +"`~BufferedProtocol.get_buffer` and :meth:`~BufferedProtocol.buffer_updated` " +"won't be called after it." +msgstr "" +":meth:`~BufferedProtocol.get_buffer` можна викликати довільну кількість " +"разів під час з’єднання. Однак :meth:`protocol.eof_received() ` викликається щонайбільше один раз, і, якщо буде викликано, :" +"meth:`~BufferedProtocol.get_buffer` і :meth:`~BufferedProtocol." +"buffer_updated` не будуть викликатися після нього." + +msgid "Datagram Protocols" +msgstr "Протоколи дейтаграм" + +msgid "" +"Datagram Protocol instances should be constructed by protocol factories " +"passed to the :meth:`loop.create_datagram_endpoint` method." +msgstr "" +"Екземпляри протоколу дейтаграм мають бути створені фабриками протоколів, " +"переданими в метод :meth:`loop.create_datagram_endpoint`." + +msgid "" +"Called when a datagram is received. *data* is a bytes object containing the " +"incoming data. *addr* is the address of the peer sending the data; the " +"exact format depends on the transport." +msgstr "" +"Викликається, коли отримано дейтаграму. *data* — це об’єкт bytes, що містить " +"вхідні дані. *addr* — це адреса вузла, який надсилає дані; точний формат " +"залежить від транспорту." + +msgid "" +"Called when a previous send or receive operation raises an :class:" +"`OSError`. *exc* is the :class:`OSError` instance." +msgstr "" +"Викликається, коли попередня операція надсилання чи отримання викликає :" +"class:`OSError`. *exc* — це екземпляр :class:`OSError`." + +msgid "" +"This method is called in rare conditions, when the transport (e.g. UDP) " +"detects that a datagram could not be delivered to its recipient. In many " +"conditions though, undeliverable datagrams will be silently dropped." +msgstr "" +"Цей метод викликається в рідкісних випадках, коли транспорт (наприклад, UDP) " +"виявляє, що дейтаграму не вдалося доставити одержувачу. Однак у багатьох " +"випадках дейтаграми, які неможливо доставити, будуть мовчки видалені." + +msgid "" +"On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for " +"datagram protocols, because there is no reliable way to detect send failures " +"caused by writing too many packets." +msgstr "" +"У системах BSD (macOS, FreeBSD тощо) керування потоком не підтримується для " +"протоколів дейтаграм, оскільки немає надійного способу виявити помилки " +"надсилання, спричинені записом занадто великої кількості пакетів." + +msgid "" +"The socket always appears 'ready' and excess packets are dropped. An :class:" +"`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be " +"raised; if it is raised, it will be reported to :meth:`DatagramProtocol." +"error_received` but otherwise ignored." +msgstr "" +"Сокет завжди виглядає \"готовим\", а зайві пакети відкидаються. Помилка :" +"class:`OSEror` з ``errno`` встановленим на :const:`errno.ENOBUFS` може " +"виникати або не виникати; якщо воно піднято, про це буде повідомлено :meth:" +"`DatagramProtocol.error_received`, але в інших випадках воно буде " +"проігноровано." + +msgid "Subprocess Protocols" +msgstr "Протоколи підпроцесів" + +msgid "" +"Subprocess Protocol instances should be constructed by protocol factories " +"passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` " +"methods." +msgstr "" +"Екземпляри протоколу підпроцесу мають бути створені фабриками протоколів, " +"переданими методам :meth:`loop.subprocess_exec` і :meth:`loop." +"subprocess_shell`." + +msgid "" +"Called when the child process writes data into its stdout or stderr pipe." +msgstr "" +"Викликається, коли дочірній процес записує дані в канал stdout або stderr." + +msgid "*fd* is the integer file descriptor of the pipe." +msgstr "*fd* — цілочисельний файловий дескриптор каналу." + +msgid "*data* is a non-empty bytes object containing the received data." +msgstr "*data* — об’єкт із непорожніми байтами, що містить отримані дані." + +msgid "" +"Called when one of the pipes communicating with the child process is closed." +msgstr "" +"Викликається, коли одна з труб, що спілкуються з дочірнім процесом, закрита." + +msgid "*fd* is the integer file descriptor that was closed." +msgstr "*fd* — цілочисельний файловий дескриптор, який було закрито." + +msgid "Called when the child process has exited." +msgstr "Викликається, коли дочірній процес завершився." + +msgid "Examples" +msgstr "Приклади" + +msgid "TCP Echo Server" +msgstr "TCP Echo Server" + +msgid "" +"Create a TCP echo server using the :meth:`loop.create_server` method, send " +"back received data, and close the connection::" +msgstr "" +"Створіть TCP-сервер ехо за допомогою методу :meth:`loop.create_server`, " +"надішліть назад отримані дані та закрийте з’єднання::" + +msgid "" +"The :ref:`TCP echo server using streams ` " +"example uses the high-level :func:`asyncio.start_server` function." +msgstr "" +"У прикладі :ref:`TCP echo server using streams ` використовується функція :func:`asyncio.start_server` високого " +"рівня." + +msgid "TCP Echo Client" +msgstr "TCP Echo Client" + +msgid "" +"A TCP echo client using the :meth:`loop.create_connection` method, sends " +"data, and waits until the connection is closed::" +msgstr "" +"TCP-клієнт відлуння, використовуючи метод :meth:`loop.create_connection`, " +"надсилає дані та чекає, доки з’єднання не буде закрито::" + +msgid "" +"The :ref:`TCP echo client using streams ` " +"example uses the high-level :func:`asyncio.open_connection` function." +msgstr "" +"У прикладі :ref:`TCP echo client using streams ` використовується функція :func:`asyncio.open_connection` високого " +"рівня." + +msgid "UDP Echo Server" +msgstr "Сервер UDP Echo" + +msgid "" +"A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " +"sends back received data::" +msgstr "" +"Ехо-сервер UDP за допомогою методу :meth:`loop.create_datagram_endpoint` " +"повертає отримані дані:" + +msgid "UDP Echo Client" +msgstr "UDP Echo Client" + +msgid "" +"A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, " +"sends data and closes the transport when it receives the answer::" +msgstr "" +"Ехо-клієнт UDP, використовуючи метод :meth:`loop.create_datagram_endpoint`, " +"надсилає дані та закриває транспорт, коли отримує відповідь:" + +msgid "Connecting Existing Sockets" +msgstr "Підключення наявних розеток" + +msgid "" +"Wait until a socket receives data using the :meth:`loop.create_connection` " +"method with a protocol::" +msgstr "" +"Зачекайте, поки сокет отримає дані за допомогою методу :meth:`loop." +"create_connection` з протоколом::" + +msgid "" +"The :ref:`watch a file descriptor for read events " +"` example uses the low-level :meth:`loop." +"add_reader` method to register an FD." +msgstr "" +"У прикладі :ref:`спостерігати за файловим дескриптором для подій читання " +"` використовується метод низького рівня :meth:" +"`loop.add_reader` для реєстрації FD." + +msgid "" +"The :ref:`register an open socket to wait for data using streams " +"` example uses high-level streams " +"created by the :func:`open_connection` function in a coroutine." +msgstr "" +"У прикладі :ref:`register an open socket to wait for data using streams " +"` використовуються потоки " +"високого рівня, створені функцією :func:`open_connection` у співпрограмі." + +msgid "loop.subprocess_exec() and SubprocessProtocol" +msgstr "loop.subprocess_exec() і SubprocessProtocol" + +msgid "" +"An example of a subprocess protocol used to get the output of a subprocess " +"and to wait for the subprocess exit." +msgstr "" +"Приклад протоколу підпроцесу, який використовується для отримання " +"результатів підпроцесу та очікування виходу підпроцесу." + +msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::" +msgstr "Підпроцес створюється методом :meth:`loop.subprocess_exec`::" + +msgid "" +"See also the :ref:`same example ` " +"written using high-level APIs." +msgstr "" +"Дивіться також :ref:`той самий приклад " +"`, написаний з використанням API " +"високого рівня." diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po new file mode 100644 index 000000000..2c04eda84 --- /dev/null +++ b/library/asyncio-queue.po @@ -0,0 +1,218 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Queues" +msgstr "Черги" + +msgid "**Source code:** :source:`Lib/asyncio/queues.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncio/queues.py`" + +msgid "" +"asyncio queues are designed to be similar to classes of the :mod:`queue` " +"module. Although asyncio queues are not thread-safe, they are designed to " +"be used specifically in async/await code." +msgstr "" +"асинхронні черги розроблені таким чином, щоб бути подібними до класів " +"модуля :mod:`queue`. Хоча асинхронні черги не є потокобезпечними, вони " +"розроблені спеціально для використання в асинхронному коді/коді очікування." + +msgid "" +"Note that methods of asyncio queues don't have a *timeout* parameter; use :" +"func:`asyncio.wait_for` function to do queue operations with a timeout." +msgstr "" +"Зауважте, що методи асинхронних черг не мають параметра *timeout*; " +"використовуйте функцію :func:`asyncio.wait_for`, щоб виконувати операції в " +"черзі з тайм-аутом." + +msgid "See also the `Examples`_ section below." +msgstr "Дивіться також розділ `Examples`_ нижче." + +msgid "Queue" +msgstr "Чергу" + +msgid "A first in, first out (FIFO) queue." +msgstr "Черга першим прийшов, першим вийшов (FIFO)." + +msgid "" +"If *maxsize* is less than or equal to zero, the queue size is infinite. If " +"it is an integer greater than ``0``, then ``await put()`` blocks when the " +"queue reaches *maxsize* until an item is removed by :meth:`get`." +msgstr "" +"Якщо *maxsize* менше або дорівнює нулю, розмір черги є нескінченним. Якщо це " +"ціле число, більше за ``0``, тоді ``await put()`` блокує, коли черга досягає " +"*maxsize*, доки елемент не буде видалено :meth:`get`." + +msgid "" +"Unlike the standard library threading :mod:`queue`, the size of the queue is " +"always known and can be returned by calling the :meth:`qsize` method." +msgstr "" +"На відміну від стандартної потокової обробки бібліотеки :mod:`queue`, розмір " +"черги завжди відомий і може бути повернутий викликом методу :meth:`qsize`." + +msgid "Removed the *loop* parameter." +msgstr "Видалено параметр *loop*." + +msgid "This class is :ref:`not thread safe `." +msgstr "Цей клас :ref:`не потоково безпечний `." + +msgid "Number of items allowed in the queue." +msgstr "Кількість елементів, дозволених у черзі." + +msgid "Return ``True`` if the queue is empty, ``False`` otherwise." +msgstr "Повертає ``True``, якщо черга порожня, ``False`` інакше." + +msgid "Return ``True`` if there are :attr:`maxsize` items in the queue." +msgstr "Повертає ``True``, якщо в черзі є елементи :attr:`maxsize`." + +msgid "" +"If the queue was initialized with ``maxsize=0`` (the default), then :meth:" +"`full()` never returns ``True``." +msgstr "" +"Якщо чергу було ініціалізовано ``maxsize=0`` (за замовчуванням), тоді :meth:" +"`full()` ніколи не повертає ``True``." + +msgid "" +"Remove and return an item from the queue. If queue is empty, wait until an " +"item is available." +msgstr "" +"Видалити та повернути елемент із черги. Якщо черга порожня, зачекайте, поки " +"елемент стане доступним." + +msgid "" +"Return an item if one is immediately available, else raise :exc:`QueueEmpty`." +msgstr "" +"Повернути елемент, якщо він одразу доступний, інакше підняти :exc:" +"`QueueEmpty`." + +msgid "Block until all items in the queue have been received and processed." +msgstr "Блокуйте, доки всі елементи в черзі не будуть отримані та оброблені." + +msgid "" +"The count of unfinished tasks goes up whenever an item is added to the " +"queue. The count goes down whenever a consumer coroutine calls :meth:" +"`task_done` to indicate that the item was retrieved and all work on it is " +"complete. When the count of unfinished tasks drops to zero, :meth:`join` " +"unblocks." +msgstr "" +"Кількість незавершених завдань зростає щоразу, коли елемент додається до " +"черги. Підрахунок зменшується щоразу, коли співпрограма споживача викликає :" +"meth:`task_done`, щоб вказати, що елемент було отримано та вся робота над " +"ним завершена. Коли кількість незавершених завдань падає до нуля, :meth:" +"`join` розблоковується." + +msgid "" +"Put an item into the queue. If the queue is full, wait until a free slot is " +"available before adding the item." +msgstr "" +"Помістіть товар у чергу. Якщо черга заповнена, зачекайте, поки з’явиться " +"вільне місце, перш ніж додавати елемент." + +msgid "Put an item into the queue without blocking." +msgstr "Поставте елемент у чергу без блокування." + +msgid "If no free slot is immediately available, raise :exc:`QueueFull`." +msgstr "Якщо вільного місця немає, підніміть :exc:`QueueFull`." + +msgid "Return the number of items in the queue." +msgstr "Повернути кількість елементів у черзі." + +msgid "Indicate that a formerly enqueued task is complete." +msgstr "Вказує на те, що завдання, яке раніше було в черзі, виконано." + +msgid "" +"Used by queue consumers. For each :meth:`~Queue.get` used to fetch a task, a " +"subsequent call to :meth:`task_done` tells the queue that the processing on " +"the task is complete." +msgstr "" +"Використовується споживачами черги. Для кожного :meth:`~Queue.get`, який " +"використовується для отримання завдання, наступний виклик :meth:`task_done` " +"повідомляє черзі, що обробку завдання завершено." + +msgid "" +"If a :meth:`join` is currently blocking, it will resume when all items have " +"been processed (meaning that a :meth:`task_done` call was received for every " +"item that had been :meth:`~Queue.put` into the queue)." +msgstr "" +"Якщо :meth:`join` зараз блокує, воно відновиться, коли всі елементи буде " +"оброблено (це означає, що виклик :meth:`task_done` отримано для кожного " +"елемента, який був :meth:`~Queue.put` в черга)." + +msgid "" +"Raises :exc:`ValueError` if called more times than there were items placed " +"in the queue." +msgstr "" +"Викликає :exc:`ValueError`, якщо викликається стільки разів, скільки було " +"елементів, розміщених у черзі." + +msgid "Priority Queue" +msgstr "Пріоритетна черга" + +msgid "" +"A variant of :class:`Queue`; retrieves entries in priority order (lowest " +"first)." +msgstr "" +"Варіант :class:`Queue`; отримує записи в порядку пріоритету (найнижчий " +"спочатку)." + +msgid "Entries are typically tuples of the form ``(priority_number, data)``." +msgstr "Записи зазвичай є кортежами у формі ``(число_пріоритету, дані)``." + +msgid "LIFO Queue" +msgstr "Черга LIFO" + +msgid "" +"A variant of :class:`Queue` that retrieves most recently added entries first " +"(last in, first out)." +msgstr "" +"Варіант :class:`Queue`, який першими отримує нещодавно додані записи " +"(останнім увійшов, першим вийшов)." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"This exception is raised when the :meth:`~Queue.get_nowait` method is called " +"on an empty queue." +msgstr "" +"Цей виняток виникає, коли метод :meth:`~Queue.get_nowait` викликається в " +"порожній черзі." + +msgid "" +"Exception raised when the :meth:`~Queue.put_nowait` method is called on a " +"queue that has reached its *maxsize*." +msgstr "" +"Виняток виникає, коли метод :meth:`~Queue.put_nowait` викликається в черзі, " +"яка досягла *максимального розміру*." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Queues can be used to distribute workload between several concurrent tasks::" +msgstr "" +"Черги можна використовувати для розподілу робочого навантаження між кількома " +"одночасними завданнями:" diff --git a/library/asyncio-runner.po b/library/asyncio-runner.po new file mode 100644 index 000000000..f791cdefb --- /dev/null +++ b/library/asyncio-runner.po @@ -0,0 +1,179 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2022-11-05 19:48+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Runners" +msgstr "" + +msgid "**Source code:** :source:`Lib/asyncio/runners.py`" +msgstr "" + +msgid "" +"This section outlines high-level asyncio primitives to run asyncio code." +msgstr "" + +msgid "" +"They are built on top of an :ref:`event loop ` with the " +"aim to simplify async code usage for common wide-spread scenarios." +msgstr "" + +msgid "Running an asyncio Program" +msgstr "" + +msgid "Execute the :term:`coroutine` *coro* and return the result." +msgstr "" + +msgid "" +"This function runs the passed coroutine, taking care of managing the asyncio " +"event loop, *finalizing asynchronous generators*, and closing the threadpool." +msgstr "" + +msgid "" +"This function cannot be called when another asyncio event loop is running in " +"the same thread." +msgstr "" + +msgid "" +"If *debug* is ``True``, the event loop will be run in debug mode. ``False`` " +"disables debug mode explicitly. ``None`` is used to respect the global :ref:" +"`asyncio-debug-mode` settings." +msgstr "" + +msgid "" +"This function always creates a new event loop and closes it at the end. It " +"should be used as a main entry point for asyncio programs, and should " +"ideally only be called once." +msgstr "" + +msgid "Example::" +msgstr "Приклад::" + +msgid "Updated to use :meth:`loop.shutdown_default_executor`." +msgstr "" + +msgid "" +"*debug* is ``None`` by default to respect the global debug mode settings." +msgstr "" + +msgid "Runner context manager" +msgstr "" + +msgid "" +"A context manager that simplifies *multiple* async function calls in the " +"same context." +msgstr "" + +msgid "" +"Sometimes several top-level async functions should be called in the same :" +"ref:`event loop ` and :class:`contextvars.Context`." +msgstr "" + +msgid "" +"*loop_factory* could be used for overriding the loop creation. It is the " +"responsibility of the *loop_factory* to set the created loop as the current " +"one. By default :func:`asyncio.new_event_loop` is used and set as current " +"event loop with :func:`asyncio.set_event_loop` if *loop_factory* is ``None``." +msgstr "" + +msgid "" +"Basically, :func:`asyncio.run()` example can be rewritten with the runner " +"usage::" +msgstr "" + +msgid "Run a :term:`coroutine ` *coro* in the embedded loop." +msgstr "" + +msgid "Return the coroutine's result or raise its exception." +msgstr "" + +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *coro* to run in. The runner's default " +"context is used if ``None``." +msgstr "" + +msgid "Close the runner." +msgstr "" + +msgid "" +"Finalize asynchronous generators, shutdown default executor, close the event " +"loop and release embedded :class:`contextvars.Context`." +msgstr "" + +msgid "Return the event loop associated with the runner instance." +msgstr "" + +msgid "" +":class:`Runner` uses the lazy initialization strategy, its constructor " +"doesn't initialize underlying low-level structures." +msgstr "" + +msgid "" +"Embedded *loop* and *context* are created at the :keyword:`with` body " +"entering or the first call of :meth:`run` or :meth:`get_loop`." +msgstr "" + +msgid "Handling Keyboard Interruption" +msgstr "" + +msgid "" +"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, :exc:" +"`KeyboardInterrupt` exception is raised in the main thread by default. " +"However this doesn't work with :mod:`asyncio` because it can interrupt " +"asyncio internals and can hang the program from exiting." +msgstr "" + +msgid "" +"To mitigate this issue, :mod:`asyncio` handles :const:`signal.SIGINT` as " +"follows:" +msgstr "" + +msgid "" +":meth:`asyncio.Runner.run` installs a custom :const:`signal.SIGINT` handler " +"before any user code is executed and removes it when exiting from the " +"function." +msgstr "" + +msgid "" +"The :class:`~asyncio.Runner` creates the main task for the passed coroutine " +"for its execution." +msgstr "" + +msgid "" +"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, the custom signal " +"handler cancels the main task by calling :meth:`asyncio.Task.cancel` which " +"raises :exc:`asyncio.CancelledError` inside the main task. This causes the " +"Python stack to unwind, ``try/except`` and ``try/finally`` blocks can be " +"used for resource cleanup. After the main task is cancelled, :meth:`asyncio." +"Runner.run` raises :exc:`KeyboardInterrupt`." +msgstr "" + +msgid "" +"A user could write a tight loop which cannot be interrupted by :meth:" +"`asyncio.Task.cancel`, in which case the second following :kbd:`Ctrl-C` " +"immediately raises the :exc:`KeyboardInterrupt` without cancelling the main " +"task." +msgstr "" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po new file mode 100644 index 000000000..cf5840366 --- /dev/null +++ b/library/asyncio-stream.po @@ -0,0 +1,472 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Streams" +msgstr "Потоки" + +msgid "**Source code:** :source:`Lib/asyncio/streams.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncio/streams.py`" + +msgid "" +"Streams are high-level async/await-ready primitives to work with network " +"connections. Streams allow sending and receiving data without using " +"callbacks or low-level protocols and transports." +msgstr "" +"Потоки — це високорівневі асинхронні/готові до очікування примітиви для " +"роботи з мережевими підключеннями. Потоки дозволяють надсилати й отримувати " +"дані без використання зворотних викликів або низькорівневих протоколів і " +"транспортів." + +msgid "Here is an example of a TCP echo client written using asyncio streams::" +msgstr "" +"Ось приклад клієнта відлуння TCP, написаного з використанням асинхронних " +"потоків::" + +msgid "See also the `Examples`_ section below." +msgstr "Дивіться також розділ `Examples`_ нижче." + +msgid "Stream Functions" +msgstr "Потокові функції" + +msgid "" +"The following top-level asyncio functions can be used to create and work " +"with streams:" +msgstr "" +"Наступні асинхронні функції верхнього рівня можна використовувати для " +"створення та роботи з потоками:" + +msgid "" +"Establish a network connection and return a pair of ``(reader, writer)`` " +"objects." +msgstr "" +"Встановіть мережеве з’єднання та поверніть пару об’єктів ``(reader, " +"writer)``." + +msgid "" +"The returned *reader* and *writer* objects are instances of :class:" +"`StreamReader` and :class:`StreamWriter` classes." +msgstr "" +"Повернені об’єкти *reader* і *writer* є екземплярами класів :class:" +"`StreamReader` і :class:`StreamWriter`." + +msgid "" +"*limit* determines the buffer size limit used by the returned :class:" +"`StreamReader` instance. By default the *limit* is set to 64 KiB." +msgstr "" +"*limit* визначає обмеження розміру буфера, який використовується повернутим " +"екземпляром :class:`StreamReader`. За замовчуванням *обмеження* встановлено " +"на 64 КБ." + +msgid "" +"The rest of the arguments are passed directly to :meth:`loop." +"create_connection`." +msgstr "" +"Решта аргументів передаються безпосередньо до :meth:`loop.create_connection`." + +msgid "" +"The *sock* argument transfers ownership of the socket to the :class:" +"`StreamWriter` created. To close the socket, call its :meth:`~asyncio." +"StreamWriter.close` method." +msgstr "" + +msgid "Added the *ssl_handshake_timeout* parameter." +msgstr "Додано параметр *ssl_handshake_timeout*." + +msgid "Added *happy_eyeballs_delay* and *interleave* parameters." +msgstr "Додано параметри *happy_eyeballs_delay* і *interleave*." + +msgid "Removed the *loop* parameter." +msgstr "Видалено параметр *loop*." + +msgid "Start a socket server." +msgstr "Запустіть сервер сокетів." + +msgid "" +"The *client_connected_cb* callback is called whenever a new client " +"connection is established. It receives a ``(reader, writer)`` pair as two " +"arguments, instances of the :class:`StreamReader` and :class:`StreamWriter` " +"classes." +msgstr "" +"Зворотний виклик *client_connected_cb* викликається щоразу, коли " +"встановлюється нове підключення клієнта. Він отримує пару ``(reader, " +"writer)`` як два аргументи, екземпляри класів :class:`StreamReader` і :class:" +"`StreamWriter`." + +msgid "" +"*client_connected_cb* can be a plain callable or a :ref:`coroutine function " +"`; if it is a coroutine function, it will be automatically " +"scheduled as a :class:`Task`." +msgstr "" +"*client_connected_cb* може бути простим викликом або :ref:`функцією " +"співпрограми `; якщо це функція співпрограми, вона буде " +"автоматично запланована як :class:`Task`." + +msgid "" +"The rest of the arguments are passed directly to :meth:`loop.create_server`." +msgstr "" +"Решта аргументів передаються безпосередньо до :meth:`loop.create_server`." + +msgid "" +"The *sock* argument transfers ownership of the socket to the server created. " +"To close the socket, call the server's :meth:`~asyncio.Server.close` method." +msgstr "" + +msgid "Added the *ssl_handshake_timeout* and *start_serving* parameters." +msgstr "Додано параметри *ssl_handshake_timeout* і *start_serving*." + +msgid "Unix Sockets" +msgstr "Unix-сокети" + +msgid "" +"Establish a Unix socket connection and return a pair of ``(reader, writer)``." +msgstr "" +"Встановіть з’єднання через сокет Unix і поверніть пару ``(reader, writer)``." + +msgid "Similar to :func:`open_connection` but operates on Unix sockets." +msgstr "Подібно до :func:`open_connection`, але працює на сокетах Unix." + +msgid "See also the documentation of :meth:`loop.create_unix_connection`." +msgstr "Дивіться також документацію :meth:`loop.create_unix_connection`." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " +"a :term:`path-like object`" +msgstr "" +"Додано параметр *ssl_handshake_timeout*. Параметр *path* тепер може бути :" +"term:`path-like object`" + +msgid "Start a Unix socket server." +msgstr "Запустіть сокет-сервер Unix." + +msgid "Similar to :func:`start_server` but works with Unix sockets." +msgstr "Подібно до :func:`start_server`, але працює з сокетами Unix." + +msgid "See also the documentation of :meth:`loop.create_unix_server`." +msgstr "Дивіться також документацію :meth:`loop.create_unix_server`." + +msgid "" +"Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " +"parameter can now be a :term:`path-like object`." +msgstr "" +"Додано параметри *ssl_handshake_timeout* і *start_serving*. Параметр *path* " +"тепер може бути :term:`path-like object`." + +msgid "StreamReader" +msgstr "StreamReader" + +msgid "" +"Represents a reader object that provides APIs to read data from the IO " +"stream. As an :term:`asynchronous iterable`, the object supports the :" +"keyword:`async for` statement." +msgstr "" + +msgid "" +"It is not recommended to instantiate *StreamReader* objects directly; use :" +"func:`open_connection` and :func:`start_server` instead." +msgstr "" +"Не рекомендується безпосередньо створювати екземпляри об’єктів " +"*StreamReader*; замість цього використовуйте :func:`open_connection` і :func:" +"`start_server`." + +msgid "" +"Read up to *n* bytes. If *n* is not provided, or set to ``-1``, read until " +"EOF and return all read bytes." +msgstr "" +"Прочитати до *n* байт. Якщо *n* не вказано або встановлено як ``-1``, читати " +"до EOF і повертати всі прочитані байти." + +msgid "" +"If EOF was received and the internal buffer is empty, return an empty " +"``bytes`` object." +msgstr "" +"Якщо було отримано EOF, а внутрішній буфер порожній, поверніть порожній " +"об’єкт ``bytes``." + +msgid "" +"Read one line, where \"line\" is a sequence of bytes ending with ``\\n``." +msgstr "" +"Прочитати один рядок, де \"рядок\" — це послідовність байтів, що " +"закінчуються на ``\\n``." + +msgid "" +"If EOF is received and ``\\n`` was not found, the method returns partially " +"read data." +msgstr "" +"Якщо EOF отримано, а ``\\n`` не знайдено, метод повертає частково прочитані " +"дані." + +msgid "" +"If EOF is received and the internal buffer is empty, return an empty " +"``bytes`` object." +msgstr "" +"Якщо EOF отримано, а внутрішній буфер порожній, поверніть порожній об’єкт " +"``bytes``." + +msgid "Read exactly *n* bytes." +msgstr "Прочитайте рівно *n* байт." + +msgid "" +"Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " +"read. Use the :attr:`IncompleteReadError.partial` attribute to get the " +"partially read data." +msgstr "" +"Викликати :exc:`IncompleteReadError`, якщо EOF досягнуто до того, як *n* " +"можна буде прочитати. Використовуйте атрибут :attr:`IncompleteReadError." +"partial`, щоб отримати частково прочитані дані." + +msgid "Read data from the stream until *separator* is found." +msgstr "Читати дані з потоку, доки не буде знайдено *роздільник*." + +msgid "" +"On success, the data and separator will be removed from the internal buffer " +"(consumed). Returned data will include the separator at the end." +msgstr "" +"У разі успіху дані та роздільник буде видалено з внутрішнього буфера " +"(використано). Повернуті дані включатимуть роздільник у кінці." + +msgid "" +"If the amount of data read exceeds the configured stream limit, a :exc:" +"`LimitOverrunError` exception is raised, and the data is left in the " +"internal buffer and can be read again." +msgstr "" +"Якщо обсяг зчитаних даних перевищує налаштований ліміт потоку, виникає " +"виняток :exc:`LimitOverrunError`, і дані залишаються у внутрішньому буфері " +"та можуть бути прочитані знову." + +msgid "" +"If EOF is reached before the complete separator is found, an :exc:" +"`IncompleteReadError` exception is raised, and the internal buffer is " +"reset. The :attr:`IncompleteReadError.partial` attribute may contain a " +"portion of the separator." +msgstr "" +"Якщо EOF досягнуто до того, як знайдено повний роздільник, виникає виняток :" +"exc:`IncompleteReadError`, і внутрішній буфер скидається. Атрибут :attr:" +"`IncompleteReadError.partial` може містити частину роздільника." + +msgid "Return ``True`` if the buffer is empty and :meth:`feed_eof` was called." +msgstr "" +"Повертає ``True``, якщо буфер порожній і було викликано :meth:`feed_eof`." + +msgid "StreamWriter" +msgstr "StreamWriter" + +msgid "" +"Represents a writer object that provides APIs to write data to the IO stream." +msgstr "" +"Представляє об’єкт запису, який надає API для запису даних у потік вводу-" +"виводу." + +msgid "" +"It is not recommended to instantiate *StreamWriter* objects directly; use :" +"func:`open_connection` and :func:`start_server` instead." +msgstr "" +"Не рекомендується безпосередньо створювати екземпляри об’єктів " +"*StreamWriter*; замість цього використовуйте :func:`open_connection` і :func:" +"`start_server`." + +msgid "" +"The method attempts to write the *data* to the underlying socket " +"immediately. If that fails, the data is queued in an internal write buffer " +"until it can be sent." +msgstr "" +"Метод намагається негайно записати *дані* в основний сокет. Якщо це не " +"вдається, дані ставляться в чергу у внутрішній буфер запису, доки їх не буде " +"надіслано." + +msgid "The method should be used along with the ``drain()`` method::" +msgstr "Цей метод слід використовувати разом із методом ``drain()``:" + +msgid "" +"The method writes a list (or any iterable) of bytes to the underlying socket " +"immediately. If that fails, the data is queued in an internal write buffer " +"until it can be sent." +msgstr "" +"Метод негайно записує список (або будь-яку ітерацію) байтів у базовий сокет. " +"Якщо це не вдається, дані ставляться в чергу у внутрішній буфер запису, доки " +"їх не буде надіслано." + +msgid "The method closes the stream and the underlying socket." +msgstr "Метод закриває потік і базовий сокет." + +msgid "The method should be used along with the ``wait_closed()`` method::" +msgstr "Цей метод слід використовувати разом із методом ``wait_closed()``:" + +msgid "" +"Return ``True`` if the underlying transport supports the :meth:`write_eof` " +"method, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо основний транспорт підтримує метод :meth:" +"`write_eof`, ``False`` інакше." + +msgid "" +"Close the write end of the stream after the buffered write data is flushed." +msgstr "" +"Закрийте кінець запису потоку після очищення буферизованих даних запису." + +msgid "Return the underlying asyncio transport." +msgstr "Повернути базовий асинхронний транспорт." + +msgid "" +"Access optional transport information; see :meth:`BaseTransport." +"get_extra_info` for details." +msgstr "" +"Доступ до додаткової транспортної інформації; подробиці див. :meth:" +"`BaseTransport.get_extra_info`." + +msgid "Wait until it is appropriate to resume writing to the stream. Example::" +msgstr "Зачекайте, доки буде прийнятно продовжити запис у потік. Приклад::" + +msgid "" +"This is a flow control method that interacts with the underlying IO write " +"buffer. When the size of the buffer reaches the high watermark, *drain()* " +"blocks until the size of the buffer is drained down to the low watermark and " +"writing can be resumed. When there is nothing to wait for, the :meth:" +"`drain` returns immediately." +msgstr "" +"Це метод керування потоком, який взаємодіє з базовим буфером запису вводу-" +"виводу. Коли розмір буфера досягає верхнього водяного знака, *drain()* " +"блокує, доки розмір буфера не зменшиться до низького водяного знака, і запис " +"можна буде відновити. Коли нема чого чекати, :meth:`drain` повертається " +"негайно." + +msgid "Upgrade an existing stream-based connection to TLS." +msgstr "" + +msgid "Parameters:" +msgstr "Параметри:" + +msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." +msgstr "*sslcontext*: налаштований екземпляр :class:`~ssl.SSLContext`." + +msgid "" +"*server_hostname*: sets or overrides the host name that the target server's " +"certificate will be matched against." +msgstr "" +"*server_hostname*: встановлює або замінює ім’я хоста, з яким буде " +"зіставлятися сертифікат цільового сервера." + +msgid "" +"*ssl_handshake_timeout* is the time in seconds to wait for the TLS handshake " +"to complete before aborting the connection. ``60.0`` seconds if ``None`` " +"(default)." +msgstr "" + +msgid "" +"Return ``True`` if the stream is closed or in the process of being closed." +msgstr "" +"Повертає ``True``, якщо потік закрито або знаходиться в процесі закриття." + +msgid "Wait until the stream is closed." +msgstr "Зачекайте, поки потік закриється." + +msgid "" +"Should be called after :meth:`close` to wait until the underlying connection " +"is closed." +msgstr "" +"Має викликатися після :meth:`close`, щоб дочекатися, поки базове з’єднання " +"буде закрито." + +msgid "Examples" +msgstr "Приклади" + +msgid "TCP echo client using streams" +msgstr "TCP echo client використовує потоки" + +msgid "TCP echo client using the :func:`asyncio.open_connection` function::" +msgstr "" +"TCP-клієнт відлуння за допомогою функції :func:`asyncio.open_connection`::" + +msgid "" +"The :ref:`TCP echo client protocol " +"` example uses the low-level :meth:" +"`loop.create_connection` method." +msgstr "" +"У прикладі :ref:`TCP echo client protocol " +"` використовується метод низького " +"рівня :meth:`loop.create_connection`." + +msgid "TCP echo server using streams" +msgstr "Сервер відлуння TCP з використанням потоків" + +msgid "TCP echo server using the :func:`asyncio.start_server` function::" +msgstr "" +"Сервер відлуння TCP за допомогою функції :func:`asyncio.start_server`::" + +msgid "" +"The :ref:`TCP echo server protocol " +"` example uses the :meth:`loop." +"create_server` method." +msgstr "" +"У прикладі :ref:`TCP echo server protocol " +"` використовується метод :meth:" +"`loop.create_server`." + +msgid "Get HTTP headers" +msgstr "Отримайте заголовки HTTP" + +msgid "" +"Simple example querying HTTP headers of the URL passed on the command line::" +msgstr "" +"Простий приклад запиту HTTP-заголовків URL-адреси, переданої в командному " +"рядку::" + +msgid "Usage::" +msgstr "Використання::" + +msgid "or with HTTPS::" +msgstr "або з HTTPS::" + +msgid "Register an open socket to wait for data using streams" +msgstr "Зареєструйте відкритий сокет для очікування даних за допомогою потоків" + +msgid "" +"Coroutine waiting until a socket receives data using the :func:" +"`open_connection` function::" +msgstr "" +"Співпрограма очікує, доки сокет не отримає дані за допомогою функції :func:" +"`open_connection`::" + +msgid "" +"The :ref:`register an open socket to wait for data using a protocol " +"` example uses a low-level protocol and " +"the :meth:`loop.create_connection` method." +msgstr "" +"У прикладі :ref:`реєструвати відкритий сокет для очікування даних за " +"допомогою протоколу ` використовується " +"протокол низького рівня та метод :meth:`loop.create_connection`." + +msgid "" +"The :ref:`watch a file descriptor for read events " +"` example uses the low-level :meth:`loop." +"add_reader` method to watch a file descriptor." +msgstr "" +"У прикладі :ref:`спостерігати за подіями читання файлового дескриптора " +"` використовується низькорівневий метод :meth:" +"`loop.add_reader` для спостереження за файловим дескриптором." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po new file mode 100644 index 000000000..6043e7d21 --- /dev/null +++ b/library/asyncio-subprocess.po @@ -0,0 +1,483 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Subprocesses" +msgstr "Підпроцеси" + +msgid "" +"**Source code:** :source:`Lib/asyncio/subprocess.py`, :source:`Lib/asyncio/" +"base_subprocess.py`" +msgstr "" +"**Вихідний код:** :source:`Lib/asyncio/subprocess.py`, :source:`Lib/asyncio/" +"base_subprocess.py`" + +msgid "" +"This section describes high-level async/await asyncio APIs to create and " +"manage subprocesses." +msgstr "" +"У цьому розділі описано високорівневі API async/await asyncio для створення " +"та керування підпроцесами." + +msgid "" +"Here's an example of how asyncio can run a shell command and obtain its " +"result::" +msgstr "" +"Ось приклад того, як asyncio може запустити команду оболонки та отримати її " +"результат::" + +msgid "will print::" +msgstr "надрукую::" + +msgid "" +"Because all asyncio subprocess functions are asynchronous and asyncio " +"provides many tools to work with such functions, it is easy to execute and " +"monitor multiple subprocesses in parallel. It is indeed trivial to modify " +"the above example to run several commands simultaneously::" +msgstr "" +"Оскільки всі функції підпроцесів asyncio є асинхронними, а asyncio надає " +"багато інструментів для роботи з такими функціями, легко виконувати та " +"контролювати декілька підпроцесів паралельно. Дійсно тривіально змінити " +"наведений вище приклад для одночасного запуску кількох команд:" + +msgid "See also the `Examples`_ subsection." +msgstr "Дивіться також підрозділ `Examples`_." + +msgid "Creating Subprocesses" +msgstr "Створення підпроцесів" + +msgid "Create a subprocess." +msgstr "Створіть підпроцес." + +msgid "" +"The *limit* argument sets the buffer limit for :class:`StreamReader` " +"wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :attr:" +"`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)." +msgstr "" +"Аргумент *limit* встановлює обмеження буфера для обгорток :class:" +"`StreamReader` для :attr:`Process.stdout` і :attr:`Process.stderr` (якщо :" +"attr:`subprocess.PIPE` передається в *stdout* і *stderr*)." + +msgid "Return a :class:`~asyncio.subprocess.Process` instance." +msgstr "Повертає екземпляр :class:`~asyncio.subprocess.Process`." + +msgid "" +"See the documentation of :meth:`loop.subprocess_exec` for other parameters." +msgstr "" +"Перегляньте документацію :meth:`loop.subprocess_exec` для інших параметрів." + +msgid "Removed the *loop* parameter." +msgstr "Видалено параметр *loop*." + +msgid "Run the *cmd* shell command." +msgstr "Виконайте команду оболонки *cmd*." + +msgid "" +"See the documentation of :meth:`loop.subprocess_shell` for other parameters." +msgstr "" +"Перегляньте документацію :meth:`loop.subprocess_shell` для інших параметрів." + +msgid "" +"It is the application's responsibility to ensure that all whitespace and " +"special characters are quoted appropriately to avoid `shell injection " +"`_ " +"vulnerabilities. The :func:`shlex.quote` function can be used to properly " +"escape whitespace and special shell characters in strings that are going to " +"be used to construct shell commands." +msgstr "" +"Програма несе відповідальність за те, щоб усі пробіли та спеціальні символи " +"були взяті в лапки належним чином, щоб уникнути вразливості `впровадження " +"оболонки `_. " +"Функцію :func:`shlex.quote` можна використати для правильного екранування " +"пробілів і спеціальних символів оболонки в рядках, які використовуватимуться " +"для створення команд оболонки." + +msgid "" +"Subprocesses are available for Windows if a :class:`ProactorEventLoop` is " +"used. See :ref:`Subprocess Support on Windows ` " +"for details." +msgstr "" +"Підпроцеси доступні для Windows, якщо використовується :class:" +"`ProactorEventLoop`. Дивіться :ref:`Підтримку підпроцесів у Windows `, щоб дізнатися більше." + +msgid "" +"asyncio also has the following *low-level* APIs to work with subprocesses: :" +"meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop." +"connect_read_pipe`, :meth:`loop.connect_write_pipe`, as well as the :ref:" +"`Subprocess Transports ` and :ref:`Subprocess " +"Protocols `." +msgstr "" +"asyncio також має такі *низькопівневі* API для роботи з підпроцесами: :meth:" +"`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop." +"connect_read_pipe`, :meth:`loop.connect_write_pipe`, а також :ref:" +"`Транспорти підпроцесів ` і :ref:`Протоколи " +"підпроцесів `." + +msgid "Constants" +msgstr "Константи" + +msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters." +msgstr "Можна передати в параметри *stdin*, *stdout* або *stderr*." + +msgid "" +"If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin ` attribute will point to a :class:`StreamWriter` " +"instance." +msgstr "" +"Якщо *PIPE* передано аргументу *stdin*, атрибут :attr:`Process.stdin " +"` вказуватиме на примірник :class:" +"`StreamWriter`." + +msgid "" +"If *PIPE* is passed to *stdout* or *stderr* arguments, the :attr:`Process." +"stdout ` and :attr:`Process.stderr " +"` attributes will point to :class:" +"`StreamReader` instances." +msgstr "" +"Якщо *PIPE* передано аргументам *stdout* або *stderr*, атрибути :attr:" +"`Process.stdout ` і :attr:`Process.stderr " +"` вказуватимуть на екземпляри :class:" +"`StreamReader`." + +msgid "" +"Special value that can be used as the *stderr* argument and indicates that " +"standard error should be redirected into standard output." +msgstr "" +"Спеціальне значення, яке можна використовувати як аргумент *stderr* і вказує " +"на те, що стандартну помилку слід перенаправляти в стандартний вивід." + +msgid "" +"Special value that can be used as the *stdin*, *stdout* or *stderr* argument " +"to process creation functions. It indicates that the special file :data:`os." +"devnull` will be used for the corresponding subprocess stream." +msgstr "" +"Спеціальне значення, яке можна використовувати як аргумент *stdin*, *stdout* " +"або *stderr* для функцій створення процесу. Це вказує, що спеціальний файл :" +"data:`os.devnull` буде використано для відповідного потоку підпроцесу." + +msgid "Interacting with Subprocesses" +msgstr "Взаємодія з підпроцесами" + +msgid "" +"Both :func:`create_subprocess_exec` and :func:`create_subprocess_shell` " +"functions return instances of the *Process* class. *Process* is a high-" +"level wrapper that allows communicating with subprocesses and watching for " +"their completion." +msgstr "" +"Обидві функції :func:`create_subprocess_exec` і :func:" +"`create_subprocess_shell` повертають екземпляри класу *Process*. *Process* — " +"це високорівнева оболонка, яка дозволяє спілкуватися з підпроцесами та " +"спостерігати за їх завершенням." + +msgid "" +"An object that wraps OS processes created by the :func:" +"`create_subprocess_exec` and :func:`create_subprocess_shell` functions." +msgstr "" +"Об’єкт, який обгортає процеси ОС, створені функціями :func:" +"`create_subprocess_exec` і :func:`create_subprocess_shell`." + +msgid "" +"This class is designed to have a similar API to the :class:`subprocess." +"Popen` class, but there are some notable differences:" +msgstr "" +"Цей клас розроблено таким чином, щоб мати API, подібний до класу :class:" +"`subprocess.Popen`, але є деякі помітні відмінності:" + +msgid "" +"unlike Popen, Process instances do not have an equivalent to the :meth:" +"`~subprocess.Popen.poll` method;" +msgstr "" +"на відміну від Popen, екземпляри Process не мають еквівалента методу :meth:" +"`~subprocess.Popen.poll`;" + +msgid "" +"the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." +"subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" +"func:`~asyncio.wait_for` function;" +msgstr "" + +msgid "" +"the :meth:`Process.wait() ` method is " +"asynchronous, whereas :meth:`subprocess.Popen.wait` method is implemented as " +"a blocking busy loop;" +msgstr "" +"метод :meth:`Process.wait() ` є " +"асинхронним, тоді як метод :meth:`subprocess.Popen.wait` реалізовано як " +"блокуючий цикл зайнятості;" + +msgid "the *universal_newlines* parameter is not supported." +msgstr "параметр *universal_newlines* не підтримується." + +msgid "This class is :ref:`not thread safe `." +msgstr "Цей клас :ref:`не потоково безпечний `." + +msgid "" +"See also the :ref:`Subprocess and Threads ` " +"section." +msgstr "" +"Дивіться також розділ :ref:`Підпроцеси та потоки `." + +msgid "Wait for the child process to terminate." +msgstr "Дочекайтеся завершення дочірнього процесу." + +msgid "Set and return the :attr:`returncode` attribute." +msgstr "Установіть і поверніть атрибут :attr:`returncode`." + +msgid "" +"This method can deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and " +"the child process generates so much output that it blocks waiting for the OS " +"pipe buffer to accept more data. Use the :meth:`communicate` method when " +"using pipes to avoid this condition." +msgstr "" +"Цей метод може призвести до взаємоблокування під час використання " +"``stdout=PIPE`` або ``stderr=PIPE``, і дочірній процес генерує стільки " +"вихідних даних, що він блокує очікування, поки буфер каналу ОС прийме більше " +"даних. Використовуйте метод :meth:`communicate` під час використання " +"каналів, щоб уникнути цієї ситуації." + +msgid "Interact with process:" +msgstr "Взаємодія з процесом:" + +msgid "send data to *stdin* (if *input* is not ``None``);" +msgstr "надсилати дані на *stdin* (якщо *input* не ``None``);" + +msgid "read data from *stdout* and *stderr*, until EOF is reached;" +msgstr "читати дані з *stdout* і *stderr*, доки не буде досягнуто EOF;" + +msgid "wait for process to terminate." +msgstr "дочекайтеся завершення процесу." + +msgid "" +"The optional *input* argument is the data (:class:`bytes` object) that will " +"be sent to the child process." +msgstr "" +"Додатковий *вхідний* аргумент — це дані (об’єкт :class:`bytes`), які будуть " +"надіслані дочірньому процесу." + +msgid "Return a tuple ``(stdout_data, stderr_data)``." +msgstr "Повертає кортеж ``(stdout_data, stderr_data)``." + +msgid "" +"If either :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is " +"raised when writing *input* into *stdin*, the exception is ignored. This " +"condition occurs when the process exits before all data are written into " +"*stdin*." +msgstr "" +"Якщо під час запису *input* у *stdin* виникає виняткова ситуація :exc:" +"`BrokenPipeError` або :exc:`ConnectionResetError`, виняток ігнорується. Ця " +"умова виникає, коли процес завершується до того, як усі дані будуть записані " +"в *stdin*." + +msgid "" +"If it is desired to send data to the process' *stdin*, the process needs to " +"be created with ``stdin=PIPE``. Similarly, to get anything other than " +"``None`` in the result tuple, the process has to be created with " +"``stdout=PIPE`` and/or ``stderr=PIPE`` arguments." +msgstr "" +"Якщо потрібно надіслати дані процесу *stdin*, процес потрібно створити за " +"допомогою ``stdin=PIPE``. Подібним чином, щоб отримати в кортежі результатів " +"щось інше, окрім ``None``, процес має бути створений з аргументами " +"``stdout=PIPE`` та/або ``stderr=PIPE``." + +msgid "" +"Note, that the data read is buffered in memory, so do not use this method if " +"the data size is large or unlimited." +msgstr "" +"Зауважте, що зчитані дані буферизуються в пам’яті, тому не використовуйте " +"цей метод, якщо розмір даних великий або необмежений." + +msgid "Sends the signal *signal* to the child process." +msgstr "Надсилає сигнал *signal* дочірньому процесу." + +msgid "" +"On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. " +"``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " +"with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``." +msgstr "" +"У Windows :py:data:`SIGTERM` є псевдонімом для :meth:`terminate`. " +"``CTRL_C_EVENT`` і ``CTRL_BREAK_EVENT`` можна надсилати процесам, запущеним " +"з параметром *creationflags*, який включає ``CREATE_NEW_PROCESS_GROUP``." + +msgid "Stop the child process." +msgstr "Зупиніть дочірній процес." + +msgid "" +"On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child " +"process." +msgstr "" +"У системах POSIX цей метод надсилає :py:data:`signal.SIGTERM` дочірньому " +"процесу." + +msgid "" +"On Windows the Win32 API function :c:func:`TerminateProcess` is called to " +"stop the child process." +msgstr "" +"У Windows функція Win32 API :c:func:`TerminateProcess` викликається для " +"зупинки дочірнього процесу." + +msgid "Kill the child process." +msgstr "Закрийте дочірній процес." + +msgid "" +"On POSIX systems this method sends :py:data:`SIGKILL` to the child process." +msgstr "" +"У системах POSIX цей метод надсилає :py:data:`SIGKILL` дочірньому процесу." + +msgid "On Windows this method is an alias for :meth:`terminate`." +msgstr "У Windows цей метод є псевдонімом для :meth:`terminate`." + +msgid "" +"Standard input stream (:class:`StreamWriter`) or ``None`` if the process was " +"created with ``stdin=None``." +msgstr "" +"Стандартний вхідний потік (:class:`StreamWriter`) або ``None``, якщо процес " +"було створено за допомогою ``stdin=None``." + +msgid "" +"Standard output stream (:class:`StreamReader`) or ``None`` if the process " +"was created with ``stdout=None``." +msgstr "" +"Стандартний вихідний потік (:class:`StreamReader`) або ``None``, якщо процес " +"було створено за допомогою ``stdout=None``." + +msgid "" +"Standard error stream (:class:`StreamReader`) or ``None`` if the process was " +"created with ``stderr=None``." +msgstr "" +"Стандартний потік помилок (:class:`StreamReader`) або ``None``, якщо процес " +"було створено за допомогою ``stderr=None``." + +msgid "" +"Use the :meth:`communicate` method rather than :attr:`process.stdin.write() " +"`, :attr:`await process.stdout.read() ` or :attr:`await " +"process.stderr.read() `. This avoids deadlocks due to streams " +"pausing reading or writing and blocking the child process." +msgstr "" +"Використовуйте метод :meth:`communicate` замість :attr:`process.stdin." +"write() `, :attr:`await process.stdout.read() ` або :attr:" +"`await process.stderr.read () `. Це дозволяє уникнути " +"взаємоблокувань через те, що потоки призупиняють читання або запис і " +"блокують дочірній процес." + +msgid "Process identification number (PID)." +msgstr "Ідентифікаційний номер процесу (PID)." + +msgid "" +"Note that for processes created by the :func:`create_subprocess_shell` " +"function, this attribute is the PID of the spawned shell." +msgstr "" +"Зауважте, що для процесів, створених функцією :func:" +"`create_subprocess_shell`, цей атрибут є PID створеної оболонки." + +msgid "Return code of the process when it exits." +msgstr "Код повернення процесу під час його завершення." + +msgid "A ``None`` value indicates that the process has not terminated yet." +msgstr "Значення ``None`` вказує на те, що процес ще не завершено." + +msgid "" +"A negative value ``-N`` indicates that the child was terminated by signal " +"``N`` (POSIX only)." +msgstr "" +"Від’ємне значення ``-N`` вказує на те, що дочірній елемент було завершено " +"сигналом ``N`` (лише POSIX)." + +msgid "Subprocess and Threads" +msgstr "Підпроцеси та потоки" + +msgid "" +"Standard asyncio event loop supports running subprocesses from different " +"threads by default." +msgstr "" +"Стандартний асинхронний цикл подій за замовчуванням підтримує виконання " +"підпроцесів з різних потоків." + +msgid "" +"On Windows subprocesses are provided by :class:`ProactorEventLoop` only " +"(default), :class:`SelectorEventLoop` has no subprocess support." +msgstr "" +"У Windows підпроцеси надаються лише :class:`ProactorEventLoop` (за " +"замовчуванням), :class:`SelectorEventLoop` не підтримує підпроцеси." + +msgid "" +"On UNIX *child watchers* are used for subprocess finish waiting, see :ref:" +"`asyncio-watchers` for more info." +msgstr "" +"В UNIX *child watchers* використовуються для очікування завершення " +"підпроцесу, див. :ref:`asyncio-watchers` для отримання додаткової інформації." + +msgid "" +"UNIX switched to use :class:`ThreadedChildWatcher` for spawning subprocesses " +"from different threads without any limitation." +msgstr "" +"UNIX перейшла на використання :class:`ThreadedChildWatcher` для створення " +"підпроцесів з різних потоків без будь-яких обмежень." + +msgid "" +"Spawning a subprocess with *inactive* current child watcher raises :exc:" +"`RuntimeError`." +msgstr "" +"Створення підпроцесу з *неактивним* поточним дочірнім спостерігачем " +"викликає :exc:`RuntimeError`." + +msgid "" +"Note that alternative event loop implementations might have own limitations; " +"please refer to their documentation." +msgstr "" +"Зауважте, що альтернативні реалізації циклу подій можуть мати власні " +"обмеження; зверніться до їх документації." + +msgid "" +"The :ref:`Concurrency and multithreading in asyncio ` section." +msgstr "" +"Розділ :ref:`Параллельність і багатопотоковість в asyncio `." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"An example using the :class:`~asyncio.subprocess.Process` class to control a " +"subprocess and the :class:`StreamReader` class to read from its standard " +"output." +msgstr "" +"Приклад використання класу :class:`~asyncio.subprocess.Process` для " +"керування підпроцесом і класу :class:`StreamReader` для читання зі " +"стандартного виводу." + +msgid "" +"The subprocess is created by the :func:`create_subprocess_exec` function::" +msgstr "Підпроцес створюється функцією :func:`create_subprocess_exec`::" + +msgid "" +"See also the :ref:`same example ` written " +"using low-level APIs." +msgstr "" +"Дивіться також :ref:`той же приклад `, " +"написаний з використанням API низького рівня." diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po new file mode 100644 index 000000000..bb644dc4e --- /dev/null +++ b/library/asyncio-sync.po @@ -0,0 +1,472 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Synchronization Primitives" +msgstr "Примітиви синхронізації" + +msgid "**Source code:** :source:`Lib/asyncio/locks.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncio/locks.py`" + +msgid "" +"asyncio synchronization primitives are designed to be similar to those of " +"the :mod:`threading` module with two important caveats:" +msgstr "" +"Примітиви синхронізації asyncio розроблені таким чином, щоб бути подібними " +"до модулів :mod:`threading` з двома важливими застереженнями:" + +msgid "" +"asyncio primitives are not thread-safe, therefore they should not be used " +"for OS thread synchronization (use :mod:`threading` for that);" +msgstr "" +"примітиви asyncio не є потокобезпечними, тому їх не слід використовувати для " +"синхронізації потоків ОС (для цього використовуйте :mod:`threading`);" + +msgid "" +"methods of these synchronization primitives do not accept the *timeout* " +"argument; use the :func:`asyncio.wait_for` function to perform operations " +"with timeouts." +msgstr "" +"методи цих примітивів синхронізації не приймають аргумент *timeout*; " +"використовуйте функцію :func:`asyncio.wait_for` для виконання операцій із " +"тайм-аутами." + +msgid "asyncio has the following basic synchronization primitives:" +msgstr "asyncio має такі базові примітиви синхронізації:" + +msgid ":class:`Lock`" +msgstr ":class:`Lock`" + +msgid ":class:`Event`" +msgstr ":class:`Event`" + +msgid ":class:`Condition`" +msgstr ":class:`Condition`" + +msgid ":class:`Semaphore`" +msgstr ":class:`Semaphore`" + +msgid ":class:`BoundedSemaphore`" +msgstr ":class:`BoundedSemaphore`" + +msgid ":class:`Barrier`" +msgstr "" + +msgid "Lock" +msgstr "Замок" + +msgid "Implements a mutex lock for asyncio tasks. Not thread-safe." +msgstr "" +"Реалізує блокування м'ютексу для асинхронних завдань. Небезпечно для потоків." + +msgid "" +"An asyncio lock can be used to guarantee exclusive access to a shared " +"resource." +msgstr "" +"Асинхронне блокування можна використовувати, щоб гарантувати ексклюзивний " +"доступ до спільного ресурсу." + +msgid "The preferred way to use a Lock is an :keyword:`async with` statement::" +msgstr "" +"Найкращим способом використання Lock є оператор :keyword:`async with`::" + +msgid "which is equivalent to::" +msgstr "що еквівалентно::" + +msgid "Removed the *loop* parameter." +msgstr "Видалено параметр *loop*." + +msgid "Acquire the lock." +msgstr "Придбайте замок." + +msgid "" +"This method waits until the lock is *unlocked*, sets it to *locked* and " +"returns ``True``." +msgstr "" +"Цей метод очікує, поки блокування буде *розблоковано*, встановлює його на " +"*заблоковано* та повертає ``True``." + +msgid "" +"When more than one coroutine is blocked in :meth:`acquire` waiting for the " +"lock to be unlocked, only one coroutine eventually proceeds." +msgstr "" +"Якщо в :meth:`acquire` заблоковано більше ніж одну співпрограму, яка очікує " +"розблокування блокування, зрештою виконується лише одна співпрограма." + +msgid "" +"Acquiring a lock is *fair*: the coroutine that proceeds will be the first " +"coroutine that started waiting on the lock." +msgstr "" +"Отримання блокування є *чесним*: співпрограма, яка продовжується, буде " +"першою співпрограмою, яка почала очікувати на блокування." + +msgid "Release the lock." +msgstr "Відпустіть замок." + +msgid "When the lock is *locked*, reset it to *unlocked* and return." +msgstr "" +"Коли замок *заблоковано*, скиньте його на *розблоковано* та поверніться." + +msgid "If the lock is *unlocked*, a :exc:`RuntimeError` is raised." +msgstr "Якщо блокування *розблоковано*, виникає :exc:`RuntimeError`." + +msgid "Return ``True`` if the lock is *locked*." +msgstr "Повертає ``True``, якщо блокування *заблоковано*." + +msgid "Event" +msgstr "Подія" + +msgid "An event object. Not thread-safe." +msgstr "Об'єкт події. Небезпечно для потоків." + +msgid "" +"An asyncio event can be used to notify multiple asyncio tasks that some " +"event has happened." +msgstr "" +"Асинхронну подію можна використовувати для сповіщення кількох асинхронних " +"завдань про те, що сталася якась подія." + +msgid "" +"An Event object manages an internal flag that can be set to *true* with the :" +"meth:`~Event.set` method and reset to *false* with the :meth:`clear` " +"method. The :meth:`~Event.wait` method blocks until the flag is set to " +"*true*. The flag is set to *false* initially." +msgstr "" +"Об’єкт Event керує внутрішнім прапором, який можна встановити на *true* за " +"допомогою методу :meth:`~Event.set` і скинути на *false* за допомогою " +"методу :meth:`clear`. Метод :meth:`~Event.wait` блокується, доки прапор не " +"буде встановлено на *true*. Спочатку для прапора встановлено значення " +"*false*." + +msgid "Example::" +msgstr "Приклад::" + +msgid "Wait until the event is set." +msgstr "Дочекайтеся встановлення події." + +msgid "" +"If the event is set, return ``True`` immediately. Otherwise block until " +"another task calls :meth:`~Event.set`." +msgstr "" +"Якщо подія встановлена, негайно поверніть ``True``. Інакше заблокуйте, доки " +"інше завдання не викличе :meth:`~Event.set`." + +msgid "Set the event." +msgstr "Встановити подію." + +msgid "All tasks waiting for event to be set will be immediately awakened." +msgstr "" +"Усі завдання, які очікують встановлення події, будуть негайно активовані." + +msgid "Clear (unset) the event." +msgstr "Очистити (скасувати) подію." + +msgid "" +"Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event." +"set` method is called again." +msgstr "" +"Завдання, що очікують на :meth:`~Event.wait`, тепер блокуватимуться, доки " +"метод :meth:`~Event.set` не буде викликано знову." + +msgid "Return ``True`` if the event is set." +msgstr "Повертає ``True``, якщо подія встановлена." + +msgid "Condition" +msgstr "Хвороба" + +msgid "A Condition object. Not thread-safe." +msgstr "Об’єкт Condition. Небезпечно для потоків." + +msgid "" +"An asyncio condition primitive can be used by a task to wait for some event " +"to happen and then get exclusive access to a shared resource." +msgstr "" +"Примітив асинхронної умови може використовуватися завданням для очікування " +"настання певної події та отримання ексклюзивного доступу до спільного " +"ресурсу." + +msgid "" +"In essence, a Condition object combines the functionality of an :class:" +"`Event` and a :class:`Lock`. It is possible to have multiple Condition " +"objects share one Lock, which allows coordinating exclusive access to a " +"shared resource between different tasks interested in particular states of " +"that shared resource." +msgstr "" +"По суті, об’єкт Condition поєднує функціональні можливості :class:`Event` і :" +"class:`Lock`. Кілька об’єктів Condition можуть використовувати один Lock, що " +"дозволяє координувати ексклюзивний доступ до спільного ресурсу між різними " +"завданнями, зацікавленими в певних станах цього спільного ресурсу." + +msgid "" +"The optional *lock* argument must be a :class:`Lock` object or ``None``. In " +"the latter case a new Lock object is created automatically." +msgstr "" +"Додатковий аргумент *lock* має бути об’єктом :class:`Lock` або ``None``. В " +"останньому випадку новий об’єкт Lock створюється автоматично." + +msgid "" +"The preferred way to use a Condition is an :keyword:`async with` statement::" +msgstr "" +"Найкращим способом використання умови є оператор :keyword:`async with`::" + +msgid "Acquire the underlying lock." +msgstr "Отримайте основний замок." + +msgid "" +"This method waits until the underlying lock is *unlocked*, sets it to " +"*locked* and returns ``True``." +msgstr "" +"Цей метод чекає, доки базове блокування *розблокується*, встановлює його на " +"*locked* і повертає ``True``." + +msgid "" +"Wake up at most *n* tasks (1 by default) waiting on this condition. The " +"method is no-op if no tasks are waiting." +msgstr "" +"Виводити щонайбільше *n* завдань (1 за замовчуванням), що очікують за цієї " +"умови. Метод безопераційний, якщо немає завдань, що очікують." + +msgid "" +"The lock must be acquired before this method is called and released shortly " +"after. If called with an *unlocked* lock a :exc:`RuntimeError` error is " +"raised." +msgstr "" +"Блокування має бути отримано перед викликом цього методу та звільнено " +"незабаром після цього. У разі виклику з *розблокованим* блокуванням виникає " +"помилка :exc:`RuntimeError`." + +msgid "Return ``True`` if the underlying lock is acquired." +msgstr "Повертає ``True``, якщо основне блокування отримано." + +msgid "Wake up all tasks waiting on this condition." +msgstr "Розбудіть усі завдання, що очікують за цієї умови." + +msgid "This method acts like :meth:`notify`, but wakes up all waiting tasks." +msgstr "" +"Цей метод діє як :meth:`notify`, але активує всі завдання, що очікують." + +msgid "Release the underlying lock." +msgstr "Звільніть базовий замок." + +msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." +msgstr "" +"Під час виклику для розблокованого блокування виникає :exc:`RuntimeError`." + +msgid "Wait until notified." +msgstr "Дочекайтеся повідомлення." + +msgid "" +"If the calling task has not acquired the lock when this method is called, a :" +"exc:`RuntimeError` is raised." +msgstr "" +"Якщо завдання, що викликає, не отримало блокування під час виклику цього " +"методу, виникає :exc:`RuntimeError`." + +msgid "" +"This method releases the underlying lock, and then blocks until it is " +"awakened by a :meth:`notify` or :meth:`notify_all` call. Once awakened, the " +"Condition re-acquires its lock and this method returns ``True``." +msgstr "" +"Цей метод знімає основне блокування, а потім блокує, доки його не розбудить " +"виклик :meth:`notify` або :meth:`notify_all`. Після пробудження умова знову " +"блокується, і цей метод повертає ``True``." + +msgid "Wait until a predicate becomes *true*." +msgstr "Зачекайте, поки предикат стане *true*." + +msgid "" +"The predicate must be a callable which result will be interpreted as a " +"boolean value. The final value is the return value." +msgstr "" +"Предикат має бути викликаним, результат якого буде інтерпретуватися як " +"логічне значення. Кінцеве значення є значенням, що повертається." + +msgid "Semaphore" +msgstr "Семафор" + +msgid "A Semaphore object. Not thread-safe." +msgstr "Об'єкт Semaphore. Небезпечно для потоків." + +msgid "" +"A semaphore manages an internal counter which is decremented by each :meth:" +"`acquire` call and incremented by each :meth:`release` call. The counter can " +"never go below zero; when :meth:`acquire` finds that it is zero, it blocks, " +"waiting until some task calls :meth:`release`." +msgstr "" +"Семафор керує внутрішнім лічильником, який зменшується при кожному виклику :" +"meth:`acquire` і збільшується при кожному виклику :meth:`release`. Лічильник " +"ніколи не може опускатися нижче нуля; коли :meth:`acquire` виявляє, що він " +"дорівнює нулю, він блокується, чекаючи, поки якесь завдання викличе :meth:" +"`release`." + +msgid "" +"The optional *value* argument gives the initial value for the internal " +"counter (``1`` by default). If the given value is less than ``0`` a :exc:" +"`ValueError` is raised." +msgstr "" +"Необов’язковий аргумент *value* дає початкове значення для внутрішнього " +"лічильника (``1`` за замовчуванням). Якщо вказане значення менше ніж ``0``, " +"виникає :exc:`ValueError`." + +msgid "" +"The preferred way to use a Semaphore is an :keyword:`async with` statement::" +msgstr "" +"Кращим способом використання семафора є оператор :keyword:`async with`::" + +msgid "Acquire a semaphore." +msgstr "Придбайте семафор." + +msgid "" +"If the internal counter is greater than zero, decrement it by one and return " +"``True`` immediately. If it is zero, wait until a :meth:`release` is called " +"and return ``True``." +msgstr "" +"Якщо внутрішній лічильник більший за нуль, зменште його на одиницю та " +"негайно поверніть ``True``. Якщо він дорівнює нулю, дочекайтеся виклику :" +"meth:`release` і поверніть ``True``." + +msgid "Returns ``True`` if semaphore can not be acquired immediately." +msgstr "Повертає ``True``, якщо семафор не може бути отриманий негайно." + +msgid "" +"Release a semaphore, incrementing the internal counter by one. Can wake up a " +"task waiting to acquire the semaphore." +msgstr "" +"Відпустіть семафор, збільшивши внутрішній лічильник на одиницю. Може " +"розбудити завдання, яке очікує отримання семафора." + +msgid "" +"Unlike :class:`BoundedSemaphore`, :class:`Semaphore` allows making more " +"``release()`` calls than ``acquire()`` calls." +msgstr "" +"На відміну від :class:`BoundedSemaphore`, :class:`Semaphore` дозволяє робити " +"більше викликів ``release()``, ніж викликів ``acquire()``." + +msgid "BoundedSemaphore" +msgstr "Обмежений семафор" + +msgid "A bounded semaphore object. Not thread-safe." +msgstr "Обмежений семафорний об’єкт. Небезпечно для потоків." + +msgid "" +"Bounded Semaphore is a version of :class:`Semaphore` that raises a :exc:" +"`ValueError` in :meth:`~Semaphore.release` if it increases the internal " +"counter above the initial *value*." +msgstr "" +"Обмежений семафор — це версія :class:`Semaphore`, яка викликає :exc:" +"`ValueError` у :meth:`~Semaphore.release`, якщо він збільшує внутрішній " +"лічильник вище початкового *значення*." + +msgid "Barrier" +msgstr "" + +msgid "A barrier object. Not thread-safe." +msgstr "" + +msgid "" +"A barrier is a simple synchronization primitive that allows to block until " +"*parties* number of tasks are waiting on it. Tasks can wait on the :meth:" +"`~Barrier.wait` method and would be blocked until the specified number of " +"tasks end up waiting on :meth:`~Barrier.wait`. At that point all of the " +"waiting tasks would unblock simultaneously." +msgstr "" + +msgid "" +":keyword:`async with` can be used as an alternative to awaiting on :meth:" +"`~Barrier.wait`." +msgstr "" + +msgid "The barrier can be reused any number of times." +msgstr "" + +msgid "Result of this example is::" +msgstr "" + +msgid "" +"Pass the barrier. When all the tasks party to the barrier have called this " +"function, they are all unblocked simultaneously." +msgstr "" + +msgid "" +"When a waiting or blocked task in the barrier is cancelled, this task exits " +"the barrier which stays in the same state. If the state of the barrier is " +"\"filling\", the number of waiting task decreases by 1." +msgstr "" + +msgid "" +"The return value is an integer in the range of 0 to ``parties-1``, different " +"for each task. This can be used to select a task to do some special " +"housekeeping, e.g.::" +msgstr "" + +msgid "" +"This method may raise a :class:`BrokenBarrierError` exception if the barrier " +"is broken or reset while a task is waiting. It could raise a :exc:" +"`CancelledError` if a task is cancelled." +msgstr "" + +msgid "" +"Return the barrier to the default, empty state. Any tasks waiting on it " +"will receive the :class:`BrokenBarrierError` exception." +msgstr "" + +msgid "" +"If a barrier is broken it may be better to just leave it and create a new " +"one." +msgstr "" + +msgid "" +"Put the barrier into a broken state. This causes any active or future calls " +"to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for " +"example if one of the tasks needs to abort, to avoid infinite waiting tasks." +msgstr "" + +msgid "The number of tasks required to pass the barrier." +msgstr "" + +msgid "The number of tasks currently waiting in the barrier while filling." +msgstr "" + +msgid "A boolean that is ``True`` if the barrier is in the broken state." +msgstr "" +"Логічне значення, яке має значення ``True``, якщо бар’єр знаходиться в " +"зламаному стані." + +msgid "" +"This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" +"`Barrier` object is reset or broken." +msgstr "" +"Цей виняток, підклас :exc:`RuntimeError`, виникає, коли об’єкт :class:" +"`Barrier` скидається або зламано." + +msgid "" +"Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:" +"`with` statement (``with await lock``, ``with (yield from lock)``) was " +"removed. Use ``async with lock`` instead." +msgstr "" +"Отримання блокування за допомогою оператора ``await lock`` або ``yield from " +"lock`` та/або :keyword:`with` (``with await lock``, ``with (yield from " +"lock)``) було видалено . Натомість використовуйте ``async with lock``." diff --git a/library/asyncio-task.po b/library/asyncio-task.po new file mode 100644 index 000000000..0ea916288 --- /dev/null +++ b/library/asyncio-task.po @@ -0,0 +1,1219 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Coroutines and Tasks" +msgstr "Співпрограми та завдання" + +msgid "" +"This section outlines high-level asyncio APIs to work with coroutines and " +"Tasks." +msgstr "" +"У цьому розділі описано асинхронні API високого рівня для роботи з " +"співпрограмами та завданнями." + +msgid "Coroutines" +msgstr "Співпрограми" + +msgid "" +":term:`Coroutines ` declared with the async/await syntax is the " +"preferred way of writing asyncio applications. For example, the following " +"snippet of code prints \"hello\", waits 1 second, and then prints \"world\"::" +msgstr "" +":term:`Coroutines `, оголошений із синтаксисом async/await, є " +"кращим способом написання асинхронних програм. Наприклад, наступний фрагмент " +"коду друкує \"hello\", чекає 1 секунду, а потім друкує \"world\"::" + +msgid "" +"Note that simply calling a coroutine will not schedule it to be executed::" +msgstr "Зауважте, що простий виклик співпрограми не запланує її виконання:" + +msgid "To actually run a coroutine, asyncio provides the following mechanisms:" +msgstr "" + +msgid "" +"The :func:`asyncio.run` function to run the top-level entry point \"main()\" " +"function (see the above example.)" +msgstr "" +"Функція :func:`asyncio.run` для запуску функції точки входу верхнього рівня " +"\"main()\" (див. приклад вище)." + +msgid "" +"Awaiting on a coroutine. The following snippet of code will print \"hello\" " +"after waiting for 1 second, and then print \"world\" after waiting for " +"*another* 2 seconds::" +msgstr "" +"Очікування співпрограми. Наступний фрагмент коду надрукує \"привіт\" після " +"очікування 1 секунду, а потім надрукує \"світ\" після очікування *ще* 2 " +"секунди::" + +msgid "Expected output::" +msgstr "Очікуваний результат::" + +msgid "" +"The :func:`asyncio.create_task` function to run coroutines concurrently as " +"asyncio :class:`Tasks `." +msgstr "" +"Функція :func:`asyncio.create_task` для одночасного запуску співпрограм як " +"asyncio :class:`Tasks `." + +msgid "" +"Let's modify the above example and run two ``say_after`` coroutines " +"*concurrently*::" +msgstr "" +"Давайте змінимо наведений вище приклад і запустимо дві співпрограми " +"``say_after`` *одночасно*::" + +msgid "" +"Note that expected output now shows that the snippet runs 1 second faster " +"than before::" +msgstr "" +"Зауважте, що очікуваний вихід тепер показує, що фрагмент працює на 1 секунду " +"швидше, ніж раніше:" + +msgid "" +"The :class:`asyncio.TaskGroup` class provides a more modern alternative to :" +"func:`create_task`. Using this API, the last example becomes::" +msgstr "" + +msgid "The timing and output should be the same as for the previous version." +msgstr "" + +msgid ":class:`asyncio.TaskGroup`." +msgstr "" + +msgid "Awaitables" +msgstr "очікування" + +msgid "" +"We say that an object is an **awaitable** object if it can be used in an :" +"keyword:`await` expression. Many asyncio APIs are designed to accept " +"awaitables." +msgstr "" +"Ми кажемо, що об’єкт є **очікуваним** об’єктом, якщо його можна " +"використовувати у виразі :keyword:`await`. Багато асинхронних API розроблено " +"для прийняття очікуваних." + +msgid "" +"There are three main types of *awaitable* objects: **coroutines**, " +"**Tasks**, and **Futures**." +msgstr "" +"Існує три основних типи *очікуваних* об’єктів: **співпрограми**, " +"**Завдання** та **Ф’ючерси**." + +msgid "" +"Python coroutines are *awaitables* and therefore can be awaited from other " +"coroutines::" +msgstr "" +"Співпрограми Python є *очікуваними*, тому їх можна очікувати від інших " +"співпрограм:" + +msgid "" +"In this documentation the term \"coroutine\" can be used for two closely " +"related concepts:" +msgstr "" +"У цій документації термін \"співпрограма\" може використовуватися для двох " +"тісно пов’язаних понять:" + +msgid "a *coroutine function*: an :keyword:`async def` function;" +msgstr "*співпрограма*: функція :keyword:`async def`;" + +msgid "" +"a *coroutine object*: an object returned by calling a *coroutine function*." +msgstr "" +"*об’єкт співпрограми*: об’єкт, повернутий викликом *функції співпрограми*." + +msgid "Tasks" +msgstr "завдання" + +msgid "*Tasks* are used to schedule coroutines *concurrently*." +msgstr "*Завдання* використовуються для *одночасного* планування співпрограм." + +msgid "" +"When a coroutine is wrapped into a *Task* with functions like :func:`asyncio." +"create_task` the coroutine is automatically scheduled to run soon::" +msgstr "" +"Коли співпрограму загорнуто в *Task* із такими функціями, як :func:`asyncio." +"create_task`, співпрограма автоматично планується для незабаром:" + +msgid "Futures" +msgstr "Ф'ючерси" + +msgid "" +"A :class:`Future` is a special **low-level** awaitable object that " +"represents an **eventual result** of an asynchronous operation." +msgstr "" +":class:`Future` — це спеціальний **низькорівневий** очікуваний об’єкт, який " +"представляє **кінцевий результат** асинхронної операції." + +msgid "" +"When a Future object is *awaited* it means that the coroutine will wait " +"until the Future is resolved in some other place." +msgstr "" +"Коли об’єкт Future *очікується*, це означає, що співпрограма чекатиме, поки " +"Future не буде дозволено в іншому місці." + +msgid "" +"Future objects in asyncio are needed to allow callback-based code to be used " +"with async/await." +msgstr "" +"Майбутні об’єкти в asyncio потрібні для того, щоб код на основі зворотного " +"виклику використовувався з async/await." + +msgid "" +"Normally **there is no need** to create Future objects at the application " +"level code." +msgstr "" +"Зазвичай **немає необхідності** створювати об’єкти Future на рівні програми." + +msgid "" +"Future objects, sometimes exposed by libraries and some asyncio APIs, can be " +"awaited::" +msgstr "" +"Майбутні об’єкти, іноді доступні бібліотеками та деякими асинхронними API, " +"можна очікувати:" + +msgid "" +"A good example of a low-level function that returns a Future object is :meth:" +"`loop.run_in_executor`." +msgstr "" +"Хорошим прикладом функції низького рівня, яка повертає об’єкт Future, є :" +"meth:`loop.run_in_executor`." + +msgid "Creating Tasks" +msgstr "Створення завдань" + +msgid "" +"Wrap the *coro* :ref:`coroutine ` into a :class:`Task` and " +"schedule its execution. Return the Task object." +msgstr "" +"Загорніть *coro* :ref:`coroutine ` в :class:`Task` і заплануйте " +"його виконання. Повернути об’єкт Task." + +msgid "" +"If *name* is not ``None``, it is set as the name of the task using :meth:" +"`Task.set_name`." +msgstr "" +"Якщо *name* не є ``None``, воно встановлюється як назва завдання за " +"допомогою :meth:`Task.set_name`." + +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *coro* to run in. The current context " +"copy is created when no *context* is provided." +msgstr "" + +msgid "" +"The task is executed in the loop returned by :func:`get_running_loop`, :exc:" +"`RuntimeError` is raised if there is no running loop in current thread." +msgstr "" +"Завдання виконується в циклі, який повертає :func:`get_running_loop`, :exc:" +"`RuntimeError` виникає, якщо в поточному потоці немає запущеного циклу." + +msgid "" +":meth:`asyncio.TaskGroup.create_task` is a newer alternative that allows for " +"convenient waiting for a group of related tasks." +msgstr "" + +msgid "" +"Save a reference to the result of this function, to avoid a task " +"disappearing mid-execution. The event loop only keeps weak references to " +"tasks. A task that isn't referenced elsewhere may get garbage collected at " +"any time, even before it's done. For reliable \"fire-and-forget\" background " +"tasks, gather them in a collection::" +msgstr "" + +msgid "Added the *name* parameter." +msgstr "Додано параметр *name*." + +msgid "Added the *context* parameter." +msgstr "" + +msgid "Task Cancellation" +msgstr "" + +msgid "" +"Tasks can easily and safely be cancelled. When a task is cancelled, :exc:" +"`asyncio.CancelledError` will be raised in the task at the next opportunity." +msgstr "" + +msgid "" +"It is recommended that coroutines use ``try/finally`` blocks to robustly " +"perform clean-up logic. In case :exc:`asyncio.CancelledError` is explicitly " +"caught, it should generally be propagated when clean-up is complete. Most " +"code can safely ignore :exc:`asyncio.CancelledError`." +msgstr "" + +msgid "" +"The asyncio components that enable structured concurrency, like :class:" +"`asyncio.TaskGroup` and :func:`asyncio.timeout`, are implemented using " +"cancellation internally and might misbehave if a coroutine swallows :exc:" +"`asyncio.CancelledError`. Similarly, user code should not call :meth:" +"`uncancel `." +msgstr "" + +msgid "Task Groups" +msgstr "" + +msgid "" +"Task groups combine a task creation API with a convenient and reliable way " +"to wait for all tasks in the group to finish." +msgstr "" + +msgid "" +"An :ref:`asynchronous context manager ` holding a " +"group of tasks. Tasks can be added to the group using :meth:`create_task`. " +"All tasks are awaited when the context manager exits." +msgstr "" + +msgid "" +"Create a task in this task group. The signature matches that of :func:" +"`asyncio.create_task`." +msgstr "" + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"The ``async with`` statement will wait for all tasks in the group to finish. " +"While waiting, new tasks may still be added to the group (for example, by " +"passing ``tg`` into one of the coroutines and calling ``tg.create_task()`` " +"in that coroutine). Once the last task has finished and the ``async with`` " +"block is exited, no new tasks may be added to the group." +msgstr "" + +msgid "" +"The first time any of the tasks belonging to the group fails with an " +"exception other than :exc:`asyncio.CancelledError`, the remaining tasks in " +"the group are cancelled. No further tasks can then be added to the group. At " +"this point, if the body of the ``async with`` statement is still active (i." +"e., :meth:`~object.__aexit__` hasn't been called yet), the task directly " +"containing the ``async with`` statement is also cancelled. The resulting :" +"exc:`asyncio.CancelledError` will interrupt an ``await``, but it will not " +"bubble out of the containing ``async with`` statement." +msgstr "" + +msgid "" +"Once all tasks have finished, if any tasks have failed with an exception " +"other than :exc:`asyncio.CancelledError`, those exceptions are combined in " +"an :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup` (as appropriate; see " +"their documentation) which is then raised." +msgstr "" + +msgid "" +"Two base exceptions are treated specially: If any task fails with :exc:" +"`KeyboardInterrupt` or :exc:`SystemExit`, the task group still cancels the " +"remaining tasks and waits for them, but then the initial :exc:" +"`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead of :exc:" +"`ExceptionGroup` or :exc:`BaseExceptionGroup`." +msgstr "" + +msgid "" +"If the body of the ``async with`` statement exits with an exception (so :" +"meth:`~object.__aexit__` is called with an exception set), this is treated " +"the same as if one of the tasks failed: the remaining tasks are cancelled " +"and then waited for, and non-cancellation exceptions are grouped into an " +"exception group and raised. The exception passed into :meth:`~object." +"__aexit__`, unless it is :exc:`asyncio.CancelledError`, is also included in " +"the exception group. The same special case is made for :exc:" +"`KeyboardInterrupt` and :exc:`SystemExit` as in the previous paragraph." +msgstr "" + +msgid "Sleeping" +msgstr "спить" + +msgid "Block for *delay* seconds." +msgstr "Блокувати на *затримку* секунд." + +msgid "" +"If *result* is provided, it is returned to the caller when the coroutine " +"completes." +msgstr "" +"Якщо надано *результат*, він повертається абоненту після завершення " +"співпрограми." + +msgid "" +"``sleep()`` always suspends the current task, allowing other tasks to run." +msgstr "" +"``sleep()`` завжди призупиняє поточне завдання, дозволяючи виконувати інші " +"завдання." + +msgid "" +"Setting the delay to 0 provides an optimized path to allow other tasks to " +"run. This can be used by long-running functions to avoid blocking the event " +"loop for the full duration of the function call." +msgstr "" +"Встановлення затримки на 0 забезпечує оптимізований шлях для виконання інших " +"завдань. Це може бути використано функціями, які довго виконуються, щоб " +"уникнути блокування циклу подій протягом повної тривалості виклику функції." + +msgid "" +"Example of coroutine displaying the current date every second for 5 seconds::" +msgstr "" +"Приклад співпрограми, що відображає поточну дату кожну секунду протягом 5 " +"секунд:" + +msgid "Removed the *loop* parameter." +msgstr "Видалено параметр *loop*." + +msgid "Running Tasks Concurrently" +msgstr "Одночасне виконання завдань" + +msgid "" +"Run :ref:`awaitable objects ` in the *aws* sequence " +"*concurrently*." +msgstr "" +"Запустіть :ref:`waitable objects ` у послідовності *aws* " +"*одночасно*." + +msgid "" +"If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " +"Task." +msgstr "" +"Якщо будь-який awaitable у *aws* є співпрограмою, він автоматично " +"запланований як завдання." + +msgid "" +"If all awaitables are completed successfully, the result is an aggregate " +"list of returned values. The order of result values corresponds to the " +"order of awaitables in *aws*." +msgstr "" +"Якщо всі очікування виконано успішно, результатом буде зведений список " +"повернутих значень. Порядок значень результатів відповідає порядку " +"очікуваних значень у *aws*." + +msgid "" +"If *return_exceptions* is ``False`` (default), the first raised exception is " +"immediately propagated to the task that awaits on ``gather()``. Other " +"awaitables in the *aws* sequence **won't be cancelled** and will continue to " +"run." +msgstr "" +"Якщо *return_exceptions* має значення ``False`` (за замовчуванням), перший " +"викликаний виняток негайно поширюється на завдання, яке очікує на " +"``gather()``. Інші очікування в послідовності *aws* **не будуть скасовані** " +"і продовжуватимуть працювати." + +msgid "" +"If *return_exceptions* is ``True``, exceptions are treated the same as " +"successful results, and aggregated in the result list." +msgstr "" +"Якщо *return_exceptions* має значення ``True``, винятки обробляються так " +"само, як успішні результати, і агрегуються в списку результатів." + +msgid "" +"If ``gather()`` is *cancelled*, all submitted awaitables (that have not " +"completed yet) are also *cancelled*." +msgstr "" +"Якщо ``gather()`` *скасовано*, усі надіслані очікування (які ще не " +"завершені) також *скасуються*." + +msgid "" +"If any Task or Future from the *aws* sequence is *cancelled*, it is treated " +"as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " +"cancelled in this case. This is to prevent the cancellation of one " +"submitted Task/Future to cause other Tasks/Futures to be cancelled." +msgstr "" +"Якщо будь-яке завдання або майбутнє з послідовності *aws* *скасовано*, воно " +"розглядається як викликане :exc:`CancelledError` -- у цьому випадку виклик " +"``gather()`` **не** скасовується . Це робиться для того, щоб запобігти " +"скасуванню одного поданого Завдання/Майбутнього, що спричинить скасування " +"інших Завдань/Ф’ючерсів." + +msgid "" +"A more modern way to create and run tasks concurrently and wait for their " +"completion is :class:`asyncio.TaskGroup`." +msgstr "" + +msgid "" +"If *return_exceptions* is False, cancelling gather() after it has been " +"marked done won't cancel any submitted awaitables. For instance, gather can " +"be marked done after propagating an exception to the caller, therefore, " +"calling ``gather.cancel()`` after catching an exception (raised by one of " +"the awaitables) from gather won't cancel any other awaitables." +msgstr "" +"Якщо *return_exceptions* має значення False, скасування gather() після того, " +"як його було позначено як виконане, не скасує жодних надісланих очікувань. " +"Наприклад, gather можна позначити як виконане після передачі винятку " +"викликаючому, отже, виклик ``gather.cancel()`` після перехоплення винятку " +"(викликаного одним із очікуваних) від gather не скасує жодних інших " +"очікуваних." + +msgid "" +"If the *gather* itself is cancelled, the cancellation is propagated " +"regardless of *return_exceptions*." +msgstr "" +"Якщо сам *gather* скасовано, скасування поширюється незалежно від " +"*return_exceptions*." + +msgid "" +"Deprecation warning is emitted if no positional arguments are provided or " +"not all positional arguments are Future-like objects and there is no running " +"event loop." +msgstr "" +"Якщо не надано позиційних аргументів або не всі позиційні аргументи є Future-" +"подібними об’єктами, і немає запущеного циклу подій, видається попередження " +"про застаріле." + +msgid "Shielding From Cancellation" +msgstr "Захист від скасування" + +msgid "" +"Protect an :ref:`awaitable object ` from being :meth:" +"`cancelled `." +msgstr "" +"Захист :ref:`очікуваного об’єкта ` від :meth:`скасування " +"`." + +msgid "If *aw* is a coroutine it is automatically scheduled as a Task." +msgstr "Якщо *aw* є співпрограмою, вона автоматично запланована як завдання." + +msgid "The statement::" +msgstr "Заява::" + +msgid "is equivalent to::" +msgstr "еквівалентно::" + +msgid "" +"*except* that if the coroutine containing it is cancelled, the Task running " +"in ``something()`` is not cancelled. From the point of view of " +"``something()``, the cancellation did not happen. Although its caller is " +"still cancelled, so the \"await\" expression still raises a :exc:" +"`CancelledError`." +msgstr "" +"*за винятком* того, що якщо співпрограму, яка містить його, скасовується, " +"Завдання, що виконується в ``something()``, не скасовується. З точки зору " +"``something()``, скасування не відбулося. Хоча його виклик все ще скасовано, " +"тому вираз \"чекати\" все ще викликає :exc:`CancelledError`." + +msgid "" +"If ``something()`` is cancelled by other means (i.e. from within itself) " +"that would also cancel ``shield()``." +msgstr "" +"Якщо ``something()`` скасовано іншими засобами (тобто зсередини), це також " +"скасує ``shield()``." + +msgid "" +"If it is desired to completely ignore cancellation (not recommended) the " +"``shield()`` function should be combined with a try/except clause, as " +"follows::" +msgstr "" +"Якщо потрібно повністю ігнорувати скасування (не рекомендовано), функцію " +"``shield()`` слід поєднати з реченням try/except, як показано нижче:" + +msgid "" +"Save a reference to tasks passed to this function, to avoid a task " +"disappearing mid-execution. The event loop only keeps weak references to " +"tasks. A task that isn't referenced elsewhere may get garbage collected at " +"any time, even before it's done." +msgstr "" + +msgid "" +"Deprecation warning is emitted if *aw* is not Future-like object and there " +"is no running event loop." +msgstr "" +"Якщо *aw* не є Future-подібним об’єктом і немає запущеного циклу подій, " +"видається попередження про застаріння." + +msgid "Timeouts" +msgstr "Тайм-аути" + +msgid "" +"An :ref:`asynchronous context manager ` that can be " +"used to limit the amount of time spent waiting on something." +msgstr "" + +msgid "" +"*delay* can either be ``None``, or a float/int number of seconds to wait. If " +"*delay* is ``None``, no time limit will be applied; this can be useful if " +"the delay is unknown when the context manager is created." +msgstr "" + +msgid "" +"In either case, the context manager can be rescheduled after creation using :" +"meth:`Timeout.reschedule`." +msgstr "" + +msgid "" +"If ``long_running_task`` takes more than 10 seconds to complete, the context " +"manager will cancel the current task and handle the resulting :exc:`asyncio." +"CancelledError` internally, transforming it into an :exc:`asyncio." +"TimeoutError` which can be caught and handled." +msgstr "" + +msgid "" +"The :func:`asyncio.timeout` context manager is what transforms the :exc:" +"`asyncio.CancelledError` into an :exc:`asyncio.TimeoutError`, which means " +"the :exc:`asyncio.TimeoutError` can only be caught *outside* of the context " +"manager." +msgstr "" + +msgid "Example of catching :exc:`asyncio.TimeoutError`::" +msgstr "" + +msgid "" +"The context manager produced by :func:`asyncio.timeout` can be rescheduled " +"to a different deadline and inspected." +msgstr "" + +msgid "" +"An :ref:`asynchronous context manager ` that limits " +"time spent inside of it." +msgstr "" + +msgid "" +"Return the current deadline, or ``None`` if the current deadline is not set." +msgstr "" + +msgid "" +"The deadline is a float, consistent with the time returned by :meth:`loop." +"time`." +msgstr "" + +msgid "Change the time the timeout will trigger." +msgstr "" + +msgid "" +"If *when* is ``None``, any current deadline will be removed, and the context " +"manager will wait indefinitely." +msgstr "" + +msgid "If *when* is a float, it is set as the new deadline." +msgstr "" + +msgid "" +"if *when* is in the past, the timeout will trigger on the next iteration of " +"the event loop." +msgstr "" + +msgid "Return whether the context manager has exceeded its deadline (expired)." +msgstr "" + +msgid "Timeout context managers can be safely nested." +msgstr "" + +msgid "" +"Similar to :func:`asyncio.timeout`, except *when* is the absolute time to " +"stop waiting, or ``None``." +msgstr "" + +msgid "" +"Wait for the *aw* :ref:`awaitable ` to complete with a " +"timeout." +msgstr "" +"Зачекайте, поки *aw* :ref:`awaitable ` завершиться з " +"тайм-аутом." + +msgid "" +"*timeout* can either be ``None`` or a float or int number of seconds to wait " +"for. If *timeout* is ``None``, block until the future completes." +msgstr "" +"*timeout* може бути або ``None``, або числом секунд для очікування з " +"плаваючою точкою або int. Якщо *timeout* має значення ``None``, блокуйте до " +"завершення майбутнього." + +msgid "" +"If a timeout occurs, it cancels the task and raises :exc:`TimeoutError`." +msgstr "" + +msgid "" +"To avoid the task :meth:`cancellation `, wrap it in :func:" +"`shield`." +msgstr "" +"Щоб уникнути завдання :meth:`скасування `, загорніть його в :" +"func:`shield`." + +msgid "" +"The function will wait until the future is actually cancelled, so the total " +"wait time may exceed the *timeout*. If an exception happens during " +"cancellation, it is propagated." +msgstr "" +"Функція чекатиме, доки майбутнє фактично не буде скасовано, тому загальний " +"час очікування може перевищити *тайм-аут*. Якщо під час скасування виникає " +"виняток, він поширюється." + +msgid "If the wait is cancelled, the future *aw* is also cancelled." +msgstr "Якщо очікування скасовується, майбутнє *aw* також скасовується." + +msgid "" +"When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " +"cancelled. Previously, it raised :exc:`TimeoutError` immediately." +msgstr "" + +msgid "Waiting Primitives" +msgstr "Очікування примітивів" + +msgid "" +"Run :class:`~asyncio.Future` and :class:`~asyncio.Task` instances in the " +"*aws* iterable concurrently and block until the condition specified by " +"*return_when*." +msgstr "" + +msgid "The *aws* iterable must not be empty." +msgstr "Ітерація *aws* не має бути порожньою." + +msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." +msgstr "Повертає два набори Tasks/Futures: ``(done, pending)``." + +msgid "Usage::" +msgstr "Використання::" + +msgid "" +"*timeout* (a float or int), if specified, can be used to control the maximum " +"number of seconds to wait before returning." +msgstr "" +"*timeout* (float або int), якщо вказано, можна використовувати для керування " +"максимальною кількістю секунд очікування перед поверненням." + +msgid "" +"Note that this function does not raise :exc:`TimeoutError`. Futures or Tasks " +"that aren't done when the timeout occurs are simply returned in the second " +"set." +msgstr "" + +msgid "" +"*return_when* indicates when this function should return. It must be one of " +"the following constants:" +msgstr "" +"*return_when* вказує, коли ця функція має повернутися. Це має бути одна з " +"таких констант:" + +msgid "Constant" +msgstr "Постійний" + +msgid "Description" +msgstr "опис" + +msgid ":const:`FIRST_COMPLETED`" +msgstr ":const:`FIRST_COMPLETED`" + +msgid "The function will return when any future finishes or is cancelled." +msgstr "" +"Функція повернеться, коли будь-який майбутній завершиться або буде скасовано." + +msgid ":const:`FIRST_EXCEPTION`" +msgstr ":const:`FIRST_EXCEPTION`" + +msgid "" +"The function will return when any future finishes by raising an exception. " +"If no future raises an exception then it is equivalent to :const:" +"`ALL_COMPLETED`." +msgstr "" +"Функція повернеться, коли будь-який майбутній завершиться, викликавши " +"виняток. Якщо жодне майбутнє не викликає винятку, це еквівалентно :const:" +"`ALL_COMPLETED`." + +msgid ":const:`ALL_COMPLETED`" +msgstr ":const:`ALL_COMPLETED`" + +msgid "The function will return when all futures finish or are cancelled." +msgstr "" +"Функція повернеться, коли всі ф’ючерси закінчаться або будуть скасовані." + +msgid "" +"Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " +"when a timeout occurs." +msgstr "" +"На відміну від :func:`~asyncio.wait_for`, ``wait()`` не скасовує ф’ючерси, " +"коли настає тайм-аут." + +msgid "Passing coroutine objects to ``wait()`` directly is forbidden." +msgstr "" + +msgid "" +"Run :ref:`awaitable objects ` in the *aws* iterable " +"concurrently. Return an iterator of coroutines. Each coroutine returned can " +"be awaited to get the earliest next result from the iterable of the " +"remaining awaitables." +msgstr "" +"Запустіть :ref:`waitable objects ` в *aws* iterable " +"одночасно. Повертає ітератор співпрограм. Кожну повернуту співпрограму можна " +"очікувати, щоб отримати найраніший наступний результат із ітерації решти " +"очікуваних." + +msgid "" +"Raises :exc:`TimeoutError` if the timeout occurs before all Futures are done." +msgstr "" + +msgid "" +"Deprecation warning is emitted if not all awaitable objects in the *aws* " +"iterable are Future-like objects and there is no running event loop." +msgstr "" +"Якщо не всі очікувані об’єкти в *aws* iterable є об’єктами, подібними до " +"майбутнього, і немає запущеного циклу подій, видається попередження про " +"застаріле." + +msgid "Running in Threads" +msgstr "Запуск у потоках" + +msgid "Asynchronously run function *func* in a separate thread." +msgstr "Асинхронний запуск функції *func* в окремому потоці." + +msgid "" +"Any \\*args and \\*\\*kwargs supplied for this function are directly passed " +"to *func*. Also, the current :class:`contextvars.Context` is propagated, " +"allowing context variables from the event loop thread to be accessed in the " +"separate thread." +msgstr "" +"Будь-які \\*args і \\*\\*kwargs, надані для цієї функції, безпосередньо " +"передаються до *func*. Крім того, поточний :class:`contextvars.Context` " +"поширюється, дозволяючи доступ до змінних контексту з потоку циклу подій в " +"окремому потоці." + +msgid "" +"Return a coroutine that can be awaited to get the eventual result of *func*." +msgstr "" +"Повертає співпрограму, яку можна очікувати, щоб отримати кінцевий результат " +"*func*." + +msgid "" +"This coroutine function is primarily intended to be used for executing IO-" +"bound functions/methods that would otherwise block the event loop if they " +"were run in the main thread. For example::" +msgstr "" + +msgid "" +"Directly calling ``blocking_io()`` in any coroutine would block the event " +"loop for its duration, resulting in an additional 1 second of run time. " +"Instead, by using ``asyncio.to_thread()``, we can run it in a separate " +"thread without blocking the event loop." +msgstr "" + +msgid "" +"Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " +"to make IO-bound functions non-blocking. However, for extension modules that " +"release the GIL or alternative Python implementations that don't have one, " +"``asyncio.to_thread()`` can also be used for CPU-bound functions." +msgstr "" + +msgid "Scheduling From Other Threads" +msgstr "Планування з інших потоків" + +msgid "Submit a coroutine to the given event loop. Thread-safe." +msgstr "Надішліть співпрограму в заданий цикл подій. Ниткобезпечний." + +msgid "" +"Return a :class:`concurrent.futures.Future` to wait for the result from " +"another OS thread." +msgstr "" +"Поверніть :class:`concurrent.futures.Future`, щоб дочекатися результату від " +"іншого потоку ОС." + +msgid "" +"This function is meant to be called from a different OS thread than the one " +"where the event loop is running. Example::" +msgstr "" +"Цю функцію призначено для виклику з потоку ОС, відмінного від того, у якому " +"виконується цикл подій. Приклад::" + +msgid "" +"If an exception is raised in the coroutine, the returned Future will be " +"notified. It can also be used to cancel the task in the event loop::" +msgstr "" +"Якщо в співпрограмі виникає виняток, буде повідомлено про повернутий Future. " +"Його також можна використовувати для скасування завдання в циклі подій::" + +msgid "" +"See the :ref:`concurrency and multithreading ` " +"section of the documentation." +msgstr "" +"Перегляньте розділ :ref:`паралелізм і багатопотоковість ` документації." + +msgid "" +"Unlike other asyncio functions this function requires the *loop* argument to " +"be passed explicitly." +msgstr "" +"На відміну від інших асинхронних функцій, ця функція вимагає явної передачі " +"аргументу *loop*." + +msgid "Introspection" +msgstr "самоаналіз" + +msgid "" +"Return the currently running :class:`Task` instance, or ``None`` if no task " +"is running." +msgstr "" +"Повертає поточний екземпляр :class:`Task` або ``None``, якщо жодне завдання " +"не виконується." + +msgid "" +"If *loop* is ``None`` :func:`get_running_loop` is used to get the current " +"loop." +msgstr "" +"Якщо *loop* має значення ``None`` :func:`get_running_loop` використовується " +"для отримання поточного циклу." + +msgid "Return a set of not yet finished :class:`Task` objects run by the loop." +msgstr "" +"Повертає набір ще не завершених об’єктів :class:`Task`, які виконуються " +"циклом." + +msgid "" +"If *loop* is ``None``, :func:`get_running_loop` is used for getting current " +"loop." +msgstr "" +"Якщо *loop* має значення ``None``, :func:`get_running_loop` використовується " +"для отримання поточного циклу." + +msgid "Task Object" +msgstr "Об'єкт завдання" + +msgid "" +"A :class:`Future-like ` object that runs a Python :ref:`coroutine " +"`. Not thread-safe." +msgstr "" +"Об’єкт :class:`подібний до майбутнього `, який запускає :ref:" +"`сопрограму Python `. Небезпечно для потоків." + +msgid "" +"Tasks are used to run coroutines in event loops. If a coroutine awaits on a " +"Future, the Task suspends the execution of the coroutine and waits for the " +"completion of the Future. When the Future is *done*, the execution of the " +"wrapped coroutine resumes." +msgstr "" +"Завдання використовуються для виконання співпрограм у циклах подій. Якщо " +"співпрограма очікує на Future, Завдання призупиняє виконання співпрограми та " +"чекає завершення Future. Коли Future *done*, виконання загорнутої " +"співпрограми відновлюється." + +msgid "" +"Event loops use cooperative scheduling: an event loop runs one Task at a " +"time. While a Task awaits for the completion of a Future, the event loop " +"runs other Tasks, callbacks, or performs IO operations." +msgstr "" +"Цикли подій використовують кооперативне планування: цикл подій виконує одне " +"завдання за раз. Поки Завдання очікує завершення Майбутнього, цикл подій " +"запускає інші Завдання, зворотні виклики або виконує операції введення-" +"виведення." + +msgid "" +"Use the high-level :func:`asyncio.create_task` function to create Tasks, or " +"the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " +"Manual instantiation of Tasks is discouraged." +msgstr "" +"Використовуйте функцію високого рівня :func:`asyncio.create_task` для " +"створення завдань або функції низького рівня :meth:`loop.create_task` або :" +"func:`ensure_future`. Не рекомендується створювати завдання вручну." + +msgid "" +"To cancel a running Task use the :meth:`cancel` method. Calling it will " +"cause the Task to throw a :exc:`CancelledError` exception into the wrapped " +"coroutine. If a coroutine is awaiting on a Future object during " +"cancellation, the Future object will be cancelled." +msgstr "" +"Щоб скасувати запущене завдання, використовуйте метод :meth:`cancel`. Його " +"виклик призведе до того, що завдання створить виняток :exc:`CancelledError` " +"у загорнутій співпрограмі. Якщо співпрограма очікує на об’єкті Future під " +"час скасування, об’єкт Future буде скасовано." + +msgid "" +":meth:`cancelled` can be used to check if the Task was cancelled. The method " +"returns ``True`` if the wrapped coroutine did not suppress the :exc:" +"`CancelledError` exception and was actually cancelled." +msgstr "" +":meth:`cancelled` можна використовувати, щоб перевірити, чи було скасовано " +"завдання. Метод повертає ``True``, якщо загорнута співпрограма не придушила " +"виняток :exc:`CancelledError` і була фактично скасована." + +msgid "" +":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" +"meth:`Future.set_result` and :meth:`Future.set_exception`." +msgstr "" +":class:`asyncio.Task` успадковує від :class:`Future` усі його API, крім :" +"meth:`Future.set_result` і :meth:`Future.set_exception`." + +msgid "" +"Tasks support the :mod:`contextvars` module. When a Task is created it " +"copies the current context and later runs its coroutine in the copied " +"context." +msgstr "" +"Завдання підтримують модуль :mod:`contextvars`. Коли завдання створюється, " +"воно копіює поточний контекст і пізніше виконує свою співпрограму в " +"скопійованому контексті." + +msgid "Added support for the :mod:`contextvars` module." +msgstr "Додано підтримку модуля :mod:`contextvars`." + +msgid "" +"Deprecation warning is emitted if *loop* is not specified and there is no " +"running event loop." +msgstr "" +"Якщо *loop* не вказано і немає запущеного циклу подій, видається " +"попередження про застаріле." + +msgid "Return ``True`` if the Task is *done*." +msgstr "Повертає ``True``, якщо завдання *виконано*." + +msgid "" +"A Task is *done* when the wrapped coroutine either returned a value, raised " +"an exception, or the Task was cancelled." +msgstr "" +"Завдання вважається *виконаним*, коли загорнута співпрограма або повернула " +"значення, викликала виняток, або завдання було скасовано." + +msgid "Return the result of the Task." +msgstr "Повернути результат Завдання." + +msgid "" +"If the Task is *done*, the result of the wrapped coroutine is returned (or " +"if the coroutine raised an exception, that exception is re-raised.)" +msgstr "" +"Якщо завдання *виконано*, повертається результат загорнутої співпрограми " +"(або якщо співпрограма викликала виняток, цей виняток викликається повторно)." + +msgid "" +"If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " +"exception." +msgstr "" +"Якщо завдання було *скасовано*, цей метод викликає виняток :exc:" +"`CancelledError`." + +msgid "" +"If the Task's result isn't yet available, this method raises a :exc:" +"`InvalidStateError` exception." +msgstr "" +"Якщо результат завдання ще не доступний, цей метод викликає виняток :exc:" +"`InvalidStateError`." + +msgid "Return the exception of the Task." +msgstr "Повернути виняток Завдання." + +msgid "" +"If the wrapped coroutine raised an exception that exception is returned. If " +"the wrapped coroutine returned normally this method returns ``None``." +msgstr "" +"Якщо загорнута співпрограма викликала виняток, цей виняток повертається. " +"Якщо загорнута співпрограма повертає нормальний результат, цей метод " +"повертає ``None``." + +msgid "" +"If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " +"exception." +msgstr "" +"Якщо завдання ще не *виконано*, цей метод викликає виняток :exc:" +"`InvalidStateError`." + +msgid "Add a callback to be run when the Task is *done*." +msgstr "" +"Додайте зворотний виклик, який буде запущено, коли Завдання *виконано*." + +msgid "This method should only be used in low-level callback-based code." +msgstr "" +"Цей метод слід використовувати лише в низькорівневому коді на основі " +"зворотного виклику." + +msgid "" +"See the documentation of :meth:`Future.add_done_callback` for more details." +msgstr "" +"Перегляньте документацію :meth:`Future.add_done_callback` для отримання " +"додаткової інформації." + +msgid "Remove *callback* from the callbacks list." +msgstr "Видалити *callback* зі списку зворотних викликів." + +msgid "" +"See the documentation of :meth:`Future.remove_done_callback` for more " +"details." +msgstr "" +"Перегляньте документацію :meth:`Future.remove_done_callback` для отримання " +"додаткової інформації." + +msgid "Return the list of stack frames for this Task." +msgstr "Повернути список фреймів стека для цього завдання." + +msgid "" +"If the wrapped coroutine is not done, this returns the stack where it is " +"suspended. If the coroutine has completed successfully or was cancelled, " +"this returns an empty list. If the coroutine was terminated by an exception, " +"this returns the list of traceback frames." +msgstr "" +"Якщо загорнуту співпрограму не виконано, це повертає стек, де він був " +"призупинений. Якщо співпрограма завершилася успішно або була скасована, " +"повертається порожній список. Якщо співпрограму було припинено через " +"виняток, повертається список кадрів трасування." + +msgid "The frames are always ordered from oldest to newest." +msgstr "Рамки завжди впорядковуються від найстаріших до найновіших." + +msgid "Only one stack frame is returned for a suspended coroutine." +msgstr "Для призупиненої співпрограми повертається лише один кадр стека." + +msgid "" +"The optional *limit* argument sets the maximum number of frames to return; " +"by default all available frames are returned. The ordering of the returned " +"list differs depending on whether a stack or a traceback is returned: the " +"newest frames of a stack are returned, but the oldest frames of a traceback " +"are returned. (This matches the behavior of the traceback module.)" +msgstr "" +"Необов'язковий аргумент *limit* встановлює максимальну кількість кадрів для " +"повернення; за замовчуванням повертаються всі доступні кадри. Порядок " +"поверненого списку відрізняється залежно від того, повертається стек чи " +"трасування: повертаються найновіші кадри стеку, але повертаються найстаріші " +"кадри трасування. (Це відповідає поведінці модуля відстеження.)" + +msgid "Print the stack or traceback for this Task." +msgstr "Роздрукуйте стек або відстеження для цього завдання." + +msgid "" +"This produces output similar to that of the traceback module for the frames " +"retrieved by :meth:`get_stack`." +msgstr "" +"Це створює вихідні дані, подібні до результатів модуля трасування для " +"кадрів, отриманих :meth:`get_stack`." + +msgid "The *limit* argument is passed to :meth:`get_stack` directly." +msgstr "Аргумент *limit* передається безпосередньо в :meth:`get_stack`." + +msgid "" +"The *file* argument is an I/O stream to which the output is written; by " +"default output is written to :data:`sys.stderr`." +msgstr "" +"Аргумент *file* — це потік введення/виведення, до якого записується вихід; " +"за замовчуванням вихід записується в :data:`sys.stderr`." + +msgid "Return the coroutine object wrapped by the :class:`Task`." +msgstr "Повертає об’єкт співпрограми, обгорнутий :class:`Task`." + +msgid "Return the name of the Task." +msgstr "Повернути назву завдання." + +msgid "" +"If no name has been explicitly assigned to the Task, the default asyncio " +"Task implementation generates a default name during instantiation." +msgstr "" +"Якщо Завданню не було явно призначено ім’я, реалізація асинхронного Завдання " +"за замовчуванням генерує ім’я за замовчуванням під час створення екземпляра." + +msgid "Set the name of the Task." +msgstr "Встановіть назву завдання." + +msgid "" +"The *value* argument can be any object, which is then converted to a string." +msgstr "" +"Аргументом *value* може бути будь-який об’єкт, який потім перетворюється на " +"рядок." + +msgid "" +"In the default Task implementation, the name will be visible in the :func:" +"`repr` output of a task object." +msgstr "" +"У реалізації Task за замовчуванням ім’я буде видно у виводі :func:`repr` " +"об’єкта task." + +msgid "Request the Task to be cancelled." +msgstr "Вимагайте скасування Завдання." + +msgid "" +"This arranges for a :exc:`CancelledError` exception to be thrown into the " +"wrapped coroutine on the next cycle of the event loop." +msgstr "" +"Це організовує виняток :exc:`CancelledError`, який буде створено в " +"загорнутій співпрограмі в наступному циклі циклу подій." + +msgid "" +"The coroutine then has a chance to clean up or even deny the request by " +"suppressing the exception with a :keyword:`try` ... ... ``except " +"CancelledError`` ... :keyword:`finally` block. Therefore, unlike :meth:" +"`Future.cancel`, :meth:`Task.cancel` does not guarantee that the Task will " +"be cancelled, although suppressing cancellation completely is not common and " +"is actively discouraged." +msgstr "" +"Тоді співпрограма має шанс очистити або навіть відхилити запит, придушивши " +"виняток за допомогою блоку :keyword:`try` ... ... ``except " +"CancelledError`` ... :keyword:`finally`. Таким чином, на відміну від :meth:" +"`Future.cancel`, :meth:`Task.cancel` не гарантує, що Завдання буде " +"скасовано, хоча повне придушення скасування не є поширеним явищем і активно " +"не рекомендується." + +msgid "Added the *msg* parameter." +msgstr "Додано параметр *msg*." + +msgid "The ``msg`` parameter is propagated from cancelled task to its awaiter." +msgstr "" + +msgid "" +"The following example illustrates how coroutines can intercept the " +"cancellation request::" +msgstr "" +"Наступний приклад ілюструє, як співпрограми можуть перехопити запит на " +"скасування:" + +msgid "Return ``True`` if the Task is *cancelled*." +msgstr "Повертає ``True``, якщо завдання *скасовано*." + +msgid "" +"The Task is *cancelled* when the cancellation was requested with :meth:" +"`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " +"exception thrown into it." +msgstr "" +"Завдання *скасовується*, коли запит на скасування надійшов за допомогою :" +"meth:`cancel`, а загорнута співпрограма поширила виняткову ситуацію :exc:" +"`CancelledError`, яка виникла в ній." + +msgid "Decrement the count of cancellation requests to this Task." +msgstr "" + +msgid "Returns the remaining number of cancellation requests." +msgstr "" + +msgid "" +"Note that once execution of a cancelled task completed, further calls to :" +"meth:`uncancel` are ineffective." +msgstr "" + +msgid "" +"This method is used by asyncio's internals and isn't expected to be used by " +"end-user code. In particular, if a Task gets successfully uncancelled, this " +"allows for elements of structured concurrency like :ref:`taskgroups` and :" +"func:`asyncio.timeout` to continue running, isolating cancellation to the " +"respective structured block. For example::" +msgstr "" + +msgid "" +"While the block with ``make_request()`` and ``make_another_request()`` might " +"get cancelled due to the timeout, ``unrelated_code()`` should continue " +"running even in case of the timeout. This is implemented with :meth:" +"`uncancel`. :class:`TaskGroup` context managers use :func:`uncancel` in a " +"similar fashion." +msgstr "" + +msgid "" +"Return the number of pending cancellation requests to this Task, i.e., the " +"number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." +msgstr "" + +msgid "" +"Note that if this number is greater than zero but the Task is still " +"executing, :meth:`cancelled` will still return ``False``. This is because " +"this number can be lowered by calling :meth:`uncancel`, which can lead to " +"the task not being cancelled after all if the cancellation requests go down " +"to zero." +msgstr "" + +msgid "" +"This method is used by asyncio's internals and isn't expected to be used by " +"end-user code. See :meth:`uncancel` for more details." +msgstr "" diff --git a/library/asyncio.po b/library/asyncio.po new file mode 100644 index 000000000..892b22a4d --- /dev/null +++ b/library/asyncio.po @@ -0,0 +1,134 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Olga Tomakhina, 2022 +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "High-level APIs" +msgstr "API високого рівня" + +msgid "Low-level APIs" +msgstr "Низькорівневі API " + +msgid "Guides and Tutorials" +msgstr "Посібники та підручники" + +msgid ":mod:`asyncio` --- Asynchronous I/O" +msgstr ":mod:`asyncio` --- Асинхронний ввід-вивід" + +msgid "Hello World!" +msgstr "Hello World!" + +msgid "" +"asyncio is a library to write **concurrent** code using the **async/await** " +"syntax." +msgstr "" +"asyncio — це бібліотека для написання **паралельного** коду за допомогою " +"синтаксису **async/await**." + +msgid "" +"asyncio is used as a foundation for multiple Python asynchronous frameworks " +"that provide high-performance network and web-servers, database connection " +"libraries, distributed task queues, etc." +msgstr "" +"asyncio використовується як основа для багатьох асинхронних фреймворків " +"Python, які забезпечують високопродуктивні мережеві та веб-сервери, " +"бібліотеки підключення до бази даних, розподілені черги завдань тощо." + +msgid "" +"asyncio is often a perfect fit for IO-bound and high-level **structured** " +"network code." +msgstr "" +"asyncio часто ідеально підходить для високорівневого **структурованого** " +"мережевого коду." + +msgid "asyncio provides a set of **high-level** APIs to:" +msgstr "asyncio пропонує набір **високорівневого** API для:" + +msgid "" +":ref:`run Python coroutines ` concurrently and have full control " +"over their execution;" +msgstr "" +":ref:`запускати співпрограми Python ` одночасно та мати повний " +"контроль над їх виконанням;" + +msgid "perform :ref:`network IO and IPC `;" +msgstr "виконувати :ref:`мережевий IO та IPC `;" + +msgid "control :ref:`subprocesses `;" +msgstr "керування :ref:`підпроцесами `;" + +msgid "distribute tasks via :ref:`queues `;" +msgstr "розподіляти завдання через :ref:`черги `;" + +msgid ":ref:`synchronize ` concurrent code;" +msgstr ":ref:`синхронізувати ` конкурентний код;" + +msgid "" +"Additionally, there are **low-level** APIs for *library and framework " +"developers* to:" +msgstr "" +"Також існують **низькорівневі** API для *розробників бібліотек і " +"фреймворків*, щоб:" + +msgid "" +"create and manage :ref:`event loops `, which provide " +"asynchronous APIs for :meth:`networking `, running :meth:" +"`subprocesses `, handling :meth:`OS signals `, etc;" +msgstr "" +"створювати та керувати :ref:`event loops `, які надають " +"асинхронні API для :meth:`networking `, запускаючи :meth:" +"`subprocesses `, оброблюючи :meth:`OS signals ` тощо;" + +msgid "" +"implement efficient protocols using :ref:`transports `;" +msgstr "" +"реалізувати ефективні протоколи за допомогою :ref:`transports `;" + +msgid "" +":ref:`bridge ` callback-based libraries and code with async/" +"await syntax." +msgstr "" +":ref:`bridge ` бібліотеки зворотного виклику та код із " +"синтаксисом async/await." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Reference" +msgstr "Посилання" + +msgid "The source code for asyncio can be found in :source:`Lib/asyncio/`." +msgstr "Вихідний код для asyncio можна знайти в :source:`Lib/asyncio/`." diff --git a/library/asyncore.po b/library/asyncore.po new file mode 100644 index 000000000..025e8bcf2 --- /dev/null +++ b/library/asyncore.po @@ -0,0 +1,469 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`asyncore` --- Asynchronous socket handler" +msgstr ":mod:`asyncore` --- обробник асинхронного сокета" + +msgid "**Source code:** :source:`Lib/asyncore.py`" +msgstr "**Вихідний код:** :source:`Lib/asyncore.py`" + +msgid "" +"The :mod:`asyncore` module is deprecated (see :pep:`PEP 594 <594#asyncore>` " +"for details). Please use :mod:`asyncio` instead." +msgstr "" + +msgid "" +"This module exists for backwards compatibility only. For new code we " +"recommend using :mod:`asyncio`." +msgstr "" +"Цей модуль існує лише для зворотної сумісності. Для нового коду ми " +"рекомендуємо використовувати :mod:`asyncio`." + +msgid "" +"This module provides the basic infrastructure for writing asynchronous " +"socket service clients and servers." +msgstr "" +"Цей модуль надає базову інфраструктуру для написання клієнтів і серверів " +"служби асинхронних сокетів." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"There are only two ways to have a program on a single processor do \"more " +"than one thing at a time.\" Multi-threaded programming is the simplest and " +"most popular way to do it, but there is another very different technique, " +"that lets you have nearly all the advantages of multi-threading, without " +"actually using multiple threads. It's really only practical if your " +"program is largely I/O bound. If your program is processor bound, then pre-" +"emptive scheduled threads are probably what you really need. Network " +"servers are rarely processor bound, however." +msgstr "" +"Є лише два способи змусити програму на одному процесорі виконувати \"більш " +"ніж одну дію одночасно\". Багатопотокове програмування є найпростішим і " +"найпопулярнішим способом зробити це, але існує ще одна зовсім інша техніка, " +"яка дає вам змогу отримати майже всі переваги багатопоточності без " +"фактичного використання кількох потоків. Це дійсно практично, лише якщо ваша " +"програма значною мірою пов’язана з вводом-виводом. Якщо ваша програма " +"пов’язана з процесором, то вам справді потрібні потоки з випереджальним " +"плануванням. Проте мережеві сервери рідко пов’язані з процесором." + +msgid "" +"If your operating system supports the :c:func:`select` system call in its I/" +"O library (and nearly all do), then you can use it to juggle multiple " +"communication channels at once; doing other work while your I/O is taking " +"place in the \"background.\" Although this strategy can seem strange and " +"complex, especially at first, it is in many ways easier to understand and " +"control than multi-threaded programming. The :mod:`asyncore` module solves " +"many of the difficult problems for you, making the task of building " +"sophisticated high-performance network servers and clients a snap. For " +"\"conversational\" applications and protocols the companion :mod:`asynchat` " +"module is invaluable." +msgstr "" +"Якщо ваша операційна система підтримує системний виклик :c:func:`select` у " +"своїй бібліотеці вводу-виводу (і майже всі так підтримує), ви можете " +"використовувати її для жонглювання кількома каналами зв’язку одночасно; " +"виконувати іншу роботу, поки ваш ввід/вивід виконується у \"фоновому режимі" +"\". Хоча ця стратегія може здатися дивною та складною, особливо спочатку, її " +"багато в чому легше зрозуміти та контролювати, ніж багатопотокове " +"програмування. Модуль :mod:`asyncore` вирішує багато складних проблем, " +"роблячи завдання побудови складних високопродуктивних мережевих серверів і " +"клієнтів миттєвим. Для \"розмовних\" програм і протоколів супутній модуль :" +"mod:`asynchat` є безцінним." + +msgid "" +"The basic idea behind both modules is to create one or more network " +"*channels*, instances of class :class:`asyncore.dispatcher` and :class:" +"`asynchat.async_chat`. Creating the channels adds them to a global map, " +"used by the :func:`loop` function if you do not provide it with your own " +"*map*." +msgstr "" +"Основна ідея обох модулів полягає у створенні одного або кількох мережевих " +"*каналів*, екземплярів класу :class:`asyncore.dispatcher` і :class:`asynchat." +"async_chat`. Створення каналів додає їх до глобальної карти, яка " +"використовується функцією :func:`loop`, якщо ви не надаєте їй свою власну " +"*карту*." + +msgid "" +"Once the initial channel(s) is(are) created, calling the :func:`loop` " +"function activates channel service, which continues until the last channel " +"(including any that have been added to the map during asynchronous service) " +"is closed." +msgstr "" +"Після створення початкового(их) каналу(ів) виклик функції :func:`loop` " +"активує службу каналу, яка продовжується, доки не буде закрито останній " +"канал (включаючи будь-який, який було додано до карти під час асинхронної " +"служби)." + +msgid "" +"Enter a polling loop that terminates after count passes or all open channels " +"have been closed. All arguments are optional. The *count* parameter " +"defaults to ``None``, resulting in the loop terminating only when all " +"channels have been closed. The *timeout* argument sets the timeout " +"parameter for the appropriate :func:`~select.select` or :func:`~select.poll` " +"call, measured in seconds; the default is 30 seconds. The *use_poll* " +"parameter, if true, indicates that :func:`~select.poll` should be used in " +"preference to :func:`~select.select` (the default is ``False``)." +msgstr "" +"Введіть цикл опитування, який завершується після проходження підрахунку або " +"закриття всіх відкритих каналів. Усі аргументи необов’язкові. Параметр " +"*count* за замовчуванням має значення ``None``, що призводить до завершення " +"циклу лише після закриття всіх каналів. Аргумент *timeout* встановлює " +"параметр часу очікування для відповідного виклику :func:`~select.select` " +"або :func:`~select.poll`, виміряний у секундах; за замовчуванням 30 секунд. " +"Параметр *use_poll*, якщо він істинний, вказує, що :func:`~select.poll` слід " +"використовувати замість :func:`~select.select` (за замовчуванням ``False``)." + +msgid "" +"The *map* parameter is a dictionary whose items are the channels to watch. " +"As channels are closed they are deleted from their map. If *map* is " +"omitted, a global map is used. Channels (instances of :class:`asyncore." +"dispatcher`, :class:`asynchat.async_chat` and subclasses thereof) can freely " +"be mixed in the map." +msgstr "" +"Параметр *map* — це словник, елементи якого є каналами для перегляду. Коли " +"канали закриваються, вони видаляються з карти. Якщо *map* опущено, " +"використовується глобальна карта. Канали (екземпляри :class:`asyncore." +"dispatcher`, :class:`asynchat.async_chat` та їхні підкласи) можна вільно " +"змішувати на карті." + +msgid "" +"The :class:`dispatcher` class is a thin wrapper around a low-level socket " +"object. To make it more useful, it has a few methods for event-handling " +"which are called from the asynchronous loop. Otherwise, it can be treated " +"as a normal non-blocking socket object." +msgstr "" +"Клас :class:`dispatcher` — це тонка обгортка навколо об’єкта сокета низького " +"рівня. Щоб зробити його більш корисним, він має кілька методів для обробки " +"подій, які викликаються з асинхронного циклу. В іншому випадку його можна " +"розглядати як звичайний неблокуючий об’єкт сокета." + +msgid "" +"The firing of low-level events at certain times or in certain connection " +"states tells the asynchronous loop that certain higher-level events have " +"taken place. For example, if we have asked for a socket to connect to " +"another host, we know that the connection has been made when the socket " +"becomes writable for the first time (at this point you know that you may " +"write to it with the expectation of success). The implied higher-level " +"events are:" +msgstr "" +"Запуск подій низького рівня в певний час або в певних станах з’єднання " +"повідомляє асинхронному циклу, що відбулися певні події вищого рівня. " +"Наприклад, якщо ми запросили сокет для з’єднання з іншим хостом, ми знаємо, " +"що з’єднання було встановлено, коли сокет стане доступним для запису вперше " +"(на цьому етапі ви знаєте, що можете писати в нього з очікуванням успіху ). " +"Передбачувані події вищого рівня:" + +msgid "Event" +msgstr "Подія" + +msgid "Description" +msgstr "опис" + +msgid "``handle_connect()``" +msgstr "``handle_connect()``" + +msgid "Implied by the first read or write event" +msgstr "Передбачено першою подією читання або запису" + +msgid "``handle_close()``" +msgstr "``handle_close()``" + +msgid "Implied by a read event with no data available" +msgstr "Означається подією читання без доступних даних" + +msgid "``handle_accepted()``" +msgstr "``handle_accepted()``" + +msgid "Implied by a read event on a listening socket" +msgstr "Означається подією читання в сокеті, що прослуховує" + +msgid "" +"During asynchronous processing, each mapped channel's :meth:`readable` and :" +"meth:`writable` methods are used to determine whether the channel's socket " +"should be added to the list of channels :c:func:`select`\\ ed or :c:func:" +"`poll`\\ ed for read and write events." +msgstr "" +"Під час асинхронної обробки методи кожного зіставленого каналу :meth:" +"`readable` і :meth:`writable` використовуються для визначення того, чи слід " +"додати сокет каналу до списку каналів :c:func:`select`\\ ed або :c:func:" +"`poll`\\ для подій читання та запису." + +msgid "" +"Thus, the set of channel events is larger than the basic socket events. The " +"full set of methods that can be overridden in your subclass follows:" +msgstr "" +"Таким чином, набір подій каналу більший, ніж подій основного сокета. Нижче " +"наведено повний набір методів, які можна перевизначати у вашому підкласі:" + +msgid "" +"Called when the asynchronous loop detects that a :meth:`read` call on the " +"channel's socket will succeed." +msgstr "" +"Викликається, коли асинхронний цикл виявляє, що виклик :meth:`read` для " +"сокета каналу буде успішним." + +msgid "" +"Called when the asynchronous loop detects that a writable socket can be " +"written. Often this method will implement the necessary buffering for " +"performance. For example::" +msgstr "" +"Викликається, коли асинхронний цикл виявляє, що доступний для запису сокет " +"можна записати. Часто цей метод реалізує необхідну буферизацію для " +"продуктивності. Наприклад::" + +msgid "" +"Called when there is out of band (OOB) data for a socket connection. This " +"will almost never happen, as OOB is tenuously supported and rarely used." +msgstr "" +"Викликається, коли для підключення до сокета є позасмугові (OOB) дані. Цього " +"майже ніколи не станеться, оскільки OOB слабко підтримується і рідко " +"використовується." + +msgid "" +"Called when the active opener's socket actually makes a connection. Might " +"send a \"welcome\" banner, or initiate a protocol negotiation with the " +"remote endpoint, for example." +msgstr "" +"Викликається, коли активний сокет відкривача фактично встановлює з’єднання. " +"Наприклад, може надіслати банер \"вітання\" або ініціювати узгодження " +"протоколу з віддаленою кінцевою точкою." + +msgid "Called when the socket is closed." +msgstr "Викликається, коли сокет закрито." + +msgid "" +"Called when an exception is raised and not otherwise handled. The default " +"version prints a condensed traceback." +msgstr "" +"Викликається, коли виникає виняток і не обробляється інакше. Версія за " +"замовчуванням друкує скорочену трасування." + +msgid "" +"Called on listening channels (passive openers) when a connection can be " +"established with a new remote endpoint that has issued a :meth:`connect` " +"call for the local endpoint. Deprecated in version 3.2; use :meth:" +"`handle_accepted` instead." +msgstr "" +"Викликається на каналах прослуховування (пасивні відкривачі), коли можна " +"встановити з’єднання з новою віддаленою кінцевою точкою, яка випустила " +"виклик :meth:`connect` для локальної кінцевої точки. Застаріло у версії 3.2; " +"замість цього використовуйте :meth:`handle_accepted`." + +msgid "" +"Called on listening channels (passive openers) when a connection has been " +"established with a new remote endpoint that has issued a :meth:`connect` " +"call for the local endpoint. *sock* is a *new* socket object usable to send " +"and receive data on the connection, and *addr* is the address bound to the " +"socket on the other end of the connection." +msgstr "" +"Викликається на каналах прослуховування (пасивні відкривачі), коли " +"встановлено з’єднання з новою віддаленою кінцевою точкою, яка випустила " +"виклик :meth:`connect` для локальної кінцевої точки. *sock* — це *новий* " +"об’єкт сокета, який можна використовувати для надсилання та отримання даних " +"у з’єднанні, а *addr* — це адреса, прив’язана до сокета на іншому кінці " +"з’єднання." + +msgid "" +"Called each time around the asynchronous loop to determine whether a " +"channel's socket should be added to the list on which read events can " +"occur. The default method simply returns ``True``, indicating that by " +"default, all channels will be interested in read events." +msgstr "" +"Викликається кожного разу в асинхронному циклі, щоб визначити, чи слід " +"додавати сокет каналу до списку, у якому можуть відбуватися події читання. " +"Метод за замовчуванням просто повертає ``True``, вказуючи, що за " +"замовчуванням усі канали будуть зацікавлені в подіях читання." + +msgid "" +"Called each time around the asynchronous loop to determine whether a " +"channel's socket should be added to the list on which write events can " +"occur. The default method simply returns ``True``, indicating that by " +"default, all channels will be interested in write events." +msgstr "" +"Викликається кожного разу в асинхронному циклі, щоб визначити, чи слід " +"додавати сокет каналу до списку, у якому можуть відбуватися події запису. " +"Метод за замовчуванням просто повертає ``True``, вказуючи, що за " +"замовчуванням усі канали будуть зацікавлені в подіях запису." + +msgid "" +"In addition, each channel delegates or extends many of the socket methods. " +"Most of these are nearly identical to their socket partners." +msgstr "" +"Крім того, кожен канал делегує або розширює багато методів сокетів. " +"Більшість із них майже ідентичні своїм партнерам по сокетам." + +msgid "" +"This is identical to the creation of a normal socket, and will use the same " +"options for creation. Refer to the :mod:`socket` documentation for " +"information on creating sockets." +msgstr "" +"Це ідентично створенню звичайного сокета та використовуватиме ті самі " +"параметри для створення. Зверніться до документації :mod:`socket` для " +"отримання інформації про створення сокетів." + +msgid "*family* and *type* arguments can be omitted." +msgstr "Аргументи *сімейство* і *тип* можна опустити." + +msgid "" +"As with the normal socket object, *address* is a tuple with the first " +"element the host to connect to, and the second the port number." +msgstr "" +"Як і у випадку зі звичайним об’єктом сокета, *адреса* – це кортеж із першим " +"елементом, до якого потрібно підключитися, а другим – номер порту." + +msgid "Send *data* to the remote end-point of the socket." +msgstr "Надіслати *дані* до віддаленої кінцевої точки сокета." + +msgid "" +"Read at most *buffer_size* bytes from the socket's remote end-point. An " +"empty bytes object implies that the channel has been closed from the other " +"end." +msgstr "" +"Читати щонайбільше *buffer_size* байтів із віддаленої кінцевої точки сокета. " +"Порожній об’єкт bytes означає, що канал закрито з іншого боку." + +msgid "" +"Note that :meth:`recv` may raise :exc:`BlockingIOError` , even though :func:" +"`select.select` or :func:`select.poll` has reported the socket ready for " +"reading." +msgstr "" +"Зверніть увагу, що :meth:`recv` може викликати :exc:`BlockingIOError`, " +"навіть якщо :func:`select.select` або :func:`select.poll` повідомили, що " +"сокет готовий для читання." + +msgid "" +"Listen for connections made to the socket. The *backlog* argument specifies " +"the maximum number of queued connections and should be at least 1; the " +"maximum value is system-dependent (usually 5)." +msgstr "" +"Прослухайте підключення до розетки. Аргумент *backlog* визначає максимальну " +"кількість підключень у черзі та має бути принаймні 1; максимальне значення " +"залежить від системи (зазвичай 5)." + +msgid "" +"Bind the socket to *address*. The socket must not already be bound. (The " +"format of *address* depends on the address family --- refer to the :mod:" +"`socket` documentation for more information.) To mark the socket as re-" +"usable (setting the :const:`SO_REUSEADDR` option), call the :class:" +"`dispatcher` object's :meth:`set_reuse_addr` method." +msgstr "" +"Прив’яжіть сокет до *адреси*. Розетка ще не повинна бути прив’язаною. " +"(Формат *адреси* залежить від сімейства адрес --- зверніться до " +"документації :mod:`socket` для отримання додаткової інформації.) Щоб " +"позначити сокет як придатний для повторного використання (встановивши " +"параметр :const:`SO_REUSEADDR`), викликати метод :meth:`set_reuse_addr` " +"об'єкта :class:`dispatcher`." + +msgid "" +"Accept a connection. The socket must be bound to an address and listening " +"for connections. The return value can be either ``None`` or a pair ``(conn, " +"address)`` where *conn* is a *new* socket object usable to send and receive " +"data on the connection, and *address* is the address bound to the socket on " +"the other end of the connection. When ``None`` is returned it means the " +"connection didn't take place, in which case the server should just ignore " +"this event and keep listening for further incoming connections." +msgstr "" +"Прийняти підключення. Сокет має бути прив’язаний до адреси та прослуховувати " +"підключення. Поверненим значенням може бути ``None`` або пара ``(conn, " +"address)``, де *conn* — це *новий* об’єкт сокета, який можна використовувати " +"для надсилання та отримання даних під час з’єднання, а *address* — це " +"адресу, прив’язану до сокета на іншому кінці з’єднання. Коли повертається " +"\"None\", це означає, що з’єднання не відбулося, і в цьому випадку сервер " +"повинен просто проігнорувати цю подію та продовжувати прослуховувати " +"подальші вхідні з’єднання." + +msgid "" +"Close the socket. All future operations on the socket object will fail. The " +"remote end-point will receive no more data (after queued data is flushed). " +"Sockets are automatically closed when they are garbage-collected." +msgstr "" +"Закрийте розетку. Усі майбутні операції над об’єктом сокета не вдадуться. " +"Віддалена кінцева точка більше не отримуватиме даних (після видалення даних " +"із черги). Сокети автоматично закриваються під час збирання сміття." + +msgid "" +"A :class:`dispatcher` subclass which adds simple buffered output capability, " +"useful for simple clients. For more sophisticated usage use :class:`asynchat." +"async_chat`." +msgstr "" +"Підклас :class:`dispatcher`, який додає просту можливість буферизованого " +"виведення, корисну для простих клієнтів. Для більш складного використання " +"використовуйте :class:`asynchat.async_chat`." + +msgid "" +"A file_dispatcher takes a file descriptor or :term:`file object` along with " +"an optional map argument and wraps it for use with the :c:func:`poll` or :c:" +"func:`loop` functions. If provided a file object or anything with a :c:func:" +"`fileno` method, that method will be called and passed to the :class:" +"`file_wrapper` constructor." +msgstr "" +"File_dispatcher приймає дескриптор файлу або :term:`file object` разом із " +"необов’язковим аргументом карти та обгортає його для використання з " +"функціями :c:func:`poll` або :c:func:`loop`. Якщо надати файловий об’єкт або " +"щось із методом :c:func:`fileno`, цей метод буде викликано та передано " +"конструктору :class:`file_wrapper`." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"A file_wrapper takes an integer file descriptor and calls :func:`os.dup` to " +"duplicate the handle so that the original handle may be closed independently " +"of the file_wrapper. This class implements sufficient methods to emulate a " +"socket for use by the :class:`file_dispatcher` class." +msgstr "" +"File_wrapper приймає цілочисельний файловий дескриптор і викликає :func:`os." +"dup`, щоб дублювати дескриптор, щоб вихідний дескриптор можна було закрити " +"незалежно від file_wrapper. Цей клас реалізує достатньо методів для емуляції " +"сокета для використання класом :class:`file_dispatcher`." + +msgid "asyncore Example basic HTTP client" +msgstr "asyncore Приклад базового клієнта HTTP" + +msgid "" +"Here is a very basic HTTP client that uses the :class:`dispatcher` class to " +"implement its socket handling::" +msgstr "" +"Ось простий клієнт HTTP, який використовує клас :class:`dispatcher` для " +"реалізації обробки сокетів:" + +msgid "asyncore Example basic echo server" +msgstr "asyncore Приклад базового сервера відлуння" + +msgid "" +"Here is a basic echo server that uses the :class:`dispatcher` class to " +"accept connections and dispatches the incoming connections to a handler::" +msgstr "" +"Ось базовий ехо-сервер, який використовує клас :class:`dispatcher` для " +"прийняття з’єднань і відправляє вхідні з’єднання до обробника::" diff --git a/library/atexit.po b/library/atexit.po new file mode 100644 index 000000000..c7ba3b2f7 --- /dev/null +++ b/library/atexit.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`atexit` --- Exit handlers" +msgstr ":mod:`atexit` --- Обробники виходу" + +msgid "" +"The :mod:`atexit` module defines functions to register and unregister " +"cleanup functions. Functions thus registered are automatically executed " +"upon normal interpreter termination. :mod:`atexit` runs these functions in " +"the *reverse* order in which they were registered; if you register ``A``, " +"``B``, and ``C``, at interpreter termination time they will be run in the " +"order ``C``, ``B``, ``A``." +msgstr "" +"Модуль :mod:`atexit` визначає функції для реєстрації та скасування " +"реєстрації функцій очищення. Зареєстровані таким чином функції автоматично " +"виконуються після звичайного завершення роботи інтерпретатора. :mod:`atexit` " +"запускає ці функції у *зворотному* порядку, у якому вони були зареєстровані; " +"якщо ви зареєструєте ``A``, ``B`` і ``C``, під час завершення роботи " +"інтерпретатора вони виконуватимуться в порядку ``C``, ``B``, ``A`` ." + +msgid "" +"**Note:** The functions registered via this module are not called when the " +"program is killed by a signal not handled by Python, when a Python fatal " +"internal error is detected, or when :func:`os._exit` is called." +msgstr "" +"**Примітка:** Функції, зареєстровані за допомогою цього модуля, не " +"викликаються, коли програма припиняється через сигнал, який не оброблюється " +"Python, коли виявлено критичну внутрішню помилку Python або коли " +"викликається :func:`os._exit`." + +msgid "" +"When used with C-API subinterpreters, registered functions are local to the " +"interpreter they were registered in." +msgstr "" +"При використанні з субінтерпретаторами C-API зареєстровані функції є " +"локальними для інтерпретатора, у якому вони були зареєстровані." + +msgid "" +"Register *func* as a function to be executed at termination. Any optional " +"arguments that are to be passed to *func* must be passed as arguments to :" +"func:`register`. It is possible to register the same function and arguments " +"more than once." +msgstr "" +"Зареєструйте *func* як функцію, яка буде виконуватися після завершення. Будь-" +"які необов’язкові аргументи, які мають бути передані в *func*, повинні бути " +"передані як аргументи в :func:`register`. Є можливість зареєструвати ту саму " +"функцію та аргументи кілька разів." + +msgid "" +"At normal program termination (for instance, if :func:`sys.exit` is called " +"or the main module's execution completes), all functions registered are " +"called in last in, first out order. The assumption is that lower level " +"modules will normally be imported before higher level modules and thus must " +"be cleaned up later." +msgstr "" +"Під час звичайного завершення програми (наприклад, якщо викликається :func:" +"`sys.exit` або завершується виконання основного модуля), усі зареєстровані " +"функції викликаються в порядку останнього входу, першого виходу. " +"Припускається, що модулі нижчого рівня зазвичай імпортуються перед модулями " +"вищого рівня, тому їх потрібно очистити пізніше." + +msgid "" +"If an exception is raised during execution of the exit handlers, a traceback " +"is printed (unless :exc:`SystemExit` is raised) and the exception " +"information is saved. After all exit handlers have had a chance to run, the " +"last exception to be raised is re-raised." +msgstr "" +"Якщо під час виконання обробників виходу виникає виняток, друкується " +"зворотне трасування (якщо не викликається :exc:`SystemExit`), а інформація " +"про виключення зберігається. Після того, як усі обробники виходу мали " +"можливість запуститися, останній виняток, який було викликано, викликається " +"повторно." + +msgid "" +"This function returns *func*, which makes it possible to use it as a " +"decorator." +msgstr "" +"Ця функція повертає *func*, що дає змогу використовувати її як декоратор." + +msgid "" +"Remove *func* from the list of functions to be run at interpreter shutdown. :" +"func:`unregister` silently does nothing if *func* was not previously " +"registered. If *func* has been registered more than once, every occurrence " +"of that function in the :mod:`atexit` call stack will be removed. Equality " +"comparisons (``==``) are used internally during unregistration, so function " +"references do not need to have matching identities." +msgstr "" +"Видаліть *func* зі списку функцій, які будуть запускатися після завершення " +"роботи інтерпретатора. :func:`unregister` мовчки нічого не робить, якщо " +"*func* не було раніше зареєстровано. Якщо *func* було зареєстровано кілька " +"разів, кожне входження цієї функції в стек викликів :mod:`atexit` буде " +"видалено. Порівняння рівності (``==``) використовуються внутрішньо під час " +"скасування реєстрації, тому посилання на функції не повинні мати відповідні " +"ідентифікатори." + +msgid "Module :mod:`readline`" +msgstr "Модуль :mod:`readline`" + +msgid "" +"Useful example of :mod:`atexit` to read and write :mod:`readline` history " +"files." +msgstr "" +"Корисний приклад :mod:`atexit` для читання та запису файлів історії :mod:" +"`readline`." + +msgid ":mod:`atexit` Example" +msgstr ":mod:`atexit` Приклад" + +msgid "" +"The following simple example demonstrates how a module can initialize a " +"counter from a file when it is imported and save the counter's updated value " +"automatically when the program terminates without relying on the application " +"making an explicit call into this module at termination. ::" +msgstr "" +"Наступний простий приклад демонструє, як модуль може ініціалізувати " +"лічильник із файлу під час його імпорту та автоматично зберігати оновлене " +"значення лічильника, коли програма завершує роботу, не покладаючись на те, " +"що програма здійснює явний виклик цього модуля під час завершення. ::" + +msgid "" +"Positional and keyword arguments may also be passed to :func:`register` to " +"be passed along to the registered function when it is called::" +msgstr "" +"Позиційні та ключові аргументи також можуть бути передані :func:`register` " +"для передачі зареєстрованій функції під час її виклику::" + +msgid "Usage as a :term:`decorator`::" +msgstr "Використання як :term:`decorator`::" + +msgid "This only works with functions that can be called without arguments." +msgstr "Це працює лише з функціями, які можна викликати без аргументів." diff --git a/library/audioop.po b/library/audioop.po new file mode 100644 index 000000000..55730e969 --- /dev/null +++ b/library/audioop.po @@ -0,0 +1,385 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`audioop` --- Manipulate raw audio data" +msgstr ":mod:`audioop` --- Маніпулювати необробленими аудіоданими" + +msgid "" +"The :mod:`audioop` module is deprecated (see :pep:`PEP 594 <594#audioop>` " +"for details)." +msgstr "" +"Модуль :mod:`audioop` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#audioop>`)." + +msgid "" +"The :mod:`audioop` module contains some useful operations on sound " +"fragments. It operates on sound fragments consisting of signed integer " +"samples 8, 16, 24 or 32 bits wide, stored in :term:`bytes-like objects " +"`. All scalar items are integers, unless specified " +"otherwise." +msgstr "" +"Модуль :mod:`audioop` містить деякі корисні операції над звуковими " +"фрагментами. Він працює зі звуковими фрагментами, що складаються зі знакових " +"цілих зразків шириною 8, 16, 24 або 32 біти, що зберігаються в :term:" +"`байтоподібних об’єктах `. Усі скалярні елементи є цілими " +"числами, якщо не вказано інше." + +msgid "" +"Support for 24-bit samples was added. All functions now accept any :term:" +"`bytes-like object`. String input now results in an immediate error." +msgstr "" +"Додано підтримку 24-розрядних семплів. Усі функції тепер приймають будь-які :" +"term:`bytes-like object`. Введення рядка тепер призводить до негайної " +"помилки." + +msgid "" +"This module provides support for a-LAW, u-LAW and Intel/DVI ADPCM encodings." +msgstr "" +"Цей модуль забезпечує підтримку кодувань a-LAW, u-LAW і Intel/DVI ADPCM." + +msgid "" +"A few of the more complicated operations only take 16-bit samples, otherwise " +"the sample size (in bytes) is always a parameter of the operation." +msgstr "" +"Кілька складніших операцій беруть лише 16-бітові вибірки, в інших випадках " +"розмір вибірки (у байтах) завжди є параметром операції." + +msgid "The module defines the following variables and functions:" +msgstr "Модуль визначає наступні змінні та функції:" + +msgid "" +"This exception is raised on all errors, such as unknown number of bytes per " +"sample, etc." +msgstr "" +"Цей виняток виникає для всіх помилок, таких як невідома кількість байтів на " +"вибірку тощо." + +msgid "" +"Return a fragment which is the addition of the two samples passed as " +"parameters. *width* is the sample width in bytes, either ``1``, ``2``, ``3`` " +"or ``4``. Both fragments should have the same length. Samples are " +"truncated in case of overflow." +msgstr "" +"Повертає фрагмент, який є додаванням двох зразків, переданих як параметри. " +"*width* — це ширина вибірки в байтах, ``1``, ``2``, ``3`` або ``4``. Обидва " +"фрагменти повинні мати однакову довжину. У разі переповнення вибірки " +"обрізаються." + +msgid "" +"Decode an Intel/DVI ADPCM coded fragment to a linear fragment. See the " +"description of :func:`lin2adpcm` for details on ADPCM coding. Return a tuple " +"``(sample, newstate)`` where the sample has the width specified in *width*." +msgstr "" +"Декодуйте кодований фрагмент Intel/DVI ADPCM до лінійного фрагмента. " +"Перегляньте опис :func:`lin2adpcm`, щоб дізнатися більше про кодування " +"ADPCM. Повертає кортеж ``(sample, newstate)``, де вибірка має ширину, " +"указану в *width*." + +msgid "" +"Convert sound fragments in a-LAW encoding to linearly encoded sound " +"fragments. a-LAW encoding always uses 8 bits samples, so *width* refers only " +"to the sample width of the output fragment here." +msgstr "" +"Перетворення звукових фрагментів у кодуванні a-LAW на лінійно закодовані " +"звукові фрагменти. Кодування a-LAW завжди використовує 8-бітові вибірки, " +"тому *width* тут стосується лише ширини вибірки вихідного фрагмента." + +msgid "Return the average over all samples in the fragment." +msgstr "Повертає середнє значення для всіх вибірок у фрагменті." + +msgid "" +"Return the average peak-peak value over all samples in the fragment. No " +"filtering is done, so the usefulness of this routine is questionable." +msgstr "" +"Повертає середнє пікове значення для всіх вибірок у фрагменті. Фільтрування " +"не виконується, тому корисність цієї процедури сумнівна." + +msgid "" +"Return a fragment that is the original fragment with a bias added to each " +"sample. Samples wrap around in case of overflow." +msgstr "" +"Повертає фрагмент, який є вихідним фрагментом із упередженням, доданим до " +"кожного зразка. Зразки загортають у разі переповнення." + +msgid "" +"\"Byteswap\" all samples in a fragment and returns the modified fragment. " +"Converts big-endian samples to little-endian and vice versa." +msgstr "" +"\"Byteswap\" відбирає всі зразки у фрагменті та повертає змінений фрагмент. " +"Перетворює вибірки з порядковим порядком байта на порядковий і навпаки." + +msgid "" +"Return the number of zero crossings in the fragment passed as an argument." +msgstr "Повертає кількість перетинів нуля у фрагменті, переданому як аргумент." + +msgid "" +"Return a factor *F* such that ``rms(add(fragment, mul(reference, -F)))`` is " +"minimal, i.e., return the factor with which you should multiply *reference* " +"to make it match as well as possible to *fragment*. The fragments should " +"both contain 2-byte samples." +msgstr "" +"Повертає такий множник *F*, що ``rms(add(fragment, mul(reference, -F)))`` є " +"мінімальним, тобто повертає множник, на який потрібно помножити *посилання*, " +"щоб він збігався з можна *фрагментувати*. Обидва фрагменти повинні містити 2-" +"байтові зразки." + +msgid "The time taken by this routine is proportional to ``len(fragment)``." +msgstr "Час, витрачений на цю програму, пропорційний ``len(fragment)``." + +msgid "" +"Try to match *reference* as well as possible to a portion of *fragment* " +"(which should be the longer fragment). This is (conceptually) done by " +"taking slices out of *fragment*, using :func:`findfactor` to compute the " +"best match, and minimizing the result. The fragments should both contain 2-" +"byte samples. Return a tuple ``(offset, factor)`` where *offset* is the " +"(integer) offset into *fragment* where the optimal match started and " +"*factor* is the (floating-point) factor as per :func:`findfactor`." +msgstr "" +"Спробуйте якомога краще зіставити *посилання* з частиною *фрагменту* (який " +"має бути довшим фрагментом). Це (концептуально) робиться шляхом вилучення " +"фрагментів із *fragment*, використання :func:`findfactor` для обчислення " +"найкращого збігу та мінімізації результату. Обидва фрагменти повинні містити " +"2-байтові зразки. Повертає кортеж ``(offset, factor)``, де *offset* — це " +"(ціле) зміщення у *фрагмент*, де почався оптимальний збіг, а *factor* — це " +"коефіцієнт (з плаваючою комою) відповідно до :func:`findfactor`." + +msgid "" +"Search *fragment* for a slice of length *length* samples (not bytes!) with " +"maximum energy, i.e., return *i* for which ``rms(fragment[i*2:(i" +"+length)*2])`` is maximal. The fragments should both contain 2-byte samples." +msgstr "" +"Пошук *fragment* для фрагмента довжини *length* вибірок (не байтів!) з " +"максимальною енергією, тобто повернення *i*, для якого ``rms(fragment[i*2:(i" +"+length)*2])`` є максимальним. Обидва фрагменти повинні містити 2-байтові " +"зразки." + +msgid "The routine takes time proportional to ``len(fragment)``." +msgstr "Процедура потребує часу, пропорційного ``len(fragment)``." + +msgid "Return the value of sample *index* from the fragment." +msgstr "Повертає значення зразка *index* із фрагмента." + +msgid "" +"Convert samples to 4 bit Intel/DVI ADPCM encoding. ADPCM coding is an " +"adaptive coding scheme, whereby each 4 bit number is the difference between " +"one sample and the next, divided by a (varying) step. The Intel/DVI ADPCM " +"algorithm has been selected for use by the IMA, so it may well become a " +"standard." +msgstr "" +"Перетворення зразків у 4-бітне кодування Intel/DVI ADPCM. Кодування ADPCM – " +"це адаптивна схема кодування, згідно з якою кожне 4-бітне число є різницею " +"між одним зразком і наступним, поділеним на (змінний) крок. Алгоритм Intel/" +"DVI ADPCM був обраний для використання IMA, тому він цілком може стати " +"стандартом." + +msgid "" +"*state* is a tuple containing the state of the coder. The coder returns a " +"tuple ``(adpcmfrag, newstate)``, and the *newstate* should be passed to the " +"next call of :func:`lin2adpcm`. In the initial call, ``None`` can be passed " +"as the state. *adpcmfrag* is the ADPCM coded fragment packed 2 4-bit values " +"per byte." +msgstr "" +"*state* — це кортеж, що містить стан кодера. Кодер повертає кортеж " +"``(adpcmfrag, newstate)``, і *newstate* має бути передано до наступного " +"виклику :func:`lin2adpcm`. У початковому виклику \"None\" можна передати як " +"стан. *adpcmfrag* — це кодований ADPCM фрагмент, упакований 2 4-бітними " +"значеннями на байт." + +msgid "" +"Convert samples in the audio fragment to a-LAW encoding and return this as a " +"bytes object. a-LAW is an audio encoding format whereby you get a dynamic " +"range of about 13 bits using only 8 bit samples. It is used by the Sun " +"audio hardware, among others." +msgstr "" +"Перетворіть семпли у аудіофрагменті на кодування a-LAW і поверніть це як " +"об’єкт bytes. a-LAW — це формат аудіокодування, за допомогою якого ви " +"отримуєте динамічний діапазон близько 13 біт, використовуючи лише 8-бітні " +"зразки. Він використовується, зокрема, аудіоапаратурою Sun." + +msgid "Convert samples between 1-, 2-, 3- and 4-byte formats." +msgstr "Перетворюйте зразки між 1-, 2-, 3- та 4-байтовими форматами." + +msgid "" +"In some audio formats, such as .WAV files, 16, 24 and 32 bit samples are " +"signed, but 8 bit samples are unsigned. So when converting to 8 bit wide " +"samples for these formats, you need to also add 128 to the result::" +msgstr "" +"У деяких аудіоформатах, наприклад у файлах .WAV, 16-, 24- та 32-бітні зразки " +"є підписаними, але 8-бітні зразки є беззнаковими. Тож під час перетворення " +"на 8-бітні семпли для цих форматів вам також потрібно додати 128 до " +"результату::" + +msgid "" +"The same, in reverse, has to be applied when converting from 8 to 16, 24 or " +"32 bit width samples." +msgstr "" +"Те ж саме, у зворотному порядку, слід застосовувати під час перетворення з 8 " +"на 16, 24 або 32 бітові вибірки ширини." + +msgid "" +"Convert samples in the audio fragment to u-LAW encoding and return this as a " +"bytes object. u-LAW is an audio encoding format whereby you get a dynamic " +"range of about 14 bits using only 8 bit samples. It is used by the Sun " +"audio hardware, among others." +msgstr "" +"Перетворіть семпли у аудіофрагменті на кодування u-LAW і поверніть це як " +"об’єкт bytes. u-LAW — це формат аудіокодування, за допомогою якого ви " +"отримуєте динамічний діапазон близько 14 біт, використовуючи лише 8-бітні " +"зразки. Він використовується, зокрема, аудіоапаратурою Sun." + +msgid "" +"Return the maximum of the *absolute value* of all samples in a fragment." +msgstr "Повертає максимальне *абсолютне значення* всіх зразків у фрагменті." + +msgid "Return the maximum peak-peak value in the sound fragment." +msgstr "Повертає максимальне значення пік-пік у звуковому фрагменті." + +msgid "" +"Return a tuple consisting of the minimum and maximum values of all samples " +"in the sound fragment." +msgstr "" +"Повертає кортеж, що складається з мінімальних і максимальних значень усіх " +"семплів у звуковому фрагменті." + +msgid "" +"Return a fragment that has all samples in the original fragment multiplied " +"by the floating-point value *factor*. Samples are truncated in case of " +"overflow." +msgstr "" +"Повертає фрагмент, який містить усі зразки у вихідному фрагменті, помножені " +"на значення з плаваючою комою *factor*. У разі переповнення вибірки " +"обрізаються." + +msgid "Convert the frame rate of the input fragment." +msgstr "Перетворення частоти кадрів вхідного фрагмента." + +msgid "" +"*state* is a tuple containing the state of the converter. The converter " +"returns a tuple ``(newfragment, newstate)``, and *newstate* should be passed " +"to the next call of :func:`ratecv`. The initial call should pass ``None`` " +"as the state." +msgstr "" +"*state* — це кортеж, що містить стан конвертера. Конвертер повертає кортеж " +"``(newfragment, newstate)``, а *newstate* слід передати наступному виклику :" +"func:`ratecv`. Початковий виклик має передати ``None`` як стан." + +msgid "" +"The *weightA* and *weightB* arguments are parameters for a simple digital " +"filter and default to ``1`` and ``0`` respectively." +msgstr "" +"Аргументи *weightA* і *weightB* є параметрами для простого цифрового фільтра " +"і за умовчанням мають значення \"1\" і \"0\" відповідно." + +msgid "Reverse the samples in a fragment and returns the modified fragment." +msgstr "Перевертає зразки у фрагменті та повертає змінений фрагмент." + +msgid "" +"Return the root-mean-square of the fragment, i.e. ``sqrt(sum(S_i^2)/n)``." +msgstr "" +"Повертає середньоквадратичне значення фрагмента, тобто ``sqrt(sum(S_i^2)/" +"n)``." + +msgid "This is a measure of the power in an audio signal." +msgstr "Це міра потужності звукового сигналу." + +msgid "" +"Convert a stereo fragment to a mono fragment. The left channel is " +"multiplied by *lfactor* and the right channel by *rfactor* before adding the " +"two channels to give a mono signal." +msgstr "" +"Перетворення стереофрагменту на монофрагмент. Лівий канал множиться на " +"*lfactor*, а правий канал — на *rfactor* перед додаванням двох каналів для " +"отримання моносигналу." + +msgid "" +"Generate a stereo fragment from a mono fragment. Each pair of samples in " +"the stereo fragment are computed from the mono sample, whereby left channel " +"samples are multiplied by *lfactor* and right channel samples by *rfactor*." +msgstr "" +"Створення стереофрагмента з монофрагмента. Кожна пара семплів у " +"стереофрагменті обчислюється з моносемплів, за допомогою чого семпли лівого " +"каналу множаться на *lfactor*, а семпли правого каналу — на *rfactor*." + +msgid "" +"Convert sound fragments in u-LAW encoding to linearly encoded sound " +"fragments. u-LAW encoding always uses 8 bits samples, so *width* refers only " +"to the sample width of the output fragment here." +msgstr "" +"Перетворення звукових фрагментів у кодуванні u-LAW на лінійно закодовані " +"звукові фрагменти. Кодування u-LAW завжди використовує 8-бітові вибірки, " +"тому *width* тут стосується лише ширини вибірки вихідного фрагмента." + +msgid "" +"Note that operations such as :func:`.mul` or :func:`.max` make no " +"distinction between mono and stereo fragments, i.e. all samples are treated " +"equal. If this is a problem the stereo fragment should be split into two " +"mono fragments first and recombined later. Here is an example of how to do " +"that::" +msgstr "" +"Зауважте, що такі операції, як :func:`.mul` або :func:`.max` не роблять " +"різниці між моно- та стереофрагментами, тобто всі зразки розглядаються " +"однаково. Якщо це проблема, стереофрагмент слід спочатку розділити на два " +"монофрагменти, а потім повторно об’єднати. Ось приклад того, як це зробити::" + +msgid "" +"If you use the ADPCM coder to build network packets and you want your " +"protocol to be stateless (i.e. to be able to tolerate packet loss) you " +"should not only transmit the data but also the state. Note that you should " +"send the *initial* state (the one you passed to :func:`lin2adpcm`) along to " +"the decoder, not the final state (as returned by the coder). If you want to " +"use :class:`struct.Struct` to store the state in binary you can code the " +"first element (the predicted value) in 16 bits and the second (the delta " +"index) in 8." +msgstr "" +"Якщо ви використовуєте кодер ADPCM для побудови мережевих пакетів і хочете, " +"щоб ваш протокол був без стану (тобто, щоб він міг допускати втрату " +"пакетів), ви повинні передавати не лише дані, але й стан. Зауважте, що ви " +"повинні надіслати *початковий* стан (той, який ви передали в :func:" +"`lin2adpcm`) до декодера, а не кінцевий стан (як повертає кодер). Якщо ви " +"хочете використовувати :class:`struct.Struct` для збереження стану в " +"двійковому вигляді, ви можете закодувати перший елемент (передбачене " +"значення) у 16 бітах, а другий (дельта-індекс) у 8." + +msgid "" +"The ADPCM coders have never been tried against other ADPCM coders, only " +"against themselves. It could well be that I misinterpreted the standards in " +"which case they will not be interoperable with the respective standards." +msgstr "" +"Кодери ADPCM ніколи не пробувалися проти інших кодерів ADPCM, тільки проти " +"самих себе. Цілком можливо, що я неправильно витлумачив стандарти, і тоді " +"вони не будуть сумісні з відповідними стандартами." + +msgid "" +"The :func:`find\\*` routines might look a bit funny at first sight. They are " +"primarily meant to do echo cancellation. A reasonably fast way to do this " +"is to pick the most energetic piece of the output sample, locate that in the " +"input sample and subtract the whole output sample from the input sample::" +msgstr "" +"Процедури :func:`find\\*` можуть виглядати дещо смішними на перший погляд. " +"Вони в першу чергу призначені для придушення відлуння. Досить швидкий спосіб " +"зробити це — вибрати найбільш енергійну частину вихідного зразка, знайти " +"його у вхідному зразку та відняти весь вихідний зразок із вхідного зразка:" diff --git a/library/audit_events.po b/library/audit_events.po new file mode 100644 index 000000000..419171dea --- /dev/null +++ b/library/audit_events.po @@ -0,0 +1,116 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Audit events table" +msgstr "Таблиця подій аудиту" + +msgid "" +"This table contains all events raised by :func:`sys.audit` or :c:func:" +"`PySys_Audit` calls throughout the CPython runtime and the standard " +"library. These calls were added in 3.8.0 or later (see :pep:`578`)." +msgstr "" +"Ця таблиця містить усі події, викликані викликами :func:`sys.audit` або :c:" +"func:`PySys_Audit` у середовищі виконання CPython і стандартній бібліотеці. " +"Ці виклики було додано у версії 3.8.0 або новішій (див. :pep:`578`)." + +msgid "" +"See :func:`sys.addaudithook` and :c:func:`PySys_AddAuditHook` for " +"information on handling these events." +msgstr "" +"Перегляньте :func:`sys.addaudithook` і :c:func:`PySys_AddAuditHook` для " +"отримання інформації про обробку цих подій." + +msgid "" +"This table is generated from the CPython documentation, and may not " +"represent events raised by other implementations. See your runtime specific " +"documentation for actual events raised." +msgstr "" +"Ця таблиця створена з документації CPython і може не відображати події, " +"викликані іншими реалізаціями. Перегляньте спеціальну документацію щодо " +"середовища виконання для фактичних викликаних подій." + +msgid "" +"The following events are raised internally and do not correspond to any " +"public API of CPython:" +msgstr "" +"Наступні події викликаються внутрішньо і не відповідають жодному публічному " +"API CPython:" + +msgid "Audit event" +msgstr "Подія аудиту" + +msgid "Arguments" +msgstr "Аргументи" + +msgid "_winapi.CreateFile" +msgstr "_winapi.CreateFile" + +msgid "" +"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " +"``flags_and_attributes``" +msgstr "" +"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " +"``flags_and_attributes``" + +msgid "_winapi.CreateJunction" +msgstr "_winapi.CreateJunction" + +msgid "``src_path``, ``dst_path``" +msgstr "``src_path``, ``dst_path``" + +msgid "_winapi.CreateNamedPipe" +msgstr "_winapi.CreateNamedPipe" + +msgid "``name``, ``open_mode``, ``pipe_mode``" +msgstr "``name``, ``open_mode``, ``pipe_mode``" + +msgid "_winapi.CreatePipe" +msgstr "_winapi.CreatePipe" + +msgid "_winapi.CreateProcess" +msgstr "_winapi.CreateProcess" + +msgid "``application_name``, ``command_line``, ``current_directory``" +msgstr "``назва_програми``, ``командний_рядок``, ``поточний_каталог``" + +msgid "_winapi.OpenProcess" +msgstr "_winapi.OpenProcess" + +msgid "``process_id``, ``desired_access``" +msgstr "``process_id``, ``desired_access``" + +msgid "_winapi.TerminateProcess" +msgstr "_winapi.TerminateProcess" + +msgid "``handle``, ``exit_code``" +msgstr "``дескриптор``, ``exit_code``" + +msgid "ctypes.PyObj_FromPtr" +msgstr "ctypes.PyObj_FromPtr" + +msgid "``obj``" +msgstr "``obj``" diff --git a/library/base64.po b/library/base64.po new file mode 100644 index 000000000..d6b2b7d53 --- /dev/null +++ b/library/base64.po @@ -0,0 +1,467 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`base64` --- Base16, Base32, Base64, Base85 Data Encodings" +msgstr ":mod:`base64` --- Кодування даних Base16, Base32, Base64, Base85" + +msgid "**Source code:** :source:`Lib/base64.py`" +msgstr "**Вихідний код:** :source:`Lib/base64.py`" + +msgid "" +"This module provides functions for encoding binary data to printable ASCII " +"characters and decoding such encodings back to binary data. It provides " +"encoding and decoding functions for the encodings specified in :rfc:`4648`, " +"which defines the Base16, Base32, and Base64 algorithms, and for the de-" +"facto standard Ascii85 and Base85 encodings." +msgstr "" +"Цей модуль надає функції для кодування двійкових даних у друковані символи " +"ASCII і декодування таких кодувань назад у двійкові дані. Він надає функції " +"кодування та декодування для кодувань, указаних у :rfc:`4648`, який визначає " +"алгоритми Base16, Base32 і Base64, а також для стандартних кодувань Ascii85 " +"і Base85." + +msgid "" +"The :rfc:`4648` encodings are suitable for encoding binary data so that it " +"can be safely sent by email, used as parts of URLs, or included as part of " +"an HTTP POST request. The encoding algorithm is not the same as the :" +"program:`uuencode` program." +msgstr "" +"Кодування :rfc:`4648` підходить для кодування двійкових даних, щоб їх можна " +"було безпечно надсилати електронною поштою, використовувати як частини URL-" +"адрес або додавати як частину запиту HTTP POST. Алгоритм кодування не такий " +"самий, як програма :program:`uuencode`." + +msgid "" +"There are two interfaces provided by this module. The modern interface " +"supports encoding :term:`bytes-like objects ` to ASCII :" +"class:`bytes`, and decoding :term:`bytes-like objects ` " +"or strings containing ASCII to :class:`bytes`. Both base-64 alphabets " +"defined in :rfc:`4648` (normal, and URL- and filesystem-safe) are supported." +msgstr "" +"Цей модуль має два інтерфейси. Сучасний інтерфейс підтримує кодування :term:" +"`bytes-подібних об’єктів ` в ASCII :class:`bytes` і " +"декодування :term:`bytes-подібних об’єктів ` або рядків, " +"що містять ASCII в :class:`bytes`. Підтримуються обидва алфавіти base-64, " +"визначені в :rfc:`4648` (звичайний і безпечний для URL-адрес і файлової " +"системи)." + +msgid "" +"The legacy interface does not support decoding from strings, but it does " +"provide functions for encoding and decoding to and from :term:`file objects " +"`. It only supports the Base64 standard alphabet, and it adds " +"newlines every 76 characters as per :rfc:`2045`. Note that if you are " +"looking for :rfc:`2045` support you probably want to be looking at the :mod:" +"`email` package instead." +msgstr "" +"Застарілий інтерфейс не підтримує декодування з рядків, але він надає " +"функції для кодування та декодування до та з :term:`файлових об’єктів `. Він підтримує лише стандартний алфавіт Base64 і додає нові рядки " +"кожні 76 символів відповідно до :rfc:`2045`. Зауважте, що якщо ви шукаєте " +"підтримку :rfc:`2045`, ви, ймовірно, захочете подивитися на пакет :mod:" +"`email`." + +msgid "" +"ASCII-only Unicode strings are now accepted by the decoding functions of the " +"modern interface." +msgstr "" +"Тепер функції декодування сучасного інтерфейсу приймають рядки Unicode лише " +"для ASCII." + +msgid "" +"Any :term:`bytes-like objects ` are now accepted by all " +"encoding and decoding functions in this module. Ascii85/Base85 support " +"added." +msgstr "" +"Будь-які :term:`байтоподібні об’єкти ` тепер приймаються " +"всіма функціями кодування та декодування в цьому модулі. Додано підтримку " +"Ascii85/Base85." + +msgid "The modern interface provides:" +msgstr "Сучасний інтерфейс забезпечує:" + +msgid "" +"Encode the :term:`bytes-like object` *s* using Base64 and return the " +"encoded :class:`bytes`." +msgstr "" +"Закодуйте :term:`bytes-like object` *s* за допомогою Base64 і поверніть " +"закодовані :class:`bytes`." + +msgid "" +"Optional *altchars* must be a :term:`bytes-like object` of at least length 2 " +"(additional characters are ignored) which specifies an alternative alphabet " +"for the ``+`` and ``/`` characters. This allows an application to e.g. " +"generate URL or filesystem safe Base64 strings. The default is ``None``, " +"for which the standard Base64 alphabet is used." +msgstr "" +"Необов’язковий *altchars* має бути :term:`bytes-like object` довжиною " +"принаймні 2 (додаткові символи ігноруються), який визначає альтернативний " +"алфавіт для символів ``+`` і ``/``. Це дозволяє програмі, наприклад, " +"генерувати безпечні рядки Base64 URL або файлової системи. Типовим значенням " +"є ``None``, для якого використовується стандартний алфавіт Base64." + +msgid "" +"Decode the Base64 encoded :term:`bytes-like object` or ASCII string *s* and " +"return the decoded :class:`bytes`." +msgstr "" +"Декодуйте закодований Base64 :term:`bytes-like object` або рядок ASCII *s* і " +"повертайте розкодований :class:`bytes`." + +msgid "" +"Optional *altchars* must be a :term:`bytes-like object` or ASCII string of " +"at least length 2 (additional characters are ignored) which specifies the " +"alternative alphabet used instead of the ``+`` and ``/`` characters." +msgstr "" +"Необов’язковий *altchars* має бути :term:`bytes-like object` або рядком " +"ASCII довжиною принаймні 2 (додаткові символи ігноруються), який визначає " +"альтернативний алфавіт, який використовується замість ``+`` і ``/`` " +"персонажів." + +msgid "" +"A :exc:`binascii.Error` exception is raised if *s* is incorrectly padded." +msgstr "" +"Виняток :exc:`binascii.Error` викликається, якщо *s* неправильно доповнено." + +msgid "" +"If *validate* is ``False`` (the default), characters that are neither in the " +"normal base-64 alphabet nor the alternative alphabet are discarded prior to " +"the padding check. If *validate* is ``True``, these non-alphabet characters " +"in the input result in a :exc:`binascii.Error`." +msgstr "" +"Якщо *validate* має значення ``False`` (за замовчуванням), символи, які не " +"належать ні до звичайного алфавіту base-64, ні до альтернативного алфавіту, " +"відкидаються перед перевіркою заповнення. Якщо *validate* має значення " +"``True``, ці неалфавітні символи у вхідних даних призводять до :exc:" +"`binascii.Error`." + +msgid "" +"For more information about the strict base64 check, see :func:`binascii." +"a2b_base64`" +msgstr "" + +msgid "" +"Encode :term:`bytes-like object` *s* using the standard Base64 alphabet and " +"return the encoded :class:`bytes`." +msgstr "" +"Кодуйте :term:`bytes-like object` *s* за допомогою стандартного алфавіту " +"Base64 і повертайте закодовані :class:`bytes`." + +msgid "" +"Decode :term:`bytes-like object` or ASCII string *s* using the standard " +"Base64 alphabet and return the decoded :class:`bytes`." +msgstr "" +"Декодуйте :term:`bytes-like object` або рядок ASCII *s* за допомогою " +"стандартного алфавіту Base64 і повертайте декодований :class:`bytes`." + +msgid "" +"Encode :term:`bytes-like object` *s* using the URL- and filesystem-safe " +"alphabet, which substitutes ``-`` instead of ``+`` and ``_`` instead of ``/" +"`` in the standard Base64 alphabet, and return the encoded :class:`bytes`. " +"The result can still contain ``=``." +msgstr "" +"Кодуйте :term:`bytes-like object` *s* за допомогою алфавіту, безпечного для " +"URL-адреси та файлової системи, який замінює ``-`` замість ``+`` і ``_`` " +"замість ``/`` у стандартному алфавіті Base64 і повертає закодовані :class:" +"`bytes`. Результат все ще може містити ``=``." + +msgid "" +"Decode :term:`bytes-like object` or ASCII string *s* using the URL- and " +"filesystem-safe alphabet, which substitutes ``-`` instead of ``+`` and ``_`` " +"instead of ``/`` in the standard Base64 alphabet, and return the decoded :" +"class:`bytes`." +msgstr "" +"Декодуйте :term:`bytes-like object` або рядок ASCII *s* за допомогою " +"алфавіту, безпечного для URL-адреси та файлової системи, який замінює ``-`` " +"замість ``+`` і ``_`` замість ``/`` у стандартному алфавіті Base64 і " +"повертає декодовані :class:`bytes`." + +msgid "" +"Encode the :term:`bytes-like object` *s* using Base32 and return the " +"encoded :class:`bytes`." +msgstr "" +"Закодуйте :term:`bytes-like object` *s* за допомогою Base32 і поверніть " +"закодовані :class:`bytes`." + +msgid "" +"Decode the Base32 encoded :term:`bytes-like object` or ASCII string *s* and " +"return the decoded :class:`bytes`." +msgstr "" +"Декодуйте закодований Base32 :term:`bytes-like object` або рядок ASCII *s* і " +"повертайте розкодований :class:`bytes`." + +msgid "" +"Optional *casefold* is a flag specifying whether a lowercase alphabet is " +"acceptable as input. For security purposes, the default is ``False``." +msgstr "" +"Необов’язковий *casefold* — це позначка, яка вказує, чи прийнятний алфавіт у " +"нижньому регістрі як вхідні дані. З міркувань безпеки за умовчанням " +"встановлено значення ``False``." + +msgid "" +":rfc:`4648` allows for optional mapping of the digit 0 (zero) to the letter " +"O (oh), and for optional mapping of the digit 1 (one) to either the letter I " +"(eye) or letter L (el). The optional argument *map01* when not ``None``, " +"specifies which letter the digit 1 should be mapped to (when *map01* is not " +"``None``, the digit 0 is always mapped to the letter O). For security " +"purposes the default is ``None``, so that 0 and 1 are not allowed in the " +"input." +msgstr "" +":rfc:`4648` дозволяє додаткове відображення цифри 0 (нуль) на літеру O (oh), " +"а також додаткове відображення цифри 1 (один) у літеру I (око) або літеру L " +"(el) . Необов’язковий аргумент *map01*, якщо він не \"None\", визначає, на " +"яку букву має бути зіставлено цифру 1 (якщо *map01* не є \"None\", цифра 0 " +"завжди зіставляється з літерою O). З міркувань безпеки типовим значенням є " +"``None``, тому 0 і 1 не допускаються у вхідних даних." + +msgid "" +"A :exc:`binascii.Error` is raised if *s* is incorrectly padded or if there " +"are non-alphabet characters present in the input." +msgstr "" +"Помилка :exc:`binascii.Error` виникає, якщо *s* неправильно доповнено або " +"якщо у вхідних даних присутні символи не алфавіту." + +msgid "" +"Similar to :func:`b32encode` but uses the Extended Hex Alphabet, as defined " +"in :rfc:`4648`." +msgstr "" +"Подібно до :func:`b32encode`, але використовує розширений шістнадцятковий " +"алфавіт, як визначено в :rfc:`4648`." + +msgid "" +"Similar to :func:`b32decode` but uses the Extended Hex Alphabet, as defined " +"in :rfc:`4648`." +msgstr "" +"Подібно до :func:`b32decode`, але використовує розширений шістнадцятковий " +"алфавіт, як визначено в :rfc:`4648`." + +msgid "" +"This version does not allow the digit 0 (zero) to the letter O (oh) and " +"digit 1 (one) to either the letter I (eye) or letter L (el) mappings, all " +"these characters are included in the Extended Hex Alphabet and are not " +"interchangeable." +msgstr "" +"У цій версії не допускається зіставлення цифри 0 (нуль) з літерою O (oh) і " +"цифри 1 (один) з літерою I (око) або літерою L (el). Усі ці символи входять " +"до розширеного шістнадцяткового алфавіту. і не є взаємозамінними." + +msgid "" +"Encode the :term:`bytes-like object` *s* using Base16 and return the " +"encoded :class:`bytes`." +msgstr "" +"Закодуйте :term:`bytes-like object` *s* за допомогою Base16 і поверніть " +"закодовані :class:`bytes`." + +msgid "" +"Decode the Base16 encoded :term:`bytes-like object` or ASCII string *s* and " +"return the decoded :class:`bytes`." +msgstr "" +"Декодуйте закодований Base16 :term:`bytes-like object` або рядок ASCII *s* і " +"повертайте розкодований :class:`bytes`." + +msgid "" +"Encode the :term:`bytes-like object` *b* using Ascii85 and return the " +"encoded :class:`bytes`." +msgstr "" +"Закодуйте :term:`bytes-like object` *b* за допомогою Ascii85 та поверніть " +"закодовані :class:`bytes`." + +msgid "" +"*foldspaces* is an optional flag that uses the special short sequence 'y' " +"instead of 4 consecutive spaces (ASCII 0x20) as supported by 'btoa'. This " +"feature is not supported by the \"standard\" Ascii85 encoding." +msgstr "" +"*foldspaces* — це необов’язковий прапорець, який використовує спеціальну " +"коротку послідовність \"y\" замість 4 послідовних пробілів (ASCII 0x20), як " +"це підтримується \"btoa\". Ця функція не підтримується \"стандартним\" " +"кодуванням Ascii85." + +msgid "" +"*wrapcol* controls whether the output should have newline (``b'\\n'``) " +"characters added to it. If this is non-zero, each output line will be at " +"most this many characters long." +msgstr "" +"*wrapcol* контролює, чи слід додавати до виводу символи нового рядка " +"(``b'\\n'``). Якщо значення відмінне від нуля, кожен вихідний рядок матиме " +"щонайбільше стільки символів." + +msgid "" +"*pad* controls whether the input is padded to a multiple of 4 before " +"encoding. Note that the ``btoa`` implementation always pads." +msgstr "" +"*pad* контролює, чи додається вхід до числа, кратного 4, перед кодуванням. " +"Зауважте, що реалізація ``btoa`` завжди доповнює." + +msgid "" +"*adobe* controls whether the encoded byte sequence is framed with ``<~`` and " +"``~>``, which is used by the Adobe implementation." +msgstr "" +"*adobe* контролює, чи буде закодована послідовність байтів обрамлена ``<~`` " +"and ``~>``, яка використовується реалізацією Adobe." + +msgid "" +"Decode the Ascii85 encoded :term:`bytes-like object` or ASCII string *b* and " +"return the decoded :class:`bytes`." +msgstr "" +"Декодуйте закодований Ascii85 :term:`bytes-like object` або рядок ASCII *b* " +"та повертайте декодований :class:`bytes`." + +msgid "" +"*foldspaces* is a flag that specifies whether the 'y' short sequence should " +"be accepted as shorthand for 4 consecutive spaces (ASCII 0x20). This feature " +"is not supported by the \"standard\" Ascii85 encoding." +msgstr "" +"*foldspaces* — це позначка, яка вказує, чи слід приймати коротку " +"послідовність 'y' як скорочення для 4 послідовних пробілів (ASCII 0x20). Ця " +"функція не підтримується \"стандартним\" кодуванням Ascii85." + +msgid "" +"*adobe* controls whether the input sequence is in Adobe Ascii85 format (i.e. " +"is framed with <~ and ~>)." +msgstr "" +"*adobe* контролює, чи буде вхідна послідовність у форматі Adobe Ascii85 " +"(тобто в рамці <~ and ~>)." + +msgid "" +"*ignorechars* should be a :term:`bytes-like object` or ASCII string " +"containing characters to ignore from the input. This should only contain " +"whitespace characters, and by default contains all whitespace characters in " +"ASCII." +msgstr "" +"*ignorechars* має бути :term:`bytes-like object` або рядком ASCII, що " +"містить символи, які слід ігнорувати у введених даних. Він має містити лише " +"пробільні символи та за замовчуванням містить усі пробільні символи в ASCII." + +msgid "" +"Encode the :term:`bytes-like object` *b* using base85 (as used in e.g. git-" +"style binary diffs) and return the encoded :class:`bytes`." +msgstr "" +"Закодуйте :term:`bytes-like object` *b* за допомогою base85 (як " +"використовується, наприклад, у бінарних відмінностях у стилі git) і " +"поверніть закодований :class:`bytes`." + +msgid "" +"If *pad* is true, the input is padded with ``b'\\0'`` so its length is a " +"multiple of 4 bytes before encoding." +msgstr "" +"Якщо *pad* має значення true, вхід доповнюється ``b'\\0``, тому його довжина " +"є кратною 4 байтам перед кодуванням." + +msgid "" +"Decode the base85-encoded :term:`bytes-like object` or ASCII string *b* and " +"return the decoded :class:`bytes`. Padding is implicitly removed, if " +"necessary." +msgstr "" +"Декодуйте закодований base85 :term:`bytes-like object` або рядок ASCII *b* " +"та повертайте декодований :class:`bytes`. Відступи неявно видаляються, якщо " +"необхідно." + +msgid "The legacy interface:" +msgstr "Застарілий інтерфейс:" + +msgid "" +"Decode the contents of the binary *input* file and write the resulting " +"binary data to the *output* file. *input* and *output* must be :term:`file " +"objects `. *input* will be read until ``input.readline()`` " +"returns an empty bytes object." +msgstr "" +"Декодуйте вміст двійкового *вхідного* файлу та запишіть отримані двійкові " +"дані у *вихідний* файл. *вхід* і *вихід* мають бути :term:`файловими " +"об’єктами `. *input* читатиметься, доки ``input.readline()`` не " +"поверне порожній об’єкт bytes." + +msgid "" +"Decode the :term:`bytes-like object` *s*, which must contain one or more " +"lines of base64 encoded data, and return the decoded :class:`bytes`." +msgstr "" +"Декодуйте :term:`bytes-like object` *s*, який має містити один або кілька " +"рядків даних у кодуванні base64, і повертайте розкодовані :class:`bytes`." + +msgid "" +"Encode the contents of the binary *input* file and write the resulting " +"base64 encoded data to the *output* file. *input* and *output* must be :term:" +"`file objects `. *input* will be read until ``input.read()`` " +"returns an empty bytes object. :func:`encode` inserts a newline character " +"(``b'\\n'``) after every 76 bytes of the output, as well as ensuring that " +"the output always ends with a newline, as per :rfc:`2045` (MIME)." +msgstr "" +"Закодуйте вміст двійкового *вхідного* файлу та запишіть отримані дані в " +"кодуванні base64 у *вихідний* файл. *вхід* і *вихід* мають бути :term:" +"`файловими об’єктами `. *input* читатиметься, доки ``input." +"read()`` не поверне порожній об’єкт bytes. :func:`encode` вставляє символ " +"нового рядка (``b'\\n'``) після кожних 76 байтів виводу, а також гарантує, " +"що вивід завжди закінчується символом нового рядка, відповідно до :rfc:" +"`2045` (MIME)." + +msgid "" +"Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary " +"data, and return :class:`bytes` containing the base64-encoded data, with " +"newlines (``b'\\n'``) inserted after every 76 bytes of output, and ensuring " +"that there is a trailing newline, as per :rfc:`2045` (MIME)." +msgstr "" +"Закодуйте :term:`bytes-like object` *s*, який може містити довільні двійкові " +"дані, і поверніть :class:`bytes`, що містить дані в кодуванні base64, із " +"символами нового рядка (``b'\\n'``) вставляється після кожних 76 байтів " +"виводу та забезпечує наявність кінцевого нового рядка відповідно до :rfc:" +"`2045` (MIME)." + +msgid "An example usage of the module:" +msgstr "Приклад використання модуля:" + +msgid "Security Considerations" +msgstr "Міркування безпеки" + +msgid "" +"A new security considerations section was added to :rfc:`4648` (section 12); " +"it's recommended to review the security section for any code deployed to " +"production." +msgstr "" +"Новий розділ міркувань безпеки додано до :rfc:`4648` (розділ 12); " +"рекомендуємо переглянути розділ безпеки для будь-якого коду, розгорнутого в " +"робочій версії." + +msgid "Module :mod:`binascii`" +msgstr "Модуль :mod:`binascii`" + +msgid "" +"Support module containing ASCII-to-binary and binary-to-ASCII conversions." +msgstr "" +"Модуль підтримки, що містить перетворення ASCII у двійковий і двійковий у " +"ASCII." + +msgid "" +":rfc:`1521` - MIME (Multipurpose Internet Mail Extensions) Part One: " +"Mechanisms for Specifying and Describing the Format of Internet Message " +"Bodies" +msgstr "" +":rfc:`1521` - MIME (багатоцільові розширення інтернет-пошти), частина перша: " +"механізми визначення й опису формату тіл інтернет-повідомлень" + +msgid "" +"Section 5.2, \"Base64 Content-Transfer-Encoding,\" provides the definition " +"of the base64 encoding." +msgstr "" +"Розділ 5.2 \"Кодування передачі вмісту Base64\" містить визначення кодування " +"base64." diff --git a/library/bdb.po b/library/bdb.po new file mode 100644 index 000000000..da5562c5d --- /dev/null +++ b/library/bdb.po @@ -0,0 +1,591 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:55+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`bdb` --- Debugger framework" +msgstr ":mod:`bdb` --- Фреймворк налагоджувача" + +msgid "**Source code:** :source:`Lib/bdb.py`" +msgstr "**Вихідний код:** :source:`Lib/bdb.py`" + +msgid "" +"The :mod:`bdb` module handles basic debugger functions, like setting " +"breakpoints or managing execution via the debugger." +msgstr "" +"Модуль :mod:`bdb` обробляє основні функції налагоджувача, як-от встановлення " +"точок зупину або керування виконанням через налагоджувач." + +msgid "The following exception is defined:" +msgstr "Визначено такий виняток:" + +msgid "Exception raised by the :class:`Bdb` class for quitting the debugger." +msgstr "Виняток, створений класом :class:`Bdb` для виходу з налагоджувача." + +msgid "The :mod:`bdb` module also defines two classes:" +msgstr "Модуль :mod:`bdb` також визначає два класи:" + +msgid "" +"This class implements temporary breakpoints, ignore counts, disabling and " +"(re-)enabling, and conditionals." +msgstr "" +"Цей клас реалізує тимчасові точки зупинки, ігнорування підрахунків, " +"відключення та (повторне) увімкнення, а також умови." + +msgid "" +"Breakpoints are indexed by number through a list called :attr:`bpbynumber` " +"and by ``(file, line)`` pairs through :attr:`bplist`. The former points to " +"a single instance of class :class:`Breakpoint`. The latter points to a list " +"of such instances since there may be more than one breakpoint per line." +msgstr "" +"Точки зупину індексуються за номером у списку під назвою :attr:`bpbynumber` " +"та парами ``(файл, рядок)`` через :attr:`bplist`. Перший вказує на єдиний " +"екземпляр класу :class:`Breakpoint`. Останній вказує на список таких " +"випадків, оскільки на рядок може бути більше однієї точки зупину." + +msgid "" +"When creating a breakpoint, its associated :attr:`file name ` should " +"be in canonical form. If a :attr:`funcname` is defined, a breakpoint :attr:" +"`hit ` will be counted when the first line of that function is " +"executed. A :attr:`conditional ` breakpoint always counts a :attr:" +"`hit `." +msgstr "" + +msgid ":class:`Breakpoint` instances have the following methods:" +msgstr "Екземпляри :class:`Breakpoint` мають такі методи:" + +msgid "" +"Delete the breakpoint from the list associated to a file/line. If it is the " +"last breakpoint in that position, it also deletes the entry for the file/" +"line." +msgstr "" +"Видалити точку зупину зі списку, пов’язаного з файлом/рядком. Якщо це " +"остання точка зупину в цій позиції, вона також видаляє запис для файлу/рядка." + +msgid "Mark the breakpoint as enabled." +msgstr "Позначте точку зупину як увімкнену." + +msgid "Mark the breakpoint as disabled." +msgstr "Позначте точку зупину як вимкнену." + +msgid "" +"Return a string with all the information about the breakpoint, nicely " +"formatted:" +msgstr "" +"Повертає рядок з усією інформацією про точку зупину, красиво відформатований:" + +msgid "Breakpoint number." +msgstr "" + +msgid "Temporary status (del or keep)." +msgstr "" + +msgid "File/line position." +msgstr "" + +msgid "Break condition." +msgstr "" + +msgid "Number of times to ignore." +msgstr "" + +msgid "Number of times hit." +msgstr "" + +msgid "" +"Print the output of :meth:`bpformat` to the file *out*, or if it is " +"``None``, to standard output." +msgstr "" +"Надрукувати вихідні дані :meth:`bpformat` у файл *out*, або, якщо він " +"``None``, у стандартний вихід." + +msgid ":class:`Breakpoint` instances have the following attributes:" +msgstr "" + +msgid "File name of the :class:`Breakpoint`." +msgstr "" + +msgid "Line number of the :class:`Breakpoint` within :attr:`file`." +msgstr "" + +msgid "True if a :class:`Breakpoint` at (file, line) is temporary." +msgstr "" + +msgid "Condition for evaluating a :class:`Breakpoint` at (file, line)." +msgstr "" + +msgid "" +"Function name that defines whether a :class:`Breakpoint` is hit upon " +"entering the function." +msgstr "" + +msgid "True if :class:`Breakpoint` is enabled." +msgstr "" + +msgid "Numeric index for a single instance of a :class:`Breakpoint`." +msgstr "" + +msgid "" +"Dictionary of :class:`Breakpoint` instances indexed by (:attr:`file`, :attr:" +"`line`) tuples." +msgstr "" + +msgid "Number of times to ignore a :class:`Breakpoint`." +msgstr "" + +msgid "Count of the number of times a :class:`Breakpoint` has been hit." +msgstr "" + +msgid "The :class:`Bdb` class acts as a generic Python debugger base class." +msgstr "Клас :class:`Bdb` діє як загальний базовий клас налагоджувача Python." + +msgid "" +"This class takes care of the details of the trace facility; a derived class " +"should implement user interaction. The standard debugger class (:class:`pdb." +"Pdb`) is an example." +msgstr "" +"Цей клас піклується про деталі засобу трасування; похідний клас повинен " +"реалізовувати взаємодію з користувачем. Прикладом є стандартний клас " +"відладчика (:class:`pdb.Pdb`)." + +msgid "" +"The *skip* argument, if given, must be an iterable of glob-style module name " +"patterns. The debugger will not step into frames that originate in a module " +"that matches one of these patterns. Whether a frame is considered to " +"originate in a certain module is determined by the ``__name__`` in the frame " +"globals." +msgstr "" +"Аргумент *skip*, якщо він наданий, має бути повторюваним шаблоном імен " +"модулів у стилі glob. Налагоджувач не ввійде в кадри, які походять із " +"модуля, який відповідає одному з цих шаблонів. Чи вважається, що фрейм " +"походить із певного модуля, визначається ``__name__`` у глобальних " +"параметрах фрейму." + +msgid "The *skip* argument." +msgstr "Аргумент *пропустити*." + +msgid "" +"The following methods of :class:`Bdb` normally don't need to be overridden." +msgstr "Наступні методи :class:`Bdb` зазвичай не потребують перевизначення." + +msgid "Return canonical form of *filename*." +msgstr "" + +msgid "" +"For real file names, the canonical form is an operating-system-dependent, :" +"func:`case-normalized ` :func:`absolute path `. A *filename* with angle brackets, such as ``\"\"`` " +"generated in interactive mode, is returned unchanged." +msgstr "" + +msgid "" +"Set the :attr:`botframe`, :attr:`stopframe`, :attr:`returnframe` and :attr:" +"`quitting` attributes with values ready to start debugging." +msgstr "" +"Установіть атрибути :attr:`botframe`, :attr:`stopframe`, :attr:`returnframe` " +"і :attr:`quitting` зі значеннями, готовими до початку налагодження." + +msgid "" +"This function is installed as the trace function of debugged frames. Its " +"return value is the new trace function (in most cases, that is, itself)." +msgstr "" +"Ця функція встановлена як функція трасування налагоджених кадрів. Його " +"значенням, що повертається, є нова функція трасування (у більшості випадків, " +"тобто сама)." + +msgid "" +"The default implementation decides how to dispatch a frame, depending on the " +"type of event (passed as a string) that is about to be executed. *event* can " +"be one of the following:" +msgstr "" +"Реалізація за замовчуванням вирішує, як відправляти кадр, залежно від типу " +"події (переданої у вигляді рядка), яка має бути виконана. *подією* може бути " +"одне з наступного:" + +msgid "``\"line\"``: A new line of code is going to be executed." +msgstr "``\"рядок\"``: буде виконано новий рядок коду." + +msgid "" +"``\"call\"``: A function is about to be called, or another code block " +"entered." +msgstr "``\"виклик\"``: функція буде викликана або введено інший блок коду." + +msgid "``\"return\"``: A function or other code block is about to return." +msgstr "``\"return\"``: функція або інший блок коду збирається повернутися." + +msgid "``\"exception\"``: An exception has occurred." +msgstr "``\"exception\"``: сталася виняток." + +msgid "``\"c_call\"``: A C function is about to be called." +msgstr "``\"c_call\"``: функція C збирається викликатися." + +msgid "``\"c_return\"``: A C function has returned." +msgstr "``\"c_return\"``: функція C повернулася." + +msgid "``\"c_exception\"``: A C function has raised an exception." +msgstr "``\"c_exception\"``: функція C викликала виняток." + +msgid "" +"For the Python events, specialized functions (see below) are called. For " +"the C events, no action is taken." +msgstr "" +"Для подій Python викликаються спеціалізовані функції (див. нижче). Для подій " +"C не виконується жодних дій." + +msgid "The *arg* parameter depends on the previous event." +msgstr "Параметр *arg* залежить від попередньої події." + +msgid "" +"See the documentation for :func:`sys.settrace` for more information on the " +"trace function. For more information on code and frame objects, refer to :" +"ref:`types`." +msgstr "" +"Перегляньте документацію для :func:`sys.settrace`, щоб дізнатися більше про " +"функцію трасування. Для отримання додаткової інформації про код і об’єкти " +"фрейму зверніться до :ref:`types`." + +msgid "" +"If the debugger should stop on the current line, invoke the :meth:" +"`user_line` method (which should be overridden in subclasses). Raise a :exc:" +"`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can be " +"set from :meth:`user_line`). Return a reference to the :meth:" +"`trace_dispatch` method for further tracing in that scope." +msgstr "" +"Якщо налагоджувач повинен зупинитися на поточному рядку, викличте метод :" +"meth:`user_line` (який має бути перевизначений у підкласах). Викликайте " +"виняток :exc:`BdbQuit`, якщо встановлено прапорець :attr:`Bdb.quitting` " +"(який можна встановити з :meth:`user_line`). Повернути посилання на метод :" +"meth:`trace_dispatch` для подальшого відстеження в цій області." + +msgid "" +"If the debugger should stop on this function call, invoke the :meth:" +"`user_call` method (which should be overridden in subclasses). Raise a :exc:" +"`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can be " +"set from :meth:`user_call`). Return a reference to the :meth:" +"`trace_dispatch` method for further tracing in that scope." +msgstr "" +"Якщо налагоджувач зупиниться на цьому виклику функції, викличте метод :meth:" +"`user_call` (який має бути перевизначений у підкласах). Викликайте виняток :" +"exc:`BdbQuit`, якщо встановлено прапорець :attr:`Bdb.quitting` (який можна " +"встановити з :meth:`user_call`). Повернути посилання на метод :meth:" +"`trace_dispatch` для подальшого відстеження в цій області." + +msgid "" +"If the debugger should stop on this function return, invoke the :meth:" +"`user_return` method (which should be overridden in subclasses). Raise a :" +"exc:`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can " +"be set from :meth:`user_return`). Return a reference to the :meth:" +"`trace_dispatch` method for further tracing in that scope." +msgstr "" +"Якщо налагоджувач повинен зупинитися на цьому поверненні функції, викличте " +"метод :meth:`user_return` (який має бути перевизначений у підкласах). " +"Викликайте виняток :exc:`BdbQuit`, якщо встановлено прапорець :attr:`Bdb." +"quitting` (який можна встановити з :meth:`user_return`). Повернути посилання " +"на метод :meth:`trace_dispatch` для подальшого відстеження в цій області." + +msgid "" +"If the debugger should stop at this exception, invokes the :meth:" +"`user_exception` method (which should be overridden in subclasses). Raise a :" +"exc:`BdbQuit` exception if the :attr:`Bdb.quitting` flag is set (which can " +"be set from :meth:`user_exception`). Return a reference to the :meth:" +"`trace_dispatch` method for further tracing in that scope." +msgstr "" +"Якщо налагоджувач повинен зупинитися на цій винятковій ситуації, викликає " +"метод :meth:`user_exception` (який має бути перевизначений у підкласах). " +"Викликайте виняток :exc:`BdbQuit`, якщо встановлено прапорець :attr:`Bdb." +"quitting` (який можна встановити з :meth:`user_exception`). Повернути " +"посилання на метод :meth:`trace_dispatch` для подальшого відстеження в цій " +"області." + +msgid "" +"Normally derived classes don't override the following methods, but they may " +"if they want to redefine the definition of stopping and breakpoints." +msgstr "" +"Зазвичай похідні класи не замінюють наступні методи, але вони можуть, якщо " +"хочуть перевизначити визначення зупинки та точок зупинки." + +msgid "Return True if *module_name* matches any skip pattern." +msgstr "" + +msgid "Return True if *frame* is below the starting frame in the stack." +msgstr "" + +msgid "Return True if there is an effective breakpoint for this line." +msgstr "" + +msgid "" +"Check whether a line or function breakpoint exists and is in effect. Delete " +"temporary breakpoints based on information from :func:`effective`." +msgstr "" + +msgid "Return True if any breakpoint exists for *frame*'s filename." +msgstr "" + +msgid "" +"Derived classes should override these methods to gain control over debugger " +"operation." +msgstr "" +"Похідні класи повинні перевизначати ці методи, щоб отримати контроль над " +"роботою відладчика." + +msgid "" +"Called from :meth:`dispatch_call` if a break might stop inside the called " +"function." +msgstr "" + +msgid "" +"Called from :meth:`dispatch_line` when either :meth:`stop_here` or :meth:" +"`break_here` returns ``True``." +msgstr "" + +msgid "" +"Called from :meth:`dispatch_return` when :meth:`stop_here` returns ``True``." +msgstr "" + +msgid "" +"Called from :meth:`dispatch_exception` when :meth:`stop_here` returns " +"``True``." +msgstr "" + +msgid "Handle how a breakpoint must be removed when it is a temporary one." +msgstr "Визначте, як потрібно видалити точку зупину, якщо вона є тимчасовою." + +msgid "This method must be implemented by derived classes." +msgstr "Цей метод має бути реалізований похідними класами." + +msgid "" +"Derived classes and clients can call the following methods to affect the " +"stepping state." +msgstr "" +"Похідні класи та клієнти можуть викликати наступні методи, щоб впливати на " +"кроковий стан." + +msgid "Stop after one line of code." +msgstr "Зупинка після одного рядка коду." + +msgid "Stop on the next line in or below the given frame." +msgstr "Зупиніться на наступному рядку в заданому кадрі або під ним." + +msgid "Stop when returning from the given frame." +msgstr "Зупинка при поверненні із заданого кадру." + +msgid "" +"Stop when the line with the *lineno* greater than the current one is reached " +"or when returning from current frame." +msgstr "" + +msgid "" +"Start debugging from *frame*. If *frame* is not specified, debugging starts " +"from caller's frame." +msgstr "" +"Почніть налагодження з *фрейму*. Якщо *frame* не вказано, налагодження " +"починається з кадру абонента." + +msgid "" +"Stop only at breakpoints or when finished. If there are no breakpoints, set " +"the system trace function to ``None``." +msgstr "" +"Зупиняйтеся лише в точках зупинки або після завершення. Якщо немає " +"контрольних точок, встановіть для функції трасування системи значення " +"``None``." + +msgid "" +"Set the :attr:`quitting` attribute to ``True``. This raises :exc:`BdbQuit` " +"in the next call to one of the :meth:`dispatch_\\*` methods." +msgstr "" +"Встановіть для атрибута :attr:`quitting` значення ``True``. Це викликає :exc:" +"`BdbQuit` під час наступного виклику одного з методів :meth:`dispatch_\\*`." + +msgid "" +"Derived classes and clients can call the following methods to manipulate " +"breakpoints. These methods return a string containing an error message if " +"something went wrong, or ``None`` if all is well." +msgstr "" +"Похідні класи та клієнти можуть викликати наведені нижче методи для " +"керування точками зупинки. Ці методи повертають рядок, що містить " +"повідомлення про помилку, якщо щось пішло не так, або ``None``, якщо все " +"добре." + +msgid "" +"Set a new breakpoint. If the *lineno* line doesn't exist for the *filename* " +"passed as argument, return an error message. The *filename* should be in " +"canonical form, as described in the :meth:`canonic` method." +msgstr "" +"Встановіть нову точку зупинки. Якщо рядок *lineno* не існує для *ім’я " +"файлу*, переданого як аргумент, поверніть повідомлення про помилку. *Ім’я* " +"файлу має бути в канонічній формі, як описано в методі :meth:`canonic`." + +msgid "" +"Delete the breakpoints in *filename* and *lineno*. If none were set, return " +"an error message." +msgstr "" + +msgid "" +"Delete the breakpoint which has the index *arg* in the :attr:`Breakpoint." +"bpbynumber`. If *arg* is not numeric or out of range, return an error " +"message." +msgstr "" +"Видаліть точку зупину, яка має індекс *arg* у :attr:`Breakpoint.bpbynumber`. " +"Якщо *arg* не є числом або виходить за межі діапазону, повертає повідомлення " +"про помилку." + +msgid "" +"Delete all breakpoints in *filename*. If none were set, return an error " +"message." +msgstr "" + +msgid "" +"Delete all existing breakpoints. If none were set, return an error message." +msgstr "" + +msgid "" +"Return a breakpoint specified by the given number. If *arg* is a string, it " +"will be converted to a number. If *arg* is a non-numeric string, if the " +"given breakpoint never existed or has been deleted, a :exc:`ValueError` is " +"raised." +msgstr "" +"Повертає точку зупину, визначену заданим числом. Якщо *arg* є рядком, його " +"буде перетворено на число. Якщо *arg* є нечисловим рядком, якщо задана точка " +"зупину ніколи не існувала або була видалена, виникає :exc:`ValueError`." + +msgid "Return True if there is a breakpoint for *lineno* in *filename*." +msgstr "" + +msgid "" +"Return all breakpoints for *lineno* in *filename*, or an empty list if none " +"are set." +msgstr "" +"Повертає всі контрольні точки для *lineno* в *імені файлу* або порожній " +"список, якщо жодна з них не встановлена." + +msgid "Return all breakpoints in *filename*, or an empty list if none are set." +msgstr "" +"Повертає всі контрольні точки в *назві файлу* або порожній список, якщо " +"жодна з них не встановлена." + +msgid "Return all breakpoints that are set." +msgstr "Повернути всі встановлені точки зупину." + +msgid "" +"Derived classes and clients can call the following methods to get a data " +"structure representing a stack trace." +msgstr "" +"Похідні класи та клієнти можуть викликати наведені нижче методи, щоб " +"отримати структуру даних, що представляє трасування стека." + +msgid "Return a list of (frame, lineno) tuples in a stack trace, and a size." +msgstr "" + +msgid "" +"The most recently called frame is last in the list. The size is the number " +"of frames below the frame where the debugger was invoked." +msgstr "" + +msgid "" +"Return a string with information about a stack entry, which is a ``(frame, " +"lineno)`` tuple. The return string contains:" +msgstr "" + +msgid "The canonical filename which contains the frame." +msgstr "" + +msgid "The function name or ``\"\"``." +msgstr "" + +msgid "The input arguments." +msgstr "Вхідні аргументи." + +msgid "The return value." +msgstr "Повернене значення." + +msgid "The line of code (if it exists)." +msgstr "Рядок коду (якщо він існує)." + +msgid "" +"The following two methods can be called by clients to use a debugger to " +"debug a :term:`statement`, given as a string." +msgstr "" +"Наступні два методи можуть бути викликані клієнтами для використання " +"налагоджувача для налагодження :term:`statement`, поданого як рядок." + +msgid "" +"Debug a statement executed via the :func:`exec` function. *globals* " +"defaults to :attr:`__main__.__dict__`, *locals* defaults to *globals*." +msgstr "" +"Налагодити оператор, який виконується за допомогою функції :func:`exec`. " +"*globals* за замовчуванням :attr:`__main__.__dict__`, *locals* за " +"замовчуванням *globals*." + +msgid "" +"Debug an expression executed via the :func:`eval` function. *globals* and " +"*locals* have the same meaning as in :meth:`run`." +msgstr "" +"Налагодити вираз, що виконується за допомогою функції :func:`eval`. " +"*globals* і *locals* мають те саме значення, що й у :meth:`run`." + +msgid "For backwards compatibility. Calls the :meth:`run` method." +msgstr "Для зворотної сумісності. Викликає метод :meth:`run`." + +msgid "Debug a single function call, and return its result." +msgstr "Налагодити один виклик функції та повернути його результат." + +msgid "Finally, the module defines the following functions:" +msgstr "Нарешті, модуль визначає такі функції:" + +msgid "" +"Return True if we should break here, depending on the way the :class:" +"`Breakpoint` *b* was set." +msgstr "" + +msgid "" +"If it was set via line number, it checks if :attr:`b.line ` is the same as the one in *frame*. If the breakpoint was set via :" +"attr:`function name `, we have to check we are in " +"the right *frame* (the right function) and if we are on its first executable " +"line." +msgstr "" + +msgid "" +"Return ``(active breakpoint, delete temporary flag)`` or ``(None, None)`` as " +"the breakpoint to act upon." +msgstr "" + +msgid "" +"The *active breakpoint* is the first entry in :attr:`bplist ` for the (:attr:`file `, :attr:`line `) (which must exist) that is :attr:`enabled `, for which :func:`checkfuncname` is True, and that has neither a " +"False :attr:`condition ` nor positive :attr:`ignore " +"` count. The *flag*, meaning that a temporary " +"breakpoint should be deleted, is False only when the :attr:`cond ` cannot be evaluated (in which case, :attr:`ignore ` count is ignored)." +msgstr "" + +msgid "If no such entry exists, then (None, None) is returned." +msgstr "" + +msgid "Start debugging with a :class:`Bdb` instance from caller's frame." +msgstr "Почніть налагодження з екземпляра :class:`Bdb` із фрейму абонента." diff --git a/library/binary.po b/library/binary.po new file mode 100644 index 000000000..b0da182d4 --- /dev/null +++ b/library/binary.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Binary Data Services" +msgstr "Служби двійкових даних" + +msgid "" +"The modules described in this chapter provide some basic services operations " +"for manipulation of binary data. Other operations on binary data, " +"specifically in relation to file formats and network protocols, are " +"described in the relevant sections." +msgstr "" +"Модулі, описані в цьому розділі, надають деякі базові сервісні операції для " +"роботи з двійковими даними. Інші операції з двійковими даними, зокрема щодо " +"форматів файлів і мережевих протоколів, описані у відповідних розділах." + +msgid "" +"Some libraries described under :ref:`textservices` also work with either " +"ASCII-compatible binary formats (for example, :mod:`re`) or all binary data " +"(for example, :mod:`difflib`)." +msgstr "" +"Деякі бібліотеки, описані в :ref:`textservices`, також працюють або з ASCII-" +"сумісними бінарними форматами (наприклад, :mod:`re`), або з усіма двійковими " +"даними (наприклад, :mod:`difflib`)." + +msgid "" +"In addition, see the documentation for Python's built-in binary data types " +"in :ref:`binaryseq`." +msgstr "" +"Крім того, перегляньте документацію щодо вбудованих двійкових типів даних " +"Python у :ref:`binaryseq`." diff --git a/library/binascii.po b/library/binascii.po new file mode 100644 index 000000000..2cbaa9702 --- /dev/null +++ b/library/binascii.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`binascii` --- Convert between binary and ASCII" +msgstr ":mod:`binascii` --- Перетворення між двійковими та ASCII" + +msgid "" +"The :mod:`binascii` module contains a number of methods to convert between " +"binary and various ASCII-encoded binary representations. Normally, you will " +"not use these functions directly but use wrapper modules like :mod:`uu` or :" +"mod:`base64` instead. The :mod:`binascii` module contains low-level " +"functions written in C for greater speed that are used by the higher-level " +"modules." +msgstr "" + +msgid "" +"``a2b_*`` functions accept Unicode strings containing only ASCII characters. " +"Other functions only accept :term:`bytes-like objects ` " +"(such as :class:`bytes`, :class:`bytearray` and other objects that support " +"the buffer protocol)." +msgstr "" +"Функції ``a2b_*`` приймають рядки Unicode, що містять лише символи ASCII. " +"Інші функції приймають лише :term:`байтоподібні об’єкти ` " +"(такі як :class:`bytes`, :class:`bytearray` та інші об’єкти, які підтримують " +"протокол буфера)." + +msgid "ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." +msgstr "Функції ``a2b_*`` тепер приймають рядки Unicode тільки ASCII." + +msgid "The :mod:`binascii` module defines the following functions:" +msgstr "Модуль :mod:`binascii` визначає такі функції:" + +msgid "" +"Convert a single line of uuencoded data back to binary and return the binary " +"data. Lines normally contain 45 (binary) bytes, except for the last line. " +"Line data may be followed by whitespace." +msgstr "" +"Перетворити один рядок uuencoded даних назад у двійкові та повернути " +"двійкові дані. Рядки зазвичай містять 45 (двійкових) байт, за винятком " +"останнього рядка. Після рядкових даних може стояти пробіл." + +msgid "" +"Convert binary data to a line of ASCII characters, the return value is the " +"converted line, including a newline char. The length of *data* should be at " +"most 45. If *backtick* is true, zeros are represented by ``'`'`` instead of " +"spaces." +msgstr "" +"Перетворює двійкові дані на рядок із символами ASCII, повертається значенням " +"є перетворений рядок, включаючи символ нового рядка. Довжина *data* має " +"становити щонайбільше 45. Якщо *backtick* має значення true, нулі " +"позначаються символом ``''`'`` замість пробілів." + +msgid "Added the *backtick* parameter." +msgstr "Додано параметр *backtick*." + +msgid "" +"Convert a block of base64 data back to binary and return the binary data. " +"More than one line may be passed at a time." +msgstr "" +"Перетворіть блок даних base64 назад у двійковий і поверніть двійкові дані. " +"Одночасно можна передати більше одного рядка." + +msgid "" +"If *strict_mode* is true, only valid base64 data will be converted. Invalid " +"base64 data will raise :exc:`binascii.Error`." +msgstr "" + +msgid "Valid base64:" +msgstr "" + +msgid "Conforms to :rfc:`3548`." +msgstr "" + +msgid "Contains only characters from the base64 alphabet." +msgstr "" + +msgid "" +"Contains no excess data after padding (including excess padding, newlines, " +"etc.)." +msgstr "" + +msgid "Does not start with a padding." +msgstr "" + +msgid "Added the *strict_mode* parameter." +msgstr "" + +msgid "" +"Convert binary data to a line of ASCII characters in base64 coding. The " +"return value is the converted line, including a newline char if *newline* is " +"true. The output of this function conforms to :rfc:`3548`." +msgstr "" +"Перетворення двійкових даних у рядок символів ASCII у кодуванні base64. " +"Поверненим значенням є перетворений рядок, включаючи символ нового рядка, " +"якщо *новий рядок* має значення true. Вихід цієї функції відповідає :rfc:" +"`3548`." + +msgid "Added the *newline* parameter." +msgstr "Додано параметр *новий рядок*." + +msgid "" +"Convert a block of quoted-printable data back to binary and return the " +"binary data. More than one line may be passed at a time. If the optional " +"argument *header* is present and true, underscores will be decoded as spaces." +msgstr "" +"Перетворити блок даних, які можна роздрукувати в лапках, назад у двійкові та " +"повернути двійкові дані. Одночасно можна передати більше одного рядка. Якщо " +"необов’язковий аргумент *header* присутній і має значення true, підкреслення " +"розшифровуватимуться як пробіли." + +msgid "" +"Convert binary data to a line(s) of ASCII characters in quoted-printable " +"encoding. The return value is the converted line(s). If the optional " +"argument *quotetabs* is present and true, all tabs and spaces will be " +"encoded. If the optional argument *istext* is present and true, newlines " +"are not encoded but trailing whitespace will be encoded. If the optional " +"argument *header* is present and true, spaces will be encoded as underscores " +"per :rfc:`1522`. If the optional argument *header* is present and false, " +"newline characters will be encoded as well; otherwise linefeed conversion " +"might corrupt the binary data stream." +msgstr "" +"Перетворюйте двійкові дані на рядки символів ASCII у кодуванні, що " +"друкується в лапках. Поверненим значенням є перетворені рядки. Якщо " +"необов’язковий аргумент *quotetabs* присутній і вірний, усі символи " +"табуляції та пробіли будуть закодовані. Якщо необов’язковий аргумент " +"*istext* присутній і має значення true, нові рядки не кодуються, але кінцеві " +"пробіли кодуються. Якщо необов’язковий аргумент *header* присутній і " +"відповідає дійсності, пробіли будуть закодовані як підкреслення відповідно " +"до :rfc:`1522`. Якщо необов’язковий аргумент *header* присутній і false, " +"символи нового рядка також будуть закодовані; інакше перетворення переводу " +"рядка може пошкодити двійковий потік даних." + +msgid "" +"Compute a 16-bit CRC value of *data*, starting with *value* as the initial " +"CRC, and return the result. This uses the CRC-CCITT polynomial *x*:sup:`16` " +"+ *x*:sup:`12` + *x*:sup:`5` + 1, often represented as 0x1021. This CRC is " +"used in the binhex4 format." +msgstr "" +"Обчисліть 16-бітне значення CRC *data*, починаючи з *value* як початкового " +"CRC, і поверніть результат. Тут використовується поліном CRC-CCITT *x*:sup:" +"`16` + *x*:sup:`12` + *x*:sup:`5` + 1, який часто представляється як 0x1021. " +"Цей CRC використовується у форматі binhex4." + +msgid "" +"Compute CRC-32, the unsigned 32-bit checksum of *data*, starting with an " +"initial CRC of *value*. The default initial CRC is zero. The algorithm is " +"consistent with the ZIP file checksum. Since the algorithm is designed for " +"use as a checksum algorithm, it is not suitable for use as a general hash " +"algorithm. Use as follows::" +msgstr "" +"Обчисліть CRC-32, беззнакову 32-бітну контрольну суму *даних*, починаючи з " +"початкового CRC *значення*. Початковий CRC за умовчанням дорівнює нулю. " +"Алгоритм узгоджується з контрольною сумою файлу ZIP. Оскільки алгоритм " +"розроблено для використання як алгоритм контрольної суми, він не підходить " +"для використання як загальний алгоритм хешування. Використовуйте наступним " +"чином:" + +msgid "The result is always unsigned." +msgstr "" + +msgid "" +"Return the hexadecimal representation of the binary *data*. Every byte of " +"*data* is converted into the corresponding 2-digit hex representation. The " +"returned bytes object is therefore twice as long as the length of *data*." +msgstr "" +"Повертає шістнадцяткове представлення двійкових *даних*. Кожен байт *даних* " +"перетворюється у відповідне 2-значне шістнадцяткове представлення. Тому " +"повернутий об’єкт bytes вдвічі довший за довжину *data*." + +msgid "" +"Similar functionality (but returning a text string) is also conveniently " +"accessible using the :meth:`bytes.hex` method." +msgstr "" +"Подібні функції (але повернення текстового рядка) також зручно доступні за " +"допомогою методу :meth:`bytes.hex`." + +msgid "" +"If *sep* is specified, it must be a single character str or bytes object. It " +"will be inserted in the output after every *bytes_per_sep* input bytes. " +"Separator placement is counted from the right end of the output by default, " +"if you wish to count from the left, supply a negative *bytes_per_sep* value." +msgstr "" +"Якщо вказано *sep*, це має бути односимвольний об’єкт str або bytes. Його " +"буде вставлено у вивід після кожного вхідного байта *bytes_per_sep*. " +"Розташування роздільника за замовчуванням відраховується від правого кінця " +"виводу. Якщо ви бажаєте відраховувати зліва, укажіть від’ємне значення " +"*bytes_per_sep*." + +msgid "The *sep* and *bytes_per_sep* parameters were added." +msgstr "Додано параметри *sep* і *bytes_per_sep*." + +msgid "" +"Return the binary data represented by the hexadecimal string *hexstr*. This " +"function is the inverse of :func:`b2a_hex`. *hexstr* must contain an even " +"number of hexadecimal digits (which can be upper or lower case), otherwise " +"an :exc:`Error` exception is raised." +msgstr "" +"Повертає двійкові дані, представлені шістнадцятковим рядком *hexstr*. Ця " +"функція є зворотною до :func:`b2a_hex`. *hexstr* має містити парну кількість " +"шістнадцяткових цифр (які можуть бути великими чи нижніми регістрами), " +"інакше виникає виняткова ситуація :exc:`Error`." + +msgid "" +"Similar functionality (accepting only text string arguments, but more " +"liberal towards whitespace) is also accessible using the :meth:`bytes." +"fromhex` class method." +msgstr "" +"Подібна функціональність (приймає лише текстові рядкові аргументи, але більш " +"вільна щодо пробілів) також доступна за допомогою методу класу :meth:`bytes." +"fromhex`." + +msgid "Exception raised on errors. These are usually programming errors." +msgstr "Виняток, викликаний помилками. Зазвичай це помилки програмування." + +msgid "" +"Exception raised on incomplete data. These are usually not programming " +"errors, but may be handled by reading a little more data and trying again." +msgstr "" +"Винятком є неповні дані. Зазвичай це не помилки програмування, але їх можна " +"вирішити, прочитавши трохи більше даних і повторивши спробу." + +msgid "Module :mod:`base64`" +msgstr "Модуль :mod:`base64`" + +msgid "" +"Support for RFC compliant base64-style encoding in base 16, 32, 64, and 85." +msgstr "" +"Підтримка RFC-сумісного кодування в стилі base64 у базових 16, 32, 64 та 85." + +msgid "Module :mod:`uu`" +msgstr "Модуль :mod:`uu`" + +msgid "Support for UU encoding used on Unix." +msgstr "Підтримка кодування UU, що використовується в Unix." + +msgid "Module :mod:`quopri`" +msgstr "Модуль :mod:`quopri`" + +msgid "Support for quoted-printable encoding used in MIME email messages." +msgstr "" +"Підтримка кодування для друку в лапках, що використовується в електронних " +"повідомленнях MIME." diff --git a/library/binhex.po b/library/binhex.po new file mode 100644 index 000000000..d4d129910 --- /dev/null +++ b/library/binhex.po @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-05 16:26+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`binhex` --- Encode and decode binhex4 files" +msgstr "" + +msgid "**Source code:** :source:`Lib/binhex.py`" +msgstr "" + +msgid "" +"This module encodes and decodes files in binhex4 format, a format allowing " +"representation of Macintosh files in ASCII. Only the data fork is handled." +msgstr "" + +msgid "The :mod:`binhex` module defines the following functions:" +msgstr "" + +msgid "" +"Convert a binary file with filename *input* to binhex file *output*. The " +"*output* parameter can either be a filename or a file-like object (any " +"object supporting a :meth:`write` and :meth:`close` method)." +msgstr "" + +msgid "" +"Decode a binhex file *input*. *input* may be a filename or a file-like " +"object supporting :meth:`read` and :meth:`close` methods. The resulting file " +"is written to a file named *output*, unless the argument is ``None`` in " +"which case the output filename is read from the binhex file." +msgstr "" + +msgid "The following exception is also defined:" +msgstr "" + +msgid "" +"Exception raised when something can't be encoded using the binhex format " +"(for example, a filename is too long to fit in the filename field), or when " +"input is not properly encoded binhex data." +msgstr "" + +msgid "Module :mod:`binascii`" +msgstr "Модуль :mod:`binascii`" + +msgid "" +"Support module containing ASCII-to-binary and binary-to-ASCII conversions." +msgstr "" +"Модуль підтримки, що містить перетворення ASCII у двійковий і двійковий у " +"ASCII." + +msgid "Notes" +msgstr "Примітки" + +msgid "" +"There is an alternative, more powerful interface to the coder and decoder, " +"see the source for details." +msgstr "" + +msgid "" +"If you code or decode textfiles on non-Macintosh platforms they will still " +"use the old Macintosh newline convention (carriage-return as end of line)." +msgstr "" diff --git a/library/bisect.po b/library/bisect.po new file mode 100644 index 000000000..1dc0bb739 --- /dev/null +++ b/library/bisect.po @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`bisect` --- Array bisection algorithm" +msgstr ":mod:`bisect` --- Алгоритм поділу масиву навпіл" + +msgid "**Source code:** :source:`Lib/bisect.py`" +msgstr "**Вихідний код:** :source:`Lib/bisect.py`" + +msgid "" +"This module provides support for maintaining a list in sorted order without " +"having to sort the list after each insertion. For long lists of items with " +"expensive comparison operations, this can be an improvement over the more " +"common approach. The module is called :mod:`bisect` because it uses a basic " +"bisection algorithm to do its work. The source code may be most useful as a " +"working example of the algorithm (the boundary conditions are already " +"right!)." +msgstr "" +"Цей модуль забезпечує підтримку підтримки списку в порядку сортування без " +"необхідності сортувати список після кожного вставлення. Для довгих списків " +"елементів із дорогими операціями порівняння це може бути покращенням " +"порівняно з більш поширеним підходом. Модуль називається :mod:`bisect`, " +"оскільки для виконання своєї роботи він використовує базовий алгоритм поділу " +"навпіл. Вихідний код може бути найбільш корисним як робочий приклад " +"алгоритму (граничні умови вже правильні!)." + +msgid "The following functions are provided:" +msgstr "Передбачені такі функції:" + +msgid "" +"Locate the insertion point for *x* in *a* to maintain sorted order. The " +"parameters *lo* and *hi* may be used to specify a subset of the list which " +"should be considered; by default the entire list is used. If *x* is already " +"present in *a*, the insertion point will be before (to the left of) any " +"existing entries. The return value is suitable for use as the first " +"parameter to ``list.insert()`` assuming that *a* is already sorted." +msgstr "" +"Знайдіть точку вставки для *x* у *a*, щоб зберегти відсортований порядок. " +"Параметри *lo* і *hi* можуть використовуватися для визначення підмножини " +"списку, яку слід враховувати; за замовчуванням використовується весь список. " +"Якщо *x* уже присутній у *a*, точка вставки буде перед будь-якими існуючими " +"записами (зліва від них). Повернене значення придатне для використання як " +"перший параметр для ``list.insert()`` за умови, що *a* вже відсортовано." + +msgid "" +"The returned insertion point *i* partitions the array *a* into two halves so " +"that ``all(val < x for val in a[lo : i])`` for the left side and ``all(val " +">= x for val in a[i : hi])`` for the right side." +msgstr "" +"Повернена точка вставки *i* ділить масив *a* на дві половини так, що " +"``all(val < x for val in a[lo : i])`` for the left side and ``all(val > = x " +"for val in a[i : hi])`` для правої сторони." + +msgid "" +"*key* specifies a :term:`key function` of one argument that is used to " +"extract a comparison key from each element in the array. To support " +"searching complex records, the key function is not applied to the *x* value." +msgstr "" +"*key* визначає :term:`key function` одного аргументу, який використовується " +"для отримання ключа порівняння з кожного елемента в масиві. Для підтримки " +"пошуку складних записів функція ключа не застосовується до значення *x*." + +msgid "" +"If *key* is ``None``, the elements are compared directly with no intervening " +"function call." +msgstr "" +"Якщо *key* має значення ``None``, елементи порівнюються безпосередньо без " +"виклику функції." + +msgid "Added the *key* parameter." +msgstr "Додано параметр *key*." + +msgid "" +"Similar to :func:`bisect_left`, but returns an insertion point which comes " +"after (to the right of) any existing entries of *x* in *a*." +msgstr "" +"Подібно до :func:`bisect_left`, але повертає точку вставки, яка стоїть після " +"(праворуч) усіх існуючих записів *x* у *a*." + +msgid "" +"The returned insertion point *i* partitions the array *a* into two halves so " +"that ``all(val <= x for val in a[lo : i])`` for the left side and ``all(val " +"> x for val in a[i : hi])`` for the right side." +msgstr "" +"Повернена точка вставки *i* ділить масив *a* на дві половини так, що " +"``all(val <= x for val in a[lo : i])`` for the left side and ``all(val > x " +"for val in a[i : hi])`` для правої сторони." + +msgid "Insert *x* in *a* in sorted order." +msgstr "Вставте *x* у *a* в порядку сортування." + +msgid "" +"This function first runs :func:`bisect_left` to locate an insertion point. " +"Next, it runs the :meth:`insert` method on *a* to insert *x* at the " +"appropriate position to maintain sort order." +msgstr "" +"Ця функція спочатку запускає :func:`bisect_left`, щоб знайти точку вставки. " +"Далі він запускає метод :meth:`insert` на *a*, щоб вставити *x* у відповідну " +"позицію для збереження порядку сортування." + +msgid "" +"To support inserting records in a table, the *key* function (if any) is " +"applied to *x* for the search step but not for the insertion step." +msgstr "" +"Щоб підтримувати вставлення записів у таблицю, функція *key* (якщо є) " +"застосовується до *x* для кроку пошуку, але не для кроку вставки." + +msgid "" +"Keep in mind that the ``O(log n)`` search is dominated by the slow O(n) " +"insertion step." +msgstr "" +"Майте на увазі, що в пошуку ``O(log n)`` домінує повільний крок вставки O(n)." + +msgid "" +"Similar to :func:`insort_left`, but inserting *x* in *a* after any existing " +"entries of *x*." +msgstr "" +"Подібно до :func:`insort_left`, але *x* вставляється в *a* після будь-яких " +"існуючих записів *x*." + +msgid "" +"This function first runs :func:`bisect_right` to locate an insertion point. " +"Next, it runs the :meth:`insert` method on *a* to insert *x* at the " +"appropriate position to maintain sort order." +msgstr "" +"Ця функція спочатку запускає :func:`bisect_right`, щоб знайти точку вставки. " +"Далі він запускає метод :meth:`insert` на *a*, щоб вставити *x* у відповідну " +"позицію для збереження порядку сортування." + +msgid "Performance Notes" +msgstr "Примітки щодо продуктивності" + +msgid "" +"When writing time sensitive code using *bisect()* and *insort()*, keep these " +"thoughts in mind:" +msgstr "" +"Під час написання чутливого до часу коду за допомогою *bisect()* і " +"*insort()* пам’ятайте про такі думки:" + +msgid "" +"Bisection is effective for searching ranges of values. For locating specific " +"values, dictionaries are more performant." +msgstr "" +"Ділення навпіл ефективне для пошуку діапазонів значень. Для пошуку " +"конкретних значень словники більш ефективні." + +msgid "" +"The *insort()* functions are ``O(n)`` because the logarithmic search step is " +"dominated by the linear time insertion step." +msgstr "" +"Функції *insort()* мають значення ``O(n)``, оскільки крок логарифмічного " +"пошуку домінує крок лінійного вставлення часу." + +msgid "" +"The search functions are stateless and discard key function results after " +"they are used. Consequently, if the search functions are used in a loop, " +"the key function may be called again and again on the same array elements. " +"If the key function isn't fast, consider wrapping it with :func:`functools." +"cache` to avoid duplicate computations. Alternatively, consider searching " +"an array of precomputed keys to locate the insertion point (as shown in the " +"examples section below)." +msgstr "" +"Функції пошуку не мають стану та скидають результати ключових функцій після " +"їх використання. Отже, якщо функції пошуку використовуються в циклі, ключова " +"функція може бути викликана знову і знову для тих самих елементів масиву. " +"Якщо ключова функція нешвидка, оберніть її за допомогою :func:`functools." +"cache`, щоб уникнути дублювання обчислень. Крім того, розгляньте можливість " +"пошуку в масиві попередньо обчислених ключів, щоб знайти точку вставки (як " +"показано в розділі прикладів нижче)." + +msgid "" +"`Sorted Collections `_ is a " +"high performance module that uses *bisect* to managed sorted collections of " +"data." +msgstr "" + +msgid "" +"The `SortedCollection recipe `_ uses bisect to build a full-featured collection class " +"with straight-forward search methods and support for a key-function. The " +"keys are precomputed to save unnecessary calls to the key function during " +"searches." +msgstr "" +"`Рецепт SortedCollection `_ використовує bisect для створення повнофункціонального " +"класу колекції з прямими методами пошуку та підтримкою функції ключа. Ключі " +"попередньо обчислені, щоб уникнути непотрібних викликів функції клавіш під " +"час пошуку." + +msgid "Searching Sorted Lists" +msgstr "Пошук у відсортованих списках" + +msgid "" +"The above :func:`bisect` functions are useful for finding insertion points " +"but can be tricky or awkward to use for common searching tasks. The " +"following five functions show how to transform them into the standard " +"lookups for sorted lists::" +msgstr "" +"Наведені вище функції :func:`bisect` корисні для пошуку точок вставки, але " +"можуть бути складними або незручними у використанні для звичайних завдань " +"пошуку. Наступні п’ять функцій показують, як перетворити їх на стандартні " +"пошуки для відсортованих списків:" + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"The :func:`bisect` function can be useful for numeric table lookups. This " +"example uses :func:`bisect` to look up a letter grade for an exam score " +"(say) based on a set of ordered numeric breakpoints: 90 and up is an 'A', 80 " +"to 89 is a 'B', and so on::" +msgstr "" +"Функція :func:`bisect` може бути корисною для пошуку числових таблиць. У " +"цьому прикладі використовується :func:`bisect` для пошуку літерної оцінки " +"для оцінки іспиту (скажімо) на основі набору впорядкованих числових " +"контрольних точок: 90 і вище — це \"A\", від 80 до 89 — це \"B\", а так " +"далі::" + +msgid "" +"The :func:`bisect` and :func:`insort` functions also work with lists of " +"tuples. The *key* argument can serve to extract the field used for ordering " +"records in a table::" +msgstr "" +"Функції :func:`bisect` і :func:`insort` також працюють зі списками кортежів. " +"Аргумент *key* може служити для вилучення поля, яке використовується для " +"впорядкування записів у таблиці::" + +msgid "" +"If the key function is expensive, it is possible to avoid repeated function " +"calls by searching a list of precomputed keys to find the index of a record::" +msgstr "" +"Якщо функція ключа є дорогою, можна уникнути повторних викликів функції " +"шляхом пошуку списку попередньо обчислених ключів, щоб знайти індекс запису::" diff --git a/library/builtins.po b/library/builtins.po new file mode 100644 index 000000000..dc54234be --- /dev/null +++ b/library/builtins.po @@ -0,0 +1,66 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`builtins` --- Built-in objects" +msgstr ":mod:`builtins` --- Вбудовані об'єкти" + +msgid "" +"This module provides direct access to all 'built-in' identifiers of Python; " +"for example, ``builtins.open`` is the full name for the built-in function :" +"func:`open`. See :ref:`built-in-funcs` and :ref:`built-in-consts` for " +"documentation." +msgstr "" +"Цей модуль забезпечує прямий доступ до всіх \"вбудованих\" ідентифікаторів " +"Python; наприклад, ``builtins.open`` є повною назвою для вбудованої функції :" +"func:`open`. Дивіться :ref:`built-in-funcs` і :ref:`built-in-consts` для " +"документації." + +msgid "" +"This module is not normally accessed explicitly by most applications, but " +"can be useful in modules that provide objects with the same name as a built-" +"in value, but in which the built-in of that name is also needed. For " +"example, in a module that wants to implement an :func:`open` function that " +"wraps the built-in :func:`open`, this module can be used directly::" +msgstr "" +"Більшість програм зазвичай не мають явного доступу до цього модуля, але він " +"може бути корисним у модулях, які надають об’єкти з тим же іменем, що й " +"вбудоване значення, але в яких також необхідне вбудоване ім’я. Наприклад, у " +"модулі, який хоче реалізувати функцію :func:`open`, яка обгортає вбудовану :" +"func:`open`, цей модуль можна використовувати безпосередньо:" + +msgid "" +"As an implementation detail, most modules have the name ``__builtins__`` " +"made available as part of their globals. The value of ``__builtins__`` is " +"normally either this module or the value of this module's :attr:`~object." +"__dict__` attribute. Since this is an implementation detail, it may not be " +"used by alternate implementations of Python." +msgstr "" +"Як деталь реалізації, більшість модулів мають назву ``__builtins__``, " +"доступну як частину їхніх глобальних елементів. Значення ``__builtins__`` " +"зазвичай є або цим модулем, або значенням атрибута :attr:`~object.__dict__` " +"цього модуля. Оскільки це деталь реалізації, вона не може використовуватися " +"альтернативними реалізаціями Python." diff --git a/library/bz2.po b/library/bz2.po new file mode 100644 index 000000000..4cdffd09b --- /dev/null +++ b/library/bz2.po @@ -0,0 +1,432 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" +msgstr ":mod:`bz2` --- Підтримка стиснення :program:`bzip2`" + +msgid "**Source code:** :source:`Lib/bz2.py`" +msgstr "**Вихідний код:** :source:`Lib/bz2.py`" + +msgid "" +"This module provides a comprehensive interface for compressing and " +"decompressing data using the bzip2 compression algorithm." +msgstr "" +"Цей модуль забезпечує комплексний інтерфейс для стиснення та розпакування " +"даних за допомогою алгоритму стиснення bzip2." + +msgid "The :mod:`bz2` module contains:" +msgstr "Модуль :mod:`bz2` містить:" + +msgid "" +"The :func:`.open` function and :class:`BZ2File` class for reading and " +"writing compressed files." +msgstr "" +"Функція :func:`.open` і клас :class:`BZ2File` для читання та запису " +"стиснених файлів." + +msgid "" +"The :class:`BZ2Compressor` and :class:`BZ2Decompressor` classes for " +"incremental (de)compression." +msgstr "" +"Класи :class:`BZ2Compressor` і :class:`BZ2Decompressor` для поступового " +"(де)стиснення." + +msgid "" +"The :func:`compress` and :func:`decompress` functions for one-shot " +"(de)compression." +msgstr "" +"Функції :func:`compress` і :func:`decompress` для одноразового (де)стиснення." + +msgid "(De)compression of files" +msgstr "(Де)компресія файлів" + +msgid "" +"Open a bzip2-compressed file in binary or text mode, returning a :term:`file " +"object`." +msgstr "" +"Відкрийте файл, стиснутий за допомогою bzip2, у двійковому або текстовому " +"режимі, повертаючи :term:`file object`." + +msgid "" +"As with the constructor for :class:`BZ2File`, the *filename* argument can be " +"an actual filename (a :class:`str` or :class:`bytes` object), or an existing " +"file object to read from or write to." +msgstr "" +"Як і у випадку з конструктором для :class:`BZ2File`, аргумент *filename* " +"може бути фактичним ім’ям файлу (об’єкт :class:`str` або :class:`bytes`) або " +"наявним файловим об’єктом для читання чи запису до." + +msgid "" +"The *mode* argument can be any of ``'r'``, ``'rb'``, ``'w'``, ``'wb'``, " +"``'x'``, ``'xb'``, ``'a'`` or ``'ab'`` for binary mode, or ``'rt'``, " +"``'wt'``, ``'xt'``, or ``'at'`` for text mode. The default is ``'rb'``." +msgstr "" +"Аргумент *mode* може бути будь-яким із ``'r'``, ``'rb'``, ``'w'``, ``'wb'``, " +"``'x'``, ``'xb'``, ``'a'`` або ``'ab'`` для бінарного режиму або ``'rt'``, " +"``'wt'``, ``'xt'`` або ``'at'`` для текстового режиму. Типовим є ``'rb'``." + +msgid "" +"The *compresslevel* argument is an integer from 1 to 9, as for the :class:" +"`BZ2File` constructor." +msgstr "" +"Аргумент *compresslevel* є цілим числом від 1 до 9, як і для конструктора :" +"class:`BZ2File`." + +msgid "" +"For binary mode, this function is equivalent to the :class:`BZ2File` " +"constructor: ``BZ2File(filename, mode, compresslevel=compresslevel)``. In " +"this case, the *encoding*, *errors* and *newline* arguments must not be " +"provided." +msgstr "" +"Для двійкового режиму ця функція еквівалентна конструктору :class:`BZ2File`: " +"``BZ2File(filename, mode, compresslevel=compresslevel)``. У цьому випадку " +"аргументи *encoding*, *errors* і *newline* не повинні надаватися." + +msgid "" +"For text mode, a :class:`BZ2File` object is created, and wrapped in an :" +"class:`io.TextIOWrapper` instance with the specified encoding, error " +"handling behavior, and line ending(s)." +msgstr "" +"Для текстового режиму створюється об’єкт :class:`BZ2File`, який загортається " +"в екземпляр :class:`io.TextIOWrapper` із вказаним кодуванням, поведінкою " +"обробки помилок і закінченнями рядків." + +msgid "The ``'x'`` (exclusive creation) mode was added." +msgstr "Додано режим ``'x`` (ексклюзивне створення)." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "Open a bzip2-compressed file in binary mode." +msgstr "Відкрийте файл, стиснутий за допомогою bzip2, у двійковому режимі." + +msgid "" +"If *filename* is a :class:`str` or :class:`bytes` object, open the named " +"file directly. Otherwise, *filename* should be a :term:`file object`, which " +"will be used to read or write the compressed data." +msgstr "" +"Якщо *filename* є об’єктом :class:`str` або :class:`bytes`, відкрийте " +"названий файл безпосередньо. В іншому випадку *filename* має бути :term:" +"`file object`, який використовуватиметься для читання або запису стиснутих " +"даних." + +msgid "" +"The *mode* argument can be either ``'r'`` for reading (default), ``'w'`` for " +"overwriting, ``'x'`` for exclusive creation, or ``'a'`` for appending. These " +"can equivalently be given as ``'rb'``, ``'wb'``, ``'xb'`` and ``'ab'`` " +"respectively." +msgstr "" +"Аргументом *mode* може бути ``'r'`` для читання (за замовчуванням), ``'w'`` " +"для перезапису, ``'x'`` для ексклюзивного створення або ``'a'`` для " +"додавання. Їх можна еквівалентно вказати як ``'rb'``, ``'wb'``, ``'xb'`` і " +"``'ab'`` відповідно." + +msgid "" +"If *filename* is a file object (rather than an actual file name), a mode of " +"``'w'`` does not truncate the file, and is instead equivalent to ``'a'``." +msgstr "" +"Якщо *filename* є об’єктом файлу (а не справжнім ім’ям файлу), режим ``'w'`` " +"не скорочує файл, а замість цього еквівалентний ``'a'``." + +msgid "" +"If *mode* is ``'w'`` or ``'a'``, *compresslevel* can be an integer between " +"``1`` and ``9`` specifying the level of compression: ``1`` produces the " +"least compression, and ``9`` (default) produces the most compression." +msgstr "" +"Якщо *mode* має значення ``'w'`` або ``'a'``, *compresslevel* може бути " +"цілим числом від ``1`` до ``9``, що визначає рівень стиснення: ``1`` створює " +"найменше стиснення, а ``9`` (за замовчуванням) створює найбільше стиснення." + +msgid "" +"If *mode* is ``'r'``, the input file may be the concatenation of multiple " +"compressed streams." +msgstr "" +"Якщо *mode* має значення ``'r'``, вхідний файл може бути конкатенацією " +"кількох стиснутих потоків." + +msgid "" +":class:`BZ2File` provides all of the members specified by the :class:`io." +"BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration " +"and the :keyword:`with` statement are supported." +msgstr "" +":class:`BZ2File` надає всі елементи, визначені :class:`io.BufferedIOBase`, " +"за винятком :meth:`detach` і :meth:`truncate`. Ітерація та оператор :keyword:" +"`with` підтримуються." + +msgid ":class:`BZ2File` also provides the following method:" +msgstr ":class:`BZ2File` також надає наступний метод:" + +msgid "" +"Return buffered data without advancing the file position. At least one byte " +"of data will be returned (unless at EOF). The exact number of bytes returned " +"is unspecified." +msgstr "" +"Повернути буферизовані дані без просування позиції файлу. Буде повернено " +"принаймні один байт даних (якщо не EOF). Точна кількість повернутих байтів " +"не вказана." + +msgid "" +"While calling :meth:`peek` does not change the file position of the :class:" +"`BZ2File`, it may change the position of the underlying file object (e.g. if " +"the :class:`BZ2File` was constructed by passing a file object for " +"*filename*)." +msgstr "" +"Хоча виклик :meth:`peek` не змінює позицію файлу :class:`BZ2File`, він може " +"змінити позицію основного файлового об’єкта (наприклад, якщо :class:" +"`BZ2File` було створено шляхом передачі файлового об’єкта для *ім'я файлу*)." + +msgid "Support for the :keyword:`with` statement was added." +msgstr "Додано підтримку оператора :keyword:`with`." + +msgid "" +"The :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:`writable`, :" +"meth:`read1` and :meth:`readinto` methods were added." +msgstr "" +"Додано методи :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:" +"`writable`, :meth:`read1` і :meth:`readinto`." + +msgid "" +"Support was added for *filename* being a :term:`file object` instead of an " +"actual filename." +msgstr "" +"Було додано підтримку для *filename* як :term:`file object` замість " +"фактичної назви файлу." + +msgid "" +"The ``'a'`` (append) mode was added, along with support for reading multi-" +"stream files." +msgstr "" +"Було додано режим ``'a'`` (додавання) разом із підтримкою читання " +"багатопотокових файлів." + +msgid "" +"The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " +"``None``." +msgstr "Метод :meth:`~io.BufferedIOBase.read` тепер приймає аргумент ``None``." + +msgid "" +"The *buffering* parameter has been removed. It was ignored and deprecated " +"since Python 3.0. Pass an open file object to control how the file is opened." +msgstr "" +"Параметр *buffering* видалено. Він був проігнорований і застарілим, " +"починаючи з Python 3.0. Передайте відкритий файловий об’єкт, щоб " +"контролювати, як відкривається файл." + +msgid "The *compresslevel* parameter became keyword-only." +msgstr "Параметр *compresslevel* став лише ключовим словом." + +msgid "" +"This class is thread unsafe in the face of multiple simultaneous readers or " +"writers, just like its equivalent classes in :mod:`gzip` and :mod:`lzma` " +"have always been." +msgstr "" +"Цей клас є потоково небезпечним перед обличчям кількох одночасних читачів " +"або записувачів, як завжди були його еквівалентні класи в :mod:`gzip` і :mod:" +"`lzma`." + +msgid "Incremental (de)compression" +msgstr "Поступове (роз)стиснення" + +msgid "" +"Create a new compressor object. This object may be used to compress data " +"incrementally. For one-shot compression, use the :func:`compress` function " +"instead." +msgstr "" +"Створіть новий об’єкт компресора. Цей об’єкт можна використовувати для " +"поступового стиснення даних. Для одноразового стиснення замість цього " +"використовуйте функцію :func:`compress`." + +msgid "" +"*compresslevel*, if given, must be an integer between ``1`` and ``9``. The " +"default is ``9``." +msgstr "" +"*compresslevel*, якщо задано, має бути цілим числом від ``1`` до ``9``. " +"Типовим значенням є ``9``." + +msgid "" +"Provide data to the compressor object. Returns a chunk of compressed data if " +"possible, or an empty byte string otherwise." +msgstr "" +"Надайте дані об’єкту компресора. Повертає фрагмент стиснутих даних, якщо це " +"можливо, або порожній рядок байтів в іншому випадку." + +msgid "" +"When you have finished providing data to the compressor, call the :meth:" +"`flush` method to finish the compression process." +msgstr "" +"Коли ви закінчите надсилати дані компресору, викличте метод :meth:`flush`, " +"щоб завершити процес стиснення." + +msgid "" +"Finish the compression process. Returns the compressed data left in internal " +"buffers." +msgstr "" +"Завершіть процес стиснення. Повертає стислі дані, що залишилися у внутрішніх " +"буферах." + +msgid "" +"The compressor object may not be used after this method has been called." +msgstr "Об’єкт компресора не можна використовувати після виклику цього методу." + +msgid "" +"Create a new decompressor object. This object may be used to decompress data " +"incrementally. For one-shot compression, use the :func:`decompress` function " +"instead." +msgstr "" +"Створіть новий об’єкт декомпресора. Цей об’єкт можна використовувати для " +"поступового розпакування даних. Для одноразового стиснення замість цього " +"використовуйте функцію :func:`decompress`." + +msgid "" +"This class does not transparently handle inputs containing multiple " +"compressed streams, unlike :func:`decompress` and :class:`BZ2File`. If you " +"need to decompress a multi-stream input with :class:`BZ2Decompressor`, you " +"must use a new decompressor for each stream." +msgstr "" +"Цей клас не обробляє прозоро вхідні дані, що містять кілька стиснутих " +"потоків, на відміну від :func:`decompress` і :class:`BZ2File`. Якщо вам " +"потрібно розпакувати багатопотоковий вхід за допомогою :class:" +"`BZ2Decompressor`, ви повинні використовувати новий розпаковувач для кожного " +"потоку." + +msgid "" +"Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " +"as bytes. Some of *data* may be buffered internally, for use in later calls " +"to :meth:`decompress`. The returned data should be concatenated with the " +"output of any previous calls to :meth:`decompress`." +msgstr "" +"Розпакуйте *дані* (:term:`bytes-like object`), повертаючи нестиснуті дані у " +"вигляді байтів. Деякі з *даних* можуть бути збережені у внутрішньому буфері " +"для використання в подальших викликах :meth:`decompress`. Повернуті дані " +"мають бути об’єднані з результатами будь-яких попередніх викликів :meth:" +"`decompress`." + +msgid "" +"If *max_length* is nonnegative, returns at most *max_length* bytes of " +"decompressed data. If this limit is reached and further output can be " +"produced, the :attr:`~.needs_input` attribute will be set to ``False``. In " +"this case, the next call to :meth:`~.decompress` may provide *data* as " +"``b''`` to obtain more of the output." +msgstr "" +"Якщо *max_length* є невід’ємним, повертає щонайбільше *max_length* байтів " +"розпакованих даних. Якщо цей ліміт буде досягнуто, і буде створено подальший " +"вихід, атрибут :attr:`~.needs_input` буде встановлено на ``False``. У цьому " +"випадку наступний виклик :meth:`~.decompress` може надати *data* як ``b''``, " +"щоб отримати більше вихідних даних." + +msgid "" +"If all of the input data was decompressed and returned (either because this " +"was less than *max_length* bytes, or because *max_length* was negative), " +"the :attr:`~.needs_input` attribute will be set to ``True``." +msgstr "" +"Якщо всі вхідні дані було розпаковано та повернуто (або через те, що вони " +"були меншими за *max_length* байтів, або через те, що *max_length* було " +"від’ємним), для атрибута :attr:`~.needs_input` буде встановлено значення " +"``True`` ." + +msgid "" +"Attempting to decompress data after the end of stream is reached raises an :" +"exc:`EOFError`. Any data found after the end of the stream is ignored and " +"saved in the :attr:`~.unused_data` attribute." +msgstr "" + +msgid "Added the *max_length* parameter." +msgstr "Додано параметр *max_length*." + +msgid "``True`` if the end-of-stream marker has been reached." +msgstr "``True``, якщо досягнуто маркера кінця потоку." + +msgid "Data found after the end of the compressed stream." +msgstr "Дані знайдено після закінчення стисненого потоку." + +msgid "" +"If this attribute is accessed before the end of the stream has been reached, " +"its value will be ``b''``." +msgstr "" +"Якщо цей атрибут доступний до досягнення кінця потоку, його значення буде " +"``b''``." + +msgid "" +"``False`` if the :meth:`.decompress` method can provide more decompressed " +"data before requiring new uncompressed input." +msgstr "" +"``False``, якщо метод :meth:`.decompress` може надати більше розпакованих " +"даних перед запитом нового нестисненого введення." + +msgid "One-shot (de)compression" +msgstr "Одноразова (де)компресія" + +msgid "Compress *data*, a :term:`bytes-like object `." +msgstr "Стиснути *data*, :term:`байт-подібний об’єкт `." + +msgid "For incremental compression, use a :class:`BZ2Compressor` instead." +msgstr "" +"Для інкрементного стиснення замість цього використовуйте :class:" +"`BZ2Compressor`." + +msgid "Decompress *data*, a :term:`bytes-like object `." +msgstr "Розархівуйте *data*, :term:`байт-подібний об’єкт `." + +msgid "" +"If *data* is the concatenation of multiple compressed streams, decompress " +"all of the streams." +msgstr "" +"Якщо *data* є конкатенацією кількох стиснутих потоків, розпакуйте всі потоки." + +msgid "For incremental decompression, use a :class:`BZ2Decompressor` instead." +msgstr "" +"Для інкрементної декомпресії замість цього використовуйте :class:" +"`BZ2Decompressor`." + +msgid "Support for multi-stream inputs was added." +msgstr "Додано підтримку багатопотокових входів." + +msgid "Examples of usage" +msgstr "Приклади вживання" + +msgid "Below are some examples of typical usage of the :mod:`bz2` module." +msgstr "" +"Нижче наведено декілька прикладів типового використання модуля :mod:`bz2`." + +msgid "" +"Using :func:`compress` and :func:`decompress` to demonstrate round-trip " +"compression:" +msgstr "" +"Використання :func:`compress` і :func:`decompress` для демонстрації " +"двостороннього стиснення:" + +msgid "Using :class:`BZ2Compressor` for incremental compression:" +msgstr "Використання :class:`BZ2Compressor` для поступового стиснення:" + +msgid "" +"The example above uses a very \"nonrandom\" stream of data (a stream of ``b" +"\"z\"`` chunks). Random data tends to compress poorly, while ordered, " +"repetitive data usually yields a high compression ratio." +msgstr "" + +msgid "Writing and reading a bzip2-compressed file in binary mode:" +msgstr "Запис і читання файлу, стисненого bzip2, у двійковому режимі:" diff --git a/library/calendar.po b/library/calendar.po new file mode 100644 index 000000000..0e6b3e287 --- /dev/null +++ b/library/calendar.po @@ -0,0 +1,511 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`calendar` --- General calendar-related functions" +msgstr ":mod:`calendar` --- Загальні функції, пов'язані з календарем" + +msgid "**Source code:** :source:`Lib/calendar.py`" +msgstr "**Вихідний код:** :source:`Lib/calendar.py`" + +msgid "" +"This module allows you to output calendars like the Unix :program:`cal` " +"program, and provides additional useful functions related to the calendar. " +"By default, these calendars have Monday as the first day of the week, and " +"Sunday as the last (the European convention). Use :func:`setfirstweekday` to " +"set the first day of the week to Sunday (6) or to any other weekday. " +"Parameters that specify dates are given as integers. For related " +"functionality, see also the :mod:`datetime` and :mod:`time` modules." +msgstr "" +"Цей модуль дозволяє виводити календарі, як програма Unix :program:`cal`, і " +"надає додаткові корисні функції, пов’язані з календарем. За замовчуванням у " +"цих календарях першим днем тижня є понеділок, а останнім — неділя " +"(європейська конвенція). Використовуйте :func:`setfirstweekday`, щоб " +"установити першим днем тижня неділю (6) або будь-який інший день тижня. " +"Параметри, що визначають дати, задаються як цілі числа. Для пов’язаних " +"функцій перегляньте також модулі :mod:`datetime` і :mod:`time`." + +msgid "" +"The functions and classes defined in this module use an idealized calendar, " +"the current Gregorian calendar extended indefinitely in both directions. " +"This matches the definition of the \"proleptic Gregorian\" calendar in " +"Dershowitz and Reingold's book \"Calendrical Calculations\", where it's the " +"base calendar for all computations. Zero and negative years are interpreted " +"as prescribed by the ISO 8601 standard. Year 0 is 1 BC, year -1 is 2 BC, " +"and so on." +msgstr "" +"Функції та класи, визначені в цьому модулі, використовують ідеалізований " +"календар, поточний григоріанський календар, розширений на невизначений " +"термін в обох напрямках. Це відповідає визначенню \"пролептичного " +"григоріанського\" календаря в книзі Дершовіца та Рейнгольда \"Календарні " +"обчислення\", де це базовий календар для всіх обчислень. Нульові та " +"негативні роки інтерпретуються відповідно до стандарту ISO 8601. Рік 0 — це " +"1 рік до нашої ери, рік -1 — це 2 рік до нашої ери і так далі." + +msgid "" +"Creates a :class:`Calendar` object. *firstweekday* is an integer specifying " +"the first day of the week. :const:`MONDAY` is ``0`` (the default), :const:" +"`SUNDAY` is ``6``." +msgstr "" +"Створює об’єкт :class:`Calendar`. *firstweekday* — це ціле число, що " +"визначає перший день тижня. :const:`MONDAY` — це ``0`` (за замовчуванням), :" +"const:`SUNDAY` — ``6``." + +msgid "" +"A :class:`Calendar` object provides several methods that can be used for " +"preparing the calendar data for formatting. This class doesn't do any " +"formatting itself. This is the job of subclasses." +msgstr "" +"Об’єкт :class:`Calendar` надає кілька методів, які можна використовувати для " +"підготовки даних календаря до форматування. Цей клас сам не виконує " +"форматування. Це робота підкласів." + +msgid ":class:`Calendar` instances have the following methods:" +msgstr "Екземпляри :class:`Calendar` мають такі методи:" + +msgid "" +"Return an iterator for the week day numbers that will be used for one week. " +"The first value from the iterator will be the same as the value of the :attr:" +"`firstweekday` property." +msgstr "" +"Повертає ітератор для номерів днів тижня, які використовуватимуться протягом " +"одного тижня. Перше значення ітератора буде таким самим, як значення " +"властивості :attr:`firstweekday`." + +msgid "" +"Return an iterator for the month *month* (1--12) in the year *year*. This " +"iterator will return all days (as :class:`datetime.date` objects) for the " +"month and all days before the start of the month or after the end of the " +"month that are required to get a complete week." +msgstr "" +"Повертає ітератор для місяця *month* (1--12) у році *year*. Цей ітератор " +"поверне всі дні (як об’єкти :class:`datetime.date`) за місяць і всі дні до " +"початку або після кінця місяця, необхідні для отримання повного тижня." + +msgid "" +"Return an iterator for the month *month* in the year *year* similar to :meth:" +"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " +"Days returned will simply be day of the month numbers. For the days outside " +"of the specified month, the day number is ``0``." +msgstr "" +"Повертає ітератор для місяця *місяць* у році *рік*, подібний до :meth:" +"`itermonthdates`, але не обмежений діапазоном :class:`datetime.date`. " +"Повернені дні будуть просто номерами днів місяця. Для днів поза вказаним " +"місяцем номер дня дорівнює ``0``." + +msgid "" +"Return an iterator for the month *month* in the year *year* similar to :meth:" +"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " +"Days returned will be tuples consisting of a day of the month number and a " +"week day number." +msgstr "" +"Повертає ітератор для місяця *місяць* у році *рік*, подібний до :meth:" +"`itermonthdates`, але не обмежений діапазоном :class:`datetime.date`. " +"Повернуті дні будуть кортежами, що складаються з номера дня місяця та номера " +"дня тижня." + +msgid "" +"Return an iterator for the month *month* in the year *year* similar to :meth:" +"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " +"Days returned will be tuples consisting of a year, a month and a day of the " +"month numbers." +msgstr "" +"Повертає ітератор для місяця *місяць* у році *рік*, подібний до :meth:" +"`itermonthdates`, але не обмежений діапазоном :class:`datetime.date`. " +"Повернуті дні будуть кортежами, що складаються з номерів року, місяця та дня " +"місяця." + +msgid "" +"Return an iterator for the month *month* in the year *year* similar to :meth:" +"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " +"Days returned will be tuples consisting of a year, a month, a day of the " +"month, and a day of the week numbers." +msgstr "" +"Повертає ітератор для місяця *місяць* у році *рік*, подібний до :meth:" +"`itermonthdates`, але не обмежений діапазоном :class:`datetime.date`. " +"Повернуті дні будуть кортежами, що складаються з номерів року, місяця, дня " +"місяця та дня тижня." + +msgid "" +"Return a list of the weeks in the month *month* of the *year* as full " +"weeks. Weeks are lists of seven :class:`datetime.date` objects." +msgstr "" +"Повертає список тижнів у місяці *місяць* *року* як повні тижні. Тижні — це " +"списки із семи об’єктів :class:`datetime.date`." + +msgid "" +"Return a list of the weeks in the month *month* of the *year* as full " +"weeks. Weeks are lists of seven tuples of day numbers and weekday numbers." +msgstr "" +"Повертає список тижнів у місяці *місяць* *року* як повні тижні. Тижні — це " +"списки із семи кортежів номерів днів і днів тижня." + +msgid "" +"Return a list of the weeks in the month *month* of the *year* as full " +"weeks. Weeks are lists of seven day numbers." +msgstr "" +"Повертає список тижнів у місяці *місяць* *року* як повні тижні. Тижні — це " +"списки із семи днів." + +msgid "" +"Return the data for the specified year ready for formatting. The return " +"value is a list of month rows. Each month row contains up to *width* months " +"(defaulting to 3). Each month contains between 4 and 6 weeks and each week " +"contains 1--7 days. Days are :class:`datetime.date` objects." +msgstr "" +"Повернути готові до форматування дані за вказаний рік. Поверненим значенням " +"є список рядків місяця. Кожен рядок місяця містить до *width* місяців (за " +"замовчуванням до 3). Кожен місяць містить від 4 до 6 тижнів, а кожен тиждень " +"містить 1--7 днів. Дні є об’єктами :class:`datetime.date`." + +msgid "" +"Return the data for the specified year ready for formatting (similar to :" +"meth:`yeardatescalendar`). Entries in the week lists are tuples of day " +"numbers and weekday numbers. Day numbers outside this month are zero." +msgstr "" +"Повертає дані за вказаний рік, готові до форматування (подібно до :meth:" +"`yeardatescalendar`). Записи в тижневих списках є кортежами номерів днів і " +"днів тижня. Номери днів поза цим місяцем дорівнюють нулю." + +msgid "" +"Return the data for the specified year ready for formatting (similar to :" +"meth:`yeardatescalendar`). Entries in the week lists are day numbers. Day " +"numbers outside this month are zero." +msgstr "" +"Повертає дані за вказаний рік, готові до форматування (подібно до :meth:" +"`yeardatescalendar`). Записи в тижневих списках є номерами днів. Номери днів " +"поза цим місяцем дорівнюють нулю." + +msgid "This class can be used to generate plain text calendars." +msgstr "" +"Цей клас можна використовувати для створення простих текстових календарів." + +msgid ":class:`TextCalendar` instances have the following methods:" +msgstr "Екземпляри :class:`TextCalendar` мають такі методи:" + +msgid "" +"Return a month's calendar in a multi-line string. If *w* is provided, it " +"specifies the width of the date columns, which are centered. If *l* is " +"given, it specifies the number of lines that each week will use. Depends on " +"the first weekday as specified in the constructor or set by the :meth:" +"`setfirstweekday` method." +msgstr "" +"Повертає місячний календар у багаторядковому рядку. Якщо вказано *w*, воно " +"визначає ширину стовпців дати, які розташовані по центру. Якщо задано *l*, " +"це визначає кількість рядків, які використовуватимуться кожного тижня. " +"Залежить від першого дня тижня, як зазначено в конструкторі або встановлено " +"методом :meth:`setfirstweekday`." + +msgid "Print a month's calendar as returned by :meth:`formatmonth`." +msgstr "Надрукувати місячний календар, який повертає :meth:`formatmonth`." + +msgid "" +"Return a *m*-column calendar for an entire year as a multi-line string. " +"Optional parameters *w*, *l*, and *c* are for date column width, lines per " +"week, and number of spaces between month columns, respectively. Depends on " +"the first weekday as specified in the constructor or set by the :meth:" +"`setfirstweekday` method. The earliest year for which a calendar can be " +"generated is platform-dependent." +msgstr "" +"Повертає календар зі стовпцями *m* для цілого року як багаторядковий рядок. " +"Додаткові параметри *w*, *l* і *c* призначені для ширини стовпця дати, " +"рядків на тиждень і кількості пробілів між стовпцями місяця відповідно. " +"Залежить від першого дня тижня, як зазначено в конструкторі або встановлено " +"методом :meth:`setfirstweekday`. Найперший рік, для якого можна створити " +"календар, залежить від платформи." + +msgid "" +"Print the calendar for an entire year as returned by :meth:`formatyear`." +msgstr "Роздрукувати календар на цілий рік, який повертає :meth:`formatyear`." + +msgid "This class can be used to generate HTML calendars." +msgstr "Цей клас можна використовувати для створення HTML-календарів." + +msgid ":class:`!HTMLCalendar` instances have the following methods:" +msgstr "Екземпляри :class:`!HTMLCalendar` мають такі методи:" + +msgid "" +"Return a month's calendar as an HTML table. If *withyear* is true the year " +"will be included in the header, otherwise just the month name will be used." +msgstr "" +"Повертає місячний календар як таблицю HTML. Якщо *withyear* має значення " +"true, рік буде включено в заголовок, інакше використовуватиметься лише назва " +"місяця." + +msgid "" +"Return a year's calendar as an HTML table. *width* (defaulting to 3) " +"specifies the number of months per row." +msgstr "" +"Повертає річний календар як таблицю HTML. *width* (за замовчуванням 3) " +"визначає кількість місяців у рядку." + +msgid "" +"Return a year's calendar as a complete HTML page. *width* (defaulting to 3) " +"specifies the number of months per row. *css* is the name for the cascading " +"style sheet to be used. :const:`None` can be passed if no style sheet should " +"be used. *encoding* specifies the encoding to be used for the output " +"(defaulting to the system default encoding)." +msgstr "" +"Повертає річний календар як повну сторінку HTML. *width* (за замовчуванням " +"3) визначає кількість місяців у рядку. *css* — назва каскадної таблиці " +"стилів, яка буде використовуватися. :const:`None` можна передати, якщо не " +"потрібно використовувати таблицю стилів. *encoding* вказує кодування, яке " +"буде використовуватися для виведення (за замовчуванням використовується " +"стандартне кодування системи)." + +msgid "" +":class:`!HTMLCalendar` has the following attributes you can override to " +"customize the CSS classes used by the calendar:" +msgstr "" +":class:`!HTMLCalendar` має такі атрибути, які ви можете замінити, щоб " +"налаштувати класи CSS, які використовує календар:" + +msgid "" +"A list of CSS classes used for each weekday. The default class list is::" +msgstr "" +"Список класів CSS, які використовуються для кожного дня тижня. Типовий " +"список класів:" + +msgid "more styles can be added for each day::" +msgstr "на кожен день можна додати більше стилів::" + +msgid "Note that the length of this list must be seven items." +msgstr "Зауважте, що довжина цього списку має складатися із семи пунктів." + +msgid "The CSS class for a weekday occurring in the previous or coming month." +msgstr "Клас CSS для дня тижня в попередньому або наступному місяці." + +msgid "" +"A list of CSS classes used for weekday names in the header row. The default " +"is the same as :attr:`cssclasses`." +msgstr "" +"Список класів CSS, які використовуються для назв днів тижня в рядку " +"заголовка. За замовчуванням таке саме, як :attr:`cssclasses`." + +msgid "" +"The month's head CSS class (used by :meth:`formatmonthname`). The default " +"value is ``\"month\"``." +msgstr "" +"Головний клас CSS місяця (використовується :meth:`formatmonthname`). " +"Значенням за замовчуванням є ``\"місяць\"``." + +msgid "" +"The CSS class for the whole month's table (used by :meth:`formatmonth`). The " +"default value is ``\"month\"``." +msgstr "" +"Клас CSS для таблиці всього місяця (використовується :meth:`formatmonth`). " +"Значенням за замовчуванням є ``\"місяць\"``." + +msgid "" +"The CSS class for the whole year's table of tables (used by :meth:" +"`formatyear`). The default value is ``\"year\"``." +msgstr "" +"Клас CSS для таблиці таблиць за цілий рік (використовується :meth:" +"`formatyear`). Значення за замовчуванням – ``\"рік\"``." + +msgid "" +"The CSS class for the table head for the whole year (used by :meth:" +"`formatyear`). The default value is ``\"year\"``." +msgstr "" +"Клас CSS для заголовка таблиці за цілий рік (використовується :meth:" +"`formatyear`). Значення за замовчуванням – ``\"рік\"``." + +msgid "" +"Note that although the naming for the above described class attributes is " +"singular (e.g. ``cssclass_month`` ``cssclass_noday``), one can replace the " +"single CSS class with a space separated list of CSS classes, for example::" +msgstr "" +"Зауважте, що хоча імена для описаних вище атрибутів класу є одниною " +"(наприклад, ``cssclass_month`` ``cssclass_noday``), можна замінити один клас " +"CSS списком класів CSS, розділених пробілами, наприклад::" + +msgid "Here is an example how :class:`!HTMLCalendar` can be customized::" +msgstr "Ось приклад того, як :class:`!HTMLCalendar` можна налаштувати::" + +msgid "" +"This subclass of :class:`TextCalendar` can be passed a locale name in the " +"constructor and will return month and weekday names in the specified locale." +msgstr "" + +msgid "" +"This subclass of :class:`HTMLCalendar` can be passed a locale name in the " +"constructor and will return month and weekday names in the specified locale." +msgstr "" + +msgid "" +"The constructor, :meth:`formatweekday` and :meth:`formatmonthname` methods " +"of these two classes temporarily change the ``LC_TIME`` locale to the given " +"*locale*. Because the current locale is a process-wide setting, they are not " +"thread-safe." +msgstr "" + +msgid "For simple text calendars this module provides the following functions." +msgstr "Для простих текстових календарів цей модуль надає такі функції." + +msgid "" +"Sets the weekday (``0`` is Monday, ``6`` is Sunday) to start each week. The " +"values :const:`MONDAY`, :const:`TUESDAY`, :const:`WEDNESDAY`, :const:" +"`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, and :const:`SUNDAY` are " +"provided for convenience. For example, to set the first weekday to Sunday::" +msgstr "" +"Встановлює день тижня (``0`` - понеділок, ``6`` - неділя), щоб почати кожен " +"тиждень. Значення :const:`MONDAY`, :const:`TUESDAY`, :const:`WEDNESDAY`, :" +"const:`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY` і :const:`SUNDAY` " +"надаються для зручності. Наприклад, щоб встановити першим днем тижня неділю:" + +msgid "Returns the current setting for the weekday to start each week." +msgstr "Повертає поточне налаштування дня тижня для початку кожного тижня." + +msgid "" +"Returns :const:`True` if *year* is a leap year, otherwise :const:`False`." +msgstr "" +"Повертає :const:`True`, якщо *year* є високосним роком, інакше :const:" +"`False`." + +msgid "" +"Returns the number of leap years in the range from *y1* to *y2* (exclusive), " +"where *y1* and *y2* are years." +msgstr "" +"Повертає кількість високосних років у діапазоні від *y1* до *y2* (за " +"винятком), де *y1* і *y2* — роки." + +msgid "This function works for ranges spanning a century change." +msgstr "Ця функція працює для діапазонів, що охоплюють зміну століття." + +msgid "" +"Returns the day of the week (``0`` is Monday) for *year* (``1970``--...), " +"*month* (``1``--``12``), *day* (``1``--``31``)." +msgstr "" +"Повертає день тижня (\"0\" — понеділок) для *року* (``1970``--...), *місяця* " +"(``1``--``12``), *день* (``1``-``31``)." + +msgid "" +"Return a header containing abbreviated weekday names. *n* specifies the " +"width in characters for one weekday." +msgstr "" +"Повертає заголовок, що містить скорочені назви днів тижня. *n* визначає " +"ширину в символах для одного дня тижня." + +msgid "" +"Returns weekday of first day of the month and number of days in month, for " +"the specified *year* and *month*." +msgstr "" +"Повертає день тижня першого дня місяця та кількість днів у місяці для " +"вказаного *року* та *місяця*." + +msgid "" +"Returns a matrix representing a month's calendar. Each row represents a " +"week; days outside of the month are represented by zeros. Each week begins " +"with Monday unless set by :func:`setfirstweekday`." +msgstr "" +"Повертає матрицю, що представляє місячний календар. Кожен рядок означає " +"тиждень; дні поза місяцем позначаються нулями. Кожен тиждень починається з " +"понеділка, якщо не встановлено :func:`setfirstweekday`." + +msgid "Prints a month's calendar as returned by :func:`month`." +msgstr "Друкує місячний календар, який повертає :func:`month`." + +msgid "" +"Returns a month's calendar in a multi-line string using the :meth:" +"`formatmonth` of the :class:`TextCalendar` class." +msgstr "" +"Повертає місячний календар у багаторядковому рядку з використанням :meth:" +"`formatmonth` класу :class:`TextCalendar`." + +msgid "" +"Prints the calendar for an entire year as returned by :func:`calendar`." +msgstr "Друкує календар на цілий рік, який повертає :func:`calendar`." + +msgid "" +"Returns a 3-column calendar for an entire year as a multi-line string using " +"the :meth:`formatyear` of the :class:`TextCalendar` class." +msgstr "" +"Повертає 3-колонковий календар на цілий рік як багаторядковий рядок, " +"використовуючи :meth:`formatyear` класу :class:`TextCalendar`." + +msgid "" +"An unrelated but handy function that takes a time tuple such as returned by " +"the :func:`~time.gmtime` function in the :mod:`time` module, and returns the " +"corresponding Unix timestamp value, assuming an epoch of 1970, and the POSIX " +"encoding. In fact, :func:`time.gmtime` and :func:`timegm` are each others' " +"inverse." +msgstr "" +"Непов’язана, але зручна функція, яка приймає кортеж часу, такий як " +"повернутий функцією :func:`~time.gmtime` в модулі :mod:`time`, і повертає " +"відповідне значення мітки часу Unix, припускаючи епоху 1970 року, і " +"кодування POSIX. Насправді :func:`time.gmtime` і :func:`timegm` є зворотними " +"один одному." + +msgid "The :mod:`calendar` module exports the following data attributes:" +msgstr "Модуль :mod:`calendar` експортує такі атрибути даних:" + +msgid "An array that represents the days of the week in the current locale." +msgstr "Масив, що представляє дні тижня в поточній локалі." + +msgid "" +"An array that represents the abbreviated days of the week in the current " +"locale." +msgstr "Масив, який представляє скорочені дні тижня в поточній локалі." + +msgid "" +"An array that represents the months of the year in the current locale. This " +"follows normal convention of January being month number 1, so it has a " +"length of 13 and ``month_name[0]`` is the empty string." +msgstr "" +"Масив, що представляє місяці року в поточній локалі. Це відповідає звичайній " +"угоді про те, що січень є місяцем номер 1, тому він має довжину 13, а " +"``month_name[0]`` є порожнім рядком." + +msgid "" +"An array that represents the abbreviated months of the year in the current " +"locale. This follows normal convention of January being month number 1, so " +"it has a length of 13 and ``month_abbr[0]`` is the empty string." +msgstr "" +"Масив, який представляє скорочені місяці року в поточній локалі. Це " +"відповідає звичайній угоді про те, що січень є місяцем номер 1, тому він має " +"довжину 13, а ``month_abbr[0]`` є порожнім рядком." + +msgid "" +"Aliases for day numbers, where ``MONDAY`` is ``0`` and ``SUNDAY`` is ``6``." +msgstr "" +"Псевдоніми для номерів днів, де \"ПОНЕДІЛОК\" — це \"0\", а \"НЕДІЛЯ\" — " +"\"6\"." + +msgid "Module :mod:`datetime`" +msgstr "Модуль :mod:`datetime`" + +msgid "" +"Object-oriented interface to dates and times with similar functionality to " +"the :mod:`time` module." +msgstr "" +"Об’єктно-орієнтований інтерфейс для дат і часу з аналогічною " +"функціональністю модуля :mod:`time`." + +msgid "Module :mod:`time`" +msgstr "Модуль :mod:`time`" + +msgid "Low-level time related functions." +msgstr "Низькорівневі функції, пов'язані з часом." diff --git a/library/cgi.po b/library/cgi.po new file mode 100644 index 000000000..7697fd267 --- /dev/null +++ b/library/cgi.po @@ -0,0 +1,884 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`cgi` --- Common Gateway Interface support" +msgstr ":mod:`cgi` --- Підтримка загального інтерфейсу шлюзу" + +msgid "**Source code:** :source:`Lib/cgi.py`" +msgstr "**Вихідний код:** :source:`Lib/cgi.py`" + +msgid "" +"The :mod:`cgi` module is deprecated (see :pep:`PEP 594 <594#cgi>` for " +"details and alternatives)." +msgstr "" +"Модуль :mod:`cgi` є застарілим (перегляньте :pep:`PEP 594 <594#cgi>` для " +"деталей та альтернатив)." + +msgid "" +"The :class:`FieldStorage` class can typically be replaced with :func:`urllib." +"parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and the :mod:`email." +"message` module or `multipart `_ for " +"``POST`` and ``PUT``. Most :ref:`utility functions ` have replacements." +msgstr "" + +msgid "Support module for Common Gateway Interface (CGI) scripts." +msgstr "Модуль підтримки для сценаріїв загального інтерфейсу шлюзу (CGI)." + +msgid "" +"This module defines a number of utilities for use by CGI scripts written in " +"Python." +msgstr "" +"Цей модуль визначає низку утиліт для використання сценаріями CGI, написаними " +"на Python." + +msgid "" +"The global variable ``maxlen`` can be set to an integer indicating the " +"maximum size of a POST request. POST requests larger than this size will " +"result in a :exc:`ValueError` being raised during parsing. The default value " +"of this variable is ``0``, meaning the request size is unlimited." +msgstr "" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +"A CGI script is invoked by an HTTP server, usually to process user input " +"submitted through an HTML ``
`` or ```` element." +msgstr "" +"Сценарій CGI викликається сервером HTTP, як правило, для обробки введених " +"даних користувача через елемент HTML ```` або ````." + +msgid "" +"Most often, CGI scripts live in the server's special :file:`cgi-bin` " +"directory. The HTTP server places all sorts of information about the request " +"(such as the client's hostname, the requested URL, the query string, and " +"lots of other goodies) in the script's shell environment, executes the " +"script, and sends the script's output back to the client." +msgstr "" +"Найчастіше CGI-скрипти знаходяться в спеціальному каталозі сервера :file:" +"`cgi-bin`. HTTP-сервер розміщує всіляку інформацію про запит (наприклад, " +"ім’я хосту клієнта, запитувану URL-адресу, рядок запиту та багато інших " +"корисностей) у середовищі оболонки сценарію, виконує сценарій і надсилає " +"вихідні дані сценарію назад до клієнт." + +msgid "" +"The script's input is connected to the client too, and sometimes the form " +"data is read this way; at other times the form data is passed via the " +"\"query string\" part of the URL. This module is intended to take care of " +"the different cases and provide a simpler interface to the Python script. " +"It also provides a number of utilities that help in debugging scripts, and " +"the latest addition is support for file uploads from a form (if your browser " +"supports it)." +msgstr "" +"Вхідні дані сценарію також підключаються до клієнта, і іноді дані форми " +"читаються таким чином; в інший час дані форми передаються через частину URL-" +"адреси \"рядок запиту\". Цей модуль призначений для вирішення різних " +"випадків і надання простішого інтерфейсу сценарію Python. Він також надає " +"ряд утиліт, які допомагають у налагодженні сценаріїв, і останнє доповнення — " +"це підтримка завантаження файлів із форми (якщо ваш браузер це підтримує)." + +msgid "" +"The output of a CGI script should consist of two sections, separated by a " +"blank line. The first section contains a number of headers, telling the " +"client what kind of data is following. Python code to generate a minimal " +"header section looks like this::" +msgstr "" +"Результат сценарію CGI має складатися з двох розділів, розділених порожнім " +"рядком. Перший розділ містить кілька заголовків, які повідомляють клієнту, " +"які дані слідують. Код Python для створення мінімального розділу заголовка " +"виглядає так:" + +msgid "" +"The second section is usually HTML, which allows the client software to " +"display nicely formatted text with header, in-line images, etc. Here's " +"Python code that prints a simple piece of HTML::" +msgstr "" +"Другий розділ – це зазвичай HTML, який дозволяє клієнтському програмному " +"забезпеченню відображати гарно відформатований текст із заголовком, " +"вбудованими зображеннями тощо. Ось код Python, який друкує простий фрагмент " +"HTML::" + +msgid "Using the cgi module" +msgstr "Використання модуля cgi" + +msgid "Begin by writing ``import cgi``." +msgstr "Почніть з написання ``import cgi``." + +msgid "When you write a new script, consider adding these lines::" +msgstr "Коли ви пишете новий сценарій, додайте такі рядки::" + +msgid "" +"This activates a special exception handler that will display detailed " +"reports in the web browser if any errors occur. If you'd rather not show " +"the guts of your program to users of your script, you can have the reports " +"saved to files instead, with code like this::" +msgstr "" +"Це активує спеціальний обробник винятків, який відображатиме докладні звіти " +"у веб-браузері, якщо виникнуть будь-які помилки. Якщо ви не бажаєте " +"показувати нутрощі вашої програми користувачам вашого сценарію, ви можете " +"натомість зберегти звіти у файлах із таким кодом::" + +msgid "" +"It's very helpful to use this feature during script development. The reports " +"produced by :mod:`cgitb` provide information that can save you a lot of time " +"in tracking down bugs. You can always remove the ``cgitb`` line later when " +"you have tested your script and are confident that it works correctly." +msgstr "" +"Дуже корисно використовувати цю функцію під час розробки сценарію. Звіти, " +"створені :mod:`cgitb`, надають інформацію, яка може заощадити вам багато " +"часу на пошук помилок. Ви завжди можете видалити рядок ``cgitb`` пізніше, " +"коли ви протестуєте свій сценарій і переконаєтеся, що він працює правильно." + +msgid "" +"To get at submitted form data, use the :class:`FieldStorage` class. If the " +"form contains non-ASCII characters, use the *encoding* keyword parameter set " +"to the value of the encoding defined for the document. It is usually " +"contained in the META tag in the HEAD section of the HTML document or by " +"the :mailheader:`Content-Type` header. This reads the form contents from " +"the standard input or the environment (depending on the value of various " +"environment variables set according to the CGI standard). Since it may " +"consume standard input, it should be instantiated only once." +msgstr "" +"Щоб отримати надіслані дані форми, використовуйте клас :class:" +"`FieldStorage`. Якщо форма містить символи, що не належать до ASCII, " +"використовуйте параметр ключового слова *encoding* зі значенням кодування, " +"визначеного для документа. Зазвичай він міститься в тегу META в розділі HEAD " +"документа HTML або в заголовку :mailheader:`Content-Type`. Це зчитує вміст " +"форми зі стандартного введення або середовища (залежно від значення різних " +"змінних середовища, встановлених відповідно до стандарту CGI). Оскільки він " +"може споживати стандартний ввід, його слід створити лише один раз." + +msgid "" +"The :class:`FieldStorage` instance can be indexed like a Python dictionary. " +"It allows membership testing with the :keyword:`in` operator, and also " +"supports the standard dictionary method :meth:`~dict.keys` and the built-in " +"function :func:`len`. Form fields containing empty strings are ignored and " +"do not appear in the dictionary; to keep such values, provide a true value " +"for the optional *keep_blank_values* keyword parameter when creating the :" +"class:`FieldStorage` instance." +msgstr "" +"Екземпляр :class:`FieldStorage` можна індексувати як словник Python. Він " +"дозволяє тестувати членство за допомогою оператора :keyword:`in`, а також " +"підтримує стандартний метод словника :meth:`~dict.keys` і вбудовану функцію :" +"func:`len`. Поля форми, що містять порожні рядки, ігноруються та не " +"відображаються в словнику; щоб зберегти такі значення, укажіть справжнє " +"значення для необов’язкового параметра ключового слова *keep_blank_values* " +"під час створення екземпляра :class:`FieldStorage`." + +msgid "" +"For instance, the following code (which assumes that the :mailheader:" +"`Content-Type` header and blank line have already been printed) checks that " +"the fields ``name`` and ``addr`` are both set to a non-empty string::" +msgstr "" +"Наприклад, наступний код (який припускає, що заголовок :mailheader:`Content-" +"Type` і порожній рядок уже надруковано) перевіряє, що поля ``name`` і " +"``addr`` мають значення не- порожній рядок::" + +msgid "" +"Here the fields, accessed through ``form[key]``, are themselves instances " +"of :class:`FieldStorage` (or :class:`MiniFieldStorage`, depending on the " +"form encoding). The :attr:`~FieldStorage.value` attribute of the instance " +"yields the string value of the field. The :meth:`~FieldStorage.getvalue` " +"method returns this string value directly; it also accepts an optional " +"second argument as a default to return if the requested key is not present." +msgstr "" +"Тут поля, доступ до яких здійснюється через ``form[key]``, самі є " +"екземплярами :class:`FieldStorage` (або :class:`MiniFieldStorage`, залежно " +"від кодування форми). Атрибут :attr:`~FieldStorage.value` екземпляра дає " +"рядкове значення поля. Метод :meth:`~FieldStorage.getvalue` повертає це " +"значення рядка безпосередньо; він також приймає необов'язковий другий " +"аргумент як типовий для повернення, якщо запитуваний ключ відсутній." + +msgid "" +"If the submitted form data contains more than one field with the same name, " +"the object retrieved by ``form[key]`` is not a :class:`FieldStorage` or :" +"class:`MiniFieldStorage` instance but a list of such instances. Similarly, " +"in this situation, ``form.getvalue(key)`` would return a list of strings. If " +"you expect this possibility (when your HTML form contains multiple fields " +"with the same name), use the :meth:`~FieldStorage.getlist` method, which " +"always returns a list of values (so that you do not need to special-case the " +"single item case). For example, this code concatenates any number of " +"username fields, separated by commas::" +msgstr "" +"Якщо надіслані дані форми містять більше одного поля з однаковою назвою, " +"об’єкт, отриманий ``form[key]``, не є екземпляром :class:`FieldStorage` або :" +"class:`MiniFieldStorage`, а списком таких екземплярів . Подібним чином у цій " +"ситуації ``form.getvalue(key)`` поверне список рядків. Якщо ви очікуєте " +"такої можливості (якщо ваша HTML-форма містить кілька полів з однаковою " +"назвою), використовуйте метод :meth:`~FieldStorage.getlist`, який завжди " +"повертає список значень (тобто вам не потрібно вводити спеціальний регістр " +"одиничний випадок). Наприклад, цей код об’єднує будь-яку кількість полів " +"імені користувача, розділених комами:" + +msgid "" +"If a field represents an uploaded file, accessing the value via the :attr:" +"`~FieldStorage.value` attribute or the :meth:`~FieldStorage.getvalue` method " +"reads the entire file in memory as bytes. This may not be what you want. " +"You can test for an uploaded file by testing either the :attr:`~FieldStorage." +"filename` attribute or the :attr:`~FieldStorage.file` attribute. You can " +"then read the data from the :attr:`!file` attribute before it is " +"automatically closed as part of the garbage collection of the :class:" +"`FieldStorage` instance (the :func:`~io.RawIOBase.read` and :func:`~io." +"IOBase.readline` methods will return bytes)::" +msgstr "" +"Якщо поле представляє завантажений файл, доступ до значення через атрибут :" +"attr:`~FieldStorage.value` або метод :meth:`~FieldStorage.getvalue` зчитує " +"весь файл у пам’яті як байти. Це може бути не те, що ви хочете. Ви можете " +"перевірити наявність завантаженого файлу, протестувавши атрибут :attr:" +"`~FieldStorage.filename` або :attr:`~FieldStorage.file`. Потім ви можете " +"прочитати дані з атрибута :attr:`!file`, перш ніж він автоматично закриється " +"як частина збірки сміття екземпляра :class:`FieldStorage` (:func:`~io." +"RawIOBase.read` і :func:`~io.IOBase.readline` методи повертатимуть байти)::" + +msgid "" +":class:`FieldStorage` objects also support being used in a :keyword:`with` " +"statement, which will automatically close them when done." +msgstr "" +"Об’єкти :class:`FieldStorage` також підтримують використання в операторі :" +"keyword:`with`, який автоматично закриє їх після завершення." + +msgid "" +"If an error is encountered when obtaining the contents of an uploaded file " +"(for example, when the user interrupts the form submission by clicking on a " +"Back or Cancel button) the :attr:`~FieldStorage.done` attribute of the " +"object for the field will be set to the value -1." +msgstr "" +"Якщо під час отримання вмісту завантаженого файлу виникає помилка " +"(наприклад, коли користувач перериває надсилання форми, натиснувши кнопку " +"\"Назад\" або \"Скасувати\"), атрибут :attr:`~FieldStorage.done` об’єкта для " +"поля буде встановлено значення -1." + +msgid "" +"The file upload draft standard entertains the possibility of uploading " +"multiple files from one field (using a recursive :mimetype:`multipart/\\*` " +"encoding). When this occurs, the item will be a dictionary-like :class:" +"`FieldStorage` item. This can be determined by testing its :attr:`!type` " +"attribute, which should be :mimetype:`multipart/form-data` (or perhaps " +"another MIME type matching :mimetype:`multipart/\\*`). In this case, it can " +"be iterated over recursively just like the top-level form object." +msgstr "" +"Проект стандарту завантаження файлів передбачає можливість завантаження " +"кількох файлів з одного поля (з використанням рекурсивного кодування :" +"mimetype:`multipart/\\*`). Коли це станеться, елемент буде схожий на " +"словник :class:`FieldStorage`. Це можна визначити, перевіривши його атрибут :" +"attr:`!type`, який має бути :mimetype:`multipart/form-data` (або, можливо, " +"інший тип MIME, що відповідає :mimetype:`multipart/\\*`). У цьому випадку " +"його можна повторювати рекурсивно, як і об’єкт форми верхнього рівня." + +msgid "" +"When a form is submitted in the \"old\" format (as the query string or as a " +"single data part of type :mimetype:`application/x-www-form-urlencoded`), the " +"items will actually be instances of the class :class:`MiniFieldStorage`. In " +"this case, the :attr:`!list`, :attr:`!file`, and :attr:`filename` attributes " +"are always ``None``." +msgstr "" +"Коли форму надсилають у \"старому\" форматі (як рядок запиту або як окрему " +"частину даних типу :mimetype:`application/x-www-form-urlencoded`), елементи " +"фактично будуть екземплярами класу :class:`MiniFieldStorage`. У цьому " +"випадку атрибути :attr:`!list`, :attr:`!file` і :attr:`filename` завжди " +"мають значення ``None``." + +msgid "" +"A form submitted via POST that also has a query string will contain both :" +"class:`FieldStorage` and :class:`MiniFieldStorage` items." +msgstr "" +"Форма, надіслана через POST, яка також містить рядок запиту, міститиме " +"елементи :class:`FieldStorage` і :class:`MiniFieldStorage`." + +msgid "" +"The :attr:`~FieldStorage.file` attribute is automatically closed upon the " +"garbage collection of the creating :class:`FieldStorage` instance." +msgstr "" +"Атрибут :attr:`~FieldStorage.file` автоматично закривається після збирання " +"сміття створюваного екземпляра :class:`FieldStorage`." + +msgid "" +"Added support for the context management protocol to the :class:" +"`FieldStorage` class." +msgstr "" +"Додано підтримку протоколу керування контекстом до класу :class:" +"`FieldStorage`." + +msgid "Higher Level Interface" +msgstr "Інтерфейс вищого рівня" + +msgid "" +"The previous section explains how to read CGI form data using the :class:" +"`FieldStorage` class. This section describes a higher level interface which " +"was added to this class to allow one to do it in a more readable and " +"intuitive way. The interface doesn't make the techniques described in " +"previous sections obsolete --- they are still useful to process file uploads " +"efficiently, for example." +msgstr "" +"У попередньому розділі пояснюється, як читати дані форми CGI за допомогою " +"класу :class:`FieldStorage`. У цьому розділі описано інтерфейс вищого рівня, " +"який було додано до цього класу, щоб зробити це більш зрозумілим та " +"інтуїтивно зрозумілим способом. Інтерфейс не робить методи, описані в " +"попередніх розділах, застарілими --- вони все ще корисні для ефективної " +"обробки завантаження файлів, наприклад." + +msgid "" +"The interface consists of two simple methods. Using the methods you can " +"process form data in a generic way, without the need to worry whether only " +"one or more values were posted under one name." +msgstr "" +"Інтерфейс складається з двох простих методів. Використовуючи методи, ви " +"можете обробляти дані форми у загальний спосіб, не турбуючись про те, чи " +"лише одне чи кілька значень було опубліковано під одним іменем." + +msgid "" +"In the previous section, you learned to write following code anytime you " +"expected a user to post more than one value under one name::" +msgstr "" +"У попередньому розділі ви навчилися писати такий код щоразу, коли очікували, " +"що користувач опублікує більше одного значення під одним іменем:" + +msgid "" +"This situation is common for example when a form contains a group of " +"multiple checkboxes with the same name::" +msgstr "" +"Така ситуація типова, наприклад, коли форма містить групу кількох прапорців " +"з однаковою назвою::" + +msgid "" +"In most situations, however, there's only one form control with a particular " +"name in a form and then you expect and need only one value associated with " +"this name. So you write a script containing for example this code::" +msgstr "" +"Однак у більшості ситуацій у формі є лише один елемент керування з певним " +"ім’ям, і тоді ви очікуєте та потребуєте лише одного значення, пов’язаного з " +"цим ім’ям. Отже, ви пишете сценарій, який містить, наприклад, цей код::" + +msgid "" +"The problem with the code is that you should never expect that a client will " +"provide valid input to your scripts. For example, if a curious user appends " +"another ``user=foo`` pair to the query string, then the script would crash, " +"because in this situation the ``getvalue(\"user\")`` method call returns a " +"list instead of a string. Calling the :meth:`~str.upper` method on a list " +"is not valid (since lists do not have a method of this name) and results in " +"an :exc:`AttributeError` exception." +msgstr "" +"Проблема з кодом полягає в тому, що ви ніколи не повинні очікувати, що " +"клієнт надасть правильні вхідні дані для ваших сценаріїв. Наприклад, якщо " +"цікавий користувач додає іншу пару ``user=foo`` до рядка запиту, тоді " +"сценарій аварійно завершує роботу, оскільки в цій ситуації виклик методу " +"``getvalue(\"user\")`` повертає список замість рядок. Виклик методу :meth:" +"`~str.upper` для списку є недійсним (оскільки списки не мають методу з такою " +"назвою) і призводить до виключення :exc:`AttributeError`." + +msgid "" +"Therefore, the appropriate way to read form data values was to always use " +"the code which checks whether the obtained value is a single value or a list " +"of values. That's annoying and leads to less readable scripts." +msgstr "" +"Тому відповідним способом читання значень даних форми було завжди " +"використовувати код, який перевіряє, чи є отримане значення одним значенням " +"чи списком значень. Це дратує та призводить до менш читабельних сценаріїв." + +msgid "" +"A more convenient approach is to use the methods :meth:`~FieldStorage." +"getfirst` and :meth:`~FieldStorage.getlist` provided by this higher level " +"interface." +msgstr "" +"Зручнішим підходом є використання методів :meth:`~FieldStorage.getfirst` і :" +"meth:`~FieldStorage.getlist`, які надаються цим інтерфейсом вищого рівня." + +msgid "" +"This method always returns only one value associated with form field *name*. " +"The method returns only the first value in case that more values were posted " +"under such name. Please note that the order in which the values are " +"received may vary from browser to browser and should not be counted on. " +"[#]_ If no such form field or value exists then the method returns the " +"value specified by the optional parameter *default*. This parameter " +"defaults to ``None`` if not specified." +msgstr "" +"Цей метод завжди повертає лише одне значення, пов’язане з полем форми " +"*name*. Метод повертає лише перше значення у випадку, якщо під такою назвою " +"було опубліковано більше значень. Зауважте, що порядок отримання значень " +"може відрізнятися від браузера до браузера, і на нього не варто " +"розраховувати. [#]_ Якщо такого поля форми чи значення не існує, тоді метод " +"повертає значення, указане необов’язковим параметром *default*. Цей параметр " +"за умовчанням має значення ``None``, якщо не вказано." + +msgid "" +"This method always returns a list of values associated with form field " +"*name*. The method returns an empty list if no such form field or value " +"exists for *name*. It returns a list consisting of one item if only one " +"such value exists." +msgstr "" +"Цей метод завжди повертає список значень, пов’язаних із полем форми *name*. " +"Метод повертає порожній список, якщо для *name* не існує такого поля форми " +"або значення. Він повертає список, що складається з одного елемента, якщо " +"існує лише одне таке значення." + +msgid "Using these methods you can write nice compact code::" +msgstr "Використовуючи ці методи, ви можете написати гарний компактний код:" + +msgid "Functions" +msgstr "Функції" + +msgid "" +"These are useful if you want more control, or if you want to employ some of " +"the algorithms implemented in this module in other circumstances." +msgstr "" +"Це корисно, якщо ви бажаєте більше контролювати або якщо ви бажаєте " +"застосувати деякі з алгоритмів, реалізованих у цьому модулі, в інших " +"обставинах." + +msgid "" +"Parse a query in the environment or from a file (the file defaults to ``sys." +"stdin``). The *keep_blank_values*, *strict_parsing* and *separator* " +"parameters are passed to :func:`urllib.parse.parse_qs` unchanged." +msgstr "" +"Проаналізуйте запит у середовищі або з файлу (за замовчуванням файл має " +"``sys.stdin``). Параметри *keep_blank_values*, *strict_parsing* і " +"*separator* передаються до :func:`urllib.parse.parse_qs` без змін." + +msgid "" +"This function, like the rest of the :mod:`cgi` module, is deprecated. It can " +"be replaced by calling :func:`urllib.parse.parse_qs` directly on the desired " +"query string (except for ``multipart/form-data`` input, which can be handled " +"as described for :func:`parse_multipart`)." +msgstr "" + +msgid "" +"Parse input of type :mimetype:`multipart/form-data` (for file uploads). " +"Arguments are *fp* for the input file, *pdict* for a dictionary containing " +"other parameters in the :mailheader:`Content-Type` header, and *encoding*, " +"the request encoding." +msgstr "" +"Проаналізуйте вхід типу :mimetype:`multipart/form-data` (для завантаження " +"файлів). Аргументами є *fp* для вхідного файлу, *pdict* для словника, що " +"містить інші параметри в заголовку :mailheader:`Content-Type`, і *encoding*, " +"кодування запиту." + +msgid "" +"Returns a dictionary just like :func:`urllib.parse.parse_qs`: keys are the " +"field names, each value is a list of values for that field. For non-file " +"fields, the value is a list of strings." +msgstr "" +"Повертає словник так само, як :func:`urllib.parse.parse_qs`: ключі — це " +"назви полів, кожне значення — це список значень для цього поля. Для " +"нефайлових полів значенням є список рядків." + +msgid "" +"This is easy to use but not much good if you are expecting megabytes to be " +"uploaded --- in that case, use the :class:`FieldStorage` class instead which " +"is much more flexible." +msgstr "" +"Це легко використовувати, але не дуже добре, якщо ви очікуєте, що буде " +"завантажено мегабайти --- у такому випадку використовуйте натомість клас :" +"class:`FieldStorage`, який є набагато гнучкішим." + +msgid "" +"Added the *encoding* and *errors* parameters. For non-file fields, the " +"value is now a list of strings, not bytes." +msgstr "" +"Додано параметри *encoding* і *errors*. Для нефайлових полів значення тепер " +"є списком рядків, а не байтів." + +msgid "Added the *separator* parameter." +msgstr "Додано параметр *роздільник*." + +msgid "" +"This function, like the rest of the :mod:`cgi` module, is deprecated. It can " +"be replaced with the functionality in the :mod:`email` package (e.g. :class:" +"`email.message.EmailMessage`/:class:`email.message.Message`) which " +"implements the same MIME RFCs, or with the `multipart `__ PyPI project." +msgstr "" + +msgid "" +"Parse a MIME header (such as :mailheader:`Content-Type`) into a main value " +"and a dictionary of parameters." +msgstr "" +"Проаналізуйте заголовок MIME (наприклад, :mailheader:`Content-Type`) на " +"основне значення та словник параметрів." + +msgid "" +"This function, like the rest of the :mod:`cgi` module, is deprecated. It can " +"be replaced with the functionality in the :mod:`email` package, which " +"implements the same MIME RFCs." +msgstr "" + +msgid "For example, with :class:`email.message.EmailMessage`::" +msgstr "" + +msgid "" +"Robust test CGI script, usable as main program. Writes minimal HTTP headers " +"and formats all information provided to the script in HTML format." +msgstr "" +"Надійний тестовий сценарій CGI, який можна використовувати як основну " +"програму. Записує мінімум HTTP-заголовків і форматує всю інформацію, надану " +"сценарію, у форматі HTML." + +msgid "Format the shell environment in HTML." +msgstr "Відформатуйте середовище оболонки в HTML." + +msgid "Format a form in HTML." +msgstr "Відформатуйте форму в HTML." + +msgid "Format the current directory in HTML." +msgstr "Відформатувати поточний каталог у HTML." + +msgid "Print a list of useful (used by CGI) environment variables in HTML." +msgstr "" +"Надрукуйте список корисних (що використовуються CGI) змінних середовища в " +"HTML." + +msgid "Caring about security" +msgstr "Турбота про безпеку" + +msgid "" +"There's one important rule: if you invoke an external program (via :func:`os." +"system`, :func:`os.popen` or other functions with similar functionality), " +"make very sure you don't pass arbitrary strings received from the client to " +"the shell. This is a well-known security hole whereby clever hackers " +"anywhere on the web can exploit a gullible CGI script to invoke arbitrary " +"shell commands. Even parts of the URL or field names cannot be trusted, " +"since the request doesn't have to come from your form!" +msgstr "" +"Є одне важливе правило: якщо ви викликаєте зовнішню програму (через :func:" +"`os.system`, :func:`os.popen` або інші функції з подібною функціональністю), " +"переконайтеся, що ви не передаєте довільні рядки, отримані з клієнта до " +"оболонки. Це добре відома діра в безпеці, через яку спритні хакери будь-де в " +"Інтернеті можуть використовувати довірливий сценарій CGI для виклику " +"довільних команд оболонки. Не можна довіряти навіть частинам URL-адреси чи " +"імен полів, оскільки запит необов’язково надходить із вашої форми!" + +msgid "" +"To be on the safe side, if you must pass a string gotten from a form to a " +"shell command, you should make sure the string contains only alphanumeric " +"characters, dashes, underscores, and periods." +msgstr "" +"Щоб бути в безпеці, якщо вам потрібно передати рядок, отриманий із форми, до " +"команди оболонки, ви повинні переконатися, що рядок містить лише буквено-" +"цифрові символи, тире, підкреслення та крапки." + +msgid "Installing your CGI script on a Unix system" +msgstr "Встановлення сценарію CGI в систему Unix" + +msgid "" +"Read the documentation for your HTTP server and check with your local system " +"administrator to find the directory where CGI scripts should be installed; " +"usually this is in a directory :file:`cgi-bin` in the server tree." +msgstr "" +"Прочитайте документацію для вашого HTTP-сервера та зверніться до локального " +"системного адміністратора, щоб знайти каталог, де слід інсталювати сценарії " +"CGI; зазвичай це знаходиться в каталозі :file:`cgi-bin` у дереві сервера." + +msgid "" +"Make sure that your script is readable and executable by \"others\"; the " +"Unix file mode should be ``0o755`` octal (use ``chmod 0755 filename``). " +"Make sure that the first line of the script contains ``#!`` starting in " +"column 1 followed by the pathname of the Python interpreter, for instance::" +msgstr "" +"Переконайтеся, що ваш сценарій доступний для читання та виконання \"іншими" +"\"; режим файлу Unix має бути ``0o755`` вісімковий (використовуйте ``chmod " +"0755 ім'я файлу``). Переконайтеся, що перший рядок сценарію містить ``#!``, " +"починаючи зі стовпця 1, за яким іде шлях до інтерпретатора Python, " +"наприклад::" + +msgid "" +"Make sure the Python interpreter exists and is executable by \"others\"." +msgstr "" +"Переконайтеся, що інтерпретатор Python існує та його можна виконати \"іншими" +"\"." + +msgid "" +"Make sure that any files your script needs to read or write are readable or " +"writable, respectively, by \"others\" --- their mode should be ``0o644`` for " +"readable and ``0o666`` for writable. This is because, for security reasons, " +"the HTTP server executes your script as user \"nobody\", without any special " +"privileges. It can only read (write, execute) files that everybody can read " +"(write, execute). The current directory at execution time is also different " +"(it is usually the server's cgi-bin directory) and the set of environment " +"variables is also different from what you get when you log in. In " +"particular, don't count on the shell's search path for executables (:envvar:" +"`PATH`) or the Python module search path (:envvar:`PYTHONPATH`) to be set to " +"anything interesting." +msgstr "" +"Переконайтеся, що будь-які файли, які ваш сценарій має читати або писати, " +"доступні для читання або запису, відповідно, \"іншими\" --- їхній режим має " +"бути ``0o644`` для читання та ``0o666`` для запису. Це пояснюється тим, що з " +"міркувань безпеки HTTP-сервер виконує ваш сценарій від імені користувача " +"\"nobody\" без будь-яких спеціальних привілеїв. Він може лише читати " +"(записувати, виконувати) файли, які можуть читати (записувати, виконувати) " +"усі. Поточний каталог під час виконання також відрізняється (зазвичай це " +"каталог cgi-bin сервера), і набір змінних середовища також відрізняється від " +"того, що ви отримуєте під час входу. Зокрема, не розраховуйте на шлях пошуку " +"оболонки для виконуваних файлів (:envvar:`PATH`) або шлях пошуку модуля " +"Python (:envvar:`PYTHONPATH`) має бути встановлено будь-що цікаве." + +msgid "" +"If you need to load modules from a directory which is not on Python's " +"default module search path, you can change the path in your script, before " +"importing other modules. For example::" +msgstr "" +"Якщо вам потрібно завантажити модулі з каталогу, який не входить до " +"стандартного шляху пошуку модулів Python, ви можете змінити шлях у своєму " +"сценарії перед імпортом інших модулів. Наприклад::" + +msgid "(This way, the directory inserted last will be searched first!)" +msgstr "" +"(Таким чином спочатку буде здійснюватися пошук у каталозі, вставленому " +"останньою!)" + +msgid "" +"Instructions for non-Unix systems will vary; check your HTTP server's " +"documentation (it will usually have a section on CGI scripts)." +msgstr "" +"Інструкції для не-Unix систем будуть різними; перевірте документацію вашого " +"HTTP-сервера (зазвичай у ній є розділ про сценарії CGI)." + +msgid "Testing your CGI script" +msgstr "Тестування вашого сценарію CGI" + +msgid "" +"Unfortunately, a CGI script will generally not run when you try it from the " +"command line, and a script that works perfectly from the command line may " +"fail mysteriously when run from the server. There's one reason why you " +"should still test your script from the command line: if it contains a syntax " +"error, the Python interpreter won't execute it at all, and the HTTP server " +"will most likely send a cryptic error to the client." +msgstr "" +"На жаль, CGI-сценарій, як правило, не запускається, якщо ви намагаєтеся його " +"запустити з командного рядка, а сценарій, який ідеально працює з командного " +"рядка, може статися незрозумілим чином під час запуску з сервера. Є одна " +"причина, чому вам усе одно слід протестувати свій сценарій з командного " +"рядка: якщо він містить синтаксичну помилку, інтерпретатор Python взагалі не " +"виконає його, а сервер HTTP, швидше за все, надішле клієнту загадкову " +"помилку." + +msgid "" +"Assuming your script has no syntax errors, yet it does not work, you have no " +"choice but to read the next section." +msgstr "" +"Якщо припустити, що у вашому сценарії немає синтаксичних помилок, але він не " +"працює, у вас немає іншого вибору, як прочитати наступний розділ." + +msgid "Debugging CGI scripts" +msgstr "Налагодження сценаріїв CGI" + +msgid "" +"First of all, check for trivial installation errors --- reading the section " +"above on installing your CGI script carefully can save you a lot of time. " +"If you wonder whether you have understood the installation procedure " +"correctly, try installing a copy of this module file (:file:`cgi.py`) as a " +"CGI script. When invoked as a script, the file will dump its environment " +"and the contents of the form in HTML format. Give it the right mode etc., " +"and send it a request. If it's installed in the standard :file:`cgi-bin` " +"directory, it should be possible to send it a request by entering a URL into " +"your browser of the form:" +msgstr "" +"Перш за все, перевірте наявність тривіальних помилок інсталяції --- уважне " +"читання розділу вище про інсталяцію сценарію CGI може заощадити вам багато " +"часу. Якщо вам цікаво, чи правильно ви зрозуміли процедуру встановлення, " +"спробуйте встановити копію цього файлу модуля (:file:`cgi.py`) як сценарій " +"CGI. Коли файл викликається як сценарій, файл створить дамп свого середовища " +"та вмісту форми у форматі HTML. Налаштуйте правильний режим тощо та " +"надішліть запит. Якщо його встановлено в стандартному каталозі :file:`cgi-" +"bin`, можна буде надіслати запит, ввівши URL-адресу у вашому браузері у " +"формі:" + +msgid "" +"If this gives an error of type 404, the server cannot find the script -- " +"perhaps you need to install it in a different directory. If it gives " +"another error, there's an installation problem that you should fix before " +"trying to go any further. If you get a nicely formatted listing of the " +"environment and form content (in this example, the fields should be listed " +"as \"addr\" with value \"At Home\" and \"name\" with value \"Joe Blow\"), " +"the :file:`cgi.py` script has been installed correctly. If you follow the " +"same procedure for your own script, you should now be able to debug it." +msgstr "" +"Якщо це дає помилку типу 404, сервер не може знайти сценарій - можливо, вам " +"потрібно встановити його в інший каталог. Якщо видає іншу помилку, виникла " +"проблема з інсталяцією, яку слід усунути, перш ніж продовжувати. Якщо ви " +"отримаєте гарно відформатований список середовища та вмісту форми (у цьому " +"прикладі поля мають бути вказані як \"addr\" зі значенням \"At Home\" та " +"\"name\" зі значенням \"Joe Blow\"), :file:`cgi.py` скрипт встановлено " +"правильно. Якщо ви виконаєте ту саму процедуру для власного сценарію, тепер " +"ви зможете його налагодити." + +msgid "" +"The next step could be to call the :mod:`cgi` module's :func:`test` function " +"from your script: replace its main code with the single statement ::" +msgstr "" +"Наступним кроком може бути виклик функції :func:`test` модуля :mod:`cgi` з " +"вашого сценарію: замініть його основний код одним оператором ::" + +msgid "" +"This should produce the same results as those gotten from installing the :" +"file:`cgi.py` file itself." +msgstr "" +"Це має призвести до тих самих результатів, що й після встановлення самого " +"файлу :file:`cgi.py`." + +msgid "" +"When an ordinary Python script raises an unhandled exception (for whatever " +"reason: of a typo in a module name, a file that can't be opened, etc.), the " +"Python interpreter prints a nice traceback and exits. While the Python " +"interpreter will still do this when your CGI script raises an exception, " +"most likely the traceback will end up in one of the HTTP server's log files, " +"or be discarded altogether." +msgstr "" +"Коли звичайний сценарій Python викликає необроблений виняток (з будь-якої " +"причини: помилка в назві модуля, файл, який не можна відкрити тощо), " +"інтерпретатор Python друкує хорошу трасування та завершує роботу. Хоча " +"інтерпретатор Python все одно зробить це, коли ваш сценарій CGI викликає " +"виняток, найімовірніше, зворотне відстеження потрапить в один із файлів " +"журналу HTTP-сервера або взагалі буде відкинуто." + +msgid "" +"Fortunately, once you have managed to get your script to execute *some* " +"code, you can easily send tracebacks to the web browser using the :mod:" +"`cgitb` module. If you haven't done so already, just add the lines::" +msgstr "" +"На щастя, коли вам вдалося змусити ваш сценарій виконати *деякий* код, ви " +"можете легко надіслати відстеження до веб-браузера за допомогою модуля :mod:" +"`cgitb`. Якщо ви ще цього не зробили, просто додайте рядки::" + +msgid "" +"to the top of your script. Then try running it again; when a problem " +"occurs, you should see a detailed report that will likely make apparent the " +"cause of the crash." +msgstr "" +"на початок вашого сценарію. Потім спробуйте запустити його знову; коли " +"виникає проблема, ви повинні побачити докладний звіт, який, ймовірно, стане " +"очевидною причиною збою." + +msgid "" +"If you suspect that there may be a problem in importing the :mod:`cgitb` " +"module, you can use an even more robust approach (which only uses built-in " +"modules)::" +msgstr "" +"Якщо ви підозрюєте, що може виникнути проблема з імпортом модуля :mod:" +"`cgitb`, ви можете скористатися навіть більш надійним підходом (який " +"використовує лише вбудовані модулі):" + +msgid "" +"This relies on the Python interpreter to print the traceback. The content " +"type of the output is set to plain text, which disables all HTML " +"processing. If your script works, the raw HTML will be displayed by your " +"client. If it raises an exception, most likely after the first two lines " +"have been printed, a traceback will be displayed. Because no HTML " +"interpretation is going on, the traceback will be readable." +msgstr "" +"Це залежить від інтерпретатора Python для друку трасування. Тип вмісту " +"виводу встановлено як звичайний текст, що вимикає всю обробку HTML. Якщо ваш " +"сценарій працює, ваш клієнт відображатиме необроблений HTML. Якщо це " +"викликає виняток, швидше за все, після того, як перші два рядки будуть " +"надруковані, відобразиться зворотне трасування. Оскільки інтерпретація HTML " +"не відбувається, трасування буде доступним для читання." + +msgid "Common problems and solutions" +msgstr "Поширені проблеми та рішення" + +msgid "" +"Most HTTP servers buffer the output from CGI scripts until the script is " +"completed. This means that it is not possible to display a progress report " +"on the client's display while the script is running." +msgstr "" +"Більшість HTTP-серверів буферизують вихідні дані сценаріїв CGI, доки " +"сценарій не буде завершено. Це означає, що неможливо відобразити звіт про " +"виконання на дисплеї клієнта під час виконання сценарію." + +msgid "Check the installation instructions above." +msgstr "Перегляньте інструкції зі встановлення вище." + +msgid "" +"Check the HTTP server's log files. (``tail -f logfile`` in a separate " +"window may be useful!)" +msgstr "" +"Перевірте файли журналу HTTP-сервера. (``tail -f logfile`` в окремому вікні " +"може бути корисним!)" + +msgid "" +"Always check a script for syntax errors first, by doing something like " +"``python script.py``." +msgstr "" +"Завжди спочатку перевіряйте сценарій на синтаксичні помилки, виконавши щось " +"на зразок ``python script.py``." + +msgid "" +"If your script does not have any syntax errors, try adding ``import cgitb; " +"cgitb.enable()`` to the top of the script." +msgstr "" +"Якщо ваш сценарій не має синтаксичних помилок, спробуйте додати ``import " +"cgitb; cgitb.enable()`` у верхній частині сценарію." + +msgid "" +"When invoking external programs, make sure they can be found. Usually, this " +"means using absolute path names --- :envvar:`PATH` is usually not set to a " +"very useful value in a CGI script." +msgstr "" +"Викликаючи зовнішні програми, переконайтеся, що їх можна знайти. Зазвичай це " +"означає використання абсолютних назв шляхів --- :envvar:`PATH` зазвичай не " +"має дуже корисного значення в сценарії CGI." + +msgid "" +"When reading or writing external files, make sure they can be read or " +"written by the userid under which your CGI script will be running: this is " +"typically the userid under which the web server is running, or some " +"explicitly specified userid for a web server's ``suexec`` feature." +msgstr "" +"Під час читання або запису зовнішніх файлів переконайтеся, що їх можна " +"прочитати або записати за ідентифікатором користувача, під яким " +"запускатиметься ваш сценарій CGI: зазвичай це ідентифікатор користувача, під " +"яким запущено веб-сервер, або якийсь явно вказаний ідентифікатор користувача " +"для` веб-сервера. функція `suexec``." + +msgid "" +"Don't try to give a CGI script a set-uid mode. This doesn't work on most " +"systems, and is a security liability as well." +msgstr "" +"Не намагайтеся надати сценарію CGI режим set-uid. Це не працює в більшості " +"систем, а також є проблемою безпеки." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Note that some recent versions of the HTML specification do state what order " +"the field values should be supplied in, but knowing whether a request was " +"received from a conforming browser, or even from a browser at all, is " +"tedious and error-prone." +msgstr "" +"Зауважте, що в деяких нещодавніх версіях специфікації HTML зазначено, у " +"якому порядку слід надавати значення полів, але знати, чи був отриманий " +"запит від відповідного браузера, або навіть від браузера взагалі, є " +"виснажливим і схильним до помилок." diff --git a/library/cgitb.po b/library/cgitb.po new file mode 100644 index 000000000..de2d2a39b --- /dev/null +++ b/library/cgitb.po @@ -0,0 +1,146 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`cgitb` --- Traceback manager for CGI scripts" +msgstr ":mod:`cgitb` --- Менеджер відстеження для сценаріїв CGI" + +msgid "**Source code:** :source:`Lib/cgitb.py`" +msgstr "**Вихідний код:** :source:`Lib/cgitb.py`" + +msgid "" +"The :mod:`cgitb` module is deprecated (see :pep:`PEP 594 <594#cgitb>` for " +"details)." +msgstr "" +"Модуль :mod:`cgitb` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#cgitb>`)." + +msgid "" +"The :mod:`cgitb` module provides a special exception handler for Python " +"scripts. (Its name is a bit misleading. It was originally designed to " +"display extensive traceback information in HTML for CGI scripts. It was " +"later generalized to also display this information in plain text.) After " +"this module is activated, if an uncaught exception occurs, a detailed, " +"formatted report will be displayed. The report includes a traceback showing " +"excerpts of the source code for each level, as well as the values of the " +"arguments and local variables to currently running functions, to help you " +"debug the problem. Optionally, you can save this information to a file " +"instead of sending it to the browser." +msgstr "" +"Модуль :mod:`cgitb` надає спеціальний обробник винятків для сценаріїв " +"Python. (Його назва дещо вводить в оману. Спочатку він був розроблений для " +"відображення розширеної інформації про відстеження в HTML для сценаріїв CGI. " +"Пізніше його було узагальнено для відображення цієї інформації також у " +"вигляді звичайного тексту.) Після активації цього модуля, якщо виникає " +"неперехоплена виняткова ситуація, відобразиться докладний відформатований " +"звіт. Звіт містить відстеження, що показує уривки вихідного коду для кожного " +"рівня, а також значення аргументів і локальних змінних для поточних " +"запущених функцій, щоб допомогти вам усунути проблему. За бажанням ви можете " +"зберегти цю інформацію у файл замість того, щоб надсилати її в браузер." + +msgid "To enable this feature, simply add this to the top of your CGI script::" +msgstr "" +"Щоб увімкнути цю функцію, просто додайте це у верхній частині сценарію CGI::" + +msgid "" +"The options to the :func:`enable` function control whether the report is " +"displayed in the browser and whether the report is logged to a file for " +"later analysis." +msgstr "" +"Параметри функції :func:`enable` визначають, чи відображатиметься звіт у " +"браузері та чи записуватиметься звіт у файл для подальшого аналізу." + +msgid "" +"This function causes the :mod:`cgitb` module to take over the interpreter's " +"default handling for exceptions by setting the value of :attr:`sys." +"excepthook`." +msgstr "" +"Ця функція змушує модуль :mod:`cgitb` взяти на себе стандартну обробку " +"винятків інтерпретатором, встановивши значення :attr:`sys.excepthook`." + +msgid "" +"The optional argument *display* defaults to ``1`` and can be set to ``0`` to " +"suppress sending the traceback to the browser. If the argument *logdir* is " +"present, the traceback reports are written to files. The value of *logdir* " +"should be a directory where these files will be placed. The optional " +"argument *context* is the number of lines of context to display around the " +"current line of source code in the traceback; this defaults to ``5``. If the " +"optional argument *format* is ``\"html\"``, the output is formatted as " +"HTML. Any other value forces plain text output. The default value is ``" +"\"html\"``." +msgstr "" +"Необов’язковий аргумент *display* за замовчуванням має значення ``1`` і може " +"бути встановлено ``0``, щоб придушити надсилання трасування до браузера. " +"Якщо присутній аргумент *logdir*, звіти про відстеження записуються у файли. " +"Значення *logdir* має бути каталогом, де будуть розміщені ці файли. " +"Необов’язковий аргумент *context* — це кількість рядків контексту для " +"відображення навколо поточного рядка вихідного коду в трасуванні; це за " +"замовчуванням ``5``. Якщо необов’язковим аргументом *format* є ``\"html\"``, " +"вивід буде відформатовано як HTML. Будь-яке інше значення примусово виводить " +"звичайний текст. Значення за замовчуванням – ``\"html\"``." + +msgid "" +"This function handles the exception described by *info* (a 3-tuple " +"containing the result of :func:`sys.exc_info`), formatting its traceback as " +"text and returning the result as a string. The optional argument *context* " +"is the number of lines of context to display around the current line of " +"source code in the traceback; this defaults to ``5``." +msgstr "" +"Ця функція обробляє виняток, описаний *info* (3-кортеж, що містить " +"результат :func:`sys.exc_info`), форматуючи свою трасування як текст і " +"повертаючи результат як рядок. Необов’язковий аргумент *context* — це " +"кількість рядків контексту для відображення навколо поточного рядка " +"вихідного коду в трасуванні; це за замовчуванням ``5``." + +msgid "" +"This function handles the exception described by *info* (a 3-tuple " +"containing the result of :func:`sys.exc_info`), formatting its traceback as " +"HTML and returning the result as a string. The optional argument *context* " +"is the number of lines of context to display around the current line of " +"source code in the traceback; this defaults to ``5``." +msgstr "" +"Ця функція обробляє виняток, описаний *info* (3-кортеж, що містить " +"результат :func:`sys.exc_info`), форматуючи свою трасування як HTML і " +"повертаючи результат як рядок. Необов’язковий аргумент *context* — це " +"кількість рядків контексту для відображення навколо поточного рядка " +"вихідного коду в трасуванні; це за замовчуванням ``5``." + +msgid "" +"This function handles an exception using the default settings (that is, show " +"a report in the browser, but don't log to a file). This can be used when " +"you've caught an exception and want to report it using :mod:`cgitb`. The " +"optional *info* argument should be a 3-tuple containing an exception type, " +"exception value, and traceback object, exactly like the tuple returned by :" +"func:`sys.exc_info`. If the *info* argument is not supplied, the current " +"exception is obtained from :func:`sys.exc_info`." +msgstr "" +"Ця функція обробляє виняток, використовуючи параметри за замовчуванням " +"(тобто показувати звіт у браузері, але не входити у файл). Це можна " +"використовувати, коли ви перехопили виняток і хочете повідомити про нього за " +"допомогою :mod:`cgitb`. Необов’язковий аргумент *info* має бути 3-кортежем, " +"що містить тип винятку, значення винятку та об’єкт трасування, точно як " +"кортеж, який повертає :func:`sys.exc_info`. Якщо аргумент *info* не надано, " +"поточний виняток отримується з :func:`sys.exc_info`." diff --git a/library/chunk.po b/library/chunk.po new file mode 100644 index 000000000..dc56d7e30 --- /dev/null +++ b/library/chunk.po @@ -0,0 +1,224 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`chunk` --- Read IFF chunked data" +msgstr ":mod:`chunk` --- Читання фрагментованих даних IFF" + +msgid "**Source code:** :source:`Lib/chunk.py`" +msgstr "**Вихідний код:** :source:`Lib/chunk.py`" + +msgid "" +"The :mod:`chunk` module is deprecated (see :pep:`PEP 594 <594#chunk>` for " +"details)." +msgstr "" +"Модуль :mod:`chunk` є застарілим (див. :pep:`PEP 594 <594#chunk>` для " +"деталей)." + +msgid "" +"This module provides an interface for reading files that use EA IFF 85 " +"chunks. [#]_ This format is used in at least the Audio Interchange File " +"Format (AIFF/AIFF-C) and the Real Media File Format (RMFF). The WAVE audio " +"file format is closely related and can also be read using this module." +msgstr "" +"Цей модуль забезпечує інтерфейс для читання файлів, які використовують " +"фрагменти EA IFF 85. [#]_ Цей формат використовується принаймні у форматі " +"файлів обміну аудіофайлами (AIFF/AIFF-C) і форматі реальних медіафайлів " +"(RMFF). Формат аудіофайлу WAVE тісно пов’язаний і його також можна читати за " +"допомогою цього модуля." + +msgid "A chunk has the following structure:" +msgstr "Чанк має таку структуру:" + +msgid "Offset" +msgstr "Зсув" + +msgid "Length" +msgstr "Довжина" + +msgid "Contents" +msgstr "Зміст" + +msgid "0" +msgstr "0" + +msgid "4" +msgstr "4" + +msgid "Chunk ID" +msgstr "ID блоку" + +msgid "Size of chunk in big-endian byte order, not including the header" +msgstr "Розмір блоку в порядку байтів у порядку байтів, не включаючи заголовок" + +msgid "8" +msgstr "8" + +msgid "*n*" +msgstr "*n*" + +msgid "Data bytes, where *n* is the size given in the preceding field" +msgstr "Байти даних, де *n* — розмір, указаний у попередньому полі" + +msgid "8 + *n*" +msgstr "8 + *n*" + +msgid "0 or 1" +msgstr "0 або 1" + +msgid "Pad byte needed if *n* is odd and chunk alignment is used" +msgstr "" +"Якщо *n* є непарним і використовується вирівнювання фрагментів, необхідний " +"байт заповнення" + +msgid "The ID is a 4-byte string which identifies the type of chunk." +msgstr "" +"Ідентифікатор — це 4-байтовий рядок, який ідентифікує тип послідовності." + +msgid "" +"The size field (a 32-bit value, encoded using big-endian byte order) gives " +"the size of the chunk data, not including the 8-byte header." +msgstr "" +"Поле розміру (32-бітне значення, закодоване з використанням порядку байтів у " +"порядку байтів) визначає розмір даних фрагмента, не враховуючи 8-байтовий " +"заголовок." + +msgid "" +"Usually an IFF-type file consists of one or more chunks. The proposed usage " +"of the :class:`Chunk` class defined here is to instantiate an instance at " +"the start of each chunk and read from the instance until it reaches the end, " +"after which a new instance can be instantiated. At the end of the file, " +"creating a new instance will fail with an :exc:`EOFError` exception." +msgstr "" +"Зазвичай файл типу IFF складається з одного або кількох блоків. Пропоноване " +"використання визначеного тут класу :class:`Chunk` полягає в створенні " +"екземпляра на початку кожного блоку та читанні з екземпляра, доки він не " +"досягне кінця, після чого може бути створений новий екземпляр. У кінці файлу " +"створити новий екземпляр не вдасться з виключенням :exc:`EOFError`." + +msgid "" +"Class which represents a chunk. The *file* argument is expected to be a " +"file-like object. An instance of this class is specifically allowed. The " +"only method that is needed is :meth:`~io.IOBase.read`. If the methods :meth:" +"`~io.IOBase.seek` and :meth:`~io.IOBase.tell` are present and don't raise an " +"exception, they are also used. If these methods are present and raise an " +"exception, they are expected to not have altered the object. If the " +"optional argument *align* is true, chunks are assumed to be aligned on 2-" +"byte boundaries. If *align* is false, no alignment is assumed. The default " +"value is true. If the optional argument *bigendian* is false, the chunk " +"size is assumed to be in little-endian order. This is needed for WAVE audio " +"files. The default value is true. If the optional argument *inclheader* is " +"true, the size given in the chunk header includes the size of the header. " +"The default value is false." +msgstr "" +"Клас, який представляє фрагмент. Очікується, що аргумент *file* буде " +"файлоподібним об’єктом. Примірник цього класу спеціально дозволений. Єдиний " +"потрібний метод це :meth:`~io.IOBase.read`. Якщо методи :meth:`~io.IOBase." +"seek` і :meth:`~io.IOBase.tell` присутні й не викликають виняткової " +"ситуації, вони також використовуються. Якщо ці методи присутні та викликають " +"виключення, очікується, що вони не змінили об’єкт. Якщо додатковий аргумент " +"*align* має значення true, блоки вважаються вирівняними за 2-байтовими " +"межами. Якщо *align* має значення false, вирівнювання не передбачається. " +"Значення за замовчуванням - true. Якщо необов’язковий аргумент *bigendian* є " +"хибним, розмір блоку вважається таким, що має порядок кінців від маленького. " +"Це потрібно для аудіофайлів WAVE. Значення за замовчуванням - true. Якщо " +"необов’язковий аргумент *inclheader* має значення true, розмір, указаний у " +"заголовку блоку, включає розмір заголовка. Значення за замовчуванням - false." + +msgid "A :class:`Chunk` object supports the following methods:" +msgstr "Об’єкт :class:`Chunk` підтримує такі методи:" + +msgid "" +"Returns the name (ID) of the chunk. This is the first 4 bytes of the chunk." +msgstr "Повертає назву (ID) блоку. Це перші 4 байти блоку." + +msgid "Returns the size of the chunk." +msgstr "Повертає розмір шматка." + +msgid "" +"Close and skip to the end of the chunk. This does not close the underlying " +"file." +msgstr "Закрийте та пропустіть до кінця шматка. Це не закриває основний файл." + +msgid "" +"The remaining methods will raise :exc:`OSError` if called after the :meth:" +"`close` method has been called. Before Python 3.3, they used to raise :exc:" +"`IOError`, now an alias of :exc:`OSError`." +msgstr "" +"Решта методів викличуть :exc:`OSError`, якщо їх викликати після виклику " +"методу :meth:`close`. До Python 3.3 вони викликали :exc:`IOError`, тепер це " +"псевдонім :exc:`OSError`." + +msgid "Returns ``False``." +msgstr "Повертає ``False``." + +msgid "" +"Set the chunk's current position. The *whence* argument is optional and " +"defaults to ``0`` (absolute file positioning); other values are ``1`` (seek " +"relative to the current position) and ``2`` (seek relative to the file's " +"end). There is no return value. If the underlying file does not allow seek, " +"only forward seeks are allowed." +msgstr "" +"Установіть поточну позицію фрагмента. Аргумент *whence* є необов’язковим і " +"за умовчанням має значення ``0`` (абсолютне розташування файлу); іншими " +"значеннями є ``1`` (пошук відносно поточної позиції) і ``2`` (пошук відносно " +"кінця файлу). Поверненого значення немає. Якщо основний файл не підтримує " +"пошук, дозволений лише пошук вперед." + +msgid "Return the current position into the chunk." +msgstr "Повернути поточну позицію в блок." + +msgid "" +"Read at most *size* bytes from the chunk (less if the read hits the end of " +"the chunk before obtaining *size* bytes). If the *size* argument is " +"negative or omitted, read all data until the end of the chunk. An empty " +"bytes object is returned when the end of the chunk is encountered " +"immediately." +msgstr "" +"Зчитувати щонайбільше *size* байтів із блоку (менше, якщо зчитування досягає " +"кінця фрагмента до отримання *size* байтів). Якщо аргумент *size* від’ємний " +"або пропущений, читайте всі дані до кінця блоку. Порожній байтовий об’єкт " +"повертається, коли відразу зустрічається кінець блоку." + +msgid "" +"Skip to the end of the chunk. All further calls to :meth:`read` for the " +"chunk will return ``b''``. If you are not interested in the contents of the " +"chunk, this method should be called so that the file points to the start of " +"the next chunk." +msgstr "" +"Перейти до кінця шматка. Усі подальші виклики :meth:`read` для блоку " +"повертатимуть ``b''``. Якщо вас не цікавить вміст фрагмента, цей метод слід " +"викликати так, щоб файл вказував на початок наступного фрагменту." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"\"EA IFF 85\" Standard for Interchange Format Files, Jerry Morrison, " +"Electronic Arts, January 1985." +msgstr "" +"\"EA IFF 85\" Стандарт для файлів формату обміну, Джеррі Моррісон, " +"Electronic Arts, січень 1985 р." diff --git a/library/cmath.po b/library/cmath.po new file mode 100644 index 000000000..3d23e58bc --- /dev/null +++ b/library/cmath.po @@ -0,0 +1,399 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`cmath` --- Mathematical functions for complex numbers" +msgstr ":mod:`cmath` --- Математичні функції для комплексних чисел" + +msgid "" +"This module provides access to mathematical functions for complex numbers. " +"The functions in this module accept integers, floating-point numbers or " +"complex numbers as arguments. They will also accept any Python object that " +"has either a :meth:`__complex__` or a :meth:`__float__` method: these " +"methods are used to convert the object to a complex or floating-point " +"number, respectively, and the function is then applied to the result of the " +"conversion." +msgstr "" +"Цей модуль надає доступ до математичних функцій для комплексних чисел. " +"Функції в цьому модулі приймають цілі числа, числа з плаваючою комою або " +"комплексні числа як аргументи. Вони також прийматимуть будь-який об’єкт " +"Python, який має метод :meth:`__complex__` або :meth:`__float__`: ці методи " +"використовуються для перетворення об’єкта на комплексне число чи число з " +"плаваючою комою відповідно, а функція є потім застосовується до результату " +"перетворення." + +msgid "" +"On platforms with hardware and system-level support for signed zeros, " +"functions involving branch cuts are continuous on *both* sides of the branch " +"cut: the sign of the zero distinguishes one side of the branch cut from the " +"other. On platforms that do not support signed zeros the continuity is as " +"specified below." +msgstr "" +"На платформах із апаратною та системною підтримкою нулів зі знаком функції, " +"що включають розрізи гілок, безперервні з *обох* сторін розрізу гілки: знак " +"нуля відрізняє одну сторону розрізу гілки від іншої. На платформах, які не " +"підтримують нулі зі знаком, безперервність указана нижче." + +msgid "Conversions to and from polar coordinates" +msgstr "Перетворення в і з полярних координат" + +msgid "" +"A Python complex number ``z`` is stored internally using *rectangular* or " +"*Cartesian* coordinates. It is completely determined by its *real part* ``z." +"real`` and its *imaginary part* ``z.imag``. In other words::" +msgstr "" +"Комплексне число Python ``z`` зберігається всередині за допомогою " +"*прямокутних* або *декартових* координат. Він повністю визначається його " +"*реальною частиною* ``z.real`` та його *уявною частиною* ``z.imag``. Іншими " +"словами::" + +msgid "" +"*Polar coordinates* give an alternative way to represent a complex number. " +"In polar coordinates, a complex number *z* is defined by the modulus *r* and " +"the phase angle *phi*. The modulus *r* is the distance from *z* to the " +"origin, while the phase *phi* is the counterclockwise angle, measured in " +"radians, from the positive x-axis to the line segment that joins the origin " +"to *z*." +msgstr "" +"*Полярні координати* дають альтернативний спосіб представлення комплексного " +"числа. У полярних координатах комплексне число *z* визначається модулем *r* " +"і фазовим кутом *phi*. Модуль *r* — це відстань від *z* до початку " +"координат, тоді як фаза *phi* — це кут проти годинникової стрілки, виміряний " +"у радіанах, від додатної осі x до відрізка лінії, який з’єднує початок " +"координат із *z*." + +msgid "" +"The following functions can be used to convert from the native rectangular " +"coordinates to polar coordinates and back." +msgstr "" +"Наступні функції можна використовувати для перетворення вихідних прямокутних " +"координат у полярні координати та назад." + +msgid "" +"Return the phase of *x* (also known as the *argument* of *x*), as a float. " +"``phase(x)`` is equivalent to ``math.atan2(x.imag, x.real)``. The result " +"lies in the range [-\\ *π*, *π*], and the branch cut for this operation lies " +"along the negative real axis, continuous from above. On systems with " +"support for signed zeros (which includes most systems in current use), this " +"means that the sign of the result is the same as the sign of ``x.imag``, " +"even when ``x.imag`` is zero::" +msgstr "" +"Повертає фазу *x* (також відомий як *аргумент* *x*) як число з плаваючою " +"точкою. ``phase(x)`` еквівалентний ``math.atan2(x.imag, x.real)``. Результат " +"знаходиться в діапазоні [-\\ *π*, *π*], а розріз гілки для цієї операції " +"лежить уздовж від’ємної дійсної осі, неперервної зверху. У системах із " +"підтримкою нулів зі знаком (до яких відноситься більшість систем, які зараз " +"використовуються), це означає, що знак результату такий самий, як знак ``x." +"imag``, навіть якщо ``x.imag`` є нуль::" + +msgid "" +"The modulus (absolute value) of a complex number *x* can be computed using " +"the built-in :func:`abs` function. There is no separate :mod:`cmath` module " +"function for this operation." +msgstr "" +"Модуль (абсолютне значення) комплексного числа *x* можна обчислити за " +"допомогою вбудованої функції :func:`abs`. Для цієї операції немає окремої " +"функції модуля :mod:`cmath`." + +msgid "" +"Return the representation of *x* in polar coordinates. Returns a pair ``(r, " +"phi)`` where *r* is the modulus of *x* and phi is the phase of *x*. " +"``polar(x)`` is equivalent to ``(abs(x), phase(x))``." +msgstr "" +"Повертає представлення *x* у полярних координатах. Повертає пару \"(r, " +"phi)\", де *r* — модуль *x*, а phi — фаза *x*. ``polar(x)`` еквівалентно " +"``(abs(x),phase(x))``." + +msgid "" +"Return the complex number *x* with polar coordinates *r* and *phi*. " +"Equivalent to ``r * (math.cos(phi) + math.sin(phi)*1j)``." +msgstr "" +"Повертає комплексне число *x* з полярними координатами *r* і *phi*. " +"Еквівалент ``r * (math.cos(phi) + math.sin(phi)*1j)``." + +msgid "Power and logarithmic functions" +msgstr "Степеневі та логарифмічні функції" + +msgid "" +"Return *e* raised to the power *x*, where *e* is the base of natural " +"logarithms." +msgstr "Поверніть *e* у степені *x*, де *e* — основа натуральних логарифмів." + +msgid "" +"Returns the logarithm of *x* to the given *base*. If the *base* is not " +"specified, returns the natural logarithm of *x*. There is one branch cut, " +"from 0 along the negative real axis to -∞, continuous from above." +msgstr "" +"Повертає логарифм від *x* до заданої *основи*. Якщо *основу* не вказано, " +"повертає натуральний логарифм *x*. Існує один розріз гілки, від 0 уздовж " +"від’ємної дійсної осі до -∞, безперервний зверху." + +msgid "" +"Return the base-10 logarithm of *x*. This has the same branch cut as :func:" +"`log`." +msgstr "" +"Повертає логарифм *x* за основою 10. Це такий же розріз гілки, як і :func:" +"`log`." + +msgid "" +"Return the square root of *x*. This has the same branch cut as :func:`log`." +msgstr "" +"Повертає квадратний корінь з *x*. Це такий же розріз гілки, як і :func:`log`." + +msgid "Trigonometric functions" +msgstr "Тригонометричні функції" + +msgid "" +"Return the arc cosine of *x*. There are two branch cuts: One extends right " +"from 1 along the real axis to ∞, continuous from below. The other extends " +"left from -1 along the real axis to -∞, continuous from above." +msgstr "" +"Повертає арккосинус *x*. Є два розрізи гілки: один тягнеться праворуч від 1 " +"уздовж дійсної осі до ∞, безперервний знизу. Інший тягнеться ліворуч від -1 " +"уздовж дійсної осі до -∞, безперервно зверху." + +msgid "" +"Return the arc sine of *x*. This has the same branch cuts as :func:`acos`." +msgstr "" +"Повернути арксинус *x*. Це має такі самі скорочення гілок, як :func:`acos`." + +msgid "" +"Return the arc tangent of *x*. There are two branch cuts: One extends from " +"``1j`` along the imaginary axis to ``∞j``, continuous from the right. The " +"other extends from ``-1j`` along the imaginary axis to ``-∞j``, continuous " +"from the left." +msgstr "" +"Поверніть арктангенс *x*. Є два розрізи гілки: один тягнеться від ``1j`` " +"уздовж уявної осі до ``∞j``, безперервно справа. Інший простягається від " +"``-1j`` уздовж уявної осі ``-∞j``, безперервно зліва." + +msgid "Return the cosine of *x*." +msgstr "Повертає косинус *x*." + +msgid "Return the sine of *x*." +msgstr "Повернути синус *x*." + +msgid "Return the tangent of *x*." +msgstr "Поверніть тангенс *x*." + +msgid "Hyperbolic functions" +msgstr "Гіперболічні функції" + +msgid "" +"Return the inverse hyperbolic cosine of *x*. There is one branch cut, " +"extending left from 1 along the real axis to -∞, continuous from above." +msgstr "" +"Повертає арккосинус *x*. Є один зріз гілки, що тягнеться зліва від 1 уздовж " +"дійсної осі до -∞, безперервний зверху." + +msgid "" +"Return the inverse hyperbolic sine of *x*. There are two branch cuts: One " +"extends from ``1j`` along the imaginary axis to ``∞j``, continuous from the " +"right. The other extends from ``-1j`` along the imaginary axis to ``-∞j``, " +"continuous from the left." +msgstr "" +"Повертає гіперболічний арксинус *x*. Є два розрізи гілки: один тягнеться від " +"``1j`` уздовж уявної осі до ``∞j``, безперервно справа. Інший простягається " +"від ``-1j`` уздовж уявної осі ``-∞j``, безперервно зліва." + +msgid "" +"Return the inverse hyperbolic tangent of *x*. There are two branch cuts: One " +"extends from ``1`` along the real axis to ``∞``, continuous from below. The " +"other extends from ``-1`` along the real axis to ``-∞``, continuous from " +"above." +msgstr "" +"Повертає гіперболічний обернений тангенс *x*. Є два розрізи гілки: один " +"тягнеться від ``1`` уздовж дійсної осі до ``∞``, безперервний знизу. Інший " +"простягається від ``-1`` уздовж дійсної осі ``-∞``, безперервно зверху." + +msgid "Return the hyperbolic cosine of *x*." +msgstr "Повертає гіперболічний косинус *x*." + +msgid "Return the hyperbolic sine of *x*." +msgstr "Повернути гіперболічний синус *x*." + +msgid "Return the hyperbolic tangent of *x*." +msgstr "Поверніть гіперболічний тангенс *x*." + +msgid "Classification functions" +msgstr "Функції класифікації" + +msgid "" +"Return ``True`` if both the real and imaginary parts of *x* are finite, and " +"``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо і дійсна, і уявна частини *x* скінченні, і ``False`` " +"в іншому випадку." + +msgid "" +"Return ``True`` if either the real or the imaginary part of *x* is an " +"infinity, and ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо дійсна чи уявна частина *x* є нескінченністю, і " +"``False`` в іншому випадку." + +msgid "" +"Return ``True`` if either the real or the imaginary part of *x* is a NaN, " +"and ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо дійсна чи уявна частина *x* є NaN, і ``False`` в " +"іншому випадку." + +msgid "" +"Return ``True`` if the values *a* and *b* are close to each other and " +"``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо значення *a* і *b* близькі одне до одного, і " +"``False`` в іншому випадку." + +msgid "" +"Whether or not two values are considered close is determined according to " +"given absolute and relative tolerances." +msgstr "" +"Чи вважаються два значення близькими чи ні, визначається відповідно до " +"заданих абсолютних і відносних допусків." + +msgid "" +"*rel_tol* is the relative tolerance -- it is the maximum allowed difference " +"between *a* and *b*, relative to the larger absolute value of *a* or *b*. " +"For example, to set a tolerance of 5%, pass ``rel_tol=0.05``. The default " +"tolerance is ``1e-09``, which assures that the two values are the same " +"within about 9 decimal digits. *rel_tol* must be greater than zero." +msgstr "" +"*rel_tol* — це відносний допуск — це максимально допустима різниця між *a* і " +"*b* відносно більшого абсолютного значення *a* або *b*. Наприклад, щоб " +"встановити допуск 5%, передайте ``rel_tol=0,05``. Допуск за замовчуванням — " +"``1e-09``, який гарантує, що два значення збігаються в межах приблизно 9 " +"десяткових цифр. *rel_tol* має бути більше нуля." + +msgid "" +"*abs_tol* is the minimum absolute tolerance -- useful for comparisons near " +"zero. *abs_tol* must be at least zero." +msgstr "" +"*abs_tol* — це мінімальний абсолютний допуск — корисний для порівнянь біля " +"нуля. *abs_tol* має бути не менше нуля." + +msgid "" +"If no errors occur, the result will be: ``abs(a-b) <= max(rel_tol * " +"max(abs(a), abs(b)), abs_tol)``." +msgstr "" +"Якщо помилок не буде, результатом буде: ``abs(a-b) <= max(rel_tol * " +"max(abs(a), abs(b)), abs_tol)``." + +msgid "" +"The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " +"handled according to IEEE rules. Specifically, ``NaN`` is not considered " +"close to any other value, including ``NaN``. ``inf`` and ``-inf`` are only " +"considered close to themselves." +msgstr "" +"Спеціальні значення IEEE 754 ``NaN``, ``inf`` і ``-inf`` оброблятимуться " +"відповідно до правил IEEE. Зокрема, ``NaN`` не вважається близьким до будь-" +"якого іншого значення, включаючи ``NaN``. ``inf`` і ``-inf`` вважаються лише " +"близькими до самих себе." + +msgid ":pep:`485` -- A function for testing approximate equality" +msgstr ":pep:`485` -- Функція для перевірки приблизної рівності" + +msgid "Constants" +msgstr "Константи" + +msgid "The mathematical constant *π*, as a float." +msgstr "Математична константа *π* у вигляді числа з плаваючою точкою." + +msgid "The mathematical constant *e*, as a float." +msgstr "Математична константа *e* як число з плаваючою точкою." + +msgid "The mathematical constant *τ*, as a float." +msgstr "Математична константа *τ* як число з плаваючою точкою." + +msgid "Floating-point positive infinity. Equivalent to ``float('inf')``." +msgstr "" +"Додатна нескінченність із плаваючою комою. Еквівалент ``float('inf')``." + +msgid "" +"Complex number with zero real part and positive infinity imaginary part. " +"Equivalent to ``complex(0.0, float('inf'))``." +msgstr "" +"Комплексне число з нульовою дійсною частиною та додатною нескінченною уявною " +"частиною. Еквівалент ``complex(0.0, float('inf'))``." + +msgid "" +"A floating-point \"not a number\" (NaN) value. Equivalent to " +"``float('nan')``." +msgstr "" +"Значення з плаваючою комою \"не число\" (NaN). Еквівалент ``float('nan')``." + +msgid "" +"Complex number with zero real part and NaN imaginary part. Equivalent to " +"``complex(0.0, float('nan'))``." +msgstr "" +"Комплексне число з нульовою дійсною частиною та NaN уявною частиною. " +"Еквівалент ``complex(0.0, float('nan'))``." + +msgid "" +"Note that the selection of functions is similar, but not identical, to that " +"in module :mod:`math`. The reason for having two modules is that some users " +"aren't interested in complex numbers, and perhaps don't even know what they " +"are. They would rather have ``math.sqrt(-1)`` raise an exception than " +"return a complex number. Also note that the functions defined in :mod:" +"`cmath` always return a complex number, even if the answer can be expressed " +"as a real number (in which case the complex number has an imaginary part of " +"zero)." +msgstr "" +"Зауважте, що вибір функцій подібний, але не ідентичний до вибору в модулі :" +"mod:`math`. Причина наявності двох модулів полягає в тому, що деякі " +"користувачі не цікавляться комплексними числами і, можливо, навіть не " +"знають, що це таке. Вони радше, щоб ``math.sqrt(-1)`` викликав виняток, ніж " +"повертав комплексне число. Також зауважте, що функції, визначені в :mod:" +"`cmath`, завжди повертають комплексне число, навіть якщо відповідь може бути " +"виражена як дійсне число (у цьому випадку комплексне число має уявну частину " +"нуля)." + +msgid "" +"A note on branch cuts: They are curves along which the given function fails " +"to be continuous. They are a necessary feature of many complex functions. " +"It is assumed that if you need to compute with complex functions, you will " +"understand about branch cuts. Consult almost any (not too elementary) book " +"on complex variables for enlightenment. For information of the proper " +"choice of branch cuts for numerical purposes, a good reference should be the " +"following:" +msgstr "" +"Примітка щодо розрізів гілок: це криві, уздовж яких дана функція не є " +"неперервною. Вони є необхідною ознакою багатьох складних функцій. " +"Передбачається, що якщо вам потрібно обчислювати зі складними функціями, ви " +"зрозумієте про скорочення гілок. Зверніться до майже будь-якої (не надто " +"елементарної) книги про комплексні змінні для просвітлення. Щоб отримати " +"інформацію щодо правильного вибору обрізків гілок для чисельних цілей, " +"гарною довідкою має бути наступне:" + +msgid "" +"Kahan, W: Branch cuts for complex elementary functions; or, Much ado about " +"nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the " +"art in numerical analysis. Clarendon Press (1987) pp165--211." +msgstr "" +"Kahan, W: Розрізи гілок для складних елементарних функцій; або \"Багато шуму " +"з нічого\". У Ізерлес, А. та Пауелл, М. (ред.), Сучасний стан числового " +"аналізу. Clarendon Press (1987) pp165--211." diff --git a/library/cmd.po b/library/cmd.po new file mode 100644 index 000000000..439c8607a --- /dev/null +++ b/library/cmd.po @@ -0,0 +1,404 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`cmd` --- Support for line-oriented command interpreters" +msgstr ":mod:`cmd` --- Підтримка рядково-орієнтованих інтерпретаторів команд" + +msgid "**Source code:** :source:`Lib/cmd.py`" +msgstr "**Вихідний код:** :source:`Lib/cmd.py`" + +msgid "" +"The :class:`Cmd` class provides a simple framework for writing line-oriented " +"command interpreters. These are often useful for test harnesses, " +"administrative tools, and prototypes that will later be wrapped in a more " +"sophisticated interface." +msgstr "" +"Клас :class:`Cmd` забезпечує просту структуру для написання рядково-" +"орієнтованих інтерпретаторів команд. Вони часто корисні для тестових систем, " +"інструментів адміністрування та прототипів, які пізніше будуть загорнуті в " +"більш складний інтерфейс." + +msgid "" +"A :class:`Cmd` instance or subclass instance is a line-oriented interpreter " +"framework. There is no good reason to instantiate :class:`Cmd` itself; " +"rather, it's useful as a superclass of an interpreter class you define " +"yourself in order to inherit :class:`Cmd`'s methods and encapsulate action " +"methods." +msgstr "" +"Екземпляр :class:`Cmd` або екземпляр підкласу — це рядково-орієнтована " +"структура інтерпретатора. Немає вагомих причин створювати сам :class:`Cmd`; " +"скоріше, це корисно як суперклас класу інтерпретатора, який ви визначаєте " +"самостійно, щоб успадкувати методи :class:`Cmd` та інкапсулювати методи дії." + +msgid "" +"The optional argument *completekey* is the :mod:`readline` name of a " +"completion key; it defaults to :kbd:`Tab`. If *completekey* is not :const:" +"`None` and :mod:`readline` is available, command completion is done " +"automatically." +msgstr "" +"Необов’язковий аргумент *completekey* є назвою :mod:`readline` ключа " +"завершення; типово :kbd:`Tab`. Якщо *completekey* не :const:`None` і :mod:" +"`readline` доступний, завершення команди виконується автоматично." + +msgid "" +"The optional arguments *stdin* and *stdout* specify the input and output " +"file objects that the Cmd instance or subclass instance will use for input " +"and output. If not specified, they will default to :data:`sys.stdin` and :" +"data:`sys.stdout`." +msgstr "" +"Необов’язкові аргументи *stdin* і *stdout* визначають вхідні та вихідні " +"файлові об’єкти, які екземпляр Cmd або екземпляр підкласу використовуватиме " +"для введення та виведення. Якщо не вказати, за замовчуванням вони будуть :" +"data:`sys.stdin` і :data:`sys.stdout`." + +msgid "" +"If you want a given *stdin* to be used, make sure to set the instance's :" +"attr:`use_rawinput` attribute to ``False``, otherwise *stdin* will be " +"ignored." +msgstr "" +"Якщо ви хочете, щоб використовувався заданий *stdin*, обов’язково встановіть " +"для атрибута екземпляра :attr:`use_rawinput` значення ``False``, інакше " +"*stdin* буде проігноровано." + +msgid "Cmd Objects" +msgstr "Cmd об’єкти" + +msgid "A :class:`Cmd` instance has the following methods:" +msgstr "Екземпляр :class:`Cmd` має такі методи:" + +msgid "" +"Repeatedly issue a prompt, accept input, parse an initial prefix off the " +"received input, and dispatch to action methods, passing them the remainder " +"of the line as argument." +msgstr "" +"Повторно видавати підказку, приймати введення, аналізувати початковий " +"префікс отриманого введення та відправляти до методів дії, передаючи їм " +"решту рядка як аргумент." + +msgid "" +"The optional argument is a banner or intro string to be issued before the " +"first prompt (this overrides the :attr:`intro` class attribute)." +msgstr "" +"Необов’язковим аргументом є банер або вступний рядок, який буде виданий " +"перед першою підказкою (це замінює атрибут класу :attr:`intro`)." + +msgid "" +"If the :mod:`readline` module is loaded, input will automatically inherit :" +"program:`bash`\\ -like history-list editing (e.g. :kbd:`Control-P` scrolls " +"back to the last command, :kbd:`Control-N` forward to the next one, :kbd:" +"`Control-F` moves the cursor to the right non-destructively, :kbd:`Control-" +"B` moves the cursor to the left non-destructively, etc.)." +msgstr "" +"Якщо завантажено модуль :mod:`readline`, введення автоматично успадковує :" +"program:`bash`\\ -подібне до редагування списку історії (наприклад, :kbd:" +"`Control-P` прокручує назад до останньої команди, :kbd:`Control-N` " +"переходить до наступного, :kbd:`Control-F` переміщує курсор праворуч " +"недеструктивно, :kbd:`Control-B` переміщує курсор ліворуч недеструктивно " +"тощо)." + +msgid "An end-of-file on input is passed back as the string ``'EOF'``." +msgstr "Кінець файлу при введенні передається назад як рядок ``'EOF'``." + +msgid "" +"An interpreter instance will recognize a command name ``foo`` if and only if " +"it has a method :meth:`do_foo`. As a special case, a line beginning with " +"the character ``'?'`` is dispatched to the method :meth:`do_help`. As " +"another special case, a line beginning with the character ``'!'`` is " +"dispatched to the method :meth:`do_shell` (if such a method is defined)." +msgstr "" +"Екземпляр інтерпретатора розпізнає ім’я команди ``foo`` тоді і тільки якщо " +"він має метод :meth:`do_foo`. Як особливий випадок, рядок, що починається " +"символом ``'?''`` надсилається в метод :meth:`do_help`. Як інший особливий " +"випадок, рядок, що починається символом ``'!''`` відправляється в метод :" +"meth:`do_shell` (якщо такий метод визначено)." + +msgid "" +"This method will return when the :meth:`postcmd` method returns a true " +"value. The *stop* argument to :meth:`postcmd` is the return value from the " +"command's corresponding :meth:`do_\\*` method." +msgstr "" +"Цей метод повернеться, коли метод :meth:`postcmd` поверне справжнє значення. " +"Аргумент *stop* для :meth:`postcmd` є значенням, що повертається з " +"відповідного методу :meth:`do_\\*` команди." + +msgid "" +"If completion is enabled, completing commands will be done automatically, " +"and completing of commands args is done by calling :meth:`complete_foo` with " +"arguments *text*, *line*, *begidx*, and *endidx*. *text* is the string " +"prefix we are attempting to match: all returned matches must begin with it. " +"*line* is the current input line with leading whitespace removed, *begidx* " +"and *endidx* are the beginning and ending indexes of the prefix text, which " +"could be used to provide different completion depending upon which position " +"the argument is in." +msgstr "" +"Якщо завершення ввімкнено, завершення команд виконуватиметься автоматично, а " +"завершення аргументів команд здійснюється викликом :meth:`complete_foo` з " +"аргументами *text*, *line*, *begidx* і *endidx*. *текст* — це префікс рядка, " +"який ми намагаємось зіставити: усі повернуті збіги мають починатися з нього. " +"*рядок* — це поточний рядок введення з видаленими пробілами на початку, " +"*begidx* і *endidx* — це початковий і кінцевий індекси тексту префікса, які " +"можна використовувати для забезпечення різного завершення залежно від того, " +"в якій позиції знаходиться аргумент." + +msgid "" +"All subclasses of :class:`Cmd` inherit a predefined :meth:`do_help`. This " +"method, called with an argument ``'bar'``, invokes the corresponding method :" +"meth:`help_bar`, and if that is not present, prints the docstring of :meth:" +"`do_bar`, if available. With no argument, :meth:`do_help` lists all " +"available help topics (that is, all commands with corresponding :meth:`help_" +"\\*` methods or commands that have docstrings), and also lists any " +"undocumented commands." +msgstr "" +"Усі підкласи :class:`Cmd` успадковують попередньо визначений :meth:" +"`do_help`. Цей метод, який викликається з аргументом ``'bar``, викликає " +"відповідний метод :meth:`help_bar`, і якщо його немає, друкує рядок " +"документації :meth:`do_bar`, якщо доступний. Без аргументів :meth:`do_help` " +"перераховує всі доступні теми довідки (тобто всі команди з відповідними " +"методами :meth:`help_\\*` або команди, які мають рядки документації), а " +"також перераховує будь-які незадокументовані команди." + +msgid "" +"Interpret the argument as though it had been typed in response to the " +"prompt. This may be overridden, but should not normally need to be; see the :" +"meth:`precmd` and :meth:`postcmd` methods for useful execution hooks. The " +"return value is a flag indicating whether interpretation of commands by the " +"interpreter should stop. If there is a :meth:`do_\\*` method for the " +"command *str*, the return value of that method is returned, otherwise the " +"return value from the :meth:`default` method is returned." +msgstr "" +"Інтерпретуйте аргумент так, ніби його було введено у відповідь на підказку. " +"Це може бути перевизначено, але зазвичай це не повинно бути обов’язково; " +"перегляньте методи :meth:`precmd` і :meth:`postcmd` для корисних хуків " +"виконання. Значення, що повертається, є прапорцем, який вказує, чи слід " +"припинити інтерпретацію команд інтерпретатором. Якщо для команди *str* є " +"метод :meth:`do_\\*`, повертається значення, що повертається цим методом, " +"інакше повертається значення, що повертається методом :meth:`default`." + +msgid "" +"Method called when an empty line is entered in response to the prompt. If " +"this method is not overridden, it repeats the last nonempty command entered." +msgstr "" +"Метод викликається, коли у відповідь на підказку вводиться порожній рядок. " +"Якщо цей метод не перевизначено, він повторює останню введену непорожню " +"команду." + +msgid "" +"Method called on an input line when the command prefix is not recognized. If " +"this method is not overridden, it prints an error message and returns." +msgstr "" +"Метод, який викликається у рядку введення, коли префікс команди не " +"розпізнається. Якщо цей метод не перевизначено, він друкує повідомлення про " +"помилку та повертається." + +msgid "" +"Method called to complete an input line when no command-specific :meth:" +"`complete_\\*` method is available. By default, it returns an empty list." +msgstr "" +"Метод, який викликається для завершення рядка введення, коли недоступний " +"метод :meth:`complete_\\*` для команди. За замовчуванням він повертає " +"порожній список." + +msgid "" +"Method called to display a list of strings as a compact set of columns. Each " +"column is only as wide as necessary. Columns are separated by two spaces for " +"readability." +msgstr "" + +msgid "" +"Hook method executed just before the command line *line* is interpreted, but " +"after the input prompt is generated and issued. This method is a stub in :" +"class:`Cmd`; it exists to be overridden by subclasses. The return value is " +"used as the command which will be executed by the :meth:`onecmd` method; " +"the :meth:`precmd` implementation may re-write the command or simply return " +"*line* unchanged." +msgstr "" +"Метод підхоплення виконується безпосередньо перед інтерпретацією *рядка* " +"командного рядка, але після створення та видачі підказки введення. Цей метод " +"є заглушкою в :class:`Cmd`; він існує, щоб бути заміненим підкласами. " +"Повернене значення використовується як команда, яка буде виконана методом :" +"meth:`onecmd`; реалізація :meth:`precmd` може переписати команду або просто " +"повернути *рядок* без змін." + +msgid "" +"Hook method executed just after a command dispatch is finished. This method " +"is a stub in :class:`Cmd`; it exists to be overridden by subclasses. *line* " +"is the command line which was executed, and *stop* is a flag which indicates " +"whether execution will be terminated after the call to :meth:`postcmd`; this " +"will be the return value of the :meth:`onecmd` method. The return value of " +"this method will be used as the new value for the internal flag which " +"corresponds to *stop*; returning false will cause interpretation to continue." +msgstr "" +"Метод підхоплення виконується відразу після завершення відправки команди. " +"Цей метод є заглушкою в :class:`Cmd`; він існує, щоб бути заміненим " +"підкласами. *рядок* — це командний рядок, який було виконано, а *стоп* — це " +"позначка, яка вказує, чи буде виконання припинено після виклику :meth:" +"`postcmd`; це буде значення, яке повертає метод :meth:`onecmd`. Повернене " +"значення цього методу буде використано як нове значення для внутрішнього " +"прапора, який відповідає *stop*; повернення false призведе до продовження " +"інтерпретації." + +msgid "" +"Hook method executed once when :meth:`cmdloop` is called. This method is a " +"stub in :class:`Cmd`; it exists to be overridden by subclasses." +msgstr "" +"Метод підхоплення виконується один раз під час виклику :meth:`cmdloop`. Цей " +"метод є заглушкою в :class:`Cmd`; він існує, щоб бути заміненим підкласами." + +msgid "" +"Hook method executed once when :meth:`cmdloop` is about to return. This " +"method is a stub in :class:`Cmd`; it exists to be overridden by subclasses." +msgstr "" +"Метод підключення виконується один раз, коли :meth:`cmdloop` збирається " +"повернутися. Цей метод є заглушкою в :class:`Cmd`; він існує, щоб бути " +"заміненим підкласами." + +msgid "" +"Instances of :class:`Cmd` subclasses have some public instance variables:" +msgstr "" +"Екземпляри підкласів :class:`Cmd` мають деякі публічні змінні екземпляра:" + +msgid "The prompt issued to solicit input." +msgstr "Підказка, видана для запиту введення." + +msgid "The string of characters accepted for the command prefix." +msgstr "Рядок символів, прийнятний для префікса команди." + +msgid "The last nonempty command prefix seen." +msgstr "Останній непорожній префікс команди." + +msgid "" +"A list of queued input lines. The cmdqueue list is checked in :meth:" +"`cmdloop` when new input is needed; if it is nonempty, its elements will be " +"processed in order, as if entered at the prompt." +msgstr "" +"Список рядків введення в черзі. Список cmdqueue перевіряється в :meth:" +"`cmdloop`, коли потрібен новий вхід; якщо він непорожній, його елементи " +"будуть оброблені в порядку, ніби введені під час підказки." + +msgid "" +"A string to issue as an intro or banner. May be overridden by giving the :" +"meth:`cmdloop` method an argument." +msgstr "" +"Рядок для випуску як вступ або банер. Може бути перевизначено, надавши " +"методу :meth:`cmdloop` аргумент." + +msgid "" +"The header to issue if the help output has a section for documented commands." +msgstr "" +"Заголовок, який потрібно видавати, якщо вихід довідки містить розділ для " +"задокументованих команд." + +msgid "" +"The header to issue if the help output has a section for miscellaneous help " +"topics (that is, there are :meth:`help_\\*` methods without corresponding :" +"meth:`do_\\*` methods)." +msgstr "" +"Заголовок, який потрібно видавати, якщо вихід довідки містить розділ для " +"різноманітних тем довідки (тобто існують методи :meth:`help_\\*` без " +"відповідних методів :meth:`do_\\*`)." + +msgid "" +"The header to issue if the help output has a section for undocumented " +"commands (that is, there are :meth:`do_\\*` methods without corresponding :" +"meth:`help_\\*` methods)." +msgstr "" +"Заголовок, який потрібно видавати, якщо вихід довідки містить розділ для " +"недокументованих команд (тобто існують методи :meth:`do_\\*` без відповідних " +"методів :meth:`help_\\*`)." + +msgid "" +"The character used to draw separator lines under the help-message headers. " +"If empty, no ruler line is drawn. It defaults to ``'='``." +msgstr "" +"Символ, який використовується для малювання роздільних ліній під заголовками " +"довідкових повідомлень. Якщо поле пусте, лінія лінійки не малюється. За " +"замовчуванням ``'='``." + +msgid "" +"A flag, defaulting to true. If true, :meth:`cmdloop` uses :func:`input` to " +"display a prompt and read the next command; if false, :meth:`sys.stdout." +"write` and :meth:`sys.stdin.readline` are used. (This means that by " +"importing :mod:`readline`, on systems that support it, the interpreter will " +"automatically support :program:`Emacs`\\ -like line editing and command-" +"history keystrokes.)" +msgstr "" +"Прапор, за замовчуванням значення true. Якщо істина, :meth:`cmdloop` " +"використовує :func:`input` для відображення підказки та читання наступної " +"команди; якщо false, використовуються :meth:`sys.stdout.write` і :meth:`sys." +"stdin.readline`. (Це означає, що імпортуючи :mod:`readline`, у системах, які " +"його підтримують, інтерпретатор автоматично підтримуватиме :program:`Emacs`" +"\\ -редагування рядка та натискання клавіш історії команд.)" + +msgid "Cmd Example" +msgstr "Приклад команди" + +msgid "" +"The :mod:`cmd` module is mainly useful for building custom shells that let a " +"user work with a program interactively." +msgstr "" +"Модуль :mod:`cmd` в основному корисний для створення спеціальних оболонок, " +"які дозволяють користувачеві працювати з програмою в інтерактивному режимі." + +msgid "" +"This section presents a simple example of how to build a shell around a few " +"of the commands in the :mod:`turtle` module." +msgstr "" +"У цьому розділі представлено простий приклад того, як створити оболонку " +"навколо кількох команд у модулі :mod:`turtle`." + +msgid "" +"Basic turtle commands such as :meth:`~turtle.forward` are added to a :class:" +"`Cmd` subclass with method named :meth:`do_forward`. The argument is " +"converted to a number and dispatched to the turtle module. The docstring is " +"used in the help utility provided by the shell." +msgstr "" +"Базові команди черепахи, такі як :meth:`~turtle.forward`, додаються до " +"підкласу :class:`Cmd` із методом під назвою :meth:`do_forward`. Аргумент " +"перетворюється на число та надсилається до модуля turtle. Рядок документації " +"використовується в утиліті довідки, що надається оболонкою." + +msgid "" +"The example also includes a basic record and playback facility implemented " +"with the :meth:`~Cmd.precmd` method which is responsible for converting the " +"input to lowercase and writing the commands to a file. The :meth:" +"`do_playback` method reads the file and adds the recorded commands to the :" +"attr:`cmdqueue` for immediate playback::" +msgstr "" +"Приклад також містить базову можливість запису та відтворення, реалізовану " +"за допомогою методу :meth:`~Cmd.precmd`, який відповідає за перетворення " +"введення на нижній регістр і запис команд у файл. Метод :meth:`do_playback` " +"читає файл і додає записані команди до :attr:`cmdqueue` для негайного " +"відтворення::" + +msgid "" +"Here is a sample session with the turtle shell showing the help functions, " +"using blank lines to repeat commands, and the simple record and playback " +"facility:" +msgstr "" +"Ось зразок сеансу з панциром черепахи, який показує довідкові функції, " +"використовує порожні рядки для повторення команд, а також простий засіб " +"запису та відтворення:" diff --git a/library/code.po b/library/code.po new file mode 100644 index 000000000..28215a98f --- /dev/null +++ b/library/code.po @@ -0,0 +1,307 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`code` --- Interpreter base classes" +msgstr ":mod:`code` --- Базові класи інтерпретатора" + +msgid "**Source code:** :source:`Lib/code.py`" +msgstr "**Вихідний код:** :source:`Lib/code.py`" + +msgid "" +"The ``code`` module provides facilities to implement read-eval-print loops " +"in Python. Two classes and convenience functions are included which can be " +"used to build applications which provide an interactive interpreter prompt." +msgstr "" +"Модуль ``code`` надає засоби для реалізації циклів читання-оцінки-друку в " +"Python. Включено два класи та додаткові функції, які можна використовувати " +"для створення програм, які надають інтерактивну підказку інтерпретатора." + +msgid "" +"This class deals with parsing and interpreter state (the user's namespace); " +"it does not deal with input buffering or prompting or input file naming (the " +"filename is always passed in explicitly). The optional *locals* argument " +"specifies the dictionary in which code will be executed; it defaults to a " +"newly created dictionary with key ``'__name__'`` set to ``'__console__'`` " +"and key ``'__doc__'`` set to ``None``." +msgstr "" +"Цей клас займається аналізом та станом інтерпретатора (простір імен " +"користувача); він не стосується буферизації вхідних даних, підказок або " +"іменування вхідних файлів (назва файлу завжди передається явно). " +"Необов'язковий аргумент *locals* визначає словник, у якому виконуватиметься " +"код; за замовчуванням він використовує щойно створений словник із ключем " +"``'__name__''``, встановленим на ``'__console__''``, і ключем " +"``'__doc__''``, встановленим на ``None``." + +msgid "" +"Closely emulate the behavior of the interactive Python interpreter. This " +"class builds on :class:`InteractiveInterpreter` and adds prompting using the " +"familiar ``sys.ps1`` and ``sys.ps2``, and input buffering." +msgstr "" +"Наслідуйте поведінку інтерактивного інтерпретатора Python. Цей клас " +"базується на :class:`InteractiveInterpreter` і додає підказки за допомогою " +"знайомих ``sys.ps1`` і ``sys.ps2``, а також буферизацію введення." + +msgid "" +"Convenience function to run a read-eval-print loop. This creates a new " +"instance of :class:`InteractiveConsole` and sets *readfunc* to be used as " +"the :meth:`InteractiveConsole.raw_input` method, if provided. If *local* is " +"provided, it is passed to the :class:`InteractiveConsole` constructor for " +"use as the default namespace for the interpreter loop. The :meth:`interact` " +"method of the instance is then run with *banner* and *exitmsg* passed as the " +"banner and exit message to use, if provided. The console object is " +"discarded after use." +msgstr "" +"Зручна функція для запуску циклу читання-оцінка-друк. Це створює новий " +"екземпляр :class:`InteractiveConsole` і встановлює *readfunc* для " +"використання як метод :meth:`InteractiveConsole.raw_input`, якщо він " +"надається. Якщо вказано *local*, воно передається конструктору :class:" +"`InteractiveConsole` для використання як простору імен за замовчуванням для " +"циклу інтерпретатора. Потім запускається метод :meth:`interact` екземпляра з " +"*banner* і *exitmsg*, які передаються як банер і повідомлення про вихід, " +"якщо воно надається. Після використання об’єкт консолі викидається." + +msgid "Added *exitmsg* parameter." +msgstr "Додано параметр *exitmsg*." + +msgid "" +"This function is useful for programs that want to emulate Python's " +"interpreter main loop (a.k.a. the read-eval-print loop). The tricky part is " +"to determine when the user has entered an incomplete command that can be " +"completed by entering more text (as opposed to a complete command or a " +"syntax error). This function *almost* always makes the same decision as the " +"real interpreter main loop." +msgstr "" +"Ця функція корисна для програм, які хочуть емулювати основний цикл " +"інтерпретатора Python (він же цикл читання-оцінки-друку). Складна частина " +"полягає в тому, щоб визначити, коли користувач ввів неповну команду, яку " +"можна завершити введенням додаткового тексту (на відміну від повної команди " +"чи синтаксичної помилки). Ця функція *майже* завжди приймає те саме рішення, " +"що й основний цикл реального інтерпретатора." + +msgid "" +"*source* is the source string; *filename* is the optional filename from " +"which source was read, defaulting to ``''``; and *symbol* is the " +"optional grammar start symbol, which should be ``'single'`` (the default), " +"``'eval'`` or ``'exec'``." +msgstr "" +"*джерело* - вихідний рядок; *ім’я файлу* — необов’язкове ім’я файлу, з якого " +"було прочитано джерело, за умовчанням ``' ''``; і *symbol* є " +"необов’язковим символом початку граматики, який має бути ``'single'`` (за " +"замовчуванням), ``'eval'`` або ``'exec'``." + +msgid "" +"Returns a code object (the same as ``compile(source, filename, symbol)``) if " +"the command is complete and valid; ``None`` if the command is incomplete; " +"raises :exc:`SyntaxError` if the command is complete and contains a syntax " +"error, or raises :exc:`OverflowError` or :exc:`ValueError` if the command " +"contains an invalid literal." +msgstr "" +"Повертає об’єкт коду (те саме, що ``compile(source, filename, symbol)``), " +"якщо команда повна та дійсна; ``None``, якщо команда неповна; викликає :exc:" +"`SyntaxError`, якщо команда завершена та містить синтаксичну помилку, або " +"викликає :exc:`OverflowError` або :exc:`ValueError`, якщо команда містить " +"недійсний літерал." + +msgid "Interactive Interpreter Objects" +msgstr "Об'єкти інтерактивного інтерпретатора" + +msgid "" +"Compile and run some source in the interpreter. Arguments are the same as " +"for :func:`compile_command`; the default for *filename* is ``''``, " +"and for *symbol* is ``'single'``. One of several things can happen:" +msgstr "" +"Скомпілюйте та запустіть деяке джерело в інтерпретаторі. Аргументи такі " +"самі, як і для :func:`compile_command`; за замовчуванням для *ім’я файлу* є " +"``' ''``, а для *symbol* — ``'single'``. Може статися одне з кількох:" + +msgid "" +"The input is incorrect; :func:`compile_command` raised an exception (:exc:" +"`SyntaxError` or :exc:`OverflowError`). A syntax traceback will be printed " +"by calling the :meth:`showsyntaxerror` method. :meth:`runsource` returns " +"``False``." +msgstr "" +"Введено неправильно; :func:`compile_command` викликала виняток (:exc:" +"`SyntaxError` або :exc:`OverflowError`). Відстеження синтаксису буде " +"надруковано викликом методу :meth:`showsyntaxerror`. :meth:`runsource` " +"повертає ``False``." + +msgid "" +"The input is incomplete, and more input is required; :func:`compile_command` " +"returned ``None``. :meth:`runsource` returns ``True``." +msgstr "" +"Вхідні дані неповні, потрібні додаткові дані; :func:`compile_command` " +"повернула ``None``. :meth:`runsource` повертає ``True``." + +msgid "" +"The input is complete; :func:`compile_command` returned a code object. The " +"code is executed by calling the :meth:`runcode` (which also handles run-time " +"exceptions, except for :exc:`SystemExit`). :meth:`runsource` returns " +"``False``." +msgstr "" +"Введення завершено; :func:`compile_command` повернув об’єкт коду. Код " +"виконується шляхом виклику :meth:`runcode` (який також обробляє винятки під " +"час виконання, за винятком :exc:`SystemExit`). :meth:`runsource` повертає " +"``False``." + +msgid "" +"The return value can be used to decide whether to use ``sys.ps1`` or ``sys." +"ps2`` to prompt the next line." +msgstr "" +"Значення, що повертається, можна використовувати, щоб вирішити, чи " +"використовувати ``sys.ps1`` або ``sys.ps2`` для підказки наступного рядка." + +msgid "" +"Execute a code object. When an exception occurs, :meth:`showtraceback` is " +"called to display a traceback. All exceptions are caught except :exc:" +"`SystemExit`, which is allowed to propagate." +msgstr "" +"Виконати об’єкт коду. Коли виникає виняткова ситуація, :meth:`showtraceback` " +"викликається для відображення зворотного відстеження. Перехоплюються всі " +"винятки, крім :exc:`SystemExit`, якому дозволено поширюватися." + +msgid "" +"A note about :exc:`KeyboardInterrupt`: this exception may occur elsewhere in " +"this code, and may not always be caught. The caller should be prepared to " +"deal with it." +msgstr "" +"Примітка про :exc:`KeyboardInterrupt`: цей виняток може виникнути в іншому " +"місці цього коду та не завжди може бути перехоплений. Той, хто дзвонить, " +"повинен бути готовим до цього." + +msgid "" +"Display the syntax error that just occurred. This does not display a stack " +"trace because there isn't one for syntax errors. If *filename* is given, it " +"is stuffed into the exception instead of the default filename provided by " +"Python's parser, because it always uses ``''`` when reading from a " +"string. The output is written by the :meth:`write` method." +msgstr "" +"Відобразити синтаксичну помилку, яка щойно сталася. Це не відображає " +"трасування стека, оскільки немає трасування синтаксичних помилок. Якщо " +"вказано *filename*, воно вставляється у виняток замість назви файлу за " +"замовчуванням, наданої синтаксичним аналізатором Python, оскільки він завжди " +"використовує ``' ''`` під час читання з рядка. Вихід записується " +"методом :meth:`write`." + +msgid "" +"Display the exception that just occurred. We remove the first stack item " +"because it is within the interpreter object implementation. The output is " +"written by the :meth:`write` method." +msgstr "" +"Відобразити виняток, який щойно стався. Ми видаляємо перший елемент стеку, " +"оскільки він знаходиться в межах реалізації об’єкта інтерпретатора. Вихід " +"записується методом :meth:`write`." + +msgid "" +"The full chained traceback is displayed instead of just the primary " +"traceback." +msgstr "" +"Відображається повна ланцюгова трасування, а не лише основна трасування." + +msgid "" +"Write a string to the standard error stream (``sys.stderr``). Derived " +"classes should override this to provide the appropriate output handling as " +"needed." +msgstr "" +"Запишіть рядок у стандартний потік помилок (``sys.stderr``). Похідні класи " +"повинні замінити це, щоб забезпечити відповідну обробку виводу за потреби." + +msgid "Interactive Console Objects" +msgstr "Інтерактивні консольні об’єкти" + +msgid "" +"The :class:`InteractiveConsole` class is a subclass of :class:" +"`InteractiveInterpreter`, and so offers all the methods of the interpreter " +"objects as well as the following additions." +msgstr "" +"Клас :class:`InteractiveConsole` є підкласом :class:" +"`InteractiveInterpreter`, тому пропонує всі методи об’єктів інтерпретатора, " +"а також наступні доповнення." + +msgid "" +"Closely emulate the interactive Python console. The optional *banner* " +"argument specify the banner to print before the first interaction; by " +"default it prints a banner similar to the one printed by the standard Python " +"interpreter, followed by the class name of the console object in parentheses " +"(so as not to confuse this with the real interpreter -- since it's so " +"close!)." +msgstr "" +"Повністю емулюйте інтерактивну консоль Python. Необов’язковий аргумент " +"*banner* визначає банер для друку перед першою взаємодією; за замовчуванням " +"він друкує банер, подібний до того, який друкує стандартний інтерпретатор " +"Python, а потім ім’я класу консольного об’єкта в дужках (щоб не сплутати це " +"зі справжнім інтерпретатором, оскільки він дуже близький!)." + +msgid "" +"The optional *exitmsg* argument specifies an exit message printed when " +"exiting. Pass the empty string to suppress the exit message. If *exitmsg* is " +"not given or ``None``, a default message is printed." +msgstr "" +"Необов'язковий аргумент *exitmsg* визначає повідомлення про вихід, яке " +"друкується під час виходу. Передайте порожній рядок, щоб приховати " +"повідомлення про вихід. Якщо *exitmsg* не вказано або ``None``, буде " +"надруковано повідомлення за замовчуванням." + +msgid "To suppress printing any banner, pass an empty string." +msgstr "Щоб заборонити друк будь-якого банера, передайте порожній рядок." + +msgid "Print an exit message when exiting." +msgstr "Друк повідомлення про вихід під час виходу." + +msgid "" +"Push a line of source text to the interpreter. The line should not have a " +"trailing newline; it may have internal newlines. The line is appended to a " +"buffer and the interpreter's :meth:`runsource` method is called with the " +"concatenated contents of the buffer as source. If this indicates that the " +"command was executed or invalid, the buffer is reset; otherwise, the command " +"is incomplete, and the buffer is left as it was after the line was " +"appended. The return value is ``True`` if more input is required, ``False`` " +"if the line was dealt with in some way (this is the same as :meth:" +"`runsource`)." +msgstr "" +"Передайте перекладачу рядок вихідного тексту. Рядок не повинен мати " +"завершальний символ нового рядка; він може мати внутрішні символи нового " +"рядка. Рядок додається до буфера, а метод інтерпретатора :meth:`runsource` " +"викликається з об’єднаним вмістом буфера як джерела. Якщо це означає, що " +"команда була виконана або недійсна, буфер скидається; інакше команда буде " +"неповною, а буфер залишиться таким, яким він був після додавання рядка. " +"Значення, що повертається, ``True``, якщо потрібно більше введення, " +"``False``, якщо рядок було оброблено якимось чином (це те саме, що :meth:" +"`runsource`)." + +msgid "Remove any unhandled source text from the input buffer." +msgstr "Видаліть будь-який необроблений вихідний текст із вхідного буфера." + +msgid "" +"Write a prompt and read a line. The returned line does not include the " +"trailing newline. When the user enters the EOF key sequence, :exc:" +"`EOFError` is raised. The base implementation reads from ``sys.stdin``; a " +"subclass may replace this with a different implementation." +msgstr "" +"Напишіть підказку та прочитайте рядок. Повернений рядок не містить кінцевого " +"символу нового рядка. Коли користувач вводить послідовність клавіш EOF, " +"виникає :exc:`EOFError`. Базова реалізація читає з ``sys.stdin``; підклас " +"може замінити це іншою реалізацією." diff --git a/library/codecs.po b/library/codecs.po new file mode 100644 index 000000000..795954a45 --- /dev/null +++ b/library/codecs.po @@ -0,0 +1,2738 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`codecs` --- Codec registry and base classes" +msgstr ":mod:`codecs` --- Реєстр кодеків і базові класи" + +msgid "**Source code:** :source:`Lib/codecs.py`" +msgstr "**Вихідний код:** :source:`Lib/codecs.py`" + +msgid "" +"This module defines base classes for standard Python codecs (encoders and " +"decoders) and provides access to the internal Python codec registry, which " +"manages the codec and error handling lookup process. Most standard codecs " +"are :term:`text encodings `, which encode text to bytes (and " +"decode bytes to text), but there are also codecs provided that encode text " +"to text, and bytes to bytes. Custom codecs may encode and decode between " +"arbitrary types, but some module features are restricted to be used " +"specifically with :term:`text encodings ` or with codecs that " +"encode to :class:`bytes`." +msgstr "" +"Цей модуль визначає базові класи для стандартних кодеків Python (кодери та " +"декодери) і надає доступ до внутрішнього реєстру кодеків Python, який керує " +"процесом пошуку кодека та обробки помилок. Більшість стандартних кодеків — " +"це :term:`кодування тексту `, які кодують текст у байти (і " +"декодують байти в текст), але є також кодеки, які кодують текст у текст і " +"байти в байти. Спеціальні кодеки можуть кодувати та декодувати між " +"довільними типами, але деякі функції модулів обмежено для використання " +"спеціально з :term:`текстовими кодуваннями ` або з кодеками, " +"які кодують у :class:`bytes`." + +msgid "" +"The module defines the following functions for encoding and decoding with " +"any codec:" +msgstr "" +"Модуль визначає такі функції для кодування та декодування будь-яким кодеком:" + +msgid "Encodes *obj* using the codec registered for *encoding*." +msgstr "Кодує *obj* за допомогою кодека, зареєстрованого для *кодування*." + +msgid "" +"*Errors* may be given to set the desired error handling scheme. The default " +"error handler is ``'strict'`` meaning that encoding errors raise :exc:" +"`ValueError` (or a more codec specific subclass, such as :exc:" +"`UnicodeEncodeError`). Refer to :ref:`codec-base-classes` for more " +"information on codec error handling." +msgstr "" +"*Помилки* можуть бути надані для встановлення потрібної схеми обробки " +"помилок. Обробником помилок за замовчуванням є ``'strict'``, що означає, що " +"помилки кодування викликають :exc:`ValueError` (або більш специфічний " +"підклас кодека, наприклад :exc:`UnicodeEncodeError`). Зверніться до :ref:" +"`codec-base-classes` для отримання додаткової інформації щодо обробки " +"помилок кодека." + +msgid "Decodes *obj* using the codec registered for *encoding*." +msgstr "Декодує *obj* за допомогою кодека, зареєстрованого для *кодування*." + +msgid "" +"*Errors* may be given to set the desired error handling scheme. The default " +"error handler is ``'strict'`` meaning that decoding errors raise :exc:" +"`ValueError` (or a more codec specific subclass, such as :exc:" +"`UnicodeDecodeError`). Refer to :ref:`codec-base-classes` for more " +"information on codec error handling." +msgstr "" +"*Помилки* можуть бути надані для встановлення потрібної схеми обробки " +"помилок. Обробником помилок за замовчуванням є ``'strict'``, що означає, що " +"помилки декодування викликають :exc:`ValueError` (або більш специфічний " +"підклас кодека, такий як :exc:`UnicodeDecodeError`). Зверніться до :ref:" +"`codec-base-classes` для отримання додаткової інформації про обробку помилок " +"кодека." + +msgid "The full details for each codec can also be looked up directly:" +msgstr "" +"Повну інформацію про кожен кодек також можна переглянути безпосередньо:" + +msgid "" +"Looks up the codec info in the Python codec registry and returns a :class:" +"`CodecInfo` object as defined below." +msgstr "" +"Шукає інформацію про кодек у реєстрі кодеків Python і повертає об’єкт :class:" +"`CodecInfo`, як визначено нижче." + +msgid "" +"Encodings are first looked up in the registry's cache. If not found, the " +"list of registered search functions is scanned. If no :class:`CodecInfo` " +"object is found, a :exc:`LookupError` is raised. Otherwise, the :class:" +"`CodecInfo` object is stored in the cache and returned to the caller." +msgstr "" +"Кодування спочатку шукаються в кеші реєстру. Якщо не знайдено, сканується " +"список зареєстрованих функцій пошуку. Якщо об’єкт :class:`CodecInfo` не " +"знайдено, виникає :exc:`LookupError`. В іншому випадку об’єкт :class:" +"`CodecInfo` зберігається в кеші та повертається абоненту." + +msgid "" +"Codec details when looking up the codec registry. The constructor arguments " +"are stored in attributes of the same name:" +msgstr "" +"Відомості про кодек під час пошуку реєстру кодеків. Аргументи конструктора " +"зберігаються в однойменних атрибутах:" + +msgid "The name of the encoding." +msgstr "Назва кодування." + +msgid "" +"The stateless encoding and decoding functions. These must be functions or " +"methods which have the same interface as the :meth:`~Codec.encode` and :meth:" +"`~Codec.decode` methods of Codec instances (see :ref:`Codec Interface `). The functions or methods are expected to work in a stateless " +"mode." +msgstr "" +"Функції кодування та декодування без збереження стану. Це мають бути функції " +"чи методи, які мають той самий інтерфейс, що й методи :meth:`~Codec.encode` " +"і :meth:`~Codec.decode` екземплярів кодека (див. :ref:`Інтерфейс кодека " +"`). Очікується, що функції або методи працюватимуть у режимі " +"без збереження стану." + +msgid "" +"Incremental encoder and decoder classes or factory functions. These have to " +"provide the interface defined by the base classes :class:" +"`IncrementalEncoder` and :class:`IncrementalDecoder`, respectively. " +"Incremental codecs can maintain state." +msgstr "" +"Класи інкрементального кодера та декодера або заводські функції. Вони мають " +"забезпечувати інтерфейс, визначений базовими класами :class:" +"`IncrementalEncoder` та :class:`IncrementalDecoder` відповідно. Інкрементні " +"кодеки можуть підтримувати стан." + +msgid "" +"Stream writer and reader classes or factory functions. These have to provide " +"the interface defined by the base classes :class:`StreamWriter` and :class:" +"`StreamReader`, respectively. Stream codecs can maintain state." +msgstr "" +"Класи потокового запису та читання або фабричні функції. Вони мають " +"забезпечувати інтерфейс, визначений базовими класами :class:`StreamWriter` " +"і :class:`StreamReader` відповідно. Потокові кодеки можуть підтримувати стан." + +msgid "" +"To simplify access to the various codec components, the module provides " +"these additional functions which use :func:`lookup` for the codec lookup:" +msgstr "" +"Щоб спростити доступ до різних компонентів кодека, модуль надає такі " +"додаткові функції, які використовують :func:`lookup` для пошуку кодека:" + +msgid "" +"Look up the codec for the given encoding and return its encoder function." +msgstr "" +"Знайдіть кодек для даного кодування та поверніть його функцію кодувальника." + +msgid "Raises a :exc:`LookupError` in case the encoding cannot be found." +msgstr "Викликає :exc:`LookupError`, якщо кодування не знайдено." + +msgid "" +"Look up the codec for the given encoding and return its decoder function." +msgstr "" +"Знайдіть кодек для даного кодування та поверніть його функцію декодера." + +msgid "" +"Look up the codec for the given encoding and return its incremental encoder " +"class or factory function." +msgstr "" +"Знайдіть кодек для даного кодування та поверніть його інкрементний клас " +"кодера або заводську функцію." + +msgid "" +"Raises a :exc:`LookupError` in case the encoding cannot be found or the " +"codec doesn't support an incremental encoder." +msgstr "" +"Викликає :exc:`LookupError`, якщо кодування не знайдено або кодек не " +"підтримує інкрементний кодер." + +msgid "" +"Look up the codec for the given encoding and return its incremental decoder " +"class or factory function." +msgstr "" +"Знайдіть кодек для даного кодування та поверніть його інкрементний клас " +"декодера або заводську функцію." + +msgid "" +"Raises a :exc:`LookupError` in case the encoding cannot be found or the " +"codec doesn't support an incremental decoder." +msgstr "" +"Викликає :exc:`LookupError`, якщо кодування не знайдено або кодек не " +"підтримує інкрементний декодер." + +msgid "" +"Look up the codec for the given encoding and return its :class:" +"`StreamReader` class or factory function." +msgstr "" +"Знайдіть кодек для вказаного кодування та поверніть його клас :class:" +"`StreamReader` або фабричну функцію." + +msgid "" +"Look up the codec for the given encoding and return its :class:" +"`StreamWriter` class or factory function." +msgstr "" +"Знайдіть кодек для вказаного кодування та поверніть його клас :class:" +"`StreamWriter` або фабричну функцію." + +msgid "" +"Custom codecs are made available by registering a suitable codec search " +"function:" +msgstr "" +"Спеціальні кодеки стають доступними, якщо зареєструвати відповідну функцію " +"пошуку кодеків:" + +msgid "" +"Register a codec search function. Search functions are expected to take one " +"argument, being the encoding name in all lower case letters with hyphens and " +"spaces converted to underscores, and return a :class:`CodecInfo` object. In " +"case a search function cannot find a given encoding, it should return " +"``None``." +msgstr "" +"Зареєструйте функцію пошуку кодеків. Очікується, що функції пошуку " +"прийматимуть один аргумент, тобто ім’я кодування, яке складається з малих " +"літер із дефісами та пробілами, перетворене на підкреслення, і повертатиме " +"об’єкт :class:`CodecInfo`. Якщо функція пошуку не може знайти задане " +"кодування, вона має повернути ``None``." + +msgid "Hyphens and spaces are converted to underscore." +msgstr "Дефіси та пробіли перетворюються на підкреслення." + +msgid "" +"Unregister a codec search function and clear the registry's cache. If the " +"search function is not registered, do nothing." +msgstr "" +"Скасуйте реєстрацію функції пошуку кодеків і очистіть кеш реєстру. Якщо " +"функція пошуку не зареєстрована, нічого не робіть." + +msgid "" +"While the builtin :func:`open` and the associated :mod:`io` module are the " +"recommended approach for working with encoded text files, this module " +"provides additional utility functions and classes that allow the use of a " +"wider range of codecs when working with binary files:" +msgstr "" +"Хоча вбудований :func:`open` і пов’язаний модуль :mod:`io` є рекомендованим " +"підходом для роботи з кодованими текстовими файлами, цей модуль надає " +"додаткові службові функції та класи, які дозволяють використовувати ширший " +"діапазон кодеків під час роботи з бінарними файлами:" + +msgid "" +"Open an encoded file using the given *mode* and return an instance of :class:" +"`StreamReaderWriter`, providing transparent encoding/decoding. The default " +"file mode is ``'r'``, meaning to open the file in read mode." +msgstr "" +"Відкрийте закодований файл у заданому *режимі* та поверніть екземпляр :class:" +"`StreamReaderWriter`, забезпечуючи прозоре кодування/декодування. Типовим " +"режимом файлу є ``'r''``, що означає відкриття файлу в режимі читання." + +msgid "" +"If *encoding* is not ``None``, then the underlying encoded files are always " +"opened in binary mode. No automatic conversion of ``'\\n'`` is done on " +"reading and writing. The *mode* argument may be any binary mode acceptable " +"to the built-in :func:`open` function; the ``'b'`` is automatically added." +msgstr "" + +msgid "" +"*encoding* specifies the encoding which is to be used for the file. Any " +"encoding that encodes to and decodes from bytes is allowed, and the data " +"types supported by the file methods depend on the codec used." +msgstr "" +"*encoding* визначає кодування, яке буде використано для файлу. Дозволяється " +"будь-яке кодування, яке кодує та декодує з байтів, а типи даних, які " +"підтримуються методами файлів, залежать від використовуваного кодека." + +msgid "" +"*errors* may be given to define the error handling. It defaults to " +"``'strict'`` which causes a :exc:`ValueError` to be raised in case an " +"encoding error occurs." +msgstr "" +"*errors* можуть бути надані для визначення обробки помилок. За замовчуванням " +"встановлено значення ``'strict''``, що спричиняє виникнення :exc:" +"`ValueError` у разі виникнення помилки кодування." + +msgid "" +"*buffering* has the same meaning as for the built-in :func:`open` function. " +"It defaults to -1 which means that the default buffer size will be used." +msgstr "" +"*buffering* має те саме значення, що й вбудована функція :func:`open`. За " +"замовчуванням він дорівнює -1, що означає, що буде використано стандартний " +"розмір буфера." + +msgid "The ``'U'`` mode has been removed." +msgstr "" + +msgid "" +"Return a :class:`StreamRecoder` instance, a wrapped version of *file* which " +"provides transparent transcoding. The original file is closed when the " +"wrapped version is closed." +msgstr "" +"Повертає екземпляр :class:`StreamRecoder`, загорнуту версію *файлу*, яка " +"забезпечує прозоре перекодування. Вихідний файл закривається, коли " +"закривається упакована версія." + +msgid "" +"Data written to the wrapped file is decoded according to the given " +"*data_encoding* and then written to the original file as bytes using " +"*file_encoding*. Bytes read from the original file are decoded according to " +"*file_encoding*, and the result is encoded using *data_encoding*." +msgstr "" +"Дані, записані в обгорнутий файл, декодуються відповідно до заданого " +"*data_encoding*, а потім записуються в вихідний файл у вигляді байтів за " +"допомогою *file_encoding*. Байти, зчитані з вихідного файлу, декодуються " +"відповідно до *file_encoding*, а результат кодується за допомогою " +"*data_encoding*." + +msgid "If *file_encoding* is not given, it defaults to *data_encoding*." +msgstr "Якщо *file_encoding* не вказано, за умовчанням буде *data_encoding*." + +msgid "" +"*errors* may be given to define the error handling. It defaults to " +"``'strict'``, which causes :exc:`ValueError` to be raised in case an " +"encoding error occurs." +msgstr "" +"*errors* можуть бути надані для визначення обробки помилок. За замовчуванням " +"встановлено ``'strict'``, що спричиняє :exc:`ValueError`, що виникає у " +"випадку помилки кодування." + +msgid "" +"Uses an incremental encoder to iteratively encode the input provided by " +"*iterator*. This function is a :term:`generator`. The *errors* argument (as " +"well as any other keyword argument) is passed through to the incremental " +"encoder." +msgstr "" +"Використовує інкрементальний кодувальник для ітеративного кодування вхідних " +"даних, наданих *iterator*. Ця функція є :term:`generator`. Аргумент *errors* " +"(як і будь-який інший аргумент ключового слова) передається до " +"інкрементального кодувальника." + +msgid "" +"This function requires that the codec accept text :class:`str` objects to " +"encode. Therefore it does not support bytes-to-bytes encoders such as " +"``base64_codec``." +msgstr "" +"Ця функція вимагає, щоб кодек приймав текстові об’єкти :class:`str` для " +"кодування. Тому він не підтримує кодувальники байт-у-байт, такі як " +"``base64_codec``." + +msgid "" +"Uses an incremental decoder to iteratively decode the input provided by " +"*iterator*. This function is a :term:`generator`. The *errors* argument (as " +"well as any other keyword argument) is passed through to the incremental " +"decoder." +msgstr "" +"Використовує інкрементальний декодер для ітеративного декодування вхідних " +"даних, наданих *iterator*. Ця функція є :term:`generator`. Аргумент *errors* " +"(як і будь-який інший аргумент ключового слова) передається до " +"інкрементального декодера." + +msgid "" +"This function requires that the codec accept :class:`bytes` objects to " +"decode. Therefore it does not support text-to-text encoders such as " +"``rot_13``, although ``rot_13`` may be used equivalently with :func:" +"`iterencode`." +msgstr "" +"Ця функція вимагає, щоб кодек приймав об’єкти :class:`bytes` для " +"декодування. Тому він не підтримує кодувальники тексту в текст, такі як " +"``rot_13``, хоча ``rot_13`` можна використовувати еквівалентно з :func:" +"`iterencode`." + +msgid "" +"The module also provides the following constants which are useful for " +"reading and writing to platform dependent files:" +msgstr "" +"Модуль також надає наступні константи, які корисні для читання та запису в " +"залежні від платформи файли:" + +msgid "" +"These constants define various byte sequences, being Unicode byte order " +"marks (BOMs) for several encodings. They are used in UTF-16 and UTF-32 data " +"streams to indicate the byte order used, and in UTF-8 as a Unicode " +"signature. :const:`BOM_UTF16` is either :const:`BOM_UTF16_BE` or :const:" +"`BOM_UTF16_LE` depending on the platform's native byte order, :const:`BOM` " +"is an alias for :const:`BOM_UTF16`, :const:`BOM_LE` for :const:" +"`BOM_UTF16_LE` and :const:`BOM_BE` for :const:`BOM_UTF16_BE`. The others " +"represent the BOM in UTF-8 and UTF-32 encodings." +msgstr "" +"Ці константи визначають різні послідовності байтів, будучи мітками порядку " +"байтів Unicode (BOM) для кількох кодувань. Вони використовуються в потоках " +"даних UTF-16 і UTF-32 для позначення використовуваного порядку байтів, а в " +"UTF-8 як підпис Юнікод. :const:`BOM_UTF16` є або :const:`BOM_UTF16_BE`, або :" +"const:`BOM_UTF16_LE` залежно від рідного порядку байтів платформи, :const:" +"`BOM` є псевдонімом для :const:`BOM_UTF16`, :const:`BOM_LE` для :const:" +"`BOM_UTF16_LE` і :const:`BOM_BE` для :const:`BOM_UTF16_BE`. Інші " +"представляють специфікацію в кодуваннях UTF-8 і UTF-32." + +msgid "Codec Base Classes" +msgstr "Базові класи кодеків" + +msgid "" +"The :mod:`codecs` module defines a set of base classes which define the " +"interfaces for working with codec objects, and can also be used as the basis " +"for custom codec implementations." +msgstr "" +"Модуль :mod:`codecs` визначає набір базових класів, які визначають " +"інтерфейси для роботи з об’єктами кодеків, а також може бути використаний як " +"основа для користувацьких реалізацій кодеків." + +msgid "" +"Each codec has to define four interfaces to make it usable as codec in " +"Python: stateless encoder, stateless decoder, stream reader and stream " +"writer. The stream reader and writers typically reuse the stateless encoder/" +"decoder to implement the file protocols. Codec authors also need to define " +"how the codec will handle encoding and decoding errors." +msgstr "" +"Кожен кодек має визначати чотири інтерфейси, щоб зробити його придатним для " +"використання як кодек у Python: кодер без стану, декодер без стану, читач " +"потоку та запис потоку. Зчитувач і записувач потоків зазвичай повторно " +"використовують кодер/декодер без збереження стану для реалізації протоколів " +"файлів. Автори кодеків також повинні визначити, як кодек оброблятиме помилки " +"кодування та декодування." + +msgid "Error Handlers" +msgstr "Обробники помилок" + +msgid "" +"To simplify and standardize error handling, codecs may implement different " +"error handling schemes by accepting the *errors* string argument:" +msgstr "" +"Щоб спростити та стандартизувати обробку помилок, кодеки можуть " +"реалізовувати різні схеми обробки помилок, приймаючи рядковий аргумент " +"*errors*:" + +msgid "" +"The following error handlers can be used with all Python :ref:`standard-" +"encodings` codecs:" +msgstr "" +"Наступні обробники помилок можна використовувати з усіма кодеками Python :" +"ref:`standard-encodings`:" + +msgid "Value" +msgstr "Значення" + +msgid "Meaning" +msgstr "Значення" + +msgid "``'strict'``" +msgstr "``'строгий''``" + +msgid "" +"Raise :exc:`UnicodeError` (or a subclass), this is the default. Implemented " +"in :func:`strict_errors`." +msgstr "" +"Викликати :exc:`UnicodeError` (або підклас), це типово. Реалізовано в :func:" +"`strict_errors`." + +msgid "``'ignore'``" +msgstr "``'ігнорувати''``" + +msgid "" +"Ignore the malformed data and continue without further notice. Implemented " +"in :func:`ignore_errors`." +msgstr "" +"Ігноруйте неправильні дані та продовжуйте без додаткового повідомлення. " +"Реалізовано в :func:`ignore_errors`." + +msgid "``'replace'``" +msgstr "``'замінити'``" + +msgid "" +"Replace with a replacement marker. On encoding, use ``?`` (ASCII character). " +"On decoding, use ``�`` (U+FFFD, the official REPLACEMENT CHARACTER). " +"Implemented in :func:`replace_errors`." +msgstr "" +"Замініть маркером заміни. У кодуванні використовуйте ``?`` (символ ASCII). " +"Під час декодування використовуйте ``�`` (U+FFFD, офіційний СИМВОЛ ЗАМІНИ). " +"Реалізовано в :func:`replace_errors`." + +msgid "``'backslashreplace'``" +msgstr "``'заміна зворотної косої риски''``" + +msgid "" +"Replace with backslashed escape sequences. On encoding, use hexadecimal form " +"of Unicode code point with formats ``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. On " +"decoding, use hexadecimal form of byte value with format ``\\xhh``. " +"Implemented in :func:`backslashreplace_errors`." +msgstr "" +"Замінити керуючими послідовностями зі зворотною скісною рискою. Під час " +"кодування використовуйте шістнадцяткову форму коду Unicode із форматами ``" +"\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. Під час декодування використовуйте " +"шістнадцяткову форму значення байта у форматі ``\\xhh``. Реалізовано в :func:" +"`backslashreplace_errors`." + +msgid "``'surrogateescape'``" +msgstr "``'сурогатна втеча'``" + +msgid "" +"On decoding, replace byte with individual surrogate code ranging from ``U" +"+DC80`` to ``U+DCFF``. This code will then be turned back into the same byte " +"when the ``'surrogateescape'`` error handler is used when encoding the data. " +"(See :pep:`383` for more.)" +msgstr "" +"Під час декодування замініть байт окремим сурогатним кодом у діапазоні від " +"``U+DC80`` до ``U+DCFF``. Потім цей код буде перетворено назад у той самий " +"байт, коли під час кодування даних використовується обробник помилок " +"``'surrogateescape'``. (Докладніше див. :pep:`383`.)" + +msgid "" +"The following error handlers are only applicable to encoding (within :term:" +"`text encodings `):" +msgstr "" +"Наступні обробники помилок застосовуються лише до кодування (в межах :term:" +"`кодування тексту `):" + +msgid "``'xmlcharrefreplace'``" +msgstr "``'xmlcharrefreplace'``" + +msgid "" +"Replace with XML/HTML numeric character reference, which is a decimal form " +"of Unicode code point with format ``&#num;`` Implemented in :func:" +"`xmlcharrefreplace_errors`." +msgstr "" +"Замініть посиланням на числові символи XML/HTML, які є десятковою формою " +"кодової точки Unicode із форматом ``&#num;``, реалізованим у :func:" +"`xmlcharrefreplace_errors`." + +msgid "``'namereplace'``" +msgstr "``'namereplace'``" + +msgid "" +"Replace with ``\\N{...}`` escape sequences, what appears in the braces is " +"the Name property from Unicode Character Database. Implemented in :func:" +"`namereplace_errors`." +msgstr "" +"Замініть керуючу послідовність ``\\N{...}``, що відображається в фігурних " +"дужках — це властивість Name із бази даних символів Unicode. Реалізовано в :" +"func:`namereplace_errors`." + +msgid "" +"In addition, the following error handler is specific to the given codecs:" +msgstr "Крім того, наступний обробник помилок є специфічним для даних кодеків:" + +msgid "Codecs" +msgstr "Кодеки" + +msgid "``'surrogatepass'``" +msgstr "``'сурогатний пропуск''``" + +msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" +msgstr "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" + +msgid "" +"Allow encoding and decoding surrogate code point (``U+D800`` - ``U+DFFF``) " +"as normal code point. Otherwise these codecs treat the presence of surrogate " +"code point in :class:`str` as an error." +msgstr "" +"Дозволити кодування та декодування сурогатної кодової точки (``U+D800`` - ``U" +"+DFFF``) як звичайну кодову точку. Інакше ці кодеки розглядають наявність " +"сурогатної кодової точки в :class:`str` як помилку." + +msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers." +msgstr "Обробники помилок ``'surrogateescape'`` і ``'surrogatepass'``." + +msgid "" +"The ``'surrogatepass'`` error handler now works with utf-16\\* and utf-32\\* " +"codecs." +msgstr "" +"Обробник помилок ``'surrogatepass'`` тепер працює з кодеками utf-16\\* і " +"utf-32\\*." + +msgid "The ``'namereplace'`` error handler." +msgstr "Обробник помилок ``'namereplace``." + +msgid "" +"The ``'backslashreplace'`` error handler now works with decoding and " +"translating." +msgstr "" +"Обробник помилок ``'backslashreplace'`` тепер працює з декодуванням і " +"перекладом." + +msgid "" +"The set of allowed values can be extended by registering a new named error " +"handler:" +msgstr "" +"Набір дозволених значень можна розширити, зареєструвавши новий іменований " +"обробник помилок:" + +msgid "" +"Register the error handling function *error_handler* under the name *name*. " +"The *error_handler* argument will be called during encoding and decoding in " +"case of an error, when *name* is specified as the errors parameter." +msgstr "" +"Зареєструйте функцію обробки помилок *error_handler* під назвою *name*. " +"Аргумент *error_handler* буде викликаний під час кодування та декодування у " +"разі помилки, якщо *name* вказано як параметр errors." + +msgid "" +"For encoding, *error_handler* will be called with a :exc:" +"`UnicodeEncodeError` instance, which contains information about the location " +"of the error. The error handler must either raise this or a different " +"exception, or return a tuple with a replacement for the unencodable part of " +"the input and a position where encoding should continue. The replacement may " +"be either :class:`str` or :class:`bytes`. If the replacement is bytes, the " +"encoder will simply copy them into the output buffer. If the replacement is " +"a string, the encoder will encode the replacement. Encoding continues on " +"original input at the specified position. Negative position values will be " +"treated as being relative to the end of the input string. If the resulting " +"position is out of bound an :exc:`IndexError` will be raised." +msgstr "" +"Для кодування *error_handler* буде викликано з екземпляром :exc:" +"`UnicodeEncodeError`, який містить інформацію про розташування помилки. " +"Обробник помилок повинен або викликати це чи інше виключення, або повернути " +"кортеж із заміною некодованої частини вхідних даних і позиції, де кодування " +"повинно продовжуватися. Заміна може бути :class:`str` або :class:`bytes`. " +"Якщо заміною є байти, кодер просто скопіює їх у вихідний буфер. Якщо заміна " +"є рядком, кодер закодує заміну. Кодування продовжується на початковому " +"введенні у вказаній позиції. Від’ємні значення позиції розглядатимуться як " +"такі, що відносяться до кінця вхідного рядка. Якщо результуюча позиція " +"виходить за межі, буде викликано :exc:`IndexError`." + +msgid "" +"Decoding and translating works similarly, except :exc:`UnicodeDecodeError` " +"or :exc:`UnicodeTranslateError` will be passed to the handler and that the " +"replacement from the error handler will be put into the output directly." +msgstr "" +"Декодування та переклад працює аналогічно, за винятком того, що :exc:" +"`UnicodeDecodeError` або :exc:`UnicodeTranslateError` буде передано " +"обробнику, а заміна з обробника помилок буде введена безпосередньо у вивід." + +msgid "" +"Previously registered error handlers (including the standard error handlers) " +"can be looked up by name:" +msgstr "" +"Раніше зареєстровані обробники помилок (включаючи стандартні обробники " +"помилок) можна шукати за назвою:" + +msgid "Return the error handler previously registered under the name *name*." +msgstr "" +"Повернути обробник помилок, попередньо зареєстрований під іменем *name*." + +msgid "Raises a :exc:`LookupError` in case the handler cannot be found." +msgstr "Викликає :exc:`LookupError`, якщо обробник не знайдено." + +msgid "" +"The following standard error handlers are also made available as module " +"level functions:" +msgstr "" +"Наступні стандартні обробники помилок також доступні як функції рівня модуля:" + +msgid "Implements the ``'strict'`` error handling." +msgstr "Реалізує ``'сувору'`` обробку помилок." + +msgid "Each encoding or decoding error raises a :exc:`UnicodeError`." +msgstr "Кожна помилка кодування або декодування викликає :exc:`UnicodeError`." + +msgid "Implements the ``'ignore'`` error handling." +msgstr "Реалізує обробку помилок ``'ignore''``." + +msgid "" +"Malformed data is ignored; encoding or decoding is continued without further " +"notice." +msgstr "" +"Некоректні дані ігноруються; кодування або декодування продовжується без " +"додаткового повідомлення." + +msgid "Implements the ``'replace'`` error handling." +msgstr "Реалізує обробку помилок ``'replace''``." + +msgid "" +"Substitutes ``?`` (ASCII character) for encoding errors or ``�`` (U+FFFD, " +"the official REPLACEMENT CHARACTER) for decoding errors." +msgstr "" +"Замінює ``?`` (символ ASCII) для помилок кодування або ``�`` (U+FFFD, " +"офіційний СИМВОЛ ЗАМІНИ) для помилок декодування." + +msgid "Implements the ``'backslashreplace'`` error handling." +msgstr "Реалізує обробку помилок ``'backslashreplace'``." + +msgid "" +"Malformed data is replaced by a backslashed escape sequence. On encoding, " +"use the hexadecimal form of Unicode code point with formats ``\\xhh`` ``" +"\\uxxxx`` ``\\Uxxxxxxxx``. On decoding, use the hexadecimal form of byte " +"value with format ``\\xhh``." +msgstr "" +"Неправильно сформовані дані замінюються керуючою послідовністю зі зворотною " +"скісною рискою. Під час кодування використовуйте шістнадцяткову форму коду " +"Unicode із форматами ``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. Під час " +"декодування використовуйте шістнадцяткову форму значення байта у форматі ``" +"\\xhh``." + +msgid "Works with decoding and translating." +msgstr "Працює з декодуванням і перекладом." + +msgid "" +"Implements the ``'xmlcharrefreplace'`` error handling (for encoding within :" +"term:`text encoding` only)." +msgstr "" +"Реалізує обробку помилок ``'xmlcharrefreplace'`` (лише для кодування в " +"межах :term:`text encoding`)." + +msgid "" +"The unencodable character is replaced by an appropriate XML/HTML numeric " +"character reference, which is a decimal form of Unicode code point with " +"format ``&#num;`` ." +msgstr "" +"Некодований символ замінюється відповідним цифровим посиланням на символ XML/" +"HTML, яке є десятковою формою кодової точки Unicode у форматі ``&#num;``." + +msgid "" +"Implements the ``'namereplace'`` error handling (for encoding within :term:" +"`text encoding` only)." +msgstr "" +"Реалізує обробку помилок ``'namereplace'`` (лише для кодування в межах :term:" +"`text encoding`)." + +msgid "" +"The unencodable character is replaced by a ``\\N{...}`` escape sequence. The " +"set of characters that appear in the braces is the Name property from " +"Unicode Character Database. For example, the German lowercase letter ``'ß'`` " +"will be converted to byte sequence ``\\N{LATIN SMALL LETTER SHARP S}`` ." +msgstr "" +"Некодований символ замінюється керуючою послідовністю ``\\N{...}``. Набір " +"символів, що з’являються в фігурних дужках, є властивістю Name з бази даних " +"символів Unicode. Наприклад, німецьку малу літеру ``'ß'`` буде перетворено " +"на послідовність байтів ``\\N{LATIN SMALL LETTER SHARP S}`` ." + +msgid "Stateless Encoding and Decoding" +msgstr "Кодування та декодування без збереження стану" + +msgid "" +"The base :class:`Codec` class defines these methods which also define the " +"function interfaces of the stateless encoder and decoder:" +msgstr "" +"Базовий клас :class:`Codec` визначає ці методи, які також визначають " +"функціональні інтерфейси кодера та декодера без збереження стану:" + +msgid "" +"Encodes the object *input* and returns a tuple (output object, length " +"consumed). For instance, :term:`text encoding` converts a string object to a " +"bytes object using a particular character set encoding (e.g., ``cp1252`` or " +"``iso-8859-1``)." +msgstr "" +"Кодує об’єкт *input* і повертає кортеж (вихідний об’єкт, споживана довжина). " +"Наприклад, :term:`text encoding` перетворює рядковий об’єкт на об’єкт bytes, " +"використовуючи певне кодування набору символів (наприклад, ``cp1252`` або " +"``iso-8859-1``)." + +msgid "" +"The *errors* argument defines the error handling to apply. It defaults to " +"``'strict'`` handling." +msgstr "" +"Аргумент *errors* визначає застосовувану обробку помилок. За замовчуванням " +"``'сувора''`` обробка." + +msgid "" +"The method may not store state in the :class:`Codec` instance. Use :class:" +"`StreamWriter` for codecs which have to keep state in order to make encoding " +"efficient." +msgstr "" +"Метод може не зберігати стан в екземплярі :class:`Codec`. Використовуйте :" +"class:`StreamWriter` для кодеків, які мають зберігати стан, щоб зробити " +"кодування ефективним." + +msgid "" +"The encoder must be able to handle zero length input and return an empty " +"object of the output object type in this situation." +msgstr "" +"У цій ситуації кодер повинен мати можливість обробляти вхідні дані нульової " +"довжини та повертати порожній об’єкт типу вихідного об’єкта." + +msgid "" +"Decodes the object *input* and returns a tuple (output object, length " +"consumed). For instance, for a :term:`text encoding`, decoding converts a " +"bytes object encoded using a particular character set encoding to a string " +"object." +msgstr "" +"Декодує об’єкт *input* і повертає кортеж (вихідний об’єкт, споживана " +"довжина). Наприклад, для :term:`text encoding` декодування перетворює об’єкт " +"bytes, закодований за допомогою кодування певного набору символів, на " +"рядковий об’єкт." + +msgid "" +"For text encodings and bytes-to-bytes codecs, *input* must be a bytes object " +"or one which provides the read-only buffer interface -- for example, buffer " +"objects and memory mapped files." +msgstr "" +"Для текстових кодувань і кодеків від байтів до байтів *input* має бути " +"об’єктом bytes або таким, який забезпечує інтерфейс буфера лише для читання " +"– наприклад, об’єкти буфера та файли, відображені в пам’яті." + +msgid "" +"The method may not store state in the :class:`Codec` instance. Use :class:" +"`StreamReader` for codecs which have to keep state in order to make decoding " +"efficient." +msgstr "" +"Метод може не зберігати стан в екземплярі :class:`Codec`. Використовуйте :" +"class:`StreamReader` для кодеків, які мають зберігати стан, щоб зробити " +"декодування ефективним." + +msgid "" +"The decoder must be able to handle zero length input and return an empty " +"object of the output object type in this situation." +msgstr "" +"У цій ситуації декодер повинен мати можливість обробляти вхідні дані " +"нульової довжини та повертати порожній об’єкт типу вихідного об’єкта." + +msgid "Incremental Encoding and Decoding" +msgstr "Інкрементне кодування та декодування" + +msgid "" +"The :class:`IncrementalEncoder` and :class:`IncrementalDecoder` classes " +"provide the basic interface for incremental encoding and decoding. Encoding/" +"decoding the input isn't done with one call to the stateless encoder/decoder " +"function, but with multiple calls to the :meth:`~IncrementalEncoder.encode`/:" +"meth:`~IncrementalDecoder.decode` method of the incremental encoder/decoder. " +"The incremental encoder/decoder keeps track of the encoding/decoding process " +"during method calls." +msgstr "" +"Класи :class:`IncrementalEncoder` і :class:`IncrementalDecoder` забезпечують " +"базовий інтерфейс для інкрементного кодування та декодування. Кодування/" +"декодування вхідних даних виконується не одним викликом функції кодувальника/" +"декодера без збереження стану, а кількома викликами методу :meth:" +"`~IncrementalEncoder.encode`/:meth:`~IncrementalDecoder.decode` " +"інкрементального кодувальника /декодер. Інкрементний кодер/декодер відстежує " +"процес кодування/декодування під час викликів методів." + +msgid "" +"The joined output of calls to the :meth:`~IncrementalEncoder.encode`/:meth:" +"`~IncrementalDecoder.decode` method is the same as if all the single inputs " +"were joined into one, and this input was encoded/decoded with the stateless " +"encoder/decoder." +msgstr "" +"Об’єднаний вихід викликів методу :meth:`~IncrementalEncoder.encode`/:meth:" +"`~IncrementalDecoder.decode` такий самий, як якби всі окремі входи були " +"об’єднані в один, і цей вхід було закодовано/декодовано за допомогою кодер/" +"декодер без стану." + +msgid "IncrementalEncoder Objects" +msgstr "Об’єкти IncrementalEncoder" + +msgid "" +"The :class:`IncrementalEncoder` class is used for encoding an input in " +"multiple steps. It defines the following methods which every incremental " +"encoder must define in order to be compatible with the Python codec registry." +msgstr "" +"Клас :class:`IncrementalEncoder` використовується для кодування вхідних " +"даних у кілька кроків. Він визначає наступні методи, які повинен визначити " +"кожен інкрементальний кодер, щоб бути сумісним із реєстром кодеків Python." + +msgid "Constructor for an :class:`IncrementalEncoder` instance." +msgstr "Конструктор для екземпляра :class:`IncrementalEncoder`." + +msgid "" +"All incremental encoders must provide this constructor interface. They are " +"free to add additional keyword arguments, but only the ones defined here are " +"used by the Python codec registry." +msgstr "" +"Усі інкрементні кодери повинні забезпечувати цей інтерфейс конструктора. " +"Вони можуть вільно додавати додаткові аргументи ключових слів, але лише ті, " +"що визначені тут, використовуються реєстром кодеків Python." + +msgid "" +"The :class:`IncrementalEncoder` may implement different error handling " +"schemes by providing the *errors* keyword argument. See :ref:`error-" +"handlers` for possible values." +msgstr "" +":class:`IncrementalEncoder` може реалізовувати різні схеми обробки помилок, " +"надаючи аргумент ключового слова *errors*. Перегляньте :ref:`error-handlers` " +"можливі значення." + +msgid "" +"The *errors* argument will be assigned to an attribute of the same name. " +"Assigning to this attribute makes it possible to switch between different " +"error handling strategies during the lifetime of the :class:" +"`IncrementalEncoder` object." +msgstr "" +"Аргумент *errors* буде призначено однойменному атрибуту. Призначення цьому " +"атрибуту дає змогу перемикатися між різними стратегіями обробки помилок " +"протягом життя об’єкта :class:`IncrementalEncoder`." + +msgid "" +"Encodes *object* (taking the current state of the encoder into account) and " +"returns the resulting encoded object. If this is the last call to :meth:" +"`encode` *final* must be true (the default is false)." +msgstr "" +"Кодує *об’єкт* (з урахуванням поточного стану кодувальника) і повертає " +"отриманий закодований об’єкт. Якщо це останній виклик :meth:`encode`, " +"*final* має бути true (за умовчанням — false)." + +msgid "" +"Reset the encoder to the initial state. The output is discarded: call ``." +"encode(object, final=True)``, passing an empty byte or text string if " +"necessary, to reset the encoder and to get the output." +msgstr "" +"Скиньте кодер до початкового стану. Вихідні дані відхиляються: викличте ``." +"encode(object, final=True)``, передаючи порожній байт або текстовий рядок, " +"якщо необхідно, щоб скинути кодер і отримати вихідні дані." + +msgid "" +"Return the current state of the encoder which must be an integer. The " +"implementation should make sure that ``0`` is the most common state. (States " +"that are more complicated than integers can be converted into an integer by " +"marshaling/pickling the state and encoding the bytes of the resulting string " +"into an integer.)" +msgstr "" +"Повертає поточний стан кодувальника, який має бути цілим числом. Реалізація " +"має гарантувати, що ``0`` є найпоширенішим станом. (Стани, які є " +"складнішими, ніж цілі числа, можна перетворити на ціле число шляхом " +"маршалінгу/вибору стану та кодування байтів результуючого рядка в ціле " +"число.)" + +msgid "" +"Set the state of the encoder to *state*. *state* must be an encoder state " +"returned by :meth:`getstate`." +msgstr "" +"Встановіть стан кодера на *state*. *state* має бути станом кодувальника, " +"який повертає :meth:`getstate`." + +msgid "IncrementalDecoder Objects" +msgstr "Об’єкти IncrementalDecoder" + +msgid "" +"The :class:`IncrementalDecoder` class is used for decoding an input in " +"multiple steps. It defines the following methods which every incremental " +"decoder must define in order to be compatible with the Python codec registry." +msgstr "" +"Клас :class:`IncrementalDecoder` використовується для декодування вхідних " +"даних у кілька кроків. Він визначає наступні методи, які повинен визначити " +"кожен інкрементний декодер, щоб бути сумісним із реєстром кодеків Python." + +msgid "Constructor for an :class:`IncrementalDecoder` instance." +msgstr "Конструктор для екземпляра :class:`IncrementalDecoder`." + +msgid "" +"All incremental decoders must provide this constructor interface. They are " +"free to add additional keyword arguments, but only the ones defined here are " +"used by the Python codec registry." +msgstr "" +"Усі інкрементні декодери повинні забезпечувати цей інтерфейс конструктора. " +"Вони можуть вільно додавати додаткові аргументи ключових слів, але лише ті, " +"що визначені тут, використовуються реєстром кодеків Python." + +msgid "" +"The :class:`IncrementalDecoder` may implement different error handling " +"schemes by providing the *errors* keyword argument. See :ref:`error-" +"handlers` for possible values." +msgstr "" +":class:`IncrementalDecoder` може реалізовувати різні схеми обробки помилок, " +"надаючи аргумент ключового слова *errors*. Перегляньте :ref:`error-handlers` " +"можливі значення." + +msgid "" +"The *errors* argument will be assigned to an attribute of the same name. " +"Assigning to this attribute makes it possible to switch between different " +"error handling strategies during the lifetime of the :class:" +"`IncrementalDecoder` object." +msgstr "" +"Аргумент *errors* буде призначено однойменному атрибуту. Призначення цьому " +"атрибуту дає змогу перемикатися між різними стратегіями обробки помилок " +"протягом життя об’єкта :class:`IncrementalDecoder`." + +msgid "" +"Decodes *object* (taking the current state of the decoder into account) and " +"returns the resulting decoded object. If this is the last call to :meth:" +"`decode` *final* must be true (the default is false). If *final* is true the " +"decoder must decode the input completely and must flush all buffers. If this " +"isn't possible (e.g. because of incomplete byte sequences at the end of the " +"input) it must initiate error handling just like in the stateless case " +"(which might raise an exception)." +msgstr "" +"Декодує *об’єкт* (з урахуванням поточного стану декодера) і повертає " +"отриманий декодований об’єкт. Якщо це останній виклик :meth:`decode`, " +"*final* має бути true (за умовчанням — false). Якщо *final* має значення " +"true, декодер повинен повністю декодувати вхідні дані та скинути всі буфери. " +"Якщо це неможливо (наприклад, через неповну послідовність байтів у кінці " +"введення), він повинен ініціювати обробку помилок, як у випадку без стану " +"(що може спричинити виняток)." + +msgid "Reset the decoder to the initial state." +msgstr "Скиньте декодер до початкового стану." + +msgid "" +"Return the current state of the decoder. This must be a tuple with two " +"items, the first must be the buffer containing the still undecoded input. " +"The second must be an integer and can be additional state info. (The " +"implementation should make sure that ``0`` is the most common additional " +"state info.) If this additional state info is ``0`` it must be possible to " +"set the decoder to the state which has no input buffered and ``0`` as the " +"additional state info, so that feeding the previously buffered input to the " +"decoder returns it to the previous state without producing any output. " +"(Additional state info that is more complicated than integers can be " +"converted into an integer by marshaling/pickling the info and encoding the " +"bytes of the resulting string into an integer.)" +msgstr "" +"Повернути поточний стан декодера. Це має бути кортеж із двома елементами, " +"перший має бути буфером, що містить ще недекодований вхід. Друге має бути " +"цілим числом і може бути додатковою інформацією про стан. (Реалізація має " +"переконатися, що ``0`` є найпоширенішою додатковою інформацією про стан.) " +"Якщо ця додаткова інформація про стан ``0``, має бути можливим встановити " +"декодер у стан, який не має буферизації вхідних даних і ``0`` як додаткову " +"інформацію про стан, так що подача попередньо буферизованого вхідного " +"сигналу в декодер повертає його до попереднього стану без виведення. " +"(Додаткову інформацію про стан, яка є складнішою, ніж цілі числа, можна " +"перетворити на ціле число шляхом маршалінгу/вибору інформації та кодування " +"байтів отриманого рядка в ціле число.)" + +msgid "" +"Set the state of the decoder to *state*. *state* must be a decoder state " +"returned by :meth:`getstate`." +msgstr "" +"Встановіть стан декодера на *state*. *state* має бути станом декодера, який " +"повертає :meth:`getstate`." + +msgid "Stream Encoding and Decoding" +msgstr "Кодування та декодування потоку" + +msgid "" +"The :class:`StreamWriter` and :class:`StreamReader` classes provide generic " +"working interfaces which can be used to implement new encoding submodules " +"very easily. See :mod:`encodings.utf_8` for an example of how this is done." +msgstr "" +"Класи :class:`StreamWriter` і :class:`StreamReader` забезпечують загальні " +"робочі інтерфейси, які можна використовувати для дуже легкої реалізації " +"нових субмодулів кодування. Перегляньте :mod:`encodings.utf_8` для прикладу " +"того, як це робиться." + +msgid "StreamWriter Objects" +msgstr "Об’єкти StreamWriter" + +msgid "" +"The :class:`StreamWriter` class is a subclass of :class:`Codec` and defines " +"the following methods which every stream writer must define in order to be " +"compatible with the Python codec registry." +msgstr "" +"Клас :class:`StreamWriter` є підкласом :class:`Codec` і визначає наступні " +"методи, які повинен визначити кожен записувач потоків, щоб бути сумісним із " +"реєстром кодеків Python." + +msgid "Constructor for a :class:`StreamWriter` instance." +msgstr "Конструктор для екземпляра :class:`StreamWriter`." + +msgid "" +"All stream writers must provide this constructor interface. They are free to " +"add additional keyword arguments, but only the ones defined here are used by " +"the Python codec registry." +msgstr "" +"Цей інтерфейс конструктора мають надавати всі автори потоків. Вони можуть " +"вільно додавати додаткові аргументи ключових слів, але лише ті, що визначені " +"тут, використовуються реєстром кодеків Python." + +msgid "" +"The *stream* argument must be a file-like object open for writing text or " +"binary data, as appropriate for the specific codec." +msgstr "" +"Аргумент *потік* має бути файлоподібним об’єктом, відкритим для запису " +"тексту або двійкових даних, відповідно до конкретного кодека." + +msgid "" +"The :class:`StreamWriter` may implement different error handling schemes by " +"providing the *errors* keyword argument. See :ref:`error-handlers` for the " +"standard error handlers the underlying stream codec may support." +msgstr "" +":class:`StreamWriter` може реалізовувати різні схеми обробки помилок, " +"надаючи аргумент ключового слова *errors*. Перегляньте :ref:`error-handlers` " +"для стандартних обробників помилок, які може підтримувати основний потоковий " +"кодек." + +msgid "" +"The *errors* argument will be assigned to an attribute of the same name. " +"Assigning to this attribute makes it possible to switch between different " +"error handling strategies during the lifetime of the :class:`StreamWriter` " +"object." +msgstr "" +"Аргумент *errors* буде призначено однойменному атрибуту. Призначення цьому " +"атрибуту дає змогу перемикатися між різними стратегіями обробки помилок " +"протягом життя об’єкта :class:`StreamWriter`." + +msgid "Writes the object's contents encoded to the stream." +msgstr "Записує закодований вміст об’єкта в потік." + +msgid "" +"Writes the concatenated iterable of strings to the stream (possibly by " +"reusing the :meth:`write` method). Infinite or very large iterables are not " +"supported. The standard bytes-to-bytes codecs do not support this method." +msgstr "" +"Записує конкатенований ітерований рядок у потік (можливо, повторно " +"використовуючи метод :meth:`write`). Нескінченні або дуже великі ітерації не " +"підтримуються. Стандартні кодеки від байтів до байтів не підтримують цей " +"метод." + +msgid "Resets the codec buffers used for keeping internal state." +msgstr "" +"Скидає буфери кодеків, які використовуються для збереження внутрішнього " +"стану." + +msgid "" +"Calling this method should ensure that the data on the output is put into a " +"clean state that allows appending of new fresh data without having to rescan " +"the whole stream to recover state." +msgstr "" +"Виклик цього методу повинен гарантувати, що дані на виході переведені в " +"чистий стан, який дозволяє додавати нові свіжі дані без необхідності " +"повторного сканування всього потоку для відновлення стану." + +msgid "" +"In addition to the above methods, the :class:`StreamWriter` must also " +"inherit all other methods and attributes from the underlying stream." +msgstr "" +"Окрім вищезазначених методів, :class:`StreamWriter` також має успадкувати " +"всі інші методи та атрибути базового потоку." + +msgid "StreamReader Objects" +msgstr "Об’єкти StreamReader" + +msgid "" +"The :class:`StreamReader` class is a subclass of :class:`Codec` and defines " +"the following methods which every stream reader must define in order to be " +"compatible with the Python codec registry." +msgstr "" +"Клас :class:`StreamReader` є підкласом :class:`Codec` і визначає наступні " +"методи, які повинен визначити кожен зчитувач потоку, щоб бути сумісним із " +"реєстром кодеків Python." + +msgid "Constructor for a :class:`StreamReader` instance." +msgstr "Конструктор для екземпляра :class:`StreamReader`." + +msgid "" +"All stream readers must provide this constructor interface. They are free to " +"add additional keyword arguments, but only the ones defined here are used by " +"the Python codec registry." +msgstr "" +"Усі зчитувачі потоків повинні надавати цей інтерфейс конструктора. Вони " +"можуть вільно додавати додаткові аргументи ключових слів, але лише ті, що " +"визначені тут, використовуються реєстром кодеків Python." + +msgid "" +"The *stream* argument must be a file-like object open for reading text or " +"binary data, as appropriate for the specific codec." +msgstr "" +"Аргумент *потік* має бути файлоподібним об’єктом, відкритим для читання " +"тексту або двійкових даних, відповідно до конкретного кодека." + +msgid "" +"The :class:`StreamReader` may implement different error handling schemes by " +"providing the *errors* keyword argument. See :ref:`error-handlers` for the " +"standard error handlers the underlying stream codec may support." +msgstr "" +":class:`StreamReader` може реалізовувати різні схеми обробки помилок, " +"надаючи аргумент ключового слова *errors*. Перегляньте :ref:`error-handlers` " +"для стандартних обробників помилок, які може підтримувати основний потоковий " +"кодек." + +msgid "" +"The *errors* argument will be assigned to an attribute of the same name. " +"Assigning to this attribute makes it possible to switch between different " +"error handling strategies during the lifetime of the :class:`StreamReader` " +"object." +msgstr "" +"Аргумент *errors* буде призначено однойменному атрибуту. Призначення цьому " +"атрибуту дає змогу перемикатися між різними стратегіями обробки помилок " +"протягом життя об’єкта :class:`StreamReader`." + +msgid "" +"The set of allowed values for the *errors* argument can be extended with :" +"func:`register_error`." +msgstr "" +"Набір дозволених значень для аргументу *errors* можна розширити за " +"допомогою :func:`register_error`." + +msgid "Decodes data from the stream and returns the resulting object." +msgstr "Декодує дані з потоку та повертає отриманий об’єкт." + +msgid "" +"The *chars* argument indicates the number of decoded code points or bytes to " +"return. The :func:`read` method will never return more data than requested, " +"but it might return less, if there is not enough available." +msgstr "" +"Аргумент *chars* вказує кількість декодованих кодових точок або байтів, які " +"потрібно повернути. Метод :func:`read` ніколи не поверне більше даних, ніж " +"вимагається, але може повернути менше, якщо їх буде недостатньо." + +msgid "" +"The *size* argument indicates the approximate maximum number of encoded " +"bytes or code points to read for decoding. The decoder can modify this " +"setting as appropriate. The default value -1 indicates to read and decode as " +"much as possible. This parameter is intended to prevent having to decode " +"huge files in one step." +msgstr "" +"Аргумент *size* вказує на приблизну максимальну кількість закодованих байтів " +"або кодових точок для читання для декодування. Декодер може змінювати цей " +"параметр за потреби. Значення за замовчуванням -1 вказує на читання та " +"декодування якомога більшої кількості. Цей параметр призначений для " +"запобігання необхідності декодувати великі файли за один крок." + +msgid "" +"The *firstline* flag indicates that it would be sufficient to only return " +"the first line, if there are decoding errors on later lines." +msgstr "" +"Прапорець *firstline* вказує на те, що було б достатньо повернути лише " +"перший рядок, якщо в наступних рядках є помилки декодування." + +msgid "" +"The method should use a greedy read strategy meaning that it should read as " +"much data as is allowed within the definition of the encoding and the given " +"size, e.g. if optional encoding endings or state markers are available on " +"the stream, these should be read too." +msgstr "" +"Метод повинен використовувати стратегію жадібного читання, тобто він повинен " +"зчитувати стільки даних, скільки дозволено у визначенні кодування та " +"заданого розміру, наприклад. якщо в потоці доступні додаткові закінчення " +"кодування або маркери стану, їх також слід прочитати." + +msgid "Read one line from the input stream and return the decoded data." +msgstr "Прочитати один рядок із вхідного потоку та повернути декодовані дані." + +msgid "" +"*size*, if given, is passed as size argument to the stream's :meth:`read` " +"method." +msgstr "" +"*size*, якщо задано, передається як аргумент розміру в метод :meth:`read` " +"потоку." + +msgid "" +"If *keepends* is false line-endings will be stripped from the lines returned." +msgstr "" +"Якщо *keepends* має значення false, закінчення рядків буде видалено з " +"повернутих рядків." + +msgid "" +"Read all lines available on the input stream and return them as a list of " +"lines." +msgstr "" +"Прочитати всі рядки, доступні у вхідному потоці, і повернути їх як список " +"рядків." + +msgid "" +"Line-endings are implemented using the codec's :meth:`decode` method and are " +"included in the list entries if *keepends* is true." +msgstr "" +"Закінчення рядків реалізуються за допомогою методу кодека :meth:`decode` і " +"включаються до записів списку, якщо *keepends* має значення true." + +msgid "" +"*sizehint*, if given, is passed as the *size* argument to the stream's :meth:" +"`read` method." +msgstr "" +"*sizehint*, якщо його задано, передається як аргумент *size* у метод потоку :" +"meth:`read`." + +msgid "" +"Note that no stream repositioning should take place. This method is " +"primarily intended to be able to recover from decoding errors." +msgstr "" +"Зауважте, що переміщення потоку не повинно відбуватися. Цей метод насамперед " +"призначений для відновлення після помилок декодування." + +msgid "" +"In addition to the above methods, the :class:`StreamReader` must also " +"inherit all other methods and attributes from the underlying stream." +msgstr "" +"Окрім вищезазначених методів, :class:`StreamReader` також має успадкувати " +"всі інші методи та атрибути базового потоку." + +msgid "StreamReaderWriter Objects" +msgstr "Об’єкти StreamReaderWriter" + +msgid "" +"The :class:`StreamReaderWriter` is a convenience class that allows wrapping " +"streams which work in both read and write modes." +msgstr "" +":class:`StreamReaderWriter` — це зручний клас, який дозволяє обгортати " +"потоки, які працюють як у режимі читання, так і в режимі запису." + +msgid "" +"The design is such that one can use the factory functions returned by the :" +"func:`lookup` function to construct the instance." +msgstr "" +"Конструкція така, що можна використовувати фабричні функції, які повертає " +"функція :func:`lookup` для створення екземпляра." + +msgid "" +"Creates a :class:`StreamReaderWriter` instance. *stream* must be a file-like " +"object. *Reader* and *Writer* must be factory functions or classes providing " +"the :class:`StreamReader` and :class:`StreamWriter` interface resp. Error " +"handling is done in the same way as defined for the stream readers and " +"writers." +msgstr "" +"Створює екземпляр :class:`StreamReaderWriter`. *потік* має бути " +"файлоподібним об’єктом. *Reader* і *Writer* повинні бути фабричними " +"функціями або класами, що забезпечують інтерфейс :class:`StreamReader` і :" +"class:`StreamWriter` відповідно. Обробка помилок виконується так само, як " +"визначено для читачів і записів потоку." + +msgid "" +":class:`StreamReaderWriter` instances define the combined interfaces of :" +"class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " +"other methods and attributes from the underlying stream." +msgstr "" +"Екземпляри :class:`StreamReaderWriter` визначають комбіновані інтерфейси " +"класів :class:`StreamReader` і :class:`StreamWriter`. Вони успадковують усі " +"інші методи та атрибути від основного потоку." + +msgid "StreamRecoder Objects" +msgstr "Об’єкти StreamRecoder" + +msgid "" +"The :class:`StreamRecoder` translates data from one encoding to another, " +"which is sometimes useful when dealing with different encoding environments." +msgstr "" +":class:`StreamRecoder` переводить дані з одного кодування в інше, що іноді " +"корисно, коли ви маєте справу з різними середовищами кодування." + +msgid "" +"Creates a :class:`StreamRecoder` instance which implements a two-way " +"conversion: *encode* and *decode* work on the frontend — the data visible to " +"code calling :meth:`read` and :meth:`write`, while *Reader* and *Writer* " +"work on the backend — the data in *stream*." +msgstr "" +"Створює екземпляр :class:`StreamRecoder`, який реалізує двостороннє " +"перетворення: *encode* і *decode* працюють на інтерфейсі — дані, видимі для " +"коду, що викликає :meth:`read` і :meth:`write`, а *Reader* і *Writer* " +"працюють на сервері — дані в *потоці*." + +msgid "" +"You can use these objects to do transparent transcodings, e.g., from Latin-1 " +"to UTF-8 and back." +msgstr "" +"Ви можете використовувати ці об’єкти для прозорого перекодування, наприклад, " +"з Latin-1 на UTF-8 і назад." + +msgid "The *stream* argument must be a file-like object." +msgstr "Аргумент *потік* має бути файлоподібним об’єктом." + +msgid "" +"The *encode* and *decode* arguments must adhere to the :class:`Codec` " +"interface. *Reader* and *Writer* must be factory functions or classes " +"providing objects of the :class:`StreamReader` and :class:`StreamWriter` " +"interface respectively." +msgstr "" +"Аргументи *encode* і *decode* мають відповідати інтерфейсу :class:`Codec`. " +"*Reader* і *Writer* повинні бути фабричними функціями або класами, що " +"забезпечують об’єкти інтерфейсу :class:`StreamReader` і :class:" +"`StreamWriter` відповідно." + +msgid "" +"Error handling is done in the same way as defined for the stream readers and " +"writers." +msgstr "" +"Обробка помилок виконується так само, як визначено для читачів і записів " +"потоку." + +msgid "" +":class:`StreamRecoder` instances define the combined interfaces of :class:" +"`StreamReader` and :class:`StreamWriter` classes. They inherit all other " +"methods and attributes from the underlying stream." +msgstr "" +"Екземпляри :class:`StreamRecoder` визначають комбіновані інтерфейси класів :" +"class:`StreamReader` і :class:`StreamWriter`. Вони успадковують усі інші " +"методи та атрибути основного потоку." + +msgid "Encodings and Unicode" +msgstr "Кодування та Unicode" + +msgid "" +"Strings are stored internally as sequences of code points in range ``U" +"+0000``--``U+10FFFF``. (See :pep:`393` for more details about the " +"implementation.) Once a string object is used outside of CPU and memory, " +"endianness and how these arrays are stored as bytes become an issue. As with " +"other codecs, serialising a string into a sequence of bytes is known as " +"*encoding*, and recreating the string from the sequence of bytes is known as " +"*decoding*. There are a variety of different text serialisation codecs, " +"which are collectivity referred to as :term:`text encodings `." +msgstr "" +"Рядки зберігаються внутрішньо як послідовності кодових точок у діапазоні ``U" +"+0000``--``U+10FFFF``. (Див. :pep:`393` для отримання додаткової інформації " +"про реалізацію.) Коли рядковий об’єкт використовується поза центральним " +"процесором і пам’яттю, стає проблемою порядок байтів і те, як ці масиви " +"зберігаються як байти. Як і в інших кодеках, серіалізація рядка в " +"послідовність байтів відома як *кодування*, а відтворення рядка з " +"послідовності байтів відоме як *декодування*. Існує безліч різних кодеків " +"серіалізації тексту, які в сукупності називаються :term:`текстовими " +"кодуваннями `." + +msgid "" +"The simplest text encoding (called ``'latin-1'`` or ``'iso-8859-1'``) maps " +"the code points 0--255 to the bytes ``0x0``--``0xff``, which means that a " +"string object that contains code points above ``U+00FF`` can't be encoded " +"with this codec. Doing so will raise a :exc:`UnicodeEncodeError` that looks " +"like the following (although the details of the error message may differ): " +"``UnicodeEncodeError: 'latin-1' codec can't encode character '\\u1234' in " +"position 3: ordinal not in range(256)``." +msgstr "" +"Найпростіше кодування тексту (називається ``'latin-1'`` або " +"``'iso-8859-1'``) відображає кодові точки 0--255 на байти ``0x0``--``0xff``, " +"що означає, що рядковий об’єкт, який містить кодові точки вище ``U+00FF``, " +"не може бути закодований цим кодеком. Це призведе до появи :exc:" +"`UnicodeEncodeError`, яка виглядає так (хоча деталі повідомлення про помилку " +"можуть відрізнятися): ``UnicodeEncodeError: кодек 'latin-1' не може " +"закодувати символ '\\u1234' у позиції 3 : порядковий номер не в діапазоні " +"(256)``." + +msgid "" +"There's another group of encodings (the so called charmap encodings) that " +"choose a different subset of all Unicode code points and how these code " +"points are mapped to the bytes ``0x0``--``0xff``. To see how this is done " +"simply open e.g. :file:`encodings/cp1252.py` (which is an encoding that is " +"used primarily on Windows). There's a string constant with 256 characters " +"that shows you which character is mapped to which byte value." +msgstr "" +"Існує ще одна група кодувань (так звані кодування charmap), які вибирають " +"іншу підмножину всіх кодових точок Unicode і те, як ці кодові точки " +"відображаються на байти ``0x0``--``0xff``. Щоб побачити, як це робиться, " +"просто відкрийте, наприклад. :file:`encodings/cp1252.py` (це кодування, яке " +"використовується в основному в Windows). Існує рядкова константа з 256 " +"символами, яка показує, який символ зіставляється з яким значенням байта." + +msgid "" +"All of these encodings can only encode 256 of the 1114112 code points " +"defined in Unicode. A simple and straightforward way that can store each " +"Unicode code point, is to store each code point as four consecutive bytes. " +"There are two possibilities: store the bytes in big endian or in little " +"endian order. These two encodings are called ``UTF-32-BE`` and ``UTF-32-LE`` " +"respectively. Their disadvantage is that if e.g. you use ``UTF-32-BE`` on a " +"little endian machine you will always have to swap bytes on encoding and " +"decoding. ``UTF-32`` avoids this problem: bytes will always be in natural " +"endianness. When these bytes are read by a CPU with a different endianness, " +"then bytes have to be swapped though. To be able to detect the endianness of " +"a ``UTF-16`` or ``UTF-32`` byte sequence, there's the so called BOM (\"Byte " +"Order Mark\"). This is the Unicode character ``U+FEFF``. This character can " +"be prepended to every ``UTF-16`` or ``UTF-32`` byte sequence. The byte " +"swapped version of this character (``0xFFFE``) is an illegal character that " +"may not appear in a Unicode text. So when the first character in a " +"``UTF-16`` or ``UTF-32`` byte sequence appears to be a ``U+FFFE`` the bytes " +"have to be swapped on decoding. Unfortunately the character ``U+FEFF`` had a " +"second purpose as a ``ZERO WIDTH NO-BREAK SPACE``: a character that has no " +"width and doesn't allow a word to be split. It can e.g. be used to give " +"hints to a ligature algorithm. With Unicode 4.0 using ``U+FEFF`` as a ``ZERO " +"WIDTH NO-BREAK SPACE`` has been deprecated (with ``U+2060`` (``WORD " +"JOINER``) assuming this role). Nevertheless Unicode software still must be " +"able to handle ``U+FEFF`` in both roles: as a BOM it's a device to determine " +"the storage layout of the encoded bytes, and vanishes once the byte sequence " +"has been decoded into a string; as a ``ZERO WIDTH NO-BREAK SPACE`` it's a " +"normal character that will be decoded like any other." +msgstr "" +"Усі ці кодування можуть кодувати лише 256 із 1114112 кодових точок, " +"визначених у Unicode. Простий і зрозумілий спосіб збереження кожної кодової " +"точки Unicode полягає в тому, щоб зберегти кожну кодову точку у вигляді " +"чотирьох послідовних байтів. Є дві можливості: зберігати байти в порядку " +"старшого або малого порядку. Ці два кодування називаються ``UTF-32-BE`` і " +"``UTF-32-LE`` відповідно. Їх недолік полягає в тому, що якщо напр. якщо ви " +"використовуєте ``UTF-32-BE`` на машині з порядковим порядком байтів, вам " +"завжди доведеться міняти місцями байти під час кодування та декодування. " +"``UTF-32`` уникає цієї проблеми: байти завжди будуть у природному порядку " +"байтів. Коли ці байти зчитуються процесором з іншим порядком байтів, тоді " +"байти потрібно поміняти місцями. Щоб мати можливість виявити порядок байтів " +"послідовності байтів ``UTF-16`` або ``UTF-32``, існує так звана BOM " +"(\"Позначка порядку байтів\"). Це символ Unicode ``U+FEFF``. Цей символ " +"можна додавати до кожної послідовності байтів ``UTF-16`` або ``UTF-32``. " +"Версія цього символу з заміною байтів (``0xFFFE``) є неприпустимим символом, " +"який може не з’являтися в тексті Unicode. Отже, коли перший символ у " +"послідовності байтів ``UTF-16`` або ``UTF-32`` виглядає як ``U+FFFE``, байти " +"потрібно поміняти місцями під час декодування. На жаль, символ ``U+FEFF`` " +"мав другу мету як ``НУЛЬОВА ШИРИНА БЕЗ РОЗБИВУ``: символ, який не має ширини " +"і не дозволяє розділити слово. Це може напр. використовувати для надання " +"підказок алгоритму лігатури. З Юнікодом 4.0 використання ``U+FEFF`` як " +"``НУЛЬОВА ШИРИНА НЕРОЗБИВНОГО ПРОБІЛУ`` застаріло (з ``U+2060`` (``WORD " +"JOINER``) виконує цю роль). Незважаючи на це, програмне забезпечення Unicode " +"все ще має бути в змозі обробляти ``U+FEFF`` в обох ролях: як BOM, це " +"пристрій для визначення макета зберігання закодованих байтів і зникає, коли " +"послідовність байтів була декодована в рядок; як ``НУЛЬОВА ШИРИНА БЕЗ " +"РОЗБИВУ`` це звичайний символ, який буде декодовано, як і будь-який інший." + +msgid "" +"There's another encoding that is able to encode the full range of Unicode " +"characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no " +"issues with byte order in UTF-8. Each byte in a UTF-8 byte sequence consists " +"of two parts: marker bits (the most significant bits) and payload bits. The " +"marker bits are a sequence of zero to four ``1`` bits followed by a ``0`` " +"bit. Unicode characters are encoded like this (with x being payload bits, " +"which when concatenated give the Unicode character):" +msgstr "" +"Є інше кодування, яке може кодувати повний діапазон символів Unicode: UTF-8. " +"UTF-8 — це 8-бітне кодування, що означає, що в UTF-8 немає проблем із " +"порядком байтів. Кожен байт у послідовності байтів UTF-8 складається з двох " +"частин: бітів маркера (старших бітів) і бітів корисного навантаження. Біти " +"маркера являють собою послідовність із нуля до чотирьох бітів ``1``, за " +"якими йде ``0`` біт. Символи Unicode кодуються таким чином (де x є бітами " +"корисного навантаження, які при з’єднанні дають символ Unicode):" + +msgid "Range" +msgstr "Діапазон" + +msgid "Encoding" +msgstr "Кодування" + +msgid "``U-00000000`` ... ``U-0000007F``" +msgstr "``U-00000000`` ... ``U-0000007F``" + +msgid "0xxxxxxx" +msgstr "0xxxxxxx" + +msgid "``U-00000080`` ... ``U-000007FF``" +msgstr "``U-00000080`` ... ``U-000007FF``" + +msgid "110xxxxx 10xxxxxx" +msgstr "110xxxxx 10xxxxxx" + +msgid "``U-00000800`` ... ``U-0000FFFF``" +msgstr "``U-00000800`` ... ``U-0000FFFF``" + +msgid "1110xxxx 10xxxxxx 10xxxxxx" +msgstr "1110xxxx 10xxxxxx 10xxxxxx" + +msgid "``U-00010000`` ... ``U-0010FFFF``" +msgstr "``U-00010000`` ... ``U-0010FFFF``" + +msgid "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" +msgstr "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" + +msgid "" +"The least significant bit of the Unicode character is the rightmost x bit." +msgstr "Наймолодшим бітом символу Юнікод є крайній правий біт x." + +msgid "" +"As UTF-8 is an 8-bit encoding no BOM is required and any ``U+FEFF`` " +"character in the decoded string (even if it's the first character) is " +"treated as a ``ZERO WIDTH NO-BREAK SPACE``." +msgstr "" +"Оскільки UTF-8 є 8-бітним кодуванням, специфікація матеріалів не потрібна, і " +"будь-який символ ``U+FEFF`` у декодованому рядку (навіть якщо це перший " +"символ) розглядається як ``НУЛЬОВА ШИРИНА БЕЗ РОЗБИВУ`` ." + +msgid "" +"Without external information it's impossible to reliably determine which " +"encoding was used for encoding a string. Each charmap encoding can decode " +"any random byte sequence. However that's not possible with UTF-8, as UTF-8 " +"byte sequences have a structure that doesn't allow arbitrary byte sequences. " +"To increase the reliability with which a UTF-8 encoding can be detected, " +"Microsoft invented a variant of UTF-8 (that Python calls ``\"utf-8-sig\"``) " +"for its Notepad program: Before any of the Unicode characters is written to " +"the file, a UTF-8 encoded BOM (which looks like this as a byte sequence: " +"``0xef``, ``0xbb``, ``0xbf``) is written. As it's rather improbable that any " +"charmap encoded file starts with these byte values (which would e.g. map to" +msgstr "" +"Без зовнішньої інформації неможливо достовірно визначити, яке кодування було " +"використано для кодування рядка. Кожне кодування charmap може декодувати " +"будь-яку випадкову послідовність байтів. Однак це неможливо з UTF-8, " +"оскільки послідовності байтів UTF-8 мають структуру, яка не допускає " +"довільних послідовностей байтів. Щоб підвищити надійність виявлення " +"кодування UTF-8, Microsoft винайшла варіант UTF-8 (який Python називає ``" +"\"utf-8-sig\"``) для своєї програми Notepad: перед будь-яким із символів " +"Unicode записується у файл, записується BOM у кодуванні UTF-8 (який виглядає " +"так як послідовність байтів: ``0xef``, ``0xbb``, ``0xbf``). Оскільки " +"малоймовірно, щоб будь-який файл, закодований charmap, починався з цих " +"значень байтів (що, наприклад, відображатиметься на" + +msgid "LATIN SMALL LETTER I WITH DIAERESIS" +msgstr "МАЛА ЛАТИНСЬКА БУКВА I З ДІАРЕЗИСОМ" + +msgid "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" +msgstr "ПОДВІЙНІ КУТНІ ЛАПКИ, Спрямовані вправо" + +msgid "INVERTED QUESTION MARK" +msgstr "ПЕРЕВЕРНУТИЙ ЗНАК ПИТАННЯ" + +msgid "" +"in iso-8859-1), this increases the probability that a ``utf-8-sig`` encoding " +"can be correctly guessed from the byte sequence. So here the BOM is not used " +"to be able to determine the byte order used for generating the byte " +"sequence, but as a signature that helps in guessing the encoding. On " +"encoding the utf-8-sig codec will write ``0xef``, ``0xbb``, ``0xbf`` as the " +"first three bytes to the file. On decoding ``utf-8-sig`` will skip those " +"three bytes if they appear as the first three bytes in the file. In UTF-8, " +"the use of the BOM is discouraged and should generally be avoided." +msgstr "" +"в iso-8859-1), це збільшує ймовірність того, що кодування ``utf-8-sig`` " +"можна правильно вгадати з послідовності байтів. Отже, тут BOM " +"використовується не для визначення порядку байтів, який використовується для " +"створення послідовності байтів, а як підпис, який допомагає вгадати " +"кодування. Під час кодування кодек utf-8-sig записуватиме ``0xef``, " +"``0xbb``, ``0xbf`` як перші три байти до файлу. Під час декодування ``utf-8-" +"sig`` пропустить ці три байти, якщо вони відображаються як перші три байти у " +"файлі. В UTF-8 використання BOM не рекомендується, і його слід уникати." + +msgid "Standard Encodings" +msgstr "Стандартні кодування" + +msgid "" +"Python comes with a number of codecs built-in, either implemented as C " +"functions or with dictionaries as mapping tables. The following table lists " +"the codecs by name, together with a few common aliases, and the languages " +"for which the encoding is likely used. Neither the list of aliases nor the " +"list of languages is meant to be exhaustive. Notice that spelling " +"alternatives that only differ in case or use a hyphen instead of an " +"underscore are also valid aliases; therefore, e.g. ``'utf-8'`` is a valid " +"alias for the ``'utf_8'`` codec." +msgstr "" +"Python поставляється з низкою вбудованих кодеків, реалізованих як функції C " +"або зі словниками як таблиці відображення. У наведеній нижче таблиці " +"наведено кодеки за назвами разом із кількома поширеними псевдонімами та " +"мовами, для яких, ймовірно, використовується кодування. Ні список " +"псевдонімів, ні список мов не є вичерпними. Зауважте, що варіанти написання, " +"які відрізняються лише регістром або використовують дефіс замість " +"підкреслення, також є дійсними псевдонімами; отже, напр. ``'utf-8''`` є " +"дійсним псевдонімом для ``'utf_8''`` кодека." + +msgid "" +"Some common encodings can bypass the codecs lookup machinery to improve " +"performance. These optimization opportunities are only recognized by CPython " +"for a limited set of (case insensitive) aliases: utf-8, utf8, latin-1, " +"latin1, iso-8859-1, iso8859-1, mbcs (Windows only), ascii, us-ascii, utf-16, " +"utf16, utf-32, utf32, and the same using underscores instead of dashes. " +"Using alternative aliases for these encodings may result in slower execution." +msgstr "" +"Деякі поширені кодування можуть обійти механізм пошуку кодеків для " +"підвищення продуктивності. Ці можливості оптимізації розпізнаються CPython " +"лише для обмеженого набору (незалежних від регістру) псевдонімів: utf-8, " +"utf8, latin-1, latin1, iso-8859-1, iso8859-1, mbcs (лише Windows), ascii, us " +"-ascii, utf-16, utf16, utf-32, utf32 і те саме, використовуючи підкреслення " +"замість тире. Використання альтернативних псевдонімів для цих кодувань може " +"призвести до сповільнення виконання." + +msgid "Optimization opportunity recognized for us-ascii." +msgstr "Можливість оптимізації визнана для us-ascii." + +msgid "" +"Many of the character sets support the same languages. They vary in " +"individual characters (e.g. whether the EURO SIGN is supported or not), and " +"in the assignment of characters to code positions. For the European " +"languages in particular, the following variants typically exist:" +msgstr "" +"Багато наборів символів підтримують однакові мови. Вони відрізняються за " +"окремими символами (наприклад, чи підтримується ЗНАК ЄВРО чи ні), а також за " +"призначенням символів позиціям коду. Зокрема, для європейських мов зазвичай " +"існують такі варіанти:" + +msgid "an ISO 8859 codeset" +msgstr "кодовий набір ISO 8859" + +msgid "" +"a Microsoft Windows code page, which is typically derived from an 8859 " +"codeset, but replaces control characters with additional graphic characters" +msgstr "" +"кодова сторінка Microsoft Windows, яка зазвичай походить від коду 8859, але " +"замінює контрольні символи додатковими графічними символами" + +msgid "an IBM EBCDIC code page" +msgstr "кодову сторінку IBM EBCDIC" + +msgid "an IBM PC code page, which is ASCII compatible" +msgstr "кодова сторінка IBM PC, сумісна з ASCII" + +msgid "Codec" +msgstr "Кодек" + +msgid "Aliases" +msgstr "Псевдоніми" + +msgid "Languages" +msgstr "Мови" + +msgid "ascii" +msgstr "ascii" + +msgid "646, us-ascii" +msgstr "646, us-ascii" + +msgid "English" +msgstr "англійська" + +msgid "big5" +msgstr "великий5" + +msgid "big5-tw, csbig5" +msgstr "big5-tw, csbig5" + +msgid "Traditional Chinese" +msgstr "Традиційний китайський" + +msgid "big5hkscs" +msgstr "big5hkscs" + +msgid "big5-hkscs, hkscs" +msgstr "big5-hkscs, hkscs" + +msgid "cp037" +msgstr "cp037" + +msgid "IBM037, IBM039" +msgstr "IBM037, IBM039" + +msgid "cp273" +msgstr "cp273" + +msgid "273, IBM273, csIBM273" +msgstr "273, IBM273, csIBM273" + +msgid "German" +msgstr "Німецький" + +msgid "cp424" +msgstr "cp424" + +msgid "EBCDIC-CP-HE, IBM424" +msgstr "EBCDIC-CP-HE, IBM424" + +msgid "Hebrew" +msgstr "іврит" + +msgid "cp437" +msgstr "cp437" + +msgid "437, IBM437" +msgstr "437, IBM437" + +msgid "cp500" +msgstr "cp500" + +msgid "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" +msgstr "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" + +msgid "Western Europe" +msgstr "Західна Європа" + +msgid "cp720" +msgstr "cp720" + +msgid "Arabic" +msgstr "арабська" + +msgid "cp737" +msgstr "cp737" + +msgid "Greek" +msgstr "грецька" + +msgid "cp775" +msgstr "cp775" + +msgid "IBM775" +msgstr "IBM775" + +msgid "Baltic languages" +msgstr "Балтійські мови" + +msgid "cp850" +msgstr "cp850" + +msgid "850, IBM850" +msgstr "850, IBM850" + +msgid "cp852" +msgstr "cp852" + +msgid "852, IBM852" +msgstr "852, IBM852" + +msgid "Central and Eastern Europe" +msgstr "Центральна та Східна Європа" + +msgid "cp855" +msgstr "cp855" + +msgid "855, IBM855" +msgstr "855, IBM855" + +msgid "Bulgarian, Byelorussian, Macedonian, Russian, Serbian" +msgstr "болгарська, білоруська, македонська, російська, сербська" + +msgid "cp856" +msgstr "cp856" + +msgid "cp857" +msgstr "cp857" + +msgid "857, IBM857" +msgstr "857, IBM857" + +msgid "Turkish" +msgstr "турецька" + +msgid "cp858" +msgstr "cp858" + +msgid "858, IBM858" +msgstr "858, IBM858" + +msgid "cp860" +msgstr "cp860" + +msgid "860, IBM860" +msgstr "860, IBM860" + +msgid "Portuguese" +msgstr "португальська" + +msgid "cp861" +msgstr "cp861" + +msgid "861, CP-IS, IBM861" +msgstr "861, CP-IS, IBM861" + +msgid "Icelandic" +msgstr "ісландська" + +msgid "cp862" +msgstr "cp862" + +msgid "862, IBM862" +msgstr "862, IBM862" + +msgid "cp863" +msgstr "cp863" + +msgid "863, IBM863" +msgstr "863, IBM863" + +msgid "Canadian" +msgstr "канадський" + +msgid "cp864" +msgstr "cp864" + +msgid "IBM864" +msgstr "IBM864" + +msgid "cp865" +msgstr "cp865" + +msgid "865, IBM865" +msgstr "865, IBM865" + +msgid "Danish, Norwegian" +msgstr "датська, норвезька" + +msgid "cp866" +msgstr "cp866" + +msgid "866, IBM866" +msgstr "866, IBM866" + +msgid "Russian" +msgstr "російський" + +msgid "cp869" +msgstr "cp869" + +msgid "869, CP-GR, IBM869" +msgstr "869, CP-GR, IBM869" + +msgid "cp874" +msgstr "cp874" + +msgid "Thai" +msgstr "тайська" + +msgid "cp875" +msgstr "cp875" + +msgid "cp932" +msgstr "cp932" + +msgid "932, ms932, mskanji, ms-kanji" +msgstr "932, ms932, mskanji, ms-kanji" + +msgid "Japanese" +msgstr "Японський" + +msgid "cp949" +msgstr "cp949" + +msgid "949, ms949, uhc" +msgstr "949, ms949, uhc" + +msgid "Korean" +msgstr "корейська" + +msgid "cp950" +msgstr "cp950" + +msgid "950, ms950" +msgstr "950, мс950" + +msgid "cp1006" +msgstr "cp1006" + +msgid "Urdu" +msgstr "урду" + +msgid "cp1026" +msgstr "cp1026" + +msgid "ibm1026" +msgstr "ibm1026" + +msgid "cp1125" +msgstr "cp1125" + +msgid "1125, ibm1125, cp866u, ruscii" +msgstr "1125, ibm1125, cp866u, рос" + +msgid "Ukrainian" +msgstr "українська" + +msgid "cp1140" +msgstr "cp1140" + +msgid "ibm1140" +msgstr "ibm1140" + +msgid "cp1250" +msgstr "cp1250" + +msgid "windows-1250" +msgstr "вікна-1250" + +msgid "cp1251" +msgstr "cp1251" + +msgid "windows-1251" +msgstr "вікна-1251" + +msgid "cp1252" +msgstr "cp1252" + +msgid "windows-1252" +msgstr "вікна-1252" + +msgid "cp1253" +msgstr "cp1253" + +msgid "windows-1253" +msgstr "вікна-1253" + +msgid "cp1254" +msgstr "cp1254" + +msgid "windows-1254" +msgstr "windows-1254" + +msgid "cp1255" +msgstr "cp1255" + +msgid "windows-1255" +msgstr "вікна-1255" + +msgid "cp1256" +msgstr "cp1256" + +msgid "windows-1256" +msgstr "вікна-1256" + +msgid "cp1257" +msgstr "cp1257" + +msgid "windows-1257" +msgstr "вікна-1257" + +msgid "cp1258" +msgstr "cp1258" + +msgid "windows-1258" +msgstr "вікна-1258" + +msgid "Vietnamese" +msgstr "в'єтнамська" + +msgid "euc_jp" +msgstr "euc_jp" + +msgid "eucjp, ujis, u-jis" +msgstr "eucjp, ujis, u-jis" + +msgid "euc_jis_2004" +msgstr "euc_jis_2004" + +msgid "jisx0213, eucjis2004" +msgstr "jisx0213, eucjis2004" + +msgid "euc_jisx0213" +msgstr "euc_jisx0213" + +msgid "eucjisx0213" +msgstr "eucjisx0213" + +msgid "euc_kr" +msgstr "euc_kr" + +msgid "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" +msgstr "" +"euckr, корейська, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" + +msgid "gb2312" +msgstr "gb2312" + +msgid "" +"chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " +"gb2312-80, iso-ir-58" +msgstr "" +"китайська, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " +"gb2312-80, iso-ir-58" + +msgid "Simplified Chinese" +msgstr "Спрощена Китайська" + +msgid "gbk" +msgstr "gbk" + +msgid "936, cp936, ms936" +msgstr "936, cp936, ms936" + +msgid "Unified Chinese" +msgstr "Єдина китайська" + +msgid "gb18030" +msgstr "gb18030" + +msgid "gb18030-2000" +msgstr "gb18030-2000" + +msgid "hz" +msgstr "Гц" + +msgid "hzgb, hz-gb, hz-gb-2312" +msgstr "hzgb, hz-gb, hz-gb-2312" + +msgid "iso2022_jp" +msgstr "iso2022_jp" + +msgid "csiso2022jp, iso2022jp, iso-2022-jp" +msgstr "csiso2022jp, iso2022jp, iso-2022-jp" + +msgid "iso2022_jp_1" +msgstr "iso2022_jp_1" + +msgid "iso2022jp-1, iso-2022-jp-1" +msgstr "iso2022jp-1, iso-2022-jp-1" + +msgid "iso2022_jp_2" +msgstr "iso2022_jp_2" + +msgid "iso2022jp-2, iso-2022-jp-2" +msgstr "iso2022jp-2, iso-2022-jp-2" + +msgid "Japanese, Korean, Simplified Chinese, Western Europe, Greek" +msgstr "Японська, корейська, спрощена китайська, західноєвропейська, грецька" + +msgid "iso2022_jp_2004" +msgstr "iso2022_jp_2004" + +msgid "iso2022jp-2004, iso-2022-jp-2004" +msgstr "iso2022jp-2004, iso-2022-jp-2004" + +msgid "iso2022_jp_3" +msgstr "iso2022_jp_3" + +msgid "iso2022jp-3, iso-2022-jp-3" +msgstr "iso2022jp-3, iso-2022-jp-3" + +msgid "iso2022_jp_ext" +msgstr "iso2022_jp_ext" + +msgid "iso2022jp-ext, iso-2022-jp-ext" +msgstr "iso2022jp-ext, iso-2022-jp-ext" + +msgid "iso2022_kr" +msgstr "iso2022_kr" + +msgid "csiso2022kr, iso2022kr, iso-2022-kr" +msgstr "csiso2022kr, iso2022kr, iso-2022-kr" + +msgid "latin_1" +msgstr "latin_1" + +msgid "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" +msgstr "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" + +msgid "iso8859_2" +msgstr "iso8859_2" + +msgid "iso-8859-2, latin2, L2" +msgstr "iso-8859-2, latin2, L2" + +msgid "iso8859_3" +msgstr "iso8859_3" + +msgid "iso-8859-3, latin3, L3" +msgstr "iso-8859-3, latin3, L3" + +msgid "Esperanto, Maltese" +msgstr "Есперанто, мальтійська" + +msgid "iso8859_4" +msgstr "iso8859_4" + +msgid "iso-8859-4, latin4, L4" +msgstr "iso-8859-4, latin4, L4" + +msgid "iso8859_5" +msgstr "iso8859_5" + +msgid "iso-8859-5, cyrillic" +msgstr "iso-8859-5, кирил" + +msgid "iso8859_6" +msgstr "iso8859_6" + +msgid "iso-8859-6, arabic" +msgstr "iso-8859-6, араб" + +msgid "iso8859_7" +msgstr "iso8859_7" + +msgid "iso-8859-7, greek, greek8" +msgstr "iso-8859-7, грецький, грецький8" + +msgid "iso8859_8" +msgstr "iso8859_8" + +msgid "iso-8859-8, hebrew" +msgstr "iso-8859-8, іврит" + +msgid "iso8859_9" +msgstr "iso8859_9" + +msgid "iso-8859-9, latin5, L5" +msgstr "iso-8859-9, latin5, L5" + +msgid "iso8859_10" +msgstr "iso8859_10" + +msgid "iso-8859-10, latin6, L6" +msgstr "iso-8859-10, latin6, L6" + +msgid "Nordic languages" +msgstr "Скандинавські мови" + +msgid "iso8859_11" +msgstr "iso8859_11" + +msgid "iso-8859-11, thai" +msgstr "iso-8859-11, тай" + +msgid "Thai languages" +msgstr "тайські мови" + +msgid "iso8859_13" +msgstr "iso8859_13" + +msgid "iso-8859-13, latin7, L7" +msgstr "iso-8859-13, latin7, L7" + +msgid "iso8859_14" +msgstr "iso8859_14" + +msgid "iso-8859-14, latin8, L8" +msgstr "iso-8859-14, latin8, L8" + +msgid "Celtic languages" +msgstr "кельтські мови" + +msgid "iso8859_15" +msgstr "iso8859_15" + +msgid "iso-8859-15, latin9, L9" +msgstr "iso-8859-15, latin9, L9" + +msgid "iso8859_16" +msgstr "iso8859_16" + +msgid "iso-8859-16, latin10, L10" +msgstr "iso-8859-16, latin10, L10" + +msgid "South-Eastern Europe" +msgstr "Південно-Східна Європа" + +msgid "johab" +msgstr "Йохаб" + +msgid "cp1361, ms1361" +msgstr "cp1361, ms1361" + +msgid "koi8_r" +msgstr "koi8_r" + +msgid "koi8_t" +msgstr "koi8_t" + +msgid "Tajik" +msgstr "таджицька" + +msgid "koi8_u" +msgstr "koi8_u" + +msgid "kz1048" +msgstr "kz1048" + +msgid "kz_1048, strk1048_2002, rk1048" +msgstr "kz_1048, strk1048_2002, rk1048" + +msgid "Kazakh" +msgstr "казахська" + +msgid "mac_cyrillic" +msgstr "mac_cyrillic" + +msgid "maccyrillic" +msgstr "макирилицею" + +msgid "mac_greek" +msgstr "mac_greek" + +msgid "macgreek" +msgstr "макгрік" + +msgid "mac_iceland" +msgstr "mac_iceland" + +msgid "maciceland" +msgstr "maciceland" + +msgid "mac_latin2" +msgstr "mac_latin2" + +msgid "maclatin2, maccentraleurope, mac_centeuro" +msgstr "maclatin2, maccentraleurope, mac_centeuro" + +msgid "mac_roman" +msgstr "mac_roman" + +msgid "macroman, macintosh" +msgstr "макромен, макінтош" + +msgid "mac_turkish" +msgstr "mac_turkish" + +msgid "macturkish" +msgstr "macturkish" + +msgid "ptcp154" +msgstr "ptcp154" + +msgid "csptcp154, pt154, cp154, cyrillic-asian" +msgstr "csptcp154, pt154, cp154, кирилиця-азійська" + +msgid "shift_jis" +msgstr "shift_jis" + +msgid "csshiftjis, shiftjis, sjis, s_jis" +msgstr "csshiftjis, shiftjis, sjis, s_jis" + +msgid "shift_jis_2004" +msgstr "shift_jis_2004" + +msgid "shiftjis2004, sjis_2004, sjis2004" +msgstr "shiftjis2004, sjis_2004, sjis2004" + +msgid "shift_jisx0213" +msgstr "shift_jisx0213" + +msgid "shiftjisx0213, sjisx0213, s_jisx0213" +msgstr "shiftjisx0213, sjisx0213, s_jisx0213" + +msgid "utf_32" +msgstr "utf_32" + +msgid "U32, utf32" +msgstr "U32, utf32" + +msgid "all languages" +msgstr "всі мови" + +msgid "utf_32_be" +msgstr "utf_32_be" + +msgid "UTF-32BE" +msgstr "UTF-32BE" + +msgid "utf_32_le" +msgstr "utf_32_le" + +msgid "UTF-32LE" +msgstr "UTF-32LE" + +msgid "utf_16" +msgstr "utf_16" + +msgid "U16, utf16" +msgstr "U16, utf16" + +msgid "utf_16_be" +msgstr "utf_16_be" + +msgid "UTF-16BE" +msgstr "UTF-16BE" + +msgid "utf_16_le" +msgstr "utf_16_le" + +msgid "UTF-16LE" +msgstr "UTF-16LE" + +msgid "utf_7" +msgstr "utf_7" + +msgid "U7, unicode-1-1-utf-7" +msgstr "U7, unicode-1-1-utf-7" + +msgid "utf_8" +msgstr "utf_8" + +msgid "U8, UTF, utf8, cp65001" +msgstr "U8, UTF, utf8, cp65001" + +msgid "utf_8_sig" +msgstr "utf_8_sig" + +msgid "" +"The utf-16\\* and utf-32\\* encoders no longer allow surrogate code points " +"(``U+D800``--``U+DFFF``) to be encoded. The utf-32\\* decoders no longer " +"decode byte sequences that correspond to surrogate code points." +msgstr "" +"Кодери utf-16\\* і utf-32\\* більше не дозволяють кодувати сурогатні кодові " +"точки (``U+D800``--``U+DFFF``). Декодери utf-32\\* більше не декодують " +"послідовності байтів, які відповідають сурогатним кодовим точкам." + +msgid "``cp65001`` is now an alias to ``utf_8``." +msgstr "``cp65001`` тепер є псевдонімом ``utf_8``." + +msgid "Python Specific Encodings" +msgstr "Спеціальні кодування Python" + +msgid "" +"A number of predefined codecs are specific to Python, so their codec names " +"have no meaning outside Python. These are listed in the tables below based " +"on the expected input and output types (note that while text encodings are " +"the most common use case for codecs, the underlying codec infrastructure " +"supports arbitrary data transforms rather than just text encodings). For " +"asymmetric codecs, the stated meaning describes the encoding direction." +msgstr "" +"Деякі попередньо визначені кодеки є специфічними для Python, тому їхні назви " +"кодеків не мають значення поза Python. Вони перераховані в таблицях нижче на " +"основі очікуваних типів введення та виведення (зауважте, що хоча кодування " +"тексту є найпоширенішим випадком використання кодеків, базова інфраструктура " +"кодеків підтримує довільні перетворення даних, а не лише кодування тексту). " +"Для асиметричних кодеків вказане значення описує напрямок кодування." + +msgid "Text Encodings" +msgstr "Кодування тексту" + +msgid "" +"The following codecs provide :class:`str` to :class:`bytes` encoding and :" +"term:`bytes-like object` to :class:`str` decoding, similar to the Unicode " +"text encodings." +msgstr "" +"Наступні кодеки забезпечують кодування :class:`str` до :class:`bytes` і " +"декодування :term:`bytes-like object` до :class:`str`, подібне до кодування " +"тексту Unicode." + +msgid "idna" +msgstr "idna" + +msgid "" +"Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " +"``errors='strict'`` is supported." +msgstr "" +"Реалізація :rfc:`3490`, див. також :mod:`encodings.idna`. Підтримується лише " +"``errors='strict'``." + +msgid "mbcs" +msgstr "mbcs" + +msgid "ansi, dbcs" +msgstr "ansi, dbcs" + +msgid "" +"Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." +msgstr "" +"Лише для Windows: кодуйте операнд відповідно до кодової сторінки ANSI " +"(CP_ACP)." + +msgid "oem" +msgstr "oem" + +msgid "" +"Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." +msgstr "" +"Лише для Windows: кодуйте операнд відповідно до кодової сторінки OEM " +"(CP_OEMCP)." + +msgid "palmos" +msgstr "palmos" + +msgid "Encoding of PalmOS 3.5." +msgstr "Кодування PalmOS 3.5." + +msgid "punycode" +msgstr "punycode" + +msgid "Implement :rfc:`3492`. Stateful codecs are not supported." +msgstr "Впровадити :rfc:`3492`. Кодеки з підтримкою стану не підтримуються." + +msgid "raw_unicode_escape" +msgstr "raw_unicode_escape" + +msgid "" +"Latin-1 encoding with ``\\uXXXX`` and ``\\UXXXXXXXX`` for other code points. " +"Existing backslashes are not escaped in any way. It is used in the Python " +"pickle protocol." +msgstr "" +"Кодування Latin-1 з ``\\uXXXX`` і ``\\UXXXXXXXX`` для інших кодових точок. " +"Існуючі зворотні косі риски жодним чином не захищені. Він використовується в " +"протоколі pickle Python." + +msgid "undefined" +msgstr "невизначений" + +msgid "" +"Raise an exception for all conversions, even empty strings. The error " +"handler is ignored." +msgstr "" +"Викликати виняток для всіх перетворень, навіть для порожніх рядків. Обробник " +"помилок ігнорується." + +msgid "unicode_escape" +msgstr "unicode_escape" + +msgid "" +"Encoding suitable as the contents of a Unicode literal in ASCII-encoded " +"Python source code, except that quotes are not escaped. Decode from Latin-1 " +"source code. Beware that Python source code actually uses UTF-8 by default." +msgstr "" +"Кодування, придатне як вміст літералу Юнікод у вихідному коді Python із " +"кодуванням ASCII, за винятком того, що лапки не екрануються. Декодувати з " +"вихідного коду Latin-1. Майте на увазі, що вихідний код Python насправді " +"використовує UTF-8 за замовчуванням." + +msgid "\"unicode_internal\" codec is removed." +msgstr "Кодек \"unicode_internal\" видалено." + +msgid "Binary Transforms" +msgstr "Двійкові перетворення" + +msgid "" +"The following codecs provide binary transforms: :term:`bytes-like object` " +"to :class:`bytes` mappings. They are not supported by :meth:`bytes.decode` " +"(which only produces :class:`str` output)." +msgstr "" +"Наступні кодеки забезпечують двійкові перетворення: :term:`bytes-like " +"object` у :class:`bytes` зіставлення. Вони не підтримуються :meth:`bytes." +"decode` (який виводить лише :class:`str`)." + +msgid "Encoder / decoder" +msgstr "Кодер / декодер" + +msgid "base64_codec [#b64]_" +msgstr "base64_codec [#b64]_" + +msgid "base64, base_64" +msgstr "base64, base_64" + +msgid "" +"Convert the operand to multiline MIME base64 (the result always includes a " +"trailing ``'\\n'``)." +msgstr "" +"Перетворіть операнд на багаторядковий MIME base64 (результат завжди включає " +"``'\\n'``)." + +msgid "" +"accepts any :term:`bytes-like object` as input for encoding and decoding" +msgstr "" +"приймає будь-який :term:`bytes-like object` як вхідні дані для кодування та " +"декодування" + +msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" +msgstr ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" + +msgid "bz2_codec" +msgstr "bz2_codec" + +msgid "bz2" +msgstr "bz2" + +msgid "Compress the operand using bz2." +msgstr "Стисніть операнд за допомогою bz2." + +msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" +msgstr ":meth:`bz2.compress` / :meth:`bz2.decompress`" + +msgid "hex_codec" +msgstr "hex_codec" + +msgid "hex" +msgstr "шістнадцятковий" + +msgid "" +"Convert the operand to hexadecimal representation, with two digits per byte." +msgstr "Перетворіть операнд у шістнадцяткове подання з двома цифрами на байт." + +msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" +msgstr ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" + +msgid "quopri_codec" +msgstr "quopri_codec" + +msgid "quopri, quotedprintable, quoted_printable" +msgstr "quopri, quotedprintable, quoted_printable" + +msgid "Convert the operand to MIME quoted printable." +msgstr "Перетворіть операнд на MIME-цитований для друку." + +msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" +msgstr ":meth:`quopri.encode` з ``quotetabs=True`` / :meth:`quopri.decode`" + +msgid "uu_codec" +msgstr "uu_codec" + +msgid "uu" +msgstr "uu" + +msgid "Convert the operand using uuencode." +msgstr "Перетворіть операнд за допомогою uuencode." + +msgid ":meth:`uu.encode` / :meth:`uu.decode`" +msgstr ":meth:`uu.encode` / :meth:`uu.decode`" + +msgid "zlib_codec" +msgstr "zlib_codec" + +msgid "zip, zlib" +msgstr "zip, zlib" + +msgid "Compress the operand using gzip." +msgstr "Стисніть операнд за допомогою gzip." + +msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" +msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" + +msgid "" +"In addition to :term:`bytes-like objects `, " +"``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " +"decoding" +msgstr "" +"На додаток до :term:`байт-подібних об’єктів `, " +"``'base64_codec''`` також приймає лише ASCII-примірники :class:`str` для " +"декодування" + +msgid "Restoration of the binary transforms." +msgstr "Відновлення двійкових перетворень." + +msgid "Restoration of the aliases for the binary transforms." +msgstr "Відновлення псевдонімів для бінарних перетворень." + +msgid "Text Transforms" +msgstr "Перетворення тексту" + +msgid "" +"The following codec provides a text transform: a :class:`str` to :class:" +"`str` mapping. It is not supported by :meth:`str.encode` (which only " +"produces :class:`bytes` output)." +msgstr "" +"Наступний кодек забезпечує перетворення тексту: відображення :class:`str` у :" +"class:`str`. Він не підтримується :meth:`str.encode` (який виводить лише :" +"class:`bytes`)." + +msgid "rot_13" +msgstr "rot_13" + +msgid "rot13" +msgstr "гниль13" + +msgid "Return the Caesar-cypher encryption of the operand." +msgstr "Повернути шифрування операнда за допомогою шифру Цезаря." + +msgid "Restoration of the ``rot_13`` text transform." +msgstr "Відновлення текстового перетворення ``rot_13``." + +msgid "Restoration of the ``rot13`` alias." +msgstr "Відновлення псевдоніма ``rot13``." + +msgid "" +":mod:`encodings.idna` --- Internationalized Domain Names in Applications" +msgstr "" +":mod:`encodings.idna` --- Інтернаціоналізовані доменні імена в програмах" + +msgid "" +"This module implements :rfc:`3490` (Internationalized Domain Names in " +"Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " +"Internationalized Domain Names (IDN)). It builds upon the ``punycode`` " +"encoding and :mod:`stringprep`." +msgstr "" +"Цей модуль реалізує :rfc:`3490` (інтернаціоналізовані доменні імена в " +"програмах) і :rfc:`3492` (nameprep: профіль Stringprep для " +"інтернаціоналізованих доменних імен (IDN)). Він побудований на основі " +"кодування ``punycode`` і :mod:`stringprep`." + +msgid "" +"If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the " +"third-party `idna module `_." +msgstr "" +"Якщо вам потрібен стандарт IDNA 2008 від :rfc:`5891` і :rfc:`5895`, " +"використовуйте сторонній `idna module `_." + +msgid "" +"These RFCs together define a protocol to support non-ASCII characters in " +"domain names. A domain name containing non-ASCII characters (such as ``www." +"Alliancefrançaise.nu``) is converted into an ASCII-compatible encoding (ACE, " +"such as ``www.xn--alliancefranaise-npb.nu``). The ACE form of the domain " +"name is then used in all places where arbitrary characters are not allowed " +"by the protocol, such as DNS queries, HTTP :mailheader:`Host` fields, and so " +"on. This conversion is carried out in the application; if possible invisible " +"to the user: The application should transparently convert Unicode domain " +"labels to IDNA on the wire, and convert back ACE labels to Unicode before " +"presenting them to the user." +msgstr "" +"Ці RFC разом визначають протокол для підтримки символів, відмінних від " +"ASCII, у доменних іменах. Доменне ім’я, що містить символи, відмінні від " +"ASCII (наприклад, ``www.Alliancefrançaise.nu``), перетворюється на ASCII-" +"сумісне кодування (ACE, наприклад ``www.xn--alliancefranaise-npb.nu``). " +"Форма ACE імені домену потім використовується в усіх місцях, де довільні " +"символи не дозволені протоколом, наприклад у запитах DNS, HTTP :mailheader:" +"`Host` тощо. Це перетворення здійснюється в додатку; якщо можливо, невидимі " +"для користувача: програма повинна прозоро перетворювати мітки домену Unicode " +"на IDNA на дроті та перетворювати мітки ACE назад у Unicode перед тим, як " +"представляти їх користувачеві." + +msgid "" +"Python supports this conversion in several ways: the ``idna`` codec " +"performs conversion between Unicode and ACE, separating an input string into " +"labels based on the separator characters defined in :rfc:`section 3.1 of RFC " +"3490 <3490#section-3.1>` and converting each label to ACE as required, and " +"conversely separating an input byte string into labels based on the ``.`` " +"separator and converting any ACE labels found into unicode. Furthermore, " +"the :mod:`socket` module transparently converts Unicode host names to ACE, " +"so that applications need not be concerned about converting host names " +"themselves when they pass them to the socket module. On top of that, modules " +"that have host names as function parameters, such as :mod:`http.client` and :" +"mod:`ftplib`, accept Unicode host names (:mod:`http.client` then also " +"transparently sends an IDNA hostname in the :mailheader:`Host` field if it " +"sends that field at all)." +msgstr "" +"Python підтримує це перетворення декількома способами: кодек ``idna`` " +"виконує перетворення між Юнікодом і ACE, розділяючи вхідний рядок на мітки " +"на основі символів-роздільників, визначених у :rfc:`розділі 3.1 RFC 3490 " +"<3490#section-3.1>`, і перетворюючи кожну мітку до ACE за потреби, і " +"навпаки, розділяючи вхідний байтовий рядок на мітки на основі роздільника ``." +"`` і перетворюючи будь-які знайдені мітки ACE в Юнікод. Крім того, модуль :" +"mod:`socket` прозоро перетворює імена хостів Unicode на ACE, тому програмам " +"не потрібно турбуватися про перетворення самих імен хостів, коли вони " +"передають їх модулю сокетів. Крім того, модулі, які мають імена хостів як " +"параметри функцій, наприклад :mod:`http.client` і :mod:`ftplib`, приймають " +"імена хостів Unicode (:mod:`http.client` потім також прозоро надсилає IDNA " +"ім’я хоста в полі :mailheader:`Host`, якщо воно взагалі надсилає це поле)." + +msgid "" +"When receiving host names from the wire (such as in reverse name lookup), no " +"automatic conversion to Unicode is performed: applications wishing to " +"present such host names to the user should decode them to Unicode." +msgstr "" +"Під час отримання імен хостів із проводу (наприклад, під час зворотного " +"пошуку імен) автоматичне перетворення в Unicode не виконується: програми, " +"які бажають надати такі імена хостів користувачеві, повинні декодувати їх у " +"Unicode." + +msgid "" +"The module :mod:`encodings.idna` also implements the nameprep procedure, " +"which performs certain normalizations on host names, to achieve case-" +"insensitivity of international domain names, and to unify similar " +"characters. The nameprep functions can be used directly if desired." +msgstr "" +"Модуль :mod:`encodings.idna` також реалізує процедуру nameprep, яка виконує " +"певні нормалізації імен хостів, щоб досягти нечутливості до регістру " +"міжнародних доменних імен і уніфікувати схожі символи. За бажанням можна " +"безпосередньо використовувати функції nameprep." + +msgid "" +"Return the nameprepped version of *label*. The implementation currently " +"assumes query strings, so ``AllowUnassigned`` is true." +msgstr "" +"Повертає запрограмовану версію *мітки*. Реалізація наразі передбачає рядки " +"запиту, тому ``AllowUnassigned`` є істинним." + +msgid "" +"Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules`` " +"is assumed to be false." +msgstr "" +"Перетворіть мітку на ASCII, як зазначено в :rfc:`3490`. " +"``UseSTD3ASCIIRules`` вважається false." + +msgid "Convert a label to Unicode, as specified in :rfc:`3490`." +msgstr "Перетворіть мітку в Unicode, як зазначено в :rfc:`3490`." + +msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" +msgstr ":mod:`encodings.mbcs` --- кодова сторінка Windows ANSI" + +msgid "This module implements the ANSI codepage (CP_ACP)." +msgstr "Цей модуль реалізує кодову сторінку ANSI (CP_ACP)." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "Support any error handler." +msgstr "Підтримка будь-якого засобу обробки помилок." + +msgid "" +"Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " +"to encode, and ``'ignore'`` to decode." +msgstr "" +"До версії 3.2 аргумент *errors* ігнорувався; ``'replace'`` завжди " +"використовувався для кодування, а ``'ignore''`` для декодування." + +msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" +msgstr ":mod:`encodings.utf_8_sig` --- кодек UTF-8 із підписом BOM" + +msgid "" +"This module implements a variant of the UTF-8 codec. On encoding, a UTF-8 " +"encoded BOM will be prepended to the UTF-8 encoded bytes. For the stateful " +"encoder this is only done once (on the first write to the byte stream). On " +"decoding, an optional UTF-8 encoded BOM at the start of the data will be " +"skipped." +msgstr "" +"Цей модуль реалізує варіант кодека UTF-8. Під час кодування BOM у кодуванні " +"UTF-8 буде додано до байтів у кодуванні UTF-8. Для кодувальника зі " +"збереженням стану це робиться лише один раз (під час першого запису в потік " +"байтів). Під час декодування додаткова специфікація даних у кодуванні UTF-8 " +"на початку даних буде пропущена." diff --git a/library/codeop.po b/library/codeop.po new file mode 100644 index 000000000..932157eff --- /dev/null +++ b/library/codeop.po @@ -0,0 +1,144 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`codeop` --- Compile Python code" +msgstr ":mod:`codeop` --- Скомпілюйте код Python" + +msgid "**Source code:** :source:`Lib/codeop.py`" +msgstr "**Вихідний код:** :source:`Lib/codeop.py`" + +msgid "" +"The :mod:`codeop` module provides utilities upon which the Python read-eval-" +"print loop can be emulated, as is done in the :mod:`code` module. As a " +"result, you probably don't want to use the module directly; if you want to " +"include such a loop in your program you probably want to use the :mod:`code` " +"module instead." +msgstr "" +"Модуль :mod:`codeop` надає утиліти, за допомогою яких можна емулювати цикл " +"читання-оцінки-друку Python, як це робиться в модулі :mod:`code`. У " +"результаті ви, ймовірно, не захочете використовувати модуль безпосередньо; " +"якщо ви хочете включити такий цикл у свою програму, ви, ймовірно, захочете " +"використовувати замість нього модуль :mod:`code`." + +msgid "There are two parts to this job:" +msgstr "У цій роботі є дві частини:" + +msgid "" +"Being able to tell if a line of input completes a Python statement: in " +"short, telling whether to print '``>>>``' or '``...``' next." +msgstr "" +"Можливість визначити, чи рядок введення завершує інструкцію Python: коротше " +"кажучи, вказувати, чи друкувати далі \"``>>>``\" або \"``...``\"." + +msgid "" +"Remembering which future statements the user has entered, so subsequent " +"input can be compiled with these in effect." +msgstr "" +"Запам'ятовування, які майбутні оператори ввів користувач, щоб подальші " +"введення можна було скомпільувати з ними." + +msgid "" +"The :mod:`codeop` module provides a way of doing each of these things, and a " +"way of doing them both." +msgstr "" +"Модуль :mod:`codeop` забезпечує спосіб виконання кожної з цих речей, а також " +"спосіб виконання обох." + +msgid "To do just the former:" +msgstr "Щоб зробити лише перше:" + +msgid "" +"Tries to compile *source*, which should be a string of Python code and " +"return a code object if *source* is valid Python code. In that case, the " +"filename attribute of the code object will be *filename*, which defaults to " +"``''``. Returns ``None`` if *source* is *not* valid Python code, but " +"is a prefix of valid Python code." +msgstr "" +"Намагається скомпілювати *джерело*, яке має бути рядком коду Python, і " +"повертає об’єкт коду, якщо *джерело* є дійсним кодом Python. У цьому випадку " +"атрибутом імені файлу об’єкта коду буде *ім’я файлу*, яке за замовчуванням " +"має значення ``''``. Повертає ``None``, якщо *джерело* є *не* дійсним " +"кодом Python, але є префіксом дійсного коду Python." + +msgid "" +"If there is a problem with *source*, an exception will be raised. :exc:" +"`SyntaxError` is raised if there is invalid Python syntax, and :exc:" +"`OverflowError` or :exc:`ValueError` if there is an invalid literal." +msgstr "" +"Якщо є проблема з *source*, буде створено виняток. :exc:`SyntaxError` " +"виникає, якщо є недійсний синтаксис Python, і :exc:`OverflowError` або :exc:" +"`ValueError`, якщо є недійсний літерал." + +msgid "" +"The *symbol* argument determines whether *source* is compiled as a statement " +"(``'single'``, the default), as a sequence of statements (``'exec'``) or as " +"an :term:`expression` (``'eval'``). Any other value will cause :exc:" +"`ValueError` to be raised." +msgstr "" +"Аргумент *symbol* визначає, чи буде *source* скомпільовано як оператор " +"(``'single'``, за замовчуванням), як послідовність операторів (``'exec'``) " +"чи як :term:`expression` (``'eval'``). Будь-яке інше значення призведе до " +"появи :exc:`ValueError`." + +msgid "" +"It is possible (but not likely) that the parser stops parsing with a " +"successful outcome before reaching the end of the source; in this case, " +"trailing symbols may be ignored instead of causing an error. For example, a " +"backslash followed by two newlines may be followed by arbitrary garbage. " +"This will be fixed once the API for the parser is better." +msgstr "" +"Можливо (але малоймовірно), що синтаксичний аналізатор припиняє синтаксичний " +"аналіз із успішним результатом до того, як досягне кінця джерела; у цьому " +"випадку кінцеві символи можуть ігноруватися замість того, щоб викликати " +"помилку. Наприклад, після зворотної скісної риски, за якою слідують два " +"символи нового рядка, може стояти довільне сміття. Це буде виправлено, коли " +"API для аналізатора стане кращим." + +msgid "" +"Instances of this class have :meth:`__call__` methods identical in signature " +"to the built-in function :func:`compile`, but with the difference that if " +"the instance compiles program text containing a :mod:`__future__` statement, " +"the instance 'remembers' and compiles all subsequent program texts with the " +"statement in force." +msgstr "" +"Екземпляри цього класу мають методи :meth:`__call__`, ідентичні за " +"сигнатурою до вбудованої функції :func:`compile`, але з тією різницею, що " +"якщо екземпляр компілює текст програми, що містить оператор :mod:" +"`__future__`, екземпляр \"запам'ятовує\" та компілює всі наступні тексти " +"програми з чинним оператором." + +msgid "" +"Instances of this class have :meth:`__call__` methods identical in signature " +"to :func:`compile_command`; the difference is that if the instance compiles " +"program text containing a ``__future__`` statement, the instance 'remembers' " +"and compiles all subsequent program texts with the statement in force." +msgstr "" +"Екземпляри цього класу мають методи :meth:`__call__`, ідентичні за підписом " +"до :func:`compile_command`; різниця полягає в тому, що якщо екземпляр " +"компілює текст програми, що містить оператор ``__future__``, екземпляр " +"\"запам’ятовує\" та компілює всі наступні тексти програми з чинним " +"оператором." diff --git a/library/collections.po b/library/collections.po new file mode 100644 index 000000000..c6e882cfd --- /dev/null +++ b/library/collections.po @@ -0,0 +1,1583 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`collections` --- Container datatypes" +msgstr ":mod:`collections` --- Контейнерні типи даних" + +msgid "**Source code:** :source:`Lib/collections/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/collections/__init__.py`" + +msgid "" +"This module implements specialized container datatypes providing " +"alternatives to Python's general purpose built-in containers, :class:" +"`dict`, :class:`list`, :class:`set`, and :class:`tuple`." +msgstr "" +"Цей модуль реалізує спеціалізовані типи даних контейнерів, що є " +"альтернативою вбудованим контейнерам загального призначення Python, :class:" +"`dict`, :class:`list`, :class:`set` і :class:`tuple`." + +msgid ":func:`namedtuple`" +msgstr ":func:`namedtuple`" + +msgid "factory function for creating tuple subclasses with named fields" +msgstr "функція фабрики для створення підкласів кортежів з іменованими полями" + +msgid ":class:`deque`" +msgstr ":class:`deque`" + +msgid "list-like container with fast appends and pops on either end" +msgstr "" +"контейнер, схожий на список, із швидким додаванням і вискакуванням на обох " +"кінцях" + +msgid ":class:`ChainMap`" +msgstr ":class:`ChainMap`" + +msgid "dict-like class for creating a single view of multiple mappings" +msgstr "dict-подібний клас для створення єдиного перегляду кількох відображень" + +msgid ":class:`Counter`" +msgstr ":class:`Counter`" + +msgid "dict subclass for counting hashable objects" +msgstr "підклас dict для підрахунку хешованих об’єктів" + +msgid ":class:`OrderedDict`" +msgstr ":class:`OrderedDict`" + +msgid "dict subclass that remembers the order entries were added" +msgstr "підклас dict, який запам’ятовує додані записи порядку" + +msgid ":class:`defaultdict`" +msgstr ":class:`defaultdict`" + +msgid "dict subclass that calls a factory function to supply missing values" +msgstr "" +"підклас dict, який викликає фабричну функцію для надання відсутніх значень" + +msgid ":class:`UserDict`" +msgstr ":class:`UserDict`" + +msgid "wrapper around dictionary objects for easier dict subclassing" +msgstr "" +"обгортка навколо об’єктів словника для легшого створення підкласів dict" + +msgid ":class:`UserList`" +msgstr ":class:`UserList`" + +msgid "wrapper around list objects for easier list subclassing" +msgstr "" +"обгортка навколо об'єктів списку для легшого створення підкласів списку" + +msgid ":class:`UserString`" +msgstr ":class:`UserString`" + +msgid "wrapper around string objects for easier string subclassing" +msgstr "" +"обгортка навколо рядкових об'єктів для легшого створення підкласів рядків" + +msgid ":class:`ChainMap` objects" +msgstr ":class:`ChainMap` об'єкти" + +msgid "" +"A :class:`ChainMap` class is provided for quickly linking a number of " +"mappings so they can be treated as a single unit. It is often much faster " +"than creating a new dictionary and running multiple :meth:`~dict.update` " +"calls." +msgstr "" +"Клас :class:`ChainMap` надається для швидкого зв’язування кількох " +"відображень, щоб їх можна було розглядати як єдине ціле. Часто це набагато " +"швидше, ніж створення нового словника та виконання кількох викликів :meth:" +"`~dict.update`." + +msgid "" +"The class can be used to simulate nested scopes and is useful in templating." +msgstr "" +"Клас можна використовувати для імітації вкладених областей і корисний у " +"створенні шаблонів." + +msgid "" +"A :class:`ChainMap` groups multiple dicts or other mappings together to " +"create a single, updateable view. If no *maps* are specified, a single " +"empty dictionary is provided so that a new chain always has at least one " +"mapping." +msgstr "" +":class:`ChainMap` групує кілька dicts або інших відображень разом, щоб " +"створити єдине оновлюване подання. Якщо *maps* не вказано, надається єдиний " +"порожній словник, щоб новий ланцюжок завжди мав принаймні одне відображення." + +msgid "" +"The underlying mappings are stored in a list. That list is public and can " +"be accessed or updated using the *maps* attribute. There is no other state." +msgstr "" +"Базові відображення зберігаються в списку. Цей список є загальнодоступним, і " +"до нього можна отримати доступ або оновити за допомогою атрибута *maps*. " +"Іншої держави немає." + +msgid "" +"Lookups search the underlying mappings successively until a key is found. " +"In contrast, writes, updates, and deletions only operate on the first " +"mapping." +msgstr "" +"Пошуки послідовно шукають базові відображення, доки не буде знайдено ключ. " +"Навпаки, записи, оновлення та видалення діють лише на першому відображенні." + +msgid "" +"A :class:`ChainMap` incorporates the underlying mappings by reference. So, " +"if one of the underlying mappings gets updated, those changes will be " +"reflected in :class:`ChainMap`." +msgstr "" +":class:`ChainMap` включає базові відображення за посиланням. Отже, якщо одне " +"з базових відображень буде оновлено, ці зміни буде відображено в :class:" +"`ChainMap`." + +msgid "" +"All of the usual dictionary methods are supported. In addition, there is a " +"*maps* attribute, a method for creating new subcontexts, and a property for " +"accessing all but the first mapping:" +msgstr "" +"Підтримуються всі звичайні словникові методи. Крім того, існує атрибут " +"*maps*, метод для створення нових підконтекстів і властивість для доступу до " +"всіх відображень, крім першого:" + +msgid "" +"A user updateable list of mappings. The list is ordered from first-searched " +"to last-searched. It is the only stored state and can be modified to change " +"which mappings are searched. The list should always contain at least one " +"mapping." +msgstr "" +"Список відображень, який можна оновлювати користувачем. Список упорядковано " +"від першого до останнього. Це єдиний стан, який зберігається, і його можна " +"змінити, щоб змінити зіставлення, які шукаються. Список завжди повинен " +"містити принаймні одне зіставлення." + +msgid "" +"Returns a new :class:`ChainMap` containing a new map followed by all of the " +"maps in the current instance. If ``m`` is specified, it becomes the new map " +"at the front of the list of mappings; if not specified, an empty dict is " +"used, so that a call to ``d.new_child()`` is equivalent to: ``ChainMap({}, " +"*d.maps)``. If any keyword arguments are specified, they update passed map " +"or new empty dict. This method is used for creating subcontexts that can be " +"updated without altering values in any of the parent mappings." +msgstr "" +"Повертає новий :class:`ChainMap`, який містить нову карту, за якою слідують " +"усі карти в поточному екземплярі. Якщо вказано ``m``, воно стає новою картою " +"на початку списку зіставлень; якщо не вказано, використовується порожній " +"dict, так що виклик ``d.new_child()`` еквівалентний: ``ChainMap({}, *d." +"maps)``. Якщо вказано будь-які аргументи ключового слова, вони оновлюють " +"передану карту або новий порожній dict. Цей метод використовується для " +"створення підконтекстів, які можна оновлювати без зміни значень у будь-якому " +"з батьківських відображень." + +msgid "The optional ``m`` parameter was added." +msgstr "Додано необов’язковий параметр ``m``." + +msgid "Keyword arguments support was added." +msgstr "Додано підтримку аргументів ключових слів." + +msgid "" +"Property returning a new :class:`ChainMap` containing all of the maps in the " +"current instance except the first one. This is useful for skipping the " +"first map in the search. Use cases are similar to those for the :keyword:" +"`nonlocal` keyword used in :term:`nested scopes `. The use " +"cases also parallel those for the built-in :func:`super` function. A " +"reference to ``d.parents`` is equivalent to: ``ChainMap(*d.maps[1:])``." +msgstr "" +"Властивість, що повертає новий :class:`ChainMap`, що містить усі карти в " +"поточному екземплярі, крім першої. Це корисно для пропуску першої карти в " +"пошуку. Випадки використання схожі на випадки використання ключового слова :" +"keyword:`nonlocal`, що використовується у :term:`вкладених областях `. Випадки використання також аналогічні використанню вбудованої " +"функції :func:`super`. Посилання на ``d.parents`` еквівалентне: " +"``ChainMap(*d.maps[1:])``." + +msgid "" +"Note, the iteration order of a :class:`ChainMap()` is determined by scanning " +"the mappings last to first::" +msgstr "" +"Зауважте, що порядок ітерацій :class:`ChainMap()` визначається скануванням " +"зіставлення від останнього до першого::" + +msgid "" +"This gives the same ordering as a series of :meth:`dict.update` calls " +"starting with the last mapping::" +msgstr "" +"Це дає такий самий порядок, як і серія викликів :meth:`dict.update`, " +"починаючи з останнього відображення::" + +msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." +msgstr "Додано підтримку операторів ``|`` і ``|=``, указаних у :pep:`584`." + +msgid "" +"The `MultiContext class `_ in the Enthought `CodeTools package " +"`_ has options to support writing to " +"any mapping in the chain." +msgstr "" +"`MultiContext class `_ у пакеті Enthought `CodeTools " +"`_ має опції для підтримки запису в " +"будь-яке відображення в ланцюжку." + +msgid "" +"Django's `Context class `_ for templating is a read-only chain of mappings. It " +"also features pushing and popping of contexts similar to the :meth:" +"`~collections.ChainMap.new_child` method and the :attr:`~collections." +"ChainMap.parents` property." +msgstr "" +"`Клас контексту Django `_ для створення шаблонів — це ланцюжок відображень лише " +"для читання. Він також має функцію надсилання та витягування контекстів, " +"подібних до методу :meth:`~collections.ChainMap.new_child` і властивості :" +"attr:`~collections.ChainMap.parents`." + +msgid "" +"The `Nested Contexts recipe `_ " +"has options to control whether writes and other mutations apply only to the " +"first mapping or to any mapping in the chain." +msgstr "" +"`Рецепт вкладених контекстів `_ має параметри для контролю того, чи застосовуються записи та інші зміни " +"лише до першого відображення чи до будь-якого відображення в ланцюжку." + +msgid "" +"A `greatly simplified read-only version of Chainmap `_." +msgstr "" +"`Значно спрощена версія Chainmap тільки для читання `_." + +msgid ":class:`ChainMap` Examples and Recipes" +msgstr ":class:`ChainMap` Приклади та рецепти" + +msgid "This section shows various approaches to working with chained maps." +msgstr "" +"У цьому розділі показано різні підходи до роботи з ланцюжковими картами." + +msgid "Example of simulating Python's internal lookup chain::" +msgstr "Приклад симуляції внутрішнього ланцюжка пошуку Python::" + +msgid "" +"Example of letting user specified command-line arguments take precedence " +"over environment variables which in turn take precedence over default " +"values::" +msgstr "" +"Приклад надання переваги заданим користувачем аргументам командного рядка " +"над змінними середовища, які, у свою чергу, мають пріоритет над значеннями " +"за замовчуванням::" + +msgid "" +"Example patterns for using the :class:`ChainMap` class to simulate nested " +"contexts::" +msgstr "" +"Приклади шаблонів використання класу :class:`ChainMap` для імітації " +"вкладених контекстів::" + +msgid "" +"The :class:`ChainMap` class only makes updates (writes and deletions) to the " +"first mapping in the chain while lookups will search the full chain. " +"However, if deep writes and deletions are desired, it is easy to make a " +"subclass that updates keys found deeper in the chain::" +msgstr "" +"Клас :class:`ChainMap` лише оновлює (записує та видаляє) перше відображення " +"в ланцюжку, тоді як пошук шукатиме повний ланцюжок. Однак, якщо потрібні " +"глибокі записи та видалення, легко створити підклас, який оновлює ключі, " +"знайдені глибше в ланцюжку:" + +msgid ":class:`Counter` objects" +msgstr ":class:`Counter` об'єкти" + +msgid "" +"A counter tool is provided to support convenient and rapid tallies. For " +"example::" +msgstr "" +"Надається інструмент лічильника для зручного та швидкого підрахунку. " +"Наприклад::" + +msgid "" +"A :class:`Counter` is a :class:`dict` subclass for counting hashable " +"objects. It is a collection where elements are stored as dictionary keys and " +"their counts are stored as dictionary values. Counts are allowed to be any " +"integer value including zero or negative counts. The :class:`Counter` class " +"is similar to bags or multisets in other languages." +msgstr "" +":class:`Counter` є підкласом :class:`dict` для підрахунку хешованих " +"об’єктів. Це колекція, де елементи зберігаються як словникові ключі, а їх " +"підрахунки зберігаються як словникові значення. Підрахунки можуть бути будь-" +"якими цілими значеннями, включаючи нульові чи від’ємні значення. Клас :class:" +"`Counter` схожий на сумки або мультимножини в інших мовах." + +msgid "" +"Elements are counted from an *iterable* or initialized from another " +"*mapping* (or counter):" +msgstr "" +"Елементи підраховуються з *iterable* або ініціалізуються з іншого *mapping* " +"(або лічильника):" + +msgid "" +"Counter objects have a dictionary interface except that they return a zero " +"count for missing items instead of raising a :exc:`KeyError`:" +msgstr "" +"Об’єкти лічильників мають інтерфейс словника, за винятком того, що вони " +"повертають нульову кількість для відсутніх елементів замість того, щоб " +"викликати :exc:`KeyError`:" + +msgid "" +"Setting a count to zero does not remove an element from a counter. Use " +"``del`` to remove it entirely:" +msgstr "" +"Встановлення лічильника на нуль не видаляє елемент із лічильника. " +"Використовуйте ``del``, щоб видалити його повністю:" + +msgid "" +"As a :class:`dict` subclass, :class:`Counter` inherited the capability to " +"remember insertion order. Math operations on *Counter* objects also " +"preserve order. Results are ordered according to when an element is first " +"encountered in the left operand and then by the order encountered in the " +"right operand." +msgstr "" +"Як підклас :class:`dict`, :class:`Counter` успадкував можливість " +"запам’ятовувати порядок вставки. Математичні операції над об’єктами " +"*Counter* також зберігають порядок. Результати впорядковуються відповідно до " +"того, коли елемент вперше зустрічається в лівому операнді, а потім у порядку " +"зустрічі в правому операнді." + +msgid "" +"Counter objects support additional methods beyond those available for all " +"dictionaries:" +msgstr "" +"Об’єкти лічильників підтримують додаткові методи, окрім тих, що доступні для " +"всіх словників:" + +msgid "" +"Return an iterator over elements repeating each as many times as its count. " +"Elements are returned in the order first encountered. If an element's count " +"is less than one, :meth:`elements` will ignore it." +msgstr "" +"Повертає ітератор над елементами, повторюючи кожен стільки разів, скільки " +"його кількість. Елементи повертаються в тому порядку, в якому вони " +"зустрічаються першими. Якщо кількість елемента менше одиниці, :meth:" +"`elements` проігнорує його." + +msgid "" +"Return a list of the *n* most common elements and their counts from the most " +"common to the least. If *n* is omitted or ``None``, :meth:`most_common` " +"returns *all* elements in the counter. Elements with equal counts are " +"ordered in the order first encountered:" +msgstr "" +"Повертає список з *n* найпоширеніших елементів і їх підрахунок від найбільш " +"поширених до найменших. Якщо *n* пропущено або ``None``, :meth:`most_common` " +"повертає *всі* елементи в лічильнику. Елементи з рівною кількістю " +"впорядковуються в порядку, коли вони зустрічаються першими:" + +msgid "" +"Elements are subtracted from an *iterable* or from another *mapping* (or " +"counter). Like :meth:`dict.update` but subtracts counts instead of " +"replacing them. Both inputs and outputs may be zero or negative." +msgstr "" +"Елементи віднімаються з *iterable* або з іншого *mapping* (або лічильника). " +"Подібно до :meth:`dict.update`, але кількість віднімає, а не замінює. І " +"входи, і виходи можуть бути нульовими або негативними." + +msgid "Compute the sum of the counts." +msgstr "Обчисліть суму підрахунків." + +msgid "" +"The usual dictionary methods are available for :class:`Counter` objects " +"except for two which work differently for counters." +msgstr "" +"Звичайні методи словника доступні для об’єктів :class:`Counter`, за винятком " +"двох, які працюють по-різному для лічильників." + +msgid "This class method is not implemented for :class:`Counter` objects." +msgstr "Цей метод класу не реалізований для об’єктів :class:`Counter`." + +msgid "" +"Elements are counted from an *iterable* or added-in from another *mapping* " +"(or counter). Like :meth:`dict.update` but adds counts instead of replacing " +"them. Also, the *iterable* is expected to be a sequence of elements, not a " +"sequence of ``(key, value)`` pairs." +msgstr "" +"Елементи підраховуються від *iterable* або add-in від іншого *mapping* (або " +"лічильника). Як :meth:`dict.update`, але додає лічильники замість їх заміни. " +"Крім того, очікується, що *iterable* буде послідовністю елементів, а не " +"послідовністю пар ``(ключ, значення)``." + +msgid "" +"Counters support rich comparison operators for equality, subset, and " +"superset relationships: ``==``, ``!=``, ``<``, ``<=``, ``>``, ``>=``. All of " +"those tests treat missing elements as having zero counts so that " +"``Counter(a=1) == Counter(a=1, b=0)`` returns true." +msgstr "" +"Лічильники підтримують розширені оператори порівняння для зв’язків рівності, " +"підмножини та надмножини: ``==``, ``!=``, ``<``, ``<=``, ``>``, ``>=``. Усі " +"ці тести розглядають відсутні елементи як такі, що мають нульову кількість, " +"тому ``Counter(a=1) == Counter(a=1, b=0)`` повертає true." + +msgid "Rich comparison operations were added." +msgstr "Додано розширені операції порівняння." + +msgid "" +"In equality tests, missing elements are treated as having zero counts. " +"Formerly, ``Counter(a=3)`` and ``Counter(a=3, b=0)`` were considered " +"distinct." +msgstr "" +"У тестах на рівність відсутні елементи розглядаються як такі, що мають " +"нульову кількість. Раніше ``Counter(a=3)`` і ``Counter(a=3, b=0)`` вважалися " +"різними." + +msgid "Common patterns for working with :class:`Counter` objects::" +msgstr "Загальні шаблони для роботи з об'єктами :class:`Counter`::" + +msgid "" +"Several mathematical operations are provided for combining :class:`Counter` " +"objects to produce multisets (counters that have counts greater than zero). " +"Addition and subtraction combine counters by adding or subtracting the " +"counts of corresponding elements. Intersection and union return the minimum " +"and maximum of corresponding counts. Equality and inclusion compare " +"corresponding counts. Each operation can accept inputs with signed counts, " +"but the output will exclude results with counts of zero or less." +msgstr "" +"Передбачено кілька математичних операцій для об’єднання об’єктів :class:" +"`Counter` для створення мультимножин (лічильників, які мають кількість, " +"більшу за нуль). Додавання та віднімання поєднують лічильники шляхом " +"додавання або віднімання підрахунків відповідних елементів. Перетин і " +"об’єднання повертають мінімальне та максимальне значення відповідних " +"підрахунків. Рівність і включення порівнюють відповідні підрахунки. Кожна " +"операція може приймати вхідні дані зі знаком підрахунків, але вихід " +"виключатиме результати з нульовими чи меншими значеннями." + +msgid "" +"Unary addition and subtraction are shortcuts for adding an empty counter or " +"subtracting from an empty counter." +msgstr "" +"Унарне додавання та віднімання — це ярлики для додавання порожнього " +"лічильника або віднімання з порожнього лічильника." + +msgid "" +"Added support for unary plus, unary minus, and in-place multiset operations." +msgstr "" +"Додано підтримку унарних операцій плюс, унарний мінус і мультимножинних " +"операцій на місці." + +msgid "" +"Counters were primarily designed to work with positive integers to represent " +"running counts; however, care was taken to not unnecessarily preclude use " +"cases needing other types or negative values. To help with those use cases, " +"this section documents the minimum range and type restrictions." +msgstr "" +"Лічильники були в основному розроблені для роботи з позитивними цілими " +"числами для представлення поточних підрахунків; однак було вжито заходів для " +"того, щоб без потреби не виключити випадки використання, які потребують " +"інших типів або від’ємних значень. Щоб допомогти з цими випадками " +"використання, у цьому розділі описані мінімальні обмеження діапазону та типу." + +msgid "" +"The :class:`Counter` class itself is a dictionary subclass with no " +"restrictions on its keys and values. The values are intended to be numbers " +"representing counts, but you *could* store anything in the value field." +msgstr "" +"Сам клас :class:`Counter` є підкласом словника без обмежень щодо його ключів " +"і значень. Значення мають бути числами, що представляють кількість, але ви " +"*можете* зберігати будь-що в полі значення." + +msgid "" +"The :meth:`~Counter.most_common` method requires only that the values be " +"orderable." +msgstr "" +"Метод :meth:`~Counter.most_common` вимагає лише того, щоб значення можна " +"було впорядкувати." + +msgid "" +"For in-place operations such as ``c[key] += 1``, the value type need only " +"support addition and subtraction. So fractions, floats, and decimals would " +"work and negative values are supported. The same is also true for :meth:" +"`~Counter.update` and :meth:`~Counter.subtract` which allow negative and " +"zero values for both inputs and outputs." +msgstr "" +"Для операцій на місці, таких як ``c[key] += 1``, тип значення потребує лише " +"підтримки додавання та віднімання. Отже, дроби, числа з плаваючою точкою та " +"десяткові дроби працюватимуть, а від’ємні значення підтримуються. Те ж саме " +"вірно для :meth:`~Counter.update` і :meth:`~Counter.subtract`, які " +"дозволяють від’ємні та нульові значення як для входів, так і для виходів." + +msgid "" +"The multiset methods are designed only for use cases with positive values. " +"The inputs may be negative or zero, but only outputs with positive values " +"are created. There are no type restrictions, but the value type needs to " +"support addition, subtraction, and comparison." +msgstr "" +"Мультимножинні методи призначені лише для випадків використання з " +"позитивними значеннями. Вхідні дані можуть бути від’ємними або нульовими, " +"але створюються лише виходи з позитивними значеннями. Немає обмежень щодо " +"типів, але тип значення має підтримувати додавання, віднімання та порівняння." + +msgid "" +"The :meth:`~Counter.elements` method requires integer counts. It ignores " +"zero and negative counts." +msgstr "" +"Метод :meth:`~Counter.elements` вимагає підрахунку цілих чисел. Він ігнорує " +"нульові та негативні значення." + +msgid "" +"`Bag class `_ in Smalltalk." +msgstr "" +"`Клас сумки `_ у Smalltalk." + +msgid "" +"Wikipedia entry for `Multisets `_." +msgstr "" +"Запис у Вікіпедії для `Мультимножини `_." + +msgid "" +"`C++ multisets `_ tutorial with examples." +msgstr "" +"`C++ multisets `_ посібник із прикладами." + +msgid "" +"For mathematical operations on multisets and their use cases, see *Knuth, " +"Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " +"19*." +msgstr "" +"Про математичні операції над мультимножинами та випадки їх використання див. " +"*Knuth, Donald. Мистецтво комп’ютерного програмування, том II, розділ 4.6.3, " +"вправа 19*." + +msgid "" +"To enumerate all distinct multisets of a given size over a given set of " +"elements, see :func:`itertools.combinations_with_replacement`::" +msgstr "" +"Щоб перерахувати всі різні мультимножини заданого розміру над заданим " +"набором елементів, перегляньте :func:`itertools." +"combinations_with_replacement`::" + +msgid ":class:`deque` objects" +msgstr ":class:`deque` об'єкти" + +msgid "" +"Returns a new deque object initialized left-to-right (using :meth:`append`) " +"with data from *iterable*. If *iterable* is not specified, the new deque is " +"empty." +msgstr "" +"Повертає новий об’єкт deque, ініціалізований зліва направо (за допомогою :" +"meth:`append`) з даними з *iterable*. Якщо *iterable* не вказано, нова " +"двочерга порожня." + +msgid "" +"Deques are a generalization of stacks and queues (the name is pronounced " +"\"deck\" and is short for \"double-ended queue\"). Deques support thread-" +"safe, memory efficient appends and pops from either side of the deque with " +"approximately the same O(1) performance in either direction." +msgstr "" +"Deques — це узагальнення стеків і черг (назва вимовляється як \"колода\" і є " +"скороченням від \"черга з двома кінцями\"). Deques підтримують " +"потокобезпечне, ефективне додавання та видалення з пам’яті з будь-якої " +"сторони deque з приблизно однаковою продуктивністю O(1) у будь-якому " +"напрямку." + +msgid "" +"Though :class:`list` objects support similar operations, they are optimized " +"for fast fixed-length operations and incur O(n) memory movement costs for " +"``pop(0)`` and ``insert(0, v)`` operations which change both the size and " +"position of the underlying data representation." +msgstr "" +"Хоча об’єкти :class:`list` підтримують подібні операції, вони оптимізовані " +"для швидких операцій із фіксованою довжиною та несуть O(n) витрат на " +"переміщення пам’яті для ``pop(0)`` та ``insert(0, v)`` операції, які " +"змінюють як розмір, так і положення основного представлення даних." + +msgid "" +"If *maxlen* is not specified or is ``None``, deques may grow to an arbitrary " +"length. Otherwise, the deque is bounded to the specified maximum length. " +"Once a bounded length deque is full, when new items are added, a " +"corresponding number of items are discarded from the opposite end. Bounded " +"length deques provide functionality similar to the ``tail`` filter in Unix. " +"They are also useful for tracking transactions and other pools of data where " +"only the most recent activity is of interest." +msgstr "" +"Якщо *maxlen* не вказано або має значення ``None``, дві версії можуть " +"зростати до довільної довжини. В іншому випадку двочерга обмежена до " +"вказаної максимальної довжини. Коли двочерга обмеженої довжини заповнюється, " +"коли додаються нові елементи, відповідна кількість елементів відкидається з " +"протилежного кінця. Обмежена довжина двох рядків забезпечує " +"функціональність, подібну до фільтра ``tail`` в Unix. Вони також корисні для " +"відстеження транзакцій та інших наборів даних, де цікаві лише останні дії." + +msgid "Deque objects support the following methods:" +msgstr "Об’єкти Deque підтримують такі методи:" + +msgid "Add *x* to the right side of the deque." +msgstr "Додайте *x* до правої сторони дека." + +msgid "Add *x* to the left side of the deque." +msgstr "Додайте *x* до лівої сторони дека." + +msgid "Remove all elements from the deque leaving it with length 0." +msgstr "Видаліть усі елементи з двоканального ряду, залишивши його довжиною 0." + +msgid "Create a shallow copy of the deque." +msgstr "Створіть поверхневу копію deque." + +msgid "Count the number of deque elements equal to *x*." +msgstr "Підрахуйте кількість елементів deque, що дорівнює *x*." + +msgid "" +"Extend the right side of the deque by appending elements from the iterable " +"argument." +msgstr "" +"Розширте праву частину двоканального ряду, додавши елементи з ітерованого " +"аргументу." + +msgid "" +"Extend the left side of the deque by appending elements from *iterable*. " +"Note, the series of left appends results in reversing the order of elements " +"in the iterable argument." +msgstr "" +"Розширте ліву сторону двостороннього коду, додавши елементи з *iterable*. " +"Зауважте, що серія лівих додань призводить до зміни порядку елементів у " +"повторюваному аргументі." + +msgid "" +"Return the position of *x* in the deque (at or after index *start* and " +"before index *stop*). Returns the first match or raises :exc:`ValueError` " +"if not found." +msgstr "" +"Повертає позицію *x* у черзі (за індексом *start* і перед індексом *stop*). " +"Повертає перший збіг або викликає :exc:`ValueError`, якщо не знайдено." + +msgid "Insert *x* into the deque at position *i*." +msgstr "Вставте *x* у рядок у позицію *i*." + +msgid "" +"If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" +"exc:`IndexError` is raised." +msgstr "" +"Якщо вставка призведе до того, що обмежена двочерга виросте за межі " +"*maxlen*, виникає :exc:`IndexError`." + +msgid "" +"Remove and return an element from the right side of the deque. If no " +"elements are present, raises an :exc:`IndexError`." +msgstr "" +"Видаліть і поверніть елемент з правого боку двоканальної таблиці. Якщо немає " +"елементів, викликає :exc:`IndexError`." + +msgid "" +"Remove and return an element from the left side of the deque. If no elements " +"are present, raises an :exc:`IndexError`." +msgstr "" +"Видаліть і поверніть елемент з лівої сторони двосторонньої версії. Якщо " +"немає елементів, викликає :exc:`IndexError`." + +msgid "" +"Remove the first occurrence of *value*. If not found, raises a :exc:" +"`ValueError`." +msgstr "" +"Видаліть перше входження *значення*. Якщо не знайдено, викликає :exc:" +"`ValueError`." + +msgid "Reverse the elements of the deque in-place and then return ``None``." +msgstr "Перевернути елементи дек-версії на місці, а потім повернути ``None``." + +msgid "" +"Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " +"left." +msgstr "" +"Поверніть двічі *n* кроків праворуч. Якщо *n* від’ємне, поверніть ліворуч." + +msgid "" +"When the deque is not empty, rotating one step to the right is equivalent to " +"``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " +"to ``d.append(d.popleft())``." +msgstr "" +"Якщо двочерга не порожня, поворот на один крок праворуч еквівалентний d." +"appendleft(d.pop()) , а поворот на один крок ліворуч еквівалентний d." +"append(d.popleft ())``." + +msgid "Deque objects also provide one read-only attribute:" +msgstr "Об’єкти Deque також надають один атрибут лише для читання:" + +msgid "Maximum size of a deque or ``None`` if unbounded." +msgstr "Максимальний розмір двочергового рядка або ``None``, якщо необмежений." + +msgid "" +"In addition to the above, deques support iteration, pickling, ``len(d)``, " +"``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " +"with the :keyword:`in` operator, and subscript references such as ``d[0]`` " +"to access the first element. Indexed access is O(1) at both ends but slows " +"to O(n) in the middle. For fast random access, use lists instead." +msgstr "" +"На додаток до вищезазначеного, deques підтримують ітерацію, травлення, " +"``len(d)``, ``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, " +"тестування членства за допомогою оператора :keyword:`in` і посилань на " +"підрядковий індекс, наприклад ``d[0]`` для доступу до першого елемента. " +"Індексований доступ становить O(1) на обох кінцях, але сповільнюється до " +"O(n) посередині. Для швидкого довільного доступу використовуйте натомість " +"списки." + +msgid "" +"Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " +"``__imul__()``." +msgstr "" +"Починаючи з версії 3.5, deques підтримують ``__add__()``, ``__mul__()`` і " +"``__imul__()``." + +msgid "Example:" +msgstr "приклад:" + +msgid ":class:`deque` Recipes" +msgstr ":class:`deque` Рецепти" + +msgid "This section shows various approaches to working with deques." +msgstr "У цьому розділі показано різні підходи до роботи з deque." + +msgid "" +"Bounded length deques provide functionality similar to the ``tail`` filter " +"in Unix::" +msgstr "" +"Обмежена довжина двостороннього ряду забезпечує функціональність, подібну до " +"фільтра ``tail`` в Unix::" + +msgid "" +"Another approach to using deques is to maintain a sequence of recently added " +"elements by appending to the right and popping to the left::" +msgstr "" +"Інший підхід до використання двох блоків полягає в підтримці послідовності " +"нещодавно доданих елементів шляхом додавання праворуч і висування ліворуч:" + +msgid "" +"A `round-robin scheduler `_ can be implemented with input iterators stored in a :" +"class:`deque`. Values are yielded from the active iterator in position " +"zero. If that iterator is exhausted, it can be removed with :meth:`~deque." +"popleft`; otherwise, it can be cycled back to the end with the :meth:`~deque." +"rotate` method::" +msgstr "" +"`Циклічний планувальник `_ може бути реалізований за допомогою ітераторів введення, " +"що зберігаються в :class:`deque`. Значення виводяться з активного ітератора " +"в нульовій позиції. Якщо цей ітератор вичерпано, його можна видалити за " +"допомогою :meth:`~deque.popleft`; інакше його можна повернути до кінця за " +"допомогою методу :meth:`~deque.rotate`::" + +msgid "" +"The :meth:`~deque.rotate` method provides a way to implement :class:`deque` " +"slicing and deletion. For example, a pure Python implementation of ``del " +"d[n]`` relies on the ``rotate()`` method to position elements to be popped::" +msgstr "" +"Метод :meth:`~deque.rotate` забезпечує спосіб реалізації :class:`deque` " +"нарізки та видалення. Наприклад, чиста реалізація ``del d[n]`` на Python " +"покладається на метод ``rotate()`` для позиціонування елементів, які " +"потрібно відкрити:" + +msgid "" +"To implement :class:`deque` slicing, use a similar approach applying :meth:" +"`~deque.rotate` to bring a target element to the left side of the deque. " +"Remove old entries with :meth:`~deque.popleft`, add new entries with :meth:" +"`~deque.extend`, and then reverse the rotation. With minor variations on " +"that approach, it is easy to implement Forth style stack manipulations such " +"as ``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot``, and ``roll``." +msgstr "" +"Щоб реалізувати нарізку :class:`deque`, скористайтеся подібним підходом, " +"застосовуючи :meth:`~deque.rotate`, щоб перемістити цільовий елемент у ліву " +"сторону від deque. Видаліть старі записи за допомогою :meth:`~deque." +"popleft`, додайте нові за допомогою :meth:`~deque.extend`, а потім змініть " +"чергування. З незначними варіаціями цього підходу легко реалізувати " +"маніпуляції стеком у стилі Forth, такі як ``dup``, ``drop``, ``swap``, " +"``over``, ``pick``, ``rot`` і ``roll``." + +msgid ":class:`defaultdict` objects" +msgstr ":class:`defaultdict` об’єкти" + +msgid "" +"Return a new dictionary-like object. :class:`defaultdict` is a subclass of " +"the built-in :class:`dict` class. It overrides one method and adds one " +"writable instance variable. The remaining functionality is the same as for " +"the :class:`dict` class and is not documented here." +msgstr "" +"Повернути новий об’єкт, схожий на словник. :class:`defaultdict` є підкласом " +"вбудованого класу :class:`dict`. Він замінює один метод і додає одну змінну " +"екземпляра, доступну для запису. Інші функції такі ж, як і для класу :class:" +"`dict`, і тут не описані." + +msgid "" +"The first argument provides the initial value for the :attr:" +"`default_factory` attribute; it defaults to ``None``. All remaining " +"arguments are treated the same as if they were passed to the :class:`dict` " +"constructor, including keyword arguments." +msgstr "" +"Перший аргумент надає початкове значення для атрибута :attr:" +"`default_factory`; за замовчуванням ``None``. Усі решта аргументів " +"обробляються так само, як якщо б вони були передані конструктору :class:" +"`dict`, включаючи аргументи ключових слів." + +msgid "" +":class:`defaultdict` objects support the following method in addition to the " +"standard :class:`dict` operations:" +msgstr "" +"Об’єкти :class:`defaultdict` підтримують наступний метод на додаток до " +"стандартних операцій :class:`dict`:" + +msgid "" +"If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" +"`KeyError` exception with the *key* as argument." +msgstr "" +"Якщо атрибут :attr:`default_factory` має значення ``None``, це викликає " +"виключення :exc:`KeyError` з *key* як аргументом." + +msgid "" +"If :attr:`default_factory` is not ``None``, it is called without arguments " +"to provide a default value for the given *key*, this value is inserted in " +"the dictionary for the *key*, and returned." +msgstr "" +"Якщо :attr:`default_factory` не є ``None``, він викликається без аргументів, " +"щоб надати значення за замовчуванням для даного *ключа*, це значення " +"вставляється в словник для *ключа* та повертається." + +msgid "" +"If calling :attr:`default_factory` raises an exception this exception is " +"propagated unchanged." +msgstr "" +"Якщо виклик :attr:`default_factory` викликає виняток, цей виняток " +"поширюється без змін." + +msgid "" +"This method is called by the :meth:`__getitem__` method of the :class:`dict` " +"class when the requested key is not found; whatever it returns or raises is " +"then returned or raised by :meth:`__getitem__`." +msgstr "" +"Цей метод викликається методом :meth:`__getitem__` класу :class:`dict`, коли " +"запитуваний ключ не знайдено; все, що він повертає або викликає, потім " +"повертається або піднімається :meth:`__getitem__`." + +msgid "" +"Note that :meth:`__missing__` is *not* called for any operations besides :" +"meth:`__getitem__`. This means that :meth:`get` will, like normal " +"dictionaries, return ``None`` as a default rather than using :attr:" +"`default_factory`." +msgstr "" +"Зауважте, що :meth:`__missing__` *не* викликається для будь-яких операцій, " +"крім :meth:`__getitem__`. Це означає, що :meth:`get`, як і звичайні " +"словники, повертатиме ``None`` за замовчуванням замість використання :attr:" +"`default_factory`." + +msgid ":class:`defaultdict` objects support the following instance variable:" +msgstr "Об’єкти :class:`defaultdict` підтримують таку змінну екземпляра:" + +msgid "" +"This attribute is used by the :meth:`__missing__` method; it is initialized " +"from the first argument to the constructor, if present, or to ``None``, if " +"absent." +msgstr "" +"Цей атрибут використовується методом :meth:`__missing__`; він " +"ініціалізується від першого аргументу до конструктора, якщо він присутній, " +"або до ``None``, якщо його немає." + +msgid "" +"Added merge (``|``) and update (``|=``) operators, specified in :pep:`584`." +msgstr "" +"Додано оператори злиття (``|``) і оновлення (``|=``), указані в :pep:`584`." + +msgid ":class:`defaultdict` Examples" +msgstr ":class:`defaultdict` Приклади" + +msgid "" +"Using :class:`list` as the :attr:`~defaultdict.default_factory`, it is easy " +"to group a sequence of key-value pairs into a dictionary of lists:" +msgstr "" +"Використовуючи :class:`list` як :attr:`~defaultdict.default_factory`, можна " +"легко згрупувати послідовність пар ключ-значення в словник списків:" + +msgid "" +"When each key is encountered for the first time, it is not already in the " +"mapping; so an entry is automatically created using the :attr:`~defaultdict." +"default_factory` function which returns an empty :class:`list`. The :meth:" +"`list.append` operation then attaches the value to the new list. When keys " +"are encountered again, the look-up proceeds normally (returning the list for " +"that key) and the :meth:`list.append` operation adds another value to the " +"list. This technique is simpler and faster than an equivalent technique " +"using :meth:`dict.setdefault`:" +msgstr "" +"Коли кожен ключ зустрічається вперше, його ще немає у відображенні; тому " +"запис створюється автоматично за допомогою функції :attr:`~defaultdict." +"default_factory`, яка повертає порожній :class:`list`. Потім операція :meth:" +"`list.append` додає значення до нового списку. Коли ключі зустрічаються " +"знову, пошук триває нормально (повертається список для цього ключа), а " +"операція :meth:`list.append` додає інше значення до списку. Ця техніка " +"простіша та швидша, ніж еквівалентна техніка з використанням :meth:`dict." +"setdefault`:" + +msgid "" +"Setting the :attr:`~defaultdict.default_factory` to :class:`int` makes the :" +"class:`defaultdict` useful for counting (like a bag or multiset in other " +"languages):" +msgstr "" +"Встановлення :attr:`~defaultdict.default_factory` на :class:`int` робить :" +"class:`defaultdict` корисним для підрахунку (як сумка або мультинабір в " +"інших мовах):" + +msgid "" +"When a letter is first encountered, it is missing from the mapping, so the :" +"attr:`~defaultdict.default_factory` function calls :func:`int` to supply a " +"default count of zero. The increment operation then builds up the count for " +"each letter." +msgstr "" +"Коли буква зустрічається вперше, вона відсутня у відображенні, тому функція :" +"attr:`~defaultdict.default_factory` викликає :func:`int`, щоб надати нульову " +"кількість за умовчанням. Потім операція збільшення створює кількість для " +"кожної літери." + +msgid "" +"The function :func:`int` which always returns zero is just a special case of " +"constant functions. A faster and more flexible way to create constant " +"functions is to use a lambda function which can supply any constant value " +"(not just zero):" +msgstr "" +"Функція :func:`int`, яка завжди повертає нуль, є лише окремим випадком " +"постійних функцій. Швидший і більш гнучкий спосіб створення постійних " +"функцій полягає у використанні лямбда-функції, яка може надати будь-яке " +"постійне значення (не лише нуль):" + +msgid "" +"Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes the :" +"class:`defaultdict` useful for building a dictionary of sets:" +msgstr "" +"Встановлення :attr:`~defaultdict.default_factory` на :class:`set` робить :" +"class:`defaultdict` корисним для створення словника наборів:" + +msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" +msgstr ":func:`namedtuple` Фабрична функція для кортежів з іменованими полями" + +msgid "" +"Named tuples assign meaning to each position in a tuple and allow for more " +"readable, self-documenting code. They can be used wherever regular tuples " +"are used, and they add the ability to access fields by name instead of " +"position index." +msgstr "" +"Іменовані кортежі призначають значення кожній позиції в кортежі та " +"забезпечують більш читабельний самодокументований код. Їх можна " +"використовувати скрізь, де використовуються звичайні кортежі, і вони додають " +"можливість доступу до полів за назвою замість індексу позиції." + +msgid "" +"Returns a new tuple subclass named *typename*. The new subclass is used to " +"create tuple-like objects that have fields accessible by attribute lookup as " +"well as being indexable and iterable. Instances of the subclass also have a " +"helpful docstring (with typename and field_names) and a helpful :meth:" +"`__repr__` method which lists the tuple contents in a ``name=value`` format." +msgstr "" +"Повертає новий підклас кортежу з назвою *typename*. Новий підклас " +"використовується для створення кортежних об’єктів, які мають поля, доступні " +"за допомогою пошуку атрибутів, а також які можна індексувати та повторювати. " +"Екземпляри підкласу також мають корисний рядок документації (з назвою типу " +"та іменами полів) і корисний метод :meth:`__repr__`, який перераховує вміст " +"кортежу у форматі ``ім'я=значення``." + +msgid "" +"The *field_names* are a sequence of strings such as ``['x', 'y']``. " +"Alternatively, *field_names* can be a single string with each fieldname " +"separated by whitespace and/or commas, for example ``'x y'`` or ``'x, y'``." +msgstr "" +"*Імена_полів* — це послідовність рядків, наприклад ``['x', 'y']``. Крім " +"того, *назви_полів* можуть бути одним рядком із назвою кожного поля, " +"розділеного пробілами та/або комами, наприклад ``'x y'`` або ``'x, y'``." + +msgid "" +"Any valid Python identifier may be used for a fieldname except for names " +"starting with an underscore. Valid identifiers consist of letters, digits, " +"and underscores but do not start with a digit or underscore and cannot be a :" +"mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, or *raise*." +msgstr "" +"Для імені поля можна використовувати будь-який дійсний ідентифікатор Python, " +"за винятком імен, що починаються з підкреслення. Дійсні ідентифікатори " +"складаються з літер, цифр і підкреслення, але не починаються з цифри або " +"підкреслення і не можуть бути :mod:`keyword`, таким як *клас*, *для*, " +"*повернення*, *глобальний*, *перехід* , або *підняти*." + +msgid "" +"If *rename* is true, invalid fieldnames are automatically replaced with " +"positional names. For example, ``['abc', 'def', 'ghi', 'abc']`` is " +"converted to ``['abc', '_1', 'ghi', '_3']``, eliminating the keyword ``def`` " +"and the duplicate fieldname ``abc``." +msgstr "" +"Якщо *rename* має значення true, недійсні назви полів автоматично " +"замінюються позиційними іменами. Наприклад, ``['abc', 'def', 'ghi', 'abc']`` " +"перетворюється на ``['abc', '_1', 'ghi', '_3']``, усуваючи ключове слово " +"``def`` і повторюване ім’я поля ``abc``." + +msgid "" +"*defaults* can be ``None`` or an :term:`iterable` of default values. Since " +"fields with a default value must come after any fields without a default, " +"the *defaults* are applied to the rightmost parameters. For example, if the " +"fieldnames are ``['x', 'y', 'z']`` and the defaults are ``(1, 2)``, then " +"``x`` will be a required argument, ``y`` will default to ``1``, and ``z`` " +"will default to ``2``." +msgstr "" +"*defaults* може бути ``None`` або :term:`iterable` значень за замовчуванням. " +"Оскільки поля зі значенням за замовчуванням мають бути після будь-яких полів " +"без значення за замовчуванням, *за замовчуванням* застосовуються до крайніх " +"правих параметрів. Наприклад, якщо імена полів ``['x', 'y', 'z']``, а " +"значення за умовчанням ``(1, 2)``, тоді ``x`` буде обов'язковим аргументом, " +"``y`` за замовчуванням буде ``1``, а ``z`` буде ``2``." + +msgid "" +"If *module* is defined, the ``__module__`` attribute of the named tuple is " +"set to that value." +msgstr "" +"Якщо визначено *module*, атрибут ``__module__`` названого кортежу " +"встановлюється на це значення." + +msgid "" +"Named tuple instances do not have per-instance dictionaries, so they are " +"lightweight and require no more memory than regular tuples." +msgstr "" +"Іменовані екземпляри кортежу не мають словників для кожного екземпляра, тому " +"вони легкі та не вимагають більше пам’яті, ніж звичайні кортежі." + +msgid "" +"To support pickling, the named tuple class should be assigned to a variable " +"that matches *typename*." +msgstr "" +"Щоб підтримувати маринування, іменований клас кортежу має бути призначений " +"змінній, яка відповідає *typename*." + +msgid "Added support for *rename*." +msgstr "Додано підтримку *перейменування*." + +msgid "" +"The *verbose* and *rename* parameters became :ref:`keyword-only arguments " +"`." +msgstr "" +"Параметри *verbose* і *rename* стали :ref:`аргументами лише для ключових " +"слів `." + +msgid "Added the *module* parameter." +msgstr "Додано параметр *module*." + +msgid "Removed the *verbose* parameter and the :attr:`_source` attribute." +msgstr "Видалено параметр *verbose* і атрибут :attr:`_source`." + +msgid "" +"Added the *defaults* parameter and the :attr:`_field_defaults` attribute." +msgstr "Додано параметр *defaults* і атрибут :attr:`_field_defaults`." + +msgid "" +"Named tuples are especially useful for assigning field names to result " +"tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" +msgstr "" +"Іменовані кортежі особливо корисні для призначення імен полів кортежам " +"результатів, які повертаються модулями :mod:`csv` або :mod:`sqlite3`::" + +msgid "" +"In addition to the methods inherited from tuples, named tuples support three " +"additional methods and two attributes. To prevent conflicts with field " +"names, the method and attribute names start with an underscore." +msgstr "" +"На додаток до методів, успадкованих від кортежів, іменовані кортежі " +"підтримують три додаткові методи та два атрибути. Щоб запобігти конфліктам " +"імен полів, імена методів і атрибутів починаються зі знака підкреслення." + +msgid "" +"Class method that makes a new instance from an existing sequence or iterable." +msgstr "" +"Метод класу, який створює новий екземпляр із існуючої послідовності або " +"повторюється." + +msgid "" +"Return a new :class:`dict` which maps field names to their corresponding " +"values:" +msgstr "" +"Повертає новий :class:`dict`, який зіставляє назви полів з відповідними " +"значеннями:" + +msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." +msgstr "Повертає :class:`OrderedDict` замість звичайного :class:`dict`." + +msgid "" +"Returns a regular :class:`dict` instead of an :class:`OrderedDict`. As of " +"Python 3.7, regular dicts are guaranteed to be ordered. If the extra " +"features of :class:`OrderedDict` are required, the suggested remediation is " +"to cast the result to the desired type: ``OrderedDict(nt._asdict())``." +msgstr "" +"Повертає звичайний :class:`dict` замість :class:`OrderedDict`. Починаючи з " +"Python 3.7, звичайні dicts гарантовано будуть упорядковані. Якщо потрібні " +"додаткові функції :class:`OrderedDict`, запропонованим виправленням є " +"приведення результату до потрібного типу: ``OrderedDict(nt._asdict())``." + +msgid "" +"Return a new instance of the named tuple replacing specified fields with new " +"values::" +msgstr "" +"Повертає новий екземпляр іменованого кортежу, замінюючи вказані поля новими " +"значеннями::" + +msgid "" +"Tuple of strings listing the field names. Useful for introspection and for " +"creating new named tuple types from existing named tuples." +msgstr "" +"Кортеж рядків із переліком імен полів. Корисно для самоаналізу та для " +"створення нових іменованих типів кортежів із існуючих іменованих кортежів." + +msgid "Dictionary mapping field names to default values." +msgstr "Словник зіставляє назви полів зі значеннями за замовчуванням." + +msgid "" +"To retrieve a field whose name is stored in a string, use the :func:" +"`getattr` function:" +msgstr "" +"Щоб отримати поле, ім’я якого зберігається в рядку, використовуйте функцію :" +"func:`getattr`:" + +msgid "" +"To convert a dictionary to a named tuple, use the double-star-operator (as " +"described in :ref:`tut-unpacking-arguments`):" +msgstr "" +"Щоб перетворити словник на іменований кортеж, використовуйте оператор " +"подвійної зірочки (як описано в :ref:`tut-unpacking-arguments`):" + +msgid "" +"Since a named tuple is a regular Python class, it is easy to add or change " +"functionality with a subclass. Here is how to add a calculated field and a " +"fixed-width print format:" +msgstr "" +"Оскільки іменований кортеж є звичайним класом Python, його легко додати або " +"змінити функціональність за допомогою підкласу. Ось як додати обчислюване " +"поле та формат друку з фіксованою шириною:" + +msgid "" +"The subclass shown above sets ``__slots__`` to an empty tuple. This helps " +"keep memory requirements low by preventing the creation of instance " +"dictionaries." +msgstr "" +"Показаний вище підклас встановлює ``__slots__`` на порожній кортеж. Це " +"допомагає підтримувати низькі вимоги до пам’яті, запобігаючи створенню " +"словників примірників." + +msgid "" +"Subclassing is not useful for adding new, stored fields. Instead, simply " +"create a new named tuple type from the :attr:`~somenamedtuple._fields` " +"attribute:" +msgstr "" +"Підкласи не корисні для додавання нових збережених полів. Замість цього " +"просто створіть новий іменований тип кортежу з атрибута :attr:" +"`~somenamedtuple._fields`:" + +msgid "" +"Docstrings can be customized by making direct assignments to the ``__doc__`` " +"fields:" +msgstr "" +"Рядки документів можна налаштувати шляхом прямого призначення полів " +"``__doc__``:" + +msgid "Property docstrings became writeable." +msgstr "Документаційні рядки властивостей стали доступними для запису." + +msgid "" +"See :class:`typing.NamedTuple` for a way to add type hints for named " +"tuples. It also provides an elegant notation using the :keyword:`class` " +"keyword::" +msgstr "" +"Дивіться :class:`typing.NamedTuple`, щоб дізнатися, як додати підказки типу " +"для іменованих кортежів. Він також забезпечує елегантну нотацію за допомогою " +"ключового слова :keyword:`class`::" + +msgid "" +"See :meth:`types.SimpleNamespace` for a mutable namespace based on an " +"underlying dictionary instead of a tuple." +msgstr "" +"Перегляньте :meth:`types.SimpleNamespace` для змінного простору імен, " +"заснованого на базовому словнику замість кортежу." + +msgid "" +"The :mod:`dataclasses` module provides a decorator and functions for " +"automatically adding generated special methods to user-defined classes." +msgstr "" +"Модуль :mod:`dataclasses` надає декоратор і функції для автоматичного " +"додавання згенерованих спеціальних методів до визначених користувачем класів." + +msgid ":class:`OrderedDict` objects" +msgstr ":class:`OrderedDict` об’єкти" + +msgid "" +"Ordered dictionaries are just like regular dictionaries but have some extra " +"capabilities relating to ordering operations. They have become less " +"important now that the built-in :class:`dict` class gained the ability to " +"remember insertion order (this new behavior became guaranteed in Python 3.7)." +msgstr "" +"Упорядковані словники схожі на звичайні словники, але мають деякі додаткові " +"можливості, пов’язані з операціями впорядкування. Тепер вони стали менш " +"важливими, оскільки вбудований клас :class:`dict` отримав можливість " +"запам’ятовувати порядок вставки (ця нова поведінка стала гарантованою в " +"Python 3.7)." + +msgid "Some differences from :class:`dict` still remain:" +msgstr "Деякі відмінності від :class:`dict` все ще залишаються:" + +msgid "" +"The regular :class:`dict` was designed to be very good at mapping " +"operations. Tracking insertion order was secondary." +msgstr "" +"Звичайний :class:`dict` був розроблений, щоб дуже добре виконувати операції " +"відображення. Відстеження порядку вставки було другорядним." + +msgid "" +"The :class:`OrderedDict` was designed to be good at reordering operations. " +"Space efficiency, iteration speed, and the performance of update operations " +"were secondary." +msgstr "" +":class:`OrderedDict` був розроблений, щоб добре справлятися з операціями " +"зміни порядку. Ефективність простору, швидкість ітерації та продуктивність " +"операцій оновлення були другорядними." + +msgid "" +"The :class:`OrderedDict` algorithm can handle frequent reordering operations " +"better than :class:`dict`. As shown in the recipes below, this makes it " +"suitable for implementing various kinds of LRU caches." +msgstr "" +"Алгоритм :class:`OrderedDict` може виконувати часті операції зміни порядку " +"краще, ніж :class:`dict`. Як показано в наведених нижче рецептах, це робить " +"його придатним для реалізації різних видів кешів LRU." + +msgid "" +"The equality operation for :class:`OrderedDict` checks for matching order." +msgstr "" +"Операція рівності для :class:`OrderedDict` перевіряє відповідність порядку." + +msgid "" +"A regular :class:`dict` can emulate the order sensitive equality test with " +"``p == q and all(k1 == k2 for k1, k2 in zip(p, q))``." +msgstr "" +"Звичайний :class:`dict` може емулювати чутливий до порядку тест рівності з " +"``p == q і all(k1 == k2 для k1, k2 в zip(p, q))``." + +msgid "" +"The :meth:`popitem` method of :class:`OrderedDict` has a different " +"signature. It accepts an optional argument to specify which item is popped." +msgstr "" +"Метод :meth:`popitem` :class:`OrderedDict` має інший підпис. Він приймає " +"необов'язковий аргумент, щоб вказати, який елемент витягується." + +msgid "" +"A regular :class:`dict` can emulate OrderedDict's ``od.popitem(last=True)`` " +"with ``d.popitem()`` which is guaranteed to pop the rightmost (last) item." +msgstr "" +"Звичайний :class:`dict` може емулювати OrderedDict ``od.popitem(last=True)`` " +"за допомогою ``d.popitem()``, який гарантовано відкриває крайній правий " +"(останній) елемент." + +msgid "" +"A regular :class:`dict` can emulate OrderedDict's ``od.popitem(last=False)`` " +"with ``(k := next(iter(d)), d.pop(k))`` which will return and remove the " +"leftmost (first) item if it exists." +msgstr "" +"Звичайний :class:`dict` може емулювати OrderedDict ``od." +"popitem(last=False)`` з ``(k := next(iter(d)), d.pop(k))``, який повертатиме " +"і видаліть крайній лівий (перший) елемент, якщо він існує." + +msgid "" +":class:`OrderedDict` has a :meth:`move_to_end` method to efficiently " +"reposition an element to an endpoint." +msgstr "" +":class:`OrderedDict` має метод :meth:`move_to_end` для ефективного " +"переміщення елемента в кінцеву точку." + +msgid "" +"A regular :class:`dict` can emulate OrderedDict's ``od.move_to_end(k, " +"last=True)`` with ``d[k] = d.pop(k)`` which will move the key and its " +"associated value to the rightmost (last) position." +msgstr "" +"Звичайний :class:`dict` може емулювати OrderedDict ``od.move_to_end(k, " +"last=True)`` з ``d[k] = d.pop(k)``, який переміщуватиме ключ і його " +"пов’язане значення до крайньої правої (останньої) позиції." + +msgid "" +"A regular :class:`dict` does not have an efficient equivalent for " +"OrderedDict's ``od.move_to_end(k, last=False)`` which moves the key and its " +"associated value to the leftmost (first) position." +msgstr "" +"Звичайний :class:`dict` не має ефективного еквівалента для OrderedDict ``od." +"move_to_end(k, last=False)``, який переміщує ключ і пов’язане з ним значення " +"в крайню ліву (першу) позицію." + +msgid "Until Python 3.8, :class:`dict` lacked a :meth:`__reversed__` method." +msgstr "До Python 3.8 :class:`dict` не мав методу :meth:`__reversed__`." + +msgid "" +"Return an instance of a :class:`dict` subclass that has methods specialized " +"for rearranging dictionary order." +msgstr "" +"Повертає екземпляр підкласу :class:`dict`, який має спеціалізовані методи " +"для зміни порядку словника." + +msgid "" +"The :meth:`popitem` method for ordered dictionaries returns and removes a " +"(key, value) pair. The pairs are returned in :abbr:`LIFO (last-in, first-" +"out)` order if *last* is true or :abbr:`FIFO (first-in, first-out)` order if " +"false." +msgstr "" +"Метод :meth:`popitem` для впорядкованих словників повертає та видаляє пару " +"(ключ, значення). Пари повертаються в порядку :abbr:`LIFO (останній прийшов, " +"перший вийшов)`, якщо *останній* має значення true, або :abbr:`FIFO (перший " +"прийшов, перший вийшов)`, якщо значення false." + +msgid "" +"Move an existing *key* to either end of an ordered dictionary. The item is " +"moved to the right end if *last* is true (the default) or to the beginning " +"if *last* is false. Raises :exc:`KeyError` if the *key* does not exist:" +msgstr "" +"Перемістіть наявний *ключ* у будь-який кінець упорядкованого словника. " +"Елемент переміщується в правий кінець, якщо *last* має значення true (за " +"замовчуванням), або на початок, якщо *last* має значення false. Викликає :" +"exc:`KeyError`, якщо *ключ* не існує:" + +msgid "" +"In addition to the usual mapping methods, ordered dictionaries also support " +"reverse iteration using :func:`reversed`." +msgstr "" +"На додаток до звичайних методів відображення, упорядковані словники також " +"підтримують зворотну ітерацію за допомогою :func:`reversed`." + +msgid "" +"Equality tests between :class:`OrderedDict` objects are order-sensitive and " +"are implemented as ``list(od1.items())==list(od2.items())``. Equality tests " +"between :class:`OrderedDict` objects and other :class:`~collections.abc." +"Mapping` objects are order-insensitive like regular dictionaries. This " +"allows :class:`OrderedDict` objects to be substituted anywhere a regular " +"dictionary is used." +msgstr "" +"Перевірки рівності між об’єктами :class:`OrderedDict` чутливі до порядку та " +"реалізовані як ``list(od1.items())==list(od2.items())``. Перевірки рівності " +"між об’єктами :class:`OrderedDict` та іншими об’єктами :class:`~collections." +"abc.Mapping` не залежать від порядку, як і звичайні словники. Це дозволяє " +"замінювати об’єкти :class:`OrderedDict` будь-де, де використовується " +"звичайний словник." + +msgid "" +"The items, keys, and values :term:`views ` of :class:" +"`OrderedDict` now support reverse iteration using :func:`reversed`." +msgstr "" +"Елементи, ключі та значення :term:`views ` :class:" +"`OrderedDict` тепер підтримують зворотну ітерацію за допомогою :func:" +"`reversed`." + +msgid "" +"With the acceptance of :pep:`468`, order is retained for keyword arguments " +"passed to the :class:`OrderedDict` constructor and its :meth:`update` method." +msgstr "" +"З прийняттям :pep:`468` зберігається порядок для аргументів ключових слів, " +"які передаються конструктору :class:`OrderedDict` і його методу :meth:" +"`update`." + +msgid ":class:`OrderedDict` Examples and Recipes" +msgstr ":class:`OrderedDict` Приклади та рецепти" + +msgid "" +"It is straightforward to create an ordered dictionary variant that remembers " +"the order the keys were *last* inserted. If a new entry overwrites an " +"existing entry, the original insertion position is changed and moved to the " +"end::" +msgstr "" +"Легко створити впорядкований варіант словника, який запам’ятовує порядок " +"*останнього* введення ключів. Якщо новий запис перезаписує існуючий запис, " +"початкова позиція вставки змінюється та переміщується в кінець::" + +msgid "" +"An :class:`OrderedDict` would also be useful for implementing variants of :" +"func:`functools.lru_cache`:" +msgstr "" +":class:`OrderedDict` також буде корисним для реалізації варіантів :func:" +"`functools.lru_cache`:" + +msgid ":class:`UserDict` objects" +msgstr ":class:`UserDict` об'єкти" + +msgid "" +"The class, :class:`UserDict` acts as a wrapper around dictionary objects. " +"The need for this class has been partially supplanted by the ability to " +"subclass directly from :class:`dict`; however, this class can be easier to " +"work with because the underlying dictionary is accessible as an attribute." +msgstr "" +"Клас :class:`UserDict` діє як оболонка навколо об’єктів словника. Потреба в " +"цьому класі була частково витіснена можливістю створювати підклас " +"безпосередньо з :class:`dict`; однак з цим класом може бути легше працювати, " +"оскільки базовий словник доступний як атрибут." + +msgid "" +"Class that simulates a dictionary. The instance's contents are kept in a " +"regular dictionary, which is accessible via the :attr:`data` attribute of :" +"class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is " +"initialized with its contents; note that a reference to *initialdata* will " +"not be kept, allowing it to be used for other purposes." +msgstr "" +"Клас, який імітує словник. Вміст екземпляра зберігається у звичайному " +"словнику, який доступний через атрибут :attr:`data` екземплярів :class:" +"`UserDict`. Якщо надано *initialdata*, :attr:`data` ініціалізується його " +"вмістом; зауважте, що посилання на *ініціальні дані* не буде збережено, що " +"дозволить використовувати його для інших цілей." + +msgid "" +"In addition to supporting the methods and operations of mappings, :class:" +"`UserDict` instances provide the following attribute:" +msgstr "" +"На додаток до підтримки методів і операцій зіставлення, екземпляри :class:" +"`UserDict` забезпечують такий атрибут:" + +msgid "" +"A real dictionary used to store the contents of the :class:`UserDict` class." +msgstr "" +"Справжній словник, який використовується для зберігання вмісту класу :class:" +"`UserDict`." + +msgid ":class:`UserList` objects" +msgstr ":class:`UserList` об’єкти" + +msgid "" +"This class acts as a wrapper around list objects. It is a useful base class " +"for your own list-like classes which can inherit from them and override " +"existing methods or add new ones. In this way, one can add new behaviors to " +"lists." +msgstr "" +"Цей клас діє як оболонка навколо об’єктів списку. Це корисний базовий клас " +"для ваших власних спископодібних класів, які можуть успадковувати їх і " +"перевизначати існуючі методи або додавати нові. Таким чином можна додавати " +"нові моделі поведінки до списків." + +msgid "" +"The need for this class has been partially supplanted by the ability to " +"subclass directly from :class:`list`; however, this class can be easier to " +"work with because the underlying list is accessible as an attribute." +msgstr "" +"Потреба в цьому класі була частково витіснена можливістю створювати підкласи " +"безпосередньо з :class:`list`; однак з цим класом може бути легше працювати, " +"оскільки базовий список доступний як атрибут." + +msgid "" +"Class that simulates a list. The instance's contents are kept in a regular " +"list, which is accessible via the :attr:`data` attribute of :class:" +"`UserList` instances. The instance's contents are initially set to a copy " +"of *list*, defaulting to the empty list ``[]``. *list* can be any iterable, " +"for example a real Python list or a :class:`UserList` object." +msgstr "" +"Клас, що імітує список. Вміст екземпляра зберігається у звичайному списку, " +"який доступний через атрибут :attr:`data` екземплярів :class:`UserList`. " +"Вміст екземпляра спочатку встановлено як копія *списку*, за замовчуванням — " +"порожній список ``[]``. *list* може бути будь-яким ітерованим, наприклад " +"справжнім списком Python або об’єктом :class:`UserList`." + +msgid "" +"In addition to supporting the methods and operations of mutable sequences, :" +"class:`UserList` instances provide the following attribute:" +msgstr "" +"На додаток до підтримки методів і операцій змінних послідовностей, " +"екземпляри :class:`UserList` забезпечують такий атрибут:" + +msgid "" +"A real :class:`list` object used to store the contents of the :class:" +"`UserList` class." +msgstr "" +"Справжній об’єкт :class:`list`, який використовується для зберігання вмісту " +"класу :class:`UserList`." + +msgid "" +"**Subclassing requirements:** Subclasses of :class:`UserList` are expected " +"to offer a constructor which can be called with either no arguments or one " +"argument. List operations which return a new sequence attempt to create an " +"instance of the actual implementation class. To do so, it assumes that the " +"constructor can be called with a single parameter, which is a sequence " +"object used as a data source." +msgstr "" +"**Вимоги до підкласів:** Очікується, що підкласи :class:`UserList` " +"пропонуватимуть конструктор, який можна викликати без аргументів або з одним " +"аргументом. Список операцій, які повертають нову послідовність, намагається " +"створити екземпляр фактичного класу реалізації. Для цього передбачається, що " +"конструктор можна викликати за допомогою одного параметра, який є об’єктом " +"послідовності, що використовується як джерело даних." + +msgid "" +"If a derived class does not wish to comply with this requirement, all of the " +"special methods supported by this class will need to be overridden; please " +"consult the sources for information about the methods which need to be " +"provided in that case." +msgstr "" +"Якщо похідний клас не бажає відповідати цій вимозі, всі спеціальні методи, " +"підтримувані цим класом, повинні бути перевизначені; будь ласка, зверніться " +"до джерел для отримання інформації про методи, які необхідно надати в такому " +"випадку." + +msgid ":class:`UserString` objects" +msgstr ":class:`UserString` об’єкти" + +msgid "" +"The class, :class:`UserString` acts as a wrapper around string objects. The " +"need for this class has been partially supplanted by the ability to subclass " +"directly from :class:`str`; however, this class can be easier to work with " +"because the underlying string is accessible as an attribute." +msgstr "" +"Клас :class:`UserString` діє як оболонка навколо рядкових об’єктів. Потреба " +"в цьому класі була частково витіснена можливістю створювати підклас " +"безпосередньо з :class:`str`; однак з цим класом може бути легше працювати, " +"оскільки базовий рядок доступний як атрибут." + +msgid "" +"Class that simulates a string object. The instance's content is kept in a " +"regular string object, which is accessible via the :attr:`data` attribute " +"of :class:`UserString` instances. The instance's contents are initially set " +"to a copy of *seq*. The *seq* argument can be any object which can be " +"converted into a string using the built-in :func:`str` function." +msgstr "" +"Клас, який імітує рядковий об'єкт. Вміст екземпляра зберігається у " +"звичайному рядковому об’єкті, який доступний через атрибут :attr:`data` " +"екземплярів :class:`UserString`. Для вмісту екземпляра спочатку встановлено " +"копію *seq*. Аргументом *seq* може бути будь-який об’єкт, який можна " +"перетворити на рядок за допомогою вбудованої функції :func:`str`." + +msgid "" +"In addition to supporting the methods and operations of strings, :class:" +"`UserString` instances provide the following attribute:" +msgstr "" +"На додаток до підтримки методів і операцій із рядками, екземпляри :class:" +"`UserString` надають такий атрибут:" + +msgid "" +"A real :class:`str` object used to store the contents of the :class:" +"`UserString` class." +msgstr "" +"Справжній об’єкт :class:`str`, який використовується для зберігання вмісту " +"класу :class:`UserString`." + +msgid "" +"New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " +"``isprintable``, and ``maketrans``." +msgstr "" +"Нові методи ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " +"``isprintable`` і ``maketrans``." diff --git a/library/collections_abc.po b/library/collections_abc.po new file mode 100644 index 000000000..fc4c0babc --- /dev/null +++ b/library/collections_abc.po @@ -0,0 +1,627 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:56+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`collections.abc` --- Abstract Base Classes for Containers" +msgstr ":mod:`collections.abc` --- Абстрактні базові класи для контейнерів" + +msgid "Formerly, this module was part of the :mod:`collections` module." +msgstr "Раніше цей модуль був частиною модуля :mod:`collections`." + +msgid "**Source code:** :source:`Lib/_collections_abc.py`" +msgstr "**Вихідний код:** :source:`Lib/_collections_abc.py`" + +msgid "" +"This module provides :term:`abstract base classes ` " +"that can be used to test whether a class provides a particular interface; " +"for example, whether it is hashable or whether it is a mapping." +msgstr "" +"Цей модуль надає :term:`абстрактні базові класи `, які " +"можна використовувати, щоб перевірити, чи надає клас певний інтерфейс; " +"наприклад, чи є він хешованим, чи це відображення." + +msgid "" +"An :func:`issubclass` or :func:`isinstance` test for an interface works in " +"one of three ways." +msgstr "" +"Тест :func:`issubclass` або :func:`isinstance` для інтерфейсу працює одним " +"із трьох способів." + +msgid "" +"1) A newly written class can inherit directly from one of the abstract base " +"classes. The class must supply the required abstract methods. The " +"remaining mixin methods come from inheritance and can be overridden if " +"desired. Other methods may be added as needed:" +msgstr "" +"1) Щойно написаний клас може успадкувати безпосередньо від одного з " +"абстрактних базових класів. Клас повинен надавати необхідні абстрактні " +"методи. Решта методів mixin походять із успадкування та можуть бути замінені " +"за бажанням. За потреби можна додати інші методи:" + +msgid "" +"2) Existing classes and built-in classes can be registered as \"virtual " +"subclasses\" of the ABCs. Those classes should define the full API " +"including all of the abstract methods and all of the mixin methods. This " +"lets users rely on :func:`issubclass` or :func:`isinstance` tests to " +"determine whether the full interface is supported. The exception to this " +"rule is for methods that are automatically inferred from the rest of the API:" +msgstr "" +"2) Існуючі класи та вбудовані класи можуть бути зареєстровані як " +"\"віртуальні підкласи\" ABC. Ці класи повинні визначати повний API, " +"включаючи всі абстрактні методи та всі методи mixin. Це дозволяє " +"користувачам покладатися на тести :func:`issubclass` або :func:`isinstance`, " +"щоб визначити, чи підтримується повний інтерфейс. Винятком із цього правила " +"є методи, які автоматично виводяться з решти API:" + +msgid "" +"In this example, class :class:`D` does not need to define ``__contains__``, " +"``__iter__``, and ``__reversed__`` because the :ref:`in-operator " +"`, the :term:`iteration ` logic, and the :func:" +"`reversed` function automatically fall back to using ``__getitem__`` and " +"``__len__``." +msgstr "" +"У цьому прикладі класу :class:`D` не потрібно визначати ``__contains__``, " +"``__iter__`` і ``__reversed__``, оскільки :ref:`внутрішній оператор " +"`, :term:`ітерація ` логіка, а функція :func:" +"`reversed` автоматично повертається до використання ``__getitem__`` і " +"``__len__``." + +msgid "" +"3) Some simple interfaces are directly recognizable by the presence of the " +"required methods (unless those methods have been set to :const:`None`):" +msgstr "" +"3) Деякі прості інтерфейси можна безпосередньо розпізнати за наявністю " +"необхідних методів (якщо для цих методів не встановлено значення :const:" +"`None`):" + +msgid "" +"Complex interfaces do not support this last technique because an interface " +"is more than just the presence of method names. Interfaces specify " +"semantics and relationships between methods that cannot be inferred solely " +"from the presence of specific method names. For example, knowing that a " +"class supplies ``__getitem__``, ``__len__``, and ``__iter__`` is " +"insufficient for distinguishing a :class:`Sequence` from a :class:`Mapping`." +msgstr "" +"Складні інтерфейси не підтримують цю останню техніку, оскільки інтерфейс — " +"це більше, ніж просто наявність назв методів. Інтерфейси визначають " +"семантику та зв’язки між методами, які не можуть бути виведені лише з " +"наявності конкретних імен методів. Наприклад, відомості про те, що клас " +"надає ``__getitem__``, ``__len__`` і ``__iter__``, недостатньо для того, щоб " +"відрізнити :class:`Sequence` від :class:`Mapping`." + +msgid "" +"These abstract classes now support ``[]``. See :ref:`types-genericalias` " +"and :pep:`585`." +msgstr "" +"Ці абстрактні класи тепер підтримують ``[]``. Див. :ref:`types-genericalias` " +"і :pep:`585`." + +msgid "Collections Abstract Base Classes" +msgstr "Колекції Абстрактні базові класи" + +msgid "" +"The collections module offers the following :term:`ABCs `:" +msgstr "Модуль колекцій пропонує наступне :term:`ABCs `:" + +msgid "ABC" +msgstr "ABC" + +msgid "Inherits from" +msgstr "Успадковує від" + +msgid "Abstract Methods" +msgstr "Методи реферату" + +msgid "Mixin Methods" +msgstr "Методи Міксіна" + +msgid ":class:`Container` [1]_" +msgstr ":class:`Container` [1]_" + +msgid "``__contains__``" +msgstr "``__contains__``" + +msgid ":class:`Hashable` [1]_" +msgstr ":class:`Hashable` [1]_" + +msgid "``__hash__``" +msgstr "``__hash__``" + +msgid ":class:`Iterable` [1]_ [2]_" +msgstr ":class:`Iterable` [1]_ [2]_" + +msgid "``__iter__``" +msgstr "``__iter__``" + +msgid ":class:`Iterator` [1]_" +msgstr ":class:`Iterator` [1]_" + +msgid ":class:`Iterable`" +msgstr ":class:`Iterable`" + +msgid "``__next__``" +msgstr "``__next__``" + +msgid ":class:`Reversible` [1]_" +msgstr ":class:`Reversible` [1]_" + +msgid "``__reversed__``" +msgstr "``__reversed__``" + +msgid ":class:`Generator` [1]_" +msgstr ":class:`Generator` [1]_" + +msgid ":class:`Iterator`" +msgstr ":class:`Iterator`" + +msgid "``send``, ``throw``" +msgstr "``відправити``, ``кинути``" + +msgid "``close``, ``__iter__``, ``__next__``" +msgstr "``закрити``, ``__iter__``, ``__next__``" + +msgid ":class:`Sized` [1]_" +msgstr ":class:`Sized` [1]_" + +msgid "``__len__``" +msgstr "``__len__``" + +msgid ":class:`Callable` [1]_" +msgstr ":class:`Callable` [1]_" + +msgid "``__call__``" +msgstr "``__call__``" + +msgid ":class:`Collection` [1]_" +msgstr ":class:`Collection` [1]_" + +msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`" +msgstr ":class:`Sized`, :class:`Iterable`, :class:`Container`" + +msgid "``__contains__``, ``__iter__``, ``__len__``" +msgstr "``__contains__``, ``__iter__``, ``__len__``" + +msgid ":class:`Sequence`" +msgstr ":class:`Sequence`" + +msgid ":class:`Reversible`, :class:`Collection`" +msgstr ":class:`Reversible`, :class:`Collection`" + +msgid "``__getitem__``, ``__len__``" +msgstr "``__getitem__``, ``__len__``" + +msgid "" +"``__contains__``, ``__iter__``, ``__reversed__``, ``index``, and ``count``" +msgstr "" +"``__contains__``, ``__iter__``, ``__reversed__``, ``index`` і ``count``" + +msgid ":class:`MutableSequence`" +msgstr ":class:`MutableSequence`" + +msgid "" +"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" +msgstr "" +"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``вставити``" + +msgid "" +"Inherited :class:`Sequence` methods and ``append``, ``reverse``, ``extend``, " +"``pop``, ``remove``, and ``__iadd__``" +msgstr "" +"Успадковані методи :class:`Sequence` і ``append``, ``reverse``, ``extend``, " +"``pop``, ``remove`` і ``__iadd__``" + +msgid ":class:`ByteString`" +msgstr ":class:`ByteString`" + +msgid "Inherited :class:`Sequence` methods" +msgstr "Успадковані методи :class:`Sequence`" + +msgid ":class:`Set`" +msgstr ":class:`Set`" + +msgid ":class:`Collection`" +msgstr ":class:`Collection`" + +msgid "" +"``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " +"``__and__``, ``__or__``, ``__sub__``, ``__xor__``, and ``isdisjoint``" +msgstr "" +"``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " +"``__and__``, ``__or__``, ``__sub__``, ``__xor__`` і ``isdisjoint``" + +msgid ":class:`MutableSet`" +msgstr ":class:`MutableSet`" + +msgid "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" +msgstr "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" + +msgid "" +"Inherited :class:`Set` methods and ``clear``, ``pop``, ``remove``, " +"``__ior__``, ``__iand__``, ``__ixor__``, and ``__isub__``" +msgstr "" +"Успадковані методи :class:`Set` і ``clear``, ``pop``, ``remove``, " +"``__ior__``, ``__iand__``, ``__ixor__`` та ``__isub__``" + +msgid ":class:`Mapping`" +msgstr ":class:`Mapping`" + +msgid "``__getitem__``, ``__iter__``, ``__len__``" +msgstr "``__getitem__``, ``__iter__``, ``__len__``" + +msgid "" +"``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, and " +"``__ne__``" +msgstr "" +"``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__`` і " +"``__ne__``" + +msgid ":class:`MutableMapping`" +msgstr ":class:`MutableMapping`" + +msgid "" +"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" +msgstr "" +"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" + +msgid "" +"Inherited :class:`Mapping` methods and ``pop``, ``popitem``, ``clear``, " +"``update``, and ``setdefault``" +msgstr "" +"Успадковані методи :class:`Mapping` і ``pop``, ``popitem``, ``clear``, " +"``update`` і ``setdefault``" + +msgid ":class:`MappingView`" +msgstr ":class:`MappingView`" + +msgid ":class:`Sized`" +msgstr ":class:`Sized`" + +msgid ":class:`ItemsView`" +msgstr ":class:`ItemsView`" + +msgid ":class:`MappingView`, :class:`Set`" +msgstr ":class:`MappingView`, :class:`Set`" + +msgid "``__contains__``, ``__iter__``" +msgstr "``__contains__``, ``__iter__``" + +msgid ":class:`KeysView`" +msgstr ":class:`KeysView`" + +msgid ":class:`ValuesView`" +msgstr ":class:`ValuesView`" + +msgid ":class:`MappingView`, :class:`Collection`" +msgstr ":class:`MappingView`, :class:`Collection`" + +msgid ":class:`Awaitable` [1]_" +msgstr ":class:`Awaitable` [1]_" + +msgid "``__await__``" +msgstr "``__await__``" + +msgid ":class:`Coroutine` [1]_" +msgstr ":class:`Coroutine` [1]_" + +msgid ":class:`Awaitable`" +msgstr ":class:`Awaitable`" + +msgid "``close``" +msgstr "``закрити``" + +msgid ":class:`AsyncIterable` [1]_" +msgstr ":class:`AsyncIterable` [1]_" + +msgid "``__aiter__``" +msgstr "``__aiter__``" + +msgid ":class:`AsyncIterator` [1]_" +msgstr ":class:`AsyncIterator` [1]_" + +msgid ":class:`AsyncIterable`" +msgstr ":class:`AsyncIterable`" + +msgid "``__anext__``" +msgstr "``__anext__``" + +msgid ":class:`AsyncGenerator` [1]_" +msgstr ":class:`AsyncGenerator` [1]_" + +msgid ":class:`AsyncIterator`" +msgstr ":class:`AsyncIterator`" + +msgid "``asend``, ``athrow``" +msgstr "``asend``, ``athrow``" + +msgid "``aclose``, ``__aiter__``, ``__anext__``" +msgstr "``aclose``, ``__aiter__``, ``__anext__``" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"These ABCs override :meth:`object.__subclasshook__` to support testing an " +"interface by verifying the required methods are present and have not been " +"set to :const:`None`. This only works for simple interfaces. More complex " +"interfaces require registration or direct subclassing." +msgstr "" +"Ці ABC замінюють :meth:`object.__subclasshook__` для підтримки тестування " +"інтерфейсу шляхом перевірки наявності необхідних методів і не встановлено " +"значення :const:`None`. Це працює лише для простих інтерфейсів. Більш " +"складні інтерфейси вимагають реєстрації або прямого створення підкласів." + +msgid "" +"Checking ``isinstance(obj, Iterable)`` detects classes that are registered " +"as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " +"not detect classes that iterate with the :meth:`__getitem__` method. The " +"only reliable way to determine whether an object is :term:`iterable` is to " +"call ``iter(obj)``." +msgstr "" +"Перевірка ``isinstance(obj, Iterable)`` виявляє класи, які зареєстровані як :" +"class:`Iterable` або які мають метод :meth:`__iter__`, але не виявляє класи, " +"які виконують ітерацію з :meth:`__getitem__` метод. Єдиний надійний спосіб " +"визначити, чи є об’єкт :term:`iterable`, це викликати ``iter(obj)``." + +msgid "Collections Abstract Base Classes -- Detailed Descriptions" +msgstr "Колекції абстрактних базових класів -- докладні описи" + +msgid "ABC for classes that provide the :meth:`__contains__` method." +msgstr "ABC для класів, які забезпечують метод :meth:`__contains__`." + +msgid "ABC for classes that provide the :meth:`__hash__` method." +msgstr "ABC для класів, які забезпечують метод :meth:`__hash__`." + +msgid "ABC for classes that provide the :meth:`__len__` method." +msgstr "ABC для класів, які забезпечують метод :meth:`__len__`." + +msgid "ABC for classes that provide the :meth:`__call__` method." +msgstr "ABC для класів, які забезпечують метод :meth:`__call__`." + +msgid "ABC for classes that provide the :meth:`__iter__` method." +msgstr "ABC для класів, які забезпечують метод :meth:`__iter__`." + +msgid "" +"Checking ``isinstance(obj, Iterable)`` detects classes that are registered " +"as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " +"not detect classes that iterate with the :meth:`__getitem__` method. The " +"only reliable way to determine whether an object is :term:`iterable` is to " +"call ``iter(obj)``." +msgstr "" +"Перевірка ``isinstance(obj, Iterable)`` виявляє класи, які зареєстровані як :" +"class:`Iterable` або які мають метод :meth:`__iter__`, але не виявляє класи, " +"які виконують ітерацію з :meth:`__getitem__` метод. Єдиний надійний спосіб " +"визначити, чи є об’єкт :term:`iterable`, це викликати ``iter(obj)``." + +msgid "ABC for sized iterable container classes." +msgstr "ABC для класів ітерованих контейнерів розміру." + +msgid "" +"ABC for classes that provide the :meth:`~iterator.__iter__` and :meth:" +"`~iterator.__next__` methods. See also the definition of :term:`iterator`." +msgstr "" +"ABC для класів, які забезпечують методи :meth:`~iterator.__iter__` і :meth:" +"`~iterator.__next__`. Дивіться також визначення :term:`iterator`." + +msgid "" +"ABC for iterable classes that also provide the :meth:`__reversed__` method." +msgstr "" +"ABC для ітерованих класів, які також забезпечують метод :meth:`__reversed__`." + +msgid "" +"ABC for generator classes that implement the protocol defined in :pep:`342` " +"that extends iterators with the :meth:`~generator.send`, :meth:`~generator." +"throw` and :meth:`~generator.close` methods. See also the definition of :" +"term:`generator`." +msgstr "" +"ABC для класів генераторів, які реалізують протокол, визначений у :pep:" +"`342`, який розширює ітератори за допомогою :meth:`~generator.send`, :meth:" +"`~generator.throw` і :meth:`~generator.close` методи. Дивіться також " +"визначення :term:`generator`." + +msgid "ABCs for read-only and mutable :term:`sequences `." +msgstr "" +"Азбука для доступних лише для читання та змінних :term:`послідовностей " +"`." + +msgid "" +"Implementation note: Some of the mixin methods, such as :meth:`__iter__`, :" +"meth:`__reversed__` and :meth:`index`, make repeated calls to the " +"underlying :meth:`__getitem__` method. Consequently, if :meth:`__getitem__` " +"is implemented with constant access speed, the mixin methods will have " +"linear performance; however, if the underlying method is linear (as it would " +"be with a linked list), the mixins will have quadratic performance and will " +"likely need to be overridden." +msgstr "" +"Примітка щодо реалізації: деякі методи mixin, такі як :meth:`__iter__`, :" +"meth:`__reversed__` і :meth:`index`, здійснюють повторні виклики основного " +"методу :meth:`__getitem__`. Отже, якщо :meth:`__getitem__` реалізовано з " +"постійною швидкістю доступу, методи mixin матимуть лінійну продуктивність; " +"однак, якщо основний метод є лінійним (як це було б зі зв’язаним списком), " +"міксини матимуть квадратичну продуктивність і, ймовірно, їх потрібно буде " +"перевизначити." + +msgid "The index() method added support for *stop* and *start* arguments." +msgstr "Метод index() додав підтримку аргументів *stop* і *start*." + +msgid "ABCs for read-only and mutable sets." +msgstr "Азбука для доступних лише для читання та змінних наборів." + +msgid "ABCs for read-only and mutable :term:`mappings `." +msgstr "Азбука лише для читання та змінних :term:`відображення `." + +msgid "" +"ABCs for mapping, items, keys, and values :term:`views `." +msgstr "" +"Азбука зіставлення, елементів, ключів і значень :term:`views `." + +msgid "" +"ABC for :term:`awaitable` objects, which can be used in :keyword:`await` " +"expressions. Custom implementations must provide the :meth:`__await__` " +"method." +msgstr "" +"ABC для об’єктів :term:`awaitable`, які можна використовувати у виразах :" +"keyword:`await`. Спеціальні реалізації повинні надавати метод :meth:" +"`__await__`." + +msgid "" +":term:`Coroutine ` objects and instances of the :class:" +"`~collections.abc.Coroutine` ABC are all instances of this ABC." +msgstr "" +":term:`Coroutine ` об’єкти та екземпляри :class:`~collections.abc." +"Coroutine` ABC є екземплярами цього ABC." + +msgid "" +"In CPython, generator-based coroutines (generators decorated with :func:" +"`types.coroutine`) are *awaitables*, even though they do not have an :meth:" +"`__await__` method. Using ``isinstance(gencoro, Awaitable)`` for them will " +"return ``False``. Use :func:`inspect.isawaitable` to detect them." +msgstr "" + +msgid "" +"ABC for coroutine compatible classes. These implement the following " +"methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:" +"`~coroutine.throw`, and :meth:`~coroutine.close`. Custom implementations " +"must also implement :meth:`__await__`. All :class:`Coroutine` instances are " +"also instances of :class:`Awaitable`. See also the definition of :term:" +"`coroutine`." +msgstr "" +"ABC для співпрограм сумісних класів. Вони реалізують такі методи, визначені " +"в :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:`~coroutine." +"throw` і :meth:`~coroutine.close`. Спеціальні реалізації також мають " +"реалізовувати :meth:`__await__`. Усі екземпляри :class:`Coroutine` також є " +"екземплярами :class:`Awaitable`. Дивіться також визначення :term:`coroutine`." + +msgid "" +"In CPython, generator-based coroutines (generators decorated with :func:" +"`types.coroutine`) are *awaitables*, even though they do not have an :meth:" +"`__await__` method. Using ``isinstance(gencoro, Coroutine)`` for them will " +"return ``False``. Use :func:`inspect.isawaitable` to detect them." +msgstr "" + +msgid "" +"ABC for classes that provide ``__aiter__`` method. See also the definition " +"of :term:`asynchronous iterable`." +msgstr "" +"ABC для класів, які забезпечують метод ``__aiter__``. Дивіться також " +"визначення :term:`asynchronous iterable`." + +msgid "" +"ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See " +"also the definition of :term:`asynchronous iterator`." +msgstr "" +"ABC для класів, які надають методи ``__aiter__`` і ``__anext__``. Дивіться " +"також визначення :term:`asynchronous iterator`." + +msgid "" +"ABC for asynchronous generator classes that implement the protocol defined " +"in :pep:`525` and :pep:`492`." +msgstr "" +"ABC для класів асинхронних генераторів, які реалізують протокол, визначений " +"у :pep:`525` і :pep:`492`." + +msgid "Examples and Recipes" +msgstr "Приклади та рецепти" + +msgid "" +"ABCs allow us to ask classes or instances if they provide particular " +"functionality, for example::" +msgstr "" +"ABC дозволяє нам запитувати класи чи екземпляри, чи надають вони певну " +"функціональність, наприклад:" + +msgid "" +"Several of the ABCs are also useful as mixins that make it easier to develop " +"classes supporting container APIs. For example, to write a class supporting " +"the full :class:`Set` API, it is only necessary to supply the three " +"underlying abstract methods: :meth:`__contains__`, :meth:`__iter__`, and :" +"meth:`__len__`. The ABC supplies the remaining methods such as :meth:" +"`__and__` and :meth:`isdisjoint`::" +msgstr "" +"Деякі з ABC також корисні як міксини, які спрощують розробку класів, що " +"підтримують контейнерні API. Наприклад, щоб написати клас, який підтримує " +"повний API :class:`Set`, необхідно лише надати три основні абстрактні " +"методи: :meth:`__contains__`, :meth:`__iter__` і :meth:`__len__`. ABC надає " +"інші методи, такі як :meth:`__and__` і :meth:`isdisjoint`::" + +msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:" +msgstr "" +"Примітки щодо використання :class:`Set` і :class:`MutableSet` як міксину:" + +msgid "" +"Since some set operations create new sets, the default mixin methods need a " +"way to create new instances from an iterable. The class constructor is " +"assumed to have a signature in the form ``ClassName(iterable)``. That " +"assumption is factored-out to an internal classmethod called :meth:" +"`_from_iterable` which calls ``cls(iterable)`` to produce a new set. If the :" +"class:`Set` mixin is being used in a class with a different constructor " +"signature, you will need to override :meth:`_from_iterable` with a " +"classmethod or regular method that can construct new instances from an " +"iterable argument." +msgstr "" +"Оскільки деякі операції з наборами створюють нові набори, стандартні методи " +"mixin потребують способу створення нових екземплярів із ітерованого. " +"Передбачається, що конструктор класу має підпис у формі " +"``ClassName(iterable)``. Це припущення віднесено до внутрішнього методу " +"класу під назвою :meth:`_from_iterable`, який викликає ``cls(iterable)`` для " +"створення нового набору. Якщо міксин :class:`Set` використовується в класі з " +"іншою сигнатурою конструктора, вам потрібно буде замінити :meth:" +"`_from_iterable` методом класу або звичайним методом, який може створювати " +"нові екземпляри з ітерованого аргументу." + +msgid "" +"To override the comparisons (presumably for speed, as the semantics are " +"fixed), redefine :meth:`__le__` and :meth:`__ge__`, then the other " +"operations will automatically follow suit." +msgstr "" +"Щоб перевизначити порівняння (мабуть, для швидкості, оскільки семантика " +"фіксована), перевизначте :meth:`__le__` і :meth:`__ge__`, тоді інші операції " +"автоматично наслідуватимуть цей приклад." + +msgid "" +"The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash " +"value for the set; however, :meth:`__hash__` is not defined because not all " +"sets are hashable or immutable. To add set hashability using mixins, " +"inherit from both :meth:`Set` and :meth:`Hashable`, then define ``__hash__ = " +"Set._hash``." +msgstr "" +"Міксин :class:`Set` надає метод :meth:`_hash` для обчислення хеш-значення " +"для набору; однак :meth:`__hash__` не визначено, тому що не всі набори " +"хешуються або незмінні. Щоб додати хешованість набору за допомогою міксинів, " +"успадкуйте від обох :meth:`Set` і :meth:`Hashable`, а потім визначте " +"``__hash__ = Set._hash``." + +msgid "" +"`OrderedSet recipe `_ for an " +"example built on :class:`MutableSet`." +msgstr "" +"`Рецепт OrderedSet `_ для " +"прикладу, побудованого на :class:`MutableSet`." + +msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`." +msgstr "" +"Щоб дізнатися більше про ABC, перегляньте модуль :mod:`abc` і :pep:`3119`." diff --git a/library/colorsys.po b/library/colorsys.po new file mode 100644 index 000000000..71d47d3c3 --- /dev/null +++ b/library/colorsys.po @@ -0,0 +1,82 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`colorsys` --- Conversions between color systems" +msgstr ":mod:`colorsys` --- Перетворення між системами кольорів" + +msgid "**Source code:** :source:`Lib/colorsys.py`" +msgstr "**Вихідний код:** :source:`Lib/colorsys.py`" + +msgid "" +"The :mod:`colorsys` module defines bidirectional conversions of color values " +"between colors expressed in the RGB (Red Green Blue) color space used in " +"computer monitors and three other coordinate systems: YIQ, HLS (Hue " +"Lightness Saturation) and HSV (Hue Saturation Value). Coordinates in all of " +"these color spaces are floating point values. In the YIQ space, the Y " +"coordinate is between 0 and 1, but the I and Q coordinates can be positive " +"or negative. In all other spaces, the coordinates are all between 0 and 1." +msgstr "" +"Модуль :mod:`colorsys` визначає двонаправлене перетворення значень кольорів " +"між кольорами, вираженими в колірному просторі RGB (Red Green Blue), який " +"використовується в комп’ютерних моніторах, і трьох інших системах координат: " +"YIQ, HLS (Hue Lightness Saturation) і HSV (Hue Saturation). Значення). " +"Координати в усіх цих просторах кольорів є значеннями з плаваючою комою. У " +"просторі YIQ координата Y знаходиться між 0 і 1, але координати I і Q можуть " +"бути позитивними або негативними. У всіх інших просторах координати " +"знаходяться між 0 і 1." + +msgid "" +"More information about color spaces can be found at https://poynton.ca/" +"ColorFAQ.html and https://www.cambridgeincolour.com/tutorials/color-spaces." +"htm." +msgstr "" +"Більше інформації про колірні простори можна знайти на https://poynton.ca/" +"ColorFAQ.html і https://www.cambridgeincolour.com/tutorials/color-spaces.htm." + +msgid "The :mod:`colorsys` module defines the following functions:" +msgstr "Модуль :mod:`colorsys` визначає такі функції:" + +msgid "Convert the color from RGB coordinates to YIQ coordinates." +msgstr "Перетворення кольору з координат RGB на координати YIQ." + +msgid "Convert the color from YIQ coordinates to RGB coordinates." +msgstr "Перетворення кольору з координат YIQ на координати RGB." + +msgid "Convert the color from RGB coordinates to HLS coordinates." +msgstr "Перетворення кольору з координат RGB на координати HLS." + +msgid "Convert the color from HLS coordinates to RGB coordinates." +msgstr "Перетворення кольору з координат HLS на координати RGB." + +msgid "Convert the color from RGB coordinates to HSV coordinates." +msgstr "Перетворення кольору з координат RGB на координати HSV." + +msgid "Convert the color from HSV coordinates to RGB coordinates." +msgstr "Перетворення кольору з координат HSV на координати RGB." + +msgid "Example::" +msgstr "Приклад::" diff --git a/library/compileall.po b/library/compileall.po new file mode 100644 index 000000000..26aa91d6e --- /dev/null +++ b/library/compileall.po @@ -0,0 +1,481 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`compileall` --- Byte-compile Python libraries" +msgstr ":mod:`compileall` --- байтова компіляція бібліотек Python" + +msgid "**Source code:** :source:`Lib/compileall.py`" +msgstr "**Вихідний код:** :source:`Lib/compileall.py`" + +msgid "" +"This module provides some utility functions to support installing Python " +"libraries. These functions compile Python source files in a directory tree. " +"This module can be used to create the cached byte-code files at library " +"installation time, which makes them available for use even by users who " +"don't have write permission to the library directories." +msgstr "" +"Цей модуль надає деякі службові функції для підтримки встановлення бібліотек " +"Python. Ці функції компілюють вихідні файли Python у дереві каталогів. Цей " +"модуль можна використовувати для створення кешованих файлів байт-коду під " +"час встановлення бібліотеки, що робить їх доступними для використання навіть " +"користувачами, які не мають дозволу на запис до каталогів бібліотеки." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Command-line use" +msgstr "Використання командного рядка" + +msgid "" +"This module can work as a script (using :program:`python -m compileall`) to " +"compile Python sources." +msgstr "" +"Цей модуль може працювати як сценарій (за допомогою :program:`python -m " +"compileall`) для компіляції вихідних кодів Python." + +msgid "" +"Positional arguments are files to compile or directories that contain source " +"files, traversed recursively. If no argument is given, behave as if the " +"command line was ``-l ``." +msgstr "" +"Позиційні аргументи — це файли для компіляції або каталоги, що містять " +"вихідні файли, які проходять рекурсивно. Якщо аргумент не надано, діяти так, " +"ніби командний рядок був ``-l ``." + +msgid "" +"Do not recurse into subdirectories, only compile source code files directly " +"contained in the named or implied directories." +msgstr "" +"Не повертайтеся до підкаталогів, лише компілюйте файли вихідного коду, які " +"безпосередньо містяться в названих або неявних каталогах." + +msgid "Force rebuild even if timestamps are up-to-date." +msgstr "Примусове відновлення, навіть якщо мітки часу актуальні." + +msgid "" +"Do not print the list of files compiled. If passed once, error messages will " +"still be printed. If passed twice (``-qq``), all output is suppressed." +msgstr "" +"Не друкуйте список зібраних файлів. Якщо передати один раз, повідомлення про " +"помилку все одно друкуватимуться. Якщо передати двічі (``-qq``), весь вивід " +"пригнічується." + +msgid "" +"Directory prepended to the path to each file being compiled. This will " +"appear in compilation time tracebacks, and is also compiled in to the byte-" +"code file, where it will be used in tracebacks and other messages in cases " +"where the source file does not exist at the time the byte-code file is " +"executed." +msgstr "" +"Каталог додається до шляху до кожного файлу, що компілюється. Це " +"відображатиметься у відстеженнях під час компіляції, а також буде " +"скомпільовано у файл байт-коду, де воно використовуватиметься у відстеженнях " +"та інших повідомленнях у випадках, коли вихідний файл не існує під час " +"виконання файлу байт-коду." + +msgid "" +"Remove (``-s``) or append (``-p``) the given prefix of paths recorded in the " +"``.pyc`` files. Cannot be combined with ``-d``." +msgstr "" +"Видаліть (``-s``) або додайте (``-p``) заданий префікс шляхів, записаних у " +"файлах ``.pyc``. Не можна поєднувати з ``-d``." + +msgid "" +"regex is used to search the full path to each file considered for " +"compilation, and if the regex produces a match, the file is skipped." +msgstr "" +"регулярний вираз використовується для пошуку повного шляху до кожного файлу, " +"який розглядається для компіляції, і якщо регулярний вираз видає збіг, файл " +"пропускається." + +msgid "" +"Read the file ``list`` and add each line that it contains to the list of " +"files and directories to compile. If ``list`` is ``-``, read lines from " +"``stdin``." +msgstr "" +"Прочитайте файл ``список`` і додайте кожен рядок, який він містить, до " +"списку файлів і каталогів для компіляції. Якщо ``список`` ``-``, читати " +"рядки з ``stdin``." + +msgid "" +"Write the byte-code files to their legacy locations and names, which may " +"overwrite byte-code files created by another version of Python. The default " +"is to write files to their :pep:`3147` locations and names, which allows " +"byte-code files from multiple versions of Python to coexist." +msgstr "" +"Запишіть файли байт-коду в їхні застарілі розташування та імена, які можуть " +"перезаписати файли байт-коду, створені іншою версією Python. За " +"замовчуванням файли записуються в їхні розташування та імена :pep:`3147`, що " +"дозволяє співіснувати файлам байт-коду з кількох версій Python." + +msgid "" +"Control the maximum recursion level for subdirectories. If this is given, " +"then ``-l`` option will not be taken into account. :program:`python -m " +"compileall -r 0` is equivalent to :program:`python -m compileall " +" -l`." +msgstr "" +"Контролюйте максимальний рівень рекурсії для підкаталогів. Якщо це задано, " +"то параметр ``-l`` не буде взято до уваги. :program:`python -m compileall " +" -r 0` еквівалентно :program:`python -m compileall -" +"l`." + +msgid "" +"Use *N* workers to compile the files within the given directory. If ``0`` is " +"used, then the result of :func:`os.cpu_count()` will be used." +msgstr "" +"Використовуйте *N* робітників для компіляції файлів у вказаному каталозі. " +"Якщо використовується ``0``, тоді буде використано результат :func:`os." +"cpu_count()`." + +msgid "" +"Control how the generated byte-code files are invalidated at runtime. The " +"``timestamp`` value, means that ``.pyc`` files with the source timestamp and " +"size embedded will be generated. The ``checked-hash`` and ``unchecked-hash`` " +"values cause hash-based pycs to be generated. Hash-based pycs embed a hash " +"of the source file contents rather than a timestamp. See :ref:`pyc-" +"invalidation` for more information on how Python validates bytecode cache " +"files at runtime. The default is ``timestamp`` if the :envvar:" +"`SOURCE_DATE_EPOCH` environment variable is not set, and ``checked-hash`` if " +"the ``SOURCE_DATE_EPOCH`` environment variable is set." +msgstr "" +"Керуйте тим, як згенеровані файли байт-коду стають недійсними під час " +"виконання. Значення ``timestamp`` означає, що будуть створені файли ``.pyc`` " +"із вбудованою міткою часу джерела та розміром. Значення ``checked-hash`` і " +"``unchecked-hash`` призводять до генерації pyc на основі хешу. pyc на основі " +"хешу вбудовує хеш вмісту вихідного файлу, а не мітку часу. Перегляньте :ref:" +"`pyc-invalidation` для отримання додаткової інформації про те, як Python " +"перевіряє файли кешу байт-коду під час виконання. Типовим значенням є " +"``timestamp``, якщо змінна середовища :envvar:`SOURCE_DATE_EPOCH` не " +"встановлено, і ``checked-hash``, якщо встановлена змінна середовища " +"``SOURCE_DATE_EPOCH``." + +msgid "" +"Compile with the given optimization level. May be used multiple times to " +"compile for multiple levels at a time (for example, ``compileall -o 1 -o " +"2``)." +msgstr "" +"Зібрати з заданим рівнем оптимізації. Може використовуватися кілька разів " +"для компіляції для кількох рівнів одночасно (наприклад, ``compileall -o 1 -o " +"2``)." + +msgid "Ignore symlinks pointing outside the given directory." +msgstr "Ігноруйте символічні посилання, що вказують за межі даного каталогу." + +msgid "" +"If two ``.pyc`` files with different optimization level have the same " +"content, use hard links to consolidate duplicate files." +msgstr "" +"Якщо два файли ``.pyc`` з різним рівнем оптимізації мають однаковий вміст, " +"використовуйте жорсткі посилання для об’єднання дублікатів файлів." + +msgid "Added the ``-i``, ``-b`` and ``-h`` options." +msgstr "Додано параметри ``-i``, ``-b`` і ``-h``." + +msgid "" +"Added the ``-j``, ``-r``, and ``-qq`` options. ``-q`` option was changed " +"to a multilevel value. ``-b`` will always produce a byte-code file ending " +"in ``.pyc``, never ``.pyo``." +msgstr "" +"Додано параметри ``-j``, ``-r`` і ``-qq``. Опцію ``-q`` було змінено на " +"багаторівневе значення. ``-b`` завжди створюватиме файл байт-коду із " +"закінченням ``.pyc``, ніколи ``.pyo``." + +msgid "Added the ``--invalidation-mode`` option." +msgstr "Додано параметр ``--invalidation-mode``." + +msgid "" +"Added the ``-s``, ``-p``, ``-e`` and ``--hardlink-dupes`` options. Raised " +"the default recursion limit from 10 to :py:func:`sys.getrecursionlimit()`. " +"Added the possibility to specify the ``-o`` option multiple times." +msgstr "" +"Додано параметри ``-s``, ``-p``, ``-e`` і ``--hardlink-dupes``. Ліміт " +"рекурсії за умовчанням збільшено з 10 до :py:func:`sys.getrecursionlimit()`. " +"Додано можливість вказувати опцію ``-o`` кілька разів." + +msgid "" +"There is no command-line option to control the optimization level used by " +"the :func:`compile` function, because the Python interpreter itself already " +"provides the option: :program:`python -O -m compileall`." +msgstr "" +"Немає параметра командного рядка для керування рівнем оптимізації, який " +"використовується функцією :func:`compile`, оскільки сам інтерпретатор Python " +"уже надає параметр: :program:`python -O -m compileall`." + +msgid "" +"Similarly, the :func:`compile` function respects the :attr:`sys." +"pycache_prefix` setting. The generated bytecode cache will only be useful " +"if :func:`compile` is run with the same :attr:`sys.pycache_prefix` (if any) " +"that will be used at runtime." +msgstr "" +"Подібним чином функція :func:`compile` поважає налаштування :attr:`sys." +"pycache_prefix`. Згенерований кеш байт-коду буде корисним, лише якщо :func:" +"`compile` запускається з тим самим :attr:`sys.pycache_prefix` (якщо такий " +"є), який використовуватиметься під час виконання." + +msgid "Public functions" +msgstr "Громадські функції" + +msgid "" +"Recursively descend the directory tree named by *dir*, compiling all :file:`." +"py` files along the way. Return a true value if all the files compiled " +"successfully, and a false value otherwise." +msgstr "" +"Рекурсивно спустіться за деревом каталогів, названим *dir*, компілюючи всі " +"файли :file:`.py`. Повертає значення true, якщо всі файли скомпільовано " +"успішно, і значення false в іншому випадку." + +msgid "" +"The *maxlevels* parameter is used to limit the depth of the recursion; it " +"defaults to ``sys.getrecursionlimit()``." +msgstr "" +"Параметр *maxlevels* використовується для обмеження глибини рекурсії; за " +"умовчанням встановлено ``sys.getrecursionlimit()``." + +msgid "" +"If *ddir* is given, it is prepended to the path to each file being compiled " +"for use in compilation time tracebacks, and is also compiled in to the byte-" +"code file, where it will be used in tracebacks and other messages in cases " +"where the source file does not exist at the time the byte-code file is " +"executed." +msgstr "" +"Якщо вказано *ddir*, він додається до шляху до кожного файлу, що " +"компілюється для використання в трасуванні часу компіляції, а також " +"компілюється у файл байт-коду, де він використовуватиметься в трасуванні та " +"інших повідомленнях у випадках, коли вихідний файл не існує на момент " +"виконання файлу байт-коду." + +msgid "" +"If *force* is true, modules are re-compiled even if the timestamps are up to " +"date." +msgstr "" +"Якщо *force* має значення true, модулі компілюються повторно, навіть якщо " +"мітки часу актуальні." + +msgid "" +"If *rx* is given, its ``search`` method is called on the complete path to " +"each file considered for compilation, and if it returns a true value, the " +"file is skipped. This can be used to exclude files matching a regular " +"expression, given as a :ref:`re.Pattern ` object." +msgstr "" +"Якщо вказано *rx*, його метод ``search`` викликається на повному шляху до " +"кожного файлу, який розглядається для компіляції, і якщо він повертає " +"справжнє значення, файл пропускається. Це можна використовувати для " +"виключення файлів, які відповідають регулярному виразу, заданому як об’єкт :" +"ref:`re.Pattern `." + +msgid "" +"If *quiet* is ``False`` or ``0`` (the default), the filenames and other " +"information are printed to standard out. Set to ``1``, only errors are " +"printed. Set to ``2``, all output is suppressed." +msgstr "" +"Якщо *quiet* має значення ``False`` або ``0`` (за замовчуванням), назви " +"файлів та інша інформація друкуються стандартно. Установлено на ``1``, " +"друкуються лише помилки. Установлено на ``2``, усі виведення пригнічуються." + +msgid "" +"If *legacy* is true, byte-code files are written to their legacy locations " +"and names, which may overwrite byte-code files created by another version of " +"Python. The default is to write files to their :pep:`3147` locations and " +"names, which allows byte-code files from multiple versions of Python to " +"coexist." +msgstr "" +"Якщо значення *legacy* має значення true, файли з байт-кодом записуються до " +"своїх застарілих розташувань і імен, які можуть перезаписати файли з байт-" +"кодом, створені іншою версією Python. За замовчуванням файли записуються до " +"їхніх :pep:`3147` розташувань та імен, що дозволяє файлам байт-коду з " +"кількох версій Python співіснувати." + +msgid "" +"*optimize* specifies the optimization level for the compiler. It is passed " +"to the built-in :func:`compile` function. Accepts also a sequence of " +"optimization levels which lead to multiple compilations of one :file:`.py` " +"file in one call." +msgstr "" +"*optimize* вказує рівень оптимізації для компілятора. Він передається до " +"вбудованої функції :func:`compile`. Приймає також послідовність рівнів " +"оптимізації, які призводять до кількох компіляцій одного файлу :file:`.py` " +"за один виклик." + +msgid "" +"The argument *workers* specifies how many workers are used to compile files " +"in parallel. The default is to not use multiple workers. If the platform " +"can't use multiple workers and *workers* argument is given, then sequential " +"compilation will be used as a fallback. If *workers* is 0, the number of " +"cores in the system is used. If *workers* is lower than ``0``, a :exc:" +"`ValueError` will be raised." +msgstr "" +"Аргумент *workers* визначає, скільки робітників використовується для " +"паралельної компіляції файлів. За замовчуванням не використовується кілька " +"робітників. Якщо платформа не може використовувати кілька робітників і " +"надано аргумент *workers*, то послідовна компіляція буде використана як " +"запасний варіант. Якщо *workers* дорівнює 0, використовується кількість ядер " +"у системі. Якщо *workers* нижчий за ``0``, буде викликано :exc:`ValueError`." + +msgid "" +"*invalidation_mode* should be a member of the :class:`py_compile." +"PycInvalidationMode` enum and controls how the generated pycs are " +"invalidated at runtime." +msgstr "" +"*invalidation_mode* має бути членом переліку :class:`py_compile." +"PycInvalidationMode` і керувати тим, як згенеровані pyc стають недійсними " +"під час виконання." + +msgid "" +"The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " +"``-s``, ``-p`` and ``-e`` options described above. They may be specified as " +"``str``, ``bytes`` or :py:class:`os.PathLike`." +msgstr "" +"Аргументи *stripdir*, *prependdir* і *limit_sl_dest* відповідають опціям ``-" +"s``, ``-p`` і ``-e``, описаним вище. Їх можна вказати як ``str``, ``bytes`` " +"або :py:class:`os.PathLike`." + +msgid "" +"If *hardlink_dupes* is true and two ``.pyc`` files with different " +"optimization level have the same content, use hard links to consolidate " +"duplicate files." +msgstr "" +"Якщо *hardlink_dupes* має значення true і два файли ``.pyc`` з різним рівнем " +"оптимізації мають однаковий вміст, використовуйте жорсткі посилання для " +"об’єднання дублікатів файлів." + +msgid "Added the *legacy* and *optimize* parameter." +msgstr "Додано параметр *legacy* і *optimize*." + +msgid "Added the *workers* parameter." +msgstr "Додано параметр *workers*." + +msgid "*quiet* parameter was changed to a multilevel value." +msgstr "Параметр *quiet* змінено на багаторівневе значення." + +msgid "" +"The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no " +"matter what the value of *optimize* is." +msgstr "" +"Параметр *legacy* записує лише файли ``.pyc``, а не файли ``.pyo`` незалежно " +"від значення *optimize*." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "The *invalidation_mode* parameter was added." +msgstr "Додано параметр *invalidation_mode*." + +msgid "The *invalidation_mode* parameter's default value is updated to None." +msgstr "" +"Значення за замовчуванням параметра *invalidation_mode* оновлено до значення " +"\"Немає\"." + +msgid "Setting *workers* to 0 now chooses the optimal number of cores." +msgstr "Встановлення *workers* на 0 тепер вибирає оптимальну кількість ядер." + +msgid "" +"Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " +"arguments. Default value of *maxlevels* was changed from ``10`` to ``sys." +"getrecursionlimit()``" +msgstr "" +"Додано аргументи *stripdir*, *prependdir*, *limit_sl_dest* і " +"*hardlink_dupes*. Значення за замовчуванням *maxlevels* змінено з ``10`` на " +"``sys.getrecursionlimit()``" + +msgid "" +"Compile the file with path *fullname*. Return a true value if the file " +"compiled successfully, and a false value otherwise." +msgstr "" +"Скомпілюйте файл із шляхом *fullname*. Повертає значення true, якщо файл " +"скомпільовано успішно, і значення false в іншому випадку." + +msgid "" +"If *ddir* is given, it is prepended to the path to the file being compiled " +"for use in compilation time tracebacks, and is also compiled in to the byte-" +"code file, where it will be used in tracebacks and other messages in cases " +"where the source file does not exist at the time the byte-code file is " +"executed." +msgstr "" +"Якщо вказано *ddir*, він додається до шляху до файлу, що компілюється для " +"використання в відстеженнях часу компіляції, а також компілюється у файл " +"байт-коду, де він використовуватиметься в відстеженнях та інших " +"повідомленнях у випадках, коли вихідний файл не існує на момент виконання " +"файлу байт-коду." + +msgid "" +"If *rx* is given, its ``search`` method is passed the full path name to the " +"file being compiled, and if it returns a true value, the file is not " +"compiled and ``True`` is returned. This can be used to exclude files " +"matching a regular expression, given as a :ref:`re.Pattern ` " +"object." +msgstr "" +"Якщо задано *rx*, його методу ``search`` передається повне ім’я шляху до " +"файлу, що компілюється, і якщо він повертає значення true, файл не " +"скомпільується і повертається ``True``. Це можна використовувати для " +"виключення файлів, які відповідають регулярному виразу, заданому як об’єкт :" +"ref:`re.Pattern `." + +msgid "" +"Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " +"arguments." +msgstr "" +"Додано аргументи *stripdir*, *prependdir*, *limit_sl_dest* і " +"*hardlink_dupes*." + +msgid "" +"Byte-compile all the :file:`.py` files found along ``sys.path``. Return a " +"true value if all the files compiled successfully, and a false value " +"otherwise." +msgstr "" +"Байтова компіляція всіх файлів :file:`.py`, знайдених уздовж ``sys.path``. " +"Повертає значення true, якщо всі файли скомпільовано успішно, і значення " +"false в іншому випадку." + +msgid "" +"If *skip_curdir* is true (the default), the current directory is not " +"included in the search. All other parameters are passed to the :func:" +"`compile_dir` function. Note that unlike the other compile functions, " +"``maxlevels`` defaults to ``0``." +msgstr "" +"Якщо *skip_curdir* має значення true (за замовчуванням), поточний каталог не " +"включається в пошук. Усі інші параметри передаються до функції :func:" +"`compile_dir`. Зауважте, що на відміну від інших функцій компіляції, " +"``maxlevels`` за умовчанням має ``0``." + +msgid "" +"To force a recompile of all the :file:`.py` files in the :file:`Lib/` " +"subdirectory and all its subdirectories::" +msgstr "" +"Щоб примусово перекомпілювати всі файли :file:`.py` у підкаталозі :file:`Lib/" +"` та всіх його підкаталогах:" + +msgid "Module :mod:`py_compile`" +msgstr "Модуль :mod:`py_compile`" + +msgid "Byte-compile a single source file." +msgstr "Байтова компіляція єдиного вихідного файлу." diff --git a/library/concurrency.po b/library/concurrency.po new file mode 100644 index 000000000..f857b8763 --- /dev/null +++ b/library/concurrency.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Concurrent Execution" +msgstr "Паралельне виконання" + +msgid "" +"The modules described in this chapter provide support for concurrent " +"execution of code. The appropriate choice of tool will depend on the task to " +"be executed (CPU bound vs IO bound) and preferred style of development " +"(event driven cooperative multitasking vs preemptive multitasking). Here's " +"an overview:" +msgstr "" +"Модулі, описані в цьому розділі, забезпечують підтримку одночасного " +"виконання коду. Відповідний вибір інструменту залежатиме від завдання, яке " +"потрібно виконати (прив’язка до процесора чи прив’язка до вводу-виводу) і " +"бажаного стилю розробки (кооперативна багатозадачність, керована подіями, " +"проти випереджальної багатозадачності). Ось огляд:" + +msgid "The following are support modules for some of the above services:" +msgstr "Нижче наведено модулі підтримки для деяких із зазначених вище служб:" diff --git a/library/concurrent.po b/library/concurrent.po new file mode 100644 index 000000000..ce7142c7f --- /dev/null +++ b/library/concurrent.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The :mod:`concurrent` package" +msgstr "Пакет :mod:`concurrent`" + +msgid "Currently, there is only one module in this package:" +msgstr "Наразі в цьому пакеті лише один модуль:" + +msgid ":mod:`concurrent.futures` -- Launching parallel tasks" +msgstr ":mod:`concurrent.futures` -- Запуск паралельних завдань" diff --git a/library/concurrent_futures.po b/library/concurrent_futures.po new file mode 100644 index 000000000..6d15a94b1 --- /dev/null +++ b/library/concurrent_futures.po @@ -0,0 +1,691 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`concurrent.futures` --- Launching parallel tasks" +msgstr ":mod:`concurrent.futures` --- Запуск паралельних задач" + +msgid "" +"**Source code:** :source:`Lib/concurrent/futures/thread.py` and :source:`Lib/" +"concurrent/futures/process.py`" +msgstr "" +"**Вихідний код:** :source:`Lib/concurrent/futures/thread.py` і :source:`Lib/" +"concurrent/futures/process.py`" + +msgid "" +"The :mod:`concurrent.futures` module provides a high-level interface for " +"asynchronously executing callables." +msgstr "" +"Модуль :mod:`concurrent.futures` забезпечує інтерфейс високого рівня для " +"асинхронного виконання викликів." + +msgid "" +"The asynchronous execution can be performed with threads, using :class:" +"`ThreadPoolExecutor`, or separate processes, using :class:" +"`ProcessPoolExecutor`. Both implement the same interface, which is defined " +"by the abstract :class:`Executor` class." +msgstr "" +"Асинхронне виконання може виконуватися потоками, використовуючи :class:" +"`ThreadPoolExecutor`, або окремими процесами, використовуючи :class:" +"`ProcessPoolExecutor`. Обидва реалізують однаковий інтерфейс, який " +"визначається абстрактним класом :class:`Executor`." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Executor Objects" +msgstr "Об'єкти виконавця" + +msgid "" +"An abstract class that provides methods to execute calls asynchronously. It " +"should not be used directly, but through its concrete subclasses." +msgstr "" +"Абстрактний клас, який надає методи для асинхронного виконання викликів. " +"Його слід використовувати не безпосередньо, а через його конкретні підкласи." + +msgid "" +"Schedules the callable, *fn*, to be executed as ``fn(*args, **kwargs)`` and " +"returns a :class:`Future` object representing the execution of the " +"callable. ::" +msgstr "" +"Планує виконання викликаного, *fn*, як ``fn(*args, **kwargs)`` і повертає " +"об’єкт :class:`Future`, який представляє виконання викликаного. ::" + +msgid "Similar to :func:`map(func, *iterables) ` except:" +msgstr "Подібно до :func:`map(func, *iterables) ` за винятком:" + +msgid "the *iterables* are collected immediately rather than lazily;" +msgstr "*iterables* збираються негайно, а не ліниво;" + +msgid "" +"*func* is executed asynchronously and several calls to *func* may be made " +"concurrently." +msgstr "" +"*func* виконується асинхронно, і кілька викликів *func* можуть здійснюватися " +"одночасно." + +msgid "" +"The returned iterator raises a :exc:`TimeoutError` if :meth:`~iterator." +"__next__` is called and the result isn't available after *timeout* seconds " +"from the original call to :meth:`Executor.map`. *timeout* can be an int or a " +"float. If *timeout* is not specified or ``None``, there is no limit to the " +"wait time." +msgstr "" + +msgid "" +"If a *func* call raises an exception, then that exception will be raised " +"when its value is retrieved from the iterator." +msgstr "" +"Якщо виклик *func* викликає виняток, тоді цей виняток буде викликано, коли " +"його значення буде отримано з ітератора." + +msgid "" +"When using :class:`ProcessPoolExecutor`, this method chops *iterables* into " +"a number of chunks which it submits to the pool as separate tasks. The " +"(approximate) size of these chunks can be specified by setting *chunksize* " +"to a positive integer. For very long iterables, using a large value for " +"*chunksize* can significantly improve performance compared to the default " +"size of 1. With :class:`ThreadPoolExecutor`, *chunksize* has no effect." +msgstr "" +"Під час використання :class:`ProcessPoolExecutor` цей метод розбиває " +"*iterables* на кілька фрагментів, які надсилає до пулу як окремі завдання. " +"(Приблизний) розмір цих фрагментів можна вказати, встановивши для " +"*chunksize* додатне ціле число. Для дуже довгих ітерацій використання " +"великого значення *chunksize* може значно підвищити продуктивність порівняно " +"з розміром за замовчуванням 1. З :class:`ThreadPoolExecutor` *chunksize* не " +"впливає." + +msgid "Added the *chunksize* argument." +msgstr "Додано аргумент *chunksize*." + +msgid "" +"Signal the executor that it should free any resources that it is using when " +"the currently pending futures are done executing. Calls to :meth:`Executor." +"submit` and :meth:`Executor.map` made after shutdown will raise :exc:" +"`RuntimeError`." +msgstr "" +"Дайте сигнал виконавцю, що він повинен звільнити будь-які ресурси, які він " +"використовує, коли завершено виконання поточних ф’ючерсів. Виклики :meth:" +"`Executor.submit` і :meth:`Executor.map`, здійснені після вимкнення, " +"викличуть :exc:`RuntimeError`." + +msgid "" +"If *wait* is ``True`` then this method will not return until all the pending " +"futures are done executing and the resources associated with the executor " +"have been freed. If *wait* is ``False`` then this method will return " +"immediately and the resources associated with the executor will be freed " +"when all pending futures are done executing. Regardless of the value of " +"*wait*, the entire Python program will not exit until all pending futures " +"are done executing." +msgstr "" +"Якщо *wait* має значення ``True``, тоді цей метод не повернеться, доки не " +"буде завершено виконання всіх очікуваних ф’ючерсів і не буде звільнено " +"ресурси, пов’язані з виконавцем. Якщо *wait* має значення ``False``, тоді " +"цей метод повернеться негайно, а ресурси, пов’язані з виконавцем, будуть " +"звільнені, коли завершиться виконання всіх очікуваних ф’ючерсів. Незалежно " +"від значення *wait*, уся програма Python не завершить роботу, доки не буде " +"завершено виконання всіх незавершених ф’ючерсів." + +msgid "" +"If *cancel_futures* is ``True``, this method will cancel all pending futures " +"that the executor has not started running. Any futures that are completed or " +"running won't be cancelled, regardless of the value of *cancel_futures*." +msgstr "" +"Якщо *cancel_futures* має значення ``True``, цей метод скасує всі " +"незавершені ф’ючерси, які виконавець ще не запускав. Будь-які завершені або " +"запущені ф’ючерси не будуть скасовані, незалежно від значення " +"*cancel_futures*." + +msgid "" +"If both *cancel_futures* and *wait* are ``True``, all futures that the " +"executor has started running will be completed prior to this method " +"returning. The remaining futures are cancelled." +msgstr "" +"Якщо і *cancel_futures*, і *wait* мають значення ``True``, усі ф’ючерси, які " +"почав виконувати виконавець, будуть завершені до повернення цього методу. " +"Решта ф'ючерсів скасовано." + +msgid "" +"You can avoid having to call this method explicitly if you use the :keyword:" +"`with` statement, which will shutdown the :class:`Executor` (waiting as if :" +"meth:`Executor.shutdown` were called with *wait* set to ``True``)::" +msgstr "" +"Ви можете уникнути необхідності явного виклику цього методу, якщо " +"використаєте інструкцію :keyword:`with`, яка вимкне :class:`Executor` " +"(очікуючи так, ніби :meth:`Executor.shutdown` викликається з установленим " +"*wait* до ``Правда``)::" + +msgid "Added *cancel_futures*." +msgstr "Додано *cancel_futures*." + +msgid "ThreadPoolExecutor" +msgstr "ThreadPoolExecutor" + +msgid "" +":class:`ThreadPoolExecutor` is an :class:`Executor` subclass that uses a " +"pool of threads to execute calls asynchronously." +msgstr "" +":class:`ThreadPoolExecutor` — це підклас :class:`Executor`, який " +"використовує пул потоків для асинхронного виконання викликів." + +msgid "" +"Deadlocks can occur when the callable associated with a :class:`Future` " +"waits on the results of another :class:`Future`. For example::" +msgstr "" +"Взаємоблокування можуть виникати, коли виклик, пов’язаний із :class:" +"`Future`, чекає результатів іншого :class:`Future`. Наприклад::" + +msgid "And::" +msgstr "І::" + +msgid "" +"An :class:`Executor` subclass that uses a pool of at most *max_workers* " +"threads to execute calls asynchronously." +msgstr "" +"Підклас :class:`Executor`, який використовує пул щонайбільше *max_workers* " +"потоків для асинхронного виконання викликів." + +msgid "" +"All threads enqueued to ``ThreadPoolExecutor`` will be joined before the " +"interpreter can exit. Note that the exit handler which does this is executed " +"*before* any exit handlers added using ``atexit``. This means exceptions in " +"the main thread must be caught and handled in order to signal threads to " +"exit gracefully. For this reason, it is recommended that " +"``ThreadPoolExecutor`` not be used for long-running tasks." +msgstr "" + +msgid "" +"*initializer* is an optional callable that is called at the start of each " +"worker thread; *initargs* is a tuple of arguments passed to the " +"initializer. Should *initializer* raise an exception, all currently pending " +"jobs will raise a :exc:`~concurrent.futures.thread.BrokenThreadPool`, as " +"well as any attempt to submit more jobs to the pool." +msgstr "" +"*initializer* — необов’язковий виклик, який викликається на початку кожного " +"робочого потоку; *initargs* — це кортеж аргументів, що передається " +"ініціалізатору. Якщо *ініціалізатор* викликає виняток, усі наразі " +"незавершені завдання викличуть :exc:`~concurrent.futures.thread." +"BrokenThreadPool`, а також будь-яка спроба відправити більше завдань до пулу." + +msgid "" +"If *max_workers* is ``None`` or not given, it will default to the number of " +"processors on the machine, multiplied by ``5``, assuming that :class:" +"`ThreadPoolExecutor` is often used to overlap I/O instead of CPU work and " +"the number of workers should be higher than the number of workers for :class:" +"`ProcessPoolExecutor`." +msgstr "" +"Якщо *max_workers* має значення ``None`` або не вказано, за замовчуванням " +"буде використовуватися кількість процесорів на машині, помножена на ``5``, " +"припускаючи, що :class:`ThreadPoolExecutor` часто використовується для " +"перекриття вводу-виводу замість роботи центрального процесора, а кількість " +"робітників має бути більшою за кількість робітників для :class:" +"`ProcessPoolExecutor`." + +msgid "" +"The *thread_name_prefix* argument was added to allow users to control the :" +"class:`threading.Thread` names for worker threads created by the pool for " +"easier debugging." +msgstr "" +"Аргумент *thread_name_prefix* було додано, щоб дозволити користувачам " +"контролювати імена :class:`threading.Thread` для робочих потоків, створених " +"пулом, для полегшення налагодження." + +msgid "Added the *initializer* and *initargs* arguments." +msgstr "Додано аргументи *initializer* і *initargs*." + +msgid "" +"Default value of *max_workers* is changed to ``min(32, os.cpu_count() + " +"4)``. This default value preserves at least 5 workers for I/O bound tasks. " +"It utilizes at most 32 CPU cores for CPU bound tasks which release the GIL. " +"And it avoids using very large resources implicitly on many-core machines." +msgstr "" +"Значення за замовчуванням *max_workers* змінено на ``min(32, os.cpu_count() " +"+ 4)``. Це значення за замовчуванням зберігає принаймні 5 працівників для " +"завдань, пов’язаних із вводом-виводом. Він використовує щонайбільше 32 ядра " +"ЦП для пов’язаних із ЦП завдань, які випускають GIL. І це дозволяє уникнути " +"використання дуже великих ресурсів неявно на багатоядерних машинах." + +msgid "" +"ThreadPoolExecutor now reuses idle worker threads before starting " +"*max_workers* worker threads too." +msgstr "" +"ThreadPoolExecutor тепер повторно використовує неактивні робочі потоки перед " +"запуском робочих потоків *max_workers*." + +msgid "ThreadPoolExecutor Example" +msgstr "Приклад ThreadPoolExecutor" + +msgid "ProcessPoolExecutor" +msgstr "ProcessPoolExecutor" + +msgid "" +"The :class:`ProcessPoolExecutor` class is an :class:`Executor` subclass that " +"uses a pool of processes to execute calls asynchronously. :class:" +"`ProcessPoolExecutor` uses the :mod:`multiprocessing` module, which allows " +"it to side-step the :term:`Global Interpreter Lock ` but also means that only picklable objects can be executed and " +"returned." +msgstr "" +"Клас :class:`ProcessPoolExecutor` є підкласом :class:`Executor`, який " +"використовує пул процесів для асинхронного виконання викликів. :class:" +"`ProcessPoolExecutor` використовує модуль :mod:`multiprocessing`, який " +"дозволяє йому обходити :term:`Global Interpreter Lock `, але також означає, що можна виконувати та повертати лише об’єкти, " +"які можна вибрати." + +msgid "" +"The ``__main__`` module must be importable by worker subprocesses. This " +"means that :class:`ProcessPoolExecutor` will not work in the interactive " +"interpreter." +msgstr "" +"Модуль ``__main__`` має бути імпортованим робочими підпроцесами. Це означає, " +"що :class:`ProcessPoolExecutor` не працюватиме в інтерактивному " +"інтерпретаторі." + +msgid "" +"Calling :class:`Executor` or :class:`Future` methods from a callable " +"submitted to a :class:`ProcessPoolExecutor` will result in deadlock." +msgstr "" +"Виклик методів :class:`Executor` або :class:`Future` із виклику, надісланого " +"до :class:`ProcessPoolExecutor`, призведе до взаємоблокування." + +msgid "" +"An :class:`Executor` subclass that executes calls asynchronously using a " +"pool of at most *max_workers* processes. If *max_workers* is ``None`` or " +"not given, it will default to the number of processors on the machine. If " +"*max_workers* is less than or equal to ``0``, then a :exc:`ValueError` will " +"be raised. On Windows, *max_workers* must be less than or equal to ``61``. " +"If it is not then :exc:`ValueError` will be raised. If *max_workers* is " +"``None``, then the default chosen will be at most ``61``, even if more " +"processors are available. *mp_context* can be a multiprocessing context or " +"None. It will be used to launch the workers. If *mp_context* is ``None`` or " +"not given, the default multiprocessing context is used." +msgstr "" +"Підклас :class:`Executor`, який виконує виклики асинхронно, використовуючи " +"пул процесів щонайбільше *max_workers*. Якщо *max_workers* має значення " +"``None`` або не вказано, за замовчуванням використовуватиметься кількість " +"процесорів на машині. Якщо *max_workers* менше або дорівнює ``0``, тоді буде " +"викликана :exc:`ValueError`. У Windows *max_workers* має бути менше або " +"дорівнювати ``61``. Якщо ні, то :exc:`ValueError` буде викликано. Якщо " +"*max_workers* має значення ``None``, тоді вибрано значення за замовчуванням " +"не більше ``61``, навіть якщо доступно більше процесорів. *mp_context* може " +"бути багатопроцесорним контекстом або жодним. Він буде використовуватися для " +"запуску робочих. Якщо *mp_context* має значення ``None`` або не вказано, " +"використовується багатопроцесорний контекст за замовчуванням." + +msgid "" +"*initializer* is an optional callable that is called at the start of each " +"worker process; *initargs* is a tuple of arguments passed to the " +"initializer. Should *initializer* raise an exception, all currently pending " +"jobs will raise a :exc:`~concurrent.futures.process.BrokenProcessPool`, as " +"well as any attempt to submit more jobs to the pool." +msgstr "" +"*initializer* — необов’язковий виклик, який викликається на початку кожного " +"робочого процесу; *initargs* — це кортеж аргументів, що передається " +"ініціалізатору. Якщо *ініціалізатор* викличе виняток, усі наразі незавершені " +"завдання викличуть :exc:`~concurrent.futures.process.BrokenProcessPool`, а " +"також будь-яка спроба надіслати більше завдань до пулу." + +msgid "" +"*max_tasks_per_child* is an optional argument that specifies the maximum " +"number of tasks a single process can execute before it will exit and be " +"replaced with a fresh worker process. By default *max_tasks_per_child* is " +"``None`` which means worker processes will live as long as the pool. When a " +"max is specified, the \"spawn\" multiprocessing start method will be used by " +"default in absence of a *mp_context* parameter. This feature is incompatible " +"with the \"fork\" start method." +msgstr "" + +msgid "" +"When one of the worker processes terminates abruptly, a :exc:" +"`BrokenProcessPool` error is now raised. Previously, behaviour was " +"undefined but operations on the executor or its futures would often freeze " +"or deadlock." +msgstr "" +"Коли один із робочих процесів раптово завершується, виникає помилка :exc:" +"`BrokenProcessPool`. Раніше поведінка була невизначеною, але операції з " +"виконавцем або його ф’ючерсами часто зависали або блокувалися." + +msgid "" +"The *mp_context* argument was added to allow users to control the " +"start_method for worker processes created by the pool." +msgstr "" +"Аргумент *mp_context* додано, щоб дозволити користувачам керувати " +"start_method для робочих процесів, створених пулом." + +msgid "" +"The *max_tasks_per_child* argument was added to allow users to control the " +"lifetime of workers in the pool." +msgstr "" + +msgid "ProcessPoolExecutor Example" +msgstr "Приклад ProcessPoolExecutor" + +msgid "Future Objects" +msgstr "Об'єкти майбутнього" + +msgid "" +"The :class:`Future` class encapsulates the asynchronous execution of a " +"callable. :class:`Future` instances are created by :meth:`Executor.submit`." +msgstr "" +"Клас :class:`Future` інкапсулює асинхронне виконання викликаного. :class:" +"`Future` екземпляри створюються :meth:`Executor.submit`." + +msgid "" +"Encapsulates the asynchronous execution of a callable. :class:`Future` " +"instances are created by :meth:`Executor.submit` and should not be created " +"directly except for testing." +msgstr "" +"Інкапсулює асинхронне виконання викликаного. :class:`Future` екземпляри " +"створюються :meth:`Executor.submit` і не повинні створюватися безпосередньо, " +"за винятком тестування." + +msgid "" +"Attempt to cancel the call. If the call is currently being executed or " +"finished running and cannot be cancelled then the method will return " +"``False``, otherwise the call will be cancelled and the method will return " +"``True``." +msgstr "" +"Спроба скасувати виклик. Якщо виклик наразі виконується або завершується і " +"його не можна скасувати, тоді метод поверне ``False``, інакше виклик буде " +"скасовано, а метод поверне ``True``." + +msgid "Return ``True`` if the call was successfully cancelled." +msgstr "Повертає ``True``, якщо виклик було успішно скасовано." + +msgid "" +"Return ``True`` if the call is currently being executed and cannot be " +"cancelled." +msgstr "" +"Повертає ``True``, якщо виклик зараз виконується і не може бути скасований." + +msgid "" +"Return ``True`` if the call was successfully cancelled or finished running." +msgstr "Повертає ``True``, якщо виклик було успішно скасовано або завершено." + +msgid "" +"Return the value returned by the call. If the call hasn't yet completed then " +"this method will wait up to *timeout* seconds. If the call hasn't completed " +"in *timeout* seconds, then a :exc:`TimeoutError` will be raised. *timeout* " +"can be an int or float. If *timeout* is not specified or ``None``, there is " +"no limit to the wait time." +msgstr "" + +msgid "" +"If the future is cancelled before completing then :exc:`.CancelledError` " +"will be raised." +msgstr "" +"Якщо ф'ючерс скасовано до завершення, тоді буде викликано :exc:`." +"CancelledError`." + +msgid "" +"If the call raised an exception, this method will raise the same exception." +msgstr "Якщо виклик викликав виняток, цей метод викличе той самий виняток." + +msgid "" +"Return the exception raised by the call. If the call hasn't yet completed " +"then this method will wait up to *timeout* seconds. If the call hasn't " +"completed in *timeout* seconds, then a :exc:`TimeoutError` will be raised. " +"*timeout* can be an int or float. If *timeout* is not specified or " +"``None``, there is no limit to the wait time." +msgstr "" + +msgid "If the call completed without raising, ``None`` is returned." +msgstr "Якщо виклик завершився без підняття, повертається ``None``." + +msgid "" +"Attaches the callable *fn* to the future. *fn* will be called, with the " +"future as its only argument, when the future is cancelled or finishes " +"running." +msgstr "" +"Приєднує *fn* до майбутнього. *fn* буде викликано з майбутнім як єдиним " +"аргументом, коли майбутнє скасовується або завершує роботу." + +msgid "" +"Added callables are called in the order that they were added and are always " +"called in a thread belonging to the process that added them. If the " +"callable raises an :exc:`Exception` subclass, it will be logged and " +"ignored. If the callable raises a :exc:`BaseException` subclass, the " +"behavior is undefined." +msgstr "" +"Додані виклики викликаються в тому порядку, в якому вони були додані, і " +"завжди викликаються в потоці, що належить до процесу, який їх додав. Якщо " +"виклик викликає підклас :exc:`Exception`, він буде зареєстрований і " +"проігнорований. Якщо виклик викликає підклас :exc:`BaseException`, поведінка " +"не визначена." + +msgid "" +"If the future has already completed or been cancelled, *fn* will be called " +"immediately." +msgstr "Якщо ф'ючерс уже завершено або скасовано, *fn* буде викликано негайно." + +msgid "" +"The following :class:`Future` methods are meant for use in unit tests and :" +"class:`Executor` implementations." +msgstr "" +"Наступні методи :class:`Future` призначені для використання в модульних " +"тестах і реалізаціях :class:`Executor`." + +msgid "" +"This method should only be called by :class:`Executor` implementations " +"before executing the work associated with the :class:`Future` and by unit " +"tests." +msgstr "" +"Цей метод має викликатися лише реалізаціями :class:`Executor` перед " +"виконанням роботи, пов’язаної з :class:`Future` і модульними тестами." + +msgid "" +"If the method returns ``False`` then the :class:`Future` was cancelled, i." +"e. :meth:`Future.cancel` was called and returned ``True``. Any threads " +"waiting on the :class:`Future` completing (i.e. through :func:`as_completed` " +"or :func:`wait`) will be woken up." +msgstr "" + +msgid "" +"If the method returns ``True`` then the :class:`Future` was not cancelled " +"and has been put in the running state, i.e. calls to :meth:`Future.running` " +"will return ``True``." +msgstr "" + +msgid "" +"This method can only be called once and cannot be called after :meth:`Future." +"set_result` or :meth:`Future.set_exception` have been called." +msgstr "" +"Цей метод можна викликати лише один раз і не можна викликати після виклику :" +"meth:`Future.set_result` або :meth:`Future.set_exception`." + +msgid "" +"Sets the result of the work associated with the :class:`Future` to *result*." +msgstr "" +"Встановлює для результату роботи, пов’язаної з :class:`Future` значення " +"*result*." + +msgid "" +"This method should only be used by :class:`Executor` implementations and " +"unit tests." +msgstr "" +"Цей метод має використовуватися лише реалізаціями :class:`Executor` і " +"модульними тестами." + +msgid "" +"This method raises :exc:`concurrent.futures.InvalidStateError` if the :class:" +"`Future` is already done." +msgstr "" +"Цей метод викликає :exc:`concurrent.futures.InvalidStateError`, якщо :class:" +"`Future` вже виконано." + +msgid "" +"Sets the result of the work associated with the :class:`Future` to the :" +"class:`Exception` *exception*." +msgstr "" +"Встановлює для результату роботи, пов’язаної з :class:`Future` значення :" +"class:`Exception` *виняток*." + +msgid "Module Functions" +msgstr "Функції модуля" + +msgid "" +"Wait for the :class:`Future` instances (possibly created by different :class:" +"`Executor` instances) given by *fs* to complete. Duplicate futures given to " +"*fs* are removed and will be returned only once. Returns a named 2-tuple of " +"sets. The first set, named ``done``, contains the futures that completed " +"(finished or cancelled futures) before the wait completed. The second set, " +"named ``not_done``, contains the futures that did not complete (pending or " +"running futures)." +msgstr "" +"Зачекайте, доки екземпляри :class:`Future` (можливо, створені різними " +"екземплярами :class:`Executor`), надані *fs*, завершаться. Подвійні " +"ф’ючерси, надані *fs*, видаляються та повертаються лише один раз. Повертає " +"іменований 2-кортеж наборів. Перший набір, названий ``done``, містить " +"ф'ючерси, які завершилися (завершені або скасовані ф'ючерси) до завершення " +"очікування. Другий набір під назвою ``not_done`` містить ф'ючерси, які не " +"завершилися (ф'ючерси, що очікують або виконуються)." + +msgid "" +"*timeout* can be used to control the maximum number of seconds to wait " +"before returning. *timeout* can be an int or float. If *timeout* is not " +"specified or ``None``, there is no limit to the wait time." +msgstr "" +"*timeout* можна використовувати для контролю максимальної кількості секунд " +"очікування перед поверненням. *timeout* може бути int або float. Якщо " +"*timeout* не вказано або ``None``, час очікування не обмежений." + +msgid "" +"*return_when* indicates when this function should return. It must be one of " +"the following constants:" +msgstr "" +"*return_when* вказує, коли ця функція має повернутися. Це має бути одна з " +"таких констант:" + +msgid "Constant" +msgstr "Постійний" + +msgid "Description" +msgstr "опис" + +msgid ":const:`FIRST_COMPLETED`" +msgstr ":const:`FIRST_COMPLETED`" + +msgid "The function will return when any future finishes or is cancelled." +msgstr "" +"Функція повернеться, коли будь-який майбутній завершиться або буде скасовано." + +msgid ":const:`FIRST_EXCEPTION`" +msgstr ":const:`FIRST_EXCEPTION`" + +msgid "" +"The function will return when any future finishes by raising an exception. " +"If no future raises an exception then it is equivalent to :const:" +"`ALL_COMPLETED`." +msgstr "" +"Функція повернеться, коли будь-який майбутній завершиться, викликавши " +"виняток. Якщо жодне майбутнє не викликає винятку, це еквівалентно :const:" +"`ALL_COMPLETED`." + +msgid ":const:`ALL_COMPLETED`" +msgstr ":const:`ALL_COMPLETED`" + +msgid "The function will return when all futures finish or are cancelled." +msgstr "" +"Функція повернеться, коли всі ф’ючерси закінчаться або будуть скасовані." + +msgid "" +"Returns an iterator over the :class:`Future` instances (possibly created by " +"different :class:`Executor` instances) given by *fs* that yields futures as " +"they complete (finished or cancelled futures). Any futures given by *fs* " +"that are duplicated will be returned once. Any futures that completed " +"before :func:`as_completed` is called will be yielded first. The returned " +"iterator raises a :exc:`TimeoutError` if :meth:`~iterator.__next__` is " +"called and the result isn't available after *timeout* seconds from the " +"original call to :func:`as_completed`. *timeout* can be an int or float. If " +"*timeout* is not specified or ``None``, there is no limit to the wait time." +msgstr "" + +msgid ":pep:`3148` -- futures - execute computations asynchronously" +msgstr ":pep:`3148` -- ф'ючерси - виконувати обчислення асинхронно" + +msgid "" +"The proposal which described this feature for inclusion in the Python " +"standard library." +msgstr "" +"Пропозиція, яка описує цю функцію для включення в стандартну бібліотеку " +"Python." + +msgid "Exception classes" +msgstr "Класи винятків" + +msgid "Raised when a future is cancelled." +msgstr "Піднімається, коли ф’ючерс скасовується." + +msgid "" +"A deprecated alias of :exc:`TimeoutError`, raised when a future operation " +"exceeds the given timeout." +msgstr "" + +msgid "This class was made an alias of :exc:`TimeoutError`." +msgstr "Цей клас отримав псевдонім :exc:`TimeoutError`." + +msgid "" +"Derived from :exc:`RuntimeError`, this exception class is raised when an " +"executor is broken for some reason, and cannot be used to submit or execute " +"new tasks." +msgstr "" +"Похідний від :exc:`RuntimeError`, цей клас винятків виникає, коли виконавець " +"з певної причини не працює, і його не можна використовувати для надсилання " +"або виконання нових завдань." + +msgid "" +"Raised when an operation is performed on a future that is not allowed in the " +"current state." +msgstr "" +"Викликається, коли над майбутнім виконується операція, яка не дозволена в " +"поточному стані." + +msgid "" +"Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class " +"is raised when one of the workers of a :class:`ThreadPoolExecutor` has " +"failed initializing." +msgstr "" +"Похідний від :exc:`~concurrent.futures.BrokenExecutor`, цей клас винятків " +"виникає, коли один із робочих елементів :class:`ThreadPoolExecutor` не " +"вдається ініціалізувати." + +msgid "" +"Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:" +"`RuntimeError`), this exception class is raised when one of the workers of " +"a :class:`ProcessPoolExecutor` has terminated in a non-clean fashion (for " +"example, if it was killed from the outside)." +msgstr "" +"Похідний від :exc:`~concurrent.futures.BrokenExecutor` (раніше :exc:" +"`RuntimeError`), цей клас винятків виникає, коли один із робочих елементів :" +"class:`ProcessPoolExecutor` завершує роботу неправильно ( наприклад, якщо " +"його вбили ззовні)." diff --git a/library/configparser.po b/library/configparser.po new file mode 100644 index 000000000..fde7a33a2 --- /dev/null +++ b/library/configparser.po @@ -0,0 +1,1500 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`configparser` --- Configuration file parser" +msgstr ":mod:`configparser` --- Парсер конфігураційного файлу" + +msgid "**Source code:** :source:`Lib/configparser.py`" +msgstr "**Вихідний код:** :source:`Lib/configparser.py`" + +msgid "" +"This module provides the :class:`ConfigParser` class which implements a " +"basic configuration language which provides a structure similar to what's " +"found in Microsoft Windows INI files. You can use this to write Python " +"programs which can be customized by end users easily." +msgstr "" +"Цей модуль надає клас :class:`ConfigParser`, який реалізує базову мову " +"конфігурації, яка забезпечує структуру, подібну до тієї, що міститься у " +"файлах Microsoft Windows INI. Ви можете використовувати це для написання " +"програм на Python, які можуть бути легко налаштовані кінцевими користувачами." + +msgid "" +"This library does *not* interpret or write the value-type prefixes used in " +"the Windows Registry extended version of INI syntax." +msgstr "" +"Ця бібліотека *не* інтерпретує та не записує префікси типу значень, які " +"використовуються в розширеній версії синтаксису INI реєстру Windows." + +msgid "Module :mod:`tomllib`" +msgstr "" + +msgid "" +"TOML is a well-specified format for application configuration files. It is " +"specifically designed to be an improved version of INI." +msgstr "" + +msgid "Module :mod:`shlex`" +msgstr "Модуль :mod:`shlex`" + +msgid "" +"Support for creating Unix shell-like mini-languages which can also be used " +"for application configuration files." +msgstr "" + +msgid "Module :mod:`json`" +msgstr "Модуль :mod:`json`" + +msgid "" +"The ``json`` module implements a subset of JavaScript syntax which is " +"sometimes used for configuration, but does not support comments." +msgstr "" + +msgid "Quick Start" +msgstr "Швидкий початок" + +msgid "Let's take a very basic configuration file that looks like this:" +msgstr "Давайте візьмемо простий файл конфігурації, який виглядає так:" + +msgid "" +"The structure of INI files is described `in the following section " +"<#supported-ini-file-structure>`_. Essentially, the file consists of " +"sections, each of which contains keys with values. :mod:`configparser` " +"classes can read and write such files. Let's start by creating the above " +"configuration file programmatically." +msgstr "" +"Структура файлів INI описана `в наступному розділі <#supported-ini-file-" +"structure>`_. По суті, файл складається з розділів, кожен з яких містить " +"ключі зі значеннями. :mod:`configparser` класи можуть читати та записувати " +"такі файли. Почнемо зі створення наведеного вище файлу конфігурації " +"програмним шляхом." + +msgid "" +"As you can see, we can treat a config parser much like a dictionary. There " +"are differences, `outlined later <#mapping-protocol-access>`_, but the " +"behavior is very close to what you would expect from a dictionary." +msgstr "" +"Як бачите, ми можемо розглядати аналізатор конфігурації так само, як " +"словник. Є відмінності, `викладені пізніше <#mapping-protocol-access>`_, але " +"поведінка дуже близька до того, що ви очікуєте від словника." + +msgid "" +"Now that we have created and saved a configuration file, let's read it back " +"and explore the data it holds." +msgstr "" +"Тепер, коли ми створили та зберегли файл конфігурації, давайте перечитаємо " +"його та дослідимо дані, які він містить." + +msgid "" +"As we can see above, the API is pretty straightforward. The only bit of " +"magic involves the ``DEFAULT`` section which provides default values for all " +"other sections [1]_. Note also that keys in sections are case-insensitive " +"and stored in lowercase [1]_." +msgstr "" +"Як ми бачимо вище, API досить простий. Єдина магія стосується розділу " +"``DEFAULT``, який надає значення за умовчанням для всіх інших розділів [1]_. " +"Зауважте також, що ключі в розділах нечутливі до регістру та зберігаються в " +"нижньому регістрі [1]_." + +msgid "" +"It is possible to read several configurations into a single :class:" +"`ConfigParser`, where the most recently added configuration has the highest " +"priority. Any conflicting keys are taken from the more recent configuration " +"while the previously existing keys are retained." +msgstr "" +"Можна прочитати кілька конфігурацій в один :class:`ConfigParser`, де " +"найвищий пріоритет має остання додана конфігурація. Будь-які конфліктні " +"ключі беруться з останньої конфігурації, тоді як існуючі раніше ключі " +"зберігаються." + +msgid "" +"This behaviour is equivalent to a :meth:`ConfigParser.read` call with " +"several files passed to the *filenames* parameter." +msgstr "" +"Така поведінка еквівалентна виклику :meth:`ConfigParser.read` з кількома " +"файлами, переданими в параметр *filenames*." + +msgid "Supported Datatypes" +msgstr "Підтримувані типи даних" + +msgid "" +"Config parsers do not guess datatypes of values in configuration files, " +"always storing them internally as strings. This means that if you need " +"other datatypes, you should convert on your own:" +msgstr "" +"Синтаксичні аналізатори конфігурації не вгадують типи даних значень у файлах " +"конфігурації, завжди зберігаючи їх усередині як рядки. Це означає, що якщо " +"вам потрібні інші типи даних, ви повинні конвертувати самостійно:" + +msgid "" +"Since this task is so common, config parsers provide a range of handy getter " +"methods to handle integers, floats and booleans. The last one is the most " +"interesting because simply passing the value to ``bool()`` would do no good " +"since ``bool('False')`` is still ``True``. This is why config parsers also " +"provide :meth:`~ConfigParser.getboolean`. This method is case-insensitive " +"and recognizes Boolean values from ``'yes'``/``'no'``, ``'on'``/``'off'``, " +"``'true'``/``'false'`` and ``'1'``/``'0'`` [1]_. For example:" +msgstr "" +"Оскільки це завдання дуже поширене, аналізатори конфігурації надають ряд " +"зручних методів отримання для обробки цілих чисел, чисел з плаваючою точкою " +"та логічних значень. Останнє є найцікавішим, тому що проста передача " +"значення в ``bool()`` не принесе користі, оскільки ``bool('False')`` все ще " +"``True``. Ось чому аналізатори конфігурації також надають :meth:" +"`~ConfigParser.getboolean`. Цей метод не враховує регістр і розпізнає " +"логічні значення з ``'yes'``/``'no'``, ``'on'``/``'off'``, ``'true'`` /" +"``'false'`` і ``'1'``/``'0'`` [1]_. Наприклад:" + +msgid "" +"Apart from :meth:`~ConfigParser.getboolean`, config parsers also provide " +"equivalent :meth:`~ConfigParser.getint` and :meth:`~ConfigParser.getfloat` " +"methods. You can register your own converters and customize the provided " +"ones. [1]_" +msgstr "" +"Крім :meth:`~ConfigParser.getboolean`, аналізатори конфігурації також " +"надають еквівалентні методи :meth:`~ConfigParser.getint` і :meth:" +"`~ConfigParser.getfloat`. Ви можете зареєструвати власні конвертери та " +"налаштувати надані. [1]_" + +msgid "Fallback Values" +msgstr "Запасні значення" + +msgid "" +"As with a dictionary, you can use a section's :meth:`get` method to provide " +"fallback values:" +msgstr "" +"Як і у випадку зі словником, ви можете використовувати метод розділу :meth:" +"`get` для надання резервних значень:" + +msgid "" +"Please note that default values have precedence over fallback values. For " +"instance, in our example the ``'CompressionLevel'`` key was specified only " +"in the ``'DEFAULT'`` section. If we try to get it from the section " +"``'topsecret.server.com'``, we will always get the default, even if we " +"specify a fallback:" +msgstr "" +"Зауважте, що значення за замовчуванням мають пріоритет над резервними " +"значеннями. Наприклад, у нашому прикладі ключ ``'CompressionLevel`` було " +"вказано лише в розділі ``'DEFAULT'``. Якщо ми спробуємо отримати його з " +"розділу ``'topsecret.server.com``, ми завжди отримаємо значення за " +"замовчуванням, навіть якщо ми вкажемо запасний варіант:" + +msgid "" +"One more thing to be aware of is that the parser-level :meth:`get` method " +"provides a custom, more complex interface, maintained for backwards " +"compatibility. When using this method, a fallback value can be provided via " +"the ``fallback`` keyword-only argument:" +msgstr "" +"Ще одна річ, про яку слід пам’ятати, це те, що метод :meth:`get` на рівні " +"аналізатора надає спеціальний, більш складний інтерфейс, який підтримується " +"для зворотної сумісності. Під час використання цього методу резервне " +"значення може бути надано за допомогою лише ключового аргументу ``fallback``:" + +msgid "" +"The same ``fallback`` argument can be used with the :meth:`~ConfigParser." +"getint`, :meth:`~ConfigParser.getfloat` and :meth:`~ConfigParser.getboolean` " +"methods, for example:" +msgstr "" +"Той самий резервний аргумент можна використовувати з методами :meth:" +"`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` і :meth:" +"`~ConfigParser.getboolean`, наприклад:" + +msgid "Supported INI File Structure" +msgstr "Підтримувана структура файлу INI" + +msgid "" +"A configuration file consists of sections, each led by a ``[section]`` " +"header, followed by key/value entries separated by a specific string (``=`` " +"or ``:`` by default [1]_). By default, section names are case sensitive but " +"keys are not [1]_. Leading and trailing whitespace is removed from keys and " +"values. Values can be omitted if the parser is configured to allow it [1]_, " +"in which case the key/value delimiter may also be left out. Values can also " +"span multiple lines, as long as they are indented deeper than the first line " +"of the value. Depending on the parser's mode, blank lines may be treated as " +"parts of multiline values or ignored." +msgstr "" +"Файл конфігурації складається з розділів, кожен із яких очолюється " +"заголовком ``[section]``, за яким ідуть записи ключ/значення, розділені " +"певним рядком (``=`` або ``:`` за умовчанням [1]_) . За замовчуванням назви " +"розділів чутливі до регістру, але ключі не [1]_. Пробіли на початку та в " +"кінці видаляються з ключів і значень. Значення можна опустити, якщо " +"синтаксичний аналізатор налаштовано на це дозволено [1]_, у цьому випадку " +"роздільник ключ/значення також може бути пропущений. Значення також можуть " +"охоплювати кілька рядків, якщо вони мають відступ глибший, ніж перший рядок " +"значення. Залежно від режиму аналізатора, порожні рядки можуть розглядатися " +"як частини багаторядкових значень або ігноруватися." + +msgid "" +"By default, a valid section name can be any string that does not contain '\\" +"\\n' or ']'. To change this, see :attr:`ConfigParser.SECTCRE`." +msgstr "" +"За замовчуванням дійсна назва розділу може бути будь-яким рядком, який не " +"містить '\\\\n' або ']'. Щоб змінити це, перегляньте :attr:`ConfigParser." +"SECTCRE`." + +msgid "" +"Configuration files may include comments, prefixed by specific characters " +"(``#`` and ``;`` by default [1]_). Comments may appear on their own on an " +"otherwise empty line, possibly indented. [1]_" +msgstr "" +"Файли конфігурації можуть містити коментарі, перед якими стоять певні " +"символи (``#`` і ``;`` за замовчуванням [1]_). Коментарі можуть з’явитися " +"самостійно в порожньому рядку, можливо, з відступом. [1]_" + +msgid "For example:" +msgstr "Наприклад:" + +msgid "Interpolation of values" +msgstr "Інтерполяція значень" + +msgid "" +"On top of the core functionality, :class:`ConfigParser` supports " +"interpolation. This means values can be preprocessed before returning them " +"from ``get()`` calls." +msgstr "" +"Окрім основних функцій, :class:`ConfigParser` підтримує інтерполяцію. Це " +"означає, що значення можна попередньо обробити перед поверненням із викликів " +"``get()``." + +msgid "" +"The default implementation used by :class:`ConfigParser`. It enables values " +"to contain format strings which refer to other values in the same section, " +"or values in the special default section [1]_. Additional default values " +"can be provided on initialization." +msgstr "" +"Стандартна реалізація, яку використовує :class:`ConfigParser`. Це дозволяє " +"значенням містити рядки формату, які посилаються на інші значення в тому " +"самому розділі, або значення в спеціальному розділі за замовчуванням [1]_. " +"Під час ініціалізації можна надати додаткові значення за замовчуванням." + +msgid "" +"In the example above, :class:`ConfigParser` with *interpolation* set to " +"``BasicInterpolation()`` would resolve ``%(home_dir)s`` to the value of " +"``home_dir`` (``/Users`` in this case). ``%(my_dir)s`` in effect would " +"resolve to ``/Users/lumberjack``. All interpolations are done on demand so " +"keys used in the chain of references do not have to be specified in any " +"specific order in the configuration file." +msgstr "" +"У наведеному вище прикладі :class:`ConfigParser` з *інтерполяцією*, " +"встановленою на ``BasicInterpolation()``, перетворює ``%(home_dir)s`` на " +"значення ``home_dir`` (``/Users`` у цьому випадку ). ``%(my_dir)s`` фактично " +"перетворювався б на ``/Users/lumberjack``. Усі інтерполяції виконуються на " +"вимогу, тому ключі, які використовуються в ланцюжку посилань, не потрібно " +"вказувати в певному порядку у файлі конфігурації." + +msgid "" +"With ``interpolation`` set to ``None``, the parser would simply return ``" +"%(my_dir)s/Pictures`` as the value of ``my_pictures`` and ``%(home_dir)s/" +"lumberjack`` as the value of ``my_dir``." +msgstr "" +"Якщо ``interpolation`` встановлено на ``None``, аналізатор просто " +"повертатиме ``%(my_dir)s`` як значення ``my_pictures`` і ``%(home_dir)s/" +"lumberjack`` як значення ``my_dir``." + +msgid "" +"An alternative handler for interpolation which implements a more advanced " +"syntax, used for instance in ``zc.buildout``. Extended interpolation is " +"using ``${section:option}`` to denote a value from a foreign section. " +"Interpolation can span multiple levels. For convenience, if the ``section:" +"`` part is omitted, interpolation defaults to the current section (and " +"possibly the default values from the special section)." +msgstr "" +"Альтернативний обробник для інтерполяції, який реалізує розширеніший " +"синтаксис, який використовується, наприклад, у ``zc.buildout``. Розширена " +"інтерполяція використовує ``${section:option}`` для позначення значення з " +"іноземного розділу. Інтерполяція може охоплювати кілька рівнів. Для " +"зручності, якщо частина ``section:`` опущена, інтерполяція за замовчуванням " +"використовується для поточного розділу (і, можливо, до значень за " +"замовчуванням зі спеціального розділу)." + +msgid "" +"For example, the configuration specified above with basic interpolation, " +"would look like this with extended interpolation:" +msgstr "" +"Наприклад, зазначена вище конфігурація з базовою інтерполяцією виглядатиме " +"так з розширеною інтерполяцією:" + +msgid "Values from other sections can be fetched as well:" +msgstr "Також можна отримати значення з інших розділів:" + +msgid "Mapping Protocol Access" +msgstr "Доступ до протоколу відображення" + +msgid "" +"Mapping protocol access is a generic name for functionality that enables " +"using custom objects as if they were dictionaries. In case of :mod:" +"`configparser`, the mapping interface implementation is using the " +"``parser['section']['option']`` notation." +msgstr "" +"Доступ до протоколу зіставлення — це загальна назва функціональних " +"можливостей, які дають змогу використовувати спеціальні об’єкти як словники. " +"У випадку :mod:`configparser` реалізація інтерфейсу зіставлення використовує " +"нотацію ``parser['section']['option']``." + +msgid "" +"``parser['section']`` in particular returns a proxy for the section's data " +"in the parser. This means that the values are not copied but they are taken " +"from the original parser on demand. What's even more important is that when " +"values are changed on a section proxy, they are actually mutated in the " +"original parser." +msgstr "" +"``parser['section']`` зокрема повертає проксі для даних розділу в " +"аналізаторі. Це означає, що значення не копіюються, а беруться з " +"оригінального аналізатора на вимогу. Ще важливішим є те, що коли значення " +"змінюються на проксі-сервері розділу, вони фактично змінюються в " +"оригінальному парсері." + +msgid "" +":mod:`configparser` objects behave as close to actual dictionaries as " +"possible. The mapping interface is complete and adheres to the :class:" +"`~collections.abc.MutableMapping` ABC. However, there are a few differences " +"that should be taken into account:" +msgstr "" +":mod:`configparser` об’єкти поводяться якомога ближче до справжніх " +"словників. Інтерфейс зіставлення завершений і відповідає :class:" +"`~collections.abc.MutableMapping` ABC. Однак є кілька відмінностей, які слід " +"взяти до уваги:" + +msgid "" +"By default, all keys in sections are accessible in a case-insensitive manner " +"[1]_. E.g. ``for option in parser[\"section\"]`` yields only " +"``optionxform``'ed option key names. This means lowercased keys by " +"default. At the same time, for a section that holds the key ``'a'``, both " +"expressions return ``True``::" +msgstr "" +"За замовчуванням усі ключі в розділах доступні без урахування регістру [1]_. " +"наприклад ``for option in parser[\"section\"]`` дає лише ``optionxform`` " +"імена ключів опцій. Це означає, що ключі в нижньому регістрі за " +"замовчуванням. Водночас для розділу, який містить ключ ``'a``, обидва вирази " +"повертають ``True``::" + +msgid "" +"All sections include ``DEFAULTSECT`` values as well which means that ``." +"clear()`` on a section may not leave the section visibly empty. This is " +"because default values cannot be deleted from the section (because " +"technically they are not there). If they are overridden in the section, " +"deleting causes the default value to be visible again. Trying to delete a " +"default value causes a :exc:`KeyError`." +msgstr "" +"Усі розділи також містять значення ``DEFAULTSECT``, що означає, що ``." +"clear()`` у розділі не може залишати розділ видимо порожнім. Це тому, що " +"значення за замовчуванням не можна видалити з розділу (оскільки технічно їх " +"там немає). Якщо їх перевизначено в розділі, видалення призведе до того, що " +"значення за замовчуванням знову стане видимим. Спроба видалити значення за " +"замовчуванням викликає :exc:`KeyError`." + +msgid "``DEFAULTSECT`` cannot be removed from the parser:" +msgstr "``DEFAULTSECT`` не можна видалити з аналізатора:" + +msgid "trying to delete it raises :exc:`ValueError`," +msgstr "спроба його видалити викликає :exc:`ValueError`," + +msgid "``parser.clear()`` leaves it intact," +msgstr "``parser.clear()`` залишає його недоторканим," + +msgid "``parser.popitem()`` never returns it." +msgstr "``parser.popitem()`` ніколи не повертає його." + +msgid "" +"``parser.get(section, option, **kwargs)`` - the second argument is **not** a " +"fallback value. Note however that the section-level ``get()`` methods are " +"compatible both with the mapping protocol and the classic configparser API." +msgstr "" +"``parser.get(section, option, **kwargs)`` - другий аргумент **не** є " +"резервним значенням. Однак зауважте, що методи ``get()`` на рівні розділу " +"сумісні як з протоколом відображення, так і з класичним API конфігуратора." + +msgid "" +"``parser.items()`` is compatible with the mapping protocol (returns a list " +"of *section_name*, *section_proxy* pairs including the DEFAULTSECT). " +"However, this method can also be invoked with arguments: ``parser." +"items(section, raw, vars)``. The latter call returns a list of *option*, " +"*value* pairs for a specified ``section``, with all interpolations expanded " +"(unless ``raw=True`` is provided)." +msgstr "" +"``parser.items()`` сумісний із протоколом відображення (повертає список пар " +"*section_name*, *section_proxy*, включаючи DEFAULTSECT). Однак цей метод " +"також можна викликати за допомогою аргументів: ``parser.items(section, raw, " +"vars)``. Останній виклик повертає список пар *option*, *value* для вказаного " +"``розділу`` з усіма розширеними інтерполяціями (якщо не надано ``raw=True``)." + +msgid "" +"The mapping protocol is implemented on top of the existing legacy API so " +"that subclasses overriding the original interface still should have mappings " +"working as expected." +msgstr "" +"Протокол відображення реалізовано поверх існуючого застарілого API, так що " +"підкласи, які замінюють вихідний інтерфейс, все ще повинні мати " +"відображення, що працюють належним чином." + +msgid "Customizing Parser Behaviour" +msgstr "Налаштування поведінки аналізатора" + +msgid "" +"There are nearly as many INI format variants as there are applications using " +"it. :mod:`configparser` goes a long way to provide support for the largest " +"sensible set of INI styles available. The default functionality is mainly " +"dictated by historical background and it's very likely that you will want to " +"customize some of the features." +msgstr "" +"Існує майже стільки ж варіантів формату INI, скільки програм, які його " +"використовують. :mod:`configparser` робить довгий шлях, щоб забезпечити " +"підтримку найбільшого розумного набору доступних стилів INI. " +"Функціональність за замовчуванням здебільшого продиктована історичним " +"минулим, і дуже ймовірно, що ви захочете налаштувати деякі функції." + +msgid "" +"The most common way to change the way a specific config parser works is to " +"use the :meth:`__init__` options:" +msgstr "" +"Найпоширеніший спосіб змінити спосіб роботи конкретного парсера конфігурації " +"— це використовувати параметри :meth:`__init__`:" + +msgid "*defaults*, default value: ``None``" +msgstr "*за замовчуванням*, значення за замовчуванням: ``None``" + +msgid "" +"This option accepts a dictionary of key-value pairs which will be initially " +"put in the ``DEFAULT`` section. This makes for an elegant way to support " +"concise configuration files that don't specify values which are the same as " +"the documented default." +msgstr "" +"Цей параметр приймає словник пар ключ-значення, який спочатку буде розміщено " +"в розділі ``DEFAULT``. Це створює елегантний спосіб підтримки стислих " +"конфігураційних файлів, які не вказують значення, які збігаються з " +"документованими за замовчуванням." + +msgid "" +"Hint: if you want to specify default values for a specific section, use :" +"meth:`read_dict` before you read the actual file." +msgstr "" +"Підказка: якщо ви хочете вказати значення за замовчуванням для певного " +"розділу, використовуйте :meth:`read_dict` перед тим, як читати фактичний " +"файл." + +msgid "*dict_type*, default value: :class:`dict`" +msgstr "*dict_type*, значення за умовчанням: :class:`dict`" + +msgid "" +"This option has a major impact on how the mapping protocol will behave and " +"how the written configuration files look. With the standard dictionary, " +"every section is stored in the order they were added to the parser. Same " +"goes for options within sections." +msgstr "" +"Цей параметр значно впливає на роботу протоколу відображення та вигляд " +"записаних конфігураційних файлів. У стандартному словнику кожен розділ " +"зберігається в порядку їх додавання до синтаксичного аналізатора. Те саме " +"стосується параметрів у розділах." + +msgid "" +"An alternative dictionary type can be used for example to sort sections and " +"options on write-back." +msgstr "" +"Альтернативний тип словника можна використовувати, наприклад, для сортування " +"розділів і параметрів під час зворотного запису." + +msgid "" +"Please note: there are ways to add a set of key-value pairs in a single " +"operation. When you use a regular dictionary in those operations, the order " +"of the keys will be ordered. For example:" +msgstr "" +"Зверніть увагу: є способи додати набір пар ключ-значення за одну операцію. " +"Якщо ви використовуєте звичайний словник у цих операціях, порядок ключів " +"буде впорядкованим. Наприклад:" + +msgid "*allow_no_value*, default value: ``False``" +msgstr "*allow_no_value*, значення за умовчанням: ``False``" + +msgid "" +"Some configuration files are known to include settings without values, but " +"which otherwise conform to the syntax supported by :mod:`configparser`. The " +"*allow_no_value* parameter to the constructor can be used to indicate that " +"such values should be accepted:" +msgstr "" +"Відомо, що деякі конфігураційні файли містять налаштування без значень, але " +"в іншому випадку вони відповідають синтаксису, який підтримує :mod:" +"`configparser`. Параметр *allow_no_value* для конструктора можна " +"використовувати, щоб вказати, що такі значення повинні бути прийняті:" + +msgid "*delimiters*, default value: ``('=', ':')``" +msgstr "*роздільники*, значення за умовчанням: ``('=', ':')``" + +msgid "" +"Delimiters are substrings that delimit keys from values within a section. " +"The first occurrence of a delimiting substring on a line is considered a " +"delimiter. This means values (but not keys) can contain the delimiters." +msgstr "" +"Роздільники — це підрядки, які відокремлюють ключі від значень у розділі. " +"Перше входження розділювального підрядка в рядок вважається роздільником. Це " +"означає, що значення (але не ключі) можуть містити розділювачі." + +msgid "" +"See also the *space_around_delimiters* argument to :meth:`ConfigParser." +"write`." +msgstr "" +"Дивіться також аргумент *space_around_delimiters* для :meth:`ConfigParser." +"write`." + +msgid "*comment_prefixes*, default value: ``('#', ';')``" +msgstr "*comment_prefixes*, значення за умовчанням: ``('#', ';')``" + +msgid "*inline_comment_prefixes*, default value: ``None``" +msgstr "*inline_comment_prefixes*, значення за умовчанням: ``None``" + +msgid "" +"Comment prefixes are strings that indicate the start of a valid comment " +"within a config file. *comment_prefixes* are used only on otherwise empty " +"lines (optionally indented) whereas *inline_comment_prefixes* can be used " +"after every valid value (e.g. section names, options and empty lines as " +"well). By default inline comments are disabled and ``'#'`` and ``';'`` are " +"used as prefixes for whole line comments." +msgstr "" +"Префікси коментарів — це рядки, які вказують на початок дійсного коментаря у " +"конфігураційному файлі. *comment_prefixes* використовуються лише в порожніх " +"рядках (необов’язково з відступом), тоді як *inline_comment_prefixes* можна " +"використовувати після кожного дійсного значення (наприклад, назв розділів, " +"параметрів і порожніх рядків). За замовчуванням вбудовані коментарі " +"вимкнено, а ``'#'`` і ``';''`` використовуються як префікси для цілих " +"рядкових коментарів." + +msgid "" +"In previous versions of :mod:`configparser` behaviour matched " +"``comment_prefixes=('#',';')`` and ``inline_comment_prefixes=(';',)``." +msgstr "" +"У попередніх версіях :mod:`configparser` поведінка відповідала " +"``comment_prefixes=('#',';')`` та ``inline_comment_prefixes=(';',)``." + +msgid "" +"Please note that config parsers don't support escaping of comment prefixes " +"so using *inline_comment_prefixes* may prevent users from specifying option " +"values with characters used as comment prefixes. When in doubt, avoid " +"setting *inline_comment_prefixes*. In any circumstances, the only way of " +"storing comment prefix characters at the beginning of a line in multiline " +"values is to interpolate the prefix, for example::" +msgstr "" +"Зауважте, що аналізатори конфігурації не підтримують екранування префіксів " +"коментарів, тому використання *inline_comment_prefixes* може перешкодити " +"користувачам вказувати значення параметрів із символами, які " +"використовуються як префікси коментарів. Якщо сумніваєтеся, уникайте " +"встановлення *inline_comment_prefixes*. За будь-яких обставин єдиний спосіб " +"зберегти символи префікса коментаря на початку рядка в багаторядкових " +"значеннях — це інтерполювати префікс, наприклад::" + +msgid "*strict*, default value: ``True``" +msgstr "*строгий*, значення за умовчанням: ``True``" + +msgid "" +"When set to ``True``, the parser will not allow for any section or option " +"duplicates while reading from a single source (using :meth:`read_file`, :" +"meth:`read_string` or :meth:`read_dict`). It is recommended to use strict " +"parsers in new applications." +msgstr "" +"Якщо встановлено значення ``True``, синтаксичний аналізатор не допускатиме " +"жодних дублікатів розділів чи параметрів під час читання з одного джерела (з " +"використанням :meth:`read_file`, :meth:`read_string` або :meth:`read_dict`). " +"Рекомендується використовувати строгі парсери в нових програмах." + +msgid "" +"In previous versions of :mod:`configparser` behaviour matched " +"``strict=False``." +msgstr "" +"У попередніх версіях :mod:`configparser` поведінка відповідала " +"``strict=False``." + +msgid "*empty_lines_in_values*, default value: ``True``" +msgstr "*empty_lines_in_values*, значення за умовчанням: ``True``" + +msgid "" +"In config parsers, values can span multiple lines as long as they are " +"indented more than the key that holds them. By default parsers also let " +"empty lines to be parts of values. At the same time, keys can be " +"arbitrarily indented themselves to improve readability. In consequence, " +"when configuration files get big and complex, it is easy for the user to " +"lose track of the file structure. Take for instance:" +msgstr "" +"У синтаксичних аналізаторах конфігурації значення можуть охоплювати кілька " +"рядків, якщо вони мають відступ більше, ніж ключ, який їх містить. За " +"замовчуванням аналізатори також дозволяють порожнім рядкам бути частинами " +"значень. У той же час самі клавіші можуть мати довільний відступ для " +"покращення читабельності. Як наслідок, коли файли конфігурації стають " +"великими та складними, користувачеві легко втратити структуру файлу. " +"Візьмемо, наприклад:" + +msgid "" +"This can be especially problematic for the user to see if she's using a " +"proportional font to edit the file. That is why when your application does " +"not need values with empty lines, you should consider disallowing them. " +"This will make empty lines split keys every time. In the example above, it " +"would produce two keys, ``key`` and ``this``." +msgstr "" +"Це може бути особливо проблематично для користувача, щоб побачити, чи він " +"використовує пропорційний шрифт для редагування файлу. Ось чому, якщо вашій " +"програмі не потрібні значення з порожніми рядками, вам слід подумати про їх " +"заборону. Це змусить порожні рядки кожного разу розділяти ключі. У " +"наведеному вище прикладі буде створено два ключі, ``key`` і ``this``." + +msgid "" +"*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: ``" +"\"DEFAULT\"``)" +msgstr "" +"*default_section*, значення за замовчуванням: ``configparser.DEFAULTSECT`` " +"(тобто: ``\"DEFAULT\"``)" + +msgid "" +"The convention of allowing a special section of default values for other " +"sections or interpolation purposes is a powerful concept of this library, " +"letting users create complex declarative configurations. This section is " +"normally called ``\"DEFAULT\"`` but this can be customized to point to any " +"other valid section name. Some typical values include: ``\"general\"`` or ``" +"\"common\"``. The name provided is used for recognizing default sections " +"when reading from any source and is used when writing configuration back to " +"a file. Its current value can be retrieved using the ``parser_instance." +"default_section`` attribute and may be modified at runtime (i.e. to convert " +"files from one format to another)." +msgstr "" +"Угода про дозвіл спеціального розділу значень за замовчуванням для інших " +"розділів або для цілей інтерполяції є потужною концепцією цієї бібліотеки, " +"що дозволяє користувачам створювати складні декларативні конфігурації. Цей " +"розділ зазвичай називається ``\"ЗА УМОВЧУВАННЯМ\"``, але його можна " +"налаштувати так, щоб вказувати на будь-яку іншу дійсну назву розділу. Деякі " +"типові значення включають: ``\"загальний\"`` або ``\"загальний\"``. Надана " +"назва використовується для розпізнавання розділів за замовчуванням під час " +"читання з будь-якого джерела та під час запису конфігурації назад у файл. " +"Його поточне значення можна отримати за допомогою атрибута ``parser_instance." +"default_section`` і можна змінити під час виконання (тобто для перетворення " +"файлів з одного формату в інший)." + +msgid "*interpolation*, default value: ``configparser.BasicInterpolation``" +msgstr "" +"*інтерполяція*, значення за умовчанням: ``configparser.BasicInterpolation``" + +msgid "" +"Interpolation behaviour may be customized by providing a custom handler " +"through the *interpolation* argument. ``None`` can be used to turn off " +"interpolation completely, ``ExtendedInterpolation()`` provides a more " +"advanced variant inspired by ``zc.buildout``. More on the subject in the " +"`dedicated documentation section <#interpolation-of-values>`_. :class:" +"`RawConfigParser` has a default value of ``None``." +msgstr "" +"Поведінку інтерполяції можна налаштувати, надавши спеціальний обробник через " +"аргумент *interpolation*. ``None`` можна використовувати, щоб повністю " +"вимкнути інтерполяцію, ``ExtendedInterpolation()`` надає більш просунутий " +"варіант, натхненний ``zc.buildout``. Більше про цю тему див. у розділі " +"`спеціальної документації <#interpolation-of-values>`_. :class:" +"`RawConfigParser` має значення за замовчуванням ``None``." + +msgid "*converters*, default value: not set" +msgstr "*конвертери*, значення за замовчуванням: не встановлено" + +msgid "" +"Config parsers provide option value getters that perform type conversion. " +"By default :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat`, " +"and :meth:`~ConfigParser.getboolean` are implemented. Should other getters " +"be desirable, users may define them in a subclass or pass a dictionary where " +"each key is a name of the converter and each value is a callable " +"implementing said conversion. For instance, passing ``{'decimal': decimal." +"Decimal}`` would add :meth:`getdecimal` on both the parser object and all " +"section proxies. In other words, it will be possible to write both " +"``parser_instance.getdecimal('section', 'key', fallback=0)`` and " +"``parser_instance['section'].getdecimal('key', 0)``." +msgstr "" +"Синтаксичні аналізатори конфігурації забезпечують отримання значень " +"параметрів, які виконують перетворення типів. За замовчуванням реалізовано :" +"meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` і :meth:" +"`~ConfigParser.getboolean`. Якщо потрібні інші геттери, користувачі можуть " +"визначити їх у підкласі або передати словник, де кожен ключ є назвою " +"конвертера, а кожне значення є викликом, що реалізує вказане перетворення. " +"Наприклад, передача ``{'decimal': decimal.Decimal}`` додасть :meth:" +"`getdecimal` як до об’єкта аналізатора, так і до всіх проксі-серверів " +"розділів. Іншими словами, можна буде написати як ``parser_instance." +"getdecimal('section', 'key', fallback=0)``, так і " +"``parser_instance['section'].getdecimal('key', 0)``." + +msgid "" +"If the converter needs to access the state of the parser, it can be " +"implemented as a method on a config parser subclass. If the name of this " +"method starts with ``get``, it will be available on all section proxies, in " +"the dict-compatible form (see the ``getdecimal()`` example above)." +msgstr "" +"Якщо конвертеру потрібно отримати доступ до стану аналізатора, його можна " +"реалізувати як метод у підкласі аналізатора конфігурації. Якщо назва цього " +"методу починається з ``get``, він буде доступний на всіх проксі-серверах " +"розділів у формі, сумісній з dict (див. приклад ``getdecimal()`` вище)." + +msgid "" +"More advanced customization may be achieved by overriding default values of " +"these parser attributes. The defaults are defined on the classes, so they " +"may be overridden by subclasses or by attribute assignment." +msgstr "" +"Більш просунуте налаштування можна досягти шляхом заміни значень за " +"замовчуванням цих атрибутів аналізатора. Значення за замовчуванням визначені " +"в класах, тому вони можуть бути замінені підкласами або призначенням " +"атрибутів." + +msgid "" +"By default when using :meth:`~ConfigParser.getboolean`, config parsers " +"consider the following values ``True``: ``'1'``, ``'yes'``, ``'true'``, " +"``'on'`` and the following values ``False``: ``'0'``, ``'no'``, ``'false'``, " +"``'off'``. You can override this by specifying a custom dictionary of " +"strings and their Boolean outcomes. For example:" +msgstr "" +"За замовчуванням під час використання :meth:`~ConfigParser.getboolean` " +"аналізатори конфігурації враховують такі значення ``True``: ``'1'``, " +"``'yes'``, ``'true'``, ``'on'`` і такі значення ``False``: ``'0'``, " +"``'no'``, ``'false'``, ``'off'``. Ви можете перевизначити це, вказавши " +"спеціальний словник рядків та їхніх логічних результатів. Наприклад:" + +msgid "" +"Other typical Boolean pairs include ``accept``/``reject`` or ``enabled``/" +"``disabled``." +msgstr "" +"Інші типові логічні пари включають ``accept``/``reject`` або ``enabled``/" +"``disabled``." + +msgid "" +"This method transforms option names on every read, get, or set operation. " +"The default converts the name to lowercase. This also means that when a " +"configuration file gets written, all keys will be lowercase. Override this " +"method if that's unsuitable. For example:" +msgstr "" +"Цей метод перетворює назви параметрів під час кожної операції читання, " +"отримання або встановлення. За замовчуванням ім'я перетворюється на малі " +"літери. Це також означає, що під час запису файлу конфігурації всі ключі " +"будуть малими літерами. Перевизначте цей метод, якщо він не підходить. " +"Наприклад:" + +msgid "" +"The optionxform function transforms option names to a canonical form. This " +"should be an idempotent function: if the name is already in canonical form, " +"it should be returned unchanged." +msgstr "" +"Функція optionxform перетворює назви опцій у канонічну форму. Це має бути " +"ідемпотентна функція: якщо ім’я вже є в канонічній формі, його слід " +"повернути без змін." + +msgid "" +"A compiled regular expression used to parse section headers. The default " +"matches ``[section]`` to the name ``\"section\"``. Whitespace is considered " +"part of the section name, thus ``[ larch ]`` will be read as a section of " +"name ``\" larch \"``. Override this attribute if that's unsuitable. For " +"example:" +msgstr "" +"Зкомпільований регулярний вираз, який використовується для аналізу " +"заголовків розділів. За умовчанням ``[розділ]`` відповідає назві ``\"розділ" +"\"``. Пробіли вважаються частиною назви розділу, тому ``[ arch ]`` " +"читатиметься як розділ назви ``\" arch \"``. Перевизначте цей атрибут, якщо " +"він не підходить. Наприклад:" + +msgid "" +"While ConfigParser objects also use an ``OPTCRE`` attribute for recognizing " +"option lines, it's not recommended to override it because that would " +"interfere with constructor options *allow_no_value* and *delimiters*." +msgstr "" +"Хоча об’єкти ConfigParser також використовують атрибут ``OPTCRE`` для " +"розпізнавання рядків параметрів, не рекомендується перевизначати його, " +"оскільки це заважало б параметрам конструктора *allow_no_value* і " +"*роздільники*." + +msgid "Legacy API Examples" +msgstr "Приклади застарілих API" + +msgid "" +"Mainly because of backwards compatibility concerns, :mod:`configparser` " +"provides also a legacy API with explicit ``get``/``set`` methods. While " +"there are valid use cases for the methods outlined below, mapping protocol " +"access is preferred for new projects. The legacy API is at times more " +"advanced, low-level and downright counterintuitive." +msgstr "" +"В основному через проблеми зворотної сумісності :mod:`configparser` також " +"надає застарілий API з явними методами ``get``/``set``. Хоча існують дійсні " +"випадки використання описаних нижче методів, для нових проектів перевагу " +"надають доступу до протоколу відображення. Застарілий API часом є " +"досконалішим, низькорівневим і відверто неінтуїтивним." + +msgid "An example of writing to a configuration file::" +msgstr "Приклад запису в конфігураційний файл::" + +msgid "An example of reading the configuration file again::" +msgstr "Приклад повторного читання конфігураційного файлу::" + +msgid "To get interpolation, use :class:`ConfigParser`::" +msgstr "Щоб отримати інтерполяцію, використовуйте :class:`ConfigParser`::" + +msgid "" +"Default values are available in both types of ConfigParsers. They are used " +"in interpolation if an option used is not defined elsewhere. ::" +msgstr "" +"Значення за замовчуванням доступні в обох типах ConfigParsers. Вони " +"використовуються в інтерполяції, якщо використовувана опція не визначена в " +"іншому місці. ::" + +msgid "ConfigParser Objects" +msgstr "Об’єкти ConfigParser" + +msgid "" +"The main configuration parser. When *defaults* is given, it is initialized " +"into the dictionary of intrinsic defaults. When *dict_type* is given, it " +"will be used to create the dictionary objects for the list of sections, for " +"the options within a section, and for the default values." +msgstr "" +"Основний аналізатор конфігурації. Коли задано *defaults*, воно " +"ініціалізується у словнику внутрішніх типових значень. Якщо вказано " +"*dict_type*, він використовуватиметься для створення об’єктів словника для " +"списку розділів, параметрів у розділі та значень за замовчуванням." + +msgid "" +"When *delimiters* is given, it is used as the set of substrings that divide " +"keys from values. When *comment_prefixes* is given, it will be used as the " +"set of substrings that prefix comments in otherwise empty lines. Comments " +"can be indented. When *inline_comment_prefixes* is given, it will be used " +"as the set of substrings that prefix comments in non-empty lines." +msgstr "" +"Якщо вказано *роздільники*, вони використовуються як набір підрядків, які " +"відділяють ключі від значень. Якщо вказано *comment_prefixes*, він " +"використовуватиметься як набір підрядків, які додають коментарі до порожніх " +"рядків. Коментарі можна робити з відступом. Якщо задано " +"*inline_comment_prefixes*, воно використовуватиметься як набір підрядків, " +"які додають коментарі до непорожніх рядків." + +msgid "" +"When *strict* is ``True`` (the default), the parser won't allow for any " +"section or option duplicates while reading from a single source (file, " +"string or dictionary), raising :exc:`DuplicateSectionError` or :exc:" +"`DuplicateOptionError`. When *empty_lines_in_values* is ``False`` (default: " +"``True``), each empty line marks the end of an option. Otherwise, internal " +"empty lines of a multiline option are kept as part of the value. When " +"*allow_no_value* is ``True`` (default: ``False``), options without values " +"are accepted; the value held for these is ``None`` and they are serialized " +"without the trailing delimiter." +msgstr "" +"Якщо *strict* має значення ``True`` (за замовчуванням), синтаксичний " +"аналізатор не допускатиме жодних дублікатів розділів або параметрів під час " +"читання з одного джерела (файлу, рядка або словника), викликаючи :exc:" +"`DuplicateSectionError` або :exc:`DuplicateOptionError`. Коли " +"*empty_lines_in_values* має значення ``False`` (за замовчуванням: ``True``), " +"кожен порожній рядок позначає кінець параметра. В іншому випадку внутрішні " +"порожні рядки багаторядкового параметра зберігаються як частина значення. " +"Якщо *allow_no_value* має значення ``True`` (за замовчуванням: ``False``), " +"параметри без значень приймаються; значенням, яке зберігається для них, є " +"``None``, і вони серіалізуються без кінцевого розділювача." + +msgid "" +"When *default_section* is given, it specifies the name for the special " +"section holding default values for other sections and interpolation purposes " +"(normally named ``\"DEFAULT\"``). This value can be retrieved and changed " +"on runtime using the ``default_section`` instance attribute." +msgstr "" +"Якщо задано *default_section*, воно вказує ім’я спеціального розділу, що " +"містить значення за замовчуванням для інших розділів і цілей інтерполяції " +"(зазвичай називається ``\"DEFAULT\"``). Це значення можна отримати та " +"змінити під час виконання за допомогою атрибута екземпляра " +"``default_section``." + +msgid "" +"Interpolation behaviour may be customized by providing a custom handler " +"through the *interpolation* argument. ``None`` can be used to turn off " +"interpolation completely, ``ExtendedInterpolation()`` provides a more " +"advanced variant inspired by ``zc.buildout``. More on the subject in the " +"`dedicated documentation section <#interpolation-of-values>`_." +msgstr "" +"Поведінку інтерполяції можна налаштувати, надавши спеціальний обробник через " +"аргумент *interpolation*. ``None`` можна використовувати, щоб повністю " +"вимкнути інтерполяцію, ``ExtendedInterpolation()`` надає більш просунутий " +"варіант, натхненний ``zc.buildout``. Більше про цю тему див. у розділі " +"`спеціальної документації <#interpolation-of-values>`_." + +msgid "" +"All option names used in interpolation will be passed through the :meth:" +"`optionxform` method just like any other option name reference. For " +"example, using the default implementation of :meth:`optionxform` (which " +"converts option names to lower case), the values ``foo %(bar)s`` and ``foo " +"%(BAR)s`` are equivalent." +msgstr "" +"Усі назви опцій, що використовуються в інтерполяції, будуть передані через " +"метод :meth:`optionxform` так само, як і будь-яке інше посилання на назву " +"опції. Наприклад, використовуючи стандартну реалізацію :meth:`optionxform` " +"(яка перетворює назви опцій у нижній регістр), значення ``foo %(bar)s`` і " +"``foo %(BAR)s`` є еквівалентними." + +msgid "" +"When *converters* is given, it should be a dictionary where each key " +"represents the name of a type converter and each value is a callable " +"implementing the conversion from string to the desired datatype. Every " +"converter gets its own corresponding :meth:`get*()` method on the parser " +"object and section proxies." +msgstr "" +"Коли вказано *конвертери*, це має бути словник, у якому кожен ключ " +"представляє ім’я перетворювача типу, а кожне значення є викликом, що " +"реалізує перетворення з рядка в потрібний тип даних. Кожен конвертер отримує " +"власний відповідний метод :meth:`get*()` на об’єкті аналізатора та проксі-" +"серверах розділів." + +msgid "The default *dict_type* is :class:`collections.OrderedDict`." +msgstr "Типом *dict_type* є :class:`collections.OrderedDict`." + +msgid "" +"*allow_no_value*, *delimiters*, *comment_prefixes*, *strict*, " +"*empty_lines_in_values*, *default_section* and *interpolation* were added." +msgstr "" +"Додано *allow_no_value*, *delimiters*, *comment_prefixes*, *strict*, " +"*empty_lines_in_values*, *default_section* та *interpolation*." + +msgid "The *converters* argument was added." +msgstr "Додано аргумент *конвертери*." + +msgid "" +"The *defaults* argument is read with :meth:`read_dict()`, providing " +"consistent behavior across the parser: non-string keys and values are " +"implicitly converted to strings." +msgstr "" +"Аргумент *defaults* зчитується за допомогою :meth:`read_dict()`, " +"забезпечуючи узгоджену поведінку в парсері: нерядкові ключі та значення " +"неявно перетворюються на рядки." + +msgid "" +"The default *dict_type* is :class:`dict`, since it now preserves insertion " +"order." +msgstr "" +"Типом *dict_type* є :class:`dict`, оскільки тепер зберігається порядок " +"вставки." + +msgid "Return a dictionary containing the instance-wide defaults." +msgstr "" +"Повертає словник, що містить значення за замовчуванням для всього екземпляра." + +msgid "" +"Return a list of the sections available; the *default section* is not " +"included in the list." +msgstr "" +"Повернути список доступних розділів; *розділ за замовчуванням* не включено " +"до списку." + +msgid "" +"Add a section named *section* to the instance. If a section by the given " +"name already exists, :exc:`DuplicateSectionError` is raised. If the " +"*default section* name is passed, :exc:`ValueError` is raised. The name of " +"the section must be a string; if not, :exc:`TypeError` is raised." +msgstr "" +"Додайте до екземпляра розділ із назвою *section*. Якщо розділ із вказаною " +"назвою вже існує, виникає :exc:`DuplicateSectionError`. Якщо передано назву " +"*розділу за замовчуванням*, виникає помилка :exc:`ValueError`. Назва розділу " +"має бути рядком; якщо ні, виникає :exc:`TypeError`." + +msgid "Non-string section names raise :exc:`TypeError`." +msgstr "Нерядкові назви розділів викликають :exc:`TypeError`." + +msgid "" +"Indicates whether the named *section* is present in the configuration. The " +"*default section* is not acknowledged." +msgstr "" +"Вказує, чи присутній названий *розділ* у конфігурації. Розділ *за " +"замовчуванням* не підтверджується." + +msgid "Return a list of options available in the specified *section*." +msgstr "Повернути список опцій, доступних у вказаному *розділі*." + +msgid "" +"If the given *section* exists, and contains the given *option*, return :" +"const:`True`; otherwise return :const:`False`. If the specified *section* " +"is :const:`None` or an empty string, DEFAULT is assumed." +msgstr "" +"Якщо заданий *розділ* існує та містить вказаний *опціон*, поверніть :const:" +"`True`; інакше повертає :const:`False`. Якщо вказаний *розділ* має значення :" +"const:`None` або порожній рядок, передбачається DEFAULT." + +msgid "" +"Attempt to read and parse an iterable of filenames, returning a list of " +"filenames which were successfully parsed." +msgstr "" +"Спроба прочитати та розібрати ітерацію імен файлів, повертаючи список імен " +"файлів, які були успішно розібрані." + +msgid "" +"If *filenames* is a string, a :class:`bytes` object or a :term:`path-like " +"object`, it is treated as a single filename. If a file named in *filenames* " +"cannot be opened, that file will be ignored. This is designed so that you " +"can specify an iterable of potential configuration file locations (for " +"example, the current directory, the user's home directory, and some system-" +"wide directory), and all existing configuration files in the iterable will " +"be read." +msgstr "" +"Якщо *filenames* є рядком, об’єктом :class:`bytes` або :term:`path-like " +"object`, воно розглядається як одне ім’я файлу. Якщо файл із назвою " +"*filenaname* неможливо відкрити, цей файл буде проігноровано. Це призначено " +"для того, щоб ви могли вказати ітерацію потенційних розташувань файлів " +"конфігурації (наприклад, поточний каталог, домашній каталог користувача та " +"деякий загальносистемний каталог), і всі існуючі файли конфігурації в " +"ітерації будуть прочитані." + +msgid "" +"If none of the named files exist, the :class:`ConfigParser` instance will " +"contain an empty dataset. An application which requires initial values to " +"be loaded from a file should load the required file or files using :meth:" +"`read_file` before calling :meth:`read` for any optional files::" +msgstr "" +"Якщо жоден із названих файлів не існує, екземпляр :class:`ConfigParser` " +"міститиме порожній набір даних. Програма, яка потребує завантаження " +"початкових значень із файлу, має завантажити необхідний файл або файли за " +"допомогою :meth:`read_file` перед викликом :meth:`read` для будь-яких " +"додаткових файлів::" + +msgid "" +"The *encoding* parameter. Previously, all files were read using the default " +"encoding for :func:`open`." +msgstr "" +"Параметр *кодування*. Раніше всі файли читалися з використанням стандартного " +"кодування для :func:`open`." + +msgid "The *filenames* parameter accepts a :term:`path-like object`." +msgstr "Параметр *filenames* приймає :term:`path-like object`." + +msgid "The *filenames* parameter accepts a :class:`bytes` object." +msgstr "Параметр *filenames* приймає об’єкт :class:`bytes`." + +msgid "" +"Read and parse configuration data from *f* which must be an iterable " +"yielding Unicode strings (for example files opened in text mode)." +msgstr "" +"Читати та аналізувати конфігураційні дані з *f*, які мають бути " +"повторюваними рядками Unicode (наприклад, файли, відкриті в текстовому " +"режимі)." + +msgid "" +"Optional argument *source* specifies the name of the file being read. If " +"not given and *f* has a :attr:`name` attribute, that is used for *source*; " +"the default is ``''``." +msgstr "" +"Необов'язковий аргумент *джерело* вказує назву файлу, який читається. Якщо " +"не вказано і *f* має атрибут :attr:`name`, який використовується для " +"*source*; типовим є ``' ''``." + +msgid "Replaces :meth:`readfp`." +msgstr "Замінює :meth:`readfp`." + +msgid "Parse configuration data from a string." +msgstr "Аналіз даних конфігурації з рядка." + +msgid "" +"Optional argument *source* specifies a context-specific name of the string " +"passed. If not given, ``''`` is used. This should commonly be a " +"filesystem path or a URL." +msgstr "" +"Необов'язковий аргумент *джерело* вказує контекстно-залежну назву переданого " +"рядка. Якщо не вказано, використовується ``' '``. Зазвичай це має " +"бути шлях до файлової системи або URL-адреса." + +msgid "" +"Load configuration from any object that provides a dict-like ``items()`` " +"method. Keys are section names, values are dictionaries with keys and " +"values that should be present in the section. If the used dictionary type " +"preserves order, sections and their keys will be added in order. Values are " +"automatically converted to strings." +msgstr "" +"Завантажте конфігурацію з будь-якого об’єкта, який надає dict-подібний метод " +"``items()``. Ключі - це назви розділів, значення - це словники з ключами та " +"значеннями, які повинні бути присутніми в розділі. Якщо використовуваний тип " +"словника зберігає порядок, розділи та їхні ключі будуть додані в порядку. " +"Значення автоматично перетворюються на рядки." + +msgid "" +"Optional argument *source* specifies a context-specific name of the " +"dictionary passed. If not given, ```` is used." +msgstr "" +"Необов'язковий аргумент *джерело* вказує контекстно-залежну назву переданого " +"словника. Якщо не вказано, використовується ````." + +msgid "This method can be used to copy state between parsers." +msgstr "Цей метод можна використовувати для копіювання стану між парсерами." + +msgid "" +"Get an *option* value for the named *section*. If *vars* is provided, it " +"must be a dictionary. The *option* is looked up in *vars* (if provided), " +"*section*, and in *DEFAULTSECT* in that order. If the key is not found and " +"*fallback* is provided, it is used as a fallback value. ``None`` can be " +"provided as a *fallback* value." +msgstr "" +"Отримайте значення *option* для названого *розділу*. Якщо вказано *vars*, це " +"має бути словник. *Опція* шукається в *vars* (якщо передбачено), *section* і " +"в *DEFAULTSECT* у такому порядку. Якщо ключ не знайдено і надано " +"*резервний*, він використовується як резервне значення. ``None`` можна " +"надати як *резервне* значення." + +msgid "" +"All the ``'%'`` interpolations are expanded in the return values, unless the " +"*raw* argument is true. Values for interpolation keys are looked up in the " +"same manner as the option." +msgstr "" +"Усі інтерполяції ``'%'`` розгортаються у значеннях, що повертаються, якщо " +"аргумент *raw* не має значення true. Значення для ключів інтерполяції " +"шукаються так само, як і параметр." + +msgid "" +"Arguments *raw*, *vars* and *fallback* are keyword only to protect users " +"from trying to use the third argument as the *fallback* fallback (especially " +"when using the mapping protocol)." +msgstr "" +"Аргументи *raw*, *vars* і *fallback* є лише ключовими словами, щоб захистити " +"користувачів від спроб використовувати третій аргумент як *резервний* резерв " +"(особливо під час використання протоколу відображення)." + +msgid "" +"A convenience method which coerces the *option* in the specified *section* " +"to an integer. See :meth:`get` for explanation of *raw*, *vars* and " +"*fallback*." +msgstr "" +"Зручний метод, який приводить *опцію* у вказаному *розділі* до цілого числа. " +"Перегляньте :meth:`get` для пояснення *raw*, *vars* і *fallback*." + +msgid "" +"A convenience method which coerces the *option* in the specified *section* " +"to a floating point number. See :meth:`get` for explanation of *raw*, " +"*vars* and *fallback*." +msgstr "" +"Зручний метод, який приводить *опцію* у вказаному *розділі* до числа з " +"плаваючою комою. Перегляньте :meth:`get` для пояснення *raw*, *vars* і " +"*fallback*." + +msgid "" +"A convenience method which coerces the *option* in the specified *section* " +"to a Boolean value. Note that the accepted values for the option are " +"``'1'``, ``'yes'``, ``'true'``, and ``'on'``, which cause this method to " +"return ``True``, and ``'0'``, ``'no'``, ``'false'``, and ``'off'``, which " +"cause it to return ``False``. These string values are checked in a case-" +"insensitive manner. Any other value will cause it to raise :exc:" +"`ValueError`. See :meth:`get` for explanation of *raw*, *vars* and " +"*fallback*." +msgstr "" +"Зручний метод, який приводить *параметр* у вказаному *розділі* до логічного " +"значення. Зауважте, що допустимими значеннями параметра є ``'1'``, " +"``'yes'``, ``'true'`` і ``'on'``, через що цей метод повертає ``True`` і " +"``'0'``, ``'no'``, ``'false'`` і ``'off'``, які повертають ``False``. Ці " +"рядкові значення перевіряються без урахування регістру. Будь-яке інше " +"значення призведе до виникнення :exc:`ValueError`. Перегляньте :meth:`get` " +"для пояснення *raw*, *vars* і *fallback*." + +msgid "" +"When *section* is not given, return a list of *section_name*, " +"*section_proxy* pairs, including DEFAULTSECT." +msgstr "" +"Якщо *section* не вказано, повертає список пар *section_name*, " +"*section_proxy*, включаючи DEFAULTSECT." + +msgid "" +"Otherwise, return a list of *name*, *value* pairs for the options in the " +"given *section*. Optional arguments have the same meaning as for the :meth:" +"`get` method." +msgstr "" +"В іншому випадку поверніть список пар *ім’я*, *значення* для опцій у " +"вказаному *розділі*. Необов’язкові аргументи мають те саме значення, що й " +"для методу :meth:`get`." + +msgid "" +"Items present in *vars* no longer appear in the result. The previous " +"behaviour mixed actual parser options with variables provided for " +"interpolation." +msgstr "" +"Елементи, присутні в *vars*, більше не відображаються в результатах. " +"Попередня поведінка змішувала фактичні параметри аналізатора зі змінними, " +"наданими для інтерполяції." + +msgid "" +"If the given section exists, set the given option to the specified value; " +"otherwise raise :exc:`NoSectionError`. *option* and *value* must be " +"strings; if not, :exc:`TypeError` is raised." +msgstr "" +"Якщо даний розділ існує, установіть для даного параметра вказане значення; " +"інакше підняти :exc:`NoSectionError`. *option* і *value* мають бути рядками; " +"якщо ні, виникає :exc:`TypeError`." + +msgid "" +"Write a representation of the configuration to the specified :term:`file " +"object`, which must be opened in text mode (accepting strings). This " +"representation can be parsed by a future :meth:`read` call. If " +"*space_around_delimiters* is true, delimiters between keys and values are " +"surrounded by spaces." +msgstr "" +"Запишіть представлення конфігурації у вказаний :term:`file object`, який " +"потрібно відкрити в текстовому режимі (приймаючи рядки). Це представлення " +"може бути проаналізовано майбутнім викликом :meth:`read`. Якщо " +"*space_around_delimiters* має значення true, роздільники між ключами та " +"значеннями оточуються пробілами." + +msgid "" +"Comments in the original configuration file are not preserved when writing " +"the configuration back. What is considered a comment, depends on the given " +"values for *comment_prefix* and *inline_comment_prefix*." +msgstr "" +"Коментарі у вихідному файлі конфігурації не зберігаються під час повторного " +"запису конфігурації. Те, що вважається коментарем, залежить від заданих " +"значень для *comment_prefix* і *inline_comment_prefix*." + +msgid "" +"Remove the specified *option* from the specified *section*. If the section " +"does not exist, raise :exc:`NoSectionError`. If the option existed to be " +"removed, return :const:`True`; otherwise return :const:`False`." +msgstr "" +"Видалити вказаний *параметр* із зазначеного *розділу*. Якщо розділ не існує, " +"підніміть :exc:`NoSectionError`. Якщо існувала опція для видалення, " +"поверніть :const:`True`; інакше повертає :const:`False`." + +msgid "" +"Remove the specified *section* from the configuration. If the section in " +"fact existed, return ``True``. Otherwise return ``False``." +msgstr "" +"Видалити вказаний *розділ* із конфігурації. Якщо розділ дійсно існував, " +"поверніть ``True``. Інакше поверніть ``False``." + +msgid "" +"Transforms the option name *option* as found in an input file or as passed " +"in by client code to the form that should be used in the internal " +"structures. The default implementation returns a lower-case version of " +"*option*; subclasses may override this or client code can set an attribute " +"of this name on instances to affect this behavior." +msgstr "" +"Перетворює назву параметра *option*, знайдену у вхідному файлі або передану " +"кодом клієнта, у форму, яка має використовуватися у внутрішніх структурах. " +"Реалізація за замовчуванням повертає версію *option* у нижньому регістрі; " +"підкласи можуть замінити це, або код клієнта може встановити атрибут цього " +"імені в екземплярах, щоб вплинути на цю поведінку." + +msgid "" +"You don't need to subclass the parser to use this method, you can also set " +"it on an instance, to a function that takes a string argument and returns a " +"string. Setting it to ``str``, for example, would make option names case " +"sensitive::" +msgstr "" +"Вам не потрібно створювати підкласи синтаксичного аналізатора, щоб " +"використовувати цей метод, ви також можете встановити його на екземпляр, на " +"функцію, яка приймає рядковий аргумент і повертає рядок. Наприклад, якщо " +"встановити значення ``str``, назви опцій будуть чутливими до регістру:" + +msgid "" +"Note that when reading configuration files, whitespace around the option " +"names is stripped before :meth:`optionxform` is called." +msgstr "" +"Зауважте, що під час читання конфігураційних файлів пробіли навколо назв " +"параметрів видаляються перед викликом :meth:`optionxform`." + +msgid "Use :meth:`read_file` instead." +msgstr "Натомість використовуйте :meth:`read_file`." + +msgid "" +":meth:`readfp` now iterates on *fp* instead of calling ``fp.readline()``." +msgstr ":meth:`readfp` тепер повторює *fp* замість виклику ``fp.readline()``." + +msgid "" +"For existing code calling :meth:`readfp` with arguments which don't support " +"iteration, the following generator may be used as a wrapper around the file-" +"like object::" +msgstr "" +"Для існуючого коду, що викликає :meth:`readfp` з аргументами, які не " +"підтримують ітерацію, наступний генератор може використовуватися як обгортка " +"навколо файлоподібного об’єкта::" + +msgid "" +"Instead of ``parser.readfp(fp)`` use ``parser." +"read_file(readline_generator(fp))``." +msgstr "" +"Замість ``parser.readfp(fp)`` використовуйте ``parser." +"read_file(readline_generator(fp))``." + +msgid "" +"The maximum depth for recursive interpolation for :meth:`get` when the *raw* " +"parameter is false. This is relevant only when the default *interpolation* " +"is used." +msgstr "" +"Максимальна глибина для рекурсивної інтерполяції для :meth:`get`, коли " +"параметр *raw* має значення false. Це актуально лише тоді, коли " +"використовується типова *інтерполяція*." + +msgid "RawConfigParser Objects" +msgstr "Об’єкти RawConfigParser" + +msgid "" +"Legacy variant of the :class:`ConfigParser`. It has interpolation disabled " +"by default and allows for non-string section names, option names, and values " +"via its unsafe ``add_section`` and ``set`` methods, as well as the legacy " +"``defaults=`` keyword argument handling." +msgstr "" +"Застарілий варіант :class:`ConfigParser`. Він має інтерполяцію вимкнено за " +"замовчуванням і дозволяє використовувати нерядкові назви розділів, назви " +"параметрів і значення за допомогою небезпечних методів ``add_section`` і " +"``set``, а також застарілої обробки аргументів ключового слова " +"``defaults=``. ." + +msgid "" +"Consider using :class:`ConfigParser` instead which checks types of the " +"values to be stored internally. If you don't want interpolation, you can " +"use ``ConfigParser(interpolation=None)``." +msgstr "" +"Розгляньте можливість використання :class:`ConfigParser` натомість, який " +"перевіряє типи значень, які зберігатимуться всередині. Якщо вам не потрібна " +"інтерполяція, ви можете використати ``ConfigParser(interpolation=None)``." + +msgid "" +"Add a section named *section* to the instance. If a section by the given " +"name already exists, :exc:`DuplicateSectionError` is raised. If the " +"*default section* name is passed, :exc:`ValueError` is raised." +msgstr "" +"Додайте до екземпляра розділ із назвою *section*. Якщо розділ із вказаною " +"назвою вже існує, виникає :exc:`DuplicateSectionError`. Якщо передано назву " +"*розділу за замовчуванням*, виникає помилка :exc:`ValueError`." + +msgid "" +"Type of *section* is not checked which lets users create non-string named " +"sections. This behaviour is unsupported and may cause internal errors." +msgstr "" +"Тип *розділу* не позначено, що дозволяє користувачам створювати розділи без " +"рядкових імен. Така поведінка не підтримується та може викликати внутрішні " +"помилки." + +msgid "" +"If the given section exists, set the given option to the specified value; " +"otherwise raise :exc:`NoSectionError`. While it is possible to use :class:" +"`RawConfigParser` (or :class:`ConfigParser` with *raw* parameters set to " +"true) for *internal* storage of non-string values, full functionality " +"(including interpolation and output to files) can only be achieved using " +"string values." +msgstr "" +"Якщо даний розділ існує, установіть для даного параметра вказане значення; " +"інакше підняти :exc:`NoSectionError`. Хоча можна використовувати :class:" +"`RawConfigParser` (або :class:`ConfigParser` з *raw* параметрами, " +"встановленими на true) для *внутрішнього* зберігання нерядкових значень, " +"повна функціональність (включно з інтерполяцією та виведенням у файли) можна " +"досягти лише за допомогою рядкових значень." + +msgid "" +"This method lets users assign non-string values to keys internally. This " +"behaviour is unsupported and will cause errors when attempting to write to a " +"file or get it in non-raw mode. **Use the mapping protocol API** which does " +"not allow such assignments to take place." +msgstr "" +"Цей метод дозволяє користувачам внутрішньо призначати нерядкові значення " +"ключам. Така поведінка не підтримується та спричинить помилки під час спроби " +"запису у файл або отримання його в режимі без обробки. **Використовуйте API " +"протоколу зіставлення**, який не дозволяє виконувати такі призначення." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "Base class for all other :mod:`configparser` exceptions." +msgstr "Базовий клас для всіх інших винятків :mod:`configparser`." + +msgid "Exception raised when a specified section is not found." +msgstr "Виняток виникає, коли вказаний розділ не знайдено." + +msgid "" +"Exception raised if :meth:`add_section` is called with the name of a section " +"that is already present or in strict parsers when a section if found more " +"than once in a single input file, string or dictionary." +msgstr "" +"Виняток виникає, якщо :meth:`add_section` викликається з назвою розділу, " +"який уже присутній, або в строгих синтаксичних аналізаторах, коли розділ " +"знайдено більше одного разу в одному вхідному файлі, рядку чи словнику." + +msgid "" +"Optional ``source`` and ``lineno`` attributes and arguments to :meth:" +"`__init__` were added." +msgstr "" +"Було додано додаткові атрибути ``source`` і ``lineno`` і аргументи до :meth:" +"`__init__`." + +msgid "" +"Exception raised by strict parsers if a single option appears twice during " +"reading from a single file, string or dictionary. This catches misspellings " +"and case sensitivity-related errors, e.g. a dictionary may have two keys " +"representing the same case-insensitive configuration key." +msgstr "" +"Виняток, створений строгими парсерами, якщо одна опція з’являється двічі під " +"час читання з одного файлу, рядка або словника. Це виявляє орфографічні " +"помилки та помилки, пов’язані з регістром, напр. словник може мати два " +"ключі, що представляють один і той же ключ конфігурації без урахування " +"регістру." + +msgid "" +"Exception raised when a specified option is not found in the specified " +"section." +msgstr "" +"Виняток виникає, коли вказаний параметр не знайдено у вказаному розділі." + +msgid "" +"Base class for exceptions raised when problems occur performing string " +"interpolation." +msgstr "" +"Базовий клас для винятків, які виникають, коли виникають проблеми з " +"виконанням інтерполяції рядків." + +msgid "" +"Exception raised when string interpolation cannot be completed because the " +"number of iterations exceeds :const:`MAX_INTERPOLATION_DEPTH`. Subclass of :" +"exc:`InterpolationError`." +msgstr "" +"Виняток виникає, коли інтерполяцію рядка неможливо завершити, оскільки " +"кількість ітерацій перевищує :const:`MAX_INTERPOLATION_DEPTH`. Підклас :exc:" +"`InterpolationError`." + +msgid "" +"Exception raised when an option referenced from a value does not exist. " +"Subclass of :exc:`InterpolationError`." +msgstr "" +"Виняток виникає, коли параметр, на який посилається значення, не існує. " +"Підклас :exc:`InterpolationError`." + +msgid "" +"Exception raised when the source text into which substitutions are made does " +"not conform to the required syntax. Subclass of :exc:`InterpolationError`." +msgstr "" +"Виняток виникає, коли вихідний текст, у якому зроблено заміни, не відповідає " +"необхідному синтаксису. Підклас :exc:`InterpolationError`." + +msgid "" +"Exception raised when attempting to parse a file which has no section " +"headers." +msgstr "" +"Під час спроби проаналізувати файл, який не має заголовків розділів, виникає " +"виняток." + +msgid "Exception raised when errors occur attempting to parse a file." +msgstr "Виняток виникає, коли виникають помилки під час спроби аналізу файлу." + +msgid "" +"The ``filename`` attribute and :meth:`__init__` argument were renamed to " +"``source`` for consistency." +msgstr "" +"Для узгодженості атрибут ``filename`` і аргумент :meth:`__init__` " +"перейменовано на ``source``." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Config parsers allow for heavy customization. If you are interested in " +"changing the behaviour outlined by the footnote reference, consult the " +"`Customizing Parser Behaviour`_ section." +msgstr "" +"Синтаксичні аналізатори конфігурації дозволяють здійснювати серйозні " +"налаштування. Якщо ви зацікавлені в зміні поведінки, окресленої посиланням " +"на виноску, зверніться до розділу \"Налаштування поведінки аналізатора" +"\" (`Customizing Parser Behaviour`_)." diff --git a/library/constants.po b/library/constants.po new file mode 100644 index 000000000..13b6ad6c7 --- /dev/null +++ b/library/constants.po @@ -0,0 +1,176 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Built-in Constants" +msgstr "Вбудовані константи" + +msgid "A small number of constants live in the built-in namespace. They are:" +msgstr "Невелика кількість констант живе у вбудованому просторі імен. Вони є:" + +msgid "" +"The false value of the :class:`bool` type. Assignments to ``False`` are " +"illegal and raise a :exc:`SyntaxError`." +msgstr "" +"Помилкове значення типу :class:`bool`. Присвоєння ``False`` є незаконним і " +"викликає :exc:`SyntaxError`." + +msgid "" +"The true value of the :class:`bool` type. Assignments to ``True`` are " +"illegal and raise a :exc:`SyntaxError`." +msgstr "" +"Справжнє значення типу :class:`bool`. Присвоєння ``True`` є незаконним і " +"викликає :exc:`SyntaxError`." + +msgid "" +"An object frequently used to represent the absence of a value, as when " +"default arguments are not passed to a function. Assignments to ``None`` are " +"illegal and raise a :exc:`SyntaxError`. ``None`` is the sole instance of " +"the :data:`NoneType` type." +msgstr "" +"Об’єкт, який часто використовується для представлення відсутності значення, " +"наприклад, коли аргументи за замовчуванням не передаються до функції. " +"Присвоєння ``None`` є незаконним і викликає :exc:`SyntaxError`. ``None`` є " +"єдиним екземпляром типу :data:`NoneType`." + +msgid "" +"A special value which should be returned by the binary special methods (e." +"g. :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`, etc.) " +"to indicate that the operation is not implemented with respect to the other " +"type; may be returned by the in-place binary special methods (e.g. :meth:" +"`__imul__`, :meth:`__iand__`, etc.) for the same purpose. It should not be " +"evaluated in a boolean context. ``NotImplemented`` is the sole instance of " +"the :data:`types.NotImplementedType` type." +msgstr "" +"Спеціальне значення, яке мають повертати двійкові спеціальні методи " +"(наприклад, :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:" +"`__rsub__` тощо), щоб вказати, що операція не реалізовано щодо іншого типу; " +"може бути повернуто спеціальними двійковими методами на місці (наприклад, :" +"meth:`__imul__`, :meth:`__iand__` тощо) з тією ж метою. Його не слід " +"оцінювати в логічному контексті. ``NotImplemented`` є єдиним екземпляром " +"типу :data:`types.NotImplementedType`." + +msgid "" +"When a binary (or in-place) method returns ``NotImplemented`` the " +"interpreter will try the reflected operation on the other type (or some " +"other fallback, depending on the operator). If all attempts return " +"``NotImplemented``, the interpreter will raise an appropriate exception. " +"Incorrectly returning ``NotImplemented`` will result in a misleading error " +"message or the ``NotImplemented`` value being returned to Python code." +msgstr "" +"Коли бінарний (або на місці) метод повертає ``NotImplemented``, " +"інтерпретатор спробує відображену операцію над іншим типом (або іншим " +"резервним варіантом, залежно від оператора). Якщо всі спроби повертають " +"``NotImplemented``, інтерпретатор викличе відповідний виняток. Неправильне " +"повернення ``NotImplemented`` призведе до оманливого повідомлення про " +"помилку або значення ``NotImplemented``, яке буде повернено до коду Python." + +msgid "See :ref:`implementing-the-arithmetic-operations` for examples." +msgstr "Перегляньте приклади :ref:`implementing-the-arithmetic-operations`." + +msgid "" +"``NotImplementedError`` and ``NotImplemented`` are not interchangeable, even " +"though they have similar names and purposes. See :exc:`NotImplementedError` " +"for details on when to use it." +msgstr "" +"``NotImplementedError`` і ``NotImplemented`` не є взаємозамінними, навіть " +"якщо вони мають подібні назви та цілі. Перегляньте :exc:" +"`NotImplementedError`, щоб дізнатися, коли її використовувати." + +msgid "" +"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it " +"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " +"will raise a :exc:`TypeError` in a future version of Python." +msgstr "" +"Оцінка ``NotImplemented`` у логічному контексті застаріла. Хоча наразі він " +"оцінюється як істинний, він видасть :exc:`DeprecationWarning`. Це викличе :" +"exc:`TypeError` у наступній версії Python." + +msgid "" +"The same as the ellipsis literal \"``...``\". Special value used mostly in " +"conjunction with extended slicing syntax for user-defined container data " +"types. ``Ellipsis`` is the sole instance of the :data:`types.EllipsisType` " +"type." +msgstr "" +"Те саме, що літерал з крапками \"``...``\". Спеціальне значення, яке " +"використовується переважно разом із розширеним синтаксисом нарізки для " +"визначених користувачем типів даних контейнера. ``Ellipsis`` є єдиним " +"екземпляром типу :data:`types.EllipsisType`." + +msgid "" +"This constant is true if Python was not started with an :option:`-O` option. " +"See also the :keyword:`assert` statement." +msgstr "" +"Ця константа є істинною, якщо Python не було запущено з параметром :option:`-" +"O`. Дивіться також оператор :keyword:`assert`." + +msgid "" +"The names :data:`None`, :data:`False`, :data:`True` and :data:`__debug__` " +"cannot be reassigned (assignments to them, even as an attribute name, raise :" +"exc:`SyntaxError`), so they can be considered \"true\" constants." +msgstr "" +"Імена :data:`None`, :data:`False`, :data:`True` і :data:`__debug__` не можна " +"перепризначити (присвоєння їм, навіть як імені атрибута, викликає :exc:" +"`SyntaxError` ), тому їх можна вважати \"справжніми\" константами." + +msgid "Constants added by the :mod:`site` module" +msgstr "Константи, додані модулем :mod:`site`" + +msgid "" +"The :mod:`site` module (which is imported automatically during startup, " +"except if the :option:`-S` command-line option is given) adds several " +"constants to the built-in namespace. They are useful for the interactive " +"interpreter shell and should not be used in programs." +msgstr "" +"Модуль :mod:`site` (який імпортується автоматично під час запуску, за " +"винятком випадків, коли задано параметр командного рядка :option:`-S`) додає " +"кілька констант до вбудованого простору імен. Вони корисні для інтерактивної " +"оболонки інтерпретатора і не повинні використовуватися в програмах." + +msgid "" +"Objects that when printed, print a message like \"Use quit() or Ctrl-D (i.e. " +"EOF) to exit\", and when called, raise :exc:`SystemExit` with the specified " +"exit code." +msgstr "" +"Об’єкти, які під час друку друкують повідомлення на зразок \"Використовуйте " +"quit() або Ctrl-D (тобто EOF) для виходу\", а під час виклику викликають :" +"exc:`SystemExit` із зазначеним кодом виходу." + +msgid "" +"Objects that when printed or called, print the text of copyright or credits, " +"respectively." +msgstr "" +"Об'єкти, які під час друку або виклику друкують текст авторських прав або " +"кредитів відповідно." + +msgid "" +"Object that when printed, prints the message \"Type license() to see the " +"full license text\", and when called, displays the full license text in a " +"pager-like fashion (one screen at a time)." +msgstr "" +"Об’єкт, який під час друку друкує повідомлення \"Введіть licence(), щоб " +"побачити повний текст ліцензії\", а під час виклику відображає повний текст " +"ліцензії у вигляді пейджера (по одному екрану)." diff --git a/library/contextlib.po b/library/contextlib.po new file mode 100644 index 000000000..94630e5fc --- /dev/null +++ b/library/contextlib.po @@ -0,0 +1,1012 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +":mod:`!contextlib` --- Utilities for :keyword:`!with`\\ -statement contexts" +msgstr "" +":mod:`!contextlib` --- Утиліти для контекстів операторів :keyword:`!with`\\" + +msgid "**Source code:** :source:`Lib/contextlib.py`" +msgstr "**Вихідний код:** :source:`Lib/contextlib.py`" + +msgid "" +"This module provides utilities for common tasks involving the :keyword:" +"`with` statement. For more information see also :ref:`typecontextmanager` " +"and :ref:`context-managers`." +msgstr "" +"Цей модуль надає утиліти для типових завдань, пов’язаних із оператором :" +"keyword:`with`. Для отримання додаткової інформації див. також :ref:" +"`typecontextmanager` і :ref:`context-managers`." + +msgid "Utilities" +msgstr "Комунальні послуги" + +msgid "Functions and classes provided:" +msgstr "Надані функції та класи:" + +msgid "" +"An :term:`abstract base class` for classes that implement :meth:`object." +"__enter__` and :meth:`object.__exit__`. A default implementation for :meth:" +"`object.__enter__` is provided which returns ``self`` while :meth:`object." +"__exit__` is an abstract method which by default returns ``None``. See also " +"the definition of :ref:`typecontextmanager`." +msgstr "" +":term:`abstract base class` для класів, які реалізують :meth:`object." +"__enter__` і :meth:`object.__exit__`. Надається реалізація за замовчуванням " +"для :meth:`object.__enter__`, яка повертає ``self``, тоді як :meth:`object." +"__exit__` є абстрактним методом, який за замовчуванням повертає ``None``. " +"Дивіться також визначення :ref:`typecontextmanager`." + +msgid "" +"An :term:`abstract base class` for classes that implement :meth:`object." +"__aenter__` and :meth:`object.__aexit__`. A default implementation for :meth:" +"`object.__aenter__` is provided which returns ``self`` while :meth:`object." +"__aexit__` is an abstract method which by default returns ``None``. See also " +"the definition of :ref:`async-context-managers`." +msgstr "" +":term:`abstract base class` для класів, які реалізують :meth:`object." +"__aenter__` і :meth:`object.__aexit__`. Надається реалізація за " +"замовчуванням для :meth:`object.__aenter__`, яка повертає ``self``, тоді як :" +"meth:`object.__aexit__` є абстрактним методом, який за замовчуванням " +"повертає ``None``. Дивіться також визначення :ref:`async-context-managers`." + +msgid "" +"This function is a :term:`decorator` that can be used to define a factory " +"function for :keyword:`with` statement context managers, without needing to " +"create a class or separate :meth:`__enter__` and :meth:`__exit__` methods." +msgstr "" +"Ця функція є :term:`decorator`, який можна використовувати для визначення " +"фабричної функції для менеджерів контексту операторів :keyword:`with`, без " +"необхідності створювати клас або розділяти :meth:`__enter__` і :meth:" +"`__exit__` методи." + +msgid "" +"While many objects natively support use in with statements, sometimes a " +"resource needs to be managed that isn't a context manager in its own right, " +"and doesn't implement a ``close()`` method for use with ``contextlib." +"closing``" +msgstr "" +"Хоча багато об’єктів нативно підтримують використання операторів in with, " +"інколи необхідно керувати ресурсом, який сам по собі не є менеджером " +"контексту та не реалізує метод ``close()`` для використання з ``contextlib. " +"закриття``" + +msgid "" +"An abstract example would be the following to ensure correct resource " +"management::" +msgstr "" +"Абстрактним прикладом може бути наступне, щоб забезпечити правильне " +"керування ресурсами:" + +msgid "The function can then be used like this::" +msgstr "" + +msgid "" +"The function being decorated must return a :term:`generator`-iterator when " +"called. This iterator must yield exactly one value, which will be bound to " +"the targets in the :keyword:`with` statement's :keyword:`!as` clause, if any." +msgstr "" +"Функція, яка декорується, має повертати :term:`generator`-ітератор під час " +"виклику. Цей ітератор має давати рівно одне значення, яке буде прив’язано до " +"цілей у пропозиції :keyword:`!as` інструкції :keyword:`with`, якщо така є." + +msgid "" +"At the point where the generator yields, the block nested in the :keyword:" +"`with` statement is executed. The generator is then resumed after the block " +"is exited. If an unhandled exception occurs in the block, it is reraised " +"inside the generator at the point where the yield occurred. Thus, you can " +"use a :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` " +"statement to trap the error (if any), or ensure that some cleanup takes " +"place. If an exception is trapped merely in order to log it or to perform " +"some action (rather than to suppress it entirely), the generator must " +"reraise that exception. Otherwise the generator context manager will " +"indicate to the :keyword:`!with` statement that the exception has been " +"handled, and execution will resume with the statement immediately following " +"the :keyword:`!with` statement." +msgstr "" +"У точці, де генератор поступається, виконується блок, вкладений у оператор :" +"keyword:`with`. Потім генератор відновлюється після виходу з блоку. Якщо в " +"блоці виникає необроблена виняткова ситуація, вона повторно створюється " +"всередині генератора в точці, де відбувся вихід. Таким чином, ви можете " +"використовувати оператор :keyword:`try`...\\ :keyword:`except`...\\ :keyword:" +"`finally`, щоб перехопити помилку (якщо така є) або забезпечити виконання " +"певного очищення. Якщо виняток перехоплюється лише для того, щоб " +"зареєструвати його або виконати певну дію (а не повністю його придушити), " +"генератор повинен повторно викликати цей виняток. В іншому випадку менеджер " +"контексту генератора вкаже оператору :keyword:`!with`, що виняток було " +"оброблено, і виконання буде відновлено оператором, що слідує безпосередньо " +"за оператором :keyword:`!with`." + +msgid "" +":func:`contextmanager` uses :class:`ContextDecorator` so the context " +"managers it creates can be used as decorators as well as in :keyword:`with` " +"statements. When used as a decorator, a new generator instance is implicitly " +"created on each function call (this allows the otherwise \"one-shot\" " +"context managers created by :func:`contextmanager` to meet the requirement " +"that context managers support multiple invocations in order to be used as " +"decorators)." +msgstr "" +":func:`contextmanager` використовує :class:`ContextDecorator`, тому створені " +"ним менеджери контексту можна використовувати як декоратори, а також у " +"операторах :keyword:`with`. Коли використовується як декоратор, новий " +"екземпляр генератора неявно створюється під час кожного виклику функції (це " +"дозволяє \"одноразовим\" контекстним менеджерам, створеним :func:" +"`contextmanager`, відповідати вимогам, щоб контекстні менеджери підтримували " +"кілька викликів, щоб використовувати як декоратори)." + +msgid "Use of :class:`ContextDecorator`." +msgstr "Використання :class:`ContextDecorator`." + +msgid "" +"Similar to :func:`~contextlib.contextmanager`, but creates an :ref:" +"`asynchronous context manager `." +msgstr "" +"Подібно до :func:`~contextlib.contextmanager`, але створює :ref:`асинхронний " +"менеджер контексту `." + +msgid "" +"This function is a :term:`decorator` that can be used to define a factory " +"function for :keyword:`async with` statement asynchronous context managers, " +"without needing to create a class or separate :meth:`__aenter__` and :meth:" +"`__aexit__` methods. It must be applied to an :term:`asynchronous generator` " +"function." +msgstr "" +"Ця функція є :term:`decorator`, який можна використовувати для визначення " +"фабричної функції для :keyword:`async with` менеджерів асинхронного " +"контексту без необхідності створювати клас або розділяти Методи :meth:" +"`__aenter__` і :meth:`__aexit__`. Його потрібно застосувати до функції :term:" +"`asynchronous generator`." + +msgid "A simple example::" +msgstr "Простий приклад::" + +msgid "" +"Context managers defined with :func:`asynccontextmanager` can be used either " +"as decorators or with :keyword:`async with` statements::" +msgstr "" +"Менеджери контексту, визначені за допомогою :func:`asynccontextmanager`, " +"можна використовувати як декоратори або за допомогою операторів :keyword:" +"`async with`::" + +msgid "" +"When used as a decorator, a new generator instance is implicitly created on " +"each function call. This allows the otherwise \"one-shot\" context managers " +"created by :func:`asynccontextmanager` to meet the requirement that context " +"managers support multiple invocations in order to be used as decorators." +msgstr "" +"При використанні як декоратора новий екземпляр генератора неявно створюється " +"під час кожного виклику функції. Це дозволяє \"одноразовим\" контекстним " +"менеджерам, створеним :func:`asynccontextmanager`, відповідати вимогам, щоб " +"контекстні менеджери підтримували кілька викликів, щоб використовувати їх як " +"декоратори." + +msgid "" +"Async context managers created with :func:`asynccontextmanager` can be used " +"as decorators." +msgstr "" +"Менеджери асинхронного контексту, створені за допомогою :func:" +"`asynccontextmanager`, можна використовувати як декоратори." + +msgid "" +"Return a context manager that closes *thing* upon completion of the block. " +"This is basically equivalent to::" +msgstr "" +"Повертає контекстний менеджер, який закриває *річ* після завершення блоку. " +"Це в основному еквівалентно:" + +msgid "And lets you write code like this::" +msgstr "І дозволяє писати такий код::" + +msgid "" +"without needing to explicitly close ``page``. Even if an error occurs, " +"``page.close()`` will be called when the :keyword:`with` block is exited." +msgstr "" +"без необхідності явного закриття ``сторінки``. Навіть якщо станеться " +"помилка, ``page.close()`` буде викликано під час виходу з блоку :keyword:" +"`with`." + +msgid "" +"Return an async context manager that calls the ``aclose()`` method of " +"*thing* upon completion of the block. This is basically equivalent to::" +msgstr "" +"Повертає менеджер асинхронного контексту, який викликає метод ``aclose()`` " +"*thing* після завершення блоку. Це в основному еквівалентно:" + +msgid "" +"Significantly, ``aclosing()`` supports deterministic cleanup of async " +"generators when they happen to exit early by :keyword:`break` or an " +"exception. For example::" +msgstr "" +"Важливо, що ``aclosing()`` підтримує детерміноване очищення асинхронних " +"генераторів, коли вони виходять раніше через :keyword:`break` або виняток. " +"Наприклад::" + +msgid "" +"This pattern ensures that the generator's async exit code is executed in the " +"same context as its iterations (so that exceptions and context variables " +"work as expected, and the exit code isn't run after the lifetime of some " +"task it depends on)." +msgstr "" +"Цей шаблон гарантує, що асинхронний код виходу генератора виконується в тому " +"самому контексті, що й його ітерації (щоб винятки та контекстні змінні " +"працювали належним чином, а код виходу не запускався після закінчення часу " +"існування певного завдання, від якого він залежить)." + +msgid "" +"Return a context manager that returns *enter_result* from ``__enter__``, but " +"otherwise does nothing. It is intended to be used as a stand-in for an " +"optional context manager, for example::" +msgstr "" +"Повертає контекстний менеджер, який повертає *enter_result* із " +"``__enter__``, але в іншому випадку нічого не робить. Він призначений для " +"використання як резервний для додаткового контекстного менеджера, наприклад:" + +msgid "An example using *enter_result*::" +msgstr "Приклад використання *enter_result*::" + +msgid "" +"It can also be used as a stand-in for :ref:`asynchronous context managers " +"`::" +msgstr "" +"Його також можна використовувати як заміну для :ref:`асинхронних контекстних " +"менеджерів `::" + +msgid ":term:`asynchronous context manager` support was added." +msgstr "Додано підтримку :term:`asynchronous context manager`." + +msgid "" +"Return a context manager that suppresses any of the specified exceptions if " +"they occur in the body of a :keyword:`!with` statement and then resumes " +"execution with the first statement following the end of the :keyword:`!with` " +"statement." +msgstr "" +"Повертає диспетчер контексту, який пригнічує будь-які з указаних винятків, " +"якщо вони трапляються в тілі оператора :keyword:`!with`, а потім відновлює " +"виконання з першим оператором, що йде після кінця оператора :keyword:`!with`." + +msgid "" +"As with any other mechanism that completely suppresses exceptions, this " +"context manager should be used only to cover very specific errors where " +"silently continuing with program execution is known to be the right thing to " +"do." +msgstr "" +"Як і будь-який інший механізм, який повністю пригнічує винятки, цей менеджер " +"контексту слід використовувати лише для покриття дуже конкретних помилок, " +"коли, як відомо, правильно продовжувати виконання програми." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "This code is equivalent to::" +msgstr "Цей код еквівалентний:" + +msgid "This context manager is :ref:`reentrant `." +msgstr "Цей контекстний менеджер є :ref:`reentrant `." + +msgid "" +"Context manager for temporarily redirecting :data:`sys.stdout` to another " +"file or file-like object." +msgstr "" +"Менеджер контексту для тимчасового переспрямування :data:`sys.stdout` на " +"інший файл або файлоподібний об’єкт." + +msgid "" +"This tool adds flexibility to existing functions or classes whose output is " +"hardwired to stdout." +msgstr "" +"Цей інструмент додає гнучкості існуючим функціям або класам, вихід яких " +"підключено до стандартного виводу." + +msgid "" +"For example, the output of :func:`help` normally is sent to *sys.stdout*. " +"You can capture that output in a string by redirecting the output to an :" +"class:`io.StringIO` object. The replacement stream is returned from the " +"``__enter__`` method and so is available as the target of the :keyword:" +"`with` statement::" +msgstr "" +"Наприклад, вихід :func:`help` зазвичай надсилається до *sys.stdout*. Ви " +"можете записати цей вивід у рядок, перенаправивши вивід на об’єкт :class:`io." +"StringIO`. Потік заміни повертається з методу ``__enter__`` і тому доступний " +"як ціль оператора :keyword:`with`::" + +msgid "" +"To send the output of :func:`help` to a file on disk, redirect the output to " +"a regular file::" +msgstr "" +"Щоб надіслати вивід :func:`help` у файл на диску, перенаправте вивід у " +"звичайний файл::" + +msgid "To send the output of :func:`help` to *sys.stderr*::" +msgstr "Щоб надіслати результат :func:`help` до *sys.stderr*::" + +msgid "" +"Note that the global side effect on :data:`sys.stdout` means that this " +"context manager is not suitable for use in library code and most threaded " +"applications. It also has no effect on the output of subprocesses. However, " +"it is still a useful approach for many utility scripts." +msgstr "" +"Зауважте, що глобальний побічний ефект :data:`sys.stdout` означає, що цей " +"контекстний менеджер не підходить для використання в бібліотечному коді та " +"більшості потокових програм. Це також не впливає на вихідні дані " +"підпроцесів. Однак це все ще корисний підхід для багатьох службових " +"сценаріїв." + +msgid "" +"Similar to :func:`~contextlib.redirect_stdout` but redirecting :data:`sys." +"stderr` to another file or file-like object." +msgstr "" +"Подібно до :func:`~contextlib.redirect_stdout`, але перенаправляє :data:`sys." +"stderr` до іншого файлу або файлоподібного об’єкта." + +msgid "" +"Non parallel-safe context manager to change the current working directory. " +"As this changes a global state, the working directory, it is not suitable " +"for use in most threaded or async contexts. It is also not suitable for most " +"non-linear code execution, like generators, where the program execution is " +"temporarily relinquished -- unless explicitly desired, you should not yield " +"when this context manager is active." +msgstr "" + +msgid "" +"This is a simple wrapper around :func:`~os.chdir`, it changes the current " +"working directory upon entering and restores the old one on exit." +msgstr "" + +msgid "" +"A base class that enables a context manager to also be used as a decorator." +msgstr "" +"Базовий клас, який дозволяє менеджеру контексту також використовуватися як " +"декоратор." + +msgid "" +"Context managers inheriting from ``ContextDecorator`` have to implement " +"``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional " +"exception handling even when used as a decorator." +msgstr "" +"Менеджери контексту, успадковані від ``ContextDecorator``, мають реалізувати " +"``__enter__`` і ``__exit__`` як зазвичай. ``__exit__`` зберігає " +"необов'язкову обробку винятків, навіть якщо використовується як декоратор." + +msgid "" +"``ContextDecorator`` is used by :func:`contextmanager`, so you get this " +"functionality automatically." +msgstr "" +"``ContextDecorator`` використовується :func:`contextmanager`, тому ви " +"отримуєте цю функціональність автоматично." + +msgid "Example of ``ContextDecorator``::" +msgstr "Приклад ``ContextDecorator``::" + +msgid "The class can then be used like this::" +msgstr "" + +msgid "" +"This change is just syntactic sugar for any construct of the following form::" +msgstr "" +"Ця зміна є просто синтаксичним цукром для будь-якої конструкції наступної " +"форми::" + +msgid "``ContextDecorator`` lets you instead write::" +msgstr "``ContextDecorator`` дозволяє замість цього писати::" + +msgid "" +"It makes it clear that the ``cm`` applies to the whole function, rather than " +"just a piece of it (and saving an indentation level is nice, too)." +msgstr "" +"Це дає зрозуміти, що ``cm`` застосовується до всієї функції, а не лише до її " +"частини (і зберегти рівень відступу теж добре)." + +msgid "" +"Existing context managers that already have a base class can be extended by " +"using ``ContextDecorator`` as a mixin class::" +msgstr "" +"Існуючі контекстні менеджери, які вже мають базовий клас, можна розширити за " +"допомогою ``ContextDecorator`` як класу mixin::" + +msgid "" +"As the decorated function must be able to be called multiple times, the " +"underlying context manager must support use in multiple :keyword:`with` " +"statements. If this is not the case, then the original construct with the " +"explicit :keyword:`!with` statement inside the function should be used." +msgstr "" +"Оскільки декорована функція повинна мати можливість викликатися кілька " +"разів, базовий менеджер контексту повинен підтримувати використання в " +"кількох операторах :keyword:`with`. Якщо це не так, тоді слід " +"використовувати оригінальну конструкцію з явним оператором :keyword:`!with` " +"усередині функції." + +msgid "" +"Similar to :class:`ContextDecorator` but only for asynchronous functions." +msgstr "" +"Подібно до :class:`ContextDecorator`, але лише для асинхронних функцій." + +msgid "Example of ``AsyncContextDecorator``::" +msgstr "Приклад ``AsyncContextDecorator``::" + +msgid "" +"A context manager that is designed to make it easy to programmatically " +"combine other context managers and cleanup functions, especially those that " +"are optional or otherwise driven by input data." +msgstr "" +"Менеджер контексту, розроблений для полегшення програмного поєднання інших " +"менеджерів контексту та функцій очищення, особливо тих, які є " +"необов’язковими або іншим чином керуються вхідними даними." + +msgid "" +"For example, a set of files may easily be handled in a single with statement " +"as follows::" +msgstr "" +"Наприклад, набір файлів можна легко обробити в одному операторі with " +"наступним чином:" + +msgid "" +"The :meth:`__enter__` method returns the :class:`ExitStack` instance, and " +"performs no additional operations." +msgstr "" +"Метод :meth:`__enter__` повертає екземпляр :class:`ExitStack` і не виконує " +"додаткових операцій." + +msgid "" +"Each instance maintains a stack of registered callbacks that are called in " +"reverse order when the instance is closed (either explicitly or implicitly " +"at the end of a :keyword:`with` statement). Note that callbacks are *not* " +"invoked implicitly when the context stack instance is garbage collected." +msgstr "" +"Кожен екземпляр підтримує стек зареєстрованих зворотних викликів, які " +"викликаються у зворотному порядку, коли екземпляр закривається (явно чи " +"неявно в кінці оператора :keyword:`with`). Зауважте, що зворотні виклики " +"*не* викликаються неявно, коли примірник стеку контексту збирається сміттям." + +msgid "" +"This stack model is used so that context managers that acquire their " +"resources in their ``__init__`` method (such as file objects) can be handled " +"correctly." +msgstr "" +"Ця модель стеку використовується для того, щоб контекстні менеджери, які " +"отримують свої ресурси у своєму методі ``__init__`` (наприклад, файлові " +"об’єкти), могли оброблятися правильно." + +msgid "" +"Since registered callbacks are invoked in the reverse order of registration, " +"this ends up behaving as if multiple nested :keyword:`with` statements had " +"been used with the registered set of callbacks. This even extends to " +"exception handling - if an inner callback suppresses or replaces an " +"exception, then outer callbacks will be passed arguments based on that " +"updated state." +msgstr "" +"Оскільки зареєстровані зворотні виклики викликаються в порядку, зворотному " +"реєстрації, це в кінцевому підсумку поводиться так, ніби декілька вкладених " +"операторів :keyword:`with` використовувалися із зареєстрованим набором " +"зворотних викликів. Це навіть поширюється на обробку винятків - якщо " +"внутрішній зворотний виклик пригнічує або замінює виняток, то зовнішнім " +"зворотним викликам будуть передані аргументи на основі цього оновленого " +"стану." + +msgid "" +"This is a relatively low level API that takes care of the details of " +"correctly unwinding the stack of exit callbacks. It provides a suitable " +"foundation for higher level context managers that manipulate the exit stack " +"in application specific ways." +msgstr "" +"Це API відносно низького рівня, який піклується про деталі правильного " +"розгортання стека зворотних викликів виходу. Він забезпечує відповідну " +"основу для контекстних менеджерів вищого рівня, які маніпулюють стеком " +"виходу у специфічних для програми способах." + +msgid "" +"Enters a new context manager and adds its :meth:`__exit__` method to the " +"callback stack. The return value is the result of the context manager's own :" +"meth:`__enter__` method." +msgstr "" +"Вводить новий менеджер контексту та додає його метод :meth:`__exit__` до " +"стеку зворотних викликів. Повернене значення є результатом власного методу " +"менеджера контексту :meth:`__enter__`." + +msgid "" +"These context managers may suppress exceptions just as they normally would " +"if used directly as part of a :keyword:`with` statement." +msgstr "" +"Ці контекстні менеджери можуть придушувати винятки так само, як вони " +"зазвичай робили б, якщо використовувати безпосередньо як частину оператора :" +"keyword:`with`." + +msgid "" +"Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not a " +"context manager." +msgstr "" + +msgid "Adds a context manager's :meth:`__exit__` method to the callback stack." +msgstr "" +"Додає метод :meth:`__exit__` менеджера контексту до стеку зворотних викликів." + +msgid "" +"As ``__enter__`` is *not* invoked, this method can be used to cover part of " +"an :meth:`__enter__` implementation with a context manager's own :meth:" +"`__exit__` method." +msgstr "" +"Оскільки ``__enter__`` *не* викликається, цей метод можна використовувати " +"для покриття частини реалізації :meth:`__enter__` власним методом :meth:" +"`__exit__` менеджера контексту." + +msgid "" +"If passed an object that is not a context manager, this method assumes it is " +"a callback with the same signature as a context manager's :meth:`__exit__` " +"method and adds it directly to the callback stack." +msgstr "" +"Якщо передано об’єкт, який не є диспетчером контексту, цей метод припускає, " +"що це зворотній виклик із тією самою сигнатурою, що й метод :meth:`__exit__` " +"менеджера контексту, і додає його безпосередньо до стеку зворотних викликів." + +msgid "" +"By returning true values, these callbacks can suppress exceptions the same " +"way context manager :meth:`__exit__` methods can." +msgstr "" +"Повертаючи істинні значення, ці зворотні виклики можуть придушувати винятки " +"так само, як і методи контекстного менеджера :meth:`__exit__`." + +msgid "" +"The passed in object is returned from the function, allowing this method to " +"be used as a function decorator." +msgstr "" +"Переданий об’єкт повертається функцією, що дозволяє використовувати цей " +"метод як декоратор функції." + +msgid "" +"Accepts an arbitrary callback function and arguments and adds it to the " +"callback stack." +msgstr "" +"Приймає довільну функцію зворотного виклику та аргументи та додає їх до " +"стеку зворотного виклику." + +msgid "" +"Unlike the other methods, callbacks added this way cannot suppress " +"exceptions (as they are never passed the exception details)." +msgstr "" +"На відміну від інших методів, зворотні виклики, додані таким чином, не " +"можуть придушувати винятки (оскільки їм ніколи не передаються деталі " +"винятку)." + +msgid "" +"The passed in callback is returned from the function, allowing this method " +"to be used as a function decorator." +msgstr "" +"Переданий зворотний виклик повертається функцією, що дозволяє " +"використовувати цей метод як декоратор функції." + +msgid "" +"Transfers the callback stack to a fresh :class:`ExitStack` instance and " +"returns it. No callbacks are invoked by this operation - instead, they will " +"now be invoked when the new stack is closed (either explicitly or implicitly " +"at the end of a :keyword:`with` statement)." +msgstr "" +"Передає стек зворотних викликів до нового екземпляра :class:`ExitStack` і " +"повертає його. Жодні зворотні виклики не викликаються цією операцією - " +"замість цього вони тепер будуть викликані, коли новий стек закривається " +"(явно чи неявно в кінці оператора :keyword:`with`)." + +msgid "" +"For example, a group of files can be opened as an \"all or nothing\" " +"operation as follows::" +msgstr "" +"Наприклад, групу файлів можна відкрити за допомогою операції \"все або нічого" +"\" наступним чином:" + +msgid "" +"Immediately unwinds the callback stack, invoking callbacks in the reverse " +"order of registration. For any context managers and exit callbacks " +"registered, the arguments passed in will indicate that no exception occurred." +msgstr "" +"Негайно розгортає стек зворотних викликів, викликаючи зворотні виклики в " +"порядку, зворотному реєстрації. Для будь-яких менеджерів контексту та " +"зареєстрованих зворотних викликів виходу передані аргументи вказуватимуть, " +"що винятків не сталося." + +msgid "" +"An :ref:`asynchronous context manager `, similar to :" +"class:`ExitStack`, that supports combining both synchronous and asynchronous " +"context managers, as well as having coroutines for cleanup logic." +msgstr "" +":ref:`асинхронний контекстний менеджер `, подібний " +"до :class:`ExitStack`, який підтримує поєднання синхронних і асинхронних " +"контекстних менеджерів, а також має співпрограми для логіки очищення." + +msgid "" +"The :meth:`close` method is not implemented, :meth:`aclose` must be used " +"instead." +msgstr "" +"Метод :meth:`close` не реалізовано, замість нього потрібно використовувати :" +"meth:`aclose`." + +msgid "" +"Similar to :meth:`enter_context` but expects an asynchronous context manager." +msgstr "" +"Подібно до :meth:`enter_context`, але передбачає асинхронний менеджер " +"контексту." + +msgid "" +"Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not an " +"asynchronous context manager." +msgstr "" + +msgid "" +"Similar to :meth:`push` but expects either an asynchronous context manager " +"or a coroutine function." +msgstr "" +"Подібно до :meth:`push`, але передбачає або асинхронний менеджер контексту, " +"або функцію співпрограми." + +msgid "Similar to :meth:`callback` but expects a coroutine function." +msgstr "Подібно до :meth:`callback`, але очікує функцію співпрограми." + +msgid "Similar to :meth:`close` but properly handles awaitables." +msgstr "Подібно до :meth:`close`, але належним чином обробляє очікування." + +msgid "Continuing the example for :func:`asynccontextmanager`::" +msgstr "Продовжуємо приклад для :func:`asynccontextmanager`::" + +msgid "Examples and Recipes" +msgstr "Приклади та рецепти" + +msgid "" +"This section describes some examples and recipes for making effective use of " +"the tools provided by :mod:`contextlib`." +msgstr "" +"У цьому розділі описано деякі приклади та рецепти ефективного використання " +"інструментів, наданих :mod:`contextlib`." + +msgid "Supporting a variable number of context managers" +msgstr "Підтримка змінної кількості контекстних менеджерів" + +msgid "" +"The primary use case for :class:`ExitStack` is the one given in the class " +"documentation: supporting a variable number of context managers and other " +"cleanup operations in a single :keyword:`with` statement. The variability " +"may come from the number of context managers needed being driven by user " +"input (such as opening a user specified collection of files), or from some " +"of the context managers being optional::" +msgstr "" +"Основний варіант використання :class:`ExitStack` — це той, який наведено в " +"документації класу: підтримка змінної кількості контекстних менеджерів та " +"інших операцій очищення в одному операторі :keyword:`with`. Варіативність " +"може виникати через кількість необхідних менеджерів контексту, які керуються " +"введенням користувача (наприклад, відкриття вказаної користувачем колекції " +"файлів), або через те, що деякі менеджери контексту є необов’язковими:" + +msgid "" +"As shown, :class:`ExitStack` also makes it quite easy to use :keyword:`with` " +"statements to manage arbitrary resources that don't natively support the " +"context management protocol." +msgstr "" +"Як показано, :class:`ExitStack` також дозволяє досить легко використовувати " +"оператори :keyword:`with` для керування довільними ресурсами, які спочатку " +"не підтримують протокол керування контекстом." + +msgid "Catching exceptions from ``__enter__`` methods" +msgstr "Перехоплення винятків із методів ``__enter__``" + +msgid "" +"It is occasionally desirable to catch exceptions from an ``__enter__`` " +"method implementation, *without* inadvertently catching exceptions from the :" +"keyword:`with` statement body or the context manager's ``__exit__`` method. " +"By using :class:`ExitStack` the steps in the context management protocol can " +"be separated slightly in order to allow this::" +msgstr "" +"Час від часу бажано перехоплювати винятки з реалізації методу ``__enter__``, " +"*без* випадкового перехоплення винятків з тіла оператора :keyword:`with` або " +"методу ``__exit__`` контекстного менеджера. За допомогою :class:`ExitStack` " +"кроки в протоколі керування контекстом можна трохи розділити, щоб дозволити " +"це:" + +msgid "" +"Actually needing to do this is likely to indicate that the underlying API " +"should be providing a direct resource management interface for use with :" +"keyword:`try`/:keyword:`except`/:keyword:`finally` statements, but not all " +"APIs are well designed in that regard. When a context manager is the only " +"resource management API provided, then :class:`ExitStack` can make it easier " +"to handle various situations that can't be handled directly in a :keyword:" +"`with` statement." +msgstr "" +"Насправді необхідність зробити це означає, що основний API має надавати " +"інтерфейс прямого керування ресурсами для використання з операторами :" +"keyword:`try`/:keyword:`except`/:keyword:`finally`, але не з усіма API добре " +"розроблені в цьому плані. Коли контекстний менеджер є єдиним наданим API " +"керування ресурсами, тоді :class:`ExitStack` може полегшити обробку " +"різноманітних ситуацій, які не можна обробити безпосередньо в операторі :" +"keyword:`with`." + +msgid "Cleaning up in an ``__enter__`` implementation" +msgstr "Очищення в реалізації ``__enter__``" + +msgid "" +"As noted in the documentation of :meth:`ExitStack.push`, this method can be " +"useful in cleaning up an already allocated resource if later steps in the :" +"meth:`__enter__` implementation fail." +msgstr "" +"Як зазначено в документації :meth:`ExitStack.push`, цей метод може бути " +"корисним для очищення вже виділеного ресурсу, якщо наступні кроки в " +"реалізації :meth:`__enter__` завершаться невдачею." + +msgid "" +"Here's an example of doing this for a context manager that accepts resource " +"acquisition and release functions, along with an optional validation " +"function, and maps them to the context management protocol::" +msgstr "" +"Ось приклад виконання цього для контекстного менеджера, який приймає функції " +"отримання та звільнення ресурсів разом із додатковою функцією перевірки та " +"відображає їх у протоколі керування контекстом::" + +msgid "Replacing any use of ``try-finally`` and flag variables" +msgstr "Заміна будь-якого використання змінних ``try-finally`` і прапорців" + +msgid "" +"A pattern you will sometimes see is a ``try-finally`` statement with a flag " +"variable to indicate whether or not the body of the ``finally`` clause " +"should be executed. In its simplest form (that can't already be handled just " +"by using an ``except`` clause instead), it looks something like this::" +msgstr "" +"Зразок, який ви іноді побачите, — це інструкція ``try-finally`` зі змінною-" +"прапором, яка вказує, чи має бути виконано тіло пропозиції ``finally``. У " +"своїй найпростішій формі (з якою вже не можна впоратися лише за допомогою " +"пропозиції ``except``), це виглядає приблизно так:" + +msgid "" +"As with any ``try`` statement based code, this can cause problems for " +"development and review, because the setup code and the cleanup code can end " +"up being separated by arbitrarily long sections of code." +msgstr "" +"Як і у випадку з будь-яким кодом, заснованим на інструкціях ``try``, це може " +"спричинити проблеми з розробкою та переглядом, оскільки код налаштування та " +"код очищення можуть бути розділені довільно довгими частинами коду." + +msgid "" +":class:`ExitStack` makes it possible to instead register a callback for " +"execution at the end of a ``with`` statement, and then later decide to skip " +"executing that callback::" +msgstr "" +":class:`ExitStack` дає змогу замість цього зареєструвати зворотний виклик " +"для виконання в кінці оператора ``with``, а потім вирішити пропустити " +"виконання цього зворотного виклику::" + +msgid "" +"This allows the intended cleanup up behaviour to be made explicit up front, " +"rather than requiring a separate flag variable." +msgstr "" +"Це дозволяє чітко визначити заплановану поведінку очищення, а не вимагати " +"окремої змінної прапора." + +msgid "" +"If a particular application uses this pattern a lot, it can be simplified " +"even further by means of a small helper class::" +msgstr "" +"Якщо певна програма часто використовує цей шаблон, його можна ще більше " +"спростити за допомогою невеликого допоміжного класу:" + +msgid "" +"If the resource cleanup isn't already neatly bundled into a standalone " +"function, then it is still possible to use the decorator form of :meth:" +"`ExitStack.callback` to declare the resource cleanup in advance::" +msgstr "" +"Якщо очищення ресурсу ще не акуратно об’єднано в окрему функцію, то все ще " +"можна використовувати форму декоратора :meth:`ExitStack.callback`, щоб " +"оголосити очищення ресурсу заздалегідь::" + +msgid "" +"Due to the way the decorator protocol works, a callback function declared " +"this way cannot take any parameters. Instead, any resources to be released " +"must be accessed as closure variables." +msgstr "" +"Через те, як працює протокол декоратора, функція зворотного виклику, " +"оголошена таким чином, не може приймати жодних параметрів. Натомість доступ " +"до будь-яких ресурсів, які потрібно звільнити, має здійснюватися як змінні " +"закриття." + +msgid "Using a context manager as a function decorator" +msgstr "Використання контекстного менеджера як декоратора функції" + +msgid "" +":class:`ContextDecorator` makes it possible to use a context manager in both " +"an ordinary ``with`` statement and also as a function decorator." +msgstr "" +":class:`ContextDecorator` дає змогу використовувати менеджер контексту як у " +"звичайному операторі ``with``, так і як декоратор функції." + +msgid "" +"For example, it is sometimes useful to wrap functions or groups of " +"statements with a logger that can track the time of entry and time of exit. " +"Rather than writing both a function decorator and a context manager for the " +"task, inheriting from :class:`ContextDecorator` provides both capabilities " +"in a single definition::" +msgstr "" +"Наприклад, іноді корисно обернути функції або групи операторів за допомогою " +"реєстратора, який може відстежувати час входу та час виходу. Замість " +"написання як декоратора функції, так і менеджера контексту для завдання, " +"успадкування від :class:`ContextDecorator` надає обидві можливості в одному " +"визначенні::" + +msgid "Instances of this class can be used as both a context manager::" +msgstr "Екземпляри цього класу можна використовувати і як менеджер контексту:" + +msgid "And also as a function decorator::" +msgstr "А також як декоратор функцій::" + +msgid "" +"Note that there is one additional limitation when using context managers as " +"function decorators: there's no way to access the return value of :meth:" +"`__enter__`. If that value is needed, then it is still necessary to use an " +"explicit ``with`` statement." +msgstr "" +"Зауважте, що існує одне додаткове обмеження під час використання менеджерів " +"контексту як декораторів функцій: немає можливості отримати доступ до " +"значення, яке повертає :meth:`__enter__`. Якщо це значення потрібне, все " +"одно необхідно використовувати явний оператор with." + +msgid ":pep:`343` - The \"with\" statement" +msgstr ":pep:`343` - оператор \"з\"." + +msgid "" +"The specification, background, and examples for the Python :keyword:`with` " +"statement." +msgstr "Специфікація, передумови та приклади оператора Python :keyword:`with`." + +msgid "Single use, reusable and reentrant context managers" +msgstr "" +"Менеджери контексту для одноразового, багаторазового та повторного входу" + +msgid "" +"Most context managers are written in a way that means they can only be used " +"effectively in a :keyword:`with` statement once. These single use context " +"managers must be created afresh each time they're used - attempting to use " +"them a second time will trigger an exception or otherwise not work correctly." +msgstr "" +"Більшість контекстних менеджерів написані таким чином, що вони можуть бути " +"ефективно використані в операторі :keyword:`with` лише один раз. Ці " +"одноразові контекстні менеджери потрібно створювати заново кожного разу, " +"коли вони використовуються — спроба використати їх вдруге призведе до " +"виключення або іншим чином не працюватиме належним чином." + +msgid "" +"This common limitation means that it is generally advisable to create " +"context managers directly in the header of the :keyword:`with` statement " +"where they are used (as shown in all of the usage examples above)." +msgstr "" +"Це загальне обмеження означає, що загалом доцільно створювати менеджери " +"контексту безпосередньо в заголовку оператора :keyword:`with`, де вони " +"використовуються (як показано в усіх наведених вище прикладах використання)." + +msgid "" +"Files are an example of effectively single use context managers, since the " +"first :keyword:`with` statement will close the file, preventing any further " +"IO operations using that file object." +msgstr "" +"Файли є прикладом ефективних одноразових контекстних менеджерів, оскільки " +"перший оператор :keyword:`with` закриває файл, запобігаючи будь-яким " +"подальшим операціям вводу-виводу з використанням цього файлового об’єкта." + +msgid "" +"Context managers created using :func:`contextmanager` are also single use " +"context managers, and will complain about the underlying generator failing " +"to yield if an attempt is made to use them a second time::" +msgstr "" +"Менеджери контексту, створені за допомогою :func:`contextmanager`, також є " +"одноразовими менеджерами контексту, і вони скаржаться на те, що базовий " +"генератор не працює, якщо буде зроблена спроба використати їх вдруге:" + +msgid "Reentrant context managers" +msgstr "Реентерабельні контекстні менеджери" + +msgid "" +"More sophisticated context managers may be \"reentrant\". These context " +"managers can not only be used in multiple :keyword:`with` statements, but " +"may also be used *inside* a :keyword:`!with` statement that is already using " +"the same context manager." +msgstr "" +"Більш складні контекстні менеджери можуть бути \"реентерабельними\". Ці " +"менеджери контексту можна використовувати не лише в кількох операторах :" +"keyword:`with`, але також *всередині* оператора :keyword:`!with`, який уже " +"використовує той самий менеджер контексту." + +msgid "" +":class:`threading.RLock` is an example of a reentrant context manager, as " +"are :func:`suppress`, :func:`redirect_stdout`, and :func:`chdir`. Here's a " +"very simple example of reentrant use::" +msgstr "" + +msgid "" +"Real world examples of reentrancy are more likely to involve multiple " +"functions calling each other and hence be far more complicated than this " +"example." +msgstr "" +"Приклади повторного входу в реальному світі, швидше за все, включають кілька " +"функцій, які викликають одна одну, і, отже, вони набагато складніші, ніж цей " +"приклад." + +msgid "" +"Note also that being reentrant is *not* the same thing as being thread " +"safe. :func:`redirect_stdout`, for example, is definitely not thread safe, " +"as it makes a global modification to the system state by binding :data:`sys." +"stdout` to a different stream." +msgstr "" +"Зауважте також, що реентерабельність — це *не* те саме, що бути " +"потокобезпечною. :func:`redirect_stdout`, наприклад, точно небезпечний для " +"потоків, оскільки він робить глобальну модифікацію стану системи шляхом " +"прив’язки :data:`sys.stdout` до іншого потоку." + +msgid "Reusable context managers" +msgstr "Багаторазові контекстні менеджери" + +msgid "" +"Distinct from both single use and reentrant context managers are \"reusable" +"\" context managers (or, to be completely explicit, \"reusable, but not " +"reentrant\" context managers, since reentrant context managers are also " +"reusable). These context managers support being used multiple times, but " +"will fail (or otherwise not work correctly) if the specific context manager " +"instance has already been used in a containing with statement." +msgstr "" +"Від одноразових і повторних контекстних менеджерів відрізняються \"повторно " +"використовувані\" контекстні менеджери (або, якщо бути повністю явними, " +"\"повторно використовувані, але не повторні\" контекстні менеджери, оскільки " +"повторні контекстні менеджери також багаторазові). Ці контекстні менеджери " +"підтримують багаторазове використання, але не працюватимуть (або не " +"працюватимуть належним чином), якщо конкретний екземпляр контекстного " +"менеджера вже використовувався в операторі containing with." + +msgid "" +":class:`threading.Lock` is an example of a reusable, but not reentrant, " +"context manager (for a reentrant lock, it is necessary to use :class:" +"`threading.RLock` instead)." +msgstr "" +":class:`threading.Lock` є прикладом повторно використовуваного, але не " +"реентрантного, контекстного менеджера (для повторного вхідного блокування " +"замість цього необхідно використовувати :class:`threading.RLock`)." + +msgid "" +"Another example of a reusable, but not reentrant, context manager is :class:" +"`ExitStack`, as it invokes *all* currently registered callbacks when leaving " +"any with statement, regardless of where those callbacks were added::" +msgstr "" +"Іншим прикладом повторно використовуваного, але не реентрантного " +"контекстного менеджера є :class:`ExitStack`, оскільки він викликає *всі* " +"зареєстровані наразі зворотні виклики, коли залишає будь-який оператор with, " +"незалежно від того, де ці зворотні виклики було додано::" + +msgid "" +"As the output from the example shows, reusing a single stack object across " +"multiple with statements works correctly, but attempting to nest them will " +"cause the stack to be cleared at the end of the innermost with statement, " +"which is unlikely to be desirable behaviour." +msgstr "" +"Як показує вихід із прикладу, повторне використання одного об’єкта стека в " +"кількох інструкціях with працює правильно, але спроба їх вкладення " +"спричинить очищення стека в кінці внутрішнього оператора with, що навряд чи " +"буде бажаною поведінкою." + +msgid "" +"Using separate :class:`ExitStack` instances instead of reusing a single " +"instance avoids that problem::" +msgstr "" +"Використання окремих екземплярів :class:`ExitStack` замість повторного " +"використання одного екземпляра дозволяє уникнути цієї проблеми:" diff --git a/library/contextvars.po b/library/contextvars.po new file mode 100644 index 000000000..e77c91ae0 --- /dev/null +++ b/library/contextvars.po @@ -0,0 +1,280 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:57+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`contextvars` --- Context Variables" +msgstr ":mod:`contextvars` --- Змінні контексту" + +msgid "" +"This module provides APIs to manage, store, and access context-local state. " +"The :class:`~contextvars.ContextVar` class is used to declare and work with " +"*Context Variables*. The :func:`~contextvars.copy_context` function and " +"the :class:`~contextvars.Context` class should be used to manage the current " +"context in asynchronous frameworks." +msgstr "" +"Цей модуль надає API для керування, зберігання та доступу до контекстно-" +"локального стану. Клас :class:`~contextvars.ContextVar` використовується для " +"оголошення *контекстних змінних* і роботи з ними. Функцію :func:" +"`~contextvars.copy_context` і клас :class:`~contextvars.Context` слід " +"використовувати для керування поточним контекстом в асинхронних структурах." + +msgid "" +"Context managers that have state should use Context Variables instead of :" +"func:`threading.local()` to prevent their state from bleeding to other code " +"unexpectedly, when used in concurrent code." +msgstr "" +"Менеджери контексту, які мають стан, повинні використовувати змінні " +"контексту замість :func:`threading.local()`, щоб запобігти неочікуваному " +"перекиданню свого стану в інший код під час використання в паралельному коді." + +msgid "See also :pep:`567` for additional details." +msgstr "Дивіться також :pep:`567` для отримання додаткової інформації." + +msgid "Context Variables" +msgstr "Контекстні змінні" + +msgid "This class is used to declare a new Context Variable, e.g.::" +msgstr "" +"Цей клас використовується для оголошення нової змінної контексту, наприклад::" + +msgid "" +"The required *name* parameter is used for introspection and debug purposes." +msgstr "" +"Необхідний параметр *name* використовується для самоаналізу та налагодження." + +msgid "" +"The optional keyword-only *default* parameter is returned by :meth:" +"`ContextVar.get` when no value for the variable is found in the current " +"context." +msgstr "" +"Необов’язковий параметр *default*, що містить лише ключове слово, " +"повертається :meth:`ContextVar.get`, якщо значення для змінної не знайдено в " +"поточному контексті." + +msgid "" +"**Important:** Context Variables should be created at the top module level " +"and never in closures. :class:`Context` objects hold strong references to " +"context variables which prevents context variables from being properly " +"garbage collected." +msgstr "" +"**Важливо:** Змінні контексту слід створювати на верхньому рівні модуля, а " +"не в закриттях. Об’єкти :class:`Context` містять сильні посилання на змінні " +"контексту, що перешкоджає правильному збиранню сміття змінним контексту." + +msgid "The name of the variable. This is a read-only property." +msgstr "Ім'я змінної. Це властивість лише для читання." + +msgid "Return a value for the context variable for the current context." +msgstr "Повертає значення контекстної змінної для поточного контексту." + +msgid "" +"If there is no value for the variable in the current context, the method " +"will:" +msgstr "Якщо для змінної немає значення в поточному контексті, метод:" + +msgid "" +"return the value of the *default* argument of the method, if provided; or" +msgstr "повертає значення аргументу *default* методу, якщо він надається; або" + +msgid "" +"return the default value for the context variable, if it was created with " +"one; or" +msgstr "" +"повертає значення за замовчуванням для контекстної змінної, якщо вона була " +"створена за допомогою такої; або" + +msgid "raise a :exc:`LookupError`." +msgstr "викликає :exc:`LookupError`." + +msgid "" +"Call to set a new value for the context variable in the current context." +msgstr "" +"Виклик, щоб встановити нове значення для контекстної змінної в поточному " +"контексті." + +msgid "" +"The required *value* argument is the new value for the context variable." +msgstr "" +"Обов’язковий аргумент *значення* — це нове значення для контекстної змінної." + +msgid "" +"Returns a :class:`~contextvars.Token` object that can be used to restore the " +"variable to its previous value via the :meth:`ContextVar.reset` method." +msgstr "" +"Повертає об’єкт :class:`~contextvars.Token`, який можна використовувати для " +"відновлення попереднього значення змінної за допомогою методу :meth:" +"`ContextVar.reset`." + +msgid "" +"Reset the context variable to the value it had before the :meth:`ContextVar." +"set` that created the *token* was used." +msgstr "" +"Скиньте контекстну змінну до значення, яке воно мало до використання :meth:" +"`ContextVar.set`, який створив *токен*." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"*Token* objects are returned by the :meth:`ContextVar.set` method. They can " +"be passed to the :meth:`ContextVar.reset` method to revert the value of the " +"variable to what it was before the corresponding *set*." +msgstr "" +"Об’єкти *Token* повертаються методом :meth:`ContextVar.set`. Їх можна " +"передати в метод :meth:`ContextVar.reset`, щоб повернути значення змінної до " +"того, яким воно було до відповідного *set*." + +msgid "" +"A read-only property. Points to the :class:`ContextVar` object that created " +"the token." +msgstr "" +"Властивість лише для читання. Вказує на об’єкт :class:`ContextVar`, який " +"створив маркер." + +msgid "" +"A read-only property. Set to the value the variable had before the :meth:" +"`ContextVar.set` method call that created the token. It points to :attr:" +"`Token.MISSING` if the variable was not set before the call." +msgstr "" + +msgid "A marker object used by :attr:`Token.old_value`." +msgstr "Об’єкт-маркер, який використовується :attr:`Token.old_value`." + +msgid "Manual Context Management" +msgstr "Ручне керування контекстом" + +msgid "Returns a copy of the current :class:`~contextvars.Context` object." +msgstr "Повертає копію поточного об’єкта :class:`~contextvars.Context`." + +msgid "" +"The following snippet gets a copy of the current context and prints all " +"variables and their values that are set in it::" +msgstr "" +"Наступний фрагмент коду отримує копію поточного контексту та друкує всі " +"змінні та їхні значення, встановлені в ньому:" + +msgid "" +"The function has an O(1) complexity, i.e. works equally fast for contexts " +"with a few context variables and for contexts that have a lot of them." +msgstr "" +"Функція має рівень складності O(1), тобто працює однаково швидко як для " +"контекстів із кількома контекстними змінними, так і для контекстів із " +"великою їх кількістю." + +msgid "A mapping of :class:`ContextVars ` to their values." +msgstr "Відображення :class:`ContextVars ` на їхні значення." + +msgid "" +"``Context()`` creates an empty context with no values in it. To get a copy " +"of the current context use the :func:`~contextvars.copy_context` function." +msgstr "" +"``Context()`` створює порожній контекст без значень у ньому. Щоб отримати " +"копію поточного контексту, використовуйте функцію :func:`~contextvars." +"copy_context`." + +msgid "Context implements the :class:`collections.abc.Mapping` interface." +msgstr "Context реалізує інтерфейс :class:`collections.abc.Mapping`." + +msgid "" +"Execute ``callable(*args, **kwargs)`` code in the context object the *run* " +"method is called on. Return the result of the execution or propagate an " +"exception if one occurred." +msgstr "" +"Виконайте код ``callable(*args, **kwargs)`` в об’єкті контексту, для якого " +"викликається метод *run*. Повернути результат виконання або поширити " +"виняткову ситуацію, якщо вона сталася." + +msgid "" +"Any changes to any context variables that *callable* makes will be contained " +"in the context object::" +msgstr "" +"Будь-які зміни будь-яких змінних контексту, які робить *callable*, " +"міститимуться в об’єкті контексту::" + +msgid "" +"The method raises a :exc:`RuntimeError` when called on the same context " +"object from more than one OS thread, or when called recursively." +msgstr "" +"Метод викликає :exc:`RuntimeError` під час виклику одного контекстного " +"об’єкта з кількох потоків ОС або під час рекурсивного виклику." + +msgid "Return a shallow copy of the context object." +msgstr "Повертає поверхневу копію об’єкта контексту." + +msgid "" +"Return ``True`` if the *context* has a value for *var* set; return ``False`` " +"otherwise." +msgstr "" +"Повертає ``True``, якщо *контекст* має встановлене значення *var*; інакше " +"поверніть ``False``." + +msgid "" +"Return the value of the *var* :class:`ContextVar` variable. If the variable " +"is not set in the context object, a :exc:`KeyError` is raised." +msgstr "" +"Повертає значення змінної *var* :class:`ContextVar`. Якщо змінна не " +"встановлена в об’єкті контексту, виникає :exc:`KeyError`." + +msgid "" +"Return the value for *var* if *var* has the value in the context object. " +"Return *default* otherwise. If *default* is not given, return ``None``." +msgstr "" +"Повертає значення для *var*, якщо *var* має значення в об’єкті контексту. " +"Повернути *за замовчуванням* інакше. Якщо *default* не вказано, поверніть " +"``None``." + +msgid "Return an iterator over the variables stored in the context object." +msgstr "Повертає ітератор над змінними, що зберігаються в об’єкті контексту." + +msgid "Return the number of variables set in the context object." +msgstr "Повертає кількість змінних, встановлених в об’єкті контексту." + +msgid "Return a list of all variables in the context object." +msgstr "Повертає список усіх змінних в об’єкті контексту." + +msgid "Return a list of all variables' values in the context object." +msgstr "Повертає список усіх значень змінних в об’єкті контексту." + +msgid "" +"Return a list of 2-tuples containing all variables and their values in the " +"context object." +msgstr "" +"Повертає список 2-кортежів, що містить усі змінні та їхні значення в " +"контекстному об’єкті." + +msgid "asyncio support" +msgstr "підтримка asyncio" + +msgid "" +"Context variables are natively supported in :mod:`asyncio` and are ready to " +"be used without any extra configuration. For example, here is a simple echo " +"server, that uses a context variable to make the address of a remote client " +"available in the Task that handles that client::" +msgstr "" +"Контекстні змінні підтримуються в :mod:`asyncio` і готові до використання " +"без додаткового налаштування. Наприклад, ось простий ехо-сервер, який " +"використовує контекстну змінну, щоб зробити адресу віддаленого клієнта " +"доступною в Завданні, яке обробляє цього клієнта:" diff --git a/library/copy.po b/library/copy.po new file mode 100644 index 000000000..65be2c3ee --- /dev/null +++ b/library/copy.po @@ -0,0 +1,181 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`copy` --- Shallow and deep copy operations" +msgstr ":mod:`copy` --- Операції поверхневого та глибокого копіювання" + +msgid "**Source code:** :source:`Lib/copy.py`" +msgstr "**Вихідний код:** :source:`Lib/copy.py`" + +msgid "" +"Assignment statements in Python do not copy objects, they create bindings " +"between a target and an object. For collections that are mutable or contain " +"mutable items, a copy is sometimes needed so one can change one copy without " +"changing the other. This module provides generic shallow and deep copy " +"operations (explained below)." +msgstr "" +"Оператори присвоєння в Python не копіюють об’єкти, вони створюють прив’язки " +"між метою та об’єктом. Для колекцій, які є змінними або містять змінні " +"елементи, іноді потрібна копія, щоб можна було змінити одну копію, не " +"змінюючи іншу. Цей модуль забезпечує загальні операції поверхневого та " +"глибокого копіювання (пояснення нижче)." + +msgid "Interface summary:" +msgstr "Короткий опис інтерфейсу:" + +msgid "Return a shallow copy of *x*." +msgstr "Повернути мілку копію *x*." + +msgid "Return a deep copy of *x*." +msgstr "Повернути глибоку копію *x*." + +msgid "Raised for module specific errors." +msgstr "Піднято для конкретних помилок модуля." + +msgid "" +"The difference between shallow and deep copying is only relevant for " +"compound objects (objects that contain other objects, like lists or class " +"instances):" +msgstr "" +"Різниця між поверхневим і глибоким копіюванням актуальна лише для складених " +"об’єктів (об’єктів, які містять інші об’єкти, наприклад списки чи екземпляри " +"класу):" + +msgid "" +"A *shallow copy* constructs a new compound object and then (to the extent " +"possible) inserts *references* into it to the objects found in the original." +msgstr "" +"*Неглибока копія* створює новий складений об’єкт, а потім (наскільки це " +"можливо) вставляє в нього *посилання* на об’єкти, знайдені в оригіналі." + +msgid "" +"A *deep copy* constructs a new compound object and then, recursively, " +"inserts *copies* into it of the objects found in the original." +msgstr "" +"*Глибока копія* створює новий складений об’єкт, а потім рекурсивно вставляє " +"в нього *копії* об’єктів, знайдених в оригіналі." + +msgid "" +"Two problems often exist with deep copy operations that don't exist with " +"shallow copy operations:" +msgstr "" +"З операціями глибокого копіювання часто існують дві проблеми, яких немає з " +"операціями поверхневого копіювання:" + +msgid "" +"Recursive objects (compound objects that, directly or indirectly, contain a " +"reference to themselves) may cause a recursive loop." +msgstr "" +"Рекурсивні об’єкти (складені об’єкти, які прямо чи опосередковано містять " +"посилання на себе) можуть спричинити рекурсивний цикл." + +msgid "" +"Because deep copy copies everything it may copy too much, such as data which " +"is intended to be shared between copies." +msgstr "" +"Оскільки глибока копія копіює все, що може скопіювати занадто багато, " +"наприклад дані, які призначені для спільного використання між копіями." + +msgid "The :func:`deepcopy` function avoids these problems by:" +msgstr "Функція :func:`deepcopy` дозволяє уникнути цих проблем за допомогою:" + +msgid "" +"keeping a ``memo`` dictionary of objects already copied during the current " +"copying pass; and" +msgstr "" +"ведення словника ``memo`` об'єктів, уже скопійованих під час поточного " +"проходу копіювання; і" + +msgid "" +"letting user-defined classes override the copying operation or the set of " +"components copied." +msgstr "" +"дозволяючи визначеним користувачем класам перевизначати операцію копіювання " +"або набір скопійованих компонентів." + +msgid "" +"This module does not copy types like module, method, stack trace, stack " +"frame, file, socket, window, or any similar types. It does \"copy\" " +"functions and classes (shallow and deeply), by returning the original object " +"unchanged; this is compatible with the way these are treated by the :mod:" +"`pickle` module." +msgstr "" +"Цей модуль не копіює такі типи, як модуль, метод, трасування стека, фрейм " +"стека, файл, сокет, вікно або будь-які подібні типи. Він \"копіює\" функції " +"та класи (неглибокі та глибокі), повертаючи вихідний об’єкт без змін; це " +"сумісно з тим, як вони обробляються модулем :mod:`pickle`." + +msgid "" +"Shallow copies of dictionaries can be made using :meth:`dict.copy`, and of " +"lists by assigning a slice of the entire list, for example, ``copied_list = " +"original_list[:]``." +msgstr "" +"Неглибокі копії словників можна зробити за допомогою :meth:`dict.copy`, а " +"списків — шляхом призначення частини всього списку, наприклад, ``copied_list " +"= original_list[:]``." + +msgid "" +"Classes can use the same interfaces to control copying that they use to " +"control pickling. See the description of module :mod:`pickle` for " +"information on these methods. In fact, the :mod:`copy` module uses the " +"registered pickle functions from the :mod:`copyreg` module." +msgstr "" +"Класи можуть використовувати ті самі інтерфейси для керування копіюванням, " +"які вони використовують для керування травленням. Перегляньте опис модуля :" +"mod:`pickle` для отримання інформації про ці методи. Фактично, модуль :mod:" +"`copy` використовує зареєстровані функції pickle з модуля :mod:`copyreg`." + +msgid "" +"In order for a class to define its own copy implementation, it can define " +"special methods :meth:`__copy__` and :meth:`__deepcopy__`. The former is " +"called to implement the shallow copy operation; no additional arguments are " +"passed. The latter is called to implement the deep copy operation; it is " +"passed one argument, the ``memo`` dictionary. If the :meth:`__deepcopy__` " +"implementation needs to make a deep copy of a component, it should call the :" +"func:`deepcopy` function with the component as first argument and the memo " +"dictionary as second argument. The memo dictionary should be treated as an " +"opaque object." +msgstr "" +"Щоб клас міг визначити власну реалізацію копіювання, він може визначити " +"спеціальні методи :meth:`__copy__` і :meth:`__deepcopy__`. Перший " +"викликається для реалізації операції поверхневого копіювання; додаткові " +"аргументи не передаються. Останній викликається для реалізації операції " +"глибокого копіювання; йому передається один аргумент, словник ``memo``. Якщо " +"реалізація :meth:`__deepcopy__` потребує створення глибокої копії " +"компонента, вона повинна викликати функцію :func:`deepcopy` з компонентом як " +"першим аргументом і словником memo як другим аргументом. Словник memo слід " +"розглядати як непрозорий об’єкт." + +msgid "Module :mod:`pickle`" +msgstr "Модуль :mod:`pickle`" + +msgid "" +"Discussion of the special methods used to support object state retrieval and " +"restoration." +msgstr "" +"Обговорення спеціальних методів, які використовуються для підтримки пошуку " +"та відновлення стану об'єкта." diff --git a/library/copyreg.po b/library/copyreg.po new file mode 100644 index 000000000..abcec6aae --- /dev/null +++ b/library/copyreg.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`copyreg` --- Register :mod:`pickle` support functions" +msgstr ":mod:`copyreg` --- Реєстрація функцій підтримки :mod:`pickle`" + +msgid "**Source code:** :source:`Lib/copyreg.py`" +msgstr "**Вихідний код:** :source:`Lib/copyreg.py`" + +msgid "" +"The :mod:`copyreg` module offers a way to define functions used while " +"pickling specific objects. The :mod:`pickle` and :mod:`copy` modules use " +"those functions when pickling/copying those objects. The module provides " +"configuration information about object constructors which are not classes. " +"Such constructors may be factory functions or class instances." +msgstr "" +"Модуль :mod:`copyreg` пропонує спосіб визначення функцій, які " +"використовуються під час маринування конкретних об’єктів. Модулі :mod:" +"`pickle` і :mod:`copy` використовують ці функції під час маринування/" +"копіювання цих об’єктів. Модуль надає конфігураційну інформацію про " +"конструктори об’єктів, які не є класами. Такими конструкторами можуть бути " +"фабричні функції або екземпляри класу." + +msgid "" +"Declares *object* to be a valid constructor. If *object* is not callable " +"(and hence not valid as a constructor), raises :exc:`TypeError`." +msgstr "" +"Оголошує *object* як дійсний конструктор. Якщо *object* не можна викликати " +"(і, отже, недійсний як конструктор), викликає :exc:`TypeError`." + +msgid "" +"Declares that *function* should be used as a \"reduction\" function for " +"objects of type *type*. *function* should return either a string or a tuple " +"containing two or three elements. See the :attr:`~pickle.Pickler." +"dispatch_table` for more details on the interface of *function*." +msgstr "" + +msgid "" +"The *constructor_ob* parameter is a legacy feature and is now ignored, but " +"if passed it must be a callable." +msgstr "" + +msgid "" +"Note that the :attr:`~pickle.Pickler.dispatch_table` attribute of a pickler " +"object or subclass of :class:`pickle.Pickler` can also be used for declaring " +"reduction functions." +msgstr "" + +msgid "Example" +msgstr "приклад" + +msgid "" +"The example below would like to show how to register a pickle function and " +"how it will be used:" +msgstr "" +"Наведений нижче приклад показує, як зареєструвати функцію pickle і як вона " +"буде використовуватися:" diff --git a/library/crypt.po b/library/crypt.po new file mode 100644 index 000000000..bd68495fa --- /dev/null +++ b/library/crypt.po @@ -0,0 +1,244 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`crypt` --- Function to check Unix passwords" +msgstr ":mod:`crypt` --- Функція для перевірки паролів Unix" + +msgid "**Source code:** :source:`Lib/crypt.py`" +msgstr "**Вихідний код:** :source:`Lib/crypt.py`" + +msgid "" +"The :mod:`crypt` module is deprecated (see :pep:`PEP 594 <594#crypt>` for " +"details and alternatives). The :mod:`hashlib` module is a potential " +"replacement for certain use cases." +msgstr "" +"Модуль :mod:`crypt` є застарілим (перегляньте :pep:`PEP 594 <594#crypt>` для " +"деталей та альтернатив). Модуль :mod:`hashlib` є потенційною заміною для " +"певних випадків використання." + +msgid "" +"This module implements an interface to the :manpage:`crypt(3)` routine, " +"which is a one-way hash function based upon a modified DES algorithm; see " +"the Unix man page for further details. Possible uses include storing hashed " +"passwords so you can check passwords without storing the actual password, or " +"attempting to crack Unix passwords with a dictionary." +msgstr "" +"Цей модуль реалізує інтерфейс до процедури :manpage:`crypt(3)`, яка є " +"односторонньою хеш-функцією на основі модифікованого алгоритму DES; " +"подробиці див. на сторінці довідки Unix. Можливе використання включає " +"зберігання хешованих паролів, щоб ви могли перевіряти паролі, не зберігаючи " +"справжній пароль, або спробу зламати паролі Unix за допомогою словника." + +msgid "" +"Notice that the behavior of this module depends on the actual " +"implementation of the :manpage:`crypt(3)` routine in the running system. " +"Therefore, any extensions available on the current implementation will also " +"be available on this module." +msgstr "" +"Зауважте, що поведінка цього модуля залежить від фактичної реалізації " +"підпрограми :manpage:`crypt(3)` у запущеній системі. Тому будь-які " +"розширення, доступні для поточної реалізації, також будуть доступні в цьому " +"модулі." + +msgid ":ref:`Availability `: Unix, not VxWorks." +msgstr "" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Hashing Methods" +msgstr "Методи хешування" + +msgid "" +"The :mod:`crypt` module defines the list of hashing methods (not all methods " +"are available on all platforms):" +msgstr "" +"Модуль :mod:`crypt` визначає список методів хешування (не всі методи " +"доступні на всіх платформах):" + +msgid "" +"A Modular Crypt Format method with 16 character salt and 86 character hash " +"based on the SHA-512 hash function. This is the strongest method." +msgstr "" +"Метод Modular Crypt Format із 16-символьним кодом і 86-символьним хешем на " +"основі хеш-функції SHA-512. Це найсильніший метод." + +msgid "" +"Another Modular Crypt Format method with 16 character salt and 43 character " +"hash based on the SHA-256 hash function." +msgstr "" +"Інший метод Modular Crypt Format із 16-символьною сольовою і 43-символьною " +"хеш-функцією на основі хеш-функції SHA-256." + +msgid "" +"Another Modular Crypt Format method with 22 character salt and 31 character " +"hash based on the Blowfish cipher." +msgstr "" +"Ще один метод Modular Crypt Format із 22 символами і хеш-кодом із 31 символу " +"на основі шифру Blowfish." + +msgid "" +"Another Modular Crypt Format method with 8 character salt and 22 character " +"hash based on the MD5 hash function." +msgstr "" +"Інший метод Modular Crypt Format із 8-символьною сольовою і 22-символьною " +"хеш-функцією на основі хеш-функції MD5." + +msgid "" +"The traditional method with a 2 character salt and 13 characters of hash. " +"This is the weakest method." +msgstr "" +"Традиційний метод із 2 символами солі та 13 символами хешу. Це найслабший " +"метод." + +msgid "Module Attributes" +msgstr "Атрибути модуля" + +msgid "" +"A list of available password hashing algorithms, as ``crypt.METHOD_*`` " +"objects. This list is sorted from strongest to weakest." +msgstr "" +"Список доступних алгоритмів хешування паролів у вигляді об’єктів ``crypt." +"METHOD_*``. Цей список відсортовано від найсильнішого до найслабшого." + +msgid "Module Functions" +msgstr "Функції модуля" + +msgid "The :mod:`crypt` module defines the following functions:" +msgstr "Модуль :mod:`crypt` визначає такі функції:" + +msgid "" +"*word* will usually be a user's password as typed at a prompt or in a " +"graphical interface. The optional *salt* is either a string as returned " +"from :func:`mksalt`, one of the ``crypt.METHOD_*`` values (though not all " +"may be available on all platforms), or a full encrypted password including " +"salt, as returned by this function. If *salt* is not provided, the " +"strongest method available in :attr:`methods` will be used." +msgstr "" +"*word* зазвичай буде паролем користувача, який вводиться під час запиту або " +"в графічному інтерфейсі. Необов’язковий *salt* — це або рядок, отриманий " +"від :func:`mksalt`, одне зі значень ``crypt.METHOD_*`` (хоча не всі можуть " +"бути доступні на всіх платформах), або повний зашифрований пароль, включаючи " +"сіль , що повертається цією функцією. Якщо *salt* не вказано, буде " +"використано найсильніший метод, доступний у :attr:`methods`." + +msgid "" +"Checking a password is usually done by passing the plain-text password as " +"*word* and the full results of a previous :func:`crypt` call, which should " +"be the same as the results of this call." +msgstr "" +"Перевірка пароля зазвичай здійснюється шляхом передачі простого текстового " +"пароля як *word* і повних результатів попереднього виклику :func:`crypt`, " +"які мають бути такими ж, як і результати цього виклику." + +msgid "" +"*salt* (either a random 2 or 16 character string, possibly prefixed with ``" +"$digit$`` to indicate the method) which will be used to perturb the " +"encryption algorithm. The characters in *salt* must be in the set ``[./a-zA-" +"Z0-9]``, with the exception of Modular Crypt Format which prefixes a ``$digit" +"$``." +msgstr "" +"*salt* (довільний рядок із 2 або 16 символів, можливо, із префіксом ``$digit" +"$`` для вказівки методу), який використовуватиметься для порушення алгоритму " +"шифрування. Символи в *salt* мають бути в наборі ``[./a-zA-Z0-9]``, за " +"винятком Modular Crypt Format, який має префікс ``$digit$``." + +msgid "" +"Returns the hashed password as a string, which will be composed of " +"characters from the same alphabet as the salt." +msgstr "" +"Повертає хешований пароль у вигляді рядка, який буде складатися із символів " +"того самого алфавіту, що й сіль." + +msgid "" +"Since a few :manpage:`crypt(3)` extensions allow different values, with " +"different sizes in the *salt*, it is recommended to use the full crypted " +"password as salt when checking for a password." +msgstr "" +"Оскільки кілька розширень :manpage:`crypt(3)` допускають різні значення з " +"різними розмірами *salt*, рекомендується використовувати повний зашифрований " +"пароль як сіль під час перевірки пароля." + +msgid "Accept ``crypt.METHOD_*`` values in addition to strings for *salt*." +msgstr "Приймайте значення ``crypt.METHOD_*`` на додаток до рядків для *salt*." + +msgid "" +"Return a randomly generated salt of the specified method. If no *method* is " +"given, the strongest method available in :attr:`methods` is used." +msgstr "" +"Повертає випадково згенеровану сіль вказаного методу. Якщо *method* не " +"вказано, використовується найсильніший метод, доступний у :attr:`methods`." + +msgid "" +"The return value is a string suitable for passing as the *salt* argument to :" +"func:`crypt`." +msgstr "" +"Повернене значення — це рядок, який можна передати як аргумент *salt* до :" +"func:`crypt`." + +msgid "" +"*rounds* specifies the number of rounds for ``METHOD_SHA256``, " +"``METHOD_SHA512`` and ``METHOD_BLOWFISH``. For ``METHOD_SHA256`` and " +"``METHOD_SHA512`` it must be an integer between ``1000`` and " +"``999_999_999``, the default is ``5000``. For ``METHOD_BLOWFISH`` it must " +"be a power of two between ``16`` (2\\ :sup:`4`) and ``2_147_483_648`` (2\\ :" +"sup:`31`), the default is ``4096`` (2\\ :sup:`12`)." +msgstr "" +"*rounds* визначає кількість раундів для ``METHOD_SHA256``, ``METHOD_SHA512`` " +"і ``METHOD_BLOWFISH``. Для ``METHOD_SHA256`` і ``METHOD_SHA512`` воно має " +"бути цілим числом від ``1000`` до ``999_999_999``, за замовчуванням " +"``5000``. Для ``METHOD_BLOWFISH`` це має бути ступінь двох між ``16`` (2\\ :" +"sup:`4`) і ``2_147_483_648`` (2\\ :sup:`31`), за замовчуванням ``4096`` " +"(2\\ :sup:`12`)." + +msgid "Added the *rounds* parameter." +msgstr "Додано параметр *rounds*." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"A simple example illustrating typical use (a constant-time comparison " +"operation is needed to limit exposure to timing attacks. :func:`hmac." +"compare_digest` is suitable for this purpose)::" +msgstr "" +"Простий приклад, що ілюструє типове використання (операція порівняння в " +"постійному часі необхідна для обмеження впливу часових атак. :func:`hmac." +"compare_digest` підходить для цієї мети)::" + +msgid "" +"To generate a hash of a password using the strongest available method and " +"check it against the original::" +msgstr "" +"Щоб згенерувати хеш пароля за допомогою найнадійнішого доступного методу та " +"порівняти його з оригіналом:" diff --git a/library/crypto.po b/library/crypto.po new file mode 100644 index 000000000..772a8f21b --- /dev/null +++ b/library/crypto.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Cryptographic Services" +msgstr "Криптографічні послуги" + +msgid "" +"The modules described in this chapter implement various algorithms of a " +"cryptographic nature. They are available at the discretion of the " +"installation. On Unix systems, the :mod:`crypt` module may also be " +"available. Here's an overview:" +msgstr "" +"Модулі, описані в цьому розділі, реалізують різні алгоритми криптографічного " +"характеру. Вони доступні на розсуд установки. У системах Unix також може " +"бути доступний модуль :mod:`crypt`. Ось огляд:" diff --git a/library/csv.po b/library/csv.po new file mode 100644 index 000000000..a5c75cb0f --- /dev/null +++ b/library/csv.po @@ -0,0 +1,726 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`csv` --- CSV File Reading and Writing" +msgstr ":mod:`csv` --- Читання та запис файлу CSV" + +msgid "**Source code:** :source:`Lib/csv.py`" +msgstr "**Вихідний код:** :source:`Lib/csv.py`" + +msgid "" +"The so-called CSV (Comma Separated Values) format is the most common import " +"and export format for spreadsheets and databases. CSV format was used for " +"many years prior to attempts to describe the format in a standardized way " +"in :rfc:`4180`. The lack of a well-defined standard means that subtle " +"differences often exist in the data produced and consumed by different " +"applications. These differences can make it annoying to process CSV files " +"from multiple sources. Still, while the delimiters and quoting characters " +"vary, the overall format is similar enough that it is possible to write a " +"single module which can efficiently manipulate such data, hiding the details " +"of reading and writing the data from the programmer." +msgstr "" +"Так званий формат CSV (значення, розділені комами) є найпоширенішим форматом " +"імпорту та експорту для електронних таблиць і баз даних. Формат CSV " +"використовувався протягом багатьох років до того, як його спробували описати " +"стандартизованим способом у :rfc:`4180`. Відсутність чітко визначеного " +"стандарту означає, що часто існують тонкі відмінності в даних, які " +"створюються та споживаються різними програмами. Ці відмінності можуть " +"дратувати обробку файлів CSV із кількох джерел. Тим не менш, хоча " +"розділювачі та символи лапок відрізняються, загальний формат досить схожий, " +"щоб можна було написати один модуль, який може ефективно маніпулювати такими " +"даними, приховуючи деталі читання та запису даних від програміста." + +msgid "" +"The :mod:`csv` module implements classes to read and write tabular data in " +"CSV format. It allows programmers to say, \"write this data in the format " +"preferred by Excel,\" or \"read data from this file which was generated by " +"Excel,\" without knowing the precise details of the CSV format used by " +"Excel. Programmers can also describe the CSV formats understood by other " +"applications or define their own special-purpose CSV formats." +msgstr "" +"Модуль :mod:`csv` реалізує класи для читання та запису табличних даних у " +"форматі CSV. Це дозволяє програмістам сказати: \"записати ці дані у форматі, " +"який віддає перевагу Excel\" або \"прочитати дані з цього файлу, створеного " +"Excel\", не знаючи точних деталей формату CSV, який використовує Excel. " +"Програмісти також можуть описувати формати CSV, які розуміють інші програми, " +"або визначати власні формати CSV спеціального призначення." + +msgid "" +"The :mod:`csv` module's :class:`reader` and :class:`writer` objects read and " +"write sequences. Programmers can also read and write data in dictionary " +"form using the :class:`DictReader` and :class:`DictWriter` classes." +msgstr "" +"Об’єкти :class:`reader` і :class:`writer` модуля :mod:`csv` читають і " +"записують послідовності. Програмісти також можуть читати та записувати дані " +"у формі словника за допомогою класів :class:`DictReader` і :class:" +"`DictWriter`." + +msgid ":pep:`305` - CSV File API" +msgstr ":pep:`305` - API файлів CSV" + +msgid "The Python Enhancement Proposal which proposed this addition to Python." +msgstr "Пропозиція вдосконалення Python, яка пропонує це доповнення до Python." + +msgid "Module Contents" +msgstr "Зміст модуля" + +msgid "The :mod:`csv` module defines the following functions:" +msgstr "Модуль :mod:`csv` визначає такі функції:" + +msgid "" +"Return a reader object which will iterate over lines in the given *csvfile*. " +"*csvfile* can be any object which supports the :term:`iterator` protocol and " +"returns a string each time its :meth:`!__next__` method is called --- :term:" +"`file objects ` and list objects are both suitable. If " +"*csvfile* is a file object, it should be opened with ``newline=''``. [1]_ " +"An optional *dialect* parameter can be given which is used to define a set " +"of parameters specific to a particular CSV dialect. It may be an instance " +"of a subclass of the :class:`Dialect` class or one of the strings returned " +"by the :func:`list_dialects` function. The other optional *fmtparams* " +"keyword arguments can be given to override individual formatting parameters " +"in the current dialect. For full details about the dialect and formatting " +"parameters, see section :ref:`csv-fmt-params`." +msgstr "" +"Повертає об’єкт читання, який буде виконувати ітерацію по рядках у заданому " +"*csv-файлі*. *csvfile* може бути будь-яким об’єктом, який підтримує " +"протокол :term:`iterator` і повертає рядок кожного разу, коли викликається " +"його метод :meth:`!__next__` --- :term:`файлові об’єкти ` і " +"об’єкти списку є обома підходить. Якщо *csvfile* є файловим об’єктом, його " +"слід відкрити за допомогою ``newline=''``. [1]_ Можна вказати необов’язковий " +"параметр *dialect*, який використовується для визначення набору параметрів, " +"специфічних для конкретного діалекту CSV. Це може бути екземпляр підкласу " +"класу :class:`Dialect` або один із рядків, які повертає функція :func:" +"`list_dialects`. Інші необов’язкові аргументи ключового слова *fmtparams* " +"можна надати для перевизначення окремих параметрів форматування в поточному " +"діалекті. Щоб отримати повну інформацію про діалект і параметри " +"форматування, перегляньте розділ :ref:`csv-fmt-params`." + +msgid "" +"Each row read from the csv file is returned as a list of strings. No " +"automatic data type conversion is performed unless the ``QUOTE_NONNUMERIC`` " +"format option is specified (in which case unquoted fields are transformed " +"into floats)." +msgstr "" +"Кожен рядок, прочитаний із файлу csv, повертається як список рядків. " +"Автоматичне перетворення типу даних не виконується, якщо не вказано параметр " +"формату ``QUOTE_NONNUMERIC`` (у цьому випадку поля без лапок перетворюються " +"на числа з плаваючою точкою)." + +msgid "A short usage example::" +msgstr "Короткий приклад використання::" + +msgid "" +"Return a writer object responsible for converting the user's data into " +"delimited strings on the given file-like object. *csvfile* can be any " +"object with a :func:`write` method. If *csvfile* is a file object, it " +"should be opened with ``newline=''`` [1]_. An optional *dialect* parameter " +"can be given which is used to define a set of parameters specific to a " +"particular CSV dialect. It may be an instance of a subclass of the :class:" +"`Dialect` class or one of the strings returned by the :func:`list_dialects` " +"function. The other optional *fmtparams* keyword arguments can be given to " +"override individual formatting parameters in the current dialect. For full " +"details about dialects and formatting parameters, see the :ref:`csv-fmt-" +"params` section. To make it as easy as possible to interface with modules " +"which implement the DB API, the value :const:`None` is written as the empty " +"string. While this isn't a reversible transformation, it makes it easier to " +"dump SQL NULL data values to CSV files without preprocessing the data " +"returned from a ``cursor.fetch*`` call. All other non-string data are " +"stringified with :func:`str` before being written." +msgstr "" +"Повертає об’єкт запису, відповідальний за перетворення даних користувача в " +"рядки з роздільниками на даному файлоподібному об’єкті. *csvfile* може бути " +"будь-яким об’єктом із методом :func:`write`. Якщо *csvfile* є файловим " +"об’єктом, його слід відкрити за допомогою ``newline=''`` [1]_. Можна вказати " +"необов’язковий параметр *dialect*, який використовується для визначення " +"набору параметрів, специфічних для конкретного діалекту CSV. Це може бути " +"екземпляр підкласу класу :class:`Dialect` або один із рядків, які повертає " +"функція :func:`list_dialects`. Інші необов’язкові аргументи ключового слова " +"*fmtparams* можна надати для перевизначення окремих параметрів форматування " +"в поточному діалекті. Щоб отримати повну інформацію про діалекти та " +"параметри форматування, перегляньте розділ :ref:`csv-fmt-params`. Щоб " +"якомога легше взаємодіяти з модулями, які реалізують API БД, значення :const:" +"`None` записується як порожній рядок. Хоча це не є оборотним перетворенням, " +"воно спрощує скидання значень даних SQL NULL у файли CSV без попередньої " +"обробки даних, отриманих із виклику ``cursor.fetch*``. Усі інші нерядкові " +"дані перед записом утворюються в рядки за допомогою :func:`str`." + +msgid "" +"Associate *dialect* with *name*. *name* must be a string. The dialect can " +"be specified either by passing a sub-class of :class:`Dialect`, or by " +"*fmtparams* keyword arguments, or both, with keyword arguments overriding " +"parameters of the dialect. For full details about dialects and formatting " +"parameters, see section :ref:`csv-fmt-params`." +msgstr "" +"Пов’яжіть *діалект* з *ім’ям*. *ім’я* має бути рядком. Діалект можна вказати " +"або шляхом передачі підкласу :class:`Dialect`, або за допомогою аргументів " +"ключового слова *fmtparams*, або обох, причому аргументи ключового слова " +"замінюють параметри діалекту. Щоб отримати повну інформацію про діалекти та " +"параметри форматування, перегляньте розділ :ref:`csv-fmt-params`." + +msgid "" +"Delete the dialect associated with *name* from the dialect registry. An :" +"exc:`Error` is raised if *name* is not a registered dialect name." +msgstr "" +"Видаліть діалект, пов’язаний з *name*, із реєстру діалектів. Якщо *name* не " +"є зареєстрованою назвою діалекту, виникає помилка :exc:`Error`." + +msgid "" +"Return the dialect associated with *name*. An :exc:`Error` is raised if " +"*name* is not a registered dialect name. This function returns an " +"immutable :class:`Dialect`." +msgstr "" +"Повертає діалект, пов’язаний з *ім’ям*. Якщо *name* не є зареєстрованою " +"назвою діалекту, виникає помилка :exc:`Error`. Ця функція повертає " +"незмінний :class:`Dialect`." + +msgid "Return the names of all registered dialects." +msgstr "Повернути назви всіх зареєстрованих діалектів." + +msgid "" +"Returns the current maximum field size allowed by the parser. If *new_limit* " +"is given, this becomes the new limit." +msgstr "" +"Повертає поточний максимальний розмір поля, дозволений аналізатором. Якщо " +"задано *new_limit*, це стає новим лімітом." + +msgid "The :mod:`csv` module defines the following classes:" +msgstr "Модуль :mod:`csv` визначає такі класи:" + +msgid "" +"Create an object that operates like a regular reader but maps the " +"information in each row to a :class:`dict` whose keys are given by the " +"optional *fieldnames* parameter." +msgstr "" +"Створіть об’єкт, який працює як звичайний читач, але зіставляє інформацію в " +"кожному рядку з :class:`dict`, ключі якого надаються необов’язковим " +"параметром *fieldnames*." + +msgid "" +"The *fieldnames* parameter is a :term:`sequence`. If *fieldnames* is " +"omitted, the values in the first row of file *f* will be used as the " +"fieldnames. Regardless of how the fieldnames are determined, the dictionary " +"preserves their original ordering." +msgstr "" +"Параметр *fieldnames* є :term:`sequence`. Якщо *fieldnames* пропущено, " +"значення в першому рядку файлу *f* використовуватимуться як імена полів. " +"Незалежно від того, як визначено назви полів, словник зберігає їх початковий " +"порядок." + +msgid "" +"If a row has more fields than fieldnames, the remaining data is put in a " +"list and stored with the fieldname specified by *restkey* (which defaults to " +"``None``). If a non-blank row has fewer fields than fieldnames, the missing " +"values are filled-in with the value of *restval* (which defaults to " +"``None``)." +msgstr "" +"Якщо рядок містить більше полів, ніж назв полів, дані, що залишилися, " +"поміщаються в список і зберігаються з іменем поля, визначеним *restkey* (за " +"замовчуванням значення \"Немає\"). Якщо непорожній рядок містить менше " +"полів, ніж імена полів, відсутні значення заповнюються значенням *restval* " +"(яке за замовчуванням ``None``)." + +msgid "" +"All other optional or keyword arguments are passed to the underlying :class:" +"`reader` instance." +msgstr "" +"Усі інші необов’язкові або ключові аргументи передаються базовому " +"екземпляру :class:`reader`." + +msgid "Returned rows are now of type :class:`OrderedDict`." +msgstr "Повернені рядки тепер мають тип :class:`OrderedDict`." + +msgid "Returned rows are now of type :class:`dict`." +msgstr "Повернені рядки тепер мають тип :class:`dict`." + +msgid "" +"Create an object which operates like a regular writer but maps dictionaries " +"onto output rows. The *fieldnames* parameter is a :mod:`sequence " +"` of keys that identify the order in which values in the " +"dictionary passed to the :meth:`writerow` method are written to file *f*. " +"The optional *restval* parameter specifies the value to be written if the " +"dictionary is missing a key in *fieldnames*. If the dictionary passed to " +"the :meth:`writerow` method contains a key not found in *fieldnames*, the " +"optional *extrasaction* parameter indicates what action to take. If it is " +"set to ``'raise'``, the default value, a :exc:`ValueError` is raised. If it " +"is set to ``'ignore'``, extra values in the dictionary are ignored. Any " +"other optional or keyword arguments are passed to the underlying :class:" +"`writer` instance." +msgstr "" +"Створіть об’єкт, який працює як звичайний записувач, але зіставляє словники " +"з вихідними рядками. Параметр *fieldnames* — це :mod:`послідовність " +"` ключів, які визначають порядок, у якому значення зі " +"словника, переданого в метод :meth:`writerow`, записуються у файл *f*. " +"Додатковий параметр *restval* визначає значення, яке буде записане, якщо в " +"словнику відсутній ключ у *полях*. Якщо словник, переданий до методу :meth:" +"`writerow`, містить ключ, якого немає в *fieldnames*, необов’язковий " +"параметр *extrasaction* вказує, яку дію потрібно виконати. Якщо встановлено " +"``'raise'``, значення за замовчуванням, викликається :exc:`ValueError`. Якщо " +"встановлено значення ``'ignore''``, додаткові значення в словнику " +"ігноруються. Будь-які інші додаткові або ключові аргументи передаються " +"базовому екземпляру :class:`writer`." + +msgid "" +"Note that unlike the :class:`DictReader` class, the *fieldnames* parameter " +"of the :class:`DictWriter` class is not optional." +msgstr "" +"Зауважте, що на відміну від класу :class:`DictReader`, параметр *fieldnames* " +"класу :class:`DictWriter` необов’язковий." + +msgid "" +"The :class:`Dialect` class is a container class whose attributes contain " +"information for how to handle doublequotes, whitespace, delimiters, etc. Due " +"to the lack of a strict CSV specification, different applications produce " +"subtly different CSV data. :class:`Dialect` instances define how :class:" +"`reader` and :class:`writer` instances behave." +msgstr "" +"Клас :class:`Dialect` — це клас-контейнер, атрибути якого містять інформацію " +"про те, як обробляти подвійні лапки, пробіли, розділювачі тощо. Через " +"відсутність суворої специфікації CSV різні програми створюють дещо різні " +"дані CSV. Екземпляри :class:`Dialect` визначають, як поводитимуться " +"екземпляри :class:`reader` і :class:`writer`." + +msgid "" +"All available :class:`Dialect` names are returned by :func:`list_dialects`, " +"and they can be registered with specific :class:`reader` and :class:`writer` " +"classes through their initializer (``__init__``) functions like this::" +msgstr "" +"Усі доступні назви :class:`Dialect` повертаються :func:`list_dialects`, і їх " +"можна зареєструвати в певних класах :class:`reader` і :class:`writer` через " +"їх ініціалізатор (``__init__``) функціонує так::" + +msgid "" +"The :class:`excel` class defines the usual properties of an Excel-generated " +"CSV file. It is registered with the dialect name ``'excel'``." +msgstr "" +"Клас :class:`excel` визначає звичайні властивості файлу CSV, створеного " +"Excel. Його зареєстровано з діалектною назвою ``'excel``." + +msgid "" +"The :class:`excel_tab` class defines the usual properties of an Excel-" +"generated TAB-delimited file. It is registered with the dialect name " +"``'excel-tab'``." +msgstr "" +"Клас :class:`excel_tab` визначає звичайні властивості створеного Excel файлу " +"з роздільниками TAB. Його зареєстровано з діалектною назвою ``'excel-tab``." + +msgid "" +"The :class:`unix_dialect` class defines the usual properties of a CSV file " +"generated on UNIX systems, i.e. using ``'\\n'`` as line terminator and " +"quoting all fields. It is registered with the dialect name ``'unix'``." +msgstr "" +"Клас :class:`unix_dialect` визначає звичайні властивості файлу CSV, " +"створеного в системах UNIX, тобто використання ``'\\n'`` як символ " +"закінчення рядка та взяття всіх полів у лапки. Він зареєстрований під " +"діалектною назвою ``'unix``." + +msgid "The :class:`Sniffer` class is used to deduce the format of a CSV file." +msgstr "" +"Клас :class:`Sniffer` використовується для визначення формату файлу CSV." + +msgid "The :class:`Sniffer` class provides two methods:" +msgstr "Клас :class:`Sniffer` надає два методи:" + +msgid "" +"Analyze the given *sample* and return a :class:`Dialect` subclass reflecting " +"the parameters found. If the optional *delimiters* parameter is given, it " +"is interpreted as a string containing possible valid delimiter characters." +msgstr "" +"Проаналізуйте поданий *зразок* і поверніть підклас :class:`Dialect`, що " +"відображає знайдені параметри. Якщо вказано необов’язковий параметр " +"*роздільники*, він інтерпретується як рядок, що містить можливі дійсні " +"символи роздільників." + +msgid "" +"Analyze the sample text (presumed to be in CSV format) and return :const:" +"`True` if the first row appears to be a series of column headers. Inspecting " +"each column, one of two key criteria will be considered to estimate if the " +"sample contains a header:" +msgstr "" +"Проаналізуйте зразок тексту (імовірно у форматі CSV) і поверніть :const:" +"`True`, якщо перший рядок виглядає як ряд заголовків стовпців. Перевіряючи " +"кожен стовпець, буде розглянуто один із двох ключових критеріїв, щоб " +"оцінити, чи містить вибірка заголовок:" + +msgid "the second through n-th rows contain numeric values" +msgstr "з другого по n-й рядки містять числові значення" + +msgid "" +"the second through n-th rows contain strings where at least one value's " +"length differs from that of the putative header of that column." +msgstr "" +"рядки з другого по n-й містять рядки, у яких довжина принаймні одного " +"значення відрізняється від довжини передбачуваного заголовка цього стовпця." + +msgid "" +"Twenty rows after the first row are sampled; if more than half of columns + " +"rows meet the criteria, :const:`True` is returned." +msgstr "" +"Через двадцять рядів після першого ряду проводиться вибірка; якщо більше " +"половини стовпців + рядків відповідають критеріям, повертається :const:" +"`True`." + +msgid "" +"This method is a rough heuristic and may produce both false positives and " +"negatives." +msgstr "" +"Цей метод є грубим евристичним і може давати як помилкові позитивні, так і " +"негативні результати." + +msgid "An example for :class:`Sniffer` use::" +msgstr "Приклад використання :class:`Sniffer`::" + +msgid "The :mod:`csv` module defines the following constants:" +msgstr "Модуль :mod:`csv` визначає такі константи:" + +msgid "Instructs :class:`writer` objects to quote all fields." +msgstr "Вказує об’єктам :class:`writer` взяти всі поля в лапки." + +msgid "" +"Instructs :class:`writer` objects to only quote those fields which contain " +"special characters such as *delimiter*, *quotechar* or any of the characters " +"in *lineterminator*." +msgstr "" +"Вказує об’єктам :class:`writer` брати в лапки лише ті поля, які містять " +"спеціальні символи, такі як *роздільник*, *quotechar* або будь-які символи в " +"*lineterminator*." + +msgid "Instructs :class:`writer` objects to quote all non-numeric fields." +msgstr "Вказує об’єктам :class:`writer` взяти в лапки всі нечислові поля." + +msgid "Instructs the reader to convert all non-quoted fields to type *float*." +msgstr "Вказує читачеві перетворити всі поля без лапок на тип *float*." + +msgid "" +"Instructs :class:`writer` objects to never quote fields. When the current " +"*delimiter* occurs in output data it is preceded by the current *escapechar* " +"character. If *escapechar* is not set, the writer will raise :exc:`Error` " +"if any characters that require escaping are encountered." +msgstr "" +"Наказує об’єктам :class:`writer` ніколи не брати поля в лапки. Коли поточний " +"*роздільник* зустрічається у вихідних даних, йому передує поточний символ " +"*escapechar*. Якщо *escapechar* не встановлено, запис викличе :exc:`Error`, " +"якщо зустрінеться будь-який символ, який потребує екранування." + +msgid "" +"Instructs :class:`reader` to perform no special processing of quote " +"characters." +msgstr "" +"Вказує :class:`reader` не виконувати спеціальної обробки символів лапок." + +msgid "The :mod:`csv` module defines the following exception:" +msgstr "Модуль :mod:`csv` визначає такий виняток:" + +msgid "Raised by any of the functions when an error is detected." +msgstr "Викликається будь-якою з функцій у разі виявлення помилки." + +msgid "Dialects and Formatting Parameters" +msgstr "Діалекти та параметри форматування" + +msgid "" +"To make it easier to specify the format of input and output records, " +"specific formatting parameters are grouped together into dialects. A " +"dialect is a subclass of the :class:`Dialect` class having a set of specific " +"methods and a single :meth:`validate` method. When creating :class:`reader` " +"or :class:`writer` objects, the programmer can specify a string or a " +"subclass of the :class:`Dialect` class as the dialect parameter. In " +"addition to, or instead of, the *dialect* parameter, the programmer can also " +"specify individual formatting parameters, which have the same names as the " +"attributes defined below for the :class:`Dialect` class." +msgstr "" +"Щоб спростити визначення формату вхідних і вихідних записів, окремі " +"параметри форматування згруповані разом у діалекти. Діалект — це підклас " +"класу :class:`Dialect`, який має набір специфічних методів і єдиний метод :" +"meth:`validate`. Під час створення об’єктів :class:`reader` або :class:" +"`writer` програміст може вказати рядок або підклас класу :class:`Dialect` як " +"параметр діалекту. На додаток до параметра *dialect* або замість нього " +"програміст також може вказати окремі параметри форматування, які мають ті " +"самі імена, що й атрибути, визначені нижче для класу :class:`Dialect`." + +msgid "Dialects support the following attributes:" +msgstr "Діалекти підтримують такі атрибути:" + +msgid "" +"A one-character string used to separate fields. It defaults to ``','``." +msgstr "" +"Односимвольний рядок, який використовується для розділення полів. За " +"замовчуванням ``',''``." + +msgid "" +"Controls how instances of *quotechar* appearing inside a field should " +"themselves be quoted. When :const:`True`, the character is doubled. When :" +"const:`False`, the *escapechar* is used as a prefix to the *quotechar*. It " +"defaults to :const:`True`." +msgstr "" +"Керує тим, як екземпляри *quotechar*, що з’являються всередині поля, повинні " +"братися в лапки. Коли :const:`True`, символ подвоюється. Коли :const:" +"`False`, *escapechar* використовується як префікс до *quotechar*. За " +"замовчуванням :const:`True`." + +msgid "" +"On output, if *doublequote* is :const:`False` and no *escapechar* is set, :" +"exc:`Error` is raised if a *quotechar* is found in a field." +msgstr "" +"Під час виведення, якщо *doublequote* має значення :const:`False` і " +"*escapechar* не встановлено, виникає повідомлення :exc:`Error`, якщо " +"*quotechar* знайдено в полі." + +msgid "" +"A one-character string used by the writer to escape the *delimiter* if " +"*quoting* is set to :const:`QUOTE_NONE` and the *quotechar* if *doublequote* " +"is :const:`False`. On reading, the *escapechar* removes any special meaning " +"from the following character. It defaults to :const:`None`, which disables " +"escaping." +msgstr "" +"Односимвольний рядок, який використовується автором для екранування " +"*роздільника*, якщо *quoting* встановлено як :const:`QUOTE_NONE`, і " +"*quotechar*, якщо *doublequote* має значення :const:`False`. Під час читання " +"*escapechar* видаляє будь-яке спеціальне значення наступного символу. За " +"замовчуванням :const:`None`, що вимикає екранування." + +msgid "An empty *escapechar* is not allowed." +msgstr "" + +msgid "" +"The string used to terminate lines produced by the :class:`writer`. It " +"defaults to ``'\\r\\n'``." +msgstr "" +"Рядок, який використовується для завершення рядків, створених :class:" +"`writer`. За замовчуванням ``'\\r\\n'``." + +msgid "" +"The :class:`reader` is hard-coded to recognise either ``'\\r'`` or ``'\\n'`` " +"as end-of-line, and ignores *lineterminator*. This behavior may change in " +"the future." +msgstr "" +":class:`reader` жорстко розпізнає ``'\\r'`` або ``'\\n'`` як кінець рядка та " +"ігнорує *lineterminator*. Така поведінка може змінитися в майбутньому." + +msgid "" +"A one-character string used to quote fields containing special characters, " +"such as the *delimiter* or *quotechar*, or which contain new-line " +"characters. It defaults to ``'\"'``." +msgstr "" +"Односимвольний рядок, який використовується для взяття в лапки полів, що " +"містять спеціальні символи, такі як *роздільник* або *quotechar*, або які " +"містять символи нового рядка. За замовчуванням ``'\"'``." + +msgid "An empty *quotechar* is not allowed." +msgstr "" + +msgid "" +"Controls when quotes should be generated by the writer and recognised by the " +"reader. It can take on any of the :const:`QUOTE_\\*` constants (see " +"section :ref:`csv-contents`) and defaults to :const:`QUOTE_MINIMAL`." +msgstr "" +"Контролює, коли цитати мають бути створені автором і розпізнані читачем. Він " +"може приймати будь-які константи :const:`QUOTE_\\*` (див. розділ :ref:`csv-" +"contents`) і за замовчуванням має значення :const:`QUOTE_MINIMAL`." + +msgid "" +"When :const:`True`, spaces immediately following the *delimiter* are " +"ignored. The default is :const:`False`." +msgstr "" + +msgid "" +"When ``True``, raise exception :exc:`Error` on bad CSV input. The default is " +"``False``." +msgstr "" +"Якщо ``True``, викликати виняток :exc:`Error` на неправильному введенні CSV. " +"Типовим значенням є ``False``." + +msgid "Reader Objects" +msgstr "Об’єкти Reader" + +msgid "" +"Reader objects (:class:`DictReader` instances and objects returned by the :" +"func:`reader` function) have the following public methods:" +msgstr "" +"Об’єкти Reader (екземпляри :class:`DictReader` та об’єкти, повернуті " +"функцією :func:`reader`) мають такі публічні методи:" + +msgid "" +"Return the next row of the reader's iterable object as a list (if the object " +"was returned from :func:`reader`) or a dict (if it is a :class:`DictReader` " +"instance), parsed according to the current :class:`Dialect`. Usually you " +"should call this as ``next(reader)``." +msgstr "" +"Повертає наступний рядок повторюваного об’єкта читача як список (якщо об’єкт " +"повернуто з :func:`reader`) або dict (якщо це екземпляр :class:" +"`DictReader`), проаналізований відповідно до поточного :class:`Dialect`. " +"Зазвичай ви повинні називати це як ``next(reader)``." + +msgid "Reader objects have the following public attributes:" +msgstr "Об’єкти Reader мають такі публічні атрибути:" + +msgid "A read-only description of the dialect in use by the parser." +msgstr "" +"Доступний лише для читання опис діалекту, який використовує аналізатор." + +msgid "" +"The number of lines read from the source iterator. This is not the same as " +"the number of records returned, as records can span multiple lines." +msgstr "" +"Кількість рядків, прочитаних із вихідного ітератора. Це не те саме, що " +"кількість повернутих записів, оскільки записи можуть займати кілька рядків." + +msgid "DictReader objects have the following public attribute:" +msgstr "Об’єкти DictReader мають такий публічний атрибут:" + +msgid "" +"If not passed as a parameter when creating the object, this attribute is " +"initialized upon first access or when the first record is read from the file." +msgstr "" +"Якщо не передано як параметр під час створення об’єкта, цей атрибут " +"ініціалізується під час першого доступу або коли перший запис зчитується з " +"файлу." + +msgid "Writer Objects" +msgstr "Об'єкти Writer" + +msgid "" +":class:`Writer` objects (:class:`DictWriter` instances and objects returned " +"by the :func:`writer` function) have the following public methods. A *row* " +"must be an iterable of strings or numbers for :class:`Writer` objects and a " +"dictionary mapping fieldnames to strings or numbers (by passing them " +"through :func:`str` first) for :class:`DictWriter` objects. Note that " +"complex numbers are written out surrounded by parens. This may cause some " +"problems for other programs which read CSV files (assuming they support " +"complex numbers at all)." +msgstr "" +"Об’єкти :class:`Writer` (екземпляри :class:`DictWriter` та об’єкти, " +"повернуті функцією :func:`writer`) мають такі публічні методи. *Рядок* має " +"бути ітерацією рядків або чисел для об’єктів :class:`Writer` і словником, " +"який зіставляє назви полів із рядками або числами (спочатку передаючи їх " +"через :func:`str`) для об’єктів :class:`DictWriter` . Зверніть увагу, що " +"комплексні числа записуються в дужках. Це може спричинити деякі проблеми для " +"інших програм, які читають файли CSV (якщо вони взагалі підтримують " +"комплексні числа)." + +msgid "" +"Write the *row* parameter to the writer's file object, formatted according " +"to the current :class:`Dialect`. Return the return value of the call to the " +"*write* method of the underlying file object." +msgstr "" +"Запишіть параметр *row* в об’єкт файлу записувача, відформатований " +"відповідно до поточного :class:`Dialect`. Повертає значення, що повертається " +"викликом методу *write* основного файлового об’єкта." + +msgid "Added support of arbitrary iterables." +msgstr "Додано підтримку довільних ітерацій." + +msgid "" +"Write all elements in *rows* (an iterable of *row* objects as described " +"above) to the writer's file object, formatted according to the current " +"dialect." +msgstr "" +"Запишіть усі елементи в *рядки* (ітерація об’єктів *рядок*, як описано вище) " +"до об’єкта файлу записувача, відформатованого відповідно до поточного " +"діалекту." + +msgid "Writer objects have the following public attribute:" +msgstr "Об’єкти Writer мають такий публічний атрибут:" + +msgid "A read-only description of the dialect in use by the writer." +msgstr "Доступний лише для читання опис діалекту, який використовує автор." + +msgid "DictWriter objects have the following public method:" +msgstr "Об’єкти DictWriter мають такий відкритий метод:" + +msgid "" +"Write a row with the field names (as specified in the constructor) to the " +"writer's file object, formatted according to the current dialect. Return the " +"return value of the :meth:`csvwriter.writerow` call used internally." +msgstr "" +"Запишіть рядок із іменами полів (як зазначено в конструкторі) до об’єкта " +"файлу записувача, відформатованого відповідно до поточного діалекту. " +"Повертає значення, що повертається внутрішнім викликом :meth:`csvwriter." +"writerow`." + +msgid "" +":meth:`writeheader` now also returns the value returned by the :meth:" +"`csvwriter.writerow` method it uses internally." +msgstr "" +":meth:`writeheader` тепер також повертає значення, повернуте методом :meth:" +"`csvwriter.writerow`, який він використовує внутрішньо." + +msgid "Examples" +msgstr "Приклади" + +msgid "The simplest example of reading a CSV file::" +msgstr "Найпростіший приклад читання файлу CSV:" + +msgid "Reading a file with an alternate format::" +msgstr "Читання файлу в альтернативному форматі::" + +msgid "The corresponding simplest possible writing example is::" +msgstr "Відповідний найпростіший можливий приклад написання:" + +msgid "" +"Since :func:`open` is used to open a CSV file for reading, the file will by " +"default be decoded into unicode using the system default encoding (see :func:" +"`locale.getencoding`). To decode a file using a different encoding, use the " +"``encoding`` argument of open::" +msgstr "" + +msgid "" +"The same applies to writing in something other than the system default " +"encoding: specify the encoding argument when opening the output file." +msgstr "" +"Те саме стосується кодування, відмінного від стандартного системного " +"кодування: укажіть аргумент кодування під час відкриття вихідного файлу." + +msgid "Registering a new dialect::" +msgstr "Реєстрація нового діалекту::" + +msgid "" +"A slightly more advanced use of the reader --- catching and reporting " +"errors::" +msgstr "" +"Трохи розширеніше використання читача --- виявлення та повідомлення про " +"помилки::" + +msgid "" +"And while the module doesn't directly support parsing strings, it can easily " +"be done::" +msgstr "" +"І хоча модуль безпосередньо не підтримує розбір рядків, це легко зробити:" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"If ``newline=''`` is not specified, newlines embedded inside quoted fields " +"will not be interpreted correctly, and on platforms that use ``\\r\\n`` " +"linendings on write an extra ``\\r`` will be added. It should always be " +"safe to specify ``newline=''``, since the csv module does its own (:term:" +"`universal `) newline handling." +msgstr "" +"Якщо ``newline=''`` не вказано, нові рядки, вбудовані в поля в лапках, не " +"будуть інтерпретовані належним чином, а на платформах, які використовують ``" +"\\r\\n`` розрядки під час запису, буде додатковий ``\\r`` додано. Завжди має " +"бути безпечно вказувати ``newline=''``, оскільки модуль csv виконує власну (:" +"term:`universal `) обробку нового рядка." diff --git a/library/ctypes.po b/library/ctypes.po new file mode 100644 index 000000000..cdcf9fb4e --- /dev/null +++ b/library/ctypes.po @@ -0,0 +1,3057 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ctypes` --- A foreign function library for Python" +msgstr ":mod:`ctypes` --- Інша бібліотека функцій для Python" + +msgid "" +":mod:`ctypes` is a foreign function library for Python. It provides C " +"compatible data types, and allows calling functions in DLLs or shared " +"libraries. It can be used to wrap these libraries in pure Python." +msgstr "" +":mod:`ctypes` — це бібліотека зовнішніх функцій для Python. Він надає C-" +"сумісні типи даних і дозволяє викликати функції в DLL або спільних " +"бібліотеках. Його можна використовувати, щоб обернути ці бібліотеки в чистий " +"Python." + +msgid "ctypes tutorial" +msgstr "підручник ctypes" + +msgid "" +"Note: The code samples in this tutorial use :mod:`doctest` to make sure that " +"they actually work. Since some code samples behave differently under Linux, " +"Windows, or macOS, they contain doctest directives in comments." +msgstr "" +"Примітка: зразки коду в цьому підручнику використовують :mod:`doctest`, щоб " +"переконатися, що вони справді працюють. Оскільки деякі зразки коду " +"поводяться по-різному в Linux, Windows або macOS, вони містять директиви " +"doctest у коментарях." + +msgid "" +"Note: Some code samples reference the ctypes :class:`c_int` type. On " +"platforms where ``sizeof(long) == sizeof(int)`` it is an alias to :class:" +"`c_long`. So, you should not be confused if :class:`c_long` is printed if " +"you would expect :class:`c_int` --- they are actually the same type." +msgstr "" +"Примітка. Деякі зразки коду посилаються на тип ctypes :class:`c_int`. На " +"платформах, де ``sizeof(long) == sizeof(int)``, це псевдонім :class:" +"`c_long`. Отже, вас не повинно бентежити, якщо надруковано :class:`c_long`, " +"якщо ви очікуєте :class:`c_int` --- вони насправді одного типу." + +msgid "Loading dynamic link libraries" +msgstr "Завантаження бібліотек динамічних посилань" + +msgid "" +":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* " +"objects, for loading dynamic link libraries." +msgstr "" +":mod:`ctypes` експортує *cdll*, а в Windows об’єкти *windll* і *oledll* для " +"завантаження бібліотек динамічних посилань." + +msgid "" +"You load libraries by accessing them as attributes of these objects. *cdll* " +"loads libraries which export functions using the standard ``cdecl`` calling " +"convention, while *windll* libraries call functions using the ``stdcall`` " +"calling convention. *oledll* also uses the ``stdcall`` calling convention, " +"and assumes the functions return a Windows :c:type:`HRESULT` error code. The " +"error code is used to automatically raise an :class:`OSError` exception when " +"the function call fails." +msgstr "" +"Ви завантажуєте бібліотеки, звертаючись до них як до атрибутів цих об’єктів. " +"*cdll* завантажує бібліотеки, які експортують функції за допомогою " +"стандартної угоди про виклики ``cdecl``, тоді як бібліотеки *windll* " +"викликають функції за допомогою угоди про виклики ``stdcall``. *oledll* " +"також використовує угоду про виклики ``stdcall`` і передбачає, що функції " +"повертають код помилки Windows :c:type:`HRESULT`. Код помилки " +"використовується для автоматичного виклику винятку :class:`OSError`, коли " +"виклик функції не вдається." + +msgid "" +"Windows errors used to raise :exc:`WindowsError`, which is now an alias of :" +"exc:`OSError`." +msgstr "" +"Помилки Windows викликали :exc:`WindowsError`, який тепер є псевдонімом :exc:" +"`OSError`." + +msgid "" +"Here are some examples for Windows. Note that ``msvcrt`` is the MS standard " +"C library containing most standard C functions, and uses the cdecl calling " +"convention::" +msgstr "" +"Ось кілька прикладів для Windows. Зауважте, що msvcrt — це стандартна " +"бібліотека C MS, яка містить більшість стандартних функцій C і використовує " +"угоду про виклик cdecl:" + +msgid "Windows appends the usual ``.dll`` file suffix automatically." +msgstr "Windows автоматично додає звичайний суфікс файлу ``.dll``." + +msgid "" +"Accessing the standard C library through ``cdll.msvcrt`` will use an " +"outdated version of the library that may be incompatible with the one being " +"used by Python. Where possible, use native Python functionality, or else " +"import and use the ``msvcrt`` module." +msgstr "" +"Доступ до стандартної бібліотеки C через ``cdll.msvcrt`` використовуватиме " +"застарілу версію бібліотеки, яка може бути несумісною з тією, що " +"використовується Python. Якщо можливо, використовуйте власні функції Python " +"або імпортуйте та використовуйте модуль ``msvcrt``." + +msgid "" +"On Linux, it is required to specify the filename *including* the extension " +"to load a library, so attribute access can not be used to load libraries. " +"Either the :meth:`LoadLibrary` method of the dll loaders should be used, or " +"you should load the library by creating an instance of CDLL by calling the " +"constructor::" +msgstr "" +"У Linux для завантаження бібліотеки потрібно вказати назву файлу *включаючи* " +"розширення, тому доступ до атрибутів не можна використовувати для " +"завантаження бібліотек. Слід використовувати або метод :meth:`LoadLibrary` " +"завантажувачів dll, або ви повинні завантажити бібліотеку, створивши " +"екземпляр CDLL, викликавши конструктор::" + +msgid "Accessing functions from loaded dlls" +msgstr "Доступ до функцій із завантажених dll" + +msgid "Functions are accessed as attributes of dll objects::" +msgstr "Доступ до функцій здійснюється як атрибути об’єктів dll::" + +msgid "" +"Note that win32 system dlls like ``kernel32`` and ``user32`` often export " +"ANSI as well as UNICODE versions of a function. The UNICODE version is " +"exported with an ``W`` appended to the name, while the ANSI version is " +"exported with an ``A`` appended to the name. The win32 ``GetModuleHandle`` " +"function, which returns a *module handle* for a given module name, has the " +"following C prototype, and a macro is used to expose one of them as " +"``GetModuleHandle`` depending on whether UNICODE is defined or not::" +msgstr "" +"Зауважте, що системні бібліотеки win32, такі як ``kernel32`` і ``user32``, " +"часто експортують версії функції ANSI, а також UNICODE. Версія UNICODE " +"експортується з буквою ``W``, доданою до назви, тоді як версія ANSI " +"експортується з ``A``, доданою до назви. Функція ``GetModuleHandle`` win32, " +"яка повертає *дескриптор модуля* для даного імені модуля, має наступний " +"прототип C, і макрос використовується для надання одного з них як " +"``GetModuleHandle`` залежно від того, чи визначено UNICODE чи ні::" + +msgid "" +"*windll* does not try to select one of them by magic, you must access the " +"version you need by specifying ``GetModuleHandleA`` or ``GetModuleHandleW`` " +"explicitly, and then call it with bytes or string objects respectively." +msgstr "" +"*windll* не намагається вибрати одну з них магією, ви повинні отримати " +"доступ до потрібної вам версії, явно вказавши ``GetModuleHandleA`` або " +"``GetModuleHandleW``, а потім викликати його за допомогою байтів або " +"рядкових об’єктів відповідно." + +msgid "" +"Sometimes, dlls export functions with names which aren't valid Python " +"identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to use :func:" +"`getattr` to retrieve the function::" +msgstr "" +"Іноді бібліотеки dll експортують функції з іменами, які не є дійсними " +"ідентифікаторами Python, наприклад ``\"??2@YAPAXI@Z\"``. У цьому випадку ви " +"повинні використовувати :func:`getattr`, щоб отримати функцію::" + +msgid "" +"On Windows, some dlls export functions not by name but by ordinal. These " +"functions can be accessed by indexing the dll object with the ordinal " +"number::" +msgstr "" +"У Windows деякі бібліотеки DLL експортують функції не за назвою, а за " +"порядковим номером. Доступ до цих функцій можна отримати, проіндексувавши " +"об’єкт dll з порядковим номером::" + +msgid "Calling functions" +msgstr "Функції виклику" + +msgid "" +"You can call these functions like any other Python callable. This example " +"uses the ``time()`` function, which returns system time in seconds since the " +"Unix epoch, and the ``GetModuleHandleA()`` function, which returns a win32 " +"module handle." +msgstr "" +"Ви можете викликати ці функції, як і будь-які інші виклики Python. У цьому " +"прикладі використовується функція ``time()``, яка повертає системний час у " +"секундах з епохи Unix, і ``GetModuleHandleA()`` функція, яка повертає " +"дескриптор модуля win32." + +msgid "" +"This example calls both functions with a ``NULL`` pointer (``None`` should " +"be used as the ``NULL`` pointer)::" +msgstr "" +"У цьому прикладі обидві функції викликаються за допомогою вказівника " +"``NULL`` (``None`` слід використовувати як вказівник ``NULL``):" + +msgid "" +":exc:`ValueError` is raised when you call an ``stdcall`` function with the " +"``cdecl`` calling convention, or vice versa::" +msgstr "" +":exc:`ValueError` виникає, коли ви викликаєте функцію ``stdcall`` за угодою " +"про виклик ``cdecl``, або навпаки::" + +msgid "" +"To find out the correct calling convention you have to look into the C " +"header file or the documentation for the function you want to call." +msgstr "" +"Щоб дізнатися правильну умову виклику, вам потрібно переглянути файл " +"заголовка C або документацію для функції, яку ви хочете викликати." + +msgid "" +"On Windows, :mod:`ctypes` uses win32 structured exception handling to " +"prevent crashes from general protection faults when functions are called " +"with invalid argument values::" +msgstr "" +"У Windows :mod:`ctypes` використовує структуровану обробку винятків win32, " +"щоб запобігти збоям через загальні помилки захисту, коли функції " +"викликаються з недійсними значеннями аргументів:" + +msgid "" +"There are, however, enough ways to crash Python with :mod:`ctypes`, so you " +"should be careful anyway. The :mod:`faulthandler` module can be helpful in " +"debugging crashes (e.g. from segmentation faults produced by erroneous C " +"library calls)." +msgstr "" +"Однак існує достатньо способів аварійно завершити роботу Python за " +"допомогою :mod:`ctypes`, тому будьте обережні. Модуль :mod:`faulthandler` " +"може бути корисним для усунення збоїв (наприклад, через помилки сегментації, " +"спричинені помилковими викликами бібліотеки C)." + +msgid "" +"``None``, integers, bytes objects and (unicode) strings are the only native " +"Python objects that can directly be used as parameters in these function " +"calls. ``None`` is passed as a C ``NULL`` pointer, bytes objects and strings " +"are passed as pointer to the memory block that contains their data (:c:expr:" +"`char *` or :c:expr:`wchar_t *`). Python integers are passed as the " +"platforms default C :c:expr:`int` type, their value is masked to fit into " +"the C type." +msgstr "" + +msgid "" +"Before we move on calling functions with other parameter types, we have to " +"learn more about :mod:`ctypes` data types." +msgstr "" +"Перш ніж перейти до виклику функцій з іншими типами параметрів, ми повинні " +"дізнатися більше про типи даних :mod:`ctypes`." + +msgid "Fundamental data types" +msgstr "Основні типи даних" + +msgid ":mod:`ctypes` defines a number of primitive C compatible data types:" +msgstr ":mod:`ctypes` визначає ряд примітивних C-сумісних типів даних:" + +msgid "ctypes type" +msgstr "тип ctypes" + +msgid "C type" +msgstr "тип С" + +msgid "Python type" +msgstr "Тип Python" + +msgid ":class:`c_bool`" +msgstr ":class:`c_bool`" + +msgid ":c:expr:`_Bool`" +msgstr "" + +msgid "bool (1)" +msgstr "bool (1)" + +msgid ":class:`c_char`" +msgstr ":class:`c_char`" + +msgid ":c:expr:`char`" +msgstr "" + +msgid "1-character bytes object" +msgstr "1-символьний об'єкт байтів" + +msgid ":class:`c_wchar`" +msgstr ":class:`c_wchar`" + +msgid ":c:expr:`wchar_t`" +msgstr "" + +msgid "1-character string" +msgstr "1-символьний рядок" + +msgid ":class:`c_byte`" +msgstr ":class:`c_byte`" + +msgid "int" +msgstr "внутр" + +msgid ":class:`c_ubyte`" +msgstr ":class:`c_ubyte`" + +msgid ":c:expr:`unsigned char`" +msgstr "" + +msgid ":class:`c_short`" +msgstr ":class:`c_short`" + +msgid ":c:expr:`short`" +msgstr "" + +msgid ":class:`c_ushort`" +msgstr ":class:`c_ushort`" + +msgid ":c:expr:`unsigned short`" +msgstr "" + +msgid ":class:`c_int`" +msgstr ":class:`c_int`" + +msgid ":c:expr:`int`" +msgstr "" + +msgid ":class:`c_uint`" +msgstr ":class:`c_uint`" + +msgid ":c:expr:`unsigned int`" +msgstr "" + +msgid ":class:`c_long`" +msgstr ":class:`c_long`" + +msgid ":c:expr:`long`" +msgstr "" + +msgid ":class:`c_ulong`" +msgstr ":class:`c_ulong`" + +msgid ":c:expr:`unsigned long`" +msgstr "" + +msgid ":class:`c_longlong`" +msgstr ":class:`c_longlong`" + +msgid ":c:expr:`__int64` or :c:expr:`long long`" +msgstr "" + +msgid ":class:`c_ulonglong`" +msgstr ":class:`c_ulonglong`" + +msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" +msgstr "" + +msgid ":class:`c_size_t`" +msgstr ":class:`c_size_t`" + +msgid ":c:expr:`size_t`" +msgstr "" + +msgid ":class:`c_ssize_t`" +msgstr ":class:`c_ssize_t`" + +msgid ":c:expr:`ssize_t` or :c:expr:`Py_ssize_t`" +msgstr "" + +msgid ":class:`c_float`" +msgstr ":class:`c_float`" + +msgid ":c:expr:`float`" +msgstr "" + +msgid "float" +msgstr "плавати" + +msgid ":class:`c_double`" +msgstr ":class:`c_double`" + +msgid ":c:expr:`double`" +msgstr "" + +msgid ":class:`c_longdouble`" +msgstr ":class:`c_longdouble`" + +msgid ":c:expr:`long double`" +msgstr "" + +msgid ":class:`c_char_p`" +msgstr ":class:`c_char_p`" + +msgid ":c:expr:`char *` (NUL terminated)" +msgstr "" + +msgid "bytes object or ``None``" +msgstr "bytes або ``None``" + +msgid ":class:`c_wchar_p`" +msgstr ":class:`c_wchar_p`" + +msgid ":c:expr:`wchar_t *` (NUL terminated)" +msgstr "" + +msgid "string or ``None``" +msgstr "рядок або ``None``" + +msgid ":class:`c_void_p`" +msgstr ":class:`c_void_p`" + +msgid ":c:expr:`void *`" +msgstr "" + +msgid "int or ``None``" +msgstr "int або ``None``" + +msgid "The constructor accepts any object with a truth value." +msgstr "Конструктор приймає будь-який об’єкт зі значенням істинності." + +msgid "" +"All these types can be created by calling them with an optional initializer " +"of the correct type and value::" +msgstr "" +"Усі ці типи можна створити, викликавши їх із необов’язковим ініціалізатором " +"правильного типу та значення::" + +msgid "" +"Since these types are mutable, their value can also be changed afterwards::" +msgstr "Оскільки ці типи є змінними, їх значення також можна змінити пізніше:" + +msgid "" +"Assigning a new value to instances of the pointer types :class:`c_char_p`, :" +"class:`c_wchar_p`, and :class:`c_void_p` changes the *memory location* they " +"point to, *not the contents* of the memory block (of course not, because " +"Python bytes objects are immutable)::" +msgstr "" +"Присвоєння нового значення екземплярам типів покажчиків :class:`c_char_p`, :" +"class:`c_wchar_p` і :class:`c_void_p` змінює *місце пам’яті*, на яке вони " +"вказують, *не вміст* блоку пам’яті (звичайно, ні, оскільки об’єкти Python " +"bytes незмінні)::" + +msgid "" +"You should be careful, however, not to pass them to functions expecting " +"pointers to mutable memory. If you need mutable memory blocks, ctypes has a :" +"func:`create_string_buffer` function which creates these in various ways. " +"The current memory block contents can be accessed (or changed) with the " +"``raw`` property; if you want to access it as NUL terminated string, use the " +"``value`` property::" +msgstr "" +"Однак ви повинні бути обережними, щоб не передавати їх функціям, які " +"очікують покажчиків на змінну пам’ять. Якщо вам потрібні змінні блоки " +"пам’яті, ctypes має функцію :func:`create_string_buffer`, яка створює їх " +"різними способами. Доступ до поточного вмісту блоку пам’яті можна отримати " +"(або змінити) за допомогою властивості ``raw``; якщо ви бажаєте отримати до " +"нього доступ як до рядка з закінченням NUL, використовуйте властивість " +"``value``::" + +msgid "" +"The :func:`create_string_buffer` function replaces the old :func:`c_buffer` " +"function (which is still available as an alias). To create a mutable memory " +"block containing unicode characters of the C type :c:expr:`wchar_t`, use " +"the :func:`create_unicode_buffer` function." +msgstr "" + +msgid "Calling functions, continued" +msgstr "Функції виклику, продовження" + +msgid "" +"Note that printf prints to the real standard output channel, *not* to :data:" +"`sys.stdout`, so these examples will only work at the console prompt, not " +"from within *IDLE* or *PythonWin*::" +msgstr "" +"Зауважте, що printf друкує на справжній стандартний канал виводу, *а не* на :" +"data:`sys.stdout`, тому ці приклади працюватимуть лише у підказці консолі, а " +"не з *IDLE* або *PythonWin*::" + +msgid "" +"As has been mentioned before, all Python types except integers, strings, and " +"bytes objects have to be wrapped in their corresponding :mod:`ctypes` type, " +"so that they can be converted to the required C data type::" +msgstr "" +"Як уже згадувалося раніше, усі типи Python, окрім цілих, рядкових і байтових " +"об’єктів, мають бути загорнуті у відповідний тип :mod:`ctypes`, щоб їх можна " +"було перетворити на необхідний тип даних C::" + +msgid "Calling functions with your own custom data types" +msgstr "Виклик функцій із власними типами даних" + +msgid "" +"You can also customize :mod:`ctypes` argument conversion to allow instances " +"of your own classes be used as function arguments. :mod:`ctypes` looks for " +"an :attr:`_as_parameter_` attribute and uses this as the function argument. " +"Of course, it must be one of integer, string, or bytes::" +msgstr "" +"Ви також можете налаштувати перетворення аргументів :mod:`ctypes`, щоб " +"екземпляри ваших власних класів могли використовуватися як аргументи " +"функції. :mod:`ctypes` шукає атрибут :attr:`_as_parameter_` і використовує " +"його як аргумент функції. Звичайно, це має бути ціле число, рядок або байти::" + +msgid "" +"If you don't want to store the instance's data in the :attr:`_as_parameter_` " +"instance variable, you could define a :class:`property` which makes the " +"attribute available on request." +msgstr "" +"Якщо ви не хочете зберігати дані екземпляра в змінній екземпляра :attr:" +"`_as_parameter_`, ви можете визначити :class:`property`, що робить атрибут " +"доступним за запитом." + +msgid "Specifying the required argument types (function prototypes)" +msgstr "Вказівка необхідних типів аргументів (прототипів функцій)" + +msgid "" +"It is possible to specify the required argument types of functions exported " +"from DLLs by setting the :attr:`argtypes` attribute." +msgstr "" +"Можна вказати необхідні типи аргументів функцій, експортованих із DLL, " +"установивши атрибут :attr:`argtypes`." + +msgid "" +":attr:`argtypes` must be a sequence of C data types (the ``printf`` function " +"is probably not a good example here, because it takes a variable number and " +"different types of parameters depending on the format string, on the other " +"hand this is quite handy to experiment with this feature)::" +msgstr "" +":attr:`argtypes` має бути послідовністю типів даних C (функція ``printf`` " +"тут, ймовірно, не є хорошим прикладом, оскільки вона приймає змінне число та " +"різні типи параметрів залежно від рядка формату, з іншого боку це дуже " +"зручно, щоб експериментувати з цією функцією)::" + +msgid "" +"Specifying a format protects against incompatible argument types (just as a " +"prototype for a C function), and tries to convert the arguments to valid " +"types::" +msgstr "" +"Зазначення формату захищає від несумісних типів аргументів (як прототип для " +"функції C) і намагається перетворити аргументи на дійсні типи:" + +msgid "" +"If you have defined your own classes which you pass to function calls, you " +"have to implement a :meth:`from_param` class method for them to be able to " +"use them in the :attr:`argtypes` sequence. The :meth:`from_param` class " +"method receives the Python object passed to the function call, it should do " +"a typecheck or whatever is needed to make sure this object is acceptable, " +"and then return the object itself, its :attr:`_as_parameter_` attribute, or " +"whatever you want to pass as the C function argument in this case. Again, " +"the result should be an integer, string, bytes, a :mod:`ctypes` instance, or " +"an object with an :attr:`_as_parameter_` attribute." +msgstr "" +"Якщо ви визначили власні класи, які передаєте до викликів функцій, вам " +"потрібно реалізувати метод класу :meth:`from_param`, щоб вони могли " +"використовувати їх у послідовності :attr:`argtypes`. Метод класу :meth:" +"`from_param` отримує об’єкт Python, переданий у виклик функції, він повинен " +"виконати перевірку типу або щось інше, щоб переконатися, що цей об’єкт " +"прийнятний, а потім повернути сам об’єкт, його :attr:`_as_parameter_` " +"атрибут або те, що ви хочете передати як аргумент функції C у цьому випадку. " +"Знову ж таки, результатом має бути ціле число, рядок, байти, екземпляр :mod:" +"`ctypes` або об’єкт з атрибутом :attr:`_as_parameter_`." + +msgid "Return types" +msgstr "Типи повернення" + +msgid "" +"By default functions are assumed to return the C :c:expr:`int` type. Other " +"return types can be specified by setting the :attr:`restype` attribute of " +"the function object." +msgstr "" + +msgid "" +"Here is a more advanced example, it uses the ``strchr`` function, which " +"expects a string pointer and a char, and returns a pointer to a string::" +msgstr "" +"Ось більш складний приклад, він використовує функцію ``strchr``, яка очікує " +"вказівник на рядок і char і повертає вказівник на рядок::" + +msgid "" +"If you want to avoid the ``ord(\"x\")`` calls above, you can set the :attr:" +"`argtypes` attribute, and the second argument will be converted from a " +"single character Python bytes object into a C char::" +msgstr "" +"Якщо ви хочете уникнути викликів ``ord(\"x\")`` вище, ви можете встановити " +"атрибут :attr:`argtypes`, і другий аргумент буде перетворено з " +"односимвольного об’єкта Python bytes у C char: :" + +msgid "" +"You can also use a callable Python object (a function or a class for " +"example) as the :attr:`restype` attribute, if the foreign function returns " +"an integer. The callable will be called with the *integer* the C function " +"returns, and the result of this call will be used as the result of your " +"function call. This is useful to check for error return values and " +"automatically raise an exception::" +msgstr "" +"Ви також можете використовувати об’єкт Python, який можна викликати " +"(наприклад, функцію або клас) як атрибут :attr:`restype`, якщо зовнішня " +"функція повертає ціле число. Об’єкт, який викликається, буде викликано за " +"допомогою *цілого*, яке повертає функція C, і результат цього виклику буде " +"використано як результат виклику вашої функції. Це корисно для перевірки " +"значень, які повертаються помилки, і автоматичного виклику винятку::" + +msgid "" +"``WinError`` is a function which will call Windows ``FormatMessage()`` api " +"to get the string representation of an error code, and *returns* an " +"exception. ``WinError`` takes an optional error code parameter, if no one is " +"used, it calls :func:`GetLastError` to retrieve it." +msgstr "" +"``WinError`` — це функція, яка викликає Windows ``FormatMessage()`` API, щоб " +"отримати рядкове представлення коду помилки, і *повертає* виняткову " +"ситуацію. ``WinError`` приймає додатковий параметр коду помилки, якщо ніхто " +"не використовується, він викликає :func:`GetLastError`, щоб отримати його." + +msgid "" +"Please note that a much more powerful error checking mechanism is available " +"through the :attr:`errcheck` attribute; see the reference manual for details." +msgstr "" +"Зауважте, що набагато потужніший механізм перевірки помилок доступний через " +"атрибут :attr:`errcheck`; подробиці див. у довідковому посібнику." + +msgid "Passing pointers (or: passing parameters by reference)" +msgstr "Передача покажчиків (або: передача параметрів за посиланням)" + +msgid "" +"Sometimes a C api function expects a *pointer* to a data type as parameter, " +"probably to write into the corresponding location, or if the data is too " +"large to be passed by value. This is also known as *passing parameters by " +"reference*." +msgstr "" +"Іноді функція C API очікує *вказівника* на тип даних як параметр, ймовірно, " +"для запису у відповідне розташування або якщо дані завеликі для передачі за " +"значенням. Це також відомо як *передача параметрів за посиланням*." + +msgid "" +":mod:`ctypes` exports the :func:`byref` function which is used to pass " +"parameters by reference. The same effect can be achieved with the :func:" +"`pointer` function, although :func:`pointer` does a lot more work since it " +"constructs a real pointer object, so it is faster to use :func:`byref` if " +"you don't need the pointer object in Python itself::" +msgstr "" +":mod:`ctypes` експортує функцію :func:`byref`, яка використовується для " +"передачі параметрів за посиланням. Такого ж ефекту можна досягти за " +"допомогою функції :func:`pointer`, хоча :func:`pointer` виконує набагато " +"більше роботи, оскільки створює справжній об’єкт-вказівник, тому " +"використовувати :func:`byref` швидше не потрібен об’єкт покажчика в самому " +"Python::" + +msgid "Structures and unions" +msgstr "Структури та спілки" + +msgid "" +"Structures and unions must derive from the :class:`Structure` and :class:" +"`Union` base classes which are defined in the :mod:`ctypes` module. Each " +"subclass must define a :attr:`_fields_` attribute. :attr:`_fields_` must be " +"a list of *2-tuples*, containing a *field name* and a *field type*." +msgstr "" +"Структури та об’єднання мають походити від базових класів :class:`Structure` " +"і :class:`Union`, які визначені в модулі :mod:`ctypes`. Кожен підклас " +"повинен визначати атрибут :attr:`_fields_`. :attr:`_fields_` має бути " +"списком *2-кортежів*, що містить *ім’я поля* та *тип поля*." + +msgid "" +"The field type must be a :mod:`ctypes` type like :class:`c_int`, or any " +"other derived :mod:`ctypes` type: structure, union, array, pointer." +msgstr "" +"Тип поля має бути типу :mod:`ctypes`, наприклад :class:`c_int`, або будь-" +"якого іншого похідного типу :mod:`ctypes`: структура, об’єднання, масив, " +"покажчик." + +msgid "" +"Here is a simple example of a POINT structure, which contains two integers " +"named *x* and *y*, and also shows how to initialize a structure in the " +"constructor::" +msgstr "" +"Ось простий приклад структури POINT, яка містить два цілі числа з іменами " +"*x* і *y*, а також показує, як ініціалізувати структуру в конструкторі::" + +msgid "" +"You can, however, build much more complicated structures. A structure can " +"itself contain other structures by using a structure as a field type." +msgstr "" +"Однак можна будувати набагато складніші конструкції. Структура може сама " +"містити інші структури, використовуючи структуру як тип поля." + +msgid "" +"Here is a RECT structure which contains two POINTs named *upperleft* and " +"*lowerright*::" +msgstr "" +"Ось структура RECT, яка містить дві ТОЧКИ з іменами *upperleft* і " +"*lowerright*::" + +msgid "" +"Nested structures can also be initialized in the constructor in several " +"ways::" +msgstr "" +"Вкладені структури також можна ініціалізувати в конструкторі кількома " +"способами:" + +msgid "" +"Field :term:`descriptor`\\s can be retrieved from the *class*, they are " +"useful for debugging because they can provide useful information::" +msgstr "" +"Поля :term:`descriptor`\\s можна отримати з *класу*, вони корисні для " +"налагодження, оскільки можуть надати корисну інформацію::" + +msgid "" +":mod:`ctypes` does not support passing unions or structures with bit-fields " +"to functions by value. While this may work on 32-bit x86, it's not " +"guaranteed by the library to work in the general case. Unions and " +"structures with bit-fields should always be passed to functions by pointer." +msgstr "" +":mod:`ctypes` не підтримує передачу об’єднань або структур із бітовими " +"полями функціям за значенням. Хоча це може працювати на 32-розрядних x86, " +"бібліотека не гарантує роботу в загальному випадку. Об’єднання та структури " +"з бітовими полями слід завжди передавати функціям за вказівником." + +msgid "Structure/union alignment and byte order" +msgstr "Вирівнювання структури/об'єднання та порядок байтів" + +msgid "" +"By default, Structure and Union fields are aligned in the same way the C " +"compiler does it. It is possible to override this behavior by specifying a :" +"attr:`_pack_` class attribute in the subclass definition. This must be set " +"to a positive integer and specifies the maximum alignment for the fields. " +"This is what ``#pragma pack(n)`` also does in MSVC." +msgstr "" +"За замовчуванням поля Structure і Union вирівнюються так само, як це робить " +"компілятор C. Цю поведінку можна перевизначити, вказавши атрибут класу :attr:" +"`_pack_` у визначенні підкласу. Для цього має бути встановлено додатне ціле " +"число та вказано максимальне вирівнювання для полів. Це те, що ``#pragma " +"pack(n)`` також робить у MSVC." + +msgid "" +":mod:`ctypes` uses the native byte order for Structures and Unions. To " +"build structures with non-native byte order, you can use one of the :class:" +"`BigEndianStructure`, :class:`LittleEndianStructure`, :class:" +"`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. These " +"classes cannot contain pointer fields." +msgstr "" +":mod:`ctypes` використовує власний порядок байтів для структур і об’єднань. " +"Щоб створити структури з невласним порядком байтів, ви можете " +"використовувати один із базових класів :class:`BigEndianStructure`, :class:" +"`LittleEndianStructure`, :class:`BigEndianUnion` і :class:" +"`LittleEndianUnion`. Ці класи не можуть містити поля вказівників." + +msgid "Bit fields in structures and unions" +msgstr "Бітові поля в структурах і об'єднаннях" + +msgid "" +"It is possible to create structures and unions containing bit fields. Bit " +"fields are only possible for integer fields, the bit width is specified as " +"the third item in the :attr:`_fields_` tuples::" +msgstr "" +"Можна створювати структури та об'єднання, що містять бітові поля. Бітові " +"поля можливі лише для цілочисельних полів, бітова ширина вказується як " +"третій елемент у кортежах :attr:`_fields_`::" + +msgid "Arrays" +msgstr "Масиви" + +msgid "" +"Arrays are sequences, containing a fixed number of instances of the same " +"type." +msgstr "" +"Масиви - це послідовності, що містять фіксовану кількість екземплярів одного " +"типу." + +msgid "" +"The recommended way to create array types is by multiplying a data type with " +"a positive integer::" +msgstr "" +"Рекомендований спосіб створення типів масивів – це множення типу даних на " +"додатне ціле:" + +msgid "" +"Here is an example of a somewhat artificial data type, a structure " +"containing 4 POINTs among other stuff::" +msgstr "" +"Ось приклад дещо штучного типу даних, структура, яка містить 4 ТОЧКИ серед " +"іншого:" + +msgid "Instances are created in the usual way, by calling the class::" +msgstr "Екземпляри створюються звичайним способом за допомогою виклику класу::" + +msgid "" +"The above code print a series of ``0 0`` lines, because the array contents " +"is initialized to zeros." +msgstr "" +"Наведений вище код друкує серію рядків ``0 0``, оскільки вміст масиву " +"ініціалізовано нулями." + +msgid "Initializers of the correct type can also be specified::" +msgstr "Також можна вказати ініціалізатори правильного типу:" + +msgid "Pointers" +msgstr "Покажчики" + +msgid "" +"Pointer instances are created by calling the :func:`pointer` function on a :" +"mod:`ctypes` type::" +msgstr "" +"Екземпляри вказівника створюються шляхом виклику функції :func:`pointer` для " +"типу :mod:`ctypes`::" + +msgid "" +"Pointer instances have a :attr:`~_Pointer.contents` attribute which returns " +"the object to which the pointer points, the ``i`` object above::" +msgstr "" +"Екземпляри вказівника мають атрибут :attr:`~_Pointer.contents`, який " +"повертає об’єкт, на який вказує вказівник, об’єкт ``i`` вище::" + +msgid "" +"Note that :mod:`ctypes` does not have OOR (original object return), it " +"constructs a new, equivalent object each time you retrieve an attribute::" +msgstr "" +"Зауважте, що :mod:`ctypes` не має OOR (повернення вихідного об’єкта), він " +"створює новий, еквівалентний об’єкт кожного разу, коли ви отримуєте атрибут::" + +msgid "" +"Assigning another :class:`c_int` instance to the pointer's contents " +"attribute would cause the pointer to point to the memory location where this " +"is stored::" +msgstr "" +"Призначення іншого екземпляра :class:`c_int` атрибуту contents вказівника " +"призведе до того, що вказівник вказуватиме на місце пам’яті, де це " +"зберігається::" + +msgid "Pointer instances can also be indexed with integers::" +msgstr "Екземпляри вказівників також можна індексувати цілими числами::" + +msgid "Assigning to an integer index changes the pointed to value::" +msgstr "Присвоєння цілочисельному індексу змінює вказане значення::" + +msgid "" +"It is also possible to use indexes different from 0, but you must know what " +"you're doing, just as in C: You can access or change arbitrary memory " +"locations. Generally you only use this feature if you receive a pointer from " +"a C function, and you *know* that the pointer actually points to an array " +"instead of a single item." +msgstr "" +"Також можна використовувати індекси, відмінні від 0, але ви повинні знати, " +"що ви робите, так само як у C: ви можете отримати доступ або змінити " +"довільні місця пам'яті. Зазвичай ви використовуєте цю функцію, лише якщо " +"отримуєте вказівник від функції C і *знаєте*, що вказівник насправді вказує " +"на масив, а не на один елемент." + +msgid "" +"Behind the scenes, the :func:`pointer` function does more than simply create " +"pointer instances, it has to create pointer *types* first. This is done with " +"the :func:`POINTER` function, which accepts any :mod:`ctypes` type, and " +"returns a new type::" +msgstr "" +"За лаштунками функція :func:`pointer` робить більше, ніж просто створює " +"екземпляри вказівників, вона повинна спочатку створити *типи* вказівників. " +"Це робиться за допомогою функції :func:`POINTER`, яка приймає будь-який тип :" +"mod:`ctypes` і повертає новий тип::" + +msgid "" +"Calling the pointer type without an argument creates a ``NULL`` pointer. " +"``NULL`` pointers have a ``False`` boolean value::" +msgstr "" +"Виклик типу покажчика без аргументу створює покажчик ``NULL``. Покажчики " +"``NULL`` мають логічне значення ``False``::" + +msgid "" +":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but " +"dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" +msgstr "" +":mod:`ctypes` перевіряє ``NULL`` під час розіменування вказівників (але " +"розіменування недійсних не\\ ``NULL`` вказівників призведе до збою Python)::" + +msgid "Type conversions" +msgstr "Перетворення типів" + +msgid "" +"Usually, ctypes does strict type checking. This means, if you have " +"``POINTER(c_int)`` in the :attr:`argtypes` list of a function or as the type " +"of a member field in a structure definition, only instances of exactly the " +"same type are accepted. There are some exceptions to this rule, where " +"ctypes accepts other objects. For example, you can pass compatible array " +"instances instead of pointer types. So, for ``POINTER(c_int)``, ctypes " +"accepts an array of c_int::" +msgstr "" +"Зазвичай ctypes виконує сувору перевірку типів. Це означає, що якщо у вас є " +"``POINTER(c_int)`` у списку :attr:`argtypes` функції або як тип поля-члена у " +"визначенні структури, приймаються лише екземпляри точно такого ж типу. З " +"цього правила є деякі винятки, коли ctypes приймає інші об’єкти. Наприклад, " +"ви можете передати сумісні екземпляри масиву замість типів покажчиків. Отже, " +"для ``POINTER(c_int)`` ctypes приймає масив c_int::" + +msgid "" +"In addition, if a function argument is explicitly declared to be a pointer " +"type (such as ``POINTER(c_int)``) in :attr:`argtypes`, an object of the " +"pointed type (``c_int`` in this case) can be passed to the function. ctypes " +"will apply the required :func:`byref` conversion in this case automatically." +msgstr "" +"Крім того, якщо аргумент функції явно оголошено як тип вказівника " +"(наприклад, ``POINTER(c_int)``) у :attr:`argtypes`, об’єкт вказівного типу " +"(``c_int`` у цьому випадку ) можна передати у функцію. У цьому випадку " +"ctypes автоматично застосує необхідне перетворення :func:`byref`." + +msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" +msgstr "" +"Щоб встановити для поля типу POINTER значення ``NULL``, ви можете призначити " +"``None``::" + +msgid "" +"Sometimes you have instances of incompatible types. In C, you can cast one " +"type into another type. :mod:`ctypes` provides a :func:`cast` function " +"which can be used in the same way. The ``Bar`` structure defined above " +"accepts ``POINTER(c_int)`` pointers or :class:`c_int` arrays for its " +"``values`` field, but not instances of other types::" +msgstr "" +"Іноді у вас є екземпляри несумісних типів. У C ви можете привести один тип " +"до іншого. :mod:`ctypes` надає функцію :func:`cast`, яку можна " +"використовувати таким же чином. Структура ``Bar``, визначена вище, приймає " +"покажчики ``POINTER(c_int)`` або :class:`c_int` масиви для свого поля " +"``values``, але не примірники інших типів::" + +msgid "For these cases, the :func:`cast` function is handy." +msgstr "Для цих випадків зручна функція :func:`cast`." + +msgid "" +"The :func:`cast` function can be used to cast a ctypes instance into a " +"pointer to a different ctypes data type. :func:`cast` takes two parameters, " +"a ctypes object that is or can be converted to a pointer of some kind, and a " +"ctypes pointer type. It returns an instance of the second argument, which " +"references the same memory block as the first argument::" +msgstr "" +"Функцію :func:`cast` можна використати для приведення екземпляра ctypes до " +"покажчика на інший тип даних ctypes. :func:`cast` приймає два параметри: " +"об’єкт ctypes, який є чи може бути перетворений на певний вказівник, і тип " +"вказівника ctypes. Він повертає екземпляр другого аргументу, який " +"посилається на той самий блок пам’яті, що й перший аргумент::" + +msgid "" +"So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " +"the structure::" +msgstr "" +"Отже, :func:`cast` можна використовувати для призначення полю ``values`` " +"``Bar`` структури::" + +msgid "Incomplete Types" +msgstr "Неповні типи" + +msgid "" +"*Incomplete Types* are structures, unions or arrays whose members are not " +"yet specified. In C, they are specified by forward declarations, which are " +"defined later::" +msgstr "" +"*Неповні типи* — це структури, об’єднання або масиви, члени яких ще не " +"визначено. У C вони визначені прямими оголошеннями, які визначені пізніше:" + +msgid "" +"The straightforward translation into ctypes code would be this, but it does " +"not work::" +msgstr "Прямий переклад у код ctypes буде таким, але він не працює:" + +msgid "" +"because the new ``class cell`` is not available in the class statement " +"itself. In :mod:`ctypes`, we can define the ``cell`` class and set the :attr:" +"`_fields_` attribute later, after the class statement::" +msgstr "" +"оскільки нова ``комірка класу`` недоступна в самому операторі класу. У :mod:" +"`ctypes` ми можемо визначити клас ``cell`` і встановити атрибут :attr:" +"`_fields_` пізніше, після оператора class::" + +msgid "" +"Let's try it. We create two instances of ``cell``, and let them point to " +"each other, and finally follow the pointer chain a few times::" +msgstr "" +"Давайте спробуємо. Ми створюємо два екземпляри ``cell`` і дозволяємо їм " +"вказувати один на одного, і, нарешті, слідуємо за ланцюжком вказівників " +"кілька разів::" + +msgid "Callback functions" +msgstr "Функції зворотного виклику" + +msgid "" +":mod:`ctypes` allows creating C callable function pointers from Python " +"callables. These are sometimes called *callback functions*." +msgstr "" +":mod:`ctypes` дозволяє створювати вказівники на функції C із викликів " +"Python. Іноді їх називають *функціями зворотного виклику*." + +msgid "" +"First, you must create a class for the callback function. The class knows " +"the calling convention, the return type, and the number and types of " +"arguments this function will receive." +msgstr "" +"По-перше, ви повинні створити клас для функції зворотного виклику. Клас знає " +"угоду про виклики, тип повернення, а також кількість і типи аргументів, які " +"ця функція отримає." + +msgid "" +"The :func:`CFUNCTYPE` factory function creates types for callback functions " +"using the ``cdecl`` calling convention. On Windows, the :func:`WINFUNCTYPE` " +"factory function creates types for callback functions using the ``stdcall`` " +"calling convention." +msgstr "" +"Фабрична функція :func:`CFUNCTYPE` створює типи для функцій зворотного " +"виклику за допомогою угоди про виклики ``cdecl``. У Windows фабрична " +"функція :func:`WINFUNCTYPE` створює типи для функцій зворотного виклику за " +"допомогою угоди про виклики ``stdcall``." + +msgid "" +"Both of these factory functions are called with the result type as first " +"argument, and the callback functions expected argument types as the " +"remaining arguments." +msgstr "" +"Обидві ці фабричні функції викликаються з типом результату як першим " +"аргументом, а функції зворотного виклику – очікуваними типами аргументів як " +"рештою аргументів." + +msgid "" +"I will present an example here which uses the standard C library's :c:func:" +"`qsort` function, that is used to sort items with the help of a callback " +"function. :c:func:`qsort` will be used to sort an array of integers::" +msgstr "" +"Я наведу тут приклад, який використовує функцію :c:func:`qsort` стандартної " +"бібліотеки C, яка використовується для сортування елементів за допомогою " +"функції зворотного виклику. :c:func:`qsort` використовуватиметься для " +"сортування масиву цілих чисел::" + +msgid "" +":func:`qsort` must be called with a pointer to the data to sort, the number " +"of items in the data array, the size of one item, and a pointer to the " +"comparison function, the callback. The callback will then be called with two " +"pointers to items, and it must return a negative integer if the first item " +"is smaller than the second, a zero if they are equal, and a positive integer " +"otherwise." +msgstr "" +":func:`qsort` потрібно викликати з вказівником на дані для сортування, " +"кількістю елементів у масиві даних, розміром одного елемента та вказівником " +"на функцію порівняння, зворотний виклик. Зворотний виклик буде викликано з " +"двома покажчиками на елементи, і він повинен повернути від’ємне ціле число, " +"якщо перший елемент менший за другий, нуль, якщо вони рівні, і додатне ціле " +"число в іншому випадку." + +msgid "" +"So our callback function receives pointers to integers, and must return an " +"integer. First we create the ``type`` for the callback function::" +msgstr "" +"Таким чином, наша функція зворотного виклику отримує покажчики на цілі числа " +"та повинна повертати ціле число. Спочатку ми створюємо ``type`` для функції " +"зворотного виклику::" + +msgid "" +"To get started, here is a simple callback that shows the values it gets " +"passed::" +msgstr "" +"Щоб почати, ось простий зворотний виклик, який показує значення, які він " +"отримує:" + +msgid "The result::" +msgstr "Результат::" + +msgid "Now we can actually compare the two items and return a useful result::" +msgstr "" +"Тепер ми фактично можемо порівняти два елементи та повернути корисний " +"результат:" + +msgid "As we can easily check, our array is sorted now::" +msgstr "Як ми можемо легко перевірити, наш масив зараз відсортовано::" + +msgid "" +"The function factories can be used as decorator factories, so we may as well " +"write::" +msgstr "" +"Фабрики функцій можна використовувати як фабрики декораторів, тому ми також " +"можемо написати::" + +msgid "" +"Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " +"are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " +"garbage collected, crashing your program when a callback is made." +msgstr "" +"Переконайтеся, що ви зберігаєте посилання на об’єкти :func:`CFUNCTYPE`, доки " +"вони використовуються з коду C. :mod:`ctypes` не працює, і якщо ви цього не " +"зробите, вони можуть збиратися як сміття, що призведе до збою вашої програми " +"під час зворотного виклику." + +msgid "" +"Also, note that if the callback function is called in a thread created " +"outside of Python's control (e.g. by the foreign code that calls the " +"callback), ctypes creates a new dummy Python thread on every invocation. " +"This behavior is correct for most purposes, but it means that values stored " +"with :class:`threading.local` will *not* survive across different callbacks, " +"even when those calls are made from the same C thread." +msgstr "" +"Також зауважте, що якщо функція зворотнього виклику викликається в потоці, " +"створеному поза контролем Python (наприклад, зовнішнім кодом, який викликає " +"зворотній виклик), ctypes створює новий фіктивний потік Python під час " +"кожного виклику. Така поведінка є правильною для більшості цілей, але це " +"означає, що значення, збережені в :class:`threading.local` *не* збережуться " +"в різних зворотних викликах, навіть якщо ці виклики здійснюються з того " +"самого потоку C." + +msgid "Accessing values exported from dlls" +msgstr "Доступ до значень, експортованих із dll" + +msgid "" +"Some shared libraries not only export functions, they also export variables. " +"An example in the Python library itself is the :c:data:`Py_OptimizeFlag`, an " +"integer set to 0, 1, or 2, depending on the :option:`-O` or :option:`-OO` " +"flag given on startup." +msgstr "" +"Деякі спільні бібліотеки експортують не лише функції, але й змінні. " +"Прикладом у самій бібліотеці Python є :c:data:`Py_OptimizeFlag`, ціле число " +"зі значенням 0, 1 або 2, залежно від прапора :option:`-O` або :option:`-OO`, " +"заданого на стартап." + +msgid "" +":mod:`ctypes` can access values like this with the :meth:`in_dll` class " +"methods of the type. *pythonapi* is a predefined symbol giving access to " +"the Python C api::" +msgstr "" +":mod:`ctypes` може отримати доступ до таких значень за допомогою методів " +"класу :meth:`in_dll` типу. *pythonapi* — це попередньо визначений символ, " +"який надає доступ до Python C api::" + +msgid "" +"If the interpreter would have been started with :option:`-O`, the sample " +"would have printed ``c_long(1)``, or ``c_long(2)`` if :option:`-OO` would " +"have been specified." +msgstr "" +"Якби інтерпретатор був запущений з :option:`-O`, зразок надрукував би " +"``c_long(1)`` або ``c_long(2)``, якщо :option:`-OO` було б зазначено." + +msgid "" +"An extended example which also demonstrates the use of pointers accesses " +"the :c:data:`PyImport_FrozenModules` pointer exported by Python." +msgstr "" +"Розширений приклад, який також демонструє використання покажчиків, " +"звертається до покажчика :c:data:`PyImport_FrozenModules`, експортованого " +"Python." + +msgid "Quoting the docs for that value:" +msgstr "Цитування документів для цього значення:" + +msgid "" +"This pointer is initialized to point to an array of :c:struct:`_frozen` " +"records, terminated by one whose members are all ``NULL`` or zero. When a " +"frozen module is imported, it is searched in this table. Third-party code " +"could play tricks with this to provide a dynamically created collection of " +"frozen modules." +msgstr "" + +msgid "" +"So manipulating this pointer could even prove useful. To restrict the " +"example size, we show only how this table can be read with :mod:`ctypes`::" +msgstr "" +"Тож маніпулювання цим покажчиком може навіть виявитися корисним. Щоб " +"обмежити розмір прикладу, ми показуємо лише те, як цю таблицю можна " +"прочитати за допомогою :mod:`ctypes`::" + +msgid "" +"We have defined the :c:struct:`_frozen` data type, so we can get the pointer " +"to the table::" +msgstr "" + +msgid "" +"Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, " +"we can iterate over it, but we just have to make sure that our loop " +"terminates, because pointers have no size. Sooner or later it would probably " +"crash with an access violation or whatever, so it's better to break out of " +"the loop when we hit the ``NULL`` entry::" +msgstr "" +"Оскільки ``table`` є ``покажчиком`` на масив ``struct_frozen`` записів, ми " +"можемо перебирати його, але нам просто потрібно переконатися, що наш цикл " +"завершується, оскільки покажчики не мають розміру. Рано чи пізно він, " +"ймовірно, вийде з ладу через порушення прав доступу чи щось інше, тому краще " +"вийти з циклу, коли ми натиснемо запис ``NULL``::" + +msgid "" +"The fact that standard Python has a frozen module and a frozen package " +"(indicated by the negative ``size`` member) is not well known, it is only " +"used for testing. Try it out with ``import __hello__`` for example." +msgstr "" +"Той факт, що стандартний Python має заморожений модуль і заморожений пакет " +"(позначений від’ємним елементом ``size``), невідомий, він використовується " +"лише для тестування. Спробуйте, наприклад, ``import __hello__``." + +msgid "Surprises" +msgstr "Сюрпризи" + +msgid "" +"There are some edges in :mod:`ctypes` where you might expect something other " +"than what actually happens." +msgstr "" +"У :mod:`ctypes` є деякі переваги, де ви можете очікувати щось інше, ніж те, " +"що відбувається насправді." + +msgid "Consider the following example::" +msgstr "Розглянемо такий приклад:" + +msgid "" +"Hm. We certainly expected the last statement to print ``3 4 1 2``. What " +"happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" +msgstr "" +"Хм Ми, безумовно, очікували, що останній оператор виведе ``3 4 1 2``. Що " +"трапилось? Ось кроки рядка ``rc.a, rc.b = rc.b, rc.a``:" + +msgid "" +"Note that ``temp0`` and ``temp1`` are objects still using the internal " +"buffer of the ``rc`` object above. So executing ``rc.a = temp0`` copies the " +"buffer contents of ``temp0`` into ``rc`` 's buffer. This, in turn, changes " +"the contents of ``temp1``. So, the last assignment ``rc.b = temp1``, doesn't " +"have the expected effect." +msgstr "" +"Зауважте, що ``temp0`` і ``temp1`` є об’єктами, які все ще використовують " +"внутрішній буфер об’єкта ``rc`` вище. Отже, виконання ``rc.a = temp0`` " +"копіює вміст буфера ``temp0`` у буфер ``rc``. Це, у свою чергу, змінює вміст " +"``temp1``. Отже, останнє призначення ``rc.b = temp1`` не має очікуваного " +"ефекту." + +msgid "" +"Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays " +"doesn't *copy* the sub-object, instead it retrieves a wrapper object " +"accessing the root-object's underlying buffer." +msgstr "" +"Майте на увазі, що отримання підоб’єктів зі структур, об’єднань і масивів не " +"*копіює* підоб’єкт, натомість отримує обгортку об’єкта, який отримує доступ " +"до основного буфера кореневого об’єкта." + +msgid "" +"Another example that may behave differently from what one would expect is " +"this::" +msgstr "Інший приклад, який може поводитися інакше, ніж очікувалося, це:" + +msgid "" +"Objects instantiated from :class:`c_char_p` can only have their value set to " +"bytes or integers." +msgstr "" +"Об’єкти, створені з :class:`c_char_p`, можуть мати значення лише байтів або " +"цілих чисел." + +msgid "" +"Why is it printing ``False``? ctypes instances are objects containing a " +"memory block plus some :term:`descriptor`\\s accessing the contents of the " +"memory. Storing a Python object in the memory block does not store the " +"object itself, instead the ``contents`` of the object is stored. Accessing " +"the contents again constructs a new Python object each time!" +msgstr "" +"Чому він друкує ``False``? Екземпляри ctypes — це об’єкти, що містять блок " +"пам’яті плюс деякі :term:`descriptor`\\, що мають доступ до вмісту пам’яті. " +"Зберігання об’єкта Python у блоці пам’яті не зберігає сам об’єкт, натомість " +"зберігається ``вміст`` об’єкта. Повторний доступ до вмісту щоразу створює " +"новий об’єкт Python!" + +msgid "Variable-sized data types" +msgstr "Типи даних змінного розміру" + +msgid "" +":mod:`ctypes` provides some support for variable-sized arrays and structures." +msgstr "" +":mod:`ctypes` забезпечує деяку підтримку для масивів і структур змінного " +"розміру." + +msgid "" +"The :func:`resize` function can be used to resize the memory buffer of an " +"existing ctypes object. The function takes the object as first argument, " +"and the requested size in bytes as the second argument. The memory block " +"cannot be made smaller than the natural memory block specified by the " +"objects type, a :exc:`ValueError` is raised if this is tried::" +msgstr "" +"Функцію :func:`resize` можна використовувати для зміни розміру буфера " +"пам’яті існуючого об’єкта ctypes. Функція приймає об’єкт як перший аргумент, " +"а запитуваний розмір у байтах як другий аргумент. Блок пам’яті не може бути " +"меншим, ніж природний блок пам’яті, визначений типом об’єкта, :exc:" +"`ValueError` виникає, якщо це спробувати::" + +msgid "" +"This is nice and fine, but how would one access the additional elements " +"contained in this array? Since the type still only knows about 4 elements, " +"we get errors accessing other elements::" +msgstr "" +"Це гарно і добре, але як отримати доступ до додаткових елементів, що " +"містяться в цьому масиві? Оскільки тип все ще знає лише про 4 елементи, ми " +"отримуємо помилки під час доступу до інших елементів::" + +msgid "" +"Another way to use variable-sized data types with :mod:`ctypes` is to use " +"the dynamic nature of Python, and (re-)define the data type after the " +"required size is already known, on a case by case basis." +msgstr "" +"Інший спосіб використання типів даних змінного розміру з :mod:`ctypes` — це " +"використання динамічної природи Python і (повторне) визначення типу даних " +"після того, як потрібний розмір уже відомий, у кожному конкретному випадку." + +msgid "ctypes reference" +msgstr "посилання на ctypes" + +msgid "Finding shared libraries" +msgstr "Пошук спільних бібліотек" + +msgid "" +"When programming in a compiled language, shared libraries are accessed when " +"compiling/linking a program, and when the program is run." +msgstr "" +"Під час програмування скомпільованою мовою доступ до спільних бібліотек " +"здійснюється під час компіляції/зв’язування програми та під час виконання " +"програми." + +msgid "" +"The purpose of the :func:`find_library` function is to locate a library in a " +"way similar to what the compiler or runtime loader does (on platforms with " +"several versions of a shared library the most recent should be loaded), " +"while the ctypes library loaders act like when a program is run, and call " +"the runtime loader directly." +msgstr "" +"Метою функції :func:`find_library` є пошук бібліотеки у спосіб, подібний до " +"того, що робить компілятор або завантажувач середовища виконання (на " +"платформах із кількома версіями спільної бібліотеки має бути завантажена " +"остання), тоді як бібліотека ctypes завантажувачі діють так само, як коли " +"виконується програма, і безпосередньо викликають завантажувач часу виконання." + +msgid "" +"The :mod:`ctypes.util` module provides a function which can help to " +"determine the library to load." +msgstr "" +"Модуль :mod:`ctypes.util` надає функцію, яка може допомогти визначити " +"бібліотеку для завантаження." + +msgid "" +"Try to find a library and return a pathname. *name* is the library name " +"without any prefix like *lib*, suffix like ``.so``, ``.dylib`` or version " +"number (this is the form used for the posix linker option :option:`!-l`). " +"If no library can be found, returns ``None``." +msgstr "" +"Спробуйте знайти бібліотеку та повернути шлях. *name* — це назва бібліотеки " +"без будь-якого префікса, як-от *lib*, суфікса, як-от ``.so``, ``.dylib`` або " +"номера версії (це форма, яка використовується для параметра компонування " +"posix :option:`!- l`). Якщо бібліотеки не знайдено, повертає ``None``." + +msgid "The exact functionality is system dependent." +msgstr "Точна функція залежить від системи." + +msgid "" +"On Linux, :func:`find_library` tries to run external programs (``/sbin/" +"ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library file. It " +"returns the filename of the library file." +msgstr "" +"У Linux :func:`find_library` намагається запустити зовнішні програми (``/" +"sbin/ldconfig``, ``gcc``, ``objdump`` і ``ld``), щоб знайти файл бібліотеки. " +"Він повертає ім’я файлу бібліотеки." + +msgid "" +"On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " +"when searching for libraries, if a library cannot be found by any other " +"means." +msgstr "" +"У Linux значення змінної середовища ``LD_LIBRARY_PATH`` використовується під " +"час пошуку бібліотек, якщо бібліотеку неможливо знайти будь-яким іншим " +"способом." + +msgid "Here are some examples::" +msgstr "Ось кілька прикладів:" + +msgid "" +"On macOS, :func:`find_library` tries several predefined naming schemes and " +"paths to locate the library, and returns a full pathname if successful::" +msgstr "" +"У macOS :func:`find_library` намагається знайти бібліотеку за допомогою " +"кількох попередньо визначених схем іменування та шляхів, і в разі успіху " +"повертає повний шлях::" + +msgid "" +"On Windows, :func:`find_library` searches along the system search path, and " +"returns the full pathname, but since there is no predefined naming scheme a " +"call like ``find_library(\"c\")`` will fail and return ``None``." +msgstr "" +"У Windows :func:`find_library` шукає вздовж шляху системного пошуку та " +"повертає повний шлях, але оскільки попередньо визначеної схеми іменування " +"немає, виклик на кшталт ``find_library(\"c\")`` завершиться помилкою та " +"поверне ``None``." + +msgid "" +"If wrapping a shared library with :mod:`ctypes`, it *may* be better to " +"determine the shared library name at development time, and hardcode that " +"into the wrapper module instead of using :func:`find_library` to locate the " +"library at runtime." +msgstr "" +"Якщо огортати спільну бібліотеку за допомогою :mod:`ctypes`, *може* краще " +"визначити назву спільної бібліотеки під час розробки та жорстко закодувати " +"її в модуль оболонки замість використання :func:`find_library` для пошуку " +"бібліотеки за адресою час виконання." + +msgid "Loading shared libraries" +msgstr "Завантаження спільних бібліотек" + +msgid "" +"There are several ways to load shared libraries into the Python process. " +"One way is to instantiate one of the following classes:" +msgstr "" +"Є кілька способів завантажити спільні бібліотеки в процес Python. Одним із " +"способів є створення екземпляра одного з наступних класів:" + +msgid "" +"Instances of this class represent loaded shared libraries. Functions in " +"these libraries use the standard C calling convention, and are assumed to " +"return :c:expr:`int`." +msgstr "" + +msgid "" +"On Windows creating a :class:`CDLL` instance may fail even if the DLL name " +"exists. When a dependent DLL of the loaded DLL is not found, a :exc:" +"`OSError` error is raised with the message *\"[WinError 126] The specified " +"module could not be found\".* This error message does not contain the name " +"of the missing DLL because the Windows API does not return this information " +"making this error hard to diagnose. To resolve this error and determine " +"which DLL is not found, you need to find the list of dependent DLLs and " +"determine which one is not found using Windows debugging and tracing tools." +msgstr "" +"У Windows створення екземпляра :class:`CDLL` може завершитися помилкою, " +"навіть якщо ім’я DLL існує. Якщо залежну DLL від завантаженої DLL не " +"знайдено, виникає помилка :exc:`OSError` із повідомленням *\"[WinError 126] " +"Не вдалося знайти вказаний модуль\".* Це повідомлення про помилку не містить " +"назви відсутня DLL, оскільки Windows API не повертає цю інформацію, що " +"ускладнює діагностику цієї помилки. Щоб усунути цю помилку та визначити, яку " +"DLL не знайдено, потрібно знайти список залежних DLL і визначити, яка з них " +"не знайдена, за допомогою засобів налагодження та трасування Windows." + +msgid "" +"`Microsoft DUMPBIN tool `_ -- A tool to find DLL dependents." +msgstr "" +"`Інструмент Microsoft DUMPBIN `_ -- Інструмент для пошуку залежних DLL." + +msgid "" +"Windows only: Instances of this class represent loaded shared libraries, " +"functions in these libraries use the ``stdcall`` calling convention, and are " +"assumed to return the windows specific :class:`HRESULT` code. :class:" +"`HRESULT` values contain information specifying whether the function call " +"failed or succeeded, together with additional error code. If the return " +"value signals a failure, an :class:`OSError` is automatically raised." +msgstr "" +"Лише для Windows: екземпляри цього класу представляють завантажені спільні " +"бібліотеки, функції в цих бібліотеках використовують угоду про виклики " +"``stdcall`` і припускається, що вони повертають специфічний для Windows код :" +"class:`HRESULT`. Значення :class:`HRESULT` містять інформацію про те, чи " +"виклик функції завершився невдало чи успішно, а також додатковий код " +"помилки. Якщо повернуте значення сигналізує про помилку, автоматично " +"виникає :class:`OSError`." + +msgid ":exc:`WindowsError` used to be raised." +msgstr ":exc:`WindowsError` раніше виникало." + +msgid "" +"Windows only: Instances of this class represent loaded shared libraries, " +"functions in these libraries use the ``stdcall`` calling convention, and are " +"assumed to return :c:expr:`int` by default." +msgstr "" + +msgid "" +"The Python :term:`global interpreter lock` is released before calling any " +"function exported by these libraries, and reacquired afterwards." +msgstr "" +":term:`global interpreter lock` Python знімається перед викликом будь-якої " +"функції, експортованої цими бібліотеками, і знову отримується після цього." + +msgid "" +"Instances of this class behave like :class:`CDLL` instances, except that the " +"Python GIL is *not* released during the function call, and after the " +"function execution the Python error flag is checked. If the error flag is " +"set, a Python exception is raised." +msgstr "" +"Екземпляри цього класу поводяться як екземпляри :class:`CDLL`, за винятком " +"того, що GIL Python *не* звільняється під час виклику функції, а після " +"виконання функції перевіряється позначка помилки Python. Якщо встановлено " +"позначку помилки, виникає виняток Python." + +msgid "Thus, this is only useful to call Python C api functions directly." +msgstr "Таким чином, це корисно лише для прямого виклику API-функцій Python C." + +msgid "" +"All these classes can be instantiated by calling them with at least one " +"argument, the pathname of the shared library. If you have an existing " +"handle to an already loaded shared library, it can be passed as the " +"``handle`` named parameter, otherwise the underlying platforms ``dlopen`` or " +"``LoadLibrary`` function is used to load the library into the process, and " +"to get a handle to it." +msgstr "" +"Усі ці класи можна створити, викликавши їх принаймні з одним аргументом, " +"шляхом до спільної бібліотеки. Якщо у вас є існуючий дескриптор уже " +"завантаженої спільної бібліотеки, його можна передати як іменований параметр " +"``handle``, інакше для завантаження бібліотеки в використовується функція " +"``dlopen`` або ``LoadLibrary`` базової платформи процес і впоратися з ним." + +msgid "" +"The *mode* parameter can be used to specify how the library is loaded. For " +"details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " +"ignored. On posix systems, RTLD_NOW is always added, and is not " +"configurable." +msgstr "" +"Параметр *mode* можна використовувати для визначення способу завантаження " +"бібліотеки. Додаткову інформацію див. на сторінці довідки :manpage:" +"`dlopen(3)`. У Windows *режим* ігнорується. У системах posix RTLD_NOW завжди " +"додається та не налаштовується." + +msgid "" +"The *use_errno* parameter, when set to true, enables a ctypes mechanism that " +"allows accessing the system :data:`errno` error number in a safe way. :mod:" +"`ctypes` maintains a thread-local copy of the systems :data:`errno` " +"variable; if you call foreign functions created with ``use_errno=True`` then " +"the :data:`errno` value before the function call is swapped with the ctypes " +"private copy, the same happens immediately after the function call." +msgstr "" +"Параметр *use_errno*, якщо встановлено значення true, увімкне механізм " +"ctypes, який дозволяє безпечно отримати доступ до системного номера помилки :" +"data:`errno`. :mod:`ctypes` підтримує локальну копію системної змінної :data:" +"`errno`; якщо ви викликаєте сторонні функції, створені за допомогою " +"``use_errno=True``, тоді значення :data:`errno` перед викликом функції " +"замінюється приватною копією ctypes, те саме відбувається відразу після " +"виклику функції." + +msgid "" +"The function :func:`ctypes.get_errno` returns the value of the ctypes " +"private copy, and the function :func:`ctypes.set_errno` changes the ctypes " +"private copy to a new value and returns the former value." +msgstr "" +"Функція :func:`ctypes.get_errno` повертає значення приватної копії ctypes, а " +"функція :func:`ctypes.set_errno` змінює приватну копію ctypes на нове " +"значення та повертає попереднє значення." + +msgid "" +"The *use_last_error* parameter, when set to true, enables the same mechanism " +"for the Windows error code which is managed by the :func:`GetLastError` and :" +"func:`SetLastError` Windows API functions; :func:`ctypes.get_last_error` " +"and :func:`ctypes.set_last_error` are used to request and change the ctypes " +"private copy of the windows error code." +msgstr "" +"Параметр *use_last_error*, якщо встановлено значення true, увімкне той самий " +"механізм для коду помилки Windows, яким керують функції Windows API :func:" +"`GetLastError` і :func:`SetLastError`; :func:`ctypes.get_last_error` і :func:" +"`ctypes.set_last_error` використовуються для запиту та зміни приватної копії " +"ctypes коду помилки Windows." + +msgid "" +"The *winmode* parameter is used on Windows to specify how the library is " +"loaded (since *mode* is ignored). It takes any value that is valid for the " +"Win32 API ``LoadLibraryEx`` flags parameter. When omitted, the default is to " +"use the flags that result in the most secure DLL load to avoiding issues " +"such as DLL hijacking. Passing the full path to the DLL is the safest way to " +"ensure the correct library and dependencies are loaded." +msgstr "" +"Параметр *winmode* використовується в Windows, щоб указати спосіб " +"завантаження бібліотеки (оскільки *mode* ігнорується). Він приймає будь-яке " +"значення, дійсне для параметра прапорців API Win32 ``LoadLibraryEx``. Якщо " +"опущено, за замовчуванням використовуються позначки, які забезпечують " +"найбільш безпечне завантаження DLL, щоб уникнути таких проблем, як " +"викрадення DLL. Передача повного шляху до DLL є найбезпечнішим способом " +"переконатися, що завантажено правильну бібліотеку та залежності." + +msgid "Added *winmode* parameter." +msgstr "Додано параметр *winmode*." + +msgid "" +"Flag to use as *mode* parameter. On platforms where this flag is not " +"available, it is defined as the integer zero." +msgstr "" +"Прапор для використання як параметр *mode*. На платформах, де цей прапорець " +"недоступний, він визначається як цілий нуль." + +msgid "" +"Flag to use as *mode* parameter. On platforms where this is not available, " +"it is the same as *RTLD_GLOBAL*." +msgstr "" +"Прапор для використання як параметр *mode*. На платформах, де це недоступно, " +"це те саме, що *RTLD_GLOBAL*." + +msgid "" +"The default mode which is used to load shared libraries. On OSX 10.3, this " +"is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." +msgstr "" +"Типовий режим, який використовується для завантаження спільних бібліотек. В " +"OSX 10.3 це *RTLD_GLOBAL*, інакше це те саме, що *RTLD_LOCAL*." + +msgid "" +"Instances of these classes have no public methods. Functions exported by " +"the shared library can be accessed as attributes or by index. Please note " +"that accessing the function through an attribute caches the result and " +"therefore accessing it repeatedly returns the same object each time. On the " +"other hand, accessing it through an index returns a new object each time::" +msgstr "" +"Екземпляри цих класів не мають відкритих методів. Доступ до функцій, " +"експортованих спільною бібліотекою, можна отримати як за атрибутами або за " +"індексом. Будь ласка, зверніть увагу, що доступ до функції через атрибут " +"кешує результат, тому повторний доступ повертає той самий об’єкт щоразу. З " +"іншого боку, доступ до нього через індекс кожного разу повертає новий " +"об’єкт::" + +msgid "" +"The following public attributes are available, their name starts with an " +"underscore to not clash with exported function names:" +msgstr "" +"Доступні такі загальнодоступні атрибути, їх імена починаються з " +"підкреслення, щоб не суперечити ім’ям експортованих функцій:" + +msgid "The system handle used to access the library." +msgstr "Системний дескриптор, який використовується для доступу до бібліотеки." + +msgid "The name of the library passed in the constructor." +msgstr "Ім'я бібліотеки, передане в конструктор." + +msgid "" +"Shared libraries can also be loaded by using one of the prefabricated " +"objects, which are instances of the :class:`LibraryLoader` class, either by " +"calling the :meth:`LoadLibrary` method, or by retrieving the library as " +"attribute of the loader instance." +msgstr "" +"Спільні бібліотеки також можна завантажити за допомогою одного зі готових " +"об’єктів, які є екземплярами класу :class:`LibraryLoader`, викликавши метод :" +"meth:`LoadLibrary` або отримавши бібліотеку як атрибут екземпляра " +"завантажувача ." + +msgid "" +"Class which loads shared libraries. *dlltype* should be one of the :class:" +"`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." +msgstr "" +"Клас, який завантажує спільні бібліотеки. *dlltype* має бути одним із типів :" +"class:`CDLL`, :class:`PyDLL`, :class:`WinDLL` або :class:`OleDLL`." + +msgid "" +":meth:`__getattr__` has special behavior: It allows loading a shared library " +"by accessing it as attribute of a library loader instance. The result is " +"cached, so repeated attribute accesses return the same library each time." +msgstr "" +":meth:`__getattr__` має особливу поведінку: він дозволяє завантажувати " +"спільну бібліотеку, звертаючись до неї як до атрибута екземпляра " +"завантажувача бібліотеки. Результат кешується, тому повторні звернення до " +"атрибутів щоразу повертають ту саму бібліотеку." + +msgid "" +"Load a shared library into the process and return it. This method always " +"returns a new instance of the library." +msgstr "" +"Завантажте спільну бібліотеку в процес і поверніть її. Цей метод завжди " +"повертає новий екземпляр бібліотеки." + +msgid "These prefabricated library loaders are available:" +msgstr "Ці збірні бібліотечні завантажувачі доступні:" + +msgid "Creates :class:`CDLL` instances." +msgstr "Створює екземпляри :class:`CDLL`." + +msgid "Windows only: Creates :class:`WinDLL` instances." +msgstr "Лише для Windows: створює екземпляри :class:`WinDLL`." + +msgid "Windows only: Creates :class:`OleDLL` instances." +msgstr "Лише для Windows: створює екземпляри :class:`OleDLL`." + +msgid "Creates :class:`PyDLL` instances." +msgstr "Створює екземпляри :class:`PyDLL`." + +msgid "" +"For accessing the C Python api directly, a ready-to-use Python shared " +"library object is available:" +msgstr "" +"Для прямого доступу до API C Python доступний готовий до використання об’єкт " +"спільної бібліотеки Python:" + +msgid "" +"An instance of :class:`PyDLL` that exposes Python C API functions as " +"attributes. Note that all these functions are assumed to return C :c:expr:" +"`int`, which is of course not always the truth, so you have to assign the " +"correct :attr:`restype` attribute to use these functions." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.dlopen`` with argument " +"``name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.dlopen`` з аргументом " +"``name``." + +msgid "" +"Loading a library through any of these objects raises an :ref:`auditing " +"event ` ``ctypes.dlopen`` with string argument ``name``, the name " +"used to load the library." +msgstr "" +"Завантаження бібліотеки через будь-який із цих об’єктів викликає :ref:`подію " +"аудиту ` ``ctypes.dlopen`` з рядковим аргументом ``name``, іменем, " +"яке використовується для завантаження бібліотеки." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.dlsym`` with arguments " +"``library``, ``name``." +msgstr "" + +msgid "" +"Accessing a function on a loaded library raises an auditing event ``ctypes." +"dlsym`` with arguments ``library`` (the library object) and ``name`` (the " +"symbol's name as a string or integer)." +msgstr "" +"Доступ до функції у завантаженій бібліотеці викликає подію аудиту ``ctypes." +"dlsym`` з аргументами ``library`` (об’єкт бібліотеки) і ``name`` (ім’я " +"символу у вигляді рядка або цілого числа)." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.dlsym/handle`` with " +"arguments ``handle``, ``name``." +msgstr "" + +msgid "" +"In cases when only the library handle is available rather than the object, " +"accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " +"arguments ``handle`` (the raw library handle) and ``name``." +msgstr "" +"У випадках, коли доступний лише дескриптор бібліотеки, а не об’єкт, доступ " +"до функції викликає подію аудиту ``ctypes.dlsym/handle`` з аргументами " +"``handle`` (необроблений дескриптор бібліотеки) і ``name``." + +msgid "Foreign functions" +msgstr "Іноземні функції" + +msgid "" +"As explained in the previous section, foreign functions can be accessed as " +"attributes of loaded shared libraries. The function objects created in this " +"way by default accept any number of arguments, accept any ctypes data " +"instances as arguments, and return the default result type specified by the " +"library loader. They are instances of a private class:" +msgstr "" +"Як пояснювалося в попередньому розділі, сторонні функції можна отримати як " +"атрибути завантажених спільних бібліотек. Функціональні об’єкти, створені " +"таким чином, за замовчуванням приймають будь-яку кількість аргументів, " +"приймають будь-які екземпляри даних ctypes як аргументи та повертають тип " +"результату за замовчуванням, указаний завантажувачем бібліотеки. Вони є " +"екземплярами приватного класу:" + +msgid "Base class for C callable foreign functions." +msgstr "Базовий клас для зовнішніх функцій C, що викликаються." + +msgid "" +"Instances of foreign functions are also C compatible data types; they " +"represent C function pointers." +msgstr "" +"Примірники сторонніх функцій також є C-сумісними типами даних; вони " +"представляють покажчики функцій C." + +msgid "" +"This behavior can be customized by assigning to special attributes of the " +"foreign function object." +msgstr "" +"Цю поведінку можна налаштувати шляхом призначення спеціальних атрибутів " +"стороннього функціонального об’єкта." + +msgid "" +"Assign a ctypes type to specify the result type of the foreign function. Use " +"``None`` for :c:expr:`void`, a function not returning anything." +msgstr "" + +msgid "" +"It is possible to assign a callable Python object that is not a ctypes type, " +"in this case the function is assumed to return a C :c:expr:`int`, and the " +"callable will be called with this integer, allowing further processing or " +"error checking. Using this is deprecated, for more flexible post processing " +"or error checking use a ctypes data type as :attr:`restype` and assign a " +"callable to the :attr:`errcheck` attribute." +msgstr "" + +msgid "" +"Assign a tuple of ctypes types to specify the argument types that the " +"function accepts. Functions using the ``stdcall`` calling convention can " +"only be called with the same number of arguments as the length of this " +"tuple; functions using the C calling convention accept additional, " +"unspecified arguments as well." +msgstr "" +"Призначте кортеж типів ctypes, щоб указати типи аргументів, які приймає " +"функція. Функції, які використовують угоду про виклики ``stdcall``, можуть " +"бути викликані лише з тією ж кількістю аргументів, що й довжина цього " +"кортежу; функції, що використовують угоду про виклики C, також приймають " +"додаткові, невизначені аргументи." + +msgid "" +"When a foreign function is called, each actual argument is passed to the :" +"meth:`from_param` class method of the items in the :attr:`argtypes` tuple, " +"this method allows adapting the actual argument to an object that the " +"foreign function accepts. For example, a :class:`c_char_p` item in the :" +"attr:`argtypes` tuple will convert a string passed as argument into a bytes " +"object using ctypes conversion rules." +msgstr "" +"Коли викликається стороння функція, кожен фактичний аргумент передається в " +"метод класу :meth:`from_param` елементів у кортежі :attr:`argtypes`, цей " +"метод дозволяє адаптувати фактичний аргумент до об’єкта, який приймає " +"зовнішня функція . Наприклад, елемент :class:`c_char_p` у кортежі :attr:" +"`argtypes` перетворить рядок, переданий як аргумент, на об’єкт bytes за " +"допомогою правил перетворення ctypes." + +msgid "" +"New: It is now possible to put items in argtypes which are not ctypes types, " +"but each item must have a :meth:`from_param` method which returns a value " +"usable as argument (integer, string, ctypes instance). This allows defining " +"adapters that can adapt custom objects as function parameters." +msgstr "" +"Нове: тепер можна розміщувати елементи в argtypes, які не є типами ctypes, " +"але кожен елемент повинен мати метод :meth:`from_param`, який повертає " +"значення, яке можна використовувати як аргумент (ціле число, рядок, " +"екземпляр ctypes). Це дозволяє визначати адаптери, які можуть адаптувати " +"власні об’єкти як параметри функції." + +msgid "" +"Assign a Python function or another callable to this attribute. The callable " +"will be called with three or more arguments:" +msgstr "" +"Призначте цьому атрибуту функцію Python або інший виклик. Викликається з " +"трьома або більше аргументами:" + +msgid "" +"*result* is what the foreign function returns, as specified by the :attr:" +"`restype` attribute." +msgstr "" +"*result* – це те, що повертає стороння функція, як зазначено в атрибуті :" +"attr:`restype`." + +msgid "" +"*func* is the foreign function object itself, this allows reusing the same " +"callable object to check or post process the results of several functions." +msgstr "" +"*func* — це сам зовнішній об’єкт функції, це дозволяє повторно " +"використовувати той самий об’єкт, що викликається, для перевірки або " +"постобробки результатів кількох функцій." + +msgid "" +"*arguments* is a tuple containing the parameters originally passed to the " +"function call, this allows specializing the behavior on the arguments used." +msgstr "" +"*Аргументи* — це кортеж, що містить параметри, спочатку передані до виклику " +"функції, що дозволяє спеціалізувати поведінку на використовуваних аргументах." + +msgid "" +"The object that this function returns will be returned from the foreign " +"function call, but it can also check the result value and raise an exception " +"if the foreign function call failed." +msgstr "" +"Об’єкт, який повертає ця функція, буде повернено з виклику зовнішньої " +"функції, але він також може перевірити значення результату та викликати " +"виняток, якщо виклик зовнішньої функції не вдався." + +msgid "" +"This exception is raised when a foreign function call cannot convert one of " +"the passed arguments." +msgstr "" +"Цей виняток виникає, коли зовнішній виклик функції не може перетворити один " +"із переданих аргументів." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.seh_exception`` with " +"argument ``code``." +msgstr "" + +msgid "" +"On Windows, when a foreign function call raises a system exception (for " +"example, due to an access violation), it will be captured and replaced with " +"a suitable Python exception. Further, an auditing event ``ctypes." +"seh_exception`` with argument ``code`` will be raised, allowing an audit " +"hook to replace the exception with its own." +msgstr "" +"У Windows, коли зовнішній виклик функції викликає системний виняток " +"(наприклад, через порушення доступу), він буде перехоплений і замінений " +"відповідним винятком Python. Крім того, буде викликана подія аудиту ``ctypes." +"seh_exception`` з аргументом ``code``, що дозволить перевіряючому хуку " +"замінити виняток власним." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.call_function`` with " +"arguments ``func_pointer``, ``arguments``." +msgstr "" + +msgid "" +"Some ways to invoke foreign function calls may raise an auditing event " +"``ctypes.call_function`` with arguments ``function pointer`` and " +"``arguments``." +msgstr "" +"Деякі способи виклику зовнішніх викликів функцій можуть викликати подію " +"аудиту ``ctypes.call_function`` з аргументами ``вказівник функції`` і " +"``аргументи``." + +msgid "Function prototypes" +msgstr "Прототипи функцій" + +msgid "" +"Foreign functions can also be created by instantiating function prototypes. " +"Function prototypes are similar to function prototypes in C; they describe a " +"function (return type, argument types, calling convention) without defining " +"an implementation. The factory functions must be called with the desired " +"result type and the argument types of the function, and can be used as " +"decorator factories, and as such, be applied to functions through the " +"``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." +msgstr "" +"Сторонні функції також можуть бути створені шляхом інстанціювання прототипів " +"функцій. Прототипи функцій подібні до прототипів функцій у C; вони описують " +"функцію (тип повернення, типи аргументів, угоду про виклики) без визначення " +"реалізації. Фабричні функції мають викликатися з потрібним типом результату " +"та типами аргументів функції, і їх можна використовувати як фабрики " +"декораторів, і як такі застосовувати до функцій за допомогою синтаксису " +"``@wrapper``. Перегляньте :ref:`ctypes-callback-functions` для прикладів." + +msgid "" +"The returned function prototype creates functions that use the standard C " +"calling convention. The function will release the GIL during the call. If " +"*use_errno* is set to true, the ctypes private copy of the system :data:" +"`errno` variable is exchanged with the real :data:`errno` value before and " +"after the call; *use_last_error* does the same for the Windows error code." +msgstr "" +"Повернений прототип функції створює функції, які використовують стандартну " +"угоду про виклик C. Функція звільнить GIL під час виклику. Якщо *use_errno* " +"має значення true, приватна копія ctypes системної змінної :data:`errno` " +"обмінюється справжнім значенням :data:`errno` до і після виклику; " +"*use_last_error* робить те саме для коду помилки Windows." + +msgid "" +"Windows only: The returned function prototype creates functions that use the " +"``stdcall`` calling convention. The function will release the GIL during " +"the call. *use_errno* and *use_last_error* have the same meaning as above." +msgstr "" +"Лише для Windows: повернутий прототип функції створює функції, які " +"використовують угоду про виклики ``stdcall``. Функція звільнить GIL під час " +"виклику. *use_errno* і *use_last_error* мають те саме значення, що й вище." + +msgid "" +"The returned function prototype creates functions that use the Python " +"calling convention. The function will *not* release the GIL during the call." +msgstr "" +"Повернений прототип функції створює функції, які використовують угоду про " +"виклики Python. Функція *не* звільняє GIL під час виклику." + +msgid "" +"Function prototypes created by these factory functions can be instantiated " +"in different ways, depending on the type and number of the parameters in the " +"call:" +msgstr "" +"Прототипи функцій, створені цими фабричними функціями, можуть бути створені " +"різними способами, залежно від типу та кількості параметрів у виклику:" + +msgid "" +"Returns a foreign function at the specified address which must be an integer." +msgstr "" +"Повертає зовнішню функцію за вказаною адресою, яка має бути цілим числом." + +msgid "" +"Create a C callable function (a callback function) from a Python *callable*." +msgstr "" +"Створіть функцію виклику C (функцію зворотного виклику) з Python *callable*." + +msgid "" +"Returns a foreign function exported by a shared library. *func_spec* must be " +"a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " +"exported function as string, or the ordinal of the exported function as " +"small integer. The second item is the shared library instance." +msgstr "" +"Повертає зовнішню функцію, експортовану спільною бібліотекою. *func_spec* " +"має бути 2-кортежем ``(name_or_ordinal, library)``. Перший елемент — це ім’я " +"експортованої функції у вигляді рядка або порядковий номер експортованої " +"функції у вигляді малого цілого числа. Другий елемент — екземпляр спільної " +"бібліотеки." + +msgid "" +"Returns a foreign function that will call a COM method. *vtbl_index* is the " +"index into the virtual function table, a small non-negative integer. *name* " +"is name of the COM method. *iid* is an optional pointer to the interface " +"identifier which is used in extended error reporting." +msgstr "" +"Повертає зовнішню функцію, яка викликає метод COM. *vtbl_index* — це індекс " +"у таблиці віртуальних функцій, мале невід’ємне ціле число. *ім’я* — це ім’я " +"методу COM. *iid* — це додатковий покажчик на ідентифікатор інтерфейсу, який " +"використовується в розширеному звіті про помилки." + +msgid "" +"COM methods use a special calling convention: They require a pointer to the " +"COM interface as first argument, in addition to those parameters that are " +"specified in the :attr:`argtypes` tuple." +msgstr "" +"Методи COM використовують спеціальну угоду про виклики: їм потрібен покажчик " +"на інтерфейс COM як перший аргумент, на додаток до тих параметрів, які " +"вказані в кортежі :attr:`argtypes`." + +msgid "" +"The optional *paramflags* parameter creates foreign function wrappers with " +"much more functionality than the features described above." +msgstr "" +"Необов’язковий параметр *paramflags* створює зовнішні обгортки функцій із " +"набагато більшою функціональністю, ніж функції, описані вище." + +msgid "*paramflags* must be a tuple of the same length as :attr:`argtypes`." +msgstr "*paramflags* має бути кортежем такої ж довжини, що й :attr:`argtypes`." + +msgid "" +"Each item in this tuple contains further information about a parameter, it " +"must be a tuple containing one, two, or three items." +msgstr "" +"Кожен елемент у цьому кортежі містить додаткову інформацію про параметр, це " +"має бути кортеж, що містить один, два або три елементи." + +msgid "" +"The first item is an integer containing a combination of direction flags for " +"the parameter:" +msgstr "" +"Перший елемент є цілим числом, що містить комбінацію прапорів напрямку для " +"параметра:" + +msgid "1" +msgstr "1" + +msgid "Specifies an input parameter to the function." +msgstr "Визначає вхідний параметр для функції." + +msgid "2" +msgstr "2" + +msgid "Output parameter. The foreign function fills in a value." +msgstr "Вихідний параметр. Стороння функція заповнює значення." + +msgid "4" +msgstr "4" + +msgid "Input parameter which defaults to the integer zero." +msgstr "Вхідний параметр, який за умовчанням дорівнює нулю." + +msgid "" +"The optional second item is the parameter name as string. If this is " +"specified, the foreign function can be called with named parameters." +msgstr "" +"Другим необов’язковим елементом є назва параметра у вигляді рядка. Якщо це " +"вказано, зовнішня функція може бути викликана з іменованими параметрами." + +msgid "The optional third item is the default value for this parameter." +msgstr "" +"Додатковий третій елемент є значенням за замовчуванням для цього параметра." + +msgid "" +"This example demonstrates how to wrap the Windows ``MessageBoxW`` function " +"so that it supports default parameters and named arguments. The C " +"declaration from the windows header file is this::" +msgstr "" +"У цьому прикладі показано, як обернути функцію Windows ``MessageBoxW``, щоб " +"вона підтримувала параметри за замовчуванням та іменовані аргументи. " +"Оголошення C із файлу заголовка Windows таке::" + +msgid "Here is the wrapping with :mod:`ctypes`::" +msgstr "Ось обгортка за допомогою :mod:`ctypes`::" + +msgid "The ``MessageBox`` foreign function can now be called in these ways::" +msgstr "" +"Сторонню функцію ``MessageBox`` тепер можна викликати такими способами:" + +msgid "" +"A second example demonstrates output parameters. The win32 " +"``GetWindowRect`` function retrieves the dimensions of a specified window by " +"copying them into ``RECT`` structure that the caller has to supply. Here is " +"the C declaration::" +msgstr "" +"Другий приклад демонструє вихідні параметри. Функція ``GetWindowRect`` win32 " +"отримує розміри вказаного вікна шляхом копіювання їх у структуру ``RECT``, " +"яку має надати абонент. Ось оголошення C::" + +msgid "" +"Functions with output parameters will automatically return the output " +"parameter value if there is a single one, or a tuple containing the output " +"parameter values when there are more than one, so the GetWindowRect function " +"now returns a RECT instance, when called." +msgstr "" +"Функції з вихідними параметрами автоматично повертатимуть значення вихідного " +"параметра, якщо є одне, або кортеж, що містить значення вихідних параметрів, " +"якщо їх декілька, тому функція GetWindowRect тепер повертає екземпляр RECT " +"під час виклику." + +msgid "" +"Output parameters can be combined with the :attr:`errcheck` protocol to do " +"further output processing and error checking. The win32 ``GetWindowRect`` " +"api function returns a ``BOOL`` to signal success or failure, so this " +"function could do the error checking, and raises an exception when the api " +"call failed::" +msgstr "" +"Параметри виводу можна поєднати з протоколом :attr:`errcheck` для подальшої " +"обробки виводу та перевірки помилок. API-функція ``GetWindowRect`` win32 " +"повертає ``BOOL``, щоб сигналізувати про успіх або невдачу, тому ця функція " +"може виконувати перевірку помилок і створює виняток, коли виклик API не " +"вдається:" + +msgid "" +"If the :attr:`errcheck` function returns the argument tuple it receives " +"unchanged, :mod:`ctypes` continues the normal processing it does on the " +"output parameters. If you want to return a tuple of window coordinates " +"instead of a ``RECT`` instance, you can retrieve the fields in the function " +"and return them instead, the normal processing will no longer take place::" +msgstr "" +"Якщо функція :attr:`errcheck` повертає отриманий кортеж аргументів без " +"змін, :mod:`ctypes` продовжує звичайну обробку вихідних параметрів. Якщо ви " +"хочете повернути кортеж координат вікна замість екземпляра ``RECT``, ви " +"можете отримати поля у функції та повернути їх натомість, звичайна обробка " +"більше не відбуватиметься::" + +msgid "Utility functions" +msgstr "Функції корисності" + +msgid "" +"Returns the address of the memory buffer as integer. *obj* must be an " +"instance of a ctypes type." +msgstr "" +"Повертає адресу буфера пам'яті як ціле число. *obj* має бути екземпляром " +"типу ctypes." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.addressof`` with " +"argument ``obj``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.addressof`` з аргументом " +"``obj``." + +msgid "" +"Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " +"ctypes type or instance." +msgstr "" +"Повертає вимоги до вирівнювання типу ctypes. *obj_or_type* має бути типом " +"або екземпляром ctypes." + +msgid "" +"Returns a light-weight pointer to *obj*, which must be an instance of a " +"ctypes type. *offset* defaults to zero, and must be an integer that will be " +"added to the internal pointer value." +msgstr "" +"Повертає легкий вказівник на *obj*, який має бути екземпляром типу ctypes. " +"*offset* за замовчуванням дорівнює нулю і має бути цілим числом, яке буде " +"додано до значення внутрішнього покажчика." + +msgid "``byref(obj, offset)`` corresponds to this C code::" +msgstr "``byref(obj, offset)`` відповідає цьому коду C::" + +msgid "" +"The returned object can only be used as a foreign function call parameter. " +"It behaves similar to ``pointer(obj)``, but the construction is a lot faster." +msgstr "" +"Повернений об’єкт можна використовувати лише як параметр виклику зовнішньої " +"функції. Він поводиться подібно до ``pointer(obj)``, але будівництво " +"відбувається набагато швидше." + +msgid "" +"This function is similar to the cast operator in C. It returns a new " +"instance of *type* which points to the same memory block as *obj*. *type* " +"must be a pointer type, and *obj* must be an object that can be interpreted " +"as a pointer." +msgstr "" +"Ця функція схожа на оператор приведення в C. Вона повертає новий екземпляр " +"*type*, який вказує на той самий блок пам’яті, що й *obj*. *type* має бути " +"типом покажчика, а *obj* має бути об’єктом, який можна інтерпретувати як " +"покажчик." + +msgid "" +"This function creates a mutable character buffer. The returned object is a " +"ctypes array of :class:`c_char`." +msgstr "" +"Ця функція створює змінний символьний буфер. Повернений об’єкт є масивом " +"ctypes :class:`c_char`." + +msgid "" +"*init_or_size* must be an integer which specifies the size of the array, or " +"a bytes object which will be used to initialize the array items." +msgstr "" +"*init_or_size* має бути цілим числом, яке визначає розмір масиву, або " +"об’єктом bytes, який використовуватиметься для ініціалізації елементів " +"масиву." + +msgid "" +"If a bytes object is specified as first argument, the buffer is made one " +"item larger than its length so that the last element in the array is a NUL " +"termination character. An integer can be passed as second argument which " +"allows specifying the size of the array if the length of the bytes should " +"not be used." +msgstr "" +"Якщо в якості першого аргументу вказано об’єкт bytes, буфер стає на один " +"елемент більшим, ніж його довжина, так що останній елемент у масиві є " +"завершальним символом NUL. Ціле число може бути передане як другий аргумент, " +"що дозволяє вказати розмір масиву, якщо довжина байтів не повинна " +"використовуватися." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " +"with arguments ``init``, ``size``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.create_string_buffer`` з " +"аргументами ``init``, ``size``." + +msgid "" +"This function creates a mutable unicode character buffer. The returned " +"object is a ctypes array of :class:`c_wchar`." +msgstr "" +"Ця функція створює змінний буфер символів Unicode. Повернений об’єкт є " +"масивом ctypes :class:`c_wchar`." + +msgid "" +"*init_or_size* must be an integer which specifies the size of the array, or " +"a string which will be used to initialize the array items." +msgstr "" +"*init_or_size* має бути цілим числом, що вказує розмір масиву, або рядком, " +"який використовуватиметься для ініціалізації елементів масиву." + +msgid "" +"If a string is specified as first argument, the buffer is made one item " +"larger than the length of the string so that the last element in the array " +"is a NUL termination character. An integer can be passed as second argument " +"which allows specifying the size of the array if the length of the string " +"should not be used." +msgstr "" +"Якщо рядок вказано як перший аргумент, буфер робиться на один елемент " +"більшим, ніж довжина рядка, так що останній елемент у масиві є завершальним " +"символом NUL. Ціле число може бути передане як другий аргумент, що дозволяє " +"вказати розмір масиву, якщо довжина рядка не повинна використовуватися." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " +"with arguments ``init``, ``size``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.create_unicode_buffer`` з " +"аргументами ``init``, ``size``." + +msgid "" +"Windows only: This function is a hook which allows implementing in-process " +"COM servers with ctypes. It is called from the DllCanUnloadNow function " +"that the _ctypes extension dll exports." +msgstr "" +"Лише для Windows: ця функція є хуком, який дозволяє реалізувати COM-сервери " +"в процесі за допомогою ctypes. Він викликається з функції DllCanUnloadNow, " +"яку експортує dll розширення _ctypes." + +msgid "" +"Windows only: This function is a hook which allows implementing in-process " +"COM servers with ctypes. It is called from the DllGetClassObject function " +"that the ``_ctypes`` extension dll exports." +msgstr "" +"Лише для Windows: ця функція є хуком, який дозволяє реалізувати COM-сервери " +"в процесі за допомогою ctypes. Він викликається з функції DllGetClassObject, " +"яку експортує dll розширення ``_ctypes``." + +msgid "" +"Try to find a library and return a pathname. *name* is the library name " +"without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " +"number (this is the form used for the posix linker option :option:`!-l`). " +"If no library can be found, returns ``None``." +msgstr "" +"Спробуйте знайти бібліотеку та повернути шлях. *ім’я* — це ім’я бібліотеки " +"без будь-яких префіксів, як-от ``lib``, суфіксів, як-от ``.so``, ``.dylib`` " +"або номера версії (це форма, яка використовується для параметра " +"компонувальника posix :option:`!-l`). Якщо бібліотеки не знайдено, повертає " +"``None``." + +msgid "" +"Windows only: return the filename of the VC runtime library used by Python, " +"and by the extension modules. If the name of the library cannot be " +"determined, ``None`` is returned." +msgstr "" +"Лише для Windows: повертає назву файлу бібліотеки середовища виконання VC, " +"яка використовується Python, і модулями розширення. Якщо назва бібліотеки не " +"може бути визначена, повертається ``None``." + +msgid "" +"If you need to free memory, for example, allocated by an extension module " +"with a call to the ``free(void *)``, it is important that you use the " +"function in the same library that allocated the memory." +msgstr "" +"Якщо вам потрібно звільнити пам’ять, наприклад, виділену модулем розширення " +"за допомогою виклику ``free(void *)``, важливо, щоб ви використовували " +"функцію в тій самій бібліотеці, яка виділила пам’ять." + +msgid "" +"Windows only: Returns a textual description of the error code *code*. If no " +"error code is specified, the last error code is used by calling the Windows " +"api function GetLastError." +msgstr "" +"Лише для Windows: повертає текстовий опис коду помилки *code*. Якщо код " +"помилки не вказано, останній код помилки використовується під час виклику " +"функції Windows API GetLastError." + +msgid "" +"Windows only: Returns the last error code set by Windows in the calling " +"thread. This function calls the Windows ``GetLastError()`` function " +"directly, it does not return the ctypes-private copy of the error code." +msgstr "" + +msgid "" +"Returns the current value of the ctypes-private copy of the system :data:" +"`errno` variable in the calling thread." +msgstr "" +"Повертає поточне значення ctypes-private копії системної змінної :data:" +"`errno` у потоці виклику." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.get_errno`` без аргументів." + +msgid "" +"Windows only: returns the current value of the ctypes-private copy of the " +"system :data:`LastError` variable in the calling thread." +msgstr "" +"Лише для Windows: повертає поточне значення ctypes-private копії системної " +"змінної :data:`LastError` у потоці виклику." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.get_last_error`` без " +"аргументів." + +msgid "" +"Same as the standard C memmove library function: copies *count* bytes from " +"*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " +"can be converted to pointers." +msgstr "" +"Те саме, що стандартна функція бібліотеки C memmove: копіює *count* байти з " +"*src* до *dst*. *dst* і *src* мають бути цілими числами або екземплярами " +"ctypes, які можна перетворити на покажчики." + +msgid "" +"Same as the standard C memset library function: fills the memory block at " +"address *dst* with *count* bytes of value *c*. *dst* must be an integer " +"specifying an address, or a ctypes instance." +msgstr "" +"Те саме, що стандартна функція бібліотеки memset C: заповнює блок пам’яті за " +"адресою *dst* *count* байтами зі значенням *c*. *dst* має бути цілим числом, " +"що визначає адресу, або екземпляр ctypes." + +msgid "" +"This factory function creates and returns a new ctypes pointer type. Pointer " +"types are cached and reused internally, so calling this function repeatedly " +"is cheap. *type* must be a ctypes type." +msgstr "" +"Ця фабрична функція створює та повертає новий тип покажчика ctypes. Типи " +"вказівників кешуються та повторно використовуються внутрішньо, тому " +"повторний виклик цієї функції є дешевим. *type* має бути типом ctypes." + +msgid "" +"This function creates a new pointer instance, pointing to *obj*. The " +"returned object is of the type ``POINTER(type(obj))``." +msgstr "" +"Ця функція створює новий екземпляр покажчика, що вказує на *obj*. Повернений " +"об’єкт має тип ``POINTER(type(obj))``." + +msgid "" +"Note: If you just want to pass a pointer to an object to a foreign function " +"call, you should use ``byref(obj)`` which is much faster." +msgstr "" +"Примітка. Якщо ви просто хочете передати вказівник на об’єкт у зовнішній " +"виклик функції, вам слід використовувати ``byref(obj)``, що набагато швидше." + +msgid "" +"This function resizes the internal memory buffer of *obj*, which must be an " +"instance of a ctypes type. It is not possible to make the buffer smaller " +"than the native size of the objects type, as given by ``sizeof(type(obj))``, " +"but it is possible to enlarge the buffer." +msgstr "" +"Ця функція змінює розмір буфера внутрішньої пам’яті *obj*, який має бути " +"екземпляром типу ctypes. Неможливо зробити буфер меншим, ніж власний розмір " +"типу об’єктів, як задано ``sizeof(type(obj))``, але можна збільшити буфер." + +msgid "" +"Set the current value of the ctypes-private copy of the system :data:`errno` " +"variable in the calling thread to *value* and return the previous value." +msgstr "" +"Установіть поточне значення ctypes-private копії системної змінної :data:" +"`errno` у викликаючому потоці на *value* і поверніть попереднє значення." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " +"argument ``errno``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.set_errno`` з аргументом " +"``errno``." + +msgid "" +"Windows only: set the current value of the ctypes-private copy of the " +"system :data:`LastError` variable in the calling thread to *value* and " +"return the previous value." +msgstr "" +"Лише для Windows: установіть поточне значення ctypes-private копії системної " +"змінної :data:`LastError` у викликаючому потоці на *value* і поверніть " +"попереднє значення." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " +"argument ``error``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.set_last_error`` з " +"аргументом ``помилка``." + +msgid "" +"Returns the size in bytes of a ctypes type or instance memory buffer. Does " +"the same as the C ``sizeof`` operator." +msgstr "" +"Повертає розмір у байтах типу ctypes або буфера пам’яті примірника. Діє так " +"само, як і оператор C ``sizeof``." + +msgid "" +"This function returns the C string starting at memory address *address* as a " +"bytes object. If size is specified, it is used as size, otherwise the string " +"is assumed to be zero-terminated." +msgstr "" +"Ця функція повертає рядок C, починаючи з адреси пам’яті *address*, як об’єкт " +"bytes. Якщо вказано розмір, він використовується як розмір, інакше рядок " +"вважається закінченим нулем." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.string_at`` with " +"arguments ``address``, ``size``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.string_at`` з аргументами " +"``address``, ``size``." + +msgid "" +"Windows only: this function is probably the worst-named thing in ctypes. It " +"creates an instance of OSError. If *code* is not specified, " +"``GetLastError`` is called to determine the error code. If *descr* is not " +"specified, :func:`FormatError` is called to get a textual description of the " +"error." +msgstr "" +"Лише для Windows: ця функція є, мабуть, найгіршою назвою в ctypes. Він " +"створює екземпляр OSError. Якщо *код* не вказано, для визначення коду " +"помилки викликається GetLastError. Якщо *descr* не вказано, :func:" +"`FormatError` викликається для отримання текстового опису помилки." + +msgid "An instance of :exc:`WindowsError` used to be created." +msgstr "Раніше створювався екземпляр :exc:`WindowsError`." + +msgid "" +"This function returns the wide character string starting at memory address " +"*address* as a string. If *size* is specified, it is used as the number of " +"characters of the string, otherwise the string is assumed to be zero-" +"terminated." +msgstr "" +"Ця функція повертає широкий рядок символів, починаючи з адреси пам’яті " +"*address*, як рядок. Якщо вказано *size*, він використовується як кількість " +"символів у рядку, інакше рядок вважається закінченим нулем." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " +"arguments ``address``, ``size``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.wstring_at`` з аргументами " +"``адреса``, ``розмір``." + +msgid "Data types" +msgstr "Типи даних" + +msgid "" +"This non-public class is the common base class of all ctypes data types. " +"Among other things, all ctypes type instances contain a memory block that " +"hold C compatible data; the address of the memory block is returned by the :" +"func:`addressof` helper function. Another instance variable is exposed as :" +"attr:`_objects`; this contains other Python objects that need to be kept " +"alive in case the memory block contains pointers." +msgstr "" +"Цей непублічний клас є загальним базовим класом для всіх типів даних ctypes. " +"Серед іншого, усі екземпляри типу ctypes містять блок пам’яті, який містить " +"C-сумісні дані; адреса блоку пам'яті повертається допоміжною функцією :func:" +"`addressof`. Інша змінна екземпляра представлена як :attr:`_objects`; це " +"містить інші об’єкти Python, які потрібно підтримувати в активному стані, " +"якщо блок пам’яті містить покажчики." + +msgid "" +"Common methods of ctypes data types, these are all class methods (to be " +"exact, they are methods of the :term:`metaclass`):" +msgstr "" +"Загальні методи типів даних ctypes, це всі методи класу (точніше, це методи :" +"term:`metaclass`):" + +msgid "" +"This method returns a ctypes instance that shares the buffer of the *source* " +"object. The *source* object must support the writeable buffer interface. " +"The optional *offset* parameter specifies an offset into the source buffer " +"in bytes; the default is zero. If the source buffer is not large enough a :" +"exc:`ValueError` is raised." +msgstr "" +"Цей метод повертає екземпляр ctypes, який спільно використовує буфер об’єкта " +"*source*. Об'єкт *джерело* має підтримувати інтерфейс буфера з можливістю " +"запису. Необов'язковий параметр *offset* визначає зсув у вихідному буфері в " +"байтах; за замовчуванням дорівнює нулю. Якщо вихідний буфер недостатньо " +"великий, виникає :exc:`ValueError`." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " +"arguments ``pointer``, ``size``, ``offset``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.cdata/buffer`` з " +"аргументами ``pointer``, ``size``, ``offset``." + +msgid "" +"This method creates a ctypes instance, copying the buffer from the *source* " +"object buffer which must be readable. The optional *offset* parameter " +"specifies an offset into the source buffer in bytes; the default is zero. " +"If the source buffer is not large enough a :exc:`ValueError` is raised." +msgstr "" +"Цей метод створює екземпляр ctypes, копіюючи буфер із буфера *джерельного* " +"об’єкта, який має бути читабельним. Необов'язковий параметр *offset* " +"визначає зсув у вихідному буфері в байтах; за замовчуванням дорівнює нулю. " +"Якщо вихідний буфер недостатньо великий, виникає :exc:`ValueError`." + +msgid "" +"This method returns a ctypes type instance using the memory specified by " +"*address* which must be an integer." +msgstr "" +"Цей метод повертає екземпляр типу ctypes, використовуючи пам’ять, визначену " +"*адресою*, яка має бути цілим числом." + +msgid "" +"Raises an :ref:`auditing event ` ``ctypes.cdata`` with argument " +"``address``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ctypes.cdata`` з аргументом " +"``адреса``." + +msgid "" +"This method, and others that indirectly call this method, raises an :ref:" +"`auditing event ` ``ctypes.cdata`` with argument ``address``." +msgstr "" +"Цей метод та інші, які опосередковано викликають цей метод, викликають :ref:" +"`подію аудиту ` ``ctypes.cdata`` з аргументом ``адреса``." + +msgid "" +"This method adapts *obj* to a ctypes type. It is called with the actual " +"object used in a foreign function call when the type is present in the " +"foreign function's :attr:`argtypes` tuple; it must return an object that can " +"be used as a function call parameter." +msgstr "" +"Цей метод адаптує *obj* до типу ctypes. Він викликається з фактичним " +"об’єктом, який використовується у виклику зовнішньої функції, коли тип " +"присутній у кортежі :attr:`argtypes` зовнішньої функції; він повинен " +"повертати об'єкт, який можна використовувати як параметр виклику функції." + +msgid "" +"All ctypes data types have a default implementation of this classmethod that " +"normally returns *obj* if that is an instance of the type. Some types " +"accept other objects as well." +msgstr "" +"Усі типи даних ctypes мають стандартну реалізацію цього методу класу, який " +"зазвичай повертає *obj*, якщо це екземпляр типу. Деякі типи також приймають " +"інші об’єкти." + +msgid "" +"This method returns a ctypes type instance exported by a shared library. " +"*name* is the name of the symbol that exports the data, *library* is the " +"loaded shared library." +msgstr "" +"Цей метод повертає екземпляр типу ctypes, експортований спільною " +"бібліотекою. *name* — це ім’я символу, який експортує дані, *library* — це " +"завантажена спільна бібліотека." + +msgid "Common instance variables of ctypes data types:" +msgstr "Загальні змінні екземплярів типів даних ctypes:" + +msgid "" +"Sometimes ctypes data instances do not own the memory block they contain, " +"instead they share part of the memory block of a base object. The :attr:" +"`_b_base_` read-only member is the root ctypes object that owns the memory " +"block." +msgstr "" +"Іноді екземпляри даних ctypes не володіють блоком пам’яті, який вони " +"містять, натомість вони спільно використовують частину блоку пам’яті " +"базового об’єкта. Член :attr:`_b_base_` лише для читання є кореневим " +"об’єктом ctypes, якому належить блок пам’яті." + +msgid "" +"This read-only variable is true when the ctypes data instance has allocated " +"the memory block itself, false otherwise." +msgstr "" +"Ця змінна лише для читання є істиною, коли екземпляр даних ctypes сам " +"виділив блок пам’яті, інакше – false." + +msgid "" +"This member is either ``None`` or a dictionary containing Python objects " +"that need to be kept alive so that the memory block contents is kept valid. " +"This object is only exposed for debugging; never modify the contents of this " +"dictionary." +msgstr "" +"Цей член або ``None``, або словник, що містить об’єкти Python, які потрібно " +"підтримувати в активному стані, щоб вміст блоку пам’яті залишався дійсним. " +"Цей об’єкт доступний лише для налагодження; ніколи не змінюйте вміст цього " +"словника." + +msgid "" +"This non-public class is the base class of all fundamental ctypes data " +"types. It is mentioned here because it contains the common attributes of the " +"fundamental ctypes data types. :class:`_SimpleCData` is a subclass of :" +"class:`_CData`, so it inherits their methods and attributes. ctypes data " +"types that are not and do not contain pointers can now be pickled." +msgstr "" +"Цей закритий клас є базовим класом усіх основних типів даних ctypes. Він " +"згадується тут, оскільки він містить загальні атрибути основних типів даних " +"ctypes. :class:`_SimpleCData` є підкласом :class:`_CData`, тому він " +"успадковує їхні методи та атрибути. Типи даних ctypes, які не є та не " +"містять покажчиків, тепер можна маринувати." + +msgid "Instances have a single attribute:" +msgstr "Екземпляри мають один атрибут:" + +msgid "" +"This attribute contains the actual value of the instance. For integer and " +"pointer types, it is an integer, for character types, it is a single " +"character bytes object or string, for character pointer types it is a Python " +"bytes object or string." +msgstr "" +"Цей атрибут містить фактичне значення екземпляра. Для цілочисельних типів і " +"типів покажчиків це ціле число, для типів символів – об’єкт або рядок із " +"одним символом у байтах, для типів покажчиків на символи – це об’єкт або " +"рядок Python bytes." + +msgid "" +"When the ``value`` attribute is retrieved from a ctypes instance, usually a " +"new object is returned each time. :mod:`ctypes` does *not* implement " +"original object return, always a new object is constructed. The same is " +"true for all other ctypes object instances." +msgstr "" +"Коли атрибут ``value`` отримується з екземпляра ctypes, зазвичай щоразу " +"повертається новий об’єкт. :mod:`ctypes` *не* реалізує повернення " +"оригінального об’єкта, завжди створюється новий об’єкт. Те саме стосується " +"всіх інших екземплярів об’єктів ctypes." + +msgid "" +"Fundamental data types, when returned as foreign function call results, or, " +"for example, by retrieving structure field members or array items, are " +"transparently converted to native Python types. In other words, if a " +"foreign function has a :attr:`restype` of :class:`c_char_p`, you will always " +"receive a Python bytes object, *not* a :class:`c_char_p` instance." +msgstr "" +"Фундаментальні типи даних, коли повертаються як результати виклику " +"зовнішньої функції або, наприклад, шляхом отримання членів полів структури " +"чи елементів масиву, прозоро перетворюються на рідні типи Python. Іншими " +"словами, якщо стороння функція має :attr:`restype` :class:`c_char_p`, ви " +"завжди отримуватимете об’єкт Python bytes, *а не* екземпляр :class:" +"`c_char_p`." + +msgid "" +"Subclasses of fundamental data types do *not* inherit this behavior. So, if " +"a foreign functions :attr:`restype` is a subclass of :class:`c_void_p`, you " +"will receive an instance of this subclass from the function call. Of course, " +"you can get the value of the pointer by accessing the ``value`` attribute." +msgstr "" +"Підкласи фундаментальних типів даних *не* успадковують цю поведінку. Отже, " +"якщо зовнішня функція :attr:`restype` є підкласом :class:`c_void_p`, ви " +"отримаєте екземпляр цього підкласу під час виклику функції. Звичайно, ви " +"можете отримати значення вказівника, звернувшись до атрибута ``value``." + +msgid "These are the fundamental ctypes data types:" +msgstr "Ось основні типи даних ctypes:" + +msgid "" +"Represents the C :c:expr:`signed char` datatype, and interprets the value as " +"small integer. The constructor accepts an optional integer initializer; no " +"overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`char` datatype, and interprets the value as a " +"single character. The constructor accepts an optional string initializer, " +"the length of the string must be exactly one character." +msgstr "" + +msgid "" +"Represents the C :c:expr:`char *` datatype when it points to a zero-" +"terminated string. For a general character pointer that may also point to " +"binary data, ``POINTER(c_char)`` must be used. The constructor accepts an " +"integer address, or a bytes object." +msgstr "" + +msgid "" +"Represents the C :c:expr:`double` datatype. The constructor accepts an " +"optional float initializer." +msgstr "" + +msgid "" +"Represents the C :c:expr:`long double` datatype. The constructor accepts an " +"optional float initializer. On platforms where ``sizeof(long double) == " +"sizeof(double)`` it is an alias to :class:`c_double`." +msgstr "" + +msgid "" +"Represents the C :c:expr:`float` datatype. The constructor accepts an " +"optional float initializer." +msgstr "" + +msgid "" +"Represents the C :c:expr:`signed int` datatype. The constructor accepts an " +"optional integer initializer; no overflow checking is done. On platforms " +"where ``sizeof(int) == sizeof(long)`` it is an alias to :class:`c_long`." +msgstr "" + +msgid "" +"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :" +"class:`c_byte`." +msgstr "" + +msgid "" +"Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias " +"for :class:`c_short`." +msgstr "" + +msgid "" +"Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias " +"for :class:`c_int`." +msgstr "" + +msgid "" +"Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias " +"for :class:`c_longlong`." +msgstr "" + +msgid "" +"Represents the C :c:expr:`signed long` datatype. The constructor accepts an " +"optional integer initializer; no overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`signed long long` datatype. The constructor " +"accepts an optional integer initializer; no overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`signed short` datatype. The constructor accepts " +"an optional integer initializer; no overflow checking is done." +msgstr "" + +msgid "Represents the C :c:type:`size_t` datatype." +msgstr "Представляє тип даних C :c:type:`size_t`." + +msgid "Represents the C :c:type:`ssize_t` datatype." +msgstr "Представляє тип даних C :c:type:`ssize_t`." + +msgid "" +"Represents the C :c:expr:`unsigned char` datatype, it interprets the value " +"as small integer. The constructor accepts an optional integer initializer; " +"no overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`unsigned int` datatype. The constructor accepts " +"an optional integer initializer; no overflow checking is done. On platforms " +"where ``sizeof(int) == sizeof(long)`` it is an alias for :class:`c_ulong`." +msgstr "" + +msgid "" +"Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " +"for :class:`c_ubyte`." +msgstr "" + +msgid "" +"Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias " +"for :class:`c_ushort`." +msgstr "" + +msgid "" +"Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias " +"for :class:`c_uint`." +msgstr "" + +msgid "" +"Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias " +"for :class:`c_ulonglong`." +msgstr "" + +msgid "" +"Represents the C :c:expr:`unsigned long` datatype. The constructor accepts " +"an optional integer initializer; no overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`unsigned long long` datatype. The constructor " +"accepts an optional integer initializer; no overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`unsigned short` datatype. The constructor accepts " +"an optional integer initializer; no overflow checking is done." +msgstr "" + +msgid "" +"Represents the C :c:expr:`void *` type. The value is represented as " +"integer. The constructor accepts an optional integer initializer." +msgstr "" + +msgid "" +"Represents the C :c:expr:`wchar_t` datatype, and interprets the value as a " +"single character unicode string. The constructor accepts an optional string " +"initializer, the length of the string must be exactly one character." +msgstr "" + +msgid "" +"Represents the C :c:expr:`wchar_t *` datatype, which must be a pointer to a " +"zero-terminated wide character string. The constructor accepts an integer " +"address, or a string." +msgstr "" + +msgid "" +"Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` " +"from C99). Its value can be ``True`` or ``False``, and the constructor " +"accepts any object that has a truth value." +msgstr "" + +msgid "" +"Windows only: Represents a :c:type:`HRESULT` value, which contains success " +"or error information for a function or method call." +msgstr "" +"Лише для Windows: представляє значення :c:type:`HRESULT`, яке містить " +"інформацію про успіх або помилку для виклику функції чи методу." + +msgid "" +"Represents the C :c:expr:`PyObject *` datatype. Calling this without an " +"argument creates a ``NULL`` :c:expr:`PyObject *` pointer." +msgstr "" + +msgid "" +"The :mod:`ctypes.wintypes` module provides quite some other Windows specific " +"data types, for example :c:type:`HWND`, :c:type:`WPARAM`, or :c:type:" +"`DWORD`. Some useful structures like :c:type:`MSG` or :c:type:`RECT` are " +"also defined." +msgstr "" +"Модуль :mod:`ctypes.wintypes` надає деякі інші специфічні типи даних " +"Windows, наприклад :c:type:`HWND`, :c:type:`WPARAM` або :c:type:`DWORD`. " +"Деякі корисні структури, такі як :c:type:`MSG` або :c:type:`RECT`, також " +"визначені." + +msgid "Structured data types" +msgstr "Структуровані типи даних" + +msgid "Abstract base class for unions in native byte order." +msgstr "Абстрактний базовий клас для об’єднань у рідному порядку байтів." + +msgid "Abstract base class for unions in *big endian* byte order." +msgstr "" + +msgid "Abstract base class for unions in *little endian* byte order." +msgstr "" + +msgid "Abstract base class for structures in *big endian* byte order." +msgstr "Абстрактний базовий клас для структур у *великому порядку байтів*." + +msgid "Abstract base class for structures in *little endian* byte order." +msgstr "" +"Абстрактний базовий клас для структур у порядку байтів *little endian*." + +msgid "" +"Structures and unions with non-native byte order cannot contain pointer type " +"fields, or any other data types containing pointer type fields." +msgstr "" + +msgid "Abstract base class for structures in *native* byte order." +msgstr "Абстрактний базовий клас для структур у *власному* порядку байтів." + +msgid "" +"Concrete structure and union types must be created by subclassing one of " +"these types, and at least define a :attr:`_fields_` class variable. :mod:" +"`ctypes` will create :term:`descriptor`\\s which allow reading and writing " +"the fields by direct attribute accesses. These are the" +msgstr "" +"Конкретні типи структури та об’єднання мають бути створені шляхом створення " +"підкласу одного з цих типів і принаймні визначення змінної класу :attr:" +"`_fields_`. :mod:`ctypes` створить :term:`descriptor`\\s, які дозволяють " +"читати та записувати поля за допомогою прямого доступу до атрибутів. Це" + +msgid "" +"A sequence defining the structure fields. The items must be 2-tuples or 3-" +"tuples. The first item is the name of the field, the second item specifies " +"the type of the field; it can be any ctypes data type." +msgstr "" +"Послідовність, що визначає поля структури. Елементи мають бути 2-кортежними " +"або 3-кортежними. Перший пункт – ім’я поля, другий – тип поля; це може бути " +"будь-який тип даних ctypes." + +msgid "" +"For integer type fields like :class:`c_int`, a third optional item can be " +"given. It must be a small positive integer defining the bit width of the " +"field." +msgstr "" +"Для полів цілого типу, таких як :class:`c_int`, можна вказати третій " +"необов’язковий елемент. Це має бути маленьке позитивне ціле число, що " +"визначає розрядність поля." + +msgid "" +"Field names must be unique within one structure or union. This is not " +"checked, only one field can be accessed when names are repeated." +msgstr "" +"Імена полів мають бути унікальними в межах однієї структури чи об’єднання. " +"Це не позначено, лише одне поле доступне, якщо імена повторюються." + +msgid "" +"It is possible to define the :attr:`_fields_` class variable *after* the " +"class statement that defines the Structure subclass, this allows creating " +"data types that directly or indirectly reference themselves::" +msgstr "" +"Можна визначити змінну класу :attr:`_fields_` *після* оператора класу, який " +"визначає підклас Structure, це дозволяє створювати типи даних, які прямо чи " +"опосередковано посилаються на себе::" + +msgid "" +"The :attr:`_fields_` class variable must, however, be defined before the " +"type is first used (an instance is created, :func:`sizeof` is called on it, " +"and so on). Later assignments to the :attr:`_fields_` class variable will " +"raise an AttributeError." +msgstr "" +"Однак змінну класу :attr:`_fields_` потрібно визначити перед першим " +"використанням типу (створюється екземпляр, для нього викликається :func:" +"`sizeof` і так далі). Пізніше призначення змінній класу :attr:`_fields_` " +"призведе до помилки AttributeError." + +msgid "" +"It is possible to define sub-subclasses of structure types, they inherit the " +"fields of the base class plus the :attr:`_fields_` defined in the sub-" +"subclass, if any." +msgstr "" +"Можна визначити під-підкласи структурних типів, вони успадковують поля " +"базового класу плюс :attr:`_fields_`, визначені в під-підкласі, якщо такі є." + +msgid "" +"An optional small integer that allows overriding the alignment of structure " +"fields in the instance. :attr:`_pack_` must already be defined when :attr:" +"`_fields_` is assigned, otherwise it will have no effect." +msgstr "" +"Необов’язкове мале ціле число, яке дозволяє змінити вирівнювання полів " +"структури в екземплярі. :attr:`_pack_` має бути вже визначено, коли :attr:" +"`_fields_` призначено, інакше це не матиме ефекту." + +msgid "" +"An optional sequence that lists the names of unnamed (anonymous) fields. :" +"attr:`_anonymous_` must be already defined when :attr:`_fields_` is " +"assigned, otherwise it will have no effect." +msgstr "" +"Необов’язкова послідовність, яка містить імена безіменних (анонімних) " +"полів. :attr:`_anonymous_` має бути вже визначено під час призначення :attr:" +"`_fields_`, інакше це не матиме ефекту." + +msgid "" +"The fields listed in this variable must be structure or union type fields. :" +"mod:`ctypes` will create descriptors in the structure type that allows " +"accessing the nested fields directly, without the need to create the " +"structure or union field." +msgstr "" +"Поля, перелічені в цій змінній, мають бути структурними або об’єднаними. :" +"mod:`ctypes` створить дескриптори у структурному типі, що дозволяє отримати " +"доступ до вкладених полів безпосередньо, без необхідності створювати " +"структуру чи поле об’єднання." + +msgid "Here is an example type (Windows)::" +msgstr "Ось приклад типу (Windows):" + +msgid "" +"The ``TYPEDESC`` structure describes a COM data type, the ``vt`` field " +"specifies which one of the union fields is valid. Since the ``u`` field is " +"defined as anonymous field, it is now possible to access the members " +"directly off the TYPEDESC instance. ``td.lptdesc`` and ``td.u.lptdesc`` are " +"equivalent, but the former is faster since it does not need to create a " +"temporary union instance::" +msgstr "" +"Структура ``TYPEDESC`` описує тип даних COM, поле ``vt`` визначає, яке з " +"полів об’єднання є дійсним. Оскільки поле ``u`` визначено як анонімне поле, " +"тепер можна отримати доступ до членів безпосередньо з примірника TYPEDESC. " +"``td.lptdesc`` і ``td.u.lptdesc`` еквівалентні, але перший швидший, оскільки " +"йому не потрібно створювати тимчасовий екземпляр об’єднання::" + +msgid "" +"It is possible to define sub-subclasses of structures, they inherit the " +"fields of the base class. If the subclass definition has a separate :attr:" +"`_fields_` variable, the fields specified in this are appended to the fields " +"of the base class." +msgstr "" +"Є можливість визначення суб-підкласів структур, вони успадковують поля " +"базового класу. Якщо визначення підкласу має окрему змінну :attr:`_fields_`, " +"поля, зазначені в ній, додаються до полів базового класу." + +msgid "" +"Structure and union constructors accept both positional and keyword " +"arguments. Positional arguments are used to initialize member fields in the " +"same order as they are appear in :attr:`_fields_`. Keyword arguments in the " +"constructor are interpreted as attribute assignments, so they will " +"initialize :attr:`_fields_` with the same name, or create new attributes for " +"names not present in :attr:`_fields_`." +msgstr "" +"Конструктори структури та об’єднання приймають як позиційні, так і ключові " +"аргументи. Позиційні аргументи використовуються для ініціалізації полів-" +"членів у такому самому порядку, як вони з’являються в :attr:`_fields_`. " +"Аргументи ключових слів у конструкторі інтерпретуються як призначення " +"атрибутів, тому вони ініціалізують :attr:`_fields_` з тим же іменем або " +"створять нові атрибути для імен, яких немає в :attr:`_fields_`." + +msgid "Arrays and pointers" +msgstr "Масиви та покажчики" + +msgid "Abstract base class for arrays." +msgstr "Абстрактний базовий клас для масивів." + +msgid "" +"The recommended way to create concrete array types is by multiplying any :" +"mod:`ctypes` data type with a non-negative integer. Alternatively, you can " +"subclass this type and define :attr:`_length_` and :attr:`_type_` class " +"variables. Array elements can be read and written using standard subscript " +"and slice accesses; for slice reads, the resulting object is *not* itself " +"an :class:`Array`." +msgstr "" +"Рекомендований спосіб створення конкретних типів масивів — це множення будь-" +"якого типу даних :mod:`ctypes` на невід’ємне ціле число. Крім того, ви " +"можете створити підклас цього типу та визначити змінні класу :attr:" +"`_length_` і :attr:`_type_`. Елементи масиву можна читати та записувати за " +"допомогою стандартного підрядкового і зрізного доступу; для зчитування " +"фрагментів результуючий об’єкт *не* сам є :class:`Array`." + +msgid "" +"A positive integer specifying the number of elements in the array. Out-of-" +"range subscripts result in an :exc:`IndexError`. Will be returned by :func:" +"`len`." +msgstr "" +"Додатне ціле число, що визначає кількість елементів у масиві. Індекси поза " +"діапазоном призводять до :exc:`IndexError`. Буде повернено :func:`len`." + +msgid "Specifies the type of each element in the array." +msgstr "Визначає тип кожного елемента в масиві." + +msgid "" +"Array subclass constructors accept positional arguments, used to initialize " +"the elements in order." +msgstr "" +"Конструктори підкласу масиву приймають позиційні аргументи, які " +"використовуються для ініціалізації елементів у порядку." + +msgid "Private, abstract base class for pointers." +msgstr "Приватний, абстрактний базовий клас для вказівників." + +msgid "" +"Concrete pointer types are created by calling :func:`POINTER` with the type " +"that will be pointed to; this is done automatically by :func:`pointer`." +msgstr "" +"Конкретні типи вказівників створюються шляхом виклику :func:`POINTER` із " +"типом, на який буде вказувати; це робиться автоматично за допомогою :func:" +"`pointer`." + +msgid "" +"If a pointer points to an array, its elements can be read and written using " +"standard subscript and slice accesses. Pointer objects have no size, so :" +"func:`len` will raise :exc:`TypeError`. Negative subscripts will read from " +"the memory *before* the pointer (as in C), and out-of-range subscripts will " +"probably crash with an access violation (if you're lucky)." +msgstr "" +"Якщо вказівник вказує на масив, його елементи можна читати та записувати за " +"допомогою стандартного підрядкового і зрізного доступу. Об’єкти-вказівники " +"не мають розміру, тому :func:`len` викличе :exc:`TypeError`. Негативні " +"індекси читатимуться з пам’яті *перед* вказівником (як у C), а індекси поза " +"межами діапазону, ймовірно, впадуть із порушенням доступу (якщо вам " +"пощастить)." + +msgid "Specifies the type pointed to." +msgstr "Визначає тип, на який вказується." + +msgid "" +"Returns the object to which to pointer points. Assigning to this attribute " +"changes the pointer to point to the assigned object." +msgstr "" +"Повертає об’єкт, на який вказує вказівник. Призначення цьому атрибуту змінює " +"вказівник на призначений об’єкт." diff --git a/library/curses.po b/library/curses.po new file mode 100644 index 000000000..af03cec84 --- /dev/null +++ b/library/curses.po @@ -0,0 +1,3146 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`curses` --- Terminal handling for character-cell displays" +msgstr "" +":mod:`curses` --- Термінальна обробка для відображення клітинок символів" + +msgid "" +"The :mod:`curses` module provides an interface to the curses library, the de-" +"facto standard for portable advanced terminal handling." +msgstr "" +"Модуль :mod:`curses` надає інтерфейс до бібліотеки curses, де-факто " +"стандарту для портативної розширеної обробки терміналів." + +msgid "" +"While curses is most widely used in the Unix environment, versions are " +"available for Windows, DOS, and possibly other systems as well. This " +"extension module is designed to match the API of ncurses, an open-source " +"curses library hosted on Linux and the BSD variants of Unix." +msgstr "" +"Хоча curses найбільш широко використовується в середовищі Unix, версії " +"доступні для Windows, DOS і, можливо, також для інших систем. Цей модуль " +"розширення розроблено відповідно до API ncurses, бібліотеки curses з " +"відкритим кодом, розміщеної в Linux, і BSD-варіантів Unix." + +msgid "" +"Whenever the documentation mentions a *character* it can be specified as an " +"integer, a one-character Unicode string or a one-byte byte string." +msgstr "" +"Кожного разу, коли в документації згадується *символ*, його можна вказати як " +"ціле число, односимвольний рядок Unicode або однобайтовий рядок байтів." + +msgid "" +"Whenever the documentation mentions a *character string* it can be specified " +"as a Unicode string or a byte string." +msgstr "" +"Кожного разу, коли в документації згадується *рядок символів*, його можна " +"вказати як рядок Unicode або рядок байтів." + +msgid "Module :mod:`curses.ascii`" +msgstr "Модуль :mod:`curses.ascii`" + +msgid "" +"Utilities for working with ASCII characters, regardless of your locale " +"settings." +msgstr "" +"Утиліти для роботи з символами ASCII, незалежно від ваших налаштувань мови." + +msgid "Module :mod:`curses.panel`" +msgstr "Модуль :mod:`curses.panel`" + +msgid "A panel stack extension that adds depth to curses windows." +msgstr "Розширення стеку панелей, яке додає глибини вікнам curses." + +msgid "Module :mod:`curses.textpad`" +msgstr "Модуль :mod:`curses.textpad`" + +msgid "" +"Editable text widget for curses supporting :program:`Emacs`\\ -like " +"bindings." +msgstr "" +"Редагований текстовий віджет для curses, що підтримує :program:`Emacs`\\ -" +"подібні прив’язки." + +msgid ":ref:`curses-howto`" +msgstr ":ref:`curses-howto`" + +msgid "" +"Tutorial material on using curses with Python, by Andrew Kuchling and Eric " +"Raymond." +msgstr "" +"Навчальний матеріал із використання curses у Python, Ендрю Кухлінг та Ерік " +"Реймонд." + +msgid "" +"The :source:`Tools/demo/` directory in the Python source distribution " +"contains some example programs using the curses bindings provided by this " +"module." +msgstr "" +"Каталог :source:`Tools/demo/` у вихідному дистрибутиві Python містить кілька " +"прикладів програм, які використовують прив’язки curses, надані цим модулем." + +msgid "Functions" +msgstr "Функції" + +msgid "The module :mod:`curses` defines the following exception:" +msgstr "Модуль :mod:`curses` визначає такий виняток:" + +msgid "Exception raised when a curses library function returns an error." +msgstr "Виняток виникає, коли функція бібліотеки curses повертає помилку." + +msgid "" +"Whenever *x* or *y* arguments to a function or a method are optional, they " +"default to the current cursor location. Whenever *attr* is optional, it " +"defaults to :const:`A_NORMAL`." +msgstr "" +"Щоразу, коли аргументи *x* або *y* для функції чи методу є необов’язковими, " +"вони за замовчуванням вказують на поточне розташування курсора. Якщо *attr* " +"є необов’язковим, за замовчуванням він :const:`A_NORMAL`." + +msgid "The module :mod:`curses` defines the following functions:" +msgstr "Модуль :mod:`curses` визначає такі функції:" + +msgid "" +"Return the output speed of the terminal in bits per second. On software " +"terminal emulators it will have a fixed high value. Included for historical " +"reasons; in former times, it was used to write output loops for time delays " +"and occasionally to change interfaces depending on the line speed." +msgstr "" +"Повертає вихідну швидкість терміналу в бітах за секунду. На програмних " +"емуляторах терміналів воно матиме фіксоване високе значення. Включено з " +"історичних причин; раніше він використовувався для запису циклів виведення " +"для затримок часу та іноді для зміни інтерфейсів залежно від швидкості лінії." + +msgid "Emit a short attention sound." +msgstr "Видайте короткий звук уваги." + +msgid "" +"Return ``True`` or ``False``, depending on whether the programmer can change " +"the colors displayed by the terminal." +msgstr "" +"Повертає ``True`` або ``False``, залежно від того, чи може програміст " +"змінювати кольори, що відображаються терміналом." + +msgid "" +"Enter cbreak mode. In cbreak mode (sometimes called \"rare\" mode) normal " +"tty line buffering is turned off and characters are available to be read one " +"by one. However, unlike raw mode, special characters (interrupt, quit, " +"suspend, and flow control) retain their effects on the tty driver and " +"calling program. Calling first :func:`raw` then :func:`cbreak` leaves the " +"terminal in cbreak mode." +msgstr "" +"Увійдіть у режим cbreak. У режимі cbreak (іноді його називають \"рідкісним\" " +"режимом) звичайна буферизація рядка tty вимкнена, і символи доступні для " +"читання по одному. Однак, на відміну від необробленого режиму, спеціальні " +"символи (переривання, вихід, призупинення та керування потоком) зберігають " +"свій вплив на драйвер tty та програму виклику. Виклик спочатку :func:`raw`, " +"а потім :func:`cbreak` залишає термінал у режимі cbreak." + +msgid "" +"Return the intensity of the red, green, and blue (RGB) components in the " +"color *color_number*, which must be between ``0`` and ``COLORS - 1``. " +"Return a 3-tuple, containing the R,G,B values for the given color, which " +"will be between ``0`` (no component) and ``1000`` (maximum amount of " +"component)." +msgstr "" +"Повертає інтенсивність червоного, зеленого та синього (RGB) компонентів у " +"кольорі *color_number*, який має бути між ``0`` і ``COLORS - 1``. Повертає 3-" +"кортеж, що містить значення R, G, B для заданого кольору, який буде між " +"\"0\" (без компонента) і \"1000\" (максимальна кількість компонента)." + +msgid "" +"Return the attribute value for displaying text in the specified color pair. " +"Only the first 256 color pairs are supported. This attribute value can be " +"combined with :const:`A_STANDOUT`, :const:`A_REVERSE`, and the other :const:" +"`A_\\*` attributes. :func:`pair_number` is the counterpart to this function." +msgstr "" +"Повертає значення атрибута для відображення тексту у вказаній парі кольорів. " +"Підтримуються лише перші 256 пар кольорів. Це значення атрибута можна " +"комбінувати з :const:`A_STANDOUT`, :const:`A_REVERSE` та іншими атрибутами :" +"const:`A_\\*`. :func:`pair_number` є аналогом цієї функції." + +msgid "" +"Set the cursor state. *visibility* can be set to ``0``, ``1``, or ``2``, " +"for invisible, normal, or very visible. If the terminal supports the " +"visibility requested, return the previous cursor state; otherwise raise an " +"exception. On many terminals, the \"visible\" mode is an underline cursor " +"and the \"very visible\" mode is a block cursor." +msgstr "" +"Встановити стан курсору. *видимість* може бути встановлена на ``0``, ``1`` " +"або ``2``, для невидимого, нормального або дуже видимого. Якщо термінал " +"підтримує запитану видимість, повернути попередній стан курсору; інакше " +"створіть виняток. На багатьох терміналах \"видимий\" режим — це підкреслений " +"курсор, а \"дуже видимий\" — блоковий курсор." + +msgid "" +"Save the current terminal mode as the \"program\" mode, the mode when the " +"running program is using curses. (Its counterpart is the \"shell\" mode, " +"for when the program is not in curses.) Subsequent calls to :func:" +"`reset_prog_mode` will restore this mode." +msgstr "" +"Збережіть поточний режим терміналу як режим \"програми\", режим, коли " +"запущена програма використовує curses. (Його відповідником є режим \"оболонки" +"\", коли програма не перебуває в curses.) Подальші виклики :func:" +"`reset_prog_mode` відновлять цей режим." + +msgid "" +"Save the current terminal mode as the \"shell\" mode, the mode when the " +"running program is not using curses. (Its counterpart is the \"program\" " +"mode, when the program is using curses capabilities.) Subsequent calls to :" +"func:`reset_shell_mode` will restore this mode." +msgstr "" +"Збережіть поточний режим терміналу як режим \"оболонки\", режим, коли " +"запущена програма не використовує curses. (Його відповідником є \"програмний" +"\" режим, коли програма використовує можливості curses.) Подальші виклики :" +"func:`reset_shell_mode` відновлять цей режим." + +msgid "Insert an *ms* millisecond pause in output." +msgstr "Вставте *ms* мілісекундну паузу у вивід." + +msgid "" +"Update the physical screen. The curses library keeps two data structures, " +"one representing the current physical screen contents and a virtual screen " +"representing the desired next state. The :func:`doupdate` ground updates " +"the physical screen to match the virtual screen." +msgstr "" +"Оновіть фізичний екран. Бібліотека curses зберігає дві структури даних: одна " +"представляє поточний фізичний вміст екрана, а віртуальний екран представляє " +"бажаний наступний стан. Основа :func:`doupdate` оновлює фізичний екран " +"відповідно до віртуального." + +msgid "" +"The virtual screen may be updated by a :meth:`~window.noutrefresh` call " +"after write operations such as :meth:`~window.addstr` have been performed on " +"a window. The normal :meth:`~window.refresh` call is simply :meth:`!" +"noutrefresh` followed by :func:`!doupdate`; if you have to update multiple " +"windows, you can speed performance and perhaps reduce screen flicker by " +"issuing :meth:`!noutrefresh` calls on all windows, followed by a single :" +"func:`!doupdate`." +msgstr "" +"Віртуальний екран може бути оновлений за допомогою виклику :meth:`~window." +"noutrefresh` після виконання операцій запису, таких як :meth:`~window." +"addstr` у вікні. Звичайний виклик :meth:`~window.refresh` — це просто :meth:" +"`!noutrefresh`, за яким слідує :func:`!doupdate`; якщо вам потрібно оновити " +"кілька вікон, ви можете прискорити продуктивність і, можливо, зменшити " +"мерехтіння екрана, виконуючи виклики :meth:`!noutrefresh` для всіх вікон, а " +"потім один :func:`!doupdate`." + +msgid "" +"Enter echo mode. In echo mode, each character input is echoed to the screen " +"as it is entered." +msgstr "" +"Увійдіть в режим відлуння. У режимі відлуння кожен введений символ " +"відтворюється на екрані під час введення." + +msgid "De-initialize the library, and return terminal to normal status." +msgstr "Деініціалізуйте бібліотеку та поверніть термінал до нормального стану." + +msgid "" +"Return the user's current erase character as a one-byte bytes object. Under " +"Unix operating systems this is a property of the controlling tty of the " +"curses program, and is not set by the curses library itself." +msgstr "" +"Повертає поточний символ стирання користувача як однобайтовий об’єкт байтів. " +"В операційних системах Unix це властивість керуючого tty програми curses і " +"не встановлюється самою бібліотекою curses." + +msgid "" +"The :func:`.filter` routine, if used, must be called before :func:`initscr` " +"is called. The effect is that, during those calls, :envvar:`LINES` is set " +"to ``1``; the capabilities ``clear``, ``cup``, ``cud``, ``cud1``, ``cuu1``, " +"``cuu``, ``vpa`` are disabled; and the ``home`` string is set to the value " +"of ``cr``. The effect is that the cursor is confined to the current line, " +"and so are screen updates. This may be used for enabling character-at-a-" +"time line editing without touching the rest of the screen." +msgstr "" +"Процедуру :func:`.filter`, якщо вона використовується, потрібно викликати " +"перед викликом :func:`initscr`. Результат полягає в тому, що під час цих " +"викликів :envvar:`LINES` встановлюється на ``1``; вимкнено можливості clear, " +"cup, cud1, cuu1, cuu, vpa; і рядок ``home`` має значення ``cr``. Ефект " +"полягає в тому, що курсор обмежено поточним рядком, а також оновлення " +"екрана. Це можна використовувати для ввімкнення посимвольного редагування " +"рядків, не торкаючись решти екрана." + +msgid "" +"Flash the screen. That is, change it to reverse-video and then change it " +"back in a short interval. Some people prefer such as 'visible bell' to the " +"audible attention signal produced by :func:`beep`." +msgstr "" +"Спалах екрану. Тобто змініть його на зворотне відео, а потім знову змініть " +"його через короткий проміжок часу. Деякі люди віддають перевагу \"видимому " +"дзвону\" перед звуковим сигналом уваги, створюваним :func:`beep`." + +msgid "" +"Flush all input buffers. This throws away any typeahead that has been " +"typed by the user and has not yet been processed by the program." +msgstr "" +"Очистити всі вхідні буфери. Це відкидає будь-яке попереднє введення, яке " +"було введено користувачем і ще не було оброблено програмою." + +msgid "" +"After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse " +"event, this method should be called to retrieve the queued mouse event, " +"represented as a 5-tuple ``(id, x, y, z, bstate)``. *id* is an ID value used " +"to distinguish multiple devices, and *x*, *y*, *z* are the event's " +"coordinates. (*z* is currently unused.) *bstate* is an integer value whose " +"bits will be set to indicate the type of event, and will be the bitwise OR " +"of one or more of the following constants, where *n* is the button number " +"from 1 to 5: :const:`BUTTONn_PRESSED`, :const:`BUTTONn_RELEASED`, :const:" +"`BUTTONn_CLICKED`, :const:`BUTTONn_DOUBLE_CLICKED`, :const:" +"`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :" +"const:`BUTTON_ALT`." +msgstr "" +"Після того, як :meth:`~window.getch` повертає :const:`KEY_MOUSE`, щоб " +"повідомити про подію миші, цей метод слід викликати, щоб отримати подію миші " +"в черзі, представлену як 5-кортеж ``(id, x, y, z, bstate)``. *id* – це " +"значення ID, яке використовується для розрізнення кількох пристроїв, а *x*, " +"*y*, *z* – це координати події. (*z* наразі не використовується.) *bstate* — " +"це ціле число, біти якого будуть встановлені для вказівки типу події та " +"будуть порозрядним АБО однієї чи кількох наступних констант, де *n* — кнопка " +"число від 1 до 5: :const:`BUTTONn_PRESSED`, :const:`BUTTONn_RELEASED`, :" +"const:`BUTTONn_CLICKED`, :const:`BUTTONn_DOUBLE_LICKED`, :const:" +"`BUTTONn_TRIPLE_LICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :const:" +"`BUTTON_ALT`." + +msgid "" +"The ``BUTTON5_*`` constants are now exposed if they are provided by the " +"underlying curses library." +msgstr "" +"Константи ``BUTTON5_*`` тепер доступні, якщо вони надані основною " +"бібліотекою curses." + +msgid "" +"Return the current coordinates of the virtual screen cursor as a tuple ``(y, " +"x)``. If :meth:`leaveok ` is currently ``True``, then " +"return ``(-1, -1)``." +msgstr "" +"Повертає поточні координати віртуального екранного курсору як кортеж ``(y, " +"x)``. Якщо :meth:`leaveok ` наразі має значення ``True``, " +"тоді повертається ``(-1, -1)``." + +msgid "" +"Read window related data stored in the file by an earlier :func:`putwin` " +"call. The routine then creates and initializes a new window using that data, " +"returning the new window object." +msgstr "" +"Прочитати дані, пов’язані з вікном, які зберігаються у файлі, за допомогою " +"попереднього виклику :func:`putwin`. Потім підпрограма створює та " +"ініціалізує нове вікно, використовуючи ці дані, повертаючи новий об’єкт " +"вікна." + +msgid "" +"Return ``True`` if the terminal can display colors; otherwise, return " +"``False``." +msgstr "" +"Повертає ``True``, якщо термінал може відображати кольори; інакше поверніть " +"``False``." + +msgid "" +"Return ``True`` if the module supports extended colors; otherwise, return " +"``False``. Extended color support allows more than 256 color pairs for " +"terminals that support more than 16 colors (e.g. xterm-256color)." +msgstr "" +"Повертає ``True``, якщо модуль підтримує розширені кольори; інакше поверніть " +"``False``. Розширена підтримка кольорів дозволяє використовувати більше 256 " +"пар кольорів для терміналів, які підтримують більше 16 кольорів (наприклад, " +"xterm-256color)." + +msgid "Extended color support requires ncurses version 6.1 or later." +msgstr "Розширена підтримка кольорів вимагає ncurses версії 6.1 або новішої." + +msgid "" +"Return ``True`` if the terminal has insert- and delete-character " +"capabilities. This function is included for historical reasons only, as all " +"modern software terminal emulators have such capabilities." +msgstr "" +"Повертає ``True``, якщо термінал має можливості вставляти та видаляти " +"символи. Ця функція включена лише з історичних причин, оскільки всі сучасні " +"програмні емулятори терміналу мають такі можливості." + +msgid "" +"Return ``True`` if the terminal has insert- and delete-line capabilities, or " +"can simulate them using scrolling regions. This function is included for " +"historical reasons only, as all modern software terminal emulators have such " +"capabilities." +msgstr "" +"Повертає ``True``, якщо термінал має можливості вставляти та видаляти рядки " +"або може імітувати їх за допомогою областей прокручування. Ця функція " +"включена лише з історичних причин, оскільки всі сучасні програмні емулятори " +"терміналу мають такі можливості." + +msgid "" +"Take a key value *ch*, and return ``True`` if the current terminal type " +"recognizes a key with that value." +msgstr "" +"Візьміть значення ключа *ch* і поверніть ``True``, якщо поточний тип " +"терміналу розпізнає ключ із таким значенням." + +msgid "" +"Used for half-delay mode, which is similar to cbreak mode in that characters " +"typed by the user are immediately available to the program. However, after " +"blocking for *tenths* tenths of seconds, raise an exception if nothing has " +"been typed. The value of *tenths* must be a number between ``1`` and " +"``255``. Use :func:`nocbreak` to leave half-delay mode." +msgstr "" +"Використовується для режиму половинної затримки, який подібний до режиму " +"cbreak тим, що символи, введені користувачем, одразу стають доступними для " +"програми. Однак після блокування протягом *десятих* десятих секунди, " +"викликайте виняток, якщо нічого не було введено. Значення *десятих* має бути " +"числом від \"1\" до \"255\". Використовуйте :func:`nocbreak`, щоб вийти з " +"режиму половинної затримки." + +msgid "" +"Change the definition of a color, taking the number of the color to be " +"changed followed by three RGB values (for the amounts of red, green, and " +"blue components). The value of *color_number* must be between ``0`` and " +"``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and " +"``1000``. When :func:`init_color` is used, all occurrences of that color on " +"the screen immediately change to the new definition. This function is a no-" +"op on most terminals; it is active only if :func:`can_change_color` returns " +"``True``." +msgstr "" + +msgid "" +"Change the definition of a color-pair. It takes three arguments: the number " +"of the color-pair to be changed, the foreground color number, and the " +"background color number. The value of *pair_number* must be between ``1`` " +"and ``COLOR_PAIRS - 1`` (the ``0`` color pair is wired to white on black and " +"cannot be changed). The value of *fg* and *bg* arguments must be between " +"``0`` and ``COLORS - 1``, or, after calling :func:`use_default_colors`, " +"``-1``. If the color-pair was previously initialized, the screen is " +"refreshed and all occurrences of that color-pair are changed to the new " +"definition." +msgstr "" +"Змініть визначення пари кольорів. Для цього потрібні три аргументи: номер " +"пари кольорів, яку потрібно змінити, номер кольору переднього плану та номер " +"кольору фону. Значення *pair_number* має бути між ``1`` і ``COLOR_PAIRS - " +"1`` (пара кольорів ``0`` пов’язана з білим на чорному і не може бути " +"змінена). Значення аргументів *fg* і *bg* має бути між ``0`` і ``COLORS - " +"1`` або, після виклику :func:`use_default_colors`, ``-1``. Якщо пара " +"кольорів була раніше ініціалізована, екран оновлюється, і всі випадки цієї " +"пари кольорів змінюються на нове визначення." + +msgid "" +"Initialize the library. Return a :ref:`window ` " +"object which represents the whole screen." +msgstr "" +"Ініціалізація бібліотеки. Повертає об’єкт :ref:`window `, який представляє весь екран." + +msgid "" +"If there is an error opening the terminal, the underlying curses library may " +"cause the interpreter to exit." +msgstr "" +"Якщо сталася помилка під час відкриття терміналу, базова бібліотека curses " +"може спричинити вихід інтерпретатора." + +msgid "" +"Return ``True`` if :func:`resize_term` would modify the window structure, " +"``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо :func:`resize_term` змінює структуру вікна, " +"``False`` інакше." + +msgid "" +"Return ``True`` if :func:`endwin` has been called (that is, the curses " +"library has been deinitialized)." +msgstr "" +"Повертає ``True``, якщо було викликано :func:`endwin` (тобто бібліотеку " +"curses було деініціалізовано)." + +msgid "" +"Return the name of the key numbered *k* as a bytes object. The name of a " +"key generating printable ASCII character is the key's character. The name " +"of a control-key combination is a two-byte bytes object consisting of a " +"caret (``b'^'``) followed by the corresponding printable ASCII character. " +"The name of an alt-key combination (128--255) is a bytes object consisting " +"of the prefix ``b'M-'`` followed by the name of the corresponding ASCII " +"character." +msgstr "" +"Повертає назву ключа з номером *k* як об’єкт bytes. Назва ключа, що генерує " +"друкований символ ASCII, є символом ключа. Ім’я комбінації клавіш керування " +"— це двобайтовий байтовий об’єкт, що складається з каретки (``b'^'``), після " +"якої йде відповідний друкований символ ASCII. Ім'я комбінації клавіш Alt " +"(128--255) є об'єктом байтів, що складається з префікса ``b'M-''``, за яким " +"слідує назва відповідного символу ASCII." + +msgid "" +"Return the user's current line kill character as a one-byte bytes object. " +"Under Unix operating systems this is a property of the controlling tty of " +"the curses program, and is not set by the curses library itself." +msgstr "" +"Повертає поточний символ анулювання рядка користувача як однобайтовий " +"байтовий об’єкт. В операційних системах Unix це властивість керуючого tty " +"програми curses і не встановлюється самою бібліотекою curses." + +msgid "" +"Return a bytes object containing the terminfo long name field describing the " +"current terminal. The maximum length of a verbose description is 128 " +"characters. It is defined only after the call to :func:`initscr`." +msgstr "" +"Повертає об’єкт bytes, що містить поле довгої назви terminfo, що описує " +"поточний термінал. Максимальна довжина докладного опису становить 128 " +"символів. Він визначається лише після виклику :func:`initscr`." + +msgid "" +"If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " +"``False``, allow only 7-bit chars." +msgstr "" +"Якщо *flag* має значення ``True``, дозволяється введення 8-бітових символів. " +"Якщо *flag* має значення ``False``, дозволяйте лише 7-бітні символи." + +msgid "" +"Set the maximum time in milliseconds that can elapse between press and " +"release events in order for them to be recognized as a click, and return the " +"previous interval value. The default value is 200 milliseconds, or one " +"fifth of a second." +msgstr "" + +msgid "" +"Set the mouse events to be reported, and return a tuple ``(availmask, " +"oldmask)``. *availmask* indicates which of the specified mouse events can " +"be reported; on complete failure it returns ``0``. *oldmask* is the " +"previous value of the given window's mouse event mask. If this function is " +"never called, no mouse events are ever reported." +msgstr "" +"Встановіть події миші, про які потрібно повідомляти, і поверніть кортеж " +"``(availmask, oldmask)``. *availmask* вказує, про яку з указаних подій миші " +"можна повідомити; у разі повної помилки повертає ``0``. *oldmask* — це " +"попереднє значення маски події миші даного вікна. Якщо ця функція ніколи не " +"викликається, жодні події миші не повідомляються." + +msgid "Sleep for *ms* milliseconds." +msgstr "Сплячий режим на *мс* мілісекунди." + +msgid "" +"Create and return a pointer to a new pad data structure with the given " +"number of lines and columns. Return a pad as a window object." +msgstr "" +"Створіть і поверніть вказівник на нову структуру даних із заданою кількістю " +"рядків і стовпців. Повертає блокнот як віконний об’єкт." + +msgid "" +"A pad is like a window, except that it is not restricted by the screen size, " +"and is not necessarily associated with a particular part of the screen. " +"Pads can be used when a large window is needed, and only a part of the " +"window will be on the screen at one time. Automatic refreshes of pads (such " +"as from scrolling or echoing of input) do not occur. The :meth:`~window." +"refresh` and :meth:`~window.noutrefresh` methods of a pad require 6 " +"arguments to specify the part of the pad to be displayed and the location on " +"the screen to be used for the display. The arguments are *pminrow*, " +"*pmincol*, *sminrow*, *smincol*, *smaxrow*, *smaxcol*; the *p* arguments " +"refer to the upper left corner of the pad region to be displayed and the *s* " +"arguments define a clipping box on the screen within which the pad region is " +"to be displayed." +msgstr "" +"Панель схожа на вікно, за винятком того, що вона не обмежена розміром екрана " +"та не обов’язково пов’язана з певною частиною екрана. Підкладки можна " +"використовувати, коли потрібне велике вікно, і на екрані одночасно буде лише " +"частина вікна. Автоматичне оновлення панелей (наприклад, прокручування або " +"відлуння введення) не відбувається. Методи панелі :meth:`~window.refresh` і :" +"meth:`~window.noutrefresh` вимагають 6 аргументів для визначення частини " +"панелі, яка буде відображатися, і місця на екрані, яке буде " +"використовуватися для відображення. Аргументи: *pminrow*, *pmincol*, " +"*sminrow*, *smincol*, *smaxrow*, *smaxcol*; Аргументи *p* стосуються " +"верхнього лівого кута області панелі, яка має відображатися, а аргументи *s* " +"визначають рамку відсікання на екрані, в межах якої має відображатися " +"область панелі." + +msgid "" +"Return a new :ref:`window `, whose left-upper corner " +"is at ``(begin_y, begin_x)``, and whose height/width is *nlines*/*ncols*." +msgstr "" +"Повертає нове :ref:`вікно `, лівий верхній кут якого " +"знаходиться в ``(begin_y, begin_x)``, а висота/ширина — *nlines*/*ncols*." + +msgid "" +"By default, the window will extend from the specified position to the lower " +"right corner of the screen." +msgstr "" +"За замовчуванням вікно розширюється від зазначеної позиції до правого " +"нижнього кута екрана." + +msgid "" +"Enter newline mode. This mode translates the return key into newline on " +"input, and translates newline into return and line-feed on output. Newline " +"mode is initially on." +msgstr "" +"Увійдіть у режим нового рядка. Цей режим перетворює клавішу повернення на " +"новий рядок під час введення та перетворює новий рядок на повернення та " +"переведення рядка під час виведення. Спочатку ввімкнено режим нового рядка." + +msgid "" +"Leave cbreak mode. Return to normal \"cooked\" mode with line buffering." +msgstr "" +"Вийти з режиму cbreak. Повернутися до звичайного режиму \"приготування\" з " +"буферизацією рядків." + +msgid "Leave echo mode. Echoing of input characters is turned off." +msgstr "Вийти з режиму відлуння. Ехо введених символів вимкнено." + +msgid "" +"Leave newline mode. Disable translation of return into newline on input, " +"and disable low-level translation of newline into newline/return on output " +"(but this does not change the behavior of ``addch('\\n')``, which always " +"does the equivalent of return and line feed on the virtual screen). With " +"translation off, curses can sometimes speed up vertical motion a little; " +"also, it will be able to detect the return key on input." +msgstr "" +"Вийти з режиму нового рядка. Вимкнути переклад повернення на новий рядок під " +"час введення та вимкнути низькорівневий переклад нового рядка на новий рядок/" +"повернення на виході (але це не змінює поведінку ``addch('\\n')``, який " +"завжди виконує еквівалент повернення та переклад рядка на віртуальному " +"екрані). Якщо переклад вимкнено, прокляття іноді можуть трохи пришвидшити " +"вертикальний рух; також він зможе виявити ключ повернення під час введення." + +msgid "" +"When the :func:`!noqiflush` routine is used, normal flush of input and " +"output queues associated with the ``INTR``, ``QUIT`` and ``SUSP`` characters " +"will not be done. You may want to call :func:`!noqiflush` in a signal " +"handler if you want output to continue as though the interrupt had not " +"occurred, after the handler exits." +msgstr "" +"Коли використовується процедура :func:`!noqiflush`, звичайне очищення черг " +"введення та виведення, пов’язаних із символами ``INTR``, ``QUIT`` і " +"``SUSP``, не виконуватиметься. Ви можете викликати :func:`!noqiflush` в " +"обробнику сигналу, якщо ви бажаєте, щоб виведення продовжувалося так, ніби " +"переривання не було, після завершення роботи обробника." + +msgid "Leave raw mode. Return to normal \"cooked\" mode with line buffering." +msgstr "" +"Вийти з режиму raw. Повернутися до звичайного режиму \"приготування\" з " +"буферизацією рядків." + +msgid "" +"Return a tuple ``(fg, bg)`` containing the colors for the requested color " +"pair. The value of *pair_number* must be between ``0`` and ``COLOR_PAIRS - " +"1``." +msgstr "" +"Повертає кортеж ``(fg, bg)``, що містить кольори для запитаної пари " +"кольорів. Значення *pair_number* має бути між ``0`` і ``COLOR_PAIRS - 1``." + +msgid "" +"Return the number of the color-pair set by the attribute value *attr*. :func:" +"`color_pair` is the counterpart to this function." +msgstr "" +"Повертає номер пари кольорів, заданий значенням атрибута *attr*. :func:" +"`color_pair` є аналогом цієї функції." + +msgid "" +"Equivalent to ``tputs(str, 1, putchar)``; emit the value of a specified " +"terminfo capability for the current terminal. Note that the output of :func:" +"`putp` always goes to standard output." +msgstr "" +"Еквівалент ``tputs(str, 1, putchar)``; видавати значення вказаної можливості " +"terminfo для поточного терміналу. Зауважте, що вивід :func:`putp` завжди " +"переходить у стандартний вивід." + +msgid "" +"If *flag* is ``False``, the effect is the same as calling :func:`noqiflush`. " +"If *flag* is ``True``, or no argument is provided, the queues will be " +"flushed when these control characters are read." +msgstr "" +"Якщо *flag* має значення ``False``, ефект такий самий, як виклик :func:" +"`noqiflush`. Якщо *flag* має значення ``True`` або аргумент не надано, черги " +"будуть скинуті під час читання цих керуючих символів." + +msgid "" +"Enter raw mode. In raw mode, normal line buffering and processing of " +"interrupt, quit, suspend, and flow control keys are turned off; characters " +"are presented to curses input functions one by one." +msgstr "" +"Увійдіть у режим raw. У необробленому режимі звичайна буферизація лінії та " +"обробка клавіш переривання, виходу, призупинення та керування потоком " +"вимкнено; символи представлені функціям введення curses один за одним." + +msgid "" +"Restore the terminal to \"program\" mode, as previously saved by :func:" +"`def_prog_mode`." +msgstr "" +"Відновіть термінал у \"програмний\" режим, який раніше зберіг :func:" +"`def_prog_mode`." + +msgid "" +"Restore the terminal to \"shell\" mode, as previously saved by :func:" +"`def_shell_mode`." +msgstr "" +"Відновіть термінал у режим \"оболонки\", який раніше зберіг :func:" +"`def_shell_mode`." + +msgid "" +"Restore the state of the terminal modes to what it was at the last call to :" +"func:`savetty`." +msgstr "" +"Відновити стан режимів терміналу до того, яким він був під час останнього " +"виклику :func:`savetty`." + +msgid "" +"Backend function used by :func:`resizeterm`, performing most of the work; " +"when resizing the windows, :func:`resize_term` blank-fills the areas that " +"are extended. The calling application should fill in these areas with " +"appropriate data. The :func:`!resize_term` function attempts to resize all " +"windows. However, due to the calling convention of pads, it is not possible " +"to resize these without additional interaction with the application." +msgstr "" +"Функція серверної частини, яку використовує :func:`resizeterm`, виконує " +"більшу частину роботи; під час зміни розміру вікна :func:`resize_term` " +"заповнює порожніми області, які розширені. Додаток, що викликає, має " +"заповнити ці області відповідними даними. Функція :func:`!resize_term` " +"намагається змінити розмір усіх вікон. Однак через правила виклику планшетів " +"неможливо змінити їх розмір без додаткової взаємодії з програмою." + +msgid "" +"Resize the standard and current windows to the specified dimensions, and " +"adjusts other bookkeeping data used by the curses library that record the " +"window dimensions (in particular the SIGWINCH handler)." +msgstr "" +"Змінює розміри стандартних і поточних вікон до вказаних розмірів і " +"налаштовує інші облікові дані, які використовуються бібліотекою curses, яка " +"записує розміри вікон (зокрема, обробник SIGWINCH)." + +msgid "" +"Save the current state of the terminal modes in a buffer, usable by :func:" +"`resetty`." +msgstr "" +"Збережіть поточний стан режимів терміналу в буфері, який можна " +"використовувати :func:`resetty`." + +msgid "Retrieves the value set by :func:`set_escdelay`." +msgstr "Отримує значення, встановлене :func:`set_escdelay`." + +msgid "" +"Sets the number of milliseconds to wait after reading an escape character, " +"to distinguish between an individual escape character entered on the " +"keyboard from escape sequences sent by cursor and function keys." +msgstr "" +"Встановлює кількість мілісекунд очікування після читання керуючого символу, " +"щоб відрізнити окремий керуючий символ, введений на клавіатурі, від керуючих " +"послідовностей, надісланих курсором і функціональними клавішами." + +msgid "Retrieves the value set by :func:`set_tabsize`." +msgstr "Отримує значення, встановлене :func:`set_tabsize`." + +msgid "" +"Sets the number of columns used by the curses library when converting a tab " +"character to spaces as it adds the tab to a window." +msgstr "" +"Встановлює кількість стовпців, які використовуються бібліотекою curses під " +"час перетворення символу табуляції на пробіли, коли вона додає табуляцію до " +"вікна." + +msgid "" +"Set the virtual screen cursor to *y*, *x*. If *y* and *x* are both ``-1``, " +"then :meth:`leaveok ` is set ``True``." +msgstr "" +"Встановіть віртуальний екранний курсор на *y*, *x*. Якщо *y* і *x* мають " +"значення ``-1``, тоді :meth:`leaveok ` встановлюється " +"``True``." + +msgid "" +"Initialize the terminal. *term* is a string giving the terminal name, or " +"``None``; if omitted or ``None``, the value of the :envvar:`TERM` " +"environment variable will be used. *fd* is the file descriptor to which any " +"initialization sequences will be sent; if not supplied or ``-1``, the file " +"descriptor for ``sys.stdout`` will be used." +msgstr "" +"Ініціалізуйте термінал. *термін* - це рядок, що дає назву терміналу, або " +"``None``; якщо опущено або ``None``, буде використано значення змінної " +"середовища :envvar:`TERM`. *fd* — це дескриптор файлу, до якого будуть " +"надіслані будь-які послідовності ініціалізації; якщо не вказано або ``-1``, " +"буде використано файловий дескриптор для ``sys.stdout``." + +msgid "" +"Must be called if the programmer wants to use colors, and before any other " +"color manipulation routine is called. It is good practice to call this " +"routine right after :func:`initscr`." +msgstr "" +"Необхідно викликати, якщо програміст хоче використовувати кольори, і перед " +"викликом будь-якої іншої процедури маніпулювання кольором. Рекомендується " +"викликати цю процедуру одразу після :func:`initscr`." + +msgid "" +":func:`start_color` initializes eight basic colors (black, red, green, " +"yellow, blue, magenta, cyan, and white), and two global variables in the :" +"mod:`curses` module, :const:`COLORS` and :const:`COLOR_PAIRS`, containing " +"the maximum number of colors and color-pairs the terminal can support. It " +"also restores the colors on the terminal to the values they had when the " +"terminal was just turned on." +msgstr "" +":func:`start_color` ініціалізує вісім основних кольорів (чорний, червоний, " +"зелений, жовтий, синій, пурпуровий, блакитний і білий) і дві глобальні " +"змінні в модулі :mod:`curses`, :const:`COLORS` і :const:`COLOR_PAIRS`, що " +"містить максимальну кількість кольорів і пар кольорів, які може підтримувати " +"термінал. Він також відновлює кольори на терміналі до значень, які вони мали " +"під час увімкнення терміналу." + +msgid "" +"Return a logical OR of all video attributes supported by the terminal. This " +"information is useful when a curses program needs complete control over the " +"appearance of the screen." +msgstr "" +"Повертає логічне АБО всіх атрибутів відео, які підтримує термінал. Ця " +"інформація корисна, коли програма curses потребує повного контролю над " +"виглядом екрана." + +msgid "" +"Return the value of the environment variable :envvar:`TERM`, as a bytes " +"object, truncated to 14 characters." +msgstr "" +"Повертає значення змінної середовища :envvar:`TERM` як об’єкт bytes, " +"скорочений до 14 символів." + +msgid "" +"Return the value of the Boolean capability corresponding to the terminfo " +"capability name *capname* as an integer. Return the value ``-1`` if " +"*capname* is not a Boolean capability, or ``0`` if it is canceled or absent " +"from the terminal description." +msgstr "" +"Повертає значення логічної можливості, що відповідає назві можливості " +"terminfo *capname* як ціле число. Повертає значення ``-1``, якщо *capname* " +"не є логічною можливістю, або ``0``, якщо вона скасована або відсутня в " +"описі терміналу." + +msgid "" +"Return the value of the numeric capability corresponding to the terminfo " +"capability name *capname* as an integer. Return the value ``-2`` if " +"*capname* is not a numeric capability, or ``-1`` if it is canceled or absent " +"from the terminal description." +msgstr "" +"Повертає значення числової можливості, що відповідає назві можливості " +"terminfo *capname* як ціле число. Повертає значення ``-2``, якщо *capname* " +"не є числовою можливістю, або ``-1``, якщо вона скасована або відсутня в " +"описі терміналу." + +msgid "" +"Return the value of the string capability corresponding to the terminfo " +"capability name *capname* as a bytes object. Return ``None`` if *capname* " +"is not a terminfo \"string capability\", or is canceled or absent from the " +"terminal description." +msgstr "" +"Повертає значення можливості рядка, що відповідає назві можливості terminfo " +"*capname* як об’єкт bytes. Повертає ``None``, якщо *capname* не є " +"\"можливістю рядка terminfo\", або його скасовано чи немає в описі терміналу." + +msgid "" +"Instantiate the bytes object *str* with the supplied parameters, where *str* " +"should be a parameterized string obtained from the terminfo database. E.g. " +"``tparm(tigetstr(\"cup\"), 5, 3)`` could result in ``b'\\033[6;4H'``, the " +"exact result depending on terminal type." +msgstr "" +"Створіть екземпляр об’єкта bytes *str* із наданими параметрами, де *str* має " +"бути параметризованим рядком, отриманим із бази даних terminfo. наприклад " +"``tparm(tigetstr(\"cup\"), 5, 3)`` може привести до ``b'\\033[6;4H''``, " +"точний результат залежить від типу терміналу." + +msgid "" +"Specify that the file descriptor *fd* be used for typeahead checking. If " +"*fd* is ``-1``, then no typeahead checking is done." +msgstr "" +"Вкажіть, що дескриптор файлу *fd* використовується для перевірки наперед. " +"Якщо *fd* дорівнює ``-1``, то попередня перевірка не виконується." + +msgid "" +"The curses library does \"line-breakout optimization\" by looking for " +"typeahead periodically while updating the screen. If input is found, and it " +"is coming from a tty, the current update is postponed until refresh or " +"doupdate is called again, allowing faster response to commands typed in " +"advance. This function allows specifying a different file descriptor for " +"typeahead checking." +msgstr "" +"Бібліотека curses виконує \"оптимізацію розриву рядків\", періодично шукаючи " +"попереднє введення під час оновлення екрана. Якщо вхідні дані знайдено, і " +"вони надходять із tty, поточне оновлення відкладається до повторного виклику " +"refresh або doupdate, що дозволяє швидше відповідати на команди, введені " +"заздалегідь. Ця функція дозволяє вказати інший дескриптор файлу для " +"попередньої перевірки." + +msgid "" +"Return a bytes object which is a printable representation of the character " +"*ch*. Control characters are represented as a caret followed by the " +"character, for example as ``b'^C'``. Printing characters are left as they " +"are." +msgstr "" +"Повертає об’єкт bytes, який є представленням символу *ch* для друку. Керуючі " +"символи представлені у вигляді каретки, за якою йде символ, наприклад " +"``b'^C'``. Друковані символи залишаються без змін." + +msgid "Push *ch* so the next :meth:`~window.getch` will return it." +msgstr "Натисніть *ch*, щоб наступний :meth:`~window.getch` повернув його." + +msgid "Only one *ch* can be pushed before :meth:`!getch` is called." +msgstr "Лише один *ch* можна ввести перед викликом :meth:`!getch`." + +msgid "" +"Update :envvar:`LINES` and :envvar:`COLS`. Useful for detecting manual " +"screen resize." +msgstr "" +"Оновіть :envvar:`LINES` і :envvar:`COLS`. Корисно для виявлення зміни " +"розміру екрана вручну." + +msgid "Push *ch* so the next :meth:`~window.get_wch` will return it." +msgstr "Натисніть *ch*, щоб наступний :meth:`~window.get_wch` повернув його." + +msgid "Only one *ch* can be pushed before :meth:`!get_wch` is called." +msgstr "Лише один *ch* можна надіслати перед викликом :meth:`!get_wch`." + +msgid "" +"Push a :const:`KEY_MOUSE` event onto the input queue, associating the given " +"state data with it." +msgstr "" +"Надішліть подію :const:`KEY_MOUSE` до черги введення, пов’язавши з нею дані " +"стану." + +msgid "" +"If used, this function should be called before :func:`initscr` or newterm " +"are called. When *flag* is ``False``, the values of lines and columns " +"specified in the terminfo database will be used, even if environment " +"variables :envvar:`LINES` and :envvar:`COLUMNS` (used by default) are set, " +"or if curses is running in a window (in which case default behavior would be " +"to use the window size if :envvar:`LINES` and :envvar:`COLUMNS` are not set)." +msgstr "" +"Якщо використовується, цю функцію слід викликати перед викликом :func:" +"`initscr` або newterm. Якщо *flag* має значення ``False``, " +"використовуватимуться значення рядків і стовпців, указані в базі даних " +"terminfo, навіть якщо встановлено змінні середовища :envvar:`LINES` і :" +"envvar:`COLUMNS` (використовуються за умовчанням). , або якщо curses " +"запущено у вікні (у цьому випадку типовою поведінкою буде використання " +"розміру вікна, якщо :envvar:`LINES` і :envvar:`COLUMNS` не встановлено)." + +msgid "" +"Allow use of default values for colors on terminals supporting this feature. " +"Use this to support transparency in your application. The default color is " +"assigned to the color number ``-1``. After calling this function, " +"``init_pair(x, curses.COLOR_RED, -1)`` initializes, for instance, color pair " +"*x* to a red foreground color on the default background." +msgstr "" +"Дозволити використовувати значення за замовчуванням для кольорів на " +"терміналах, які підтримують цю функцію. Використовуйте це для підтримки " +"прозорості у своїй програмі. Кольору за замовчуванням призначається номер " +"кольору ``-1``. Після виклику цієї функції ``init_pair(x, curses.COLOR_RED, " +"-1)`` ініціалізує, наприклад, пару кольорів *x* червоним кольором переднього " +"плану на фоні за замовчуванням." + +msgid "" +"Initialize curses and call another callable object, *func*, which should be " +"the rest of your curses-using application. If the application raises an " +"exception, this function will restore the terminal to a sane state before re-" +"raising the exception and generating a traceback. The callable object " +"*func* is then passed the main window 'stdscr' as its first argument, " +"followed by any other arguments passed to :func:`!wrapper`. Before calling " +"*func*, :func:`!wrapper` turns on cbreak mode, turns off echo, enables the " +"terminal keypad, and initializes colors if the terminal has color support. " +"On exit (whether normally or by exception) it restores cooked mode, turns on " +"echo, and disables the terminal keypad." +msgstr "" +"Ініціалізуйте curses і викличте інший об’єкт, який можна викликати, *func*, " +"який має бути рештою вашої програми, що використовує curses. Якщо програма " +"викликає виняток, ця функція відновить термінал до працездатного стану перед " +"тим, як повторно викликати виняток і створити зворотне відстеження. " +"Викликаний об’єкт *func* потім передається головному вікну \"stdscr\" як " +"перший аргумент, а потім будь-які інші аргументи, передані :func:`!wrapper`. " +"Перед викликом *func* :func:`!wrapper` вмикає режим cbreak, вимикає " +"відлуння, вмикає клавіатуру терміналу та ініціалізує кольори, якщо термінал " +"підтримує кольори. Після виходу (звичайно чи за винятком) він відновлює " +"режим приготування, вмикає відлуння та вимикає клавіатуру терміналу." + +msgid "Window Objects" +msgstr "Об'єкти вікна" + +msgid "" +"Window objects, as returned by :func:`initscr` and :func:`newwin` above, " +"have the following methods and attributes:" +msgstr "" +"Об’єкти Window, які повертаються :func:`initscr` і :func:`newwin` вище, " +"мають такі методи та атрибути:" + +msgid "" +"Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any " +"character previously painted at that location. By default, the character " +"position and attributes are the current settings for the window object." +msgstr "" +"Зафарбувати символ *ch* у ``(y, x)`` за допомогою атрибутів *attr*, " +"перезаписавши будь-який символ, попередньо намальований у цьому місці. За " +"замовчуванням позиція символу та атрибути є поточними налаштуваннями об’єкта " +"вікна." + +msgid "" +"Writing outside the window, subwindow, or pad raises a :exc:`curses.error`. " +"Attempting to write to the lower right corner of a window, subwindow, or pad " +"will cause an exception to be raised after the character is printed." +msgstr "" +"Написання поза вікном, підвікном або блокнотом викликає :exc:`curses.error`. " +"Спроба написати в нижньому правому куті вікна, підвікна або панелі призведе " +"до виникнення виняткової ситуації після друку символу." + +msgid "" +"Paint at most *n* characters of the character string *str* at ``(y, x)`` " +"with attributes *attr*, overwriting anything previously on the display." +msgstr "" +"Зафарбуйте щонайбільше *n* символів рядка символів *str* у ``(y, x)`` з " +"атрибутами *attr*, перезаписуючи все, що було раніше на дисплеї." + +msgid "" +"Paint the character string *str* at ``(y, x)`` with attributes *attr*, " +"overwriting anything previously on the display." +msgstr "" +"Зафарбуйте рядок символів *str* у ``(y, x)`` атрибутами *attr*, " +"перезаписуючи все, що було раніше на дисплеї." + +msgid "" +"Writing outside the window, subwindow, or pad raises :exc:`curses.error`. " +"Attempting to write to the lower right corner of a window, subwindow, or pad " +"will cause an exception to be raised after the string is printed." +msgstr "" +"Написання поза вікном, підвікном або блокнотом викликає :exc:`curses.error`. " +"Спроба написати в нижньому правому куті вікна, підвікна або панелі призведе " +"до виникнення виняткової ситуації після друку рядка." + +msgid "" +"A `bug in ncurses `_, the backend for " +"this Python module, can cause SegFaults when resizing windows. This is fixed " +"in ncurses-6.1-20190511. If you are stuck with an earlier ncurses, you can " +"avoid triggering this if you do not call :func:`addstr` with a *str* that " +"has embedded newlines. Instead, call :func:`addstr` separately for each " +"line." +msgstr "" +"`Помилка в ncurses `_, серверній частині " +"цього модуля Python, може викликати SegFaults під час зміни розміру вікон. " +"Це виправлено в ncurses-6.1-20190511. Якщо ви застрягли на попередній " +"ncurses, ви можете уникнути цього, якщо не викличете :func:`addstr` з *str*, " +"який має вбудовані символи нового рядка. Натомість викликайте :func:`addstr` " +"окремо для кожного рядка." + +msgid "" +"Remove attribute *attr* from the \"background\" set applied to all writes to " +"the current window." +msgstr "" +"Видалити атрибут *attr* із набору \"фон\", застосованого до всіх записів у " +"поточному вікні." + +msgid "" +"Add attribute *attr* from the \"background\" set applied to all writes to " +"the current window." +msgstr "" +"Додайте атрибут *attr* із набору \"фон\", застосованого до всіх записів у " +"поточному вікні." + +msgid "" +"Set the \"background\" set of attributes to *attr*. This set is initially " +"``0`` (no attributes)." +msgstr "" +"Встановіть для набору атрибутів \"фон\" значення *attr*. Цей набір початково " +"``0`` (без атрибутів)." + +msgid "" +"Set the background property of the window to the character *ch*, with " +"attributes *attr*. The change is then applied to every character position " +"in that window:" +msgstr "" +"Встановіть для властивості фону вікна символ *ch* з атрибутами *attr*. Потім " +"зміни застосовуються до кожної позиції символу у цьому вікні:" + +msgid "" +"The attribute of every character in the window is changed to the new " +"background attribute." +msgstr "Атрибут кожного символу у вікні змінено на новий атрибут фону." + +msgid "" +"Wherever the former background character appears, it is changed to the new " +"background character." +msgstr "" +"Усюди, де з’являється попередній фоновий символ, він змінюється на новий " +"фоновий символ." + +msgid "" +"Set the window's background. A window's background consists of a character " +"and any combination of attributes. The attribute part of the background is " +"combined (OR'ed) with all non-blank characters that are written into the " +"window. Both the character and attribute parts of the background are " +"combined with the blank characters. The background becomes a property of " +"the character and moves with the character through any scrolling and insert/" +"delete line/character operations." +msgstr "" +"Встановити фон вікна. Фон вікна складається з символу та будь-якої " +"комбінації атрибутів. Атрибутна частина фону поєднується (оперується АБО) з " +"усіма непробілами, які записуються у вікно. Частини фону символів і " +"атрибутів поєднуються з порожніми символами. Фон стає властивістю символу та " +"переміщується разом із символом під час будь-яких операцій прокручування та " +"вставлення/видалення рядків/символів." + +msgid "" +"Draw a border around the edges of the window. Each parameter specifies the " +"character to use for a specific part of the border; see the table below for " +"more details." +msgstr "" +"Намалюйте рамку по краях вікна. Кожен параметр визначає символ для " +"використання для певної частини рамки; дивіться таблицю нижче для більш " +"детальної інформації." + +msgid "" +"A ``0`` value for any parameter will cause the default character to be used " +"for that parameter. Keyword parameters can *not* be used. The defaults are " +"listed in this table:" +msgstr "" +"Значення ``0`` для будь-якого параметра призведе до використання символу за " +"замовчуванням для цього параметра. Параметри ключових слів *не* можна " +"використовувати. Значення за замовчуванням наведено в цій таблиці:" + +msgid "Parameter" +msgstr "Параметр" + +msgid "Description" +msgstr "опис" + +msgid "Default value" +msgstr "Значення за замовчуванням" + +msgid "*ls*" +msgstr "*ls*" + +msgid "Left side" +msgstr "Ліва сторона" + +msgid ":const:`ACS_VLINE`" +msgstr ":const:`ACS_VLINE`" + +msgid "*rs*" +msgstr "*rs*" + +msgid "Right side" +msgstr "Права сторона" + +msgid "*ts*" +msgstr "*ts*" + +msgid "Top" +msgstr "Топ" + +msgid ":const:`ACS_HLINE`" +msgstr ":const:`ACS_HLINE`" + +msgid "*bs*" +msgstr "*bs*" + +msgid "Bottom" +msgstr "Дно" + +msgid "*tl*" +msgstr "*tl*" + +msgid "Upper-left corner" +msgstr "Лівий верхній кут" + +msgid ":const:`ACS_ULCORNER`" +msgstr ":const:`ACS_ULCORNER`" + +msgid "*tr*" +msgstr "*tr*" + +msgid "Upper-right corner" +msgstr "Правий верхній кут" + +msgid ":const:`ACS_URCORNER`" +msgstr ":const:`ACS_URCORNER`" + +msgid "*bl*" +msgstr "*bl*" + +msgid "Bottom-left corner" +msgstr "Нижній лівий кут" + +msgid ":const:`ACS_LLCORNER`" +msgstr ":const:`ACS_LLCORNER`" + +msgid "*br*" +msgstr "*br*" + +msgid "Bottom-right corner" +msgstr "Правий нижній кут" + +msgid ":const:`ACS_LRCORNER`" +msgstr ":const:`ACS_LRCORNER`" + +msgid "" +"Similar to :meth:`border`, but both *ls* and *rs* are *vertch* and both *ts* " +"and *bs* are *horch*. The default corner characters are always used by this " +"function." +msgstr "" +"Подібно до :meth:`border`, але *ls* і *rs* є *vertch*, а *ts* і *bs* є " +"*horch*. Ця функція завжди використовує стандартні кутові символи." + +msgid "" +"Set the attributes of *num* characters at the current cursor position, or at " +"position ``(y, x)`` if supplied. If *num* is not given or is ``-1``, the " +"attribute will be set on all the characters to the end of the line. This " +"function moves cursor to position ``(y, x)`` if supplied. The changed line " +"will be touched using the :meth:`touchline` method so that the contents will " +"be redisplayed by the next window refresh." +msgstr "" +"Встановіть атрибути *кількість* символів у поточній позиції курсору або в " +"позиції ``(y, x)``, якщо надається. Якщо *num* не вказано або має значення " +"``-1``, атрибут буде встановлено для всіх символів до кінця рядка. Ця " +"функція переміщує курсор у позицію ``(y, x)``, якщо вона надана. Змінений " +"рядок буде торкнуто за допомогою методу :meth:`touchline`, щоб вміст знову " +"відображався під час наступного оновлення вікна." + +msgid "" +"Like :meth:`erase`, but also cause the whole window to be repainted upon " +"next call to :meth:`refresh`." +msgstr "" +"Подібно до :meth:`erase`, але також призведе до перефарбування всього вікна " +"під час наступного виклику :meth:`refresh`." + +msgid "" +"If *flag* is ``True``, the next call to :meth:`refresh` will clear the " +"window completely." +msgstr "" +"Якщо *flag* має значення ``True``, наступний виклик :meth:`refresh` повністю " +"очистить вікно." + +msgid "" +"Erase from cursor to the end of the window: all lines below the cursor are " +"deleted, and then the equivalent of :meth:`clrtoeol` is performed." +msgstr "" +"Видалити від курсора до кінця вікна: усі рядки під курсором видаляються, а " +"потім виконується еквівалент :meth:`clrtoeol`." + +msgid "Erase from cursor to the end of the line." +msgstr "Стерти від курсора до кінця рядка." + +msgid "" +"Update the current cursor position of all the ancestors of the window to " +"reflect the current cursor position of the window." +msgstr "" +"Оновити поточну позицію курсору всіх предків вікна, щоб відобразити поточну " +"позицію курсору вікна." + +msgid "Delete any character at ``(y, x)``." +msgstr "Видаліть будь-який символ у ``(y, x)``." + +msgid "" +"Delete the line under the cursor. All following lines are moved up by one " +"line." +msgstr "" +"Видалити рядок під курсором. Усі наступні рядки переносяться на один рядок " +"вгору." + +msgid "" +"An abbreviation for \"derive window\", :meth:`derwin` is the same as " +"calling :meth:`subwin`, except that *begin_y* and *begin_x* are relative to " +"the origin of the window, rather than relative to the entire screen. Return " +"a window object for the derived window." +msgstr "" +"Абревіатура від \"вихідного вікна\", :meth:`derwin` — це те саме, що виклик :" +"meth:`subwin`, за винятком того, що *begin_y* і *begin_x* відносяться до " +"джерела вікна, а не до всього екран. Повертає віконний об’єкт для похідного " +"вікна." + +msgid "" +"Add character *ch* with attribute *attr*, and immediately call :meth:" +"`refresh` on the window." +msgstr "" +"Додайте символ *ch* з атрибутом *attr* і негайно викличте :meth:`refresh` у " +"вікні." + +msgid "" +"Test whether the given pair of screen-relative character-cell coordinates " +"are enclosed by the given window, returning ``True`` or ``False``. It is " +"useful for determining what subset of the screen windows enclose the " +"location of a mouse event." +msgstr "" +"Перевірте, чи задана пара координат символів клітинок, що відносяться до " +"екрану, включена даним вікном, повертаючи ``True`` або ``False``. Це корисно " +"для визначення того, яка підмножина вікон екрана містить місце події миші." + +msgid "Previously it returned ``1`` or ``0`` instead of ``True`` or ``False``." +msgstr "Раніше він повертав ``1`` або ``0`` замість ``True`` або ``False``." + +msgid "" +"Encoding used to encode method arguments (Unicode strings and characters). " +"The encoding attribute is inherited from the parent window when a subwindow " +"is created, for example with :meth:`window.subwin`. By default, current " +"locale encoding is used (see :func:`locale.getencoding`)." +msgstr "" + +msgid "Clear the window." +msgstr "Очистіть вікно." + +msgid "Return a tuple ``(y, x)`` of co-ordinates of upper-left corner." +msgstr "Повертає кортеж ``(y, x)`` координат верхнього лівого кута." + +msgid "Return the given window's current background character/attribute pair." +msgstr "Повертає поточну пару символ/атрибут тла даного вікна." + +msgid "" +"Get a character. Note that the integer returned does *not* have to be in " +"ASCII range: function keys, keypad keys and so on are represented by numbers " +"higher than 255. In no-delay mode, return ``-1`` if there is no input, " +"otherwise wait until a key is pressed." +msgstr "" +"Отримати персонажа. Зауважте, що повернуте ціле число *не* має бути в " +"діапазоні ASCII: функціональні клавіші, клавіші клавіатури тощо позначаються " +"числами, вищими за 255. У режимі без затримки поверніть ``-1``, якщо немає " +"введення. , інакше зачекайте, доки не буде натиснуто клавішу." + +msgid "" +"Get a wide character. Return a character for most keys, or an integer for " +"function keys, keypad keys, and other special keys. In no-delay mode, raise " +"an exception if there is no input." +msgstr "" +"Отримайте широкий характер. Повертає символ для більшості клавіш або ціле " +"число для функціональних клавіш, клавіш клавіатури та інших спеціальних " +"клавіш. У режимі без затримки викликати виняток, якщо немає введення." + +msgid "" +"Get a character, returning a string instead of an integer, as :meth:`getch` " +"does. Function keys, keypad keys and other special keys return a multibyte " +"string containing the key name. In no-delay mode, raise an exception if " +"there is no input." +msgstr "" +"Отримати символ, повертаючи рядок замість цілого числа, як це робить :meth:" +"`getch`. Функціональні клавіші, клавіші клавіатури та інші спеціальні " +"клавіші повертають багатобайтовий рядок, що містить назву клавіші. У режимі " +"без затримки викликати виняток, якщо немає введення." + +msgid "Return a tuple ``(y, x)`` of the height and width of the window." +msgstr "Повертає кортеж ``(y, x)`` висоти та ширини вікна." + +msgid "" +"Return the beginning coordinates of this window relative to its parent " +"window as a tuple ``(y, x)``. Return ``(-1, -1)`` if this window has no " +"parent." +msgstr "" +"Повертає початкові координати цього вікна відносно його батьківського вікна " +"як кортеж ``(y, x)``. Повертає ``(-1, -1)``, якщо це вікно не має " +"батьківського елемента." + +msgid "" +"Read a bytes object from the user, with primitive line editing capacity." +msgstr "" +"Читання байтового об’єкта від користувача з примітивною можливістю " +"редагування рядків." + +msgid "" +"Return a tuple ``(y, x)`` of current cursor position relative to the " +"window's upper-left corner." +msgstr "" +"Повертає кортеж ``(y, x)`` поточної позиції курсору відносно лівого " +"верхнього кута вікна." + +msgid "" +"Display a horizontal line starting at ``(y, x)`` with length *n* consisting " +"of the character *ch*." +msgstr "" +"Відобразити горизонтальну лінію, починаючи з ``(y, x)`` довжиною *n*, яка " +"складається з символу *ch*." + +msgid "" +"If *flag* is ``False``, curses no longer considers using the hardware insert/" +"delete character feature of the terminal; if *flag* is ``True``, use of " +"character insertion and deletion is enabled. When curses is first " +"initialized, use of character insert/delete is enabled by default." +msgstr "" +"Якщо *flag* має значення ``False``, curses більше не розглядає використання " +"апаратної функції вставки/видалення символів терміналу; якщо *flag* має " +"значення ``True``, увімкнено використання вставки та видалення символів. " +"Коли curses вперше ініціалізовано, використання вставки/видалення символів " +"увімкнено за замовчуванням." + +msgid "" +"If *flag* is ``True``, :mod:`curses` will try and use hardware line editing " +"facilities. Otherwise, line insertion/deletion are disabled." +msgstr "" +"Якщо *flag* має значення ``True``, :mod:`curses` спробує використати " +"апаратні засоби редагування рядків. В іншому випадку вставлення/видалення " +"рядків буде вимкнено." + +msgid "" +"If *flag* is ``True``, any change in the window image automatically causes " +"the window to be refreshed; you no longer have to call :meth:`refresh` " +"yourself. However, it may degrade performance considerably, due to repeated " +"calls to wrefresh. This option is disabled by default." +msgstr "" +"Якщо *flag* має значення ``True``, будь-яка зміна зображення вікна " +"автоматично спричиняє оновлення вікна; вам більше не потрібно викликати :" +"meth:`refresh` самостійно. Однак це може значно погіршити продуктивність " +"через повторні виклики оновлення. Цей параметр вимкнено за замовчуванням." + +msgid "" +"Return the character at the given position in the window. The bottom 8 bits " +"are the character proper, and upper bits are the attributes." +msgstr "" +"Повернути символ у задану позицію у вікні. Нижні 8 бітів є власне символом, " +"а верхні біти є атрибутами." + +msgid "" +"Paint character *ch* at ``(y, x)`` with attributes *attr*, moving the line " +"from position *x* right by one character." +msgstr "" +"Зафарбуйте символ *ch* у ``(y, x)`` з атрибутами *attr*, перемістивши лінію " +"з позиції *x* праворуч на один символ." + +msgid "" +"Insert *nlines* lines into the specified window above the current line. The " +"*nlines* bottom lines are lost. For negative *nlines*, delete *nlines* " +"lines starting with the one under the cursor, and move the remaining lines " +"up. The bottom *nlines* lines are cleared. The current cursor position " +"remains the same." +msgstr "" +"Вставте рядки *nlines* у вказане вікно над поточним рядком. Нижні рядки " +"*nlines* втрачені. Для негативних *nlines* видаліть *nlines* рядки, " +"починаючи з того, що знаходиться під курсором, і перемістіть інші рядки " +"вгору. Нижні рядки *nlines* очищаються. Поточна позиція курсору залишається " +"незмінною." + +msgid "" +"Insert a blank line under the cursor. All following lines are moved down by " +"one line." +msgstr "" +"Вставте порожній рядок під курсором. Усі наступні рядки пересуваються на " +"один рядок вниз." + +msgid "" +"Insert a character string (as many characters as will fit on the line) " +"before the character under the cursor, up to *n* characters. If *n* is " +"zero or negative, the entire string is inserted. All characters to the right " +"of the cursor are shifted right, with the rightmost characters on the line " +"being lost. The cursor position does not change (after moving to *y*, *x*, " +"if specified)." +msgstr "" +"Вставте рядок символів (стільки символів, скільки поміститься в рядку) перед " +"символом під курсором, до *n* символів. Якщо *n* дорівнює нулю або від’ємне " +"значення, вставляється весь рядок. Усі символи праворуч від курсору " +"зсуваються праворуч, а крайні праві символи в рядку втрачаються. Положення " +"курсору не змінюється (після переходу на *y*, *x*, якщо вказано)." + +msgid "" +"Insert a character string (as many characters as will fit on the line) " +"before the character under the cursor. All characters to the right of the " +"cursor are shifted right, with the rightmost characters on the line being " +"lost. The cursor position does not change (after moving to *y*, *x*, if " +"specified)." +msgstr "" +"Вставте рядок символів (стільки символів, скільки поміститься в рядку) перед " +"символом під курсором. Усі символи праворуч від курсору зсуваються праворуч, " +"а крайні праві символи в рядку втрачаються. Положення курсору не змінюється " +"(після переходу на *y*, *x*, якщо вказано)." + +msgid "" +"Return a bytes object of characters, extracted from the window starting at " +"the current cursor position, or at *y*, *x* if specified. Attributes are " +"stripped from the characters. If *n* is specified, :meth:`instr` returns a " +"string at most *n* characters long (exclusive of the trailing NUL)." +msgstr "" +"Повертає байтовий об’єкт із символами, отриманими з вікна, починаючи з " +"поточної позиції курсору або з *y*, *x*, якщо вказано. Атрибути позбавлені " +"символів. Якщо вказано *n*, :meth:`instr` повертає рядок довжиною " +"щонайбільше *n* символів (за винятком кінцевого NUL)." + +msgid "" +"Return ``True`` if the specified line was modified since the last call to :" +"meth:`refresh`; otherwise return ``False``. Raise a :exc:`curses.error` " +"exception if *line* is not valid for the given window." +msgstr "" +"Повертає ``True``, якщо вказаний рядок було змінено після останнього " +"виклику :meth:`refresh`; інакше повертає ``False``. Викликати виняток :exc:" +"`curses.error`, якщо *рядок* недійсний для даного вікна." + +msgid "" +"Return ``True`` if the specified window was modified since the last call to :" +"meth:`refresh`; otherwise return ``False``." +msgstr "" +"Повертає ``True``, якщо вказане вікно було змінено після останнього виклику :" +"meth:`refresh`; інакше повертає ``False``." + +msgid "" +"If *flag* is ``True``, escape sequences generated by some keys (keypad, " +"function keys) will be interpreted by :mod:`curses`. If *flag* is ``False``, " +"escape sequences will be left as is in the input stream." +msgstr "" +"Якщо *flag* має значення ``True``, escape-послідовності, згенеровані деякими " +"клавішами (клавіатура, функціональні клавіші), будуть інтерпретовані :mod:" +"`curses`. Якщо *flag* має значення ``False``, керуючі послідовності будуть " +"залишені у вхідному потоці." + +msgid "" +"If *flag* is ``True``, cursor is left where it is on update, instead of " +"being at \"cursor position.\" This reduces cursor movement where possible. " +"If possible the cursor will be made invisible." +msgstr "" +"Якщо *flag* має значення ``True``, курсор залишається там, де він " +"знаходиться під час оновлення, замість того, щоб бути в \"положенні курсору" +"\". Це зменшує рух курсору, де це можливо. Якщо можливо, курсор буде " +"зроблено невидимим." + +msgid "" +"If *flag* is ``False``, cursor will always be at \"cursor position\" after " +"an update." +msgstr "" +"Якщо *flag* має значення ``False``, курсор завжди буде в \"положенні курсора" +"\" після оновлення." + +msgid "Move cursor to ``(new_y, new_x)``." +msgstr "Перемістіть курсор до ``(новий_y, новий_x)``." + +msgid "" +"Move the window inside its parent window. The screen-relative parameters of " +"the window are not changed. This routine is used to display different parts " +"of the parent window at the same physical position on the screen." +msgstr "" +"Перемістити вікно всередину його батьківського вікна. Відносні до екрана " +"параметри вікна не змінюються. Ця процедура використовується для " +"відображення різних частин батьківського вікна в одній фізичній позиції на " +"екрані." + +msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." +msgstr "" +"Перемістіть вікно так, щоб його верхній лівий кут знаходився на ``(new_y, " +"new_x)``." + +msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." +msgstr "Якщо *flag* має значення ``True``, :meth:`getch` буде неблокуючим." + +msgid "If *flag* is ``True``, escape sequences will not be timed out." +msgstr "" +"Якщо *flag* має значення ``True``, escape-послідовності не будуть вичерпані." + +msgid "" +"If *flag* is ``False``, after a few milliseconds, an escape sequence will " +"not be interpreted, and will be left in the input stream as is." +msgstr "" +"Якщо *flag* має значення ``False``, через кілька мілісекунд escape-" +"послідовність не буде інтерпретовано та залишиться у вхідному потоці як є." + +msgid "" +"Mark for refresh but wait. This function updates the data structure " +"representing the desired state of the window, but does not force an update " +"of the physical screen. To accomplish that, call :func:`doupdate`." +msgstr "" +"Позначте для оновлення, але зачекайте. Ця функція оновлює структуру даних, " +"що представляє потрібний стан вікна, але не примусово оновлює фізичний " +"екран. Для цього викличте :func:`doupdate`." + +msgid "" +"Overlay the window on top of *destwin*. The windows need not be the same " +"size, only the overlapping region is copied. This copy is non-destructive, " +"which means that the current background character does not overwrite the old " +"contents of *destwin*." +msgstr "" +"Накладіть вікно поверх *destwin*. Вікна не обов’язково мають бути однакового " +"розміру, копіюється лише область, що перекривається. Ця копія є неруйнівною, " +"що означає, що поточний фоновий символ не перезаписує старий вміст *destwin*." + +msgid "" +"To get fine-grained control over the copied region, the second form of :meth:" +"`overlay` can be used. *sminrow* and *smincol* are the upper-left " +"coordinates of the source window, and the other variables mark a rectangle " +"in the destination window." +msgstr "" +"Щоб отримати детальний контроль над скопійованою областю, можна " +"використовувати другу форму :meth:`overlay`. *sminrow* і *smincol* — верхні " +"ліві координати вікна джерела, а інші змінні позначають прямокутник у вікні " +"призначення." + +msgid "" +"Overwrite the window on top of *destwin*. The windows need not be the same " +"size, in which case only the overlapping region is copied. This copy is " +"destructive, which means that the current background character overwrites " +"the old contents of *destwin*." +msgstr "" +"Перезаписати вікно поверх *destwin*. Вікна не обов’язково мають бути " +"однакового розміру, у цьому випадку копіюється лише область, що " +"перекривається. Ця копія є деструктивною, що означає, що поточний фоновий " +"символ перезаписує старий вміст *destwin*." + +msgid "" +"To get fine-grained control over the copied region, the second form of :meth:" +"`overwrite` can be used. *sminrow* and *smincol* are the upper-left " +"coordinates of the source window, the other variables mark a rectangle in " +"the destination window." +msgstr "" +"Щоб отримати детальний контроль над скопійованою областю, можна використати " +"другу форму :meth:`overwrite`. *sminrow* і *smincol* — верхні ліві " +"координати вікна джерела, інші змінні позначають прямокутник у вікні " +"призначення." + +msgid "" +"Write all data associated with the window into the provided file object. " +"This information can be later retrieved using the :func:`getwin` function." +msgstr "" +"Запишіть усі дані, пов’язані з вікном, у наданий файловий об’єкт. Пізніше цю " +"інформацію можна отримати за допомогою функції :func:`getwin`." + +msgid "" +"Indicate that the *num* screen lines, starting at line *beg*, are corrupted " +"and should be completely redrawn on the next :meth:`refresh` call." +msgstr "" +"Вказує, що *num* рядків екрана, починаючи з рядка *beg*, пошкоджені та мають " +"бути повністю перемальовані під час наступного виклику :meth:`refresh`." + +msgid "" +"Touch the entire window, causing it to be completely redrawn on the next :" +"meth:`refresh` call." +msgstr "" +"Торкніться всього вікна, щоб його повністю перемалювати під час наступного " +"виклику :meth:`refresh`." + +msgid "" +"Update the display immediately (sync actual screen with previous drawing/" +"deleting methods)." +msgstr "" +"Негайно оновіть дисплей (синхронізуйте фактичний екран із попередніми " +"методами малювання/видалення)." + +msgid "" +"The 6 optional arguments can only be specified when the window is a pad " +"created with :func:`newpad`. The additional parameters are needed to " +"indicate what part of the pad and screen are involved. *pminrow* and " +"*pmincol* specify the upper left-hand corner of the rectangle to be " +"displayed in the pad. *sminrow*, *smincol*, *smaxrow*, and *smaxcol* " +"specify the edges of the rectangle to be displayed on the screen. The lower " +"right-hand corner of the rectangle to be displayed in the pad is calculated " +"from the screen coordinates, since the rectangles must be the same size. " +"Both rectangles must be entirely contained within their respective " +"structures. Negative values of *pminrow*, *pmincol*, *sminrow*, or " +"*smincol* are treated as if they were zero." +msgstr "" +"6 необов’язкових аргументів можна вказати лише тоді, коли вікно є панеллю, " +"створеною за допомогою :func:`newpad`. Додаткові параметри потрібні, щоб " +"вказати, яка частина панелі та екрану задіяна. *pminrow* і *pmincol* " +"визначають верхній лівий кут прямокутника, який буде відображатися на " +"панелі. *sminrow*, *smincol*, *smaxrow* і *smaxcol* визначають краї " +"прямокутника, який буде відображатися на екрані. Правий нижній кут " +"прямокутника, який відображатиметься на панелі, обчислюється за координатами " +"на екрані, оскільки прямокутники мають бути однакового розміру. Обидва " +"прямокутники мають повністю міститися у відповідних структурах. Від’ємні " +"значення *pminrow*, *pmincol*, *sminrow* або *smincol* розглядаються як " +"нульові." + +msgid "" +"Reallocate storage for a curses window to adjust its dimensions to the " +"specified values. If either dimension is larger than the current values, " +"the window's data is filled with blanks that have the current background " +"rendition (as set by :meth:`bkgdset`) merged into them." +msgstr "" +"Перерозподіліть сховище для вікна curses, щоб налаштувати його розміри до " +"вказаних значень. Якщо будь-який з розмірів більший за поточні значення, " +"дані вікна заповнюються пробілами, у яких об’єднано поточне фонове " +"відтворення (як установлено :meth:`bkgdset`)." + +msgid "Scroll the screen or scrolling region upward by *lines* lines." +msgstr "Прокрутіть екран або область прокручування вгору на *лінії* лінії." + +msgid "" +"Control what happens when the cursor of a window is moved off the edge of " +"the window or scrolling region, either as a result of a newline action on " +"the bottom line, or typing the last character of the last line. If *flag* " +"is ``False``, the cursor is left on the bottom line. If *flag* is ``True``, " +"the window is scrolled up one line. Note that in order to get the physical " +"scrolling effect on the terminal, it is also necessary to call :meth:`idlok`." +msgstr "" +"Керуйте тим, що відбувається, коли курсор вікна переміщується за межі вікна " +"чи області прокручування в результаті дії нового рядка в нижньому рядку або " +"введення останнього символу останнього рядка. Якщо *flag* має значення " +"``False``, курсор залишається в нижньому рядку. Якщо *flag* має значення " +"``True``, вікно прокручується на один рядок вгору. Зауважте, що для того, " +"щоб отримати ефект фізичної прокрутки на терміналі, також необхідно " +"викликати :meth:`idlok`." + +msgid "" +"Set the scrolling region from line *top* to line *bottom*. All scrolling " +"actions will take place in this region." +msgstr "" +"Встановіть область прокручування від рядка *верхнього* до рядка *нижнього*. " +"Усі дії прокручування відбуватимуться в цьому регіоні." + +msgid "" +"Turn off the standout attribute. On some terminals this has the side effect " +"of turning off all attributes." +msgstr "" +"Вимкніть атрибут standout. На деяких терміналах це має побічним ефектом " +"вимкнення всіх атрибутів." + +msgid "Turn on attribute *A_STANDOUT*." +msgstr "Увімкніть атрибут *A_STANDOUT*." + +msgid "" +"Return a sub-window, whose upper-left corner is at ``(begin_y, begin_x)``, " +"and whose width/height is *ncols*/*nlines*." +msgstr "" +"Повертає підвікно, верхній лівий кут якого знаходиться в ``(begin_y, " +"begin_x)``, а ширина/висота *ncols*/*nlines*." + +msgid "" +"By default, the sub-window will extend from the specified position to the " +"lower right corner of the window." +msgstr "" +"За замовчуванням підвікно розширюватиметься від зазначеної позиції до " +"нижнього правого кута вікна." + +msgid "" +"Touch each location in the window that has been touched in any of its " +"ancestor windows. This routine is called by :meth:`refresh`, so it should " +"almost never be necessary to call it manually." +msgstr "" +"Торкніться кожного місця у вікні, яке було торкано в будь-якому з попередніх " +"вікон. Ця процедура викликається :meth:`refresh`, тому майже ніколи не " +"потрібно викликати її вручну." + +msgid "" +"If *flag* is ``True``, then :meth:`syncup` is called automatically whenever " +"there is a change in the window." +msgstr "" +"Якщо *flag* має значення ``True``, тоді :meth:`syncup` викликається " +"автоматично щоразу, коли відбувається зміна у вікні." + +msgid "" +"Touch all locations in ancestors of the window that have been changed in " +"the window." +msgstr "Торкніться всіх розташувань у предках вікна, які були змінені у вікні." + +msgid "" +"Set blocking or non-blocking read behavior for the window. If *delay* is " +"negative, blocking read is used (which will wait indefinitely for input). " +"If *delay* is zero, then non-blocking read is used, and :meth:`getch` will " +"return ``-1`` if no input is waiting. If *delay* is positive, then :meth:" +"`getch` will block for *delay* milliseconds, and return ``-1`` if there is " +"still no input at the end of that time." +msgstr "" +"Встановити блокуючу або неблокуючу поведінку читання для вікна. Якщо " +"*затримка* має від’ємне значення, використовується блокування читання (що " +"нескінченно чекатиме введення). Якщо *затримка* дорівнює нулю, то " +"використовується неблокуюче читання, і :meth:`getch` поверне ``-1``, якщо " +"введення не очікується. Якщо *затримка* позитивна, тоді :meth:`getch` " +"блокуватиметься на *затримку* мілісекунд і повертатиме ``-1``, якщо в кінці " +"цього часу все ще немає введення." + +msgid "" +"Pretend *count* lines have been changed, starting with line *start*. If " +"*changed* is supplied, it specifies whether the affected lines are marked as " +"having been changed (*changed*\\ ``=True``) or unchanged (*changed*\\ " +"``=False``)." +msgstr "" +"Уявіть, що *кількість* рядків змінено, починаючи з рядка *початок*. Якщо " +"вказано *changed*, це визначає, чи позначаються відповідні рядки як змінені " +"(*changed*\\ ``=True``) чи незмінені (*changed*\\ ``=False``)." + +msgid "" +"Pretend the whole window has been changed, for purposes of drawing " +"optimizations." +msgstr "Уявіть, що все вікно було змінено з метою оптимізації малюнка." + +msgid "" +"Mark all lines in the window as unchanged since the last call to :meth:" +"`refresh`." +msgstr "" +"Позначте всі рядки у вікні як незмінні з часу останнього виклику :meth:" +"`refresh`." + +msgid "" +"Display a vertical line starting at ``(y, x)`` with length *n* consisting of " +"the character *ch*." +msgstr "" +"Відобразити вертикальну лінію, яка починається з ``(y, x)`` довжиною *n*, що " +"складається з символу *ch*." + +msgid "Constants" +msgstr "Константи" + +msgid "The :mod:`curses` module defines the following data members:" +msgstr "Модуль :mod:`curses` визначає такі елементи даних:" + +msgid "" +"Some curses routines that return an integer, such as :meth:`~window." +"getch`, return :const:`ERR` upon failure." +msgstr "" +"Деякі процедури curses, які повертають ціле число, наприклад :meth:`~window." +"getch`, повертають :const:`ERR` у разі помилки." + +msgid "" +"Some curses routines that return an integer, such as :func:`napms`, " +"return :const:`OK` upon success." +msgstr "" +"Деякі процедури curses, які повертають ціле число, наприклад :func:`napms`, " +"повертають :const:`OK` після успіху." + +msgid "" +"A bytes object representing the current version of the module. Also " +"available as :const:`__version__`." +msgstr "" +"Об’єкт bytes, що представляє поточну версію модуля. Також доступний як :" +"const:`__version__`." + +msgid "" +"A named tuple containing the three components of the ncurses library " +"version: *major*, *minor*, and *patch*. All values are integers. The " +"components can also be accessed by name, so ``curses.ncurses_version[0]`` " +"is equivalent to ``curses.ncurses_version.major`` and so on." +msgstr "" +"Іменований кортеж, що містить три компоненти версії бібліотеки ncurses: " +"*major*, *minor* і *patch*. Усі значення є цілими. До компонентів також " +"можна отримати доступ за іменем, тому ``curses.ncurses_version[0]`` " +"еквівалентно ``curses.ncurses_version.major`` і так далі." + +msgid "Availability: if the ncurses library is used." +msgstr "Доступність: якщо використовується бібліотека ncurses." + +msgid "" +"Some constants are available to specify character cell attributes. The exact " +"constants available are system dependent." +msgstr "" +"Деякі константи доступні для визначення атрибутів клітинок символів. " +"Доступні точні константи залежать від системи." + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Meaning" +msgstr "Значення" + +msgid "``A_ALTCHARSET``" +msgstr "``A_ALTCHARSET``" + +msgid "Alternate character set mode" +msgstr "Режим альтернативного набору символів" + +msgid "``A_BLINK``" +msgstr "``A_BLINK``" + +msgid "Blink mode" +msgstr "Режим моргання" + +msgid "``A_BOLD``" +msgstr "``A_BOLD``" + +msgid "Bold mode" +msgstr "Жирний режим" + +msgid "``A_DIM``" +msgstr "``A_DIM``" + +msgid "Dim mode" +msgstr "Режим затемнення" + +msgid "``A_INVIS``" +msgstr "``A_INVIS``" + +msgid "Invisible or blank mode" +msgstr "Невидимий або порожній режим" + +msgid "``A_ITALIC``" +msgstr "``A_ITALIC``" + +msgid "Italic mode" +msgstr "Курсив" + +msgid "``A_NORMAL``" +msgstr "``A_NORMAL``" + +msgid "Normal attribute" +msgstr "Нормальний атрибут" + +msgid "``A_PROTECT``" +msgstr "``A_PROTECT``" + +msgid "Protected mode" +msgstr "Захищений режим" + +msgid "``A_REVERSE``" +msgstr "``A_REVERSE``" + +msgid "Reverse background and foreground colors" +msgstr "Зворотні кольори фону та переднього плану" + +msgid "``A_STANDOUT``" +msgstr "``A_STANDOUT``" + +msgid "Standout mode" +msgstr "Режим видатного" + +msgid "``A_UNDERLINE``" +msgstr "``A_UNDERLINE``" + +msgid "Underline mode" +msgstr "Режим підкреслення" + +msgid "``A_HORIZONTAL``" +msgstr "``A_ГОРИЗОНТАЛЬ``" + +msgid "Horizontal highlight" +msgstr "Горизонтальне виділення" + +msgid "``A_LEFT``" +msgstr "``A_LEFT``" + +msgid "Left highlight" +msgstr "Виділення зліва" + +msgid "``A_LOW``" +msgstr "``A_LOW``" + +msgid "Low highlight" +msgstr "Низьке виділення" + +msgid "``A_RIGHT``" +msgstr "``A_RIGHT``" + +msgid "Right highlight" +msgstr "Виділіть праворуч" + +msgid "``A_TOP``" +msgstr "``A_TOP``" + +msgid "Top highlight" +msgstr "Верхня підсвітка" + +msgid "``A_VERTICAL``" +msgstr "``A_VERTICAL``" + +msgid "Vertical highlight" +msgstr "Вертикальне виділення" + +msgid "``A_CHARTEXT``" +msgstr "``A_CHARTEXT``" + +msgid "Bit-mask to extract a character" +msgstr "Бітова маска для вилучення символу" + +msgid "``A_ITALIC`` was added." +msgstr "Додано ``A_ITALIC``." + +msgid "" +"Several constants are available to extract corresponding attributes returned " +"by some methods." +msgstr "" +"Для отримання відповідних атрибутів, які повертаються деякими методами, " +"доступно кілька констант." + +msgid "Bit-mask" +msgstr "Біт-маска" + +msgid "``A_ATTRIBUTES``" +msgstr "``A_ATTRIBUTES``" + +msgid "Bit-mask to extract attributes" +msgstr "Бітова маска для вилучення атрибутів" + +msgid "``A_COLOR``" +msgstr "``A_COLOR``" + +msgid "Bit-mask to extract color-pair field information" +msgstr "Бітова маска для отримання інформації про поле пари кольорів" + +msgid "" +"Keys are referred to by integer constants with names starting with " +"``KEY_``. The exact keycaps available are system dependent." +msgstr "" +"На ключі посилаються цілі константи з іменами, що починаються з ``KEY_``. " +"Точні доступні клавіші залежать від системи." + +msgid "Key constant" +msgstr "Ключова константа" + +msgid "Key" +msgstr "ключ" + +msgid "``KEY_MIN``" +msgstr "``KEY_MIN``" + +msgid "Minimum key value" +msgstr "Мінімальне значення ключа" + +msgid "``KEY_BREAK``" +msgstr "``KEY_BREAK``" + +msgid "Break key (unreliable)" +msgstr "Розривний ключ (ненадійний)" + +msgid "``KEY_DOWN``" +msgstr "``KEY_DOWN``" + +msgid "Down-arrow" +msgstr "Стрілка вниз" + +msgid "``KEY_UP``" +msgstr "``KEY_UP``" + +msgid "Up-arrow" +msgstr "Стрілка вгору" + +msgid "``KEY_LEFT``" +msgstr "``KEY_LEFT``" + +msgid "Left-arrow" +msgstr "Стрілка вліво" + +msgid "``KEY_RIGHT``" +msgstr "``KEY_RIGHT``" + +msgid "Right-arrow" +msgstr "Стрілка вправо" + +msgid "``KEY_HOME``" +msgstr "``KEY_HOME``" + +msgid "Home key (upward+left arrow)" +msgstr "Клавіша \"Додому\" (стрілка вгору+ліворуч)" + +msgid "``KEY_BACKSPACE``" +msgstr "``KEY_BACKSPACE``" + +msgid "Backspace (unreliable)" +msgstr "Backspace (ненадійно)" + +msgid "``KEY_F0``" +msgstr "``KEY_F0``" + +msgid "Function keys. Up to 64 function keys are supported." +msgstr "Функціональні клавіші. Підтримується до 64 функціональних клавіш." + +msgid "``KEY_Fn``" +msgstr "``KEY_Fn``" + +msgid "Value of function key *n*" +msgstr "Значення функціональної клавіші *n*" + +msgid "``KEY_DL``" +msgstr "``KEY_DL``" + +msgid "Delete line" +msgstr "Видалити рядок" + +msgid "``KEY_IL``" +msgstr "``KEY_IL``" + +msgid "Insert line" +msgstr "Вставити рядок" + +msgid "``KEY_DC``" +msgstr "``KEY_DC``" + +msgid "Delete character" +msgstr "Видалити символ" + +msgid "``KEY_IC``" +msgstr "``KEY_IC``" + +msgid "Insert char or enter insert mode" +msgstr "Вставити символ або перейти в режим вставки" + +msgid "``KEY_EIC``" +msgstr "``KEY_EIC``" + +msgid "Exit insert char mode" +msgstr "Вийти з режиму вставки символів" + +msgid "``KEY_CLEAR``" +msgstr "``KEY_CLEAR``" + +msgid "Clear screen" +msgstr "Очистити екран" + +msgid "``KEY_EOS``" +msgstr "``KEY_EOS``" + +msgid "Clear to end of screen" +msgstr "Очистити до кінця екрана" + +msgid "``KEY_EOL``" +msgstr "``KEY_EOL``" + +msgid "Clear to end of line" +msgstr "Очистити до кінця рядка" + +msgid "``KEY_SF``" +msgstr "``KEY_SF``" + +msgid "Scroll 1 line forward" +msgstr "Прокрутити на 1 рядок вперед" + +msgid "``KEY_SR``" +msgstr "``KEY_SR``" + +msgid "Scroll 1 line backward (reverse)" +msgstr "Прокрутити на 1 рядок назад (назад)" + +msgid "``KEY_NPAGE``" +msgstr "``KEY_NPAGE``" + +msgid "Next page" +msgstr "Наступна сторінка" + +msgid "``KEY_PPAGE``" +msgstr "``KEY_PPAGE``" + +msgid "Previous page" +msgstr "Попередня сторінка" + +msgid "``KEY_STAB``" +msgstr "``KEY_STAB``" + +msgid "Set tab" +msgstr "Встановити вкладку" + +msgid "``KEY_CTAB``" +msgstr "``KEY_CTAB``" + +msgid "Clear tab" +msgstr "Очистити вкладку" + +msgid "``KEY_CATAB``" +msgstr "``KEY_CATAB``" + +msgid "Clear all tabs" +msgstr "Очистити всі вкладки" + +msgid "``KEY_ENTER``" +msgstr "``KEY_ENTER``" + +msgid "Enter or send (unreliable)" +msgstr "Введіть або надішліть (ненадійно)" + +msgid "``KEY_SRESET``" +msgstr "``KEY_SRESET``" + +msgid "Soft (partial) reset (unreliable)" +msgstr "М'яке (часткове) скидання (ненадійне)" + +msgid "``KEY_RESET``" +msgstr "``KEY_RESET``" + +msgid "Reset or hard reset (unreliable)" +msgstr "Скидання або апаратне скидання (ненадійно)" + +msgid "``KEY_PRINT``" +msgstr "``KEY_PRINT``" + +msgid "Print" +msgstr "Роздрукувати" + +msgid "``KEY_LL``" +msgstr "``KEY_LL``" + +msgid "Home down or bottom (lower left)" +msgstr "Головна внизу або внизу (внизу ліворуч)" + +msgid "``KEY_A1``" +msgstr "``KEY_A1``" + +msgid "Upper left of keypad" +msgstr "Верхній лівий кут клавіатури" + +msgid "``KEY_A3``" +msgstr "``KEY_A3``" + +msgid "Upper right of keypad" +msgstr "Правий верхній кут клавіатури" + +msgid "``KEY_B2``" +msgstr "``KEY_B2``" + +msgid "Center of keypad" +msgstr "Центр клавіатури" + +msgid "``KEY_C1``" +msgstr "``KEY_C1``" + +msgid "Lower left of keypad" +msgstr "Ліворуч внизу від клавіатури" + +msgid "``KEY_C3``" +msgstr "``KEY_C3``" + +msgid "Lower right of keypad" +msgstr "Правий нижній кут клавіатури" + +msgid "``KEY_BTAB``" +msgstr "``KEY_BTAB``" + +msgid "Back tab" +msgstr "Задня вкладка" + +msgid "``KEY_BEG``" +msgstr "``KEY_BEG``" + +msgid "Beg (beginning)" +msgstr "Бег (початок)" + +msgid "``KEY_CANCEL``" +msgstr "``KEY_CANCEL``" + +msgid "Cancel" +msgstr "Скасувати" + +msgid "``KEY_CLOSE``" +msgstr "``KEY_CLOSE``" + +msgid "Close" +msgstr "Закрити" + +msgid "``KEY_COMMAND``" +msgstr "``KEY_COMMAND``" + +msgid "Cmd (command)" +msgstr "Cmd (команда)" + +msgid "``KEY_COPY``" +msgstr "``KEY_COPY``" + +msgid "Copy" +msgstr "Копія" + +msgid "``KEY_CREATE``" +msgstr "``KEY_CREATE``" + +msgid "Create" +msgstr "Створити" + +msgid "``KEY_END``" +msgstr "``KEY_END``" + +msgid "End" +msgstr "Кінець" + +msgid "``KEY_EXIT``" +msgstr "``KEY_EXIT``" + +msgid "Exit" +msgstr "Вихід" + +msgid "``KEY_FIND``" +msgstr "``KEY_FIND``" + +msgid "Find" +msgstr "знайти" + +msgid "``KEY_HELP``" +msgstr "``KEY_HELP``" + +msgid "Help" +msgstr "Довідка" + +msgid "``KEY_MARK``" +msgstr "``KEY_MARK``" + +msgid "Mark" +msgstr "Марк" + +msgid "``KEY_MESSAGE``" +msgstr "``KEY_MESSAGE``" + +msgid "Message" +msgstr "повідомлення" + +msgid "``KEY_MOVE``" +msgstr "``KEY_MOVE``" + +msgid "Move" +msgstr "рухатися" + +msgid "``KEY_NEXT``" +msgstr "``KEY_NEXT``" + +msgid "Next" +msgstr "Далі" + +msgid "``KEY_OPEN``" +msgstr "``KEY_OPEN``" + +msgid "Open" +msgstr "ВІДЧИНЕНО" + +msgid "``KEY_OPTIONS``" +msgstr "``KEY_OPTIONS``" + +msgid "Options" +msgstr "Опції" + +msgid "``KEY_PREVIOUS``" +msgstr "``KEY_PREVIOUS``" + +msgid "Prev (previous)" +msgstr "Prev (попередній)" + +msgid "``KEY_REDO``" +msgstr "``KEY_REDO``" + +msgid "Redo" +msgstr "Повторити" + +msgid "``KEY_REFERENCE``" +msgstr "``KEY_REFERENCE``" + +msgid "Ref (reference)" +msgstr "Ref (посилання)" + +msgid "``KEY_REFRESH``" +msgstr "``KEY_REFRESH``" + +msgid "Refresh" +msgstr "Оновити" + +msgid "``KEY_REPLACE``" +msgstr "``KEY_REPLACE``" + +msgid "Replace" +msgstr "Замінити" + +msgid "``KEY_RESTART``" +msgstr "``KEY_RESTART``" + +msgid "Restart" +msgstr "Перезапустіть" + +msgid "``KEY_RESUME``" +msgstr "``KEY_RESUME``" + +msgid "Resume" +msgstr "Резюме" + +msgid "``KEY_SAVE``" +msgstr "``KEY_SAVE``" + +msgid "Save" +msgstr "зберегти" + +msgid "``KEY_SBEG``" +msgstr "``KEY_SBEG``" + +msgid "Shifted Beg (beginning)" +msgstr "Зміщений початок (початок)" + +msgid "``KEY_SCANCEL``" +msgstr "``KEY_SCANCEL``" + +msgid "Shifted Cancel" +msgstr "Скасування зі зсувом" + +msgid "``KEY_SCOMMAND``" +msgstr "``KEY_SCOMMAND``" + +msgid "Shifted Command" +msgstr "Зміщена команда" + +msgid "``KEY_SCOPY``" +msgstr "``KEY_SCOPY``" + +msgid "Shifted Copy" +msgstr "Зміщена копія" + +msgid "``KEY_SCREATE``" +msgstr "``KEY_SCREATE``" + +msgid "Shifted Create" +msgstr "Зсув Створити" + +msgid "``KEY_SDC``" +msgstr "``KEY_SDC``" + +msgid "Shifted Delete char" +msgstr "Зміщений Видалити символ" + +msgid "``KEY_SDL``" +msgstr "``KEY_SDL``" + +msgid "Shifted Delete line" +msgstr "Зміщений рядок \"Видалити\"." + +msgid "``KEY_SELECT``" +msgstr "``KEY_SELECT``" + +msgid "Select" +msgstr "Виберіть" + +msgid "``KEY_SEND``" +msgstr "``KEY_SEND``" + +msgid "Shifted End" +msgstr "Зміщений кінець" + +msgid "``KEY_SEOL``" +msgstr "``KEY_SEOL``" + +msgid "Shifted Clear line" +msgstr "Зміщена чиста лінія" + +msgid "``KEY_SEXIT``" +msgstr "``KEY_SEXIT``" + +msgid "Shifted Exit" +msgstr "Зміщений вихід" + +msgid "``KEY_SFIND``" +msgstr "``KEY_SFIND``" + +msgid "Shifted Find" +msgstr "Зміщений пошук" + +msgid "``KEY_SHELP``" +msgstr "``KEY_SHELP``" + +msgid "Shifted Help" +msgstr "Зміщена довідка" + +msgid "``KEY_SHOME``" +msgstr "``KEY_SHOME``" + +msgid "Shifted Home" +msgstr "Перенесено додому" + +msgid "``KEY_SIC``" +msgstr "``KEY_SIC``" + +msgid "Shifted Input" +msgstr "Зміщений вхід" + +msgid "``KEY_SLEFT``" +msgstr "``KEY_SLEFT``" + +msgid "Shifted Left arrow" +msgstr "Зміщена стрілка вліво" + +msgid "``KEY_SMESSAGE``" +msgstr "``KEY_SMESSAGE``" + +msgid "Shifted Message" +msgstr "Зміщене повідомлення" + +msgid "``KEY_SMOVE``" +msgstr "``KEY_SMOVE``" + +msgid "Shifted Move" +msgstr "Зміщений хід" + +msgid "``KEY_SNEXT``" +msgstr "``KEY_SNEXT``" + +msgid "Shifted Next" +msgstr "Зсув Далі" + +msgid "``KEY_SOPTIONS``" +msgstr "``KEY_SOPTIONS``" + +msgid "Shifted Options" +msgstr "Зміщені параметри" + +msgid "``KEY_SPREVIOUS``" +msgstr "``KEY_SPREVIOUS``" + +msgid "Shifted Prev" +msgstr "Зміщено Поперед" + +msgid "``KEY_SPRINT``" +msgstr "``KEY_SPRINT``" + +msgid "Shifted Print" +msgstr "Зміщений друк" + +msgid "``KEY_SREDO``" +msgstr "``KEY_SREDO``" + +msgid "Shifted Redo" +msgstr "Зміщений повтор" + +msgid "``KEY_SREPLACE``" +msgstr "``KEY_SREPLACE``" + +msgid "Shifted Replace" +msgstr "Зміщена заміна" + +msgid "``KEY_SRIGHT``" +msgstr "``KEY_RIGHT``" + +msgid "Shifted Right arrow" +msgstr "Зміщена стрілка вправо" + +msgid "``KEY_SRSUME``" +msgstr "``KEY_SRSUME``" + +msgid "Shifted Resume" +msgstr "Зміщене резюме" + +msgid "``KEY_SSAVE``" +msgstr "``KEY_SSAVE``" + +msgid "Shifted Save" +msgstr "Зміщене збереження" + +msgid "``KEY_SSUSPEND``" +msgstr "``KEY_SSUSPEND``" + +msgid "Shifted Suspend" +msgstr "Зміщене призупинення" + +msgid "``KEY_SUNDO``" +msgstr "``KEY_SUNDO``" + +msgid "Shifted Undo" +msgstr "Зміщене скасування" + +msgid "``KEY_SUSPEND``" +msgstr "``KEY_SUSPEND``" + +msgid "Suspend" +msgstr "Призупинити" + +msgid "``KEY_UNDO``" +msgstr "``KEY_UNDO``" + +msgid "Undo" +msgstr "Скасувати" + +msgid "``KEY_MOUSE``" +msgstr "``KEY_MOUSE``" + +msgid "Mouse event has occurred" +msgstr "Сталася подія миші" + +msgid "``KEY_RESIZE``" +msgstr "``KEY_RESIZE``" + +msgid "Terminal resize event" +msgstr "Подія зміни розміру терміналу" + +msgid "``KEY_MAX``" +msgstr "``KEY_MAX``" + +msgid "Maximum key value" +msgstr "Максимальне значення ключа" + +msgid "" +"On VT100s and their software emulations, such as X terminal emulators, there " +"are normally at least four function keys (:const:`KEY_F1`, :const:`KEY_F2`, :" +"const:`KEY_F3`, :const:`KEY_F4`) available, and the arrow keys mapped to :" +"const:`KEY_UP`, :const:`KEY_DOWN`, :const:`KEY_LEFT` and :const:`KEY_RIGHT` " +"in the obvious way. If your machine has a PC keyboard, it is safe to expect " +"arrow keys and twelve function keys (older PC keyboards may have only ten " +"function keys); also, the following keypad mappings are standard:" +msgstr "" +"У моделях VT100 та їх програмних емуляціях, таких як емулятори терміналу X, " +"зазвичай є принаймні чотири функціональні клавіші (:const:`KEY_F1`, :const:" +"`KEY_F2`, :const:`KEY_F3`, :const:`KEY_F4`) доступні, а клавіші зі стрілками " +"зіставлені з :const:`KEY_UP`, :const:`KEY_DOWN`, :const:`KEY_LEFT` і :const:" +"`KEY_RIGHT` очевидним способом. Якщо ваш комп’ютер має клавіатуру " +"комп’ютера, можна очікувати клавіш зі стрілками та дванадцяти функціональних " +"клавіш (старі клавіатури ПК можуть мати лише десять функціональних клавіш); " +"також стандартними є такі розкладки клавіатури:" + +msgid "Keycap" +msgstr "Клавіатура" + +msgid "Constant" +msgstr "Постійний" + +msgid ":kbd:`Insert`" +msgstr ":kbd:`Insert`" + +msgid "KEY_IC" +msgstr "KEY_IC" + +msgid ":kbd:`Delete`" +msgstr ":kbd:`Delete`" + +msgid "KEY_DC" +msgstr "KEY_DC" + +msgid ":kbd:`Home`" +msgstr ":kbd:`Home`" + +msgid "KEY_HOME" +msgstr "KEY_HOME" + +msgid ":kbd:`End`" +msgstr ":kbd:`End`" + +msgid "KEY_END" +msgstr "KEY_END" + +msgid ":kbd:`Page Up`" +msgstr ":kbd:`Page Up`" + +msgid "KEY_PPAGE" +msgstr "KEY_PPAGE" + +msgid ":kbd:`Page Down`" +msgstr ":kbd:`Page Down`" + +msgid "KEY_NPAGE" +msgstr "KEY_NPAGE" + +msgid "" +"The following table lists characters from the alternate character set. These " +"are inherited from the VT100 terminal, and will generally be available on " +"software emulations such as X terminals. When there is no graphic " +"available, curses falls back on a crude printable ASCII approximation." +msgstr "" +"У наведеній нижче таблиці наведено символи з альтернативного набору " +"символів. Вони успадковані від терміналу VT100 і, як правило, будуть " +"доступні на програмних емуляціях, таких як термінали X. Якщо немає доступної " +"графіки, curses повертається до грубого наближення для друку ASCII." + +msgid "These are available only after :func:`initscr` has been called." +msgstr "Вони доступні лише після виклику :func:`initscr`." + +msgid "ACS code" +msgstr "код ACS" + +msgid "``ACS_BBSS``" +msgstr "``ACS_BBSS``" + +msgid "alternate name for upper right corner" +msgstr "альтернативна назва для верхнього правого кута" + +msgid "``ACS_BLOCK``" +msgstr "``ACS_BLOCK``" + +msgid "solid square block" +msgstr "суцільний квадратний блок" + +msgid "``ACS_BOARD``" +msgstr "``ACS_BOARD``" + +msgid "board of squares" +msgstr "дошка з квадратів" + +msgid "``ACS_BSBS``" +msgstr "``ACS_BSBS``" + +msgid "alternate name for horizontal line" +msgstr "альтернативна назва горизонтальної лінії" + +msgid "``ACS_BSSB``" +msgstr "``ACS_BSSB``" + +msgid "alternate name for upper left corner" +msgstr "альтернативна назва для верхнього лівого кута" + +msgid "``ACS_BSSS``" +msgstr "``ACS_BSSS``" + +msgid "alternate name for top tee" +msgstr "альтернативна назва верхнього трійника" + +msgid "``ACS_BTEE``" +msgstr "``ACS_BTEE``" + +msgid "bottom tee" +msgstr "нижній трійник" + +msgid "``ACS_BULLET``" +msgstr "``ACS_BULLET``" + +msgid "bullet" +msgstr "куля" + +msgid "``ACS_CKBOARD``" +msgstr "``ACS_CKBOARD``" + +msgid "checker board (stipple)" +msgstr "шашка (пунктир)" + +msgid "``ACS_DARROW``" +msgstr "``ACS_DARROW``" + +msgid "arrow pointing down" +msgstr "стрілка вниз" + +msgid "``ACS_DEGREE``" +msgstr "``ACS_DEGREE``" + +msgid "degree symbol" +msgstr "символ ступеня" + +msgid "``ACS_DIAMOND``" +msgstr "``ACS_DIAMOND``" + +msgid "diamond" +msgstr "діамант" + +msgid "``ACS_GEQUAL``" +msgstr "``ACS_GEQUAL``" + +msgid "greater-than-or-equal-to" +msgstr "більший або рівний" + +msgid "``ACS_HLINE``" +msgstr "``ACS_HLINE``" + +msgid "horizontal line" +msgstr "горизонтальна лінія" + +msgid "``ACS_LANTERN``" +msgstr "``ACS_LANTERN``" + +msgid "lantern symbol" +msgstr "символ ліхтаря" + +msgid "``ACS_LARROW``" +msgstr "``ACS_LARROW``" + +msgid "left arrow" +msgstr "стрілка вліво" + +msgid "``ACS_LEQUAL``" +msgstr "``ACS_LEQUAL``" + +msgid "less-than-or-equal-to" +msgstr "менше або дорівнює" + +msgid "``ACS_LLCORNER``" +msgstr "``ACS_LLCORNER``" + +msgid "lower left-hand corner" +msgstr "нижній лівий кут" + +msgid "``ACS_LRCORNER``" +msgstr "``ACS_LRCORNER``" + +msgid "lower right-hand corner" +msgstr "нижній правий кут" + +msgid "``ACS_LTEE``" +msgstr "``ACS_LTEE``" + +msgid "left tee" +msgstr "лівий трійник" + +msgid "``ACS_NEQUAL``" +msgstr "``ACS_NEQUAL``" + +msgid "not-equal sign" +msgstr "знак нерівності" + +msgid "``ACS_PI``" +msgstr "``ACS_PI``" + +msgid "letter pi" +msgstr "літера пі" + +msgid "``ACS_PLMINUS``" +msgstr "``ACS_PLMINUS``" + +msgid "plus-or-minus sign" +msgstr "знак плюс або мінус" + +msgid "``ACS_PLUS``" +msgstr "``ACS_PLUS``" + +msgid "big plus sign" +msgstr "великий плюс" + +msgid "``ACS_RARROW``" +msgstr "``ACS_RARROW``" + +msgid "right arrow" +msgstr "стрілка вправо" + +msgid "``ACS_RTEE``" +msgstr "``ACS_RTEE``" + +msgid "right tee" +msgstr "правий трійник" + +msgid "``ACS_S1``" +msgstr "``ACS_S1``" + +msgid "scan line 1" +msgstr "сканувати рядок 1" + +msgid "``ACS_S3``" +msgstr "``ACS_S3``" + +msgid "scan line 3" +msgstr "рядок сканування 3" + +msgid "``ACS_S7``" +msgstr "``ACS_S7``" + +msgid "scan line 7" +msgstr "сканувати рядок 7" + +msgid "``ACS_S9``" +msgstr "``ACS_S9``" + +msgid "scan line 9" +msgstr "сканувати рядок 9" + +msgid "``ACS_SBBS``" +msgstr "``ACS_SBBS``" + +msgid "alternate name for lower right corner" +msgstr "альтернативна назва для нижнього правого кута" + +msgid "``ACS_SBSB``" +msgstr "``ACS_SBSB``" + +msgid "alternate name for vertical line" +msgstr "альтернативна назва для вертикальної лінії" + +msgid "``ACS_SBSS``" +msgstr "``ACS_SBSS``" + +msgid "alternate name for right tee" +msgstr "альтернативна назва правого трійника" + +msgid "``ACS_SSBB``" +msgstr "``ACS_SSBB``" + +msgid "alternate name for lower left corner" +msgstr "альтернативна назва для нижнього лівого кута" + +msgid "``ACS_SSBS``" +msgstr "``ACS_SSBS``" + +msgid "alternate name for bottom tee" +msgstr "альтернативна назва нижнього трійника" + +msgid "``ACS_SSSB``" +msgstr "``ACS_SSSB``" + +msgid "alternate name for left tee" +msgstr "альтернативна назва лівого трійника" + +msgid "``ACS_SSSS``" +msgstr "``ACS_SSSS``" + +msgid "alternate name for crossover or big plus" +msgstr "альтернативна назва для кросовера або великий плюс" + +msgid "``ACS_STERLING``" +msgstr "``ACS_STERLING``" + +msgid "pound sterling" +msgstr "фунт стерлінгів" + +msgid "``ACS_TTEE``" +msgstr "``ACS_TTEE``" + +msgid "top tee" +msgstr "верхній трійник" + +msgid "``ACS_UARROW``" +msgstr "``ACS_UARROW``" + +msgid "up arrow" +msgstr "стрілка вгору" + +msgid "``ACS_ULCORNER``" +msgstr "``ACS_ULCORNER``" + +msgid "upper left corner" +msgstr "верхній лівий кут" + +msgid "``ACS_URCORNER``" +msgstr "``ACS_URCORNER``" + +msgid "upper right corner" +msgstr "верхній правий кут" + +msgid "``ACS_VLINE``" +msgstr "``ACS_VLINE``" + +msgid "vertical line" +msgstr "вертикальна лінія" + +msgid "The following table lists the predefined colors:" +msgstr "У наведеній нижче таблиці перераховано попередньо визначені кольори:" + +msgid "Color" +msgstr "колір" + +msgid "``COLOR_BLACK``" +msgstr "``COLOR_BLACK``" + +msgid "Black" +msgstr "чорний" + +msgid "``COLOR_BLUE``" +msgstr "``COLOR_BLUE``" + +msgid "Blue" +msgstr "Синій" + +msgid "``COLOR_CYAN``" +msgstr "``COLOR_CYAN``" + +msgid "Cyan (light greenish blue)" +msgstr "Блакитний (світло-зеленувато-блакитний)" + +msgid "``COLOR_GREEN``" +msgstr "``COLOR_GREEN``" + +msgid "Green" +msgstr "Зелений" + +msgid "``COLOR_MAGENTA``" +msgstr "``COLOR_MAGENTA``" + +msgid "Magenta (purplish red)" +msgstr "Маджента (багряно-червоний)" + +msgid "``COLOR_RED``" +msgstr "``COLOR_RED``" + +msgid "Red" +msgstr "Червоний" + +msgid "``COLOR_WHITE``" +msgstr "``COLOR_WHITE``" + +msgid "White" +msgstr "Білий" + +msgid "``COLOR_YELLOW``" +msgstr "``COLOR_YELLOW``" + +msgid "Yellow" +msgstr "Жовтий" + +msgid ":mod:`curses.textpad` --- Text input widget for curses programs" +msgstr ":mod:`curses.textpad` --- Віджет введення тексту для програм curses" + +msgid "" +"The :mod:`curses.textpad` module provides a :class:`Textbox` class that " +"handles elementary text editing in a curses window, supporting a set of " +"keybindings resembling those of Emacs (thus, also of Netscape Navigator, " +"BBedit 6.x, FrameMaker, and many other programs). The module also provides " +"a rectangle-drawing function useful for framing text boxes or for other " +"purposes." +msgstr "" +"Модуль :mod:`curses.textpad` надає клас :class:`Textbox`, який обробляє " +"елементарне редагування тексту у вікні curses, підтримуючи набір прив’язок " +"клавіш, схожих на Emacs (тобто, також у Netscape Navigator, BBedit 6.x). , " +"FrameMaker та багато інших програм). Модуль також надає функцію малювання " +"прямокутника, корисну для обрамлення текстових полів або для інших цілей." + +msgid "The module :mod:`curses.textpad` defines the following function:" +msgstr "Модуль :mod:`curses.textpad` визначає таку функцію:" + +msgid "" +"Draw a rectangle. The first argument must be a window object; the remaining " +"arguments are coordinates relative to that window. The second and third " +"arguments are the y and x coordinates of the upper left hand corner of the " +"rectangle to be drawn; the fourth and fifth arguments are the y and x " +"coordinates of the lower right hand corner. The rectangle will be drawn " +"using VT100/IBM PC forms characters on terminals that make this possible " +"(including xterm and most other software terminal emulators). Otherwise it " +"will be drawn with ASCII dashes, vertical bars, and plus signs." +msgstr "" +"Намалюйте прямокутник. Першим аргументом має бути вікно; решта аргументів є " +"координатами відносно цього вікна. Другим і третім аргументами є координати " +"y і x верхнього лівого кута прямокутника, який буде намальовано; четвертий і " +"п'ятий аргументи - це координати y і x у нижньому правому куті. Прямокутник " +"буде намальовано за допомогою символів форм VT100/IBM PC на терміналах, які " +"це роблять можливим (включаючи xterm та більшість інших програмних " +"емуляторів терміналу). Інакше він буде намальований з дефісами ASCII, " +"вертикальними смужками та знаками плюса." + +msgid "Textbox objects" +msgstr "Об'єкти текстового поля" + +msgid "You can instantiate a :class:`Textbox` object as follows:" +msgstr "Ви можете створити об’єкт :class:`Textbox` наступним чином:" + +msgid "" +"Return a textbox widget object. The *win* argument should be a curses :ref:" +"`window ` object in which the textbox is to be " +"contained. The edit cursor of the textbox is initially located at the upper " +"left hand corner of the containing window, with coordinates ``(0, 0)``. The " +"instance's :attr:`stripspaces` flag is initially on." +msgstr "" +"Повертає об’єкт віджета текстового поля. Аргумент *win* має бути об’єктом " +"curses :ref:`window `, у якому має міститися текстове " +"поле. Курсор редагування текстового поля спочатку розташований у верхньому " +"лівому куті вікна, що містить, із координатами ``(0, 0)``. Прапор :attr:" +"`stripspaces` екземпляра спочатку ввімкнено." + +msgid ":class:`Textbox` objects have the following methods:" +msgstr "Об’єкти :class:`Textbox` мають такі методи:" + +msgid "" +"This is the entry point you will normally use. It accepts editing " +"keystrokes until one of the termination keystrokes is entered. If " +"*validator* is supplied, it must be a function. It will be called for each " +"keystroke entered with the keystroke as a parameter; command dispatch is " +"done on the result. This method returns the window contents as a string; " +"whether blanks in the window are included is affected by the :attr:" +"`stripspaces` attribute." +msgstr "" +"Це точка входу, яку ви зазвичай використовуєте. Він дозволяє редагувати " +"натискання клавіш, доки не буде введено одне з натискань клавіш завершення. " +"Якщо вказано *валідатор*, це має бути функція. Він буде викликаний для " +"кожного натискання клавіші, введеного з натисканням клавіші як параметром; " +"відправка команди виконується за результатом. Цей метод повертає вміст вікна " +"у вигляді рядка; атрибут :attr:`stripspaces` впливає на те, чи будуть " +"включені порожні місця у вікні." + +msgid "" +"Process a single command keystroke. Here are the supported special " +"keystrokes:" +msgstr "" +"Обробка натискання однієї команди. Ось підтримувані спеціальні натискання " +"клавіш:" + +msgid "Keystroke" +msgstr "натискання клавіші" + +msgid "Action" +msgstr "Дія" + +msgid ":kbd:`Control-A`" +msgstr ":kbd:`Control-A`" + +msgid "Go to left edge of window." +msgstr "Перейдіть до лівого краю вікна." + +msgid ":kbd:`Control-B`" +msgstr ":kbd:`Control-B`" + +msgid "Cursor left, wrapping to previous line if appropriate." +msgstr "Курсор ліворуч, перенесення на попередній рядок, якщо потрібно." + +msgid ":kbd:`Control-D`" +msgstr ":kbd:`Control-D`" + +msgid "Delete character under cursor." +msgstr "Видалити символ під курсором." + +msgid ":kbd:`Control-E`" +msgstr ":kbd:`Control-E`" + +msgid "Go to right edge (stripspaces off) or end of line (stripspaces on)." +msgstr "" +"Перейдіть до правого краю (пробілі вимкнено) або кінець рядка (пробілі " +"увімкнено)." + +msgid ":kbd:`Control-F`" +msgstr ":kbd:`Control-F`" + +msgid "Cursor right, wrapping to next line when appropriate." +msgstr "Курсор праворуч, перенесення на наступний рядок, якщо потрібно." + +msgid ":kbd:`Control-G`" +msgstr ":kbd:`Control-G`" + +msgid "Terminate, returning the window contents." +msgstr "Завершити, повернувши вміст вікна." + +msgid ":kbd:`Control-H`" +msgstr ":kbd:`Control-H`" + +msgid "Delete character backward." +msgstr "Видалити символ назад." + +msgid ":kbd:`Control-J`" +msgstr ":kbd:`Control-J`" + +msgid "Terminate if the window is 1 line, otherwise insert newline." +msgstr "" +"Завершити, якщо вікно складається з 1 рядка, інакше вставити новий рядок." + +msgid ":kbd:`Control-K`" +msgstr ":kbd:`Control-K`" + +msgid "If line is blank, delete it, otherwise clear to end of line." +msgstr "Якщо рядок порожній, видаліть його, інакше очистіть до кінця рядка." + +msgid ":kbd:`Control-L`" +msgstr ":kbd:`Control-L`" + +msgid "Refresh screen." +msgstr "Оновити екран." + +msgid ":kbd:`Control-N`" +msgstr ":kbd:`Control-N`" + +msgid "Cursor down; move down one line." +msgstr "Курсор вниз; переміститися на один рядок вниз." + +msgid ":kbd:`Control-O`" +msgstr ":kbd:`Control-O`" + +msgid "Insert a blank line at cursor location." +msgstr "Вставте порожній рядок у місці курсора." + +msgid ":kbd:`Control-P`" +msgstr ":kbd:`Control-P`" + +msgid "Cursor up; move up one line." +msgstr "Курсор вгору; переміститися на один рядок вгору." + +msgid "" +"Move operations do nothing if the cursor is at an edge where the movement is " +"not possible. The following synonyms are supported where possible:" +msgstr "" +"Операції переміщення нічого не роблять, якщо курсор знаходиться на краю, де " +"переміщення неможливе. За можливості підтримуються такі синоніми:" + +msgid ":const:`KEY_LEFT`" +msgstr ":const:`KEY_LEFT`" + +msgid ":const:`KEY_RIGHT`" +msgstr ":const:`KEY_RIGHT`" + +msgid ":const:`KEY_UP`" +msgstr ":const:`KEY_UP`" + +msgid ":const:`KEY_DOWN`" +msgstr ":const:`KEY_DOWN`" + +msgid ":const:`KEY_BACKSPACE`" +msgstr ":const:`KEY_BACKSPACE`" + +msgid ":kbd:`Control-h`" +msgstr ":kbd:`Control-h`" + +msgid "" +"All other keystrokes are treated as a command to insert the given character " +"and move right (with line wrapping)." +msgstr "" +"Усі інші натискання клавіш сприймаються як команда вставити вказаний символ " +"і переміститися вправо (з переносом рядка)." + +msgid "" +"Return the window contents as a string; whether blanks in the window are " +"included is affected by the :attr:`stripspaces` member." +msgstr "" +"Повертає вміст вікна у вигляді рядка; член :attr:`stripspaces` впливає на " +"те, чи будуть включені порожні місця у вікні." + +msgid "" +"This attribute is a flag which controls the interpretation of blanks in the " +"window. When it is on, trailing blanks on each line are ignored; any cursor " +"motion that would land the cursor on a trailing blank goes to the end of " +"that line instead, and trailing blanks are stripped when the window contents " +"are gathered." +msgstr "" +"Цей атрибут є прапорцем, який керує інтерпретацією прогалин у вікні. Коли " +"його ввімкнено, пробіли в кінці кожного рядка ігноруються; будь-який рух " +"курсору, який призведе до переходу курсора на порожнє місце в кінці, " +"натомість переходить у кінець цього рядка, а кінцеві порожні місця " +"видаляються, коли вміст вікна збирається." diff --git a/library/curses_ascii.po b/library/curses_ascii.po new file mode 100644 index 000000000..789efbe65 --- /dev/null +++ b/library/curses_ascii.po @@ -0,0 +1,419 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`curses.ascii` --- Utilities for ASCII characters" +msgstr ":mod:`curses.ascii` --- Утиліти для символів ASCII" + +msgid "" +"The :mod:`curses.ascii` module supplies name constants for ASCII characters " +"and functions to test membership in various ASCII character classes. The " +"constants supplied are names for control characters as follows:" +msgstr "" +"Модуль :mod:`curses.ascii` надає константи імен для символів ASCII і функції " +"для перевірки належності до різних класів символів ASCII. Надані константи є " +"такими іменами керуючих символів:" + +msgid "Name" +msgstr "Ім'я" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`NUL`" +msgstr ":const:`NUL`" + +msgid ":const:`SOH`" +msgstr ":const:`SOH`" + +msgid "Start of heading, console interrupt" +msgstr "Початок заголовка, переривання консолі" + +msgid ":const:`STX`" +msgstr ":const:`STX`" + +msgid "Start of text" +msgstr "Початок тексту" + +msgid ":const:`ETX`" +msgstr ":const:`ETX`" + +msgid "End of text" +msgstr "Кінець тексту" + +msgid ":const:`EOT`" +msgstr ":const:`EOT`" + +msgid "End of transmission" +msgstr "Кінець передачі" + +msgid ":const:`ENQ`" +msgstr ":const:`ENQ`" + +msgid "Enquiry, goes with :const:`ACK` flow control" +msgstr "Запит, іде з керуванням потоком :const:`ACK`" + +msgid ":const:`ACK`" +msgstr ":const:`ACK`" + +msgid "Acknowledgement" +msgstr "Подяка" + +msgid ":const:`BEL`" +msgstr ":const:`BEL`" + +msgid "Bell" +msgstr "дзвоник" + +msgid ":const:`BS`" +msgstr ":const:`BS`" + +msgid "Backspace" +msgstr "Backspace" + +msgid ":const:`TAB`" +msgstr ":const:`TAB`" + +msgid "Tab" +msgstr "вкладка" + +msgid ":const:`HT`" +msgstr ":const:`HT`" + +msgid "Alias for :const:`TAB`: \"Horizontal tab\"" +msgstr "Псевдонім для :const:`TAB`: \"Горизонтальна вкладка\"" + +msgid ":const:`LF`" +msgstr ":const:`LF`" + +msgid "Line feed" +msgstr "Передача рядка" + +msgid ":const:`NL`" +msgstr ":const:`NL`" + +msgid "Alias for :const:`LF`: \"New line\"" +msgstr "Псевдонім для :const:`LF`: \"Новий рядок\"" + +msgid ":const:`VT`" +msgstr ":const:`VT`" + +msgid "Vertical tab" +msgstr "Вертикальна вкладка" + +msgid ":const:`FF`" +msgstr ":const:`FF`" + +msgid "Form feed" +msgstr "Подача форми" + +msgid ":const:`CR`" +msgstr ":const:`CR`" + +msgid "Carriage return" +msgstr "Повернення каретки" + +msgid ":const:`SO`" +msgstr ":const:`SO`" + +msgid "Shift-out, begin alternate character set" +msgstr "Shift-out, початок альтернативного набору символів" + +msgid ":const:`SI`" +msgstr ":const:`SI`" + +msgid "Shift-in, resume default character set" +msgstr "Shift-in, відновлення стандартного набору символів" + +msgid ":const:`DLE`" +msgstr ":const:`DLE`" + +msgid "Data-link escape" +msgstr "Вихід каналу даних" + +msgid ":const:`DC1`" +msgstr ":const:`DC1`" + +msgid "XON, for flow control" +msgstr "XON, для керування потоком" + +msgid ":const:`DC2`" +msgstr ":const:`DC2`" + +msgid "Device control 2, block-mode flow control" +msgstr "Управління пристроєм 2, блочне керування потоком" + +msgid ":const:`DC3`" +msgstr ":const:`DC3`" + +msgid "XOFF, for flow control" +msgstr "XOFF, для керування потоком" + +msgid ":const:`DC4`" +msgstr ":const:`DC4`" + +msgid "Device control 4" +msgstr "Контроль пристрою 4" + +msgid ":const:`NAK`" +msgstr ":const:`NAK`" + +msgid "Negative acknowledgement" +msgstr "Негативне визнання" + +msgid ":const:`SYN`" +msgstr ":const:`SYN`" + +msgid "Synchronous idle" +msgstr "Синхронний холостий хід" + +msgid ":const:`ETB`" +msgstr ":const:`ETB`" + +msgid "End transmission block" +msgstr "Кінцевий блок передачі" + +msgid ":const:`CAN`" +msgstr ":const:`CAN`" + +msgid "Cancel" +msgstr "Скасувати" + +msgid ":const:`EM`" +msgstr ":const:`EM`" + +msgid "End of medium" +msgstr "Кінець середнього" + +msgid ":const:`SUB`" +msgstr ":const:`SUB`" + +msgid "Substitute" +msgstr "Замінник" + +msgid ":const:`ESC`" +msgstr ":const:`ESC`" + +msgid "Escape" +msgstr "Втеча" + +msgid ":const:`FS`" +msgstr ":const:`FS`" + +msgid "File separator" +msgstr "Роздільник файлів" + +msgid ":const:`GS`" +msgstr ":const:`GS`" + +msgid "Group separator" +msgstr "Роздільник груп" + +msgid ":const:`RS`" +msgstr ":const:`RS`" + +msgid "Record separator, block-mode terminator" +msgstr "Роздільник записів, термінатор блокового режиму" + +msgid ":const:`US`" +msgstr ":const:`US`" + +msgid "Unit separator" +msgstr "Роздільник одиниць" + +msgid ":const:`SP`" +msgstr ":const:`SP`" + +msgid "Space" +msgstr "космос" + +msgid ":const:`DEL`" +msgstr ":const:`DEL`" + +msgid "Delete" +msgstr "Видалити" + +msgid "" +"Note that many of these have little practical significance in modern usage. " +"The mnemonics derive from teleprinter conventions that predate digital " +"computers." +msgstr "" +"Зверніть увагу, що багато з них не мають практичного значення в сучасному " +"використанні. Мнемоніка походить від телепринтерів, які передували цифровим " +"комп’ютерам." + +msgid "" +"The module supplies the following functions, patterned on those in the " +"standard C library:" +msgstr "" +"Модуль надає такі функції, створені за зразком стандартної бібліотеки C:" + +msgid "" +"Checks for an ASCII alphanumeric character; it is equivalent to ``isalpha(c) " +"or isdigit(c)``." +msgstr "" +"Перевіряє наявність буквено-цифрового символу ASCII; це еквівалентно " +"``isalpha(c) або isdigit(c)``." + +msgid "" +"Checks for an ASCII alphabetic character; it is equivalent to ``isupper(c) " +"or islower(c)``." +msgstr "" +"Перевіряє наявність літер ASCII; це еквівалентно ``isupper(c) або " +"islower(c)``." + +msgid "Checks for a character value that fits in the 7-bit ASCII set." +msgstr "Перевіряє значення символу, яке відповідає 7-бітовому набору ASCII." + +msgid "Checks for an ASCII whitespace character; space or horizontal tab." +msgstr "Перевіряє пробіл ASCII; пробіл або горизонтальну табуляцію." + +msgid "" +"Checks for an ASCII control character (in the range 0x00 to 0x1f or 0x7f)." +msgstr "" +"Перевіряє контрольний символ ASCII (у діапазоні від 0x00 до 0x1f або 0x7f)." + +msgid "" +"Checks for an ASCII decimal digit, ``'0'`` through ``'9'``. This is " +"equivalent to ``c in string.digits``." +msgstr "" +"Перевіряє десяткову цифру ASCII від ``'0'`` до ``'9'``. Це еквівалентно ``c " +"в string.digits``." + +msgid "Checks for ASCII any printable character except space." +msgstr "Перевіряє ASCII будь-який друкований символ, крім пробілу." + +msgid "Checks for an ASCII lower-case character." +msgstr "Перевіряє символ ASCII у нижньому регістрі." + +msgid "Checks for any ASCII printable character including space." +msgstr "Перевіряє будь-який друкований символ ASCII, включаючи пробіл." + +msgid "" +"Checks for any printable ASCII character which is not a space or an " +"alphanumeric character." +msgstr "" +"Перевіряє будь-який друкований символ ASCII, який не є пробілом або буквено-" +"цифровим символом." + +msgid "" +"Checks for ASCII white-space characters; space, line feed, carriage return, " +"form feed, horizontal tab, vertical tab." +msgstr "" +"Перевіряє пробіли ASCII; пробіл, переведення рядка, повернення каретки, " +"передача форми, горизонтальна табуляція, вертикальна табуляція." + +msgid "Checks for an ASCII uppercase letter." +msgstr "Перевіряє наявність великої літери ASCII." + +msgid "" +"Checks for an ASCII hexadecimal digit. This is equivalent to ``c in string." +"hexdigits``." +msgstr "" +"Перевіряє шістнадцяткову цифру ASCII. Це еквівалентно ``c в string." +"hexdigits``." + +msgid "Checks for an ASCII control character (ordinal values 0 to 31)." +msgstr "Перевіряє контрольний символ ASCII (порядкові значення від 0 до 31)." + +msgid "Checks for a non-ASCII character (ordinal values 0x80 and above)." +msgstr "" +"Перевіряє символи, відмінні від ASCII (порядкові значення 0x80 і вище)." + +msgid "" +"These functions accept either integers or single-character strings; when the " +"argument is a string, it is first converted using the built-in function :" +"func:`ord`." +msgstr "" +"Ці функції приймають або цілі числа, або односимвольні рядки; коли аргумент " +"є рядком, він спочатку перетворюється за допомогою вбудованої функції :func:" +"`ord`." + +msgid "" +"Note that all these functions check ordinal bit values derived from the " +"character of the string you pass in; they do not actually know anything " +"about the host machine's character encoding." +msgstr "" +"Зауважте, що всі ці функції перевіряють порядкові значення бітів, отримані " +"від символу рядка, який ви передаєте; вони насправді нічого не знають про " +"кодування символів хост-машини." + +msgid "" +"The following two functions take either a single-character string or integer " +"byte value; they return a value of the same type." +msgstr "" +"Наступні дві функції приймають односимвольний рядок або ціле байтове " +"значення; вони повертають значення того самого типу." + +msgid "Return the ASCII value corresponding to the low 7 bits of *c*." +msgstr "Повертає значення ASCII, що відповідає молодшим 7 бітам *c*." + +msgid "" +"Return the control character corresponding to the given character (the " +"character bit value is bitwise-anded with 0x1f)." +msgstr "" +"Повертає керуючий символ, що відповідає заданому символу (значення біта " +"символу порозрядно додається до 0x1f)." + +msgid "" +"Return the 8-bit character corresponding to the given ASCII character (the " +"character bit value is bitwise-ored with 0x80)." +msgstr "" +"Повертає 8-бітовий символ, що відповідає даному символу ASCII (значення біта " +"символу порозрядно упорядковується з 0x80)." + +msgid "" +"The following function takes either a single-character string or integer " +"value; it returns a string." +msgstr "" +"Наступна функція приймає односимвольний рядок або ціле число; він повертає " +"рядок." + +msgid "" +"Return a string representation of the ASCII character *c*. If *c* is " +"printable, this string is the character itself. If the character is a " +"control character (0x00--0x1f) the string consists of a caret (``'^'``) " +"followed by the corresponding uppercase letter. If the character is an ASCII " +"delete (0x7f) the string is ``'^?'``. If the character has its meta bit " +"(0x80) set, the meta bit is stripped, the preceding rules applied, and " +"``'!'`` prepended to the result." +msgstr "" +"Повертає рядкове представлення символу ASCII *c*. Якщо *c* можна " +"надрукувати, цей рядок є самим символом. Якщо символ є керуючим " +"(0x00--0x1f), рядок складається з каретки (``'^'``), за якою йде відповідна " +"велика літера. Якщо символ видалення ASCII (0x7f), рядок має вигляд " +"``'^?''``. Якщо для символу встановлено мета-біт (0x80), мета-біт " +"видаляється, застосовуються попередні правила та перед результатом додається " +"``'!'``." + +msgid "" +"A 33-element string array that contains the ASCII mnemonics for the thirty-" +"two ASCII control characters from 0 (NUL) to 0x1f (US), in order, plus the " +"mnemonic ``SP`` for the space character." +msgstr "" +"33-елементний рядковий масив, який містить мнемоніку ASCII для тридцяти двох " +"керуючих символів ASCII від 0 (NUL) до 0x1f (США), по порядку, а також " +"мнемоніку SP для символу пробілу." diff --git a/library/curses_panel.po b/library/curses_panel.po new file mode 100644 index 000000000..cd94eab89 --- /dev/null +++ b/library/curses_panel.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`curses.panel` --- A panel stack extension for curses" +msgstr ":mod:`curses.panel` --- розширення стеку панелі для curses" + +msgid "" +"Panels are windows with the added feature of depth, so they can be stacked " +"on top of each other, and only the visible portions of each window will be " +"displayed. Panels can be added, moved up or down in the stack, and removed." +msgstr "" +"Панелі — це вікна з додатковою функцією глибини, тому їх можна накладати " +"одна на одну, і відображатимуться лише видимі частини кожного вікна. Панелі " +"можна додавати, переміщувати вгору або вниз у стеку та видаляти." + +msgid "Functions" +msgstr "Функції" + +msgid "The module :mod:`curses.panel` defines the following functions:" +msgstr "Модуль :mod:`curses.panel` визначає такі функції:" + +msgid "Returns the bottom panel in the panel stack." +msgstr "Повертає нижню панель у стеку панелей." + +msgid "" +"Returns a panel object, associating it with the given window *win*. Be aware " +"that you need to keep the returned panel object referenced explicitly. If " +"you don't, the panel object is garbage collected and removed from the panel " +"stack." +msgstr "" +"Повертає об’єкт панелі, пов’язуючи його з даним вікном *win*. Майте на " +"увазі, що ви повинні зберегти явне посилання на повернутий об’єкт панелі. " +"Якщо ви цього не зробите, об’єкт панелі збирається як сміття та видаляється " +"зі стека панелей." + +msgid "Returns the top panel in the panel stack." +msgstr "Повертає верхню панель у стеку панелей." + +msgid "" +"Updates the virtual screen after changes in the panel stack. This does not " +"call :func:`curses.doupdate`, so you'll have to do this yourself." +msgstr "" +"Оновлює віртуальний екран після змін у стеку панелей. Це не викликає :func:" +"`curses.doupdate`, тому вам доведеться зробити це самостійно." + +msgid "Panel Objects" +msgstr "Об'єкти панелі" + +msgid "" +"Panel objects, as returned by :func:`new_panel` above, are windows with a " +"stacking order. There's always a window associated with a panel which " +"determines the content, while the panel methods are responsible for the " +"window's depth in the panel stack." +msgstr "" +"Об’єкти панелі, які повертає :func:`new_panel` вище, є вікнами з порядком " +"укладання. Завжди існує вікно, пов’язане з панеллю, яке визначає вміст, тоді " +"як методи панелі відповідають за глибину вікна в стеку панелей." + +msgid "Panel objects have the following methods:" +msgstr "Панельні об’єкти мають такі методи:" + +msgid "Returns the panel above the current panel." +msgstr "Повертає панель над поточною панеллю." + +msgid "Returns the panel below the current panel." +msgstr "Повертає панель під поточною панеллю." + +msgid "Push the panel to the bottom of the stack." +msgstr "Натисніть панель на дно стосу." + +msgid "" +"Returns ``True`` if the panel is hidden (not visible), ``False`` otherwise." +msgstr "Повертає ``True``, якщо панель прихована (невидима), ``False`` інакше." + +msgid "" +"Hide the panel. This does not delete the object, it just makes the window on " +"screen invisible." +msgstr "" +"Сховати панель. Це не видаляє об’єкт, а лише робить вікно на екрані " +"невидимим." + +msgid "Move the panel to the screen coordinates ``(y, x)``." +msgstr "Перемістіть панель до екранних координат ``(y, x)``." + +msgid "Change the window associated with the panel to the window *win*." +msgstr "Змініть вікно, пов’язане з панеллю, на вікно *win*." + +msgid "" +"Set the panel's user pointer to *obj*. This is used to associate an " +"arbitrary piece of data with the panel, and can be any Python object." +msgstr "" +"Встановіть покажчик користувача панелі на *obj*. Це використовується для " +"зв’язування довільної частини даних із панеллю та може бути будь-яким " +"об’єктом Python." + +msgid "Display the panel (which might have been hidden)." +msgstr "Відобразити панель (яка могла бути прихованою)." + +msgid "Push panel to the top of the stack." +msgstr "Посуньте панель до верхньої частини стека." + +msgid "" +"Returns the user pointer for the panel. This might be any Python object." +msgstr "" +"Повертає вказівник користувача для панелі. Це може бути будь-який об’єкт " +"Python." + +msgid "Returns the window object associated with the panel." +msgstr "Повертає об’єкт вікна, пов’язаний із панеллю." diff --git a/library/custominterp.po b/library/custominterp.po new file mode 100644 index 000000000..aaa4395f4 --- /dev/null +++ b/library/custominterp.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Custom Python Interpreters" +msgstr "Спеціальні інтерпретатори Python" + +msgid "" +"The modules described in this chapter allow writing interfaces similar to " +"Python's interactive interpreter. If you want a Python interpreter that " +"supports some special feature in addition to the Python language, you should " +"look at the :mod:`code` module. (The :mod:`codeop` module is lower-level, " +"used to support compiling a possibly incomplete chunk of Python code.)" +msgstr "" + +msgid "The full list of modules described in this chapter is:" +msgstr "Повний перелік модулів, описаних у цьому розділі:" diff --git a/library/dataclasses.po b/library/dataclasses.po new file mode 100644 index 000000000..04424ece2 --- /dev/null +++ b/library/dataclasses.po @@ -0,0 +1,1021 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:03+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`dataclasses` --- Data Classes" +msgstr ":mod:`dataclasses` --- Класи даних" + +msgid "**Source code:** :source:`Lib/dataclasses.py`" +msgstr "**Вихідний код:** :source:`Lib/dataclasses.py`" + +msgid "" +"This module provides a decorator and functions for automatically adding " +"generated :term:`special method`\\s such as :meth:`__init__` and :meth:" +"`__repr__` to user-defined classes. It was originally described in :pep:" +"`557`." +msgstr "" +"Цей модуль надає декоратор і функції для автоматичного додавання " +"згенерованих :term:`special method`\\, таких як :meth:`__init__` і :meth:" +"`__repr__` до визначених користувачем класів. Спочатку це було описано в :" +"pep:`557`." + +msgid "" +"The member variables to use in these generated methods are defined using :" +"pep:`526` type annotations. For example, this code::" +msgstr "" +"Змінні-члени для використання в цих згенерованих методах визначаються за " +"допомогою анотацій типу :pep:`526`. Наприклад, цей код::" + +msgid "will add, among other things, a :meth:`__init__` that looks like::" +msgstr "додасть, серед іншого, :meth:`__init__`, який виглядає так::" + +msgid "" +"Note that this method is automatically added to the class: it is not " +"directly specified in the ``InventoryItem`` definition shown above." +msgstr "" +"Зауважте, що цей метод автоматично додається до класу: він не вказано " +"безпосередньо у визначенні ``InventoryItem``, показаному вище." + +msgid "Module contents" +msgstr "Зміст модуля" + +msgid "" +"This function is a :term:`decorator` that is used to add generated :term:" +"`special method`\\s to classes, as described below." +msgstr "" +"Ця функція є :term:`decorator`, який використовується для додавання " +"згенерованих :term:`special method`\\ до класів, як описано нижче." + +msgid "" +"The :func:`dataclass` decorator examines the class to find ``field``\\s. A " +"``field`` is defined as a class variable that has a :term:`type annotation " +"`. With two exceptions described below, nothing in :" +"func:`dataclass` examines the type specified in the variable annotation." +msgstr "" +"Декоратор :func:`dataclass` перевіряє клас, щоб знайти ``поля`` \\s. " +"``Поле`` визначається як змінна класу, яка має :term:`анотацію типу " +"`. За двома винятками, описаними нижче, нічого в :func:" +"`dataclass` не перевіряє тип, указаний в анотації змінної." + +msgid "" +"The order of the fields in all of the generated methods is the order in " +"which they appear in the class definition." +msgstr "" +"Порядок полів у всіх згенерованих методах – це порядок, у якому вони " +"з’являються у визначенні класу." + +msgid "" +"The :func:`dataclass` decorator will add various \"dunder\" methods to the " +"class, described below. If any of the added methods already exist in the " +"class, the behavior depends on the parameter, as documented below. The " +"decorator returns the same class that it is called on; no new class is " +"created." +msgstr "" +"Декоратор :func:`dataclass` додасть різні методи \"dunder\" до класу, " +"описані нижче. Якщо будь-який із доданих методів уже існує в класі, " +"поведінка залежить від параметра, як описано нижче. Декоратор повертає той " +"самий клас, до якого він викликаний; новий клас не створюється." + +msgid "" +"If :func:`dataclass` is used just as a simple decorator with no parameters, " +"it acts as if it has the default values documented in this signature. That " +"is, these three uses of :func:`dataclass` are equivalent::" +msgstr "" +"Якщо :func:`dataclass` використовується просто як простий декоратор без " +"параметрів, він діє так, ніби має значення за замовчуванням, задокументовані " +"в цьому підписі. Тобто ці три способи використання :func:`dataclass` " +"еквівалентні:" + +msgid "The parameters to :func:`dataclass` are:" +msgstr "Параметри :func:`dataclass`:" + +msgid "" +"``init``: If true (the default), a :meth:`__init__` method will be generated." +msgstr "" +"``init``: Якщо true (за замовчуванням), буде згенеровано метод :meth:" +"`__init__`." + +msgid "" +"If the class already defines :meth:`__init__`, this parameter is ignored." +msgstr "Якщо клас уже визначає :meth:`__init__`, цей параметр ігнорується." + +msgid "" +"``repr``: If true (the default), a :meth:`__repr__` method will be " +"generated. The generated repr string will have the class name and the name " +"and repr of each field, in the order they are defined in the class. Fields " +"that are marked as being excluded from the repr are not included. For " +"example: ``InventoryItem(name='widget', unit_price=3.0, " +"quantity_on_hand=10)``." +msgstr "" +"``repr``: Якщо true (за замовчуванням), буде згенеровано метод :meth:" +"`__repr__`. Згенерований рядок repr матиме назву класу, а також ім’я та repr " +"кожного поля в тому порядку, у якому вони визначені в класі. Поля, які " +"позначені як такі, що виключаються з відображення, не включені. Наприклад: " +"``InventoryItem(name='widget', unit_price=3.0, quantity_on_hand=10)``." + +msgid "" +"If the class already defines :meth:`__repr__`, this parameter is ignored." +msgstr "Якщо клас уже визначає :meth:`__repr__`, цей параметр ігнорується." + +msgid "" +"``eq``: If true (the default), an :meth:`__eq__` method will be generated. " +"This method compares the class as if it were a tuple of its fields, in " +"order. Both instances in the comparison must be of the identical type." +msgstr "" +"``eq``: Якщо true (за замовчуванням), буде згенеровано метод :meth:`__eq__`. " +"Цей метод порівнює клас так, ніби це кортеж його полів, по порядку. Обидва " +"екземпляри для порівняння мають бути однакового типу." + +msgid "If the class already defines :meth:`__eq__`, this parameter is ignored." +msgstr "Якщо клас уже визначає :meth:`__eq__`, цей параметр ігнорується." + +msgid "" +"``order``: If true (the default is ``False``), :meth:`__lt__`, :meth:" +"`__le__`, :meth:`__gt__`, and :meth:`__ge__` methods will be generated. " +"These compare the class as if it were a tuple of its fields, in order. Both " +"instances in the comparison must be of the identical type. If ``order`` is " +"true and ``eq`` is false, a :exc:`ValueError` is raised." +msgstr "" +"``order``: якщо істина (за замовчуванням ``False``), методи :meth:`__lt__`, :" +"meth:`__le__`, :meth:`__gt__` і :meth:`__ge__` будуть створений. Вони " +"порівнюють клас так, ніби це кортеж його полів, по порядку. Обидва " +"екземпляри для порівняння мають бути однакового типу. Якщо ``order`` " +"істинне, а ``eq`` хибне, викликається :exc:`ValueError`." + +msgid "" +"If the class already defines any of :meth:`__lt__`, :meth:`__le__`, :meth:" +"`__gt__`, or :meth:`__ge__`, then :exc:`TypeError` is raised." +msgstr "" +"Якщо клас уже визначає будь-який із :meth:`__lt__`, :meth:`__le__`, :meth:" +"`__gt__` або :meth:`__ge__`, тоді виникає :exc:`TypeError`." + +msgid "" +"``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method is " +"generated according to how ``eq`` and ``frozen`` are set." +msgstr "" +"``unsafe_hash``: якщо ``False`` (за замовчуванням), метод :meth:`__hash__` " +"генерується відповідно до того, як встановлено ``eq`` і ``frozen``." + +msgid "" +":meth:`__hash__` is used by built-in :meth:`hash()`, and when objects are " +"added to hashed collections such as dictionaries and sets. Having a :meth:" +"`__hash__` implies that instances of the class are immutable. Mutability is " +"a complicated property that depends on the programmer's intent, the " +"existence and behavior of :meth:`__eq__`, and the values of the ``eq`` and " +"``frozen`` flags in the :func:`dataclass` decorator." +msgstr "" +":meth:`__hash__` використовується вбудованим :meth:`hash()`, а також коли " +"об’єкти додаються до хешованих колекцій, таких як словники та набори. " +"Наявність :meth:`__hash__` означає, що екземпляри класу незмінні. Змінність " +"— це складна властивість, яка залежить від наміру програміста, існування та " +"поведінки :meth:`__eq__`, а також значень прапорів ``eq`` і ``frozen`` у " +"декораторі :func:`dataclass` ." + +msgid "" +"By default, :func:`dataclass` will not implicitly add a :meth:`__hash__` " +"method unless it is safe to do so. Neither will it add or change an " +"existing explicitly defined :meth:`__hash__` method. Setting the class " +"attribute ``__hash__ = None`` has a specific meaning to Python, as described " +"in the :meth:`__hash__` documentation." +msgstr "" +"За замовчуванням :func:`dataclass` не буде неявно додавати метод :meth:" +"`__hash__`, якщо це безпечно. Він також не буде додавати або змінювати " +"існуючий явно визначений метод :meth:`__hash__`. Налаштування атрибута класу " +"``__hash__ = None`` має певне значення для Python, як описано в " +"документації :meth:`__hash__`." + +msgid "" +"If :meth:`__hash__` is not explicitly defined, or if it is set to ``None``, " +"then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. " +"Although not recommended, you can force :func:`dataclass` to create a :meth:" +"`__hash__` method with ``unsafe_hash=True``. This might be the case if your " +"class is logically immutable but can nonetheless be mutated. This is a " +"specialized use case and should be considered carefully." +msgstr "" +"Якщо :meth:`__hash__` не визначено явно або якщо для нього встановлено " +"значення ``None``, тоді :func:`dataclass` *може* додати неявний метод :meth:" +"`__hash__`. Хоча це не рекомендовано, ви можете змусити :func:`dataclass` " +"створити метод :meth:`__hash__` з ``unsafe_hash=True``. Це може бути у " +"випадку, якщо ваш клас є логічно незмінним, але його можна змінити. Це " +"спеціальний випадок використання, і його слід уважно розглянути." + +msgid "" +"Here are the rules governing implicit creation of a :meth:`__hash__` " +"method. Note that you cannot both have an explicit :meth:`__hash__` method " +"in your dataclass and set ``unsafe_hash=True``; this will result in a :exc:" +"`TypeError`." +msgstr "" +"Ось правила, що регулюють неявне створення методу :meth:`__hash__`. " +"Зауважте, що ви не можете одночасно мати явний метод :meth:`__hash__` у " +"своєму класі даних і встановити ``unsafe_hash=True``; це призведе до :exc:" +"`TypeError`." + +msgid "" +"If ``eq`` and ``frozen`` are both true, by default :func:`dataclass` will " +"generate a :meth:`__hash__` method for you. If ``eq`` is true and " +"``frozen`` is false, :meth:`__hash__` will be set to ``None``, marking it " +"unhashable (which it is, since it is mutable). If ``eq`` is false, :meth:" +"`__hash__` will be left untouched meaning the :meth:`__hash__` method of the " +"superclass will be used (if the superclass is :class:`object`, this means it " +"will fall back to id-based hashing)." +msgstr "" +"Якщо ``eq`` і ``frozen`` обидва істинні, за замовчуванням :func:`dataclass` " +"створить для вас метод :meth:`__hash__`. Якщо ``eq`` має значення true, а " +"``frozen`` — false, :meth:`__hash__` буде встановлено на ``None``, " +"позначаючи його як нехешований (що й є, оскільки він змінний). Якщо ``eq`` " +"має значення false, :meth:`__hash__` залишиться недоторканим, що означає, що " +"буде використано метод :meth:`__hash__` суперкласу (якщо суперкласом є :" +"class:`object`, це означає, що він буде повернутися до хешування на основі " +"ідентифікатора)." + +msgid "" +"``frozen``: If true (the default is ``False``), assigning to fields will " +"generate an exception. This emulates read-only frozen instances. If :meth:" +"`__setattr__` or :meth:`__delattr__` is defined in the class, then :exc:" +"`TypeError` is raised. See the discussion below." +msgstr "" +"``frozen``: якщо true (за замовчуванням ``False``), присвоєння полям " +"створить виняток. Це емулює заморожені екземпляри лише для читання. Якщо :" +"meth:`__setattr__` або :meth:`__delattr__` визначено в класі, тоді виникає :" +"exc:`TypeError`. Дивіться обговорення нижче." + +msgid "" +"``match_args``: If true (the default is ``True``), the ``__match_args__`` " +"tuple will be created from the list of parameters to the generated :meth:" +"`__init__` method (even if :meth:`__init__` is not generated, see above). " +"If false, or if ``__match_args__`` is already defined in the class, then " +"``__match_args__`` will not be generated." +msgstr "" +"``match_args``: Якщо значення true (за замовчуванням ``True``), кортеж " +"``__match_args__`` буде створено зі списку параметрів для згенерованого " +"методу :meth:`__init__` (навіть якщо :meth:`__init__` не генерується, див. " +"вище). Якщо false або якщо ``__match_args__`` вже визначено в класі, то " +"``__match_args__`` не буде згенеровано." + +msgid "" +"``kw_only``: If true (the default value is ``False``), then all fields will " +"be marked as keyword-only. If a field is marked as keyword-only, then the " +"only effect is that the :meth:`__init__` parameter generated from a keyword-" +"only field must be specified with a keyword when :meth:`__init__` is " +"called. There is no effect on any other aspect of dataclasses. See the :" +"term:`parameter` glossary entry for details. Also see the :const:`KW_ONLY` " +"section." +msgstr "" + +msgid "" +"``slots``: If true (the default is ``False``), :attr:`__slots__` attribute " +"will be generated and new class will be returned instead of the original " +"one. If :attr:`__slots__` is already defined in the class, then :exc:" +"`TypeError` is raised." +msgstr "" +"``slots``: якщо істина (за замовчуванням ``False``), буде згенеровано " +"атрибут :attr:`__slots__` і буде повернено новий клас замість оригінального. " +"Якщо :attr:`__slots__` вже визначено в класі, тоді виникає :exc:`TypeError`." + +msgid "" +"If a field name is already included in the ``__slots__`` of a base class, it " +"will not be included in the generated ``__slots__`` to prevent :ref:" +"`overriding them `. Therefore, do not use " +"``__slots__`` to retrieve the field names of a dataclass. Use :func:`fields` " +"instead. To be able to determine inherited slots, base class ``__slots__`` " +"may be any iterable, but *not* an iterator." +msgstr "" + +msgid "" +"``weakref_slot``: If true (the default is ``False``), add a slot named " +"\"__weakref__\", which is required to make an instance weakref-able. It is " +"an error to specify ``weakref_slot=True`` without also specifying " +"``slots=True``." +msgstr "" + +msgid "" +"``field``\\s may optionally specify a default value, using normal Python " +"syntax::" +msgstr "" +"``field``\\s може додатково вказати значення за замовчуванням, " +"використовуючи звичайний синтаксис Python:" + +msgid "" +"In this example, both ``a`` and ``b`` will be included in the added :meth:" +"`__init__` method, which will be defined as::" +msgstr "" +"У цьому прикладі як ``a``, так і ``b`` будуть включені в доданий метод :meth:" +"`__init__`, який буде визначено як::" + +msgid "" +":exc:`TypeError` will be raised if a field without a default value follows a " +"field with a default value. This is true whether this occurs in a single " +"class, or as a result of class inheritance." +msgstr "" +":exc:`TypeError` буде викликано, якщо поле без значення за замовчуванням " +"слідує за полем зі значенням за замовчуванням. Це вірно незалежно від того, " +"чи відбувається це в одному класі, чи в результаті успадкування класу." + +msgid "" +"For common and simple use cases, no other functionality is required. There " +"are, however, some dataclass features that require additional per-field " +"information. To satisfy this need for additional information, you can " +"replace the default field value with a call to the provided :func:`field` " +"function. For example::" +msgstr "" +"Для звичайних і простих випадків використання інші функції не потрібні. " +"Однак існують деякі функції класу даних, які потребують додаткової " +"інформації для кожного поля. Щоб задовольнити цю потребу в додатковій " +"інформації, ви можете замінити значення поля за замовчуванням викликом " +"наданої функції :func:`field`. Наприклад::" + +msgid "" +"As shown above, the :const:`MISSING` value is a sentinel object used to " +"detect if some parameters are provided by the user. This sentinel is used " +"because ``None`` is a valid value for some parameters with a distinct " +"meaning. No code should directly use the :const:`MISSING` value." +msgstr "" +"Як показано вище, значення :const:`MISSING` є дозорним об’єктом, який " +"використовується для визначення того, чи деякі параметри надає користувач. " +"Цей контрольний сигнал використовується, оскільки ``None`` є дійсним " +"значенням для деяких параметрів з чітким значенням. Жоден код не повинен " +"безпосередньо використовувати значення :const:`MISSING`." + +msgid "The parameters to :func:`field` are:" +msgstr "Параметри :func:`field` такі:" + +msgid "" +"``default``: If provided, this will be the default value for this field. " +"This is needed because the :meth:`field` call itself replaces the normal " +"position of the default value." +msgstr "" +"``default``: якщо вказано, це буде значення за замовчуванням для цього поля. " +"Це необхідно, оскільки сам виклик :meth:`field` замінює звичайну позицію " +"значення за замовчуванням." + +msgid "" +"``default_factory``: If provided, it must be a zero-argument callable that " +"will be called when a default value is needed for this field. Among other " +"purposes, this can be used to specify fields with mutable default values, as " +"discussed below. It is an error to specify both ``default`` and " +"``default_factory``." +msgstr "" +"``default_factory``: якщо вказано, це має бути функція виклику з нульовим " +"аргументом, яка буде викликана, коли для цього поля потрібне значення за " +"замовчуванням. Серед інших цілей це можна використовувати для визначення " +"полів зі змінними значеннями за замовчуванням, як обговорюється нижче. " +"Помилково вказувати як ``default``, так і ``default_factory``." + +msgid "" +"``init``: If true (the default), this field is included as a parameter to " +"the generated :meth:`__init__` method." +msgstr "" +"``init``: Якщо true (за замовчуванням), це поле включено як параметр до " +"створеного методу :meth:`__init__`." + +msgid "" +"``repr``: If true (the default), this field is included in the string " +"returned by the generated :meth:`__repr__` method." +msgstr "" +"``repr``: Якщо true (за замовчуванням), це поле включено в рядок, який " +"повертає згенерований метод :meth:`__repr__`." + +msgid "" +"``hash``: This can be a bool or ``None``. If true, this field is included " +"in the generated :meth:`__hash__` method. If ``None`` (the default), use " +"the value of ``compare``: this would normally be the expected behavior. A " +"field should be considered in the hash if it's used for comparisons. " +"Setting this value to anything other than ``None`` is discouraged." +msgstr "" +"``хеш``: Це може бути логічне значення або ``None``. Якщо значення true, це " +"поле буде включено до згенерованого методу :meth:`__hash__`. Якщо ``None`` " +"(за замовчуванням), використовуйте значення ``compare``: зазвичай це буде " +"очікувана поведінка. Поле слід враховувати в хеші, якщо воно " +"використовується для порівнянь. Не рекомендується встановлювати для цього " +"значення будь-яке значення, окрім ``None``." + +msgid "" +"One possible reason to set ``hash=False`` but ``compare=True`` would be if a " +"field is expensive to compute a hash value for, that field is needed for " +"equality testing, and there are other fields that contribute to the type's " +"hash value. Even if a field is excluded from the hash, it will still be " +"used for comparisons." +msgstr "" +"Однією з можливих причин встановити ``hash=False``, але ``compare=True`` " +"було б, якщо поле є дорогим для обчислення хеш-значення, це поле потрібне " +"для перевірки рівності, і є інші поля, які сприяють хеш-значення типу. " +"Навіть якщо поле виключено з хешу, воно все одно використовуватиметься для " +"порівнянь." + +msgid "" +"``compare``: If true (the default), this field is included in the generated " +"equality and comparison methods (:meth:`__eq__`, :meth:`__gt__`, et al.)." +msgstr "" +"``compare``: якщо true (за замовчуванням), це поле включено до згенерованих " +"методів рівності та порівняння (:meth:`__eq__`, :meth:`__gt__` та ін.)." + +msgid "" +"``metadata``: This can be a mapping or None. None is treated as an empty " +"dict. This value is wrapped in :func:`~types.MappingProxyType` to make it " +"read-only, and exposed on the :class:`Field` object. It is not used at all " +"by Data Classes, and is provided as a third-party extension mechanism. " +"Multiple third-parties can each have their own key, to use as a namespace in " +"the metadata." +msgstr "" +"``метадані``: це може бути відображення або немає. None не розглядається як " +"порожній dict. Це значення загорнуте в :func:`~types.MappingProxyType`, щоб " +"зробити його доступним лише для читання, і відображатиметься в об’єкті :" +"class:`Field`. Він взагалі не використовується класами даних і надається як " +"сторонній механізм розширення. Кілька сторонніх розробників можуть мати " +"власний ключ, який можна використовувати як простір імен у метаданих." + +msgid "" +"``kw_only``: If true, this field will be marked as keyword-only. This is " +"used when the generated :meth:`__init__` method's parameters are computed." +msgstr "" +"``kw_only``: якщо істина, це поле буде позначено як лише ключове слово. Це " +"використовується, коли обчислюються параметри згенерованого методу :meth:" +"`__init__`." + +msgid "" +"If the default value of a field is specified by a call to :func:`field()`, " +"then the class attribute for this field will be replaced by the specified " +"``default`` value. If no ``default`` is provided, then the class attribute " +"will be deleted. The intent is that after the :func:`dataclass` decorator " +"runs, the class attributes will all contain the default values for the " +"fields, just as if the default value itself were specified. For example, " +"after::" +msgstr "" +"Якщо значення поля за замовчуванням вказано викликом :func:`field()`, тоді " +"атрибут класу для цього поля буде замінено вказаним значенням ``default``. " +"Якщо ``default`` не вказано, тоді атрибут класу буде видалено. Намір полягає " +"в тому, що після запуску декоратора :func:`dataclass` всі атрибути класу " +"будуть містити значення за замовчуванням для полів, так само, якби було " +"вказано саме значення за замовчуванням. Наприклад, після::" + +msgid "" +"The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will " +"be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set." +msgstr "" +"Атрибут класу ``C.z`` буде ``10``, атрибут класу ``C.t`` буде ``20``, а " +"атрибути класу ``C.x`` і ``C.y`` не будуть встановити." + +msgid "" +":class:`Field` objects describe each defined field. These objects are " +"created internally, and are returned by the :func:`fields` module-level " +"method (see below). Users should never instantiate a :class:`Field` object " +"directly. Its documented attributes are:" +msgstr "" +"Об'єкти :class:`Field` описують кожне визначене поле. Ці об’єкти створюються " +"всередині та повертаються методом рівня модуля :func:`fields` (див. нижче). " +"Користувачі ніколи не повинні створювати об’єкт :class:`Field` " +"безпосередньо. Його задокументовані атрибути:" + +msgid "``name``: The name of the field." +msgstr "``name``: назва поля." + +msgid "``type``: The type of the field." +msgstr "``type``: тип поля." + +msgid "" +"``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, " +"``metadata``, and ``kw_only`` have the identical meaning and values as they " +"do in the :func:`field` function." +msgstr "" +"``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, " +"``metadata`` і ``kw_only`` мають ідентичне значення та значення, як і у " +"функції :func:`field`." + +msgid "" +"Other attributes may exist, but they are private and must not be inspected " +"or relied on." +msgstr "" +"Інші атрибути можуть існувати, але вони є приватними, і їх не можна " +"перевіряти чи покладатися на них." + +msgid "" +"Returns a tuple of :class:`Field` objects that define the fields for this " +"dataclass. Accepts either a dataclass, or an instance of a dataclass. " +"Raises :exc:`TypeError` if not passed a dataclass or instance of one. Does " +"not return pseudo-fields which are ``ClassVar`` or ``InitVar``." +msgstr "" +"Повертає кортеж об’єктів :class:`Field`, які визначають поля для цього класу " +"даних. Приймає або клас даних, або екземпляр класу даних. Викликає :exc:" +"`TypeError`, якщо не передано клас даних або його екземпляр. Не повертає " +"псевдополя, які є ``ClassVar`` або ``InitVar``." + +msgid "" +"Converts the dataclass ``obj`` to a dict (by using the factory function " +"``dict_factory``). Each dataclass is converted to a dict of its fields, as " +"``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed " +"into. Other objects are copied with :func:`copy.deepcopy`." +msgstr "" +"Перетворює клас даних ``obj`` на dict (за допомогою фабричної функції " +"``dict_factory``). Кожен клас даних перетворюється на диктофон своїх полів у " +"вигляді пар \"ім’я: значення\". класи даних, диктофони, списки та кортежі " +"рекурсують. Інші об’єкти копіюються за допомогою :func:`copy.deepcopy`." + +msgid "Example of using :func:`asdict` on nested dataclasses::" +msgstr "Приклад використання :func:`asdict` у вкладених класах даних::" + +msgid "To create a shallow copy, the following workaround may be used::" +msgstr "Щоб створити дрібну копію, можна використати такий обхідний шлях:" + +msgid "" +":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " +"instance." +msgstr "" +":func:`asdict` викликає :exc:`TypeError`, якщо ``obj`` не є екземпляром " +"класу даних." + +msgid "" +"Converts the dataclass ``obj`` to a tuple (by using the factory function " +"``tuple_factory``). Each dataclass is converted to a tuple of its field " +"values. dataclasses, dicts, lists, and tuples are recursed into. Other " +"objects are copied with :func:`copy.deepcopy`." +msgstr "" +"Перетворює клас даних ``obj`` на кортеж (за допомогою фабричної функції " +"``tuple_factory``). Кожен клас даних перетворюється на кортеж значень свого " +"поля. класи даних, диктофони, списки та кортежі рекурсують. Інші об’єкти " +"копіюються за допомогою :func:`copy.deepcopy`." + +msgid "Continuing from the previous example::" +msgstr "Продовжуючи попередній приклад:" + +msgid "" +":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " +"instance." +msgstr "" +":func:`astuple` викликає :exc:`TypeError`, якщо ``obj`` не є екземпляром " +"класу даних." + +msgid "" +"Creates a new dataclass with name ``cls_name``, fields as defined in " +"``fields``, base classes as given in ``bases``, and initialized with a " +"namespace as given in ``namespace``. ``fields`` is an iterable whose " +"elements are each either ``name``, ``(name, type)``, or ``(name, type, " +"Field)``. If just ``name`` is supplied, ``typing.Any`` is used for " +"``type``. The values of ``init``, ``repr``, ``eq``, ``order``, " +"``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, ``slots``, and " +"``weakref_slot`` have the same meaning as they do in :func:`dataclass`." +msgstr "" + +msgid "" +"This function is not strictly required, because any Python mechanism for " +"creating a new class with ``__annotations__`` can then apply the :func:" +"`dataclass` function to convert that class to a dataclass. This function is " +"provided as a convenience. For example::" +msgstr "" +"Ця функція не є обов’язковою, оскільки будь-який механізм Python для " +"створення нового класу з ``__annotations__`` може потім застосувати функцію :" +"func:`dataclass` для перетворення цього класу на клас даних. Ця функція " +"передбачена для зручності. Наприклад::" + +msgid "Is equivalent to::" +msgstr "Еквівалентно::" + +msgid "" +"Creates a new object of the same type as ``obj``, replacing fields with " +"values from ``changes``. If ``obj`` is not a Data Class, raises :exc:" +"`TypeError`. If values in ``changes`` do not specify fields, raises :exc:" +"`TypeError`." +msgstr "" +"Створює новий об’єкт того самого типу, що й ``obj``, замінюючи поля " +"значеннями ``changes``. Якщо ``obj`` не є класом даних, викликає :exc:" +"`TypeError`. Якщо значення в ``changes`` не вказують на поля, викликає :exc:" +"`TypeError`." + +msgid "" +"The newly returned object is created by calling the :meth:`__init__` method " +"of the dataclass. This ensures that :meth:`__post_init__`, if present, is " +"also called." +msgstr "" +"Щойно повернутий об’єкт створюється шляхом виклику методу :meth:`__init__` " +"класу даних. Це гарантує, що :meth:`__post_init__`, якщо він присутній, " +"також викликається." + +msgid "" +"Init-only variables without default values, if any exist, must be specified " +"on the call to :func:`replace` so that they can be passed to :meth:" +"`__init__` and :meth:`__post_init__`." +msgstr "" +"Змінні лише для ініціалізації без значень за замовчуванням, якщо такі " +"існують, необхідно вказати під час виклику :func:`replace`, щоб їх можна " +"було передати в :meth:`__init__` і :meth:`__post_init__`." + +msgid "" +"It is an error for ``changes`` to contain any fields that are defined as " +"having ``init=False``. A :exc:`ValueError` will be raised in this case." +msgstr "" +"Це помилка, якщо ``changes`` містить будь-які поля, які визначені як такі, " +"що мають ``init=False``. У цьому випадку буде викликано помилку :exc:" +"`ValueError`." + +msgid "" +"Be forewarned about how ``init=False`` fields work during a call to :func:" +"`replace`. They are not copied from the source object, but rather are " +"initialized in :meth:`__post_init__`, if they're initialized at all. It is " +"expected that ``init=False`` fields will be rarely and judiciously used. If " +"they are used, it might be wise to have alternate class constructors, or " +"perhaps a custom ``replace()`` (or similarly named) method which handles " +"instance copying." +msgstr "" +"Будьте попереджені про те, як працюють поля ``init=False`` під час виклику :" +"func:`replace`. Вони не копіюються з вихідного об’єкта, а ініціалізуються в :" +"meth:`__post_init__`, якщо вони взагалі ініціалізовані. Очікується, що поля " +"``init=False`` будуть використовуватися рідко та розумно. Якщо вони " +"використовуються, було б доцільно мати альтернативні конструктори класів " +"або, можливо, спеціальний метод ``replace()`` (або з подібною назвою), який " +"обробляє копіювання екземплярів." + +msgid "" +"Return ``True`` if its parameter is a dataclass or an instance of one, " +"otherwise return ``False``." +msgstr "" +"Повертає ``True``, якщо його параметр є класом даних або його екземпляром, " +"інакше повертає ``False``." + +msgid "" +"If you need to know if a class is an instance of a dataclass (and not a " +"dataclass itself), then add a further check for ``not isinstance(obj, " +"type)``::" +msgstr "" +"Якщо вам потрібно знати, чи є клас екземпляром класу даних (а не самим " +"класом даних), тоді додайте додаткову перевірку для ``not isinstance(obj, " +"type)``::" + +msgid "A sentinel value signifying a missing default or default_factory." +msgstr "" +"Дозорне значення, яке вказує на відсутність параметра default або " +"default_factory." + +msgid "" +"A sentinel value used as a type annotation. Any fields after a pseudo-field " +"with the type of :const:`KW_ONLY` are marked as keyword-only fields. Note " +"that a pseudo-field of type :const:`KW_ONLY` is otherwise completely " +"ignored. This includes the name of such a field. By convention, a name of " +"``_`` is used for a :const:`KW_ONLY` field. Keyword-only fields signify :" +"meth:`__init__` parameters that must be specified as keywords when the class " +"is instantiated." +msgstr "" +"Дозорне значення, яке використовується як анотація типу. Будь-які поля після " +"псевдополя з типом :const:`KW_ONLY` позначаються як поля лише для ключових " +"слів. Зауважте, що псевдополе типу :const:`KW_ONLY` інакше повністю " +"ігнорується. Це включає назву такого поля. Згідно з угодою, ім’я ``_`` " +"використовується для поля :const:`KW_ONLY`. Поля лише для ключових слів " +"означають параметри :meth:`__init__`, які мають бути вказані як ключові " +"слова під час створення екземпляра класу." + +msgid "" +"In this example, the fields ``y`` and ``z`` will be marked as keyword-only " +"fields::" +msgstr "" +"У цьому прикладі поля ``y`` і ``z`` будуть позначені як поля лише для " +"ключових слів:" + +msgid "" +"In a single dataclass, it is an error to specify more than one field whose " +"type is :const:`KW_ONLY`." +msgstr "" +"В одному класі даних є помилкою вказувати більше ніж одне поле типу :const:" +"`KW_ONLY`." + +msgid "" +"Raised when an implicitly defined :meth:`__setattr__` or :meth:`__delattr__` " +"is called on a dataclass which was defined with ``frozen=True``. It is a " +"subclass of :exc:`AttributeError`." +msgstr "" +"Викликається, коли неявно визначений :meth:`__setattr__` або :meth:" +"`__delattr__` викликається в класі даних, який був визначений як " +"``frozen=True``. Це підклас :exc:`AttributeError`." + +msgid "Post-init processing" +msgstr "Обробка після ініціалізації" + +msgid "" +"The generated :meth:`__init__` code will call a method named :meth:" +"`__post_init__`, if :meth:`__post_init__` is defined on the class. It will " +"normally be called as ``self.__post_init__()``. However, if any ``InitVar`` " +"fields are defined, they will also be passed to :meth:`__post_init__` in the " +"order they were defined in the class. If no :meth:`__init__` method is " +"generated, then :meth:`__post_init__` will not automatically be called." +msgstr "" +"Згенерований код :meth:`__init__` викличе метод з назвою :meth:" +"`__post_init__`, якщо :meth:`__post_init__` визначено в класі. Зазвичай він " +"буде називатися ``self.__post_init__()``. Однак, якщо визначено будь-які " +"поля ``InitVar``, вони також будуть передані в :meth:`__post_init__` в тому " +"порядку, в якому вони були визначені в класі. Якщо метод :meth:`__init__` не " +"створено, то :meth:`__post_init__` не буде викликатися автоматично." + +msgid "" +"Among other uses, this allows for initializing field values that depend on " +"one or more other fields. For example::" +msgstr "" +"Серед іншого використання це дозволяє ініціалізувати значення полів, які " +"залежать від одного або кількох інших полів. Наприклад::" + +msgid "" +"The :meth:`__init__` method generated by :func:`dataclass` does not call " +"base class :meth:`__init__` methods. If the base class has an :meth:" +"`__init__` method that has to be called, it is common to call this method in " +"a :meth:`__post_init__` method::" +msgstr "" +"Метод :meth:`__init__`, створений :func:`dataclass`, не викликає методів " +"базового класу :meth:`__init__`. Якщо базовий клас має метод :meth:" +"`__init__`, який потрібно викликати, зазвичай цей метод викликається в " +"методі :meth:`__post_init__`::" + +msgid "" +"Note, however, that in general the dataclass-generated :meth:`__init__` " +"methods don't need to be called, since the derived dataclass will take care " +"of initializing all fields of any base class that is a dataclass itself." +msgstr "" +"Однак зауважте, що загалом згенеровані класом даних методи :meth:`__init__` " +"не потрібно викликати, оскільки похідний клас даних подбає про ініціалізацію " +"всіх полів будь-якого базового класу, який сам є класом даних." + +msgid "" +"See the section below on init-only variables for ways to pass parameters to :" +"meth:`__post_init__`. Also see the warning about how :func:`replace` " +"handles ``init=False`` fields." +msgstr "" +"Перегляньте розділ нижче про змінні лише для ініціалізації, щоб дізнатися " +"про способи передачі параметрів у :meth:`__post_init__`. Також перегляньте " +"попередження про те, як :func:`replace` обробляє поля ``init=False``." + +msgid "Class variables" +msgstr "Змінні класу" + +msgid "" +"One of two places where :func:`dataclass` actually inspects the type of a " +"field is to determine if a field is a class variable as defined in :pep:" +"`526`. It does this by checking if the type of the field is ``typing." +"ClassVar``. If a field is a ``ClassVar``, it is excluded from consideration " +"as a field and is ignored by the dataclass mechanisms. Such ``ClassVar`` " +"pseudo-fields are not returned by the module-level :func:`fields` function." +msgstr "" +"Одним із двох місць, де :func:`dataclass` фактично перевіряє тип поля, є " +"визначення того, чи поле є змінною класу, як визначено в :pep:`526`. Він " +"робить це, перевіряючи, чи є тип поля ``typing.ClassVar``. Якщо поле є " +"``ClassVar``, воно виключається з розгляду як поле та ігнорується " +"механізмами класу даних. Такі псевдополя ``ClassVar`` не повертаються " +"функцією :func:`fields` рівня модуля." + +msgid "Init-only variables" +msgstr "Змінні лише для ініціалізації" + +msgid "" +"The other place where :func:`dataclass` inspects a type annotation is to " +"determine if a field is an init-only variable. It does this by seeing if " +"the type of a field is of type ``dataclasses.InitVar``. If a field is an " +"``InitVar``, it is considered a pseudo-field called an init-only field. As " +"it is not a true field, it is not returned by the module-level :func:" +"`fields` function. Init-only fields are added as parameters to the " +"generated :meth:`__init__` method, and are passed to the optional :meth:" +"`__post_init__` method. They are not otherwise used by dataclasses." +msgstr "" +"Інше місце, де :func:`dataclass` перевіряє анотацію типу, — це визначити, чи " +"є поле змінною лише для ініціалізації. Він робить це, переглядаючи, чи тип " +"поля має тип ``dataclasses.InitVar``. Якщо поле є ``InitVar``, воно " +"вважається псевдополем, яке називається полем тільки ініціалізації. Оскільки " +"це не справжнє поле, воно не повертається функцією рівня модуля :func:" +"`fields`. Поля лише для ініціалізації додаються як параметри до створеного " +"методу :meth:`__init__` і передаються до додаткового методу :meth:" +"`__post_init__`. Вони не використовуються класами даних." + +msgid "" +"For example, suppose a field will be initialized from a database, if a value " +"is not provided when creating the class::" +msgstr "" +"Наприклад, припустимо, що поле буде ініціалізовано з бази даних, якщо під " +"час створення класу не вказано значення::" + +msgid "" +"In this case, :func:`fields` will return :class:`Field` objects for ``i`` " +"and ``j``, but not for ``database``." +msgstr "" +"У цьому випадку :func:`fields` повертатиме об’єкти :class:`Field` для ``i`` " +"та ``j``, але не для ``database``." + +msgid "Frozen instances" +msgstr "Заморожені екземпляри" + +msgid "" +"It is not possible to create truly immutable Python objects. However, by " +"passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate " +"immutability. In that case, dataclasses will add :meth:`__setattr__` and :" +"meth:`__delattr__` methods to the class. These methods will raise a :exc:" +"`FrozenInstanceError` when invoked." +msgstr "" +"Неможливо створити справді незмінні об’єкти Python. Однак, передавши " +"``frozen=True`` декоратору :meth:`dataclass`, ви можете емулювати " +"незмінність. У цьому випадку класи даних додадуть до класу методи :meth:" +"`__setattr__` і :meth:`__delattr__`. Ці методи викликають помилку :exc:" +"`FrozenInstanceError` під час виклику." + +msgid "" +"There is a tiny performance penalty when using ``frozen=True``: :meth:" +"`__init__` cannot use simple assignment to initialize fields, and must use :" +"meth:`object.__setattr__`." +msgstr "" +"Під час використання ``frozen=True`` є невелике зниження продуктивності: :" +"meth:`__init__` не може використовувати просте призначення для ініціалізації " +"полів і має використовувати :meth:`object.__setattr__`." + +msgid "Inheritance" +msgstr "Спадщина" + +msgid "" +"When the dataclass is being created by the :meth:`dataclass` decorator, it " +"looks through all of the class's base classes in reverse MRO (that is, " +"starting at :class:`object`) and, for each dataclass that it finds, adds the " +"fields from that base class to an ordered mapping of fields. After all of " +"the base class fields are added, it adds its own fields to the ordered " +"mapping. All of the generated methods will use this combined, calculated " +"ordered mapping of fields. Because the fields are in insertion order, " +"derived classes override base classes. An example::" +msgstr "" +"Коли клас даних створюється декоратором :meth:`dataclass`, він переглядає " +"всі базові класи класу в зворотному MRO (тобто починаючи з :class:`object`) " +"і для кожного класу даних, який він знаходить, додає поля з цього базового " +"класу до впорядкованого відображення полів. Після додавання всіх полів " +"базового класу він додає власні поля до впорядкованого відображення. Усі " +"згенеровані методи використовуватимуть це комбіноване обчислене впорядковане " +"відображення полів. Оскільки поля розташовані в порядку вставки, похідні " +"класи замінюють базові класи. Приклад::" + +msgid "" +"The final list of fields is, in order, ``x``, ``y``, ``z``. The final type " +"of ``x`` is ``int``, as specified in class ``C``." +msgstr "" +"Остаточний список полів у такому порядку: ``x``, ``y``, ``z``. Остаточним " +"типом ``x`` є ``int``, як зазначено в класі ``C``." + +msgid "The generated :meth:`__init__` method for ``C`` will look like::" +msgstr "Згенерований метод :meth:`__init__` для ``C`` виглядатиме так:" + +msgid "Re-ordering of keyword-only parameters in :meth:`__init__`" +msgstr "Перевпорядкування параметрів лише для ключових слів у :meth:`__init__`" + +msgid "" +"After the parameters needed for :meth:`__init__` are computed, any keyword-" +"only parameters are moved to come after all regular (non-keyword-only) " +"parameters. This is a requirement of how keyword-only parameters are " +"implemented in Python: they must come after non-keyword-only parameters." +msgstr "" +"Після обчислення параметрів, необхідних для :meth:`__init__`, будь-які " +"параметри, які містять лише ключові слова, переміщуються після всіх " +"звичайних параметрів (не лише ключових слів). Це вимога до того, як " +"параметри, що містять лише ключові слова, реалізовані в Python: вони мають " +"бути після параметрів, які не містять лише ключових слів." + +msgid "" +"In this example, ``Base.y``, ``Base.w``, and ``D.t`` are keyword-only " +"fields, and ``Base.x`` and ``D.z`` are regular fields::" +msgstr "" +"У цьому прикладі ``Base.y``, ``Base.w`` і ``D.t`` є полями лише для ключових " +"слів, а ``Base.x`` і ``D.z`` є звичайними полями: :" + +msgid "The generated :meth:`__init__` method for ``D`` will look like::" +msgstr "Згенерований метод :meth:`__init__` для ``D`` виглядатиме так:" + +msgid "" +"Note that the parameters have been re-ordered from how they appear in the " +"list of fields: parameters derived from regular fields are followed by " +"parameters derived from keyword-only fields." +msgstr "" +"Зауважте, що порядок параметрів змінено відповідно до того, як вони " +"відображаються в списку полів: за параметрами, отриманими зі звичайних " +"полів, слідують параметри, отримані з полів лише з ключовими словами." + +msgid "" +"The relative ordering of keyword-only parameters is maintained in the re-" +"ordered :meth:`__init__` parameter list." +msgstr "" +"Відносний порядок параметрів лише за ключовими словами зберігається в " +"перевпорядкованому списку параметрів :meth:`__init__`." + +msgid "Default factory functions" +msgstr "Стандартні заводські функції" + +msgid "" +"If a :func:`field` specifies a ``default_factory``, it is called with zero " +"arguments when a default value for the field is needed. For example, to " +"create a new instance of a list, use::" +msgstr "" +"Якщо :func:`field` визначає ``default_factory``, воно викликається з " +"нульовими аргументами, коли потрібне значення за замовчуванням для поля. " +"Наприклад, щоб створити новий екземпляр списку, використовуйте::" + +msgid "" +"If a field is excluded from :meth:`__init__` (using ``init=False``) and the " +"field also specifies ``default_factory``, then the default factory function " +"will always be called from the generated :meth:`__init__` function. This " +"happens because there is no other way to give the field an initial value." +msgstr "" +"Якщо поле виключено з :meth:`__init__` (за допомогою ``init=False``) і в " +"полі також зазначено ``default_factory``, тоді фабрична функція за " +"замовчуванням завжди буде викликатися зі згенерованого :meth:`__init__` " +"функція. Це відбувається тому, що немає іншого способу надати полю початкове " +"значення." + +msgid "Mutable default values" +msgstr "Змінні значення за замовчуванням" + +msgid "" +"Python stores default member variable values in class attributes. Consider " +"this example, not using dataclasses::" +msgstr "" +"Python зберігає значення змінних членів за замовчуванням в атрибутах класу. " +"Розглянемо цей приклад, не використовуючи класи даних::" + +msgid "" +"Note that the two instances of class ``C`` share the same class variable " +"``x``, as expected." +msgstr "" +"Зауважте, що два екземпляри класу ``C`` спільно використовують ту саму " +"змінну класу ``x``, як і очікувалося." + +msgid "Using dataclasses, *if* this code was valid::" +msgstr "Використання класів даних, *якщо* цей код дійсний::" + +msgid "it would generate code similar to::" +msgstr "це створить код, подібний до::" + +msgid "" +"This has the same issue as the original example using class ``C``. That is, " +"two instances of class ``D`` that do not specify a value for ``x`` when " +"creating a class instance will share the same copy of ``x``. Because " +"dataclasses just use normal Python class creation they also share this " +"behavior. There is no general way for Data Classes to detect this " +"condition. Instead, the :func:`dataclass` decorator will raise a :exc:" +"`TypeError` if it detects an unhashable default parameter. The assumption " +"is that if a value is unhashable, it is mutable. This is a partial " +"solution, but it does protect against many common errors." +msgstr "" + +msgid "" +"Using default factory functions is a way to create new instances of mutable " +"types as default values for fields::" +msgstr "" +"Використання заводських функцій за замовчуванням — це спосіб створення нових " +"екземплярів змінних типів як значень за замовчуванням для полів::" + +msgid "" +"Instead of looking for and disallowing objects of type ``list``, ``dict``, " +"or ``set``, unhashable objects are now not allowed as default values. " +"Unhashability is used to approximate mutability." +msgstr "" + +msgid "Descriptor-typed fields" +msgstr "" + +msgid "" +"Fields that are assigned :ref:`descriptor objects ` as their " +"default value have the following special behaviors:" +msgstr "" + +msgid "" +"The value for the field passed to the dataclass's ``__init__`` method is " +"passed to the descriptor's ``__set__`` method rather than overwriting the " +"descriptor object." +msgstr "" + +msgid "" +"Similarly, when getting or setting the field, the descriptor's ``__get__`` " +"or ``__set__`` method is called rather than returning or overwriting the " +"descriptor object." +msgstr "" + +msgid "" +"To determine whether a field contains a default value, ``dataclasses`` will " +"call the descriptor's ``__get__`` method using its class access form (i.e. " +"``descriptor.__get__(obj=None, type=cls)``. If the descriptor returns a " +"value in this case, it will be used as the field's default. On the other " +"hand, if the descriptor raises :exc:`AttributeError` in this situation, no " +"default value will be provided for the field." +msgstr "" + +msgid "" +"Note that if a field is annotated with a descriptor type, but is not " +"assigned a descriptor object as its default value, the field will act like a " +"normal field." +msgstr "" diff --git a/library/datatypes.po b/library/datatypes.po new file mode 100644 index 000000000..c71a2eeb8 --- /dev/null +++ b/library/datatypes.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Data Types" +msgstr "Типи даних" + +msgid "" +"The modules described in this chapter provide a variety of specialized data " +"types such as dates and times, fixed-type arrays, heap queues, double-ended " +"queues, and enumerations." +msgstr "" +"Модулі, описані в цьому розділі, надають різні спеціалізовані типи даних, " +"такі як дати та час, масиви фіксованого типу, черги купи, двосторонні черги " +"та перерахування." + +msgid "" +"Python also provides some built-in data types, in particular, :class:" +"`dict`, :class:`list`, :class:`set` and :class:`frozenset`, and :class:" +"`tuple`. The :class:`str` class is used to hold Unicode strings, and the :" +"class:`bytes` and :class:`bytearray` classes are used to hold binary data." +msgstr "" +"Python також надає деякі вбудовані типи даних, зокрема :class:`dict`, :class:" +"`list`, :class:`set` і :class:`frozenset` і :class:`tuple`. Клас :class:" +"`str` використовується для зберігання рядків Unicode, а класи :class:`bytes` " +"і :class:`bytearray` використовуються для зберігання двійкових даних." + +msgid "The following modules are documented in this chapter:" +msgstr "У цьому розділі описано наступні модулі:" diff --git a/library/datetime.po b/library/datetime.po new file mode 100644 index 000000000..fe0720d5f --- /dev/null +++ b/library/datetime.po @@ -0,0 +1,3418 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`datetime` --- Basic date and time types" +msgstr ":mod:`datetime` --- Основні типи дати та часу" + +msgid "**Source code:** :source:`Lib/datetime.py`" +msgstr "**Вихідний код:** :source:`Lib/datetime.py`" + +msgid "" +"The :mod:`datetime` module supplies classes for manipulating dates and times." +msgstr "Модуль :mod:`datetime` надає класи для роботи з датами та часом." + +msgid "" +"While date and time arithmetic is supported, the focus of the implementation " +"is on efficient attribute extraction for output formatting and manipulation." +msgstr "" +"Хоча арифметика дати й часу підтримується, основна увага при реалізації " +"зосереджена на ефективному вилученні атрибутів для форматування виводу та " +"обробки." + +msgid "Module :mod:`calendar`" +msgstr "Модуль :mod:`calendar`" + +msgid "General calendar related functions." +msgstr "Загальні функції, пов’язані з календарем." + +msgid "Module :mod:`time`" +msgstr "Модуль :mod:`time`" + +msgid "Time access and conversions." +msgstr "Доступ до часу та перетворення." + +msgid "Module :mod:`zoneinfo`" +msgstr "Модуль :mod:`zoneinfo`" + +msgid "Concrete time zones representing the IANA time zone database." +msgstr "" +"Конкретні часові пояси, що представляють базу даних часових поясів IANA." + +msgid "Package `dateutil `_" +msgstr "Пакет `dateutil `_" + +msgid "Third-party library with expanded time zone and parsing support." +msgstr "" +"Бібліотека третьої сторони з розширеним часовим поясом і підтримкою аналізу." + +msgid "Aware and Naive Objects" +msgstr "Обізнані та наївні об’єкти" + +msgid "" +"Date and time objects may be categorized as \"aware\" or \"naive\" depending " +"on whether or not they include timezone information." +msgstr "" +"Об’єкти дати та часу можуть бути класифіковані як \"відомі\" або \"наївні\" " +"залежно від того, чи містять вони інформацію про часовий пояс." + +msgid "" +"With sufficient knowledge of applicable algorithmic and political time " +"adjustments, such as time zone and daylight saving time information, an " +"**aware** object can locate itself relative to other aware objects. An aware " +"object represents a specific moment in time that is not open to " +"interpretation. [#]_" +msgstr "" +"Завдяки достатнім знанням застосовних алгоритмів і політичних коригувань " +"часу, таких як інформація про часовий пояс і літній час, **свідомий** об’єкт " +"може визначити своє місцезнаходження відносно інших обізнаних об’єктів. " +"Усвідомлюваний об'єкт представляє конкретний момент часу, який не піддається " +"інтерпретації. [#]_" + +msgid "" +"A **naive** object does not contain enough information to unambiguously " +"locate itself relative to other date/time objects. Whether a naive object " +"represents Coordinated Universal Time (UTC), local time, or time in some " +"other timezone is purely up to the program, just like it is up to the " +"program whether a particular number represents metres, miles, or mass. Naive " +"objects are easy to understand and to work with, at the cost of ignoring " +"some aspects of reality." +msgstr "" +"**Наївний** об’єкт не містить достатньо інформації, щоб однозначно визначити " +"його місцезнаходження відносно інших об’єктів дати/часу. Програма вирішує, " +"чи відображатиме простий об’єкт всесвітній координований час (UTC), місцевий " +"час чи час в якомусь іншому часовому поясі, так само як програма вирішує, чи " +"позначає конкретне число метри, милі чи масу. Наївні об’єкти легко зрозуміти " +"і з ними легко працювати, ціною ігнорування деяких аспектів реальності." + +msgid "" +"For applications requiring aware objects, :class:`.datetime` and :class:`." +"time` objects have an optional time zone information attribute, :attr:`!" +"tzinfo`, that can be set to an instance of a subclass of the abstract :class:" +"`tzinfo` class. These :class:`tzinfo` objects capture information about the " +"offset from UTC time, the time zone name, and whether daylight saving time " +"is in effect." +msgstr "" +"Для додатків, яким потрібні об’єкти, об’єкти :class:`.datetime` і :class:`." +"time` мають необов’язковий атрибут інформації про часовий пояс, :attr:`!" +"tzinfo`, який можна встановити як екземпляр підкласу абстрактний :class:" +"`tzinfo` клас. Ці об’єкти :class:`tzinfo` зберігають інформацію про зміщення " +"від часу UTC, назву часового поясу та чи діє літній час." + +msgid "" +"Only one concrete :class:`tzinfo` class, the :class:`timezone` class, is " +"supplied by the :mod:`datetime` module. The :class:`timezone` class can " +"represent simple timezones with fixed offsets from UTC, such as UTC itself " +"or North American EST and EDT timezones. Supporting timezones at deeper " +"levels of detail is up to the application. The rules for time adjustment " +"across the world are more political than rational, change frequently, and " +"there is no standard suitable for every application aside from UTC." +msgstr "" +"Тільки один конкретний клас :class:`tzinfo`, клас :class:`timezone`, " +"надається модулем :mod:`datetime`. Клас :class:`timezone` може представляти " +"прості часові пояси з фіксованими зсувами відносно UTC, наприклад сам UTC " +"або північноамериканські часові пояси EST і EDT. Підтримка часових поясів на " +"глибшому рівні деталізації залежить від програми. Правила коригування часу в " +"усьому світі є більше політичними, ніж раціональними, часто змінюються, і " +"немає стандарту, який підходить для кожного застосування, крім UTC." + +msgid "Constants" +msgstr "Константи" + +msgid "The :mod:`datetime` module exports the following constants:" +msgstr "Модуль :mod:`datetime` експортує такі константи:" + +msgid "" +"The smallest year number allowed in a :class:`date` or :class:`.datetime` " +"object. :const:`MINYEAR` is ``1``." +msgstr "" +"Найменше число року, дозволене в об’єкті :class:`date` або :class:`." +"datetime`. :const:`MINYEAR` — це ``1``." + +msgid "" +"The largest year number allowed in a :class:`date` or :class:`.datetime` " +"object. :const:`MAXYEAR` is ``9999``." +msgstr "" +"Найбільший номер року, дозволений в об’єкті :class:`date` або :class:`." +"datetime`. :const:`MAXYEAR` дорівнює ``9999``." + +msgid "Alias for the UTC timezone singleton :attr:`datetime.timezone.utc`." +msgstr "" + +msgid "Available Types" +msgstr "Доступні типи" + +msgid "" +"An idealized naive date, assuming the current Gregorian calendar always was, " +"and always will be, in effect. Attributes: :attr:`year`, :attr:`month`, and :" +"attr:`day`." +msgstr "" +"Ідеалізована наївна дата, припускаючи, що поточний григоріанський календар " +"завжди був і завжди буде в силі. Атрибути: :attr:`year`, :attr:`month` і :" +"attr:`day`." + +msgid "" +"An idealized time, independent of any particular day, assuming that every " +"day has exactly 24\\*60\\*60 seconds. (There is no notion of \"leap seconds" +"\" here.) Attributes: :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" +"`microsecond`, and :attr:`.tzinfo`." +msgstr "" +"Ідеалізований час, незалежний від будь-якого конкретного дня, припускаючи, " +"що кожен день має рівно 24\\*60\\*60 секунд. (Тут немає поняття \"високосні " +"секунди\".) Атрибути: :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" +"`microsecond` і :attr:`.tzinfo`." + +msgid "" +"A combination of a date and a time. Attributes: :attr:`year`, :attr:" +"`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" +"`microsecond`, and :attr:`.tzinfo`." +msgstr "" +"Поєднання дати й часу. Атрибути: :attr:`year`, :attr:`month`, :attr:`day`, :" +"attr:`hour`, :attr:`minute`, :attr:`second`, :attr:`microsecond` і :attr:`." +"tzinfo`." + +msgid "" +"A duration expressing the difference between two :class:`date`, :class:`." +"time`, or :class:`.datetime` instances to microsecond resolution." +msgstr "" +"Тривалість, яка виражає різницю між двома екземплярами :class:`date`, :class:" +"`.time` або :class:`.datetime` у мікросекундах." + +msgid "" +"An abstract base class for time zone information objects. These are used by " +"the :class:`.datetime` and :class:`.time` classes to provide a customizable " +"notion of time adjustment (for example, to account for time zone and/or " +"daylight saving time)." +msgstr "" +"Абстрактний базовий клас для інформаційних об’єктів часового поясу. Вони " +"використовуються класами :class:`.datetime` і :class:`.time` для надання " +"настроюваного поняття коригування часу (наприклад, для врахування часового " +"поясу та/або літнього часу)." + +msgid "" +"A class that implements the :class:`tzinfo` abstract base class as a fixed " +"offset from the UTC." +msgstr "" +"Клас, який реалізує :class:`tzinfo` абстрактний базовий клас як фіксоване " +"зміщення від UTC." + +msgid "Objects of these types are immutable." +msgstr "Об'єкти цих типів незмінні." + +msgid "Subclass relationships::" +msgstr "Відносини підкласів::" + +msgid "Common Properties" +msgstr "Загальні властивості" + +msgid "" +"The :class:`date`, :class:`.datetime`, :class:`.time`, and :class:`timezone` " +"types share these common features:" +msgstr "" +"Типи :class:`date`, :class:`.datetime`, :class:`.time` і :class:`timezone` " +"мають такі спільні риси:" + +msgid "" +"Objects of these types are hashable, meaning that they can be used as " +"dictionary keys." +msgstr "" +"Об’єкти цих типів можна хешувати, тобто їх можна використовувати як ключі " +"словника." + +msgid "" +"Objects of these types support efficient pickling via the :mod:`pickle` " +"module." +msgstr "" +"Об’єкти цих типів підтримують ефективне маринування за допомогою модуля :mod:" +"`pickle`." + +msgid "Determining if an Object is Aware or Naive" +msgstr "Визначення того, чи є об’єкт усвідомленим чи наївним" + +msgid "Objects of the :class:`date` type are always naive." +msgstr "Об’єкти типу :class:`date` завжди наївні." + +msgid "" +"An object of type :class:`.time` or :class:`.datetime` may be aware or naive." +msgstr "" +"Об’єкт типу :class:`.time` або :class:`.datetime` може бути обізнаним або " +"наївним." + +msgid "A :class:`.datetime` object *d* is aware if both of the following hold:" +msgstr "" +"Об’єкт :class:`.datetime` *d* відомий, якщо виконуються обидва наступні " +"умови:" + +msgid "``d.tzinfo`` is not ``None``" +msgstr "``d.tzinfo`` не є ``None``" + +msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" +msgstr "``d.tzinfo.utcoffset(d)`` не повертає ``None``" + +msgid "Otherwise, *d* is naive." +msgstr "Інакше *d* наївно." + +msgid "A :class:`.time` object *t* is aware if both of the following hold:" +msgstr "" +"Об’єкт :class:`.time` *t* усвідомлює, якщо виконуються обидва наступні умови:" + +msgid "``t.tzinfo`` is not ``None``" +msgstr "``t.tzinfo`` не є ``None``" + +msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." +msgstr "``t.tzinfo.utcoffset(None)`` не повертає ``None``." + +msgid "Otherwise, *t* is naive." +msgstr "В іншому випадку *t* наївний." + +msgid "" +"The distinction between aware and naive doesn't apply to :class:`timedelta` " +"objects." +msgstr "" +"Розрізнення між обізнаним і наївним не стосується об’єктів :class:" +"`timedelta`." + +msgid ":class:`timedelta` Objects" +msgstr ":class:`timedelta` Об'єкти" + +msgid "" +"A :class:`timedelta` object represents a duration, the difference between " +"two dates or times." +msgstr "" +"Об’єкт :class:`timedelta` представляє тривалість, різницю між двома датами " +"або часом." + +msgid "" +"All arguments are optional and default to ``0``. Arguments may be integers " +"or floats, and may be positive or negative." +msgstr "" +"Усі аргументи є необов’язковими та за умовчанням мають значення ``0``. " +"Аргументи можуть бути цілими числами або числами з плаваючою речовиною, а " +"також бути позитивними або негативними." + +msgid "" +"Only *days*, *seconds* and *microseconds* are stored internally. Arguments " +"are converted to those units:" +msgstr "" +"Усередині зберігаються лише *дні*, *секунди* та *мікросекунди*. Аргументи " +"конвертуються в такі одиниці:" + +msgid "A millisecond is converted to 1000 microseconds." +msgstr "Мілісекунда перетворюється на 1000 мікросекунд." + +msgid "A minute is converted to 60 seconds." +msgstr "Хвилина перетворюється на 60 секунд." + +msgid "An hour is converted to 3600 seconds." +msgstr "Година перетворюється на 3600 секунд." + +msgid "A week is converted to 7 days." +msgstr "Тиждень перетворюється на 7 днів." + +msgid "" +"and days, seconds and microseconds are then normalized so that the " +"representation is unique, with" +msgstr "" +"і дні, секунди та мікросекунди потім нормалізуються, щоб представлення було " +"унікальним, з" + +msgid "``0 <= microseconds < 1000000``" +msgstr "``0 <= мікросекунди < 1000000``" + +msgid "``0 <= seconds < 3600*24`` (the number of seconds in one day)" +msgstr "``0 <= секунд < 3600*24`` (кількість секунд в одному дні)" + +msgid "``-999999999 <= days <= 999999999``" +msgstr "``-999999999 <= днів <= 999999999``" + +msgid "" +"The following example illustrates how any arguments besides *days*, " +"*seconds* and *microseconds* are \"merged\" and normalized into those three " +"resulting attributes::" +msgstr "" +"У наступному прикладі показано, як будь-які аргументи, окрім *днів*, " +"*секунд* і *мікросекунд*, \"об’єднуються\" та нормалізуються в ці три " +"отримані атрибути:" + +msgid "" +"If any argument is a float and there are fractional microseconds, the " +"fractional microseconds left over from all arguments are combined and their " +"sum is rounded to the nearest microsecond using round-half-to-even " +"tiebreaker. If no argument is a float, the conversion and normalization " +"processes are exact (no information is lost)." +msgstr "" +"Якщо будь-який аргумент є числом із плаваючою точкою та є дробові " +"мікросекунди, дробові мікросекунди, що залишилися від усіх аргументів, " +"об’єднуються, а їхня сума округлюється до найближчої мікросекунди за " +"допомогою тай-брейку округлення від половини до навіть. Якщо жоден аргумент " +"не є числом з плаваючою речовиною, процеси перетворення та нормалізації є " +"точними (інформація не втрачається)." + +msgid "" +"If the normalized value of days lies outside the indicated range, :exc:" +"`OverflowError` is raised." +msgstr "" +"Якщо нормалізоване значення днів лежить за межами зазначеного діапазону, " +"виникає :exc:`OverflowError`." + +msgid "" +"Note that normalization of negative values may be surprising at first. For " +"example::" +msgstr "" +"Зверніть увагу, що нормалізація від’ємних значень спочатку може викликати " +"подив. Наприклад::" + +msgid "Class attributes:" +msgstr "Атрибути класу:" + +msgid "The most negative :class:`timedelta` object, ``timedelta(-999999999)``." +msgstr "" +"Найбільш негативний об’єкт :class:`timedelta`, ``timedelta(-999999999)``." + +msgid "" +"The most positive :class:`timedelta` object, ``timedelta(days=999999999, " +"hours=23, minutes=59, seconds=59, microseconds=999999)``." +msgstr "" +"Найбільш позитивний об’єкт :class:`timedelta`, ``timedelta(days=999999999, " +"hours=23, minutes=59, seconds=59, microseconds=999999)``." + +msgid "" +"The smallest possible difference between non-equal :class:`timedelta` " +"objects, ``timedelta(microseconds=1)``." +msgstr "" +"Найменша можлива різниця між нерівними об’єктами :class:`timedelta`, " +"``timedelta(microseconds=1)``." + +msgid "" +"Note that, because of normalization, ``timedelta.max`` > ``-timedelta.min``. " +"``-timedelta.max`` is not representable as a :class:`timedelta` object." +msgstr "" +"Зауважте, що через нормалізацію ``timedelta.max`` > ``-timedelta.min``. ``-" +"timedelta.max`` не можна представити як об’єкт :class:`timedelta`." + +msgid "Instance attributes (read-only):" +msgstr "Атрибути екземпляра (тільки для читання):" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Value" +msgstr "Значення" + +msgid "``days``" +msgstr "``дні``" + +msgid "Between -999999999 and 999999999 inclusive" +msgstr "Від -999999999 до 999999999 включно" + +msgid "``seconds``" +msgstr "``секунди``" + +msgid "Between 0 and 86399 inclusive" +msgstr "Від 0 до 86399 включно" + +msgid "``microseconds``" +msgstr "``мікросекунди``" + +msgid "Between 0 and 999999 inclusive" +msgstr "Від 0 до 999999 включно" + +msgid "Supported operations:" +msgstr "Підтримувані операції:" + +msgid "Operation" +msgstr "Операція" + +msgid "Result" +msgstr "Результат" + +msgid "``t1 = t2 + t3``" +msgstr "``t1 = t2 + t3``" + +msgid "" +"Sum of *t2* and *t3*. Afterwards *t1*-*t2* == *t3* and *t1*-*t3* == *t2* are " +"true. (1)" +msgstr "" +"Сума *t2* і *t3*. Після цього *t1*-*t2* == *t3* і *t1*-*t3* == *t2* вірні. " +"(1)" + +msgid "``t1 = t2 - t3``" +msgstr "``t1 = t2 - t3``" + +msgid "" +"Difference of *t2* and *t3*. Afterwards *t1* == *t2* - *t3* and *t2* == *t1* " +"+ *t3* are true. (1)(6)" +msgstr "" +"Різниця *t2* і *t3*. Після цього *t1* == *t2* - *t3* і *t2* == *t1* + *t3* " +"вірні. (1)(6)" + +msgid "``t1 = t2 * i or t1 = i * t2``" +msgstr "``t1 = t2 * i або t1 = i * t2``" + +msgid "" +"Delta multiplied by an integer. Afterwards *t1* // i == *t2* is true, " +"provided ``i != 0``." +msgstr "" +"Дельта, помножена на ціле число. Після цього *t1* // i == *t2* є істинним, " +"якщо ``i != 0``." + +msgid "In general, *t1* \\* i == *t1* \\* (i-1) + *t1* is true. (1)" +msgstr "Загалом *t1* \\* i == *t1* \\* (i-1) + *t1* вірно. (1)" + +msgid "``t1 = t2 * f or t1 = f * t2``" +msgstr "``t1 = t2 * f або t1 = f * t2``" + +msgid "" +"Delta multiplied by a float. The result is rounded to the nearest multiple " +"of timedelta.resolution using round-half-to-even." +msgstr "" +"Дельта, помножена на float. Результат округлюється до найближчого кратного " +"timedelta.resolution за допомогою округлення від половини до навіть." + +msgid "``f = t2 / t3``" +msgstr "``f = t2 / t3``" + +msgid "" +"Division (3) of overall duration *t2* by interval unit *t3*. Returns a :" +"class:`float` object." +msgstr "" +"Поділ (3) загальної тривалості *t2* на одиницю інтервалу *t3*. Повертає " +"об’єкт :class:`float`." + +msgid "``t1 = t2 / f or t1 = t2 / i``" +msgstr "``t1 = t2 / f або t1 = t2 / i``" + +msgid "" +"Delta divided by a float or an int. The result is rounded to the nearest " +"multiple of timedelta.resolution using round-half-to-even." +msgstr "" +"Дельта, поділена на float або int. Результат округлюється до найближчого " +"кратного timedelta.resolution за допомогою округлення від половини до навіть." + +msgid "``t1 = t2 // i`` or ``t1 = t2 // t3``" +msgstr "``t1 = t2 // i`` або ``t1 = t2 // t3``" + +msgid "" +"The floor is computed and the remainder (if any) is thrown away. In the " +"second case, an integer is returned. (3)" +msgstr "" +"Підлога обчислюється, а залишок (якщо є) викидається. У другому випадку " +"повертається ціле число. (3)" + +msgid "``t1 = t2 % t3``" +msgstr "``t1 = t2 % t3``" + +msgid "The remainder is computed as a :class:`timedelta` object. (3)" +msgstr "Залишок обчислюється як об’єкт :class:`timedelta`. (3)" + +msgid "``q, r = divmod(t1, t2)``" +msgstr "``q, r = divmod(t1, t2)``" + +msgid "" +"Computes the quotient and the remainder: ``q = t1 // t2`` (3) and ``r = t1 % " +"t2``. q is an integer and r is a :class:`timedelta` object." +msgstr "" +"Обчислює частку та залишок: ``q = t1 // t2`` (3) і ``r = t1 % t2``. q — ціле " +"число, а r — об’єкт :class:`timedelta`." + +msgid "``+t1``" +msgstr "``+t1``" + +msgid "Returns a :class:`timedelta` object with the same value. (2)" +msgstr "Повертає об’єкт :class:`timedelta` з тим самим значенням. (2)" + +msgid "``-t1``" +msgstr "``-t1``" + +msgid "" +"equivalent to :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." +"microseconds*), and to *t1*\\* -1. (1)(4)" +msgstr "" +"еквівалентно :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." +"microseconds*) і *t1*\\* -1. (1)(4)" + +msgid "``abs(t)``" +msgstr "``abs(t)``" + +msgid "" +"equivalent to +\\ *t* when ``t.days >= 0``, and to -*t* when ``t.days < 0``. " +"(2)" +msgstr "" +"еквівалент +\\ *t*, коли ``t.days >= 0``, і до -*t*, коли ``t.days < 0``. (2)" + +msgid "``str(t)``" +msgstr "``str(t)``" + +msgid "" +"Returns a string in the form ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D is " +"negative for negative ``t``. (5)" +msgstr "" +"Повертає рядок у формі ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, де D є від’ємним " +"для від’ємного ``t``. (5)" + +msgid "``repr(t)``" +msgstr "``repr(t)``" + +msgid "" +"Returns a string representation of the :class:`timedelta` object as a " +"constructor call with canonical attribute values." +msgstr "" +"Повертає рядкове представлення об’єкта :class:`timedelta` як виклик " +"конструктора з канонічними значеннями атрибутів." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "This is exact but may overflow." +msgstr "Це точно, але може переповнюватись." + +msgid "This is exact and cannot overflow." +msgstr "Це точно і не може переповнюватися." + +msgid "Division by 0 raises :exc:`ZeroDivisionError`." +msgstr "Ділення на 0 викликає :exc:`ZeroDivisionError`." + +msgid "-*timedelta.max* is not representable as a :class:`timedelta` object." +msgstr "-*timedelta.max* не можна представити як об’єкт :class:`timedelta`." + +msgid "" +"String representations of :class:`timedelta` objects are normalized " +"similarly to their internal representation. This leads to somewhat unusual " +"results for negative timedeltas. For example::" +msgstr "" +"Рядкові представлення об’єктів :class:`timedelta` нормалізуються подібно до " +"їх внутрішнього представлення. Це призводить до дещо незвичайних результатів " +"для негативних часових дельт. Наприклад::" + +msgid "" +"The expression ``t2 - t3`` will always be equal to the expression ``t2 + (-" +"t3)`` except when t3 is equal to ``timedelta.max``; in that case the former " +"will produce a result while the latter will overflow." +msgstr "" +"Вираз ``t2 - t3`` завжди дорівнюватиме виразу ``t2 + (-t3)``, за винятком " +"випадків, коли t3 дорівнює ``timedelta.max``; у цьому випадку перший дасть " +"результат, а другий переповниться." + +msgid "" +"In addition to the operations listed above, :class:`timedelta` objects " +"support certain additions and subtractions with :class:`date` and :class:`." +"datetime` objects (see below)." +msgstr "" +"Окрім перерахованих вище операцій, об’єкти :class:`timedelta` підтримують " +"певні додавання та віднімання за допомогою об’єктів :class:`date` і :class:`." +"datetime` (див. нижче)." + +msgid "" +"Floor division and true division of a :class:`timedelta` object by another :" +"class:`timedelta` object are now supported, as are remainder operations and " +"the :func:`divmod` function. True division and multiplication of a :class:" +"`timedelta` object by a :class:`float` object are now supported." +msgstr "" +"Тепер підтримується поділ на поверх і справжній поділ об’єкта :class:" +"`timedelta` на інший об’єкт :class:`timedelta`, а також операції з залишком " +"і функція :func:`divmod`. Тепер підтримується справжнє ділення та множення " +"об’єкта :class:`timedelta` на об’єкт :class:`float`." + +msgid "" +"Comparisons of :class:`timedelta` objects are supported, with some caveats." +msgstr "" +"Порівняння об’єктів :class:`timedelta` підтримуються з деякими " +"застереженнями." + +msgid "" +"The comparisons ``==`` or ``!=`` *always* return a :class:`bool`, no matter " +"the type of the compared object::" +msgstr "" +"Порівняння ``==`` або ``!=`` *завжди* повертає :class:`bool`, незалежно від " +"типу порівнюваного об’єкта::" + +msgid "" +"For all other comparisons (such as ``<`` and ``>``), when a :class:" +"`timedelta` object is compared to an object of a different type, :exc:" +"`TypeError` is raised::" +msgstr "" +"Для всіх інших порівнянь (таких як ``<`` and ``>``), коли об’єкт :class:" +"`timedelta` порівнюється з об’єктом іншого типу, виникає :exc:`TypeError`::" + +msgid "" +"In Boolean contexts, a :class:`timedelta` object is considered to be true if " +"and only if it isn't equal to ``timedelta(0)``." +msgstr "" +"У логічних контекстах об’єкт :class:`timedelta` вважається істинним тоді і " +"тільки тоді, коли він не дорівнює ``timedelta(0)``." + +msgid "Instance methods:" +msgstr "Методи екземплярів:" + +msgid "" +"Return the total number of seconds contained in the duration. Equivalent to " +"``td / timedelta(seconds=1)``. For interval units other than seconds, use " +"the division form directly (e.g. ``td / timedelta(microseconds=1)``)." +msgstr "" +"Повертає загальну кількість секунд, що міститься в тривалості. Еквівалент " +"``td / timedelta(seconds=1)``. Для одиниць інтервалу, відмінних від секунд, " +"використовуйте напряму форму ділення (наприклад, ``td / " +"timedelta(мікросекунди=1)``)." + +msgid "" +"Note that for very large time intervals (greater than 270 years on most " +"platforms) this method will lose microsecond accuracy." +msgstr "" +"Зауважте, що для дуже великих інтервалів часу (понад 270 років на більшості " +"платформ) цей метод втратить мікросекундну точність." + +msgid "Examples of usage: :class:`timedelta`" +msgstr "Приклади використання: :class:`timedelta`" + +msgid "An additional example of normalization::" +msgstr "Додатковий приклад нормалізації::" + +msgid "Examples of :class:`timedelta` arithmetic::" +msgstr "Приклади арифметики :class:`timedelta`::" + +msgid ":class:`date` Objects" +msgstr ":class:`date` Об'єкти" + +msgid "" +"A :class:`date` object represents a date (year, month and day) in an " +"idealized calendar, the current Gregorian calendar indefinitely extended in " +"both directions." +msgstr "" +"Об’єкт :class:`date` представляє дату (рік, місяць і день) в ідеалізованому " +"календарі, поточний григоріанський календар необмежено розширений в обох " +"напрямках." + +msgid "" +"January 1 of year 1 is called day number 1, January 2 of year 1 is called " +"day number 2, and so on. [#]_" +msgstr "" +"1 січня року 1 називається днем номер 1, 2 січня року 1 називається днем " +"номер 2 і так далі. [#]_" + +msgid "" +"All arguments are required. Arguments must be integers, in the following " +"ranges:" +msgstr "" +"Всі аргументи необхідні. Аргументи мають бути цілими числами в таких " +"діапазонах:" + +msgid "``MINYEAR <= year <= MAXYEAR``" +msgstr "``MINYEAR <= рік <= MAXYEAR``" + +msgid "``1 <= month <= 12``" +msgstr "``1 <= місяць <= 12``" + +msgid "``1 <= day <= number of days in the given month and year``" +msgstr "``1 <= день <= кількість днів у заданому місяці та році``" + +msgid "" +"If an argument outside those ranges is given, :exc:`ValueError` is raised." +msgstr "" +"Якщо вказано аргумент поза цими діапазонами, виникає :exc:`ValueError`." + +msgid "Other constructors, all class methods:" +msgstr "Інші конструктори, усі методи класу:" + +msgid "Return the current local date." +msgstr "Повернути поточну місцеву дату." + +msgid "This is equivalent to ``date.fromtimestamp(time.time())``." +msgstr "Це еквівалентно ``date.fromtimestamp(time.time())``." + +msgid "" +"Return the local date corresponding to the POSIX timestamp, such as is " +"returned by :func:`time.time`." +msgstr "" +"Повертає місцеву дату, що відповідає мітці часу POSIX, наприклад, яку " +"повертає :func:`time.time`." + +msgid "" +"This may raise :exc:`OverflowError`, if the timestamp is out of the range of " +"values supported by the platform C :c:func:`localtime` function, and :exc:" +"`OSError` on :c:func:`localtime` failure. It's common for this to be " +"restricted to years from 1970 through 2038. Note that on non-POSIX systems " +"that include leap seconds in their notion of a timestamp, leap seconds are " +"ignored by :meth:`fromtimestamp`." +msgstr "" +"Це може спричинити помилку :exc:`OverflowError`, якщо позначка часу виходить " +"за межі діапазону значень, які підтримує функція C :c:func:`localtime`, і :" +"exc:`OSError` у :c:func:`localtime` невдача. Зазвичай це обмежується роками " +"з 1970 по 2038 рік. Зауважте, що в системах без POSIX, які включають " +"високосні секунди в своє поняття позначки часу, високосні секунди " +"ігноруються :meth:`fromtimestamp`." + +msgid "" +"Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " +"out of the range of values supported by the platform C :c:func:`localtime` " +"function. Raise :exc:`OSError` instead of :exc:`ValueError` on :c:func:" +"`localtime` failure." +msgstr "" +"Викликайте :exc:`OverflowError` замість :exc:`ValueError`, якщо позначка " +"часу виходить за межі діапазону значень, які підтримує функція C :c:func:" +"`localtime` платформи. Викликати :exc:`OSError` замість :exc:`ValueError` у " +"разі помилки :c:func:`localtime`." + +msgid "" +"Return the date corresponding to the proleptic Gregorian ordinal, where " +"January 1 of year 1 has ordinal 1." +msgstr "" +"Повертає дату, що відповідає пролептичному григоріанському порядковому " +"номеру, де 1 січня 1 року має порядковий номер 1." + +msgid "" +":exc:`ValueError` is raised unless ``1 <= ordinal <= date.max.toordinal()``. " +"For any date *d*, ``date.fromordinal(d.toordinal()) == d``." +msgstr "" +":exc:`ValueError` викликається, якщо не ``1 <= ordinal <= date.max." +"toordinal()``. Для будь-якої дати *d* ``date.fromordinal(d.toordinal()) == " +"d``." + +msgid "" +"Return a :class:`date` corresponding to a *date_string* given in any valid " +"ISO 8601 format, except ordinal dates (e.g. ``YYYY-DDD``)::" +msgstr "" + +msgid "Previously, this method only supported the format ``YYYY-MM-DD``." +msgstr "" + +msgid "" +"Return a :class:`date` corresponding to the ISO calendar date specified by " +"year, week and day. This is the inverse of the function :meth:`date." +"isocalendar`." +msgstr "" +"Повертає :class:`date`, що відповідає календарній даті ISO, визначеній " +"роком, тижнем і днем. Це зворотна функція :meth:`date.isocalendar`." + +msgid "The earliest representable date, ``date(MINYEAR, 1, 1)``." +msgstr "Найраніша дата, яку можна представити, ``date(MINYEAR, 1, 1)``." + +msgid "The latest representable date, ``date(MAXYEAR, 12, 31)``." +msgstr "Остання представлена дата, ``date(MAXYEAR, 12, 31)``." + +msgid "" +"The smallest possible difference between non-equal date objects, " +"``timedelta(days=1)``." +msgstr "" +"Найменша можлива різниця між об’єктами нерівних дат, ``timedelta(days=1)``." + +msgid "Between :const:`MINYEAR` and :const:`MAXYEAR` inclusive." +msgstr "Між :const:`MINYEAR` і :const:`MAXYEAR` включно." + +msgid "Between 1 and 12 inclusive." +msgstr "Від 1 до 12 включно." + +msgid "Between 1 and the number of days in the given month of the given year." +msgstr "Від 1 до числа днів у даному місяці даного року." + +msgid "``date2 = date1 + timedelta``" +msgstr "``дата2 = дата1 + дельта часу``" + +msgid "*date2* will be ``timedelta.days`` days after *date1*. (1)" +msgstr "" + +msgid "``date2 = date1 - timedelta``" +msgstr "``дата2 = дата1 - дельта часу``" + +msgid "Computes *date2* such that ``date2 + timedelta == date1``. (2)" +msgstr "Обчислює *date2* таким чином, що ``date2 + timedelta == date1``. (2)" + +msgid "``timedelta = date1 - date2``" +msgstr "``timedelta = дата1 - дата2``" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "``date1 < date2``" +msgstr "``дата1 < дата2``" + +msgid "" +"*date1* is considered less than *date2* when *date1* precedes *date2* in " +"time. (4)" +msgstr "" +"*date1* вважається меншим за *date2*, якщо *date1* передує *date2* за часом. " +"(4)" + +msgid "" +"*date2* is moved forward in time if ``timedelta.days > 0``, or backward if " +"``timedelta.days < 0``. Afterward ``date2 - date1 == timedelta.days``. " +"``timedelta.seconds`` and ``timedelta.microseconds`` are ignored. :exc:" +"`OverflowError` is raised if ``date2.year`` would be smaller than :const:" +"`MINYEAR` or larger than :const:`MAXYEAR`." +msgstr "" +"*date2* пересувається вперед у часі, якщо ``timedelta.days > 0``, або назад, " +"``timedelta.days < 0``. Після цього ``date2 - date1 == timedelta.days``. " +"``timedelta.seconds`` і ``timedelta.microseconds`` ігноруються. :exc:" +"`OverflowError` виникає, якщо ``date2.year`` буде меншим за :const:`MINYEAR` " +"або більшим за :const:`MAXYEAR`." + +msgid "``timedelta.seconds`` and ``timedelta.microseconds`` are ignored." +msgstr "``timedelta.seconds`` і ``timedelta.microseconds`` ігноруються." + +msgid "" +"This is exact, and cannot overflow. timedelta.seconds and timedelta." +"microseconds are 0, and date2 + timedelta == date1 after." +msgstr "" +"Це точно і не може переповнюватися. timedelta.seconds і timedelta." +"microseconds дорівнюють 0, а date2 + timedelta == date1 після." + +msgid "" +"In other words, ``date1 < date2`` if and only if ``date1.toordinal() < date2." +"toordinal()``. Date comparison raises :exc:`TypeError` if the other " +"comparand isn't also a :class:`date` object. However, ``NotImplemented`` is " +"returned instead if the other comparand has a :meth:`timetuple` attribute. " +"This hook gives other kinds of date objects a chance at implementing mixed-" +"type comparison. If not, when a :class:`date` object is compared to an " +"object of a different type, :exc:`TypeError` is raised unless the comparison " +"is ``==`` or ``!=``. The latter cases return :const:`False` or :const:" +"`True`, respectively." +msgstr "" +"Іншими словами, ``date1 < date2`` тоді і тільки тоді, коли ``date1." +"toordinal() < date2.toordinal()``. Порівняння дат викликає :exc:`TypeError`, " +"якщо інший компаранд не є також об’єктом :class:`date`. Однак натомість " +"повертається ``NotImplemented``, якщо інший компаранд має атрибут :meth:" +"`timetuple`. Цей хук дає іншим видам об’єктів дати можливість реалізувати " +"порівняння змішаного типу. Якщо ні, коли об’єкт :class:`date` порівнюється з " +"об’єктом іншого типу, виникає :exc:`TypeError`, якщо порівняння не ``==`` " +"або ``!=``. Останні випадки повертають :const:`False` або :const:`True` " +"відповідно." + +msgid "" +"In Boolean contexts, all :class:`date` objects are considered to be true." +msgstr "У логічних контекстах усі об’єкти :class:`date` вважаються істинними." + +msgid "" +"Return a date with the same value, except for those parameters given new " +"values by whichever keyword arguments are specified." +msgstr "" +"Повертає дату з тим самим значенням, за винятком тих параметрів, яким надано " +"нові значення за будь-якими аргументами ключового слова." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"Return a :class:`time.struct_time` such as returned by :func:`time." +"localtime`." +msgstr "" +"Повертає :class:`time.struct_time`, наприклад, повертає :func:`time." +"localtime`." + +msgid "The hours, minutes and seconds are 0, and the DST flag is -1." +msgstr "" +"Години, хвилини та секунди дорівнюють 0, а позначка літнього часу дорівнює " +"-1." + +msgid "``d.timetuple()`` is equivalent to::" +msgstr "``d.timetuple()`` еквівалентний:" + +msgid "" +"where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " +"day number within the current year starting with ``1`` for January 1st." +msgstr "" +"де ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` — це номер " +"дня в поточному році, починаючи з ``1`` для 1 січня." + +msgid "" +"Return the proleptic Gregorian ordinal of the date, where January 1 of year " +"1 has ordinal 1. For any :class:`date` object *d*, ``date.fromordinal(d." +"toordinal()) == d``." +msgstr "" +"Повертає пролептичний григоріанський порядковий номер дати, де 1 січня року " +"1 має порядковий номер 1. Для будь-якого об’єкта :class:`date` *d*, ``date." +"fromordinal(d.toordinal()) == d``." + +msgid "" +"Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " +"For example, ``date(2002, 12, 4).weekday() == 2``, a Wednesday. See also :" +"meth:`isoweekday`." +msgstr "" +"Повертає день тижня як ціле число, де понеділок — 0, а неділя — 6. " +"Наприклад, ``date(2002, 12, 4).weekday() == 2``, середа. Дивіться також :" +"meth:`isoweekday`." + +msgid "" +"Return the day of the week as an integer, where Monday is 1 and Sunday is 7. " +"For example, ``date(2002, 12, 4).isoweekday() == 3``, a Wednesday. See also :" +"meth:`weekday`, :meth:`isocalendar`." +msgstr "" +"Повертає день тижня як ціле число, де понеділок — 1, а неділя — 7. " +"Наприклад, ``date(2002, 12, 4).isoweekday() == 3``, середа. Дивіться також :" +"meth:`weekday`, :meth:`isocalendar`." + +msgid "" +"Return a :term:`named tuple` object with three components: ``year``, " +"``week`` and ``weekday``." +msgstr "" +"Повертає об’єкт :term:`named tuple` із трьома компонентами: ``year``, " +"``week`` і ``weekday``." + +msgid "" +"The ISO calendar is a widely used variant of the Gregorian calendar. [#]_" +msgstr "" +"Календар ISO є широко використовуваним варіантом григоріанського календаря. " +"[#]_" + +msgid "" +"The ISO year consists of 52 or 53 full weeks, and where a week starts on a " +"Monday and ends on a Sunday. The first week of an ISO year is the first " +"(Gregorian) calendar week of a year containing a Thursday. This is called " +"week number 1, and the ISO year of that Thursday is the same as its " +"Gregorian year." +msgstr "" +"Рік ISO складається з 52 або 53 повних тижнів, де тиждень починається в " +"понеділок і закінчується в неділю. Перший тиждень року ISO — це перший " +"(григоріанський) календарний тиждень року, що містить четвер. Це називається " +"тижнем номер 1, і рік ISO того четверга такий же, як його григоріанський рік." + +msgid "" +"For example, 2004 begins on a Thursday, so the first week of ISO year 2004 " +"begins on Monday, 29 Dec 2003 and ends on Sunday, 4 Jan 2004::" +msgstr "" +"Наприклад, 2004 рік починається в четвер, тому перший тиждень 2004 року ISO " +"починається в понеділок, 29 грудня 2003 року, і закінчується в неділю, 4 " +"січня 2004 року:" + +msgid "Result changed from a tuple to a :term:`named tuple`." +msgstr "Результат змінено з кортежу на :term:`named tuple`." + +msgid "" +"Return a string representing the date in ISO 8601 format, ``YYYY-MM-DD``::" +msgstr "" +"Повертає рядок, що представляє дату у форматі ISO 8601, ``РРРР-ММ-ДД``::" + +msgid "For a date *d*, ``str(d)`` is equivalent to ``d.isoformat()``." +msgstr "Для дати *d* ``str(d)`` еквівалентно ``d.isoformat()``." + +msgid "Return a string representing the date::" +msgstr "Повертає рядок, що представляє дату::" + +msgid "``d.ctime()`` is equivalent to::" +msgstr "``d.ctime()`` еквівалентний:" + +msgid "" +"on platforms where the native C :c:func:`ctime` function (which :func:`time." +"ctime` invokes, but which :meth:`date.ctime` does not invoke) conforms to " +"the C standard." +msgstr "" +"на платформах, де рідна функція C :c:func:`ctime` (яку :func:`time.ctime` " +"викликає, але яку :meth:`date.ctime` не викликає) відповідає стандарту C." + +msgid "" +"Return a string representing the date, controlled by an explicit format " +"string. Format codes referring to hours, minutes or seconds will see 0 " +"values. For a complete list of formatting directives, see :ref:`strftime-" +"strptime-behavior`." +msgstr "" +"Повертає рядок, що представляє дату, керовану рядком явного формату. Коди " +"формату, які стосуються годин, хвилин або секунд, матимуть значення 0. Щоб " +"отримати повний список директив форматування, перегляньте :ref:`strftime-" +"strptime-behavior`." + +msgid "" +"Same as :meth:`.date.strftime`. This makes it possible to specify a format " +"string for a :class:`.date` object in :ref:`formatted string literals ` and when using :meth:`str.format`. For a complete list of " +"formatting directives, see :ref:`strftime-strptime-behavior`." +msgstr "" +"Те саме, що :meth:`.date.strftime`. Це дає змогу вказати рядок формату для " +"об’єкта :class:`.date` у :ref:`форматованих рядкових літералах ` " +"і при використанні :meth:`str.format`. Щоб отримати повний список директив " +"форматування, перегляньте :ref:`strftime-strptime-behavior`." + +msgid "Examples of Usage: :class:`date`" +msgstr "Приклади використання: :class:`date`" + +msgid "Example of counting days to an event::" +msgstr "Приклад підрахунку днів до події::" + +msgid "More examples of working with :class:`date`:" +msgstr "Ще приклади роботи з :class:`date`:" + +msgid ":class:`.datetime` Objects" +msgstr ":class:`.datetime` Об'єкти" + +msgid "" +"A :class:`.datetime` object is a single object containing all the " +"information from a :class:`date` object and a :class:`.time` object." +msgstr "" +"Об’єкт :class:`.datetime` — це єдиний об’єкт, який містить всю інформацію з " +"об’єктів :class:`date` і :class:`.time`." + +msgid "" +"Like a :class:`date` object, :class:`.datetime` assumes the current " +"Gregorian calendar extended in both directions; like a :class:`.time` " +"object, :class:`.datetime` assumes there are exactly 3600\\*24 seconds in " +"every day." +msgstr "" +"Як і об’єкт :class:`date`, :class:`.datetime` передбачає поточний " +"григоріанський календар, розширений в обох напрямках; як і об’єкт :class:`." +"time`, :class:`.datetime` припускає, що кожен день становить рівно 3600\\*24 " +"секунди." + +msgid "Constructor:" +msgstr "Конструктор:" + +msgid "" +"The *year*, *month* and *day* arguments are required. *tzinfo* may be " +"``None``, or an instance of a :class:`tzinfo` subclass. The remaining " +"arguments must be integers in the following ranges:" +msgstr "" +"Аргументи *рік*, *місяць* і *день* є обов’язковими. *tzinfo* може бути " +"``None`` або екземпляром підкласу :class:`tzinfo`. Решта аргументів мають " +"бути цілими числами в таких діапазонах:" + +msgid "``MINYEAR <= year <= MAXYEAR``," +msgstr "``MINYEAR <= рік <= MAXYEAR``," + +msgid "``1 <= month <= 12``," +msgstr "``1 <= місяць <= 12``," + +msgid "``1 <= day <= number of days in the given month and year``," +msgstr "``1 <= день <= кількість днів у заданому місяці та році``," + +msgid "``0 <= hour < 24``," +msgstr "``0 <= година < 24``," + +msgid "``0 <= minute < 60``," +msgstr "``0 <= хвилина < 60``," + +msgid "``0 <= second < 60``," +msgstr "``0 <= секунда < 60``," + +msgid "``0 <= microsecond < 1000000``," +msgstr "``0 <= мікросекунда < 1000000``," + +msgid "``fold in [0, 1]``." +msgstr "``згорнути [0, 1]``." + +msgid "Added the ``fold`` argument." +msgstr "Додано аргумент ``fold``." + +msgid "Return the current local datetime, with :attr:`.tzinfo` ``None``." +msgstr "" +"Повертає поточну локальну дату та час за допомогою :attr:`.tzinfo` ``None``." + +msgid "Equivalent to::" +msgstr "Дорівнює::" + +msgid "See also :meth:`now`, :meth:`fromtimestamp`." +msgstr "Дивіться також :meth:`now`, :meth:`fromtimestamp`." + +msgid "" +"This method is functionally equivalent to :meth:`now`, but without a ``tz`` " +"parameter." +msgstr "" +"Цей метод функціонально еквівалентний :meth:`now`, але без параметра ``tz``." + +msgid "Return the current local date and time." +msgstr "Повернути поточну місцеву дату й час." + +msgid "" +"If optional argument *tz* is ``None`` or not specified, this is like :meth:" +"`today`, but, if possible, supplies more precision than can be gotten from " +"going through a :func:`time.time` timestamp (for example, this may be " +"possible on platforms supplying the C :c:func:`gettimeofday` function)." +msgstr "" +"Якщо необов’язковий аргумент *tz* має значення ``None`` або не вказано, це " +"схоже на :meth:`today`, але, якщо можливо, надає більшу точність, ніж можна " +"отримати, пройшовши через :func:`time.time` мітка часу (наприклад, це " +"можливо на платформах, що забезпечують функцію C :c:func:`gettimeofday`)." + +msgid "" +"If *tz* is not ``None``, it must be an instance of a :class:`tzinfo` " +"subclass, and the current date and time are converted to *tz*’s time zone." +msgstr "" +"Якщо *tz* не є ``None``, він має бути екземпляром підкласу :class:`tzinfo`, " +"а поточні дата й час перетворюються на часовий пояс *tz*." + +msgid "This function is preferred over :meth:`today` and :meth:`utcnow`." +msgstr "Цій функції надається перевага над :meth:`today` і :meth:`utcnow`." + +msgid "Return the current UTC date and time, with :attr:`.tzinfo` ``None``." +msgstr "" +"Повертає поточну дату й час за UTC за допомогою :attr:`.tzinfo` ``None``." + +msgid "" +"This is like :meth:`now`, but returns the current UTC date and time, as a " +"naive :class:`.datetime` object. An aware current UTC datetime can be " +"obtained by calling ``datetime.now(timezone.utc)``. See also :meth:`now`." +msgstr "" +"Це схоже на :meth:`now`, але повертає поточну дату та час у форматі UTC як " +"простий об’єкт :class:`.datetime`. Відомий поточний UTC datetime можна " +"отримати, викликавши ``datetime.now(timezone.utc)``. Дивіться також :meth:" +"`now`." + +msgid "" +"Because naive ``datetime`` objects are treated by many ``datetime`` methods " +"as local times, it is preferred to use aware datetimes to represent times in " +"UTC. As such, the recommended way to create an object representing the " +"current time in UTC is by calling ``datetime.now(timezone.utc)``." +msgstr "" +"Оскільки наївні об’єкти ``datetime`` розглядаються багатьма методами " +"``datetime`` як місцевий час, бажано використовувати відомі дати для " +"представлення часу в UTC. Таким чином, рекомендований спосіб створити " +"об’єкт, що представляє поточний час у UTC, — це викликати ``datetime." +"now(timezone.utc)``." + +msgid "" +"Return the local date and time corresponding to the POSIX timestamp, such as " +"is returned by :func:`time.time`. If optional argument *tz* is ``None`` or " +"not specified, the timestamp is converted to the platform's local date and " +"time, and the returned :class:`.datetime` object is naive." +msgstr "" +"Повертає локальну дату й час, що відповідають мітці часу POSIX, наприклад, " +"повертає :func:`time.time`. Якщо необов’язковий аргумент *tz* має значення " +"``None`` або не вказано, позначка часу перетворюється на локальну дату й час " +"платформи, а повернутий об’єкт :class:`.datetime` є простим." + +msgid "" +"If *tz* is not ``None``, it must be an instance of a :class:`tzinfo` " +"subclass, and the timestamp is converted to *tz*’s time zone." +msgstr "" +"Якщо *tz* не є ``None``, він має бути екземпляром підкласу :class:`tzinfo`, " +"а мітка часу перетворюється на часовий пояс *tz*." + +msgid "" +":meth:`fromtimestamp` may raise :exc:`OverflowError`, if the timestamp is " +"out of the range of values supported by the platform C :c:func:`localtime` " +"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` or :" +"c:func:`gmtime` failure. It's common for this to be restricted to years in " +"1970 through 2038. Note that on non-POSIX systems that include leap seconds " +"in their notion of a timestamp, leap seconds are ignored by :meth:" +"`fromtimestamp`, and then it's possible to have two timestamps differing by " +"a second that yield identical :class:`.datetime` objects. This method is " +"preferred over :meth:`utcfromtimestamp`." +msgstr "" +":meth:`fromtimestamp` може викликати :exc:`OverflowError`, якщо мітка часу " +"виходить за межі діапазону значень, які підтримуються функціями платформи C :" +"c:func:`localtime` або :c:func:`gmtime`, і :exc:`OSError` під час помилки :c:" +"func:`localtime` або :c:func:`gmtime`. Зазвичай це обмежується роками з 1970 " +"по 2038 рік. Зауважте, що в системах без POSIX, які включають високосні " +"секунди в своє поняття позначки часу, високосні секунди ігноруються :meth:" +"`fromtimestamp`, і тоді можна мати дві мітки часу, що відрізняються на " +"секунду, що дає ідентичні об’єкти :class:`.datetime`. Цей метод є кращим " +"перед :meth:`utcfromtimestamp`." + +msgid "" +"Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " +"out of the range of values supported by the platform C :c:func:`localtime` " +"or :c:func:`gmtime` functions. Raise :exc:`OSError` instead of :exc:" +"`ValueError` on :c:func:`localtime` or :c:func:`gmtime` failure." +msgstr "" +"Викликайте :exc:`OverflowError` замість :exc:`ValueError`, якщо позначка " +"часу виходить за межі діапазону значень, які підтримують функції C :c:func:" +"`localtime` або :c:func:`gmtime` платформи. Викликати :exc:`OSError` " +"замість :exc:`ValueError` у разі помилки :c:func:`localtime` або :c:func:" +"`gmtime`." + +msgid ":meth:`fromtimestamp` may return instances with :attr:`.fold` set to 1." +msgstr "" +":meth:`fromtimestamp` може повертати екземпляри з :attr:`.fold`, " +"встановленим на 1." + +msgid "" +"Return the UTC :class:`.datetime` corresponding to the POSIX timestamp, " +"with :attr:`.tzinfo` ``None``. (The resulting object is naive.)" +msgstr "" +"Повертає UTC :class:`.datetime`, що відповідає мітці часу POSIX, з :attr:`." +"tzinfo` ``None``. (Отриманий об’єкт наївний.)" + +msgid "" +"This may raise :exc:`OverflowError`, if the timestamp is out of the range of " +"values supported by the platform C :c:func:`gmtime` function, and :exc:" +"`OSError` on :c:func:`gmtime` failure. It's common for this to be restricted " +"to years in 1970 through 2038." +msgstr "" +"Це може спричинити помилку :exc:`OverflowError`, якщо позначка часу виходить " +"за межі значень, які підтримує функція платформи C :c:func:`gmtime`, і :exc:" +"`OSError` на :c:func:`gmtime` невдача. Зазвичай це обмежується роками з 1970 " +"по 2038 рік." + +msgid "To get an aware :class:`.datetime` object, call :meth:`fromtimestamp`::" +msgstr "" +"Щоб отримати відомий об’єкт :class:`.datetime`, викличте :meth:" +"`fromtimestamp`::" + +msgid "" +"On the POSIX compliant platforms, it is equivalent to the following " +"expression::" +msgstr "На POSIX-сумісних платформах це еквівалентно такому виразу::" + +msgid "" +"except the latter formula always supports the full years range: between :" +"const:`MINYEAR` and :const:`MAXYEAR` inclusive." +msgstr "" +"за винятком останньої формули, яка завжди підтримує повний діапазон років: " +"від :const:`MINYEAR` до :const:`MAXYEAR` включно." + +msgid "" +"Because naive ``datetime`` objects are treated by many ``datetime`` methods " +"as local times, it is preferred to use aware datetimes to represent times in " +"UTC. As such, the recommended way to create an object representing a " +"specific timestamp in UTC is by calling ``datetime.fromtimestamp(timestamp, " +"tz=timezone.utc)``." +msgstr "" +"Оскільки наївні об’єкти ``datetime`` розглядаються багатьма методами " +"``datetime`` як місцевий час, бажано використовувати відомі дати для " +"представлення часу в UTC. Таким чином, рекомендований спосіб створити " +"об’єкт, що представляє конкретну позначку часу в UTC, — це викликати " +"``datetime.fromtimestamp(timestamp, tz=timezone.utc)``." + +msgid "" +"Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " +"out of the range of values supported by the platform C :c:func:`gmtime` " +"function. Raise :exc:`OSError` instead of :exc:`ValueError` on :c:func:" +"`gmtime` failure." +msgstr "" +"Викликайте :exc:`OverflowError` замість :exc:`ValueError`, якщо позначка " +"часу виходить за межі діапазону значень, які підтримує функція C :c:func:" +"`gmtime` платформи. Викликати :exc:`OSError` замість :exc:`ValueError` у " +"разі помилки :c:func:`gmtime`." + +msgid "" +"Return the :class:`.datetime` corresponding to the proleptic Gregorian " +"ordinal, where January 1 of year 1 has ordinal 1. :exc:`ValueError` is " +"raised unless ``1 <= ordinal <= datetime.max.toordinal()``. The hour, " +"minute, second and microsecond of the result are all 0, and :attr:`.tzinfo` " +"is ``None``." +msgstr "" +"Повертає :class:`.datetime`, що відповідає пролептичному григоріанському " +"порядковому номеру, де 1 січня року 1 має порядковий номер 1. :exc:" +"`ValueError` виникає, якщо не ``1 <= порядковий <= datetime.max." +"toordinal()``. Година, хвилина, секунда та мікросекунда результату " +"дорівнюють 0, а :attr:`.tzinfo` — ``None``." + +msgid "" +"Return a new :class:`.datetime` object whose date components are equal to " +"the given :class:`date` object's, and whose time components are equal to the " +"given :class:`.time` object's. If the *tzinfo* argument is provided, its " +"value is used to set the :attr:`.tzinfo` attribute of the result, otherwise " +"the :attr:`~.time.tzinfo` attribute of the *time* argument is used." +msgstr "" +"Повертає новий об’єкт :class:`.datetime`, компоненти дати якого дорівнюють " +"заданому об’єкту :class:`date`, а компоненти часу дорівнюють заданому " +"об’єкту :class:`.time`. Якщо надано аргумент *tzinfo*, його значення " +"використовується для встановлення атрибута :attr:`.tzinfo` результату, " +"інакше використовується атрибут :attr:`~.time.tzinfo` аргументу *time*." + +msgid "" +"For any :class:`.datetime` object *d*, ``d == datetime.combine(d.date(), d." +"time(), d.tzinfo)``. If date is a :class:`.datetime` object, its time " +"components and :attr:`.tzinfo` attributes are ignored." +msgstr "" +"Для будь-якого об’єкта :class:`.datetime` *d*, ``d == datetime.combine(d." +"date(), d.time(), d.tzinfo)``. Якщо date є об’єктом :class:`.datetime`, його " +"компоненти часу та атрибути :attr:`.tzinfo` ігноруються." + +msgid "Added the *tzinfo* argument." +msgstr "Додано аргумент *tzinfo*." + +msgid "" +"Return a :class:`.datetime` corresponding to a *date_string* in any valid " +"ISO 8601 format, with the following exceptions:" +msgstr "" + +msgid "Time zone offsets may have fractional seconds." +msgstr "" + +msgid "The ``T`` separator may be replaced by any single unicode character." +msgstr "" + +msgid "Ordinal dates are not currently supported." +msgstr "" + +msgid "Fractional hours and minutes are not supported." +msgstr "" + +msgid "Examples::" +msgstr "Приклади::" + +msgid "" +"Previously, this method only supported formats that could be emitted by :" +"meth:`date.isoformat()` or :meth:`datetime.isoformat()`." +msgstr "" + +msgid "" +"Return a :class:`.datetime` corresponding to the ISO calendar date specified " +"by year, week and day. The non-date components of the datetime are populated " +"with their normal default values. This is the inverse of the function :meth:" +"`datetime.isocalendar`." +msgstr "" +"Повертає :class:`.datetime`, що відповідає календарній даті ISO, визначеній " +"роком, тижнем і днем. Компоненти datetime, що не є датою, заповнюються " +"стандартними значеннями за замовчуванням. Це зворотна функція :meth:" +"`datetime.isocalendar`." + +msgid "" +"Return a :class:`.datetime` corresponding to *date_string*, parsed according " +"to *format*." +msgstr "" +"Повертає :class:`.datetime`, що відповідає *рядку_дати*, розібраному " +"відповідно до *формату*." + +msgid "This is equivalent to::" +msgstr "Це еквівалентно::" + +msgid "" +":exc:`ValueError` is raised if the date_string and format can't be parsed " +"by :func:`time.strptime` or if it returns a value which isn't a time tuple. " +"For a complete list of formatting directives, see :ref:`strftime-strptime-" +"behavior`." +msgstr "" +":exc:`ValueError` виникає, якщо date_string і формат не можуть бути " +"проаналізовані :func:`time.strptime` або якщо він повертає значення, яке не " +"є кортежем часу. Щоб отримати повний список директив форматування, " +"перегляньте :ref:`strftime-strptime-behavior`." + +msgid "" +"The earliest representable :class:`.datetime`, ``datetime(MINYEAR, 1, 1, " +"tzinfo=None)``." +msgstr "" +"Найраніший репрезентований :class:`.datetime`, ``datetime(MINYEAR, 1, 1, " +"tzinfo=None)``." + +msgid "" +"The latest representable :class:`.datetime`, ``datetime(MAXYEAR, 12, 31, 23, " +"59, 59, 999999, tzinfo=None)``." +msgstr "" +"Останній представлений :class:`.datetime`, ``datetime(MAXYEAR, 12, 31, 23, " +"59, 59, 999999, tzinfo=None)``." + +msgid "" +"The smallest possible difference between non-equal :class:`.datetime` " +"objects, ``timedelta(microseconds=1)``." +msgstr "" +"Найменша можлива різниця між нерівними об’єктами :class:`.datetime`, " +"``timedelta(microseconds=1)``." + +msgid "In ``range(24)``." +msgstr "У діапазоні (24)." + +msgid "In ``range(60)``." +msgstr "У ``діапазоні (60)``." + +msgid "In ``range(1000000)``." +msgstr "У ``діапазоні (1000 000)``." + +msgid "" +"The object passed as the *tzinfo* argument to the :class:`.datetime` " +"constructor, or ``None`` if none was passed." +msgstr "" +"Об’єкт передається як аргумент *tzinfo* конструктору :class:`.datetime` або " +"``None``, якщо жодного не було передано." + +msgid "" +"In ``[0, 1]``. Used to disambiguate wall times during a repeated interval. " +"(A repeated interval occurs when clocks are rolled back at the end of " +"daylight saving time or when the UTC offset for the current zone is " +"decreased for political reasons.) The value 0 (1) represents the earlier " +"(later) of the two moments with the same wall time representation." +msgstr "" +"У ``[0, 1]``. Використовується для усунення неоднозначності часу стіни " +"протягом повторюваного інтервалу. (Повторюваний інтервал виникає, коли " +"годинники повертаються назад наприкінці літнього часу або коли зсув UTC для " +"поточної зони зменшується з політичних причин.) Значення 0 (1) представляє " +"ранній (пізніший) із двох моментів із однакове представлення часу на стіні." + +msgid "``datetime2 = datetime1 + timedelta``" +msgstr "``datetime2 = datetime1 + timedelta``" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``datetime2 = datetime1 - timedelta``" +msgstr "``datetime2 = datetime1 - timedelta``" + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "``timedelta = datetime1 - datetime2``" +msgstr "``timedelta = datetime1 - datetime2``" + +msgid "``datetime1 < datetime2``" +msgstr "``датачас1 < датачас2``" + +msgid "Compares :class:`.datetime` to :class:`.datetime`. (4)" +msgstr "Порівнює :class:`.datetime` з :class:`.datetime`. (4)" + +msgid "" +"datetime2 is a duration of timedelta removed from datetime1, moving forward " +"in time if ``timedelta.days`` > 0, or backward if ``timedelta.days`` < 0. " +"The result has the same :attr:`~.datetime.tzinfo` attribute as the input " +"datetime, and datetime2 - datetime1 == timedelta after. :exc:`OverflowError` " +"is raised if datetime2.year would be smaller than :const:`MINYEAR` or larger " +"than :const:`MAXYEAR`. Note that no time zone adjustments are done even if " +"the input is an aware object." +msgstr "" +"datetime2 — це тривалість дельти часу, вилученої з datetime1, переміщення " +"вперед у часі, якщо ``timedelta.days`` > 0, або назад, якщо ``timedelta." +"days`` < 0. Результат має той самий :attr:`~.datetime .tzinfo` атрибут як " +"вхідна дата і час, а datetime2 - datetime1 == timedelta після. :exc:" +"`OverflowError` виникає, якщо datetime2.year буде меншим за :const:`MINYEAR` " +"або більшим за :const:`MAXYEAR`. Зауважте, що коригування часового поясу не " +"виконується, навіть якщо введенням є відомий об’єкт." + +msgid "" +"Computes the datetime2 such that datetime2 + timedelta == datetime1. As for " +"addition, the result has the same :attr:`~.datetime.tzinfo` attribute as the " +"input datetime, and no time zone adjustments are done even if the input is " +"aware." +msgstr "" +"Обчислює datetime2 так, що datetime2 + timedelta == datetime1. Що стосується " +"додавання, результат має той самий атрибут :attr:`~.datetime.tzinfo`, що й " +"дата-час введення, і коригування часового поясу не виконується, навіть якщо " +"введення відоме." + +msgid "" +"Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined " +"only if both operands are naive, or if both are aware. If one is aware and " +"the other is naive, :exc:`TypeError` is raised." +msgstr "" +"Віднімання :class:`.datetime` від :class:`.datetime` визначається, лише якщо " +"обидва операнди наївні, або якщо обидва знають. Якщо один знає, а інший " +"наївний, виникає :exc:`TypeError`." + +msgid "" +"If both are naive, or both are aware and have the same :attr:`~.datetime." +"tzinfo` attribute, the :attr:`~.datetime.tzinfo` attributes are ignored, and " +"the result is a :class:`timedelta` object *t* such that ``datetime2 + t == " +"datetime1``. No time zone adjustments are done in this case." +msgstr "" +"Якщо обидва наївні, або обидва знають і мають однаковий атрибут :attr:`~." +"datetime.tzinfo`, атрибути :attr:`~.datetime.tzinfo` ігноруються, і " +"результатом є :class:`timedelta` об’єкт *t* такий, що ``datetime2 + t == " +"datetime1``. У цьому випадку коригування часового поясу не виконується." + +msgid "" +"If both are aware and have different :attr:`~.datetime.tzinfo` attributes, " +"``a-b`` acts as if *a* and *b* were first converted to naive UTC datetimes " +"first. The result is ``(a.replace(tzinfo=None) - a.utcoffset()) - (b." +"replace(tzinfo=None) - b.utcoffset())`` except that the implementation never " +"overflows." +msgstr "" +"Якщо обидва знають і мають різні атрибути :attr:`~.datetime.tzinfo`, ``a-b`` " +"діє так, ніби *a* і *b* спочатку були перетворені на звичайні UTC дати та " +"часи. Результатом є ``(a.replace(tzinfo=None) - a.utcoffset()) - (b." +"replace(tzinfo=None) - b.utcoffset())`` за винятком того, що реалізація " +"ніколи не переповнюється." + +msgid "" +"*datetime1* is considered less than *datetime2* when *datetime1* precedes " +"*datetime2* in time." +msgstr "" +"*datetime1* вважається меншим за *datetime2*, якщо *datetime1* передує " +"*datetime2* за часом." + +msgid "" +"If one comparand is naive and the other is aware, :exc:`TypeError` is raised " +"if an order comparison is attempted. For equality comparisons, naive " +"instances are never equal to aware instances." +msgstr "" +"Якщо один компаранд наївний, а інший відомий, :exc:`TypeError` викликається " +"під час спроби порівняння порядку. Для порівняння рівності наївні екземпляри " +"ніколи не дорівнюють усвідомленим екземплярам." + +msgid "" +"If both comparands are aware, and have the same :attr:`~.datetime.tzinfo` " +"attribute, the common :attr:`~.datetime.tzinfo` attribute is ignored and the " +"base datetimes are compared. If both comparands are aware and have " +"different :attr:`~.datetime.tzinfo` attributes, the comparands are first " +"adjusted by subtracting their UTC offsets (obtained from ``self." +"utcoffset()``)." +msgstr "" +"Якщо обидва компаранди знають і мають однаковий атрибут :attr:`~.datetime." +"tzinfo`, загальний атрибут :attr:`~.datetime.tzinfo` ігнорується, а базові " +"дати-часи порівнюються. Якщо обидва компаранди знають і мають різні " +"атрибути :attr:`~.datetime.tzinfo`, компаранди спочатку коригуються шляхом " +"віднімання їхніх зсувів UTC (отриманих із ``self.utcoffset()``)." + +msgid "" +"Equality comparisons between aware and naive :class:`.datetime` instances " +"don't raise :exc:`TypeError`." +msgstr "" +"Порівняння рівності між обізнаними та наївними екземплярами :class:`." +"datetime` не викликає :exc:`TypeError`." + +msgid "" +"In order to stop comparison from falling back to the default scheme of " +"comparing object addresses, datetime comparison normally raises :exc:" +"`TypeError` if the other comparand isn't also a :class:`.datetime` object. " +"However, ``NotImplemented`` is returned instead if the other comparand has " +"a :meth:`timetuple` attribute. This hook gives other kinds of date objects a " +"chance at implementing mixed-type comparison. If not, when a :class:`." +"datetime` object is compared to an object of a different type, :exc:" +"`TypeError` is raised unless the comparison is ``==`` or ``!=``. The latter " +"cases return :const:`False` or :const:`True`, respectively." +msgstr "" +"Щоб зупинити порівняння від повернення до типової схеми порівняння адрес " +"об’єктів, порівняння дати й часу зазвичай викликає :exc:`TypeError`, якщо " +"інший порівнюваний не є також об’єктом :class:`.datetime`. Однак натомість " +"повертається ``NotImplemented``, якщо інший компаранд має атрибут :meth:" +"`timetuple`. Цей хук дає іншим видам об’єктів дати можливість реалізувати " +"порівняння змішаного типу. Якщо ні, коли об’єкт :class:`.datetime` " +"порівнюється з об’єктом іншого типу, виникає :exc:`TypeError`, якщо " +"порівняння не ``==`` або ``!=``. Останні випадки повертають :const:`False` " +"або :const:`True` відповідно." + +msgid "Return :class:`date` object with same year, month and day." +msgstr "Повертає об’єкт :class:`date` з тим самим роком, місяцем і днем." + +msgid "" +"Return :class:`.time` object with same hour, minute, second, microsecond and " +"fold. :attr:`.tzinfo` is ``None``. See also method :meth:`timetz`." +msgstr "" +"Повертає об’єкт :class:`.time` із тією самою годиною, хвилиною, секундою, " +"мікросекундою та згортанням. :attr:`.tzinfo` — це ``None``. Дивіться також " +"метод :meth:`timetz`." + +msgid "The fold value is copied to the returned :class:`.time` object." +msgstr "Значення згортання копіюється до повернутого об’єкта :class:`.time`." + +msgid "" +"Return :class:`.time` object with same hour, minute, second, microsecond, " +"fold, and tzinfo attributes. See also method :meth:`time`." +msgstr "" +"Повертає об’єкт :class:`.time` з такими самими атрибутами: година, хвилина, " +"секунда, мікросекунда, згортання та tzinfo. Дивіться також метод :meth:" +"`time`." + +msgid "" +"Return a datetime with the same attributes, except for those attributes " +"given new values by whichever keyword arguments are specified. Note that " +"``tzinfo=None`` can be specified to create a naive datetime from an aware " +"datetime with no conversion of date and time data." +msgstr "" +"Повертає дату й час із тими самими атрибутами, за винятком тих атрибутів, " +"яким надано нові значення за будь-якими аргументами ключового слова. " +"Зауважте, що ``tzinfo=None`` можна вказати для створення простої дати-часу з " +"усвідомленої дати-часу без перетворення даних дати й часу." + +msgid "" +"Return a :class:`.datetime` object with new :attr:`.tzinfo` attribute *tz*, " +"adjusting the date and time data so the result is the same UTC time as " +"*self*, but in *tz*'s local time." +msgstr "" +"Повертає об’єкт :class:`.datetime` з новим атрибутом :attr:`.tzinfo` *tz*, " +"регулюючи дані дати й часу таким чином, щоб результат був таким самим часом " +"UTC, як *self*, але в *tz* місцевий час." + +msgid "" +"If provided, *tz* must be an instance of a :class:`tzinfo` subclass, and " +"its :meth:`utcoffset` and :meth:`dst` methods must not return ``None``. If " +"*self* is naive, it is presumed to represent time in the system timezone." +msgstr "" +"Якщо вказано, *tz* має бути екземпляром підкласу :class:`tzinfo`, а його " +"методи :meth:`utcoffset` і :meth:`dst` не повинні повертати ``None``. Якщо " +"*self* наївний, вважається, що він представляє час у часовому поясі системи." + +msgid "" +"If called without arguments (or with ``tz=None``) the system local timezone " +"is assumed for the target timezone. The ``.tzinfo`` attribute of the " +"converted datetime instance will be set to an instance of :class:`timezone` " +"with the zone name and offset obtained from the OS." +msgstr "" +"Якщо викликати без аргументів (або з ``tz=None``), системний локальний " +"часовий пояс передбачається як цільовий часовий пояс. Атрибут ``.tzinfo`` " +"перетвореного екземпляра datetime буде встановлено на екземпляр :class:" +"`timezone` з назвою зони та зміщенням, отриманими від ОС." + +msgid "" +"If ``self.tzinfo`` is *tz*, ``self.astimezone(tz)`` is equal to *self*: no " +"adjustment of date or time data is performed. Else the result is local time " +"in the timezone *tz*, representing the same UTC time as *self*: after " +"``astz = dt.astimezone(tz)``, ``astz - astz.utcoffset()`` will have the same " +"date and time data as ``dt - dt.utcoffset()``." +msgstr "" +"Якщо ``self.tzinfo`` дорівнює *tz*, ``self.astimezone(tz)`` дорівнює *self*: " +"коригування даних дати чи часу не виконується. Інакше результатом є місцевий " +"час у часовому поясі *tz*, який представляє той самий час UTC, що й *self*: " +"після ``astz = dt.astimezone(tz)``, ``astz - astz.utcoffset()`` матиме ті " +"самі дані про дату й час, що й у ``dt - dt.utcoffset()``." + +msgid "" +"If you merely want to attach a time zone object *tz* to a datetime *dt* " +"without adjustment of date and time data, use ``dt.replace(tzinfo=tz)``. If " +"you merely want to remove the time zone object from an aware datetime *dt* " +"without conversion of date and time data, use ``dt.replace(tzinfo=None)``." +msgstr "" +"Якщо ви просто хочете приєднати об’єкт часового поясу *tz* до дати і часу " +"*dt* без коригування даних дати й часу, використовуйте ``dt." +"replace(tzinfo=tz)``. Якщо ви просто хочете видалити об’єкт часового поясу з " +"відомого datetime *dt* без перетворення даних дати та часу, використовуйте " +"``dt.replace(tzinfo=None)``." + +msgid "" +"Note that the default :meth:`tzinfo.fromutc` method can be overridden in a :" +"class:`tzinfo` subclass to affect the result returned by :meth:`astimezone`. " +"Ignoring error cases, :meth:`astimezone` acts like::" +msgstr "" +"Зауважте, що стандартний метод :meth:`tzinfo.fromutc` можна замінити в " +"підкласі :class:`tzinfo`, щоб вплинути на результат, який повертає :meth:" +"`astimezone`. Ігноруючи випадки помилок, :meth:`astimezone` діє як:" + +msgid "*tz* now can be omitted." +msgstr "*tz* тепер можна опустити." + +msgid "" +"The :meth:`astimezone` method can now be called on naive instances that are " +"presumed to represent system local time." +msgstr "" +"Метод :meth:`astimezone` тепер можна викликати в простих екземплярах, які, " +"як припускається, представляють місцевий час системи." + +msgid "" +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." +"utcoffset(self)``, and raises an exception if the latter doesn't return " +"``None`` or a :class:`timedelta` object with magnitude less than one day." +msgstr "" +"Якщо :attr:`.tzinfo` має значення ``None``, повертає ``None``, інакше " +"повертає ``self.tzinfo.utcoffset(self)`` і викликає виняток, якщо останній " +"не повертає ``None`` або об’єкт :class:`timedelta` з величиною менше одного " +"дня." + +msgid "The UTC offset is not restricted to a whole number of minutes." +msgstr "Зсув UTC не обмежений цілою кількістю хвилин." + +msgid "" +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." +"dst(self)``, and raises an exception if the latter doesn't return ``None`` " +"or a :class:`timedelta` object with magnitude less than one day." +msgstr "" +"Якщо :attr:`.tzinfo` має значення ``None``, повертає ``None``, інакше " +"повертає ``self.tzinfo.dst(self)`` і викликає виняток, якщо останній не " +"повертає ``None`` або об’єкт :class:`timedelta` з величиною менше одного дня." + +msgid "The DST offset is not restricted to a whole number of minutes." +msgstr "Зміщення літнього часу не обмежується цілою кількістю хвилин." + +msgid "" +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." +"tzname(self)``, raises an exception if the latter doesn't return ``None`` or " +"a string object," +msgstr "" +"Якщо :attr:`.tzinfo` має значення ``None``, повертає ``None``, інакше " +"повертає ``self.tzinfo.tzname(self)``, викликає виняток, якщо останній не " +"повертає ``None`` або рядковий об’єкт," + +msgid "" +"where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " +"day number within the current year starting with ``1`` for January 1st. The :" +"attr:`tm_isdst` flag of the result is set according to the :meth:`dst` " +"method: :attr:`.tzinfo` is ``None`` or :meth:`dst` returns ``None``, :attr:" +"`tm_isdst` is set to ``-1``; else if :meth:`dst` returns a non-zero value, :" +"attr:`tm_isdst` is set to ``1``; else :attr:`tm_isdst` is set to ``0``." +msgstr "" +"де ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` — це номер " +"дня в поточному році, починаючи з ``1`` для 1 січня. Прапорець :attr:" +"`tm_isdst` результату встановлюється відповідно до методу :meth:`dst` :attr:" +"`.tzinfo` має значення ``None`` або :meth:`dst` повертає ``None`` , :attr:" +"`tm_isdst` має значення ``-1``; інакше, якщо :meth:`dst` повертає ненульове " +"значення, :attr:`tm_isdst` встановлюється на ``1``; інакше :attr:`tm_isdst` " +"встановлено на ``0``." + +msgid "" +"If :class:`.datetime` instance *d* is naive, this is the same as ``d." +"timetuple()`` except that :attr:`tm_isdst` is forced to 0 regardless of what " +"``d.dst()`` returns. DST is never in effect for a UTC time." +msgstr "" +"Якщо :class:`.datetime` екземпляр *d* є простим, це те саме, що ``d." +"timetuple()``, за винятком того, що :attr:`tm_isdst` має значення 0 " +"незалежно від того, що ``d.dst( )`` повертається. Літній час ніколи не діє " +"протягом UTC." + +msgid "" +"If *d* is aware, *d* is normalized to UTC time, by subtracting ``d." +"utcoffset()``, and a :class:`time.struct_time` for the normalized time is " +"returned. :attr:`tm_isdst` is forced to 0. Note that an :exc:`OverflowError` " +"may be raised if *d*.year was ``MINYEAR`` or ``MAXYEAR`` and UTC adjustment " +"spills over a year boundary." +msgstr "" +"Якщо *d* відомо, *d* нормалізується до часу UTC шляхом віднімання ``d." +"utcoffset()``, і повертається :class:`time.struct_time` для нормалізованого " +"часу. :attr:`tm_isdst` має значення 0. Зауважте, що :exc:`OverflowError` " +"може виникнути, якщо *d*.year був ``MINYEAR`` або ``MAXYEAR``, а коригування " +"UTC виходить за межі року." + +msgid "" +"Because naive ``datetime`` objects are treated by many ``datetime`` methods " +"as local times, it is preferred to use aware datetimes to represent times in " +"UTC; as a result, using ``utcfromtimetuple`` may give misleading results. If " +"you have a naive ``datetime`` representing UTC, use ``datetime." +"replace(tzinfo=timezone.utc)`` to make it aware, at which point you can use :" +"meth:`.datetime.timetuple`." +msgstr "" +"Оскільки наївні об’єкти ``datetime`` обробляються багатьма методами " +"``datetime`` як місцевий час, бажано використовувати відомі дати для " +"представлення часу в UTC; в результаті використання ``utcfromtimetuple`` " +"може дати оманливі результати. Якщо у вас є простий ``datetime``, який " +"представляє UTC, використовуйте ``datetime.replace(tzinfo=timezone.utc)``, " +"щоб це було відомо, після чого ви можете використовувати :meth:`.datetime." +"timetuple`." + +msgid "" +"Return the proleptic Gregorian ordinal of the date. The same as ``self." +"date().toordinal()``." +msgstr "" +"Повертає пролептичний григоріанський порядковий номер дати. Те саме, що " +"``self.date().toordinal()``." + +msgid "" +"Return POSIX timestamp corresponding to the :class:`.datetime` instance. The " +"return value is a :class:`float` similar to that returned by :func:`time." +"time`." +msgstr "" +"Повертає позначку часу POSIX, що відповідає екземпляру :class:`.datetime`. " +"Значення, що повертається, є :class:`float`, подібне до того, яке повертає :" +"func:`time.time`." + +msgid "" +"Naive :class:`.datetime` instances are assumed to represent local time and " +"this method relies on the platform C :c:func:`mktime` function to perform " +"the conversion. Since :class:`.datetime` supports wider range of values " +"than :c:func:`mktime` on many platforms, this method may raise :exc:" +"`OverflowError` for times far in the past or far in the future." +msgstr "" +"Передбачається, що наивні екземпляри :class:`.datetime` представляють " +"місцевий час, і цей метод покладається на функцію C :c:func:`mktime` " +"платформи для виконання перетворення. Оскільки :class:`.datetime` підтримує " +"ширший діапазон значень, ніж :c:func:`mktime` на багатьох платформах, цей " +"метод може викликати :exc:`OverflowError` для часів далеко в минулому або " +"далекого майбутнього." + +msgid "" +"For aware :class:`.datetime` instances, the return value is computed as::" +msgstr "" +"Для екземплярів aware :class:`.datetime` значення, що повертається, " +"обчислюється як:" + +msgid "" +"The :meth:`timestamp` method uses the :attr:`.fold` attribute to " +"disambiguate the times during a repeated interval." +msgstr "" +"Метод :meth:`timestamp` використовує атрибут :attr:`.fold`, щоб усунути " +"неоднозначність часу протягом повторюваного інтервалу." + +msgid "" +"There is no method to obtain the POSIX timestamp directly from a naive :" +"class:`.datetime` instance representing UTC time. If your application uses " +"this convention and your system timezone is not set to UTC, you can obtain " +"the POSIX timestamp by supplying ``tzinfo=timezone.utc``::" +msgstr "" +"Немає способу отримати мітку часу POSIX безпосередньо з простого екземпляра :" +"class:`.datetime`, що представляє час UTC. Якщо ваша програма використовує " +"цю угоду, а системний часовий пояс не встановлено на UTC, ви можете отримати " +"мітку часу POSIX, надавши ``tzinfo=timezone.utc``::" + +msgid "or by calculating the timestamp directly::" +msgstr "або шляхом безпосереднього обчислення позначки часу:" + +msgid "" +"Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " +"The same as ``self.date().weekday()``. See also :meth:`isoweekday`." +msgstr "" +"Повертає день тижня як ціле число, де понеділок дорівнює 0, а неділя – 6. Те " +"саме, що ``self.date().weekday()``. Дивіться також :meth:`isoweekday`." + +msgid "" +"Return the day of the week as an integer, where Monday is 1 and Sunday is 7. " +"The same as ``self.date().isoweekday()``. See also :meth:`weekday`, :meth:" +"`isocalendar`." +msgstr "" +"Повертає день тижня як ціле число, де понеділок — 1, а неділя — 7. Те саме, " +"що ``self.date().isoweekday()``. Дивіться також :meth:`weekday`, :meth:" +"`isocalendar`." + +msgid "" +"Return a :term:`named tuple` with three components: ``year``, ``week`` and " +"``weekday``. The same as ``self.date().isocalendar()``." +msgstr "" +"Повертає :term:`named tuple` із трьома компонентами: ``рік``, ``тиждень`` і " +"``день тижня``. Те саме, що ``self.date().isocalendar()``." + +msgid "Return a string representing the date and time in ISO 8601 format:" +msgstr "Повертає рядок, що представляє дату й час у форматі ISO 8601:" + +msgid "``YYYY-MM-DDTHH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" +msgstr "``РРРР-ММ-ДДТГГ:ММ:СС.ffffff``, якщо :attr:`microsecond` не дорівнює 0" + +msgid "``YYYY-MM-DDTHH:MM:SS``, if :attr:`microsecond` is 0" +msgstr "``РРРР-ММ-ДДТГГ:ХМ:СС``, якщо :attr:`microsecond` дорівнює 0" + +msgid "" +"If :meth:`utcoffset` does not return ``None``, a string is appended, giving " +"the UTC offset:" +msgstr "" +"Якщо :meth:`utcoffset` не повертає ``None``, додається рядок із зміщенням " +"UTC:" + +msgid "" +"``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` " +"is not 0" +msgstr "" +"``РРРР-ММ-ДДТГГ:ММ:СС.ffffff+ГГ:ММ[:СС[.ffffff]]``, якщо :attr:`microsecond` " +"не дорівнює 0" + +msgid "" +"``YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0" +msgstr "" +"``РРРР-ММ-ДДТГГ:ММ:СС+ГГ:ХМ[:СС[.ffffff]]``, якщо :attr:`microsecond` " +"дорівнює 0" + +msgid "" +"The optional argument *sep* (default ``'T'``) is a one-character separator, " +"placed between the date and time portions of the result. For example::" +msgstr "" +"Необов’язковий аргумент *sep* (за замовчуванням ``'T'``) є односимвольним " +"роздільником, який розміщується між частинами дати та часу результату. " +"Наприклад::" + +msgid "" +"The optional argument *timespec* specifies the number of additional " +"components of the time to include (the default is ``'auto'``). It can be one " +"of the following:" +msgstr "" +"Необов'язковий аргумент *timespec* визначає кількість додаткових компонентів " +"часу, які потрібно включити (за замовчуванням це ``'auto'``). Це може бути " +"одне з наступного:" + +msgid "" +"``'auto'``: Same as ``'seconds'`` if :attr:`microsecond` is 0, same as " +"``'microseconds'`` otherwise." +msgstr "" +"``'auto'``: те саме, що ``'seconds'``, якщо :attr:`microsecond` дорівнює 0, " +"те ж саме, що ``'microseconds'`` інакше." + +msgid "``'hours'``: Include the :attr:`hour` in the two-digit ``HH`` format." +msgstr "``'hours'``: Додайте :attr:`hour` у двозначному форматі ``HH``." + +msgid "" +"``'minutes'``: Include :attr:`hour` and :attr:`minute` in ``HH:MM`` format." +msgstr "" +"``'хвилини'``: включайте :attr:`hour` і :attr:`minute` у форматі ``ГГ:ХХ``." + +msgid "" +"``'seconds'``: Include :attr:`hour`, :attr:`minute`, and :attr:`second` in " +"``HH:MM:SS`` format." +msgstr "" +"``'seconds'``: включайте :attr:`hour`, :attr:`minute` і :attr:`second` у " +"форматі ``HH:MM:SS``." + +msgid "" +"``'milliseconds'``: Include full time, but truncate fractional second part " +"to milliseconds. ``HH:MM:SS.sss`` format." +msgstr "" +"``'мілісекунди``: включити повний час, але скоротити дробову другу частину " +"до мілісекунд. Формат ``HH:MM:SS.sss``." + +msgid "``'microseconds'``: Include full time in ``HH:MM:SS.ffffff`` format." +msgstr "``'мікросекунди``: включіть повний час у форматі ``ГГ:ХХ:СС.ffffff``." + +msgid "Excluded time components are truncated, not rounded." +msgstr "Виключені компоненти часу скорочуються, а не округлюються." + +msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument::" +msgstr ":exc:`ValueError` буде викликано через недійсний аргумент *timespec*::" + +msgid "Added the *timespec* argument." +msgstr "Додано аргумент *timespec*." + +msgid "" +"For a :class:`.datetime` instance *d*, ``str(d)`` is equivalent to ``d." +"isoformat(' ')``." +msgstr "" +"Для екземпляра :class:`.datetime` *d*, ``str(d)`` еквівалентно ``d." +"isoformat(' ')``." + +msgid "Return a string representing the date and time::" +msgstr "Повертає рядок, що представляє дату й час::" + +msgid "" +"The output string will *not* include time zone information, regardless of " +"whether the input is aware or naive." +msgstr "" +"Рядок виводу *не* включатиме інформацію про часовий пояс, незалежно від " +"того, чи є введення відомим чи простим." + +msgid "" +"on platforms where the native C :c:func:`ctime` function (which :func:`time." +"ctime` invokes, but which :meth:`datetime.ctime` does not invoke) conforms " +"to the C standard." +msgstr "" +"на платформах, де рідна функція C :c:func:`ctime` (яку :func:`time.ctime` " +"викликає, але яку :meth:`datetime.ctime` не викликає) відповідає стандарту C." + +msgid "" +"Return a string representing the date and time, controlled by an explicit " +"format string. For a complete list of formatting directives, see :ref:" +"`strftime-strptime-behavior`." +msgstr "" +"Повертає рядок, що представляє дату й час, керований рядком явного формату. " +"Щоб отримати повний список директив форматування, перегляньте :ref:`strftime-" +"strptime-behavior`." + +msgid "" +"Same as :meth:`.datetime.strftime`. This makes it possible to specify a " +"format string for a :class:`.datetime` object in :ref:`formatted string " +"literals ` and when using :meth:`str.format`. For a complete list " +"of formatting directives, see :ref:`strftime-strptime-behavior`." +msgstr "" +"Те саме, що :meth:`.datetime.strftime`. Це дає змогу вказати рядок формату " +"для об’єкта :class:`.datetime` у :ref:`форматованих рядкових літералах ` і при використанні :meth:`str.format`. Щоб отримати повний список " +"директив форматування, перегляньте :ref:`strftime-strptime-behavior`." + +msgid "Examples of Usage: :class:`.datetime`" +msgstr "Приклади використання: :class:`.datetime`" + +msgid "Examples of working with :class:`~datetime.datetime` objects:" +msgstr "Приклади роботи з об'єктами :class:`~datetime.datetime`:" + +msgid "" +"The example below defines a :class:`tzinfo` subclass capturing time zone " +"information for Kabul, Afghanistan, which used +4 UTC until 1945 and then " +"+4:30 UTC thereafter::" +msgstr "" +"У наведеному нижче прикладі визначено підклас :class:`tzinfo`, який збирає " +"інформацію про часовий пояс для Кабула, Афганістан, який використовував +4 " +"UTC до 1945 року, а потім +4:30 UTC після цього::" + +msgid "Usage of ``KabulTz`` from above::" +msgstr "Використання ``KabulTz`` зверху::" + +msgid ":class:`.time` Objects" +msgstr ":class:`.time` Об'єкти" + +msgid "" +"A :class:`time` object represents a (local) time of day, independent of any " +"particular day, and subject to adjustment via a :class:`tzinfo` object." +msgstr "" +"Об’єкт :class:`time` представляє (локальний) час доби, незалежний від будь-" +"якого конкретного дня, і підлягає налаштуванню через об’єкт :class:`tzinfo`." + +msgid "" +"All arguments are optional. *tzinfo* may be ``None``, or an instance of a :" +"class:`tzinfo` subclass. The remaining arguments must be integers in the " +"following ranges:" +msgstr "" +"Усі аргументи необов’язкові. *tzinfo* може бути ``None`` або екземпляром " +"підкласу :class:`tzinfo`. Решта аргументів мають бути цілими числами в таких " +"діапазонах:" + +msgid "" +"If an argument outside those ranges is given, :exc:`ValueError` is raised. " +"All default to ``0`` except *tzinfo*, which defaults to :const:`None`." +msgstr "" +"Якщо вказано аргумент поза цими діапазонами, виникає :exc:`ValueError`. Усі " +"за замовчуванням мають значення ``0``, крім *tzinfo*, для якого за " +"замовчуванням :const:`None`." + +msgid "The earliest representable :class:`.time`, ``time(0, 0, 0, 0)``." +msgstr "Найперший представлений :class:`.time`, ``time(0, 0, 0, 0)``." + +msgid "The latest representable :class:`.time`, ``time(23, 59, 59, 999999)``." +msgstr "Останній представлений :class:`.time`, ``time(23, 59, 59, 999999)``." + +msgid "" +"The smallest possible difference between non-equal :class:`.time` objects, " +"``timedelta(microseconds=1)``, although note that arithmetic on :class:`." +"time` objects is not supported." +msgstr "" +"Найменша можлива різниця між нерівними об’єктами :class:`.time`, " +"``timedelta(microseconds=1)``, хоча зауважте, що арифметика в об’єктах :" +"class:`.time` не підтримується." + +msgid "" +"The object passed as the tzinfo argument to the :class:`.time` constructor, " +"or ``None`` if none was passed." +msgstr "" +"Об’єкт, переданий як аргумент tzinfo конструктору :class:`.time`, або " +"``None``, якщо жодного не було передано." + +msgid "" +":class:`.time` objects support comparison of :class:`.time` to :class:`." +"time`, where *a* is considered less than *b* when *a* precedes *b* in time. " +"If one comparand is naive and the other is aware, :exc:`TypeError` is raised " +"if an order comparison is attempted. For equality comparisons, naive " +"instances are never equal to aware instances." +msgstr "" +"Об’єкти :class:`.time` підтримують порівняння :class:`.time` з :class:`." +"time`, де *a* вважається меншим за *b*, коли *a* передує *b* за часом. Якщо " +"один компаранд наївний, а інший відомий, :exc:`TypeError` викликається під " +"час спроби порівняння порядку. Для порівняння рівності наївні екземпляри " +"ніколи не дорівнюють усвідомленим екземплярам." + +msgid "" +"If both comparands are aware, and have the same :attr:`~time.tzinfo` " +"attribute, the common :attr:`~time.tzinfo` attribute is ignored and the base " +"times are compared. If both comparands are aware and have different :attr:" +"`~time.tzinfo` attributes, the comparands are first adjusted by subtracting " +"their UTC offsets (obtained from ``self.utcoffset()``). In order to stop " +"mixed-type comparisons from falling back to the default comparison by object " +"address, when a :class:`.time` object is compared to an object of a " +"different type, :exc:`TypeError` is raised unless the comparison is ``==`` " +"or ``!=``. The latter cases return :const:`False` or :const:`True`, " +"respectively." +msgstr "" +"Якщо обидва компаранди знають і мають однаковий атрибут :attr:`~time." +"tzinfo`, загальний атрибут :attr:`~time.tzinfo` ігнорується, а базовий час " +"порівнюється. Якщо обидва компаранди знають і мають різні атрибути :attr:" +"`~time.tzinfo`, компаранди спочатку коригуються шляхом віднімання їхніх " +"зсувів UTC (отриманих із ``self.utcoffset()``). Щоб зупинити порівняння " +"змішаного типу від повернення до стандартного порівняння за адресою об’єкта, " +"коли об’єкт :class:`.time` порівнюється з об’єктом іншого типу, виникає :exc:" +"`TypeError`, якщо порівняння не це ``==`` або ``!=``. Останні випадки " +"повертають :const:`False` або :const:`True` відповідно." + +msgid "" +"Equality comparisons between aware and naive :class:`~datetime.time` " +"instances don't raise :exc:`TypeError`." +msgstr "" +"Порівняння рівності між усвідомленими та наївними екземплярами :class:" +"`~datetime.time` не викликає :exc:`TypeError`." + +msgid "" +"In Boolean contexts, a :class:`.time` object is always considered to be true." +msgstr "" +"У логічних контекстах об’єкт :class:`.time` завжди вважається істинним." + +msgid "" +"Before Python 3.5, a :class:`.time` object was considered to be false if it " +"represented midnight in UTC. This behavior was considered obscure and error-" +"prone and has been removed in Python 3.5. See :issue:`13936` for full " +"details." +msgstr "" +"До Python 3.5 об’єкт :class:`.time` вважався хибним, якщо він представляв " +"північ за UTC. Така поведінка вважалася незрозумілою та спроможною до " +"помилок, і її було видалено в Python 3.5. Дивіться :issue:`13936` для " +"отримання повної інформації." + +msgid "Other constructor:" +msgstr "Інший конструктор:" + +msgid "" +"Return a :class:`.time` corresponding to a *time_string* in any valid ISO " +"8601 format, with the following exceptions:" +msgstr "" + +msgid "" +"The leading ``T``, normally required in cases where there may be ambiguity " +"between a date and a time, is not required." +msgstr "" + +msgid "" +"Fractional seconds may have any number of digits (anything beyond 6 will be " +"truncated)." +msgstr "" + +msgid "" +"Previously, this method only supported formats that could be emitted by :" +"meth:`time.isoformat()`." +msgstr "" + +msgid "" +"Return a :class:`.time` with the same value, except for those attributes " +"given new values by whichever keyword arguments are specified. Note that " +"``tzinfo=None`` can be specified to create a naive :class:`.time` from an " +"aware :class:`.time`, without conversion of the time data." +msgstr "" +"Повертає :class:`.time` з тим самим значенням, за винятком тих атрибутів, " +"яким надано нові значення за будь-якими аргументами ключового слова. " +"Зауважте, що ``tzinfo=None`` можна вказати для створення простого :class:`." +"time` із відомого :class:`.time` без перетворення даних часу." + +msgid "Return a string representing the time in ISO 8601 format, one of:" +msgstr "Повертає рядок, що представляє час у форматі ISO 8601, один із:" + +msgid "``HH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" +msgstr "``HH:MM:SS.ffffff``, якщо :attr:`microsecond` не дорівнює 0" + +msgid "``HH:MM:SS``, if :attr:`microsecond` is 0" +msgstr "``ГГ:ХХ:СС``, якщо :attr:`microsecond` дорівнює 0" + +msgid "" +"``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :meth:`utcoffset` does not " +"return ``None``" +msgstr "" +"``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, якщо :meth:`utcoffset` не повертає " +"``None``" + +msgid "" +"``HH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0 and :meth:" +"`utcoffset` does not return ``None``" +msgstr "" +"``ГГ:ХМ:СС+ГГ:ХМ[:СС[.ffffff]]``, якщо :attr:`microsecond` дорівнює 0 і :" +"meth:`utcoffset` не повертає ``None``" + +msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument." +msgstr ":exc:`ValueError` буде викликано через недійсний аргумент *timespec*." + +msgid "For a time *t*, ``str(t)`` is equivalent to ``t.isoformat()``." +msgstr "Протягом часу *t* ``str(t)`` еквівалентно ``t.isoformat()``." + +msgid "" +"Return a string representing the time, controlled by an explicit format " +"string. For a complete list of formatting directives, see :ref:`strftime-" +"strptime-behavior`." +msgstr "" +"Повертає рядок, що представляє час, керований рядком явного формату. Щоб " +"отримати повний список директив форматування, перегляньте :ref:`strftime-" +"strptime-behavior`." + +msgid "" +"Same as :meth:`.time.strftime`. This makes it possible to specify a format " +"string for a :class:`.time` object in :ref:`formatted string literals ` and when using :meth:`str.format`. For a complete list of " +"formatting directives, see :ref:`strftime-strptime-behavior`." +msgstr "" +"Те саме, що :meth:`.time.strftime`. Це дає змогу вказати рядок формату для " +"об’єкта :class:`.time` у :ref:`форматованих рядкових літералах ` " +"і при використанні :meth:`str.format`. Щоб отримати повний список директив " +"форматування, перегляньте :ref:`strftime-strptime-behavior`." + +msgid "" +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." +"utcoffset(None)``, and raises an exception if the latter doesn't return " +"``None`` or a :class:`timedelta` object with magnitude less than one day." +msgstr "" +"Якщо :attr:`.tzinfo` має значення ``None``, повертає ``None``, інакше " +"повертає ``self.tzinfo.utcoffset(None)`` і викликає виняток, якщо останній " +"не повертає ``None`` або об’єкт :class:`timedelta` з величиною менше одного " +"дня." + +msgid "" +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." +"dst(None)``, and raises an exception if the latter doesn't return ``None``, " +"or a :class:`timedelta` object with magnitude less than one day." +msgstr "" +"Якщо :attr:`.tzinfo` має значення ``None``, повертає ``None``, інакше " +"повертає ``self.tzinfo.dst(None)`` і викликає виняток, якщо останній не " +"повертає ``None`` або об’єкт :class:`timedelta` з величиною менше одного дня." + +msgid "" +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." +"tzname(None)``, or raises an exception if the latter doesn't return ``None`` " +"or a string object." +msgstr "" +"Якщо :attr:`.tzinfo` має значення ``None``, повертає ``None``, інакше " +"повертає ``self.tzinfo.tzname(None)`` або викликає виняток, якщо останній не " +"повертає ``None`` або рядковий об’єкт." + +msgid "Examples of Usage: :class:`.time`" +msgstr "Приклади використання: :class:`.time`" + +msgid "Examples of working with a :class:`.time` object::" +msgstr "Приклади роботи з об'єктом :class:`.time`::" + +msgid ":class:`tzinfo` Objects" +msgstr ":class:`tzinfo` Об'єкти" + +msgid "" +"This is an abstract base class, meaning that this class should not be " +"instantiated directly. Define a subclass of :class:`tzinfo` to capture " +"information about a particular time zone." +msgstr "" +"Це абстрактний базовий клас, що означає, що цей клас не повинен створюватися " +"безпосередньо. Визначте підклас :class:`tzinfo` для отримання інформації про " +"певний часовий пояс." + +msgid "" +"An instance of (a concrete subclass of) :class:`tzinfo` can be passed to the " +"constructors for :class:`.datetime` and :class:`.time` objects. The latter " +"objects view their attributes as being in local time, and the :class:" +"`tzinfo` object supports methods revealing offset of local time from UTC, " +"the name of the time zone, and DST offset, all relative to a date or time " +"object passed to them." +msgstr "" +"Екземпляр (конкретного підкласу) :class:`tzinfo` можна передати " +"конструкторам для об’єктів :class:`.datetime` і :class:`.time`. Останні " +"об’єкти розглядають свої атрибути як місцевий час, а об’єкт :class:`tzinfo` " +"підтримує методи, які виявляють зміщення місцевого часу від UTC, назви " +"часового поясу та зміщення літнього часу, усе відносно об’єкта дати чи часу " +"передано їм." + +msgid "" +"You need to derive a concrete subclass, and (at least) supply " +"implementations of the standard :class:`tzinfo` methods needed by the :class:" +"`.datetime` methods you use. The :mod:`datetime` module provides :class:" +"`timezone`, a simple concrete subclass of :class:`tzinfo` which can " +"represent timezones with fixed offset from UTC such as UTC itself or North " +"American EST and EDT." +msgstr "" +"Вам потрібно вивести конкретний підклас і (принаймні) забезпечити реалізації " +"стандартних методів :class:`tzinfo`, необхідних для методів :class:`." +"datetime`, які ви використовуєте. Модуль :mod:`datetime` надає :class:" +"`timezone`, простий конкретний підклас :class:`tzinfo`, який може " +"представляти часові пояси з фіксованим зсувом відносно UTC, як-от сам UTC " +"або північноамериканський EST і EDT." + +msgid "" +"Special requirement for pickling: A :class:`tzinfo` subclass must have an :" +"meth:`__init__` method that can be called with no arguments, otherwise it " +"can be pickled but possibly not unpickled again. This is a technical " +"requirement that may be relaxed in the future." +msgstr "" +"Спеціальна вимога до маринування: підклас :class:`tzinfo` повинен мати " +"метод :meth:`__init__`, який можна викликати без аргументів, інакше його " +"можна маринувати, але, можливо, не скасувати знову. Це технічна вимога, яку " +"в майбутньому можуть послабити." + +msgid "" +"A concrete subclass of :class:`tzinfo` may need to implement the following " +"methods. Exactly which methods are needed depends on the uses made of aware :" +"mod:`datetime` objects. If in doubt, simply implement all of them." +msgstr "" +"Конкретний підклас :class:`tzinfo` може потребувати реалізації наступних " +"методів. Які саме методи потрібні, залежить від використання відомих " +"об’єктів :mod:`datetime`. Якщо сумніваєтеся, просто застосуйте їх усі." + +msgid "" +"Return offset of local time from UTC, as a :class:`timedelta` object that is " +"positive east of UTC. If local time is west of UTC, this should be negative." +msgstr "" +"Повертає зміщення місцевого часу від UTC, як об’єкт :class:`timedelta`, який " +"є позитивним на схід від UTC. Якщо місцевий час на захід від UTC, це " +"значення має бути від’ємним." + +msgid "" +"This represents the *total* offset from UTC; for example, if a :class:" +"`tzinfo` object represents both time zone and DST adjustments, :meth:" +"`utcoffset` should return their sum. If the UTC offset isn't known, return " +"``None``. Else the value returned must be a :class:`timedelta` object " +"strictly between ``-timedelta(hours=24)`` and ``timedelta(hours=24)`` (the " +"magnitude of the offset must be less than one day). Most implementations of :" +"meth:`utcoffset` will probably look like one of these two::" +msgstr "" +"Це *загальне* зміщення від UTC; наприклад, якщо об’єкт :class:`tzinfo` " +"представляє коригування часового поясу та літнього часу, :meth:`utcoffset` " +"має повернути їх суму. Якщо зсув UTC невідомий, поверніть ``None``. Інакше " +"повернене значення має бути об’єктом :class:`timedelta` строго між ``-" +"timedelta(hours=24)`` і ``timedelta(hours=24)`` (величина зміщення має бути " +"меншою за один день ). Більшість реалізацій :meth:`utcoffset`, ймовірно, " +"виглядатимуть як одне з цих двох:" + +msgid "" +"If :meth:`utcoffset` does not return ``None``, :meth:`dst` should not return " +"``None`` either." +msgstr "" +"Якщо :meth:`utcoffset` не повертає ``None``, :meth:`dst` також не має " +"повертати ``None``." + +msgid "" +"The default implementation of :meth:`utcoffset` raises :exc:" +"`NotImplementedError`." +msgstr "" +"Стандартна реалізація :meth:`utcoffset` викликає :exc:`NotImplementedError`." + +msgid "" +"Return the daylight saving time (DST) adjustment, as a :class:`timedelta` " +"object or ``None`` if DST information isn't known." +msgstr "" +"Повертає коригування літнього часу (DST) як об’єкт :class:`timedelta` або " +"``None``, якщо інформація про літній час невідома." + +msgid "" +"Return ``timedelta(0)`` if DST is not in effect. If DST is in effect, return " +"the offset as a :class:`timedelta` object (see :meth:`utcoffset` for " +"details). Note that DST offset, if applicable, has already been added to the " +"UTC offset returned by :meth:`utcoffset`, so there's no need to consult :" +"meth:`dst` unless you're interested in obtaining DST info separately. For " +"example, :meth:`datetime.timetuple` calls its :attr:`~.datetime.tzinfo` " +"attribute's :meth:`dst` method to determine how the :attr:`tm_isdst` flag " +"should be set, and :meth:`tzinfo.fromutc` calls :meth:`dst` to account for " +"DST changes when crossing time zones." +msgstr "" +"Повертає ``timedelta(0)``, якщо літній час не діє. Якщо діє літній час, " +"поверніть зсув як об’єкт :class:`timedelta` (докладніше див. у :meth:" +"`utcoffset`). Зверніть увагу, що зсув літнього часу, якщо він застосовний, " +"уже додано до зсуву UTC, який повертає :meth:`utcoffset`, тому немає потреби " +"звертатися до :meth:`dst`, якщо ви не зацікавлені в отриманні інформації про " +"літній час окремо. Наприклад, :meth:`datetime.timetuple` викликає метод :" +"meth:`dst` свого атрибута :attr:`~.datetime.tzinfo`, щоб визначити, як слід " +"встановити прапор :attr:`tm_isdst`, і :meth:`tzinfo.fromutc` викликає :meth:" +"`dst` для врахування змін літнього часу під час перетину часових поясів." + +msgid "" +"An instance *tz* of a :class:`tzinfo` subclass that models both standard and " +"daylight times must be consistent in this sense:" +msgstr "" +"Екземпляр *tz* підкласу :class:`tzinfo`, який моделює як стандартний, так і " +"денний час, має бути послідовним у цьому сенсі:" + +msgid "``tz.utcoffset(dt) - tz.dst(dt)``" +msgstr "``tz.utcoffset(dt) - tz.dst(dt)``" + +msgid "" +"must return the same result for every :class:`.datetime` *dt* with ``dt." +"tzinfo == tz`` For sane :class:`tzinfo` subclasses, this expression yields " +"the time zone's \"standard offset\", which should not depend on the date or " +"the time, but only on geographic location. The implementation of :meth:" +"`datetime.astimezone` relies on this, but cannot detect violations; it's the " +"programmer's responsibility to ensure it. If a :class:`tzinfo` subclass " +"cannot guarantee this, it may be able to override the default implementation " +"of :meth:`tzinfo.fromutc` to work correctly with :meth:`astimezone` " +"regardless." +msgstr "" +"повинен повертати той самий результат для кожного :class:`.datetime` *dt* з " +"``dt.tzinfo == tz`` Для розумних підкласів :class:`tzinfo` цей вираз дає " +"\"стандартний зсув\" часового поясу, який має залежати не від дати чи часу, " +"а лише від географічного розташування. Реалізація :meth:`datetime." +"astimezone` покладається на це, але не може виявити порушення; це " +"відповідальність програміста забезпечити це. Якщо підклас :class:`tzinfo` не " +"може гарантувати це, він може замінити реалізацію за замовчуванням :meth:" +"`tzinfo.fromutc` для правильної роботи з :meth:`astimezone` незалежно від " +"цього." + +msgid "" +"Most implementations of :meth:`dst` will probably look like one of these " +"two::" +msgstr "" +"Більшість реалізацій :meth:`dst`, ймовірно, виглядатимуть як одна з цих двох:" + +msgid "or::" +msgstr "або::" + +msgid "" +"The default implementation of :meth:`dst` raises :exc:`NotImplementedError`." +msgstr "Стандартна реалізація :meth:`dst` викликає :exc:`NotImplementedError`." + +msgid "" +"Return the time zone name corresponding to the :class:`.datetime` object " +"*dt*, as a string. Nothing about string names is defined by the :mod:" +"`datetime` module, and there's no requirement that it mean anything in " +"particular. For example, \"GMT\", \"UTC\", \"-500\", \"-5:00\", \"EDT\", " +"\"US/Eastern\", \"America/New York\" are all valid replies. Return ``None`` " +"if a string name isn't known. Note that this is a method rather than a fixed " +"string primarily because some :class:`tzinfo` subclasses will wish to return " +"different names depending on the specific value of *dt* passed, especially " +"if the :class:`tzinfo` class is accounting for daylight time." +msgstr "" +"Повертає назву часового поясу, що відповідає об’єкту :class:`.datetime` " +"*dt*, у вигляді рядка. Модуль :mod:`datetime` нічого не визначає щодо назв " +"рядків, і немає жодних вимог, щоб вони означали щось конкретне. Наприклад, " +"\"GMT\", \"UTC\", \"-500\", \"-5:00\", \"EDT\", \"US/Eastern\", \"America/" +"New York\" — усі дійсні відповіді. Повертає ``None``, якщо назва рядка " +"невідома. Зауважте, що це метод, а не фіксований рядок, перш за все тому, що " +"деякі підкласи :class:`tzinfo` бажають повертати різні імена залежно від " +"конкретного переданого значення *dt*, особливо якщо клас :class:`tzinfo` є " +"обліковим для світлового часу." + +msgid "" +"The default implementation of :meth:`tzname` raises :exc:" +"`NotImplementedError`." +msgstr "" +"Стандартна реалізація :meth:`tzname` викликає :exc:`NotImplementedError`." + +msgid "" +"These methods are called by a :class:`.datetime` or :class:`.time` object, " +"in response to their methods of the same names. A :class:`.datetime` object " +"passes itself as the argument, and a :class:`.time` object passes ``None`` " +"as the argument. A :class:`tzinfo` subclass's methods should therefore be " +"prepared to accept a *dt* argument of ``None``, or of class :class:`." +"datetime`." +msgstr "" +"Ці методи викликаються об’єктом :class:`.datetime` або :class:`.time` у " +"відповідь на їх однойменні методи. Об’єкт :class:`.datetime` передає себе як " +"аргумент, а об’єкт :class:`.time` передає ``None`` як аргумент. Таким чином, " +"методи підкласу :class:`tzinfo` повинні бути готові прийняти аргумент *dt* " +"``None`` або клас :class:`.datetime`." + +msgid "" +"When ``None`` is passed, it's up to the class designer to decide the best " +"response. For example, returning ``None`` is appropriate if the class wishes " +"to say that time objects don't participate in the :class:`tzinfo` protocols. " +"It may be more useful for ``utcoffset(None)`` to return the standard UTC " +"offset, as there is no other convention for discovering the standard offset." +msgstr "" +"Коли передається ``None``, розробник класу вирішує найкращу відповідь. " +"Наприклад, повернення ``None`` є доцільним, якщо клас хоче сказати, що " +"об’єкти часу не беруть участі в протоколах :class:`tzinfo`. Може бути " +"кориснішим для ``utcoffset(None)`` повертати стандартне зміщення UTC, " +"оскільки немає іншої угоди для виявлення стандартного зсуву." + +msgid "" +"When a :class:`.datetime` object is passed in response to a :class:`." +"datetime` method, ``dt.tzinfo`` is the same object as *self*. :class:" +"`tzinfo` methods can rely on this, unless user code calls :class:`tzinfo` " +"methods directly. The intent is that the :class:`tzinfo` methods interpret " +"*dt* as being in local time, and not need worry about objects in other " +"timezones." +msgstr "" +"Коли об’єкт :class:`.datetime` передається у відповідь на метод :class:`." +"datetime`, ``dt.tzinfo`` є тим самим об’єктом, що і *self*. Методи :class:" +"`tzinfo` можуть покладатися на це, якщо код користувача не викликає " +"безпосередньо методи :class:`tzinfo`. Метою є те, що методи :class:`tzinfo` " +"інтерпретують *dt* як місцевий час, і не потрібно турбуватися про об’єкти в " +"інших часових поясах." + +msgid "" +"There is one more :class:`tzinfo` method that a subclass may wish to " +"override:" +msgstr "" +"Є ще один метод :class:`tzinfo`, який підклас може захотіти перевизначити:" + +msgid "" +"This is called from the default :class:`datetime.astimezone()` " +"implementation. When called from that, ``dt.tzinfo`` is *self*, and *dt*'s " +"date and time data are to be viewed as expressing a UTC time. The purpose " +"of :meth:`fromutc` is to adjust the date and time data, returning an " +"equivalent datetime in *self*'s local time." +msgstr "" +"Це викликається із стандартної реалізації :class:`datetime.astimezone()`. " +"При виклику з нього ``dt.tzinfo`` є *власним*, а дані дати і часу *dt* " +"повинні розглядатися як такі, що виражають час UTC. Метою :meth:`fromutc` є " +"коригування даних дати й часу, повертаючи еквівалентну дату й час у " +"місцевому часі *self*." + +msgid "" +"Most :class:`tzinfo` subclasses should be able to inherit the default :meth:" +"`fromutc` implementation without problems. It's strong enough to handle " +"fixed-offset time zones, and time zones accounting for both standard and " +"daylight time, and the latter even if the DST transition times differ in " +"different years. An example of a time zone the default :meth:`fromutc` " +"implementation may not handle correctly in all cases is one where the " +"standard offset (from UTC) depends on the specific date and time passed, " +"which can happen for political reasons. The default implementations of :meth:" +"`astimezone` and :meth:`fromutc` may not produce the result you want if the " +"result is one of the hours straddling the moment the standard offset changes." +msgstr "" +"Більшість підкласів :class:`tzinfo` повинні мати можливість без проблем " +"успадковувати реалізацію :meth:`fromutc` за умовчанням. Він достатньо " +"потужний, щоб обробляти часові пояси з фіксованим зміщенням, а також часові " +"пояси, що враховують як стандартний, так і денний час, причому останній, " +"навіть якщо час переходу на літній час відрізняється в різні роки. Прикладом " +"часового поясу, який стандартна реалізація :meth:`fromutc` може не обробляти " +"належним чином у всіх випадках, є той, де стандартне зміщення (від UTC) " +"залежить від конкретної дати та часу, що минули, що може статися з " +"політичних причин. Реалізації за замовчуванням :meth:`astimezone` і :meth:" +"`fromutc` можуть не дати бажаного результату, якщо результатом є одна з " +"годин, що перетинає момент зміни стандартного зсуву." + +msgid "" +"Skipping code for error cases, the default :meth:`fromutc` implementation " +"acts like::" +msgstr "" +"Пропускаючи код для випадків помилки, реалізація за замовчуванням :meth:" +"`fromutc` діє як:" + +msgid "" +"In the following :download:`tzinfo_examples.py <../includes/tzinfo_examples." +"py>` file there are some examples of :class:`tzinfo` classes:" +msgstr "" +"У наступному файлі :download:`tzinfo_examples.py <../includes/" +"tzinfo_examples.py>` є кілька прикладів класів :class:`tzinfo`:" + +msgid "" +"Note that there are unavoidable subtleties twice per year in a :class:" +"`tzinfo` subclass accounting for both standard and daylight time, at the DST " +"transition points. For concreteness, consider US Eastern (UTC -0500), where " +"EDT begins the minute after 1:59 (EST) on the second Sunday in March, and " +"ends the minute after 1:59 (EDT) on the first Sunday in November::" +msgstr "" +"Зауважте, що є неминучі тонкощі двічі на рік у підкласі :class:`tzinfo`, що " +"враховує як стандартний, так і денний час, у точках переходу на літній час. " +"Для конкретності розглянемо Східну США (UTC -0500), де EDT починається через " +"хвилину після 1:59 (EST) у другу неділю березня та закінчується через " +"хвилину після 1:59 (EST) у першу неділю листопада:" + +msgid "" +"When DST starts (the \"start\" line), the local wall clock leaps from 1:59 " +"to 3:00. A wall time of the form 2:MM doesn't really make sense on that day, " +"so ``astimezone(Eastern)`` won't deliver a result with ``hour == 2`` on the " +"day DST begins. For example, at the Spring forward transition of 2016, we " +"get::" +msgstr "" +"Коли починається літній час (рядок \"початок\"), місцевий настінний годинник " +"переходить з 1:59 на 3:00. Настінний час у формі 2:MM насправді не має сенсу " +"в цей день, тому ``astimezone(Eastern)`` не надасть результат з ``hour == " +"2`` у день початку літнього часу. Наприклад, під час весняного переходу " +"вперед 2016 року ми отримуємо:" + +msgid "" +"When DST ends (the \"end\" line), there's a potentially worse problem: " +"there's an hour that can't be spelled unambiguously in local wall time: the " +"last hour of daylight time. In Eastern, that's times of the form 5:MM UTC on " +"the day daylight time ends. The local wall clock leaps from 1:59 (daylight " +"time) back to 1:00 (standard time) again. Local times of the form 1:MM are " +"ambiguous. :meth:`astimezone` mimics the local clock's behavior by mapping " +"two adjacent UTC hours into the same local hour then. In the Eastern " +"example, UTC times of the form 5:MM and 6:MM both map to 1:MM when converted " +"to Eastern, but earlier times have the :attr:`~datetime.fold` attribute set " +"to 0 and the later times have it set to 1. For example, at the Fall back " +"transition of 2016, we get::" +msgstr "" +"Коли літній час закінчується (рядок \"кінець\"), виникає потенційно гірша " +"проблема: є година, яку неможливо однозначно написати за місцевим настінним " +"часом: остання година денного часу. На Сході це час у формі 5:MM UTC на " +"кінець дня. Місцевий настінний годинник знову повертається з 1:59 (за денним " +"часом) до 1:00 (за стандартним часом). Місцевий час у формі 1:MM " +"неоднозначний. :meth:`astimezone` імітує поведінку місцевого годинника, " +"відображаючи дві суміжні години UTC в ту саму місцеву годину. У східному " +"прикладі час UTC у формі 5:MM і 6:MM відображається на 1:MM, коли " +"перетворюється на східний час, але попередній час має атрибут :attr:" +"`~datetime.fold`, встановлений на 0, а пізніший час встановіть його на 1. " +"Наприклад, під час осіннього переходу 2016 року ми отримуємо:" + +msgid "" +"Note that the :class:`.datetime` instances that differ only by the value of " +"the :attr:`~datetime.fold` attribute are considered equal in comparisons." +msgstr "" +"Зауважте, що екземпляри :class:`.datetime`, які відрізняються лише значенням " +"атрибута :attr:`~datetime.fold`, вважаються рівними в порівнянні." + +msgid "" +"Applications that can't bear wall-time ambiguities should explicitly check " +"the value of the :attr:`~datetime.fold` attribute or avoid using hybrid :" +"class:`tzinfo` subclasses; there are no ambiguities when using :class:" +"`timezone`, or any other fixed-offset :class:`tzinfo` subclass (such as a " +"class representing only EST (fixed offset -5 hours), or only EDT (fixed " +"offset -4 hours))." +msgstr "" +"Програми, які не можуть витримувати неоднозначність настінного часу, повинні " +"явно перевіряти значення атрибута :attr:`~datetime.fold` або уникати " +"використання гібридних підкласів :class:`tzinfo`; при використанні :class:" +"`timezone` або будь-якого іншого підкласу :class:`tzinfo` із фіксованим " +"зсувом немає жодних двозначностей (наприклад, клас, що представляє лише EST " +"(фіксований зсув -5 годин) або лише EDT (фіксований зсув -4) години))." + +msgid ":mod:`zoneinfo`" +msgstr ":mod:`zoneinfo`" + +msgid "" +"The :mod:`datetime` module has a basic :class:`timezone` class (for handling " +"arbitrary fixed offsets from UTC) and its :attr:`timezone.utc` attribute (a " +"UTC timezone instance)." +msgstr "" +"Модуль :mod:`datetime` має базовий клас :class:`timezone` (для обробки " +"довільних фіксованих зміщень від UTC) і його атрибут :attr:`timezone.utc` " +"(екземпляр часового поясу UTC)." + +msgid "" +"``zoneinfo`` brings the *IANA timezone database* (also known as the Olson " +"database) to Python, and its usage is recommended." +msgstr "" +"``zoneinfo`` переносить *базу даних часових поясів IANA* (також відому як " +"база даних Olson) до Python, і її використання рекомендовано." + +msgid "`IANA timezone database `_" +msgstr "`База даних часових поясів IANA `_" + +msgid "" +"The Time Zone Database (often called tz, tzdata or zoneinfo) contains code " +"and data that represent the history of local time for many representative " +"locations around the globe. It is updated periodically to reflect changes " +"made by political bodies to time zone boundaries, UTC offsets, and daylight-" +"saving rules." +msgstr "" +"База даних часових поясів (часто називається tz, tzdata або zoneinfo) " +"містить код і дані, які представляють історію місцевого часу для багатьох " +"репрезентативних місць у всьому світі. Він періодично оновлюється, щоб " +"відобразити зміни, внесені політичними органами в межі часових поясів, " +"зміщення UTC і правила переходу на літній час." + +msgid ":class:`timezone` Objects" +msgstr ":class:`timezone` Об'єкти" + +msgid "" +"The :class:`timezone` class is a subclass of :class:`tzinfo`, each instance " +"of which represents a timezone defined by a fixed offset from UTC." +msgstr "" +"Клас :class:`timezone` є підкласом :class:`tzinfo`, кожен екземпляр якого " +"представляє часовий пояс, визначений фіксованим зміщенням від UTC." + +msgid "" +"Objects of this class cannot be used to represent timezone information in " +"the locations where different offsets are used in different days of the year " +"or where historical changes have been made to civil time." +msgstr "" +"Об’єкти цього класу не можна використовувати для представлення інформації " +"про часові пояси в місцях, де використовуються різні зсуви в різні дні року " +"або де історичні зміни були внесені до цивільного часу." + +msgid "" +"The *offset* argument must be specified as a :class:`timedelta` object " +"representing the difference between the local time and UTC. It must be " +"strictly between ``-timedelta(hours=24)`` and ``timedelta(hours=24)``, " +"otherwise :exc:`ValueError` is raised." +msgstr "" +"Аргумент *offset* має бути вказаний як об’єкт :class:`timedelta`, що " +"представляє різницю між місцевим часом і UTC. Воно має бути між ``-" +"timedelta(hours=24)`` і ``timedelta(hours=24)``, інакше :exc:`ValueError` " +"викликається." + +msgid "" +"The *name* argument is optional. If specified it must be a string that will " +"be used as the value returned by the :meth:`datetime.tzname` method." +msgstr "" +"Аргумент *name* необов’язковий. Якщо вказано, це має бути рядок, який " +"використовуватиметься як значення, яке повертає метод :meth:`datetime." +"tzname`." + +msgid "" +"Return the fixed value specified when the :class:`timezone` instance is " +"constructed." +msgstr "" +"Повертає фіксоване значення, указане під час створення екземпляра :class:" +"`timezone`." + +msgid "" +"The *dt* argument is ignored. The return value is a :class:`timedelta` " +"instance equal to the difference between the local time and UTC." +msgstr "" +"Аргумент *dt* ігнорується. Повернене значення є екземпляром :class:" +"`timedelta`, що дорівнює різниці між місцевим часом і UTC." + +msgid "" +"If *name* is not provided in the constructor, the name returned by " +"``tzname(dt)`` is generated from the value of the ``offset`` as follows. If " +"*offset* is ``timedelta(0)``, the name is \"UTC\", otherwise it is a string " +"in the format ``UTC±HH:MM``, where ± is the sign of ``offset``, HH and MM " +"are two digits of ``offset.hours`` and ``offset.minutes`` respectively." +msgstr "" +"Якщо *name* не вказано в конструкторі, ім’я, яке повертає ``tzname(dt)``, " +"генерується зі значення ``offset`` наступним чином. Якщо *offset* дорівнює " +"``timedelta(0)``, ім'я - \"UTC\", інакше це рядок у форматі ``UTC±HH:MM``, " +"де ± є знаком ``offset`` , HH і MM – це дві цифри ``offset.hours`` і " +"``offset.minutes`` відповідно." + +msgid "" +"Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not " +"``'UTC+00:00'``." +msgstr "" + +msgid "Always returns ``None``." +msgstr "Завжди повертає ``None``." + +msgid "" +"Return ``dt + offset``. The *dt* argument must be an aware :class:`." +"datetime` instance, with ``tzinfo`` set to ``self``." +msgstr "" +"Повернути ``dt + offset``. Аргумент *dt* має бути відомим екземпляром :class:" +"`.datetime` із значенням ``tzinfo`` значення ``self``." + +msgid "The UTC timezone, ``timezone(timedelta(0))``." +msgstr "Часовий пояс UTC, ``timezone(timedelta(0))``." + +msgid ":meth:`strftime` and :meth:`strptime` Behavior" +msgstr "Поведінка :meth:`strftime` і :meth:`strptime`" + +msgid "" +":class:`date`, :class:`.datetime`, and :class:`.time` objects all support a " +"``strftime(format)`` method, to create a string representing the time under " +"the control of an explicit format string." +msgstr "" +"Об’єкти :class:`date`, :class:`.datetime` і :class:`.time` підтримують метод " +"``strftime(format)`` для створення рядка, що представляє час під контролем " +"явного рядок форматування." + +msgid "" +"Conversely, the :meth:`datetime.strptime` class method creates a :class:`." +"datetime` object from a string representing a date and time and a " +"corresponding format string." +msgstr "" +"І навпаки, метод класу :meth:`datetime.strptime` створює об’єкт :class:`." +"datetime` із рядка, що представляє дату й час, і відповідного рядка формату." + +msgid "" +"The table below provides a high-level comparison of :meth:`strftime` versus :" +"meth:`strptime`:" +msgstr "" +"У наведеній нижче таблиці представлено високорівневе порівняння :meth:" +"`strftime` проти :meth:`strptime`:" + +msgid "``strftime``" +msgstr "``strftime``" + +msgid "``strptime``" +msgstr "``strptime``" + +msgid "Usage" +msgstr "Використання" + +msgid "Convert object to a string according to a given format" +msgstr "Перетворити об’єкт на рядок відповідно до заданого формату" + +msgid "" +"Parse a string into a :class:`.datetime` object given a corresponding format" +msgstr "Розібрати рядок у об’єкт :class:`.datetime` із відповідним форматом" + +msgid "Type of method" +msgstr "Тип методу" + +msgid "Instance method" +msgstr "Метод екземпляра" + +msgid "Class method" +msgstr "Метод класу" + +msgid "Method of" +msgstr "Метод" + +msgid ":class:`date`; :class:`.datetime`; :class:`.time`" +msgstr ":class:`date`; :class:`.datetime`; :class:`.time`" + +msgid ":class:`.datetime`" +msgstr ":class:`.datetime`" + +msgid "Signature" +msgstr "Підпис" + +msgid "``strftime(format)``" +msgstr "``strftime(format)``" + +msgid "``strptime(date_string, format)``" +msgstr "``strptime(date_string, format)``" + +msgid ":meth:`strftime` and :meth:`strptime` Format Codes" +msgstr "Коди форматів :meth:`strftime` і :meth:`strptime`" + +msgid "" +"The following is a list of all the format codes that the 1989 C standard " +"requires, and these work on all platforms with a standard C implementation." +msgstr "" +"Нижче наведено список усіх кодів форматів, яких вимагає стандарт C 1989 " +"року, і вони працюють на всіх платформах зі стандартною реалізацією C." + +msgid "Directive" +msgstr "Директива" + +msgid "Meaning" +msgstr "Значення" + +msgid "Example" +msgstr "приклад" + +msgid "Notes" +msgstr "Примітки" + +msgid "``%a``" +msgstr "``%a``" + +msgid "Weekday as locale's abbreviated name." +msgstr "День тижня як скорочена назва локалі." + +msgid "Sun, Mon, ..., Sat (en_US);" +msgstr "Нд, Пн, ..., Сб (en_US);" + +msgid "So, Mo, ..., Sa (de_DE)" +msgstr "Отже, Пн, ..., Сб (de_DE)" + +msgid "``%A``" +msgstr "``%A``" + +msgid "Weekday as locale's full name." +msgstr "День тижня як повна назва локалі." + +msgid "Sunday, Monday, ..., Saturday (en_US);" +msgstr "неділя, понеділок, ..., субота (en_US);" + +msgid "Sonntag, Montag, ..., Samstag (de_DE)" +msgstr "Sonntag, Montag, ..., Samstag (de_DE)" + +msgid "``%w``" +msgstr "``%w``" + +msgid "Weekday as a decimal number, where 0 is Sunday and 6 is Saturday." +msgstr "День тижня як десяткове число, де 0 – неділя, а 6 – субота." + +msgid "0, 1, ..., 6" +msgstr "0, 1, ..., 6" + +msgid "``%d``" +msgstr "``%d``" + +msgid "Day of the month as a zero-padded decimal number." +msgstr "День місяця як десяткове число з доповненням нуля." + +msgid "01, 02, ..., 31" +msgstr "01, 02, ..., 31" + +msgid "\\(9)" +msgstr "\\(9)" + +msgid "``%b``" +msgstr "``%b``" + +msgid "Month as locale's abbreviated name." +msgstr "Місяць як скорочена назва локалі." + +msgid "Jan, Feb, ..., Dec (en_US);" +msgstr "січ, лютий, ..., грудень (en_US);" + +msgid "Jan, Feb, ..., Dez (de_DE)" +msgstr "січ, лютий, ..., дек (de_DE)" + +msgid "``%B``" +msgstr "``%B``" + +msgid "Month as locale's full name." +msgstr "Місяць як повна назва локалі." + +msgid "January, February, ..., December (en_US);" +msgstr "січень, лютий, ..., грудень (en_US);" + +msgid "Januar, Februar, ..., Dezember (de_DE)" +msgstr "січень, лютий, ..., грудень (de_DE)" + +msgid "``%m``" +msgstr "``%m``" + +msgid "Month as a zero-padded decimal number." +msgstr "Місяць як десяткове число з доповненням нуля." + +msgid "01, 02, ..., 12" +msgstr "01, 02, ..., 12" + +msgid "``%y``" +msgstr "``%y``" + +msgid "Year without century as a zero-padded decimal number." +msgstr "Рік без століття як десяткове число з доповненням нуля." + +msgid "00, 01, ..., 99" +msgstr "00, 01, ..., 99" + +msgid "``%Y``" +msgstr "``%Y``" + +msgid "Year with century as a decimal number." +msgstr "Рік із століттям як десяткове число." + +msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" +msgstr "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" + +msgid "``%H``" +msgstr "``%H``" + +msgid "Hour (24-hour clock) as a zero-padded decimal number." +msgstr "Година (24-годинний формат) як десяткове число з доповненням нуля." + +msgid "00, 01, ..., 23" +msgstr "00, 01, ..., 23" + +msgid "``%I``" +msgstr "``%I``" + +msgid "Hour (12-hour clock) as a zero-padded decimal number." +msgstr "Година (12-годинний годинник) як десяткове число з доповненням нуля." + +msgid "``%p``" +msgstr "``%p``" + +msgid "Locale's equivalent of either AM or PM." +msgstr "Локальний еквівалент AM або PM." + +msgid "AM, PM (en_US);" +msgstr "AM, PM (en_US);" + +msgid "am, pm (de_DE)" +msgstr "am, pm (de_DE)" + +msgid "\\(1), \\(3)" +msgstr "\\(1), \\(3)" + +msgid "``%M``" +msgstr "``%M``" + +msgid "Minute as a zero-padded decimal number." +msgstr "Хвилина як десяткове число з доповненням нуля." + +msgid "00, 01, ..., 59" +msgstr "00, 01, ..., 59" + +msgid "``%S``" +msgstr "``%S``" + +msgid "Second as a zero-padded decimal number." +msgstr "Секунда як десяткове число з доповненням нуля." + +msgid "\\(4), \\(9)" +msgstr "\\(4), \\(9)" + +msgid "``%f``" +msgstr "``%f``" + +msgid "Microsecond as a decimal number, zero-padded to 6 digits." +msgstr "Мікросекунда як десяткове число, доповнене нулями до 6 цифр." + +msgid "000000, 000001, ..., 999999" +msgstr "000000, 000001, ..., 999999" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "``%z``" +msgstr "``%z``" + +msgid "" +"UTC offset in the form ``±HHMM[SS[.ffffff]]`` (empty string if the object is " +"naive)." +msgstr "" +"Зміщення UTC у формі ``±HHMM[SS[.ffffff]]`` (порожній рядок, якщо об’єкт " +"наївний)." + +msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" +msgstr "(порожній), +0000, -0400, +1030, +063415, -030712.345216" + +msgid "\\(6)" +msgstr "\\(6)" + +msgid "``%Z``" +msgstr "``%Z``" + +msgid "Time zone name (empty string if the object is naive)." +msgstr "Назва часового поясу (пустий рядок, якщо об’єкт наївний)." + +msgid "(empty), UTC, GMT" +msgstr "(пусто), UTC, GMT" + +msgid "``%j``" +msgstr "``%j``" + +msgid "Day of the year as a zero-padded decimal number." +msgstr "День року як десяткове число з доповненням нуля." + +msgid "001, 002, ..., 366" +msgstr "001, 002, ..., 366" + +msgid "``%U``" +msgstr "``%U``" + +msgid "" +"Week number of the year (Sunday as the first day of the week) as a zero-" +"padded decimal number. All days in a new year preceding the first Sunday are " +"considered to be in week 0." +msgstr "" +"Номер тижня року (неділя як перший день тижня) як десяткове число з " +"доповненням нуля. Усі дні в новому році, що передують першій неділі, " +"вважаються нульовим тижнем." + +msgid "00, 01, ..., 53" +msgstr "00, 01, ..., 53" + +msgid "\\(7), \\(9)" +msgstr "\\(7), \\(9)" + +msgid "``%W``" +msgstr "``%W``" + +msgid "" +"Week number of the year (Monday as the first day of the week) as a zero-" +"padded decimal number. All days in a new year preceding the first Monday are " +"considered to be in week 0." +msgstr "" +"Номер тижня року (понеділок як перший день тижня) як десяткове число з " +"доповненням нуля. Усі дні в новому році, що передують першому понеділку, " +"вважаються нульовим тижнем." + +msgid "``%c``" +msgstr "``%c``" + +msgid "Locale's appropriate date and time representation." +msgstr "Відповідне представлення дати та часу в локалі." + +msgid "Tue Aug 16 21:30:00 1988 (en_US);" +msgstr "Tue Aug 16 21:30:00 1988 (en_US);" + +msgid "Di 16 Aug 21:30:00 1988 (de_DE)" +msgstr "16 серпня 21:30:00 1988 (de_DE)" + +msgid "``%x``" +msgstr "``%x``" + +msgid "Locale's appropriate date representation." +msgstr "Відповідне представлення дати в локалі." + +msgid "08/16/88 (None);" +msgstr "16.08.88 (немає);" + +msgid "08/16/1988 (en_US);" +msgstr "16.08.1988 (en_US);" + +msgid "16.08.1988 (de_DE)" +msgstr "16.08.1988 (de_DE)" + +msgid "``%X``" +msgstr "``%X``" + +msgid "Locale's appropriate time representation." +msgstr "Відповідне представлення часу локалі." + +msgid "21:30:00 (en_US);" +msgstr "21:30:00 (en_US);" + +msgid "21:30:00 (de_DE)" +msgstr "21:30:00 (de_DE)" + +msgid "``%%``" +msgstr "``%%``" + +msgid "A literal ``'%'`` character." +msgstr "Буквальний символ ``'%''``." + +msgid "%" +msgstr "%" + +msgid "" +"Several additional directives not required by the C89 standard are included " +"for convenience. These parameters all correspond to ISO 8601 date values." +msgstr "" +"Для зручності включено кілька додаткових директив, які не вимагаються " +"стандартом C89. Усі ці параметри відповідають значенням дати ISO 8601." + +msgid "``%G``" +msgstr "``%G``" + +msgid "" +"ISO 8601 year with century representing the year that contains the greater " +"part of the ISO week (``%V``)." +msgstr "" +"Рік ISO 8601 із століттям, що представляє рік, який містить більшу частину " +"тижня ISO (``%V``)." + +msgid "\\(8)" +msgstr "\\(8)" + +msgid "``%u``" +msgstr "``%u``" + +msgid "ISO 8601 weekday as a decimal number where 1 is Monday." +msgstr "День тижня ISO 8601 як десяткове число, де 1 означає понеділок." + +msgid "1, 2, ..., 7" +msgstr "1, 2, ..., 7" + +msgid "``%V``" +msgstr "``%V``" + +msgid "" +"ISO 8601 week as a decimal number with Monday as the first day of the week. " +"Week 01 is the week containing Jan 4." +msgstr "" +"ISO 8601 тиждень як десяткове число з понеділком як першим днем тижня. " +"Тиждень 01 – це тиждень, що містить 4 січня." + +msgid "01, 02, ..., 53" +msgstr "01, 02, ..., 53" + +msgid "\\(8), \\(9)" +msgstr "\\(8), \\(9)" + +msgid "" +"These may not be available on all platforms when used with the :meth:" +"`strftime` method. The ISO 8601 year and ISO 8601 week directives are not " +"interchangeable with the year and week number directives above. Calling :" +"meth:`strptime` with incomplete or ambiguous ISO 8601 directives will raise " +"a :exc:`ValueError`." +msgstr "" +"Вони можуть бути недоступні на всіх платформах, якщо використовуються з " +"методом :meth:`strftime`. Директиви ISO 8601 рік і ISO 8601 тиждень не є " +"взаємозамінними з директивами року і номера тижня вище. Виклик :meth:" +"`strptime` із неповними або неоднозначними директивами ISO 8601 викличе :exc:" +"`ValueError`." + +msgid "" +"The full set of format codes supported varies across platforms, because " +"Python calls the platform C library's :func:`strftime` function, and " +"platform variations are common. To see the full set of format codes " +"supported on your platform, consult the :manpage:`strftime(3)` " +"documentation. There are also differences between platforms in handling of " +"unsupported format specifiers." +msgstr "" +"Повний набір підтримуваних кодів формату залежить від платформи, оскільки " +"Python викликає функцію :func:`strftime` бібліотеки платформи C, і варіації " +"платформ є звичайними. Щоб переглянути повний набір кодів форматів, які " +"підтримуються вашою платформою, зверніться до документації :manpage:" +"`strftime(3)`. Існують також відмінності між платформами в обробці " +"непідтримуваних специфікаторів формату." + +msgid "``%G``, ``%u`` and ``%V`` were added." +msgstr "Додано ``%G``, ``%u`` і ``%V``." + +msgid "Technical Detail" +msgstr "Технічні деталі" + +msgid "" +"Broadly speaking, ``d.strftime(fmt)`` acts like the :mod:`time` module's " +"``time.strftime(fmt, d.timetuple())`` although not all objects support a :" +"meth:`timetuple` method." +msgstr "" +"Загалом, ``d.strftime(fmt)`` діє як ``time.strftime(fmt, d.timetuple())`` " +"модуля :mod:`time`, хоча не всі об’єкти підтримують :meth:`timetuple` метод." + +msgid "" +"For the :meth:`datetime.strptime` class method, the default value is " +"``1900-01-01T00:00:00.000``: any components not specified in the format " +"string will be pulled from the default value. [#]_" +msgstr "" +"Для методу класу :meth:`datetime.strptime` значенням за замовчуванням є " +"``1900-01-01T00:00:00.000``: будь-які компоненти, не вказані в рядку " +"формату, буде отримано зі значення за замовчуванням. [#]_" + +msgid "Using ``datetime.strptime(date_string, format)`` is equivalent to::" +msgstr "Використання ``datetime.strptime(date_string, format)`` еквівалентно:" + +msgid "" +"except when the format includes sub-second components or timezone offset " +"information, which are supported in ``datetime.strptime`` but are discarded " +"by ``time.strptime``." +msgstr "" +"за винятком випадків, коли формат включає субсекундні компоненти або " +"інформацію про зміщення часового поясу, які підтримуються в ``datetime." +"strptime``, але відкидаються ``time.strptime``." + +msgid "" +"For :class:`.time` objects, the format codes for year, month, and day should " +"not be used, as :class:`time` objects have no such values. If they're used " +"anyway, ``1900`` is substituted for the year, and ``1`` for the month and " +"day." +msgstr "" +"Для об’єктів :class:`.time` не слід використовувати коди формату для року, " +"місяця та дня, оскільки об’єкти :class:`time` не мають таких значень. Якщо " +"вони все одно використовуються, 1900 замінюється на рік, а 1 — на місяць і " +"день." + +msgid "" +"For :class:`date` objects, the format codes for hours, minutes, seconds, and " +"microseconds should not be used, as :class:`date` objects have no such " +"values. If they're used anyway, ``0`` is substituted for them." +msgstr "" +"Для об’єктів :class:`date` не слід використовувати коди формату для годин, " +"хвилин, секунд і мікросекунд, оскільки об’єкти :class:`date` не мають таких " +"значень. Якщо вони все одно використовуються, замість них буде замінено " +"``0``." + +msgid "" +"For the same reason, handling of format strings containing Unicode code " +"points that can't be represented in the charset of the current locale is " +"also platform-dependent. On some platforms such code points are preserved " +"intact in the output, while on others ``strftime`` may raise :exc:" +"`UnicodeError` or return an empty string instead." +msgstr "" +"З тієї ж причини обробка рядків формату, що містять кодові точки Юнікоду, " +"які не можуть бути представлені в наборі символів поточної локалі, також " +"залежить від платформи. На деяких платформах такі кодові точки зберігаються " +"недоторканими у виводі, тоді як на інших ``strftime`` може викликати :exc:" +"`UnicodeError` або замість цього повертати порожній рядок." + +msgid "" +"Because the format depends on the current locale, care should be taken when " +"making assumptions about the output value. Field orderings will vary (for " +"example, \"month/day/year\" versus \"day/month/year\"), and the output may " +"contain Unicode characters encoded using the locale's default encoding (for " +"example, if the current locale is ``ja_JP``, the default encoding could be " +"any one of ``eucJP``, ``SJIS``, or ``utf-8``; use :meth:`locale.getlocale` " +"to determine the current locale's encoding)." +msgstr "" +"Оскільки формат залежить від поточної мови, слід бути обережним, роблячи " +"припущення щодо вихідного значення. Порядок полів буде різним (наприклад, " +"\"місяць/день/рік\" проти \"день/місяць/рік\"), а вихідні дані можуть " +"містити символи Юнікоду, закодовані з використанням стандартного кодування " +"мови (наприклад, якщо поточна мова ``ja_JP``, кодуванням за замовчуванням " +"може бути будь-яке з ``eucJP``, ``SJIS`` або ``utf-8``; використовуйте :meth:" +"`locale.getlocale`, щоб визначити кодування поточної мови)." + +msgid "" +"The :meth:`strptime` method can parse years in the full [1, 9999] range, but " +"years < 1000 must be zero-filled to 4-digit width." +msgstr "" +"Метод :meth:`strptime` може аналізувати роки в повному діапазоні [1, 9999], " +"але роки < 1000 повинні бути заповнені нулями до 4-значної ширини." + +msgid "" +"In previous versions, :meth:`strftime` method was restricted to years >= " +"1900." +msgstr "" +"У попередніх версіях метод :meth:`strftime` був обмежений роками >= 1900." + +msgid "" +"In version 3.2, :meth:`strftime` method was restricted to years >= 1000." +msgstr "У версії 3.2 метод :meth:`strftime` був обмежений роками >= 1000." + +msgid "" +"When used with the :meth:`strptime` method, the ``%p`` directive only " +"affects the output hour field if the ``%I`` directive is used to parse the " +"hour." +msgstr "" +"У разі використання з методом :meth:`strptime` директива ``%p`` впливає на " +"поле вихідних годин, лише якщо директива ``%I`` використовується для аналізу " +"години." + +msgid "" +"Unlike the :mod:`time` module, the :mod:`datetime` module does not support " +"leap seconds." +msgstr "" +"На відміну від модуля :mod:`time`, модуль :mod:`datetime` не підтримує " +"високосні секунди." + +msgid "" +"When used with the :meth:`strptime` method, the ``%f`` directive accepts " +"from one to six digits and zero pads on the right. ``%f`` is an extension to " +"the set of format characters in the C standard (but implemented separately " +"in datetime objects, and therefore always available)." +msgstr "" +"При використанні з методом :meth:`strptime` директива ``%f`` приймає від " +"однієї до шести цифр і нульові поля праворуч. ``%f`` — це розширення набору " +"форматних символів у стандарті C (але реалізоване окремо в об’єктах " +"datetime, і тому завжди доступне)." + +msgid "" +"For a naive object, the ``%z`` and ``%Z`` format codes are replaced by empty " +"strings." +msgstr "" +"Для простого об’єкта коди формату ``%z`` і ``%Z`` замінюються порожніми " +"рядками." + +msgid "For an aware object:" +msgstr "Для обізнаного об’єкта:" + +msgid "" +":meth:`utcoffset` is transformed into a string of the form ``±HHMM[SS[." +"ffffff]]``, where ``HH`` is a 2-digit string giving the number of UTC offset " +"hours, ``MM`` is a 2-digit string giving the number of UTC offset minutes, " +"``SS`` is a 2-digit string giving the number of UTC offset seconds and " +"``ffffff`` is a 6-digit string giving the number of UTC offset microseconds. " +"The ``ffffff`` part is omitted when the offset is a whole number of seconds " +"and both the ``ffffff`` and the ``SS`` part is omitted when the offset is a " +"whole number of minutes. For example, if :meth:`utcoffset` returns " +"``timedelta(hours=-3, minutes=-30)``, ``%z`` is replaced with the string " +"``'-0330'``." +msgstr "" +":meth:`utcoffset` перетворюється на рядок у формі ``±HHMM[SS[.ffffff]]``, де " +"``HH`` — двозначний рядок, що вказує кількість годин зміщення UTC, ``MM`` — " +"це 2-значний рядок, що вказує кількість хвилин зміщення UTC, ``SS`` — це 2-" +"значний рядок, що вказує кількість секунд зміщення UTC, і ``ffffff`` — це 6-" +"значний рядок, що дає число мікросекунд зсуву UTC. Частина ``ffffff`` " +"опускається, якщо зміщення становить ціле число секунд, і частини ``ffffff`` " +"і ``SS`` опускаються, коли зсув становить ціле число хвилин. Наприклад, " +"якщо :meth:`utcoffset` повертає ``timedelta(hours=-3, minutes=-30)``, ``%z`` " +"замінюється на рядок ``'-0330'``." + +msgid "" +"When the ``%z`` directive is provided to the :meth:`strptime` method, the " +"UTC offsets can have a colon as a separator between hours, minutes and " +"seconds. For example, ``'+01:00:00'`` will be parsed as an offset of one " +"hour. In addition, providing ``'Z'`` is identical to ``'+00:00'``." +msgstr "" +"Коли директива ``%z`` надається методу :meth:`strptime`, зміщення UTC можуть " +"мати двокрапку як роздільник між годинами, хвилинами та секундами. " +"Наприклад, \"+01:00:00\" буде проаналізовано як зсув на одну годину. Крім " +"того, надання ``'Z'`` ідентично ``'+00:00'``." + +msgid "" +"In :meth:`strftime`, ``%Z`` is replaced by an empty string if :meth:`tzname` " +"returns ``None``; otherwise ``%Z`` is replaced by the returned value, which " +"must be a string." +msgstr "" +"У :meth:`strftime` ``%Z`` замінюється порожнім рядком, якщо :meth:`tzname` " +"повертає ``None``; інакше ``%Z`` замінюється на повернуте значення, яке має " +"бути рядком." + +msgid ":meth:`strptime` only accepts certain values for ``%Z``:" +msgstr ":meth:`strptime` приймає лише певні значення для ``%Z``:" + +msgid "any value in ``time.tzname`` for your machine's locale" +msgstr "будь-яке значення в ``time.tzname`` для локалі вашої машини" + +msgid "the hard-coded values ``UTC`` and ``GMT``" +msgstr "жорстко закодовані значення ``UTC`` і ``GMT``" + +msgid "" +"So someone living in Japan may have ``JST``, ``UTC``, and ``GMT`` as valid " +"values, but probably not ``EST``. It will raise ``ValueError`` for invalid " +"values." +msgstr "" +"Тому хтось, хто живе в Японії, може мати дійсні значення ``JST``, ``UTC`` і " +"``GMT``, але, ймовірно, не ``EST``. Це викличе ``ValueError`` для недійсних " +"значень." + +msgid "" +"When the ``%z`` directive is provided to the :meth:`strptime` method, an " +"aware :class:`.datetime` object will be produced. The ``tzinfo`` of the " +"result will be set to a :class:`timezone` instance." +msgstr "" +"Коли директива ``%z`` надається методу :meth:`strptime`, буде створено " +"відомий об’єкт :class:`.datetime`. ``tzinfo`` результату буде встановлено на " +"екземпляр :class:`timezone`." + +msgid "" +"When used with the :meth:`strptime` method, ``%U`` and ``%W`` are only used " +"in calculations when the day of the week and the calendar year (``%Y``) are " +"specified." +msgstr "" +"При використанні з методом :meth:`strptime`, ``%U`` і ``%W`` " +"використовуються в обчисленнях лише тоді, коли вказано день тижня та " +"календарний рік (``%Y``). ." + +msgid "" +"Similar to ``%U`` and ``%W``, ``%V`` is only used in calculations when the " +"day of the week and the ISO year (``%G``) are specified in a :meth:" +"`strptime` format string. Also note that ``%G`` and ``%Y`` are not " +"interchangeable." +msgstr "" +"Подібно до ``%U`` і ``%W``, ``%V`` використовується в обчисленнях лише тоді, " +"коли день тижня та рік ISO (``%G``) указано в :meth:`strptime` форматний " +"рядок. Також зауважте, що ``%G`` і ``%Y`` не є взаємозамінними." + +msgid "" +"When used with the :meth:`strptime` method, the leading zero is optional " +"for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%J``, ``%U``, " +"``%W``, and ``%V``. Format ``%y`` does require a leading zero." +msgstr "" +"У разі використання з методом :meth:`strptime` початковий нуль " +"необов’язковий для форматів ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, " +"``%J``, ``%U``, ``%W`` і ``%V``. Формат \"%y\" вимагає початкового нуля." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "If, that is, we ignore the effects of Relativity" +msgstr "Якщо, тобто, ми ігноруємо ефекти відносності" + +msgid "" +"This matches the definition of the \"proleptic Gregorian\" calendar in " +"Dershowitz and Reingold's book *Calendrical Calculations*, where it's the " +"base calendar for all computations. See the book for algorithms for " +"converting between proleptic Gregorian ordinals and many other calendar " +"systems." +msgstr "" +"Це збігається з визначенням \"пролептичного григоріанського\" календаря в " +"книзі Дершовіца та Рейнгольда \"Календарні розрахунки*\", де це базовий " +"календар для всіх обчислень. Перегляньте книгу для алгоритмів перетворення " +"між пролептичними григоріанськими ординалами та багатьма іншими календарними " +"системами." + +msgid "" +"See R. H. van Gent's `guide to the mathematics of the ISO 8601 calendar " +"`_ for a good explanation." +msgstr "" + +msgid "" +"Passing ``datetime.strptime('Feb 29', '%b %d')`` will fail since ``1900`` is " +"not a leap year." +msgstr "" +"Передача ``datetime.strptime('Feb 29', '%b %d')`` буде невдалою, оскільки " +"``1900`` не є високосним роком." diff --git a/library/dbm.po b/library/dbm.po new file mode 100644 index 000000000..c5aac7f67 --- /dev/null +++ b/library/dbm.po @@ -0,0 +1,500 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`dbm` --- Interfaces to Unix \"databases\"" +msgstr ":mod:`dbm` --- Інтерфейси до \"баз даних\" Unix" + +msgid "**Source code:** :source:`Lib/dbm/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/dbm/__init__.py`" + +msgid "" +":mod:`dbm` is a generic interface to variants of the DBM database --- :mod:" +"`dbm.gnu` or :mod:`dbm.ndbm`. If none of these modules is installed, the " +"slow-but-simple implementation in module :mod:`dbm.dumb` will be used. " +"There is a `third party interface `_ to the Oracle Berkeley DB." +msgstr "" +":mod:`dbm` — це загальний інтерфейс для варіантів бази даних DBM --- :mod:" +"`dbm.gnu` або :mod:`dbm.ndbm`. Якщо жоден із цих модулів не встановлено, " +"буде використано повільну, але просту реалізацію в модулі :mod:`dbm.dumb`. " +"Існує `сторонній інтерфейс `_ " +"для бази даних Oracle Berkeley." + +msgid "" +"A tuple containing the exceptions that can be raised by each of the " +"supported modules, with a unique exception also named :exc:`dbm.error` as " +"the first item --- the latter is used when :exc:`dbm.error` is raised." +msgstr "" +"Кортеж, що містить винятки, які можуть бути викликані кожним із " +"підтримуваних модулів, з унікальним винятком, який також називається :exc:" +"`dbm.error` як перший елемент --- останній елемент використовується, коли :" +"exc:`dbm.error` піднято." + +msgid "" +"This function attempts to guess which of the several simple database modules " +"available --- :mod:`dbm.gnu`, :mod:`dbm.ndbm` or :mod:`dbm.dumb` --- should " +"be used to open a given file." +msgstr "" +"Ця функція намагається вгадати, який із кількох доступних простих модулів " +"бази даних --- :mod:`dbm.gnu`, :mod:`dbm.ndbm` або :mod:`dbm.dumb` --- слід " +"використовувати для відкриття заданий файл." + +msgid "" +"Returns one of the following values: ``None`` if the file can't be opened " +"because it's unreadable or doesn't exist; the empty string (``''``) if the " +"file's format can't be guessed; or a string containing the required module " +"name, such as ``'dbm.ndbm'`` or ``'dbm.gnu'``." +msgstr "" +"Повертає одне з таких значень: ``None``, якщо файл неможливо відкрити, тому " +"що він нечитабельний або не існує; порожній рядок (``''``), якщо формат " +"файлу неможливо вгадати; або рядок, що містить потрібну назву модуля, " +"наприклад dbm.ndbm або dbm.gnu." + +msgid "Accepts :term:`path-like object` for filename." +msgstr "" + +msgid "Open the database file *file* and return a corresponding object." +msgstr "Відкрийте файл бази даних *file* і поверніть відповідний об’єкт." + +msgid "" +"If the database file already exists, the :func:`whichdb` function is used to " +"determine its type and the appropriate module is used; if it does not exist, " +"the first module listed above that can be imported is used." +msgstr "" +"Якщо файл бази даних уже існує, для визначення його типу використовується " +"функція :func:`whichdb` і використовується відповідний модуль; якщо його не " +"існує, використовується перший із перелічених вище модулів, який можна " +"імпортувати." + +msgid "The optional *flag* argument can be:" +msgstr "Додатковий аргумент *flag* може бути:" + +msgid "Value" +msgstr "Значення" + +msgid "Meaning" +msgstr "Значення" + +msgid "``'r'``" +msgstr "``'r''``" + +msgid "Open existing database for reading only (default)" +msgstr "Відкрити існуючу базу даних лише для читання (за замовчуванням)" + +msgid "``'w'``" +msgstr "``'w'``" + +msgid "Open existing database for reading and writing" +msgstr "Відкрити існуючу базу даних для читання та запису" + +msgid "``'c'``" +msgstr "``'c''``" + +msgid "Open database for reading and writing, creating it if it doesn't exist" +msgstr "" +"Відкрити базу даних для читання та запису, створити її, якщо вона не існує" + +msgid "``'n'``" +msgstr "``'n'``" + +msgid "Always create a new, empty database, open for reading and writing" +msgstr "" +"Завжди створюйте нову порожню базу даних, відкриту для читання та запису" + +msgid "" +"The optional *mode* argument is the Unix mode of the file, used only when " +"the database has to be created. It defaults to octal ``0o666`` (and will be " +"modified by the prevailing umask)." +msgstr "" +"Необов’язковий аргумент *mode* — це режим Unix файлу, який використовується " +"лише тоді, коли потрібно створити базу даних. За замовчуванням він має " +"вісімкове значення ``0o666`` (і буде змінено переважаючою umask)." + +msgid "" +"The object returned by :func:`.open` supports the same basic functionality " +"as dictionaries; keys and their corresponding values can be stored, " +"retrieved, and deleted, and the :keyword:`in` operator and the :meth:`keys` " +"method are available, as well as :meth:`get` and :meth:`setdefault`." +msgstr "" +"Об’єкт, який повертає :func:`.open`, підтримує ту саму базову " +"функціональність, що й словники; ключі та їхні відповідні значення можна " +"зберігати, отримувати та видаляти, а також доступні оператор :keyword:`in` і " +"метод :meth:`keys`, а також :meth:`get` і :meth:`setdefault`." + +msgid "" +":meth:`get` and :meth:`setdefault` are now available in all database modules." +msgstr "" +":meth:`get` і :meth:`setdefault` тепер доступні в усіх модулях бази даних." + +msgid "" +"Deleting a key from a read-only database raises database module specific " +"error instead of :exc:`KeyError`." +msgstr "" +"Видалення ключа з бази даних, доступної лише для читання, викликає помилку " +"конкретного модуля бази даних замість :exc:`KeyError`." + +msgid "Accepts :term:`path-like object` for file." +msgstr "" + +msgid "" +"Key and values are always stored as bytes. This means that when strings are " +"used they are implicitly converted to the default encoding before being " +"stored." +msgstr "" +"Ключі та значення завжди зберігаються як байти. Це означає, що коли рядки " +"використовуються, вони неявно перетворюються на стандартне кодування перед " +"збереженням." + +msgid "" +"These objects also support being used in a :keyword:`with` statement, which " +"will automatically close them when done." +msgstr "" +"Ці об’єкти також підтримують використання в операторі :keyword:`with`, який " +"автоматично закриє їх після завершення." + +msgid "" +"Added native support for the context management protocol to the objects " +"returned by :func:`.open`." +msgstr "" +"Додано власну підтримку протоколу керування контекстом для об’єктів, які " +"повертає :func:`.open`." + +msgid "" +"The following example records some hostnames and a corresponding title, and " +"then prints out the contents of the database::" +msgstr "" +"У наступному прикладі записуються деякі імена хостів і відповідний " +"заголовок, а потім друкується вміст бази даних:" + +msgid "Module :mod:`shelve`" +msgstr "Модуль :mod:`shelve`" + +msgid "Persistence module which stores non-string data." +msgstr "Модуль постійності, який зберігає нерядкові дані." + +msgid "The individual submodules are described in the following sections." +msgstr "Окремі субмодулі описані в наступних розділах." + +msgid ":mod:`dbm.gnu` --- GNU's reinterpretation of dbm" +msgstr ":mod:`dbm.gnu` --- GNU перетлумачує dbm" + +msgid "**Source code:** :source:`Lib/dbm/gnu.py`" +msgstr "**Вихідний код:** :source:`Lib/dbm/gnu.py`" + +msgid "" +"This module is quite similar to the :mod:`dbm` module, but uses the GNU " +"library ``gdbm`` instead to provide some additional functionality. Please " +"note that the file formats created by :mod:`dbm.gnu` and :mod:`dbm.ndbm` are " +"incompatible." +msgstr "" +"Цей модуль дуже схожий на модуль :mod:`dbm`, але замість нього " +"використовується бібліотека GNU ``gdbm`` для надання деяких додаткових " +"функцій. Зверніть увагу, що формати файлів, створені :mod:`dbm.gnu` і :mod:" +"`dbm.ndbm`, несумісні." + +msgid "" +"The :mod:`dbm.gnu` module provides an interface to the GNU DBM library. " +"``dbm.gnu.gdbm`` objects behave like mappings (dictionaries), except that " +"keys and values are always converted to bytes before storing. Printing a " +"``gdbm`` object doesn't print the keys and values, and the :meth:`items` " +"and :meth:`values` methods are not supported." +msgstr "" +"Модуль :mod:`dbm.gnu` надає інтерфейс до бібліотеки GNU DBM. Об’єкти ``dbm." +"gnu.gdbm`` поводяться як відображення (словники), за винятком того, що ключі " +"та значення завжди перетворюються на байти перед збереженням. Друк об’єкта " +"``gdbm`` не друкує ключі та значення, а методи :meth:`items` і :meth:" +"`values` не підтримуються." + +msgid "" +"Raised on :mod:`dbm.gnu`-specific errors, such as I/O errors. :exc:" +"`KeyError` is raised for general mapping errors like specifying an incorrect " +"key." +msgstr "" +"Виникає через специфічні помилки :mod:`dbm.gnu`, такі як помилки введення/" +"виведення. :exc:`KeyError` виникає для загальних помилок зіставлення, як-от " +"введення неправильного ключа." + +msgid "" +"Open a ``gdbm`` database and return a :class:`gdbm` object. The *filename* " +"argument is the name of the database file." +msgstr "" +"Відкрийте базу даних ``gdbm`` і поверніть об’єкт :class:`gdbm`. Аргумент " +"*ім’я_файлу* — це ім’я файлу бази даних." + +msgid "" +"The following additional characters may be appended to the flag to control " +"how the database is opened:" +msgstr "" +"Наступні додаткові символи можуть бути додані до прапора, щоб керувати тим, " +"як відкривається база даних:" + +msgid "``'f'``" +msgstr "``'f''``" + +msgid "" +"Open the database in fast mode. Writes to the database will not be " +"synchronized." +msgstr "" +"Відкрийте базу даних у швидкому режимі. Записи в базу даних не будуть " +"синхронізовані." + +msgid "``'s'``" +msgstr "``'s''``" + +msgid "" +"Synchronized mode. This will cause changes to the database to be immediately " +"written to the file." +msgstr "" +"Синхронізований режим. Це призведе до негайного запису змін до бази даних у " +"файл." + +msgid "``'u'``" +msgstr "``'u''``" + +msgid "Do not lock database." +msgstr "Не блокуйте базу даних." + +msgid "" +"Not all flags are valid for all versions of ``gdbm``. The module constant :" +"const:`open_flags` is a string of supported flag characters. The exception :" +"exc:`error` is raised if an invalid flag is specified." +msgstr "" +"Не всі позначки дійсні для всіх версій ``gdbm``. Константа модуля :const:" +"`open_flags` — це рядок підтримуваних символів прапорців. Виняток :exc:" +"`error` виникає, якщо вказано недійсний прапор." + +msgid "" +"The optional *mode* argument is the Unix mode of the file, used only when " +"the database has to be created. It defaults to octal ``0o666``." +msgstr "" +"Необов’язковий аргумент *mode* — це режим Unix файлу, який використовується " +"лише тоді, коли потрібно створити базу даних. За замовчуванням він має " +"вісімкове значення ``0o666``." + +msgid "" +"In addition to the dictionary-like methods, ``gdbm`` objects have the " +"following methods:" +msgstr "Окрім словникових методів, об’єкти ``gdbm`` мають такі методи:" + +msgid "" +"It's possible to loop over every key in the database using this method and " +"the :meth:`nextkey` method. The traversal is ordered by ``gdbm``'s internal " +"hash values, and won't be sorted by the key values. This method returns the " +"starting key." +msgstr "" +"За допомогою цього методу та методу :meth:`nextkey` можна перейти до кожного " +"ключа в базі даних. Обхід упорядковується за внутрішніми хеш-значеннями " +"``gdbm`` і не буде відсортований за значеннями ключа. Цей метод повертає " +"початковий ключ." + +msgid "" +"Returns the key that follows *key* in the traversal. The following code " +"prints every key in the database ``db``, without having to create a list in " +"memory that contains them all::" +msgstr "" +"Повертає ключ, який слідує за *key* під час обходу. Наступний код друкує " +"кожен ключ у базі даних ``db`` без необхідності створювати в пам’яті список, " +"який містить їх усі:" + +msgid "" +"If you have carried out a lot of deletions and would like to shrink the " +"space used by the ``gdbm`` file, this routine will reorganize the database. " +"``gdbm`` objects will not shorten the length of a database file except by " +"using this reorganization; otherwise, deleted file space will be kept and " +"reused as new (key, value) pairs are added." +msgstr "" +"Якщо ви виконали багато видалень і бажаєте зменшити простір, який " +"використовується файлом ``gdbm``, ця процедура реорганізує базу даних. " +"Об’єкти ``gdbm`` не скоротять довжину файлу бази даних, за винятком " +"використання цієї реорганізації; інакше видалений файловий простір буде " +"збережено та повторно використано, коли додаватимуться нові пари (ключ, " +"значення)." + +msgid "" +"When the database has been opened in fast mode, this method forces any " +"unwritten data to be written to the disk." +msgstr "" +"Коли базу даних відкрито у швидкому режимі, цей метод примусово записує на " +"диск будь-які незаписані дані." + +msgid "Close the ``gdbm`` database." +msgstr "Закрийте базу даних ``gdbm``." + +msgid ":mod:`dbm.ndbm` --- Interface based on ndbm" +msgstr ":mod:`dbm.ndbm` --- Інтерфейс на основі ndbm" + +msgid "**Source code:** :source:`Lib/dbm/ndbm.py`" +msgstr "**Вихідний код:** :source:`Lib/dbm/ndbm.py`" + +msgid "" +"The :mod:`dbm.ndbm` module provides an interface to the Unix \"(n)dbm\" " +"library. Dbm objects behave like mappings (dictionaries), except that keys " +"and values are always stored as bytes. Printing a ``dbm`` object doesn't " +"print the keys and values, and the :meth:`items` and :meth:`values` methods " +"are not supported." +msgstr "" +"Модуль :mod:`dbm.ndbm` забезпечує інтерфейс до бібліотеки Unix \"(n)dbm\". " +"Об’єкти Dbm поводяться як зіставлення (словники), за винятком того, що ключі " +"та значення завжди зберігаються як байти. Друк об’єкта ``dbm`` не друкує " +"ключі та значення, а методи :meth:`items` і :meth:`values` не підтримуються." + +msgid "" +"This module can be used with the \"classic\" ndbm interface or the GNU GDBM " +"compatibility interface. On Unix, the :program:`configure` script will " +"attempt to locate the appropriate header file to simplify building this " +"module." +msgstr "" +"Цей модуль можна використовувати з \"класичним\" інтерфейсом ndbm або " +"інтерфейсом сумісності GNU GDBM. В Unix сценарій :program:`configure` " +"намагатиметься знайти відповідний файл заголовка, щоб спростити створення " +"цього модуля." + +msgid "" +"Raised on :mod:`dbm.ndbm`-specific errors, such as I/O errors. :exc:" +"`KeyError` is raised for general mapping errors like specifying an incorrect " +"key." +msgstr "" +"Виникає через :mod:`dbm.ndbm`-специфічні помилки, такі як помилки введення/" +"виведення. :exc:`KeyError` виникає для загальних помилок зіставлення, як-от " +"введення неправильного ключа." + +msgid "Name of the ``ndbm`` implementation library used." +msgstr "Назва використаної бібліотеки реалізації ``ndbm``." + +msgid "" +"Open a dbm database and return a ``ndbm`` object. The *filename* argument " +"is the name of the database file (without the :file:`.dir` or :file:`.pag` " +"extensions)." +msgstr "" +"Відкрийте базу даних dbm і поверніть об’єкт ``ndbm``. Аргумент *filename* — " +"це ім’я файлу бази даних (без розширень :file:`.dir` або :file:`.pag`)." + +msgid "The optional *flag* argument must be one of these values:" +msgstr "Необов’язковий аргумент *flag* має мати одне з цих значень:" + +msgid "" +"In addition to the dictionary-like methods, ``ndbm`` objects provide the " +"following method:" +msgstr "" +"На додаток до методів, подібних до словника, об’єкти ``ndbm`` забезпечують " +"наступний метод:" + +msgid "Close the ``ndbm`` database." +msgstr "Закрийте базу даних ``ndbm``." + +msgid ":mod:`dbm.dumb` --- Portable DBM implementation" +msgstr ":mod:`dbm.dumb` --- Переносна реалізація DBM" + +msgid "**Source code:** :source:`Lib/dbm/dumb.py`" +msgstr "**Вихідний код:** :source:`Lib/dbm/dumb.py`" + +msgid "" +"The :mod:`dbm.dumb` module is intended as a last resort fallback for the :" +"mod:`dbm` module when a more robust module is not available. The :mod:`dbm." +"dumb` module is not written for speed and is not nearly as heavily used as " +"the other database modules." +msgstr "" +"Модуль :mod:`dbm.dumb` призначений як остання альтернатива для модуля :mod:" +"`dbm`, коли більш надійний модуль недоступний. Модуль :mod:`dbm.dumb` не " +"створений для швидкості і використовується не так активно, як інші модулі " +"бази даних." + +msgid "" +"The :mod:`dbm.dumb` module provides a persistent dictionary-like interface " +"which is written entirely in Python. Unlike other modules such as :mod:`dbm." +"gnu` no external library is required. As with other persistent mappings, " +"the keys and values are always stored as bytes." +msgstr "" +"Модуль :mod:`dbm.dumb` забезпечує постійний інтерфейс, схожий на словник, " +"який повністю написаний мовою Python. На відміну від інших модулів, таких " +"як :mod:`dbm.gnu`, зовнішня бібліотека не потрібна. Як і в інших постійних " +"відображеннях, ключі та значення завжди зберігаються як байти." + +msgid "The module defines the following:" +msgstr "Модуль визначає наступне:" + +msgid "" +"Raised on :mod:`dbm.dumb`-specific errors, such as I/O errors. :exc:" +"`KeyError` is raised for general mapping errors like specifying an incorrect " +"key." +msgstr "" +"Виникає через :mod:`dbm.dumb`-специфічні помилки, такі як помилки введення/" +"виведення. :exc:`KeyError` виникає для загальних помилок зіставлення, як-от " +"введення неправильного ключа." + +msgid "" +"Open a ``dumbdbm`` database and return a dumbdbm object. The *filename* " +"argument is the basename of the database file (without any specific " +"extensions). When a dumbdbm database is created, files with :file:`.dat` " +"and :file:`.dir` extensions are created." +msgstr "" +"Відкрийте базу даних ``dumbdbm`` і поверніть об’єкт dumbdbm. Аргумент " +"*ім’я_файлу* є базовим ім’ям файлу бази даних (без будь-яких конкретних " +"розширень). Коли створюється база даних dumbdbm, створюються файли з " +"розширеннями :file:`.dat` і :file:`.dir`." + +msgid "" +"It is possible to crash the Python interpreter when loading a database with " +"a sufficiently large/complex entry due to stack depth limitations in " +"Python's AST compiler." +msgstr "" +"Можливий збій інтерпретатора Python під час завантаження бази даних із " +"достатньо великим/складним записом через обмеження глибини стеку в " +"компіляторі AST Python." + +msgid "" +":func:`.open` always creates a new database when the flag has the value " +"``'n'``." +msgstr "" +":func:`.open` завжди створює нову базу даних, якщо прапорець має значення " +"``'n'``." + +msgid "" +"A database opened with flags ``'r'`` is now read-only. Opening with flags " +"``'r'`` and ``'w'`` no longer creates a database if it does not exist." +msgstr "" +"База даних, відкрита з прапорцями ``'r''`` тепер доступна лише для читання. " +"Відкриття з прапорцями ``'r'`` і ``'w'`` більше не створює базу даних, якщо " +"вона не існує." + +msgid "" +"In addition to the methods provided by the :class:`collections.abc." +"MutableMapping` class, :class:`dumbdbm` objects provide the following " +"methods:" +msgstr "" +"На додаток до методів, наданих класом :class:`collections.abc." +"MutableMapping`, об’єкти :class:`dumbdbm` надають такі методи:" + +msgid "" +"Synchronize the on-disk directory and data files. This method is called by " +"the :meth:`Shelve.sync` method." +msgstr "" +"Синхронізувати каталог на диску та файли даних. Цей метод викликається " +"методом :meth:`Shelve.sync`." + +msgid "Close the ``dumbdbm`` database." +msgstr "Закрийте базу даних ``dumbdbm``." diff --git a/library/debug.po b/library/debug.po new file mode 100644 index 000000000..59bd7cae4 --- /dev/null +++ b/library/debug.po @@ -0,0 +1,44 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Debugging and Profiling" +msgstr "Налагодження та профілювання" + +msgid "" +"These libraries help you with Python development: the debugger enables you " +"to step through code, analyze stack frames and set breakpoints etc., and the " +"profilers run code and give you a detailed breakdown of execution times, " +"allowing you to identify bottlenecks in your programs. Auditing events " +"provide visibility into runtime behaviors that would otherwise require " +"intrusive debugging or patching." +msgstr "" +"Ці бібліотеки допомагають вам у розробці Python: налагоджувач дає змогу " +"покроково переглядати код, аналізувати фрейми стеку та встановлювати точки " +"зупину тощо, а профайлери запускають код і надають детальну розбивку часу " +"виконання, дозволяючи вам визначати вузькі місця у ваших програмах. Події " +"аудиту забезпечують видимість поведінки під час виконання, яка інакше " +"вимагала б нав’язливого налагодження або виправлення." diff --git a/library/decimal.po b/library/decimal.po new file mode 100644 index 000000000..89973898a --- /dev/null +++ b/library/decimal.po @@ -0,0 +1,2395 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic" +msgstr "" +":mod:`decimal` --- десяткова арифметика з фіксованою та плаваючою комою" + +msgid "**Source code:** :source:`Lib/decimal.py`" +msgstr "**Вихідний код:** :source:`Lib/decimal.py`" + +msgid "" +"The :mod:`decimal` module provides support for fast correctly rounded " +"decimal floating point arithmetic. It offers several advantages over the :" +"class:`float` datatype:" +msgstr "" + +msgid "" +"Decimal \"is based on a floating-point model which was designed with people " +"in mind, and necessarily has a paramount guiding principle -- computers must " +"provide an arithmetic that works in the same way as the arithmetic that " +"people learn at school.\" -- excerpt from the decimal arithmetic " +"specification." +msgstr "" +"Decimal \"базується на моделі з плаваючою комою, яка була розроблена з " +"урахуванням людей, і обов'язково має головний керівний принцип - комп'ютери " +"повинні забезпечувати арифметику, яка працює так само, як арифметика, яку " +"люди вивчають у школі\". -- витяг із специфікації десяткової арифметики." + +msgid "" +"Decimal numbers can be represented exactly. In contrast, numbers like :" +"const:`1.1` and :const:`2.2` do not have exact representations in binary " +"floating point. End users typically would not expect ``1.1 + 2.2`` to " +"display as :const:`3.3000000000000003` as it does with binary floating point." +msgstr "" +"Десяткові числа можуть бути представлені точно. Навпаки, такі числа, як :" +"const:`1.1` і :const:`2.2`, не мають точного представлення у двійковій формі " +"з плаваючою комою. Кінцеві користувачі зазвичай не очікують, що ``1.1 + " +"2.2`` відображатиметься як :const:`3.3000000000000003`, як це відбувається з " +"двійковими числами з плаваючою комою." + +msgid "" +"The exactness carries over into arithmetic. In decimal floating point, " +"``0.1 + 0.1 + 0.1 - 0.3`` is exactly equal to zero. In binary floating " +"point, the result is :const:`5.5511151231257827e-017`. While near to zero, " +"the differences prevent reliable equality testing and differences can " +"accumulate. For this reason, decimal is preferred in accounting applications " +"which have strict equality invariants." +msgstr "" +"Точність переходить в арифметику. У десятковій комі з плаваючою комою \"0,1 " +"+ 0,1 + 0,1 - 0,3\" точно дорівнює нулю. У двійковій формі з плаваючою комою " +"результатом є :const:`5.5511151231257827e-017`. Хоча відмінності близькі до " +"нуля, вони перешкоджають надійному тестуванню на рівність, і відмінності " +"можуть накопичуватися. З цієї причини десяткове число є кращим у програмах " +"бухгалтерського обліку, які мають суворі інваріанти рівності." + +msgid "" +"The decimal module incorporates a notion of significant places so that " +"``1.30 + 1.20`` is :const:`2.50`. The trailing zero is kept to indicate " +"significance. This is the customary presentation for monetary applications. " +"For multiplication, the \"schoolbook\" approach uses all the figures in the " +"multiplicands. For instance, ``1.3 * 1.2`` gives :const:`1.56` while ``1.30 " +"* 1.20`` gives :const:`1.5600`." +msgstr "" +"Десятковий модуль містить поняття значущих розрядів, тому ``1,30 + 1,20`` " +"дорівнює :const:`2,50`. Кінцевий нуль зберігається, щоб вказати значимість. " +"Це звичайна презентація для грошових заявок. Для множення підхід \"шкільного " +"підручника\" використовує всі цифри в множених. Наприклад, ``1.3 * 1.2`` " +"дає :const:`1.56`, а ``1.30 * 1.20`` дає :const:`1.5600`." + +msgid "" +"Unlike hardware based binary floating point, the decimal module has a user " +"alterable precision (defaulting to 28 places) which can be as large as " +"needed for a given problem:" +msgstr "" +"На відміну від двійкового числа з плаваючою комою на апаратній основі, " +"десятковий модуль має змінну користувачем точність (за замовчуванням 28 " +"знаків), яка може бути настільки великою, наскільки це потрібно для даної " +"проблеми:" + +msgid "" +"Both binary and decimal floating point are implemented in terms of published " +"standards. While the built-in float type exposes only a modest portion of " +"its capabilities, the decimal module exposes all required parts of the " +"standard. When needed, the programmer has full control over rounding and " +"signal handling. This includes an option to enforce exact arithmetic by " +"using exceptions to block any inexact operations." +msgstr "" +"І двійкові, і десяткові числа з плаваючою комою реалізовані відповідно до " +"опублікованих стандартів. У той час як вбудований тип float відкриває лише " +"скромну частину своїх можливостей, десятковий модуль відкриває всі необхідні " +"частини стандарту. За потреби програміст має повний контроль над округленням " +"і обробкою сигналу. Це включає в себе опцію для застосування точної " +"арифметики за допомогою винятків для блокування будь-яких неточних операцій." + +msgid "" +"The decimal module was designed to support \"without prejudice, both exact " +"unrounded decimal arithmetic (sometimes called fixed-point arithmetic) and " +"rounded floating-point arithmetic.\" -- excerpt from the decimal arithmetic " +"specification." +msgstr "" +"Десятковий модуль був розроблений для підтримки \"без шкоди як точної " +"неокругленої десяткової арифметики (іноді її називають арифметикою з " +"фіксованою комою), так і округленої арифметики з плаваючою комою\". -- витяг " +"із специфікації десяткової арифметики." + +msgid "" +"The module design is centered around three concepts: the decimal number, " +"the context for arithmetic, and signals." +msgstr "" +"Конструкція модуля зосереджена навколо трьох понять: десяткове число, " +"контекст для арифметики та сигнали." + +msgid "" +"A decimal number is immutable. It has a sign, coefficient digits, and an " +"exponent. To preserve significance, the coefficient digits do not truncate " +"trailing zeros. Decimals also include special values such as :const:" +"`Infinity`, :const:`-Infinity`, and :const:`NaN`. The standard also " +"differentiates :const:`-0` from :const:`+0`." +msgstr "" +"Десяткове число є незмінним. Він має знак, цифри коефіцієнта та експоненту. " +"Щоб зберегти значущість, цифри коефіцієнта не скорочують кінцеві нулі. " +"Десяткові числа також включають спеціальні значення, такі як :const:" +"`Infinity`, :const:`-Infinity` і :const:`NaN`. Стандарт також відрізняє :" +"const:`-0` від :const:`+0`." + +msgid "" +"The context for arithmetic is an environment specifying precision, rounding " +"rules, limits on exponents, flags indicating the results of operations, and " +"trap enablers which determine whether signals are treated as exceptions. " +"Rounding options include :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, :const:" +"`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :const:" +"`ROUND_HALF_UP`, :const:`ROUND_UP`, and :const:`ROUND_05UP`." +msgstr "" +"Контекст для арифметики — це середовище, що визначає точність, правила " +"округлення, обмеження на експоненти, прапори, що вказують результати " +"операцій, і засоби перехоплення, які визначають, чи розглядаються сигнали як " +"винятки. Параметри округлення включають :const:`ROUND_CEILING`, :const:" +"`ROUND_DOWN`, :const:`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:" +"`ROUND_HALF_EVEN`, :const:`ROUND_HALF_UP`, :const:`ROUND_UP` і :const:" +"`ROUND_05UP`." + +msgid "" +"Signals are groups of exceptional conditions arising during the course of " +"computation. Depending on the needs of the application, signals may be " +"ignored, considered as informational, or treated as exceptions. The signals " +"in the decimal module are: :const:`Clamped`, :const:`InvalidOperation`, :" +"const:`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, :const:" +"`Subnormal`, :const:`Overflow`, :const:`Underflow` and :const:" +"`FloatOperation`." +msgstr "" +"Сигнали - це групи виняткових умов, що виникають під час обчислень. Залежно " +"від потреб програми, сигнали можуть ігноруватися, розглядатися як " +"інформаційні або розглядатися як винятки. Сигнали в десятковому модулі: :" +"const:`Clamped`, :const:`InvalidOperation`, :const:`DivisionByZero`, :const:" +"`Inexact`, :const:`Rounded`, :const:`Subnormal`, :const:`Overflow`, :const:" +"`Underflow` і :const:`FloatOperation`." + +msgid "" +"For each signal there is a flag and a trap enabler. When a signal is " +"encountered, its flag is set to one, then, if the trap enabler is set to " +"one, an exception is raised. Flags are sticky, so the user needs to reset " +"them before monitoring a calculation." +msgstr "" +"Для кожного сигналу є прапорець і активатор пастки. Коли зустрічається " +"сигнал, його прапорець встановлюється на одиницю, тоді, якщо активатор " +"перехоплення встановлений на одиницю, виникає виняток. Прапори є липкими, " +"тому користувачеві потрібно скинути їх, перш ніж контролювати обчислення." + +msgid "" +"IBM's General Decimal Arithmetic Specification, `The General Decimal " +"Arithmetic Specification `_." +msgstr "" + +msgid "Quick-start Tutorial" +msgstr "Короткий підручник" + +msgid "" +"The usual start to using decimals is importing the module, viewing the " +"current context with :func:`getcontext` and, if necessary, setting new " +"values for precision, rounding, or enabled traps::" +msgstr "" +"Звичайним початком використання десяткових дробів є імпортування модуля, " +"перегляд поточного контексту за допомогою :func:`getcontext` і, якщо " +"необхідно, встановлення нових значень для точності, округлення або " +"ввімкнення перехоплень::" + +msgid "" +"Decimal instances can be constructed from integers, strings, floats, or " +"tuples. Construction from an integer or a float performs an exact conversion " +"of the value of that integer or float. Decimal numbers include special " +"values such as :const:`NaN` which stands for \"Not a number\", positive and " +"negative :const:`Infinity`, and :const:`-0`::" +msgstr "" +"Десяткові екземпляри можуть бути створені з цілих чисел, рядків, чисел з " +"плаваючою точкою або кортежів. Конструкція з цілого числа або числа з " +"плаваючою точкою виконує точне перетворення значення цього цілого числа або " +"числа з плаваючою точкою. Десяткові числа включають спеціальні значення, " +"такі як :const:`NaN`, що означає \"Не число\", додатні та від’ємні :const:" +"`Infinity` та :const:`-0`::" + +msgid "" +"If the :exc:`FloatOperation` signal is trapped, accidental mixing of " +"decimals and floats in constructors or ordering comparisons raises an " +"exception::" +msgstr "" +"Якщо сигнал :exc:`FloatOperation` перехоплюється, випадкове змішування " +"десяткових дробів і чисел з плаваючою точкою в конструкторах або " +"впорядкованих порівняннях викликає виняток:" + +msgid "" +"The significance of a new Decimal is determined solely by the number of " +"digits input. Context precision and rounding only come into play during " +"arithmetic operations." +msgstr "" +"Значення нового десяткового дробу визначається виключно кількістю введених " +"цифр. Точність контексту та округлення застосовуються лише під час " +"арифметичних операцій." + +msgid "" +"If the internal limits of the C version are exceeded, constructing a decimal " +"raises :class:`InvalidOperation`::" +msgstr "" +"Якщо внутрішні обмеження версії C перевищено, побудова десяткового числа " +"призводить до :class:`InvalidOperation`::" + +msgid "" +"Decimals interact well with much of the rest of Python. Here is a small " +"decimal floating point flying circus:" +msgstr "" +"Десяткові числа добре взаємодіють із більшою частиною решти Python. Ось " +"невеликий літаючий цирк з десятковою комою:" + +msgid "And some mathematical functions are also available to Decimal:" +msgstr "І деякі математичні функції також доступні для Decimal:" + +msgid "" +"The :meth:`quantize` method rounds a number to a fixed exponent. This " +"method is useful for monetary applications that often round results to a " +"fixed number of places:" +msgstr "" +"Метод :meth:`quantize` округлює число до фіксованого показника. Цей метод " +"корисний для грошових програм, які часто округлюють результати до фіксованої " +"кількості місць:" + +msgid "" +"As shown above, the :func:`getcontext` function accesses the current context " +"and allows the settings to be changed. This approach meets the needs of " +"most applications." +msgstr "" +"Як показано вище, функція :func:`getcontext` отримує доступ до поточного " +"контексту та дозволяє змінювати налаштування. Такий підхід відповідає " +"потребам більшості програм." + +msgid "" +"For more advanced work, it may be useful to create alternate contexts using " +"the Context() constructor. To make an alternate active, use the :func:" +"`setcontext` function." +msgstr "" +"Для більш складної роботи може бути корисним створити альтернативні " +"контексти за допомогою конструктора Context(). Щоб зробити альтернативу " +"активною, використовуйте функцію :func:`setcontext`." + +msgid "" +"In accordance with the standard, the :mod:`decimal` module provides two " +"ready to use standard contexts, :const:`BasicContext` and :const:" +"`ExtendedContext`. The former is especially useful for debugging because " +"many of the traps are enabled:" +msgstr "" +"Відповідно до стандарту, модуль :mod:`decimal` надає два готові до " +"використання стандартні контексти, :const:`BasicContext` і :const:" +"`ExtendedContext`. Перший особливо корисний для налагодження, оскільки " +"багато пасток увімкнено:" + +msgid "" +"Contexts also have signal flags for monitoring exceptional conditions " +"encountered during computations. The flags remain set until explicitly " +"cleared, so it is best to clear the flags before each set of monitored " +"computations by using the :meth:`clear_flags` method. ::" +msgstr "" +"Контексти також мають сигнальні прапорці для моніторингу виняткових умов, що " +"виникають під час обчислень. Прапори залишаються встановленими, доки вони не " +"будуть очищені явно, тому найкраще знімати прапори перед кожним набором " +"контрольованих обчислень за допомогою методу :meth:`clear_flags`. ::" + +msgid "" +"The *flags* entry shows that the rational approximation to :const:`Pi` was " +"rounded (digits beyond the context precision were thrown away) and that the " +"result is inexact (some of the discarded digits were non-zero)." +msgstr "" +"Запис *flags* показує, що раціональне наближення до :const:`Pi` було " +"округлено (цифри, що виходять за межі точності контексту, були викинуті) і " +"що результат є неточним (деякі з відкинутих цифр були ненульовими)." + +msgid "" +"Individual traps are set using the dictionary in the :attr:`traps` field of " +"a context:" +msgstr "" +"Індивідуальні пастки встановлюються за допомогою словника в полі :attr:" +"`traps` контексту:" + +msgid "" +"Most programs adjust the current context only once, at the beginning of the " +"program. And, in many applications, data is converted to :class:`Decimal` " +"with a single cast inside a loop. With context set and decimals created, " +"the bulk of the program manipulates the data no differently than with other " +"Python numeric types." +msgstr "" +"Більшість програм коригують поточний контекст лише один раз, на початку " +"програми. І в багатьох програмах дані перетворюються на :class:`Decimal` за " +"допомогою одного приведення всередині циклу. З набором контексту та " +"створеними десятковими знаками основна частина програми маніпулює даними не " +"інакше, як з іншими числовими типами Python." + +msgid "Decimal objects" +msgstr "Десяткові об'єкти" + +msgid "Construct a new :class:`Decimal` object based from *value*." +msgstr "Створіть новий об’єкт :class:`Decimal` на основі *value*." + +msgid "" +"*value* can be an integer, string, tuple, :class:`float`, or another :class:" +"`Decimal` object. If no *value* is given, returns ``Decimal('0')``. If " +"*value* is a string, it should conform to the decimal numeric string syntax " +"after leading and trailing whitespace characters, as well as underscores " +"throughout, are removed::" +msgstr "" +"*значення* може бути цілим числом, рядком, кортежем, :class:`float` або " +"іншим об’єктом :class:`Decimal`. Якщо *значення* не вказано, повертає " +"``Decimal('0')``. Якщо *значення* є рядком, воно має відповідати синтаксису " +"десяткового числового рядка після видалення початкових і кінцевих пробілів, " +"а також символів підкреслення::" + +msgid "" +"Other Unicode decimal digits are also permitted where ``digit`` appears " +"above. These include decimal digits from various other alphabets (for " +"example, Arabic-Indic and Devanāgarī digits) along with the fullwidth digits " +"``'\\uff10'`` through ``'\\uff19'``." +msgstr "" +"Інші десяткові цифри Юнікоду також дозволені там, де вказано \"цифра\" вище. " +"До них входять десяткові цифри з різних інших алфавітів (наприклад, цифри " +"арабо-індійської мови та цифри Деванагарі), а також цифри повної ширини від " +"``'\\uff10'`` до ``'\\uff19'``." + +msgid "" +"If *value* is a :class:`tuple`, it should have three components, a sign (:" +"const:`0` for positive or :const:`1` for negative), a :class:`tuple` of " +"digits, and an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), " +"-3))`` returns ``Decimal('1.414')``." +msgstr "" +"Якщо *value* є :class:`tuple`, воно має містити три компоненти, знак (:const:" +"`0` для позитивного або :const:`1` для негативного), :class:`tuple` цифр , і " +"цілий показник степеня. Наприклад, ``Decimal((0, (1, 4, 1, 4), -3))`` " +"повертає ``Decimal('1,414')``." + +msgid "" +"If *value* is a :class:`float`, the binary floating point value is " +"losslessly converted to its exact decimal equivalent. This conversion can " +"often require 53 or more digits of precision. For example, " +"``Decimal(float('1.1'))`` converts to " +"``Decimal('1.100000000000000088817841970012523233890533447265625')``." +msgstr "" +"Якщо *value* є :class:`float`, двійкове значення з плаваючою комою без втрат " +"перетворюється на його точний десятковий еквівалент. Для цього перетворення " +"часто може знадобитися 53 або більше цифр точності. Наприклад, " +"``Decimal(float('1.1'))`` перетворюється на " +"``Decimal('1.100000000000000088817841970012523233890533447265625')``." + +msgid "" +"The *context* precision does not affect how many digits are stored. That is " +"determined exclusively by the number of digits in *value*. For example, " +"``Decimal('3.00000')`` records all five zeros even if the context precision " +"is only three." +msgstr "" +"Точність *контексту* не впливає на кількість збережених цифр. Це " +"визначається виключно кількістю цифр у *значенні*. Наприклад, " +"``Decimal('3.00000')`` записує всі п'ять нулів, навіть якщо точність " +"контексту становить лише три." + +msgid "" +"The purpose of the *context* argument is determining what to do if *value* " +"is a malformed string. If the context traps :const:`InvalidOperation`, an " +"exception is raised; otherwise, the constructor returns a new Decimal with " +"the value of :const:`NaN`." +msgstr "" +"Метою аргументу *context* є визначення того, що робити, якщо *value* є " +"неправильним рядком. Якщо контекст перехоплює :const:`InvalidOperation`, " +"виникає виняток; інакше конструктор повертає новий Decimal зі значенням :" +"const:`NaN`." + +msgid "Once constructed, :class:`Decimal` objects are immutable." +msgstr "Після створення об’єкти :class:`Decimal` є незмінними." + +msgid "" +"The argument to the constructor is now permitted to be a :class:`float` " +"instance." +msgstr "" +"Аргументом конструктора тепер дозволено бути екземпляром :class:`float`." + +msgid "" +":class:`float` arguments raise an exception if the :exc:`FloatOperation` " +"trap is set. By default the trap is off." +msgstr "" +"Аргументи :class:`float` викликають виняток, якщо встановлено перехоплення :" +"exc:`FloatOperation`. За замовчуванням перехоплення вимкнено." + +msgid "" +"Underscores are allowed for grouping, as with integral and floating-point " +"literals in code." +msgstr "" +"Підкреслення дозволено для групування, як і з інтегральними літералами та " +"літералами з плаваючою комою в коді." + +msgid "" +"Decimal floating point objects share many properties with the other built-in " +"numeric types such as :class:`float` and :class:`int`. All of the usual " +"math operations and special methods apply. Likewise, decimal objects can be " +"copied, pickled, printed, used as dictionary keys, used as set elements, " +"compared, sorted, and coerced to another type (such as :class:`float` or :" +"class:`int`)." +msgstr "" +"Десяткові об’єкти з плаваючою комою мають багато спільних властивостей з " +"іншими вбудованими числовими типами, такими як :class:`float` і :class:" +"`int`. Застосовуються всі звичайні математичні операції та спеціальні " +"методи. Так само десяткові об’єкти можна копіювати, маринувати, друкувати, " +"використовувати як ключі до словника, використовувати як елементи набору, " +"порівнювати, сортувати та переводити до іншого типу (наприклад, :class:" +"`float` або :class:`int`)." + +msgid "" +"There are some small differences between arithmetic on Decimal objects and " +"arithmetic on integers and floats. When the remainder operator ``%`` is " +"applied to Decimal objects, the sign of the result is the sign of the " +"*dividend* rather than the sign of the divisor::" +msgstr "" +"Існують деякі невеликі відмінності між арифметикою на десяткових об’єктах і " +"арифметикою на цілих числах і числах з плаваючою точкою. Коли оператор " +"залишку ``%`` застосовується до десяткових об’єктів, знаком результату є " +"знак *діленого*, а не знак дільника::" + +msgid "" +"The integer division operator ``//`` behaves analogously, returning the " +"integer part of the true quotient (truncating towards zero) rather than its " +"floor, so as to preserve the usual identity ``x == (x // y) * y + x % y``::" +msgstr "" +"Оператор цілочисельного ділення ``//`` поводиться аналогічно, повертаючи " +"цілу частину справжньої частки (урізану до нуля), а не її нижню частину, щоб " +"зберегти звичайну тотожність ``x == (x // y) * y + x % y``::" + +msgid "" +"The ``%`` and ``//`` operators implement the ``remainder`` and ``divide-" +"integer`` operations (respectively) as described in the specification." +msgstr "" +"Оператори ``%`` і ``//`` реалізують операції ``remainder`` і ``divide-" +"integer`` (відповідно), як описано в специфікації." + +msgid "" +"Decimal objects cannot generally be combined with floats or instances of :" +"class:`fractions.Fraction` in arithmetic operations: an attempt to add a :" +"class:`Decimal` to a :class:`float`, for example, will raise a :exc:" +"`TypeError`. However, it is possible to use Python's comparison operators " +"to compare a :class:`Decimal` instance ``x`` with another number ``y``. " +"This avoids confusing results when doing equality comparisons between " +"numbers of different types." +msgstr "" +"Десяткові об’єкти зазвичай не можна поєднувати з числами з плаваючою точкою " +"або екземплярами :class:`fractions.Fraction` в арифметичних операціях: " +"спроба додати :class:`Decimal` до :class:`float`, наприклад, призведе до :" +"exc:`TypeError`. Однак можна використовувати оператори порівняння Python для " +"порівняння :class:`Decimal` екземпляра ``x`` з іншим числом ``y``. Це " +"дозволяє уникнути плутанини в результатах під час порівняння рівності між " +"числами різних типів." + +msgid "" +"Mixed-type comparisons between :class:`Decimal` instances and other numeric " +"types are now fully supported." +msgstr "" +"Порівняння змішаного типу між екземплярами :class:`Decimal` та іншими " +"числовими типами тепер повністю підтримуються." + +msgid "" +"In addition to the standard numeric properties, decimal floating point " +"objects also have a number of specialized methods:" +msgstr "" +"Окрім стандартних числових властивостей, десяткові об’єкти з плаваючою комою " +"також мають ряд спеціалізованих методів:" + +msgid "" +"Return the adjusted exponent after shifting out the coefficient's rightmost " +"digits until only the lead digit remains: ``Decimal('321e+5').adjusted()`` " +"returns seven. Used for determining the position of the most significant " +"digit with respect to the decimal point." +msgstr "" +"Повертає скоригований експонент після зміщення крайніх правих цифр " +"коефіцієнта, доки не залишиться лише головна цифра: ``Decimal('321e+5')." +"adjusted()`` повертає сім. Використовується для визначення позиції старшого " +"розряду відносно коми." + +msgid "" +"Return a pair ``(n, d)`` of integers that represent the given :class:" +"`Decimal` instance as a fraction, in lowest terms and with a positive " +"denominator::" +msgstr "" +"Повертає пару ``(n, d)`` цілих чисел, які представляють даний екземпляр :" +"class:`Decimal` у вигляді дробу в найменших членах і з позитивним " +"знаменником::" + +msgid "" +"The conversion is exact. Raise OverflowError on infinities and ValueError " +"on NaNs." +msgstr "" +"Перетворення точне. Викликайте OverflowError на нескінченності та ValueError " +"на NaN." + +msgid "" +"Return a :term:`named tuple` representation of the number: " +"``DecimalTuple(sign, digits, exponent)``." +msgstr "" +"Повертає представлення числа :term:`named tuple`: ``DecimalTuple(знак, " +"цифри, експонента)``." + +msgid "" +"Return the canonical encoding of the argument. Currently, the encoding of " +"a :class:`Decimal` instance is always canonical, so this operation returns " +"its argument unchanged." +msgstr "" +"Повертає канонічне кодування аргументу. Наразі кодування екземпляра :class:" +"`Decimal` завжди канонічне, тому ця операція повертає його аргумент без змін." + +msgid "" +"Compare the values of two Decimal instances. :meth:`compare` returns a " +"Decimal instance, and if either operand is a NaN then the result is a NaN::" +msgstr "" +"Порівняйте значення двох екземплярів Decimal. :meth:`compare` повертає " +"екземпляр Decimal, і якщо один із операндів є NaN, то результатом є NaN::" + +msgid "" +"This operation is identical to the :meth:`compare` method, except that all " +"NaNs signal. That is, if neither operand is a signaling NaN then any quiet " +"NaN operand is treated as though it were a signaling NaN." +msgstr "" +"Ця операція ідентична методу :meth:`compare`, за винятком того, що " +"сигналізують усі NaN. Тобто, якщо жоден операнд не є сигнальним NaN, тоді " +"будь-який тихий NaN операнд розглядається як сигнальний NaN." + +msgid "" +"Compare two operands using their abstract representation rather than their " +"numerical value. Similar to the :meth:`compare` method, but the result " +"gives a total ordering on :class:`Decimal` instances. Two :class:`Decimal` " +"instances with the same numeric value but different representations compare " +"unequal in this ordering:" +msgstr "" +"Порівняйте два операнди, використовуючи їх абстрактне представлення, а не " +"числове значення. Подібно до методу :meth:`compare`, але результат дає " +"загальне впорядкування екземплярів :class:`Decimal`. Два екземпляри :class:" +"`Decimal` з однаковим числовим значенням, але різними представленнями " +"порівнюються нерівномірно в такому порядку:" + +msgid "" +"Quiet and signaling NaNs are also included in the total ordering. The " +"result of this function is ``Decimal('0')`` if both operands have the same " +"representation, ``Decimal('-1')`` if the first operand is lower in the total " +"order than the second, and ``Decimal('1')`` if the first operand is higher " +"in the total order than the second operand. See the specification for " +"details of the total order." +msgstr "" +"Безшумні та сигнальні NaN також включені в загальне замовлення. Результатом " +"цієї функції є ``Decimal('0')``, якщо обидва операнди мають однакове " +"представлення, ``Decimal('-1')``, якщо перший операнд є нижчим у загальному " +"порядку, ніж другий, і ``Decimal('1')``, якщо перший операнд вищий у " +"загальному порядку, ніж другий операнд. Дивіться специфікацію для детальної " +"інформації про загальне замовлення." + +msgid "" +"This operation is unaffected by context and is quiet: no flags are changed " +"and no rounding is performed. As an exception, the C version may raise " +"InvalidOperation if the second operand cannot be converted exactly." +msgstr "" +"Ця операція не залежить від контексту та є тихою: прапорці не змінюються та " +"округлення не виконується. Як виняток, версія C може викликати " +"InvalidOperation, якщо другий операнд не може бути точно перетворений." + +msgid "" +"Compare two operands using their abstract representation rather than their " +"value as in :meth:`compare_total`, but ignoring the sign of each operand. " +"``x.compare_total_mag(y)`` is equivalent to ``x.copy_abs().compare_total(y." +"copy_abs())``." +msgstr "" +"Порівняйте два операнди, використовуючи їх абстрактне представлення, а не " +"значення, як у :meth:`compare_total`, але ігноруючи знак кожного операнда. " +"``x.compare_total_mag(y)`` еквівалентно ``x.copy_abs().compare_total(y." +"copy_abs())``." + +msgid "" +"Just returns self, this method is only to comply with the Decimal " +"Specification." +msgstr "" +"Просто повертає self, цей метод призначений лише для відповідності " +"десятковій специфікації." + +msgid "" +"Return the absolute value of the argument. This operation is unaffected by " +"the context and is quiet: no flags are changed and no rounding is performed." +msgstr "" +"Повертає абсолютне значення аргументу. Ця операція не залежить від контексту " +"та є тихою: прапорці не змінюються та округлення не виконується." + +msgid "" +"Return the negation of the argument. This operation is unaffected by the " +"context and is quiet: no flags are changed and no rounding is performed." +msgstr "" +"Повернути заперечення аргументу. Ця операція не залежить від контексту та є " +"тихою: прапорці не змінюються та округлення не виконується." + +msgid "" +"Return a copy of the first operand with the sign set to be the same as the " +"sign of the second operand. For example:" +msgstr "" +"Повертає копію першого операнда зі знаком, який збігається зі знаком другого " +"операнда. Наприклад:" + +msgid "" +"Return the value of the (natural) exponential function ``e**x`` at the given " +"number. The result is correctly rounded using the :const:`ROUND_HALF_EVEN` " +"rounding mode." +msgstr "" +"Повертає значення (натуральної) експоненціальної функції ``e**x`` за заданим " +"числом. Результат правильно округлюється за допомогою режиму округлення :" +"const:`ROUND_HALF_EVEN`." + +msgid "" +"Alternative constructor that only accepts instances of :class:`float` or :" +"class:`int`." +msgstr "" +"Альтернативний конструктор, який приймає лише екземпляри :class:`float` або :" +"class:`int`." + +msgid "" +"Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``. " +"Since 0.1 is not exactly representable in binary floating point, the value " +"is stored as the nearest representable value which is " +"``0x1.999999999999ap-4``. That equivalent value in decimal is " +"``0.1000000000000000055511151231257827021181583404541015625``." +msgstr "" + +msgid "" +"From Python 3.2 onwards, a :class:`Decimal` instance can also be constructed " +"directly from a :class:`float`." +msgstr "" +"Починаючи з Python 3.2 і далі, екземпляр :class:`Decimal` також можна " +"створити безпосередньо з :class:`float`." + +msgid "" +"Fused multiply-add. Return self*other+third with no rounding of the " +"intermediate product self*other." +msgstr "" +"Злитий множення-додавання. Повертає self*other+third без округлення " +"проміжного продукту self*other." + +msgid "" +"Return :const:`True` if the argument is canonical and :const:`False` " +"otherwise. Currently, a :class:`Decimal` instance is always canonical, so " +"this operation always returns :const:`True`." +msgstr "" +"Повертає :const:`True`, якщо аргумент є канонічним, і :const:`False` в " +"іншому випадку. Наразі екземпляр :class:`Decimal` завжди є канонічним, тому " +"ця операція завжди повертає :const:`True`." + +msgid "" +"Return :const:`True` if the argument is a finite number, and :const:`False` " +"if the argument is an infinity or a NaN." +msgstr "" +"Повертає :const:`True`, якщо аргумент є скінченним числом, і :const:`False`, " +"якщо аргументом є нескінченність або NaN." + +msgid "" +"Return :const:`True` if the argument is either positive or negative infinity " +"and :const:`False` otherwise." +msgstr "" +"Повертає :const:`True`, якщо аргумент є додатною або від’ємною " +"нескінченністю, і :const:`False` в іншому випадку." + +msgid "" +"Return :const:`True` if the argument is a (quiet or signaling) NaN and :" +"const:`False` otherwise." +msgstr "" +"Повертає :const:`True`, якщо аргумент є (тихим або сигнальним) NaN, і :const:" +"`False` в іншому випадку." + +msgid "" +"Return :const:`True` if the argument is a *normal* finite number. Return :" +"const:`False` if the argument is zero, subnormal, infinite or a NaN." +msgstr "" +"Повертає :const:`True`, якщо аргумент є *звичайним* кінцевим числом. " +"Повертає :const:`False`, якщо аргумент нульовий, субнормальний, нескінченний " +"або NaN." + +msgid "" +"Return :const:`True` if the argument is a quiet NaN, and :const:`False` " +"otherwise." +msgstr "" +"Повертає :const:`True`, якщо аргумент є тихим NaN, і :const:`False` в іншому " +"випадку." + +msgid "" +"Return :const:`True` if the argument has a negative sign and :const:`False` " +"otherwise. Note that zeros and NaNs can both carry signs." +msgstr "" +"Повертає :const:`True`, якщо аргумент має негативний знак, і :const:`False` " +"в іншому випадку. Зауважте, що і нулі, і NaN можуть мати знаки." + +msgid "" +"Return :const:`True` if the argument is a signaling NaN and :const:`False` " +"otherwise." +msgstr "" +"Повертає :const:`True`, якщо аргумент є сигнальним NaN, і :const:`False` в " +"іншому випадку." + +msgid "" +"Return :const:`True` if the argument is subnormal, and :const:`False` " +"otherwise." +msgstr "" +"Повертає :const:`True`, якщо аргумент ненормальний, і :const:`False` в " +"іншому випадку." + +msgid "" +"Return :const:`True` if the argument is a (positive or negative) zero and :" +"const:`False` otherwise." +msgstr "" +"Повертає :const:`True`, якщо аргумент є (позитивним або від’ємним) нулем, і :" +"const:`False` в іншому випадку." + +msgid "" +"Return the natural (base e) logarithm of the operand. The result is " +"correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode." +msgstr "" +"Повертає натуральний (за основою e) логарифм операнда. Результат правильно " +"округлюється за допомогою режиму округлення :const:`ROUND_HALF_EVEN`." + +msgid "" +"Return the base ten logarithm of the operand. The result is correctly " +"rounded using the :const:`ROUND_HALF_EVEN` rounding mode." +msgstr "" +"Повертає десятий логарифм операнда. Результат правильно округлюється за " +"допомогою режиму округлення :const:`ROUND_HALF_EVEN`." + +msgid "" +"For a nonzero number, return the adjusted exponent of its operand as a :" +"class:`Decimal` instance. If the operand is a zero then ``Decimal('-" +"Infinity')`` is returned and the :const:`DivisionByZero` flag is raised. If " +"the operand is an infinity then ``Decimal('Infinity')`` is returned." +msgstr "" +"Для відмінного від нуля числа поверніть скоригований експонент його операнда " +"як екземпляр :class:`Decimal`. Якщо операнд дорівнює нулю, повертається " +"``Decimal('-Infinity')`` і піднімається прапор :const:`DivisionByZero`. Якщо " +"операнд є нескінченністю, тоді повертається ``Decimal('Infinity')``." + +msgid "" +":meth:`logical_and` is a logical operation which takes two *logical " +"operands* (see :ref:`logical_operands_label`). The result is the digit-wise " +"``and`` of the two operands." +msgstr "" +":meth:`logical_and` — це логічна операція, яка приймає два *логічних " +"операнда* (див. :ref:`logical_operands_label`). Результатом є порозрядне " +"``і`` двох операндів." + +msgid "" +":meth:`logical_invert` is a logical operation. The result is the digit-wise " +"inversion of the operand." +msgstr "" +":meth:`logical_invert` є логічною операцією. Результатом є порозрядна " +"інверсія операнда." + +msgid "" +":meth:`logical_or` is a logical operation which takes two *logical operands* " +"(see :ref:`logical_operands_label`). The result is the digit-wise ``or`` of " +"the two operands." +msgstr "" +":meth:`logical_or` — це логічна операція, яка приймає два *логічних " +"операнда* (див. :ref:`logical_operands_label`). Результатом є порозрядне " +"\"або\" двох операндів." + +msgid "" +":meth:`logical_xor` is a logical operation which takes two *logical " +"operands* (see :ref:`logical_operands_label`). The result is the digit-wise " +"exclusive or of the two operands." +msgstr "" +":meth:`logical_xor` — це логічна операція, яка приймає два *логічних " +"операнда* (див. :ref:`logical_operands_label`). Результатом є розрядний " +"виключний або двох операндів." + +msgid "" +"Like ``max(self, other)`` except that the context rounding rule is applied " +"before returning and that :const:`NaN` values are either signaled or ignored " +"(depending on the context and whether they are signaling or quiet)." +msgstr "" +"Подібно до ``max(self, other)``, за винятком того, що правило округлення " +"контексту застосовується перед поверненням і що значення :const:`NaN` або " +"сигналізуються, або ігноруються (залежно від контексту та того, чи є вони " +"сигнальними чи тихими)." + +msgid "" +"Similar to the :meth:`.max` method, but the comparison is done using the " +"absolute values of the operands." +msgstr "" +"Подібно до методу :meth:`.max`, але порівняння виконується з використанням " +"абсолютних значень операндів." + +msgid "" +"Like ``min(self, other)`` except that the context rounding rule is applied " +"before returning and that :const:`NaN` values are either signaled or ignored " +"(depending on the context and whether they are signaling or quiet)." +msgstr "" +"Подібно до ``min(self, other)``, за винятком того, що правило округлення " +"контексту застосовується перед поверненням і що значення :const:`NaN` або " +"сигналізуються, або ігноруються (залежно від контексту та того, чи є вони " +"сигнальними чи тихими)." + +msgid "" +"Similar to the :meth:`.min` method, but the comparison is done using the " +"absolute values of the operands." +msgstr "" +"Подібно до методу :meth:`.min`, але порівняння виконується з використанням " +"абсолютних значень операндів." + +msgid "" +"Return the largest number representable in the given context (or in the " +"current thread's context if no context is given) that is smaller than the " +"given operand." +msgstr "" +"Повертає найбільше число, яке можна представити в заданому контексті (або в " +"контексті поточного потоку, якщо контекст не задано), яке є меншим за " +"заданий операнд." + +msgid "" +"Return the smallest number representable in the given context (or in the " +"current thread's context if no context is given) that is larger than the " +"given operand." +msgstr "" +"Повертає найменше число, яке можна представити в заданому контексті (або в " +"контексті поточного потоку, якщо контекст не задано), яке більше заданого " +"операнда." + +msgid "" +"If the two operands are unequal, return the number closest to the first " +"operand in the direction of the second operand. If both operands are " +"numerically equal, return a copy of the first operand with the sign set to " +"be the same as the sign of the second operand." +msgstr "" +"Якщо два операнди нерівні, поверніть число, найближче до першого операнду в " +"напрямку другого операнда. Якщо обидва операнди чисельно рівні, поверніть " +"копію першого операнда зі знаком, встановленим таким самим, як знак другого " +"операнда." + +msgid "" +"Normalize the number by stripping the rightmost trailing zeros and " +"converting any result equal to :const:`Decimal('0')` to :const:" +"`Decimal('0e0')`. Used for producing canonical values for attributes of an " +"equivalence class. For example, ``Decimal('32.100')`` and " +"``Decimal('0.321000e+2')`` both normalize to the equivalent value " +"``Decimal('32.1')``." +msgstr "" +"Нормалізуйте число, видаливши крайні праві кінцеві нулі та перетворивши будь-" +"який результат, рівний :const:`Decimal('0')` на :const:`Decimal('0e0')`. " +"Використовується для отримання канонічних значень для атрибутів класу " +"еквівалентності. Наприклад, ``Decimal('32.100')`` і ``Decimal('0.321000e" +"+2')`` нормалізуються до еквівалентного значення ``Decimal('32.1')``." + +msgid "" +"Return a string describing the *class* of the operand. The returned value " +"is one of the following ten strings." +msgstr "" +"Повертає рядок, що описує *клас* операнда. Повернене значення є одним із " +"наступних десяти рядків." + +msgid "``\"-Infinity\"``, indicating that the operand is negative infinity." +msgstr "``\"-Infinity\"``, що вказує, що операнд є негативною нескінченністю." + +msgid "" +"``\"-Normal\"``, indicating that the operand is a negative normal number." +msgstr "``\"-Normal\"``, вказуючи, що операнд є від’ємним нормальним числом." + +msgid "" +"``\"-Subnormal\"``, indicating that the operand is negative and subnormal." +msgstr "" +"``\"-Subnormal\"``, що вказує на те, що операнд від'ємний і ненормальний." + +msgid "``\"-Zero\"``, indicating that the operand is a negative zero." +msgstr "``\"-Zero\"``, вказуючи, що операнд є від’ємним нулем." + +msgid "``\"+Zero\"``, indicating that the operand is a positive zero." +msgstr "``\"+Zero\"``, вказуючи, що операнд є позитивним нулем." + +msgid "" +"``\"+Subnormal\"``, indicating that the operand is positive and subnormal." +msgstr "``\"+Subnormal\"``, що вказує, що операнд є додатним і субнормальним." + +msgid "" +"``\"+Normal\"``, indicating that the operand is a positive normal number." +msgstr "``\"+Normal\"``, вказуючи, що операнд є додатним нормальним числом." + +msgid "``\"+Infinity\"``, indicating that the operand is positive infinity." +msgstr "``\"+Infinity\"``, що вказує, що операнд є позитивною нескінченністю." + +msgid "``\"NaN\"``, indicating that the operand is a quiet NaN (Not a Number)." +msgstr "``\"NaN\"``, вказуючи, що операнд є тихим NaN (не числом)." + +msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN." +msgstr "``\"sNaN\"``, вказуючи, що операнд є сигнальним NaN." + +msgid "" +"Return a value equal to the first operand after rounding and having the " +"exponent of the second operand." +msgstr "" +"Повертає значення, що дорівнює першому операнду після округлення та має " +"експоненту другого операнда." + +msgid "" +"Unlike other operations, if the length of the coefficient after the quantize " +"operation would be greater than precision, then an :const:`InvalidOperation` " +"is signaled. This guarantees that, unless there is an error condition, the " +"quantized exponent is always equal to that of the right-hand operand." +msgstr "" +"На відміну від інших операцій, якщо довжина коефіцієнта після операції " +"квантування буде більшою за точність, тоді сигналізується :const:" +"`InvalidOperation`. Це гарантує, що, якщо немає умови помилки, квантований " +"показник степеня завжди дорівнює показнику правого операнда." + +msgid "" +"Also unlike other operations, quantize never signals Underflow, even if the " +"result is subnormal and inexact." +msgstr "" +"Крім того, на відміну від інших операцій, квантування ніколи не сигналізує " +"про переповнення, навіть якщо результат ненормальний і неточний." + +msgid "" +"If the exponent of the second operand is larger than that of the first then " +"rounding may be necessary. In this case, the rounding mode is determined by " +"the ``rounding`` argument if given, else by the given ``context`` argument; " +"if neither argument is given the rounding mode of the current thread's " +"context is used." +msgstr "" +"Якщо експонента другого операнда більша, ніж експонента першого, може " +"знадобитися округлення. У цьому випадку режим округлення визначається " +"аргументом ``округлення``, якщо задано, інакше заданим аргументом " +"``контексту``; якщо жоден аргумент не задано, використовується режим " +"округлення контексту поточного потоку." + +msgid "" +"An error is returned whenever the resulting exponent is greater than :attr:" +"`Emax` or less than :attr:`Etiny`." +msgstr "" +"Помилка повертається щоразу, коли кінцевий показник степеня більший за :attr:" +"`Emax` або менший за :attr:`Etiny`." + +msgid "" +"Return ``Decimal(10)``, the radix (base) in which the :class:`Decimal` class " +"does all its arithmetic. Included for compatibility with the specification." +msgstr "" +"Повертає ``Decimal(10)``, основу (базу), у якій клас :class:`Decimal` " +"виконує всю свою арифметику. Включено для сумісності зі специфікацією." + +msgid "" +"Return the remainder from dividing *self* by *other*. This differs from " +"``self % other`` in that the sign of the remainder is chosen so as to " +"minimize its absolute value. More precisely, the return value is ``self - n " +"* other`` where ``n`` is the integer nearest to the exact value of ``self / " +"other``, and if two integers are equally near then the even one is chosen." +msgstr "" +"Повертає залишок від ділення *self* на *other*. Це відрізняється від ``self " +"% other`` тим, що знак залишку вибрано таким чином, щоб мінімізувати його " +"абсолютне значення. Точніше, повертається значення ``self - n * other``, де " +"``n`` є цілим числом, найближчим до точного значення ``self / other``, і " +"якщо два цілі числа однаково близькі, то парне вибрано." + +msgid "If the result is zero then its sign will be the sign of *self*." +msgstr "Якщо результат дорівнює нулю, то його знак буде знаком *self*." + +msgid "" +"Return the result of rotating the digits of the first operand by an amount " +"specified by the second operand. The second operand must be an integer in " +"the range -precision through precision. The absolute value of the second " +"operand gives the number of places to rotate. If the second operand is " +"positive then rotation is to the left; otherwise rotation is to the right. " +"The coefficient of the first operand is padded on the left with zeros to " +"length precision if necessary. The sign and exponent of the first operand " +"are unchanged." +msgstr "" +"Повертає результат повороту цифр першого операнда на величину, визначену " +"другим операндом. Другий операнд має бути цілим числом у діапазоні від " +"точності до точності. Абсолютне значення другого операнда дає кількість " +"місць для обертання. Якщо другий операнд додатний, то обертання відбувається " +"вліво; інакше обертання праворуч. Коефіцієнт першого операнда доповнюється " +"зліва нулями з точністю до довжини, якщо необхідно. Знак і експонента " +"першого операнда не змінюються." + +msgid "" +"Test whether self and other have the same exponent or whether both are :" +"const:`NaN`." +msgstr "" +"Перевірте, чи self та other мають однаковий показник чи обидва є :const:" +"`NaN`." + +msgid "" +"Return the first operand with exponent adjusted by the second. Equivalently, " +"return the first operand multiplied by ``10**other``. The second operand " +"must be an integer." +msgstr "" +"Повертає перший операнд з експонентою, скоригованою другим. Аналогічно " +"повертає перший операнд, помножений на ``10**other``. Другий операнд має " +"бути цілим числом." + +msgid "" +"Return the result of shifting the digits of the first operand by an amount " +"specified by the second operand. The second operand must be an integer in " +"the range -precision through precision. The absolute value of the second " +"operand gives the number of places to shift. If the second operand is " +"positive then the shift is to the left; otherwise the shift is to the " +"right. Digits shifted into the coefficient are zeros. The sign and " +"exponent of the first operand are unchanged." +msgstr "" +"Повертає результат зсуву цифр першого операнда на величину, визначену другим " +"операндом. Другий операнд має бути цілим числом у діапазоні від точності до " +"точності. Абсолютне значення другого операнда дає кількість місць для зсуву. " +"Якщо другий операнд позитивний, то зсув виконується вліво; інакше зсув " +"відбувається вправо. Цифри, зсунуті в коефіцієнт, є нулями. Знак і " +"експонента першого операнда не змінюються." + +msgid "Return the square root of the argument to full precision." +msgstr "Повертає квадратний корінь аргументу з повною точністю." + +msgid "" +"Convert to a string, using engineering notation if an exponent is needed." +msgstr "" +"Перетворіть на рядок, використовуючи технічну нотацію, якщо потрібен " +"експонент." + +msgid "" +"Engineering notation has an exponent which is a multiple of 3. This can " +"leave up to 3 digits to the left of the decimal place and may require the " +"addition of either one or two trailing zeros." +msgstr "" +"Інженерна нотація має експоненту, кратну 3. Це може залишати до 3 цифр " +"ліворуч від десяткового знака та може потребувати додавання одного або двох " +"нулів у кінці." + +msgid "" +"For example, this converts ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``." +msgstr "" +"Наприклад, це перетворює ``Decimal('123E+1')`` на ``Decimal('1.23E+3')``." + +msgid "" +"Identical to the :meth:`to_integral_value` method. The ``to_integral`` name " +"has been kept for compatibility with older versions." +msgstr "" +"Ідентичний методу :meth:`to_integral_value`. Ім'я ``to_integral`` було " +"збережено для сумісності зі старими версіями." + +msgid "" +"Round to the nearest integer, signaling :const:`Inexact` or :const:`Rounded` " +"as appropriate if rounding occurs. The rounding mode is determined by the " +"``rounding`` parameter if given, else by the given ``context``. If neither " +"parameter is given then the rounding mode of the current context is used." +msgstr "" +"Округлити до найближчого цілого числа, сигналізуючи :const:`Inexact` або :" +"const:`Rounded` відповідно, якщо відбувається округлення. Режим округлення " +"визначається параметром ``rounding``, якщо він заданий, інакше заданим " +"``context``. Якщо жоден параметр не вказано, використовується режим " +"округлення поточного контексту." + +msgid "" +"Round to the nearest integer without signaling :const:`Inexact` or :const:" +"`Rounded`. If given, applies *rounding*; otherwise, uses the rounding " +"method in either the supplied *context* or the current context." +msgstr "" +"Округлення до найближчого цілого без сигналізації :const:`Inexact` або :" +"const:`Rounded`. Якщо вказано, застосовує *округлення*; інакше використовує " +"метод округлення або в наданому *контексті*, або в поточному контексті." + +msgid "Logical operands" +msgstr "Логічні операнди" + +msgid "" +"The :meth:`logical_and`, :meth:`logical_invert`, :meth:`logical_or`, and :" +"meth:`logical_xor` methods expect their arguments to be *logical operands*. " +"A *logical operand* is a :class:`Decimal` instance whose exponent and sign " +"are both zero, and whose digits are all either :const:`0` or :const:`1`." +msgstr "" +"Методи :meth:`logical_and`, :meth:`logical_invert`, :meth:`logical_or` і :" +"meth:`logical_xor` очікують, що їхні аргументи будуть *логічними " +"операндами*. *Логічний операнд* — це екземпляр :class:`Decimal`, експонента " +"та знак якого дорівнюють нулю, а всі цифри — :const:`0` або :const:`1`." + +msgid "Context objects" +msgstr "Об'єкти контексту" + +msgid "" +"Contexts are environments for arithmetic operations. They govern precision, " +"set rules for rounding, determine which signals are treated as exceptions, " +"and limit the range for exponents." +msgstr "" +"Контексти - це середовища для арифметичних операцій. Вони керують точністю, " +"встановлюють правила округлення, визначають, які сигнали розглядаються як " +"винятки, і обмежують діапазон для експонент." + +msgid "" +"Each thread has its own current context which is accessed or changed using " +"the :func:`getcontext` and :func:`setcontext` functions:" +msgstr "" +"Кожен потік має власний поточний контекст, до якого можна отримати доступ " +"або змінити його за допомогою функцій :func:`getcontext` і :func:" +"`setcontext`:" + +msgid "Return the current context for the active thread." +msgstr "Повертає поточний контекст для активного потоку." + +msgid "Set the current context for the active thread to *c*." +msgstr "Установіть поточний контекст для активного потоку на *c*." + +msgid "" +"You can also use the :keyword:`with` statement and the :func:`localcontext` " +"function to temporarily change the active context." +msgstr "" +"Ви також можете використовувати оператор :keyword:`with` і функцію :func:" +"`localcontext`, щоб тимчасово змінити активний контекст." + +msgid "" +"Return a context manager that will set the current context for the active " +"thread to a copy of *ctx* on entry to the with-statement and restore the " +"previous context when exiting the with-statement. If no context is " +"specified, a copy of the current context is used. The *kwargs* argument is " +"used to set the attributes of the new context." +msgstr "" + +msgid "" +"For example, the following code sets the current decimal precision to 42 " +"places, performs a calculation, and then automatically restores the previous " +"context::" +msgstr "" +"Наприклад, наступний код встановлює поточну десяткову точність на 42 знаки, " +"виконує обчислення, а потім автоматично відновлює попередній контекст::" + +msgid "Using keyword arguments, the code would be the following::" +msgstr "" + +msgid "" +"Raises :exc:`TypeError` if *kwargs* supplies an attribute that :class:" +"`Context` doesn't support. Raises either :exc:`TypeError` or :exc:" +"`ValueError` if *kwargs* supplies an invalid value for an attribute." +msgstr "" + +msgid "" +":meth:`localcontext` now supports setting context attributes through the use " +"of keyword arguments." +msgstr "" + +msgid "" +"New contexts can also be created using the :class:`Context` constructor " +"described below. In addition, the module provides three pre-made contexts:" +msgstr "" +"Нові контексти також можна створити за допомогою конструктора :class:" +"`Context`, описаного нижче. Крім того, модуль надає три готові контексти:" + +msgid "" +"This is a standard context defined by the General Decimal Arithmetic " +"Specification. Precision is set to nine. Rounding is set to :const:" +"`ROUND_HALF_UP`. All flags are cleared. All traps are enabled (treated as " +"exceptions) except :const:`Inexact`, :const:`Rounded`, and :const:" +"`Subnormal`." +msgstr "" +"Це стандартний контекст, визначений Загальною специфікацією десяткової " +"арифметики. Точність встановлена на дев'ять. Округлення встановлено на :" +"const:`ROUND_HALF_UP`. Усі прапори видалено. Усі перехоплення ввімкнено " +"(розглядаються як винятки), крім :const:`Inexact`, :const:`Rounded` і :const:" +"`Subnormal`." + +msgid "" +"Because many of the traps are enabled, this context is useful for debugging." +msgstr "" +"Оскільки багато пасток увімкнено, цей контекст корисний для налагодження." + +msgid "" +"This is a standard context defined by the General Decimal Arithmetic " +"Specification. Precision is set to nine. Rounding is set to :const:" +"`ROUND_HALF_EVEN`. All flags are cleared. No traps are enabled (so that " +"exceptions are not raised during computations)." +msgstr "" +"Це стандартний контекст, визначений Загальною специфікацією десяткової " +"арифметики. Точність встановлена на дев'ять. Округлення встановлено на :" +"const:`ROUND_HALF_EVEN`. Усі прапори видалено. Перехоплення не ввімкнено " +"(щоб винятки не виникали під час обчислень)." + +msgid "" +"Because the traps are disabled, this context is useful for applications that " +"prefer to have result value of :const:`NaN` or :const:`Infinity` instead of " +"raising exceptions. This allows an application to complete a run in the " +"presence of conditions that would otherwise halt the program." +msgstr "" +"Оскільки перехоплення вимкнено, цей контекст корисний для програм, які " +"віддають перевагу отриманню значення результату :const:`NaN` або :const:" +"`Infinity` замість виклику винятків. Це дозволяє програмі завершити " +"виконання за наявності умов, які в іншому випадку зупинили б програму." + +msgid "" +"This context is used by the :class:`Context` constructor as a prototype for " +"new contexts. Changing a field (such a precision) has the effect of " +"changing the default for new contexts created by the :class:`Context` " +"constructor." +msgstr "" +"Цей контекст використовується конструктором :class:`Context` як прототип для " +"нових контекстів. Зміна поля (така точність) призводить до зміни типового " +"значення для нових контекстів, створених конструктором :class:`Context`." + +msgid "" +"This context is most useful in multi-threaded environments. Changing one of " +"the fields before threads are started has the effect of setting system-wide " +"defaults. Changing the fields after threads have started is not recommended " +"as it would require thread synchronization to prevent race conditions." +msgstr "" +"Цей контекст найбільш корисний у багатопоточних середовищах. Зміна одного з " +"полів перед запуском потоків призводить до встановлення загальносистемних " +"значень за замовчуванням. Змінювати поля після початку потоків не " +"рекомендується, оскільки це потребуватиме синхронізації потоків, щоб " +"запобігти конкуренції." + +msgid "" +"In single threaded environments, it is preferable to not use this context at " +"all. Instead, simply create contexts explicitly as described below." +msgstr "" +"В однопотокових середовищах краще взагалі не використовувати цей контекст. " +"Натомість просто створіть контексти явно, як описано нижче." + +msgid "" +"The default values are :attr:`prec`\\ =\\ :const:`28`, :attr:`rounding`\\ =" +"\\ :const:`ROUND_HALF_EVEN`, and enabled traps for :class:`Overflow`, :class:" +"`InvalidOperation`, and :class:`DivisionByZero`." +msgstr "" +"Значення за замовчуванням: :attr:`prec`\\ =\\ :const:`28`, :attr:`rounding`" +"\\ =\\ :const:`ROUND_HALF_EVEN`, і ввімкнені пастки для :class:`Overflow`, :" +"class:`InvalidOperation` і :class:`DivisionByZero`." + +msgid "" +"In addition to the three supplied contexts, new contexts can be created with " +"the :class:`Context` constructor." +msgstr "" +"На додаток до трьох наданих контекстів, нові контексти можна створювати за " +"допомогою конструктора :class:`Context`." + +msgid "" +"Creates a new context. If a field is not specified or is :const:`None`, the " +"default values are copied from the :const:`DefaultContext`. If the *flags* " +"field is not specified or is :const:`None`, all flags are cleared." +msgstr "" +"Створює новий контекст. Якщо поле не вказано або має значення :const:`None`, " +"значення за замовчуванням копіюються з :const:`DefaultContext`. Якщо поле " +"*flags* не вказано або має значення :const:`None`, усі прапорці скидаються." + +msgid "" +"*prec* is an integer in the range [:const:`1`, :const:`MAX_PREC`] that sets " +"the precision for arithmetic operations in the context." +msgstr "" +"*prec* — це ціле число в діапазоні [:const:`1`, :const:`MAX_PREC`], яке " +"встановлює точність для арифметичних операцій у контексті." + +msgid "" +"The *rounding* option is one of the constants listed in the section " +"`Rounding Modes`_." +msgstr "" +"Опція *округлення* є однією з констант, перелічених у розділі `Режими " +"округлення`_." + +msgid "" +"The *traps* and *flags* fields list any signals to be set. Generally, new " +"contexts should only set traps and leave the flags clear." +msgstr "" +"У полях *traps* і *flags* перелічено всі сигнали, які потрібно встановити. " +"Загалом, нові контексти мають лише встановлювати пастки та залишати прапорці " +"вільними." + +msgid "" +"The *Emin* and *Emax* fields are integers specifying the outer limits " +"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, :" +"const:`0`], *Emax* in the range [:const:`0`, :const:`MAX_EMAX`]." +msgstr "" +"Поля *Emin* і *Emax* є цілими числами, що вказують зовнішні межі, допустимі " +"для експонент. *Emin* має бути в діапазоні [:const:`MIN_EMIN`, :const:`0`], " +"*Emax* в діапазоні [:const:`0`, :const:`MAX_EMAX`]." + +msgid "" +"The *capitals* field is either :const:`0` or :const:`1` (the default). If " +"set to :const:`1`, exponents are printed with a capital :const:`E`; " +"otherwise, a lowercase :const:`e` is used: :const:`Decimal('6.02e+23')`." +msgstr "" +"Поле *capitals* має значення :const:`0` або :const:`1` (за замовчуванням). " +"Якщо встановлено значення :const:`1`, показники степеня друкуються з великої " +"літери :const:`E`; інакше :const:`e` використовується в нижньому регістрі: :" +"const:`Decimal('6.02e+23')`." + +msgid "" +"The *clamp* field is either :const:`0` (the default) or :const:`1`. If set " +"to :const:`1`, the exponent ``e`` of a :class:`Decimal` instance " +"representable in this context is strictly limited to the range ``Emin - prec " +"+ 1 <= e <= Emax - prec + 1``. If *clamp* is :const:`0` then a weaker " +"condition holds: the adjusted exponent of the :class:`Decimal` instance is " +"at most ``Emax``. When *clamp* is :const:`1`, a large normal number will, " +"where possible, have its exponent reduced and a corresponding number of " +"zeros added to its coefficient, in order to fit the exponent constraints; " +"this preserves the value of the number but loses information about " +"significant trailing zeros. For example::" +msgstr "" +"Поле *clamp* має значення :const:`0` (за замовчуванням) або :const:`1`. Якщо " +"встановлено значення :const:`1`, експонента ``e`` екземпляра :class:" +"`Decimal`, який можна представити в цьому контексті, суворо обмежена " +"діапазоном ``Emin - prec + 1 <= e <= Emax - prec + 1``. Якщо *clamp* " +"дорівнює :const:`0`, тоді виконується слабша умова: скоригований експонент " +"екземпляра :class:`Decimal` не перевищує ``Emax``. Коли *clamp* дорівнює :" +"const:`1`, експонента великого нормального числа буде, де це можливо, " +"зменшена, а до його коефіцієнта додано відповідну кількість нулів, щоб " +"відповідати обмеженням експоненти; це зберігає значення числа, але втрачає " +"інформацію про значні кінцеві нулі. Наприклад::" + +msgid "" +"A *clamp* value of :const:`1` allows compatibility with the fixed-width " +"decimal interchange formats specified in IEEE 754." +msgstr "" +"Значення *clamp* :const:`1` забезпечує сумісність із десятковими форматами " +"обміну фіксованою шириною, визначеними в IEEE 754." + +msgid "" +"The :class:`Context` class defines several general purpose methods as well " +"as a large number of methods for doing arithmetic directly in a given " +"context. In addition, for each of the :class:`Decimal` methods described " +"above (with the exception of the :meth:`adjusted` and :meth:`as_tuple` " +"methods) there is a corresponding :class:`Context` method. For example, for " +"a :class:`Context` instance ``C`` and :class:`Decimal` instance ``x``, ``C." +"exp(x)`` is equivalent to ``x.exp(context=C)``. Each :class:`Context` " +"method accepts a Python integer (an instance of :class:`int`) anywhere that " +"a Decimal instance is accepted." +msgstr "" +"Клас :class:`Context` визначає кілька методів загального призначення, а " +"також велику кількість методів для виконання арифметики безпосередньо в " +"заданому контексті. Крім того, для кожного з описаних вище методів :class:" +"`Decimal` (за винятком методів :meth:`adjusted` і :meth:`as_tuple`) існує " +"відповідний метод :class:`Context`. Наприклад, для екземпляра :class:" +"`Context` ``C`` і :class:`Decimal` примірника ``x``, ``C.exp(x)`` " +"еквівалентний ``x.exp( context=C)``. Кожен метод :class:`Context` приймає " +"ціле число Python (екземпляр :class:`int`) будь-де, де приймається примірник " +"Decimal." + +msgid "Resets all of the flags to :const:`0`." +msgstr "Скидає всі прапорці на :const:`0`." + +msgid "Resets all of the traps to :const:`0`." +msgstr "Скидає всі пастки до :const:`0`." + +msgid "Return a duplicate of the context." +msgstr "Повернути дублікат контексту." + +msgid "Return a copy of the Decimal instance num." +msgstr "Повернути копію екземпляра Decimal num." + +msgid "" +"Creates a new Decimal instance from *num* but using *self* as context. " +"Unlike the :class:`Decimal` constructor, the context precision, rounding " +"method, flags, and traps are applied to the conversion." +msgstr "" +"Створює новий екземпляр Decimal з *num*, але використовуючи *self* як " +"контекст. На відміну від конструктора :class:`Decimal`, до перетворення " +"застосовуються точність контексту, метод округлення, прапорці та " +"перехоплення." + +msgid "" +"This is useful because constants are often given to a greater precision than " +"is needed by the application. Another benefit is that rounding immediately " +"eliminates unintended effects from digits beyond the current precision. In " +"the following example, using unrounded inputs means that adding zero to a " +"sum can change the result:" +msgstr "" +"Це корисно, оскільки константи часто надаються з більшою точністю, ніж це " +"потрібно програмі. Ще одна перевага полягає в тому, що округлення негайно " +"усуває ненавмисні ефекти від цифр, що перевищують поточну точність. У " +"наступному прикладі використання неокруглених вхідних даних означає, що " +"додавання нуля до суми може змінити результат:" + +msgid "" +"This method implements the to-number operation of the IBM specification. If " +"the argument is a string, no leading or trailing whitespace or underscores " +"are permitted." +msgstr "" +"Цей метод реалізує операцію до числа специфікації IBM. Якщо аргумент є " +"рядком, пробіли чи підкреслення на початку або в кінці не допускаються." + +msgid "" +"Creates a new Decimal instance from a float *f* but rounding using *self* as " +"the context. Unlike the :meth:`Decimal.from_float` class method, the " +"context precision, rounding method, flags, and traps are applied to the " +"conversion." +msgstr "" +"Створює новий екземпляр Decimal із числа з плаваючою точкою *f*, але " +"округляючи, використовуючи *self* як контекст. На відміну від методу класу :" +"meth:`Decimal.from_float`, до перетворення застосовуються точність " +"контексту, метод округлення, прапорці та перехоплення." + +msgid "" +"Returns a value equal to ``Emin - prec + 1`` which is the minimum exponent " +"value for subnormal results. When underflow occurs, the exponent is set to :" +"const:`Etiny`." +msgstr "" +"Повертає значення, що дорівнює ``Emin - prec + 1``, що є мінімальним " +"значенням експоненти для субнормальних результатів. Коли відбувається " +"переповнення, експонента встановлюється на :const:`Etiny`." + +msgid "Returns a value equal to ``Emax - prec + 1``." +msgstr "Повертає значення, рівне ``Emax - prec + 1``." + +msgid "" +"The usual approach to working with decimals is to create :class:`Decimal` " +"instances and then apply arithmetic operations which take place within the " +"current context for the active thread. An alternative approach is to use " +"context methods for calculating within a specific context. The methods are " +"similar to those for the :class:`Decimal` class and are only briefly " +"recounted here." +msgstr "" +"Звичайним підходом до роботи з десятковими числами є створення :class:" +"`Decimal` екземплярів, а потім застосування арифметичних операцій, які " +"виконуються в поточному контексті для активного потоку. Альтернативним " +"підходом є використання контекстних методів для обчислення в конкретному " +"контексті. Методи подібні до методів класу :class:`Decimal` і тут лише " +"коротко перераховані." + +msgid "Returns the absolute value of *x*." +msgstr "Повертає абсолютне значення *x*." + +msgid "Return the sum of *x* and *y*." +msgstr "Повертає суму *x* і *y*." + +msgid "Returns the same Decimal object *x*." +msgstr "Повертає той самий об’єкт Decimal *x*." + +msgid "Compares *x* and *y* numerically." +msgstr "Чисельно порівнює *x* і *y*." + +msgid "Compares the values of the two operands numerically." +msgstr "Чисельно порівнює значення двох операндів." + +msgid "Compares two operands using their abstract representation." +msgstr "Порівнює два операнди, використовуючи їх абстрактне представлення." + +msgid "" +"Compares two operands using their abstract representation, ignoring sign." +msgstr "" +"Порівнює два операнди, використовуючи їх абстрактне представлення, ігноруючи " +"знак." + +msgid "Returns a copy of *x* with the sign set to 0." +msgstr "Повертає копію *x* зі знаком 0." + +msgid "Returns a copy of *x* with the sign inverted." +msgstr "Повертає копію *x* з перевернутим знаком." + +msgid "Copies the sign from *y* to *x*." +msgstr "Копіює знак з *y* на *x*." + +msgid "Return *x* divided by *y*." +msgstr "Повертає *x*, поділене на *y*." + +msgid "Return *x* divided by *y*, truncated to an integer." +msgstr "Повертає *x*, поділене на *y*, усічене до цілого числа." + +msgid "Divides two numbers and returns the integer part of the result." +msgstr "Ділить два числа та повертає цілу частину результату." + +msgid "Returns ``e ** x``." +msgstr "" + +msgid "Returns *x* multiplied by *y*, plus *z*." +msgstr "Повертає *x*, помножене на *y*, плюс *z*." + +msgid "Returns ``True`` if *x* is canonical; otherwise returns ``False``." +msgstr "Повертає ``True``, якщо *x* канонічний; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is finite; otherwise returns ``False``." +msgstr "Повертає ``True``, якщо *x* є кінцевим; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is infinite; otherwise returns ``False``." +msgstr "Повертає ``True``, якщо *x* є нескінченним; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``." +msgstr "" +"Повертає ``True``, якщо *x* є qNaN або sNaN; інакше повертає ``False``." + +msgid "" +"Returns ``True`` if *x* is a normal number; otherwise returns ``False``." +msgstr "" +"Повертає ``True``, якщо *x* є нормальним числом; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``." +msgstr "Повертає ``True``, якщо *x* є тихим NaN; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``." +msgstr "Повертає ``True``, якщо *x* від'ємне; інакше повертає ``False``." + +msgid "" +"Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``." +msgstr "" +"Повертає ``True``, якщо *x* є сигнальним NaN; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``." +msgstr "" +"Повертає ``True``, якщо *x* є субнормальним; інакше повертає ``False``." + +msgid "Returns ``True`` if *x* is a zero; otherwise returns ``False``." +msgstr "Повертає ``True``, якщо *x* дорівнює нулю; інакше повертає ``False``." + +msgid "Returns the natural (base e) logarithm of *x*." +msgstr "Повертає натуральний (за основою e) логарифм *x*." + +msgid "Returns the base 10 logarithm of *x*." +msgstr "Повертає логарифм *x* за основою 10." + +msgid "Returns the exponent of the magnitude of the operand's MSD." +msgstr "Повертає експоненту величини MSD операнда." + +msgid "Applies the logical operation *and* between each operand's digits." +msgstr "Застосовує логічну операцію *і* між цифрами кожного операнда." + +msgid "Invert all the digits in *x*." +msgstr "Інвертуйте всі цифри в *x*." + +msgid "Applies the logical operation *or* between each operand's digits." +msgstr "Застосовує логічну операцію *або* між цифрами кожного операнда." + +msgid "Applies the logical operation *xor* between each operand's digits." +msgstr "Застосовує логічну операцію *xor* між цифрами кожного операнда." + +msgid "Compares two values numerically and returns the maximum." +msgstr "Чисельно порівнює два значення та повертає максимальне значення." + +msgid "Compares the values numerically with their sign ignored." +msgstr "Числово порівнює значення без урахування знака." + +msgid "Compares two values numerically and returns the minimum." +msgstr "Чисельно порівнює два значення та повертає мінімум." + +msgid "Minus corresponds to the unary prefix minus operator in Python." +msgstr "Мінус відповідає унарному префіксному оператору мінус у Python." + +msgid "Return the product of *x* and *y*." +msgstr "Поверніть добуток *x* і *y*." + +msgid "Returns the largest representable number smaller than *x*." +msgstr "Повертає найбільше представлене число, менше за *x*." + +msgid "Returns the smallest representable number larger than *x*." +msgstr "Повертає найменше число, яке можна представити, більше за *x*." + +msgid "Returns the number closest to *x*, in direction towards *y*." +msgstr "Повертає число, найближче до *x*, у напрямку до *y*." + +msgid "Reduces *x* to its simplest form." +msgstr "Зводить *x* до найпростішої форми." + +msgid "Returns an indication of the class of *x*." +msgstr "Повертає вказівник класу *x*." + +msgid "" +"Plus corresponds to the unary prefix plus operator in Python. This " +"operation applies the context precision and rounding, so it is *not* an " +"identity operation." +msgstr "" +"Плюс відповідає унарному префіксу плюс-оператор у Python. Ця операція " +"застосовує точність контексту та округлення, тому це *не* операція " +"ідентифікації." + +msgid "Return ``x`` to the power of ``y``, reduced modulo ``modulo`` if given." +msgstr "" +"Повертає ``x`` до степеня ``y``, зменшеного за модулем ``modulo``, якщо " +"задано." + +msgid "" +"With two arguments, compute ``x**y``. If ``x`` is negative then ``y`` must " +"be integral. The result will be inexact unless ``y`` is integral and the " +"result is finite and can be expressed exactly in 'precision' digits. The " +"rounding mode of the context is used. Results are always correctly rounded " +"in the Python version." +msgstr "" + +msgid "" +"``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if " +"``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``." +msgstr "" +"``Decimal(0) ** Decimal(0)`` призводить до ``InvalidOperation``, і якщо " +"``InvalidOperation`` не перехоплюється, то призводить до ``Decimal('NaN')``." + +msgid "" +"The C module computes :meth:`power` in terms of the correctly rounded :meth:" +"`exp` and :meth:`ln` functions. The result is well-defined but only \"almost " +"always correctly rounded\"." +msgstr "" + +msgid "" +"With three arguments, compute ``(x**y) % modulo``. For the three argument " +"form, the following restrictions on the arguments hold:" +msgstr "" +"З трьома аргументами обчисліть ``(x**y) % по модулю``. Для форми з трьома " +"аргументами діють такі обмеження на аргументи:" + +msgid "all three arguments must be integral" +msgstr "всі три аргументи повинні бути цілими" + +msgid "``y`` must be nonnegative" +msgstr "\"y\" має бути невід'ємним" + +msgid "at least one of ``x`` or ``y`` must be nonzero" +msgstr "принаймні один із ``x`` або ``y`` має бути ненульовим" + +msgid "``modulo`` must be nonzero and have at most 'precision' digits" +msgstr "``modulo`` має бути ненульовим і мати щонайбільше цифр \"точності\"." + +msgid "" +"The value resulting from ``Context.power(x, y, modulo)`` is equal to the " +"value that would be obtained by computing ``(x**y) % modulo`` with unbounded " +"precision, but is computed more efficiently. The exponent of the result is " +"zero, regardless of the exponents of ``x``, ``y`` and ``modulo``. The " +"result is always exact." +msgstr "" +"Значення, отримане за допомогою ``Context.power(x, y, modulo)``, дорівнює " +"значенню, яке було б отримано шляхом обчислення ``(x**y) % по модулю`` з " +"необмеженою точністю, але обчислюється ефективніше . Показник ступеня " +"результату дорівнює нулю, незалежно від показників ``x``, ``y`` і " +"``modulo``. Результат завжди точний." + +msgid "Returns a value equal to *x* (rounded), having the exponent of *y*." +msgstr "Повертає значення, яке дорівнює *x* (округлене), має експоненту *y*." + +msgid "Just returns 10, as this is Decimal, :)" +msgstr "Просто повертає 10, оскільки це десяткове значення :)" + +msgid "Returns the remainder from integer division." +msgstr "Повертає залишок від цілочисельного ділення." + +msgid "" +"The sign of the result, if non-zero, is the same as that of the original " +"dividend." +msgstr "" +"Знак результату, якщо він відмінний від нуля, такий самий, як у вихідного " +"дивіденда." + +msgid "" +"Returns ``x - y * n``, where *n* is the integer nearest the exact value of " +"``x / y`` (if the result is 0 then its sign will be the sign of *x*)." +msgstr "" +"Повертає ``x - y * n``, де *n* — це ціле число, найближче до точного " +"значення ``x / y`` (якщо результат дорівнює 0, то його знаком буде знак *x*)." + +msgid "Returns a rotated copy of *x*, *y* times." +msgstr "Повертає повернуту копію *x*, *y* разів." + +msgid "Returns ``True`` if the two operands have the same exponent." +msgstr "Повертає ``True``, якщо два операнди мають однаковий експонент." + +msgid "Returns the first operand after adding the second value its exp." +msgstr "Повертає перший операнд після додавання другого значення його виразу." + +msgid "Returns a shifted copy of *x*, *y* times." +msgstr "Повертає зміщену копію *x*, *y* разів." + +msgid "Square root of a non-negative number to context precision." +msgstr "Квадратний корінь із невід’ємного числа до точності контексту." + +msgid "Return the difference between *x* and *y*." +msgstr "Повертає різницю між *x* і *y*." + +msgid "Rounds to an integer." +msgstr "Округлює до цілого числа." + +msgid "Converts a number to a string using scientific notation." +msgstr "Перетворює число на рядок, використовуючи наукову нотацію." + +msgid "Constants" +msgstr "Константи" + +msgid "" +"The constants in this section are only relevant for the C module. They are " +"also included in the pure Python version for compatibility." +msgstr "" +"Константи в цьому розділі актуальні лише для модуля C. Вони також включені в " +"чисту версію Python для сумісності." + +msgid "32-bit" +msgstr "32-розрядний" + +msgid "64-bit" +msgstr "64-розрядний" + +msgid ":const:`425000000`" +msgstr ":const:`425000000`" + +msgid ":const:`999999999999999999`" +msgstr ":const:`999999999999999999`" + +msgid ":const:`-425000000`" +msgstr ":const:`-425000000`" + +msgid ":const:`-999999999999999999`" +msgstr ":const:`-999999999999999999`" + +msgid ":const:`-849999999`" +msgstr ":const:`-849999999`" + +msgid ":const:`-1999999999999999997`" +msgstr ":const:`-1999999999999999997`" + +msgid "" +"The value is ``True``. Deprecated, because Python now always has threads." +msgstr "" +"Значенням є ``True``. Застаріло, оскільки Python тепер завжди має потоки." + +msgid "" +"The default value is ``True``. If Python is :option:`configured using the --" +"without-decimal-contextvar option <--without-decimal-contextvar>`, the C " +"version uses a thread-local rather than a coroutine-local context and the " +"value is ``False``. This is slightly faster in some nested context " +"scenarios." +msgstr "" +"Значення за замовчуванням – ``True``. Якщо Python :option:`налаштовано за " +"допомогою параметра --without-decimal-contextvar <--without-decimal-" +"contextvar>`, версія C використовує локальний контекст потоку, а не " +"локальний контекст співпрограми, а значенням є ``False``. Це трохи швидше в " +"деяких сценаріях вкладеного контексту." + +msgid "backported to 3.7 and 3.8." +msgstr "перенесено на версії 3.7 і 3.8." + +msgid "Rounding modes" +msgstr "Режими округлення" + +msgid "Round towards :const:`Infinity`." +msgstr "Округлення в напрямку :const:`Infinity`." + +msgid "Round towards zero." +msgstr "Округлити в бік нуля." + +msgid "Round towards :const:`-Infinity`." +msgstr "Округлення в напрямку :const:`-Infinity`." + +msgid "Round to nearest with ties going towards zero." +msgstr "Округліть до найближчого із рівністю до нуля." + +msgid "Round to nearest with ties going to nearest even integer." +msgstr "" +"Округліть до найближчого зі зв’язками до найближчого парного цілого числа." + +msgid "Round to nearest with ties going away from zero." +msgstr "Округліть до найближчого із рівнем від нуля." + +msgid "Round away from zero." +msgstr "Округлити від нуля." + +msgid "" +"Round away from zero if last digit after rounding towards zero would have " +"been 0 or 5; otherwise round towards zero." +msgstr "" +"Округлити від нуля, якщо остання цифра після округлення до нуля була б 0 або " +"5; інакше округліть до нуля." + +msgid "Signals" +msgstr "Сигнали" + +msgid "" +"Signals represent conditions that arise during computation. Each corresponds " +"to one context flag and one context trap enabler." +msgstr "" +"Сигнали представляють умови, які виникають під час обчислення. Кожен " +"відповідає одному прапорцю контексту та одному активатору перехоплення " +"контексту." + +msgid "" +"The context flag is set whenever the condition is encountered. After the " +"computation, flags may be checked for informational purposes (for instance, " +"to determine whether a computation was exact). After checking the flags, be " +"sure to clear all flags before starting the next computation." +msgstr "" +"Прапор контексту встановлюється щоразу, коли зустрічається умова. Після " +"обчислення прапорці можуть бути перевірені в інформаційних цілях (наприклад, " +"щоб визначити, чи було обчислення точним). Після перевірки прапорів " +"обов’язково видаліть усі прапорці перед початком наступного обчислення." + +msgid "" +"If the context's trap enabler is set for the signal, then the condition " +"causes a Python exception to be raised. For example, if the :class:" +"`DivisionByZero` trap is set, then a :exc:`DivisionByZero` exception is " +"raised upon encountering the condition." +msgstr "" +"Якщо для сигналу встановлено активатор перехоплення контексту, тоді умова " +"викликає виняток Python. Наприклад, якщо встановлено перехоплення :class:" +"`DivisionByZero`, тоді виникає виняткова ситуація :exc:`DivisionByZero`, " +"коли зустрічається умова." + +msgid "Altered an exponent to fit representation constraints." +msgstr "Змінено експоненту, щоб відповідати обмеженням представлення." + +msgid "" +"Typically, clamping occurs when an exponent falls outside the context's :" +"attr:`Emin` and :attr:`Emax` limits. If possible, the exponent is reduced " +"to fit by adding zeros to the coefficient." +msgstr "" +"Як правило, обмеження відбувається, коли експонента виходить за межі " +"контексту :attr:`Emin` і :attr:`Emax`. Якщо можливо, експонента скорочується " +"до відповідності шляхом додавання нулів до коефіцієнта." + +msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`." +msgstr "Базовий клас для інших сигналів і підклас :exc:`ArithmeticError`." + +msgid "Signals the division of a non-infinite number by zero." +msgstr "Сигналізує про ділення нескінченного числа на нуль." + +msgid "" +"Can occur with division, modulo division, or when raising a number to a " +"negative power. If this signal is not trapped, returns :const:`Infinity` " +"or :const:`-Infinity` with the sign determined by the inputs to the " +"calculation." +msgstr "" +"Може виникнути при діленні, діленні за модулем або під час піднесення числа " +"до від’ємного степеня. Якщо цей сигнал не перехоплюється, повертає :const:" +"`Infinity` або :const:`-Infinity` зі знаком, визначеним вхідними даними " +"обчислення." + +msgid "Indicates that rounding occurred and the result is not exact." +msgstr "Вказує на те, що відбулося округлення і результат неточний." + +msgid "" +"Signals when non-zero digits were discarded during rounding. The rounded " +"result is returned. The signal flag or trap is used to detect when results " +"are inexact." +msgstr "" +"Сигнали, коли під час округлення були відкинуті ненульові цифри. " +"Повертається округлений результат. Сигнальний прапор або пастка " +"використовується для виявлення неточних результатів." + +msgid "An invalid operation was performed." +msgstr "Виконано недійсну операцію." + +msgid "" +"Indicates that an operation was requested that does not make sense. If not " +"trapped, returns :const:`NaN`. Possible causes include::" +msgstr "" +"Вказує на те, що запитувалась операція, яка не має сенсу. Якщо не " +"перехоплено, повертає :const:`NaN`. Можливі причини:" + +msgid "Numerical overflow." +msgstr "Числове переповнення." + +msgid "" +"Indicates the exponent is larger than :attr:`Emax` after rounding has " +"occurred. If not trapped, the result depends on the rounding mode, either " +"pulling inward to the largest representable finite number or rounding " +"outward to :const:`Infinity`. In either case, :class:`Inexact` and :class:" +"`Rounded` are also signaled." +msgstr "" +"Указує, що експонента більша за :attr:`Emax` після округлення. Якщо не " +"зафіксовано, результат залежить від режиму округлення, або тягнучи всередину " +"до найбільшого кінцевого числа, яке можна представити, або округляючи " +"назовні до :const:`Infinity`. У будь-якому випадку також сигналізується :" +"class:`Inexact` і :class:`Rounded`." + +msgid "Rounding occurred though possibly no information was lost." +msgstr "" +"Відбулося округлення, хоча, можливо, жодної інформації не було втрачено." + +msgid "" +"Signaled whenever rounding discards digits; even if those digits are zero " +"(such as rounding :const:`5.00` to :const:`5.0`). If not trapped, returns " +"the result unchanged. This signal is used to detect loss of significant " +"digits." +msgstr "" +"Сигналізується щоразу, коли округлення відкидає цифри; навіть якщо ці цифри " +"дорівнюють нулю (наприклад, округлення :const:`5.00` до :const:`5.0`). Якщо " +"не перехоплено, повертає результат без змін. Цей сигнал використовується для " +"виявлення втрати значущих цифр." + +msgid "Exponent was lower than :attr:`Emin` prior to rounding." +msgstr "Експонента була нижчою за :attr:`Emin` до округлення." + +msgid "" +"Occurs when an operation result is subnormal (the exponent is too small). If " +"not trapped, returns the result unchanged." +msgstr "" +"Виникає, коли результат операції є ненормальним (експонента занадто мала). " +"Якщо не перехоплено, повертає результат без змін." + +msgid "Numerical underflow with result rounded to zero." +msgstr "Числове недоповнення з результатом, округленим до нуля." + +msgid "" +"Occurs when a subnormal result is pushed to zero by rounding. :class:" +"`Inexact` and :class:`Subnormal` are also signaled." +msgstr "" +"Виникає, коли субнормальний результат обнулюється шляхом округлення. :class:" +"`Inexact` і :class:`Subnormal` також сигналізуються." + +msgid "Enable stricter semantics for mixing floats and Decimals." +msgstr "" +"Увімкніть суворішу семантику для змішування чисел із плаваючою точкою та " +"десяткових знаків." + +msgid "" +"If the signal is not trapped (default), mixing floats and Decimals is " +"permitted in the :class:`~decimal.Decimal` constructor, :meth:`~decimal." +"Context.create_decimal` and all comparison operators. Both conversion and " +"comparisons are exact. Any occurrence of a mixed operation is silently " +"recorded by setting :exc:`FloatOperation` in the context flags. Explicit " +"conversions with :meth:`~decimal.Decimal.from_float` or :meth:`~decimal." +"Context.create_decimal_from_float` do not set the flag." +msgstr "" +"Якщо сигнал не перехоплюється (за замовчуванням), змішування чисел із " +"плаваючою точкою та десяткових знаків дозволено в конструкторі :class:" +"`~decimal.Decimal`, :meth:`~decimal.Context.create_decimal` та в усіх " +"операторах порівняння. І перетворення, і порівняння точні. Будь-який випадок " +"змішаної операції автоматично записується шляхом встановлення :exc:" +"`FloatOperation` у прапорцях контексту. Явні перетворення за допомогою :meth:" +"`~decimal.Decimal.from_float` або :meth:`~decimal.Context." +"create_decimal_from_float` не встановлюють прапор." + +msgid "" +"Otherwise (the signal is trapped), only equality comparisons and explicit " +"conversions are silent. All other mixed operations raise :exc:" +"`FloatOperation`." +msgstr "" +"В іншому випадку (сигнал перехоплюється), лише порівняння рівності та явні " +"перетворення мовчать. Усі інші змішані операції викликають :exc:" +"`FloatOperation`." + +msgid "The following table summarizes the hierarchy of signals::" +msgstr "У наступній таблиці підсумовано ієрархію сигналів:" + +msgid "Floating Point Notes" +msgstr "Примітки з плаваючою комою" + +msgid "Mitigating round-off error with increased precision" +msgstr "Зменшення помилки округлення з підвищеною точністю" + +msgid "" +"The use of decimal floating point eliminates decimal representation error " +"(making it possible to represent :const:`0.1` exactly); however, some " +"operations can still incur round-off error when non-zero digits exceed the " +"fixed precision." +msgstr "" +"Використання десяткової коми з плаваючою комою усуває помилку десяткового " +"представлення (дозволяє точно представити :const:`0.1`); проте, деякі " +"операції все ще можуть викликати помилку округлення, коли ненульові цифри " +"перевищують фіксовану точність." + +msgid "" +"The effects of round-off error can be amplified by the addition or " +"subtraction of nearly offsetting quantities resulting in loss of " +"significance. Knuth provides two instructive examples where rounded " +"floating point arithmetic with insufficient precision causes the breakdown " +"of the associative and distributive properties of addition:" +msgstr "" +"Вплив помилки округлення може посилюватися шляхом додавання або віднімання " +"величин, які майже зміщуються, що призводить до втрати значущості. Кнут " +"наводить два повчальних приклади, коли округлена арифметика з плаваючою " +"комою з недостатньою точністю спричиняє порушення асоціативних і " +"розподільних властивостей додавання:" + +msgid "" +"The :mod:`decimal` module makes it possible to restore the identities by " +"expanding the precision sufficiently to avoid loss of significance:" +msgstr "" +"Модуль :mod:`decimal` дає змогу відновити ідентифікаційні дані, збільшивши " +"точність настільки, щоб уникнути втрати значущості:" + +msgid "Special values" +msgstr "Особливі цінності" + +msgid "" +"The number system for the :mod:`decimal` module provides special values " +"including :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:" +"`Infinity`, and two zeros, :const:`+0` and :const:`-0`." +msgstr "" +"Система числення для модуля :mod:`decimal` надає спеціальні значення, " +"включаючи :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:`Infinity` " +"та два нулі, :const:`+0` і :const:`-0`." + +msgid "" +"Infinities can be constructed directly with: ``Decimal('Infinity')``. Also, " +"they can arise from dividing by zero when the :exc:`DivisionByZero` signal " +"is not trapped. Likewise, when the :exc:`Overflow` signal is not trapped, " +"infinity can result from rounding beyond the limits of the largest " +"representable number." +msgstr "" +"Нескінченності можна побудувати безпосередньо за допомогою: " +"``Decimal('Infinity')``. Крім того, вони можуть виникнути через ділення на " +"нуль, коли сигнал :exc:`DivisionByZero` не перехоплюється. Подібним чином, " +"коли сигнал :exc:`Overflow` не перехоплюється, нескінченність може бути " +"результатом округлення за межі найбільшого представленого числа." + +msgid "" +"The infinities are signed (affine) and can be used in arithmetic operations " +"where they get treated as very large, indeterminate numbers. For instance, " +"adding a constant to infinity gives another infinite result." +msgstr "" +"Нескінченності мають знак (афінні) і можуть використовуватися в арифметичних " +"операціях, де вони розглядаються як дуже великі невизначені числа. " +"Наприклад, додавання константи до нескінченності дає інший нескінченний " +"результат." + +msgid "" +"Some operations are indeterminate and return :const:`NaN`, or if the :exc:" +"`InvalidOperation` signal is trapped, raise an exception. For example, " +"``0/0`` returns :const:`NaN` which means \"not a number\". This variety of :" +"const:`NaN` is quiet and, once created, will flow through other computations " +"always resulting in another :const:`NaN`. This behavior can be useful for a " +"series of computations that occasionally have missing inputs --- it allows " +"the calculation to proceed while flagging specific results as invalid." +msgstr "" +"Деякі операції є невизначеними та повертають :const:`NaN` або, якщо сигнал :" +"exc:`InvalidOperation` перехоплюється, викликають виняток. Наприклад, " +"``0/0`` повертає :const:`NaN`, що означає \"не число\". Цей різновид :const:" +"`NaN` є тихим і, створений, проходитиме через інші обчислення, що завжди " +"призводить до іншого :const:`NaN`. Така поведінка може бути корисною для " +"серії обчислень, у яких час від часу відсутні вхідні дані --- вона дозволяє " +"продовжувати обчислення, позначаючи певні результати як недійсні." + +msgid "" +"A variant is :const:`sNaN` which signals rather than remaining quiet after " +"every operation. This is a useful return value when an invalid result needs " +"to interrupt a calculation for special handling." +msgstr "" +"Варіантом є :const:`sNaN`, який сигналізує, а не мовчить після кожної " +"операції. Це корисне повертане значення, коли недійсний результат потребує " +"переривання обчислення для спеціальної обробки." + +msgid "" +"The behavior of Python's comparison operators can be a little surprising " +"where a :const:`NaN` is involved. A test for equality where one of the " +"operands is a quiet or signaling :const:`NaN` always returns :const:`False` " +"(even when doing ``Decimal('NaN')==Decimal('NaN')``), while a test for " +"inequality always returns :const:`True`. An attempt to compare two Decimals " +"using any of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise the :" +"exc:`InvalidOperation` signal if either operand is a :const:`NaN`, and " +"return :const:`False` if this signal is not trapped. Note that the General " +"Decimal Arithmetic specification does not specify the behavior of direct " +"comparisons; these rules for comparisons involving a :const:`NaN` were taken " +"from the IEEE 854 standard (see Table 3 in section 5.7). To ensure strict " +"standards-compliance, use the :meth:`compare` and :meth:`compare-signal` " +"methods instead." +msgstr "" +"Поведінка операторів порівняння Python може бути трохи несподіваною, якщо " +"залучено :const:`NaN`. Тест на рівність, коли один із операндів є тихим або " +"сигнальним :const:`NaN` завжди повертає :const:`False` (навіть якщо " +"виконується ``Decimal('NaN')==Decimal('NaN')`` ), а перевірка нерівності " +"завжди повертає :const:`True`. Спроба порівняти два десяткові знаки за " +"допомогою будь-якого з операторів ``<``, ``<=``, ``>`` або ``>=`` викличе " +"сигнал :exc:`InvalidOperation`, якщо будь-який з операндів є :const:`NaN`, і " +"поверне :const:`False`, якщо цей сигнал не перехоплюється. Зауважте, що " +"специфікація General Decimal Arithmetic не визначає поведінку прямих " +"порівнянь; ці правила для порівнянь за участю :const:`NaN` були взяті зі " +"стандарту IEEE 854 (див. Таблицю 3 у розділі 5.7). Щоб забезпечити сувору " +"відповідність стандартам, замість цього використовуйте методи :meth:" +"`compare` і :meth:`compare-signal`." + +msgid "" +"The signed zeros can result from calculations that underflow. They keep the " +"sign that would have resulted if the calculation had been carried out to " +"greater precision. Since their magnitude is zero, both positive and " +"negative zeros are treated as equal and their sign is informational." +msgstr "" +"Нулі зі знаком можуть виникати в результаті обчислень, які занижуються. Вони " +"зберігають знак, який був би отриманий, якби розрахунок проводився з більшою " +"точністю. Оскільки їх величина дорівнює нулю, додатні та від’ємні нулі " +"вважаються рівними, а їх знак є інформаційним." + +msgid "" +"In addition to the two signed zeros which are distinct yet equal, there are " +"various representations of zero with differing precisions yet equivalent in " +"value. This takes a bit of getting used to. For an eye accustomed to " +"normalized floating point representations, it is not immediately obvious " +"that the following calculation returns a value equal to zero:" +msgstr "" +"На додаток до двох нулів зі знаком, які є різними, але однаковими, існують " +"різні представлення нуля з різною точністю, але еквівалентні за значенням. " +"До цього потрібно трохи звикнути. Для ока, яке звикло до нормалізованих " +"представлень із плаваючою комою, не відразу стане очевидним, що наступне " +"обчислення повертає значення, що дорівнює нулю:" + +msgid "Working with threads" +msgstr "Робота з нитками" + +msgid "" +"The :func:`getcontext` function accesses a different :class:`Context` object " +"for each thread. Having separate thread contexts means that threads may " +"make changes (such as ``getcontext().prec=10``) without interfering with " +"other threads." +msgstr "" +"Функція :func:`getcontext` отримує доступ до іншого об’єкта :class:`Context` " +"для кожного потоку. Наявність окремих контекстів потоків означає, що потоки " +"можуть вносити зміни (наприклад, ``getcontext().prec=10``), не заважаючи " +"іншим потокам." + +msgid "" +"Likewise, the :func:`setcontext` function automatically assigns its target " +"to the current thread." +msgstr "" +"Подібним чином функція :func:`setcontext` автоматично призначає свою ціль " +"поточному потоку." + +msgid "" +"If :func:`setcontext` has not been called before :func:`getcontext`, then :" +"func:`getcontext` will automatically create a new context for use in the " +"current thread." +msgstr "" +"Якщо :func:`setcontext` не викликався раніше :func:`getcontext`, тоді :func:" +"`getcontext` автоматично створить новий контекст для використання в " +"поточному потоці." + +msgid "" +"The new context is copied from a prototype context called *DefaultContext*. " +"To control the defaults so that each thread will use the same values " +"throughout the application, directly modify the *DefaultContext* object. " +"This should be done *before* any threads are started so that there won't be " +"a race condition between threads calling :func:`getcontext`. For example::" +msgstr "" +"Новий контекст скопійовано з контексту прототипу під назвою " +"*DefaultContext*. Щоб керувати параметрами за замовчуванням, щоб кожен потік " +"використовував однакові значення в усій програмі, безпосередньо змініть " +"об’єкт *DefaultContext*. Це слід зробити *перед* запуском будь-яких потоків, " +"щоб не виникало змагання між потоками, що викликають :func:`getcontext`. " +"Наприклад::" + +msgid "Recipes" +msgstr "рецепти" + +msgid "" +"Here are a few recipes that serve as utility functions and that demonstrate " +"ways to work with the :class:`Decimal` class::" +msgstr "" +"Ось кілька рецептів, які служать допоміжними функціями та демонструють " +"способи роботи з класом :class:`Decimal`::" + +msgid "Decimal FAQ" +msgstr "Десятковий FAQ" + +msgid "" +"Q. It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " +"to minimize typing when using the interactive interpreter?" +msgstr "" +"З. Громіздко вводити ``decimal.Decimal('1234.5')``. Чи є спосіб мінімізувати " +"введення під час використання інтерактивного перекладача?" + +msgid "A. Some users abbreviate the constructor to just a single letter:" +msgstr "A. Деякі користувачі скорочують конструктор лише до однієї літери:" + +msgid "" +"Q. In a fixed-point application with two decimal places, some inputs have " +"many places and need to be rounded. Others are not supposed to have excess " +"digits and need to be validated. What methods should be used?" +msgstr "" +"Q. У програмі з фіксованою комою з двома знаками після коми деякі вхідні " +"дані мають багато знаків і їх потрібно округлити. Інші не повинні мати " +"зайвих цифр і потребують перевірки. Які методи слід використовувати?" + +msgid "" +"A. The :meth:`quantize` method rounds to a fixed number of decimal places. " +"If the :const:`Inexact` trap is set, it is also useful for validation:" +msgstr "" +"A. Метод :meth:`quantize` округлює до фіксованої кількості знаків після " +"коми. Якщо встановлено перехоплення :const:`Inexact`, це також корисно для " +"перевірки:" + +msgid "" +"Q. Once I have valid two place inputs, how do I maintain that invariant " +"throughout an application?" +msgstr "" +"З. Якщо я маю дійсні двомісні введення, як мені підтримувати цей інваріант у " +"всій програмі?" + +msgid "" +"A. Some operations like addition, subtraction, and multiplication by an " +"integer will automatically preserve fixed point. Others operations, like " +"division and non-integer multiplication, will change the number of decimal " +"places and need to be followed-up with a :meth:`quantize` step:" +msgstr "" +"A. Деякі операції, такі як додавання, віднімання та множення на ціле число, " +"автоматично зберігають фіксовану кому. Інші операції, як-от ділення та " +"неціле множення, змінюватимуть кількість десяткових знаків і потребуватимуть " +"подальших кроків :meth:`quantize`:" + +msgid "" +"In developing fixed-point applications, it is convenient to define functions " +"to handle the :meth:`quantize` step:" +msgstr "" +"У розробці додатків із фіксованою крапкою зручно визначати функції для " +"обробки кроку :meth:`quantize`:" + +msgid "" +"Q. There are many ways to express the same value. The numbers :const:" +"`200`, :const:`200.000`, :const:`2E2`, and :const:`.02E+4` all have the same " +"value at various precisions. Is there a way to transform them to a single " +"recognizable canonical value?" +msgstr "" +"Q. Є багато способів вираження того самого значення. Числа :const:`200`, :" +"const:`200.000`, :const:`2E2` і :const:`.02E+4` мають однакові значення з " +"різною точністю. Чи є спосіб перетворити їх до єдиного розпізнаваного " +"канонічного значення?" + +msgid "" +"A. The :meth:`normalize` method maps all equivalent values to a single " +"representative:" +msgstr "" +"A. Метод :meth:`normalize` відображає всі еквівалентні значення в одному " +"представнику:" + +msgid "" +"Q. Some decimal values always print with exponential notation. Is there a " +"way to get a non-exponential representation?" +msgstr "" +"З. Деякі десяткові значення завжди друкуються в експоненціальному вигляді. " +"Чи є спосіб отримати неекспоненціальне представлення?" + +msgid "" +"A. For some values, exponential notation is the only way to express the " +"number of significant places in the coefficient. For example, expressing :" +"const:`5.0E+3` as :const:`5000` keeps the value constant but cannot show the " +"original's two-place significance." +msgstr "" +"A. Для деяких значень експоненціальний запис є єдиним способом вираження " +"кількості значущих місць у коефіцієнті. Наприклад, вираження :const:`5.0E+3` " +"як :const:`5000` зберігає значення постійним, але не може показати двозначне " +"значення оригіналу." + +msgid "" +"If an application does not care about tracking significance, it is easy to " +"remove the exponent and trailing zeroes, losing significance, but keeping " +"the value unchanged:" +msgstr "" +"Якщо програма не піклується про відстеження значущості, можна легко видалити " +"експоненту та кінцеві нулі, втрачаючи значущість, але зберігаючи значення " +"незмінним:" + +msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?" +msgstr "Q. Чи є спосіб перетворити звичайний float на :class:`Decimal`?" + +msgid "" +"A. Yes, any binary floating point number can be exactly expressed as a " +"Decimal though an exact conversion may take more precision than intuition " +"would suggest:" +msgstr "" +"A. Так, будь-яке двійкове число з плаваючою комою можна точно виразити як " +"десяткове число, хоча точне перетворення може вимагати більшої точності, ніж " +"передбачає інтуїція:" + +msgid "" +"Q. Within a complex calculation, how can I make sure that I haven't gotten a " +"spurious result because of insufficient precision or rounding anomalies." +msgstr "" +"Q. Як я можу переконатися, що в рамках складного обчислення я не отримав " +"фальшивий результат через недостатню точність або аномалії округлення." + +msgid "" +"A. The decimal module makes it easy to test results. A best practice is to " +"re-run calculations using greater precision and with various rounding modes. " +"Widely differing results indicate insufficient precision, rounding mode " +"issues, ill-conditioned inputs, or a numerically unstable algorithm." +msgstr "" +"A. Десятковий модуль дозволяє легко перевірити результати. Найкраща практика " +"— повторити обчислення з більшою точністю та різними режимами округлення. " +"Різні результати вказують на недостатню точність, проблеми з режимом " +"округлення, погано обумовлені вхідні дані або чисельно нестабільний алгоритм." + +msgid "" +"Q. I noticed that context precision is applied to the results of operations " +"but not to the inputs. Is there anything to watch out for when mixing " +"values of different precisions?" +msgstr "" +"З. Я помітив, що точність контексту застосовується до результатів операцій, " +"але не до вхідних даних. Чи є на що слід звернути увагу під час змішування " +"значень різної точності?" + +msgid "" +"A. Yes. The principle is that all values are considered to be exact and so " +"is the arithmetic on those values. Only the results are rounded. The " +"advantage for inputs is that \"what you type is what you get\". A " +"disadvantage is that the results can look odd if you forget that the inputs " +"haven't been rounded:" +msgstr "" +"А. Так. Принцип полягає в тому, що всі значення вважаються точними, як і " +"арифметика цих значень. Округлюються лише результати. Перевага введення " +"даних полягає в тому, що \"те, що ви вводите, те й отримуєте\". Недоліком є " +"те, що результати можуть виглядати дивно, якщо ви забудете, що вхідні дані " +"не були округлені:" + +msgid "" +"The solution is either to increase precision or to force rounding of inputs " +"using the unary plus operation:" +msgstr "" +"Рішення полягає в тому, щоб підвищити точність або примусово округлити " +"вхідні дані за допомогою унарної операції плюс:" + +msgid "" +"Alternatively, inputs can be rounded upon creation using the :meth:`Context." +"create_decimal` method:" +msgstr "" +"Крім того, вхідні дані можна округлити під час створення за допомогою " +"методу :meth:`Context.create_decimal`:" + +msgid "Q. Is the CPython implementation fast for large numbers?" +msgstr "Q. Чи швидка реалізація CPython для великих чисел?" + +msgid "" +"A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " +"the decimal module integrate the high speed `libmpdec `_ library for arbitrary precision " +"correctly rounded decimal floating point arithmetic [#]_. ``libmpdec`` uses " +"`Karatsuba multiplication `_ for medium-sized numbers and the `Number Theoretic " +"Transform `_ for very " +"large numbers." +msgstr "" + +msgid "" +"The context must be adapted for exact arbitrary precision arithmetic. :attr:" +"`Emin` and :attr:`Emax` should always be set to the maximum values, :attr:" +"`clamp` should always be 0 (the default). Setting :attr:`prec` requires " +"some care." +msgstr "" +"Контекст має бути адаптований для точної арифметики довільної точності. :" +"attr:`Emin` і :attr:`Emax` завжди повинні бути встановлені на максимальні " +"значення, :attr:`clamp` завжди має бути 0 (за замовчуванням). Налаштування :" +"attr:`prec` вимагає певної обережності." + +msgid "" +"The easiest approach for trying out bignum arithmetic is to use the maximum " +"value for :attr:`prec` as well [#]_::" +msgstr "" +"Найпростіший підхід для випробування арифметики bignum — використовувати " +"максимальне значення для :attr:`prec`, а також [#]_::" + +msgid "" +"For inexact results, :attr:`MAX_PREC` is far too large on 64-bit platforms " +"and the available memory will be insufficient::" +msgstr "" +"Для отримання неточних результатів :attr:`MAX_PREC` є занадто великим на 64-" +"розрядних платформах, тому доступної пам’яті буде недостатньо:" + +msgid "" +"On systems with overallocation (e.g. Linux), a more sophisticated approach " +"is to adjust :attr:`prec` to the amount of available RAM. Suppose that you " +"have 8GB of RAM and expect 10 simultaneous operands using a maximum of 500MB " +"each::" +msgstr "" +"У системах із загальним розподілом (наприклад, Linux) більш складним " +"підходом є налаштування :attr:`prec` на обсяг доступної оперативної пам’яті. " +"Припустімо, що у вас є 8 ГБ оперативної пам’яті та ви очікуєте 10 одночасних " +"операндів, використовуючи максимум 500 МБ кожен:" + +msgid "" +"In general (and especially on systems without overallocation), it is " +"recommended to estimate even tighter bounds and set the :attr:`Inexact` trap " +"if all calculations are expected to be exact." +msgstr "" +"Загалом (і особливо в системах без загального розподілу) рекомендується " +"оцінювати ще більш жорсткі межі та встановлювати пастку :attr:`Inexact`, " +"якщо очікується, що всі обчислення будуть точними." + +msgid "" +"This approach now works for all exact results except for non-integer powers." +msgstr "" +"Цей підхід тепер працює для всіх точних результатів, за винятком нецілих " +"степенів." diff --git a/library/development.po b/library/development.po new file mode 100644 index 000000000..0feefd1c8 --- /dev/null +++ b/library/development.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Development Tools" +msgstr "Засоби розробки" + +msgid "" +"The modules described in this chapter help you write software. For example, " +"the :mod:`pydoc` module takes a module and generates documentation based on " +"the module's contents. The :mod:`doctest` and :mod:`unittest` modules " +"contains frameworks for writing unit tests that automatically exercise code " +"and verify that the expected output is produced. :program:`2to3` can " +"translate Python 2.x source code into valid Python 3.x code." +msgstr "" +"Модулі, описані в цьому розділі, допоможуть вам написати програмне " +"забезпечення. Наприклад, модуль :mod:`pydoc` приймає модуль і генерує " +"документацію на основі вмісту модуля. Модулі :mod:`doctest` і :mod:" +"`unittest` містять інфраструктури для написання модульних тестів, які " +"автоматично виконують код і перевіряють, чи отримано очікуваний результат. :" +"program:`2to3` може перекладати вихідний код Python 2.x у дійсний код Python " +"3.x." + +msgid "The list of modules described in this chapter is:" +msgstr "Перелік модулів, описаних у цьому розділі:" diff --git a/library/devmode.po b/library/devmode.po new file mode 100644 index 000000000..bebb33fd2 --- /dev/null +++ b/library/devmode.po @@ -0,0 +1,329 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python Development Mode" +msgstr "Режим розробки Python" + +msgid "" +"The Python Development Mode introduces additional runtime checks that are " +"too expensive to be enabled by default. It should not be more verbose than " +"the default if the code is correct; new warnings are only emitted when an " +"issue is detected." +msgstr "" +"Режим розробки Python вводить додаткові перевірки під час виконання, які " +"занадто дорогі, щоб їх можна було ввімкнути за замовчуванням. Якщо код " +"правильний, він не повинен бути більш детальним, ніж стандартний; нові " +"попередження видаються лише тоді, коли виявляється проблема." + +msgid "" +"It can be enabled using the :option:`-X dev <-X>` command line option or by " +"setting the :envvar:`PYTHONDEVMODE` environment variable to ``1``." +msgstr "" +"Його можна ввімкнути за допомогою параметра командного рядка :option:`-X dev " +"<-X>` або встановивши для змінної середовища :envvar:`PYTHONDEVMODE` " +"значення ``1``." + +msgid "See also :ref:`Python debug build `." +msgstr "Дивіться також :ref:`Python debug build `." + +msgid "Effects of the Python Development Mode" +msgstr "Ефекти режиму розробки Python" + +msgid "" +"Enabling the Python Development Mode is similar to the following command, " +"but with additional effects described below::" +msgstr "" +"Увімкнення режиму розробки Python подібне до наступної команди, але з " +"додатковими ефектами, описаними нижче:" + +msgid "Effects of the Python Development Mode:" +msgstr "Наслідки режиму розробки Python:" + +msgid "" +"Add ``default`` :ref:`warning filter `. The " +"following warnings are shown:" +msgstr "" +"Додайте ``за замовчуванням`` :ref:`фільтр попереджень `. Відображаються такі попередження:" + +msgid ":exc:`DeprecationWarning`" +msgstr ":exc:`DeprecationWarning`" + +msgid ":exc:`ImportWarning`" +msgstr ":exc:`ImportWarning`" + +msgid ":exc:`PendingDeprecationWarning`" +msgstr ":exc:`PendingDeprecationWarning`" + +msgid ":exc:`ResourceWarning`" +msgstr ":exc:`ResourceWarning`" + +msgid "" +"Normally, the above warnings are filtered by the default :ref:`warning " +"filters `." +msgstr "" +"Зазвичай наведені вище попередження фільтруються стандартними :ref:" +"`фільтрами попереджень `." + +msgid "" +"It behaves as if the :option:`-W default <-W>` command line option is used." +msgstr "" +"Він поводиться так, ніби використовується параметр командного рядка :option:" +"`-W за замовчуванням <-W>`." + +msgid "" +"Use the :option:`-W error <-W>` command line option or set the :envvar:" +"`PYTHONWARNINGS` environment variable to ``error`` to treat warnings as " +"errors." +msgstr "" +"Використовуйте параметр командного рядка :option:`-W error <-W>` або " +"встановіть для змінної середовища :envvar:`PYTHONWARNINGS` значення " +"``error``, щоб розглядати попередження як помилки." + +msgid "Install debug hooks on memory allocators to check for:" +msgstr "" +"Встановіть перехоплювачі налагодження на розподілювачі пам’яті, щоб " +"перевірити:" + +msgid "Buffer underflow" +msgstr "Недоповнення буфера" + +msgid "Buffer overflow" +msgstr "Переповнення буфера" + +msgid "Memory allocator API violation" +msgstr "Порушення API розподілювача пам'яті" + +msgid "Unsafe usage of the GIL" +msgstr "Небезпечне використання GIL" + +msgid "See the :c:func:`PyMem_SetupDebugHooks` C function." +msgstr "Перегляньте функцію C :c:func:`PyMem_SetupDebugHooks`." + +msgid "" +"It behaves as if the :envvar:`PYTHONMALLOC` environment variable is set to " +"``debug``." +msgstr "" +"Він поводиться так, ніби для змінної середовища :envvar:`PYTHONMALLOC` " +"встановлено значення ``debug``." + +msgid "" +"To enable the Python Development Mode without installing debug hooks on " +"memory allocators, set the :envvar:`PYTHONMALLOC` environment variable to " +"``default``." +msgstr "" +"Щоб увімкнути режим розробки Python, не встановлюючи налагоджувальні засоби " +"розподілення пам’яті, встановіть для змінної середовища :envvar:" +"`PYTHONMALLOC` значення ``default``." + +msgid "" +"Call :func:`faulthandler.enable` at Python startup to install handlers for " +"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` " +"and :const:`SIGILL` signals to dump the Python traceback on a crash." +msgstr "" +"Викличте :func:`faulthandler.enable` під час запуску Python, щоб установити " +"обробники для :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:" +"`SIGBUS` і :const:`SIGILL` сигналізує скинути зворотне трасування Python у " +"разі збою." + +msgid "" +"It behaves as if the :option:`-X faulthandler <-X>` command line option is " +"used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to " +"``1``." +msgstr "" +"Він поводиться так, ніби використовується параметр командного рядка :option:" +"`-X faulthandler <-X>` або якщо змінна середовища :envvar:" +"`PYTHONFAULTHANDLER` має значення ``1``." + +msgid "" +"Enable :ref:`asyncio debug mode `. For example, :mod:" +"`asyncio` checks for coroutines that were not awaited and logs them." +msgstr "" +"Увімкнути :ref:`асинхронний режим налагодження `. " +"Наприклад, :mod:`asyncio` перевіряє співпрограми, які не були очікувані, і " +"реєструє їх." + +msgid "" +"It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is " +"set to ``1``." +msgstr "" +"Він поводиться так, ніби для змінної середовища :envvar:`PYTHONASYNCIODEBUG` " +"встановлено значення ``1``." + +msgid "" +"Check the *encoding* and *errors* arguments for string encoding and decoding " +"operations. Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes." +"decode`." +msgstr "" +"Перевірте аргументи *encoding* і *errors* для операцій кодування та " +"декодування рядків. Приклади: :func:`open`, :meth:`str.encode` і :meth:" +"`bytes.decode`." + +msgid "" +"By default, for best performance, the *errors* argument is only checked at " +"the first encoding/decoding error and the *encoding* argument is sometimes " +"ignored for empty strings." +msgstr "" +"За замовчуванням для найкращої продуктивності аргумент *errors* " +"перевіряється лише при першій помилці кодування/декодування, а аргумент " +"*encoding* іноді ігнорується для порожніх рядків." + +msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions." +msgstr "Деструктор :class:`io.IOBase` реєструє винятки ``close()``." + +msgid "" +"Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " +"``True``." +msgstr "" +"Установіть для атрибута :attr:`~sys.flags.dev_mode` :attr:`sys.flags` " +"значення ``True``." + +msgid "" +"The Python Development Mode does not enable the :mod:`tracemalloc` module by " +"default, because the overhead cost (to performance and memory) would be too " +"large. Enabling the :mod:`tracemalloc` module provides additional " +"information on the origin of some errors. For example, :exc:" +"`ResourceWarning` logs the traceback where the resource was allocated, and a " +"buffer overflow error logs the traceback where the memory block was " +"allocated." +msgstr "" +"Режим розробки Python не вмикає модуль :mod:`tracemalloc` за замовчуванням, " +"оскільки накладні витрати (для продуктивності та пам’яті) будуть занадто " +"великими. Увімкнення модуля :mod:`tracemalloc` надає додаткову інформацію " +"про походження деяких помилок. Наприклад, :exc:`ResourceWarning` реєструє " +"відстеження, де було виділено ресурс, а помилка переповнення буфера реєструє " +"відстеження, де було виділено блок пам’яті." + +msgid "" +"The Python Development Mode does not prevent the :option:`-O` command line " +"option from removing :keyword:`assert` statements nor from setting :const:" +"`__debug__` to ``False``." +msgstr "" +"Режим розробки Python не заважає параметру командного рядка :option:`-O` " +"видаляти оператори :keyword:`assert` або встановлювати :const:`__debug__` " +"значення ``False``." + +msgid "" +"The Python Development Mode can only be enabled at the Python startup. Its " +"value can be read from :data:`sys.flags.dev_mode `." +msgstr "" +"Режим розробки Python можна ввімкнути лише під час запуску Python. Його " +"значення можна прочитати з :data:`sys.flags.dev_mode `." + +msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." +msgstr "Деструктор :class:`io.IOBase` тепер реєструє винятки ``close()``." + +msgid "" +"The *encoding* and *errors* arguments are now checked for string encoding " +"and decoding operations." +msgstr "" +"Аргументи *encoding* і *errors* тепер перевіряються на наявність операцій " +"кодування та декодування рядків." + +msgid "ResourceWarning Example" +msgstr "Приклад ResourceWarning" + +msgid "" +"Example of a script counting the number of lines of the text file specified " +"in the command line::" +msgstr "" +"Приклад сценарію підрахунку кількості рядків текстового файлу, вказаного в " +"командному рядку:" + +msgid "" +"The script does not close the file explicitly. By default, Python does not " +"emit any warning. Example using README.txt, which has 269 lines:" +msgstr "" +"Сценарій не закриває файл явно. За замовчуванням Python не видає жодних " +"попереджень. Приклад використання README.txt, який містить 269 рядків:" + +msgid "" +"Enabling the Python Development Mode displays a :exc:`ResourceWarning` " +"warning:" +msgstr "" +"Увімкнення режиму розробки Python відображає попередження :exc:" +"`ResourceWarning`:" + +msgid "" +"In addition, enabling :mod:`tracemalloc` shows the line where the file was " +"opened:" +msgstr "" +"Крім того, увімкнення :mod:`tracemalloc` показує рядок, де було відкрито " +"файл:" + +msgid "" +"The fix is to close explicitly the file. Example using a context manager::" +msgstr "" +"Виправлення полягає в тому, щоб явно закрити файл. Приклад використання " +"контекстного менеджера::" + +msgid "" +"Not closing a resource explicitly can leave a resource open for way longer " +"than expected; it can cause severe issues upon exiting Python. It is bad in " +"CPython, but it is even worse in PyPy. Closing resources explicitly makes an " +"application more deterministic and more reliable." +msgstr "" +"Якщо ресурс не закрити явно, він може залишитися відкритим набагато довше, " +"ніж очікувалося; це може спричинити серйозні проблеми після виходу з Python. " +"Це погано в CPython, але ще гірше в PyPy. Закриття ресурсів явно робить " +"додаток більш детермінованим і надійнішим." + +msgid "Bad file descriptor error example" +msgstr "Приклад помилки неправильного дескриптора файлу" + +msgid "Script displaying the first line of itself::" +msgstr "Сценарій, що відображає перший рядок самого себе::" + +msgid "By default, Python does not emit any warning:" +msgstr "За замовчуванням Python не видає жодного попередження:" + +msgid "" +"The Python Development Mode shows a :exc:`ResourceWarning` and logs a \"Bad " +"file descriptor\" error when finalizing the file object:" +msgstr "" +"Режим розробки Python показує :exc:`ResourceWarning` і реєструє помилку " +"\"Поганий дескриптор файлу\" під час завершення об’єкта файлу:" + +msgid "" +"``os.close(fp.fileno())`` closes the file descriptor. When the file object " +"finalizer tries to close the file descriptor again, it fails with the ``Bad " +"file descriptor`` error. A file descriptor must be closed only once. In the " +"worst case scenario, closing it twice can lead to a crash (see :issue:" +"`18748` for an example)." +msgstr "" +"``os.close(fp.fileno())`` закриває дескриптор файлу. Коли фіналізатор " +"файлового об’єкта знову намагається закрити файловий дескриптор, це не " +"вдається з помилкою ``Поганий файловий дескриптор``. Файловий дескриптор має " +"бути закрито лише один раз. У гіршому випадку подвійне закриття може " +"призвести до збою (див. :issue:`18748` для прикладу)." + +msgid "" +"The fix is to remove the ``os.close(fp.fileno())`` line, or open the file " +"with ``closefd=False``." +msgstr "" +"Виправлення полягає у видаленні рядка ``os.close(fp.fileno())`` або " +"відкритті файлу ``closefd=False``." diff --git a/library/dialog.po b/library/dialog.po new file mode 100644 index 000000000..9e2c15aa2 --- /dev/null +++ b/library/dialog.po @@ -0,0 +1,277 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Tkinter Dialogs" +msgstr "Діалоги Tkinter" + +msgid ":mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs" +msgstr ":mod:`tkinter.simpledialog` --- Стандартні діалоги введення Tkinter" + +msgid "**Source code:** :source:`Lib/tkinter/simpledialog.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/simpledialog.py`" + +msgid "" +"The :mod:`tkinter.simpledialog` module contains convenience classes and " +"functions for creating simple modal dialogs to get a value from the user." +msgstr "" +"Модуль :mod:`tkinter.simpledialog` містить зручні класи та функції для " +"створення простих модальних діалогів для отримання значення від користувача." + +msgid "" +"The above three functions provide dialogs that prompt the user to enter a " +"value of the desired type." +msgstr "" +"Наведені вище три функції пропонують діалогові вікна, які пропонують " +"користувачеві ввести значення потрібного типу." + +msgid "The base class for custom dialogs." +msgstr "Базовий клас для настроюваних діалогів." + +msgid "" +"Override to construct the dialog's interface and return the widget that " +"should have initial focus." +msgstr "" +"Перевизначити, щоб створити інтерфейс діалогового вікна та повернути віджет, " +"який має мати початковий фокус." + +msgid "" +"Default behaviour adds OK and Cancel buttons. Override for custom button " +"layouts." +msgstr "" +"Поведінка за умовчанням додає кнопки OK і Cancel. Перевизначення для власних " +"макетів кнопок." + +msgid ":mod:`tkinter.filedialog` --- File selection dialogs" +msgstr ":mod:`tkinter.filedialog` --- Діалогове вікно вибору файлів" + +msgid "**Source code:** :source:`Lib/tkinter/filedialog.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/filedialog.py`" + +msgid "" +"The :mod:`tkinter.filedialog` module provides classes and factory functions " +"for creating file/directory selection windows." +msgstr "" +"Модуль :mod:`tkinter.filedialog` надає класи та фабричні функції для " +"створення вікон вибору файлів/каталогів." + +msgid "Native Load/Save Dialogs" +msgstr "Власні діалоги завантаження/збереження" + +msgid "" +"The following classes and functions provide file dialog windows that combine " +"a native look-and-feel with configuration options to customize behaviour. " +"The following keyword arguments are applicable to the classes and functions " +"listed below:" +msgstr "" +"Наступні класи та функції забезпечують діалогові вікна файлів, які поєднують " +"зовнішній вигляд і параметри конфігурації для налаштування поведінки. " +"Наступні ключові аргументи застосовні до класів і функцій, перелічених нижче:" + +msgid "*parent* - the window to place the dialog on top of" +msgstr "*parent* - вікно, поверх якого буде розміщено діалогове вікно" + +msgid "*title* - the title of the window" +msgstr "*title* - заголовок вікна" + +msgid "*initialdir* - the directory that the dialog starts in" +msgstr "*initialdir* - каталог, у якому починається діалог" + +msgid "*initialfile* - the file selected upon opening of the dialog" +msgstr "*initialfile* - файл, вибраний під час відкриття діалогу" + +msgid "" +"*filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed" +msgstr "" +"*filetypes* – послідовність (мітка, шаблон) кортежів, дозволений символ " +"підстановки \"*\"." + +msgid "*defaultextension* - default extension to append to file (save dialogs)" +msgstr "" +"*defaultextension* - типове розширення для додавання до файлу (діалогове " +"вікно збереження)" + +msgid "*multiple* - when true, selection of multiple items is allowed" +msgstr "*multiple* - якщо значення true, дозволено вибір кількох елементів" + +msgid "**Static factory functions**" +msgstr "**Статичні заводські функції**" + +msgid "" +"The below functions when called create a modal, native look-and-feel dialog, " +"wait for the user's selection, then return the selected value(s) or ``None`` " +"to the caller." +msgstr "" +"Наведені нижче функції під час виклику створюють модальне діалогове вікно, " +"що нагадує зовнішній вигляд, очікують вибору користувача, а потім повертають " +"вибрані значення або ``None`` абоненту." + +msgid "" +"The above two functions create an :class:`Open` dialog and return the opened " +"file object(s) in read-only mode." +msgstr "" +"Наведені вище дві функції створюють діалогове вікно :class:`Open` і " +"повертають відкритий файловий об’єкт(и) у режимі лише для читання." + +msgid "" +"Create a :class:`SaveAs` dialog and return a file object opened in write-" +"only mode." +msgstr "" +"Створіть діалогове вікно :class:`SaveAs` і поверніть об’єкт файлу, відкритий " +"у режимі лише для запису." + +msgid "" +"The above two functions create an :class:`Open` dialog and return the " +"selected filename(s) that correspond to existing file(s)." +msgstr "" +"Наведені вище дві функції створюють діалогове вікно :class:`Open` та " +"повертають вибрані назви файлів, які відповідають існуючим файлам." + +msgid "Create a :class:`SaveAs` dialog and return the selected filename." +msgstr "" +"Створіть діалогове вікно :class:`SaveAs` і поверніть вибране ім’я файлу." + +msgid "Prompt user to select a directory." +msgstr "Запропонувати користувачеві вибрати каталог." + +msgid "Additional keyword option:" +msgstr "Додатковий параметр ключового слова:" + +msgid "*mustexist* - determines if selection must be an existing directory." +msgstr "*mustexist* - визначає, чи має бути виділений існуючий каталог." + +msgid "" +"The above two classes provide native dialog windows for saving and loading " +"files." +msgstr "" +"Наведені вище два класи надають власні діалогові вікна для збереження та " +"завантаження файлів." + +msgid "**Convenience classes**" +msgstr "**Зручні класи**" + +msgid "" +"The below classes are used for creating file/directory windows from scratch. " +"These do not emulate the native look-and-feel of the platform." +msgstr "" +"Наведені нижче класи використовуються для створення вікон файлів/каталогів з " +"нуля. Вони не імітують зовнішній вигляд і відчуття платформи." + +msgid "Create a dialog prompting the user to select a directory." +msgstr "Створіть діалогове вікно з пропозицією користувача вибрати каталог." + +msgid "" +"The *FileDialog* class should be subclassed for custom event handling and " +"behaviour." +msgstr "" +"Клас *FileDialog* повинен бути підкласом для нестандартної обробки подій і " +"поведінки." + +msgid "Create a basic file selection dialog." +msgstr "Створіть базове діалогове вікно вибору файлів." + +msgid "Trigger the termination of the dialog window." +msgstr "Запустити завершення діалогового вікна." + +msgid "Event handler for double-click event on directory." +msgstr "Обробник подій подвійного клацання в каталозі." + +msgid "Event handler for click event on directory." +msgstr "Обробник події клацання в каталозі." + +msgid "Event handler for double-click event on file." +msgstr "Обробник подій подвійного клацання у файлі." + +msgid "Event handler for single-click event on file." +msgstr "Обробник подій для файлу одним клацанням." + +msgid "Filter the files by directory." +msgstr "Фільтруйте файли за каталогом." + +msgid "Retrieve the file filter currently in use." +msgstr "Отримати фільтр файлів, який зараз використовується." + +msgid "Retrieve the currently selected item." +msgstr "Отримати поточний вибраний елемент." + +msgid "Render dialog and start event loop." +msgstr "Відобразити діалогове вікно та запустити цикл подій." + +msgid "Exit dialog returning current selection." +msgstr "Вийти з діалогового вікна, повертаючи поточний вибір." + +msgid "Exit dialog returning filename, if any." +msgstr "Вийти з діалогового вікна, повертаючи назву файлу, якщо є." + +msgid "Set the file filter." +msgstr "Встановіть фільтр файлів." + +msgid "Update the current file selection to *file*." +msgstr "Оновіть поточний вибір файлу на *file*." + +msgid "" +"A subclass of FileDialog that creates a dialog window for selecting an " +"existing file." +msgstr "" +"Підклас FileDialog, який створює діалогове вікно для вибору існуючого файлу." + +msgid "" +"Test that a file is provided and that the selection indicates an already " +"existing file." +msgstr "Перевірте, чи надано файл і чи виділення вказує на вже існуючий файл." + +msgid "" +"A subclass of FileDialog that creates a dialog window for selecting a " +"destination file." +msgstr "" +"Підклас FileDialog, який створює діалогове вікно для вибору файлу " +"призначення." + +msgid "" +"Test whether or not the selection points to a valid file that is not a " +"directory. Confirmation is required if an already existing file is selected." +msgstr "" +"Перевірте, чи вказує вибір на дійсний файл, який не є каталогом. Якщо " +"вибрано вже існуючий файл, потрібне підтвердження." + +msgid ":mod:`tkinter.commondialog` --- Dialog window templates" +msgstr ":mod:`tkinter.commondialog` --- Шаблони діалогових вікон" + +msgid "**Source code:** :source:`Lib/tkinter/commondialog.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/commondialog.py`" + +msgid "" +"The :mod:`tkinter.commondialog` module provides the :class:`Dialog` class " +"that is the base class for dialogs defined in other supporting modules." +msgstr "" +"Модуль :mod:`tkinter.commondialog` надає клас :class:`Dialog`, який є " +"базовим класом для діалогів, визначених в інших допоміжних модулях." + +msgid "Render the Dialog window." +msgstr "Відобразити діалогове вікно." + +msgid "Modules :mod:`tkinter.messagebox`, :ref:`tut-files`" +msgstr "Модулі :mod:`tkinter.messagebox`, :ref:`tut-files`" diff --git a/library/difflib.po b/library/difflib.po new file mode 100644 index 000000000..c5beb7e96 --- /dev/null +++ b/library/difflib.po @@ -0,0 +1,988 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`difflib` --- Helpers for computing deltas" +msgstr ":mod:`difflib` --- Допоміжні засоби для обчислення дельта" + +msgid "**Source code:** :source:`Lib/difflib.py`" +msgstr "**Вихідний код:** :source:`Lib/difflib.py`" + +msgid "" +"This module provides classes and functions for comparing sequences. It can " +"be used for example, for comparing files, and can produce information about " +"file differences in various formats, including HTML and context and unified " +"diffs. For comparing directories and files, see also, the :mod:`filecmp` " +"module." +msgstr "" +"Цей модуль містить класи та функції для порівняння послідовностей. Він може " +"бути використаний, наприклад, для порівняння файлів і може видавати " +"інформацію про відмінності файлів у різних форматах, включаючи HTML, " +"контекст і уніфіковані відмінності. Для порівняння каталогів і файлів див. " +"також модуль :mod:`filecmp`." + +msgid "" +"This is a flexible class for comparing pairs of sequences of any type, so " +"long as the sequence elements are :term:`hashable`. The basic algorithm " +"predates, and is a little fancier than, an algorithm published in the late " +"1980's by Ratcliff and Obershelp under the hyperbolic name \"gestalt pattern " +"matching.\" The idea is to find the longest contiguous matching subsequence " +"that contains no \"junk\" elements; these \"junk\" elements are ones that " +"are uninteresting in some sense, such as blank lines or whitespace. " +"(Handling junk is an extension to the Ratcliff and Obershelp algorithm.) The " +"same idea is then applied recursively to the pieces of the sequences to the " +"left and to the right of the matching subsequence. This does not yield " +"minimal edit sequences, but does tend to yield matches that \"look right\" " +"to people." +msgstr "" +"Це гнучкий клас для порівняння пар послідовностей будь-якого типу, за умови, " +"що елементи послідовності :term:`hashable`. Базовий алгоритм передує " +"алгоритму, опублікованому наприкінці 1980-х років Реткліфом і Обершелпом під " +"гіперболічною назвою \"відповідність гештальт-шаблону\", і є трохи моднішим " +"за нього. Ідея полягає в тому, щоб знайти найдовшу безперервну відповідну " +"підпослідовність, яка не містить \"сміттєвих\" елементів; ці \"сміттєві\" " +"елементи є такими, що в певному сенсі нецікаві, наприклад порожні рядки чи " +"пробіли. (Обробка сміття є розширенням алгоритму Раткліффа та Обершелпа.) Ця " +"сама ідея потім рекурсивно застосовується до фрагментів послідовностей " +"ліворуч і праворуч від відповідної підпослідовності. Це не дає мінімальних " +"послідовностей редагування, але, як правило, дає збіги, які \"виглядають " +"правильно\" для людей." + +msgid "" +"**Timing:** The basic Ratcliff-Obershelp algorithm is cubic time in the " +"worst case and quadratic time in the expected case. :class:`SequenceMatcher` " +"is quadratic time for the worst case and has expected-case behavior " +"dependent in a complicated way on how many elements the sequences have in " +"common; best case time is linear." +msgstr "" +"**Час:** основний алгоритм Реткліффа-Обершелпа – це кубічний час у " +"найгіршому випадку та квадратичний час у очікуваному випадку. :class:" +"`SequenceMatcher` — це квадратичний час для найгіршого випадку та має " +"очікувану поведінку, складно залежну від кількості спільних елементів " +"послідовностей; найкращий час – лінійний." + +msgid "" +"**Automatic junk heuristic:** :class:`SequenceMatcher` supports a heuristic " +"that automatically treats certain sequence items as junk. The heuristic " +"counts how many times each individual item appears in the sequence. If an " +"item's duplicates (after the first one) account for more than 1% of the " +"sequence and the sequence is at least 200 items long, this item is marked as " +"\"popular\" and is treated as junk for the purpose of sequence matching. " +"This heuristic can be turned off by setting the ``autojunk`` argument to " +"``False`` when creating the :class:`SequenceMatcher`." +msgstr "" +"**Автоматична евристика сміття:** :class:`SequenceMatcher` підтримує " +"евристику, яка автоматично розглядає певні елементи послідовності як сміття. " +"Евристика підраховує, скільки разів кожен окремий елемент з’являється в " +"послідовності. Якщо дублікати елемента (після першого) становлять більше 1% " +"послідовності, а послідовність складається щонайменше з 200 елементів, цей " +"елемент позначається як \"популярний\" і розглядається як небажаний для " +"цілей відповідності послідовності. Цю евристику можна вимкнути, встановивши " +"для аргументу ``autojunk`` значення ``False`` під час створення :class:" +"`SequenceMatcher`." + +msgid "The *autojunk* parameter." +msgstr "Параметр *autojunk*." + +msgid "" +"This is a class for comparing sequences of lines of text, and producing " +"human-readable differences or deltas. Differ uses :class:`SequenceMatcher` " +"both to compare sequences of lines, and to compare sequences of characters " +"within similar (near-matching) lines." +msgstr "" +"Це клас для порівняння послідовностей рядків тексту та створення зрозумілих " +"людині відмінностей або дельт. Differ використовує :class:`SequenceMatcher` " +"як для порівняння послідовностей рядків, так і для порівняння послідовностей " +"символів у подібних (майже відповідних) рядках." + +msgid "Each line of a :class:`Differ` delta begins with a two-letter code:" +msgstr "Кожен рядок дельти :class:`Differ` починається двобуквеним кодом:" + +msgid "Code" +msgstr "Код" + +msgid "Meaning" +msgstr "Значення" + +msgid "``'- '``" +msgstr "``'- ''``" + +msgid "line unique to sequence 1" +msgstr "рядок, унікальний для послідовності 1" + +msgid "``'+ '``" +msgstr "``'+ '``" + +msgid "line unique to sequence 2" +msgstr "рядок, унікальний для послідовності 2" + +msgid "``' '``" +msgstr "``' '``" + +msgid "line common to both sequences" +msgstr "лінія, спільна для обох послідовностей" + +msgid "``'? '``" +msgstr "``'? ''``" + +msgid "line not present in either input sequence" +msgstr "рядок відсутній у жодній послідовності введення" + +msgid "" +"Lines beginning with '``?``' attempt to guide the eye to intraline " +"differences, and were not present in either input sequence. These lines can " +"be confusing if the sequences contain tab characters." +msgstr "" +"Рядки, що починаються з \"``?`` намагаються спрямувати око на " +"внутрішньорядкові відмінності, і їх не було в жодній послідовності введення. " +"Ці рядки можуть заплутати, якщо послідовності містять символи табуляції." + +msgid "" +"This class can be used to create an HTML table (or a complete HTML file " +"containing the table) showing a side by side, line by line comparison of " +"text with inter-line and intra-line change highlights. The table can be " +"generated in either full or contextual difference mode." +msgstr "" +"Цей клас можна використовувати для створення HTML-таблиці (або повного HTML-" +"файлу, що містить таблицю), що показує пліч-о-пліч, рядок за рядком, " +"порівняння тексту з підсвічуванням міжрядкових і внутрішньорядкових змін. " +"Таблицю можна створити в режимі повної різниці або в режимі контекстної " +"різниці." + +msgid "The constructor for this class is:" +msgstr "Конструктор для цього класу:" + +msgid "Initializes instance of :class:`HtmlDiff`." +msgstr "Ініціалізує екземпляр :class:`HtmlDiff`." + +msgid "" +"*tabsize* is an optional keyword argument to specify tab stop spacing and " +"defaults to ``8``." +msgstr "" +"*tabsize* є необов’язковим аргументом ключового слова для визначення " +"інтервалу табуляції та за замовчуванням ``8``." + +msgid "" +"*wrapcolumn* is an optional keyword to specify column number where lines are " +"broken and wrapped, defaults to ``None`` where lines are not wrapped." +msgstr "" +"*wrapcolumn* є необов’язковим ключовим словом для вказівки номера стовпця, " +"де рядки розбиті та перенесені, за замовчуванням ``None``, якщо рядки не " +"перенесені." + +msgid "" +"*linejunk* and *charjunk* are optional keyword arguments passed into :func:" +"`ndiff` (used by :class:`HtmlDiff` to generate the side by side HTML " +"differences). See :func:`ndiff` documentation for argument default values " +"and descriptions." +msgstr "" +"*linejunk* і *charjunk* є необов’язковими аргументами ключових слів, які " +"передаються в :func:`ndiff` (використовуються :class:`HtmlDiff` для " +"генерування відмінностей у HTML). Перегляньте документацію :func:`ndiff`, " +"щоб дізнатися про значення аргументів за замовчуванням та описи." + +msgid "The following methods are public:" +msgstr "Публічними є такі методи:" + +msgid "" +"Compares *fromlines* and *tolines* (lists of strings) and returns a string " +"which is a complete HTML file containing a table showing line by line " +"differences with inter-line and intra-line changes highlighted." +msgstr "" +"Порівнює *fromlines* і *tolines* (списки рядків) і повертає рядок, який є " +"повним HTML-файлом, що містить таблицю, у якій показано рядкові відмінності " +"з виділеними міжрядковими та внутрішньорядковими змінами." + +msgid "" +"*fromdesc* and *todesc* are optional keyword arguments to specify from/to " +"file column header strings (both default to an empty string)." +msgstr "" +"*fromdesc* і *todesc* є необов’язковими аргументами ключових слів для " +"вказівки рядків заголовків стовпців файлу from/to (обидва за замовчуванням є " +"порожнім рядком)." + +msgid "" +"*context* and *numlines* are both optional keyword arguments. Set *context* " +"to ``True`` when contextual differences are to be shown, else the default is " +"``False`` to show the full files. *numlines* defaults to ``5``. When " +"*context* is ``True`` *numlines* controls the number of context lines which " +"surround the difference highlights. When *context* is ``False`` *numlines* " +"controls the number of lines which are shown before a difference highlight " +"when using the \"next\" hyperlinks (setting to zero would cause the \"next\" " +"hyperlinks to place the next difference highlight at the top of the browser " +"without any leading context)." +msgstr "" +"*context* і *numlines* є необов’язковими аргументами ключового слова. " +"Встановіть для *context* значення ``True``, якщо мають відображатися " +"контекстуальні відмінності, інакше значенням за замовчуванням є ``False`` " +"для відображення повних файлів. *numlines* за умовчанням має значення ``5``. " +"Якщо *context* має значення ``True``, *numlines* контролює кількість рядків " +"контексту, які оточують виділення різниці. Коли *context* має значення " +"``False``, *numlines* контролює кількість рядків, які відображаються перед " +"підсвічуванням різниці під час використання \"наступних\" гіперпосилань " +"(встановлення нуля призведе до того, що \"наступні\" гіперпосилання " +"розмістять наступне підсвічування різниці в у верхній частині браузера без " +"будь-якого початкового контексту)." + +msgid "" +"*fromdesc* and *todesc* are interpreted as unescaped HTML and should be " +"properly escaped while receiving input from untrusted sources." +msgstr "" +"*fromdesc* і *todesc* інтерпретуються як неекранований HTML і мають бути " +"належним чином екрановані під час отримання вхідних даних із ненадійних " +"джерел." + +msgid "" +"*charset* keyword-only argument was added. The default charset of HTML " +"document changed from ``'ISO-8859-1'`` to ``'utf-8'``." +msgstr "" +"Додано *charset* лише ключовий аргумент. Стандартний набір кодів HTML-" +"документа змінено з ``'ISO-8859-1'`` на ``'utf-8'``." + +msgid "" +"Compares *fromlines* and *tolines* (lists of strings) and returns a string " +"which is a complete HTML table showing line by line differences with inter-" +"line and intra-line changes highlighted." +msgstr "" +"Порівнює *fromlines* і *tolines* (списки рядків) і повертає рядок, який є " +"повною HTML-таблицею, що показує рядкові відмінності з виділеними " +"міжрядковими та внутрішньорядковими змінами." + +msgid "" +"The arguments for this method are the same as those for the :meth:" +"`make_file` method." +msgstr "" +"Аргументи для цього методу такі самі, як і для методу :meth:`make_file`." + +msgid "" +":file:`Tools/scripts/diff.py` is a command-line front-end to this class and " +"contains a good example of its use." +msgstr "" +":file:`Tools/scripts/diff.py` — інтерфейс командного рядка для цього класу " +"та містить гарний приклад його використання." + +msgid "" +"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " +"generating the delta lines) in context diff format." +msgstr "" +"Порівняти *a* і *b* (списки рядків); повертає дельту (:term:`generator`, що " +"генерує дельта-рядки) у форматі контекстної різниці." + +msgid "" +"Context diffs are a compact way of showing just the lines that have changed " +"plus a few lines of context. The changes are shown in a before/after " +"style. The number of context lines is set by *n* which defaults to three." +msgstr "" +"Контекстні відмінності — це компактний спосіб показати лише рядки, які " +"змінилися, плюс кілька рядків контексту. Зміни відображаються у стилі до/" +"після. Кількість рядків контексту встановлюється *n*, яке за замовчуванням " +"дорівнює трьом." + +msgid "" +"By default, the diff control lines (those with ``***`` or ``---``) are " +"created with a trailing newline. This is helpful so that inputs created " +"from :func:`io.IOBase.readlines` result in diffs that are suitable for use " +"with :func:`io.IOBase.writelines` since both the inputs and outputs have " +"trailing newlines." +msgstr "" +"За замовчуванням рядки керування відмінностями (ті, що мають ``***`` або " +"``---``) створюються з кінцевим символом нового рядка. Це корисно, щоб " +"вхідні дані, створені з :func:`io.IOBase.readlines`, призводили до " +"відмінностей, які придатні для використання з :func:`io.IOBase.writelines`, " +"оскільки і вхідні, і вихідні дані мають кінцеві символи нового рядка." + +msgid "" +"For inputs that do not have trailing newlines, set the *lineterm* argument " +"to ``\"\"`` so that the output will be uniformly newline free." +msgstr "" +"Для вхідних даних, які не мають кінцевих символів нового рядка, встановіть " +"для аргументу *lineterm* значення ``\"\"``, щоб вихідні дані не містили " +"символів нового рядка." + +msgid "" +"The context diff format normally has a header for filenames and modification " +"times. Any or all of these may be specified using strings for *fromfile*, " +"*tofile*, *fromfiledate*, and *tofiledate*. The modification times are " +"normally expressed in the ISO 8601 format. If not specified, the strings " +"default to blanks." +msgstr "" +"Формат контекстної різниці зазвичай має заголовок для імен файлів і часу " +"модифікації. Будь-який або всі з них можна вказати за допомогою рядків для " +"*fromfile*, *tofile*, *fromfiledate* і *tofiledate*. Час модифікації " +"зазвичай виражається у форматі ISO 8601. Якщо не вказано, рядки за " +"умовчанням пусті." + +msgid "See :ref:`difflib-interface` for a more detailed example." +msgstr "Дивіться :ref:`difflib-interface` для більш детального прикладу." + +msgid "" +"Return a list of the best \"good enough\" matches. *word* is a sequence for " +"which close matches are desired (typically a string), and *possibilities* is " +"a list of sequences against which to match *word* (typically a list of " +"strings)." +msgstr "" +"Поверніть список найкращих \"досить хороших\" збігів. *слово* — це " +"послідовність, для якої потрібні близькі збіги (зазвичай це рядок), а " +"*можливості* — це список послідовностей, з якими потрібно зіставити *слово* " +"(зазвичай список рядків)." + +msgid "" +"Optional argument *n* (default ``3``) is the maximum number of close matches " +"to return; *n* must be greater than ``0``." +msgstr "" +"Необов'язковий аргумент *n* (за замовчуванням ``3``) — це максимальна " +"кількість близьких збігів для повернення; *n* має бути більше, ніж ``0``." + +msgid "" +"Optional argument *cutoff* (default ``0.6``) is a float in the range [0, 1]. " +"Possibilities that don't score at least that similar to *word* are ignored." +msgstr "" +"Необов’язковий аргумент *cutoff* (за замовчуванням ``0,6``) є числом з " +"плаваючою точкою в діапазоні [0, 1]. Можливості, які не схожі на *слово*, " +"ігноруються." + +msgid "" +"The best (no more than *n*) matches among the possibilities are returned in " +"a list, sorted by similarity score, most similar first." +msgstr "" +"Найкращі (не більше ніж *n*) збіги серед можливих повертаються у списку, " +"відсортованому за показником подібності, найбільш схожі першими." + +msgid "" +"Compare *a* and *b* (lists of strings); return a :class:`Differ`\\ -style " +"delta (a :term:`generator` generating the delta lines)." +msgstr "" +"Порівняти *a* і *b* (списки рядків); повертає :class:`Differ`\\ -стиль " +"дельти (:term:`generator`, який генерує дельта-лінії)." + +msgid "" +"Optional keyword parameters *linejunk* and *charjunk* are filtering " +"functions (or ``None``):" +msgstr "" +"Додаткові параметри ключових слів *linejunk* і *charjunk* є функціями " +"фільтрації (або ``None``):" + +msgid "" +"*linejunk*: A function that accepts a single string argument, and returns " +"true if the string is junk, or false if not. The default is ``None``. There " +"is also a module-level function :func:`IS_LINE_JUNK`, which filters out " +"lines without visible characters, except for at most one pound character " +"(``'#'``) -- however the underlying :class:`SequenceMatcher` class does a " +"dynamic analysis of which lines are so frequent as to constitute noise, and " +"this usually works better than using this function." +msgstr "" +"*linejunk*: функція, яка приймає один рядковий аргумент і повертає true, " +"якщо рядок є небажаним, або false, якщо ні. Типовим значенням є ``None``. " +"Існує також функція на рівні модуля :func:`IS_LINE_JUNK`, яка відфільтровує " +"рядки без видимих символів, за винятком щонайбільше одного символу фунта " +"(``'#'``), однак базовий :class:`SequenceMatcher` клас виконує динамічний " +"аналіз того, які рядки є настільки частими, що створюють шум, і це зазвичай " +"працює краще, ніж використання цієї функції." + +msgid "" +"*charjunk*: A function that accepts a character (a string of length 1), and " +"returns if the character is junk, or false if not. The default is module-" +"level function :func:`IS_CHARACTER_JUNK`, which filters out whitespace " +"characters (a blank or tab; it's a bad idea to include newline in this!)." +msgstr "" +"*charjunk*: функція, яка приймає символ (рядок довжиною 1) і повертає, якщо " +"символ непотрібний, або false, якщо ні. За замовчуванням використовується " +"функція рівня модуля :func:`IS_CHARACTER_JUNK`, яка відфільтровує пробіли " +"(пробіл або символ табуляції; це погана ідея включати новий рядок у це!)." + +msgid "" +":file:`Tools/scripts/ndiff.py` is a command-line front-end to this function." +msgstr "" +":file:`Tools/scripts/ndiff.py` — інтерфейс командного рядка для цієї функції." + +msgid "Return one of the two sequences that generated a delta." +msgstr "Повертає одну з двох послідовностей, які створили дельту." + +msgid "" +"Given a *sequence* produced by :meth:`Differ.compare` or :func:`ndiff`, " +"extract lines originating from file 1 or 2 (parameter *which*), stripping " +"off line prefixes." +msgstr "" +"За наявності *послідовності*, створеної :meth:`Differ.compare` або :func:" +"`ndiff`, витягти рядки, що походять із файлу 1 або 2 (параметр *which*), " +"видаливши префікси рядків." + +msgid "Example:" +msgstr "приклад:" + +msgid "" +"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " +"generating the delta lines) in unified diff format." +msgstr "" +"Порівняти *a* і *b* (списки рядків); повертає дельту (:term:`generator`, що " +"генерує дельта-лінії) в уніфікованому форматі різниці." + +msgid "" +"Unified diffs are a compact way of showing just the lines that have changed " +"plus a few lines of context. The changes are shown in an inline style " +"(instead of separate before/after blocks). The number of context lines is " +"set by *n* which defaults to three." +msgstr "" +"Уніфіковані відмінності — це компактний спосіб показати лише рядки, які " +"змінилися, плюс кілька рядків контексту. Зміни відображаються у вбудованому " +"стилі (замість окремих блоків до/після). Кількість рядків контексту " +"встановлюється *n*, яке за замовчуванням дорівнює трьом." + +msgid "" +"By default, the diff control lines (those with ``---``, ``+++``, or ``@@``) " +"are created with a trailing newline. This is helpful so that inputs created " +"from :func:`io.IOBase.readlines` result in diffs that are suitable for use " +"with :func:`io.IOBase.writelines` since both the inputs and outputs have " +"trailing newlines." +msgstr "" +"За замовчуванням рядки керування відмінностями (з ``---``, ``+++`` або " +"``@@``) створюються з кінцевим символом нового рядка. Це корисно, щоб вхідні " +"дані, створені з :func:`io.IOBase.readlines`, призводили до відмінностей, " +"які придатні для використання з :func:`io.IOBase.writelines`, оскільки і " +"вхідні, і вихідні дані мають кінцеві символи нового рядка." + +msgid "" +"Compare *a* and *b* (lists of bytes objects) using *dfunc*; yield a sequence " +"of delta lines (also bytes) in the format returned by *dfunc*. *dfunc* must " +"be a callable, typically either :func:`unified_diff` or :func:`context_diff`." +msgstr "" +"Порівняти *a* і *b* (списки об’єктів bytes) за допомогою *dfunc*; дає " +"послідовність дельта-рядків (також байтів) у форматі, який повертає *dfunc*. " +"*dfunc* має бути викликом, як правило, :func:`unified_diff` або :func:" +"`context_diff`." + +msgid "" +"Allows you to compare data with unknown or inconsistent encoding. All inputs " +"except *n* must be bytes objects, not str. Works by losslessly converting " +"all inputs (except *n*) to str, and calling ``dfunc(a, b, fromfile, tofile, " +"fromfiledate, tofiledate, n, lineterm)``. The output of *dfunc* is then " +"converted back to bytes, so the delta lines that you receive have the same " +"unknown/inconsistent encodings as *a* and *b*." +msgstr "" +"Дозволяє порівнювати дані з невідомим або суперечливим кодуванням. Усі " +"вхідні дані, крім *n*, мають бути об’єктами bytes, а не str. Працює без " +"втрат, перетворюючи всі вхідні дані (крім *n*) на str і викликаючи " +"``dfunc(a, b, fromfile, tofile, fromfiledate, tofiledate, n, lineterm)``. " +"Вихідні дані *dfunc* потім перетворюються назад у байти, тому дельта-рядки, " +"які ви отримуєте, мають таке ж невідоме/непослідовне кодування, що й *a* і " +"*b*." + +msgid "" +"Return ``True`` for ignorable lines. The line *line* is ignorable if *line* " +"is blank or contains a single ``'#'``, otherwise it is not ignorable. Used " +"as a default for parameter *linejunk* in :func:`ndiff` in older versions." +msgstr "" +"Повертає ``True`` для ігнорованих рядків. Рядок *рядок* ігнорується, якщо " +"*рядок* порожній або містить один ``'#'``, інакше він не ігнорується. " +"Використовується за замовчуванням для параметра *linejunk* у :func:`ndiff` у " +"старих версіях." + +msgid "" +"Return ``True`` for ignorable characters. The character *ch* is ignorable " +"if *ch* is a space or tab, otherwise it is not ignorable. Used as a default " +"for parameter *charjunk* in :func:`ndiff`." +msgstr "" +"Повертає ``True`` для ігнорованих символів. Символ *ch* ігнорується, якщо " +"*ch* є пробілом або табуляцією, інакше він не ігнорується. Використовується " +"за замовчуванням для параметра *charjunk* у :func:`ndiff`." + +msgid "" +"`Pattern Matching: The Gestalt Approach `_" +msgstr "" + +msgid "" +"Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " +"This was published in `Dr. Dobb's Journal `_ in " +"July, 1988." +msgstr "" + +msgid "SequenceMatcher Objects" +msgstr "Об’єкти SequenceMatcher" + +msgid "The :class:`SequenceMatcher` class has this constructor:" +msgstr "Клас :class:`SequenceMatcher` має такий конструктор:" + +msgid "" +"Optional argument *isjunk* must be ``None`` (the default) or a one-argument " +"function that takes a sequence element and returns true if and only if the " +"element is \"junk\" and should be ignored. Passing ``None`` for *isjunk* is " +"equivalent to passing ``lambda x: False``; in other words, no elements are " +"ignored. For example, pass::" +msgstr "" +"Необов’язковий аргумент *isjunk* має бути ``None`` (за замовчуванням) або " +"функція з одним аргументом, яка приймає елемент послідовності та повертає " +"true тоді і тільки тоді, коли елемент є \"сміттєвим\" і його слід " +"ігнорувати. Передача ``None`` для *isjunk* еквівалентна передачі ``lambda x: " +"False``; іншими словами, жоден елемент не ігнорується. Наприклад, pass::" + +msgid "" +"if you're comparing lines as sequences of characters, and don't want to " +"synch up on blanks or hard tabs." +msgstr "" +"якщо ви порівнюєте рядки як послідовності символів і не хочете " +"синхронізувати пробіли чи жорсткі табуляції." + +msgid "" +"The optional arguments *a* and *b* are sequences to be compared; both " +"default to empty strings. The elements of both sequences must be :term:" +"`hashable`." +msgstr "" +"Необов'язкові аргументи *a* і *b* є послідовностями для порівняння; обидва " +"за замовчуванням порожні рядки. Елементи обох послідовностей мають бути :" +"term:`hashable`." + +msgid "" +"The optional argument *autojunk* can be used to disable the automatic junk " +"heuristic." +msgstr "" +"Необов’язковий аргумент *autojunk* можна використовувати для вимкнення " +"автоматичної евристики сміття." + +msgid "" +"SequenceMatcher objects get three data attributes: *bjunk* is the set of " +"elements of *b* for which *isjunk* is ``True``; *bpopular* is the set of non-" +"junk elements considered popular by the heuristic (if it is not disabled); " +"*b2j* is a dict mapping the remaining elements of *b* to a list of positions " +"where they occur. All three are reset whenever *b* is reset with :meth:" +"`set_seqs` or :meth:`set_seq2`." +msgstr "" +"Об’єкти SequenceMatcher отримують три атрибути даних: *bjunk* — це набір " +"елементів *b*, для яких *isjunk* має значення ``True``; *bpopular* — це " +"набір непотрібних елементів, які вважаються популярними за евристикою (якщо " +"її не вимкнено); *b2j* — це dict, що відображає решту елементів *b* на " +"список позицій, де вони зустрічаються. Усі три скидаються щоразу, коли *b* " +"скидається за допомогою :meth:`set_seqs` або :meth:`set_seq2`." + +msgid "The *bjunk* and *bpopular* attributes." +msgstr "Атрибути *bjunk* і *bpopular*." + +msgid ":class:`SequenceMatcher` objects have the following methods:" +msgstr "Об’єкти :class:`SequenceMatcher` мають такі методи:" + +msgid "Set the two sequences to be compared." +msgstr "Встановіть дві послідовності для порівняння." + +msgid "" +":class:`SequenceMatcher` computes and caches detailed information about the " +"second sequence, so if you want to compare one sequence against many " +"sequences, use :meth:`set_seq2` to set the commonly used sequence once and " +"call :meth:`set_seq1` repeatedly, once for each of the other sequences." +msgstr "" +":class:`SequenceMatcher` обчислює та кешує детальну інформацію про другу " +"послідовність, тому, якщо ви хочете порівняти одну послідовність із багатьма " +"послідовностями, використовуйте :meth:`set_seq2`, щоб один раз установити " +"типову послідовність і викликати :meth:`set_seq1` повторно, один раз для " +"кожної з інших послідовностей." + +msgid "" +"Set the first sequence to be compared. The second sequence to be compared " +"is not changed." +msgstr "" +"Встановіть першу послідовність для порівняння. Друга послідовність для " +"порівняння не змінюється." + +msgid "" +"Set the second sequence to be compared. The first sequence to be compared " +"is not changed." +msgstr "" +"Встановіть другу послідовність для порівняння. Перша послідовність для " +"порівняння не змінюється." + +msgid "Find longest matching block in ``a[alo:ahi]`` and ``b[blo:bhi]``." +msgstr "Знайти найдовший відповідний блок у ``a[alo:ahi]`` і ``b[blo:bhi]``." + +msgid "" +"If *isjunk* was omitted or ``None``, :meth:`find_longest_match` returns " +"``(i, j, k)`` such that ``a[i:i+k]`` is equal to ``b[j:j+k]``, where ``alo " +"<= i <= i+k <= ahi`` and ``blo <= j <= j+k <= bhi``. For all ``(i', j', " +"k')`` meeting those conditions, the additional conditions ``k >= k'``, ``i " +"<= i'``, and if ``i == i'``, ``j <= j'`` are also met. In other words, of " +"all maximal matching blocks, return one that starts earliest in *a*, and of " +"all those maximal matching blocks that start earliest in *a*, return the one " +"that starts earliest in *b*." +msgstr "" +"Якщо *isjunk* пропущено або ``None``, :meth:`find_longest_match` повертає " +"``(i, j, k)`` так, що ``a[i:i+k]`` дорівнює ``b[j:j+k]``, де ``alo <= i <= i" +"+k <= ahi`` and ``blo <= j <= j+k <= bhi``. For all ``(i', j', k')`` meeting " +"those conditions, the additional conditions ``k > = k''``, ``i <= i''``, а " +"якщо ``i == i'``, ``j <= j \"`` також зустрічаються. Іншими словами, з усіх " +"максимальних відповідних блоків поверніть той, який починається найраніше в " +"*a*, а з усіх тих максимальних відповідних блоків, які починаються раніше в " +"*a*, поверніть той, який починається найраніше в *b*." + +msgid "" +"If *isjunk* was provided, first the longest matching block is determined as " +"above, but with the additional restriction that no junk element appears in " +"the block. Then that block is extended as far as possible by matching " +"(only) junk elements on both sides. So the resulting block never matches on " +"junk except as identical junk happens to be adjacent to an interesting match." +msgstr "" +"Якщо було надано *isjunk*, спочатку визначається найдовший відповідний блок, " +"як описано вище, але з додатковим обмеженням, що в блоці не з’являється " +"сміттєвий елемент. Потім цей блок розширюється настільки, наскільки це " +"можливо, за допомогою зіставлення (лише) сміттєвих елементів з обох сторін. " +"Таким чином, отриманий блок ніколи не збігається зі сміттям, за винятком " +"випадків, коли ідентичне сміття буває поруч із цікавим збігом." + +msgid "" +"Here's the same example as before, but considering blanks to be junk. That " +"prevents ``' abcd'`` from matching the ``' abcd'`` at the tail end of the " +"second sequence directly. Instead only the ``'abcd'`` can match, and " +"matches the leftmost ``'abcd'`` in the second sequence:" +msgstr "" +"Ось той самий приклад, що й раніше, але вважаючи заготовки сміттям. Це " +"запобігає прямому збігу ``' abcd'`` з ``' abcd'`` у кінці другої " +"послідовності. Замість цього може збігатися лише ``'abcd'`` і збігається з " +"крайнім лівим ``'abcd'`` у другій послідовності:" + +msgid "If no blocks match, this returns ``(alo, blo, 0)``." +msgstr "Якщо жоден блок не збігається, повертається ``(alo, blo, 0)``." + +msgid "This method returns a :term:`named tuple` ``Match(a, b, size)``." +msgstr "Цей метод повертає :term:`named tuple` ``Match(a, b, size)``." + +msgid "Added default arguments." +msgstr "Додано типові аргументи." + +msgid "" +"Return list of triples describing non-overlapping matching subsequences. " +"Each triple is of the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:j" +"+n]``. The triples are monotonically increasing in *i* and *j*." +msgstr "" +"Повернути список трійок, що описують відповідні підпослідовності, що не " +"перекриваються. Кожна трійка має форму ``(i, j, n)`` і означає, що ``a[i:i" +"+n] == b[j:j+n]``. Трійки монотонно зростають у *i* та *j*." + +msgid "" +"The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It " +"is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', n')`` " +"are adjacent triples in the list, and the second is not the last triple in " +"the list, then ``i+n < i'`` or ``j+n < j'``; in other words, adjacent " +"triples always describe non-adjacent equal blocks." +msgstr "" +"Остання трійка є фіктивною і має значення ``(len(a), len(b), 0)``. Це єдина " +"трійка з ``n == 0``. Якщо ``(i, j, n)`` і ``(i', j', n')`` є суміжними " +"трійками в списку, а друга не є останньою трійкою в списку, тоді ``i +n < " +"i'`` або ``j+n < j'``; іншими словами, сусідні трійки завжди описують " +"несуміжні рівні блоки." + +msgid "" +"Return list of 5-tuples describing how to turn *a* into *b*. Each tuple is " +"of the form ``(tag, i1, i2, j1, j2)``. The first tuple has ``i1 == j1 == " +"0``, and remaining tuples have *i1* equal to the *i2* from the preceding " +"tuple, and, likewise, *j1* equal to the previous *j2*." +msgstr "" +"Повернути список із 5-ти кортежів, які описують, як перетворити *a* на *b*. " +"Кожен кортеж має форму ``(tag, i1, i2, j1, j2)``. Перший кортеж має ``i1 == " +"j1 == 0``, а решта кортежів мають *i1*, що дорівнює *i2* з попереднього " +"кортежу, і, так само, *j1* дорівнює попередньому *j2*." + +msgid "The *tag* values are strings, with these meanings:" +msgstr "Значення *тегу* є рядками з такими значеннями:" + +msgid "Value" +msgstr "Значення" + +msgid "``'replace'``" +msgstr "``'замінити'``" + +msgid "``a[i1:i2]`` should be replaced by ``b[j1:j2]``." +msgstr "``a[i1:i2]`` слід замінити на ``b[j1:j2]``." + +msgid "``'delete'``" +msgstr "``'видалити'``" + +msgid "``a[i1:i2]`` should be deleted. Note that ``j1 == j2`` in this case." +msgstr "" +"``a[i1:i2]`` слід видалити. Зверніть увагу, що в цьому випадку ``j1 == j2``." + +msgid "``'insert'``" +msgstr "``'вставити'``" + +msgid "" +"``b[j1:j2]`` should be inserted at ``a[i1:i1]``. Note that ``i1 == i2`` in " +"this case." +msgstr "" +"``b[j1:j2]`` слід вставити в ``a[i1:i1]``. Зверніть увагу, що в цьому " +"випадку ``i1 == i2``." + +msgid "``'equal'``" +msgstr "``'рівний''``" + +msgid "``a[i1:i2] == b[j1:j2]`` (the sub-sequences are equal)." +msgstr "``a[i1:i2] == b[j1:j2]`` (підпослідовності рівні)." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "Return a :term:`generator` of groups with up to *n* lines of context." +msgstr "Повертає :term:`generator` груп із до *n* рядків контексту." + +msgid "" +"Starting with the groups returned by :meth:`get_opcodes`, this method splits " +"out smaller change clusters and eliminates intervening ranges which have no " +"changes." +msgstr "" +"Починаючи з груп, повернутих :meth:`get_opcodes`, цей метод розділяє менші " +"кластери змін і усуває проміжні діапазони, які не мають змін." + +msgid "The groups are returned in the same format as :meth:`get_opcodes`." +msgstr "Групи повертаються у тому самому форматі, що й :meth:`get_opcodes`." + +msgid "" +"Return a measure of the sequences' similarity as a float in the range [0, 1]." +msgstr "" +"Повертає міру подібності послідовностей як число з плаваючою точкою в " +"діапазоні [0, 1]." + +msgid "" +"Where T is the total number of elements in both sequences, and M is the " +"number of matches, this is 2.0\\*M / T. Note that this is ``1.0`` if the " +"sequences are identical, and ``0.0`` if they have nothing in common." +msgstr "" +"Де T — загальна кількість елементів в обох послідовностях, а M — кількість " +"збігів, це 2,0\\*M / T. Зауважте, що це \"1,0\", якщо послідовності " +"ідентичні, і \"0,0\" якщо вони не мають нічого спільного." + +msgid "" +"This is expensive to compute if :meth:`get_matching_blocks` or :meth:" +"`get_opcodes` hasn't already been called, in which case you may want to try :" +"meth:`quick_ratio` or :meth:`real_quick_ratio` first to get an upper bound." +msgstr "" +"Це дорого обчислювати, якщо :meth:`get_matching_blocks` або :meth:" +"`get_opcodes` ще не було викликано, у такому випадку ви можете спочатку " +"спробувати :meth:`quick_ratio` або :meth:`real_quick_ratio`, щоб отримати " +"верхня межа." + +msgid "" +"Caution: The result of a :meth:`ratio` call may depend on the order of the " +"arguments. For instance::" +msgstr "" +"Застереження: результат виклику :meth:`ratio` може залежати від порядку " +"аргументів. Наприклад::" + +msgid "Return an upper bound on :meth:`ratio` relatively quickly." +msgstr "Відносно швидко повертає верхню межу :meth:`ratio`." + +msgid "Return an upper bound on :meth:`ratio` very quickly." +msgstr "Дуже швидко повертає верхню межу :meth:`ratio`." + +msgid "" +"The three methods that return the ratio of matching to total characters can " +"give different results due to differing levels of approximation, although :" +"meth:`quick_ratio` and :meth:`real_quick_ratio` are always at least as large " +"as :meth:`ratio`:" +msgstr "" +"Три методи, які повертають відношення відповідності до загальної кількості " +"символів, можуть дати різні результати через різні рівні наближення, хоча :" +"meth:`quick_ratio` і :meth:`real_quick_ratio` завжди принаймні такі ж " +"великі, як :meth:`ratio` :" + +msgid "SequenceMatcher Examples" +msgstr "Приклади SequenceMatcher" + +msgid "This example compares two strings, considering blanks to be \"junk\":" +msgstr "" +"У цьому прикладі порівнюються два рядки, вважаючи пробіли \"сміттєвими\":" + +msgid "" +":meth:`ratio` returns a float in [0, 1], measuring the similarity of the " +"sequences. As a rule of thumb, a :meth:`ratio` value over 0.6 means the " +"sequences are close matches:" +msgstr "" +":meth:`ratio` повертає значення з плаваючою точкою в [0, 1], вимірюючи " +"подібність послідовностей. Як правило, значення :meth:`ratio` більше 0,6 " +"означає, що послідовності є близькими збігами:" + +msgid "" +"If you're only interested in where the sequences match, :meth:" +"`get_matching_blocks` is handy:" +msgstr "" +"Якщо вас цікавить лише те, де збігаються послідовності, :meth:" +"`get_matching_blocks` стане в нагоді:" + +msgid "" +"Note that the last tuple returned by :meth:`get_matching_blocks` is always a " +"dummy, ``(len(a), len(b), 0)``, and this is the only case in which the last " +"tuple element (number of elements matched) is ``0``." +msgstr "" +"Зауважте, що останній кортеж, повернутий :meth:`get_matching_blocks`, завжди " +"є фіктивним, ``(len(a), len(b), 0)``, і це єдиний випадок, коли останній " +"елемент кортежу (число відповідних елементів) дорівнює ``0``." + +msgid "" +"If you want to know how to change the first sequence into the second, use :" +"meth:`get_opcodes`:" +msgstr "" +"Якщо ви хочете знати, як змінити першу послідовність на другу, " +"використовуйте :meth:`get_opcodes`:" + +msgid "" +"The :func:`get_close_matches` function in this module which shows how simple " +"code building on :class:`SequenceMatcher` can be used to do useful work." +msgstr "" +"Функція :func:`get_close_matches` у цьому модулі, яка показує, як простий " +"код, створений на :class:`SequenceMatcher`, можна використовувати для " +"виконання корисної роботи." + +msgid "" +"`Simple version control recipe `_ for a small application built with :class:`SequenceMatcher`." +msgstr "" +"`Простий рецепт керування версіями `_ для невеликої програми, створеної за допомогою :class:" +"`SequenceMatcher`." + +msgid "Differ Objects" +msgstr "Різні об'єкти" + +msgid "" +"Note that :class:`Differ`\\ -generated deltas make no claim to be " +"**minimal** diffs. To the contrary, minimal diffs are often counter-" +"intuitive, because they synch up anywhere possible, sometimes accidental " +"matches 100 pages apart. Restricting synch points to contiguous matches " +"preserves some notion of locality, at the occasional cost of producing a " +"longer diff." +msgstr "" +"Зауважте, що :class:`Differ`\\ -генеровані дельти не претендують на " +"**мінімальні** відмінності. Навпаки, мінімальні відмінності часто суперечать " +"інтуїції, оскільки вони синхронізуються будь-де, де можливо, іноді випадково " +"збігаються на 100 сторінках одна від одної. Обмеження точок синхронізації " +"суміжними збігами зберігає деяке уявлення про локальність за рахунок " +"випадкових витрат на створення довшої різниці." + +msgid "The :class:`Differ` class has this constructor:" +msgstr "Клас :class:`Differ` має такий конструктор:" + +msgid "" +"Optional keyword parameters *linejunk* and *charjunk* are for filter " +"functions (or ``None``):" +msgstr "" +"Додаткові параметри ключових слів *linejunk* і *charjunk* призначені для " +"функцій фільтра (або ``None``):" + +msgid "" +"*linejunk*: A function that accepts a single string argument, and returns " +"true if the string is junk. The default is ``None``, meaning that no line " +"is considered junk." +msgstr "" +"*linejunk*: функція, яка приймає один рядковий аргумент і повертає істину, " +"якщо рядок є небажаним. Типовим значенням є ``None``, що означає, що жоден " +"рядок не вважається небажаним." + +msgid "" +"*charjunk*: A function that accepts a single character argument (a string of " +"length 1), and returns true if the character is junk. The default is " +"``None``, meaning that no character is considered junk." +msgstr "" +"*charjunk*: функція, яка приймає односимвольний аргумент (рядок довжиною 1) " +"і повертає істину, якщо символ непотрібний. Типовим значенням є ``None``, що " +"означає, що жоден символ не вважається небажаним." + +msgid "" +"These junk-filtering functions speed up matching to find differences and do " +"not cause any differing lines or characters to be ignored. Read the " +"description of the :meth:`~SequenceMatcher.find_longest_match` method's " +"*isjunk* parameter for an explanation." +msgstr "" +"Ці функції фільтрації сміття пришвидшують зіставлення для пошуку " +"відмінностей і не призводять до ігнорування будь-яких відмінних рядків чи " +"символів. Щоб отримати пояснення, прочитайте опис параметра *isjunk* методу :" +"meth:`~SequenceMatcher.find_longest_match`." + +msgid "" +":class:`Differ` objects are used (deltas generated) via a single method:" +msgstr "" +"Об’єкти :class:`Differ` використовуються (генеруються дельти) за допомогою " +"одного методу:" + +msgid "" +"Compare two sequences of lines, and generate the delta (a sequence of lines)." +msgstr "" +"Порівняйте дві послідовності рядків і згенеруйте дельту (послідовність " +"рядків)." + +msgid "" +"Each sequence must contain individual single-line strings ending with " +"newlines. Such sequences can be obtained from the :meth:`~io.IOBase." +"readlines` method of file-like objects. The delta generated also consists " +"of newline-terminated strings, ready to be printed as-is via the :meth:`~io." +"IOBase.writelines` method of a file-like object." +msgstr "" +"Кожна послідовність повинна містити окремі однорядкові рядки, що " +"закінчуються символом нового рядка. Такі послідовності можна отримати з " +"методу файлоподібних об’єктів :meth:`~io.IOBase.readlines`. Згенерована " +"дельта також складається з рядків із закінченням нового рядка, готових до " +"друку як є за допомогою методу :meth:`~io.IOBase.writelines` файлоподібного " +"об’єкта." + +msgid "Differ Example" +msgstr "Різний приклад" + +msgid "" +"This example compares two texts. First we set up the texts, sequences of " +"individual single-line strings ending with newlines (such sequences can also " +"be obtained from the :meth:`~io.BaseIO.readlines` method of file-like " +"objects):" +msgstr "" +"У цьому прикладі порівнюються два тексти. Спочатку ми встановлюємо тексти, " +"послідовності окремих однорядкових рядків, що закінчуються символом нового " +"рядка (такі послідовності також можна отримати з методу файлоподібних " +"об’єктів :meth:`~io.BaseIO.readlines`):" + +msgid "Next we instantiate a Differ object:" +msgstr "Далі ми створюємо екземпляр об’єкта Differ:" + +msgid "" +"Note that when instantiating a :class:`Differ` object we may pass functions " +"to filter out line and character \"junk.\" See the :meth:`Differ` " +"constructor for details." +msgstr "" +"Зауважте, що під час створення екземпляра об’єкта :class:`Differ` ми можемо " +"передати функції для фільтрації \"сміття\" рядків і символів. Подробиці див. " +"у конструкторі :meth:`Differ`." + +msgid "Finally, we compare the two:" +msgstr "Нарешті, ми порівнюємо два:" + +msgid "``result`` is a list of strings, so let's pretty-print it:" +msgstr "``результат`` - це список рядків, тож давайте красиво надрукуємо його:" + +msgid "As a single multi-line string it looks like this:" +msgstr "Як один багаторядковий рядок це виглядає так:" + +msgid "A command-line interface to difflib" +msgstr "Інтерфейс командного рядка для difflib" + +msgid "" +"This example shows how to use difflib to create a ``diff``-like utility. It " +"is also contained in the Python source distribution, as :file:`Tools/scripts/" +"diff.py`." +msgstr "" +"У цьому прикладі показано, як використовувати difflib для створення ``diff``-" +"подібної утиліти. Він також міститься у вихідному дистрибутиві Python як :" +"file:`Tools/scripts/diff.py`." diff --git a/library/dis.po b/library/dis.po new file mode 100644 index 000000000..7b694ef1f --- /dev/null +++ b/library/dis.po @@ -0,0 +1,1410 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`dis` --- Disassembler for Python bytecode" +msgstr ":mod:`dis` --- Дизасемблер для байт-коду Python" + +msgid "**Source code:** :source:`Lib/dis.py`" +msgstr "**Вихідний код:** :source:`Lib/dis.py`" + +msgid "" +"The :mod:`dis` module supports the analysis of CPython :term:`bytecode` by " +"disassembling it. The CPython bytecode which this module takes as an input " +"is defined in the file :file:`Include/opcode.h` and used by the compiler and " +"the interpreter." +msgstr "" +"Модуль :mod:`dis` підтримує аналіз :term:`bytecode` CPython шляхом його " +"розбирання. Байт-код CPython, який цей модуль приймає як вхідні дані, " +"визначається у файлі :file:`Include/opcode.h` і використовується " +"компілятором та інтерпретатором." + +msgid "" +"Bytecode is an implementation detail of the CPython interpreter. No " +"guarantees are made that bytecode will not be added, removed, or changed " +"between versions of Python. Use of this module should not be considered to " +"work across Python VMs or Python releases." +msgstr "" +"Байт-код — це деталь реалізації інтерпретатора CPython. Немає гарантій, що " +"байт-код не буде додано, видалено або змінено між версіями Python. " +"Використання цього модуля не слід вважати таким, що працює на віртуальних " +"машинах Python або випусках Python." + +msgid "" +"Use 2 bytes for each instruction. Previously the number of bytes varied by " +"instruction." +msgstr "" +"Використовуйте 2 байти для кожної інструкції. Раніше кількість байтів " +"змінювалася залежно від інструкції." + +msgid "" +"The argument of jump, exception handling and loop instructions is now the " +"instruction offset rather than the byte offset." +msgstr "" + +msgid "" +"Some instructions are accompanied by one or more inline cache entries, which " +"take the form of :opcode:`CACHE` instructions. These instructions are hidden " +"by default, but can be shown by passing ``show_caches=True`` to any :mod:" +"`dis` utility. Furthermore, the interpreter now adapts the bytecode to " +"specialize it for different runtime conditions. The adaptive bytecode can be " +"shown by passing ``adaptive=True``." +msgstr "" + +msgid "Example: Given the function :func:`myfunc`::" +msgstr "Приклад: Дано функцію :func:`myfunc`::" + +msgid "" +"the following command can be used to display the disassembly of :func:" +"`myfunc`:" +msgstr "" + +msgid "(The \"2\" is a line number)." +msgstr "(\"2\" — це номер рядка)." + +msgid "Bytecode analysis" +msgstr "Аналіз байт-коду" + +msgid "" +"The bytecode analysis API allows pieces of Python code to be wrapped in a :" +"class:`Bytecode` object that provides easy access to details of the compiled " +"code." +msgstr "" +"API аналізу байт-коду дозволяє обернути фрагменти коду Python в об’єкт :" +"class:`Bytecode`, який забезпечує легкий доступ до деталей скомпільованого " +"коду." + +msgid "" +"Analyse the bytecode corresponding to a function, generator, asynchronous " +"generator, coroutine, method, string of source code, or a code object (as " +"returned by :func:`compile`)." +msgstr "" +"Проаналізуйте байт-код, що відповідає функції, генератору, асинхронному " +"генератору, співпрограмі, методу, рядку вихідного коду або об’єкту коду (як " +"повертає :func:`compile`)." + +msgid "" +"This is a convenience wrapper around many of the functions listed below, " +"most notably :func:`get_instructions`, as iterating over a :class:`Bytecode` " +"instance yields the bytecode operations as :class:`Instruction` instances." +msgstr "" +"Це зручна обгортка для багатьох функцій, перелічених нижче, особливо :func:" +"`get_instructions`, оскільки ітерація над екземпляром :class:`Bytecode` дає " +"операції з байт-кодом як екземпляри :class:`Instruction`." + +msgid "" +"If *first_line* is not ``None``, it indicates the line number that should be " +"reported for the first source line in the disassembled code. Otherwise, the " +"source line information (if any) is taken directly from the disassembled " +"code object." +msgstr "" +"Якщо *first_line* не є ``None``, це вказує номер рядка, який має бути " +"повідомлено для першого вихідного рядка в дизассембленому коді. В іншому " +"випадку інформація про вихідний рядок (якщо така є) береться безпосередньо з " +"розібраного об’єкта коду." + +msgid "" +"If *current_offset* is not ``None``, it refers to an instruction offset in " +"the disassembled code. Setting this means :meth:`.dis` will display a " +"\"current instruction\" marker against the specified opcode." +msgstr "" +"Якщо *current_offset* не є ``None``, це стосується зсуву інструкції в " +"дизассембленому коді. Якщо встановити це значення, :meth:`.dis` " +"відображатиме маркер \"поточна інструкція\" проти вказаного коду операції." + +msgid "" +"If *show_caches* is ``True``, :meth:`.dis` will display inline cache entries " +"used by the interpreter to specialize the bytecode." +msgstr "" + +msgid "" +"If *adaptive* is ``True``, :meth:`.dis` will display specialized bytecode " +"that may be different from the original bytecode." +msgstr "" + +msgid "" +"Construct a :class:`Bytecode` instance from the given traceback, setting " +"*current_offset* to the instruction responsible for the exception." +msgstr "" +"Створіть екземпляр :class:`Bytecode` із заданого трасування, встановивши " +"*current_offset* для інструкції, відповідальної за виняток." + +msgid "The compiled code object." +msgstr "Об’єкт скомпільованого коду." + +msgid "The first source line of the code object (if available)" +msgstr "Перший вихідний рядок об'єкта коду (якщо доступний)" + +msgid "" +"Return a formatted view of the bytecode operations (the same as printed by :" +"func:`dis.dis`, but returned as a multi-line string)." +msgstr "" +"Повертає відформатований вигляд операцій байт-коду (те саме, що надруковано :" +"func:`dis.dis`, але повертається як багаторядковий рядок)." + +msgid "" +"Return a formatted multi-line string with detailed information about the " +"code object, like :func:`code_info`." +msgstr "" +"Повертає відформатований багаторядковий рядок із детальною інформацією про " +"об’єкт коду, наприклад :func:`code_info`." + +msgid "This can now handle coroutine and asynchronous generator objects." +msgstr "" +"Тепер це може обробляти об’єкти співпрограми та асинхронного генератора." + +msgid "Added the *show_caches* and *adaptive* parameters." +msgstr "" + +msgid "Example:" +msgstr "приклад:" + +msgid "Analysis functions" +msgstr "Функції аналізу" + +msgid "" +"The :mod:`dis` module also defines the following analysis functions that " +"convert the input directly to the desired output. They can be useful if only " +"a single operation is being performed, so the intermediate analysis object " +"isn't useful:" +msgstr "" +"Модуль :mod:`dis` також визначає наступні функції аналізу, які перетворюють " +"вхідні дані безпосередньо в бажані вивідні дані. Вони можуть бути корисними, " +"якщо виконується лише одна операція, тому проміжний об’єкт аналізу не " +"корисний:" + +msgid "" +"Return a formatted multi-line string with detailed code object information " +"for the supplied function, generator, asynchronous generator, coroutine, " +"method, source code string or code object." +msgstr "" +"Повертає відформатований багаторядковий рядок із детальною інформацією про " +"об’єкт коду для наданої функції, генератора, асинхронного генератора, " +"співпрограми, методу, рядка вихідного коду чи об’єкта коду." + +msgid "" +"Note that the exact contents of code info strings are highly implementation " +"dependent and they may change arbitrarily across Python VMs or Python " +"releases." +msgstr "" +"Зауважте, що точний вміст інформаційних рядків коду сильно залежить від " +"реалізації та може довільно змінюватися на різних віртуальних машинах Python " +"або випусках Python." + +msgid "" +"Print detailed code object information for the supplied function, method, " +"source code string or code object to *file* (or ``sys.stdout`` if *file* is " +"not specified)." +msgstr "" +"Вивести детальну інформацію про об’єкт коду для наданої функції, методу, " +"рядка вихідного коду або об’єкта коду у *файл* (або ``sys.stdout``, якщо " +"*файл* не вказано)." + +msgid "" +"This is a convenient shorthand for ``print(code_info(x), file=file)``, " +"intended for interactive exploration at the interpreter prompt." +msgstr "" +"Це зручне скорочення для ``print(code_info(x), file=file)``, призначене для " +"інтерактивного дослідження під час підказки інтерпретатора." + +msgid "Added *file* parameter." +msgstr "Додано параметр *file*." + +msgid "" +"Disassemble the *x* object. *x* can denote either a module, a class, a " +"method, a function, a generator, an asynchronous generator, a coroutine, a " +"code object, a string of source code or a byte sequence of raw bytecode. For " +"a module, it disassembles all functions. For a class, it disassembles all " +"methods (including class and static methods). For a code object or sequence " +"of raw bytecode, it prints one line per bytecode instruction. It also " +"recursively disassembles nested code objects (the code of comprehensions, " +"generator expressions and nested functions, and the code used for building " +"nested classes). Strings are first compiled to code objects with the :func:" +"`compile` built-in function before being disassembled. If no object is " +"provided, this function disassembles the last traceback." +msgstr "" +"Розберіть об'єкт *x*. *x* може позначати модуль, клас, метод, функцію, " +"генератор, асинхронний генератор, співпрограму, кодовий об’єкт, рядок " +"вихідного коду або послідовність байтів необробленого байт-коду. Для модуля " +"він розбирає всі функції. Для класу він розбирає всі методи (включаючи " +"класові та статичні методи). Для кодового об’єкта або послідовності " +"необробленого байт-коду він друкує один рядок для кожної інструкції байт-" +"коду. Він також рекурсивно розбирає вкладені об’єкти коду (код розуміння, " +"вирази генератора та вкладені функції, а також код, який використовується " +"для створення вкладених класів). Рядки спочатку компілюються для кодування " +"об’єктів за допомогою вбудованої функції :func:`compile` перед розбиранням. " +"Якщо об’єкт не надано, ця функція розбирає останню трасування." + +msgid "" +"The disassembly is written as text to the supplied *file* argument if " +"provided and to ``sys.stdout`` otherwise." +msgstr "" +"Розбирання записується як текст до наданого аргументу *file*, якщо він " +"надається, та до ``sys.stdout`` інакше." + +msgid "" +"The maximal depth of recursion is limited by *depth* unless it is ``None``. " +"``depth=0`` means no recursion." +msgstr "" +"Максимальна глибина рекурсії обмежена параметром *depth*, якщо не " +"встановлено ``None``. ``depth=0`` означає відсутність рекурсії." + +msgid "" +"If *show_caches* is ``True``, this function will display inline cache " +"entries used by the interpreter to specialize the bytecode." +msgstr "" + +msgid "" +"If *adaptive* is ``True``, this function will display specialized bytecode " +"that may be different from the original bytecode." +msgstr "" + +msgid "Implemented recursive disassembling and added *depth* parameter." +msgstr "Реалізовано рекурсивне розбирання та додано параметр *depth*." + +msgid "" +"Disassemble the top-of-stack function of a traceback, using the last " +"traceback if none was passed. The instruction causing the exception is " +"indicated." +msgstr "" +"Розберіть функцію top-of-stack зворотного трасування, використовуючи останню " +"трасування, якщо жодного не було передано. Вказується інструкція, що " +"спричиняє виняток." + +msgid "" +"Disassemble a code object, indicating the last instruction if *lasti* was " +"provided. The output is divided in the following columns:" +msgstr "" +"Розберіть об’єкт коду, вказавши останню інструкцію, якщо було надано " +"*lasti*. Результат поділено на такі стовпці:" + +msgid "the line number, for the first instruction of each line" +msgstr "номер рядка для першої інструкції кожного рядка" + +msgid "the current instruction, indicated as ``-->``," +msgstr "поточна інструкція, позначена як ``-->``," + +msgid "a labelled instruction, indicated with ``>>``," +msgstr "маркована інструкція, позначена ``>>``," + +msgid "the address of the instruction," +msgstr "адреса інструкції," + +msgid "the operation code name," +msgstr "кодова назва операції," + +msgid "operation parameters, and" +msgstr "параметри роботи, і" + +msgid "interpretation of the parameters in parentheses." +msgstr "інтерпретація параметрів у дужках." + +msgid "" +"The parameter interpretation recognizes local and global variable names, " +"constant values, branch targets, and compare operators." +msgstr "" +"Інтерпретація параметрів розпізнає імена локальних і глобальних змінних, " +"постійні значення, цілі розгалужень і оператори порівняння." + +msgid "" +"Return an iterator over the instructions in the supplied function, method, " +"source code string or code object." +msgstr "" +"Повертає ітератор над інструкціями в наданій функції, методі, рядку " +"вихідного коду або об’єкті коду." + +msgid "" +"The iterator generates a series of :class:`Instruction` named tuples giving " +"the details of each operation in the supplied code." +msgstr "" +"Ітератор генерує ряд іменованих кортежів :class:`Instruction`, що надає " +"деталі кожної операції в наданому коді." + +msgid "" +"The *show_caches* and *adaptive* parameters work as they do in :func:`dis`." +msgstr "" + +msgid "" +"This generator function uses the ``co_lines`` method of the code object " +"*code* to find the offsets which are starts of lines in the source code. " +"They are generated as ``(offset, lineno)`` pairs." +msgstr "" + +msgid "Line numbers can be decreasing. Before, they were always increasing." +msgstr "Номери рядків можуть зменшуватися. Раніше вони постійно зростали." + +msgid "" +"The :pep:`626` ``co_lines`` method is used instead of the ``co_firstlineno`` " +"and ``co_lnotab`` attributes of the code object." +msgstr "" + +msgid "" +"Detect all offsets in the raw compiled bytecode string *code* which are jump " +"targets, and return a list of these offsets." +msgstr "" +"Виявлення всіх зсувів у необробленому скомпільованому рядку *code* байт-" +"коду, які є цілями переходу, і повернення списку цих зсувів." + +msgid "Compute the stack effect of *opcode* with argument *oparg*." +msgstr "Обчисліть ефект стека *opcode* з аргументом *oparg*." + +msgid "" +"If the code has a jump target and *jump* is ``True``, :func:`~stack_effect` " +"will return the stack effect of jumping. If *jump* is ``False``, it will " +"return the stack effect of not jumping. And if *jump* is ``None`` (default), " +"it will return the maximal stack effect of both cases." +msgstr "" +"Якщо код має ціль переходу і *jump* має значення ``True``, :func:" +"`~stack_effect` поверне ефект стека стрибка. Якщо *jump* має значення " +"``False``, він поверне ефект стека без стрибка. І якщо *jump* має значення " +"``None`` (за замовчуванням), він поверне максимальний ефект стека в обох " +"випадках." + +msgid "Added *jump* parameter." +msgstr "Додано параметр *jump*." + +msgid "Python Bytecode Instructions" +msgstr "Інструкції щодо байт-коду Python" + +msgid "" +"The :func:`get_instructions` function and :class:`Bytecode` class provide " +"details of bytecode instructions as :class:`Instruction` instances:" +msgstr "" +"Функція :func:`get_instructions` і клас :class:`Bytecode` надають деталі " +"інструкцій байт-коду як екземпляри :class:`Instruction`:" + +msgid "Details for a bytecode operation" +msgstr "Подробиці для операції байт-коду" + +msgid "" +"numeric code for operation, corresponding to the opcode values listed below " +"and the bytecode values in the :ref:`opcode_collections`." +msgstr "" +"числовий код для операції, що відповідає значенням коду операції, наведеним " +"нижче, і значенням байт-коду в :ref:`opcode_collections`." + +msgid "human readable name for operation" +msgstr "зрозуміла для людини назва операції" + +msgid "numeric argument to operation (if any), otherwise ``None``" +msgstr "числовий аргумент операції (якщо є), інакше ``None``" + +msgid "resolved arg value (if any), otherwise ``None``" +msgstr "" + +msgid "" +"human readable description of operation argument (if any), otherwise an " +"empty string." +msgstr "" + +msgid "start index of operation within bytecode sequence" +msgstr "початковий індекс операції в послідовності байт-коду" + +msgid "line started by this opcode (if any), otherwise ``None``" +msgstr "рядок починається цим кодом операції (якщо є), інакше ``None``" + +msgid "``True`` if other code jumps to here, otherwise ``False``" +msgstr "``True``, якщо інший код переходить сюди, інакше ``False``" + +msgid "" +":class:`dis.Positions` object holding the start and end locations that are " +"covered by this instruction." +msgstr "" + +msgid "Field ``positions`` is added." +msgstr "" + +msgid "" +"In case the information is not available, some fields might be ``None``." +msgstr "" + +msgid "" +"The Python compiler currently generates the following bytecode instructions." +msgstr "Наразі компілятор Python генерує наступні інструкції байт-коду." + +msgid "**General instructions**" +msgstr "**Загальні інструкції**" + +msgid "" +"Do nothing code. Used as a placeholder by the bytecode optimizer, and to " +"generate line tracing events." +msgstr "" + +msgid "Removes the top-of-stack (TOS) item." +msgstr "Видаляє елемент верхнього стека (TOS)." + +msgid "" +"Push the *i*-th item to the top of the stack. The item is not removed from " +"its original location." +msgstr "" + +msgid "Swap TOS with the item at position *i*." +msgstr "" + +msgid "" +"Rather than being an actual instruction, this opcode is used to mark extra " +"space for the interpreter to cache useful data directly in the bytecode " +"itself. It is automatically hidden by all ``dis`` utilities, but can be " +"viewed with ``show_caches=True``." +msgstr "" + +msgid "" +"Logically, this space is part of the preceding instruction. Many opcodes " +"expect to be followed by an exact number of caches, and will instruct the " +"interpreter to skip over them at runtime." +msgstr "" + +msgid "" +"Populated caches can look like arbitrary instructions, so great care should " +"be taken when reading or modifying raw, adaptive bytecode containing " +"quickened data." +msgstr "" + +msgid "**Unary operations**" +msgstr "**Унарні операції**" + +msgid "" +"Unary operations take the top of the stack, apply the operation, and push " +"the result back on the stack." +msgstr "" +"Унарні операції займають вершину стека, застосовують операцію та повертають " +"результат назад у стек." + +msgid "Implements ``TOS = +TOS``." +msgstr "Реалізує ``TOS = +TOS``." + +msgid "Implements ``TOS = -TOS``." +msgstr "Реалізує ``TOS = -TOS``." + +msgid "Implements ``TOS = not TOS``." +msgstr "Реалізує ``TOS = not TOS``." + +msgid "Implements ``TOS = ~TOS``." +msgstr "Реалізує ``TOS = ~TOS``." + +msgid "Implements ``TOS = iter(TOS)``." +msgstr "Реалізує ``TOS = iter(TOS)``." + +msgid "" +"If ``TOS`` is a :term:`generator iterator` or :term:`coroutine` object it is " +"left as is. Otherwise, implements ``TOS = iter(TOS)``." +msgstr "" +"Якщо ``TOS`` є об’єктом :term:`generator iterator` або :term:`coroutine`, " +"він залишається таким, як є. В іншому випадку реалізує ``TOS = iter(TOS)``." + +msgid "**Binary and in-place operations**" +msgstr "" + +msgid "" +"Binary operations remove the top of the stack (TOS) and the second top-most " +"stack item (TOS1) from the stack. They perform the operation, and put the " +"result back on the stack." +msgstr "" +"Двійкові операції видаляють верхню частину стека (TOS) і другий найвищий " +"елемент стека (TOS1) зі стеку. Вони виконують операцію та повертають " +"результат у стек." + +msgid "" +"In-place operations are like binary operations, in that they remove TOS and " +"TOS1, and push the result back on the stack, but the operation is done in-" +"place when TOS1 supports it, and the resulting TOS may be (but does not have " +"to be) the original TOS1." +msgstr "" +"Операції на місці схожі на двійкові операції, оскільки вони видаляють TOS і " +"TOS1 і повертають результат назад у стек, але операція виконується на місці, " +"коли TOS1 підтримує це, і результуючий TOS може бути (але не має бути) " +"оригінальний TOS1." + +msgid "" +"Implements the binary and in-place operators (depending on the value of " +"*op*)." +msgstr "" + +msgid "Implements ``TOS = TOS1[TOS]``." +msgstr "Реалізує ``TOS = TOS1[TOS]``." + +msgid "Implements ``TOS1[TOS] = TOS2``." +msgstr "Реалізує ``TOS1[TOS] = TOS2``." + +msgid "Implements ``del TOS1[TOS]``." +msgstr "Реалізує ``del TOS1[TOS]``." + +msgid "**Coroutine opcodes**" +msgstr "**Коди операцій співпрограми**" + +msgid "" +"Implements ``TOS = get_awaitable(TOS)``, where ``get_awaitable(o)`` returns " +"``o`` if ``o`` is a coroutine object or a generator object with the " +"CO_ITERABLE_COROUTINE flag, or resolves ``o.__await__``." +msgstr "" +"Реалізує ``TOS = get_awaitable(TOS)``, де ``get_awaitable(o)`` повертає " +"``o``, якщо ``o`` є об'єктом співпрограми або об'єктом генератора з прапором " +"CO_ITERABLE_COROUTINE, або вирішує ``o.__await__``." + +msgid "" +"If the ``where`` operand is nonzero, it indicates where the instruction " +"occurs:" +msgstr "" + +msgid "``1`` After a call to ``__aenter__``" +msgstr "" + +msgid "``2`` After a call to ``__aexit__``" +msgstr "" + +msgid "Previously, this instruction did not have an oparg." +msgstr "" + +msgid "Implements ``TOS = TOS.__aiter__()``." +msgstr "Реалізує ``TOS = TOS.__aiter__()``." + +msgid "Returning awaitable objects from ``__aiter__`` is no longer supported." +msgstr "" +"Повернення очікуваних об’єктів із ``__aiter__`` більше не підтримується." + +msgid "" +"Pushes ``get_awaitable(TOS.__anext__())`` to the stack. See " +"``GET_AWAITABLE`` for details about ``get_awaitable``." +msgstr "" + +msgid "" +"Terminates an :keyword:`async for` loop. Handles an exception raised when " +"awaiting a next item. If TOS is :exc:`StopAsyncIteration` pop 3 values from " +"the stack and restore the exception state using the second of them. " +"Otherwise re-raise the exception using the value from the stack. An " +"exception handler block is removed from the block stack." +msgstr "" + +msgid "" +"Exception representation on the stack now consist of one, not three, items." +msgstr "" + +msgid "" +"Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the " +"stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack." +msgstr "" +"Вирішує ``__aenter__`` і ``__aexit__`` з об’єкта на вершині стека. Надсилає " +"``__aexit__`` і результат ``__aenter__()`` до стеку." + +msgid "**Miscellaneous opcodes**" +msgstr "**Різні коди операцій**" + +msgid "" +"Implements the expression statement for the interactive mode. TOS is " +"removed from the stack and printed. In non-interactive mode, an expression " +"statement is terminated with :opcode:`POP_TOP`." +msgstr "" +"Реалізує оператор виразу для інтерактивного режиму. TOS видаляється зі стеку " +"та друкується. У неінтерактивному режимі оператор виразу завершується :" +"opcode:`POP_TOP`." + +msgid "" +"Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions." +msgstr "" +"Викликає ``set.add(TOS1[-i], TOS)``. Використовується для реалізації " +"розуміння набору." + +msgid "" +"Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions." +msgstr "" +"Викликає ``list.append(TOS1[-i], TOS)``. Використовується для реалізації " +"розуміння списку." + +msgid "" +"Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict " +"comprehensions." +msgstr "" +"Викликає ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Використовується для " +"реалізації диктового розуміння." + +msgid "Map value is TOS and map key is TOS1. Before, those were reversed." +msgstr "Значення карти – TOS, а ключ карти – TOS1. Раніше вони були змінені." + +msgid "" +"For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and :opcode:" +"`MAP_ADD` instructions, while the added value or key/value pair is popped " +"off, the container object remains on the stack so that it is available for " +"further iterations of the loop." +msgstr "" +"Для всіх інструкцій :opcode:`SET_ADD`, :opcode:`LIST_APPEND` і :opcode:" +"`MAP_ADD`, поки додане значення або пара ключ/значення видаляється, об’єкт-" +"контейнер залишається в стеку, тому він доступний для подальших ітерацій " +"циклу." + +msgid "Returns with TOS to the caller of the function." +msgstr "Повертається з TOS до абонента функції." + +msgid "Pops TOS and yields it from a :term:`generator`." +msgstr "Витягує TOS і повертає його з :term:`generator`." + +msgid "" +"Checks whether ``__annotations__`` is defined in ``locals()``, if not it is " +"set up to an empty ``dict``. This opcode is only emitted if a class or " +"module body contains :term:`variable annotations ` " +"statically." +msgstr "" +"Перевіряє, чи визначено ``__annotations__`` в ``locals()``, якщо ні, воно " +"встановлюється на порожній ``dict``. Цей код операції видається, лише якщо " +"тіло класу або модуля містить :term:`анотації змінних ` " +"статично." + +msgid "" +"Loads all symbols not starting with ``'_'`` directly from the module TOS to " +"the local namespace. The module is popped after loading all names. This " +"opcode implements ``from module import *``." +msgstr "" +"Завантажує всі символи, які не починаються з ``'_'`` безпосередньо з TOS " +"модуля в локальний простір імен. Модуль відкривається після завантаження " +"всіх імен. Цей код операції реалізує ``from module import *``." + +msgid "" +"Pops a value from the stack, which is used to restore the exception state." +msgstr "" + +msgid "" +"Re-raises the exception currently on top of the stack. If oparg is non-zero, " +"pops an additional value from the stack which is used to set ``f_lasti`` of " +"the current frame." +msgstr "" + +msgid "" +"Pops a value from the stack. Pushes the current exception to the top of the " +"stack. Pushes the value originally popped back to the stack. Used in " +"exception handlers." +msgstr "" + +msgid "" +"Performs exception matching for ``except``. Tests whether the TOS1 is an " +"exception matching TOS. Pops TOS and pushes the boolean result of the test." +msgstr "" + +msgid "" +"Performs exception matching for ``except*``. Applies ``split(TOS)`` on the " +"exception group representing TOS1." +msgstr "" + +msgid "" +"In case of a match, pops two items from the stack and pushes the non-" +"matching subgroup (``None`` in case of full match) followed by the matching " +"subgroup. When there is no match, pops one item (the match type) and pushes " +"``None``." +msgstr "" + +msgid "" +"Combines the raised and reraised exceptions list from TOS, into an exception " +"group to propagate from a try-except* block. Uses the original exception " +"group from TOS1 to reconstruct the structure of reraised exceptions. Pops " +"two items from the stack and pushes the exception to reraise or ``None`` if " +"there isn't one." +msgstr "" + +msgid "" +"Calls the function in position 4 on the stack with arguments (type, val, tb) " +"representing the exception at the top of the stack. Used to implement the " +"call ``context_manager.__exit__(*exc_info())`` when an exception has " +"occurred in a :keyword:`with` statement." +msgstr "" + +msgid "" +"The ``__exit__`` function is in position 4 of the stack rather than 7. " +"Exception representation on the stack now consist of one, not three, items." +msgstr "" + +msgid "" +"Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` " +"statement." +msgstr "" +"Поміщає :exc:`AssertionError` у стек. Використовується оператором :keyword:" +"`assert`." + +msgid "" +"Pushes :func:`builtins.__build_class__` onto the stack. It is later called " +"to construct a class." +msgstr "" + +msgid "" +"This opcode performs several operations before a with block starts. First, " +"it loads :meth:`~object.__exit__` from the context manager and pushes it " +"onto the stack for later use by :opcode:`WITH_EXCEPT_START`. Then, :meth:" +"`~object.__enter__` is called. Finally, the result of calling the " +"``__enter__()`` method is pushed onto the stack." +msgstr "" + +msgid "Push ``len(TOS)`` onto the stack." +msgstr "Перемістіть ``len(TOS)`` у стек." + +msgid "" +"If TOS is an instance of :class:`collections.abc.Mapping` (or, more " +"technically: if it has the :const:`Py_TPFLAGS_MAPPING` flag set in its :c:" +"member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. Otherwise, " +"push ``False``." +msgstr "" +"Якщо TOS є екземпляром :class:`collections.abc.Mapping` (або, більш " +"технічно: якщо він має прапорець :const:`Py_TPFLAGS_MAPPING`, встановлений у " +"своєму :c:member:`~PyTypeObject.tp_flags`), натисніть ``True`` в стек. В " +"іншому випадку натисніть ``False``." + +msgid "" +"If TOS is an instance of :class:`collections.abc.Sequence` and is *not* an " +"instance of :class:`str`/:class:`bytes`/:class:`bytearray` (or, more " +"technically: if it has the :const:`Py_TPFLAGS_SEQUENCE` flag set in its :c:" +"member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. Otherwise, " +"push ``False``." +msgstr "" +"Якщо TOS є екземпляром :class:`collections.abc.Sequence` і *не* є " +"екземпляром :class:`str`/:class:`bytes`/:class:`bytearray` (або, більш " +"технічно: якщо він має прапорець :const:`Py_TPFLAGS_SEQUENCE`, встановлений " +"у його :c:member:`~PyTypeObject.tp_flags`), вставте ``True`` у стек. В " +"іншому випадку натисніть ``False``." + +msgid "" +"TOS is a tuple of mapping keys, and TOS1 is the match subject. If TOS1 " +"contains all of the keys in TOS, push a :class:`tuple` containing the " +"corresponding values. Otherwise, push ``None``." +msgstr "" + +msgid "" +"Previously, this instruction also pushed a boolean value indicating success " +"(``True``) or failure (``False``)." +msgstr "" + +msgid "" +"Implements ``name = TOS``. *namei* is the index of *name* in the attribute :" +"attr:`co_names` of the code object. The compiler tries to use :opcode:" +"`STORE_FAST` or :opcode:`STORE_GLOBAL` if possible." +msgstr "" +"Реалізує ``name = TOS``. *namei* — це індекс *name* в атрибуті :attr:" +"`co_names` об’єкта коду. Компілятор намагається використовувати :opcode:" +"`STORE_FAST` або :opcode:`STORE_GLOBAL`, якщо це можливо." + +msgid "" +"Implements ``del name``, where *namei* is the index into :attr:`co_names` " +"attribute of the code object." +msgstr "" +"Реалізує ``del name``, де *namei* є індексом атрибута :attr:`co_names` " +"об’єкта коду." + +msgid "" +"Unpacks TOS into *count* individual values, which are put onto the stack " +"right-to-left." +msgstr "" +"Розпаковує TOS у *count* окремі значення, які поміщаються в стек справа " +"наліво." + +msgid "" +"Implements assignment with a starred target: Unpacks an iterable in TOS into " +"individual values, where the total number of values can be smaller than the " +"number of items in the iterable: one of the new values will be a list of all " +"leftover items." +msgstr "" +"Реалізує призначення з позначеною зірочкою метою: розпаковує ітерацію в TOS " +"на окремі значення, де загальна кількість значень може бути меншою за " +"кількість елементів у ітерації: одне з нових значень буде списком усіх " +"залишкових елементів." + +msgid "" +"The low byte of *counts* is the number of values before the list value, the " +"high byte of *counts* the number of values after it. The resulting values " +"are put onto the stack right-to-left." +msgstr "" +"Молодший байт *counts* — це кількість значень перед значенням списку, " +"старший байт *counts* — кількість значень після нього. Отримані значення " +"поміщаються в стек справа наліво." + +msgid "" +"Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:" +"`co_names`." +msgstr "" +"Реалізує ``TOS.name = TOS1``, де *namei* є індексом імені в :attr:`co_names`." + +msgid "" +"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`." +msgstr "" +"Реалізує ``del TOS.name``, використовуючи *namei* як індекс у :attr:" +"`co_names`." + +msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global." +msgstr "Працює як :opcode:`STORE_NAME`, але зберігає назву як глобальну." + +msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name." +msgstr "Працює як :opcode:`DELETE_NAME`, але видаляє глобальне ім’я." + +msgid "Pushes ``co_consts[consti]`` onto the stack." +msgstr "Поміщає ``co_consts[consti]`` в стек." + +msgid "Pushes the value associated with ``co_names[namei]`` onto the stack." +msgstr "Поміщає значення, пов’язане з ``co_names[namei]``, у стек." + +msgid "" +"Creates a tuple consuming *count* items from the stack, and pushes the " +"resulting tuple onto the stack." +msgstr "" +"Створює кортеж, який споживає *кількість* елементів зі стеку, і поміщає " +"отриманий кортеж у стек." + +msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." +msgstr "Працює як :opcode:`BUILD_TUPLE`, але створює список." + +msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." +msgstr "Працює як :opcode:`BUILD_TUPLE`, але створює набір." + +msgid "" +"Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so " +"that the dictionary holds *count* entries: ``{..., TOS3: TOS2, TOS1: TOS}``." +msgstr "" +"Поміщає новий об’єкт словника в стек. Показує ``2 * count`` елементи, щоб " +"словник містив *count* записи: ``{..., TOS3: TOS2, TOS1: TOS}``." + +msgid "" +"The dictionary is created from stack items instead of creating an empty " +"dictionary pre-sized to hold *count* items." +msgstr "" +"Словник створюється з елементів стека замість створення порожнього словника " +"попереднього розміру для *кількості* елементів." + +msgid "" +"The version of :opcode:`BUILD_MAP` specialized for constant keys. Pops the " +"top element on the stack which contains a tuple of keys, then starting from " +"``TOS1``, pops *count* values to form values in the built dictionary." +msgstr "" +"Версія :opcode:`BUILD_MAP` спеціалізована на постійних ключах. Висуває " +"верхній елемент у стеку, який містить кортеж ключів, потім, починаючи з " +"``TOS1``, витягує значення *count* для формування значень у створеному " +"словнику." + +msgid "" +"Concatenates *count* strings from the stack and pushes the resulting string " +"onto the stack." +msgstr "З’єднує *count* рядки зі стеку та надихає отриманий рядок у стек." + +msgid "" +"Pops a list from the stack and pushes a tuple containing the same values." +msgstr "" +"Витягує список зі стеку та надсилає кортеж, що містить однакові значення." + +msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists." +msgstr "" +"Викликає ``list.extend(TOS1[-i], TOS)``. Використовується для створення " +"списків." + +msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets." +msgstr "" +"Викликає ``set.update(TOS1[-i], TOS)``. Використовується для складання " +"наборів." + +msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts." +msgstr "" +"Викликає ``dict.update(TOS1[-i], TOS)``. Використовується для побудови dicts." + +msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." +msgstr "" +"Подібно до :opcode:`DICT_UPDATE`, але створює виняток для дублікатів ключів." + +msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." +msgstr "Замінює TOS на ``getattr(TOS, co_names[namei])``." + +msgid "" +"Performs a Boolean operation. The operation name can be found in " +"``cmp_op[opname]``." +msgstr "" +"Виконує логічні операції. Ім'я операції можна знайти в ``cmp_op[opname]``." + +msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." +msgstr "Виконує порівняння ``is`` або ``is not``, якщо ``invert`` дорівнює 1." + +msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." +msgstr "Виконує порівняння ``in`` або ``not in``, якщо ``invert`` дорівнює 1." + +msgid "" +"Imports the module ``co_names[namei]``. TOS and TOS1 are popped and provide " +"the *fromlist* and *level* arguments of :func:`__import__`. The module " +"object is pushed onto the stack. The current namespace is not affected: for " +"a proper import statement, a subsequent :opcode:`STORE_FAST` instruction " +"modifies the namespace." +msgstr "" +"Імпортує модуль ``co_names[namei]``. TOS і TOS1 витягуються та надають " +"аргументи *fromlist* і *level* :func:`__import__`. Об’єкт модуля поміщається " +"в стек. Поточний простір імен не впливає: для правильного оператора імпорту " +"наступна інструкція :opcode:`STORE_FAST` змінює простір імен." + +msgid "" +"Loads the attribute ``co_names[namei]`` from the module found in TOS. The " +"resulting object is pushed onto the stack, to be subsequently stored by a :" +"opcode:`STORE_FAST` instruction." +msgstr "" +"Завантажує атрибут ``co_names[namei]`` з модуля, знайденого в TOS. Отриманий " +"об’єкт поміщається в стек, щоб згодом зберігатися за допомогою інструкції :" +"opcode:`STORE_FAST`." + +msgid "Increments bytecode counter by *delta*." +msgstr "Збільшує лічильник байт-коду на *delta*." + +msgid "Decrements bytecode counter by *delta*. Checks for interrupts." +msgstr "" + +msgid "Decrements bytecode counter by *delta*. Does not check for interrupts." +msgstr "" + +msgid "" +"If TOS is true, increments the bytecode counter by *delta*. TOS is popped." +msgstr "" + +msgid "" +"If TOS is true, decrements the bytecode counter by *delta*. TOS is popped." +msgstr "" + +msgid "" +"If TOS is false, increments the bytecode counter by *delta*. TOS is popped." +msgstr "" + +msgid "" +"If TOS is false, decrements the bytecode counter by *delta*. TOS is popped." +msgstr "" + +msgid "" +"If TOS is not ``None``, increments the bytecode counter by *delta*. TOS is " +"popped." +msgstr "" + +msgid "" +"If TOS is not ``None``, decrements the bytecode counter by *delta*. TOS is " +"popped." +msgstr "" + +msgid "" +"If TOS is ``None``, increments the bytecode counter by *delta*. TOS is " +"popped." +msgstr "" + +msgid "" +"If TOS is ``None``, decrements the bytecode counter by *delta*. TOS is " +"popped." +msgstr "" + +msgid "" +"If TOS is true, increments the bytecode counter by *delta* and leaves TOS on " +"the stack. Otherwise (TOS is false), TOS is popped." +msgstr "" + +msgid "The oparg is now a relative delta rather than an absolute target." +msgstr "" + +msgid "" +"If TOS is false, increments the bytecode counter by *delta* and leaves TOS " +"on the stack. Otherwise (TOS is true), TOS is popped." +msgstr "" + +msgid "" +"TOS is an :term:`iterator`. Call its :meth:`~iterator.__next__` method. If " +"this yields a new value, push it on the stack (leaving the iterator below " +"it). If the iterator indicates it is exhausted, TOS is popped, and the byte " +"code counter is incremented by *delta*." +msgstr "" +"TOS є :term:`iterator`. Викличте його метод :meth:`~iterator.__next__`. Якщо " +"це дає нове значення, помістіть його в стек (залишаючи ітератор під ним). " +"Якщо ітератор вказує, що його вичерпано, TOS виривається, а лічильник байт-" +"коду збільшується на *delta*." + +msgid "Loads the global named ``co_names[namei>>1]`` onto the stack." +msgstr "" + +msgid "" +"If the low bit of ``namei`` is set, then a ``NULL`` is pushed to the stack " +"before the global variable." +msgstr "" + +msgid "" +"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." +msgstr "Надсилає посилання на локальні ``co_var_names[var_num]`` у стек." + +msgid "Stores TOS into the local ``co_varnames[var_num]``." +msgstr "Зберігає TOS у локальному ``co_varnames[var_num]``." + +msgid "Deletes local ``co_varnames[var_num]``." +msgstr "Видаляє локальні ``co_var_names[var_num]``." + +msgid "" +"Creates a new cell in slot ``i``. If that slot is empty then that value is " +"stored into the new cell." +msgstr "" + +msgid "" +"Pushes a reference to the cell contained in slot ``i`` of the \"fast locals" +"\" storage. The name of the variable is ``co_fastlocalnames[i]``." +msgstr "" + +msgid "" +"Note that ``LOAD_CLOSURE`` is effectively an alias for ``LOAD_FAST``. It " +"exists to keep bytecode a little more readable." +msgstr "" + +msgid "``i`` is no longer offset by the length of ``co_varnames``." +msgstr "" + +msgid "" +"Loads the cell contained in slot ``i`` of the \"fast locals\" storage. " +"Pushes a reference to the object the cell contains on the stack." +msgstr "" + +msgid "" +"Much like :opcode:`LOAD_DEREF` but first checks the locals dictionary before " +"consulting the cell. This is used for loading free variables in class " +"bodies." +msgstr "" +"Подібно до :opcode:`LOAD_DEREF`, але спочатку перевіряє локальний словник, " +"перш ніж звертатися до клітинки. Це використовується для завантаження " +"вільних змінних у тілах класів." + +msgid "" +"Stores TOS into the cell contained in slot ``i`` of the \"fast locals\" " +"storage." +msgstr "" + +msgid "" +"Empties the cell contained in slot ``i`` of the \"fast locals\" storage. " +"Used by the :keyword:`del` statement." +msgstr "" + +msgid "" +"Copies the ``n`` free variables from the closure into the frame. Removes the " +"need for special code on the caller's side when calling closures." +msgstr "" + +msgid "" +"Raises an exception using one of the 3 forms of the ``raise`` statement, " +"depending on the value of *argc*:" +msgstr "" +"Створює виняток, використовуючи одну з 3 форм оператора ``raise``, залежно " +"від значення *argc*:" + +msgid "0: ``raise`` (re-raise previous exception)" +msgstr "0: ``raise`` (повторно підняти попередній виняток)" + +msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)" +msgstr "1: ``підняти TOS`` (підвищити екземпляр винятку або ввести в ``TOS``)" + +msgid "" +"2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` " +"with ``__cause__`` set to ``TOS``)" +msgstr "" +"2: ``підняти TOS1 з TOS`` (підняти екземпляр винятку або ввести в ``TOS1`` з " +"``__cause__``, встановленим на ``TOS``)" + +msgid "" +"Calls a callable object with the number of arguments specified by ``argc``, " +"including the named arguments specified by the preceding :opcode:`KW_NAMES`, " +"if any. On the stack are (in ascending order), either:" +msgstr "" + +msgid "NULL" +msgstr "НУЛЬ" + +msgid "The callable" +msgstr "" + +msgid "The positional arguments" +msgstr "" + +msgid "The named arguments" +msgstr "" + +msgid "or:" +msgstr "" + +msgid "``self``" +msgstr "" + +msgid "The remaining positional arguments" +msgstr "" + +msgid "" +"``argc`` is the total of the positional and named arguments, excluding " +"``self`` when a ``NULL`` is not present." +msgstr "" + +msgid "" +"``CALL`` pops all arguments and the callable object off the stack, calls the " +"callable object with those arguments, and pushes the return value returned " +"by the callable object." +msgstr "" + +msgid "" +"Calls a callable object with variable set of positional and keyword " +"arguments. If the lowest bit of *flags* is set, the top of the stack " +"contains a mapping object containing additional keyword arguments. Before " +"the callable is called, the mapping object and iterable object are each " +"\"unpacked\" and their contents passed in as keyword and positional " +"arguments respectively. ``CALL_FUNCTION_EX`` pops all arguments and the " +"callable object off the stack, calls the callable object with those " +"arguments, and pushes the return value returned by the callable object." +msgstr "" +"Викликає викликаний об’єкт зі змінним набором позиційних і ключових " +"аргументів. Якщо встановлено найнижчий біт *flags*, верхня частина стека " +"містить об’єкт відображення, що містить додаткові аргументи ключового слова. " +"Перед викликом викликаного об’єкта відображення та ітерованого об’єкта кожен " +"\"розпаковується\", а їхній вміст передається як ключове слово та позиційний " +"аргумент відповідно. ``CALL_FUNCTION_EX`` видаляє зі стеку всі аргументи та " +"об’єкт, який викликається, викликає об’єкт, який викликається, з цими " +"аргументами та надсилає значення, яке повертає об’єкт, який викликається." + +msgid "" +"Loads a method named ``co_names[namei]`` from the TOS object. TOS is popped. " +"This bytecode distinguishes two cases: if TOS has a method with the correct " +"name, the bytecode pushes the unbound method and TOS. TOS will be used as " +"the first argument (``self``) by :opcode:`CALL` when calling the unbound " +"method. Otherwise, ``NULL`` and the object return by the attribute lookup " +"are pushed." +msgstr "" + +msgid "" +"Prefixes :opcode:`CALL`. Logically this is a no op. It exists to enable " +"effective specialization of calls. ``argc`` is the number of arguments as " +"described in :opcode:`CALL`." +msgstr "" + +msgid "" +"Pushes a ``NULL`` to the stack. Used in the call sequence to match the " +"``NULL`` pushed by :opcode:`LOAD_METHOD` for non-method calls." +msgstr "" + +msgid "" +"Prefixes :opcode:`PRECALL`. Stores a reference to ``co_consts[consti]`` into " +"an internal variable for use by :opcode:`CALL`. ``co_consts[consti]`` must " +"be a tuple of strings." +msgstr "" + +msgid "" +"Pushes a new function object on the stack. From bottom to top, the consumed " +"stack must consist of values if the argument carries a specified flag value" +msgstr "" +"Поміщає новий функціональний об’єкт у стек. Знизу вгору споживаний стек " +"повинен складатися зі значень, якщо аргумент містить вказане значення прапора" + +msgid "" +"``0x01`` a tuple of default values for positional-only and positional-or-" +"keyword parameters in positional order" +msgstr "" +"``0x01`` кортеж значень за замовчуванням для позиційних параметрів і " +"параметрів позиційного або ключового слова в позиційному порядку" + +msgid "``0x02`` a dictionary of keyword-only parameters' default values" +msgstr "" +"``0x02`` словник значень за замовчуванням параметрів лише ключових слів" + +msgid "``0x04`` a tuple of strings containing parameters' annotations" +msgstr "``0x04`` кортеж рядків, що містять анотації параметрів" + +msgid "``0x08`` a tuple containing cells for free variables, making a closure" +msgstr "" +"``0x08`` кортеж, що містить комірки для вільних змінних, створюючи закриття" + +msgid "the code associated with the function (at TOS1)" +msgstr "код, пов’язаний із функцією (в TOS1)" + +msgid "the :term:`qualified name` of the function (at TOS)" +msgstr ":term:`qualified name` функції (у TOS)" + +msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary" +msgstr "Значення прапора ``0x04`` є кортежем рядків замість словника" + +msgid "" +"Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " +"``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is " +"pushed. See the :func:`slice` built-in function for more information." +msgstr "" +"Штовхає об’єкт-скибочку на стек. *argc* має бути 2 або 3. Якщо воно дорівнює " +"2, надсилається ``slice(TOS1, TOS)``; якщо він дорівнює 3, надсилається " +"``slice(TOS2, TOS1, TOS)``. Дивіться вбудовану функцію :func:`slice` для " +"отримання додаткової інформації." + +msgid "" +"Prefixes any opcode which has an argument too big to fit into the default " +"one byte. *ext* holds an additional byte which act as higher bits in the " +"argument. For each opcode, at most three prefixal ``EXTENDED_ARG`` are " +"allowed, forming an argument from two-byte to four-byte." +msgstr "" +"Додає префікс до будь-якого коду операції, який має занадто великий " +"аргумент, щоб поміститися в стандартний один байт. *ext* містить додатковий " +"байт, який діє як старші біти в аргументі. Для кожного коду операції " +"дозволено не більше трьох префіксів ``EXTENDED_ARG``, які утворюють аргумент " +"розміром від двох до чотирьох байтів." + +msgid "" +"Used for implementing formatted literal strings (f-strings). Pops an " +"optional *fmt_spec* from the stack, then a required *value*. *flags* is " +"interpreted as follows:" +msgstr "" +"Використовується для реалізації форматованих літеральних рядків (f-рядків). " +"Витягує необов’язковий *fmt_spec* зі стеку, а потім обов’язкове *значення*. " +"*flags* інтерпретується таким чином:" + +msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." +msgstr "``(flags & 0x03) == 0x00``: *значення* відформатовано як є." + +msgid "" +"``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." +msgstr "" +"``(flags & 0x03) == 0x01``: виклик :func:`str` для *значення* перед його " +"форматуванням." + +msgid "" +"``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " +"it." +msgstr "" +"``(flags & 0x03) == 0x02``: виклик :func:`repr` для *значення* перед його " +"форматуванням." + +msgid "" +"``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " +"it." +msgstr "" +"``(flags & 0x03) == 0x03``: виклик :func:`ascii` для *значення* перед його " +"форматуванням." + +msgid "" +"``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " +"use an empty *fmt_spec*." +msgstr "" +"``(flags & 0x04) == 0x04``: витягніть *fmt_spec* зі стеку та використовуйте " +"його, інакше використовуйте порожній *fmt_spec*." + +msgid "" +"Formatting is performed using :c:func:`PyObject_Format`. The result is " +"pushed on the stack." +msgstr "" +"Форматування виконується за допомогою :c:func:`PyObject_Format`. Результат " +"поміщається в стек." + +msgid "" +"TOS is a tuple of keyword attribute names, TOS1 is the class being matched " +"against, and TOS2 is the match subject. *count* is the number of positional " +"sub-patterns." +msgstr "" +"TOS — це кортеж імен атрибутів ключових слів, TOS1 — клас, з яким " +"зіставляється, а TOS2 — предмет відповідності. *count* — кількість " +"позиційних підшаблонів." + +msgid "" +"Pop TOS, TOS1, and TOS2. If TOS2 is an instance of TOS1 and has the " +"positional and keyword attributes required by *count* and TOS, push a tuple " +"of extracted attributes. Otherwise, push ``None``." +msgstr "" + +msgid "A no-op. Performs internal tracing, debugging and optimization checks." +msgstr "" + +msgid "The ``where`` operand marks where the ``RESUME`` occurs:" +msgstr "" + +msgid "``0`` The start of a function" +msgstr "" + +msgid "``1`` After a ``yield`` expression" +msgstr "" + +msgid "``2`` After a ``yield from`` expression" +msgstr "" + +msgid "``3`` After an ``await`` expression" +msgstr "" + +msgid "" +"Create a generator, coroutine, or async generator from the current frame. " +"Clear the current frame and return the newly created generator." +msgstr "" + +msgid "" +"Sends ``None`` to the sub-generator of this generator. Used in ``yield " +"from`` and ``await`` statements." +msgstr "" + +msgid "" +"Wraps the value on top of the stack in an ``async_generator_wrapped_value``. " +"Used to yield in async generators." +msgstr "" + +msgid "" +"This is not really an opcode. It identifies the dividing line between " +"opcodes which don't use their argument and those that do (``< " +"HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively)." +msgstr "" +"Це насправді не код операції. Він визначає лінію розмежування між кодами " +"операцій, які не використовують свій аргумент, і тими, які використовують " +"(``< HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, відповідно)." + +msgid "" +"Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` " +"ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument." +msgstr "" +"Тепер кожна інструкція має аргумент, але коди операцій ``< HAVE_ARGUMENT`` " +"ignore it. Before, only opcodes ``> = HAVE_ARGUMENT`` мали аргумент." + +msgid "Opcode collections" +msgstr "Колекції кодів операцій" + +msgid "" +"These collections are provided for automatic introspection of bytecode " +"instructions:" +msgstr "Ці колекції надаються для автоматичного аналізу інструкцій байт-коду:" + +msgid "Sequence of operation names, indexable using the bytecode." +msgstr "Послідовність імен операцій, індексованих за допомогою байт-коду." + +msgid "Dictionary mapping operation names to bytecodes." +msgstr "Словник зіставляє назви операцій із байт-кодами." + +msgid "Sequence of all compare operation names." +msgstr "Послідовність імен усіх операцій порівняння." + +msgid "Sequence of bytecodes that access a constant." +msgstr "Послідовність байт-кодів, які звертаються до константи." + +msgid "" +"Sequence of bytecodes that access a free variable (note that 'free' in this " +"context refers to names in the current scope that are referenced by inner " +"scopes or names in outer scopes that are referenced from this scope. It " +"does *not* include references to global or builtin scopes)." +msgstr "" +"Послідовність байт-кодів, які мають доступ до вільної змінної (зауважте, що " +"\"вільний\" у цьому контексті стосується імен у поточній області, на які " +"посилаються внутрішні області, або імен у зовнішніх областях, на які " +"посилається ця область. Він *не* включає посилання на глобальні або " +"вбудовані області)." + +msgid "Sequence of bytecodes that access an attribute by name." +msgstr "Послідовність байт-кодів, які звертаються до атрибута за назвою." + +msgid "Sequence of bytecodes that have a relative jump target." +msgstr "Послідовність байт-кодів, які мають відносну ціль переходу." + +msgid "Sequence of bytecodes that have an absolute jump target." +msgstr "Послідовність байт-кодів, які мають абсолютну ціль переходу." + +msgid "Sequence of bytecodes that access a local variable." +msgstr "Послідовність байт-кодів, які звертаються до локальної змінної." + +msgid "Sequence of bytecodes of Boolean operations." +msgstr "Послідовність байт-кодів булевих операцій." diff --git a/library/distribution.po b/library/distribution.po new file mode 100644 index 000000000..82724d765 --- /dev/null +++ b/library/distribution.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Software Packaging and Distribution" +msgstr "Упаковка та розповсюдження програмного забезпечення" + +msgid "" +"These libraries help you with publishing and installing Python software. " +"While these modules are designed to work in conjunction with the `Python " +"Package Index `__, they can also be used with a local " +"index server, or without any index server at all." +msgstr "" +"Ці бібліотеки допомагають вам публікувати та інсталювати програмне " +"забезпечення Python. Незважаючи на те, що ці модулі розроблені для роботи в " +"поєднанні з `Python Package Index `__, їх також можна " +"використовувати з локальним сервером індексування або взагалі без будь-якого " +"сервера індексування." diff --git a/library/distutils.po b/library/distutils.po new file mode 100644 index 000000000..203affd39 --- /dev/null +++ b/library/distutils.po @@ -0,0 +1,117 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`distutils` --- Building and installing Python modules" +msgstr ":mod:`distutils` --- Створення та встановлення модулів Python" + +msgid "" +":mod:`distutils` is deprecated with removal planned for Python 3.12. See " +"the :ref:`What's New ` entry for more information." +msgstr "" +":mod:`distutils` не підтримується, планується видалення для Python 3.12. " +"Перегляньте запис :ref:`Що нового ` для отримання " +"додаткової інформації." + +msgid "" +"The :mod:`distutils` package provides support for building and installing " +"additional modules into a Python installation. The new modules may be " +"either 100%-pure Python, or may be extension modules written in C, or may be " +"collections of Python packages which include modules coded in both Python " +"and C." +msgstr "" +"Пакет :mod:`distutils` забезпечує підтримку створення та встановлення " +"додаткових модулів у інсталяцію Python. Нові модулі можуть бути або 100%-" +"pure Python, або можуть бути модулями розширення, написаними на C, або " +"можуть бути колекціями пакетів Python, які включають модулі, закодовані як " +"на Python, так і на C." + +msgid "" +"Most Python users will *not* want to use this module directly, but instead " +"use the cross-version tools maintained by the Python Packaging Authority. In " +"particular, `setuptools `__ is " +"an enhanced alternative to :mod:`distutils` that provides:" +msgstr "" +"Більшість користувачів Python *не* захочуть використовувати цей модуль " +"напряму, натомість скористаються крос-версійними інструментами, які " +"підтримує Python Packaging Authority. Зокрема, `setuptools `__ є вдосконаленою альтернативою :mod:" +"`distutils`, яка забезпечує:" + +msgid "support for declaring project dependencies" +msgstr "підтримка оголошення залежностей проекту" + +msgid "" +"additional mechanisms for configuring which files to include in source " +"releases (including plugins for integration with version control systems)" +msgstr "" +"додаткові механізми для конфігурації файлів, які слід включати в вихідні " +"версії (включаючи плагіни для інтеграції з системами контролю версій)" + +msgid "" +"the ability to declare project \"entry points\", which can be used as the " +"basis for application plugin systems" +msgstr "" +"можливість оголошувати \"точки входу\" проекту, які можна використовувати як " +"основу для систем плагінів додатків" + +msgid "" +"the ability to automatically generate Windows command line executables at " +"installation time rather than needing to prebuild them" +msgstr "" +"можливість автоматично генерувати виконувані файли командного рядка Windows " +"під час встановлення замість необхідності їх попереднього збирання" + +msgid "consistent behaviour across all supported Python versions" +msgstr "узгоджена поведінка в усіх підтримуваних версіях Python" + +msgid "" +"The recommended `pip `__ installer runs all ``setup." +"py`` scripts with ``setuptools``, even if the script itself only imports " +"``distutils``. Refer to the `Python Packaging User Guide `_ for more information." +msgstr "" +"Рекомендований інсталятор `pip `__ запускає всі " +"сценарії ``setup.py`` з ``setuptools``, навіть якщо сам сценарій імпортує " +"лише ``distutils``. Для отримання додаткової інформації зверніться до " +"`Посібника користувача з пакування Python `_." + +msgid "" +"For the benefits of packaging tool authors and users seeking a deeper " +"understanding of the details of the current packaging and distribution " +"system, the legacy :mod:`distutils` based user documentation and API " +"reference remain available:" +msgstr "" +"Для переваг авторів інструментів пакування та користувачів, які прагнуть " +"глибшого розуміння деталей поточної системи пакування та розповсюдження, " +"документація користувача на основі :mod:`distutils` та посилання на API " +"залишаються доступними:" + +msgid ":ref:`install-index`" +msgstr ":ref:`install-index`" + +msgid ":ref:`distutils-index`" +msgstr ":ref:`distutils-index`" diff --git a/library/doctest.po b/library/doctest.po new file mode 100644 index 000000000..072de8abf --- /dev/null +++ b/library/doctest.po @@ -0,0 +1,2587 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`doctest` --- Test interactive Python examples" +msgstr ":mod:`doctest` --- Перевірте інтерактивні приклади Python" + +msgid "**Source code:** :source:`Lib/doctest.py`" +msgstr "**Вихідний код:** :source:`Lib/doctest.py`" + +msgid "" +"The :mod:`doctest` module searches for pieces of text that look like " +"interactive Python sessions, and then executes those sessions to verify that " +"they work exactly as shown. There are several common ways to use doctest:" +msgstr "" +"Модуль :mod:`doctest` шукає фрагменти тексту, які виглядають як інтерактивні " +"сеанси Python, а потім виконує ці сеанси, щоб перевірити, чи вони працюють " +"саме так, як показано. Існує кілька поширених способів використання doctest:" + +msgid "" +"To check that a module's docstrings are up-to-date by verifying that all " +"interactive examples still work as documented." +msgstr "" +"Щоб перевірити актуальність рядків документів модуля, переконавшись, що всі " +"інтерактивні приклади все ще працюють, як задокументовано." + +msgid "" +"To perform regression testing by verifying that interactive examples from a " +"test file or a test object work as expected." +msgstr "" +"Щоб виконати регресійне тестування, перевіривши, що інтерактивні приклади з " +"тестового файлу або тестового об’єкта працюють належним чином." + +msgid "" +"To write tutorial documentation for a package, liberally illustrated with " +"input-output examples. Depending on whether the examples or the expository " +"text are emphasized, this has the flavor of \"literate testing\" or " +"\"executable documentation\"." +msgstr "" +"Написати навчальну документацію для пакета, щедро проілюстровану прикладами " +"введення-виведення. Залежно від того, чи наголошується на прикладах чи " +"пояснювальному тексті, це має відтінок \"грамотного тестування\" або " +"\"виконуваної документації\"." + +msgid "Here's a complete but small example module::" +msgstr "Ось повний, але невеликий приклад модуля::" + +msgid "" +"If you run :file:`example.py` directly from the command line, :mod:`doctest` " +"works its magic:" +msgstr "" +"Якщо ви запустите :file:`example.py` безпосередньо з командного рядка, :mod:" +"`doctest` спрацює так:" + +msgid "" +"There's no output! That's normal, and it means all the examples worked. " +"Pass ``-v`` to the script, and :mod:`doctest` prints a detailed log of what " +"it's trying, and prints a summary at the end:" +msgstr "" +"Немає виходу! Це нормально, і це означає, що всі приклади спрацювали. " +"Передайте сценарію ``-v``, і :mod:`doctest` надрукує докладний журнал того, " +"що він намагається, і наприкінці виведе підсумок:" + +msgid "And so on, eventually ending with:" +msgstr "І так далі, зрештою закінчуючи:" + +msgid "" +"That's all you need to know to start making productive use of :mod:" +"`doctest`! Jump in. The following sections provide full details. Note that " +"there are many examples of doctests in the standard Python test suite and " +"libraries. Especially useful examples can be found in the standard test " +"file :file:`Lib/test/test_doctest.py`." +msgstr "" +"Це все, що вам потрібно знати, щоб почати продуктивно використовувати :mod:" +"`doctest`! У наступних розділах наведено повну інформацію. Зауважте, що в " +"стандартному пакеті тестів і бібліотеках Python є багато прикладів doctests. " +"Особливо корисні приклади можна знайти у стандартному тестовому файлі :file:" +"`Lib/test/test_doctest.py`." + +msgid "Simple Usage: Checking Examples in Docstrings" +msgstr "Просте використання: перевірка прикладів у Docstrings" + +msgid "" +"The simplest way to start using doctest (but not necessarily the way you'll " +"continue to do it) is to end each module :mod:`M` with::" +msgstr "" +"Найпростіший спосіб почати використовувати doctest (але не обов’язково так, " +"як ви продовжите це робити) — закінчити кожен модуль :mod:`M` словами::" + +msgid ":mod:`doctest` then examines docstrings in module :mod:`M`." +msgstr "Потім :mod:`doctest` перевіряє рядки документів у модулі :mod:`M`." + +msgid "" +"Running the module as a script causes the examples in the docstrings to get " +"executed and verified::" +msgstr "" +"Запуск модуля як сценарію призводить до виконання та перевірки прикладів у " +"рядках документів:" + +msgid "" +"This won't display anything unless an example fails, in which case the " +"failing example(s) and the cause(s) of the failure(s) are printed to stdout, " +"and the final line of output is ``***Test Failed*** N failures.``, where *N* " +"is the number of examples that failed." +msgstr "" +"Це не відображатиме нічого, якщо приклад не буде невдалим, у цьому випадку " +"невдалий(і) приклад(и) і причину(и) помилки(и) друкуються в stdout, а " +"останній рядок виводу буде ``***Test Помилка*** N невдач.``, де *N* — це " +"кількість прикладів, що не вдалося виконати." + +msgid "Run it with the ``-v`` switch instead::" +msgstr "Натомість запустіть його з перемикачем ``-v``::" + +msgid "" +"and a detailed report of all examples tried is printed to standard output, " +"along with assorted summaries at the end." +msgstr "" +"і детальний звіт про всі спробовані приклади друкується на стандартному " +"виводі разом із різноманітними підсумками в кінці." + +msgid "" +"You can force verbose mode by passing ``verbose=True`` to :func:`testmod`, " +"or prohibit it by passing ``verbose=False``. In either of those cases, " +"``sys.argv`` is not examined by :func:`testmod` (so passing ``-v`` or not " +"has no effect)." +msgstr "" +"Ви можете змусити докладний режим, передавши ``verbose=True`` до :func:" +"`testmod`, або заборонити його, передавши ``verbose=False``. У жодному з цих " +"випадків ``sys.argv`` не перевіряється :func:`testmod` (тому передача ``-v`` " +"чи ні не має ефекту)." + +msgid "" +"There is also a command line shortcut for running :func:`testmod`. You can " +"instruct the Python interpreter to run the doctest module directly from the " +"standard library and pass the module name(s) on the command line::" +msgstr "" +"Існує також ярлик командного рядка для запуску :func:`testmod`. Ви можете " +"наказати інтерпретатору Python запустити модуль doctest безпосередньо зі " +"стандартної бібліотеки та передати ім’я модуля (імена) у командному рядку:" + +msgid "" +"This will import :file:`example.py` as a standalone module and run :func:" +"`testmod` on it. Note that this may not work correctly if the file is part " +"of a package and imports other submodules from that package." +msgstr "" +"Це імпортує :file:`example.py` як окремий модуль і запускає :func:`testmod` " +"на ньому. Зауважте, що це може не працювати належним чином, якщо файл є " +"частиною пакета та імпортує інші підмодулі з цього пакета." + +msgid "" +"For more information on :func:`testmod`, see section :ref:`doctest-basic-" +"api`." +msgstr "" +"Додаткову інформацію про :func:`testmod` див. у розділі :ref:`doctest-basic-" +"api`." + +msgid "Simple Usage: Checking Examples in a Text File" +msgstr "Просте використання: перевірка прикладів у текстовому файлі" + +msgid "" +"Another simple application of doctest is testing interactive examples in a " +"text file. This can be done with the :func:`testfile` function::" +msgstr "" +"Іншим простим застосуванням doctest є тестування інтерактивних прикладів у " +"текстовому файлі. Це можна зробити за допомогою функції :func:`testfile`::" + +msgid "" +"That short script executes and verifies any interactive Python examples " +"contained in the file :file:`example.txt`. The file content is treated as " +"if it were a single giant docstring; the file doesn't need to contain a " +"Python program! For example, perhaps :file:`example.txt` contains this:" +msgstr "" +"Цей короткий сценарій виконує та перевіряє будь-які інтерактивні приклади " +"Python, що містяться у файлі :file:`example.txt`. Вміст файлу обробляється " +"так, ніби це один гігантський рядок документа; файл не повинен містити " +"програму Python! Наприклад, можливо, :file:`example.txt` містить таке:" + +msgid "" +"Running ``doctest.testfile(\"example.txt\")`` then finds the error in this " +"documentation::" +msgstr "" +"Запуск ``doctest.testfile(\"example.txt\")`` потім знаходить помилку в цій " +"документації::" + +msgid "" +"As with :func:`testmod`, :func:`testfile` won't display anything unless an " +"example fails. If an example does fail, then the failing example(s) and the " +"cause(s) of the failure(s) are printed to stdout, using the same format as :" +"func:`testmod`." +msgstr "" +"Як і у випадку з :func:`testmod`, :func:`testfile` нічого не відображатиме, " +"якщо приклад не вдасться. Якщо приклад не вдається, то невдалий(і) " +"приклад(и) і причина(и) невдачі(ів) друкуються у stdout, використовуючи той " +"самий формат, що й :func:`testmod`." + +msgid "" +"By default, :func:`testfile` looks for files in the calling module's " +"directory. See section :ref:`doctest-basic-api` for a description of the " +"optional arguments that can be used to tell it to look for files in other " +"locations." +msgstr "" +"За замовчуванням :func:`testfile` шукає файли в каталозі викликаючого " +"модуля. Перегляньте розділ :ref:`doctest-basic-api` для опису необов’язкових " +"аргументів, які можна використовувати, щоб наказати йому шукати файли в " +"інших місцях." + +msgid "" +"Like :func:`testmod`, :func:`testfile`'s verbosity can be set with the ``-" +"v`` command-line switch or with the optional keyword argument *verbose*." +msgstr "" +"Подібно до :func:`testmod`, докладність :func:`testfile` можна встановити за " +"допомогою перемикача командного рядка ``-v`` або за допомогою додаткового " +"аргументу ключового слова *verbose*." + +msgid "" +"There is also a command line shortcut for running :func:`testfile`. You can " +"instruct the Python interpreter to run the doctest module directly from the " +"standard library and pass the file name(s) on the command line::" +msgstr "" +"Існує також ярлик командного рядка для запуску :func:`testfile`. Ви можете " +"наказати інтерпретатору Python запустити модуль doctest безпосередньо зі " +"стандартної бібліотеки та передати імена файлів у командному рядку:" + +msgid "" +"Because the file name does not end with :file:`.py`, :mod:`doctest` infers " +"that it must be run with :func:`testfile`, not :func:`testmod`." +msgstr "" +"Оскільки назва файлу не закінчується на :file:`.py`, :mod:`doctest` робить " +"висновок, що його потрібно запускати з :func:`testfile`, а не :func:" +"`testmod`." + +msgid "" +"For more information on :func:`testfile`, see section :ref:`doctest-basic-" +"api`." +msgstr "" +"Для отримання додаткової інформації про :func:`testfile` див. розділ :ref:" +"`doctest-basic-api`." + +msgid "How It Works" +msgstr "Як це працює" + +msgid "" +"This section examines in detail how doctest works: which docstrings it looks " +"at, how it finds interactive examples, what execution context it uses, how " +"it handles exceptions, and how option flags can be used to control its " +"behavior. This is the information that you need to know to write doctest " +"examples; for information about actually running doctest on these examples, " +"see the following sections." +msgstr "" +"У цьому розділі детально розглядається, як працює doctest: які рядки " +"документації він переглядає, як він знаходить інтерактивні приклади, який " +"контекст виконання він використовує, як він обробляє винятки та як прапорці " +"параметрів можна використовувати для керування його поведінкою. Це " +"інформація, яку вам потрібно знати, щоб написати приклади doctest; для " +"отримання інформації про фактичний запуск doctest на цих прикладах дивіться " +"наступні розділи." + +msgid "Which Docstrings Are Examined?" +msgstr "Які рядки документів перевіряються?" + +msgid "" +"The module docstring, and all function, class and method docstrings are " +"searched. Objects imported into the module are not searched." +msgstr "" +"Здійснюється пошук у рядку документів модуля та всіх рядках документів " +"функцій, класів і методів. Об’єкти, імпортовані в модуль, не шукаються." + +msgid "" +"In addition, if ``M.__test__`` exists and \"is true\", it must be a dict, " +"and each entry maps a (string) name to a function object, class object, or " +"string. Function and class object docstrings found from ``M.__test__`` are " +"searched, and strings are treated as if they were docstrings. In output, a " +"key ``K`` in ``M.__test__`` appears with name ::" +msgstr "" +"Крім того, якщо ``M.__test__`` існує та має значення \"true\", це має бути " +"dict, і кожен запис відображає ім’я (рядка) на об’єкт функції, об’єкт класу " +"або рядок. Здійснюється пошук у рядках документів об’єктів функцій і класів, " +"знайдених у ``M.__test__``, а рядки обробляються так, ніби вони були рядками " +"документів. У вихідних даних з’являється ключ ``K`` у ``M.__test__`` з " +"назвою ::" + +msgid "" +"Any classes found are recursively searched similarly, to test docstrings in " +"their contained methods and nested classes." +msgstr "" +"Будь-які знайдені класи рекурсивно шукаються подібним чином, щоб перевірити " +"рядки документів у їх методах і вкладених класах." + +msgid "How are Docstring Examples Recognized?" +msgstr "Як розпізнаються приклади Docstring?" + +msgid "" +"In most cases a copy-and-paste of an interactive console session works fine, " +"but doctest isn't trying to do an exact emulation of any specific Python " +"shell." +msgstr "" +"У більшості випадків копіювання та вставлення сеансу інтерактивної консолі " +"працює добре, але doctest не намагається зробити точну емуляцію будь-якої " +"конкретної оболонки Python." + +msgid "" +"Any expected output must immediately follow the final ``'>>> '`` or ``'... " +"'`` line containing the code, and the expected output (if any) extends to " +"the next ``'>>> '`` or all-whitespace line." +msgstr "" +"Будь-який очікуваний вихід має слідувати одразу за останнім ``'>>> '`` або " +"``'... '`` рядком, що містить код, і очікуваний вихід (якщо такий є) " +"поширюється на наступний ``'>>> \"`` або рядок із пробілами." + +msgid "The fine print:" +msgstr "Дрібний шрифт:" + +msgid "" +"Expected output cannot contain an all-whitespace line, since such a line is " +"taken to signal the end of expected output. If expected output does contain " +"a blank line, put ```` in your doctest example each place a blank " +"line is expected." +msgstr "" +"Очікуваний вихід не може містити рядок із пробілами, оскільки такий рядок " +"використовується для сигналізації про кінець очікуваного виведення. Якщо " +"очікуваний результат містить порожній рядок, додайте ```` у " +"прикладі doctest у кожному місці, де очікується порожній рядок." + +msgid "" +"All hard tab characters are expanded to spaces, using 8-column tab stops. " +"Tabs in output generated by the tested code are not modified. Because any " +"hard tabs in the sample output *are* expanded, this means that if the code " +"output includes hard tabs, the only way the doctest can pass is if the :" +"const:`NORMALIZE_WHITESPACE` option or :ref:`directive ` " +"is in effect. Alternatively, the test can be rewritten to capture the output " +"and compare it to an expected value as part of the test. This handling of " +"tabs in the source was arrived at through trial and error, and has proven to " +"be the least error prone way of handling them. It is possible to use a " +"different algorithm for handling tabs by writing a custom :class:" +"`DocTestParser` class." +msgstr "" +"Усі жорсткі символи табуляції розгорнуті на пробіли за допомогою позицій " +"табуляції з 8 стовпців. Вкладки у вихідних даних, згенерованих тестованим " +"кодом, не змінюються. Оскільки будь-які жорсткі вкладки у вихідних даних " +"зразка *розгорнуті*, це означає, що якщо вивід коду містить жорсткі вкладки, " +"єдиний спосіб проходження doctest — це параметр :const:" +"`NORMALIZE_WHITESPACE` або :ref:`директива ` в ефекті. " +"Крім того, тест можна переписати, щоб зафіксувати результат і порівняти його " +"з очікуваним значенням як частину тесту. Таку обробку вкладок у вихідному " +"коді було досягнуто шляхом проб і помилок, і це виявилося найменш схильним " +"до помилок способом обробки. Можна використати інший алгоритм для обробки " +"вкладок, написавши спеціальний клас :class:`DocTestParser`." + +msgid "" +"Output to stdout is captured, but not output to stderr (exception tracebacks " +"are captured via a different means)." +msgstr "" +"Вихідні дані в stdout фіксуються, але не виводяться в stderr (зворотні дані " +"за винятками фіксуються іншим способом)." + +msgid "" +"If you continue a line via backslashing in an interactive session, or for " +"any other reason use a backslash, you should use a raw docstring, which will " +"preserve your backslashes exactly as you type them::" +msgstr "" +"Якщо ви продовжуєте рядок через зворотну косу риску в інтерактивному сеансі " +"або з будь-якої іншої причини використовуєте зворотну косу риску, вам слід " +"використовувати необроблений рядок документації, який збереже ваші зворотні " +"косі риски точно так, як ви їх вводите::" + +msgid "" +"Otherwise, the backslash will be interpreted as part of the string. For " +"example, the ``\\n`` above would be interpreted as a newline character. " +"Alternatively, you can double each backslash in the doctest version (and not " +"use a raw string)::" +msgstr "" +"В іншому випадку зворотна коса риска буде інтерпретуватися як частина рядка. " +"Наприклад, ``\\n`` вище буде інтерпретовано як символ нового рядка. Крім " +"того, ви можете подвоїти кожну зворотну косу риску у версії doctest (і не " +"використовувати необроблений рядок)::" + +msgid "The starting column doesn't matter::" +msgstr "Початковий стовпець не має значення::" + +msgid "" +"and as many leading whitespace characters are stripped from the expected " +"output as appeared in the initial ``'>>> '`` line that started the example." +msgstr "" +"і стільки початкових пробільних символів видаляються з очікуваного " +"результату, скільки було показано в початковому рядку ``'>>> '``, який " +"розпочав приклад." + +msgid "What's the Execution Context?" +msgstr "Що таке контекст виконання?" + +msgid "" +"By default, each time :mod:`doctest` finds a docstring to test, it uses a " +"*shallow copy* of :mod:`M`'s globals, so that running tests doesn't change " +"the module's real globals, and so that one test in :mod:`M` can't leave " +"behind crumbs that accidentally allow another test to work. This means " +"examples can freely use any names defined at top-level in :mod:`M`, and " +"names defined earlier in the docstring being run. Examples cannot see names " +"defined in other docstrings." +msgstr "" +"За замовчуванням, кожного разу, коли :mod:`doctest` знаходить рядок " +"документації для перевірки, він використовує *неглибоку копію* глобалів :mod:" +"`M`, так що виконання тестів не змінює реальні глобальні значення модуля, і " +"тому що один тест у :mod:`M` не може залишити крихти, які випадково " +"дозволяють іншому тесту працювати. Це означає, що приклади можуть вільно " +"використовувати будь-які імена, визначені на верхньому рівні в :mod:`M`, і " +"імена, визначені раніше в рядку документа, що виконується. Приклади не " +"можуть побачити імена, визначені в інших рядках документів." + +msgid "" +"You can force use of your own dict as the execution context by passing " +"``globs=your_dict`` to :func:`testmod` or :func:`testfile` instead." +msgstr "" +"Ви можете примусово використовувати свій власний dict як контекст виконання, " +"передавши натомість ``globs=your_dict`` у :func:`testmod` або :func:" +"`testfile`." + +msgid "What About Exceptions?" +msgstr "А як щодо винятків?" + +msgid "" +"No problem, provided that the traceback is the only output produced by the " +"example: just paste in the traceback. [#]_ Since tracebacks contain details " +"that are likely to change rapidly (for example, exact file paths and line " +"numbers), this is one case where doctest works hard to be flexible in what " +"it accepts." +msgstr "" +"Немає проблем, за умови, що відстеження є єдиним результатом, створеним " +"прикладом: просто вставте відстеження. [#]_ Оскільки відстеження містять " +"деталі, які можуть швидко змінюватися (наприклад, точні шляхи до файлів і " +"номери рядків), це один випадок, коли doctest докладає всіх зусиль, щоб бути " +"гнучким у тому, що він приймає." + +msgid "Simple example::" +msgstr "Простий приклад::" + +msgid "" +"That doctest succeeds if :exc:`ValueError` is raised, with the ``list." +"remove(x): x not in list`` detail as shown." +msgstr "" +"Цей doctest завершується успішно, якщо виникає :exc:`ValueError`, а ``list." +"remove(x): x немає в деталях списку``, як показано." + +msgid "" +"The expected output for an exception must start with a traceback header, " +"which may be either of the following two lines, indented the same as the " +"first line of the example::" +msgstr "" +"Очікуваний вихід для винятку повинен починатися із заголовка трасування, " +"який може бути будь-яким із наступних двох рядків із таким самим відступом, " +"як і перший рядок прикладу:" + +msgid "" +"The traceback header is followed by an optional traceback stack, whose " +"contents are ignored by doctest. The traceback stack is typically omitted, " +"or copied verbatim from an interactive session." +msgstr "" +"Після заголовка трасування слід додатковий стек зворотного трасування, вміст " +"якого ігнорується doctest. Стек зворотного відстеження зазвичай " +"пропускається або дослівно копіюється з інтерактивного сеансу." + +msgid "" +"The traceback stack is followed by the most interesting part: the line(s) " +"containing the exception type and detail. This is usually the last line of " +"a traceback, but can extend across multiple lines if the exception has a " +"multi-line detail::" +msgstr "" +"За стеком відстеження слідує найцікавіша частина: рядки, що містять тип " +"винятку та деталі. Зазвичай це останній рядок трасування, але він може " +"охоплювати кілька рядків, якщо виняток містить багаторядкові деталі::" + +msgid "" +"The last three lines (starting with :exc:`ValueError`) are compared against " +"the exception's type and detail, and the rest are ignored." +msgstr "" +"Останні три рядки (починаючи з :exc:`ValueError`) порівнюються з типом і " +"деталями винятку, а решта ігноруються." + +msgid "" +"Best practice is to omit the traceback stack, unless it adds significant " +"documentation value to the example. So the last example is probably better " +"as::" +msgstr "" +"Найкраща практика — опустити стек трасування, якщо це не додає прикладу " +"значну цінність документації. Отже, останній приклад, ймовірно, кращий як::" + +msgid "" +"Note that tracebacks are treated very specially. In particular, in the " +"rewritten example, the use of ``...`` is independent of doctest's :const:" +"`ELLIPSIS` option. The ellipsis in that example could be left out, or could " +"just as well be three (or three hundred) commas or digits, or an indented " +"transcript of a Monty Python skit." +msgstr "" +"Зауважте, що трейсбеки обробляються дуже спеціально. Зокрема, у переписаному " +"прикладі використання ``...`` не залежить від параметра :const:`ELLIPSIS` " +"doctest. Багатокрапка в цьому прикладі може бути пропущена, або з таким же " +"успіхом може бути трьома (чи трьома сотнями) комами чи цифрами, або " +"транскриптом сценки Монті Пайтона з відступом." + +msgid "Some details you should read once, but won't need to remember:" +msgstr "" +"Деякі деталі, які ви повинні прочитати один раз, але не повинні " +"запам'ятовувати:" + +msgid "" +"Doctest can't guess whether your expected output came from an exception " +"traceback or from ordinary printing. So, e.g., an example that expects " +"``ValueError: 42 is prime`` will pass whether :exc:`ValueError` is actually " +"raised or if the example merely prints that traceback text. In practice, " +"ordinary output rarely begins with a traceback header line, so this doesn't " +"create real problems." +msgstr "" +"Doctest не може здогадатися, чи ваш очікуваний результат отримано від " +"відстеження виняткової ситуації чи від звичайного друку. Так, наприклад, " +"приклад, який очікує ``ValueError: 42 є простим``, буде передано незалежно " +"від того, чи :exc:`ValueError` справді викликано, чи приклад просто друкує " +"цей текст трасування. На практиці звичайний вихід рідко починається з рядка " +"заголовка трасування, тому це не створює реальних проблем." + +msgid "" +"Each line of the traceback stack (if present) must be indented further than " +"the first line of the example, *or* start with a non-alphanumeric character. " +"The first line following the traceback header indented the same and starting " +"with an alphanumeric is taken to be the start of the exception detail. Of " +"course this does the right thing for genuine tracebacks." +msgstr "" +"Кожен рядок стека зворотного відстеження (якщо він є) повинен мати відступ " +"далі, ніж перший рядок прикладу, *або* починатися з небуквено-цифрового " +"символу. Перший рядок після заголовка зворотного відстеження з однаковим " +"відступом і починається з буквено-цифрового символу вважається початком " +"деталей винятку. Звичайно, це правильно для справжнього відстеження." + +msgid "" +"When the :const:`IGNORE_EXCEPTION_DETAIL` doctest option is specified, " +"everything following the leftmost colon and any module information in the " +"exception name is ignored." +msgstr "" +"Коли вказано параметр doctest :const:`IGNORE_EXCEPTION_DETAIL`, все, що йде " +"після крайньої лівої двокрапки, і будь-яка інформація модуля в назві винятку " +"ігнорується." + +msgid "" +"The interactive shell omits the traceback header line for some :exc:" +"`SyntaxError`\\ s. But doctest uses the traceback header line to " +"distinguish exceptions from non-exceptions. So in the rare case where you " +"need to test a :exc:`SyntaxError` that omits the traceback header, you will " +"need to manually add the traceback header line to your test example." +msgstr "" +"Інтерактивна оболонка пропускає рядок заголовка трасування для деяких :exc:" +"`SyntaxError`\\ s. Але doctest використовує рядок заголовка трасування, щоб " +"відрізнити винятки від невинятків. Тож у тих рідкісних випадках, коли вам " +"потрібно перевірити :exc:`SyntaxError`, який пропускає заголовок трасування, " +"вам потрібно буде вручну додати рядок заголовка трасування до вашого " +"тестового прикладу." + +msgid "" +"For some exceptions, Python displays the position of the error using ``^`` " +"markers and tildes::" +msgstr "" + +msgid "" +"Since the lines showing the position of the error come before the exception " +"type and detail, they are not checked by doctest. For example, the " +"following test would pass, even though it puts the ``^`` marker in the wrong " +"location::" +msgstr "" +"Оскільки рядки, що показують положення помилки, стоять перед типом винятку " +"та деталями, вони не перевіряються doctest. Наприклад, наступний тест буде " +"пройдено, навіть якщо він розмістить маркер ``^`` у неправильному місці:" + +msgid "Option Flags" +msgstr "Прапори параметрів" + +msgid "" +"A number of option flags control various aspects of doctest's behavior. " +"Symbolic names for the flags are supplied as module constants, which can be :" +"ref:`bitwise ORed ` together and passed to various functions. The " +"names can also be used in :ref:`doctest directives `, " +"and may be passed to the doctest command line interface via the ``-o`` " +"option." +msgstr "" +"Кілька прапорців параметрів контролюють різні аспекти поведінки doctest. " +"Символічні імена для прапорів надаються як константи модуля, які можна :ref:" +"`порозрядно об’єднати АБО ` разом і передати до різних функцій. " +"Імена також можна використовувати в :ref:`директивах doctest `, і можуть бути передані в інтерфейс командного рядка doctest " +"через опцію ``-o``." + +msgid "The ``-o`` command line option." +msgstr "Параметр командного рядка ``-o``." + +msgid "" +"The first group of options define test semantics, controlling aspects of how " +"doctest decides whether actual output matches an example's expected output:" +msgstr "" +"Перша група параметрів визначає семантику тесту, контролюючи аспекти того, " +"як doctest вирішує, чи фактичний результат відповідає очікуваному результату " +"прикладу:" + +msgid "" +"By default, if an expected output block contains just ``1``, an actual " +"output block containing just ``1`` or just ``True`` is considered to be a " +"match, and similarly for ``0`` versus ``False``. When :const:" +"`DONT_ACCEPT_TRUE_FOR_1` is specified, neither substitution is allowed. The " +"default behavior caters to that Python changed the return type of many " +"functions from integer to boolean; doctests expecting \"little integer\" " +"output still work in these cases. This option will probably go away, but " +"not for several years." +msgstr "" +"За замовчуванням, якщо очікуваний вихідний блок містить лише ``1``, " +"фактичний вихідний блок, що містить лише ``1`` або лише ``True``, вважається " +"збігом, і аналогічно для ``0`` проти ``False``. Якщо вказано :const:" +"`DONT_ACCEPT_TRUE_FOR_1`, жодна заміна не дозволяється. Поведінка за " +"замовчуванням відповідає тому, що Python змінив тип повернення багатьох " +"функцій з цілого на логічний; doctests, які очікують виводу \"маленького " +"цілого\", все ще працюють у цих випадках. Цей варіант, ймовірно, зникне, але " +"не через кілька років." + +msgid "" +"By default, if an expected output block contains a line containing only the " +"string ````, then that line will match a blank line in the actual " +"output. Because a genuinely blank line delimits the expected output, this " +"is the only way to communicate that a blank line is expected. When :const:" +"`DONT_ACCEPT_BLANKLINE` is specified, this substitution is not allowed." +msgstr "" +"За замовчуванням, якщо очікуваний блок виводу містить рядок, що містить лише " +"рядок ````, тоді цей рядок відповідатиме порожньому рядку у " +"фактичному виведенні. Оскільки справді порожній рядок розмежовує очікуваний " +"вихід, це єдиний спосіб повідомити, що очікується порожній рядок. Якщо " +"вказано :const:`DONT_ACCEPT_BLANKLINE`, ця заміна не дозволяється." + +msgid "" +"When specified, all sequences of whitespace (blanks and newlines) are " +"treated as equal. Any sequence of whitespace within the expected output " +"will match any sequence of whitespace within the actual output. By default, " +"whitespace must match exactly. :const:`NORMALIZE_WHITESPACE` is especially " +"useful when a line of expected output is very long, and you want to wrap it " +"across multiple lines in your source." +msgstr "" +"Якщо вказано, усі послідовності пробілів (пробілі та нові рядки) " +"розглядаються як однакові. Будь-яка послідовність пробілів у очікуваному " +"виводі відповідатиме будь-якій послідовності пробілів у фактичному " +"виведенні. За замовчуванням пробіли мають точно збігатися. :const:" +"`NORMALIZE_WHITESPACE` особливо корисний, коли рядок очікуваного результату " +"дуже довгий, і ви хочете обернути його між кількома рядками у своєму джерелі." + +msgid "" +"When specified, an ellipsis marker (``...``) in the expected output can " +"match any substring in the actual output. This includes substrings that " +"span line boundaries, and empty substrings, so it's best to keep usage of " +"this simple. Complicated uses can lead to the same kinds of \"oops, it " +"matched too much!\" surprises that ``.*`` is prone to in regular expressions." +msgstr "" +"Якщо вказано, маркер еліпса (``...``) в очікуваному виведенні може збігатися " +"з будь-яким підрядком у фактичному виведенні. Це включає в себе підрядки, " +"які охоплюють межі рядка, і порожні підрядки, тому найкраще використовувати " +"це просто. Складне використання може призвести до тих самих типів \"ой, це " +"збігається занадто багато!\" сюрпризів, до яких схильний ``.*`` у регулярних " +"виразах." + +msgid "" +"When specified, doctests expecting exceptions pass so long as an exception " +"of the expected type is raised, even if the details (message and fully " +"qualified exception name) don't match." +msgstr "" + +msgid "" +"For example, an example expecting ``ValueError: 42`` will pass if the actual " +"exception raised is ``ValueError: 3*14``, but will fail if, say, a :exc:" +"`TypeError` is raised instead. It will also ignore any fully qualified name " +"included before the exception class, which can vary between implementations " +"and versions of Python and the code/libraries in use. Hence, all three of " +"these variations will work with the flag specified:" +msgstr "" + +msgid "" +"Note that :const:`ELLIPSIS` can also be used to ignore the details of the " +"exception message, but such a test may still fail based on whether the " +"module name is present or matches exactly." +msgstr "" +"Зауважте, що :const:`ELLIPSIS` також можна використовувати для ігнорування " +"деталей повідомлення про винятки, але такий тест все одно може завершитися " +"невдачею залежно від того, чи присутнє ім’я модуля чи воно точно збігається." + +msgid "" +":const:`IGNORE_EXCEPTION_DETAIL` now also ignores any information relating " +"to the module containing the exception under test." +msgstr "" +":const:`IGNORE_EXCEPTION_DETAIL` тепер також ігнорує будь-яку інформацію, " +"пов’язану з модулем, що містить виняток, що тестується." + +msgid "" +"When specified, do not run the example at all. This can be useful in " +"contexts where doctest examples serve as both documentation and test cases, " +"and an example should be included for documentation purposes, but should not " +"be checked. E.g., the example's output might be random; or the example " +"might depend on resources which would be unavailable to the test driver." +msgstr "" +"Якщо вказано, не запускати приклад взагалі. Це може бути корисним у " +"контекстах, де приклади doctest служать як документацією, так і тестовими " +"випадками, і приклад слід включити з метою документації, але не слід " +"перевіряти. Наприклад, результат прикладу може бути випадковим; або приклад " +"може залежати від ресурсів, які були б недоступні для тестового драйвера." + +msgid "" +"The SKIP flag can also be used for temporarily \"commenting out\" examples." +msgstr "" +"Прапор SKIP також можна використовувати для тимчасового \"закоментування\" " +"прикладів." + +msgid "A bitmask or'ing together all the comparison flags above." +msgstr "Бітова маска або об’єднання всіх прапорів порівняння вище." + +msgid "The second group of options controls how test failures are reported:" +msgstr "Друга група параметрів контролює, як повідомляється про помилки тесту:" + +msgid "" +"When specified, failures that involve multi-line expected and actual outputs " +"are displayed using a unified diff." +msgstr "" +"Якщо вказано, помилки, які включають багаторядкові очікувані та фактичні " +"виходи, відображаються за допомогою уніфікованої різниці." + +msgid "" +"When specified, failures that involve multi-line expected and actual outputs " +"will be displayed using a context diff." +msgstr "" +"Якщо вказано, помилки, які включають багаторядкові очікувані та фактичні " +"результати, відображатимуться за допомогою контекстної різниці." + +msgid "" +"When specified, differences are computed by ``difflib.Differ``, using the " +"same algorithm as the popular :file:`ndiff.py` utility. This is the only " +"method that marks differences within lines as well as across lines. For " +"example, if a line of expected output contains digit ``1`` where actual " +"output contains letter ``l``, a line is inserted with a caret marking the " +"mismatching column positions." +msgstr "" +"Якщо вказано, відмінності обчислюються за допомогою ``difflib.Differ``, " +"використовуючи той самий алгоритм, що й популярна утиліта :file:`ndiff.py`. " +"Це єдиний метод, який позначає відмінності всередині ліній, а також між " +"лініями. Наприклад, якщо рядок очікуваного виводу містить цифру ``1``, а " +"фактичний вивід містить літеру ``l``, рядок вставляється з кареткою, що " +"позначає невідповідні позиції стовпців." + +msgid "" +"When specified, display the first failing example in each doctest, but " +"suppress output for all remaining examples. This will prevent doctest from " +"reporting correct examples that break because of earlier failures; but it " +"might also hide incorrect examples that fail independently of the first " +"failure. When :const:`REPORT_ONLY_FIRST_FAILURE` is specified, the " +"remaining examples are still run, and still count towards the total number " +"of failures reported; only the output is suppressed." +msgstr "" +"Якщо вказано, відобразити перший невдалий приклад у кожному документотесті, " +"але придушити вихід для всіх решти прикладів. Це завадить doctest " +"повідомляти про правильні приклади, які вийшли з ладу через попередні " +"помилки; але це також може приховати некоректні приклади, які завершуються " +"невдачею незалежно від першої невдачі. Якщо вказано :const:" +"`REPORT_ONLY_FIRST_FAILURE`, інші приклади все ще виконуються та " +"враховуються до загальної кількості повідомлених про помилки; пригнічується " +"тільки вихід." + +msgid "" +"When specified, exit after the first failing example and don't attempt to " +"run the remaining examples. Thus, the number of failures reported will be at " +"most 1. This flag may be useful during debugging, since examples after the " +"first failure won't even produce debugging output." +msgstr "" +"Якщо вказано, вийти після першого невдалого прикладу та не намагатися " +"запустити решту прикладів. Таким чином, кількість повідомлених помилок " +"становитиме щонайбільше 1. Цей прапорець може бути корисним під час " +"налагодження, оскільки приклади після першої помилки навіть не " +"створюватимуть вихід налагодження." + +msgid "" +"The doctest command line accepts the option ``-f`` as a shorthand for ``-o " +"FAIL_FAST``." +msgstr "" +"Командний рядок doctest приймає опцію ``-f`` як скорочення ``-o FAIL_FAST``." + +msgid "A bitmask or'ing together all the reporting flags above." +msgstr "Бітова маска або об’єднання всіх наведених вище позначок звітування." + +msgid "" +"There is also a way to register new option flag names, though this isn't " +"useful unless you intend to extend :mod:`doctest` internals via subclassing:" +msgstr "" +"Існує також спосіб зареєструвати нові назви прапорців параметрів, хоча це не " +"корисно, якщо ви не маєте намір розширити внутрішні :mod:`doctest` через " +"підкласи:" + +msgid "" +"Create a new option flag with a given name, and return the new flag's " +"integer value. :func:`register_optionflag` can be used when subclassing :" +"class:`OutputChecker` or :class:`DocTestRunner` to create new options that " +"are supported by your subclasses. :func:`register_optionflag` should always " +"be called using the following idiom::" +msgstr "" +"Створіть новий прапор параметра з заданою назвою та поверніть ціле значення " +"нового прапора. :func:`register_optionflag` можна використовувати під час " +"створення підкласів :class:`OutputChecker` або :class:`DocTestRunner` для " +"створення нових параметрів, які підтримуються вашими підкласами. :func:" +"`register_optionflag` завжди слід викликати за допомогою такої ідіоми:" + +msgid "Directives" +msgstr "Директиви" + +msgid "" +"Doctest directives may be used to modify the :ref:`option flags ` for an individual example. Doctest directives are special Python " +"comments following an example's source code:" +msgstr "" +"Директиви Doctest можна використовувати для зміни :ref:`прапорців параметрів " +"` для окремого прикладу. Директиви Doctest — це спеціальні " +"коментарі Python, які слідують за вихідним кодом прикладу:" + +msgid "" +"Whitespace is not allowed between the ``+`` or ``-`` and the directive " +"option name. The directive option name can be any of the option flag names " +"explained above." +msgstr "" +"Пробіли не допускаються між \"+\" або \"-\" та назвою параметра директиви. " +"Назва опції директиви може бути будь-якою з імен прапорців опції, пояснених " +"вище." + +msgid "" +"An example's doctest directives modify doctest's behavior for that single " +"example. Use ``+`` to enable the named behavior, or ``-`` to disable it." +msgstr "" +"Директиви doctest прикладу змінюють поведінку doctest для цього окремого " +"прикладу. Використовуйте ``+``, щоб увімкнути вказану поведінку, або ``-``, " +"щоб вимкнути її." + +msgid "For example, this test passes:" +msgstr "Наприклад, цей тест проходить:" + +msgid "" +"Without the directive it would fail, both because the actual output doesn't " +"have two blanks before the single-digit list elements, and because the " +"actual output is on a single line. This test also passes, and also requires " +"a directive to do so:" +msgstr "" +"Без директиви це було б невдалим, тому що фактичний вивід не має двох " +"пробілів перед однозначними елементами списку, а також тому, що фактичний " +"вивід містить один рядок. Цей тест також проходить, і для цього також " +"потрібна директива:" + +msgid "" +"Multiple directives can be used on a single physical line, separated by " +"commas:" +msgstr "" +"В одному фізичному рядку можна використовувати кілька директив, розділених " +"комами:" + +msgid "" +"If multiple directive comments are used for a single example, then they are " +"combined:" +msgstr "" +"Якщо для одного прикладу використовується кілька коментарів директиви, вони " +"об’єднуються:" + +msgid "" +"As the previous example shows, you can add ``...`` lines to your example " +"containing only directives. This can be useful when an example is too long " +"for a directive to comfortably fit on the same line:" +msgstr "" +"Як показано в попередньому прикладі, ви можете додати до свого прикладу " +"рядки ``...``, які містять лише директиви. Це може бути корисно, коли " +"приклад надто довгий, щоб директива могла зручно розміститися в одному рядку:" + +msgid "" +"Note that since all options are disabled by default, and directives apply " +"only to the example they appear in, enabling options (via ``+`` in a " +"directive) is usually the only meaningful choice. However, option flags can " +"also be passed to functions that run doctests, establishing different " +"defaults. In such cases, disabling an option via ``-`` in a directive can " +"be useful." +msgstr "" +"Зауважте, що оскільки всі параметри вимкнено за замовчуванням, а директиви " +"застосовуються лише до прикладу, у якому вони з’являються, увімкнення " +"параметрів (через ``+`` у директиві) зазвичай є єдиним значущим вибором. " +"Однак позначки параметрів також можна передати функціям, які запускають " +"doctests, встановлюючи різні значення за замовчуванням. У таких випадках " +"може бути корисним вимкнення опції за допомогою ``-`` у директиві." + +msgid "Warnings" +msgstr "Попередження" + +msgid "" +":mod:`doctest` is serious about requiring exact matches in expected output. " +"If even a single character doesn't match, the test fails. This will " +"probably surprise you a few times, as you learn exactly what Python does and " +"doesn't guarantee about output. For example, when printing a set, Python " +"doesn't guarantee that the element is printed in any particular order, so a " +"test like ::" +msgstr "" +":mod:`doctest` серйозно ставиться до вимог точних збігів в очікуваних " +"результатах. Якщо хоча б один символ не збігається, тест проходить невдало. " +"Можливо, це кілька разів вас здивує, оскільки ви дізнаєтесь, що саме робить " +"Python і що не гарантує вихід. Наприклад, під час друку набору Python не " +"гарантує, що елемент буде надруковано в будь-якому певному порядку, тому " +"такий тест::" + +msgid "is vulnerable! One workaround is to do ::" +msgstr "вразливий! Одним з обхідних шляхів є:" + +msgid "instead. Another is to do ::" +msgstr "замість цього. Інше - зробити ::" + +msgid "There are others, but you get the idea." +msgstr "Є й інші, але ви зрозуміли." + +msgid "Another bad idea is to print things that embed an object address, like" +msgstr "" +"Ще одна погана ідея — друкувати речі, які містять адресу об’єкта, наприклад" + +msgid "" +"The :const:`ELLIPSIS` directive gives a nice approach for the last example:" +msgstr "Директива :const:`ELLIPSIS` дає гарний підхід для останнього прикладу:" + +msgid "" +"Floating-point numbers are also subject to small output variations across " +"platforms, because Python defers to the platform C library for float " +"formatting, and C libraries vary widely in quality here. ::" +msgstr "" +"Числа з плаваючою комою також підлягають невеликим варіаціям виводу на " +"різних платформах, оскільки Python віддає перевагу бібліотеці платформи C " +"для форматування з плаваючою комою, і бібліотеки C тут сильно відрізняються " +"за якістю. ::" + +msgid "" +"Numbers of the form ``I/2.**J`` are safe across all platforms, and I often " +"contrive doctest examples to produce numbers of that form::" +msgstr "" +"Числа у формі ``I/2.**J`` безпечні на всіх платформах, і я часто створюю " +"приклади doctest для отримання чисел такої форми::" + +msgid "" +"Simple fractions are also easier for people to understand, and that makes " +"for better documentation." +msgstr "Прості дроби також легше зрозуміти людям, і це покращує документацію." + +msgid "Basic API" +msgstr "Базовий API" + +msgid "" +"The functions :func:`testmod` and :func:`testfile` provide a simple " +"interface to doctest that should be sufficient for most basic uses. For a " +"less formal introduction to these two functions, see sections :ref:`doctest-" +"simple-testmod` and :ref:`doctest-simple-testfile`." +msgstr "" +"Функції :func:`testmod` і :func:`testfile` забезпечують простий інтерфейс " +"для doctest, якого має бути достатньо для більшості базових застосувань. Для " +"менш формального вступу до цих двох функцій див. розділи :ref:`doctest-" +"simple-testmod` і :ref:`doctest-simple-testfile`." + +msgid "" +"All arguments except *filename* are optional, and should be specified in " +"keyword form." +msgstr "" +"Усі аргументи, окрім *ім’я файлу*, є необов’язковими та мають бути вказані у " +"формі ключового слова." + +msgid "" +"Test examples in the file named *filename*. Return ``(failure_count, " +"test_count)``." +msgstr "" +"Тестові приклади у файлі з назвою *ім'я_файлу*. Повернення ``(failure_count, " +"test_count)``." + +msgid "" +"Optional argument *module_relative* specifies how the filename should be " +"interpreted:" +msgstr "" +"Необов’язковий аргумент *module_relative* визначає, як слід інтерпретувати " +"назву файлу:" + +msgid "" +"If *module_relative* is ``True`` (the default), then *filename* specifies an " +"OS-independent module-relative path. By default, this path is relative to " +"the calling module's directory; but if the *package* argument is specified, " +"then it is relative to that package. To ensure OS-independence, *filename* " +"should use ``/`` characters to separate path segments, and may not be an " +"absolute path (i.e., it may not begin with ``/``)." +msgstr "" +"Якщо *module_relative* має значення ``True`` (за замовчуванням), тоді " +"*filename* вказує незалежний від ОС шлях до модуля. За замовчуванням цей " +"шлях є відносно каталогу викликаючого модуля; але якщо вказано аргумент " +"*package*, то він відноситься до цього пакета. Щоб забезпечити незалежність " +"від ОС, *ім’я файлу* має використовувати символи ``/`` для розділення " +"сегментів шляху та не може бути абсолютним шляхом (тобто воно не може " +"починатися з ``/``)." + +msgid "" +"If *module_relative* is ``False``, then *filename* specifies an OS-specific " +"path. The path may be absolute or relative; relative paths are resolved " +"with respect to the current working directory." +msgstr "" +"Якщо *module_relative* має значення ``False``, тоді *filename* вказує шлях " +"до ОС. Шлях може бути абсолютним або відносним; відносні шляхи вирішуються " +"відносно поточного робочого каталогу." + +msgid "" +"Optional argument *name* gives the name of the test; by default, or if " +"``None``, ``os.path.basename(filename)`` is used." +msgstr "" +"Необов'язковий аргумент *name* дає назву тесту; за замовчуванням або, якщо " +"``None``, ``os.path.basename(filename)`` використовується." + +msgid "" +"Optional argument *package* is a Python package or the name of a Python " +"package whose directory should be used as the base directory for a module-" +"relative filename. If no package is specified, then the calling module's " +"directory is used as the base directory for module-relative filenames. It " +"is an error to specify *package* if *module_relative* is ``False``." +msgstr "" +"Необов’язковий аргумент *package* — це пакет Python або ім’я пакета Python, " +"чий каталог слід використовувати як базовий каталог для назви файла, що " +"стосується модуля. Якщо пакет не вказано, то каталог модуля, що викликає, " +"використовується як базовий каталог для імен файлів, що відносяться до " +"модуля. Це помилка вказувати *package*, якщо *module_relative* має значення " +"``False``." + +msgid "" +"Optional argument *globs* gives a dict to be used as the globals when " +"executing examples. A new shallow copy of this dict is created for the " +"doctest, so its examples start with a clean slate. By default, or if " +"``None``, a new empty dict is used." +msgstr "" +"Необов’язковий аргумент *globs* дає dict, який буде використовуватися як " +"глобальні під час виконання прикладів. Для doctest створюється нова " +"поверхнева копія цього dict, тому її приклади починаються з чистого аркуша. " +"За замовчуванням або якщо ``None``, використовується новий порожній dict." + +msgid "" +"Optional argument *extraglobs* gives a dict merged into the globals used to " +"execute examples. This works like :meth:`dict.update`: if *globs* and " +"*extraglobs* have a common key, the associated value in *extraglobs* appears " +"in the combined dict. By default, or if ``None``, no extra globals are " +"used. This is an advanced feature that allows parameterization of " +"doctests. For example, a doctest can be written for a base class, using a " +"generic name for the class, then reused to test any number of subclasses by " +"passing an *extraglobs* dict mapping the generic name to the subclass to be " +"tested." +msgstr "" +"Необов’язковий аргумент *extraglobs* дає dict, об’єднаний із глобальними " +"значеннями, які використовуються для виконання прикладів. Це працює як :meth:" +"`dict.update`: якщо *globs* і *extraglobs* мають спільний ключ, пов’язане " +"значення в *extraglobs* з’являється в комбінованому dict. За замовчуванням " +"або якщо ``None``, додаткові глобальні значення не використовуються. Це " +"розширена функція, яка дозволяє параметризувати doctests. Наприклад, doctest " +"можна написати для базового класу, використовуючи загальну назву для класу, " +"а потім повторно використовувати для тестування будь-якої кількості " +"підкласів, передавши *extraglobs* dict, що відображає загальну назву на " +"підклас, який потрібно перевірити." + +msgid "" +"Optional argument *verbose* prints lots of stuff if true, and prints only " +"failures if false; by default, or if ``None``, it's true if and only if ``'-" +"v'`` is in ``sys.argv``." +msgstr "" +"Додатковий аргумент *verbose* друкує багато речей, якщо true, і друкує лише " +"помилки, якщо false; за замовчуванням або якщо ``None``, це істина тоді і " +"тільки якщо ``'-v''`` є в ``sys.argv``." + +msgid "" +"Optional argument *report* prints a summary at the end when true, else " +"prints nothing at the end. In verbose mode, the summary is detailed, else " +"the summary is very brief (in fact, empty if all tests passed)." +msgstr "" +"Необов’язковий аргумент *report* друкує підсумок у кінці, якщо значення " +"true, інакше нічого не друкує в кінці. У багатослівному режимі резюме є " +"детальним, інакше резюме є дуже коротким (насправді порожнім, якщо всі тести " +"пройдено)." + +msgid "" +"Optional argument *optionflags* (default value 0) takes the :ref:`bitwise OR " +"` of option flags. See section :ref:`doctest-options`." +msgstr "" +"Необов’язковий аргумент *optionflags* (значення за замовчуванням 0) приймає :" +"ref:`побітове АБО ` прапорів параметрів. Дивіться розділ :ref:" +"`doctest-options`." + +msgid "" +"Optional argument *raise_on_error* defaults to false. If true, an exception " +"is raised upon the first failure or unexpected exception in an example. " +"This allows failures to be post-mortem debugged. Default behavior is to " +"continue running examples." +msgstr "" +"Додатковий аргумент *raise_on_error* за умовчанням має значення false. Якщо " +"істина, виняток виникає після першої помилки або несподіваного винятку в " +"прикладі. Це дозволяє посмертно виправляти помилки. Типовою поведінкою є " +"продовження виконання прикладів." + +msgid "" +"Optional argument *parser* specifies a :class:`DocTestParser` (or subclass) " +"that should be used to extract tests from the files. It defaults to a " +"normal parser (i.e., ``DocTestParser()``)." +msgstr "" +"Необов’язковий аргумент *parser* визначає :class:`DocTestParser` (або " +"підклас), який слід використовувати для отримання тестів із файлів. За " +"замовчуванням використовується звичайний аналізатор (тобто " +"``DocTestParser()``)." + +msgid "" +"Optional argument *encoding* specifies an encoding that should be used to " +"convert the file to unicode." +msgstr "" +"Необов’язковий аргумент *encoding* визначає кодування, яке слід " +"використовувати для перетворення файлу в Юнікод." + +msgid "" +"All arguments are optional, and all except for *m* should be specified in " +"keyword form." +msgstr "" +"Усі аргументи є необов’язковими, і всі, крім *m*, мають бути вказані у формі " +"ключового слова." + +msgid "" +"Test examples in docstrings in functions and classes reachable from module " +"*m* (or module :mod:`__main__` if *m* is not supplied or is ``None``), " +"starting with ``m.__doc__``." +msgstr "" +"Тестові приклади в рядках документів у функціях і класах, доступних із " +"модуля *m* (або модуля :mod:`__main__`, якщо *m* не вказано або має значення " +"``None``), починаючи з ``m.__doc__``." + +msgid "" +"Also test examples reachable from dict ``m.__test__``, if it exists and is " +"not ``None``. ``m.__test__`` maps names (strings) to functions, classes and " +"strings; function and class docstrings are searched for examples; strings " +"are searched directly, as if they were docstrings." +msgstr "" +"Також тестові приклади доступні з dict ``m.__test__``, якщо він існує і не є " +"``None``. ``m.__test__`` відображає імена (рядки) на функції, класи та " +"рядки; виконується пошук прикладів у документах функцій і класів; рядки " +"шукаються безпосередньо, як якщо б це були рядки документації." + +msgid "" +"Only docstrings attached to objects belonging to module *m* are searched." +msgstr "" +"Пошук здійснюється лише в рядках документів, приєднаних до об’єктів, що " +"належать модулю *m*." + +msgid "Return ``(failure_count, test_count)``." +msgstr "Повернення ``(failure_count, test_count)``." + +msgid "" +"Optional argument *name* gives the name of the module; by default, or if " +"``None``, ``m.__name__`` is used." +msgstr "" +"Необов'язковий аргумент *name* дає назву модуля; за замовчуванням або, якщо " +"``None``, ``m.__name__`` використовується." + +msgid "" +"Optional argument *exclude_empty* defaults to false. If true, objects for " +"which no doctests are found are excluded from consideration. The default is " +"a backward compatibility hack, so that code still using :meth:`doctest." +"master.summarize` in conjunction with :func:`testmod` continues to get " +"output for objects with no tests. The *exclude_empty* argument to the newer :" +"class:`DocTestFinder` constructor defaults to true." +msgstr "" +"Додатковий аргумент *exclude_empty* за умовчанням має значення false. Якщо " +"значення true, об’єкти, для яких не знайдено жодних тестів, виключаються з " +"розгляду. За замовчуванням використовується зворотна сумісність, тому код, " +"який все ще використовує :meth:`doctest.master.summarize` у поєднанні з :" +"func:`testmod`, продовжує отримувати вихідні дані для об’єктів без тестів. " +"Аргумент *exclude_empty* для нового конструктора :class:`DocTestFinder` за " +"умовчанням має значення true." + +msgid "" +"Optional arguments *extraglobs*, *verbose*, *report*, *optionflags*, " +"*raise_on_error*, and *globs* are the same as for function :func:`testfile` " +"above, except that *globs* defaults to ``m.__dict__``." +msgstr "" +"Необов’язкові аргументи *extraglobs*, *verbose*, *report*, *optionflags*, " +"*raise_on_error* і *globs* такі самі, як і для функції :func:`testfile` " +"вище, за винятком того, що *globs* за умовчанням має значення ``m ." +"__dict__``." + +msgid "" +"Test examples associated with object *f*; for example, *f* may be a string, " +"a module, a function, or a class object." +msgstr "" +"Тестові приклади, пов'язані з об'єктом *f*; наприклад, *f* може бути рядком, " +"модулем, функцією або об’єктом класу." + +msgid "" +"A shallow copy of dictionary argument *globs* is used for the execution " +"context." +msgstr "" +"Неглибока копія аргументу словника *globs* використовується для контексту " +"виконання." + +msgid "" +"Optional argument *name* is used in failure messages, and defaults to ``" +"\"NoName\"``." +msgstr "" +"Необов’язковий аргумент *ім’я* використовується в повідомленнях про помилку " +"та за умовчанням має значення ``\"NoName\"``." + +msgid "" +"If optional argument *verbose* is true, output is generated even if there " +"are no failures. By default, output is generated only in case of an example " +"failure." +msgstr "" +"Якщо додатковий аргумент *verbose* має значення true, вихідні дані " +"генеруються, навіть якщо немає помилок. За замовчуванням вихідні дані " +"генеруються лише у випадку помилки прикладу." + +msgid "" +"Optional argument *compileflags* gives the set of flags that should be used " +"by the Python compiler when running the examples. By default, or if " +"``None``, flags are deduced corresponding to the set of future features " +"found in *globs*." +msgstr "" +"Необов’язковий аргумент *compileflags* надає набір прапорів, які має " +"використовувати компілятор Python під час виконання прикладів. За " +"замовчуванням або якщо ``None``, прапори виводяться відповідно до набору " +"майбутніх функцій, знайдених у *globs*." + +msgid "" +"Optional argument *optionflags* works as for function :func:`testfile` above." +msgstr "" +"Необов’язковий аргумент *optionflags* працює як для функції :func:`testfile` " +"вище." + +msgid "Unittest API" +msgstr "Unittest API" + +msgid "" +"As your collection of doctest'ed modules grows, you'll want a way to run all " +"their doctests systematically. :mod:`doctest` provides two functions that " +"can be used to create :mod:`unittest` test suites from modules and text " +"files containing doctests. To integrate with :mod:`unittest` test " +"discovery, include a :func:`load_tests` function in your test module::" +msgstr "" +"У міру того як ваша колекція модулів doctest зростатиме, вам знадобиться " +"спосіб систематично запускати всі їхні doctests. :mod:`doctest` надає дві " +"функції, які можна використовувати для створення наборів тестів :mod:" +"`unittest` з модулів і текстових файлів, що містять doctests. Для інтеграції " +"з виявленням тестів :mod:`unittest` додайте функцію :func:`load_tests` у " +"свій тестовий модуль::" + +msgid "" +"There are two main functions for creating :class:`unittest.TestSuite` " +"instances from text files and modules with doctests:" +msgstr "" +"Є дві основні функції для створення екземплярів :class:`unittest.TestSuite` " +"з текстових файлів і модулів з doctests:" + +msgid "" +"Convert doctest tests from one or more text files to a :class:`unittest." +"TestSuite`." +msgstr "" +"Перетворіть тести doctest з одного чи кількох текстових файлів у :class:" +"`unittest.TestSuite`." + +msgid "" +"The returned :class:`unittest.TestSuite` is to be run by the unittest " +"framework and runs the interactive examples in each file. If an example in " +"any file fails, then the synthesized unit test fails, and a :exc:" +"`failureException` exception is raised showing the name of the file " +"containing the test and a (sometimes approximate) line number." +msgstr "" +"Повернений :class:`unittest.TestSuite` повинен запускатися фреймворком " +"unittest і запускати інтерактивні приклади в кожному файлі. Якщо приклад у " +"будь-якому файлі завершується невдачею, синтезований модульний тест " +"завершується невдало, і виникає виняткова ситуація :exc:`failureException`, " +"яка показує назву файлу, що містить тест, і (іноді приблизний) номер рядка." + +msgid "Pass one or more paths (as strings) to text files to be examined." +msgstr "" +"Передайте один або кілька шляхів (у вигляді рядків) до текстових файлів, які " +"потрібно перевірити." + +msgid "Options may be provided as keyword arguments:" +msgstr "Параметри можуть бути надані як аргументи ключових слів:" + +msgid "" +"Optional argument *module_relative* specifies how the filenames in *paths* " +"should be interpreted:" +msgstr "" +"Необов’язковий аргумент *module_relative* визначає, як слід інтерпретувати " +"назви файлів у *paths*:" + +msgid "" +"If *module_relative* is ``True`` (the default), then each filename in " +"*paths* specifies an OS-independent module-relative path. By default, this " +"path is relative to the calling module's directory; but if the *package* " +"argument is specified, then it is relative to that package. To ensure OS-" +"independence, each filename should use ``/`` characters to separate path " +"segments, and may not be an absolute path (i.e., it may not begin with ``/" +"``)." +msgstr "" +"Якщо *module_relative* має значення ``True`` (за замовчуванням), тоді кожне " +"ім’я файлу в *paths* визначає незалежний від ОС шлях щодо модуля. За " +"замовчуванням цей шлях є відносно каталогу викликаючого модуля; але якщо " +"вказано аргумент *package*, то він відноситься до цього пакета. Щоб " +"забезпечити незалежність від ОС, кожне ім’я файлу має використовувати " +"символи ``/`` для розділення сегментів шляху та не може бути абсолютним " +"шляхом (тобто воно не може починатися з ``/``)." + +msgid "" +"If *module_relative* is ``False``, then each filename in *paths* specifies " +"an OS-specific path. The path may be absolute or relative; relative paths " +"are resolved with respect to the current working directory." +msgstr "" +"Якщо *module_relative* має значення ``False``, тоді кожне ім’я файлу в " +"*paths* вказує шлях до ОС. Шлях може бути абсолютним або відносним; відносні " +"шляхи вирішуються відносно поточного робочого каталогу." + +msgid "" +"Optional argument *package* is a Python package or the name of a Python " +"package whose directory should be used as the base directory for module-" +"relative filenames in *paths*. If no package is specified, then the calling " +"module's directory is used as the base directory for module-relative " +"filenames. It is an error to specify *package* if *module_relative* is " +"``False``." +msgstr "" +"Необов’язковий аргумент *package* — це пакет Python або ім’я пакета Python, " +"чий каталог слід використовувати як базовий каталог для імен файлів, " +"пов’язаних із модулями, у *paths*. Якщо пакет не вказано, то каталог модуля, " +"що викликає, використовується як базовий каталог для імен файлів, що " +"відносяться до модуля. Це помилка вказувати *package*, якщо " +"*module_relative* має значення ``False``." + +msgid "" +"Optional argument *setUp* specifies a set-up function for the test suite. " +"This is called before running the tests in each file. The *setUp* function " +"will be passed a :class:`DocTest` object. The setUp function can access the " +"test globals as the *globs* attribute of the test passed." +msgstr "" +"Додатковий аргумент *setUp* визначає функцію налаштування для набору тестів. " +"Це викликається перед виконанням тестів у кожному файлі. Функції *setUp* " +"буде передано об’єкт :class:`DocTest`. Функція setUp може отримати доступ до " +"глобальних параметрів тесту як атрибута *globs* пройденого тесту." + +msgid "" +"Optional argument *tearDown* specifies a tear-down function for the test " +"suite. This is called after running the tests in each file. The *tearDown* " +"function will be passed a :class:`DocTest` object. The setUp function can " +"access the test globals as the *globs* attribute of the test passed." +msgstr "" +"Необов’язковий аргумент *tearDown* визначає функцію розриву для набору " +"тестів. Це викликається після виконання тестів у кожному файлі. Функції " +"*tearDown* буде передано об’єкт :class:`DocTest`. Функція setUp може " +"отримати доступ до глобальних параметрів тесту як атрибута *globs* " +"пройденого тесту." + +msgid "" +"Optional argument *globs* is a dictionary containing the initial global " +"variables for the tests. A new copy of this dictionary is created for each " +"test. By default, *globs* is a new empty dictionary." +msgstr "" +"Додатковий аргумент *globs* — це словник, що містить початкові глобальні " +"змінні для тестів. Для кожного тесту створюється нова копія цього словника. " +"За замовчуванням *globs* — це новий порожній словник." + +msgid "" +"Optional argument *optionflags* specifies the default doctest options for " +"the tests, created by or-ing together individual option flags. See section :" +"ref:`doctest-options`. See function :func:`set_unittest_reportflags` below " +"for a better way to set reporting options." +msgstr "" +"Необов’язковий аргумент *optionflags* вказує параметри тесту за " +"замовчуванням для тестів, створені шляхом об’єднання окремих прапорців " +"параметрів. Дивіться розділ :ref:`doctest-options`. Перегляньте функцію :" +"func:`set_unittest_reportflags` нижче, щоб дізнатися про кращий спосіб " +"налаштування параметрів звітування." + +msgid "" +"The global ``__file__`` is added to the globals provided to doctests loaded " +"from a text file using :func:`DocFileSuite`." +msgstr "" +"Глобальний ``__file__`` додається до глобалів, наданих до doctests, " +"завантажених із текстового файлу за допомогою :func:`DocFileSuite`." + +msgid "Convert doctest tests for a module to a :class:`unittest.TestSuite`." +msgstr "Перетворіть тести doctest для модуля на :class:`unittest.TestSuite`." + +msgid "" +"The returned :class:`unittest.TestSuite` is to be run by the unittest " +"framework and runs each doctest in the module. If any of the doctests fail, " +"then the synthesized unit test fails, and a :exc:`failureException` " +"exception is raised showing the name of the file containing the test and a " +"(sometimes approximate) line number." +msgstr "" +"Повернений :class:`unittest.TestSuite` має запускатися фреймворком unittest " +"і запускає кожен doctest у модулі. Якщо будь-який із тестів документів не " +"вдається, синтезований модульний тест завершується невдало, і виникає " +"виняткова ситуація :exc:`failureException`, яка показує назву файлу, що " +"містить тест, і (іноді приблизний) номер рядка." + +msgid "" +"Optional argument *module* provides the module to be tested. It can be a " +"module object or a (possibly dotted) module name. If not specified, the " +"module calling this function is used." +msgstr "" +"Необов’язковий аргумент *module* надає модуль для тестування. Це може бути " +"об’єкт модуля або ім’я модуля (можливо з крапками). Якщо не вказано, " +"використовується модуль, який викликає цю функцію." + +msgid "" +"Optional argument *extraglobs* specifies an extra set of global variables, " +"which is merged into *globs*. By default, no extra globals are used." +msgstr "" +"Необов’язковий аргумент *extraglobs* визначає додатковий набір глобальних " +"змінних, який об’єднується в *globs*. За замовчуванням додаткові глобальні " +"значення не використовуються." + +msgid "" +"Optional argument *test_finder* is the :class:`DocTestFinder` object (or a " +"drop-in replacement) that is used to extract doctests from the module." +msgstr "" +"Необов’язковий аргумент *test_finder* — це об’єкт :class:`DocTestFinder` " +"(або замінник), який використовується для вилучення тестів документів із " +"модуля." + +msgid "" +"Optional arguments *setUp*, *tearDown*, and *optionflags* are the same as " +"for function :func:`DocFileSuite` above." +msgstr "" +"Необов’язкові аргументи *setUp*, *tearDown* і *optionflags* такі самі, як і " +"для функції :func:`DocFileSuite` вище." + +msgid "This function uses the same search technique as :func:`testmod`." +msgstr "Ця функція використовує ту саму техніку пошуку, що й :func:`testmod`." + +msgid "" +":func:`DocTestSuite` returns an empty :class:`unittest.TestSuite` if " +"*module* contains no docstrings instead of raising :exc:`ValueError`." +msgstr "" +":func:`DocTestSuite` повертає порожній :class:`unittest.TestSuite`, якщо " +"*module* не містить рядків документів, замість того, щоб викликати :exc:" +"`ValueError`." + +msgid "" +"Under the covers, :func:`DocTestSuite` creates a :class:`unittest.TestSuite` " +"out of :class:`doctest.DocTestCase` instances, and :class:`DocTestCase` is a " +"subclass of :class:`unittest.TestCase`. :class:`DocTestCase` isn't " +"documented here (it's an internal detail), but studying its code can answer " +"questions about the exact details of :mod:`unittest` integration." +msgstr "" +"Під обкладинками :func:`DocTestSuite` створює :class:`unittest.TestSuite` з " +"екземплярів :class:`doctest.DocTestCase`, а :class:`DocTestCase` є " +"підкласом :class:`unittest.TestCase`. :class:`DocTestCase` тут не " +"задокументовано (це внутрішня деталь), але вивчення його коду може " +"відповісти на запитання щодо точних деталей інтеграції :mod:`unittest`." + +msgid "" +"Similarly, :func:`DocFileSuite` creates a :class:`unittest.TestSuite` out " +"of :class:`doctest.DocFileCase` instances, and :class:`DocFileCase` is a " +"subclass of :class:`DocTestCase`." +msgstr "" +"Так само :func:`DocFileSuite` створює :class:`unittest.TestSuite` з " +"екземплярів :class:`doctest.DocFileCase`, а :class:`DocFileCase` є " +"підкласом :class:`DocTestCase`." + +msgid "" +"So both ways of creating a :class:`unittest.TestSuite` run instances of :" +"class:`DocTestCase`. This is important for a subtle reason: when you run :" +"mod:`doctest` functions yourself, you can control the :mod:`doctest` options " +"in use directly, by passing option flags to :mod:`doctest` functions. " +"However, if you're writing a :mod:`unittest` framework, :mod:`unittest` " +"ultimately controls when and how tests get run. The framework author " +"typically wants to control :mod:`doctest` reporting options (perhaps, e.g., " +"specified by command line options), but there's no way to pass options " +"through :mod:`unittest` to :mod:`doctest` test runners." +msgstr "" +"Отже, обидва способи створення :class:`unittest.TestSuite` запускають " +"екземпляри :class:`DocTestCase`. Це важливо з тонкої причини: коли ви " +"самостійно запускаєте функції :mod:`doctest`, ви можете безпосередньо " +"контролювати параметри :mod:`doctest`, які використовуються, передаючи " +"прапорці параметрів функціям :mod:`doctest`. Однак, якщо ви пишете " +"фреймворк :mod:`unittest`, :mod:`unittest` остаточно контролює, коли і як " +"запускати тести. Автор фреймворку зазвичай хоче контролювати параметри " +"звітування :mod:`doctest` (можливо, наприклад, визначені параметрами " +"командного рядка), але немає способу передати параметри через :mod:" +"`unittest` до :mod:`doctest` виконавців тестів ." + +msgid "" +"For this reason, :mod:`doctest` also supports a notion of :mod:`doctest` " +"reporting flags specific to :mod:`unittest` support, via this function:" +msgstr "" +"З цієї причини :mod:`doctest` також підтримує поняття прапорів звітності :" +"mod:`doctest`, специфічних для підтримки :mod:`unittest`, через цю функцію:" + +msgid "Set the :mod:`doctest` reporting flags to use." +msgstr "Встановіть прапорці звітів :mod:`doctest` для використання." + +msgid "" +"Argument *flags* takes the :ref:`bitwise OR ` of option flags. See " +"section :ref:`doctest-options`. Only \"reporting flags\" can be used." +msgstr "" +"Аргумент *flags* приймає :ref:`побітове АБО ` прапорів параметрів. " +"Дивіться розділ :ref:`doctest-options`. Можна використовувати лише \"прапори " +"звітності\"." + +msgid "" +"This is a module-global setting, and affects all future doctests run by " +"module :mod:`unittest`: the :meth:`runTest` method of :class:`DocTestCase` " +"looks at the option flags specified for the test case when the :class:" +"`DocTestCase` instance was constructed. If no reporting flags were " +"specified (which is the typical and expected case), :mod:`doctest`'s :mod:" +"`unittest` reporting flags are :ref:`bitwise ORed ` into the option " +"flags, and the option flags so augmented are passed to the :class:" +"`DocTestRunner` instance created to run the doctest. If any reporting flags " +"were specified when the :class:`DocTestCase` instance was constructed, :mod:" +"`doctest`'s :mod:`unittest` reporting flags are ignored." +msgstr "" +"Це глобальне налаштування модуля, яке впливає на всі майбутні doctests, " +"запущені модулем :mod:`unittest`: метод :meth:`runTest` :class:`DocTestCase` " +"переглядає позначки параметрів, указані для тестового випадку, коли Створено " +"екземпляр :class:`DocTestCase`. Якщо не було вказано жодних позначок " +"звітування (це типовий і очікуваний випадок), прапорці звітності :mod:" +"`doctest` :mod:`unittest` :ref:`порозрядно об’єднуються АБО ` у " +"прапорці опцій, а прапорці опцій тому доповнені передаються до екземпляра :" +"class:`DocTestRunner`, створеного для запуску doctest. Якщо під час " +"створення екземпляра :class:`DocTestCase` було вказано будь-які позначки " +"звітів, прапорці звітів :mod:`doctest` :mod:`unittest` ігноруються." + +msgid "" +"The value of the :mod:`unittest` reporting flags in effect before the " +"function was called is returned by the function." +msgstr "" +"Функція повертає значення прапорів звітів :mod:`unittest`, які діяли до " +"виклику функції." + +msgid "Advanced API" +msgstr "Розширений API" + +msgid "" +"The basic API is a simple wrapper that's intended to make doctest easy to " +"use. It is fairly flexible, and should meet most users' needs; however, if " +"you require more fine-grained control over testing, or wish to extend " +"doctest's capabilities, then you should use the advanced API." +msgstr "" +"Основний API — це проста оболонка, призначена для полегшення використання " +"doctest. Він досить гнучкий і повинен відповідати потребам більшості " +"користувачів; однак, якщо вам потрібен більш детальний контроль над " +"тестуванням або ви бажаєте розширити можливості doctest, тоді вам слід " +"скористатися розширеним API." + +msgid "" +"The advanced API revolves around two container classes, which are used to " +"store the interactive examples extracted from doctest cases:" +msgstr "" +"Розширений API обертається навколо двох класів контейнерів, які " +"використовуються для зберігання інтерактивних прикладів, отриманих із " +"випадків doctest:" + +msgid "" +":class:`Example`: A single Python :term:`statement`, paired with its " +"expected output." +msgstr "" +":class:`Example`: один :term:`statement` Python у поєднанні з очікуваним " +"результатом." + +msgid "" +":class:`DocTest`: A collection of :class:`Example`\\ s, typically extracted " +"from a single docstring or text file." +msgstr "" +":class:`DocTest`: колекція :class:`Example`\\, зазвичай витягнутих з одного " +"рядка документа або текстового файлу." + +msgid "" +"Additional processing classes are defined to find, parse, and run, and check " +"doctest examples:" +msgstr "" +"Додаткові класи обробки визначені для пошуку, аналізу та запуску та " +"перевірки прикладів doctest:" + +msgid "" +":class:`DocTestFinder`: Finds all docstrings in a given module, and uses a :" +"class:`DocTestParser` to create a :class:`DocTest` from every docstring that " +"contains interactive examples." +msgstr "" +":class:`DocTestFinder`: знаходить усі рядки документів у певному модулі та " +"використовує :class:`DocTestParser` для створення :class:`DocTest` з кожного " +"рядка документів, який містить інтерактивні приклади." + +msgid "" +":class:`DocTestParser`: Creates a :class:`DocTest` object from a string " +"(such as an object's docstring)." +msgstr "" +":class:`DocTestParser`: створює об’єкт :class:`DocTest` із рядка (наприклад, " +"рядка документації об’єкта)." + +msgid "" +":class:`DocTestRunner`: Executes the examples in a :class:`DocTest`, and " +"uses an :class:`OutputChecker` to verify their output." +msgstr "" +":class:`DocTestRunner`: Виконує приклади в :class:`DocTest` і використовує :" +"class:`OutputChecker` для перевірки їх результату." + +msgid "" +":class:`OutputChecker`: Compares the actual output from a doctest example " +"with the expected output, and decides whether they match." +msgstr "" +":class:`OutputChecker`: порівнює фактичні результати прикладу doctest з " +"очікуваними результатами та вирішує, чи вони збігаються." + +msgid "" +"The relationships among these processing classes are summarized in the " +"following diagram::" +msgstr "Відносини між цими класами обробки підсумовано на наступній діаграмі:" + +msgid "DocTest Objects" +msgstr "Об’єкти DocTest" + +msgid "" +"A collection of doctest examples that should be run in a single namespace. " +"The constructor arguments are used to initialize the attributes of the same " +"names." +msgstr "" +"Набір прикладів doctest, які слід запускати в одному просторі імен. " +"Аргументи конструктора використовуються для ініціалізації однойменних " +"атрибутів." + +msgid "" +":class:`DocTest` defines the following attributes. They are initialized by " +"the constructor, and should not be modified directly." +msgstr "" +":class:`DocTest` визначає такі атрибути. Вони ініціалізуються конструктором " +"і не повинні змінюватися безпосередньо." + +msgid "" +"A list of :class:`Example` objects encoding the individual interactive " +"Python examples that should be run by this test." +msgstr "" +"Список об’єктів :class:`Example`, що кодують окремі інтерактивні приклади " +"Python, які мають виконуватися цим тестом." + +msgid "" +"The namespace (aka globals) that the examples should be run in. This is a " +"dictionary mapping names to values. Any changes to the namespace made by " +"the examples (such as binding new variables) will be reflected in :attr:" +"`globs` after the test is run." +msgstr "" +"Простір імен (він же глобальні), у якому слід запускати приклади. Це " +"словник, що зіставляє імена зі значеннями. Будь-які зміни в просторі імен, " +"внесені прикладами (такі як зв’язування нових змінних), будуть відображені " +"в :attr:`globs` після виконання тесту." + +msgid "" +"A string name identifying the :class:`DocTest`. Typically, this is the name " +"of the object or file that the test was extracted from." +msgstr "" +"Ім’я рядка, що ідентифікує :class:`DocTest`. Як правило, це ім'я об'єкта або " +"файлу, з якого було отримано тест." + +msgid "" +"The name of the file that this :class:`DocTest` was extracted from; or " +"``None`` if the filename is unknown, or if the :class:`DocTest` was not " +"extracted from a file." +msgstr "" +"Ім'я файлу, з якого було видобуто цей :class:`DocTest`; або ``None``, якщо " +"назва файлу невідома, або якщо :class:`DocTest` не було видобуто з файлу." + +msgid "" +"The line number within :attr:`filename` where this :class:`DocTest` begins, " +"or ``None`` if the line number is unavailable. This line number is zero-" +"based with respect to the beginning of the file." +msgstr "" +"Номер рядка в :attr:`filename`, де починається цей :class:`DocTest`, або " +"``None``, якщо номер рядка недоступний. Цей номер рядка відраховується від " +"нуля відносно початку файлу." + +msgid "" +"The string that the test was extracted from, or ``None`` if the string is " +"unavailable, or if the test was not extracted from a string." +msgstr "" +"Рядок, з якого було отримано тест, або ``None``, якщо рядок недоступний, або " +"якщо тест не було вилучено з рядка." + +msgid "Example Objects" +msgstr "Приклад об'єктів" + +msgid "" +"A single interactive example, consisting of a Python statement and its " +"expected output. The constructor arguments are used to initialize the " +"attributes of the same names." +msgstr "" +"Єдиний інтерактивний приклад, що складається з оператора Python і його " +"очікуваного результату. Аргументи конструктора використовуються для " +"ініціалізації однойменних атрибутів." + +msgid "" +":class:`Example` defines the following attributes. They are initialized by " +"the constructor, and should not be modified directly." +msgstr "" +":class:`Example` визначає такі атрибути. Вони ініціалізуються конструктором " +"і не повинні змінюватися безпосередньо." + +msgid "" +"A string containing the example's source code. This source code consists of " +"a single Python statement, and always ends with a newline; the constructor " +"adds a newline when necessary." +msgstr "" +"Рядок, що містить вихідний код прикладу. Цей вихідний код складається з " +"одного оператора Python і завжди закінчується символом нового рядка; " +"конструктор додає новий рядок, коли це необхідно." + +msgid "" +"The expected output from running the example's source code (either from " +"stdout, or a traceback in case of exception). :attr:`want` ends with a " +"newline unless no output is expected, in which case it's an empty string. " +"The constructor adds a newline when necessary." +msgstr "" +"Очікуваний результат запуску вихідного коду прикладу (або зі стандартного " +"виводу, або з відстеження у випадку винятку). :attr:`want` закінчується " +"символом нового рядка, якщо тільки вихід не очікується, у такому випадку це " +"порожній рядок. За потреби конструктор додає новий рядок." + +msgid "" +"The exception message generated by the example, if the example is expected " +"to generate an exception; or ``None`` if it is not expected to generate an " +"exception. This exception message is compared against the return value of :" +"func:`traceback.format_exception_only`. :attr:`exc_msg` ends with a newline " +"unless it's ``None``. The constructor adds a newline if needed." +msgstr "" +"Повідомлення про виняток, створене прикладом, якщо очікується, що приклад " +"створить виняток; або ``None``, якщо не очікується створення виняткової " +"ситуації. Це повідомлення про виняток порівнюється зі значенням, що " +"повертається :func:`traceback.format_exception_only`. :attr:`exc_msg` " +"закінчується символом нового рядка, якщо він не ``None``. За потреби " +"конструктор додає новий рядок." + +msgid "" +"The line number within the string containing this example where the example " +"begins. This line number is zero-based with respect to the beginning of the " +"containing string." +msgstr "" +"Номер рядка в рядку, що містить цей приклад, де починається приклад. Цей " +"номер рядка відраховується від нуля відносно початку рядка, що містить." + +msgid "" +"The example's indentation in the containing string, i.e., the number of " +"space characters that precede the example's first prompt." +msgstr "" +"Відступ прикладу в рядку, що містить, тобто кількість пробілів, які " +"передують першому запиту прикладу." + +msgid "" +"A dictionary mapping from option flags to ``True`` or ``False``, which is " +"used to override default options for this example. Any option flags not " +"contained in this dictionary are left at their default value (as specified " +"by the :class:`DocTestRunner`'s :attr:`optionflags`). By default, no options " +"are set." +msgstr "" +"Словник зіставляє прапорці параметрів з ``True`` або ``False``, які " +"використовуються для перевизначення параметрів за замовчуванням у цьому " +"прикладі. Будь-які прапорці параметрів, які не містяться в цьому словнику, " +"залишаються за значенням за замовчуванням (як зазначено :attr:`optionflags` :" +"class:`DocTestRunner`). За замовчуванням параметри не встановлено." + +msgid "DocTestFinder objects" +msgstr "Об’єкти DocTestFinder" + +msgid "" +"A processing class used to extract the :class:`DocTest`\\ s that are " +"relevant to a given object, from its docstring and the docstrings of its " +"contained objects. :class:`DocTest`\\ s can be extracted from modules, " +"classes, functions, methods, staticmethods, classmethods, and properties." +msgstr "" +"Клас обробки, який використовується для вилучення :class:`DocTest`\\ s, які " +"мають відношення до даного об’єкта, з його рядка документації та рядків " +"документації об’єктів, які містяться в ньому. :class:`DocTest`\\ s можна " +"отримати з модулів, класів, функцій, методів, статичних методів, методів " +"класів і властивостей." + +msgid "" +"The optional argument *verbose* can be used to display the objects searched " +"by the finder. It defaults to ``False`` (no output)." +msgstr "" +"Необов'язковий аргумент *verbose* можна використовувати для відображення " +"об'єктів, які шукав шукач. За замовчуванням значення False (без виведення)." + +msgid "" +"The optional argument *parser* specifies the :class:`DocTestParser` object " +"(or a drop-in replacement) that is used to extract doctests from docstrings." +msgstr "" +"Необов’язковий аргумент *parser* визначає об’єкт :class:`DocTestParser` (або " +"замінник), який використовується для вилучення тестів документів із рядків " +"документів." + +msgid "" +"If the optional argument *recurse* is false, then :meth:`DocTestFinder.find` " +"will only examine the given object, and not any contained objects." +msgstr "" +"Якщо необов’язковий аргумент *recurse* має значення false, тоді :meth:" +"`DocTestFinder.find` перевірятиме лише даний об’єкт, а не будь-які об’єкти, " +"що містяться." + +msgid "" +"If the optional argument *exclude_empty* is false, then :meth:`DocTestFinder." +"find` will include tests for objects with empty docstrings." +msgstr "" +"Якщо необов’язковий аргумент *exclude_empty* має значення false, тоді :meth:" +"`DocTestFinder.find` включатиме тести для об’єктів із порожніми рядками " +"документів." + +msgid ":class:`DocTestFinder` defines the following method:" +msgstr ":class:`DocTestFinder` визначає такий метод:" + +msgid "" +"Return a list of the :class:`DocTest`\\ s that are defined by *obj*'s " +"docstring, or by any of its contained objects' docstrings." +msgstr "" +"Повертає список :class:`DocTest`\\, які визначені рядком документації *obj* " +"або будь-якими рядками документів, що містяться в ньому." + +msgid "" +"The optional argument *name* specifies the object's name; this name will be " +"used to construct names for the returned :class:`DocTest`\\ s. If *name* is " +"not specified, then ``obj.__name__`` is used." +msgstr "" +"Необов'язковий аргумент *name* визначає ім'я об'єкта; це ім’я буде " +"використано для створення імен для повернутих :class:`DocTest`\\ s. Якщо " +"*name* не вказано, тоді використовується ``obj.__name__``." + +msgid "" +"The optional parameter *module* is the module that contains the given " +"object. If the module is not specified or is ``None``, then the test finder " +"will attempt to automatically determine the correct module. The object's " +"module is used:" +msgstr "" +"Необов’язковий параметр *module* — це модуль, який містить заданий об’єкт. " +"Якщо модуль не вказано або має значення ``None``, то засіб пошуку тестів " +"спробує автоматично визначити правильний модуль. Використовується модуль " +"об'єкта:" + +msgid "As a default namespace, if *globs* is not specified." +msgstr "Як простір імен за замовчуванням, якщо *globs* не вказано." + +msgid "" +"To prevent the DocTestFinder from extracting DocTests from objects that are " +"imported from other modules. (Contained objects with modules other than " +"*module* are ignored.)" +msgstr "" +"Щоб DocTestFinder не видобував DocTests з об’єктів, імпортованих з інших " +"модулів. (Об’єкти, що містяться з модулями, відмінними від *module*, " +"ігноруються.)" + +msgid "To find the name of the file containing the object." +msgstr "Щоб знайти ім'я файлу, що містить об'єкт." + +msgid "To help find the line number of the object within its file." +msgstr "Щоб допомогти знайти номер рядка об’єкта в його файлі." + +msgid "" +"If *module* is ``False``, no attempt to find the module will be made. This " +"is obscure, of use mostly in testing doctest itself: if *module* is " +"``False``, or is ``None`` but cannot be found automatically, then all " +"objects are considered to belong to the (non-existent) module, so all " +"contained objects will (recursively) be searched for doctests." +msgstr "" +"Якщо *module* має значення ``False``, спроба знайти модуль не буде зроблена. " +"Це незрозуміло, використовується переважно під час тестування самого " +"doctest: якщо *module* має значення ``False`` або ``None``, але не може бути " +"знайдено автоматично, тоді всі об’єкти вважаються такими, що належать до " +"(неіснуючого) модуль, тому всі об’єкти, що містяться, будуть (рекурсивно) " +"шукатися для тестів документів." + +msgid "" +"The globals for each :class:`DocTest` is formed by combining *globs* and " +"*extraglobs* (bindings in *extraglobs* override bindings in *globs*). A new " +"shallow copy of the globals dictionary is created for each :class:`DocTest`. " +"If *globs* is not specified, then it defaults to the module's *__dict__*, if " +"specified, or ``{}`` otherwise. If *extraglobs* is not specified, then it " +"defaults to ``{}``." +msgstr "" +"Глобальні значення для кожного :class:`DocTest` утворюються шляхом " +"об’єднання *globs* і *extraglobs* (прив’язки в *extraglobs* замінюють " +"прив’язки в *globs*). Для кожного :class:`DocTest` створюється нова копія " +"глобального словника. Якщо *globs* не вказано, тоді за замовчуванням " +"використовується *__dict__* модуля, якщо вказано, або ``{}`` інакше. Якщо " +"*extraglobs* не вказано, то за замовчуванням буде ``{}``." + +msgid "DocTestParser objects" +msgstr "Об’єкти DocTestParser" + +msgid "" +"A processing class used to extract interactive examples from a string, and " +"use them to create a :class:`DocTest` object." +msgstr "" +"Клас обробки, який використовується для отримання інтерактивних прикладів із " +"рядка та використання їх для створення об’єкта :class:`DocTest`." + +msgid ":class:`DocTestParser` defines the following methods:" +msgstr ":class:`DocTestParser` визначає такі методи:" + +msgid "" +"Extract all doctest examples from the given string, and collect them into a :" +"class:`DocTest` object." +msgstr "" +"Витягніть усі приклади doctest із заданого рядка та зберіть їх у об’єкт :" +"class:`DocTest`." + +msgid "" +"*globs*, *name*, *filename*, and *lineno* are attributes for the new :class:" +"`DocTest` object. See the documentation for :class:`DocTest` for more " +"information." +msgstr "" +"*globs*, *name*, *filename* і *lineno* є атрибутами для нового об’єкта :" +"class:`DocTest`. Перегляньте документацію для :class:`DocTest` для отримання " +"додаткової інформації." + +msgid "" +"Extract all doctest examples from the given string, and return them as a " +"list of :class:`Example` objects. Line numbers are 0-based. The optional " +"argument *name* is a name identifying this string, and is only used for " +"error messages." +msgstr "" +"Витягніть усі приклади doctest із заданого рядка та поверніть їх як список " +"об’єктів :class:`Example`. Номери рядків базуються на 0. Необов’язковий " +"аргумент *ім’я* – це ім’я, що ідентифікує цей рядок і використовується лише " +"для повідомлень про помилки." + +msgid "" +"Divide the given string into examples and intervening text, and return them " +"as a list of alternating :class:`Example`\\ s and strings. Line numbers for " +"the :class:`Example`\\ s are 0-based. The optional argument *name* is a " +"name identifying this string, and is only used for error messages." +msgstr "" +"Розділіть заданий рядок на приклади та проміжний текст і поверніть їх як " +"список чергування :class:`Example`\\ і рядків. Номери рядків для :class:" +"`Example`\\ s засновані на 0. Необов’язковий аргумент *ім’я* – це ім’я, що " +"ідентифікує цей рядок і використовується лише для повідомлень про помилки." + +msgid "DocTestRunner objects" +msgstr "Об’єкти DocTestRunner" + +msgid "" +"A processing class used to execute and verify the interactive examples in a :" +"class:`DocTest`." +msgstr "" +"Клас обробки, який використовується для виконання та перевірки інтерактивних " +"прикладів у :class:`DocTest`." + +msgid "" +"The comparison between expected outputs and actual outputs is done by an :" +"class:`OutputChecker`. This comparison may be customized with a number of " +"option flags; see section :ref:`doctest-options` for more information. If " +"the option flags are insufficient, then the comparison may also be " +"customized by passing a subclass of :class:`OutputChecker` to the " +"constructor." +msgstr "" +"Порівняння очікуваних і фактичних результатів виконується за допомогою :" +"class:`OutputChecker`. Це порівняння можна налаштувати за допомогою кількох " +"позначок параметрів; дивіться розділ :ref:`doctest-options` для отримання " +"додаткової інформації. Якщо прапорців параметрів недостатньо, порівняння " +"також можна налаштувати, передавши підклас :class:`OutputChecker` до " +"конструктора." + +msgid "" +"The test runner's display output can be controlled in two ways. First, an " +"output function can be passed to :meth:`TestRunner.run`; this function will " +"be called with strings that should be displayed. It defaults to ``sys." +"stdout.write``. If capturing the output is not sufficient, then the display " +"output can be also customized by subclassing DocTestRunner, and overriding " +"the methods :meth:`report_start`, :meth:`report_success`, :meth:" +"`report_unexpected_exception`, and :meth:`report_failure`." +msgstr "" +"Виведенням дисплея тестового бігуна можна керувати двома способами. По-" +"перше, функцію виведення можна передати в :meth:`TestRunner.run`; ця функція " +"буде викликана з рядками, які повинні бути відображені. За замовчуванням має " +"значення ``sys.stdout.write``. Якщо захоплення виводу недостатньо, тоді " +"вивід відображення також можна налаштувати шляхом створення підкласу " +"DocTestRunner і перевизначення методів :meth:`report_start`, :meth:" +"`report_success`, :meth:`report_unexpected_exception` і :meth:`звіт_про " +"помилку`." + +msgid "" +"The optional keyword argument *checker* specifies the :class:`OutputChecker` " +"object (or drop-in replacement) that should be used to compare the expected " +"outputs to the actual outputs of doctest examples." +msgstr "" +"Необов’язковий аргумент ключового слова *checker* визначає об’єкт :class:" +"`OutputChecker` (або додаткову заміну), який слід використовувати для " +"порівняння очікуваних результатів із фактичними результатами прикладів " +"doctest." + +msgid "" +"The optional keyword argument *verbose* controls the :class:" +"`DocTestRunner`'s verbosity. If *verbose* is ``True``, then information is " +"printed about each example, as it is run. If *verbose* is ``False``, then " +"only failures are printed. If *verbose* is unspecified, or ``None``, then " +"verbose output is used iff the command-line switch ``-v`` is used." +msgstr "" +"Додатковий аргумент ключового слова *verbose* контролює докладність :class:" +"`DocTestRunner`. Якщо *verbose* має значення ``True``, тоді друкується " +"інформація про кожен приклад під час його виконання. Якщо *verbose* має " +"значення ``False``, друкуються лише помилки. Якщо *verbose* не вказано або " +"``None``, тоді використовується докладний вивід, якщо використовується " +"параметр командного рядка ``-v``." + +msgid "" +"The optional keyword argument *optionflags* can be used to control how the " +"test runner compares expected output to actual output, and how it displays " +"failures. For more information, see section :ref:`doctest-options`." +msgstr "" +"Необов’язковий аргумент ключового слова *optionflags* можна використовувати " +"для керування тим, як програма виконання тестів порівнює очікуваний " +"результат із фактичним результатом і як він відображає помилки. Для " +"отримання додаткової інформації див. розділ :ref:`doctest-options`." + +msgid "" +"Report that the test runner is about to process the given example. This " +"method is provided to allow subclasses of :class:`DocTestRunner` to " +"customize their output; it should not be called directly." +msgstr "" +"Повідомте, що тестувальник збирається обробити наведений приклад. Цей метод " +"надається, щоб дозволити підкласам :class:`DocTestRunner` налаштовувати свій " +"вихід; його не слід називати безпосередньо." + +msgid "" +"*example* is the example about to be processed. *test* is the test " +"*containing example*. *out* is the output function that was passed to :meth:" +"`DocTestRunner.run`." +msgstr "" +"*приклад* — це приклад, який буде оброблено. *тест* — це тест, який *містить " +"приклад*. *out* — це функція виводу, яка була передана в :meth:" +"`DocTestRunner.run`." + +msgid "" +"Report that the given example ran successfully. This method is provided to " +"allow subclasses of :class:`DocTestRunner` to customize their output; it " +"should not be called directly." +msgstr "" +"Повідомте, що наведений приклад виконано успішно. Цей метод надається, щоб " +"дозволити підкласам :class:`DocTestRunner` налаштовувати свій вихід; його не " +"слід називати безпосередньо." + +msgid "" +"*example* is the example about to be processed. *got* is the actual output " +"from the example. *test* is the test containing *example*. *out* is the " +"output function that was passed to :meth:`DocTestRunner.run`." +msgstr "" +"*приклад* — це приклад, який буде оброблено. *got* — фактичний вихід із " +"прикладу. *тест* — це тест, що містить *приклад*. *out* — це функція виводу, " +"яка була передана в :meth:`DocTestRunner.run`." + +msgid "" +"Report that the given example failed. This method is provided to allow " +"subclasses of :class:`DocTestRunner` to customize their output; it should " +"not be called directly." +msgstr "" +"Повідомте, що наведений приклад не вдався. Цей метод надається, щоб " +"дозволити підкласам :class:`DocTestRunner` налаштовувати свій вихід; його не " +"слід називати безпосередньо." + +msgid "" +"Report that the given example raised an unexpected exception. This method is " +"provided to allow subclasses of :class:`DocTestRunner` to customize their " +"output; it should not be called directly." +msgstr "" +"Повідомте, що наведений приклад викликав несподіваний виняток. Цей метод " +"надається, щоб дозволити підкласам :class:`DocTestRunner` налаштовувати свій " +"вихід; його не слід називати безпосередньо." + +msgid "" +"*example* is the example about to be processed. *exc_info* is a tuple " +"containing information about the unexpected exception (as returned by :func:" +"`sys.exc_info`). *test* is the test containing *example*. *out* is the " +"output function that was passed to :meth:`DocTestRunner.run`." +msgstr "" +"*приклад* — це приклад, який буде оброблено. *exc_info* — це кортеж, що " +"містить інформацію про неочікуваний виняток (як повертає :func:`sys." +"exc_info`). *тест* — це тест, що містить *приклад*. *out* — це функція " +"виводу, яка була передана в :meth:`DocTestRunner.run`." + +msgid "" +"Run the examples in *test* (a :class:`DocTest` object), and display the " +"results using the writer function *out*." +msgstr "" +"Запустіть приклади в *test* (об’єкт :class:`DocTest`) і відобразіть " +"результати за допомогою функції запису *out*." + +msgid "" +"The examples are run in the namespace ``test.globs``. If *clear_globs* is " +"true (the default), then this namespace will be cleared after the test runs, " +"to help with garbage collection. If you would like to examine the namespace " +"after the test completes, then use *clear_globs=False*." +msgstr "" +"Приклади запускаються в просторі імен ``test.globs``. Якщо *clear_globs* має " +"значення true (за замовчуванням), цей простір імен буде очищено після " +"виконання тесту, щоб допомогти зі збиранням сміття. Якщо ви хочете " +"перевірити простір імен після завершення тесту, використовуйте " +"*clear_globs=False*." + +msgid "" +"*compileflags* gives the set of flags that should be used by the Python " +"compiler when running the examples. If not specified, then it will default " +"to the set of future-import flags that apply to *globs*." +msgstr "" +"*compileflags* надає набір прапорів, які має використовувати компілятор " +"Python під час виконання прикладів. Якщо не вказано, за замовчуванням " +"використовуватиметься набір прапорів майбутнього імпорту, які застосовуються " +"до *globs*." + +msgid "" +"The output of each example is checked using the :class:`DocTestRunner`'s " +"output checker, and the results are formatted by the :meth:`DocTestRunner." +"report_\\*` methods." +msgstr "" +"Результати кожного прикладу перевіряються за допомогою засобу перевірки " +"виводу :class:`DocTestRunner`, а результати форматуються методами :meth:" +"`DocTestRunner.report_\\*`." + +msgid "" +"Print a summary of all the test cases that have been run by this " +"DocTestRunner, and return a :term:`named tuple` ``TestResults(failed, " +"attempted)``." +msgstr "" +"Надрукуйте підсумок усіх тестів, які були запущені цим DocTestRunner, і " +"поверніть :term:`named tuple` ``TestResults(failed, attempted)``." + +msgid "" +"The optional *verbose* argument controls how detailed the summary is. If " +"the verbosity is not specified, then the :class:`DocTestRunner`'s verbosity " +"is used." +msgstr "" +"Необов’язковий аргумент *verbose* контролює, наскільки детальним є резюме. " +"Якщо детальність не вказана, тоді використовується детальність :class:" +"`DocTestRunner`." + +msgid "OutputChecker objects" +msgstr "Об'єкти OutputChecker" + +msgid "" +"A class used to check the whether the actual output from a doctest example " +"matches the expected output. :class:`OutputChecker` defines two methods: :" +"meth:`check_output`, which compares a given pair of outputs, and returns " +"``True`` if they match; and :meth:`output_difference`, which returns a " +"string describing the differences between two outputs." +msgstr "" +"Клас, який використовується для перевірки того, чи фактичний результат із " +"прикладу doctest відповідає очікуваному результату. :class:`OutputChecker` " +"визначає два методи: :meth:`check_output`, який порівнює задану пару виходів " +"і повертає ``True``, якщо вони збігаються; і :meth:`output_difference`, який " +"повертає рядок, що описує різницю між двома результатами." + +msgid ":class:`OutputChecker` defines the following methods:" +msgstr ":class:`OutputChecker` визначає такі методи:" + +msgid "" +"Return ``True`` iff the actual output from an example (*got*) matches the " +"expected output (*want*). These strings are always considered to match if " +"they are identical; but depending on what option flags the test runner is " +"using, several non-exact match types are also possible. See section :ref:" +"`doctest-options` for more information about option flags." +msgstr "" +"Повертає ``True``, якщо фактичний результат із прикладу (*got*) відповідає " +"очікуваному результату (*want*). Ці рядки завжди вважаються такими, що " +"збігаються, якщо вони ідентичні; але залежно від того, які прапорці " +"параметрів використовує програма виконання тестів, також можливі кілька " +"типів неточної відповідності. Перегляньте розділ :ref:`doctest-options` для " +"отримання додаткової інформації про прапорці параметрів." + +msgid "" +"Return a string describing the differences between the expected output for a " +"given example (*example*) and the actual output (*got*). *optionflags* is " +"the set of option flags used to compare *want* and *got*." +msgstr "" +"Повертає рядок, що описує відмінності між очікуваним виходом для даного " +"прикладу (*example*) і фактичним виходом (*got*). *optionflags* — це набір " +"позначок параметрів, які використовуються для порівняння *want* і *got*." + +msgid "Debugging" +msgstr "Налагодження" + +msgid "Doctest provides several mechanisms for debugging doctest examples:" +msgstr "Doctest надає кілька механізмів для налагодження прикладів doctest:" + +msgid "" +"Several functions convert doctests to executable Python programs, which can " +"be run under the Python debugger, :mod:`pdb`." +msgstr "" +"Декілька функцій перетворюють doctests на виконувані програми Python, які " +"можна запускати в налагоджувачі Python, :mod:`pdb`." + +msgid "" +"The :class:`DebugRunner` class is a subclass of :class:`DocTestRunner` that " +"raises an exception for the first failing example, containing information " +"about that example. This information can be used to perform post-mortem " +"debugging on the example." +msgstr "" +"Клас :class:`DebugRunner` є підкласом :class:`DocTestRunner`, який створює " +"виняток для першого невдалого прикладу, що містить інформацію про цей " +"приклад. Ця інформація може бути використана для виконання посмертного " +"налагодження на прикладі." + +msgid "" +"The :mod:`unittest` cases generated by :func:`DocTestSuite` support the :" +"meth:`debug` method defined by :class:`unittest.TestCase`." +msgstr "" +"Випадки :mod:`unittest`, згенеровані :func:`DocTestSuite`, підтримують " +"метод :meth:`debug`, визначений :class:`unittest.TestCase`." + +msgid "" +"You can add a call to :func:`pdb.set_trace` in a doctest example, and you'll " +"drop into the Python debugger when that line is executed. Then you can " +"inspect current values of variables, and so on. For example, suppose :file:" +"`a.py` contains just this module docstring::" +msgstr "" +"Ви можете додати виклик до :func:`pdb.set_trace` у прикладі doctest, і ви " +"перейдете до налагоджувача Python, коли цей рядок буде виконано. Потім ви " +"можете перевірити поточні значення змінних і так далі. Наприклад, " +"припустимо, що :file:`a.py` містить лише цей модуль docstring::" + +msgid "Then an interactive Python session may look like this::" +msgstr "Тоді інтерактивний сеанс Python може виглядати так:" + +msgid "" +"Functions that convert doctests to Python code, and possibly run the " +"synthesized code under the debugger:" +msgstr "" +"Функції, які перетворюють doctests на код Python і, можливо, запускають " +"синтезований код під налагоджувачем:" + +msgid "Convert text with examples to a script." +msgstr "Перетворення тексту з прикладами на сценарій." + +msgid "" +"Argument *s* is a string containing doctest examples. The string is " +"converted to a Python script, where doctest examples in *s* are converted to " +"regular code, and everything else is converted to Python comments. The " +"generated script is returned as a string. For example, ::" +msgstr "" +"Аргумент *s* — це рядок, що містить приклади doctest. Рядок перетворюється " +"на сценарій Python, де приклади doctest у *s* перетворюються на звичайний " +"код, а все інше перетворюється на коментарі Python. Згенерований сценарій " +"повертається як рядок. Наприклад, ::" + +msgid "displays::" +msgstr "дисплеї::" + +msgid "" +"This function is used internally by other functions (see below), but can " +"also be useful when you want to transform an interactive Python session into " +"a Python script." +msgstr "" +"Ця функція використовується внутрішньо іншими функціями (див. нижче), але " +"також може бути корисною, коли ви хочете перетворити інтерактивний сеанс " +"Python на сценарій Python." + +msgid "Convert the doctest for an object to a script." +msgstr "Перетворення doctest для об’єкта на сценарій." + +msgid "" +"Argument *module* is a module object, or dotted name of a module, containing " +"the object whose doctests are of interest. Argument *name* is the name " +"(within the module) of the object with the doctests of interest. The result " +"is a string, containing the object's docstring converted to a Python script, " +"as described for :func:`script_from_examples` above. For example, if " +"module :file:`a.py` contains a top-level function :func:`f`, then ::" +msgstr "" +"Аргумент *module* — це об’єкт модуля або ім’я модуля з крапками, що містить " +"об’єкт, чиї документи представляють інтерес. Аргумент *ім’я* — це ім’я (в " +"межах модуля) об’єкта з цікавими документами. Результатом є рядок, що " +"містить документацію об’єкта, перетворену на сценарій Python, як описано " +"для :func:`script_from_examples` вище. Наприклад, якщо модуль :file:`a.py` " +"містить функцію верхнього рівня :func:`f`, тоді ::" + +msgid "" +"prints a script version of function :func:`f`'s docstring, with doctests " +"converted to code, and the rest placed in comments." +msgstr "" +"друкує версію сценарію рядка документації функції :func:`f` із тестами " +"документів, перетвореними на код, а решту розміщує в коментарях." + +msgid "Debug the doctests for an object." +msgstr "Налагодження документів для об’єкта." + +msgid "" +"The *module* and *name* arguments are the same as for function :func:" +"`testsource` above. The synthesized Python script for the named object's " +"docstring is written to a temporary file, and then that file is run under " +"the control of the Python debugger, :mod:`pdb`." +msgstr "" +"Аргументи *module* і *name* такі самі, як і для функції :func:`testsource` " +"вище. Синтезований сценарій Python для рядка документації названого об’єкта " +"записується у тимчасовий файл, а потім цей файл запускається під керуванням " +"налагоджувача Python, :mod:`pdb`." + +msgid "" +"A shallow copy of ``module.__dict__`` is used for both local and global " +"execution context." +msgstr "" +"Поверхнева копія ``module.__dict__`` використовується як для локального, так " +"і для глобального контексту виконання." + +msgid "" +"Optional argument *pm* controls whether post-mortem debugging is used. If " +"*pm* has a true value, the script file is run directly, and the debugger " +"gets involved only if the script terminates via raising an unhandled " +"exception. If it does, then post-mortem debugging is invoked, via :func:" +"`pdb.post_mortem`, passing the traceback object from the unhandled " +"exception. If *pm* is not specified, or is false, the script is run under " +"the debugger from the start, via passing an appropriate :func:`exec` call " +"to :func:`pdb.run`." +msgstr "" +"Додатковий аргумент *pm* визначає, чи використовується посмертне " +"налагодження. Якщо *pm* має значення true, файл сценарію запускається " +"безпосередньо, і налагоджувач бере участь лише в тому випадку, якщо сценарій " +"завершується через виклик необробленого винятку. Якщо це так, то через :func:" +"`pdb.post_mortem` викликається посмертне налагодження, передаючи об’єкт " +"трасування з необробленого винятку. Якщо *pm* не вказано або має значення " +"false, сценарій запускається під налагоджувачем із самого початку, шляхом " +"передачі відповідного виклику :func:`exec` до :func:`pdb.run`." + +msgid "Debug the doctests in a string." +msgstr "Налагодити doctests у рядку." + +msgid "" +"This is like function :func:`debug` above, except that a string containing " +"doctest examples is specified directly, via the *src* argument." +msgstr "" +"Це схоже на функцію :func:`debug` вище, за винятком того, що рядок, що " +"містить приклади doctest, вказується безпосередньо через аргумент *src*." + +msgid "" +"Optional argument *pm* has the same meaning as in function :func:`debug` " +"above." +msgstr "" +"Необов’язковий аргумент *pm* має те саме значення, що й у функції :func:" +"`debug` вище." + +msgid "" +"Optional argument *globs* gives a dictionary to use as both local and global " +"execution context. If not specified, or ``None``, an empty dictionary is " +"used. If specified, a shallow copy of the dictionary is used." +msgstr "" +"Необов’язковий аргумент *globs* надає словник для використання як " +"локального, так і глобального контексту виконання. Якщо не вказано або " +"``None``, використовується порожній словник. Якщо вказано, використовується " +"неглибока копія словника." + +msgid "" +"The :class:`DebugRunner` class, and the special exceptions it may raise, are " +"of most interest to testing framework authors, and will only be sketched " +"here. See the source code, and especially :class:`DebugRunner`'s docstring " +"(which is a doctest!) for more details:" +msgstr "" +"Клас :class:`DebugRunner` і спеціальні винятки, які він може спричинити, " +"представляють найбільший інтерес для авторів фреймворку тестування, і тут " +"буде лише схематично описано. Перегляньте вихідний код, а особливо рядок " +"документації :class:`DebugRunner` (який є тестом документів!) для отримання " +"додаткової інформації:" + +msgid "" +"A subclass of :class:`DocTestRunner` that raises an exception as soon as a " +"failure is encountered. If an unexpected exception occurs, an :exc:" +"`UnexpectedException` exception is raised, containing the test, the example, " +"and the original exception. If the output doesn't match, then a :exc:" +"`DocTestFailure` exception is raised, containing the test, the example, and " +"the actual output." +msgstr "" +"Підклас :class:`DocTestRunner`, який викликає виняток, щойно виникає " +"помилка. Якщо виникає неочікуваний виняток, виникає виняток :exc:" +"`UnexpectedException`, який містить тест, приклад і оригінальний виняток. " +"Якщо вихідні дані не збігаються, то виникає виняток :exc:`DocTestFailure`, " +"який містить тест, приклад і фактичний результат." + +msgid "" +"For information about the constructor parameters and methods, see the " +"documentation for :class:`DocTestRunner` in section :ref:`doctest-advanced-" +"api`." +msgstr "" +"Щоб отримати інформацію про параметри та методи конструктора, перегляньте " +"документацію для :class:`DocTestRunner` у розділі :ref:`doctest-advanced-" +"api`." + +msgid "" +"There are two exceptions that may be raised by :class:`DebugRunner` " +"instances:" +msgstr "" +"Є два винятки, які можуть бути викликані екземплярами :class:`DebugRunner`:" + +msgid "" +"An exception raised by :class:`DocTestRunner` to signal that a doctest " +"example's actual output did not match its expected output. The constructor " +"arguments are used to initialize the attributes of the same names." +msgstr "" +"Виняток, викликаний :class:`DocTestRunner`, щоб повідомити, що фактичний " +"вихід прикладу doctest не збігається з його очікуваним результатом. " +"Аргументи конструктора використовуються для ініціалізації однойменних " +"атрибутів." + +msgid ":exc:`DocTestFailure` defines the following attributes:" +msgstr ":exc:`DocTestFailure` визначає такі атрибути:" + +msgid "The :class:`DocTest` object that was being run when the example failed." +msgstr "Об’єкт :class:`DocTest`, який запускався під час помилки прикладу." + +msgid "The :class:`Example` that failed." +msgstr "Невдалий :class:`Example`." + +msgid "The example's actual output." +msgstr "Фактичний результат прикладу." + +msgid "" +"An exception raised by :class:`DocTestRunner` to signal that a doctest " +"example raised an unexpected exception. The constructor arguments are used " +"to initialize the attributes of the same names." +msgstr "" +"Виняток, викликаний :class:`DocTestRunner`, щоб сигналізувати про те, що " +"приклад doctest викликав неочікуваний виняток. Аргументи конструктора " +"використовуються для ініціалізації однойменних атрибутів." + +msgid ":exc:`UnexpectedException` defines the following attributes:" +msgstr ":exc:`UnexpectedException` визначає такі атрибути:" + +msgid "" +"A tuple containing information about the unexpected exception, as returned " +"by :func:`sys.exc_info`." +msgstr "" +"Кортеж, що містить інформацію про неочікуваний виняток, яку повертає :func:" +"`sys.exc_info`." + +msgid "Soapbox" +msgstr "Мильниця" + +msgid "" +"As mentioned in the introduction, :mod:`doctest` has grown to have three " +"primary uses:" +msgstr "" +"Як згадувалося у вступі, :mod:`doctest` зріс до трьох основних застосувань:" + +msgid "Checking examples in docstrings." +msgstr "Перевірка прикладів у рядках документів." + +msgid "Regression testing." +msgstr "Регресійне тестування." + +msgid "Executable documentation / literate testing." +msgstr "Виконувана документація / грамотне тестування." + +msgid "" +"These uses have different requirements, and it is important to distinguish " +"them. In particular, filling your docstrings with obscure test cases makes " +"for bad documentation." +msgstr "" +"Ці види використання мають різні вимоги, і їх важливо розрізняти. Зокрема, " +"заповнення ваших рядків документації незрозумілими тестовими прикладами " +"створює погану документацію." + +msgid "" +"When writing a docstring, choose docstring examples with care. There's an " +"art to this that needs to be learned---it may not be natural at first. " +"Examples should add genuine value to the documentation. A good example can " +"often be worth many words. If done with care, the examples will be " +"invaluable for your users, and will pay back the time it takes to collect " +"them many times over as the years go by and things change. I'm still amazed " +"at how often one of my :mod:`doctest` examples stops working after a " +"\"harmless\" change." +msgstr "" +"Під час написання документаційного рядка обережно вибирайте приклади " +"документаційного рядка. У цьому є певне мистецтво, якому потрібно навчитися " +"--- спочатку це може бути неприродним. Приклади повинні додати справжню " +"цінність документації. Хороший приклад часто вартий багатьох слів. Якщо їх " +"робити обережно, приклади будуть безцінні для ваших користувачів і " +"багаторазово окуплять час, потрачений на їх збирання, оскільки роки йдуть і " +"все змінюється. Мене все ще дивує, як часто один із моїх прикладів :mod:" +"`doctest` перестає працювати після \"нешкідливої\" зміни." + +msgid "" +"Doctest also makes an excellent tool for regression testing, especially if " +"you don't skimp on explanatory text. By interleaving prose and examples, it " +"becomes much easier to keep track of what's actually being tested, and why. " +"When a test fails, good prose can make it much easier to figure out what the " +"problem is, and how it should be fixed. It's true that you could write " +"extensive comments in code-based testing, but few programmers do. Many have " +"found that using doctest approaches instead leads to much clearer tests. " +"Perhaps this is simply because doctest makes writing prose a little easier " +"than writing code, while writing comments in code is a little harder. I " +"think it goes deeper than just that: the natural attitude when writing a " +"doctest-based test is that you want to explain the fine points of your " +"software, and illustrate them with examples. This in turn naturally leads to " +"test files that start with the simplest features, and logically progress to " +"complications and edge cases. A coherent narrative is the result, instead " +"of a collection of isolated functions that test isolated bits of " +"functionality seemingly at random. It's a different attitude, and produces " +"different results, blurring the distinction between testing and explaining." +msgstr "" +"Doctest також є чудовим інструментом для регресійного тестування, особливо " +"якщо ви не економите на пояснювальному тексті. Перемежовуючи прозу та " +"приклади, стає набагато легше відслідковувати, що насправді перевіряється та " +"чому. Якщо тест провалився, хороша проза може значно полегшити з’ясування " +"проблеми та способи її вирішення. Це правда, що ви можете писати розгорнуті " +"коментарі під час тестування на основі коду, але мало хто з програмістів це " +"робить. Багато хто виявив, що використання підходів doctest натомість " +"призводить до набагато чіткіших тестів. Можливо, це просто тому, що doctest " +"робить написання прози трохи легшим, ніж написання коду, тоді як писати " +"коментарі в коді трохи складніше. Я думаю, що це глибше, ніж просто це: " +"природне ставлення до написання тесту на основі doctest полягає в тому, що " +"ви хочете пояснити тонкощі свого програмного забезпечення та проілюструвати " +"їх прикладами. Це, у свою чергу, природним чином призводить до тестових " +"файлів, які починаються з найпростіших функцій і логічно прогресують до " +"ускладнень і крайніх випадків. Результатом є послідовна розповідь, а не " +"набір ізольованих функцій, які перевіряють окремі фрагменти " +"функціональності, здавалося б, випадковим чином. Це інше ставлення, яке дає " +"інші результати, стираючи різницю між тестуванням і поясненням." + +msgid "" +"Regression testing is best confined to dedicated objects or files. There " +"are several options for organizing tests:" +msgstr "" +"Регресійне тестування найкраще обмежити виділеними об’єктами або файлами. Є " +"кілька варіантів організації тестів:" + +msgid "" +"Write text files containing test cases as interactive examples, and test the " +"files using :func:`testfile` or :func:`DocFileSuite`. This is recommended, " +"although is easiest to do for new projects, designed from the start to use " +"doctest." +msgstr "" +"Напишіть текстові файли, що містять тестові приклади як інтерактивні " +"приклади, і протестуйте файли за допомогою :func:`testfile` або :func:" +"`DocFileSuite`. Це рекомендовано, хоча це найлегше зробити для нових " +"проектів, розроблених із самого початку для використання doctest." + +msgid "" +"Define functions named ``_regrtest_topic`` that consist of single " +"docstrings, containing test cases for the named topics. These functions can " +"be included in the same file as the module, or separated out into a separate " +"test file." +msgstr "" +"Визначте функції під назвою ``_regrtest_topic``, які складаються з окремих " +"рядків документів, що містять тестові випадки для названих тем. Ці функції " +"можна включити в той самий файл, що й модуль, або відокремити в окремий " +"тестовий файл." + +msgid "" +"Define a ``__test__`` dictionary mapping from regression test topics to " +"docstrings containing test cases." +msgstr "" +"Визначте зіставлення словника ``__test__`` із тем регресійних тестів на " +"рядки документів, що містять тестові приклади." + +msgid "" +"When you have placed your tests in a module, the module can itself be the " +"test runner. When a test fails, you can arrange for your test runner to re-" +"run only the failing doctest while you debug the problem. Here is a minimal " +"example of such a test runner::" +msgstr "" +"Якщо ви розмістили свої тести в модулі, модуль сам може бути виконавцем " +"тестів. Коли тест виходить невдалим, ви можете організувати повторний запуск " +"лише невдалого документу, поки ви вирішуєте проблему. Ось мінімальний " +"приклад такого тесту:" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Examples containing both expected output and an exception are not supported. " +"Trying to guess where one ends and the other begins is too error-prone, and " +"that also makes for a confusing test." +msgstr "" +"Приклади, що містять як очікуваний результат, так і виняток, не " +"підтримуються. Спроба вгадати, де закінчується один і починається інший, " +"занадто схильна до помилок, і це також створює заплутаний тест." diff --git a/library/email.po b/library/email.po new file mode 100644 index 000000000..0e5b5d5f9 --- /dev/null +++ b/library/email.po @@ -0,0 +1,268 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email` --- An email and MIME handling package" +msgstr ":mod:`email` --- пакет обробки електронної пошти та MIME" + +msgid "**Source code:** :source:`Lib/email/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/email/__init__.py`" + +msgid "" +"The :mod:`email` package is a library for managing email messages. It is " +"specifically *not* designed to do any sending of email messages to SMTP (:" +"rfc:`2821`), NNTP, or other servers; those are functions of modules such as :" +"mod:`smtplib` and :mod:`nntplib`. The :mod:`email` package attempts to be " +"as RFC-compliant as possible, supporting :rfc:`5322` and :rfc:`6532`, as " +"well as such MIME-related RFCs as :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :" +"rfc:`2183`, and :rfc:`2231`." +msgstr "" +"Пакет :mod:`email` — це бібліотека для керування повідомленнями електронної " +"пошти. Він спеціально *не* призначений для надсилання повідомлень " +"електронної пошти на SMTP (:rfc:`2821`), NNTP або інші сервери; це функції " +"таких модулів, як :mod:`smtplib` і :mod:`nntplib`. Пакет :mod:`email` " +"намагається бути максимально сумісним із RFC, підтримуючи :rfc:`5322` і :rfc:" +"`6532`, а також такі пов’язані з MIME RFC, як :rfc:`2045`, :rfc:`2046`, :" +"rfc:`2047`, :rfc:`2183` і :rfc:`2231`." + +msgid "" +"The overall structure of the email package can be divided into three major " +"components, plus a fourth component that controls the behavior of the other " +"components." +msgstr "" +"Загальну структуру пакета електронної пошти можна розділити на три основні " +"компоненти, плюс четвертий компонент, який контролює поведінку інших " +"компонентів." + +msgid "" +"The central component of the package is an \"object model\" that represents " +"email messages. An application interacts with the package primarily through " +"the object model interface defined in the :mod:`~email.message` sub-module. " +"The application can use this API to ask questions about an existing email, " +"to construct a new email, or to add or remove email subcomponents that " +"themselves use the same object model interface. That is, following the " +"nature of email messages and their MIME subcomponents, the email object " +"model is a tree structure of objects that all provide the :class:`~email." +"message.EmailMessage` API." +msgstr "" +"Центральним компонентом пакету є \"об’єктна модель\", яка представляє " +"повідомлення електронної пошти. Програма взаємодіє з пакетом переважно через " +"інтерфейс об’єктної моделі, визначений у підмодулі :mod:`~email.message`. " +"Програма може використовувати цей API, щоб ставити запитання щодо наявного " +"електронного листа, створювати новий електронний лист або додавати чи " +"видаляти підкомпоненти електронної пошти, які самі використовують той самий " +"інтерфейс об’єктної моделі. Тобто, відповідно до природи повідомлень " +"електронної пошти та їхніх підкомпонентів MIME, об’єктна модель електронної " +"пошти є деревовидною структурою об’єктів, усі з яких забезпечують API :class:" +"`~email.message.EmailMessage`." + +msgid "" +"The other two major components of the package are the :mod:`~email.parser` " +"and the :mod:`~email.generator`. The parser takes the serialized version of " +"an email message (a stream of bytes) and converts it into a tree of :class:" +"`~email.message.EmailMessage` objects. The generator takes an :class:" +"`~email.message.EmailMessage` and turns it back into a serialized byte " +"stream. (The parser and generator also handle streams of text characters, " +"but this usage is discouraged as it is too easy to end up with messages that " +"are not valid in one way or another.)" +msgstr "" +"Двома іншими основними компонентами пакета є :mod:`~email.parser` і :mod:" +"`~email.generator`. Синтаксичний аналізатор бере серіалізовану версію " +"повідомлення електронної пошти (потік байтів) і перетворює його на дерево " +"об’єктів :class:`~email.message.EmailMessage`. Генератор приймає :class:" +"`~email.message.EmailMessage` і перетворює його назад на серіалізований " +"потік байтів. (Антаксичний аналізатор і генератор також обробляють потоки " +"текстових символів, але таке використання не рекомендується, оскільки надто " +"легко отримати повідомлення, які тим чи іншим чином є недійсними.)" + +msgid "" +"The control component is the :mod:`~email.policy` module. Every :class:" +"`~email.message.EmailMessage`, every :mod:`~email.generator`, and every :mod:" +"`~email.parser` has an associated :mod:`~email.policy` object that controls " +"its behavior. Usually an application only needs to specify the policy when " +"an :class:`~email.message.EmailMessage` is created, either by directly " +"instantiating an :class:`~email.message.EmailMessage` to create a new " +"email, or by parsing an input stream using a :mod:`~email.parser`. But the " +"policy can be changed when the message is serialized using a :mod:`~email." +"generator`. This allows, for example, a generic email message to be parsed " +"from disk, but to serialize it using standard SMTP settings when sending it " +"to an email server." +msgstr "" +"Керуючим компонентом є модуль :mod:`~email.policy`. Кожен :class:`~email." +"message.EmailMessage`, кожен :mod:`~email.generator` і кожен :mod:`~email." +"parser` має пов’язаний об’єкт :mod:`~email.policy`, який контролює його " +"поведінку. Зазвичай програмі потрібно лише вказати політику, коли " +"створюється :class:`~email.message.EmailMessage`, шляхом безпосереднього " +"створення екземпляра :class:`~email.message.EmailMessage` для створення " +"нового електронного листа або аналізу вхідний потік за допомогою :mod:" +"`~email.parser`. Але політику можна змінити, якщо повідомлення серіалізовано " +"за допомогою :mod:`~email.generator`. Це дозволяє, наприклад, аналізувати " +"загальне повідомлення електронної пошти з диска, але серіалізувати його за " +"допомогою стандартних параметрів SMTP під час надсилання на сервер " +"електронної пошти." + +msgid "" +"The email package does its best to hide the details of the various governing " +"RFCs from the application. Conceptually the application should be able to " +"treat the email message as a structured tree of unicode text and binary " +"attachments, without having to worry about how these are represented when " +"serialized. In practice, however, it is often necessary to be aware of at " +"least some of the rules governing MIME messages and their structure, " +"specifically the names and nature of the MIME \"content types\" and how they " +"identify multipart documents. For the most part this knowledge should only " +"be required for more complex applications, and even then it should only be " +"the high level structure in question, and not the details of how those " +"structures are represented. Since MIME content types are used widely in " +"modern internet software (not just email), this will be a familiar concept " +"to many programmers." +msgstr "" +"Пакет електронної пошти робить усе можливе, щоб приховати деталі різних " +"керівних RFC від програми. Концептуально програма повинна мати можливість " +"розглядати повідомлення електронної пошти як структуроване дерево тексту " +"Юнікод і двійкових вкладень, не турбуючись про те, як вони представлені під " +"час серіалізації. На практиці, однак, часто необхідно знати принаймні деякі " +"правила, що регулюють повідомлення MIME та їхню структуру, зокрема назви та " +"природу \"типів вмісту\" MIME та те, як вони ідентифікують багатокомпонентні " +"документи. Здебільшого ці знання потрібні лише для більш складних " +"застосувань, і навіть тоді це має бути лише структура високого рівня, а не " +"деталі того, як ці структури представлені. Оскільки типи вмісту MIME широко " +"використовуються в сучасному Інтернет-програмному забезпеченні (не лише в " +"електронній пошті), це буде знайомим поняттям для багатьох програмістів." + +msgid "" +"The following sections describe the functionality of the :mod:`email` " +"package. We start with the :mod:`~email.message` object model, which is the " +"primary interface an application will use, and follow that with the :mod:" +"`~email.parser` and :mod:`~email.generator` components. Then we cover the :" +"mod:`~email.policy` controls, which completes the treatment of the main " +"components of the library." +msgstr "" +"У наступних розділах описується функціональність пакета :mod:`email`. Ми " +"починаємо з об’єктної моделі :mod:`~email.message`, яка є основним " +"інтерфейсом, який використовуватиме додаток, і продовжуємо це з :mod:`~email." +"parser` і :mod:`~email.generator` компоненти. Потім ми розглядаємо елементи " +"керування :mod:`~email.policy`, що завершує обробку основних компонентів " +"бібліотеки." + +msgid "" +"The next three sections cover the exceptions the package may raise and the " +"defects (non-compliance with the RFCs) that the :mod:`~email.parser` may " +"detect. Then we cover the :mod:`~email.headerregistry` and the :mod:`~email." +"contentmanager` sub-components, which provide tools for doing more detailed " +"manipulation of headers and payloads, respectively. Both of these " +"components contain features relevant to consuming and producing non-trivial " +"messages, but also document their extensibility APIs, which will be of " +"interest to advanced applications." +msgstr "" +"У наступних трьох розділах розглядаються винятки, які може викликати " +"пакунок, і дефекти (невідповідність RFC), які може виявити :mod:`~email." +"parser`. Далі ми розглядаємо підкомпоненти :mod:`~email.headerregistry` і :" +"mod:`~email.contentmanager`, які надають інструменти для більш детального " +"маніпулювання заголовками та корисними навантаженнями відповідно. Обидва ці " +"компоненти містять функції, пов’язані зі споживанням і створенням " +"нетривіальних повідомлень, але також документують їхні API розширюваності, " +"які будуть цікаві для розширених програм." + +msgid "" +"Following those is a set of examples of using the fundamental parts of the " +"APIs covered in the preceding sections." +msgstr "" +"Після них наведено набір прикладів використання основних частин API, " +"розглянутих у попередніх розділах." + +msgid "" +"The foregoing represent the modern (unicode friendly) API of the email " +"package. The remaining sections, starting with the :class:`~email.message." +"Message` class, cover the legacy :data:`~email.policy.compat32` API that " +"deals much more directly with the details of how email messages are " +"represented. The :data:`~email.policy.compat32` API does *not* hide the " +"details of the RFCs from the application, but for applications that need to " +"operate at that level, they can be useful tools. This documentation is also " +"relevant for applications that are still using the :mod:`~email.policy." +"compat32` API for backward compatibility reasons." +msgstr "" +"Вищезазначене представляє сучасний (дружній до Unicode) API пакета " +"електронної пошти. Решта розділів, починаючи з класу :class:`~email.message." +"Message`, охоплюють застарілий API :data:`~email.policy.compat32`, який має " +"набагато більш пряме справу з деталями представлення повідомлень електронної " +"пошти. :data:`~email.policy.compat32` API *не* приховує деталі RFC від " +"програми, але для програм, яким потрібно працювати на цьому рівні, вони " +"можуть бути корисними інструментами. Ця документація також актуальна для " +"програм, які все ще використовують :mod:`~email.policy.compat32` API з " +"причин зворотної сумісності." + +msgid "" +"Docs reorganized and rewritten to promote the new :class:`~email.message." +"EmailMessage`/:class:`~email.policy.EmailPolicy` API." +msgstr "" +"Документи реорганізовано та переписано для просування нового :class:`~email." +"message.EmailMessage`/:class:`~email.policy.EmailPolicy` API." + +msgid "Contents of the :mod:`email` package documentation:" +msgstr "Вміст документації пакета :mod:`email`:" + +msgid "Legacy API:" +msgstr "Застарілий API:" + +msgid "Module :mod:`smtplib`" +msgstr "Модуль :mod:`smtplib`" + +msgid "SMTP (Simple Mail Transport Protocol) client" +msgstr "Клієнт SMTP (Simple Mail Transport Protocol)." + +msgid "Module :mod:`poplib`" +msgstr "Модуль :mod:`poplib`" + +msgid "POP (Post Office Protocol) client" +msgstr "Клієнт POP (Post Office Protocol)." + +msgid "Module :mod:`imaplib`" +msgstr "Модуль :mod:`imaplib`" + +msgid "IMAP (Internet Message Access Protocol) client" +msgstr "Клієнт IMAP (Internet Message Access Protocol)." + +msgid "Module :mod:`nntplib`" +msgstr "Модуль :mod:`nntplib`" + +msgid "NNTP (Net News Transport Protocol) client" +msgstr "Клієнт NNTP (Net News Transport Protocol)." + +msgid "Module :mod:`mailbox`" +msgstr "Модуль :mod:`mailbox`" + +msgid "" +"Tools for creating, reading, and managing collections of messages on disk " +"using a variety standard formats." +msgstr "" +"Інструменти для створення, читання та керування колекціями повідомлень на " +"диску з використанням різноманітних стандартних форматів." + +msgid "Module :mod:`smtpd`" +msgstr "Модуль :mod:`smtpd`" + +msgid "SMTP server framework (primarily useful for testing)" +msgstr "Структура сервера SMTP (насамперед корисна для тестування)" diff --git a/library/email_charset.po b/library/email_charset.po new file mode 100644 index 000000000..9043c3abc --- /dev/null +++ b/library/email_charset.po @@ -0,0 +1,343 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.charset`: Representing character sets" +msgstr ":mod:`email.charset`: представлення наборів символів" + +msgid "**Source code:** :source:`Lib/email/charset.py`" +msgstr "**Вихідний код:** :source:`Lib/email/charset.py`" + +msgid "" +"This module is part of the legacy (``Compat32``) email API. In the new API " +"only the aliases table is used." +msgstr "" +"Цей модуль є частиною застарілого (``Compat32``) API електронної пошти. У " +"новому API використовується лише таблиця псевдонімів." + +msgid "" +"The remaining text in this section is the original documentation of the " +"module." +msgstr "Решта тексту в цьому розділі є оригінальною документацією модуля." + +msgid "" +"This module provides a class :class:`Charset` for representing character " +"sets and character set conversions in email messages, as well as a character " +"set registry and several convenience methods for manipulating this registry. " +"Instances of :class:`Charset` are used in several other modules within the :" +"mod:`email` package." +msgstr "" +"Цей модуль надає клас :class:`Charset` для представлення наборів символів і " +"перетворення наборів символів у повідомленнях електронної пошти, а також " +"реєстр наборів символів і декілька зручних методів для маніпулювання цим " +"реєстром. Екземпляри :class:`Charset` використовуються в кількох інших " +"модулях у пакеті :mod:`email`." + +msgid "Import this class from the :mod:`email.charset` module." +msgstr "Імпортуйте цей клас із модуля :mod:`email.charset`." + +msgid "Map character sets to their email properties." +msgstr "Зіставте набори символів із властивостями електронної пошти." + +msgid "" +"This class provides information about the requirements imposed on email for " +"a specific character set. It also provides convenience routines for " +"converting between character sets, given the availability of the applicable " +"codecs. Given a character set, it will do its best to provide information " +"on how to use that character set in an email message in an RFC-compliant way." +msgstr "" +"Цей клас надає інформацію про вимоги до електронної пошти для певного набору " +"символів. Він також надає зручні процедури для перетворення між наборами " +"символів, враховуючи наявність застосовних кодеків. Маючи набір символів, " +"він докладе всіх зусиль, щоб надати інформацію про те, як використовувати " +"цей набір символів у повідомленні електронної пошти відповідно до RFC." + +msgid "" +"Certain character sets must be encoded with quoted-printable or base64 when " +"used in email headers or bodies. Certain character sets must be converted " +"outright, and are not allowed in email." +msgstr "" +"Певні набори символів мають бути закодовані за допомогою citaty-printable " +"або base64, якщо вони використовуються в заголовках або тілах електронних " +"листів. Певні набори символів потрібно відразу конвертувати, і їх заборонено " +"використовувати в електронній пошті." + +msgid "" +"Optional *input_charset* is as described below; it is always coerced to " +"lower case. After being alias normalized it is also used as a lookup into " +"the registry of character sets to find out the header encoding, body " +"encoding, and output conversion codec to be used for the character set. For " +"example, if *input_charset* is ``iso-8859-1``, then headers and bodies will " +"be encoded using quoted-printable and no output conversion codec is " +"necessary. If *input_charset* is ``euc-jp``, then headers will be encoded " +"with base64, bodies will not be encoded, but output text will be converted " +"from the ``euc-jp`` character set to the ``iso-2022-jp`` character set." +msgstr "" +"Додатковий *input_charset*, як описано нижче; це завжди примусово до малого " +"регістру. Після нормалізації псевдоніма він також використовується як пошук " +"у реєстрі наборів символів, щоб дізнатися кодування заголовка, кодування " +"основного тексту та кодек перетворення виводу, який буде використано для " +"набору символів. Наприклад, якщо *input_charset* дорівнює ``iso-8859-1``, " +"тоді заголовки та тіла кодуватимуться з використанням параметра \"quote-" +"printable\", і кодек для перетворення виводу не потрібен. Якщо " +"*input_charset* має значення ``euc-jp``, тоді заголовки будуть закодовані за " +"допомогою base64, тіла не будуть закодовані, але вихідний текст буде " +"перетворено з набору символів ``euc-jp`` на ``iso- 2022-jp`` набір символів." + +msgid ":class:`Charset` instances have the following data attributes:" +msgstr "Екземпляри :class:`Charset` мають такі атрибути даних:" + +msgid "" +"The initial character set specified. Common aliases are converted to their " +"*official* email names (e.g. ``latin_1`` is converted to ``iso-8859-1``). " +"Defaults to 7-bit ``us-ascii``." +msgstr "" +"Зазначений початковий набір символів. Загальні псевдоніми перетворюються на " +"*офіційні* імена електронної пошти (наприклад, ``latin_1`` перетворюється на " +"``iso-8859-1``). За замовчуванням 7-бітний ``us-ascii``." + +msgid "" +"If the character set must be encoded before it can be used in an email " +"header, this attribute will be set to ``Charset.QP`` (for quoted-printable), " +"``Charset.BASE64`` (for base64 encoding), or ``Charset.SHORTEST`` for the " +"shortest of QP or BASE64 encoding. Otherwise, it will be ``None``." +msgstr "" + +msgid "" +"Same as *header_encoding*, but describes the encoding for the mail message's " +"body, which indeed may be different than the header encoding. ``Charset." +"SHORTEST`` is not allowed for *body_encoding*." +msgstr "" + +msgid "" +"Some character sets must be converted before they can be used in email " +"headers or bodies. If the *input_charset* is one of them, this attribute " +"will contain the name of the character set output will be converted to. " +"Otherwise, it will be ``None``." +msgstr "" +"Деякі набори символів потрібно перетворити, перш ніж їх можна буде " +"використовувати в заголовках або тексті електронних листів. Якщо " +"*input_charset* є одним із них, цей атрибут міститиме ім’я набору символів, " +"у який буде перетворено вихід. В іншому випадку буде ``None``." + +msgid "" +"The name of the Python codec used to convert the *input_charset* to " +"Unicode. If no conversion codec is necessary, this attribute will be " +"``None``." +msgstr "" +"Назва кодека Python, який використовується для перетворення *input_charset* " +"в Unicode. Якщо кодек перетворення не потрібен, цей атрибут матиме значення " +"``None``." + +msgid "" +"The name of the Python codec used to convert Unicode to the " +"*output_charset*. If no conversion codec is necessary, this attribute will " +"have the same value as the *input_codec*." +msgstr "" +"Назва кодека Python, який використовується для перетворення Unicode у " +"*output_charset*. Якщо кодек перетворення не потрібен, цей атрибут матиме те " +"саме значення, що й *input_codec*." + +msgid ":class:`Charset` instances also have the following methods:" +msgstr "Екземпляри :class:`Charset` також мають такі методи:" + +msgid "Return the content transfer encoding used for body encoding." +msgstr "" +"Повертає кодування передачі вмісту, яке використовується для кодування тіла." + +msgid "" +"This is either the string ``quoted-printable`` or ``base64`` depending on " +"the encoding used, or it is a function, in which case you should call the " +"function with a single argument, the Message object being encoded. The " +"function should then set the :mailheader:`Content-Transfer-Encoding` header " +"itself to whatever is appropriate." +msgstr "" +"Це або рядок ``quoted-printable`` або ``base64`` залежно від кодування, що " +"використовується, або це функція, у цьому випадку ви повинні викликати " +"функцію з одним аргументом, об’єкт Message, який кодується. Потім функція " +"має встановити відповідний заголовок :mailheader:`Content-Transfer-Encoding`." + +msgid "" +"Returns the string ``quoted-printable`` if *body_encoding* is ``QP``, " +"returns the string ``base64`` if *body_encoding* is ``BASE64``, and returns " +"the string ``7bit`` otherwise." +msgstr "" +"Повертає рядок ``quoted-printable``, якщо *body_encoding* має значення " +"``QP``, повертає рядок ``base64``, якщо *body_encoding* має ``BASE64``, і " +"повертає рядок ``7bit`` в іншому випадку ." + +msgid "Return the output character set." +msgstr "Повернути вихідний набір символів." + +msgid "" +"This is the *output_charset* attribute if that is not ``None``, otherwise it " +"is *input_charset*." +msgstr "" +"Це атрибут *output_charset*, якщо це не ``None``, інакше це *input_charset*." + +msgid "Header-encode the string *string*." +msgstr "Заголовок кодує рядок *string*." + +msgid "" +"The type of encoding (base64 or quoted-printable) will be based on the " +"*header_encoding* attribute." +msgstr "" +"Тип кодування (base64 або друковані цитати) базуватиметься на атрибуті " +"*header_encoding*." + +msgid "Header-encode a *string* by converting it first to bytes." +msgstr "Заголовок кодує *рядок*, спочатку перетворюючи його на байти." + +msgid "" +"This is similar to :meth:`header_encode` except that the string is fit into " +"maximum line lengths as given by the argument *maxlengths*, which must be an " +"iterator: each element returned from this iterator will provide the next " +"maximum line length." +msgstr "" +"Це схоже на :meth:`header_encode`, за винятком того, що рядок вписується в " +"максимальну довжину рядка, задану аргументом *maxlengths*, який має бути " +"ітератором: кожен елемент, повернутий цим ітератором, забезпечить наступну " +"максимальну довжину рядка." + +msgid "Body-encode the string *string*." +msgstr "Основне кодування рядка *string*." + +msgid "" +"The type of encoding (base64 or quoted-printable) will be based on the " +"*body_encoding* attribute." +msgstr "" +"Тип кодування (base64 або з можливістю друку в цитатах) базуватиметься на " +"атрибуті *body_encoding*." + +msgid "" +"The :class:`Charset` class also provides a number of methods to support " +"standard operations and built-in functions." +msgstr "" +"Клас :class:`Charset` також надає ряд методів для підтримки стандартних " +"операцій і вбудованих функцій." + +msgid "" +"Returns *input_charset* as a string coerced to lower case. :meth:`__repr__` " +"is an alias for :meth:`__str__`." +msgstr "" +"Повертає *input_charset* як рядок, переведений у нижній регістр. :meth:" +"`__repr__` є псевдонімом для :meth:`__str__`." + +msgid "" +"This method allows you to compare two :class:`Charset` instances for " +"equality." +msgstr "" +"Цей метод дозволяє порівнювати два екземпляри :class:`Charset` на рівність." + +msgid "" +"This method allows you to compare two :class:`Charset` instances for " +"inequality." +msgstr "" +"Цей метод дозволяє порівнювати два екземпляри :class:`Charset` на нерівність." + +msgid "" +"The :mod:`email.charset` module also provides the following functions for " +"adding new entries to the global character set, alias, and codec registries:" +msgstr "" +"Модуль :mod:`email.charset` також надає такі функції для додавання нових " +"записів до глобального набору символів, псевдонімів і реєстрів кодеків:" + +msgid "Add character properties to the global registry." +msgstr "Додайте властивості символів до глобального реєстру." + +msgid "" +"*charset* is the input character set, and must be the canonical name of a " +"character set." +msgstr "" +"*charset* — це вхідний набір символів і має бути канонічною назвою набору " +"символів." + +msgid "" +"Optional *header_enc* and *body_enc* is either ``Charset.QP`` for quoted-" +"printable, ``Charset.BASE64`` for base64 encoding, ``Charset.SHORTEST`` for " +"the shortest of quoted-printable or base64 encoding, or ``None`` for no " +"encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " +"``None`` for no encoding." +msgstr "" + +msgid "" +"Optional *output_charset* is the character set that the output should be in. " +"Conversions will proceed from input charset, to Unicode, to the output " +"charset when the method :meth:`Charset.convert` is called. The default is " +"to output in the same character set as the input." +msgstr "" +"Необов’язковий *output_charset* — це набір символів, у якому мають бути " +"виведені дані. Під час виклику методу :meth:`Charset.convert` перетворення " +"відбуватиметься з вхідного набору символів у Unicode у вихідний набір " +"символів. За замовчуванням виводиться той самий набір символів, що й вхід." + +msgid "" +"Both *input_charset* and *output_charset* must have Unicode codec entries in " +"the module's character set-to-codec mapping; use :func:`add_codec` to add " +"codecs the module does not know about. See the :mod:`codecs` module's " +"documentation for more information." +msgstr "" +"Як *input_charset*, так і *output_charset* повинні мати записи кодека Юнікод " +"у відображенні набору символів у кодек модуля; використовуйте :func:" +"`add_codec`, щоб додати кодеки, про які модуль не знає. Для отримання " +"додаткової інформації дивіться документацію модуля :mod:`codecs`." + +msgid "" +"The global character set registry is kept in the module global dictionary " +"``CHARSETS``." +msgstr "" +"Глобальний реєстр набору символів зберігається в глобальному словнику модуля " +"``CHARSETS``." + +msgid "" +"Add a character set alias. *alias* is the alias name, e.g. ``latin-1``. " +"*canonical* is the character set's canonical name, e.g. ``iso-8859-1``." +msgstr "" +"Додайте псевдонім набору символів. *alias* — псевдонім, напр. ``латин-1``. " +"*canonical* — це канонічне ім’я набору символів, напр. ``iso-8859-1``." + +msgid "" +"The global charset alias registry is kept in the module global dictionary " +"``ALIASES``." +msgstr "" +"Глобальний реєстр псевдонімів кодування зберігається в глобальному словнику " +"модуля ``ALIASES``." + +msgid "" +"Add a codec that map characters in the given character set to and from " +"Unicode." +msgstr "" +"Додайте кодек, який відображає символи в заданому наборі символів у та з " +"Unicode." + +msgid "" +"*charset* is the canonical name of a character set. *codecname* is the name " +"of a Python codec, as appropriate for the second argument to the :class:" +"`str`'s :meth:`~str.encode` method." +msgstr "" +"*charset* — це канонічна назва набору символів. *codecname* — це назва " +"кодека Python, відповідно до другого аргументу методу :class:`str` :meth:" +"`~str.encode`." diff --git a/library/email_compat32-message.po b/library/email_compat32-message.po new file mode 100644 index 000000000..8a6832e99 --- /dev/null +++ b/library/email_compat32-message.po @@ -0,0 +1,1115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +":mod:`email.message.Message`: Representing an email message using the :data:" +"`~email.policy.compat32` API" +msgstr "" +":mod:`email.message.Message`: Представлення повідомлення електронної пошти " +"за допомогою API :data:`~email.policy.compat32`" + +msgid "" +"The :class:`Message` class is very similar to the :class:`~email.message." +"EmailMessage` class, without the methods added by that class, and with the " +"default behavior of certain other methods being slightly different. We also " +"document here some methods that, while supported by the :class:`~email." +"message.EmailMessage` class, are not recommended unless you are dealing with " +"legacy code." +msgstr "" +"Клас :class:`Message` дуже схожий на клас :class:`~email.message." +"EmailMessage`, але без методів, доданих цим класом, і з поведінкою за " +"замовчуванням деяких інших методів дещо іншою. Ми також документуємо тут " +"деякі методи, які, хоча й підтримуються класом :class:`~email.message." +"EmailMessage`, не рекомендуються, якщо ви не маєте справу зі застарілим " +"кодом." + +msgid "The philosophy and structure of the two classes is otherwise the same." +msgstr "Філософія та структура двох класів є однаковими." + +msgid "" +"This document describes the behavior under the default (for :class:" +"`Message`) policy :attr:`~email.policy.Compat32`. If you are going to use " +"another policy, you should be using the :class:`~email.message.EmailMessage` " +"class instead." +msgstr "" +"Цей документ описує поведінку за умовчанням (для :class:`Message`) політики :" +"attr:`~email.policy.Compat32`. Якщо ви збираєтеся використовувати іншу " +"політику, замість неї слід використовувати клас :class:`~email.message." +"EmailMessage`." + +msgid "" +"An email message consists of *headers* and a *payload*. Headers must be :" +"rfc:`5322` style names and values, where the field name and value are " +"separated by a colon. The colon is not part of either the field name or the " +"field value. The payload may be a simple text message, or a binary object, " +"or a structured sequence of sub-messages each with their own set of headers " +"and their own payload. The latter type of payload is indicated by the " +"message having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:" +"`message/rfc822`." +msgstr "" +"Повідомлення електронної пошти складається з *заголовків* і *корисного " +"навантаження*. Заголовки мають бути в стилі :rfc:`5322` імен і значень, де " +"назва поля та значення розділені двокрапкою. Двокрапка не є частиною ані " +"імені поля, ані значення поля. Корисне навантаження може бути простим " +"текстовим повідомленням, або двійковим об’єктом, або структурованою " +"послідовністю підповідомлень, кожне з яких має власний набір заголовків і " +"власне корисне навантаження. Останній тип корисного навантаження вказується " +"повідомленням, що має тип MIME, наприклад :mimetype:`multipart/\\*` або :" +"mimetype:`message/rfc822`." + +msgid "" +"The conceptual model provided by a :class:`Message` object is that of an " +"ordered dictionary of headers with additional methods for accessing both " +"specialized information from the headers, for accessing the payload, for " +"generating a serialized version of the message, and for recursively walking " +"over the object tree. Note that duplicate headers are supported but special " +"methods must be used to access them." +msgstr "" +"Концептуальна модель, яку забезпечує об’єкт :class:`Message`, — це " +"впорядкований словник заголовків із додатковими методами для доступу до " +"спеціалізованої інформації із заголовків, для доступу до корисного " +"навантаження, для генерації серіалізованої версії повідомлення та для " +"рекурсивного проходячи по дереву предметів. Зауважте, що дублікати " +"заголовків підтримуються, але для доступу до них потрібно використовувати " +"спеціальні методи." + +msgid "" +"The :class:`Message` pseudo-dictionary is indexed by the header names, which " +"must be ASCII values. The values of the dictionary are strings that are " +"supposed to contain only ASCII characters; there is some special handling " +"for non-ASCII input, but it doesn't always produce the correct results. " +"Headers are stored and returned in case-preserving form, but field names are " +"matched case-insensitively. There may also be a single envelope header, " +"also known as the *Unix-From* header or the ``From_`` header. The *payload* " +"is either a string or bytes, in the case of simple message objects, or a " +"list of :class:`Message` objects, for MIME container documents (e.g. :" +"mimetype:`multipart/\\*` and :mimetype:`message/rfc822`)." +msgstr "" +"Псевдословник :class:`Message` індексується іменами заголовків, які мають " +"бути значеннями ASCII. Значення словника - це рядки, які мають містити лише " +"символи ASCII; існує певна особлива обробка для вводу не-ASCII, але вона не " +"завжди дає правильні результати. Заголовки зберігаються та повертаються у " +"формі зі збереженням регістру, але імена полів зіставляються без урахування " +"регістру. Також може бути єдиний заголовок конверта, також відомий як " +"заголовок *Unix-From* або заголовок ``From_``. *Корисне навантаження* — це " +"або рядок, або байти, у випадку простих об’єктів повідомлення, або список " +"об’єктів :class:`Message` для документів-контейнерів MIME (наприклад, :" +"mimetype:`multipart/\\*` і :mimetype:`повідомлення/rfc822`)." + +msgid "Here are the methods of the :class:`Message` class:" +msgstr "Ось методи класу :class:`Message`:" + +msgid "" +"If *policy* is specified (it must be an instance of a :mod:`~email.policy` " +"class) use the rules it specifies to update and serialize the representation " +"of the message. If *policy* is not set, use the :class:`compat32 ` policy, which maintains backward compatibility with the " +"Python 3.2 version of the email package. For more information see the :mod:" +"`~email.policy` documentation." +msgstr "" +"Якщо вказано *policy* (вона має бути екземпляром класу :mod:`~email." +"policy`), використовуйте вказані в ньому правила для оновлення та " +"серіалізації представлення повідомлення. Якщо *policy* не встановлено, " +"використовуйте політику :class:`compat32 `, яка " +"підтримує зворотну сумісність із версією пакета електронної пошти Python " +"3.2. Для отримання додаткової інформації дивіться документацію :mod:`~email." +"policy`." + +msgid "The *policy* keyword argument was added." +msgstr "Додано аргумент ключового слова *policy*." + +msgid "" +"Return the entire message flattened as a string. When optional *unixfrom* " +"is true, the envelope header is included in the returned string. *unixfrom* " +"defaults to ``False``. For backward compatibility reasons, *maxheaderlen* " +"defaults to ``0``, so if you want a different value you must override it " +"explicitly (the value specified for *max_line_length* in the policy will be " +"ignored by this method). The *policy* argument may be used to override the " +"default policy obtained from the message instance. This can be used to " +"control some of the formatting produced by the method, since the specified " +"*policy* will be passed to the ``Generator``." +msgstr "" +"Повернути все повідомлення зведеним у вигляді рядка. Якщо необов’язковий " +"параметр *unixfrom* має значення true, заголовок конверта включається до " +"поверненого рядка. *unixfrom* за умовчанням має значення ``False``. З " +"міркувань зворотної сумісності *maxheaderlen* за замовчуванням має значення " +"``0``, тому, якщо ви бажаєте інше значення, ви повинні його явно змінити " +"(значення, указане для *max_line_length* у політиці, ігноруватиметься цим " +"методом). Аргумент *policy* можна використовувати для заміни політики за " +"замовчуванням, отриманої з екземпляра повідомлення. Це можна використовувати " +"для керування частиною форматування, створеного методом, оскільки вказану " +"*політику* буде передано ``генератору``." + +msgid "" +"Flattening the message may trigger changes to the :class:`Message` if " +"defaults need to be filled in to complete the transformation to a string " +"(for example, MIME boundaries may be generated or modified)." +msgstr "" +"Зведення повідомлення може викликати зміни в :class:`Message`, якщо для " +"завершення перетворення в рядок необхідно вказати значення за замовчуванням " +"(наприклад, можуть бути створені або змінені межі MIME)." + +msgid "" +"Note that this method is provided as a convenience and may not always format " +"the message the way you want. For example, by default it does not do the " +"mangling of lines that begin with ``From`` that is required by the Unix mbox " +"format. For more flexibility, instantiate a :class:`~email.generator." +"Generator` instance and use its :meth:`~email.generator.Generator.flatten` " +"method directly. For example::" +msgstr "" + +msgid "" +"If the message object contains binary data that is not encoded according to " +"RFC standards, the non-compliant data will be replaced by unicode \"unknown " +"character\" code points. (See also :meth:`.as_bytes` and :class:`~email." +"generator.BytesGenerator`.)" +msgstr "" +"Якщо об’єкт повідомлення містить двійкові дані, які не закодовані відповідно " +"до стандартів RFC, невідповідні дані буде замінено кодовими точками Unicode " +"\"невідомий символ\". (Див. також :meth:`.as_bytes` і :class:`~email." +"generator.BytesGenerator`.)" + +msgid "the *policy* keyword argument was added." +msgstr "було додано аргумент ключового слова *policy*." + +msgid "" +"Equivalent to :meth:`.as_string()`. Allows ``str(msg)`` to produce a string " +"containing the formatted message." +msgstr "" +"Еквівалент :meth:`.as_string()`. Дозволяє ``str(msg)`` створювати рядок, що " +"містить форматоване повідомлення." + +msgid "" +"Return the entire message flattened as a bytes object. When optional " +"*unixfrom* is true, the envelope header is included in the returned string. " +"*unixfrom* defaults to ``False``. The *policy* argument may be used to " +"override the default policy obtained from the message instance. This can be " +"used to control some of the formatting produced by the method, since the " +"specified *policy* will be passed to the ``BytesGenerator``." +msgstr "" +"Повертає все повідомлення зведене як об’єкт bytes. Якщо необов’язковий " +"параметр *unixfrom* має значення true, заголовок конверта включається до " +"поверненого рядка. *unixfrom* за умовчанням має значення ``False``. Аргумент " +"*policy* можна використовувати для заміни політики за замовчуванням, " +"отриманої з екземпляра повідомлення. Це можна використовувати для керування " +"частиною форматування, створеного методом, оскільки вказану *політику* буде " +"передано до ``BytesGenerator``." + +msgid "" +"Note that this method is provided as a convenience and may not always format " +"the message the way you want. For example, by default it does not do the " +"mangling of lines that begin with ``From`` that is required by the Unix mbox " +"format. For more flexibility, instantiate a :class:`~email.generator." +"BytesGenerator` instance and use its :meth:`~email.generator.BytesGenerator." +"flatten` method directly. For example::" +msgstr "" + +msgid "" +"Equivalent to :meth:`.as_bytes()`. Allows ``bytes(msg)`` to produce a bytes " +"object containing the formatted message." +msgstr "" +"Еквівалент :meth:`.as_bytes()`. Дозволяє ``bytes(msg)`` створити об'єкт " +"bytes, що містить відформатоване повідомлення." + +msgid "" +"Return ``True`` if the message's payload is a list of sub-\\ :class:" +"`Message` objects, otherwise return ``False``. When :meth:`is_multipart` " +"returns ``False``, the payload should be a string object (which might be a " +"CTE encoded binary payload). (Note that :meth:`is_multipart` returning " +"``True`` does not necessarily mean that \"msg.get_content_maintype() == " +"'multipart'\" will return the ``True``. For example, ``is_multipart`` will " +"return ``True`` when the :class:`Message` is of type ``message/rfc822``.)" +msgstr "" +"Повертає ``True``, якщо корисним навантаженням повідомлення є список sub-\\ :" +"class:`Message` об’єктів, інакше повертає ``False``. Коли :meth:" +"`is_multipart` повертає ``False``, корисним навантаженням має бути рядковий " +"об’єкт (який може бути двійковим навантаженням у кодуванні CTE). (Зауважте, " +"що :meth:`is_multipart`, що повертає ``True``, не обов’язково означає, що " +"\"msg.get_content_maintype() == 'multipart'\" поверне ``True``. Наприклад, " +"``is_multipart`` буде повертає ``True``, якщо :class:`Message` має тип " +"``message/rfc822``.)" + +msgid "" +"Set the message's envelope header to *unixfrom*, which should be a string." +msgstr "" +"Встановіть заголовок конверта повідомлення на *unixfrom*, який має бути " +"рядком." + +msgid "" +"Return the message's envelope header. Defaults to ``None`` if the envelope " +"header was never set." +msgstr "" +"Повернути заголовок конверта повідомлення. За замовчуванням ``None``, якщо " +"заголовок конверта ніколи не встановлювався." + +msgid "" +"Add the given *payload* to the current payload, which must be ``None`` or a " +"list of :class:`Message` objects before the call. After the call, the " +"payload will always be a list of :class:`Message` objects. If you want to " +"set the payload to a scalar object (e.g. a string), use :meth:`set_payload` " +"instead." +msgstr "" +"Додайте вказане *корисне навантаження* до поточного корисного навантаження, " +"яке має бути ``None`` або список об’єктів :class:`Message` перед викликом. " +"Після виклику корисним навантаженням завжди буде список об’єктів :class:" +"`Message`. Якщо ви хочете встановити корисне навантаження на скалярний " +"об’єкт (наприклад, рядок), замість цього використовуйте :meth:`set_payload`." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class its functionality is replaced by :meth:`~email.message.EmailMessage." +"set_content` and the related ``make`` and ``add`` methods." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` його " +"функціональні можливості замінені на :meth:`~email.message.EmailMessage." +"set_content` і відповідні методи ``make`` і ``add``." + +msgid "" +"Return the current payload, which will be a list of :class:`Message` objects " +"when :meth:`is_multipart` is ``True``, or a string when :meth:`is_multipart` " +"is ``False``. If the payload is a list and you mutate the list object, you " +"modify the message's payload in place." +msgstr "" +"Повертає поточне корисне навантаження, яке буде списком об’єктів :class:" +"`Message`, якщо :meth:`is_multipart` має значення ``True``, або рядок, коли :" +"meth:`is_multipart` має значення ``False``. Якщо корисним навантаженням є " +"список, і ви змінюєте об’єкт списку, ви змінюєте корисне навантаження " +"повідомлення на місці." + +msgid "" +"With optional argument *i*, :meth:`get_payload` will return the *i*-th " +"element of the payload, counting from zero, if :meth:`is_multipart` is " +"``True``. An :exc:`IndexError` will be raised if *i* is less than 0 or " +"greater than or equal to the number of items in the payload. If the payload " +"is a string (i.e. :meth:`is_multipart` is ``False``) and *i* is given, a :" +"exc:`TypeError` is raised." +msgstr "" +"З необов’язковим аргументом *i* :meth:`get_payload` поверне *i*-й елемент " +"корисного навантаження, починаючи з нуля, якщо :meth:`is_multipart` має " +"значення ``True``. Помилка :exc:`IndexError` буде викликана, якщо *i* менше " +"за 0 або більше або дорівнює кількості елементів у корисному навантаженні. " +"Якщо корисне навантаження є рядком (тобто :meth:`is_multipart` має значення " +"``False``) і задано *i*, виникає :exc:`TypeError`." + +msgid "" +"Optional *decode* is a flag indicating whether the payload should be decoded " +"or not, according to the :mailheader:`Content-Transfer-Encoding` header. " +"When ``True`` and the message is not a multipart, the payload will be " +"decoded if this header's value is ``quoted-printable`` or ``base64``. If " +"some other encoding is used, or :mailheader:`Content-Transfer-Encoding` " +"header is missing, the payload is returned as-is (undecoded). In all cases " +"the returned value is binary data. If the message is a multipart and the " +"*decode* flag is ``True``, then ``None`` is returned. If the payload is " +"base64 and it was not perfectly formed (missing padding, characters outside " +"the base64 alphabet), then an appropriate defect will be added to the " +"message's defect property (:class:`~email.errors.InvalidBase64PaddingDefect` " +"or :class:`~email.errors.InvalidBase64CharactersDefect`, respectively)." +msgstr "" +"Необов’язковий *decode* — це прапорець, який вказує, чи слід декодувати " +"корисне навантаження чи ні, відповідно до заголовка :mailheader:`Content-" +"Transfer-Encoding`. Якщо значення ``True`` і повідомлення не складається з " +"кількох частин, корисне навантаження буде декодовано, якщо значенням цього " +"заголовка є ``quoted-printable`` або ``base64``. Якщо використовується інше " +"кодування або відсутній заголовок :mailheader:`Content-Transfer-Encoding`, " +"корисне навантаження повертається як є (недекодоване). У всіх випадках " +"повертається двійкове значення. Якщо повідомлення складається з кількох " +"частин і прапорець *decode* має значення ``True``, тоді повертається " +"``None``. Якщо корисне навантаження є base64 і воно не було ідеально " +"сформоване (відсутнє заповнення, символи поза алфавітом base64), тоді до " +"властивості дефекту повідомлення буде додано відповідний дефект (:class:" +"`~email.errors.InvalidBase64PaddingDefect` або :class:`~email.errors." +"InvalidBase64CharactersDefect` відповідно)." + +msgid "" +"When *decode* is ``False`` (the default) the body is returned as a string " +"without decoding the :mailheader:`Content-Transfer-Encoding`. However, for " +"a :mailheader:`Content-Transfer-Encoding` of 8bit, an attempt is made to " +"decode the original bytes using the ``charset`` specified by the :mailheader:" +"`Content-Type` header, using the ``replace`` error handler. If no " +"``charset`` is specified, or if the ``charset`` given is not recognized by " +"the email package, the body is decoded using the default ASCII charset." +msgstr "" +"Якщо *decode* має значення ``False`` (за замовчуванням), тіло повертається " +"як рядок без декодування :mailheader:`Content-Transfer-Encoding`. Однак для :" +"mailheader:`Content-Transfer-Encoding` 8 біт робиться спроба декодувати " +"оригінальні байти за допомогою ``charset``, визначеного заголовком :" +"mailheader:`Content-Type`, використовуючи обробник помилок ``replace``. Якщо " +"``charset`` не вказано, або якщо наданий ``набір символів`` не розпізнається " +"пакетом електронної пошти, тіло декодується за допомогою набору символів " +"ASCII за замовчуванням." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class its functionality is replaced by :meth:`~email.message.EmailMessage." +"get_content` and :meth:`~email.message.EmailMessage.iter_parts`." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` його " +"функції замінені на :meth:`~email.message.EmailMessage.get_content` і :meth:" +"`~email.message.EmailMessage.iter_parts`." + +msgid "" +"Set the entire message object's payload to *payload*. It is the client's " +"responsibility to ensure the payload invariants. Optional *charset* sets " +"the message's default character set; see :meth:`set_charset` for details." +msgstr "" +"Встановіть корисне навантаження всього об’єкта повідомлення на *корисне " +"навантаження*. Клієнт відповідає за забезпечення інваріантів корисного " +"навантаження. Додатковий *charset* встановлює стандартний набір символів " +"повідомлення; подробиці див. :meth:`set_charset`." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class its functionality is replaced by :meth:`~email.message.EmailMessage." +"set_content`." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` його " +"функціональність замінено на :meth:`~email.message.EmailMessage.set_content`." + +msgid "" +"Set the character set of the payload to *charset*, which can either be a :" +"class:`~email.charset.Charset` instance (see :mod:`email.charset`), a string " +"naming a character set, or ``None``. If it is a string, it will be " +"converted to a :class:`~email.charset.Charset` instance. If *charset* is " +"``None``, the ``charset`` parameter will be removed from the :mailheader:" +"`Content-Type` header (the message will not be otherwise modified). " +"Anything else will generate a :exc:`TypeError`." +msgstr "" +"Встановіть набір символів корисного навантаження на *charset*, який може " +"бути екземпляром :class:`~email.charset.Charset` (див. :mod:`email." +"charset`), рядком із назвою набору символів або ``Жодного``. Якщо це рядок, " +"його буде перетворено на екземпляр :class:`~email.charset.Charset`. Якщо " +"*charset* має значення ``None``, параметр ``charset`` буде видалено із " +"заголовка :mailheader:`Content-Type` (повідомлення не буде іншим чином " +"змінено). Усе інше створить :exc:`TypeError`." + +msgid "" +"If there is no existing :mailheader:`MIME-Version` header one will be " +"added. If there is no existing :mailheader:`Content-Type` header, one will " +"be added with a value of :mimetype:`text/plain`. Whether the :mailheader:" +"`Content-Type` header already exists or not, its ``charset`` parameter will " +"be set to *charset.output_charset*. If *charset.input_charset* and " +"*charset.output_charset* differ, the payload will be re-encoded to the " +"*output_charset*. If there is no existing :mailheader:`Content-Transfer-" +"Encoding` header, then the payload will be transfer-encoded, if needed, " +"using the specified :class:`~email.charset.Charset`, and a header with the " +"appropriate value will be added. If a :mailheader:`Content-Transfer-" +"Encoding` header already exists, the payload is assumed to already be " +"correctly encoded using that :mailheader:`Content-Transfer-Encoding` and is " +"not modified." +msgstr "" +"Якщо немає існуючого заголовка :mailheader:`MIME-Version`, буде додано один. " +"Якщо немає заголовка :mailheader:`Content-Type`, його буде додано зі " +"значенням :mimetype:`text/plain`. Незалежно від того, чи існує заголовок :" +"mailheader:`Content-Type`, його параметр ``charset`` буде встановлено на " +"*charset.output_charset*. Якщо *charset.input_charset* і *charset." +"output_charset* відрізняються, корисне навантаження буде перекодовано в " +"*output_charset*. Якщо немає існуючого заголовка :mailheader:`Content-" +"Transfer-Encoding`, то корисне навантаження буде закодовано за потреби за " +"допомогою вказаного :class:`~email.charset.Charset` і заголовка з " +"відповідним буде додано значення. Якщо заголовок :mailheader:`Content-" +"Transfer-Encoding` вже існує, вважається, що корисне навантаження вже " +"правильно закодовано за допомогою цього :mailheader:`Content-Transfer-" +"Encoding` і не змінюється." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class its functionality is replaced by the *charset* parameter of the :meth:" +"`email.emailmessage.EmailMessage.set_content` method." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` його " +"функціональність замінено параметром *charset* методу :meth:`email." +"emailmessage.EmailMessage.set_content`." + +msgid "" +"Return the :class:`~email.charset.Charset` instance associated with the " +"message's payload." +msgstr "" +"Повертає екземпляр :class:`~email.charset.Charset`, пов’язаний із корисним " +"навантаженням повідомлення." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class it always returns ``None``." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` " +"завжди повертається ``None``." + +msgid "" +"The following methods implement a mapping-like interface for accessing the " +"message's :rfc:`2822` headers. Note that there are some semantic " +"differences between these methods and a normal mapping (i.e. dictionary) " +"interface. For example, in a dictionary there are no duplicate keys, but " +"here there may be duplicate message headers. Also, in dictionaries there is " +"no guaranteed order to the keys returned by :meth:`keys`, but in a :class:" +"`Message` object, headers are always returned in the order they appeared in " +"the original message, or were added to the message later. Any header " +"deleted and then re-added are always appended to the end of the header list." +msgstr "" +"Наступні методи реалізують схожий на відображення інтерфейс для доступу до " +"заголовків повідомлення :rfc:`2822`. Зверніть увагу, що існують деякі " +"семантичні відмінності між цими методами та інтерфейсом звичайного " +"відображення (тобто словника). Наприклад, у словнику немає дублікатів " +"ключів, але тут можуть бути дублікати заголовків повідомлень. Крім того, у " +"словниках немає гарантованого порядку ключів, які повертає :meth:`keys`, але " +"в об’єкті :class:`Message` заголовки завжди повертаються в тому порядку, в " +"якому вони з’являлися у вихідному повідомленні або були додані до " +"повідомлення пізніше. Будь-який видалений і потім знову доданий заголовок " +"завжди додається в кінець списку заголовків." + +msgid "" +"These semantic differences are intentional and are biased toward maximal " +"convenience." +msgstr "" +"Ці семантичні відмінності є навмисними та спрямовані на максимальну " +"зручність." + +msgid "" +"Note that in all cases, any envelope header present in the message is not " +"included in the mapping interface." +msgstr "" +"Зауважте, що в усіх випадках будь-який заголовок конверта, присутній у " +"повідомленні, не включається в інтерфейс зіставлення." + +msgid "" +"In a model generated from bytes, any header values that (in contravention of " +"the RFCs) contain non-ASCII bytes will, when retrieved through this " +"interface, be represented as :class:`~email.header.Header` objects with a " +"charset of ``unknown-8bit``." +msgstr "" + +msgid "Return the total number of headers, including duplicates." +msgstr "Повертає загальну кількість заголовків, включаючи дублікати." + +msgid "" +"Return ``True`` if the message object has a field named *name*. Matching is " +"done case-insensitively and *name* should not include the trailing colon. " +"Used for the ``in`` operator, e.g.::" +msgstr "" +"Повертає ``True``, якщо об’єкт повідомлення має поле з назвою *name*. " +"Зіставлення виконується без урахування регістру, і *ім’я* не повинно містити " +"двокрапку в кінці. Використовується для оператора ``in``, наприклад::" + +msgid "" +"Return the value of the named header field. *name* should not include the " +"colon field separator. If the header is missing, ``None`` is returned; a :" +"exc:`KeyError` is never raised." +msgstr "" +"Повертає значення названого поля заголовка. *ім’я* не повинно включати " +"двокрапку-роздільник полів. Якщо заголовок відсутній, повертається ``None``; " +"a :exc:`KeyError` ніколи не виникає." + +msgid "" +"Note that if the named field appears more than once in the message's " +"headers, exactly which of those field values will be returned is undefined. " +"Use the :meth:`get_all` method to get the values of all the extant named " +"headers." +msgstr "" +"Зауважте, що якщо назване поле з’являється більше одного разу в заголовках " +"повідомлення, яке саме значення полів буде повернуто, не визначено. " +"Використовуйте метод :meth:`get_all`, щоб отримати значення всіх наявних " +"іменованих заголовків." + +msgid "" +"Add a header to the message with field name *name* and value *val*. The " +"field is appended to the end of the message's existing fields." +msgstr "" +"Додайте до повідомлення заголовок із назвою поля *name* і значенням *val*. " +"Поле додається в кінці існуючих полів повідомлення." + +msgid "" +"Note that this does *not* overwrite or delete any existing header with the " +"same name. If you want to ensure that the new header is the only one " +"present in the message with field name *name*, delete the field first, e.g.::" +msgstr "" +"Зауважте, що це *не* перезаписує та не видаляє будь-який існуючий заголовок " +"із такою самою назвою. Якщо ви хочете переконатися, що новий заголовок є " +"єдиним у повідомленні з назвою поля *name*, спочатку видаліть це поле, " +"наприклад::" + +msgid "" +"Delete all occurrences of the field with name *name* from the message's " +"headers. No exception is raised if the named field isn't present in the " +"headers." +msgstr "" +"Видалити всі входження поля з назвою *name* із заголовків повідомлення. " +"Жодного винятку не створюється, якщо назване поле відсутнє в заголовках." + +msgid "Return a list of all the message's header field names." +msgstr "Повертає список імен усіх полів заголовка повідомлення." + +msgid "Return a list of all the message's field values." +msgstr "Повертає список усіх значень полів повідомлення." + +msgid "" +"Return a list of 2-tuples containing all the message's field headers and " +"values." +msgstr "" +"Повертає список із двох кортежів, що містить усі заголовки та значення полів " +"повідомлення." + +msgid "" +"Return the value of the named header field. This is identical to :meth:" +"`__getitem__` except that optional *failobj* is returned if the named header " +"is missing (defaults to ``None``)." +msgstr "" +"Повертає значення названого поля заголовка. Це ідентично :meth:" +"`__getitem__`, за винятком того, що необов’язковий *failobj* повертається, " +"якщо іменований заголовок відсутній (за замовчуванням ``None``)." + +msgid "Here are some additional useful methods:" +msgstr "Ось кілька додаткових корисних методів:" + +msgid "" +"Return a list of all the values for the field named *name*. If there are no " +"such named headers in the message, *failobj* is returned (defaults to " +"``None``)." +msgstr "" +"Повертає список усіх значень для поля з назвою *name*. Якщо в повідомленні " +"немає таких іменованих заголовків, повертається *failobj* (за замовчуванням " +"``None``)." + +msgid "" +"Extended header setting. This method is similar to :meth:`__setitem__` " +"except that additional header parameters can be provided as keyword " +"arguments. *_name* is the header field to add and *_value* is the *primary* " +"value for the header." +msgstr "" +"Розширене налаштування заголовка. Цей метод подібний до :meth:`__setitem__` " +"за винятком того, що додаткові параметри заголовка можуть бути надані як " +"аргументи ключового слова. *_name* — це поле заголовка, яке потрібно додати, " +"а *_value* — це *основне* значення для заголовка." + +msgid "" +"For each item in the keyword argument dictionary *_params*, the key is taken " +"as the parameter name, with underscores converted to dashes (since dashes " +"are illegal in Python identifiers). Normally, the parameter will be added " +"as ``key=\"value\"`` unless the value is ``None``, in which case only the " +"key will be added. If the value contains non-ASCII characters, it can be " +"specified as a three tuple in the format ``(CHARSET, LANGUAGE, VALUE)``, " +"where ``CHARSET`` is a string naming the charset to be used to encode the " +"value, ``LANGUAGE`` can usually be set to ``None`` or the empty string (see :" +"rfc:`2231` for other possibilities), and ``VALUE`` is the string value " +"containing non-ASCII code points. If a three tuple is not passed and the " +"value contains non-ASCII characters, it is automatically encoded in :rfc:" +"`2231` format using a ``CHARSET`` of ``utf-8`` and a ``LANGUAGE`` of " +"``None``." +msgstr "" +"Для кожного елемента в словнику аргументів ключових слів *_params* ключ " +"береться як ім’я параметра, а символи підкреслення перетворюються на тире " +"(оскільки тире заборонені в ідентифікаторах Python). Зазвичай параметр буде " +"додано як ``key=\"value\"``, якщо значення не буде ``None``, у цьому випадку " +"буде додано лише ключ. Якщо значення містить символи, відмінні від ASCII, " +"його можна вказати як трикортеж у форматі ``(НАБІР СИМВОЛІВ, МОВА, " +"ЗНАЧЕННЯ)``, де ``НАБІР СИГНАЛОВ`` – це рядок із назвою набору символів, " +"який буде використано для кодування значення ``LANGUAGE`` зазвичай можна " +"встановити на ``None`` або порожній рядок (перегляньте :rfc:`2231` для інших " +"можливостей), а ``VALUE`` є значенням рядка, що містить кодові точки не-" +"ASCII . Якщо три кортежу не передано і значення містить символи, відмінні " +"від ASCII, воно автоматично кодується у форматі :rfc:`2231` з використанням " +"``CHARSET`` ``utf-8`` і ``LANGUAGE`` з ``Жодного``." + +msgid "Here's an example::" +msgstr "Ось приклад::" + +msgid "This will add a header that looks like ::" +msgstr "Це додасть заголовок, який виглядає так::" + +msgid "An example with non-ASCII characters::" +msgstr "Приклад із символами, відмінними від ASCII:" + +msgid "Which produces ::" +msgstr "Що виробляє ::" + +msgid "" +"Replace a header. Replace the first header found in the message that " +"matches *_name*, retaining header order and field name case. If no matching " +"header was found, a :exc:`KeyError` is raised." +msgstr "" +"Замінити заголовок. Замініть перший знайдений у повідомленні заголовок, який " +"відповідає *_name*, зберігаючи порядок заголовків і регістр імені поля. Якщо " +"відповідного заголовка не знайдено, виникає :exc:`KeyError`." + +msgid "" +"Return the message's content type. The returned string is coerced to lower " +"case of the form :mimetype:`maintype/subtype`. If there was no :mailheader:" +"`Content-Type` header in the message the default type as given by :meth:" +"`get_default_type` will be returned. Since according to :rfc:`2045`, " +"messages always have a default type, :meth:`get_content_type` will always " +"return a value." +msgstr "" +"Повернути тип вмісту повідомлення. Повернений рядок приводиться до нижнього " +"регістру у формі :mimetype:`maintype/subtype`. Якщо в повідомленні не було " +"заголовка :mailheader:`Content-Type`, буде повернено тип за замовчуванням, " +"заданий :meth:`get_default_type`. Оскільки відповідно до :rfc:`2045` " +"повідомлення завжди мають тип за замовчуванням, :meth:`get_content_type` " +"завжди повертатиме значення." + +msgid "" +":rfc:`2045` defines a message's default type to be :mimetype:`text/plain` " +"unless it appears inside a :mimetype:`multipart/digest` container, in which " +"case it would be :mimetype:`message/rfc822`. If the :mailheader:`Content-" +"Type` header has an invalid type specification, :rfc:`2045` mandates that " +"the default type be :mimetype:`text/plain`." +msgstr "" +":rfc:`2045` визначає тип повідомлення за замовчуванням як :mimetype:`text/" +"plain`, якщо воно не з’являється всередині контейнера :mimetype:`multipart/" +"digest`, у такому випадку це буде :mimetype:`message/rfc822` . Якщо " +"заголовок :mailheader:`Content-Type` має недійсну специфікацію типу, :rfc:" +"`2045` вимагає, щоб типовим типом був :mimetype:`text/plain`." + +msgid "" +"Return the message's main content type. This is the :mimetype:`maintype` " +"part of the string returned by :meth:`get_content_type`." +msgstr "" +"Повернути основний тип вмісту повідомлення. Це :mimetype:`maintype` частина " +"рядка, яку повертає :meth:`get_content_type`." + +msgid "" +"Return the message's sub-content type. This is the :mimetype:`subtype` part " +"of the string returned by :meth:`get_content_type`." +msgstr "" +"Повернути тип підвмісту повідомлення. Це :mimetype:`subtype` частина рядка, " +"яку повертає :meth:`get_content_type`." + +msgid "" +"Return the default content type. Most messages have a default content type " +"of :mimetype:`text/plain`, except for messages that are subparts of :" +"mimetype:`multipart/digest` containers. Such subparts have a default " +"content type of :mimetype:`message/rfc822`." +msgstr "" +"Повернути типовий тип вмісту. Більшість повідомлень мають стандартний тип " +"вмісту :mimetype:`text/plain`, за винятком повідомлень, які є підчастинами " +"контейнерів :mimetype:`multipart/digest`. Такі підчастини мають типовий тип " +"вмісту :mimetype:`message/rfc822`." + +msgid "" +"Set the default content type. *ctype* should either be :mimetype:`text/" +"plain` or :mimetype:`message/rfc822`, although this is not enforced. The " +"default content type is not stored in the :mailheader:`Content-Type` header." +msgstr "" +"Встановіть тип вмісту за замовчуванням. *ctype* має бути :mimetype:`text/" +"plain` або :mimetype:`message/rfc822`, хоча це не обов’язково. Стандартний " +"тип вмісту не зберігається в заголовку :mailheader:`Content-Type`." + +msgid "" +"Return the message's :mailheader:`Content-Type` parameters, as a list. The " +"elements of the returned list are 2-tuples of key/value pairs, as split on " +"the ``'='`` sign. The left hand side of the ``'='`` is the key, while the " +"right hand side is the value. If there is no ``'='`` sign in the parameter " +"the value is the empty string, otherwise the value is as described in :meth:" +"`get_param` and is unquoted if optional *unquote* is ``True`` (the default)." +msgstr "" +"Повернути параметри :mailheader:`Content-Type` повідомлення у вигляді " +"списку. Елементи повернутого списку — це 2-кортежі пар ключ/значення, " +"розділені знаком ``'='``. Ліва сторона ``'='`` є ключем, а права частина - " +"значенням. Якщо в параметрі немає знака ``'='``, значенням є порожній рядок, " +"інакше значення відповідає опису в :meth:`get_param` і не береться в лапки, " +"якщо необов’язковий *unquote* має значення ``True`` ( за замовчуванням)." + +msgid "" +"Optional *failobj* is the object to return if there is no :mailheader:" +"`Content-Type` header. Optional *header* is the header to search instead " +"of :mailheader:`Content-Type`." +msgstr "" +"Необов’язковий *failobj* — це об’єкт, який повертається, якщо немає " +"заголовка :mailheader:`Content-Type`. Додатковий *header* – це заголовок для " +"пошуку замість :mailheader:`Content-Type`." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class its functionality is replaced by the *params* property of the " +"individual header objects returned by the header access methods." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` його " +"функціональність замінена властивістю *params* окремих об’єктів заголовка, " +"які повертаються методами доступу до заголовка." + +msgid "" +"Return the value of the :mailheader:`Content-Type` header's parameter " +"*param* as a string. If the message has no :mailheader:`Content-Type` " +"header or if there is no such parameter, then *failobj* is returned " +"(defaults to ``None``)." +msgstr "" +"Повертає значення параметра *param* заголовка :mailheader:`Content-Type` у " +"вигляді рядка. Якщо повідомлення не має заголовка :mailheader:`Content-Type` " +"або немає такого параметра, повертається *failobj* (за замовчуванням " +"``None``)." + +msgid "" +"Optional *header* if given, specifies the message header to use instead of :" +"mailheader:`Content-Type`." +msgstr "" +"Необов’язковий *заголовок*, якщо задано, визначає заголовок повідомлення, " +"який слід використовувати замість :mailheader:`Content-Type`." + +msgid "" +"Parameter keys are always compared case insensitively. The return value can " +"either be a string, or a 3-tuple if the parameter was :rfc:`2231` encoded. " +"When it's a 3-tuple, the elements of the value are of the form ``(CHARSET, " +"LANGUAGE, VALUE)``. Note that both ``CHARSET`` and ``LANGUAGE`` can be " +"``None``, in which case you should consider ``VALUE`` to be encoded in the " +"``us-ascii`` charset. You can usually ignore ``LANGUAGE``." +msgstr "" +"Ключі параметрів завжди порівнюються без урахування регістру. Значення, що " +"повертається, може бути рядком або кортежем із трьох, якщо параметр було " +"закодовано :rfc:`2231`. Якщо це 3-кортеж, елементи значення мають форму " +"``(НАБІР СИМВОЛІВ, МОВА, ЗНАЧЕННЯ)``. Зауважте, що як для ``CHARSET``, так і " +"для ``LANGUAGE`` може бути ``None``, у цьому випадку вам слід вважати, що " +"``VALUE`` закодовано в ``us-ascii``. Зазвичай ви можете ігнорувати " +"``LANGUAGE``." + +msgid "" +"If your application doesn't care whether the parameter was encoded as in :" +"rfc:`2231`, you can collapse the parameter value by calling :func:`email." +"utils.collapse_rfc2231_value`, passing in the return value from :meth:" +"`get_param`. This will return a suitably decoded Unicode string when the " +"value is a tuple, or the original string unquoted if it isn't. For example::" +msgstr "" +"Якщо вашій програмі байдуже, чи був параметр закодований як у :rfc:`2231`, " +"ви можете згорнути значення параметра, викликавши :func:`email.utils." +"collapse_rfc2231_value`, передавши значення, що повертається з :meth:" +"`get_param`. Це поверне відповідним чином декодований рядок Unicode, якщо " +"значення є кортежем, або оригінальний рядок без лапок, якщо це не так. " +"Наприклад::" + +msgid "" +"In any case, the parameter value (either the returned string, or the " +"``VALUE`` item in the 3-tuple) is always unquoted, unless *unquote* is set " +"to ``False``." +msgstr "" +"У будь-якому випадку значення параметра (або повернений рядок, або елемент " +"``VALUE`` у 3-кортежі) завжди не береться в лапки, якщо для *unquote* не " +"встановлено значення ``False``." + +msgid "" +"Set a parameter in the :mailheader:`Content-Type` header. If the parameter " +"already exists in the header, its value will be replaced with *value*. If " +"the :mailheader:`Content-Type` header as not yet been defined for this " +"message, it will be set to :mimetype:`text/plain` and the new parameter " +"value will be appended as per :rfc:`2045`." +msgstr "" +"Установіть параметр у заголовку :mailheader:`Content-Type`. Якщо параметр " +"уже існує в заголовку, його значення буде замінено на *value*. Якщо " +"заголовок :mailheader:`Content-Type` ще не визначено для цього повідомлення, " +"для нього буде встановлено значення :mimetype:`text/plain`, а нове значення " +"параметра буде додано відповідно до :rfc:`2045`." + +msgid "" +"Optional *header* specifies an alternative header to :mailheader:`Content-" +"Type`, and all parameters will be quoted as necessary unless optional " +"*requote* is ``False`` (the default is ``True``)." +msgstr "" +"Необов’язковий *header* визначає альтернативний заголовок :mailheader:" +"`Content-Type`, і всі параметри будуть взяті в лапки, якщо необов’язковий " +"*requote* не має значення ``False`` (за замовчуванням це ``True``)." + +msgid "" +"If optional *charset* is specified, the parameter will be encoded according " +"to :rfc:`2231`. Optional *language* specifies the RFC 2231 language, " +"defaulting to the empty string. Both *charset* and *language* should be " +"strings." +msgstr "" +"Якщо вказано необов’язковий *charset*, параметр буде закодовано відповідно " +"до :rfc:`2231`. Необов’язкова *мова* вказує мову RFC 2231, за умовчанням " +"порожній рядок. І *charset*, і *language* мають бути рядками." + +msgid "" +"If *replace* is ``False`` (the default) the header is moved to the end of " +"the list of headers. If *replace* is ``True``, the header will be updated " +"in place." +msgstr "" +"Якщо *replace* має значення ``False`` (за замовчуванням), заголовок " +"переміщується в кінець списку заголовків. Якщо *replace* має значення " +"``True``, заголовок буде оновлено на місці." + +msgid "``replace`` keyword was added." +msgstr "Додано ключове слово ``replace``." + +msgid "" +"Remove the given parameter completely from the :mailheader:`Content-Type` " +"header. The header will be re-written in place without the parameter or its " +"value. All values will be quoted as necessary unless *requote* is ``False`` " +"(the default is ``True``). Optional *header* specifies an alternative to :" +"mailheader:`Content-Type`." +msgstr "" +"Повністю вилучіть вказаний параметр із заголовка :mailheader:`Content-Type`. " +"Заголовок буде перезаписано на місці без параметра чи його значення. Усі " +"значення будуть взяті в лапки за необхідності, якщо *requote* не має " +"значення ``False`` (за замовчуванням ``True``). Необов’язковий *заголовок* " +"визначає альтернативу :mailheader:`Content-Type`." + +msgid "" +"Set the main type and subtype for the :mailheader:`Content-Type` header. " +"*type* must be a string in the form :mimetype:`maintype/subtype`, otherwise " +"a :exc:`ValueError` is raised." +msgstr "" +"Встановіть основний тип і підтип для заголовка :mailheader:`Content-Type`. " +"*type* має бути рядком у формі :mimetype:`maintype/subtype`, інакше виникає :" +"exc:`ValueError`." + +msgid "" +"This method replaces the :mailheader:`Content-Type` header, keeping all the " +"parameters in place. If *requote* is ``False``, this leaves the existing " +"header's quoting as is, otherwise the parameters will be quoted (the " +"default)." +msgstr "" +"Цей метод замінює заголовок :mailheader:`Content-Type`, зберігаючи всі " +"параметри на місці. Якщо *requote* має значення ``False``, це залишає " +"існуючі лапки заголовка як є, інакше параметри будуть взяті в лапки (за " +"замовчуванням)." + +msgid "" +"An alternative header can be specified in the *header* argument. When the :" +"mailheader:`Content-Type` header is set a :mailheader:`MIME-Version` header " +"is also added." +msgstr "" +"Альтернативний заголовок можна вказати в аргументі *header*. Коли " +"встановлено заголовок :mailheader:`Content-Type`, також додається заголовок :" +"mailheader:`MIME-Version`." + +msgid "" +"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " +"class its functionality is replaced by the ``make_`` and ``add_`` methods." +msgstr "" +"Це застарілий метод. У класі :class:`~email.emailmessage.EmailMessage` його " +"функціональність замінена методами ``make_`` і ``add_``." + +msgid "" +"Return the value of the ``filename`` parameter of the :mailheader:`Content-" +"Disposition` header of the message. If the header does not have a " +"``filename`` parameter, this method falls back to looking for the ``name`` " +"parameter on the :mailheader:`Content-Type` header. If neither is found, or " +"the header is missing, then *failobj* is returned. The returned string will " +"always be unquoted as per :func:`email.utils.unquote`." +msgstr "" +"Повертає значення параметра ``filename`` заголовка :mailheader:`Content-" +"Disposition` повідомлення. Якщо заголовок не має параметра ``filename``, цей " +"метод повертається до пошуку параметра ``name`` у заголовку :mailheader:" +"`Content-Type`. Якщо нічого не знайдено або відсутній заголовок, " +"повертається *failobj*. Повернений рядок завжди буде без лапок відповідно " +"до :func:`email.utils.unquote`." + +msgid "" +"Return the value of the ``boundary`` parameter of the :mailheader:`Content-" +"Type` header of the message, or *failobj* if either the header is missing, " +"or has no ``boundary`` parameter. The returned string will always be " +"unquoted as per :func:`email.utils.unquote`." +msgstr "" +"Повертає значення параметра ``boundary`` заголовка :mailheader:`Content-" +"Type` повідомлення або *failobj*, якщо заголовок відсутній або не має " +"параметра ``boundary``. Повернений рядок завжди буде без лапок відповідно " +"до :func:`email.utils.unquote`." + +msgid "" +"Set the ``boundary`` parameter of the :mailheader:`Content-Type` header to " +"*boundary*. :meth:`set_boundary` will always quote *boundary* if " +"necessary. A :exc:`~email.errors.HeaderParseError` is raised if the message " +"object has no :mailheader:`Content-Type` header." +msgstr "" +"Установіть для параметра ``boundary`` заголовка :mailheader:`Content-Type` " +"значення *boundary*. :meth:`set_boundary` завжди братиме *boundary* у лапки, " +"якщо необхідно. Помилка :exc:`~email.errors.HeaderParseError` виникає, якщо " +"об’єкт повідомлення не має заголовка :mailheader:`Content-Type`." + +msgid "" +"Note that using this method is subtly different than deleting the old :" +"mailheader:`Content-Type` header and adding a new one with the new boundary " +"via :meth:`add_header`, because :meth:`set_boundary` preserves the order of " +"the :mailheader:`Content-Type` header in the list of headers. However, it " +"does *not* preserve any continuation lines which may have been present in " +"the original :mailheader:`Content-Type` header." +msgstr "" +"Зауважте, що використання цього методу дещо відрізняється від видалення " +"старого заголовка :mailheader:`Content-Type` і додавання нового з новою " +"межею за допомогою :meth:`add_header`, оскільки :meth:`set_boundary` " +"зберігає порядок заголовок :mailheader:`Content-Type` у списку заголовків. " +"Однак він *не* зберігає будь-які рядки продовження, які могли бути " +"присутніми в оригінальному заголовку :mailheader:`Content-Type`." + +msgid "" +"Return the ``charset`` parameter of the :mailheader:`Content-Type` header, " +"coerced to lower case. If there is no :mailheader:`Content-Type` header, or " +"if that header has no ``charset`` parameter, *failobj* is returned." +msgstr "" +"Повертає параметр ``charset`` заголовка :mailheader:`Content-Type` у " +"нижньому регістрі. Якщо немає заголовка :mailheader:`Content-Type` або цей " +"заголовок не має параметра ``charset``, повертається *failobj*." + +msgid "" +"Note that this method differs from :meth:`get_charset` which returns the :" +"class:`~email.charset.Charset` instance for the default encoding of the " +"message body." +msgstr "" +"Зауважте, що цей метод відрізняється від :meth:`get_charset`, який повертає " +"екземпляр :class:`~email.charset.Charset` для стандартного кодування тіла " +"повідомлення." + +msgid "" +"Return a list containing the character set names in the message. If the " +"message is a :mimetype:`multipart`, then the list will contain one element " +"for each subpart in the payload, otherwise, it will be a list of length 1." +msgstr "" +"Повернути список із назвами наборів символів у повідомленні. Якщо " +"повідомлення є :mimetype:`multipart`, тоді список міститиме один елемент для " +"кожної підчастини в корисному навантаженні, інакше це буде список довжиною 1." + +msgid "" +"Each item in the list will be a string which is the value of the ``charset`` " +"parameter in the :mailheader:`Content-Type` header for the represented " +"subpart. However, if the subpart has no :mailheader:`Content-Type` header, " +"no ``charset`` parameter, or is not of the :mimetype:`text` main MIME type, " +"then that item in the returned list will be *failobj*." +msgstr "" +"Кожен елемент у списку буде рядком, який є значенням параметра ``charset`` у " +"заголовку :mailheader:`Content-Type` для представленої підчастини. Однак, " +"якщо підчастина не має заголовка :mailheader:`Content-Type`, параметра " +"``charset`` або не належить до основного типу MIME :mimetype:`text`, тоді " +"цей елемент у списку, що повертається, буде *failobj*." + +msgid "" +"Return the lowercased value (without parameters) of the message's :" +"mailheader:`Content-Disposition` header if it has one, or ``None``. The " +"possible values for this method are *inline*, *attachment* or ``None`` if " +"the message follows :rfc:`2183`." +msgstr "" +"Повертає значення в нижньому регістрі (без параметрів) заголовка " +"повідомлення :mailheader:`Content-Disposition`, якщо воно є, або ``None``. " +"Можливі значення для цього методу: *inline*, *attachment* або ``None``, якщо " +"повідомлення слідує за :rfc:`2183`." + +msgid "" +"The :meth:`walk` method is an all-purpose generator which can be used to " +"iterate over all the parts and subparts of a message object tree, in depth-" +"first traversal order. You will typically use :meth:`walk` as the iterator " +"in a ``for`` loop; each iteration returns the next subpart." +msgstr "" +"Метод :meth:`walk` — це універсальний генератор, який можна використовувати " +"для перебору всіх частин і підчастин дерева об’єктів повідомлення в порядку " +"проходження спочатку в глибину. Ви зазвичай використовуєте :meth:`walk` як " +"ітератор у циклі ``for``; кожна ітерація повертає наступну підчастину." + +msgid "" +"Here's an example that prints the MIME type of every part of a multipart " +"message structure:" +msgstr "" +"Ось приклад, який друкує тип MIME кожної частини структури повідомлення, що " +"складається з кількох частин:" + +msgid "" +"``walk`` iterates over the subparts of any part where :meth:`is_multipart` " +"returns ``True``, even though ``msg.get_content_maintype() == 'multipart'`` " +"may return ``False``. We can see this in our example by making use of the " +"``_structure`` debug helper function:" +msgstr "" +"``walk`` повторює підчастини будь-якої частини, де :meth:`is_multipart` " +"повертає ``True``, навіть якщо ``msg.get_content_maintype() == 'multipart'`` " +"може повернути ``False``. Ми можемо побачити це в нашому прикладі, " +"використовуючи допоміжну функцію налагодження ``_structure``:" + +msgid "" +"Here the ``message`` parts are not ``multiparts``, but they do contain " +"subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the " +"subparts." +msgstr "" +"Тут частини ``message`` не є ``multiparts``, але вони містять підчастини. " +"``is_multipart()`` повертає ``True`` і ``walk`` спускається до підчастин." + +msgid "" +":class:`Message` objects can also optionally contain two instance " +"attributes, which can be used when generating the plain text of a MIME " +"message." +msgstr "" +"Об’єкти :class:`Message` також можуть додатково містити два атрибути " +"екземпляра, які можна використовувати під час генерації простого тексту " +"повідомлення MIME." + +msgid "" +"The format of a MIME document allows for some text between the blank line " +"following the headers, and the first multipart boundary string. Normally, " +"this text is never visible in a MIME-aware mail reader because it falls " +"outside the standard MIME armor. However, when viewing the raw text of the " +"message, or when viewing the message in a non-MIME aware reader, this text " +"can become visible." +msgstr "" +"Формат документа MIME допускає деякий текст між порожнім рядком після " +"заголовків і першим обмежувальним рядком із складених частин. Зазвичай цей " +"текст ніколи не відображається в програмі читання пошти з підтримкою MIME, " +"оскільки він виходить за рамки стандартної броні MIME. Однак під час " +"перегляду необробленого тексту повідомлення або під час перегляду " +"повідомлення в програмі читання, яка не підтримує MIME, цей текст може стати " +"видимим." + +msgid "" +"The *preamble* attribute contains this leading extra-armor text for MIME " +"documents. When the :class:`~email.parser.Parser` discovers some text after " +"the headers but before the first boundary string, it assigns this text to " +"the message's *preamble* attribute. When the :class:`~email.generator." +"Generator` is writing out the plain text representation of a MIME message, " +"and it finds the message has a *preamble* attribute, it will write this text " +"in the area between the headers and the first boundary. See :mod:`email." +"parser` and :mod:`email.generator` for details." +msgstr "" +"Атрибут *преамбула* містить цей провідний додатковий текст для документів " +"MIME. Коли :class:`~email.parser.Parser` виявляє текст після заголовків, але " +"перед першим обмежувальним рядком, він призначає цей текст атрибуту " +"*преамбула* повідомлення. Коли :class:`~email.generator.Generator` записує " +"звичайне текстове представлення повідомлення MIME і виявляє, що повідомлення " +"має атрибут *преамбула*, він записує цей текст у область між заголовками та " +"перша межа. Перегляньте :mod:`email.parser` і :mod:`email.generator` для " +"деталей." + +msgid "" +"Note that if the message object has no preamble, the *preamble* attribute " +"will be ``None``." +msgstr "" +"Зауважте, що якщо об’єкт повідомлення не має преамбули, атрибут *preamble* " +"матиме значення ``None``." + +msgid "" +"The *epilogue* attribute acts the same way as the *preamble* attribute, " +"except that it contains text that appears between the last boundary and the " +"end of the message." +msgstr "" +"Атрибут *epilogue* діє так само, як і атрибут *preamble*, за винятком того, " +"що він містить текст, який з’являється між останньою межею та кінцем " +"повідомлення." + +msgid "" +"You do not need to set the epilogue to the empty string in order for the :" +"class:`~email.generator.Generator` to print a newline at the end of the file." +msgstr "" +"Вам не потрібно встановлювати епілог порожнім рядком, щоб :class:`~email." +"generator.Generator` друкував новий рядок у кінці файлу." + +msgid "" +"The *defects* attribute contains a list of all the problems found when " +"parsing this message. See :mod:`email.errors` for a detailed description of " +"the possible parsing defects." +msgstr "" +"Атрибут *defects* містить список усіх проблем, виявлених під час аналізу " +"цього повідомлення. Перегляньте :mod:`email.errors` для детального опису " +"можливих дефектів аналізу." diff --git a/library/email_contentmanager.po b/library/email_contentmanager.po new file mode 100644 index 000000000..6f35edf56 --- /dev/null +++ b/library/email_contentmanager.po @@ -0,0 +1,350 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.contentmanager`: Managing MIME Content" +msgstr ":mod:`email.contentmanager`: Керування вмістом MIME" + +msgid "**Source code:** :source:`Lib/email/contentmanager.py`" +msgstr "**Вихідний код:** :source:`Lib/email/contentmanager.py`" + +msgid "[1]_" +msgstr "[1]_" + +msgid "" +"Base class for content managers. Provides the standard registry mechanisms " +"to register converters between MIME content and other representations, as " +"well as the ``get_content`` and ``set_content`` dispatch methods." +msgstr "" +"Базовий клас для менеджерів вмісту. Надає стандартні механізми реєстру для " +"реєстрації конвертерів між вмістом MIME та іншими представленнями, а також " +"методи відправлення ``get_content`` і ``set_content``." + +msgid "" +"Look up a handler function based on the ``mimetype`` of *msg* (see next " +"paragraph), call it, passing through all arguments, and return the result of " +"the call. The expectation is that the handler will extract the payload from " +"*msg* and return an object that encodes information about the extracted data." +msgstr "" +"Знайдіть функцію обробки на основі ``mimetype`` *msg* (див. наступний " +"параграф), викличте її, передаючи всі аргументи, і поверніть результат " +"виклику. Очікується, що обробник витягне корисне навантаження з *msg* і " +"поверне об’єкт, який кодує інформацію про витягнуті дані." + +msgid "" +"To find the handler, look for the following keys in the registry, stopping " +"with the first one found:" +msgstr "" +"Щоб знайти обробник, знайдіть такі розділи в реєстрі, зупинившись на першому " +"знайденому:" + +msgid "the string representing the full MIME type (``maintype/subtype``)" +msgstr "рядок, що представляє повний тип MIME (``maintype/subtype``)" + +msgid "the string representing the ``maintype``" +msgstr "рядок, що представляє ``maintype``" + +msgid "the empty string" +msgstr "порожній рядок" + +msgid "" +"If none of these keys produce a handler, raise a :exc:`KeyError` for the " +"full MIME type." +msgstr "" +"Якщо жоден із цих ключів не створює обробник, викличте :exc:`KeyError` для " +"повного типу MIME." + +msgid "" +"If the ``maintype`` is ``multipart``, raise a :exc:`TypeError`; otherwise " +"look up a handler function based on the type of *obj* (see next paragraph), " +"call :meth:`~email.message.EmailMessage.clear_content` on the *msg*, and " +"call the handler function, passing through all arguments. The expectation " +"is that the handler will transform and store *obj* into *msg*, possibly " +"making other changes to *msg* as well, such as adding various MIME headers " +"to encode information needed to interpret the stored data." +msgstr "" +"Якщо ``maintype`` є ``multipart``, викликати :exc:`TypeError`; інакше " +"знайдіть функцію обробки на основі типу *obj* (див. наступний абзац), " +"викличте :meth:`~email.message.EmailMessage.clear_content` у *msg* та " +"викликайте функцію обробки, передаючи всі аргументи . Очікується, що " +"обробник перетворить і збереже *obj* в *msg*, можливо також вносячи інші " +"зміни в *msg*, наприклад додаючи різні заголовки MIME для кодування " +"інформації, необхідної для інтерпретації збережених даних." + +msgid "" +"To find the handler, obtain the type of *obj* (``typ = type(obj)``), and " +"look for the following keys in the registry, stopping with the first one " +"found:" +msgstr "" +"Щоб знайти обробник, отримайте тип *obj* (``typ = type(obj)``) і знайдіть " +"наступні ключі в реєстрі, зупиняючись на першому знайденому:" + +msgid "the type itself (``typ``)" +msgstr "сам тип (``typ``)" + +msgid "" +"the type's fully qualified name (``typ.__module__ + '.' + typ." +"__qualname__``)." +msgstr "повне ім’я типу (``typ.__module__ + '.' + typ.__qualname__``)." + +msgid "the type's qualname (``typ.__qualname__``)" +msgstr "qualname типу (``typ.__qualname__``)" + +msgid "the type's name (``typ.__name__``)." +msgstr "назва типу (``typ.__name__``)." + +msgid "" +"If none of the above match, repeat all of the checks above for each of the " +"types in the :term:`MRO` (``typ.__mro__``). Finally, if no other key yields " +"a handler, check for a handler for the key ``None``. If there is no handler " +"for ``None``, raise a :exc:`KeyError` for the fully qualified name of the " +"type." +msgstr "" +"Якщо нічого з наведеного вище не відповідає, повторіть усі перевірки, " +"наведені вище, для кожного типу в :term:`MRO` (``typ.__mro__``). Нарешті, " +"якщо жоден інший ключ не дає обробника, перевірте наявність обробника для " +"ключа ``None``. Якщо немає обробника для ``None``, підніміть :exc:`KeyError` " +"для повної назви типу." + +msgid "" +"Also add a :mailheader:`MIME-Version` header if one is not present (see " +"also :class:`.MIMEPart`)." +msgstr "" +"Також додайте заголовок :mailheader:`MIME-Version`, якщо його немає (див. " +"також :class:`.MIMEPart`)." + +msgid "" +"Record the function *handler* as the handler for *key*. For the possible " +"values of *key*, see :meth:`get_content`." +msgstr "" +"Запишіть функцію *обробник* як обробник для *ключа*. Можливі значення *key* " +"див. у :meth:`get_content`." + +msgid "" +"Record *handler* as the function to call when an object of a type matching " +"*typekey* is passed to :meth:`set_content`. For the possible values of " +"*typekey*, see :meth:`set_content`." +msgstr "" +"Запишіть *обробник* як функцію для виклику, коли об’єкт типу, який " +"відповідає *typekey*, передається до :meth:`set_content`. Можливі значення " +"*typekey* див. у :meth:`set_content`." + +msgid "Content Manager Instances" +msgstr "Примірники Content Manager" + +msgid "" +"Currently the email package provides only one concrete content manager, :" +"data:`raw_data_manager`, although more may be added in the future. :data:" +"`raw_data_manager` is the :attr:`~email.policy.EmailPolicy.content_manager` " +"provided by :attr:`~email.policy.EmailPolicy` and its derivatives." +msgstr "" +"Наразі пакет електронної пошти містить лише один конкретний менеджер " +"вмісту, :data:`raw_data_manager`, хоча в майбутньому може бути додано " +"більше. :data:`raw_data_manager` — це :attr:`~email.policy.EmailPolicy." +"content_manager`, наданий :attr:`~email.policy.EmailPolicy` та його " +"похідними." + +msgid "" +"This content manager provides only a minimum interface beyond that provided " +"by :class:`~email.message.Message` itself: it deals only with text, raw " +"byte strings, and :class:`~email.message.Message` objects. Nevertheless, it " +"provides significant advantages compared to the base API: ``get_content`` on " +"a text part will return a unicode string without the application needing to " +"manually decode it, ``set_content`` provides a rich set of options for " +"controlling the headers added to a part and controlling the content transfer " +"encoding, and it enables the use of the various ``add_`` methods, thereby " +"simplifying the creation of multipart messages." +msgstr "" +"Цей менеджер вмісту надає лише мінімальний інтерфейс, окрім того, який надає " +"сам :class:`~email.message.Message`: він має справу лише з текстом, " +"необробленими рядками байтів та об’єктами :class:`~email.message.Message`. " +"Тим не менш, він надає значні переваги порівняно з базовим API: " +"``get_content`` у текстовій частині поверне рядок Unicode без необхідності " +"програми вручну декодувати його, ``set_content`` надає багатий набір " +"параметрів для керування заголовками додається до частини та контролює " +"кодування передачі вмісту, а також дозволяє використовувати різні методи " +"``add_``, тим самим спрощуючи створення багатокомпонентних повідомлень." + +msgid "" +"Return the payload of the part as either a string (for ``text`` parts), an :" +"class:`~email.message.EmailMessage` object (for ``message/rfc822`` parts), " +"or a ``bytes`` object (for all other non-multipart types). Raise a :exc:" +"`KeyError` if called on a ``multipart``. If the part is a ``text`` part and " +"*errors* is specified, use it as the error handler when decoding the payload " +"to unicode. The default error handler is ``replace``." +msgstr "" +"Повертає корисне навантаження частини як рядок (для частин ``text``), " +"об’єкт :class:`~email.message.EmailMessage` (для частин ``message/rfc822``) " +"або ``bytes`` об'єкт (для всіх інших нескладних типів). Викликає :exc:" +"`KeyError`, якщо викликається на ``multipart``. Якщо частина є частиною " +"``text`` і вказано *errors*, використовуйте її як обробник помилок під час " +"декодування корисного навантаження в Юнікод. Обробником помилок за " +"замовчуванням є ``replace``." + +msgid "Add headers and payload to *msg*:" +msgstr "Додайте заголовки та корисне навантаження до *повідомлення*:" + +msgid "" +"Add a :mailheader:`Content-Type` header with a ``maintype/subtype`` value." +msgstr "" +"Додайте заголовок :mailheader:`Content-Type` зі значенням ``maintype/" +"subtype``." + +msgid "" +"For ``str``, set the MIME ``maintype`` to ``text``, and set the subtype to " +"*subtype* if it is specified, or ``plain`` if it is not." +msgstr "" +"Для ``str`` встановіть ``maintype`` MIME на ``text`` і встановіть підтип на " +"*subtype*, якщо він указаний, або ``plain``, якщо він не вказано." + +msgid "" +"For ``bytes``, use the specified *maintype* and *subtype*, or raise a :exc:" +"`TypeError` if they are not specified." +msgstr "" +"Для ``bytes`` використовуйте вказані *maintype* і *subtype* або викликайте :" +"exc:`TypeError`, якщо вони не вказані." + +msgid "" +"For :class:`~email.message.EmailMessage` objects, set the maintype to " +"``message``, and set the subtype to *subtype* if it is specified or " +"``rfc822`` if it is not. If *subtype* is ``partial``, raise an error " +"(``bytes`` objects must be used to construct ``message/partial`` parts)." +msgstr "" +"Для об’єктів :class:`~email.message.EmailMessage` встановіть основний тип як " +"``message``, а для підтипу встановіть *subtype*, якщо він указаний, або " +"``rfc822``, якщо його немає. Якщо *subtype* має значення ``partial``, " +"виникає помилка (об’єкти ``bytes`` повинні використовуватися для створення " +"частин ``message/partial``)." + +msgid "" +"If *charset* is provided (which is valid only for ``str``), encode the " +"string to bytes using the specified character set. The default is " +"``utf-8``. If the specified *charset* is a known alias for a standard MIME " +"charset name, use the standard charset instead." +msgstr "" +"Якщо надано *charset* (який дійсний лише для ``str``), закодуйте рядок у " +"байти за допомогою вказаного набору символів. Типовим є ``utf-8``. Якщо " +"вказаний *набір символів* є відомим псевдонімом для назви стандартного " +"набору кодів MIME, замість цього використовуйте стандартний набір символів." + +msgid "" +"If *cte* is set, encode the payload using the specified content transfer " +"encoding, and set the :mailheader:`Content-Transfer-Encoding` header to that " +"value. Possible values for *cte* are ``quoted-printable``, ``base64``, " +"``7bit``, ``8bit``, and ``binary``. If the input cannot be encoded in the " +"specified encoding (for example, specifying a *cte* of ``7bit`` for an input " +"that contains non-ASCII values), raise a :exc:`ValueError`." +msgstr "" +"Якщо встановлено *cte*, закодуйте корисне навантаження, використовуючи " +"вказане кодування передачі вмісту, і встановіть це значення для заголовка :" +"mailheader:`Content-Transfer-Encoding`. Можливі значення для *cte*: ``quoted-" +"printable``, ``base64``, ``7bit``, ``8bit`` і ``binary``. Якщо вхідні дані " +"не можна закодувати у вказаному кодуванні (наприклад, вказавши *cte* " +"``7bit`` для вхідних даних, які містять значення, відмінні від ASCII), " +"викликайте :exc:`ValueError`." + +msgid "" +"For ``str`` objects, if *cte* is not set use heuristics to determine the " +"most compact encoding." +msgstr "" +"Для об’єктів ``str``, якщо *cte* не встановлено, використовуйте евристику " +"для визначення найбільш компактного кодування." + +msgid "" +"For :class:`~email.message.EmailMessage`, per :rfc:`2046`, raise an error if " +"a *cte* of ``quoted-printable`` or ``base64`` is requested for *subtype* " +"``rfc822``, and for any *cte* other than ``7bit`` for *subtype* ``external-" +"body``. For ``message/rfc822``, use ``8bit`` if *cte* is not specified. " +"For all other values of *subtype*, use ``7bit``." +msgstr "" +"Для :class:`~email.message.EmailMessage`, відповідно до :rfc:`2046`, " +"викликати помилку, якщо *cte* ``quoted-printable`` або ``base64`` " +"запитується для *підтипу* ``rfc822`` і для будь-якого *cte*, крім ``7bit`` " +"для *підтипу* ``external-body``. Для ``message/rfc822`` використовуйте " +"``8bit``, якщо *cte* не вказано. Для всіх інших значень *subtype* " +"використовуйте ``7bit``." + +msgid "" +"A *cte* of ``binary`` does not actually work correctly yet. The " +"``EmailMessage`` object as modified by ``set_content`` is correct, but :" +"class:`~email.generator.BytesGenerator` does not serialize it correctly." +msgstr "" +"*cte* ``binary`` насправді ще не працює належним чином. Об’єкт " +"``EmailMessage``, змінений ``set_content`` є правильним, але :class:`~email." +"generator.BytesGenerator` не серіалізує його правильно." + +msgid "" +"If *disposition* is set, use it as the value of the :mailheader:`Content-" +"Disposition` header. If not specified, and *filename* is specified, add the " +"header with the value ``attachment``. If *disposition* is not specified and " +"*filename* is also not specified, do not add the header. The only valid " +"values for *disposition* are ``attachment`` and ``inline``." +msgstr "" +"Якщо встановлено *disposition*, використовуйте його як значення заголовка :" +"mailheader:`Content-Disposition`. Якщо не вказано, але вказано *filename*, " +"додайте заголовок зі значенням ``attachment``. Якщо *disposition* не вказано " +"і *filename* також не вказано, не додавайте заголовок. Єдиними дійсними " +"значеннями для *disposition* є ``attachment`` і ``inline``." + +msgid "" +"If *filename* is specified, use it as the value of the ``filename`` " +"parameter of the :mailheader:`Content-Disposition` header." +msgstr "" +"Якщо вказано *filename*, використовуйте його як значення параметра " +"``filename`` заголовка :mailheader:`Content-Disposition`." + +msgid "" +"If *cid* is specified, add a :mailheader:`Content-ID` header with *cid* as " +"its value." +msgstr "" +"Якщо вказано *cid*, додайте заголовок :mailheader:`Content-ID` зі значенням " +"*cid*." + +msgid "" +"If *params* is specified, iterate its ``items`` method and use the resulting " +"``(key, value)`` pairs to set additional parameters on the :mailheader:" +"`Content-Type` header." +msgstr "" +"Якщо вказано *params*, повторіть його метод ``items`` і використовуйте " +"отримані пари ``(key, value)``, щоб установити додаткові параметри в " +"заголовку :mailheader:`Content-Type`." + +msgid "" +"If *headers* is specified and is a list of strings of the form ``headername: " +"headervalue`` or a list of ``header`` objects (distinguished from strings by " +"having a ``name`` attribute), add the headers to *msg*." +msgstr "" +"Якщо вказано *headers* і це список рядків у формі ``назва заголовка: " +"значення заголовка`` або список об’єктів ``заголовка`` (відрізняються від " +"рядків наявністю атрибута ``назва``), додайте заголовки на *повідомлення*." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Originally added in 3.4 as a :term:`provisional module `" +msgstr "" +"Спочатку додано в 3.4 як :term:`проміжний модуль `" diff --git a/library/email_encoders.po b/library/email_encoders.po new file mode 100644 index 000000000..4c9a85ae8 --- /dev/null +++ b/library/email_encoders.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.encoders`: Encoders" +msgstr ":mod:`email.encoders`: Кодери" + +msgid "**Source code:** :source:`Lib/email/encoders.py`" +msgstr "**Вихідний код:** :source:`Lib/email/encoders.py`" + +msgid "" +"This module is part of the legacy (``Compat32``) email API. In the new API " +"the functionality is provided by the *cte* parameter of the :meth:`~email." +"message.EmailMessage.set_content` method." +msgstr "" +"Цей модуль є частиною застарілого (``Compat32``) API електронної пошти. У " +"новому API функціональні можливості забезпечуються параметром *cte* методу :" +"meth:`~email.message.EmailMessage.set_content`." + +msgid "" +"This module is deprecated in Python 3. The functions provided here should " +"not be called explicitly since the :class:`~email.mime.text.MIMEText` class " +"sets the content type and CTE header using the *_subtype* and *_charset* " +"values passed during the instantiation of that class." +msgstr "" +"Цей модуль є застарілим у Python 3. Надані тут функції не слід викликати " +"явно, оскільки клас :class:`~email.mime.text.MIMEText` встановлює тип вмісту " +"та заголовок CTE за допомогою значень *_subtype* і *_charset* передана під " +"час створення екземпляра цього класу." + +msgid "" +"The remaining text in this section is the original documentation of the " +"module." +msgstr "Решта тексту в цьому розділі є оригінальною документацією модуля." + +msgid "" +"When creating :class:`~email.message.Message` objects from scratch, you " +"often need to encode the payloads for transport through compliant mail " +"servers. This is especially true for :mimetype:`image/\\*` and :mimetype:" +"`text/\\*` type messages containing binary data." +msgstr "" +"Під час створення об’єктів :class:`~email.message.Message` з нуля вам часто " +"потрібно закодувати корисні дані для транспортування через сумісні поштові " +"сервери. Особливо це стосується повідомлень типу :mimetype:`image/\\*` і :" +"mimetype:`text/\\*`, що містять двійкові дані." + +msgid "" +"The :mod:`email` package provides some convenient encoders in its :mod:" +"`encoders` module. These encoders are actually used by the :class:`~email." +"mime.audio.MIMEAudio` and :class:`~email.mime.image.MIMEImage` class " +"constructors to provide default encodings. All encoder functions take " +"exactly one argument, the message object to encode. They usually extract " +"the payload, encode it, and reset the payload to this newly encoded value. " +"They should also set the :mailheader:`Content-Transfer-Encoding` header as " +"appropriate." +msgstr "" +"Пакет :mod:`email` містить кілька зручних кодувальників у своєму модулі :mod:" +"`encoders`. Ці кодери фактично використовуються конструкторами класів :class:" +"`~email.mime.audio.MIMEAudio` і :class:`~email.mime.image.MIMEImage` для " +"надання стандартних кодувань. Усі функції кодувальника приймають лише один " +"аргумент, об’єкт повідомлення, який потрібно кодувати. Зазвичай вони " +"витягують корисне навантаження, кодують його та скидають корисне " +"навантаження до цього щойно закодованого значення. Вони також повинні " +"встановити відповідний заголовок :mailheader:`Content-Transfer-Encoding`." + +msgid "" +"Note that these functions are not meaningful for a multipart message. They " +"must be applied to individual subparts instead, and will raise a :exc:" +"`TypeError` if passed a message whose type is multipart." +msgstr "" +"Зауважте, що ці функції не мають значення для багатокомпонентного " +"повідомлення. Натомість вони повинні застосовуватися до окремих підчастин і " +"викличуть :exc:`TypeError`, якщо передано повідомлення, тип якого є " +"багатокомпонентним." + +msgid "Here are the encoding functions provided:" +msgstr "Ось доступні функції кодування:" + +msgid "" +"Encodes the payload into quoted-printable form and sets the :mailheader:" +"`Content-Transfer-Encoding` header to ``quoted-printable`` [#]_. This is a " +"good encoding to use when most of your payload is normal printable data, but " +"contains a few unprintable characters." +msgstr "" +"Кодує корисне навантаження у форму для друку в цитатах і встановлює для " +"заголовка :mailheader:`Content-Transfer-Encoding` значення ``quoted-" +"printable`` [#]_. Це хороше кодування для використання, коли більша частина " +"вашого корисного навантаження є звичайними даними для друку, але містить " +"кілька недрукованих символів." + +msgid "" +"Encodes the payload into base64 form and sets the :mailheader:`Content-" +"Transfer-Encoding` header to ``base64``. This is a good encoding to use " +"when most of your payload is unprintable data since it is a more compact " +"form than quoted-printable. The drawback of base64 encoding is that it " +"renders the text non-human readable." +msgstr "" +"Кодує корисне навантаження у форму base64 і встановлює для заголовка :" +"mailheader:`Content-Transfer-Encoding` значення ``base64``. Це хороше " +"кодування для використання, коли більша частина вашого корисного " +"навантаження є недрукованими даними, оскільки це більш компактна форма, ніж " +"придатна для друку в цитатах. Недоліком кодування base64 є те, що воно " +"робить текст недоступним для читання людиною." + +msgid "" +"This doesn't actually modify the message's payload, but it does set the :" +"mailheader:`Content-Transfer-Encoding` header to either ``7bit`` or ``8bit`` " +"as appropriate, based on the payload data." +msgstr "" +"Це фактично не змінює корисне навантаження повідомлення, але встановлює для " +"заголовка :mailheader:`Content-Transfer-Encoding` значення ``7bit`` або " +"``8bit`` відповідно, на основі даних корисного навантаження." + +msgid "" +"This does nothing; it doesn't even set the :mailheader:`Content-Transfer-" +"Encoding` header." +msgstr "" +"Це нічого не робить; він навіть не встановлює заголовок :mailheader:`Content-" +"Transfer-Encoding`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Note that encoding with :meth:`encode_quopri` also encodes all tabs and " +"space characters in the data." +msgstr "" +"Зауважте, що кодування за допомогою :meth:`encode_quopri` також кодує всі " +"символи табуляції та пробілів у даних." diff --git a/library/email_errors.po b/library/email_errors.po new file mode 100644 index 000000000..d84227745 --- /dev/null +++ b/library/email_errors.po @@ -0,0 +1,225 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.errors`: Exception and Defect classes" +msgstr ":mod:`email.errors`: класи винятків і дефектів" + +msgid "**Source code:** :source:`Lib/email/errors.py`" +msgstr "**Вихідний код:** :source:`Lib/email/errors.py`" + +msgid "" +"The following exception classes are defined in the :mod:`email.errors` " +"module:" +msgstr "Наступні класи винятків визначено в модулі :mod:`email.errors`:" + +msgid "" +"This is the base class for all exceptions that the :mod:`email` package can " +"raise. It is derived from the standard :exc:`Exception` class and defines " +"no additional methods." +msgstr "" +"Це базовий клас для всіх винятків, які може створити пакет :mod:`email`. Він " +"походить від стандартного класу :exc:`Exception` і не визначає додаткових " +"методів." + +msgid "" +"This is the base class for exceptions raised by the :class:`~email.parser." +"Parser` class. It is derived from :exc:`MessageError`. This class is also " +"used internally by the parser used by :mod:`~email.headerregistry`." +msgstr "" +"Це базовий клас для винятків, викликаних класом :class:`~email.parser." +"Parser`. Він походить від :exc:`MessageError`. Цей клас також " +"використовується внутрішньо аналізатором, який використовує :mod:`~email." +"headerregistry`." + +msgid "" +"Raised under some error conditions when parsing the :rfc:`5322` headers of a " +"message, this class is derived from :exc:`MessageParseError`. The :meth:" +"`~email.message.EmailMessage.set_boundary` method will raise this error if " +"the content type is unknown when the method is called. :class:`~email.header." +"Header` may raise this error for certain base64 decoding errors, and when an " +"attempt is made to create a header that appears to contain an embedded " +"header (that is, there is what is supposed to be a continuation line that " +"has no leading whitespace and looks like a header)." +msgstr "" +"Виникає за деяких умов помилки під час аналізу заголовків :rfc:`5322` " +"повідомлення, цей клас походить від :exc:`MessageParseError`. Метод :meth:" +"`~email.message.EmailMessage.set_boundary` викличе цю помилку, якщо під час " +"виклику методу тип вмісту невідомий. :class:`~email.header.Header` може " +"викликати цю помилку для певних помилок декодування base64, а також коли " +"робиться спроба створити заголовок, який, здається, містить вбудований " +"заголовок (тобто, є те, що має бути рядок продовження, який не має " +"початкових пробілів і виглядає як заголовок)." + +msgid "Deprecated and no longer used." +msgstr "Застарілий і більше не використовується." + +msgid "" +"Raised when a payload is added to a :class:`~email.message.Message` object " +"using :meth:`add_payload`, but the payload is already a scalar and the " +"message's :mailheader:`Content-Type` main type is not either :mimetype:" +"`multipart` or missing. :exc:`MultipartConversionError` multiply inherits " +"from :exc:`MessageError` and the built-in :exc:`TypeError`." +msgstr "" +"Піднімається, коли корисне навантаження додається до об’єкта :class:`~email." +"message.Message` за допомогою :meth:`add_payload`, але корисне навантаження " +"вже є скалярним, а основний тип :mailheader:`Content-Type` повідомлення не " +"є :mimetype:`multipart` або відсутній. :exc:`MultipartConversionError` " +"успадковує :exc:`MessageError` і вбудовану :exc:`TypeError`." + +msgid "" +"Since :meth:`Message.add_payload` is deprecated, this exception is rarely " +"raised in practice. However the exception may also be raised if the :meth:" +"`~email.message.Message.attach` method is called on an instance of a class " +"derived from :class:`~email.mime.nonmultipart.MIMENonMultipart` (e.g. :class:" +"`~email.mime.image.MIMEImage`)." +msgstr "" +"Оскільки :meth:`Message.add_payload` є застарілим, цей виняток рідко виникає " +"на практиці. Однак виняток також може бути викликано, якщо метод :meth:" +"`~email.message.Message.attach` викликається в екземплярі класу, похідного " +"від :class:`~email.mime.nonmultipart.MIMENonMultipart` (наприклад, :class:" +"`~email.mime.image.MIMEImage`)." + +msgid "" +"Here is the list of the defects that the :class:`~email.parser.FeedParser` " +"can find while parsing messages. Note that the defects are added to the " +"message where the problem was found, so for example, if a message nested " +"inside a :mimetype:`multipart/alternative` had a malformed header, that " +"nested message object would have a defect, but the containing messages would " +"not." +msgstr "" +"Ось список дефектів, які :class:`~email.parser.FeedParser` може знайти під " +"час аналізу повідомлень. Зауважте, що дефекти додаються до повідомлення, у " +"якому виявлено проблему, тому, наприклад, якщо повідомлення, вкладене в :" +"mimetype:`multipart/alternative`, мало неправильний заголовок, цей вкладений " +"об’єкт повідомлення мав би дефект, але містив би повідомлення не будуть." + +msgid "" +"All defect classes are subclassed from :class:`email.errors.MessageDefect`." +msgstr "Усі класи дефектів є підкласами :class:`email.errors.MessageDefect`." + +msgid "" +":class:`NoBoundaryInMultipartDefect` -- A message claimed to be a multipart, " +"but had no :mimetype:`boundary` parameter." +msgstr "" +":class:`NoBoundaryInMultipartDefect` -- Повідомлення вважалося складним, але " +"не мало параметра :mimetype:`boundary`." + +msgid "" +":class:`StartBoundaryNotFoundDefect` -- The start boundary claimed in the :" +"mailheader:`Content-Type` header was never found." +msgstr "" +":class:`StartBoundaryNotFoundDefect` -- Початкова межа, заявлена в " +"заголовку :mailheader:`Content-Type`, не знайдена." + +msgid "" +":class:`CloseBoundaryNotFoundDefect` -- A start boundary was found, but no " +"corresponding close boundary was ever found." +msgstr "" +":class:`CloseBoundaryNotFoundDefect` -- Початкову межу знайдено, але жодної " +"відповідної близької межі не знайдено." + +msgid "" +":class:`FirstHeaderLineIsContinuationDefect` -- The message had a " +"continuation line as its first header line." +msgstr "" +":class:`FirstHeaderLineIsContinuationDefect` -- Першим рядком заголовка " +"повідомлення було рядок продовження." + +msgid "" +":class:`MisplacedEnvelopeHeaderDefect` - A \"Unix From\" header was found in " +"the middle of a header block." +msgstr "" +":class:`MisplacedEnvelopeHeaderDefect` - заголовок \"Unix From\" знайдено в " +"середині блоку заголовка." + +msgid "" +":class:`MissingHeaderBodySeparatorDefect` - A line was found while parsing " +"headers that had no leading white space but contained no ':'. Parsing " +"continues assuming that the line represents the first line of the body." +msgstr "" +":class:`MissingHeaderBodySeparatorDefect` - під час аналізу заголовків було " +"знайдено рядок, який не мав пробілу на початку, але не містив \":\". " +"Синтаксичний аналіз продовжується за умови, що рядок представляє перший " +"рядок тіла." + +msgid "" +":class:`MalformedHeaderDefect` -- A header was found that was missing a " +"colon, or was otherwise malformed." +msgstr "" +":class:`MalformedHeaderDefect` -- Виявлено заголовок, у якому відсутня " +"двокрапка або був неправильно сформований." + +msgid "This defect has not been used for several Python versions." +msgstr "Цей дефект не використовувався для кількох версій Python." + +msgid "" +":class:`MultipartInvariantViolationDefect` -- A message claimed to be a :" +"mimetype:`multipart`, but no subparts were found. Note that when a message " +"has this defect, its :meth:`~email.message.Message.is_multipart` method may " +"return ``False`` even though its content type claims to be :mimetype:" +"`multipart`." +msgstr "" +":class:`MultipartInvariantViolationDefect` -- Повідомлення, яке вважається :" +"mimetype:`multipart`, але жодної частини не знайдено. Зауважте, що якщо " +"повідомлення має цей дефект, його метод :meth:`~email.message.Message." +"is_multipart` може повернути значення ``False``, навіть якщо його тип вмісту " +"стверджується як :mimetype:`multipart`." + +msgid "" +":class:`InvalidBase64PaddingDefect` -- When decoding a block of base64 " +"encoded bytes, the padding was not correct. Enough padding is added to " +"perform the decode, but the resulting decoded bytes may be invalid." +msgstr "" +":class:`InvalidBase64PaddingDefect` -- Під час декодування блоку байтів у " +"кодуванні base64 заповнення було неправильним. Для виконання декодування " +"додається достатньо заповнення, але отримані декодовані байти можуть бути " +"недійсними." + +msgid "" +":class:`InvalidBase64CharactersDefect` -- When decoding a block of base64 " +"encoded bytes, characters outside the base64 alphabet were encountered. The " +"characters are ignored, but the resulting decoded bytes may be invalid." +msgstr "" +":class:`InvalidBase64CharactersDefect` -- Під час декодування блоку байтів, " +"закодованих base64, виявлено символи поза алфавітом base64. Символи " +"ігноруються, але отримані декодовані байти можуть бути недійсними." + +msgid "" +":class:`InvalidBase64LengthDefect` -- When decoding a block of base64 " +"encoded bytes, the number of non-padding base64 characters was invalid (1 " +"more than a multiple of 4). The encoded block was kept as-is." +msgstr "" +":class:`InvalidBase64LengthDefect` -- Під час декодування блоку байтів, " +"закодованих base64, кількість символів base64 без доповнення була недійсною " +"(на 1 більше, ніж кратне 4). Закодований блок зберігався як є." + +msgid "" +":class:`InvalidDateDefect` -- When decoding an invalid or unparsable date " +"field. The original value is kept as-is." +msgstr "" +":class:`InvalidDateDefect` -- Під час декодування недійсного або " +"нерозбірливого поля дати. Початкове значення зберігається як є." diff --git a/library/email_examples.po b/library/email_examples.po new file mode 100644 index 000000000..c26ff662e --- /dev/null +++ b/library/email_examples.po @@ -0,0 +1,100 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email`: Examples" +msgstr ":mod:`email`: Приклади" + +msgid "" +"Here are a few examples of how to use the :mod:`email` package to read, " +"write, and send simple email messages, as well as more complex MIME messages." +msgstr "" +"Ось кілька прикладів того, як використовувати пакет :mod:`email` для " +"читання, написання та надсилання простих повідомлень електронної пошти, а " +"також більш складних повідомлень MIME." + +msgid "" +"First, let's see how to create and send a simple text message (both the text " +"content and the addresses may contain unicode characters):" +msgstr "" +"Спочатку розглянемо, як створити та надіслати просте текстове повідомлення " +"(як текстовий вміст, так і адреси можуть містити символи Юнікоду):" + +msgid "" +"Parsing :rfc:`822` headers can easily be done by the using the classes from " +"the :mod:`~email.parser` module:" +msgstr "" +"Розбір заголовків :rfc:`822` можна легко виконати за допомогою класів із " +"модуля :mod:`~email.parser`:" + +msgid "" +"Here's an example of how to send a MIME message containing a bunch of family " +"pictures that may be residing in a directory:" +msgstr "" +"Ось приклад того, як надіслати повідомлення MIME, що містить групу сімейних " +"фотографій, які можуть зберігатися в каталозі:" + +msgid "" +"Here's an example of how to send the entire contents of a directory as an " +"email message: [1]_" +msgstr "" +"Ось приклад того, як надіслати весь вміст каталогу як повідомлення " +"електронної пошти: [1]_" + +msgid "" +"Here's an example of how to unpack a MIME message like the one above, into a " +"directory of files:" +msgstr "" +"Ось приклад того, як розпакувати повідомлення MIME, як наведене вище, у " +"каталог файлів:" + +msgid "" +"Here's an example of how to create an HTML message with an alternative plain " +"text version. To make things a bit more interesting, we include a related " +"image in the html part, and we save a copy of what we are going to send to " +"disk, as well as sending it." +msgstr "" +"Ось приклад того, як створити HTML-повідомлення з альтернативною версією " +"звичайного тексту. Щоб зробити все трохи цікавішим, ми включаємо пов’язане " +"зображення в частину html і зберігаємо копію того, що збираємося надіслати, " +"на диск, а також надсилаємо його." + +msgid "" +"If we were sent the message from the last example, here is one way we could " +"process it:" +msgstr "" +"Якби нам надіслали повідомлення з останнього прикладу, ось один із способів " +"його обробки:" + +msgid "Up to the prompt, the output from the above is:" +msgstr "До підказки вихідні дані вище:" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Thanks to Matthew Dixon Cowles for the original inspiration and examples." +msgstr "Дякуємо Метью Діксону Коулзу за оригінальне натхнення та приклади." diff --git a/library/email_generator.po b/library/email_generator.po new file mode 100644 index 000000000..b70c80fa5 --- /dev/null +++ b/library/email_generator.po @@ -0,0 +1,445 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.generator`: Generating MIME documents" +msgstr ":mod:`email.generator`: Створення документів MIME" + +msgid "**Source code:** :source:`Lib/email/generator.py`" +msgstr "**Вихідний код:** :source:`Lib/email/generator.py`" + +msgid "" +"One of the most common tasks is to generate the flat (serialized) version of " +"the email message represented by a message object structure. You will need " +"to do this if you want to send your message via :meth:`smtplib.SMTP." +"sendmail` or the :mod:`nntplib` module, or print the message on the " +"console. Taking a message object structure and producing a serialized " +"representation is the job of the generator classes." +msgstr "" +"Одним із найпоширеніших завдань є створення плоскої (серіалізованої) версії " +"повідомлення електронної пошти, представленої структурою об’єкта " +"повідомлення. Вам потрібно буде зробити це, якщо ви хочете надіслати своє " +"повідомлення через :meth:`smtplib.SMTP.sendmail` чи модуль :mod:`nntplib`, " +"або надрукувати повідомлення на консолі. Взяття структури об’єкта " +"повідомлення та створення серіалізованого представлення є роботою класів-" +"генераторів." + +msgid "" +"As with the :mod:`email.parser` module, you aren't limited to the " +"functionality of the bundled generator; you could write one from scratch " +"yourself. However the bundled generator knows how to generate most email in " +"a standards-compliant way, should handle MIME and non-MIME email messages " +"just fine, and is designed so that the bytes-oriented parsing and generation " +"operations are inverses, assuming the same non-transforming :mod:`~email." +"policy` is used for both. That is, parsing the serialized byte stream via " +"the :class:`~email.parser.BytesParser` class and then regenerating the " +"serialized byte stream using :class:`BytesGenerator` should produce output " +"identical to the input [#]_. (On the other hand, using the generator on an :" +"class:`~email.message.EmailMessage` constructed by program may result in " +"changes to the :class:`~email.message.EmailMessage` object as defaults are " +"filled in.)" +msgstr "" +"Як і у випадку з модулем :mod:`email.parser`, ви не обмежені " +"функціональністю вбудованого генератора; ви можете написати його з нуля " +"самостійно. Однак укомплектований генератор знає, як генерувати більшість " +"електронних листів відповідно до стандартів, має добре обробляти " +"повідомлення електронної пошти MIME та не MIME та розроблено таким чином, " +"щоб операції синтаксичного аналізу та генерування, орієнтовані на байти, " +"були зворотними, припускаючи однакові не-MIME transforming :mod:`~email." +"policy` використовується для обох. Тобто розбір серіалізованого потоку " +"байтів за допомогою класу :class:`~email.parser.BytesParser`, а потім " +"регенерація серіалізованого потоку байтів за допомогою :class:" +"`BytesGenerator` має давати вихідні дані, ідентичні вхідним [#]_. (З іншого " +"боку, використання генератора для :class:`~email.message.EmailMessage`, " +"створеного програмою, може призвести до змін в об’єкті :class:`~email." +"message.EmailMessage`, оскільки стандартні значення заповнені.)" + +msgid "" +"The :class:`Generator` class can be used to flatten a message into a text " +"(as opposed to binary) serialized representation, but since Unicode cannot " +"represent binary data directly, the message is of necessity transformed into " +"something that contains only ASCII characters, using the standard email RFC " +"Content Transfer Encoding techniques for encoding email messages for " +"transport over channels that are not \"8 bit clean\"." +msgstr "" +"Клас :class:`Generator` можна використовувати для зведення повідомлення в " +"текстове (на відміну від двійкового) серіалізоване представлення, але " +"оскільки Юнікод не може представляти двійкові дані напряму, повідомлення " +"обов’язково перетворюється на щось, що містить лише символи ASCII, " +"використання стандартних методів кодування електронної пошти RFC Content " +"Transfer для кодування повідомлень електронної пошти для передачі через " +"канали, які не є \"8-бітними чистими\"." + +msgid "" +"To accommodate reproducible processing of SMIME-signed messages :class:" +"`Generator` disables header folding for message parts of type ``multipart/" +"signed`` and all subparts." +msgstr "" +"Для забезпечення відтворюваної обробки повідомлень, підписаних SMIME, :class:" +"`Generator` вимикає згортання заголовків для частин повідомлення типу " +"``multipart/signed`` та всіх підчастин." + +msgid "" +"Return a :class:`BytesGenerator` object that will write any message provided " +"to the :meth:`flatten` method, or any surrogateescape encoded text provided " +"to the :meth:`write` method, to the :term:`file-like object` *outfp*. " +"*outfp* must support a ``write`` method that accepts binary data." +msgstr "" +"Повертає об’єкт :class:`BytesGenerator`, який записуватиме будь-яке " +"повідомлення, надане методу :meth:`flatten`, або будь-який текст у кодуванні " +"surrogateescape, наданий методу :meth:`write`, у :term:`file-like object` " +"*outfp*. *outfp* повинен підтримувати метод ``write``, який приймає двійкові " +"дані." + +msgid "" +"If optional *mangle_from_* is ``True``, put a ``>`` character in front of " +"any line in the body that starts with the exact string ``\"From \"``, that " +"is ``From`` followed by a space at the beginning of a line. *mangle_from_* " +"defaults to the value of the :attr:`~email.policy.Policy.mangle_from_` " +"setting of the *policy* (which is ``True`` for the :data:`~email.policy." +"compat32` policy and ``False`` for all others). *mangle_from_* is intended " +"for use when messages are stored in Unix mbox format (see :mod:`mailbox` and " +"`WHY THE CONTENT-LENGTH FORMAT IS BAD `_)." +msgstr "" + +msgid "" +"If *maxheaderlen* is not ``None``, refold any header lines that are longer " +"than *maxheaderlen*, or if ``0``, do not rewrap any headers. If " +"*manheaderlen* is ``None`` (the default), wrap headers and other message " +"lines according to the *policy* settings." +msgstr "" +"Якщо *maxheaderlen* не є ``None``, перепакуйте будь-які рядки заголовків, " +"які довші за *maxheaderlen*, або якщо ``0``, не перегортайте жодних " +"заголовків. Якщо *manheaderlen* має значення ``None`` (за замовчуванням), " +"оберніть заголовки та інші рядки повідомлень відповідно до налаштувань " +"*policy*." + +msgid "" +"If *policy* is specified, use that policy to control message generation. If " +"*policy* is ``None`` (the default), use the policy associated with the :" +"class:`~email.message.Message` or :class:`~email.message.EmailMessage` " +"object passed to ``flatten`` to control the message generation. See :mod:" +"`email.policy` for details on what *policy* controls." +msgstr "" +"Якщо вказано *політику*, використовуйте цю політику для керування створенням " +"повідомлень. Якщо *policy* має значення ``None`` (за замовчуванням), " +"використовуйте політику, пов’язану з об’єктом :class:`~email.message." +"Message` або :class:`~email.message.EmailMessage`, переданим у ``flatten`` " +"для керування генерацією повідомлень. Перегляньте :mod:`email.policy`, щоб " +"дізнатися більше про те, що контролює *policy*." + +msgid "Added the *policy* keyword." +msgstr "Додано ключове слово *політика*." + +msgid "" +"The default behavior of the *mangle_from_* and *maxheaderlen* parameters is " +"to follow the policy." +msgstr "" +"Поведінка за замовчуванням параметрів *mangle_from_* і *maxheaderlen* " +"полягає в дотриманні політики." + +msgid "" +"Print the textual representation of the message object structure rooted at " +"*msg* to the output file specified when the :class:`BytesGenerator` instance " +"was created." +msgstr "" +"Надрукуйте текстове представлення структури об’єкта повідомлення з коренем " +"*msg* у вихідний файл, указаний під час створення екземпляра :class:" +"`BytesGenerator`." + +msgid "" +"If the :mod:`~email.policy` option :attr:`~email.policy.Policy.cte_type` is " +"``8bit`` (the default), copy any headers in the original parsed message that " +"have not been modified to the output with any bytes with the high bit set " +"reproduced as in the original, and preserve the non-ASCII :mailheader:" +"`Content-Transfer-Encoding` of any body parts that have them. If " +"``cte_type`` is ``7bit``, convert the bytes with the high bit set as needed " +"using an ASCII-compatible :mailheader:`Content-Transfer-Encoding`. That is, " +"transform parts with non-ASCII :mailheader:`Content-Transfer-Encoding` (:" +"mailheader:`Content-Transfer-Encoding: 8bit`) to an ASCII compatible :" +"mailheader:`Content-Transfer-Encoding`, and encode RFC-invalid non-ASCII " +"bytes in headers using the MIME ``unknown-8bit`` character set, thus " +"rendering them RFC-compliant." +msgstr "" +"Якщо параметр :mod:`~email.policy` :attr:`~email.policy.Policy.cte_type` має " +"значення ``8bit`` (за замовчуванням), скопіюйте будь-які заголовки в " +"оригінальному проаналізованому повідомленні, які не були змінені на вихідні " +"дані з будь-якими байтами зі встановленим старшим бітом, відтвореним як в " +"оригіналі, і зберігають не-ASCII :mailheader:`Content-Transfer-Encoding` " +"будь-яких частин тіла, які їх мають. Якщо ``cte_type`` дорівнює ``7bit``, " +"конвертуйте байти з установленим старшим бітом за потреби за допомогою ASCII-" +"сумісного :mailheader:`Content-Transfer-Encoding`. Тобто перетворіть частини " +"з не-ASCII :mailheader:`Content-Transfer-Encoding` (:mailheader:`Content-" +"Transfer-Encoding: 8bit`) на ASCII-сумісне :mailheader:`Content-Transfer-" +"Encoding` і закодуйте RFC-недійсні байти не-ASCII у заголовках із " +"використанням набору символів MIME ``unknown-8bit``, що робить їх сумісними " +"з RFC." + +msgid "" +"If *unixfrom* is ``True``, print the envelope header delimiter used by the " +"Unix mailbox format (see :mod:`mailbox`) before the first of the :rfc:`5322` " +"headers of the root message object. If the root object has no envelope " +"header, craft a standard one. The default is ``False``. Note that for " +"subparts, no envelope header is ever printed." +msgstr "" +"Якщо *unixfrom* має значення ``True``, надрукуйте роздільник заголовка " +"конверта, який використовується форматом поштової скриньки Unix (див. :mod:" +"`mailbox`) перед першим із заголовків :rfc:`5322` кореневого об’єкта " +"повідомлення. Якщо кореневий об’єкт не має заголовка конверта, створіть " +"стандартний. Типовим значенням є ``False``. Зауважте, що для підчастин " +"заголовок конверта ніколи не друкується." + +msgid "" +"If *linesep* is not ``None``, use it as the separator character between all " +"the lines of the flattened message. If *linesep* is ``None`` (the default), " +"use the value specified in the *policy*." +msgstr "" +"Якщо *linesep* не є ``None``, використовуйте його як символ роздільника між " +"усіма рядками зведеного повідомлення. Якщо *linesep* має значення ``None`` " +"(за замовчуванням), використовуйте значення, указане в *policy*." + +msgid "" +"Return an independent clone of this :class:`BytesGenerator` instance with " +"the exact same option settings, and *fp* as the new *outfp*." +msgstr "" +"Повернути незалежний клон цього екземпляра :class:`BytesGenerator` з такими " +"самими налаштуваннями параметрів і *fp* як новий *outfp*." + +msgid "" +"Encode *s* using the ``ASCII`` codec and the ``surrogateescape`` error " +"handler, and pass it to the *write* method of the *outfp* passed to the :" +"class:`BytesGenerator`'s constructor." +msgstr "" +"Закодуйте *s* за допомогою кодека ``ASCII`` і обробника помилок " +"``surrogateescape`` і передайте його в метод *write* *outfp*, переданого " +"конструктору :class:`BytesGenerator`." + +msgid "" +"As a convenience, :class:`~email.message.EmailMessage` provides the methods :" +"meth:`~email.message.EmailMessage.as_bytes` and ``bytes(aMessage)`` (a.k.a. :" +"meth:`~email.message.EmailMessage.__bytes__`), which simplify the generation " +"of a serialized binary representation of a message object. For more detail, " +"see :mod:`email.message`." +msgstr "" +"Для зручності :class:`~email.message.EmailMessage` надає методи :meth:" +"`~email.message.EmailMessage.as_bytes` і ``bytes(aMessage)`` (він же :meth:" +"`~email.message .EmailMessage.__bytes__`), які спрощують створення " +"серіалізованого двійкового представлення об’єкта повідомлення. Щоб отримати " +"докладнішу інформацію, перегляньте :mod:`email.message`." + +msgid "" +"Because strings cannot represent binary data, the :class:`Generator` class " +"must convert any binary data in any message it flattens to an ASCII " +"compatible format, by converting them to an ASCII compatible :mailheader:" +"`Content-Transfer_Encoding`. Using the terminology of the email RFCs, you " +"can think of this as :class:`Generator` serializing to an I/O stream that is " +"not \"8 bit clean\". In other words, most applications will want to be " +"using :class:`BytesGenerator`, and not :class:`Generator`." +msgstr "" +"Оскільки рядки не можуть представляти двійкові дані, клас :class:`Generator` " +"повинен перетворювати будь-які двійкові дані в будь-якому повідомленні, яке " +"він об’єднує, у ASCII-сумісний формат, перетворюючи їх у ASCII-сумісний :" +"mailheader:`Content-Transfer_Encoding`. Використовуючи термінологію RFC " +"електронної пошти, ви можете думати про це як про :class:`Generator`, що " +"серіалізується на потік вводу/виводу, який не є \"8-бітним чистим\". Іншими " +"словами, більшість програм захочуть використовувати :class:`BytesGenerator`, " +"а не :class:`Generator`." + +msgid "" +"Return a :class:`Generator` object that will write any message provided to " +"the :meth:`flatten` method, or any text provided to the :meth:`write` " +"method, to the :term:`file-like object` *outfp*. *outfp* must support a " +"``write`` method that accepts string data." +msgstr "" +"Повертає об’єкт :class:`Generator`, який записуватиме будь-яке повідомлення, " +"надане методу :meth:`flatten`, або будь-який текст, наданий методу :meth:" +"`write`, у :term:`file-like object` *outfp*. *outfp* повинен підтримувати " +"метод ``write``, який приймає рядкові дані." + +msgid "" +"Print the textual representation of the message object structure rooted at " +"*msg* to the output file specified when the :class:`Generator` instance was " +"created." +msgstr "" +"Надрукуйте текстове представлення структури об’єкта повідомлення з коренем " +"*msg* у вихідний файл, указаний під час створення екземпляра :class:" +"`Generator`." + +msgid "" +"If the :mod:`~email.policy` option :attr:`~email.policy.Policy.cte_type` is " +"``8bit``, generate the message as if the option were set to ``7bit``. (This " +"is required because strings cannot represent non-ASCII bytes.) Convert any " +"bytes with the high bit set as needed using an ASCII-compatible :mailheader:" +"`Content-Transfer-Encoding`. That is, transform parts with non-ASCII :" +"mailheader:`Content-Transfer-Encoding` (:mailheader:`Content-Transfer-" +"Encoding: 8bit`) to an ASCII compatible :mailheader:`Content-Transfer-" +"Encoding`, and encode RFC-invalid non-ASCII bytes in headers using the MIME " +"``unknown-8bit`` character set, thus rendering them RFC-compliant." +msgstr "" +"Якщо параметр :mod:`~email.policy` :attr:`~email.policy.Policy.cte_type` має " +"значення ``8bit``, згенеруйте повідомлення так, ніби для параметра " +"встановлено значення ``7bit``. (Це потрібно, оскільки рядки не можуть " +"представляти байти, відмінні від ASCII.) Перетворюйте будь-які байти зі " +"старшим бітом, якщо потрібно, за допомогою ASCII-сумісного :mailheader:" +"`Content-Transfer-Encoding`. Тобто перетворіть частини з не-ASCII :" +"mailheader:`Content-Transfer-Encoding` (:mailheader:`Content-Transfer-" +"Encoding: 8bit`) на ASCII-сумісне :mailheader:`Content-Transfer-Encoding` і " +"закодуйте RFC-недійсні байти не-ASCII у заголовках із використанням набору " +"символів MIME ``unknown-8bit``, що робить їх сумісними з RFC." + +msgid "" +"Added support for re-encoding ``8bit`` message bodies, and the *linesep* " +"argument." +msgstr "" +"Додано підтримку перекодування тіл повідомлень ``8bit`` і аргументу " +"*linesep*." + +msgid "" +"Return an independent clone of this :class:`Generator` instance with the " +"exact same options, and *fp* as the new *outfp*." +msgstr "" +"Повернути незалежний клон цього екземпляра :class:`Generator` з такими " +"самими параметрами та *fp*, що й новий *outfp*." + +msgid "" +"Write *s* to the *write* method of the *outfp* passed to the :class:" +"`Generator`'s constructor. This provides just enough file-like API for :" +"class:`Generator` instances to be used in the :func:`print` function." +msgstr "" +"Запишіть *s* у метод *write* *outfp*, переданого конструктору :class:" +"`Generator`. Це забезпечує достатньо файлоподібного API для екземплярів :" +"class:`Generator` для використання у функції :func:`print`." + +msgid "" +"As a convenience, :class:`~email.message.EmailMessage` provides the methods :" +"meth:`~email.message.EmailMessage.as_string` and ``str(aMessage)`` (a.k.a. :" +"meth:`~email.message.EmailMessage.__str__`), which simplify the generation " +"of a formatted string representation of a message object. For more detail, " +"see :mod:`email.message`." +msgstr "" +"Для зручності :class:`~email.message.EmailMessage` надає методи :meth:" +"`~email.message.EmailMessage.as_string` і ``str(aMessage)`` (він же :meth:" +"`~email.message .EmailMessage.__str__`), які спрощують створення " +"відформатованого рядкового представлення об’єкта повідомлення. Щоб отримати " +"докладнішу інформацію, перегляньте :mod:`email.message`." + +msgid "" +"The :mod:`email.generator` module also provides a derived class, :class:" +"`DecodedGenerator`, which is like the :class:`Generator` base class, except " +"that non-\\ :mimetype:`text` parts are not serialized, but are instead " +"represented in the output stream by a string derived from a template filled " +"in with information about the part." +msgstr "" +"Модуль :mod:`email.generator` також надає похідний клас, :class:" +"`DecodedGenerator`, який схожий на базовий клас :class:`Generator`, за " +"винятком того, що не\\ :mimetype:`text` частини не є серіалізовані, але " +"натомість представлені у вихідному потоці рядком, отриманим із шаблону, " +"заповненого інформацією про частину." + +msgid "" +"Act like :class:`Generator`, except that for any subpart of the message " +"passed to :meth:`Generator.flatten`, if the subpart is of main type :" +"mimetype:`text`, print the decoded payload of the subpart, and if the main " +"type is not :mimetype:`text`, instead of printing it fill in the string " +"*fmt* using information from the part and print the resulting filled-in " +"string." +msgstr "" +"Дійте як :class:`Generator`, за винятком того, що для будь-якої підчастини " +"повідомлення, переданої до :meth:`Generator.flatten`, якщо підчастина має " +"основний тип :mimetype:`text`, друкується декодована корисна інформація " +"підчастини, і якщо основний тип не є :mimetype:`text`, замість друку " +"заповніть рядок *fmt*, використовуючи інформацію з частини, і надрукуйте " +"отриманий заповнений рядок." + +msgid "" +"To fill in *fmt*, execute ``fmt % part_info``, where ``part_info`` is a " +"dictionary composed of the following keys and values:" +msgstr "" +"Щоб заповнити *fmt*, виконайте ``fmt % part_info``, де ``part_info`` є " +"словником, що складається з таких ключів і значень:" + +msgid "``type`` -- Full MIME type of the non-\\ :mimetype:`text` part" +msgstr "``type`` -- повний тип MIME не\\ :mimetype:`text` частини" + +msgid "``maintype`` -- Main MIME type of the non-\\ :mimetype:`text` part" +msgstr "``maintype`` -- основний тип MIME не\\ :mimetype:`text` частини" + +msgid "``subtype`` -- Sub-MIME type of the non-\\ :mimetype:`text` part" +msgstr "``subtype`` -- Sub-MIME-тип не\\ :mimetype:`text` частини" + +msgid "``filename`` -- Filename of the non-\\ :mimetype:`text` part" +msgstr "``filename`` -- ім'я файлу не\\ :mimetype:`text` частини" + +msgid "" +"``description`` -- Description associated with the non-\\ :mimetype:`text` " +"part" +msgstr "``description`` -- Опис, пов’язаний з не\\ :mimetype:`text` частиною" + +msgid "" +"``encoding`` -- Content transfer encoding of the non-\\ :mimetype:`text` part" +msgstr "" +"``encoding`` -- кодування передачі вмісту не\\ :mimetype:`text` частини" + +msgid "If *fmt* is ``None``, use the following default *fmt*:" +msgstr "" +"Якщо *fmt* має значення ``None``, використовуйте такий *fmt* за " +"замовчуванням:" + +msgid "" +"\"[Non-text (%(type)s) part of message omitted, filename %(filename)s]\"" +msgstr "" +"\"[Нетекстова (%(type)s) частина повідомлення пропущена, ім'я файлу " +"%(filename)s]\"" + +msgid "" +"Optional *_mangle_from_* and *maxheaderlen* are as with the :class:" +"`Generator` base class." +msgstr "" +"Необов’язкові *_mangle_from_* і *maxheaderlen* такі ж, як у базового класу :" +"class:`Generator`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"This statement assumes that you use the appropriate setting for " +"``unixfrom``, and that there are no :mod:`policy` settings calling for " +"automatic adjustments (for example, :attr:`~email.policy.Policy." +"refold_source` must be ``none``, which is *not* the default). It is also " +"not 100% true, since if the message does not conform to the RFC standards " +"occasionally information about the exact original text is lost during " +"parsing error recovery. It is a goal to fix these latter edge cases when " +"possible." +msgstr "" +"Цей оператор припускає, що ви використовуєте відповідні параметри для " +"``unixfrom`` і що немає налаштувань :mod:`policy`, які викликають " +"автоматичне налаштування (наприклад, :attr:`~email.policy.Policy." +"refold_source` має бути ``none``, що *не* типово). Це також не на 100% " +"вірно, оскільки, якщо повідомлення не відповідає стандартам RFC, час від " +"часу інформація про точний вихідний текст втрачається під час відновлення " +"помилки аналізу. Метою є виправлення цих останніх крайніх випадків, коли це " +"можливо." diff --git a/library/email_header.po b/library/email_header.po new file mode 100644 index 000000000..e4a5f4012 --- /dev/null +++ b/library/email_header.po @@ -0,0 +1,374 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.header`: Internationalized headers" +msgstr ":mod:`email.header`: інтернаціоналізовані заголовки" + +msgid "**Source code:** :source:`Lib/email/header.py`" +msgstr "**Вихідний код:** :source:`Lib/email/header.py`" + +msgid "" +"This module is part of the legacy (``Compat32``) email API. In the current " +"API encoding and decoding of headers is handled transparently by the " +"dictionary-like API of the :class:`~email.message.EmailMessage` class. In " +"addition to uses in legacy code, this module can be useful in applications " +"that need to completely control the character sets used when encoding " +"headers." +msgstr "" +"Цей модуль є частиною застарілого (``Compat32``) API електронної пошти. У " +"поточному API кодування та декодування заголовків обробляється прозоро за " +"допомогою словникового API класу :class:`~email.message.EmailMessage`. На " +"додаток до використання у застарілому коді, цей модуль може бути корисним у " +"програмах, яким потрібно повністю контролювати набори символів, що " +"використовуються під час кодування заголовків." + +msgid "" +"The remaining text in this section is the original documentation of the " +"module." +msgstr "Решта тексту в цьому розділі є оригінальною документацією модуля." + +msgid "" +":rfc:`2822` is the base standard that describes the format of email " +"messages. It derives from the older :rfc:`822` standard which came into " +"widespread use at a time when most email was composed of ASCII characters " +"only. :rfc:`2822` is a specification written assuming email contains only 7-" +"bit ASCII characters." +msgstr "" +":rfc:`2822` — це базовий стандарт, який описує формат електронних " +"повідомлень. Він походить від старішого стандарту :rfc:`822`, який набув " +"широкого використання в той час, коли більшість електронних листів " +"складалися лише з символів ASCII. :rfc:`2822` — це специфікація, написана за " +"умови, що електронна пошта містить лише 7-бітні символи ASCII." + +msgid "" +"Of course, as email has been deployed worldwide, it has become " +"internationalized, such that language specific character sets can now be " +"used in email messages. The base standard still requires email messages to " +"be transferred using only 7-bit ASCII characters, so a slew of RFCs have " +"been written describing how to encode email containing non-ASCII characters " +"into :rfc:`2822`\\ -compliant format. These RFCs include :rfc:`2045`, :rfc:" +"`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports " +"these standards in its :mod:`email.header` and :mod:`email.charset` modules." +msgstr "" +"Звичайно, оскільки електронна пошта була розгорнута в усьому світі, вона " +"стала інтернаціоналізованою, так що набори символів для певної мови тепер " +"можна використовувати в електронних повідомленнях. Базовий стандарт все ще " +"вимагає, щоб повідомлення електронної пошти передавалися лише з " +"використанням 7-бітових символів ASCII, тому було написано безліч RFC, які " +"описують, як кодувати електронну пошту, що містить символи, відмінні від " +"ASCII, у :rfc:`2822`\\ -сумісний формат. Ці RFC включають :rfc:`2045`, :rfc:" +"`2046`, :rfc:`2047` і :rfc:`2231`. Пакет :mod:`email` підтримує ці стандарти " +"у своїх модулях :mod:`email.header` і :mod:`email.charset`." + +msgid "" +"If you want to include non-ASCII characters in your email headers, say in " +"the :mailheader:`Subject` or :mailheader:`To` fields, you should use the :" +"class:`Header` class and assign the field in the :class:`~email.message." +"Message` object to an instance of :class:`Header` instead of using a string " +"for the header value. Import the :class:`Header` class from the :mod:`email." +"header` module. For example::" +msgstr "" +"Якщо ви хочете включити символи, відмінні від ASCII, у заголовки електронної " +"пошти, скажімо, у поля :mailheader:`Subject` або :mailheader:`To`, вам слід " +"використовувати клас :class:`Header` і призначити поле в :class:`~email." +"message.Message` до екземпляра :class:`Header` замість використання рядка " +"для значення заголовка. Імпортуйте клас :class:`Header` з модуля :mod:`email." +"header`. Наприклад::" + +msgid "" +"Notice here how we wanted the :mailheader:`Subject` field to contain a non-" +"ASCII character? We did this by creating a :class:`Header` instance and " +"passing in the character set that the byte string was encoded in. When the " +"subsequent :class:`~email.message.Message` instance was flattened, the :" +"mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-aware " +"mail readers would show this header using the embedded ISO-8859-1 character." +msgstr "" +"Зверніть увагу, як ми хотіли, щоб поле :mailheader:`Subject` містило символ " +"не ASCII? Ми зробили це, створивши екземпляр :class:`Header` і передавши " +"набір символів, у якому було закодовано рядок байтів. Коли наступний " +"екземпляр :class:`~email.message.Message` було зведено, :mailheader:" +"`Subject` було правильно закодовано :rfc:`2047`. Програми читання пошти з " +"підтримкою MIME відображатимуть цей заголовок за допомогою вбудованого " +"символу ISO-8859-1." + +msgid "Here is the :class:`Header` class description:" +msgstr "Ось опис класу :class:`Header`:" + +msgid "" +"Create a MIME-compliant header that can contain strings in different " +"character sets." +msgstr "" +"Створіть MIME-сумісний заголовок, який може містити рядки з різними наборами " +"символів." + +msgid "" +"Optional *s* is the initial header value. If ``None`` (the default), the " +"initial header value is not set. You can later append to the header with :" +"meth:`append` method calls. *s* may be an instance of :class:`bytes` or :" +"class:`str`, but see the :meth:`append` documentation for semantics." +msgstr "" +"Необов’язковий параметр *s* — початкове значення заголовка. Якщо ``None`` " +"(за замовчуванням), початкове значення заголовка не встановлено. Ви можете " +"пізніше додати до заголовка за допомогою викликів методу :meth:`append`. *s* " +"може бути екземпляром :class:`bytes` або :class:`str`, але див. " +"документацію :meth:`append` щодо семантики." + +msgid "" +"Optional *charset* serves two purposes: it has the same meaning as the " +"*charset* argument to the :meth:`append` method. It also sets the default " +"character set for all subsequent :meth:`append` calls that omit the " +"*charset* argument. If *charset* is not provided in the constructor (the " +"default), the ``us-ascii`` character set is used both as *s*'s initial " +"charset and as the default for subsequent :meth:`append` calls." +msgstr "" +"Додатковий *charset* служить двом цілям: він має те саме значення, що й " +"аргумент *charset* для методу :meth:`append`. Він також встановлює " +"стандартний набір символів для всіх наступних викликів :meth:`append`, які " +"пропускають аргумент *charset*. Якщо *charset* не надано в конструкторі (за " +"замовчуванням), набір символів ``us-ascii`` використовується і як початковий " +"набір символів *s*, і як типовий для наступних викликів :meth:`append`." + +msgid "" +"The maximum line length can be specified explicitly via *maxlinelen*. For " +"splitting the first line to a shorter value (to account for the field header " +"which isn't included in *s*, e.g. :mailheader:`Subject`) pass in the name of " +"the field in *header_name*. The default *maxlinelen* is 76, and the default " +"value for *header_name* is ``None``, meaning it is not taken into account " +"for the first line of a long, split header." +msgstr "" +"Максимальну довжину рядка можна вказати явно за допомогою *maxlinelen*. Щоб " +"розділити перший рядок на коротше значення (щоб врахувати заголовок поля, " +"який не входить до *s*, наприклад, :mailheader:`Subject`), передайте назву " +"поля в *header_name*. Типовим значенням *maxlinelen* є 76, а типовим " +"значенням для *header_name* є ``None``, тобто воно не враховується для " +"першого рядка довгого розділеного заголовка." + +msgid "" +"Optional *continuation_ws* must be :rfc:`2822`\\ -compliant folding " +"whitespace, and is usually either a space or a hard tab character. This " +"character will be prepended to continuation lines. *continuation_ws* " +"defaults to a single space character." +msgstr "" +"Необов’язковий *continuation_ws* має бути :rfc:`2822`\\ -сумісним згортаним " +"пробілом і зазвичай є пробілом або символом жорсткої табуляції. Цей символ " +"буде додано до рядків продовження. *continuation_ws* за замовчуванням " +"використовує один пробіл." + +msgid "" +"Optional *errors* is passed straight through to the :meth:`append` method." +msgstr "" +"Необов’язкові *помилки* передаються безпосередньо до методу :meth:`append`." + +msgid "Append the string *s* to the MIME header." +msgstr "Додайте рядок *s* до заголовка MIME." + +msgid "" +"Optional *charset*, if given, should be a :class:`~email.charset.Charset` " +"instance (see :mod:`email.charset`) or the name of a character set, which " +"will be converted to a :class:`~email.charset.Charset` instance. A value of " +"``None`` (the default) means that the *charset* given in the constructor is " +"used." +msgstr "" +"Додатковий *charset*, якщо він наданий, має бути екземпляром :class:`~email." +"charset.Charset` (див. :mod:`email.charset`) або назвою набору символів, " +"який буде перетворено на :class:`~email.charset.Charset` екземпляр. Значення " +"``None`` (за замовчуванням) означає, що використовується *набір символів*, " +"наданий у конструкторі." + +msgid "" +"*s* may be an instance of :class:`bytes` or :class:`str`. If it is an " +"instance of :class:`bytes`, then *charset* is the encoding of that byte " +"string, and a :exc:`UnicodeError` will be raised if the string cannot be " +"decoded with that character set." +msgstr "" +"*s* може бути екземпляром :class:`bytes` або :class:`str`. Якщо це " +"екземпляр :class:`bytes`, тоді *charset* є кодуванням цього рядка байтів, і :" +"exc:`UnicodeError` буде викликано, якщо рядок не можна декодувати за " +"допомогою цього набору символів." + +msgid "" +"If *s* is an instance of :class:`str`, then *charset* is a hint specifying " +"the character set of the characters in the string." +msgstr "" +"Якщо *s* є екземпляром :class:`str`, тоді *charset* є підказкою, що визначає " +"набір символів у рядку." + +msgid "" +"In either case, when producing an :rfc:`2822`\\ -compliant header using :rfc:" +"`2047` rules, the string will be encoded using the output codec of the " +"charset. If the string cannot be encoded using the output codec, a " +"UnicodeError will be raised." +msgstr "" +"У будь-якому випадку, під час створення :rfc:`2822`\\ -сумісного заголовка з " +"використанням правил :rfc:`2047` рядок кодуватиметься за допомогою вихідного " +"кодека набору символів. Якщо рядок неможливо закодувати за допомогою " +"вихідного кодека, виникне UnicodeError." + +msgid "" +"Optional *errors* is passed as the errors argument to the decode call if *s* " +"is a byte string." +msgstr "" +"Необов’язковий *errors* передається як аргумент errors виклику декодування, " +"якщо *s* є рядком байтів." + +msgid "" +"Encode a message header into an RFC-compliant format, possibly wrapping long " +"lines and encapsulating non-ASCII parts in base64 or quoted-printable " +"encodings." +msgstr "" +"Закодуйте заголовок повідомлення у RFC-сумісний формат, можливо, обгортаючи " +"довгі рядки та інкапсулюючи частини, що не належать до ASCII, у кодування " +"base64 або кодування в лапках." + +msgid "" +"Optional *splitchars* is a string containing characters which should be " +"given extra weight by the splitting algorithm during normal header " +"wrapping. This is in very rough support of :RFC:`2822`\\'s 'higher level " +"syntactic breaks': split points preceded by a splitchar are preferred " +"during line splitting, with the characters preferred in the order in which " +"they appear in the string. Space and tab may be included in the string to " +"indicate whether preference should be given to one over the other as a split " +"point when other split chars do not appear in the line being split. " +"Splitchars does not affect :RFC:`2047` encoded lines." +msgstr "" +"Необов’язковий *splitchars* — це рядок, що містить символи, яким слід надати " +"додаткову вагу за допомогою алгоритму розбиття під час звичайного обгортання " +"заголовка. Це є дуже грубою підтримкою \"синтаксичних розривів вищого рівня" +"\" :RFC:`2822`: крапки розділення, яким передує символ розділення, є кращими " +"під час поділу рядка, а символи мають перевагу в тому порядку, в якому вони " +"з’являються в рядку. Пробіл і табуляція можуть бути включені в рядок, щоб " +"вказати, чи слід надавати перевагу одному над іншим як точці розділення, " +"коли інші символи розділення не з’являються в рядку, що розділяється. " +"Splitchars не впливає на рядки, закодовані :RFC:`2047`." + +msgid "" +"*maxlinelen*, if given, overrides the instance's value for the maximum line " +"length." +msgstr "" +"*maxlinelen*, якщо задано, замінює значення екземпляра для максимальної " +"довжини рядка." + +msgid "" +"*linesep* specifies the characters used to separate the lines of the folded " +"header. It defaults to the most useful value for Python application code (``" +"\\n``), but ``\\r\\n`` can be specified in order to produce headers with RFC-" +"compliant line separators." +msgstr "" +"*linesep* визначає символи, які використовуються для розділення рядків " +"згорнутого заголовка. За замовчуванням це найбільш корисне значення для коду " +"програми Python (``\\n``), але ``\\r\\n`` можна вказати, щоб створити " +"заголовки з RFC-сумісними роздільниками рядків." + +msgid "Added the *linesep* argument." +msgstr "Додано аргумент *linesep*." + +msgid "" +"The :class:`Header` class also provides a number of methods to support " +"standard operators and built-in functions." +msgstr "" +"Клас :class:`Header` також надає ряд методів для підтримки стандартних " +"операторів і вбудованих функцій." + +msgid "" +"Returns an approximation of the :class:`Header` as a string, using an " +"unlimited line length. All pieces are converted to unicode using the " +"specified encoding and joined together appropriately. Any pieces with a " +"charset of ``'unknown-8bit'`` are decoded as ASCII using the ``'replace'`` " +"error handler." +msgstr "" +"Повертає наближення :class:`Header` у вигляді рядка, використовуючи " +"необмежену довжину рядка. Усі фрагменти перетворюються на юнікод із " +"використанням зазначеного кодування та об’єднуються належним чином. Будь-які " +"фрагменти з кодуванням ``'unknown-8bit'`` декодуються як ASCII за допомогою " +"обробника помилок ``'replace'``." + +msgid "Added handling for the ``'unknown-8bit'`` charset." +msgstr "Додано обробку набору символів ``'unknown-8bit''``." + +msgid "" +"This method allows you to compare two :class:`Header` instances for equality." +msgstr "" +"Цей метод дозволяє порівнювати два екземпляри :class:`Header` на предмет " +"рівності." + +msgid "" +"This method allows you to compare two :class:`Header` instances for " +"inequality." +msgstr "" +"Цей метод дозволяє порівнювати два екземпляри :class:`Header` на предмет " +"нерівності." + +msgid "" +"The :mod:`email.header` module also provides the following convenient " +"functions." +msgstr "Модуль :mod:`email.header` також надає такі зручні функції." + +msgid "" +"Decode a message header value without converting the character set. The " +"header value is in *header*." +msgstr "" +"Декодуйте значення заголовка повідомлення без перетворення набору символів. " +"Значення заголовка знаходиться в *заголовку*." + +msgid "" +"This function returns a list of ``(decoded_string, charset)`` pairs " +"containing each of the decoded parts of the header. *charset* is ``None`` " +"for non-encoded parts of the header, otherwise a lower case string " +"containing the name of the character set specified in the encoded string." +msgstr "" +"Ця функція повертає список пар ``(decoded_string, charset)``, що містить " +"кожну з декодованих частин заголовка. *charset* має значення ``None`` для " +"незакодованих частин заголовка, інакше рядок у нижньому регістрі, що містить " +"назву набору символів, указаного в закодованому рядку." + +msgid "Here's an example::" +msgstr "Ось приклад::" + +msgid "" +"Create a :class:`Header` instance from a sequence of pairs as returned by :" +"func:`decode_header`." +msgstr "" +"Створіть екземпляр :class:`Header` із послідовності пар, які повертає :func:" +"`decode_header`." + +msgid "" +":func:`decode_header` takes a header value string and returns a sequence of " +"pairs of the format ``(decoded_string, charset)`` where *charset* is the " +"name of the character set." +msgstr "" +":func:`decode_header` приймає рядок значення заголовка та повертає " +"послідовність пар у форматі ``(decoded_string, charset)``, де *charset* — " +"назва набору символів." + +msgid "" +"This function takes one of those sequence of pairs and returns a :class:" +"`Header` instance. Optional *maxlinelen*, *header_name*, and " +"*continuation_ws* are as in the :class:`Header` constructor." +msgstr "" +"Ця функція бере одну з цих пар і повертає екземпляр :class:`Header`. " +"Необов’язкові *maxlinelen*, *header_name* і *continuation_ws* такі, як у " +"конструкторі :class:`Header`." diff --git a/library/email_headerregistry.po b/library/email_headerregistry.po new file mode 100644 index 000000000..33062042f --- /dev/null +++ b/library/email_headerregistry.po @@ -0,0 +1,739 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.headerregistry`: Custom Header Objects" +msgstr ":mod:`email.headerregistry`: спеціальні об’єкти заголовків" + +msgid "**Source code:** :source:`Lib/email/headerregistry.py`" +msgstr "**Вихідний код:** :source:`Lib/email/headerregistry.py`" + +msgid "[1]_" +msgstr "[1]_" + +msgid "" +"Headers are represented by customized subclasses of :class:`str`. The " +"particular class used to represent a given header is determined by the :attr:" +"`~email.policy.EmailPolicy.header_factory` of the :mod:`~email.policy` in " +"effect when the headers are created. This section documents the particular " +"``header_factory`` implemented by the email package for handling :RFC:`5322` " +"compliant email messages, which not only provides customized header objects " +"for various header types, but also provides an extension mechanism for " +"applications to add their own custom header types." +msgstr "" +"Заголовки представлені налаштованими підкласами :class:`str`. Конкретний " +"клас, який використовується для представлення даного заголовка, " +"визначається :attr:`~email.policy.EmailPolicy.header_factory` :mod:`~email." +"policy`, що діє під час створення заголовків. У цьому розділі описано " +"конкретну ``header_factory``, реалізовану пакетом електронної пошти для " +"обробки :RFC:`5322` сумісних повідомлень електронної пошти, яка не тільки " +"надає налаштовані об’єкти заголовків для різних типів заголовків, але також " +"забезпечує механізм розширення для додатків для додавання своїх власні типи " +"заголовків." + +msgid "" +"When using any of the policy objects derived from :data:`~email.policy." +"EmailPolicy`, all headers are produced by :class:`.HeaderRegistry` and have :" +"class:`.BaseHeader` as their last base class. Each header class has an " +"additional base class that is determined by the type of the header. For " +"example, many headers have the class :class:`.UnstructuredHeader` as their " +"other base class. The specialized second class for a header is determined " +"by the name of the header, using a lookup table stored in the :class:`." +"HeaderRegistry`. All of this is managed transparently for the typical " +"application program, but interfaces are provided for modifying the default " +"behavior for use by more complex applications." +msgstr "" +"При використанні будь-якого з об’єктів політики, отриманих від :data:`~email." +"policy.EmailPolicy`, усі заголовки створюються :class:`.HeaderRegistry` і " +"мають :class:`.BaseHeader` як останній базовий клас. Кожен клас заголовка " +"має додатковий базовий клас, який визначається типом заголовка. Наприклад, " +"багато заголовків мають клас :class:`.UnstructuredHeader` як інший базовий " +"клас. Спеціалізований другий клас для заголовка визначається назвою " +"заголовка за допомогою таблиці пошуку, що зберігається в :class:`." +"HeaderRegistry`. Усім цим керується прозоро для типової прикладної програми, " +"але надаються інтерфейси для зміни типової поведінки для використання більш " +"складними програмами." + +msgid "" +"The sections below first document the header base classes and their " +"attributes, followed by the API for modifying the behavior of :class:`." +"HeaderRegistry`, and finally the support classes used to represent the data " +"parsed from structured headers." +msgstr "" +"У розділах нижче спочатку описані базові класи заголовків та їх атрибути, " +"потім API для зміни поведінки :class:`.HeaderRegistry` і, нарешті, класи " +"підтримки, які використовуються для представлення даних, проаналізованих із " +"структурованих заголовків." + +msgid "" +"*name* and *value* are passed to ``BaseHeader`` from the :attr:`~email." +"policy.EmailPolicy.header_factory` call. The string value of any header " +"object is the *value* fully decoded to unicode." +msgstr "" +"*name* і *value* передаються в ``BaseHeader`` з виклику :attr:`~email.policy." +"EmailPolicy.header_factory`. Рядкове значення будь-якого об’єкта заголовка є " +"*значенням*, повністю декодованим у Юнікод." + +msgid "This base class defines the following read-only properties:" +msgstr "Цей базовий клас визначає наступні властивості лише для читання:" + +msgid "" +"The name of the header (the portion of the field before the ':'). This is " +"exactly the value passed in the :attr:`~email.policy.EmailPolicy." +"header_factory` call for *name*; that is, case is preserved." +msgstr "" +"Назва заголовка (частина поля перед \":\"). Це саме значення, передане у " +"виклику :attr:`~email.policy.EmailPolicy.header_factory` для *name*; тобто " +"регістр зберігається." + +msgid "" +"A tuple of :exc:`~email.errors.HeaderDefect` instances reporting any RFC " +"compliance problems found during parsing. The email package tries to be " +"complete about detecting compliance issues. See the :mod:`~email.errors` " +"module for a discussion of the types of defects that may be reported." +msgstr "" +"Кортеж екземплярів :exc:`~email.errors.HeaderDefect`, які повідомляють про " +"будь-які проблеми відповідності RFC, виявлені під час аналізу. Пакет " +"електронної пошти намагається бути повним щодо виявлення проблем " +"відповідності. Перегляньте модуль :mod:`~email.errors` для обговорення типів " +"дефектів, про які можна повідомити." + +msgid "" +"The maximum number of headers of this type that can have the same ``name``. " +"A value of ``None`` means unlimited. The ``BaseHeader`` value for this " +"attribute is ``None``; it is expected that specialized header classes will " +"override this value as needed." +msgstr "" +"Максимальна кількість заголовків цього типу, які можуть мати однакову назву. " +"Значення ``None`` означає необмежений. Значення ``BaseHeader`` для цього " +"атрибута є ``None``; очікується, що спеціалізовані класи заголовків замінять " +"це значення за потреби." + +msgid "" +"``BaseHeader`` also provides the following method, which is called by the " +"email library code and should not in general be called by application " +"programs:" +msgstr "" +"``BaseHeader`` також надає наступний метод, який викликається кодом " +"бібліотеки електронної пошти і, як правило, не повинен викликатися " +"прикладними програмами:" + +msgid "" +"Return a string containing :attr:`~email.policy.Policy.linesep` characters " +"as required to correctly fold the header according to *policy*. A :attr:" +"`~email.policy.Policy.cte_type` of ``8bit`` will be treated as if it were " +"``7bit``, since headers may not contain arbitrary binary data. If :attr:" +"`~email.policy.EmailPolicy.utf8` is ``False``, non-ASCII data will be :rfc:" +"`2047` encoded." +msgstr "" +"Повертає рядок, що містить символи :attr:`~email.policy.Policy.linesep`, " +"необхідні для правильного згортання заголовка відповідно до *policy*. :attr:" +"`~email.policy.Policy.cte_type` ``8bit`` буде розглядатися як ``7bit``, " +"оскільки заголовки не можуть містити довільних двійкових даних. Якщо :attr:" +"`~email.policy.EmailPolicy.utf8` має значення ``False``, дані, відмінні від " +"ASCII, будуть закодовані :rfc:`2047`." + +msgid "" +"``BaseHeader`` by itself cannot be used to create a header object. It " +"defines a protocol that each specialized header cooperates with in order to " +"produce the header object. Specifically, ``BaseHeader`` requires that the " +"specialized class provide a :func:`classmethod` named ``parse``. This " +"method is called as follows::" +msgstr "" +"``BaseHeader`` сам по собі не може використовуватися для створення об’єкта " +"заголовка. Він визначає протокол, з яким співпрацює кожен спеціалізований " +"заголовок, щоб створити об’єкт заголовка. Зокрема, ``BaseHeader`` вимагає, " +"щоб спеціалізований клас надавав :func:`classmethod` під назвою ``parse``. " +"Цей метод називається наступним чином:" + +msgid "" +"``kwds`` is a dictionary containing one pre-initialized key, ``defects``. " +"``defects`` is an empty list. The parse method should append any detected " +"defects to this list. On return, the ``kwds`` dictionary *must* contain " +"values for at least the keys ``decoded`` and ``defects``. ``decoded`` " +"should be the string value for the header (that is, the header value fully " +"decoded to unicode). The parse method should assume that *string* may " +"contain content-transfer-encoded parts, but should correctly handle all " +"valid unicode characters as well so that it can parse un-encoded header " +"values." +msgstr "" +"``kwds`` — це словник, що містить один попередньо ініціалізований ключ, " +"``defects``. ``дефекти`` – порожній список. Метод аналізу має додати всі " +"виявлені дефекти до цього списку. Після повернення словник ``kwds`` *має* " +"містити значення принаймні для ключів ``decoded`` і ``defects``. ``decoded`` " +"має бути значенням рядка для заголовка (тобто, значення заголовка, повністю " +"декодоване в Юнікод). Метод синтаксичного аналізу має припускати, що *рядок* " +"може містити частини, закодовані перенесенням вмісту, але також має " +"правильно обробляти всі дійсні символи Unicode, щоб він міг аналізувати " +"незакодовані значення заголовка." + +msgid "" +"``BaseHeader``'s ``__new__`` then creates the header instance, and calls its " +"``init`` method. The specialized class only needs to provide an ``init`` " +"method if it wishes to set additional attributes beyond those provided by " +"``BaseHeader`` itself. Such an ``init`` method should look like this::" +msgstr "" +"Потім ``__new__`` ``BaseHeader`` створює екземпляр заголовка та викликає " +"його метод ``init``. Спеціалізованому класу потрібно лише надати метод " +"``init``, якщо він бажає встановити додаткові атрибути крім тих, що " +"надаються самим ``BaseHeader``. Такий метод ``init`` має виглядати так:" + +msgid "" +"That is, anything extra that the specialized class puts in to the ``kwds`` " +"dictionary should be removed and handled, and the remaining contents of " +"``kw`` (and ``args``) passed to the ``BaseHeader`` ``init`` method." +msgstr "" +"Тобто все зайве, що спеціалізований клас поміщає до словника ``kwds``, має " +"бути видалено та оброблено, а решта вмісту ``kw`` (та ``args``) передано до " +"``BaseHeader`` Метод ``init``." + +msgid "" +"An \"unstructured\" header is the default type of header in :rfc:`5322`. Any " +"header that does not have a specified syntax is treated as unstructured. " +"The classic example of an unstructured header is the :mailheader:`Subject` " +"header." +msgstr "" +"\"Неструктурований\" заголовок є типовим типом заголовка в :rfc:`5322`. Будь-" +"який заголовок, який не має визначеного синтаксису, вважається " +"неструктурованим. Класичним прикладом неструктурованого заголовка є " +"заголовок :mailheader:`Subject`." + +msgid "" +"In :rfc:`5322`, an unstructured header is a run of arbitrary text in the " +"ASCII character set. :rfc:`2047`, however, has an :rfc:`5322` compatible " +"mechanism for encoding non-ASCII text as ASCII characters within a header " +"value. When a *value* containing encoded words is passed to the " +"constructor, the ``UnstructuredHeader`` parser converts such encoded words " +"into unicode, following the :rfc:`2047` rules for unstructured text. The " +"parser uses heuristics to attempt to decode certain non-compliant encoded " +"words. Defects are registered in such cases, as well as defects for issues " +"such as invalid characters within the encoded words or the non-encoded text." +msgstr "" +"У :rfc:`5322` неструктурований заголовок — це довільний текст у наборі " +"символів ASCII. :rfc:`2047`, однак, має :rfc:`5322` сумісний механізм для " +"кодування не-ASCII тексту як символів ASCII у значенні заголовка. Коли " +"*значення*, що містить закодовані слова, передається конструктору, " +"аналізатор ``UnstructuredHeader`` перетворює такі закодовані слова в юнікод, " +"дотримуючись правил :rfc:`2047` для неструктурованого тексту. Синтаксичний " +"аналізатор використовує евристику, щоб спробувати декодувати певні " +"невідповідні закодовані слова. У таких випадках реєструються дефекти, а " +"також такі дефекти, як недійсні символи в закодованих словах або " +"незакодований текст." + +msgid "This header type provides no additional attributes." +msgstr "Цей тип заголовка не містить додаткових атрибутів." + +msgid "" +":rfc:`5322` specifies a very specific format for dates within email headers. " +"The ``DateHeader`` parser recognizes that date format, as well as " +"recognizing a number of variant forms that are sometimes found \"in the wild" +"\"." +msgstr "" +":rfc:`5322` визначає дуже специфічний формат для дат у заголовках " +"електронних листів. Синтаксичний аналізатор ``DateHeader`` розпізнає цей " +"формат дати, а також розпізнає низку варіантних форм, які іноді " +"зустрічаються \"в дикій природі\"." + +msgid "This header type provides the following additional attributes:" +msgstr "Цей тип заголовка надає такі додаткові атрибути:" + +msgid "" +"If the header value can be recognized as a valid date of one form or " +"another, this attribute will contain a :class:`~datetime.datetime` instance " +"representing that date. If the timezone of the input date is specified as " +"``-0000`` (indicating it is in UTC but contains no information about the " +"source timezone), then :attr:`.datetime` will be a naive :class:`~datetime." +"datetime`. If a specific timezone offset is found (including ``+0000``), " +"then :attr:`.datetime` will contain an aware ``datetime`` that uses :class:" +"`datetime.timezone` to record the timezone offset." +msgstr "" + +msgid "" +"The ``decoded`` value of the header is determined by formatting the " +"``datetime`` according to the :rfc:`5322` rules; that is, it is set to::" +msgstr "" +"Значення ``decoded`` заголовка визначається форматуванням ``datetime`` " +"відповідно до правил :rfc:`5322`; тобто встановлено::" + +msgid "" +"When creating a ``DateHeader``, *value* may be :class:`~datetime.datetime` " +"instance. This means, for example, that the following code is valid and " +"does what one would expect::" +msgstr "" +"Під час створення ``DateHeader`` *значення* може бути екземпляром :class:" +"`~datetime.datetime`. Це означає, наприклад, що наступний код дійсний і " +"виконує те, що можна очікувати:" + +msgid "" +"Because this is a naive ``datetime`` it will be interpreted as a UTC " +"timestamp, and the resulting value will have a timezone of ``-0000``. Much " +"more useful is to use the :func:`~email.utils.localtime` function from the :" +"mod:`~email.utils` module::" +msgstr "" +"Оскільки це проста ``datetime``, вона буде інтерпретована як мітка часу UTC, " +"а результуюче значення матиме часовий пояс ``-0000``. Набагато кориснішим є " +"використання функції :func:`~email.utils.localtime` з модуля :mod:`~email." +"utils`::" + +msgid "" +"This example sets the date header to the current time and date using the " +"current timezone offset." +msgstr "" +"У цьому прикладі в заголовку дати встановлюється поточний час і дата з " +"використанням поточного зміщення часового поясу." + +msgid "" +"Address headers are one of the most complex structured header types. The " +"``AddressHeader`` class provides a generic interface to any address header." +msgstr "" +"Заголовки адрес є одним із найскладніших структурованих типів заголовків. " +"Клас ``AddressHeader`` забезпечує загальний інтерфейс для будь-якого " +"заголовка адреси." + +msgid "" +"A tuple of :class:`.Group` objects encoding the addresses and groups found " +"in the header value. Addresses that are not part of a group are represented " +"in this list as single-address ``Groups`` whose :attr:`~.Group.display_name` " +"is ``None``." +msgstr "" +"Кортеж об’єктів :class:`.Group`, що кодує адреси та групи, знайдені у " +"значенні заголовка. Адреси, які не є частиною групи, представлені в цьому " +"списку як одноадресні ``Групи``, у яких :attr:`~.Group.display_name` має " +"значення ``None``." + +msgid "" +"A tuple of :class:`.Address` objects encoding all of the individual " +"addresses from the header value. If the header value contains any groups, " +"the individual addresses from the group are included in the list at the " +"point where the group occurs in the value (that is, the list of addresses is " +"\"flattened\" into a one dimensional list)." +msgstr "" +"Кортеж об’єктів :class:`.Address`, що кодує всі окремі адреси зі значення " +"заголовка. Якщо значення заголовка містить будь-які групи, окремі адреси з " +"групи включаються до списку в тому місці, де група зустрічається у значенні " +"(тобто список адрес \"зрівнюється\" в одновимірний список)." + +msgid "" +"The ``decoded`` value of the header will have all encoded words decoded to " +"unicode. :class:`~encodings.idna` encoded domain names are also decoded to " +"unicode. The ``decoded`` value is set by :ref:`joining ` " +"the :class:`str` value of the elements of the ``groups`` attribute with ``', " +"'``." +msgstr "" + +msgid "" +"A list of :class:`.Address` and :class:`.Group` objects in any combination " +"may be used to set the value of an address header. ``Group`` objects whose " +"``display_name`` is ``None`` will be interpreted as single addresses, which " +"allows an address list to be copied with groups intact by using the list " +"obtained from the ``groups`` attribute of the source header." +msgstr "" +"Для встановлення значення заголовка адреси можна використовувати список " +"об’єктів :class:`.Address` і :class:`.Group` у будь-якій комбінації. Об’єкти " +"``Групи``, у яких ``display_name`` є ``None``, інтерпретуватимуться як " +"окремі адреси, що дозволяє скопіювати список адрес із недоторканими групами " +"за допомогою списку, отриманого з атрибута ``groups`` вихідний заголовок." + +msgid "" +"A subclass of :class:`.AddressHeader` that adds one additional attribute:" +msgstr "Підклас :class:`.AddressHeader`, який додає один додатковий атрибут:" + +msgid "" +"The single address encoded by the header value. If the header value " +"actually contains more than one address (which would be a violation of the " +"RFC under the default :mod:`~email.policy`), accessing this attribute will " +"result in a :exc:`ValueError`." +msgstr "" +"Єдина адреса, закодована значенням заголовка. Якщо значення заголовка " +"насправді містить більше однієї адреси (що було б порушенням RFC за " +"умовчанням :mod:`~email.policy`), доступ до цього атрибута призведе до :exc:" +"`ValueError`." + +msgid "" +"Many of the above classes also have a ``Unique`` variant (for example, " +"``UniqueUnstructuredHeader``). The only difference is that in the " +"``Unique`` variant, :attr:`~.BaseHeader.max_count` is set to 1." +msgstr "" +"Багато з наведених вище класів також мають варіант ``Unique`` (наприклад, " +"``UniqueUnstructuredHeader``). Єдина відмінність полягає в тому, що у " +"варіанті ``Unique`` :attr:`~.BaseHeader.max_count` має значення 1." + +msgid "" +"There is really only one valid value for the :mailheader:`MIME-Version` " +"header, and that is ``1.0``. For future proofing, this header class " +"supports other valid version numbers. If a version number has a valid value " +"per :rfc:`2045`, then the header object will have non-``None`` values for " +"the following attributes:" +msgstr "" +"Насправді існує лише одне дійсне значення для заголовка :mailheader:`MIME-" +"Version`, і це ``1.0``. Для майбутньої перевірки цей клас заголовка " +"підтримує інші дійсні номери версій. Якщо номер версії має дійсне значення " +"для :rfc:`2045`, тоді об’єкт заголовка матиме значення, відмінні від " +"``None`` для таких атрибутів:" + +msgid "" +"The version number as a string, with any whitespace and/or comments removed." +msgstr "" +"Номер версії у вигляді рядка з видаленими пробілами та/або коментарями." + +msgid "The major version number as an integer" +msgstr "Основний номер версії як ціле число" + +msgid "The minor version number as an integer" +msgstr "Номер другорядної версії як ціле число" + +msgid "" +"MIME headers all start with the prefix 'Content-'. Each specific header has " +"a certain value, described under the class for that header. Some can also " +"take a list of supplemental parameters, which have a common format. This " +"class serves as a base for all the MIME headers that take parameters." +msgstr "" +"Усі заголовки MIME починаються з префікса \"Content-\". Кожен конкретний " +"заголовок має певне значення, описане в класі для цього заголовка. Деякі " +"також можуть приймати список додаткових параметрів, які мають загальний " +"формат. Цей клас служить основою для всіх заголовків MIME, які приймають " +"параметри." + +msgid "A dictionary mapping parameter names to parameter values." +msgstr "Словник, що зіставляє назви параметрів зі значеннями параметрів." + +msgid "" +"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:" +"`Content-Type` header." +msgstr "" +"Клас :class:`ParameterizedMIMEHeader`, який обробляє заголовок :mailheader:" +"`Content-Type`." + +msgid "The content type string, in the form ``maintype/subtype``." +msgstr "Рядок типу вмісту у формі ``maintype/subtype``." + +msgid "" +"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:" +"`Content-Disposition` header." +msgstr "" +"Клас :class:`ParameterizedMIMEHeader`, який обробляє заголовок :mailheader:" +"`Content-Disposition`." + +msgid "``inline`` and ``attachment`` are the only valid values in common use." +msgstr "" +"``inline`` і ``attachment`` є єдиними допустимими значеннями, які широко " +"використовуються." + +msgid "Handles the :mailheader:`Content-Transfer-Encoding` header." +msgstr "Обробляє заголовок :mailheader:`Content-Transfer-Encoding`." + +msgid "" +"Valid values are ``7bit``, ``8bit``, ``base64``, and ``quoted-printable``. " +"See :rfc:`2045` for more information." +msgstr "" +"Дійсні значення: ``7bit``, ``8bit``, ``base64`` і ``quoted-printable``. " +"Перегляньте :rfc:`2045` для отримання додаткової інформації." + +msgid "" +"This is the factory used by :class:`~email.policy.EmailPolicy` by default. " +"``HeaderRegistry`` builds the class used to create a header instance " +"dynamically, using *base_class* and a specialized class retrieved from a " +"registry that it holds. When a given header name does not appear in the " +"registry, the class specified by *default_class* is used as the specialized " +"class. When *use_default_map* is ``True`` (the default), the standard " +"mapping of header names to classes is copied in to the registry during " +"initialization. *base_class* is always the last class in the generated " +"class's ``__bases__`` list." +msgstr "" +"Це фабрика, яку використовує :class:`~email.policy.EmailPolicy` за " +"замовчуванням. ``HeaderRegistry`` створює клас, який використовується для " +"динамічного створення екземпляра заголовка, використовуючи *base_class* і " +"спеціалізований клас, отриманий із реєстру, який він містить. Якщо дане ім’я " +"заголовка не відображається в реєстрі, клас, визначений *default_class*, " +"використовується як спеціалізований клас. Якщо *use_default_map* має " +"значення ``True`` (за замовчуванням), стандартне зіставлення імен заголовків " +"із класами копіюється до реєстру під час ініціалізації. *base_class* завжди " +"є останнім класом у списку ``__bases__`` згенерованого класу." + +msgid "The default mappings are:" +msgstr "Відображення за замовчуванням:" + +msgid "subject" +msgstr "тема" + +msgid "UniqueUnstructuredHeader" +msgstr "UniqueUnstructuredHeader" + +msgid "date" +msgstr "дата" + +msgid "UniqueDateHeader" +msgstr "UniqueDateHeader" + +msgid "resent-date" +msgstr "дата повторного відправлення" + +msgid "DateHeader" +msgstr "DateHeader" + +msgid "orig-date" +msgstr "дата виходу" + +msgid "sender" +msgstr "відправник" + +msgid "UniqueSingleAddressHeader" +msgstr "UniqueSingleAddressHeader" + +msgid "resent-sender" +msgstr "resent-sender" + +msgid "SingleAddressHeader" +msgstr "SingleAddressHeader" + +msgid "to" +msgstr "до" + +msgid "UniqueAddressHeader" +msgstr "UniqueAddressHeader" + +msgid "resent-to" +msgstr "обурюватися" + +msgid "AddressHeader" +msgstr "AddressHeader" + +msgid "cc" +msgstr "cc" + +msgid "resent-cc" +msgstr "resent-cc" + +msgid "bcc" +msgstr "прихована копія" + +msgid "resent-bcc" +msgstr "resent-bcc" + +msgid "from" +msgstr "від" + +msgid "resent-from" +msgstr "обурюватися-від" + +msgid "reply-to" +msgstr "відповідати на" + +msgid "mime-version" +msgstr "мім-версія" + +msgid "MIMEVersionHeader" +msgstr "MIMEVersionHeader" + +msgid "content-type" +msgstr "тип вмісту" + +msgid "ContentTypeHeader" +msgstr "ContentTypeHeader" + +msgid "content-disposition" +msgstr "зміст-диспозиція" + +msgid "ContentDispositionHeader" +msgstr "ContentDispositionHeader" + +msgid "content-transfer-encoding" +msgstr "кодування передачі вмісту" + +msgid "ContentTransferEncodingHeader" +msgstr "ContentTransferEncodingHeader" + +msgid "message-id" +msgstr "ідентифікатор повідомлення" + +msgid "MessageIDHeader" +msgstr "MessageIDHeader" + +msgid "``HeaderRegistry`` has the following methods:" +msgstr "``HeaderRegistry`` має такі методи:" + +msgid "" +"*name* is the name of the header to be mapped. It will be converted to " +"lower case in the registry. *cls* is the specialized class to be used, " +"along with *base_class*, to create the class used to instantiate headers " +"that match *name*." +msgstr "" +"*ім’я* — це ім’я заголовка, який буде зіставлено. У реєстрі його буде " +"перетворено на нижній регістр. *cls* — це спеціалізований клас, який " +"використовується разом із *base_class* для створення класу, що " +"використовується для створення екземплярів заголовків, які відповідають " +"*name*." + +msgid "Construct and return a class to handle creating a *name* header." +msgstr "Створіть і поверніть клас для створення заголовка *name*." + +msgid "" +"Retrieves the specialized header associated with *name* from the registry " +"(using *default_class* if *name* does not appear in the registry) and " +"composes it with *base_class* to produce a class, calls the constructed " +"class's constructor, passing it the same argument list, and finally returns " +"the class instance created thereby." +msgstr "" +"Отримує спеціальний заголовок, пов’язаний з *name*, із реєстру " +"(використовуючи *default_class*, якщо *name* не відображається в реєстрі) і " +"створює його з *base_class* для створення класу, викликає конструктор " +"створеного класу, передаючи йому те саме список аргументів і, нарешті, " +"повертає екземпляр класу, створений таким чином." + +msgid "" +"The following classes are the classes used to represent data parsed from " +"structured headers and can, in general, be used by an application program to " +"construct structured values to assign to specific headers." +msgstr "" +"Наступні класи є класами, які використовуються для представлення даних, " +"розібраних із структурованих заголовків, і можуть, загалом, " +"використовуватися прикладною програмою для створення структурованих значень " +"для призначення певним заголовкам." + +msgid "" +"The class used to represent an email address. The general form of an " +"address is::" +msgstr "" +"Клас, який використовується для представлення електронної адреси. Загальна " +"форма адреси:" + +msgid "or::" +msgstr "або::" + +msgid "" +"where each part must conform to specific syntax rules spelled out in :rfc:" +"`5322`." +msgstr "" +"де кожна частина має відповідати певним правилам синтаксису, викладеним у :" +"rfc:`5322`." + +msgid "" +"As a convenience *addr_spec* can be specified instead of *username* and " +"*domain*, in which case *username* and *domain* will be parsed from the " +"*addr_spec*. An *addr_spec* must be a properly RFC quoted string; if it is " +"not ``Address`` will raise an error. Unicode characters are allowed and " +"will be property encoded when serialized. However, per the RFCs, unicode is " +"*not* allowed in the username portion of the address." +msgstr "" +"Для зручності можна вказати *addr_spec* замість *username* і *domain*, у " +"цьому випадку *username* і *domain* будуть аналізуватися з *addr_spec*. " +"*addr_spec* має бути належним чином цитованим рядком RFC; якщо це не " +"``Address``, викличе помилку. Дозволяються символи Юнікоду, які будуть " +"закодовані властивостями під час серіалізації. Однак, згідно з RFC, Юнікод " +"*не* дозволений у частині імені користувача адреси." + +msgid "" +"The display name portion of the address, if any, with all quoting removed. " +"If the address does not have a display name, this attribute will be an empty " +"string." +msgstr "" +"Частина відображуваної назви адреси, якщо така є, без лапок. Якщо адреса не " +"має відображуваного імені, цей атрибут буде порожнім рядком." + +msgid "The ``username`` portion of the address, with all quoting removed." +msgstr "Частина ``ім’я користувача`` адреси з видаленням лапок." + +msgid "The ``domain`` portion of the address." +msgstr "Частина ``domain`` адреси." + +msgid "" +"The ``username@domain`` portion of the address, correctly quoted for use as " +"a bare address (the second form shown above). This attribute is not mutable." +msgstr "" +"Частина адреси ``username@domain``, правильно взята в лапки для використання " +"як чистої адреси (друга форма, показана вище). Цей атрибут не змінний." + +msgid "" +"The ``str`` value of the object is the address quoted according to :rfc:" +"`5322` rules, but with no Content Transfer Encoding of any non-ASCII " +"characters." +msgstr "" +"Значення ``str`` об'єкта є адресою в цитатах відповідно до правил :rfc:" +"`5322`, але без кодування передачі вмісту будь-яких символів, відмінних від " +"ASCII." + +msgid "" +"To support SMTP (:rfc:`5321`), ``Address`` handles one special case: if " +"``username`` and ``domain`` are both the empty string (or ``None``), then " +"the string value of the ``Address`` is ``<>``." +msgstr "" +"Щоб підтримувати SMTP (:rfc:`5321`), ``Address`` обробляє один особливий " +"випадок: якщо ``username`` і ``domain`` є порожнім рядком (або ``None``), " +"тоді рядкове значення ``Address`` - ``<>``." + +msgid "" +"The class used to represent an address group. The general form of an " +"address group is::" +msgstr "" +"Клас, який використовується для представлення групи адрес. Загальна форма " +"групи адрес:" + +msgid "" +"As a convenience for processing lists of addresses that consist of a mixture " +"of groups and single addresses, a ``Group`` may also be used to represent " +"single addresses that are not part of a group by setting *display_name* to " +"``None`` and providing a list of the single address as *addresses*." +msgstr "" +"Для зручності обробки списків адрес, які складаються з суміші груп і окремих " +"адрес, ``Група`` також може використовуватися для представлення окремих " +"адрес, які не є частиною групи, встановивши *display_name* на ``None`` і " +"надання списку однієї адреси як *адрес*." + +msgid "" +"The ``display_name`` of the group. If it is ``None`` and there is exactly " +"one ``Address`` in ``addresses``, then the ``Group`` represents a single " +"address that is not in a group." +msgstr "" +"``display_name`` групи. Якщо значення ``None`` і в ``адресах`` є точно одна " +"``Адреса``, тоді ``Група`` представляє одну адресу, яка не входить до групи." + +msgid "" +"A possibly empty tuple of :class:`.Address` objects representing the " +"addresses in the group." +msgstr "" +"Можливо, порожній кортеж об’єктів :class:`.Address`, що представляє адреси в " +"групі." + +msgid "" +"The ``str`` value of a ``Group`` is formatted according to :rfc:`5322`, but " +"with no Content Transfer Encoding of any non-ASCII characters. If " +"``display_name`` is none and there is a single ``Address`` in the " +"``addresses`` list, the ``str`` value will be the same as the ``str`` of " +"that single ``Address``." +msgstr "" +"Значення ``str`` ``Group`` відформатовано відповідно до :rfc:`5322`, але без " +"кодування передачі вмісту будь-яких символів, відмінних від ASCII. Якщо " +"``display_name`` не має значення, а в списку ``addresses`` є одна " +"``Address``, значення ``str`` буде таким самим, як ``str`` цього одного " +"``Address``." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Originally added in 3.3 as a :term:`provisional module `" +msgstr "" +"Спочатку додано в 3.3 як :term:`проміжний модуль `" diff --git a/library/email_iterators.po b/library/email_iterators.po new file mode 100644 index 000000000..75e426404 --- /dev/null +++ b/library/email_iterators.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.iterators`: Iterators" +msgstr ":mod:`email.iterators`: Ітератори" + +msgid "**Source code:** :source:`Lib/email/iterators.py`" +msgstr "**Вихідний код:** :source:`Lib/email/iterators.py`" + +msgid "" +"Iterating over a message object tree is fairly easy with the :meth:`Message." +"walk ` method. The :mod:`email.iterators` " +"module provides some useful higher level iterations over message object " +"trees." +msgstr "" +"Ітерація дерева об’єктів повідомлення досить проста за допомогою методу :" +"meth:`Message.walk `. Модуль :mod:`email." +"iterators` забезпечує деякі корисні ітерації вищого рівня над деревами " +"об’єктів повідомлень." + +msgid "" +"This iterates over all the payloads in all the subparts of *msg*, returning " +"the string payloads line-by-line. It skips over all the subpart headers, " +"and it skips over any subpart with a payload that isn't a Python string. " +"This is somewhat equivalent to reading the flat text representation of the " +"message from a file using :meth:`~io.TextIOBase.readline`, skipping over all " +"the intervening headers." +msgstr "" +"Це повторює всі корисні навантаження в усіх підчастинах *msg*, повертаючи " +"рядкові корисні навантаження рядок за рядком. Він пропускає всі заголовки " +"підчастини, а також пропускає будь-яку підчастину з корисним навантаженням, " +"яке не є рядком Python. Це дещо еквівалентно читанню простого текстового " +"представлення повідомлення з файлу за допомогою :meth:`~io.TextIOBase." +"readline`, пропускаючи всі проміжні заголовки." + +msgid "" +"Optional *decode* is passed through to :meth:`Message.get_payload `." +msgstr "" +"Додаткове *decode* передається до :meth:`Message.get_payload `." + +msgid "" +"This iterates over all the subparts of *msg*, returning only those subparts " +"that match the MIME type specified by *maintype* and *subtype*." +msgstr "" +"Це повторює всі підчастини *msg*, повертаючи лише ті підчастини, які " +"відповідають типу MIME, визначеному *maintype* і *subtype*." + +msgid "" +"Note that *subtype* is optional; if omitted, then subpart MIME type matching " +"is done only with the main type. *maintype* is optional too; it defaults " +"to :mimetype:`text`." +msgstr "" +"Зауважте, що *підтип* необов’язковий; якщо опущено, то зіставлення типу MIME " +"підрозділу виконується лише з основним типом. *maintype* також " +"необов'язковий; за замовчуванням :mimetype:`text`." + +msgid "" +"Thus, by default :func:`typed_subpart_iterator` returns each subpart that " +"has a MIME type of :mimetype:`text/\\*`." +msgstr "" +"Таким чином, за замовчуванням :func:`typed_subpart_iterator` повертає кожну " +"підчастину, яка має тип MIME :mimetype:`text/\\*`." + +msgid "" +"The following function has been added as a useful debugging tool. It should " +"*not* be considered part of the supported public interface for the package." +msgstr "" +"Наведену нижче функцію було додано як корисний інструмент налагодження. Його " +"*не* слід вважати частиною підтримуваного загальнодоступного інтерфейсу " +"пакета." + +msgid "" +"Prints an indented representation of the content types of the message object " +"structure. For example:" +msgstr "" +"Друкує представлення типів вмісту структури об’єкта повідомлення з " +"відступом. Наприклад:" + +msgid "" +"Optional *fp* is a file-like object to print the output to. It must be " +"suitable for Python's :func:`print` function. *level* is used internally. " +"*include_default*, if true, prints the default type as well." +msgstr "" +"Необов’язковий *fp* — це файлоподібний об’єкт, у який потрібно надрукувати " +"вихідні дані. Він має відповідати функції :func:`print` Python. *level* " +"використовується внутрішньо. *include_default*, якщо true, також друкує тип " +"за замовчуванням." diff --git a/library/email_message.po b/library/email_message.po new file mode 100644 index 000000000..f6794ab53 --- /dev/null +++ b/library/email_message.po @@ -0,0 +1,1119 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.message`: Representing an email message" +msgstr ":mod:`email.message`: представляє повідомлення електронної пошти" + +msgid "**Source code:** :source:`Lib/email/message.py`" +msgstr "**Вихідний код:** :source:`Lib/email/message.py`" + +msgid "[1]_" +msgstr "[1]_" + +msgid "" +"The central class in the :mod:`email` package is the :class:`EmailMessage` " +"class, imported from the :mod:`email.message` module. It is the base class " +"for the :mod:`email` object model. :class:`EmailMessage` provides the core " +"functionality for setting and querying header fields, for accessing message " +"bodies, and for creating or modifying structured messages." +msgstr "" +"Центральним класом у пакеті :mod:`email` є клас :class:`EmailMessage`, " +"імпортований із модуля :mod:`email.message`. Це базовий клас для об’єктної " +"моделі :mod:`email`. :class:`EmailMessage` забезпечує основну " +"функціональність для налаштування та запиту полів заголовків, для доступу до " +"тіла повідомлень, а також для створення або зміни структурованих повідомлень." + +msgid "" +"An email message consists of *headers* and a *payload* (which is also " +"referred to as the *content*). Headers are :rfc:`5322` or :rfc:`6532` style " +"field names and values, where the field name and value are separated by a " +"colon. The colon is not part of either the field name or the field value. " +"The payload may be a simple text message, or a binary object, or a " +"structured sequence of sub-messages each with their own set of headers and " +"their own payload. The latter type of payload is indicated by the message " +"having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:`message/" +"rfc822`." +msgstr "" +"Повідомлення електронної пошти складається з *заголовків* і *корисного " +"навантаження* (яке також називають *контентом*). Заголовки — це імена та " +"значення полів у стилі :rfc:`5322` або :rfc:`6532`, де назва поля та " +"значення розділені двокрапкою. Двокрапка не є частиною ані імені поля, ані " +"значення поля. Корисне навантаження може бути простим текстовим " +"повідомленням, або двійковим об’єктом, або структурованою послідовністю " +"підповідомлень, кожне з яких має власний набір заголовків і власне корисне " +"навантаження. Останній тип корисного навантаження вказується повідомленням, " +"що має тип MIME, наприклад :mimetype:`multipart/\\*` або :mimetype:`message/" +"rfc822`." + +msgid "" +"The conceptual model provided by an :class:`EmailMessage` object is that of " +"an ordered dictionary of headers coupled with a *payload* that represents " +"the :rfc:`5322` body of the message, which might be a list of sub-" +"``EmailMessage`` objects. In addition to the normal dictionary methods for " +"accessing the header names and values, there are methods for accessing " +"specialized information from the headers (for example the MIME content " +"type), for operating on the payload, for generating a serialized version of " +"the message, and for recursively walking over the object tree." +msgstr "" +"Концептуальна модель, надана об’єктом :class:`EmailMessage`, — це " +"впорядкований словник заголовків у поєднанні з *корисним навантаженням*, " +"який представляє тіло :rfc:`5322` повідомлення, яке може бути списком під-` " +"Об’єкти `EmailMessage``. На додаток до звичайних методів словника для " +"доступу до імен і значень заголовків, існують методи для доступу до " +"спеціальної інформації із заголовків (наприклад, типу вмісту MIME), для " +"роботи з корисним навантаженням, для генерації серіалізованої версії " +"повідомлення та для рекурсивного переходу по дереву об'єктів." + +msgid "" +"The :class:`EmailMessage` dictionary-like interface is indexed by the header " +"names, which must be ASCII values. The values of the dictionary are strings " +"with some extra methods. Headers are stored and returned in case-preserving " +"form, but field names are matched case-insensitively. Unlike a real dict, " +"there is an ordering to the keys, and there can be duplicate keys. " +"Additional methods are provided for working with headers that have duplicate " +"keys." +msgstr "" +"Інтерфейс :class:`EmailMessage`, схожий на словник, індексується іменами " +"заголовків, які мають бути значеннями ASCII. Значення словника є рядками з " +"деякими додатковими методами. Заголовки зберігаються та повертаються у формі " +"зі збереженням регістру, але імена полів зіставляються без урахування " +"регістру. На відміну від справжнього dict, ключі впорядковані, і ключі " +"можуть дублюватися. Для роботи із заголовками, які мають повторювані ключі, " +"надаються додаткові методи." + +msgid "" +"The *payload* is either a string or bytes object, in the case of simple " +"message objects, or a list of :class:`EmailMessage` objects, for MIME " +"container documents such as :mimetype:`multipart/\\*` and :mimetype:`message/" +"rfc822` message objects." +msgstr "" +"*Корисне навантаження* — це об’єкт рядка чи байтів у випадку простих " +"об’єктів повідомлення, або список об’єктів :class:`EmailMessage` для " +"документів-контейнерів MIME, таких як :mimetype:`multipart/\\*` і :mimetype:" +"`message/rfc822` об’єкти повідомлення." + +msgid "" +"If *policy* is specified use the rules it specifies to update and serialize " +"the representation of the message. If *policy* is not set, use the :class:" +"`~email.policy.default` policy, which follows the rules of the email RFCs " +"except for line endings (instead of the RFC mandated ``\\r\\n``, it uses the " +"Python standard ``\\n`` line endings). For more information see the :mod:" +"`~email.policy` documentation." +msgstr "" +"Якщо вказано *політику*, використовуйте правила, які вона визначає, щоб " +"оновити та серіалізувати представлення повідомлення. Якщо *policy* не " +"встановлено, використовуйте політику :class:`~email.policy.default`, яка " +"відповідає правилам RFC електронної пошти, за винятком закінчення рядків " +"(замість RFC, передбаченого ``\\r\\n``, він використовує стандартні " +"закінчення рядків Python ``\\n``). Для отримання додаткової інформації " +"дивіться документацію :mod:`~email.policy`." + +msgid "" +"Return the entire message flattened as a string. When optional *unixfrom* " +"is true, the envelope header is included in the returned string. *unixfrom* " +"defaults to ``False``. For backward compatibility with the base :class:" +"`~email.message.Message` class *maxheaderlen* is accepted, but defaults to " +"``None``, which means that by default the line length is controlled by the :" +"attr:`~email.policy.EmailPolicy.max_line_length` of the policy. The " +"*policy* argument may be used to override the default policy obtained from " +"the message instance. This can be used to control some of the formatting " +"produced by the method, since the specified *policy* will be passed to the :" +"class:`~email.generator.Generator`." +msgstr "" +"Повернути все повідомлення зведеним у вигляді рядка. Якщо необов’язковий " +"параметр *unixfrom* має значення true, заголовок конверта включається до " +"поверненого рядка. *unixfrom* за умовчанням має значення ``False``. Для " +"зворотної сумісності з базовим :class:`~email.message.Message` класом " +"*maxheaderlen* прийнято, але за умовчанням встановлено ``None``, що означає, " +"що за замовчуванням довжина рядка контролюється :attr:`~email.policy." +"EmailPolicy.max_line_length` політики. Аргумент *policy* можна " +"використовувати для заміни політики за замовчуванням, отриманої з екземпляра " +"повідомлення. Це можна використовувати для керування частиною форматування, " +"створеного методом, оскільки вказану *політику* буде передано до :class:" +"`~email.generator.Generator`." + +msgid "" +"Flattening the message may trigger changes to the :class:`EmailMessage` if " +"defaults need to be filled in to complete the transformation to a string " +"(for example, MIME boundaries may be generated or modified)." +msgstr "" +"Зведення повідомлення може викликати зміни в :class:`EmailMessage`, якщо для " +"завершення перетворення в рядок необхідно вказати значення за умовчанням " +"(наприклад, можуть бути згенеровані або змінені межі MIME)." + +msgid "" +"Note that this method is provided as a convenience and may not be the most " +"useful way to serialize messages in your application, especially if you are " +"dealing with multiple messages. See :class:`email.generator.Generator` for " +"a more flexible API for serializing messages. Note also that this method is " +"restricted to producing messages serialized as \"7 bit clean\" when :attr:" +"`~email.policy.EmailPolicy.utf8` is ``False``, which is the default." +msgstr "" +"Зауважте, що цей метод надається для зручності та може бути не найкориснішим " +"способом серіалізації повідомлень у вашій програмі, особливо якщо ви маєте " +"справу з кількома повідомленнями. Перегляньте :class:`email.generator." +"Generator` для більш гнучкого API для серіалізації повідомлень. Зауважте " +"також, що цей метод обмежений створенням повідомлень, серіалізованих як \"7 " +"bit clean\", якщо :attr:`~email.policy.EmailPolicy.utf8` має значення " +"``False``, що є типовим." + +msgid "" +"the default behavior when *maxheaderlen* is not specified was changed from " +"defaulting to 0 to defaulting to the value of *max_line_length* from the " +"policy." +msgstr "" +"поведінку за замовчуванням, коли *maxheaderlen* не вказано, було змінено з 0 " +"на значення *max_line_length* із політики." + +msgid "" +"Equivalent to ``as_string(policy=self.policy.clone(utf8=True))``. Allows " +"``str(msg)`` to produce a string containing the serialized message in a " +"readable format." +msgstr "" +"Еквівалент ``as_string(policy=self.policy.clone(utf8=True))``. Дозволяє " +"``str(msg)`` створювати рядок, що містить серіалізоване повідомлення в " +"читабельному форматі." + +msgid "" +"the method was changed to use ``utf8=True``, thus producing an :rfc:`6531`-" +"like message representation, instead of being a direct alias for :meth:" +"`as_string`." +msgstr "" +"метод було змінено на використання ``utf8=True``, таким чином створюючи " +"представлення повідомлення, схоже на :rfc:`6531`, замість прямого псевдоніма " +"для :meth:`as_string`." + +msgid "" +"Return the entire message flattened as a bytes object. When optional " +"*unixfrom* is true, the envelope header is included in the returned string. " +"*unixfrom* defaults to ``False``. The *policy* argument may be used to " +"override the default policy obtained from the message instance. This can be " +"used to control some of the formatting produced by the method, since the " +"specified *policy* will be passed to the :class:`~email.generator." +"BytesGenerator`." +msgstr "" +"Повертає все повідомлення зведене як об’єкт bytes. Якщо необов’язковий " +"параметр *unixfrom* має значення true, заголовок конверта включається до " +"поверненого рядка. *unixfrom* за умовчанням має значення ``False``. Аргумент " +"*policy* можна використовувати для заміни політики за замовчуванням, " +"отриманої з екземпляра повідомлення. Це можна використовувати для керування " +"частиною форматування, створеного методом, оскільки вказану *політику* буде " +"передано до :class:`~email.generator.BytesGenerator`." + +msgid "" +"Note that this method is provided as a convenience and may not be the most " +"useful way to serialize messages in your application, especially if you are " +"dealing with multiple messages. See :class:`email.generator.BytesGenerator` " +"for a more flexible API for serializing messages." +msgstr "" +"Зауважте, що цей метод надається для зручності та може бути не найкориснішим " +"способом серіалізації повідомлень у вашій програмі, особливо якщо ви маєте " +"справу з кількома повідомленнями. Перегляньте :class:`email.generator." +"BytesGenerator` для більш гнучкого API для серіалізації повідомлень." + +msgid "" +"Equivalent to :meth:`.as_bytes()`. Allows ``bytes(msg)`` to produce a bytes " +"object containing the serialized message." +msgstr "" +"Еквівалент :meth:`.as_bytes()`. Дозволяє ``bytes(msg)`` створити об'єкт " +"bytes, що містить серіалізоване повідомлення." + +msgid "" +"Return ``True`` if the message's payload is a list of sub-\\ :class:" +"`EmailMessage` objects, otherwise return ``False``. When :meth:" +"`is_multipart` returns ``False``, the payload should be a string object " +"(which might be a CTE encoded binary payload). Note that :meth:" +"`is_multipart` returning ``True`` does not necessarily mean that \"msg." +"get_content_maintype() == 'multipart'\" will return the ``True``. For " +"example, ``is_multipart`` will return ``True`` when the :class:" +"`EmailMessage` is of type ``message/rfc822``." +msgstr "" +"Повертає ``True``, якщо корисним навантаженням повідомлення є список sub-\\ :" +"class:`EmailMessage` об’єктів, інакше повертає ``False``. Коли :meth:" +"`is_multipart` повертає ``False``, корисним навантаженням має бути рядковий " +"об’єкт (який може бути двійковим навантаженням у кодуванні CTE). Зауважте, " +"що :meth:`is_multipart`, що повертає ``True``, не обов’язково означає, що " +"\"msg.get_content_maintype() == 'multipart'\" поверне ``True``. Наприклад, " +"``is_multipart`` поверне ``True``, якщо :class:`EmailMessage` має тип " +"``message/rfc822``." + +msgid "" +"Set the message's envelope header to *unixfrom*, which should be a string. " +"(See :class:`~mailbox.mboxMessage` for a brief description of this header.)" +msgstr "" +"Встановіть заголовок конверта повідомлення на *unixfrom*, який має бути " +"рядком. (Див. :class:`~mailbox.mboxMessage` для короткого опису цього " +"заголовка.)" + +msgid "" +"Return the message's envelope header. Defaults to ``None`` if the envelope " +"header was never set." +msgstr "" +"Повернути заголовок конверта повідомлення. За замовчуванням ``None``, якщо " +"заголовок конверта ніколи не встановлювався." + +msgid "" +"The following methods implement the mapping-like interface for accessing the " +"message's headers. Note that there are some semantic differences between " +"these methods and a normal mapping (i.e. dictionary) interface. For " +"example, in a dictionary there are no duplicate keys, but here there may be " +"duplicate message headers. Also, in dictionaries there is no guaranteed " +"order to the keys returned by :meth:`keys`, but in an :class:`EmailMessage` " +"object, headers are always returned in the order they appeared in the " +"original message, or in which they were added to the message later. Any " +"header deleted and then re-added is always appended to the end of the header " +"list." +msgstr "" +"Наступні методи реалізують схожий на відображення інтерфейс для доступу до " +"заголовків повідомлення. Зверніть увагу, що існують деякі семантичні " +"відмінності між цими методами та інтерфейсом звичайного відображення (тобто " +"словника). Наприклад, у словнику немає дублікатів ключів, але тут можуть " +"бути дублікати заголовків повідомлень. Крім того, у словниках немає " +"гарантованого порядку ключів, які повертає :meth:`keys`, але в об’єкті :" +"class:`EmailMessage` заголовки завжди повертаються в тому порядку, в якому " +"вони з’явилися в оригінальному повідомленні або в якому вони були додані до " +"повідомлення пізніше. Будь-який заголовок, видалений і потім знову доданий, " +"завжди додається в кінець списку заголовків." + +msgid "" +"These semantic differences are intentional and are biased toward convenience " +"in the most common use cases." +msgstr "" +"Ці семантичні відмінності є навмисними та спрямовані на зручність у " +"найпоширеніших випадках використання." + +msgid "" +"Note that in all cases, any envelope header present in the message is not " +"included in the mapping interface." +msgstr "" +"Зауважте, що в усіх випадках будь-який заголовок конверта, присутній у " +"повідомленні, не включається в інтерфейс зіставлення." + +msgid "Return the total number of headers, including duplicates." +msgstr "Повертає загальну кількість заголовків, включаючи дублікати." + +msgid "" +"Return ``True`` if the message object has a field named *name*. Matching is " +"done without regard to case and *name* does not include the trailing colon. " +"Used for the ``in`` operator. For example::" +msgstr "" +"Повертає ``True``, якщо об’єкт повідомлення має поле з назвою *name*. " +"Зіставлення виконується без урахування регістру, а *ім’я* не містить " +"двокрапки в кінці. Використовується для оператора ``in``. Наприклад::" + +msgid "" +"Return the value of the named header field. *name* does not include the " +"colon field separator. If the header is missing, ``None`` is returned; a :" +"exc:`KeyError` is never raised." +msgstr "" +"Повертає значення названого поля заголовка. *ім’я* не містить двокрапку-" +"роздільник полів. Якщо заголовок відсутній, повертається ``None``; a :exc:" +"`KeyError` ніколи не виникає." + +msgid "" +"Note that if the named field appears more than once in the message's " +"headers, exactly which of those field values will be returned is undefined. " +"Use the :meth:`get_all` method to get the values of all the extant headers " +"named *name*." +msgstr "" +"Зауважте, що якщо назване поле з’являється більше одного разу в заголовках " +"повідомлення, яке саме значення полів буде повернуто, не визначено. " +"Використовуйте метод :meth:`get_all`, щоб отримати значення всіх існуючих " +"заголовків з назвою *name*." + +msgid "" +"Using the standard (non-``compat32``) policies, the returned value is an " +"instance of a subclass of :class:`email.headerregistry.BaseHeader`." +msgstr "" +"Використовуючи стандартні політики (не ``compat32``), повернуте значення є " +"екземпляром підкласу :class:`email.headerregistry.BaseHeader`." + +msgid "" +"Add a header to the message with field name *name* and value *val*. The " +"field is appended to the end of the message's existing headers." +msgstr "" +"Додайте до повідомлення заголовок із назвою поля *name* і значенням *val*. " +"Поле додається в кінці існуючих заголовків повідомлення." + +msgid "" +"Note that this does *not* overwrite or delete any existing header with the " +"same name. If you want to ensure that the new header is the only one " +"present in the message with field name *name*, delete the field first, e.g.::" +msgstr "" +"Зауважте, що це *не* перезаписує та не видаляє будь-який існуючий заголовок " +"із такою ж назвою. Якщо ви хочете переконатися, що новий заголовок є єдиним " +"у повідомленні з назвою поля *name*, спочатку видаліть це поле, наприклад::" + +msgid "" +"If the :mod:`policy` defines certain headers to be unique (as the standard " +"policies do), this method may raise a :exc:`ValueError` when an attempt is " +"made to assign a value to such a header when one already exists. This " +"behavior is intentional for consistency's sake, but do not depend on it as " +"we may choose to make such assignments do an automatic deletion of the " +"existing header in the future." +msgstr "" +"Якщо :mod:`policy` визначає певні заголовки як унікальні (як стандартні " +"політики), цей метод може викликати :exc:`ValueError`, коли робиться спроба " +"призначити значення такому заголовку, коли він уже існує . Така поведінка є " +"навмисною для забезпечення узгодженості, але не залежить від неї, оскільки " +"ми можемо зробити такі призначення автоматичним видаленням існуючого " +"заголовка в майбутньому." + +msgid "" +"Delete all occurrences of the field with name *name* from the message's " +"headers. No exception is raised if the named field isn't present in the " +"headers." +msgstr "" +"Видалити всі входження поля з назвою *ім’я* із заголовків повідомлення. " +"Жодного винятку не створюється, якщо назване поле відсутнє в заголовках." + +msgid "Return a list of all the message's header field names." +msgstr "Повертає список імен усіх полів заголовка повідомлення." + +msgid "Return a list of all the message's field values." +msgstr "Повертає список усіх значень полів повідомлення." + +msgid "" +"Return a list of 2-tuples containing all the message's field headers and " +"values." +msgstr "" +"Повертає список із двох кортежів, що містить усі заголовки та значення полів " +"повідомлення." + +msgid "" +"Return the value of the named header field. This is identical to :meth:" +"`__getitem__` except that optional *failobj* is returned if the named header " +"is missing (*failobj* defaults to ``None``)." +msgstr "" +"Повертає значення названого поля заголовка. Це ідентично :meth:" +"`__getitem__`, за винятком того, що необов’язковий *failobj* повертається, " +"якщо іменований заголовок відсутній (*failobj* за замовчуванням має значення " +"``None``)." + +msgid "Here are some additional useful header related methods:" +msgstr "Ось кілька додаткових корисних методів, пов’язаних із заголовками:" + +msgid "" +"Return a list of all the values for the field named *name*. If there are no " +"such named headers in the message, *failobj* is returned (defaults to " +"``None``)." +msgstr "" +"Повертає список усіх значень для поля з назвою *name*. Якщо в повідомленні " +"немає таких іменованих заголовків, повертається *failobj* (за замовчуванням " +"``None``)." + +msgid "" +"Extended header setting. This method is similar to :meth:`__setitem__` " +"except that additional header parameters can be provided as keyword " +"arguments. *_name* is the header field to add and *_value* is the *primary* " +"value for the header." +msgstr "" +"Розширене налаштування заголовка. Цей метод подібний до :meth:`__setitem__` " +"за винятком того, що додаткові параметри заголовка можуть бути надані як " +"аргументи ключового слова. *_name* — це поле заголовка, яке потрібно додати, " +"а *_value* — це *основне* значення для заголовка." + +msgid "" +"For each item in the keyword argument dictionary *_params*, the key is taken " +"as the parameter name, with underscores converted to dashes (since dashes " +"are illegal in Python identifiers). Normally, the parameter will be added " +"as ``key=\"value\"`` unless the value is ``None``, in which case only the " +"key will be added." +msgstr "" +"Для кожного елемента в словнику аргументів ключових слів *_params* ключ " +"береться як ім’я параметра, а символи підкреслення перетворюються на тире " +"(оскільки тире заборонені в ідентифікаторах Python). Зазвичай параметр буде " +"додано як ``key=\"value\"``, якщо значення не буде ``None``, у цьому випадку " +"буде додано лише ключ." + +msgid "" +"If the value contains non-ASCII characters, the charset and language may be " +"explicitly controlled by specifying the value as a three tuple in the format " +"``(CHARSET, LANGUAGE, VALUE)``, where ``CHARSET`` is a string naming the " +"charset to be used to encode the value, ``LANGUAGE`` can usually be set to " +"``None`` or the empty string (see :rfc:`2231` for other possibilities), and " +"``VALUE`` is the string value containing non-ASCII code points. If a three " +"tuple is not passed and the value contains non-ASCII characters, it is " +"automatically encoded in :rfc:`2231` format using a ``CHARSET`` of ``utf-8`` " +"and a ``LANGUAGE`` of ``None``." +msgstr "" +"Якщо значення містить символи, відмінні від ASCII, кодуванням і мовою можна " +"явно керувати, вказавши значення у вигляді трьох кортежів у форматі ``(НАБОР " +"СИГНАЛІВ, МОВА, ЗНАЧЕННЯ)``, де ``НАБІР СИГНАЛІВ`` — це назва рядка набір " +"символів, який буде використано для кодування значення, ``LANGUAGE`` " +"зазвичай може бути встановлено на ``None`` або порожній рядок (перегляньте :" +"rfc:`2231` для інших можливостей), а ``VALUE`` є значення рядка, що містить " +"кодові точки, відмінні від ASCII. Якщо три кортежу не передано і значення " +"містить символи, відмінні від ASCII, воно автоматично кодується у форматі :" +"rfc:`2231` з використанням ``CHARSET`` ``utf-8`` і ``LANGUAGE`` з " +"``Жодного``." + +msgid "Here is an example::" +msgstr "Ось приклад::" + +msgid "This will add a header that looks like ::" +msgstr "Це додасть заголовок, який виглядає так::" + +msgid "An example of the extended interface with non-ASCII characters::" +msgstr "Приклад розширеного інтерфейсу з не-ASCII символами::" + +msgid "" +"Replace a header. Replace the first header found in the message that " +"matches *_name*, retaining header order and field name case of the original " +"header. If no matching header is found, raise a :exc:`KeyError`." +msgstr "" +"Замінити заголовок. Замініть перший знайдений у повідомленні заголовок, який " +"відповідає *_name*, зберігаючи порядок заголовків і регістр імені поля " +"вихідного заголовка. Якщо відповідного заголовка не знайдено, викликайте :" +"exc:`KeyError`." + +msgid "" +"Return the message's content type, coerced to lower case of the form :" +"mimetype:`maintype/subtype`. If there is no :mailheader:`Content-Type` " +"header in the message return the value returned by :meth:" +"`get_default_type`. If the :mailheader:`Content-Type` header is invalid, " +"return ``text/plain``." +msgstr "" +"Повертає тип вмісту повідомлення, переведений у нижній регістр у формі :" +"mimetype:`maintype/subtype`. Якщо в повідомленні немає заголовка :mailheader:" +"`Content-Type`, повертається значення, яке повертає :meth:" +"`get_default_type`. Якщо заголовок :mailheader:`Content-Type` недійсний, " +"поверніть ``text/plain``." + +msgid "" +"(According to :rfc:`2045`, messages always have a default type, :meth:" +"`get_content_type` will always return a value. :rfc:`2045` defines a " +"message's default type to be :mimetype:`text/plain` unless it appears inside " +"a :mimetype:`multipart/digest` container, in which case it would be :" +"mimetype:`message/rfc822`. If the :mailheader:`Content-Type` header has an " +"invalid type specification, :rfc:`2045` mandates that the default type be :" +"mimetype:`text/plain`.)" +msgstr "" +"(Відповідно до :rfc:`2045`, повідомлення завжди мають тип за замовчуванням, :" +"meth:`get_content_type` завжди повертатиме значення. :rfc:`2045` визначає " +"тип повідомлення за замовчуванням як :mimetype:`text/plain` якщо він не " +"з’являється всередині контейнера :mimetype:`multipart/digest`, у такому " +"випадку це буде :mimetype:`message/rfc822`. Якщо заголовок :mailheader:" +"`Content-Type` має недійсну специфікацію типу, :rfc:`2045` вимагає, щоб тип " +"за замовчуванням був :mimetype:`text/plain`.)" + +msgid "" +"Return the message's main content type. This is the :mimetype:`maintype` " +"part of the string returned by :meth:`get_content_type`." +msgstr "" +"Повернути основний тип вмісту повідомлення. Це :mimetype:`maintype` частина " +"рядка, яку повертає :meth:`get_content_type`." + +msgid "" +"Return the message's sub-content type. This is the :mimetype:`subtype` part " +"of the string returned by :meth:`get_content_type`." +msgstr "" +"Повернути тип підвмісту повідомлення. Це :mimetype:`subtype` частина рядка, " +"яку повертає :meth:`get_content_type`." + +msgid "" +"Return the default content type. Most messages have a default content type " +"of :mimetype:`text/plain`, except for messages that are subparts of :" +"mimetype:`multipart/digest` containers. Such subparts have a default " +"content type of :mimetype:`message/rfc822`." +msgstr "" +"Повернути типовий тип вмісту. Більшість повідомлень мають стандартний тип " +"вмісту :mimetype:`text/plain`, за винятком повідомлень, які є підчастинами " +"контейнерів :mimetype:`multipart/digest`. Такі підчастини мають типовий тип " +"вмісту :mimetype:`message/rfc822`." + +msgid "" +"Set the default content type. *ctype* should either be :mimetype:`text/" +"plain` or :mimetype:`message/rfc822`, although this is not enforced. The " +"default content type is not stored in the :mailheader:`Content-Type` header, " +"so it only affects the return value of the ``get_content_type`` methods when " +"no :mailheader:`Content-Type` header is present in the message." +msgstr "" +"Встановіть тип вмісту за замовчуванням. *ctype* має бути :mimetype:`text/" +"plain` або :mimetype:`message/rfc822`, хоча це не обов’язково. Тип вмісту за " +"замовчуванням не зберігається в заголовку :mailheader:`Content-Type`, тому " +"він впливає лише на значення, що повертається методами ``get_content_type``, " +"якщо в повідомленні немає заголовка :mailheader:`Content-Type` ." + +msgid "" +"Set a parameter in the :mailheader:`Content-Type` header. If the parameter " +"already exists in the header, replace its value with *value*. When *header* " +"is ``Content-Type`` (the default) and the header does not yet exist in the " +"message, add it, set its value to :mimetype:`text/plain`, and append the new " +"parameter value. Optional *header* specifies an alternative header to :" +"mailheader:`Content-Type`." +msgstr "" +"Установіть параметр у заголовку :mailheader:`Content-Type`. Якщо параметр " +"уже існує в заголовку, замініть його значення на *value*. Якщо *header* має " +"значення ``Content-Type`` (за замовчуванням), а заголовок ще не існує в " +"повідомленні, додайте його, установіть для нього значення :mimetype:`text/" +"plain` і додайте нове значення параметра. Необов’язковий *header* визначає " +"альтернативний заголовок :mailheader:`Content-Type`." + +msgid "" +"If the value contains non-ASCII characters, the charset and language may be " +"explicitly specified using the optional *charset* and *language* " +"parameters. Optional *language* specifies the :rfc:`2231` language, " +"defaulting to the empty string. Both *charset* and *language* should be " +"strings. The default is to use the ``utf8`` *charset* and ``None`` for the " +"*language*." +msgstr "" +"Якщо значення містить символи, відмінні від ASCII, кодування та мову можна " +"вказати явно за допомогою додаткових параметрів *charset* і *language*. " +"Необов’язковий *мова* вказує мову :rfc:`2231`, за умовчанням порожній рядок. " +"І *charset*, і *language* мають бути рядками. За замовчуванням для *мови* " +"використовується ``utf8`` *charset* і ``None``." + +msgid "" +"If *replace* is ``False`` (the default) the header is moved to the end of " +"the list of headers. If *replace* is ``True``, the header will be updated " +"in place." +msgstr "" +"Якщо *replace* має значення ``False`` (за замовчуванням), заголовок " +"переміщується в кінець списку заголовків. Якщо *replace* має значення " +"``True``, заголовок буде оновлено на місці." + +msgid "" +"Use of the *requote* parameter with :class:`EmailMessage` objects is " +"deprecated." +msgstr "" +"Використання параметра *requote* з об’єктами :class:`EmailMessage` застаріло." + +msgid "" +"Note that existing parameter values of headers may be accessed through the :" +"attr:`~email.headerregistry.BaseHeader.params` attribute of the header value " +"(for example, ``msg['Content-Type'].params['charset']``)." +msgstr "" +"Зауважте, що наявні значення параметрів заголовків можна отримати через " +"атрибут :attr:`~email.headerregistry.BaseHeader.params` значення заголовка " +"(наприклад, ``msg['Content-Type'].params['charset' ]``)." + +msgid "``replace`` keyword was added." +msgstr "Додано ключове слово ``replace``." + +msgid "" +"Remove the given parameter completely from the :mailheader:`Content-Type` " +"header. The header will be re-written in place without the parameter or its " +"value. Optional *header* specifies an alternative to :mailheader:`Content-" +"Type`." +msgstr "" +"Повністю вилучіть вказаний параметр із заголовка :mailheader:`Content-Type`. " +"Заголовок буде перезаписано на місці без параметра чи його значення. " +"Необов’язковий *заголовок* визначає альтернативу :mailheader:`Content-Type`." + +msgid "" +"Return the value of the ``filename`` parameter of the :mailheader:`Content-" +"Disposition` header of the message. If the header does not have a " +"``filename`` parameter, this method falls back to looking for the ``name`` " +"parameter on the :mailheader:`Content-Type` header. If neither is found, or " +"the header is missing, then *failobj* is returned. The returned string will " +"always be unquoted as per :func:`email.utils.unquote`." +msgstr "" +"Повертає значення параметра ``filename`` заголовка :mailheader:`Content-" +"Disposition` повідомлення. Якщо заголовок не має параметра ``filename``, цей " +"метод повертається до пошуку параметра ``name`` у заголовку :mailheader:" +"`Content-Type`. Якщо нічого не знайдено або відсутній заголовок, " +"повертається *failobj*. Повернений рядок завжди буде без лапок відповідно " +"до :func:`email.utils.unquote`." + +msgid "" +"Return the value of the ``boundary`` parameter of the :mailheader:`Content-" +"Type` header of the message, or *failobj* if either the header is missing, " +"or has no ``boundary`` parameter. The returned string will always be " +"unquoted as per :func:`email.utils.unquote`." +msgstr "" +"Повертає значення параметра ``boundary`` заголовка :mailheader:`Content-" +"Type` повідомлення або *failobj*, якщо заголовок відсутній або не має " +"параметра ``boundary``. Повернений рядок завжди буде без лапок відповідно " +"до :func:`email.utils.unquote`." + +msgid "" +"Set the ``boundary`` parameter of the :mailheader:`Content-Type` header to " +"*boundary*. :meth:`set_boundary` will always quote *boundary* if " +"necessary. A :exc:`~email.errors.HeaderParseError` is raised if the message " +"object has no :mailheader:`Content-Type` header." +msgstr "" +"Установіть для параметра ``boundary`` заголовка :mailheader:`Content-Type` " +"значення *boundary*. :meth:`set_boundary` завжди братиме *boundary* у лапки, " +"якщо необхідно. Помилка :exc:`~email.errors.HeaderParseError` виникає, якщо " +"об’єкт повідомлення не має заголовка :mailheader:`Content-Type`." + +msgid "" +"Note that using this method is subtly different from deleting the old :" +"mailheader:`Content-Type` header and adding a new one with the new boundary " +"via :meth:`add_header`, because :meth:`set_boundary` preserves the order of " +"the :mailheader:`Content-Type` header in the list of headers." +msgstr "" +"Зауважте, що використання цього методу дещо відрізняється від видалення " +"старого заголовка :mailheader:`Content-Type` і додавання нового з новою " +"межею за допомогою :meth:`add_header`, оскільки :meth:`set_boundary` " +"зберігає порядок заголовок :mailheader:`Content-Type` у списку заголовків." + +msgid "" +"Return the ``charset`` parameter of the :mailheader:`Content-Type` header, " +"coerced to lower case. If there is no :mailheader:`Content-Type` header, or " +"if that header has no ``charset`` parameter, *failobj* is returned." +msgstr "" +"Повертає параметр ``charset`` заголовка :mailheader:`Content-Type` у " +"нижньому регістрі. Якщо немає заголовка :mailheader:`Content-Type` або цей " +"заголовок не має параметра ``charset``, повертається *failobj*." + +msgid "" +"Return a list containing the character set names in the message. If the " +"message is a :mimetype:`multipart`, then the list will contain one element " +"for each subpart in the payload, otherwise, it will be a list of length 1." +msgstr "" +"Повернути список із назвами наборів символів у повідомленні. Якщо " +"повідомлення є :mimetype:`multipart`, тоді список міститиме один елемент для " +"кожної підчастини в корисному навантаженні, інакше це буде список довжиною 1." + +msgid "" +"Each item in the list will be a string which is the value of the ``charset`` " +"parameter in the :mailheader:`Content-Type` header for the represented " +"subpart. If the subpart has no :mailheader:`Content-Type` header, no " +"``charset`` parameter, or is not of the :mimetype:`text` main MIME type, " +"then that item in the returned list will be *failobj*." +msgstr "" +"Кожен елемент у списку буде рядком, який є значенням параметра ``charset`` у " +"заголовку :mailheader:`Content-Type` для представленої підчастини. Якщо " +"підчастина не має заголовка :mailheader:`Content-Type`, параметра " +"``charset`` або не належить до основного типу MIME :mimetype:`text`, тоді " +"цей елемент у списку буде *failobj* ." + +msgid "" +"Return ``True`` if there is a :mailheader:`Content-Disposition` header and " +"its (case insensitive) value is ``attachment``, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо є заголовок :mailheader:`Content-Disposition` і його " +"(незалежне від регістру) значення є ``attachment``, ``False`` інакше." + +msgid "" +"is_attachment is now a method instead of a property, for consistency with :" +"meth:`~email.message.Message.is_multipart`." +msgstr "" +"is_attachment тепер є методом замість властивості, для узгодженості з :meth:" +"`~email.message.Message.is_multipart`." + +msgid "" +"Return the lowercased value (without parameters) of the message's :" +"mailheader:`Content-Disposition` header if it has one, or ``None``. The " +"possible values for this method are *inline*, *attachment* or ``None`` if " +"the message follows :rfc:`2183`." +msgstr "" +"Повертає значення в нижньому регістрі (без параметрів) заголовка " +"повідомлення :mailheader:`Content-Disposition`, якщо воно є, або ``None``. " +"Можливі значення для цього методу: *inline*, *attachment* або ``None``, якщо " +"повідомлення слідує за :rfc:`2183`." + +msgid "" +"The following methods relate to interrogating and manipulating the content " +"(payload) of the message." +msgstr "" +"Наступні методи стосуються опитування та маніпулювання вмістом (корисним " +"навантаженням) повідомлення." + +msgid "" +"The :meth:`walk` method is an all-purpose generator which can be used to " +"iterate over all the parts and subparts of a message object tree, in depth-" +"first traversal order. You will typically use :meth:`walk` as the iterator " +"in a ``for`` loop; each iteration returns the next subpart." +msgstr "" +"Метод :meth:`walk` — це універсальний генератор, який можна використовувати " +"для перебору всіх частин і підчастин дерева об’єктів повідомлення в порядку " +"проходження спочатку в глибину. Ви зазвичай використовуєте :meth:`walk` як " +"ітератор у циклі ``for``; кожна ітерація повертає наступну підчастину." + +msgid "" +"Here's an example that prints the MIME type of every part of a multipart " +"message structure:" +msgstr "" +"Ось приклад, який друкує тип MIME кожної частини структури повідомлення, що " +"складається з кількох частин:" + +msgid "" +"``walk`` iterates over the subparts of any part where :meth:`is_multipart` " +"returns ``True``, even though ``msg.get_content_maintype() == 'multipart'`` " +"may return ``False``. We can see this in our example by making use of the " +"``_structure`` debug helper function:" +msgstr "" +"``walk`` повторює підчастини будь-якої частини, де :meth:`is_multipart` " +"повертає ``True``, навіть якщо ``msg.get_content_maintype() == 'multipart'`` " +"може повернути ``False``. Ми можемо побачити це в нашому прикладі, " +"використовуючи допоміжну функцію налагодження ``_structure``:" + +msgid "" +"Here the ``message`` parts are not ``multiparts``, but they do contain " +"subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the " +"subparts." +msgstr "" +"Тут частини ``message`` не є ``multiparts``, але вони містять підчастини. " +"``is_multipart()`` повертає ``True`` і ``walk`` спускається до підчастин." + +msgid "" +"Return the MIME part that is the best candidate to be the \"body\" of the " +"message." +msgstr "" +"Повертає частину MIME, яка є найкращим кандидатом на роль \"тіла\" " +"повідомлення." + +msgid "" +"*preferencelist* must be a sequence of strings from the set ``related``, " +"``html``, and ``plain``, and indicates the order of preference for the " +"content type of the part returned." +msgstr "" +"*preferencelist* має бути послідовністю рядків із набору ``related``, " +"``html`` і ``plain`` і вказує на порядок пріоритету для типу вмісту " +"повернутої частини." + +msgid "" +"Start looking for candidate matches with the object on which the " +"``get_body`` method is called." +msgstr "" +"Почніть шукати збіги кандидатів з об’єктом, для якого викликається метод " +"get_body." + +msgid "" +"If ``related`` is not included in *preferencelist*, consider the root part " +"(or subpart of the root part) of any related encountered as a candidate if " +"the (sub-)part matches a preference." +msgstr "" +"Якщо ``related`` не включено до *preferencelist*, розгляньте кореневу " +"частину (або підчастину кореневої частини) будь-якої пов’язаної частини як " +"кандидата, якщо (під)частина відповідає налаштуванню." + +msgid "" +"When encountering a ``multipart/related``, check the ``start`` parameter and " +"if a part with a matching :mailheader:`Content-ID` is found, consider only " +"it when looking for candidate matches. Otherwise consider only the first " +"(default root) part of the ``multipart/related``." +msgstr "" +"Коли ви зустрічаєте ``multipart/related``, перевірте параметр ``start``, і " +"якщо знайдено частину з відповідним :mailheader:`Content-ID`, враховуйте " +"лише його під час пошуку збігів кандидатів. В іншому випадку враховуйте лише " +"першу (за замовчуванням кореневу) частину ``multipart/related``." + +msgid "" +"If a part has a :mailheader:`Content-Disposition` header, only consider the " +"part a candidate match if the value of the header is ``inline``." +msgstr "" +"Якщо частина має заголовок :mailheader:`Content-Disposition`, розглядайте цю " +"частину як кандидат-збіг, лише якщо значення заголовка є ``inline``." + +msgid "" +"If none of the candidates matches any of the preferences in " +"*preferencelist*, return ``None``." +msgstr "" +"Якщо жоден із кандидатів не відповідає жодному з параметрів у " +"*preferencelist*, поверніть ``None``." + +msgid "" +"Notes: (1) For most applications the only *preferencelist* combinations that " +"really make sense are ``('plain',)``, ``('html', 'plain')``, and the default " +"``('related', 'html', 'plain')``. (2) Because matching starts with the " +"object on which ``get_body`` is called, calling ``get_body`` on a " +"``multipart/related`` will return the object itself unless *preferencelist* " +"has a non-default value. (3) Messages (or message parts) that do not specify " +"a :mailheader:`Content-Type` or whose :mailheader:`Content-Type` header is " +"invalid will be treated as if they are of type ``text/plain``, which may " +"occasionally cause ``get_body`` to return unexpected results." +msgstr "" +"Примітки: (1) Для більшості програм єдиними комбінаціями *preferencelist*, " +"які справді мають сенс, є ``('plain',)``, ``('html', 'plain')`` і типове " +"``( 'related', 'html', 'plain')``. (2) Оскільки зіставлення починається з " +"об’єкта, для якого викликається ``get_body``, виклик ``get_body`` для " +"``multipart/related`` поверне сам об’єкт, якщо *preferencelist* не має " +"значення за замовчуванням. (3) Повідомлення (або частини повідомлення), у " +"яких не вказано :mailheader:`Content-Type` або чий :mailheader:`Content-" +"Type` заголовок недійсний, розглядатимуться так, ніби вони мають тип ``text/" +"plain``, через що іноді get_body може повертати несподівані результати." + +msgid "" +"Return an iterator over all of the immediate sub-parts of the message that " +"are not candidate \"body\" parts. That is, skip the first occurrence of " +"each of ``text/plain``, ``text/html``, ``multipart/related``, or ``multipart/" +"alternative`` (unless they are explicitly marked as attachments via :" +"mailheader:`Content-Disposition: attachment`), and return all remaining " +"parts. When applied directly to a ``multipart/related``, return an iterator " +"over the all the related parts except the root part (ie: the part pointed to " +"by the ``start`` parameter, or the first part if there is no ``start`` " +"parameter or the ``start`` parameter doesn't match the :mailheader:`Content-" +"ID` of any of the parts). When applied directly to a ``multipart/" +"alternative`` or a non-``multipart``, return an empty iterator." +msgstr "" +"Повертає ітератор над усіма безпосередніми підчастинами повідомлення, які не " +"є кандидатами на \"тіло\". Тобто пропустіть перше входження кожного з ``text/" +"plain``, ``text/html``, ``multipart/related`` або ``multipart/alternative`` " +"(якщо вони явно не позначені як вкладення через :mailheader:`Content-" +"Disposition: attachment`), і повернути всі інші частини. При безпосередньому " +"застосуванні до ``multipart/related`` повертає ітератор для всіх пов’язаних " +"частин, крім кореневої частини (тобто: частини, на яку вказує параметр " +"``start``, або першої частини, якщо її немає Параметр ``start`` або параметр " +"``start`` не відповідає :mailheader:`Content-ID` жодної з частин). При " +"застосуванні безпосередньо до ``multipart/alternative`` або не-``multipart`` " +"повертає порожній ітератор." + +msgid "" +"Return an iterator over all of the immediate sub-parts of the message, which " +"will be empty for a non-``multipart``. (See also :meth:`~email.message." +"EmailMessage.walk`.)" +msgstr "" +"Повертає ітератор для всіх безпосередніх підчастин повідомлення, який буде " +"порожнім для не-``multipart``. (Див. також :meth:`~email.message." +"EmailMessage.walk`.)" + +msgid "" +"Call the :meth:`~email.contentmanager.ContentManager.get_content` method of " +"the *content_manager*, passing self as the message object, and passing along " +"any other arguments or keywords as additional arguments. If " +"*content_manager* is not specified, use the ``content_manager`` specified by " +"the current :mod:`~email.policy`." +msgstr "" +"Викличте метод :meth:`~email.contentmanager.ContentManager.get_content` " +"*content_manager*, передаючи self як об’єкт повідомлення та передаючи будь-" +"які інші аргументи чи ключові слова як додаткові аргументи. Якщо " +"*content_manager* не вказано, використовуйте ``content_manager``, визначений " +"поточною :mod:`~email.policy`." + +msgid "" +"Call the :meth:`~email.contentmanager.ContentManager.set_content` method of " +"the *content_manager*, passing self as the message object, and passing along " +"any other arguments or keywords as additional arguments. If " +"*content_manager* is not specified, use the ``content_manager`` specified by " +"the current :mod:`~email.policy`." +msgstr "" +"Викличте метод :meth:`~email.contentmanager.ContentManager.set_content` " +"*content_manager*, передаючи self як об’єкт повідомлення та передаючи будь-" +"які інші аргументи чи ключові слова як додаткові аргументи. Якщо " +"*content_manager* не вказано, використовуйте ``content_manager``, визначений " +"поточною :mod:`~email.policy`." + +msgid "" +"Convert a non-``multipart`` message into a ``multipart/related`` message, " +"moving any existing :mailheader:`Content-` headers and payload into a (new) " +"first part of the ``multipart``. If *boundary* is specified, use it as the " +"boundary string in the multipart, otherwise leave the boundary to be " +"automatically created when it is needed (for example, when the message is " +"serialized)." +msgstr "" +"Перетворіть повідомлення, яке не є ``складним``, на ``багаточастинне/" +"пов’язане`` повідомлення, перемістивши будь-які існуючі заголовки :" +"mailheader:`Content-` і корисне навантаження в (нову) першу частину " +"``багаточастинного``. Якщо вказано *межу*, використовуйте її як " +"обмежувальний рядок у складеній частині, інакше залиште межу автоматично " +"створеною, коли це необхідно (наприклад, коли повідомлення серіалізовано)." + +msgid "" +"Convert a non-``multipart`` or a ``multipart/related`` into a ``multipart/" +"alternative``, moving any existing :mailheader:`Content-` headers and " +"payload into a (new) first part of the ``multipart``. If *boundary* is " +"specified, use it as the boundary string in the multipart, otherwise leave " +"the boundary to be automatically created when it is needed (for example, " +"when the message is serialized)." +msgstr "" +"Перетворіть не ``multipart`` або ``multipart/related`` на ``multipart/" +"alternative``, перемістивши всі наявні заголовки :mailheader:`Content-` і " +"корисне навантаження в (нову) першу частину ``багаточастинний``. Якщо " +"вказано *межу*, використовуйте її як обмежувальний рядок у складеній " +"частині, інакше залиште межу автоматично створеною, коли це необхідно " +"(наприклад, коли повідомлення серіалізовано)." + +msgid "" +"Convert a non-``multipart``, a ``multipart/related``, or a ``multipart-" +"alternative`` into a ``multipart/mixed``, moving any existing :mailheader:" +"`Content-` headers and payload into a (new) first part of the " +"``multipart``. If *boundary* is specified, use it as the boundary string in " +"the multipart, otherwise leave the boundary to be automatically created when " +"it is needed (for example, when the message is serialized)." +msgstr "" +"Перетворіть не ``multipart``, ``multipart/related`` або ``multipart-" +"alternative`` на ``multipart/mixed``, перемістивши будь-які існуючі " +"заголовки :mailheader:`Content-` та корисне навантаження в (нову) першу " +"частину ``multipart``. Якщо вказано *межу*, використовуйте її як " +"обмежувальний рядок у складеній частині, інакше залиште межу автоматично " +"створеною, коли це необхідно (наприклад, коли повідомлення серіалізовано)." + +msgid "" +"If the message is a ``multipart/related``, create a new message object, pass " +"all of the arguments to its :meth:`set_content` method, and :meth:`~email." +"message.Message.attach` it to the ``multipart``. If the message is a non-" +"``multipart``, call :meth:`make_related` and then proceed as above. If the " +"message is any other type of ``multipart``, raise a :exc:`TypeError`. If " +"*content_manager* is not specified, use the ``content_manager`` specified by " +"the current :mod:`~email.policy`. If the added part has no :mailheader:" +"`Content-Disposition` header, add one with the value ``inline``." +msgstr "" +"Якщо повідомлення є ``multipart/related``, створіть новий об’єкт " +"повідомлення, передайте всі аргументи його методу :meth:`set_content` і :" +"meth:`~email.message.Message.attach` його до ``багаточастинний``. Якщо " +"повідомлення не є ``складним``, викличте :meth:`make_related`, а потім " +"виконайте описані вище дії. Якщо повідомлення має будь-який інший тип " +"``multipart``, викликайте :exc:`TypeError`. Якщо *content_manager* не " +"вказано, використовуйте ``content_manager``, визначений поточною :mod:" +"`~email.policy`. Якщо додана частина не має заголовка :mailheader:`Content-" +"Disposition`, додайте його зі значенням ``inline``." + +msgid "" +"If the message is a ``multipart/alternative``, create a new message object, " +"pass all of the arguments to its :meth:`set_content` method, and :meth:" +"`~email.message.Message.attach` it to the ``multipart``. If the message is " +"a non-``multipart`` or ``multipart/related``, call :meth:`make_alternative` " +"and then proceed as above. If the message is any other type of " +"``multipart``, raise a :exc:`TypeError`. If *content_manager* is not " +"specified, use the ``content_manager`` specified by the current :mod:`~email." +"policy`." +msgstr "" +"Якщо повідомлення є ``multipart/alternative``, створіть новий об’єкт " +"повідомлення, передайте всі аргументи його методу :meth:`set_content` і :" +"meth:`~email.message.Message.attach` його до ``багаточастинний``. Якщо " +"повідомлення не є ``multipart`` або ``multipart/related``, викличте :meth:" +"`make_alternative`, а потім виконайте описані вище дії. Якщо повідомлення " +"має будь-який інший тип ``multipart``, викликайте :exc:`TypeError`. Якщо " +"*content_manager* не вказано, використовуйте ``content_manager``, визначений " +"поточною :mod:`~email.policy`." + +msgid "" +"If the message is a ``multipart/mixed``, create a new message object, pass " +"all of the arguments to its :meth:`set_content` method, and :meth:`~email." +"message.Message.attach` it to the ``multipart``. If the message is a non-" +"``multipart``, ``multipart/related``, or ``multipart/alternative``, call :" +"meth:`make_mixed` and then proceed as above. If *content_manager* is not " +"specified, use the ``content_manager`` specified by the current :mod:`~email." +"policy`. If the added part has no :mailheader:`Content-Disposition` header, " +"add one with the value ``attachment``. This method can be used both for " +"explicit attachments (:mailheader:`Content-Disposition: attachment`) and " +"``inline`` attachments (:mailheader:`Content-Disposition: inline`), by " +"passing appropriate options to the ``content_manager``." +msgstr "" +"Якщо повідомлення є ``multipart/mixed``, створіть новий об’єкт повідомлення, " +"передайте всі аргументи його методу :meth:`set_content` і :meth:`~email." +"message.Message.attach` його до ``багаточастинний``. Якщо повідомлення не є " +"``multipart``, ``multipart/related`` або ``multipart/alternative``, " +"викличте :meth:`make_mixed`, а потім виконайте описані вище дії. Якщо " +"*content_manager* не вказано, використовуйте ``content_manager``, визначений " +"поточною :mod:`~email.policy`. Якщо додана частина не має заголовка :" +"mailheader:`Content-Disposition`, додайте його зі значенням ``attachment``. " +"Цей метод можна використовувати як для явних вкладень (:mailheader:`Content-" +"Disposition: attachment`), так і для вкладень ``inline`` (:mailheader:" +"`Content-Disposition: inline`), передавши відповідні параметри " +"``content_manager``." + +msgid "Remove the payload and all of the headers." +msgstr "Видаліть корисне навантаження та всі заголовки." + +msgid "" +"Remove the payload and all of the :exc:`Content-` headers, leaving all other " +"headers intact and in their original order." +msgstr "" +"Видаліть корисне навантаження та всі заголовки :exc:`Content-`, залишивши " +"всі інші заголовки недоторканими та в їх початковому порядку." + +msgid ":class:`EmailMessage` objects have the following instance attributes:" +msgstr "Об’єкти :class:`EmailMessage` мають такі атрибути екземпляра:" + +msgid "" +"The format of a MIME document allows for some text between the blank line " +"following the headers, and the first multipart boundary string. Normally, " +"this text is never visible in a MIME-aware mail reader because it falls " +"outside the standard MIME armor. However, when viewing the raw text of the " +"message, or when viewing the message in a non-MIME aware reader, this text " +"can become visible." +msgstr "" +"Формат документа MIME допускає деякий текст між порожнім рядком після " +"заголовків і першим обмежувальним рядком із складених частин. Зазвичай цей " +"текст ніколи не відображається в програмі читання пошти з підтримкою MIME, " +"оскільки він виходить за межі стандартної броні MIME. Однак під час " +"перегляду необробленого тексту повідомлення або під час перегляду " +"повідомлення в програмі читання, яка не підтримує MIME, цей текст може стати " +"видимим." + +msgid "" +"The *preamble* attribute contains this leading extra-armor text for MIME " +"documents. When the :class:`~email.parser.Parser` discovers some text after " +"the headers but before the first boundary string, it assigns this text to " +"the message's *preamble* attribute. When the :class:`~email.generator." +"Generator` is writing out the plain text representation of a MIME message, " +"and it finds the message has a *preamble* attribute, it will write this text " +"in the area between the headers and the first boundary. See :mod:`email." +"parser` and :mod:`email.generator` for details." +msgstr "" +"Атрибут *преамбула* містить цей провідний додатковий текст для документів " +"MIME. Коли :class:`~email.parser.Parser` виявляє текст після заголовків, але " +"перед першим обмежувальним рядком, він призначає цей текст атрибуту " +"*преамбула* повідомлення. Коли :class:`~email.generator.Generator` записує " +"звичайне текстове представлення повідомлення MIME і виявляє, що повідомлення " +"має атрибут *преамбула*, він записує цей текст у область між заголовками та " +"перша межа. Перегляньте :mod:`email.parser` і :mod:`email.generator` для " +"деталей." + +msgid "" +"Note that if the message object has no preamble, the *preamble* attribute " +"will be ``None``." +msgstr "" +"Зауважте, що якщо об’єкт повідомлення не має преамбули, атрибут *preamble* " +"матиме значення ``None``." + +msgid "" +"The *epilogue* attribute acts the same way as the *preamble* attribute, " +"except that it contains text that appears between the last boundary and the " +"end of the message. As with the :attr:`~EmailMessage.preamble`, if there is " +"no epilog text this attribute will be ``None``." +msgstr "" +"Атрибут *epilogue* діє так само, як і атрибут *preamble*, за винятком того, " +"що він містить текст, який з’являється між останньою межею та кінцем " +"повідомлення. Як і у випадку з :attr:`~EmailMessage.preamble`, якщо немає " +"тексту епілога, цей атрибут буде ``None``." + +msgid "" +"The *defects* attribute contains a list of all the problems found when " +"parsing this message. See :mod:`email.errors` for a detailed description of " +"the possible parsing defects." +msgstr "" +"Атрибут *defects* містить список усіх проблем, виявлених під час аналізу " +"цього повідомлення. Перегляньте :mod:`email.errors` для детального опису " +"можливих дефектів аналізу." + +msgid "" +"This class represents a subpart of a MIME message. It is identical to :" +"class:`EmailMessage`, except that no :mailheader:`MIME-Version` headers are " +"added when :meth:`~EmailMessage.set_content` is called, since sub-parts do " +"not need their own :mailheader:`MIME-Version` headers." +msgstr "" +"Цей клас представляє підчастину повідомлення MIME. Він ідентичний :class:" +"`EmailMessage`, за винятком того, що під час виклику :meth:`~EmailMessage." +"set_content` не додаються заголовки :mailheader:`MIME-Version`, оскільки " +"підчастини не потребують власного Заголовки :mailheader:`MIME-Version`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Originally added in 3.4 as a :term:`provisional module `. Docs for legacy message class moved to :ref:`compat32_message`." +msgstr "" +"Спочатку додано в 3.4 як :term:`проміжний модуль `. " +"Документи для застарілого класу повідомлень переміщено до :ref:" +"`compat32_message`." diff --git a/library/email_mime.po b/library/email_mime.po new file mode 100644 index 000000000..df683ea19 --- /dev/null +++ b/library/email_mime.po @@ -0,0 +1,379 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.mime`: Creating email and MIME objects from scratch" +msgstr ":mod:`email.mime`: Створення електронної пошти та об’єктів MIME з нуля" + +msgid "**Source code:** :source:`Lib/email/mime/`" +msgstr "**Вихідний код:** :source:`Lib/email/mime/`" + +msgid "" +"This module is part of the legacy (``Compat32``) email API. Its " +"functionality is partially replaced by the :mod:`~email.contentmanager` in " +"the new API, but in certain applications these classes may still be useful, " +"even in non-legacy code." +msgstr "" +"Цей модуль є частиною застарілого (``Compat32``) API електронної пошти. Його " +"функціональні можливості частково замінено на :mod:`~email.contentmanager` у " +"новому API, але в деяких програмах ці класи все ще можуть бути корисними, " +"навіть у коді, що не є застарілим." + +msgid "" +"Ordinarily, you get a message object structure by passing a file or some " +"text to a parser, which parses the text and returns the root message " +"object. However you can also build a complete message structure from " +"scratch, or even individual :class:`~email.message.Message` objects by " +"hand. In fact, you can also take an existing structure and add new :class:" +"`~email.message.Message` objects, move them around, etc. This makes a very " +"convenient interface for slicing-and-dicing MIME messages." +msgstr "" +"Зазвичай ви отримуєте структуру об’єкта повідомлення, передаючи файл або " +"деякий текст синтаксичному аналізатору, який аналізує текст і повертає " +"кореневий об’єкт повідомлення. Однак ви також можете створити повну " +"структуру повідомлення з нуля або навіть окремі об’єкти :class:`~email." +"message.Message` вручну. Фактично, ви також можете взяти існуючу структуру " +"та додати нові об’єкти :class:`~email.message.Message`, перемістити їх тощо. " +"Це робить дуже зручний інтерфейс для нарізання та нарізання повідомлень MIME." + +msgid "" +"You can create a new object structure by creating :class:`~email.message." +"Message` instances, adding attachments and all the appropriate headers " +"manually. For MIME messages though, the :mod:`email` package provides some " +"convenient subclasses to make things easier." +msgstr "" +"Ви можете створити нову структуру об’єктів, створивши екземпляри :class:" +"`~email.message.Message`, додавши вкладення та всі відповідні заголовки " +"вручну. Однак для повідомлень MIME пакет :mod:`email` надає кілька зручних " +"підкласів, щоб полегшити роботу." + +msgid "Here are the classes:" +msgstr "Ось класи:" + +msgid "Module: :mod:`email.mime.base`" +msgstr "Модуль: :mod:`email.mime.base`" + +msgid "" +"This is the base class for all the MIME-specific subclasses of :class:" +"`~email.message.Message`. Ordinarily you won't create instances " +"specifically of :class:`MIMEBase`, although you could. :class:`MIMEBase` is " +"provided primarily as a convenient base class for more specific MIME-aware " +"subclasses." +msgstr "" +"Це базовий клас для всіх специфічних для MIME підкласів :class:`~email." +"message.Message`. Зазвичай ви не будете створювати екземпляри конкретно :" +"class:`MIMEBase`, хоча можете. :class:`MIMEBase` надається в основному як " +"зручний базовий клас для більш конкретних підкласів, що підтримують MIME." + +msgid "" +"*_maintype* is the :mailheader:`Content-Type` major type (e.g. :mimetype:" +"`text` or :mimetype:`image`), and *_subtype* is the :mailheader:`Content-" +"Type` minor type (e.g. :mimetype:`plain` or :mimetype:`gif`). *_params* is " +"a parameter key/value dictionary and is passed directly to :meth:`Message." +"add_header `." +msgstr "" +"*_maintype* — це основний тип :mailheader:`Content-Type` (наприклад, :" +"mimetype:`text` або :mimetype:`image`), а *_subtype* — другорядний тип :" +"mailheader:`Content-Type` (напр. :mimetype:`plain` або :mimetype:`gif`). " +"*_params* — це словник ключ/значення параметра, який передається " +"безпосередньо до :meth:`Message.add_header `." + +msgid "" +"If *policy* is specified, (defaults to the :class:`compat32 ` policy) it will be passed to :class:`~email.message.Message`." +msgstr "" +"Якщо вказано *політику* (за замовчуванням політика :class:`compat32 `), вона буде передана в :class:`~email.message.Message`." + +msgid "" +"The :class:`MIMEBase` class always adds a :mailheader:`Content-Type` header " +"(based on *_maintype*, *_subtype*, and *_params*), and a :mailheader:`MIME-" +"Version` header (always set to ``1.0``)." +msgstr "" +"Клас :class:`MIMEBase` завжди додає заголовок :mailheader:`Content-Type` (на " +"основі *_maintype*, *_subtype* і *_params*) і заголовок :mailheader:`MIME-" +"Version` (завжди встановити значення ``1.0``)." + +msgid "Added *policy* keyword-only parameter." +msgstr "Додано параметр *policy* лише для ключового слова." + +msgid "Module: :mod:`email.mime.nonmultipart`" +msgstr "Модуль: :mod:`email.mime.nonmultipart`" + +msgid "" +"A subclass of :class:`~email.mime.base.MIMEBase`, this is an intermediate " +"base class for MIME messages that are not :mimetype:`multipart`. The " +"primary purpose of this class is to prevent the use of the :meth:`~email." +"message.Message.attach` method, which only makes sense for :mimetype:" +"`multipart` messages. If :meth:`~email.message.Message.attach` is called, " +"a :exc:`~email.errors.MultipartConversionError` exception is raised." +msgstr "" +"Підклас :class:`~email.mime.base.MIMEBase`, це проміжний базовий клас для " +"повідомлень MIME, які не є :mimetype:`multipart`. Основною метою цього класу " +"є запобігання використанню методу :meth:`~email.message.Message.attach`, " +"який має сенс лише для повідомлень :mimetype:`multipart`. Якщо викликається :" +"meth:`~email.message.Message.attach`, виникає виняток :exc:`~email.errors." +"MultipartConversionError`." + +msgid "Module: :mod:`email.mime.multipart`" +msgstr "Модуль: :mod:`email.mime.multipart`" + +msgid "" +"A subclass of :class:`~email.mime.base.MIMEBase`, this is an intermediate " +"base class for MIME messages that are :mimetype:`multipart`. Optional " +"*_subtype* defaults to :mimetype:`mixed`, but can be used to specify the " +"subtype of the message. A :mailheader:`Content-Type` header of :mimetype:" +"`multipart/_subtype` will be added to the message object. A :mailheader:" +"`MIME-Version` header will also be added." +msgstr "" +"Підклас :class:`~email.mime.base.MIMEBase`, це проміжний базовий клас для " +"повідомлень MIME, які є :mimetype:`multipart`. Необов’язковий *_subtype* за " +"умовчанням має значення :mimetype:`mixed`, але його можна використовувати " +"для визначення підтипу повідомлення. Заголовок :mailheader:`Content-Type` :" +"mimetype:`multipart/_subtype` буде додано до об’єкта повідомлення. Також " +"буде додано заголовок :mailheader:`MIME-Version`." + +msgid "" +"Optional *boundary* is the multipart boundary string. When ``None`` (the " +"default), the boundary is calculated when needed (for example, when the " +"message is serialized)." +msgstr "" +"Необов’язковий *межа* — це обмежувальний рядок із кількох частин. Якщо " +"``None`` (за замовчуванням), межа обчислюється за потреби (наприклад, коли " +"повідомлення серіалізовано)." + +msgid "" +"*_subparts* is a sequence of initial subparts for the payload. It must be " +"possible to convert this sequence to a list. You can always attach new " +"subparts to the message by using the :meth:`Message.attach ` method." +msgstr "" +"*_subparts* — це послідовність початкових підчастин для корисного " +"навантаження. Має бути можливість перетворити цю послідовність на список. Ви " +"завжди можете додати нові частини до повідомлення за допомогою методу :meth:" +"`Message.attach `." + +msgid "" +"Optional *policy* argument defaults to :class:`compat32 `." +msgstr "" +"Додатковий аргумент *policy* за умовчанням має значення :class:`compat32 " +"`." + +msgid "" +"Additional parameters for the :mailheader:`Content-Type` header are taken " +"from the keyword arguments, or passed into the *_params* argument, which is " +"a keyword dictionary." +msgstr "" +"Додаткові параметри для заголовка :mailheader:`Content-Type` беруться з " +"аргументів ключових слів або передаються в аргумент *_params*, який є " +"словником ключових слів." + +msgid "Module: :mod:`email.mime.application`" +msgstr "Модуль: :mod:`email.mime.application`" + +msgid "" +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" +"`MIMEApplication` class is used to represent MIME message objects of major " +"type :mimetype:`application`. *_data* is a string containing the raw byte " +"data. Optional *_subtype* specifies the MIME subtype and defaults to :" +"mimetype:`octet-stream`." +msgstr "" +"Підклас :class:`~email.mime.nonmultipart.MIMENonMultipart`, клас :class:" +"`MIMEApplication` використовується для представлення об’єктів повідомлень " +"MIME основного типу :mimetype:`application`. *_data* — це рядок, що містить " +"необроблені дані в байтах. Необов’язковий *_subtype* визначає підтип MIME і " +"за замовчуванням має значення :mimetype:`octet-stream`." + +msgid "" +"Optional *_encoder* is a callable (i.e. function) which will perform the " +"actual encoding of the data for transport. This callable takes one " +"argument, which is the :class:`MIMEApplication` instance. It should use :" +"meth:`~email.message.Message.get_payload` and :meth:`~email.message.Message." +"set_payload` to change the payload to encoded form. It should also add any :" +"mailheader:`Content-Transfer-Encoding` or other headers to the message " +"object as necessary. The default encoding is base64. See the :mod:`email." +"encoders` module for a list of the built-in encoders." +msgstr "" +"Необов’язковий *_encoder* — це виклик (тобто функція), яка виконуватиме " +"фактичне кодування даних для транспортування. Цей виклик приймає один " +"аргумент, який є екземпляром :class:`MIMEApplication`. Він має " +"використовувати :meth:`~email.message.Message.get_payload` і :meth:`~email." +"message.Message.set_payload`, щоб змінити корисне навантаження на закодовану " +"форму. Він також має додати будь-які :mailheader:`Content-Transfer-Encoding` " +"або інші заголовки до об’єкта повідомлення за потреби. Стандартне кодування " +"— base64. Перегляньте список вбудованих кодувальників у модулі :mod:`email." +"encoders`." + +msgid "*_params* are passed straight through to the base class constructor." +msgstr "*_params* передаються прямо до конструктора базового класу." + +msgid "Module: :mod:`email.mime.audio`" +msgstr "Модуль: :mod:`email.mime.audio`" + +msgid "" +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" +"`MIMEAudio` class is used to create MIME message objects of major type :" +"mimetype:`audio`. *_audiodata* is a string containing the raw audio data. " +"If this data can be decoded as au, wav, aiff, or aifc, then the subtype will " +"be automatically included in the :mailheader:`Content-Type` header. " +"Otherwise you can explicitly specify the audio subtype via the *_subtype* " +"argument. If the minor type could not be guessed and *_subtype* was not " +"given, then :exc:`TypeError` is raised." +msgstr "" + +msgid "" +"Optional *_encoder* is a callable (i.e. function) which will perform the " +"actual encoding of the audio data for transport. This callable takes one " +"argument, which is the :class:`MIMEAudio` instance. It should use :meth:" +"`~email.message.Message.get_payload` and :meth:`~email.message.Message." +"set_payload` to change the payload to encoded form. It should also add any :" +"mailheader:`Content-Transfer-Encoding` or other headers to the message " +"object as necessary. The default encoding is base64. See the :mod:`email." +"encoders` module for a list of the built-in encoders." +msgstr "" +"Необов’язковий *_encoder* — це виклик (тобто функція), яка виконуватиме " +"фактичне кодування аудіоданих для транспортування. Цей виклик приймає один " +"аргумент, який є екземпляром :class:`MIMEAudio`. Він має використовувати :" +"meth:`~email.message.Message.get_payload` і :meth:`~email.message.Message." +"set_payload`, щоб змінити корисне навантаження на закодовану форму. Він " +"також має додати будь-які :mailheader:`Content-Transfer-Encoding` або інші " +"заголовки до об’єкта повідомлення за потреби. Стандартне кодування — base64. " +"Перегляньте список вбудованих кодувальників у модулі :mod:`email.encoders`." + +msgid "Module: :mod:`email.mime.image`" +msgstr "Модуль: :mod:`email.mime.image`" + +msgid "" +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" +"`MIMEImage` class is used to create MIME message objects of major type :" +"mimetype:`image`. *_imagedata* is a string containing the raw image data. " +"If this data type can be detected (jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, " +"rast, xbm, bmp, webp, and exr attempted), then the subtype will be " +"automatically included in the :mailheader:`Content-Type` header. Otherwise " +"you can explicitly specify the image subtype via the *_subtype* argument. If " +"the minor type could not be guessed and *_subtype* was not given, then :exc:" +"`TypeError` is raised." +msgstr "" + +msgid "" +"Optional *_encoder* is a callable (i.e. function) which will perform the " +"actual encoding of the image data for transport. This callable takes one " +"argument, which is the :class:`MIMEImage` instance. It should use :meth:" +"`~email.message.Message.get_payload` and :meth:`~email.message.Message." +"set_payload` to change the payload to encoded form. It should also add any :" +"mailheader:`Content-Transfer-Encoding` or other headers to the message " +"object as necessary. The default encoding is base64. See the :mod:`email." +"encoders` module for a list of the built-in encoders." +msgstr "" +"Необов’язковий *_encoder* — це виклик (тобто функція), яка виконуватиме " +"фактичне кодування даних зображення для транспортування. Цей виклик приймає " +"один аргумент, який є екземпляром :class:`MIMEImage`. Він має " +"використовувати :meth:`~email.message.Message.get_payload` і :meth:`~email." +"message.Message.set_payload`, щоб змінити корисне навантаження на закодовану " +"форму. Він також має додати будь-які :mailheader:`Content-Transfer-Encoding` " +"або інші заголовки до об’єкта повідомлення за потреби. Стандартне кодування " +"— base64. Перегляньте список вбудованих кодувальників у модулі :mod:`email." +"encoders`." + +msgid "" +"*_params* are passed straight through to the :class:`~email.mime.base." +"MIMEBase` constructor." +msgstr "" +"*_параметри* передаються безпосередньо до конструктора :class:`~email.mime." +"base.MIMEBase`." + +msgid "Module: :mod:`email.mime.message`" +msgstr "Модуль: :mod:`email.mime.message`" + +msgid "" +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" +"`MIMEMessage` class is used to create MIME objects of main type :mimetype:" +"`message`. *_msg* is used as the payload, and must be an instance of class :" +"class:`~email.message.Message` (or a subclass thereof), otherwise a :exc:" +"`TypeError` is raised." +msgstr "" +"Підклас :class:`~email.mime.nonmultipart.MIMENonMultipart`, клас :class:" +"`MIMEMessage` використовується для створення об’єктів MIME основного типу :" +"mimetype:`message`. *_msg* використовується як корисне навантаження та має " +"бути екземпляром класу :class:`~email.message.Message` (або його підкласу), " +"інакше виникає :exc:`TypeError`." + +msgid "" +"Optional *_subtype* sets the subtype of the message; it defaults to :" +"mimetype:`rfc822`." +msgstr "" +"Додатково *_subtype* встановлює підтип повідомлення; за замовчуванням :" +"mimetype:`rfc822`." + +msgid "Module: :mod:`email.mime.text`" +msgstr "Модуль: :mod:`email.mime.text`" + +msgid "" +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" +"`MIMEText` class is used to create MIME objects of major type :mimetype:" +"`text`. *_text* is the string for the payload. *_subtype* is the minor type " +"and defaults to :mimetype:`plain`. *_charset* is the character set of the " +"text and is passed as an argument to the :class:`~email.mime.nonmultipart." +"MIMENonMultipart` constructor; it defaults to ``us-ascii`` if the string " +"contains only ``ascii`` code points, and ``utf-8`` otherwise. The " +"*_charset* parameter accepts either a string or a :class:`~email.charset." +"Charset` instance." +msgstr "" +"Підклас :class:`~email.mime.nonmultipart.MIMENonMultipart`, клас :class:" +"`MIMEText` використовується для створення об’єктів MIME основного типу :" +"mimetype:`text`. *_text* — це рядок корисного навантаження. *_subtype* є " +"другорядним типом і за замовчуванням :mimetype:`plain`. *_charset* — це " +"набір символів тексту, який передається як аргумент конструктору :class:" +"`~email.mime.nonmultipart.MIMENonMultipart`; за замовчуванням встановлено " +"``us-ascii``, якщо рядок містить лише ``ascii`` кодові точки, і ``utf-8`` " +"інакше. Параметр *_charset* приймає або рядок, або екземпляр :class:`~email." +"charset.Charset`." + +msgid "" +"Unless the *_charset* argument is explicitly set to ``None``, the MIMEText " +"object created will have both a :mailheader:`Content-Type` header with a " +"``charset`` parameter, and a :mailheader:`Content-Transfer-Encoding` " +"header. This means that a subsequent ``set_payload`` call will not result " +"in an encoded payload, even if a charset is passed in the ``set_payload`` " +"command. You can \"reset\" this behavior by deleting the ``Content-Transfer-" +"Encoding`` header, after which a ``set_payload`` call will automatically " +"encode the new payload (and add a new :mailheader:`Content-Transfer-" +"Encoding` header)." +msgstr "" +"Якщо для аргументу *_charset* явно не встановлено значення ``None``, " +"створений об’єкт MIMEText матиме як заголовок :mailheader:`Content-Type` з " +"параметром ``charset``, так і Заголовок :mailheader:`Content-Transfer-" +"Encoding`. Це означає, що наступний виклик ``set_payload`` не призведе до " +"закодованого корисного навантаження, навіть якщо кодування передано в " +"команді ``set_payload``. Ви можете \"скинути\" цю поведінку, видаливши " +"заголовок ``Content-Transfer-Encoding``, після чого виклик ``set_payload`` " +"автоматично закодує нове корисне навантаження (і додасть нове :mailheader:" +"`Content-Transfer-Encoding` заголовок)." + +msgid "*_charset* also accepts :class:`~email.charset.Charset` instances." +msgstr "*_charset* також приймає екземпляри :class:`~email.charset.Charset`." diff --git a/library/email_parser.po b/library/email_parser.po new file mode 100644 index 000000000..9ab2adf8b --- /dev/null +++ b/library/email_parser.po @@ -0,0 +1,500 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.parser`: Parsing email messages" +msgstr ":mod:`email.parser`: аналіз електронних повідомлень" + +msgid "**Source code:** :source:`Lib/email/parser.py`" +msgstr "**Вихідний код:** :source:`Lib/email/parser.py`" + +msgid "" +"Message object structures can be created in one of two ways: they can be " +"created from whole cloth by creating an :class:`~email.message.EmailMessage` " +"object, adding headers using the dictionary interface, and adding payload(s) " +"using :meth:`~email.message.EmailMessage.set_content` and related methods, " +"or they can be created by parsing a serialized representation of the email " +"message." +msgstr "" +"Структури об’єктів повідомлень можна створити одним із двох способів: їх " +"можна створити з цілої тканини, створивши об’єкт :class:`~email.message." +"EmailMessage`, додавши заголовки за допомогою інтерфейсу словника та додавши " +"корисне(і) навантаження за допомогою :meth:`~email.message.EmailMessage." +"set_content` і пов’язані методи, або їх можна створити шляхом аналізу " +"серіалізованого представлення повідомлення електронної пошти." + +msgid "" +"The :mod:`email` package provides a standard parser that understands most " +"email document structures, including MIME documents. You can pass the " +"parser a bytes, string or file object, and the parser will return to you the " +"root :class:`~email.message.EmailMessage` instance of the object structure. " +"For simple, non-MIME messages the payload of this root object will likely be " +"a string containing the text of the message. For MIME messages, the root " +"object will return ``True`` from its :meth:`~email.message.EmailMessage." +"is_multipart` method, and the subparts can be accessed via the payload " +"manipulation methods, such as :meth:`~email.message.EmailMessage.get_body`, :" +"meth:`~email.message.EmailMessage.iter_parts`, and :meth:`~email.message." +"EmailMessage.walk`." +msgstr "" +"Пакет :mod:`email` надає стандартний аналізатор, який розуміє більшість " +"структур документів електронної пошти, включаючи документи MIME. Ви можете " +"передати аналізатору байти, рядок або файловий об’єкт, і аналізатор поверне " +"вам кореневий екземпляр :class:`~email.message.EmailMessage` структури " +"об’єкта. Для простих повідомлень без MIME корисним навантаженням цього " +"кореневого об’єкта, ймовірно, буде рядок, що містить текст повідомлення. Для " +"повідомлень MIME кореневий об’єкт поверне ``True`` зі свого методу :meth:" +"`~email.message.EmailMessage.is_multipart`, а доступ до підчастин можна " +"отримати за допомогою методів маніпулювання корисним навантаженням, таких " +"як :meth:`~email.message.EmailMessage.get_body`, :meth:`~email.message." +"EmailMessage.iter_parts` і :meth:`~email.message.EmailMessage.walk`." + +msgid "" +"There are actually two parser interfaces available for use, the :class:" +"`Parser` API and the incremental :class:`FeedParser` API. The :class:" +"`Parser` API is most useful if you have the entire text of the message in " +"memory, or if the entire message lives in a file on the file system. :class:" +"`FeedParser` is more appropriate when you are reading the message from a " +"stream which might block waiting for more input (such as reading an email " +"message from a socket). The :class:`FeedParser` can consume and parse the " +"message incrementally, and only returns the root object when you close the " +"parser." +msgstr "" +"Насправді існує два інтерфейси синтаксичного аналізатора, доступні для " +"використання: :class:`Parser` API та інкрементальний :class:`FeedParser` " +"API. API :class:`Parser` найбільш корисний, якщо у вас є весь текст " +"повідомлення в пам’яті або якщо все повідомлення зберігається у файлі у " +"файловій системі. :class:`FeedParser` більше підходить, коли ви читаєте " +"повідомлення з потоку, який може блокувати очікування додаткового введення " +"(наприклад, читання повідомлення електронної пошти з сокета). :class:" +"`FeedParser` може споживати та аналізувати повідомлення поступово, і " +"повертає кореневий об’єкт лише тоді, коли ви закриваєте аналізатор." + +msgid "" +"Note that the parser can be extended in limited ways, and of course you can " +"implement your own parser completely from scratch. All of the logic that " +"connects the :mod:`email` package's bundled parser and the :class:`~email." +"message.EmailMessage` class is embodied in the :mod:`policy` class, so a " +"custom parser can create message object trees any way it finds necessary by " +"implementing custom versions of the appropriate :mod:`policy` methods." +msgstr "" +"Зверніть увагу, що синтаксичний аналізатор можна розширити обмеженими " +"способами, і, звичайно, ви можете реалізувати свій власний аналізатор " +"повністю з нуля. Уся логіка, яка з’єднує пакетний синтаксичний аналізатор " +"пакета :mod:`email` і клас :class:`~email.message.EmailMessage`, втілена в " +"класі :mod:`policy`, тому спеціальний аналізатор може створювати об’єкт " +"повідомлення дерева будь-яким способом, який вважає за необхідне, реалізуючи " +"власні версії відповідних методів :mod:`policy`." + +msgid "FeedParser API" +msgstr "API FeedParser" + +msgid "" +"The :class:`BytesFeedParser`, imported from the :mod:`email.feedparser` " +"module, provides an API that is conducive to incremental parsing of email " +"messages, such as would be necessary when reading the text of an email " +"message from a source that can block (such as a socket). The :class:" +"`BytesFeedParser` can of course be used to parse an email message fully " +"contained in a :term:`bytes-like object`, string, or file, but the :class:" +"`BytesParser` API may be more convenient for such use cases. The semantics " +"and results of the two parser APIs are identical." +msgstr "" +":class:`BytesFeedParser`, імпортований з модуля :mod:`email.feedparser`, " +"надає API, який сприяє поступовому розбору повідомлень електронної пошти, як " +"це було б необхідно під час читання тексту повідомлення електронної пошти з " +"джерела які можуть блокувати (наприклад, сокет). Звичайно, :class:" +"`BytesFeedParser` можна використовувати для аналізу повідомлення електронної " +"пошти, яке повністю міститься в :term:`bytes-like object`, рядку або файлі, " +"але API :class:`BytesParser` може бути зручнішим для такі випадки " +"використання. Семантика та результати двох API парсера ідентичні." + +msgid "" +"The :class:`BytesFeedParser`'s API is simple; you create an instance, feed " +"it a bunch of bytes until there's no more to feed it, then close the parser " +"to retrieve the root message object. The :class:`BytesFeedParser` is " +"extremely accurate when parsing standards-compliant messages, and it does a " +"very good job of parsing non-compliant messages, providing information about " +"how a message was deemed broken. It will populate a message object's :attr:" +"`~email.message.EmailMessage.defects` attribute with a list of any problems " +"it found in a message. See the :mod:`email.errors` module for the list of " +"defects that it can find." +msgstr "" +"API :class:`BytesFeedParser` простий; ви створюєте екземпляр, передаєте йому " +"купу байтів, доки більше не залишиться, а потім закриваєте аналізатор, щоб " +"отримати кореневий об’єкт повідомлення. :class:`BytesFeedParser` є " +"надзвичайно точним під час аналізу повідомлень, що відповідають стандартам, " +"і він дуже добре справляється з аналізом невідповідних повідомлень, надаючи " +"інформацію про те, як повідомлення було визнано зламаним. Він заповнить " +"атрибут :attr:`~email.message.EmailMessage.defects` об’єкта повідомлення " +"списком будь-яких проблем, знайдених у повідомленні. Дивіться модуль :mod:" +"`email.errors`, щоб переглянути список дефектів, які він може знайти." + +msgid "Here is the API for the :class:`BytesFeedParser`:" +msgstr "Ось API для :class:`BytesFeedParser`:" + +msgid "" +"Create a :class:`BytesFeedParser` instance. Optional *_factory* is a no-" +"argument callable; if not specified use the :attr:`~email.policy.Policy." +"message_factory` from the *policy*. Call *_factory* whenever a new message " +"object is needed." +msgstr "" +"Створіть екземпляр :class:`BytesFeedParser`. Необов’язковий *_factory* — " +"виклик без аргументів; якщо не вказано, використовуйте :attr:`~email.policy." +"Policy.message_factory` з *політики*. Викликати *_factory* щоразу, коли " +"потрібен новий об’єкт повідомлення." + +msgid "" +"If *policy* is specified use the rules it specifies to update the " +"representation of the message. If *policy* is not set, use the :class:" +"`compat32 ` policy, which maintains backward " +"compatibility with the Python 3.2 version of the email package and provides :" +"class:`~email.message.Message` as the default factory. All other policies " +"provide :class:`~email.message.EmailMessage` as the default *_factory*. For " +"more information on what else *policy* controls, see the :mod:`~email." +"policy` documentation." +msgstr "" +"Якщо вказано *policy*, використовуйте правила, які вона визначає, щоб " +"оновити представлення повідомлення. Якщо *policy* не налаштовано, " +"використовуйте політику :class:`compat32 `, яка " +"підтримує зворотну сумісність із версією пакета електронної пошти Python 3.2 " +"і надає :class:`~email.message.Message` як фабрику за замовчуванням. Усі " +"інші політики передбачають :class:`~email.message.EmailMessage` як " +"*_factory* за умовчанням. Щоб дізнатися більше про те, що ще контролює " +"*policy*, перегляньте документацію :mod:`~email.policy`." + +msgid "" +"Note: **The policy keyword should always be specified**; The default will " +"change to :data:`email.policy.default` in a future version of Python." +msgstr "" +"Примітка: **Ключове слово політики слід завжди вказувати**; У наступній " +"версії Python значення за умовчанням зміниться на :data:`email.policy." +"default`." + +msgid "Added the *policy* keyword." +msgstr "Додано ключове слово *політика*." + +msgid "*_factory* defaults to the policy ``message_factory``." +msgstr "*_factory* за умовчанням використовує політику ``message_factory``." + +msgid "" +"Feed the parser some more data. *data* should be a :term:`bytes-like " +"object` containing one or more lines. The lines can be partial and the " +"parser will stitch such partial lines together properly. The lines can have " +"any of the three common line endings: carriage return, newline, or carriage " +"return and newline (they can even be mixed)." +msgstr "" +"Подайте аналізатору ще трохи даних. *data* має бути :term:`bytes-like " +"object`, що містить один або більше рядків. Рядки можуть бути частковими, і " +"синтаксичний аналізатор правильно з’єднає такі часткові рядки. Рядки можуть " +"мати будь-яке з трьох загальних закінчень рядків: повернення каретки, новий " +"рядок або повернення каретки та новий рядок (вони навіть можуть бути " +"змішаними)." + +msgid "" +"Complete the parsing of all previously fed data and return the root message " +"object. It is undefined what happens if :meth:`~feed` is called after this " +"method has been called." +msgstr "" +"Завершіть розбір усіх попередньо поданих даних і поверніть кореневий об’єкт " +"повідомлення. Не визначено, що відбувається, якщо :meth:`~feed` викликається " +"після виклику цього методу." + +msgid "" +"Works like :class:`BytesFeedParser` except that the input to the :meth:" +"`~BytesFeedParser.feed` method must be a string. This is of limited " +"utility, since the only way for such a message to be valid is for it to " +"contain only ASCII text or, if :attr:`~email.policy.Policy.utf8` is " +"``True``, no binary attachments." +msgstr "" +"Працює як :class:`BytesFeedParser`, за винятком того, що вхід до методу :" +"meth:`~BytesFeedParser.feed` має бути рядком. Це має обмежену корисність, " +"оскільки єдиний спосіб зробити таке повідомлення дійсним — це містити лише " +"текст ASCII або, якщо :attr:`~email.policy.Policy.utf8` має значення " +"``True``, не мати двійкового коду вкладення." + +msgid "Parser API" +msgstr "API парсера" + +msgid "" +"The :class:`BytesParser` class, imported from the :mod:`email.parser` " +"module, provides an API that can be used to parse a message when the " +"complete contents of the message are available in a :term:`bytes-like " +"object` or file. The :mod:`email.parser` module also provides :class:" +"`Parser` for parsing strings, and header-only parsers, :class:" +"`BytesHeaderParser` and :class:`HeaderParser`, which can be used if you're " +"only interested in the headers of the message. :class:`BytesHeaderParser` " +"and :class:`HeaderParser` can be much faster in these situations, since they " +"do not attempt to parse the message body, instead setting the payload to the " +"raw body." +msgstr "" +"Клас :class:`BytesParser`, імпортований з модуля :mod:`email.parser`, надає " +"API, який можна використовувати для аналізу повідомлення, коли повний вміст " +"повідомлення доступний у :term:`bytes-like object` або файл. Модуль :mod:" +"`email.parser` також містить :class:`Parser` для аналізу рядків і " +"аналізатори лише заголовків, :class:`BytesHeaderParser` і :class:" +"`HeaderParser`, які можна використовувати, якщо ви цікавляться лише " +"заголовками повідомлень. :class:`BytesHeaderParser` і :class:`HeaderParser` " +"можуть бути набагато швидшими в цих ситуаціях, оскільки вони не намагаються " +"проаналізувати тіло повідомлення, натомість встановлюючи корисне " +"навантаження на необроблене тіло." + +msgid "" +"Create a :class:`BytesParser` instance. The *_class* and *policy* arguments " +"have the same meaning and semantics as the *_factory* and *policy* arguments " +"of :class:`BytesFeedParser`." +msgstr "" +"Створіть екземпляр :class:`BytesParser`. Аргументи *_class* і *policy* мають " +"те саме значення й семантику, що й аргументи *_factory* і *policy* :class:" +"`BytesFeedParser`." + +msgid "" +"Removed the *strict* argument that was deprecated in 2.4. Added the " +"*policy* keyword." +msgstr "" +"Видалено аргумент *strict*, який був застарілим у версії 2.4. Додано ключове " +"слово *політика*." + +msgid "*_class* defaults to the policy ``message_factory``." +msgstr "*_class* за умовчанням використовує політику ``message_factory``." + +msgid "" +"Read all the data from the binary file-like object *fp*, parse the resulting " +"bytes, and return the message object. *fp* must support both the :meth:`~io." +"IOBase.readline` and the :meth:`~io.IOBase.read` methods." +msgstr "" +"Прочитати всі дані з двійкового файлоподібного об’єкта *fp*, проаналізувати " +"отримані байти та повернути об’єкт повідомлення. *fp* має підтримувати як " +"методи :meth:`~io.IOBase.readline`, так і :meth:`~io.IOBase.read`." + +msgid "" +"The bytes contained in *fp* must be formatted as a block of :rfc:`5322` (or, " +"if :attr:`~email.policy.Policy.utf8` is ``True``, :rfc:`6532`) style headers " +"and header continuation lines, optionally preceded by an envelope header. " +"The header block is terminated either by the end of the data or by a blank " +"line. Following the header block is the body of the message (which may " +"contain MIME-encoded subparts, including subparts with a :mailheader:" +"`Content-Transfer-Encoding` of ``8bit``)." +msgstr "" +"Байти, що містяться у *fp*, мають бути відформатовані як блок :rfc:`5322` " +"(або, якщо :attr:`~email.policy.Policy.utf8` має значення ``True``, :rfc:" +"`6532` ) заголовки стилю та рядки продовження заголовка, необов’язково " +"передуючими заголовком конверта. Блок заголовка завершується або кінцем " +"даних, або порожнім рядком. Після блоку заголовка йде тіло повідомлення (яке " +"може містити частини в кодуванні MIME, включаючи частини з :mailheader:" +"`Content-Transfer-Encoding` ``8bit``)." + +msgid "" +"Optional *headersonly* is a flag specifying whether to stop parsing after " +"reading the headers or not. The default is ``False``, meaning it parses the " +"entire contents of the file." +msgstr "" +"Необов’язковий параметр *headersonly* — це позначка, яка вказує, чи зупиняти " +"аналіз після читання заголовків. Типовим значенням є ``False``, що означає, " +"що аналізується весь вміст файлу." + +msgid "" +"Similar to the :meth:`parse` method, except it takes a :term:`bytes-like " +"object` instead of a file-like object. Calling this method on a :term:" +"`bytes-like object` is equivalent to wrapping *bytes* in a :class:`~io." +"BytesIO` instance first and calling :meth:`parse`." +msgstr "" +"Подібний до методу :meth:`parse`, за винятком того, що він приймає :term:" +"`bytes-like object` замість файлоподібного об’єкта. Виклик цього методу для :" +"term:`bytes-подібного об’єкта` еквівалентний обгортанню *bytes* в " +"екземплярі :class:`~io.BytesIO` і виклику :meth:`parse`." + +msgid "Optional *headersonly* is as with the :meth:`parse` method." +msgstr "" +"Необов’язковий *headersonly* такий же, як у випадку з методом :meth:`parse`." + +msgid "" +"Exactly like :class:`BytesParser`, except that *headersonly* defaults to " +"``True``." +msgstr "" +"Точно так само, як :class:`BytesParser`, за винятком того, що *headersonly* " +"за умовчанням має значення ``True``." + +msgid "" +"This class is parallel to :class:`BytesParser`, but handles string input." +msgstr "" +"Цей клас є паралельним до :class:`BytesParser`, але обробляє введення рядків." + +msgid "Removed the *strict* argument. Added the *policy* keyword." +msgstr "Видалено *суворий* аргумент. Додано ключове слово *політика*." + +msgid "" +"Read all the data from the text-mode file-like object *fp*, parse the " +"resulting text, and return the root message object. *fp* must support both " +"the :meth:`~io.TextIOBase.readline` and the :meth:`~io.TextIOBase.read` " +"methods on file-like objects." +msgstr "" +"Прочитати всі дані з файлоподібного об’єкта текстового режиму *fp*, " +"проаналізувати отриманий текст і повернути кореневий об’єкт повідомлення. " +"*fp* має підтримувати як методи :meth:`~io.TextIOBase.readline`, так і :meth:" +"`~io.TextIOBase.read` для файлоподібних об’єктів." + +msgid "" +"Other than the text mode requirement, this method operates like :meth:" +"`BytesParser.parse`." +msgstr "" +"За винятком вимог текстового режиму, цей метод працює як :meth:`BytesParser." +"parse`." + +msgid "" +"Similar to the :meth:`parse` method, except it takes a string object instead " +"of a file-like object. Calling this method on a string is equivalent to " +"wrapping *text* in a :class:`~io.StringIO` instance first and calling :meth:" +"`parse`." +msgstr "" +"Подібний до методу :meth:`parse`, за винятком того, що він приймає рядковий " +"об’єкт замість файлоподібного об’єкта. Виклик цього методу для рядка " +"еквівалентний обгортанню *тексту* в екземплярі :class:`~io.StringIO` і " +"виклику :meth:`parse`." + +msgid "" +"Exactly like :class:`Parser`, except that *headersonly* defaults to ``True``." +msgstr "" +"Точно так само, як :class:`Parser`, за винятком того, що *headersonly* за " +"замовчуванням має значення ``True``." + +msgid "" +"Since creating a message object structure from a string or a file object is " +"such a common task, four functions are provided as a convenience. They are " +"available in the top-level :mod:`email` package namespace." +msgstr "" +"Оскільки створення структури об’єкта повідомлення з рядка або файлового " +"об’єкта є таким поширеним завданням, для зручності передбачено чотири " +"функції. Вони доступні в просторі імен пакета :mod:`email` верхнього рівня." + +msgid "" +"Return a message object structure from a :term:`bytes-like object`. This is " +"equivalent to ``BytesParser().parsebytes(s)``. Optional *_class* and " +"*policy* are interpreted as with the :class:`~email.parser.BytesParser` " +"class constructor." +msgstr "" +"Повертає структуру об’єкта повідомлення з :term:`bytes-like object`. Це " +"еквівалентно ``BytesParser().parsebytes(s)``. Необов’язкові *_class* і " +"*policy* інтерпретуються як конструктор класу :class:`~email.parser." +"BytesParser`." + +msgid "" +"Return a message object structure tree from an open binary :term:`file " +"object`. This is equivalent to ``BytesParser().parse(fp)``. *_class* and " +"*policy* are interpreted as with the :class:`~email.parser.BytesParser` " +"class constructor." +msgstr "" +"Повертає дерево структури об’єкта повідомлення з відкритого двійкового " +"файлу :term:`file object`. Це еквівалентно ``BytesParser().parse(fp)``. " +"*_class* і *policy* інтерпретуються як конструктор класу :class:`~email." +"parser.BytesParser`." + +msgid "" +"Return a message object structure from a string. This is equivalent to " +"``Parser().parsestr(s)``. *_class* and *policy* are interpreted as with " +"the :class:`~email.parser.Parser` class constructor." +msgstr "" +"Повертає структуру об’єкта повідомлення з рядка. Це еквівалентно ``Parser()." +"parsestr(s)``. *_class* і *policy* інтерпретуються як конструктор класу :" +"class:`~email.parser.Parser`." + +msgid "" +"Return a message object structure tree from an open :term:`file object`. " +"This is equivalent to ``Parser().parse(fp)``. *_class* and *policy* are " +"interpreted as with the :class:`~email.parser.Parser` class constructor." +msgstr "" +"Повертає дерево структури об’єкта повідомлення з відкритого :term:`file " +"object`. Це еквівалентно ``Parser().parse(fp)``. *_class* і *policy* " +"інтерпретуються як конструктор класу :class:`~email.parser.Parser`." + +msgid "" +"Here's an example of how you might use :func:`message_from_bytes` at an " +"interactive Python prompt::" +msgstr "" +"Ось приклад того, як можна використовувати :func:`message_from_bytes` в " +"інтерактивному запиті Python::" + +msgid "Additional notes" +msgstr "Додаткові нотатки" + +msgid "Here are some notes on the parsing semantics:" +msgstr "Ось деякі зауваження щодо семантики аналізу:" + +msgid "" +"Most non-\\ :mimetype:`multipart` type messages are parsed as a single " +"message object with a string payload. These objects will return ``False`` " +"for :meth:`~email.message.EmailMessage.is_multipart`, and :meth:`~email." +"message.EmailMessage.iter_parts` will yield an empty list." +msgstr "" +"Більшість повідомлень не типу \\ :mimetype:`multipart` аналізуються як один " +"об’єкт повідомлення з корисним навантаженням рядка. Ці об’єкти повернуть " +"``False`` для :meth:`~email.message.EmailMessage.is_multipart`, а :meth:" +"`~email.message.EmailMessage.iter_parts` дасть порожній список." + +msgid "" +"All :mimetype:`multipart` type messages will be parsed as a container " +"message object with a list of sub-message objects for their payload. The " +"outer container message will return ``True`` for :meth:`~email.message." +"EmailMessage.is_multipart`, and :meth:`~email.message.EmailMessage." +"iter_parts` will yield a list of subparts." +msgstr "" +"Усі повідомлення типу :mimetype:`multipart` аналізуватимуться як " +"контейнерний об’єкт повідомлення зі списком об’єктів підповідомлення для їх " +"корисного навантаження. Повідомлення зовнішнього контейнера поверне ``True`` " +"для :meth:`~email.message.EmailMessage.is_multipart`, а :meth:`~email." +"message.EmailMessage.iter_parts` дасть список підчастин." + +msgid "" +"Most messages with a content type of :mimetype:`message/\\*` (such as :" +"mimetype:`message/delivery-status` and :mimetype:`message/rfc822`) will also " +"be parsed as container object containing a list payload of length 1. Their :" +"meth:`~email.message.EmailMessage.is_multipart` method will return ``True``. " +"The single element yielded by :meth:`~email.message.EmailMessage.iter_parts` " +"will be a sub-message object." +msgstr "" +"Більшість повідомлень із типом вмісту :mimetype:`message/\\*` (наприклад, :" +"mimetype:`message/delivery-status` і :mimetype:`message/rfc822`) також " +"аналізуватимуться як об’єкт-контейнер, що містить корисне навантаження " +"списку довжиною 1. Їхній метод :meth:`~email.message.EmailMessage." +"is_multipart` поверне значення ``True``. Єдиний елемент, отриманий :meth:" +"`~email.message.EmailMessage.iter_parts`, буде об’єктом підповідомлення." + +msgid "" +"Some non-standards-compliant messages may not be internally consistent about " +"their :mimetype:`multipart`\\ -edness. Such messages may have a :mailheader:" +"`Content-Type` header of type :mimetype:`multipart`, but their :meth:`~email." +"message.EmailMessage.is_multipart` method may return ``False``. If such " +"messages were parsed with the :class:`~email.parser.FeedParser`, they will " +"have an instance of the :class:`~email.errors." +"MultipartInvariantViolationDefect` class in their *defects* attribute list. " +"See :mod:`email.errors` for details." +msgstr "" +"Деякі повідомлення, що не відповідають стандартам, можуть бути внутрішньо " +"неузгодженими щодо їх :mimetype:`multipart`\\ -edness. Такі повідомлення " +"можуть мати заголовок :mailheader:`Content-Type` типу :mimetype:`multipart`, " +"але їхній метод :meth:`~email.message.EmailMessage.is_multipart` може " +"повертати значення ``False``. Якщо такі повідомлення були проаналізовані за " +"допомогою :class:`~email.parser.FeedParser`, вони матимуть екземпляр класу :" +"class:`~email.errors.MultipartInvariantViolationDefect` у своєму списку " +"атрибутів *defects*. Перегляньте :mod:`email.errors` для деталей." diff --git a/library/email_policy.po b/library/email_policy.po new file mode 100644 index 000000000..bcc1d34fa --- /dev/null +++ b/library/email_policy.po @@ -0,0 +1,974 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.policy`: Policy Objects" +msgstr ":mod:`email.policy`: Об’єкти політики" + +msgid "**Source code:** :source:`Lib/email/policy.py`" +msgstr "**Вихідний код:** :source:`Lib/email/policy.py`" + +msgid "" +"The :mod:`email` package's prime focus is the handling of email messages as " +"described by the various email and MIME RFCs. However, the general format " +"of email messages (a block of header fields each consisting of a name " +"followed by a colon followed by a value, the whole block followed by a blank " +"line and an arbitrary 'body'), is a format that has found utility outside of " +"the realm of email. Some of these uses conform fairly closely to the main " +"email RFCs, some do not. Even when working with email, there are times when " +"it is desirable to break strict compliance with the RFCs, such as generating " +"emails that interoperate with email servers that do not themselves follow " +"the standards, or that implement extensions you want to use in ways that " +"violate the standards." +msgstr "" +"Пакунок :mod:`email` головним чином зосереджується на обробці повідомлень " +"електронної пошти, як описано в різних RFC електронної пошти та MIME. Однак " +"загальний формат повідомлень електронної пошти (блок полів заголовка, кожне " +"з яких складається з назви, за якою йде двокрапка, за якою йде значення, " +"весь блок, після якого йде порожній рядок і довільний \"тіло\"), — це " +"формат, який знайшов утиліта за межами сфери електронної пошти. Деякі з цих " +"способів використання досить точно відповідають основним RFC електронної " +"пошти, інші – ні. Навіть під час роботи з електронною поштою бувають " +"випадки, коли бажано порушити сувору відповідність RFC, наприклад, " +"створювати електронні листи, які взаємодіють із серверами електронної пошти, " +"які самі по собі не дотримуються стандартів, або які реалізують розширення, " +"які ви хочете використовувати, у спосіб, який порушує стандарти." + +msgid "" +"Policy objects give the email package the flexibility to handle all these " +"disparate use cases." +msgstr "" +"Об’єкти політики надають пакету електронної пошти гнучкість для обробки всіх " +"цих різнорідних випадків використання." + +msgid "" +"A :class:`Policy` object encapsulates a set of attributes and methods that " +"control the behavior of various components of the email package during use. :" +"class:`Policy` instances can be passed to various classes and methods in the " +"email package to alter the default behavior. The settable values and their " +"defaults are described below." +msgstr "" +"Об’єкт :class:`Policy` інкапсулює набір атрибутів і методів, які контролюють " +"поведінку різних компонентів пакета електронної пошти під час використання. " +"Екземпляри :class:`Policy` можна передати різним класам і методам у пакеті " +"електронної пошти, щоб змінити типову поведінку. Нижче описано встановлені " +"значення та їх значення за замовчуванням." + +msgid "" +"There is a default policy used by all classes in the email package. For all " +"of the :mod:`~email.parser` classes and the related convenience functions, " +"and for the :class:`~email.message.Message` class, this is the :class:" +"`Compat32` policy, via its corresponding pre-defined instance :const:" +"`compat32`. This policy provides for complete backward compatibility (in " +"some cases, including bug compatibility) with the pre-Python3.3 version of " +"the email package." +msgstr "" +"Існує політика за замовчуванням, яка використовується всіма класами в пакеті " +"електронної пошти. Для всіх класів :mod:`~email.parser` і відповідних " +"функцій зручності, а також для класу :class:`~email.message.Message`, це " +"політика :class:`Compat32` через відповідну політику попередньо визначений " +"екземпляр :const:`compat32`. Ця політика забезпечує повну зворотну " +"сумісність (у деяких випадках, включаючи сумісність із помилками) із версією " +"пакета електронної пошти до Python3.3." + +msgid "" +"This default value for the *policy* keyword to :class:`~email.message." +"EmailMessage` is the :class:`EmailPolicy` policy, via its pre-defined " +"instance :data:`~default`." +msgstr "" +"Це значення за умовчанням для ключового слова *policy* для :class:`~email." +"message.EmailMessage` є політикою :class:`EmailPolicy` через її попередньо " +"визначений екземпляр :data:`~default`." + +msgid "" +"When a :class:`~email.message.Message` or :class:`~email.message." +"EmailMessage` object is created, it acquires a policy. If the message is " +"created by a :mod:`~email.parser`, a policy passed to the parser will be the " +"policy used by the message it creates. If the message is created by the " +"program, then the policy can be specified when it is created. When a " +"message is passed to a :mod:`~email.generator`, the generator uses the " +"policy from the message by default, but you can also pass a specific policy " +"to the generator that will override the one stored on the message object." +msgstr "" +"Коли створюється об’єкт :class:`~email.message.Message` або :class:`~email." +"message.EmailMessage`, він отримує політику. Якщо повідомлення створено :mod:" +"`~email.parser`, політика, передана аналізатору, буде політикою, яка " +"використовується у створеному ним повідомленні. Якщо повідомлення " +"створюється програмою, то під час його створення можна вказати політику. " +"Коли повідомлення передається до :mod:`~email.generator`, генератор " +"використовує політику з повідомлення за замовчуванням, але ви також можете " +"передати певну політику генератору, яка замінить політику, збережену в " +"об’єкті повідомлення." + +msgid "" +"The default value for the *policy* keyword for the :mod:`email.parser` " +"classes and the parser convenience functions **will be changing** in a " +"future version of Python. Therefore you should **always specify explicitly " +"which policy you want to use** when calling any of the classes and functions " +"described in the :mod:`~email.parser` module." +msgstr "" +"Значення за замовчуванням для ключового слова *policy* для класів :mod:" +"`email.parser` і зручних функцій синтаксичного аналізатора **буде змінено** " +"в наступній версії Python. Тому ви повинні **завжди чітко вказувати, яку " +"політику ви хочете використовувати** під час виклику будь-якого з класів і " +"функцій, описаних у модулі :mod:`~email.parser`." + +msgid "" +"The first part of this documentation covers the features of :class:`Policy`, " +"an :term:`abstract base class` that defines the features that are common to " +"all policy objects, including :const:`compat32`. This includes certain hook " +"methods that are called internally by the email package, which a custom " +"policy could override to obtain different behavior. The second part " +"describes the concrete classes :class:`EmailPolicy` and :class:`Compat32`, " +"which implement the hooks that provide the standard behavior and the " +"backward compatible behavior and features, respectively." +msgstr "" +"Перша частина цієї документації охоплює функції :class:`Policy`, :term:" +"`abstract base class`, який визначає функції, спільні для всіх об’єктів " +"політики, включаючи :const:`compat32`. Це включає в себе певні методи " +"підключення, які викликаються внутрішньо пакетом електронної пошти, які " +"спеціальна політика може замінити, щоб отримати іншу поведінку. Друга " +"частина описує конкретні класи :class:`EmailPolicy` і :class:`Compat32`, які " +"реалізують хуки, які забезпечують стандартну поведінку та зворотну " +"сумісність і функції відповідно." + +msgid "" +":class:`Policy` instances are immutable, but they can be cloned, accepting " +"the same keyword arguments as the class constructor and returning a new :" +"class:`Policy` instance that is a copy of the original but with the " +"specified attributes values changed." +msgstr "" +"Екземпляри :class:`Policy` незмінні, але їх можна клонувати, приймаючи ті " +"самі аргументи ключового слова, що й конструктор класу, і повертаючи новий " +"екземпляр :class:`Policy`, який є копією оригіналу, але зі зміненими " +"значеннями вказаних атрибутів ." + +msgid "" +"As an example, the following code could be used to read an email message " +"from a file on disk and pass it to the system ``sendmail`` program on a Unix " +"system:" +msgstr "" +"Як приклад, наступний код можна використати для читання повідомлення " +"електронної пошти з файлу на диску та передачі його системній програмі " +"``sendmail`` в системі Unix:" + +msgid "" +"Here we are telling :class:`~email.generator.BytesGenerator` to use the RFC " +"correct line separator characters when creating the binary string to feed " +"into ``sendmail's`` ``stdin``, where the default policy would use ``\\n`` " +"line separators." +msgstr "" +"Тут ми повідомляємо :class:`~email.generator.BytesGenerator` використовувати " +"правильні символи роздільників рядків RFC під час створення двійкового рядка " +"для передачі в ``stdin`` ``sendmail``, де політика за замовчуванням " +"використовуватиме ``\\n`` роздільники рядків." + +msgid "" +"Some email package methods accept a *policy* keyword argument, allowing the " +"policy to be overridden for that method. For example, the following code " +"uses the :meth:`~email.message.Message.as_bytes` method of the *msg* object " +"from the previous example and writes the message to a file using the native " +"line separators for the platform on which it is running::" +msgstr "" +"Деякі методи пакетів електронної пошти приймають аргумент ключового слова " +"*policy*, що дозволяє перевизначати політику для цього методу. Наприклад, у " +"наступному коді використовується метод :meth:`~email.message.Message." +"as_bytes` об’єкта *msg* із попереднього прикладу та записує повідомлення у " +"файл, використовуючи рідні розділювачі рядків для платформи, на якій воно " +"біжить::" + +msgid "" +"Policy objects can also be combined using the addition operator, producing a " +"policy object whose settings are a combination of the non-default values of " +"the summed objects::" +msgstr "" +"Об’єкти політики також можна комбінувати за допомогою оператора додавання, " +"утворюючи об’єкт політики, параметри якого є комбінацією нестандартних " +"значень сумованих об’єктів::" + +msgid "" +"This operation is not commutative; that is, the order in which the objects " +"are added matters. To illustrate::" +msgstr "" +"Ця операція не є комутативною; тобто порядок, у якому додаються об’єкти, має " +"значення. Проілюструвати::" + +msgid "" +"This is the :term:`abstract base class` for all policy classes. It provides " +"default implementations for a couple of trivial methods, as well as the " +"implementation of the immutability property, the :meth:`clone` method, and " +"the constructor semantics." +msgstr "" +"Це :term:`abstract base class` для всіх класів політики. Він забезпечує " +"реалізацію за замовчуванням для кількох тривіальних методів, а також " +"реалізацію властивості незмінності, метод :meth:`clone` і семантику " +"конструктора." + +msgid "" +"The constructor of a policy class can be passed various keyword arguments. " +"The arguments that may be specified are any non-method properties on this " +"class, plus any additional non-method properties on the concrete class. A " +"value specified in the constructor will override the default value for the " +"corresponding attribute." +msgstr "" +"Конструктору класу політики можна передати різні ключові аргументи. " +"Аргументами, які можна вказати, є будь-які неметодні властивості цього " +"класу, а також будь-які додаткові неметодні властивості конкретного класу. " +"Значення, указане в конструкторі, замінить значення за замовчуванням для " +"відповідного атрибута." + +msgid "" +"This class defines the following properties, and thus values for the " +"following may be passed in the constructor of any policy class:" +msgstr "" +"Цей клас визначає наступні властивості, і, отже, значення для наступного " +"можна передати в конструктор будь-якого класу політики:" + +msgid "" +"The maximum length of any line in the serialized output, not counting the " +"end of line character(s). Default is 78, per :rfc:`5322`. A value of ``0`` " +"or :const:`None` indicates that no line wrapping should be done at all." +msgstr "" +"Максимальна довжина будь-якого рядка в серіалізованому виведенні, не " +"враховуючи символ(и) кінця рядка. За замовчуванням 78 відповідно до :rfc:" +"`5322`. Значення ``0`` або :const:`None` вказує на те, що перенесення рядків " +"не потрібно виконувати взагалі." + +msgid "" +"The string to be used to terminate lines in serialized output. The default " +"is ``\\n`` because that's the internal end-of-line discipline used by " +"Python, though ``\\r\\n`` is required by the RFCs." +msgstr "" +"Рядок, який буде використовуватися для завершення рядків у серіалізованому " +"виведенні. Типовим є ``\\n``, оскільки це внутрішня дисципліна кінця рядка, " +"яка використовується Python, хоча ``\\r\\n`` вимагається RFC." + +msgid "" +"Controls the type of Content Transfer Encodings that may be or are required " +"to be used. The possible values are:" +msgstr "" +"Керує типом кодувань передачі вмісту, які можуть або повинні " +"використовуватися. Можливі значення:" + +msgid "``7bit``" +msgstr "``7 біт``" + +msgid "" +"all data must be \"7 bit clean\" (ASCII-only). This means that where " +"necessary data will be encoded using either quoted-printable or base64 " +"encoding." +msgstr "" +"усі дані мають бути \"7-бітними чистими\" (лише ASCII). Це означає, що там, " +"де це необхідно, дані будуть закодовані з використанням кодування для друку " +"в цитатах або кодування base64." + +msgid "``8bit``" +msgstr "``8 біт``" + +msgid "" +"data is not constrained to be 7 bit clean. Data in headers is still " +"required to be ASCII-only and so will be encoded (see :meth:`fold_binary` " +"and :attr:`~EmailPolicy.utf8` below for exceptions), but body parts may use " +"the ``8bit`` CTE." +msgstr "" +"дані не мають обмежень бути чистими 7 біт. Дані в заголовках, як і раніше, " +"повинні бути лише ASCII, тому вони будуть закодовані (див. :meth:" +"`fold_binary` і :attr:`~EmailPolicy.utf8` нижче для винятків), але частини " +"тіла можуть використовувати ``8bit`` CTE." + +msgid "" +"A ``cte_type`` value of ``8bit`` only works with ``BytesGenerator``, not " +"``Generator``, because strings cannot contain binary data. If a " +"``Generator`` is operating under a policy that specifies ``cte_type=8bit``, " +"it will act as if ``cte_type`` is ``7bit``." +msgstr "" +"Значення ``cte_type`` ``8bit`` працює лише з ``BytesGenerator``, а не " +"``Generator``, оскільки рядки не можуть містити двійкові дані. Якщо " +"``генератор`` працює відповідно до політики, яка визначає ``cte_type=8bit``, " +"він діятиме так, ніби ``cte_type`` має значення ``7bit``." + +msgid "" +"If :const:`True`, any defects encountered will be raised as errors. If :" +"const:`False` (the default), defects will be passed to the :meth:" +"`register_defect` method." +msgstr "" +"Якщо :const:`True`, будь-які виявлені дефекти визначатимуться як помилки. " +"Якщо :const:`False` (за замовчуванням), дефекти будуть передані в метод :" +"meth:`register_defect`." + +msgid "" +"If :const:`True`, lines starting with *\"From \"* in the body are escaped by " +"putting a ``>`` in front of them. This parameter is used when the message is " +"being serialized by a generator. Default: :const:`False`." +msgstr "" +"Якщо :const:`True`, рядки, що починаються з *\"From \"* у тілі, екрануються " +"шляхом розміщення ``>`` перед ними. Цей параметр використовується, коли " +"повідомлення серіалізується генератором. Типове значення: :const:`False`." + +msgid "The *mangle_from_* parameter." +msgstr "Параметр *mangle_from_*." + +msgid "" +"A factory function for constructing a new empty message object. Used by the " +"parser when building messages. Defaults to ``None``, in which case :class:" +"`~email.message.Message` is used." +msgstr "" +"Фабрична функція для створення нового порожнього об’єкта повідомлення. " +"Використовується аналізатором під час створення повідомлень. За " +"замовчуванням ``None``, у цьому випадку використовується :class:`~email." +"message.Message`." + +msgid "" +"The following :class:`Policy` method is intended to be called by code using " +"the email library to create policy instances with custom settings:" +msgstr "" +"Наступний метод :class:`Policy` призначений для виклику за допомогою коду за " +"допомогою бібліотеки електронної пошти для створення екземплярів політики з " +"настроюваними налаштуваннями:" + +msgid "" +"Return a new :class:`Policy` instance whose attributes have the same values " +"as the current instance, except where those attributes are given new values " +"by the keyword arguments." +msgstr "" +"Повертає новий екземпляр :class:`Policy`, атрибути якого мають ті самі " +"значення, що й поточний екземпляр, за винятком тих випадків, коли ці " +"атрибути отримують нові значення аргументами ключового слова." + +msgid "" +"The remaining :class:`Policy` methods are called by the email package code, " +"and are not intended to be called by an application using the email package. " +"A custom policy must implement all of these methods." +msgstr "" +"Решта методів :class:`Policy` викликається кодом пакета електронної пошти і " +"не призначена для виклику програмою, яка використовує пакет електронної " +"пошти. Спеціальна політика повинна реалізовувати всі ці методи." + +msgid "" +"Handle a *defect* found on *obj*. When the email package calls this method, " +"*defect* will always be a subclass of :class:`~email.errors.Defect`." +msgstr "" +"Виправити *дефект*, знайдений на *obj*. Коли пакет електронної пошти " +"викликає цей метод, *defect* завжди буде підкласом :class:`~email.errors." +"Defect`." + +msgid "" +"The default implementation checks the :attr:`raise_on_defect` flag. If it " +"is ``True``, *defect* is raised as an exception. If it is ``False`` (the " +"default), *obj* and *defect* are passed to :meth:`register_defect`." +msgstr "" +"Стандартна реалізація перевіряє прапорець :attr:`raise_on_defect`. Якщо " +"значення ``True``, *defect* створюється як виняток. Якщо значення ``False`` " +"(за замовчуванням), *obj* і *defect* передаються в :meth:`register_defect`." + +msgid "" +"Register a *defect* on *obj*. In the email package, *defect* will always be " +"a subclass of :class:`~email.errors.Defect`." +msgstr "" +"Зареєструйте *дефект* на *obj*. У пакеті електронної пошти *defect* завжди " +"буде підкласом :class:`~email.errors.Defect`." + +msgid "" +"The default implementation calls the ``append`` method of the ``defects`` " +"attribute of *obj*. When the email package calls :attr:`handle_defect`, " +"*obj* will normally have a ``defects`` attribute that has an ``append`` " +"method. Custom object types used with the email package (for example, " +"custom ``Message`` objects) should also provide such an attribute, otherwise " +"defects in parsed messages will raise unexpected errors." +msgstr "" +"Стандартна реалізація викликає метод ``append`` атрибута ``defects`` *obj*. " +"Коли пакет електронної пошти викликає :attr:`handle_defect`, *obj* зазвичай " +"матиме атрибут ``defects``, який має метод ``append``. Спеціальні типи " +"об’єктів, які використовуються з пакетом електронної пошти (наприклад, " +"спеціальні об’єкти ``Message``), також повинні надавати такий атрибут, " +"інакше дефекти в проаналізованих повідомленнях призведуть до неочікуваних " +"помилок." + +msgid "Return the maximum allowed number of headers named *name*." +msgstr "Повертає максимально дозволену кількість заголовків із назвою *ім’я*." + +msgid "" +"Called when a header is added to an :class:`~email.message.EmailMessage` or :" +"class:`~email.message.Message` object. If the returned value is not ``0`` " +"or ``None``, and there are already a number of headers with the name *name* " +"greater than or equal to the value returned, a :exc:`ValueError` is raised." +msgstr "" +"Викликається, коли заголовок додається до об’єкта :class:`~email.message." +"EmailMessage` або :class:`~email.message.Message`. Якщо повернуте значення " +"не є ``0`` або ``None``, і вже існує кількість заголовків з іменем *name*, " +"більшим або рівним поверненому значенню, виникає :exc:`ValueError` ." + +msgid "" +"Because the default behavior of ``Message.__setitem__`` is to append the " +"value to the list of headers, it is easy to create duplicate headers without " +"realizing it. This method allows certain headers to be limited in the " +"number of instances of that header that may be added to a ``Message`` " +"programmatically. (The limit is not observed by the parser, which will " +"faithfully produce as many headers as exist in the message being parsed.)" +msgstr "" +"Оскільки за замовчуванням ``Message.__setitem__`` додає значення до списку " +"заголовків, легко створити дублікати заголовків, не усвідомлюючи цього. Цей " +"метод дозволяє обмежити певні заголовки в кількості екземплярів цього " +"заголовка, які можна додати до ``повідомлення`` програмним шляхом. " +"(Обмеження не дотримується синтаксичним аналізатором, який сумлінно створить " +"стільки заголовків, скільки існує в повідомленні, що аналізується.)" + +msgid "The default implementation returns ``None`` for all header names." +msgstr "" +"Реалізація за замовчуванням повертає ``None`` для всіх імен заголовків." + +msgid "" +"The email package calls this method with a list of strings, each string " +"ending with the line separation characters found in the source being " +"parsed. The first line includes the field header name and separator. All " +"whitespace in the source is preserved. The method should return the " +"``(name, value)`` tuple that is to be stored in the ``Message`` to represent " +"the parsed header." +msgstr "" +"Пакет електронної пошти викликає цей метод зі списком рядків, кожен рядок " +"закінчується символами розділення рядків, знайденими в джерелі, що " +"аналізується. Перший рядок містить назву заголовка поля та роздільник. Усі " +"пробіли в джерелі збережено. Метод має повертати кортеж ``(name, value)``, " +"який має зберігатися в ``Message`` для представлення аналізованого заголовка." + +msgid "" +"If an implementation wishes to retain compatibility with the existing email " +"package policies, *name* should be the case preserved name (all characters " +"up to the '``:``' separator), while *value* should be the unfolded value " +"(all line separator characters removed, but whitespace kept intact), " +"stripped of leading whitespace." +msgstr "" +"Якщо реалізація бажає зберегти сумісність із існуючими політиками пакетів " +"електронної пошти, *ім’я* має бути ім’ям із збереженням регістру (усі " +"символи до роздільника \"``:``), тоді як *значення* має бути розгорнутим " +"значенням (усі символи-роздільники рядків видалено, але пробіли збережено " +"без змін), видалено пробіли на початку." + +msgid "*sourcelines* may contain surrogateescaped binary data." +msgstr "*вихідні лінії* можуть містити сурогатні двійкові дані." + +msgid "There is no default implementation" +msgstr "Реалізації за замовчуванням немає" + +msgid "" +"The email package calls this method with the name and value provided by the " +"application program when the application program is modifying a ``Message`` " +"programmatically (as opposed to a ``Message`` created by a parser). The " +"method should return the ``(name, value)`` tuple that is to be stored in the " +"``Message`` to represent the header." +msgstr "" +"Пакет електронної пошти викликає цей метод із назвою та значенням, наданими " +"прикладною програмою, коли прикладна програма програмно змінює " +"``повідомлення`` (на відміну від ``повідомлення``, створеного аналізатором). " +"Метод має повертати кортеж ``(name, value)``, який має зберігатися в " +"``Message`` для представлення заголовка." + +msgid "" +"If an implementation wishes to retain compatibility with the existing email " +"package policies, the *name* and *value* should be strings or string " +"subclasses that do not change the content of the passed in arguments." +msgstr "" +"Якщо реалізація бажає зберегти сумісність із існуючими політиками пакетів " +"електронної пошти, *ім’я* та *значення* мають бути рядками або підкласами " +"рядків, які не змінюють вміст переданих аргументів." + +msgid "" +"The email package calls this method with the *name* and *value* currently " +"stored in the ``Message`` when that header is requested by the application " +"program, and whatever the method returns is what is passed back to the " +"application as the value of the header being retrieved. Note that there may " +"be more than one header with the same name stored in the ``Message``; the " +"method is passed the specific name and value of the header destined to be " +"returned to the application." +msgstr "" +"Пакет електронної пошти викликає цей метод із *ім’ям* і *значенням*, які " +"наразі зберігаються в ``Message``, коли прикладна програма запитує цей " +"заголовок, і те, що метод повертає, передається назад до програми як " +"значення заголовка, що витягується. Зауважте, що в ``Повідомленні`` може " +"бути більше одного заголовка з однаковою назвою; методу передається " +"конкретне ім'я та значення заголовка, призначеного для повернення до " +"програми." + +msgid "" +"*value* may contain surrogateescaped binary data. There should be no " +"surrogateescaped binary data in the value returned by the method." +msgstr "" +"*значення* може містити сурогатні екрановані двійкові дані. У значенні, яке " +"повертає метод, не повинно бути сурогатних двійкових даних." + +msgid "" +"The email package calls this method with the *name* and *value* currently " +"stored in the ``Message`` for a given header. The method should return a " +"string that represents that header \"folded\" correctly (according to the " +"policy settings) by composing the *name* with the *value* and inserting :" +"attr:`linesep` characters at the appropriate places. See :rfc:`5322` for a " +"discussion of the rules for folding email headers." +msgstr "" +"Пакет електронної пошти викликає цей метод із *ім’ям* і *значенням*, які " +"наразі зберігаються в ``Повідомленні`` для заданого заголовка. Метод має " +"повернути рядок, який представляє цей заголовок, \"згорнутий\" правильно " +"(відповідно до налаштувань політики), складаючи *ім’я* з *значенням* і " +"вставляючи символи :attr:`linesep` у відповідних місцях. Перегляньте :rfc:" +"`5322` для обговорення правил згортання заголовків електронних листів." + +msgid "" +"*value* may contain surrogateescaped binary data. There should be no " +"surrogateescaped binary data in the string returned by the method." +msgstr "" +"*значення* може містити сурогатні екрановані двійкові дані. У рядку, який " +"повертає метод, не повинно бути сурогатних двійкових даних." + +msgid "" +"The same as :meth:`fold`, except that the returned value should be a bytes " +"object rather than a string." +msgstr "" +"Те саме, що :meth:`fold`, за винятком того, що повернуте значення має бути " +"об’єктом bytes, а не рядком." + +msgid "" +"*value* may contain surrogateescaped binary data. These could be converted " +"back into binary data in the returned bytes object." +msgstr "" +"*значення* може містити сурогатні екрановані двійкові дані. Вони можуть бути " +"перетворені назад у двійкові дані у повернутому об’єкті bytes." + +msgid "" +"This concrete :class:`Policy` provides behavior that is intended to be fully " +"compliant with the current email RFCs. These include (but are not limited " +"to) :rfc:`5322`, :rfc:`2047`, and the current MIME RFCs." +msgstr "" +"Ця конкретна :class:`Policy` забезпечує поведінку, яка повністю відповідає " +"поточним RFC електронної пошти. До них належать (але не обмежуються ними) :" +"rfc:`5322`, :rfc:`2047` і поточні RFC MIME." + +msgid "" +"This policy adds new header parsing and folding algorithms. Instead of " +"simple strings, headers are ``str`` subclasses with attributes that depend " +"on the type of the field. The parsing and folding algorithm fully " +"implement :rfc:`2047` and :rfc:`5322`." +msgstr "" +"Ця політика додає нові алгоритми аналізу та згортання заголовків. Замість " +"простих рядків, заголовки є підкласами ``str`` з атрибутами, які залежать " +"від типу поля. Алгоритм аналізу та згортання повністю реалізує :rfc:`2047` " +"і :rfc:`5322`." + +msgid "" +"The default value for the :attr:`~email.policy.Policy.message_factory` " +"attribute is :class:`~email.message.EmailMessage`." +msgstr "" +"Значенням за замовчуванням атрибута :attr:`~email.policy.Policy." +"message_factory` є :class:`~email.message.EmailMessage`." + +msgid "" +"In addition to the settable attributes listed above that apply to all " +"policies, this policy adds the following additional attributes:" +msgstr "" +"На додаток до перерахованих вище настроюваних атрибутів, які застосовуються " +"до всіх політик, ця політика додає такі додаткові атрибути:" + +msgid "[1]_" +msgstr "[1]_" + +msgid "" +"If ``False``, follow :rfc:`5322`, supporting non-ASCII characters in headers " +"by encoding them as \"encoded words\". If ``True``, follow :rfc:`6532` and " +"use ``utf-8`` encoding for headers. Messages formatted in this way may be " +"passed to SMTP servers that support the ``SMTPUTF8`` extension (:rfc:`6531`)." +msgstr "" +"Якщо ``False``, дотримуйтесь :rfc:`5322`, підтримуючи символи, відмінні від " +"ASCII, у заголовках, кодуючи їх як \"закодовані слова\". Якщо ``True``, " +"слідуйте :rfc:`6532` і використовуйте ``utf-8`` кодування для заголовків. " +"Повідомлення, відформатовані таким чином, можуть передаватися на сервери " +"SMTP, які підтримують розширення ``SMTPUTF8`` (:rfc:`6531`)." + +msgid "" +"If the value for a header in the ``Message`` object originated from a :mod:" +"`~email.parser` (as opposed to being set by a program), this attribute " +"indicates whether or not a generator should refold that value when " +"transforming the message back into serialized form. The possible values are:" +msgstr "" +"Якщо значення для заголовка в об’єкті ``Message`` походить від :mod:`~email." +"parser` (на відміну від встановлення програмою), цей атрибут вказує, чи " +"повинен генератор повторно згортати це значення, коли перетворення " +"повідомлення назад у серіалізовану форму. Можливі значення:" + +msgid "``none``" +msgstr "``None``" + +msgid "all source values use original folding" +msgstr "усі вихідні значення використовують оригінальне згортання" + +msgid "``long``" +msgstr "``довгий``" + +msgid "" +"source values that have any line that is longer than ``max_line_length`` " +"will be refolded" +msgstr "" +"вихідні значення, які мають будь-який рядок, довший за ``max_line_length``, " +"будуть повторно згорнуті" + +msgid "``all``" +msgstr "``все``" + +msgid "all values are refolded." +msgstr "усі значення перескладають." + +msgid "The default is ``long``." +msgstr "Типовим є ``long``." + +msgid "" +"A callable that takes two arguments, ``name`` and ``value``, where ``name`` " +"is a header field name and ``value`` is an unfolded header field value, and " +"returns a string subclass that represents that header. A default " +"``header_factory`` (see :mod:`~email.headerregistry`) is provided that " +"supports custom parsing for the various address and date :RFC:`5322` header " +"field types, and the major MIME header field stypes. Support for additional " +"custom parsing will be added in the future." +msgstr "" +"Викликається, що приймає два аргументи, ``name`` і ``value``, де ``name`` — " +"це ім’я поля заголовка, а ``value`` — це значення розгорнутого поля " +"заголовка, і повертає підклас рядка, який представляє той заголовок. За " +"замовчуванням надається ``header_factory`` (див. :mod:`~email." +"headerregistry`), який підтримує спеціальний аналіз для різних типів полів " +"заголовків адреси та дати :RFC:`5322`, а також основних типів полів " +"заголовків MIME. У майбутньому буде додано підтримку додаткового " +"спеціального аналізу." + +msgid "" +"An object with at least two methods: get_content and set_content. When the :" +"meth:`~email.message.EmailMessage.get_content` or :meth:`~email.message." +"EmailMessage.set_content` method of an :class:`~email.message.EmailMessage` " +"object is called, it calls the corresponding method of this object, passing " +"it the message object as its first argument, and any arguments or keywords " +"that were passed to it as additional arguments. By default " +"``content_manager`` is set to :data:`~email.contentmanager.raw_data_manager`." +msgstr "" +"Об’єкт із принаймні двома методами: get_content і set_content. Коли " +"викликається метод :meth:`~email.message.EmailMessage.get_content` або :meth:" +"`~email.message.EmailMessage.set_content` об’єкта :class:`~email.message." +"EmailMessage`, він викликає відповідний метод цього об’єкта, передаючи йому " +"об’єкт повідомлення як його перший аргумент, а також будь-які аргументи або " +"ключові слова, які були передані йому як додаткові аргументи. За умовчанням " +"``content_manager`` встановлено на :data:`~email.contentmanager." +"raw_data_manager`." + +msgid "" +"The class provides the following concrete implementations of the abstract " +"methods of :class:`Policy`:" +msgstr "" +"Клас забезпечує такі конкретні реалізації абстрактних методів :class:" +"`Policy`:" + +msgid "" +"Returns the value of the :attr:`~email.headerregistry.BaseHeader.max_count` " +"attribute of the specialized class used to represent the header with the " +"given name." +msgstr "" +"Повертає значення атрибута :attr:`~email.headerregistry.BaseHeader." +"max_count` спеціалізованого класу, який використовується для представлення " +"заголовка з заданим іменем." + +msgid "" +"The name is parsed as everything up to the '``:``' and returned unmodified. " +"The value is determined by stripping leading whitespace off the remainder of " +"the first line, joining all subsequent lines together, and stripping any " +"trailing carriage return or linefeed characters." +msgstr "" +"Ім'я аналізується як усе, аж до \"``:``\", і повертається без змін. Значення " +"визначається видаленням початкових пробілів із решти першого рядка, " +"з’єднанням усіх наступних рядків разом і видаленням будь-яких завершальних " +"символів повернення каретки або переводу рядка." + +msgid "" +"The name is returned unchanged. If the input value has a ``name`` attribute " +"and it matches *name* ignoring case, the value is returned unchanged. " +"Otherwise the *name* and *value* are passed to ``header_factory``, and the " +"resulting header object is returned as the value. In this case a " +"``ValueError`` is raised if the input value contains CR or LF characters." +msgstr "" +"Ім'я повертається без змін. Якщо вхідне значення має атрибут ``name`` і воно " +"відповідає *name* без урахування регістру, значення повертається без змін. В " +"іншому випадку *ім’я* та *значення* передаються до ``header_factory``, а " +"отриманий об’єкт заголовка повертається як значення. У цьому випадку виникає " +"``ValueError``, якщо вхідне значення містить символи CR або LF." + +msgid "" +"If the value has a ``name`` attribute, it is returned to unmodified. " +"Otherwise the *name*, and the *value* with any CR or LF characters removed, " +"are passed to the ``header_factory``, and the resulting header object is " +"returned. Any surrogateescaped bytes get turned into the unicode unknown-" +"character glyph." +msgstr "" +"Якщо значення має атрибут ``name``, воно повертається до незміненого. В " +"іншому випадку *ім’я* та *значення* з видаленими будь-якими символами CR або " +"LF передаються до ``header_factory``, і повертається отриманий об’єкт " +"заголовка. Будь-які сурогатні екрановані байти перетворюються на гліф " +"невідомих символів Unicode." + +msgid "" +"Header folding is controlled by the :attr:`refold_source` policy setting. A " +"value is considered to be a 'source value' if and only if it does not have a " +"``name`` attribute (having a ``name`` attribute means it is a header object " +"of some sort). If a source value needs to be refolded according to the " +"policy, it is converted into a header object by passing the *name* and the " +"*value* with any CR and LF characters removed to the ``header_factory``. " +"Folding of a header object is done by calling its ``fold`` method with the " +"current policy." +msgstr "" +"Згортання заголовка контролюється параметром політики :attr:`refold_source`. " +"Значення вважається \"вихідним значенням\" тоді і тільки тоді, коли воно не " +"має атрибута ``name`` (наявність атрибута ``name`` означає, що це певний " +"об’єкт заголовка). Якщо вихідне значення потрібно повторно згорнути " +"відповідно до політики, воно перетворюється на об’єкт заголовка шляхом " +"передачі *name* і *value* з будь-якими символами CR і LF, видаленими до " +"``header_factory``. Згортання об’єкта заголовка виконується викликом його " +"методу ``fold`` із поточною політикою." + +msgid "" +"Source values are split into lines using :meth:`~str.splitlines`. If the " +"value is not to be refolded, the lines are rejoined using the ``linesep`` " +"from the policy and returned. The exception is lines containing non-ascii " +"binary data. In that case the value is refolded regardless of the " +"``refold_source`` setting, which causes the binary data to be CTE encoded " +"using the ``unknown-8bit`` charset." +msgstr "" +"Вихідні значення розбиваються на рядки за допомогою :meth:`~str.splitlines`. " +"Якщо значення не потрібно повторно згортати, рядки знову об’єднуються за " +"допомогою ``linesep`` із політики та повертаються. Винятком є рядки, що " +"містять двійкові дані, відмінні від ASCII. У цьому випадку значення повторно " +"згортається незалежно від параметра ``refold_source``, що призводить до " +"того, що двійкові дані кодуються CTE за допомогою набору символів " +"``unknown-8bit``." + +msgid "" +"The same as :meth:`fold` if :attr:`~Policy.cte_type` is ``7bit``, except " +"that the returned value is bytes." +msgstr "" +"Те саме, що :meth:`fold`, якщо :attr:`~Policy.cte_type` має значення " +"``7bit``, за винятком того, що повертається значення байтів." + +msgid "" +"If :attr:`~Policy.cte_type` is ``8bit``, non-ASCII binary data is converted " +"back into bytes. Headers with binary data are not refolded, regardless of " +"the ``refold_header`` setting, since there is no way to know whether the " +"binary data consists of single byte characters or multibyte characters." +msgstr "" +"Якщо :attr:`~Policy.cte_type` має значення ``8bit``, двійкові дані, відмінні " +"від ASCII, перетворюються назад у байти. Заголовки з двійковими даними не " +"згортаються повторно, незалежно від параметра ``refold_header``, оскільки " +"немає способу дізнатися, чи двійкові дані складаються з однобайтових " +"символів чи багатобайтових символів." + +msgid "" +"The following instances of :class:`EmailPolicy` provide defaults suitable " +"for specific application domains. Note that in the future the behavior of " +"these instances (in particular the ``HTTP`` instance) may be adjusted to " +"conform even more closely to the RFCs relevant to their domains." +msgstr "" +"Наступні екземпляри :class:`EmailPolicy` забезпечують значення за " +"замовчуванням, придатні для певних доменів програм. Зауважте, що в " +"майбутньому поведінка цих екземплярів (зокрема екземпляра ``HTTP``) може " +"бути налаштована для ще більшої відповідності RFC, що стосуються їхніх " +"доменів." + +msgid "" +"An instance of ``EmailPolicy`` with all defaults unchanged. This policy " +"uses the standard Python ``\\n`` line endings rather than the RFC-correct ``" +"\\r\\n``." +msgstr "" +"Екземпляр ``EmailPolicy`` з незмінними параметрами за замовчуванням. Ця " +"політика використовує стандартні закінчення рядків Python ``\\n`` замість " +"правильного RFC ``\\r\\n``." + +msgid "" +"Suitable for serializing messages in conformance with the email RFCs. Like " +"``default``, but with ``linesep`` set to ``\\r\\n``, which is RFC compliant." +msgstr "" +"Підходить для серіалізації повідомлень відповідно до RFC електронної пошти. " +"Як ``default``, але ``linesep`` має значення ``\\r\\n``, що відповідає RFC." + +msgid "" +"The same as ``SMTP`` except that :attr:`~EmailPolicy.utf8` is ``True``. " +"Useful for serializing messages to a message store without using encoded " +"words in the headers. Should only be used for SMTP transmission if the " +"sender or recipient addresses have non-ASCII characters (the :meth:`smtplib." +"SMTP.send_message` method handles this automatically)." +msgstr "" +"Те саме, що ``SMTP``, за винятком того, що :attr:`~EmailPolicy.utf8` має " +"значення ``True``. Корисно для серіалізації повідомлень до сховища " +"повідомлень без використання закодованих слів у заголовках. Слід " +"використовувати лише для передачі SMTP, якщо адреси відправника чи " +"одержувача містять символи, відмінні від ASCII (метод :meth:`smtplib.SMTP." +"send_message` обробляє це автоматично)." + +msgid "" +"Suitable for serializing headers with for use in HTTP traffic. Like " +"``SMTP`` except that ``max_line_length`` is set to ``None`` (unlimited)." +msgstr "" +"Підходить для серіалізації заголовків для використання в трафіку HTTP. " +"Подібно до ``SMTP``, за винятком того, що ``max_line_length`` встановлено на " +"``None`` (необмежено)." + +msgid "" +"Convenience instance. The same as ``default`` except that " +"``raise_on_defect`` is set to ``True``. This allows any policy to be made " +"strict by writing::" +msgstr "" +"Зручний екземпляр. Те саме, що ``default``, за винятком того, що " +"``raise_on_defect`` має значення ``True``. Це дозволяє зробити будь-яку " +"політику суворою, написавши:" + +msgid "" +"With all of these :class:`EmailPolicies <.EmailPolicy>`, the effective API " +"of the email package is changed from the Python 3.2 API in the following " +"ways:" +msgstr "" +"З усіма цими :class:`EmailPolicies <.EmailPolicy>` ефективний API пакета " +"електронної пошти змінюється від API Python 3.2 у такий спосіб:" + +msgid "" +"Setting a header on a :class:`~email.message.Message` results in that header " +"being parsed and a header object created." +msgstr "" +"Встановлення заголовка в :class:`~email.message.Message` призводить до " +"аналізу цього заголовка та створення об’єкта заголовка." + +msgid "" +"Fetching a header value from a :class:`~email.message.Message` results in " +"that header being parsed and a header object created and returned." +msgstr "" +"Отримання значення заголовка з :class:`~email.message.Message` призводить до " +"аналізу цього заголовка та створення та повернення об’єкта заголовка." + +msgid "" +"Any header object, or any header that is refolded due to the policy " +"settings, is folded using an algorithm that fully implements the RFC folding " +"algorithms, including knowing where encoded words are required and allowed." +msgstr "" +"Будь-який об’єкт заголовка або будь-який заголовок, який повторно " +"згортається через параметри політики, згортається за допомогою алгоритму, " +"який повністю реалізує алгоритми згортання RFC, включаючи визначення того, " +"де закодовані слова потрібні та дозволені." + +msgid "" +"From the application view, this means that any header obtained through the :" +"class:`~email.message.EmailMessage` is a header object with extra " +"attributes, whose string value is the fully decoded unicode value of the " +"header. Likewise, a header may be assigned a new value, or a new header " +"created, using a unicode string, and the policy will take care of converting " +"the unicode string into the correct RFC encoded form." +msgstr "" +"З точки зору програми це означає, що будь-який заголовок, отриманий через :" +"class:`~email.message.EmailMessage`, є об’єктом заголовка з додатковими " +"атрибутами, рядкове значення якого є повністю розшифрованим значенням " +"заголовка в Unicode. Так само заголовку може бути призначено нове значення " +"або створений новий заголовок за допомогою рядка Юнікод, і політика подбає " +"про перетворення рядка Юнікод у правильну форму, закодовану RFC." + +msgid "" +"The header objects and their attributes are described in :mod:`~email." +"headerregistry`." +msgstr "" +"Об’єкти заголовка та їхні атрибути описані в :mod:`~email.headerregistry`." + +msgid "" +"This concrete :class:`Policy` is the backward compatibility policy. It " +"replicates the behavior of the email package in Python 3.2. The :mod:" +"`~email.policy` module also defines an instance of this class, :const:" +"`compat32`, that is used as the default policy. Thus the default behavior " +"of the email package is to maintain compatibility with Python 3.2." +msgstr "" +"Ця конкретна :class:`Policy` є політикою зворотної сумісності. Він повторює " +"поведінку пакета електронної пошти в Python 3.2. Модуль :mod:`~email.policy` " +"також визначає екземпляр цього класу, :const:`compat32`, який " +"використовується як політика за замовчуванням. Таким чином, за замовчуванням " +"пакет електронної пошти підтримує сумісність із Python 3.2." + +msgid "" +"The following attributes have values that are different from the :class:" +"`Policy` default:" +msgstr "" +"Наступні атрибути мають значення, які відрізняються від стандартних :class:" +"`Policy`:" + +msgid "The default is ``True``." +msgstr "Типовим значенням є ``True``." + +msgid "The name and value are returned unmodified." +msgstr "Ім'я та значення повертаються без змін." + +msgid "" +"If the value contains binary data, it is converted into a :class:`~email." +"header.Header` object using the ``unknown-8bit`` charset. Otherwise it is " +"returned unmodified." +msgstr "" +"Якщо значення містить двійкові дані, воно перетворюється на об’єкт :class:" +"`~email.header.Header` за допомогою кодування ``unknown-8bit``. В іншому " +"випадку він повертається без змін." + +msgid "" +"Headers are folded using the :class:`~email.header.Header` folding " +"algorithm, which preserves existing line breaks in the value, and wraps each " +"resulting line to the ``max_line_length``. Non-ASCII binary data are CTE " +"encoded using the ``unknown-8bit`` charset." +msgstr "" +"Заголовки згортаються за допомогою алгоритму згортання :class:`~email.header." +"Header`, який зберігає наявні розриви рядків у значенні та обертає кожен " +"отриманий рядок до ``max_line_length``. Двійкові дані, відмінні від ASCII, " +"кодуються CTE за допомогою набору символів ``unknown-8bit``." + +msgid "" +"Headers are folded using the :class:`~email.header.Header` folding " +"algorithm, which preserves existing line breaks in the value, and wraps each " +"resulting line to the ``max_line_length``. If ``cte_type`` is ``7bit``, non-" +"ascii binary data is CTE encoded using the ``unknown-8bit`` charset. " +"Otherwise the original source header is used, with its existing line breaks " +"and any (RFC invalid) binary data it may contain." +msgstr "" +"Заголовки згортаються за допомогою алгоритму згортання :class:`~email.header." +"Header`, який зберігає наявні розриви рядків у значенні та обертає кожен " +"отриманий рядок до ``max_line_length``. Якщо ``cte_type`` дорівнює ``7bit``, " +"двійкові дані, що не є ascii, кодуються CTE з використанням набору символів " +"``unknown-8bit``. В іншому випадку використовується вихідний вихідний " +"заголовок із наявними розривами рядків і будь-якими (недійсними RFC) " +"двійковими даними, які він може містити." + +msgid "" +"An instance of :class:`Compat32`, providing backward compatibility with the " +"behavior of the email package in Python 3.2." +msgstr "" +"Екземпляр :class:`Compat32`, що забезпечує зворотну сумісність із поведінкою " +"пакета електронної пошти в Python 3.2." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Originally added in 3.3 as a :term:`provisional feature `." +msgstr "" +"Спочатку додано в 3.3 як :term:`попередню функцію `." diff --git a/library/email_utils.po b/library/email_utils.po new file mode 100644 index 000000000..dccf46c15 --- /dev/null +++ b/library/email_utils.po @@ -0,0 +1,340 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`email.utils`: Miscellaneous utilities" +msgstr ":mod:`email.utils`: Різні утиліти" + +msgid "**Source code:** :source:`Lib/email/utils.py`" +msgstr "**Вихідний код:** :source:`Lib/email/utils.py`" + +msgid "" +"There are a couple of useful utilities provided in the :mod:`email.utils` " +"module:" +msgstr "У модулі :mod:`email.utils` є кілька корисних утиліт:" + +msgid "" +"Return local time as an aware datetime object. If called without arguments, " +"return current time. Otherwise *dt* argument should be a :class:`~datetime." +"datetime` instance, and it is converted to the local time zone according to " +"the system time zone database. If *dt* is naive (that is, ``dt.tzinfo`` is " +"``None``), it is assumed to be in local time. In this case, a positive or " +"zero value for *isdst* causes ``localtime`` to presume initially that summer " +"time (for example, Daylight Saving Time) is or is not (respectively) in " +"effect for the specified time. A negative value for *isdst* causes the " +"``localtime`` to attempt to divine whether summer time is in effect for the " +"specified time." +msgstr "" +"Повертає місцевий час як відомий об’єкт datetime. Якщо викликається без " +"аргументів, повертає поточний час. В іншому випадку аргумент *dt* має бути " +"екземпляром :class:`~datetime.datetime`, і він перетворюється на місцевий " +"часовий пояс відповідно до бази даних системного часового поясу. Якщо *dt* є " +"простим (тобто ``dt.tzinfo`` має значення ``None``), припускається, що це " +"місцевий час. У цьому випадку додатне або нульове значення для *isdst* " +"змушує ``localtime`` спочатку припускати, що літній час (наприклад, літній " +"час) діє або не діє (відповідно) протягом зазначеного часу. Від’ємне " +"значення для *isdst* змушує ``localtime`` намагатися визначити, чи діє " +"літній час у вказаний час." + +msgid "" +"Returns a string suitable for an :rfc:`2822`\\ -compliant :mailheader:" +"`Message-ID` header. Optional *idstring* if given, is a string used to " +"strengthen the uniqueness of the message id. Optional *domain* if given " +"provides the portion of the msgid after the '@'. The default is the local " +"hostname. It is not normally necessary to override this default, but may be " +"useful certain cases, such as a constructing distributed system that uses a " +"consistent domain name across multiple hosts." +msgstr "" +"Повертає рядок, який підходить для :rfc:`2822`\\ -сумісного заголовка :" +"mailheader:`Message-ID`. Необов’язковий *idstring*, якщо вказано, це рядок, " +"який використовується для посилення унікальності ідентифікатора " +"повідомлення. Необов’язковий *домен*, якщо вказано, надає частину msgid " +"після \"@\". Типовим є локальне ім’я хоста. Зазвичай немає необхідності " +"змінювати це значення за замовчуванням, але це може бути корисним у певних " +"випадках, наприклад, при побудові розподіленої системи, яка використовує " +"узгоджене доменне ім’я на кількох хостах." + +msgid "Added the *domain* keyword." +msgstr "Додано ключове слово *domain*." + +msgid "" +"The remaining functions are part of the legacy (``Compat32``) email API. " +"There is no need to directly use these with the new API, since the parsing " +"and formatting they provide is done automatically by the header parsing " +"machinery of the new API." +msgstr "" +"Решта функцій є частиною застарілого (``Compat32``) API електронної пошти. " +"Немає потреби безпосередньо використовувати їх із новим API, оскільки " +"синтаксичний аналіз і форматування, які вони надають, виконуються " +"автоматично механізмом аналізу заголовків нового API." + +msgid "" +"Return a new string with backslashes in *str* replaced by two backslashes, " +"and double quotes replaced by backslash-double quote." +msgstr "" +"Повертає новий рядок із зворотними похилими рисками в *str*, заміненими " +"двома зворотними похилими рисками, і подвійними лапками, заміненими " +"зворотними похилими рисками-подвійними лапками." + +msgid "" +"Return a new string which is an *unquoted* version of *str*. If *str* ends " +"and begins with double quotes, they are stripped off. Likewise if *str* " +"ends and begins with angle brackets, they are stripped off." +msgstr "" +"Повертає новий рядок, який є версією *str* без лапок. Якщо *str* " +"закінчується і починається подвійними лапками, вони видаляються. Так само, " +"якщо *str* закінчується і починається кутовими дужками, вони видаляються." + +msgid "" +"Parse address -- which should be the value of some address-containing field " +"such as :mailheader:`To` or :mailheader:`Cc` -- into its constituent " +"*realname* and *email address* parts. Returns a tuple of that information, " +"unless the parse fails, in which case a 2-tuple of ``('', '')`` is returned." +msgstr "" +"Проаналізуйте адресу, яка має бути значенням деякого поля, що містить " +"адресу, наприклад :mailheader:`To` або :mailheader:`Cc`, на його складові " +"частини *realname* і *email address*. Повертає кортеж із цією інформацією, " +"якщо синтаксичний аналіз не вдається, у цьому випадку повертається 2-кортеж " +"``('', '')``." + +msgid "" +"The inverse of :meth:`parseaddr`, this takes a 2-tuple of the form " +"``(realname, email_address)`` and returns the string value suitable for a :" +"mailheader:`To` or :mailheader:`Cc` header. If the first element of *pair* " +"is false, then the second element is returned unmodified." +msgstr "" +"Інверсія :meth:`parseaddr`, приймає 2-кортеж у формі ``(справжнє ім’я, " +"електронна_адреса)`` і повертає значення рядка, придатне для заголовка :" +"mailheader:`To` або :mailheader:`Cc` . Якщо перший елемент *pair* є false, " +"то другий елемент повертається без змін." + +msgid "" +"Optional *charset* is the character set that will be used in the :rfc:`2047` " +"encoding of the ``realname`` if the ``realname`` contains non-ASCII " +"characters. Can be an instance of :class:`str` or a :class:`~email.charset." +"Charset`. Defaults to ``utf-8``." +msgstr "" +"Необов’язковий *charset* — це набір символів, який використовуватиметься в :" +"rfc:`2047` кодуванні ``realname``, якщо ``realname`` містить символи, " +"відмінні від ASCII. Може бути екземпляром :class:`str` або :class:`~email." +"charset.Charset`. За замовчуванням ``utf-8``." + +msgid "Added the *charset* option." +msgstr "Додано опцію *charset*." + +msgid "" +"This method returns a list of 2-tuples of the form returned by " +"``parseaddr()``. *fieldvalues* is a sequence of header field values as might " +"be returned by :meth:`Message.get_all `. " +"Here's a simple example that gets all the recipients of a message::" +msgstr "" +"Цей метод повертає список 2-кортежів форми, яку повертає ``parseaddr()``. " +"*fieldvalues* — це послідовність значень поля заголовка, яку може повернути :" +"meth:`Message.get_all `. Ось простий приклад, " +"який отримує всіх одержувачів повідомлення:" + +msgid "" +"Attempts to parse a date according to the rules in :rfc:`2822`. however, " +"some mailers don't follow that format as specified, so :func:`parsedate` " +"tries to guess correctly in such cases. *date* is a string containing an :" +"rfc:`2822` date, such as ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. If it " +"succeeds in parsing the date, :func:`parsedate` returns a 9-tuple that can " +"be passed directly to :func:`time.mktime`; otherwise ``None`` will be " +"returned. Note that indexes 6, 7, and 8 of the result tuple are not usable." +msgstr "" +"Намагається проаналізувати дату відповідно до правил у :rfc:`2822`. однак " +"деякі розсилки не дотримуються зазначеного формату, тому :func:`parsedate` " +"намагається правильно вгадати в таких випадках. *date* — це рядок, що " +"містить дату :rfc:`2822`, наприклад ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. " +"Якщо вдасться проаналізувати дату, :func:`parsedate` повертає 9-кортеж, який " +"можна передати безпосередньо до :func:`time.mktime`; інакше буде повернено " +"``None``. Зверніть увагу, що індекси 6, 7 і 8 кортежу результатів не можна " +"використовувати." + +msgid "" +"Performs the same function as :func:`parsedate`, but returns either ``None`` " +"or a 10-tuple; the first 9 elements make up a tuple that can be passed " +"directly to :func:`time.mktime`, and the tenth is the offset of the date's " +"timezone from UTC (which is the official term for Greenwich Mean Time) " +"[#]_. If the input string has no timezone, the last element of the tuple " +"returned is ``0``, which represents UTC. Note that indexes 6, 7, and 8 of " +"the result tuple are not usable." +msgstr "" +"Виконує ту саму функцію, що й :func:`parsedate`, але повертає або ``None``, " +"або 10-кортеж; перші 9 елементів утворюють кортеж, який можна передати " +"безпосередньо до :func:`time.mktime`, а десятий — це зсув часового поясу " +"дати відносно UTC (офіційний термін для часу за Гринвічем) [#]_ . Якщо " +"вхідний рядок не має часового поясу, останнім елементом кортежу, що " +"повертається, є ``0``, який представляє UTC. Зверніть увагу, що індекси 6, 7 " +"і 8 кортежу результатів не можна використовувати." + +msgid "" +"The inverse of :func:`format_datetime`. Performs the same function as :func:" +"`parsedate`, but on success returns a :mod:`~datetime.datetime`; otherwise " +"``ValueError`` is raised if *date* contains an invalid value such as an hour " +"greater than 23 or a timezone offset not between -24 and 24 hours. If the " +"input date has a timezone of ``-0000``, the ``datetime`` will be a naive " +"``datetime``, and if the date is conforming to the RFCs it will represent a " +"time in UTC but with no indication of the actual source timezone of the " +"message the date comes from. If the input date has any other valid timezone " +"offset, the ``datetime`` will be an aware ``datetime`` with the " +"corresponding a :class:`~datetime.timezone` :class:`~datetime.tzinfo`." +msgstr "" +"Інверсія :func:`format_datetime`. Виконує ту саму функцію, що й :func:" +"`parsedate`, але в разі успіху повертає :mod:`~datetime.datetime`; інакше " +"``ValueError`` викликається, якщо *date* містить недійсне значення, таке як " +"година більше 23 або зсув часового поясу не між -24 та 24 годинами. Якщо " +"введена дата має часовий пояс ``-0000``, ``datetime`` буде простим " +"``datetime``, і якщо дата відповідає RFC, вона представлятиме час у UTC, але " +"без вказівка фактичного часового поясу джерела повідомлення, з якого " +"походить дата. Якщо введена дата має будь-яке інше дійсне зміщення часового " +"поясу, ``datetime`` буде відомим ``datetime`` з відповідним :class:" +"`~datetime.timezone` :class:`~datetime.tzinfo`." + +msgid "" +"Turn a 10-tuple as returned by :func:`parsedate_tz` into a UTC timestamp " +"(seconds since the Epoch). If the timezone item in the tuple is ``None``, " +"assume local time." +msgstr "" +"Перетворіть 10-кортеж, який повертає :func:`parsedate_tz`, на мітку часу UTC " +"(секунди з епохи). Якщо елемент часового поясу в кортежі ``None``, " +"припустіть місцевий час." + +msgid "Returns a date string as per :rfc:`2822`, e.g.::" +msgstr "Повертає рядок дати згідно з :rfc:`2822`, наприклад::" + +msgid "" +"Optional *timeval* if given is a floating point time value as accepted by :" +"func:`time.gmtime` and :func:`time.localtime`, otherwise the current time is " +"used." +msgstr "" +"Необов’язковий *timeval*, якщо вказано, це значення часу з плаваючою комою, " +"прийняте :func:`time.gmtime` і :func:`time.localtime`, інакше " +"використовується поточний час." + +msgid "" +"Optional *localtime* is a flag that when ``True``, interprets *timeval*, and " +"returns a date relative to the local timezone instead of UTC, properly " +"taking daylight savings time into account. The default is ``False`` meaning " +"UTC is used." +msgstr "" +"Необов’язковий *місцевий час* — це прапорець, який, якщо значення ``True`` " +"інтерпретує *timeval* і повертає дату відносно місцевого часового поясу " +"замість UTC, правильно враховуючи літній час. Типовим значенням є ``False``, " +"тобто використовується UTC." + +msgid "" +"Optional *usegmt* is a flag that when ``True``, outputs a date string with " +"the timezone as an ascii string ``GMT``, rather than a numeric ``-0000``. " +"This is needed for some protocols (such as HTTP). This only applies when " +"*localtime* is ``False``. The default is ``False``." +msgstr "" +"Необов’язковий *usegmt* — це прапорець, який, якщо значення \"Істина\" " +"виводить рядок дати з часовим поясом як рядок ASCII \"GMT\", а не числове " +"\"-0000\". Це потрібно для деяких протоколів (наприклад, HTTP). Це " +"стосується лише випадків, коли *localtime* має значення ``False``. Типовим " +"значенням є ``False``." + +msgid "" +"Like ``formatdate``, but the input is a :mod:`datetime` instance. If it is " +"a naive datetime, it is assumed to be \"UTC with no information about the " +"source timezone\", and the conventional ``-0000`` is used for the timezone. " +"If it is an aware ``datetime``, then the numeric timezone offset is used. If " +"it is an aware timezone with offset zero, then *usegmt* may be set to " +"``True``, in which case the string ``GMT`` is used instead of the numeric " +"timezone offset. This provides a way to generate standards conformant HTTP " +"date headers." +msgstr "" +"Подібно до ``formatdate``, але введенням є екземпляр :mod:`datetime`. Якщо " +"це наивна дата-час, передбачається, що це \"UTC без інформації про вихідний " +"часовий пояс\", а для часового поясу використовується звичайний \"-0000\". " +"Якщо це відомий ``datetime``, тоді використовується числове зміщення " +"часового поясу. Якщо це відомий часовий пояс із нульовим зміщенням, тоді " +"*usegmt* може бути встановлено на ``True``, у цьому випадку рядок ``GMT`` " +"використовується замість числового зсуву часового поясу. Це надає спосіб " +"генерувати заголовки дати HTTP, що відповідають стандартам." + +msgid "Decode the string *s* according to :rfc:`2231`." +msgstr "Розшифруйте рядок *s* відповідно до :rfc:`2231`." + +msgid "" +"Encode the string *s* according to :rfc:`2231`. Optional *charset* and " +"*language*, if given is the character set name and language name to use. If " +"neither is given, *s* is returned as-is. If *charset* is given but " +"*language* is not, the string is encoded using the empty string for " +"*language*." +msgstr "" +"Закодуйте рядок *s* відповідно до :rfc:`2231`. Необов’язкові *charset* і " +"*language*, якщо вказано, це назва набору символів і назва мови для " +"використання. Якщо жодного не вказано, *s* повертається як є. Якщо *charset* " +"задано, але *language* ні, рядок кодується за допомогою порожнього рядка для " +"*language*." + +msgid "" +"When a header parameter is encoded in :rfc:`2231` format, :meth:`Message." +"get_param ` may return a 3-tuple containing " +"the character set, language, and value. :func:`collapse_rfc2231_value` " +"turns this into a unicode string. Optional *errors* is passed to the " +"*errors* argument of :class:`str`'s :func:`~str.encode` method; it defaults " +"to ``'replace'``. Optional *fallback_charset* specifies the character set " +"to use if the one in the :rfc:`2231` header is not known by Python; it " +"defaults to ``'us-ascii'``." +msgstr "" +"Якщо параметр заголовка закодовано у форматі :rfc:`2231`, :meth:`Message." +"get_param ` може повертати 3-кортеж, що " +"містить набір символів, мову та значення. :func:`collapse_rfc2231_value` " +"перетворює це на рядок Юнікод. Необов’язковий *errors* передається в " +"аргумент *errors* методу :class:`str` :func:`~str.encode`; за замовчуванням " +"``'replace'``. Необов’язковий *fallback_charset* визначає набір символів для " +"використання, якщо той, що міститься в заголовку :rfc:`2231`, не відомий " +"Python; за замовчуванням ``'us-ascii'``." + +msgid "" +"For convenience, if the *value* passed to :func:`collapse_rfc2231_value` is " +"not a tuple, it should be a string and it is returned unquoted." +msgstr "" +"Для зручності, якщо *значення*, передане :func:`collapse_rfc2231_value`, не " +"є кортежем, воно має бути рядком і повертається без лапок." + +msgid "" +"Decode parameters list according to :rfc:`2231`. *params* is a sequence of " +"2-tuples containing elements of the form ``(content-type, string-value)``." +msgstr "" +"Розшифруйте список параметрів відповідно до :rfc:`2231`. *параметри* — це " +"послідовність 2-кортежів, що містять елементи форми ``(тип вмісту, значення-" +"рядка)``." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Note that the sign of the timezone offset is the opposite of the sign of the " +"``time.timezone`` variable for the same timezone; the latter variable " +"follows the POSIX standard while this module follows :rfc:`2822`." +msgstr "" +"Зауважте, що знак зміщення часового поясу протилежний знаку змінної ``time." +"timezone`` для того самого часового поясу; остання змінна відповідає " +"стандарту POSIX, тоді як цей модуль відповідає :rfc:`2822`." diff --git a/library/ensurepip.po b/library/ensurepip.po new file mode 100644 index 000000000..99361b4b8 --- /dev/null +++ b/library/ensurepip.po @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ensurepip` --- Bootstrapping the ``pip`` installer" +msgstr ":mod:`ensurepip` --- Завантаження інсталятора ``pip``" + +msgid "" +"The :mod:`ensurepip` package provides support for bootstrapping the ``pip`` " +"installer into an existing Python installation or virtual environment. This " +"bootstrapping approach reflects the fact that ``pip`` is an independent " +"project with its own release cycle, and the latest available stable version " +"is bundled with maintenance and feature releases of the CPython reference " +"interpreter." +msgstr "" +"Пакет :mod:`ensurepip` забезпечує підтримку початкового завантаження " +"інсталятора ``pip`` в існуючу установку Python або віртуальне середовище. " +"Цей підхід до початкового завантаження відображає той факт, що ``pip`` є " +"незалежним проектом із власним циклом випуску, а остання доступна стабільна " +"версія входить до комплекту технічного обслуговування та функціональних " +"випусків довідкового інтерпретатора CPython." + +msgid "" +"In most cases, end users of Python shouldn't need to invoke this module " +"directly (as ``pip`` should be bootstrapped by default), but it may be " +"needed if installing ``pip`` was skipped when installing Python (or when " +"creating a virtual environment) or after explicitly uninstalling ``pip``." +msgstr "" +"У більшості випадків кінцевим користувачам Python не потрібно викликати цей " +"модуль напряму (оскільки ``pip`` має завантажуватися за замовчуванням), але " +"це може знадобитися, якщо під час встановлення Python було пропущено " +"встановлення ``pip`` (або під час створення віртуального середовища) або " +"після явного видалення ``pip``." + +msgid "" +"This module *does not* access the internet. All of the components needed to " +"bootstrap ``pip`` are included as internal parts of the package." +msgstr "" +"Цей модуль *не* має доступ до Інтернету. Усі компоненти, необхідні для " +"завантаження ``pip``, включені як внутрішні частини пакунка." + +msgid ":ref:`installing-index`" +msgstr ":ref:`інсталяційний індекс `" + +msgid "The end user guide for installing Python packages" +msgstr "Посібник кінцевого користувача для встановлення пакетів Python" + +msgid ":pep:`453`: Explicit bootstrapping of pip in Python installations" +msgstr ":pep:`453`: Явне початкове завантаження pip у встановленнях Python" + +msgid "The original rationale and specification for this module." +msgstr "Оригінальне обґрунтування та специфікація цього модуля." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Command line interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The command line interface is invoked using the interpreter's ``-m`` switch." +msgstr "" +"Інтерфейс командного рядка викликається за допомогою перемикача ``-m`` " +"інтерпретатора." + +msgid "The simplest possible invocation is::" +msgstr "Найпростіший можливий виклик:" + +msgid "" +"This invocation will install ``pip`` if it is not already installed, but " +"otherwise does nothing. To ensure the installed version of ``pip`` is at " +"least as recent as the one available in ``ensurepip``, pass the ``--" +"upgrade`` option::" +msgstr "" +"Цей виклик встановить ``pip``, якщо він ще не встановлено, але в інших " +"випадках нічого не робить. Щоб переконатися, що встановлена версія ``pip`` " +"принаймні така ж остання, як та, доступна в ``ensurepip``, передайте опцію " +"``--upgrade``::" + +msgid "" +"By default, ``pip`` is installed into the current virtual environment (if " +"one is active) or into the system site packages (if there is no active " +"virtual environment). The installation location can be controlled through " +"two additional command line options:" +msgstr "" +"За замовчуванням ``pip`` інсталюється в поточне віртуальне середовище (якщо " +"воно активне) або в системні пакети сайту (якщо активного віртуального " +"середовища немає). Розташуванням встановлення можна керувати за допомогою " +"двох додаткових параметрів командного рядка:" + +msgid "" +"``--root ``: Installs ``pip`` relative to the given root directory " +"rather than the root of the currently active virtual environment (if any) or " +"the default root for the current Python installation." +msgstr "" +"``--root ``: встановлює ``pip`` відносно даного кореневого каталогу, а " +"не кореня поточного активного віртуального середовища (якщо є) або кореня за " +"замовчуванням для поточної інсталяції Python." + +msgid "" +"``--user``: Installs ``pip`` into the user site packages directory rather " +"than globally for the current Python installation (this option is not " +"permitted inside an active virtual environment)." +msgstr "" +"``--user``: встановлює ``pip`` у каталог пакетів сайту користувача, а не " +"глобально для поточної інсталяції Python (ця опція не дозволена в активному " +"віртуальному середовищі)." + +msgid "" +"By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y " +"stands for the version of Python used to invoke ``ensurepip``). The scripts " +"installed can be controlled through two additional command line options:" +msgstr "" +"За замовчуванням буде встановлено сценарії ``pipX`` і ``pipX.Y`` (де X.Y " +"означає версію Python, яка використовується для виклику ``ensurepip``). " +"Установленими сценаріями можна керувати за допомогою двох додаткових " +"параметрів командного рядка:" + +msgid "" +"``--altinstall``: if an alternate installation is requested, the ``pipX`` " +"script will *not* be installed." +msgstr "" +"``--altinstall``: якщо запитується альтернативне встановлення, сценарій " +"``pipX`` *не* буде встановлено." + +msgid "" +"``--default-pip``: if a \"default pip\" installation is requested, the " +"``pip`` script will be installed in addition to the two regular scripts." +msgstr "" +"``--default-pip``: якщо запитується встановлення \"pip за замовчуванням\", " +"сценарій ``pip`` буде встановлено на додаток до двох звичайних сценаріїв." + +msgid "" +"Providing both of the script selection options will trigger an exception." +msgstr "Надання обох параметрів вибору сценарію призведе до виключення." + +msgid "Module API" +msgstr "Модуль API" + +msgid ":mod:`ensurepip` exposes two functions for programmatic use:" +msgstr ":mod:`ensurepip` надає дві функції для програмного використання:" + +msgid "" +"Returns a string specifying the available version of pip that will be " +"installed when bootstrapping an environment." +msgstr "" +"Повертає рядок із зазначенням доступної версії pip, яка буде встановлена під " +"час завантаження середовища." + +msgid "Bootstraps ``pip`` into the current or designated environment." +msgstr "Bootstraps ``pip`` в поточне або призначене середовище." + +msgid "" +"*root* specifies an alternative root directory to install relative to. If " +"*root* is ``None``, then installation uses the default install location for " +"the current environment." +msgstr "" +"*root* вказує альтернативний кореневий каталог для встановлення. Якщо *root* " +"має значення ``None``, тоді для встановлення використовується місце " +"встановлення за замовчуванням для поточного середовища." + +msgid "" +"*upgrade* indicates whether or not to upgrade an existing installation of an " +"earlier version of ``pip`` to the available version." +msgstr "" +"*upgrade* вказує, чи потрібно оновлювати наявну інсталяцію попередньої " +"версії ``pip`` до доступної версії." + +msgid "" +"*user* indicates whether to use the user scheme rather than installing " +"globally." +msgstr "" +"*user* вказує, чи слід використовувати схему користувача, а не глобальне " +"встановлення." + +msgid "" +"By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y " +"stands for the current version of Python)." +msgstr "" +"За замовчуванням буде встановлено сценарії ``pipX`` і ``pipX.Y`` (де X.Y " +"означає поточну версію Python)." + +msgid "If *altinstall* is set, then ``pipX`` will *not* be installed." +msgstr "Якщо встановлено *altinstall*, то ``pipX`` *не* буде встановлено." + +msgid "" +"If *default_pip* is set, then ``pip`` will be installed in addition to the " +"two regular scripts." +msgstr "" +"Якщо встановлено *default_pip*, то ``pip`` буде встановлено на додаток до " +"двох звичайних сценаріїв." + +msgid "" +"Setting both *altinstall* and *default_pip* will trigger :exc:`ValueError`." +msgstr "" +"Налаштування як *altinstall*, так і *default_pip* спричинить :exc:" +"`ValueError`." + +msgid "" +"*verbosity* controls the level of output to :data:`sys.stdout` from the " +"bootstrapping operation." +msgstr "" +"*detality* контролює рівень виведення в :data:`sys.stdout` від операції " +"початкового завантаження." + +msgid "" +"Raises an :ref:`auditing event ` ``ensurepip.bootstrap`` with " +"argument ``root``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ensurepip.bootstrap`` з аргументом " +"``root``." + +msgid "" +"The bootstrapping process has side effects on both ``sys.path`` and ``os." +"environ``. Invoking the command line interface in a subprocess instead " +"allows these side effects to be avoided." +msgstr "" +"Процес початкового завантаження має побічні ефекти як для ``sys.path``, так " +"і ``os.environ``. Натомість виклик інтерфейсу командного рядка в підпроцесі " +"дозволяє уникнути цих побічних ефектів." + +msgid "" +"The bootstrapping process may install additional modules required by " +"``pip``, but other software should not assume those dependencies will always " +"be present by default (as the dependencies may be removed in a future " +"version of ``pip``)." +msgstr "" +"Процес завантаження може встановити додаткові модулі, необхідні для ``pip``, " +"але інше програмне забезпечення не повинно припускати, що ці залежності " +"завжди будуть присутні за замовчуванням (оскільки залежності можуть бути " +"видалені в майбутній версії ``pip``)." diff --git a/library/enum.po b/library/enum.po new file mode 100644 index 000000000..7ce881551 --- /dev/null +++ b/library/enum.po @@ -0,0 +1,805 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`enum` --- Support for enumerations" +msgstr ":mod:`enum` --- Підтримка перерахувань" + +msgid "**Source code:** :source:`Lib/enum.py`" +msgstr "**Вихідний код:** :source:`Lib/enum.py`" + +msgid "" +"This page contains the API reference information. For tutorial information " +"and discussion of more advanced topics, see" +msgstr "" +"Ця сторінка містить довідкову інформацію про API. Інформацію про підручники " +"та обговорення більш складних тем див" + +msgid ":ref:`Basic Tutorial `" +msgstr "" + +msgid ":ref:`Advanced Tutorial `" +msgstr "" + +msgid ":ref:`Enum Cookbook `" +msgstr "" + +msgid "An enumeration:" +msgstr "" + +msgid "is a set of symbolic names (members) bound to unique values" +msgstr "" + +msgid "can be iterated over to return its members in definition order" +msgstr "" + +msgid "uses *call* syntax to return members by value" +msgstr "" + +msgid "uses *index* syntax to return members by name" +msgstr "" + +msgid "" +"Enumerations are created either by using :keyword:`class` syntax, or by " +"using function-call syntax::" +msgstr "" + +msgid "" +"Even though we can use :keyword:`class` syntax to create Enums, Enums are " +"not normal Python classes. See :ref:`How are Enums different? ` for more details." +msgstr "" + +msgid "Nomenclature" +msgstr "Номенклатура" + +msgid "The class :class:`Color` is an *enumeration* (or *enum*)" +msgstr "Клас :class:`Color` є *переліком* (або *enum*)" + +msgid "" +"The attributes :attr:`Color.RED`, :attr:`Color.GREEN`, etc., are " +"*enumeration members* (or *members*) and are functionally constants." +msgstr "" + +msgid "" +"The enum members have *names* and *values* (the name of :attr:`Color.RED` is " +"``RED``, the value of :attr:`Color.BLUE` is ``3``, etc.)" +msgstr "" +"Члени enum мають *імена* та *значення* (ім’я :attr:`Color.RED` — ``RED``, " +"значення :attr:`Color.BLUE` — ``3`` тощо). )" + +msgid "Module Contents" +msgstr "Зміст модуля" + +msgid ":class:`EnumType`" +msgstr "" + +msgid "The ``type`` for Enum and its subclasses." +msgstr "" + +msgid ":class:`Enum`" +msgstr "" + +msgid "Base class for creating enumerated constants." +msgstr "" + +msgid ":class:`IntEnum`" +msgstr "" + +msgid "" +"Base class for creating enumerated constants that are also subclasses of :" +"class:`int`. (`Notes`_)" +msgstr "" + +msgid ":class:`StrEnum`" +msgstr "" + +msgid "" +"Base class for creating enumerated constants that are also subclasses of :" +"class:`str`. (`Notes`_)" +msgstr "" + +msgid ":class:`Flag`" +msgstr "" + +msgid "" +"Base class for creating enumerated constants that can be combined using the " +"bitwise operations without losing their :class:`Flag` membership." +msgstr "" +"Базовий клас для створення перерахованих констант, які можна комбінувати за " +"допомогою порозрядних операцій, не втрачаючи приналежності до :class:`Flag`." + +msgid ":class:`IntFlag`" +msgstr "" + +msgid "" +"Base class for creating enumerated constants that can be combined using the " +"bitwise operators without losing their :class:`IntFlag` membership. :class:" +"`IntFlag` members are also subclasses of :class:`int`. (`Notes`_)" +msgstr "" + +msgid ":class:`ReprEnum`" +msgstr "" + +msgid "" +"Used by :class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag` to keep " +"the :class:`str() ` of the mixed-in type." +msgstr "" + +msgid ":class:`EnumCheck`" +msgstr "" + +msgid "" +"An enumeration with the values ``CONTINUOUS``, ``NAMED_FLAGS``, and " +"``UNIQUE``, for use with :func:`verify` to ensure various constraints are " +"met by a given enumeration." +msgstr "" + +msgid ":class:`FlagBoundary`" +msgstr "" + +msgid "" +"An enumeration with the values ``STRICT``, ``CONFORM``, ``EJECT``, and " +"``KEEP`` which allows for more fine-grained control over how invalid values " +"are dealt with in an enumeration." +msgstr "" + +msgid ":class:`auto`" +msgstr "" + +msgid "" +"Instances are replaced with an appropriate value for Enum members. :class:" +"`StrEnum` defaults to the lower-cased version of the member name, while " +"other Enums default to 1 and increase from there." +msgstr "" + +msgid ":func:`~enum.property`" +msgstr "" + +msgid "" +"Allows :class:`Enum` members to have attributes without conflicting with " +"member names." +msgstr "" + +msgid ":func:`unique`" +msgstr "" + +msgid "" +"Enum class decorator that ensures only one name is bound to any one value." +msgstr "" +"Декоратор класу Enum, який забезпечує прив’язку лише одного імені до будь-" +"якого значення." + +msgid ":func:`verify`" +msgstr "" + +msgid "" +"Enum class decorator that checks user-selectable constraints on an " +"enumeration." +msgstr "" + +msgid ":func:`member`" +msgstr "" + +msgid "Make ``obj`` a member. Can be used as a decorator." +msgstr "" + +msgid ":func:`nonmember`" +msgstr "" + +msgid "Do not make ``obj`` a member. Can be used as a decorator." +msgstr "" + +msgid ":func:`global_enum`" +msgstr "" + +msgid "" +"Modify the :class:`str() ` and :func:`repr` of an enum to show its " +"members as belonging to the module instead of its class. Should only be used " +"if the enum members will be exported to the module global namespace." +msgstr "" + +msgid ":func:`show_flag_values`" +msgstr "" + +msgid "Return a list of all power-of-two integers contained in a flag." +msgstr "" + +msgid "``Flag``, ``IntFlag``, ``auto``" +msgstr "``Flag``, ``IntFlag``, ``auto``" + +msgid "" +"``StrEnum``, ``EnumCheck``, ``ReprEnum``, ``FlagBoundary``, ``property``, " +"``member``, ``nonmember``, ``global_enum``, ``show_flag_values``" +msgstr "" + +msgid "Data Types" +msgstr "Типи даних" + +msgid "" +"*EnumType* is the :term:`metaclass` for *enum* enumerations. It is possible " +"to subclass *EnumType* -- see :ref:`Subclassing EnumType ` for details." +msgstr "" + +msgid "" +"*EnumType* is responsible for setting the correct :meth:`__repr__`, :meth:" +"`__str__`, :meth:`__format__`, and :meth:`__reduce__` methods on the final " +"*enum*, as well as creating the enum members, properly handling duplicates, " +"providing iteration over the enum class, etc." +msgstr "" + +msgid "Returns ``True`` if member belongs to the ``cls``::" +msgstr "" + +msgid "" +"In Python 3.12 it will be possible to check for member values and not just " +"members; until then, a ``TypeError`` will be raised if a non-Enum-member is " +"used in a containment check." +msgstr "" + +msgid "" +"Returns ``['__class__', '__doc__', '__members__', '__module__']`` and the " +"names of the members in *cls*::" +msgstr "" + +msgid "" +"Returns the Enum member in *cls* matching *name*, or raises an :exc:" +"`AttributeError`::" +msgstr "" + +msgid "" +"Returns the Enum member in *cls* matching *name*, or raises an :exc:" +"`KeyError`::" +msgstr "" + +msgid "Returns each member in *cls* in definition order::" +msgstr "" + +msgid "Returns the number of member in *cls*::" +msgstr "" + +msgid "Returns each member in *cls* in reverse definition order::" +msgstr "" + +msgid "*Enum* is the base class for all *enum* enumerations." +msgstr "" + +msgid "The name used to define the ``Enum`` member::" +msgstr "" + +msgid "The value given to the ``Enum`` member::" +msgstr "" + +msgid "Enum member values" +msgstr "Значення члена Enum" + +msgid "" +"Member values can be anything: :class:`int`, :class:`str`, etc.. If the " +"exact value is unimportant you may use :class:`auto` instances and an " +"appropriate value will be chosen for you. See :class:`auto` for the details." +msgstr "" + +msgid "" +"``_ignore_`` is only used during creation and is removed from the " +"enumeration once creation is complete." +msgstr "" + +msgid "" +"``_ignore_`` is a list of names that will not become members, and whose " +"names will also be removed from the completed enumeration. See :ref:" +"`TimePeriod ` for an example." +msgstr "" + +msgid "This method is called in two different ways:" +msgstr "" + +msgid "to look up an existing member:" +msgstr "" + +msgid "cls" +msgstr "" + +msgid "The enum class being called." +msgstr "" + +msgid "value" +msgstr "значення" + +msgid "The value to lookup." +msgstr "" + +msgid "to use the ``cls`` enum to create a new enum:" +msgstr "" + +msgid "The name of the new Enum to create." +msgstr "" + +msgid "names" +msgstr "імена" + +msgid "The names/values of the members for the new Enum." +msgstr "" + +msgid "module" +msgstr "модуль" + +msgid "The name of the module the new Enum is created in." +msgstr "" + +msgid "qualname" +msgstr "qualname" + +msgid "The actual location in the module where this Enum can be found." +msgstr "" + +msgid "type" +msgstr "типу" + +msgid "A mix-in type for the new Enum." +msgstr "" + +msgid "start" +msgstr "початок" + +msgid "The first integer value for the Enum (used by :class:`auto`)" +msgstr "" + +msgid "boundary" +msgstr "" + +msgid "" +"How to handle out-of-range values from bit operations (:class:`Flag` only)" +msgstr "" + +msgid "" +"Returns ``['__class__', '__doc__', '__module__', 'name', 'value']`` and any " +"public methods defined on *self.__class__*::" +msgstr "" + +msgid "name" +msgstr "name" + +msgid "The name of the member being defined (e.g. 'RED')." +msgstr "" + +msgid "The start value for the Enum; the default is 1." +msgstr "" + +msgid "count" +msgstr "" + +msgid "The number of members currently defined, not including this one." +msgstr "" + +msgid "last_values" +msgstr "" + +msgid "A list of the previous values." +msgstr "" + +msgid "" +"A *staticmethod* that is used to determine the next value returned by :class:" +"`auto`::" +msgstr "" + +msgid "" +"A *classmethod* that is used to further configure subsequent subclasses. By " +"default, does nothing." +msgstr "" + +msgid "" +"A *classmethod* for looking up values not found in *cls*. By default it " +"does nothing, but can be overridden to implement custom search behavior::" +msgstr "" + +msgid "" +"Returns the string used for *repr()* calls. By default, returns the *Enum* " +"name, member name, and value, but can be overridden::" +msgstr "" + +msgid "" +"Returns the string used for *str()* calls. By default, returns the *Enum* " +"name and member name, but can be overridden::" +msgstr "" + +msgid "" +"Returns the string used for *format()* and *f-string* calls. By default, " +"returns :meth:`__str__` returns, but can be overridden::" +msgstr "" + +msgid "" +"Using :class:`auto` with :class:`Enum` results in integers of increasing " +"value, starting with ``1``." +msgstr "" + +msgid "" +"*IntEnum* is the same as *Enum*, but its members are also integers and can " +"be used anywhere that an integer can be used. If any integer operation is " +"performed with an *IntEnum* member, the resulting value loses its " +"enumeration status." +msgstr "" + +msgid "" +"Using :class:`auto` with :class:`IntEnum` results in integers of increasing " +"value, starting with ``1``." +msgstr "" + +msgid "" +":meth:`__str__` is now :func:`int.__str__` to better support the " +"*replacement of existing constants* use-case. :meth:`__format__` was " +"already :func:`int.__format__` for that same reason." +msgstr "" + +msgid "" +"*StrEnum* is the same as *Enum*, but its members are also strings and can be " +"used in most of the same places that a string can be used. The result of " +"any string operation performed on or with a *StrEnum* member is not part of " +"the enumeration." +msgstr "" + +msgid "" +"There are places in the stdlib that check for an exact :class:`str` instead " +"of a :class:`str` subclass (i.e. ``type(unknown) == str`` instead of " +"``isinstance(unknown, str)``), and in those locations you will need to use " +"``str(StrEnum.member)``." +msgstr "" + +msgid "" +"Using :class:`auto` with :class:`StrEnum` results in the lower-cased member " +"name as the value." +msgstr "" + +msgid "" +":meth:`__str__` is :func:`str.__str__` to better support the *replacement of " +"existing constants* use-case. :meth:`__format__` is likewise :func:`str." +"__format__` for that same reason." +msgstr "" + +msgid "" +"*Flag* members support the bitwise operators ``&`` (*AND*), ``|`` (*OR*), " +"``^`` (*XOR*), and ``~`` (*INVERT*); the results of those operators are " +"members of the enumeration." +msgstr "" + +msgid "Returns *True* if value is in self::" +msgstr "" + +msgid "Returns all contained members::" +msgstr "" + +msgid "Returns number of members in flag::" +msgstr "" + +msgid "Returns *True* if any members in flag, *False* otherwise::" +msgstr "" + +msgid "Returns current flag binary or'ed with other::" +msgstr "" + +msgid "Returns current flag binary and'ed with other::" +msgstr "" + +msgid "Returns current flag binary xor'ed with other::" +msgstr "" + +msgid "Returns all the flags in *type(self)* that are not in self::" +msgstr "" + +msgid "" +"Function used to format any remaining unnamed numeric values. Default is " +"the value's repr; common choices are :func:`hex` and :func:`oct`." +msgstr "" + +msgid "" +"Using :class:`auto` with :class:`Flag` results in integers that are powers " +"of two, starting with ``1``." +msgstr "" + +msgid "The *repr()* of zero-valued flags has changed. It is now::" +msgstr "" + +msgid "" +"*IntFlag* is the same as *Flag*, but its members are also integers and can " +"be used anywhere that an integer can be used." +msgstr "" + +msgid "" +"If any integer operation is performed with an *IntFlag* member, the result " +"is not an *IntFlag*::" +msgstr "" + +msgid "If a *Flag* operation is performed with an *IntFlag* member and:" +msgstr "" + +msgid "the result is a valid *IntFlag*: an *IntFlag* is returned" +msgstr "" + +msgid "" +"the result is not a valid *IntFlag*: the result depends on the " +"*FlagBoundary* setting" +msgstr "" + +msgid "The *repr()* of unnamed zero-valued flags has changed. It is now:" +msgstr "" + +msgid "" +"Using :class:`auto` with :class:`IntFlag` results in integers that are " +"powers of two, starting with ``1``." +msgstr "" + +msgid "" +":class:`!ReprEum` uses the :meth:`repr() ` of :class:`Enum`, " +"but the :class:`str() ` of the mixed-in data type:" +msgstr "" + +msgid ":meth:`!int.__str__` for :class:`IntEnum` and :class:`IntFlag`" +msgstr "" + +msgid ":meth:`!str.__str__` for :class:`StrEnum`" +msgstr "" + +msgid "" +"Inherit from :class:`!ReprEnum` to keep the :class:`str() / :func:" +"`format` of the mixed-in data type instead of using the :class:`Enum`-" +"default :meth:`str() `." +msgstr "" + +msgid "" +"*EnumCheck* contains the options used by the :func:`verify` decorator to " +"ensure various constraints; failed constraints result in a :exc:`ValueError`." +msgstr "" + +msgid "Ensure that each value has only one name::" +msgstr "" + +msgid "" +"Ensure that there are no missing values between the lowest-valued member and " +"the highest-valued member::" +msgstr "" + +msgid "" +"Ensure that any flag groups/masks contain only named flags -- useful when " +"values are specified instead of being generated by :func:`auto`" +msgstr "" + +msgid "" +"CONTINUOUS and NAMED_FLAGS are designed to work with integer-valued members." +msgstr "" + +msgid "" +"*FlagBoundary* controls how out-of-range values are handled in *Flag* and " +"its subclasses." +msgstr "" + +msgid "" +"Out-of-range values cause a :exc:`ValueError` to be raised. This is the " +"default for :class:`Flag`::" +msgstr "" + +msgid "" +"Out-of-range values have invalid values removed, leaving a valid *Flag* " +"value::" +msgstr "" + +msgid "" +"Out-of-range values lose their *Flag* membership and revert to :class:`int`. " +"This is the default for :class:`IntFlag`::" +msgstr "" + +msgid "" +"Out-of-range values are kept, and the *Flag* membership is kept. This is " +"used for some stdlib flags:" +msgstr "" + +msgid "Supported ``__dunder__`` names" +msgstr "Підтримувані імена ``__dunder__``" + +msgid "" +":attr:`__members__` is a read-only ordered mapping of ``member_name``:" +"``member`` items. It is only available on the class." +msgstr "" +":attr:`__members__` — це впорядковане зіставлення елементів ``member_name``:" +"``member`` лише для читання. Це доступно лише в класі." + +msgid "" +":meth:`__new__`, if specified, must create and return the enum members; it " +"is also a very good idea to set the member's :attr:`_value_` appropriately. " +"Once all the members are created it is no longer used." +msgstr "" +":meth:`__new__`, якщо вказано, має створити та повернути члени enum; також " +"дуже гарна ідея належним чином встановити :attr:`_value_` члена. Після " +"створення всіх учасників він більше не використовується." + +msgid "Supported ``_sunder_`` names" +msgstr "Підтримувані імена ``_sunder_``" + +msgid "``_name_`` -- name of the member" +msgstr "``_name_`` -- ім'я учасника" + +msgid "" +"``_value_`` -- value of the member; can be set / modified in ``__new__``" +msgstr "``_value_`` -- значення члена; можна встановити/змінити в ``__new__``" + +msgid "" +"``_missing_`` -- a lookup function used when a value is not found; may be " +"overridden" +msgstr "" +"``_missing_`` -- функція пошуку, яка використовується, коли значення не " +"знайдено; може бути перевизначено" + +msgid "" +"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:" +"`str`, that will not be transformed into members, and will be removed from " +"the final class" +msgstr "" +"``_ignore_`` -- список імен у вигляді :class:`list` або :class:`str`, які не " +"будуть перетворені в члени та будуть видалені з остаточного класу" + +msgid "" +"``_order_`` -- used in Python 2/3 code to ensure member order is consistent " +"(class attribute, removed during class creation)" +msgstr "" +"``_order_`` -- використовується в коді Python 2/3 для забезпечення " +"узгодженості порядку членів (атрибут класу, видалений під час створення " +"класу)" + +msgid "" +"``_generate_next_value_`` -- used to get an appropriate value for an enum " +"member; may be overridden" +msgstr "" + +msgid "" +"For standard :class:`Enum` classes the next value chosen is the last value " +"seen incremented by one." +msgstr "" +"Для стандартних класів :class:`Enum` наступним вибраним значенням є останнє " +"значення, збільшене на одиницю." + +msgid "" +"For :class:`Flag` classes the next value chosen will be the next highest " +"power-of-two, regardless of the last value seen." +msgstr "" +"Для класів :class:`Flag` наступним вибраним значенням буде наступний " +"найвищий ступінь двох, незалежно від останнього побаченого значення." + +msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" +msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" + +msgid "``_ignore_``" +msgstr "``_ігнорувати_``" + +msgid "Utilities and Decorators" +msgstr "" + +msgid "" +"*auto* can be used in place of a value. If used, the *Enum* machinery will " +"call an *Enum*'s :meth:`_generate_next_value_` to get an appropriate value. " +"For *Enum* and *IntEnum* that appropriate value will be the last value plus " +"one; for *Flag* and *IntFlag* it will be the first power-of-two greater than " +"the last value; for *StrEnum* it will be the lower-cased version of the " +"member's name. Care must be taken if mixing *auto()* with manually " +"specified values." +msgstr "" + +msgid "" +"*auto* instances are only resolved when at the top level of an assignment:" +msgstr "" + +msgid "``FIRST = auto()`` will work (auto() is replaced with ``1``);" +msgstr "" + +msgid "" +"``SECOND = auto(), -2`` will work (auto is replaced with ``2``, so ``2, -2`` " +"is" +msgstr "" + +msgid "used to create the ``SECOND`` enum member;" +msgstr "" + +msgid "" +"``THREE = [auto(), -3]`` will *not* work (``, -3`` is used to " +"create the ``THREE`` enum member)" +msgstr "" + +msgid "" +"``_generate_next_value_`` can be overridden to customize the values used by " +"*auto*." +msgstr "" + +msgid "" +"in 3.13 the default ``\"generate_next_value_`` will always return the " +"highest member value incremented by 1, and will fail if any member is an " +"incompatible type." +msgstr "" + +msgid "" +"A decorator similar to the built-in *property*, but specifically for " +"enumerations. It allows member attributes to have the same names as members " +"themselves." +msgstr "" + +msgid "" +"the *property* and the member must be defined in separate classes; for " +"example, the *value* and *name* attributes are defined in the *Enum* class, " +"and *Enum* subclasses can define members with the names ``value`` and " +"``name``." +msgstr "" + +msgid "" +"A :keyword:`class` decorator specifically for enumerations. It searches an " +"enumeration's :attr:`__members__`, gathering any aliases it finds; if any " +"are found :exc:`ValueError` is raised with the details::" +msgstr "" + +msgid "" +"A :keyword:`class` decorator specifically for enumerations. Members from :" +"class:`EnumCheck` are used to specify which constraints should be checked on " +"the decorated enumeration." +msgstr "" + +msgid "A decorator for use in enums: its target will become a member." +msgstr "" + +msgid "A decorator for use in enums: its target will not become a member." +msgstr "" + +msgid "" +"A decorator to change the :class:`str() ` and :func:`repr` of an enum " +"to show its members as belonging to the module instead of its class. Should " +"only be used when the enum members are exported to the module global " +"namespace (see :class:`re.RegexFlag` for an example)." +msgstr "" + +msgid "Return a list of all power-of-two integers contained in a flag *value*." +msgstr "" + +msgid "Notes" +msgstr "Примітки" + +msgid ":class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag`" +msgstr "" + +msgid "" +"These three enum types are designed to be drop-in replacements for existing " +"integer- and string-based values; as such, they have extra limitations:" +msgstr "" + +msgid "``__str__`` uses the value and not the name of the enum member" +msgstr "" + +msgid "" +"``__format__``, because it uses ``__str__``, will also use the value of the " +"enum member instead of its name" +msgstr "" + +msgid "" +"If you do not need/want those limitations, you can either create your own " +"base class by mixing in the ``int`` or ``str`` type yourself::" +msgstr "" + +msgid "or you can reassign the appropriate :meth:`str`, etc., in your enum::" +msgstr "" diff --git a/library/errno.po b/library/errno.po new file mode 100644 index 000000000..c99e901df --- /dev/null +++ b/library/errno.po @@ -0,0 +1,508 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`errno` --- Standard errno system symbols" +msgstr ":mod:`errno` --- Стандартні символи системи errno" + +msgid "" +"This module makes available standard ``errno`` system symbols. The value of " +"each symbol is the corresponding integer value. The names and descriptions " +"are borrowed from :file:`linux/include/errno.h`, which should be all-" +"inclusive." +msgstr "" +"Цей модуль робить доступними стандартні системні символи ``errno``. Значення " +"кожного символу є відповідним цілим значенням. Назви та описи запозичені з :" +"file:`linux/include/errno.h`, який має бути повним." + +msgid "" +"Dictionary providing a mapping from the errno value to the string name in " +"the underlying system. For instance, ``errno.errorcode[errno.EPERM]`` maps " +"to ``'EPERM'``." +msgstr "" +"Словник, що забезпечує зіставлення значення errno з іменем рядка в базовій " +"системі. Наприклад, ``errno.errorcode[errno.EPERM]`` відповідає ``'EPERM''``." + +msgid "" +"To translate a numeric error code to an error message, use :func:`os." +"strerror`." +msgstr "" +"Щоб перетворити числовий код помилки на повідомлення про помилку, " +"використовуйте :func:`os.strerror`." + +msgid "" +"Of the following list, symbols that are not used on the current platform are " +"not defined by the module. The specific list of defined symbols is " +"available as ``errno.errorcode.keys()``. Symbols available can include:" +msgstr "" +"З наведеного нижче списку символи, які не використовуються на поточній " +"платформі, не визначені модулем. Конкретний список визначених символів " +"доступний як ``errno.errorcode.keys()``. Доступні символи можуть включати:" + +msgid "" +"Operation not permitted. This error is mapped to the exception :exc:" +"`PermissionError`." +msgstr "" +"Операція не дозволена. Ця помилка зіставляється з винятком :exc:" +"`PermissionError`." + +msgid "" +"No such file or directory. This error is mapped to the exception :exc:" +"`FileNotFoundError`." +msgstr "" +"Такого файлу чи каталогу немає. Ця помилка зіставляється з винятком :exc:" +"`FileNotFoundError`." + +msgid "" +"No such process. This error is mapped to the exception :exc:" +"`ProcessLookupError`." +msgstr "" +"Такого процесу немає. Ця помилка зіставляється з винятком :exc:" +"`ProcessLookupError`." + +msgid "" +"Interrupted system call. This error is mapped to the exception :exc:" +"`InterruptedError`." +msgstr "" +"Перерваний системний виклик. Ця помилка зіставляється з винятком :exc:" +"`InterruptedError`." + +msgid "I/O error" +msgstr "Помилка введення/виведення" + +msgid "No such device or address" +msgstr "Немає такого пристрою чи адреси" + +msgid "Arg list too long" +msgstr "Список аргументів задовгий" + +msgid "Exec format error" +msgstr "Помилка формату Exec" + +msgid "Bad file number" +msgstr "Неправильний номер файлу" + +msgid "" +"No child processes. This error is mapped to the exception :exc:" +"`ChildProcessError`." +msgstr "" +"Немає дочірніх процесів. Ця помилка зіставляється з винятком :exc:" +"`ChildProcessError`." + +msgid "" +"Try again. This error is mapped to the exception :exc:`BlockingIOError`." +msgstr "" +"Спробуйте знову. Ця помилка зіставляється з винятком :exc:`BlockingIOError`." + +msgid "Out of memory" +msgstr "Недостатньо помяті" + +msgid "" +"Permission denied. This error is mapped to the exception :exc:" +"`PermissionError`." +msgstr "" +"У дозволі відмовлено. Ця помилка зіставляється з винятком :exc:" +"`PermissionError`." + +msgid "Bad address" +msgstr "Погана адреса" + +msgid "Block device required" +msgstr "Потрібен блоковий пристрій" + +msgid "Device or resource busy" +msgstr "Пристрій або ресурс зайняті" + +msgid "" +"File exists. This error is mapped to the exception :exc:`FileExistsError`." +msgstr "" +"Файл існує. Ця помилка зіставляється з винятком :exc:`FileExistsError`." + +msgid "Cross-device link" +msgstr "Зв’язок між пристроями" + +msgid "No such device" +msgstr "Немає такого пристрою" + +msgid "" +"Not a directory. This error is mapped to the exception :exc:" +"`NotADirectoryError`." +msgstr "" +"Не каталог. Ця помилка зіставляється з винятком :exc:`NotADirectoryError`." + +msgid "" +"Is a directory. This error is mapped to the exception :exc:" +"`IsADirectoryError`." +msgstr "" +"Це каталог. Ця помилка зіставляється з винятком :exc:`IsADirectoryError`." + +msgid "Invalid argument" +msgstr "Недійсний аргумент" + +msgid "File table overflow" +msgstr "Переповнення таблиці файлів" + +msgid "Too many open files" +msgstr "Забагато відкритих файлів" + +msgid "Not a typewriter" +msgstr "Не друкарська машинка" + +msgid "Text file busy" +msgstr "Текстовий файл зайнятий" + +msgid "File too large" +msgstr "Файл завеликий" + +msgid "No space left on device" +msgstr "На пристрої не залишилося місця" + +msgid "Illegal seek" +msgstr "Незаконний пошук" + +msgid "Read-only file system" +msgstr "Файлова система лише для читання" + +msgid "Too many links" +msgstr "Забагато посилань" + +msgid "" +"Broken pipe. This error is mapped to the exception :exc:`BrokenPipeError`." +msgstr "" +"Розбита труба. Ця помилка зіставляється з винятком :exc:`BrokenPipeError`." + +msgid "Math argument out of domain of func" +msgstr "Математичний аргумент поза областю функ" + +msgid "Math result not representable" +msgstr "Математичний результат неможливо представити" + +msgid "Resource deadlock would occur" +msgstr "Виникне блокування ресурсів" + +msgid "File name too long" +msgstr "Назва файлу задовга" + +msgid "No record locks available" +msgstr "Немає доступних блокувань записів" + +msgid "Function not implemented" +msgstr "Функція не реалізована" + +msgid "Directory not empty" +msgstr "Каталог не порожній" + +msgid "Too many symbolic links encountered" +msgstr "Знайдено забагато символічних посилань" + +msgid "" +"Operation would block. This error is mapped to the exception :exc:" +"`BlockingIOError`." +msgstr "" +"Операція буде заблокована. Ця помилка зіставляється з винятком :exc:" +"`BlockingIOError`." + +msgid "No message of desired type" +msgstr "Немає повідомлень потрібного типу" + +msgid "Identifier removed" +msgstr "Ідентифікатор видалено" + +msgid "Channel number out of range" +msgstr "Номер каналу поза діапазоном" + +msgid "Level 2 not synchronized" +msgstr "Рівень 2 не синхронізовано" + +msgid "Level 3 halted" +msgstr "Рівень 3 зупинено" + +msgid "Level 3 reset" +msgstr "Скидання рівня 3" + +msgid "Link number out of range" +msgstr "Номер посилання поза діапазоном" + +msgid "Protocol driver not attached" +msgstr "Драйвер протоколу не підключено" + +msgid "No CSI structure available" +msgstr "Немає доступної структури CSI" + +msgid "Level 2 halted" +msgstr "Рівень 2 зупинено" + +msgid "Invalid exchange" +msgstr "Недійсний обмін" + +msgid "Invalid request descriptor" +msgstr "Недійсний дескриптор запиту" + +msgid "Exchange full" +msgstr "Обмін повний" + +msgid "No anode" +msgstr "Без анода" + +msgid "Invalid request code" +msgstr "Недійсний код запиту" + +msgid "Invalid slot" +msgstr "Недійсний слот" + +msgid "File locking deadlock error" +msgstr "Помилка взаємоблокування блокування файлу" + +msgid "Bad font file format" +msgstr "Неправильний формат файлу шрифту" + +msgid "Device not a stream" +msgstr "Пристрій не є потоком" + +msgid "No data available" +msgstr "Немає даних" + +msgid "Timer expired" +msgstr "Таймер закінчився" + +msgid "Out of streams resources" +msgstr "Ресурси поза потоками" + +msgid "Machine is not on the network" +msgstr "Машина не в мережі" + +msgid "Package not installed" +msgstr "Пакет не встановлено" + +msgid "Object is remote" +msgstr "Об'єкт віддалений" + +msgid "Link has been severed" +msgstr "Посилання розірвано" + +msgid "Advertise error" +msgstr "Помилка реклами" + +msgid "Srmount error" +msgstr "Помилка Srmount" + +msgid "Communication error on send" +msgstr "Помилка зв’язку під час надсилання" + +msgid "Protocol error" +msgstr "Помилка протоколу" + +msgid "Multihop attempted" +msgstr "Спроба кількох стрибків" + +msgid "RFS specific error" +msgstr "Специфічна помилка RFS" + +msgid "Not a data message" +msgstr "Не повідомлення даних" + +msgid "Value too large for defined data type" +msgstr "Значення завелике для визначеного типу даних" + +msgid "Name not unique on network" +msgstr "Ім'я не унікальне в мережі" + +msgid "File descriptor in bad state" +msgstr "Дескриптор файлу в поганому стані" + +msgid "Remote address changed" +msgstr "Змінено віддалену адресу" + +msgid "Can not access a needed shared library" +msgstr "Неможливо отримати доступ до необхідної спільної бібліотеки" + +msgid "Accessing a corrupted shared library" +msgstr "Доступ до пошкодженої спільної бібліотеки" + +msgid ".lib section in a.out corrupted" +msgstr "Розділ .lib у файлі a.out пошкоджено" + +msgid "Attempting to link in too many shared libraries" +msgstr "Спроба зв’язатися із занадто великою кількістю спільних бібліотек" + +msgid "Cannot exec a shared library directly" +msgstr "Неможливо виконати спільну бібліотеку безпосередньо" + +msgid "Illegal byte sequence" +msgstr "Недопустима послідовність байтів" + +msgid "Interrupted system call should be restarted" +msgstr "Перерваний системний виклик слід розпочати заново" + +msgid "Streams pipe error" +msgstr "Помилка каналу потоків" + +msgid "Too many users" +msgstr "Забагато користувачів" + +msgid "Socket operation on non-socket" +msgstr "Робота сокета на несокеті" + +msgid "Destination address required" +msgstr "Потрібна адреса призначення" + +msgid "Message too long" +msgstr "Повідомлення задовге" + +msgid "Protocol wrong type for socket" +msgstr "Неправильний тип протоколу для сокета" + +msgid "Protocol not available" +msgstr "Протокол недоступний" + +msgid "Protocol not supported" +msgstr "Протокол не підтримується" + +msgid "Socket type not supported" +msgstr "Тип розетки не підтримується" + +msgid "Operation not supported on transport endpoint" +msgstr "Операція не підтримується на транспортній кінцевій точці" + +msgid "Protocol family not supported" +msgstr "Сімейство протоколів не підтримується" + +msgid "Address family not supported by protocol" +msgstr "Сімейство адрес не підтримується протоколом" + +msgid "Address already in use" +msgstr "Адреса вже використовується" + +msgid "Cannot assign requested address" +msgstr "Неможливо призначити запитану адресу" + +msgid "Network is down" +msgstr "Мережа не працює" + +msgid "Network is unreachable" +msgstr "Мережа недоступна" + +msgid "Network dropped connection because of reset" +msgstr "З’єднання з мережею перервано через скидання" + +msgid "" +"Software caused connection abort. This error is mapped to the exception :exc:" +"`ConnectionAbortedError`." +msgstr "" +"Програмне забезпечення спричинило переривання підключення. Ця помилка " +"зіставляється з винятком :exc:`ConnectionAbortedError`." + +msgid "" +"Connection reset by peer. This error is mapped to the exception :exc:" +"`ConnectionResetError`." +msgstr "" +"Підключення скинуто іншим комп'ютером. Ця помилка зіставляється з винятком :" +"exc:`ConnectionResetError`." + +msgid "No buffer space available" +msgstr "Немає буферного простору" + +msgid "Transport endpoint is already connected" +msgstr "Транспортна кінцева точка вже підключена" + +msgid "Transport endpoint is not connected" +msgstr "Кінцева транспортна точка не підключена" + +msgid "" +"Cannot send after transport endpoint shutdown. This error is mapped to the " +"exception :exc:`BrokenPipeError`." +msgstr "" +"Неможливо надіслати після завершення транспортної кінцевої точки. Ця помилка " +"зіставляється з винятком :exc:`BrokenPipeError`." + +msgid "Too many references: cannot splice" +msgstr "Забагато посилань: неможливо з’єднати" + +msgid "" +"Connection timed out. This error is mapped to the exception :exc:" +"`TimeoutError`." +msgstr "" +"Тайм-аут підключення. Ця помилка зіставляється з винятком :exc:" +"`TimeoutError`." + +msgid "" +"Connection refused. This error is mapped to the exception :exc:" +"`ConnectionRefusedError`." +msgstr "" +"З'єднання відхилено. Ця помилка зіставляється з винятком :exc:" +"`ConnectionRefusedError`." + +msgid "Host is down" +msgstr "Хост не працює" + +msgid "No route to host" +msgstr "Немає маршруту до хосту" + +msgid "" +"Operation already in progress. This error is mapped to the exception :exc:" +"`BlockingIOError`." +msgstr "" +"Операція вже триває. Ця помилка зіставляється з винятком :exc:" +"`BlockingIOError`." + +msgid "" +"Operation now in progress. This error is mapped to the exception :exc:" +"`BlockingIOError`." +msgstr "" +"Зараз триває операція. Ця помилка зіставляється з винятком :exc:" +"`BlockingIOError`." + +msgid "Stale NFS file handle" +msgstr "Застарілий дескриптор файлу NFS" + +msgid "Structure needs cleaning" +msgstr "Конструкція потребує очищення" + +msgid "Not a XENIX named type file" +msgstr "Файл не має імені XENIX" + +msgid "No XENIX semaphores available" +msgstr "Немає доступних семафорів XENIX" + +msgid "Is a named type file" +msgstr "Це файл іменованого типу" + +msgid "Remote I/O error" +msgstr "Помилка віддаленого введення-виведення" + +msgid "Quota exceeded" +msgstr "Квоту перевищено" + +msgid "Interface output queue is full" +msgstr "" + +msgid "" +"Capabilities insufficient. This error is mapped to the exception :exc:" +"`PermissionError`." +msgstr "" + +msgid ":ref:`Availability `: WASI, FreeBSD" +msgstr "" diff --git a/library/exceptions.po b/library/exceptions.po new file mode 100644 index 000000000..7eeb5d0f7 --- /dev/null +++ b/library/exceptions.po @@ -0,0 +1,1307 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Built-in Exceptions" +msgstr "Вбудовані винятки" + +msgid "" +"In Python, all exceptions must be instances of a class that derives from :" +"class:`BaseException`. In a :keyword:`try` statement with an :keyword:" +"`except` clause that mentions a particular class, that clause also handles " +"any exception classes derived from that class (but not exception classes " +"from which *it* is derived). Two exception classes that are not related via " +"subclassing are never equivalent, even if they have the same name." +msgstr "" +"У Python усі винятки мають бути екземплярами класу, який походить від :class:" +"`BaseException`. У операторі :keyword:`try` із пунктом :keyword:`except`, " +"який згадує певний клас, цей пункт також обробляє будь-які класи винятків, " +"похідних від цього класу (але не класи винятків, з яких *it* походить). Два " +"класи винятків, які не пов’язані через підкласи, ніколи не є еквівалентними, " +"навіть якщо вони мають однакові назви." + +msgid "" +"The built-in exceptions listed below can be generated by the interpreter or " +"built-in functions. Except where mentioned, they have an \"associated value" +"\" indicating the detailed cause of the error. This may be a string or a " +"tuple of several items of information (e.g., an error code and a string " +"explaining the code). The associated value is usually passed as arguments " +"to the exception class's constructor." +msgstr "" +"Перелічені нижче вбудовані винятки можуть бути згенеровані інтерпретатором " +"або вбудованими функціями. Якщо не зазначено, вони мають \"пов’язане значення" +"\", яке вказує на детальну причину помилки. Це може бути рядок або кортеж із " +"кількох елементів інформації (наприклад, код помилки та рядок, що пояснює " +"код). Пов'язане значення зазвичай передається як аргументи конструктору " +"класу винятків." + +msgid "" +"User code can raise built-in exceptions. This can be used to test an " +"exception handler or to report an error condition \"just like\" the " +"situation in which the interpreter raises the same exception; but beware " +"that there is nothing to prevent user code from raising an inappropriate " +"error." +msgstr "" +"Код користувача може викликати вбудовані винятки. Це можна використовувати " +"для перевірки обробника винятків або для повідомлення про стан помилки " +"\"подібно до\" ситуації, в якій інтерпретатор викликає той самий виняток; " +"але майте на увазі, що ніщо не завадить коду користувача викликати недоречну " +"помилку." + +msgid "" +"The built-in exception classes can be subclassed to define new exceptions; " +"programmers are encouraged to derive new exceptions from the :exc:" +"`Exception` class or one of its subclasses, and not from :exc:" +"`BaseException`. More information on defining exceptions is available in " +"the Python Tutorial under :ref:`tut-userexceptions`." +msgstr "" +"Вбудовані класи винятків можуть бути підкласами для визначення нових " +"винятків; Програмістам рекомендується отримувати нові винятки з класу :exc:" +"`Exception` або одного з його підкласів, а не з :exc:`BaseException`. Більше " +"інформації про визначення винятків доступно в підручнику з Python у розділі :" +"ref:`tut-userexceptions`." + +msgid "Exception context" +msgstr "Контекст винятків" + +msgid "" +"When raising a new exception while another exception is already being " +"handled, the new exception's :attr:`__context__` attribute is automatically " +"set to the handled exception. An exception may be handled when an :keyword:" +"`except` or :keyword:`finally` clause, or a :keyword:`with` statement, is " +"used." +msgstr "" +"Під час створення нового винятку, коли інший виняток уже обробляється, " +"атрибут :attr:`__context__` нового винятку автоматично встановлюється на " +"оброблений виняток. Виняток може бути оброблено, коли використовується " +"речення :keyword:`except` або :keyword:`finally` або оператор :keyword:" +"`with`." + +msgid "" +"This implicit exception context can be supplemented with an explicit cause " +"by using :keyword:`!from` with :keyword:`raise`::" +msgstr "" +"Цей контекст неявної виняткової ситуації можна доповнити явною причиною за " +"допомогою :keyword:`!from` з :keyword:`raise`::" + +msgid "" +"The expression following :keyword:`from` must be an exception or " +"``None``. It will be set as :attr:`__cause__` on the raised exception. " +"Setting :attr:`__cause__` also implicitly sets the :attr:" +"`__suppress_context__` attribute to ``True``, so that using ``raise new_exc " +"from None`` effectively replaces the old exception with the new one for " +"display purposes (e.g. converting :exc:`KeyError` to :exc:`AttributeError`), " +"while leaving the old exception available in :attr:`__context__` for " +"introspection when debugging." +msgstr "" +"Вираз після :keyword:`from ` має бути винятком або ``Жодним``. Його " +"буде встановлено як :attr:`__cause__` для викликаного винятку. Параметр :" +"attr:`__cause__` також неявно встановлює для атрибута :attr:" +"`__suppress_context__` значення ``True``, щоб використання ``raise new_exc " +"from None`` ефективно замінювало старий виняток новим для відображення " +"(наприклад, перетворюючи :exc:`KeyError` на :exc:`AttributeError`), " +"залишаючи старий виняток доступним у :attr:`__context__` для самоаналізу під " +"час налагодження." + +msgid "" +"The default traceback display code shows these chained exceptions in " +"addition to the traceback for the exception itself. An explicitly chained " +"exception in :attr:`__cause__` is always shown when present. An implicitly " +"chained exception in :attr:`__context__` is shown only if :attr:`__cause__` " +"is :const:`None` and :attr:`__suppress_context__` is false." +msgstr "" +"Код відображення зворотного відстеження за замовчуванням показує ці " +"ланцюгові винятки на додаток до відстеження для самого винятку. Явно " +"зв’язаний виняток у :attr:`__cause__` завжди відображається, якщо він " +"присутній. Неявно зв’язаний виняток у :attr:`__context__` відображається " +"лише якщо :attr:`__cause__` має значення :const:`None`, а :attr:" +"`__suppress_context__` має значення false." + +msgid "" +"In either case, the exception itself is always shown after any chained " +"exceptions so that the final line of the traceback always shows the last " +"exception that was raised." +msgstr "" +"У будь-якому випадку сам виняток завжди відображається після будь-яких " +"ланцюжкових винятків, так що останній рядок трасування завжди показує " +"останній виняток, який був викликаний." + +msgid "Inheriting from built-in exceptions" +msgstr "Успадкування від вбудованих винятків" + +msgid "" +"User code can create subclasses that inherit from an exception type. It's " +"recommended to only subclass one exception type at a time to avoid any " +"possible conflicts between how the bases handle the ``args`` attribute, as " +"well as due to possible memory layout incompatibilities." +msgstr "" +"Код користувача може створювати підкласи, які успадковуються від типу " +"винятку. Рекомендується створювати підкласи лише для одного типу винятків за " +"раз, щоб уникнути будь-яких можливих конфліктів між тим, як основи " +"обробляють атрибут ``args``, а також через можливу несумісність розташування " +"пам’яті." + +msgid "" +"Most built-in exceptions are implemented in C for efficiency, see: :source:" +"`Objects/exceptions.c`. Some have custom memory layouts which makes it " +"impossible to create a subclass that inherits from multiple exception types. " +"The memory layout of a type is an implementation detail and might change " +"between Python versions, leading to new conflicts in the future. Therefore, " +"it's recommended to avoid subclassing multiple exception types altogether." +msgstr "" +"Більшість вбудованих винятків реалізовано в C для ефективності, див.: :" +"source:`Objects/exceptions.c`. Деякі мають власне розташування пам’яті, що " +"унеможливлює створення підкласу, який успадковує кілька типів винятків. " +"Розташування пам’яті типу є деталлю реалізації та може змінюватися між " +"версіями Python, що призведе до нових конфліктів у майбутньому. Тому " +"рекомендується взагалі уникати створення підкласів кількох типів винятків." + +msgid "Base classes" +msgstr "Базові класи" + +msgid "" +"The following exceptions are used mostly as base classes for other " +"exceptions." +msgstr "" +"Наступні винятки використовуються переважно як базові класи для інших " +"винятків." + +msgid "" +"The base class for all built-in exceptions. It is not meant to be directly " +"inherited by user-defined classes (for that, use :exc:`Exception`). If :" +"func:`str` is called on an instance of this class, the representation of the " +"argument(s) to the instance are returned, or the empty string when there " +"were no arguments." +msgstr "" +"Базовий клас для всіх вбудованих винятків. Він не призначений для " +"безпосереднього успадкування класами, визначеними користувачем (для цього " +"використовуйте :exc:`Exception`). Якщо :func:`str` викликається для " +"екземпляра цього класу, повертається представлення аргументів для екземпляра " +"або порожній рядок, якщо аргументів не було." + +msgid "" +"The tuple of arguments given to the exception constructor. Some built-in " +"exceptions (like :exc:`OSError`) expect a certain number of arguments and " +"assign a special meaning to the elements of this tuple, while others are " +"usually called only with a single string giving an error message." +msgstr "" +"Кортеж аргументів, наданий конструктору винятків. Деякі вбудовані винятки " +"(як-от :exc:`OSError`) очікують певної кількості аргументів і призначають " +"особливе значення елементам цього кортежу, тоді як інші зазвичай " +"викликаються лише з одним рядком, що дає повідомлення про помилку." + +msgid "" +"This method sets *tb* as the new traceback for the exception and returns the " +"exception object. It was more commonly used before the exception chaining " +"features of :pep:`3134` became available. The following example shows how " +"we can convert an instance of ``SomeException`` into an instance of " +"``OtherException`` while preserving the traceback. Once raised, the current " +"frame is pushed onto the traceback of the ``OtherException``, as would have " +"happened to the traceback of the original ``SomeException`` had we allowed " +"it to propagate to the caller. ::" +msgstr "" +"Цей метод встановлює *tb* як нову трасування для винятку та повертає об’єкт " +"винятку. Його частіше використовували до того, як стали доступними функції " +"ланцюжка винятків :pep:`3134`. У наступному прикладі показано, як ми можемо " +"перетворити екземпляр ``SomeException`` на екземпляр ``OtherException``, " +"зберігаючи зворотне трасування. Після підняття поточний фрейм надсилається " +"на трасування ``OtherException``, як це сталося б із трасуванням " +"оригінального ``SomeException``, якби ми дозволили йому поширюватися на " +"виклик. ::" + +msgid "" +"Add the string ``note`` to the exception's notes which appear in the " +"standard traceback after the exception string. A :exc:`TypeError` is raised " +"if ``note`` is not a string." +msgstr "" + +msgid "" +"A list of the notes of this exception, which were added with :meth:" +"`add_note`. This attribute is created when :meth:`add_note` is called." +msgstr "" + +msgid "" +"All built-in, non-system-exiting exceptions are derived from this class. " +"All user-defined exceptions should also be derived from this class." +msgstr "" +"Усі вбудовані винятки, що не виходять із системи, походять від цього класу. " +"Усі визначені користувачем винятки також мають бути похідними від цього " +"класу." + +msgid "" +"The base class for those built-in exceptions that are raised for various " +"arithmetic errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" +"`FloatingPointError`." +msgstr "" +"Базовий клас для тих вбудованих винятків, які викликаються для різних " +"арифметичних помилок: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" +"`FloatingPointError`." + +msgid "" +"Raised when a :ref:`buffer ` related operation cannot be " +"performed." +msgstr "" +"Викликається, коли пов’язану операцію :ref:`buffer ` не можна " +"виконати." + +msgid "" +"The base class for the exceptions that are raised when a key or index used " +"on a mapping or sequence is invalid: :exc:`IndexError`, :exc:`KeyError`. " +"This can be raised directly by :func:`codecs.lookup`." +msgstr "" +"Базовий клас для винятків, які виникають, коли ключ або індекс, використаний " +"у відображенні чи послідовності, недійсний: :exc:`IndexError`, :exc:" +"`KeyError`. Це можна викликати безпосередньо за допомогою :func:`codecs." +"lookup`." + +msgid "Concrete exceptions" +msgstr "Конкретні винятки" + +msgid "The following exceptions are the exceptions that are usually raised." +msgstr "Наступні винятки є винятками, які зазвичай виникають." + +msgid "Raised when an :keyword:`assert` statement fails." +msgstr "Викликається, коли оператор :keyword:`assert` не виконується." + +msgid "" +"Raised when an attribute reference (see :ref:`attribute-references`) or " +"assignment fails. (When an object does not support attribute references or " +"attribute assignments at all, :exc:`TypeError` is raised.)" +msgstr "" +"Викликається, коли посилання на атрибут (див. :ref:`attribute-references`) " +"або призначення не вдається. (Якщо об’єкт взагалі не підтримує посилання на " +"атрибути чи призначення атрибутів, виникає :exc:`TypeError`.)" + +msgid "" +"The :attr:`name` and :attr:`obj` attributes can be set using keyword-only " +"arguments to the constructor. When set they represent the name of the " +"attribute that was attempted to be accessed and the object that was accessed " +"for said attribute, respectively." +msgstr "" +"Атрибути :attr:`name` і :attr:`obj` можна встановити за допомогою аргументів " +"конструктора, які містять лише ключові слова. Якщо встановлено, вони " +"представляють ім’я атрибута, до якого намагалися отримати доступ, і об’єкта, " +"до якого було звернено доступ для зазначеного атрибута, відповідно." + +msgid "Added the :attr:`name` and :attr:`obj` attributes." +msgstr "Додано атрибути :attr:`name` і :attr:`obj`." + +msgid "" +"Raised when the :func:`input` function hits an end-of-file condition (EOF) " +"without reading any data. (N.B.: the :meth:`io.IOBase.read` and :meth:`io." +"IOBase.readline` methods return an empty string when they hit EOF.)" +msgstr "" +"Викликається, коли функція :func:`input` досягає умови кінця файлу (EOF) без " +"читання жодних даних. (Примітка: методи :meth:`io.IOBase.read` і :meth:`io." +"IOBase.readline` повертають порожній рядок, коли вони досягають EOF.)" + +msgid "Not currently used." +msgstr "Зараз не використовується." + +msgid "" +"Raised when a :term:`generator` or :term:`coroutine` is closed; see :meth:" +"`generator.close` and :meth:`coroutine.close`. It directly inherits from :" +"exc:`BaseException` instead of :exc:`Exception` since it is technically not " +"an error." +msgstr "" +"Викликається, коли :term:`generator` або :term:`coroutine` закрито; див. :" +"meth:`generator.close` і :meth:`coroutine.close`. Він безпосередньо " +"успадковує :exc:`BaseException` замість :exc:`Exception`, оскільки технічно " +"це не помилка." + +msgid "" +"Raised when the :keyword:`import` statement has troubles trying to load a " +"module. Also raised when the \"from list\" in ``from ... import`` has a " +"name that cannot be found." +msgstr "" +"Викликається, коли оператор :keyword:`import` має проблеми при спробі " +"завантажити модуль. Також виникає, коли \"зі списку\" в ``from ... import`` " +"має назву, яку неможливо знайти." + +msgid "" +"The :attr:`name` and :attr:`path` attributes can be set using keyword-only " +"arguments to the constructor. When set they represent the name of the module " +"that was attempted to be imported and the path to any file which triggered " +"the exception, respectively." +msgstr "" +"Атрибути :attr:`name` і :attr:`path` можна встановити за допомогою " +"аргументів конструктора, які містять лише ключові слова. Якщо встановлено, " +"вони представляють назву модуля, який намагалися імпортувати, і шлях до будь-" +"якого файлу, який ініціював виняткову ситуацію, відповідно." + +msgid "Added the :attr:`name` and :attr:`path` attributes." +msgstr "Додано атрибути :attr:`name` і :attr:`path`." + +msgid "" +"A subclass of :exc:`ImportError` which is raised by :keyword:`import` when a " +"module could not be located. It is also raised when ``None`` is found in :" +"data:`sys.modules`." +msgstr "" +"Підклас :exc:`ImportError`, який викликається :keyword:`import`, коли не " +"вдалося знайти модуль. Він також виникає, коли ``None`` знайдено в :data:" +"`sys.modules`." + +msgid "" +"Raised when a sequence subscript is out of range. (Slice indices are " +"silently truncated to fall in the allowed range; if an index is not an " +"integer, :exc:`TypeError` is raised.)" +msgstr "" +"Викликається, коли індекс послідовності виходить за межі діапазону. (Індекси " +"фрагментів мовчки скорочуються, щоб потрапити в дозволений діапазон; якщо " +"індекс не є цілим числом, виникає :exc:`TypeError`.)" + +msgid "" +"Raised when a mapping (dictionary) key is not found in the set of existing " +"keys." +msgstr "" +"Викликається, коли ключ відображення (словника) не знайдено в наборі " +"існуючих ключів." + +msgid "" +"Raised when the user hits the interrupt key (normally :kbd:`Control-C` or :" +"kbd:`Delete`). During execution, a check for interrupts is made regularly. " +"The exception inherits from :exc:`BaseException` so as to not be " +"accidentally caught by code that catches :exc:`Exception` and thus prevent " +"the interpreter from exiting." +msgstr "" +"Викликається, коли користувач натискає клавішу переривання (зазвичай :kbd:" +"`Control-C` або :kbd:`Delete`). Під час виконання регулярно виконується " +"перевірка на наявність переривань. Виняток успадковується від :exc:" +"`BaseException`, щоб не бути випадково перехопленим кодом, який перехоплює :" +"exc:`Exception` і таким чином запобігти виходу інтерпретатора." + +msgid "" +"Catching a :exc:`KeyboardInterrupt` requires special consideration. Because " +"it can be raised at unpredictable points, it may, in some circumstances, " +"leave the running program in an inconsistent state. It is generally best to " +"allow :exc:`KeyboardInterrupt` to end the program as quickly as possible or " +"avoid raising it entirely. (See :ref:`handlers-and-exceptions`.)" +msgstr "" +"Перехоплення :exc:`KeyboardInterrupt` вимагає особливої уваги. Оскільки він " +"може виникати в непередбачуваних моментах, за деяких обставин він може " +"залишити запущену програму в неузгодженому стані. Загалом найкраще " +"дозволити :exc:`KeyboardInterrupt` завершити програму якомога швидше або " +"повністю уникати її запуску. (Див. :ref:`handlers-and-exceptions`.)" + +msgid "" +"Raised when an operation runs out of memory but the situation may still be " +"rescued (by deleting some objects). The associated value is a string " +"indicating what kind of (internal) operation ran out of memory. Note that " +"because of the underlying memory management architecture (C's :c:func:" +"`malloc` function), the interpreter may not always be able to completely " +"recover from this situation; it nevertheless raises an exception so that a " +"stack traceback can be printed, in case a run-away program was the cause." +msgstr "" +"Викликається, коли для операції вичерпується пам’ять, але ситуацію можна " +"врятувати (видаливши деякі об’єкти). Пов’язане значення — це рядок, що " +"вказує, яка (внутрішня) операція вичерпала пам’ять. Зауважте, що через " +"базову архітектуру керування пам’яттю (функція C :c:func:`malloc`), " +"інтерпретатор не завжди може повністю вийти з цієї ситуації; незважаючи на " +"це, він викликає виняток, щоб можна було надрукувати зворотне трасування " +"стека, якщо причиною стала програма, що втекла." + +msgid "" +"Raised when a local or global name is not found. This applies only to " +"unqualified names. The associated value is an error message that includes " +"the name that could not be found." +msgstr "" +"Викликається, коли локальне чи глобальне ім’я не знайдено. Це стосується " +"лише некваліфікованих імен. Пов’язане значення – це повідомлення про " +"помилку, яке містить ім’я, яке не вдалося знайти." + +msgid "" +"The :attr:`name` attribute can be set using a keyword-only argument to the " +"constructor. When set it represent the name of the variable that was " +"attempted to be accessed." +msgstr "" +"Атрибут :attr:`name` можна встановити за допомогою лише ключового аргументу " +"для конструктора. Якщо встановлено, воно представляє назву змінної, до якої " +"намагалися отримати доступ." + +msgid "Added the :attr:`name` attribute." +msgstr "Додано атрибут :attr:`name`." + +msgid "" +"This exception is derived from :exc:`RuntimeError`. In user defined base " +"classes, abstract methods should raise this exception when they require " +"derived classes to override the method, or while the class is being " +"developed to indicate that the real implementation still needs to be added." +msgstr "" +"Цей виняток походить від :exc:`RuntimeError`. У визначених користувачем " +"базових класах абстрактні методи повинні викликати цей виняток, коли вони " +"вимагають, щоб похідні класи замінили метод, або під час розробки класу, щоб " +"вказати, що справжню реалізацію все ще потрібно додати." + +msgid "" +"It should not be used to indicate that an operator or method is not meant to " +"be supported at all -- in that case either leave the operator / method " +"undefined or, if a subclass, set it to :data:`None`." +msgstr "" +"Його не слід використовувати для вказівки на те, що оператор або метод " +"взагалі не призначений для підтримки — у такому випадку або залиште оператор/" +"метод невизначеними, або, якщо це підклас, установіть для нього значення :" +"data:`None`." + +msgid "" +"``NotImplementedError`` and ``NotImplemented`` are not interchangeable, even " +"though they have similar names and purposes. See :data:`NotImplemented` for " +"details on when to use it." +msgstr "" +"``NotImplementedError`` і ``NotImplemented`` не є взаємозамінними, навіть " +"якщо вони мають подібні назви та цілі. Перегляньте :data:`NotImplemented`, " +"щоб дізнатися, коли його використовувати." + +msgid "" +"This exception is raised when a system function returns a system-related " +"error, including I/O failures such as \"file not found\" or \"disk full" +"\" (not for illegal argument types or other incidental errors)." +msgstr "" +"Цей виняток виникає, коли системна функція повертає системну помилку, " +"включаючи помилки вводу-виводу, такі як \"файл не знайдено\" або \"диск " +"заповнений\" (не для недопустимих типів аргументів або інших випадкових " +"помилок)." + +msgid "" +"The second form of the constructor sets the corresponding attributes, " +"described below. The attributes default to :const:`None` if not specified. " +"For backwards compatibility, if three arguments are passed, the :attr:" +"`~BaseException.args` attribute contains only a 2-tuple of the first two " +"constructor arguments." +msgstr "" +"Друга форма конструктора встановлює відповідні атрибути, описані нижче. " +"Атрибути за замовчуванням :const:`None`, якщо не вказано. Для зворотної " +"сумісності, якщо передано три аргументи, атрибут :attr:`~BaseException.args` " +"містить лише 2 кортежу з перших двох аргументів конструктора." + +msgid "" +"The constructor often actually returns a subclass of :exc:`OSError`, as " +"described in `OS exceptions`_ below. The particular subclass depends on the " +"final :attr:`.errno` value. This behaviour only occurs when constructing :" +"exc:`OSError` directly or via an alias, and is not inherited when " +"subclassing." +msgstr "" +"Конструктор часто повертає підклас :exc:`OSError`, як описано в розділі `OS " +"exceptions`_ нижче. Конкретний підклас залежить від кінцевого значення :attr:" +"`.errno`. Така поведінка виникає лише під час створення :exc:`OSError` " +"безпосередньо або через псевдонім і не успадковується під час створення " +"підкласу." + +msgid "A numeric error code from the C variable :c:data:`errno`." +msgstr "Числовий код помилки зі змінної C :c:data:`errno`." + +msgid "" +"Under Windows, this gives you the native Windows error code. The :attr:`." +"errno` attribute is then an approximate translation, in POSIX terms, of that " +"native error code." +msgstr "" +"У Windows це дає вам рідний код помилки Windows. Тоді атрибут :attr:`.errno` " +"є приблизним перекладом, у термінах POSIX, цього рідного коду помилки." + +msgid "" +"Under Windows, if the *winerror* constructor argument is an integer, the :" +"attr:`.errno` attribute is determined from the Windows error code, and the " +"*errno* argument is ignored. On other platforms, the *winerror* argument is " +"ignored, and the :attr:`winerror` attribute does not exist." +msgstr "" +"У Windows, якщо аргумент конструктора *winerror* є цілим числом, атрибут :" +"attr:`.errno` визначається з коду помилки Windows, а аргумент *errno* " +"ігнорується. На інших платформах аргумент *winerror* ігнорується, а атрибут :" +"attr:`winerror` не існує." + +msgid "" +"The corresponding error message, as provided by the operating system. It is " +"formatted by the C functions :c:func:`perror` under POSIX, and :c:func:" +"`FormatMessage` under Windows." +msgstr "" +"Відповідне повідомлення про помилку, яке надає операційна система. Він " +"відформатований функціями C :c:func:`perror` під POSIX і :c:func:" +"`FormatMessage` під Windows." + +msgid "" +"For exceptions that involve a file system path (such as :func:`open` or :" +"func:`os.unlink`), :attr:`filename` is the file name passed to the function. " +"For functions that involve two file system paths (such as :func:`os." +"rename`), :attr:`filename2` corresponds to the second file name passed to " +"the function." +msgstr "" +"Для винятків, які містять шлях до файлової системи (наприклад, :func:`open` " +"або :func:`os.unlink`), :attr:`filename` — це ім’я файлу, яке передається " +"функції. Для функцій, які включають два шляхи до файлової системи " +"(наприклад, :func:`os.rename`), :attr:`filename2` відповідає другому імені " +"файлу, переданому функції." + +msgid "" +":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket." +"error`, :exc:`select.error` and :exc:`mmap.error` have been merged into :exc:" +"`OSError`, and the constructor may return a subclass." +msgstr "" +":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket." +"error`, :exc:`select.error` і :exc:`mmap.error` об’єднано у :exc:`OSError`, " +"і конструктор може повернути підклас." + +msgid "" +"The :attr:`filename` attribute is now the original file name passed to the " +"function, instead of the name encoded to or decoded from the :term:" +"`filesystem encoding and error handler`. Also, the *filename2* constructor " +"argument and attribute was added." +msgstr "" +"Атрибут :attr:`filename` тепер є оригінальним ім’ям файлу, переданим у " +"функцію, замість імені, закодованого або декодованого з :term:`filesystem " +"encoding and error handler`. Також було додано аргумент і атрибут " +"конструктора *filename2*." + +msgid "" +"Raised when the result of an arithmetic operation is too large to be " +"represented. This cannot occur for integers (which would rather raise :exc:" +"`MemoryError` than give up). However, for historical reasons, OverflowError " +"is sometimes raised for integers that are outside a required range. " +"Because of the lack of standardization of floating point exception handling " +"in C, most floating point operations are not checked." +msgstr "" +"Викликається, коли результат арифметичної операції завеликий для " +"представлення. Це не може статися для цілих чисел (які радше викликають :exc:" +"`MemoryError`, ніж відмовляються). Однак з історичних причин OverflowError " +"іноді виникає для цілих чисел, які виходять за межі необхідного діапазону. " +"Через відсутність стандартизації обробки винятків із плаваючою комою в C " +"більшість операцій із плаваючою комою не перевіряються." + +msgid "" +"This exception is derived from :exc:`RuntimeError`. It is raised when the " +"interpreter detects that the maximum recursion depth (see :func:`sys." +"getrecursionlimit`) is exceeded." +msgstr "" +"Цей виняток походить від :exc:`RuntimeError`. Він виникає, коли " +"інтерпретатор виявляє, що максимальна глибина рекурсії (див. :func:`sys." +"getrecursionlimit`) перевищена." + +msgid "Previously, a plain :exc:`RuntimeError` was raised." +msgstr "Раніше було викликано звичайне повідомлення :exc:`RuntimeError`." + +msgid "" +"This exception is raised when a weak reference proxy, created by the :func:" +"`weakref.proxy` function, is used to access an attribute of the referent " +"after it has been garbage collected. For more information on weak " +"references, see the :mod:`weakref` module." +msgstr "" +"Цей виняток виникає, коли слабкий посилальний проксі-сервер, створений " +"функцією :func:`weakref.proxy`, використовується для доступу до атрибута " +"референта після його збирання сміття. Щоб дізнатися більше про слабкі " +"посилання, перегляньте модуль :mod:`weakref`." + +msgid "" +"Raised when an error is detected that doesn't fall in any of the other " +"categories. The associated value is a string indicating what precisely went " +"wrong." +msgstr "" +"Викликається, коли виявлено помилку, яка не підпадає під жодну з інших " +"категорій. Пов’язане значення — це рядок, який вказує, що саме пішло не так." + +msgid "" +"Raised by built-in function :func:`next` and an :term:`iterator`\\'s :meth:" +"`~iterator.__next__` method to signal that there are no further items " +"produced by the iterator." +msgstr "" +"Викликається вбудованою функцією :func:`next` і методом :term:`iterator`" +"\\'s :meth:`~iterator.__next__`, щоб повідомити про те, що ітератор не " +"створює жодних елементів." + +msgid "" +"The exception object has a single attribute :attr:`value`, which is given as " +"an argument when constructing the exception, and defaults to :const:`None`." +msgstr "" +"Об’єкт винятку має єдиний атрибут :attr:`value`, який надається як аргумент " +"під час створення винятку, і за замовчуванням має значення :const:`None`." + +msgid "" +"When a :term:`generator` or :term:`coroutine` function returns, a new :exc:" +"`StopIteration` instance is raised, and the value returned by the function " +"is used as the :attr:`value` parameter to the constructor of the exception." +msgstr "" +"Коли функція :term:`generator` або :term:`coroutine` повертається, " +"створюється новий екземпляр :exc:`StopIteration`, і значення, повернуте " +"функцією, використовується як параметр :attr:`value` для конструктор винятку." + +msgid "" +"If a generator code directly or indirectly raises :exc:`StopIteration`, it " +"is converted into a :exc:`RuntimeError` (retaining the :exc:`StopIteration` " +"as the new exception's cause)." +msgstr "" +"Якщо код генератора прямо чи опосередковано викликає :exc:`StopIteration`, " +"він перетворюється на :exc:`RuntimeError` (зберігаючи :exc:`StopIteration` " +"як нову причину винятку)." + +msgid "" +"Added ``value`` attribute and the ability for generator functions to use it " +"to return a value." +msgstr "" +"Додано атрибут ``value`` і можливість для функцій генератора використовувати " +"його для повернення значення." + +msgid "" +"Introduced the RuntimeError transformation via ``from __future__ import " +"generator_stop``, see :pep:`479`." +msgstr "" +"Представлено перетворення RuntimeError через ``from __future__ import " +"generator_stop``, див. :pep:`479`." + +msgid "" +"Enable :pep:`479` for all code by default: a :exc:`StopIteration` error " +"raised in a generator is transformed into a :exc:`RuntimeError`." +msgstr "" +"Увімкнути :pep:`479` для всього коду за замовчуванням: помилка :exc:" +"`StopIteration`, викликана генератором, перетворюється на :exc:" +"`RuntimeError`." + +msgid "" +"Must be raised by :meth:`__anext__` method of an :term:`asynchronous " +"iterator` object to stop the iteration." +msgstr "" +"Має бути викликано методом :meth:`__anext__` об’єкта :term:`asynchronous " +"iterator`, щоб зупинити ітерацію." + +msgid "" +"Raised when the parser encounters a syntax error. This may occur in an :" +"keyword:`import` statement, in a call to the built-in functions :func:" +"`compile`, :func:`exec`, or :func:`eval`, or when reading the initial script " +"or standard input (also interactively)." +msgstr "" +"Викликається, коли аналізатор виявляє синтаксичну помилку. Це може статися в " +"операторі :keyword:`import`, під час виклику вбудованих функцій :func:" +"`compile`, :func:`exec` або :func:`eval`, або під час читання початкового " +"сценарію або стандартний ввід (також інтерактивно)." + +msgid "" +"The :func:`str` of the exception instance returns only the error message. " +"Details is a tuple whose members are also available as separate attributes." +msgstr "" +":func:`str` екземпляра винятку повертає лише повідомлення про помилку. " +"Деталі — це кортеж, члени якого також доступні як окремі атрибути." + +msgid "The name of the file the syntax error occurred in." +msgstr "Назва файлу, у якому сталася синтаксична помилка." + +msgid "" +"Which line number in the file the error occurred in. This is 1-indexed: the " +"first line in the file has a ``lineno`` of 1." +msgstr "" +"У якому номері рядка у файлі сталася помилка. Це індексовано 1: перший рядок " +"у файлі має ``lineno`` 1." + +msgid "" +"The column in the line where the error occurred. This is 1-indexed: the " +"first character in the line has an ``offset`` of 1." +msgstr "" +"Стовпець у рядку, де сталася помилка. Це індексується 1: перший символ у " +"рядку має ``зміщення`` 1." + +msgid "The source code text involved in the error." +msgstr "Текст вихідного коду, пов’язаний з помилкою." + +msgid "" +"Which line number in the file the error occurred ends in. This is 1-indexed: " +"the first line in the file has a ``lineno`` of 1." +msgstr "" +"На якому номері рядка у файлі закінчується помилка. Це індексовано 1: перший " +"рядок у файлі має ``lineno`` 1." + +msgid "" +"The column in the end line where the error occurred finishes. This is 1-" +"indexed: the first character in the line has an ``offset`` of 1." +msgstr "" +"Стовпець у кінцевому рядку, де сталася помилка, завершується. Це " +"індексується 1: перший символ у рядку має ``зміщення`` 1." + +msgid "" +"For errors in f-string fields, the message is prefixed by \"f-string: \" and " +"the offsets are offsets in a text constructed from the replacement " +"expression. For example, compiling f'Bad {a b} field' results in this args " +"attribute: ('f-string: ...', ('', 1, 2, '(a b)\\n', 1, 5))." +msgstr "" +"Для помилок у полях f-рядка повідомлення має префікс \"f-рядок: \", а зсуви " +"є зсувами в тексті, створеному з виразу заміни. Наприклад, компіляція f'Bad " +"{a b} field' призводить до такого атрибута args: ('f-string: ...', ('', 1, " +"2, '(a b)\\n', 1, 5)) ." + +msgid "Added the :attr:`end_lineno` and :attr:`end_offset` attributes." +msgstr "Додано атрибути :attr:`end_lineno` і :attr:`end_offset`." + +msgid "" +"Base class for syntax errors related to incorrect indentation. This is a " +"subclass of :exc:`SyntaxError`." +msgstr "" +"Базовий клас для синтаксичних помилок, пов’язаних із неправильним відступом. " +"Це підклас :exc:`SyntaxError`." + +msgid "" +"Raised when indentation contains an inconsistent use of tabs and spaces. " +"This is a subclass of :exc:`IndentationError`." +msgstr "" +"Піднімається, коли відступ містить непослідовне використання табуляції та " +"пробілів. Це підклас :exc:`IndentationError`." + +msgid "" +"Raised when the interpreter finds an internal error, but the situation does " +"not look so serious to cause it to abandon all hope. The associated value is " +"a string indicating what went wrong (in low-level terms)." +msgstr "" +"Виникає, коли перекладач виявляє внутрішню помилку, але ситуація не виглядає " +"настільки серйозною, щоб змусити його втратити будь-яку надію. Пов’язане " +"значення — це рядок, що вказує на те, що пішло не так (у термінах низького " +"рівня)." + +msgid "" +"You should report this to the author or maintainer of your Python " +"interpreter. Be sure to report the version of the Python interpreter (``sys." +"version``; it is also printed at the start of an interactive Python " +"session), the exact error message (the exception's associated value) and if " +"possible the source of the program that triggered the error." +msgstr "" +"Ви повинні повідомити про це автора або супроводжуючого вашого " +"інтерпретатора Python. Обов’язково повідомте версію інтерпретатора Python " +"(``sys.version``; вона також друкується на початку інтерактивного сеансу " +"Python), точне повідомлення про помилку (пов’язане значення винятку) і, якщо " +"можливо, джерело програма, яка викликала помилку." + +msgid "" +"This exception is raised by the :func:`sys.exit` function. It inherits " +"from :exc:`BaseException` instead of :exc:`Exception` so that it is not " +"accidentally caught by code that catches :exc:`Exception`. This allows the " +"exception to properly propagate up and cause the interpreter to exit. When " +"it is not handled, the Python interpreter exits; no stack traceback is " +"printed. The constructor accepts the same optional argument passed to :func:" +"`sys.exit`. If the value is an integer, it specifies the system exit status " +"(passed to C's :c:func:`exit` function); if it is ``None``, the exit status " +"is zero; if it has another type (such as a string), the object's value is " +"printed and the exit status is one." +msgstr "" +"Цей виняток викликає функція :func:`sys.exit`. Він успадковує :exc:" +"`BaseException` замість :exc:`Exception`, щоб його випадково не перехопив " +"код, який перехоплює :exc:`Exception`. Це дозволяє винятку належним чином " +"поширюватися вгору та спричиняти вихід інтерпретатора. Якщо він не " +"оброблений, інтерпретатор Python завершує роботу; трасування стека не " +"друкується. Конструктор приймає той самий необов’язковий аргумент, що " +"передається в :func:`sys.exit`. Якщо значення є цілим числом, воно вказує " +"статус виходу з системи (передається функції C :c:func:`exit`); якщо " +"значення ``None``, статус виходу дорівнює нулю; якщо він має інший тип " +"(наприклад, рядок), значення об’єкта друкується, а статус виходу один." + +msgid "" +"A call to :func:`sys.exit` is translated into an exception so that clean-up " +"handlers (:keyword:`finally` clauses of :keyword:`try` statements) can be " +"executed, and so that a debugger can execute a script without running the " +"risk of losing control. The :func:`os._exit` function can be used if it is " +"absolutely positively necessary to exit immediately (for example, in the " +"child process after a call to :func:`os.fork`)." +msgstr "" +"Виклик :func:`sys.exit` перетворюється на виняток, щоб можна було виконати " +"обробники очищення (пункти :keyword:`finally` інструкцій :keyword:`try`), а " +"також щоб налагоджувач міг виконати сценарій без ризику втратити контроль. " +"Функцію :func:`os._exit` можна використовувати, якщо є абсолютна " +"необхідність негайного виходу (наприклад, у дочірньому процесі після " +"виклику :func:`os.fork`)." + +msgid "" +"The exit status or error message that is passed to the constructor. " +"(Defaults to ``None``.)" +msgstr "" +"Статус виходу або повідомлення про помилку, яке передається конструктору. " +"(За замовчуванням ``None``.)" + +msgid "" +"Raised when an operation or function is applied to an object of " +"inappropriate type. The associated value is a string giving details about " +"the type mismatch." +msgstr "" +"Викликається, коли операція або функція застосована до об’єкта " +"невідповідного типу. Пов’язане значення — це рядок, що містить відомості про " +"невідповідність типу." + +msgid "" +"This exception may be raised by user code to indicate that an attempted " +"operation on an object is not supported, and is not meant to be. If an " +"object is meant to support a given operation but has not yet provided an " +"implementation, :exc:`NotImplementedError` is the proper exception to raise." +msgstr "" +"Цей виняток може бути викликаний кодом користувача, щоб вказати, що спроба " +"операції з об’єктом не підтримується та не передбачається. Якщо об’єкт " +"призначений для підтримки даної операції, але ще не надав реалізацію, :exc:" +"`NotImplementedError` є правильним винятком для виклику." + +msgid "" +"Passing arguments of the wrong type (e.g. passing a :class:`list` when an :" +"class:`int` is expected) should result in a :exc:`TypeError`, but passing " +"arguments with the wrong value (e.g. a number outside expected boundaries) " +"should result in a :exc:`ValueError`." +msgstr "" +"Передача аргументів неправильного типу (наприклад, передача :class:`list`, " +"коли очікується :class:`int`) має призвести до :exc:`TypeError`, але " +"передача аргументів із неправильним значенням (наприклад, число за межами " +"очікувані межі) має призвести до :exc:`ValueError`." + +msgid "" +"Raised when a reference is made to a local variable in a function or method, " +"but no value has been bound to that variable. This is a subclass of :exc:" +"`NameError`." +msgstr "" +"Викликається, коли робиться посилання на локальну змінну у функції чи " +"методі, але жодне значення не прив’язано до цієї змінної. Це підклас :exc:" +"`NameError`." + +msgid "" +"Raised when a Unicode-related encoding or decoding error occurs. It is a " +"subclass of :exc:`ValueError`." +msgstr "" +"Викликається, коли виникає помилка кодування чи декодування, пов’язана з " +"Unicode. Це підклас :exc:`ValueError`." + +msgid "" +":exc:`UnicodeError` has attributes that describe the encoding or decoding " +"error. For example, ``err.object[err.start:err.end]`` gives the particular " +"invalid input that the codec failed on." +msgstr "" +":exc:`UnicodeError` має атрибути, які описують помилку кодування або " +"декодування. Наприклад, ``err.object[err.start:err.end]`` вказує на певний " +"недійсний вхід, який не вдалося виконати кодеку." + +msgid "The name of the encoding that raised the error." +msgstr "Назва кодування, яке викликало помилку." + +msgid "A string describing the specific codec error." +msgstr "Рядок, що описує певну помилку кодека." + +msgid "The object the codec was attempting to encode or decode." +msgstr "Об’єкт, який кодек намагався закодувати або декодувати." + +msgid "The first index of invalid data in :attr:`object`." +msgstr "Перший індекс недійсних даних в :attr:`object`." + +msgid "The index after the last invalid data in :attr:`object`." +msgstr "Індекс після останніх недійсних даних у :attr:`object`." + +msgid "" +"Raised when a Unicode-related error occurs during encoding. It is a " +"subclass of :exc:`UnicodeError`." +msgstr "" +"Викликається, коли під час кодування виникає помилка, пов’язана з Unicode. " +"Це підклас :exc:`UnicodeError`." + +msgid "" +"Raised when a Unicode-related error occurs during decoding. It is a " +"subclass of :exc:`UnicodeError`." +msgstr "" +"Викликається, коли під час декодування виникає помилка, пов’язана з Unicode. " +"Це підклас :exc:`UnicodeError`." + +msgid "" +"Raised when a Unicode-related error occurs during translating. It is a " +"subclass of :exc:`UnicodeError`." +msgstr "" +"Викликається, коли під час перекладу виникає помилка, пов’язана з Unicode. " +"Це підклас :exc:`UnicodeError`." + +msgid "" +"Raised when an operation or function receives an argument that has the right " +"type but an inappropriate value, and the situation is not described by a " +"more precise exception such as :exc:`IndexError`." +msgstr "" +"Викликається, коли операція або функція отримує аргумент, який має " +"правильний тип, але невідповідне значення, і ситуація не описується більш " +"точним винятком, таким як :exc:`IndexError`." + +msgid "" +"Raised when the second argument of a division or modulo operation is zero. " +"The associated value is a string indicating the type of the operands and the " +"operation." +msgstr "" +"Викликається, коли другий аргумент операції ділення або модуля дорівнює " +"нулю. Пов’язане значення — це рядок, що вказує тип операндів і операції." + +msgid "" +"The following exceptions are kept for compatibility with previous versions; " +"starting from Python 3.3, they are aliases of :exc:`OSError`." +msgstr "" +"Наступні винятки зберігаються для сумісності з попередніми версіями; " +"починаючи з Python 3.3, вони є псевдонімами :exc:`OSError`." + +msgid "Only available on Windows." +msgstr "Доступно лише для Windows." + +msgid "OS exceptions" +msgstr "Винятки ОС" + +msgid "" +"The following exceptions are subclasses of :exc:`OSError`, they get raised " +"depending on the system error code." +msgstr "" +"Наступні винятки є підкласами :exc:`OSError`, вони виникають залежно від " +"коду системної помилки." + +msgid "" +"Raised when an operation would block on an object (e.g. socket) set for non-" +"blocking operation. Corresponds to :c:data:`errno` :py:data:`~errno." +"EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno.EWOULDBLOCK` and :py:" +"data:`~errno.EINPROGRESS`." +msgstr "" +"Викликається, коли операція блокує об’єкт (наприклад, сокет), встановлений " +"для неблокуючої операції. Відповідає :c:data:`errno` :py:data:`~errno." +"EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno.EWOULDBLOCK` і :py:" +"data:`~errno.EINPROGRESS`." + +msgid "" +"In addition to those of :exc:`OSError`, :exc:`BlockingIOError` can have one " +"more attribute:" +msgstr "" +"Окрім атрибутів :exc:`OSError`, :exc:`BlockingIOError` може мати ще один " +"атрибут:" + +msgid "" +"An integer containing the number of characters written to the stream before " +"it blocked. This attribute is available when using the buffered I/O classes " +"from the :mod:`io` module." +msgstr "" +"Ціле число, що містить кількість символів, записаних у потік перед його " +"блокуванням. Цей атрибут доступний під час використання буферизованих класів " +"введення-виведення з модуля :mod:`io`." + +msgid "" +"Raised when an operation on a child process failed. Corresponds to :c:data:" +"`errno` :py:data:`~errno.ECHILD`." +msgstr "" +"Виникає, коли операція над дочірнім процесом не вдається. Відповідає :c:data:" +"`errno` :py:data:`~errno.ECHILD`." + +msgid "A base class for connection-related issues." +msgstr "Базовий клас для проблем, пов’язаних із з’єднанням." + +msgid "" +"Subclasses are :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:" +"`ConnectionRefusedError` and :exc:`ConnectionResetError`." +msgstr "" +"Підкласами є :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:" +"`ConnectionRefusedError` і :exc:`ConnectionResetError`." + +msgid "" +"A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe " +"while the other end has been closed, or trying to write on a socket which " +"has been shutdown for writing. Corresponds to :c:data:`errno` :py:data:" +"`~errno.EPIPE` and :py:data:`~errno.ESHUTDOWN`." +msgstr "" +"Підклас :exc:`ConnectionError`, який виникає під час спроби запису в трубу, " +"коли інший кінець був закритий, або спроби запису в сокет, який було " +"вимкнено для запису. Відповідає :c:data:`errno` :py:data:`~errno.EPIPE` і :" +"py:data:`~errno.ESHUTDOWN`." + +msgid "" +"A subclass of :exc:`ConnectionError`, raised when a connection attempt is " +"aborted by the peer. Corresponds to :c:data:`errno` :py:data:`~errno." +"ECONNABORTED`." +msgstr "" +"Підклас :exc:`ConnectionError`, який виникає, коли однорангова сторона " +"перериває спробу підключення. Відповідає :c:data:`errno` :py:data:`~errno." +"ECONNABORTED`." + +msgid "" +"A subclass of :exc:`ConnectionError`, raised when a connection attempt is " +"refused by the peer. Corresponds to :c:data:`errno` :py:data:`~errno." +"ECONNREFUSED`." +msgstr "" +"Підклас :exc:`ConnectionError`, який викликається, коли однорангова сторона " +"відхиляє спробу підключення. Відповідає :c:data:`errno` :py:data:`~errno." +"ECONNREFUSED`." + +msgid "" +"A subclass of :exc:`ConnectionError`, raised when a connection is reset by " +"the peer. Corresponds to :c:data:`errno` :py:data:`~errno.ECONNRESET`." +msgstr "" +"Підклас :exc:`ConnectionError`, що виникає, коли з’єднання скидається " +"партнером. Відповідає :c:data:`errno` :py:data:`~errno.ECONNRESET`." + +msgid "" +"Raised when trying to create a file or directory which already exists. " +"Corresponds to :c:data:`errno` :py:data:`~errno.EEXIST`." +msgstr "" +"Викликається під час спроби створити файл або каталог, який уже існує. " +"Відповідає :c:data:`errno` :py:data:`~errno.EEXIST`." + +msgid "" +"Raised when a file or directory is requested but doesn't exist. Corresponds " +"to :c:data:`errno` :py:data:`~errno.ENOENT`." +msgstr "" +"Викликається, коли запитується файл або каталог, але вони не існують. " +"Відповідає :c:data:`errno` :py:data:`~errno.ENOENT`." + +msgid "" +"Raised when a system call is interrupted by an incoming signal. Corresponds " +"to :c:data:`errno` :py:data:`~errno.EINTR`." +msgstr "" +"Викликається, коли системний виклик переривається вхідним сигналом. " +"Відповідає :c:data:`errno` :py:data:`~errno.EINTR`." + +msgid "" +"Python now retries system calls when a syscall is interrupted by a signal, " +"except if the signal handler raises an exception (see :pep:`475` for the " +"rationale), instead of raising :exc:`InterruptedError`." +msgstr "" +"Тепер Python повторює системні виклики, коли системний виклик переривається " +"сигналом, за винятком випадків, коли обробник сигналу викликає виняток " +"(обґрунтування див. :pep:`475`), замість того, щоб викликати :exc:" +"`InterruptedError`." + +msgid "" +"Raised when a file operation (such as :func:`os.remove`) is requested on a " +"directory. Corresponds to :c:data:`errno` :py:data:`~errno.EISDIR`." +msgstr "" +"Викликається, коли в каталозі запитується операція з файлом (наприклад, :" +"func:`os.remove`). Відповідає :c:data:`errno` :py:data:`~errno.EISDIR`." + +msgid "" +"Raised when a directory operation (such as :func:`os.listdir`) is requested " +"on something which is not a directory. On most POSIX platforms, it may also " +"be raised if an operation attempts to open or traverse a non-directory file " +"as if it were a directory. Corresponds to :c:data:`errno` :py:data:`~errno." +"ENOTDIR`." +msgstr "" +"Викликається, коли запитується операція з каталогом (наприклад, :func:`os." +"listdir`) для чогось, що не є каталогом. На більшості платформ POSIX він " +"також може бути викликаний, якщо операція намагається відкрити або перейти " +"до файлу, що не є каталогом, як якщо б це був каталог. Відповідає :c:data:" +"`errno` :py:data:`~errno.ENOTDIR`." + +msgid "" +"Raised when trying to run an operation without the adequate access rights - " +"for example filesystem permissions. Corresponds to :c:data:`errno` :py:data:" +"`~errno.EACCES`, :py:data:`~errno.EPERM`, and :py:data:`~errno.ENOTCAPABLE`." +msgstr "" + +msgid "" +"WASI's :py:data:`~errno.ENOTCAPABLE` is now mapped to :exc:`PermissionError`." +msgstr "" + +msgid "" +"Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :" +"py:data:`~errno.ESRCH`." +msgstr "" +"Викликається, коли заданий процес не існує. Відповідає :c:data:`errno` :py:" +"data:`~errno.ESRCH`." + +msgid "" +"Raised when a system function timed out at the system level. Corresponds to :" +"c:data:`errno` :py:data:`~errno.ETIMEDOUT`." +msgstr "" +"Виникає, коли час очікування системної функції закінчився на рівні системи. " +"Відповідає :c:data:`errno` :py:data:`~errno.ETIMEDOUT`." + +msgid "All the above :exc:`OSError` subclasses were added." +msgstr "Було додано всі наведені вище підкласи :exc:`OSError`." + +msgid ":pep:`3151` - Reworking the OS and IO exception hierarchy" +msgstr ":pep:`3151` - Переробка ієрархії винятків ОС та вводу-виводу" + +msgid "Warnings" +msgstr "Попередження" + +msgid "" +"The following exceptions are used as warning categories; see the :ref:" +"`warning-categories` documentation for more details." +msgstr "" +"Наступні винятки використовуються як категорії попереджень; подробиці " +"дивіться в документації :ref:`warning-categories`." + +msgid "Base class for warning categories." +msgstr "Базовий клас для категорій попереджень." + +msgid "Base class for warnings generated by user code." +msgstr "Базовий клас для попереджень, створених кодом користувача." + +msgid "" +"Base class for warnings about deprecated features when those warnings are " +"intended for other Python developers." +msgstr "" +"Базовий клас для попереджень про застарілі функції, якщо ці попередження " +"призначені для інших розробників Python." + +msgid "" +"Ignored by the default warning filters, except in the ``__main__`` module (:" +"pep:`565`). Enabling the :ref:`Python Development Mode ` shows this " +"warning." +msgstr "" +"Ігнорується стандартними фільтрами попереджень, окрім модуля ``__main__`` (:" +"pep:`565`). Увімкнення режиму :ref:`Python Development Mode ` " +"показує це попередження." + +msgid "The deprecation policy is described in :pep:`387`." +msgstr "Політика припинення підтримки описана в :pep:`387`." + +msgid "" +"Base class for warnings about features which are obsolete and expected to be " +"deprecated in the future, but are not deprecated at the moment." +msgstr "" +"Базовий клас для попереджень про функції, які є застарілими та які, як " +"очікується, будуть застарілими в майбутньому, але наразі не застаріли." + +msgid "" +"This class is rarely used as emitting a warning about a possible upcoming " +"deprecation is unusual, and :exc:`DeprecationWarning` is preferred for " +"already active deprecations." +msgstr "" +"Цей клас рідко використовується, оскільки випромінювання попередження про " +"можливе припинення підтримки є незвичним, а :exc:`DeprecationWarning` є " +"кращим для вже активних застарілих функцій." + +msgid "" +"Ignored by the default warning filters. Enabling the :ref:`Python " +"Development Mode ` shows this warning." +msgstr "" +"Ігнорується стандартними фільтрами попереджень. Увімкнення режиму :ref:" +"`Python Development Mode ` показує це попередження." + +msgid "Base class for warnings about dubious syntax." +msgstr "Базовий клас для попереджень про сумнівний синтаксис." + +msgid "Base class for warnings about dubious runtime behavior." +msgstr "Базовий клас для попереджень про сумнівну поведінку під час виконання." + +msgid "" +"Base class for warnings about deprecated features when those warnings are " +"intended for end users of applications that are written in Python." +msgstr "" +"Базовий клас для попереджень про застарілі функції, якщо ці попередження " +"призначені для кінцевих користувачів програм, написаних на Python." + +msgid "Base class for warnings about probable mistakes in module imports." +msgstr "Базовий клас для попереджень про можливі помилки при імпорті модуля." + +msgid "Base class for warnings related to Unicode." +msgstr "Базовий клас для попереджень, пов’язаних із Unicode." + +msgid "Base class for warnings related to encodings." +msgstr "Базовий клас для попереджень щодо кодувань." + +msgid "See :ref:`io-encoding-warning` for details." +msgstr "Дивіться :ref:`io-encoding-warning` для деталей." + +msgid "" +"Base class for warnings related to :class:`bytes` and :class:`bytearray`." +msgstr "" +"Базовий клас для попереджень, пов’язаних із :class:`bytes` і :class:" +"`bytearray`." + +msgid "Base class for warnings related to resource usage." +msgstr "Базовий клас для попереджень щодо використання ресурсів." + +msgid "Exception groups" +msgstr "" + +msgid "" +"The following are used when it is necessary to raise multiple unrelated " +"exceptions. They are part of the exception hierarchy so they can be handled " +"with :keyword:`except` like all other exceptions. In addition, they are " +"recognised by :keyword:`except*`, which matches their subgroups " +"based on the types of the contained exceptions." +msgstr "" + +msgid "" +"Both of these exception types wrap the exceptions in the sequence ``excs``. " +"The ``msg`` parameter must be a string. The difference between the two " +"classes is that :exc:`BaseExceptionGroup` extends :exc:`BaseException` and " +"it can wrap any exception, while :exc:`ExceptionGroup` extends :exc:" +"`Exception` and it can only wrap subclasses of :exc:`Exception`. This design " +"is so that ``except Exception`` catches an :exc:`ExceptionGroup` but not :" +"exc:`BaseExceptionGroup`." +msgstr "" + +msgid "" +"The :exc:`BaseExceptionGroup` constructor returns an :exc:`ExceptionGroup` " +"rather than a :exc:`BaseExceptionGroup` if all contained exceptions are :exc:" +"`Exception` instances, so it can be used to make the selection automatic. " +"The :exc:`ExceptionGroup` constructor, on the other hand, raises a :exc:" +"`TypeError` if any contained exception is not an :exc:`Exception` subclass." +msgstr "" + +msgid "The ``msg`` argument to the constructor. This is a read-only attribute." +msgstr "" + +msgid "" +"A tuple of the exceptions in the ``excs`` sequence given to the constructor. " +"This is a read-only attribute." +msgstr "" + +msgid "" +"Returns an exception group that contains only the exceptions from the " +"current group that match *condition*, or ``None`` if the result is empty." +msgstr "" + +msgid "" +"The condition can be either a function that accepts an exception and returns " +"true for those that should be in the subgroup, or it can be an exception " +"type or a tuple of exception types, which is used to check for a match using " +"the same check that is used in an ``except`` clause." +msgstr "" + +msgid "" +"The nesting structure of the current exception is preserved in the result, " +"as are the values of its :attr:`message`, :attr:`__traceback__`, :attr:" +"`__cause__`, :attr:`__context__` and :attr:`__notes__` fields. Empty nested " +"groups are omitted from the result." +msgstr "" + +msgid "" +"The condition is checked for all exceptions in the nested exception group, " +"including the top-level and any nested exception groups. If the condition is " +"true for such an exception group, it is included in the result in full." +msgstr "" + +msgid "" +"Like :meth:`subgroup`, but returns the pair ``(match, rest)`` where " +"``match`` is ``subgroup(condition)`` and ``rest`` is the remaining non-" +"matching part." +msgstr "" + +msgid "" +"Returns an exception group with the same :attr:`message`, :attr:" +"`__traceback__`, :attr:`__cause__`, :attr:`__context__` and :attr:" +"`__notes__` but which wraps the exceptions in ``excs``." +msgstr "" + +msgid "" +"This method is used by :meth:`subgroup` and :meth:`split`. A subclass needs " +"to override it in order to make :meth:`subgroup` and :meth:`split` return " +"instances of the subclass rather than :exc:`ExceptionGroup`. ::" +msgstr "" + +msgid "" +"Note that :exc:`BaseExceptionGroup` defines :meth:`__new__`, so subclasses " +"that need a different constructor signature need to override that rather " +"than :meth:`__init__`. For example, the following defines an exception group " +"subclass which accepts an exit_code and and constructs the group's message " +"from it. ::" +msgstr "" + +msgid "Exception hierarchy" +msgstr "Ієрархія винятків" + +msgid "The class hierarchy for built-in exceptions is:" +msgstr "Ієрархія класів для вбудованих винятків така:" diff --git a/library/faulthandler.po b/library/faulthandler.po new file mode 100644 index 000000000..2b7de7b45 --- /dev/null +++ b/library/faulthandler.po @@ -0,0 +1,267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:05+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`faulthandler` --- Dump the Python traceback" +msgstr ":mod:`faulthandler` --- Дамп зворотного відстеження Python" + +msgid "" +"This module contains functions to dump Python tracebacks explicitly, on a " +"fault, after a timeout, or on a user signal. Call :func:`faulthandler." +"enable` to install fault handlers for the :const:`SIGSEGV`, :const:" +"`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS`, and :const:`SIGILL` signals. " +"You can also enable them at startup by setting the :envvar:" +"`PYTHONFAULTHANDLER` environment variable or by using the :option:`-X` " +"``faulthandler`` command line option." +msgstr "" +"Цей модуль містить функції для явного створення дампу трасування Python у " +"разі помилки, після тайм-ауту або за сигналом користувача. Викличте :func:" +"`faulthandler.enable`, щоб установити обробники помилок для :const:" +"`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` і :const:" +"`SIGILL` сигнали. Ви також можете ввімкнути їх під час запуску, встановивши " +"змінну середовища :envvar:`PYTHONFAULTHANDLER` або використовуючи параметр " +"командного рядка :option:`-X` ``faulthandler``." + +msgid "" +"The fault handler is compatible with system fault handlers like Apport or " +"the Windows fault handler. The module uses an alternative stack for signal " +"handlers if the :c:func:`sigaltstack` function is available. This allows it " +"to dump the traceback even on a stack overflow." +msgstr "" +"Обробник помилок сумісний із системними обробниками помилок, такими як " +"Apport або Windows. Модуль використовує альтернативний стек для обробників " +"сигналів, якщо доступна функція :c:func:`sigaltstack`. Це дозволяє " +"створювати зворотне трасування навіть при переповненні стека." + +msgid "" +"The fault handler is called on catastrophic cases and therefore can only use " +"signal-safe functions (e.g. it cannot allocate memory on the heap). Because " +"of this limitation traceback dumping is minimal compared to normal Python " +"tracebacks:" +msgstr "" +"Обробник помилок викликається в катастрофічних випадках і тому може " +"використовувати лише безпечні для сигналу функції (наприклад, він не може " +"виділяти пам’ять у купі). Через це обмеження дамп зворотного відстеження " +"мінімальний порівняно зі звичайним відстеженням Python:" + +msgid "" +"Only ASCII is supported. The ``backslashreplace`` error handler is used on " +"encoding." +msgstr "" +"Підтримується лише ASCII. Під час кодування використовується обробник " +"помилок ``backslashreplace``." + +msgid "Each string is limited to 500 characters." +msgstr "Довжина кожного рядка обмежена 500 символами." + +msgid "" +"Only the filename, the function name and the line number are displayed. (no " +"source code)" +msgstr "" +"Відображаються лише назва файлу, назва функції та номер рядка. (без " +"вихідного коду)" + +msgid "It is limited to 100 frames and 100 threads." +msgstr "Він обмежений 100 кадрами та 100 потоками." + +msgid "The order is reversed: the most recent call is shown first." +msgstr "Порядок зворотний: останній виклик відображається першим." + +msgid "" +"By default, the Python traceback is written to :data:`sys.stderr`. To see " +"tracebacks, applications must be run in the terminal. A log file can " +"alternatively be passed to :func:`faulthandler.enable`." +msgstr "" +"За замовчуванням відстеження Python записується в :data:`sys.stderr`. Щоб " +"побачити відстеження, програми мають бути запущені в терміналі. Файл журналу " +"також можна передати до :func:`faulthandler.enable`." + +msgid "" +"The module is implemented in C, so tracebacks can be dumped on a crash or " +"when Python is deadlocked." +msgstr "" +"Модуль реалізовано на C, тому трасування можна скинути під час збою або коли " +"Python заблоковано." + +msgid "" +"The :ref:`Python Development Mode ` calls :func:`faulthandler." +"enable` at Python startup." +msgstr "" +":ref:`Режим розробки Python ` викликає :func:`faulthandler.enable` " +"під час запуску Python." + +msgid "Dumping the traceback" +msgstr "Викидання трасування" + +msgid "" +"Dump the tracebacks of all threads into *file*. If *all_threads* is " +"``False``, dump only the current thread." +msgstr "" +"Дамп трасування всіх потоків у *файл*. Якщо *all_threads* має значення " +"``False``, створювати дамп лише поточного потоку." + +msgid "Added support for passing file descriptor to this function." +msgstr "Додано підтримку для передачі дескриптора файлу в цю функцію." + +msgid "Fault handler state" +msgstr "Стан обробника помилок" + +msgid "" +"Enable the fault handler: install handlers for the :const:`SIGSEGV`, :const:" +"`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` and :const:`SIGILL` signals to " +"dump the Python traceback. If *all_threads* is ``True``, produce tracebacks " +"for every running thread. Otherwise, dump only the current thread." +msgstr "" +"Увімкніть обробник помилок: встановіть обробники для сигналів :const:" +"`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` і :const:" +"`SIGILL`, щоб зробити дамп зворотного відстеження Python. Якщо *all_threads* " +"має значення ``True``, виробляти трасування для кожного запущеного потоку. В " +"іншому випадку створіть дамп лише поточного потоку." + +msgid "" +"The *file* must be kept open until the fault handler is disabled: see :ref:" +"`issue with file descriptors `." +msgstr "" +"*Файл* має бути відкритим, доки обробник помилок не буде вимкнено: див. :ref:" +"`проблему з дескрипторами файлів `." + +msgid "On Windows, a handler for Windows exception is also installed." +msgstr "У Windows також встановлено обробник винятків Windows." + +msgid "" +"The dump now mentions if a garbage collector collection is running if " +"*all_threads* is true." +msgstr "" +"Дамп тепер згадує, чи запущено збирач сміття, якщо *all_threads* має " +"значення true." + +msgid "" +"Disable the fault handler: uninstall the signal handlers installed by :func:" +"`enable`." +msgstr "" +"Вимкніть обробник помилок: видаліть обробники сигналів, встановлені :func:" +"`enable`." + +msgid "Check if the fault handler is enabled." +msgstr "Перевірте, чи ввімкнено обробник помилок." + +msgid "Dumping the tracebacks after a timeout" +msgstr "Викидання трасування після тайм-ауту" + +msgid "" +"Dump the tracebacks of all threads, after a timeout of *timeout* seconds, or " +"every *timeout* seconds if *repeat* is ``True``. If *exit* is ``True``, " +"call :c:func:`_exit` with status=1 after dumping the tracebacks. (Note :c:" +"func:`_exit` exits the process immediately, which means it doesn't do any " +"cleanup like flushing file buffers.) If the function is called twice, the " +"new call replaces previous parameters and resets the timeout. The timer has " +"a sub-second resolution." +msgstr "" +"Створювати дамп відстеження всіх потоків після тайм-ауту *timeout* секунд " +"або кожні *timeout* секунд, якщо *repeat* має значення ``True``. Якщо *exit* " +"має значення ``True``, викличте :c:func:`_exit` зі статусом=1 після " +"створення дампу трасування. (Примітка: :c:func:`_exit` негайно виходить із " +"процесу, що означає, що він не виконує жодного очищення, наприклад очищення " +"буферів файлів.) Якщо функція викликається двічі, новий виклик замінює " +"попередні параметри та скидає час очікування. Таймер має роздільну здатність " +"до секунди." + +msgid "" +"The *file* must be kept open until the traceback is dumped or :func:" +"`cancel_dump_traceback_later` is called: see :ref:`issue with file " +"descriptors `." +msgstr "" +"*Файл* має залишатися відкритим, доки не буде створено дамп трасування або :" +"func:`cancel_dump_traceback_later`: див. :ref:`проблему з дескрипторами " +"файлів `." + +msgid "This function is implemented using a watchdog thread." +msgstr "Ця функція реалізована за допомогою сторожового потоку." + +msgid "This function is now always available." +msgstr "Тепер ця функція доступна завжди." + +msgid "Cancel the last call to :func:`dump_traceback_later`." +msgstr "Скасувати останній виклик :func:`dump_traceback_later`." + +msgid "Dumping the traceback on a user signal" +msgstr "Скидання зворотного відстеження за сигналом користувача" + +msgid "" +"Register a user signal: install a handler for the *signum* signal to dump " +"the traceback of all threads, or of the current thread if *all_threads* is " +"``False``, into *file*. Call the previous handler if chain is ``True``." +msgstr "" +"Зареєструйте сигнал користувача: встановіть обробник для сигналу *signum*, " +"щоб скинути зворотне трасування всіх потоків або поточного потоку, якщо " +"*all_threads* має значення ``False``, у *файл*. Викликати попередній " +"обробник, якщо ланцюжок має значення ``True``." + +msgid "" +"The *file* must be kept open until the signal is unregistered by :func:" +"`unregister`: see :ref:`issue with file descriptors `." +msgstr "" +"*Файл* має залишатися відкритим, доки сигнал не буде скасовано :func:" +"`unregister`: див. :ref:`проблему з дескрипторами файлів `." + +msgid "Not available on Windows." +msgstr "Недоступно в Windows." + +msgid "" +"Unregister a user signal: uninstall the handler of the *signum* signal " +"installed by :func:`register`. Return ``True`` if the signal was registered, " +"``False`` otherwise." +msgstr "" +"Скасувати реєстрацію сигналу користувача: видалити обробник сигналу " +"*signum*, встановлений :func:`register`. Повертає ``True``, якщо сигнал був " +"зареєстрований, ``False`` інакше." + +msgid "Issue with file descriptors" +msgstr "Проблема з дескрипторами файлів" + +msgid "" +":func:`enable`, :func:`dump_traceback_later` and :func:`register` keep the " +"file descriptor of their *file* argument. If the file is closed and its file " +"descriptor is reused by a new file, or if :func:`os.dup2` is used to replace " +"the file descriptor, the traceback will be written into a different file. " +"Call these functions again each time that the file is replaced." +msgstr "" +":func:`enable`, :func:`dump_traceback_later` і :func:`register` зберігають " +"файловий дескриптор свого аргументу *file*. Якщо файл закрито і його " +"файловий дескриптор повторно використовується в новому файлі, або якщо :func:" +"`os.dup2` використовується для заміни файлового дескриптора, трасування буде " +"записане в інший файл. Викликайте ці функції знову щоразу, коли файл " +"замінюється." + +msgid "Example" +msgstr "приклад" + +msgid "" +"Example of a segmentation fault on Linux with and without enabling the fault " +"handler:" +msgstr "" +"Приклад помилки сегментації в Linux із увімкненням і без увімкнення " +"обробника помилок:" diff --git a/library/fcntl.po b/library/fcntl.po new file mode 100644 index 000000000..9178dd281 --- /dev/null +++ b/library/fcntl.po @@ -0,0 +1,356 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`fcntl` --- The ``fcntl`` and ``ioctl`` system calls" +msgstr ":mod:`fcntl` --- Системні виклики ``fcntl`` і ``ioctl``" + +msgid "" +"This module performs file control and I/O control on file descriptors. It is " +"an interface to the :c:func:`fcntl` and :c:func:`ioctl` Unix routines. For " +"a complete description of these calls, see :manpage:`fcntl(2)` and :manpage:" +"`ioctl(2)` Unix manual pages." +msgstr "" +"Цей модуль виконує керування файлами та керування введенням/виведенням " +"файлових дескрипторів. Це інтерфейс до процедур Unix :c:func:`fcntl` і :c:" +"func:`ioctl`. Щоб отримати повний опис цих викликів, перегляньте :manpage:" +"`fcntl(2)` і :manpage:`ioctl(2)` сторінки посібника Unix." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"All functions in this module take a file descriptor *fd* as their first " +"argument. This can be an integer file descriptor, such as returned by ``sys." +"stdin.fileno()``, or an :class:`io.IOBase` object, such as ``sys.stdin`` " +"itself, which provides a :meth:`~io.IOBase.fileno` that returns a genuine " +"file descriptor." +msgstr "" +"Усі функції в цьому модулі приймають файловий дескриптор *fd* як перший " +"аргумент. Це може бути цілочисельний файловий дескриптор, наприклад, " +"повернутий ``sys.stdin.fileno()``, або об’єкт :class:`io.IOBase`, як-от сам " +"``sys.stdin``, який надає :meth:`~io.IOBase.fileno`, який повертає справжній " +"дескриптор файлу." + +msgid "" +"Operations in this module used to raise an :exc:`IOError` where they now " +"raise an :exc:`OSError`." +msgstr "" +"Раніше операції в цьому модулі викликали :exc:`IOError`, а тепер вони " +"викликають :exc:`OSError`." + +msgid "" +"The fcntl module now contains ``F_ADD_SEALS``, ``F_GET_SEALS``, and " +"``F_SEAL_*`` constants for sealing of :func:`os.memfd_create` file " +"descriptors." +msgstr "" +"Модуль fcntl тепер містить константи ``F_ADD_SEALS``, ``F_GET_SEALS`` і " +"``F_SEAL_*`` для запечатування дескрипторів файлів :func:`os.memfd_create`." + +msgid "" +"On macOS, the fcntl module exposes the ``F_GETPATH`` constant, which obtains " +"the path of a file from a file descriptor. On Linux(>=3.15), the fcntl " +"module exposes the ``F_OFD_GETLK``, ``F_OFD_SETLK`` and ``F_OFD_SETLKW`` " +"constants, which are used when working with open file description locks." +msgstr "" +"У macOS модуль fcntl надає константу ``F_GETPATH``, яка отримує шлях до " +"файлу з дескриптора файлу. У Linux (>=3.15) модуль fcntl надає константи " +"``F_OFD_GETLK``, ``F_OFD_SETLK`` і ``F_OFD_SETLKW``, які використовуються " +"під час роботи з відкритими блокуваннями опису файлу." + +msgid "" +"On Linux >= 2.6.11, the fcntl module exposes the ``F_GETPIPE_SZ`` and " +"``F_SETPIPE_SZ`` constants, which allow to check and modify a pipe's size " +"respectively." +msgstr "" +"У Linux >= 2.6.11 модуль fcntl надає константи ``F_GETPIPE_SZ`` і " +"``F_SETPIPE_SZ``, які дозволяють перевіряти та змінювати розмір каналу " +"відповідно." + +msgid "" +"On FreeBSD, the fcntl module exposes the ``F_DUP2FD`` and " +"``F_DUP2FD_CLOEXEC`` constants, which allow to duplicate a file descriptor, " +"the latter setting ``FD_CLOEXEC`` flag in addition." +msgstr "" + +msgid "The module defines the following functions:" +msgstr "Модуль визначає такі функції:" + +msgid "" +"Perform the operation *cmd* on file descriptor *fd* (file objects providing " +"a :meth:`~io.IOBase.fileno` method are accepted as well). The values used " +"for *cmd* are operating system dependent, and are available as constants in " +"the :mod:`fcntl` module, using the same names as used in the relevant C " +"header files. The argument *arg* can either be an integer value, or a :class:" +"`bytes` object. With an integer value, the return value of this function is " +"the integer return value of the C :c:func:`fcntl` call. When the argument " +"is bytes it represents a binary structure, e.g. created by :func:`struct." +"pack`. The binary data is copied to a buffer whose address is passed to the " +"C :c:func:`fcntl` call. The return value after a successful call is the " +"contents of the buffer, converted to a :class:`bytes` object. The length of " +"the returned object will be the same as the length of the *arg* argument. " +"This is limited to 1024 bytes. If the information returned in the buffer by " +"the operating system is larger than 1024 bytes, this is most likely to " +"result in a segmentation violation or a more subtle data corruption." +msgstr "" +"Виконайте операцію *cmd* над файловим дескриптором *fd* (також приймаються " +"файлові об’єкти, що містять метод :meth:`~io.IOBase.fileno`). Значення, які " +"використовуються для *cmd*, залежать від операційної системи та доступні як " +"константи в модулі :mod:`fcntl`, використовуючи ті самі імена, що " +"використовуються у відповідних файлах заголовків C. Аргумент *arg* може бути " +"або цілим значенням, або об’єктом :class:`bytes`. З цілим значенням " +"значення, що повертається цією функцією, є цілим значенням, що повертається " +"викликом C :c:func:`fcntl`. Коли аргумент є байтами, він представляє " +"двійкову структуру, наприклад. створено :func:`struct.pack`. Двійкові дані " +"копіюються в буфер, адреса якого передається виклику C :c:func:`fcntl`. " +"Значення, що повертається після успішного виклику, є вмістом буфера, " +"перетвореним на об’єкт :class:`bytes`. Довжина повернутого об’єкта буде " +"такою ж, як і довжина аргументу *arg*. Це обмежено 1024 байтами. Якщо " +"інформація, яку операційна система повертає в буфер, перевищує 1024 байти, " +"це, швидше за все, призведе до порушення сегментації або більш тонкого " +"пошкодження даних." + +msgid "If the :c:func:`fcntl` fails, an :exc:`OSError` is raised." +msgstr "Якщо :c:func:`fcntl` не вдається, виникає :exc:`OSError`." + +msgid "" +"Raises an :ref:`auditing event ` ``fcntl.fcntl`` with arguments " +"``fd``, ``cmd``, ``arg``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``fcntl.fcntl`` з аргументами " +"``fd``, ``cmd``, ``arg``." + +msgid "" +"This function is identical to the :func:`~fcntl.fcntl` function, except that " +"the argument handling is even more complicated." +msgstr "" +"Ця функція ідентична функції :func:`~fcntl.fcntl`, за винятком того, що " +"обробка аргументів ще складніша." + +msgid "" +"The *request* parameter is limited to values that can fit in 32-bits. " +"Additional constants of interest for use as the *request* argument can be " +"found in the :mod:`termios` module, under the same names as used in the " +"relevant C header files." +msgstr "" +"Параметр *request* обмежується значеннями, які можуть вміститися в 32-бітах. " +"Додаткові цікаві константи для використання як аргументу *request* можна " +"знайти в модулі :mod:`termios` під тими самими назвами, які використовуються " +"у відповідних файлах заголовків C." + +msgid "" +"The parameter *arg* can be one of an integer, an object supporting the read-" +"only buffer interface (like :class:`bytes`) or an object supporting the read-" +"write buffer interface (like :class:`bytearray`)." +msgstr "" +"Параметр *arg* може бути цілим числом, об’єктом, що підтримує інтерфейс " +"буфера лише для читання (наприклад, :class:`bytes`), або об’єктом, що " +"підтримує інтерфейс буфера для читання та запису (наприклад, :class:" +"`bytearray`)." + +msgid "" +"In all but the last case, behaviour is as for the :func:`~fcntl.fcntl` " +"function." +msgstr "" +"У всіх випадках, крім останнього, поведінка така ж, як у функції :func:" +"`~fcntl.fcntl`." + +msgid "" +"If a mutable buffer is passed, then the behaviour is determined by the value " +"of the *mutate_flag* parameter." +msgstr "" +"Якщо передається змінний буфер, поведінка визначається значенням параметра " +"*mutate_flag*." + +msgid "" +"If it is false, the buffer's mutability is ignored and behaviour is as for a " +"read-only buffer, except that the 1024 byte limit mentioned above is avoided " +"-- so long as the buffer you pass is at least as long as what the operating " +"system wants to put there, things should work." +msgstr "" +"Якщо значення false, мінливість буфера ігнорується, а поведінка така ж, як і " +"для буфера лише для читання, за винятком того, що обмеження у 1024 байти, " +"згадане вище, уникає — доки переданий буфер має принаймні таку довжину, як і " +"операційна система. хоче поставити туди, речі повинні працювати." + +msgid "" +"If *mutate_flag* is true (the default), then the buffer is (in effect) " +"passed to the underlying :func:`ioctl` system call, the latter's return code " +"is passed back to the calling Python, and the buffer's new contents reflect " +"the action of the :func:`ioctl`. This is a slight simplification, because " +"if the supplied buffer is less than 1024 bytes long it is first copied into " +"a static buffer 1024 bytes long which is then passed to :func:`ioctl` and " +"copied back into the supplied buffer." +msgstr "" +"Якщо *mutate_flag* має значення true (за замовчуванням), тоді буфер " +"(фактично) передається базовому системному виклику :func:`ioctl`, код " +"повернення останнього передається назад викликаючому Python, а новий вміст " +"буфера відображає дія :func:`ioctl`. Це невелике спрощення, тому що якщо " +"довжина наданого буфера менша за 1024 байти, він спочатку копіюється в " +"статичний буфер довжиною 1024 байти, який потім передається до :func:`ioctl` " +"і копіюється назад у наданий буфер." + +msgid "If the :c:func:`ioctl` fails, an :exc:`OSError` exception is raised." +msgstr "Якщо :c:func:`ioctl` не вдається, виникає виняток :exc:`OSError`." + +msgid "An example::" +msgstr "Приклад::" + +msgid "" +"Raises an :ref:`auditing event ` ``fcntl.ioctl`` with arguments " +"``fd``, ``request``, ``arg``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``fcntl.ioctl`` з аргументами " +"``fd``, ``request``, ``arg``." + +msgid "" +"Perform the lock operation *operation* on file descriptor *fd* (file objects " +"providing a :meth:`~io.IOBase.fileno` method are accepted as well). See the " +"Unix manual :manpage:`flock(2)` for details. (On some systems, this " +"function is emulated using :c:func:`fcntl`.)" +msgstr "" +"Виконайте операцію блокування *operation* для файлового дескриптора *fd* " +"(також приймаються файлові об’єкти, що містять метод :meth:`~io.IOBase." +"fileno`). Перегляньте посібник Unix :manpage:`flock(2)` для отримання " +"детальної інформації. (У деяких системах ця функція емулюється за допомогою :" +"c:func:`fcntl`.)" + +msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised." +msgstr "Якщо :c:func:`flock` не вдається, виникає виняток :exc:`OSError`." + +msgid "" +"Raises an :ref:`auditing event ` ``fcntl.flock`` with arguments " +"``fd``, ``operation``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``fcntl.flock`` з аргументами " +"``fd``, ``operation``." + +msgid "" +"This is essentially a wrapper around the :func:`~fcntl.fcntl` locking calls. " +"*fd* is the file descriptor (file objects providing a :meth:`~io.IOBase." +"fileno` method are accepted as well) of the file to lock or unlock, and " +"*cmd* is one of the following values:" +msgstr "" +"По суті, це обгортка викликів блокування :func:`~fcntl.fcntl`. *fd* — це " +"дескриптор файлу (також приймаються об’єкти файлу, що містять метод :meth:" +"`~io.IOBase.fileno`) файлу, який потрібно заблокувати або розблокувати, а " +"*cmd* — одне з таких значень:" + +msgid ":const:`LOCK_UN` -- unlock" +msgstr ":const:`LOCK_UN` -- розблокувати" + +msgid ":const:`LOCK_SH` -- acquire a shared lock" +msgstr ":const:`LOCK_SH` -- отримання спільного блокування" + +msgid ":const:`LOCK_EX` -- acquire an exclusive lock" +msgstr ":const:`LOCK_EX` -- отримати ексклюзивне блокування" + +msgid "" +"When *cmd* is :const:`LOCK_SH` or :const:`LOCK_EX`, it can also be bitwise " +"ORed with :const:`LOCK_NB` to avoid blocking on lock acquisition. If :const:" +"`LOCK_NB` is used and the lock cannot be acquired, an :exc:`OSError` will be " +"raised and the exception will have an *errno* attribute set to :const:" +"`EACCES` or :const:`EAGAIN` (depending on the operating system; for " +"portability, check for both values). On at least some systems, :const:" +"`LOCK_EX` can only be used if the file descriptor refers to a file opened " +"for writing." +msgstr "" +"Якщо *cmd* має значення :const:`LOCK_SH` або :const:`LOCK_EX`, його також " +"можна об’єднати порозрядним АБО за допомогою :const:`LOCK_NB`, щоб уникнути " +"блокування при отриманні блокування. Якщо :const:`LOCK_NB` використовується " +"і блокування не може бути отримано, буде викликано :exc:`OSError` і виняток " +"матиме атрибут *errno* зі значенням :const:`EACCES` або :const:`EAGAIN` " +"(залежно від операційної системи; для переносимості перевірте обидва " +"значення). Принаймні в деяких системах :const:`LOCK_EX` можна " +"використовувати, лише якщо дескриптор файлу посилається на файл, відкритий " +"для запису." + +msgid "" +"*len* is the number of bytes to lock, *start* is the byte offset at which " +"the lock starts, relative to *whence*, and *whence* is as with :func:`io." +"IOBase.seek`, specifically:" +msgstr "" +"*len* — це кількість байтів для блокування, *start* — зсув у байтах, з якого " +"починається блокування, відносно *whence*, а *whence* — як у :func:`io." +"IOBase.seek`, зокрема:" + +msgid ":const:`0` -- relative to the start of the file (:data:`os.SEEK_SET`)" +msgstr ":const:`0` -- відносно початку файлу (:data:`os.SEEK_SET`)" + +msgid "" +":const:`1` -- relative to the current buffer position (:data:`os.SEEK_CUR`)" +msgstr ":const:`1` -- відносно поточної позиції буфера (:data:`os.SEEK_CUR`)" + +msgid ":const:`2` -- relative to the end of the file (:data:`os.SEEK_END`)" +msgstr ":const:`2` -- відносно кінця файлу (:data:`os.SEEK_END`)" + +msgid "" +"The default for *start* is 0, which means to start at the beginning of the " +"file. The default for *len* is 0 which means to lock to the end of the " +"file. The default for *whence* is also 0." +msgstr "" +"Типовим значенням для *початку* є 0, що означає початок на початку файлу. " +"Типовим значенням для *len* є 0, що означає блокування до кінця файлу. За " +"замовчуванням для *whence* також дорівнює 0." + +msgid "" +"Raises an :ref:`auditing event ` ``fcntl.lockf`` with arguments " +"``fd``, ``cmd``, ``len``, ``start``, ``whence``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``fcntl.lockf`` з аргументами " +"``fd``, ``cmd``, ``len``, ``start``, ``whence``." + +msgid "Examples (all on a SVR4 compliant system)::" +msgstr "Приклади (усі в системі, сумісній з SVR4):" + +msgid "" +"Note that in the first example the return value variable *rv* will hold an " +"integer value; in the second example it will hold a :class:`bytes` object. " +"The structure lay-out for the *lockdata* variable is system dependent --- " +"therefore using the :func:`flock` call may be better." +msgstr "" +"Зверніть увагу, що в першому прикладі змінна *rv* буде мати ціле значення; у " +"другому прикладі він буде містити об’єкт :class:`bytes`. Схема структури для " +"змінної *lockdata* залежить від системи --- тому використання виклику :func:" +"`flock` може бути кращим." + +msgid "Module :mod:`os`" +msgstr "Модуль :mod:`os`" + +msgid "" +"If the locking flags :data:`~os.O_SHLOCK` and :data:`~os.O_EXLOCK` are " +"present in the :mod:`os` module (on BSD only), the :func:`os.open` function " +"provides an alternative to the :func:`lockf` and :func:`flock` functions." +msgstr "" +"Якщо прапорці блокування :data:`~os.O_SHLOCK` і :data:`~os.O_EXLOCK` " +"присутні в модулі :mod:`os` (лише в BSD), функція :func:`os.open` надає " +"альтернативу функціям :func:`lockf` і :func:`flock`." diff --git a/library/filecmp.po b/library/filecmp.po new file mode 100644 index 000000000..b22e3df39 --- /dev/null +++ b/library/filecmp.po @@ -0,0 +1,265 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`filecmp` --- File and Directory Comparisons" +msgstr ":mod:`filecmp` --- Порівняння файлів і каталогів" + +msgid "**Source code:** :source:`Lib/filecmp.py`" +msgstr "**Вихідний код:** :source:`Lib/filecmp.py`" + +msgid "" +"The :mod:`filecmp` module defines functions to compare files and " +"directories, with various optional time/correctness trade-offs. For " +"comparing files, see also the :mod:`difflib` module." +msgstr "" +"Модуль :mod:`filecmp` визначає функції для порівняння файлів і каталогів із " +"різними необов’язковими компромісами між часом і правильністю. Для " +"порівняння файлів див. також модуль :mod:`difflib`." + +msgid "The :mod:`filecmp` module defines the following functions:" +msgstr "Модуль :mod:`filecmp` визначає такі функції:" + +msgid "" +"Compare the files named *f1* and *f2*, returning ``True`` if they seem " +"equal, ``False`` otherwise." +msgstr "" +"Порівняйте файли з іменами *f1* і *f2*, повертаючи ``True``, якщо вони " +"здаються однаковими, ``False`` інакше." + +msgid "" +"If *shallow* is true and the :func:`os.stat` signatures (file type, size, " +"and modification time) of both files are identical, the files are taken to " +"be equal." +msgstr "" +"Якщо *shallow* має значення true і сигнатури :func:`os.stat` (тип файлу, " +"розмір і час модифікації) обох файлів ідентичні, файли вважаються однаковими." + +msgid "" +"Otherwise, the files are treated as different if their sizes or contents " +"differ." +msgstr "" +"В іншому випадку файли розглядаються як різні, якщо їхні розміри або вміст " +"відрізняються." + +msgid "" +"Note that no external programs are called from this function, giving it " +"portability and efficiency." +msgstr "" +"Зауважте, що жодні зовнішні програми не викликаються з цієї функції, що " +"забезпечує її переносимість та ефективність." + +msgid "" +"This function uses a cache for past comparisons and the results, with cache " +"entries invalidated if the :func:`os.stat` information for the file " +"changes. The entire cache may be cleared using :func:`clear_cache`." +msgstr "" +"Ця функція використовує кеш для попередніх порівнянь і результатів, при " +"цьому записи кешу стають недійсними, якщо інформація :func:`os.stat` для " +"файлу змінюється. Весь кеш можна очистити за допомогою :func:`clear_cache`." + +msgid "" +"Compare the files in the two directories *dir1* and *dir2* whose names are " +"given by *common*." +msgstr "" +"Порівняйте файли у двох каталогах *dir1* і *dir2*, імена яких задані " +"*common*." + +msgid "" +"Returns three lists of file names: *match*, *mismatch*, *errors*. *match* " +"contains the list of files that match, *mismatch* contains the names of " +"those that don't, and *errors* lists the names of files which could not be " +"compared. Files are listed in *errors* if they don't exist in one of the " +"directories, the user lacks permission to read them or if the comparison " +"could not be done for some other reason." +msgstr "" +"Повертає три списки імен файлів: *збіг*, *невідповідність*, *помилки*. " +"*match* містить список файлів, які збігаються, *mismatch* містить імена тих, " +"які не відповідають, а *errors* містить імена файлів, які не вдалося " +"порівняти. Файли перераховуються в *помилках*, якщо вони не існують в одному " +"з каталогів, у користувача немає дозволу на їх читання або якщо порівняння " +"не вдалося виконати з іншої причини." + +msgid "" +"The *shallow* parameter has the same meaning and default value as for :func:" +"`filecmp.cmp`." +msgstr "" +"Параметр *shallow* має те саме значення та значення за замовчуванням, що й " +"для :func:`filecmp.cmp`." + +msgid "" +"For example, ``cmpfiles('a', 'b', ['c', 'd/e'])`` will compare ``a/c`` with " +"``b/c`` and ``a/d/e`` with ``b/d/e``. ``'c'`` and ``'d/e'`` will each be in " +"one of the three returned lists." +msgstr "" +"Наприклад, ``cmpfiles('a', 'b', ['c', 'd/e'])`` порівнює ``a/c`` з ``b/c`` і " +"``a /d/e`` з ``b/d/e``. ``'c'`` і ``'d/e'`` будуть кожен в одному з трьох " +"повернутих списків." + +msgid "" +"Clear the filecmp cache. This may be useful if a file is compared so quickly " +"after it is modified that it is within the mtime resolution of the " +"underlying filesystem." +msgstr "" +"Очистіть кеш filecmp. Це може бути корисним, якщо файл порівнюється " +"настільки швидко після його модифікації, що він знаходиться в межах дозволу " +"mtime основної файлової системи." + +msgid "The :class:`dircmp` class" +msgstr "Клас :class:`dircmp`" + +msgid "" +"Construct a new directory comparison object, to compare the directories *a* " +"and *b*. *ignore* is a list of names to ignore, and defaults to :attr:" +"`filecmp.DEFAULT_IGNORES`. *hide* is a list of names to hide, and defaults " +"to ``[os.curdir, os.pardir]``." +msgstr "" +"Створіть новий об’єкт порівняння каталогів, щоб порівняти каталоги *a* і " +"*b*. *ignore* — це список імен, які потрібно ігнорувати, і за замовчуванням :" +"attr:`filecmp.DEFAULT_IGNORES`. *hide* — це список імен, які потрібно " +"приховати, і за замовчуванням ``[os.curdir, os.pardir]``." + +msgid "" +"The :class:`dircmp` class compares files by doing *shallow* comparisons as " +"described for :func:`filecmp.cmp`." +msgstr "" +"Клас :class:`dircmp` порівнює файли, виконуючи *неглибоке* порівняння, як " +"описано для :func:`filecmp.cmp`." + +msgid "The :class:`dircmp` class provides the following methods:" +msgstr "Клас :class:`dircmp` надає такі методи:" + +msgid "Print (to :data:`sys.stdout`) a comparison between *a* and *b*." +msgstr "Вивести (у :data:`sys.stdout`) порівняння між *a* і *b*." + +msgid "" +"Print a comparison between *a* and *b* and common immediate subdirectories." +msgstr "" +"Надрукуйте порівняння між *a* і *b* та загальними безпосередніми " +"підкаталогами." + +msgid "" +"Print a comparison between *a* and *b* and common subdirectories " +"(recursively)." +msgstr "" +"Вивести порівняння між *a* і *b* та загальними підкаталогами (рекурсивно)." + +msgid "" +"The :class:`dircmp` class offers a number of interesting attributes that may " +"be used to get various bits of information about the directory trees being " +"compared." +msgstr "" +"Клас :class:`dircmp` пропонує низку цікавих атрибутів, які можна " +"використовувати для отримання різноманітної інформації про порівнювані " +"дерева каталогів." + +msgid "" +"Note that via :meth:`__getattr__` hooks, all attributes are computed lazily, " +"so there is no speed penalty if only those attributes which are lightweight " +"to compute are used." +msgstr "" +"Зауважте, що за допомогою хуків :meth:`__getattr__` усі атрибути " +"обчислюються ліниво, тому немає покарання за швидкість, якщо " +"використовуються лише ті атрибути, які є легкими для обчислення." + +msgid "The directory *a*." +msgstr "Каталог *a*." + +msgid "The directory *b*." +msgstr "Каталог *b*." + +msgid "Files and subdirectories in *a*, filtered by *hide* and *ignore*." +msgstr "" +"Файли та підкаталоги в *a*, відфільтровані за допомогою *hide* та *ignore*." + +msgid "Files and subdirectories in *b*, filtered by *hide* and *ignore*." +msgstr "" +"Файли та підкаталоги в *b*, відфільтровані за допомогою *hide* та *ignore*." + +msgid "Files and subdirectories in both *a* and *b*." +msgstr "Файли та підкаталоги в *a* і *b*." + +msgid "Files and subdirectories only in *a*." +msgstr "Файли та підкаталоги лише в *a*." + +msgid "Files and subdirectories only in *b*." +msgstr "Файли та підкаталоги лише в *b*." + +msgid "Subdirectories in both *a* and *b*." +msgstr "Підкаталоги в *a* і *b*." + +msgid "Files in both *a* and *b*." +msgstr "Файли в *a* і *b*." + +msgid "" +"Names in both *a* and *b*, such that the type differs between the " +"directories, or names for which :func:`os.stat` reports an error." +msgstr "" +"Імена як у *a*, так і в *b*, типи яких відрізняються в різних каталогах, або " +"імена, для яких :func:`os.stat` повідомляє про помилку." + +msgid "" +"Files which are identical in both *a* and *b*, using the class's file " +"comparison operator." +msgstr "" +"Файли, ідентичні як у *a*, так і в *b*, використовуючи оператор порівняння " +"файлів класу." + +msgid "" +"Files which are in both *a* and *b*, whose contents differ according to the " +"class's file comparison operator." +msgstr "" +"Файли, які містяться як у *a*, так і в *b*, вміст яких відрізняється " +"відповідно до оператора порівняння файлів класу." + +msgid "Files which are in both *a* and *b*, but could not be compared." +msgstr "Файли, які знаходяться як у *a*, так і в *b*, але не можна порівняти." + +msgid "" +"A dictionary mapping names in :attr:`common_dirs` to :class:`dircmp` " +"instances (or MyDirCmp instances if this instance is of type MyDirCmp, a " +"subclass of :class:`dircmp`)." +msgstr "" +"Словник, що відображає імена в :attr:`common_dirs` на екземпляри :class:" +"`dircmp` (або екземпляри MyDirCmp, якщо цей екземпляр має тип MyDirCmp, " +"підклас :class:`dircmp`)." + +msgid "" +"Previously entries were always :class:`dircmp` instances. Now entries are " +"the same type as *self*, if *self* is a subclass of :class:`dircmp`." +msgstr "" +"Раніше записи завжди були екземплярами :class:`dircmp`. Тепер записи того " +"самого типу, що й *self*, якщо *self* є підкласом :class:`dircmp`." + +msgid "List of directories ignored by :class:`dircmp` by default." +msgstr "Список каталогів, які :class:`dircmp` ігнорує за умовчанням." + +msgid "" +"Here is a simplified example of using the ``subdirs`` attribute to search " +"recursively through two directories to show common different files::" +msgstr "" +"Ось спрощений приклад використання атрибута ``subdirs`` для рекурсивного " +"пошуку в двох каталогах, щоб показати спільні різні файли::" diff --git a/library/fileformats.po b/library/fileformats.po new file mode 100644 index 000000000..08b19a3d9 --- /dev/null +++ b/library/fileformats.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "File Formats" +msgstr "Формати файлів" + +msgid "" +"The modules described in this chapter parse various miscellaneous file " +"formats that aren't markup languages and are not related to e-mail." +msgstr "" +"Модулі, описані в цьому розділі, аналізують різноманітні формати файлів, які " +"не є мовами розмітки та не пов’язані з електронною поштою." diff --git a/library/fileinput.po b/library/fileinput.po new file mode 100644 index 000000000..8325cdc5e --- /dev/null +++ b/library/fileinput.po @@ -0,0 +1,355 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`fileinput` --- Iterate over lines from multiple input streams" +msgstr ":mod:`fileinput` --- Перебір рядків із кількох вхідних потоків" + +msgid "**Source code:** :source:`Lib/fileinput.py`" +msgstr "**Вихідний код:** :source:`Lib/fileinput.py`" + +msgid "" +"This module implements a helper class and functions to quickly write a loop " +"over standard input or a list of files. If you just want to read or write " +"one file see :func:`open`." +msgstr "" +"Цей модуль реалізує допоміжний клас і функції для швидкого запису циклу " +"через стандартний ввід або список файлів. Якщо ви просто хочете прочитати " +"або записати один файл, перегляньте :func:`open`." + +msgid "The typical use is::" +msgstr "Типове використання:" + +msgid "" +"This iterates over the lines of all files listed in ``sys.argv[1:]``, " +"defaulting to ``sys.stdin`` if the list is empty. If a filename is ``'-'``, " +"it is also replaced by ``sys.stdin`` and the optional arguments *mode* and " +"*openhook* are ignored. To specify an alternative list of filenames, pass " +"it as the first argument to :func:`.input`. A single file name is also " +"allowed." +msgstr "" +"Це повторює рядки всіх файлів, перелічених у ``sys.argv[1:]``, за умовчанням " +"``sys.stdin``, якщо список порожній. Якщо ім’я файлу ``'-'``, воно також " +"замінюється на ``sys.stdin``, а додаткові аргументи *mode* і *openhook* " +"ігноруються. Щоб вказати альтернативний список імен файлів, передайте його " +"як перший аргумент у :func:`.input`. Допускається також одне ім’я файлу." + +msgid "" +"All files are opened in text mode by default, but you can override this by " +"specifying the *mode* parameter in the call to :func:`.input` or :class:" +"`FileInput`. If an I/O error occurs during opening or reading a file, :exc:" +"`OSError` is raised." +msgstr "" +"За замовчуванням усі файли відкриваються в текстовому режимі, але ви можете " +"змінити це, вказавши параметр *mode* у виклику :func:`.input` або :class:" +"`FileInput`. Якщо під час відкриття або читання файлу виникає помилка " +"введення-виведення, виникає :exc:`OSError`." + +msgid ":exc:`IOError` used to be raised; it is now an alias of :exc:`OSError`." +msgstr ":exc:`IOError` використовувався; тепер це псевдонім :exc:`OSError`." + +msgid "" +"If ``sys.stdin`` is used more than once, the second and further use will " +"return no lines, except perhaps for interactive use, or if it has been " +"explicitly reset (e.g. using ``sys.stdin.seek(0)``)." +msgstr "" +"Якщо ``sys.stdin`` використовується більше одного разу, друге і подальше " +"використання не поверне жодних рядків, за винятком, можливо, для " +"інтерактивного використання, або якщо його було явно скинуто (наприклад, за " +"допомогою ``sys.stdin.seek(0))``)." + +msgid "" +"Empty files are opened and immediately closed; the only time their presence " +"in the list of filenames is noticeable at all is when the last file opened " +"is empty." +msgstr "" +"Порожні файли відкриваються і негайно закриваються; єдиний раз, коли їх " +"присутність у списку імен файлів взагалі помітна, це коли останній відкритий " +"файл порожній." + +msgid "" +"Lines are returned with any newlines intact, which means that the last line " +"in a file may not have one." +msgstr "" +"Рядки повертаються з усіма новими рядками, що означає, що останній рядок у " +"файлі може їх не мати." + +msgid "" +"You can control how files are opened by providing an opening hook via the " +"*openhook* parameter to :func:`fileinput.input` or :class:`FileInput()`. The " +"hook must be a function that takes two arguments, *filename* and *mode*, and " +"returns an accordingly opened file-like object. If *encoding* and/or " +"*errors* are specified, they will be passed to the hook as additional " +"keyword arguments. This module provides a :func:`hook_compressed` to support " +"compressed files." +msgstr "" +"Ви можете керувати тим, як відкриваються файли, надаючи перехоплювач " +"відкриття через параметр *openhook* для :func:`fileinput.input` або :class:" +"`FileInput()`. Хук має бути функцією, яка приймає два аргументи, *filename* " +"і *mode*, і повертає відповідно відкритий файлоподібний об’єкт. Якщо вказано " +"*кодування* та/або *помилки*, вони будуть передані хуку як додаткові " +"аргументи ключового слова. Цей модуль надає :func:`hook_compressed` для " +"підтримки стиснутих файлів." + +msgid "The following function is the primary interface of this module:" +msgstr "Наступна функція є основним інтерфейсом цього модуля:" + +msgid "" +"Create an instance of the :class:`FileInput` class. The instance will be " +"used as global state for the functions of this module, and is also returned " +"to use during iteration. The parameters to this function will be passed " +"along to the constructor of the :class:`FileInput` class." +msgstr "" +"Створіть екземпляр класу :class:`FileInput`. Примірник використовуватиметься " +"як глобальний стан для функцій цього модуля, а також повертатиметься до " +"використання під час ітерації. Параметри цієї функції будуть передані " +"конструктору класу :class:`FileInput`." + +msgid "" +"The :class:`FileInput` instance can be used as a context manager in the :" +"keyword:`with` statement. In this example, *input* is closed after the :" +"keyword:`!with` statement is exited, even if an exception occurs::" +msgstr "" +"Екземпляр :class:`FileInput` можна використовувати як менеджер контексту в " +"операторі :keyword:`with`. У цьому прикладі *input* закривається після " +"завершення оператора :keyword:`!with`, навіть якщо виникає виняткова " +"ситуація::" + +msgid "Can be used as a context manager." +msgstr "Може використовуватися як контекстний менеджер." + +msgid "The keyword parameters *mode* and *openhook* are now keyword-only." +msgstr "" +"Параметри ключових слів *mode* і *openhook* тепер є лише ключовими словами." + +msgid "The keyword-only parameter *encoding* and *errors* are added." +msgstr "Додано лише ключове слово *кодування* та *помилки*." + +msgid "" +"The following functions use the global state created by :func:`fileinput." +"input`; if there is no active state, :exc:`RuntimeError` is raised." +msgstr "" +"Наступні функції використовують глобальний стан, створений :func:`fileinput." +"input`; якщо активного стану немає, виникає :exc:`RuntimeError`." + +msgid "" +"Return the name of the file currently being read. Before the first line has " +"been read, returns ``None``." +msgstr "" +"Повертає назву файлу, який зараз читається. До того, як буде прочитано " +"перший рядок, повертає ``None``." + +msgid "" +"Return the integer \"file descriptor\" for the current file. When no file is " +"opened (before the first line and between files), returns ``-1``." +msgstr "" +"Повертає ціле число \"дескриптор файлу\" для поточного файлу. Якщо файл не " +"відкрито (перед першим рядком і між файлами), повертає ``-1``." + +msgid "" +"Return the cumulative line number of the line that has just been read. " +"Before the first line has been read, returns ``0``. After the last line of " +"the last file has been read, returns the line number of that line." +msgstr "" +"Повертає кумулятивний номер рядка, який щойно було прочитано. До прочитання " +"першого рядка повертає ``0``. Після прочитання останнього рядка останнього " +"файлу повертає номер цього рядка." + +msgid "" +"Return the line number in the current file. Before the first line has been " +"read, returns ``0``. After the last line of the last file has been read, " +"returns the line number of that line within the file." +msgstr "" +"Повертає номер рядка в поточному файлі. До прочитання першого рядка повертає " +"``0``. Після прочитання останнього рядка останнього файлу повертає номер " +"рядка цього рядка у файлі." + +msgid "" +"Return ``True`` if the line just read is the first line of its file, " +"otherwise return ``False``." +msgstr "" +"Повертає ``True``, якщо щойно прочитаний рядок є першим рядком його файлу, " +"інакше повертає ``False``." + +msgid "" +"Return ``True`` if the last line was read from ``sys.stdin``, otherwise " +"return ``False``." +msgstr "" +"Повертає ``True``, якщо останній рядок було прочитано з ``sys.stdin``, " +"інакше повертає ``False``." + +msgid "" +"Close the current file so that the next iteration will read the first line " +"from the next file (if any); lines not read from the file will not count " +"towards the cumulative line count. The filename is not changed until after " +"the first line of the next file has been read. Before the first line has " +"been read, this function has no effect; it cannot be used to skip the first " +"file. After the last line of the last file has been read, this function has " +"no effect." +msgstr "" +"Закрийте поточний файл, щоб наступна ітерація прочитала перший рядок із " +"наступного файлу (якщо такий є); рядки, не прочитані з файлу, не " +"враховуватимуться до загальної кількості рядків. Ім'я файлу не змінюється, " +"доки не буде прочитано перший рядок наступного файлу. До прочитання першого " +"рядка ця функція не діє; його не можна використовувати для пропуску першого " +"файлу. Після прочитання останнього рядка останнього файлу ця функція не діє." + +msgid "Close the sequence." +msgstr "Закрийте послідовність." + +msgid "" +"The class which implements the sequence behavior provided by the module is " +"available for subclassing as well:" +msgstr "" +"Клас, який реалізує поведінку послідовності, надану модулем, також доступний " +"для підкласів:" + +msgid "" +"Class :class:`FileInput` is the implementation; its methods :meth:" +"`filename`, :meth:`fileno`, :meth:`lineno`, :meth:`filelineno`, :meth:" +"`isfirstline`, :meth:`isstdin`, :meth:`nextfile` and :meth:`close` " +"correspond to the functions of the same name in the module. In addition it " +"is :term:`iterable` and has a :meth:`~io.TextIOBase.readline` method which " +"returns the next input line. The sequence must be accessed in strictly " +"sequential order; random access and :meth:`~io.TextIOBase.readline` cannot " +"be mixed." +msgstr "" + +msgid "" +"With *mode* you can specify which file mode will be passed to :func:`open`. " +"It must be one of ``'r'`` and ``'rb'``." +msgstr "" + +msgid "" +"The *openhook*, when given, must be a function that takes two arguments, " +"*filename* and *mode*, and returns an accordingly opened file-like object. " +"You cannot use *inplace* and *openhook* together." +msgstr "" +"*Openhook*, якщо його надано, має бути функцією, яка приймає два аргументи, " +"*filename* і *mode*, і повертає відповідний відкритий файлоподібний об’єкт. " +"Ви не можете використовувати *inplace* і *openhook* разом." + +msgid "" +"You can specify *encoding* and *errors* that is passed to :func:`open` or " +"*openhook*." +msgstr "" +"Ви можете вказати *кодування* та *помилки*, які передаються в :func:`open` " +"або *openhook*." + +msgid "" +"A :class:`FileInput` instance can be used as a context manager in the :" +"keyword:`with` statement. In this example, *input* is closed after the :" +"keyword:`!with` statement is exited, even if an exception occurs::" +msgstr "" +"Екземпляр :class:`FileInput` можна використовувати як менеджер контексту в " +"операторі :keyword:`with`. У цьому прикладі *input* закривається після " +"завершення оператора :keyword:`!with`, навіть якщо виникає виняткова " +"ситуація::" + +msgid "The keyword parameter *mode* and *openhook* are now keyword-only." +msgstr "Ключові параметри *mode* і *openhook* тепер є лише ключовими словами." + +msgid "" +"The ``'rU'`` and ``'U'`` modes and the :meth:`__getitem__` method have been " +"removed." +msgstr "" + +msgid "" +"**Optional in-place filtering:** if the keyword argument ``inplace=True`` is " +"passed to :func:`fileinput.input` or to the :class:`FileInput` constructor, " +"the file is moved to a backup file and standard output is directed to the " +"input file (if a file of the same name as the backup file already exists, it " +"will be replaced silently). This makes it possible to write a filter that " +"rewrites its input file in place. If the *backup* parameter is given " +"(typically as ``backup='.'``), it specifies the extension " +"for the backup file, and the backup file remains around; by default, the " +"extension is ``'.bak'`` and it is deleted when the output file is closed. " +"In-place filtering is disabled when standard input is read." +msgstr "" +"**Додаткова фільтрація на місці:** якщо ключовий аргумент ``inplace=True`` " +"передається до :func:`fileinput.input` або до конструктора :class:" +"`FileInput`, файл переміщується до резервної копії файл, а стандартний вивід " +"спрямовується до вхідного файлу (якщо файл із такою ж назвою, як і файл " +"резервної копії, уже існує, його буде замінено мовчки). Це дає змогу " +"написати фільтр, який перезаписує свій вхідний файл на місці. Якщо вказано " +"параметр *backup* (зазвичай як ``backup='. ''``), він " +"визначає розширення файлу резервної копії, і файл резервної копії " +"залишається; за замовчуванням розширення має ``'.bak'`` і воно видаляється, " +"коли вихідний файл закривається. Фільтрування на місці вимкнено, коли " +"зчитується стандартний ввід." + +msgid "The two following opening hooks are provided by this module:" +msgstr "Цей модуль забезпечує два наступних відкриваючі гачки:" + +msgid "" +"Transparently opens files compressed with gzip and bzip2 (recognized by the " +"extensions ``'.gz'`` and ``'.bz2'``) using the :mod:`gzip` and :mod:`bz2` " +"modules. If the filename extension is not ``'.gz'`` or ``'.bz2'``, the file " +"is opened normally (ie, using :func:`open` without any decompression)." +msgstr "" +"Прозоро відкриває файли, стиснуті за допомогою gzip і bzip2 (розпізнаються " +"за розширеннями ``'.gz''`` і ``'.bz2``) за допомогою модулів :mod:`gzip` і :" +"mod:`bz2`. Якщо розширення назви файлу не є ``'.gz''`` або ``'.bz2''``, файл " +"відкривається нормально (тобто за допомогою :func:`open` без будь-якої " +"декомпресії)." + +msgid "" +"The *encoding* and *errors* values are passed to :class:`io.TextIOWrapper` " +"for compressed files and open for normal files." +msgstr "" +"Значення *encoding* і *errors* передаються в :class:`io.TextIOWrapper` для " +"стиснутих файлів і відкриваються для звичайних файлів." + +msgid "" +"Usage example: ``fi = fileinput.FileInput(openhook=fileinput." +"hook_compressed, encoding=\"utf-8\")``" +msgstr "" +"Приклад використання: ``fi = fileinput.FileInput(openhook=fileinput." +"hook_compressed, encoding=\"utf-8\")``" + +msgid "" +"Returns a hook which opens each file with :func:`open`, using the given " +"*encoding* and *errors* to read the file." +msgstr "" +"Повертає хук, який відкриває кожен файл за допомогою :func:`open`, " +"використовуючи задане *кодування* та *помилки* для читання файлу." + +msgid "" +"Usage example: ``fi = fileinput.FileInput(openhook=fileinput." +"hook_encoded(\"utf-8\", \"surrogateescape\"))``" +msgstr "" +"Приклад використання: ``fi = fileinput.FileInput(openhook=fileinput." +"hook_encoded(\"utf-8\", \"surrogateescape\"))``" + +msgid "Added the optional *errors* parameter." +msgstr "Додано необов’язковий параметр *errors*." + +msgid "" +"This function is deprecated since :func:`fileinput.input` and :class:" +"`FileInput` now have *encoding* and *errors* parameters." +msgstr "" +"Ця функція застаріла, оскільки :func:`fileinput.input` і :class:`FileInput` " +"тепер мають параметри *encoding* і *errors*." diff --git a/library/filesys.po b/library/filesys.po new file mode 100644 index 000000000..7741da76f --- /dev/null +++ b/library/filesys.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "File and Directory Access" +msgstr "Доступ до файлів і каталогів" + +msgid "" +"The modules described in this chapter deal with disk files and directories. " +"For example, there are modules for reading the properties of files, " +"manipulating paths in a portable way, and creating temporary files. The " +"full list of modules in this chapter is:" +msgstr "" +"Модулі, описані в цьому розділі, стосуються дискових файлів і каталогів. " +"Наприклад, існують модулі для читання властивостей файлів, маніпулювання " +"шляхами переносним способом і створення тимчасових файлів. Повний список " +"модулів у цьому розділі:" + +msgid "Module :mod:`os`" +msgstr "Модуль :mod:`os`" + +msgid "" +"Operating system interfaces, including functions to work with files at a " +"lower level than Python :term:`file objects `." +msgstr "" +"Інтерфейси операційної системи, включаючи функції для роботи з файлами на " +"нижчому рівні, ніж Python :term:`file objects `." + +msgid "Module :mod:`io`" +msgstr "Модуль :mod:`io`" + +msgid "" +"Python's built-in I/O library, including both abstract classes and some " +"concrete classes such as file I/O." +msgstr "" +"Вбудована бібліотека вводу-виводу Python, що включає як абстрактні класи, " +"так і деякі конкретні класи, такі як файловий ввід-вивід." + +msgid "Built-in function :func:`open`" +msgstr "Вбудована функція :func:`open`" + +msgid "The standard way to open files for reading and writing with Python." +msgstr "" +"Стандартний спосіб відкриття файлів для читання та запису за допомогою " +"Python." diff --git a/library/fnmatch.po b/library/fnmatch.po new file mode 100644 index 000000000..9723d0578 --- /dev/null +++ b/library/fnmatch.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`fnmatch` --- Unix filename pattern matching" +msgstr ":mod:`fnmatch` --- Зіставлення шаблону назви файлів Unix" + +msgid "**Source code:** :source:`Lib/fnmatch.py`" +msgstr "**Вихідний код:** :source:`Lib/fnmatch.py`" + +msgid "" +"This module provides support for Unix shell-style wildcards, which are *not* " +"the same as regular expressions (which are documented in the :mod:`re` " +"module). The special characters used in shell-style wildcards are:" +msgstr "" +"Цей модуль підтримує символи підстановки у стилі оболонки Unix, які *не* " +"відрізняються від регулярних виразів (які задокументовані в модулі :mod:" +"`re`). Спеціальні символи, які використовуються в символах підстановки у " +"стилі оболонки:" + +msgid "Pattern" +msgstr "Візерунок" + +msgid "Meaning" +msgstr "Значення" + +msgid "``*``" +msgstr "``*``" + +msgid "matches everything" +msgstr "відповідає всьому" + +msgid "``?``" +msgstr "``?``" + +msgid "matches any single character" +msgstr "відповідає будь-якому окремому символу" + +msgid "``[seq]``" +msgstr "``[seq]``" + +msgid "matches any character in *seq*" +msgstr "відповідає будь-якому символу в *seq*" + +msgid "``[!seq]``" +msgstr "``[!seq]``" + +msgid "matches any character not in *seq*" +msgstr "відповідає будь-якому символу не в *seq*" + +msgid "" +"For a literal match, wrap the meta-characters in brackets. For example, " +"``'[?]'`` matches the character ``'?'``." +msgstr "" +"Для буквального збігу заберіть метасимволи в дужки. Наприклад, ``''[?]'`` " +"відповідає символу ``''?'``." + +msgid "" +"Note that the filename separator (``'/'`` on Unix) is *not* special to this " +"module. See module :mod:`glob` for pathname expansion (:mod:`glob` uses :" +"func:`.filter` to match pathname segments). Similarly, filenames starting " +"with a period are not special for this module, and are matched by the ``*`` " +"and ``?`` patterns." +msgstr "" +"Зауважте, що роздільник імен файлів (``'/'`` в Unix) *не* є особливим для " +"цього модуля. Дивіться модуль :mod:`glob` для розширення імені шляху (:mod:" +"`glob` використовує :func:`.filter` для відповідності сегментам імені " +"шляху). Подібним чином назви файлів, що починаються з крапки, не є " +"спеціальними для цього модуля та відповідають шаблонам ``*`` і ``?``." + +msgid "" +"Also note that :func:`functools.lru_cache` with the *maxsize* of 32768 is " +"used to cache the compiled regex patterns in the following functions: :func:" +"`fnmatch`, :func:`fnmatchcase`, :func:`filter`." +msgstr "" + +msgid "" +"Test whether the *filename* string matches the *pattern* string, returning :" +"const:`True` or :const:`False`. Both parameters are case-normalized using :" +"func:`os.path.normcase`. :func:`fnmatchcase` can be used to perform a case-" +"sensitive comparison, regardless of whether that's standard for the " +"operating system." +msgstr "" +"Перевірте, чи відповідає рядок *назва* файлу рядку *шаблону*, повертаючи :" +"const:`True` або :const:`False`. Обидва параметри нормалізуються за " +"регістром за допомогою :func:`os.path.normcase`. :func:`fnmatchcase` можна " +"використовувати для порівняння з урахуванням регістру, незалежно від того, " +"чи є це стандартом для операційної системи." + +msgid "" +"This example will print all file names in the current directory with the " +"extension ``.txt``::" +msgstr "" +"У цьому прикладі буде надруковано всі імена файлів у поточному каталозі з " +"розширенням ``.txt``::" + +msgid "" +"Test whether *filename* matches *pattern*, returning :const:`True` or :const:" +"`False`; the comparison is case-sensitive and does not apply :func:`os.path." +"normcase`." +msgstr "" +"Перевірте, чи *ім’я файлу* відповідає *шаблону*, повертаючи :const:`True` " +"або :const:`False`; порівняння чутливе до регістру і не застосовується :func:" +"`os.path.normcase`." + +msgid "" +"Construct a list from those elements of the iterable *names* that match " +"*pattern*. It is the same as ``[n for n in names if fnmatch(n, pattern)]``, " +"but implemented more efficiently." +msgstr "" +"Створіть список із тих елементів ітерованих *імен*, які відповідають " +"*шаблону*. Це те саме, що ``[n для n в іменах, якщо fnmatch(n, шаблон)]``, " +"але реалізовано більш ефективно." + +msgid "" +"Return the shell-style *pattern* converted to a regular expression for using " +"with :func:`re.match`." +msgstr "" +"Повертає *шаблон* у стилі оболонки, перетворений на регулярний вираз для " +"використання з :func:`re.match`." + +msgid "Example:" +msgstr "приклад:" + +msgid "Module :mod:`glob`" +msgstr "Модуль :mod:`glob`" + +msgid "Unix shell-style path expansion." +msgstr "Розширення шляху у стилі оболонки Unix." diff --git a/library/fractions.po b/library/fractions.po new file mode 100644 index 000000000..c8a430726 --- /dev/null +++ b/library/fractions.po @@ -0,0 +1,213 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`fractions` --- Rational numbers" +msgstr ":mod:`fractions` --- Раціональні числа" + +msgid "**Source code:** :source:`Lib/fractions.py`" +msgstr "**Вихідний код:** :source:`Lib/fractions.py`" + +msgid "" +"The :mod:`fractions` module provides support for rational number arithmetic." +msgstr "" +"Модуль :mod:`fractions` забезпечує підтримку арифметики раціональних чисел." + +msgid "" +"A Fraction instance can be constructed from a pair of integers, from another " +"rational number, or from a string." +msgstr "" +"Екземпляр Fraction можна побудувати з пари цілих чисел, з іншого " +"раціонального числа або з рядка." + +msgid "" +"The first version requires that *numerator* and *denominator* are instances " +"of :class:`numbers.Rational` and returns a new :class:`Fraction` instance " +"with value ``numerator/denominator``. If *denominator* is :const:`0`, it " +"raises a :exc:`ZeroDivisionError`. The second version requires that " +"*other_fraction* is an instance of :class:`numbers.Rational` and returns a :" +"class:`Fraction` instance with the same value. The next two versions accept " +"either a :class:`float` or a :class:`decimal.Decimal` instance, and return " +"a :class:`Fraction` instance with exactly the same value. Note that due to " +"the usual issues with binary floating-point (see :ref:`tut-fp-issues`), the " +"argument to ``Fraction(1.1)`` is not exactly equal to 11/10, and so " +"``Fraction(1.1)`` does *not* return ``Fraction(11, 10)`` as one might " +"expect. (But see the documentation for the :meth:`limit_denominator` method " +"below.) The last version of the constructor expects a string or unicode " +"instance. The usual form for this instance is::" +msgstr "" +"Перша версія вимагає, щоб *чисельник* і *знаменник* були екземплярами :class:" +"`numbers.Rational` і повертає новий екземпляр :class:`Fraction` зі значенням " +"``чисельник/знаменник``. Якщо *знаменник* дорівнює :const:`0`, це викликає :" +"exc:`ZeroDivisionError`. Друга версія вимагає, щоб *other_fraction* був " +"екземпляром :class:`numbers.Rational` і повертав екземпляр :class:`Fraction` " +"з тим самим значенням. Наступні дві версії приймають екземпляр :class:" +"`float` або :class:`decimal.Decimal` і повертають екземпляр :class:" +"`Fraction` з точно таким же значенням. Зауважте, що через звичайні проблеми " +"з двійковими числами з плаваючою комою (див. :ref:`tut-fp-issues`), аргумент " +"``Fraction(1.1)`` не дорівнює точно 11/10, тому ``Fraction(1.1)`` *не* " +"повертає ``Fraction(11, 10)``, як можна було очікувати. (Але перегляньте " +"документацію для методу :meth:`limit_denominator` нижче.) Остання версія " +"конструктора очікує рядок або екземпляр Юнікоду. Звичайна форма для цього " +"випадку::" + +msgid "" +"where the optional ``sign`` may be either '+' or '-' and ``numerator`` and " +"``denominator`` (if present) are strings of decimal digits (underscores may " +"be used to delimit digits as with integral literals in code). In addition, " +"any string that represents a finite value and is accepted by the :class:" +"`float` constructor is also accepted by the :class:`Fraction` constructor. " +"In either form the input string may also have leading and/or trailing " +"whitespace. Here are some examples::" +msgstr "" + +msgid "" +"The :class:`Fraction` class inherits from the abstract base class :class:" +"`numbers.Rational`, and implements all of the methods and operations from " +"that class. :class:`Fraction` instances are hashable, and should be treated " +"as immutable. In addition, :class:`Fraction` has the following properties " +"and methods:" +msgstr "" +"Клас :class:`Fraction` успадковує абстрактний базовий клас :class:`numbers." +"Rational` і реалізує всі методи й операції цього класу. Екземпляри :class:" +"`Fraction` можна хешувати, і їх слід розглядати як незмінні. Крім того, :" +"class:`Fraction` має такі властивості та методи:" + +msgid "" +"The :class:`Fraction` constructor now accepts :class:`float` and :class:" +"`decimal.Decimal` instances." +msgstr "" +"Конструктор :class:`Fraction` тепер приймає екземпляри :class:`float` і :" +"class:`decimal.Decimal`." + +msgid "" +"The :func:`math.gcd` function is now used to normalize the *numerator* and " +"*denominator*. :func:`math.gcd` always return a :class:`int` type. " +"Previously, the GCD type depended on *numerator* and *denominator*." +msgstr "" +"Функція :func:`math.gcd` тепер використовується для нормалізації " +"*чисельника* та *знаменника*. :func:`math.gcd` завжди повертає тип :class:" +"`int`. Раніше тип GCD залежав від *чисельника* та *знаменника*." + +msgid "" +"Underscores are now permitted when creating a :class:`Fraction` instance " +"from a string, following :PEP:`515` rules." +msgstr "" + +msgid "" +":class:`Fraction` implements ``__int__`` now to satisfy ``typing." +"SupportsInt`` instance checks." +msgstr "" + +msgid "Numerator of the Fraction in lowest term." +msgstr "Чисельник дробу в молодшому члені." + +msgid "Denominator of the Fraction in lowest term." +msgstr "Знаменник дробу в найменшому члені." + +msgid "" +"Return a tuple of two integers, whose ratio is equal to the Fraction and " +"with a positive denominator." +msgstr "" +"Повертає кортеж із двох цілих чисел, співвідношення яких дорівнює дробу та " +"має додатний знаменник." + +msgid "" +"Alternative constructor which only accepts instances of :class:`float` or :" +"class:`numbers.Integral`. Beware that ``Fraction.from_float(0.3)`` is not " +"the same value as ``Fraction(3, 10)``." +msgstr "" +"Альтернативний конструктор, який приймає лише екземпляри :class:`float` або :" +"class:`numbers.Integral`. Майте на увазі, що ``Fraction.from_float(0.3)`` не " +"є тим самим значенням ``Fraction(3, 10)``." + +msgid "" +"From Python 3.2 onwards, you can also construct a :class:`Fraction` instance " +"directly from a :class:`float`." +msgstr "" +"Починаючи з Python 3.2 і далі, ви також можете створити екземпляр :class:" +"`Fraction` безпосередньо з :class:`float`." + +msgid "" +"Alternative constructor which only accepts instances of :class:`decimal." +"Decimal` or :class:`numbers.Integral`." +msgstr "" +"Альтернативний конструктор, який приймає лише екземпляри :class:`decimal." +"Decimal` або :class:`numbers.Integral`." + +msgid "" +"From Python 3.2 onwards, you can also construct a :class:`Fraction` instance " +"directly from a :class:`decimal.Decimal` instance." +msgstr "" +"Починаючи з Python 3.2 і далі, ви також можете створити екземпляр :class:" +"`Fraction` безпосередньо з екземпляра :class:`decimal.Decimal`." + +msgid "" +"Finds and returns the closest :class:`Fraction` to ``self`` that has " +"denominator at most max_denominator. This method is useful for finding " +"rational approximations to a given floating-point number:" +msgstr "" +"Знаходить і повертає найближчий :class:`Fraction` до ``self``, який має " +"знаменник не більше max_denominator. Цей метод корисний для знаходження " +"раціональних наближень до даного числа з плаваючою комою:" + +msgid "or for recovering a rational number that's represented as a float:" +msgstr "" +"або для відновлення раціонального числа, представленого як число з плаваючою " +"точкою:" + +msgid "" +"Returns the greatest :class:`int` ``<= self``. This method can also be " +"accessed through the :func:`math.floor` function:" +msgstr "" +"Повертає найбільше :class:`int` ``<= self``. Цей метод також можна отримати " +"через функцію :func:`math.floor`:" + +msgid "" +"Returns the least :class:`int` ``>= self``. This method can also be " +"accessed through the :func:`math.ceil` function." +msgstr "" +"Повертає найменше :class:`int` ``>= self``. Цей метод також можна отримати " +"через функцію :func:`math.ceil`." + +msgid "" +"The first version returns the nearest :class:`int` to ``self``, rounding " +"half to even. The second version rounds ``self`` to the nearest multiple of " +"``Fraction(1, 10**ndigits)`` (logically, if ``ndigits`` is negative), again " +"rounding half toward even. This method can also be accessed through the :" +"func:`round` function." +msgstr "" +"Перша версія повертає найближчий :class:`int` до ``self``, округляючи " +"половину до парного. Друга версія округлює ``self`` до найближчого кратного " +"``Fraction(1, 10**ndigits)`` (логічно, якщо ``ndigits`` є від'ємним), знову " +"округлюючи половину до парного. Цей метод також можна отримати через " +"функцію :func:`round`." + +msgid "Module :mod:`numbers`" +msgstr "Модуль :mod:`numbers`" + +msgid "The abstract base classes making up the numeric tower." +msgstr "Абстрактні базові класи, що утворюють числову вежу." diff --git a/library/frameworks.po b/library/frameworks.po new file mode 100644 index 000000000..a0e5e3d9c --- /dev/null +++ b/library/frameworks.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Program Frameworks" +msgstr "Програмні рамки" + +msgid "" +"The modules described in this chapter are frameworks that will largely " +"dictate the structure of your program. Currently the modules described " +"here are all oriented toward writing command-line interfaces." +msgstr "" +"Модулі, описані в цьому розділі, є фреймворками, які значною мірою " +"визначатимуть структуру вашої програми. Наразі описані тут модулі " +"орієнтовані на написання інтерфейсів командного рядка." + +msgid "The full list of modules described in this chapter is:" +msgstr "Повний перелік модулів, описаних у цьому розділі:" diff --git a/library/ftplib.po b/library/ftplib.po new file mode 100644 index 000000000..98975cdc4 --- /dev/null +++ b/library/ftplib.po @@ -0,0 +1,600 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ftplib` --- FTP protocol client" +msgstr ":mod:`ftplib` --- клієнт протоколу FTP" + +msgid "**Source code:** :source:`Lib/ftplib.py`" +msgstr "**Вихідний код:** :source:`Lib/ftplib.py`" + +msgid "" +"This module defines the class :class:`FTP` and a few related items. The :" +"class:`FTP` class implements the client side of the FTP protocol. You can " +"use this to write Python programs that perform a variety of automated FTP " +"jobs, such as mirroring other FTP servers. It is also used by the module :" +"mod:`urllib.request` to handle URLs that use FTP. For more information on " +"FTP (File Transfer Protocol), see internet :rfc:`959`." +msgstr "" +"Цей модуль визначає клас :class:`FTP` і кілька пов’язаних елементів. Клас :" +"class:`FTP` реалізує клієнтську сторону протоколу FTP. Ви можете " +"використовувати це для написання програм на Python, які виконують " +"різноманітні автоматизовані завдання FTP, такі як віддзеркалення інших " +"серверів FTP. Він також використовується модулем :mod:`urllib.request` для " +"обробки URL-адрес, які використовують FTP. Додаткову інформацію про FTP " +"(протокол передачі файлів) див. в Інтернеті :rfc:`959`." + +msgid "The default encoding is UTF-8, following :rfc:`2640`." +msgstr "Стандартне кодування – UTF-8, наступне :rfc:`2640`." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Here's a sample session using the :mod:`ftplib` module::" +msgstr "Ось зразок сеансу з використанням модуля :mod:`ftplib`::" + +msgid "The module defines the following items:" +msgstr "Модуль визначає такі елементи:" + +msgid "" +"Return a new instance of the :class:`FTP` class. When *host* is given, the " +"method call ``connect(host)`` is made. When *user* is given, additionally " +"the method call ``login(user, passwd, acct)`` is made (where *passwd* and " +"*acct* default to the empty string when not given). The optional *timeout* " +"parameter specifies a timeout in seconds for blocking operations like the " +"connection attempt (if is not specified, the global default timeout setting " +"will be used). *source_address* is a 2-tuple ``(host, port)`` for the socket " +"to bind to as its source address before connecting. The *encoding* parameter " +"specifies the encoding for directories and filenames." +msgstr "" +"Повертає новий екземпляр класу :class:`FTP`. Коли вказано *host*, " +"виконується виклик методу ``connect(host)``. Коли вказано *user*, додатково " +"виконується виклик методу ``login(user, passwd, acct)`` (де *passwd* і " +"*acct* за замовчуванням порожній рядок, якщо їх не вказано). Необов’язковий " +"параметр *timeout* визначає час очікування в секундах для блокування таких " +"операцій, як спроба підключення (якщо не вказано, буде використано глобальне " +"налаштування часу очікування за умовчанням). *source_address* — це 2-кортеж " +"``(хост, порт)``, до якого сокет прив’язується як до адреси джерела перед " +"підключенням. Параметр *encoding* визначає кодування для каталогів і імен " +"файлів." + +msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" +msgstr "Клас :class:`FTP` підтримує оператор :keyword:`with`, наприклад:" + +msgid "Support for the :keyword:`with` statement was added." +msgstr "Додано підтримку оператора :keyword:`with`." + +msgid "*source_address* parameter was added." +msgstr "Додано параметр *source_address*." + +msgid "" +"If the *timeout* parameter is set to be zero, it will raise a :class:" +"`ValueError` to prevent the creation of a non-blocking socket. The " +"*encoding* parameter was added, and the default was changed from Latin-1 to " +"UTF-8 to follow :rfc:`2640`." +msgstr "" +"Якщо параметр *timeout* дорівнює нулю, це викличе :class:`ValueError`, щоб " +"запобігти створенню неблокуючого сокета. Параметр *encoding* було додано, а " +"значення за замовчуванням змінено з Latin-1 на UTF-8 на :rfc:`2640`." + +msgid "" +"A :class:`FTP` subclass which adds TLS support to FTP as described in :rfc:" +"`4217`. Connect as usual to port 21 implicitly securing the FTP control " +"connection before authenticating. Securing the data connection requires the " +"user to explicitly ask for it by calling the :meth:`prot_p` method. " +"*context* is a :class:`ssl.SSLContext` object which allows bundling SSL " +"configuration options, certificates and private keys into a single " +"(potentially long-lived) structure. Please read :ref:`ssl-security` for " +"best practices." +msgstr "" +"Підклас :class:`FTP`, який додає підтримку TLS до FTP, як описано в :rfc:" +"`4217`. Підключіться як зазвичай до порту 21, неявно захищаючи контрольне " +"з’єднання FTP перед автентифікацією. Захист з’єднання даних вимагає від " +"користувача явного запиту про це, викликавши метод :meth:`prot_p`. *context* " +"— це об’єкт :class:`ssl.SSLContext`, який дозволяє об’єднувати параметри " +"конфігурації SSL, сертифікати та закриті ключі в єдину (потенційно " +"довговічну) структуру. Будь ласка, прочитайте :ref:`ssl-security`, щоб " +"дізнатися про найкращі практики." + +msgid "" +"*keyfile* and *certfile* are a legacy alternative to *context* -- they can " +"point to PEM-formatted private key and certificate chain files " +"(respectively) for the SSL connection." +msgstr "" +"*keyfile* і *certfile* є застарілою альтернативою *context* — вони можуть " +"вказувати на файли закритого ключа та ланцюжка сертифікатів у форматі PEM " +"(відповідно) для з’єднання SSL." + +msgid "" +"The class now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Клас тепер підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" +"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." +"create_default_context` select the system's trusted CA certificates for you." +msgstr "" +"*keyfile* і *certfile* застаріли на користь *context*. Натомість " +"використовуйте :meth:`ssl.SSLContext.load_cert_chain` або дозвольте :func:" +"`ssl.create_default_context` вибрати для вас надійні сертифікати ЦС системи." + +msgid "Here's a sample session using the :class:`FTP_TLS` class::" +msgstr "Ось зразок сеансу з використанням класу :class:`FTP_TLS`::" + +msgid "Exception raised when an unexpected reply is received from the server." +msgstr "Виняток виникає, коли від сервера надходить неочікувана відповідь." + +msgid "" +"Exception raised when an error code signifying a temporary error (response " +"codes in the range 400--499) is received." +msgstr "" +"Виняток виникає, коли отримано код помилки, що означає тимчасову помилку " +"(коди відповіді в діапазоні 400--499)." + +msgid "" +"Exception raised when an error code signifying a permanent error (response " +"codes in the range 500--599) is received." +msgstr "" +"Виняток виникає, коли отримано код помилки, який означає постійну помилку " +"(коди відповіді в діапазоні 500--599)." + +msgid "" +"Exception raised when a reply is received from the server that does not fit " +"the response specifications of the File Transfer Protocol, i.e. begin with a " +"digit in the range 1--5." +msgstr "" +"Виняток виникає, коли відповідь, отримана від сервера, не відповідає " +"специфікаціям відповіді протоколу передачі файлів, тобто починається з цифри " +"в діапазоні 1--5." + +msgid "" +"The set of all exceptions (as a tuple) that methods of :class:`FTP` " +"instances may raise as a result of problems with the FTP connection (as " +"opposed to programming errors made by the caller). This set includes the " +"four exceptions listed above as well as :exc:`OSError` and :exc:`EOFError`." +msgstr "" +"Набір усіх винятків (у вигляді кортежу), які методи екземплярів :class:`FTP` " +"можуть викликати в результаті проблем із з’єднанням FTP (на відміну від " +"програмних помилок, зроблених абонентом). Цей набір включає чотири винятки, " +"перелічені вище, а також :exc:`OSError` і :exc:`EOFError`." + +msgid "Module :mod:`netrc`" +msgstr "Модуль :mod:`netrc`" + +msgid "" +"Parser for the :file:`.netrc` file format. The file :file:`.netrc` is " +"typically used by FTP clients to load user authentication information before " +"prompting the user." +msgstr "" +"Парсер для формату файлу :file:`.netrc`. Файл :file:`.netrc` зазвичай " +"використовується FTP-клієнтами для завантаження інформації про " +"автентифікацію користувача перед запитом користувача." + +msgid "FTP Objects" +msgstr "Об'єкти FTP" + +msgid "" +"Several methods are available in two flavors: one for handling text files " +"and another for binary files. These are named for the command which is used " +"followed by ``lines`` for the text version or ``binary`` for the binary " +"version." +msgstr "" +"Кілька методів доступні у двох варіантах: один для обробки текстових файлів, " +"інший для бінарних файлів. Вони названі за командою, яка використовується, а " +"потім ``рядки`` для текстової версії або ``бінарний`` для двійкової версії." + +msgid ":class:`FTP` instances have the following methods:" +msgstr "Екземпляри :class:`FTP` мають такі методи:" + +msgid "" +"Set the instance's debugging level. This controls the amount of debugging " +"output printed. The default, ``0``, produces no debugging output. A value " +"of ``1`` produces a moderate amount of debugging output, generally a single " +"line per request. A value of ``2`` or higher produces the maximum amount of " +"debugging output, logging each line sent and received on the control " +"connection." +msgstr "" +"Установіть рівень налагодження примірника. Це контролює кількість " +"надрукованих виводів налагодження. Значення за замовчуванням, ``0``, не " +"створює вихідних даних для налагодження. Значення ``1`` створює помірну " +"кількість налагоджувальних виводів, як правило, один рядок на запит. " +"Значення ``2`` або вище створює максимальну кількість налагоджувальних " +"виводів, реєструючи кожен рядок, надісланий і отриманий через контрольне " +"з’єднання." + +msgid "" +"Connect to the given host and port. The default port number is ``21``, as " +"specified by the FTP protocol specification. It is rarely needed to specify " +"a different port number. This function should be called only once for each " +"instance; it should not be called at all if a host was given when the " +"instance was created. All other methods can only be used after a connection " +"has been made. The optional *timeout* parameter specifies a timeout in " +"seconds for the connection attempt. If no *timeout* is passed, the global " +"default timeout setting will be used. *source_address* is a 2-tuple ``(host, " +"port)`` for the socket to bind to as its source address before connecting." +msgstr "" +"Підключіться до зазначеного хосту та порту. Стандартним номером порту є " +"``21``, як зазначено в специфікації протоколу FTP. Рідко потрібно вказати " +"інший номер порту. Цю функцію слід викликати лише один раз для кожного " +"екземпляра; його взагалі не слід викликати, якщо під час створення " +"екземпляра було задано хост. Усі інші методи можна використовувати лише " +"після встановлення підключення. Додатковий параметр *timeout* визначає час " +"очікування в секундах для спроби підключення. Якщо *тайм-аут* не передано, " +"буде використано глобальне налаштування тайм-ауту за умовчанням. " +"*source_address* — це 2-кортеж ``(хост, порт)``, до якого сокет " +"прив’язується як до адреси джерела перед підключенням." + +msgid "" +"Raises an :ref:`auditing event ` ``ftplib.connect`` with arguments " +"``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ftplib.connect`` з аргументами " +"``self``, ``host``, ``port``." + +msgid "" +"Return the welcome message sent by the server in reply to the initial " +"connection. (This message sometimes contains disclaimers or help " +"information that may be relevant to the user.)" +msgstr "" +"Повернути вітальне повідомлення, надіслане сервером у відповідь на початкове " +"підключення. (Це повідомлення іноді містить застереження або довідкову " +"інформацію, яка може бути актуальною для користувача.)" + +msgid "" +"Log in as the given *user*. The *passwd* and *acct* parameters are optional " +"and default to the empty string. If no *user* is specified, it defaults to " +"``'anonymous'``. If *user* is ``'anonymous'``, the default *passwd* is " +"``'anonymous@'``. This function should be called only once for each " +"instance, after a connection has been established; it should not be called " +"at all if a host and user were given when the instance was created. Most " +"FTP commands are only allowed after the client has logged in. The *acct* " +"parameter supplies \"accounting information\"; few systems implement this." +msgstr "" +"Увійдіть як вказаний *користувач*. Параметри *passwd* і *acct* є " +"необов’язковими та за замовчуванням є порожнім рядком. Якщо *користувача* не " +"вказано, за замовчуванням буде ``'анонімний'``. Якщо *користувач* є " +"``'анонімним''``, *passwd* за замовчуванням є ``'анонімним@''``. Цю функцію " +"слід викликати лише один раз для кожного екземпляра після встановлення " +"з’єднання; його взагалі не слід викликати, якщо хост і користувач були " +"надані під час створення екземпляра. Більшість команд FTP дозволено лише " +"після входу клієнта в систему. Параметр *acct* надає \"облікову інформацію" +"\"; небагато систем реалізують це." + +msgid "" +"Abort a file transfer that is in progress. Using this does not always work, " +"but it's worth a try." +msgstr "" +"Перервати передачу файлу, що триває. Використання цього не завжди працює, " +"але варто спробувати." + +msgid "" +"Send a simple command string to the server and return the response string." +msgstr "Надішліть простий рядок команди на сервер і поверніть рядок відповіді." + +msgid "" +"Raises an :ref:`auditing event ` ``ftplib.sendcmd`` with arguments " +"``self``, ``cmd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``ftplib.sendcmd`` з аргументами " +"``self``, ``cmd``." + +msgid "" +"Send a simple command string to the server and handle the response. Return " +"nothing if a response code corresponding to success (codes in the range " +"200--299) is received. Raise :exc:`error_reply` otherwise." +msgstr "" +"Надішліть простий командний рядок на сервер і обробіть відповідь. Нічого не " +"повертати, якщо отримано код відповіді, що відповідає успіху (коди в " +"діапазоні 200--299). Підніміть :exc:`error_reply` інакше." + +msgid "" +"Retrieve a file in binary transfer mode. *cmd* should be an appropriate " +"``RETR`` command: ``'RETR filename'``. The *callback* function is called for " +"each block of data received, with a single bytes argument giving the data " +"block. The optional *blocksize* argument specifies the maximum chunk size to " +"read on the low-level socket object created to do the actual transfer (which " +"will also be the largest size of the data blocks passed to *callback*). A " +"reasonable default is chosen. *rest* means the same thing as in the :meth:" +"`transfercmd` method." +msgstr "" +"Отримати файл у двійковому режимі передачі. *cmd* має бути відповідною " +"командою ``RETR``: ``'назва файлу RETR``. Функція *callback* викликається " +"для кожного отриманого блоку даних, з однобайтовим аргументом, що передає " +"блок даних. Необов’язковий аргумент *blocksize* визначає максимальний розмір " +"блоку для читання в об’єкті сокета низького рівня, створеному для фактичної " +"передачі (який також буде найбільшим розміром блоків даних, переданих до " +"*callback*). Вибрано розумне значення за замовчуванням. *rest* означає те " +"саме, що й у методі :meth:`transfercmd`." + +msgid "" +"Retrieve a file or directory listing in the encoding specified by the " +"*encoding* parameter at initialization. *cmd* should be an appropriate " +"``RETR`` command (see :meth:`retrbinary`) or a command such as ``LIST`` or " +"``NLST`` (usually just the string ``'LIST'``). ``LIST`` retrieves a list of " +"files and information about those files. ``NLST`` retrieves a list of file " +"names. The *callback* function is called for each line with a string " +"argument containing the line with the trailing CRLF stripped. The default " +"*callback* prints the line to ``sys.stdout``." +msgstr "" +"Отримати список файлів або каталогів у кодуванні, визначеному параметром " +"*encoding* під час ініціалізації. *cmd* має бути відповідною командою " +"``RETR`` (див. :meth:`retrbinary`) або такою командою, як ``LIST`` або " +"``NLST`` (зазвичай просто рядок ``'LIST'`` ). ``СПИСОК`` отримує список " +"файлів та інформацію про ці файли. ``NLST`` отримує список імен файлів. " +"Функція *callback* викликається для кожного рядка з рядковим аргументом, що " +"містить рядок із видаленим CRLF. Типовий *callback* друкує рядок у ``sys." +"stdout``." + +msgid "" +"Enable \"passive\" mode if *val* is true, otherwise disable passive mode. " +"Passive mode is on by default." +msgstr "" +"Увімкніть \"пасивний\" режим, якщо *val* має значення true, інакше вимкніть " +"пасивний режим. Пасивний режим увімкнено за замовчуванням." + +msgid "" +"Store a file in binary transfer mode. *cmd* should be an appropriate " +"``STOR`` command: ``\"STOR filename\"``. *fp* is a :term:`file object` " +"(opened in binary mode) which is read until EOF using its :meth:`~io.IOBase." +"read` method in blocks of size *blocksize* to provide the data to be stored. " +"The *blocksize* argument defaults to 8192. *callback* is an optional single " +"parameter callable that is called on each block of data after it is sent. " +"*rest* means the same thing as in the :meth:`transfercmd` method." +msgstr "" +"Зберігайте файл у двійковому режимі передачі. *cmd* має бути відповідною " +"командою ``STOR``: ``\"STOR filename\"``. *fp* — це :term:`file object` " +"(відкритий у двійковому режимі), який читається до EOF за допомогою методу :" +"meth:`~io.IOBase.read` у блоках розміром *blocksize*, щоб надати дані для " +"зберігається. Аргумент *blocksize* за замовчуванням дорівнює 8192. " +"*callback* — це необов’язковий єдиний параметр, який викликається для " +"кожного блоку даних після його надсилання. *rest* означає те саме, що й у " +"методі :meth:`transfercmd`." + +msgid "*rest* parameter added." +msgstr "Додано параметр *rest*." + +msgid "" +"Store a file in line mode. *cmd* should be an appropriate ``STOR`` command " +"(see :meth:`storbinary`). Lines are read until EOF from the :term:`file " +"object` *fp* (opened in binary mode) using its :meth:`~io.IOBase.readline` " +"method to provide the data to be stored. *callback* is an optional single " +"parameter callable that is called on each line after it is sent." +msgstr "" +"Зберігайте файл у рядковому режимі. *cmd* має бути відповідною командою " +"``STOR`` (див. :meth:`storbinary`). Рядки зчитуються до EOF з :term:`file " +"object` *fp* (відкритого у двійковому режимі) за допомогою його методу :meth:" +"`~io.IOBase.readline` для надання даних для збереження. *callback* — " +"необов’язковий єдиний параметр, який викликається в кожному рядку після " +"надсилання." + +msgid "" +"Initiate a transfer over the data connection. If the transfer is active, " +"send an ``EPRT`` or ``PORT`` command and the transfer command specified by " +"*cmd*, and accept the connection. If the server is passive, send an " +"``EPSV`` or ``PASV`` command, connect to it, and start the transfer " +"command. Either way, return the socket for the connection." +msgstr "" +"Ініціювати передачу через з’єднання даних. Якщо передача активна, надішліть " +"команду ``EPRT`` або ``PORT`` і команду передачі, визначену *cmd*, і " +"прийміть з’єднання. Якщо сервер пасивний, надішліть команду ``EPSV`` або " +"``PASV``, підключіться до нього та запустіть команду передачі. У будь-якому " +"випадку поверніть розетку для підключення." + +msgid "" +"If optional *rest* is given, a ``REST`` command is sent to the server, " +"passing *rest* as an argument. *rest* is usually a byte offset into the " +"requested file, telling the server to restart sending the file's bytes at " +"the requested offset, skipping over the initial bytes. Note however that " +"the :meth:`transfercmd` method converts *rest* to a string with the " +"*encoding* parameter specified at initialization, but no check is performed " +"on the string's contents. If the server does not recognize the ``REST`` " +"command, an :exc:`error_reply` exception will be raised. If this happens, " +"simply call :meth:`transfercmd` without a *rest* argument." +msgstr "" +"Якщо вказано необов’язковий *rest*, команда ``REST`` надсилається на сервер, " +"передаючи *rest* як аргумент. *rest* зазвичай є зміщенням байтів у " +"запитуваному файлі, повідомляючи серверу перезапустити надсилання байтів " +"файлу із запитаним зміщенням, пропускаючи початкові байти. Однак зауважте, " +"що метод :meth:`transfercmd` перетворює *rest* на рядок із параметром " +"*encoding*, указаним під час ініціалізації, але перевірка вмісту рядка не " +"виконується. Якщо сервер не розпізнає команду ``REST``, буде викликано " +"виняток :exc:`error_reply`. Якщо це станеться, просто викличте :meth:" +"`transfercmd` без аргументу *rest*." + +msgid "" +"Like :meth:`transfercmd`, but returns a tuple of the data connection and the " +"expected size of the data. If the expected size could not be computed, " +"``None`` will be returned as the expected size. *cmd* and *rest* means the " +"same thing as in :meth:`transfercmd`." +msgstr "" +"Подібно до :meth:`transfercmd`, але повертає кортеж з’єднання даних і " +"очікуваний розмір даних. Якщо очікуваний розмір не вдалося обчислити, як " +"очікуваний розмір буде повернено \"Немає\". *cmd* і *rest* означають те " +"саме, що й у :meth:`transfercmd`." + +msgid "" +"List a directory in a standardized format by using ``MLSD`` command (:rfc:" +"`3659`). If *path* is omitted the current directory is assumed. *facts* is " +"a list of strings representing the type of information desired (e.g. " +"``[\"type\", \"size\", \"perm\"]``). Return a generator object yielding a " +"tuple of two elements for every file found in path. First element is the " +"file name, the second one is a dictionary containing facts about the file " +"name. Content of this dictionary might be limited by the *facts* argument " +"but server is not guaranteed to return all requested facts." +msgstr "" +"Перерахуйте каталог у стандартизованому форматі за допомогою команди " +"``MLSD`` (:rfc:`3659`). Якщо *шлях* опущено, передбачається поточний " +"каталог. *факти* — це список рядків, що представляють тип бажаної інформації " +"(наприклад, ``[\"тип\", \"розмір\", \"перм\"]``). Повертає об’єкт-генератор, " +"утворюючи кортеж із двох елементів для кожного файлу, знайденого на шляху. " +"Перший елемент – ім’я файлу, другий – словник, що містить інформацію про " +"ім’я файлу. Вміст цього словника може бути обмежений аргументом *факти*, але " +"сервер не гарантує повернення всіх запитуваних фактів." + +msgid "" +"Return a list of file names as returned by the ``NLST`` command. The " +"optional *argument* is a directory to list (default is the current server " +"directory). Multiple arguments can be used to pass non-standard options to " +"the ``NLST`` command." +msgstr "" +"Повертає список імен файлів, які повертає команда ``NLST``. Необов’язковий " +"*аргумент* — це каталог для переліку (за замовчуванням — це поточний каталог " +"сервера). Для передачі нестандартних параметрів команді ``NLST`` можна " +"використовувати кілька аргументів." + +msgid "If your server supports the command, :meth:`mlsd` offers a better API." +msgstr "Якщо ваш сервер підтримує команду, :meth:`mlsd` пропонує кращий API." + +msgid "" +"Produce a directory listing as returned by the ``LIST`` command, printing it " +"to standard output. The optional *argument* is a directory to list (default " +"is the current server directory). Multiple arguments can be used to pass " +"non-standard options to the ``LIST`` command. If the last argument is a " +"function, it is used as a *callback* function as for :meth:`retrlines`; the " +"default prints to ``sys.stdout``. This method returns ``None``." +msgstr "" +"Створіть список каталогу, який повертає команда ``LIST``, виводячи його на " +"стандартний вивід. Необов’язковий *аргумент* — це каталог для переліку (за " +"замовчуванням — це поточний каталог сервера). Для передачі нестандартних " +"параметрів команді ``СПИСОК`` можна використовувати кілька аргументів. Якщо " +"останній аргумент є функцією, він використовується як функція *зворотного " +"виклику*, як для :meth:`retrlines`; за замовчуванням друкує ``sys.stdout``. " +"Цей метод повертає ``None``." + +msgid "Rename file *fromname* on the server to *toname*." +msgstr "Перейменуйте файл *fromname* на сервері на *toname*." + +msgid "" +"Remove the file named *filename* from the server. If successful, returns " +"the text of the response, otherwise raises :exc:`error_perm` on permission " +"errors or :exc:`error_reply` on other errors." +msgstr "" +"Видаліть файл із назвою *filename* із сервера. У разі успіху повертає текст " +"відповіді, інакше викликає :exc:`error_perm` у разі помилки дозволу або :exc:" +"`error_reply` у випадку інших помилок." + +msgid "Set the current directory on the server." +msgstr "Встановити поточний каталог на сервері." + +msgid "Create a new directory on the server." +msgstr "Створіть новий каталог на сервері." + +msgid "Return the pathname of the current directory on the server." +msgstr "Повертає шлях до поточного каталогу на сервері." + +msgid "Remove the directory named *dirname* on the server." +msgstr "Видаліть каталог із назвою *dirname* на сервері." + +msgid "" +"Request the size of the file named *filename* on the server. On success, " +"the size of the file is returned as an integer, otherwise ``None`` is " +"returned. Note that the ``SIZE`` command is not standardized, but is " +"supported by many common server implementations." +msgstr "" +"Запитати розмір файлу з назвою *filename* на сервері. У разі успіху розмір " +"файлу повертається як ціле число, інакше повертається ``None``. Зауважте, що " +"команда ``SIZE`` не стандартизована, але підтримується багатьма поширеними " +"серверними реалізаціями." + +msgid "" +"Send a ``QUIT`` command to the server and close the connection. This is the " +"\"polite\" way to close a connection, but it may raise an exception if the " +"server responds with an error to the ``QUIT`` command. This implies a call " +"to the :meth:`close` method which renders the :class:`FTP` instance useless " +"for subsequent calls (see below)." +msgstr "" +"Надішліть команду ``QUIT`` на сервер і закрийте з'єднання. Це \"ввічливий\" " +"спосіб закрити з’єднання, але він може спричинити виключення, якщо сервер " +"відповість помилкою на команду ``QUIT``. Це передбачає виклик методу :meth:" +"`close`, який робить екземпляр :class:`FTP` марним для наступних викликів " +"(див. нижче)." + +msgid "" +"Close the connection unilaterally. This should not be applied to an already " +"closed connection such as after a successful call to :meth:`~FTP.quit`. " +"After this call the :class:`FTP` instance should not be used any more (after " +"a call to :meth:`close` or :meth:`~FTP.quit` you cannot reopen the " +"connection by issuing another :meth:`login` method)." +msgstr "" +"Закрийте з'єднання в односторонньому порядку. Це не слід застосовувати до " +"вже закритого з’єднання, наприклад після успішного виклику :meth:`~FTP." +"quit`. Після цього виклику екземпляр :class:`FTP` більше не слід " +"використовувати (після виклику :meth:`close` або :meth:`~FTP.quit` ви не " +"можете повторно відкрити з’єднання, виконавши інший спосіб :meth:`login`)." + +msgid "FTP_TLS Objects" +msgstr "Об'єкти FTP_TLS" + +msgid "" +":class:`FTP_TLS` class inherits from :class:`FTP`, defining these additional " +"objects:" +msgstr "" +"Клас :class:`FTP_TLS` успадковує :class:`FTP`, визначаючи ці додаткові " +"об’єкти:" + +msgid "The SSL version to use (defaults to :attr:`ssl.PROTOCOL_SSLv23`)." +msgstr "" +"Версія SSL для використання (за замовчуванням :attr:`ssl.PROTOCOL_SSLv23`)." + +msgid "" +"Set up a secure control connection by using TLS or SSL, depending on what is " +"specified in the :attr:`ssl_version` attribute." +msgstr "" +"Налаштуйте безпечне контрольне з’єднання за допомогою TLS або SSL, залежно " +"від того, що вказано в атрибуті :attr:`ssl_version`." + +msgid "" +"The method now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Тепер цей метод підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"Revert control channel back to plaintext. This can be useful to take " +"advantage of firewalls that know how to handle NAT with non-secure FTP " +"without opening fixed ports." +msgstr "" +"Повернути канал керування назад до відкритого тексту. Це може бути корисним, " +"щоб скористатися перевагами брандмауерів, які знають, як обробляти NAT із " +"незахищеним FTP без відкриття фіксованих портів." + +msgid "Set up secure data connection." +msgstr "Налаштуйте безпечне з’єднання даних." + +msgid "Set up clear text data connection." +msgstr "Налаштуйте підключення для передачі даних у відкритому тексті." diff --git a/library/functional.po b/library/functional.po new file mode 100644 index 000000000..9cb1336dc --- /dev/null +++ b/library/functional.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Functional Programming Modules" +msgstr "Модулі функціонального програмування" + +msgid "" +"The modules described in this chapter provide functions and classes that " +"support a functional programming style, and general operations on callables." +msgstr "" +"Модулі, описані в цій главі, надають функції та класи, які підтримують " +"функціональний стиль програмування, і загальні операції над викликами." + +msgid "The following modules are documented in this chapter:" +msgstr "У цьому розділі описано наступні модулі:" diff --git a/library/functions.po b/library/functions.po new file mode 100644 index 000000000..f376e4623 --- /dev/null +++ b/library/functions.po @@ -0,0 +1,3175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Built-in Functions" +msgstr "Вбудовані функції" + +msgid "" +"The Python interpreter has a number of functions and types built into it " +"that are always available. They are listed here in alphabetical order." +msgstr "" +"Інтерпретатор Python має ряд вбудованих функцій і типів, які завжди " +"доступні. Вони перераховані тут в алфавітному порядку." + +msgid "**A**" +msgstr "**A**" + +msgid ":func:`abs`" +msgstr ":func:`abs`" + +msgid ":func:`aiter`" +msgstr ":func:`aiter`" + +msgid ":func:`all`" +msgstr ":func:`all`" + +msgid ":func:`any`" +msgstr ":func:`any`" + +msgid ":func:`anext`" +msgstr ":func:`anext`" + +msgid ":func:`ascii`" +msgstr ":func:`ascii`" + +msgid "**B**" +msgstr "**B**" + +msgid ":func:`bin`" +msgstr ":func:`bin`" + +msgid ":func:`bool`" +msgstr ":func:`bool`" + +msgid ":func:`breakpoint`" +msgstr ":func:`breakpoint`" + +msgid "|func-bytearray|_" +msgstr "|func-bytearray|_" + +msgid "|func-bytes|_" +msgstr "|func-bytes|_" + +msgid "**C**" +msgstr "**C**" + +msgid ":func:`callable`" +msgstr ":func:`callable`" + +msgid ":func:`chr`" +msgstr ":func:`chr`" + +msgid ":func:`classmethod`" +msgstr ":func:`classmethod`" + +msgid ":func:`compile`" +msgstr ":func:`compile`" + +msgid ":func:`complex`" +msgstr ":func:`complex`" + +msgid "**D**" +msgstr "**D**" + +msgid ":func:`delattr`" +msgstr ":func:`delattr`" + +msgid "|func-dict|_" +msgstr "|func-dict|_" + +msgid ":func:`dir`" +msgstr ":func:`dir`" + +msgid ":func:`divmod`" +msgstr ":func:`divmod`" + +msgid "**E**" +msgstr "**E**" + +msgid ":func:`enumerate`" +msgstr ":func:`enumerate`" + +msgid ":func:`eval`" +msgstr ":func:`eval`" + +msgid ":func:`exec`" +msgstr ":func:`exec`" + +msgid "**F**" +msgstr "**F**" + +msgid ":func:`filter`" +msgstr ":func:`filter`" + +msgid ":func:`float`" +msgstr ":func:`float`" + +msgid ":func:`format`" +msgstr ":func:`format`" + +msgid "|func-frozenset|_" +msgstr "|func-frozenset|_" + +msgid "**G**" +msgstr "**G**" + +msgid ":func:`getattr`" +msgstr ":func:`getattr`" + +msgid ":func:`globals`" +msgstr ":func:`globals`" + +msgid "**H**" +msgstr "**H**" + +msgid ":func:`hasattr`" +msgstr ":func:`hasattr`" + +msgid ":func:`hash`" +msgstr ":func:`hash`" + +msgid ":func:`help`" +msgstr ":func:`help`" + +msgid ":func:`hex`" +msgstr ":func:`hex`" + +msgid "**I**" +msgstr "**I**" + +msgid ":func:`id`" +msgstr ":func:`id`" + +msgid ":func:`input`" +msgstr ":func:`input`" + +msgid ":func:`int`" +msgstr ":func:`int`" + +msgid ":func:`isinstance`" +msgstr ":func:`isinstance`" + +msgid ":func:`issubclass`" +msgstr ":func:`issubclass`" + +msgid ":func:`iter`" +msgstr ":func:`iter`" + +msgid "**L**" +msgstr "**L**" + +msgid ":func:`len`" +msgstr ":func:`len`" + +msgid "|func-list|_" +msgstr "|func-list|_" + +msgid ":func:`locals`" +msgstr ":func:`locals`" + +msgid "**M**" +msgstr "**М**" + +msgid ":func:`map`" +msgstr ":func:`map`" + +msgid ":func:`max`" +msgstr ":func:`max`" + +msgid "|func-memoryview|_" +msgstr "|func-memoryview|_" + +msgid ":func:`min`" +msgstr ":func:`min`" + +msgid "**N**" +msgstr "**Н**" + +msgid ":func:`next`" +msgstr ":func:`anext`" + +msgid "**O**" +msgstr "**O**" + +msgid ":func:`object`" +msgstr ":func:`object`" + +msgid ":func:`oct`" +msgstr ":func:`oct`" + +msgid ":func:`open`" +msgstr ":func:`open`" + +msgid ":func:`ord`" +msgstr ":func:`ord`" + +msgid "**P**" +msgstr "**P**" + +msgid ":func:`pow`" +msgstr ":func:`pow`" + +msgid ":func:`print`" +msgstr ":func:`print`" + +msgid ":func:`property`" +msgstr ":func:`property`" + +msgid "**R**" +msgstr "**R**" + +msgid "|func-range|_" +msgstr "|func-range|_" + +msgid ":func:`repr`" +msgstr ":func:`repr`" + +msgid ":func:`reversed`" +msgstr ":func:`reversed`" + +msgid ":func:`round`" +msgstr ":func:`round`" + +msgid "**S**" +msgstr "**S**" + +msgid "|func-set|_" +msgstr "|func-set|_" + +msgid ":func:`setattr`" +msgstr ":func:`setattr`" + +msgid ":func:`slice`" +msgstr ":func:`slice`" + +msgid ":func:`sorted`" +msgstr ":func:`sorted`" + +msgid ":func:`staticmethod`" +msgstr ":func:`staticmethod`" + +msgid "|func-str|_" +msgstr "|func-str|_" + +msgid ":func:`sum`" +msgstr ":func:`sum`" + +msgid ":func:`super`" +msgstr ":func:`super`" + +msgid "**T**" +msgstr "**T**" + +msgid "|func-tuple|_" +msgstr "|func-tuple|_" + +msgid ":func:`type`" +msgstr ":func:`type`" + +msgid "**V**" +msgstr "**V**" + +msgid ":func:`vars`" +msgstr ":func:`vars`" + +msgid "**Z**" +msgstr "**Z**" + +msgid ":func:`zip`" +msgstr ":func:`zip`" + +msgid "**_**" +msgstr "**_**" + +msgid ":func:`__import__`" +msgstr ":func:`__import__`" + +msgid "" +"Return the absolute value of a number. The argument may be an integer, a " +"floating point number, or an object implementing :meth:`__abs__`. If the " +"argument is a complex number, its magnitude is returned." +msgstr "" +"Повертає абсолютне значення числа. Аргументом може бути ціле число, число з " +"плаваючою комою або об’єкт, що реалізує метод :meth:`__abs__`. Якщо аргумент " +"є комплексним числом, повертається його абсолютна величина." + +msgid "" +"Return an :term:`asynchronous iterator` for an :term:`asynchronous " +"iterable`. Equivalent to calling ``x.__aiter__()``." +msgstr "" +"Повертає :term:`асинхронний ітератор ` для :term:" +"`asynchronous iterable`. Еквівалент виклику ``x.__aiter__()``." + +msgid "Note: Unlike :func:`iter`, :func:`aiter` has no 2-argument variant." +msgstr "" +"Примітка. На відміну від :func:`iter`, :func:`aiter` не має 2х-аргументного " +"варіанту." + +msgid "" +"Return ``True`` if all elements of the *iterable* are true (or if the " +"iterable is empty). Equivalent to::" +msgstr "" +"Повертає ``True``, якщо всі елементи *iterable* є істинними (або якщо " +"iterable порожній). Дорівнює::" + +msgid "" +"When awaited, return the next item from the given :term:`asynchronous " +"iterator`, or *default* if given and the iterator is exhausted." +msgstr "" +"Коли очікується, повертає наступний елемент із заданого :term:`asynchronous " +"iterator` або *default*, якщо задано, а ітератор вичерпано." + +msgid "" +"This is the async variant of the :func:`next` builtin, and behaves similarly." +msgstr "" +"Це асинхронний варіант вбудованої функції :func:`next`, і він поводиться " +"аналогічно." + +msgid "" +"This calls the :meth:`~object.__anext__` method of *async_iterator*, " +"returning an :term:`awaitable`. Awaiting this returns the next value of the " +"iterator. If *default* is given, it is returned if the iterator is " +"exhausted, otherwise :exc:`StopAsyncIteration` is raised." +msgstr "" +"Це викликає метод :meth:`~object.__anext__` *async_iterator*, повертаючи :" +"term:`awaitable`. Очікування цього повертає наступне значення ітератора. " +"Якщо вказано *default*, воно повертається, якщо ітератор вичерпано, інакше :" +"exc:`StopAsyncIteration` викликається." + +msgid "" +"Return ``True`` if any element of the *iterable* is true. If the iterable " +"is empty, return ``False``. Equivalent to::" +msgstr "" +"Повертає ``True``, якщо будь-який елемент *iterable* є істинним. Якщо " +"iterable порожній, поверніть ``False``. Дорівнює::" + +msgid "" +"As :func:`repr`, return a string containing a printable representation of an " +"object, but escape the non-ASCII characters in the string returned by :func:" +"`repr` using ``\\x``, ``\\u``, or ``\\U`` escapes. This generates a string " +"similar to that returned by :func:`repr` in Python 2." +msgstr "" +"Як :func:`repr` повертає рядок, що містить представлення об’єкта для друку, " +"але екранує символи, відмінні від ASCII, у рядку, який повертає :func:" +"`repr`, використовуючи ``\\x``, ``\\u`` або ``\\U`` екранує. Це генерує " +"рядок, подібний до того, який повертає :func:`repr` у Python 2." + +msgid "" +"Convert an integer number to a binary string prefixed with \"0b\". The " +"result is a valid Python expression. If *x* is not a Python :class:`int` " +"object, it has to define an :meth:`__index__` method that returns an " +"integer. Some examples:" +msgstr "" +"Перетворення цілого числа на двійковий рядок із префіксом \"0b\". " +"Результатом є дійсний вираз Python. Якщо *x* не є об’єктом Python :class:" +"`int`, він має визначити метод :meth:`__index__`, який повертає ціле число. " +"Деякі приклади:" + +msgid "" +"If the prefix \"0b\" is desired or not, you can use either of the following " +"ways." +msgstr "" +"Якщо префікс \"0b\" потрібний чи ні, ви можете скористатися одним із " +"наведених нижче способів." + +msgid "See also :func:`format` for more information." +msgstr "Дивіться також :func:`format` для отримання додаткової інформації." + +msgid "" +"Return a Boolean value, i.e. one of ``True`` or ``False``. *x* is converted " +"using the standard :ref:`truth testing procedure `. If *x* is false " +"or omitted, this returns ``False``; otherwise, it returns ``True``. The :" +"class:`bool` class is a subclass of :class:`int` (see :ref:`typesnumeric`). " +"It cannot be subclassed further. Its only instances are ``False`` and " +"``True`` (see :ref:`bltin-boolean-values`)." +msgstr "" +"Повертає логічне значення, тобто одне з ``True`` або ``False``. *x* " +"перетворюється за допомогою стандартної :ref:`процедури перевірки істинності " +"`. Якщо *x* є false або пропущено, це повертає ``False``; інакше він " +"повертає ``True``. Клас :class:`bool` є підкласом :class:`int` (див. :ref:" +"`typesnumeric`). Його не можна далі класифікувати. Єдиними його екземплярами " +"є ``False`` і ``True`` (див. :ref:`bltin-boolean-values`)." + +msgid "*x* is now a positional-only parameter." +msgstr "*x* тепер є лише позиційним параметром." + +msgid "" +"This function drops you into the debugger at the call site. Specifically, " +"it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " +"through. By default, ``sys.breakpointhook()`` calls :func:`pdb.set_trace()` " +"expecting no arguments. In this case, it is purely a convenience function " +"so you don't have to explicitly import :mod:`pdb` or type as much code to " +"enter the debugger. However, :func:`sys.breakpointhook` can be set to some " +"other function and :func:`breakpoint` will automatically call that, allowing " +"you to drop into the debugger of choice. If :func:`sys.breakpointhook` is " +"not accessible, this function will raise :exc:`RuntimeError`." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``builtins.breakpoint`` with " +"argument ``breakpointhook``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``builtins.breakpoint`` з аргументом " +"``breakpointhook``." + +msgid "" +"Return a new array of bytes. The :class:`bytearray` class is a mutable " +"sequence of integers in the range 0 <= x < 256. It has most of the usual " +"methods of mutable sequences, described in :ref:`typesseq-mutable`, as well " +"as most methods that the :class:`bytes` type has, see :ref:`bytes-methods`." +msgstr "" +"Повертає новий масив байтів. Клас :class:`bytearray` — це змінна " +"послідовність цілих чисел у діапазоні 0 <= x < 256. Він містить більшість " +"звичайних методів змінних послідовностей, описаних у :ref:`typesseq-" +"mutable`, а також більшість методи, які має тип :class:`bytes`, див. :ref:" +"`bytes-methods`." + +msgid "" +"The optional *source* parameter can be used to initialize the array in a few " +"different ways:" +msgstr "" +"Додатковий параметр *source* можна використовувати для ініціалізації масиву " +"кількома різними способами:" + +msgid "" +"If it is a *string*, you must also give the *encoding* (and optionally, " +"*errors*) parameters; :func:`bytearray` then converts the string to bytes " +"using :meth:`str.encode`." +msgstr "" +"Якщо це *рядок*, ви також повинні надати параметри *encoding* (і, " +"необов’язково, *errors*); Потім :func:`bytearray` перетворює рядок на байти " +"за допомогою :meth:`str.encode`." + +msgid "" +"If it is an *integer*, the array will have that size and will be initialized " +"with null bytes." +msgstr "" +"Якщо це *ціле число*, масив матиме такий розмір і буде ініціалізовано " +"нульовими байтами." + +msgid "" +"If it is an object conforming to the :ref:`buffer interface " +"`, a read-only buffer of the object will be used to " +"initialize the bytes array." +msgstr "" +"Якщо це об’єкт, що відповідає :ref:`інтерфейсу буфера `, для " +"ініціалізації масиву байтів буде використано буфер лише для читання об’єкта." + +msgid "" +"If it is an *iterable*, it must be an iterable of integers in the range ``0 " +"<= x < 256``, which are used as the initial contents of the array." +msgstr "" +"Якщо це *iterable*, це має бути iterable цілих чисел у діапазоні ``0 <= x < " +"256``, які використовуються як початковий вміст масиву." + +msgid "Without an argument, an array of size 0 is created." +msgstr "Без аргументу створюється масив розміром 0." + +msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." +msgstr "Дивіться також :ref:`binaryseq` і :ref:`typebytearray`." + +msgid "" +"Return a new \"bytes\" object which is an immutable sequence of integers in " +"the range ``0 <= x < 256``. :class:`bytes` is an immutable version of :" +"class:`bytearray` -- it has the same non-mutating methods and the same " +"indexing and slicing behavior." +msgstr "" +"Повертає новий об’єкт \"bytes\", який є незмінною послідовністю цілих чисел " +"у діапазоні \"0 <= x < 256\". :class:`bytes` є незмінною версією :class:" +"`bytearray` -- вона має ті самі методи без мутації та таку саму поведінку " +"індексування та зрізання." + +msgid "" +"Accordingly, constructor arguments are interpreted as for :func:`bytearray`." +msgstr "" +"Відповідно, аргументи конструктора інтерпретуються як для :func:`bytearray`." + +msgid "Bytes objects can also be created with literals, see :ref:`strings`." +msgstr "" +"Об’єкти Bytes також можна створювати за допомогою літералів, див. :ref:" +"`strings`." + +msgid "See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`." +msgstr "" +"Дивіться також :ref:`binaryseq`, :ref:`typebytes` і :ref:`bytes-methods`." + +msgid "" +"Return :const:`True` if the *object* argument appears callable, :const:" +"`False` if not. If this returns ``True``, it is still possible that a call " +"fails, but if it is ``False``, calling *object* will never succeed. Note " +"that classes are callable (calling a class returns a new instance); " +"instances are callable if their class has a :meth:`__call__` method." +msgstr "" +"Повертає :const:`True`, якщо аргумент *object* здається викликаним, :const:" +"`False`, якщо ні. Якщо це повертає ``True``, все ще можливо, що виклик не " +"вдасться, але якщо це ``False``, виклик *object* ніколи не вдасться. " +"Зауважте, що класи можна викликати (виклик класу повертає новий екземпляр); " +"екземпляри можна викликати, якщо їхній клас має метод :meth:`__call__`." + +msgid "" +"This function was first removed in Python 3.0 and then brought back in " +"Python 3.2." +msgstr "" +"Цю функцію спочатку було видалено в Python 3.0, а потім повернуто в Python " +"3.2." + +msgid "" +"Return the string representing a character whose Unicode code point is the " +"integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " +"``chr(8364)`` returns the string ``'€'``. This is the inverse of :func:`ord`." +msgstr "" +"Повертає рядок, що представляє символ, кодовою точкою Unicode якого є ціле " +"число *i*. Наприклад, ``chr(97)`` повертає рядок ``'a''``, а ``chr(8364)`` " +"повертає рядок ``'€'``. Це зворотне до :func:`ord`." + +msgid "" +"The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " +"base 16). :exc:`ValueError` will be raised if *i* is outside that range." +msgstr "" +"Допустимий діапазон для аргументу – від 0 до 1 114 111 (0x10FFFF за основою " +"16). :exc:`ValueError` буде викликано, якщо *i* знаходиться за межами цього " +"діапазону." + +msgid "Transform a method into a class method." +msgstr "Перетворення методу в метод класу." + +msgid "" +"A class method receives the class as an implicit first argument, just like " +"an instance method receives the instance. To declare a class method, use " +"this idiom::" +msgstr "" +"Метод класу отримує клас як неявний перший аргумент, так само як метод " +"екземпляра отримує екземпляр. Щоб оголосити метод класу, використовуйте цю " +"ідіому::" + +msgid "" +"The ``@classmethod`` form is a function :term:`decorator` -- see :ref:" +"`function` for details." +msgstr "" +"Форма ``@classmethod`` є функцією :term:`decorator` -- подробиці див. :ref:" +"`function`." + +msgid "" +"A class method can be called either on the class (such as ``C.f()``) or on " +"an instance (such as ``C().f()``). The instance is ignored except for its " +"class. If a class method is called for a derived class, the derived class " +"object is passed as the implied first argument." +msgstr "" +"Метод класу можна викликати або в класі (наприклад, ``C.f()``), або в " +"екземплярі (такому як ``C().f()``). Примірник ігнорується, за винятком його " +"класу. Якщо метод класу викликається для похідного класу, об’єкт похідного " +"класу передається як неявний перший аргумент." + +msgid "" +"Class methods are different than C++ or Java static methods. If you want " +"those, see :func:`staticmethod` in this section. For more information on " +"class methods, see :ref:`types`." +msgstr "" +"Методи класу відрізняються від статичних методів C++ або Java. Якщо ви " +"хочете їх, перегляньте :func:`staticmethod` у цьому розділі. Для отримання " +"додаткової інформації про методи класу див. :ref:`types`." + +msgid "" +"Class methods can now wrap other :term:`descriptors ` such as :" +"func:`property`." +msgstr "" +"Методи класу тепер можуть обгортати інші :term:`дескриптори `, " +"такі як :func:`property`." + +msgid "" +"Class methods now inherit the method attributes (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``) and " +"have a new ``__wrapped__`` attribute." +msgstr "" +"Методи класу тепер успадковують атрибути методу (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__`` і ``__annotations__``) і мають " +"новий атрибут ``__wrapped__``." + +msgid "" +"Class methods can no longer wrap other :term:`descriptors ` such " +"as :func:`property`." +msgstr "" + +msgid "" +"Compile the *source* into a code or AST object. Code objects can be " +"executed by :func:`exec` or :func:`eval`. *source* can either be a normal " +"string, a byte string, or an AST object. Refer to the :mod:`ast` module " +"documentation for information on how to work with AST objects." +msgstr "" +"Скомпілюйте *джерело* в код або об’єкт AST. Об’єкти коду можуть бути " +"виконані за допомогою :func:`exec` або :func:`eval`. *джерело* може бути " +"звичайним рядком, рядком байтів або об’єктом AST. Зверніться до документації " +"модуля :mod:`ast`, щоб дізнатися, як працювати з об’єктами AST." + +msgid "" +"The *filename* argument should give the file from which the code was read; " +"pass some recognizable value if it wasn't read from a file (``''`` " +"is commonly used)." +msgstr "" +"Аргумент *ім'я_файлу* повинен давати файл, з якого було прочитано код; " +"передати певне розпізнаване значення, якщо воно не було прочитано з файлу " +"(зазвичай використовується ``' '``)." + +msgid "" +"The *mode* argument specifies what kind of code must be compiled; it can be " +"``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if " +"it consists of a single expression, or ``'single'`` if it consists of a " +"single interactive statement (in the latter case, expression statements that " +"evaluate to something other than ``None`` will be printed)." +msgstr "" +"Аргумент *mode* визначає тип коду, який потрібно скомпілювати; це може бути " +"``'exec'``, якщо *source* складається з послідовності операторів, " +"``'eval'``, якщо воно складається з одного виразу, або ``'single'``, якщо " +"воно складається з одного інтерактивний оператор (в останньому випадку " +"оператори-вирази, які мають значення, відмінне від ``None``, будуть " +"надруковані)." + +msgid "" +"The optional arguments *flags* and *dont_inherit* control which :ref:" +"`compiler options ` should be activated and which :ref:" +"`future features ` should be allowed. If neither is present (or both " +"are zero) the code is compiled with the same flags that affect the code that " +"is calling :func:`compile`. If the *flags* argument is given and " +"*dont_inherit* is not (or is zero) then the compiler options and the future " +"statements specified by the *flags* argument are used in addition to those " +"that would be used anyway. If *dont_inherit* is a non-zero integer then the " +"*flags* argument is it -- the flags (future features and compiler options) " +"in the surrounding code are ignored." +msgstr "" +"Необов’язкові аргументи *flags* і *dont_inherit* визначають, які :ref:" +"`параметри компілятора ` мають бути активовані та які :" +"ref:`майбутні функції ` мають бути дозволені. Якщо жоден не " +"присутній (або обидва дорівнюють нулю), код компілюється з тими самими " +"прапорцями, які впливають на код, який викликає :func:`compile`. Якщо надано " +"аргумент *flags*, а *dont_inherit* — ні (або дорівнює нулю), то параметри " +"компілятора та майбутні оператори, визначені аргументом *flags*, " +"використовуються на додаток до тих, які були б використані в будь-якому " +"випадку. Якщо *dont_inherit* є ненульовим цілим числом, то це аргумент " +"*flags* — прапори (майбутні функції та параметри компілятора) у " +"навколишньому коді ігноруються." + +msgid "" +"Compiler options and future statements are specified by bits which can be " +"bitwise ORed together to specify multiple options. The bitfield required to " +"specify a given future feature can be found as the :attr:`~__future__." +"_Feature.compiler_flag` attribute on the :class:`~__future__._Feature` " +"instance in the :mod:`__future__` module. :ref:`Compiler flags ` can be found in :mod:`ast` module, with ``PyCF_`` prefix." +msgstr "" +"Параметри компілятора та майбутні оператори визначаються бітами, які можна " +"об’єднати порозрядним АБО, щоб визначити кілька параметрів. Бітове поле, " +"необхідне для вказівки певної майбутньої функції, можна знайти як атрибут :" +"attr:`~__future__._Feature.compiler_flag` екземпляра :class:`~__future__." +"_Feature` у модулі :mod:`__future__`. :ref:`Прапори компілятора ` можна знайти в :mod:`ast` модулі з префіксом ``PyCF_``." + +msgid "" +"The argument *optimize* specifies the optimization level of the compiler; " +"the default value of ``-1`` selects the optimization level of the " +"interpreter as given by :option:`-O` options. Explicit levels are ``0`` (no " +"optimization; ``__debug__`` is true), ``1`` (asserts are removed, " +"``__debug__`` is false) or ``2`` (docstrings are removed too)." +msgstr "" +"Аргумент *optimize* визначає рівень оптимізації компілятора; значення за " +"замовчуванням ``-1`` вибирає рівень оптимізації інтерпретатора, як задано " +"параметрами :option:`-O`. Явні рівні: ``0`` (немає оптимізації; " +"``__debug__`` є істинним), ``1`` (затвердження видалено, ``__debug__`` є " +"хибним) або ``2`` (рядки документа також видалено )." + +msgid "" +"This function raises :exc:`SyntaxError` if the compiled source is invalid, " +"and :exc:`ValueError` if the source contains null bytes." +msgstr "" +"Ця функція викликає :exc:`SyntaxError`, якщо скомпільоване джерело недійсне, " +"і :exc:`ValueError`, якщо джерело містить нульові байти." + +msgid "" +"If you want to parse Python code into its AST representation, see :func:`ast." +"parse`." +msgstr "" +"Якщо ви хочете розібрати код Python у його представлення AST, перегляньте :" +"func:`ast.parse`." + +msgid "" +"Raises an :ref:`auditing event ` ``compile`` with arguments " +"``source``, ``filename``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``компіляція`` з аргументами " +"``джерело``, ``назва файлу``." + +msgid "" +"Raises an :ref:`auditing event ` ``compile`` with arguments " +"``source`` and ``filename``. This event may also be raised by implicit " +"compilation." +msgstr "" +"Викликає :ref:`подію аудиту ` ``компіляція`` з аргументами " +"``джерело`` та ``назва файлу``. Ця подія також може бути викликана неявною " +"компіляцією." + +msgid "" +"When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " +"mode, input must be terminated by at least one newline character. This is " +"to facilitate detection of incomplete and complete statements in the :mod:" +"`code` module." +msgstr "" +"Під час компіляції рядка з багаторядковим кодом у режимі ``'single'`` або " +"``'eval'`` вхідні дані мають завершуватися принаймні одним символом нового " +"рядка. Це робиться для полегшення виявлення неповних і повних операторів у " +"модулі :mod:`code`." + +msgid "" +"It is possible to crash the Python interpreter with a sufficiently large/" +"complex string when compiling to an AST object due to stack depth " +"limitations in Python's AST compiler." +msgstr "" +"Можливий збій інтерпретатора Python із досить великим/складним рядком під " +"час компіляції в об’єкт AST через обмеження глибини стеку в компіляторі AST " +"Python." + +msgid "" +"Allowed use of Windows and Mac newlines. Also, input in ``'exec'`` mode " +"does not have to end in a newline anymore. Added the *optimize* parameter." +msgstr "" +"Дозволено використання нових рядків у Windows і Mac. Крім того, введення в " +"режимі ``'exec''`` більше не повинно закінчуватися символом нового рядка. " +"Додано параметр *optimize*." + +msgid "" +"Previously, :exc:`TypeError` was raised when null bytes were encountered in " +"*source*." +msgstr "" +"Раніше :exc:`TypeError` виникало, коли в *source* зустрічалися нульові байти." + +msgid "" +"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " +"support for top-level ``await``, ``async for``, and ``async with``." +msgstr "" +"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` тепер можна передавати у прапорах, щоб " +"увімкнути підтримку верхнього рівня ``await``, ``async for`` і ``async " +"with``." + +msgid "" +"Return a complex number with the value *real* + *imag*\\*1j or convert a " +"string or number to a complex number. If the first parameter is a string, " +"it will be interpreted as a complex number and the function must be called " +"without a second parameter. The second parameter can never be a string. " +"Each argument may be any numeric type (including complex). If *imag* is " +"omitted, it defaults to zero and the constructor serves as a numeric " +"conversion like :class:`int` and :class:`float`. If both arguments are " +"omitted, returns ``0j``." +msgstr "" +"Повертає комплексне число зі значенням *real* + *imag*\\*1j або перетворює " +"рядок або число на комплексне число. Якщо перший параметр є рядком, він буде " +"інтерпретуватися як комплексне число, і функція має бути викликана без " +"другого параметра. Другий параметр ніколи не може бути рядком. Кожен " +"аргумент може бути будь-якого числового типу (включаючи комплексний). Якщо " +"*imag* опущено, за замовчуванням він дорівнює нулю, а конструктор служить " +"для числового перетворення, наприклад :class:`int` і :class:`float`. Якщо " +"обидва аргументи опущено, повертає ``0j``." + +msgid "" +"For a general Python object ``x``, ``complex(x)`` delegates to ``x." +"__complex__()``. If ``__complex__()`` is not defined then it falls back to :" +"meth:`__float__`. If ``__float__()`` is not defined then it falls back to :" +"meth:`__index__`." +msgstr "" +"Для загального об’єкта Python ``x`` ``complex(x)`` делегує ``x." +"__complex__()``. Якщо ``__complex__()`` не визначено, тоді він повертається " +"до :meth:`__float__`. Якщо ``__float__()`` не визначено, він повертається " +"до :meth:`__index__`." + +msgid "" +"When converting from a string, the string must not contain whitespace around " +"the central ``+`` or ``-`` operator. For example, ``complex('1+2j')`` is " +"fine, but ``complex('1 + 2j')`` raises :exc:`ValueError`." +msgstr "" +"Під час перетворення з рядка рядок не повинен містити пробіли навколо " +"центрального оператора ``+`` або ``-``. Наприклад, ``complex('1+2j')`` " +"добре, але ``complex('1 + 2j')`` викликає :exc:`ValueError`." + +msgid "The complex type is described in :ref:`typesnumeric`." +msgstr "Складний тип описано в :ref:`typesnumeric`." + +msgid "Grouping digits with underscores as in code literals is allowed." +msgstr "Допускається групування цифр із підкресленням, як у кодових літералах." + +msgid "" +"Falls back to :meth:`__index__` if :meth:`__complex__` and :meth:`__float__` " +"are not defined." +msgstr "" +"Повертається до :meth:`__index__`, якщо :meth:`__complex__` і :meth:" +"`__float__` не визначено." + +msgid "" +"This is a relative of :func:`setattr`. The arguments are an object and a " +"string. The string must be the name of one of the object's attributes. The " +"function deletes the named attribute, provided the object allows it. For " +"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. *name* " +"need not be a Python identifier (see :func:`setattr`)." +msgstr "" + +msgid "" +"Create a new dictionary. The :class:`dict` object is the dictionary class. " +"See :class:`dict` and :ref:`typesmapping` for documentation about this class." +msgstr "" +"Створіть новий словник. Об’єкт :class:`dict` є класом словника. Перегляньте :" +"class:`dict` і :ref:`typesmapping` для документації про цей клас." + +msgid "" +"For other containers see the built-in :class:`list`, :class:`set`, and :" +"class:`tuple` classes, as well as the :mod:`collections` module." +msgstr "" +"Для інших контейнерів перегляньте вбудовані класи :class:`list`, :class:" +"`set` і :class:`tuple`, а також модуль :mod:`collections`." + +msgid "" +"Without arguments, return the list of names in the current local scope. " +"With an argument, attempt to return a list of valid attributes for that " +"object." +msgstr "" +"Без аргументів повертає список імен у поточній локальній області. За " +"допомогою аргументу спробуйте повернути список дійсних атрибутів для цього " +"об’єкта." + +msgid "" +"If the object has a method named :meth:`__dir__`, this method will be called " +"and must return the list of attributes. This allows objects that implement a " +"custom :func:`__getattr__` or :func:`__getattribute__` function to customize " +"the way :func:`dir` reports their attributes." +msgstr "" +"Якщо об’єкт має метод з назвою :meth:`__dir__`, цей метод буде викликаний і " +"повинен повернути список атрибутів. Це дозволяє об’єктам, які реалізують " +"спеціальну функцію :func:`__getattr__` або :func:`__getattribute__`, " +"налаштувати спосіб, у який :func:`dir` повідомляє свої атрибути." + +msgid "" +"If the object does not provide :meth:`__dir__`, the function tries its best " +"to gather information from the object's :attr:`~object.__dict__` attribute, " +"if defined, and from its type object. The resulting list is not necessarily " +"complete and may be inaccurate when the object has a custom :func:" +"`__getattr__`." +msgstr "" +"Якщо об’єкт не надає :meth:`__dir__`, функція робить усе можливе, щоб " +"зібрати інформацію з атрибута :attr:`~object.__dict__` об’єкта, якщо він " +"визначений, і з його об’єкта типу. Отриманий список не обов’язково є повним " +"і може бути неточним, якщо об’єкт має настроюваний :func:`__getattr__`." + +msgid "" +"The default :func:`dir` mechanism behaves differently with different types " +"of objects, as it attempts to produce the most relevant, rather than " +"complete, information:" +msgstr "" +"Механізм за замовчуванням :func:`dir` поводиться по-різному з різними типами " +"об’єктів, оскільки він намагається створити найбільш релевантну, а не повну " +"інформацію:" + +msgid "" +"If the object is a module object, the list contains the names of the " +"module's attributes." +msgstr "Якщо об’єкт є об’єктом модуля, список містить назви атрибутів модуля." + +msgid "" +"If the object is a type or class object, the list contains the names of its " +"attributes, and recursively of the attributes of its bases." +msgstr "" +"Якщо об’єкт є об’єктом типу або класу, список містить імена його атрибутів і " +"рекурсивно атрибутів його баз." + +msgid "" +"Otherwise, the list contains the object's attributes' names, the names of " +"its class's attributes, and recursively of the attributes of its class's " +"base classes." +msgstr "" +"В іншому випадку список містить назви атрибутів об’єкта, назви атрибутів " +"його класу та рекурсивно атрибутів базових класів його класу." + +msgid "The resulting list is sorted alphabetically. For example:" +msgstr "Отриманий список відсортовано за алфавітом. Наприклад:" + +msgid "" +"Because :func:`dir` is supplied primarily as a convenience for use at an " +"interactive prompt, it tries to supply an interesting set of names more than " +"it tries to supply a rigorously or consistently defined set of names, and " +"its detailed behavior may change across releases. For example, metaclass " +"attributes are not in the result list when the argument is a class." +msgstr "" +"Оскільки :func:`dir` надається насамперед для зручності використання в " +"інтерактивному запиті, він намагається надати цікавий набір імен більше, ніж " +"намагається надати чітко або послідовно визначений набір імен, і його " +"детальна поведінка може змінитися через випуски. Наприклад, атрибути " +"метакласу відсутні в списку результатів, якщо аргументом є клас." + +msgid "" +"Take two (non-complex) numbers as arguments and return a pair of numbers " +"consisting of their quotient and remainder when using integer division. " +"With mixed operand types, the rules for binary arithmetic operators apply. " +"For integers, the result is the same as ``(a // b, a % b)``. For floating " +"point numbers the result is ``(q, a % b)``, where *q* is usually ``math." +"floor(a / b)`` but may be 1 less than that. In any case ``q * b + a % b`` " +"is very close to *a*, if ``a % b`` is non-zero it has the same sign as *b*, " +"and ``0 <= abs(a % b) < abs(b)``." +msgstr "" +"Візьміть два (некомплексних) числа як аргументи та поверніть пару чисел, що " +"складаються з частки та залишку під час цілочисельного ділення. Для змішаних " +"типів операндів застосовуються правила для двійкових арифметичних " +"операторів. Для цілих чисел результат такий самий, як ``(a // b, a % b)``. " +"Для чисел з плаваючою комою результатом є ``(q, a % b)``, де *q* зазвичай є " +"``math.floor(a / b)``, але може бути на 1 менше за це. У будь-якому випадку " +"``q * b + a % b`` дуже близький до *a*, якщо ``a % b`` відмінний від нуля, " +"він має той самий знак, що і *b*, а ``0 <= abs(a % b) < abs(b)``." + +msgid "" +"Return an enumerate object. *iterable* must be a sequence, an :term:" +"`iterator`, or some other object which supports iteration. The :meth:" +"`~iterator.__next__` method of the iterator returned by :func:`enumerate` " +"returns a tuple containing a count (from *start* which defaults to 0) and " +"the values obtained from iterating over *iterable*." +msgstr "" +"Повертає об’єкт перерахування. *iterable* має бути послідовністю, :term:" +"`iterator` або іншим об’єктом, який підтримує ітерацію. Метод :meth:" +"`~iterator.__next__` ітератора, який повертає :func:`enumerate`, повертає " +"кортеж, що містить лічильник (від *start*, який за замовчуванням дорівнює 0) " +"і значення, отримані в результаті ітерації над *iterable*." + +msgid "Equivalent to::" +msgstr "Дорівнює::" + +msgid "" +"The arguments are a string and optional globals and locals. If provided, " +"*globals* must be a dictionary. If provided, *locals* can be any mapping " +"object." +msgstr "" +"Аргументами є рядок і необов’язкові глобальні та локальні значення. Якщо " +"вказано, *globals* має бути словником. Якщо вказано, *locals* може бути будь-" +"яким об’єктом відображення." + +msgid "" +"The *expression* argument is parsed and evaluated as a Python expression " +"(technically speaking, a condition list) using the *globals* and *locals* " +"dictionaries as global and local namespace. If the *globals* dictionary is " +"present and does not contain a value for the key ``__builtins__``, a " +"reference to the dictionary of the built-in module :mod:`builtins` is " +"inserted under that key before *expression* is parsed. That way you can " +"control what builtins are available to the executed code by inserting your " +"own ``__builtins__`` dictionary into *globals* before passing it to :func:" +"`eval`. If the *locals* dictionary is omitted it defaults to the *globals* " +"dictionary. If both dictionaries are omitted, the expression is executed " +"with the *globals* and *locals* in the environment where :func:`eval` is " +"called. Note, *eval()* does not have access to the :term:`nested scopes " +"` (non-locals) in the enclosing environment." +msgstr "" +"Аргумент *expression* аналізується та оцінюється як вираз Python (технічно " +"кажучи, список умов) за допомогою словників *globals* і *locals* як " +"глобального та локального простору імен. Якщо словник *globals* присутній і " +"не містить значення для ключа ``__builtins__``, посилання на словник " +"вбудованого модуля :mod:`builtins` вставляється під цей ключ перед " +"*expression* розібрати. Таким чином ви можете контролювати, які вбудовані " +"елементи доступні для виконуваного коду, вставивши свій власний словник " +"``__builtins__`` у *globals* перед передачею його в :func:`eval`. Якщо " +"словник *locals* опущено, за замовчуванням буде використовуватися словник " +"*globals*. Якщо обидва словники опущені, вираз виконується з *globals* і " +"*locals* у середовищі, де викликається :func:`eval`. Зауважте, *eval()* не " +"має доступу до :term:`вкладених областей ` (нелокальних) в " +"охоплюючому середовищі." + +msgid "" +"The return value is the result of the evaluated expression. Syntax errors " +"are reported as exceptions. Example:" +msgstr "" +"Повернене значення є результатом обчисленого виразу. Синтаксичні помилки " +"повідомляються як винятки. приклад:" + +msgid "" +"This function can also be used to execute arbitrary code objects (such as " +"those created by :func:`compile`). In this case, pass a code object instead " +"of a string. If the code object has been compiled with ``'exec'`` as the " +"*mode* argument, :func:`eval`\\'s return value will be ``None``." +msgstr "" +"Ця функція також може бути використана для виконання довільних об’єктів коду " +"(наприклад, створених :func:`compile`). У цьому випадку передавайте об’єкт " +"коду замість рядка. Якщо об’єкт коду було скомпільовано з ``'exec'`` як " +"аргументом *mode*, значення, що повертається :func:`eval`\\, буде ``None``." + +msgid "" +"Hints: dynamic execution of statements is supported by the :func:`exec` " +"function. The :func:`globals` and :func:`locals` functions return the " +"current global and local dictionary, respectively, which may be useful to " +"pass around for use by :func:`eval` or :func:`exec`." +msgstr "" +"Підказки: динамічне виконання операторів підтримується функцією :func:" +"`exec`. Функції :func:`globals` і :func:`locals` повертають поточний " +"глобальний і локальний словники відповідно, які можуть бути корисними " +"передати для використання :func:`eval` або :func:`exec`." + +msgid "" +"If the given source is a string, then leading and trailing spaces and tabs " +"are stripped." +msgstr "" +"Якщо дане джерело є рядком, то пробіли та табуляції на початку та в кінці " +"видаляються." + +msgid "" +"See :func:`ast.literal_eval` for a function that can safely evaluate strings " +"with expressions containing only literals." +msgstr "" +"Перегляньте :func:`ast.literal_eval` для функції, яка може безпечно " +"обчислювати рядки з виразами, що містять лише літерали." + +msgid "" +"Raises an :ref:`auditing event ` ``exec`` with argument " +"``code_object``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``exec`` з аргументом " +"``code_object``." + +msgid "" +"Raises an :ref:`auditing event ` ``exec`` with the code object as " +"the argument. Code compilation events may also be raised." +msgstr "" +"Викликає :ref:`подію аудиту ` ``exec`` з об’єктом коду як " +"аргументом. Також можуть виникати події компіляції коду." + +msgid "" +"This function supports dynamic execution of Python code. *object* must be " +"either a string or a code object. If it is a string, the string is parsed " +"as a suite of Python statements which is then executed (unless a syntax " +"error occurs). [#]_ If it is a code object, it is simply executed. In all " +"cases, the code that's executed is expected to be valid as file input (see " +"the section :ref:`file-input` in the Reference Manual). Be aware that the :" +"keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements may " +"not be used outside of function definitions even within the context of code " +"passed to the :func:`exec` function. The return value is ``None``." +msgstr "" +"Ця функція підтримує динамічне виконання коду Python. *object* має бути або " +"рядком, або об’єктом коду. Якщо це рядок, цей рядок аналізується як набір " +"операторів Python, який потім виконується (якщо не виникає синтаксична " +"помилка). [#]_ Якщо це об’єкт коду, він просто виконується. У всіх випадках " +"очікується, що код, який виконується, буде дійсним як вхідний файл (див. " +"розділ :ref:`file-input` у Довідковому посібнику). Майте на увазі, що " +"оператори :keyword:`nonlocal`, :keyword:`yield` і :keyword:`return` не можна " +"використовувати поза визначеннями функцій навіть у контексті коду, " +"переданого у функцію :func:`exec` . Повернуте значення ``None``." + +msgid "" +"In all cases, if the optional parts are omitted, the code is executed in the " +"current scope. If only *globals* is provided, it must be a dictionary (and " +"not a subclass of dictionary), which will be used for both the global and " +"the local variables. If *globals* and *locals* are given, they are used for " +"the global and local variables, respectively. If provided, *locals* can be " +"any mapping object. Remember that at the module level, globals and locals " +"are the same dictionary. If exec gets two separate objects as *globals* and " +"*locals*, the code will be executed as if it were embedded in a class " +"definition." +msgstr "" +"У всіх випадках, якщо необов’язкові частини опущені, код виконується в " +"поточній області. Якщо вказано лише *globals*, це має бути словник (а не " +"підклас словника), який використовуватиметься як для глобальних, так і для " +"локальних змінних. Якщо вказано *globals* і *locals*, вони використовуються " +"для глобальних і локальних змінних відповідно. Якщо вказано, *locals* може " +"бути будь-яким об’єктом відображення. Пам’ятайте, що на рівні модуля " +"глобальні та локальні є одним і тим же словником. Якщо exec отримує два " +"окремих об’єкти як *globals* і *locals*, код буде виконано так, ніби він був " +"вбудований у визначення класу." + +msgid "" +"If the *globals* dictionary does not contain a value for the key " +"``__builtins__``, a reference to the dictionary of the built-in module :mod:" +"`builtins` is inserted under that key. That way you can control what " +"builtins are available to the executed code by inserting your own " +"``__builtins__`` dictionary into *globals* before passing it to :func:`exec`." +msgstr "" +"Якщо словник *globals* не містить значення для ключа ``__builtins__``, під " +"цим ключем вставляється посилання на словник вбудованого модуля :mod:" +"`builtins`. Таким чином ви можете контролювати, які вбудовані елементи " +"доступні для виконуваного коду, вставивши свій власний словник " +"``__builtins__`` у *globals* перед передачею його в :func:`exec`." + +msgid "" +"The *closure* argument specifies a closure--a tuple of cellvars. It's only " +"valid when the *object* is a code object containing free variables. The " +"length of the tuple must exactly match the number of free variables " +"referenced by the code object." +msgstr "" + +msgid "" +"The built-in functions :func:`globals` and :func:`locals` return the current " +"global and local dictionary, respectively, which may be useful to pass " +"around for use as the second and third argument to :func:`exec`." +msgstr "" +"Вбудовані функції :func:`globals` і :func:`locals` повертають поточний " +"глобальний і локальний словники відповідно, які може бути корисно передати " +"для використання як другий і третій аргумент :func:`exec` ." + +msgid "" +"The default *locals* act as described for function :func:`locals` below: " +"modifications to the default *locals* dictionary should not be attempted. " +"Pass an explicit *locals* dictionary if you need to see effects of the code " +"on *locals* after function :func:`exec` returns." +msgstr "" +"*Locals* за замовчуванням діє, як описано для функції :func:`locals` нижче: " +"не слід намагатися змінити словник *locals* за замовчуванням. Передайте " +"явний словник *locals*, якщо вам потрібно побачити вплив коду на *locals* " +"після повернення функції :func:`exec`." + +msgid "Added the *closure* parameter." +msgstr "" + +msgid "" +"Construct an iterator from those elements of *iterable* for which *function* " +"returns true. *iterable* may be either a sequence, a container which " +"supports iteration, or an iterator. If *function* is ``None``, the identity " +"function is assumed, that is, all elements of *iterable* that are false are " +"removed." +msgstr "" +"Побудуйте ітератор з тих елементів *iterable*, для яких *функція* повертає " +"true. *iterable* може бути або послідовністю, контейнером, який підтримує " +"ітерацію, або ітератором. Якщо *function* має значення ``None``, " +"передбачається функція ідентифікації, тобто всі елементи *iterable*, які є " +"false, видаляються." + +msgid "" +"Note that ``filter(function, iterable)`` is equivalent to the generator " +"expression ``(item for item in iterable if function(item))`` if function is " +"not ``None`` and ``(item for item in iterable if item)`` if function is " +"``None``." +msgstr "" +"Зауважте, що ``filter(function, iterable)`` еквівалентний виразу генератора " +"``(item for item в iterable if function(item))``, якщо функція не є ``None`` " +"і ``(item for item в iterable if item)`` якщо функція ``None``." + +msgid "" +"See :func:`itertools.filterfalse` for the complementary function that " +"returns elements of *iterable* for which *function* returns false." +msgstr "" +"Перегляньте :func:`itertools.filterfalse` для додаткової функції, яка " +"повертає елементи *iterable*, для яких *функція* повертає false." + +msgid "Return a floating point number constructed from a number or string *x*." +msgstr "Повертає число з плаваючою комою, створене з числа або рядка *x*." + +msgid "" +"If the argument is a string, it should contain a decimal number, optionally " +"preceded by a sign, and optionally embedded in whitespace. The optional " +"sign may be ``'+'`` or ``'-'``; a ``'+'`` sign has no effect on the value " +"produced. The argument may also be a string representing a NaN (not-a-" +"number), or positive or negative infinity. More precisely, the input must " +"conform to the following grammar after leading and trailing whitespace " +"characters are removed:" +msgstr "" +"Якщо аргумент є рядком, він має містити десяткове число, якому необов’язково " +"передує знак, і необов’язково вбудоване в пробіл. Додатковим знаком може " +"бути ``'+'`` або ``'-'``; знак ``'+'`` не впливає на отримане значення. " +"Аргумент також може бути рядком, що представляє NaN (не число), або " +"позитивну чи негативну нескінченність. Точніше, введення має відповідати " +"наведеній нижче граматиці після видалення початкових і кінцевих пробілів:" + +msgid "" +"Here ``floatnumber`` is the form of a Python floating-point literal, " +"described in :ref:`floating`. Case is not significant, so, for example, " +"\"inf\", \"Inf\", \"INFINITY\", and \"iNfINity\" are all acceptable " +"spellings for positive infinity." +msgstr "" +"Тут ``floatnumber`` є формою літералу з плаваючою комою Python, описаного в :" +"ref:`floating`. Регістр не має значення, тому, наприклад, \"inf\", \"Inf\", " +"\"INFINITY\" та \"iNfINity\" є прийнятними варіантами написання позитивної " +"нескінченності." + +msgid "" +"Otherwise, if the argument is an integer or a floating point number, a " +"floating point number with the same value (within Python's floating point " +"precision) is returned. If the argument is outside the range of a Python " +"float, an :exc:`OverflowError` will be raised." +msgstr "" +"В іншому випадку, якщо аргумент є цілим числом або числом з плаваючою комою, " +"повертається число з плаваючою комою з тим самим значенням (у межах точності " +"Python до плаваючої коми). Якщо аргумент виходить за межі діапазону числа з " +"плаваючою точкою Python, буде викликано :exc:`OverflowError`." + +msgid "" +"For a general Python object ``x``, ``float(x)`` delegates to ``x." +"__float__()``. If ``__float__()`` is not defined then it falls back to :" +"meth:`__index__`." +msgstr "" +"Для загального об’єкта Python ``x`` ``float(x)`` делегує ``x.__float__()``. " +"Якщо ``__float__()`` не визначено, він повертається до :meth:`__index__`." + +msgid "If no argument is given, ``0.0`` is returned." +msgstr "Якщо аргумент не вказано, повертається ``0.0``." + +msgid "Examples::" +msgstr "Приклади::" + +msgid "The float type is described in :ref:`typesnumeric`." +msgstr "Тип float описано в :ref:`typesnumeric`." + +msgid "Falls back to :meth:`__index__` if :meth:`__float__` is not defined." +msgstr "" +"Повертається до :meth:`__index__`, якщо :meth:`__float__` не визначено." + +msgid "" +"Convert a *value* to a \"formatted\" representation, as controlled by " +"*format_spec*. The interpretation of *format_spec* will depend on the type " +"of the *value* argument; however, there is a standard formatting syntax that " +"is used by most built-in types: :ref:`formatspec`." +msgstr "" +"Перетворення *значення* на \"форматований\" представлення, як керується " +"*format_spec*. Інтерпретація *format_spec* залежатиме від типу аргументу " +"*value*; проте існує стандартний синтаксис форматування, який " +"використовується більшістю вбудованих типів: :ref:`formatspec`." + +msgid "" +"The default *format_spec* is an empty string which usually gives the same " +"effect as calling :func:`str(value) `." +msgstr "" +"За замовчуванням *format_spec* є порожнім рядком, який зазвичай дає той " +"самий ефект, що й виклик :func:`str(value) `." + +msgid "" +"A call to ``format(value, format_spec)`` is translated to ``type(value)." +"__format__(value, format_spec)`` which bypasses the instance dictionary when " +"searching for the value's :meth:`__format__` method. A :exc:`TypeError` " +"exception is raised if the method search reaches :mod:`object` and the " +"*format_spec* is non-empty, or if either the *format_spec* or the return " +"value are not strings." +msgstr "" +"Виклик ``format(value, format_spec)`` перекладається на ``type(value)." +"__format__(value, format_spec)``, який обходить словник екземпляра під час " +"пошуку методу значення :meth:`__format__`. Виняток :exc:`TypeError` виникає, " +"якщо метод пошуку досягає :mod:`object` і *format_spec* не є порожнім, або " +"якщо *format_spec* або значення, що повертається, не є рядками." + +msgid "" +"``object().__format__(format_spec)`` raises :exc:`TypeError` if " +"*format_spec* is not an empty string." +msgstr "" +"``object().__format__(format_spec)`` викликає :exc:`TypeError`, якщо " +"*format_spec* не є порожнім рядком." + +msgid "" +"Return a new :class:`frozenset` object, optionally with elements taken from " +"*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` and :" +"ref:`types-set` for documentation about this class." +msgstr "" +"Повертає новий об’єкт :class:`frozenset`, необов’язково з елементами, " +"взятими з *iterable*. ``frozenset`` є вбудованим класом. Перегляньте :class:" +"`frozenset` і :ref:`types-set` для документації про цей клас." + +msgid "" +"For other containers see the built-in :class:`set`, :class:`list`, :class:" +"`tuple`, and :class:`dict` classes, as well as the :mod:`collections` module." +msgstr "" +"Для інших контейнерів перегляньте вбудовані класи :class:`set`, :class:" +"`list`, :class:`tuple` і :class:`dict`, а також модуль :mod:`collections`." + +msgid "" +"Return the value of the named attribute of *object*. *name* must be a " +"string. If the string is the name of one of the object's attributes, the " +"result is the value of that attribute. For example, ``getattr(x, " +"'foobar')`` is equivalent to ``x.foobar``. If the named attribute does not " +"exist, *default* is returned if provided, otherwise :exc:`AttributeError` is " +"raised. *name* need not be a Python identifier (see :func:`setattr`)." +msgstr "" + +msgid "" +"Since :ref:`private name mangling ` happens at " +"compilation time, one must manually mangle a private attribute's (attributes " +"with two leading underscores) name in order to retrieve it with :func:" +"`getattr`." +msgstr "" +"Оскільки :ref:`викривлення приватного імені ` " +"відбувається під час компіляції, потрібно вручну спотворити ім’я приватного " +"атрибута (атрибути з двома символами підкреслення на початку), щоб отримати " +"його за допомогою :func:`getattr`." + +msgid "" +"Return the dictionary implementing the current module namespace. For code " +"within functions, this is set when the function is defined and remains the " +"same regardless of where the function is called." +msgstr "" +"Повертає словник, що реалізує поточний простір імен модуля. Для коду " +"всередині функцій це значення встановлюється під час визначення функції та " +"залишається незмінним незалежно від місця виклику функції." + +msgid "" +"The arguments are an object and a string. The result is ``True`` if the " +"string is the name of one of the object's attributes, ``False`` if not. " +"(This is implemented by calling ``getattr(object, name)`` and seeing whether " +"it raises an :exc:`AttributeError` or not.)" +msgstr "" +"Аргументами є об’єкт і рядок. Результатом є ``True``, якщо рядок є назвою " +"одного з атрибутів об’єкта, ``False``, якщо ні. (Це реалізується шляхом " +"виклику ``getattr(object, name)`` і перевірки, чи викликає це :exc:" +"`AttributeError` чи ні.)" + +msgid "" +"Return the hash value of the object (if it has one). Hash values are " +"integers. They are used to quickly compare dictionary keys during a " +"dictionary lookup. Numeric values that compare equal have the same hash " +"value (even if they are of different types, as is the case for 1 and 1.0)." +msgstr "" +"Повертає хеш-значення об’єкта (якщо воно є). Хеш-значення є цілими числами. " +"Вони використовуються для швидкого порівняння ключів словника під час пошуку " +"в словнику. Числові значення, які порівнюються, мають однакове хеш-значення " +"(навіть якщо вони мають різні типи, як у випадку 1 і 1.0)." + +msgid "" +"For objects with custom :meth:`__hash__` methods, note that :func:`hash` " +"truncates the return value based on the bit width of the host machine. See :" +"meth:`__hash__` for details." +msgstr "" +"Для об’єктів із спеціальними методами :meth:`__hash__` зауважте, що :func:" +"`hash` скорочує значення, що повертається, на основі розрядності хост-" +"машини. Перегляньте :meth:`__hash__` для деталей." + +msgid "" +"Invoke the built-in help system. (This function is intended for interactive " +"use.) If no argument is given, the interactive help system starts on the " +"interpreter console. If the argument is a string, then the string is looked " +"up as the name of a module, function, class, method, keyword, or " +"documentation topic, and a help page is printed on the console. If the " +"argument is any other kind of object, a help page on the object is generated." +msgstr "" +"Виклик вбудованої довідкової системи. (Ця функція призначена для " +"інтерактивного використання.) Якщо аргумент не задано, інтерактивна " +"довідкова система запускається на консолі інтерпретатора. Якщо аргументом є " +"рядок, то цей рядок шукається як ім’я модуля, функції, класу, методу, " +"ключового слова чи розділу документації, а на консолі друкується довідкова " +"сторінка. Якщо аргументом є об’єкт будь-якого іншого типу, для цього об’єкта " +"буде створено сторінку довідки." + +msgid "" +"Note that if a slash(/) appears in the parameter list of a function when " +"invoking :func:`help`, it means that the parameters prior to the slash are " +"positional-only. For more info, see :ref:`the FAQ entry on positional-only " +"parameters `." +msgstr "" +"Зауважте, що якщо скісна риска (/) з’являється у списку параметрів функції " +"під час виклику :func:`help`, це означає, що параметри перед скісною рискою " +"є лише позиційними. Для отримання додаткової інформації див. :ref:`запис у " +"поширених питаннях щодо позиційних параметрів `." + +msgid "" +"This function is added to the built-in namespace by the :mod:`site` module." +msgstr "Ця функція додається до вбудованого простору імен модулем :mod:`site`." + +msgid "" +"Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " +"for callables are now more comprehensive and consistent." +msgstr "" +"Зміни в :mod:`pydoc` і :mod:`inspect` означають, що звітні підписи для " +"викликів тепер більш повні та узгоджені." + +msgid "" +"Convert an integer number to a lowercase hexadecimal string prefixed with " +"\"0x\". If *x* is not a Python :class:`int` object, it has to define an :" +"meth:`__index__` method that returns an integer. Some examples:" +msgstr "" +"Перетворення цілого числа на шістнадцятковий рядок у нижньому регістрі з " +"префіксом \"0x\". Якщо *x* не є об’єктом Python :class:`int`, він має " +"визначити метод :meth:`__index__`, який повертає ціле число. Деякі приклади:" + +msgid "" +"If you want to convert an integer number to an uppercase or lower " +"hexadecimal string with prefix or not, you can use either of the following " +"ways:" +msgstr "" +"Якщо ви хочете перетворити ціле число у верхній або нижній шістнадцятковий " +"рядок із префіксом або без нього, ви можете скористатися одним із наведених " +"нижче способів:" + +msgid "" +"See also :func:`int` for converting a hexadecimal string to an integer using " +"a base of 16." +msgstr "" +"Дивіться також :func:`int` для перетворення шістнадцяткового рядка в ціле " +"число за основою 16." + +msgid "" +"To obtain a hexadecimal string representation for a float, use the :meth:" +"`float.hex` method." +msgstr "" +"Щоб отримати шістнадцяткове представлення рядка для float, використовуйте " +"метод :meth:`float.hex`." + +msgid "" +"Return the \"identity\" of an object. This is an integer which is " +"guaranteed to be unique and constant for this object during its lifetime. " +"Two objects with non-overlapping lifetimes may have the same :func:`id` " +"value." +msgstr "" +"Повернути \"ідентичність\" об'єкта. Це ціле число, яке гарантовано буде " +"унікальним і постійним для цього об’єкта протягом усього його існування. Два " +"об’єкти з що існують у різні проміжки часу можуть мати однакові значення :" +"func:`id`." + +msgid "This is the address of the object in memory." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``builtins.id`` with argument " +"``id``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``builtins.id`` з аргументом ``id``." + +msgid "" +"If the *prompt* argument is present, it is written to standard output " +"without a trailing newline. The function then reads a line from input, " +"converts it to a string (stripping a trailing newline), and returns that. " +"When EOF is read, :exc:`EOFError` is raised. Example::" +msgstr "" +"Якщо присутній аргумент *prompt*, він записується в стандартний вивід без " +"символу нового рядка. Потім функція зчитує рядок із вхідних даних, " +"перетворює його на рядок (вилучаючи кінцевий новий рядок) і повертає його. " +"Під час читання EOF виникає :exc:`EOFError`. Приклад::" + +msgid "" +"If the :mod:`readline` module was loaded, then :func:`input` will use it to " +"provide elaborate line editing and history features." +msgstr "" +"Якщо модуль :mod:`readline` було завантажено, то :func:`input` " +"використовуватиме його для забезпечення складних функцій редагування рядка " +"та історії." + +msgid "" +"Raises an :ref:`auditing event ` ``builtins.input`` with argument " +"``prompt``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``builtins.input`` з аргументом " +"``prompt``." + +msgid "" +"Raises an :ref:`auditing event ` ``builtins.input`` with argument " +"``prompt`` before reading input" +msgstr "" +"Викликає :ref:`подію аудиту ` ``builtins.input`` з аргументом " +"``prompt`` перед читанням введення" + +msgid "" +"Raises an :ref:`auditing event ` ``builtins.input/result`` with " +"argument ``result``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``builtins.input/result`` з " +"аргументом ``result``." + +msgid "" +"Raises an :ref:`auditing event ` ``builtins.input/result`` with " +"the result after successfully reading input." +msgstr "" +"Викликає :ref:`подію аудиту ` ``builtins.input/result`` з " +"результатом після успішного читання введення." + +msgid "" +"Return an integer object constructed from a number or string *x*, or return " +"``0`` if no arguments are given. If *x* defines :meth:`__int__`, ``int(x)`` " +"returns ``x.__int__()``. If *x* defines :meth:`__index__`, it returns ``x." +"__index__()``. If *x* defines :meth:`__trunc__`, it returns ``x." +"__trunc__()``. For floating point numbers, this truncates towards zero." +msgstr "" +"Повертає цілочисельний об’єкт, створений з числа або рядка *x*, або повертає " +"``0``, якщо не надано аргументів. Якщо *x* визначає :meth:`__int__`, " +"``int(x)`` повертає ``x.__int__()``. Якщо *x* визначає :meth:`__index__`, " +"він повертає ``x.__index__()``. Якщо *x* визначає :meth:`__trunc__`, він " +"повертає ``x.__trunc__()``. Для чисел з плаваючою комою це скорочується до " +"нуля." + +msgid "" +"If *x* is not a number or if *base* is given, then *x* must be a string, :" +"class:`bytes`, or :class:`bytearray` instance representing an :ref:`integer " +"literal ` in radix *base*. Optionally, the literal can be " +"preceded by ``+`` or ``-`` (with no space in between) and surrounded by " +"whitespace. A base-n literal consists of the digits 0 to n-1, with ``a`` to " +"``z`` (or ``A`` to ``Z``) having values 10 to 35. The default *base* is 10. " +"The allowed values are 0 and 2--36. Base-2, -8, and -16 literals can be " +"optionally prefixed with ``0b``/``0B``, ``0o``/``0O``, or ``0x``/``0X``, as " +"with integer literals in code. Base 0 means to interpret exactly as a code " +"literal, so that the actual base is 2, 8, 10, or 16, and so that " +"``int('010', 0)`` is not legal, while ``int('010')`` is, as well as " +"``int('010', 8)``." +msgstr "" +"Якщо *x* не є числом або задано *base*, тоді *x* має бути рядком, :class:" +"`bytes` або екземпляром :class:`bytearray`, який представляє :ref:" +"`цілочисельний літерал ` в корені *основа*. За бажанням перед " +"літералом може стояти ``+`` або ``-`` (без пробілу між ними) і оточений " +"пробілом. Літерал base-n складається з цифр від 0 до n-1, причому від ``a`` " +"до ``z`` (або ``A`` до ``Z``) мають значення від 10 до 35. За замовчуванням " +"*base* дорівнює 10. Дозволені значення 0 і 2-36. Літерали Base-2, -8 і -16 " +"можуть мати префікс ``0b``/``0B``, ``0o``/``0O`` або ``0x``/``0X``, як і з " +"цілими літералами в коді. База 0 означає інтерпретувати точно як кодовий " +"літерал, так що фактична база дорівнює 2, 8, 10 або 16, і тому ``int('010', " +"0)`` є недопустимим, тоді як ``int( '010')`` є, а також ``int('010', 8)``." + +msgid "The integer type is described in :ref:`typesnumeric`." +msgstr "Цілочисельний тип описано в :ref:`typesnumeric`." + +msgid "" +"If *base* is not an instance of :class:`int` and the *base* object has a :" +"meth:`base.__index__ ` method, that method is called to " +"obtain an integer for the base. Previous versions used :meth:`base.__int__ " +"` instead of :meth:`base.__index__ `." +msgstr "" +"Якщо *base* не є екземпляром :class:`int` і об’єкт *base* має метод :meth:" +"`base.__index__ `, цей метод викликається для отримання " +"цілого числа для бази. У попередніх версіях використовувався :meth:`base." +"__int__ ` замість :meth:`base.__index__ `." + +msgid "Falls back to :meth:`__index__` if :meth:`__int__` is not defined." +msgstr "Повертається до :meth:`__index__`, якщо :meth:`__int__` не визначено." + +msgid "The delegation to :meth:`__trunc__` is deprecated." +msgstr "" + +msgid "" +":class:`int` string inputs and string representations can be limited to help " +"avoid denial of service attacks. A :exc:`ValueError` is raised when the " +"limit is exceeded while converting a string *x* to an :class:`int` or when " +"converting an :class:`int` into a string would exceed the limit. See the :" +"ref:`integer string conversion length limitation ` " +"documentation." +msgstr "" + +msgid "" +"Return ``True`` if the *object* argument is an instance of the *classinfo* " +"argument, or of a (direct, indirect, or :term:`virtual `) subclass thereof. If *object* is not an object of the given type, " +"the function always returns ``False``. If *classinfo* is a tuple of type " +"objects (or recursively, other such tuples) or a :ref:`types-union` of " +"multiple types, return ``True`` if *object* is an instance of any of the " +"types. If *classinfo* is not a type or tuple of types and such tuples, a :" +"exc:`TypeError` exception is raised. :exc:`TypeError` may not be raised for " +"an invalid type if an earlier check succeeds." +msgstr "" + +msgid "*classinfo* can be a :ref:`types-union`." +msgstr "*classinfo* може бути :ref:`types-union`." + +msgid "" +"Return ``True`` if *class* is a subclass (direct, indirect, or :term:" +"`virtual `) of *classinfo*. A class is considered a " +"subclass of itself. *classinfo* may be a tuple of class objects (or " +"recursively, other such tuples) or a :ref:`types-union`, in which case " +"return ``True`` if *class* is a subclass of any entry in *classinfo*. In " +"any other case, a :exc:`TypeError` exception is raised." +msgstr "" +"Повертає ``True``, якщо *class* є підкласом (прямим, непрямим або :term:" +"`віртуальним `) *classinfo*. Клас вважається підкласом " +"самого себе. *classinfo* може бути кортежем об’єктів класу (або рекурсивно " +"іншими подібними кортежами) або :ref:`types-union`, у цьому випадку повертає " +"``True``, якщо *class* є підкласом будь-якого запису в *інформація про " +"клас*. У будь-якому іншому випадку виникає виняток :exc:`TypeError`." + +msgid "" +"Return an :term:`iterator` object. The first argument is interpreted very " +"differently depending on the presence of the second argument. Without a " +"second argument, *object* must be a collection object which supports the :" +"term:`iterable` protocol (the :meth:`__iter__` method), or it must support " +"the sequence protocol (the :meth:`__getitem__` method with integer arguments " +"starting at ``0``). If it does not support either of those protocols, :exc:" +"`TypeError` is raised. If the second argument, *sentinel*, is given, then " +"*object* must be a callable object. The iterator created in this case will " +"call *object* with no arguments for each call to its :meth:`~iterator." +"__next__` method; if the value returned is equal to *sentinel*, :exc:" +"`StopIteration` will be raised, otherwise the value will be returned." +msgstr "" +"Повертає об’єкт :term:`iterator`. Перший аргумент інтерпретується дуже по-" +"різному в залежності від наявності другого аргументу. Без другого аргументу " +"*object* має бути об’єктом колекції, який підтримує протокол :term:" +"`iterable` (метод :meth:`__iter__`), або він має підтримувати протокол " +"послідовності (метод :meth:`__getitem__` з цілими аргументами, починаючи з " +"``0``). Якщо він не підтримує жодного з цих протоколів, виникає :exc:" +"`TypeError`. Якщо задано другий аргумент, *sentinel*, то *object* має бути " +"викликаним об’єктом. Ітератор, створений у цьому випадку, буде викликати " +"*object* без аргументів для кожного виклику його методу :meth:`~iterator." +"__next__`; якщо повернуте значення дорівнює *sentinel*, :exc:`StopIteration` " +"буде піднято, інакше буде повернено значення." + +msgid "See also :ref:`typeiter`." +msgstr "Дивіться також :ref:`typeiter`." + +msgid "" +"One useful application of the second form of :func:`iter` is to build a " +"block-reader. For example, reading fixed-width blocks from a binary database " +"file until the end of file is reached::" +msgstr "" +"Одним із корисних застосувань другої форми :func:`iter` є створення програми " +"для читання блоків. Наприклад, читання блоків фіксованої ширини з бінарного " +"файлу бази даних до досягнення кінця файлу::" + +msgid "" +"Return the length (the number of items) of an object. The argument may be a " +"sequence (such as a string, bytes, tuple, list, or range) or a collection " +"(such as a dictionary, set, or frozen set)." +msgstr "" +"Повертає довжину (кількість елементів) об’єкта. Аргументом може бути " +"послідовність (наприклад, рядок, байти, кортеж, список або діапазон) або " +"колекція (наприклад, словник, набір або заморожений набір)." + +msgid "" +"``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." +"maxsize`, such as :class:`range(2 ** 100) `." +msgstr "" +"``len`` викликає :exc:`OverflowError` для довжин, більших за :data:`sys." +"maxsize`, наприклад :class:`range(2 ** 100) `." + +msgid "" +"Rather than being a function, :class:`list` is actually a mutable sequence " +"type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." +msgstr "" +"Замість того, щоб бути функцією, :class:`list` насправді є змінним типом " +"послідовності, як описано в :ref:`typesseq-list` і :ref:`typesseq`." + +msgid "" +"Update and return a dictionary representing the current local symbol table. " +"Free variables are returned by :func:`locals` when it is called in function " +"blocks, but not in class blocks. Note that at the module level, :func:" +"`locals` and :func:`globals` are the same dictionary." +msgstr "" +"Оновити та повернути словник, що представляє поточну локальну таблицю " +"символів. Вільні змінні повертає :func:`locals`, коли він викликається у " +"функціональних блоках, але не в блоках класів. Зауважте, що на рівні модуля :" +"func:`locals` і :func:`globals` є одним і тим же словником." + +msgid "" +"The contents of this dictionary should not be modified; changes may not " +"affect the values of local and free variables used by the interpreter." +msgstr "" +"Вміст цього словника не можна змінювати; зміни не можуть впливати на " +"значення локальних і вільних змінних, що використовуються інтерпретатором." + +msgid "" +"Return an iterator that applies *function* to every item of *iterable*, " +"yielding the results. If additional *iterables* arguments are passed, " +"*function* must take that many arguments and is applied to the items from " +"all iterables in parallel. With multiple iterables, the iterator stops when " +"the shortest iterable is exhausted. For cases where the function inputs are " +"already arranged into argument tuples, see :func:`itertools.starmap`\\." +msgstr "" + +msgid "" +"Return the largest item in an iterable or the largest of two or more " +"arguments." +msgstr "" +"Повертає найбільший елемент у ітерації або найбільший з двох чи більше " +"аргументів." + +msgid "" +"If one positional argument is provided, it should be an :term:`iterable`. " +"The largest item in the iterable is returned. If two or more positional " +"arguments are provided, the largest of the positional arguments is returned." +msgstr "" +"Якщо надається один позиційний аргумент, це має бути :term:`iterable`. " +"Повертається найбільший елемент ітерації. Якщо надано два або більше " +"позиційних аргументів, повертається найбільший із позиційних аргументів." + +msgid "" +"There are two optional keyword-only arguments. The *key* argument specifies " +"a one-argument ordering function like that used for :meth:`list.sort`. The " +"*default* argument specifies an object to return if the provided iterable is " +"empty. If the iterable is empty and *default* is not provided, a :exc:" +"`ValueError` is raised." +msgstr "" +"Є два необов’язкові аргументи лише для ключових слів. Аргумент *key* " +"визначає функцію впорядкування з одним аргументом, подібну до тієї, яка " +"використовується для :meth:`list.sort`. Аргумент *default* визначає об’єкт, " +"який повертається, якщо наданий ітераційний елемент порожній. Якщо iterable " +"порожній і *default* не вказано, виникає :exc:`ValueError`." + +msgid "" +"If multiple items are maximal, the function returns the first one " +"encountered. This is consistent with other sort-stability preserving tools " +"such as ``sorted(iterable, key=keyfunc, reverse=True)[0]`` and ``heapq." +"nlargest(1, iterable, key=keyfunc)``." +msgstr "" +"Якщо кілька елементів є максимальними, функція повертає перший знайдений. Це " +"узгоджується з іншими інструментами збереження стабільності сортування, " +"такими як ``sorted(iterable, key=keyfunc, reverse=True)[0]`` і ``heapq." +"nlargest(1, iterable, key=keyfunc)``." + +msgid "The *default* keyword-only argument." +msgstr "Аргумент *default* лише для ключового слова." + +msgid "The *key* can be ``None``." +msgstr "*Ключ* може бути ``None``." + +msgid "" +"Return a \"memory view\" object created from the given argument. See :ref:" +"`typememoryview` for more information." +msgstr "" +"Повертає об’єкт \"перегляд пам’яті\", створений із заданого аргументу. " +"Перегляньте :ref:`typememoryview` для отримання додаткової інформації." + +msgid "" +"Return the smallest item in an iterable or the smallest of two or more " +"arguments." +msgstr "" +"Повертає найменший елемент у ітерації або найменший з двох чи більше " +"аргументів." + +msgid "" +"If one positional argument is provided, it should be an :term:`iterable`. " +"The smallest item in the iterable is returned. If two or more positional " +"arguments are provided, the smallest of the positional arguments is returned." +msgstr "" +"Якщо надається один позиційний аргумент, це має бути :term:`iterable`. " +"Повертається найменший елемент ітерації. Якщо надано два або більше " +"позиційних аргументів, повертається найменший із позиційних аргументів." + +msgid "" +"If multiple items are minimal, the function returns the first one " +"encountered. This is consistent with other sort-stability preserving tools " +"such as ``sorted(iterable, key=keyfunc)[0]`` and ``heapq.nsmallest(1, " +"iterable, key=keyfunc)``." +msgstr "" +"Якщо декілька елементів є мінімальними, функція повертає перший знайдений. " +"Це узгоджується з іншими інструментами збереження стабільності сортування, " +"такими як ``sorted(iterable, key=keyfunc)[0]`` і ``heapq.nsmallest(1, " +"iterable, key=keyfunc)``." + +msgid "" +"Retrieve the next item from the :term:`iterator` by calling its :meth:" +"`~iterator.__next__` method. If *default* is given, it is returned if the " +"iterator is exhausted, otherwise :exc:`StopIteration` is raised." +msgstr "" +"Отримайте наступний елемент із :term:`iterator`, викликавши його метод :meth:" +"`~iterator.__next__`. Якщо задано *default*, воно повертається, якщо " +"ітератор вичерпано, інакше :exc:`StopIteration` викликається." + +msgid "" +"Return a new featureless object. :class:`object` is a base for all classes. " +"It has methods that are common to all instances of Python classes. This " +"function does not accept any arguments." +msgstr "" +"Повернути новий безособливий об’єкт. :class:`object` є основою для всіх " +"класів. Він має методи, які є спільними для всіх екземплярів класів Python. " +"Ця функція не приймає жодних аргументів." + +msgid "" +":class:`object` does *not* have a :attr:`~object.__dict__`, so you can't " +"assign arbitrary attributes to an instance of the :class:`object` class." +msgstr "" +":class:`object` *не* має :attr:`~object.__dict__`, тому ви не можете " +"призначити довільні атрибути екземпляру класу :class:`object`." + +msgid "" +"Convert an integer number to an octal string prefixed with \"0o\". The " +"result is a valid Python expression. If *x* is not a Python :class:`int` " +"object, it has to define an :meth:`__index__` method that returns an " +"integer. For example:" +msgstr "" +"Перетворення цілого числа на вісімковий рядок із префіксом \"0o\". " +"Результатом є дійсний вираз Python. Якщо *x* не є об’єктом Python :class:" +"`int`, він має визначити метод :meth:`__index__`, який повертає ціле число. " +"Наприклад:" + +msgid "" +"If you want to convert an integer number to an octal string either with the " +"prefix \"0o\" or not, you can use either of the following ways." +msgstr "" +"Якщо ви хочете перетворити ціле число на вісімковий рядок із префіксом \"0o" +"\" чи ні, ви можете скористатися одним із наведених нижче способів." + +msgid "" +"Open *file* and return a corresponding :term:`file object`. If the file " +"cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " +"examples of how to use this function." +msgstr "" +"Відкрийте *файл* і поверніть відповідний :term:`file object`. Якщо файл " +"неможливо відкрити, виникає :exc:`OSError`. Перегляньте :ref:`tut-files` для " +"отримання додаткових прикладів використання цієї функції." + +msgid "" +"*file* is a :term:`path-like object` giving the pathname (absolute or " +"relative to the current working directory) of the file to be opened or an " +"integer file descriptor of the file to be wrapped. (If a file descriptor is " +"given, it is closed when the returned I/O object is closed unless *closefd* " +"is set to ``False``.)" +msgstr "" +"*file* — це :term:`path-like object`, що надає шлях (абсолютний або " +"відносний до поточного робочого каталогу) до файлу, який потрібно відкрити, " +"або цілочисельний файловий дескриптор файлу, який потрібно обернути. (Якщо " +"задано дескриптор файлу, він закривається, коли повертається об’єкт вводу/" +"виводу, якщо *closefd* не має значення ``False``.)" + +msgid "" +"*mode* is an optional string that specifies the mode in which the file is " +"opened. It defaults to ``'r'`` which means open for reading in text mode. " +"Other common values are ``'w'`` for writing (truncating the file if it " +"already exists), ``'x'`` for exclusive creation, and ``'a'`` for appending " +"(which on *some* Unix systems, means that *all* writes append to the end of " +"the file regardless of the current seek position). In text mode, if " +"*encoding* is not specified the encoding used is platform-dependent: :func:" +"`locale.getencoding()` is called to get the current locale encoding. (For " +"reading and writing raw bytes use binary mode and leave *encoding* " +"unspecified.) The available modes are:" +msgstr "" + +msgid "Character" +msgstr "характер" + +msgid "Meaning" +msgstr "Значення" + +msgid "``'r'``" +msgstr "``'r''``" + +msgid "open for reading (default)" +msgstr "відкритий для читання (за замовчуванням)" + +msgid "``'w'``" +msgstr "``'w'``" + +msgid "open for writing, truncating the file first" +msgstr "відкрити для запису, спочатку скоротивши файл" + +msgid "``'x'``" +msgstr "``'x''``" + +msgid "open for exclusive creation, failing if the file already exists" +msgstr "відкрити для ексклюзивного створення, якщо файл уже існує" + +msgid "``'a'``" +msgstr "``'a'``" + +msgid "open for writing, appending to the end of file if it exists" +msgstr "відкрито для запису, додаючи в кінець файлу, якщо він існує" + +msgid "``'b'``" +msgstr "``'b''``" + +msgid "binary mode" +msgstr "двійковий режим" + +msgid "``'t'``" +msgstr "``'t''``" + +msgid "text mode (default)" +msgstr "текстовий режим (за замовчуванням)" + +msgid "``'+'``" +msgstr "``'+'``" + +msgid "open for updating (reading and writing)" +msgstr "відкритий для оновлення (читання та запис)" + +msgid "" +"The default mode is ``'r'`` (open for reading text, a synonym of ``'rt'``). " +"Modes ``'w+'`` and ``'w+b'`` open and truncate the file. Modes ``'r+'`` and " +"``'r+b'`` open the file with no truncation." +msgstr "" +"Типовим режимом є ``'r'`` (відкритий для читання тексту, синонім ``'rt'``). " +"Режими ``'w+'`` і ``'w+b'`` відкривають і скорочують файл. Режими ``'r+'`` і " +"``'r+b'`` відкривають файл без скорочення." + +msgid "" +"As mentioned in the :ref:`io-overview`, Python distinguishes between binary " +"and text I/O. Files opened in binary mode (including ``'b'`` in the *mode* " +"argument) return contents as :class:`bytes` objects without any decoding. " +"In text mode (the default, or when ``'t'`` is included in the *mode* " +"argument), the contents of the file are returned as :class:`str`, the bytes " +"having been first decoded using a platform-dependent encoding or using the " +"specified *encoding* if given." +msgstr "" +"Як згадувалося в :ref:`io-overview`, Python розрізняє двійковий і текстовий " +"ввід-вивід. Файли, відкриті в двійковому режимі (включаючи ``'b'`` в " +"аргументі *mode*) повертають вміст як об’єкти :class:`bytes` без будь-якого " +"декодування. У текстовому режимі (за замовчуванням або коли ``'t'`` включено " +"в аргумент *mode*) вміст файлу повертається як :class:`str`, байти, які " +"спочатку були декодовані за допомогою платформи -залежне кодування або " +"використання зазначеного *кодування*, якщо воно вказано." + +msgid "" +"Python doesn't depend on the underlying operating system's notion of text " +"files; all the processing is done by Python itself, and is therefore " +"platform-independent." +msgstr "" +"Python не залежить від поняття текстових файлів базової операційної системи; " +"вся обробка виконується самим Python, і тому вона не залежить від платформи." + +msgid "" +"*buffering* is an optional integer used to set the buffering policy. Pass 0 " +"to switch buffering off (only allowed in binary mode), 1 to select line " +"buffering (only usable in text mode), and an integer > 1 to indicate the " +"size in bytes of a fixed-size chunk buffer. Note that specifying a buffer " +"size this way applies for binary buffered I/O, but ``TextIOWrapper`` (i.e., " +"files opened with ``mode='r+'``) would have another buffering. To disable " +"buffering in ``TextIOWrapper``, consider using the ``write_through`` flag " +"for :func:`io.TextIOWrapper.reconfigure`. When no *buffering* argument is " +"given, the default buffering policy works as follows:" +msgstr "" +"*buffering* — необов’язкове ціле число, яке використовується для " +"встановлення політики буферизації. Передайте 0, щоб вимкнути буферизацію " +"(дозволено лише в двійковому режимі), 1, щоб вибрати буферизацію рядка " +"(використовується лише в текстовому режимі), і ціле число > 1, щоб вказати " +"розмір у байтах буфера фрагментів фіксованого розміру. Зауважте, що " +"визначення розміру буфера таким чином стосується бінарного буферизації вводу-" +"виводу, але ``TextIOWrapper`` (тобто файли, відкриті за допомогою ``mode='r" +"+'``) матиме іншу буферизацію. Щоб вимкнути буферизацію в ``TextIOWrapper``, " +"розгляньте можливість використання прапора ``write_through`` для :func:`io." +"TextIOWrapper.reconfigure`. Якщо аргумент *buffering* не вказано, політика " +"буферизації за замовчуванням працює таким чином:" + +msgid "" +"Binary files are buffered in fixed-size chunks; the size of the buffer is " +"chosen using a heuristic trying to determine the underlying device's \"block " +"size\" and falling back on :attr:`io.DEFAULT_BUFFER_SIZE`. On many systems, " +"the buffer will typically be 4096 or 8192 bytes long." +msgstr "" +"Бінарні файли буферизуються в блоках фіксованого розміру; розмір буфера " +"вибирається за допомогою евристики, яка намагається визначити \"розмір блоку" +"\" основного пристрою та повертається до :attr:`io.DEFAULT_BUFFER_SIZE`. У " +"багатьох системах буфер зазвичай має довжину 4096 або 8192 байтів." + +msgid "" +"\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " +"returns ``True``) use line buffering. Other text files use the policy " +"described above for binary files." +msgstr "" +"\"Інтерактивні\" текстові файли (файли, для яких :meth:`~io.IOBase.isatty` " +"повертає ``True``) використовують буферизацію рядка. Інші текстові файли " +"використовують політику, описану вище для двійкових файлів." + +msgid "" +"*encoding* is the name of the encoding used to decode or encode the file. " +"This should only be used in text mode. The default encoding is platform " +"dependent (whatever :func:`locale.getencoding` returns), but any :term:`text " +"encoding` supported by Python can be used. See the :mod:`codecs` module for " +"the list of supported encodings." +msgstr "" + +msgid "" +"*errors* is an optional string that specifies how encoding and decoding " +"errors are to be handled—this cannot be used in binary mode. A variety of " +"standard error handlers are available (listed under :ref:`error-handlers`), " +"though any error handling name that has been registered with :func:`codecs." +"register_error` is also valid. The standard names include:" +msgstr "" +"*errors* — це необов’язковий рядок, який визначає, як мають оброблятися " +"помилки кодування та декодування — це не можна використовувати в двійковому " +"режимі. Доступні різноманітні стандартні обробники помилок (перераховані в :" +"ref:`error-handlers`), хоча будь-яка назва обробки помилок, зареєстрована в :" +"func:`codecs.register_error`, також дійсна. Стандартні назви включають:" + +msgid "" +"``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " +"error. The default value of ``None`` has the same effect." +msgstr "" +"``'strict'``, щоб викликати виключення :exc:`ValueError`, якщо є помилка " +"кодування. Значення за замовчуванням \"Немає\" має той самий ефект." + +msgid "" +"``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " +"data loss." +msgstr "" +"``'ignore''`` ігнорує помилки. Зауважте, що ігнорування помилок кодування " +"може призвести до втрати даних." + +msgid "" +"``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " +"where there is malformed data." +msgstr "" +"``'replace'`` вставляє маркер заміни (наприклад, ``'?'``), де є неправильно " +"сформовані дані." + +msgid "" +"``'surrogateescape'`` will represent any incorrect bytes as low surrogate " +"code units ranging from U+DC80 to U+DCFF. These surrogate code units will " +"then be turned back into the same bytes when the ``surrogateescape`` error " +"handler is used when writing data. This is useful for processing files in " +"an unknown encoding." +msgstr "" +"``'surrogateescape'`` представлятиме будь-які неправильні байти як одиниці " +"нижнього сурогатного коду в діапазоні від U+DC80 до U+DCFF. Ці одиниці " +"сурогатного коду потім будуть перетворені назад у ті самі байти, коли під " +"час запису даних використовується обробник помилок ``surrogateescape``. Це " +"корисно для обробки файлів у невідомому кодуванні." + +msgid "" +"``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " +"not supported by the encoding are replaced with the appropriate XML " +"character reference ``&#nnn;``." +msgstr "" +"``'xmlcharrefreplace'`` підтримується лише під час запису у файл. Символи, " +"які не підтримуються кодуванням, замінюються відповідним посиланням на " +"символ XML ``&#nnn;``." + +msgid "" +"``'backslashreplace'`` replaces malformed data by Python's backslashed " +"escape sequences." +msgstr "" +"``'backslashreplace'`` замінює некоректні дані керуючими послідовностями " +"Python зі зворотною похилою рискою." + +msgid "" +"``'namereplace'`` (also only supported when writing) replaces unsupported " +"characters with ``\\N{...}`` escape sequences." +msgstr "" +"``'namereplace'`` (також підтримується лише під час запису) замінює " +"непідтримувані символи ``\\N{...}`` керуючими послідовностями." + +msgid "" +"*newline* determines how to parse newline characters from the stream. It can " +"be ``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as " +"follows:" +msgstr "" + +msgid "" +"When reading input from the stream, if *newline* is ``None``, universal " +"newlines mode is enabled. Lines in the input can end in ``'\\n'``, " +"``'\\r'``, or ``'\\r\\n'``, and these are translated into ``'\\n'`` before " +"being returned to the caller. If it is ``''``, universal newlines mode is " +"enabled, but line endings are returned to the caller untranslated. If it " +"has any of the other legal values, input lines are only terminated by the " +"given string, and the line ending is returned to the caller untranslated." +msgstr "" +"Під час читання вхідних даних із потоку, якщо *новий рядок* має значення " +"``None``, увімкнено універсальний режим нових рядків. Рядки у вхідних даних " +"можуть закінчуватися на ``'\\n'``, ``'\\r'`` або ``'\\r\\n'``, і вони " +"перекладаються на ``'\\n'`` перед поверненням до абонента. Якщо це ``''``, " +"універсальний режим нових рядків увімкнено, але закінчення рядків " +"повертаються абоненту без перекладу. Якщо він має будь-яке з інших " +"дозволених значень, рядки введення завершуються лише заданим рядком, а " +"закінчення рядка повертається до викликаючого без перекладу." + +msgid "" +"When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " +"characters written are translated to the system default line separator, :" +"data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no translation " +"takes place. If *newline* is any of the other legal values, any ``'\\n'`` " +"characters written are translated to the given string." +msgstr "" +"Під час запису вихідних даних у потік, якщо *новий рядок* має значення " +"``None``, будь-які записані символи ``'\\n'`` переводяться в системний " +"роздільник рядків за умовчанням, :data:`os.linesep`. Якщо *новий рядок* є " +"``''`` або ``'\\n'``, переклад не відбувається. Якщо *новий рядок* є будь-" +"яким іншим допустимим значенням, будь-які написані символи ``'\\n'`` " +"переводяться в заданий рядок." + +msgid "" +"If *closefd* is ``False`` and a file descriptor rather than a filename was " +"given, the underlying file descriptor will be kept open when the file is " +"closed. If a filename is given *closefd* must be ``True`` (the default); " +"otherwise, an error will be raised." +msgstr "" +"Якщо *closefd* має значення ``False`` і вказано дескриптор файлу, а не ім’я " +"файлу, базовий дескриптор файлу залишатиметься відкритим, коли файл буде " +"закрито. Якщо вказано ім’я файлу *closefd* має бути ``True`` (за " +"замовчуванням); інакше виникне помилка." + +msgid "" +"A custom opener can be used by passing a callable as *opener*. The " +"underlying file descriptor for the file object is then obtained by calling " +"*opener* with (*file*, *flags*). *opener* must return an open file " +"descriptor (passing :mod:`os.open` as *opener* results in functionality " +"similar to passing ``None``)." +msgstr "" +"Спеціальний відкривач можна використовувати, передавши виклик як *opener*. " +"Базовий файловий дескриптор для об’єкта файлу потім отримується шляхом " +"виклику *opener* за допомогою (*file*, *flags*). *opener* має повертати " +"дескриптор відкритого файлу (передача :mod:`os.open` як *opener* призводить " +"до функціональності, подібної до передачі ``None``)." + +msgid "The newly created file is :ref:`non-inheritable `." +msgstr "Щойно створений файл :ref:`не успадковується `." + +msgid "" +"The following example uses the :ref:`dir_fd ` parameter of the :func:" +"`os.open` function to open a file relative to a given directory::" +msgstr "" +"У наступному прикладі використовується параметр :ref:`dir_fd ` " +"функції :func:`os.open` для відкриття файлу відносно заданого каталогу::" + +msgid "" +"The type of :term:`file object` returned by the :func:`open` function " +"depends on the mode. When :func:`open` is used to open a file in a text " +"mode (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a subclass of :" +"class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`). When used " +"to open a file in a binary mode with buffering, the returned class is a " +"subclass of :class:`io.BufferedIOBase`. The exact class varies: in read " +"binary mode, it returns an :class:`io.BufferedReader`; in write binary and " +"append binary modes, it returns an :class:`io.BufferedWriter`, and in read/" +"write mode, it returns an :class:`io.BufferedRandom`. When buffering is " +"disabled, the raw stream, a subclass of :class:`io.RawIOBase`, :class:`io." +"FileIO`, is returned." +msgstr "" +"Тип об’єкта :term:`file object`, який повертає функція :func:`open`, " +"залежить від режиму. Коли :func:`open` використовується для відкриття файлу " +"в текстовому режимі (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, тощо), він " +"повертає підклас :class:`io.TextIOBase` (зокрема :class:`io.TextIOWrapper`). " +"Коли файл використовується для відкриття файлу в бінарному режимі з " +"буферизацією, повертається клас є підкласом :class:`io.BufferedIOBase`. " +"Точний клас різниться: у бінарному режимі читання він повертає :class:`io." +"BufferedReader`; у двійкових режимах запису та додавання повертає :class:`io." +"BufferedWriter`, а в режимі читання/запису повертає :class:`io." +"BufferedRandom`. Коли буферизацію вимкнено, повертається необроблений потік, " +"підклас :class:`io.RawIOBase`, :class:`io.FileIO`." + +msgid "" +"See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " +"(where :func:`open` is declared), :mod:`os`, :mod:`os.path`, :mod:" +"`tempfile`, and :mod:`shutil`." +msgstr "" +"Перегляньте також модулі обробки файлів, такі як :mod:`fileinput`, :mod:`io` " +"(де оголошено :func:`open`), :mod:`os`, :mod:`os.path`, :mod:`tempfile` і :" +"mod:`shutil`." + +msgid "" +"Raises an :ref:`auditing event ` ``open`` with arguments ``file``, " +"``mode``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``open`` з аргументами ``file``, " +"``mode``, ``flags``." + +msgid "" +"The ``mode`` and ``flags`` arguments may have been modified or inferred from " +"the original call." +msgstr "" +"Аргументи ``mode`` і ``flags`` могли бути змінені або виведені з початкового " +"виклику." + +msgid "The *opener* parameter was added." +msgstr "Додано параметр *opener*." + +msgid "The ``'x'`` mode was added." +msgstr "Додано режим ``'x``." + +msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." +msgstr ":exc:`IOError` раніше викликався, тепер це псевдонім :exc:`OSError`." + +msgid "" +":exc:`FileExistsError` is now raised if the file opened in exclusive " +"creation mode (``'x'``) already exists." +msgstr "" +":exc:`FileExistsError` тепер викликається, якщо файл, відкритий у " +"монопольному режимі створення (``'x'``), уже існує." + +msgid "The file is now non-inheritable." +msgstr "Тепер файл не успадковується." + +msgid "" +"If the system call is interrupted and the signal handler does not raise an " +"exception, the function now retries the system call instead of raising an :" +"exc:`InterruptedError` exception (see :pep:`475` for the rationale)." +msgstr "" +"Якщо системний виклик перервано, а обробник сигналу не викликає виключення, " +"функція тепер повторює системний виклик замість того, щоб викликати виняток :" +"exc:`InterruptedError` (перегляньте :pep:`475` для обґрунтування)." + +msgid "The ``'namereplace'`` error handler was added." +msgstr "Додано обробник помилок ``'namereplace'``." + +msgid "Support added to accept objects implementing :class:`os.PathLike`." +msgstr "" +"Додано підтримку прийняття об’єктів, що реалізують :class:`os.PathLike`." + +msgid "" +"On Windows, opening a console buffer may return a subclass of :class:`io." +"RawIOBase` other than :class:`io.FileIO`." +msgstr "" +"У Windows відкриття буфера консолі може повернути підклас :class:`io." +"RawIOBase`, відмінний від :class:`io.FileIO`." + +msgid "The ``'U'`` mode has been removed." +msgstr "" + +msgid "" +"Given a string representing one Unicode character, return an integer " +"representing the Unicode code point of that character. For example, " +"``ord('a')`` returns the integer ``97`` and ``ord('€')`` (Euro sign) returns " +"``8364``. This is the inverse of :func:`chr`." +msgstr "" +"Дано рядок, що представляє один символ Unicode, повертає ціле число, що " +"представляє код Unicode цього символу. Наприклад, ``ord('a')`` повертає ціле " +"число ``97``, ``ord('€')`` (знак євро) повертає ``8364``. Це зворотне до :" +"func:`chr`." + +msgid "" +"Return *base* to the power *exp*; if *mod* is present, return *base* to the " +"power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " +"mod``). The two-argument form ``pow(base, exp)`` is equivalent to using the " +"power operator: ``base**exp``." +msgstr "" +"Повернути *base* до потужності *exp*; якщо присутній *mod*, повертає *base* " +"до ступеня *exp*, за модулем *mod* (обчислюється ефективніше, ніж " +"``pow(base, exp) % mod``). Форма з двома аргументами ``pow(base, exp)`` " +"еквівалентна використанню оператора ступеня: ``base**exp``." + +msgid "" +"The arguments must have numeric types. With mixed operand types, the " +"coercion rules for binary arithmetic operators apply. For :class:`int` " +"operands, the result has the same type as the operands (after coercion) " +"unless the second argument is negative; in that case, all arguments are " +"converted to float and a float result is delivered. For example, ``pow(10, " +"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``. For a negative " +"base of type :class:`int` or :class:`float` and a non-integral exponent, a " +"complex result is delivered. For example, ``pow(-9, 0.5)`` returns a value " +"close to ``3j``." +msgstr "" +"Аргументи повинні мати числові типи. Для змішаних типів операндів " +"застосовуються правила приведення для двійкових арифметичних операторів. Для " +"операндів :class:`int` результат має той самий тип, що й операнди (після " +"приведення), якщо другий аргумент не є від’ємним; у цьому випадку всі " +"аргументи перетворюються на значення float і видає результат float. " +"Наприклад, ``pow(10, 2)`` повертає ``100``, а ``pow(10, -2)`` повертає " +"``0,01``. Для від’ємної основи типу :class:`int` або :class:`float` і " +"нецілісного показника видається комплексний результат. Наприклад, ``pow(-9, " +"0.5)`` повертає значення, близьке до ``3j``." + +msgid "" +"For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " +"also be of integer type and *mod* must be nonzero. If *mod* is present and " +"*exp* is negative, *base* must be relatively prime to *mod*. In that case, " +"``pow(inv_base, -exp, mod)`` is returned, where *inv_base* is an inverse to " +"*base* modulo *mod*." +msgstr "" +"Для :class:`int` операндів *base* і *exp*, якщо присутній *mod*, *mod* також " +"має бути цілого типу, а *mod* має бути ненульовим. Якщо *mod* присутній і " +"*exp* від’ємний, *base* має бути відносно простим до *mod*. У цьому випадку " +"повертається ``pow(inv_base, -exp, mod)``, де *inv_base* є оберненим до " +"*base* за модулем *mod*." + +msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" +msgstr "Ось приклад обчислення оберненого числа для ``38`` за модулем ``97``::" + +msgid "" +"For :class:`int` operands, the three-argument form of ``pow`` now allows the " +"second argument to be negative, permitting computation of modular inverses." +msgstr "" +"Для операндів :class:`int` форма з трьома аргументами ``pow`` тепер дозволяє " +"другому аргументу бути від’ємним, що дозволяє обчислювати модульні обернені." + +msgid "" +"Allow keyword arguments. Formerly, only positional arguments were supported." +msgstr "" +"Дозволити аргументи ключових слів. Раніше підтримувалися лише позиційні " +"аргументи." + +msgid "" +"Print *objects* to the text stream *file*, separated by *sep* and followed " +"by *end*. *sep*, *end*, *file*, and *flush*, if present, must be given as " +"keyword arguments." +msgstr "" +"Вивести *об’єкти* в *файл* текстового потоку, розділивши *sep* і " +"супроводжуючи *end*. *sep*, *end*, *file* і *flush*, якщо вони присутні, " +"потрібно надати як аргументи ключового слова." + +msgid "" +"All non-keyword arguments are converted to strings like :func:`str` does and " +"written to the stream, separated by *sep* and followed by *end*. Both *sep* " +"and *end* must be strings; they can also be ``None``, which means to use the " +"default values. If no *objects* are given, :func:`print` will just write " +"*end*." +msgstr "" +"Усі аргументи, не пов’язані з ключовими словами, перетворюються на рядки, як " +"це робить :func:`str`, і записуються в потік, розділені символом *sep* і " +"після нього *end*. І *sep*, і *end* повинні бути рядками; вони також можуть " +"бути ``None``, що означає використання стандартних значень. Якщо *об’єктів* " +"не надано, :func:`print` просто напише *end*." + +msgid "" +"The *file* argument must be an object with a ``write(string)`` method; if it " +"is not present or ``None``, :data:`sys.stdout` will be used. Since printed " +"arguments are converted to text strings, :func:`print` cannot be used with " +"binary mode file objects. For these, use ``file.write(...)`` instead." +msgstr "" +"Аргумент *file* має бути об’єктом із методом ``write(string)``; якщо його " +"немає або ``None``, буде використано :data:`sys.stdout`. Оскільки " +"надруковані аргументи перетворюються на текстові рядки, :func:`print` не " +"можна використовувати з об’єктами файлу двійкового режиму. Для цього замість " +"цього використовуйте ``file.write(...)``." + +msgid "" +"Whether the output is buffered is usually determined by *file*, but if the " +"*flush* keyword argument is true, the stream is forcibly flushed." +msgstr "" +"Чи буферизований вихід зазвичай визначається *файлом*, але якщо аргумент " +"ключового слова *flush* має значення true, потік примусово очищується." + +msgid "Added the *flush* keyword argument." +msgstr "Додано аргумент ключового слова *flush*." + +msgid "Return a property attribute." +msgstr "Повертає атрибут властивості." + +msgid "" +"*fget* is a function for getting an attribute value. *fset* is a function " +"for setting an attribute value. *fdel* is a function for deleting an " +"attribute value. And *doc* creates a docstring for the attribute." +msgstr "" +"*fget* — це функція для отримання значення атрибута. *fset* — це функція для " +"встановлення значення атрибута. *fdel* — це функція для видалення значення " +"атрибута. А *doc* створює рядок документації для атрибута." + +msgid "A typical use is to define a managed attribute ``x``::" +msgstr "Типовим використанням є визначення керованого атрибута ``x``::" + +msgid "" +"If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " +"value`` will invoke the setter, and ``del c.x`` the deleter." +msgstr "" +"Якщо *c* є екземпляром *C*, ``c.x`` викличе засіб отримання, ``c.x = value`` " +"викличе установник, а ``del c.x`` засіб видалення." + +msgid "" +"If given, *doc* will be the docstring of the property attribute. Otherwise, " +"the property will copy *fget*'s docstring (if it exists). This makes it " +"possible to create read-only properties easily using :func:`property` as a :" +"term:`decorator`::" +msgstr "" +"Якщо вказано, *doc* буде рядком документації атрибута властивості. В іншому " +"випадку властивість скопіює рядок документа *fget* (якщо він існує). Це дає " +"змогу легко створювати властивості лише для читання, використовуючи :func:" +"`property` як :term:`decorator`::" + +msgid "" +"The ``@property`` decorator turns the :meth:`voltage` method into a \"getter" +"\" for a read-only attribute with the same name, and it sets the docstring " +"for *voltage* to \"Get the current voltage.\"" +msgstr "" +"Декоратор ``@property`` перетворює метод :meth:`voltage` на \"отримувач\" " +"для атрибута лише для читання з такою самою назвою, і встановлює рядок " +"документації для *voltage* на \"Отримати поточну напругу\"." + +msgid "" +"A property object has :attr:`~property.getter`, :attr:`~property.setter`, " +"and :attr:`~property.deleter` methods usable as decorators that create a " +"copy of the property with the corresponding accessor function set to the " +"decorated function. This is best explained with an example::" +msgstr "" +"Об’єкт властивості має методи :attr:`~property.getter`, :attr:`~property." +"setter` і :attr:`~property.deleter`, які можна використовувати як " +"декоратори, які створюють копію властивості з відповідною функцією доступу " +"встановлено на декоровану функцію. Це найкраще пояснити на прикладі::" + +msgid "" +"This code is exactly equivalent to the first example. Be sure to give the " +"additional functions the same name as the original property (``x`` in this " +"case.)" +msgstr "" +"Цей код точно еквівалентний першому прикладу. Обов’язково дайте додатковим " +"функціям те саме ім’я, що й початкова властивість (у цьому випадку ``x``)." + +msgid "" +"The returned property object also has the attributes ``fget``, ``fset``, and " +"``fdel`` corresponding to the constructor arguments." +msgstr "" +"Повернений об’єкт властивості також має атрибути ``fget``, ``fset`` і " +"``fdel``, що відповідають аргументам конструктора." + +msgid "The docstrings of property objects are now writeable." +msgstr "Рядки документації об’єктів властивості тепер доступні для запису." + +msgid "" +"Rather than being a function, :class:`range` is actually an immutable " +"sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." +msgstr "" +"Замість того, щоб бути функцією, :class:`range` насправді є незмінним типом " +"послідовності, як описано в :ref:`typesseq-range` і :ref:`typesseq`." + +msgid "" +"Return a string containing a printable representation of an object. For " +"many types, this function makes an attempt to return a string that would " +"yield an object with the same value when passed to :func:`eval`; otherwise, " +"the representation is a string enclosed in angle brackets that contains the " +"name of the type of the object together with additional information often " +"including the name and address of the object. A class can control what this " +"function returns for its instances by defining a :meth:`__repr__` method. " +"If :func:`sys.displayhook` is not accessible, this function will raise :exc:" +"`RuntimeError`." +msgstr "" + +msgid "" +"Return a reverse :term:`iterator`. *seq* must be an object which has a :" +"meth:`__reversed__` method or supports the sequence protocol (the :meth:" +"`__len__` method and the :meth:`__getitem__` method with integer arguments " +"starting at ``0``)." +msgstr "" +"Повертає зворотний :term:`iterator`. *seq* має бути об’єктом, який має " +"метод :meth:`__reversed__` або підтримує протокол послідовності (метод :meth:" +"`__len__` і метод :meth:`__getitem__` з цілими аргументами, починаючи з " +"``0`` )." + +msgid "" +"Return *number* rounded to *ndigits* precision after the decimal point. If " +"*ndigits* is omitted or is ``None``, it returns the nearest integer to its " +"input." +msgstr "" +"Повертає *число*, округлене до *nцифр* з точністю після коми. Якщо *ndigits* " +"опущено або має значення ``None``, він повертає найближче ціле число до " +"вхідних даних." + +msgid "" +"For the built-in types supporting :func:`round`, values are rounded to the " +"closest multiple of 10 to the power minus *ndigits*; if two multiples are " +"equally close, rounding is done toward the even choice (so, for example, " +"both ``round(0.5)`` and ``round(-0.5)`` are ``0``, and ``round(1.5)`` is " +"``2``). Any integer value is valid for *ndigits* (positive, zero, or " +"negative). The return value is an integer if *ndigits* is omitted or " +"``None``. Otherwise, the return value has the same type as *number*." +msgstr "" +"Для вбудованих типів, які підтримують :func:`round`, значення округлюються " +"до найближчого кратного 10 у степені мінус *ndigits*; якщо два кратні " +"однаково близькі, округлення виконується в бік парного вибору (тому, " +"наприклад, як``round(0.5)``, так і ``round(-0.5)`` є ``0``, а ``round(1.5)`` " +"є ``2``). Будь-яке ціле значення є дійсним для *nцифр* (додатне, нульове або " +"від’ємне). Повернене значення є цілим числом, якщо *ndigits* пропущено або " +"``None``. В іншому випадку значення, що повертається, має той самий тип, що " +"й *число*." + +msgid "" +"For a general Python object ``number``, ``round`` delegates to ``number." +"__round__``." +msgstr "" +"Для загального об’єкта Python ``number`` ``round`` делегує ``number." +"__round__``." + +msgid "" +"The behavior of :func:`round` for floats can be surprising: for example, " +"``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " +"not a bug: it's a result of the fact that most decimal fractions can't be " +"represented exactly as a float. See :ref:`tut-fp-issues` for more " +"information." +msgstr "" +"Поведінка :func:`round` для числа з плаваючою точкою може бути несподіваною: " +"наприклад, ``round(2.675, 2)`` дає ``2.67`` замість очікуваного ``2.68``. Це " +"не помилка: це результат того факту, що більшість десяткових дробів не можна " +"представити точно як число з плаваючою точкою. Перегляньте :ref:`tut-fp-" +"issues` для отримання додаткової інформації." + +msgid "" +"Return a new :class:`set` object, optionally with elements taken from " +"*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-" +"set` for documentation about this class." +msgstr "" +"Повертає новий об’єкт :class:`set`, необов’язково з елементами, взятими з " +"*iterable*. ``набір`` є вбудованим класом. Перегляньте :class:`set` і :ref:" +"`types-set` для документації про цей клас." + +msgid "" +"For other containers see the built-in :class:`frozenset`, :class:`list`, :" +"class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " +"module." +msgstr "" +"Для інших контейнерів перегляньте вбудовані класи :class:`frozenset`, :class:" +"`list`, :class:`tuple` і :class:`dict`, а також модуль :mod:`collections`." + +msgid "" +"This is the counterpart of :func:`getattr`. The arguments are an object, a " +"string, and an arbitrary value. The string may name an existing attribute " +"or a new attribute. The function assigns the value to the attribute, " +"provided the object allows it. For example, ``setattr(x, 'foobar', 123)`` " +"is equivalent to ``x.foobar = 123``." +msgstr "" +"Це відповідник :func:`getattr`. Аргументами є об’єкт, рядок і довільне " +"значення. Рядок може називати існуючий атрибут або новий атрибут. Функція " +"присвоює значення атрибуту, якщо це дозволяє об’єкт. Наприклад, ``setattr(x, " +"'foobar', 123)`` еквівалентно ``x.foobar = 123``." + +msgid "" +"*name* need not be a Python identifier as defined in :ref:`identifiers` " +"unless the object chooses to enforce that, for example in a custom :meth:" +"`~object.__getattribute__` or via :attr:`~object.__slots__`. An attribute " +"whose name is not an identifier will not be accessible using the dot " +"notation, but is accessible through :func:`getattr` etc.." +msgstr "" + +msgid "" +"Since :ref:`private name mangling ` happens at " +"compilation time, one must manually mangle a private attribute's (attributes " +"with two leading underscores) name in order to set it with :func:`setattr`." +msgstr "" +"Оскільки :ref:`викривлення приватного імені ` " +"відбувається під час компіляції, потрібно вручну спотворити ім’я приватного " +"атрибута (атрибути з двома символами підкреслення на початку), щоб " +"встановити його за допомогою :func:`setattr`." + +msgid "" +"Return a :term:`slice` object representing the set of indices specified by " +"``range(start, stop, step)``. The *start* and *step* arguments default to " +"``None``. Slice objects have read-only data attributes :attr:`~slice." +"start`, :attr:`~slice.stop`, and :attr:`~slice.step` which merely return the " +"argument values (or their default). They have no other explicit " +"functionality; however, they are used by NumPy and other third-party " +"packages. Slice objects are also generated when extended indexing syntax is " +"used. For example: ``a[start:stop:step]`` or ``a[start:stop, i]``. See :" +"func:`itertools.islice` for an alternate version that returns an iterator." +msgstr "" +"Повертає об’єкт :term:`slice`, що представляє набір індексів, визначених " +"``діапазоном (початок, зупинка, крок)``. Аргументи *start* і *step* за " +"умовчанням мають значення ``None``. Об’єкти фрагментів мають атрибути даних " +"лише для читання :attr:`~slice.start`, :attr:`~slice.stop` і :attr:`~slice." +"step`, які просто повертають значення аргументів (або їхнє значення за " +"замовчуванням). Вони не мають інших явних функцій; однак вони " +"використовуються NumPy та іншими пакетами сторонніх виробників. Об’єкти " +"фрагментів також генеруються, коли використовується розширений синтаксис " +"індексування. Наприклад: ``a[start:stop:step]`` або ``a[start:stop, i]``. " +"Перегляньте :func:`itertools.islice` альтернативну версію, яка повертає " +"ітератор." + +msgid "Return a new sorted list from the items in *iterable*." +msgstr "Повертає новий відсортований список з елементів у *iterable*." + +msgid "" +"Has two optional arguments which must be specified as keyword arguments." +msgstr "" +"Має два необов’язкові аргументи, які необхідно вказати як аргументи " +"ключового слова." + +msgid "" +"*key* specifies a function of one argument that is used to extract a " +"comparison key from each element in *iterable* (for example, ``key=str." +"lower``). The default value is ``None`` (compare the elements directly)." +msgstr "" +"*key* визначає функцію одного аргументу, яка використовується для отримання " +"ключа порівняння з кожного елемента в *iterable* (наприклад, ``key=str." +"lower``). Значення за замовчуванням – ``None`` (пряме порівняння елементів)." + +msgid "" +"*reverse* is a boolean value. If set to ``True``, then the list elements " +"are sorted as if each comparison were reversed." +msgstr "" +"*reverse* — це логічне значення. Якщо встановлено значення ``True``, " +"елементи списку сортуються так, ніби кожне порівняння було зворотним." + +msgid "" +"Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " +"*key* function." +msgstr "" +"Використовуйте :func:`functools.cmp_to_key`, щоб перетворити функцію *cmp* " +"старого стилю на функцію *key*." + +msgid "" +"The built-in :func:`sorted` function is guaranteed to be stable. A sort is " +"stable if it guarantees not to change the relative order of elements that " +"compare equal --- this is helpful for sorting in multiple passes (for " +"example, sort by department, then by salary grade)." +msgstr "" +"Вбудована функція :func:`sorted` гарантовано буде стабільною. Сортування є " +"стабільним, якщо воно гарантує відсутність зміни відносного порядку " +"порівнюваних рівних елементів --- це корисно для сортування за кілька " +"проходів (наприклад, сортування за відділом, а потім за ступенем заробітної " +"плати)." + +msgid "" +"The sort algorithm uses only ``<`` comparisons between items. While " +"defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " +"recommends that all six :ref:`rich comparisons ` be " +"implemented. This will help avoid bugs when using the same data with other " +"ordering tools such as :func:`max` that rely on a different underlying " +"method. Implementing all six comparisons also helps avoid confusion for " +"mixed type comparisons which can call reflected the :meth:`~object.__gt__` " +"method." +msgstr "" +"Алгоритм сортування використовує лише ``<`` comparisons between items. " +"While defining an :meth:`~object.__lt__` method will suffice for sorting, :" +"PEP:`8` recommends that all six :ref:`rich comparisons `. Це " +"допоможе уникнути помилок під час використання тих самих даних з іншими " +"інструментами впорядкування, такими як :func:`max`, які покладаються на " +"інший базовий метод. Реалізація всіх шести порівнянь також допомагає " +"уникнути плутанини для порівнянь змішаного типу, які можуть викликати " +"відображений метод :meth:`~object.__gt__`." + +msgid "" +"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." +msgstr "" +"Приклади сортування та короткий посібник із сортування див. :ref:" +"`sortinghowto`." + +msgid "Transform a method into a static method." +msgstr "Перетворення методу в статичний метод." + +msgid "" +"A static method does not receive an implicit first argument. To declare a " +"static method, use this idiom::" +msgstr "" +"Статичний метод не отримує неявний перший аргумент. Щоб оголосити статичний " +"метод, використовуйте цю ідіому::" + +msgid "" +"The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" +"`function` for details." +msgstr "" +"Форма ``@staticmethod`` є функцією :term:`decorator` -- подробиці див. :ref:" +"`function`." + +msgid "" +"A static method can be called either on the class (such as ``C.f()``) or on " +"an instance (such as ``C().f()``). Moreover, they can be called as regular " +"functions (such as ``f()``)." +msgstr "" +"Статичний метод можна викликати або в класі (наприклад, ``C.f()``), або в " +"екземплярі (такому як ``C().f()``). Крім того, їх можна викликати як " +"звичайні функції (наприклад, ``f()``)." + +msgid "" +"Static methods in Python are similar to those found in Java or C++. Also, " +"see :func:`classmethod` for a variant that is useful for creating alternate " +"class constructors." +msgstr "" +"Статичні методи в Python подібні до методів Java або C++. Також перегляньте :" +"func:`classmethod` варіант, який корисний для створення альтернативних " +"конструкторів класів." + +msgid "" +"Like all decorators, it is also possible to call ``staticmethod`` as a " +"regular function and do something with its result. This is needed in some " +"cases where you need a reference to a function from a class body and you " +"want to avoid the automatic transformation to instance method. For these " +"cases, use this idiom::" +msgstr "" +"Як і в усіх декораторах, також можна викликати ``staticmethod`` як звичайну " +"функцію та щось робити з його результатом. Це необхідно в деяких випадках, " +"коли вам потрібно посилання на функцію з тіла класу, і ви хочете уникнути " +"автоматичного перетворення в метод екземпляра. Для цих випадків " +"використовуйте цю ідіому::" + +msgid "For more information on static methods, see :ref:`types`." +msgstr "" +"Для отримання додаткової інформації про статичні методи див. :ref:`types`." + +msgid "" +"Static methods now inherit the method attributes (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a " +"new ``__wrapped__`` attribute, and are now callable as regular functions." +msgstr "" +"Статичні методи тепер успадковують атрибути методу (``__module__``, " +"``__name__``, ``__qualname__``, ``__doc__`` і ``__annotations__``), мають " +"новий атрибут ``__wrapped__`` і тепер викликаються як звичайні функції." + +msgid "" +"Return a :class:`str` version of *object*. See :func:`str` for details." +msgstr "" +"Повертає :class:`str` версію *object*. Дивіться :func:`str` для деталей." + +msgid "" +"``str`` is the built-in string :term:`class`. For general information about " +"strings, see :ref:`textseq`." +msgstr "" +"``str`` — це вбудований рядок :term:`class`. Щоб отримати загальну " +"інформацію про рядки, перегляньте :ref:`textseq`." + +msgid "" +"Sums *start* and the items of an *iterable* from left to right and returns " +"the total. The *iterable*'s items are normally numbers, and the start value " +"is not allowed to be a string." +msgstr "" +"Сумує *start* і елементи *iterable* зліва направо та повертає підсумок. " +"Елементи *iterable* зазвичай є числами, а початкове значення не може бути " +"рядком." + +msgid "" +"For some use cases, there are good alternatives to :func:`sum`. The " +"preferred, fast way to concatenate a sequence of strings is by calling ``''." +"join(sequence)``. To add floating point values with extended precision, " +"see :func:`math.fsum`\\. To concatenate a series of iterables, consider " +"using :func:`itertools.chain`." +msgstr "" +"Для деяких випадків використання є хороші альтернативи :func:`sum`. Кращим " +"швидким способом об’єднання послідовності рядків є виклик ``''." +"join(sequence)``. Щоб додати значення з плаваючою комою з розширеною " +"точністю, перегляньте :func:`math.fsum`\\. Щоб об’єднати ряд ітерацій, " +"розгляньте можливість використання :func:`itertools.chain`." + +msgid "The *start* parameter can be specified as a keyword argument." +msgstr "Параметр *start* можна вказати як аргумент ключового слова." + +msgid "" +"Return a proxy object that delegates method calls to a parent or sibling " +"class of *type*. This is useful for accessing inherited methods that have " +"been overridden in a class." +msgstr "" +"Повертає проксі-об’єкт, який делегує виклики методу батьківському або " +"рідному класу *типу*. Це корисно для доступу до успадкованих методів, які " +"були перевизначені в класі." + +msgid "" +"The *object_or_type* determines the :term:`method resolution order` to be " +"searched. The search starts from the class right after the *type*." +msgstr "" + +msgid "" +"For example, if :attr:`~class.__mro__` of *object_or_type* is ``D -> B -> C -" +"> A -> object`` and the value of *type* is ``B``, then :func:`super` " +"searches ``C -> A -> object``." +msgstr "" + +msgid "" +"The :attr:`~class.__mro__` attribute of the *object_or_type* lists the " +"method resolution search order used by both :func:`getattr` and :func:" +"`super`. The attribute is dynamic and can change whenever the inheritance " +"hierarchy is updated." +msgstr "" + +msgid "" +"If the second argument is omitted, the super object returned is unbound. If " +"the second argument is an object, ``isinstance(obj, type)`` must be true. " +"If the second argument is a type, ``issubclass(type2, type)`` must be true " +"(this is useful for classmethods)." +msgstr "" +"Якщо другий аргумент опущено, повернутий супероб’єкт не зв’язаний. Якщо " +"другий аргумент є об’єктом, ``isinstance(obj, type)`` має бути істинним. " +"Якщо другий аргумент є типом, ``issubclass(type2, type)`` має бути істинним " +"(це корисно для методів класу)." + +msgid "" +"There are two typical use cases for *super*. In a class hierarchy with " +"single inheritance, *super* can be used to refer to parent classes without " +"naming them explicitly, thus making the code more maintainable. This use " +"closely parallels the use of *super* in other programming languages." +msgstr "" +"Є два типових випадки використання *super*. В ієрархії класів з єдиним " +"успадкуванням *super* можна використовувати для посилання на батьківські " +"класи, не вказуючи їх явно, що робить код більш придатним для " +"обслуговування. Це використання дуже схоже на використання *super* в інших " +"мовах програмування." + +msgid "" +"The second use case is to support cooperative multiple inheritance in a " +"dynamic execution environment. This use case is unique to Python and is not " +"found in statically compiled languages or languages that only support single " +"inheritance. This makes it possible to implement \"diamond diagrams\" where " +"multiple base classes implement the same method. Good design dictates that " +"such implementations have the same calling signature in every case (because " +"the order of calls is determined at runtime, because that order adapts to " +"changes in the class hierarchy, and because that order can include sibling " +"classes that are unknown prior to runtime)." +msgstr "" +"Другий варіант використання — це підтримка кооперативного множинного " +"успадкування в динамічному середовищі виконання. Цей варіант використання " +"унікальний для Python і не зустрічається в статично скомпільованих мовах або " +"мовах, які підтримують лише одне успадкування. Це дає змогу реалізувати " +"\"діамантові діаграми\", де кілька базових класів реалізують один і той же " +"метод. Хороший дизайн вимагає, щоб такі реалізації мали однакову сигнатуру " +"виклику в кожному випадку (оскільки порядок викликів визначається під час " +"виконання, оскільки цей порядок адаптується до змін в ієрархії класів, і " +"оскільки цей порядок може включати однотипні класи, які невідомі до " +"виконання )." + +msgid "For both use cases, a typical superclass call looks like this::" +msgstr "Для обох випадків типовий виклик суперкласу виглядає так:" + +msgid "" +"In addition to method lookups, :func:`super` also works for attribute " +"lookups. One possible use case for this is calling :term:`descriptors " +"` in a parent or sibling class." +msgstr "" +"Окрім пошуку методів, :func:`super` також працює для пошуку атрибутів. Одним " +"із можливих варіантів використання цього є виклик :term:`дескрипторів " +"` у батьківському або рідному класі." + +msgid "" +"Note that :func:`super` is implemented as part of the binding process for " +"explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " +"does so by implementing its own :meth:`__getattribute__` method for " +"searching classes in a predictable order that supports cooperative multiple " +"inheritance. Accordingly, :func:`super` is undefined for implicit lookups " +"using statements or operators such as ``super()[name]``." +msgstr "" +"Зауважте, що :func:`super` реалізовано як частину процесу зв’язування для " +"явного пошуку атрибутів із пунктирною точкою, наприклад ``super()." +"__getitem__(name)``. Це робиться шляхом реалізації власного методу :meth:" +"`__getattribute__` для пошуку класів у передбачуваному порядку, який " +"підтримує кооперативне множинне успадкування. Відповідно, :func:`super` не " +"визначено для неявних пошуків за допомогою операторів або операторів, таких " +"як ``super()[name]``." + +msgid "" +"Also note that, aside from the zero argument form, :func:`super` is not " +"limited to use inside methods. The two argument form specifies the " +"arguments exactly and makes the appropriate references. The zero argument " +"form only works inside a class definition, as the compiler fills in the " +"necessary details to correctly retrieve the class being defined, as well as " +"accessing the current instance for ordinary methods." +msgstr "" +"Також зауважте, що, окрім форми нульового аргументу, :func:`super` не " +"обмежується використанням внутрішніх методів. Форма з двома аргументами " +"точно визначає аргументи та робить відповідні посилання. Форма нульового " +"аргументу працює лише всередині визначення класу, оскільки компілятор " +"заповнює необхідні деталі для правильного отримання визначеного класу, а " +"також для доступу до поточного екземпляра для звичайних методів." + +msgid "" +"For practical suggestions on how to design cooperative classes using :func:" +"`super`, see `guide to using super() `_." +msgstr "" +"Щоб отримати практичні поради щодо створення кооперативних класів за " +"допомогою :func:`super`, перегляньте `посібник із використання super() " +"`_." + +msgid "" +"Rather than being a function, :class:`tuple` is actually an immutable " +"sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." +msgstr "" +"Замість того, щоб бути функцією, :class:`tuple` насправді є незмінним типом " +"послідовності, як описано в :ref:`typesseq-tuple` і :ref:`typesseq`." + +msgid "" +"With one argument, return the type of an *object*. The return value is a " +"type object and generally the same object as returned by :attr:`object." +"__class__ `." +msgstr "" +"З одним аргументом повертає тип *об’єкта*. Значення, що повертається, є " +"об’єктом типу та, як правило, таким самим об’єктом, який повертає :attr:" +"`object.__class__ `." + +msgid "" +"The :func:`isinstance` built-in function is recommended for testing the type " +"of an object, because it takes subclasses into account." +msgstr "" +"Для перевірки типу об’єкта рекомендується використовувати вбудовану функцію :" +"func:`isinstance`, оскільки вона враховує підкласи." + +msgid "" +"With three arguments, return a new type object. This is essentially a " +"dynamic form of the :keyword:`class` statement. The *name* string is the " +"class name and becomes the :attr:`~definition.__name__` attribute. The " +"*bases* tuple contains the base classes and becomes the :attr:`~class." +"__bases__` attribute; if empty, :class:`object`, the ultimate base of all " +"classes, is added. The *dict* dictionary contains attribute and method " +"definitions for the class body; it may be copied or wrapped before becoming " +"the :attr:`~object.__dict__` attribute. The following two statements create " +"identical :class:`type` objects:" +msgstr "" +"З трьома аргументами повертає об’єкт нового типу. По суті, це динамічна " +"форма оператора :keyword:`class`. Рядок *name* є назвою класу і стає " +"атрибутом :attr:`~definition.__name__`. Кортеж *bases* містить базові класи " +"та стає атрибутом :attr:`~class.__bases__`; якщо порожній, додається :class:" +"`object`, кінцева база всіх класів. Словник *dict* містить визначення " +"атрибутів і методів для тіла класу; його можна скопіювати або обернути перед " +"тим, як стати атрибутом :attr:`~object.__dict__`. Наступні два оператори " +"створюють ідентичні об’єкти :class:`type`:" + +msgid "See also :ref:`bltin-type-objects`." +msgstr "Дивіться також :ref:`bltin-type-objects`." + +msgid "" +"Keyword arguments provided to the three argument form are passed to the " +"appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " +"in the same way that keywords in a class definition (besides *metaclass*) " +"would." +msgstr "" +"Аргументи ключових слів, надані у формі з трьома аргументами, передаються у " +"відповідний механізм метакласу (зазвичай :meth:`~object.__init_subclass__`) " +"так само, як ключові слова у визначенні класу (крім *metaclass*)." + +msgid "See also :ref:`class-customization`." +msgstr "Дивіться також :ref:`class-customization`." + +msgid "" +"Subclasses of :class:`type` which don't override ``type.__new__`` may no " +"longer use the one-argument form to get the type of an object." +msgstr "" +"Підкласи :class:`type`, які не перевизначають ``type.__new__``, більше не " +"можуть використовувати форму з одним аргументом для отримання типу об’єкта." + +msgid "" +"Return the :attr:`~object.__dict__` attribute for a module, class, instance, " +"or any other object with a :attr:`~object.__dict__` attribute." +msgstr "" +"Повертає атрибут :attr:`~object.__dict__` для модуля, класу, екземпляра або " +"будь-якого іншого об’єкта з атрибутом :attr:`~object.__dict__`." + +msgid "" +"Objects such as modules and instances have an updateable :attr:`~object." +"__dict__` attribute; however, other objects may have write restrictions on " +"their :attr:`~object.__dict__` attributes (for example, classes use a :class:" +"`types.MappingProxyType` to prevent direct dictionary updates)." +msgstr "" +"Такі об’єкти, як модулі та екземпляри, мають оновлюваний атрибут :attr:" +"`~object.__dict__`; однак інші об’єкти можуть мати обмеження на запис своїх " +"атрибутів :attr:`~object.__dict__` (наприклад, класи використовують :class:" +"`types.MappingProxyType`, щоб запобігти прямим оновленням словника)." + +msgid "" +"Without an argument, :func:`vars` acts like :func:`locals`. Note, the " +"locals dictionary is only useful for reads since updates to the locals " +"dictionary are ignored." +msgstr "" +"Без аргументу :func:`vars` діє як :func:`locals`. Зауважте, що словник " +"місцевих користувачів корисний лише для читання, оскільки оновлення словника " +"локальних користувачів ігноруються." + +msgid "" +"A :exc:`TypeError` exception is raised if an object is specified but it " +"doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " +"defines the :attr:`~object.__slots__` attribute)." +msgstr "" +"Виняток :exc:`TypeError` виникає, якщо об’єкт указано, але він не має " +"атрибута :attr:`~object.__dict__` (наприклад, якщо його клас визначає :attr:" +"`~object.__slots__` атрибут)." + +msgid "" +"Iterate over several iterables in parallel, producing tuples with an item " +"from each one." +msgstr "" +"Виконайте ітерацію кількох ітерацій паралельно, створюючи кортежі з " +"елементом з кожного." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " +"tuple contains the *i*-th element from each of the argument iterables." +msgstr "" +"Більш формально: :func:`zip` повертає ітератор кортежів, де *i*-й кортеж " +"містить *i*-й елемент з кожного з ітерованих аргументів." + +msgid "" +"Another way to think of :func:`zip` is that it turns rows into columns, and " +"columns into rows. This is similar to `transposing a matrix `_." +msgstr "" +"Інший спосіб уявлення про :func:`zip` полягає в тому, що він перетворює " +"рядки на стовпці, а стовпці — на рядки. Це схоже на `транспонування матриці " +"`_." + +msgid "" +":func:`zip` is lazy: The elements won't be processed until the iterable is " +"iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:" +"`list`." +msgstr "" +":func:`zip` ледачий: елементи не будуть оброблені, доки не буде виконано " +"ітерацію, напр. за допомогою циклу :keyword:`!for` або загортання в :class:" +"`list`." + +msgid "" +"One thing to consider is that the iterables passed to :func:`zip` could have " +"different lengths; sometimes by design, and sometimes because of a bug in " +"the code that prepared these iterables. Python offers three different " +"approaches to dealing with this issue:" +msgstr "" +"Варто взяти до уваги те, що ітератори, передані :func:`zip`, можуть мати " +"різну довжину; іноді задумом, а іноді через помилку в коді, який підготував " +"ці ітерації. Python пропонує три різні підходи до вирішення цієї проблеми:" + +msgid "" +"By default, :func:`zip` stops when the shortest iterable is exhausted. It " +"will ignore the remaining items in the longer iterables, cutting off the " +"result to the length of the shortest iterable::" +msgstr "" +"За замовчуванням :func:`zip` зупиняється, коли вичерпується найкоротша " +"ітерація. Він ігноруватиме решта елементів у довших ітераціях, відрізаючи " +"результат до довжини найкоротшої ітерації::" + +msgid "" +":func:`zip` is often used in cases where the iterables are assumed to be of " +"equal length. In such cases, it's recommended to use the ``strict=True`` " +"option. Its output is the same as regular :func:`zip`::" +msgstr "" +":func:`zip` часто використовується у випадках, коли передбачається, що " +"ітератори мають однакову довжину. У таких випадках рекомендується " +"використовувати параметр ``strict=True``. Його вихід такий самий, як і " +"звичайний :func:`zip`::" + +msgid "" +"Unlike the default behavior, it checks that the lengths of iterables are " +"identical, raising a :exc:`ValueError` if they aren't:" +msgstr "" +"На відміну від поведінки за замовчуванням, він перевіряє, що довжини " +"ітерованих елементів ідентичні, викликаючи :exc:`ValueError`, якщо вони не є:" + +msgid "" +"Without the ``strict=True`` argument, any bug that results in iterables of " +"different lengths will be silenced, possibly manifesting as a hard-to-find " +"bug in another part of the program." +msgstr "" +"Без аргументу ``strict=True`` будь-яка помилка, яка призводить до ітерацій " +"різної довжини, буде замовчена, можливо, проявляючись як помилка, яку важко " +"знайти в іншій частині програми." + +msgid "" +"Shorter iterables can be padded with a constant value to make all the " +"iterables have the same length. This is done by :func:`itertools." +"zip_longest`." +msgstr "" +"Коротші ітератори можна доповнити постійним значенням, щоб усі ітератори " +"мали однакову довжину. Це робить :func:`itertools.zip_longest`." + +msgid "" +"Edge cases: With a single iterable argument, :func:`zip` returns an iterator " +"of 1-tuples. With no arguments, it returns an empty iterator." +msgstr "" +"Граничні випадки: з одним ітерованим аргументом :func:`zip` повертає " +"ітератор 1-кортежів. Без аргументів він повертає порожній ітератор." + +msgid "Tips and tricks:" +msgstr "Поради та підказки:" + +msgid "" +"The left-to-right evaluation order of the iterables is guaranteed. This " +"makes possible an idiom for clustering a data series into n-length groups " +"using ``zip(*[iter(s)]*n, strict=True)``. This repeats the *same* iterator " +"``n`` times so that each output tuple has the result of ``n`` calls to the " +"iterator. This has the effect of dividing the input into n-length chunks." +msgstr "" +"Порядок оцінки ітерацій зліва направо гарантується. Це робить можливою " +"ідіому для кластеризації рядів даних у групи довжини n за допомогою " +"``zip(*[iter(s)]*n, strict=True)``. Це повторює *той самий* ітератор ``n`` " +"разів, щоб кожен вихідний кортеж мав результат ``n`` викликів ітератора. Це " +"призводить до поділу вхідних даних на фрагменти довжиною n." + +msgid "" +":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " +"list::" +msgstr "" +":func:`zip` у поєднанні з оператором ``*`` можна використовувати для " +"розпакування списку::" + +msgid "Added the ``strict`` argument." +msgstr "Додано аргумент ``строгий``." + +msgid "" +"This is an advanced function that is not needed in everyday Python " +"programming, unlike :func:`importlib.import_module`." +msgstr "" +"Це розширена функція, яка не потрібна в повсякденному програмуванні на " +"Python, на відміну від :func:`importlib.import_module`." + +msgid "" +"This function is invoked by the :keyword:`import` statement. It can be " +"replaced (by importing the :mod:`builtins` module and assigning to " +"``builtins.__import__``) in order to change semantics of the :keyword:`!" +"import` statement, but doing so is **strongly** discouraged as it is usually " +"simpler to use import hooks (see :pep:`302`) to attain the same goals and " +"does not cause issues with code which assumes the default import " +"implementation is in use. Direct use of :func:`__import__` is also " +"discouraged in favor of :func:`importlib.import_module`." +msgstr "" +"Ця функція викликається оператором :keyword:`import`. Його можна замінити " +"(імпортувавши модуль :mod:`builtins` і призначивши ``builtins.__import__``), " +"щоб змінити семантику оператора :keyword:`!import`, але це **настійно** не " +"рекомендується, оскільки зазвичай простіше використовувати перехоплювачі " +"імпорту (див. :pep:`302`) для досягнення тих самих цілей і не викликає " +"проблем із кодом, який припускає, що використовується реалізація імпорту за " +"замовчуванням. Пряме використання :func:`__import__` також не рекомендується " +"на користь :func:`importlib.import_module`." + +msgid "" +"The function imports the module *name*, potentially using the given " +"*globals* and *locals* to determine how to interpret the name in a package " +"context. The *fromlist* gives the names of objects or submodules that should " +"be imported from the module given by *name*. The standard implementation " +"does not use its *locals* argument at all and uses its *globals* only to " +"determine the package context of the :keyword:`import` statement." +msgstr "" +"Функція імпортує *name* модуля, потенційно використовуючи задані *globals* і " +"*locals*, щоб визначити, як інтерпретувати назву в контексті пакета. Список " +"*fromlist* надає імена об’єктів або підмодулів, які слід імпортувати з " +"модуля, заданого *name*. Стандартна реалізація взагалі не використовує свій " +"аргумент *locals* і використовує його *globals* лише для визначення " +"контексту пакета оператора :keyword:`import`." + +msgid "" +"*level* specifies whether to use absolute or relative imports. ``0`` (the " +"default) means only perform absolute imports. Positive values for *level* " +"indicate the number of parent directories to search relative to the " +"directory of the module calling :func:`__import__` (see :pep:`328` for the " +"details)." +msgstr "" +"*рівень* визначає, чи використовувати абсолютний чи відносний імпорт. ``0`` " +"(за замовчуванням) означає виконання лише абсолютного імпорту. Позитивні " +"значення для *level* вказують на кількість батьківських каталогів для пошуку " +"відносно каталогу модуля, який викликає :func:`__import__` (див. :pep:`328` " +"для деталей)." + +msgid "" +"When the *name* variable is of the form ``package.module``, normally, the " +"top-level package (the name up till the first dot) is returned, *not* the " +"module named by *name*. However, when a non-empty *fromlist* argument is " +"given, the module named by *name* is returned." +msgstr "" +"Якщо змінна *name* має форму ``package.module``, зазвичай повертається пакет " +"верхнього рівня (ім’я до першої крапки), *а не* модуль, названий *name*. " +"Однак, якщо вказано непорожній аргумент *fromlist*, повертається модуль, " +"названий *name*." + +msgid "" +"For example, the statement ``import spam`` results in bytecode resembling " +"the following code::" +msgstr "" +"Наприклад, оператор ``import spam`` призводить до байт-коду, схожого на " +"такий код:" + +msgid "The statement ``import spam.ham`` results in this call::" +msgstr "Інструкція ``import spam.ham`` призводить до цього виклику::" + +msgid "" +"Note how :func:`__import__` returns the toplevel module here because this is " +"the object that is bound to a name by the :keyword:`import` statement." +msgstr "" +"Зверніть увагу, як :func:`__import__` повертає тут модуль верхнього рівня, " +"оскільки це об’єкт, який прив’язаний до імені оператором :keyword:`import`." + +msgid "" +"On the other hand, the statement ``from spam.ham import eggs, sausage as " +"saus`` results in ::" +msgstr "" +"З іншого боку, заява ``from spam.ham import eggs, sausage as saus`` " +"призводить до:" + +msgid "" +"Here, the ``spam.ham`` module is returned from :func:`__import__`. From " +"this object, the names to import are retrieved and assigned to their " +"respective names." +msgstr "" +"Тут модуль ``spam.ham`` повертається з :func:`__import__`. З цього об’єкта " +"витягуються імена для імпорту та призначаються їх відповідні імена." + +msgid "" +"If you simply want to import a module (potentially within a package) by " +"name, use :func:`importlib.import_module`." +msgstr "" +"Якщо ви просто хочете імпортувати модуль (можливо, у пакеті) за назвою, " +"використовуйте :func:`importlib.import_module`." + +msgid "" +"Negative values for *level* are no longer supported (which also changes the " +"default value to 0)." +msgstr "" +"Від’ємні значення для *рівня* більше не підтримуються (що також змінює " +"значення за замовчуванням на 0)." + +msgid "" +"When the command line options :option:`-E` or :option:`-I` are being used, " +"the environment variable :envvar:`PYTHONCASEOK` is now ignored." +msgstr "" +"Коли використовуються параметри командного рядка :option:`-E` або :option:`-" +"I`, змінна середовища :envvar:`PYTHONCASEOK` ігнорується." + +msgid "Footnotes" +msgstr "Примітки" + +msgid "" +"Note that the parser only accepts the Unix-style end of line convention. If " +"you are reading the code from a file, make sure to use newline conversion " +"mode to convert Windows or Mac-style newlines." +msgstr "" +"Зауважте, що синтаксичний аналізатор приймає символ кінця рядка лише в стилі " +"Unix. Якщо ви читаєте код з файлу, обов’язково використовуйте режим " +"перетворення нового рядка для перетворення символів нового рядка з Windows " +"або Mac." diff --git a/library/functools.po b/library/functools.po new file mode 100644 index 000000000..02d10bd96 --- /dev/null +++ b/library/functools.po @@ -0,0 +1,774 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +":mod:`functools` --- Higher-order functions and operations on callable " +"objects" +msgstr "" +":mod:`functools` --- Функції вищого порядку та операції над об'єктами, що " +"викликаються" + +msgid "**Source code:** :source:`Lib/functools.py`" +msgstr "**Вихідний код:** :source:`Lib/functools.py`" + +msgid "" +"The :mod:`functools` module is for higher-order functions: functions that " +"act on or return other functions. In general, any callable object can be " +"treated as a function for the purposes of this module." +msgstr "" +"Модуль :mod:`functools` призначений для функцій вищого порядку: функцій, які " +"діють або повертають інші функції. Загалом, будь-який викликуваний об’єкт " +"можна розглядати як функцію для цілей цього модуля." + +msgid "The :mod:`functools` module defines the following functions:" +msgstr "Модуль :mod:`functools` визначає такі функції:" + +msgid "" +"Simple lightweight unbounded function cache. Sometimes called `\"memoize\" " +"`_." +msgstr "" +"Простий легкий необмежений кеш функцій. Іноді називається `\"memoize\" " +"`_." + +msgid "" +"Returns the same as ``lru_cache(maxsize=None)``, creating a thin wrapper " +"around a dictionary lookup for the function arguments. Because it never " +"needs to evict old values, this is smaller and faster than :func:" +"`lru_cache()` with a size limit." +msgstr "" +"Повертає те саме, що ``lru_cache(maxsize=None)``, створюючи тонку обгортку " +"навколо пошуку в словнику для аргументів функції. Оскільки йому ніколи не " +"потрібно вилучати старі значення, він менший і швидший, ніж :func:" +"`lru_cache()` з обмеженням розміру." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"Transform a method of a class into a property whose value is computed once " +"and then cached as a normal attribute for the life of the instance. Similar " +"to :func:`property`, with the addition of caching. Useful for expensive " +"computed properties of instances that are otherwise effectively immutable." +msgstr "" +"Перетворення методу класу на властивість, значення якого обчислюється один " +"раз, а потім кешується як звичайний атрибут протягом життя екземпляра. " +"Подібно до :func:`property`, з додаванням кешування. Корисно для дорогих " +"обчислених властивостей екземплярів, які в іншому випадку є фактично " +"незмінними." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"The mechanics of :func:`cached_property` are somewhat different from :func:" +"`property`. A regular property blocks attribute writes unless a setter is " +"defined. In contrast, a *cached_property* allows writes." +msgstr "" +"Механіка :func:`cached_property` дещо відрізняється від :func:`property`. " +"Звичайна властивість блокує запис атрибута, якщо не визначено установщик. На " +"відміну від цього, *cached_property* дозволяє запис." + +msgid "" +"The *cached_property* decorator only runs on lookups and only when an " +"attribute of the same name doesn't exist. When it does run, the " +"*cached_property* writes to the attribute with the same name. Subsequent " +"attribute reads and writes take precedence over the *cached_property* method " +"and it works like a normal attribute." +msgstr "" +"Декоратор *cached_property* працює лише під час пошуку й лише тоді, коли " +"атрибут із такою ж назвою не існує. Коли він виконується, *cached_property* " +"записує в атрибут з таким же ім’ям. Наступні атрибути читання та запису " +"мають пріоритет над методом *cached_property*, і він працює як звичайний " +"атрибут." + +msgid "" +"The cached value can be cleared by deleting the attribute. This allows the " +"*cached_property* method to run again." +msgstr "" +"Кешоване значення можна очистити, видаливши атрибут. Це дозволяє знову " +"запустити метод *cached_property*." + +msgid "" +"Note, this decorator interferes with the operation of :pep:`412` key-sharing " +"dictionaries. This means that instance dictionaries can take more space " +"than usual." +msgstr "" +"Зауважте, що цей декоратор заважає роботі словників спільного ключа :pep:" +"`412`. Це означає, що словники примірників можуть займати більше місця, ніж " +"зазвичай." + +msgid "" +"Also, this decorator requires that the ``__dict__`` attribute on each " +"instance be a mutable mapping. This means it will not work with some types, " +"such as metaclasses (since the ``__dict__`` attributes on type instances are " +"read-only proxies for the class namespace), and those that specify " +"``__slots__`` without including ``__dict__`` as one of the defined slots (as " +"such classes don't provide a ``__dict__`` attribute at all)." +msgstr "" +"Крім того, цей декоратор вимагає, щоб атрибут ``__dict__`` для кожного " +"екземпляра був змінним відображенням. Це означає, що він не працюватиме з " +"деякими типами, такими як метакласи (оскільки атрибути ``__dict__`` в " +"екземплярах типу є проксі-серверами лише для читання для простору імен " +"класу), і ті, які вказують ``__slots__`` без включення ``__dict__`` як один " +"із визначених слотів (оскільки такі класи взагалі не надають атрибут " +"``__dict__``)." + +msgid "" +"If a mutable mapping is not available or if space-efficient key sharing is " +"desired, an effect similar to :func:`cached_property` can be achieved by a " +"stacking :func:`property` on top of :func:`cache`::" +msgstr "" +"Якщо змінне відображення недоступне або якщо потрібен спільний доступ до " +"ключів з ефективним використанням простору, ефект, подібний до :func:" +"`cached_property`, може бути досягнутий стекуванням :func:`property` поверх :" +"func:`cache`::" + +msgid "" +"Transform an old-style comparison function to a :term:`key function`. Used " +"with tools that accept key functions (such as :func:`sorted`, :func:`min`, :" +"func:`max`, :func:`heapq.nlargest`, :func:`heapq.nsmallest`, :func:" +"`itertools.groupby`). This function is primarily used as a transition tool " +"for programs being converted from Python 2 which supported the use of " +"comparison functions." +msgstr "" +"Перетворіть функцію порівняння старого стилю на :term:`key function`. " +"Використовується з інструментами, які приймають ключові функції (такі як :" +"func:`sorted`, :func:`min`, :func:`max`, :func:`heapq.nlargest`, :func:" +"`heapq.nsmallest`, :func:`itertools.groupby`). Ця функція в основному " +"використовується як інструмент переходу для програм, які перетворюються з " +"Python 2, який підтримує використання функцій порівняння." + +msgid "" +"A comparison function is any callable that accepts two arguments, compares " +"them, and returns a negative number for less-than, zero for equality, or a " +"positive number for greater-than. A key function is a callable that accepts " +"one argument and returns another value to be used as the sort key." +msgstr "" + +msgid "" +"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." +msgstr "" +"Приклади сортування та короткий посібник із сортування див. :ref:" +"`sortinghowto`." + +msgid "" +"Decorator to wrap a function with a memoizing callable that saves up to the " +"*maxsize* most recent calls. It can save time when an expensive or I/O " +"bound function is periodically called with the same arguments." +msgstr "" +"Декоратор для обгортання функції викликом мемоізації, який зберігає до " +"*maxsize* останніх викликів. Це може заощадити час, коли дорога функція або " +"функція, пов’язана з вводом/виводом, періодично викликається з однаковими " +"аргументами." + +msgid "" +"Since a dictionary is used to cache results, the positional and keyword " +"arguments to the function must be hashable." +msgstr "" +"Оскільки словник використовується для кешування результатів, позиційні та " +"ключові аргументи функції мають хешуватися." + +msgid "" +"Distinct argument patterns may be considered to be distinct calls with " +"separate cache entries. For example, ``f(a=1, b=2)`` and ``f(b=2, a=1)`` " +"differ in their keyword argument order and may have two separate cache " +"entries." +msgstr "" + +msgid "" +"If *user_function* is specified, it must be a callable. This allows the " +"*lru_cache* decorator to be applied directly to a user function, leaving the " +"*maxsize* at its default value of 128::" +msgstr "" +"Якщо вказано *user_function*, вона має бути викликаною. Це дозволяє " +"застосувати декоратор *lru_cache* безпосередньо до функції користувача, " +"залишаючи значення *maxsize* за замовчуванням 128::" + +msgid "" +"If *maxsize* is set to ``None``, the LRU feature is disabled and the cache " +"can grow without bound." +msgstr "" +"Якщо для параметра *maxsize* встановлено значення ``None``, функція LRU " +"вимкнена, і кеш може збільшуватися без обмежень." + +msgid "" +"If *typed* is set to true, function arguments of different types will be " +"cached separately. If *typed* is false, the implementation will usually " +"regard them as equivalent calls and only cache a single result. (Some types " +"such as *str* and *int* may be cached separately even when *typed* is false.)" +msgstr "" +"Якщо *typed* має значення true, аргументи функції різних типів " +"кешуватимуться окремо. Якщо *typed* має значення false, реалізація зазвичай " +"розглядатиме їх як еквівалентні виклики та кешуватиме лише один результат. " +"(Деякі типи, такі як *str* і *int*, можуть кешуватися окремо, навіть якщо " +"*typed* має значення false.)" + +msgid "" +"Note, type specificity applies only to the function's immediate arguments " +"rather than their contents. The scalar arguments, ``Decimal(42)`` and " +"``Fraction(42)`` are be treated as distinct calls with distinct results. In " +"contrast, the tuple arguments ``('answer', Decimal(42))`` and ``('answer', " +"Fraction(42))`` are treated as equivalent." +msgstr "" +"Зауважте, що специфічність типу застосовується лише до безпосередніх " +"аргументів функції, а не до їх вмісту. Скалярні аргументи ``Decimal(42)`` і " +"``Fraction(42)`` розглядаються як окремі виклики з різними результатами. " +"Навпаки, аргументи кортежу ``('answer', Decimal(42))`` і ``('answer', " +"Fraction(42))`` розглядаються як еквівалентні." + +msgid "" +"The wrapped function is instrumented with a :func:`cache_parameters` " +"function that returns a new :class:`dict` showing the values for *maxsize* " +"and *typed*. This is for information purposes only. Mutating the values " +"has no effect." +msgstr "" +"Обгорнута функція оснащена функцією :func:`cache_parameters`, яка повертає " +"новий :class:`dict` із значеннями для *maxsize* і *typed*. Це лише для " +"інформаційних цілей. Зміна значень не має ефекту." + +msgid "" +"To help measure the effectiveness of the cache and tune the *maxsize* " +"parameter, the wrapped function is instrumented with a :func:`cache_info` " +"function that returns a :term:`named tuple` showing *hits*, *misses*, " +"*maxsize* and *currsize*." +msgstr "" +"Щоб допомогти виміряти ефективність кешу та налаштувати параметр *maxsize*, " +"обгорнута функція обладнана функцією :func:`cache_info`, яка повертає :term:" +"`named tuple`, що показує *влучення*, *промахи*, *maxsize* і *currsize*." + +msgid "" +"The decorator also provides a :func:`cache_clear` function for clearing or " +"invalidating the cache." +msgstr "" +"Декоратор також надає функцію :func:`cache_clear` для очищення або " +"анулювання кешу." + +msgid "" +"The original underlying function is accessible through the :attr:" +"`__wrapped__` attribute. This is useful for introspection, for bypassing " +"the cache, or for rewrapping the function with a different cache." +msgstr "" +"Оригінальна базова функція доступна через атрибут :attr:`__wrapped__`. Це " +"корисно для самоаналізу, для обходу кешу або для перезагортання функції в " +"інший кеш." + +msgid "" +"The cache keeps references to the arguments and return values until they age " +"out of the cache or until the cache is cleared." +msgstr "" +"Кеш зберігає посилання на аргументи та значення, що повертаються, доки вони " +"не вичерпаються з кешу або поки кеш не буде очищено." + +msgid "" +"If a method is cached, the ``self`` instance argument is included in the " +"cache. See :ref:`faq-cache-method-calls`" +msgstr "" + +msgid "" +"An `LRU (least recently used) cache `_ works best when the " +"most recent calls are the best predictors of upcoming calls (for example, " +"the most popular articles on a news server tend to change each day). The " +"cache's size limit assures that the cache does not grow without bound on " +"long-running processes such as web servers." +msgstr "" +"Кеш `LRU (найменше використовуваний) `_ працює найкраще, " +"коли останні дзвінки є найкращим прогнозом майбутніх дзвінків (наприклад, " +"найпопулярніші статті на сервері новин, як правило, змінюються щодня). " +"Обмеження розміру кешу гарантує, що кеш не буде безмежно зростати " +"довготривалими процесами, такими як веб-сервери." + +msgid "" +"In general, the LRU cache should only be used when you want to reuse " +"previously computed values. Accordingly, it doesn't make sense to cache " +"functions with side-effects, functions that need to create distinct mutable " +"objects on each call, or impure functions such as time() or random()." +msgstr "" +"Загалом кеш LRU слід використовувати лише тоді, коли потрібно повторно " +"використати попередньо обчислені значення. Відповідно, немає сенсу кешувати " +"функції з побічними ефектами, функції, які потребують створення окремих " +"змінних об’єктів під час кожного виклику, або нечисті функції, такі як " +"time() або random()." + +msgid "Example of an LRU cache for static web content::" +msgstr "Приклад кешу LRU для статичного веб-контенту::" + +msgid "" +"Example of efficiently computing `Fibonacci numbers `_ using a cache to implement a `dynamic " +"programming `_ technique::" +msgstr "" +"Приклад ефективного обчислення `чисел Фібоначчі `_ з використанням кешу для реалізації техніки " +"`динамічного програмування `_::" + +msgid "Added the *typed* option." +msgstr "Додано параметр *введений*." + +msgid "Added the *user_function* option." +msgstr "Додано опцію *user_function*." + +msgid "Added the function :func:`cache_parameters`" +msgstr "Додано функцію :func:`cache_parameters`" + +msgid "" +"Given a class defining one or more rich comparison ordering methods, this " +"class decorator supplies the rest. This simplifies the effort involved in " +"specifying all of the possible rich comparison operations:" +msgstr "" +"Враховуючи клас, що визначає один або більше методів розширеного " +"впорядкування порівняння, цей декоратор класу забезпечує решту. Це спрощує " +"завдання, пов’язані з визначенням усіх можливих операцій розширеного " +"порівняння:" + +msgid "" +"The class must define one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, " +"or :meth:`__ge__`. In addition, the class should supply an :meth:`__eq__` " +"method." +msgstr "" +"Клас має визначати одне з :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__` " +"або :meth:`__ge__`. Крім того, клас повинен надати метод :meth:`__eq__`." + +msgid "" +"While this decorator makes it easy to create well behaved totally ordered " +"types, it *does* come at the cost of slower execution and more complex stack " +"traces for the derived comparison methods. If performance benchmarking " +"indicates this is a bottleneck for a given application, implementing all six " +"rich comparison methods instead is likely to provide an easy speed boost." +msgstr "" +"Незважаючи на те, що цей декоратор дозволяє легко створювати повністю " +"впорядковані типи, що добре ведуть себе, це *ціна* відбувається за рахунок " +"повільнішого виконання та більш складних трасувань стека для похідних " +"методів порівняння. Якщо порівняльний аналіз продуктивності вказує на те, що " +"це вузьке місце для даної програми, впровадження всіх шести розширених " +"методів порівняння натомість, ймовірно, забезпечить легке підвищення " +"швидкості." + +msgid "" +"This decorator makes no attempt to override methods that have been declared " +"in the class *or its superclasses*. Meaning that if a superclass defines a " +"comparison operator, *total_ordering* will not implement it again, even if " +"the original method is abstract." +msgstr "" +"Цей декоратор не намагається перевизначити методи, які були оголошені в " +"класі *або його суперкласах*. Це означає, що якщо суперклас визначає " +"оператор порівняння, *total_ordering* не реалізує його знову, навіть якщо " +"вихідний метод є абстрактним." + +msgid "" +"Returning NotImplemented from the underlying comparison function for " +"unrecognised types is now supported." +msgstr "" +"Тепер підтримується повернення NotImplemented із основної функції порівняння " +"для нерозпізнаних типів." + +msgid "" +"Return a new :ref:`partial object` which when called will " +"behave like *func* called with the positional arguments *args* and keyword " +"arguments *keywords*. If more arguments are supplied to the call, they are " +"appended to *args*. If additional keyword arguments are supplied, they " +"extend and override *keywords*. Roughly equivalent to::" +msgstr "" +"Повертає новий :ref:`частковий об’єкт `, який під час " +"виклику поводитиметься як *func*, що викликається з позиційними аргументами " +"*args* і ключовими аргументами *keywords*. Якщо до виклику надається більше " +"аргументів, вони додаються до *args*. Якщо надаються додаткові ключові " +"аргументи, вони розширюють і замінюють *ключові слова*. Приблизно " +"еквівалентно::" + +msgid "" +"The :func:`partial` is used for partial function application which \"freezes" +"\" some portion of a function's arguments and/or keywords resulting in a new " +"object with a simplified signature. For example, :func:`partial` can be " +"used to create a callable that behaves like the :func:`int` function where " +"the *base* argument defaults to two:" +msgstr "" +":func:`partial` використовується для застосування часткової функції, яка " +"\"заморожує\" деяку частину аргументів функції та/або ключових слів, у " +"результаті чого створюється новий об’єкт зі спрощеною сигнатурою. " +"Наприклад, :func:`partial` можна використовувати для створення виклику, який " +"поводиться як функція :func:`int`, де аргумент *base* за замовчуванням " +"дорівнює двом:" + +msgid "" +"Return a new :class:`partialmethod` descriptor which behaves like :class:" +"`partial` except that it is designed to be used as a method definition " +"rather than being directly callable." +msgstr "" +"Повертає новий дескриптор :class:`partialmethod`, який поводиться як :class:" +"`partial`, за винятком того, що він призначений для використання як " +"визначення методу, а не для безпосереднього виклику." + +msgid "" +"*func* must be a :term:`descriptor` or a callable (objects which are both, " +"like normal functions, are handled as descriptors)." +msgstr "" +"*func* має бути :term:`descriptor` або викликаним (об’єкти, які, як і " +"звичайні функції, обробляються як дескриптори)." + +msgid "" +"When *func* is a descriptor (such as a normal Python function, :func:" +"`classmethod`, :func:`staticmethod`, :func:`abstractmethod` or another " +"instance of :class:`partialmethod`), calls to ``__get__`` are delegated to " +"the underlying descriptor, and an appropriate :ref:`partial object` returned as the result." +msgstr "" +"Коли *func* є дескриптором (наприклад, звичайною функцією Python, :func:" +"`classmethod`, :func:`staticmethod`, :func:`abstractmethod` або іншим " +"екземпляром :class:`partialmethod`), викликається ``__get__`` делегуються " +"базовому дескриптору, а в результаті повертається відповідний :ref:" +"`частковий об’єкт `." + +msgid "" +"When *func* is a non-descriptor callable, an appropriate bound method is " +"created dynamically. This behaves like a normal Python function when used as " +"a method: the *self* argument will be inserted as the first positional " +"argument, even before the *args* and *keywords* supplied to the :class:" +"`partialmethod` constructor." +msgstr "" +"Коли *func* є недескрипторним викликом, відповідний пов’язаний метод " +"створюється динамічно. Це поводиться як звичайна функція Python, коли " +"використовується як метод: аргумент *self* буде вставлено як перший " +"позиційний аргумент, навіть перед *args* і *keywords*, наданими " +"конструктору :class:`partialmethod`." + +msgid "" +"Apply *function* of two arguments cumulatively to the items of *iterable*, " +"from left to right, so as to reduce the iterable to a single value. For " +"example, ``reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])`` calculates " +"``((((1+2)+3)+4)+5)``. The left argument, *x*, is the accumulated value and " +"the right argument, *y*, is the update value from the *iterable*. If the " +"optional *initializer* is present, it is placed before the items of the " +"iterable in the calculation, and serves as a default when the iterable is " +"empty. If *initializer* is not given and *iterable* contains only one item, " +"the first item is returned." +msgstr "" +"Застосуйте *функцію* двох аргументів сукупно до елементів *iterable*, зліва " +"направо, щоб зменшити iterable до одного значення. Наприклад, " +"``reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])`` обчислює " +"``((((1+2)+3)+4)+5)``. Лівий аргумент, *x*, — це накопичене значення, а " +"правий аргумент, *y*, — це значення оновлення з *iterable*. Якщо " +"необов’язковий *ініціалізатор* присутній, він розміщується перед елементами " +"об’єкта ітерації в обчисленні та служить за замовчуванням, коли об’єкт " +"ітерації порожній. Якщо *initializer* не вказано, а *iterable* містить лише " +"один елемент, повертається перший елемент." + +msgid "Roughly equivalent to::" +msgstr "Приблизно еквівалентно::" + +msgid "" +"See :func:`itertools.accumulate` for an iterator that yields all " +"intermediate values." +msgstr "" +"Перегляньте :func:`itertools.accumulate` для ітератора, який видає всі " +"проміжні значення." + +msgid "" +"Transform a function into a :term:`single-dispatch ` :term:" +"`generic function`." +msgstr "" +"Перетворення функції на :term:`single-dispatch ` :term:" +"`generic function`." + +msgid "" +"To define a generic function, decorate it with the ``@singledispatch`` " +"decorator. When defining a function using ``@singledispatch``, note that the " +"dispatch happens on the type of the first argument::" +msgstr "" +"Щоб визначити загальну функцію, прикрасьте її за допомогою декоратора " +"``@singledispatch``. Визначаючи функцію за допомогою ``@singledispatch``, " +"зауважте, що відправлення відбувається за типом першого аргументу::" + +msgid "" +"To add overloaded implementations to the function, use the :func:`register` " +"attribute of the generic function, which can be used as a decorator. For " +"functions annotated with types, the decorator will infer the type of the " +"first argument automatically::" +msgstr "" +"Щоб додати перевантажені реалізації до функції, використовуйте атрибут :func:" +"`register` загальної функції, який можна використовувати як декоратор. Для " +"функцій, анотованих типами, декоратор автоматично визначить тип першого " +"аргументу:" + +msgid ":data:`types.UnionType` and :data:`typing.Union` can also be used::" +msgstr "" + +msgid "" +"For code which doesn't use type annotations, the appropriate type argument " +"can be passed explicitly to the decorator itself::" +msgstr "" +"Для коду, який не використовує анотації типу, відповідний аргумент типу " +"можна явно передати самому декоратору::" + +msgid "" +"To enable registering :term:`lambdas` and pre-existing functions, " +"the :func:`register` attribute can also be used in a functional form::" +msgstr "" +"Щоб увімкнути реєстрацію :term:`lambdas ` і вже існуючих функцій, " +"атрибут :func:`register` також можна використовувати у функціональній формі:" + +msgid "" +"The :func:`register` attribute returns the undecorated function. This " +"enables decorator stacking, :mod:`pickling`, and the creation of " +"unit tests for each variant independently::" +msgstr "" +"Атрибут :func:`register` повертає недекоровану функцію. Це дозволяє " +"стекувати декоратор, :mod:`піклінг ` і створювати модульні тести для " +"кожного варіанту незалежно:" + +msgid "" +"When called, the generic function dispatches on the type of the first " +"argument::" +msgstr "Під час виклику загальна функція надсилає тип першого аргументу::" + +msgid "" +"Where there is no registered implementation for a specific type, its method " +"resolution order is used to find a more generic implementation. The original " +"function decorated with ``@singledispatch`` is registered for the base :" +"class:`object` type, which means it is used if no better implementation is " +"found." +msgstr "" +"Якщо немає зареєстрованої реалізації для певного типу, його порядок " +"вирішення методів використовується для пошуку більш загальної реалізації. " +"Оригінальна функція, прикрашена ``@singledispatch``, зареєстрована для " +"базового типу :class:`object`, що означає, що вона використовується, якщо не " +"знайдено кращої реалізації." + +msgid "" +"If an implementation is registered to an :term:`abstract base class`, " +"virtual subclasses of the base class will be dispatched to that " +"implementation::" +msgstr "" +"Якщо реалізацію зареєстровано в :term:`abstract base class`, віртуальні " +"підкласи базового класу будуть відправлені до цієї реалізації::" + +msgid "" +"To check which implementation the generic function will choose for a given " +"type, use the ``dispatch()`` attribute::" +msgstr "" +"Щоб перевірити, яку реалізацію вибере загальна функція для заданого типу, " +"використовуйте атрибут ``dispatch()``::" + +msgid "" +"To access all registered implementations, use the read-only ``registry`` " +"attribute::" +msgstr "" +"Щоб отримати доступ до всіх зареєстрованих реалізацій, використовуйте " +"атрибут ``registry`` лише для читання::" + +msgid "The :func:`register` attribute now supports using type annotations." +msgstr "Атрибут :func:`register` тепер підтримує використання анотацій типу." + +msgid "" +"The :func:`register` attribute now supports :data:`types.UnionType` and :" +"data:`typing.Union` as type annotations." +msgstr "" + +msgid "" +"Transform a method into a :term:`single-dispatch ` :term:" +"`generic function`." +msgstr "" +"Перетворення методу на :term:`single-dispatch ` :term:" +"`generic function`." + +msgid "" +"To define a generic method, decorate it with the ``@singledispatchmethod`` " +"decorator. When defining a function using ``@singledispatchmethod``, note " +"that the dispatch happens on the type of the first non-*self* or non-*cls* " +"argument::" +msgstr "" +"Щоб визначити загальний метод, прикрасьте його декоратором " +"``@singledispatchmethod``. Визначаючи функцію за допомогою " +"``@singledispatchmethod``, зауважте, що відправлення відбувається за типом " +"першого не*self* або не*cls* аргументу::" + +msgid "" +"``@singledispatchmethod`` supports nesting with other decorators such as :" +"func:`@classmethod`. Note that to allow for ``dispatcher." +"register``, ``singledispatchmethod`` must be the *outer most* decorator. " +"Here is the ``Negator`` class with the ``neg`` methods bound to the class, " +"rather than an instance of the class::" +msgstr "" +"``@singledispatchmethod`` підтримує вкладення з іншими декораторами, такими " +"як :func:`@classmethod `. Зауважте, що для того, щоб дозволити " +"``dispatcher.register``, ``singledispatchmethod`` має бути *зовнішнім* " +"декоратором. Ось клас ``Negator`` з методами ``neg``, прив'язаними до класу, " +"а не екземпляр класу::" + +msgid "" +"The same pattern can be used for other similar decorators: :func:" +"`@staticmethod`, :func:`@abstractmethod`, " +"and others." +msgstr "" +"Той самий шаблон можна використовувати для інших подібних декораторів: :func:" +"`@staticmethod `, :func:`@abstractmethod ` " +"та інших." + +msgid "" +"Update a *wrapper* function to look like the *wrapped* function. The " +"optional arguments are tuples to specify which attributes of the original " +"function are assigned directly to the matching attributes on the wrapper " +"function and which attributes of the wrapper function are updated with the " +"corresponding attributes from the original function. The default values for " +"these arguments are the module level constants ``WRAPPER_ASSIGNMENTS`` " +"(which assigns to the wrapper function's ``__module__``, ``__name__``, " +"``__qualname__``, ``__annotations__`` and ``__doc__``, the documentation " +"string) and ``WRAPPER_UPDATES`` (which updates the wrapper function's " +"``__dict__``, i.e. the instance dictionary)." +msgstr "" +"Оновіть функцію *wrapper*, щоб виглядати як функція *wrapper*. Необов’язкові " +"аргументи — це кортежі, які вказують, які атрибути вихідної функції " +"призначаються безпосередньо відповідним атрибутам у функції-огортці та які " +"атрибути функції-огортки оновлюються відповідними атрибутами з вихідної " +"функції. Значеннями за замовчуванням для цих аргументів є константи рівня " +"модуля ``WRAPPER_ASSIGNMENTS`` (які призначають функції-оболонки " +"``__module__``, ``__name__``, ``__qualname__``, ``__annotations__`` і " +"``__doc__``, рядок документації) і ``WRAPPER_UPDATES`` (який оновлює " +"``__dict__`` функції-огортки, тобто словник екземпляра)." + +msgid "" +"To allow access to the original function for introspection and other " +"purposes (e.g. bypassing a caching decorator such as :func:`lru_cache`), " +"this function automatically adds a ``__wrapped__`` attribute to the wrapper " +"that refers to the function being wrapped." +msgstr "" +"Щоб дозволити доступ до оригінальної функції для самоаналізу та інших цілей " +"(наприклад, обхід декоратора кешування, такого як :func:`lru_cache`), ця " +"функція автоматично додає атрибут ``__wrapped__`` до оболонки, яка " +"посилається на функцію, яку обгортають." + +msgid "" +"The main intended use for this function is in :term:`decorator` functions " +"which wrap the decorated function and return the wrapper. If the wrapper " +"function is not updated, the metadata of the returned function will reflect " +"the wrapper definition rather than the original function definition, which " +"is typically less than helpful." +msgstr "" +"Основним призначенням цієї функції є функції :term:`decorator`, які " +"обертають декоровану функцію та повертають оболонку. Якщо функція-оболонка " +"не оновлена, метадані повернутої функції відображатимуть визначення " +"оболонки, а не початкове визначення функції, що зазвичай не дуже корисно." + +msgid "" +":func:`update_wrapper` may be used with callables other than functions. Any " +"attributes named in *assigned* or *updated* that are missing from the object " +"being wrapped are ignored (i.e. this function will not attempt to set them " +"on the wrapper function). :exc:`AttributeError` is still raised if the " +"wrapper function itself is missing any attributes named in *updated*." +msgstr "" +":func:`update_wrapper` можна використовувати з іншими викликами, ніж " +"функції. Будь-які атрибути з іменами *assigned* або *updated*, яких немає в " +"об’єкті, що обгортається, ігноруються (тобто ця функція не намагатиметься " +"встановити їх у функції обгортки). :exc:`AttributeError` все ще виникає, " +"якщо в самій функції-обгортки відсутні будь-які атрибути, названі в " +"*updated*." + +msgid "Automatic addition of the ``__wrapped__`` attribute." +msgstr "Автоматичне додавання атрибута ``__wrapped__``." + +msgid "Copying of the ``__annotations__`` attribute by default." +msgstr "Копіювання атрибута ``__annotations__`` за замовчуванням." + +msgid "Missing attributes no longer trigger an :exc:`AttributeError`." +msgstr "Відсутні атрибути більше не викликають :exc:`AttributeError`." + +msgid "" +"The ``__wrapped__`` attribute now always refers to the wrapped function, " +"even if that function defined a ``__wrapped__`` attribute. (see :issue:" +"`17482`)" +msgstr "" +"Атрибут ``__wrapped__`` тепер завжди посилається на обгорнуту функцію, " +"навіть якщо ця функція визначила атрибут ``__wrapped__``. (див. :issue:" +"`17482`)" + +msgid "" +"This is a convenience function for invoking :func:`update_wrapper` as a " +"function decorator when defining a wrapper function. It is equivalent to " +"``partial(update_wrapper, wrapped=wrapped, assigned=assigned, " +"updated=updated)``. For example::" +msgstr "" +"Це зручна функція для виклику :func:`update_wrapper` як декоратора функції " +"під час визначення функції-огортки. Це еквівалентно " +"``partial(update_wrapper, wrapped=wrapped, assigned=призначено, " +"updated=updated)``. Наприклад::" + +msgid "" +"Without the use of this decorator factory, the name of the example function " +"would have been ``'wrapper'``, and the docstring of the original :func:" +"`example` would have been lost." +msgstr "" +"Без використання цієї фабрики декораторів назва функції прикладу була б " +"``'wrapper``, а рядок документації оригінального :func:`example` було б " +"втрачено." + +msgid ":class:`partial` Objects" +msgstr ":class:`partial` Об'єкти" + +msgid "" +":class:`partial` objects are callable objects created by :func:`partial`. " +"They have three read-only attributes:" +msgstr "" +":class:`partial` об’єкти – це викликані об’єкти, створені :func:`partial`. " +"Вони мають три атрибути лише для читання:" + +msgid "" +"A callable object or function. Calls to the :class:`partial` object will be " +"forwarded to :attr:`func` with new arguments and keywords." +msgstr "" +"Викликаний об’єкт або функція. Виклики об’єкта :class:`partial` будуть " +"перенаправлені до :attr:`func` з новими аргументами та ключовими словами." + +msgid "" +"The leftmost positional arguments that will be prepended to the positional " +"arguments provided to a :class:`partial` object call." +msgstr "" +"Крайні ліві позиційні аргументи, які будуть додані до позиційних аргументів, " +"наданих до виклику об’єкта :class:`partial`." + +msgid "" +"The keyword arguments that will be supplied when the :class:`partial` object " +"is called." +msgstr "" +"Ключові аргументи, які будуть надані під час виклику об’єкта :class:" +"`partial`." + +msgid "" +":class:`partial` objects are like :class:`function` objects in that they are " +"callable, weak referencable, and can have attributes. There are some " +"important differences. For instance, the :attr:`~definition.__name__` and :" +"attr:`__doc__` attributes are not created automatically. Also, :class:" +"`partial` objects defined in classes behave like static methods and do not " +"transform into bound methods during instance attribute look-up." +msgstr "" +"Об’єкти :class:`partial` схожі на об’єкти :class:`function` тим, що їх можна " +"викликати, на них можна слабко посилатися та вони можуть мати атрибути. Є " +"деякі важливі відмінності. Наприклад, атрибути :attr:`~definition.__name__` " +"і :attr:`__doc__` не створюються автоматично. Крім того, об’єкти :class:" +"`partial`, визначені в класах, поводяться як статичні методи і не " +"перетворюються на зв’язані методи під час пошуку атрибутів екземпляра." diff --git a/library/gc.po b/library/gc.po new file mode 100644 index 000000000..e22ba4b4c --- /dev/null +++ b/library/gc.po @@ -0,0 +1,461 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`gc` --- Garbage Collector interface" +msgstr ":mod:`gc` --- Інтерфейс збирача сміття" + +msgid "" +"This module provides an interface to the optional garbage collector. It " +"provides the ability to disable the collector, tune the collection " +"frequency, and set debugging options. It also provides access to " +"unreachable objects that the collector found but cannot free. Since the " +"collector supplements the reference counting already used in Python, you can " +"disable the collector if you are sure your program does not create reference " +"cycles. Automatic collection can be disabled by calling ``gc.disable()``. " +"To debug a leaking program call ``gc.set_debug(gc.DEBUG_LEAK)``. Notice that " +"this includes ``gc.DEBUG_SAVEALL``, causing garbage-collected objects to be " +"saved in gc.garbage for inspection." +msgstr "" +"Цей модуль забезпечує інтерфейс для додаткового збирача сміття. Він надає " +"можливість вимкнути збирач, налаштувати частоту збирання та встановити " +"параметри налагодження. Він також надає доступ до недоступних об'єктів, які " +"збирач знайшов, але не може звільнити. Оскільки збирач доповнює підрахунок " +"посилань, який уже використовується в Python, ви можете вимкнути збирач, " +"якщо ви впевнені, що ваша програма не створює цикли посилань. Автоматичний " +"збір можна вимкнути, викликавши ``gc.disable()``. Щоб налагодити витік " +"програми, викличте ``gc.set_debug(gc.DEBUG_LEAK)``. Зверніть увагу, що це " +"включає ``gc.DEBUG_SAVEALL``, змушуючи зібрані об’єкти сміття зберігатися в " +"gc.garbage для перевірки." + +msgid "The :mod:`gc` module provides the following functions:" +msgstr "Модуль :mod:`gc` забезпечує такі функції:" + +msgid "Enable automatic garbage collection." +msgstr "Увімкнути автоматичний збір сміття." + +msgid "Disable automatic garbage collection." +msgstr "Вимкнути автоматичний збір сміття." + +msgid "Return ``True`` if automatic collection is enabled." +msgstr "Повертає ``True``, якщо ввімкнено автоматичний збір." + +msgid "" +"With no arguments, run a full collection. The optional argument " +"*generation* may be an integer specifying which generation to collect (from " +"0 to 2). A :exc:`ValueError` is raised if the generation number is " +"invalid. The number of unreachable objects found is returned." +msgstr "" +"Без аргументів запустіть повний збір. Необов’язковий аргумент *генерація* " +"може бути цілим числом, що вказує, яку генерацію збирати (від 0 до 2). Якщо " +"номер покоління недійсний, виникає помилка :exc:`ValueError`. Повертається " +"кількість знайдених недоступних об'єктів." + +msgid "" +"The free lists maintained for a number of built-in types are cleared " +"whenever a full collection or collection of the highest generation (2) is " +"run. Not all items in some free lists may be freed due to the particular " +"implementation, in particular :class:`float`." +msgstr "" +"Безкоштовні списки, які підтримуються для ряду вбудованих типів, очищаються " +"щоразу, коли запускається повна колекція або колекція найвищого покоління " +"(2). Не всі елементи в деяких вільних списках можуть бути звільнені через " +"певну реалізацію, зокрема :class:`float`." + +msgid "" +"Set the garbage collection debugging flags. Debugging information will be " +"written to ``sys.stderr``. See below for a list of debugging flags which " +"can be combined using bit operations to control debugging." +msgstr "" +"Встановіть позначки налагодження збору сміття. Інформація про налагодження " +"буде записана в ``sys.stderr``. Нижче наведено список прапорів налагодження, " +"які можна комбінувати за допомогою бітових операцій для керування " +"налагодженням." + +msgid "Return the debugging flags currently set." +msgstr "Повернути поточні встановлені позначки налагодження." + +msgid "" +"Returns a list of all objects tracked by the collector, excluding the list " +"returned. If *generation* is not None, return only the objects tracked by " +"the collector that are in that generation." +msgstr "" +"Повертає список усіх об’єктів, які відстежує збирач, за винятком повернутого " +"списку. Якщо *генерація* не має значення \"Немає\", повертаються лише " +"об’єкти, відстежувані збирачем, які знаходяться в цій генерації." + +msgid "New *generation* parameter." +msgstr "Новий параметр *generation*." + +msgid "" +"Raises an :ref:`auditing event ` ``gc.get_objects`` with argument " +"``generation``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``gc.get_objects`` з аргументом " +"``generation``." + +msgid "" +"Return a list of three per-generation dictionaries containing collection " +"statistics since interpreter start. The number of keys may change in the " +"future, but currently each dictionary will contain the following items:" +msgstr "" +"Повертає список із трьох словників для кожного покоління, що містить " +"статистику збору з моменту запуску інтерпретатора. У майбутньому кількість " +"ключів може змінитися, але наразі кожен словник міститиме такі елементи:" + +msgid "``collections`` is the number of times this generation was collected;" +msgstr "``колекції`` — це кількість разів, коли було зібрано це покоління;" + +msgid "" +"``collected`` is the total number of objects collected inside this " +"generation;" +msgstr "" +"``collected`` - це загальна кількість об'єктів, зібраних у цій генерації;" + +msgid "" +"``uncollectable`` is the total number of objects which were found to be " +"uncollectable (and were therefore moved to the :data:`garbage` list) inside " +"this generation." +msgstr "" +"``uncollectable`` — це загальна кількість об’єктів, які були визнані такими, " +"що неможливо зібрати (і тому були переміщені до списку :data:`garbage`) у " +"цьому поколінні." + +msgid "" +"Set the garbage collection thresholds (the collection frequency). Setting " +"*threshold0* to zero disables collection." +msgstr "" +"Встановіть порогові значення збору сміття (частоту збору). Встановлення " +"*threshold0* на нуль вимикає збір." + +msgid "" +"The GC classifies objects into three generations depending on how many " +"collection sweeps they have survived. New objects are placed in the " +"youngest generation (generation ``0``). If an object survives a collection " +"it is moved into the next older generation. Since generation ``2`` is the " +"oldest generation, objects in that generation remain there after a " +"collection. In order to decide when to run, the collector keeps track of " +"the number object allocations and deallocations since the last collection. " +"When the number of allocations minus the number of deallocations exceeds " +"*threshold0*, collection starts. Initially only generation ``0`` is " +"examined. If generation ``0`` has been examined more than *threshold1* " +"times since generation ``1`` has been examined, then generation ``1`` is " +"examined as well. With the third generation, things are a bit more " +"complicated, see `Collecting the oldest generation `_ for more " +"information." +msgstr "" +"GC класифікує об’єкти за трьома поколіннями залежно від того, скільки циклів " +"збирання вони пережили. Нові об'єкти поміщаються в наймолодше покоління " +"(генерація ``0``). Якщо об’єкт переживає колекцію, він переміщується до " +"наступного старшого покоління. Оскільки покоління ``2`` є найстарішим " +"поколінням, об'єкти цього покоління залишаються там після колекції. Щоб " +"вирішити, коли запускати, збирач відстежує кількість виділень і звільнень " +"об’єктів з моменту останнього збору. Коли кількість виділень мінус кількість " +"звільнень перевищує *поріг0*, починається збір. Спочатку перевіряється лише " +"покоління ``0``. Якщо покоління ``0`` перевірялося більше ніж *threshold1* " +"разів після перевірки покоління ``1``, тоді також перевіряється покоління " +"``1``. З третім поколінням все трохи складніше, див. `Збір найстарішого " +"покоління `_ для отримання додаткової інформації." + +msgid "" +"Return the current collection counts as a tuple of ``(count0, count1, " +"count2)``." +msgstr "" +"Повертає поточну колекцію підрахунків як кортеж ``(count0, count1, count2)``." + +msgid "" +"Return the current collection thresholds as a tuple of ``(threshold0, " +"threshold1, threshold2)``." +msgstr "" +"Повертає поточні порогові значення збору як кортеж ``(threshold0, " +"threshold1, threshold2)``." + +msgid "" +"Return the list of objects that directly refer to any of objs. This function " +"will only locate those containers which support garbage collection; " +"extension types which do refer to other objects but do not support garbage " +"collection will not be found." +msgstr "" +"Повертає список об’єктів, які безпосередньо посилаються на будь-який з " +"об’єктів. Ця функція знаходитиме лише ті контейнери, які підтримують збір " +"сміття; типи розширень, які посилаються на інші об’єкти, але не підтримують " +"збирання сміття, не будуть знайдені." + +msgid "" +"Note that objects which have already been dereferenced, but which live in " +"cycles and have not yet been collected by the garbage collector can be " +"listed among the resulting referrers. To get only currently live objects, " +"call :func:`collect` before calling :func:`get_referrers`." +msgstr "" +"Зауважте, що об’єкти, які вже було розіменовано, але які живуть у циклах і " +"ще не були зібрані збирачем сміття, можуть бути перераховані серед отриманих " +"посилань. Щоб отримати лише активні об’єкти, викликайте :func:`collect` " +"перед викликом :func:`get_referrers`." + +msgid "" +"Care must be taken when using objects returned by :func:`get_referrers` " +"because some of them could still be under construction and hence in a " +"temporarily invalid state. Avoid using :func:`get_referrers` for any purpose " +"other than debugging." +msgstr "" +"Необхідно бути обережним, використовуючи об’єкти, які повертає :func:" +"`get_referrers`, тому що деякі з них все ще можуть перебувати в стадії " +"розробки і, отже, у тимчасово недійсному стані. Уникайте використання :func:" +"`get_referrers` для будь-яких цілей, окрім налагодження." + +msgid "" +"Raises an :ref:`auditing event ` ``gc.get_referrers`` with " +"argument ``objs``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``gc.get_referrers`` з аргументом " +"``objs``." + +msgid "" +"Return a list of objects directly referred to by any of the arguments. The " +"referents returned are those objects visited by the arguments' C-level :c:" +"member:`~PyTypeObject.tp_traverse` methods (if any), and may not be all " +"objects actually directly reachable. :c:member:`~PyTypeObject.tp_traverse` " +"methods are supported only by objects that support garbage collection, and " +"are only required to visit objects that may be involved in a cycle. So, for " +"example, if an integer is directly reachable from an argument, that integer " +"object may or may not appear in the result list." +msgstr "" +"Повертає список об’єктів, на які безпосередньо посилається будь-який з " +"аргументів. Повернуті референти — це ті об’єкти, відвідані методами " +"аргументів C-level :c:member:`~PyTypeObject.tp_traverse` (якщо такі є), і " +"можуть бути не всі об’єкти, фактично доступні безпосередньо. :c:member:" +"`~PyTypeObject.tp_traverse` методи підтримуються лише об’єктами, які " +"підтримують збирання сміття, і потрібні лише для відвідування об’єктів, які " +"можуть брати участь у циклі. Так, наприклад, якщо ціле число доступне " +"безпосередньо з аргументу, цей цілочисельний об’єкт може з’явитися або не " +"з’явитися у списку результатів." + +msgid "" +"Raises an :ref:`auditing event ` ``gc.get_referents`` with " +"argument ``objs``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``gc.get_referents`` з аргументом " +"``objs``." + +msgid "" +"Returns ``True`` if the object is currently tracked by the garbage " +"collector, ``False`` otherwise. As a general rule, instances of atomic " +"types aren't tracked and instances of non-atomic types (containers, user-" +"defined objects...) are. However, some type-specific optimizations can be " +"present in order to suppress the garbage collector footprint of simple " +"instances (e.g. dicts containing only atomic keys and values)::" +msgstr "" +"Повертає ``True``, якщо об’єкт наразі відстежується збирачем сміття, " +"``False`` інакше. Як правило, екземпляри атомарних типів не відстежуються, а " +"екземпляри неатомарних типів (контейнери, об’єкти, визначені " +"користувачем...) відстежуються. Проте деякі типи оптимізації можуть бути " +"присутні, щоб придушити слід збирача сміття простих екземплярів (наприклад, " +"dicts, що містять лише атомарні ключі та значення):" + +msgid "" +"Returns ``True`` if the given object has been finalized by the garbage " +"collector, ``False`` otherwise. ::" +msgstr "" +"Повертає ``True``, якщо даний об’єкт був завершений збирачем сміття, " +"``False`` інакше. ::" + +msgid "" +"Freeze all the objects tracked by gc - move them to a permanent generation " +"and ignore all the future collections. This can be used before a POSIX " +"fork() call to make the gc copy-on-write friendly or to speed up collection. " +"Also collection before a POSIX fork() call may free pages for future " +"allocation which can cause copy-on-write too so it's advised to disable gc " +"in parent process and freeze before fork and enable gc in child process." +msgstr "" +"Заморозити всі об’єкти, які відстежує gc – перемістити їх до постійного " +"покоління та ігнорувати всі майбутні колекції. Це можна використовувати " +"перед викликом POSIX fork(), щоб зробити gc копіювання під час запису " +"дружнім або прискорити збір. Крім того, збирання перед викликом POSIX fork() " +"може звільнити сторінки для майбутнього розподілу, що також може спричинити " +"копіювання під час запису, тому рекомендується вимкнути gc у батьківському " +"процесі та заморозити перед fork і ввімкнути gc у дочірньому процесі." + +msgid "" +"Unfreeze the objects in the permanent generation, put them back into the " +"oldest generation." +msgstr "" +"Розморозити об’єкти в постійному поколінні, повернути їх у найстаріше " +"покоління." + +msgid "Return the number of objects in the permanent generation." +msgstr "Повертає кількість об’єктів у постійній генерації." + +msgid "" +"The following variables are provided for read-only access (you can mutate " +"the values but should not rebind them):" +msgstr "" +"Наступні змінні надаються для доступу лише для читання (ви можете змінити " +"значення, але не повинні їх повторно прив’язувати):" + +msgid "" +"A list of objects which the collector found to be unreachable but could not " +"be freed (uncollectable objects). Starting with Python 3.4, this list " +"should be empty most of the time, except when using instances of C extension " +"types with a non-``NULL`` ``tp_del`` slot." +msgstr "" +"Список об’єктів, які збирач виявив недоступними, але не міг звільнити " +"(незбірні об’єкти). Починаючи з Python 3.4, цей список має бути порожнім " +"більшу частину часу, за винятком випадків використання екземплярів типів " +"розширень C із слотом ``tp_del``, відмінним від ``NULL``." + +msgid "" +"If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be added " +"to this list rather than freed." +msgstr "" +"Якщо встановлено :const:`DEBUG_SAVEALL`, усі недоступні об’єкти будуть " +"додані до цього списку, а не звільнені." + +msgid "" +"If this list is non-empty at :term:`interpreter shutdown`, a :exc:" +"`ResourceWarning` is emitted, which is silent by default. If :const:" +"`DEBUG_UNCOLLECTABLE` is set, in addition all uncollectable objects are " +"printed." +msgstr "" +"Якщо цей список не порожній під час :term:`interpreter shutdown`, видається :" +"exc:`ResourceWarning`, яке за замовчуванням мовчить. Якщо встановлено :const:" +"`DEBUG_UNCOLLECTABLE`, додатково друкуються всі об’єкти, які неможливо " +"зібрати." + +msgid "" +"Following :pep:`442`, objects with a :meth:`__del__` method don't end up in :" +"attr:`gc.garbage` anymore." +msgstr "" +"Після :pep:`442` об’єкти з методом :meth:`__del__` більше не потрапляють у :" +"attr:`gc.garbage`." + +msgid "" +"A list of callbacks that will be invoked by the garbage collector before and " +"after collection. The callbacks will be called with two arguments, *phase* " +"and *info*." +msgstr "" +"Список зворотних викликів, які будуть викликані збирачем сміття до і після " +"збирання. Зворотні виклики будуть викликані з двома аргументами, *phase* та " +"*info*." + +msgid "*phase* can be one of two values:" +msgstr "*phase* може бути одним із двох значень:" + +msgid "\"start\": The garbage collection is about to start." +msgstr "\"start\": збирання сміття ось-ось розпочнеться." + +msgid "\"stop\": The garbage collection has finished." +msgstr "\"стоп\": збирання сміття завершено." + +msgid "" +"*info* is a dict providing more information for the callback. The following " +"keys are currently defined:" +msgstr "" +"*info* — це dict, що надає більше інформації для зворотного виклику. Наразі " +"визначено такі ключі:" + +msgid "\"generation\": The oldest generation being collected." +msgstr "\"генерація\": збирається найстаріше покоління." + +msgid "" +"\"collected\": When *phase* is \"stop\", the number of objects successfully " +"collected." +msgstr "" +"\"collected\": коли *phase* має значення \"stop\", кількість успішно " +"зібраних об'єктів." + +msgid "" +"\"uncollectable\": When *phase* is \"stop\", the number of objects that " +"could not be collected and were put in :data:`garbage`." +msgstr "" +"\"uncollectable\": коли *phase* має значення \"stop\", кількість об'єктів, " +"які не вдалося зібрати та були поміщені в :data:`garbage`." + +msgid "" +"Applications can add their own callbacks to this list. The primary use " +"cases are:" +msgstr "" +"Програми можуть додавати власні зворотні виклики до цього списку. Основні " +"випадки використання:" + +msgid "" +"Gathering statistics about garbage collection, such as how often various " +"generations are collected, and how long the collection takes." +msgstr "" +"Збір статистики щодо збирання сміття, наприклад, як часто збираються різні " +"покоління та скільки часу займає збір." + +msgid "" +"Allowing applications to identify and clear their own uncollectable types " +"when they appear in :data:`garbage`." +msgstr "" +"Дозволяє програмам ідентифікувати та очищати власні типи, які не можна " +"збирати, коли вони з’являються в :data:`garbage`." + +msgid "The following constants are provided for use with :func:`set_debug`:" +msgstr "Наступні константи надаються для використання з :func:`set_debug`:" + +msgid "" +"Print statistics during collection. This information can be useful when " +"tuning the collection frequency." +msgstr "" +"Роздрукувати статистику під час збору. Ця інформація може бути корисною під " +"час налаштування частоти збору." + +msgid "Print information on collectable objects found." +msgstr "Роздрукуйте інформацію про знайдені предмети колекціонування." + +msgid "" +"Print information of uncollectable objects found (objects which are not " +"reachable but cannot be freed by the collector). These objects will be " +"added to the ``garbage`` list." +msgstr "" +"Друк інформації про знайдені об’єкти, які не можна збирати (об’єкти, які " +"недоступні, але не можуть бути звільнені колекціонером). Ці об’єкти будуть " +"додані до списку ``сміття``." + +msgid "" +"Also print the contents of the :data:`garbage` list at :term:`interpreter " +"shutdown`, if it isn't empty." +msgstr "" +"Також вивести вміст списку :data:`garbage` у :term:`interpreter shutdown`, " +"якщо він не порожній." + +msgid "" +"When set, all unreachable objects found will be appended to *garbage* rather " +"than being freed. This can be useful for debugging a leaking program." +msgstr "" +"Якщо встановлено, усі знайдені недоступні об’єкти будуть додані до *сміття*, " +"а не звільнені. Це може бути корисно для налагодження витоку програми." + +msgid "" +"The debugging flags necessary for the collector to print information about a " +"leaking program (equal to ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | " +"DEBUG_SAVEALL``)." +msgstr "" +"Прапори налагодження, необхідні збирачеві для друку інформації про витік " +"програми (рівні ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | DEBUG_SAVEALL``)." diff --git a/library/getopt.po b/library/getopt.po new file mode 100644 index 000000000..6d2baa6ca --- /dev/null +++ b/library/getopt.po @@ -0,0 +1,197 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`getopt` --- C-style parser for command line options" +msgstr ":mod:`getopt` --- Парсер у стилі C для параметрів командного рядка" + +msgid "**Source code:** :source:`Lib/getopt.py`" +msgstr "**Вихідний код:** :source:`Lib/getopt.py`" + +msgid "" +"The :mod:`getopt` module is a parser for command line options whose API is " +"designed to be familiar to users of the C :c:func:`getopt` function. Users " +"who are unfamiliar with the C :c:func:`getopt` function or who would like to " +"write less code and get better help and error messages should consider using " +"the :mod:`argparse` module instead." +msgstr "" +"Модуль :mod:`getopt` — це синтаксичний аналізатор параметрів командного " +"рядка, API якого розроблений таким чином, щоб бути знайомим користувачам " +"функції C :c:func:`getopt`. Користувачі, які не знайомі з функцією C :c:func:" +"`getopt` або бажають писати менше коду та отримувати кращу допомогу та " +"повідомлення про помилки, повинні розглянути можливість використання замість " +"цього модуля :mod:`argparse`." + +msgid "" +"This module helps scripts to parse the command line arguments in ``sys." +"argv``. It supports the same conventions as the Unix :c:func:`getopt` " +"function (including the special meanings of arguments of the form '``-``' " +"and '``--``'). Long options similar to those supported by GNU software may " +"be used as well via an optional third argument." +msgstr "" +"Цей модуль допомагає сценаріям аналізувати аргументи командного рядка в " +"``sys.argv``. Він підтримує ті самі конвенції, що й функція Unix :c:func:" +"`getopt` (включно зі спеціальними значеннями аргументів у формі ''``-``' і " +"''``--``'). Довгі параметри, подібні до тих, що підтримуються програмним " +"забезпеченням GNU, також можна використовувати через необов’язковий третій " +"аргумент." + +msgid "This module provides two functions and an exception:" +msgstr "Цей модуль забезпечує дві функції та виняток:" + +msgid "" +"Parses command line options and parameter list. *args* is the argument list " +"to be parsed, without the leading reference to the running program. " +"Typically, this means ``sys.argv[1:]``. *shortopts* is the string of option " +"letters that the script wants to recognize, with options that require an " +"argument followed by a colon (``':'``; i.e., the same format that Unix :c:" +"func:`getopt` uses)." +msgstr "" +"Розбирає параметри командного рядка та список параметрів. *args* — це список " +"аргументів, який потрібно проаналізувати, без початкового посилання на " +"запущену програму. Зазвичай це означає ``sys.argv[1:]``. *shortopts* — це " +"рядок літер параметрів, які сценарій хоче розпізнати, з параметрами, які " +"вимагають аргументу, після якого йде двокрапка (``':'``; тобто той самий " +"формат, що і Unix :c:func:`getopt` використовує)." + +msgid "" +"Unlike GNU :c:func:`getopt`, after a non-option argument, all further " +"arguments are considered also non-options. This is similar to the way non-" +"GNU Unix systems work." +msgstr "" +"На відміну від GNU :c:func:`getopt`, після аргументу, що не є опцією, усі " +"подальші аргументи також вважаються не опціями. Це схоже на те, як працюють " +"не-GNU Unix системи." + +msgid "" +"*longopts*, if specified, must be a list of strings with the names of the " +"long options which should be supported. The leading ``'--'`` characters " +"should not be included in the option name. Long options which require an " +"argument should be followed by an equal sign (``'='``). Optional arguments " +"are not supported. To accept only long options, *shortopts* should be an " +"empty string. Long options on the command line can be recognized so long as " +"they provide a prefix of the option name that matches exactly one of the " +"accepted options. For example, if *longopts* is ``['foo', 'frob']``, the " +"option ``--fo`` will match as ``--foo``, but ``--f`` will not match " +"uniquely, so :exc:`GetoptError` will be raised." +msgstr "" +"*longopts*, якщо вказано, має бути списком рядків із іменами довгих " +"параметрів, які мають підтримуватися. Початкові символи ``''--'`` не повинні " +"включатися в назву опції. Довгі параметри, які потребують аргументу, повинні " +"супроводжуватися знаком рівності (``'='``). Необов'язкові аргументи не " +"підтримуються. Щоб приймати лише довгі варіанти, *shortopts* має бути " +"порожнім рядком. Довгі параметри в командному рядку можна розпізнати, якщо " +"вони містять префікс назви параметра, який точно відповідає одному з " +"прийнятих параметрів. Наприклад, якщо *longopts* є ``['foo', 'frob']``, " +"опція ``--fo`` відповідатиме ``--foo``, але ``--f`` не збігатиметься " +"однозначно, тому буде викликано :exc:`GetoptError`." + +msgid "" +"The return value consists of two elements: the first is a list of ``(option, " +"value)`` pairs; the second is the list of program arguments left after the " +"option list was stripped (this is a trailing slice of *args*). Each option-" +"and-value pair returned has the option as its first element, prefixed with a " +"hyphen for short options (e.g., ``'-x'``) or two hyphens for long options (e." +"g., ``'--long-option'``), and the option argument as its second element, or " +"an empty string if the option has no argument. The options occur in the " +"list in the same order in which they were found, thus allowing multiple " +"occurrences. Long and short options may be mixed." +msgstr "" +"Повернене значення складається з двох елементів: перший – це список пар " +"``(параметр, значення)``; другий — список аргументів програми, що залишився " +"після видалення списку параметрів (це кінцевий фрагмент *args*). Кожна " +"повернута пара параметрів і значень має параметр як перший елемент із " +"префіксом дефіса для коротких варіантів (наприклад, ``'-x''``) або двох " +"дефісів для довгих варіантів (наприклад, ``'--long-option'``), і аргумент " +"параметра як його другий елемент або порожній рядок, якщо параметр не має " +"аргументу. Параметри з’являються в списку в тому самому порядку, в якому " +"вони були знайдені, таким чином допускаючи багатократне повторення. Довгі та " +"короткі варіанти можуть змішуватися." + +msgid "" +"This function works like :func:`getopt`, except that GNU style scanning mode " +"is used by default. This means that option and non-option arguments may be " +"intermixed. The :func:`getopt` function stops processing options as soon as " +"a non-option argument is encountered." +msgstr "" +"Ця функція працює як :func:`getopt`, за винятком того, що за замовчуванням " +"використовується режим сканування у стилі GNU. Це означає, що аргументи " +"варіантів і неваріантів можуть змішуватися. Функція :func:`getopt` припиняє " +"обробку опцій, щойно зустрічається аргумент, що не є опцією." + +msgid "" +"If the first character of the option string is ``'+'``, or if the " +"environment variable :envvar:`POSIXLY_CORRECT` is set, then option " +"processing stops as soon as a non-option argument is encountered." +msgstr "" +"Якщо першим символом рядка параметра є ``'+'`` або якщо встановлено змінну " +"середовища :envvar:`POSIXLY_CORRECT`, тоді обробка параметра припиняється, " +"як тільки буде виявлено аргумент, що не є параметром." + +msgid "" +"This is raised when an unrecognized option is found in the argument list or " +"when an option requiring an argument is given none. The argument to the " +"exception is a string indicating the cause of the error. For long options, " +"an argument given to an option which does not require one will also cause " +"this exception to be raised. The attributes :attr:`msg` and :attr:`opt` " +"give the error message and related option; if there is no specific option to " +"which the exception relates, :attr:`opt` is an empty string." +msgstr "" +"Це виникає, коли в списку аргументів знайдено нерозпізнаний параметр або " +"якщо параметру, який вимагає аргументу, не вказано жодного. Аргументом " +"винятку є рядок, що вказує на причину помилки. Для довгих опцій аргумент, " +"наданий опції, яка його не вимагає, також призведе до виклику цього винятку. " +"Атрибути :attr:`msg` і :attr:`opt` дають повідомлення про помилку та " +"відповідну опцію; якщо немає конкретної опції, до якої відноситься виняток, :" +"attr:`opt` є порожнім рядком." + +msgid "Alias for :exc:`GetoptError`; for backward compatibility." +msgstr "Псевдонім для :exc:`GetoptError`; для зворотної сумісності." + +msgid "An example using only Unix style options:" +msgstr "Приклад використання лише параметрів стилю Unix:" + +msgid "Using long option names is equally easy:" +msgstr "Використовувати довгі назви параметрів так само легко:" + +msgid "In a script, typical usage is something like this::" +msgstr "У сценарії типове використання приблизно таке::" + +msgid "" +"Note that an equivalent command line interface could be produced with less " +"code and more informative help and error messages by using the :mod:" +"`argparse` module::" +msgstr "" +"Зауважте, що еквівалентний інтерфейс командного рядка можна створити з " +"меншим кодом і більш інформативною довідкою та повідомленнями про помилки за " +"допомогою модуля :mod:`argparse`::" + +msgid "Module :mod:`argparse`" +msgstr "Модуль :mod:`argparse`" + +msgid "Alternative command line option and argument parsing library." +msgstr "" +"Альтернативний параметр командного рядка та бібліотека аналізу аргументів." diff --git a/library/getpass.po b/library/getpass.po new file mode 100644 index 000000000..45deaf5e0 --- /dev/null +++ b/library/getpass.po @@ -0,0 +1,100 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`getpass` --- Portable password input" +msgstr ":mod:`getpass` --- Портативне введення пароля" + +msgid "**Source code:** :source:`Lib/getpass.py`" +msgstr "**Вихідний код:** :source:`Lib/getpass.py`" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The :mod:`getpass` module provides two functions:" +msgstr "Модуль :mod:`getpass` забезпечує дві функції:" + +msgid "" +"Prompt the user for a password without echoing. The user is prompted using " +"the string *prompt*, which defaults to ``'Password: '``. On Unix, the " +"prompt is written to the file-like object *stream* using the replace error " +"handler if needed. *stream* defaults to the controlling terminal (:file:`/" +"dev/tty`) or if that is unavailable to ``sys.stderr`` (this argument is " +"ignored on Windows)." +msgstr "" +"Запитувати в користувача пароль без луни. Користувач отримує запит за " +"допомогою рядка *prompt*, який за замовчуванням має значення ``'Пароль:'``. " +"В Unix підказка записується у файлоподібний об’єкт *stream* за допомогою " +"обробника помилок заміни, якщо потрібно. *stream* за замовчуванням " +"використовується для керуючого терміналу (:file:`/dev/tty`) або, якщо він " +"недоступний, для ``sys.stderr`` (цей аргумент ігнорується в Windows)." + +msgid "" +"If echo free input is unavailable getpass() falls back to printing a warning " +"message to *stream* and reading from ``sys.stdin`` and issuing a :exc:" +"`GetPassWarning`." +msgstr "" +"Якщо введення без відлуння недоступне, getpass() повертається до друку " +"повідомлення попередження в *stream* і читання з ``sys.stdin`` і видачі :exc:" +"`GetPassWarning`." + +msgid "" +"If you call getpass from within IDLE, the input may be done in the terminal " +"you launched IDLE from rather than the idle window itself." +msgstr "" +"Якщо ви викликаєте getpass із IDLE, введення може здійснюватися в терміналі, " +"з якого ви запустили IDLE, а не в самому вікні очікування." + +msgid "A :exc:`UserWarning` subclass issued when password input may be echoed." +msgstr "" +"Підклас :exc:`UserWarning` видається, коли введення пароля може " +"повторюватися." + +msgid "Return the \"login name\" of the user." +msgstr "Повернути \"ім’я для входу\" користувача." + +msgid "" +"This function checks the environment variables :envvar:`LOGNAME`, :envvar:" +"`USER`, :envvar:`LNAME` and :envvar:`USERNAME`, in order, and returns the " +"value of the first one which is set to a non-empty string. If none are set, " +"the login name from the password database is returned on systems which " +"support the :mod:`pwd` module, otherwise, an exception is raised." +msgstr "" +"Ця функція перевіряє змінні середовища :envvar:`LOGNAME`, :envvar:`USER`, :" +"envvar:`LNAME` і :envvar:`USERNAME` по порядку та повертає значення першої, " +"яка має значення непорожній рядок. Якщо жодного не встановлено, ім’я для " +"входу з бази даних паролів повертається в системах, які підтримують модуль :" +"mod:`pwd`, інакше створюється виняток." + +msgid "" +"In general, this function should be preferred over :func:`os.getlogin()`." +msgstr "Загалом, цій функції слід надавати перевагу над :func:`os.getlogin()`." diff --git a/library/gettext.po b/library/gettext.po new file mode 100644 index 000000000..5c1285a8a --- /dev/null +++ b/library/gettext.po @@ -0,0 +1,937 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`gettext` --- Multilingual internationalization services" +msgstr ":mod:`gettext` --- Багатомовні послуги інтернаціоналізації" + +msgid "**Source code:** :source:`Lib/gettext.py`" +msgstr "**Вихідний код:** :source:`Lib/gettext.py`" + +msgid "" +"The :mod:`gettext` module provides internationalization (I18N) and " +"localization (L10N) services for your Python modules and applications. It " +"supports both the GNU :program:`gettext` message catalog API and a higher " +"level, class-based API that may be more appropriate for Python files. The " +"interface described below allows you to write your module and application " +"messages in one natural language, and provide a catalog of translated " +"messages for running under different natural languages." +msgstr "" +"Модуль :mod:`gettext` надає служби інтернаціоналізації (I18N) і локалізації " +"(L10N) для ваших модулів і програм Python. Він підтримує як API каталогу " +"повідомлень GNU :program:`gettext`, так і API вищого рівня на основі класів, " +"який може бути більш відповідним для файлів Python. Інтерфейс, описаний " +"нижче, дозволяє вам писати повідомлення модуля та додатка однією природною " +"мовою та надавати каталог перекладених повідомлень для роботи на різних " +"природних мовах." + +msgid "" +"Some hints on localizing your Python modules and applications are also given." +msgstr "" +"Також подано деякі підказки щодо локалізації ваших модулів і програм Python." + +msgid "GNU :program:`gettext` API" +msgstr "GNU :program:`gettext` API" + +msgid "" +"The :mod:`gettext` module defines the following API, which is very similar " +"to the GNU :program:`gettext` API. If you use this API you will affect the " +"translation of your entire application globally. Often this is what you " +"want if your application is monolingual, with the choice of language " +"dependent on the locale of your user. If you are localizing a Python " +"module, or if your application needs to switch languages on the fly, you " +"probably want to use the class-based API instead." +msgstr "" +"Модуль :mod:`gettext` визначає наступний API, який дуже схожий на GNU :" +"program:`gettext` API. Якщо ви використовуєте цей API, ви вплинете на " +"глобальний переклад усієї вашої програми. Часто це те, що вам потрібно, якщо " +"ваша програма є одномовною, а вибір мови залежить від локалі вашого " +"користувача. Якщо ви локалізуєте модуль Python або якщо вашій програмі " +"потрібно миттєво перемикати мови, ви, ймовірно, захочете замість цього " +"використовувати API на основі класів." + +msgid "" +"Bind the *domain* to the locale directory *localedir*. More concretely, :" +"mod:`gettext` will look for binary :file:`.mo` files for the given domain " +"using the path (on Unix): :file:`{localedir}/{language}/LC_MESSAGES/{domain}." +"mo`, where *language* is searched for in the environment variables :envvar:" +"`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` " +"respectively." +msgstr "" +"Прив’яжіть *домен* до каталогу локалі *localedir*. Точніше, :mod:`gettext` " +"шукатиме двійкові файли :file:`.mo` для вказаного домену за шляхом (в " +"Unix): :file:`{localedir}/{language}/LC_MESSAGES/{domain} .mo`, де *мова* " +"шукається в змінних середовища :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:" +"`LC_MESSAGES` та :envvar:`LANG` відповідно." + +msgid "" +"If *localedir* is omitted or ``None``, then the current binding for *domain* " +"is returned. [#]_" +msgstr "" +"Якщо *localedir* пропущено або ``None``, повертається поточне прив’язування " +"для *domain*. [#]_" + +msgid "" +"Change or query the current global domain. If *domain* is ``None``, then " +"the current global domain is returned, otherwise the global domain is set to " +"*domain*, which is returned." +msgstr "" +"Змініть або запитайте поточний глобальний домен. Якщо *domain* має значення " +"``None``, тоді повертається поточний глобальний домен, інакше глобальний " +"домен встановлюється на *domain*, який повертається." + +msgid "" +"Return the localized translation of *message*, based on the current global " +"domain, language, and locale directory. This function is usually aliased " +"as :func:`_` in the local namespace (see examples below)." +msgstr "" +"Повертає локалізований переклад *message* на основі поточного глобального " +"домену, мови та каталогу локалі. Ця функція зазвичай має псевдонім :func:`_` " +"у локальному просторі імен (див. приклади нижче)." + +msgid "" +"Like :func:`.gettext`, but look the message up in the specified *domain*." +msgstr "Як :func:`.gettext`, але шукайте повідомлення у вказаному *доміні*." + +msgid "" +"Like :func:`.gettext`, but consider plural forms. If a translation is found, " +"apply the plural formula to *n*, and return the resulting message (some " +"languages have more than two plural forms). If no translation is found, " +"return *singular* if *n* is 1; return *plural* otherwise." +msgstr "" +"Як :func:`.gettext`, але враховуйте форми множини. Якщо переклад знайдено, " +"застосуйте формулу множини до *n* та поверніть отримане повідомлення (деякі " +"мови мають більше двох форм множини). Якщо переклад не знайдено, поверніть " +"*singular*, якщо *n* дорівнює 1; повернути *множину* інакше." + +msgid "" +"The Plural formula is taken from the catalog header. It is a C or Python " +"expression that has a free variable *n*; the expression evaluates to the " +"index of the plural in the catalog. See `the GNU gettext documentation " +"`__ for the " +"precise syntax to be used in :file:`.po` files and the formulas for a " +"variety of languages." +msgstr "" +"Формула множини взята із заголовка каталогу. Це вираз C або Python, який має " +"вільну змінну *n*; вираз обчислюється відповідно до індексу множини в " +"каталозі. Перегляньте `документацію GNU gettext `__ для точного синтаксису, який буде " +"використовуватися у файлах :file:`.po` та формул для різних мов." + +msgid "" +"Like :func:`ngettext`, but look the message up in the specified *domain*." +msgstr "Як :func:`ngettext`, але шукайте повідомлення у вказаному *доміні*." + +msgid "" +"Similar to the corresponding functions without the ``p`` in the prefix (that " +"is, :func:`gettext`, :func:`dgettext`, :func:`ngettext`, :func:`dngettext`), " +"but the translation is restricted to the given message *context*." +msgstr "" +"Подібно до відповідних функцій без ``p`` у префіксі (тобто :func:`gettext`, :" +"func:`dgettext`, :func:`ngettext`, :func:`dngettext`), але переклад обмежено " +"даним *контекстом* повідомлення." + +msgid "" +"Note that GNU :program:`gettext` also defines a :func:`dcgettext` method, " +"but this was deemed not useful and so it is currently unimplemented." +msgstr "" +"Зауважте, що GNU :program:`gettext` також визначає метод :func:`dcgettext`, " +"але це було визнано некорисним, тому наразі його не реалізовано." + +msgid "Here's an example of typical usage for this API::" +msgstr "Ось приклад типового використання цього API:" + +msgid "Class-based API" +msgstr "API на основі класів" + +msgid "" +"The class-based API of the :mod:`gettext` module gives you more flexibility " +"and greater convenience than the GNU :program:`gettext` API. It is the " +"recommended way of localizing your Python applications and modules. :mod:`!" +"gettext` defines a :class:`GNUTranslations` class which implements the " +"parsing of GNU :file:`.mo` format files, and has methods for returning " +"strings. Instances of this class can also install themselves in the built-in " +"namespace as the function :func:`_`." +msgstr "" +"Базований на класі API модуля :mod:`gettext` надає вам більшу гнучкість і " +"більшу зручність, ніж GNU :program:`gettext` API. Це рекомендований спосіб " +"локалізації програм і модулів Python. :mod:`!gettext` визначає клас :class:" +"`GNUTranslations`, який реалізує аналіз файлів формату GNU :file:`.mo` і має " +"методи для повернення рядків. Екземпляри цього класу також можуть " +"встановлюватися у вбудований простір імен як функція :func:`_`." + +msgid "" +"This function implements the standard :file:`.mo` file search algorithm. It " +"takes a *domain*, identical to what :func:`textdomain` takes. Optional " +"*localedir* is as in :func:`bindtextdomain`. Optional *languages* is a list " +"of strings, where each string is a language code." +msgstr "" +"Ця функція реалізує стандартний алгоритм пошуку файлів :file:`.mo`. Для " +"цього потрібно *домен*, ідентичний тому, що приймає :func:`textdomain`. " +"Необов’язковий *localedir* такий, як у :func:`bindtextdomain`. Необов’язкові " +"*мови* – це список рядків, де кожен рядок є кодом мови." + +msgid "" +"If *localedir* is not given, then the default system locale directory is " +"used. [#]_ If *languages* is not given, then the following environment " +"variables are searched: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:" +"`LC_MESSAGES`, and :envvar:`LANG`. The first one returning a non-empty " +"value is used for the *languages* variable. The environment variables should " +"contain a colon separated list of languages, which will be split on the " +"colon to produce the expected list of language code strings." +msgstr "" +"Якщо *localedir* не вказано, використовується каталог локалі системи за " +"замовчуванням. [#]_ Якщо *мови* не вказано, шукаються такі змінні " +"середовища: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES` і :" +"envvar:`LANG`. Перше, що повертає непорожнє значення, використовується для " +"змінної *languages*. Змінні середовища мають містити розділений двокрапкою " +"список мов, який буде розділено на двокрапку для створення очікуваного " +"списку рядків коду мови." + +msgid "" +":func:`find` then expands and normalizes the languages, and then iterates " +"through them, searching for an existing file built of these components:" +msgstr "" +":func:`find` потім розширює та нормалізує мови, а потім перебирає їх, " +"шукаючи існуючий файл, створений із цих компонентів:" + +msgid ":file:`{localedir}/{language}/LC_MESSAGES/{domain}.mo`" +msgstr ":file:`{localedir}/{language}/LC_MESSAGES/{domain}.mo`" + +msgid "" +"The first such file name that exists is returned by :func:`find`. If no such " +"file is found, then ``None`` is returned. If *all* is given, it returns a " +"list of all file names, in the order in which they appear in the languages " +"list or the environment variables." +msgstr "" +"Перше таке ім’я файлу, яке існує, повертається :func:`find`. Якщо такий файл " +"не знайдено, повертається ``None``. Якщо задано *all*, повертається список " +"усіх імен файлів у порядку, у якому вони з’являються у списку мов або " +"змінних середовища." + +msgid "" +"Return a :class:`*Translations` instance based on the *domain*, *localedir*, " +"and *languages*, which are first passed to :func:`find` to get a list of the " +"associated :file:`.mo` file paths. Instances with identical :file:`.mo` " +"file names are cached. The actual class instantiated is *class_* if " +"provided, otherwise :class:`GNUTranslations`. The class's constructor must " +"take a single :term:`file object` argument. If provided, *codeset* will " +"change the charset used to encode translated strings in the :meth:" +"`~NullTranslations.lgettext` and :meth:`~NullTranslations.lngettext` methods." +msgstr "" +"Повертає екземпляр :class:`*Translations` на основі *domain*, *localedir* і " +"*languages*, які спочатку передаються в :func:`find`, щоб отримати список " +"пов’язаних :file:`.mo` шляхи до файлів. Екземпляри з ідентичними іменами " +"файлів :file:`.mo` зберігаються в кеші. Фактичний екземпляр класу є " +"*class_*, якщо він надається, інакше :class:`GNUTranslations`. Конструктор " +"класу повинен приймати один аргумент :term:`file object`. Якщо надано, " +"*codeset* змінить набір символів, який використовується для кодування " +"перекладених рядків у методах :meth:`~NullTranslations.lgettext` і :meth:" +"`~NullTranslations.lngettext`." + +msgid "" +"If multiple files are found, later files are used as fallbacks for earlier " +"ones. To allow setting the fallback, :func:`copy.copy` is used to clone each " +"translation object from the cache; the actual instance data is still shared " +"with the cache." +msgstr "" +"Якщо знайдено декілька файлів, пізніші файли використовуються як запасні для " +"попередніх. Щоб дозволити встановлення запасного варіанта, :func:`copy.copy` " +"використовується для клонування кожного об’єкта перекладу з кешу; фактичні " +"дані екземпляра все ще використовуються в кеші." + +msgid "" +"If no :file:`.mo` file is found, this function raises :exc:`OSError` if " +"*fallback* is false (which is the default), and returns a :class:" +"`NullTranslations` instance if *fallback* is true." +msgstr "" +"Якщо файл :file:`.mo` не знайдено, ця функція викликає :exc:`OSError`, якщо " +"*fallback* має значення false (що є типовим), і повертає екземпляр :class:" +"`NullTranslations`, якщо *fallback* є правда." + +msgid ":exc:`IOError` used to be raised instead of :exc:`OSError`." +msgstr "Раніше викликалося :exc:`IOError` замість :exc:`OSError`." + +msgid "*codeset* parameter is removed." +msgstr "" + +msgid "" +"This installs the function :func:`_` in Python's builtins namespace, based " +"on *domain* and *localedir* which are passed to the function :func:" +"`translation`." +msgstr "" + +msgid "" +"For the *names* parameter, please see the description of the translation " +"object's :meth:`~NullTranslations.install` method." +msgstr "" +"Для параметра *names* див. опис методу :meth:`~NullTranslations.install` " +"об’єкта перекладу." + +msgid "" +"As seen below, you usually mark the strings in your application that are " +"candidates for translation, by wrapping them in a call to the :func:`_` " +"function, like this::" +msgstr "" +"Як показано нижче, ви зазвичай позначаєте рядки у своїй програмі, які є " +"кандидатами на переклад, загортаючи їх у виклик функції :func:`_`, ось так::" + +msgid "" +"For convenience, you want the :func:`_` function to be installed in Python's " +"builtins namespace, so it is easily accessible in all modules of your " +"application." +msgstr "" +"Для зручності ви хочете, щоб функція :func:`_` була встановлена у " +"вбудованому просторі імен Python, щоб вона була легко доступна в усіх " +"модулях вашої програми." + +msgid "*names* is now a keyword-only parameter." +msgstr "" + +msgid "The :class:`NullTranslations` class" +msgstr "Клас :class:`NullTranslations`" + +msgid "" +"Translation classes are what actually implement the translation of original " +"source file message strings to translated message strings. The base class " +"used by all translation classes is :class:`NullTranslations`; this provides " +"the basic interface you can use to write your own specialized translation " +"classes. Here are the methods of :class:`!NullTranslations`:" +msgstr "" +"Класи перекладу — це те, що фактично реалізує переклад рядків повідомлень " +"вихідного файлу в перекладені рядки повідомлень. Базовим класом, який " +"використовується всіма класами перекладу, є :class:`NullTranslations`; це " +"забезпечує базовий інтерфейс, який можна використовувати для написання " +"власних спеціалізованих класів перекладу. Ось методи :class:`!" +"NullTranslations`:" + +msgid "" +"Takes an optional :term:`file object` *fp*, which is ignored by the base " +"class. Initializes \"protected\" instance variables *_info* and *_charset* " +"which are set by derived classes, as well as *_fallback*, which is set " +"through :meth:`add_fallback`. It then calls ``self._parse(fp)`` if *fp* is " +"not ``None``." +msgstr "" +"Приймає необов’язковий :term:`file object` *fp*, який ігнорується базовим " +"класом. Ініціалізує \"захищені\" змінні екземпляра *_info* та *_charset*, " +"які встановлюються похідними класами, а також *_fallback*, який " +"встановлюється через :meth:`add_fallback`. Потім він викликає ``self." +"_parse(fp)``, якщо *fp* не є ``None``." + +msgid "" +"No-op in the base class, this method takes file object *fp*, and reads the " +"data from the file, initializing its message catalog. If you have an " +"unsupported message catalog file format, you should override this method to " +"parse your format." +msgstr "" +"No-op у базовому класі, цей метод бере файловий об’єкт *fp* і читає дані з " +"файлу, ініціалізуючи його каталог повідомлень. Якщо у вас є непідтримуваний " +"формат файлу каталогу повідомлень, вам слід замінити цей метод для аналізу " +"вашого формату." + +msgid "" +"Add *fallback* as the fallback object for the current translation object. A " +"translation object should consult the fallback if it cannot provide a " +"translation for a given message." +msgstr "" +"Додайте *резервний* як резервний об’єкт для поточного об’єкта перекладу. " +"Об’єкт перекладу має звернутися до резервного варіанту, якщо він не може " +"надати переклад для даного повідомлення." + +msgid "" +"If a fallback has been set, forward :meth:`!gettext` to the fallback. " +"Otherwise, return *message*. Overridden in derived classes." +msgstr "" +"Якщо встановлено запасний варіант, перешліть :meth:`!gettext` на резервний " +"варіант. В іншому випадку поверніть *повідомлення*. Перевизначено в похідних " +"класах." + +msgid "" +"If a fallback has been set, forward :meth:`!ngettext` to the fallback. " +"Otherwise, return *singular* if *n* is 1; return *plural* otherwise. " +"Overridden in derived classes." +msgstr "" +"Якщо встановлено запасний варіант, перешліть :meth:`!ngettext` до резервного " +"варіанту. В іншому випадку поверніть *singular*, якщо *n* дорівнює 1; " +"повернути *множину* інакше. Перевизначено в похідних класах." + +msgid "" +"If a fallback has been set, forward :meth:`pgettext` to the fallback. " +"Otherwise, return the translated message. Overridden in derived classes." +msgstr "" +"Якщо встановлено запасний варіант, перешліть :meth:`pgettext` на резервний " +"варіант. В іншому випадку поверніть перекладене повідомлення. Перевизначено " +"в похідних класах." + +msgid "" +"If a fallback has been set, forward :meth:`npgettext` to the fallback. " +"Otherwise, return the translated message. Overridden in derived classes." +msgstr "" +"Якщо встановлено запасний варіант, перешліть :meth:`npgettext` резервному " +"варіанту. В іншому випадку поверніть перекладене повідомлення. Перевизначено " +"в похідних класах." + +msgid "" +"Return the \"protected\" :attr:`_info` variable, a dictionary containing the " +"metadata found in the message catalog file." +msgstr "" +"Повертає \"захищену\" змінну :attr:`_info`, словник, що містить метадані, " +"знайдені у файлі каталогу повідомлень." + +msgid "Return the encoding of the message catalog file." +msgstr "Повернути кодування файлу каталогу повідомлень." + +msgid "" +"This method installs :meth:`.gettext` into the built-in namespace, binding " +"it to ``_``." +msgstr "" +"Цей метод встановлює :meth:`.gettext` у вбудований простір імен, прив’язуючи " +"його до ``_``." + +msgid "" +"If the *names* parameter is given, it must be a sequence containing the " +"names of functions you want to install in the builtins namespace in addition " +"to :func:`_`. Supported names are ``'gettext'``, ``'ngettext'``, " +"``'pgettext'``, ``'npgettext'``, ``'lgettext'``, and ``'lngettext'``." +msgstr "" +"Якщо вказано параметр *names*, це має бути послідовність, що містить імена " +"функцій, які ви хочете встановити у вбудованому просторі імен на додаток до :" +"func:`_`. Підтримувані імена: ``'gettext'``, ``'ngettext'``, ``'pgettext'``, " +"``'npgettext'``, ``'lgettext'`` і ``'lngettext'``." + +msgid "" +"Note that this is only one way, albeit the most convenient way, to make the :" +"func:`_` function available to your application. Because it affects the " +"entire application globally, and specifically the built-in namespace, " +"localized modules should never install :func:`_`. Instead, they should use " +"this code to make :func:`_` available to their module::" +msgstr "" +"Зауважте, що це лише один із способів, хоча й найзручніший, зробити функцію :" +"func:`_` доступною для вашої програми. Оскільки це впливає на всю програму " +"глобально, і зокрема на вбудований простір імен, локалізовані модулі ніколи " +"не слід встановлювати :func:`_`. Натомість вони повинні використовувати цей " +"код, щоб зробити :func:`_` доступним для свого модуля::" + +msgid "" +"This puts :func:`_` only in the module's global namespace and so only " +"affects calls within this module." +msgstr "" +"Це поміщає :func:`_` лише в глобальний простір імен модуля, і тому впливає " +"лише на виклики в цьому модулі." + +msgid "Added ``'pgettext'`` and ``'npgettext'``." +msgstr "Додано ``'pgettext'`` і ``'npgettext'``." + +msgid "The :class:`GNUTranslations` class" +msgstr "Клас :class:`GNUTranslations`" + +msgid "" +"The :mod:`gettext` module provides one additional class derived from :class:" +"`NullTranslations`: :class:`GNUTranslations`. This class overrides :meth:" +"`_parse` to enable reading GNU :program:`gettext` format :file:`.mo` files " +"in both big-endian and little-endian format." +msgstr "" +"Модуль :mod:`gettext` надає один додатковий клас, похідний від :class:" +"`NullTranslations`: :class:`GNUTranslations`. Цей клас замінює :meth:" +"`_parse`, щоб увімкнути читання файлів у форматі GNU :program:`gettext` :" +"file:`.mo` у форматі big-endian і little-endian." + +msgid "" +":class:`GNUTranslations` parses optional metadata out of the translation " +"catalog. It is convention with GNU :program:`gettext` to include metadata as " +"the translation for the empty string. This metadata is in :rfc:`822`\\ -" +"style ``key: value`` pairs, and should contain the ``Project-Id-Version`` " +"key. If the key ``Content-Type`` is found, then the ``charset`` property is " +"used to initialize the \"protected\" :attr:`_charset` instance variable, " +"defaulting to ``None`` if not found. If the charset encoding is specified, " +"then all message ids and message strings read from the catalog are converted " +"to Unicode using this encoding, else ASCII is assumed." +msgstr "" +":class:`GNUTranslations` аналізує додаткові метадані з каталогу перекладів. " +"З GNU :program:`gettext` прийнято включати метадані як переклад порожнього " +"рядка. Ці метадані містяться в стилі :rfc:`822`\\ у парах ``ключ: значення`` " +"і мають містити ключ ``Project-Id-Version``. Якщо ключ ``Content-Type`` " +"знайдено, то властивість ``charset`` використовується для ініціалізації " +"\"захищеної\" змінної екземпляра :attr:`_charset`, за замовчуванням " +"``None``, якщо не знайдено. Якщо вказано кодування набору символів, усі " +"ідентифікатори повідомлень і рядки повідомлень, прочитані з каталогу, " +"перетворюються на Unicode за допомогою цього кодування, інакше " +"передбачається ASCII." + +msgid "" +"Since message ids are read as Unicode strings too, all :meth:`*gettext` " +"methods will assume message ids as Unicode strings, not byte strings." +msgstr "" +"Оскільки ідентифікатори повідомлень також читаються як рядки Unicode, усі " +"методи :meth:`*gettext` припускатимуть ідентифікатори повідомлень як рядки " +"Unicode, а не рядки байтів." + +msgid "" +"The entire set of key/value pairs are placed into a dictionary and set as " +"the \"protected\" :attr:`_info` instance variable." +msgstr "" +"Увесь набір пар ключ/значення поміщається в словник і встановлюється як " +"\"захищена\" змінна екземпляра :attr:`_info`." + +msgid "" +"If the :file:`.mo` file's magic number is invalid, the major version number " +"is unexpected, or if other problems occur while reading the file, " +"instantiating a :class:`GNUTranslations` class can raise :exc:`OSError`." +msgstr "" +"Якщо магічне число файлу :file:`.mo` недійсне, основний номер версії " +"неочікуваний або якщо під час читання файлу виникають інші проблеми, " +"створення екземпляра класу :class:`GNUTranslations` може викликати :exc:" +"`OSError`." + +msgid "" +"The following methods are overridden from the base class implementation:" +msgstr "Наступні методи перевизначені з реалізації базового класу:" + +msgid "" +"Look up the *message* id in the catalog and return the corresponding message " +"string, as a Unicode string. If there is no entry in the catalog for the " +"*message* id, and a fallback has been set, the look up is forwarded to the " +"fallback's :meth:`~NullTranslations.gettext` method. Otherwise, the " +"*message* id is returned." +msgstr "" +"Знайдіть ідентифікатор *повідомлення* в каталозі та поверніть відповідний " +"рядок повідомлення як рядок Unicode. Якщо в каталозі немає запису для " +"ідентифікатора *message* і встановлено резервний варіант, пошук " +"пересилається до резервного методу :meth:`~NullTranslations.gettext`. В " +"іншому випадку повертається ідентифікатор *повідомлення*." + +msgid "" +"Do a plural-forms lookup of a message id. *singular* is used as the message " +"id for purposes of lookup in the catalog, while *n* is used to determine " +"which plural form to use. The returned message string is a Unicode string." +msgstr "" +"Виконайте пошук у формі множини ідентифікатора повідомлення. *singular* " +"використовується як ідентифікатор повідомлення для цілей пошуку в каталозі, " +"тоді як *n* використовується, щоб визначити, яку форму множини " +"використовувати. Повернений рядок повідомлення є рядком Unicode." + +msgid "" +"If the message id is not found in the catalog, and a fallback is specified, " +"the request is forwarded to the fallback's :meth:`~NullTranslations." +"ngettext` method. Otherwise, when *n* is 1 *singular* is returned, and " +"*plural* is returned in all other cases." +msgstr "" +"Якщо ідентифікатор повідомлення не знайдено в каталозі та вказано запасний " +"варіант, запит пересилається до резервного методу :meth:`~NullTranslations." +"ngettext`. В іншому випадку, коли *n* дорівнює 1, повертається *однина*, а " +"*множина* повертається в усіх інших випадках." + +msgid "Here is an example::" +msgstr "Ось приклад::" + +msgid "" +"Look up the *context* and *message* id in the catalog and return the " +"corresponding message string, as a Unicode string. If there is no entry in " +"the catalog for the *message* id and *context*, and a fallback has been set, " +"the look up is forwarded to the fallback's :meth:`pgettext` method. " +"Otherwise, the *message* id is returned." +msgstr "" +"Знайдіть *контекст* і ідентифікатор *повідомлення* в каталозі та поверніть " +"відповідний рядок повідомлення як рядок Unicode. Якщо в каталозі немає " +"запису для ідентифікатора *повідомлення* та *контексту*, і було встановлено " +"резервний варіант, пошук пересилається до резервного методу :meth:" +"`pgettext`. В іншому випадку повертається ідентифікатор *повідомлення*." + +msgid "" +"Do a plural-forms lookup of a message id. *singular* is used as the message " +"id for purposes of lookup in the catalog, while *n* is used to determine " +"which plural form to use." +msgstr "" +"Виконайте пошук у формі множини ідентифікатора повідомлення. *singular* " +"використовується як ідентифікатор повідомлення для цілей пошуку в каталозі, " +"тоді як *n* використовується, щоб визначити, яку форму множини " +"використовувати." + +msgid "" +"If the message id for *context* is not found in the catalog, and a fallback " +"is specified, the request is forwarded to the fallback's :meth:`npgettext` " +"method. Otherwise, when *n* is 1 *singular* is returned, and *plural* is " +"returned in all other cases." +msgstr "" +"Якщо ідентифікатор повідомлення для *контексту* не знайдено в каталозі, і " +"вказано резервний варіант, запит пересилається на резервний метод :meth:" +"`npgettext`. В іншому випадку, коли *n* дорівнює 1, повертається *однина*, а " +"*множина* повертається в усіх інших випадках." + +msgid "Solaris message catalog support" +msgstr "Підтримка каталогу повідомлень Solaris" + +msgid "" +"The Solaris operating system defines its own binary :file:`.mo` file format, " +"but since no documentation can be found on this format, it is not supported " +"at this time." +msgstr "" +"Операційна система Solaris визначає власний двійковий формат файлу :file:`." +"mo`, але оскільки документацію щодо цього формату немає, він наразі не " +"підтримується." + +msgid "The Catalog constructor" +msgstr "Конструктор каталогу" + +msgid "" +"GNOME uses a version of the :mod:`gettext` module by James Henstridge, but " +"this version has a slightly different API. Its documented usage was::" +msgstr "" +"GNOME використовує версію модуля :mod:`gettext` від Джеймса Хенстріджа, але " +"ця версія має дещо інший API. Його задокументоване використання:" + +msgid "" +"For compatibility with this older module, the function :func:`Catalog` is an " +"alias for the :func:`translation` function described above." +msgstr "" +"Для сумісності з цим старішим модулем функція :func:`Catalog` є псевдонімом " +"для функції :func:`translation`, описаної вище." + +msgid "" +"One difference between this module and Henstridge's: his catalog objects " +"supported access through a mapping API, but this appears to be unused and so " +"is not currently supported." +msgstr "" +"Одна відмінність між цим модулем і модулем Хенстріджа: його об’єкти каталогу " +"підтримували доступ через API відображення, але він, здається, не " +"використовується, тому наразі не підтримується." + +msgid "Internationalizing your programs and modules" +msgstr "Інтернаціоналізація ваших програм і модулів" + +msgid "" +"Internationalization (I18N) refers to the operation by which a program is " +"made aware of multiple languages. Localization (L10N) refers to the " +"adaptation of your program, once internationalized, to the local language " +"and cultural habits. In order to provide multilingual messages for your " +"Python programs, you need to take the following steps:" +msgstr "" +"Інтернаціоналізація (I18N) відноситься до операції, за допомогою якої " +"програма дізнається про декілька мов. Локалізація (L10N) означає адаптацію " +"вашої програми після її інтернаціоналізації до місцевої мови та культурних " +"звичок. Щоб надати багатомовні повідомлення для своїх програм на Python, " +"потрібно виконати наступні кроки:" + +msgid "" +"prepare your program or module by specially marking translatable strings" +msgstr "" +"підготуйте свою програму або модуль, спеціально позначивши рядки для " +"перекладу" + +msgid "" +"run a suite of tools over your marked files to generate raw messages catalogs" +msgstr "" +"запустіть набір інструментів над позначеними файлами, щоб створити каталоги " +"необроблених повідомлень" + +msgid "create language-specific translations of the message catalogs" +msgstr "створювати переклади каталогів повідомлень на певну мову" + +msgid "" +"use the :mod:`gettext` module so that message strings are properly translated" +msgstr "" +"використовуйте модуль :mod:`gettext`, щоб рядки повідомлень були правильно " +"перекладені" + +msgid "" +"In order to prepare your code for I18N, you need to look at all the strings " +"in your files. Any string that needs to be translated should be marked by " +"wrapping it in ``_('...')`` --- that is, a call to the function :func:`_`. " +"For example::" +msgstr "" +"Щоб підготувати свій код для I18N, вам потрібно переглянути всі рядки у " +"ваших файлах. Будь-який рядок, який потрібно перекласти, має бути позначений " +"за допомогою ``_('...')`` --- тобто виклику функції :func:`_`. Наприклад::" + +msgid "" +"In this example, the string ``'writing a log message'`` is marked as a " +"candidate for translation, while the strings ``'mylog.txt'`` and ``'w'`` are " +"not." +msgstr "" +"У цьому прикладі рядок \"writing a log message\" позначено як кандидат на " +"переклад, тоді як рядки \"mylog.txt\" і \"w\" — ні." + +msgid "" +"There are a few tools to extract the strings meant for translation. The " +"original GNU :program:`gettext` only supported C or C++ source code but its " +"extended version :program:`xgettext` scans code written in a number of " +"languages, including Python, to find strings marked as translatable. `Babel " +"`__ is a Python internationalization library that " +"includes a :file:`pybabel` script to extract and compile message catalogs. " +"François Pinard's program called :program:`xpot` does a similar job and is " +"available as part of his `po-utils package `__." +msgstr "" + +msgid "" +"(Python also includes pure-Python versions of these programs, called :" +"program:`pygettext.py` and :program:`msgfmt.py`; some Python distributions " +"will install them for you. :program:`pygettext.py` is similar to :program:" +"`xgettext`, but only understands Python source code and cannot handle other " +"programming languages such as C or C++. :program:`pygettext.py` supports a " +"command-line interface similar to :program:`xgettext`; for details on its " +"use, run ``pygettext.py --help``. :program:`msgfmt.py` is binary compatible " +"with GNU :program:`msgfmt`. With these two programs, you may not need the " +"GNU :program:`gettext` package to internationalize your Python applications.)" +msgstr "" +"(Python також включає версії цих програм на чистому Python, які називаються :" +"program:`pygettext.py` і :program:`msgfmt.py`; деякі дистрибутиви Python " +"встановлять їх для вас. :program:`pygettext.py` схоже до :program:" +"`xgettext`, але розуміє лише вихідний код Python і не може працювати з " +"іншими мовами програмування, такими як C або C++. :program:`pygettext.py` " +"підтримує інтерфейс командного рядка, подібний до :program:`xgettext`; для " +"детальніше про його використання, запустіть ``pygettext.py --help``. :" +"program:`msgfmt.py` бінарно сумісний із GNU :program:`msgfmt`. З цими двома " +"програмами вам може не знадобитися GNU :program:`gettext` пакет для " +"інтернаціоналізації ваших програм Python.)" + +msgid "" +":program:`xgettext`, :program:`pygettext`, and similar tools generate :file:" +"`.po` files that are message catalogs. They are structured human-readable " +"files that contain every marked string in the source code, along with a " +"placeholder for the translated versions of these strings." +msgstr "" +":program:`xgettext`, :program:`pygettext` та подібні інструменти створюють " +"файли :file:`.po`, які є каталогами повідомлень. Це структуровані зрозумілі " +"для людини файли, які містять кожен позначений рядок у вихідному коді разом " +"із заповнювачем для перекладених версій цих рядків." + +msgid "" +"Copies of these :file:`.po` files are then handed over to the individual " +"human translators who write translations for every supported natural " +"language. They send back the completed language-specific versions as a :" +"file:`.po` file that's compiled into a machine-readable :file:" +"`.mo` binary catalog file using the :program:`msgfmt` program. The :file:`." +"mo` files are used by the :mod:`gettext` module for the actual translation " +"processing at run-time." +msgstr "" +"Потім копії цих файлів :file:`.po` передаються окремим перекладачам, які " +"пишуть переклади для кожної підтримуваної природної мови. Вони надсилають " +"назад завершені версії для певної мови у вигляді файлу :file:` .po`, який скомпільовано в машиночитаний файл бінарного каталогу :file:" +"`.mo` за допомогою програми :program:`msgfmt`. Файли :file:`.mo` " +"використовуються модулем :mod:`gettext` для фактичної обробки перекладу під " +"час виконання." + +msgid "" +"How you use the :mod:`gettext` module in your code depends on whether you " +"are internationalizing a single module or your entire application. The next " +"two sections will discuss each case." +msgstr "" +"Те, як ви використовуєте модуль :mod:`gettext` у своєму коді, залежить від " +"того, чи інтернаціоналізуєте ви один модуль чи всю програму. У наступних " +"двох розділах буде розглянуто кожен випадок." + +msgid "Localizing your module" +msgstr "Локалізація вашого модуля" + +msgid "" +"If you are localizing your module, you must take care not to make global " +"changes, e.g. to the built-in namespace. You should not use the GNU :program:" +"`gettext` API but instead the class-based API." +msgstr "" +"Якщо ви локалізуєте свій модуль, ви повинні подбати про те, щоб не вносити " +"глобальних змін, напр. до вбудованого простору імен. Вам слід " +"використовувати не GNU :program:`gettext` API, а замість нього API на основі " +"класів." + +msgid "" +"Let's say your module is called \"spam\" and the module's various natural " +"language translation :file:`.mo` files reside in :file:`/usr/share/locale` " +"in GNU :program:`gettext` format. Here's what you would put at the top of " +"your module::" +msgstr "" +"Припустімо, що ваш модуль називається \"спамом\", і різні файли перекладу " +"природної мови модуля :file:`.mo` містяться в :file:`/usr/share/locale` у " +"форматі GNU :program:`gettext`. Ось що ви б розмістили у верхній частині " +"свого модуля:" + +msgid "Localizing your application" +msgstr "Локалізація вашої програми" + +msgid "" +"If you are localizing your application, you can install the :func:`_` " +"function globally into the built-in namespace, usually in the main driver " +"file of your application. This will let all your application-specific files " +"just use ``_('...')`` without having to explicitly install it in each file." +msgstr "" +"Якщо ви локалізуєте свою програму, ви можете встановити функцію :func:`_` " +"глобально у вбудований простір імен, як правило, у головний файл драйвера " +"вашої програми. Це дозволить усім вашим файлам програм просто " +"використовувати ``_('...')`` без необхідності явно встановлювати його в " +"кожному файлі." + +msgid "" +"In the simple case then, you need only add the following bit of code to the " +"main driver file of your application::" +msgstr "" +"У простому випадку вам потрібно лише додати наступний біт коду до основного " +"файлу драйвера вашої програми:" + +msgid "" +"If you need to set the locale directory, you can pass it into the :func:" +"`install` function::" +msgstr "" +"Якщо вам потрібно встановити каталог локалі, ви можете передати його у " +"функцію :func:`install`::" + +msgid "Changing languages on the fly" +msgstr "Зміна мов на льоту" + +msgid "" +"If your program needs to support many languages at the same time, you may " +"want to create multiple translation instances and then switch between them " +"explicitly, like so::" +msgstr "" +"Якщо ваша програма повинна підтримувати багато мов одночасно, ви можете " +"створити кілька екземплярів перекладу, а потім явно перемикатися між ними, " +"наприклад:" + +msgid "Deferred translations" +msgstr "Відкладені переклади" + +msgid "" +"In most coding situations, strings are translated where they are coded. " +"Occasionally however, you need to mark strings for translation, but defer " +"actual translation until later. A classic example is::" +msgstr "" +"У більшості ситуацій кодування рядки перекладаються там, де вони закодовані. " +"Однак інколи вам потрібно позначити рядки для перекладу, але відкласти " +"фактичний переклад на потім. Класичний приклад::" + +msgid "" +"Here, you want to mark the strings in the ``animals`` list as being " +"translatable, but you don't actually want to translate them until they are " +"printed." +msgstr "" +"Тут ви хочете позначити рядки у списку ``animals`` як такі, що можна " +"перекладати, але насправді ви не хочете їх перекладати, поки вони не будуть " +"надруковані." + +msgid "Here is one way you can handle this situation::" +msgstr "Ось один із способів вирішення цієї ситуації:" + +msgid "" +"This works because the dummy definition of :func:`_` simply returns the " +"string unchanged. And this dummy definition will temporarily override any " +"definition of :func:`_` in the built-in namespace (until the :keyword:`del` " +"command). Take care, though if you have a previous definition of :func:`_` " +"in the local namespace." +msgstr "" +"Це працює, оскільки фіктивне визначення :func:`_` просто повертає рядок без " +"змін. І це фіктивне визначення тимчасово замінить будь-яке визначення :func:" +"`_` у вбудованому просторі імен (до команди :keyword:`del`). Проте будьте " +"обережні, якщо у вас є попереднє визначення :func:`_` у локальному просторі " +"імен." + +msgid "" +"Note that the second use of :func:`_` will not identify \"a\" as being " +"translatable to the :program:`gettext` program, because the parameter is not " +"a string literal." +msgstr "" +"Зауважте, що друге використання :func:`_` не ідентифікуватиме \"a\" як таке, " +"що можна перекласти в програму :program:`gettext`, оскільки параметр не є " +"рядковим літералом." + +msgid "Another way to handle this is with the following example::" +msgstr "Ще один спосіб вирішити це за допомогою наступного прикладу::" + +msgid "" +"In this case, you are marking translatable strings with the function :func:" +"`N_`, which won't conflict with any definition of :func:`_`. However, you " +"will need to teach your message extraction program to look for translatable " +"strings marked with :func:`N_`. :program:`xgettext`, :program:`pygettext`, " +"``pybabel extract``, and :program:`xpot` all support this through the use of " +"the :option:`!-k` command-line switch. The choice of :func:`N_` here is " +"totally arbitrary; it could have just as easily been :func:" +"`MarkThisStringForTranslation`." +msgstr "" +"У цьому випадку ви позначаєте рядки, які можна перекладати, за допомогою " +"функції :func:`N_`, яка не конфліктуватиме з жодним визначенням :func:`_`. " +"Однак вам потрібно буде навчити вашу програму вилучення повідомлень шукати " +"рядки, які можна перекладати, позначені :func:`N_`. :program:`xgettext`, :" +"program:`pygettext`, ``pybabel extract`` і :program:`xpot` підтримують це за " +"допомогою перемикача командного рядка :option:`!-k`. Вибір :func:`N_` тут " +"абсолютно довільний; це так само легко могло бути :func:" +"`MarkThisStringForTranslation`." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The following people contributed code, feedback, design suggestions, " +"previous implementations, and valuable experience to the creation of this " +"module:" +msgstr "" +"Наступні люди надали код, відгуки, пропозиції щодо дизайну, попередні " +"реалізації та цінний досвід для створення цього модуля:" + +msgid "Peter Funk" +msgstr "Пітер Функ" + +msgid "James Henstridge" +msgstr "Джеймс Хенстрідж" + +msgid "Juan David Ibáñez Palomar" +msgstr "Хуан Давид Ібаньес Паломар" + +msgid "Marc-André Lemburg" +msgstr "Марк-Андре Лембург" + +msgid "Martin von Löwis" +msgstr "Мартін фон Льовіс" + +msgid "François Pinard" +msgstr "Франсуа Пінар" + +msgid "Barry Warsaw" +msgstr "Баррі Варшава" + +msgid "Gustavo Niemeyer" +msgstr "Густаво Німейєр" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The default locale directory is system dependent; for example, on RedHat " +"Linux it is :file:`/usr/share/locale`, but on Solaris it is :file:`/usr/lib/" +"locale`. The :mod:`gettext` module does not try to support these system " +"dependent defaults; instead its default is :file:`{sys.base_prefix}/share/" +"locale` (see :data:`sys.base_prefix`). For this reason, it is always best to " +"call :func:`bindtextdomain` with an explicit absolute path at the start of " +"your application." +msgstr "" +"Стандартний каталог локалі залежить від системи; наприклад, у RedHat Linux " +"це :file:`/usr/share/locale`, а в Solaris це :file:`/usr/lib/locale`. " +"Модуль :mod:`gettext` не намагається підтримувати ці залежні від системи " +"параметри за замовчуванням; натомість за замовчуванням :file:`{sys." +"base_prefix}/share/locale` (див. :data:`sys.base_prefix`). З цієї причини " +"завжди краще викликати :func:`bindtextdomain` з явним абсолютним шляхом на " +"початку вашої програми." + +msgid "See the footnote for :func:`bindtextdomain` above." +msgstr "Див. виноску для :func:`bindtextdomain` вище." diff --git a/library/glob.po b/library/glob.po new file mode 100644 index 000000000..79648c1a5 --- /dev/null +++ b/library/glob.po @@ -0,0 +1,192 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`glob` --- Unix style pathname pattern expansion" +msgstr ":mod:`glob` --- Розширення шаблону шляху імені Unix" + +msgid "**Source code:** :source:`Lib/glob.py`" +msgstr "**Вихідний код:** :source:`Lib/glob.py`" + +msgid "" +"The :mod:`glob` module finds all the pathnames matching a specified pattern " +"according to the rules used by the Unix shell, although results are returned " +"in arbitrary order. No tilde expansion is done, but ``*``, ``?``, and " +"character ranges expressed with ``[]`` will be correctly matched. This is " +"done by using the :func:`os.scandir` and :func:`fnmatch.fnmatch` functions " +"in concert, and not by actually invoking a subshell." +msgstr "" +"Модуль :mod:`glob` знаходить усі імена шляхів, що відповідають заданому " +"шаблону, згідно з правилами, що використовуються оболонкою Unix, хоча " +"результати повертаються в довільному порядку. Розгортання тильди не " +"виконується, але ``*``, ``?`` і діапазони символів, виражені ``[]``, будуть " +"правильно зіставлені. Це робиться за допомогою спільного використання " +"функцій :func:`os.scandir` і :func:`fnmatch.fnmatch`, а не шляхом фактичного " +"виклику підоболонки." + +msgid "" +"Note that files beginning with a dot (``.``) can only be matched by patterns " +"that also start with a dot, unlike :func:`fnmatch.fnmatch` or :func:`pathlib." +"Path.glob`. (For tilde and shell variable expansion, use :func:`os.path." +"expanduser` and :func:`os.path.expandvars`.)" +msgstr "" +"Зауважте, що файли, які починаються з крапки (``.``), можуть бути зіставлені " +"лише шаблонами, які також починаються з крапки, на відміну від :func:" +"`fnmatch.fnmatch` або :func:`pathlib.Path.glob`. (Для розширення змінної " +"тильди та оболонки використовуйте :func:`os.path.expanduser` і :func:`os." +"path.expandvars`.)" + +msgid "" +"For a literal match, wrap the meta-characters in brackets. For example, " +"``'[?]'`` matches the character ``'?'``." +msgstr "" +"Для буквального збігу заберіть метасимволи в дужки. Наприклад, ``''[?]'`` " +"відповідає символу ``''?'``." + +msgid "The :mod:`pathlib` module offers high-level path objects." +msgstr "Модуль :mod:`pathlib` пропонує об’єкти шляху високого рівня." + +msgid "" +"Return a possibly empty list of path names that match *pathname*, which must " +"be a string containing a path specification. *pathname* can be either " +"absolute (like :file:`/usr/src/Python-1.5/Makefile`) or relative (like :file:" +"`../../Tools/\\*/\\*.gif`), and can contain shell-style wildcards. Broken " +"symlinks are included in the results (as in the shell). Whether or not the " +"results are sorted depends on the file system. If a file that satisfies " +"conditions is removed or added during the call of this function, whether a " +"path name for that file be included is unspecified." +msgstr "" + +msgid "" +"If *root_dir* is not ``None``, it should be a :term:`path-like object` " +"specifying the root directory for searching. It has the same effect on :" +"func:`glob` as changing the current directory before calling it. If " +"*pathname* is relative, the result will contain paths relative to *root_dir*." +msgstr "" +"Якщо *root_dir* не ``None``, це має бути :term:`path-like object`, що вказує " +"кореневий каталог для пошуку. Це має такий самий вплив на :func:`glob`, як і " +"зміна поточного каталогу перед його викликом. Якщо *pathname* є відносним, " +"результат міститиме шляхи відносно *root_dir*." + +msgid "" +"This function can support :ref:`paths relative to directory descriptors " +"` with the *dir_fd* parameter." +msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"` з параметром *dir_fd*." + +msgid "" +"If *recursive* is true, the pattern \"``**``\" will match any files and zero " +"or more directories, subdirectories and symbolic links to directories. If " +"the pattern is followed by an :data:`os.sep` or :data:`os.altsep` then files " +"will not match." +msgstr "" +"Якщо *recursive* має значення true, шаблон \"``**``\" відповідатиме будь-" +"яким файлам і нулю або більше каталогів, підкаталогів і символічних посилань " +"на каталоги. Якщо за шаблоном йде :data:`os.sep` або :data:`os.altsep`, " +"файли не збігатимуться." + +msgid "" +"If *include_hidden* is true, \"``**``\" pattern will match hidden " +"directories." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``glob.glob`` with arguments " +"``pathname``, ``recursive``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``glob.glob`` з аргументами " +"``pathname``, ``recursive``." + +msgid "" +"Raises an :ref:`auditing event ` ``glob.glob/2`` with arguments " +"``pathname``, ``recursive``, ``root_dir``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``glob.glob/2`` з аргументами " +"``pathname``, ``recursive``, ``root_dir``, ``dir_fd``." + +msgid "" +"Using the \"``**``\" pattern in large directory trees may consume an " +"inordinate amount of time." +msgstr "" +"Використання шаблону \"``**``\" у великих деревах каталогів може зайняти " +"надто багато часу." + +msgid "Support for recursive globs using \"``**``\"." +msgstr "Підтримка рекурсивних глобусів з використанням \"``**``\"." + +msgid "Added the *root_dir* and *dir_fd* parameters." +msgstr "Додано параметри *root_dir* і *dir_fd*." + +msgid "Added the *include_hidden* parameter." +msgstr "" + +msgid "" +"Return an :term:`iterator` which yields the same values as :func:`glob` " +"without actually storing them all simultaneously." +msgstr "" +"Повертає :term:`iterator`, який дає ті самі значення, що й :func:`glob`, " +"фактично не зберігаючи їх усі одночасно." + +msgid "" +"Escape all special characters (``'?'``, ``'*'`` and ``'['``). This is useful " +"if you want to match an arbitrary literal string that may have special " +"characters in it. Special characters in drive/UNC sharepoints are not " +"escaped, e.g. on Windows ``escape('//?/c:/Quo vadis?.txt')`` returns ``'//?/" +"c:/Quo vadis[?].txt'``." +msgstr "" +"Екранування всіх спеціальних символів (``'?'``, ``'*'`` і ``'['``). Це " +"корисно, якщо ви хочете зіставити довільний літеральний рядок, який може " +"містити спеціальні символи. Спеціальні символи в точках доступу/UNC не " +"екрануються, напр. у Windows ``escape('//?/c:/Quo vadis?.txt')`` повертає " +"``'//?/c:/Quo vadis[?].txt''``." + +msgid "" +"For example, consider a directory containing the following files: :file:`1." +"gif`, :file:`2.txt`, :file:`card.gif` and a subdirectory :file:`sub` which " +"contains only the file :file:`3.txt`. :func:`glob` will produce the " +"following results. Notice how any leading components of the path are " +"preserved. ::" +msgstr "" +"Наприклад, розглянемо каталог, що містить такі файли: :file:`1.gif`, :file:" +"`2.txt`, :file:`card.gif` і підкаталог :file:`sub`, який містить лише файл :" +"file:`3.txt`. :func:`glob` дасть такі результати. Зверніть увагу на те, як " +"зберігаються будь-які провідні компоненти шляху. ::" + +msgid "" +"If the directory contains files starting with ``.`` they won't be matched by " +"default. For example, consider a directory containing :file:`card.gif` and :" +"file:`.card.gif`::" +msgstr "" +"Якщо каталог містить файли, які починаються з ``.``, вони не будуть " +"зіставлені за умовчанням. Наприклад, розглянемо каталог, що містить :file:" +"`card.gif` і :file:`.card.gif`::" + +msgid "Module :mod:`fnmatch`" +msgstr "Модуль :mod:`fnmatch`" + +msgid "Shell-style filename (not path) expansion" +msgstr "Розширення імені файлу (не шляху) у стилі оболонки" diff --git a/library/graphlib.po b/library/graphlib.po new file mode 100644 index 000000000..972982bea --- /dev/null +++ b/library/graphlib.po @@ -0,0 +1,290 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:06+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" +msgstr "" +":mod:`graphlib` --- Функціональні можливості для роботи з графоподібними " +"структурами" + +msgid "**Source code:** :source:`Lib/graphlib.py`" +msgstr "**Вихідний код:** :source:`Lib/graphlib.py`" + +msgid "Provides functionality to topologically sort a graph of hashable nodes." +msgstr "" +"Надає функціональні можливості для топологічного сортування графа хешованих " +"вузлів." + +msgid "" +"A topological order is a linear ordering of the vertices in a graph such " +"that for every directed edge u -> v from vertex u to vertex v, vertex u " +"comes before vertex v in the ordering. For instance, the vertices of the " +"graph may represent tasks to be performed, and the edges may represent " +"constraints that one task must be performed before another; in this example, " +"a topological ordering is just a valid sequence for the tasks. A complete " +"topological ordering is possible if and only if the graph has no directed " +"cycles, that is, if it is a directed acyclic graph." +msgstr "" +"Топологічний порядок — це лінійне впорядкування вершин графа таким чином, що " +"для кожного спрямованого ребра u -> v від вершини u до вершини v вершина u " +"стоїть перед вершиною v у порядку. Наприклад, вершини графа можуть " +"представляти завдання, які потрібно виконати, а ребра можуть представляти " +"обмеження, згідно з якими одне завдання має бути виконане раніше іншого; у " +"цьому прикладі топологічне впорядкування – це лише дійсна послідовність для " +"завдань. Повний топологічний порядок можливий тоді і тільки тоді, коли граф " +"не має орієнтованих циклів, тобто якщо він є орієнтованим ациклічним графом." + +msgid "" +"If the optional *graph* argument is provided it must be a dictionary " +"representing a directed acyclic graph where the keys are nodes and the " +"values are iterables of all predecessors of that node in the graph (the " +"nodes that have edges that point to the value in the key). Additional nodes " +"can be added to the graph using the :meth:`~TopologicalSorter.add` method." +msgstr "" +"Якщо надається необов’язковий аргумент *graph*, це має бути словник, що " +"представляє спрямований ациклічний граф, де ключі є вузлами, а значення є " +"ітерованими для всіх попередників цього вузла в графі (вузли, які мають " +"ребра, які вказують на значення в ключ). Додаткові вузли можна додати до " +"графіка за допомогою методу :meth:`~TopologicalSorter.add`." + +msgid "" +"In the general case, the steps required to perform the sorting of a given " +"graph are as follows:" +msgstr "" +"У загальному випадку кроки, необхідні для виконання сортування даного графа, " +"такі:" + +msgid "" +"Create an instance of the :class:`TopologicalSorter` with an optional " +"initial graph." +msgstr "" +"Створіть екземпляр :class:`TopologicalSorter` із необов’язковим початковим " +"графом." + +msgid "Add additional nodes to the graph." +msgstr "Додайте додаткові вузли на графік." + +msgid "Call :meth:`~TopologicalSorter.prepare` on the graph." +msgstr "Викличте :meth:`~TopologicalSorter.prepare` на графіку." + +msgid "" +"While :meth:`~TopologicalSorter.is_active` is ``True``, iterate over the " +"nodes returned by :meth:`~TopologicalSorter.get_ready` and process them. " +"Call :meth:`~TopologicalSorter.done` on each node as it finishes processing." +msgstr "" +"Поки :meth:`~TopologicalSorter.is_active` має значення ``True``, перебирайте " +"вузли, повернуті :meth:`~TopologicalSorter.get_ready`, і обробіть їх. " +"Викликайте :meth:`~TopologicalSorter.done` на кожному вузлі після завершення " +"обробки." + +msgid "" +"In case just an immediate sorting of the nodes in the graph is required and " +"no parallelism is involved, the convenience method :meth:`TopologicalSorter." +"static_order` can be used directly:" +msgstr "" +"Якщо потрібне лише негайне сортування вузлів у графі, а паралелізм не " +"задіяний, допоміжний метод :meth:`TopologicalSorter.static_order` можна " +"використати безпосередньо:" + +msgid "" +"The class is designed to easily support parallel processing of the nodes as " +"they become ready. For instance::" +msgstr "" +"Клас розроблений для легкої підтримки паралельної обробки вузлів, коли вони " +"стають готовими. Наприклад::" + +msgid "" +"Add a new node and its predecessors to the graph. Both the *node* and all " +"elements in *predecessors* must be hashable." +msgstr "" +"Додайте новий вузол і його попередників до графіка. Як *вузол*, так і всі " +"елементи в *попередниках* мають бути хешованими." + +msgid "" +"If called multiple times with the same node argument, the set of " +"dependencies will be the union of all dependencies passed in." +msgstr "" +"Якщо викликати кілька разів з тим самим аргументом node, набір залежностей " +"буде об’єднанням усіх переданих залежностей." + +msgid "" +"It is possible to add a node with no dependencies (*predecessors* is not " +"provided) or to provide a dependency twice. If a node that has not been " +"provided before is included among *predecessors* it will be automatically " +"added to the graph with no predecessors of its own." +msgstr "" +"Можна додати вузол без залежностей (*попередники* не надаються) або надати " +"залежність двічі. Якщо вузол, який не було надано раніше, включено до " +"*попередників*, він буде автоматично доданий до графу без власних " +"попередників." + +msgid "" +"Raises :exc:`ValueError` if called after :meth:`~TopologicalSorter.prepare`." +msgstr "" +"Викликає :exc:`ValueError`, якщо викликається після :meth:" +"`~TopologicalSorter.prepare`." + +msgid "" +"Mark the graph as finished and check for cycles in the graph. If any cycle " +"is detected, :exc:`CycleError` will be raised, but :meth:`~TopologicalSorter." +"get_ready` can still be used to obtain as many nodes as possible until " +"cycles block more progress. After a call to this function, the graph cannot " +"be modified, and therefore no more nodes can be added using :meth:" +"`~TopologicalSorter.add`." +msgstr "" +"Позначте графік як готовий і перевірте наявність циклів у ньому. Якщо буде " +"виявлено будь-який цикл, :exc:`CycleError` буде викликано, але :meth:" +"`~TopologicalSorter.get_ready` все ще можна використовувати для отримання " +"якомога більшої кількості вузлів, доки цикли не заблокують подальший " +"прогрес. Після виклику цієї функції граф не можна змінити, і тому більше " +"вузлів не можна додавати за допомогою :meth:`~TopologicalSorter.add`." + +msgid "" +"Returns ``True`` if more progress can be made and ``False`` otherwise. " +"Progress can be made if cycles do not block the resolution and either there " +"are still nodes ready that haven't yet been returned by :meth:" +"`TopologicalSorter.get_ready` or the number of nodes marked :meth:" +"`TopologicalSorter.done` is less than the number that have been returned by :" +"meth:`TopologicalSorter.get_ready`." +msgstr "" +"Повертає ``True``, якщо можна досягти більшого прогресу, і ``False`` в " +"іншому випадку. Прогрес може бути досягнутий, якщо цикли не блокують " +"розв’язку та або ще є готові вузли, які ще не повернув :meth:" +"`TopologicalSorter.get_ready`, або кількість вузлів, позначених :meth:" +"`TopologicalSorter.done`, менша ніж число, яке повернув :meth:" +"`TopologicalSorter.get_ready`." + +msgid "" +"The :meth:`~TopologicalSorter.__bool__` method of this class defers to this " +"function, so instead of::" +msgstr "" +"Метод :meth:`~TopologicalSorter.__bool__` цього класу відноситься до цієї " +"функції, тому замість:" + +msgid "it is possible to simply do::" +msgstr "можна просто зробити::" + +msgid "" +"Raises :exc:`ValueError` if called without calling :meth:`~TopologicalSorter." +"prepare` previously." +msgstr "" +"Викликає :exc:`ValueError`, якщо викликається без попереднього виклику :meth:" +"`~TopologicalSorter.prepare`." + +msgid "" +"Marks a set of nodes returned by :meth:`TopologicalSorter.get_ready` as " +"processed, unblocking any successor of each node in *nodes* for being " +"returned in the future by a call to :meth:`TopologicalSorter.get_ready`." +msgstr "" +"Позначає набір вузлів, повернутий :meth:`TopologicalSorter.get_ready`, як " +"оброблений, розблоковуючи будь-якого наступника кожного вузла в *nodes* для " +"повернення в майбутньому за допомогою виклику :meth:`TopologicalSorter." +"get_ready`." + +msgid "" +"Raises :exc:`ValueError` if any node in *nodes* has already been marked as " +"processed by a previous call to this method or if a node was not added to " +"the graph by using :meth:`TopologicalSorter.add`, if called without calling :" +"meth:`~TopologicalSorter.prepare` or if node has not yet been returned by :" +"meth:`~TopologicalSorter.get_ready`." +msgstr "" +"Викликає :exc:`ValueError`, якщо будь-який вузол у *nodes* вже було " +"позначено як оброблений попереднім викликом цього методу або якщо вузол не " +"було додано до графіка за допомогою :meth:`TopologicalSorter.add`, якщо він " +"викликається без виклику :meth:`~TopologicalSorter.prepare` або якщо вузол " +"ще не повернуто :meth:`~TopologicalSorter.get_ready`." + +msgid "" +"Returns a ``tuple`` with all the nodes that are ready. Initially it returns " +"all nodes with no predecessors, and once those are marked as processed by " +"calling :meth:`TopologicalSorter.done`, further calls will return all new " +"nodes that have all their predecessors already processed. Once no more " +"progress can be made, empty tuples are returned." +msgstr "" +"Повертає ``кортеж`` з усіма готовими вузлами. Спочатку він повертає всі " +"вузли без попередників, і коли вони позначаються як оброблені за допомогою " +"виклику :meth:`TopologicalSorter.done`, подальші виклики повертатимуть усі " +"нові вузли, усі їхні попередники вже оброблені. Якщо неможливо більше " +"досягти прогресу, повертаються порожні кортежі." + +msgid "" +"Returns an iterator object which will iterate over nodes in a topological " +"order. When using this method, :meth:`~TopologicalSorter.prepare` and :meth:" +"`~TopologicalSorter.done` should not be called. This method is equivalent " +"to::" +msgstr "" +"Повертає об’єкт-ітератор, який виконуватиме ітерацію по вузлах у " +"топологічному порядку. Під час використання цього методу не слід викликати :" +"meth:`~TopologicalSorter.prepare` і :meth:`~TopologicalSorter.done`. Цей " +"метод еквівалентний:" + +msgid "" +"The particular order that is returned may depend on the specific order in " +"which the items were inserted in the graph. For example:" +msgstr "" +"Конкретний порядок, який повертається, може залежати від конкретного " +"порядку, у якому елементи були вставлені в графік. Наприклад:" + +msgid "" +"This is due to the fact that \"0\" and \"2\" are in the same level in the " +"graph (they would have been returned in the same call to :meth:" +"`~TopologicalSorter.get_ready`) and the order between them is determined by " +"the order of insertion." +msgstr "" +"Це пов’язано з тим, що \"0\" і \"2\" знаходяться на одному рівні графіка " +"(вони були б повернені під час того самого виклику :meth:`~TopologicalSorter." +"get_ready`), і порядок між ними визначається за порядком вставлення." + +msgid "If any cycle is detected, :exc:`CycleError` will be raised." +msgstr "Якщо буде виявлено будь-який цикл, буде викликано :exc:`CycleError`." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "The :mod:`graphlib` module defines the following exception classes:" +msgstr "Модуль :mod:`graphlib` визначає такі класи винятків:" + +msgid "" +"Subclass of :exc:`ValueError` raised by :meth:`TopologicalSorter.prepare` if " +"cycles exist in the working graph. If multiple cycles exist, only one " +"undefined choice among them will be reported and included in the exception." +msgstr "" +"Підклас :exc:`ValueError`, створений :meth:`TopologicalSorter.prepare`, якщо " +"в робочому графі існують цикли. Якщо існує кілька циклів, лише один " +"невизначений вибір серед них буде повідомлено та включено до винятку." + +msgid "" +"The detected cycle can be accessed via the second element in the :attr:" +"`~CycleError.args` attribute of the exception instance and consists in a " +"list of nodes, such that each node is, in the graph, an immediate " +"predecessor of the next node in the list. In the reported list, the first " +"and the last node will be the same, to make it clear that it is cyclic." +msgstr "" +"Доступ до виявленого циклу можна отримати через другий елемент в атрибуті :" +"attr:`~CycleError.args` екземпляра винятку, і він складається зі списку " +"вузлів, таким чином, що кожен вузол на графі є безпосереднім попередником " +"наступного вузол у списку. У звітному списку перший і останній вузол будуть " +"однаковими, щоб було зрозуміло, що він циклічний." diff --git a/library/grp.po b/library/grp.po new file mode 100644 index 000000000..50f8284ec --- /dev/null +++ b/library/grp.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`grp` --- The group database" +msgstr ":mod:`grp` --- База даних групи" + +msgid "" +"This module provides access to the Unix group database. It is available on " +"all Unix versions." +msgstr "" +"Цей модуль забезпечує доступ до бази даних групи Unix. Він доступний у всіх " +"версіях Unix." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Group database entries are reported as a tuple-like object, whose attributes " +"correspond to the members of the ``group`` structure (Attribute field below, " +"see ````):" +msgstr "" +"Записи бази даних групи повідомляються як кортежний об’єкт, атрибути якого " +"відповідають членам структури ``групи`` (поле атрибута нижче, див. ````):" + +msgid "Index" +msgstr "Індекс" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Meaning" +msgstr "Значення" + +msgid "0" +msgstr "0" + +msgid "gr_name" +msgstr "gr_name" + +msgid "the name of the group" +msgstr "назва групи" + +msgid "1" +msgstr "1" + +msgid "gr_passwd" +msgstr "gr_passwd" + +msgid "the (encrypted) group password; often empty" +msgstr "(зашифрований) пароль групи; часто порожній" + +msgid "2" +msgstr "2" + +msgid "gr_gid" +msgstr "gr_gid" + +msgid "the numerical group ID" +msgstr "ідентифікатор числової групи" + +msgid "3" +msgstr "3" + +msgid "gr_mem" +msgstr "gr_mem" + +msgid "all the group member's user names" +msgstr "імена всіх учасників групи" + +msgid "" +"The gid is an integer, name and password are strings, and the member list is " +"a list of strings. (Note that most users are not explicitly listed as " +"members of the group they are in according to the password database. Check " +"both databases to get complete membership information. Also note that a " +"``gr_name`` that starts with a ``+`` or ``-`` is likely to be a YP/NIS " +"reference and may not be accessible via :func:`getgrnam` or :func:" +"`getgrgid`.)" +msgstr "" +"Gid — це ціле число, ім’я та пароль — це рядки, а список учасників — це " +"список рядків. (Зауважте, що більшість користувачів явно не вказані як члени " +"групи, до якої вони належать, відповідно до бази даних паролів. Перевірте " +"обидві бази даних, щоб отримати повну інформацію про членство. Також " +"зауважте, що ``gr_name``, яке починається з ``+`` або ``-``, ймовірно, є " +"посиланням на YP/NIS і може бути недоступним через :func:`getgrnam` або :" +"func:`getgrgid`.)" + +msgid "It defines the following items:" +msgstr "Він визначає такі пункти:" + +msgid "" +"Return the group database entry for the given numeric group ID. :exc:" +"`KeyError` is raised if the entry asked for cannot be found." +msgstr "" +"Повертає запис бази даних групи для вказаного числового ідентифікатора " +"групи. :exc:`KeyError` виникає, якщо запитуваний запис не знайдено." + +msgid "" +":exc:`TypeError` is raised for non-integer arguments like floats or strings." +msgstr "" + +msgid "" +"Return the group database entry for the given group name. :exc:`KeyError` is " +"raised if the entry asked for cannot be found." +msgstr "" +"Повертає запис бази даних групи для заданої назви групи. :exc:`KeyError` " +"виникає, якщо запитуваний запис не знайдено." + +msgid "Return a list of all available group entries, in arbitrary order." +msgstr "Повертає список усіх доступних групових записів у довільному порядку." + +msgid "Module :mod:`pwd`" +msgstr "Модуль :mod:`pwd`" + +msgid "An interface to the user database, similar to this." +msgstr "Подібний до цього інтерфейс до бази даних користувача." + +msgid "Module :mod:`spwd`" +msgstr "Модуль :mod:`spwd`" + +msgid "An interface to the shadow password database, similar to this." +msgstr "Подібний до цього інтерфейс тіньової бази даних паролів." diff --git a/library/gzip.po b/library/gzip.po new file mode 100644 index 000000000..47f660e9e --- /dev/null +++ b/library/gzip.po @@ -0,0 +1,410 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`gzip` --- Support for :program:`gzip` files" +msgstr ":mod:`gzip` --- Підтримка файлів :program:`gzip`" + +msgid "**Source code:** :source:`Lib/gzip.py`" +msgstr "**Вихідний код:** :source:`Lib/gzip.py`" + +msgid "" +"This module provides a simple interface to compress and decompress files " +"just like the GNU programs :program:`gzip` and :program:`gunzip` would." +msgstr "" +"Цей модуль надає простий інтерфейс для стиснення та розпакування файлів, як " +"це робили б програми GNU :program:`gzip` і :program:`gunzip`." + +msgid "The data compression is provided by the :mod:`zlib` module." +msgstr "Стиснення даних забезпечується модулем :mod:`zlib`." + +msgid "" +"The :mod:`gzip` module provides the :class:`GzipFile` class, as well as the :" +"func:`.open`, :func:`compress` and :func:`decompress` convenience functions. " +"The :class:`GzipFile` class reads and writes :program:`gzip`\\ -format " +"files, automatically compressing or decompressing the data so that it looks " +"like an ordinary :term:`file object`." +msgstr "" +"Модуль :mod:`gzip` забезпечує клас :class:`GzipFile`, а також :func:`." +"open`, :func:`compress` і :func:`decompress` зручні функції. Клас :class:" +"`GzipFile` читає та записує файли у форматі :program:`gzip`\\, автоматично " +"стискаючи або розпаковуючи дані, щоб вони виглядали як звичайний :term:`file " +"object`." + +msgid "" +"Note that additional file formats which can be decompressed by the :program:" +"`gzip` and :program:`gunzip` programs, such as those produced by :program:" +"`compress` and :program:`pack`, are not supported by this module." +msgstr "" +"Зауважте, що додаткові формати файлів, які можна розпакувати програмами :" +"program:`gzip` і :program:`gunzip`, наприклад ті, створені :program:" +"`compress` і :program:`pack`, не підтримуються цим модуль." + +msgid "The module defines the following items:" +msgstr "Модуль визначає такі елементи:" + +msgid "" +"Open a gzip-compressed file in binary or text mode, returning a :term:`file " +"object`." +msgstr "" +"Відкрийте файл, стиснутий gzip, у двійковому або текстовому режимі, " +"повертаючи :term:`file object`." + +msgid "" +"The *filename* argument can be an actual filename (a :class:`str` or :class:" +"`bytes` object), or an existing file object to read from or write to." +msgstr "" +"Аргументом *filename* може бути фактичне ім’я файлу (об’єкт :class:`str` " +"або :class:`bytes`) або наявний файловий об’єкт для читання або запису." + +msgid "" +"The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " +"``'w'``, ``'wb'``, ``'x'`` or ``'xb'`` for binary mode, or ``'rt'``, " +"``'at'``, ``'wt'``, or ``'xt'`` for text mode. The default is ``'rb'``." +msgstr "" +"Аргумент *mode* може бути будь-яким із ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " +"``'w'``, ``'wb'``, ``'x'`` або ``'xb'`` для бінарного режиму або ``'rt'``, " +"``'at'``, ``'wt'`` або ``'xt''`` для текстового режиму. Типовим є ``'rb'``." + +msgid "" +"The *compresslevel* argument is an integer from 0 to 9, as for the :class:" +"`GzipFile` constructor." +msgstr "" +"Аргумент *compresslevel* є цілим числом від 0 до 9, як і для конструктора :" +"class:`GzipFile`." + +msgid "" +"For binary mode, this function is equivalent to the :class:`GzipFile` " +"constructor: ``GzipFile(filename, mode, compresslevel)``. In this case, the " +"*encoding*, *errors* and *newline* arguments must not be provided." +msgstr "" +"Для бінарного режиму ця функція еквівалентна конструктору :class:`GzipFile`: " +"``GzipFile(filename, mode, compresslevel)``. У цьому випадку аргументи " +"*encoding*, *errors* і *newline* не повинні надаватися." + +msgid "" +"For text mode, a :class:`GzipFile` object is created, and wrapped in an :" +"class:`io.TextIOWrapper` instance with the specified encoding, error " +"handling behavior, and line ending(s)." +msgstr "" +"Для текстового режиму створюється об’єкт :class:`GzipFile`, який " +"загортається в екземпляр :class:`io.TextIOWrapper` із вказаним кодуванням, " +"поведінкою обробки помилок і закінченнями рядків." + +msgid "" +"Added support for *filename* being a file object, support for text mode, and " +"the *encoding*, *errors* and *newline* arguments." +msgstr "" +"Додано підтримку того, що *ім’я файлу* є об’єктом файлу, підтримується " +"текстовий режим, а також аргументи *кодування*, *помилки* та *новий рядок*." + +msgid "Added support for the ``'x'``, ``'xb'`` and ``'xt'`` modes." +msgstr "Додано підтримку режимів ``'x'``, ``'xb'`` і ``'xt'``." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"An exception raised for invalid gzip files. It inherits :exc:`OSError`. :" +"exc:`EOFError` and :exc:`zlib.error` can also be raised for invalid gzip " +"files." +msgstr "" +"Виняток створено для недійсних файлів gzip. Він успадковує :exc:`OSError`. :" +"exc:`EOFError` і :exc:`zlib.error` також можуть виникати для недійсних " +"файлів gzip." + +msgid "" +"Constructor for the :class:`GzipFile` class, which simulates most of the " +"methods of a :term:`file object`, with the exception of the :meth:`truncate` " +"method. At least one of *fileobj* and *filename* must be given a non-" +"trivial value." +msgstr "" +"Конструктор для класу :class:`GzipFile`, який імітує більшість методів " +"об’єкта :term:`file object`, за винятком методу :meth:`truncate`. Принаймні " +"одне з *fileobj* і *filename* має мати нетривіальне значення." + +msgid "" +"The new class instance is based on *fileobj*, which can be a regular file, " +"an :class:`io.BytesIO` object, or any other object which simulates a file. " +"It defaults to ``None``, in which case *filename* is opened to provide a " +"file object." +msgstr "" +"Новий екземпляр класу базується на *fileobj*, який може бути звичайним " +"файлом, об’єктом :class:`io.BytesIO` або будь-яким іншим об’єктом, який " +"імітує файл. За замовчуванням встановлено ``None``, у цьому випадку " +"*ім’я_файлу* відкривається, щоб надати об’єкт файлу." + +msgid "" +"When *fileobj* is not ``None``, the *filename* argument is only used to be " +"included in the :program:`gzip` file header, which may include the original " +"filename of the uncompressed file. It defaults to the filename of " +"*fileobj*, if discernible; otherwise, it defaults to the empty string, and " +"in this case the original filename is not included in the header." +msgstr "" +"Якщо *fileobj* не є ``None``, аргумент *filename* використовується лише для " +"включення в заголовок файлу :program:`gzip`, який може містити оригінальну " +"назву нестисненого файлу. За замовчуванням ім’я файлу *fileobj*, якщо воно " +"помітне; інакше за замовчуванням буде порожній рядок, і в цьому випадку " +"оригінальна назва файлу не буде включена в заголовок." + +msgid "" +"The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " +"``'w'``, ``'wb'``, ``'x'``, or ``'xb'``, depending on whether the file will " +"be read or written. The default is the mode of *fileobj* if discernible; " +"otherwise, the default is ``'rb'``. In future Python releases the mode of " +"*fileobj* will not be used. It is better to always specify *mode* for " +"writing." +msgstr "" +"Аргумент *mode* може бути будь-яким із ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " +"``'w'``, ``'wb'``, ``'x'`` або ``'xb'``, залежно від того, чи буде файл " +"читатися чи записуватися. Типовим є режим *fileobj*, якщо він помітний; " +"інакше за замовчуванням буде ``'rb'``. У майбутніх випусках Python режим " +"*fileobj* не використовуватиметься. Краще завжди вказувати *режим* для " +"запису." + +msgid "" +"Note that the file is always opened in binary mode. To open a compressed " +"file in text mode, use :func:`.open` (or wrap your :class:`GzipFile` with " +"an :class:`io.TextIOWrapper`)." +msgstr "" +"Зауважте, що файл завжди відкривається у двійковому режимі. Щоб відкрити " +"стислий файл у текстовому режимі, використовуйте :func:`.open` (або " +"загорніть свій :class:`GzipFile` у :class:`io.TextIOWrapper`)." + +msgid "" +"The *compresslevel* argument is an integer from ``0`` to ``9`` controlling " +"the level of compression; ``1`` is fastest and produces the least " +"compression, and ``9`` is slowest and produces the most compression. ``0`` " +"is no compression. The default is ``9``." +msgstr "" +"Аргумент *compresslevel* є цілим числом від ``0`` до ``9``, що контролює " +"рівень стиснення; ``1`` є найшвидшим і забезпечує найменше стиснення, а " +"``9`` є найповільнішим і забезпечує найбільше стиснення. ``0`` не стискає. " +"Типовим значенням є ``9``." + +msgid "" +"The *mtime* argument is an optional numeric timestamp to be written to the " +"last modification time field in the stream when compressing. It should only " +"be provided in compression mode. If omitted or ``None``, the current time " +"is used. See the :attr:`mtime` attribute for more details." +msgstr "" +"Аргумент *mtime* — це необов’язкова цифрова позначка часу, яка записується в " +"поле часу останньої модифікації в потоці під час стиснення. Його слід " +"надавати лише в режимі стиснення. Якщо опущено або ``None``, " +"використовується поточний час. Дивіться атрибут :attr:`mtime` для отримання " +"додаткової інформації." + +msgid "" +"Calling a :class:`GzipFile` object's :meth:`close` method does not close " +"*fileobj*, since you might wish to append more material after the compressed " +"data. This also allows you to pass an :class:`io.BytesIO` object opened for " +"writing as *fileobj*, and retrieve the resulting memory buffer using the :" +"class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method." +msgstr "" +"Виклик методу :meth:`close` об’єкта :class:`GzipFile` не закриває *fileobj*, " +"оскільки ви можете додати більше матеріалу після стиснутих даних. Це також " +"дозволяє вам передати об’єкт :class:`io.BytesIO`, відкритий для запису як " +"*fileobj*, і отримати отриманий буфер пам’яті за допомогою об’єкта :meth:" +"`~io.BytesIO` його метод :class:`io.BytesIO.getvalue`." + +msgid "" +":class:`GzipFile` supports the :class:`io.BufferedIOBase` interface, " +"including iteration and the :keyword:`with` statement. Only the :meth:" +"`truncate` method isn't implemented." +msgstr "" +":class:`GzipFile` підтримує інтерфейс :class:`io.BufferedIOBase`, включаючи " +"ітерацію та оператор :keyword:`with`. Тільки метод :meth:`truncate` не " +"реалізовано." + +msgid ":class:`GzipFile` also provides the following method and attribute:" +msgstr ":class:`GzipFile` також надає наступний метод і атрибут:" + +msgid "" +"Read *n* uncompressed bytes without advancing the file position. At most one " +"single read on the compressed stream is done to satisfy the call. The " +"number of bytes returned may be more or less than requested." +msgstr "" +"Читання *n* нестиснутих байтів без просування позиції файлу. Щонайбільше " +"одне читання стисненого потоку виконується для задоволення виклику. " +"Кількість повернених байтів може бути більшою або меншою за запитувану." + +msgid "" +"While calling :meth:`peek` does not change the file position of the :class:" +"`GzipFile`, it may change the position of the underlying file object (e.g. " +"if the :class:`GzipFile` was constructed with the *fileobj* parameter)." +msgstr "" +"Хоча виклик :meth:`peek` не змінює позицію файлу :class:`GzipFile`, він може " +"змінити позицію основного файлового об’єкта (наприклад, якщо :class:" +"`GzipFile` було створено за допомогою *fileobj* параметр)." + +msgid "" +"When decompressing, the value of the last modification time field in the " +"most recently read header may be read from this attribute, as an integer. " +"The initial value before reading any headers is ``None``." +msgstr "" +"Під час декомпресії значення поля часу останньої модифікації в останньому " +"прочитаному заголовку може бути прочитано з цього атрибута як ціле число. " +"Початковим значенням перед читанням будь-яких заголовків є ``None``." + +msgid "" +"All :program:`gzip` compressed streams are required to contain this " +"timestamp field. Some programs, such as :program:`gunzip`\\ , make use of " +"the timestamp. The format is the same as the return value of :func:`time." +"time` and the :attr:`~os.stat_result.st_mtime` attribute of the object " +"returned by :func:`os.stat`." +msgstr "" +"Усі стиснуті потоки :program:`gzip` повинні містити це поле позначки часу. " +"Деякі програми, такі як :program:`gunzip`\\ , використовують мітку часу. " +"Формат такий самий, як значення, що повертається :func:`time.time` і " +"атрибутом :attr:`~os.stat_result.st_mtime` об’єкта, який повертає :func:`os." +"stat`." + +msgid "" +"Support for the :keyword:`with` statement was added, along with the *mtime* " +"constructor argument and :attr:`mtime` attribute." +msgstr "" +"Додано підтримку оператора :keyword:`with` разом з аргументом конструктора " +"*mtime* і атрибутом :attr:`mtime`." + +msgid "Support for zero-padded and unseekable files was added." +msgstr "" +"Було додано підтримку файлів із нульовою підкладкою та файлів, які неможливо " +"знайти." + +msgid "The :meth:`io.BufferedIOBase.read1` method is now implemented." +msgstr "Метод :meth:`io.BufferedIOBase.read1` тепер реалізовано." + +msgid "Added support for the ``'x'`` and ``'xb'`` modes." +msgstr "Додано підтримку режимів ``'x'`` і ``'xb'``." + +msgid "" +"Added support for writing arbitrary :term:`bytes-like objects `. The :meth:`~io.BufferedIOBase.read` method now accepts an argument " +"of ``None``." +msgstr "" +"Додано підтримку запису довільних :term:`байт-подібних об’єктів `. Метод :meth:`~io.BufferedIOBase.read` тепер приймає аргумент " +"``None``." + +msgid "" +"Opening :class:`GzipFile` for writing without specifying the *mode* argument " +"is deprecated." +msgstr "" +"Відкриття :class:`GzipFile` для запису без вказівки аргументу *mode* " +"застаріло." + +msgid "" +"Compress the *data*, returning a :class:`bytes` object containing the " +"compressed data. *compresslevel* and *mtime* have the same meaning as in " +"the :class:`GzipFile` constructor above. When *mtime* is set to ``0``, this " +"function is equivalent to :func:`zlib.compress` with *wbits* set to ``31``. " +"The zlib function is faster." +msgstr "" + +msgid "Added the *mtime* parameter for reproducible output." +msgstr "Додано параметр *mtime* для відтворюваного виведення." + +msgid "" +"Speed is improved by compressing all data at once instead of in a streamed " +"fashion. Calls with *mtime* set to ``0`` are delegated to :func:`zlib." +"compress` for better speed." +msgstr "" + +msgid "" +"Decompress the *data*, returning a :class:`bytes` object containing the " +"uncompressed data. This function is capable of decompressing multi-member " +"gzip data (multiple gzip blocks concatenated together). When the data is " +"certain to contain only one member the :func:`zlib.decompress` function with " +"*wbits* set to 31 is faster." +msgstr "" + +msgid "" +"Speed is improved by decompressing members at once in memory instead of in a " +"streamed fashion." +msgstr "" + +msgid "Examples of usage" +msgstr "Приклади вживання" + +msgid "Example of how to read a compressed file::" +msgstr "Приклад читання стисненого файлу::" + +msgid "Example of how to create a compressed GZIP file::" +msgstr "Приклад створення стисненого файлу GZIP::" + +msgid "Example of how to GZIP compress an existing file::" +msgstr "Приклад того, як GZIP стиснути існуючий файл::" + +msgid "Example of how to GZIP compress a binary string::" +msgstr "Приклад того, як GZIP стиснути двійковий рядок::" + +msgid "Module :mod:`zlib`" +msgstr "Модуль :mod:`zlib`" + +msgid "" +"The basic data compression module needed to support the :program:`gzip` file " +"format." +msgstr "" +"Базовий модуль стиснення даних, необхідний для підтримки формату файлу :" +"program:`gzip`." + +msgid "Command Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The :mod:`gzip` module provides a simple command line interface to compress " +"or decompress files." +msgstr "" +"Модуль :mod:`gzip` забезпечує простий інтерфейс командного рядка для " +"стиснення або розпакування файлів." + +msgid "Once executed the :mod:`gzip` module keeps the input file(s)." +msgstr "Після виконання модуль :mod:`gzip` зберігає вхідні файли." + +msgid "" +"Add a new command line interface with a usage. By default, when you will " +"execute the CLI, the default compression level is 6." +msgstr "" +"Додайте новий інтерфейс командного рядка з використанням. За замовчуванням, " +"коли ви будете виконувати CLI, рівень стиснення за замовчуванням становить 6." + +msgid "Command line options" +msgstr "Параметри командного рядка" + +msgid "If *file* is not specified, read from :attr:`sys.stdin`." +msgstr "Якщо *file* не вказано, читайте з :attr:`sys.stdin`." + +msgid "Indicates the fastest compression method (less compression)." +msgstr "Вказує найшвидший метод стиснення (з меншим стисненням)." + +msgid "Indicates the slowest compression method (best compression)." +msgstr "Вказує найповільніший метод стиснення (найкраще стиснення)." + +msgid "Decompress the given file." +msgstr "Розпакуйте вказаний файл." + +msgid "Show the help message." +msgstr "Показати довідкове повідомлення." diff --git a/library/hashlib.po b/library/hashlib.po new file mode 100644 index 000000000..04d76b5a8 --- /dev/null +++ b/library/hashlib.po @@ -0,0 +1,990 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`hashlib` --- Secure hashes and message digests" +msgstr ":mod:`hashlib` --- Захищені хеші та дайджести повідомлень" + +msgid "**Source code:** :source:`Lib/hashlib.py`" +msgstr "**Вихідний код:** :source:`Lib/hashlib.py`" + +msgid "" +"This module implements a common interface to many different secure hash and " +"message digest algorithms. Included are the FIPS secure hash algorithms " +"SHA1, SHA224, SHA256, SHA384, and SHA512 (defined in FIPS 180-2) as well as " +"RSA's MD5 algorithm (defined in internet :rfc:`1321`). The terms \"secure " +"hash\" and \"message digest\" are interchangeable. Older algorithms were " +"called message digests. The modern term is secure hash." +msgstr "" +"Цей модуль реалізує загальний інтерфейс для багатьох різних безпечних " +"алгоритмів хешування та дайджесту повідомлень. Включено безпечні хеш-" +"алгоритми FIPS SHA1, SHA224, SHA256, SHA384 і SHA512 (визначені в FIPS " +"180-2), а також алгоритм RSA MD5 (визначений в Інтернеті :rfc:`1321`). " +"Терміни \"безпечний хеш\" і \"дайджест повідомлення\" взаємозамінні. Старіші " +"алгоритми називалися дайджестами повідомлень. Сучасний термін - безпечний " +"хеш." + +msgid "" +"If you want the adler32 or crc32 hash functions, they are available in the :" +"mod:`zlib` module." +msgstr "" +"Якщо вам потрібні хеш-функції adler32 або crc32, вони доступні в модулі :mod:" +"`zlib`." + +msgid "" +"Some algorithms have known hash collision weaknesses, refer to the \"See also" +"\" section at the end." +msgstr "" +"Деякі алгоритми мають відомі недоліки хеш-колізій, зверніться до розділу " +"\"Див. також\" у кінці." + +msgid "Hash algorithms" +msgstr "Хеш-алгоритми" + +msgid "" +"There is one constructor method named for each type of :dfn:`hash`. All " +"return a hash object with the same simple interface. For example: use :func:" +"`sha256` to create a SHA-256 hash object. You can now feed this object with :" +"term:`bytes-like objects ` (normally :class:`bytes`) " +"using the :meth:`update` method. At any point you can ask it for the :dfn:" +"`digest` of the concatenation of the data fed to it so far using the :meth:" +"`digest` or :meth:`hexdigest` methods." +msgstr "" +"Для кожного типу :dfn:`hash` існує один метод конструктора. Усі повертають " +"хеш-об’єкт із однаковим простим інтерфейсом. Наприклад: використовуйте :func:" +"`sha256`, щоб створити хеш-об’єкт SHA-256. Тепер ви можете завантажувати цей " +"об’єкт :term:`bytes-подібними об’єктами ` (зазвичай :" +"class:`bytes`) за допомогою методу :meth:`update`. У будь-який момент ви " +"можете попросити його :dfn:`digest` конкатенації даних, переданих йому до " +"цього моменту за допомогою методів :meth:`digest` або :meth:`hexdigest`." + +msgid "" +"For better multithreading performance, the Python :term:`GIL` is released " +"for data larger than 2047 bytes at object creation or on update." +msgstr "" +"Для кращої продуктивності багатопоточності Python :term:`GIL` випускається " +"для даних розміром понад 2047 байт під час створення об’єкта або оновлення." + +msgid "" +"Feeding string objects into :meth:`update` is not supported, as hashes work " +"on bytes, not on characters." +msgstr "" +"Подача рядкових об’єктів у :meth:`update` не підтримується, оскільки хеші " +"працюють з байтами, а не з символами." + +msgid "" +"Constructors for hash algorithms that are always present in this module are :" +"func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:" +"`sha512`, :func:`blake2b`, and :func:`blake2s`. :func:`md5` is normally " +"available as well, though it may be missing or blocked if you are using a " +"rare \"FIPS compliant\" build of Python. Additional algorithms may also be " +"available depending upon the OpenSSL library that Python uses on your " +"platform. On most platforms the :func:`sha3_224`, :func:`sha3_256`, :func:" +"`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` are also " +"available." +msgstr "" +"Конструктори для хеш-алгоритмів, які завжди присутні в цьому модулі: :func:" +"`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:`sha512`, :" +"func:`blake2b` і :func:`blake2s`. :func:`md5` також зазвичай доступний, хоча " +"він може бути відсутнім або заблокованим, якщо ви використовуєте рідкісну " +"\"FIPS-сумісну\" збірку Python. Також можуть бути доступні додаткові " +"алгоритми залежно від бібліотеки OpenSSL, яку Python використовує на вашій " +"платформі. На більшості платформ також доступні :func:`sha3_224`, :func:" +"`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:" +"`shake_256`." + +msgid "" +"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :" +"func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`." +msgstr "" +"Конструктори SHA3 (Keccak) і SHAKE :func:`sha3_224`, :func:`sha3_256`, :func:" +"`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`." + +msgid ":func:`blake2b` and :func:`blake2s` were added." +msgstr "Додано :func:`blake2b` і :func:`blake2s`." + +msgid "" +"All hashlib constructors take a keyword-only argument *usedforsecurity* with " +"default value ``True``. A false value allows the use of insecure and blocked " +"hashing algorithms in restricted environments. ``False`` indicates that the " +"hashing algorithm is not used in a security context, e.g. as a non-" +"cryptographic one-way compression function." +msgstr "" +"Усі конструктори хешлібів приймають лише ключовий аргумент *usedforsecurity* " +"зі значенням за замовчуванням ``True``. Помилкове значення дозволяє " +"використовувати небезпечні та заблоковані алгоритми хешування в обмежених " +"середовищах. ``False`` вказує на те, що алгоритм хешування не " +"використовується в контексті безпеки, напр. як некриптографічна функція " +"одностороннього стиснення." + +msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer." +msgstr "" +"Hashlib тепер використовує SHA3 і SHAKE з OpenSSL 1.1.1 і новіших версій." + +msgid "" +"For example, to obtain the digest of the byte string ``b\"Nobody inspects " +"the spammish repetition\"``::" +msgstr "" + +msgid "More condensed:" +msgstr "Більш стисло:" + +msgid "" +"Is a generic constructor that takes the string *name* of the desired " +"algorithm as its first parameter. It also exists to allow access to the " +"above listed hashes as well as any other algorithms that your OpenSSL " +"library may offer. The named constructors are much faster than :func:`new` " +"and should be preferred." +msgstr "" +"Це загальний конструктор, який приймає рядок *ім’я* потрібного алгоритму як " +"перший параметр. Він також існує, щоб дозволити доступ до перерахованих вище " +"хешів, а також до будь-яких інших алгоритмів, які може запропонувати ваша " +"бібліотека OpenSSL. Названі конструктори набагато швидші, ніж :func:`new`, і " +"їм слід віддавати перевагу." + +msgid "Using :func:`new` with an algorithm provided by OpenSSL:" +msgstr "Використання :func:`new` з алгоритмом OpenSSL:" + +msgid "Hashlib provides the following constant attributes:" +msgstr "Hashlib надає такі постійні атрибути:" + +msgid "" +"A set containing the names of the hash algorithms guaranteed to be supported " +"by this module on all platforms. Note that 'md5' is in this list despite " +"some upstream vendors offering an odd \"FIPS compliant\" Python build that " +"excludes it." +msgstr "" +"Набір, що містить назви геш-алгоритмів, які гарантовано підтримуватимуться " +"цим модулем на всіх платформах. Зауважте, що \"md5\" є в цьому списку, " +"незважаючи на те, що деякі постачальники вищого рівня пропонують дивну " +"\"FIPS-сумісну\" збірку Python, яка виключає його." + +msgid "" +"A set containing the names of the hash algorithms that are available in the " +"running Python interpreter. These names will be recognized when passed to :" +"func:`new`. :attr:`algorithms_guaranteed` will always be a subset. The " +"same algorithm may appear multiple times in this set under different names " +"(thanks to OpenSSL)." +msgstr "" +"Набір, що містить імена геш-алгоритмів, доступних у запущеному " +"інтерпретаторі Python. Ці назви буде розпізнано, коли передано :func:`new`. :" +"attr:`algorithms_guaranteed` завжди буде підмножиною. Той самий алгоритм " +"може з’являтися кілька разів у цьому наборі під різними назвами (завдяки " +"OpenSSL)." + +msgid "" +"The following values are provided as constant attributes of the hash objects " +"returned by the constructors:" +msgstr "" +"Наступні значення надаються як постійні атрибути хеш-об’єктів, які " +"повертаються конструкторами:" + +msgid "The size of the resulting hash in bytes." +msgstr "Розмір отриманого хешу в байтах." + +msgid "The internal block size of the hash algorithm in bytes." +msgstr "Розмір внутрішнього блоку хеш-алгоритму в байтах." + +msgid "A hash object has the following attributes:" +msgstr "Хеш-об’єкт має такі атрибути:" + +msgid "" +"The canonical name of this hash, always lowercase and always suitable as a " +"parameter to :func:`new` to create another hash of this type." +msgstr "" +"Канонічна назва цього хешу, завжди в нижньому регістрі та завжди підходить " +"як параметр для :func:`new` для створення іншого хешу цього типу." + +msgid "" +"The name attribute has been present in CPython since its inception, but " +"until Python 3.4 was not formally specified, so may not exist on some " +"platforms." +msgstr "" +"Атрибут name був присутній у CPython з моменту його створення, але до Python " +"3.4 не було офіційно визначено, тому може не існувати на деяких платформах." + +msgid "A hash object has the following methods:" +msgstr "Хеш-об’єкт має такі методи:" + +msgid "" +"Update the hash object with the :term:`bytes-like object`. Repeated calls " +"are equivalent to a single call with the concatenation of all the arguments: " +"``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``." +msgstr "" +"Оновіть хеш-об’єкт за допомогою :term:`bytes-like object`. Повторні виклики " +"еквівалентні одному виклику з конкатенацією всіх аргументів: ``m.update(a); " +"m.update(b)`` еквівалентно ``m.update(a+b)``." + +msgid "" +"The Python GIL is released to allow other threads to run while hash updates " +"on data larger than 2047 bytes is taking place when using hash algorithms " +"supplied by OpenSSL." +msgstr "" +"Python GIL випущено, щоб дозволити іншим потокам працювати під час оновлення " +"хешів даних, розмір яких перевищує 2047 байт, за допомогою хеш-алгоритмів, " +"наданих OpenSSL." + +msgid "" +"Return the digest of the data passed to the :meth:`update` method so far. " +"This is a bytes object of size :attr:`digest_size` which may contain bytes " +"in the whole range from 0 to 255." +msgstr "" +"Повертає дайджест даних, переданих до цього моменту методу :meth:`update`. " +"Це байтовий об’єкт розміром :attr:`digest_size`, який може містити байти в " +"усьому діапазоні від 0 до 255." + +msgid "" +"Like :meth:`digest` except the digest is returned as a string object of " +"double length, containing only hexadecimal digits. This may be used to " +"exchange the value safely in email or other non-binary environments." +msgstr "" +"Подібно до :meth:`digest`, за винятком того, що дайджест повертається як " +"рядковий об’єкт подвійної довжини, що містить лише шістнадцяткові цифри. Це " +"можна використовувати для безпечного обміну значенням в електронній пошті чи " +"в інших небінарних середовищах." + +msgid "" +"Return a copy (\"clone\") of the hash object. This can be used to " +"efficiently compute the digests of data sharing a common initial substring." +msgstr "" +"Повертає копію (\"клон\") хеш-об'єкта. Це можна використовувати для " +"ефективного обчислення дайджестів даних, які спільно використовують " +"загальний початковий підрядок." + +msgid "SHAKE variable length digests" +msgstr "Дайджести змінної довжини SHAKE" + +msgid "" +"The :func:`shake_128` and :func:`shake_256` algorithms provide variable " +"length digests with length_in_bits//2 up to 128 or 256 bits of security. As " +"such, their digest methods require a length. Maximum length is not limited " +"by the SHAKE algorithm." +msgstr "" +"Алгоритми :func:`shake_128` і :func:`shake_256` забезпечують дайджести " +"змінної довжини з length_in_bits//2 до 128 або 256 біт безпеки. Таким чином, " +"їх методи дайджесту вимагають довжини. Максимальна довжина не обмежена " +"алгоритмом SHAKE." + +msgid "" +"Return the digest of the data passed to the :meth:`update` method so far. " +"This is a bytes object of size *length* which may contain bytes in the whole " +"range from 0 to 255." +msgstr "" +"Повертає дайджест даних, переданих до цього моменту методу :meth:`update`. " +"Це байтовий об’єкт розміром *length*, який може містити байти в усьому " +"діапазоні від 0 до 255." + +msgid "File hashing" +msgstr "" + +msgid "" +"The hashlib module provides a helper function for efficient hashing of a " +"file or file-like object." +msgstr "" + +msgid "" +"Return a digest object that has been updated with contents of file object." +msgstr "" + +msgid "" +"*fileobj* must be a file-like object opened for reading in binary mode. It " +"accepts file objects from builtin :func:`open`, :class:`~io.BytesIO` " +"instances, SocketIO objects from :meth:`socket.socket.makefile`, and " +"similar. The function may bypass Python's I/O and use the file descriptor " +"from :meth:`~io.IOBase.fileno` directly. *fileobj* must be assumed to be in " +"an unknown state after this function returns or raises. It is up to the " +"caller to close *fileobj*." +msgstr "" + +msgid "" +"*digest* must either be a hash algorithm name as a *str*, a hash " +"constructor, or a callable that returns a hash object." +msgstr "" + +msgid "Example:" +msgstr "приклад:" + +msgid "Key derivation" +msgstr "Виведення ключів" + +msgid "" +"Key derivation and key stretching algorithms are designed for secure " +"password hashing. Naive algorithms such as ``sha1(password)`` are not " +"resistant against brute-force attacks. A good password hashing function must " +"be tunable, slow, and include a `salt `_." +msgstr "" +"Алгоритми виведення та розтягування ключа створені для безпечного хешування " +"паролів. Наївні алгоритми, такі як ``sha1(password)``, не стійкі до атак " +"грубої сили. Хороша функція хешування пароля має бути настроюваною, " +"повільною та містити `salt `_." + +msgid "" +"The function provides PKCS#5 password-based key derivation function 2. It " +"uses HMAC as pseudorandom function." +msgstr "" +"Ця функція забезпечує функцію виведення ключа на основі пароля PKCS#5 2. " +"Вона використовує HMAC як псевдовипадкову функцію." + +msgid "" +"The string *hash_name* is the desired name of the hash digest algorithm for " +"HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as " +"buffers of bytes. Applications and libraries should limit *password* to a " +"sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a " +"proper source, e.g. :func:`os.urandom`." +msgstr "" +"Рядок *hash_name* є бажаною назвою алгоритму хеш-дайджесту для HMAC, " +"наприклад. \"sha1\" або \"sha256\". *password* і *salt* інтерпретуються як " +"буфери байтів. Програми та бібліотеки мають обмежувати *пароль* розумною " +"довжиною (наприклад, 1024). *salt* має бути приблизно 16 або більше байтів " +"із належного джерела, напр. :func:`os.urandom`." + +msgid "" +"The number of *iterations* should be chosen based on the hash algorithm and " +"computing power. As of 2022, hundreds of thousands of iterations of SHA-256 " +"are suggested. For rationale as to why and how to choose what is best for " +"your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on " +"the `stackexchange pbkdf2 iterations question`_ explain in detail." +msgstr "" +"Кількість *ітерацій* слід вибирати, виходячи з алгоритму хешування та " +"обчислювальної потужності. Станом на 2022 рік пропонуються сотні тисяч " +"ітерацій SHA-256. Для обґрунтування того, чому та як вибрати те, що найкраще " +"підходить для вашої програми, прочитайте *Додаток A.2.2* NIST-SP-800-132_. " +"Відповіді на `stackexchange pbkdf2 iterations question`_ пояснюють детально." + +msgid "" +"*dklen* is the length of the derived key. If *dklen* is ``None`` then the " +"digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512." +msgstr "" +"*dklen* — довжина похідного ключа. Якщо *dklen* має значення ``None``, тоді " +"використовується розмір дайджесту геш-алгоритму *hash_name*, наприклад. 64 " +"для SHA-512." + +msgid "" +"A fast implementation of *pbkdf2_hmac* is available with OpenSSL. The " +"Python implementation uses an inline version of :mod:`hmac`. It is about " +"three times slower and doesn't release the GIL." +msgstr "" +"Швидка реалізація *pbkdf2_hmac* доступна з OpenSSL. Реалізація Python " +"використовує вбудовану версію :mod:`hmac`. Це приблизно втричі повільніше та " +"не випускає GIL." + +msgid "" +"Slow Python implementation of *pbkdf2_hmac* is deprecated. In the future the " +"function will only be available when Python is compiled with OpenSSL." +msgstr "" +"Повільна реалізація *pbkdf2_hmac* на Python застаріла. У майбутньому функція " +"буде доступна лише тоді, коли Python скомпільовано з OpenSSL." + +msgid "" +"The function provides scrypt password-based key derivation function as " +"defined in :rfc:`7914`." +msgstr "" +"Функція забезпечує функцію виведення ключа на основі пароля scrypt, як " +"визначено в :rfc:`7914`." + +msgid "" +"*password* and *salt* must be :term:`bytes-like objects `. Applications and libraries should limit *password* to a sensible " +"length (e.g. 1024). *salt* should be about 16 or more bytes from a proper " +"source, e.g. :func:`os.urandom`." +msgstr "" +"*пароль* і *соль* мають бути :term:`байтоподібними об’єктами `. Програми та бібліотеки повинні обмежувати *пароль* розумною " +"довжиною (наприклад, 1024). *salt* має бути приблизно 16 або більше байтів " +"із належного джерела, напр. :func:`os.urandom`." + +msgid "" +"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization " +"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). " +"*dklen* is the length of the derived key." +msgstr "" +"*n* — це коефіцієнт вартості ЦП/пам’яті, *r* — розмір блоку, *p* — " +"коефіцієнт розпаралелювання, а *maxmem* обмежує пам’ять (OpenSSL 1.1.0 за " +"замовчуванням становить 32 МБ). *dklen* — довжина похідного ключа." + +msgid "BLAKE2" +msgstr "БЛЕЙК2" + +msgid "" +"BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes " +"in two flavors:" +msgstr "" +"BLAKE2_ — це криптографічна хеш-функція, визначена в :rfc:`7693`, яка має " +"два варіанти:" + +msgid "" +"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size " +"between 1 and 64 bytes," +msgstr "" +"**BLAKE2b**, оптимізований для 64-розрядних платформ і створює дайджести " +"будь-якого розміру від 1 до 64 байтів," + +msgid "" +"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of " +"any size between 1 and 32 bytes." +msgstr "" +"**BLAKE2s**, оптимізований для платформ від 8 до 32 біт і створює дайджести " +"будь-якого розміру від 1 до 32 байтів." + +msgid "" +"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), " +"**salted hashing**, **personalization**, and **tree hashing**." +msgstr "" +"BLAKE2 підтримує **ключовий режим** (швидша та простіша заміна HMAC_), " +"**солі хешування**, **персоналізацію** та **хешування дерева**." + +msgid "" +"Hash objects from this module follow the API of standard library's :mod:" +"`hashlib` objects." +msgstr "" +"Хеш-об’єкти з цього модуля відповідають API об’єктів :mod:`hashlib` " +"стандартної бібліотеки." + +msgid "Creating hash objects" +msgstr "Створення хеш-об'єктів" + +msgid "New hash objects are created by calling constructor functions:" +msgstr "Нові хеш-об’єкти створюються шляхом виклику функцій конструктора:" + +msgid "" +"These functions return the corresponding hash objects for calculating " +"BLAKE2b or BLAKE2s. They optionally take these general parameters:" +msgstr "" +"Ці функції повертають відповідні хеш-об’єкти для обчислення BLAKE2b або " +"BLAKE2s. Вони необов'язково приймають такі загальні параметри:" + +msgid "" +"*data*: initial chunk of data to hash, which must be :term:`bytes-like " +"object`. It can be passed only as positional argument." +msgstr "" +"*data*: початкова частина даних для хешування, яка має бути :term:`bytes-" +"like object`. Його можна передати лише як позиційний аргумент." + +msgid "*digest_size*: size of output digest in bytes." +msgstr "*digest_size*: розмір вихідного дайджесту в байтах." + +msgid "" +"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for " +"BLAKE2s)." +msgstr "" +"*key*: ключ для хешування з ключем (до 64 байтів для BLAKE2b, до 32 байтів " +"для BLAKE2s)." + +msgid "" +"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 " +"bytes for BLAKE2s)." +msgstr "" +"*salt*: сіль для рандомізованого хешування (до 16 байт для BLAKE2b, до 8 " +"байт для BLAKE2s)." + +msgid "" +"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes " +"for BLAKE2s)." +msgstr "" +"*особа*: рядок персоналізації (до 16 байт для BLAKE2b, до 8 байт для " +"BLAKE2s)." + +msgid "The following table shows limits for general parameters (in bytes):" +msgstr "" +"У наступній таблиці показано обмеження для загальних параметрів (у байтах):" + +msgid "Hash" +msgstr "Хеш" + +msgid "digest_size" +msgstr "digest_size" + +msgid "len(key)" +msgstr "len (ключ)" + +msgid "len(salt)" +msgstr "лен (сіль)" + +msgid "len(person)" +msgstr "len (особа)" + +msgid "BLAKE2b" +msgstr "BLAKE2b" + +msgid "64" +msgstr "64" + +msgid "16" +msgstr "16" + +msgid "BLAKE2s" +msgstr "BLAKE2s" + +msgid "32" +msgstr "32" + +msgid "8" +msgstr "8" + +msgid "" +"BLAKE2 specification defines constant lengths for salt and personalization " +"parameters, however, for convenience, this implementation accepts byte " +"strings of any size up to the specified length. If the length of the " +"parameter is less than specified, it is padded with zeros, thus, for " +"example, ``b'salt'`` and ``b'salt\\x00'`` is the same value. (This is not " +"the case for *key*.)" +msgstr "" +"Специфікація BLAKE2 визначає постійну довжину параметрів солі та " +"персоналізації, однак для зручності ця реалізація приймає рядки байтів будь-" +"якого розміру до вказаної довжини. Якщо довжина параметра менша за вказану, " +"вона доповнюється нулями, таким чином, наприклад, ``b'salt`` і ``b'salt" +"\\x00`` є однаковими значеннями. (Це не стосується *ключа*.)" + +msgid "These sizes are available as module `constants`_ described below." +msgstr "Ці розміри доступні як `constants`_ модуля, описані нижче." + +msgid "" +"Constructor functions also accept the following tree hashing parameters:" +msgstr "Функції конструктора також приймають такі параметри хешування дерева:" + +msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)." +msgstr "" +"*fanout*: розхід (від 0 до 255, 0, якщо необмежений, 1 у послідовному " +"режимі)." + +msgid "" +"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential " +"mode)." +msgstr "" +"*depth*: максимальна глибина дерева (від 1 до 255, 255, якщо необмежено, 1 у " +"послідовному режимі)." + +msgid "" +"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited " +"or in sequential mode)." +msgstr "" +"*leaf_size*: максимальна довжина листа в байтах (від 0 до ``2**32-1``, 0, " +"якщо необмежений або в послідовному режимі)." + +msgid "" +"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` " +"for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)." +msgstr "" +"*node_offset*: зміщення вузла (від 0 до ``2**64-1`` для BLAKE2b, від 0 до " +"``2**48-1`` для BLAKE2s, 0 для першого, крайнього лівого листа, або в " +"послідовному режимі )." + +msgid "" +"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)." +msgstr "" +"*node_depth*: глибина вузла (від 0 до 255, 0 для листів або в послідовному " +"режимі)." + +msgid "" +"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 " +"in sequential mode)." +msgstr "" +"*inner_size*: розмір внутрішнього дайджесту (від 0 до 64 для BLAKE2b, від 0 " +"до 32 для BLAKE2s, 0 у послідовному режимі)." + +msgid "" +"*last_node*: boolean indicating whether the processed node is the last one " +"(``False`` for sequential mode)." +msgstr "" + +msgid "Explanation of tree mode parameters." +msgstr "" + +msgid "" +"See section 2.10 in `BLAKE2 specification `_ for comprehensive review of tree hashing." +msgstr "" +"Перегляньте розділ 2.10 у `BLAKE2 специфікації `_ для повного огляду хешування дерева." + +msgid "Constants" +msgstr "Константи" + +msgid "Salt length (maximum length accepted by constructors)." +msgstr "Довжина солі (максимальна довжина, прийнята конструкторами)." + +msgid "" +"Personalization string length (maximum length accepted by constructors)." +msgstr "" +"Довжина рядка персоналізації (максимальна довжина, прийнята конструкторами)." + +msgid "Maximum key size." +msgstr "Максимальний розмір ключа." + +msgid "Maximum digest size that the hash function can output." +msgstr "Максимальний розмір дайджесту, який може вивести хеш-функція." + +msgid "Examples" +msgstr "Приклади" + +msgid "Simple hashing" +msgstr "Просте хешування" + +msgid "" +"To calculate hash of some data, you should first construct a hash object by " +"calling the appropriate constructor function (:func:`blake2b` or :func:" +"`blake2s`), then update it with the data by calling :meth:`update` on the " +"object, and, finally, get the digest out of the object by calling :meth:" +"`digest` (or :meth:`hexdigest` for hex-encoded string)." +msgstr "" +"Щоб обчислити хеш деяких даних, вам слід спочатку створити хеш-об’єкт, " +"викликавши відповідну функцію-конструктор (:func:`blake2b` або :func:" +"`blake2s`), а потім оновити його даними, викликавши :meth:`update` на " +"об’єкті, і, нарешті, отримати дайджест з об’єкта, викликавши :meth:`digest` " +"(або :meth:`hexdigest` для рядка з шістнадцятковим кодуванням)." + +msgid "" +"As a shortcut, you can pass the first chunk of data to update directly to " +"the constructor as the positional argument:" +msgstr "" +"Як ярлик, ви можете передати перший фрагмент даних для оновлення " +"безпосередньо в конструктор як позиційний аргумент:" + +msgid "" +"You can call :meth:`hash.update` as many times as you need to iteratively " +"update the hash:" +msgstr "" +"Ви можете викликати :meth:`hash.update` стільки разів, скільки потрібно для " +"повторного оновлення хешу:" + +msgid "Using different digest sizes" +msgstr "Використання різних розмірів дайджесту" + +msgid "" +"BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to " +"32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without " +"changing the size of output, we can tell BLAKE2b to produce 20-byte digests:" +msgstr "" +"BLAKE2 має настроюваний розмір дайджестів до 64 байтів для BLAKE2b і до 32 " +"байтів для BLAKE2s. Наприклад, щоб замінити SHA-1 на BLAKE2b без зміни " +"розміру виведення, ми можемо наказати BLAKE2b створювати 20-байтові " +"дайджести:" + +msgid "" +"Hash objects with different digest sizes have completely different outputs " +"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s " +"produce different outputs even if the output length is the same:" +msgstr "" +"Хеш-об’єкти з різними розмірами дайджестів мають абсолютно різні результати " +"(коротші хеші *не* є префіксами більш довгих хешів); BLAKE2b і BLAKE2s " +"створюють різні результати, навіть якщо довжина виводу однакова:" + +msgid "Keyed hashing" +msgstr "Ключове хешування" + +msgid "" +"Keyed hashing can be used for authentication as a faster and simpler " +"replacement for `Hash-based message authentication code `_ (HMAC). BLAKE2 can be securely used in prefix-MAC " +"mode thanks to the indifferentiability property inherited from BLAKE." +msgstr "" +"Хешування з ключем можна використовувати для автентифікації як швидшу та " +"простішу заміну `коду автентифікації повідомлення на основі хешу `_ (HMAC). BLAKE2 можна безпечно використовувати в " +"режимі prefix-MAC завдяки властивості індиференційованості, успадкованій від " +"BLAKE." + +msgid "" +"This example shows how to get a (hex-encoded) 128-bit authentication code " +"for message ``b'message data'`` with key ``b'pseudorandom key'``::" +msgstr "" +"У цьому прикладі показано, як отримати (в шістнадцятковому кодуванні) 128-" +"бітний код автентифікації для повідомлення ``b'message data`` з ключем " +"``b'pseudorandom key``::" + +msgid "" +"As a practical example, a web application can symmetrically sign cookies " +"sent to users and later verify them to make sure they weren't tampered with::" +msgstr "" +"Як практичний приклад, веб-додаток може симетрично підписувати файли cookie, " +"надіслані користувачам, а потім перевіряти їх, щоб переконатися, що вони не " +"були змінені:" + +msgid "" +"Even though there's a native keyed hashing mode, BLAKE2 can, of course, be " +"used in HMAC construction with :mod:`hmac` module::" +msgstr "" +"Незважаючи на те, що існує режим хешування з рідним ключем, BLAKE2, " +"звичайно, можна використовувати в конструкції HMAC за допомогою модуля :mod:" +"`hmac`::" + +msgid "Randomized hashing" +msgstr "Рандомізоване хешування" + +msgid "" +"By setting *salt* parameter users can introduce randomization to the hash " +"function. Randomized hashing is useful for protecting against collision " +"attacks on the hash function used in digital signatures." +msgstr "" +"Установивши параметр *salt*, користувачі можуть запровадити рандомізацію хеш-" +"функції. Рандомізоване хешування корисне для захисту від колізійних атак на " +"хеш-функцію, яка використовується в цифрових підписах." + +msgid "" +"Randomized hashing is designed for situations where one party, the message " +"preparer, generates all or part of a message to be signed by a second party, " +"the message signer. If the message preparer is able to find cryptographic " +"hash function collisions (i.e., two messages producing the same hash value), " +"then they might prepare meaningful versions of the message that would " +"produce the same hash value and digital signature, but with different " +"results (e.g., transferring $1,000,000 to an account, rather than $10). " +"Cryptographic hash functions have been designed with collision resistance as " +"a major goal, but the current concentration on attacking cryptographic hash " +"functions may result in a given cryptographic hash function providing less " +"collision resistance than expected. Randomized hashing offers the signer " +"additional protection by reducing the likelihood that a preparer can " +"generate two or more messages that ultimately yield the same hash value " +"during the digital signature generation process --- even if it is practical " +"to find collisions for the hash function. However, the use of randomized " +"hashing may reduce the amount of security provided by a digital signature " +"when all portions of the message are prepared by the signer." +msgstr "" +"Рандомізоване хешування призначене для ситуацій, коли одна сторона, яка " +"готує повідомлення, створює все або частину повідомлення для підпису другою " +"стороною, особою, яка підписує повідомлення. Якщо готувач повідомлення може " +"знайти колізії криптографічної хеш-функції (тобто два повідомлення, що " +"створюють однакове хеш-значення), тоді він може підготувати значущі версії " +"повідомлення, які створять те саме хеш-значення та цифровий підпис, але з " +"різними результатами (наприклад, , переказуючи на рахунок 1 000 000 доларів " +"США, а не 10 доларів США). Основною метою криптографічних хеш-функцій було " +"розроблено стійкість до зіткнень, але поточна концентрація на атакуючих " +"криптографічних хеш-функціях може призвести до того, що дана криптографічна " +"хеш-функція забезпечить меншу стійкість до зіткнень, ніж очікувалося. " +"Рандомізоване хешування пропонує підписувачу додатковий захист, зменшуючи " +"ймовірність того, що підготовник зможе згенерувати два або більше " +"повідомлень, які в кінцевому підсумку дають однакове хеш-значення під час " +"процесу генерації цифрового підпису --- навіть якщо практично знайти колізії " +"для хеш-функції. Однак використання рандомізованого хешування може знизити " +"рівень безпеки, який забезпечує цифровий підпис, коли всі частини " +"повідомлення готуються підписувачем." + +msgid "" +"(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" `_)" +msgstr "" +"(`NIST SP-800-106 \"Випадкове хешування для цифрових підписів\" `_)" + +msgid "" +"In BLAKE2 the salt is processed as a one-time input to the hash function " +"during initialization, rather than as an input to each compression function." +msgstr "" +"У BLAKE2 сіль обробляється як одноразовий вхід до хеш-функції під час " +"ініціалізації, а не як вхід для кожної функції стиснення." + +msgid "" +"*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose " +"cryptographic hash function, such as SHA-256, is not suitable for hashing " +"passwords. See `BLAKE2 FAQ `_ for more information." +msgstr "" +"*Солоне хешування* (або просто хешування) за допомогою BLAKE2 або будь-якої " +"іншої криптографічної хеш-функції загального призначення, наприклад SHA-256, " +"не підходить для хешування паролів. Перегляньте `FAQ BLAKE2 `_ для отримання додаткової інформації." + +msgid "Personalization" +msgstr "Персоналізація" + +msgid "" +"Sometimes it is useful to force hash function to produce different digests " +"for the same input for different purposes. Quoting the authors of the Skein " +"hash function:" +msgstr "" +"Іноді корисно змусити хеш-функцію виробляти різні дайджести для одного " +"введення для різних цілей. Цитую авторів хеш-функції Skein:" + +msgid "" +"We recommend that all application designers seriously consider doing this; " +"we have seen many protocols where a hash that is computed in one part of the " +"protocol can be used in an entirely different part because two hash " +"computations were done on similar or related data, and the attacker can " +"force the application to make the hash inputs the same. Personalizing each " +"hash function used in the protocol summarily stops this type of attack." +msgstr "" +"Ми рекомендуємо всім розробникам додатків серйозно подумати про це; ми " +"бачили багато протоколів, де хеш, який обчислюється в одній частині " +"протоколу, може використовуватися в зовсім іншій частині, оскільки два хеш-" +"обчислення були виконані на подібних або пов’язаних даних, і зловмисник може " +"змусити програму зробити вхідні дані хешу те саме. Персоналізація кожної хеш-" +"функції, яка використовується в протоколі, швидко зупиняє цей тип атаки." + +msgid "" +"(`The Skein Hash Function Family `_, p. 21)" +msgstr "" + +msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::" +msgstr "BLAKE2 можна персоналізувати, передаючи байти в аргумент *person*::" + +msgid "" +"Personalization together with the keyed mode can also be used to derive " +"different keys from a single one." +msgstr "" +"Персоналізацію разом із режимом ключа також можна використовувати для " +"отримання різних ключів з одного." + +msgid "Tree mode" +msgstr "Режим дерева" + +msgid "Here's an example of hashing a minimal tree with two leaf nodes::" +msgstr "Ось приклад хешування мінімального дерева з двома листовими вузлами:" + +msgid "" +"This example uses 64-byte internal digests, and returns the 32-byte final " +"digest::" +msgstr "" +"У цьому прикладі використовуються 64-байтові внутрішні дайджести та " +"повертається 32-байтовий остаточний дайджест:" + +msgid "Credits" +msgstr "Кредити" + +msgid "" +"BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " +"Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ " +"created by *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, and " +"*Raphael C.-W. Phan*." +msgstr "" +"BLAKE2_ був розроблений *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " +"Wilcox-O'Hearn* і *Christian Winnerlein* на основі фіналіста SHA-3_ BLAKE_, " +"створеного *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier* і*Raphael " +"C.-W. Phan*." + +msgid "" +"It uses core algorithm from ChaCha_ cipher designed by *Daniel J. " +"Bernstein*." +msgstr "" +"Він використовує основний алгоритм із шифру ChaCha_, розробленого *Daniel J. " +"Bernstein*." + +msgid "" +"The stdlib implementation is based on pyblake2_ module. It was written by " +"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The " +"documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*." +msgstr "" +"Реалізація stdlib базується на модулі pyblake2_. Його написав *Dmitry " +"Chestnykh* на основі реалізації C, написаної *Samuel Neves*. Документація " +"була скопійована з pyblake2_ і написана *Дмитром Честних*." + +msgid "The C code was partly rewritten for Python by *Christian Heimes*." +msgstr "Код C був частково переписаний для Python *Christian Heimes*." + +msgid "" +"The following public domain dedication applies for both C hash function " +"implementation, extension code, and this documentation:" +msgstr "" +"Наведені нижче правила загальнодоступного домену застосовуються до " +"реалізації хеш-функції C, коду розширення та цієї документації:" + +msgid "" +"To the extent possible under law, the author(s) have dedicated all copyright " +"and related and neighboring rights to this software to the public domain " +"worldwide. This software is distributed without any warranty." +msgstr "" +"Наскільки це можливо згідно із законодавством, автор(и) передали всі " +"авторські права, суміжні та суміжні права на це програмне забезпечення у " +"суспільне надбання в усьому світі. Це програмне забезпечення " +"розповсюджується без будь-яких гарантій." + +msgid "" +"You should have received a copy of the CC0 Public Domain Dedication along " +"with this software. If not, see https://creativecommons.org/publicdomain/" +"zero/1.0/." +msgstr "" +"Ви повинні були отримати копію CC0 Public Domain Dedication разом із цим " +"програмним забезпеченням. Якщо ні, перегляньте https://creativecommons.org/" +"publicdomain/zero/1.0/." + +msgid "" +"The following people have helped with development or contributed their " +"changes to the project and the public domain according to the Creative " +"Commons Public Domain Dedication 1.0 Universal:" +msgstr "" +"Наступні люди допомогли з розробкою або внесли свої зміни до проекту та " +"суспільного надбання відповідно до Creative Commons Public Domain Dedication " +"1.0 Universal:" + +msgid "*Alexandr Sokolovskiy*" +msgstr "*Олександр Соколовський*" + +msgid "Module :mod:`hmac`" +msgstr "Модуль :mod:`hmac`" + +msgid "A module to generate message authentication codes using hashes." +msgstr "" +"Модуль для створення кодів автентифікації повідомлень за допомогою хешів." + +msgid "Module :mod:`base64`" +msgstr "Модуль :mod:`base64`" + +msgid "Another way to encode binary hashes for non-binary environments." +msgstr "Інший спосіб кодування двійкових хешів для небінарних середовищ." + +msgid "https://blake2.net" +msgstr "https://blake2.net" + +msgid "Official BLAKE2 website." +msgstr "Офіційний сайт BLAKE2." + +msgid "" +"https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/" +"documents/fips180-2.pdf" +msgstr "" +"https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/" +"documents/fips180-2.pdf" + +msgid "The FIPS 180-2 publication on Secure Hash Algorithms." +msgstr "Публікація FIPS 180-2 про безпечні алгоритми хешування." + +msgid "" +"https://en.wikipedia.org/wiki/" +"Cryptographic_hash_function#Cryptographic_hash_algorithms" +msgstr "" +"https://en.wikipedia.org/wiki/" +"Cryptographic_hash_function#Cryptographic_hash_algorithms" + +msgid "" +"Wikipedia article with information on which algorithms have known issues and " +"what that means regarding their use." +msgstr "" +"Стаття у Вікіпедії з інформацією про те, які алгоритми мають відомі проблеми " +"та що це означає щодо їх використання." + +msgid "https://www.ietf.org/rfc/rfc8018.txt" +msgstr "https://www.ietf.org/rfc/rfc8018.txt" + +msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1" +msgstr "PKCS #5: Специфікація криптографії на основі пароля, версія 2.1" + +msgid "" +"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf" +msgstr "" +"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf" + +msgid "NIST Recommendation for Password-Based Key Derivation." +msgstr "Рекомендації NIST щодо виведення ключів на основі пароля." diff --git a/library/heapq.po b/library/heapq.po new file mode 100644 index 000000000..02b51ca4c --- /dev/null +++ b/library/heapq.po @@ -0,0 +1,506 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`heapq` --- Heap queue algorithm" +msgstr ":mod:`heapq` --- Алгоритм черги купи" + +msgid "**Source code:** :source:`Lib/heapq.py`" +msgstr "**Вихідний код:** :source:`Lib/heapq.py`" + +msgid "" +"This module provides an implementation of the heap queue algorithm, also " +"known as the priority queue algorithm." +msgstr "" +"Цей модуль забезпечує реалізацію алгоритму черги купи, також відомого як " +"алгоритм пріоритетної черги." + +msgid "" +"Heaps are binary trees for which every parent node has a value less than or " +"equal to any of its children. This implementation uses arrays for which " +"``heap[k] <= heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]`` for all *k*, " +"counting elements from zero. For the sake of comparison, non-existing " +"elements are considered to be infinite. The interesting property of a heap " +"is that its smallest element is always the root, ``heap[0]``." +msgstr "" +"Купи — це бінарні дерева, для яких кожен батьківський вузол має значення, " +"менше або рівне будь-якому з його дочірніх вузлів. Ця реалізація " +"використовує масиви, для яких ``heap[k] <= heap[2*k+1]`` і ``heap[k] <= " +"heap[2*k+2]`` для всіх *k*, підраховуючи елементи з нуля. Для порівняння, " +"неіснуючі елементи вважаються нескінченними. Цікавою властивістю купи є те, " +"що її найменший елемент завжди є коренем, ``heap[0]``." + +msgid "" +"The API below differs from textbook heap algorithms in two aspects: (a) We " +"use zero-based indexing. This makes the relationship between the index for " +"a node and the indexes for its children slightly less obvious, but is more " +"suitable since Python uses zero-based indexing. (b) Our pop method returns " +"the smallest item, not the largest (called a \"min heap\" in textbooks; a " +"\"max heap\" is more common in texts because of its suitability for in-place " +"sorting)." +msgstr "" +"Наведений нижче API відрізняється від алгоритмів купи підручників двома " +"аспектами: (a) ми використовуємо індексування на основі нуля. Це робить " +"зв’язок між індексом для вузла та індексами для його дочірніх елементів дещо " +"менш очевидним, але є більш придатним, оскільки Python використовує " +"індексування від нуля. (b) Наш метод pop повертає найменший елемент, а не " +"найбільший (у підручниках називається \"мінімальна купа\"; \"максимальна купа" +"\" більш поширена в текстах через її придатність для сортування на місці)." + +msgid "" +"These two make it possible to view the heap as a regular Python list without " +"surprises: ``heap[0]`` is the smallest item, and ``heap.sort()`` maintains " +"the heap invariant!" +msgstr "" +"Ці два параметри дають змогу переглядати купу як звичайний список Python без " +"сюрпризів: ``heap[0]`` є найменшим елементом, а ``heap.sort()`` підтримує " +"незмінність купи!" + +msgid "" +"To create a heap, use a list initialized to ``[]``, or you can transform a " +"populated list into a heap via function :func:`heapify`." +msgstr "" +"Щоб створити купу, використовуйте список, ініціалізований ``[]``, або ви " +"можете перетворити заповнений список на купу за допомогою функції :func:" +"`heapify`." + +msgid "The following functions are provided:" +msgstr "Передбачені такі функції:" + +msgid "Push the value *item* onto the *heap*, maintaining the heap invariant." +msgstr "Перемістіть значення *item* у *купу*, зберігаючи незмінність купи." + +msgid "" +"Pop and return the smallest item from the *heap*, maintaining the heap " +"invariant. If the heap is empty, :exc:`IndexError` is raised. To access " +"the smallest item without popping it, use ``heap[0]``." +msgstr "" +"Витягніть і поверніть найменший елемент із *купи*, зберігаючи незмінність " +"купи. Якщо купа порожня, виникає :exc:`IndexError`. Щоб отримати доступ до " +"найменшого елемента, не відкриваючи його, використовуйте ``heap[0]``." + +msgid "" +"Push *item* on the heap, then pop and return the smallest item from the " +"*heap*. The combined action runs more efficiently than :func:`heappush` " +"followed by a separate call to :func:`heappop`." +msgstr "" +"Натисніть *item* на купу, а потім витягніть і поверніть найменший елемент із " +"*купи*. Комбінована дія працює ефективніше, ніж :func:`heappush`, після " +"якого слід окремий виклик :func:`heappop`." + +msgid "Transform list *x* into a heap, in-place, in linear time." +msgstr "Перетворення списку *x* на купу, на місці, за лінійний час." + +msgid "" +"Pop and return the smallest item from the *heap*, and also push the new " +"*item*. The heap size doesn't change. If the heap is empty, :exc:" +"`IndexError` is raised." +msgstr "" +"Витягніть і поверніть найменший предмет із *купи*, а також натисніть новий " +"*предмет*. Розмір купи не змінюється. Якщо купа порожня, виникає :exc:" +"`IndexError`." + +msgid "" +"This one step operation is more efficient than a :func:`heappop` followed " +"by :func:`heappush` and can be more appropriate when using a fixed-size " +"heap. The pop/push combination always returns an element from the heap and " +"replaces it with *item*." +msgstr "" +"Ця одноетапна операція є ефективнішою, ніж :func:`heappop`, за якою слідує :" +"func:`heappush`, і може бути більш доцільною, якщо використовується купа " +"фіксованого розміру. Комбінація pop/push завжди повертає елемент із купи та " +"замінює його на *item*." + +msgid "" +"The value returned may be larger than the *item* added. If that isn't " +"desired, consider using :func:`heappushpop` instead. Its push/pop " +"combination returns the smaller of the two values, leaving the larger value " +"on the heap." +msgstr "" +"Повернене значення може бути більшим за доданий *елемент*. Якщо це небажано, " +"подумайте про використання замість цього :func:`heappushpop`. Його " +"комбінація push/pop повертає менше з двох значень, залишаючи більше значення " +"в купі." + +msgid "The module also offers three general purpose functions based on heaps." +msgstr "" +"Модуль також пропонує три функції загального призначення, засновані на купах." + +msgid "" +"Merge multiple sorted inputs into a single sorted output (for example, merge " +"timestamped entries from multiple log files). Returns an :term:`iterator` " +"over the sorted values." +msgstr "" +"Об’єднайте кілька відсортованих вхідних даних в один відсортований вихід " +"(наприклад, об’єднайте записи з мітками часу з кількох файлів журналу). " +"Повертає :term:`iterator` над відсортованими значеннями." + +msgid "" +"Similar to ``sorted(itertools.chain(*iterables))`` but returns an iterable, " +"does not pull the data into memory all at once, and assumes that each of the " +"input streams is already sorted (smallest to largest)." +msgstr "" +"Подібно до ``sorted(itertools.chain(*iterables))``, але повертає iterable, " +"не затягує дані в пам’ять усі одночасно та передбачає, що кожен із вхідних " +"потоків уже відсортовано (від найменшого до найбільшого)." + +msgid "" +"Has two optional arguments which must be specified as keyword arguments." +msgstr "" +"Має два необов’язкові аргументи, які необхідно вказати як аргументи " +"ключового слова." + +msgid "" +"*key* specifies a :term:`key function` of one argument that is used to " +"extract a comparison key from each input element. The default value is " +"``None`` (compare the elements directly)." +msgstr "" +"*key* визначає :term:`key function` одного аргументу, який використовується " +"для отримання ключа порівняння з кожного вхідного елемента. Значення за " +"замовчуванням – ``None`` (пряме порівняння елементів)." + +msgid "" +"*reverse* is a boolean value. If set to ``True``, then the input elements " +"are merged as if each comparison were reversed. To achieve behavior similar " +"to ``sorted(itertools.chain(*iterables), reverse=True)``, all iterables must " +"be sorted from largest to smallest." +msgstr "" +"*reverse* — це логічне значення. Якщо встановлено значення ``True``, то " +"вхідні елементи об’єднуються так, ніби кожне порівняння було зворотним. Щоб " +"досягти поведінки, подібної до ``sorted(itertools.chain(*iterables), " +"reverse=True)``, усі ітератори мають бути відсортовані від найбільшого до " +"найменшого." + +msgid "Added the optional *key* and *reverse* parameters." +msgstr "Додано додаткові параметри *key* і *reverse*." + +msgid "" +"Return a list with the *n* largest elements from the dataset defined by " +"*iterable*. *key*, if provided, specifies a function of one argument that " +"is used to extract a comparison key from each element in *iterable* (for " +"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key, " +"reverse=True)[:n]``." +msgstr "" +"Повертає список із *n* найбільшими елементами з набору даних, визначеного " +"*iterable*. *key*, якщо надається, визначає функцію одного аргументу, який " +"використовується для отримання ключа порівняння з кожного елемента в " +"*iterable* (наприклад, ``key=str.lower``). Еквівалент: ``sorted(iterable, " +"key=key, reverse=True)[:n]``." + +msgid "" +"Return a list with the *n* smallest elements from the dataset defined by " +"*iterable*. *key*, if provided, specifies a function of one argument that " +"is used to extract a comparison key from each element in *iterable* (for " +"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key)[:" +"n]``." +msgstr "" +"Повертає список із *n* найменшими елементами з набору даних, визначеного " +"*iterable*. *key*, якщо надається, визначає функцію одного аргументу, який " +"використовується для отримання ключа порівняння з кожного елемента в " +"*iterable* (наприклад, ``key=str.lower``). Еквівалент: ``sorted(iterable, " +"key=key)[:n]``." + +msgid "" +"The latter two functions perform best for smaller values of *n*. For larger " +"values, it is more efficient to use the :func:`sorted` function. Also, when " +"``n==1``, it is more efficient to use the built-in :func:`min` and :func:" +"`max` functions. If repeated usage of these functions is required, consider " +"turning the iterable into an actual heap." +msgstr "" +"Дві останні функції працюють найкраще для менших значень *n*. Для більших " +"значень ефективніше використовувати функцію :func:`sorted`. Крім того, коли " +"``n==1``, ефективніше використовувати вбудовані функції :func:`min` і :func:" +"`max`. Якщо потрібне повторне використання цих функцій, подумайте про те, " +"щоб перетворити iterable на справжню купу." + +msgid "Basic Examples" +msgstr "Основні приклади" + +msgid "" +"A `heapsort `_ can be implemented by " +"pushing all values onto a heap and then popping off the smallest values one " +"at a time::" +msgstr "" +"`heapsort `_ може бути реалізовано " +"шляхом переміщення всіх значень у купу, а потім вилучення найменших значень " +"по одному:" + +msgid "" +"This is similar to ``sorted(iterable)``, but unlike :func:`sorted`, this " +"implementation is not stable." +msgstr "" +"Це схоже на ``sorted(iterable)``, але на відміну від :func:`sorted`, ця " +"реалізація не є стабільною." + +msgid "" +"Heap elements can be tuples. This is useful for assigning comparison values " +"(such as task priorities) alongside the main record being tracked::" +msgstr "" +"Елементи купи можуть бути кортежами. Це корисно для призначення порівняльних " +"значень (наприклад, пріоритетів завдань) поряд із основним записом, який " +"відстежується:" + +msgid "Priority Queue Implementation Notes" +msgstr "Примітки щодо реалізації пріоритетної черги" + +msgid "" +"A `priority queue `_ is common " +"use for a heap, and it presents several implementation challenges:" +msgstr "" +"`Пріоритетна черга `_ зазвичай " +"використовується для купи, і це створює кілька проблем реалізації:" + +msgid "" +"Sort stability: how do you get two tasks with equal priorities to be " +"returned in the order they were originally added?" +msgstr "" +"Стабільність сортування: як повернути два завдання з однаковими пріоритетами " +"в тому порядку, в якому вони були спочатку додані?" + +msgid "" +"Tuple comparison breaks for (priority, task) pairs if the priorities are " +"equal and the tasks do not have a default comparison order." +msgstr "" +"Порівняння кортежу розривається для пар (пріоритет, завдання), якщо " +"пріоритети рівні, а завдання не мають порядку порівняння за замовчуванням." + +msgid "" +"If the priority of a task changes, how do you move it to a new position in " +"the heap?" +msgstr "" +"Якщо пріоритет завдання змінюється, як перемістити його на нове місце в купі?" + +msgid "" +"Or if a pending task needs to be deleted, how do you find it and remove it " +"from the queue?" +msgstr "" +"Або якщо завдання, що очікує на виконання, потрібно видалити, як його знайти " +"та видалити з черги?" + +msgid "" +"A solution to the first two challenges is to store entries as 3-element list " +"including the priority, an entry count, and the task. The entry count " +"serves as a tie-breaker so that two tasks with the same priority are " +"returned in the order they were added. And since no two entry counts are the " +"same, the tuple comparison will never attempt to directly compare two tasks." +msgstr "" +"Рішенням перших двох проблем є збереження записів у вигляді списку з 3 " +"елементів, включаючи пріоритет, кількість записів і завдання. Підрахунок " +"записів служить вирішальним, щоб два завдання з однаковим пріоритетом " +"поверталися в порядку їх додавання. А оскільки немає двох однакових " +"підрахунків записів, порівняння кортежів ніколи не намагатиметься " +"безпосередньо порівняти два завдання." + +msgid "" +"Another solution to the problem of non-comparable tasks is to create a " +"wrapper class that ignores the task item and only compares the priority " +"field::" +msgstr "" +"Іншим вирішенням проблеми непорівнюваних завдань є створення класу-оболонки, " +"який ігнорує елемент завдання та порівнює лише поле пріоритету:" + +msgid "" +"The remaining challenges revolve around finding a pending task and making " +"changes to its priority or removing it entirely. Finding a task can be done " +"with a dictionary pointing to an entry in the queue." +msgstr "" +"Проблеми, що залишилися, пов’язані з пошуком незавершеного завдання та " +"внесенням змін до його пріоритету або його повним видаленням. Знайти " +"завдання можна за допомогою словника, який вказує на запис у черзі." + +msgid "" +"Removing the entry or changing its priority is more difficult because it " +"would break the heap structure invariants. So, a possible solution is to " +"mark the entry as removed and add a new entry with the revised priority::" +msgstr "" +"Видалити запис або змінити його пріоритет складніше, оскільки це порушить " +"інваріанти структури купи. Отже, можливим рішенням є позначення запису як " +"видаленого та додавання нового запису зі зміненим пріоритетом::" + +msgid "Theory" +msgstr "Теорія" + +msgid "" +"Heaps are arrays for which ``a[k] <= a[2*k+1]`` and ``a[k] <= a[2*k+2]`` for " +"all *k*, counting elements from 0. For the sake of comparison, non-existing " +"elements are considered to be infinite. The interesting property of a heap " +"is that ``a[0]`` is always its smallest element." +msgstr "" +"Купи — це масиви, для яких ``a[k] <= a[2*k+1]`` і ``a[k] <= a[2*k+2]`` для " +"всіх *k*, підрахунок елементів від 0. Для порівняння, неіснуючі елементи " +"вважаються нескінченними. Цікавою властивістю купи є те, що ``a[0]`` завжди " +"є її найменшим елементом." + +msgid "" +"The strange invariant above is meant to be an efficient memory " +"representation for a tournament. The numbers below are *k*, not ``a[k]``::" +msgstr "" +"Дивний інваріант вище призначений для ефективного представлення пам’яті для " +"турніру. Цифри нижче *k*, а не ``a[k]``::" + +msgid "" +"In the tree above, each cell *k* is topping ``2*k+1`` and ``2*k+2``. In a " +"usual binary tournament we see in sports, each cell is the winner over the " +"two cells it tops, and we can trace the winner down the tree to see all " +"opponents s/he had. However, in many computer applications of such " +"tournaments, we do not need to trace the history of a winner. To be more " +"memory efficient, when a winner is promoted, we try to replace it by " +"something else at a lower level, and the rule becomes that a cell and the " +"two cells it tops contain three different items, but the top cell \"wins\" " +"over the two topped cells." +msgstr "" +"У наведеному вище дереві кожна комірка *k* є вершиною ``2*k+1`` і ``2*k+2``. " +"У звичайному бінарному турнірі, який ми бачимо у спорті, кожна клітина є " +"переможцем над двома клітинками, які вона очолює, і ми можемо відстежити " +"переможця вниз по дереву, щоб побачити всіх суперників, які він/вона мали. " +"Однак у багатьох комп’ютерних програмах таких турнірів нам не потрібно " +"відстежувати історію переможця. Щоб підвищити ефективність пам’яті, коли " +"переможець підвищується, ми намагаємося замінити його чимось іншим на " +"нижчому рівні, і правило стає таким, що клітинка та дві верхні клітинки " +"містять три різні елементи, але верхня клітинка \"перемагає\". над двома " +"верхніми клітинами." + +msgid "" +"If this heap invariant is protected at all time, index 0 is clearly the " +"overall winner. The simplest algorithmic way to remove it and find the " +"\"next\" winner is to move some loser (let's say cell 30 in the diagram " +"above) into the 0 position, and then percolate this new 0 down the tree, " +"exchanging values, until the invariant is re-established. This is clearly " +"logarithmic on the total number of items in the tree. By iterating over all " +"items, you get an O(n log n) sort." +msgstr "" +"Якщо цей інваріант купи захищений весь час, індекс 0 явно є загальним " +"переможцем. Найпростіший алгоритмічний спосіб видалити його та знайти " +"\"наступного\" переможця — перемістити якийсь програш (скажімо, комірку 30 " +"на діаграмі вище) у позицію 0, а потім перемістити цей новий 0 униз по " +"дереву, обмінюючи значеннями, доки інваріант не стане відновлюється. Це явно " +"логарифмічно від загальної кількості елементів у дереві. Перебираючи всі " +"елементи, ви отримуєте O(n log n) сортування." + +msgid "" +"A nice feature of this sort is that you can efficiently insert new items " +"while the sort is going on, provided that the inserted items are not \"better" +"\" than the last 0'th element you extracted. This is especially useful in " +"simulation contexts, where the tree holds all incoming events, and the \"win" +"\" condition means the smallest scheduled time. When an event schedules " +"other events for execution, they are scheduled into the future, so they can " +"easily go into the heap. So, a heap is a good structure for implementing " +"schedulers (this is what I used for my MIDI sequencer :-)." +msgstr "" +"Приємною особливістю цього сортування є те, що ви можете ефективно вставляти " +"нові елементи під час сортування, за умови, що вставлені елементи не \"кращі" +"\", ніж останній нульовий елемент, який ви витягли. Це особливо корисно в " +"контекстах симуляції, де дерево містить усі вхідні події, а умова \"виграш\" " +"означає найменший запланований час. Коли подія планує інші події для " +"виконання, вони плануються в майбутньому, тому їх можна легко перемістити в " +"купу. Отже, купа є хорошою структурою для реалізації планувальників (це те, " +"що я використовував для свого MIDI-секвенсора :-)." + +msgid "" +"Various structures for implementing schedulers have been extensively " +"studied, and heaps are good for this, as they are reasonably speedy, the " +"speed is almost constant, and the worst case is not much different than the " +"average case. However, there are other representations which are more " +"efficient overall, yet the worst cases might be terrible." +msgstr "" +"Різноманітні структури для реалізації планувальників були ретельно вивчені, " +"і для цього добре підійдуть купи, оскільки вони досить швидкі, швидкість " +"майже постійна, а найгірший випадок не сильно відрізняється від середнього " +"випадку. Однак існують інші представлення, які в цілому є більш ефективними, " +"але найгірші випадки можуть бути жахливими." + +msgid "" +"Heaps are also very useful in big disk sorts. You most probably all know " +"that a big sort implies producing \"runs\" (which are pre-sorted sequences, " +"whose size is usually related to the amount of CPU memory), followed by a " +"merging passes for these runs, which merging is often very cleverly " +"organised [#]_. It is very important that the initial sort produces the " +"longest runs possible. Tournaments are a good way to achieve that. If, " +"using all the memory available to hold a tournament, you replace and " +"percolate items that happen to fit the current run, you'll produce runs " +"which are twice the size of the memory for random input, and much better for " +"input fuzzily ordered." +msgstr "" +"Купи також дуже корисні для сортування великих дисків. Напевно, ви всі " +"знаєте, що велике сортування передбачає створення \"запусків\" (це " +"попередньо відсортовані послідовності, розмір яких зазвичай пов’язаний з " +"обсягом пам’яті процесора), після чого слід об’єднання проходів для цих " +"запусків, яке часто є дуже спритним. організовано [#]_. Дуже важливо, щоб " +"початкове сортування створювало якнайдовші серії. Хорошим способом досягти " +"цього є турніри. Якщо, використовуючи всю пам’ять, доступну для проведення " +"турніру, ви замінюєте та просочуєте елементи, які випадково відповідають " +"поточному циклу, ви створите цикли, які вдвічі перевищують розмір пам’яті " +"для випадкового введення, і набагато краще для нечітко впорядкованого " +"введення." + +msgid "" +"Moreover, if you output the 0'th item on disk and get an input which may not " +"fit in the current tournament (because the value \"wins\" over the last " +"output value), it cannot fit in the heap, so the size of the heap " +"decreases. The freed memory could be cleverly reused immediately for " +"progressively building a second heap, which grows at exactly the same rate " +"the first heap is melting. When the first heap completely vanishes, you " +"switch heaps and start a new run. Clever and quite effective!" +msgstr "" +"Більше того, якщо ви виведете 0-й елемент на диску та отримаєте вхідні дані, " +"які можуть не відповідати поточному турніру (оскільки значення \"перемагає\" " +"над останнім вихідним значенням), воно не може поміститися у купу, тому " +"розмір купа зменшується. Звільнену пам’ять можна негайно використати " +"повторно для поступового створення другої купи, яка росте з тією ж " +"швидкістю, що й перша купа тане. Коли перша купа повністю зникає, ви " +"змінюєте купи та починаєте новий запуск. Розумно і досить ефективно!" + +msgid "" +"In a word, heaps are useful memory structures to know. I use them in a few " +"applications, and I think it is good to keep a 'heap' module around. :-)" +msgstr "" +"Одним словом, купи - це корисні структури пам'яті, які слід знати. Я " +"використовую їх у кількох програмах, і я вважаю, що добре тримати модуль " +"\"купи\". :-)" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The disk balancing algorithms which are current, nowadays, are more annoying " +"than clever, and this is a consequence of the seeking capabilities of the " +"disks. On devices which cannot seek, like big tape drives, the story was " +"quite different, and one had to be very clever to ensure (far in advance) " +"that each tape movement will be the most effective possible (that is, will " +"best participate at \"progressing\" the merge). Some tapes were even able " +"to read backwards, and this was also used to avoid the rewinding time. " +"Believe me, real good tape sorts were quite spectacular to watch! From all " +"times, sorting has always been a Great Art! :-)" +msgstr "" +"Сучасні алгоритми балансування дисків радше дратують, ніж розумні, і це є " +"наслідком можливостей пошуку дисків. На пристроях, які не можуть шукати, як-" +"от великі стрічкові накопичувачі, історія була зовсім іншою, і потрібно було " +"бути дуже кмітливим, щоб переконатися (заздалегідь), що кожен рух стрічки " +"буде максимально ефективним (тобто найкраще братиме участь у \" просувається" +"\" злиття). Деякі стрічки навіть могли читати назад, і це також " +"використовувалося, щоб уникнути перемотування часу. Повірте, дивитися " +"справді гарні стрічки було дуже вражаюче! З усіх часів сортування завжди " +"було Великим Мистецтвом! :-)" diff --git a/library/hmac.po b/library/hmac.po new file mode 100644 index 000000000..9e109b043 --- /dev/null +++ b/library/hmac.po @@ -0,0 +1,206 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" +msgstr ":mod:`hmac` --- Ключове хешування для автентифікації повідомлень" + +msgid "**Source code:** :source:`Lib/hmac.py`" +msgstr "**Вихідний код:** :source:`Lib/hmac.py`" + +msgid "This module implements the HMAC algorithm as described by :rfc:`2104`." +msgstr "Цей модуль реалізує алгоритм HMAC, як описано в :rfc:`2104`." + +msgid "" +"Return a new hmac object. *key* is a bytes or bytearray object giving the " +"secret key. If *msg* is present, the method call ``update(msg)`` is made. " +"*digestmod* is the digest name, digest constructor or module for the HMAC " +"object to use. It may be any name suitable to :func:`hashlib.new`. Despite " +"its argument position, it is required." +msgstr "" +"Повернути новий об’єкт hmac. *key* — це об’єкт bytes або bytearray, що надає " +"секретний ключ. Якщо присутній *msg*, виконується виклик методу " +"``update(msg)``. *digestmod* — назва дайджесту, конструктор дайджесту або " +"модуль для використання об’єктом HMAC. Це може бути будь-яке ім’я, яке " +"підходить для :func:`hashlib.new`. Незважаючи на свою аргументовану позицію, " +"вона потрібна." + +msgid "" +"Parameter *key* can be a bytes or bytearray object. Parameter *msg* can be " +"of any type supported by :mod:`hashlib`. Parameter *digestmod* can be the " +"name of a hash algorithm." +msgstr "" +"Параметр *key* може бути об’єктом bytes або bytearray. Параметр *msg* може " +"бути будь-якого типу, який підтримується :mod:`hashlib`. Параметр " +"*digestmod* може бути назвою хеш-алгоритму." + +msgid "" +"MD5 as implicit default digest for *digestmod* is deprecated. The digestmod " +"parameter is now required. Pass it as a keyword argument to avoid " +"awkwardness when you do not have an initial msg." +msgstr "" +"MD5 як неявний дайджест за замовчуванням для *digestmod* застарів. Тепер " +"потрібен параметр digestmod. Передайте його як аргумент ключового слова, щоб " +"уникнути незручності, коли у вас немає початкового повідомлення." + +msgid "" +"Return digest of *msg* for given secret *key* and *digest*. The function is " +"equivalent to ``HMAC(key, msg, digest).digest()``, but uses an optimized C " +"or inline implementation, which is faster for messages that fit into memory. " +"The parameters *key*, *msg*, and *digest* have the same meaning as in :func:" +"`~hmac.new`." +msgstr "" +"Повернути дайджест *повідомлення* для заданого секретного *ключа* та " +"*дайджесту*. Функція еквівалентна ``HMAC(key, msg, digest).digest()``, але " +"використовує оптимізовану C або вбудовану реалізацію, яка є швидшою для " +"повідомлень, які вміщуються в пам’ять. Параметри *key*, *msg* і *digest* " +"мають те саме значення, що й у :func:`~hmac.new`." + +msgid "" +"CPython implementation detail, the optimized C implementation is only used " +"when *digest* is a string and name of a digest algorithm, which is supported " +"by OpenSSL." +msgstr "" +"Деталі реалізації CPython, оптимізована реалізація C використовується лише " +"тоді, коли *digest* є рядком і назвою алгоритму дайджесту, який " +"підтримується OpenSSL." + +msgid "An HMAC object has the following methods:" +msgstr "Об’єкт HMAC має такі методи:" + +msgid "" +"Update the hmac object with *msg*. Repeated calls are equivalent to a " +"single call with the concatenation of all the arguments: ``m.update(a); m." +"update(b)`` is equivalent to ``m.update(a + b)``." +msgstr "" +"Оновіть об’єкт hmac за допомогою *msg*. Повторні виклики еквівалентні одному " +"виклику з конкатенацією всіх аргументів: ``m.update(a); m.update(b)`` " +"еквівалентно ``m.update(a + b)``." + +msgid "Parameter *msg* can be of any type supported by :mod:`hashlib`." +msgstr "" +"Параметр *msg* може бути будь-якого типу, який підтримується :mod:`hashlib`." + +msgid "" +"Return the digest of the bytes passed to the :meth:`update` method so far. " +"This bytes object will be the same length as the *digest_size* of the digest " +"given to the constructor. It may contain non-ASCII bytes, including NUL " +"bytes." +msgstr "" +"Повертає дайджест байтів, переданих до цього моменту методу :meth:`update`. " +"Цей об’єкт bytes матиме таку саму довжину, що й *digest_size* дайджесту, " +"наданого конструктору. Він може містити байти, відмінні від ASCII, включаючи " +"байти NUL." + +msgid "" +"When comparing the output of :meth:`digest` to an externally supplied digest " +"during a verification routine, it is recommended to use the :func:" +"`compare_digest` function instead of the ``==`` operator to reduce the " +"vulnerability to timing attacks." +msgstr "" + +msgid "" +"Like :meth:`digest` except the digest is returned as a string twice the " +"length containing only hexadecimal digits. This may be used to exchange the " +"value safely in email or other non-binary environments." +msgstr "" +"Подібно до :meth:`digest`, за винятком того, що дайджест повертається як " +"рядок подвійної довжини, що містить лише шістнадцяткові цифри. Це можна " +"використовувати для безпечного обміну значенням в електронній пошті чи в " +"інших небінарних середовищах." + +msgid "" +"When comparing the output of :meth:`hexdigest` to an externally supplied " +"digest during a verification routine, it is recommended to use the :func:" +"`compare_digest` function instead of the ``==`` operator to reduce the " +"vulnerability to timing attacks." +msgstr "" + +msgid "" +"Return a copy (\"clone\") of the hmac object. This can be used to " +"efficiently compute the digests of strings that share a common initial " +"substring." +msgstr "" +"Повертає копію (\"клон\") об'єкта hmac. Це можна використовувати для " +"ефективного обчислення дайджестів рядків, які мають спільний початковий " +"підрядок." + +msgid "A hash object has the following attributes:" +msgstr "Хеш-об’єкт має такі атрибути:" + +msgid "The size of the resulting HMAC digest in bytes." +msgstr "Розмір отриманого дайджесту HMAC у байтах." + +msgid "The internal block size of the hash algorithm in bytes." +msgstr "Розмір внутрішнього блоку хеш-алгоритму в байтах." + +msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." +msgstr "" +"Канонічна назва цього HMAC, завжди в нижньому регістрі, напр. ``hmac-md5``." + +msgid "" +"The undocumented attributes ``HMAC.digest_cons``, ``HMAC.inner``, and ``HMAC." +"outer`` are internal implementation details and will be removed in Python " +"3.10." +msgstr "" +"Недокументовані атрибути ``HMAC.digest_cons``, ``HMAC.inner`` і ``HMAC." +"outer`` є деталями внутрішньої реалізації, і їх буде видалено в Python 3.10." + +msgid "This module also provides the following helper function:" +msgstr "Цей модуль також надає такі допоміжні функції:" + +msgid "" +"Return ``a == b``. This function uses an approach designed to prevent " +"timing analysis by avoiding content-based short circuiting behaviour, making " +"it appropriate for cryptography. *a* and *b* must both be of the same type: " +"either :class:`str` (ASCII only, as e.g. returned by :meth:`HMAC." +"hexdigest`), or a :term:`bytes-like object`." +msgstr "" +"Повернути ``a == b``. Ця функція використовує підхід, призначений для " +"запобігання аналізу часу шляхом уникнення короткого замикання на основі " +"вмісту, що робить її придатною для криптографії. *a* і *b* мають бути одного " +"типу: або :class:`str` (тільки ASCII, як, наприклад, повертає :meth:`HMAC." +"hexdigest`), або :term:`bytes-like object`." + +msgid "" +"If *a* and *b* are of different lengths, or if an error occurs, a timing " +"attack could theoretically reveal information about the types and lengths of " +"*a* and *b*—but not their values." +msgstr "" +"Якщо *a* і *b* мають різну довжину або якщо сталася помилка, атака на " +"синхронізацію теоретично може відкрити інформацію про типи та довжини *a* і " +"*b*, але не їхні значення." + +msgid "" +"The function uses OpenSSL's ``CRYPTO_memcmp()`` internally when available." +msgstr "" +"Функція внутрішньо використовує ``CRYPTO_memcmp()`` OpenSSL, якщо доступний." + +msgid "Module :mod:`hashlib`" +msgstr "Модуль :mod:`hashlib`" + +msgid "The Python module providing secure hash functions." +msgstr "Модуль Python, що забезпечує безпечні хеш-функції." diff --git a/library/html.po b/library/html.po new file mode 100644 index 000000000..f9ab4a638 --- /dev/null +++ b/library/html.po @@ -0,0 +1,71 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`html` --- HyperText Markup Language support" +msgstr ":mod:`html` --- Підтримка мови гіпертекстової розмітки" + +msgid "**Source code:** :source:`Lib/html/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/html/__init__.py`" + +msgid "This module defines utilities to manipulate HTML." +msgstr "Цей модуль визначає утиліти для роботи з HTML." + +msgid "" +"Convert the characters ``&``, ``<`` and ``>`` in string *s* to HTML-safe " +"sequences. Use this if you need to display text that might contain such " +"characters in HTML. If the optional flag *quote* is true, the characters (``" +"\"``) and (``'``) are also translated; this helps for inclusion in an HTML " +"attribute value delimited by quotes, as in ````." +msgstr "" +"Перетворіть символи ``&``, ``<`` and ``>`` у рядку *s* на послідовності, " +"безпечні для HTML. Використовуйте це, якщо вам потрібно відобразити текст, " +"який може містити такі символи в HTML. Якщо необов’язковий прапорець *quote* " +"має значення true, символи (``\"``) і (``'``) також перекладаються; це " +"допомагає включити значення атрибута HTML, розділене лапками, як у ````." + +msgid "" +"Convert all named and numeric character references (e.g. ``>``, ``>" +"``, ``>``) in the string *s* to the corresponding Unicode characters. " +"This function uses the rules defined by the HTML 5 standard for both valid " +"and invalid character references, and the :data:`list of HTML 5 named " +"character references `." +msgstr "" +"Перетворіть усі іменовані та цифрові посилання на символи (наприклад, ``>" +"``, ``>``, ``>``) у рядку *s* на відповідні символи Unicode. Ця " +"функція використовує правила, визначені стандартом HTML 5 для дійсних і " +"недійсних посилань на символи, а також :data:`список іменованих посилань на " +"символи HTML 5 `." + +msgid "Submodules in the ``html`` package are:" +msgstr "Підмодулі в пакеті ``html``:" + +msgid ":mod:`html.parser` -- HTML/XHTML parser with lenient parsing mode" +msgstr ":mod:`html.parser` -- аналізатор HTML/XHTML із м'яким режимом аналізу" + +msgid ":mod:`html.entities` -- HTML entity definitions" +msgstr ":mod:`html.entities` -- визначення сутностей HTML" diff --git a/library/html_entities.po b/library/html_entities.po new file mode 100644 index 000000000..3a9fc05a0 --- /dev/null +++ b/library/html_entities.po @@ -0,0 +1,75 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`html.entities` --- Definitions of HTML general entities" +msgstr ":mod:`html.entities` --- Визначення загальних сутностей HTML" + +msgid "**Source code:** :source:`Lib/html/entities.py`" +msgstr "**Вихідний код:** :source:`Lib/html/entities.py`" + +msgid "" +"This module defines four dictionaries, :data:`html5`, :data:" +"`name2codepoint`, :data:`codepoint2name`, and :data:`entitydefs`." +msgstr "" +"Цей модуль визначає чотири словники: :data:`html5`, :data:`name2codepoint`, :" +"data:`codepoint2name` і :data:`entitydefs`." + +msgid "" +"A dictionary that maps HTML5 named character references [#]_ to the " +"equivalent Unicode character(s), e.g. ``html5['gt;'] == '>'``. Note that the " +"trailing semicolon is included in the name (e.g. ``'gt;'``), however some of " +"the names are accepted by the standard even without the semicolon: in this " +"case the name is present with and without the ``';'``. See also :func:`html." +"unescape`." +msgstr "" +"Словник, який відображає іменовані символи HTML5, посилаються на [#]_ на " +"еквівалентні символи Unicode, наприклад. ``html5['gt;'] == '>'``. Зауважте, " +"що кінцева крапка з комою включена в назву (наприклад, ``'gt;''``), однак " +"деякі з імен прийнятні стандартом навіть без крапки з комою: у цьому випадку " +"назва присутня з і без нього. ``';'``. Дивіться також :func:`html.unescape`." + +msgid "" +"A dictionary mapping XHTML 1.0 entity definitions to their replacement text " +"in ISO Latin-1." +msgstr "" +"Словник, що зіставляє визначення сутностей XHTML 1.0 із текстом заміни в ISO " +"Latin-1." + +msgid "A dictionary that maps HTML entity names to the Unicode code points." +msgstr "" +"Словник, який зіставляє назви об’єктів HTML із кодовими точками Unicode." + +msgid "A dictionary that maps Unicode code points to HTML entity names." +msgstr "Словник, який відображає вказівки коду Unicode на імена об’єктів HTML." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"See https://html.spec.whatwg.org/multipage/named-characters.html#named-" +"character-references" +msgstr "" diff --git a/library/html_parser.po b/library/html_parser.po new file mode 100644 index 000000000..9786f37ea --- /dev/null +++ b/library/html_parser.po @@ -0,0 +1,358 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`html.parser` --- Simple HTML and XHTML parser" +msgstr ":mod:`html.parser` --- Простий аналізатор HTML та XHTML" + +msgid "**Source code:** :source:`Lib/html/parser.py`" +msgstr "**Вихідний код:** :source:`Lib/html/parser.py`" + +msgid "" +"This module defines a class :class:`HTMLParser` which serves as the basis " +"for parsing text files formatted in HTML (HyperText Mark-up Language) and " +"XHTML." +msgstr "" +"Цей модуль визначає клас :class:`HTMLParser`, який служить основою для " +"аналізу текстових файлів, відформатованих у HTML (HyperText Mark-up " +"Language) і XHTML." + +msgid "Create a parser instance able to parse invalid markup." +msgstr "Створіть екземпляр парсера, здатний аналізувати недійсну розмітку." + +msgid "" +"If *convert_charrefs* is ``True`` (the default), all character references " +"(except the ones in ``script``/``style`` elements) are automatically " +"converted to the corresponding Unicode characters." +msgstr "" +"Якщо *convert_charrefs* має значення ``True`` (за замовчуванням), усі " +"посилання на символи (крім тих, що містяться в елементах ``script``/" +"``style``) автоматично перетворюються на відповідні символи Unicode." + +msgid "" +"An :class:`.HTMLParser` instance is fed HTML data and calls handler methods " +"when start tags, end tags, text, comments, and other markup elements are " +"encountered. The user should subclass :class:`.HTMLParser` and override its " +"methods to implement the desired behavior." +msgstr "" +"Екземпляр :class:`.HTMLParser` отримує дані HTML і викликає методи обробки, " +"коли зустрічаються початкові теги, кінцеві теги, текст, коментарі та інші " +"елементи розмітки. Користувач повинен створити підклас :class:`.HTMLParser` " +"і перевизначити його методи для реалізації бажаної поведінки." + +msgid "" +"This parser does not check that end tags match start tags or call the end-" +"tag handler for elements which are closed implicitly by closing an outer " +"element." +msgstr "" +"Цей синтаксичний аналізатор не перевіряє відповідність кінцевих тегів " +"початковим тегам і не викликає обробник кінцевих тегів для елементів, які " +"закриваються неявно шляхом закриття зовнішнього елемента." + +msgid "*convert_charrefs* keyword argument added." +msgstr "Додано аргумент ключового слова *convert_charrefs*." + +msgid "The default value for argument *convert_charrefs* is now ``True``." +msgstr "" +"Значення за замовчуванням для аргументу *convert_charrefs* тепер ``True``." + +msgid "Example HTML Parser Application" +msgstr "Приклад програми аналізатора HTML" + +msgid "" +"As a basic example, below is a simple HTML parser that uses the :class:" +"`HTMLParser` class to print out start tags, end tags, and data as they are " +"encountered::" +msgstr "" +"Як базовий приклад, нижче наведено простий аналізатор HTML, який " +"використовує клас :class:`HTMLParser` для виведення початкових тегів, " +"кінцевих тегів і даних у міру їх зустрічі::" + +msgid "The output will then be:" +msgstr "Результат буде таким:" + +msgid ":class:`.HTMLParser` Methods" +msgstr ":class:`.HTMLParser` Методи" + +msgid ":class:`HTMLParser` instances have the following methods:" +msgstr "Екземпляри :class:`HTMLParser` мають такі методи:" + +msgid "" +"Feed some text to the parser. It is processed insofar as it consists of " +"complete elements; incomplete data is buffered until more data is fed or :" +"meth:`close` is called. *data* must be :class:`str`." +msgstr "" +"Подати текст до синтаксичного аналізатора. Він обробляється, оскільки " +"складається з повних елементів; неповні дані буферизуються, поки не буде " +"подано більше даних або не буде викликано :meth:`close`. *data* має бути :" +"class:`str`." + +msgid "" +"Force processing of all buffered data as if it were followed by an end-of-" +"file mark. This method may be redefined by a derived class to define " +"additional processing at the end of the input, but the redefined version " +"should always call the :class:`HTMLParser` base class method :meth:`close`." +msgstr "" +"Примусова обробка всіх буферизованих даних так, ніби за ними стоїть позначка " +"кінця файлу. Цей метод може бути перевизначений похідним класом, щоб " +"визначити додаткову обробку в кінці введення, але перевизначена версія " +"завжди повинна викликати метод базового класу :class:`HTMLParser` :meth:" +"`close`." + +msgid "" +"Reset the instance. Loses all unprocessed data. This is called implicitly " +"at instantiation time." +msgstr "" +"Скинути примірник. Втрачає всі необроблені дані. Це викликається неявно під " +"час створення екземпляра." + +msgid "Return current line number and offset." +msgstr "Повернути поточний номер рядка та зсув." + +msgid "" +"Return the text of the most recently opened start tag. This should not " +"normally be needed for structured processing, but may be useful in dealing " +"with HTML \"as deployed\" or for re-generating input with minimal changes " +"(whitespace between attributes can be preserved, etc.)." +msgstr "" +"Повертає текст останнього відкритого початкового тегу. Зазвичай це не " +"потрібно для структурованої обробки, але може бути корисним для роботи з " +"HTML \"у розгорнутому стані\" або для повторного створення вхідних даних із " +"мінімальними змінами (можна зберегти пробіли між атрибутами тощо)." + +msgid "" +"The following methods are called when data or markup elements are " +"encountered and they are meant to be overridden in a subclass. The base " +"class implementations do nothing (except for :meth:`~HTMLParser." +"handle_startendtag`):" +msgstr "" +"Наступні методи викликаються, коли зустрічаються дані або елементи розмітки, " +"і вони призначені для перевизначення в підкласі. Реалізації базового класу " +"нічого не роблять (крім :meth:`~HTMLParser.handle_startendtag`):" + +msgid "" +"This method is called to handle the start tag of an element (e.g. ``
``)." +msgstr "" +"Цей метод викликається для обробки початкового тегу елемента (наприклад, " +"``
``)." + +msgid "" +"The *tag* argument is the name of the tag converted to lower case. The " +"*attrs* argument is a list of ``(name, value)`` pairs containing the " +"attributes found inside the tag's ``<>`` brackets. The *name* will be " +"translated to lower case, and quotes in the *value* have been removed, and " +"character and entity references have been replaced." +msgstr "" +"Аргумент *тег* — це назва тегу, перетворена в нижній регістр. Аргумент " +"*attrs* — це список пар ``(ім’я, значення)``, що містить атрибути, що " +"містяться в дужках ``<>`` тегу. *Ім’я* буде перекладено на нижній регістр, а " +"лапки в *значенні* видалено, а посилання на символи та сутності замінено." + +msgid "" +"For instance, for the tag ````, this method " +"would be called as ``handle_starttag('a', [('href', 'https://www.cwi." +"nl/')])``." +msgstr "" +"Наприклад, для тегу ```` цей метод буде " +"називатися ``handle_starttag('a', [('href', 'https://www.cwi.nl/')])``." + +msgid "" +"All entity references from :mod:`html.entities` are replaced in the " +"attribute values." +msgstr "" +"Усі посилання на сутності з :mod:`html.entities` замінюються в значеннях " +"атрибутів." + +msgid "" +"This method is called to handle the end tag of an element (e.g. ``
``)." +msgstr "" +"Цей метод викликається для обробки кінцевого тегу елемента (наприклад, ````)." + +msgid "The *tag* argument is the name of the tag converted to lower case." +msgstr "Аргумент *тег* — це назва тегу, перетворена в нижній регістр." + +msgid "" +"Similar to :meth:`handle_starttag`, but called when the parser encounters an " +"XHTML-style empty tag (````). This method may be overridden by " +"subclasses which require this particular lexical information; the default " +"implementation simply calls :meth:`handle_starttag` and :meth:" +"`handle_endtag`." +msgstr "" +"Подібно до :meth:`handle_starttag`, але викликається, коли аналізатор " +"зустрічає порожній тег у стилі XHTML (````). Цей метод може бути " +"замінений підкласами, які потребують саме цієї лексичної інформації; " +"стандартна реалізація просто викликає :meth:`handle_starttag` і :meth:" +"`handle_endtag`." + +msgid "" +"This method is called to process arbitrary data (e.g. text nodes and the " +"content of ```` and ````)." +msgstr "" +"Цей метод викликається для обробки довільних даних (наприклад, текстових " +"вузлів і вмісту ```` і ````)." + +msgid "" +"This method is called to process a named character reference of the form " +"``&name;`` (e.g. ``>``), where *name* is a general entity reference (e.g. " +"``'gt'``). This method is never called if *convert_charrefs* is ``True``." +msgstr "" +"Цей метод викликається для обробки іменованого посилання на символ у формі " +"``&name;`` (наприклад, ``>``), де *name* є загальним посиланням на " +"сутність (наприклад ``'gt'``). Цей метод ніколи не викликається, якщо " +"*convert_charrefs* має значення ``True``." + +msgid "" +"This method is called to process decimal and hexadecimal numeric character " +"references of the form ``&#NNN;`` and ``&#xNNN;``. For example, the decimal " +"equivalent for ``>`` is ``>``, whereas the hexadecimal is ``>``; " +"in this case the method will receive ``'62'`` or ``'x3E'``. This method is " +"never called if *convert_charrefs* is ``True``." +msgstr "" +"Цей метод викликається для обробки посилань на десяткові та шістнадцяткові " +"числові символи у формі ``&#NNN;`` і ``&#xNNN;``. Наприклад, десятковим " +"еквівалентом для ``>`` є ``>``, тоді як шістнадцятковим є ``>``; " +"у цьому випадку метод отримає ``'62'`` або ``'x3E'``. Цей метод ніколи не " +"викликається, якщо *convert_charrefs* має значення ``True``." + +msgid "" +"This method is called when a comment is encountered (e.g. ````)." + +msgid "" +"For example, the comment ```` will cause this method to be " +"called with the argument ``' comment '``." +msgstr "" +"Наприклад, коментар ```` призведе до виклику цього методу з " +"аргументом ``' comment ''``." + +msgid "" +"The content of Internet Explorer conditional comments (condcoms) will also " +"be sent to this method, so, for ````, this method will receive ``'[if IE 9]>IE9-specific content IE9-специфічного вмісту `` цей метод отримає ``'[if IE 9]>IE9-специфічний вміст< ![endif]''``." + +msgid "" +"This method is called to handle an HTML doctype declaration (e.g. ````)." +msgstr "" +"Цей метод викликається для обробки декларації типу документа HTML " +"(наприклад, ````)." + +msgid "" +"The *decl* parameter will be the entire contents of the declaration inside " +"the ```` markup (e.g. ``'DOCTYPE html'``)." +msgstr "" +"Параметр *decl* буде повним вмістом оголошення всередині розмітки ```` " +"(наприклад, ``'DOCTYPE html'``)." + +msgid "" +"Method called when a processing instruction is encountered. The *data* " +"parameter will contain the entire processing instruction. For example, for " +"the processing instruction ````, this method would be " +"called as ``handle_pi(\"proc color='red'\")``. It is intended to be " +"overridden by a derived class; the base class implementation does nothing." +msgstr "" +"Метод викликається, коли зустрічається інструкція обробки. Параметр *data* " +"міститиме всю інструкцію обробки. Наприклад, для інструкції обробки ````, цей метод мав би викликатися як ``handle_pi(\"proc " +"color='red'\")``. Він призначений для перевизначення похідним класом; " +"реалізація базового класу нічого не робить." + +msgid "" +"The :class:`HTMLParser` class uses the SGML syntactic rules for processing " +"instructions. An XHTML processing instruction using the trailing ``'?'`` " +"will cause the ``'?'`` to be included in *data*." +msgstr "" +"Клас :class:`HTMLParser` використовує синтаксичні правила SGML для обробки " +"інструкцій. Інструкція з обробки XHTML із використанням кінцевого ``'?''`` " +"призведе до включення ``'?''`` до *даних*." + +msgid "" +"This method is called when an unrecognized declaration is read by the parser." +msgstr "Цей метод викликається, коли аналізатор читає нерозпізнану декларацію." + +msgid "" +"The *data* parameter will be the entire contents of the declaration inside " +"the ```` markup. It is sometimes useful to be overridden by a " +"derived class. The base class implementation does nothing." +msgstr "" +"Параметр *data* буде повним вмістом оголошення всередині розмітки ````. Іноді корисно бути перевизначеним похідним класом. Реалізація " +"базового класу нічого не робить." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"The following class implements a parser that will be used to illustrate more " +"examples::" +msgstr "" +"Наступний клас реалізує синтаксичний аналізатор, який використовуватиметься " +"для ілюстрації інших прикладів:" + +msgid "Parsing a doctype::" +msgstr "Розбір doctype::" + +msgid "Parsing an element with a few attributes and a title::" +msgstr "Розбір елемента з декількома атрибутами та заголовком::" + +msgid "" +"The content of ``script`` and ``style`` elements is returned as is, without " +"further parsing::" +msgstr "" +"Вміст елементів ``script`` і ``style`` повертається як є, без подальшого " +"аналізу::" + +msgid "Parsing comments::" +msgstr "Розбір коментарів::" + +msgid "" +"Parsing named and numeric character references and converting them to the " +"correct char (note: these 3 references are all equivalent to ``'>'``)::" +msgstr "" +"Розбір іменованих і числових посилань на символи та їх перетворення на " +"правильний char (примітка: всі ці 3 посилання еквівалентні ``'>'``)::" + +msgid "" +"Feeding incomplete chunks to :meth:`~HTMLParser.feed` works, but :meth:" +"`~HTMLParser.handle_data` might be called more than once (unless " +"*convert_charrefs* is set to ``True``)::" +msgstr "" +"Передача неповних фрагментів до :meth:`~HTMLParser.feed` працює, але :meth:" +"`~HTMLParser.handle_data` може викликатися кілька разів (якщо " +"*convert_charrefs* не має значення ``True``)::" + +msgid "Parsing invalid HTML (e.g. unquoted attributes) also works::" +msgstr "Розбір недійсного HTML (наприклад, атрибутів без лапок) також працює:" diff --git a/library/http.po b/library/http.po new file mode 100644 index 000000000..48c045af0 --- /dev/null +++ b/library/http.po @@ -0,0 +1,747 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`http` --- HTTP modules" +msgstr ":mod:`http` --- модулі HTTP" + +msgid "**Source code:** :source:`Lib/http/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/http/__init__.py`" + +msgid "" +":mod:`http` is a package that collects several modules for working with the " +"HyperText Transfer Protocol:" +msgstr "" +":mod:`http` — пакет, який збирає кілька модулів для роботи з протоколом " +"передачі гіпертексту:" + +msgid "" +":mod:`http.client` is a low-level HTTP protocol client; for high-level URL " +"opening use :mod:`urllib.request`" +msgstr "" +":mod:`http.client` є низькорівневим клієнтом протоколу HTTP; для відкриття " +"URL високого рівня використовуйте :mod:`urllib.request`" + +msgid "" +":mod:`http.server` contains basic HTTP server classes based on :mod:" +"`socketserver`" +msgstr "" +":mod:`http.server` містить основні класи HTTP-серверів на основі :mod:" +"`socketserver`" + +msgid "" +":mod:`http.cookies` has utilities for implementing state management with " +"cookies" +msgstr "" +":mod:`http.cookies` має утиліти для здійснення управління станом за " +"допомогою файлів cookie" + +msgid ":mod:`http.cookiejar` provides persistence of cookies" +msgstr ":mod:`http.cookiejar` забезпечує збереження файлів cookie" + +msgid "" +"The :mod:`http` module also defines the following enums that help you work " +"with http related code:" +msgstr "" + +msgid "" +"A subclass of :class:`enum.IntEnum` that defines a set of HTTP status codes, " +"reason phrases and long descriptions written in English." +msgstr "" +"Підклас :class:`enum.IntEnum`, який визначає набір кодів стану HTTP, фраз " +"причин і довгих описів, написаних англійською мовою." + +msgid "Usage::" +msgstr "Використання::" + +msgid "HTTP status codes" +msgstr "Коди стану HTTP" + +msgid "" +"Supported, `IANA-registered status codes `_ available in :class:`http." +"HTTPStatus` are:" +msgstr "" + +msgid "Code" +msgstr "Код" + +msgid "Enum Name" +msgstr "Назва переліку" + +msgid "Details" +msgstr "Подробиці" + +msgid "``100``" +msgstr "``100``" + +msgid "``CONTINUE``" +msgstr "`` ПРОДОВЖИТИ``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.2.1" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.2.1" + +msgid "``101``" +msgstr "``101``" + +msgid "``SWITCHING_PROTOCOLS``" +msgstr "``SWITCHING_PROTOCOLS``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.2.2" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.2.2" + +msgid "``102``" +msgstr "``102``" + +msgid "``PROCESSING``" +msgstr "``ОБРОБКА``" + +msgid "WebDAV :rfc:`2518`, Section 10.1" +msgstr "WebDAV :rfc:`2518`, Розділ 10.1" + +msgid "``103``" +msgstr "``103``" + +msgid "``EARLY_HINTS``" +msgstr "``EARLY_HINTS``" + +msgid "An HTTP Status Code for Indicating Hints :rfc:`8297`" +msgstr "Код статусу HTTP для вказівки підказок :rfc:`8297`" + +msgid "``200``" +msgstr "``200``" + +msgid "``OK``" +msgstr "``ОК``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.1" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.3.1" + +msgid "``201``" +msgstr "``201``" + +msgid "``CREATED``" +msgstr "``СТВОРЕНО``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.2" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.3.2" + +msgid "``202``" +msgstr "``202``" + +msgid "``ACCEPTED``" +msgstr "`` ПРИЙНЯТО``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.3" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.3.3" + +msgid "``203``" +msgstr "``203``" + +msgid "``NON_AUTHORITATIVE_INFORMATION``" +msgstr "``НЕ_АВТОРИТАТИВНА_ІНФОРМАЦІЯ``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.4" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.3.4" + +msgid "``204``" +msgstr "``204``" + +msgid "``NO_CONTENT``" +msgstr "``БЕЗ_ВМІСТУ``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.5" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.3.5" + +msgid "``205``" +msgstr "``205``" + +msgid "``RESET_CONTENT``" +msgstr "``RESET_CONTENT``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.3.6" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.3.6" + +msgid "``206``" +msgstr "``206``" + +msgid "``PARTIAL_CONTENT``" +msgstr "``PARTIAL_CONTENT``" + +msgid "HTTP/1.1 :rfc:`7233`, Section 4.1" +msgstr "HTTP/1.1 :rfc:`7233`, Розділ 4.1" + +msgid "``207``" +msgstr "``207``" + +msgid "``MULTI_STATUS``" +msgstr "``МУЛЬТИ_СТАТУС``" + +msgid "WebDAV :rfc:`4918`, Section 11.1" +msgstr "WebDAV :rfc:`4918`, Розділ 11.1" + +msgid "``208``" +msgstr "``208``" + +msgid "``ALREADY_REPORTED``" +msgstr "``ВЖЕ_ПОВІДОМЛЕНО``" + +msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.1 (Experimental)" +msgstr "" +"Розширення зв’язування WebDAV :rfc:`5842`, розділ 7.1 (експериментальний)" + +msgid "``226``" +msgstr "``226``" + +msgid "``IM_USED``" +msgstr "``IM_USED``" + +msgid "Delta Encoding in HTTP :rfc:`3229`, Section 10.4.1" +msgstr "Дельта-кодування в HTTP :rfc:`3229`, Розділ 10.4.1" + +msgid "``300``" +msgstr "``300``" + +msgid "``MULTIPLE_CHOICES``" +msgstr "``MULTIPLE_CHOICES``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.1" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.4.1" + +msgid "``301``" +msgstr "``301``" + +msgid "``MOVED_PERMANENTLY``" +msgstr "``ПЕРЕМІЩЕНО_ПОСТІЙНО``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.2" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.4.2" + +msgid "``302``" +msgstr "``302``" + +msgid "``FOUND``" +msgstr "``ЗНАЙДЕНО``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.3" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.4.3" + +msgid "``303``" +msgstr "``303``" + +msgid "``SEE_OTHER``" +msgstr "``SEE_OTHER``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.4" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.4.4" + +msgid "``304``" +msgstr "``304``" + +msgid "``NOT_MODIFIED``" +msgstr "``NOT_MODIFIED``" + +msgid "HTTP/1.1 :rfc:`7232`, Section 4.1" +msgstr "HTTP/1.1 :rfc:`7232`, Розділ 4.1" + +msgid "``305``" +msgstr "``305``" + +msgid "``USE_PROXY``" +msgstr "``USE_PROXY``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.5" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.4.5" + +msgid "``307``" +msgstr "``307``" + +msgid "``TEMPORARY_REDIRECT``" +msgstr "``TEMPORARY_REDIRECT``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.4.7" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.4.7" + +msgid "``308``" +msgstr "``308``" + +msgid "``PERMANENT_REDIRECT``" +msgstr "``ПОСТІЙНЕ_ПЕРЕСПРАВЛЕННЯ``" + +msgid "Permanent Redirect :rfc:`7238`, Section 3 (Experimental)" +msgstr "Постійне перенаправлення :rfc:`7238`, розділ 3 (експериментальний)" + +msgid "``400``" +msgstr "``400``" + +msgid "``BAD_REQUEST``" +msgstr "``BAD_REQUEST``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.1" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.1" + +msgid "``401``" +msgstr "``401``" + +msgid "``UNAUTHORIZED``" +msgstr "``НЕАВТОРИЗОВАНО``" + +msgid "HTTP/1.1 Authentication :rfc:`7235`, Section 3.1" +msgstr "Автентифікація HTTP/1.1 :rfc:`7235`, Розділ 3.1" + +msgid "``402``" +msgstr "``402``" + +msgid "``PAYMENT_REQUIRED``" +msgstr "``PAYMENT_REQUIRED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.2" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.2" + +msgid "``403``" +msgstr "``403``" + +msgid "``FORBIDDEN``" +msgstr "``ЗАБОРОНЕНО``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.3" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.3" + +msgid "``404``" +msgstr "``404``" + +msgid "``NOT_FOUND``" +msgstr "``НЕ_ЗНАЙДЕНО``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.4" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.4" + +msgid "``405``" +msgstr "``405``" + +msgid "``METHOD_NOT_ALLOWED``" +msgstr "``METHOD_NOT_ALLOWED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.5" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.5" + +msgid "``406``" +msgstr "``406``" + +msgid "``NOT_ACCEPTABLE``" +msgstr "``NOT_ACCEPTABLE``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.6" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.6" + +msgid "``407``" +msgstr "``407``" + +msgid "``PROXY_AUTHENTICATION_REQUIRED``" +msgstr "``PROXY_AUTHENTICATION_REQUIRED``" + +msgid "HTTP/1.1 Authentication :rfc:`7235`, Section 3.2" +msgstr "Автентифікація HTTP/1.1 :rfc:`7235`, Розділ 3.2" + +msgid "``408``" +msgstr "``408``" + +msgid "``REQUEST_TIMEOUT``" +msgstr "``REQUEST_TIMEOUT``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.7" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.7" + +msgid "``409``" +msgstr "``409``" + +msgid "``CONFLICT``" +msgstr "``КОНФЛІКТ``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.8" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.8" + +msgid "``410``" +msgstr "``410``" + +msgid "``GONE``" +msgstr "``ПІШЕЛ``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.9" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.9" + +msgid "``411``" +msgstr "``411``" + +msgid "``LENGTH_REQUIRED``" +msgstr "``LENGTH_REQUIRED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.10" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.10" + +msgid "``412``" +msgstr "``412``" + +msgid "``PRECONDITION_FAILED``" +msgstr "``PRECONDITION_FAILED``" + +msgid "HTTP/1.1 :rfc:`7232`, Section 4.2" +msgstr "HTTP/1.1 :rfc:`7232`, Розділ 4.2" + +msgid "``413``" +msgstr "``413``" + +msgid "``REQUEST_ENTITY_TOO_LARGE``" +msgstr "``REQUEST_ENTITY_TOO_LARGE``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.11" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.11" + +msgid "``414``" +msgstr "``414``" + +msgid "``REQUEST_URI_TOO_LONG``" +msgstr "``REQUEST_URI_TOO_LONG``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.12" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.12" + +msgid "``415``" +msgstr "``415``" + +msgid "``UNSUPPORTED_MEDIA_TYPE``" +msgstr "``UNSUPPORTED_MEDIA_TYPE``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.13" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.13" + +msgid "``416``" +msgstr "``416``" + +msgid "``REQUESTED_RANGE_NOT_SATISFIABLE``" +msgstr "``REQUESTED_RANGE_NOT_SATISFIABLE``" + +msgid "HTTP/1.1 Range Requests :rfc:`7233`, Section 4.4" +msgstr "Запити діапазону HTTP/1.1 :rfc:`7233`, Розділ 4.4" + +msgid "``417``" +msgstr "``417``" + +msgid "``EXPECTATION_FAILED``" +msgstr "``EXPECTATION_FAILED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.14" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.14" + +msgid "``418``" +msgstr "``418``" + +msgid "``IM_A_TEAPOT``" +msgstr "``Я_ЧАЙНИК``" + +msgid "HTCPCP/1.0 :rfc:`2324`, Section 2.3.2" +msgstr "HTTPS/1.0 :rfc:`2324`, Розділ 2.3.2" + +msgid "``421``" +msgstr "``421``" + +msgid "``MISDIRECTED_REQUEST``" +msgstr "``MISDIRECTED_REQUEST``" + +msgid "HTTP/2 :rfc:`7540`, Section 9.1.2" +msgstr "HTTP/2 :rfc:`7540`, Розділ 9.1.2" + +msgid "``422``" +msgstr "``422``" + +msgid "``UNPROCESSABLE_ENTITY``" +msgstr "``UNPROCESSABLE_ENTITY``" + +msgid "WebDAV :rfc:`4918`, Section 11.2" +msgstr "WebDAV :rfc:`4918`, Розділ 11.2" + +msgid "``423``" +msgstr "``423``" + +msgid "``LOCKED``" +msgstr "``ЗАБЛОКУВАНО``" + +msgid "WebDAV :rfc:`4918`, Section 11.3" +msgstr "WebDAV :rfc:`4918`, Розділ 11.3" + +msgid "``424``" +msgstr "``424``" + +msgid "``FAILED_DEPENDENCY``" +msgstr "``FAILED_DEPENDENCY``" + +msgid "WebDAV :rfc:`4918`, Section 11.4" +msgstr "WebDAV :rfc:`4918`, Розділ 11.4" + +msgid "``425``" +msgstr "``425``" + +msgid "``TOO_EARLY``" +msgstr "``НАДАНТО_РАНО``" + +msgid "Using Early Data in HTTP :rfc:`8470`" +msgstr "Використання ранніх даних у HTTP :rfc:`8470`" + +msgid "``426``" +msgstr "``426``" + +msgid "``UPGRADE_REQUIRED``" +msgstr "``UPGRADE_REQUIRED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.5.15" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.5.15" + +msgid "``428``" +msgstr "``428``" + +msgid "``PRECONDITION_REQUIRED``" +msgstr "``PRECONDITION_REQUIRED``" + +msgid "Additional HTTP Status Codes :rfc:`6585`" +msgstr "Додаткові коди стану HTTP :rfc:`6585`" + +msgid "``429``" +msgstr "``429``" + +msgid "``TOO_MANY_REQUESTS``" +msgstr "``TOO_MANY_REQUESTS``" + +msgid "``431``" +msgstr "``431``" + +msgid "``REQUEST_HEADER_FIELDS_TOO_LARGE``" +msgstr "``REQUEST_HEADER_FIELDS_TOO_LARGE``" + +msgid "``451``" +msgstr "``451``" + +msgid "``UNAVAILABLE_FOR_LEGAL_REASONS``" +msgstr "``НЕДОСТУПНИЙ_З_ЮРИДИЧНИХ_ПРИЧИН``" + +msgid "An HTTP Status Code to Report Legal Obstacles :rfc:`7725`" +msgstr "Код статусу HTTP для повідомлення про юридичні перешкоди :rfc:`7725`" + +msgid "``500``" +msgstr "``500``" + +msgid "``INTERNAL_SERVER_ERROR``" +msgstr "``INTERNAL_SERVER_ERROR``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.1" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.6.1" + +msgid "``501``" +msgstr "``501``" + +msgid "``NOT_IMPLEMENTED``" +msgstr "``NOT_IMPLEMENTED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.2" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.6.2" + +msgid "``502``" +msgstr "``502``" + +msgid "``BAD_GATEWAY``" +msgstr "``BAD_GATEWAY``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.3" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.6.3" + +msgid "``503``" +msgstr "``503``" + +msgid "``SERVICE_UNAVAILABLE``" +msgstr "``СЛУЖБА_НЕДОСТУПНА``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.4" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.6.4" + +msgid "``504``" +msgstr "``504``" + +msgid "``GATEWAY_TIMEOUT``" +msgstr "``GATEWAY_TIMEOUT``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.5" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.6.5" + +msgid "``505``" +msgstr "``505``" + +msgid "``HTTP_VERSION_NOT_SUPPORTED``" +msgstr "``HTTP_VERSION_NOT_SUPPORTED``" + +msgid "HTTP/1.1 :rfc:`7231`, Section 6.6.6" +msgstr "HTTP/1.1 :rfc:`7231`, Розділ 6.6.6" + +msgid "``506``" +msgstr "``506``" + +msgid "``VARIANT_ALSO_NEGOTIATES``" +msgstr "``VARIANT_ALSO_NEGOTIATES``" + +msgid "" +"Transparent Content Negotiation in HTTP :rfc:`2295`, Section 8.1 " +"(Experimental)" +msgstr "" +"Узгодження прозорого вмісту в HTTP :rfc:`2295`, розділ 8.1 " +"(експериментальний)" + +msgid "``507``" +msgstr "``507``" + +msgid "``INSUFFICIENT_STORAGE``" +msgstr "``INSUFFICIENT_STORAGE``" + +msgid "WebDAV :rfc:`4918`, Section 11.5" +msgstr "WebDAV :rfc:`4918`, Розділ 11.5" + +msgid "``508``" +msgstr "``508``" + +msgid "``LOOP_DETECTED``" +msgstr "``LOOP_DETECTED``" + +msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.2 (Experimental)" +msgstr "" +"Розширення прив’язки WebDAV :rfc:`5842`, розділ 7.2 (експериментальний)" + +msgid "``510``" +msgstr "``510``" + +msgid "``NOT_EXTENDED``" +msgstr "``NOT_EXTENDED``" + +msgid "An HTTP Extension Framework :rfc:`2774`, Section 7 (Experimental)" +msgstr "Фреймворк розширення HTTP :rfc:`2774`, Розділ 7 (Експериментальний)" + +msgid "``511``" +msgstr "``511``" + +msgid "``NETWORK_AUTHENTICATION_REQUIRED``" +msgstr "``NETWORK_AUTHENTICATION_REQUIRED``" + +msgid "Additional HTTP Status Codes :rfc:`6585`, Section 6" +msgstr "Додаткові коди стану HTTP :rfc:`6585`, Розділ 6" + +msgid "" +"In order to preserve backwards compatibility, enum values are also present " +"in the :mod:`http.client` module in the form of constants. The enum name is " +"equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as " +"``http.client.OK``)." +msgstr "" +"Щоб зберегти зворотну сумісність, значення enum також присутні в модулі :mod:" +"`http.client` у формі констант. Назва переліку дорівнює імені константи " +"(тобто ``http.HTTPStatus.OK`` також доступний як ``http.client.OK``)." + +msgid "Added ``421 MISDIRECTED_REQUEST`` status code." +msgstr "Додано код статусу ``421 MISDIRECTED_REQUEST``." + +msgid "Added ``451 UNAVAILABLE_FOR_LEGAL_REASONS`` status code." +msgstr "Додано код статусу ``451 UNAVAILABLE_FOR_LEGAL_REASONS``." + +msgid "" +"Added ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 TOO_EARLY`` status " +"codes." +msgstr "" +"Додано коди статусу ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` і ``425 " +"TOO_EARLY``." + +msgid "" +"A subclass of :class:`enum.StrEnum` that defines a set of HTTP methods and " +"descriptions written in English." +msgstr "" + +msgid "HTTP methods" +msgstr "" + +msgid "" +"Supported, `IANA-registered methods `_ available in :class:`http.HTTPMethod` are:" +msgstr "" + +msgid "Method" +msgstr "метод" + +msgid "``GET``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.1" +msgstr "" + +msgid "``HEAD``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.2" +msgstr "" + +msgid "``POST``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.3" +msgstr "" + +msgid "``PUT``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.4" +msgstr "" + +msgid "``DELETE``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.5" +msgstr "" + +msgid "``CONNECT``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.6" +msgstr "" + +msgid "``OPTIONS``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.7" +msgstr "" + +msgid "``TRACE``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.8" +msgstr "" + +msgid "``PATCH``" +msgstr "" + +msgid "HTTP/1.1 :rfc:`5789`" +msgstr "" diff --git a/library/http_client.po b/library/http_client.po new file mode 100644 index 000000000..8b8420b2a --- /dev/null +++ b/library/http_client.po @@ -0,0 +1,708 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`http.client` --- HTTP protocol client" +msgstr ":mod:`http.client` --- клієнт протоколу HTTP" + +msgid "**Source code:** :source:`Lib/http/client.py`" +msgstr "**Вихідний код:** :source:`Lib/http/client.py`" + +msgid "" +"This module defines classes that implement the client side of the HTTP and " +"HTTPS protocols. It is normally not used directly --- the module :mod:" +"`urllib.request` uses it to handle URLs that use HTTP and HTTPS." +msgstr "" + +msgid "" +"The `Requests package `_ is " +"recommended for a higher-level HTTP client interface." +msgstr "" +"`Пакет запитів `_ рекомендовано " +"для клієнтського інтерфейсу HTTP вищого рівня." + +msgid "" +"HTTPS support is only available if Python was compiled with SSL support " +"(through the :mod:`ssl` module)." +msgstr "" +"Підтримка HTTPS доступна, лише якщо Python було скомпільовано з підтримкою " +"SSL (через модуль :mod:`ssl`)." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The module provides the following classes:" +msgstr "Модуль надає такі класи:" + +msgid "" +"An :class:`HTTPConnection` instance represents one transaction with an HTTP " +"server. It should be instantiated by passing it a host and optional port " +"number. If no port number is passed, the port is extracted from the host " +"string if it has the form ``host:port``, else the default HTTP port (80) is " +"used. If the optional *timeout* parameter is given, blocking operations " +"(like connection attempts) will timeout after that many seconds (if it is " +"not given, the global default timeout setting is used). The optional " +"*source_address* parameter may be a tuple of a (host, port) to use as the " +"source address the HTTP connection is made from. The optional *blocksize* " +"parameter sets the buffer size in bytes for sending a file-like message body." +msgstr "" + +msgid "" +"For example, the following calls all create instances that connect to the " +"server at the same host and port::" +msgstr "" +"Наприклад, усі наведені нижче виклики створюють екземпляри, які " +"підключаються до сервера на одному хості та порту:" + +msgid "*source_address* was added." +msgstr "*вихідна_адреса* була додана." + +msgid "" +"The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are " +"no longer supported." +msgstr "" + +msgid "*blocksize* parameter was added." +msgstr "Додано параметр *blocksize*." + +msgid "" +"A subclass of :class:`HTTPConnection` that uses SSL for communication with " +"secure servers. Default port is ``443``. If *context* is specified, it " +"must be a :class:`ssl.SSLContext` instance describing the various SSL " +"options." +msgstr "" +"Підклас :class:`HTTPConnection`, який використовує SSL для зв’язку із " +"захищеними серверами. Стандартний порт ``443``. Якщо вказано *контекст*, це " +"має бути екземпляр :class:`ssl.SSLContext`, який описує різні параметри SSL." + +msgid "Please read :ref:`ssl-security` for more information on best practices." +msgstr "" +"Будь ласка, прочитайте :ref:`ssl-security`, щоб дізнатися більше про " +"найкращі практики." + +msgid "*source_address*, *context* and *check_hostname* were added." +msgstr "Додано *source_address*, *context* і *check_hostname*." + +msgid "" +"This class now supports HTTPS virtual hosts if possible (that is, if :data:" +"`ssl.HAS_SNI` is true)." +msgstr "" +"Цей клас тепер підтримує віртуальні хости HTTPS, якщо це можливо (тобто, " +"якщо :data:`ssl.HAS_SNI` має значення true)." + +msgid "" +"The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are " +"no longer supported." +msgstr "" +"Параметр *strict* видалено. \"Прості відповіді\" у стилі HTTP 0.9 більше не " +"підтримуються." + +msgid "" +"This class now performs all the necessary certificate and hostname checks by " +"default. To revert to the previous, unverified, behavior :func:`ssl." +"_create_unverified_context` can be passed to the *context* parameter." +msgstr "" +"Тепер цей клас за замовчуванням виконує всі необхідні перевірки сертифікатів " +"і імен хостів. Щоб повернутися до попередньої, неперевіреної поведінки, :" +"func:`ssl._create_unverified_context` можна передати в параметр *context*." + +msgid "" +"This class now enables TLS 1.3 :attr:`ssl.SSLContext.post_handshake_auth` " +"for the default *context* or when *cert_file* is passed with a custom " +"*context*." +msgstr "" +"Цей клас тепер увімкне TLS 1.3 :attr:`ssl.SSLContext.post_handshake_auth` " +"для *контексту* за замовчуванням або коли *cert_file* передається з " +"настроюваним *контекстом*." + +msgid "" +"This class now sends an ALPN extension with protocol indicator ``http/1.1`` " +"when no *context* is given. Custom *context* should set ALPN protocols with :" +"meth:`~ssl.SSLContext.set_alpn_protocol`." +msgstr "" +"Цей клас тепер надсилає розширення ALPN з індикатором протоколу " +"``http/1.1``, якщо не задано *контексту*. Спеціальний *контекст* має " +"встановлювати протоколи ALPN за допомогою :meth:`~ssl.SSSLContext." +"set_alpn_protocol`." + +msgid "" +"*key_file* and *cert_file* are deprecated in favor of *context*. Please use :" +"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." +"create_default_context` select the system's trusted CA certificates for you." +msgstr "" +"*key_file* і *cert_file* застаріли на користь *context*. Натомість " +"використовуйте :meth:`ssl.SSLContext.load_cert_chain` або дозвольте :func:" +"`ssl.create_default_context` вибрати для вас надійні сертифікати ЦС системи." + +msgid "" +"The *check_hostname* parameter is also deprecated; the :attr:`ssl.SSLContext." +"check_hostname` attribute of *context* should be used instead." +msgstr "" +"Параметр *check_hostname* також застарів; замість нього слід використовувати " +"атрибут :attr:`ssl.SSLContext.check_hostname` *context*." + +msgid "" +"Class whose instances are returned upon successful connection. Not " +"instantiated directly by user." +msgstr "" +"Клас, екземпляри якого повертаються після успішного підключення. Не " +"створюється безпосередньо користувачем." + +msgid "" +"The *strict* parameter was removed. HTTP 0.9 style \"Simple Responses\" are " +"no longer supported." +msgstr "" +"Параметр *strict* видалено. Стиль HTTP 0.9 \"Прості відповіді\" більше не " +"підтримується." + +msgid "This module provides the following function:" +msgstr "Цей модуль забезпечує наступні функції:" + +msgid "" +"Parse the headers from a file pointer *fp* representing a HTTP request/" +"response. The file has to be a :class:`BufferedIOBase` reader (i.e. not " +"text) and must provide a valid :rfc:`2822` style header." +msgstr "" +"Проаналізуйте заголовки з покажчика файлу *fp*, що представляє запит/" +"відповідь HTTP. Файл має бути :class:`BufferedIOBase` читачем (тобто не " +"текстовим) і має містити дійсний заголовок стилю :rfc:`2822`." + +msgid "" +"This function returns an instance of :class:`http.client.HTTPMessage` that " +"holds the header fields, but no payload (the same as :attr:`HTTPResponse." +"msg` and :attr:`http.server.BaseHTTPRequestHandler.headers`). After " +"returning, the file pointer *fp* is ready to read the HTTP body." +msgstr "" +"Ця функція повертає екземпляр :class:`http.client.HTTPMessage`, який містить " +"поля заголовка, але не містить корисного навантаження (те саме, що :attr:" +"`HTTPResponse.msg` і :attr:`http.server.BaseHTTPRequestHandler.headers` ). " +"Після повернення покажчик файлу *fp* готовий читати тіло HTTP." + +msgid "" +":meth:`parse_headers` does not parse the start-line of a HTTP message; it " +"only parses the ``Name: value`` lines. The file has to be ready to read " +"these field lines, so the first line should already be consumed before " +"calling the function." +msgstr "" +":meth:`parse_headers` не аналізує початковий рядок HTTP-повідомлення; він " +"аналізує лише рядки ``Назва: значення``. Файл має бути готовий до читання " +"цих рядків полів, тому перший рядок уже має бути використано перед викликом " +"функції." + +msgid "The following exceptions are raised as appropriate:" +msgstr "Наступні винятки підняті відповідно до:" + +msgid "" +"The base class of the other exceptions in this module. It is a subclass of :" +"exc:`Exception`." +msgstr "" +"Базовий клас інших винятків у цьому модулі. Це підклас :exc:`Exception`." + +msgid "A subclass of :exc:`HTTPException`." +msgstr "Підклас :exc:`HTTPException`." + +msgid "" +"A subclass of :exc:`HTTPException`, raised if a port is given and is either " +"non-numeric or empty." +msgstr "" +"Підклас :exc:`HTTPException`, викликаний, якщо задано порт, який є " +"нечисловим або порожнім." + +msgid "A subclass of :exc:`ImproperConnectionState`." +msgstr "Підклас :exc:`ImproperConnectionState`." + +msgid "" +"A subclass of :exc:`HTTPException`. Raised if a server responds with a HTTP " +"status code that we don't understand." +msgstr "" +"Підклас :exc:`HTTPException`. Викликається, якщо сервер відповідає кодом " +"статусу HTTP, який ми не розуміємо." + +msgid "" +"A subclass of :exc:`HTTPException`. Raised if an excessively long line is " +"received in the HTTP protocol from the server." +msgstr "" +"Підклас :exc:`HTTPException`. Викликається, якщо в протоколі HTTP від " +"сервера отримано надто довгий рядок." + +msgid "" +"A subclass of :exc:`ConnectionResetError` and :exc:`BadStatusLine`. Raised " +"by :meth:`HTTPConnection.getresponse` when the attempt to read the response " +"results in no data read from the connection, indicating that the remote end " +"has closed the connection." +msgstr "" +"Підклас :exc:`ConnectionResetError` і :exc:`BadStatusLine`. Викликається :" +"meth:`HTTPConnection.getresponse`, коли спроба прочитати відповідь не " +"призводить до зчитування даних із з’єднання, що вказує на те, що віддалена " +"сторона закрила з’єднання." + +msgid "Previously, :exc:`BadStatusLine`\\ ``('')`` was raised." +msgstr "Раніше було піднято :exc:`BadStatusLine`\\ ``('')``." + +msgid "The constants defined in this module are:" +msgstr "Константи, визначені в цьому модулі:" + +msgid "The default port for the HTTP protocol (always ``80``)." +msgstr "Порт за замовчуванням для протоколу HTTP (завжди ``80``)." + +msgid "The default port for the HTTPS protocol (always ``443``)." +msgstr "Порт за замовчуванням для протоколу HTTPS (завжди ``443``)." + +msgid "This dictionary maps the HTTP 1.1 status codes to the W3C names." +msgstr "Цей словник відображає коди статусу HTTP 1.1 на імена W3C." + +msgid "" +"Example: ``http.client.responses[http.client.NOT_FOUND]`` is ``'Not Found'``." +msgstr "" +"Приклад: ``http.client.responses[http.client.NOT_FOUND]`` означає ``'Не " +"знайдено'``." + +msgid "" +"See :ref:`http-status-codes` for a list of HTTP status codes that are " +"available in this module as constants." +msgstr "" +"Перегляньте :ref:`http-status-codes` список кодів стану HTTP, які доступні в " +"цьому модулі як константи." + +msgid "HTTPConnection Objects" +msgstr "Об'єкти HTTPConnection" + +msgid ":class:`HTTPConnection` instances have the following methods:" +msgstr "Екземпляри :class:`HTTPConnection` мають такі методи:" + +msgid "" +"This will send a request to the server using the HTTP request method " +"*method* and the selector *url*." +msgstr "" +"Це надішле запит на сервер за допомогою методу запиту HTTP *method* і " +"селектора *url*." + +msgid "" +"If *body* is specified, the specified data is sent after the headers are " +"finished. It may be a :class:`str`, a :term:`bytes-like object`, an open :" +"term:`file object`, or an iterable of :class:`bytes`. If *body* is a " +"string, it is encoded as ISO-8859-1, the default for HTTP. If it is a bytes-" +"like object, the bytes are sent as is. If it is a :term:`file object`, the " +"contents of the file is sent; this file object should support at least the " +"``read()`` method. If the file object is an instance of :class:`io." +"TextIOBase`, the data returned by the ``read()`` method will be encoded as " +"ISO-8859-1, otherwise the data returned by ``read()`` is sent as is. If " +"*body* is an iterable, the elements of the iterable are sent as is until the " +"iterable is exhausted." +msgstr "" +"Якщо вказано *body*, зазначені дані надсилаються після завершення " +"заголовків. Це може бути :class:`str`, :term:`bytes-like object`, відкритий :" +"term:`file object` або ітерація :class:`bytes`. Якщо *body* є рядком, він " +"кодується як ISO-8859-1, стандартний для HTTP. Якщо це байтоподібний об’єкт, " +"байти надсилаються як є. Якщо це :term:`file object`, вміст файлу " +"надсилається; цей файловий об’єкт має підтримувати принаймні метод " +"``read()``. Якщо об’єкт файлу є екземпляром :class:`io.TextIOBase`, дані, " +"повернуті методом ``read()``, будуть закодовані як ISO-8859-1, інакше дані, " +"повернуті ``read()`` надсилається як є. Якщо *body* є iterable, елементи " +"iterable надсилаються як є, доки iterable не буде вичерпано." + +msgid "" +"The *headers* argument should be a mapping of extra HTTP headers to send " +"with the request." +msgstr "" +"Аргумент *headers* має бути відображенням додаткових HTTP-заголовків, які " +"надсилаються із запитом." + +msgid "" +"If *headers* contains neither Content-Length nor Transfer-Encoding, but " +"there is a request body, one of those header fields will be added " +"automatically. If *body* is ``None``, the Content-Length header is set to " +"``0`` for methods that expect a body (``PUT``, ``POST``, and ``PATCH``). If " +"*body* is a string or a bytes-like object that is not also a :term:`file " +"`, the Content-Length header is set to its length. Any other " +"type of *body* (files and iterables in general) will be chunk-encoded, and " +"the Transfer-Encoding header will automatically be set instead of Content-" +"Length." +msgstr "" +"Якщо *headers* не містить ані Content-Length, ані Transfer-Encoding, але є " +"тіло запиту, одне з цих полів заголовка буде додано автоматично. Якщо *body* " +"має значення ``None``, заголовок Content-Length встановлюється на ``0`` для " +"методів, які очікують тіла (``PUT``, ``POST`` і ``PATCH``). . Якщо *body* є " +"рядком або байтоподібним об’єктом, який також не є :term:`файлом `, заголовок Content-Length встановлюється на його довжину. Будь-який " +"інший тип *body* (файли та ітерації загалом) буде закодовано фрагментами, а " +"заголовок Transfer-Encoding буде автоматично встановлено замість Content-" +"Length." + +msgid "" +"The *encode_chunked* argument is only relevant if Transfer-Encoding is " +"specified in *headers*. If *encode_chunked* is ``False``, the " +"HTTPConnection object assumes that all encoding is handled by the calling " +"code. If it is ``True``, the body will be chunk-encoded." +msgstr "" +"Аргумент *encode_chunked* доречний, лише якщо Transfer-Encoding указано в " +"*headers*. Якщо *encode_chunked* має значення ``False``, об’єкт " +"HTTPConnection припускає, що все кодування обробляється кодом виклику. Якщо " +"значення ``True``, тіло буде закодовано фрагментами." + +msgid "" +"Chunked transfer encoding has been added to the HTTP protocol version 1.1. " +"Unless the HTTP server is known to handle HTTP 1.1, the caller must either " +"specify the Content-Length, or must pass a :class:`str` or bytes-like object " +"that is not also a file as the body representation." +msgstr "" +"До протоколу HTTP версії 1.1 додано кодування передачі фрагментами. Якщо не " +"відомо, що HTTP-сервер обробляє HTTP 1.1, абонент повинен або вказати " +"Content-Length, або повинен передати :class:`str` або байт-подібний об’єкт, " +"який також не є файлом, як представлення тіла." + +msgid "*body* can now be an iterable." +msgstr "*body* тепер може бути ітерованим." + +msgid "" +"If neither Content-Length nor Transfer-Encoding are set in *headers*, file " +"and iterable *body* objects are now chunk-encoded. The *encode_chunked* " +"argument was added. No attempt is made to determine the Content-Length for " +"file objects." +msgstr "" +"Якщо ані Content-Length, ані Transfer-Encoding не встановлено в *headers*, " +"файл і ітераційні *body* об’єкти тепер закодовані фрагментами. Додано " +"аргумент *encode_chunked*. Не робиться жодних спроб визначити довжину вмісту " +"для файлових об’єктів." + +msgid "" +"Should be called after a request is sent to get the response from the " +"server. Returns an :class:`HTTPResponse` instance." +msgstr "" +"Має викликатися після надсилання запиту, щоб отримати відповідь від сервера. " +"Повертає екземпляр :class:`HTTPResponse`." + +msgid "" +"Note that you must have read the whole response before you can send a new " +"request to the server." +msgstr "" +"Зверніть увагу, що ви повинні прочитати всю відповідь, перш ніж ви зможете " +"надіслати новий запит на сервер." + +msgid "" +"If a :exc:`ConnectionError` or subclass is raised, the :class:" +"`HTTPConnection` object will be ready to reconnect when a new request is " +"sent." +msgstr "" +"Якщо виникає :exc:`ConnectionError` або підклас, об’єкт :class:" +"`HTTPConnection` буде готовий до повторного підключення, коли буде надіслано " +"новий запит." + +msgid "" +"Set the debugging level. The default debug level is ``0``, meaning no " +"debugging output is printed. Any value greater than ``0`` will cause all " +"currently defined debug output to be printed to stdout. The ``debuglevel`` " +"is passed to any new :class:`HTTPResponse` objects that are created." +msgstr "" +"Встановіть рівень налагодження. Рівень налагодження за замовчуванням ``0``, " +"тобто вихідні дані налагодження не друкуються. Будь-яке значення, яке " +"перевищує ``0``, призведе до того, що весь поточний визначений вихід " +"налагодження буде надруковано в stdout. ``debuglevel`` передається будь-яким " +"новим об’єктам :class:`HTTPResponse`, які створюються." + +msgid "" +"Set the host and the port for HTTP Connect Tunnelling. This allows running " +"the connection through a proxy server." +msgstr "" +"Встановіть хост і порт для тунелювання підключення HTTP. Це дозволяє " +"запускати підключення через проксі-сервер." + +msgid "" +"The host and port arguments specify the endpoint of the tunneled connection " +"(i.e. the address included in the CONNECT request, *not* the address of the " +"proxy server)." +msgstr "" +"Аргументи host і port визначають кінцеву точку тунельованого з’єднання " +"(тобто адресу, включену в запит CONNECT, *не* адресу проксі-сервера)." + +msgid "" +"The headers argument should be a mapping of extra HTTP headers to send with " +"the CONNECT request." +msgstr "" +"Аргумент заголовків має бути відображенням додаткових заголовків HTTP для " +"надсилання із запитом CONNECT." + +msgid "" +"For example, to tunnel through a HTTPS proxy server running locally on port " +"8080, we would pass the address of the proxy to the :class:`HTTPSConnection` " +"constructor, and the address of the host that we eventually want to reach to " +"the :meth:`~HTTPConnection.set_tunnel` method::" +msgstr "" +"Наприклад, щоб тунелювати через проксі-сервер HTTPS, який працює локально на " +"порту 8080, ми повинні передати адресу проксі-сервера до конструктора :class:" +"`HTTPSConnection`, а адресу хоста, до якого ми хочемо отримати доступ, до :" +"meth:`~HTTPConnection.set_tunnel` метод::" + +msgid "" +"Connect to the server specified when the object was created. By default, " +"this is called automatically when making a request if the client does not " +"already have a connection." +msgstr "" +"Підключіться до сервера, указаного під час створення об’єкта. За " +"замовчуванням це викликається автоматично під час надсилання запиту, якщо " +"клієнт ще не має підключення." + +msgid "" +"Raises an :ref:`auditing event ` ``http.client.connect`` with " +"arguments ``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``http.client.connect`` з " +"аргументами ``self``, ``host``, ``port``." + +msgid "Close the connection to the server." +msgstr "Закрийте підключення до сервера." + +msgid "Buffer size in bytes for sending a file-like message body." +msgstr "" +"Розмір буфера в байтах для надсилання тіла повідомлення, схожого на файл." + +msgid "" +"As an alternative to using the :meth:`request` method described above, you " +"can also send your request step by step, by using the four functions below." +msgstr "" +"Як альтернативу використанню методу :meth:`request`, описаного вище, ви " +"також можете надіслати свій запит крок за кроком, використовуючи чотири " +"функції нижче." + +msgid "" +"This should be the first call after the connection to the server has been " +"made. It sends a line to the server consisting of the *method* string, the " +"*url* string, and the HTTP version (``HTTP/1.1``). To disable automatic " +"sending of ``Host:`` or ``Accept-Encoding:`` headers (for example to accept " +"additional content encodings), specify *skip_host* or *skip_accept_encoding* " +"with non-False values." +msgstr "" +"Це має бути перший виклик після підключення до сервера. Він надсилає на " +"сервер рядок, що складається з рядка *method*, рядка *url* і версії HTTP " +"(``HTTP/1.1``). Щоб вимкнути автоматичне надсилання заголовків ``Host:`` або " +"``Accept-Encoding:`` (наприклад, щоб прийняти додаткове кодування вмісту), " +"укажіть *skip_host* або *skip_accept_encoding* зі значеннями, відмінними від " +"False." + +msgid "" +"Send an :rfc:`822`\\ -style header to the server. It sends a line to the " +"server consisting of the header, a colon and a space, and the first " +"argument. If more arguments are given, continuation lines are sent, each " +"consisting of a tab and an argument." +msgstr "" +"Надішліть на сервер заголовок у стилі :rfc:`822`\\. Він надсилає на сервер " +"рядок, що складається із заголовка, двокрапки, пробілу та першого аргументу. " +"Якщо задано більше аргументів, надсилаються рядки продовження, кожен з яких " +"складається з табуляції та аргументу." + +msgid "" +"Send a blank line to the server, signalling the end of the headers. The " +"optional *message_body* argument can be used to pass a message body " +"associated with the request." +msgstr "" +"Надішліть порожній рядок на сервер, сигналізуючи про кінець заголовків. " +"Додатковий аргумент *message_body* можна використовувати для передачі тіла " +"повідомлення, пов’язаного із запитом." + +msgid "" +"If *encode_chunked* is ``True``, the result of each iteration of " +"*message_body* will be chunk-encoded as specified in :rfc:`7230`, Section " +"3.3.1. How the data is encoded is dependent on the type of *message_body*. " +"If *message_body* implements the :ref:`buffer interface ` the " +"encoding will result in a single chunk. If *message_body* is a :class:" +"`collections.abc.Iterable`, each iteration of *message_body* will result in " +"a chunk. If *message_body* is a :term:`file object`, each call to ``." +"read()`` will result in a chunk. The method automatically signals the end of " +"the chunk-encoded data immediately after *message_body*." +msgstr "" +"Якщо *encode_chunked* має значення ``True``, результат кожної ітерації " +"*message_body* буде закодовано фрагментами, як зазначено в :rfc:`7230`, " +"розділ 3.3.1. Спосіб кодування даних залежить від типу *message_body*. Якщо " +"*message_body* реалізує :ref:`інтерфейс буфера `, кодування " +"призведе до єдиного блоку. Якщо *message_body* є :class:`collections.abc." +"Iterable`, кожна ітерація *message_body* призведе до блоку. Якщо " +"*message_body* є об’єктом :term:`file object`, кожен виклик ``.read()`` " +"призведе до блоку. Метод автоматично сигналізує про кінець даних, " +"закодованих фрагментами, відразу після *message_body*." + +msgid "" +"Due to the chunked encoding specification, empty chunks yielded by an " +"iterator body will be ignored by the chunk-encoder. This is to avoid " +"premature termination of the read of the request by the target server due to " +"malformed encoding." +msgstr "" +"Через специфікацію фрагментованого кодування порожні фрагменти, отримані " +"тілом ітератора, ігноруватимуться кодувальником фрагментів. Це робиться для " +"того, щоб уникнути передчасного припинення читання запиту цільовим сервером " +"через неправильне кодування." + +msgid "Chunked encoding support. The *encode_chunked* parameter was added." +msgstr "Підтримка фрагментованого кодування. Додано параметр *encode_chunked*." + +msgid "" +"Send data to the server. This should be used directly only after the :meth:" +"`endheaders` method has been called and before :meth:`getresponse` is called." +msgstr "" +"Надіслати дані на сервер. Це слід використовувати безпосередньо лише після " +"виклику методу :meth:`endheaders` і до виклику :meth:`getresponse`." + +msgid "" +"Raises an :ref:`auditing event ` ``http.client.send`` with " +"arguments ``self``, ``data``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``http.client.send`` з аргументами " +"``self``, ``data``." + +msgid "HTTPResponse Objects" +msgstr "Об'єкти HTTPResponse" + +msgid "" +"An :class:`HTTPResponse` instance wraps the HTTP response from the server. " +"It provides access to the request headers and the entity body. The response " +"is an iterable object and can be used in a with statement." +msgstr "" +"Екземпляр :class:`HTTPResponse` обгортає відповідь HTTP від сервера. Він " +"забезпечує доступ до заголовків запиту та тіла сутності. Відповідь є " +"повторюваним об’єктом і може використовуватися в операторі with." + +msgid "" +"The :class:`io.BufferedIOBase` interface is now implemented and all of its " +"reader operations are supported." +msgstr "" +"Інтерфейс :class:`io.BufferedIOBase` тепер реалізовано, і всі його операції " +"читання підтримуються." + +msgid "Reads and returns the response body, or up to the next *amt* bytes." +msgstr "Читає та повертає тіло відповіді або до наступних байтів *amt*." + +msgid "" +"Reads up to the next len(b) bytes of the response body into the buffer *b*. " +"Returns the number of bytes read." +msgstr "" +"Зчитує до наступного len(b) байт тіла відповіді в буфер *b*. Повертає " +"кількість прочитаних байтів." + +msgid "" +"Return the value of the header *name*, or *default* if there is no header " +"matching *name*. If there is more than one header with the name *name*, " +"return all of the values joined by ', '. If *default* is any iterable other " +"than a single string, its elements are similarly returned joined by commas." +msgstr "" + +msgid "Return a list of (header, value) tuples." +msgstr "Повертає список кортежів (заголовок, значення)." + +msgid "Return the ``fileno`` of the underlying socket." +msgstr "Повертає ``fileno`` основного сокета." + +msgid "" +"A :class:`http.client.HTTPMessage` instance containing the response " +"headers. :class:`http.client.HTTPMessage` is a subclass of :class:`email." +"message.Message`." +msgstr "" +"Екземпляр :class:`http.client.HTTPMessage`, що містить заголовки " +"відповідей. :class:`http.client.HTTPMessage` є підкласом :class:`email." +"message.Message`." + +msgid "" +"HTTP protocol version used by server. 10 for HTTP/1.0, 11 for HTTP/1.1." +msgstr "" +"Версія протоколу HTTP, яку використовує сервер. 10 для HTTP/1.0, 11 для " +"HTTP/1.1." + +msgid "" +"URL of the resource retrieved, commonly used to determine if a redirect was " +"followed." +msgstr "" +"URL-адреса отриманого ресурсу, яка зазвичай використовується для визначення " +"того, чи було переспрямовано." + +msgid "" +"Headers of the response in the form of an :class:`email.message." +"EmailMessage` instance." +msgstr "" +"Заголовки відповіді у формі екземпляра :class:`email.message.EmailMessage`." + +msgid "Status code returned by server." +msgstr "Код статусу, повернутий сервером." + +msgid "Reason phrase returned by server." +msgstr "Фраза причини, повернута сервером." + +msgid "" +"A debugging hook. If :attr:`debuglevel` is greater than zero, messages will " +"be printed to stdout as the response is read and parsed." +msgstr "" +"Гачок для налагодження. Якщо :attr:`debuglevel` більше нуля, повідомлення " +"буде надруковано в стандартний вихід під час читання та аналізу відповіді." + +msgid "Is ``True`` if the stream is closed." +msgstr "Значить ``True``, якщо потік закрито." + +msgid "Deprecated in favor of :attr:`~HTTPResponse.url`." +msgstr "Застаріло на користь :attr:`~HTTPResponse.url`." + +msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`." +msgstr "Застаріло на користь :attr:`~HTTPResponse.headers`." + +msgid "Deprecated in favor of :attr:`~HTTPResponse.status`." +msgstr "Застаріло на користь :attr:`~HTTPResponse.status`." + +msgid "Examples" +msgstr "Приклади" + +msgid "Here is an example session that uses the ``GET`` method::" +msgstr "Ось приклад сеансу, який використовує метод ``GET``::" + +msgid "" +"Here is an example session that uses the ``HEAD`` method. Note that the " +"``HEAD`` method never returns any data. ::" +msgstr "" +"Ось приклад сеансу, який використовує метод ``HEAD``. Зауважте, що метод " +"``HEAD`` ніколи не повертає жодних даних. ::" + +msgid "Here is an example session that uses the ``POST`` method::" +msgstr "" + +msgid "" +"Client side HTTP ``PUT`` requests are very similar to ``POST`` requests. The " +"difference lies only on the server side where HTTP servers will allow " +"resources to be created via ``PUT`` requests. It should be noted that custom " +"HTTP methods are also handled in :class:`urllib.request.Request` by setting " +"the appropriate method attribute. Here is an example session that uses the " +"``PUT`` method::" +msgstr "" + +msgid "HTTPMessage Objects" +msgstr "Об’єкти HTTPMessage" + +msgid "" +"An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP " +"response. It is implemented using the :class:`email.message.Message` class." +msgstr "" +"Екземпляр :class:`http.client.HTTPMessage` містить заголовки відповіді HTTP. " +"Це реалізовано за допомогою класу :class:`email.message.Message`." diff --git a/library/http_cookiejar.po b/library/http_cookiejar.po new file mode 100644 index 000000000..f3917e79d --- /dev/null +++ b/library/http_cookiejar.po @@ -0,0 +1,1079 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`http.cookiejar` --- Cookie handling for HTTP clients" +msgstr ":mod:`http.cookiejar` --- Обробка файлів cookie для HTTP-клієнтів" + +msgid "**Source code:** :source:`Lib/http/cookiejar.py`" +msgstr "**Вихідний код:** :source:`Lib/http/cookiejar.py`" + +msgid "" +"The :mod:`http.cookiejar` module defines classes for automatic handling of " +"HTTP cookies. It is useful for accessing web sites that require small " +"pieces of data -- :dfn:`cookies` -- to be set on the client machine by an " +"HTTP response from a web server, and then returned to the server in later " +"HTTP requests." +msgstr "" +"Модуль :mod:`http.cookiejar` визначає класи для автоматичної обробки файлів " +"cookie HTTP. Це корисно для доступу до веб-сайтів, яким потрібні невеликі " +"фрагменти даних — :dfn:`cookies` — які встановлюються на клієнтській машині " +"за допомогою відповіді HTTP від веб-сервера, а потім повертаються на сервер " +"у наступних запитах HTTP." + +msgid "" +"Both the regular Netscape cookie protocol and the protocol defined by :rfc:" +"`2965` are handled. RFC 2965 handling is switched off by default. :rfc:" +"`2109` cookies are parsed as Netscape cookies and subsequently treated " +"either as Netscape or RFC 2965 cookies according to the 'policy' in effect. " +"Note that the great majority of cookies on the internet are Netscape " +"cookies. :mod:`http.cookiejar` attempts to follow the de-facto Netscape " +"cookie protocol (which differs substantially from that set out in the " +"original Netscape specification), including taking note of the ``max-age`` " +"and ``port`` cookie-attributes introduced with RFC 2965." +msgstr "" +"Обробляються як звичайний протокол cookie Netscape, так і протокол, " +"визначений :rfc:`2965`. Обробку RFC 2965 вимкнено за замовчуванням. :rfc:" +"`2109` файли cookie аналізуються як файли cookie Netscape і згодом " +"розглядаються як файли cookie Netscape або RFC 2965 відповідно до чинної " +"\"політики\". Зверніть увагу, що більшість файлів cookie в Інтернеті є " +"файлами cookie Netscape. :mod:`http.cookiejar` намагається слідувати " +"фактичному протоколу файлів cookie Netscape (який суттєво відрізняється від " +"викладеного в оригінальній специфікації Netscape), включно з врахуванням " +"``max-age`` і ``port`` атрибути cookie, введені з RFC 2965." + +msgid "" +"The various named parameters found in :mailheader:`Set-Cookie` and :" +"mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are " +"conventionally referred to as :dfn:`attributes`. To distinguish them from " +"Python attributes, the documentation for this module uses the term :dfn:" +"`cookie-attribute` instead." +msgstr "" +"Різноманітні іменовані параметри, які містяться в заголовках :mailheader:" +"`Set-Cookie` і :mailheader:`Set-Cookie2` (наприклад, ``domain`` і " +"``expires``), зазвичай називаються :dfn:`attributes` . Щоб відрізнити їх від " +"атрибутів Python, у документації для цього модуля замість цього " +"використовується термін :dfn:`cookie-attribute`." + +msgid "The module defines the following exception:" +msgstr "Модуль визначає такий виняток:" + +msgid "" +"Instances of :class:`FileCookieJar` raise this exception on failure to load " +"cookies from a file. :exc:`LoadError` is a subclass of :exc:`OSError`." +msgstr "" +"Екземпляри :class:`FileCookieJar` викликають цей виняток, якщо неможливо " +"завантажити файли cookie з файлу. :exc:`LoadError` є підкласом :exc:" +"`OSError`." + +msgid "" +"LoadError was made a subclass of :exc:`OSError` instead of :exc:`IOError`." +msgstr "" +"LoadError було створено підкласом :exc:`OSError` замість :exc:`IOError`." + +msgid "The following classes are provided:" +msgstr "Передбачені такі заняття:" + +msgid "*policy* is an object implementing the :class:`CookiePolicy` interface." +msgstr "*policy* — це об’єкт, що реалізує інтерфейс :class:`CookiePolicy`." + +msgid "" +"The :class:`CookieJar` class stores HTTP cookies. It extracts cookies from " +"HTTP requests, and returns them in HTTP responses. :class:`CookieJar` " +"instances automatically expire contained cookies when necessary. Subclasses " +"are also responsible for storing and retrieving cookies from a file or " +"database." +msgstr "" +"Клас :class:`CookieJar` зберігає файли cookie HTTP. Він витягує файли cookie " +"із HTTP-запитів і повертає їх у HTTP-відповідях. Примірники :class:" +"`CookieJar` автоматично припиняють дію файлів cookie, коли це необхідно. " +"Підкласи також відповідають за зберігання та отримання файлів cookie з файлу " +"або бази даних." + +msgid "" +"*policy* is an object implementing the :class:`CookiePolicy` interface. For " +"the other arguments, see the documentation for the corresponding attributes." +msgstr "" +"*policy* — це об’єкт, що реалізує інтерфейс :class:`CookiePolicy`. Інші " +"аргументи дивіться в документації для відповідних атрибутів." + +msgid "" +"A :class:`CookieJar` which can load cookies from, and perhaps save cookies " +"to, a file on disk. Cookies are **NOT** loaded from the named file until " +"either the :meth:`load` or :meth:`revert` method is called. Subclasses of " +"this class are documented in section :ref:`file-cookie-jar-classes`." +msgstr "" +":class:`CookieJar`, який може завантажувати файли cookie з файлу на диску " +"та, можливо, зберігати файли cookie. Файли cookie **НЕ** завантажуються з " +"названого файлу, доки не буде викликано метод :meth:`load` або :meth:" +"`revert`. Підкласи цього класу задокументовані в розділі :ref:`file-cookie-" +"jar-classes`." + +msgid "" +"This should not be initialized directly – use its subclasses below instead." +msgstr "" + +msgid "The filename parameter supports a :term:`path-like object`." +msgstr "Параметр імені файлу підтримує :term:`path-like object`." + +msgid "" +"This class is responsible for deciding whether each cookie should be " +"accepted from / returned to the server." +msgstr "" +"Цей клас відповідає за прийняття рішення про прийняття кожного файлу cookie " +"від сервера або повернення на нього." + +msgid "" +"Constructor arguments should be passed as keyword arguments only. " +"*blocked_domains* is a sequence of domain names that we never accept cookies " +"from, nor return cookies to. *allowed_domains* if not :const:`None`, this is " +"a sequence of the only domains for which we accept and return cookies. " +"*secure_protocols* is a sequence of protocols for which secure cookies can " +"be added to. By default *https* and *wss* (secure websocket) are considered " +"secure protocols. For all other arguments, see the documentation for :class:" +"`CookiePolicy` and :class:`DefaultCookiePolicy` objects." +msgstr "" +"Аргументи конструктора слід передавати лише як аргументи ключових слів. " +"*blocked_domains* – це послідовність доменних імен, з яких ми ніколи не " +"приймаємо файли cookie та не повертаємо файли cookie. *allowed_domains* якщо " +"не :const:`None`, це послідовність єдиних доменів, для яких ми приймаємо та " +"повертаємо файли cookie. *secure_protocols* — це послідовність протоколів, " +"до яких можна додати захищені файли cookie. За умовчанням *https* і *wss* " +"(безпечний веб-сокет) вважаються безпечними протоколами. Усі інші аргументи " +"дивіться в документації для об’єктів :class:`CookiePolicy` і :class:" +"`DefaultCookiePolicy`." + +msgid "" +":class:`DefaultCookiePolicy` implements the standard accept / reject rules " +"for Netscape and :rfc:`2965` cookies. By default, :rfc:`2109` cookies (ie. " +"cookies received in a :mailheader:`Set-Cookie` header with a version cookie-" +"attribute of 1) are treated according to the RFC 2965 rules. However, if " +"RFC 2965 handling is turned off or :attr:`rfc2109_as_netscape` is ``True``, " +"RFC 2109 cookies are 'downgraded' by the :class:`CookieJar` instance to " +"Netscape cookies, by setting the :attr:`version` attribute of the :class:" +"`Cookie` instance to 0. :class:`DefaultCookiePolicy` also provides some " +"parameters to allow some fine-tuning of policy." +msgstr "" +":class:`DefaultCookiePolicy` реалізує стандартні правила прийняття/" +"відхилення файлів cookie Netscape і :rfc:`2965`. За замовчуванням файли " +"cookie :rfc:`2109` (тобто файли cookie, отримані в заголовку :mailheader:" +"`Set-Cookie` з атрибутом cookie версії 1) обробляються відповідно до правил " +"RFC 2965. Проте, якщо обробку RFC 2965 вимкнено або :attr:" +"`rfc2109_as_netscape` має значення ``True``, файли cookie RFC 2109 " +"\"понижуються\" екземпляром :class:`CookieJar` до файлів cookie Netscape, " +"встановлюючи :attr:`version` екземпляра :class:`Cookie` дорівнює 0. :class:" +"`DefaultCookiePolicy` також надає деякі параметри, щоб дозволити деяке тонке " +"налаштування політики." + +msgid "" +"This class represents Netscape, :rfc:`2109` and :rfc:`2965` cookies. It is " +"not expected that users of :mod:`http.cookiejar` construct their own :class:" +"`Cookie` instances. Instead, if necessary, call :meth:`make_cookies` on a :" +"class:`CookieJar` instance." +msgstr "" +"Цей клас представляє файли cookie Netscape, :rfc:`2109` і :rfc:`2965`. Не " +"очікується, що користувачі :mod:`http.cookiejar` створюватимуть власні " +"екземпляри :class:`Cookie`. Замість цього, якщо необхідно, викличте :meth:" +"`make_cookies` на екземплярі :class:`CookieJar`." + +msgid "Module :mod:`urllib.request`" +msgstr "Модуль :mod:`urllib.request`" + +msgid "URL opening with automatic cookie handling." +msgstr "Відкриття URL-адреси з автоматичною обробкою файлів cookie." + +msgid "Module :mod:`http.cookies`" +msgstr "Модуль :mod:`http.cookies`" + +msgid "" +"HTTP cookie classes, principally useful for server-side code. The :mod:" +"`http.cookiejar` and :mod:`http.cookies` modules do not depend on each other." +msgstr "" +"Класи cookie HTTP, які в основному корисні для коду на стороні сервера. " +"Модулі :mod:`http.cookiejar` і :mod:`http.cookies` не залежать один від " +"одного." + +msgid "https://curl.se/rfc/cookie_spec.html" +msgstr "https://curl.se/rfc/cookie_spec.html" + +msgid "" +"The specification of the original Netscape cookie protocol. Though this is " +"still the dominant protocol, the 'Netscape cookie protocol' implemented by " +"all the major browsers (and :mod:`http.cookiejar`) only bears a passing " +"resemblance to the one sketched out in ``cookie_spec.html``." +msgstr "" +"Специфікація оригінального протоколу cookie Netscape. Хоча це все ще " +"домінуючий протокол, \"протокол файлів cookie Netscape\", реалізований усіма " +"основними браузерами (і :mod:`http.cookiejar`), лише побіжно схожий на той, " +"який накреслено в ``cookie_spec.html``." + +msgid ":rfc:`2109` - HTTP State Management Mechanism" +msgstr ":rfc:`2109` - механізм керування станом HTTP" + +msgid "Obsoleted by :rfc:`2965`. Uses :mailheader:`Set-Cookie` with version=1." +msgstr "" +"Застаріло :rfc:`2965`. Використовує :mailheader:`Set-Cookie` з версією=1." + +msgid ":rfc:`2965` - HTTP State Management Mechanism" +msgstr ":rfc:`2965` - механізм керування станом HTTP" + +msgid "" +"The Netscape protocol with the bugs fixed. Uses :mailheader:`Set-Cookie2` " +"in place of :mailheader:`Set-Cookie`. Not widely used." +msgstr "" +"Протокол Netscape з виправленими помилками. Використовує :mailheader:`Set-" +"Cookie2` замість :mailheader:`Set-Cookie`. Широко не використовується." + +msgid "http://kristol.org/cookie/errata.html" +msgstr "http://kristol.org/cookie/errata.html" + +msgid "Unfinished errata to :rfc:`2965`." +msgstr "Незавершені помилки до :rfc:`2965`." + +msgid ":rfc:`2964` - Use of HTTP State Management" +msgstr ":rfc:`2964` - Використання керування станом HTTP" + +msgid "CookieJar and FileCookieJar Objects" +msgstr "Об’єкти CookieJar і FileCookieJar" + +msgid "" +":class:`CookieJar` objects support the :term:`iterator` protocol for " +"iterating over contained :class:`Cookie` objects." +msgstr "" +"Об’єкти :class:`CookieJar` підтримують протокол :term:`iterator` для " +"ітерації об’єктів :class:`Cookie`." + +msgid ":class:`CookieJar` has the following methods:" +msgstr ":class:`CookieJar` має такі методи:" + +msgid "Add correct :mailheader:`Cookie` header to *request*." +msgstr "Додайте правильний заголовок :mailheader:`Cookie` до *запиту*." + +msgid "" +"If policy allows (ie. the :attr:`rfc2965` and :attr:`hide_cookie2` " +"attributes of the :class:`CookieJar`'s :class:`CookiePolicy` instance are " +"true and false respectively), the :mailheader:`Cookie2` header is also added " +"when appropriate." +msgstr "" +"Якщо політика дозволяє (тобто атрибути :attr:`rfc2965` і :attr:" +"`hide_cookie2` екземпляра :class:`CookieJar` :class:`CookiePolicy` мають " +"значення true і false відповідно), :mailheader:`Заголовок Cookie2` також " +"додається, коли це необхідно." + +msgid "" +"The *request* object (usually a :class:`urllib.request.Request` instance) " +"must support the methods :meth:`get_full_url`, :meth:`has_header`, :meth:" +"`get_header`, :meth:`header_items`, :meth:`add_unredirected_header` and the " +"attributes :attr:`host`, :attr:`!type`, :attr:`unverifiable` and :attr:" +"`origin_req_host` as documented by :mod:`urllib.request`." +msgstr "" + +msgid "" +"*request* object needs :attr:`origin_req_host` attribute. Dependency on a " +"deprecated method :meth:`get_origin_req_host` has been removed." +msgstr "" +"Об’єкту *request* потрібен атрибут :attr:`origin_req_host`. Залежність від " +"застарілого методу :meth:`get_origin_req_host` видалено." + +msgid "" +"Extract cookies from HTTP *response* and store them in the :class:" +"`CookieJar`, where allowed by policy." +msgstr "" +"Отримайте файли cookie з *відповіді* HTTP та зберігайте їх у :class:" +"`CookieJar`, де це дозволено політикою." + +msgid "" +"The :class:`CookieJar` will look for allowable :mailheader:`Set-Cookie` and :" +"mailheader:`Set-Cookie2` headers in the *response* argument, and store " +"cookies as appropriate (subject to the :meth:`CookiePolicy.set_ok` method's " +"approval)." +msgstr "" +":class:`CookieJar` шукатиме допустимі заголовки :mailheader:`Set-Cookie` і :" +"mailheader:`Set-Cookie2` в аргументі *response* і зберігатиме файли cookie " +"відповідно (згідно з :meth:`CookiePolicy .set_ok` підтвердження методу)." + +msgid "" +"The *response* object (usually the result of a call to :meth:`urllib.request." +"urlopen`, or similar) should support an :meth:`info` method, which returns " +"an :class:`email.message.Message` instance." +msgstr "" +"Об’єкт *response* (зазвичай це результат виклику :meth:`urllib.request." +"urlopen` або подібного) має підтримувати метод :meth:`info`, який повертає :" +"class:`email.message.Message.` екземпляр." + +msgid "" +"The *request* object (usually a :class:`urllib.request.Request` instance) " +"must support the method :meth:`get_full_url` and the attributes :attr:" +"`host`, :attr:`unverifiable` and :attr:`origin_req_host`, as documented by :" +"mod:`urllib.request`. The request is used to set default values for cookie-" +"attributes as well as for checking that the cookie is allowed to be set." +msgstr "" + +msgid "Set the :class:`CookiePolicy` instance to be used." +msgstr "Встановіть екземпляр :class:`CookiePolicy` для використання." + +msgid "" +"Return sequence of :class:`Cookie` objects extracted from *response* object." +msgstr "" +"Послідовність повернення об’єктів :class:`Cookie`, отриманих з об’єкта " +"*response*." + +msgid "" +"See the documentation for :meth:`extract_cookies` for the interfaces " +"required of the *response* and *request* arguments." +msgstr "" +"Перегляньте документацію для :meth:`extract_cookies` для інтерфейсів, " +"необхідних для аргументів *response* і *request*." + +msgid "Set a :class:`Cookie` if policy says it's OK to do so." +msgstr "Встановіть :class:`Cookie`, якщо політика стверджує, що це допустимо." + +msgid "" +"Set a :class:`Cookie`, without checking with policy to see whether or not it " +"should be set." +msgstr "" +"Встановіть :class:`Cookie`, не перевіряючи політику, чи потрібно його " +"встановлювати." + +msgid "Clear some cookies." +msgstr "Очистити деякі файли cookie." + +msgid "" +"If invoked without arguments, clear all cookies. If given a single " +"argument, only cookies belonging to that *domain* will be removed. If given " +"two arguments, cookies belonging to the specified *domain* and URL *path* " +"are removed. If given three arguments, then the cookie with the specified " +"*domain*, *path* and *name* is removed." +msgstr "" +"Якщо виклик викликаний без аргументів, видалити всі файли cookie. Якщо " +"надати один аргумент, буде видалено лише файли cookie, що належать цьому " +"*домену*. Якщо задано два аргументи, файли cookie, що належать до вказаного " +"*домену* та *шляху* URL-адреси, видаляються. Якщо задано три аргументи, файл " +"cookie з указаним *доменом*, *шляхом* і *ім’ям* видаляється." + +msgid "Raises :exc:`KeyError` if no matching cookie exists." +msgstr "Викликає :exc:`KeyError`, якщо не існує відповідного файлу cookie." + +msgid "Discard all session cookies." +msgstr "Видалити всі файли cookie сесії." + +msgid "" +"Discards all contained cookies that have a true :attr:`discard` attribute " +"(usually because they had either no ``max-age`` or ``expires`` cookie-" +"attribute, or an explicit ``discard`` cookie-attribute). For interactive " +"browsers, the end of a session usually corresponds to closing the browser " +"window." +msgstr "" +"Відкидає всі файли cookie, які мають справжній атрибут :attr:`discard` " +"(зазвичай тому, що вони не мали атрибута cookie ``max-age`` або ``expires``, " +"або явного атрибута ``discard`` cookie-attribute ). Для інтерактивних " +"браузерів кінець сеансу зазвичай відповідає закриттю вікна браузера." + +msgid "" +"Note that the :meth:`save` method won't save session cookies anyway, unless " +"you ask otherwise by passing a true *ignore_discard* argument." +msgstr "" +"Зауважте, що метод :meth:`save` все одно не зберігатиме файли cookie сеансу, " +"якщо ви не запитаєте інше, передавши справжній аргумент *ignore_discard*." + +msgid ":class:`FileCookieJar` implements the following additional methods:" +msgstr ":class:`FileCookieJar` реалізує такі додаткові методи:" + +msgid "Save cookies to a file." +msgstr "Збережіть файли cookie у файл." + +msgid "" +"This base class raises :exc:`NotImplementedError`. Subclasses may leave " +"this method unimplemented." +msgstr "" +"Цей базовий клас викликає :exc:`NotImplementedError`. Підкласи можуть " +"залишати цей метод нереалізованим." + +msgid "" +"*filename* is the name of file in which to save cookies. If *filename* is " +"not specified, :attr:`self.filename` is used (whose default is the value " +"passed to the constructor, if any); if :attr:`self.filename` is :const:" +"`None`, :exc:`ValueError` is raised." +msgstr "" +"*ім’я файлу* — це ім’я файлу, у якому зберігатимуться файли cookie. Якщо " +"*filename* не вказано, :attr:`self.filename` використовується (яке за " +"умовчанням є значенням, переданим конструктору, якщо такий є); якщо :attr:" +"`self.filename` має значення :const:`None`, виникає :exc:`ValueError`." + +msgid "" +"*ignore_discard*: save even cookies set to be discarded. *ignore_expires*: " +"save even cookies that have expired" +msgstr "" +"*ignore_discard*: зберегти навіть файли cookie, налаштовані на видалення. " +"*ignore_expires*: зберігати навіть файли cookie, термін дії яких закінчився" + +msgid "" +"The file is overwritten if it already exists, thus wiping all the cookies it " +"contains. Saved cookies can be restored later using the :meth:`load` or :" +"meth:`revert` methods." +msgstr "" +"Файл перезаписується, якщо він уже існує, таким чином знищуючи всі файли " +"cookie, які він містить. Збережені файли cookie можна відновити пізніше за " +"допомогою методів :meth:`load` або :meth:`revert`." + +msgid "Load cookies from a file." +msgstr "Завантажити файли cookie з файлу." + +msgid "Old cookies are kept unless overwritten by newly loaded ones." +msgstr "" +"Старі файли cookie зберігаються, якщо вони не перезаписані новозавантаженими." + +msgid "Arguments are as for :meth:`save`." +msgstr "Аргументи такі ж, як для :meth:`save`." + +msgid "" +"The named file must be in the format understood by the class, or :exc:" +"`LoadError` will be raised. Also, :exc:`OSError` may be raised, for example " +"if the file does not exist." +msgstr "" +"Названий файл має бути у форматі, зрозумілому класу, інакше виникне :exc:" +"`LoadError`. Крім того, може виникати :exc:`OSError`, наприклад, якщо файл " +"не існує." + +msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." +msgstr ":exc:`IOError` раніше викликався, тепер це псевдонім :exc:`OSError`." + +msgid "Clear all cookies and reload cookies from a saved file." +msgstr "" +"Очистіть усі файли cookie та перезавантажте файли cookie зі збереженого " +"файлу." + +msgid "" +":meth:`revert` can raise the same exceptions as :meth:`load`. If there is a " +"failure, the object's state will not be altered." +msgstr "" +":meth:`revert` може викликати ті самі винятки, що і :meth:`load`. Якщо " +"станеться збій, стан об’єкта не зміниться." + +msgid ":class:`FileCookieJar` instances have the following public attributes:" +msgstr "Екземпляри :class:`FileCookieJar` мають такі публічні атрибути:" + +msgid "" +"Filename of default file in which to keep cookies. This attribute may be " +"assigned to." +msgstr "" +"Назва файлу за замовчуванням, у якому зберігатимуться файли cookie. Цей " +"атрибут можна призначити." + +msgid "" +"If true, load cookies lazily from disk. This attribute should not be " +"assigned to. This is only a hint, since this only affects performance, not " +"behaviour (unless the cookies on disk are changing). A :class:`CookieJar` " +"object may ignore it. None of the :class:`FileCookieJar` classes included " +"in the standard library lazily loads cookies." +msgstr "" +"Якщо істина, ліниво завантажувати файли cookie з диска. Цей атрибут не слід " +"призначати. Це лише підказка, оскільки це впливає лише на продуктивність, а " +"не на поведінку (якщо файли cookie на диску не змінюються). Об’єкт :class:" +"`CookieJar` може його ігнорувати. Жоден із класів :class:`FileCookieJar`, " +"включених до стандартної бібліотеки, не завантажує файли cookie ліниво." + +msgid "FileCookieJar subclasses and co-operation with web browsers" +msgstr "Підкласи FileCookieJar і співпраця з веб-браузерами" + +msgid "" +"The following :class:`CookieJar` subclasses are provided for reading and " +"writing." +msgstr "Наступні підкласи :class:`CookieJar` надаються для читання та запису." + +msgid "" +"A :class:`FileCookieJar` that can load from and save cookies to disk in the " +"Mozilla ``cookies.txt`` file format (which is also used by curl and the Lynx " +"and Netscape browsers)." +msgstr "" + +msgid "" +"This loses information about :rfc:`2965` cookies, and also about newer or " +"non-standard cookie-attributes such as ``port``." +msgstr "" +"Це втрачає інформацію про :rfc:`2965` файли cookie, а також про нові або " +"нестандартні атрибути файлів cookie, такі як ``порт``." + +msgid "" +"Back up your cookies before saving if you have cookies whose loss / " +"corruption would be inconvenient (there are some subtleties which may lead " +"to slight changes in the file over a load / save round-trip)." +msgstr "" +"Зробіть резервну копію файлів cookie перед збереженням, якщо у вас є файли " +"cookie, втрата/пошкодження яких було б незручним (є деякі тонкощі, які " +"можуть призвести до незначних змін у файлі під час завантаження/збереження в " +"обидві сторони)." + +msgid "" +"Also note that cookies saved while Mozilla is running will get clobbered by " +"Mozilla." +msgstr "" +"Також зауважте, що файли cookie, збережені під час роботи Mozilla, будуть " +"видалені Mozilla." + +msgid "" +"A :class:`FileCookieJar` that can load from and save cookies to disk in " +"format compatible with the libwww-perl library's ``Set-Cookie3`` file " +"format. This is convenient if you want to store cookies in a human-readable " +"file." +msgstr "" +":class:`FileCookieJar`, який може завантажувати та зберігати файли cookie на " +"диск у форматі, сумісному з форматом файлу ``Set-Cookie3`` бібліотеки libwww-" +"perl. Це зручно, якщо ви хочете зберігати файли cookie у файлі, який читає " +"людина." + +msgid "CookiePolicy Objects" +msgstr "Об’єкти CookiePolicy" + +msgid "" +"Objects implementing the :class:`CookiePolicy` interface have the following " +"methods:" +msgstr "" +"Об’єкти, що реалізують інтерфейс :class:`CookiePolicy`, мають такі методи:" + +msgid "" +"Return boolean value indicating whether cookie should be accepted from " +"server." +msgstr "" +"Повертає логічне значення, яке вказує, чи слід прийняти cookie від сервера." + +msgid "" +"*cookie* is a :class:`Cookie` instance. *request* is an object implementing " +"the interface defined by the documentation for :meth:`CookieJar." +"extract_cookies`." +msgstr "" +"*cookie* є екземпляром :class:`Cookie`. *request* — це об’єкт, що реалізує " +"інтерфейс, визначений документацією для :meth:`CookieJar.extract_cookies`." + +msgid "" +"Return boolean value indicating whether cookie should be returned to server." +msgstr "" +"Повернути логічне значення, яке вказує, чи потрібно повертати файл cookie на " +"сервер." + +msgid "" +"*cookie* is a :class:`Cookie` instance. *request* is an object implementing " +"the interface defined by the documentation for :meth:`CookieJar." +"add_cookie_header`." +msgstr "" +"*cookie* є екземпляром :class:`Cookie`. *request* — це об’єкт, що реалізує " +"інтерфейс, визначений документацією для :meth:`CookieJar.add_cookie_header`." + +msgid "" +"Return ``False`` if cookies should not be returned, given cookie domain." +msgstr "" +"Повертає ``False``, якщо файли cookie не повинні повертатися, враховуючи " +"домен файлів cookie." + +msgid "" +"This method is an optimization. It removes the need for checking every " +"cookie with a particular domain (which might involve reading many files). " +"Returning true from :meth:`domain_return_ok` and :meth:`path_return_ok` " +"leaves all the work to :meth:`return_ok`." +msgstr "" +"Цей метод є оптимізаційним. Це позбавляє від необхідності перевіряти кожен " +"файл cookie з певним доменом (що може передбачати читання багатьох файлів). " +"Повернення true з :meth:`domain_return_ok` і :meth:`path_return_ok` залишає " +"всю роботу :meth:`return_ok`." + +msgid "" +"If :meth:`domain_return_ok` returns true for the cookie domain, :meth:" +"`path_return_ok` is called for the cookie path. Otherwise, :meth:" +"`path_return_ok` and :meth:`return_ok` are never called for that cookie " +"domain. If :meth:`path_return_ok` returns true, :meth:`return_ok` is called " +"with the :class:`Cookie` object itself for a full check. Otherwise, :meth:" +"`return_ok` is never called for that cookie path." +msgstr "" +"Якщо :meth:`domain_return_ok` повертає true для домену cookie, :meth:" +"`path_return_ok` викликається для шляху до cookie. В іншому випадку :meth:" +"`path_return_ok` і :meth:`return_ok` ніколи не викликаються для цього домену " +"cookie. Якщо :meth:`path_return_ok` повертає true, :meth:`return_ok` " +"викликається з самим об’єктом :class:`Cookie` для повної перевірки. Інакше :" +"meth:`return_ok` ніколи не викликається для цього шляху cookie." + +msgid "" +"Note that :meth:`domain_return_ok` is called for every *cookie* domain, not " +"just for the *request* domain. For example, the function might be called " +"with both ``\".example.com\"`` and ``\"www.example.com\"`` if the request " +"domain is ``\"www.example.com\"``. The same goes for :meth:`path_return_ok`." +msgstr "" +"Зауважте, що :meth:`domain_return_ok` викликається для кожного домену " +"*cookie*, а не лише для домену *request*. Наприклад, функція може бути " +"викликана як з ``\".example.com\"``, так і з ``\"www.example.com\"``, якщо " +"домен запиту ``\"www.example.com\"``. Те саме стосується :meth:" +"`path_return_ok`." + +msgid "The *request* argument is as documented for :meth:`return_ok`." +msgstr "Аргумент *request* відповідає документації для :meth:`return_ok`." + +msgid "Return ``False`` if cookies should not be returned, given cookie path." +msgstr "" +"Повертає ``False``, якщо файли cookie не повинні повертатися, враховуючи " +"шлях до файлів cookie." + +msgid "See the documentation for :meth:`domain_return_ok`." +msgstr "Перегляньте документацію для :meth:`domain_return_ok`." + +msgid "" +"In addition to implementing the methods above, implementations of the :class:" +"`CookiePolicy` interface must also supply the following attributes, " +"indicating which protocols should be used, and how. All of these attributes " +"may be assigned to." +msgstr "" +"На додаток до реалізації наведених вище методів, реалізації інтерфейсу :" +"class:`CookiePolicy` також повинні надавати такі атрибути, що вказують, які " +"протоколи слід використовувати та як. Усі ці атрибути можна призначити." + +msgid "Implement Netscape protocol." +msgstr "Впровадити протокол Netscape." + +msgid "Implement :rfc:`2965` protocol." +msgstr "Впровадити протокол :rfc:`2965`." + +msgid "" +"Don't add :mailheader:`Cookie2` header to requests (the presence of this " +"header indicates to the server that we understand :rfc:`2965` cookies)." +msgstr "" +"Не додавайте заголовок :mailheader:`Cookie2` до запитів (наявність цього " +"заголовка вказує серверу, що ми розуміємо файли cookie :rfc:`2965`)." + +msgid "" +"The most useful way to define a :class:`CookiePolicy` class is by " +"subclassing from :class:`DefaultCookiePolicy` and overriding some or all of " +"the methods above. :class:`CookiePolicy` itself may be used as a 'null " +"policy' to allow setting and receiving any and all cookies (this is unlikely " +"to be useful)." +msgstr "" +"Найкориснішим способом визначення класу :class:`CookiePolicy` є створення " +"підкласу з :class:`DefaultCookiePolicy` і перевизначення деяких або всіх " +"методів вище. Сама :class:`CookiePolicy` може використовуватися як \"нульова " +"політика\", щоб дозволити встановлення та отримання будь-яких і всіх файлів " +"cookie (це навряд чи буде корисним)." + +msgid "DefaultCookiePolicy Objects" +msgstr "Об’єкти DefaultCookiePolicy" + +msgid "Implements the standard rules for accepting and returning cookies." +msgstr "Реалізує стандартні правила прийому та повернення файлів cookie." + +msgid "" +"Both :rfc:`2965` and Netscape cookies are covered. RFC 2965 handling is " +"switched off by default." +msgstr "" +"Охоплено файли cookie :rfc:`2965` і Netscape. Обробку RFC 2965 вимкнено за " +"замовчуванням." + +msgid "" +"The easiest way to provide your own policy is to override this class and " +"call its methods in your overridden implementations before adding your own " +"additional checks::" +msgstr "" +"Найпростіший спосіб надати власну політику — перевизначити цей клас і " +"викликати його методи у своїх перевизначених реалізаціях перед додаванням " +"власних додаткових перевірок:" + +msgid "" +"In addition to the features required to implement the :class:`CookiePolicy` " +"interface, this class allows you to block and allow domains from setting and " +"receiving cookies. There are also some strictness switches that allow you " +"to tighten up the rather loose Netscape protocol rules a little bit (at the " +"cost of blocking some benign cookies)." +msgstr "" +"На додаток до функцій, необхідних для реалізації інтерфейсу :class:" +"`CookiePolicy`, цей клас дозволяє блокувати та дозволяти доменам " +"установлювати та отримувати файли cookie. Є також деякі перемикачі " +"суворості, які дозволяють трохи посилити досить вільні правила протоколу " +"Netscape (ціною блокування деяких безпечних файлів cookie)." + +msgid "" +"A domain blocklist and allowlist is provided (both off by default). Only " +"domains not in the blocklist and present in the allowlist (if the allowlist " +"is active) participate in cookie setting and returning. Use the " +"*blocked_domains* constructor argument, and :meth:`blocked_domains` and :" +"meth:`set_blocked_domains` methods (and the corresponding argument and " +"methods for *allowed_domains*). If you set an allowlist, you can turn it " +"off again by setting it to :const:`None`." +msgstr "" +"Надається список заблокованих і білих доменів (обидва вимкнено за " +"умовчанням). У налаштуваннях і поверненні файлів cookie беруть участь лише " +"домени, яких немає в списку блокувань, але присутні в списку дозволених " +"(якщо список дозволених активний). Використовуйте аргумент конструктора " +"*blocked_domains* і методи :meth:`blocked_domains` і :meth:" +"`set_blocked_domains` (а також відповідний аргумент і методи для " +"*allowed_domains*). Якщо ви встановили білий список, ви можете вимкнути його " +"знову, встановивши для нього значення :const:`None`." + +msgid "" +"Domains in block or allow lists that do not start with a dot must equal the " +"cookie domain to be matched. For example, ``\"example.com\"`` matches a " +"blocklist entry of ``\"example.com\"``, but ``\"www.example.com\"`` does " +"not. Domains that do start with a dot are matched by more specific domains " +"too. For example, both ``\"www.example.com\"`` and ``\"www.coyote.example.com" +"\"`` match ``\".example.com\"`` (but ``\"example.com\"`` itself does not). " +"IP addresses are an exception, and must match exactly. For example, if " +"blocked_domains contains ``\"192.168.1.2\"`` and ``\".168.1.2\"``, " +"192.168.1.2 is blocked, but 193.168.1.2 is not." +msgstr "" +"Домени в списках блокування або дозволу, які не починаються з крапки, мають " +"збігатися з доменом файлів cookie, який потрібно знайти. Наприклад, ``" +"\"example.com\"`` відповідає запису списку блокувань ``\"example.com\"``, " +"але ``\"www.example.com\"`` ні. Домени, які починаються з крапки, також " +"відповідають більш конкретним доменам. Наприклад, і ``\"www.example.com\"``, " +"і ``\"www.coyote.example.com\"`` відповідають ``\".example.com\"`` (але ``" +"\"example.com\"`` сам по собі не робить). IP-адреси є винятком і мають точно " +"збігатися. Наприклад, якщо blocked_domains містить ``\"192.168.1.2\"`` і ``" +"\".168.1.2\"``, 192.168.1.2 заблоковано, а 193.168.1.2 – ні." + +msgid "" +":class:`DefaultCookiePolicy` implements the following additional methods:" +msgstr ":class:`DefaultCookiePolicy` реалізує такі додаткові методи:" + +msgid "Return the sequence of blocked domains (as a tuple)." +msgstr "Повертає послідовність заблокованих доменів (у вигляді кортежу)." + +msgid "Set the sequence of blocked domains." +msgstr "Встановіть послідовність заблокованих доменів." + +msgid "" +"Return ``True`` if *domain* is on the blocklist for setting or receiving " +"cookies." +msgstr "" + +msgid "Return :const:`None`, or the sequence of allowed domains (as a tuple)." +msgstr "" +"Повернути :const:`None` або послідовність дозволених доменів (як кортеж)." + +msgid "Set the sequence of allowed domains, or :const:`None`." +msgstr "Встановіть послідовність дозволених доменів або :const:`None`." + +msgid "" +"Return ``True`` if *domain* is not on the allowlist for setting or receiving " +"cookies." +msgstr "" + +msgid "" +":class:`DefaultCookiePolicy` instances have the following attributes, which " +"are all initialised from the constructor arguments of the same name, and " +"which may all be assigned to." +msgstr "" +":class:`DefaultCookiePolicy` екземпляри мають наведені нижче атрибути, які " +"всі ініціалізуються однойменними аргументами конструктора, і які всі можуть " +"бути призначені." + +msgid "" +"If true, request that the :class:`CookieJar` instance downgrade :rfc:`2109` " +"cookies (ie. cookies received in a :mailheader:`Set-Cookie` header with a " +"version cookie-attribute of 1) to Netscape cookies by setting the version " +"attribute of the :class:`Cookie` instance to 0. The default value is :const:" +"`None`, in which case RFC 2109 cookies are downgraded if and only if :rfc:" +"`2965` handling is turned off. Therefore, RFC 2109 cookies are downgraded " +"by default." +msgstr "" +"Якщо істина, вимагайте, щоб екземпляр :class:`CookieJar` повернув файли " +"cookie :rfc:`2109` (тобто файли cookie, отримані в заголовку :mailheader:" +"`Set-Cookie` з атрибутом cookie-версії 1) до файлів cookie Netscape " +"встановлення атрибута версії екземпляра :class:`Cookie` на 0. Значенням за " +"замовчуванням є :const:`None`, у цьому випадку файли cookie RFC 2109 " +"повертаються до попередньої версії тоді і тільки якщо обробку :rfc:`2965` " +"вимкнено. Тому за замовчуванням файли cookie RFC 2109 знижуються." + +msgid "General strictness switches:" +msgstr "Перемикачі загальної жорсткості:" + +msgid "" +"Don't allow sites to set two-component domains with country-code top-level " +"domains like ``.co.uk``, ``.gov.uk``, ``.co.nz``.etc. This is far from " +"perfect and isn't guaranteed to work!" +msgstr "" +"Не дозволяйте сайтам встановлювати двокомпонентні домени з доменами " +"верхнього рівня з кодом країни, наприклад ``.co.uk``, ``.gov.uk``, ``.co." +"nz``.etc. Це далеко не ідеально і не гарантовано спрацює!" + +msgid ":rfc:`2965` protocol strictness switches:" +msgstr ":rfc:`2965` перемикачі суворості протоколу:" + +msgid "" +"Follow :rfc:`2965` rules on unverifiable transactions (usually, an " +"unverifiable transaction is one resulting from a redirect or a request for " +"an image hosted on another site). If this is false, cookies are *never* " +"blocked on the basis of verifiability" +msgstr "" +"Дотримуйтеся правил :rfc:`2965` щодо транзакцій, які не підлягають перевірці " +"(зазвичай транзакція, яка не підлягає перевірці, є транзакцією, яка є " +"результатом перенаправлення або запиту зображення, розміщеного на іншому " +"сайті). Якщо це невірно, файли cookie *ніколи* не блокуються на основі " +"можливості перевірки" + +msgid "Netscape protocol strictness switches:" +msgstr "Перемикачі суворості протоколу Netscape:" + +msgid "" +"Apply :rfc:`2965` rules on unverifiable transactions even to Netscape " +"cookies." +msgstr "" +"Застосовуйте правила :rfc:`2965` до транзакцій, які неможливо перевірити, " +"навіть до файлів cookie Netscape." + +msgid "" +"Flags indicating how strict to be with domain-matching rules for Netscape " +"cookies. See below for acceptable values." +msgstr "" +"Прапорці, які вказують на те, наскільки суворими є правила відповідності " +"домену для файлів cookie Netscape. Допустимі значення див. нижче." + +msgid "" +"Ignore cookies in Set-Cookie: headers that have names starting with ``'$'``." +msgstr "" +"Ігноруйте файли cookie в Set-Cookie: заголовки, імена яких починаються з " +"``'$'``." + +msgid "Don't allow setting cookies whose path doesn't path-match request URI." +msgstr "" +"Заборонити встановлення файлів cookie, шлях яких не відповідає URI запиту." + +msgid "" +":attr:`strict_ns_domain` is a collection of flags. Its value is constructed " +"by or-ing together (for example, ``DomainStrictNoDots|" +"DomainStrictNonDomain`` means both flags are set)." +msgstr "" +":attr:`strict_ns_domain` — це набір прапорів. Його значення створюється " +"разом за допомогою \"або\" (наприклад, ``DomainStrictNoDots|" +"DomainStrictNonDomain`` означає, що встановлено обидва прапорці)." + +msgid "" +"When setting cookies, the 'host prefix' must not contain a dot (eg. ``www." +"foo.bar.com`` can't set a cookie for ``.bar.com``, because ``www.foo`` " +"contains a dot)." +msgstr "" +"Під час встановлення файлів cookie \"префікс хосту\" не повинен містити " +"крапку (наприклад, ``www.foo.bar.com`` не може встановити файл cookie для ``." +"bar.com``, оскільки ``www.foo`` містить крапку)." + +msgid "" +"Cookies that did not explicitly specify a ``domain`` cookie-attribute can " +"only be returned to a domain equal to the domain that set the cookie (eg. " +"``spam.example.com`` won't be returned cookies from ``example.com`` that had " +"no ``domain`` cookie-attribute)." +msgstr "" +"Файли cookie, у яких явно не вказано атрибут cookie домену, можна повернути " +"лише в домен, який відповідає домену, який встановив файл cookie (наприклад, " +"spam.example.com не повертатиме файли cookie з ``example.com``, який не мав " +"атрибута cookie ``domain``)." + +msgid "When setting cookies, require a full :rfc:`2965` domain-match." +msgstr "" +"Під час встановлення файлів cookie вимагайте повного збігу домену :rfc:" +"`2965`." + +msgid "" +"The following attributes are provided for convenience, and are the most " +"useful combinations of the above flags:" +msgstr "" +"Наступні атрибути надано для зручності та є найкориснішими комбінаціями " +"наведених вище позначок:" + +msgid "" +"Equivalent to 0 (ie. all of the above Netscape domain strictness flags " +"switched off)." +msgstr "" +"Еквівалент 0 (тобто всі наведені вище позначки суворості домену Netscape " +"вимкнено)." + +msgid "Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``." +msgstr "Еквівалент ``DomainStrictNoDots|DomainStrictNonDomain``." + +msgid "Cookie Objects" +msgstr "Об'єкти cookie" + +msgid "" +":class:`Cookie` instances have Python attributes roughly corresponding to " +"the standard cookie-attributes specified in the various cookie standards. " +"The correspondence is not one-to-one, because there are complicated rules " +"for assigning default values, because the ``max-age`` and ``expires`` cookie-" +"attributes contain equivalent information, and because :rfc:`2109` cookies " +"may be 'downgraded' by :mod:`http.cookiejar` from version 1 to version 0 " +"(Netscape) cookies." +msgstr "" +"Екземпляри :class:`Cookie` мають атрибути Python, які приблизно відповідають " +"стандартним атрибутам cookie, визначеним у різних стандартах cookie. " +"Відповідність не є однозначною, оскільки існують складні правила для " +"призначення значень за замовчуванням, тому що атрибути cookie ``max-age`` і " +"``expires`` містять еквівалентну інформацію, і тому, що :rfc:`2109` :mod:" +"`http.cookiejar` може \"понизити\" файли cookie з версії 1 до версії 0 " +"(Netscape)." + +msgid "" +"Assignment to these attributes should not be necessary other than in rare " +"circumstances in a :class:`CookiePolicy` method. The class does not enforce " +"internal consistency, so you should know what you're doing if you do that." +msgstr "" +"Призначення цих атрибутів не повинно бути необхідним, крім рідкісних " +"випадків у методі :class:`CookiePolicy`. Клас не забезпечує внутрішньої " +"узгодженості, тому ви повинні знати, що ви робите, якщо це робите." + +msgid "" +"Integer or :const:`None`. Netscape cookies have :attr:`version` 0. :rfc:" +"`2965` and :rfc:`2109` cookies have a ``version`` cookie-attribute of 1. " +"However, note that :mod:`http.cookiejar` may 'downgrade' RFC 2109 cookies to " +"Netscape cookies, in which case :attr:`version` is 0." +msgstr "" +"Ціле чи :const:`None`. Файли cookie Netscape мають :attr:`version` 0. Файли " +"cookie :rfc:`2965` і :rfc:`2109` мають атрибут cookie ``version`` 1. Однак " +"зауважте, що :mod:`http.cookiejar` може \"понизити\" файли cookie RFC 2109 " +"до файлів cookie Netscape, у цьому випадку :attr:`version` дорівнює 0." + +msgid "Cookie name (a string)." +msgstr "Назва файлу cookie (рядок)." + +msgid "Cookie value (a string), or :const:`None`." +msgstr "Значення файлу cookie (рядок) або :const:`None`." + +msgid "" +"String representing a port or a set of ports (eg. '80', or '80,8080'), or :" +"const:`None`." +msgstr "" +"Рядок, що представляє порт або набір портів (наприклад, '80', або " +"'80,8080'), або :const:`None`." + +msgid "Cookie path (a string, eg. ``'/acme/rocket_launchers'``)." +msgstr "Шлях файлу cookie (рядок, наприклад, ``'/acme/rocket_launchers'``)." + +msgid "``True`` if cookie should only be returned over a secure connection." +msgstr "``True``, якщо cookie має повертатися лише через безпечне з’єднання." + +msgid "" +"Integer expiry date in seconds since epoch, or :const:`None`. See also the :" +"meth:`is_expired` method." +msgstr "" +"Ціла дата закінчення терміну дії в секундах з епохи або :const:`None`. " +"Дивіться також метод :meth:`is_expired`." + +msgid "``True`` if this is a session cookie." +msgstr "``True``, якщо це сеансовий файл cookie." + +msgid "" +"String comment from the server explaining the function of this cookie, or :" +"const:`None`." +msgstr "" +"Рядковий коментар від сервера, що пояснює функцію цього файлу cookie, або :" +"const:`None`." + +msgid "" +"URL linking to a comment from the server explaining the function of this " +"cookie, or :const:`None`." +msgstr "" +"URL-адреса з посиланням на коментар із сервера, що пояснює функцію цього " +"файлу cookie, або :const:`None`." + +msgid "" +"``True`` if this cookie was received as an :rfc:`2109` cookie (ie. the " +"cookie arrived in a :mailheader:`Set-Cookie` header, and the value of the " +"Version cookie-attribute in that header was 1). This attribute is provided " +"because :mod:`http.cookiejar` may 'downgrade' RFC 2109 cookies to Netscape " +"cookies, in which case :attr:`version` is 0." +msgstr "" +"``True``, якщо цей файл cookie було отримано як файл cookie :rfc:`2109` " +"(тобто файл cookie надійшов у заголовок :mailheader:`Set-Cookie`, а значення " +"атрибута cookie Version у цьому заголовку було 1). Цей атрибут надається " +"тому, що :mod:`http.cookiejar` може \"понизити\" файли cookie RFC 2109 до " +"файлів cookie Netscape, у такому випадку :attr:`version` дорівнює 0." + +msgid "" +"``True`` if a port or set of ports was explicitly specified by the server " +"(in the :mailheader:`Set-Cookie` / :mailheader:`Set-Cookie2` header)." +msgstr "" +"``True``, якщо порт або набір портів було явно вказано сервером (у " +"заголовку :mailheader:`Set-Cookie` / :mailheader:`Set-Cookie2`)." + +msgid "``True`` if a domain was explicitly specified by the server." +msgstr "``True``, якщо домен явно вказано сервером." + +msgid "" +"``True`` if the domain explicitly specified by the server began with a dot " +"(``'.'``)." +msgstr "" +"``True``, якщо домен, явно вказаний сервером, починається з крапки " +"(``'.''``)." + +msgid "" +"Cookies may have additional non-standard cookie-attributes. These may be " +"accessed using the following methods:" +msgstr "" +"Файли cookie можуть мати додаткові нестандартні атрибути файлів cookie. До " +"них можна отримати доступ за допомогою таких методів:" + +msgid "Return ``True`` if cookie has the named cookie-attribute." +msgstr "Повертає ``True``, якщо cookie має названий атрибут cookie." + +msgid "" +"If cookie has the named cookie-attribute, return its value. Otherwise, " +"return *default*." +msgstr "" +"Якщо cookie має названий атрибут cookie, повертає його значення. В іншому " +"випадку поверніть *default*." + +msgid "Set the value of the named cookie-attribute." +msgstr "Установіть значення іменованого атрибута cookie." + +msgid "The :class:`Cookie` class also defines the following method:" +msgstr "Клас :class:`Cookie` також визначає такий метод:" + +msgid "" +"``True`` if cookie has passed the time at which the server requested it " +"should expire. If *now* is given (in seconds since the epoch), return " +"whether the cookie has expired at the specified time." +msgstr "" +"``True``, якщо термін дії файлу cookie минув, коли його запитував сервер. " +"Якщо вказано *now* (у секундах з епохи), повертається, чи закінчився термін " +"дії файлу cookie у вказаний час." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"The first example shows the most common usage of :mod:`http.cookiejar`::" +msgstr "" +"Перший приклад показує найпоширеніше використання :mod:`http.cookiejar`::" + +msgid "" +"This example illustrates how to open a URL using your Netscape, Mozilla, or " +"Lynx cookies (assumes Unix/Netscape convention for location of the cookies " +"file)::" +msgstr "" +"У цьому прикладі показано, як відкрити URL-адресу за допомогою файлів cookie " +"Netscape, Mozilla або Lynx (припускається, що для розташування файлу cookie " +"використовується угода Unix/Netscape):" + +msgid "" +"The next example illustrates the use of :class:`DefaultCookiePolicy`. Turn " +"on :rfc:`2965` cookies, be more strict about domains when setting and " +"returning Netscape cookies, and block some domains from setting cookies or " +"having them returned::" +msgstr "" +"Наступний приклад ілюструє використання :class:`DefaultCookiePolicy`. " +"Увімкніть файли cookie :rfc:`2965`, будьте суворішими щодо доменів під час " +"встановлення та повернення файлів cookie Netscape і забороніть деяким " +"доменам установлювати або повертати файли cookie::" diff --git a/library/http_cookies.po b/library/http_cookies.po new file mode 100644 index 000000000..08d3e13a5 --- /dev/null +++ b/library/http_cookies.po @@ -0,0 +1,344 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`http.cookies` --- HTTP state management" +msgstr ":mod:`http.cookies` --- керування станом HTTP" + +msgid "**Source code:** :source:`Lib/http/cookies.py`" +msgstr "**Вихідний код:** :source:`Lib/http/cookies.py`" + +msgid "" +"The :mod:`http.cookies` module defines classes for abstracting the concept " +"of cookies, an HTTP state management mechanism. It supports both simple " +"string-only cookies, and provides an abstraction for having any serializable " +"data-type as cookie value." +msgstr "" +"Модуль :mod:`http.cookies` визначає класи для абстрагування концепції файлів " +"cookie, механізму керування станом HTTP. Він підтримує як прості файли " +"cookie лише з рядками, так і надає абстракцію для будь-якого серіалізованого " +"типу даних як значення cookie." + +msgid "" +"The module formerly strictly applied the parsing rules described in the :rfc:" +"`2109` and :rfc:`2068` specifications. It has since been discovered that " +"MSIE 3.0x doesn't follow the character rules outlined in those specs and " +"also many current day browsers and servers have relaxed parsing rules when " +"comes to Cookie handling. As a result, the parsing rules used are a bit " +"less strict." +msgstr "" +"Раніше модуль суворо застосовував правила аналізу, описані в специфікаціях :" +"rfc:`2109` і :rfc:`2068`. Відтоді було виявлено, що MSIE 3.0x не " +"дотримується правил символів, викладених у цих специфікаціях, а також багато " +"сучасних браузерів і серверів мають пом’якшені правила синтаксичного " +"аналізу, коли йдеться про обробку файлів cookie. Як наслідок, " +"використовувані правила розбору є трохи менш суворими." + +msgid "" +"The character set, :data:`string.ascii_letters`, :data:`string.digits` and " +"``!#$%&'*+-.^_`|~:`` denote the set of valid characters allowed by this " +"module in Cookie name (as :attr:`~Morsel.key`)." +msgstr "" +"Набір символів :data:`string.ascii_letters`, :data:`string.digits` і ``!#$" +"%&'*+-.^_`|~:`` позначає набір дійсних символів, дозволених цей модуль у " +"імені файлу cookie (як :attr:`~Morsel.key`)." + +msgid "Allowed ':' as a valid Cookie name character." +msgstr "Дозволено \":\" як дійсний символ імені файлу cookie." + +msgid "" +"On encountering an invalid cookie, :exc:`CookieError` is raised, so if your " +"cookie data comes from a browser you should always prepare for invalid data " +"and catch :exc:`CookieError` on parsing." +msgstr "" +"У разі виявлення недійсних файлів cookie виникає помилка :exc:`CookieError`, " +"тому, якщо ваші дані файлів cookie надходять із браузера, ви повинні завжди " +"бути готовими до недійсних даних і виявляти помилку :exc:`CookieError` під " +"час синтаксичного аналізу." + +msgid "" +"Exception failing because of :rfc:`2109` invalidity: incorrect attributes, " +"incorrect :mailheader:`Set-Cookie` header, etc." +msgstr "" +"Помилка виключення через недійсність :rfc:`2109`: неправильні атрибути, " +"неправильний заголовок :mailheader:`Set-Cookie` тощо." + +msgid "" +"This class is a dictionary-like object whose keys are strings and whose " +"values are :class:`Morsel` instances. Note that upon setting a key to a " +"value, the value is first converted to a :class:`Morsel` containing the key " +"and the value." +msgstr "" +"Цей клас є словниковим об’єктом, ключі якого є рядками, а значення – " +"екземплярами :class:`Morsel`. Зауважте, що після встановлення ключа " +"значення, значення спочатку перетворюється на :class:`Morsel`, що містить " +"ключ і значення." + +msgid "If *input* is given, it is passed to the :meth:`load` method." +msgstr "Якщо задано *input*, воно передається в метод :meth:`load`." + +msgid "" +"This class derives from :class:`BaseCookie` and overrides :meth:" +"`value_decode` and :meth:`value_encode`. SimpleCookie supports strings as " +"cookie values. When setting the value, SimpleCookie calls the builtin :func:" +"`str()` to convert the value to a string. Values received from HTTP are kept " +"as strings." +msgstr "" +"Цей клас походить від :class:`BaseCookie` і замінює :meth:`value_decode` і :" +"meth:`value_encode`. SimpleCookie підтримує рядки як значення cookie. Під " +"час встановлення значення SimpleCookie викликає вбудований :func:`str()`, " +"щоб перетворити значення на рядок. Значення, отримані з HTTP, зберігаються " +"як рядки." + +msgid "Module :mod:`http.cookiejar`" +msgstr "Модуль :mod:`http.cookiejar`" + +msgid "" +"HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` and :mod:" +"`http.cookies` modules do not depend on each other." +msgstr "" +"Обробка файлів cookie HTTP для веб-*клієнтів*. Модулі :mod:`http.cookiejar` " +"і :mod:`http.cookies` не залежать один від одного." + +msgid ":rfc:`2109` - HTTP State Management Mechanism" +msgstr ":rfc:`2109` - механізм керування станом HTTP" + +msgid "This is the state management specification implemented by this module." +msgstr "Це специфікація управління станом, реалізована цим модулем." + +msgid "Cookie Objects" +msgstr "Об'єкти cookie" + +msgid "" +"Return a tuple ``(real_value, coded_value)`` from a string representation. " +"``real_value`` can be any type. This method does no decoding in :class:" +"`BaseCookie` --- it exists so it can be overridden." +msgstr "" +"Повертає кортеж ``(real_value, coded_value)`` із представлення рядка. " +"``real_value`` може мати будь-який тип. Цей метод не виконує декодування в :" +"class:`BaseCookie` --- він існує, тому його можна замінити." + +msgid "" +"Return a tuple ``(real_value, coded_value)``. *val* can be any type, but " +"``coded_value`` will always be converted to a string. This method does no " +"encoding in :class:`BaseCookie` --- it exists so it can be overridden." +msgstr "" +"Повертає кортеж ``(real_value, coded_value)``. *val* може мати будь-який " +"тип, але ``coded_value`` завжди буде перетворено на рядок. Цей метод не " +"кодує в :class:`BaseCookie` --- він існує, тому його можна замінити." + +msgid "" +"In general, it should be the case that :meth:`value_encode` and :meth:" +"`value_decode` are inverses on the range of *value_decode*." +msgstr "" +"Загалом має бути так, що :meth:`value_encode` і :meth:`value_decode` є " +"зворотними в діапазоні *value_decode*." + +msgid "" +"Return a string representation suitable to be sent as HTTP headers. *attrs* " +"and *header* are sent to each :class:`Morsel`'s :meth:`output` method. *sep* " +"is used to join the headers together, and is by default the combination " +"``'\\r\\n'`` (CRLF)." +msgstr "" +"Повертає представлення рядка, придатне для надсилання як заголовки HTTP. " +"*attrs* і *header* надсилаються кожному методу :meth:`output` :class:" +"`Morsel`. *sep* використовується для об’єднання заголовків і за " +"замовчуванням є комбінацією ``'\\r\\n'`` (CRLF)." + +msgid "" +"Return an embeddable JavaScript snippet, which, if run on a browser which " +"supports JavaScript, will act the same as if the HTTP headers was sent." +msgstr "" +"Повертає вбудований фрагмент JavaScript, який, якщо його запустити у " +"браузері, який підтримує JavaScript, діятиме так само, як якщо б було " +"надіслано заголовки HTTP." + +msgid "The meaning for *attrs* is the same as in :meth:`output`." +msgstr "Значення *attrs* таке ж, як і в :meth:`output`." + +msgid "" +"If *rawdata* is a string, parse it as an ``HTTP_COOKIE`` and add the values " +"found there as :class:`Morsel`\\ s. If it is a dictionary, it is equivalent " +"to::" +msgstr "" +"Якщо *rawdata* є рядком, проаналізуйте його як ``HTTP_COOKIE`` і додайте " +"знайдені значення як :class:`Morsel`\\ s. Якщо це словник, він " +"еквівалентний::" + +msgid "Morsel Objects" +msgstr "Шматок об'єктів" + +msgid "Abstract a key/value pair, which has some :rfc:`2109` attributes." +msgstr "Абстрагуйте пару ключ/значення, яка має деякі атрибути :rfc:`2109`." + +msgid "" +"Morsels are dictionary-like objects, whose set of keys is constant --- the " +"valid :rfc:`2109` attributes, which are" +msgstr "" +"Morsels — це об’єкти, подібні до словника, чий набір ключів постійний --- " +"дійсні атрибути :rfc:`2109`, які" + +msgid "``expires``" +msgstr "``закінчується``" + +msgid "``path``" +msgstr "``шлях``" + +msgid "``comment``" +msgstr "``коментар``" + +msgid "``domain``" +msgstr "``домен``" + +msgid "``max-age``" +msgstr "``максимальний вік``" + +msgid "``secure``" +msgstr "``безпечний``" + +msgid "``version``" +msgstr "``версія``" + +msgid "``httponly``" +msgstr "``httply``" + +msgid "``samesite``" +msgstr "``самий сайт``" + +msgid "" +"The attribute :attr:`httponly` specifies that the cookie is only transferred " +"in HTTP requests, and is not accessible through JavaScript. This is intended " +"to mitigate some forms of cross-site scripting." +msgstr "" +"Атрибут :attr:`httponly` вказує, що файл cookie передається лише в HTTP-" +"запитах і не доступний через JavaScript. Це призначено для пом’якшення " +"деяких форм міжсайтових сценаріїв." + +msgid "" +"The attribute :attr:`samesite` specifies that the browser is not allowed to " +"send the cookie along with cross-site requests. This helps to mitigate CSRF " +"attacks. Valid values for this attribute are \"Strict\" and \"Lax\"." +msgstr "" +"Атрибут :attr:`samesite` вказує, що браузеру заборонено надсилати файли " +"cookie разом із міжсайтовими запитами. Це допомагає пом’якшити атаки CSRF. " +"Дійсні значення для цього атрибута: \"Strict\" і \"Lax\"." + +msgid "The keys are case-insensitive and their default value is ``''``." +msgstr "" +"Ключі нечутливі до регістру, а їхнє значення за замовчуванням – ``''``." + +msgid "" +":meth:`~Morsel.__eq__` now takes :attr:`~Morsel.key` and :attr:`~Morsel." +"value` into account." +msgstr "" +":meth:`~Morsel.__eq__` тепер враховує :attr:`~Morsel.key` і :attr:`~Morsel." +"value`." + +msgid "" +"Attributes :attr:`~Morsel.key`, :attr:`~Morsel.value` and :attr:`~Morsel." +"coded_value` are read-only. Use :meth:`~Morsel.set` for setting them." +msgstr "" +"Атрибути :attr:`~Morsel.key`, :attr:`~Morsel.value` і :attr:`~Morsel." +"coded_value` доступні лише для читання. Використовуйте :meth:`~Morsel.set` " +"для їх налаштування." + +msgid "Added support for the :attr:`samesite` attribute." +msgstr "Додано підтримку атрибута :attr:`samesite`." + +msgid "The value of the cookie." +msgstr "Значення файлу cookie." + +msgid "The encoded value of the cookie --- this is what should be sent." +msgstr "Закодоване значення файлу cookie --- це те, що потрібно надіслати." + +msgid "The name of the cookie." +msgstr "Назва файлу cookie." + +msgid "Set the *key*, *value* and *coded_value* attributes." +msgstr "Установіть атрибути *key*, *value* і *coded_value*." + +msgid "Whether *K* is a member of the set of keys of a :class:`Morsel`." +msgstr "Чи є *K* членом набору ключів :class:`Morsel`." + +msgid "" +"Return a string representation of the Morsel, suitable to be sent as an HTTP " +"header. By default, all the attributes are included, unless *attrs* is " +"given, in which case it should be a list of attributes to use. *header* is " +"by default ``\"Set-Cookie:\"``." +msgstr "" +"Повертає рядкове представлення Morsel, придатне для надсилання як заголовок " +"HTTP. За замовчуванням включено всі атрибути, якщо не вказано *attrs*, у " +"цьому випадку це має бути список атрибутів для використання. *заголовок* за " +"замовчуванням ``\"Set-Cookie:\"``." + +msgid "" +"Return an embeddable JavaScript snippet, which, if run on a browser which " +"supports JavaScript, will act the same as if the HTTP header was sent." +msgstr "" +"Повертає вбудований фрагмент JavaScript, який, якщо запустити в браузері, " +"який підтримує JavaScript, діятиме так само, як якщо б було надіслано " +"заголовок HTTP." + +msgid "" +"Return a string representing the Morsel, without any surrounding HTTP or " +"JavaScript." +msgstr "" +"Повертає рядок, що представляє Morsel, без будь-якого оточуючого HTTP або " +"JavaScript." + +msgid "" +"Update the values in the Morsel dictionary with the values in the dictionary " +"*values*. Raise an error if any of the keys in the *values* dict is not a " +"valid :rfc:`2109` attribute." +msgstr "" +"Оновіть значення в словнику Morsel значеннями в словнику *values*. Викликає " +"помилку, якщо будь-який із ключів у *values* dict не є дійсним атрибутом :" +"rfc:`2109`." + +msgid "an error is raised for invalid keys." +msgstr "виникає помилка для недійсних ключів." + +msgid "Return a shallow copy of the Morsel object." +msgstr "Поверніть дрібну копію об’єкта Morsel." + +msgid "return a Morsel object instead of a dict." +msgstr "повертає об’єкт Morsel замість dict." + +msgid "" +"Raise an error if key is not a valid :rfc:`2109` attribute, otherwise behave " +"the same as :meth:`dict.setdefault`." +msgstr "" +"Викликає помилку, якщо ключ не є дійсним атрибутом :rfc:`2109`, інакше веде " +"себе так само, як :meth:`dict.setdefault`." + +msgid "Example" +msgstr "приклад" + +msgid "" +"The following example demonstrates how to use the :mod:`http.cookies` module." +msgstr "" +"У наступному прикладі показано, як використовувати модуль :mod:`http." +"cookies`." diff --git a/library/http_server.po b/library/http_server.po new file mode 100644 index 000000000..6a0d3d406 --- /dev/null +++ b/library/http_server.po @@ -0,0 +1,742 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`http.server` --- HTTP servers" +msgstr ":mod:`http.server` --- HTTP-сервери" + +msgid "**Source code:** :source:`Lib/http/server.py`" +msgstr "**Вихідний код:** :source:`Lib/http/server.py`" + +msgid "This module defines classes for implementing HTTP servers." +msgstr "Цей модуль визначає класи для реалізації HTTP-серверів." + +msgid "" +":mod:`http.server` is not recommended for production. It only implements :" +"ref:`basic security checks `." +msgstr "" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"One class, :class:`HTTPServer`, is a :class:`socketserver.TCPServer` " +"subclass. It creates and listens at the HTTP socket, dispatching the " +"requests to a handler. Code to create and run the server looks like this::" +msgstr "" +"Один клас, :class:`HTTPServer`, є підкласом :class:`socketserver.TCPServer`. " +"Він створює та прослуховує HTTP-сокет, надсилаючи запити обробнику. Код для " +"створення та запуску сервера виглядає так:" + +msgid "" +"This class builds on the :class:`~socketserver.TCPServer` class by storing " +"the server address as instance variables named :attr:`server_name` and :attr:" +"`server_port`. The server is accessible by the handler, typically through " +"the handler's :attr:`server` instance variable." +msgstr "" +"Цей клас будується на основі класу :class:`~socketserver.TCPServer`, " +"зберігаючи адресу сервера як змінні екземпляра з іменами :attr:`server_name` " +"і :attr:`server_port`. Сервер доступний обробнику, як правило, через змінну " +"екземпляра обробника :attr:`server`." + +msgid "" +"This class is identical to HTTPServer but uses threads to handle requests by " +"using the :class:`~socketserver.ThreadingMixIn`. This is useful to handle " +"web browsers pre-opening sockets, on which :class:`HTTPServer` would wait " +"indefinitely." +msgstr "" +"Цей клас ідентичний HTTPServer, але використовує потоки для обробки запитів " +"за допомогою :class:`~socketserver.ThreadingMixIn`. Це корисно для роботи з " +"веб-браузерами, які попередньо відкривають сокети, на яких :class:" +"`HTTPServer` чекатиме нескінченно довго." + +msgid "" +"The :class:`HTTPServer` and :class:`ThreadingHTTPServer` must be given a " +"*RequestHandlerClass* on instantiation, of which this module provides three " +"different variants:" +msgstr "" +":class:`HTTPServer` і :class:`ThreadingHTTPServer` повинні отримати " +"*RequestHandlerClass* під час створення екземпляра, для якого цей модуль " +"надає три різні варіанти:" + +msgid "" +"This class is used to handle the HTTP requests that arrive at the server. " +"By itself, it cannot respond to any actual HTTP requests; it must be " +"subclassed to handle each request method (e.g. GET or POST). :class:" +"`BaseHTTPRequestHandler` provides a number of class and instance variables, " +"and methods for use by subclasses." +msgstr "" +"Цей клас використовується для обробки HTTP-запитів, які надходять на сервер. " +"Сам по собі він не може відповідати на жодні фактичні запити HTTP; він " +"повинен бути підкласом для обробки кожного методу запиту (наприклад, GET або " +"POST). :class:`BaseHTTPRequestHandler` надає ряд змінних класу та " +"екземпляра, а також методів для використання підкласами." + +msgid "" +"The handler will parse the request and the headers, then call a method " +"specific to the request type. The method name is constructed from the " +"request. For example, for the request method ``SPAM``, the :meth:`do_SPAM` " +"method will be called with no arguments. All of the relevant information is " +"stored in instance variables of the handler. Subclasses should not need to " +"override or extend the :meth:`__init__` method." +msgstr "" +"Обробник розбере запит і заголовки, а потім викличе метод, специфічний для " +"типу запиту. Ім'я методу складається з запиту. Наприклад, для методу запиту " +"``SPAM`` буде викликаний метод :meth:`do_SPAM` без аргументів. Уся " +"відповідна інформація зберігається в змінних екземпляра обробника. Підкласам " +"не потрібно перевизначати або розширювати метод :meth:`__init__`." + +msgid ":class:`BaseHTTPRequestHandler` has the following instance variables:" +msgstr ":class:`BaseHTTPRequestHandler` має такі змінні екземпляра:" + +msgid "" +"Contains a tuple of the form ``(host, port)`` referring to the client's " +"address." +msgstr "" +"Містить кортеж у формі ``(хост, порт)``, який посилається на адресу клієнта." + +msgid "Contains the server instance." +msgstr "Містить екземпляр сервера." + +msgid "" +"Boolean that should be set before :meth:`handle_one_request` returns, " +"indicating if another request may be expected, or if the connection should " +"be shut down." +msgstr "" +"Логічне значення, яке має бути встановлено перед поверненням :meth:" +"`handle_one_request`, вказуючи, чи можна очікувати ще один запит, чи " +"з’єднання має бути закрито." + +msgid "" +"Contains the string representation of the HTTP request line. The terminating " +"CRLF is stripped. This attribute should be set by :meth:" +"`handle_one_request`. If no valid request line was processed, it should be " +"set to the empty string." +msgstr "" +"Містить рядкове представлення рядка запиту HTTP. Кінцевий CRLF видаляється. " +"Цей атрибут має бути встановлено :meth:`handle_one_request`. Якщо дійсний " +"рядок запиту не оброблено, його слід встановити на порожній рядок." + +msgid "Contains the command (request type). For example, ``'GET'``." +msgstr "Містить команду (тип запиту). Наприклад, ``'GET'``." + +msgid "" +"Contains the request path. If query component of the URL is present, then " +"``path`` includes the query. Using the terminology of :rfc:`3986`, ``path`` " +"here includes ``hier-part`` and the ``query``." +msgstr "" +"Містить шлях запиту. Якщо компонент запиту URL-адреси присутній, тоді " +"``path`` включає запит. Використовуючи термінологію :rfc:`3986`, ``path`` " +"тут включає ``hier-part`` і ``query``." + +msgid "" +"Contains the version string from the request. For example, ``'HTTP/1.0'``." +msgstr "Містить рядок версії із запиту. Наприклад, ``'HTTP/1.0'``." + +msgid "" +"Holds an instance of the class specified by the :attr:`MessageClass` class " +"variable. This instance parses and manages the headers in the HTTP request. " +"The :func:`~http.client.parse_headers` function from :mod:`http.client` is " +"used to parse the headers and it requires that the HTTP request provide a " +"valid :rfc:`2822` style header." +msgstr "" +"Містить екземпляр класу, визначеного змінною класу :attr:`MessageClass`. Цей " +"екземпляр аналізує та керує заголовками в запиті HTTP. Функція :func:`~http." +"client.parse_headers` з :mod:`http.client` використовується для аналізу " +"заголовків і вимагає, щоб HTTP-запит надав дійсний заголовок стилю :rfc:" +"`2822`." + +msgid "" +"An :class:`io.BufferedIOBase` input stream, ready to read from the start of " +"the optional input data." +msgstr "" +"Вхідний потік :class:`io.BufferedIOBase`, готовий для читання з початку " +"додаткових вхідних даних." + +msgid "" +"Contains the output stream for writing a response back to the client. Proper " +"adherence to the HTTP protocol must be used when writing to this stream in " +"order to achieve successful interoperation with HTTP clients." +msgstr "" +"Містить вихідний потік для запису відповіді клієнту. Щоб досягти успішної " +"взаємодії з HTTP-клієнтами, під час запису в цей потік необхідно належним " +"чином дотримуватися протоколу HTTP." + +msgid "This is an :class:`io.BufferedIOBase` stream." +msgstr "Це потік :class:`io.BufferedIOBase`." + +msgid ":class:`BaseHTTPRequestHandler` has the following attributes:" +msgstr ":class:`BaseHTTPRequestHandler` має такі атрибути:" + +msgid "" +"Specifies the server software version. You may want to override this. The " +"format is multiple whitespace-separated strings, where each string is of the " +"form name[/version]. For example, ``'BaseHTTP/0.2'``." +msgstr "" +"Визначає версію програмного забезпечення сервера. Ви можете змінити це. " +"Формат — кілька рядків, розділених пробілами, де кожен рядок має назву " +"форми[/version]. Наприклад, \"BaseHTTP/0.2\"." + +msgid "" +"Contains the Python system version, in a form usable by the :attr:" +"`version_string` method and the :attr:`server_version` class variable. For " +"example, ``'Python/1.4'``." +msgstr "" +"Містить версію системи Python у формі, придатній для використання методом :" +"attr:`version_string` і змінною класу :attr:`server_version`. Наприклад, " +"``'Python/1.4'``." + +msgid "" +"Specifies a format string that should be used by :meth:`send_error` method " +"for building an error response to the client. The string is filled by " +"default with variables from :attr:`responses` based on the status code that " +"passed to :meth:`send_error`." +msgstr "" +"Визначає рядок формату, який має використовуватися методом :meth:" +"`send_error` для створення відповіді про помилку клієнту. Рядок за " +"замовчуванням заповнюється змінними з :attr:`responses` на основі коду " +"стану, переданого в :meth:`send_error`." + +msgid "" +"Specifies the Content-Type HTTP header of error responses sent to the " +"client. The default value is ``'text/html'``." +msgstr "" +"Визначає HTTP-заголовок Content-Type відповідей про помилки, надісланих " +"клієнту. Значення за замовчуванням - ``'text/html'``." + +msgid "" +"Specifies the HTTP version to which the server is conformant. It is sent in " +"responses to let the client know the server's communication capabilities for " +"future requests. If set to ``'HTTP/1.1'``, the server will permit HTTP " +"persistent connections; however, your server *must* then include an accurate " +"``Content-Length`` header (using :meth:`send_header`) in all of its " +"responses to clients. For backwards compatibility, the setting defaults to " +"``'HTTP/1.0'``." +msgstr "" + +msgid "" +"Specifies an :class:`email.message.Message`\\ -like class to parse HTTP " +"headers. Typically, this is not overridden, and it defaults to :class:`http." +"client.HTTPMessage`." +msgstr "" +"Визначає :class:`email.message.Message`\\ -подібний клас для аналізу " +"заголовків HTTP. Як правило, це не перевизначається, і за замовчуванням має " +"значення :class:`http.client.HTTPMessage`." + +msgid "" +"This attribute contains a mapping of error code integers to two-element " +"tuples containing a short and long message. For example, ``{code: " +"(shortmessage, longmessage)}``. The *shortmessage* is usually used as the " +"*message* key in an error response, and *longmessage* as the *explain* key. " +"It is used by :meth:`send_response_only` and :meth:`send_error` methods." +msgstr "" +"Цей атрибут містить відображення цілих чисел коду помилки в двоелементні " +"кортежі, що містять коротке та довге повідомлення. Наприклад, ``{code: " +"(shortmessage, longmessage)}``. *shortmessage* зазвичай використовується як " +"ключ *message* у відповіді про помилку, а *longmessage* як ключ *explain*. " +"Він використовується методами :meth:`send_response_only` і :meth:" +"`send_error`." + +msgid "A :class:`BaseHTTPRequestHandler` instance has the following methods:" +msgstr "Екземпляр :class:`BaseHTTPRequestHandler` має такі методи:" + +msgid "" +"Calls :meth:`handle_one_request` once (or, if persistent connections are " +"enabled, multiple times) to handle incoming HTTP requests. You should never " +"need to override it; instead, implement appropriate :meth:`do_\\*` methods." +msgstr "" +"Викликає :meth:`handle_one_request` один раз (або, якщо ввімкнено постійні " +"з’єднання, кілька разів) для обробки вхідних запитів HTTP. Вам ніколи не " +"доведеться перевизначати це; натомість реалізуйте відповідні методи :meth:" +"`do_\\*`." + +msgid "" +"This method will parse and dispatch the request to the appropriate :meth:`do_" +"\\*` method. You should never need to override it." +msgstr "" +"Цей метод аналізуватиме та відправлятиме запит у відповідний метод :meth:`do_" +"\\*`. Вам ніколи не доведеться його перевизначати." + +msgid "" +"When an HTTP/1.1 conformant server receives an ``Expect: 100-continue`` " +"request header it responds back with a ``100 Continue`` followed by ``200 " +"OK`` headers. This method can be overridden to raise an error if the server " +"does not want the client to continue. For e.g. server can choose to send " +"``417 Expectation Failed`` as a response header and ``return False``." +msgstr "" + +msgid "" +"Sends and logs a complete error reply to the client. The numeric *code* " +"specifies the HTTP error code, with *message* as an optional, short, human " +"readable description of the error. The *explain* argument can be used to " +"provide more detailed information about the error; it will be formatted " +"using the :attr:`error_message_format` attribute and emitted, after a " +"complete set of headers, as the response body. The :attr:`responses` " +"attribute holds the default values for *message* and *explain* that will be " +"used if no value is provided; for unknown codes the default value for both " +"is the string ``???``. The body will be empty if the method is HEAD or the " +"response code is one of the following: ``1xx``, ``204 No Content``, ``205 " +"Reset Content``, ``304 Not Modified``." +msgstr "" +"Надсилає та реєструє клієнту повну відповідь про помилку. Цифровий *код* " +"визначає код помилки HTTP з *повідомленням* як необов’язковим коротким, " +"зрозумілим людині описом помилки. Аргумент *explain* можна використовувати " +"для надання більш детальної інформації про помилку; його буде відформатовано " +"за допомогою атрибута :attr:`error_message_format` і видано після повного " +"набору заголовків як тіло відповіді. Атрибут :attr:`responses` містить " +"значення за замовчуванням для *message* і *explain*, які " +"використовуватимуться, якщо значення не вказано; для невідомих кодів " +"значенням за замовчуванням для обох є рядок ``???``. Тіло буде порожнім, " +"якщо метод HEAD або код відповіді один із таких: ``1xx``, ``204 No " +"Content``, ``205 Reset Content``, ``304 Not Modified``." + +msgid "" +"The error response includes a Content-Length header. Added the *explain* " +"argument." +msgstr "" +"Відповідь про помилку містить заголовок Content-Length. Додано аргумент " +"*explain*." + +msgid "" +"Adds a response header to the headers buffer and logs the accepted request. " +"The HTTP response line is written to the internal buffer, followed by " +"*Server* and *Date* headers. The values for these two headers are picked up " +"from the :meth:`version_string` and :meth:`date_time_string` methods, " +"respectively. If the server does not intend to send any other headers using " +"the :meth:`send_header` method, then :meth:`send_response` should be " +"followed by an :meth:`end_headers` call." +msgstr "" +"Додає заголовок відповіді до буфера заголовків і реєструє прийнятий запит. " +"Рядок відповіді HTTP записується у внутрішній буфер, а потім ідуть заголовки " +"*Server* і *Date*. Значення для цих двох заголовків беруться з методів :meth:" +"`version_string` і :meth:`date_time_string` відповідно. Якщо сервер не має " +"наміру надсилати будь-які інші заголовки за допомогою методу :meth:" +"`send_header`, тоді за :meth:`send_response` має слідувати виклик :meth:" +"`end_headers`." + +msgid "" +"Headers are stored to an internal buffer and :meth:`end_headers` needs to be " +"called explicitly." +msgstr "" +"Заголовки зберігаються у внутрішньому буфері, і :meth:`end_headers` потрібно " +"викликати явно." + +msgid "" +"Adds the HTTP header to an internal buffer which will be written to the " +"output stream when either :meth:`end_headers` or :meth:`flush_headers` is " +"invoked. *keyword* should specify the header keyword, with *value* " +"specifying its value. Note that, after the send_header calls are done, :meth:" +"`end_headers` MUST BE called in order to complete the operation." +msgstr "" +"Додає HTTP-заголовок до внутрішнього буфера, який буде записаний у вихідний " +"потік під час виклику :meth:`end_headers` або :meth:`flush_headers`. " +"*keyword* має вказувати ключове слово заголовка, а *value* — його значення. " +"Зауважте, що після завершення викликів send_header :meth:`end_headers` " +"ПОТРІБНО викликати, щоб завершити операцію." + +msgid "Headers are stored in an internal buffer." +msgstr "Заголовки зберігаються у внутрішньому буфері." + +msgid "" +"Sends the response header only, used for the purposes when ``100 Continue`` " +"response is sent by the server to the client. The headers not buffered and " +"sent directly the output stream.If the *message* is not specified, the HTTP " +"message corresponding the response *code* is sent." +msgstr "" +"Надсилає лише заголовок відповіді, який використовується для цілей, коли " +"відповідь ``100 Continue`` надсилається сервером клієнту. Заголовки не " +"буферизуються та надсилаються безпосередньо в вихідний потік. Якщо " +"*повідомлення* не вказано, надсилається HTTP-повідомлення, що відповідає " +"*коду* відповіді." + +msgid "" +"Adds a blank line (indicating the end of the HTTP headers in the response) " +"to the headers buffer and calls :meth:`flush_headers()`." +msgstr "" +"Додає порожній рядок (що вказує на кінець заголовків HTTP у відповіді) до " +"буфера заголовків і викликає :meth:`flush_headers()`." + +msgid "The buffered headers are written to the output stream." +msgstr "Буферизовані заголовки записуються у вихідний потік." + +msgid "" +"Finally send the headers to the output stream and flush the internal headers " +"buffer." +msgstr "" +"Нарешті надішліть заголовки у вихідний потік і очистіть внутрішній буфер " +"заголовків." + +msgid "" +"Logs an accepted (successful) request. *code* should specify the numeric " +"HTTP code associated with the response. If a size of the response is " +"available, then it should be passed as the *size* parameter." +msgstr "" +"Реєструє прийнятий (успішний) запит. *code* має вказувати числовий код HTTP, " +"пов’язаний із відповіддю. Якщо доступний розмір відповіді, його слід " +"передати як параметр *size*." + +msgid "" +"Logs an error when a request cannot be fulfilled. By default, it passes the " +"message to :meth:`log_message`, so it takes the same arguments (*format* and " +"additional values)." +msgstr "" +"Записує помилку, коли запит не може бути виконано. За замовчуванням він " +"передає повідомлення в :meth:`log_message`, тому приймає ті самі аргументи " +"(*формат* і додаткові значення)." + +msgid "" +"Logs an arbitrary message to ``sys.stderr``. This is typically overridden to " +"create custom error logging mechanisms. The *format* argument is a standard " +"printf-style format string, where the additional arguments to :meth:" +"`log_message` are applied as inputs to the formatting. The client ip address " +"and current date and time are prefixed to every message logged." +msgstr "" +"Записує довільне повідомлення до ``sys.stderr``. Зазвичай це замінюється, " +"щоб створити спеціальні механізми реєстрації помилок. Аргумент *format* — це " +"стандартний рядок форматування у стилі printf, де додаткові аргументи :meth:" +"`log_message` застосовуються як вхідні дані для форматування. IP-адреса " +"клієнта, поточна дата й час додаються до кожного зареєстрованого " +"повідомлення." + +msgid "" +"Returns the server software's version string. This is a combination of the :" +"attr:`server_version` and :attr:`sys_version` attributes." +msgstr "" +"Повертає рядок версії програмного забезпечення сервера. Це комбінація " +"атрибутів :attr:`server_version` і :attr:`sys_version`." + +msgid "" +"Returns the date and time given by *timestamp* (which must be ``None`` or in " +"the format returned by :func:`time.time`), formatted for a message header. " +"If *timestamp* is omitted, it uses the current date and time." +msgstr "" +"Повертає дату й час, задані *timestamp* (які мають бути ``None`` або у " +"форматі, що повертається :func:`time.time`), відформатовані для заголовка " +"повідомлення. Якщо *timestamp* пропущено, використовуються поточні дата й " +"час." + +msgid "The result looks like ``'Sun, 06 Nov 1994 08:49:37 GMT'``." +msgstr "Результат виглядає так: ``'Sun, 06 Nov 1994 08:49:37 GMT''``." + +msgid "Returns the current date and time, formatted for logging." +msgstr "Повертає поточну дату й час у форматі для журналювання." + +msgid "Returns the client address." +msgstr "Повертає адресу клієнта." + +msgid "" +"Previously, a name lookup was performed. To avoid name resolution delays, it " +"now always returns the IP address." +msgstr "" +"Раніше було виконано пошук імені. Щоб уникнути затримок розпізнавання імен, " +"тепер завжди повертається IP-адреса." + +msgid "" +"This class serves files from the directory *directory* and below, or the " +"current directory if *directory* is not provided, directly mapping the " +"directory structure to HTTP requests." +msgstr "" +"Цей клас обслуговує файли з каталогу *directory* і нижче, або з поточного " +"каталогу, якщо *directory* не надано, безпосередньо відображаючи структуру " +"каталогу на HTTP-запити." + +msgid "The *directory* parameter." +msgstr "Параметр *каталог*." + +msgid "The *directory* parameter accepts a :term:`path-like object`." +msgstr "Параметр *directory* приймає :term:`path-like object`." + +msgid "" +"A lot of the work, such as parsing the request, is done by the base class :" +"class:`BaseHTTPRequestHandler`. This class implements the :func:`do_GET` " +"and :func:`do_HEAD` functions." +msgstr "" +"Велику частину роботи, наприклад розбір запиту, виконує базовий клас :class:" +"`BaseHTTPRequestHandler`. Цей клас реалізує функції :func:`do_GET` і :func:" +"`do_HEAD`." + +msgid "" +"The following are defined as class-level attributes of :class:" +"`SimpleHTTPRequestHandler`:" +msgstr "" +"Наступне визначено як атрибути рівня класу :class:`SimpleHTTPRequestHandler`:" + +msgid "" +"This will be ``\"SimpleHTTP/\" + __version__``, where ``__version__`` is " +"defined at the module level." +msgstr "" +"Це буде ``\"SimpleHTTP/\" + __version__``, де ``__version__`` визначено на " +"рівні модуля." + +msgid "" +"A dictionary mapping suffixes into MIME types, contains custom overrides for " +"the default system mappings. The mapping is used case-insensitively, and so " +"should contain only lower-cased keys." +msgstr "" +"Суфікси словника, що відображають типи MIME, містять користувацькі заміни " +"для стандартних системних відображень. Відображення використовується без " +"урахування регістру, тому має містити лише ключі в нижньому регістрі." + +msgid "" +"This dictionary is no longer filled with the default system mappings, but " +"only contains overrides." +msgstr "" +"Цей словник більше не заповнюється типовими системними відображеннями, а " +"містить лише перевизначення." + +msgid "" +"The :class:`SimpleHTTPRequestHandler` class defines the following methods:" +msgstr "Клас :class:`SimpleHTTPRequestHandler` визначає такі методи:" + +msgid "" +"This method serves the ``'HEAD'`` request type: it sends the headers it " +"would send for the equivalent ``GET`` request. See the :meth:`do_GET` method " +"for a more complete explanation of the possible headers." +msgstr "" +"Цей метод обслуговує тип запиту ``'HEAD``: він надсилає заголовки, які б " +"надіслав для еквівалентного запиту ``GET``. Перегляньте метод :meth:`do_GET` " +"для більш повного пояснення можливих заголовків." + +msgid "" +"The request is mapped to a local file by interpreting the request as a path " +"relative to the current working directory." +msgstr "" +"Запит відображається в локальному файлі шляхом інтерпретації запиту як шляху " +"відносно поточного робочого каталогу." + +msgid "" +"If the request was mapped to a directory, the directory is checked for a " +"file named ``index.html`` or ``index.htm`` (in that order). If found, the " +"file's contents are returned; otherwise a directory listing is generated by " +"calling the :meth:`list_directory` method. This method uses :func:`os." +"listdir` to scan the directory, and returns a ``404`` error response if the :" +"func:`~os.listdir` fails." +msgstr "" +"Якщо запит було зіставлено з каталогом, каталог перевіряється на наявність " +"файлу з назвою ``index.html`` або ``index.htm`` (у такому порядку). Якщо " +"знайдено, повертається вміст файлу; інакше список каталогу створюється " +"шляхом виклику методу :meth:`list_directory`. Цей метод використовує :func:" +"`os.listdir` для сканування каталогу та повертає відповідь про помилку " +"``404``, якщо :func:`~os.listdir` не вдається." + +msgid "" +"If the request was mapped to a file, it is opened. Any :exc:`OSError` " +"exception in opening the requested file is mapped to a ``404``, ``'File not " +"found'`` error. If there was a ``'If-Modified-Since'`` header in the " +"request, and the file was not modified after this time, a ``304``, ``'Not " +"Modified'`` response is sent. Otherwise, the content type is guessed by " +"calling the :meth:`guess_type` method, which in turn uses the " +"*extensions_map* variable, and the file contents are returned." +msgstr "" +"Якщо запит було зіставлено з файлом, він відкривається. Будь-який виняток :" +"exc:`OSError` під час відкриття запитуваного файлу відображається як помилка " +"``404``, ``'Файл не знайдено``. Якщо у запиті був заголовок ``'If-Modified-" +"Since`` і файл не було змінено після цього часу, надсилається відповідь " +"``304``, ``'Not Modified''``. В іншому випадку тип вмісту вгадується шляхом " +"виклику методу :meth:`guess_type`, який, у свою чергу, використовує змінну " +"*extensions_map*, і повертається вміст файлу." + +msgid "" +"A ``'Content-type:'`` header with the guessed content type is output, " +"followed by a ``'Content-Length:'`` header with the file's size and a " +"``'Last-Modified:'`` header with the file's modification time." +msgstr "" +"Виводиться заголовок ``'Content-type:''`` з припущеним типом вмісту, а потім " +"заголовок ``'Content-Length:''`` із заголовком ``'Content-Length:''`` із " +"заголовком розміру файлу та ``'Last-Modified:''``. заголовок із часом " +"модифікації файлу." + +msgid "" +"Then follows a blank line signifying the end of the headers, and then the " +"contents of the file are output. If the file's MIME type starts with ``text/" +"`` the file is opened in text mode; otherwise binary mode is used." +msgstr "" +"Потім слідує порожній рядок, що означає кінець заголовків, а потім " +"виводиться вміст файлу. Якщо тип MIME файлу починається з ``text/``, файл " +"відкривається в текстовому режимі; інакше використовується двійковий режим." + +msgid "" +"For example usage, see the implementation of the ``test`` function in :" +"source:`Lib/http/server.py`." +msgstr "" + +msgid "Support of the ``'If-Modified-Since'`` header." +msgstr "Підтримка заголовка ``'If-Modified-Since``." + +msgid "" +"The :class:`SimpleHTTPRequestHandler` class can be used in the following " +"manner in order to create a very basic webserver serving files relative to " +"the current directory::" +msgstr "" +"Клас :class:`SimpleHTTPRequestHandler` можна використовувати таким чином, " +"щоб створити простий веб-сервер, який обслуговує файли відносно поточного " +"каталогу:" + +msgid "" +":mod:`http.server` can also be invoked directly using the :option:`-m` " +"switch of the interpreter. Similar to the previous example, this serves " +"files relative to the current directory::" +msgstr "" +":mod:`http.server` також можна викликати безпосередньо за допомогою " +"перемикача :option:`-m` інтерпретатора. Подібно до попереднього прикладу, це " +"обслуговує файли відносно поточного каталогу::" + +msgid "" +"The server listens to port 8000 by default. The default can be overridden by " +"passing the desired port number as an argument::" +msgstr "" +"За замовчуванням сервер слухає порт 8000. Значення за замовчуванням можна " +"змінити, передавши потрібний номер порту як аргумент::" + +msgid "" +"By default, the server binds itself to all interfaces. The option ``-b/--" +"bind`` specifies a specific address to which it should bind. Both IPv4 and " +"IPv6 addresses are supported. For example, the following command causes the " +"server to bind to localhost only::" +msgstr "" +"За замовчуванням сервер прив’язується до всіх інтерфейсів. Параметр ``-b/--" +"bind`` вказує конкретну адресу, до якої має бути прив’язаний. Підтримуються " +"адреси IPv4 і IPv6. Наприклад, наступна команда змушує сервер прив’язуватися " +"лише до localhost::" + +msgid "``--bind`` argument was introduced." +msgstr "Було введено аргумент ``--bind``." + +msgid "``--bind`` argument enhanced to support IPv6" +msgstr "Аргумент ``--bind`` покращено для підтримки IPv6" + +msgid "" +"By default, the server uses the current directory. The option ``-d/--" +"directory`` specifies a directory to which it should serve the files. For " +"example, the following command uses a specific directory::" +msgstr "" +"За замовчуванням сервер використовує поточний каталог. Параметр ``-d/--" +"directory`` вказує каталог, до якого він має розміщувати файли. Наприклад, " +"наступна команда використовує певний каталог::" + +msgid "``--directory`` argument was introduced." +msgstr "Було введено аргумент ``--directory``." + +msgid "" +"By default, the server is conformant to HTTP/1.0. The option ``-p/--" +"protocol`` specifies the HTTP version to which the server is conformant. For " +"example, the following command runs an HTTP/1.1 conformant server::" +msgstr "" + +msgid "``--protocol`` argument was introduced." +msgstr "" + +msgid "" +"This class is used to serve either files or output of CGI scripts from the " +"current directory and below. Note that mapping HTTP hierarchic structure to " +"local directory structure is exactly as in :class:`SimpleHTTPRequestHandler`." +msgstr "" +"Цей клас використовується для обслуговування файлів або виведення сценаріїв " +"CGI з поточного каталогу та нижче. Зауважте, що зіставлення ієрархічної " +"структури HTTP зі структурою локального каталогу відбувається точно так " +"само, як у :class:`SimpleHTTPRequestHandler`." + +msgid "" +"CGI scripts run by the :class:`CGIHTTPRequestHandler` class cannot execute " +"redirects (HTTP code 302), because code 200 (script output follows) is sent " +"prior to execution of the CGI script. This pre-empts the status code." +msgstr "" +"Сценарії CGI, що виконуються класом :class:`CGIHTTPRequestHandler`, не " +"можуть виконувати перенаправлення (код HTTP 302), тому що код 200 (вивід " +"сценарію йде далі) надсилається перед виконанням сценарію CGI. Це випереджає " +"код стану." + +msgid "" +"The class will however, run the CGI script, instead of serving it as a file, " +"if it guesses it to be a CGI script. Only directory-based CGI are used --- " +"the other common server configuration is to treat special extensions as " +"denoting CGI scripts." +msgstr "" +"Однак клас запустить сценарій CGI замість того, щоб подавати його як файл, " +"якщо він здогадається, що це сценарій CGI. Використовується лише CGI на " +"основі каталогу --- іншою загальною конфігурацією сервера є розгляд " +"спеціальних розширень як позначення сценаріїв CGI." + +msgid "" +"The :func:`do_GET` and :func:`do_HEAD` functions are modified to run CGI " +"scripts and serve the output, instead of serving files, if the request leads " +"to somewhere below the ``cgi_directories`` path." +msgstr "" +"Функції :func:`do_GET` і :func:`do_HEAD` модифіковано для запуску CGI-" +"скриптів і обслуговування виводу замість обслуговування файлів, якщо запит " +"веде десь нижче шляху ``cgi_directories``." + +msgid "The :class:`CGIHTTPRequestHandler` defines the following data member:" +msgstr ":class:`CGIHTTPRequestHandler` визначає такий елемент даних:" + +msgid "" +"This defaults to ``['/cgi-bin', '/htbin']`` and describes directories to " +"treat as containing CGI scripts." +msgstr "" +"За замовчуванням це ``['/cgi-bin', '/htbin']`` і описує каталоги, які слід " +"вважати такими, що містять сценарії CGI." + +msgid "The :class:`CGIHTTPRequestHandler` defines the following method:" +msgstr ":class:`CGIHTTPRequestHandler` визначає такий метод:" + +msgid "" +"This method serves the ``'POST'`` request type, only allowed for CGI " +"scripts. Error 501, \"Can only POST to CGI scripts\", is output when trying " +"to POST to a non-CGI url." +msgstr "" +"Цей метод обслуговує тип запиту ``'POST'``, дозволений лише для сценаріїв " +"CGI. Помилка 501 \"Можна публікувати лише сценарії CGI\" виводиться під час " +"спроби ПУБЛІКАЦІЇ за URL-адресою, яка не є CGI." + +msgid "" +"Note that CGI scripts will be run with UID of user nobody, for security " +"reasons. Problems with the CGI script will be translated to error 403." +msgstr "" +"Зауважте, що сценарії CGI виконуватимуться з UID користувача nobody з " +"міркувань безпеки. Проблеми зі сценарієм CGI будуть переведені на помилку " +"403." + +msgid "" +":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing " +"the ``--cgi`` option::" +msgstr "" +":class:`CGIHTTPRequestHandler` можна ввімкнути в командному рядку, передавши " +"параметр ``--cgi``::" + +msgid "Security Considerations" +msgstr "Міркування безпеки" + +msgid "" +":class:`SimpleHTTPRequestHandler` will follow symbolic links when handling " +"requests, this makes it possible for files outside of the specified " +"directory to be served." +msgstr "" diff --git a/library/i18n.po b/library/i18n.po new file mode 100644 index 000000000..966b6a4c4 --- /dev/null +++ b/library/i18n.po @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Internationalization" +msgstr "Інтернаціоналізація" + +msgid "" +"The modules described in this chapter help you write software that is " +"independent of language and locale by providing mechanisms for selecting a " +"language to be used in program messages or by tailoring output to match " +"local conventions." +msgstr "" +"Модулі, описані в цьому розділі, допомагають вам писати програмне " +"забезпечення, яке не залежить від мови та локалі, забезпечуючи механізми для " +"вибору мови, яка буде використовуватися в програмних повідомленнях, або " +"адаптуючи вихідні дані відповідно до місцевих умов." + +msgid "The list of modules described in this chapter is:" +msgstr "Перелік модулів, описаних у цьому розділі:" diff --git a/library/idle.po b/library/idle.po new file mode 100644 index 000000000..0ec5487a6 --- /dev/null +++ b/library/idle.po @@ -0,0 +1,1860 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "IDLE" +msgstr "IDLE" + +msgid "**Source code:** :source:`Lib/idlelib/`" +msgstr "**Вихідний код:** :source:`Lib/idlelib/`" + +msgid "IDLE is Python's Integrated Development and Learning Environment." +msgstr "IDLE — це інтегроване середовище розробки та навчання Python." + +msgid "IDLE has the following features:" +msgstr "IDLE має такі особливості:" + +msgid "coded in 100% pure Python, using the :mod:`tkinter` GUI toolkit" +msgstr "" +"закодовано на 100% чистому Python, використовуючи інструментарій GUI :mod:" +"`tkinter`" + +msgid "cross-platform: works mostly the same on Windows, Unix, and macOS" +msgstr "кросплатформенність: працює майже однаково на Windows, Unix і macOS" + +msgid "" +"Python shell window (interactive interpreter) with colorizing of code input, " +"output, and error messages" +msgstr "" +"Вікно оболонки Python (інтерактивний інтерпретатор) із розфарбуванням " +"введення, виведення коду та повідомлень про помилки" + +msgid "" +"multi-window text editor with multiple undo, Python colorizing, smart " +"indent, call tips, auto completion, and other features" +msgstr "" +"багатовіконний текстовий редактор із множинним скасуванням, розфарбовуванням " +"Python, розумним відступом, підказками щодо виклику, автозавершенням та " +"іншими функціями" + +msgid "" +"search within any window, replace within editor windows, and search through " +"multiple files (grep)" +msgstr "" +"пошук у будь-якому вікні, заміна у вікнах редактора та пошук у кількох " +"файлах (grep)" + +msgid "" +"debugger with persistent breakpoints, stepping, and viewing of global and " +"local namespaces" +msgstr "" +"налагоджувач із постійними точками зупинки, кроками та переглядом глобальних " +"і локальних просторів імен" + +msgid "configuration, browsers, and other dialogs" +msgstr "налаштування, браузери та інші діалоги" + +msgid "Menus" +msgstr "Меню" + +msgid "" +"IDLE has two main window types, the Shell window and the Editor window. It " +"is possible to have multiple editor windows simultaneously. On Windows and " +"Linux, each has its own top menu. Each menu documented below indicates " +"which window type it is associated with." +msgstr "" +"IDLE має два основних типи вікон: вікно оболонки та вікно редактора. Можна " +"мати декілька вікон редактора одночасно. У Windows і Linux кожна з них має " +"власне верхнє меню. Кожне меню, описане нижче, вказує, з яким типом вікна " +"воно пов’язане." + +msgid "" +"Output windows, such as used for Edit => Find in Files, are a subtype of " +"editor window. They currently have the same top menu but a different " +"default title and context menu." +msgstr "" +"Вікна виводу, такі як використовуються для Правка => Знайти у файлах, є " +"підтипом вікна редактора. Наразі вони мають те саме верхнє меню, але інший " +"заголовок і контекстне меню за замовчуванням." + +msgid "" +"On macOS, there is one application menu. It dynamically changes according " +"to the window currently selected. It has an IDLE menu, and some entries " +"described below are moved around to conform to Apple guidelines." +msgstr "" +"У macOS є одне меню програми. Він динамічно змінюється відповідно до " +"поточного вибраного вікна. Він має меню IDLE, і деякі записи, описані нижче, " +"переміщено відповідно до вказівок Apple." + +msgid "File menu (Shell and Editor)" +msgstr "Меню \"Файл\" (Shell і Editor)" + +msgid "New File" +msgstr "Новий файл" + +msgid "Create a new file editing window." +msgstr "Створіть нове вікно редагування файлу." + +msgid "Open..." +msgstr "ВІДЧИНЕНО..." + +msgid "Open an existing file with an Open dialog." +msgstr "Відкрийте існуючий файл за допомогою діалогового вікна \"Відкрити\"." + +msgid "Open Module..." +msgstr "Відкрити модуль..." + +msgid "Open an existing module (searches sys.path)." +msgstr "Відкрийте наявний модуль (пошук sys.path)." + +msgid "Recent Files" +msgstr "Останні файли" + +msgid "Open a list of recent files. Click one to open it." +msgstr "Відкрийте список останніх файлів. Натисніть один, щоб відкрити його." + +msgid "Module Browser" +msgstr "" + +msgid "" +"Show functions, classes, and methods in the current Editor file in a tree " +"structure. In the shell, open a module first." +msgstr "" +"Показати функції, класи та методи в поточному файлі редактора у вигляді " +"дерева. В оболонці спочатку відкрийте модуль." + +msgid "Path Browser" +msgstr "Переглядач шляху" + +msgid "" +"Show sys.path directories, modules, functions, classes and methods in a tree " +"structure." +msgstr "" +"Показати каталоги, модулі, функції, класи та методи sys.path у структурі " +"дерева." + +msgid "Save" +msgstr "зберегти" + +msgid "" +"Save the current window to the associated file, if there is one. Windows " +"that have been changed since being opened or last saved have a \\* before " +"and after the window title. If there is no associated file, do Save As " +"instead." +msgstr "" +"Збережіть поточне вікно у відповідний файл, якщо він є. Вікна, які були " +"змінені після відкриття або останнього збереження, мають \\* перед і після " +"заголовка вікна. Якщо пов’язаного файлу немає, виконайте натомість " +"\"Зберегти як\"." + +msgid "Save As..." +msgstr "Зберегти як..." + +msgid "" +"Save the current window with a Save As dialog. The file saved becomes the " +"new associated file for the window. (If your file namager is set to hide " +"extensions, the current extension will be omitted in the file name box. If " +"the new filename has no '.', '.py' and '.txt' will be added for Python and " +"text files, except that on macOS Aqua,'.py' is added for all files.)" +msgstr "" + +msgid "Save Copy As..." +msgstr "Зберегти копію як..." + +msgid "" +"Save the current window to different file without changing the associated " +"file. (See Save As note above about filename extensions.)" +msgstr "" + +msgid "Print Window" +msgstr "Вікно друку" + +msgid "Print the current window to the default printer." +msgstr "Роздрукувати поточне вікно на принтері за замовчуванням." + +msgid "Close Window" +msgstr "Закрити вікно" + +msgid "" +"Close the current window (if an unsaved editor, ask to save; if an unsaved " +"Shell, ask to quit execution). Calling ``exit()`` or ``close()`` in the " +"Shell window also closes Shell. If this is the only window, also exit IDLE." +msgstr "" +"Закрийте поточне вікно (якщо незбережений редактор, попросіть зберегти; якщо " +"незбережений Shell, попросіть вийти з виконання). Виклик ``exit()`` або " +"``close()`` у вікні Shell також закриває Shell. Якщо це єдине вікно, також " +"вийдіть з IDLE." + +msgid "Exit IDLE" +msgstr "Вийти з IDLE" + +msgid "Close all windows and quit IDLE (ask to save unsaved edit windows)." +msgstr "" +"Закрийте всі вікна та вийдіть з IDLE (попросіть зберегти незбережені вікна " +"редагування)." + +msgid "Edit menu (Shell and Editor)" +msgstr "Меню редагування (оболонка та редактор)" + +msgid "Undo" +msgstr "Скасувати" + +msgid "" +"Undo the last change to the current window. A maximum of 1000 changes may " +"be undone." +msgstr "" +"Скасувати останню зміну в поточному вікні. Можна скасувати не більше 1000 " +"змін." + +msgid "Redo" +msgstr "Повторити" + +msgid "Redo the last undone change to the current window." +msgstr "Повторити останню скасовану зміну в поточному вікні." + +msgid "Select All" +msgstr "Вибрати все" + +msgid "Select the entire contents of the current window." +msgstr "Виділіть увесь вміст поточного вікна." + +msgid "Cut" +msgstr "Вирізати" + +msgid "" +"Copy selection into the system-wide clipboard; then delete the selection." +msgstr "" +"Копіювати виділення в загальносистемний буфер обміну; потім видаліть " +"виділення." + +msgid "Copy" +msgstr "Копія" + +msgid "Copy selection into the system-wide clipboard." +msgstr "Копіювати виділення в загальносистемний буфер обміну." + +msgid "Paste" +msgstr "Вставити" + +msgid "Insert contents of the system-wide clipboard into the current window." +msgstr "Вставити вміст загальносистемного буфера обміну в поточне вікно." + +msgid "The clipboard functions are also available in context menus." +msgstr "Функції буфера обміну також доступні в контекстних меню." + +msgid "Find..." +msgstr "знайти..." + +msgid "Open a search dialog with many options" +msgstr "Відкрийте діалогове вікно пошуку з багатьма параметрами" + +msgid "Find Again" +msgstr "Знайти знову" + +msgid "Repeat the last search, if there is one." +msgstr "Повторіть останній пошук, якщо він є." + +msgid "Find Selection" +msgstr "Знайти виділення" + +msgid "Search for the currently selected string, if there is one." +msgstr "Пошук поточного вибраного рядка, якщо він є." + +msgid "Find in Files..." +msgstr "Знайти у файлах..." + +msgid "Open a file search dialog. Put results in a new output window." +msgstr "" +"Відкрити діалогове вікно пошуку файлів. Помістіть результати в нове вікно " +"виводу." + +msgid "Replace..." +msgstr "Замінити..." + +msgid "Open a search-and-replace dialog." +msgstr "Відкрийте діалогове вікно пошуку та заміни." + +msgid "Go to Line" +msgstr "Перейдіть до лінії" + +msgid "" +"Move the cursor to the beginning of the line requested and make that line " +"visible. A request past the end of the file goes to the end. Clear any " +"selection and update the line and column status." +msgstr "" +"Перемістіть курсор на початок потрібного рядка та зробіть цей рядок видимим. " +"Запит після кінця файлу переходить до кінця. Зніміть вибір і оновіть статус " +"рядка та стовпця." + +msgid "Show Completions" +msgstr "Показати завершення" + +msgid "" +"Open a scrollable list allowing selection of existing names. See :ref:" +"`Completions ` in the Editing and navigation section below." +msgstr "" +"Відкрити прокручуваний список, що дозволяє вибрати існуючі імена. " +"Перегляньте :ref:`Completions ` у розділі \"Редагування та " +"навігація\" нижче." + +msgid "Expand Word" +msgstr "Розгорніть Word" + +msgid "" +"Expand a prefix you have typed to match a full word in the same window; " +"repeat to get a different expansion." +msgstr "" +"Розгорніть введений префікс, щоб відповідати повному слову в тому ж вікні; " +"повторіть, щоб отримати інше розширення." + +msgid "Show Call Tip" +msgstr "" + +msgid "" +"After an unclosed parenthesis for a function, open a small window with " +"function parameter hints. See :ref:`Calltips ` in the Editing and " +"navigation section below." +msgstr "" +"Після незакритої дужки для функції відкривається невелике вікно з підказками " +"параметрів функції. Див. :ref:`Calltips ` у розділі \"Редагування " +"та навігація\" нижче." + +msgid "Show Surrounding Parens" +msgstr "" + +msgid "Highlight the surrounding parenthesis." +msgstr "Виділіть оточуючі дужки." + +msgid "Format menu (Editor window only)" +msgstr "Меню \"Формат\" (лише вікно редактора)" + +msgid "Format Paragraph" +msgstr "Формат абзацу" + +msgid "" +"Reformat the current blank-line-delimited paragraph in comment block or " +"multiline string or selected line in a string. All lines in the paragraph " +"will be formatted to less than N columns, where N defaults to 72." +msgstr "" +"Переформатувати поточний розділений порожнім рядком абзац у блоці коментарів " +"або багаторядковий рядок або виділений рядок у рядку. Усі рядки в абзаці " +"будуть відформатовані до N стовпців, де N за умовчанням дорівнює 72." + +msgid "Indent Region" +msgstr "Область відступу" + +msgid "Shift selected lines right by the indent width (default 4 spaces)." +msgstr "" +"Зсунути виділені рядки праворуч на ширину відступу (за замовчуванням 4 " +"пробіли)." + +msgid "Dedent Region" +msgstr "Дедентська область" + +msgid "Shift selected lines left by the indent width (default 4 spaces)." +msgstr "" +"Зсунути вибрані рядки вліво на ширину відступу (за замовчуванням 4 " +"інтервали)." + +msgid "Comment Out Region" +msgstr "Регіон коментарів" + +msgid "Insert ## in front of selected lines." +msgstr "Вставте ## перед виділеними рядками." + +msgid "Uncomment Region" +msgstr "Розкоментуйте регіон" + +msgid "Remove leading # or ## from selected lines." +msgstr "Видалити початковий # або ## з вибраних рядків." + +msgid "Tabify Region" +msgstr "Регіон Tabify" + +msgid "" +"Turn *leading* stretches of spaces into tabs. (Note: We recommend using 4 " +"space blocks to indent Python code.)" +msgstr "" +"Перетворіть *початкові* ділянки пробілів на вкладки. (Примітка: ми " +"рекомендуємо використовувати 4 блоки пробілу для відступу коду Python.)" + +msgid "Untabify Region" +msgstr "Розблокувати регіон" + +msgid "Turn *all* tabs into the correct number of spaces." +msgstr "Перетворіть *усі* вкладки на правильну кількість пробілів." + +msgid "Toggle Tabs" +msgstr "Перемикати вкладки" + +msgid "Open a dialog to switch between indenting with spaces and tabs." +msgstr "" +"Відкрийте діалогове вікно для перемикання між відступами за допомогою " +"пробілів і табуляції." + +msgid "New Indent Width" +msgstr "Нова ширина відступу" + +msgid "" +"Open a dialog to change indent width. The accepted default by the Python " +"community is 4 spaces." +msgstr "" +"Відкрийте діалогове вікно, щоб змінити ширину відступу. Спільнота Python за " +"замовчуванням приймає 4 пробіли." + +msgid "Strip Trailing Chitespace" +msgstr "" + +msgid "" +"Remove trailing space and other whitespace characters after the last non-" +"whitespace character of a line by applying str.rstrip to each line, " +"including lines within multiline strings. Except for Shell windows, remove " +"extra newlines at the end of the file." +msgstr "" +"Видаліть кінцеві пробіли та інші пробіли після останнього непробілного " +"символу рядка, застосувавши str.rstrip до кожного рядка, включаючи рядки в " +"багаторядкових рядках. За винятком вікон Shell, видаліть зайві нові рядки в " +"кінці файлу." + +msgid "Run menu (Editor window only)" +msgstr "Меню \"Виконати\" (лише вікно редактора)" + +msgid "Run Module" +msgstr "Запустити модуль" + +msgid "" +"Do :ref:`Check Module `. If no error, restart the shell to " +"clean the environment, then execute the module. Output is displayed in the " +"Shell window. Note that output requires use of ``print`` or ``write``. When " +"execution is complete, the Shell retains focus and displays a prompt. At " +"this point, one may interactively explore the result of execution. This is " +"similar to executing a file with ``python -i file`` at a command line." +msgstr "" +"Зробіть :ref:`Перевірте модуль `. Якщо помилки немає, " +"перезапустіть оболонку, щоб очистити середовище, а потім запустіть модуль. " +"Результати відображаються у вікні оболонки. Зауважте, що вихід вимагає " +"використання ``print`` або ``write``. Коли виконання завершено, оболонка " +"зберігає фокус і відображає підказку. На цьому етапі можна інтерактивно " +"досліджувати результат виконання. Це схоже на виконання файлу за допомогою " +"``python -i file`` у командному рядку." + +msgid "Run... Customized" +msgstr "Запуск... Налаштований" + +msgid "" +"Same as :ref:`Run Module `, but run the module with customized " +"settings. *Command Line Arguments* extend :data:`sys.argv` as if passed on " +"a command line. The module can be run in the Shell without restarting." +msgstr "" +"Те саме, що :ref:`Запустити модуль `, але запустіть модуль із " +"налаштованими налаштуваннями. *Аргументи командного рядка* розширюють :data:" +"`sys.argv` так, ніби передано в командному рядку. Модуль можна запускати в " +"Shell без перезавантаження." + +msgid "Check Module" +msgstr "Перевірте модуль" + +msgid "" +"Check the syntax of the module currently open in the Editor window. If the " +"module has not been saved IDLE will either prompt the user to save or " +"autosave, as selected in the General tab of the Idle Settings dialog. If " +"there is a syntax error, the approximate location is indicated in the Editor " +"window." +msgstr "" +"Перевірте синтаксис модуля, який зараз відкрито у вікні редактора. Якщо " +"модуль не було збережено, IDLE запропонує користувачу зберегти або " +"автоматично зберегти, як вибрано на вкладці \"Загальні\" діалогового вікна " +"\"Параметри очікування\". Якщо є синтаксична помилка, у вікні редактора " +"вказується приблизне розташування." + +msgid "Python Shell" +msgstr "Python Shell" + +msgid "Open or wake up the Python Shell window." +msgstr "Відкрийте або виведіть з режиму сну вікно Python Shell." + +msgid "Shell menu (Shell window only)" +msgstr "Меню оболонки (лише вікно оболонки)" + +msgid "View Last Restart" +msgstr "Переглянути останній перезапуск" + +msgid "Scroll the shell window to the last Shell restart." +msgstr "Прокрутіть вікно оболонки до останнього перезапуску оболонки." + +msgid "Restart Shell" +msgstr "Перезапустіть Shell" + +msgid "" +"Restart the shell to clean the environment and reset display and exception " +"handling." +msgstr "" +"Перезапустіть оболонку, щоб очистити середовище та скинути відображення та " +"обробку винятків." + +msgid "Previous History" +msgstr "Попередня історія" + +msgid "" +"Cycle through earlier commands in history which match the current entry." +msgstr "" +"Переглядайте попередні команди в історії, які відповідають поточному запису." + +msgid "Next History" +msgstr "Наступна історія" + +msgid "Cycle through later commands in history which match the current entry." +msgstr "" +"Переглядайте наступні команди в історії, які відповідають поточному запису." + +msgid "Interrupt Execution" +msgstr "Перервати виконання" + +msgid "Stop a running program." +msgstr "Зупинка запущеної програми." + +msgid "Debug menu (Shell window only)" +msgstr "Меню налагодження (лише вікно оболонки)" + +msgid "Go to File/Line" +msgstr "Перейдіть до Файл/Рядок" + +msgid "" +"Look on the current line. with the cursor, and the line above for a filename " +"and line number. If found, open the file if not already open, and show the " +"line. Use this to view source lines referenced in an exception traceback " +"and lines found by Find in Files. Also available in the context menu of the " +"Shell window and Output windows." +msgstr "" +"Подивіться на поточний рядок. за допомогою курсора та рядок вище для імені " +"файлу та номера рядка. Якщо знайдено, відкрийте файл, якщо він ще не " +"відкритий, і покажіть рядок. Використовуйте це, щоб переглянути вихідні " +"рядки, на які посилаються у зворотному відстеження винятків, і рядки, " +"знайдені за допомогою функції \"Знайти у файлах\". Також доступний у " +"контекстному меню вікна оболонки та вікон виведення." + +msgid "Debugger (toggle)" +msgstr "Налагоджувач (перемикач)" + +msgid "" +"When activated, code entered in the Shell or run from an Editor will run " +"under the debugger. In the Editor, breakpoints can be set with the context " +"menu. This feature is still incomplete and somewhat experimental." +msgstr "" +"Після активації код, введений в оболонку або запущений із редактора, " +"запускатиметься під налагоджувачем. У редакторі точки зупину можна " +"встановити за допомогою контекстного меню. Ця функція ще не завершена і дещо " +"експериментальна." + +msgid "Stack Viewer" +msgstr "Переглядач стека" + +msgid "" +"Show the stack traceback of the last exception in a tree widget, with access " +"to locals and globals." +msgstr "" +"Показати зворотне трасування стека останнього винятку у віджеті дерева з " +"доступом до локальних і глобальних." + +msgid "Auto-open Stack Viewer" +msgstr "Автоматичне відкриття Stack Viewer" + +msgid "" +"Toggle automatically opening the stack viewer on an unhandled exception." +msgstr "" +"Увімкнути автоматичне відкриття засобу перегляду стеків у разі необробленого " +"винятку." + +msgid "Options menu (Shell and Editor)" +msgstr "Меню параметрів (оболонка та редактор)" + +msgid "Configure IDLE" +msgstr "Налаштувати IDLE" + +msgid "" +"Open a configuration dialog and change preferences for the following: fonts, " +"indentation, keybindings, text color themes, startup windows and size, " +"additional help sources, and extensions. On macOS, open the configuration " +"dialog by selecting Preferences in the application menu. For more details, " +"see :ref:`Setting preferences ` under Help and preferences." +msgstr "" +"Відкрийте діалогове вікно конфігурації та змініть такі параметри: шрифти, " +"відступи, сполучення клавіш, теми кольорів тексту, початкові вікна та " +"розмір, додаткові джерела довідки та розширення. У macOS відкрийте діалогове " +"вікно налаштування, вибравши \"Параметри\" в меню програми. Для отримання " +"додаткової інформації див. :ref:`Налаштування налаштувань ` у " +"розділі Довідка та налаштування." + +msgid "" +"Most configuration options apply to all windows or all future windows. The " +"option items below only apply to the active window." +msgstr "" +"Більшість параметрів конфігурації застосовуються до всіх вікон або всіх " +"майбутніх вікон. Наведені нижче параметри застосовуються лише до активного " +"вікна." + +msgid "Show/Hide Code Context (Editor Window only)" +msgstr "Показати/приховати контекст коду (лише у вікні редактора)" + +msgid "" +"Open a pane at the top of the edit window which shows the block context of " +"the code which has scrolled above the top of the window. See :ref:`Code " +"Context ` in the Editing and Navigation section below." +msgstr "" +"Відкрийте панель у верхній частині вікна редагування, яка показує контекст " +"блоку коду, який прокручується над верхньою частиною вікна. Див. :ref:" +"`Контекст коду ` у розділі \"Редагування та навігація\" нижче." + +msgid "Show/Hide Line Numbers (Editor Window only)" +msgstr "Показати/приховати номери рядків (лише у вікні редактора)" + +msgid "" +"Open a column to the left of the edit window which shows the number of each " +"line of text. The default is off, which may be changed in the preferences " +"(see :ref:`Setting preferences `)." +msgstr "" +"Відкрийте стовпець ліворуч від вікна редагування, у якому показано номер " +"кожного рядка тексту. За замовчуванням вимкнено, що можна змінити в " +"налаштуваннях (див. :ref:`Налаштування параметрів `)." + +msgid "Zoom/Restore Height" +msgstr "Збільшити/відновити висоту" + +msgid "" +"Toggles the window between normal size and maximum height. The initial size " +"defaults to 40 lines by 80 chars unless changed on the General tab of the " +"Configure IDLE dialog. The maximum height for a screen is determined by " +"momentarily maximizing a window the first time one is zoomed on the screen. " +"Changing screen settings may invalidate the saved height. This toggle has " +"no effect when a window is maximized." +msgstr "" +"Перемикає вікно між нормальним розміром і максимальною висотою. Початковий " +"розмір за замовчуванням становить 40 рядків по 80 символів, якщо не змінено " +"на вкладці \"Загальні\" діалогового вікна \"Налаштувати IDLE\". Максимальна " +"висота екрана визначається миттєвим розгортанням вікна під час першого " +"збільшення на екрані. Зміна налаштувань екрана може призвести до втрати " +"збереженої висоти. Цей перемикач не діє, коли вікно розгорнуто." + +msgid "Window menu (Shell and Editor)" +msgstr "Меню \"Вікно\" (оболонка та редактор)" + +msgid "" +"Lists the names of all open windows; select one to bring it to the " +"foreground (deiconifying it if necessary)." +msgstr "" +"Перераховує назви всіх відкритих вікон; виберіть один, щоб вивести його на " +"передній план (деіконіфікуючи його, якщо необхідно)." + +msgid "Help menu (Shell and Editor)" +msgstr "Меню \"Довідка\" (Shell і Editor)" + +msgid "About IDLE" +msgstr "Про IDLE" + +msgid "Display version, copyright, license, credits, and more." +msgstr "Версія для відображення, авторські права, ліцензія, авторство тощо." + +msgid "IDLE Help" +msgstr "Довідка IDLE" + +msgid "" +"Display this IDLE document, detailing the menu options, basic editing and " +"navigation, and other tips." +msgstr "" +"Відобразіть цей IDLE-документ із детальним описом параметрів меню, базового " +"редагування та навігації та іншими порадами." + +msgid "Python Docs" +msgstr "Документи Python" + +msgid "" +"Access local Python documentation, if installed, or start a web browser and " +"open docs.python.org showing the latest Python documentation." +msgstr "" +"Отримайте доступ до локальної документації Python, якщо її встановлено, або " +"запустіть веб-браузер і відкрийте docs.python.org, де показано останню " +"документацію Python." + +msgid "Turtle Demo" +msgstr "Черепаха демо" + +msgid "Run the turtledemo module with example Python code and turtle drawings." +msgstr "" +"Запустіть модуль turtledemo з прикладом коду Python і малюнками черепахи." + +msgid "" +"Additional help sources may be added here with the Configure IDLE dialog " +"under the General tab. See the :ref:`Help sources ` subsection " +"below for more on Help menu choices." +msgstr "" +"Тут можна додати додаткові джерела довідки за допомогою діалогового вікна " +"\"Налаштувати IDLE\" на вкладці \"Загальні\". Перегляньте підрозділ :ref:" +"`Джерела довідки ` нижче, щоб дізнатися більше про пункти меню " +"\"Довідка\"." + +msgid "Context menus" +msgstr "" + +msgid "" +"Open a context menu by right-clicking in a window (Control-click on macOS). " +"Context menus have the standard clipboard functions also on the Edit menu." +msgstr "" +"Відкрийте контекстне меню, клацнувши правою кнопкою миші у вікні (клацніть, " +"утримуючи Control у macOS). Контекстні меню мають стандартні функції буфера " +"обміну також у меню Правка." + +msgid "" +"Editor windows also have breakpoint functions. Lines with a breakpoint set " +"are specially marked. Breakpoints only have an effect when running under " +"the debugger. Breakpoints for a file are saved in the user's ``.idlerc`` " +"directory." +msgstr "" +"Вікна редактора також мають функції точки зупинки. Рядки з встановленою " +"точкою розриву спеціально позначені. Точки зупину діють лише під час роботи " +"під налагоджувачем. Точки зупину для файлу зберігаються в каталозі " +"користувача ``.idlerc``." + +msgid "Set Breakpoint" +msgstr "Встановити точку зупину" + +msgid "Set a breakpoint on the current line." +msgstr "Встановити точку зупину на поточному рядку." + +msgid "Clear Breakpoint" +msgstr "Очистити точку зупину" + +msgid "Clear the breakpoint on that line." +msgstr "Очистіть точку розриву на цьому рядку." + +msgid "Shell and Output windows also have the following." +msgstr "Вікна Shell і Output також мають наступне." + +msgid "Go to file/line" +msgstr "Перейти до файлу/рядка" + +msgid "Same as in Debug menu." +msgstr "Те саме, що в меню Debug." + +msgid "" +"The Shell window also has an output squeezing facility explained in the " +"*Python Shell window* subsection below." +msgstr "" +"Вікно Shell також має функцію стискання виводу, пояснену в підрозділі *Вікно " +"Python Shell* нижче." + +msgid "Squeeze" +msgstr "Стиснути" + +msgid "" +"If the cursor is over an output line, squeeze all the output between the " +"code above and the prompt below down to a 'Squeezed text' label." +msgstr "" +"Якщо курсор знаходиться над рядком виводу, стисніть увесь вивід між кодом " +"вище та підказкою внизу до мітки \"Стиснутий текст\"." + +msgid "Editing and Navigation" +msgstr "" + +msgid "Editor windows" +msgstr "Вікна редактора" + +msgid "" +"IDLE may open editor windows when it starts, depending on settings and how " +"you start IDLE. Thereafter, use the File menu. There can be only one open " +"editor window for a given file." +msgstr "" +"IDLE може відкривати вікна редактора під час запуску, залежно від " +"налаштувань і способу запуску IDLE. Після цього скористайтеся меню \"Файл\". " +"Для певного файлу може бути лише одне відкрите вікно редактора." + +msgid "" +"The title bar contains the name of the file, the full path, and the version " +"of Python and IDLE running the window. The status bar contains the line " +"number ('Ln') and column number ('Col'). Line numbers start with 1; column " +"numbers with 0." +msgstr "" +"Рядок заголовка містить ім’я файлу, повний шлях і версію Python та IDLE, у " +"яких запущено вікно. Рядок стану містить номер рядка ('Ln') і номер стовпця " +"('Col'). Номери рядків починаються з 1; номери стовпців з 0." + +msgid "" +"IDLE assumes that files with a known .py* extension contain Python code and " +"that other files do not. Run Python code with the Run menu." +msgstr "" +"IDLE передбачає, що файли з відомим розширенням .py* містять код Python, а " +"інші файли його не містять. Запустіть код Python за допомогою меню \"Виконати" +"\"." + +msgid "Key bindings" +msgstr "Прив'язки клавіш" + +msgid "" +"In this section, 'C' refers to the :kbd:`Control` key on Windows and Unix " +"and the :kbd:`Command` key on macOS." +msgstr "" +"У цьому розділі \"C\" означає клавішу :kbd:`Control` у Windows і Unix і " +"клавішу :kbd:`Command` у macOS." + +msgid ":kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right" +msgstr ":kbd:`Backspace` видаляє вліво; :kbd:`Del` видаляє праворуч" + +msgid "" +":kbd:`C-Backspace` delete word left; :kbd:`C-Del` delete word to the right" +msgstr "" +":kbd:`C-Backspace` видалити слово зліва; :kbd:`C-Del` видалити слово праворуч" + +msgid "Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around" +msgstr "" +"Клавіші зі стрілками та :kbd:`Page Up`/:kbd:`Page Down` для переміщення" + +msgid ":kbd:`C-LeftArrow` and :kbd:`C-RightArrow` moves by words" +msgstr ":kbd:`C-LeftArrow` і :kbd:`C-RightArrow` переміщуються словами" + +msgid ":kbd:`Home`/:kbd:`End` go to begin/end of line" +msgstr ":kbd:`Home`/:kbd:`End` перейти на початок/кінець рядка" + +msgid ":kbd:`C-Home`/:kbd:`C-End` go to begin/end of file" +msgstr ":kbd:`C-Home`/:kbd:`C-End` перейти на початок/кінець файлу" + +msgid "Some useful Emacs bindings are inherited from Tcl/Tk:" +msgstr "Деякі корисні прив’язки Emacs успадковано від Tcl/Tk:" + +msgid ":kbd:`C-a` beginning of line" +msgstr ":kbd:`C-a` початок рядка" + +msgid ":kbd:`C-e` end of line" +msgstr ":kbd:`C-e` кінець рядка" + +msgid ":kbd:`C-k` kill line (but doesn't put it in clipboard)" +msgstr ":kbd:`C-k` видалення рядка (але не поміщає його в буфер обміну)" + +msgid ":kbd:`C-l` center window around the insertion point" +msgstr ":kbd:`C-l` центральне вікно навколо точки вставки" + +msgid "" +":kbd:`C-b` go backward one character without deleting (usually you can also " +"use the cursor key for this)" +msgstr "" +":kbd:`C-b` перейти на один символ назад без видалення (зазвичай для цього " +"також можна використовувати клавішу курсору)" + +msgid "" +":kbd:`C-f` go forward one character without deleting (usually you can also " +"use the cursor key for this)" +msgstr "" +":kbd:`C-f` перехід на один символ вперед без видалення (зазвичай для цього " +"також можна використовувати клавішу курсору)" + +msgid "" +":kbd:`C-p` go up one line (usually you can also use the cursor key for this)" +msgstr "" +":kbd:`C-p` піднімається на один рядок вище (зазвичай для цього також можна " +"використовувати клавішу керування курсором)" + +msgid ":kbd:`C-d` delete next character" +msgstr ":kbd:`C-d` видалити наступний символ" + +msgid "" +"Standard keybindings (like :kbd:`C-c` to copy and :kbd:`C-v` to paste) may " +"work. Keybindings are selected in the Configure IDLE dialog." +msgstr "" +"Стандартні комбінації клавіш (наприклад, :kbd:`C-c` для копіювання та :kbd:" +"`C-v` для вставлення) можуть працювати. Сполучення клавіш вибираються в " +"діалоговому вікні \"Налаштувати IDLE\"." + +msgid "Automatic indentation" +msgstr "Автоматичний відступ" + +msgid "" +"After a block-opening statement, the next line is indented by 4 spaces (in " +"the Python Shell window by one tab). After certain keywords (break, return " +"etc.) the next line is dedented. In leading indentation, :kbd:`Backspace` " +"deletes up to 4 spaces if they are there. :kbd:`Tab` inserts spaces (in the " +"Python Shell window one tab), number depends on Indent width. Currently, " +"tabs are restricted to four spaces due to Tcl/Tk limitations." +msgstr "" +"Після оператора відкриття блоку наступний рядок має відступ на 4 пробіли (у " +"вікні оболонки Python на одну вкладку). Після певних ключових слів (break, " +"return тощо) у наступному рядку робиться відступ. У початковому відступі :" +"kbd:`Backspace` видаляє до 4 пробілів, якщо вони є. :kbd:`Tab` вставляє " +"пробіли (у вікні оболонки Python одна табуляція), кількість залежить від " +"ширини відступу. Наразі табуляції обмежені чотирма пробілами через обмеження " +"Tcl/Tk." + +msgid "" +"See also the indent/dedent region commands on the :ref:`Format menu `." +msgstr "" +"Дивіться також команди області відступу/відступу в :ref:`меню Формат `." + +msgid "Search and Replace" +msgstr "Пошук і заміна" + +msgid "" +"Any selection becomes a search target. However, only selections within a " +"line work because searches are only performed within lines with the terminal " +"newline removed. If ``[x] Regular expresion`` is checked, the target is " +"interpreted according to the Python re module." +msgstr "" + +msgid "Completions" +msgstr "Доробки" + +msgid "" +"Completions are supplied, when requested and available, for module names, " +"attributes of classes or functions, or filenames. Each request method " +"displays a completion box with existing names. (See tab completions below " +"for an exception.) For any box, change the name being completed and the item " +"highlighted in the box by typing and deleting characters; by hitting :kbd:" +"`Up`, :kbd:`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home`, and :kbd:" +"`End` keys; and by a single click within the box. Close the box with :kbd:" +"`Escape`, :kbd:`Enter`, and double :kbd:`Tab` keys or clicks outside the " +"box. A double click within the box selects and closes." +msgstr "" +"Завершення надаються, коли це потрібно та доступно, для імен модулів, " +"атрибутів класів або функцій або імен файлів. Кожен метод запиту відображає " +"вікно завершення з існуючими назвами. (Див. завершення вкладок нижче для " +"винятку.) Для будь-якого поля змініть ім’я, що заповнюється, і елемент, " +"виділений у полі, вводячи та видаляючи символи; натисканням клавіш :kbd:" +"`Up`, :kbd:`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home` і :kbd:`End`; " +"і одним клацанням у полі. Закрийте поле за допомогою :kbd:`Escape`, :kbd:" +"`Enter` і подвійних клавіш :kbd:`Tab` або клацань за межами поля. Подвійне " +"клацання в полі вибирає та закриває." + +msgid "" +"One way to open a box is to type a key character and wait for a predefined " +"interval. This defaults to 2 seconds; customize it in the settings dialog. " +"(To prevent auto popups, set the delay to a large number of milliseconds, " +"such as 100000000.) For imported module names or class or function " +"attributes, type '.'. For filenames in the root directory, type :data:`os." +"sep` or :data:`os.altsep` immediately after an opening quote. (On Windows, " +"one can specify a drive first.) Move into subdirectories by typing a " +"directory name and a separator." +msgstr "" +"Один із способів відкрити вікно - це ввести символ ключа та почекати " +"заздалегідь визначений інтервал. За замовчуванням це 2 секунди; налаштувати " +"його в діалоговому вікні налаштувань. (Щоб запобігти автоматичним спливаючим " +"вікнам, установіть для затримки велику кількість мілісекунд, наприклад " +"100000000.) Для імпортованих імен модулів або атрибутів класу чи функції " +"введіть \".\". Для імен файлів у кореневому каталозі введіть :data:`os.sep` " +"або :data:`os.altsep` одразу після початкової лапки. (У Windows спочатку " +"можна вказати диск.) Переходьте до підкаталогів, вводячи назву каталогу та " +"роздільник." + +msgid "" +"Instead of waiting, or after a box is closed, open a completion box " +"immediately with Show Completions on the Edit menu. The default hot key is :" +"kbd:`C-space`. If one types a prefix for the desired name before opening " +"the box, the first match or near miss is made visible. The result is the " +"same as if one enters a prefix after the box is displayed. Show Completions " +"after a quote completes filenames in the current directory instead of a root " +"directory." +msgstr "" +"Замість того, щоб чекати або після закриття вікна, негайно відкрийте вікно " +"завершення за допомогою \"Показати завершення\" в меню \"Правка\". Типовою " +"гарячою клавішею є :kbd:`C-пробіл`. Якщо перед відкриттям вікна ввести " +"префікс для потрібного імені, стане видимим перший збіг або майже промах. " +"Результат такий самий, як і при введенні префікса після відображення поля. " +"Показувати завершення після того, як цитата завершує імена файлів у " +"поточному каталозі замість кореневого каталогу." + +msgid "" +"Hitting :kbd:`Tab` after a prefix usually has the same effect as Show " +"Completions. (With no prefix, it indents.) However, if there is only one " +"match to the prefix, that match is immediately added to the editor text " +"without opening a box." +msgstr "" +"Натискання :kbd:`Tab` після префікса зазвичай має той самий ефект, що й " +"Показати завершення. (Без префікса робиться відступ.) Однак, якщо існує лише " +"один збіг із префіксом, цей збіг негайно додається до тексту редактора без " +"відкриття поля." + +msgid "" +"Invoking 'Show Completions', or hitting :kbd:`Tab` after a prefix, outside " +"of a string and without a preceding '.' opens a box with keywords, builtin " +"names, and available module-level names." +msgstr "" +"Виклик \"Показати завершення\" або натискання :kbd:`Tab` після префікса, " +"поза рядком і без попереднього '.' відкриває вікно з ключовими словами, " +"вбудованими назвами та доступними назвами рівня модулів." + +msgid "" +"When editing code in an editor (as oppose to Shell), increase the available " +"module-level names by running your code and not restarting the Shell " +"thereafter. This is especially useful after adding imports at the top of a " +"file. This also increases possible attribute completions." +msgstr "" +"Під час редагування коду в редакторі (на відміну від Shell) збільште " +"доступні імена на рівні модулів, запустивши свій код і не перезапускаючи " +"Shell після цього. Це особливо корисно після додавання імпорту у верхній " +"частині файлу. Це також збільшує можливі завершення атрибутів." + +msgid "" +"Completion boxes initially exclude names beginning with '_' or, for modules, " +"not included in '__all__'. The hidden names can be accessed by typing '_' " +"after '.', either before or after the box is opened." +msgstr "" +"Поля завершення спочатку виключають імена, що починаються з '_' або, для " +"модулів, не включені в '__all__'. Доступ до прихованих імен можна отримати, " +"ввівши \"_\" після \".\" до або після відкриття вікна." + +msgid "Calltips" +msgstr "Підказки" + +msgid "" +"A calltip is shown automatically when one types :kbd:`(` after the name of " +"an *accessible* function. A function name expression may include dots and " +"subscripts. A calltip remains until it is clicked, the cursor is moved out " +"of the argument area, or :kbd:`)` is typed. Whenever the cursor is in the " +"argument part of a definition, select Edit and \"Show Call Tip\" on the menu " +"or enter its shortcut to display a calltip." +msgstr "" +"Підказка відображається автоматично, коли вводиться :kbd:`(` після назви " +"*доступної* функції. Вираз назви функції може включати крапки та нижні " +"індекси. Підказка залишається, доки її не клацнуть, курсор переміщується за " +"межі аргументу область, або :kbd:`)` вводиться. Щоразу, коли курсор " +"знаходиться в частині аргументів визначення, виберіть у меню \"Редагувати\" " +"та \"Показати підказку виклику\" або введіть відповідний ярлик, щоб " +"відобразити підказку виклику." + +msgid "" +"The calltip consists of the function's signature and docstring up to the " +"latter's first blank line or the fifth non-blank line. (Some builtin " +"functions lack an accessible signature.) A '/' or '*' in the signature " +"indicates that the preceding or following arguments are passed by position " +"or name (keyword) only. Details are subject to change." +msgstr "" +"Підказка складається з підпису функції та рядка документації до першого " +"порожнього рядка останнього або п’ятого непорожнього рядка. (Деякі вбудовані " +"функції не мають доступного підпису.) \"/\" або \"*\" у підписі вказує на " +"те, що попередні або наступні аргументи передаються лише за позицією чи " +"назвою (ключовим словом). Деталі можуть бути змінені." + +msgid "" +"In Shell, the accessible functions depends on what modules have been " +"imported into the user process, including those imported by Idle itself, and " +"which definitions have been run, all since the last restart." +msgstr "" +"У Shell доступні функції залежать від того, які модулі було імпортовано в " +"процес користувача, включно з тими, що імпортовані самим Idle, і які " +"визначення були запущені з моменту останнього перезапуску." + +msgid "" +"For example, restart the Shell and enter ``itertools.count(``. A calltip " +"appears because Idle imports itertools into the user process for its own " +"use. (This could change.) Enter ``turtle.write(`` and nothing appears. " +"Idle does not itself import turtle. The menu entry and shortcut also do " +"nothing. Enter ``import turtle``. Thereafter, ``turtle.write(`` will " +"display a calltip." +msgstr "" +"Наприклад, перезапустіть оболонку та введіть ``itertools.count(``. " +"З’являється підказка, тому що Idle імпортує itertools у процес користувача " +"для власного використання. (Це може змінитися.) Введіть ``turtle.write(`` і " +"нічого Idle сам по собі не імпортує черепаху. Пункт меню та ярлик також " +"нічого не роблять. Введіть ``import turtle``. Після цього ``turtle.write(`` " +"відобразить підказку." + +msgid "" +"In an editor, import statements have no effect until one runs the file. One " +"might want to run a file after writing import statements, after adding " +"function definitions, or after opening an existing file." +msgstr "" +"У редакторі оператори імпорту не діють, доки не буде запущено файл. Хтось " +"може захотіти запустити файл після написання операторів імпорту, після " +"додавання визначень функцій або після відкриття існуючого файлу." + +msgid "Code Context" +msgstr "Контекст коду" + +msgid "" +"Within an editor window containing Python code, code context can be toggled " +"in order to show or hide a pane at the top of the window. When shown, this " +"pane freezes the opening lines for block code, such as those beginning with " +"``class``, ``def``, or ``if`` keywords, that would have otherwise scrolled " +"out of view. The size of the pane will be expanded and contracted as needed " +"to show the all current levels of context, up to the maximum number of lines " +"defined in the Configure IDLE dialog (which defaults to 15). If there are " +"no current context lines and the feature is toggled on, a single blank line " +"will display. Clicking on a line in the context pane will move that line to " +"the top of the editor." +msgstr "" +"У вікні редактора, що містить код Python, контекст коду можна перемикати, " +"щоб показати або приховати панель у верхній частині вікна. Коли " +"відображається, ця панель заморожує початкові рядки для блокового коду, " +"наприклад тих, що починаються ключовими словами ``class``, ``def`` або " +"``if``, які інакше були б прокручені за межами поля зору. Розмір панелі буде " +"розширено та звужено за потреби, щоб показати всі поточні рівні контексту, " +"до максимальної кількості рядків, визначеної в діалоговому вікні " +"\"Налаштування IDLE\" (яке за замовчуванням дорівнює 15). Якщо немає " +"поточних контекстних рядків і функцію ввімкнено, відобразиться один порожній " +"рядок. Клацання рядка в контекстній панелі перемістить цей рядок у верхню " +"частину редактора." + +msgid "" +"The text and background colors for the context pane can be configured under " +"the Highlights tab in the Configure IDLE dialog." +msgstr "" +"Кольори тексту та фону для контекстної панелі можна налаштувати на вкладці " +"Highlights у діалоговому вікні Configure IDLE." + +msgid "Shell window" +msgstr "" + +msgid "" +"In IDLE's Shell, enter, edit, and recall complete statements. (Most consoles " +"and terminals only work with a single physical line at a time)." +msgstr "" + +msgid "" +"Submit a single-line statement for execution by hitting :kbd:`Return` with " +"the cursor anywhere on the line. If a line is extended with Backslash (:kbd:" +"`\\\\`), the cursor must be on the last physical line. Submit a multi-line " +"compound statement by entering a blank line after the statement." +msgstr "" + +msgid "" +"When one pastes code into Shell, it is not compiled and possibly executed " +"until one hits :kbd:`Return`, as specified above. One may edit pasted code " +"first. If one pastes more than one statement into Shell, the result will be " +"a :exc:`SyntaxError` when multiple statements are compiled as if they were " +"one." +msgstr "" + +msgid "" +"Lines containing ``RESTART`` mean that the user execution process has been " +"re-started. This occurs when the user execution process has crashed, when " +"one requests a restart on the Shell menu, or when one runs code in an editor " +"window." +msgstr "" + +msgid "" +"The editing features described in previous subsections work when entering " +"code interactively. IDLE's Shell window also responds to the following keys." +msgstr "" +"Функції редагування, описані в попередніх підрозділах, працюють під час " +"інтерактивного введення коду. Вікно оболонки IDLE також реагує на такі " +"клавіші." + +msgid ":kbd:`C-c` interrupts executing command" +msgstr ":kbd:`C-c` перериває виконання команди" + +msgid "" +":kbd:`C-d` sends end-of-file; closes window if typed at a ``>>>`` prompt" +msgstr "" +":kbd:`C-d` надсилає кінець файлу; закриває вікно, якщо введено під запит " +"``>>>``" + +msgid ":kbd:`Alt-/` (Expand word) is also useful to reduce typing" +msgstr "" +":kbd:`Alt-/` (розгортання слова) також корисно для зменшення набору тексту" + +msgid "Command history" +msgstr "Історія команд" + +msgid "" +":kbd:`Alt-p` retrieves previous command matching what you have typed. On " +"macOS use :kbd:`C-p`." +msgstr "" +":kbd:`Alt-p` отримує попередню команду, яка відповідає тому, що ви ввели. У " +"macOS використовуйте :kbd:`C-p`." + +msgid ":kbd:`Alt-n` retrieves next. On macOS use :kbd:`C-n`." +msgstr ":kbd:`Alt-n` отримує наступний. У macOS використовуйте :kbd:`C-n`." + +msgid "" +":kbd:`Return` while the cursor is on any previous command retrieves that " +"command" +msgstr "" + +msgid "Text colors" +msgstr "Кольори тексту" + +msgid "" +"Idle defaults to black on white text, but colors text with special meanings. " +"For the shell, these are shell output, shell error, user output, and user " +"error. For Python code, at the shell prompt or in an editor, these are " +"keywords, builtin class and function names, names following ``class`` and " +"``def``, strings, and comments. For any text window, these are the cursor " +"(when present), found text (when possible), and selected text." +msgstr "" +"Неактивний за замовчуванням чорним на білому тексті, але кольоровий текст зі " +"спеціальними значеннями. Для оболонки це вивід оболонки, помилка оболонки, " +"вивід користувача та помилка користувача. Для коду Python, у командному " +"рядку або в редакторі, це ключові слова, вбудовані імена класів і функцій, " +"імена після ``class`` і ``def``, рядки та коментарі. Для будь-якого " +"текстового вікна це курсор (якщо є), знайдений текст (якщо можливо) і " +"виділений текст." + +msgid "" +"IDLE also highlights the :ref:`soft keywords ` :keyword:" +"`match`, :keyword:`case `, and :keyword:`_ ` in " +"pattern-matching statements. However, this highlighting is not perfect and " +"will be incorrect in some rare cases, including some ``_``-s in ``case`` " +"patterns." +msgstr "" +"IDLE також виділяє :ref:`м’які ключові слова ` :keyword:" +"`match`, :keyword:`case ` і :keyword:`_ ` в " +"операторах зіставлення шаблонів. Однак це підсвічування не є ідеальним і " +"буде неправильним у деяких рідкісних випадках, включаючи деякі ``_``-s у " +"шаблонах ``case``." + +msgid "" +"Text coloring is done in the background, so uncolorized text is occasionally " +"visible. To change the color scheme, use the Configure IDLE dialog " +"Highlighting tab. The marking of debugger breakpoint lines in the editor " +"and text in popups and dialogs is not user-configurable." +msgstr "" +"Фарбування тексту виконується у фоновому режимі, тому час від часу видно " +"нерозфарбований текст. Щоб змінити колірну схему, скористайтеся вкладкою " +"підсвічування діалогового вікна налаштування IDLE. Позначення рядків точок " +"зупину налагоджувача в редакторі та тексту в спливаючих і діалогових вікнах " +"не можна налаштувати користувачем." + +msgid "Startup and Code Execution" +msgstr "" + +msgid "" +"Upon startup with the ``-s`` option, IDLE will execute the file referenced " +"by the environment variables :envvar:`IDLESTARTUP` or :envvar:" +"`PYTHONSTARTUP`. IDLE first checks for ``IDLESTARTUP``; if ``IDLESTARTUP`` " +"is present the file referenced is run. If ``IDLESTARTUP`` is not present, " +"IDLE checks for ``PYTHONSTARTUP``. Files referenced by these environment " +"variables are convenient places to store functions that are used frequently " +"from the IDLE shell, or for executing import statements to import common " +"modules." +msgstr "" +"Після запуску з опцією ``-s`` IDLE виконає файл, на який посилаються змінні " +"середовища :envvar:`IDLESTARTUP` або :envvar:`PYTHONSTARTUP`. IDLE спочатку " +"перевіряє ``IDLESTARTUP``; якщо ``IDLESTARTUP`` присутній, запускається " +"файл, на який посилається. Якщо ``IDLESTARTUP`` відсутній, IDLE перевіряє " +"``PYTHONSTARTUP``. Файли, на які посилаються ці змінні середовища, є " +"зручними місцями для зберігання функцій, які часто використовуються з " +"оболонки IDLE, або для виконання операторів імпорту для імпорту загальних " +"модулів." + +msgid "" +"In addition, ``Tk`` also loads a startup file if it is present. Note that " +"the Tk file is loaded unconditionally. This additional file is ``.Idle.py`` " +"and is looked for in the user's home directory. Statements in this file " +"will be executed in the Tk namespace, so this file is not useful for " +"importing functions to be used from IDLE's Python shell." +msgstr "" +"Крім того, ``Tk`` також завантажує файл запуску, якщо він присутній. " +"Зауважте, що файл Tk завантажується без умов. Цей додатковий файл має назву " +"``.Idle.py`` і його шукають у домашньому каталозі користувача. Інструкції в " +"цьому файлі виконуватимуться в просторі імен Tk, тому цей файл не корисний " +"для імпорту функцій, які будуть використовуватися з оболонки IDLE Python." + +msgid "Command line usage" +msgstr "Використання командного рядка" + +msgid "If there are arguments:" +msgstr "Якщо є аргументи:" + +msgid "" +"If ``-``, ``-c``, or ``r`` is used, all arguments are placed in ``sys." +"argv[1:...]`` and ``sys.argv[0]`` is set to ``''``, ``'-c'``, or ``'-r'``. " +"No editor window is opened, even if that is the default set in the Options " +"dialog." +msgstr "" +"Якщо використовується ``-``, ``-c`` або ``r``, усі аргументи розміщуються в " +"``sys.argv[1:...]`` та ``sys.argv[0 ]`` має значення ``''``, ``'-c''`` або " +"``'-r''``. Вікно редактора не відкривається, навіть якщо це встановлено за " +"умовчанням у діалоговому вікні \"Параметри\"." + +msgid "" +"Otherwise, arguments are files opened for editing and ``sys.argv`` reflects " +"the arguments passed to IDLE itself." +msgstr "" +"В іншому випадку аргументи – це файли, відкриті для редагування, а ``sys." +"argv`` відображає аргументи, передані самому IDLE." + +msgid "Startup failure" +msgstr "Помилка запуску" + +msgid "" +"IDLE uses a socket to communicate between the IDLE GUI process and the user " +"code execution process. A connection must be established whenever the Shell " +"starts or restarts. (The latter is indicated by a divider line that says " +"'RESTART'). If the user process fails to connect to the GUI process, it " +"usually displays a ``Tk`` error box with a 'cannot connect' message that " +"directs the user here. It then exits." +msgstr "" +"IDLE використовує сокет для зв’язку між процесом IDLE GUI і процесом " +"виконання коду користувача. Під час кожного запуску або перезапуску оболонки " +"потрібно встановлювати з’єднання. (Останнє позначається розділювальною " +"лінією з написом \"ПЕРЕЗАПУСТИТИ\"). Якщо процесу користувача не вдається " +"підключитися до процесу графічного інтерфейсу, він зазвичай відображає вікно " +"помилки ``Tk`` із повідомленням \"неможливо підключитися\", яке спрямовує " +"користувача сюди. Потім він виходить." + +msgid "" +"One specific connection failure on Unix systems results from misconfigured " +"masquerading rules somewhere in a system's network setup. When IDLE is " +"started from a terminal, one will see a message starting with ``** Invalid " +"host:``. The valid value is ``127.0.0.1 (idlelib.rpc.LOCALHOST)``. One can " +"diagnose with ``tcpconnect -irv 127.0.0.1 6543`` in one terminal window and " +"``tcplisten `` in another." +msgstr "" +"Одна конкретна помилка з’єднання в системах Unix є результатом неправильно " +"налаштованих правил маскування десь у налаштуваннях мережі системи. Коли " +"IDLE запускається з терміналу, ви побачите повідомлення, що починається з " +"``** Invalid host:``. Дійсним значенням є ``127.0.0.1 (idlelib.rpc." +"LOCALHOST)``. Можна діагностувати за допомогою ``tcpconnect -irv 127.0.0.1 " +"6543`` в одному вікні терміналу і ``tcplisten `` в іншому." + +msgid "" +"A common cause of failure is a user-written file with the same name as a " +"standard library module, such as *random.py* and *tkinter.py*. When such a " +"file is located in the same directory as a file that is about to be run, " +"IDLE cannot import the stdlib file. The current fix is to rename the user " +"file." +msgstr "" +"Поширеною причиною збою є написаний користувачем файл із такою ж назвою, як " +"стандартний бібліотечний модуль, наприклад *random.py* і *tkinter.py*. Якщо " +"такий файл знаходиться в тому ж каталозі, що й файл, який збирається " +"запустити, IDLE не може імпортувати файл stdlib. Поточне виправлення полягає " +"в перейменуванні файлу користувача." + +msgid "" +"Though less common than in the past, an antivirus or firewall program may " +"stop the connection. If the program cannot be taught to allow the " +"connection, then it must be turned off for IDLE to work. It is safe to " +"allow this internal connection because no data is visible on external " +"ports. A similar problem is a network mis-configuration that blocks " +"connections." +msgstr "" +"Хоча це рідше, ніж у минулому, антивірусна програма чи брандмауер можуть " +"зупинити з’єднання. Якщо програму не можна навчити дозволяти підключення, її " +"потрібно вимкнути, щоб IDLE працював. Можна безпечно дозволити це внутрішнє " +"з’єднання, оскільки на зовнішніх портах не видно жодних даних. Подібною " +"проблемою є неправильна конфігурація мережі, яка блокує підключення." + +msgid "" +"Python installation issues occasionally stop IDLE: multiple versions can " +"clash, or a single installation might need admin access. If one undo the " +"clash, or cannot or does not want to run as admin, it might be easiest to " +"completely remove Python and start over." +msgstr "" +"Проблеми з інсталяцією Python іноді зупиняють IDLE: кілька версій можуть " +"конфліктувати, або для однієї інсталяції може знадобитися доступ " +"адміністратора. Якщо хтось скасував зіткнення або не може або не хоче " +"запускатися від імені адміністратора, можливо, найлегше буде повністю " +"видалити Python і почати заново." + +msgid "" +"A zombie pythonw.exe process could be a problem. On Windows, use Task " +"Manager to check for one and stop it if there is. Sometimes a restart " +"initiated by a program crash or Keyboard Interrupt (control-C) may fail to " +"connect. Dismissing the error box or using Restart Shell on the Shell menu " +"may fix a temporary problem." +msgstr "" +"Процес зомбі pythonw.exe може бути проблемою. У Windows скористайтеся " +"диспетчером завдань, щоб перевірити його наявність і зупинити його, якщо він " +"є. Іноді перезапуск, ініційований збоєм програми або перериванням клавіатури " +"(control-C), може не вдатися до з’єднання. Закриття вікна помилки або " +"використання Restart Shell у меню Shell може вирішити тимчасову проблему." + +msgid "" +"When IDLE first starts, it attempts to read user configuration files in ``~/." +"idlerc/`` (~ is one's home directory). If there is a problem, an error " +"message should be displayed. Leaving aside random disk glitches, this can " +"be prevented by never editing the files by hand. Instead, use the " +"configuration dialog, under Options. Once there is an error in a user " +"configuration file, the best solution may be to delete it and start over " +"with the settings dialog." +msgstr "" +"Коли IDLE запускається вперше, він намагається прочитати конфігураційні " +"файли користувача в ``~/.idlerc/`` (~ це домашній каталог). У разі " +"виникнення проблеми має з’явитися повідомлення про помилку. Залишаючи " +"осторонь випадкові збої диска, цьому можна запобігти, якщо ніколи не " +"редагувати файли вручну. Замість цього скористайтеся діалоговим вікном " +"конфігурації в розділі \"Параметри\". Якщо у файлі конфігурації користувача " +"виникла помилка, найкращим рішенням може бути видалення його та початок " +"заново з діалогового вікна налаштувань." + +msgid "" +"If IDLE quits with no message, and it was not started from a console, try " +"starting it from a console or terminal (``python -m idlelib``) and see if " +"this results in an error message." +msgstr "" +"Якщо IDLE завершує роботу без повідомлення, і його не було запущено з " +"консолі, спробуйте запустити його з консолі або терміналу (``python -m " +"idlelib``) і перевірте, чи це призведе до повідомлення про помилку." + +msgid "" +"On Unix-based systems with tcl/tk older than ``8.6.11`` (see ``About IDLE``) " +"certain characters of certain fonts can cause a tk failure with a message to " +"the terminal. This can happen either if one starts IDLE to edit a file with " +"such a character or later when entering such a character. If one cannot " +"upgrade tcl/tk, then re-configure IDLE to use a font that works better." +msgstr "" +"У системах на базі Unix із tcl/tk, старшим за ``8.6.11`` (див. ``Про " +"IDLE``), певні символи певних шрифтів можуть викликати помилку tk із " +"повідомленням на термінал. Це може статися або під час запуску IDLE для " +"редагування файлу з таким символом, або пізніше під час введення такого " +"символу. Якщо неможливо оновити tcl/tk, переконфігуруйте IDLE, щоб " +"використовувати шрифт, який працює краще." + +msgid "Running user code" +msgstr "Виконується код користувача" + +msgid "" +"With rare exceptions, the result of executing Python code with IDLE is " +"intended to be the same as executing the same code by the default method, " +"directly with Python in a text-mode system console or terminal window. " +"However, the different interface and operation occasionally affect visible " +"results. For instance, ``sys.modules`` starts with more entries, and " +"``threading.active_count()`` returns 2 instead of 1." +msgstr "" +"За рідкісними винятками, результат виконання коду Python за допомогою IDLE " +"має бути таким самим, як і виконання того самого коду методом за " +"замовчуванням, безпосередньо за допомогою Python у системній консолі " +"текстового режиму або у вікні терміналу. Однак різний інтерфейс і робота " +"іноді впливають на видимі результати. Наприклад, ``sys.modules`` починається " +"з більшої кількості записів, а ``threading.active_count()`` повертає 2 " +"замість 1." + +msgid "" +"By default, IDLE runs user code in a separate OS process rather than in the " +"user interface process that runs the shell and editor. In the execution " +"process, it replaces ``sys.stdin``, ``sys.stdout``, and ``sys.stderr`` with " +"objects that get input from and send output to the Shell window. The " +"original values stored in ``sys.__stdin__``, ``sys.__stdout__``, and ``sys." +"__stderr__`` are not touched, but may be ``None``." +msgstr "" +"За замовчуванням IDLE запускає код користувача в окремому процесі ОС, а не в " +"процесі інтерфейсу користувача, який запускає оболонку та редактор. У " +"процесі виконання він замінює ``sys.stdin``, ``sys.stdout`` і ``sys.stderr`` " +"на об'єкти, які отримують вхідні дані з вікна Shell і надсилають вихідні " +"дані до нього. Вихідні значення, збережені в ``sys.__stdin__``, ``sys." +"__stdout__`` і ``sys.__stderr__``, не змінюються, але можуть бути ``None``." + +msgid "" +"Sending print output from one process to a text widget in another is slower " +"than printing to a system terminal in the same process. This has the most " +"effect when printing multiple arguments, as the string for each argument, " +"each separator, the newline are sent separately. For development, this is " +"usually not a problem, but if one wants to print faster in IDLE, format and " +"join together everything one wants displayed together and then print a " +"single string. Both format strings and :meth:`str.join` can help combine " +"fields and lines." +msgstr "" +"Надсилання результатів друку від одного процесу до текстового віджета в " +"іншому відбувається повільніше, ніж друк до системного терміналу в тому " +"самому процесі. Це має найбільший ефект під час друку кількох аргументів, " +"оскільки рядок для кожного аргументу, кожен роздільник і новий рядок " +"надсилаються окремо. Для розробки це зазвичай не проблема, але якщо хтось " +"хоче друкувати швидше в IDLE, відформатуйте та об’єднайте все, що потрібно " +"відобразити разом, а потім надрукуйте один рядок. І рядки формату, і :meth:" +"`str.join` можуть допомогти поєднати поля та рядки." + +msgid "" +"IDLE's standard stream replacements are not inherited by subprocesses " +"created in the execution process, whether directly by user code or by " +"modules such as multiprocessing. If such subprocess use ``input`` from sys." +"stdin or ``print`` or ``write`` to sys.stdout or sys.stderr, IDLE should be " +"started in a command line window. (On Windows, use ``python`` or ``py`` " +"rather than ``pythonw`` or ``pyw``.) The secondary subprocess will then be " +"attached to that window for input and output." +msgstr "" + +msgid "" +"If ``sys`` is reset by user code, such as with ``importlib.reload(sys)``, " +"IDLE's changes are lost and input from the keyboard and output to the screen " +"will not work correctly." +msgstr "" +"Якщо ``sys`` скидається кодом користувача, наприклад, ``importlib." +"reload(sys)``, зміни IDLE втрачаються, а введення з клавіатури та виведення " +"на екран працюватимуть некоректно." + +msgid "" +"When Shell has the focus, it controls the keyboard and screen. This is " +"normally transparent, but functions that directly access the keyboard and " +"screen will not work. These include system-specific functions that " +"determine whether a key has been pressed and if so, which." +msgstr "" +"Коли Shell має фокус, він керує клавіатурою та екраном. Зазвичай це прозоро, " +"але функції, які мають прямий доступ до клавіатури та екрана, не " +"працюватимуть. До них входять специфічні для системи функції, які " +"визначають, чи була натиснута клавіша, і якщо так, то яку." + +msgid "" +"The IDLE code running in the execution process adds frames to the call stack " +"that would not be there otherwise. IDLE wraps ``sys.getrecursionlimit`` and " +"``sys.setrecursionlimit`` to reduce the effect of the additional stack " +"frames." +msgstr "" +"IDLE-код, що виконується в процесі виконання, додає кадри до стеку викликів, " +"яких інакше там не було б. IDLE обертає ``sys.getrecursionlimit`` і ``sys." +"setrecursionlimit``, щоб зменшити ефект додаткових кадрів стеку." + +msgid "" +"When user code raises SystemExit either directly or by calling sys.exit, " +"IDLE returns to a Shell prompt instead of exiting." +msgstr "" +"Коли код користувача викликає SystemExit безпосередньо або шляхом виклику " +"sys.exit, IDLE повертається до підказки Shell замість виходу." + +msgid "User output in Shell" +msgstr "Вивід користувача в Shell" + +msgid "" +"When a program outputs text, the result is determined by the corresponding " +"output device. When IDLE executes user code, ``sys.stdout`` and ``sys." +"stderr`` are connected to the display area of IDLE's Shell. Some of its " +"features are inherited from the underlying Tk Text widget. Others are " +"programmed additions. Where it matters, Shell is designed for development " +"rather than production runs." +msgstr "" +"Коли програма виводить текст, результат визначається відповідним пристроєм " +"виведення. Коли IDLE виконує код користувача, ``sys.stdout`` і ``sys." +"stderr`` підключаються до області відображення оболонки IDLE. Деякі з його " +"функцій успадковано від основного віджета Tk Text. Інші є запрограмованими " +"доповненнями. Там, де це важливо, Shell призначена для розробки, а не для " +"виробництва." + +msgid "" +"For instance, Shell never throws away output. A program that sends " +"unlimited output to Shell will eventually fill memory, resulting in a memory " +"error. In contrast, some system text windows only keep the last n lines of " +"output. A Windows console, for instance, keeps a user-settable 1 to 9999 " +"lines, with 300 the default." +msgstr "" +"Наприклад, Shell ніколи не викидає вихідні дані. Програма, яка надсилає " +"необмежений вихід до Shell, зрештою заповнить пам’ять, що призведе до " +"помилки пам’яті. Навпаки, деякі системні текстові вікна зберігають лише " +"останні n рядків виводу. Консоль Windows, наприклад, зберігає встановлені " +"користувачем від 1 до 9999 рядків, з 300 за замовчуванням." + +msgid "" +"A Tk Text widget, and hence IDLE's Shell, displays characters (codepoints) " +"in the BMP (Basic Multilingual Plane) subset of Unicode. Which characters " +"are displayed with a proper glyph and which with a replacement box depends " +"on the operating system and installed fonts. Tab characters cause the " +"following text to begin after the next tab stop. (They occur every 8 " +"'characters'). Newline characters cause following text to appear on a new " +"line. Other control characters are ignored or displayed as a space, box, or " +"something else, depending on the operating system and font. (Moving the " +"text cursor through such output with arrow keys may exhibit some surprising " +"spacing behavior.) ::" +msgstr "" +"Віджет Tk Text, а отже, оболонка IDLE, відображає символи (кодові точки) у " +"підмножині BMP (Basic Multilingual Plane) Unicode. Які символи " +"відображаються з правильним гліфом, а які з полем заміни, залежить від " +"операційної системи та встановлених шрифтів. Символи табуляції викликають " +"початок наступного тексту після наступної позиції табуляції. (Вони " +"зустрічаються кожні 8 \"символів\"). Символи нового рядка призводять до " +"появи наступного тексту на новому рядку. Інші керуючі символи ігноруються " +"або відображаються у вигляді пробілу, прямокутника або іншого, залежно від " +"операційної системи та шрифту. (Переміщення текстового курсору через такий " +"вивід за допомогою клавіш зі стрілками може продемонструвати деяку дивовижну " +"поведінку інтервалів.) ::" + +msgid "" +"The ``repr`` function is used for interactive echo of expression values. It " +"returns an altered version of the input string in which control codes, some " +"BMP codepoints, and all non-BMP codepoints are replaced with escape codes. " +"As demonstrated above, it allows one to identify the characters in a string, " +"regardless of how they are displayed." +msgstr "" +"Функція ``repr`` використовується для інтерактивного відлуння значень " +"виразів. Він повертає змінену версію вхідного рядка, у якій керуючі коди, " +"деякі кодові точки BMP і всі кодові точки, відмінні від BMP, замінено на " +"вихідні коди. Як показано вище, це дозволяє ідентифікувати символи в рядку, " +"незалежно від того, як вони відображаються." + +msgid "" +"Normal and error output are generally kept separate (on separate lines) from " +"code input and each other. They each get different highlight colors." +msgstr "" +"Звичайний і помилковий вихід зазвичай зберігаються окремо (в окремих рядках) " +"від введення коду та один від одного. Кожен з них отримує різні кольори " +"виділення." + +msgid "" +"For SyntaxError tracebacks, the normal '^' marking where the error was " +"detected is replaced by coloring the text with an error highlight. When code " +"run from a file causes other exceptions, one may right click on a traceback " +"line to jump to the corresponding line in an IDLE editor. The file will be " +"opened if necessary." +msgstr "" +"Для зворотного відстеження SyntaxError звичайне маркування \"^\", де було " +"виявлено помилку, замінюється фарбуванням тексту з виділенням помилки. Коли " +"код, запущений із файлу, викликає інші винятки, можна клацнути правою " +"кнопкою миші на рядку трасування, щоб перейти до відповідного рядка в " +"редакторі IDLE. При необхідності файл буде відкрито." + +msgid "" +"Shell has a special facility for squeezing output lines down to a 'Squeezed " +"text' label. This is done automatically for output over N lines (N = 50 by " +"default). N can be changed in the PyShell section of the General page of the " +"Settings dialog. Output with fewer lines can be squeezed by right clicking " +"on the output. This can be useful lines long enough to slow down scrolling." +msgstr "" +"Shell має спеціальний засіб для стискання вихідних рядків до мітки " +"\"Стиснутий текст\". Це робиться автоматично для виведення через N рядків (N " +"= 50 за замовчуванням). N можна змінити в розділі PyShell на сторінці " +"\"Загальні\" діалогового вікна \"Параметри\". Вихідні дані з меншою " +"кількістю рядків можна стиснути, клацнувши на виводі правою кнопкою миші. Це " +"можуть бути корисні рядки, достатні для сповільнення прокручування." + +msgid "" +"Squeezed output is expanded in place by double-clicking the label. It can " +"also be sent to the clipboard or a separate view window by right-clicking " +"the label." +msgstr "" +"Стиснутий вихід розгортається на місці подвійним клацанням мітки. Його також " +"можна відправити в буфер обміну або в окреме вікно перегляду, клацнувши " +"правою кнопкою миші на мітці." + +msgid "Developing tkinter applications" +msgstr "Розробка додатків tkinter" + +msgid "" +"IDLE is intentionally different from standard Python in order to facilitate " +"development of tkinter programs. Enter ``import tkinter as tk; root = tk." +"Tk()`` in standard Python and nothing appears. Enter the same in IDLE and a " +"tk window appears. In standard Python, one must also enter ``root." +"update()`` to see the window. IDLE does the equivalent in the background, " +"about 20 times a second, which is about every 50 milliseconds. Next enter " +"``b = tk.Button(root, text='button'); b.pack()``. Again, nothing visibly " +"changes in standard Python until one enters ``root.update()``." +msgstr "" +"IDLE навмисно відрізняється від стандартного Python, щоб полегшити розробку " +"програм tkinter. Введіть ``import tkinter as tk; root = tk.Tk()`` у " +"стандартному Python, і нічого не відображається. Введіть те саме в IDLE, і " +"з’явиться вікно tk. У стандартному Python потрібно також ввести ``root." +"update()``, щоб побачити вікно. IDLE виконує еквівалент у фоновому режимі, " +"приблизно 20 разів на секунду, тобто кожні 50 мілісекунд. Далі введіть ``b = " +"tk.Button(root, text='button'); b.pack()``. Знову ж таки, у стандартному " +"Python нічого помітно не змінюється, доки не буде введено ``root.update()``." + +msgid "" +"Most tkinter programs run ``root.mainloop()``, which usually does not return " +"until the tk app is destroyed. If the program is run with ``python -i`` or " +"from an IDLE editor, a ``>>>`` shell prompt does not appear until " +"``mainloop()`` returns, at which time there is nothing left to interact with." +msgstr "" +"Більшість програм tkinter запускають ``root.mainloop()``, який зазвичай не " +"повертається, доки не буде знищено програму tk. Якщо програма запускається " +"за допомогою ``python -i`` або з редактора IDLE, підказка оболонки ``>>>`` " +"не з’являється, доки не повернеться ``mainloop()``, після чого не залишиться " +"нічого для взаємодіяти з." + +msgid "" +"When running a tkinter program from an IDLE editor, one can comment out the " +"mainloop call. One then gets a shell prompt immediately and can interact " +"with the live application. One just has to remember to re-enable the " +"mainloop call when running in standard Python." +msgstr "" +"Під час запуску програми tkinter із редактора IDLE можна закоментувати " +"виклик основного циклу. Після цього користувач одразу отримує підказку " +"оболонки та може взаємодіяти з живою програмою. Треба лише не забувати знову " +"ввімкнути виклик основного циклу під час роботи на стандартному Python." + +msgid "Running without a subprocess" +msgstr "Запуск без підпроцесу" + +msgid "" +"By default, IDLE executes user code in a separate subprocess via a socket, " +"which uses the internal loopback interface. This connection is not " +"externally visible and no data is sent to or received from the internet. If " +"firewall software complains anyway, you can ignore it." +msgstr "" +"За замовчуванням IDLE виконує код користувача в окремому підпроцесі через " +"сокет, який використовує внутрішній інтерфейс петлі. Це з’єднання не видно " +"зовні, і дані не надсилаються та не отримуються з Інтернету. Якщо програмне " +"забезпечення брандмауера все одно скаржиться, ви можете ігнорувати це." + +msgid "" +"If the attempt to make the socket connection fails, Idle will notify you. " +"Such failures are sometimes transient, but if persistent, the problem may be " +"either a firewall blocking the connection or misconfiguration of a " +"particular system. Until the problem is fixed, one can run Idle with the -n " +"command line switch." +msgstr "" +"Якщо спроба підключитися до сокета не вдається, Idle повідомить вас. Такі " +"збої іноді тимчасові, але якщо вони постійні, проблемою може бути " +"брандмауер, який блокує з’єднання, або неправильна конфігурація певної " +"системи. Поки проблему не буде вирішено, можна запускати Idle з перемикачем " +"командного рядка -n." + +msgid "" +"If IDLE is started with the -n command line switch it will run in a single " +"process and will not create the subprocess which runs the RPC Python " +"execution server. This can be useful if Python cannot create the subprocess " +"or the RPC socket interface on your platform. However, in this mode user " +"code is not isolated from IDLE itself. Also, the environment is not " +"restarted when Run/Run Module (F5) is selected. If your code has been " +"modified, you must reload() the affected modules and re-import any specific " +"items (e.g. from foo import baz) if the changes are to take effect. For " +"these reasons, it is preferable to run IDLE with the default subprocess if " +"at all possible." +msgstr "" +"Якщо IDLE запущено з параметром командного рядка -n, він виконуватиметься в " +"одному процесі та не створюватиме підпроцес, який запускає сервер виконання " +"RPC Python. Це може бути корисним, якщо Python не може створити підпроцес " +"або інтерфейс сокета RPC на вашій платформі. Однак у цьому режимі код " +"користувача не ізольований від самого IDLE. Крім того, середовище не " +"перезапускається, якщо вибрано Run/Run Module (F5). Якщо ваш код було " +"змінено, ви повинні reload() відповідні модулі та повторно імпортувати будь-" +"які конкретні елементи (наприклад, з foo import baz), щоб зміни набули " +"чинності. З цих причин бажано запускати IDLE із підпроцесом за " +"замовчуванням, якщо це взагалі можливо." + +msgid "Help and Preferences" +msgstr "" + +msgid "Help sources" +msgstr "Довідкові джерела" + +msgid "" +"Help menu entry \"IDLE Help\" displays a formatted html version of the IDLE " +"chapter of the Library Reference. The result, in a read-only tkinter text " +"window, is close to what one sees in a web browser. Navigate through the " +"text with a mousewheel, the scrollbar, or up and down arrow keys held down. " +"Or click the TOC (Table of Contents) button and select a section header in " +"the opened box." +msgstr "" +"Пункт меню \"Довідка\" \"Довідка IDLE\" відображає відформатовану html-" +"версію розділу IDLE довідника бібліотеки. Результат у текстовому вікні " +"tkinter, доступному лише для читання, близький до того, що можна побачити у " +"веб-браузері. Переміщайтеся по тексту за допомогою коліщатка миші, смуги " +"прокручування або натиснутих клавіш зі стрілками вгору та вниз. Або " +"натисніть кнопку Зміст (Зміст) і виберіть заголовок розділу у вікні, що " +"відкриється." + +msgid "" +"Help menu entry \"Python Docs\" opens the extensive sources of help, " +"including tutorials, available at ``docs.python.org/x.y``, where 'x.y' is " +"the currently running Python version. If your system has an off-line copy " +"of the docs (this may be an installation option), that will be opened " +"instead." +msgstr "" +"Пункт меню \"Довідка\" \"Документи Python\" відкриває обширні джерела " +"довідки, включаючи навчальні посібники, доступні за адресою ``docs.python." +"org/x.y``, де \"x.y\" — поточна версія Python. Якщо у вашій системі є " +"офлайнова копія документів (це може бути варіант інсталяції), вона буде " +"відкрита натомість." + +msgid "" +"Selected URLs can be added or removed from the help menu at any time using " +"the General tab of the Configure IDLE dialog." +msgstr "" +"Вибрані URL-адреси можна будь-коли додати або видалити з меню довідки за " +"допомогою вкладки \"Загальні\" діалогового вікна \"Налаштувати IDLE\"." + +msgid "Setting preferences" +msgstr "Встановлення налаштувань" + +msgid "" +"The font preferences, highlighting, keys, and general preferences can be " +"changed via Configure IDLE on the Option menu. Non-default user settings are " +"saved in a ``.idlerc`` directory in the user's home directory. Problems " +"caused by bad user configuration files are solved by editing or deleting one " +"or more of the files in ``.idlerc``." +msgstr "" +"Параметри шрифту, підсвічування, клавіші та загальні параметри можна змінити " +"за допомогою Configure IDLE у меню Option. Параметри користувача, відмінні " +"від стандартних, зберігаються в каталозі ``.idlerc`` у домашньому каталозі " +"користувача. Проблеми, спричинені неправильними конфігураційними файлами " +"користувача, вирішуються редагуванням або видаленням одного чи кількох " +"файлів у ``.idlerc``." + +msgid "" +"On the Font tab, see the text sample for the effect of font face and size on " +"multiple characters in multiple languages. Edit the sample to add other " +"characters of personal interest. Use the sample to select monospaced " +"fonts. If particular characters have problems in Shell or an editor, add " +"them to the top of the sample and try changing first size and then font." +msgstr "" +"На вкладці \"Шрифт\" перегляньте зразок тексту, щоб дізнатися про вплив " +"накреслення та розміру шрифту на кілька символів різними мовами. " +"Відредагуйте зразок, щоб додати інших персонажів, які вас цікавлять. " +"Використовуйте зразок для вибору моноширинних шрифтів. Якщо певні символи " +"мають проблеми в Shell або редакторі, додайте їх у верхній частині зразка та " +"спробуйте змінити спочатку розмір, а потім шрифт." + +msgid "" +"On the Highlights and Keys tab, select a built-in or custom color theme and " +"key set. To use a newer built-in color theme or key set with older IDLEs, " +"save it as a new custom theme or key set and it well be accessible to older " +"IDLEs." +msgstr "" +"На вкладці \"Висвітлення та ключі\" виберіть вбудовану або спеціальну " +"колірну тему та набір ключів. Щоб використовувати новішу вбудовану колірну " +"тему або набір ключів зі старішими IDLE, збережіть їх як нову спеціальну " +"тему або набір ключів, щоб вони були доступні для старіших IDLE." + +msgid "IDLE on macOS" +msgstr "IDLE на macOS" + +msgid "" +"Under System Preferences: Dock, one can set \"Prefer tabs when opening " +"documents\" to \"Always\". This setting is not compatible with the tk/" +"tkinter GUI framework used by IDLE, and it breaks a few IDLE features." +msgstr "" +"У розділі \"Системні параметри: Док\" можна встановити \"Надавати перевагу " +"вкладкам під час відкриття документів\" на \"Завжди\". Цей параметр " +"несумісний із фреймворком графічного інтерфейсу tk/tkinter, який " +"використовується IDLE, і порушує роботу кількох функцій IDLE." + +msgid "Extensions" +msgstr "Розширення" + +msgid "" +"IDLE contains an extension facility. Preferences for extensions can be " +"changed with the Extensions tab of the preferences dialog. See the beginning " +"of config-extensions.def in the idlelib directory for further information. " +"The only current default extension is zzdummy, an example also used for " +"testing." +msgstr "" +"IDLE містить можливість розширення. Налаштування для розширень можна змінити " +"на вкладці Розширення діалогового вікна налаштувань. Дивіться початок config-" +"extensions.def у каталозі idlelib для отримання додаткової інформації. " +"Єдиним поточним розширенням за замовчуванням є zzdummy, приклад також " +"використовується для тестування." + +msgid "idlelib" +msgstr "" + +msgid "**Source code:** :source:`Lib/idlelib`" +msgstr "" + +msgid "" +"The Lib/idlelib package implements the IDLE application. See the rest of " +"this page for how to use IDLE." +msgstr "" + +msgid "" +"The files in idlelib are described in idlelib/README.txt. Access it either " +"in idlelib or click Help => About IDLE on the IDLE menu. This file also " +"maps IDLE menu items to the code that implements the item. Except for files " +"listed under 'Startup', the idlelib code is 'private' in sense that feature " +"changes can be backported (see :pep:`434`)." +msgstr "" diff --git a/library/imaplib.po b/library/imaplib.po new file mode 100644 index 000000000..c08eda28d --- /dev/null +++ b/library/imaplib.po @@ -0,0 +1,828 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:07+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`imaplib` --- IMAP4 protocol client" +msgstr ":mod:`imaplib` --- клієнт протоколу IMAP4" + +msgid "**Source code:** :source:`Lib/imaplib.py`" +msgstr "**Вихідний код:** :source:`Lib/imaplib.py`" + +msgid "" +"This module defines three classes, :class:`IMAP4`, :class:`IMAP4_SSL` and :" +"class:`IMAP4_stream`, which encapsulate a connection to an IMAP4 server and " +"implement a large subset of the IMAP4rev1 client protocol as defined in :rfc:" +"`2060`. It is backward compatible with IMAP4 (:rfc:`1730`) servers, but note " +"that the ``STATUS`` command is not supported in IMAP4." +msgstr "" +"Цей модуль визначає три класи: :class:`IMAP4`, :class:`IMAP4_SSL` і :class:" +"`IMAP4_stream`, які інкапсулюють підключення до сервера IMAP4 і реалізують " +"велику підмножину клієнтського протоколу IMAP4rev1, як визначено в :rfc:" +"`2060`. Він зворотно сумісний із серверами IMAP4 (:rfc:`1730`), але " +"зауважте, що команда ``STATUS`` не підтримується в IMAP4." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Three classes are provided by the :mod:`imaplib` module, :class:`IMAP4` is " +"the base class:" +msgstr "" +"Три класи надаються модулем :mod:`imaplib`, :class:`IMAP4` є базовим класом:" + +msgid "" +"This class implements the actual IMAP4 protocol. The connection is created " +"and protocol version (IMAP4 or IMAP4rev1) is determined when the instance is " +"initialized. If *host* is not specified, ``''`` (the local host) is used. If " +"*port* is omitted, the standard IMAP4 port (143) is used. The optional " +"*timeout* parameter specifies a timeout in seconds for the connection " +"attempt. If timeout is not given or is None, the global default socket " +"timeout is used." +msgstr "" +"Цей клас реалізує фактичний протокол IMAP4. Під час ініціалізації екземпляра " +"створюється з’єднання та визначається версія протоколу (IMAP4 або " +"IMAP4rev1). Якщо *host* не вказано, використовується ``''`` (локальний " +"хост). Якщо *порт* не вказано, використовується стандартний порт IMAP4 " +"(143). Додатковий параметр *timeout* визначає час очікування в секундах для " +"спроби підключення. Якщо тайм-аут не вказано або має значення None, " +"використовується глобальний тайм-аут сокета за замовчуванням." + +msgid "" +"The :class:`IMAP4` class supports the :keyword:`with` statement. When used " +"like this, the IMAP4 ``LOGOUT`` command is issued automatically when the :" +"keyword:`!with` statement exits. E.g.::" +msgstr "" +"Клас :class:`IMAP4` підтримує оператор :keyword:`with`. При такому " +"використанні команда ``LOGOUT`` IMAP4 виконується автоматично, коли " +"завершується оператор :keyword:`!with`. Наприклад::" + +msgid "Support for the :keyword:`with` statement was added." +msgstr "Додано підтримку оператора :keyword:`with`." + +msgid "The optional *timeout* parameter was added." +msgstr "Додано необов’язковий параметр *timeout*." + +msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:" +msgstr "Три винятки визначено як атрибути класу :class:`IMAP4`:" + +msgid "" +"Exception raised on any errors. The reason for the exception is passed to " +"the constructor as a string." +msgstr "" +"Виняток створено для будь-яких помилок. Причина винятку передається " +"конструктору у вигляді рядка." + +msgid "" +"IMAP4 server errors cause this exception to be raised. This is a sub-class " +"of :exc:`IMAP4.error`. Note that closing the instance and instantiating a " +"new one will usually allow recovery from this exception." +msgstr "" +"Помилки сервера IMAP4 призводять до виникнення цього винятку. Це підклас :" +"exc:`IMAP4.error`. Зауважте, що закриття екземпляра та створення нового " +"екземпляра зазвичай дозволяє відновлення після цього винятку." + +msgid "" +"This exception is raised when a writable mailbox has its status changed by " +"the server. This is a sub-class of :exc:`IMAP4.error`. Some other client " +"now has write permission, and the mailbox will need to be re-opened to re-" +"obtain write permission." +msgstr "" +"Цей виняток виникає, коли сервер змінює статус доступної для запису поштової " +"скриньки. Це підклас :exc:`IMAP4.error`. Інший клієнт тепер має дозвіл на " +"запис, і поштову скриньку потрібно буде повторно відкрити, щоб знову " +"отримати дозвіл на запис." + +msgid "There's also a subclass for secure connections:" +msgstr "Існує також підклас для безпечних з’єднань:" + +msgid "" +"This is a subclass derived from :class:`IMAP4` that connects over an SSL " +"encrypted socket (to use this class you need a socket module that was " +"compiled with SSL support). If *host* is not specified, ``''`` (the local " +"host) is used. If *port* is omitted, the standard IMAP4-over-SSL port (993) " +"is used. *ssl_context* is a :class:`ssl.SSLContext` object which allows " +"bundling SSL configuration options, certificates and private keys into a " +"single (potentially long-lived) structure. Please read :ref:`ssl-security` " +"for best practices." +msgstr "" +"Це підклас, похідний від :class:`IMAP4`, який підключається через сокет, " +"зашифрований SSL (щоб використовувати цей клас, вам потрібен модуль сокета, " +"скомпільований із підтримкою SSL). Якщо *host* не вказано, використовується " +"``''`` (локальний хост). Якщо *порт* не вказано, використовується " +"стандартний порт IMAP4 через SSL (993). *ssl_context* — це об’єкт :class:" +"`ssl.SSLContext`, який дозволяє об’єднувати параметри конфігурації SSL, " +"сертифікати та приватні ключі в єдину (потенційно довговічну) структуру. " +"Будь ласка, прочитайте :ref:`ssl-security`, щоб дізнатися про найкращі " +"практики." + +msgid "" +"*keyfile* and *certfile* are a legacy alternative to *ssl_context* - they " +"can point to PEM-formatted private key and certificate chain files for the " +"SSL connection. Note that the *keyfile*/*certfile* parameters are mutually " +"exclusive with *ssl_context*, a :class:`ValueError` is raised if *keyfile*/" +"*certfile* is provided along with *ssl_context*." +msgstr "" +"*keyfile* і *certfile* є застарілою альтернативою *ssl_context* — вони " +"можуть вказувати на приватні ключі та файли ланцюжка сертифікатів у форматі " +"PEM для з’єднання SSL. Зауважте, що параметри *keyfile*/*certfile* є " +"взаємовиключними з *ssl_context*, :class:`ValueError` виникає, якщо " +"*keyfile*/*certfile* надається разом із *ssl_context*." + +msgid "" +"The optional *timeout* parameter specifies a timeout in seconds for the " +"connection attempt. If timeout is not given or is None, the global default " +"socket timeout is used." +msgstr "" +"Додатковий параметр *timeout* визначає час очікування в секундах для спроби " +"підключення. Якщо тайм-аут не вказано або має значення None, " +"використовується глобальний тайм-аут сокета за замовчуванням." + +msgid "*ssl_context* parameter was added." +msgstr "Додано параметр *ssl_context*." + +msgid "" +"The class now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Клас тепер підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"*keyfile* and *certfile* are deprecated in favor of *ssl_context*. Please " +"use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." +"create_default_context` select the system's trusted CA certificates for you." +msgstr "" +"*keyfile* і *certfile* застаріли на користь *ssl_context*. Натомість " +"використовуйте :meth:`ssl.SSLContext.load_cert_chain` або дозвольте :func:" +"`ssl.create_default_context` вибрати для вас надійні сертифікати ЦС системи." + +msgid "The second subclass allows for connections created by a child process:" +msgstr "Другий підклас дозволяє з’єднання, створені дочірнім процесом:" + +msgid "" +"This is a subclass derived from :class:`IMAP4` that connects to the ``stdin/" +"stdout`` file descriptors created by passing *command* to ``subprocess." +"Popen()``." +msgstr "" +"Це підклас, похідний від :class:`IMAP4`, який підключається до файлових " +"дескрипторів ``stdin/stdout``, створених передачею *команди* до ``subprocess." +"Popen()``." + +msgid "The following utility functions are defined:" +msgstr "Визначаються наступні функції корисності:" + +msgid "" +"Parse an IMAP4 ``INTERNALDATE`` string and return corresponding local time. " +"The return value is a :class:`time.struct_time` tuple or ``None`` if the " +"string has wrong format." +msgstr "" +"Проаналізуйте рядок ``INTERNALDATE`` IMAP4 і поверніть відповідний місцевий " +"час. Поверненим значенням є :class:`time.struct_time` кортеж або ``None``, " +"якщо рядок має неправильний формат." + +msgid "" +"Converts an integer into a bytes representation using characters from the " +"set [``A`` .. ``P``]." +msgstr "" +"Перетворює ціле число на представлення байтів за допомогою символів із " +"набору [``A`` .. ``P``]." + +msgid "Converts an IMAP4 ``FLAGS`` response to a tuple of individual flags." +msgstr "Перетворює відповідь ``FLAGS`` IMAP4 на кортеж окремих прапорів." + +msgid "" +"Convert *date_time* to an IMAP4 ``INTERNALDATE`` representation. The return " +"value is a string in the form: ``\"DD-Mmm-YYYY HH:MM:SS +HHMM\"`` (including " +"double-quotes). The *date_time* argument can be a number (int or float) " +"representing seconds since epoch (as returned by :func:`time.time`), a 9-" +"tuple representing local time an instance of :class:`time.struct_time` (as " +"returned by :func:`time.localtime`), an aware instance of :class:`datetime." +"datetime`, or a double-quoted string. In the last case, it is assumed to " +"already be in the correct format." +msgstr "" +"Перетворіть *date_time* на представлення ``INTERNALDATE`` IMAP4. Поверненим " +"значенням є рядок у формі: ``\"ДД-МММ-РРРР ГГ:ХМ:СС +ГГММ\"`` (включаючи " +"подвійні лапки). Аргумент *date_time* може бути числом (int або float), що " +"представляє секунди з епохи (як повертає :func:`time.time`), 9-кортеж, що " +"представляє місцевий час, екземпляр :class:`time.struct_time` (як повертає :" +"func:`time.localtime`), відомий екземпляр :class:`datetime.datetime` або " +"рядок у подвійних лапках. В останньому випадку передбачається, що він уже " +"має правильний формат." + +msgid "" +"Note that IMAP4 message numbers change as the mailbox changes; in " +"particular, after an ``EXPUNGE`` command performs deletions the remaining " +"messages are renumbered. So it is highly advisable to use UIDs instead, with " +"the UID command." +msgstr "" +"Зверніть увагу, що номери повідомлень IMAP4 змінюються разом зі зміною " +"поштової скриньки; зокрема, після видалення командою ``EXPUNGE`` " +"повідомлення, що залишилися, перенумеровуються. Тому вкрай доцільно " +"використовувати натомість UID з командою UID." + +msgid "" +"At the end of the module, there is a test section that contains a more " +"extensive example of usage." +msgstr "" +"Наприкінці модуля є тестовий розділ, який містить докладніший приклад " +"використання." + +msgid "" +"Documents describing the protocol, sources for servers implementing it, by " +"the University of Washington's IMAP Information Center can all be found at " +"(**Source Code**) https://github.com/uw-imap/imap (**Not Maintained**)." +msgstr "" +"Документи, що описують протокол, джерела для серверів, які його реалізують, " +"Інформаційний центр IMAP Університету Вашингтона можна знайти за адресою " +"(**Вихідний код**) https://github.com/uw-imap/imap (**Не підтримується**)." + +msgid "IMAP4 Objects" +msgstr "Об’єкти IMAP4" + +msgid "" +"All IMAP4rev1 commands are represented by methods of the same name, either " +"upper-case or lower-case." +msgstr "" +"Усі команди IMAP4rev1 представлені методами з однаковою назвою, написаними у " +"верхньому або нижньому регістрі." + +msgid "" +"All arguments to commands are converted to strings, except for " +"``AUTHENTICATE``, and the last argument to ``APPEND`` which is passed as an " +"IMAP4 literal. If necessary (the string contains IMAP4 protocol-sensitive " +"characters and isn't enclosed with either parentheses or double quotes) each " +"string is quoted. However, the *password* argument to the ``LOGIN`` command " +"is always quoted. If you want to avoid having an argument string quoted (eg: " +"the *flags* argument to ``STORE``) then enclose the string in parentheses " +"(eg: ``r'(\\Deleted)'``)." +msgstr "" +"Усі аргументи команд перетворюються на рядки, за винятком ``AUTHENTICATE`` і " +"останнього аргументу ``APPEND``, який передається як літерал IMAP4. Якщо " +"необхідно (рядок містить чутливі до протоколу IMAP4 символи та не взятий ні " +"в дужки, ні в подвійні лапки), кожен рядок береться в лапки. Однак аргумент " +"*password* для команди ``LOGIN`` завжди береться в лапки. Якщо ви хочете " +"уникнути рядка аргументу в лапках (наприклад, аргумент *flags* для " +"``STORE``), то візьміть рядок у круглі дужки (наприклад: ``r'(\\Deleted)'``)." + +msgid "" +"Each command returns a tuple: ``(type, [data, ...])`` where *type* is " +"usually ``'OK'`` or ``'NO'``, and *data* is either the text from the command " +"response, or mandated results from the command. Each *data* is either a " +"``bytes``, or a tuple. If a tuple, then the first part is the header of the " +"response, and the second part contains the data (ie: 'literal' value)." +msgstr "" +"Кожна команда повертає кортеж: ``(type, [data, ...])``, де *type* зазвичай " +"``'OK''`` або ``'NO'``, а *data* є або текст із відповіді на команду або " +"обов’язкові результати з команди. Кожні *дані* є або ``байтами``, або " +"кортежем. Якщо кортеж, то перша частина є заголовком відповіді, а друга " +"частина містить дані (тобто: \"літеральне\" значення)." + +msgid "" +"The *message_set* options to commands below is a string specifying one or " +"more messages to be acted upon. It may be a simple message number " +"(``'1'``), a range of message numbers (``'2:4'``), or a group of non-" +"contiguous ranges separated by commas (``'1:3,6:9'``). A range can contain " +"an asterisk to indicate an infinite upper bound (``'3:*'``)." +msgstr "" +"Параметри *message_set* для наведених нижче команд — це рядок, що вказує на " +"одне або кілька повідомлень, які потрібно виконати. Це може бути простий " +"номер повідомлення (``'1'``), діапазон номерів повідомлень (``'2:4'``) або " +"група несуміжних діапазонів, розділених комами (``'1 :3,6:9''``). Діапазон " +"може містити зірочку для позначення нескінченної верхньої межі (``'3:*'``)." + +msgid "An :class:`IMAP4` instance has the following methods:" +msgstr "Екземпляр :class:`IMAP4` має такі методи:" + +msgid "Append *message* to named mailbox." +msgstr "Додайте *повідомлення* до вказаної поштової скриньки." + +msgid "Authenticate command --- requires response processing." +msgstr "Команда автентифікації --- вимагає обробки відповіді." + +msgid "" +"*mechanism* specifies which authentication mechanism is to be used - it " +"should appear in the instance variable ``capabilities`` in the form " +"``AUTH=mechanism``." +msgstr "" +"*mechanism* вказує, який механізм автентифікації буде використано - він має " +"відображатися в змінній екземпляра ``capabilities`` у формі " +"``AUTH=mechanism``." + +msgid "*authobject* must be a callable object::" +msgstr "*authobject* повинен бути викликаним об'єктом::" + +msgid "" +"It will be called to process server continuation responses; the *response* " +"argument it is passed will be ``bytes``. It should return ``bytes`` *data* " +"that will be base64 encoded and sent to the server. It should return " +"``None`` if the client abort response ``*`` should be sent instead." +msgstr "" +"Він буде викликаний для обробки відповідей продовження сервера; аргумент " +"*відповідь*, який він передає, буде ``байт``. Він має повернути ``байти`` " +"*дані*, які будуть закодовані в base64 і надіслані на сервер. Він має " +"повертати ``None``, якщо замість цього потрібно надіслати відповідь ``*`` " +"про переривання клієнта." + +msgid "" +"string usernames and passwords are now encoded to ``utf-8`` instead of being " +"limited to ASCII." +msgstr "" +"рядкові імена користувачів і паролі тепер кодуються як ``utf-8`` замість " +"обмеження ASCII." + +msgid "Checkpoint mailbox on server." +msgstr "Контрольна поштова скринька на сервері." + +msgid "" +"Close currently selected mailbox. Deleted messages are removed from writable " +"mailbox. This is the recommended command before ``LOGOUT``." +msgstr "" +"Закрити вибрану поштову скриньку. Видалені повідомлення видаляються з " +"доступної для запису поштової скриньки. Це рекомендована команда перед " +"``ВИХОДОМ``." + +msgid "Copy *message_set* messages onto end of *new_mailbox*." +msgstr "Скопіюйте повідомлення *message_set* у кінець *new_mailbox*." + +msgid "Create new mailbox named *mailbox*." +msgstr "Створіть нову поштову скриньку з назвою *mailbox*." + +msgid "Delete old mailbox named *mailbox*." +msgstr "Видалити стару поштову скриньку з назвою *mailbox*." + +msgid "Delete the ACLs (remove any rights) set for who on mailbox." +msgstr "" +"Видалити списки керування доступом (вилучити будь-які права), встановлені " +"для поштової скриньки who." + +msgid "" +"Enable *capability* (see :rfc:`5161`). Most capabilities do not need to be " +"enabled. Currently only the ``UTF8=ACCEPT`` capability is supported (see :" +"RFC:`6855`)." +msgstr "" +"Увімкнути *можливість* (див. :rfc:`5161`). Більшість можливостей не потрібно " +"вмикати. Наразі підтримується лише можливість ``UTF8=ACCEPT`` (див. :RFC:" +"`6855`)." + +msgid "The :meth:`enable` method itself, and :RFC:`6855` support." +msgstr "Сам метод :meth:`enable` і підтримка :RFC:`6855`." + +msgid "" +"Permanently remove deleted items from selected mailbox. Generates an " +"``EXPUNGE`` response for each deleted message. Returned data contains a list " +"of ``EXPUNGE`` message numbers in order received." +msgstr "" +"Назавжди видалити видалені елементи з вибраної поштової скриньки. Генерує " +"відповідь ``EXPUNGE`` для кожного видаленого повідомлення. Повернуті дані " +"містять список номерів повідомлень ``EXPUNGE`` у порядку отримання." + +msgid "" +"Fetch (parts of) messages. *message_parts* should be a string of message " +"part names enclosed within parentheses, eg: ``\"(UID BODY[TEXT])\"``. " +"Returned data are tuples of message part envelope and data." +msgstr "" +"Отримати (частини) повідомлень. *message_parts* має бути рядком імен частин " +"повідомлення, укладених у круглі дужки, наприклад: ``\"(UID BODY[TEXT])``. " +"Повернуті дані – це кортежі конверта частини повідомлення та даних." + +msgid "" +"Get the ``ACL``\\ s for *mailbox*. The method is non-standard, but is " +"supported by the ``Cyrus`` server." +msgstr "" +"Отримайте ``ACL`` для *поштової скриньки*. Метод нестандартний, але " +"підтримується сервером ``Cyrus``." + +msgid "" +"Retrieve the specified ``ANNOTATION``\\ s for *mailbox*. The method is non-" +"standard, but is supported by the ``Cyrus`` server." +msgstr "" +"Отримати вказані ``АННОТАЦІЇ`` \\ для *поштової скриньки*. Метод " +"нестандартний, але підтримується сервером ``Cyrus``." + +msgid "" +"Get the ``quota`` *root*'s resource usage and limits. This method is part of " +"the IMAP4 QUOTA extension defined in rfc2087." +msgstr "" +"Отримайте ``квоту`` *root* щодо використання ресурсів і обмежень. Цей метод " +"є частиною розширення IMAP4 QUOTA, визначеного в rfc2087." + +msgid "" +"Get the list of ``quota`` ``roots`` for the named *mailbox*. This method is " +"part of the IMAP4 QUOTA extension defined in rfc2087." +msgstr "" +"Отримайте список ``квоти`` ``roots`` для вказаної *поштової скриньки*. Цей " +"метод є частиною розширення IMAP4 QUOTA, визначеного в rfc2087." + +msgid "" +"List mailbox names in *directory* matching *pattern*. *directory* defaults " +"to the top-level mail folder, and *pattern* defaults to match anything. " +"Returned data contains a list of ``LIST`` responses." +msgstr "" +"Список імен поштових скриньок у *каталозі*, що відповідає *шаблону*. " +"*каталог* за замовчуванням є текою електронної пошти верхнього рівня, а " +"*шаблон* за замовчуванням відповідає будь-чому. Повернуті дані містять " +"список відповідей ``СПИСОК``." + +msgid "" +"Identify the client using a plaintext password. The *password* will be " +"quoted." +msgstr "" +"Ідентифікуйте клієнта за допомогою відкритого пароля. *Пароль* буде взято в " +"лапки." + +msgid "" +"Force use of ``CRAM-MD5`` authentication when identifying the client to " +"protect the password. Will only work if the server ``CAPABILITY`` response " +"includes the phrase ``AUTH=CRAM-MD5``." +msgstr "" +"Примусово використовувати автентифікацію ``CRAM-MD5`` під час ідентифікації " +"клієнта, щоб захистити пароль. Працює, лише якщо відповідь сервера " +"``CAPABILITY`` містить фразу ``AUTH=CRAM-MD5``." + +msgid "Shutdown connection to server. Returns server ``BYE`` response." +msgstr "Вимкніть з'єднання з сервером. Повертає відповідь сервера ``BYE``." + +msgid "The method no longer ignores silently arbitrary exceptions." +msgstr "Метод більше не ігнорує мовчки довільні винятки." + +msgid "" +"List subscribed mailbox names in directory matching pattern. *directory* " +"defaults to the top level directory and *pattern* defaults to match any " +"mailbox. Returned data are tuples of message part envelope and data." +msgstr "" +"Список імен передплачених поштових скриньок у каталозі, що відповідає " +"шаблону. *каталог* за замовчуванням є каталогом верхнього рівня, а *шаблон* " +"за замовчуванням відповідає будь-якій поштовій скриньці. Повернуті дані – це " +"кортежі конверта частини повідомлення та даних." + +msgid "Show my ACLs for a mailbox (i.e. the rights that I have on mailbox)." +msgstr "" +"Показати мої ACL для поштової скриньки (тобто права, які я маю на поштову " +"скриньку)." + +msgid "Returns IMAP namespaces as defined in :rfc:`2342`." +msgstr "Повертає простори імен IMAP, як визначено в :rfc:`2342`." + +msgid "Send ``NOOP`` to server." +msgstr "Надіслати ``NOOP`` на сервер." + +msgid "" +"Opens socket to *port* at *host*. The optional *timeout* parameter specifies " +"a timeout in seconds for the connection attempt. If timeout is not given or " +"is None, the global default socket timeout is used. Also note that if the " +"*timeout* parameter is set to be zero, it will raise a :class:`ValueError` " +"to reject creating a non-blocking socket. This method is implicitly called " +"by the :class:`IMAP4` constructor. The connection objects established by " +"this method will be used in the :meth:`IMAP4.read`, :meth:`IMAP4.readline`, :" +"meth:`IMAP4.send`, and :meth:`IMAP4.shutdown` methods. You may override this " +"method." +msgstr "" +"Відкриває сокет до *порту* на *хості*. Додатковий параметр *timeout* " +"визначає час очікування в секундах для спроби підключення. Якщо тайм-аут не " +"вказано або має значення None, використовується глобальний тайм-аут сокета " +"за замовчуванням. Також зауважте, що якщо параметр *timeout* дорівнює нулю, " +"це викличе :class:`ValueError`, щоб відхилити створення неблокуючого сокета. " +"Цей метод неявно викликається конструктором :class:`IMAP4`. Об’єкти " +"підключення, встановлені цим методом, використовуватимуться в методах :meth:" +"`IMAP4.read`, :meth:`IMAP4.readline`, :meth:`IMAP4.send` і :meth:`IMAP4." +"shutdown`. Ви можете змінити цей метод." + +msgid "" +"Raises an :ref:`auditing event ` ``imaplib.open`` with arguments " +"``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``imaplib.open`` з аргументами " +"``self``, ``host``, ``port``." + +msgid "The *timeout* parameter was added." +msgstr "Додано параметр *timeout*." + +msgid "" +"Fetch truncated part of a message. Returned data is a tuple of message part " +"envelope and data." +msgstr "" +"Отримати скорочену частину повідомлення. Повернуті дані — це кортеж із " +"конверта частини повідомлення та даних." + +msgid "" +"Assume authentication as *user*. Allows an authorised administrator to proxy " +"into any user's mailbox." +msgstr "" +"Припустити автентифікацію як *користувача*. Дозволяє авторизованому " +"адміністратору надсилати проксі до поштової скриньки будь-якого користувача." + +msgid "" +"Reads *size* bytes from the remote server. You may override this method." +msgstr "Читає *size* байти з віддаленого сервера. Ви можете змінити цей метод." + +msgid "Reads one line from the remote server. You may override this method." +msgstr "Читає один рядок з віддаленого сервера. Ви можете змінити цей метод." + +msgid "" +"Prompt server for an update. Returned data is ``None`` if no new messages, " +"else value of ``RECENT`` response." +msgstr "" +"Запитувати сервер для оновлення. Повернені дані: ``None``, якщо немає нових " +"повідомлень, інакше значення відповіді ``RECENT``." + +msgid "Rename mailbox named *oldmailbox* to *newmailbox*." +msgstr "Перейменуйте поштову скриньку з назвою *oldmailbox* на *newmailbox*." + +msgid "" +"Return data for response *code* if received, or ``None``. Returns the given " +"code, instead of the usual type." +msgstr "" +"Повернути дані для відповіді *код*, якщо отримано, або ``None``. Повертає " +"заданий код замість звичайного типу." + +msgid "" +"Search mailbox for matching messages. *charset* may be ``None``, in which " +"case no ``CHARSET`` will be specified in the request to the server. The " +"IMAP protocol requires that at least one criterion be specified; an " +"exception will be raised when the server returns an error. *charset* must " +"be ``None`` if the ``UTF8=ACCEPT`` capability was enabled using the :meth:" +"`enable` command." +msgstr "" +"Пошук поштової скриньки для відповідних повідомлень. *charset* може мати " +"значення ``None``, у цьому випадку ``CHARSET`` не буде вказано у запиті до " +"сервера. Протокол IMAP вимагає вказівки принаймні одного критерію; виняток " +"буде викликано, коли сервер повертає помилку. *charset* має бути ``None``, " +"якщо можливість ``UTF8=ACCEPT`` було ввімкнено за допомогою команди :meth:" +"`enable`." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"Select a mailbox. Returned data is the count of messages in *mailbox* " +"(``EXISTS`` response). The default *mailbox* is ``'INBOX'``. If the " +"*readonly* flag is set, modifications to the mailbox are not allowed." +msgstr "" +"Виберіть поштову скриньку. Повернені дані – це кількість повідомлень у " +"*поштовій скриньці* (відповідь \"ІСНУЄ\"). Типовою *поштовою скринькою* є " +"``'INBOX'``. Якщо встановлено прапорець *readonly*, зміни поштової скриньки " +"заборонені." + +msgid "Sends ``data`` to the remote server. You may override this method." +msgstr "Надсилає ``дані`` на віддалений сервер. Ви можете змінити цей метод." + +msgid "" +"Raises an :ref:`auditing event ` ``imaplib.send`` with arguments " +"``self``, ``data``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``imaplib.send`` з аргументами " +"``self``, ``data``." + +msgid "" +"Set an ``ACL`` for *mailbox*. The method is non-standard, but is supported " +"by the ``Cyrus`` server." +msgstr "" +"Установіть ``ACL`` для *поштової скриньки*. Метод нестандартний, але " +"підтримується сервером ``Cyrus``." + +msgid "" +"Set ``ANNOTATION``\\ s for *mailbox*. The method is non-standard, but is " +"supported by the ``Cyrus`` server." +msgstr "" +"Установіть ``АННОТАЦІЮ`` для *поштової скриньки*. Метод нестандартний, але " +"підтримується сервером ``Cyrus``." + +msgid "" +"Set the ``quota`` *root*'s resource *limits*. This method is part of the " +"IMAP4 QUOTA extension defined in rfc2087." +msgstr "" +"Встановіть *ліміти* ресурсів ``квоти`` *root*. Цей метод є частиною " +"розширення IMAP4 QUOTA, визначеного в rfc2087." + +msgid "" +"Close connection established in ``open``. This method is implicitly called " +"by :meth:`IMAP4.logout`. You may override this method." +msgstr "" +"Закрити з’єднання встановлено в ``відкритому``. Цей метод неявно " +"викликається :meth:`IMAP4.logout`. Ви можете змінити цей метод." + +msgid "Returns socket instance used to connect to server." +msgstr "" +"Повертає екземпляр сокета, який використовується для підключення до сервера." + +msgid "" +"The ``sort`` command is a variant of ``search`` with sorting semantics for " +"the results. Returned data contains a space separated list of matching " +"message numbers." +msgstr "" +"Команда ``sort`` є варіантом ``search`` із семантикою сортування для " +"результатів. Повернуті дані містять розділений пробілами список відповідних " +"номерів повідомлень." + +msgid "" +"Sort has two arguments before the *search_criterion* argument(s); a " +"parenthesized list of *sort_criteria*, and the searching *charset*. Note " +"that unlike ``search``, the searching *charset* argument is mandatory. " +"There is also a ``uid sort`` command which corresponds to ``sort`` the way " +"that ``uid search`` corresponds to ``search``. The ``sort`` command first " +"searches the mailbox for messages that match the given searching criteria " +"using the charset argument for the interpretation of strings in the " +"searching criteria. It then returns the numbers of matching messages." +msgstr "" +"Сортування має два аргументи перед аргументом(ами) *критерій_пошуку*; список " +"*критеріїв_сортування* в дужках і пошуковий *набір символів*. Зауважте, що " +"на відміну від ``search``, пошуковий аргумент *charset* є обов’язковим. " +"Існує також команда ``uid sort``, яка відповідає ``sort`` так, як ``uid " +"search`` відповідає ``search``. Команда ``sort`` спочатку шукає в поштовій " +"скриньці повідомлення, які відповідають заданим критеріям пошуку, " +"використовуючи аргумент набору символів для інтерпретації рядків у критеріях " +"пошуку. Потім він повертає номери відповідних повідомлень." + +msgid "This is an ``IMAP4rev1`` extension command." +msgstr "Це команда розширення ``IMAP4rev1``." + +msgid "" +"Send a ``STARTTLS`` command. The *ssl_context* argument is optional and " +"should be a :class:`ssl.SSLContext` object. This will enable encryption on " +"the IMAP connection. Please read :ref:`ssl-security` for best practices." +msgstr "" +"Надішліть команду ``STARTTLS``. Аргумент *ssl_context* є необов’язковим і " +"має бути об’єктом :class:`ssl.SSLContext`. Це дозволить шифрувати " +"підключення IMAP. Будь ласка, прочитайте :ref:`ssl-security`, щоб дізнатися " +"про найкращі практики." + +msgid "" +"The method now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Тепер цей метод підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "Request named status conditions for *mailbox*." +msgstr "Запит умов іменованого статусу для *поштової скриньки*." + +msgid "" +"Alters flag dispositions for messages in mailbox. *command* is specified by " +"section 6.4.6 of :rfc:`2060` as being one of \"FLAGS\", \"+FLAGS\", or \"-" +"FLAGS\", optionally with a suffix of \".SILENT\"." +msgstr "" +"Змінює розміщення прапорців для повідомлень у поштовій скриньці. *команда* " +"визначена розділом 6.4.6 :rfc:`2060` як одна з \"FLAGS\", \"+FLAGS\" або \"-" +"FLAGS\", необов’язково з суфіксом \".SILENT\"." + +msgid "For example, to set the delete flag on all messages::" +msgstr "Наприклад, щоб встановити позначку видалення для всіх повідомлень:" + +msgid "" +"Creating flags containing ']' (for example: \"[test]\") violates :rfc:`3501` " +"(the IMAP protocol). However, imaplib has historically allowed creation of " +"such tags, and popular IMAP servers, such as Gmail, accept and produce such " +"flags. There are non-Python programs which also create such tags. Although " +"it is an RFC violation and IMAP clients and servers are supposed to be " +"strict, imaplib nonetheless continues to allow such tags to be created for " +"backward compatibility reasons, and as of Python 3.6, handles them if they " +"are sent from the server, since this improves real-world compatibility." +msgstr "" +"Створення прапорів, що містять ']' (наприклад: \"[test]\"), порушує :rfc:" +"`3501` (протокол IMAP). Однак imaplib історично дозволяв створення таких " +"тегів, а популярні сервери IMAP, такі як Gmail, приймають і створюють такі " +"позначки. Існують програми, відмінні від Python, які також створюють такі " +"теги. Незважаючи на те, що це порушення RFC і клієнти та сервери IMAP мають " +"бути строгими, imaplib все одно дозволяє створювати такі теги з міркувань " +"зворотної сумісності та, починаючи з Python 3.6, обробляє їх, якщо вони " +"надіслані з сервера, оскільки це покращує сумісність у реальному світі." + +msgid "Subscribe to new mailbox." +msgstr "Підписатися на нову скриньку." + +msgid "" +"The ``thread`` command is a variant of ``search`` with threading semantics " +"for the results. Returned data contains a space separated list of thread " +"members." +msgstr "" +"Команда ``thread`` є варіантом ``search`` із семантикою потоків для " +"результатів. Повернуті дані містять розділений пробілами список учасників " +"потоку." + +msgid "" +"Thread members consist of zero or more messages numbers, delimited by " +"spaces, indicating successive parent and child." +msgstr "" +"Члени ланцюжка складаються з нуля або більше номерів повідомлень, розділених " +"пробілами, що вказує на послідовне батьківське та дочірнє повідомлення." + +msgid "" +"Thread has two arguments before the *search_criterion* argument(s); a " +"*threading_algorithm*, and the searching *charset*. Note that unlike " +"``search``, the searching *charset* argument is mandatory. There is also a " +"``uid thread`` command which corresponds to ``thread`` the way that ``uid " +"search`` corresponds to ``search``. The ``thread`` command first searches " +"the mailbox for messages that match the given searching criteria using the " +"charset argument for the interpretation of strings in the searching " +"criteria. It then returns the matching messages threaded according to the " +"specified threading algorithm." +msgstr "" +"Потік має два аргументи перед аргументом(ами) *критерій_пошуку*; " +"*threading_algorithm* і *charset* пошуку. Зауважте, що на відміну від " +"``search``, пошуковий аргумент *charset* є обов’язковим. Також існує команда " +"``uid thread``, яка відповідає ``thread`` так, як ``uid search`` відповідає " +"``search``. Команда ``thread`` спочатку шукає в поштовій скриньці " +"повідомлення, які відповідають заданим критеріям пошуку, використовуючи " +"аргумент charset для інтерпретації рядків у критеріях пошуку. Потім він " +"повертає відповідні повідомлення, розбиті відповідно до заданого алгоритму " +"потоків." + +msgid "" +"Execute command args with messages identified by UID, rather than message " +"number. Returns response appropriate to command. At least one argument " +"must be supplied; if none are provided, the server will return an error and " +"an exception will be raised." +msgstr "" +"Виконайте аргументи команди з повідомленнями, ідентифікованими UID, а не " +"номером повідомлення. Повертає відповідь, що відповідає команді. Необхідно " +"надати принаймні один аргумент; якщо їх не надано, сервер поверне " +"повідомлення про помилку та виникне виняток." + +msgid "Unsubscribe from old mailbox." +msgstr "Відписатися від старої поштової скриньки." + +msgid "" +":meth:`imaplib.IMAP4.unselect` frees server's resources associated with the " +"selected mailbox and returns the server to the authenticated state. This " +"command performs the same actions as :meth:`imaplib.IMAP4.close`, except " +"that no messages are permanently removed from the currently selected mailbox." +msgstr "" +":meth:`imaplib.IMAP4.unselect` звільняє ресурси сервера, пов’язані з " +"вибраною поштовою скринькою, і повертає сервер до автентифікованого стану. " +"Ця команда виконує ті самі дії, що й :meth:`imaplib.IMAP4.close`, за " +"винятком того, що повідомлення не видаляються назавжди з поточної вибраної " +"поштової скриньки." + +msgid "" +"Allow simple extension commands notified by server in ``CAPABILITY`` " +"response." +msgstr "" +"Дозволити прості команди розширення, сповіщені сервером у відповіді " +"``CAPABILITY``." + +msgid "The following attributes are defined on instances of :class:`IMAP4`:" +msgstr "Наступні атрибути визначені для екземплярів :class:`IMAP4`:" + +msgid "" +"The most recent supported protocol in the ``CAPABILITY`` response from the " +"server." +msgstr "" +"Останній підтримуваний протокол у відповіді ``CAPABILITY`` від сервера." + +msgid "" +"Integer value to control debugging output. The initialize value is taken " +"from the module variable ``Debug``. Values greater than three trace each " +"command." +msgstr "" +"Ціле значення для керування виведенням налагодження. Значення ініціалізації " +"береться зі змінної модуля ``Debug``. Значення більше трьох відстежують " +"кожну команду." + +msgid "" +"Boolean value that is normally ``False``, but is set to ``True`` if an :meth:" +"`enable` command is successfully issued for the ``UTF8=ACCEPT`` capability." +msgstr "" +"Логічне значення, яке зазвичай має значення ``False``, але встановлюється на " +"``True``, якщо команда :meth:`enable` успішно виконана для можливості " +"``UTF8=ACCEPT``." + +msgid "IMAP4 Example" +msgstr "Приклад IMAP4" + +msgid "" +"Here is a minimal example (without error checking) that opens a mailbox and " +"retrieves and prints all messages::" +msgstr "" +"Ось мінімальний приклад (без перевірки помилок), який відкриває поштову " +"скриньку, отримує та друкує всі повідомлення:" diff --git a/library/imghdr.po b/library/imghdr.po new file mode 100644 index 000000000..6b04795fb --- /dev/null +++ b/library/imghdr.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`imghdr` --- Determine the type of an image" +msgstr ":mod:`imghdr` --- Визначити тип зображення" + +msgid "**Source code:** :source:`Lib/imghdr.py`" +msgstr "**Вихідний код:** :source:`Lib/imghdr.py`" + +msgid "" +"The :mod:`imghdr` module is deprecated (see :pep:`PEP 594 <594#imghdr>` for " +"details and alternatives)." +msgstr "" +"Модуль :mod:`imghdr` є застарілим (перегляньте :pep:`PEP 594 <594#imghdr>` " +"для деталей та альтернатив)." + +msgid "" +"The :mod:`imghdr` module determines the type of image contained in a file or " +"byte stream." +msgstr "" +"Модуль :mod:`imghdr` визначає тип зображення, що міститься у файлі чи потоці " +"байтів." + +msgid "The :mod:`imghdr` module defines the following function:" +msgstr "Модуль :mod:`imghdr` визначає таку функцію:" + +msgid "" +"Tests the image data contained in the file named by *file*, and returns a " +"string describing the image type. If optional *h* is provided, the *file* " +"argument is ignored and *h* is assumed to contain the byte stream to test." +msgstr "" +"Перевіряє дані зображення, що містяться у файлі з іменем *file*, і повертає " +"рядок, що описує тип зображення. Якщо вказано необов’язковий *h*, аргумент " +"*file* ігнорується, і передбачається, що *h* містить потік байтів для " +"перевірки." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"The following image types are recognized, as listed below with the return " +"value from :func:`what`:" +msgstr "" +"Розпізнаються наведені нижче типи зображень зі значенням, що повертається з :" +"func:`what`:" + +msgid "Value" +msgstr "Значення" + +msgid "Image format" +msgstr "Формат зображення" + +msgid "``'rgb'``" +msgstr "``'rgb'``" + +msgid "SGI ImgLib Files" +msgstr "Файли SGI ImgLib" + +msgid "``'gif'``" +msgstr "``'gif''``" + +msgid "GIF 87a and 89a Files" +msgstr "Файли GIF 87a та 89a" + +msgid "``'pbm'``" +msgstr "``'pbm'``" + +msgid "Portable Bitmap Files" +msgstr "Портативні растрові файли" + +msgid "``'pgm'``" +msgstr "``'pgm'``" + +msgid "Portable Graymap Files" +msgstr "Портативні файли Graymap" + +msgid "``'ppm'``" +msgstr "``'ppm'``" + +msgid "Portable Pixmap Files" +msgstr "Портативні файли Pixmap" + +msgid "``'tiff'``" +msgstr "``'tiff'``" + +msgid "TIFF Files" +msgstr "Файли TIFF" + +msgid "``'rast'``" +msgstr "``'rast'``" + +msgid "Sun Raster Files" +msgstr "Растрові файли Sun" + +msgid "``'xbm'``" +msgstr "``'xbm'``" + +msgid "X Bitmap Files" +msgstr "Файли X Bitmap" + +msgid "``'jpeg'``" +msgstr "``'jpeg'``" + +msgid "JPEG data in JFIF or Exif formats" +msgstr "Дані JPEG у форматах JFIF або Exif" + +msgid "``'bmp'``" +msgstr "``'bmp'``" + +msgid "BMP files" +msgstr "файли BMP" + +msgid "``'png'``" +msgstr "``'png'``" + +msgid "Portable Network Graphics" +msgstr "Портативна мережева графіка" + +msgid "``'webp'``" +msgstr "``'webp'``" + +msgid "WebP files" +msgstr "Файли WebP" + +msgid "``'exr'``" +msgstr "``'exr''``" + +msgid "OpenEXR Files" +msgstr "Файли OpenEXR" + +msgid "The *exr* and *webp* formats were added." +msgstr "Додано формати *exr* і *webp*." + +msgid "" +"You can extend the list of file types :mod:`imghdr` can recognize by " +"appending to this variable:" +msgstr "" +"Ви можете розширити список типів файлів, які :mod:`imghdr` може розпізнати, " +"додавши до цієї змінної:" + +msgid "" +"A list of functions performing the individual tests. Each function takes " +"two arguments: the byte-stream and an open file-like object. When :func:" +"`what` is called with a byte-stream, the file-like object will be ``None``." +msgstr "" +"Перелік функцій, які виконують окремі тести. Кожна функція приймає два " +"аргументи: потік байтів і відкритий файлоподібний об’єкт. Коли :func:`what` " +"викликається потоком байтів, файлоподібний об’єкт матиме значення ``None``." + +msgid "" +"The test function should return a string describing the image type if the " +"test succeeded, or ``None`` if it failed." +msgstr "" +"Функція тестування має повертати рядок із описом типу зображення, якщо тест " +"пройшов успішно, або ``None``, якщо він не вдався." + +msgid "Example::" +msgstr "Приклад::" diff --git a/library/imp.po b/library/imp.po new file mode 100644 index 000000000..ea2bb68f4 --- /dev/null +++ b/library/imp.po @@ -0,0 +1,575 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`imp` --- Access the :ref:`import ` internals" +msgstr "" +":mod:`imp` --- Доступ до внутрішніх елементів :ref:`import `" + +msgid "**Source code:** :source:`Lib/imp.py`" +msgstr "**Вихідний код:** :source:`Lib/imp.py`" + +msgid "The :mod:`imp` module is deprecated in favor of :mod:`importlib`." +msgstr "Модуль :mod:`imp` застарів на користь :mod:`importlib`." + +msgid "" +"This module provides an interface to the mechanisms used to implement the :" +"keyword:`import` statement. It defines the following constants and " +"functions:" +msgstr "" +"Цей модуль надає інтерфейс для механізмів, що використовуються для " +"реалізації оператора :keyword:`import`. Він визначає такі константи та " +"функції:" + +msgid "" +"Return the magic string value used to recognize byte-compiled code files (:" +"file:`.pyc` files). (This value may be different for each Python version.)" +msgstr "" +"Повертає магічне значення рядка, яке використовується для розпізнавання " +"файлів зі скомпільованим кодом (:file:`.pyc` файли). (Це значення може " +"відрізнятися для кожної версії Python.)" + +msgid "Use :attr:`importlib.util.MAGIC_NUMBER` instead." +msgstr "Натомість використовуйте :attr:`importlib.util.MAGIC_NUMBER`." + +msgid "" +"Return a list of 3-element tuples, each describing a particular type of " +"module. Each triple has the form ``(suffix, mode, type)``, where *suffix* is " +"a string to be appended to the module name to form the filename to search " +"for, *mode* is the mode string to pass to the built-in :func:`open` function " +"to open the file (this can be ``'r'`` for text files or ``'rb'`` for binary " +"files), and *type* is the file type, which has one of the values :const:" +"`PY_SOURCE`, :const:`PY_COMPILED`, or :const:`C_EXTENSION`, described below." +msgstr "" +"Повертає список 3-елементних кортежів, кожен з яких описує певний тип " +"модуля. Кожна трійка має вигляд ``(суфікс, режим, тип)``, де *суфікс* — це " +"рядок, який додається до назви модуля, щоб сформувати назву файлу для " +"пошуку, *mode* — це рядок режиму, який передається до вбудована функція :" +"func:`open` для відкриття файлу (це може бути ``'r'`` для текстових файлів " +"або ``'rb'`` для бінарних файлів), а *type* — це тип файлу, який має одне зі " +"значень :const:`PY_SOURCE`, :const:`PY_COMPILED` або :const:`C_EXTENSION`, " +"описаних нижче." + +msgid "Use the constants defined on :mod:`importlib.machinery` instead." +msgstr "" +"Натомість використовуйте константи, визначені в :mod:`importlib.machinery`." + +msgid "" +"Try to find the module *name*. If *path* is omitted or ``None``, the list " +"of directory names given by ``sys.path`` is searched, but first a few " +"special places are searched: the function tries to find a built-in module " +"with the given name (:const:`C_BUILTIN`), then a frozen module (:const:" +"`PY_FROZEN`), and on some systems some other places are looked in as well " +"(on Windows, it looks in the registry which may point to a specific file)." +msgstr "" +"Спробуйте знайти *ім’я* модуля. Якщо *path* пропущено або ``None``, пошук " +"здійснюється за списком імен каталогів, наданим ``sys.path``, але спочатку " +"виконується пошук у кількох спеціальних місцях: функція намагається знайти " +"вбудований модуль за допомогою дане ім’я (:const:`C_BUILTIN`), потім " +"заморожений модуль (:const:`PY_FROZEN`), а в деяких системах також " +"переглядаються деякі інші місця (у Windows шукається в реєстрі, який може " +"вказувати на певний файл)." + +msgid "" +"Otherwise, *path* must be a list of directory names; each directory is " +"searched for files with any of the suffixes returned by :func:`get_suffixes` " +"above. Invalid names in the list are silently ignored (but all list items " +"must be strings)." +msgstr "" +"В іншому випадку *path* має бути списком імен каталогів; у кожному каталозі " +"шукаються файли з будь-якими суфіксами, які повертає :func:`get_suffixes` " +"вище. Недійсні імена в списку мовчки ігноруються (але всі елементи списку " +"мають бути рядками)." + +msgid "" +"If search is successful, the return value is a 3-element tuple ``(file, " +"pathname, description)``:" +msgstr "" +"Якщо пошук пройшов успішно, повертається значення 3-елементного кортежу " +"``(файл, шлях, опис)``:" + +msgid "" +"*file* is an open :term:`file object` positioned at the beginning, " +"*pathname* is the pathname of the file found, and *description* is a 3-" +"element tuple as contained in the list returned by :func:`get_suffixes` " +"describing the kind of module found." +msgstr "" +"*file* — це відкритий :term:`file object`, розташований на початку, " +"*pathname* — це шлях до знайденого файлу, а *description* — це 3-елементний " +"кортеж, який міститься у списку, який повертає :func:`get_suffixes`, що " +"описує вид знайденого модуля." + +msgid "" +"If the module is built-in or frozen then *file* and *pathname* are both " +"``None`` and the *description* tuple contains empty strings for its suffix " +"and mode; the module type is indicated as given in parentheses above. If " +"the search is unsuccessful, :exc:`ImportError` is raised. Other exceptions " +"indicate problems with the arguments or environment." +msgstr "" +"Якщо модуль вбудований або заморожений, тоді *file* і *pathname* мають " +"значення ``None``, а кортеж *description* містить порожні рядки для свого " +"суфікса та режиму; тип модуля вказано у дужках вище. Якщо пошук невдалий, " +"виникає :exc:`ImportError`. Інші винятки вказують на проблеми з аргументами " +"або середовищем." + +msgid "" +"If the module is a package, *file* is ``None``, *pathname* is the package " +"path and the last item in the *description* tuple is :const:`PKG_DIRECTORY`." +msgstr "" +"Якщо модуль є пакетом, *file* має значення ``None``, *pathname* — це шлях до " +"пакета, а останнім елементом у кортежі *description* є :const:" +"`PKG_DIRECTORY`." + +msgid "" +"This function does not handle hierarchical module names (names containing " +"dots). In order to find *P.M*, that is, submodule *M* of package *P*, use :" +"func:`find_module` and :func:`load_module` to find and load package *P*, and " +"then use :func:`find_module` with the *path* argument set to ``P.__path__``. " +"When *P* itself has a dotted name, apply this recipe recursively." +msgstr "" +"Ця функція не обробляє ієрархічні імена модулів (імена, що містять крапки). " +"Щоб знайти *P.M*, тобто підмодуль *M* пакета *P*, використовуйте :func:" +"`find_module` і :func:`load_module`, щоб знайти та завантажити пакет *P*, а " +"потім використовуйте :func:`find_module` з аргументом *path*, встановленим " +"на ``P.__path__``. Якщо *P* має назву з крапками, застосовуйте цей рецепт " +"рекурсивно." + +msgid "" +"Use :func:`importlib.util.find_spec` instead unless Python 3.3 compatibility " +"is required, in which case use :func:`importlib.find_loader`. For example " +"usage of the former case, see the :ref:`importlib-examples` section of the :" +"mod:`importlib` documentation." +msgstr "" +"Використовуйте :func:`importlib.util.find_spec` замість цього, якщо не " +"потрібна сумісність з Python 3.3, у такому випадку використовуйте :func:" +"`importlib.find_loader`. Для прикладу використання першого випадку дивіться " +"розділ :ref:`importlib-examples` документації :mod:`importlib`." + +msgid "" +"Load a module that was previously found by :func:`find_module` (or by an " +"otherwise conducted search yielding compatible results). This function does " +"more than importing the module: if the module was already imported, it will " +"reload the module! The *name* argument indicates the full module name " +"(including the package name, if this is a submodule of a package). The " +"*file* argument is an open file, and *pathname* is the corresponding file " +"name; these can be ``None`` and ``''``, respectively, when the module is a " +"package or not being loaded from a file. The *description* argument is a " +"tuple, as would be returned by :func:`get_suffixes`, describing what kind of " +"module must be loaded." +msgstr "" +"Завантажте модуль, який раніше було знайдено за допомогою :func:" +"`find_module` (або за допомогою іншого здійсненого пошуку, що дає сумісні " +"результати). Ця функція робить більше, ніж імпорт модуля: якщо модуль уже " +"було імпортовано, він перезавантажить модуль! Аргумент *name* вказує на " +"повну назву модуля (включно з назвою пакета, якщо це підмодуль пакета). " +"Аргумент *file* — це відкритий файл, а *pathname* — ім’я відповідного файлу; " +"вони можуть бути ``None`` і ``''`` відповідно, якщо модуль є пакетом або не " +"завантажується з файлу. Аргумент *description* є кортежем, який повертає :" +"func:`get_suffixes`, описуючи тип модуля, який потрібно завантажити." + +msgid "" +"If the load is successful, the return value is the module object; otherwise, " +"an exception (usually :exc:`ImportError`) is raised." +msgstr "" +"Якщо завантаження пройшло успішно, повертається значення об’єкта модуля; " +"інакше виникає виняток (зазвичай :exc:`ImportError`)." + +msgid "" +"**Important:** the caller is responsible for closing the *file* argument, if " +"it was not ``None``, even when an exception is raised. This is best done " +"using a :keyword:`try` ... :keyword:`finally` statement." +msgstr "" +"**Важливо:** абонент, що викликає, відповідає за закриття аргументу *file*, " +"якщо він не був ``None``, навіть якщо виникає виняток. Найкраще це зробити " +"за допомогою оператора :keyword:`try` ... :keyword:`finally`." + +msgid "" +"If previously used in conjunction with :func:`imp.find_module` then consider " +"using :func:`importlib.import_module`, otherwise use the loader returned by " +"the replacement you chose for :func:`imp.find_module`. If you called :func:" +"`imp.load_module` and related functions directly with file path arguments " +"then use a combination of :func:`importlib.util.spec_from_file_location` " +"and :func:`importlib.util.module_from_spec`. See the :ref:`importlib-" +"examples` section of the :mod:`importlib` documentation for details of the " +"various approaches." +msgstr "" +"Якщо раніше використовувався в поєднанні з :func:`imp.find_module`, " +"розгляньте можливість використання :func:`importlib.import_module`, інакше " +"використовуйте завантажувач, повернутий заміною, яку ви вибрали для :func:" +"`imp.find_module`. Якщо ви викликали :func:`imp.load_module` та пов’язані " +"функції безпосередньо з аргументами шляху до файлу, тоді використовуйте " +"комбінацію :func:`importlib.util.spec_from_file_location` та :func:" +"`importlib.util.module_from_spec`. Перегляньте розділ :ref:`importlib-" +"examples` документації :mod:`importlib` для детальної інформації про різні " +"підходи." + +msgid "" +"Return a new empty module object called *name*. This object is *not* " +"inserted in ``sys.modules``." +msgstr "" +"Повертає новий порожній об’єкт модуля під назвою *name*. Цей об’єкт *не* " +"вставляється в ``sys.modules``." + +msgid "Use :func:`importlib.util.module_from_spec` instead." +msgstr "Натомість використовуйте :func:`importlib.util.module_from_spec`." + +msgid "" +"Reload a previously imported *module*. The argument must be a module " +"object, so it must have been successfully imported before. This is useful " +"if you have edited the module source file using an external editor and want " +"to try out the new version without leaving the Python interpreter. The " +"return value is the module object (the same as the *module* argument)." +msgstr "" +"Перезавантажте раніше імпортований *модуль*. Аргумент має бути об’єктом " +"модуля, тому він має бути успішно імпортований раніше. Це корисно, якщо ви " +"відредагували вихідний файл модуля за допомогою зовнішнього редактора і " +"хочете випробувати нову версію, не виходячи з інтерпретатора Python. " +"Поверненим значенням є об’єкт модуля (те саме, що аргумент *module*)." + +msgid "When ``reload(module)`` is executed:" +msgstr "Коли виконується ``reload(module)``:" + +msgid "" +"Python modules' code is recompiled and the module-level code reexecuted, " +"defining a new set of objects which are bound to names in the module's " +"dictionary. The ``init`` function of extension modules is not called a " +"second time." +msgstr "" +"Код модулів Python перекомпілюється, а код рівня модуля повторно " +"виконується, визначаючи новий набір об’єктів, які прив’язані до імен у " +"словнику модуля. Функція ``init`` модулів розширення не викликається вдруге." + +msgid "" +"As with all other objects in Python the old objects are only reclaimed after " +"their reference counts drop to zero." +msgstr "" +"Як і у випадку з усіма іншими об’єктами в Python, старі об’єкти " +"відновлюються лише після того, як їх кількість посилань зменшується до нуля." + +msgid "" +"The names in the module namespace are updated to point to any new or changed " +"objects." +msgstr "" +"Імена в просторі імен модуля оновлюються, щоб вказувати на будь-які нові або " +"змінені об’єкти." + +msgid "" +"Other references to the old objects (such as names external to the module) " +"are not rebound to refer to the new objects and must be updated in each " +"namespace where they occur if that is desired." +msgstr "" +"Інші посилання на старі об’єкти (наприклад, імена, зовнішні по відношенню до " +"модуля) не повертаються до нових об’єктів і повинні бути оновлені в кожному " +"просторі імен, де вони зустрічаються, якщо це потрібно." + +msgid "There are a number of other caveats:" +msgstr "Існує ряд інших застережень:" + +msgid "" +"When a module is reloaded, its dictionary (containing the module's global " +"variables) is retained. Redefinitions of names will override the old " +"definitions, so this is generally not a problem. If the new version of a " +"module does not define a name that was defined by the old version, the old " +"definition remains. This feature can be used to the module's advantage if " +"it maintains a global table or cache of objects --- with a :keyword:`try` " +"statement it can test for the table's presence and skip its initialization " +"if desired::" +msgstr "" +"Коли модуль перезавантажується, його словник (що містить глобальні змінні " +"модуля) зберігається. Перевизначення імен замінить старі визначення, тому " +"це, як правило, не проблема. Якщо нова версія модуля не визначає назву, яка " +"була визначена старою версією, старе визначення залишається. Цю функцію " +"можна використати на користь модуля, якщо він підтримує глобальну таблицю " +"або кеш об’єктів --- за допомогою оператора :keyword:`try` він може " +"перевіряти наявність таблиці та пропускати її ініціалізацію, якщо потрібно:" + +msgid "" +"It is legal though generally not very useful to reload built-in or " +"dynamically loaded modules, except for :mod:`sys`, :mod:`__main__` and :mod:" +"`builtins`. In many cases, however, extension modules are not designed to be " +"initialized more than once, and may fail in arbitrary ways when reloaded." +msgstr "" +"Перезавантажувати вбудовані або динамічно завантажувані модулі, за винятком :" +"mod:`sys`, :mod:`__main__` і :mod:`builtins`, є законним, хоча загалом не " +"дуже корисно. Однак у багатьох випадках модулі розширення не призначені для " +"ініціалізації більше ніж один раз і можуть виходити з ладу довільним чином " +"під час перезавантаження." + +msgid "" +"If a module imports objects from another module using :keyword:`from` ... :" +"keyword:`import` ..., calling :func:`reload` for the other module does not " +"redefine the objects imported from it --- one way around this is to re-" +"execute the :keyword:`!from` statement, another is to use :keyword:`!import` " +"and qualified names (*module*.*name*) instead." +msgstr "" +"Якщо модуль імпортує об’єкти з іншого модуля за допомогою :keyword:" +"`from` ... :keyword:`import` ..., виклик :func:`reload` для іншого модуля не " +"перевизначає об’єкти, імпортовані з нього --- один спосіб обійти це — " +"повторно виконати оператор :keyword:`!from`, інший — використати замість " +"нього :keyword:`!import` і кваліфіковані імена (*module*.*name*)." + +msgid "" +"If a module instantiates instances of a class, reloading the module that " +"defines the class does not affect the method definitions of the instances " +"--- they continue to use the old class definition. The same is true for " +"derived classes." +msgstr "" +"Якщо модуль створює екземпляри класу, перезавантаження модуля, який визначає " +"клас, не впливає на визначення методів екземплярів --- вони продовжують " +"використовувати старе визначення класу. Те саме стосується похідних класів." + +msgid "" +"Relies on both ``__name__`` and ``__loader__`` being defined on the module " +"being reloaded instead of just ``__name__``." +msgstr "" +"Покладається на те, що ``__name__`` і ``__loader__`` визначені в модулі, " +"який перезавантажується, а не просто ``__name__``." + +msgid "Use :func:`importlib.reload` instead." +msgstr "Натомість використовуйте :func:`importlib.reload`." + +msgid "" +"The following functions are conveniences for handling :pep:`3147` byte-" +"compiled file paths." +msgstr "" +"Наступні функції є зручними для обробки шляхів :pep:`3147` скомпільованих " +"файлів." + +msgid "" +"Return the :pep:`3147` path to the byte-compiled file associated with the " +"source *path*. For example, if *path* is ``/foo/bar/baz.py`` the return " +"value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. " +"The ``cpython-32`` string comes from the current magic tag (see :func:" +"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:" +"`NotImplementedError` will be raised). By passing in ``True`` or ``False`` " +"for *debug_override* you can override the system's value for ``__debug__``, " +"leading to optimized bytecode." +msgstr "" +"Поверніть шлях :pep:`3147` до скомпільованого файлу, пов’язаного з вихідним " +"*шляхом*. Наприклад, якщо *path* є ``/foo/bar/baz.py``, значення, що " +"повертається, буде ``/foo/bar/__pycache__/baz.cpython-32.pyc`` для Python " +"3.2. Рядок ``cpython-32`` походить від поточного магічного тегу (див. :func:" +"`get_tag`; якщо :attr:`sys.implementation.cache_tag` не визначено, тоді буде " +"викликана :exc:`NotImplementedError`). Передаючи ``True`` або ``False`` для " +"*debug_override*, ви можете змінити системне значення для ``__debug__``, що " +"призведе до оптимізації байт-коду." + +msgid "*path* need not exist." +msgstr "*шлях* не повинен існувати." + +msgid "" +"If :attr:`sys.implementation.cache_tag` is ``None``, then :exc:" +"`NotImplementedError` is raised." +msgstr "" +"Якщо :attr:`sys.implementation.cache_tag` має значення ``None``, тоді " +"виникає :exc:`NotImplementedError`." + +msgid "Use :func:`importlib.util.cache_from_source` instead." +msgstr "Натомість використовуйте :func:`importlib.util.cache_from_source`." + +msgid "The *debug_override* parameter no longer creates a ``.pyo`` file." +msgstr "Параметр *debug_override* більше не створює файл ``.pyo``." + +msgid "" +"Given the *path* to a :pep:`3147` file name, return the associated source " +"code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." +"cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " +"need not exist, however if it does not conform to :pep:`3147` format, a :exc:" +"`ValueError` is raised. If :attr:`sys.implementation.cache_tag` is not " +"defined, :exc:`NotImplementedError` is raised." +msgstr "" +"Враховуючи *шлях* до імені файлу :pep:`3147`, поверніть пов’язаний шлях до " +"файлу вихідного коду. Наприклад, якщо *шлях* є ``/foo/bar/__pycache__/baz." +"cpython-32.pyc``, повернутий шлях буде ``/foo/bar/baz.py``. *path* не " +"обов’язково існує, однак, якщо він не відповідає формату :pep:`3147`, " +"виникає :exc:`ValueError`. Якщо :attr:`sys.implementation.cache_tag` не " +"визначено, виникає :exc:`NotImplementedError`." + +msgid "" +"Raise :exc:`NotImplementedError` when :attr:`sys.implementation.cache_tag` " +"is not defined." +msgstr "" +"Викликати :exc:`NotImplementedError`, коли :attr:`sys.implementation." +"cache_tag` не визначено." + +msgid "Use :func:`importlib.util.source_from_cache` instead." +msgstr "Натомість використовуйте :func:`importlib.util.source_from_cache`." + +msgid "" +"Return the :pep:`3147` magic tag string matching this version of Python's " +"magic number, as returned by :func:`get_magic`." +msgstr "" +"Повертає рядок магічного тегу :pep:`3147`, що відповідає цій версії " +"магічного числа Python, яке повертає :func:`get_magic`." + +msgid "" +"Use :attr:`sys.implementation.cache_tag` directly starting in Python 3.3." +msgstr "" +"Використовуйте :attr:`sys.implementation.cache_tag` безпосередньо, починаючи " +"з Python 3.3." + +msgid "" +"The following functions help interact with the import system's internal " +"locking mechanism. Locking semantics of imports are an implementation " +"detail which may vary from release to release. However, Python ensures that " +"circular imports work without any deadlocks." +msgstr "" +"Наступні функції допомагають взаємодіяти з внутрішнім механізмом блокування " +"системи імпорту. Семантика блокування імпорту є деталлю реалізації, яка може " +"відрізнятися від випуску до випуску. Однак Python гарантує, що циклічний " +"імпорт працює без будь-яких взаємоблокувань." + +msgid "" +"Return ``True`` if the global import lock is currently held, else ``False``. " +"On platforms without threads, always return ``False``." +msgstr "" +"Повертає ``True``, якщо наразі утримується глобальне блокування імпорту, " +"інакше ``False``. На платформах без потоків завжди повертайте ``False``." + +msgid "" +"On platforms with threads, a thread executing an import first holds a global " +"import lock, then sets up a per-module lock for the rest of the import. " +"This blocks other threads from importing the same module until the original " +"import completes, preventing other threads from seeing incomplete module " +"objects constructed by the original thread. An exception is made for " +"circular imports, which by construction have to expose an incomplete module " +"object at some point." +msgstr "" +"На платформах із потоками потік, який виконує імпорт, спочатку утримує " +"глобальне блокування імпорту, а потім встановлює блокування кожного модуля " +"для решти імпорту. Це блокує інші потоки від імпорту того самого модуля до " +"завершення оригінального імпорту, не даючи іншим потокам побачити " +"незавершені об’єкти модуля, створені вихідним потоком. Виняток зроблено для " +"циклічного імпорту, який за своєю конструкцією в певний момент має відкрити " +"незавершений об’єкт модуля." + +msgid "" +"The locking scheme has changed to per-module locks for the most part. A " +"global import lock is kept for some critical tasks, such as initializing the " +"per-module locks." +msgstr "" +"Схема блокування здебільшого змінена на помодульні блокування. Глобальне " +"блокування імпорту зберігається для деяких критичних завдань, таких як " +"ініціалізація блокувань для кожного модуля." + +msgid "" +"Acquire the interpreter's global import lock for the current thread. This " +"lock should be used by import hooks to ensure thread-safety when importing " +"modules." +msgstr "" +"Отримати глобальне блокування імпорту інтерпретатора для поточного потоку. " +"Це блокування має використовуватися гаками імпорту, щоб забезпечити безпеку " +"потоків під час імпорту модулів." + +msgid "" +"Once a thread has acquired the import lock, the same thread may acquire it " +"again without blocking; the thread must release it once for each time it has " +"acquired it." +msgstr "" +"Як тільки потік отримав блокування імпорту, той самий потік може отримати " +"його знову без блокування; потік повинен звільнити його один раз за кожен " +"раз, коли він його отримав." + +msgid "On platforms without threads, this function does nothing." +msgstr "На платформах без потоків ця функція нічого не робить." + +msgid "" +"Release the interpreter's global import lock. On platforms without threads, " +"this function does nothing." +msgstr "" +"Звільніть глобальне блокування імпорту інтерпретатора. На платформах без " +"потоків ця функція нічого не робить." + +msgid "" +"The following constants with integer values, defined in this module, are " +"used to indicate the search result of :func:`find_module`." +msgstr "" +"Наступні константи з цілими значеннями, визначені в цьому модулі, " +"використовуються для позначення результату пошуку :func:`find_module`." + +msgid "The module was found as a source file." +msgstr "Модуль знайдено як вихідний файл." + +msgid "The module was found as a compiled code object file." +msgstr "Модуль знайдено як скомпільований об’єктний файл коду." + +msgid "The module was found as dynamically loadable shared library." +msgstr "" +"Модуль було знайдено як спільну бібліотеку, що динамічно завантажується." + +msgid "The module was found as a package directory." +msgstr "Модуль знайдено як каталог пакунків." + +msgid "The module was found as a built-in module." +msgstr "Модуль знайдено як вбудований модуль." + +msgid "The module was found as a frozen module." +msgstr "Модуль було знайдено як заморожений." + +msgid "" +"The :class:`NullImporter` type is a :pep:`302` import hook that handles non-" +"directory path strings by failing to find any modules. Calling this type " +"with an existing directory or empty string raises :exc:`ImportError`. " +"Otherwise, a :class:`NullImporter` instance is returned." +msgstr "" +"Тип :class:`NullImporter` — це :pep:`302` хук імпорту, який обробляє рядки " +"шляху, не пов’язані з каталогом, не знаходячи жодного модуля. Виклик цього " +"типу з наявним каталогом або порожнім рядком викликає :exc:`ImportError`. В " +"іншому випадку повертається екземпляр :class:`NullImporter`." + +msgid "Instances have only one method:" +msgstr "Примірники мають лише один метод:" + +msgid "" +"This method always returns ``None``, indicating that the requested module " +"could not be found." +msgstr "" +"Цей метод завжди повертає ``None``, вказуючи, що запитуваний модуль не " +"вдалося знайти." + +msgid "" +"``None`` is inserted into ``sys.path_importer_cache`` instead of an instance " +"of :class:`NullImporter`." +msgstr "" +"``None`` вставляється в ``sys.path_importer_cache`` замість екземпляра :" +"class:`NullImporter`." + +msgid "Insert ``None`` into ``sys.path_importer_cache`` instead." +msgstr "Натомість вставте ``None`` у ``sys.path_importer_cache``." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"The following function emulates what was the standard import statement up to " +"Python 1.4 (no hierarchical module names). (This *implementation* wouldn't " +"work in that version, since :func:`find_module` has been extended and :func:" +"`load_module` has been added in 1.4.) ::" +msgstr "" +"Наступна функція емулює те, що було стандартним оператором імпорту до Python " +"1.4 (без ієрархічних імен модулів). (Ця *реалізація* не працюватиме в цій " +"версії, оскільки :func:`find_module` було розширено, а :func:`load_module` " +"додано у 1.4.) ::" diff --git a/library/importlib.po b/library/importlib.po new file mode 100644 index 000000000..a91d176b4 --- /dev/null +++ b/library/importlib.po @@ -0,0 +1,1951 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`!importlib` --- The implementation of :keyword:`!import`" +msgstr ":mod:`!importlib` --- Реалізація :keyword:`!import`" + +msgid "**Source code:** :source:`Lib/importlib/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/importlib/__init__.py`" + +msgid "Introduction" +msgstr "вступ" + +msgid "The purpose of the :mod:`importlib` package is three-fold." +msgstr "" + +msgid "" +"One is to provide the implementation of the :keyword:`import` statement (and " +"thus, by extension, the :func:`__import__` function) in Python source code. " +"This provides an implementation of :keyword:`!import` which is portable to " +"any Python interpreter. This also provides an implementation which is easier " +"to comprehend than one implemented in a programming language other than " +"Python." +msgstr "" + +msgid "" +"Two, the components to implement :keyword:`import` are exposed in this " +"package, making it easier for users to create their own custom objects " +"(known generically as an :term:`importer`) to participate in the import " +"process." +msgstr "" +"По-друге, компоненти для реалізації :keyword:`import` представлені в цьому " +"пакунку, що полегшує користувачам створення власних користувацьких об’єктів " +"(відомих загалом як :term:`importer`) для участі в процесі імпорту." + +msgid "" +"Three, the package contains modules exposing additional functionality for " +"managing aspects of Python packages:" +msgstr "" + +msgid "" +":mod:`importlib.metadata` presents access to metadata from third-party " +"distributions." +msgstr "" + +msgid "" +":mod:`importlib.resources` provides routines for accessing non-code " +"\"resources\" from Python packages." +msgstr "" + +msgid ":ref:`import`" +msgstr ":ref:`import`" + +msgid "The language reference for the :keyword:`import` statement." +msgstr "Посилання на мову для оператора :keyword:`import`." + +msgid "" +"`Packages specification `__" +msgstr "`Специфікація пакетів `__" + +msgid "" +"Original specification of packages. Some semantics have changed since the " +"writing of this document (e.g. redirecting based on ``None`` in :data:`sys." +"modules`)." +msgstr "" +"Оригінальна специфікація пакетів. Деяка семантика змінилася з моменту " +"написання цього документа (наприклад, переспрямування на основі ``None`` у :" +"data:`sys.modules`)." + +msgid "The :func:`.__import__` function" +msgstr "Функція :func:`.__import__`" + +msgid "The :keyword:`import` statement is syntactic sugar for this function." +msgstr "Оператор :keyword:`import` є синтаксичним цукром для цієї функції." + +msgid ":ref:`sys-path-init`" +msgstr "" + +msgid "The initialization of :data:`sys.path`." +msgstr "" + +msgid ":pep:`235`" +msgstr ":pep:`235`" + +msgid "Import on Case-Insensitive Platforms" +msgstr "Імпорт на платформи без урахування регістру" + +msgid ":pep:`263`" +msgstr ":pep:`263`" + +msgid "Defining Python Source Code Encodings" +msgstr "Визначення кодувань вихідного коду Python" + +msgid ":pep:`302`" +msgstr ":pep:`302`" + +msgid "New Import Hooks" +msgstr "Нові гачки імпорту" + +msgid ":pep:`328`" +msgstr ":pep:`328`" + +msgid "Imports: Multi-Line and Absolute/Relative" +msgstr "Імпорт: багаторядковий і абсолютний/відносний" + +msgid ":pep:`366`" +msgstr ":pep:`366`" + +msgid "Main module explicit relative imports" +msgstr "Явний відносний імпорт головного модуля" + +msgid ":pep:`420`" +msgstr ":pep:`420`" + +msgid "Implicit namespace packages" +msgstr "Неявні пакети простору імен" + +msgid ":pep:`451`" +msgstr ":pep:`451`" + +msgid "A ModuleSpec Type for the Import System" +msgstr "Тип ModuleSpec для системи імпорту" + +msgid ":pep:`488`" +msgstr ":pep:`488`" + +msgid "Elimination of PYO files" +msgstr "Видалення файлів PYO" + +msgid ":pep:`489`" +msgstr ":pep:`489`" + +msgid "Multi-phase extension module initialization" +msgstr "Багатофазна ініціалізація модуля розширення" + +msgid ":pep:`552`" +msgstr ":pep:`552`" + +msgid "Deterministic pycs" +msgstr "Детерміновані фото" + +msgid ":pep:`3120`" +msgstr ":pep:`3120`" + +msgid "Using UTF-8 as the Default Source Encoding" +msgstr "Використання UTF-8 як вихідного кодування за умовчанням" + +msgid ":pep:`3147`" +msgstr ":pep:`3147`" + +msgid "PYC Repository Directories" +msgstr "Каталоги репозиторіїв PYC" + +msgid "Functions" +msgstr "Функції" + +msgid "An implementation of the built-in :func:`__import__` function." +msgstr "Реалізація вбудованої функції :func:`__import__`." + +msgid "" +"Programmatic importing of modules should use :func:`import_module` instead " +"of this function." +msgstr "" +"Програмне імпортування модулів має використовувати :func:`import_module` " +"замість цієї функції." + +msgid "" +"Import a module. The *name* argument specifies what module to import in " +"absolute or relative terms (e.g. either ``pkg.mod`` or ``..mod``). If the " +"name is specified in relative terms, then the *package* argument must be set " +"to the name of the package which is to act as the anchor for resolving the " +"package name (e.g. ``import_module('..mod', 'pkg.subpkg')`` will import " +"``pkg.mod``)." +msgstr "" +"Імпортувати модуль. Аргумент *name* визначає, який модуль імпортувати в " +"абсолютних чи відносних значеннях (наприклад, ``pkg.mod`` або ``..mod``). " +"Якщо ім’я вказано у відносних термінах, тоді в аргументі *package* має бути " +"встановлено ім’я пакета, який має діяти як прив’язка для визначення імені " +"пакета (наприклад, ``import_module('..mod', 'pkg' .subpkg')`` імпортує ``pkg." +"mod``)." + +msgid "" +"The :func:`import_module` function acts as a simplifying wrapper around :" +"func:`importlib.__import__`. This means all semantics of the function are " +"derived from :func:`importlib.__import__`. The most important difference " +"between these two functions is that :func:`import_module` returns the " +"specified package or module (e.g. ``pkg.mod``), while :func:`__import__` " +"returns the top-level package or module (e.g. ``pkg``)." +msgstr "" +"Функція :func:`import_module` діє як спрощена оболонка навколо :func:" +"`importlib.__import__`. Це означає, що вся семантика функції походить від :" +"func:`importlib.__import__`. Найважливіша відмінність між цими двома " +"функціями полягає в тому, що :func:`import_module` повертає вказаний пакунок " +"або модуль (наприклад, ``pkg.mod``), а :func:`__import__` повертає пакунок " +"або модуль верхнього рівня (напр. ``пакет``)." + +msgid "" +"If you are dynamically importing a module that was created since the " +"interpreter began execution (e.g., created a Python source file), you may " +"need to call :func:`invalidate_caches` in order for the new module to be " +"noticed by the import system." +msgstr "" +"Якщо ви динамічно імпортуєте модуль, який було створено після того, як " +"інтерпретатор почав виконання (наприклад, створив вихідний файл Python), вам " +"може знадобитися викликати :func:`invalidate_caches`, щоб система імпорту " +"помітила новий модуль." + +msgid "Parent packages are automatically imported." +msgstr "Батьківські пакети імпортуються автоматично." + +msgid "" +"Find the loader for a module, optionally within the specified *path*. If the " +"module is in :attr:`sys.modules`, then ``sys.modules[name].__loader__`` is " +"returned (unless the loader would be ``None`` or is not set, in which case :" +"exc:`ValueError` is raised). Otherwise a search using :attr:`sys.meta_path` " +"is done. ``None`` is returned if no loader is found." +msgstr "" +"Знайдіть завантажувач для модуля, необов’язково в межах указаного *шляху*. " +"Якщо модуль знаходиться в :attr:`sys.modules`, тоді повертається ``sys." +"modules[name].__loader__`` (якщо завантажувач не буде ``None`` або не " +"встановлено, у такому випадку :exc:`ValueError` виникає). В іншому випадку " +"виконується пошук за допомогою :attr:`sys.meta_path`. ``None`` повертається, " +"якщо завантажувач не знайдено." + +msgid "" +"A dotted name does not have its parents implicitly imported as that requires " +"loading them and that may not be desired. To properly import a submodule you " +"will need to import all parent packages of the submodule and use the correct " +"argument to *path*." +msgstr "" +"Ім’я з крапками не має неявно імпортованих батьків, оскільки це вимагає їх " +"завантаження, а це може бути небажаним. Щоб правильно імпортувати підмодуль, " +"вам потрібно буде імпортувати всі батьківські пакети підмодуля та " +"використати правильний аргумент для *шляху*." + +msgid "" +"If ``__loader__`` is not set, raise :exc:`ValueError`, just like when the " +"attribute is set to ``None``." +msgstr "" +"Якщо ``__loader__`` не встановлено, викличте :exc:`ValueError`, так само, як " +"коли для атрибута встановлено значення ``None``." + +msgid "Use :func:`importlib.util.find_spec` instead." +msgstr "Натомість використовуйте :func:`importlib.util.find_spec`." + +msgid "" +"Invalidate the internal caches of finders stored at :data:`sys.meta_path`. " +"If a finder implements ``invalidate_caches()`` then it will be called to " +"perform the invalidation. This function should be called if any modules are " +"created/installed while your program is running to guarantee all finders " +"will notice the new module's existence." +msgstr "" +"Визнати недійсними внутрішні кеші засобів пошуку, які зберігаються в :data:" +"`sys.meta_path`. Якщо засіб пошуку реалізує ``invalidate_caches()``, тоді " +"він буде викликаний для виконання недійсності. Цю функцію слід викликати, " +"якщо будь-які модулі створюються/встановлюються під час роботи вашої " +"програми, щоб гарантувати, що всі шукачі помітять існування нового модуля." + +msgid "" +"Namespace packages created/installed in a different :data:`sys.path` " +"location after the same namespace was already imported are noticed." +msgstr "" + +msgid "" +"Reload a previously imported *module*. The argument must be a module " +"object, so it must have been successfully imported before. This is useful " +"if you have edited the module source file using an external editor and want " +"to try out the new version without leaving the Python interpreter. The " +"return value is the module object (which can be different if re-importing " +"causes a different object to be placed in :data:`sys.modules`)." +msgstr "" +"Перезавантажте раніше імпортований *модуль*. Аргумент має бути об’єктом " +"модуля, тому він має бути успішно імпортований раніше. Це корисно, якщо ви " +"відредагували вихідний файл модуля за допомогою зовнішнього редактора і " +"хочете випробувати нову версію, не виходячи з інтерпретатора Python. " +"Поверненим значенням є об’єкт модуля (який може бути іншим, якщо повторне " +"імпортування спричиняє розміщення іншого об’єкта в :data:`sys.modules`)." + +msgid "When :func:`reload` is executed:" +msgstr "Коли :func:`reload` виконується:" + +msgid "" +"Python module's code is recompiled and the module-level code re-executed, " +"defining a new set of objects which are bound to names in the module's " +"dictionary by reusing the :term:`loader` which originally loaded the " +"module. The ``init`` function of extension modules is not called a second " +"time." +msgstr "" +"Код модуля Python перекомпілюється, а код рівня модуля повторно виконується, " +"визначаючи новий набір об’єктів, які прив’язуються до імен у словнику модуля " +"шляхом повторного використання :term:`loader`, який початково завантажив " +"модуль. Функція ``init`` модулів розширення не викликається вдруге." + +msgid "" +"As with all other objects in Python the old objects are only reclaimed after " +"their reference counts drop to zero." +msgstr "" +"Як і у випадку з усіма іншими об’єктами в Python, старі об’єкти " +"відновлюються лише після того, як їх кількість посилань зменшується до нуля." + +msgid "" +"The names in the module namespace are updated to point to any new or changed " +"objects." +msgstr "" +"Імена в просторі імен модуля оновлюються, щоб вказувати на будь-які нові або " +"змінені об’єкти." + +msgid "" +"Other references to the old objects (such as names external to the module) " +"are not rebound to refer to the new objects and must be updated in each " +"namespace where they occur if that is desired." +msgstr "" +"Інші посилання на старі об’єкти (наприклад, імена, зовнішні по відношенню до " +"модуля) не повертаються до нових об’єктів і повинні бути оновлені в кожному " +"просторі імен, де вони зустрічаються, якщо це потрібно." + +msgid "There are a number of other caveats:" +msgstr "Існує ряд інших застережень:" + +msgid "" +"When a module is reloaded, its dictionary (containing the module's global " +"variables) is retained. Redefinitions of names will override the old " +"definitions, so this is generally not a problem. If the new version of a " +"module does not define a name that was defined by the old version, the old " +"definition remains. This feature can be used to the module's advantage if " +"it maintains a global table or cache of objects --- with a :keyword:`try` " +"statement it can test for the table's presence and skip its initialization " +"if desired::" +msgstr "" +"Коли модуль перезавантажується, його словник (що містить глобальні змінні " +"модуля) зберігається. Перевизначення імен замінить старі визначення, тому " +"це, як правило, не проблема. Якщо нова версія модуля не визначає назву, яка " +"була визначена старою версією, старе визначення залишається. Цю функцію " +"можна використовувати на користь модуля, якщо він підтримує глобальну " +"таблицю або кеш об’єктів --- за допомогою оператора :keyword:`try` він може " +"перевірити наявність таблиці та за бажанням пропустити її ініціалізацію::" + +msgid "" +"It is generally not very useful to reload built-in or dynamically loaded " +"modules. Reloading :mod:`sys`, :mod:`__main__`, :mod:`builtins` and other " +"key modules is not recommended. In many cases extension modules are not " +"designed to be initialized more than once, and may fail in arbitrary ways " +"when reloaded." +msgstr "" +"Зазвичай не дуже корисно перезавантажувати вбудовані або динамічно " +"завантажувані модулі. Перезавантажувати :mod:`sys`, :mod:`__main__`, :mod:" +"`builtins` та інші ключові модулі не рекомендується. У багатьох випадках " +"модулі розширення не призначені для ініціалізації більше одного разу, і " +"можуть виникати будь-які збої під час перезавантаження." + +msgid "" +"If a module imports objects from another module using :keyword:`from` ... :" +"keyword:`import` ..., calling :func:`reload` for the other module does not " +"redefine the objects imported from it --- one way around this is to re-" +"execute the :keyword:`!from` statement, another is to use :keyword:`!import` " +"and qualified names (*module.name*) instead." +msgstr "" +"Якщо модуль імпортує об’єкти з іншого модуля за допомогою :keyword:" +"`from` ... :keyword:`import` ..., виклик :func:`reload` для іншого модуля не " +"перевизначає об’єкти, імпортовані з нього --- один із способів обійти це — " +"повторно виконати оператор :keyword:`!from`, інший — використати замість " +"нього :keyword:`!import` і кваліфіковані імена (*module.name*)." + +msgid "" +"If a module instantiates instances of a class, reloading the module that " +"defines the class does not affect the method definitions of the instances " +"--- they continue to use the old class definition. The same is true for " +"derived classes." +msgstr "" +"Якщо модуль створює екземпляри класу, перезавантаження модуля, який визначає " +"клас, не впливає на визначення методів екземплярів --- вони продовжують " +"використовувати старе визначення класу. Те саме стосується похідних класів." + +msgid "" +":exc:`ModuleNotFoundError` is raised when the module being reloaded lacks a :" +"class:`~importlib.machinery.ModuleSpec`." +msgstr "" +":exc:`ModuleNotFoundError` виникає, коли модуль, який перезавантажується, не " +"має :class:`~importlib.machinery.ModuleSpec`." + +msgid ":mod:`importlib.abc` -- Abstract base classes related to import" +msgstr ":mod:`importlib.abc` -- Абстрактні базові класи, пов'язані з імпортом" + +msgid "**Source code:** :source:`Lib/importlib/abc.py`" +msgstr "**Вихідний код:** :source:`Lib/importlib/abc.py`" + +msgid "" +"The :mod:`importlib.abc` module contains all of the core abstract base " +"classes used by :keyword:`import`. Some subclasses of the core abstract base " +"classes are also provided to help in implementing the core ABCs." +msgstr "" +"Модуль :mod:`importlib.abc` містить усі основні абстрактні базові класи, які " +"використовуються :keyword:`import`. Деякі підкласи основних абстрактних " +"базових класів також надаються для допомоги в реалізації основних ABC." + +msgid "ABC hierarchy::" +msgstr "Ієрархія ABC::" + +msgid "An abstract base class representing a :term:`finder`." +msgstr "Абстрактний базовий клас, що представляє :term:`finder`." + +msgid "Use :class:`MetaPathFinder` or :class:`PathEntryFinder` instead." +msgstr "" +"Замість цього використовуйте :class:`MetaPathFinder` або :class:" +"`PathEntryFinder`." + +msgid "" +"An abstract method for finding a :term:`loader` for the specified module. " +"Originally specified in :pep:`302`, this method was meant for use in :data:" +"`sys.meta_path` and in the path-based import subsystem." +msgstr "" +"Абстрактний метод пошуку :term:`loader` для вказаного модуля. Спочатку " +"вказаний у :pep:`302`, цей метод був призначений для використання в :data:" +"`sys.meta_path` і в підсистемі імпорту на основі шляху." + +msgid "" +"Returns ``None`` when called instead of raising :exc:`NotImplementedError`." +msgstr "" +"Повертає ``None`` під час виклику замість виклику :exc:`NotImplementedError`." + +msgid "" +"Implement :meth:`MetaPathFinder.find_spec` or :meth:`PathEntryFinder." +"find_spec` instead." +msgstr "" +"Натомість застосуйте :meth:`MetaPathFinder.find_spec` або :meth:" +"`PathEntryFinder.find_spec`." + +msgid "An abstract base class representing a :term:`meta path finder`." +msgstr "Абстрактний базовий клас, що представляє :term:`meta path finder`." + +msgid "No longer a subclass of :class:`Finder`." +msgstr "Більше не є підкласом :class:`Finder`." + +msgid "" +"An abstract method for finding a :term:`spec ` for the " +"specified module. If this is a top-level import, *path* will be ``None``. " +"Otherwise, this is a search for a subpackage or module and *path* will be " +"the value of :attr:`__path__` from the parent package. If a spec cannot be " +"found, ``None`` is returned. When passed in, ``target`` is a module object " +"that the finder may use to make a more educated guess about what spec to " +"return. :func:`importlib.util.spec_from_loader` may be useful for " +"implementing concrete ``MetaPathFinders``." +msgstr "" +"Абстрактний метод для пошуку :term:`spec ` для вказаного " +"модуля. Якщо це імпорт верхнього рівня, *path* матиме значення ``None``. В " +"іншому випадку це буде пошук підпакета або модуля, і *path* буде значенням :" +"attr:`__path__` з батьківського пакета. Якщо специфікацію неможливо знайти, " +"повертається ``None``. Коли передано, ``target`` є об’єктом модуля, який " +"шукач може використовувати, щоб зробити більш освічене припущення про те, " +"яку специфікацію потрібно повернути. :func:`importlib.util.spec_from_loader` " +"може бути корисним для реалізації конкретних ``MetaPathFinders``." + +msgid "" +"A legacy method for finding a :term:`loader` for the specified module. If " +"this is a top-level import, *path* will be ``None``. Otherwise, this is a " +"search for a subpackage or module and *path* will be the value of :attr:" +"`__path__` from the parent package. If a loader cannot be found, ``None`` is " +"returned." +msgstr "" +"Застарілий метод пошуку :term:`loader` для вказаного модуля. Якщо це імпорт " +"верхнього рівня, *path* матиме значення ``None``. В іншому випадку це буде " +"пошук підпакета або модуля, і *path* буде значенням :attr:`__path__` з " +"батьківського пакета. Якщо завантажувач не знайдено, повертається ``None``." + +msgid "" +"If :meth:`find_spec` is defined, backwards-compatible functionality is " +"provided." +msgstr "" +"Якщо визначено :meth:`find_spec`, надається функція зворотної сумісності." + +msgid "" +"Returns ``None`` when called instead of raising :exc:`NotImplementedError`. " +"Can use :meth:`find_spec` to provide functionality." +msgstr "" +"Повертає ``None`` під час виклику замість виклику :exc:" +"`NotImplementedError`. Можна використовувати :meth:`find_spec` для " +"забезпечення функціональності." + +msgid "Use :meth:`find_spec` instead." +msgstr "Замість цього використовуйте :meth:`find_spec`." + +msgid "" +"An optional method which, when called, should invalidate any internal cache " +"used by the finder. Used by :func:`importlib.invalidate_caches` when " +"invalidating the caches of all finders on :data:`sys.meta_path`." +msgstr "" +"Додатковий метод, який під час виклику має зробити недійсним будь-який " +"внутрішній кеш, який використовує шукач. Використовується :func:`importlib." +"invalidate_caches` під час визнання недійсними кешів усіх засобів пошуку на :" +"data:`sys.meta_path`." + +msgid "Returns ``None`` when called instead of ``NotImplemented``." +msgstr "Повертає ``None`` під час виклику замість ``NotImplemented``." + +msgid "" +"An abstract base class representing a :term:`path entry finder`. Though it " +"bears some similarities to :class:`MetaPathFinder`, ``PathEntryFinder`` is " +"meant for use only within the path-based import subsystem provided by :class:" +"`importlib.machinery.PathFinder`." +msgstr "" +"Абстрактний базовий клас, що представляє :term:`path entry finder`. Хоча він " +"має певну схожість із :class:`MetaPathFinder`, ``PathEntryFinder`` " +"призначений для використання лише в підсистемі імпорту на основі шляху, яку " +"надає :class:`importlib.machinery.PathFinder`." + +msgid "" +"An abstract method for finding a :term:`spec ` for the " +"specified module. The finder will search for the module only within the :" +"term:`path entry` to which it is assigned. If a spec cannot be found, " +"``None`` is returned. When passed in, ``target`` is a module object that " +"the finder may use to make a more educated guess about what spec to return. :" +"func:`importlib.util.spec_from_loader` may be useful for implementing " +"concrete ``PathEntryFinders``." +msgstr "" +"Абстрактний метод для пошуку :term:`spec ` для вказаного " +"модуля. Шукач шукатиме модуль лише в межах :term:`path entry`, якому він " +"призначений. Якщо специфікацію неможливо знайти, повертається ``None``. Коли " +"передано, ``target`` є об’єктом модуля, який шукач може використовувати, щоб " +"зробити більш освічене припущення про те, яку специфікацію потрібно " +"повернути. :func:`importlib.util.spec_from_loader` може бути корисним для " +"реалізації конкретних ``PathEntryFinders``." + +msgid "" +"A legacy method for finding a :term:`loader` for the specified module. " +"Returns a 2-tuple of ``(loader, portion)`` where ``portion`` is a sequence " +"of file system locations contributing to part of a namespace package. The " +"loader may be ``None`` while specifying ``portion`` to signify the " +"contribution of the file system locations to a namespace package. An empty " +"list can be used for ``portion`` to signify the loader is not part of a " +"namespace package. If ``loader`` is ``None`` and ``portion`` is the empty " +"list then no loader or location for a namespace package were found (i.e. " +"failure to find anything for the module)." +msgstr "" +"Застарілий метод для пошуку :term:`loader` для вказаного модуля. Повертає 2-" +"кортеж ``(loader, portion)``, де ``portion`` – це послідовність розташувань " +"файлової системи, що входять до частини пакета простору імен. Завантажувач " +"може мати значення ``None``, коли вказано ``portion``, щоб позначити внесок " +"розташування файлової системи в пакет простору імен. Порожній список можна " +"використовувати для ``portion``, щоб вказати, що завантажувач не є частиною " +"пакета простору імен. Якщо ``завантажувач`` має значення ``None``, а " +"``порція`` є порожнім списком, тоді не знайдено завантажувача або " +"розташування для пакета простору імен (тобто неможливо знайти нічого для " +"модуля)." + +msgid "" +"If :meth:`find_spec` is defined then backwards-compatible functionality is " +"provided." +msgstr "" +"Якщо визначено :meth:`find_spec`, то надається функція зворотної сумісності." + +msgid "" +"Returns ``(None, [])`` instead of raising :exc:`NotImplementedError`. Uses :" +"meth:`find_spec` when available to provide functionality." +msgstr "" +"Повертає ``(None, [])`` замість виклику :exc:`NotImplementedError`. " +"Використовує :meth:`find_spec`, коли доступний, щоб забезпечити " +"функціональність." + +msgid "" +"A concrete implementation of :meth:`Finder.find_module` which is equivalent " +"to ``self.find_loader(fullname)[0]``." +msgstr "" +"Конкретна реалізація :meth:`Finder.find_module`, яка еквівалентна ``self." +"find_loader(fullname)[0]``." + +msgid "" +"An optional method which, when called, should invalidate any internal cache " +"used by the finder. Used by :meth:`importlib.machinery.PathFinder." +"invalidate_caches` when invalidating the caches of all cached finders." +msgstr "" +"Додатковий метод, який під час виклику має зробити недійсним будь-який " +"внутрішній кеш, який використовує шукач. Використовується :meth:`importlib." +"machinery.PathFinder.invalidate_caches` під час визнання недійсними кешів " +"усіх кешованих засобів пошуку." + +msgid "" +"An abstract base class for a :term:`loader`. See :pep:`302` for the exact " +"definition for a loader." +msgstr "" +"Абстрактний базовий клас для :term:`loader`. Перегляньте :pep:`302` для " +"точного визначення завантажувача." + +msgid "" +"Loaders that wish to support resource reading should implement a :meth:" +"`get_resource_reader` method as specified by :class:`importlib.resources.abc." +"ResourceReader`." +msgstr "" + +msgid "Introduced the optional :meth:`get_resource_reader` method." +msgstr "" + +msgid "" +"A method that returns the module object to use when importing a module. " +"This method may return ``None``, indicating that default module creation " +"semantics should take place." +msgstr "" +"Метод, який повертає об’єкт модуля для використання під час імпорту модуля. " +"Цей метод може повертати ``None``, вказуючи, що семантика створення модуля " +"за замовчуванням має мати місце." + +msgid "This method is no longer optional when :meth:`exec_module` is defined." +msgstr "" + +msgid "" +"An abstract method that executes the module in its own namespace when a " +"module is imported or reloaded. The module should already be initialized " +"when :meth:`exec_module` is called. When this method exists, :meth:" +"`create_module` must be defined." +msgstr "" + +msgid ":meth:`create_module` must also be defined." +msgstr "" + +msgid "" +"A legacy method for loading a module. If the module cannot be loaded, :exc:" +"`ImportError` is raised, otherwise the loaded module is returned." +msgstr "" + +msgid "" +"If the requested module already exists in :data:`sys.modules`, that module " +"should be used and reloaded. Otherwise the loader should create a new module " +"and insert it into :data:`sys.modules` before any loading begins, to prevent " +"recursion from the import. If the loader inserted a module and the load " +"fails, it must be removed by the loader from :data:`sys.modules`; modules " +"already in :data:`sys.modules` before the loader began execution should be " +"left alone (see :func:`importlib.util.module_for_loader`)." +msgstr "" + +msgid "" +"The loader should set several attributes on the module (note that some of " +"these attributes can change when a module is reloaded):" +msgstr "" + +msgid ":attr:`__name__`" +msgstr ":attr:`__name__`" + +msgid "" +"The module's fully qualified name. It is ``'__main__'`` for an executed " +"module." +msgstr "" + +msgid ":attr:`__file__`" +msgstr ":attr:`__file__`" + +msgid "" +"The location the :term:`loader` used to load the module. For example, for " +"modules loaded from a .py file this is the filename. It is not set on all " +"modules (e.g. built-in modules)." +msgstr "" + +msgid ":attr:`__cached__`" +msgstr ":attr:`__cached__`" + +msgid "" +"The filename of a compiled version of the module's code. It is not set on " +"all modules (e.g. built-in modules)." +msgstr "" + +msgid ":attr:`__path__`" +msgstr ":attr:`__path__`" + +msgid "" +"The list of locations where the package's submodules will be found. Most of " +"the time this is a single directory. The import system passes this attribute " +"to ``__import__()`` and to finders in the same way as :attr:`sys.path` but " +"just for the package. It is not set on non-package modules so it can be used " +"as an indicator that the module is a package." +msgstr "" + +msgid ":attr:`__package__`" +msgstr ":attr:`__package__`" + +msgid "" +"The fully qualified name of the package the module is in (or the empty " +"string for a top-level module). If the module is a package then this is the " +"same as :attr:`__name__`." +msgstr "" + +msgid ":attr:`__loader__`" +msgstr ":attr:`__loader__`" + +msgid "The :term:`loader` used to load the module." +msgstr "" + +msgid "" +"When :meth:`exec_module` is available then backwards-compatible " +"functionality is provided." +msgstr "" +"Коли :meth:`exec_module` доступний, тоді надається функція зворотної " +"сумісності." + +msgid "" +"Raise :exc:`ImportError` when called instead of :exc:`NotImplementedError`. " +"Functionality provided when :meth:`exec_module` is available." +msgstr "" + +msgid "" +"The recommended API for loading a module is :meth:`exec_module` (and :meth:" +"`create_module`). Loaders should implement it instead of :meth:" +"`load_module`. The import machinery takes care of all the other " +"responsibilities of :meth:`load_module` when :meth:`exec_module` is " +"implemented." +msgstr "" + +msgid "" +"A legacy method which when implemented calculates and returns the given " +"module's representation, as a string. The module type's default :meth:" +"`__repr__` will use the result of this method as appropriate." +msgstr "" + +msgid "Made optional instead of an abstractmethod." +msgstr "Зроблено необов’язковим замість абстрактного методу." + +msgid "The import machinery now takes care of this automatically." +msgstr "Імпортний механізм тепер подбає про це автоматично." + +msgid "" +"An abstract base class for a :term:`loader` which implements the optional :" +"pep:`302` protocol for loading arbitrary resources from the storage back-end." +msgstr "" +"Абстрактний базовий клас для :term:`loader`, який реалізує необов’язковий " +"протокол :pep:`302` для завантаження довільних ресурсів із внутрішнього " +"сховища." + +msgid "" +"This ABC is deprecated in favour of supporting resource loading through :" +"class:`importlib.resources.abc.ResourceReader`." +msgstr "" + +msgid "" +"An abstract method to return the bytes for the data located at *path*. " +"Loaders that have a file-like storage back-end that allows storing arbitrary " +"data can implement this abstract method to give direct access to the data " +"stored. :exc:`OSError` is to be raised if the *path* cannot be found. The " +"*path* is expected to be constructed using a module's :attr:`__file__` " +"attribute or an item from a package's :attr:`__path__`." +msgstr "" +"Абстрактний метод для повернення байтів для даних, розташованих за *шляхом*. " +"Завантажувачі, які мають серверну систему зберігання, подібну до файлів, яка " +"дозволяє зберігати довільні дані, можуть реалізувати цей абстрактний метод, " +"щоб надати прямий доступ до збережених даних. :exc:`OSError` виникає, якщо " +"*шлях* не може бути знайдений. Очікується, що *шлях* буде створено за " +"допомогою атрибута :attr:`__file__` модуля або елемента з :attr:`__path__` " +"пакета." + +msgid "Raises :exc:`OSError` instead of :exc:`NotImplementedError`." +msgstr "Викликає :exc:`OSError` замість :exc:`NotImplementedError`." + +msgid "" +"An abstract base class for a :term:`loader` which implements the optional :" +"pep:`302` protocol for loaders that inspect modules." +msgstr "" +"Абстрактний базовий клас для :term:`loader`, який реалізує додатковий " +"протокол :pep:`302` для завантажувачів, які перевіряють модулі." + +msgid "" +"Return the code object for a module, or ``None`` if the module does not have " +"a code object (as would be the case, for example, for a built-in module). " +"Raise an :exc:`ImportError` if loader cannot find the requested module." +msgstr "" +"Повертає об’єкт коду для модуля або ``None``, якщо модуль не має об’єкта " +"коду (як, наприклад, у випадку вбудованого модуля). Викликати :exc:" +"`ImportError`, якщо завантажувач не може знайти запитуваний модуль." + +msgid "" +"While the method has a default implementation, it is suggested that it be " +"overridden if possible for performance." +msgstr "" +"Хоча метод має реалізацію за замовчуванням, пропонується замінити його, якщо " +"це можливо для продуктивності." + +msgid "No longer abstract and a concrete implementation is provided." +msgstr "Більше не абстрактне, а конкретна реалізація." + +msgid "" +"An abstract method to return the source of a module. It is returned as a " +"text string using :term:`universal newlines`, translating all recognized " +"line separators into ``'\\n'`` characters. Returns ``None`` if no source is " +"available (e.g. a built-in module). Raises :exc:`ImportError` if the loader " +"cannot find the module specified." +msgstr "" +"Абстрактний метод для повернення вихідного коду модуля. Він повертається як " +"текстовий рядок з використанням :term:`universal newlines`, переводячи всі " +"розпізнані роздільники рядків у символи ``'\\n'``. Повертає ``None``, якщо " +"джерело недоступне (наприклад, вбудований модуль). Викликає :exc:" +"`ImportError`, якщо завантажувач не може знайти вказаний модуль." + +msgid "Raises :exc:`ImportError` instead of :exc:`NotImplementedError`." +msgstr "Викликає :exc:`ImportError` замість :exc:`NotImplementedError`." + +msgid "" +"An optional method to return a true value if the module is a package, a " +"false value otherwise. :exc:`ImportError` is raised if the :term:`loader` " +"cannot find the module." +msgstr "" +"Додатковий метод для повернення істинного значення, якщо модуль є пакетом, і " +"хибного значення в іншому випадку. :exc:`ImportError` виникає, якщо :term:" +"`loader` не може знайти модуль." + +msgid "Create a code object from Python source." +msgstr "Створіть об’єкт коду з джерела Python." + +msgid "" +"The *data* argument can be whatever the :func:`compile` function supports (i." +"e. string or bytes). The *path* argument should be the \"path\" to where the " +"source code originated from, which can be an abstract concept (e.g. location " +"in a zip file)." +msgstr "" +"Аргументом *data* може бути те, що підтримує функція :func:`compile` (тобто " +"рядок або байти). Аргумент *path* має бути \"шляхом\", звідки походить " +"вихідний код, що може бути абстрактним поняттям (наприклад, розташуванням у " +"файлі zip)." + +msgid "" +"With the subsequent code object one can execute it in a module by running " +"``exec(code, module.__dict__)``." +msgstr "" +"З наступним об’єктом коду можна виконати його в модулі, запустивши " +"``exec(code, module.__dict__)``." + +msgid "Made the method static." +msgstr "Зробив метод статичним." + +msgid "Implementation of :meth:`Loader.exec_module`." +msgstr "Реалізація :meth:`Loader.exec_module`." + +msgid "Implementation of :meth:`Loader.load_module`." +msgstr "Реалізація :meth:`Loader.load_module`." + +msgid "use :meth:`exec_module` instead." +msgstr "замість цього використовуйте :meth:`exec_module`." + +msgid "" +"An abstract base class which inherits from :class:`InspectLoader` that, when " +"implemented, helps a module to be executed as a script. The ABC represents " +"an optional :pep:`302` protocol." +msgstr "" +"Абстрактний базовий клас, успадкований від :class:`InspectLoader`, який, " +"реалізований, допомагає модулю виконуватися як сценарій. ABC представляє " +"необов’язковий протокол :pep:`302`." + +msgid "" +"An abstract method that is to return the value of :attr:`__file__` for the " +"specified module. If no path is available, :exc:`ImportError` is raised." +msgstr "" +"Абстрактний метод, який повертає значення :attr:`__file__` для зазначеного " +"модуля. Якщо шлях недоступний, виникає :exc:`ImportError`." + +msgid "" +"If source code is available, then the method should return the path to the " +"source file, regardless of whether a bytecode was used to load the module." +msgstr "" +"Якщо вихідний код доступний, тоді метод має повертати шлях до вихідного " +"файлу, незалежно від того, чи використовувався байт-код для завантаження " +"модуля." + +msgid "" +"An abstract base class which inherits from :class:`ResourceLoader` and :" +"class:`ExecutionLoader`, providing concrete implementations of :meth:" +"`ResourceLoader.get_data` and :meth:`ExecutionLoader.get_filename`." +msgstr "" +"Абстрактний базовий клас, який успадковує :class:`ResourceLoader` і :class:" +"`ExecutionLoader`, надаючи конкретні реалізації :meth:`ResourceLoader." +"get_data` і :meth:`ExecutionLoader.get_filename`." + +msgid "" +"The *fullname* argument is a fully resolved name of the module the loader is " +"to handle. The *path* argument is the path to the file for the module." +msgstr "" +"Аргумент *повне ім’я* — це повністю визначене ім’я модуля, який має " +"обробляти завантажувач. Аргумент *path* — це шлях до файлу модуля." + +msgid "The name of the module the loader can handle." +msgstr "Назва модуля, який може обробляти завантажувач." + +msgid "Path to the file of the module." +msgstr "Шлях до файлу модуля." + +msgid "Calls super's ``load_module()``." +msgstr "Викликає ``load_module()`` супер." + +msgid "Use :meth:`Loader.exec_module` instead." +msgstr "Натомість використовуйте :meth:`Loader.exec_module`." + +msgid "Returns :attr:`path`." +msgstr "Повертає :attr:`path`." + +msgid "Reads *path* as a binary file and returns the bytes from it." +msgstr "Читає *шлях* як двійковий файл і повертає байти з нього." + +msgid "" +"An abstract base class for implementing source (and optionally bytecode) " +"file loading. The class inherits from both :class:`ResourceLoader` and :" +"class:`ExecutionLoader`, requiring the implementation of:" +msgstr "" +"Абстрактний базовий клас для реалізації вихідного (і необов’язково байт-" +"коду) завантаження файлу. Клас успадковує як :class:`ResourceLoader`, так і :" +"class:`ExecutionLoader`, що вимагає реалізації:" + +msgid ":meth:`ResourceLoader.get_data`" +msgstr ":meth:`ResourceLoader.get_data`" + +msgid ":meth:`ExecutionLoader.get_filename`" +msgstr ":meth:`ExecutionLoader.get_filename`" + +msgid "" +"Should only return the path to the source file; sourceless loading is not " +"supported." +msgstr "" +"Має повертати лише шлях до вихідного файлу; завантаження без джерел не " +"підтримується." + +msgid "" +"The abstract methods defined by this class are to add optional bytecode file " +"support. Not implementing these optional methods (or causing them to raise :" +"exc:`NotImplementedError`) causes the loader to only work with source code. " +"Implementing the methods allows the loader to work with source *and* " +"bytecode files; it does not allow for *sourceless* loading where only " +"bytecode is provided. Bytecode files are an optimization to speed up " +"loading by removing the parsing step of Python's compiler, and so no " +"bytecode-specific API is exposed." +msgstr "" +"Абстрактні методи, визначені цим класом, призначені для додавання додаткової " +"підтримки файлу байт-коду. Нереалізація цих додаткових методів (або виклик " +"їх :exc:`NotImplementedError`) змушує завантажувач працювати лише з вихідним " +"кодом. Реалізація методів дозволяє завантажувачу працювати з вихідними *та* " +"файлами байт-коду; він не допускає *безджерельного* завантаження, де " +"надається лише байт-код. Файли байт-коду є оптимізацією для прискорення " +"завантаження шляхом видалення кроку синтаксичного аналізу компілятора " +"Python, тому API, специфічний для байт-коду, не розкривається." + +msgid "" +"Optional abstract method which returns a :class:`dict` containing metadata " +"about the specified path. Supported dictionary keys are:" +msgstr "" +"Додатковий абстрактний метод, який повертає :class:`dict`, що містить " +"метадані про вказаний шлях. Підтримувані ключі словника:" + +msgid "" +"``'mtime'`` (mandatory): an integer or floating-point number representing " +"the modification time of the source code;" +msgstr "" +"``'mtime'`` (обов'язковий): ціле число або число з плаваючою комою, що " +"представляє час модифікації вихідного коду;" + +msgid "``'size'`` (optional): the size in bytes of the source code." +msgstr "``'size'`` (необов'язковий): розмір у байтах вихідного коду." + +msgid "" +"Any other keys in the dictionary are ignored, to allow for future " +"extensions. If the path cannot be handled, :exc:`OSError` is raised." +msgstr "" +"Будь-які інші ключі в словнику ігноруються, щоб дозволити майбутні " +"розширення. Якщо шлях не можна обробити, виникає :exc:`OSError`." + +msgid "Raise :exc:`OSError` instead of :exc:`NotImplementedError`." +msgstr "Викликати :exc:`OSError` замість :exc:`NotImplementedError`." + +msgid "" +"Optional abstract method which returns the modification time for the " +"specified path." +msgstr "" +"Додатковий абстрактний метод, який повертає час модифікації для вказаного " +"шляху." + +msgid "" +"This method is deprecated in favour of :meth:`path_stats`. You don't have " +"to implement it, but it is still available for compatibility purposes. " +"Raise :exc:`OSError` if the path cannot be handled." +msgstr "" +"Цей метод застарів на користь :meth:`path_stats`. Вам не потрібно його " +"впроваджувати, але він все ще доступний для цілей сумісності. Викликати :exc:" +"`OSError`, якщо шлях неможливо обробити." + +msgid "" +"Optional abstract method which writes the specified bytes to a file path. " +"Any intermediate directories which do not exist are to be created " +"automatically." +msgstr "" +"Додатковий абстрактний метод, який записує вказані байти в шлях до файлу. " +"Будь-які проміжні каталоги, яких не існує, створюються автоматично." + +msgid "" +"When writing to the path fails because the path is read-only (:attr:`errno." +"EACCES`/:exc:`PermissionError`), do not propagate the exception." +msgstr "" +"Якщо запис у шлях не вдається через те, що шлях доступний лише для читання (:" +"attr:`errno.EACCES`/:exc:`PermissionError`), не поширюйте виняткову ситуацію." + +msgid "No longer raises :exc:`NotImplementedError` when called." +msgstr "Більше не викликає :exc:`NotImplementedError` під час виклику." + +msgid "Concrete implementation of :meth:`InspectLoader.get_code`." +msgstr "Конкретна реалізація :meth:`InspectLoader.get_code`." + +msgid "Concrete implementation of :meth:`Loader.exec_module`." +msgstr "Конкретна реалізація :meth:`Loader.exec_module`." + +msgid "Concrete implementation of :meth:`Loader.load_module`." +msgstr "Конкретна реалізація :meth:`Loader.load_module`." + +msgid "Use :meth:`exec_module` instead." +msgstr "Замість цього використовуйте :meth:`exec_module`." + +msgid "Concrete implementation of :meth:`InspectLoader.get_source`." +msgstr "Конкретна реалізація :meth:`InspectLoader.get_source`." + +msgid "" +"Concrete implementation of :meth:`InspectLoader.is_package`. A module is " +"determined to be a package if its file path (as provided by :meth:" +"`ExecutionLoader.get_filename`) is a file named ``__init__`` when the file " +"extension is removed **and** the module name itself does not end in " +"``__init__``." +msgstr "" +"Конкретна реалізація :meth:`InspectLoader.is_package`. Модуль вважається " +"пакетом, якщо його шлях до файлу (як надано :meth:`ExecutionLoader." +"get_filename`) є файлом з назвою ``__init__``, коли розширення файлу " +"видалено **і** сама назва модуля не закінчується на ``__init__``." + +msgid ":mod:`importlib.machinery` -- Importers and path hooks" +msgstr ":mod:`importlib.machinery` -- Імпортери та перехоплювачі шляху" + +msgid "**Source code:** :source:`Lib/importlib/machinery.py`" +msgstr "**Вихідний код:** :source:`Lib/importlib/machinery.py`" + +msgid "" +"This module contains the various objects that help :keyword:`import` find " +"and load modules." +msgstr "" +"Цей модуль містить різноманітні об’єкти, які допомагають :keyword:`import` " +"знаходити та завантажувати модулі." + +msgid "" +"A list of strings representing the recognized file suffixes for source " +"modules." +msgstr "" +"Список рядків, що представляють розпізнані суфікси файлів для вихідних " +"модулів." + +msgid "" +"A list of strings representing the file suffixes for non-optimized bytecode " +"modules." +msgstr "" +"Список рядків, що представляють суфікси файлів для неоптимізованих модулів " +"байт-коду." + +msgid "Use :attr:`BYTECODE_SUFFIXES` instead." +msgstr "Натомість використовуйте :attr:`BYTECODE_SUFFIXES`." + +msgid "" +"A list of strings representing the file suffixes for optimized bytecode " +"modules." +msgstr "" +"Список рядків, що представляють суфікси файлів для оптимізованих модулів " +"байт-коду." + +msgid "" +"A list of strings representing the recognized file suffixes for bytecode " +"modules (including the leading dot)." +msgstr "" +"Список рядків, що представляють розпізнані суфікси файлів для модулів байт-" +"коду (включно з початковою крапкою)." + +msgid "The value is no longer dependent on ``__debug__``." +msgstr "Значення більше не залежить від ``__debug__``." + +msgid "" +"A list of strings representing the recognized file suffixes for extension " +"modules." +msgstr "" +"Список рядків, що представляють розпізнані суфікси файлів для модулів " +"розширення." + +msgid "" +"Returns a combined list of strings representing all file suffixes for " +"modules recognized by the standard import machinery. This is a helper for " +"code which simply needs to know if a filesystem path potentially refers to a " +"module without needing any details on the kind of module (for example, :func:" +"`inspect.getmodulename`)." +msgstr "" +"Повертає комбінований список рядків, що представляють усі суфікси файлів для " +"модулів, розпізнаних стандартним механізмом імпорту. Це допоміжний засіб для " +"коду, якому просто потрібно знати, чи шлях до файлової системи потенційно " +"посилається на модуль, не потребуючи жодних деталей щодо типу модуля " +"(наприклад, :func:`inspect.getmodulename`)." + +msgid "" +"An :term:`importer` for built-in modules. All known built-in modules are " +"listed in :data:`sys.builtin_module_names`. This class implements the :class:" +"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." +msgstr "" +":term:`importer` для вбудованих модулів. Усі відомі вбудовані модулі " +"перераховані в :data:`sys.builtin_module_names`. Цей клас реалізує ABC :" +"class:`importlib.abc.MetaPathFinder` і :class:`importlib.abc.InspectLoader`." + +msgid "" +"Only class methods are defined by this class to alleviate the need for " +"instantiation." +msgstr "" +"У цьому класі визначені лише методи класу, щоб полегшити потребу в створенні " +"екземплярів." + +msgid "" +"As part of :pep:`489`, the builtin importer now implements :meth:`Loader." +"create_module` and :meth:`Loader.exec_module`" +msgstr "" +"Як частина :pep:`489`, вбудований імпортер тепер реалізує :meth:`Loader." +"create_module` і :meth:`Loader.exec_module`" + +msgid "" +"An :term:`importer` for frozen modules. This class implements the :class:" +"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." +msgstr "" +":term:`importer` для заморожених модулів. Цей клас реалізує ABC :class:" +"`importlib.abc.MetaPathFinder` і :class:`importlib.abc.InspectLoader`." + +msgid "" +"Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." +msgstr "" +"Отримано методи :meth:`~Loader.create_module` і :meth:`~Loader.exec_module`." + +msgid "" +":term:`Finder ` for modules declared in the Windows registry. This " +"class implements the :class:`importlib.abc.MetaPathFinder` ABC." +msgstr "" +":term:`Finder ` для модулів, оголошених у реєстрі Windows. Цей клас " +"реалізує :class:`importlib.abc.MetaPathFinder` ABC." + +msgid "" +"Use :mod:`site` configuration instead. Future versions of Python may not " +"enable this finder by default." +msgstr "" +"Натомість використовуйте конфігурацію :mod:`site`. Майбутні версії Python " +"можуть не вмикати цей засіб пошуку за замовчуванням." + +msgid "" +"A :term:`Finder ` for :data:`sys.path` and package ``__path__`` " +"attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " +"ABC." +msgstr "" +"A :term:`Finder ` для атрибутів :data:`sys.path` і пакета " +"``__path__``. Цей клас реалізує :class:`importlib.abc.MetaPathFinder` ABC." + +msgid "" +"Class method that attempts to find a :term:`spec ` for the " +"module specified by *fullname* on :data:`sys.path` or, if defined, on " +"*path*. For each path entry that is searched, :data:`sys." +"path_importer_cache` is checked. If a non-false object is found then it is " +"used as the :term:`path entry finder` to look for the module being searched " +"for. If no entry is found in :data:`sys.path_importer_cache`, then :data:" +"`sys.path_hooks` is searched for a finder for the path entry and, if found, " +"is stored in :data:`sys.path_importer_cache` along with being queried about " +"the module. If no finder is ever found then ``None`` is both stored in the " +"cache and returned." +msgstr "" +"Метод класу, який намагається знайти :term:`spec ` для модуля, " +"указаного *повним ім’ям* у :data:`sys.path` або, якщо визначено, у *path*. " +"Для кожного запису шляху, який шукається, перевіряється :data:`sys." +"path_importer_cache`. Якщо знайдено нефальшивий об’єкт, він використовується " +"як :term:`path entry finder` для пошуку модуля, який шукається. Якщо в :data:" +"`sys.path_importer_cache` не знайдено жодного запису, тоді :data:`sys." +"path_hooks` шукає засіб пошуку для запису шляху та, якщо знайдено, " +"зберігається в :data:`sys.path_importer_cache` із запитанням про модуль. " +"Якщо жоден шукач не знайдено, тоді ``None`` зберігається в кеші та " +"повертається." + +msgid "" +"If the current working directory -- represented by an empty string -- is no " +"longer valid then ``None`` is returned but no value is cached in :data:`sys." +"path_importer_cache`." +msgstr "" +"Якщо поточний робочий каталог, представлений порожнім рядком, більше не " +"дійсний, тоді повертається ``None``, але жодне значення не кешується в :data:" +"`sys.path_importer_cache`." + +msgid "A legacy wrapper around :meth:`find_spec`." +msgstr "Застаріла обгортка навколо :meth:`find_spec`." + +msgid "" +"Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders " +"stored in :data:`sys.path_importer_cache` that define the method. Otherwise " +"entries in :data:`sys.path_importer_cache` set to ``None`` are deleted." +msgstr "" +"Викликає :meth:`importlib.abc.PathEntryFinder.invalidate_caches` для всіх " +"засобів пошуку, збережених у :data:`sys.path_importer_cache`, які визначають " +"метод. Інакше записи в :data:`sys.path_importer_cache`, для яких встановлено " +"значення ``None``, видаляються." + +msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." +msgstr "Записи ``None`` у :data:`sys.path_importer_cache` видаляються." + +msgid "" +"Calls objects in :data:`sys.path_hooks` with the current working directory " +"for ``''`` (i.e. the empty string)." +msgstr "" +"Викликає об’єкти в :data:`sys.path_hooks` з поточним робочим каталогом для " +"``''`` (тобто порожній рядок)." + +msgid "" +"A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " +"caches results from the file system." +msgstr "" +"Конкретна реалізація :class:`importlib.abc.PathEntryFinder`, яка кешує " +"результати з файлової системи." + +msgid "" +"The *path* argument is the directory for which the finder is in charge of " +"searching." +msgstr "Аргумент *шлях* — це каталог, пошук якого відповідає за пошук." + +msgid "" +"The *loader_details* argument is a variable number of 2-item tuples each " +"containing a loader and a sequence of file suffixes the loader recognizes. " +"The loaders are expected to be callables which accept two arguments of the " +"module's name and the path to the file found." +msgstr "" +"Аргумент *loader_details* — це змінна кількість кортежів із 2 елементів, " +"кожен із яких містить завантажувач і послідовність суфіксів файлів, які " +"розпізнає завантажувач. Очікується, що завантажувачі будуть викликаними, які " +"приймають два аргументи імені модуля та шляху до знайденого файлу." + +msgid "" +"The finder will cache the directory contents as necessary, making stat calls " +"for each module search to verify the cache is not outdated. Because cache " +"staleness relies upon the granularity of the operating system's state " +"information of the file system, there is a potential race condition of " +"searching for a module, creating a new file, and then searching for the " +"module the new file represents. If the operations happen fast enough to fit " +"within the granularity of stat calls, then the module search will fail. To " +"prevent this from happening, when you create a module dynamically, make sure " +"to call :func:`importlib.invalidate_caches`." +msgstr "" +"Засіб пошуку кешуватиме вміст каталогу за потреби, виконуючи stat виклики " +"для кожного пошуку модуля, щоб переконатися, що кеш не застарів. Оскільки " +"нестабільність кешу залежить від деталізації інформації про стан операційної " +"системи файлової системи, існує потенційна конкуренція щодо пошуку модуля, " +"створення нового файлу, а потім пошуку модуля, який представляє новий файл. " +"Якщо операції відбуваються досить швидко, щоб відповідати деталізації " +"викликів stat, пошук модулів не вдасться. Щоб цього не сталося, під час " +"динамічного створення модуля обов’язково викликайте :func:`importlib." +"invalidate_caches`." + +msgid "The path the finder will search in." +msgstr "Шлях, за яким шукач шукатиме." + +msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." +msgstr "" +"Спробуйте знайти специфікацію для обробки *повного імені* в :attr:`path`." + +msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." +msgstr "" +"Спробуйте знайти завантажувач для обробки *повного імені* в межах :attr:" +"`path`." + +msgid "Clear out the internal cache." +msgstr "Очистіть внутрішній кеш." + +msgid "" +"A class method which returns a closure for use on :attr:`sys.path_hooks`. An " +"instance of :class:`FileFinder` is returned by the closure using the path " +"argument given to the closure directly and *loader_details* indirectly." +msgstr "" +"Метод класу, який повертає закриття для використання на :attr:`sys." +"path_hooks`. Екземпляр :class:`FileFinder` повертається закриттям за " +"допомогою аргументу шляху, наданого замиканню безпосередньо та " +"*loader_details* опосередковано." + +msgid "" +"If the argument to the closure is not an existing directory, :exc:" +"`ImportError` is raised." +msgstr "" +"Якщо аргумент закриття не є існуючим каталогом, виникає :exc:`ImportError`." + +msgid "" +"A concrete implementation of :class:`importlib.abc.SourceLoader` by " +"subclassing :class:`importlib.abc.FileLoader` and providing some concrete " +"implementations of other methods." +msgstr "" +"Конкретна реалізація :class:`importlib.abc.SourceLoader` шляхом створення " +"підкласу :class:`importlib.abc.FileLoader` і надання деяких конкретних " +"реалізацій інших методів." + +msgid "The name of the module that this loader will handle." +msgstr "Назва модуля, який оброблятиме цей завантажувач." + +msgid "The path to the source file." +msgstr "Шлях до вихідного файлу." + +msgid "Return ``True`` if :attr:`path` appears to be for a package." +msgstr "Повертає ``True``, якщо :attr:`path` є для пакета." + +msgid "" +"Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." +msgstr "Конкретна реалізація :meth:`importlib.abc.SourceLoader.path_stats`." + +msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." +msgstr "Конкретна реалізація :meth:`importlib.abc.SourceLoader.set_data`." + +msgid "" +"Concrete implementation of :meth:`importlib.abc.Loader.load_module` where " +"specifying the name of the module to load is optional." +msgstr "" +"Конкретна реалізація :meth:`importlib.abc.Loader.load_module`, де вказувати " +"назву модуля для завантаження необов’язково." + +msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." +msgstr "Замість цього використовуйте :meth:`importlib.abc.Loader.exec_module`." + +msgid "" +"A concrete implementation of :class:`importlib.abc.FileLoader` which can " +"import bytecode files (i.e. no source code files exist)." +msgstr "" +"Конкретна реалізація :class:`importlib.abc.FileLoader`, яка може імпортувати " +"файли байт-коду (тобто файлів вихідного коду не існує)." + +msgid "" +"Please note that direct use of bytecode files (and thus not source code " +"files) inhibits your modules from being usable by all Python implementations " +"or new versions of Python which change the bytecode format." +msgstr "" +"Зауважте, що пряме використання файлів байт-коду (а отже, не файлів " +"вихідного коду) перешкоджає використанню ваших модулів усіма реалізаціями " +"Python або новими версіями Python, які змінюють формат байт-коду." + +msgid "The name of the module the loader will handle." +msgstr "Назва модуля, який оброблятиме завантажувач." + +msgid "The path to the bytecode file." +msgstr "Шлях до файлу байт-коду." + +msgid "Determines if the module is a package based on :attr:`path`." +msgstr "Визначає, чи є модуль пакетом на основі :attr:`path`." + +msgid "Returns the code object for :attr:`name` created from :attr:`path`." +msgstr "Повертає об’єкт коду для :attr:`name`, створеного з :attr:`path`." + +msgid "" +"Returns ``None`` as bytecode files have no source when this loader is used." +msgstr "" +"Повертає ``None``, оскільки файли байт-коду не мають джерела, коли " +"використовується цей завантажувач." + +msgid "" +"A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " +"extension modules." +msgstr "" +"Конкретна реалізація :class:`importlib.abc.ExecutionLoader` для модулів " +"розширення." + +msgid "" +"The *fullname* argument specifies the name of the module the loader is to " +"support. The *path* argument is the path to the extension module's file." +msgstr "" +"Аргумент *fullname* вказує назву модуля, який має підтримувати завантажувач. " +"Аргумент *path* — це шлях до файлу модуля розширення." + +msgid "Name of the module the loader supports." +msgstr "Назва модуля, який підтримує завантажувач." + +msgid "Path to the extension module." +msgstr "Шлях до модуля розширення." + +msgid "" +"Creates the module object from the given specification in accordance with :" +"pep:`489`." +msgstr "Створює об’єкт модуля з заданої специфікації відповідно до :pep:`489`." + +msgid "Initializes the given module object in accordance with :pep:`489`." +msgstr "Ініціалізує вказаний об’єкт модуля відповідно до :pep:`489`." + +msgid "" +"Returns ``True`` if the file path points to a package's ``__init__`` module " +"based on :attr:`EXTENSION_SUFFIXES`." +msgstr "" +"Повертає ``True``, якщо шлях до файлу вказує на модуль ``__init__`` пакета " +"на основі :attr:`EXTENSION_SUFFIXES`." + +msgid "Returns ``None`` as extension modules lack a code object." +msgstr "Повертає ``None``, оскільки модулі розширення не мають об’єкта коду." + +msgid "Returns ``None`` as extension modules do not have source code." +msgstr "Повертає ``None``, оскільки модулі розширення не мають вихідного коду." + +msgid "" +"A concrete implementation of :class:`importlib.abc.InspectLoader` for " +"namespace packages. This is an alias for a private class and is only made " +"public for introspecting the ``__loader__`` attribute on namespace packages::" +msgstr "" + +msgid "" +"A specification for a module's import-system-related state. This is " +"typically exposed as the module's :attr:`__spec__` attribute. In the " +"descriptions below, the names in parentheses give the corresponding " +"attribute available directly on the module object, e.g. ``module.__spec__." +"origin == module.__file__``. Note, however, that while the *values* are " +"usually equivalent, they can differ since there is no synchronization " +"between the two objects. For example, it is possible to update the " +"module's :attr:`__file__` at runtime and this will not be automatically " +"reflected in the module's :attr:`__spec__.origin`, and vice versa." +msgstr "" + +msgid "(:attr:`__name__`)" +msgstr "" + +msgid "" +"The module's fully qualified name. The :term:`finder` should always set this " +"attribute to a non-empty string." +msgstr "" + +msgid "(:attr:`__loader__`)" +msgstr "" + +msgid "" +"The :term:`loader` used to load the module. The :term:`finder` should always " +"set this attribute." +msgstr "" + +msgid "(:attr:`__file__`)" +msgstr "" + +msgid "" +"The location the :term:`loader` should use to load the module. For example, " +"for modules loaded from a .py file this is the filename. The :term:`finder` " +"should always set this attribute to a meaningful value for the :term:" +"`loader` to use. In the uncommon case that there is not one (like for " +"namespace packages), it should be set to ``None``." +msgstr "" + +msgid "(:attr:`__path__`)" +msgstr "" + +msgid "" +"The list of locations where the package's submodules will be found. Most of " +"the time this is a single directory. The :term:`finder` should set this " +"attribute to a list, even an empty one, to indicate to the import system " +"that the module is a package. It should be set to ``None`` for non-package " +"modules. It is set automatically later to a special object for namespace " +"packages." +msgstr "" + +msgid "" +"The :term:`finder` may set this attribute to an object containing " +"additional, module-specific data to use when loading the module. Otherwise " +"it should be set to ``None``." +msgstr "" + +msgid "(:attr:`__cached__`)" +msgstr "" + +msgid "" +"The filename of a compiled version of the module's code. The :term:`finder` " +"should always set this attribute but it may be ``None`` for modules that do " +"not need compiled code stored." +msgstr "" + +msgid "(:attr:`__package__`)" +msgstr "" + +msgid "" +"(Read-only) The fully qualified name of the package the module is in (or the " +"empty string for a top-level module). If the module is a package then this " +"is the same as :attr:`name`." +msgstr "" + +msgid "``True`` if the spec's :attr:`origin` refers to a loadable location," +msgstr "" + +msgid "" +"``False`` otherwise. This value impacts how :attr:`origin` is interpreted " +"and how the module's :attr:`__file__` is populated." +msgstr "" + +msgid ":mod:`importlib.util` -- Utility code for importers" +msgstr ":mod:`importlib.util` -- Код утиліти для імпортерів" + +msgid "**Source code:** :source:`Lib/importlib/util.py`" +msgstr "**Вихідний код:** :source:`Lib/importlib/util.py`" + +msgid "" +"This module contains the various objects that help in the construction of " +"an :term:`importer`." +msgstr "" +"Цей модуль містить різні об’єкти, які допомагають у створенні :term:" +"`importer`." + +msgid "" +"The bytes which represent the bytecode version number. If you need help with " +"loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`." +msgstr "" +"Байти, які представляють номер версії байт-коду. Якщо вам потрібна допомога " +"із завантаженням/записом байт-коду, скористайтеся :class:`importlib.abc." +"SourceLoader`." + +msgid "" +"Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated " +"with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the " +"return value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python " +"3.2. The ``cpython-32`` string comes from the current magic tag (see :func:" +"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:" +"`NotImplementedError` will be raised)." +msgstr "" +"Поверніть шлях :pep:`3147`/:pep:`488` до скомпільованого файлу, пов’язаного " +"з вихідним *шляхом*. Наприклад, якщо *path* є ``/foo/bar/baz.py``, значення, " +"що повертається, буде ``/foo/bar/__pycache__/baz.cpython-32.pyc`` для Python " +"3.2. Рядок ``cpython-32`` походить від поточного магічного тегу (див. :func:" +"`get_tag`; якщо :attr:`sys.implementation.cache_tag` не визначено, тоді буде " +"викликана :exc:`NotImplementedError`)." + +msgid "" +"The *optimization* parameter is used to specify the optimization level of " +"the bytecode file. An empty string represents no optimization, so ``/foo/bar/" +"baz.py`` with an *optimization* of ``''`` will result in a bytecode path of " +"``/foo/bar/__pycache__/baz.cpython-32.pyc``. ``None`` causes the " +"interpreter's optimization level to be used. Any other value's string " +"representation is used, so ``/foo/bar/baz.py`` with an *optimization* of " +"``2`` will lead to the bytecode path of ``/foo/bar/__pycache__/baz." +"cpython-32.opt-2.pyc``. The string representation of *optimization* can only " +"be alphanumeric, else :exc:`ValueError` is raised." +msgstr "" +"Параметр *optimization* використовується для визначення рівня оптимізації " +"файлу байт-коду. Порожній рядок не означає оптимізації, тому ``/foo/bar/baz." +"py`` з *оптимізацією* ``''`` призведе до шляху байт-коду ``/foo/bar/" +"__pycache__/baz. cpython-32.pyc``. ``None`` спричиняє використання рівня " +"оптимізації інтерпретатора. Використовується будь-яке інше представлення " +"рядка значення, тому ``/foo/bar/baz.py`` з *оптимізацією* ``2`` призведе до " +"шляху байт-коду ``/foo/bar/__pycache__/baz. cpython-32.opt-2.pyc``. Рядкове " +"представлення *оптимізації* може бути лише буквено-цифровим, інакше виникає :" +"exc:`ValueError`." + +msgid "" +"The *debug_override* parameter is deprecated and can be used to override the " +"system's value for ``__debug__``. A ``True`` value is the equivalent of " +"setting *optimization* to the empty string. A ``False`` value is the same as " +"setting *optimization* to ``1``. If both *debug_override* an *optimization* " +"are not ``None`` then :exc:`TypeError` is raised." +msgstr "" +"Параметр *debug_override* є застарілим і може використовуватися для заміни " +"системного значення для ``__debug__``. Значення ``True`` є еквівалентом " +"налаштування *optimization* для порожнього рядка. Значення ``False`` те " +"саме, що встановити *optimization* на ``1``. Якщо *debug_override* і " +"*оптимізація* не мають значення ``None``, тоді виникає :exc:`TypeError`." + +msgid "" +"The *optimization* parameter was added and the *debug_override* parameter " +"was deprecated." +msgstr "" +"Параметр *optimization* було додано, а параметр *debug_override* визнано " +"застарілим." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"Given the *path* to a :pep:`3147` file name, return the associated source " +"code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." +"cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " +"need not exist, however if it does not conform to :pep:`3147` or :pep:`488` " +"format, a :exc:`ValueError` is raised. If :attr:`sys.implementation." +"cache_tag` is not defined, :exc:`NotImplementedError` is raised." +msgstr "" +"Враховуючи *шлях* до імені файлу :pep:`3147`, поверніть пов’язаний шлях до " +"файлу вихідного коду. Наприклад, якщо *шлях* є ``/foo/bar/__pycache__/baz." +"cpython-32.pyc``, повернутий шлях буде ``/foo/bar/baz.py``. *path* не " +"обов’язково існує, однак якщо він не відповідає формату :pep:`3147` або :pep:" +"`488`, виникає помилка :exc:`ValueError`. Якщо :attr:`sys.implementation." +"cache_tag` не визначено, виникає :exc:`NotImplementedError`." + +msgid "" +"Decode the given bytes representing source code and return it as a string " +"with universal newlines (as required by :meth:`importlib.abc.InspectLoader." +"get_source`)." +msgstr "" +"Декодуйте задані байти, що представляють вихідний код, і поверніть його як " +"рядок із універсальними символами нового рядка (як вимагає :meth:`importlib." +"abc.InspectLoader.get_source`)." + +msgid "Resolve a relative module name to an absolute one." +msgstr "Розділіть відносну назву модуля на абсолютну." + +msgid "" +"If **name** has no leading dots, then **name** is simply returned. This " +"allows for usage such as ``importlib.util.resolve_name('sys', __spec__." +"parent)`` without doing a check to see if the **package** argument is needed." +msgstr "" +"Якщо **ім’я** не має початкових крапок, то **ім’я** просто повертається. Це " +"дозволяє використовувати таке як ``importlib.util.resolve_name('sys', " +"__spec__.parent)`` без виконання перевірки, щоб побачити, чи потрібен " +"аргумент **package**." + +msgid "" +":exc:`ImportError` is raised if **name** is a relative module name but " +"**package** is a false value (e.g. ``None`` or the empty string). :exc:" +"`ImportError` is also raised if a relative name would escape its containing " +"package (e.g. requesting ``..bacon`` from within the ``spam`` package)." +msgstr "" + +msgid "" +"To improve consistency with import statements, raise :exc:`ImportError` " +"instead of :exc:`ValueError` for invalid relative import attempts." +msgstr "" +"Щоб покращити узгодженість із операторами імпорту, підніміть :exc:" +"`ImportError` замість :exc:`ValueError` для недійсних відносних спроб " +"імпорту." + +msgid "" +"Find the :term:`spec ` for a module, optionally relative to the " +"specified **package** name. If the module is in :attr:`sys.modules`, then " +"``sys.modules[name].__spec__`` is returned (unless the spec would be " +"``None`` or is not set, in which case :exc:`ValueError` is raised). " +"Otherwise a search using :attr:`sys.meta_path` is done. ``None`` is returned " +"if no spec is found." +msgstr "" +"Знайдіть :term:`spec ` для модуля, необов’язково відносно " +"вказаної назви **пакета**. Якщо модуль знаходиться в :attr:`sys.modules`, " +"тоді повертається ``sys.modules[name].__spec__`` (якщо специфікація не буде " +"``None`` або не встановлена, у такому випадку :exc:`ValueError` виникає). В " +"іншому випадку виконується пошук за допомогою :attr:`sys.meta_path`. " +"``None`` повертається, якщо специфікація не знайдена." + +msgid "" +"If **name** is for a submodule (contains a dot), the parent module is " +"automatically imported." +msgstr "" +"Якщо **назва** призначена для підмодуля (містить крапку), батьківський " +"модуль імпортується автоматично." + +msgid "**name** and **package** work the same as for :func:`import_module`." +msgstr "" +"**name** і **package** працюють так само, як і для :func:`import_module`." + +msgid "" +"Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if " +"**package** is in fact not a package (i.e. lacks a :attr:`__path__` " +"attribute)." +msgstr "" +"Викликає :exc:`ModuleNotFoundError` замість :exc:`AttributeError`, якщо " +"**package** насправді не є пакетом (тобто не має атрибута :attr:`__path__`)." + +msgid "" +"Create a new module based on **spec** and :meth:`spec.loader.create_module " +"`." +msgstr "" +"Створіть новий модуль на основі **spec** і :meth:`spec.loader.create_module " +"`." + +msgid "" +"If :meth:`spec.loader.create_module ` " +"does not return ``None``, then any pre-existing attributes will not be " +"reset. Also, no :exc:`AttributeError` will be raised if triggered while " +"accessing **spec** or setting an attribute on the module." +msgstr "" +"Якщо :meth:`spec.loader.create_module ` " +"не повертає ``None``, тоді будь-які раніше існуючі атрибути не будуть " +"скинуті. Крім того, помилка :exc:`AttributeError` не буде викликана, якщо " +"вона буде активована під час доступу до **spec** або встановлення атрибута в " +"модулі." + +msgid "" +"This function is preferred over using :class:`types.ModuleType` to create a " +"new module as **spec** is used to set as many import-controlled attributes " +"on the module as possible." +msgstr "" +"Цій функції краще використовувати :class:`types.ModuleType` для створення " +"нового модуля, оскільки **spec** використовується для встановлення якомога " +"більшої кількості керованих імпортом атрибутів для модуля." + +msgid "" +"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle " +"selecting the proper module object to load with. The decorated method is " +"expected to have a call signature taking two positional arguments (e.g. " +"``load_module(self, module)``) for which the second argument will be the " +"module **object** to be used by the loader. Note that the decorator will not " +"work on static methods because of the assumption of two arguments." +msgstr "" +":term:`decorator` для :meth:`importlib.abc.Loader.load_module` для обробки " +"вибору належного об’єкта модуля для завантаження. Очікується, що декорований " +"метод матиме підпис виклику, що приймає два позиційні аргументи (наприклад, " +"``load_module(self, module)``), для яких другим аргументом буде **об’єкт** " +"модуля, який використовуватиме завантажувач. Зверніть увагу, що декоратор не " +"працюватиме зі статичними методами через припущення двох аргументів." + +msgid "" +"The decorated method will take in the **name** of the module to be loaded as " +"expected for a :term:`loader`. If the module is not found in :data:`sys." +"modules` then a new one is constructed. Regardless of where the module came " +"from, :attr:`__loader__` set to **self** and :attr:`__package__` is set " +"based on what :meth:`importlib.abc.InspectLoader.is_package` returns (if " +"available). These attributes are set unconditionally to support reloading." +msgstr "" +"Декорований метод прийматиме **ім’я** модуля, який буде завантажено, як " +"очікувалося для :term:`loader`. Якщо модуль не знайдено в :data:`sys." +"modules`, буде створено новий. Незалежно від того, звідки взявся модуль, :" +"attr:`__loader__` встановлюється на **self**, а :attr:`__package__` " +"встановлюється на основі того, що повертає :meth:`importlib.abc." +"InspectLoader.is_package` (якщо доступно) . Ці атрибути встановлюються " +"безумовно для підтримки перезавантаження." + +msgid "" +"If an exception is raised by the decorated method and a module was added to :" +"data:`sys.modules`, then the module will be removed to prevent a partially " +"initialized module from being in left in :data:`sys.modules`. If the module " +"was already in :data:`sys.modules` then it is left alone." +msgstr "" +"Якщо декорований метод викликає виняток і модуль додається до :data:`sys." +"modules`, тоді модуль буде видалено, щоб запобігти частково ініціалізованому " +"модулю, який залишився в :data:`sys.modules`. Якщо модуль уже був у :data:" +"`sys.modules`, то він залишається в спокої." + +msgid "" +":attr:`__loader__` and :attr:`__package__` are automatically set (when " +"possible)." +msgstr "" +":attr:`__loader__` і :attr:`__package__` встановлюються автоматично (якщо це " +"можливо)." + +msgid "" +"Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally " +"to support reloading." +msgstr "" +"Налаштуйте :attr:`__name__`, :attr:`__loader__` :attr:`__package__` без " +"умовної підтримки перезавантаження." + +msgid "" +"The import machinery now directly performs all the functionality provided by " +"this function." +msgstr "" +"Механізм імпорту тепер безпосередньо виконує всі функції, які забезпечує ця " +"функція." + +msgid "" +"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" +"attr:`__loader__` attribute on the returned module. If the attribute is " +"already set the decorator does nothing. It is assumed that the first " +"positional argument to the wrapped method (i.e. ``self``) is what :attr:" +"`__loader__` should be set to." +msgstr "" +":term:`decorator` для :meth:`importlib.abc.Loader.load_module` для " +"встановлення атрибута :attr:`__loader__` для повернутого модуля. Якщо " +"атрибут уже встановлено, декоратор нічого не робить. Передбачається, що " +"перший позиційний аргумент загорнутого методу (тобто ``self``) — це те, що " +"має бути встановлено :attr:`__loader__`." + +msgid "" +"Set ``__loader__`` if set to ``None``, as if the attribute does not exist." +msgstr "" +"Встановіть ``__loader__``, якщо встановлено ``None``, ніби атрибут не існує." + +msgid "The import machinery takes care of this automatically." +msgstr "Імпортна техніка подбає про це автоматично." + +msgid "" +"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" +"attr:`__package__` attribute on the returned module. If :attr:`__package__` " +"is set and has a value other than ``None`` it will not be changed." +msgstr "" +":term:`decorator` для :meth:`importlib.abc.Loader.load_module` для " +"встановлення атрибута :attr:`__package__` для повернутого модуля. Якщо :attr:" +"`__package__` встановлено та має значення, відмінне від ``None``, воно не " +"буде змінено." + +msgid "" +"A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " +"instance based on a loader. The parameters have the same meaning as they do " +"for ModuleSpec. The function uses available :term:`loader` APIs, such as :" +"meth:`InspectLoader.is_package`, to fill in any missing information on the " +"spec." +msgstr "" +"Фабрична функція для створення екземпляра :class:`~importlib.machinery." +"ModuleSpec` на основі завантажувача. Параметри мають таке ж значення, як і " +"для ModuleSpec. Функція використовує доступні API :term:`loader`, такі як :" +"meth:`InspectLoader.is_package`, щоб заповнити будь-яку відсутню інформацію " +"в специфікації." + +msgid "" +"A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " +"instance based on the path to a file. Missing information will be filled in " +"on the spec by making use of loader APIs and by the implication that the " +"module will be file-based." +msgstr "" +"Фабрична функція для створення екземпляра :class:`~importlib.machinery." +"ModuleSpec` на основі шляху до файлу. Відсутню інформацію буде заповнено в " +"специфікації за допомогою API завантажувача та через те, що модуль буде " +"заснований на файлі." + +msgid "" +"Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file " +"embeds the :func:`source_hash` of the corresponding source file's contents " +"in its header." +msgstr "" +"Повертає хеш *source_bytes* як байти. Файл ``.pyc`` на основі хешу вставляє :" +"func:`source_hash` вмісту відповідного вихідного файлу у свій заголовок." + +msgid "" +"A class which postpones the execution of the loader of a module until the " +"module has an attribute accessed." +msgstr "" +"Клас, який відкладає виконання завантажувача модуля, поки модуль не отримає " +"доступ до атрибута." + +msgid "" +"This class **only** works with loaders that define :meth:`~importlib.abc." +"Loader.exec_module` as control over what module type is used for the module " +"is required. For those same reasons, the loader's :meth:`~importlib.abc." +"Loader.create_module` method must return ``None`` or a type for which its " +"``__class__`` attribute can be mutated along with not using :term:`slots " +"<__slots__>`. Finally, modules which substitute the object placed into :attr:" +"`sys.modules` will not work as there is no way to properly replace the " +"module references throughout the interpreter safely; :exc:`ValueError` is " +"raised if such a substitution is detected." +msgstr "" +"Цей клас працює **тільки** із завантажувачами, які визначають :meth:" +"`~importlib.abc.Loader.exec_module` як контроль над тим, який тип модуля " +"використовується для модуля. З тих самих причин метод завантажувача :meth:" +"`~importlib.abc.Loader.create_module` повинен повертати ``None`` або тип, " +"для якого його атрибут ``__class__`` може бути змінений разом із " +"невикористанням :term:`слоти <__slots__>`. Нарешті, модулі, які замінюють " +"об’єкт, розміщений у :attr:`sys.modules`, не працюватимуть, оскільки немає " +"способу безпечно замінити посилання на модулі в інтерпретаторі; :exc:" +"`ValueError` викликається, якщо така заміна виявлена." + +msgid "" +"For projects where startup time is critical, this class allows for " +"potentially minimizing the cost of loading a module if it is never used. For " +"projects where startup time is not essential then use of this class is " +"**heavily** discouraged due to error messages created during loading being " +"postponed and thus occurring out of context." +msgstr "" +"Для проектів, де час запуску є критичним, цей клас дозволяє потенційно " +"мінімізувати вартість завантаження модуля, якщо він ніколи не " +"використовується. Для проектів, де час запуску не є суттєвим, використання " +"цього класу **суворо** не рекомендується через те, що повідомлення про " +"помилки, створені під час завантаження, відкладаються та, таким чином, " +"виникають поза контекстом." + +msgid "" +"Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " +"compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" +"class:`importlib.machinery.ExtensionFileLoader`." +msgstr "" +"Почався виклик :meth:`~importlib.abc.Loader.create_module`, видаляючи " +"попередження про сумісність для :class:`importlib.machinery.BuiltinImporter` " +"і :class:`importlib.machinery.ExtensionFileLoader`." + +msgid "" +"A static method which returns a callable that creates a lazy loader. This is " +"meant to be used in situations where the loader is passed by class instead " +"of by instance. ::" +msgstr "" +"Статичний метод, який повертає виклик, що створює відкладений завантажувач. " +"Це призначено для використання в ситуаціях, коли завантажувач передається " +"класом, а не екземпляром. ::" + +msgid "Examples" +msgstr "Приклади" + +msgid "Importing programmatically" +msgstr "Програмний імпорт" + +msgid "" +"To programmatically import a module, use :func:`importlib.import_module`. ::" +msgstr "" +"Щоб програмно імпортувати модуль, використовуйте :func:`importlib." +"import_module`. ::" + +msgid "Checking if a module can be imported" +msgstr "Перевірка можливості імпорту модуля" + +msgid "" +"If you need to find out if a module can be imported without actually doing " +"the import, then you should use :func:`importlib.util.find_spec`." +msgstr "" +"Якщо вам потрібно з’ясувати, чи можна імпортувати модуль без фактичного " +"імпортування, тоді вам слід скористатися :func:`importlib.util.find_spec`." + +msgid "" +"Note that if ``name`` is a submodule (contains a dot), :func:`importlib.util." +"find_spec` will import the parent module. ::" +msgstr "" +"Зауважте, що якщо ``name`` є підмодулем (містить крапку), :func:`importlib." +"util.find_spec` імпортує батьківський модуль. ::" + +msgid "Importing a source file directly" +msgstr "Пряме імпортування вихідного файлу" + +msgid "To import a Python source file directly, use the following recipe::" +msgstr "" + +msgid "Implementing lazy imports" +msgstr "Реалізація відкладеного імпорту" + +msgid "The example below shows how to implement lazy imports::" +msgstr "У прикладі нижче показано, як реалізувати відкладений імпорт:" + +msgid "Setting up an importer" +msgstr "Налаштування імпортера" + +msgid "" +"For deep customizations of import, you typically want to implement an :term:" +"`importer`. This means managing both the :term:`finder` and :term:`loader` " +"side of things. For finders there are two flavours to choose from depending " +"on your needs: a :term:`meta path finder` or a :term:`path entry finder`. " +"The former is what you would put on :attr:`sys.meta_path` while the latter " +"is what you create using a :term:`path entry hook` on :attr:`sys.path_hooks` " +"which works with :attr:`sys.path` entries to potentially create a finder. " +"This example will show you how to register your own importers so that import " +"will use them (for creating an importer for yourself, read the documentation " +"for the appropriate classes defined within this package)::" +msgstr "" +"Для глибоких налаштувань імпорту зазвичай потрібно застосувати :term:" +"`importer`. Це означає керування сторонами :term:`finder` і :term:`loader`. " +"Для шукачів є два варіанти на вибір залежно від ваших потреб: :term:`meta " +"path finder` або :term:`path entry finder`. Перше – це те, що ви б " +"розмістили на :attr:`sys.meta_path`, тоді як останнє – це те, що ви " +"створюєте за допомогою :term:`path entry finder` на :attr:`sys.path_hooks`, " +"який працює з :attr:`sys.path` для потенційного створення засобу пошуку. Цей " +"приклад покаже вам, як зареєструвати власні імпортери, щоб import " +"використовував їх (щоб створити імпортер для себе, прочитайте документацію " +"для відповідних класів, визначених у цьому пакеті):" + +msgid "Approximating :func:`importlib.import_module`" +msgstr "Наближення :func:`importlib.import_module`" + +msgid "" +"Import itself is implemented in Python code, making it possible to expose " +"most of the import machinery through importlib. The following helps " +"illustrate the various APIs that importlib exposes by providing an " +"approximate implementation of :func:`importlib.import_module`::" +msgstr "" diff --git a/library/importlib_metadata.po b/library/importlib_metadata.po new file mode 100644 index 000000000..7e834dd8f --- /dev/null +++ b/library/importlib_metadata.po @@ -0,0 +1,416 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Using :mod:`!importlib.metadata`" +msgstr "Використання :mod:`!importlib.metadata`" + +msgid "``importlib.metadata`` is no longer provisional." +msgstr "``importlib.metadata`` більше не є тимчасовим." + +msgid "**Source code:** :source:`Lib/importlib/metadata/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/importlib/metadata/__init__.py`" + +msgid "" +"``importlib_metadata`` is a library that provides access to the metadata of " +"an installed `Distribution Package `_, such as its entry points or its top-" +"level names (`Import Package `_\\s, modules, if any). Built in part on " +"Python's import system, this library intends to replace similar " +"functionality in the `entry point API`_ and `metadata API`_ of " +"``pkg_resources``. Along with :mod:`importlib.resources`, this package can " +"eliminate the need to use the older and less efficient ``pkg_resources`` " +"package." +msgstr "" + +msgid "" +"``importlib_metadata`` operates on third-party *distribution packages* " +"installed into Python's ``site-packages`` directory via tools such as `pip " +"`_. Specifically, it works with distributions " +"with discoverable ``dist-info`` or ``egg-info`` directories, and metadata " +"defined by the `Core metadata specifications `_." +msgstr "" + +msgid "" +"These are *not* necessarily equivalent to or correspond 1:1 with the top-" +"level *import package* names that can be imported inside Python code. One " +"*distribution package* can contain multiple *import packages* (and single " +"modules), and one top-level *import package* may map to multiple " +"*distribution packages* if it is a namespace package. You can use :ref:" +"`package_distributions() ` to get a mapping between " +"them." +msgstr "" + +msgid "" +"By default, distribution metadata can live on the file system or in zip " +"archives on :data:`sys.path`. Through an extension mechanism, the metadata " +"can live almost anywhere." +msgstr "" + +msgid "https://importlib-metadata.readthedocs.io/" +msgstr "" + +msgid "" +"The documentation for ``importlib_metadata``, which supplies a backport of " +"``importlib.metadata``. This includes an `API reference `__ for this module's classes and " +"functions, as well as a `migration guide `__ for existing users of " +"``pkg_resources``." +msgstr "" + +msgid "Overview" +msgstr "Огляд" + +msgid "" +"Let's say you wanted to get the version string for a `Distribution Package " +"`_ you've installed using ``pip``. We start by creating a virtual " +"environment and installing something into it:" +msgstr "" + +msgid "You can get the version string for ``wheel`` by running the following:" +msgstr "Ви можете отримати рядок версії для ``wheel``, виконавши наступне:" + +msgid "" +"You can also get a collection of entry points selectable by properties of " +"the EntryPoint (typically 'group' or 'name'), such as ``console_scripts``, " +"``distutils.commands`` and others. Each group contains a collection of :ref:" +"`EntryPoint ` objects." +msgstr "" + +msgid "You can get the :ref:`metadata for a distribution `::" +msgstr "Ви можете отримати :ref:`метадані для дистрибутива `::" + +msgid "" +"You can also get a :ref:`distribution's version number `, list its :" +"ref:`constituent files `, and get a list of the distribution's :ref:" +"`requirements`." +msgstr "" +"Ви також можете отримати :ref:`номер версії дистрибутива `, " +"перелічити його :ref:`складові файли ` та отримати список :ref:" +"`requirements` дистрибутива." + +msgid "Functional API" +msgstr "Функціональний API" + +msgid "This package provides the following functionality via its public API." +msgstr "Цей пакет забезпечує такі функції через свій загальнодоступний API." + +msgid "Entry points" +msgstr "Точки входу" + +msgid "" +"The ``entry_points()`` function returns a collection of entry points. Entry " +"points are represented by ``EntryPoint`` instances; each ``EntryPoint`` has " +"a ``.name``, ``.group``, and ``.value`` attributes and a ``.load()`` method " +"to resolve the value. There are also ``.module``, ``.attr``, and ``." +"extras`` attributes for getting the components of the ``.value`` attribute." +msgstr "" +"Функція ``entry_points()`` повертає набір точок входу. Точки входу " +"представлені екземплярами ``EntryPoint``; кожен ``EntryPoint`` має атрибути " +"``.name``, ``.group`` і ``.value``, а також метод ``.load()`` для визначення " +"значення. Існують також атрибути ``.module``, ``.attr`` і ``.extras`` для " +"отримання компонентів атрибута ``.value``." + +msgid "Query all entry points::" +msgstr "Запитувати всі точки входу::" + +msgid "" +"The ``entry_points()`` function returns an ``EntryPoints`` object, a " +"collection of all ``EntryPoint`` objects with ``names`` and ``groups`` " +"attributes for convenience::" +msgstr "" + +msgid "" +"``EntryPoints`` has a ``select`` method to select entry points matching " +"specific properties. Select entry points in the ``console_scripts`` group::" +msgstr "" +"``EntryPoints`` має метод ``select`` для вибору точок входу, які " +"відповідають певним властивостям. Виберіть точки входу в групі " +"``console_scripts``::" + +msgid "" +"Equivalently, since ``entry_points`` passes keyword arguments through to " +"select::" +msgstr "" +"Так само, оскільки ``entry_points`` передає ключові аргументи для вибору::" + +msgid "" +"Pick out a specific script named \"wheel\" (found in the wheel project)::" +msgstr "" +"Виберіть певний сценарій під назвою \"колесо\" (знаходиться в проекті " +"колеса):" + +msgid "Equivalently, query for that entry point during selection::" +msgstr "Аналогічно, запитайте цю точку входу під час вибору:" + +msgid "Inspect the resolved entry point::" +msgstr "Огляньте вирішену точку входу::" + +msgid "" +"The ``group`` and ``name`` are arbitrary values defined by the package " +"author and usually a client will wish to resolve all entry points for a " +"particular group. Read `the setuptools docs `_ for more information on entry points, " +"their definition, and usage." +msgstr "" + +msgid "*Compatibility Note*" +msgstr "*Примітка щодо сумісності*" + +msgid "" +"The \"selectable\" entry points were introduced in ``importlib_metadata`` " +"3.6 and Python 3.10. Prior to those changes, ``entry_points`` accepted no " +"parameters and always returned a dictionary of entry points, keyed by group. " +"For compatibility, if no parameters are passed to entry_points, a " +"``SelectableGroups`` object is returned, implementing that dict interface. " +"In the future, calling ``entry_points`` with no parameters will return an " +"``EntryPoints`` object. Users should rely on the selection interface to " +"retrieve entry points by group." +msgstr "" +"Точки входу, які можна вибрати, були представлені в ``importlib_metadata`` " +"3.6 і Python 3.10. До цих змін ``entry_points`` не приймав жодних параметрів " +"і завжди повертав словник точок входу з ключем групи. Для сумісності, якщо " +"параметри не передані до entry_points, повертається об’єкт " +"``SelectableGroups``, який реалізує цей інтерфейс dict. У майбутньому виклик " +"``entry_points`` без параметрів повертатиме об’єкт ``EntryPoints``. " +"Користувачам слід покладатися на інтерфейс вибору для отримання точок входу " +"за групою." + +msgid "Distribution metadata" +msgstr "Метадані розповсюдження" + +msgid "" +"Every `Distribution Package `_ includes some metadata, which you can extract " +"using the ``metadata()`` function::" +msgstr "" + +msgid "" +"The keys of the returned data structure, a ``PackageMetadata``, name the " +"metadata keywords, and the values are returned unparsed from the " +"distribution metadata::" +msgstr "" +"Ключі повернутої структури даних, ``PackageMetadata``, іменують ключові " +"слова метаданих, і значення повертаються без аналізу з метаданих розподілу::" + +msgid "" +"``PackageMetadata`` also presents a ``json`` attribute that returns all the " +"metadata in a JSON-compatible form per :PEP:`566`::" +msgstr "" +"``PackageMetadata`` також представляє атрибут ``json``, який повертає всі " +"метадані у JSON-сумісній формі відповідно до :PEP:`566`::" + +msgid "" +"The actual type of the object returned by ``metadata()`` is an " +"implementation detail and should be accessed only through the interface " +"described by the `PackageMetadata protocol `_." +msgstr "" + +msgid "" +"The ``Description`` is now included in the metadata when presented through " +"the payload. Line continuation characters have been removed." +msgstr "" +"``Опис`` тепер включено в метадані, коли представлено через корисне " +"навантаження. Символи продовження рядка видалено." + +msgid "The ``json`` attribute was added." +msgstr "Додано атрибут ``json``." + +msgid "Distribution versions" +msgstr "Версії розповсюдження" + +msgid "" +"The ``version()`` function is the quickest way to get a `Distribution " +"Package `_'s version number, as a string::" +msgstr "" + +msgid "Distribution files" +msgstr "Файли розповсюдження" + +msgid "" +"You can also get the full set of files contained within a distribution. The " +"``files()`` function takes a `Distribution Package `_ name and returns all of " +"the files installed by this distribution. Each file object returned is a " +"``PackagePath``, a :class:`pathlib.PurePath` derived object with additional " +"``dist``, ``size``, and ``hash`` properties as indicated by the metadata. " +"For example::" +msgstr "" + +msgid "Once you have the file, you can also read its contents::" +msgstr "Отримавши файл, ви також можете прочитати його вміст:" + +msgid "" +"You can also use the ``locate`` method to get a the absolute path to the " +"file::" +msgstr "" +"Ви також можете використовувати метод ``locate``, щоб отримати абсолютний " +"шлях до файлу::" + +msgid "" +"In the case where the metadata file listing files (RECORD or SOURCES.txt) is " +"missing, ``files()`` will return ``None``. The caller may wish to wrap calls " +"to ``files()`` in `always_iterable `_ or otherwise guard against " +"this condition if the target distribution is not known to have the metadata " +"present." +msgstr "" +"У випадку, якщо файл метаданих зі списком файлів (RECORD або SOURCES.txt) " +"відсутній, ``files()`` поверне ``None``. Виклик може забажати обернути " +"виклики ``files()`` в `always_iterable `_ або іншим чином " +"захиститися від цієї умови, якщо відомо, що цільовий розподіл не містить " +"метаданих." + +msgid "Distribution requirements" +msgstr "Вимоги до розповсюдження" + +msgid "" +"To get the full set of requirements for a `Distribution Package `_, use " +"the ``requires()`` function::" +msgstr "" + +msgid "Mapping import to distribution packages" +msgstr "" + +msgid "" +"A convenience method to resolve the `Distribution Package `_ name (or names, " +"in the case of a namespace package) that provide each importable top-level " +"Python module or `Import Package `_::" +msgstr "" + +msgid "Distributions" +msgstr "Розподіл" + +msgid "" +"While the above API is the most common and convenient usage, you can get all " +"of that information from the ``Distribution`` class. A ``Distribution`` is " +"an abstract object that represents the metadata for a Python `Distribution " +"Package `_. You can get the ``Distribution`` instance::" +msgstr "" + +msgid "" +"Thus, an alternative way to get the version number is through the " +"``Distribution`` instance::" +msgstr "" +"Таким чином, альтернативним способом отримання номера версії є екземпляр " +"``Distribution``::" + +msgid "" +"There are all kinds of additional metadata available on the ``Distribution`` " +"instance::" +msgstr "У екземплярі ``Distribution`` є всі види додаткових метаданих:" + +msgid "" +"The full set of available metadata is not described here. See the `Core " +"metadata specifications `_ for additional details." +msgstr "" + +msgid "Distribution Discovery" +msgstr "" + +msgid "" +"By default, this package provides built-in support for discovery of metadata " +"for file system and zip file `Distribution Package `_\\s. This metadata " +"finder search defaults to ``sys.path``, but varies slightly in how it " +"interprets those values from how other import machinery does. In particular:" +msgstr "" + +msgid "" +"``importlib.metadata`` does not honor :class:`bytes` objects on ``sys.path``." +msgstr "" + +msgid "" +"``importlib.metadata`` will incidentally honor :py:class:`pathlib.Path` " +"objects on ``sys.path`` even though such values will be ignored for imports." +msgstr "" + +msgid "Extending the search algorithm" +msgstr "Розширення алгоритму пошуку" + +msgid "" +"Because `Distribution Package `_ metadata is not available through :" +"data:`sys.path` searches, or package loaders directly, the metadata for a " +"distribution is found through import system `finders`_. To find a " +"distribution package's metadata, ``importlib.metadata`` queries the list of :" +"term:`meta path finders ` on :data:`sys.meta_path`." +msgstr "" + +msgid "" +"By default ``importlib_metadata`` installs a finder for distribution " +"packages found on the file system. This finder doesn't actually find any " +"*distributions*, but it can find their metadata." +msgstr "" + +msgid "" +"The abstract class :py:class:`importlib.abc.MetaPathFinder` defines the " +"interface expected of finders by Python's import system. ``importlib." +"metadata`` extends this protocol by looking for an optional " +"``find_distributions`` callable on the finders from :data:`sys.meta_path` " +"and presents this extended interface as the ``DistributionFinder`` abstract " +"base class, which defines this abstract method::" +msgstr "" +"Абстрактний клас :py:class:`importlib.abc.MetaPathFinder` визначає " +"інтерфейс, очікуваний від шукачів системою імпорту Python. ``importlib." +"metadata`` розширює цей протокол, шукаючи необов’язковий " +"``find_distributions``, викликаний у шукачах з :data:`sys.meta_path`, і " +"представляє цей розширений інтерфейс як ``DistributionFinder`` абстрактний " +"базовий клас, який визначає цей абстрактний метод::" + +msgid "" +"The ``DistributionFinder.Context`` object provides ``.path`` and ``.name`` " +"properties indicating the path to search and name to match and may supply " +"other relevant context." +msgstr "" +"Об’єкт ``DistributionFinder.Context`` надає властивості ``.path`` і ``." +"name``, що вказують шлях для пошуку та ім’я, яке відповідає, і може надати " +"інший відповідний контекст." + +msgid "" +"What this means in practice is that to support finding distribution package " +"metadata in locations other than the file system, subclass ``Distribution`` " +"and implement the abstract methods. Then from a custom finder, return " +"instances of this derived ``Distribution`` in the ``find_distributions()`` " +"method." +msgstr "" +"На практиці це означає, що для підтримки пошуку метаданих пакетів " +"дистрибутива в місцях, відмінних від файлової системи, створіть підклас " +"``Distribution`` і реалізуйте абстрактні методи. Потім із спеціального " +"засобу пошуку поверніть екземпляри цього похідного ``Distribution`` у методі " +"``find_distributions()``." diff --git a/library/importlib_resources_abc.po b/library/importlib_resources_abc.po new file mode 100644 index 000000000..f1d929420 --- /dev/null +++ b/library/importlib_resources_abc.po @@ -0,0 +1,203 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2022-11-05 19:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`importlib.resources.abc` -- Abstract base classes for resources" +msgstr "" + +msgid "**Source code:** :source:`Lib/importlib/resources/abc.py`" +msgstr "" + +msgid "*Superseded by TraversableResources*" +msgstr "*Замінено TraversableResources*" + +msgid "" +"An :term:`abstract base class` to provide the ability to read *resources*." +msgstr ":term:`abstract base class` для надання можливості читати *ресурси*." + +msgid "" +"From the perspective of this ABC, a *resource* is a binary artifact that is " +"shipped within a package. Typically this is something like a data file that " +"lives next to the ``__init__.py`` file of the package. The purpose of this " +"class is to help abstract out the accessing of such data files so that it " +"does not matter if the package and its data file(s) are stored in a e.g. zip " +"file versus on the file system." +msgstr "" +"З точки зору цієї ABC, *ресурс* — це бінарний артефакт, який доставляється в " +"пакеті. Зазвичай це щось на зразок файлу даних, який знаходиться поруч із " +"файлом ``__init__.py`` файлу пакета. Мета цього класу полягає в тому, щоб " +"допомогти абстрагуватися від доступу до таких файлів даних, щоб не мати " +"значення, чи зберігається пакет і його файл(и) даних у, наприклад, zip-файл " +"проти файлової системи." + +msgid "" +"For any of methods of this class, a *resource* argument is expected to be a :" +"term:`path-like object` which represents conceptually just a file name. This " +"means that no subdirectory paths should be included in the *resource* " +"argument. This is because the location of the package the reader is for, " +"acts as the \"directory\". Hence the metaphor for directories and file names " +"is packages and resources, respectively. This is also why instances of this " +"class are expected to directly correlate to a specific package (instead of " +"potentially representing multiple packages or a module)." +msgstr "" +"Для будь-якого методу цього класу очікується, що аргумент *resource* буде :" +"term:`path-like object`, який концептуально представляє лише ім’я файлу. Це " +"означає, що шляхи підкаталогів не повинні включатися в аргумент *resource*. " +"Це пояснюється тим, що місце розташування пакета, для якого призначений " +"зчитувач, діє як \"каталог\". Тому метафорою для каталогів і імен файлів є " +"пакети та ресурси відповідно. Ось чому очікується, що екземпляри цього класу " +"безпосередньо співвідносяться з певним пакетом (замість того, щоб потенційно " +"представляти кілька пакетів або модуль)." + +msgid "" +"Loaders that wish to support resource reading are expected to provide a " +"method called ``get_resource_reader(fullname)`` which returns an object " +"implementing this ABC's interface. If the module specified by fullname is " +"not a package, this method should return :const:`None`. An object compatible " +"with this ABC should only be returned when the specified module is a package." +msgstr "" +"Очікується, що завантажувачі, які бажають підтримувати читання ресурсів, " +"нададуть метод під назвою ``get_resource_reader(fullname)``, який повертає " +"об’єкт, що реалізує цей інтерфейс ABC. Якщо модуль, указаний повним іменем, " +"не є пакетом, цей метод має повернути :const:`None`. Об’єкт, сумісний із цим " +"ABC, слід повертати лише тоді, коли вказаний модуль є пакетом." + +msgid "" +"Returns an opened, :term:`file-like object` for binary reading of the " +"*resource*." +msgstr "" +"Повертає відкритий :term:`file-like object` для двійкового читання *ресурсу*." + +msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." +msgstr "Якщо ресурс не знайдено, виникає :exc:`FileNotFoundError`." + +msgid "Returns the file system path to the *resource*." +msgstr "Повертає шлях файлової системи до *ресурсу*." + +msgid "" +"If the resource does not concretely exist on the file system, raise :exc:" +"`FileNotFoundError`." +msgstr "" +"Якщо ресурс конкретно не існує у файловій системі, викликайте :exc:" +"`FileNotFoundError`." + +msgid "" +"Returns ``True`` if the named *name* is considered a resource. :exc:" +"`FileNotFoundError` is raised if *name* does not exist." +msgstr "" +"Повертає ``True``, якщо назване *ім’я* вважається ресурсом. :exc:" +"`FileNotFoundError` виникає, якщо *name* не існує." + +msgid "" +"Returns an :term:`iterable` of strings over the contents of the package. Do " +"note that it is not required that all names returned by the iterator be " +"actual resources, e.g. it is acceptable to return names for which :meth:" +"`is_resource` would be false." +msgstr "" +"Повертає :term:`iterable` рядків над вмістом пакета. Зауважте, що не " +"обов’язково, щоб усі імена, які повертає ітератор, були фактичними " +"ресурсами, наприклад. прийнятно повертати імена, для яких :meth:" +"`is_resource` буде false." + +msgid "" +"Allowing non-resource names to be returned is to allow for situations where " +"how a package and its resources are stored are known a priori and the non-" +"resource names would be useful. For instance, returning subdirectory names " +"is allowed so that when it is known that the package and resources are " +"stored on the file system then those subdirectory names can be used directly." +msgstr "" +"Дозволити повертати нересурсні імена, щоб дозволити ситуації, коли те, як " +"пакет і його ресурси зберігаються, відомі апріорі, і нересурсні імена будуть " +"корисними. Наприклад, дозволено повертати імена підкаталогів, щоб, якщо " +"відомо, що пакет і ресурси зберігаються у файловій системі, ці імена " +"підкаталогів можна було використовувати безпосередньо." + +msgid "The abstract method returns an iterable of no items." +msgstr "Абстрактний метод повертає ітерацію без елементів." + +msgid "" +"An object with a subset of pathlib.Path methods suitable for traversing " +"directories and opening files." +msgstr "" +"Об’єкт із підмножиною методів pathlib.Path, придатних для обходу каталогів і " +"відкриття файлів." + +msgid "Abstract. The base name of this object without any parent references." +msgstr "" + +msgid "Yield Traversable objects in self." +msgstr "Прибуток Traversable об'єктів в себе." + +msgid "Return True if self is a directory." +msgstr "Повертає True, якщо self є каталогом." + +msgid "Return True if self is a file." +msgstr "Повертає True, якщо self є файлом." + +msgid "Return Traversable child in self." +msgstr "Повернення Прохідної дитини в себе." + +msgid "" +"*mode* may be 'r' or 'rb' to open as text or binary. Return a handle " +"suitable for reading (same as :attr:`pathlib.Path.open`)." +msgstr "" +"*mode* може бути \"r\" або \"rb\", щоб відкрити як текстовий або двійковий " +"файл. Повертає дескриптор, придатний для читання (те саме, що :attr:`pathlib." +"Path.open`)." + +msgid "" +"When opening as text, accepts encoding parameters such as those accepted by :" +"attr:`io.TextIOWrapper`." +msgstr "" +"Коли відкривається як текст, приймає параметри кодування, такі як ті, які " +"приймає :attr:`io.TextIOWrapper`." + +msgid "Read contents of self as bytes." +msgstr "Читати вміст себе як байти." + +msgid "Read contents of self as text." +msgstr "Прочитати вміст себе як текст." + +msgid "" +"An abstract base class for resource readers capable of serving the :meth:" +"`importlib.resources.files` interface. Subclasses :class:`importlib." +"resources.abc.ResourceReader` and provides concrete implementations of the :" +"class:`importlib.resources.abc.ResourceReader`'s abstract methods. " +"Therefore, any loader supplying :class:`importlib.abc.TraversableReader` " +"also supplies ResourceReader." +msgstr "" + +msgid "" +"Loaders that wish to support resource reading are expected to implement this " +"interface." +msgstr "" +"Очікується, що завантажувачі, які бажають підтримувати читання ресурсів, " +"реалізують цей інтерфейс." + +msgid "" +"Returns a :class:`importlib.resources.abc.Traversable` object for the loaded " +"package." +msgstr "" diff --git a/library/index.po b/library/index.po new file mode 100644 index 000000000..d922961ea --- /dev/null +++ b/library/index.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The Python Standard Library" +msgstr "Стандартна бібліотека Python" + +msgid "" +"While :ref:`reference-index` describes the exact syntax and semantics of the " +"Python language, this library reference manual describes the standard " +"library that is distributed with Python. It also describes some of the " +"optional components that are commonly included in Python distributions." +msgstr "" +"Хоча :ref:`reference-index` описує точний синтаксис і семантику мови Python, " +"цей довідковий посібник з бібліотеки описує стандартну бібліотеку, яка " +"поширюється разом з Python. Він також описує деякі додаткові компоненти, які " +"зазвичай входять до дистрибутивів Python." + +msgid "" +"Python's standard library is very extensive, offering a wide range of " +"facilities as indicated by the long table of contents listed below. The " +"library contains built-in modules (written in C) that provide access to " +"system functionality such as file I/O that would otherwise be inaccessible " +"to Python programmers, as well as modules written in Python that provide " +"standardized solutions for many problems that occur in everyday programming. " +"Some of these modules are explicitly designed to encourage and enhance the " +"portability of Python programs by abstracting away platform-specifics into " +"platform-neutral APIs." +msgstr "" +"Стандартна бібліотека Python дуже обширна, пропонує широкий спектр " +"можливостей, про що свідчить довгий зміст, наведений нижче. Бібліотека " +"містить вбудовані модулі (написані мовою C), які надають доступ до системних " +"функцій, таких як файловий ввід/вивід, які інакше були б недоступні для " +"програмістів на Python, а також модулі, написані на Python, які надають " +"стандартизовані рішення для багатьох проблем, які виникають у щоденне " +"програмування. Деякі з цих модулів явно розроблено для заохочення та " +"покращення переносимості програм Python шляхом абстрагування специфіки " +"платформи в нейтральних до платформи API." + +msgid "" +"The Python installers for the Windows platform usually include the entire " +"standard library and often also include many additional components. For Unix-" +"like operating systems Python is normally provided as a collection of " +"packages, so it may be necessary to use the packaging tools provided with " +"the operating system to obtain some or all of the optional components." +msgstr "" +"Інсталятори Python для платформи Windows зазвичай містять усю стандартну " +"бібліотеку, а також багато додаткових компонентів. Для Unix-подібних " +"операційних систем Python зазвичай надається як набір пакетів, тому може " +"знадобитися використовувати інструменти пакування, що надаються разом з " +"операційною системою, щоб отримати деякі або всі додаткові компоненти." + +msgid "" +"In addition to the standard library, there is an active collection of " +"hundreds of thousands of components (from individual programs and modules to " +"packages and entire application development frameworks), available from the " +"`Python Package Index `_." +msgstr "" diff --git a/library/inspect.po b/library/inspect.po new file mode 100644 index 000000000..9f13663f6 --- /dev/null +++ b/library/inspect.po @@ -0,0 +1,2040 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`inspect` --- Inspect live objects" +msgstr ":mod:`inspect` --- Перевірте живі об'єкти" + +msgid "**Source code:** :source:`Lib/inspect.py`" +msgstr "**Вихідний код:** :source:`Lib/inspect.py`" + +msgid "" +"The :mod:`inspect` module provides several useful functions to help get " +"information about live objects such as modules, classes, methods, functions, " +"tracebacks, frame objects, and code objects. For example, it can help you " +"examine the contents of a class, retrieve the source code of a method, " +"extract and format the argument list for a function, or get all the " +"information you need to display a detailed traceback." +msgstr "" +"Модуль :mod:`inspect` надає кілька корисних функцій, які допомагають " +"отримати інформацію про живі об’єкти, такі як модулі, класи, методи, " +"функції, відстеження, об’єкти фрейму та об’єкти коду. Наприклад, це може " +"допомогти вам вивчити вміст класу, отримати вихідний код методу, витягти та " +"відформатувати список аргументів для функції або отримати всю інформацію, " +"необхідну для відображення детального відстеження." + +msgid "" +"There are four main kinds of services provided by this module: type " +"checking, getting source code, inspecting classes and functions, and " +"examining the interpreter stack." +msgstr "" +"Цей модуль надає чотири основні види послуг: перевірка типу, отримання " +"вихідного коду, перевірка класів і функцій і перевірка стека інтерпретатора." + +msgid "Types and members" +msgstr "Типи та члени" + +msgid "" +"The :func:`getmembers` function retrieves the members of an object such as a " +"class or module. The functions whose names begin with \"is\" are mainly " +"provided as convenient choices for the second argument to :func:" +"`getmembers`. They also help you determine when you can expect to find the " +"following special attributes:" +msgstr "" +"Функція :func:`getmembers` отримує члени об’єкта, такого як клас або модуль. " +"Функції, назви яких починаються з \"is\", в основному надаються як зручний " +"вибір для другого аргументу :func:`getmembers`. Вони також допоможуть вам " +"визначити, коли ви можете очікувати знайти такі спеціальні атрибути:" + +msgid "Type" +msgstr "Тип" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Description" +msgstr "опис" + +msgid "module" +msgstr "модуль" + +msgid "__doc__" +msgstr "__doc__" + +msgid "documentation string" +msgstr "рядок документації" + +msgid "__file__" +msgstr "__file__" + +msgid "filename (missing for built-in modules)" +msgstr "ім'я файлу (відсутнє для вбудованих модулів)" + +msgid "class" +msgstr "клас" + +msgid "__name__" +msgstr "__name__" + +msgid "name with which this class was defined" +msgstr "ім'я, з яким було визначено цей клас" + +msgid "__qualname__" +msgstr "__qualname__" + +msgid "qualified name" +msgstr "кваліфіковане ім'я" + +msgid "__module__" +msgstr "__module__" + +msgid "name of module in which this class was defined" +msgstr "ім'я модуля, в якому був визначений цей клас" + +msgid "method" +msgstr "метод" + +msgid "name with which this method was defined" +msgstr "ім'я, з яким було визначено цей метод" + +msgid "__func__" +msgstr "__func__" + +msgid "function object containing implementation of method" +msgstr "об'єкт функції, що містить реалізацію методу" + +msgid "__self__" +msgstr "__self__" + +msgid "instance to which this method is bound, or ``None``" +msgstr "екземпляр, до якого прив’язаний цей метод, або ``None``" + +msgid "name of module in which this method was defined" +msgstr "ім'я модуля, в якому був визначений цей метод" + +msgid "function" +msgstr "функція" + +msgid "name with which this function was defined" +msgstr "ім'я, з яким ця функція була визначена" + +msgid "__code__" +msgstr "__code__" + +msgid "code object containing compiled function :term:`bytecode`" +msgstr "об'єкт коду, що містить скомпільовану функцію :term:`bytecode`" + +msgid "__defaults__" +msgstr "__defaults__" + +msgid "tuple of any default values for positional or keyword parameters" +msgstr "" +"кортеж із будь-якими значеннями за замовчуванням для позиційних або ключових " +"параметрів" + +msgid "__kwdefaults__" +msgstr "__kwdefaults__" + +msgid "mapping of any default values for keyword-only parameters" +msgstr "" +"відображення будь-яких значень за замовчуванням для параметрів, які містять " +"лише ключові слова" + +msgid "__globals__" +msgstr "__globals__" + +msgid "global namespace in which this function was defined" +msgstr "глобальний простір імен, у якому була визначена ця функція" + +msgid "__builtins__" +msgstr "__builtins__" + +msgid "builtins namespace" +msgstr "вбудований простір імен" + +msgid "__annotations__" +msgstr "__annotations__" + +msgid "" +"mapping of parameters names to annotations; ``\"return\"`` key is reserved " +"for return annotations." +msgstr "" +"зіставлення назв параметрів з анотаціями; Ключ ``\"return\"`` зарезервовано " +"для анотацій повернення." + +msgid "name of module in which this function was defined" +msgstr "ім'я модуля, в якому була визначена ця функція" + +msgid "traceback" +msgstr "traceback" + +msgid "tb_frame" +msgstr "tb_frame" + +msgid "frame object at this level" +msgstr "кадрувати об’єкт на цьому рівні" + +msgid "tb_lasti" +msgstr "tb_lasti" + +msgid "index of last attempted instruction in bytecode" +msgstr "індекс останньої спроби вказівки в байт-коді" + +msgid "tb_lineno" +msgstr "tb_lineno" + +msgid "current line number in Python source code" +msgstr "номер поточного рядка у вихідному коді Python" + +msgid "tb_next" +msgstr "tb_next" + +msgid "next inner traceback object (called by this level)" +msgstr "наступний внутрішній об'єкт трасування (викликається цим рівнем)" + +msgid "frame" +msgstr "frame" + +msgid "f_back" +msgstr "f_back" + +msgid "next outer frame object (this frame's caller)" +msgstr "наступний зовнішній об'єкт фрейму (виклик цього фрейму)" + +msgid "f_builtins" +msgstr "f_builtins" + +msgid "builtins namespace seen by this frame" +msgstr "вбудований простір імен, видимий цим фреймом" + +msgid "f_code" +msgstr "f_code" + +msgid "code object being executed in this frame" +msgstr "об'єкт коду, який виконується в цьому кадрі" + +msgid "f_globals" +msgstr "f_globals" + +msgid "global namespace seen by this frame" +msgstr "глобальний простір імен, видимий цим кадром" + +msgid "f_lasti" +msgstr "f_lasti" + +msgid "f_lineno" +msgstr "f_lineno" + +msgid "f_locals" +msgstr "f_locals" + +msgid "local namespace seen by this frame" +msgstr "локальний простір імен, видимий цим кадром" + +msgid "f_trace" +msgstr "f_trace" + +msgid "tracing function for this frame, or ``None``" +msgstr "функція трасування для цього кадру або ``None``" + +msgid "code" +msgstr "код" + +msgid "co_argcount" +msgstr "co_argcount" + +msgid "" +"number of arguments (not including keyword only arguments, \\* or \\*\\* " +"args)" +msgstr "" +"кількість аргументів (не враховуючи лише аргументи ключового слова, \\* або " +"\\*\\* аргументи)" + +msgid "co_code" +msgstr "co_code" + +msgid "string of raw compiled bytecode" +msgstr "рядок необробленого скомпільованого байт-коду" + +msgid "co_cellvars" +msgstr "co_cellvars" + +msgid "tuple of names of cell variables (referenced by containing scopes)" +msgstr "кортеж імен змінних комірки (на які посилаються області, що містять)" + +msgid "co_consts" +msgstr "co_conts" + +msgid "tuple of constants used in the bytecode" +msgstr "кортеж констант, що використовуються в байт-коді" + +msgid "co_filename" +msgstr "co_filename" + +msgid "name of file in which this code object was created" +msgstr "ім'я файлу, в якому створено цей об'єкт коду" + +msgid "co_firstlineno" +msgstr "co_firstlineno" + +msgid "number of first line in Python source code" +msgstr "номер першого рядка у вихідному коді Python" + +msgid "co_flags" +msgstr "co_flags" + +msgid "" +"bitmap of ``CO_*`` flags, read more :ref:`here `" +msgstr "" +"растрова карта прапорів ``CO_*``, читайте більше :ref:`тут `" + +msgid "co_lnotab" +msgstr "co_lnotab" + +msgid "encoded mapping of line numbers to bytecode indices" +msgstr "кодоване відображення номерів рядків в індекси байт-коду" + +msgid "co_freevars" +msgstr "co_freevars" + +msgid "tuple of names of free variables (referenced via a function's closure)" +msgstr "" +"кортеж імен вільних змінних (на які посилаються через закриття функції)" + +msgid "co_posonlyargcount" +msgstr "co_posonlyargcount" + +msgid "number of positional only arguments" +msgstr "кількість лише позиційних аргументів" + +msgid "co_kwonlyargcount" +msgstr "co_kwonlyargcount" + +msgid "number of keyword only arguments (not including \\*\\* arg)" +msgstr "" +"кількість аргументів лише для ключових слів (не враховуючи аргумент \\*\\*)" + +msgid "co_name" +msgstr "co_name" + +msgid "name with which this code object was defined" +msgstr "ім'я, з яким було визначено цей об'єкт коду" + +msgid "co_qualname" +msgstr "" + +msgid "fully qualified name with which this code object was defined" +msgstr "" + +msgid "co_names" +msgstr "co_names" + +msgid "tuple of names other than arguments and function locals" +msgstr "кортеж імен, відмінних від аргументів і локальних параметрів функції" + +msgid "co_nlocals" +msgstr "co_nlocals" + +msgid "number of local variables" +msgstr "кількість локальних змінних" + +msgid "co_stacksize" +msgstr "co_stacksize" + +msgid "virtual machine stack space required" +msgstr "необхідний простір у стеку віртуальної машини" + +msgid "co_varnames" +msgstr "co_varnames" + +msgid "tuple of names of arguments and local variables" +msgstr "кортеж імен аргументів і локальних змінних" + +msgid "generator" +msgstr "generator" + +msgid "name" +msgstr "name" + +msgid "gi_frame" +msgstr "gi_frame" + +msgid "gi_running" +msgstr "gi_running" + +msgid "is the generator running?" +msgstr "чи працює генератор?" + +msgid "gi_code" +msgstr "gi_code" + +msgid "gi_yieldfrom" +msgstr "gi_yieldfrom" + +msgid "object being iterated by ``yield from``, or ``None``" +msgstr "об’єкт повторюється за допомогою ``yield from`` або ``None``" + +msgid "coroutine" +msgstr "coroutine" + +msgid "cr_await" +msgstr "cr_await" + +msgid "object being awaited on, or ``None``" +msgstr "об'єкт, який очікується, або ``None``" + +msgid "cr_frame" +msgstr "cr_frame" + +msgid "cr_running" +msgstr "cr_running" + +msgid "is the coroutine running?" +msgstr "чи виконується співпрограма?" + +msgid "cr_code" +msgstr "cr_code" + +msgid "cr_origin" +msgstr "cr_origin" + +msgid "where coroutine was created, or ``None``. See |coroutine-origin-link|" +msgstr "" +"де була створена співпрограма, або ``None``. Див. |coroutine-origin-link|" + +msgid "builtin" +msgstr "builtin" + +msgid "original name of this function or method" +msgstr "оригінальна назва цієї функції або методу" + +msgid "instance to which a method is bound, or ``None``" +msgstr "екземпляр, до якого прив’язаний метод, або ``None``" + +msgid "Add ``__qualname__`` and ``gi_yieldfrom`` attributes to generators." +msgstr "Додайте атрибути ``__qualname__`` і ``gi_yieldfrom`` до генераторів." + +msgid "" +"The ``__name__`` attribute of generators is now set from the function name, " +"instead of the code name, and it can now be modified." +msgstr "" +"Атрибут ``__name__`` генераторів тепер встановлюється з імені функції, а не " +"з кодового імені, і тепер його можна змінювати." + +msgid "Add ``cr_origin`` attribute to coroutines." +msgstr "Додайте атрибут ``cr_origin`` до співпрограм." + +msgid "Add ``__builtins__`` attribute to functions." +msgstr "Додайте атрибут ``__builtins__`` до функцій." + +msgid "" +"Return all the members of an object in a list of ``(name, value)`` pairs " +"sorted by name. If the optional *predicate* argument—which will be called " +"with the ``value`` object of each member—is supplied, only members for which " +"the predicate returns a true value are included." +msgstr "" +"Повертає всі члени об’єкта в списку пар ``(ім’я, значення)``, відсортованих " +"за назвою. Якщо вказано необов’язковий аргумент *предикат*, який буде " +"викликано з об’єктом ``значення`` кожного члена, будуть включені лише ті " +"члени, для яких предикат повертає справжнє значення." + +msgid "" +":func:`getmembers` will only return class attributes defined in the " +"metaclass when the argument is a class and those attributes have been listed " +"in the metaclass' custom :meth:`__dir__`." +msgstr "" +":func:`getmembers` поверне лише атрибути класу, визначені в метакласі, якщо " +"аргумент є класом і ці атрибути перераховані в спеціальному :meth:`__dir__` " +"метакласу." + +msgid "" +"Return all the members of an object in a list of ``(name, value)`` pairs " +"sorted by name without triggering dynamic lookup via the descriptor " +"protocol, __getattr__ or __getattribute__. Optionally, only return members " +"that satisfy a given predicate." +msgstr "" + +msgid "" +":func:`getmembers_static` may not be able to retrieve all members that " +"getmembers can fetch (like dynamically created attributes) and may find " +"members that getmembers can't (like descriptors that raise AttributeError). " +"It can also return descriptor objects instead of instance members in some " +"cases." +msgstr "" + +msgid "" +"Return the name of the module named by the file *path*, without including " +"the names of enclosing packages. The file extension is checked against all " +"of the entries in :func:`importlib.machinery.all_suffixes`. If it matches, " +"the final path component is returned with the extension removed. Otherwise, " +"``None`` is returned." +msgstr "" +"Повертає ім’я модуля, названого *шляхом* до файлу, без назв пакетів, що " +"входять до нього. Розширення файлу перевіряється на всі записи в :func:" +"`importlib.machinery.all_suffixes`. Якщо він збігається, остаточний " +"компонент шляху повертається з видаленим розширенням. В іншому випадку " +"повертається ``None``." + +msgid "" +"Note that this function *only* returns a meaningful name for actual Python " +"modules - paths that potentially refer to Python packages will still return " +"``None``." +msgstr "" +"Зауважте, що ця функція *тільки* повертає значущу назву для фактичних " +"модулів Python - шляхи, які потенційно посилаються на пакети Python, все " +"одно повертатимуть ``None``." + +msgid "The function is based directly on :mod:`importlib`." +msgstr "Функція базується безпосередньо на :mod:`importlib`." + +msgid "Return ``True`` if the object is a module." +msgstr "Повертає ``True``, якщо об’єкт є модулем." + +msgid "" +"Return ``True`` if the object is a class, whether built-in or created in " +"Python code." +msgstr "" +"Повертає ``True``, якщо об’єкт є класом, вбудованим чи створеним у коді " +"Python." + +msgid "Return ``True`` if the object is a bound method written in Python." +msgstr "" +"Повертає ``True``, якщо об’єкт є зв’язаним методом, написаним на Python." + +msgid "" +"Return ``True`` if the object is a Python function, which includes functions " +"created by a :term:`lambda` expression." +msgstr "" +"Повертає ``True``, якщо об’єкт є функцією Python, яка включає функції, " +"створені виразом :term:`lambda`." + +msgid "Return ``True`` if the object is a Python generator function." +msgstr "Повертає ``True``, якщо об’єкт є функцією генератора Python." + +msgid "" +"Functions wrapped in :func:`functools.partial` now return ``True`` if the " +"wrapped function is a Python generator function." +msgstr "" +"Функції, загорнуті в :func:`functools.partial`, тепер повертають ``True``, " +"якщо загорнута функція є функцією генератора Python." + +msgid "Return ``True`` if the object is a generator." +msgstr "Повертає ``True``, якщо об’єкт є генератором." + +msgid "" +"Return ``True`` if the object is a :term:`coroutine function` (a function " +"defined with an :keyword:`async def` syntax)." +msgstr "" +"Повертає ``True``, якщо об’єкт є :term:`coroutine function` (функцією, " +"визначеною за допомогою :keyword:`async def` синтаксису)." + +msgid "" +"Functions wrapped in :func:`functools.partial` now return ``True`` if the " +"wrapped function is a :term:`coroutine function`." +msgstr "" +"Функції, загорнуті в :func:`functools.partial`, тепер повертають ``True``, " +"якщо загорнута функція є :term:`coroutine function`." + +msgid "" +"Return ``True`` if the object is a :term:`coroutine` created by an :keyword:" +"`async def` function." +msgstr "" +"Повертає ``True``, якщо об’єкт є :term:`coroutine`, створеною функцією :" +"keyword:`async def`." + +msgid "" +"Return ``True`` if the object can be used in :keyword:`await` expression." +msgstr "" +"Повертає ``True``, якщо об’єкт можна використовувати у виразі :keyword:" +"`await`." + +msgid "" +"Can also be used to distinguish generator-based coroutines from regular " +"generators::" +msgstr "" +"Також можна використовувати для відмінності співпрограм на основі генератора " +"від звичайних генераторів:" + +msgid "" +"Return ``True`` if the object is an :term:`asynchronous generator` function, " +"for example::" +msgstr "" +"Повертає ``True``, якщо об’єкт є функцією :term:`asynchronous generator`, " +"наприклад::" + +msgid "" +"Functions wrapped in :func:`functools.partial` now return ``True`` if the " +"wrapped function is a :term:`asynchronous generator` function." +msgstr "" +"Функції, загорнуті в :func:`functools.partial`, тепер повертають ``True``, " +"якщо загорнута функція є функцією :term:`asynchronous generator`." + +msgid "" +"Return ``True`` if the object is an :term:`asynchronous generator iterator` " +"created by an :term:`asynchronous generator` function." +msgstr "" +"Повертає ``True``, якщо об’єкт є :term:`asynchronous generator iterator`, " +"створеним функцією :term:`asynchronous generator`." + +msgid "Return ``True`` if the object is a traceback." +msgstr "Повертає ``True``, якщо об’єкт є трасуванням." + +msgid "Return ``True`` if the object is a frame." +msgstr "Повертає ``True``, якщо об’єкт є фреймом." + +msgid "Return ``True`` if the object is a code." +msgstr "Повертає ``True``, якщо об’єкт є кодом." + +msgid "" +"Return ``True`` if the object is a built-in function or a bound built-in " +"method." +msgstr "" +"Повертає ``True``, якщо об’єкт є вбудованою функцією або зв’язаним " +"вбудованим методом." + +msgid "" +"Return ``True`` if the type of object is a :class:`~types.MethodWrapperType`." +msgstr "" + +msgid "" +"These are instances of :class:`~types.MethodWrapperType`, such as :meth:" +"`~object.__str__`, :meth:`~object.__eq__` and :meth:`~object.__repr__`." +msgstr "" + +msgid "" +"Return ``True`` if the object is a user-defined or built-in function or " +"method." +msgstr "" +"Повертає ``True``, якщо об’єкт є визначеною користувачем або вбудованою " +"функцією чи методом." + +msgid "Return ``True`` if the object is an abstract base class." +msgstr "Повертає ``True``, якщо об’єкт є абстрактним базовим класом." + +msgid "" +"Return ``True`` if the object is a method descriptor, but not if :func:" +"`ismethod`, :func:`isclass`, :func:`isfunction` or :func:`isbuiltin` are " +"true." +msgstr "" +"Повертає ``True``, якщо об’єкт є дескриптором методу, але не якщо :func:" +"`ismethod`, :func:`isclass`, :func:`isfunction` або :func:`isbuiltin` є " +"істинними." + +msgid "" +"This, for example, is true of ``int.__add__``. An object passing this test " +"has a :meth:`~object.__get__` method but not a :meth:`~object.__set__` " +"method, but beyond that the set of attributes varies. A :attr:`~definition." +"__name__` attribute is usually sensible, and :attr:`__doc__` often is." +msgstr "" +"Це, наприклад, вірно для ``int.__add__``. Об’єкт, який проходить цей тест, " +"має метод :meth:`~object.__get__`, але не метод :meth:`~object.__set__`, але " +"крім цього набір атрибутів змінюється. Атрибут :attr:`~definition.__name__` " +"зазвичай розумний, а :attr:`__doc__` часто є розумним." + +msgid "" +"Methods implemented via descriptors that also pass one of the other tests " +"return ``False`` from the :func:`ismethoddescriptor` test, simply because " +"the other tests promise more -- you can, e.g., count on having the :attr:" +"`__func__` attribute (etc) when an object passes :func:`ismethod`." +msgstr "" +"Методи, реалізовані через дескриптори, які також проходять один із інших " +"тестів, повертають ``False`` з тесту :func:`ismethoddescriptor` просто тому, " +"що інші тести обіцяють більше - ви можете, наприклад, розраховувати на " +"наявність :attr:`атрибут __func__` (тощо), коли об’єкт передає :func:" +"`ismethod`." + +msgid "Return ``True`` if the object is a data descriptor." +msgstr "Повертає ``True``, якщо об’єкт є дескриптором даних." + +msgid "" +"Data descriptors have a :attr:`~object.__set__` or a :attr:`~object." +"__delete__` method. Examples are properties (defined in Python), getsets, " +"and members. The latter two are defined in C and there are more specific " +"tests available for those types, which is robust across Python " +"implementations. Typically, data descriptors will also have :attr:" +"`~definition.__name__` and :attr:`__doc__` attributes (properties, getsets, " +"and members have both of these attributes), but this is not guaranteed." +msgstr "" +"Дескриптори даних мають метод :attr:`~object.__set__` або :attr:`~object." +"__delete__`. Прикладами є властивості (визначені в Python), getsets і члени. " +"Останні два визначені в C, і для цих типів доступні більш специфічні тести, " +"які є надійними для всіх реалізацій Python. Як правило, дескриптори даних " +"також матимуть атрибути :attr:`~definition.__name__` і :attr:`__doc__` " +"(властивості, getsets і члени мають обидва ці атрибути), але це не " +"гарантується." + +msgid "Return ``True`` if the object is a getset descriptor." +msgstr "Повертає ``True``, якщо об’єкт є дескриптором getset." + +msgid "" +"getsets are attributes defined in extension modules via :c:type:" +"`PyGetSetDef` structures. For Python implementations without such types, " +"this method will always return ``False``." +msgstr "" +"getsets — це атрибути, визначені в модулях розширення за допомогою структур :" +"c:type:`PyGetSetDef`. Для реалізацій Python без таких типів цей метод завжди " +"повертатиме ``False``." + +msgid "Return ``True`` if the object is a member descriptor." +msgstr "Повертає ``True``, якщо об’єкт є дескриптором-членом." + +msgid "" +"Member descriptors are attributes defined in extension modules via :c:type:" +"`PyMemberDef` structures. For Python implementations without such types, " +"this method will always return ``False``." +msgstr "" +"Дескриптори членів — це атрибути, визначені в модулях розширення за " +"допомогою структур :c:type:`PyMemberDef`. Для реалізацій Python без таких " +"типів цей метод завжди повертатиме ``False``." + +msgid "Retrieving source code" +msgstr "Отримання вихідного коду" + +msgid "" +"Get the documentation string for an object, cleaned up with :func:" +"`cleandoc`. If the documentation string for an object is not provided and " +"the object is a class, a method, a property or a descriptor, retrieve the " +"documentation string from the inheritance hierarchy. Return ``None`` if the " +"documentation string is invalid or missing." +msgstr "" +"Отримайте рядок документації для об’єкта, очищений за допомогою :func:" +"`cleandoc`. Якщо рядок документації для об’єкта не надано, а об’єкт є " +"класом, методом, властивістю або дескриптором, отримайте рядок документації " +"з ієрархії успадкування. Повертає ``None``, якщо рядок документації " +"недійсний або відсутній." + +msgid "Documentation strings are now inherited if not overridden." +msgstr "Рядки документації тепер успадковуються, якщо не перевизначаються." + +msgid "" +"Return in a single string any lines of comments immediately preceding the " +"object's source code (for a class, function, or method), or at the top of " +"the Python source file (if the object is a module). If the object's source " +"code is unavailable, return ``None``. This could happen if the object has " +"been defined in C or the interactive shell." +msgstr "" +"Повертайте в одному рядку будь-які рядки коментарів безпосередньо перед " +"вихідним кодом об’єкта (для класу, функції чи методу) або у верхній частині " +"вихідного файлу Python (якщо об’єкт є модулем). Якщо вихідний код об’єкта " +"недоступний, поверніть ``None``. Це може статися, якщо об’єкт було визначено " +"в C або інтерактивній оболонці." + +msgid "" +"Return the name of the (text or binary) file in which an object was defined. " +"This will fail with a :exc:`TypeError` if the object is a built-in module, " +"class, or function." +msgstr "" +"Повертає ім’я (текстового або бінарного) файлу, у якому було визначено " +"об’єкт. Це не вдасться з помилкою :exc:`TypeError`, якщо об’єкт є вбудованим " +"модулем, класом або функцією." + +msgid "" +"Try to guess which module an object was defined in. Return ``None`` if the " +"module cannot be determined." +msgstr "" +"Спробуйте вгадати, у якому модулі було визначено об’єкт. Поверніть ``None``, " +"якщо модуль не можна визначити." + +msgid "" +"Return the name of the Python source file in which an object was defined or " +"``None`` if no way can be identified to get the source. This will fail with " +"a :exc:`TypeError` if the object is a built-in module, class, or function." +msgstr "" +"Повертає ім’я вихідного файлу Python, у якому було визначено об’єкт, або " +"``None``, якщо неможливо визначити спосіб отримання джерела. Це не вдасться " +"з помилкою :exc:`TypeError`, якщо об’єкт є вбудованим модулем, класом або " +"функцією." + +msgid "" +"Return a list of source lines and starting line number for an object. The " +"argument may be a module, class, method, function, traceback, frame, or code " +"object. The source code is returned as a list of the lines corresponding to " +"the object and the line number indicates where in the original source file " +"the first line of code was found. An :exc:`OSError` is raised if the source " +"code cannot be retrieved." +msgstr "" +"Повертає список вихідних рядків і початковий номер рядка для об’єкта. " +"Аргументом може бути модуль, клас, метод, функція, зворотне трасування, " +"фрейм або об’єкт коду. Вихідний код повертається як список рядків, що " +"відповідають об’єкту, а номер рядка вказує, де у вихідному вихідному файлі " +"було знайдено перший рядок коду. :exc:`OSError` виникає, якщо не вдається " +"отримати вихідний код." + +msgid "" +":exc:`OSError` is raised instead of :exc:`IOError`, now an alias of the " +"former." +msgstr "" +":exc:`OSError` створюється замість :exc:`IOError`, тепер псевдонім першого." + +msgid "" +"Return the text of the source code for an object. The argument may be a " +"module, class, method, function, traceback, frame, or code object. The " +"source code is returned as a single string. An :exc:`OSError` is raised if " +"the source code cannot be retrieved." +msgstr "" +"Повертає текст вихідного коду об’єкта. Аргументом може бути модуль, клас, " +"метод, функція, зворотне трасування, фрейм або об’єкт коду. Вихідний код " +"повертається як один рядок. :exc:`OSError` виникає, якщо не вдається " +"отримати вихідний код." + +msgid "" +"Clean up indentation from docstrings that are indented to line up with " +"blocks of code." +msgstr "" +"Очистіть відступи з рядків документів, які мають відступ, щоб вирівнюватися " +"з блоками коду." + +msgid "" +"All leading whitespace is removed from the first line. Any leading " +"whitespace that can be uniformly removed from the second line onwards is " +"removed. Empty lines at the beginning and end are subsequently removed. " +"Also, all tabs are expanded to spaces." +msgstr "" +"Усі початкові пробіли видаляються з першого рядка. Усі пробіли на початку, " +"які можна рівномірно видалити з другого рядка, видаляються. Порожні рядки на " +"початку та в кінці згодом видаляються. Крім того, усі вкладки розгортаються " +"до пробілів." + +msgid "Introspecting callables with the Signature object" +msgstr "Самоаналіз викликаних за допомогою об’єкта Signature" + +msgid "" +"The Signature object represents the call signature of a callable object and " +"its return annotation. To retrieve a Signature object, use the :func:" +"`signature` function." +msgstr "" +"Об’єкт Signature представляє сигнатуру виклику об’єкта, що викликається, і " +"його зворотну анотацію. Щоб отримати об’єкт Signature, використовуйте " +"функцію :func:`signature`." + +msgid "Return a :class:`Signature` object for the given ``callable``::" +msgstr "Повертає об’єкт :class:`Signature` для заданого ``callable``::" + +msgid "" +"Accepts a wide range of Python callables, from plain functions and classes " +"to :func:`functools.partial` objects." +msgstr "" +"Приймає широкий діапазон викликів Python, від простих функцій і класів до " +"об’єктів :func:`functools.partial`." + +msgid "" +"For objects defined in modules using stringized annotations (``from " +"__future__ import annotations``), :func:`signature` will attempt to " +"automatically un-stringize the annotations using :func:`inspect." +"get_annotations()`. The ``global``, ``locals``, and ``eval_str`` parameters " +"are passed into :func:`inspect.get_annotations()` when resolving the " +"annotations; see the documentation for :func:`inspect.get_annotations()` for " +"instructions on how to use these parameters." +msgstr "" +"Для об’єктів, визначених у модулях із використанням рядкових анотацій (``з " +"__future__ import annotations``), :func:`signature` намагатиметься " +"автоматично скасувати стрінгові анотації за допомогою :func:`inspect." +"get_annotations()`. Параметри ``global``, ``locals`` і ``eval_str`` " +"передаються в :func:`inspect.get_annotations()` під час вирішення анотацій; " +"дивіться документацію для :func:`inspect.get_annotations()`, щоб дізнатися, " +"як використовувати ці параметри." + +msgid "" +"Raises :exc:`ValueError` if no signature can be provided, and :exc:" +"`TypeError` if that type of object is not supported. Also, if the " +"annotations are stringized, and ``eval_str`` is not false, the ``eval()`` " +"call(s) to un-stringize the annotations could potentially raise any kind of " +"exception." +msgstr "" +"Викликає :exc:`ValueError`, якщо неможливо надати підпис, і :exc:" +"`TypeError`, якщо цей тип об’єкта не підтримується. Крім того, якщо анотації " +"є рядковими, а ``eval_str`` не має значення false, виклик(и) ``eval()`` для " +"скасування ланцюжків анотацій може потенційно викликати будь-який виняток." + +msgid "" +"A slash(/) in the signature of a function denotes that the parameters prior " +"to it are positional-only. For more info, see :ref:`the FAQ entry on " +"positional-only parameters `." +msgstr "" +"Слеш (/) у сигнатурі функції означає, що параметри перед нею є лише " +"позиційними. Для отримання додаткової інформації див. :ref:`запис у " +"поширених питаннях щодо позиційних параметрів `." + +msgid "" +"``follow_wrapped`` parameter. Pass ``False`` to get a signature of " +"``callable`` specifically (``callable.__wrapped__`` will not be used to " +"unwrap decorated callables.)" +msgstr "" +"Параметр \"follow_wrapped\". Передайте ``False``, щоб отримати підпис " +"``callable`` конкретно (``callable.__wrapped__`` не використовуватиметься " +"для розгортання декорованих викликів.)" + +msgid "``globals``, ``locals``, and ``eval_str`` parameters." +msgstr "Параметри ``globals``, ``locals`` і ``eval_str``." + +msgid "" +"Some callables may not be introspectable in certain implementations of " +"Python. For example, in CPython, some built-in functions defined in C " +"provide no metadata about their arguments." +msgstr "" +"Деякі виклики можуть бути недоступними для інтроспекції в певних реалізаціях " +"Python. Наприклад, у CPython деякі вбудовані функції, визначені в C, не " +"надають метаданих про свої аргументи." + +msgid "" +"A Signature object represents the call signature of a function and its " +"return annotation. For each parameter accepted by the function it stores a :" +"class:`Parameter` object in its :attr:`parameters` collection." +msgstr "" +"Об’єкт Signature представляє сигнатуру виклику функції та анотацію її " +"повернення. Для кожного параметра, прийнятого функцією, вона зберігає " +"об’єкт :class:`Parameter` у своїй колекції :attr:`parameters`." + +msgid "" +"The optional *parameters* argument is a sequence of :class:`Parameter` " +"objects, which is validated to check that there are no parameters with " +"duplicate names, and that the parameters are in the right order, i.e. " +"positional-only first, then positional-or-keyword, and that parameters with " +"defaults follow parameters without defaults." +msgstr "" +"Необов’язковий аргумент *parameters* — це послідовність об’єктів :class:" +"`Parameter`, яка перевіряється, щоб перевірити, чи немає параметрів із " +"повторюваними іменами та чи параметри розташовано в правильному порядку, " +"тобто спочатку лише позиційні, а потім позиційні -or-keyword, і що параметри " +"зі значеннями за замовчуванням слідують за параметрами без значень за " +"замовчуванням." + +msgid "" +"The optional *return_annotation* argument, can be an arbitrary Python " +"object, is the \"return\" annotation of the callable." +msgstr "" +"Необов’язковий аргумент *return_annotation*, може бути довільним об’єктом " +"Python, є анотацією \"повернення\" викликаного." + +msgid "" +"Signature objects are *immutable*. Use :meth:`Signature.replace` to make a " +"modified copy." +msgstr "" +"Об’єкти підпису *незмінні*. Використовуйте :meth:`Signature.replace`, щоб " +"створити змінену копію." + +msgid "Signature objects are picklable and hashable." +msgstr "Об’єкти підпису можна вибирати та хешувати." + +msgid "A special class-level marker to specify absence of a return annotation." +msgstr "" +"Спеціальний маркер рівня класу, щоб вказати відсутність анотації повернення." + +msgid "" +"An ordered mapping of parameters' names to the corresponding :class:" +"`Parameter` objects. Parameters appear in strict definition order, " +"including keyword-only parameters." +msgstr "" +"Впорядковане зіставлення назв параметрів із відповідними об’єктами :class:" +"`Parameter`. Параметри відображаються в строгому порядку визначення, " +"включаючи параметри лише ключових слів." + +msgid "" +"Python only explicitly guaranteed that it preserved the declaration order of " +"keyword-only parameters as of version 3.7, although in practice this order " +"had always been preserved in Python 3." +msgstr "" +"Python лише явно гарантував, що він зберіг порядок оголошення параметрів " +"лише за ключовими словами, починаючи з версії 3.7, хоча на практиці цей " +"порядок завжди зберігався в Python 3." + +msgid "" +"The \"return\" annotation for the callable. If the callable has no \"return" +"\" annotation, this attribute is set to :attr:`Signature.empty`." +msgstr "" +"Анотація \"повернення\" для викликаного. Якщо викликаний не має анотації " +"\"повернення\", цей атрибут має значення :attr:`Signature.empty`." + +msgid "" +"Create a mapping from positional and keyword arguments to parameters. " +"Returns :class:`BoundArguments` if ``*args`` and ``**kwargs`` match the " +"signature, or raises a :exc:`TypeError`." +msgstr "" +"Створіть відображення позиційних аргументів і аргументів ключових слів на " +"параметри. Повертає :class:`BoundArguments`, якщо ``*args`` і ``**kwargs`` " +"збігаються з підписом, або викликає :exc:`TypeError`." + +msgid "" +"Works the same way as :meth:`Signature.bind`, but allows the omission of " +"some required arguments (mimics :func:`functools.partial` behavior.) " +"Returns :class:`BoundArguments`, or raises a :exc:`TypeError` if the passed " +"arguments do not match the signature." +msgstr "" +"Працює так само, як :meth:`Signature.bind`, але дозволяє пропускати деякі " +"необхідні аргументи (імітує поведінку :func:`functools.partial`). Повертає :" +"class:`BoundArguments` або викликає :exc:`TypeError`, якщо передані " +"аргументи не збігаються з підписом." + +msgid "" +"Create a new Signature instance based on the instance replace was invoked " +"on. It is possible to pass different ``parameters`` and/or " +"``return_annotation`` to override the corresponding properties of the base " +"signature. To remove return_annotation from the copied Signature, pass in :" +"attr:`Signature.empty`." +msgstr "" +"Створіть новий екземпляр підпису на основі екземпляра заміни, на якому було " +"викликано заміну. Можна передати різні ``параметри`` та/або " +"``return_annotation``, щоб замінити відповідні властивості базового підпису. " +"Щоб видалити return_annotation зі скопійованого підпису, передайте :attr:" +"`Signature.empty`." + +msgid "" +"Return a :class:`Signature` (or its subclass) object for a given callable " +"``obj``. Pass ``follow_wrapped=False`` to get a signature of ``obj`` " +"without unwrapping its ``__wrapped__`` chain. ``globalns`` and ``localns`` " +"will be used as the namespaces when resolving annotations." +msgstr "" +"Повертає об’єкт :class:`Signature` (або його підклас) для заданого " +"викликаного ``obj``. Передайте ``follow_wrapped=False``, щоб отримати підпис " +"``obj`` без розгортання його ланцюжка ``__wrapped__``. ``globalns`` і " +"``localns`` використовуватимуться як простори імен під час вирішення " +"анотацій." + +msgid "This method simplifies subclassing of :class:`Signature`::" +msgstr "Цей метод спрощує підкласи :class:`Signature`::" + +msgid "``globalns`` and ``localns`` parameters." +msgstr "Параметри ``globalns`` і ``localns``." + +msgid "" +"Parameter objects are *immutable*. Instead of modifying a Parameter object, " +"you can use :meth:`Parameter.replace` to create a modified copy." +msgstr "" +"Об'єкти параметрів *незмінні*. Замість того, щоб змінювати об’єкт Parameter, " +"ви можете використовувати :meth:`Parameter.replace` для створення зміненої " +"копії." + +msgid "Parameter objects are picklable and hashable." +msgstr "Об’єкти параметрів можна вибирати та хешувати." + +msgid "" +"A special class-level marker to specify absence of default values and " +"annotations." +msgstr "" +"Спеціальний маркер рівня класу для визначення відсутності значень за " +"замовчуванням і приміток." + +msgid "" +"The name of the parameter as a string. The name must be a valid Python " +"identifier." +msgstr "" +"Ім'я параметра у вигляді рядка. Ім’я має бути дійсним ідентифікатором Python." + +msgid "" +"CPython generates implicit parameter names of the form ``.0`` on the code " +"objects used to implement comprehensions and generator expressions." +msgstr "" +"CPython генерує неявні імена параметрів у формі ``.0`` для об’єктів коду, " +"які використовуються для реалізації розуміння та виразів генератора." + +msgid "" +"These parameter names are exposed by this module as names like ``implicit0``." +msgstr "" +"Ці назви параметрів надаються цим модулем як імена на зразок ``implicit0``." + +msgid "" +"The default value for the parameter. If the parameter has no default value, " +"this attribute is set to :attr:`Parameter.empty`." +msgstr "" +"Стандартне значення для параметра. Якщо параметр не має значення за " +"замовчуванням, цей атрибут має значення :attr:`Parameter.empty`." + +msgid "" +"The annotation for the parameter. If the parameter has no annotation, this " +"attribute is set to :attr:`Parameter.empty`." +msgstr "" +"Анотація до параметра. Якщо параметр не має анотації, цей атрибут має " +"значення :attr:`Parameter.empty`." + +msgid "" +"Describes how argument values are bound to the parameter. Possible values " +"(accessible via :class:`Parameter`, like ``Parameter.KEYWORD_ONLY``):" +msgstr "" +"Описує, як значення аргументів зв’язуються з параметром. Можливі значення " +"(доступні через :class:`Parameter`, наприклад ``Parameter.KEYWORD_ONLY``):" + +msgid "Name" +msgstr "Ім'я" + +msgid "Meaning" +msgstr "Значення" + +msgid "*POSITIONAL_ONLY*" +msgstr "*ПОЗИЦІЙНЕ_ЛИШЕ*" + +msgid "" +"Value must be supplied as a positional argument. Positional only parameters " +"are those which appear before a ``/`` entry (if present) in a Python " +"function definition." +msgstr "" +"Значення має бути надано як позиційний аргумент. Лише позиційні параметри – " +"це ті, які з’являються перед записом ``/`` (якщо він є) у визначенні функції " +"Python." + +msgid "*POSITIONAL_OR_KEYWORD*" +msgstr "*POSITIONAL_OR_KEYWORD*" + +msgid "" +"Value may be supplied as either a keyword or positional argument (this is " +"the standard binding behaviour for functions implemented in Python.)" +msgstr "" +"Значення може бути надано як ключове слово або позиційний аргумент (це " +"стандартна поведінка зв’язування для функцій, реалізованих у Python)." + +msgid "*VAR_POSITIONAL*" +msgstr "*VAR_POSITIONAL*" + +msgid "" +"A tuple of positional arguments that aren't bound to any other parameter. " +"This corresponds to a ``*args`` parameter in a Python function definition." +msgstr "" +"Кортеж позиційних аргументів, які не прив’язані до жодного іншого параметра. " +"Це відповідає параметру ``*args`` у визначенні функції Python." + +msgid "*KEYWORD_ONLY*" +msgstr "*KEYWORD_ONLY*" + +msgid "" +"Value must be supplied as a keyword argument. Keyword only parameters are " +"those which appear after a ``*`` or ``*args`` entry in a Python function " +"definition." +msgstr "" +"Значення має бути надано як аргумент ключового слова. Параметри лише для " +"ключових слів – це ті, які з’являються після запису ``*`` або ``*args`` у " +"визначенні функції Python." + +msgid "*VAR_KEYWORD*" +msgstr "*VAR_KEYWORD*" + +msgid "" +"A dict of keyword arguments that aren't bound to any other parameter. This " +"corresponds to a ``**kwargs`` parameter in a Python function definition." +msgstr "" +"Набір аргументів ключових слів, які не прив’язані до жодного іншого " +"параметра. Це відповідає параметру ``**kwargs`` у визначенні функції Python." + +msgid "Example: print all keyword-only arguments without default values::" +msgstr "" +"Приклад: надрукувати всі аргументи лише з ключовими словами без значень за " +"замовчуванням::" + +msgid "Describes a enum value of Parameter.kind." +msgstr "Описує значення переліку Parameter.kind." + +msgid "Example: print all descriptions of arguments::" +msgstr "Приклад: надрукувати всі описи аргументів::" + +msgid "" +"Create a new Parameter instance based on the instance replaced was invoked " +"on. To override a :class:`Parameter` attribute, pass the corresponding " +"argument. To remove a default value or/and an annotation from a Parameter, " +"pass :attr:`Parameter.empty`." +msgstr "" +"Створіть новий екземпляр параметра на основі заміненого екземпляра, на якому " +"було викликано. Щоб замінити атрибут :class:`Parameter`, передайте " +"відповідний аргумент. Щоб видалити значення за замовчуванням або/або " +"анотацію з параметра, передайте :attr:`Parameter.empty`." + +msgid "" +"In Python 3.3 Parameter objects were allowed to have ``name`` set to " +"``None`` if their ``kind`` was set to ``POSITIONAL_ONLY``. This is no longer " +"permitted." +msgstr "" +"У Python 3.3 об’єктам параметрів дозволялося мати ``name`` значення " +"``None``, якщо для їх ``tind`` було встановлено ``POSITIONAL_ONLY``. Це " +"більше не дозволено." + +msgid "" +"Result of a :meth:`Signature.bind` or :meth:`Signature.bind_partial` call. " +"Holds the mapping of arguments to the function's parameters." +msgstr "" +"Результат виклику :meth:`Signature.bind` або :meth:`Signature.bind_partial`. " +"Зберігає відображення аргументів у параметри функції." + +msgid "" +"A mutable mapping of parameters' names to arguments' values. Contains only " +"explicitly bound arguments. Changes in :attr:`arguments` will reflect in :" +"attr:`args` and :attr:`kwargs`." +msgstr "" +"Змінне відображення імен параметрів у значеннях аргументів. Містить лише " +"явно пов’язані аргументи. Зміни в :attr:`arguments` відображатимуться в :" +"attr:`args` і :attr:`kwargs`." + +msgid "" +"Should be used in conjunction with :attr:`Signature.parameters` for any " +"argument processing purposes." +msgstr "" +"Слід використовувати разом із :attr:`Signature.parameters` для будь-яких " +"цілей обробки аргументів." + +msgid "" +"Arguments for which :meth:`Signature.bind` or :meth:`Signature.bind_partial` " +"relied on a default value are skipped. However, if needed, use :meth:" +"`BoundArguments.apply_defaults` to add them." +msgstr "" +"Аргументи, для яких :meth:`Signature.bind` або :meth:`Signature." +"bind_partial` покладалися на значення за замовчуванням, пропускаються. " +"Однак, якщо потрібно, використовуйте :meth:`BoundArguments.apply_defaults`, " +"щоб додати їх." + +msgid "" +":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" +"class:`collections.OrderedDict`." +msgstr "" +":attr:`arguments` тепер має тип :class:`dict`. Раніше він мав тип :class:" +"`collections.OrderedDict`." + +msgid "" +"A tuple of positional arguments values. Dynamically computed from the :attr:" +"`arguments` attribute." +msgstr "" +"Кортеж значень позиційних аргументів. Динамічно обчислюється з атрибута :" +"attr:`arguments`." + +msgid "" +"A dict of keyword arguments values. Dynamically computed from the :attr:" +"`arguments` attribute." +msgstr "" +"Набір значень аргументів ключового слова. Динамічно обчислюється з атрибута :" +"attr:`arguments`." + +msgid "A reference to the parent :class:`Signature` object." +msgstr "Посилання на батьківський об’єкт :class:`Signature`." + +msgid "Set default values for missing arguments." +msgstr "Установіть значення за замовчуванням для відсутніх аргументів." + +msgid "" +"For variable-positional arguments (``*args``) the default is an empty tuple." +msgstr "" +"Для змінних позиційних аргументів (``*args``) за умовчанням є порожній " +"кортеж." + +msgid "" +"For variable-keyword arguments (``**kwargs``) the default is an empty dict." +msgstr "" +"Для аргументів зі змінними ключовими словами (``**kwargs``) типовим є " +"порожній dict." + +msgid "" +"The :attr:`args` and :attr:`kwargs` properties can be used to invoke " +"functions::" +msgstr "" +"Властивості :attr:`args` і :attr:`kwargs` можна використовувати для виклику " +"функцій::" + +msgid ":pep:`362` - Function Signature Object." +msgstr ":pep:`362` - Об'єкт підпису функції." + +msgid "The detailed specification, implementation details and examples." +msgstr "Детальна специфікація, деталі реалізації та приклади." + +msgid "Classes and functions" +msgstr "Класи та функції" + +msgid "" +"Arrange the given list of classes into a hierarchy of nested lists. Where a " +"nested list appears, it contains classes derived from the class whose entry " +"immediately precedes the list. Each entry is a 2-tuple containing a class " +"and a tuple of its base classes. If the *unique* argument is true, exactly " +"one entry appears in the returned structure for each class in the given " +"list. Otherwise, classes using multiple inheritance and their descendants " +"will appear multiple times." +msgstr "" +"Упорядкуйте заданий список класів у ієрархію вкладених списків. Там, де " +"з’являється вкладений список, він містить класи, похідні від класу, запис " +"якого безпосередньо передує списку. Кожен запис є 2-кортежем, що містить " +"клас і кортеж його базових класів. Якщо аргумент *unique* є істинним, у " +"поверненій структурі з’являється рівно один запис для кожного класу в " +"заданому списку. В іншому випадку класи, які використовують множинне " +"успадкування, та їхні нащадки з’являтимуться кілька разів." + +msgid "" +"Get the names and default values of a Python function's parameters. A :term:" +"`named tuple` is returned:" +msgstr "" +"Отримати імена та значення за замовчуванням параметрів функції Python. " +"Повертається :term:`named tuple`:" + +msgid "" +"``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " +"annotations)``" +msgstr "" +"``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " +"анотації)``" + +msgid "" +"*args* is a list of the positional parameter names. *varargs* is the name of " +"the ``*`` parameter or ``None`` if arbitrary positional arguments are not " +"accepted. *varkw* is the name of the ``**`` parameter or ``None`` if " +"arbitrary keyword arguments are not accepted. *defaults* is an *n*-tuple of " +"default argument values corresponding to the last *n* positional parameters, " +"or ``None`` if there are no such defaults defined. *kwonlyargs* is a list of " +"keyword-only parameter names in declaration order. *kwonlydefaults* is a " +"dictionary mapping parameter names from *kwonlyargs* to the default values " +"used if no argument is supplied. *annotations* is a dictionary mapping " +"parameter names to annotations. The special key ``\"return\"`` is used to " +"report the function return value annotation (if any)." +msgstr "" +"*args* — це список імен позиційних параметрів. *varargs* — це назва " +"параметра ``*`` або ``None``, якщо довільні позиційні аргументи не " +"приймаються. *varkw* — це назва параметра ``**`` або ``None``, якщо довільні " +"аргументи ключового слова не приймаються. *defaults* — це *n*-кортеж значень " +"аргументів за замовчуванням, що відповідають останнім *n* позиційним " +"параметрам, або ``None``, якщо такі значення за замовчуванням не визначено. " +"*kwonlyargs* — це список імен параметрів лише за ключовими словами в порядку " +"оголошення. *kwonlydefaults* — це словник, який зіставляє назви параметрів з " +"*kwonlyargs* на значення за замовчуванням, які використовуються, якщо " +"аргумент не надано. *анотації* — це словник, який зіставляє назви параметрів " +"з анотаціями. Спеціальний ключ ``\"return\"`` використовується для " +"повідомлення анотації значення, що повертається функцією (якщо є)." + +msgid "" +"Note that :func:`signature` and :ref:`Signature Object ` provide the recommended API for callable introspection, and support " +"additional behaviours (like positional-only arguments) that are sometimes " +"encountered in extension module APIs. This function is retained primarily " +"for use in code that needs to maintain compatibility with the Python 2 " +"``inspect`` module API." +msgstr "" +"Зауважте, що :func:`signature` і :ref:`Signature Object ` надають рекомендований API для інтроспекції з можливістю виклику та " +"підтримують додаткові режими (наприклад, лише позиційні аргументи), які " +"іноді зустрічаються в API модуля розширення. Ця функція зберігається " +"головним чином для використання в коді, який потребує підтримки сумісності з " +"API модуля ``inspect`` Python 2." + +msgid "" +"This function is now based on :func:`signature`, but still ignores " +"``__wrapped__`` attributes and includes the already bound first parameter in " +"the signature output for bound methods." +msgstr "" +"Ця функція тепер базується на :func:`signature`, але все ще ігнорує атрибути " +"``__wrapped__`` і включає вже зв’язаний перший параметр у вихідні дані " +"підпису для зв’язаних методів." + +msgid "" +"This method was previously documented as deprecated in favour of :func:" +"`signature` in Python 3.5, but that decision has been reversed in order to " +"restore a clearly supported standard interface for single-source Python 2/3 " +"code migrating away from the legacy :func:`getargspec` API." +msgstr "" +"Раніше цей метод був задокументований як застарілий на користь :func:" +"`signature` у Python 3.5, але це рішення було скасовано, щоб відновити чітко " +"підтримуваний стандартний інтерфейс для єдиного вихідного коду Python 2/3, " +"що переходить із застарілої версії :func:`getargspec` API." + +msgid "" +"Get information about arguments passed into a particular frame. A :term:" +"`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is returned. " +"*args* is a list of the argument names. *varargs* and *keywords* are the " +"names of the ``*`` and ``**`` arguments or ``None``. *locals* is the locals " +"dictionary of the given frame." +msgstr "" +"Отримати інформацію про аргументи, передані в певний кадр. Повертається :" +"term:`named tuple` ``ArgInfo(args, varargs, keywords, locals)``. *args* — це " +"список імен аргументів. *varargs* і *keywords* — це імена аргументів ``*`` і " +"``**`` або ``None``. *locals* — це словник місцевих значень даного кадру." + +msgid "This function was inadvertently marked as deprecated in Python 3.5." +msgstr "Ця функція була випадково позначена як застаріла в Python 3.5." + +msgid "" +"Format a pretty argument spec from the four values returned by :func:" +"`getargvalues`. The format\\* arguments are the corresponding optional " +"formatting functions that are called to turn names and values into strings." +msgstr "" +"Відформатуйте гарну специфікацію аргументу з чотирьох значень, які повертає :" +"func:`getargvalues`. Аргументи format\\* — це відповідні додаткові функції " +"форматування, які викликаються для перетворення імен і значень у рядки." + +msgid "" +"Return a tuple of class cls's base classes, including cls, in method " +"resolution order. No class appears more than once in this tuple. Note that " +"the method resolution order depends on cls's type. Unless a very peculiar " +"user-defined metatype is in use, cls will be the first element of the tuple." +msgstr "" +"Повертає кортеж базових класів класу cls, включаючи cls, у порядку вирішення " +"методів. Жоден клас не з’являється більше одного разу в цьому кортежі. " +"Зауважте, що порядок вирішення методів залежить від типу cls. Якщо не " +"використовується дуже специфічний метатип, визначений користувачем, cls буде " +"першим елементом кортежу." + +msgid "" +"Bind the *args* and *kwds* to the argument names of the Python function or " +"method *func*, as if it was called with them. For bound methods, bind also " +"the first argument (typically named ``self``) to the associated instance. A " +"dict is returned, mapping the argument names (including the names of the " +"``*`` and ``**`` arguments, if any) to their values from *args* and *kwds*. " +"In case of invoking *func* incorrectly, i.e. whenever ``func(*args, " +"**kwds)`` would raise an exception because of incompatible signature, an " +"exception of the same type and the same or similar message is raised. For " +"example::" +msgstr "" +"Прив’яжіть *args* і *kwds* до імен аргументів функції або методу Python " +"*func*, ніби їх було викликано з ними. Для пов’язаних методів прив’яжіть " +"також перший аргумент (зазвичай званий ``self``) до пов’язаного екземпляра. " +"Повертається dict, який зіставляє назви аргументів (включно з іменами " +"аргументів ``*`` і ``**``, якщо такі є) на їхні значення з *args* і *kwds*. " +"У разі неправильного виклику *func*, тобто кожного разу, коли ``func(*args, " +"**kwds)`` викликає виняток через несумісність підпису, викликається виняток " +"того самого типу та те саме або подібне повідомлення. Наприклад::" + +msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." +msgstr "" +"Замість цього використовуйте :meth:`Signature.bind` і :meth:`Signature." +"bind_partial`." + +msgid "" +"Get the mapping of external name references in a Python function or method " +"*func* to their current values. A :term:`named tuple` " +"``ClosureVars(nonlocals, globals, builtins, unbound)`` is returned. " +"*nonlocals* maps referenced names to lexical closure variables, *globals* to " +"the function's module globals and *builtins* to the builtins visible from " +"the function body. *unbound* is the set of names referenced in the function " +"that could not be resolved at all given the current module globals and " +"builtins." +msgstr "" +"Отримайте зіставлення зовнішніх посилань на імена у функції або методі " +"Python *func* на їхні поточні значення. Повертається :term:`named tuple` " +"``ClosureVars(nonlocals, globals, builtins, unbound)``. *nonlocals* " +"відображає назви посилань на лексичні змінні закриття, *globals* на " +"глобальні модулі функції та *builtins* на вбудовані елементи, видимі з тіла " +"функції. *unbound* — це набір імен, на які посилається функція, які взагалі " +"не можуть бути розпізнані з урахуванням поточних глобальних і вбудованих " +"модулів." + +msgid "" +":exc:`TypeError` is raised if *func* is not a Python function or method." +msgstr "" +":exc:`TypeError` виникає, якщо *func* не є функцією або методом Python." + +msgid "" +"Get the object wrapped by *func*. It follows the chain of :attr:" +"`__wrapped__` attributes returning the last object in the chain." +msgstr "" +"Оберніть об’єкт за допомогою *func*. Він слідує за ланцюжком атрибутів :attr:" +"`__wrapped__`, повертаючи останній об’єкт у ланцюжку." + +msgid "" +"*stop* is an optional callback accepting an object in the wrapper chain as " +"its sole argument that allows the unwrapping to be terminated early if the " +"callback returns a true value. If the callback never returns a true value, " +"the last object in the chain is returned as usual. For example, :func:" +"`signature` uses this to stop unwrapping if any object in the chain has a " +"``__signature__`` attribute defined." +msgstr "" +"*stop* — необов’язковий зворотний виклик, який приймає об’єкт у ланцюжку " +"оболонки як єдиний аргумент, який дозволяє розгортання завершувати " +"достроково, якщо зворотний виклик повертає справжнє значення. Якщо зворотний " +"виклик ніколи не повертає справжнє значення, останній об’єкт у ланцюжку " +"повертається, як зазвичай. Наприклад, :func:`signature` використовує це, щоб " +"зупинити розгортання, якщо будь-який об’єкт у ланцюжку має визначений " +"атрибут ``__signature__``." + +msgid ":exc:`ValueError` is raised if a cycle is encountered." +msgstr ":exc:`ValueError` виникає, якщо зустрічається цикл." + +msgid "Compute the annotations dict for an object." +msgstr "Обчисліть анотації dict для об’єкта." + +msgid "" +"``obj`` may be a callable, class, or module. Passing in an object of any " +"other type raises :exc:`TypeError`." +msgstr "" +"``obj`` може бути викликаним, класом або модулем. Передача об’єкта будь-" +"якого іншого типу викликає :exc:`TypeError`." + +msgid "" +"Returns a dict. ``get_annotations()`` returns a new dict every time it's " +"called; calling it twice on the same object will return two different but " +"equivalent dicts." +msgstr "" +"Повертає dict. ``get_annotations()`` повертає новий dict під час кожного " +"виклику; виклик його двічі для того самого об’єкта поверне два різні, але " +"еквівалентні слова." + +msgid "This function handles several details for you:" +msgstr "Ця функція обробляє декілька деталей для вас:" + +msgid "" +"If ``eval_str`` is true, values of type ``str`` will be un-stringized using :" +"func:`eval()`. This is intended for use with stringized annotations (``from " +"__future__ import annotations``)." +msgstr "" +"Якщо ``eval_str`` має значення true, значення типу ``str`` буде видалено з " +"рядків за допомогою :func:`eval()`. Це призначено для використання з " +"рядковими анотаціями (``з __future__ імпортних анотацій``)." + +msgid "" +"If ``obj`` doesn't have an annotations dict, returns an empty dict. " +"(Functions and methods always have an annotations dict; classes, modules, " +"and other types of callables may not.)" +msgstr "" +"Якщо ``obj`` не має dict анотацій, повертає порожній dict. (Функції та " +"методи завжди мають анотації dict; класи, модулі та інші типи викликів " +"можуть не мати.)" + +msgid "" +"Ignores inherited annotations on classes. If a class doesn't have its own " +"annotations dict, returns an empty dict." +msgstr "" +"Ігнорує успадковані анотації до класів. Якщо клас не має власного dict " +"анотацій, повертає порожній dict." + +msgid "" +"All accesses to object members and dict values are done using ``getattr()`` " +"and ``dict.get()`` for safety." +msgstr "" +"Усі доступи до членів об’єктів і значень dict здійснюються за допомогою " +"``getattr()`` і ``dict.get()`` для безпеки." + +msgid "Always, always, always returns a freshly created dict." +msgstr "" + +msgid "" +"``eval_str`` controls whether or not values of type ``str`` are replaced " +"with the result of calling :func:`eval()` on those values:" +msgstr "" +"``eval_str`` контролює, чи значення типу ``str`` замінюються на результат " +"виклику :func:`eval()` для цих значень:" + +msgid "" +"If eval_str is true, :func:`eval()` is called on values of type ``str``. " +"(Note that ``get_annotations`` doesn't catch exceptions; if :func:`eval()` " +"raises an exception, it will unwind the stack past the ``get_annotations`` " +"call.)" +msgstr "" +"Якщо eval_str має значення true, :func:`eval()` викликається для значень " +"типу ``str``. (Зверніть увагу, що ``get_annotations`` не перехоплює винятки; " +"якщо :func:`eval()` викликає виключення, він розмотує стек після виклику " +"``get_annotations``.)" + +msgid "" +"If eval_str is false (the default), values of type ``str`` are unchanged." +msgstr "" +"Якщо eval_str має значення false (за замовчуванням), значення типу ``str`` " +"не змінюються." + +msgid "" +"``globals`` and ``locals`` are passed in to :func:`eval()`; see the " +"documentation for :func:`eval()` for more information. If ``globals`` or " +"``locals`` is ``None``, this function may replace that value with a context-" +"specific default, contingent on ``type(obj)``:" +msgstr "" +"``globals`` і ``locals`` передаються в :func:`eval()`; дивіться документацію " +"для :func:`eval()` для отримання додаткової інформації. Якщо ``globals`` або " +"``locals`` має значення ``None``, ця функція може замінити це значення на " +"контекстне значення за замовчуванням, залежне від ``type(obj)``:" + +msgid "If ``obj`` is a module, ``globals`` defaults to ``obj.__dict__``." +msgstr "Якщо ``obj`` є модулем, ``globals`` за замовчуванням ``obj.__dict__``." + +msgid "" +"If ``obj`` is a class, ``globals`` defaults to ``sys.modules[obj.__module__]." +"__dict__`` and ``locals`` defaults to the ``obj`` class namespace." +msgstr "" +"Якщо ``obj`` є класом, ``globals`` за замовчуванням ``sys.modules[obj." +"__module__].__dict__``, а ``locals`` за замовчуванням має простір імен класу " +"``obj``." + +msgid "" +"If ``obj`` is a callable, ``globals`` defaults to ``obj.__globals__``, " +"although if ``obj`` is a wrapped function (using ``functools." +"update_wrapper()``) it is first unwrapped." +msgstr "" +"Якщо ``obj`` є викликаним, ``globals`` за замовчуванням ``obj.__globals__``, " +"хоча якщо ``obj`` є оберненою функцією (з використанням ``functools." +"update_wrapper()``), це спочатку розгорнуто." + +msgid "" +"Calling ``get_annotations`` is best practice for accessing the annotations " +"dict of any object. See :ref:`annotations-howto` for more information on " +"annotations best practices." +msgstr "" +"Виклик ``get_annotations`` є найкращою практикою для доступу до dict " +"анотацій будь-якого об’єкта. Дивіться :ref:`annotations-howto` для отримання " +"додаткової інформації про найкращі практики анотацій." + +msgid "The interpreter stack" +msgstr "Стек інтерпретатора" + +msgid "" +"Some of the following functions return :class:`FrameInfo` objects. For " +"backwards compatibility these objects allow tuple-like operations on all " +"attributes except ``positions``. This behavior is considered deprecated and " +"may be removed in the future." +msgstr "" + +msgid "The :ref:`frame object ` that the record corresponds to." +msgstr "" + +msgid "" +"The file name associated with the code being executed by the frame this " +"record corresponds to." +msgstr "" + +msgid "" +"The line number of the current line associated with the code being executed " +"by the frame this record corresponds to." +msgstr "" + +msgid "" +"The function name that is being executed by the frame this record " +"corresponds to." +msgstr "" + +msgid "" +"A list of lines of context from the source code that's being executed by the " +"frame this record corresponds to." +msgstr "" + +msgid "" +"The index of the current line being executed in the :attr:`code_context` " +"list." +msgstr "" + +msgid "" +"A :class:`dis.Positions` object containing the start line number, end line " +"number, start column offset, and end column offset associated with the " +"instruction being executed by the frame this record corresponds to." +msgstr "" + +msgid "Return a :term:`named tuple` instead of a :class:`tuple`." +msgstr "" + +msgid "" +":class:`!FrameInfo` is now a class instance (that is backwards compatible " +"with the previous :term:`named tuple`)." +msgstr "" + +msgid "" +"The file name associated with the code being executed by the frame this " +"traceback corresponds to." +msgstr "" + +msgid "" +"The line number of the current line associated with the code being executed " +"by the frame this traceback corresponds to." +msgstr "" + +msgid "" +"The function name that is being executed by the frame this traceback " +"corresponds to." +msgstr "" + +msgid "" +"A list of lines of context from the source code that's being executed by the " +"frame this traceback corresponds to." +msgstr "" + +msgid "" +"A :class:`dis.Positions` object containing the start line number, end line " +"number, start column offset, and end column offset associated with the " +"instruction being executed by the frame this traceback corresponds to." +msgstr "" + +msgid "" +":class:`!Traceback` is now a class instance (that is backwards compatible " +"with the previous :term:`named tuple`)." +msgstr "" + +msgid "" +"Keeping references to frame objects, as found in the first element of the " +"frame records these functions return, can cause your program to create " +"reference cycles. Once a reference cycle has been created, the lifespan of " +"all objects which can be accessed from the objects which form the cycle can " +"become much longer even if Python's optional cycle detector is enabled. If " +"such cycles must be created, it is important to ensure they are explicitly " +"broken to avoid the delayed destruction of objects and increased memory " +"consumption which occurs." +msgstr "" +"Зберігання посилань на об’єкти фрейму, які знаходяться в першому елементі " +"фреймових записів, які повертаються цими функціями, може призвести до того, " +"що ваша програма створить цикли посилань. Після створення еталонного циклу " +"тривалість життя всіх об’єктів, до яких можна отримати доступ з об’єктів, що " +"утворюють цикл, може стати набагато довшим, навіть якщо ввімкнено додатковий " +"детектор циклу Python. Якщо такі цикли необхідно створити, важливо " +"переконатися, що вони явно розірвані, щоб уникнути затримки руйнування " +"об’єктів і збільшення споживання пам’яті, яке відбувається." + +msgid "" +"Though the cycle detector will catch these, destruction of the frames (and " +"local variables) can be made deterministic by removing the cycle in a :" +"keyword:`finally` clause. This is also important if the cycle detector was " +"disabled when Python was compiled or using :func:`gc.disable`. For example::" +msgstr "" +"Хоча детектор циклу вловить їх, знищення кадрів (та локальних змінних) можна " +"зробити детермінованим, видаливши цикл у реченні :keyword:`finally`. Це " +"також важливо, якщо детектор циклу було вимкнено під час компіляції Python " +"або використання :func:`gc.disable`. Наприклад::" + +msgid "" +"If you want to keep the frame around (for example to print a traceback " +"later), you can also break reference cycles by using the :meth:`frame.clear` " +"method." +msgstr "" +"Якщо ви хочете зберегти фрейм (наприклад, щоб пізніше надрукувати " +"трасування), ви також можете розірвати цикли посилань за допомогою методу :" +"meth:`frame.clear`." + +msgid "" +"The optional *context* argument supported by most of these functions " +"specifies the number of lines of context to return, which are centered " +"around the current line." +msgstr "" +"Необов’язковий аргумент *context*, який підтримується більшістю цих функцій, " +"визначає кількість рядків контексту для повернення, які розташовані навколо " +"поточного рядка." + +msgid "" +"Get information about a frame or traceback object. A :class:`Traceback` " +"object is returned." +msgstr "" + +msgid "A :class:`Traceback` object is returned instead of a named tuple." +msgstr "" + +msgid "" +"Get a list of :class:`FrameInfo` objects for a frame and all outer frames. " +"These frames represent the calls that lead to the creation of *frame*. The " +"first entry in the returned list represents *frame*; the last entry " +"represents the outermost call on *frame*'s stack." +msgstr "" + +msgid "" +"A list of :term:`named tuples ` ``FrameInfo(frame, filename, " +"lineno, function, code_context, index)`` is returned." +msgstr "" +"Повертається список :term:`іменованих кортежів ` " +"``FrameInfo(frame, filename, lineno, function, code_context, index)`` " +"повертається." + +msgid "A list of :class:`FrameInfo` objects is returned." +msgstr "" + +msgid "" +"Get a list of :class:`FrameInfo` objects for a traceback's frame and all " +"inner frames. These frames represent calls made as a consequence of " +"*frame*. The first entry in the list represents *traceback*; the last entry " +"represents where the exception was raised." +msgstr "" + +msgid "Return the frame object for the caller's stack frame." +msgstr "Повертає об’єкт кадру для кадру стека абонента." + +msgid "" +"This function relies on Python stack frame support in the interpreter, which " +"isn't guaranteed to exist in all implementations of Python. If running in " +"an implementation without Python stack frame support this function returns " +"``None``." +msgstr "" +"Ця функція покладається на підтримку фрейму стека Python в інтерпретаторі, " +"який не гарантовано існує в усіх реалізаціях Python. Якщо ця функція працює " +"в реалізації без підтримки фрейму стека Python, ця функція повертає ``None``." + +msgid "" +"Return a list of :class:`FrameInfo` objects for the caller's stack. The " +"first entry in the returned list represents the caller; the last entry " +"represents the outermost call on the stack." +msgstr "" + +msgid "" +"Return a list of :class:`FrameInfo` objects for the stack between the " +"current frame and the frame in which an exception currently being handled " +"was raised in. The first entry in the list represents the caller; the last " +"entry represents where the exception was raised." +msgstr "" + +msgid "Fetching attributes statically" +msgstr "Отримання атрибутів статично" + +msgid "" +"Both :func:`getattr` and :func:`hasattr` can trigger code execution when " +"fetching or checking for the existence of attributes. Descriptors, like " +"properties, will be invoked and :meth:`__getattr__` and :meth:" +"`__getattribute__` may be called." +msgstr "" +"І :func:`getattr`, і :func:`hasattr` можуть ініціювати виконання коду під " +"час отримання або перевірки наявності атрибутів. Буде викликано дескриптори, " +"як і властивості, і можна буде викликати :meth:`__getattr__` і :meth:" +"`__getattribute__`." + +msgid "" +"For cases where you want passive introspection, like documentation tools, " +"this can be inconvenient. :func:`getattr_static` has the same signature as :" +"func:`getattr` but avoids executing code when it fetches attributes." +msgstr "" +"У випадках, коли вам потрібен пасивний самоаналіз, наприклад інструменти " +"документування, це може бути незручно. :func:`getattr_static` має такий " +"самий підпис, як і :func:`getattr`, але уникає виконання коду, коли він " +"отримує атрибути." + +msgid "" +"Retrieve attributes without triggering dynamic lookup via the descriptor " +"protocol, :meth:`__getattr__` or :meth:`__getattribute__`." +msgstr "" +"Отримувати атрибути без запуску динамічного пошуку через протокол " +"дескриптора, :meth:`__getattr__` або :meth:`__getattribute__`." + +msgid "" +"Note: this function may not be able to retrieve all attributes that getattr " +"can fetch (like dynamically created attributes) and may find attributes that " +"getattr can't (like descriptors that raise AttributeError). It can also " +"return descriptors objects instead of instance members." +msgstr "" +"Примітка: ця функція може бути не в змозі отримати всі атрибути, які getattr " +"може отримати (наприклад, динамічно створені атрибути), і може знайти " +"атрибути, які getattr не може отримати (наприклад, дескриптори, які " +"викликають AttributeError). Він також може повертати об’єкти дескрипторів " +"замість членів екземпляра." + +msgid "" +"If the instance :attr:`~object.__dict__` is shadowed by another member (for " +"example a property) then this function will be unable to find instance " +"members." +msgstr "" +"Якщо примірник :attr:`~object.__dict__` затінений іншим членом (наприклад, " +"властивістю), тоді ця функція не зможе знайти члени примірника." + +msgid "" +":func:`getattr_static` does not resolve descriptors, for example slot " +"descriptors or getset descriptors on objects implemented in C. The " +"descriptor object is returned instead of the underlying attribute." +msgstr "" +":func:`getattr_static` не розпізнає дескриптори, наприклад, дескриптори " +"слотів або дескриптори getset в об’єктах, реалізованих у C. Об’єкт " +"дескриптора повертається замість основного атрибута." + +msgid "" +"You can handle these with code like the following. Note that for arbitrary " +"getset descriptors invoking these may trigger code execution::" +msgstr "" +"Ви можете впоратися з цим за допомогою такого коду. Зауважте, що виклик " +"довільних дескрипторів getset може ініціювати виконання коду::" + +msgid "Current State of Generators and Coroutines" +msgstr "Поточний стан генераторів і співпрограм" + +msgid "" +"When implementing coroutine schedulers and for other advanced uses of " +"generators, it is useful to determine whether a generator is currently " +"executing, is waiting to start or resume or execution, or has already " +"terminated. :func:`getgeneratorstate` allows the current state of a " +"generator to be determined easily." +msgstr "" +"Під час реалізації планувальників співпрограм та для інших розширених " +"застосувань генераторів корисно визначити, чи генератор зараз виконується, " +"очікує на запуск, відновлення чи виконання, чи вже завершив роботу. :func:" +"`getgeneratorstate` дозволяє легко визначити поточний стан генератора." + +msgid "Get current state of a generator-iterator." +msgstr "Отримати поточний стан генератора-ітератора." + +msgid "Possible states are:" +msgstr "Можливі стани:" + +msgid "GEN_CREATED: Waiting to start execution." +msgstr "GEN_CREATED: Очікування на початок виконання." + +msgid "GEN_RUNNING: Currently being executed by the interpreter." +msgstr "GEN_RUNNING: наразі виконується інтерпретатором." + +msgid "GEN_SUSPENDED: Currently suspended at a yield expression." +msgstr "GEN_SUSPENDED: наразі призупинено на виразі yield." + +msgid "GEN_CLOSED: Execution has completed." +msgstr "GEN_CLOSED: виконання завершено." + +msgid "" +"Get current state of a coroutine object. The function is intended to be " +"used with coroutine objects created by :keyword:`async def` functions, but " +"will accept any coroutine-like object that has ``cr_running`` and " +"``cr_frame`` attributes." +msgstr "" +"Отримати поточний стан об'єкта співпрограми. Функція призначена для " +"використання з об’єктами співпрограми, створеними функціями :keyword:`async " +"def`, але вона приймає будь-який об’єкт, подібний до співпрограми, який має " +"атрибути ``cr_running`` і ``cr_frame``." + +msgid "CORO_CREATED: Waiting to start execution." +msgstr "CORO_CREATED: Очікування на початок виконання." + +msgid "CORO_RUNNING: Currently being executed by the interpreter." +msgstr "CORO_RUNNING: наразі виконується інтерпретатором." + +msgid "CORO_SUSPENDED: Currently suspended at an await expression." +msgstr "CORO_SUSPENDED: наразі призупинено через вираз очікування." + +msgid "CORO_CLOSED: Execution has completed." +msgstr "CORO_CLOSED: виконання завершено." + +msgid "" +"The current internal state of the generator can also be queried. This is " +"mostly useful for testing purposes, to ensure that internal state is being " +"updated as expected:" +msgstr "" +"Також можна запитати поточний внутрішній стан генератора. Це здебільшого " +"корисно для цілей тестування, щоб переконатися, що внутрішній стан " +"оновлюється належним чином:" + +msgid "" +"Get the mapping of live local variables in *generator* to their current " +"values. A dictionary is returned that maps from variable names to values. " +"This is the equivalent of calling :func:`locals` in the body of the " +"generator, and all the same caveats apply." +msgstr "" +"Отримайте зіставлення поточних локальних змінних у *генераторі* з їхніми " +"поточними значеннями. Повертається словник, який відображає імена змінних на " +"значення. Це еквівалент виклику :func:`locals` у тілі генератора, і " +"застосовуються всі ті самі застереження." + +msgid "" +"If *generator* is a :term:`generator` with no currently associated frame, " +"then an empty dictionary is returned. :exc:`TypeError` is raised if " +"*generator* is not a Python generator object." +msgstr "" +"Якщо *generator* є :term:`generator` без пов’язаного фрейму, повертається " +"порожній словник. :exc:`TypeError` виникає, якщо *generator* не є об’єктом " +"генератора Python." + +msgid "" +"This function relies on the generator exposing a Python stack frame for " +"introspection, which isn't guaranteed to be the case in all implementations " +"of Python. In such cases, this function will always return an empty " +"dictionary." +msgstr "" +"Ця функція покладається на те, що генератор відкриває фрейм стека Python для " +"самоаналізу, що не гарантовано буде у всіх реалізаціях Python. У таких " +"випадках ця функція завжди повертатиме порожній словник." + +msgid "" +"This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " +"for coroutine objects created by :keyword:`async def` functions." +msgstr "" +"Ця функція аналогічна :func:`~inspect.getgeneratorlocals`, але працює для " +"об’єктів співпрограми, створених функціями :keyword:`async def`." + +msgid "Code Objects Bit Flags" +msgstr "Кодові об’єкти Бітові прапорці" + +msgid "" +"Python code objects have a ``co_flags`` attribute, which is a bitmap of the " +"following flags:" +msgstr "" +"Об’єкти коду Python мають атрибут ``co_flags``, який є бітовою картою таких " +"прапорів:" + +msgid "The code object is optimized, using fast locals." +msgstr "Об’єкт коду оптимізовано за допомогою швидких локальних кодів." + +msgid "" +"If set, a new dict will be created for the frame's ``f_locals`` when the " +"code object is executed." +msgstr "" +"Якщо встановлено, новий dict буде створено для ``f_locals`` кадру під час " +"виконання об’єкта коду." + +msgid "The code object has a variable positional parameter (``*args``-like)." +msgstr "Об’єкт коду має змінний позиційний параметр (``*args``)." + +msgid "The code object has a variable keyword parameter (``**kwargs``-like)." +msgstr "Об’єкт коду має змінний параметр ключового слова (``**kwargs``-like)." + +msgid "The flag is set when the code object is a nested function." +msgstr "Прапорець встановлюється, коли об’єкт коду є вкладеною функцією." + +msgid "" +"The flag is set when the code object is a generator function, i.e. a " +"generator object is returned when the code object is executed." +msgstr "" +"Прапорець встановлюється, коли об’єкт коду є функцією генератора, тобто " +"об’єкт генератора повертається під час виконання об’єкта коду." + +msgid "" +"The flag is set when the code object is a coroutine function. When the code " +"object is executed it returns a coroutine object. See :pep:`492` for more " +"details." +msgstr "" +"Прапор встановлюється, коли об’єкт коду є співпрограмою. Коли об’єкт коду " +"виконується, він повертає об’єкт співпрограми. Дивіться :pep:`492` для більш " +"детальної інформації." + +msgid "" +"The flag is used to transform generators into generator-based coroutines. " +"Generator objects with this flag can be used in ``await`` expression, and " +"can ``yield from`` coroutine objects. See :pep:`492` for more details." +msgstr "" +"Прапор використовується для перетворення генераторів у співпрограми на " +"основі генератора. Об’єкти-генератори з цим прапорцем можна використовувати " +"у виразі ``очікування`` і можуть ``поступати від`` об’єктів співпрограми. " +"Дивіться :pep:`492` для більш детальної інформації." + +msgid "" +"The flag is set when the code object is an asynchronous generator function. " +"When the code object is executed it returns an asynchronous generator " +"object. See :pep:`525` for more details." +msgstr "" +"Прапорець встановлюється, коли об’єкт коду є функцією асинхронного " +"генератора. Коли об’єкт коду виконується, він повертає об’єкт асинхронного " +"генератора. Дивіться :pep:`525` для більш детальної інформації." + +msgid "" +"The flags are specific to CPython, and may not be defined in other Python " +"implementations. Furthermore, the flags are an implementation detail, and " +"can be removed or deprecated in future Python releases. It's recommended to " +"use public APIs from the :mod:`inspect` module for any introspection needs." +msgstr "" +"Прапори є специфічними для CPython і можуть не бути визначені в інших " +"реалізаціях Python. Крім того, прапори є деталями реалізації, і їх можна " +"видалити або застаріти в майбутніх випусках Python. Рекомендовано " +"використовувати загальнодоступні API з модуля :mod:`inspect` для будь-яких " +"потреб самоаналізу." + +msgid "Command Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The :mod:`inspect` module also provides a basic introspection capability " +"from the command line." +msgstr "" +"Модуль :mod:`inspect` також надає базову можливість самоаналізу з командного " +"рядка." + +msgid "" +"By default, accepts the name of a module and prints the source of that " +"module. A class or function within the module can be printed instead by " +"appended a colon and the qualified name of the target object." +msgstr "" +"За замовчуванням приймає назву модуля та друкує джерело цього модуля. " +"Натомість клас або функцію в модулі можна надрукувати, додавши двокрапку та " +"кваліфіковане ім’я цільового об’єкта." + +msgid "" +"Print information about the specified object rather than the source code" +msgstr "Надрукувати інформацію про вказаний об’єкт, а не вихідний код" diff --git a/library/internet.po b/library/internet.po new file mode 100644 index 000000000..9c91eed8b --- /dev/null +++ b/library/internet.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Internet Protocols and Support" +msgstr "Інтернет-протоколи та підтримка" + +msgid "" +"The modules described in this chapter implement internet protocols and " +"support for related technology. They are all implemented in Python. Most of " +"these modules require the presence of the system-dependent module :mod:" +"`socket`, which is currently supported on most popular platforms. Here is " +"an overview:" +msgstr "" +"Модулі, описані в цьому розділі, реалізують протоколи Інтернету та " +"підтримують відповідні технології. Усі вони реалізовані на Python. Для " +"більшості цих модулів потрібна наявність системно-залежного модуля :mod:" +"`socket`, який зараз підтримується на більшості популярних платформ. Ось " +"огляд:" diff --git a/library/intro.po b/library/intro.po new file mode 100644 index 000000000..abafdb6b2 --- /dev/null +++ b/library/intro.po @@ -0,0 +1,206 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Introduction" +msgstr "Вступ" + +msgid "The \"Python library\" contains several different kinds of components." +msgstr "\"Бібліотека Python\" містить кілька різних видів компонентів." + +msgid "" +"It contains data types that would normally be considered part of the \"core" +"\" of a language, such as numbers and lists. For these types, the Python " +"language core defines the form of literals and places some constraints on " +"their semantics, but does not fully define the semantics. (On the other " +"hand, the language core does define syntactic properties like the spelling " +"and priorities of operators.)" +msgstr "" +"Він містить типи даних, які зазвичай вважаються частиною \"ядра\" мови, " +"наприклад числа та списки. Для цих типів ядро мови Python визначає форму " +"літералів і накладає деякі обмеження на їх семантику, але не повністю " +"визначає семантику. (З іншого боку, ядро мови визначає синтаксичні " +"властивості, такі як правопис і пріоритети операторів.)" + +msgid "" +"The library also contains built-in functions and exceptions --- objects that " +"can be used by all Python code without the need of an :keyword:`import` " +"statement. Some of these are defined by the core language, but many are not " +"essential for the core semantics and are only described here." +msgstr "" +"Бібліотека також містить вбудовані функції та винятки --- об’єкти, які " +"можуть використовуватися всім кодом Python без необхідності оператора :" +"keyword:`import`. Деякі з них визначені основною мовою, але багато з них не " +"є суттєвими для основної семантики та описані лише тут." + +msgid "" +"The bulk of the library, however, consists of a collection of modules. There " +"are many ways to dissect this collection. Some modules are written in C and " +"built in to the Python interpreter; others are written in Python and " +"imported in source form. Some modules provide interfaces that are highly " +"specific to Python, like printing a stack trace; some provide interfaces " +"that are specific to particular operating systems, such as access to " +"specific hardware; others provide interfaces that are specific to a " +"particular application domain, like the World Wide Web. Some modules are " +"available in all versions and ports of Python; others are only available " +"when the underlying system supports or requires them; yet others are " +"available only when a particular configuration option was chosen at the time " +"when Python was compiled and installed." +msgstr "" +"Основна частина бібліотеки, однак, складається з набору модулів. Є багато " +"способів розібрати цю колекцію. Деякі модулі написані мовою C і вбудовані в " +"інтерпретатор Python; інші написані на Python та імпортовані у вихідній " +"формі. Деякі модулі надають інтерфейси, дуже специфічні для Python, як-от " +"друк трасування стека; деякі надають інтерфейси, які є специфічними для " +"конкретних операційних систем, наприклад доступ до певного апаратного " +"забезпечення; інші надають інтерфейси, які є специфічними для конкретного " +"домену програми, наприклад Всесвітньої павутини. Деякі модулі доступні в " +"усіх версіях і портах Python; інші доступні лише тоді, коли базова система " +"їх підтримує або вимагає; ще інші доступні лише тоді, коли певний параметр " +"конфігурації було вибрано під час компіляції та встановлення Python." + +msgid "" +"This manual is organized \"from the inside out:\" it first describes the " +"built-in functions, data types and exceptions, and finally the modules, " +"grouped in chapters of related modules." +msgstr "" +"Цей посібник організовано \"зсередини назовні\": спочатку в ньому описано " +"вбудовані функції, типи даних і винятки, а нарешті — модулі, згруповані в " +"розділи пов’язаних модулів." + +msgid "" +"This means that if you start reading this manual from the start, and skip to " +"the next chapter when you get bored, you will get a reasonable overview of " +"the available modules and application areas that are supported by the Python " +"library. Of course, you don't *have* to read it like a novel --- you can " +"also browse the table of contents (in front of the manual), or look for a " +"specific function, module or term in the index (in the back). And finally, " +"if you enjoy learning about random subjects, you choose a random page number " +"(see module :mod:`random`) and read a section or two. Regardless of the " +"order in which you read the sections of this manual, it helps to start with " +"chapter :ref:`built-in-funcs`, as the remainder of the manual assumes " +"familiarity with this material." +msgstr "" +"Це означає, що якщо ви почнете читати цей посібник із самого початку та " +"перейдете до наступного розділу, коли вам стане нудно, ви отримаєте розумний " +"огляд доступних модулів і областей застосування, які підтримуються " +"бібліотекою Python. Звичайно, ви не *повинні* читати це як роман --- ви " +"також можете переглянути зміст (перед посібником) або шукати певну функцію, " +"модуль або термін в покажчику (у спина). І, нарешті, якщо вам подобається " +"вивчати випадкові теми, ви обираєте випадковий номер сторінки (дивіться " +"модуль :mod:`random`) і читаєте розділ або два. Незалежно від порядку, в " +"якому ви читаєте розділи цього посібника, корисно почати з розділу :ref:" +"`built-in-funcs`, оскільки решта посібника передбачає знайомство з цим " +"матеріалом." + +msgid "Let the show begin!" +msgstr "Нехай шоу почнеться!" + +msgid "Notes on availability" +msgstr "Примітки щодо наявності" + +msgid "" +"An \"Availability: Unix\" note means that this function is commonly found on " +"Unix systems. It does not make any claims about its existence on a specific " +"operating system." +msgstr "" +"Примітка \"Доступність: Unix\" означає, що ця функція зазвичай зустрічається " +"в системах Unix. Він не робить жодних заяв про його існування в конкретній " +"операційній системі." + +msgid "" +"If not separately noted, all functions that claim \"Availability: Unix\" are " +"supported on macOS, which builds on a Unix core." +msgstr "" +"Якщо не зазначено окремо, усі функції, які заявляють про \"Доступність: Unix" +"\", підтримуються в macOS, яка побудована на ядрі Unix." + +msgid "" +"If an availability note contains both a minimum Kernel version and a minimum " +"libc version, then both conditions must hold. For example a feature with " +"note *Availability: Linux >= 3.17 with glibc >= 2.27* requires both Linux " +"3.17 or newer and glibc 2.27 or newer." +msgstr "" + +msgid "WebAssembly platforms" +msgstr "" + +msgid "" +"The `WebAssembly`_ platforms ``wasm32-emscripten`` (`Emscripten`_) and " +"``wasm32-wasi`` (`WASI`_) provide a subset of POSIX APIs. WebAssembly " +"runtimes and browsers are sandboxed and have limited access to the host and " +"external resources. Any Python standard library module that uses processes, " +"threading, networking, signals, or other forms of inter-process " +"communication (IPC), is either not available or may not work as on other " +"Unix-like systems. File I/O, file system, and Unix permission-related " +"functions are restricted, too. Emscripten does not permit blocking I/O. " +"Other blocking operations like :func:`~time.sleep` block the browser event " +"loop." +msgstr "" + +msgid "" +"The properties and behavior of Python on WebAssembly platforms depend on the " +"`Emscripten`_-SDK or `WASI`_-SDK version, WASM runtimes (browser, NodeJS, " +"`wasmtime`_), and Python build time flags. WebAssembly, Emscripten, and WASI " +"are evolving standards; some features like networking may be supported in " +"the future." +msgstr "" + +msgid "" +"For Python in the browser, users should consider `Pyodide`_ or `PyScript`_. " +"PyScript is built on top of Pyodide, which itself is built on top of CPython " +"and Emscripten. Pyodide provides access to browsers' JavaScript and DOM APIs " +"as well as limited networking capabilities with JavaScript's " +"``XMLHttpRequest`` and ``Fetch`` APIs." +msgstr "" + +msgid "" +"Process-related APIs are not available or always fail with an error. That " +"includes APIs that spawn new processes (:func:`~os.fork`, :func:`~os." +"execve`), wait for processes (:func:`~os.waitpid`), send signals (:func:`~os." +"kill`), or otherwise interact with processes. The :mod:`subprocess` is " +"importable but does not work." +msgstr "" + +msgid "" +"The :mod:`socket` module is available, but is limited and behaves " +"differently from other platforms. On Emscripten, sockets are always non-" +"blocking and require additional JavaScript code and helpers on the server to " +"proxy TCP through WebSockets; see `Emscripten Networking`_ for more " +"information. WASI snapshot preview 1 only permits sockets from an existing " +"file descriptor." +msgstr "" + +msgid "" +"Some functions are stubs that either don't do anything and always return " +"hardcoded values." +msgstr "" + +msgid "" +"Functions related to file descriptors, file permissions, file ownership, and " +"links are limited and don't support some operations. For example, WASI does " +"not permit symlinks with absolute file names." +msgstr "" diff --git a/library/io.po b/library/io.po new file mode 100644 index 000000000..c12ed8269 --- /dev/null +++ b/library/io.po @@ -0,0 +1,1827 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`io` --- Core tools for working with streams" +msgstr ":mod:`io` --- Основні інструменти для роботи з потоками" + +msgid "**Source code:** :source:`Lib/io.py`" +msgstr "**Вихідний код:** :source:`Lib/io.py`" + +msgid "Overview" +msgstr "Огляд" + +msgid "" +"The :mod:`io` module provides Python's main facilities for dealing with " +"various types of I/O. There are three main types of I/O: *text I/O*, " +"*binary I/O* and *raw I/O*. These are generic categories, and various " +"backing stores can be used for each of them. A concrete object belonging to " +"any of these categories is called a :term:`file object`. Other common terms " +"are *stream* and *file-like object*." +msgstr "" +"Модуль :mod:`io` надає основні можливості Python для роботи з різними типами " +"введення-виведення. Існує три основні типи введення-виведення: *текстовий " +"ввід-вивід*, *бінарний ввід-вивід* і *необроблений ввід-вивід*. Це загальні " +"категорії, і для кожної з них можна використовувати різні резервні сховища. " +"Конкретний об’єкт, що належить до будь-якої з цих категорій, називається :" +"term:`file object`. Іншими поширеними термінами є *потік* і *файлоподібний " +"об’єкт*." + +msgid "" +"Independent of its category, each concrete stream object will also have " +"various capabilities: it can be read-only, write-only, or read-write. It can " +"also allow arbitrary random access (seeking forwards or backwards to any " +"location), or only sequential access (for example in the case of a socket or " +"pipe)." +msgstr "" +"Незалежно від категорії, кожен конкретний об’єкт потоку також матиме різні " +"можливості: він може бути лише для читання, лише для запису або для читання-" +"запису. Він також може дозволити довільний довільний доступ (пошук вперед " +"або назад до будь-якого місця) або лише послідовний доступ (наприклад, у " +"випадку розетки чи труби)." + +msgid "" +"All streams are careful about the type of data you give to them. For " +"example giving a :class:`str` object to the ``write()`` method of a binary " +"stream will raise a :exc:`TypeError`. So will giving a :class:`bytes` " +"object to the ``write()`` method of a text stream." +msgstr "" +"Усі потоки уважно ставляться до типу даних, які ви їм надаєте. Наприклад, " +"якщо додати об’єкт :class:`str` до методу ``write()`` бінарного потоку, " +"виникне :exc:`TypeError`. Так само буде передано об’єкт :class:`bytes` " +"методу ``write()`` текстового потоку." + +msgid "" +"Operations that used to raise :exc:`IOError` now raise :exc:`OSError`, " +"since :exc:`IOError` is now an alias of :exc:`OSError`." +msgstr "" +"Операції, які раніше викликали :exc:`IOError`, тепер викликають :exc:" +"`OSError`, оскільки :exc:`IOError` тепер є псевдонімом :exc:`OSError`." + +msgid "Text I/O" +msgstr "Текстовий ввід/вивід" + +msgid "" +"Text I/O expects and produces :class:`str` objects. This means that " +"whenever the backing store is natively made of bytes (such as in the case of " +"a file), encoding and decoding of data is made transparently as well as " +"optional translation of platform-specific newline characters." +msgstr "" +"Текстовий ввід-вивід очікує та створює об’єкти :class:`str`. Це означає, що " +"щоразу, коли резервне сховище спочатку складається з байтів (наприклад, у " +"випадку файлу), кодування та декодування даних здійснюється прозоро, а також " +"необов’язковий переклад символів нового рядка, характерних для платформи." + +msgid "" +"The easiest way to create a text stream is with :meth:`open()`, optionally " +"specifying an encoding::" +msgstr "" +"Найпростіший спосіб створити текстовий потік за допомогою :meth:`open()`, " +"додатково вказавши кодування::" + +msgid "" +"In-memory text streams are also available as :class:`StringIO` objects::" +msgstr "" +"Текстові потоки в пам’яті також доступні як об’єкти :class:`StringIO`::" + +msgid "" +"The text stream API is described in detail in the documentation of :class:" +"`TextIOBase`." +msgstr "" +"API текстового потоку детально описано в документації :class:`TextIOBase`." + +msgid "Binary I/O" +msgstr "Бінарний ввід-вивід" + +msgid "" +"Binary I/O (also called *buffered I/O*) expects :term:`bytes-like objects " +"` and produces :class:`bytes` objects. No encoding, " +"decoding, or newline translation is performed. This category of streams can " +"be used for all kinds of non-text data, and also when manual control over " +"the handling of text data is desired." +msgstr "" +"Двійковий ввід-вивід (також званий *буферизований ввід-вивід*) очікує :term:" +"`байт-подібні об'єкти ` і створює об’єкти :class:`bytes`. " +"Кодування, декодування чи переклад нового рядка не виконується. Цю категорію " +"потоків можна використовувати для всіх видів нетекстових даних, а також, " +"коли потрібне ручне керування обробкою текстових даних." + +msgid "" +"The easiest way to create a binary stream is with :meth:`open()` with " +"``'b'`` in the mode string::" +msgstr "" +"Найпростіший спосіб створити двійковий потік за допомогою :meth:`open()` з " +"``'b'`` у рядку режиму::" + +msgid "" +"In-memory binary streams are also available as :class:`BytesIO` objects::" +msgstr "Двійкові потоки в пам’яті також доступні як об’єкти :class:`BytesIO`::" + +msgid "" +"The binary stream API is described in detail in the docs of :class:" +"`BufferedIOBase`." +msgstr "" +"API бінарного потоку детально описано в документах :class:`BufferedIOBase`." + +msgid "" +"Other library modules may provide additional ways to create text or binary " +"streams. See :meth:`socket.socket.makefile` for example." +msgstr "" +"Інші бібліотечні модулі можуть надавати додаткові способи створення " +"текстових або бінарних потоків. Дивіться, наприклад, :meth:`socket.socket." +"makefile`." + +msgid "Raw I/O" +msgstr "Необроблений ввід-вивід" + +msgid "" +"Raw I/O (also called *unbuffered I/O*) is generally used as a low-level " +"building-block for binary and text streams; it is rarely useful to directly " +"manipulate a raw stream from user code. Nevertheless, you can create a raw " +"stream by opening a file in binary mode with buffering disabled::" +msgstr "" +"Необроблений ввід-вивід (також званий *небуферизований ввід-вивід*) зазвичай " +"використовується як низькорівневий будівельний блок для двійкових і " +"текстових потоків; рідко буває корисним безпосередньо маніпулювати " +"необробленим потоком із коду користувача. Тим не менш, ви можете створити " +"необроблений потік, відкривши файл у бінарному режимі з вимкненою " +"буферизацією:" + +msgid "" +"The raw stream API is described in detail in the docs of :class:`RawIOBase`." +msgstr "" +"API необробленого потоку детально описано в документах :class:`RawIOBase`." + +msgid "Text Encoding" +msgstr "Кодування тексту" + +msgid "" +"The default encoding of :class:`TextIOWrapper` and :func:`open` is locale-" +"specific (:func:`locale.getencoding`)." +msgstr "" + +msgid "" +"However, many developers forget to specify the encoding when opening text " +"files encoded in UTF-8 (e.g. JSON, TOML, Markdown, etc...) since most Unix " +"platforms use UTF-8 locale by default. This causes bugs because the locale " +"encoding is not UTF-8 for most Windows users. For example::" +msgstr "" +"Однак багато розробників забувають вказати кодування під час відкриття " +"текстових файлів, закодованих у UTF-8 (наприклад, JSON, TOML, Markdown " +"тощо), оскільки більшість платформ Unix за умовчанням використовують локаль " +"UTF-8. Це спричиняє помилки, оскільки кодування мови не є UTF-8 для " +"більшості користувачів Windows. Наприклад::" + +msgid "" +"Accordingly, it is highly recommended that you specify the encoding " +"explicitly when opening text files. If you want to use UTF-8, pass " +"``encoding=\"utf-8\"``. To use the current locale encoding, ``encoding=" +"\"locale\"`` is supported since Python 3.10." +msgstr "" + +msgid ":ref:`utf8-mode`" +msgstr "" + +msgid "" +"Python UTF-8 Mode can be used to change the default encoding to UTF-8 from " +"locale-specific encoding." +msgstr "" + +msgid ":pep:`686`" +msgstr "" + +msgid "Python 3.15 will make :ref:`utf8-mode` default." +msgstr "" + +msgid "Opt-in EncodingWarning" +msgstr "Увімкніть EncodingWarning" + +msgid "See :pep:`597` for more details." +msgstr "Дивіться :pep:`597` для більш детальної інформації." + +msgid "" +"To find where the default locale encoding is used, you can enable the ``-X " +"warn_default_encoding`` command line option or set the :envvar:" +"`PYTHONWARNDEFAULTENCODING` environment variable, which will emit an :exc:" +"`EncodingWarning` when the default encoding is used." +msgstr "" +"Щоб дізнатися, де використовується кодування мови за замовчуванням, ви " +"можете ввімкнути параметр командного рядка ``-X warn_default_encoding`` або " +"встановити змінну середовища :envvar:`PYTHONWARNDEFAULTENCODING`, яка " +"видасть :exc:`EncodingWarning`, коли кодування за замовчуванням " +"використовується." + +msgid "" +"If you are providing an API that uses :func:`open` or :class:`TextIOWrapper` " +"and passes ``encoding=None`` as a parameter, you can use :func:" +"`text_encoding` so that callers of the API will emit an :exc:" +"`EncodingWarning` if they don't pass an ``encoding``. However, please " +"consider using UTF-8 by default (i.e. ``encoding=\"utf-8\"``) for new APIs." +msgstr "" +"Якщо ви надаєте API, який використовує :func:`open` або :class:" +"`TextIOWrapper` і передає ``encoding=None`` як параметр, ви можете " +"використовувати :func:`text_encoding`, щоб абоненти API могли видають :exc:" +"`EncodingWarning`, якщо вони не передають ``encoding``. Однак розгляньте " +"можливість використання UTF-8 за умовчанням (тобто ``encoding=\"utf-8\"``) " +"для нових API." + +msgid "High-level Module Interface" +msgstr "Інтерфейс модуля високого рівня" + +msgid "" +"An int containing the default buffer size used by the module's buffered I/O " +"classes. :func:`open` uses the file's blksize (as obtained by :func:`os." +"stat`) if possible." +msgstr "" +"Int, що містить стандартний розмір буфера, який використовується " +"буферизованими класами вводу-виводу модуля. :func:`open` використовує " +"blksize файлу (отриманий :func:`os.stat`), якщо це можливо." + +msgid "This is an alias for the builtin :func:`open` function." +msgstr "Це псевдонім вбудованої функції :func:`open`." + +msgid "" +"Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " +"``mode``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``open`` з аргументами ``path``, " +"``mode``, ``flags``." + +msgid "" +"This function raises an :ref:`auditing event ` ``open`` with " +"arguments ``path``, ``mode`` and ``flags``. The ``mode`` and ``flags`` " +"arguments may have been modified or inferred from the original call." +msgstr "" +"Ця функція викликає :ref:`подію аудиту ` ``open`` з аргументами " +"``path``, ``mode`` і ``flags``. Аргументи ``mode`` і ``flags`` могли бути " +"змінені або виведені з початкового виклику." + +msgid "" +"Opens the provided file with mode ``'rb'``. This function should be used " +"when the intent is to treat the contents as executable code." +msgstr "" +"Відкриває наданий файл у режимі ``'rb``. Цю функцію слід використовувати, " +"коли мається на меті розглядати вміст як виконуваний код." + +msgid "``path`` should be a :class:`str` and an absolute path." +msgstr "``path`` має бути :class:`str` і абсолютним шляхом." + +msgid "" +"The behavior of this function may be overridden by an earlier call to the :c:" +"func:`PyFile_SetOpenCodeHook`. However, assuming that ``path`` is a :class:" +"`str` and an absolute path, ``open_code(path)`` should always behave the " +"same as ``open(path, 'rb')``. Overriding the behavior is intended for " +"additional validation or preprocessing of the file." +msgstr "" +"Поведінка цієї функції може бути замінена попереднім викликом :c:func:" +"`PyFile_SetOpenCodeHook`. Однак, припускаючи, що ``path`` є :class:`str` і " +"абсолютним шляхом, ``open_code(path)`` завжди повинен поводитися так само, " +"як ``open(path, 'rb')``. Перевизначення поведінки призначене для додаткової " +"перевірки або попередньої обробки файлу." + +msgid "" +"This is a helper function for callables that use :func:`open` or :class:" +"`TextIOWrapper` and have an ``encoding=None`` parameter." +msgstr "" +"Це допоміжна функція для викликів, які використовують :func:`open` або :" +"class:`TextIOWrapper` і мають параметр ``encoding=None``." + +msgid "" +"This function returns *encoding* if it is not ``None``. Otherwise, it " +"returns ``\"locale\"`` or ``\"utf-8\"`` depending on :ref:`UTF-8 Mode `." +msgstr "" + +msgid "" +"This function emits an :class:`EncodingWarning` if :data:`sys.flags." +"warn_default_encoding ` is true and *encoding* is ``None``. " +"*stacklevel* specifies where the warning is emitted. For example::" +msgstr "" + +msgid "" +"In this example, an :class:`EncodingWarning` is emitted for the caller of " +"``read_text()``." +msgstr "" +"У цьому прикладі :class:`EncodingWarning` видається для викликаючого " +"``read_text()``." + +msgid "See :ref:`io-text-encoding` for more information." +msgstr "" +"Перегляньте :ref:`io-text-encoding` для отримання додаткової інформації." + +msgid "" +":func:`text_encoding` returns \"utf-8\" when UTF-8 mode is enabled and " +"*encoding* is ``None``." +msgstr "" + +msgid "" +"This is a compatibility alias for the builtin :exc:`BlockingIOError` " +"exception." +msgstr "" +"Це псевдонім сумісності для вбудованого винятку :exc:`BlockingIOError`." + +msgid "" +"An exception inheriting :exc:`OSError` and :exc:`ValueError` that is raised " +"when an unsupported operation is called on a stream." +msgstr "" +"Виняток, що успадковує :exc:`OSError` і :exc:`ValueError`, який виникає, " +"коли в потоці викликається непідтримувана операція." + +msgid ":mod:`sys`" +msgstr ":mod:`sys`" + +msgid "" +"contains the standard IO streams: :data:`sys.stdin`, :data:`sys.stdout`, " +"and :data:`sys.stderr`." +msgstr "" +"містить стандартні потоки вводу-виводу: :data:`sys.stdin`, :data:`sys." +"stdout` і :data:`sys.stderr`." + +msgid "Class hierarchy" +msgstr "Ієрархія класів" + +msgid "" +"The implementation of I/O streams is organized as a hierarchy of classes. " +"First :term:`abstract base classes ` (ABCs), which are " +"used to specify the various categories of streams, then concrete classes " +"providing the standard stream implementations." +msgstr "" +"Реалізація потоків введення-виведення організована як ієрархія класів. " +"Спочатку :term:`абстрактні базові класи ` (ABC), які " +"використовуються для визначення різних категорій потоків, потім конкретні " +"класи, що забезпечують реалізацію стандартних потоків." + +msgid "" +"The abstract base classes also provide default implementations of some " +"methods in order to help implementation of concrete stream classes. For " +"example, :class:`BufferedIOBase` provides unoptimized implementations of :" +"meth:`~IOBase.readinto` and :meth:`~IOBase.readline`." +msgstr "" +"Абстрактні базові класи також забезпечують реалізацію за замовчуванням " +"деяких методів, щоб допомогти реалізації конкретних класів потоку. " +"Наприклад, :class:`BufferedIOBase` забезпечує неоптимізовану реалізацію :" +"meth:`~IOBase.readinto` і :meth:`~IOBase.readline`." + +msgid "" +"At the top of the I/O hierarchy is the abstract base class :class:`IOBase`. " +"It defines the basic interface to a stream. Note, however, that there is no " +"separation between reading and writing to streams; implementations are " +"allowed to raise :exc:`UnsupportedOperation` if they do not support a given " +"operation." +msgstr "" +"На вершині ієрархії введення-виведення знаходиться абстрактний базовий клас :" +"class:`IOBase`. Він визначає базовий інтерфейс для потоку. Зауважте, однак, " +"що немає розділення між читанням і записом у потоки; реалізаціям дозволено " +"викликати :exc:`UnsupportedOperation`, якщо вони не підтримують дану " +"операцію." + +msgid "" +"The :class:`RawIOBase` ABC extends :class:`IOBase`. It deals with the " +"reading and writing of bytes to a stream. :class:`FileIO` subclasses :class:" +"`RawIOBase` to provide an interface to files in the machine's file system." +msgstr "" +":class:`RawIOBase` ABC розширює :class:`IOBase`. Він займається читанням і " +"записом байтів у потік. :class:`FileIO` підкласи :class:`RawIOBase` для " +"надання інтерфейсу до файлів у файловій системі машини." + +msgid "" +"The :class:`BufferedIOBase` ABC extends :class:`IOBase`. It deals with " +"buffering on a raw binary stream (:class:`RawIOBase`). Its subclasses, :" +"class:`BufferedWriter`, :class:`BufferedReader`, and :class:`BufferedRWPair` " +"buffer raw binary streams that are writable, readable, and both readable and " +"writable, respectively. :class:`BufferedRandom` provides a buffered " +"interface to seekable streams. Another :class:`BufferedIOBase` subclass, :" +"class:`BytesIO`, is a stream of in-memory bytes." +msgstr "" + +msgid "" +"The :class:`TextIOBase` ABC extends :class:`IOBase`. It deals with streams " +"whose bytes represent text, and handles encoding and decoding to and from " +"strings. :class:`TextIOWrapper`, which extends :class:`TextIOBase`, is a " +"buffered text interface to a buffered raw stream (:class:`BufferedIOBase`). " +"Finally, :class:`StringIO` is an in-memory stream for text." +msgstr "" +":class:`TextIOBase` ABC розширює :class:`IOBase`. Він має справу з потоками, " +"байти яких представляють текст, і обробляє кодування та декодування до та з " +"рядків. :class:`TextIOWrapper`, який розширює :class:`TextIOBase`, є " +"буферизованим текстовим інтерфейсом для буферизованого необробленого потоку " +"(:class:`BufferedIOBase`). Нарешті, :class:`StringIO` — це потік тексту в " +"пам’яті." + +msgid "" +"Argument names are not part of the specification, and only the arguments of :" +"func:`open` are intended to be used as keyword arguments." +msgstr "" +"Назви аргументів не є частиною специфікації, і лише аргументи :func:`open` " +"призначені для використання як аргументи ключових слів." + +msgid "" +"The following table summarizes the ABCs provided by the :mod:`io` module:" +msgstr "" +"У наведеній нижче таблиці підсумовуються азбуки, надані модулем :mod:`io`:" + +msgid "ABC" +msgstr "ABC" + +msgid "Inherits" +msgstr "Успадковує" + +msgid "Stub Methods" +msgstr "Методи заглушки" + +msgid "Mixin Methods and Properties" +msgstr "Методи та властивості Міксіна" + +msgid ":class:`IOBase`" +msgstr ":class:`IOBase`" + +msgid "``fileno``, ``seek``, and ``truncate``" +msgstr "``fileno``, ``seek`` і ``truncate``" + +msgid "" +"``close``, ``closed``, ``__enter__``, ``__exit__``, ``flush``, ``isatty``, " +"``__iter__``, ``__next__``, ``readable``, ``readline``, ``readlines``, " +"``seekable``, ``tell``, ``writable``, and ``writelines``" +msgstr "" +"``close``, ``closed``, ``__enter__``, ``__exit__``, ``flush``, ``isatty``, " +"``__iter__``, ``__next__``, ``readable``, ``readline``, ``readlines``, " +"``seekable``, ``tell``, ``writable`` і ``writelines``" + +msgid ":class:`RawIOBase`" +msgstr ":class:`RawIOBase`" + +msgid "``readinto`` and ``write``" +msgstr "``readinto`` і ``write``" + +msgid "Inherited :class:`IOBase` methods, ``read``, and ``readall``" +msgstr "Успадковані методи :class:`IOBase`, ``read`` і ``readall``" + +msgid ":class:`BufferedIOBase`" +msgstr ":class:`BufferedIOBase`" + +msgid "``detach``, ``read``, ``read1``, and ``write``" +msgstr "``detach``, ``read``, ``read1`` і ``write``" + +msgid "Inherited :class:`IOBase` methods, ``readinto``, and ``readinto1``" +msgstr "Успадковані методи :class:`IOBase`, ``readinto`` і ``readinto1``" + +msgid ":class:`TextIOBase`" +msgstr ":class:`TextIOBase`" + +msgid "``detach``, ``read``, ``readline``, and ``write``" +msgstr "``detach``, ``read``, ``readline`` і ``write``" + +msgid "" +"Inherited :class:`IOBase` methods, ``encoding``, ``errors``, and ``newlines``" +msgstr "" +"Успадковані методи :class:`IOBase`, ``encoding``, ``errors`` та ``newlines``" + +msgid "I/O Base Classes" +msgstr "Базові класи введення/виведення" + +msgid "The abstract base class for all I/O classes." +msgstr "Абстрактний базовий клас для всіх класів введення-виведення." + +msgid "" +"This class provides empty abstract implementations for many methods that " +"derived classes can override selectively; the default implementations " +"represent a file that cannot be read, written or seeked." +msgstr "" +"Цей клас забезпечує порожні абстрактні реалізації для багатьох методів, які " +"похідні класи можуть вибірково перевизначати; реалізація за замовчуванням " +"представляє файл, який не можна прочитати, записати або шукати." + +msgid "" +"Even though :class:`IOBase` does not declare :meth:`read` or :meth:`write` " +"because their signatures will vary, implementations and clients should " +"consider those methods part of the interface. Also, implementations may " +"raise a :exc:`ValueError` (or :exc:`UnsupportedOperation`) when operations " +"they do not support are called." +msgstr "" +"Незважаючи на те, що :class:`IOBase` не оголошує :meth:`read` або :meth:" +"`write`, оскільки їхні підписи відрізнятимуться, реалізація та клієнти " +"повинні розглядати ці методи як частину інтерфейсу. Крім того, реалізації " +"можуть викликати помилку :exc:`ValueError` (або :exc:" +"`UnsupportedOperation`), коли викликаються операції, які вони не підтримують." + +msgid "" +"The basic type used for binary data read from or written to a file is :class:" +"`bytes`. Other :term:`bytes-like objects ` are accepted " +"as method arguments too. Text I/O classes work with :class:`str` data." +msgstr "" +"Основний тип, який використовується для зчитування чи запису у файл " +"двійкових даних, це :class:`bytes`. Інші :term:`байтоподібні об’єкти ` також приймаються як аргументи методу. Текстові класи введення/" +"виведення працюють з даними :class:`str`." + +msgid "" +"Note that calling any method (even inquiries) on a closed stream is " +"undefined. Implementations may raise :exc:`ValueError` in this case." +msgstr "" +"Зверніть увагу, що виклик будь-якого методу (навіть запитів) у закритому " +"потоці не визначений. У цьому випадку реалізації можуть викликати :exc:" +"`ValueError`." + +msgid "" +":class:`IOBase` (and its subclasses) supports the iterator protocol, meaning " +"that an :class:`IOBase` object can be iterated over yielding the lines in a " +"stream. Lines are defined slightly differently depending on whether the " +"stream is a binary stream (yielding bytes), or a text stream (yielding " +"character strings). See :meth:`~IOBase.readline` below." +msgstr "" +":class:`IOBase` (та його підкласи) підтримує протокол ітератора, що означає, " +"що об’єкт :class:`IOBase` може повторюватися, повертаючи рядки в потік. " +"Рядки визначаються дещо по-різному залежно від того, чи є потік двійковим " +"потоком (передає байти) чи текстовим потоком (передає рядки символів). Див. :" +"meth:`~IOBase.readline` нижче." + +msgid "" +":class:`IOBase` is also a context manager and therefore supports the :" +"keyword:`with` statement. In this example, *file* is closed after the :" +"keyword:`!with` statement's suite is finished---even if an exception occurs::" +msgstr "" +":class:`IOBase` також є контекстним менеджером і тому підтримує оператор :" +"keyword:`with`. У цьому прикладі *файл* закривається після завершення набору " +"інструкцій :keyword:`!with` --- навіть якщо виникає виняток::" + +msgid ":class:`IOBase` provides these data attributes and methods:" +msgstr ":class:`IOBase` надає такі атрибути даних і методи:" + +msgid "" +"Flush and close this stream. This method has no effect if the file is " +"already closed. Once the file is closed, any operation on the file (e.g. " +"reading or writing) will raise a :exc:`ValueError`." +msgstr "" +"Промийте та закрийте цей потік. Цей метод не діє, якщо файл уже закрито. " +"Після закриття файлу будь-яка операція з файлом (наприклад, читання або " +"запис) викличе :exc:`ValueError`." + +msgid "" +"As a convenience, it is allowed to call this method more than once; only the " +"first call, however, will have an effect." +msgstr "" +"Для зручності цей метод можна викликати кілька разів; але лише перший " +"дзвінок матиме ефект." + +msgid "``True`` if the stream is closed." +msgstr "``True``, якщо потік закрито." + +msgid "" +"Return the underlying file descriptor (an integer) of the stream if it " +"exists. An :exc:`OSError` is raised if the IO object does not use a file " +"descriptor." +msgstr "" +"Повертає базовий дескриптор файлу (ціле число) потоку, якщо він існує. :exc:" +"`OSError` виникає, якщо об’єкт IO не використовує дескриптор файлу." + +msgid "" +"Flush the write buffers of the stream if applicable. This does nothing for " +"read-only and non-blocking streams." +msgstr "" +"Очистіть буфери запису потоку, якщо це можливо. Це нічого не робить для " +"потоків лише для читання та неблокуючих потоків." + +msgid "" +"Return ``True`` if the stream is interactive (i.e., connected to a terminal/" +"tty device)." +msgstr "" +"Повертає ``True``, якщо потік інтерактивний (тобто підключений до терміналу/" +"пристрою tty)." + +msgid "" +"Return ``True`` if the stream can be read from. If ``False``, :meth:`read` " +"will raise :exc:`OSError`." +msgstr "" +"Повертає ``True``, якщо потік можна прочитати. Якщо ``False``, :meth:`read` " +"викличе :exc:`OSError`." + +msgid "" +"Read and return one line from the stream. If *size* is specified, at most " +"*size* bytes will be read." +msgstr "" +"Прочитайте та поверніть один рядок із потоку. Якщо вказано *size*, буде " +"прочитано не більше *size* байтів." + +msgid "" +"The line terminator is always ``b'\\n'`` for binary files; for text files, " +"the *newline* argument to :func:`open` can be used to select the line " +"terminator(s) recognized." +msgstr "" +"Для бінарних файлів символом закінчення рядка є завжди ``b'\\n'``; для " +"текстових файлів аргумент *новий рядок* для :func:`open` може бути " +"використаний для вибору розпізнаного символу закінчення рядка." + +msgid "" +"Read and return a list of lines from the stream. *hint* can be specified to " +"control the number of lines read: no more lines will be read if the total " +"size (in bytes/characters) of all lines so far exceeds *hint*." +msgstr "" +"Читання та повернення списку рядків із потоку. Можна вказати *hint*, щоб " +"контролювати кількість прочитаних рядків: рядки більше не читатимуться, якщо " +"загальний розмір (у байтах/символах) усіх рядків на даний момент перевищує " +"*hint*." + +msgid "" +"*hint* values of ``0`` or less, as well as ``None``, are treated as no hint." +msgstr "" +"Значення *hint* ``0`` або менше, а також ``None``, розглядаються як " +"відсутність підказки." + +msgid "" +"Note that it's already possible to iterate on file objects using ``for line " +"in file: ...`` without calling ``file.readlines()``." +msgstr "" +"Зауважте, що вже можна виконувати ітерацію файлових об’єктів за допомогою " +"``for line in file: ...`` без виклику ``file.readlines()``." + +msgid "" +"Change the stream position to the given byte *offset*. *offset* is " +"interpreted relative to the position indicated by *whence*. The default " +"value for *whence* is :data:`SEEK_SET`. Values for *whence* are:" +msgstr "" +"Змініть позицію потоку на заданий байт *offset*. *зміщення* інтерпретується " +"відносно позиції, зазначеної *звідки*. Значенням за замовчуванням для " +"*whence* є :data:`SEEK_SET`. Значення для *whence* такі:" + +msgid "" +":data:`SEEK_SET` or ``0`` -- start of the stream (the default); *offset* " +"should be zero or positive" +msgstr "" +":data:`SEEK_SET` або ``0`` -- початок потоку (за умовчанням); *offset* має " +"бути нульовим або позитивним" + +msgid "" +":data:`SEEK_CUR` or ``1`` -- current stream position; *offset* may be " +"negative" +msgstr "" +":data:`SEEK_CUR` або ``1`` -- поточна позиція потоку; *offset* може бути " +"негативним" + +msgid "" +":data:`SEEK_END` or ``2`` -- end of the stream; *offset* is usually negative" +msgstr "" +":data:`SEEK_END` або ``2`` -- кінець потоку; *зсув* зазвичай негативний" + +msgid "Return the new absolute position." +msgstr "Поверніть нову абсолютну позицію." + +msgid "The ``SEEK_*`` constants." +msgstr "Константи ``SEEK_*``." + +msgid "" +"Some operating systems could support additional values, like :data:`os." +"SEEK_HOLE` or :data:`os.SEEK_DATA`. The valid values for a file could depend " +"on it being open in text or binary mode." +msgstr "" +"Деякі операційні системи можуть підтримувати додаткові значення, наприклад :" +"data:`os.SEEK_HOLE` або :data:`os.SEEK_DATA`. Дійсні значення для файлу " +"можуть залежати від того, чи він відкритий у текстовому чи двійковому режимі." + +msgid "" +"Return ``True`` if the stream supports random access. If ``False``, :meth:" +"`seek`, :meth:`tell` and :meth:`truncate` will raise :exc:`OSError`." +msgstr "" +"Повертає ``True``, якщо потік підтримує довільний доступ. Якщо ``False``, :" +"meth:`seek`, :meth:`tell` і :meth:`truncate` викличуть :exc:`OSError`." + +msgid "Return the current stream position." +msgstr "Повернути поточну позицію потоку." + +msgid "" +"Resize the stream to the given *size* in bytes (or the current position if " +"*size* is not specified). The current stream position isn't changed. This " +"resizing can extend or reduce the current file size. In case of extension, " +"the contents of the new file area depend on the platform (on most systems, " +"additional bytes are zero-filled). The new file size is returned." +msgstr "" +"Змініть розмір потоку до вказаного *size* у байтах (або поточної позиції, " +"якщо *size* не вказано). Поточна позиція потоку не змінена. Ця зміна розміру " +"може збільшити або зменшити поточний розмір файлу. У разі розширення вміст " +"нової файлової області залежить від платформи (у більшості систем додаткові " +"байти заповнюються нулями). Повернеться новий розмір файлу." + +msgid "Windows will now zero-fill files when extending." +msgstr "Windows тепер заповнюватиме файли нулем під час розширення." + +msgid "" +"Return ``True`` if the stream supports writing. If ``False``, :meth:`write` " +"and :meth:`truncate` will raise :exc:`OSError`." +msgstr "" +"Повертає ``True``, якщо потік підтримує запис. Якщо ``False``, :meth:`write` " +"і :meth:`truncate` викличуть :exc:`OSError`." + +msgid "" +"Write a list of lines to the stream. Line separators are not added, so it " +"is usual for each of the lines provided to have a line separator at the end." +msgstr "" +"Напишіть список рядків у потік. Роздільники рядків не додаються, тому " +"зазвичай для кожного з наданих рядків є роздільник рядків у кінці." + +msgid "" +"Prepare for object destruction. :class:`IOBase` provides a default " +"implementation of this method that calls the instance's :meth:`~IOBase." +"close` method." +msgstr "" +"Підготуйтеся до руйнування об'єкта. :class:`IOBase` забезпечує реалізацію " +"цього методу за замовчуванням, яка викликає метод екземпляра :meth:`~IOBase." +"close`." + +msgid "Base class for raw binary streams. It inherits :class:`IOBase`." +msgstr "" +"Базовий клас для необроблених бінарних потоків. Він успадковує :class:" +"`IOBase`." + +msgid "" +"Raw binary streams typically provide low-level access to an underlying OS " +"device or API, and do not try to encapsulate it in high-level primitives " +"(this functionality is done at a higher-level in buffered binary streams and " +"text streams, described later in this page)." +msgstr "" +"Необроблені двійкові потоки зазвичай забезпечують низькорівневий доступ до " +"базового пристрою ОС або API, і не намагаються інкапсулювати його в " +"примітивах високого рівня (ця функція виконується на більш високому рівні в " +"буферизованих двійкових потоках і текстових потоках, описаних далі в ця " +"сторінка)." + +msgid "" +":class:`RawIOBase` provides these methods in addition to those from :class:" +"`IOBase`:" +msgstr "" +":class:`RawIOBase` надає ці методи на додаток до методів з :class:`IOBase`:" + +msgid "" +"Read up to *size* bytes from the object and return them. As a convenience, " +"if *size* is unspecified or -1, all bytes until EOF are returned. Otherwise, " +"only one system call is ever made. Fewer than *size* bytes may be returned " +"if the operating system call returns fewer than *size* bytes." +msgstr "" +"Прочитати до *size* байтів з об’єкта та повернути їх. Для зручності, якщо " +"*size* не вказано або -1, повертаються всі байти до EOF. В іншому випадку " +"буде зроблено лише один системний виклик. Якщо виклик операційної системи " +"повертає менше *size* байтів, може бути повернуто менше ніж *size* байт." + +msgid "" +"If 0 bytes are returned, and *size* was not 0, this indicates end of file. " +"If the object is in non-blocking mode and no bytes are available, ``None`` " +"is returned." +msgstr "" +"Якщо повертається 0 байтів, а *size* не дорівнює 0, це вказує на кінець " +"файлу. Якщо об’єкт перебуває в неблокуючому режимі і немає доступних байтів, " +"повертається \"Немає\"." + +msgid "" +"The default implementation defers to :meth:`readall` and :meth:`readinto`." +msgstr "" +"Реалізація за замовчуванням відноситься до :meth:`readall` і :meth:" +"`readinto`." + +msgid "" +"Read and return all the bytes from the stream until EOF, using multiple " +"calls to the stream if necessary." +msgstr "" +"Прочитати та повернути всі байти з потоку до EOF, використовуючи кілька " +"викликів потоку, якщо необхідно." + +msgid "" +"Read bytes into a pre-allocated, writable :term:`bytes-like object` *b*, and " +"return the number of bytes read. For example, *b* might be a :class:" +"`bytearray`. If the object is in non-blocking mode and no bytes are " +"available, ``None`` is returned." +msgstr "" +"Читання байтів у попередньо виділений записуваний :term:`bytes-like object` " +"*b* і повернення кількості прочитаних байтів. Наприклад, *b* може бути :" +"class:`bytearray`. Якщо об’єкт перебуває в неблокуючому режимі і немає " +"доступних байтів, повертається \"Немає\"." + +msgid "" +"Write the given :term:`bytes-like object`, *b*, to the underlying raw " +"stream, and return the number of bytes written. This can be less than the " +"length of *b* in bytes, depending on specifics of the underlying raw stream, " +"and especially if it is in non-blocking mode. ``None`` is returned if the " +"raw stream is set not to block and no single byte could be readily written " +"to it. The caller may release or mutate *b* after this method returns, so " +"the implementation should only access *b* during the method call." +msgstr "" +"Запишіть заданий :term:`bytes-like object`, *b*, до базового необробленого " +"потоку та поверніть кількість записаних байтів. Це може бути менше, ніж " +"довжина *b* в байтах, залежно від специфіки базового необробленого потоку, " +"особливо якщо він знаходиться в неблокуючому режимі. ``None`` повертається, " +"якщо необроблений потік налаштовано на неблокування і жоден байт не може " +"бути легко записаний до нього. Виклик може звільнити або змінити *b* після " +"повернення цього методу, тому реалізація має звертатися до *b* лише під час " +"виклику методу." + +msgid "" +"Base class for binary streams that support some kind of buffering. It " +"inherits :class:`IOBase`." +msgstr "" +"Базовий клас для бінарних потоків, які підтримують певний вид буферизації. " +"Він успадковує :class:`IOBase`." + +msgid "" +"The main difference with :class:`RawIOBase` is that methods :meth:`read`, :" +"meth:`readinto` and :meth:`write` will try (respectively) to read as much " +"input as requested or to consume all given output, at the expense of making " +"perhaps more than one system call." +msgstr "" +"Основна відмінність від :class:`RawIOBase` полягає в тому, що методи :meth:" +"`read`, :meth:`readinto` і :meth:`write` намагатимуться (відповідно) " +"прочитати стільки вхідних даних, скільки запитувано, або споживати всі дані " +"вихід, за рахунок здійснення, можливо, більше одного системного виклику." + +msgid "" +"In addition, those methods can raise :exc:`BlockingIOError` if the " +"underlying raw stream is in non-blocking mode and cannot take or give enough " +"data; unlike their :class:`RawIOBase` counterparts, they will never return " +"``None``." +msgstr "" +"Крім того, ці методи можуть викликати :exc:`BlockingIOError`, якщо базовий " +"необроблений потік перебуває в неблокуючому режимі та не може прийняти або " +"надати достатньо даних; на відміну від своїх аналогів :class:`RawIOBase`, " +"вони ніколи не повернуть ``None``." + +msgid "" +"Besides, the :meth:`read` method does not have a default implementation that " +"defers to :meth:`readinto`." +msgstr "" +"Крім того, метод :meth:`read` не має реалізації за замовчуванням, яка " +"відповідає :meth:`readinto`." + +msgid "" +"A typical :class:`BufferedIOBase` implementation should not inherit from a :" +"class:`RawIOBase` implementation, but wrap one, like :class:`BufferedWriter` " +"and :class:`BufferedReader` do." +msgstr "" +"Типова реалізація :class:`BufferedIOBase` не повинна успадковувати " +"реалізацію :class:`RawIOBase`, а повинна обгортати її, як це роблять :class:" +"`BufferedWriter` і :class:`BufferedReader`." + +msgid "" +":class:`BufferedIOBase` provides or overrides these data attributes and " +"methods in addition to those from :class:`IOBase`:" +msgstr "" +":class:`BufferedIOBase` надає або замінює ці атрибути та методи даних на " +"додачу до тих, що є в :class:`IOBase`:" + +msgid "" +"The underlying raw stream (a :class:`RawIOBase` instance) that :class:" +"`BufferedIOBase` deals with. This is not part of the :class:" +"`BufferedIOBase` API and may not exist on some implementations." +msgstr "" +"Основний необроблений потік (екземпляр :class:`RawIOBase`), з яким працює :" +"class:`BufferedIOBase`. Це не є частиною API :class:`BufferedIOBase` і може " +"не існувати в деяких реалізаціях." + +msgid "Separate the underlying raw stream from the buffer and return it." +msgstr "Відокремте базовий необроблений потік від буфера та поверніть його." + +msgid "" +"After the raw stream has been detached, the buffer is in an unusable state." +msgstr "" +"Після від’єднання необробленого потоку буфер перебуває в непридатному для " +"використання стані." + +msgid "" +"Some buffers, like :class:`BytesIO`, do not have the concept of a single raw " +"stream to return from this method. They raise :exc:`UnsupportedOperation`." +msgstr "" +"Деякі буфери, наприклад :class:`BytesIO`, не мають концепції єдиного " +"необробленого потоку, який повертається з цього методу. Вони викликають :exc:" +"`UnsupportedOperation`." + +msgid "" +"Read and return up to *size* bytes. If the argument is omitted, ``None``, " +"or negative, data is read and returned until EOF is reached. An empty :" +"class:`bytes` object is returned if the stream is already at EOF." +msgstr "" +"Читати та повертати до *size* байтів. Якщо аргумент пропущений, ``None`` або " +"негативний, дані зчитуються та повертаються, доки не буде досягнуто EOF. " +"Якщо потік уже знаходиться в EOF, повертається порожній об’єкт :class:" +"`bytes`." + +msgid "" +"If the argument is positive, and the underlying raw stream is not " +"interactive, multiple raw reads may be issued to satisfy the byte count " +"(unless EOF is reached first). But for interactive raw streams, at most one " +"raw read will be issued, and a short result does not imply that EOF is " +"imminent." +msgstr "" +"Якщо аргумент є позитивним, а основний необроблений потік не є " +"інтерактивним, кілька необроблених зчитувань можуть бути видані, щоб " +"задовольнити кількість байтів (якщо спочатку не досягнуто EOF). Але для " +"інтерактивних необроблених потоків буде видано щонайбільше одне необроблене " +"читання, і короткий результат не означає, що EOF неминуча." + +msgid "" +"A :exc:`BlockingIOError` is raised if the underlying raw stream is in non " +"blocking-mode, and has no data available at the moment." +msgstr "" +"Повідомлення :exc:`BlockingIOError` виникає, якщо базовий необроблений потік " +"перебуває в неблокуючому режимі та на даний момент не має доступних даних." + +msgid "" +"Read and return up to *size* bytes, with at most one call to the underlying " +"raw stream's :meth:`~RawIOBase.read` (or :meth:`~RawIOBase.readinto`) " +"method. This can be useful if you are implementing your own buffering on " +"top of a :class:`BufferedIOBase` object." +msgstr "" +"Читати та повертати до *size* байтів, щонайбільше з одним викликом базового " +"необробленого потоку методу :meth:`~RawIOBase.read` (або :meth:`~RawIOBase." +"readinto`). Це може бути корисним, якщо ви реалізуєте власну буферизацію " +"поверх об’єкта :class:`BufferedIOBase`." + +msgid "" +"If *size* is ``-1`` (the default), an arbitrary number of bytes are returned " +"(more than zero unless EOF is reached)." +msgstr "" +"Якщо *size* дорівнює ``-1`` (за замовчуванням), повертається довільна " +"кількість байтів (більше нуля, якщо не досягнуто EOF)." + +msgid "" +"Read bytes into a pre-allocated, writable :term:`bytes-like object` *b* and " +"return the number of bytes read. For example, *b* might be a :class:" +"`bytearray`." +msgstr "" +"Читання байтів у попередньо виділений записуваний :term:`bytes-like object` " +"*b* і повертає кількість прочитаних байтів. Наприклад, *b* може бути :class:" +"`bytearray`." + +msgid "" +"Like :meth:`read`, multiple reads may be issued to the underlying raw " +"stream, unless the latter is interactive." +msgstr "" +"Подібно до :meth:`read`, кілька читань можуть бути видані базовому " +"необробленому потоку, якщо останній не є інтерактивним." + +msgid "" +"Read bytes into a pre-allocated, writable :term:`bytes-like object` *b*, " +"using at most one call to the underlying raw stream's :meth:`~RawIOBase." +"read` (or :meth:`~RawIOBase.readinto`) method. Return the number of bytes " +"read." +msgstr "" +"Зчитування байтів у попередньо виділений записуваний :term:`bytes-like " +"object` *b*, використовуючи щонайбільше один виклик базового необробленого " +"потоку :meth:`~RawIOBase.read` (або :meth:`~RawIOBase. метод readinto`). " +"Повертає кількість прочитаних байтів." + +msgid "" +"Write the given :term:`bytes-like object`, *b*, and return the number of " +"bytes written (always equal to the length of *b* in bytes, since if the " +"write fails an :exc:`OSError` will be raised). Depending on the actual " +"implementation, these bytes may be readily written to the underlying stream, " +"or held in a buffer for performance and latency reasons." +msgstr "" +"Запишіть заданий :term:`bytes-like object`, *b*, і поверніть кількість " +"записаних байтів (завжди дорівнює довжині *b* в байтах, оскільки якщо запис " +"не вдасться, виникне :exc:`OSError` бути підвищеним). Залежно від фактичної " +"реалізації, ці байти можуть бути легко записані в базовий потік або " +"зберігатися в буфері з причин продуктивності та затримки." + +msgid "" +"When in non-blocking mode, a :exc:`BlockingIOError` is raised if the data " +"needed to be written to the raw stream but it couldn't accept all the data " +"without blocking." +msgstr "" +"У неблокуючому режимі виникає :exc:`BlockingIOError`, якщо дані потрібно " +"було записати в необроблений потік, але він не міг прийняти всі дані без " +"блокування." + +msgid "" +"The caller may release or mutate *b* after this method returns, so the " +"implementation should only access *b* during the method call." +msgstr "" +"Виклик може звільнити або змінити *b* після повернення цього методу, тому " +"реалізація має звертатися до *b* лише під час виклику методу." + +msgid "Raw File I/O" +msgstr "Необроблений файл введення-виведення" + +msgid "" +"A raw binary stream representing an OS-level file containing bytes data. It " +"inherits :class:`RawIOBase`." +msgstr "" +"Необроблений двійковий потік, що представляє файл рівня ОС, що містить дані " +"в байтах. Він успадковує :class:`RawIOBase`." + +msgid "The *name* can be one of two things:" +msgstr "*Ім'я* може бути одним із двох:" + +msgid "" +"a character string or :class:`bytes` object representing the path to the " +"file which will be opened. In this case closefd must be ``True`` (the " +"default) otherwise an error will be raised." +msgstr "" +"рядок символів або об’єкт :class:`bytes`, що представляє шлях до файлу, який " +"буде відкрито. У цьому випадку closefd має бути ``True`` (за замовчуванням), " +"інакше виникне помилка." + +msgid "" +"an integer representing the number of an existing OS-level file descriptor " +"to which the resulting :class:`FileIO` object will give access. When the " +"FileIO object is closed this fd will be closed as well, unless *closefd* is " +"set to ``False``." +msgstr "" +"ціле число, що представляє номер існуючого файлового дескриптора рівня ОС, " +"до якого отриманий об’єкт :class:`FileIO` надасть доступ. Коли об’єкт FileIO " +"закрито, цей fd також буде закрито, якщо для *closefd* не встановлено " +"значення ``False``." + +msgid "" +"The *mode* can be ``'r'``, ``'w'``, ``'x'`` or ``'a'`` for reading " +"(default), writing, exclusive creation or appending. The file will be " +"created if it doesn't exist when opened for writing or appending; it will be " +"truncated when opened for writing. :exc:`FileExistsError` will be raised if " +"it already exists when opened for creating. Opening a file for creating " +"implies writing, so this mode behaves in a similar way to ``'w'``. Add a " +"``'+'`` to the mode to allow simultaneous reading and writing." +msgstr "" +"*Режим* може бути ``'r'``, ``'w'``, ``'x'`` або ``'a'`` для читання (за " +"замовчуванням), запису, ексклюзивного створення або додавання. Файл буде " +"створено, якщо він не існує під час відкриття для запису чи додавання; він " +"буде скорочений під час відкриття для запису. :exc:`FileExistsError` буде " +"викликано, якщо він уже існує під час відкриття для створення. Відкриття " +"файлу для створення передбачає запис, тому цей режим поводиться подібно до " +"``'w'``. Додайте ``'+'`` до режиму, щоб дозволити одночасне читання та запис." + +msgid "" +"The :meth:`read` (when called with a positive argument), :meth:`readinto` " +"and :meth:`write` methods on this class will only make one system call." +msgstr "" +"Методи :meth:`read` (при виклику з позитивним аргументом), :meth:`readinto` " +"і :meth:`write` цього класу зроблять лише один системний виклик." + +msgid "" +"A custom opener can be used by passing a callable as *opener*. The " +"underlying file descriptor for the file object is then obtained by calling " +"*opener* with (*name*, *flags*). *opener* must return an open file " +"descriptor (passing :mod:`os.open` as *opener* results in functionality " +"similar to passing ``None``)." +msgstr "" +"Спеціальний відкривач можна використовувати, передавши виклик як *opener*. " +"Базовий дескриптор файлу для об’єкта файлу потім отримується шляхом виклику " +"*opener* з (*name*, *flags*). *opener* має повертати дескриптор відкритого " +"файлу (передача :mod:`os.open` як *opener* призводить до функціональності, " +"подібної до передачі ``None``)." + +msgid "The newly created file is :ref:`non-inheritable `." +msgstr "Щойно створений файл :ref:`не успадковується `." + +msgid "" +"See the :func:`open` built-in function for examples on using the *opener* " +"parameter." +msgstr "" +"Перегляньте вбудовану функцію :func:`open` для прикладів використання " +"параметра *opener*." + +msgid "The *opener* parameter was added. The ``'x'`` mode was added." +msgstr "Додано параметр *opener*. Додано режим ``'x``." + +msgid "The file is now non-inheritable." +msgstr "Тепер файл не успадковується." + +msgid "" +":class:`FileIO` provides these data attributes in addition to those from :" +"class:`RawIOBase` and :class:`IOBase`:" +msgstr "" +":class:`FileIO` надає ці атрибути даних на додаток до атрибутів з :class:" +"`RawIOBase` і :class:`IOBase`:" + +msgid "The mode as given in the constructor." +msgstr "Режим, заданий у конструкторі." + +msgid "" +"The file name. This is the file descriptor of the file when no name is " +"given in the constructor." +msgstr "Ім'я файлу. Це дескриптор файлу, якщо в конструкторі не вказано ім’я." + +msgid "Buffered Streams" +msgstr "Буферизовані потоки" + +msgid "" +"Buffered I/O streams provide a higher-level interface to an I/O device than " +"raw I/O does." +msgstr "" +"Буферизовані потоки вводу-виводу забезпечують інтерфейс вищого рівня для " +"пристрою вводу-виводу, ніж необроблений ввід-вивод." + +msgid "" +"A binary stream using an in-memory bytes buffer. It inherits :class:" +"`BufferedIOBase`. The buffer is discarded when the :meth:`~IOBase.close` " +"method is called." +msgstr "" +"Двійковий потік із використанням буфера байтів у пам’яті. Він успадковує :" +"class:`BufferedIOBase`. Буфер скидається під час виклику методу :meth:" +"`~IOBase.close`." + +msgid "" +"The optional argument *initial_bytes* is a :term:`bytes-like object` that " +"contains initial data." +msgstr "" +"Необов’язковий аргумент *initial_bytes* — це :term:`bytes-like object`, який " +"містить початкові дані." + +msgid "" +":class:`BytesIO` provides or overrides these methods in addition to those " +"from :class:`BufferedIOBase` and :class:`IOBase`:" +msgstr "" +":class:`BytesIO` надає або замінює ці методи на додаток до методів з :class:" +"`BufferedIOBase` і :class:`IOBase`:" + +msgid "" +"Return a readable and writable view over the contents of the buffer without " +"copying them. Also, mutating the view will transparently update the " +"contents of the buffer::" +msgstr "" +"Повернути доступний для читання та запису перегляд вмісту буфера без його " +"копіювання. Крім того, зміна перегляду прозоро оновить вміст буфера::" + +msgid "" +"As long as the view exists, the :class:`BytesIO` object cannot be resized or " +"closed." +msgstr "" +"Поки представлення існує, об’єкт :class:`BytesIO` не можна змінити розмір " +"або закрити." + +msgid "Return :class:`bytes` containing the entire contents of the buffer." +msgstr "Повертає :class:`bytes`, що містить увесь вміст буфера." + +msgid "In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.read`." +msgstr "У :class:`BytesIO` це те саме, що :meth:`~BufferedIOBase.read`." + +msgid "The *size* argument is now optional." +msgstr "Аргумент *size* тепер необов’язковий." + +msgid "" +"In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.readinto`." +msgstr "У :class:`BytesIO` це те саме, що :meth:`~BufferedIOBase.readinto`." + +msgid "" +"A buffered binary stream providing higher-level access to a readable, non " +"seekable :class:`RawIOBase` raw binary stream. It inherits :class:" +"`BufferedIOBase`." +msgstr "" +"Буферизований двійковий потік, що забезпечує доступ вищого рівня до " +"доступного для читання бінарного потоку :class:`RawIOBase` без можливості " +"пошуку. Він успадковує :class:`BufferedIOBase`." + +msgid "" +"When reading data from this object, a larger amount of data may be requested " +"from the underlying raw stream, and kept in an internal buffer. The buffered " +"data can then be returned directly on subsequent reads." +msgstr "" +"Під час зчитування даних із цього об’єкта більший обсяг даних може бути " +"запрошений із базового необробленого потоку та зберігатися у внутрішньому " +"буфері. Потім буферизовані дані можна повернути безпосередньо під час " +"наступних читань." + +msgid "" +"The constructor creates a :class:`BufferedReader` for the given readable " +"*raw* stream and *buffer_size*. If *buffer_size* is omitted, :data:" +"`DEFAULT_BUFFER_SIZE` is used." +msgstr "" +"Конструктор створює :class:`BufferedReader` для даного доступного для " +"читання потоку *raw* і *buffer_size*. Якщо *buffer_size* опущено, :data:" +"`DEFAULT_BUFFER_SIZE` використовується." + +msgid "" +":class:`BufferedReader` provides or overrides these methods in addition to " +"those from :class:`BufferedIOBase` and :class:`IOBase`:" +msgstr "" +":class:`BufferedReader` надає або замінює ці методи на додаток до методів з :" +"class:`BufferedIOBase` і :class:`IOBase`:" + +msgid "" +"Return bytes from the stream without advancing the position. At most one " +"single read on the raw stream is done to satisfy the call. The number of " +"bytes returned may be less or more than requested." +msgstr "" +"Повернути байти з потоку без просування позиції. Щоб задовольнити виклик, " +"виконується щонайбільше одне читання необробленого потоку. Кількість " +"повернених байтів може бути меншою або більшою за запитувану." + +msgid "" +"Read and return *size* bytes, or if *size* is not given or negative, until " +"EOF or if the read call would block in non-blocking mode." +msgstr "" +"Читання та повернення байтів *size* або, якщо *size* не задано або має " +"від’ємне значення, до EOF або якщо виклик read заблокує в неблокуючому " +"режимі." + +msgid "" +"Read and return up to *size* bytes with only one call on the raw stream. If " +"at least one byte is buffered, only buffered bytes are returned. Otherwise, " +"one raw stream read call is made." +msgstr "" +"Читайте та повертайте до *size* байтів лише одним викликом необробленого " +"потоку. Якщо принаймні один байт буферизується, повертаються лише " +"буферизовані байти. В іншому випадку виконується один виклик читання " +"необробленого потоку." + +msgid "" +"A buffered binary stream providing higher-level access to a writeable, non " +"seekable :class:`RawIOBase` raw binary stream. It inherits :class:" +"`BufferedIOBase`." +msgstr "" +"Буферизований двійковий потік, що забезпечує доступ вищого рівня до " +"доступного для запису, без пошуку :class:`RawIOBase` необробленого " +"двійкового потоку. Він успадковує :class:`BufferedIOBase`." + +msgid "" +"When writing to this object, data is normally placed into an internal " +"buffer. The buffer will be written out to the underlying :class:`RawIOBase` " +"object under various conditions, including:" +msgstr "" +"Під час запису в цей об’єкт дані зазвичай поміщаються у внутрішній буфер. " +"Буфер буде записано в базовий об’єкт :class:`RawIOBase` за різних умов, " +"зокрема:" + +msgid "when the buffer gets too small for all pending data;" +msgstr "коли буфер стає занадто малим для всіх незавершених даних;" + +msgid "when :meth:`flush()` is called;" +msgstr "коли викликається :meth:`flush()`;" + +msgid "" +"when a :meth:`seek()` is requested (for :class:`BufferedRandom` objects);" +msgstr "" +"коли запитується :meth:`seek()` (для об’єктів :class:`BufferedRandom`);" + +msgid "when the :class:`BufferedWriter` object is closed or destroyed." +msgstr "коли об’єкт :class:`BufferedWriter` закрито або знищено." + +msgid "" +"The constructor creates a :class:`BufferedWriter` for the given writeable " +"*raw* stream. If the *buffer_size* is not given, it defaults to :data:" +"`DEFAULT_BUFFER_SIZE`." +msgstr "" +"Конструктор створює :class:`BufferedWriter` для заданого записуваного " +"*необробленого* потоку. Якщо *buffer_size* не вказано, за умовчанням він :" +"data:`DEFAULT_BUFFER_SIZE`." + +msgid "" +":class:`BufferedWriter` provides or overrides these methods in addition to " +"those from :class:`BufferedIOBase` and :class:`IOBase`:" +msgstr "" +":class:`BufferedWriter` надає або замінює ці методи на додаток до методів з :" +"class:`BufferedIOBase` і :class:`IOBase`:" + +msgid "" +"Force bytes held in the buffer into the raw stream. A :exc:" +"`BlockingIOError` should be raised if the raw stream blocks." +msgstr "" +"Примусове переміщення байтів, що зберігаються в буфері, у необроблений " +"потік. :exc:`BlockingIOError` має бути викликано, якщо необроблений потік " +"блокується." + +msgid "" +"Write the :term:`bytes-like object`, *b*, and return the number of bytes " +"written. When in non-blocking mode, a :exc:`BlockingIOError` is raised if " +"the buffer needs to be written out but the raw stream blocks." +msgstr "" +"Запишіть :term:`bytes-like object`, *b*, і поверніть кількість записаних " +"байтів. У неблокуючому режимі виникає :exc:`BlockingIOError`, якщо буфер " +"потрібно виписати, але вихідний потік блокується." + +msgid "" +"A buffered binary stream providing higher-level access to a seekable :class:" +"`RawIOBase` raw binary stream. It inherits :class:`BufferedReader` and :" +"class:`BufferedWriter`." +msgstr "" +"Буферизований двійковий потік, що забезпечує доступ вищого рівня до " +"доступного для пошуку бінарного потоку :class:`RawIOBase`. Він успадковує :" +"class:`BufferedReader` і :class:`BufferedWriter`." + +msgid "" +"The constructor creates a reader and writer for a seekable raw stream, given " +"in the first argument. If the *buffer_size* is omitted it defaults to :data:" +"`DEFAULT_BUFFER_SIZE`." +msgstr "" +"Конструктор створює читач і записувач для шуканого необробленого потоку, " +"заданого в першому аргументі. Якщо *buffer_size* опущено, за замовчуванням " +"буде :data:`DEFAULT_BUFFER_SIZE`." + +msgid "" +":class:`BufferedRandom` is capable of anything :class:`BufferedReader` or :" +"class:`BufferedWriter` can do. In addition, :meth:`seek` and :meth:`tell` " +"are guaranteed to be implemented." +msgstr "" +":class:`BufferedRandom` здатний на все, що можуть зробити :class:" +"`BufferedReader` або :class:`BufferedWriter`. Крім того, :meth:`seek` і :" +"meth:`tell` гарантовано будуть реалізовані." + +msgid "" +"A buffered binary stream providing higher-level access to two non seekable :" +"class:`RawIOBase` raw binary streams---one readable, the other writeable. It " +"inherits :class:`BufferedIOBase`." +msgstr "" +"Буферизований двійковий потік, що надає доступ вищого рівня до двох " +"необроблених двійкових потоків :class:`RawIOBase` --- один доступний для " +"читання, інший доступний для запису. Він успадковує :class:`BufferedIOBase`." + +msgid "" +"*reader* and *writer* are :class:`RawIOBase` objects that are readable and " +"writeable respectively. If the *buffer_size* is omitted it defaults to :" +"data:`DEFAULT_BUFFER_SIZE`." +msgstr "" +"*reader* і *writer* є об’єктами :class:`RawIOBase`, які доступні для читання " +"та запису відповідно. Якщо *buffer_size* опущено, за замовчуванням буде :" +"data:`DEFAULT_BUFFER_SIZE`." + +msgid "" +":class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\\'s " +"methods except for :meth:`~BufferedIOBase.detach`, which raises :exc:" +"`UnsupportedOperation`." +msgstr "" +":class:`BufferedRWPair` реалізує всі методи :class:`BufferedIOBase`\\ за " +"винятком :meth:`~BufferedIOBase.detach`, який викликає :exc:" +"`UnsupportedOperation`." + +msgid "" +":class:`BufferedRWPair` does not attempt to synchronize accesses to its " +"underlying raw streams. You should not pass it the same object as reader " +"and writer; use :class:`BufferedRandom` instead." +msgstr "" +":class:`BufferedRWPair` не намагається синхронізувати доступ до базових " +"необроблених потоків. Ви не повинні передавати йому той самий об’єкт, що й " +"читач і запис; замість цього використовуйте :class:`BufferedRandom`." + +msgid "" +"Base class for text streams. This class provides a character and line based " +"interface to stream I/O. It inherits :class:`IOBase`." +msgstr "" +"Базовий клас для текстових потоків. Цей клас забезпечує символьний і " +"рядковий інтерфейс для потокового вводу-виводу. Він успадковує :class:" +"`IOBase`." + +msgid "" +":class:`TextIOBase` provides or overrides these data attributes and methods " +"in addition to those from :class:`IOBase`:" +msgstr "" +":class:`TextIOBase` надає або замінює ці атрибути та методи даних на додачу " +"до тих, що є в :class:`IOBase`:" + +msgid "" +"The name of the encoding used to decode the stream's bytes into strings, and " +"to encode strings into bytes." +msgstr "" +"Назва кодування, яке використовується для декодування байтів потоку в рядки " +"та для кодування рядків у байти." + +msgid "The error setting of the decoder or encoder." +msgstr "Налаштування помилки декодера або кодера." + +msgid "" +"A string, a tuple of strings, or ``None``, indicating the newlines " +"translated so far. Depending on the implementation and the initial " +"constructor flags, this may not be available." +msgstr "" +"Рядок, кортеж рядків або ``None``, що вказує перекладені на даний момент " +"нові рядки. Залежно від реалізації та початкових прапорів конструктора, це " +"може бути недоступним." + +msgid "" +"The underlying binary buffer (a :class:`BufferedIOBase` instance) that :" +"class:`TextIOBase` deals with. This is not part of the :class:`TextIOBase` " +"API and may not exist in some implementations." +msgstr "" +"Базовий бінарний буфер (екземпляр :class:`BufferedIOBase`), з яким працює :" +"class:`TextIOBase`. Це не є частиною API :class:`TextIOBase` і може не " +"існувати в деяких реалізаціях." + +msgid "" +"Separate the underlying binary buffer from the :class:`TextIOBase` and " +"return it." +msgstr "" +"Відокремте базовий бінарний буфер від :class:`TextIOBase` і поверніть його." + +msgid "" +"After the underlying buffer has been detached, the :class:`TextIOBase` is in " +"an unusable state." +msgstr "" +"Після того, як основний буфер було від’єднано, :class:`TextIOBase` перебуває " +"в непридатному для використання стані." + +msgid "" +"Some :class:`TextIOBase` implementations, like :class:`StringIO`, may not " +"have the concept of an underlying buffer and calling this method will raise :" +"exc:`UnsupportedOperation`." +msgstr "" +"Деякі реалізації :class:`TextIOBase`, наприклад :class:`StringIO`, можуть не " +"мати концепції основного буфера, і виклик цього методу призведе до :exc:" +"`UnsupportedOperation`." + +msgid "" +"Read and return at most *size* characters from the stream as a single :class:" +"`str`. If *size* is negative or ``None``, reads until EOF." +msgstr "" +"Читати та повертати не більше символів *size* із потоку як один :class:" +"`str`. Якщо *size* є від’ємним або ``None``, читається до EOF." + +msgid "" +"Read until newline or EOF and return a single ``str``. If the stream is " +"already at EOF, an empty string is returned." +msgstr "" +"Читайте до нового рядка або EOF і повертайте одну ``str``. Якщо потік уже " +"знаходиться в EOF, повертається порожній рядок." + +msgid "If *size* is specified, at most *size* characters will be read." +msgstr "Якщо вказано *size*, буде прочитано не більше символів *size*." + +msgid "" +"Change the stream position to the given *offset*. Behaviour depends on the " +"*whence* parameter. The default value for *whence* is :data:`SEEK_SET`." +msgstr "" +"Змініть позицію потоку на вказане *зсув*. Поведінка залежить від параметра " +"*whence*. Значенням за замовчуванням для *whence* є :data:`SEEK_SET`." + +msgid "" +":data:`SEEK_SET` or ``0``: seek from the start of the stream (the default); " +"*offset* must either be a number returned by :meth:`TextIOBase.tell`, or " +"zero. Any other *offset* value produces undefined behaviour." +msgstr "" +":data:`SEEK_SET` або ``0``: пошук від початку потоку (за замовчуванням); " +"*offset* має бути або числом, яке повертає :meth:`TextIOBase.tell`, або " +"нулем. Будь-яке інше значення *offset* призводить до невизначеної поведінки." + +msgid "" +":data:`SEEK_CUR` or ``1``: \"seek\" to the current position; *offset* must " +"be zero, which is a no-operation (all other values are unsupported)." +msgstr "" +":data:`SEEK_CUR` або ``1``: \"пошук\" до поточної позиції; *offset* має " +"дорівнювати нулю, що не є операцією (усі інші значення не підтримуються)." + +msgid "" +":data:`SEEK_END` or ``2``: seek to the end of the stream; *offset* must be " +"zero (all other values are unsupported)." +msgstr "" +":data:`SEEK_END` або ``2``: перейти до кінця потоку; *offset* має " +"дорівнювати нулю (інші значення не підтримуються)." + +msgid "Return the new absolute position as an opaque number." +msgstr "Повертає нову абсолютну позицію як непрозоре число." + +msgid "" +"Return the current stream position as an opaque number. The number does not " +"usually represent a number of bytes in the underlying binary storage." +msgstr "" +"Повертає поточну позицію потоку як непрозоре число. Число зазвичай не " +"означає кількість байтів у базовому двійковому сховищі." + +msgid "" +"Write the string *s* to the stream and return the number of characters " +"written." +msgstr "Запишіть рядок *s* у потік і поверніть кількість записаних символів." + +msgid "" +"A buffered text stream providing higher-level access to a :class:" +"`BufferedIOBase` buffered binary stream. It inherits :class:`TextIOBase`." +msgstr "" +"Буферизований текстовий потік, що забезпечує доступ вищого рівня до " +"буферизованого бінарного потоку :class:`BufferedIOBase`. Він успадковує :" +"class:`TextIOBase`." + +msgid "" +"*encoding* gives the name of the encoding that the stream will be decoded or " +"encoded with. It defaults to :func:`locale.getencoding()`. ``encoding=" +"\"locale\"`` can be used to specify the current locale's encoding " +"explicitly. See :ref:`io-text-encoding` for more information." +msgstr "" + +msgid "" +"*errors* is an optional string that specifies how encoding and decoding " +"errors are to be handled. Pass ``'strict'`` to raise a :exc:`ValueError` " +"exception if there is an encoding error (the default of ``None`` has the " +"same effect), or pass ``'ignore'`` to ignore errors. (Note that ignoring " +"encoding errors can lead to data loss.) ``'replace'`` causes a replacement " +"marker (such as ``'?'``) to be inserted where there is malformed data. " +"``'backslashreplace'`` causes malformed data to be replaced by a backslashed " +"escape sequence. When writing, ``'xmlcharrefreplace'`` (replace with the " +"appropriate XML character reference) or ``'namereplace'`` (replace with ``" +"\\N{...}`` escape sequences) can be used. Any other error handling name " +"that has been registered with :func:`codecs.register_error` is also valid." +msgstr "" +"*errors* — це необов’язковий рядок, який визначає, як потрібно обробляти " +"помилки кодування та декодування. Передайте ``'strict'``, щоб викликати " +"виняток :exc:`ValueError`, якщо є помилка кодування (за умовчанням ``None`` " +"має той самий ефект), або передайте ``'ignore'``, щоб ігнорувати помилки. " +"(Зауважте, що ігнорування помилок кодування може призвести до втрати даних.) " +"``'replace'`` спричиняє вставку маркера заміни (наприклад, ``'?'``), де є " +"некоректні дані. ``'backslashreplace'`` змушує неправильно сформовані дані " +"замінюватися керуючою послідовністю зі зворотною скісною рискою. Під час " +"запису можна використовувати ``'xmlcharrefreplace'`` (замінити на відповідне " +"посилання на символ XML) або ``'namereplace'`` (замінити на ``\\N{...}`` " +"керуючу послідовність). Будь-яка інша назва обробки помилок, зареєстрована " +"в :func:`codecs.register_error`, також дійсна." + +msgid "" +"*newline* controls how line endings are handled. It can be ``None``, " +"``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as follows:" +msgstr "" +"*новий рядок* контролює, як обробляються закінчення рядків. Це може бути " +"``None``, ``''``, ``'\\n'``, ``'\\r'`` і ``'\\r\\n'``. Він працює наступним " +"чином:" + +msgid "" +"When reading input from the stream, if *newline* is ``None``, :term:" +"`universal newlines` mode is enabled. Lines in the input can end in " +"``'\\n'``, ``'\\r'``, or ``'\\r\\n'``, and these are translated into " +"``'\\n'`` before being returned to the caller. If *newline* is ``''``, " +"universal newlines mode is enabled, but line endings are returned to the " +"caller untranslated. If *newline* has any of the other legal values, input " +"lines are only terminated by the given string, and the line ending is " +"returned to the caller untranslated." +msgstr "" +"Під час читання вхідних даних із потоку, якщо *новий рядок* має значення " +"``None``, увімкнено режим :term:`universal newlines`. Рядки у вхідних даних " +"можуть закінчуватися на ``'\\n'``, ``'\\r'`` або ``'\\r\\n'``, і вони " +"перекладаються на ``'\\n'`` перед поверненням до абонента. Якщо *новий " +"рядок* дорівнює ``''``, універсальний режим нових рядків увімкнено, але " +"закінчення рядків повертаються абоненту без перекладу. Якщо *новий рядок* " +"має будь-яке з інших дозволених значень, рядки вводу завершуються лише " +"заданим рядком, а закінчення рядка повертається абоненту без перекладу." + +msgid "" +"When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " +"characters written are translated to the system default line separator, :" +"data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no translation " +"takes place. If *newline* is any of the other legal values, any ``'\\n'`` " +"characters written are translated to the given string." +msgstr "" +"Під час запису вихідних даних у потік, якщо *новий рядок* має значення " +"``None``, будь-які записані символи ``'\\n'`` переводяться в системний " +"роздільник рядків за умовчанням, :data:`os.linesep`. Якщо *новий рядок* є " +"``''`` або ``'\\n'``, переклад не відбувається. Якщо *новий рядок* є будь-" +"яким іншим дозволеним значенням, будь-які написані символи ``'\\n'`` " +"переводяться в заданий рядок." + +msgid "" +"If *line_buffering* is ``True``, :meth:`flush` is implied when a call to " +"write contains a newline character or a carriage return." +msgstr "" +"Якщо *line_buffering* має значення ``True``, :meth:`flush` передбачається, " +"коли виклик write містить символ нового рядка або повернення каретки." + +msgid "" +"If *write_through* is ``True``, calls to :meth:`write` are guaranteed not to " +"be buffered: any data written on the :class:`TextIOWrapper` object is " +"immediately handled to its underlying binary *buffer*." +msgstr "" +"Якщо *write_through* має значення ``True``, виклики :meth:`write` " +"гарантовано не буферизуються: будь-які дані, записані в об’єкт :class:" +"`TextIOWrapper`, негайно обробляються до його базового двійкового *буфера*." + +msgid "The *write_through* argument has been added." +msgstr "Додано аргумент *write_through*." + +msgid "" +"The default *encoding* is now ``locale.getpreferredencoding(False)`` instead " +"of ``locale.getpreferredencoding()``. Don't change temporary the locale " +"encoding using :func:`locale.setlocale`, use the current locale encoding " +"instead of the user preferred encoding." +msgstr "" +"Типовим *кодуванням* тепер є ``locale.getpreferredencoding(False)`` замість " +"``locale.getpreferredencoding()``. Не змінюйте тимчасово кодування мови за " +"допомогою :func:`locale.setlocale`, використовуйте поточне кодування мови " +"замість кодування, яке вибирає користувач." + +msgid "" +"The *encoding* argument now supports the ``\"locale\"`` dummy encoding name." +msgstr "" +"Аргумент *encoding* тепер підтримує фіктивну назву кодування ``\"locale\"``." + +msgid "" +":class:`TextIOWrapper` provides these data attributes and methods in " +"addition to those from :class:`TextIOBase` and :class:`IOBase`:" +msgstr "" +":class:`TextIOWrapper` надає ці атрибути даних і методи на додачу до тих, що " +"є в :class:`TextIOBase` і :class:`IOBase`:" + +msgid "Whether line buffering is enabled." +msgstr "Чи ввімкнено буферизацію рядків." + +msgid "Whether writes are passed immediately to the underlying binary buffer." +msgstr "Чи передаються записи негайно до базового двійкового буфера." + +msgid "" +"Reconfigure this text stream using new settings for *encoding*, *errors*, " +"*newline*, *line_buffering* and *write_through*." +msgstr "" +"Переконфігуруйте цей текстовий потік, використовуючи нові налаштування для " +"*кодування*, *помилок*, *нового рядка*, *line_buffering* і *write_through*." + +msgid "" +"Parameters not specified keep current settings, except ``errors='strict'`` " +"is used when *encoding* is specified but *errors* is not specified." +msgstr "" +"Параметри, які не вказано, зберігають поточні налаштування, за винятком " +"того, що ``errors='strict'`` використовується, коли вказано *кодування*, але " +"не вказано *errors*." + +msgid "" +"It is not possible to change the encoding or newline if some data has " +"already been read from the stream. On the other hand, changing encoding " +"after write is possible." +msgstr "" +"Неможливо змінити кодування або новий рядок, якщо деякі дані вже прочитано з " +"потоку. З іншого боку, зміна кодування після запису можлива." + +msgid "" +"This method does an implicit stream flush before setting the new parameters." +msgstr "" +"Цей метод виконує неявне очищення потоку перед встановленням нових " +"параметрів." + +msgid "The method supports ``encoding=\"locale\"`` option." +msgstr "" + +msgid "" +"A text stream using an in-memory text buffer. It inherits :class:" +"`TextIOBase`." +msgstr "" +"Текстовий потік із використанням текстового буфера в пам’яті. Він " +"успадковує :class:`TextIOBase`." + +msgid "" +"The text buffer is discarded when the :meth:`~IOBase.close` method is called." +msgstr "" +"Текстовий буфер відкидається під час виклику методу :meth:`~IOBase.close`." + +msgid "" +"The initial value of the buffer can be set by providing *initial_value*. If " +"newline translation is enabled, newlines will be encoded as if by :meth:" +"`~TextIOBase.write`. The stream is positioned at the start of the buffer " +"which emulates opening an existing file in a ``w+`` mode, making it ready " +"for an immediate write from the beginning or for a write that would " +"overwrite the initial value. To emulate opening a file in an ``a+`` mode " +"ready for appending, use ``f.seek(0, io.SEEK_END)`` to reposition the stream " +"at the end of the buffer." +msgstr "" + +msgid "" +"The *newline* argument works like that of :class:`TextIOWrapper`, except " +"that when writing output to the stream, if *newline* is ``None``, newlines " +"are written as ``\\n`` on all platforms." +msgstr "" +"Аргумент *новий рядок* працює як аргумент :class:`TextIOWrapper`, за " +"винятком того, що під час запису виводу в потік, якщо *новий рядок* має " +"значення ``None``, нові рядки записуються як ``\\n`` на всіх платформах." + +msgid "" +":class:`StringIO` provides this method in addition to those from :class:" +"`TextIOBase` and :class:`IOBase`:" +msgstr "" +":class:`StringIO` надає цей метод на додаток до методів з :class:" +"`TextIOBase` і :class:`IOBase`:" + +msgid "" +"Return a ``str`` containing the entire contents of the buffer. Newlines are " +"decoded as if by :meth:`~TextIOBase.read`, although the stream position is " +"not changed." +msgstr "" +"Повертає ``str``, що містить увесь вміст буфера. Нові рядки декодуються :" +"meth:`~TextIOBase.read`, хоча позиція потоку не змінюється." + +msgid "Example usage::" +msgstr "Приклад використання::" + +msgid "" +"A helper codec that decodes newlines for :term:`universal newlines` mode. It " +"inherits :class:`codecs.IncrementalDecoder`." +msgstr "" +"Допоміжний кодек, який розшифровує символи нового рядка для режиму :term:" +"`universal newlines`. Він успадковує :class:`codecs.IncrementalDecoder`." + +msgid "Performance" +msgstr "Продуктивність" + +msgid "" +"This section discusses the performance of the provided concrete I/O " +"implementations." +msgstr "" +"У цьому розділі обговорюється продуктивність наданих конкретних реалізацій " +"введення-виведення." + +msgid "" +"By reading and writing only large chunks of data even when the user asks for " +"a single byte, buffered I/O hides any inefficiency in calling and executing " +"the operating system's unbuffered I/O routines. The gain depends on the OS " +"and the kind of I/O which is performed. For example, on some modern OSes " +"such as Linux, unbuffered disk I/O can be as fast as buffered I/O. The " +"bottom line, however, is that buffered I/O offers predictable performance " +"regardless of the platform and the backing device. Therefore, it is almost " +"always preferable to use buffered I/O rather than unbuffered I/O for binary " +"data." +msgstr "" +"Завдяки читанню та запису лише великих фрагментів даних, навіть якщо " +"користувач запитує один байт, буферизований ввід-вивід приховує будь-яку " +"неефективність виклику та виконання небуферизованих процедур вводу-виводу " +"операційної системи. Коефіцієнт посилення залежить від ОС і типу вводу-" +"виводу, який виконується. Наприклад, у деяких сучасних ОС, таких як Linux, " +"небуферизований дисковий ввід-вивід може бути таким же швидким, як " +"буферизований ввід-вивід. Суть полягає в тому, що буферизований ввід-вивід " +"забезпечує передбачувану продуктивність незалежно від платформи та " +"резервного пристрою. Тому для двійкових даних майже завжди краще " +"використовувати буферизований ввід-вивід, а не небуферизований ввід-вивід." + +msgid "" +"Text I/O over a binary storage (such as a file) is significantly slower than " +"binary I/O over the same storage, because it requires conversions between " +"unicode and binary data using a character codec. This can become noticeable " +"handling huge amounts of text data like large log files. Also, :meth:" +"`TextIOWrapper.tell` and :meth:`TextIOWrapper.seek` are both quite slow due " +"to the reconstruction algorithm used." +msgstr "" +"Текстовий ввід-вивід у двійковому сховищі (наприклад, у файлі) значно " +"повільніший, ніж двійковий ввід-вивід у тому самому сховищі, оскільки " +"вимагає перетворення між Юнікодом і двійковими даними за допомогою " +"символьного кодека. Це може стати помітним під час обробки величезних " +"обсягів текстових даних, таких як великі файли журналу. Крім того, :meth:" +"`TextIOWrapper.tell` і :meth:`TextIOWrapper.seek` обидва досить повільні " +"через використаний алгоритм реконструкції." + +msgid "" +":class:`StringIO`, however, is a native in-memory unicode container and will " +"exhibit similar speed to :class:`BytesIO`." +msgstr "" +":class:`StringIO`, однак, є власним контейнером Юнікоду в пам’яті та " +"демонструватиме таку ж швидкість, як :class:`BytesIO`." + +msgid "Multi-threading" +msgstr "Багатопотоковість" + +msgid "" +":class:`FileIO` objects are thread-safe to the extent that the operating " +"system calls (such as ``read(2)`` under Unix) they wrap are thread-safe too." +msgstr "" +"Об’єкти :class:`FileIO` є потокобезпечними в тій мірі, в якій виклики " +"операційної системи (наприклад, ``read(2)`` під Unix), які вони обертають, " +"також є потокобезпечними." + +msgid "" +"Binary buffered objects (instances of :class:`BufferedReader`, :class:" +"`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) " +"protect their internal structures using a lock; it is therefore safe to call " +"them from multiple threads at once." +msgstr "" +"Бінарні буферизовані об’єкти (екземпляри :class:`BufferedReader`, :class:" +"`BufferedWriter`, :class:`BufferedRandom` і :class:`BufferedRWPair`) " +"захищають свої внутрішні структури за допомогою блокування; тому безпечно " +"викликати їх із кількох потоків одночасно." + +msgid ":class:`TextIOWrapper` objects are not thread-safe." +msgstr "Об’єкти :class:`TextIOWrapper` не є потокобезпечними." + +msgid "Reentrancy" +msgstr "Повторна вхідність" + +msgid "" +"Binary buffered objects (instances of :class:`BufferedReader`, :class:" +"`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) are " +"not reentrant. While reentrant calls will not happen in normal situations, " +"they can arise from doing I/O in a :mod:`signal` handler. If a thread tries " +"to re-enter a buffered object which it is already accessing, a :exc:" +"`RuntimeError` is raised. Note this doesn't prohibit a different thread " +"from entering the buffered object." +msgstr "" +"Двійкові буферизовані об’єкти (екземпляри :class:`BufferedReader`, :class:" +"`BufferedWriter`, :class:`BufferedRandom` і :class:`BufferedRWPair`) не є " +"реентерабельними. Хоча реентерабельні виклики не відбуваються у звичайних " +"ситуаціях, вони можуть виникнути внаслідок виконання введення/виведення в " +"обробнику :mod:`signal`. Якщо потік намагається повторно ввести " +"буферизований об’єкт, до якого він уже має доступ, виникає :exc:" +"`RuntimeError`. Зауважте, що це не забороняє іншому потоку входити в " +"буферизований об’єкт." + +msgid "" +"The above implicitly extends to text files, since the :func:`open()` " +"function will wrap a buffered object inside a :class:`TextIOWrapper`. This " +"includes standard streams and therefore affects the built-in :func:`print()` " +"function as well." +msgstr "" +"Вищезазначене неявно поширюється на текстові файли, оскільки функція :func:" +"`open()` загорне буферизований об’єкт у :class:`TextIOWrapper`. Це " +"стосується стандартних потоків і, отже, також впливає на вбудовану функцію :" +"func:`print()`." diff --git a/library/ipaddress.po b/library/ipaddress.po new file mode 100644 index 000000000..ec7c548df --- /dev/null +++ b/library/ipaddress.po @@ -0,0 +1,1109 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ipaddress` --- IPv4/IPv6 manipulation library" +msgstr ":mod:`ipaddress` --- Бібліотека обробки IPv4/IPv6" + +msgid "**Source code:** :source:`Lib/ipaddress.py`" +msgstr "**Вихідний код:** :source:`Lib/ipaddress.py`" + +msgid "" +":mod:`ipaddress` provides the capabilities to create, manipulate and operate " +"on IPv4 and IPv6 addresses and networks." +msgstr "" +":mod:`ipaddress` надає можливості створювати, маніпулювати та працювати з " +"адресами та мережами IPv4 та IPv6." + +msgid "" +"The functions and classes in this module make it straightforward to handle " +"various tasks related to IP addresses, including checking whether or not two " +"hosts are on the same subnet, iterating over all hosts in a particular " +"subnet, checking whether or not a string represents a valid IP address or " +"network definition, and so on." +msgstr "" +"Функції та класи в цьому модулі спрощують виконання різноманітних завдань, " +"пов’язаних з IP-адресами, включаючи перевірку того, чи два хости знаходяться " +"в одній підмережі, ітерацію по всіх хостах у певній підмережі, перевірку " +"того, чи рядок представляє дійсний чи ні IP-адреса або визначення мережі " +"тощо." + +msgid "" +"This is the full module API reference—for an overview and introduction, see :" +"ref:`ipaddress-howto`." +msgstr "" +"Це повна довідка щодо API модуля — для огляду та введення див. :ref:" +"`ipaddress-howto`." + +msgid "Convenience factory functions" +msgstr "Функції фабрики комфорту" + +msgid "" +"The :mod:`ipaddress` module provides factory functions to conveniently " +"create IP addresses, networks and interfaces:" +msgstr "" +"Модуль :mod:`ipaddress` надає заводські функції для зручного створення IP-" +"адрес, мереж та інтерфейсів:" + +msgid "" +"Return an :class:`IPv4Address` or :class:`IPv6Address` object depending on " +"the IP address passed as argument. Either IPv4 or IPv6 addresses may be " +"supplied; integers less than ``2**32`` will be considered to be IPv4 by " +"default. A :exc:`ValueError` is raised if *address* does not represent a " +"valid IPv4 or IPv6 address." +msgstr "" +"Повертає об’єкт :class:`IPv4Address` або :class:`IPv6Address` залежно від IP-" +"адреси, переданої як аргумент. Можна надати адреси IPv4 або IPv6; цілі " +"числа, менші за ``2**32``, за умовчанням вважатимуться IPv4. Помилка :exc:" +"`ValueError` виникає, якщо *адреса* не є дійсною адресою IPv4 або IPv6." + +msgid "" +"Return an :class:`IPv4Network` or :class:`IPv6Network` object depending on " +"the IP address passed as argument. *address* is a string or integer " +"representing the IP network. Either IPv4 or IPv6 networks may be supplied; " +"integers less than ``2**32`` will be considered to be IPv4 by default. " +"*strict* is passed to :class:`IPv4Network` or :class:`IPv6Network` " +"constructor. A :exc:`ValueError` is raised if *address* does not represent " +"a valid IPv4 or IPv6 address, or if the network has host bits set." +msgstr "" +"Повертає об’єкт :class:`IPv4Network` або :class:`IPv6Network` залежно від IP-" +"адреси, переданої як аргумент. *адреса* — це рядок або ціле число, що " +"представляє IP-мережу. Можуть надаватися мережі IPv4 або IPv6; цілі числа, " +"менші за ``2**32``, за умовчанням вважатимуться IPv4. *strict* передається " +"конструктору :class:`IPv4Network` або :class:`IPv6Network`. Помилка :exc:" +"`ValueError` виникає, якщо *адреса* не представляє дійсну адресу IPv4 або " +"IPv6 або якщо мережа має встановлені біти хоста." + +msgid "" +"Return an :class:`IPv4Interface` or :class:`IPv6Interface` object depending " +"on the IP address passed as argument. *address* is a string or integer " +"representing the IP address. Either IPv4 or IPv6 addresses may be supplied; " +"integers less than ``2**32`` will be considered to be IPv4 by default. A :" +"exc:`ValueError` is raised if *address* does not represent a valid IPv4 or " +"IPv6 address." +msgstr "" +"Повертає об’єкт :class:`IPv4Interface` або :class:`IPv6Interface` залежно " +"від IP-адреси, переданої як аргумент. *адреса* — це рядок або ціле число, що " +"представляє IP-адресу. Можна надати адреси IPv4 або IPv6; цілі числа, менші " +"за ``2**32``, за умовчанням вважатимуться IPv4. Помилка :exc:`ValueError` " +"виникає, якщо *адреса* не є дійсною адресою IPv4 або IPv6." + +msgid "" +"One downside of these convenience functions is that the need to handle both " +"IPv4 and IPv6 formats means that error messages provide minimal information " +"on the precise error, as the functions don't know whether the IPv4 or IPv6 " +"format was intended. More detailed error reporting can be obtained by " +"calling the appropriate version specific class constructors directly." +msgstr "" +"Одним із недоліків цих зручних функцій є те, що потреба в обробці форматів " +"IPv4 і IPv6 означає, що повідомлення про помилки надають мінімальну " +"інформацію про точну помилку, оскільки функції не знають, який формат був " +"передбачуваний: IPv4 чи IPv6. Більш детальні звіти про помилки можна " +"отримати, викликавши відповідні конструктори класів, що стосуються " +"конкретної версії." + +msgid "IP Addresses" +msgstr "IP-адреси" + +msgid "Address objects" +msgstr "Об'єкти адреси" + +msgid "" +"The :class:`IPv4Address` and :class:`IPv6Address` objects share a lot of " +"common attributes. Some attributes that are only meaningful for IPv6 " +"addresses are also implemented by :class:`IPv4Address` objects, in order to " +"make it easier to write code that handles both IP versions correctly. " +"Address objects are :term:`hashable`, so they can be used as keys in " +"dictionaries." +msgstr "" +"Об’єкти :class:`IPv4Address` і :class:`IPv6Address` мають багато спільних " +"атрибутів. Деякі атрибути, які мають значення лише для адрес IPv6, також " +"реалізовані об’єктами :class:`IPv4Address`, щоб полегшити написання коду, " +"який правильно обробляє обидві версії IP. Адресні об’єкти :term:`hashable`, " +"тому їх можна використовувати як ключі в словниках." + +msgid "" +"Construct an IPv4 address. An :exc:`AddressValueError` is raised if " +"*address* is not a valid IPv4 address." +msgstr "" +"Створіть адресу IPv4. Помилка :exc:`AddressValueError` виникає, якщо " +"*адреса* не є дійсною адресою IPv4." + +msgid "The following constitutes a valid IPv4 address:" +msgstr "Нижче наведено дійсну адресу IPv4:" + +msgid "" +"A string in decimal-dot notation, consisting of four decimal integers in the " +"inclusive range 0--255, separated by dots (e.g. ``192.168.0.1``). Each " +"integer represents an octet (byte) in the address. Leading zeroes are not " +"tolerated to prevent confusion with octal notation." +msgstr "" +"Рядок у десятковій точковій нотації, що складається з чотирьох цілих " +"десяткових чисел у діапазоні від 0 до 255, розділених крапками (наприклад, " +"``192.168.0.1``). Кожне ціле число представляє октет (байт) в адресі. " +"Початкові нулі не допускаються, щоб уникнути плутанини з вісімковою системою " +"запису." + +msgid "An integer that fits into 32 bits." +msgstr "Ціле число, яке вміщується в 32 біти." + +msgid "" +"An integer packed into a :class:`bytes` object of length 4 (most significant " +"octet first)." +msgstr "" +"Ціле число, упаковане в об’єкт :class:`bytes` довжиною 4 (старший октет " +"спочатку)." + +msgid "" +"Leading zeros are tolerated, even in ambiguous cases that look like octal " +"notation." +msgstr "" +"Початкові нулі допускаються, навіть у неоднозначних випадках, які виглядають " +"як вісімкове позначення." + +msgid "" +"Leading zeros are no longer tolerated and are treated as an error. IPv4 " +"address strings are now parsed as strict as glibc :func:`~socket.inet_pton`." +msgstr "" +"Початкові нулі більше не допускаються та розглядаються як помилка. Рядки " +"адреси IPv4 тепер аналізуються так само строго, як glibc :func:`~socket." +"inet_pton`." + +msgid "" +"The above change was also included in Python 3.9 starting with version 3.9.5." +msgstr "" +"Вищевказана зміна також була включена в Python 3.9, починаючи з версії 3.9.5." + +msgid "" +"The above change was also included in Python 3.8 starting with version " +"3.8.12." +msgstr "" +"Вищевказана зміна також була включена в Python 3.8, починаючи з версії " +"3.8.12." + +msgid "The appropriate version number: ``4`` for IPv4, ``6`` for IPv6." +msgstr "Відповідний номер версії: ``4`` для IPv4, ``6`` для IPv6." + +msgid "" +"The total number of bits in the address representation for this version: " +"``32`` for IPv4, ``128`` for IPv6." +msgstr "" +"Загальна кількість бітів у поданні адреси для цієї версії: ``32`` для IPv4, " +"``128`` для IPv6." + +msgid "" +"The prefix defines the number of leading bits in an address that are " +"compared to determine whether or not an address is part of a network." +msgstr "" +"Префікс визначає кількість початкових бітів в адресі, які порівнюються, щоб " +"визначити, чи є адреса частиною мережі." + +msgid "" +"The string representation in dotted decimal notation. Leading zeroes are " +"never included in the representation." +msgstr "" +"Представлення рядка в десятковій нотації з розділеними крапками. Початкові " +"нулі ніколи не включаються в представлення." + +msgid "" +"As IPv4 does not define a shorthand notation for addresses with octets set " +"to zero, these two attributes are always the same as ``str(addr)`` for IPv4 " +"addresses. Exposing these attributes makes it easier to write display code " +"that can handle both IPv4 and IPv6 addresses." +msgstr "" +"Оскільки IPv4 не визначає скороченого позначення для адрес з нульовими " +"октетами, ці два атрибути завжди збігаються з ``str(addr)`` для адрес IPv4. " +"Розкриття цих атрибутів полегшує написання коду відображення, який може " +"обробляти адреси IPv4 і IPv6." + +msgid "" +"The binary representation of this address - a :class:`bytes` object of the " +"appropriate length (most significant octet first). This is 4 bytes for IPv4 " +"and 16 bytes for IPv6." +msgstr "" +"Двійкове представлення цієї адреси – об’єкт :class:`bytes` відповідної " +"довжини (старший октет першим). Це 4 байти для IPv4 і 16 байтів для IPv6." + +msgid "The name of the reverse DNS PTR record for the IP address, e.g.::" +msgstr "Ім’я зворотного запису PTR DNS для IP-адреси, наприклад::" + +msgid "" +"This is the name that could be used for performing a PTR lookup, not the " +"resolved hostname itself." +msgstr "" +"Це ім’я, яке можна використовувати для пошуку PTR, а не саме розв’язане ім’я " +"хоста." + +msgid "" +"``True`` if the address is reserved for multicast use. See :RFC:`3171` (for " +"IPv4) or :RFC:`2373` (for IPv6)." +msgstr "" +"``True``, якщо адреса зарезервована для багатоадресного використання. Див. :" +"RFC:`3171` (для IPv4) або :RFC:`2373` (для IPv6)." + +msgid "" +"``True`` if the address is allocated for private networks. See iana-ipv4-" +"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6)." +msgstr "" +"``True``, якщо адреса призначена для приватних мереж. Перегляньте iana-ipv4-" +"special-registry_ (для IPv4) або iana-ipv6-special-registry_ (для IPv6)." + +msgid "" +"``True`` if the address is allocated for public networks. See iana-ipv4-" +"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6)." +msgstr "" +"``True``, якщо адреса призначена для загальнодоступних мереж. Перегляньте " +"iana-ipv4-special-registry_ (для IPv4) або iana-ipv6-special-registry_ (для " +"IPv6)." + +msgid "" +"``True`` if the address is unspecified. See :RFC:`5735` (for IPv4) or :RFC:" +"`2373` (for IPv6)." +msgstr "" +"``True``, якщо адреса не вказана. Див. :RFC:`5735` (для IPv4) або :RFC:" +"`2373` (для IPv6)." + +msgid "``True`` if the address is otherwise IETF reserved." +msgstr "``True``, якщо інакше адреса зарезервована IETF." + +msgid "" +"``True`` if this is a loopback address. See :RFC:`3330` (for IPv4) or :RFC:" +"`2373` (for IPv6)." +msgstr "" +"``True``, якщо це петлева адреса. Див. :RFC:`3330` (для IPv4) або :RFC:" +"`2373` (для IPv6)." + +msgid "" +"``True`` if the address is reserved for link-local usage. See :RFC:`3927`." +msgstr "" +"``True``, якщо адреса зарезервована для локального використання посилання. " +"Див. :RFC:`3927`." + +msgid "" +"Returns a string representation of the IP address, controlled by an explicit " +"format string. *fmt* can be one of the following: ``'s'``, the default " +"option, equivalent to :func:`str`, ``'b'`` for a zero-padded binary string, " +"``'X'`` or ``'x'`` for an uppercase or lowercase hexadecimal representation, " +"or ``'n'``, which is equivalent to ``'b'`` for IPv4 addresses and ``'x'`` " +"for IPv6. For binary and hexadecimal representations, the form specifier " +"``'#'`` and the grouping option ``'_'`` are available. ``__format__`` is " +"used by ``format``, ``str.format`` and f-strings." +msgstr "" +"Повертає рядкове представлення IP-адреси, кероване рядком явного формату. " +"*fmt* може бути одним із таких: ``'s'``, параметр за замовчуванням, " +"еквівалентний :func:`str`, ``'b'`` для двійкового рядка з доповненням нуля, " +"``'X '`` або ``'x'`` для шістнадцяткового представлення у верхньому чи " +"нижньому регістрі, або ``'n'``, що еквівалентно ``'b'`` для адрес IPv4 і " +"``'x'`` для IPv6. Для двійкових і шістнадцяткових представлень доступні " +"специфікатор форми ``'#'`` і опція групування ``'_'``. ``__format__`` " +"використовується ``format``, ``str.format`` і f-рядками." + +msgid "" +"Construct an IPv6 address. An :exc:`AddressValueError` is raised if " +"*address* is not a valid IPv6 address." +msgstr "" +"Створіть адресу IPv6. Помилка :exc:`AddressValueError` виникає, якщо " +"*адреса* не є дійсною адресою IPv6." + +msgid "The following constitutes a valid IPv6 address:" +msgstr "Нижче наведено дійсну адресу IPv6:" + +msgid "" +"A string consisting of eight groups of four hexadecimal digits, each group " +"representing 16 bits. The groups are separated by colons. This describes an " +"*exploded* (longhand) notation. The string can also be *compressed* " +"(shorthand notation) by various means. See :RFC:`4291` for details. For " +"example, ``\"0000:0000:0000:0000:0000:0abc:0007:0def\"`` can be compressed " +"to ``\"::abc:7:def\"``." +msgstr "" +"Рядок, що складається з восьми груп по чотири шістнадцяткові цифри, кожна " +"група представляє 16 біт. Групи розділені двокрапками. Це описує " +"*розгорнуту* (довгу) нотацію. Рядок також можна *стиснути* (скорочений " +"запис) різними способами. Докладніше див. :RFC:`4291`. Наприклад, ``" +"\"0000:0000:0000:0000:0000:0abc:0007:0def\"`` можна стиснути до ``\"::abc:7:" +"def\"``." + +msgid "" +"Optionally, the string may also have a scope zone ID, expressed with a " +"suffix ``%scope_id``. If present, the scope ID must be non-empty, and may " +"not contain ``%``. See :RFC:`4007` for details. For example, " +"``fe80::1234%1`` might identify address ``fe80::1234`` on the first link of " +"the node." +msgstr "" +"За бажанням рядок може також мати ідентифікатор зони видимості, виражений " +"суфіксом ``%scope_id``. Якщо присутній, ідентифікатор області має бути " +"непорожнім і не може містити \"%\". Докладніше див. :RFC:`4007`. Наприклад, " +"``fe80::1234%1`` може ідентифікувати адресу ``fe80::1234`` на першому " +"посиланні вузла." + +msgid "An integer that fits into 128 bits." +msgstr "Ціле число, яке вміщується в 128 біт." + +msgid "" +"An integer packed into a :class:`bytes` object of length 16, big-endian." +msgstr "" +"Ціле число, упаковане в об’єкт :class:`bytes` довжиною 16, старший порядок " +"байтів." + +msgid "" +"The short form of the address representation, with leading zeroes in groups " +"omitted and the longest sequence of groups consisting entirely of zeroes " +"collapsed to a single empty group." +msgstr "" +"Коротка форма подання адреси з опущеними початковими нулями в групах і " +"найдовшою послідовністю груп, що повністю складається з нулів, згорнута до " +"однієї порожньої групи." + +msgid "This is also the value returned by ``str(addr)`` for IPv6 addresses." +msgstr "Це також значення, яке повертає ``str(addr)`` для адрес IPv6." + +msgid "" +"The long form of the address representation, with all leading zeroes and " +"groups consisting entirely of zeroes included." +msgstr "" +"Довга форма подання адреси з усіма початковими нулями та групами, що " +"повністю складаються з нулів." + +msgid "" +"For the following attributes and methods, see the corresponding " +"documentation of the :class:`IPv4Address` class:" +msgstr "" +"Щоб дізнатися про такі атрибути та методи, перегляньте відповідну " +"документацію класу :class:`IPv4Address`:" + +msgid "is_global" +msgstr "is_global" + +msgid "" +"``True`` if the address is reserved for site-local usage. Note that the " +"site-local address space has been deprecated by :RFC:`3879`. Use :attr:" +"`~IPv4Address.is_private` to test if this address is in the space of unique " +"local addresses as defined by :RFC:`4193`." +msgstr "" +"``True``, якщо адреса зарезервована для локального використання сайту. " +"Зауважте, що :RFC:`3879` заборонив локальний адресний простір сайту. " +"Використовуйте :attr:`~IPv4Address.is_private`, щоб перевірити, чи ця адреса " +"входить до простору унікальних локальних адрес, як визначено :RFC:`4193`." + +msgid "" +"For addresses that appear to be IPv4 mapped addresses (starting with ``::" +"FFFF/96``), this property will report the embedded IPv4 address. For any " +"other address, this property will be ``None``." +msgstr "" +"Для адрес, які виглядають як зіставлені адреси IPv4 (починаючи з ``::" +"FFFF/96``), ця властивість повідомить про вбудовану адресу IPv4. Для будь-" +"якої іншої адреси ця властивість матиме значення ``None``." + +msgid "" +"For scoped addresses as defined by :RFC:`4007`, this property identifies the " +"particular zone of the address's scope that the address belongs to, as a " +"string. When no scope zone is specified, this property will be ``None``." +msgstr "" +"Для адрес із областю видимості, як визначено :RFC:`4007`, ця властивість " +"визначає конкретну зону області дії адреси, до якої належить адреса, як " +"рядок. Якщо зона видимості не вказана, ця властивість матиме значення " +"``None``." + +msgid "" +"For addresses that appear to be 6to4 addresses (starting with " +"``2002::/16``) as defined by :RFC:`3056`, this property will report the " +"embedded IPv4 address. For any other address, this property will be " +"``None``." +msgstr "" +"Для адрес, які виглядають як адреси 6to4 (починаючи з ``2002::/16``), як " +"визначено :RFC:`3056`, ця властивість повідомить про вбудовану адресу IPv4. " +"Для будь-якої іншої адреси ця властивість матиме значення ``None``." + +msgid "" +"For addresses that appear to be Teredo addresses (starting with " +"``2001::/32``) as defined by :RFC:`4380`, this property will report the " +"embedded ``(server, client)`` IP address pair. For any other address, this " +"property will be ``None``." +msgstr "" +"Для адрес, які виглядають як адреси Teredo (починаючи з ``2001::/32``), як " +"визначено :RFC:`4380`, ця властивість повідомить про вбудовану пару IP-адрес " +"``(сервер, клієнт)``. Для будь-якої іншої адреси ця властивість матиме " +"значення ``None``." + +msgid "" +"Refer to the corresponding method documentation in :class:`IPv4Address`." +msgstr "Зверніться до документації відповідного методу в :class:`IPv4Address`." + +msgid "Conversion to Strings and Integers" +msgstr "Перетворення на рядки та цілі числа" + +msgid "" +"To interoperate with networking interfaces such as the socket module, " +"addresses must be converted to strings or integers. This is handled using " +"the :func:`str` and :func:`int` builtin functions::" +msgstr "" +"Для взаємодії з мережевими інтерфейсами, такими як модуль сокета, адреси " +"повинні бути перетворені в рядки або цілі числа. Це обробляється за " +"допомогою вбудованих функцій :func:`str` і :func:`int`:" + +msgid "" +"Note that IPv6 scoped addresses are converted to integers without scope zone " +"ID." +msgstr "" +"Зауважте, що IPv6-адреси перетворюються на цілі числа без ідентифікатора " +"зони." + +msgid "Operators" +msgstr "Оператори" + +msgid "" +"Address objects support some operators. Unless stated otherwise, operators " +"can only be applied between compatible objects (i.e. IPv4 with IPv4, IPv6 " +"with IPv6)." +msgstr "" +"Об'єкти адреси підтримують деякі оператори. Якщо не зазначено інше, " +"оператори можна застосовувати лише між сумісними об’єктами (наприклад, IPv4 " +"з IPv4, IPv6 з IPv6)." + +msgid "Comparison operators" +msgstr "Оператори порівняння" + +msgid "" +"Address objects can be compared with the usual set of comparison operators. " +"Same IPv6 addresses with different scope zone IDs are not equal. Some " +"examples::" +msgstr "" +"Об'єкти адреси можна порівнювати за допомогою звичайного набору операторів " +"порівняння. Однакові IPv6-адреси з різними ідентифікаторами зон дії не " +"однакові. Деякі приклади::" + +msgid "Arithmetic operators" +msgstr "Арифметичні оператори" + +msgid "" +"Integers can be added to or subtracted from address objects. Some examples::" +msgstr "" +"Цілі числа можна додавати або віднімати від об’єктів адреси. Деякі приклади::" + +msgid "IP Network definitions" +msgstr "Визначення мережі IP" + +msgid "" +"The :class:`IPv4Network` and :class:`IPv6Network` objects provide a " +"mechanism for defining and inspecting IP network definitions. A network " +"definition consists of a *mask* and a *network address*, and as such defines " +"a range of IP addresses that equal the network address when masked (binary " +"AND) with the mask. For example, a network definition with the mask " +"``255.255.255.0`` and the network address ``192.168.1.0`` consists of IP " +"addresses in the inclusive range ``192.168.1.0`` to ``192.168.1.255``." +msgstr "" +"Об’єкти :class:`IPv4Network` і :class:`IPv6Network` забезпечують механізм " +"для визначення та перевірки визначень IP-мереж. Визначення мережі " +"складається з *маски* та *мережевої адреси*, і, таким чином, визначає " +"діапазон IP-адрес, які дорівнюють мережевій адресі, коли вона маскована " +"(двійкове І) з маскою. Наприклад, визначення мережі з маскою " +"``255.255.255.0`` і мережевою адресою ``192.168.1.0`` складається з IP-адрес " +"у включному діапазоні ``192.168.1.0`` до ``192.168.1.255`` ." + +msgid "Prefix, net mask and host mask" +msgstr "Префікс, маска мережі та маска хоста" + +msgid "" +"There are several equivalent ways to specify IP network masks. A *prefix* " +"``/`` is a notation that denotes how many high-order bits are set in " +"the network mask. A *net mask* is an IP address with some number of high-" +"order bits set. Thus the prefix ``/24`` is equivalent to the net mask " +"``255.255.255.0`` in IPv4, or ``ffff:ff00::`` in IPv6. In addition, a *host " +"mask* is the logical inverse of a *net mask*, and is sometimes used (for " +"example in Cisco access control lists) to denote a network mask. The host " +"mask equivalent to ``/24`` in IPv4 is ``0.0.0.255``." +msgstr "" +"Існує кілька еквівалентних способів вказати мережеві маски IP. *Префікс* ``/ " +"`` — це позначення, яке вказує, скільки старших бітів встановлено в " +"масці мережі. *Мережева маска* — це IP-адреса з певною кількістю " +"встановлених старших бітів. Таким чином, префікс ``/24`` еквівалентний масці " +"мережі ``255.255.255.0`` в IPv4 або ``ffff:ff00::`` в IPv6. Крім того, " +"*маска хоста* є логічною протилежністю *мережевої маски* та іноді " +"використовується (наприклад, у списках контролю доступу Cisco) для " +"позначення маски мережі. Маска хоста, еквівалентна ``/24`` в IPv4, є " +"``0.0.0.255``." + +msgid "Network objects" +msgstr "Об'єкти мережі" + +msgid "" +"All attributes implemented by address objects are implemented by network " +"objects as well. In addition, network objects implement additional " +"attributes. All of these are common between :class:`IPv4Network` and :class:" +"`IPv6Network`, so to avoid duplication they are only documented for :class:" +"`IPv4Network`. Network objects are :term:`hashable`, so they can be used as " +"keys in dictionaries." +msgstr "" +"Усі атрибути, реалізовані об’єктами адреси, також реалізуються об’єктами " +"мережі. Крім того, об'єкти мережі реалізують додаткові атрибути. Усі вони є " +"спільними для :class:`IPv4Network` та :class:`IPv6Network`, тому, щоб " +"уникнути дублювання, вони задокументовані лише для :class:`IPv4Network`. " +"Мережеві об’єкти :term:`hashable`, тому їх можна використовувати як ключі в " +"словниках." + +msgid "" +"Construct an IPv4 network definition. *address* can be one of the following:" +msgstr "" +"Створіть визначення мережі IPv4. *адреса* може бути однією з наступних:" + +msgid "" +"A string consisting of an IP address and an optional mask, separated by a " +"slash (``/``). The IP address is the network address, and the mask can be " +"either a single number, which means it's a *prefix*, or a string " +"representation of an IPv4 address. If it's the latter, the mask is " +"interpreted as a *net mask* if it starts with a non-zero field, or as a " +"*host mask* if it starts with a zero field, with the single exception of an " +"all-zero mask which is treated as a *net mask*. If no mask is provided, " +"it's considered to be ``/32``." +msgstr "" +"Рядок, що складається з IP-адреси та додаткової маски, розділених скісною " +"рискою (``/``). IP-адреса – це мережева адреса, а маска може бути або одним " +"числом, що означає, що це *префікс*, або рядковим представленням адреси " +"IPv4. Якщо це останнє, маска інтерпретується як *маска мережі*, якщо вона " +"починається з ненульового поля, або як *маска хоста*, якщо вона починається " +"з нульового поля, за винятком маски з усіма нулями який розглядається як " +"*мережева маска*. Якщо маска не вказана, вона вважається ``/32``." + +msgid "" +"For example, the following *address* specifications are equivalent: " +"``192.168.1.0/24``, ``192.168.1.0/255.255.255.0`` and " +"``192.168.1.0/0.0.0.255``." +msgstr "" +"Наприклад, такі специфікації *адреси* є еквівалентними: ``192.168.1.0/24``, " +"``192.168.1.0/255.255.255.0`` та ``192.168.1.0/0.0.0.255``." + +msgid "" +"An integer that fits into 32 bits. This is equivalent to a single-address " +"network, with the network address being *address* and the mask being ``/32``." +msgstr "" +"Ціле число, яке вміщується в 32 біти. Це еквівалентно одноадресній мережі, " +"де мережна адреса — *address*, а маска — ``/32``." + +msgid "" +"An integer packed into a :class:`bytes` object of length 4, big-endian. The " +"interpretation is similar to an integer *address*." +msgstr "" +"Ціле число, упаковане в об’єкт :class:`bytes` довжиною 4, старший порядок. " +"Інтерпретація подібна до цілої *адреси*." + +msgid "" +"A two-tuple of an address description and a netmask, where the address " +"description is either a string, a 32-bits integer, a 4-bytes packed integer, " +"or an existing IPv4Address object; and the netmask is either an integer " +"representing the prefix length (e.g. ``24``) or a string representing the " +"prefix mask (e.g. ``255.255.255.0``)." +msgstr "" +"Два кортежу з опису адреси та маски мережі, де опис адреси є або рядком, 32-" +"бітним цілим числом, 4-байтовим упакованим цілим числом або існуючим " +"об’єктом IPv4Address; а маска мережі є або цілим числом, що представляє " +"довжину префікса (наприклад, ``24``), або рядком, що представляє маску " +"префікса (наприклад, ``255.255.255.0``)." + +msgid "" +"An :exc:`AddressValueError` is raised if *address* is not a valid IPv4 " +"address. A :exc:`NetmaskValueError` is raised if the mask is not valid for " +"an IPv4 address." +msgstr "" +"Помилка :exc:`AddressValueError` виникає, якщо *адреса* не є дійсною адресою " +"IPv4. Помилка :exc:`NetmaskValueError` виникає, якщо маска недійсна для " +"адреси IPv4." + +msgid "" +"If *strict* is ``True`` and host bits are set in the supplied address, then :" +"exc:`ValueError` is raised. Otherwise, the host bits are masked out to " +"determine the appropriate network address." +msgstr "" +"Якщо *strict* має значення ``True`` і біти хоста встановлені в наданій " +"адресі, тоді виникає :exc:`ValueError`. В іншому випадку біти хоста " +"маскуються, щоб визначити відповідну мережеву адресу." + +msgid "" +"Unless stated otherwise, all network methods accepting other network/address " +"objects will raise :exc:`TypeError` if the argument's IP version is " +"incompatible to ``self``." +msgstr "" +"Якщо не вказано інше, усі мережеві методи, які приймають інші об’єкти мережі/" +"адреси, викличуть :exc:`TypeError`, якщо IP-версія аргументу несумісна з " +"``self``." + +msgid "Added the two-tuple form for the *address* constructor parameter." +msgstr "Додано форму двох кортежів для параметра конструктора *адреса*." + +msgid "" +"Refer to the corresponding attribute documentation in :class:`IPv4Address`." +msgstr "" +"Зверніться до відповідної документації атрибутів у :class:`IPv4Address`." + +msgid "" +"These attributes are true for the network as a whole if they are true for " +"both the network address and the broadcast address." +msgstr "" +"Ці атрибути дійсні для мережі в цілому, якщо вони справедливі як для адреси " +"мережі, так і для широкомовної адреси." + +msgid "" +"The network address for the network. The network address and the prefix " +"length together uniquely define a network." +msgstr "" +"Мережева адреса для мережі. Адреса мережі та довжина префікса разом " +"однозначно визначають мережу." + +msgid "" +"The broadcast address for the network. Packets sent to the broadcast address " +"should be received by every host on the network." +msgstr "" +"Широкомовна адреса для мережі. Пакети, надіслані на широкомовну адресу, " +"повинні бути отримані кожним хостом у мережі." + +msgid "The host mask, as an :class:`IPv4Address` object." +msgstr "Маска хоста як об’єкт :class:`IPv4Address`." + +msgid "The net mask, as an :class:`IPv4Address` object." +msgstr "Маска мережі як об’єкт :class:`IPv4Address`." + +msgid "" +"A string representation of the network, with the mask in prefix notation." +msgstr "Рядкове представлення мережі з маскою в нотації префікса." + +msgid "" +"``with_prefixlen`` and ``compressed`` are always the same as " +"``str(network)``. ``exploded`` uses the exploded form the network address." +msgstr "" +"``with_prefixlen`` і ``compressed`` завжди однакові з ``str(network)``. " +"``exploded`` використовує розчленовану форму мережевої адреси." + +msgid "" +"A string representation of the network, with the mask in net mask notation." +msgstr "Рядкове представлення мережі з маскою в нотації маски мережі." + +msgid "" +"A string representation of the network, with the mask in host mask notation." +msgstr "Рядкове представлення мережі з маскою в нотації маски хоста." + +msgid "The total number of addresses in the network." +msgstr "Загальна кількість адрес у мережі." + +msgid "Length of the network prefix, in bits." +msgstr "Довжина мережевого префікса в бітах." + +msgid "" +"Returns an iterator over the usable hosts in the network. The usable hosts " +"are all the IP addresses that belong to the network, except the network " +"address itself and the network broadcast address. For networks with a mask " +"length of 31, the network address and network broadcast address are also " +"included in the result. Networks with a mask of 32 will return a list " +"containing the single host address." +msgstr "" +"Повертає ітератор для придатних для використання хостів у мережі. " +"Використовувані хости — це всі IP-адреси, які належать до мережі, за " +"винятком самої мережевої адреси та широкомовної адреси мережі. Для мереж із " +"довжиною маски 31 мережева адреса та широкомовна адреса мережі також " +"включені в результат. Мережі з маскою 32 повертатимуть список, що містить " +"одну адресу хоста." + +msgid "" +"``True`` if this network is partly or wholly contained in *other* or *other* " +"is wholly contained in this network." +msgstr "" +"``Правда``, якщо ця мережа частково або повністю міститься в *other* або " +"*other* повністю міститься в цій мережі." + +msgid "" +"Computes the network definitions resulting from removing the given *network* " +"from this one. Returns an iterator of network objects. Raises :exc:" +"`ValueError` if *network* is not completely contained in this network." +msgstr "" +"Обчислює визначення мережі в результаті видалення даної *мережі* з цієї. " +"Повертає ітератор мережевих об’єктів. Викликає :exc:`ValueError`, якщо " +"*мережа* не повністю міститься в цій мережі." + +msgid "" +"The subnets that join to make the current network definition, depending on " +"the argument values. *prefixlen_diff* is the amount our prefix length " +"should be increased by. *new_prefix* is the desired new prefix of the " +"subnets; it must be larger than our prefix. One and only one of " +"*prefixlen_diff* and *new_prefix* must be set. Returns an iterator of " +"network objects." +msgstr "" +"Підмережі, які об’єднуються для створення поточного визначення мережі, " +"залежно від значень аргументів. *prefixlen_diff* — це величина, на яку має " +"бути збільшена довжина нашого префікса. *new_prefix* — бажаний новий префікс " +"підмереж; він повинен бути більшим за наш префікс. Має бути встановлено один " +"і тільки один з *prefixlen_diff* і *new_prefix*. Повертає ітератор мережевих " +"об’єктів." + +msgid "" +"The supernet containing this network definition, depending on the argument " +"values. *prefixlen_diff* is the amount our prefix length should be " +"decreased by. *new_prefix* is the desired new prefix of the supernet; it " +"must be smaller than our prefix. One and only one of *prefixlen_diff* and " +"*new_prefix* must be set. Returns a single network object." +msgstr "" +"Супермережа, що містить це визначення мережі, залежно від значень " +"аргументів. *prefixlen_diff* — це величина, на яку має бути зменшена довжина " +"нашого префікса. *new_prefix* — бажаний новий префікс супермережі; він " +"повинен бути меншим за наш префікс. Має бути встановлено один і тільки один " +"з *prefixlen_diff* і *new_prefix*. Повертає єдиний мережевий об’єкт." + +msgid "Return ``True`` if this network is a subnet of *other*." +msgstr "Повертає ``True``, якщо ця мережа є підмережею *other*." + +msgid "Return ``True`` if this network is a supernet of *other*." +msgstr "Повертає ``True``, якщо ця мережа є супермережею *other*." + +msgid "" +"Compare this network to *other*. In this comparison only the network " +"addresses are considered; host bits aren't. Returns either ``-1``, ``0`` or " +"``1``." +msgstr "" +"Порівняйте цю мережу з *іншою*. У цьому порівнянні розглядаються лише " +"мережеві адреси; біти хоста не є. Повертає ``-1``, ``0`` або ``1``." + +msgid "" +"It uses the same ordering and comparison algorithm as \"<\", \"==\", and \">" +"\"" +msgstr "" +"Він використовує той самий алгоритм упорядкування та порівняння, що й \" <" +"\", \"==\", and \"> \"" + +msgid "" +"Construct an IPv6 network definition. *address* can be one of the following:" +msgstr "" +"Створіть визначення мережі IPv6. *адреса* може бути однією з наступних:" + +msgid "" +"A string consisting of an IP address and an optional prefix length, " +"separated by a slash (``/``). The IP address is the network address, and " +"the prefix length must be a single number, the *prefix*. If no prefix " +"length is provided, it's considered to be ``/128``." +msgstr "" +"Рядок, що складається з IP-адреси та додаткової довжини префікса, розділених " +"похилою рискою (``/``). IP-адреса – це мережева адреса, а довжина префікса " +"має бути одним числом, *префіксом*. Якщо довжина префікса не вказана, він " +"вважається ``/128``." + +msgid "" +"Note that currently expanded netmasks are not supported. That means ``2001:" +"db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` is not." +msgstr "" +"Зауважте, що наразі розширені маски мережі не підтримуються. Це означає, що " +"``2001:db00::0/24`` є дійсним аргументом, а ``2001:db00::0/ffff:ff00::`` ні." + +msgid "" +"An integer that fits into 128 bits. This is equivalent to a single-address " +"network, with the network address being *address* and the mask being " +"``/128``." +msgstr "" +"Ціле число, яке вміщується в 128 біт. Це еквівалентно одноадресній мережі, " +"де мережна адреса — *address*, а маска — ``/128``." + +msgid "" +"An integer packed into a :class:`bytes` object of length 16, big-endian. The " +"interpretation is similar to an integer *address*." +msgstr "" +"Ціле число, упаковане в об’єкт :class:`bytes` довжиною 16, старший порядок " +"байтів. Інтерпретація подібна до цілої *адреси*." + +msgid "" +"A two-tuple of an address description and a netmask, where the address " +"description is either a string, a 128-bits integer, a 16-bytes packed " +"integer, or an existing IPv6Address object; and the netmask is an integer " +"representing the prefix length." +msgstr "" +"Два кортежу з опису адреси та маски мережі, де опис адреси є або рядком, 128-" +"бітним цілим числом, 16-байтовим упакованим цілим числом або існуючим " +"об’єктом IPv6Address; і маска мережі є цілим числом, що представляє довжину " +"префікса." + +msgid "" +"An :exc:`AddressValueError` is raised if *address* is not a valid IPv6 " +"address. A :exc:`NetmaskValueError` is raised if the mask is not valid for " +"an IPv6 address." +msgstr "" +"Помилка :exc:`AddressValueError` виникає, якщо *адреса* не є дійсною адресою " +"IPv6. Помилка :exc:`NetmaskValueError` виникає, якщо маска недійсна для " +"адреси IPv6." + +msgid "" +"Returns an iterator over the usable hosts in the network. The usable hosts " +"are all the IP addresses that belong to the network, except the Subnet-" +"Router anycast address. For networks with a mask length of 127, the Subnet-" +"Router anycast address is also included in the result. Networks with a mask " +"of 128 will return a list containing the single host address." +msgstr "" +"Повертає ітератор для придатних для використання хостів у мережі. " +"Використовувані хости — це всі IP-адреси, які належать до мережі, за " +"винятком будь-адреси маршрутизатора підмережі. Для мереж із довжиною маски " +"127 у результат також включено будь-яку адресу підмережного маршрутизатора. " +"Мережі з маскою 128 повертатимуть список, що містить одну адресу хоста." + +msgid "" +"Refer to the corresponding attribute documentation in :class:`IPv4Network`." +msgstr "" +"Зверніться до відповідної документації атрибутів у :class:`IPv4Network`." + +msgid "" +"These attribute is true for the network as a whole if it is true for both " +"the network address and the broadcast address." +msgstr "" +"Цей атрибут є істинним для мережі в цілому, якщо він є істинним як для " +"адреси мережі, так і для широкомовної адреси." + +msgid "" +"Network objects support some operators. Unless stated otherwise, operators " +"can only be applied between compatible objects (i.e. IPv4 with IPv4, IPv6 " +"with IPv6)." +msgstr "" +"Мережні об'єкти підтримують деякі оператори. Якщо не зазначено інше, " +"оператори можна застосовувати лише між сумісними об’єктами (наприклад, IPv4 " +"з IPv4, IPv6 з IPv6)." + +msgid "Logical operators" +msgstr "Логічні оператори" + +msgid "" +"Network objects can be compared with the usual set of logical operators. " +"Network objects are ordered first by network address, then by net mask." +msgstr "" +"Мережеві об'єкти можна порівняти зі звичайним набором логічних операторів. " +"Мережні об’єкти впорядковуються спочатку за мережевою адресою, а потім за " +"маскою мережі." + +msgid "Iteration" +msgstr "Ітерація" + +msgid "" +"Network objects can be iterated to list all the addresses belonging to the " +"network. For iteration, *all* hosts are returned, including unusable hosts " +"(for usable hosts, use the :meth:`~IPv4Network.hosts` method). An example::" +msgstr "" +"Об’єкти мережі можна повторювати, щоб отримати список усіх адрес, що " +"належать до мережі. Для ітерації повертаються *всі* хости, включаючи " +"непридатні хости (для придатних хостів використовуйте метод :meth:" +"`~IPv4Network.hosts`). Приклад::" + +msgid "Networks as containers of addresses" +msgstr "Мережі як контейнери адрес" + +msgid "Network objects can act as containers of addresses. Some examples::" +msgstr "" +"Мережеві об'єкти можуть виконувати роль контейнерів адрес. Деякі приклади::" + +msgid "Interface objects" +msgstr "Об'єкти інтерфейсу" + +msgid "" +"Interface objects are :term:`hashable`, so they can be used as keys in " +"dictionaries." +msgstr "" +"Об’єкти інтерфейсу :term:`hashable`, тому їх можна використовувати як ключі " +"в словниках." + +msgid "" +"Construct an IPv4 interface. The meaning of *address* is as in the " +"constructor of :class:`IPv4Network`, except that arbitrary host addresses " +"are always accepted." +msgstr "" +"Побудуйте інтерфейс IPv4. Значення *адреси* таке ж, як і в конструкторі :" +"class:`IPv4Network`, за винятком того, що довільні адреси хостів завжди " +"приймаються." + +msgid "" +":class:`IPv4Interface` is a subclass of :class:`IPv4Address`, so it inherits " +"all the attributes from that class. In addition, the following attributes " +"are available:" +msgstr "" +":class:`IPv4Interface` є підкласом :class:`IPv4Address`, тому він успадковує " +"всі атрибути цього класу. Крім того, доступні такі атрибути:" + +msgid "The address (:class:`IPv4Address`) without network information." +msgstr "Адреса (:class:`IPv4Address`) без інформації про мережу." + +msgid "The network (:class:`IPv4Network`) this interface belongs to." +msgstr "Мережа (:class:`IPv4Network`), до якої належить цей інтерфейс." + +msgid "" +"A string representation of the interface with the mask in prefix notation." +msgstr "Рядкове представлення інтерфейсу з маскою в префіксній нотації." + +msgid "" +"A string representation of the interface with the network as a net mask." +msgstr "Рядкове представлення інтерфейсу з мережею як мережевою маскою." + +msgid "" +"A string representation of the interface with the network as a host mask." +msgstr "Рядкове представлення інтерфейсу з мережею як маскою хоста." + +msgid "" +"Construct an IPv6 interface. The meaning of *address* is as in the " +"constructor of :class:`IPv6Network`, except that arbitrary host addresses " +"are always accepted." +msgstr "" +"Побудуйте інтерфейс IPv6. Значення *address* таке ж, як і в конструкторі :" +"class:`IPv6Network`, за винятком того, що довільні адреси хостів завжди " +"приймаються." + +msgid "" +":class:`IPv6Interface` is a subclass of :class:`IPv6Address`, so it inherits " +"all the attributes from that class. In addition, the following attributes " +"are available:" +msgstr "" +":class:`IPv6Interface` є підкласом :class:`IPv6Address`, тому він успадковує " +"всі атрибути цього класу. Крім того, доступні такі атрибути:" + +msgid "" +"Refer to the corresponding attribute documentation in :class:`IPv4Interface`." +msgstr "" +"Зверніться до відповідної документації атрибутів у :class:`IPv4Interface`." + +msgid "" +"Interface objects support some operators. Unless stated otherwise, " +"operators can only be applied between compatible objects (i.e. IPv4 with " +"IPv4, IPv6 with IPv6)." +msgstr "" +"Об'єкти інтерфейсу підтримують деякі оператори. Якщо не зазначено інше, " +"оператори можна застосовувати лише між сумісними об’єктами (наприклад, IPv4 " +"з IPv4, IPv6 з IPv6)." + +msgid "" +"Interface objects can be compared with the usual set of logical operators." +msgstr "" +"Об'єкти інтерфейсу можна порівняти зі звичайним набором логічних операторів." + +msgid "" +"For equality comparison (``==`` and ``!=``), both the IP address and network " +"must be the same for the objects to be equal. An interface will not compare " +"equal to any address or network object." +msgstr "" +"Для порівняння рівності (``==`` і ``!=``) IP-адреса та мережа мають бути " +"однаковими, щоб об’єкти були однаковими. Інтерфейс не порівнюватиметься з " +"будь-якою адресою чи мережевим об’єктом." + +msgid "" +"For ordering (``<``, ``>``, etc) the rules are different. Interface and " +"address objects with the same IP version can be compared, and the address " +"objects will always sort before the interface objects. Two interface " +"objects are first compared by their networks and, if those are the same, " +"then by their IP addresses." +msgstr "" +"Для впорядкування (``<``, ``>`` тощо) правила відрізняються. Об’єкти " +"інтерфейсу та адреси з однаковою версією IP можна порівнювати, і об’єкти " +"адреси завжди будуть сортуватися перед об’єктами інтерфейсу. Два об’єкти " +"інтерфейсу спочатку порівнюються за їхніми мережами, а якщо вони однакові, " +"то за їхніми IP-адресами." + +msgid "Other Module Level Functions" +msgstr "Інші функції рівня модуля" + +msgid "The module also provides the following module level functions:" +msgstr "Модуль також надає такі функції рівня модуля:" + +msgid "" +"Represent an address as 4 packed bytes in network (big-endian) order. " +"*address* is an integer representation of an IPv4 IP address. A :exc:" +"`ValueError` is raised if the integer is negative or too large to be an IPv4 " +"IP address." +msgstr "" +"Представлення адреси у вигляді 4 упакованих байтів у мережевому порядку (від " +"старшого до старшого). *адреса* — це ціле числове представлення IP-адреси " +"IPv4. Помилка :exc:`ValueError` виникає, якщо ціле число від’ємне або " +"завелике, щоб бути IP-адресою IPv4." + +msgid "" +"Represent an address as 16 packed bytes in network (big-endian) order. " +"*address* is an integer representation of an IPv6 IP address. A :exc:" +"`ValueError` is raised if the integer is negative or too large to be an IPv6 " +"IP address." +msgstr "" +"Представлення адреси у вигляді 16 упакованих байтів у мережевому порядку " +"(від старшого до старшого). *адреса* — це ціле числове представлення IP-" +"адреси IPv6. Помилка :exc:`ValueError` виникає, якщо ціле число від’ємне або " +"завелике для IP-адреси IPv6." + +msgid "" +"Return an iterator of the summarized network range given the first and last " +"IP addresses. *first* is the first :class:`IPv4Address` or :class:" +"`IPv6Address` in the range and *last* is the last :class:`IPv4Address` or :" +"class:`IPv6Address` in the range. A :exc:`TypeError` is raised if *first* " +"or *last* are not IP addresses or are not of the same version. A :exc:" +"`ValueError` is raised if *last* is not greater than *first* or if *first* " +"address version is not 4 or 6." +msgstr "" +"Повертає ітератор сумарного мережевого діапазону з урахуванням першої та " +"останньої IP-адрес. *first* — це перша :class:`IPv4Address` або :class:" +"`IPv6Address` у діапазоні, а *last* — це остання :class:`IPv4Address` або :" +"class:`IPv6Address` у діапазоні. Помилка :exc:`TypeError` виникає, якщо " +"*first* або *last* не є IP-адресами або мають різну версію. Помилка :exc:" +"`ValueError` виникає, якщо *last* не перевищує *first* або якщо *first* " +"версія адреси не 4 або 6." + +msgid "" +"Return an iterator of the collapsed :class:`IPv4Network` or :class:" +"`IPv6Network` objects. *addresses* is an iterator of :class:`IPv4Network` " +"or :class:`IPv6Network` objects. A :exc:`TypeError` is raised if " +"*addresses* contains mixed version objects." +msgstr "" +"Повертає ітератор згорнутих об’єктів :class:`IPv4Network` або :class:" +"`IPv6Network`. *addresses* є ітератором об’єктів :class:`IPv4Network` або :" +"class:`IPv6Network`. Помилка :exc:`TypeError` виникає, якщо *адреси* містять " +"об’єкти змішаної версії." + +msgid "" +"Return a key suitable for sorting between networks and addresses. Address " +"and Network objects are not sortable by default; they're fundamentally " +"different, so the expression::" +msgstr "" +"Повертає ключ, придатний для сортування між мережами та адресами. Об’єкти " +"\"Адреса\" та \"Мережа\" не можна сортувати за замовчуванням; вони " +"принципово різні, тому вираз::" + +msgid "" +"doesn't make sense. There are some times however, where you may wish to " +"have :mod:`ipaddress` sort these anyway. If you need to do this, you can " +"use this function as the *key* argument to :func:`sorted()`." +msgstr "" +"не має сенсу. Однак іноді вам може знадобитися, щоб :mod:`ipaddress` все " +"одно відсортував їх. Якщо вам потрібно це зробити, ви можете використовувати " +"цю функцію як *ключовий* аргумент для :func:`sorted()`." + +msgid "*obj* is either a network or address object." +msgstr "*obj* — це об’єкт мережі або адреси." + +msgid "Custom Exceptions" +msgstr "Спеціальні винятки" + +msgid "" +"To support more specific error reporting from class constructors, the module " +"defines the following exceptions:" +msgstr "" +"Щоб підтримувати більш конкретні звіти про помилки від конструкторів класів, " +"модуль визначає наступні винятки:" + +msgid "Any value error related to the address." +msgstr "Будь-яка помилка значення, пов’язана з адресою." + +msgid "Any value error related to the net mask." +msgstr "Будь-яка помилка значення, пов’язана з маскою мережі." diff --git a/library/ipc.po b/library/ipc.po new file mode 100644 index 000000000..a8486f374 --- /dev/null +++ b/library/ipc.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Networking and Interprocess Communication" +msgstr "Мережа та міжпроцесна комунікація" + +msgid "" +"The modules described in this chapter provide mechanisms for networking and " +"inter-processes communication." +msgstr "" +"Модулі, описані в цьому розділі, надають механізми для мереж і зв’язку між " +"процесами." + +msgid "" +"Some modules only work for two processes that are on the same machine, e.g. :" +"mod:`signal` and :mod:`mmap`. Other modules support networking protocols " +"that two or more processes can use to communicate across machines." +msgstr "" +"Деякі модулі працюють лише для двох процесів, які знаходяться на одній " +"машині, напр. :mod:`signal` і :mod:`mmap`. Інші модулі підтримують мережеві " +"протоколи, які два або більше процесів можуть використовувати для обміну " +"даними між машинами." + +msgid "The list of modules described in this chapter is:" +msgstr "Перелік модулів, описаних у цьому розділі:" diff --git a/library/itertools.po b/library/itertools.po new file mode 100644 index 000000000..4d8d464bd --- /dev/null +++ b/library/itertools.po @@ -0,0 +1,842 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`itertools` --- Functions creating iterators for efficient looping" +msgstr "" +":mod:`itertools` --- Функції, що створюють ітератори для ефективного циклу" + +msgid "" +"This module implements a number of :term:`iterator` building blocks inspired " +"by constructs from APL, Haskell, and SML. Each has been recast in a form " +"suitable for Python." +msgstr "" +"Цей модуль реалізує кілька будівельних блоків :term:`iterator`, натхненних " +"конструкціями з APL, Haskell і SML. Кожен був перероблений у формі, " +"придатній для Python." + +msgid "" +"The module standardizes a core set of fast, memory efficient tools that are " +"useful by themselves or in combination. Together, they form an \"iterator " +"algebra\" making it possible to construct specialized tools succinctly and " +"efficiently in pure Python." +msgstr "" +"Модуль стандартизує основний набір швидких, ефективних інструментів пам’яті, " +"які корисні окремо або в комбінації. Разом вони утворюють \"алгебру " +"ітераторів\", що дає змогу створювати спеціалізовані інструменти лаконічно " +"та ефективно на чистому Python." + +msgid "" +"For instance, SML provides a tabulation tool: ``tabulate(f)`` which produces " +"a sequence ``f(0), f(1), ...``. The same effect can be achieved in Python " +"by combining :func:`map` and :func:`count` to form ``map(f, count())``." +msgstr "" +"Наприклад, SML надає інструмент табуляції: ``tabulate(f)``, який створює " +"послідовність ``f(0), f(1), ...``. Такого ж ефекту можна досягти в Python, " +"об’єднавши :func:`map` і :func:`count` для формування ``map(f, count())``." + +msgid "" +"These tools and their built-in counterparts also work well with the high-" +"speed functions in the :mod:`operator` module. For example, the " +"multiplication operator can be mapped across two vectors to form an " +"efficient dot-product: ``sum(map(operator.mul, vector1, vector2))``." +msgstr "" +"Ці інструменти та їхні вбудовані аналоги також добре працюють із " +"високошвидкісними функціями в модулі :mod:`operator`. Наприклад, оператор " +"множення можна відобразити на два вектори для формування ефективного " +"скалярного добутку: ``sum(map(operator.mul, vector1, vector2))``." + +msgid "**Infinite iterators:**" +msgstr "**Нескінченні ітератори:**" + +msgid "Iterator" +msgstr "Ітератор" + +msgid "Arguments" +msgstr "Аргументи" + +msgid "Results" +msgstr "Результати" + +msgid "Example" +msgstr "приклад" + +msgid ":func:`count`" +msgstr ":func:`count`" + +msgid "start, [step]" +msgstr "початок, [крок]" + +msgid "start, start+step, start+2*step, ..." +msgstr "початок, початок+крок, початок+2*крок, ..." + +msgid "``count(10) --> 10 11 12 13 14 ...``" +msgstr "``count(10) --> 10 11 12 13 14 ...``" + +msgid ":func:`cycle`" +msgstr ":func:`cycle`" + +msgid "p" +msgstr "стор" + +msgid "p0, p1, ... plast, p0, p1, ..." +msgstr "p0, p1, ... plast, p0, p1, ..." + +msgid "``cycle('ABCD') --> A B C D A B C D ...``" +msgstr "``цикл('ABCD') --> A B C D A B C D ...``" + +msgid ":func:`repeat`" +msgstr ":func:`repeat`" + +msgid "elem [,n]" +msgstr "елемент [,n]" + +msgid "elem, elem, elem, ... endlessly or up to n times" +msgstr "елем, елем, елем, ... нескінченно або до n разів" + +msgid "``repeat(10, 3) --> 10 10 10``" +msgstr "``повторити(10, 3) --> 10 10 10``" + +msgid "**Iterators terminating on the shortest input sequence:**" +msgstr "**Ітератори, що завершуються на найкоротшій вхідній послідовності:**" + +msgid ":func:`accumulate`" +msgstr ":func:`accumulate`" + +msgid "p [,func]" +msgstr "p [,func]" + +msgid "p0, p0+p1, p0+p1+p2, ..." +msgstr "p0, p0+p1, p0+p1+p2, ..." + +msgid "``accumulate([1,2,3,4,5]) --> 1 3 6 10 15``" +msgstr "``накопичувати([1,2,3,4,5]) --> 1 3 6 10 15``" + +msgid ":func:`chain`" +msgstr ":func:`chain`" + +msgid "p, q, ..." +msgstr "p, q, ..." + +msgid "p0, p1, ... plast, q0, q1, ..." +msgstr "p0, p1, ... plast, q0, q1, ..." + +msgid "``chain('ABC', 'DEF') --> A B C D E F``" +msgstr "``ланцюг('ABC', 'DEF') --> A B C D E F``" + +msgid ":func:`chain.from_iterable`" +msgstr ":func:`chain.from_iterable`" + +msgid "iterable" +msgstr "ітерований" + +msgid "``chain.from_iterable(['ABC', 'DEF']) --> A B C D E F``" +msgstr "``chain.from_iterable(['ABC', 'DEF']) --> A B C D E F``" + +msgid ":func:`compress`" +msgstr ":func:`compress`" + +msgid "data, selectors" +msgstr "дані, селектори" + +msgid "(d[0] if s[0]), (d[1] if s[1]), ..." +msgstr "(d[0], якщо s[0]), (d[1], якщо s[1]), ..." + +msgid "``compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F``" +msgstr "``стиснути('ABCDEF', [1,0,1,0,1,1]) --> A C E F``" + +msgid ":func:`dropwhile`" +msgstr ":func:`dropwhile`" + +msgid "pred, seq" +msgstr "перед, посл" + +msgid "seq[n], seq[n+1], starting when pred fails" +msgstr "seq[n], seq[n+1], починаючи з невдачі pred" + +msgid "``dropwhile(lambda x: x<5, [1,4,6,4,1]) --> 6 4 1``" +msgstr "``dropwhile(лямбда x: x <5, [1,4,6,4,1]) --> 6 4 1``" + +msgid ":func:`filterfalse`" +msgstr ":func:`filterfalse`" + +msgid "elements of seq where pred(elem) is false" +msgstr "елементи seq, де pred(elem) false" + +msgid "``filterfalse(lambda x: x%2, range(10)) --> 0 2 4 6 8``" +msgstr "``filterfalse(лямбда x: x%2, діапазон(10)) --> 0 2 4 6 8``" + +msgid ":func:`groupby`" +msgstr ":func:`groupby`" + +msgid "iterable[, key]" +msgstr "ітерований [, ключ]" + +msgid "sub-iterators grouped by value of key(v)" +msgstr "субітератори, згруповані за значенням ключа (v)" + +msgid ":func:`islice`" +msgstr ":func:`islice`" + +msgid "seq, [start,] stop [, step]" +msgstr "seq, [початок,] зупинка [, крок]" + +msgid "elements from seq[start:stop:step]" +msgstr "елементи з seq[start:stop:step]" + +msgid "``islice('ABCDEFG', 2, None) --> C D E F G``" +msgstr "``islice('ABCDEFG', 2, None) --> C D E F G``" + +msgid ":func:`pairwise`" +msgstr ":func:`pairwise`" + +msgid "(p[0], p[1]), (p[1], p[2])" +msgstr "(p[0], p[1]), (p[1], p[2])" + +msgid "``pairwise('ABCDEFG') --> AB BC CD DE EF FG``" +msgstr "``попарно('ABCDEFG') --> AB BC CD DE EF FG``" + +msgid ":func:`starmap`" +msgstr ":func:`starmap`" + +msgid "func, seq" +msgstr "функція, посл" + +msgid "func(\\*seq[0]), func(\\*seq[1]), ..." +msgstr "func(\\*seq[0]), func(\\*seq[1]), ..." + +msgid "``starmap(pow, [(2,5), (3,2), (10,3)]) --> 32 9 1000``" +msgstr "``зоряна карта(pow, [(2,5), (3,2), (10,3)]) --> 32 9 1000``" + +msgid ":func:`takewhile`" +msgstr ":func:`takewhile`" + +msgid "seq[0], seq[1], until pred fails" +msgstr "seq[0], seq[1], поки pred не вийде" + +msgid "``takewhile(lambda x: x<5, [1,4,6,4,1]) --> 1 4``" +msgstr "``takewhile(лямбда x: x <5, [1,4,6,4,1]) --> 1 4``" + +msgid ":func:`tee`" +msgstr ":func:`tee`" + +msgid "it, n" +msgstr "воно, п" + +msgid "it1, it2, ... itn splits one iterator into n" +msgstr "it1, it2, ... itn розділяє один ітератор на n" + +msgid ":func:`zip_longest`" +msgstr ":func:`zip_longest`" + +msgid "(p[0], q[0]), (p[1], q[1]), ..." +msgstr "(p[0], q[0]), (p[1], q[1]), ..." + +msgid "``zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D-``" +msgstr "``zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D-``" + +msgid "**Combinatoric iterators:**" +msgstr "**Комбінаторні ітератори:**" + +msgid ":func:`product`" +msgstr ":func:`product`" + +msgid "p, q, ... [repeat=1]" +msgstr "p, q, ... [repeat=1]" + +msgid "cartesian product, equivalent to a nested for-loop" +msgstr "декартовий добуток, еквівалентний вкладеному циклу for" + +msgid ":func:`permutations`" +msgstr ":func:`permutations`" + +msgid "p[, r]" +msgstr "p[, r]" + +msgid "r-length tuples, all possible orderings, no repeated elements" +msgstr "" +"кортежі довжини r, усі можливі впорядкування, відсутність повторюваних " +"елементів" + +msgid ":func:`combinations`" +msgstr ":func:`combinations`" + +msgid "p, r" +msgstr "п, р" + +msgid "r-length tuples, in sorted order, no repeated elements" +msgstr "" +"кортежі довжини r, у відсортованому порядку, без повторюваних елементів" + +msgid ":func:`combinations_with_replacement`" +msgstr ":func:`комбінації_із_заміною`" + +msgid "r-length tuples, in sorted order, with repeated elements" +msgstr "" +"кортежі довжини r, у відсортованому порядку, з повторюваними елементами" + +msgid "Examples" +msgstr "Приклади" + +msgid "``product('ABCD', repeat=2)``" +msgstr "``product('ABCD', repeat=2)``" + +msgid "``AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD``" +msgstr "``AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD``" + +msgid "``permutations('ABCD', 2)``" +msgstr "``перестановки('ABCD', 2)``" + +msgid "``AB AC AD BA BC BD CA CB CD DA DB DC``" +msgstr "``AB AC AD BA BC BD CA CB CD DA DB DC``" + +msgid "``combinations('ABCD', 2)``" +msgstr "``combinations('ABCD', 2)``" + +msgid "``AB AC AD BC BD CD``" +msgstr "``AB AC AD BC BD CD``" + +msgid "``combinations_with_replacement('ABCD', 2)``" +msgstr "``combinations_with_replacement('ABCD', 2)``" + +msgid "``AA AB AC AD BB BC BD CC CD DD``" +msgstr "``AA AB AC AD BB BC BD CC CD DD``" + +msgid "Itertool functions" +msgstr "Функції Itertool" + +msgid "" +"The following module functions all construct and return iterators. Some " +"provide streams of infinite length, so they should only be accessed by " +"functions or loops that truncate the stream." +msgstr "" +"У наступному модулі функціонують усі ітератори конструкцій і повернення. " +"Деякі надають потоки нескінченної довжини, тому до них мають звертатися лише " +"функції або цикли, які скорочують потік." + +msgid "" +"Make an iterator that returns accumulated sums, or accumulated results of " +"other binary functions (specified via the optional *func* argument)." +msgstr "" +"Створіть ітератор, який повертає накопичені суми або накопичені результати " +"інших бінарних функцій (зазначених за допомогою необов’язкового аргументу " +"*func*)." + +msgid "" +"If *func* is supplied, it should be a function of two arguments. Elements of " +"the input *iterable* may be any type that can be accepted as arguments to " +"*func*. (For example, with the default operation of addition, elements may " +"be any addable type including :class:`~decimal.Decimal` or :class:" +"`~fractions.Fraction`.)" +msgstr "" +"Якщо вказано *func*, це має бути функція двох аргументів. Елементи вхідних " +"даних *iterable* можуть мати будь-який тип, який можна прийняти як аргументи " +"*func*. (Наприклад, із операцією додавання за замовчуванням елементи можуть " +"мати будь-який доданий тип, включаючи :class:`~decimal.Decimal` або :class:" +"`~fractions.Fraction`.)" + +msgid "" +"Usually, the number of elements output matches the input iterable. However, " +"if the keyword argument *initial* is provided, the accumulation leads off " +"with the *initial* value so that the output has one more element than the " +"input iterable." +msgstr "" +"Зазвичай кількість виведених елементів збігається з вхідним ітерованим. " +"Однак, якщо надано ключовий аргумент *initial*, накопичення розпочинається з " +"*початковим* значенням, так що вихід має на один елемент більше, ніж " +"ітерований вхід." + +msgid "Roughly equivalent to::" +msgstr "Приблизно еквівалентно::" + +msgid "" +"There are a number of uses for the *func* argument. It can be set to :func:" +"`min` for a running minimum, :func:`max` for a running maximum, or :func:" +"`operator.mul` for a running product. Amortization tables can be built by " +"accumulating interest and applying payments:" +msgstr "" + +msgid "" +"See :func:`functools.reduce` for a similar function that returns only the " +"final accumulated value." +msgstr "" +"Перегляньте :func:`functools.reduce` подібну функцію, яка повертає лише " +"остаточне накопичене значення." + +msgid "Added the optional *func* parameter." +msgstr "Додано необов’язковий параметр *func*." + +msgid "Added the optional *initial* parameter." +msgstr "Додано необов'язковий *початковий* параметр." + +msgid "" +"Make an iterator that returns elements from the first iterable until it is " +"exhausted, then proceeds to the next iterable, until all of the iterables " +"are exhausted. Used for treating consecutive sequences as a single " +"sequence. Roughly equivalent to::" +msgstr "" +"Створіть ітератор, який повертає елементи з першого ітератора, поки він не " +"буде вичерпаний, а потім переходить до наступного ітератора, доки всі " +"ітератори не будуть вичерпані. Використовується для обробки послідовних " +"послідовностей як однієї послідовності. Приблизно еквівалентно::" + +msgid "" +"Alternate constructor for :func:`chain`. Gets chained inputs from a single " +"iterable argument that is evaluated lazily. Roughly equivalent to::" +msgstr "" +"Альтернативний конструктор для :func:`chain`. Отримує ланцюгові вхідні дані " +"з одного ітерованого аргументу, який обчислюється ліниво. Приблизно " +"еквівалентно::" + +msgid "Return *r* length subsequences of elements from the input *iterable*." +msgstr "" +"Повертає *r* довжину підпослідовностей елементів із вхідного *iterable*." + +msgid "" +"The combination tuples are emitted in lexicographic ordering according to " +"the order of the input *iterable*. So, if the input *iterable* is sorted, " +"the output tuples will be produced in sorted order." +msgstr "" + +msgid "" +"Elements are treated as unique based on their position, not on their value. " +"So if the input elements are unique, there will be no repeated values in " +"each combination." +msgstr "" + +msgid "" +"The code for :func:`combinations` can be also expressed as a subsequence of :" +"func:`permutations` after filtering entries where the elements are not in " +"sorted order (according to their position in the input pool)::" +msgstr "" +"Код для :func:`combinations` також може бути виражений як підпослідовність :" +"func:`permutations` після фільтрації записів, де елементи не відсортовані " +"(відповідно до їхньої позиції у вхідному пулі)::" + +msgid "" +"The number of items returned is ``n! / r! / (n-r)!`` when ``0 <= r <= n`` or " +"zero when ``r > n``." +msgstr "" +"Кількість повернених елементів – ``n! / р! / (n-r)!`` коли ``0 <= r <= n`` " +"or zero when ``r > n``." + +msgid "" +"Return *r* length subsequences of elements from the input *iterable* " +"allowing individual elements to be repeated more than once." +msgstr "" +"Повертає *r* довжину підпослідовностей елементів із вхідного *iterable*, що " +"дозволяє повторювати окремі елементи більше одного разу." + +msgid "" +"Elements are treated as unique based on their position, not on their value. " +"So if the input elements are unique, the generated combinations will also be " +"unique." +msgstr "" +"Елементи розглядаються як унікальні на основі їх позиції, а не їх значення. " +"Отже, якщо вхідні елементи унікальні, згенеровані комбінації також будуть " +"унікальними." + +msgid "" +"The code for :func:`combinations_with_replacement` can be also expressed as " +"a subsequence of :func:`product` after filtering entries where the elements " +"are not in sorted order (according to their position in the input pool)::" +msgstr "" +"Код для :func:`combinations_with_replacement` також можна виразити як " +"підпослідовність :func:`product` після фільтрації записів, де елементи не " +"відсортовані (відповідно до їхньої позиції у вхідному пулі):" + +msgid "" +"The number of items returned is ``(n+r-1)! / r! / (n-1)!`` when ``n > 0``." +msgstr "" +"Кількість повернених елементів – ``(n+r-1)! / р! / (n-1)!`` коли ``n > 0``." + +msgid "" +"Make an iterator that filters elements from *data* returning only those that " +"have a corresponding element in *selectors* that evaluates to ``True``. " +"Stops when either the *data* or *selectors* iterables has been exhausted. " +"Roughly equivalent to::" +msgstr "" +"Створіть ітератор, який фільтрує елементи з *даних*, повертаючи лише ті, які " +"мають відповідний елемент у *селекторах*, який оцінюється як ``True``. " +"Зупиняється, коли ітерації *data* або *selectors* вичерпано. Приблизно " +"еквівалентно::" + +msgid "" +"Make an iterator that returns evenly spaced values starting with number " +"*start*. Often used as an argument to :func:`map` to generate consecutive " +"data points. Also, used with :func:`zip` to add sequence numbers. Roughly " +"equivalent to::" +msgstr "" +"Створіть ітератор, який повертає значення з рівним інтервалом, починаючи з " +"числа *start*. Часто використовується як аргумент :func:`map` для створення " +"послідовних точок даних. Також використовується з :func:`zip` для додавання " +"порядкових номерів. Приблизно еквівалентно::" + +msgid "" +"When counting with floating point numbers, better accuracy can sometimes be " +"achieved by substituting multiplicative code such as: ``(start + step * i " +"for i in count())``." +msgstr "" +"Під час підрахунку з числами з плаваючою комою кращої точності інколи можна " +"досягти шляхом заміни мультиплікативного коду, наприклад: ``(початок + крок " +"* i для i в count())``." + +msgid "Added *step* argument and allowed non-integer arguments." +msgstr "Додано аргумент *step* і дозволено нецілі аргументи." + +msgid "" +"Make an iterator returning elements from the iterable and saving a copy of " +"each. When the iterable is exhausted, return elements from the saved copy. " +"Repeats indefinitely. Roughly equivalent to::" +msgstr "" +"Зробіть ітератор, який повертає елементи з iterable і зберігає копію " +"кожного. Коли iterable вичерпано, поверніть елементи зі збереженої копії. " +"Повторюється безкінечно. Приблизно еквівалентно::" + +msgid "" +"Note, this member of the toolkit may require significant auxiliary storage " +"(depending on the length of the iterable)." +msgstr "" +"Зверніть увагу, що цей член набору інструментів може потребувати значного " +"допоміжного сховища (залежно від довжини ітерованого)." + +msgid "" +"Make an iterator that drops elements from the iterable as long as the " +"predicate is true; afterwards, returns every element. Note, the iterator " +"does not produce *any* output until the predicate first becomes false, so it " +"may have a lengthy start-up time. Roughly equivalent to::" +msgstr "" +"Створіть ітератор, який видаляє елементи з ітерованого, якщо предикат " +"істинний; згодом повертає кожен елемент. Зауважте, що ітератор не створює " +"*жодних* виходів, доки предикат не стане хибним, тому він може мати тривалий " +"час запуску. Приблизно еквівалентно::" + +msgid "" +"Make an iterator that filters elements from iterable returning only those " +"for which the predicate is ``False``. If *predicate* is ``None``, return the " +"items that are false. Roughly equivalent to::" +msgstr "" +"Створіть ітератор, який фільтрує елементи з ітерованих, повертаючи лише ті, " +"для яких предикат має значення ``False``. Якщо *predicate* має значення " +"``None``, повернути елементи, які є false. Приблизно еквівалентно::" + +msgid "" +"Make an iterator that returns consecutive keys and groups from the " +"*iterable*. The *key* is a function computing a key value for each element. " +"If not specified or is ``None``, *key* defaults to an identity function and " +"returns the element unchanged. Generally, the iterable needs to already be " +"sorted on the same key function." +msgstr "" +"Створіть ітератор, який повертає послідовні ключі та групи з *iterable*. " +"*Ключ* — це функція, яка обчислює значення ключа для кожного елемента. Якщо " +"не вказано або має значення ``None``, *key* за замовчуванням " +"використовується як функція ідентифікації та повертає елемент без змін. Як " +"правило, iterable вже має бути відсортований за тією самою ключовою функцією." + +msgid "" +"The operation of :func:`groupby` is similar to the ``uniq`` filter in Unix. " +"It generates a break or new group every time the value of the key function " +"changes (which is why it is usually necessary to have sorted the data using " +"the same key function). That behavior differs from SQL's GROUP BY which " +"aggregates common elements regardless of their input order." +msgstr "" +"Робота :func:`groupby` подібна до фільтра ``uniq`` в Unix. Він генерує " +"розрив або нову групу щоразу, коли змінюється значення ключової функції " +"(саме тому зазвичай необхідно відсортувати дані за допомогою тієї самої " +"ключової функції). Така поведінка відрізняється від GROUP BY SQL, яка " +"агрегує загальні елементи незалежно від порядку введення." + +msgid "" +"The returned group is itself an iterator that shares the underlying iterable " +"with :func:`groupby`. Because the source is shared, when the :func:" +"`groupby` object is advanced, the previous group is no longer visible. So, " +"if that data is needed later, it should be stored as a list::" +msgstr "" +"Повернена група сама є ітератором, який ділиться основним ітератором із :" +"func:`groupby`. Оскільки джерело є спільним, коли об’єкт :func:`groupby` " +"розширено, попередня група більше не відображається. Отже, якщо ці дані " +"знадобляться пізніше, їх слід зберегти як список::" + +msgid ":func:`groupby` is roughly equivalent to::" +msgstr ":func:`groupby` приблизно еквівалентно::" + +msgid "" +"Make an iterator that returns selected elements from the iterable. If " +"*start* is non-zero, then elements from the iterable are skipped until start " +"is reached. Afterward, elements are returned consecutively unless *step* is " +"set higher than one which results in items being skipped. If *stop* is " +"``None``, then iteration continues until the iterator is exhausted, if at " +"all; otherwise, it stops at the specified position." +msgstr "" + +msgid "" +"If *start* is ``None``, then iteration starts at zero. If *step* is " +"``None``, then the step defaults to one." +msgstr "" +"Якщо *start* має значення ``None``, то ітерація починається з нуля. Якщо " +"*крок* має значення ``None``, тоді крок за умовчанням дорівнює одиниці." + +msgid "" +"Unlike regular slicing, :func:`islice` does not support negative values for " +"*start*, *stop*, or *step*. Can be used to extract related fields from data " +"where the internal structure has been flattened (for example, a multi-line " +"report may list a name field on every third line)." +msgstr "" + +msgid "Return successive overlapping pairs taken from the input *iterable*." +msgstr "" +"Повертає послідовні пари, що перекриваються, взяті з вхідних даних " +"*iterable*." + +msgid "" +"The number of 2-tuples in the output iterator will be one fewer than the " +"number of inputs. It will be empty if the input iterable has fewer than two " +"values." +msgstr "" +"Кількість 2-кортежів у вихідному ітераторі буде на один менше, ніж кількість " +"входів. Він буде порожнім, якщо вхідний ітератор має менше двох значень." + +msgid "" +"Return successive *r* length permutations of elements in the *iterable*." +msgstr "Повертає послідовні зміни довжини *r* елементів у *iterable*." + +msgid "" +"If *r* is not specified or is ``None``, then *r* defaults to the length of " +"the *iterable* and all possible full-length permutations are generated." +msgstr "" +"Якщо *r* не вказано або має значення ``None``, тоді *r* за замовчуванням " +"відповідає довжині *iterable* і генеруються всі можливі перестановки повної " +"довжини." + +msgid "" +"The permutation tuples are emitted in lexicographic order according to the " +"order of the input *iterable*. So, if the input *iterable* is sorted, the " +"output tuples will be produced in sorted order." +msgstr "" + +msgid "" +"Elements are treated as unique based on their position, not on their value. " +"So if the input elements are unique, there will be no repeated values within " +"a permutation." +msgstr "" + +msgid "" +"The code for :func:`permutations` can be also expressed as a subsequence of :" +"func:`product`, filtered to exclude entries with repeated elements (those " +"from the same position in the input pool)::" +msgstr "" +"Код для :func:`permutations` також може бути виражений як підпослідовність :" +"func:`product`, відфільтрована, щоб виключити записи з повторюваними " +"елементами (ті, що знаходяться в одній позиції у вхідному пулі):" + +msgid "" +"The number of items returned is ``n! / (n-r)!`` when ``0 <= r <= n`` or zero " +"when ``r > n``." +msgstr "" +"Кількість повернених елементів – ``n! / (n-r)!`` коли ``0 <= r <= n`` or " +"zero when ``r > n``." + +msgid "Cartesian product of input iterables." +msgstr "Декартовий добуток вхідних ітерацій." + +msgid "" +"Roughly equivalent to nested for-loops in a generator expression. For " +"example, ``product(A, B)`` returns the same as ``((x,y) for x in A for y in " +"B)``." +msgstr "" +"Приблизно еквівалентно вкладеним циклам for у виразі генератора. Наприклад, " +"``product(A, B)`` повертає те саме, що ``((x,y) для x в A для y у B)``." + +msgid "" +"The nested loops cycle like an odometer with the rightmost element advancing " +"on every iteration. This pattern creates a lexicographic ordering so that " +"if the input's iterables are sorted, the product tuples are emitted in " +"sorted order." +msgstr "" +"Вкладені цикли обертаються як одометр із крайнім правим елементом, що " +"просувається на кожній ітерації. Цей шаблон створює лексикографічне " +"впорядкування, так що якщо ітеровані вхідні елементи відсортовані, кортежі " +"продукту видаються в відсортованому порядку." + +msgid "" +"To compute the product of an iterable with itself, specify the number of " +"repetitions with the optional *repeat* keyword argument. For example, " +"``product(A, repeat=4)`` means the same as ``product(A, A, A, A)``." +msgstr "" +"Щоб обчислити добуток iterable із самим собою, вкажіть кількість повторень " +"за допомогою необов’язкового аргументу *repeat*. Наприклад, ``product(A, " +"repeat=4)`` означає те саме, що ``product(A, A, A, A)``." + +msgid "" +"This function is roughly equivalent to the following code, except that the " +"actual implementation does not build up intermediate results in memory::" +msgstr "" +"Ця функція приблизно еквівалентна наступному коду, за винятком того, що " +"фактична реалізація не накопичує проміжні результати в пам’яті:" + +msgid "" +"Before :func:`product` runs, it completely consumes the input iterables, " +"keeping pools of values in memory to generate the products. Accordingly, it " +"is only useful with finite inputs." +msgstr "" +"Перед запуском :func:`product` він повністю споживає вхідні ітерації, " +"зберігаючи пули значень у пам’яті для генерації продуктів. Відповідно, це " +"корисно лише з обмеженими вхідними даними." + +msgid "" +"Make an iterator that returns *object* over and over again. Runs " +"indefinitely unless the *times* argument is specified." +msgstr "" + +msgid "" +"A common use for *repeat* is to supply a stream of constant values to *map* " +"or *zip*:" +msgstr "" + +msgid "" +"Make an iterator that computes the function using arguments obtained from " +"the iterable. Used instead of :func:`map` when argument parameters are " +"already grouped in tuples from a single iterable (when the data has been " +"\"pre-zipped\")." +msgstr "" + +msgid "" +"The difference between :func:`map` and :func:`starmap` parallels the " +"distinction between ``function(a,b)`` and ``function(*c)``. Roughly " +"equivalent to::" +msgstr "" + +msgid "" +"Make an iterator that returns elements from the iterable as long as the " +"predicate is true. Roughly equivalent to::" +msgstr "" +"Створіть ітератор, який повертає елементи з ітерованого, якщо предикат " +"істинний. Приблизно еквівалентно::" + +msgid "Return *n* independent iterators from a single iterable." +msgstr "Повертає *n* незалежних ітераторів з одного ітератора." + +msgid "" +"The following Python code helps explain what *tee* does (although the actual " +"implementation is more complex and uses only a single underlying :abbr:`FIFO " +"(first-in, first-out)` queue)::" +msgstr "" + +msgid "" +"Once a :func:`tee` has been created, the original *iterable* should not be " +"used anywhere else; otherwise, the *iterable* could get advanced without the " +"tee objects being informed." +msgstr "" + +msgid "" +"``tee`` iterators are not threadsafe. A :exc:`RuntimeError` may be raised " +"when using simultaneously iterators returned by the same :func:`tee` call, " +"even if the original *iterable* is threadsafe." +msgstr "" +"Ітератори ``tee`` не є потокобезпечними. Помилка :exc:`RuntimeError` може " +"виникнути під час одночасного використання ітераторів, що повертаються тим " +"самим викликом :func:`tee`, навіть якщо оригінальний *iterable* є " +"потокобезпечним." + +msgid "" +"This itertool may require significant auxiliary storage (depending on how " +"much temporary data needs to be stored). In general, if one iterator uses " +"most or all of the data before another iterator starts, it is faster to use :" +"func:`list` instead of :func:`tee`." +msgstr "" +"Цей інструмент itertool може потребувати значного допоміжного сховища " +"(залежно від того, скільки тимчасових даних потрібно зберегти). Загалом, " +"якщо один ітератор використовує більшість або всі дані перед запуском іншого " +"ітератора, швидше використовувати :func:`list` замість :func:`tee`." + +msgid "" +"Make an iterator that aggregates elements from each of the iterables. If the " +"iterables are of uneven length, missing values are filled-in with " +"*fillvalue*. Iteration continues until the longest iterable is exhausted. " +"Roughly equivalent to::" +msgstr "" +"Створіть ітератор, який агрегує елементи з кожного ітератора. Якщо ітерації " +"мають нерівномірну довжину, відсутні значення заповнюються за допомогою " +"*fillvalue*. Ітерація триває до тих пір, поки не буде вичерпано найдовшу " +"ітерацію. Приблизно еквівалентно::" + +msgid "" +"If one of the iterables is potentially infinite, then the :func:" +"`zip_longest` function should be wrapped with something that limits the " +"number of calls (for example :func:`islice` or :func:`takewhile`). If not " +"specified, *fillvalue* defaults to ``None``." +msgstr "" +"Якщо один із ітераторів потенційно нескінченний, то функцію :func:" +"`zip_longest` слід обернути чимось, що обмежує кількість викликів " +"(наприклад, :func:`islice` або :func:`takewhile`). Якщо не вказано, " +"*fillvalue* за замовчуванням має значення ``None``." + +msgid "Itertools Recipes" +msgstr "Рецепти Itertools" + +msgid "" +"This section shows recipes for creating an extended toolset using the " +"existing itertools as building blocks." +msgstr "" +"У цьому розділі наведено рецепти для створення розширеного набору " +"інструментів з використанням існуючих itertools як будівельних блоків." + +msgid "" +"The primary purpose of the itertools recipes is educational. The recipes " +"show various ways of thinking about individual tools — for example, that " +"``chain.from_iterable`` is related to the concept of flattening. The " +"recipes also give ideas about ways that the tools can be combined — for " +"example, how ``compress()`` and ``range()`` can work together. The recipes " +"also show patterns for using itertools with the :mod:`operator` and :mod:" +"`collections` modules as well as with the built-in itertools such as " +"``map()``, ``filter()``, ``reversed()``, and ``enumerate()``." +msgstr "" + +msgid "" +"A secondary purpose of the recipes is to serve as an incubator. The " +"``accumulate()``, ``compress()``, and ``pairwise()`` itertools started out " +"as recipes. Currently, the ``iter_index()`` recipe is being tested to see " +"whether it proves its worth." +msgstr "" + +msgid "" +"Substantially all of these recipes and many, many others can be installed " +"from the `more-itertools project `_ found on the Python Package Index::" +msgstr "" +"Практично всі ці рецепти та багато, багато інших можна встановити з `more-" +"itertools project `_, знайденого в " +"індексі пакетів Python::" + +msgid "" +"Many of the recipes offer the same high performance as the underlying " +"toolset. Superior memory performance is kept by processing elements one at a " +"time rather than bringing the whole iterable into memory all at once. Code " +"volume is kept small by linking the tools together in a functional style " +"which helps eliminate temporary variables. High speed is retained by " +"preferring \"vectorized\" building blocks over the use of for-loops and :" +"term:`generator`\\s which incur interpreter overhead." +msgstr "" diff --git a/library/json.po b/library/json.po new file mode 100644 index 000000000..821bc6b25 --- /dev/null +++ b/library/json.po @@ -0,0 +1,911 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`json` --- JSON encoder and decoder" +msgstr ":mod:`json` --- Кодувальник і декодер JSON" + +msgid "**Source code:** :source:`Lib/json/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/json/__init__.py`" + +msgid "" +"`JSON (JavaScript Object Notation) `_, specified by :rfc:" +"`7159` (which obsoletes :rfc:`4627`) and by `ECMA-404 `_, is a " +"lightweight data interchange format inspired by `JavaScript `_ object literal syntax (although it is not a " +"strict subset of JavaScript [#rfc-errata]_ )." +msgstr "" +"`JSON (JavaScript Object Notation) `_, визначений :rfc:" +"`7159` (який є застарілим :rfc:`4627`) і `ECMA-404 `_, є " +"полегшеним форматом обміну даними, натхненним `JavaScript `_ синтаксис об’єктного літералу (хоча цене " +"сувора підмножина JavaScript [#rfc-errata]_)." + +msgid "" +"Be cautious when parsing JSON data from untrusted sources. A malicious JSON " +"string may cause the decoder to consume considerable CPU and memory " +"resources. Limiting the size of data to be parsed is recommended." +msgstr "" + +msgid "" +":mod:`json` exposes an API familiar to users of the standard library :mod:" +"`marshal` and :mod:`pickle` modules." +msgstr "" +":mod:`json` надає API, знайомий користувачам модулів стандартної бібліотеки :" +"mod:`marshal` і :mod:`pickle`." + +msgid "Encoding basic Python object hierarchies::" +msgstr "Кодування основних ієрархій об’єктів Python::" + +msgid "Compact encoding::" +msgstr "Компактне кодування::" + +msgid "Pretty printing::" +msgstr "Гарний друк::" + +msgid "Decoding JSON::" +msgstr "Декодування JSON::" + +msgid "Specializing JSON object decoding::" +msgstr "Спеціалізоване декодування об'єктів JSON::" + +msgid "Extending :class:`JSONEncoder`::" +msgstr "Розширення :class:`JSONEncoder`::" + +msgid "Using :mod:`json.tool` from the shell to validate and pretty-print:" +msgstr "" +"Використання :mod:`json.tool` з оболонки для перевірки та красивого друку:" + +msgid "See :ref:`json-commandline` for detailed documentation." +msgstr "Перегляньте :ref:`json-commandline` для детальної документації." + +msgid "" +"JSON is a subset of `YAML `_ 1.2. The JSON produced by " +"this module's default settings (in particular, the default *separators* " +"value) is also a subset of YAML 1.0 and 1.1. This module can thus also be " +"used as a YAML serializer." +msgstr "" + +msgid "" +"This module's encoders and decoders preserve input and output order by " +"default. Order is only lost if the underlying containers are unordered." +msgstr "" +"Кодери та декодери цього модуля зберігають порядок введення та виведення за " +"замовчуванням. Порядок втрачається, лише якщо базові контейнери не " +"впорядковані." + +msgid "Basic Usage" +msgstr "Основне використання" + +msgid "" +"Serialize *obj* as a JSON formatted stream to *fp* (a ``.write()``-" +"supporting :term:`file-like object`) using this :ref:`conversion table `." +msgstr "" +"Серіалізуйте *obj* як потік у форматі JSON у *fp* (``.write()``-" +"підтримуючий :term:`file-like object`), використовуючи цю :ref:`таблицю " +"перетворення `." + +msgid "" +"If *skipkeys* is true (default: ``False``), then dict keys that are not of a " +"basic type (:class:`str`, :class:`int`, :class:`float`, :class:`bool`, " +"``None``) will be skipped instead of raising a :exc:`TypeError`." +msgstr "" +"Якщо *skipkeys* має значення true (за замовчуванням: ``False``), тоді ключі " +"dict не мають базового типу (:class:`str`, :class:`int`, :class:`float`, :" +"class:`bool`, ``None``) буде пропущено замість виклику :exc:`TypeError`." + +msgid "" +"The :mod:`json` module always produces :class:`str` objects, not :class:" +"`bytes` objects. Therefore, ``fp.write()`` must support :class:`str` input." +msgstr "" +"Модуль :mod:`json` завжди створює об’єкти :class:`str`, а не об’єкти :class:" +"`bytes`. Тому ``fp.write()`` має підтримувати введення :class:`str`." + +msgid "" +"If *ensure_ascii* is true (the default), the output is guaranteed to have " +"all incoming non-ASCII characters escaped. If *ensure_ascii* is false, " +"these characters will be output as-is." +msgstr "" +"Якщо *ensure_ascii* має значення true (за замовчуванням), вивід гарантовано " +"матиме екранування всіх вхідних символів, які не є ASCII. Якщо " +"*ensure_ascii* має значення false, ці символи виводитимуться як є." + +msgid "" +"If *check_circular* is false (default: ``True``), then the circular " +"reference check for container types will be skipped and a circular reference " +"will result in a :exc:`RecursionError` (or worse)." +msgstr "" + +msgid "" +"If *allow_nan* is false (default: ``True``), then it will be a :exc:" +"`ValueError` to serialize out of range :class:`float` values (``nan``, " +"``inf``, ``-inf``) in strict compliance of the JSON specification. If " +"*allow_nan* is true, their JavaScript equivalents (``NaN``, ``Infinity``, ``-" +"Infinity``) will be used." +msgstr "" +"Якщо *allow_nan* має значення false (за замовчуванням: ``True``), то це " +"буде :exc:`ValueError` для серіалізації значень поза діапазоном :class:" +"`float` (``nan``, ``inf``, ``-inf``) у суворій відповідності до специфікації " +"JSON. Якщо *allow_nan* має значення true, будуть використані їхні " +"еквіваленти JavaScript (``NaN``, ``Infinity``, ``-Infinity``)." + +msgid "" +"If *indent* is a non-negative integer or string, then JSON array elements " +"and object members will be pretty-printed with that indent level. An indent " +"level of 0, negative, or ``\"\"`` will only insert newlines. ``None`` (the " +"default) selects the most compact representation. Using a positive integer " +"indent indents that many spaces per level. If *indent* is a string (such as " +"``\"\\t\"``), that string is used to indent each level." +msgstr "" +"Якщо *indent* є невід’ємним цілим числом або рядком, елементи масиву JSON і " +"члени об’єкта будуть надруковані з таким рівнем відступу. Рівень відступу 0, " +"негативний або ``\"\"`` вставлятиме лише нові рядки. ``None`` (за " +"замовчуванням) вибирає найбільш компактне представлення. Використання " +"додатного цілого відступу робить стільки відступів на рівень. Якщо *indent* " +"є рядком (наприклад, ``\"\\t\"``), цей рядок використовується для відступу " +"кожного рівня." + +msgid "Allow strings for *indent* in addition to integers." +msgstr "Дозволити рядки для *відступу* на додаток до цілих чисел." + +msgid "" +"If specified, *separators* should be an ``(item_separator, key_separator)`` " +"tuple. The default is ``(', ', ': ')`` if *indent* is ``None`` and ``(',', " +"': ')`` otherwise. To get the most compact JSON representation, you should " +"specify ``(',', ':')`` to eliminate whitespace." +msgstr "" +"Якщо вказано, *роздільники* мають бути кортежем ``(item_separator, " +"key_separator)``. Типовим значенням є ``(', ', ': ')``, якщо *indent* має " +"значення ``None``, і ``(',', ': ')`` в іншому випадку. Щоб отримати найбільш " +"компактне представлення JSON, ви повинні вказати ``(',', ':')``, щоб усунути " +"пробіли." + +msgid "Use ``(',', ': ')`` as default if *indent* is not ``None``." +msgstr "" +"Використовуйте ``(',', ': ')`` за умовчанням, якщо *indent* не є ``None``." + +msgid "" +"If specified, *default* should be a function that gets called for objects " +"that can't otherwise be serialized. It should return a JSON encodable " +"version of the object or raise a :exc:`TypeError`. If not specified, :exc:" +"`TypeError` is raised." +msgstr "" +"Якщо вказано, *default* має бути функцією, яка викликається для об’єктів, " +"які не можуть бути серіалізовані інакше. Він має повертати кодовану JSON " +"версію об’єкта або викликати :exc:`TypeError`. Якщо не вказано, виникає :exc:" +"`TypeError`." + +msgid "" +"If *sort_keys* is true (default: ``False``), then the output of dictionaries " +"will be sorted by key." +msgstr "" +"Якщо *sort_keys* має значення true (за замовчуванням: ``False``), тоді " +"вихідні дані словників будуть відсортовані за ключем." + +msgid "" +"To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the :" +"meth:`default` method to serialize additional types), specify it with the " +"*cls* kwarg; otherwise :class:`JSONEncoder` is used." +msgstr "" +"Щоб використовувати спеціальний підклас :class:`JSONEncoder` (наприклад, " +"такий, який замінює метод :meth:`default` для серіалізації додаткових " +"типів), укажіть його за допомогою *cls* kwarg; інакше використовується :" +"class:`JSONEncoder`." + +msgid "" +"All optional parameters are now :ref:`keyword-only `." +msgstr "" +"Усі додаткові параметри тепер :ref:`лише для ключових слів `." + +msgid "" +"Unlike :mod:`pickle` and :mod:`marshal`, JSON is not a framed protocol, so " +"trying to serialize multiple objects with repeated calls to :func:`dump` " +"using the same *fp* will result in an invalid JSON file." +msgstr "" +"На відміну від :mod:`pickle` і :mod:`marshal`, JSON не є фреймованим " +"протоколом, тому спроба серіалізувати кілька об’єктів за допомогою повторних " +"викликів :func:`dump` з використанням того самого *fp* призведе до " +"недійсного JSON файл." + +msgid "" +"Serialize *obj* to a JSON formatted :class:`str` using this :ref:`conversion " +"table `. The arguments have the same meaning as in :func:" +"`dump`." +msgstr "" +"Серіалізуйте *obj* у JSON у форматі :class:`str` за допомогою цієї :ref:" +"`таблиці перетворення `. Аргументи мають те саме значення, " +"що й у :func:`dump`." + +msgid "" +"Keys in key/value pairs of JSON are always of the type :class:`str`. When a " +"dictionary is converted into JSON, all the keys of the dictionary are " +"coerced to strings. As a result of this, if a dictionary is converted into " +"JSON and then back into a dictionary, the dictionary may not equal the " +"original one. That is, ``loads(dumps(x)) != x`` if x has non-string keys." +msgstr "" +"Ключі в парах ключ/значення JSON завжди мають тип :class:`str`. Коли словник " +"перетворюється на JSON, усі ключі словника перетворюються на рядки. У " +"результаті цього, якщо словник перетворюється на JSON, а потім знову на " +"словник, словник може не відповідати оригінальному. Тобто ``loads(dumps(x)) !" +"= x``, якщо x має нерядкові ключі." + +msgid "" +"Deserialize *fp* (a ``.read()``-supporting :term:`text file` or :term:" +"`binary file` containing a JSON document) to a Python object using this :ref:" +"`conversion table `." +msgstr "" +"Десеріалізуйте *fp* (:term:`text file` із підтримкою ``.read()`` або :term:" +"`binary file`, що містить документ JSON) в об’єкт Python за допомогою цієї :" +"ref:`таблиці перетворення ` ." + +msgid "" +"*object_hook* is an optional function that will be called with the result of " +"any object literal decoded (a :class:`dict`). The return value of " +"*object_hook* will be used instead of the :class:`dict`. This feature can " +"be used to implement custom decoders (e.g. `JSON-RPC `_ class hinting)." +msgstr "" + +msgid "" +"*object_pairs_hook* is an optional function that will be called with the " +"result of any object literal decoded with an ordered list of pairs. The " +"return value of *object_pairs_hook* will be used instead of the :class:" +"`dict`. This feature can be used to implement custom decoders. If " +"*object_hook* is also defined, the *object_pairs_hook* takes priority." +msgstr "" +"*object_pairs_hook* — це необов’язкова функція, яка буде викликана з " +"результатом будь-якого об’єктного літералу, декодованого за допомогою " +"впорядкованого списку пар. Повернене значення *object_pairs_hook* " +"використовуватиметься замість :class:`dict`. Ця функція може бути " +"використана для реалізації спеціальних декодерів. Якщо *object_hook* також " +"визначено, *object_pairs_hook* має пріоритет." + +msgid "Added support for *object_pairs_hook*." +msgstr "Додано підтримку *object_pairs_hook*." + +msgid "" +"*parse_float*, if specified, will be called with the string of every JSON " +"float to be decoded. By default, this is equivalent to ``float(num_str)``. " +"This can be used to use another datatype or parser for JSON floats (e.g. :" +"class:`decimal.Decimal`)." +msgstr "" +"*parse_float*, якщо вказано, буде викликано з рядком кожного числа JSON з " +"плаваючою точкою для декодування. За замовчуванням це еквівалентно " +"``float(num_str)``. Це можна використовувати для використання іншого типу " +"даних або синтаксичного аналізатора для JSON з плаваючою точкою (наприклад, :" +"class:`decimal.Decimal`)." + +msgid "" +"*parse_int*, if specified, will be called with the string of every JSON int " +"to be decoded. By default, this is equivalent to ``int(num_str)``. This " +"can be used to use another datatype or parser for JSON integers (e.g. :class:" +"`float`)." +msgstr "" +"*parse_int*, якщо вказано, буде викликано з рядком кожного JSON int, який " +"потрібно декодувати. За замовчуванням це еквівалентно ``int(num_str)``. Це " +"можна використовувати для використання іншого типу даних або синтаксичного " +"аналізатора для цілих чисел JSON (наприклад, :class:`float`)." + +msgid "" +"The default *parse_int* of :func:`int` now limits the maximum length of the " +"integer string via the interpreter's :ref:`integer string conversion length " +"limitation ` to help avoid denial of service attacks." +msgstr "" + +msgid "" +"*parse_constant*, if specified, will be called with one of the following " +"strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. This can be used to " +"raise an exception if invalid JSON numbers are encountered." +msgstr "" +"*parse_constant*, якщо вказано, буде викликано з одним із таких рядків: ``'-" +"Infinity'``, ``'Infinity'``, ``'NaN'``. Це можна використати для створення " +"винятку, якщо виявлено недійсні номери JSON." + +msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore." +msgstr "*parse_constant* більше не викликається на 'null', 'true', 'false'." + +msgid "" +"To use a custom :class:`JSONDecoder` subclass, specify it with the ``cls`` " +"kwarg; otherwise :class:`JSONDecoder` is used. Additional keyword arguments " +"will be passed to the constructor of the class." +msgstr "" +"Щоб використовувати спеціальний підклас :class:`JSONDecoder`, вкажіть його " +"за допомогою ``cls`` kwarg; інакше :class:`JSONDecoder` використовується. " +"Додаткові ключові аргументи будуть передані конструктору класу." + +msgid "" +"If the data being deserialized is not a valid JSON document, a :exc:" +"`JSONDecodeError` will be raised." +msgstr "" +"Якщо дані, які десеріалізуються, не є дійсним документом JSON, виникне :exc:" +"`JSONDecodeError`." + +msgid "" +"*fp* can now be a :term:`binary file`. The input encoding should be UTF-8, " +"UTF-16 or UTF-32." +msgstr "" +"*fp* тепер може бути :term:`binary file`. Вхідне кодування має бути UTF-8, " +"UTF-16 або UTF-32." + +msgid "" +"Deserialize *s* (a :class:`str`, :class:`bytes` or :class:`bytearray` " +"instance containing a JSON document) to a Python object using this :ref:" +"`conversion table `." +msgstr "" +"Десеріалізуйте *s* (екземпляр :class:`str`, :class:`bytes` або :class:" +"`bytearray`, що містить документ JSON) в об’єкт Python за допомогою цієї :" +"ref:`таблиці перетворення `." + +msgid "The other arguments have the same meaning as in :func:`load`." +msgstr "Інші аргументи мають те саме значення, що й у :func:`load`." + +msgid "" +"*s* can now be of type :class:`bytes` or :class:`bytearray`. The input " +"encoding should be UTF-8, UTF-16 or UTF-32." +msgstr "" +"*s* тепер може бути типу :class:`bytes` або :class:`bytearray`. Вхідне " +"кодування має бути UTF-8, UTF-16 або UTF-32." + +msgid "The keyword argument *encoding* has been removed." +msgstr "Аргумент ключового слова *кодування* видалено." + +msgid "Encoders and Decoders" +msgstr "Кодери та декодери" + +msgid "Simple JSON decoder." +msgstr "Простий декодер JSON." + +msgid "Performs the following translations in decoding by default:" +msgstr "Виконує такі переклади в декодуванні за замовчуванням:" + +msgid "JSON" +msgstr "JSON" + +msgid "Python" +msgstr "Python" + +msgid "object" +msgstr "об'єкт" + +msgid "dict" +msgstr "дикт" + +msgid "array" +msgstr "масив" + +msgid "list" +msgstr "список" + +msgid "string" +msgstr "рядок" + +msgid "str" +msgstr "вул" + +msgid "number (int)" +msgstr "число (ціле)" + +msgid "int" +msgstr "внутр" + +msgid "number (real)" +msgstr "число (дійсне)" + +msgid "float" +msgstr "плавати" + +msgid "true" +msgstr "правда" + +msgid "True" +msgstr "правда" + +msgid "false" +msgstr "помилковий" + +msgid "False" +msgstr "помилковий" + +msgid "null" +msgstr "нуль" + +msgid "None" +msgstr "Жодного" + +msgid "" +"It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as their " +"corresponding ``float`` values, which is outside the JSON spec." +msgstr "" +"Він також розуміє ``NaN``, ``Infinity`` і ``-Infinity`` як їхні відповідні " +"значення ``float``, що виходить за межі специфікації JSON." + +msgid "" +"*object_hook*, if specified, will be called with the result of every JSON " +"object decoded and its return value will be used in place of the given :" +"class:`dict`. This can be used to provide custom deserializations (e.g. to " +"support `JSON-RPC `_ class hinting)." +msgstr "" + +msgid "" +"*object_pairs_hook*, if specified will be called with the result of every " +"JSON object decoded with an ordered list of pairs. The return value of " +"*object_pairs_hook* will be used instead of the :class:`dict`. This feature " +"can be used to implement custom decoders. If *object_hook* is also defined, " +"the *object_pairs_hook* takes priority." +msgstr "" +"*object_pairs_hook*, якщо вказано, буде викликано з результатом кожного " +"об’єкта JSON, декодованого за допомогою впорядкованого списку пар. Повернене " +"значення *object_pairs_hook* використовуватиметься замість :class:`dict`. Ця " +"функція може бути використана для реалізації спеціальних декодерів. Якщо " +"*object_hook* також визначено, *object_pairs_hook* має пріоритет." + +msgid "" +"If *strict* is false (``True`` is the default), then control characters will " +"be allowed inside strings. Control characters in this context are those " +"with character codes in the 0--31 range, including ``'\\t'`` (tab), " +"``'\\n'``, ``'\\r'`` and ``'\\0'``." +msgstr "" +"Якщо *strict* має значення false (``True`` є значенням за замовчуванням), то " +"керуючі символи будуть дозволені всередині рядків. Контрольні символи в " +"цьому контексті — це символи з кодами символів у діапазоні 0--31, включаючи " +"``'\\t'`` (табуляція), ``'\\n'``, ``'\\r'`` і ``'\\0'``." + +msgid "All parameters are now :ref:`keyword-only `." +msgstr "" +"Усі параметри тепер :ref:`лише для ключових слів `." + +msgid "" +"Return the Python representation of *s* (a :class:`str` instance containing " +"a JSON document)." +msgstr "" +"Повертає представлення Python *s* (екземпляр :class:`str`, що містить " +"документ JSON)." + +msgid "" +":exc:`JSONDecodeError` will be raised if the given JSON document is not " +"valid." +msgstr "" +":exc:`JSONDecodeError` буде викликано, якщо вказаний документ JSON недійсний." + +msgid "" +"Decode a JSON document from *s* (a :class:`str` beginning with a JSON " +"document) and return a 2-tuple of the Python representation and the index in " +"*s* where the document ended." +msgstr "" +"Декодуйте документ JSON із *s* (:class:`str`, що починається з документа " +"JSON) і повертайте 2-кортеж представлення Python та індекс у *s*, де " +"документ закінчився." + +msgid "" +"This can be used to decode a JSON document from a string that may have " +"extraneous data at the end." +msgstr "" +"Це можна використовувати для декодування документа JSON із рядка, який може " +"містити сторонні дані в кінці." + +msgid "Extensible JSON encoder for Python data structures." +msgstr "Розширюваний кодувальник JSON для структур даних Python." + +msgid "Supports the following objects and types by default:" +msgstr "За замовчуванням підтримує такі об’єкти та типи:" + +msgid "list, tuple" +msgstr "список, кортеж" + +msgid "int, float, int- & float-derived Enums" +msgstr "int, float, int- & float-derived Enums" + +msgid "number" +msgstr "номер" + +msgid "Added support for int- and float-derived Enum classes." +msgstr "Додано підтримку класів Enum, похідних від int і float." + +msgid "" +"To extend this to recognize other objects, subclass and implement a :meth:" +"`default` method with another method that returns a serializable object for " +"``o`` if possible, otherwise it should call the superclass implementation " +"(to raise :exc:`TypeError`)." +msgstr "" +"Щоб розширити це для розпізнавання інших об’єктів, створіть підклас і " +"реалізуйте метод :meth:`default` іншим методом, який повертає серіалізований " +"об’єкт для ``o``, якщо це можливо, інакше він повинен викликати реалізацію " +"суперкласу (для підвищення :exc:`TypeError`)." + +msgid "" +"If *skipkeys* is false (the default), a :exc:`TypeError` will be raised when " +"trying to encode keys that are not :class:`str`, :class:`int`, :class:" +"`float` or ``None``. If *skipkeys* is true, such items are simply skipped." +msgstr "" +"Якщо *skipkeys* має значення false (за замовчуванням), :exc:`TypeError` буде " +"викликано під час спроби закодувати ключі, які не є :class:`str`, :class:" +"`int`, :class:`float` або ``Жодного``. Якщо *skipkeys* має значення true, " +"такі елементи просто пропускаються." + +msgid "" +"If *check_circular* is true (the default), then lists, dicts, and custom " +"encoded objects will be checked for circular references during encoding to " +"prevent an infinite recursion (which would cause a :exc:`RecursionError`). " +"Otherwise, no such check takes place." +msgstr "" + +msgid "" +"If *allow_nan* is true (the default), then ``NaN``, ``Infinity``, and ``-" +"Infinity`` will be encoded as such. This behavior is not JSON specification " +"compliant, but is consistent with most JavaScript based encoders and " +"decoders. Otherwise, it will be a :exc:`ValueError` to encode such floats." +msgstr "" +"Якщо *allow_nan* має значення true (за замовчуванням), тоді ``NaN``, " +"``Infinity`` і ``-Infinity`` будуть закодовані як такі. Така поведінка не " +"відповідає специфікації JSON, але відповідає більшості кодувальників і " +"декодерів на основі JavaScript. В іншому випадку це буде :exc:`ValueError` " +"для кодування таких плаваючих значень." + +msgid "" +"If *sort_keys* is true (default: ``False``), then the output of dictionaries " +"will be sorted by key; this is useful for regression tests to ensure that " +"JSON serializations can be compared on a day-to-day basis." +msgstr "" +"Якщо *sort_keys* має значення true (за замовчуванням: ``False``), тоді " +"вихідні дані словників будуть відсортовані за ключем; це корисно для " +"регресійних тестів, щоб гарантувати, що серіалізації JSON можна порівнювати " +"щодня." + +msgid "" +"Implement this method in a subclass such that it returns a serializable " +"object for *o*, or calls the base implementation (to raise a :exc:" +"`TypeError`)." +msgstr "" +"Реалізуйте цей метод у підкласі так, щоб він повертав серіалізований об’єкт " +"для *o* або викликав базову реалізацію (щоб викликати :exc:`TypeError`)." + +msgid "" +"For example, to support arbitrary iterators, you could implement :meth:" +"`default` like this::" +msgstr "" +"Наприклад, щоб підтримувати довільні ітератори, ви можете реалізувати :meth:" +"`default` так:" + +msgid "" +"Return a JSON string representation of a Python data structure, *o*. For " +"example::" +msgstr "" +"Повертає рядкове представлення JSON структури даних Python, *o*. Наприклад::" + +msgid "" +"Encode the given object, *o*, and yield each string representation as " +"available. For example::" +msgstr "" +"Закодуйте вказаний об’єкт, *o*, і передайте кожне представлення рядка як " +"доступне. Наприклад::" + +msgid "Exceptions" +msgstr "Винятки" + +msgid "Subclass of :exc:`ValueError` with the following additional attributes:" +msgstr "Підклас :exc:`ValueError` з такими додатковими атрибутами:" + +msgid "The unformatted error message." +msgstr "Неформатне повідомлення про помилку." + +msgid "The JSON document being parsed." +msgstr "Документ JSON аналізується." + +msgid "The start index of *doc* where parsing failed." +msgstr "Початковий індекс *doc*, де синтаксичний аналіз не вдався." + +msgid "The line corresponding to *pos*." +msgstr "Рядок, що відповідає *pos*." + +msgid "The column corresponding to *pos*." +msgstr "Стовпець, що відповідає *pos*." + +msgid "Standard Compliance and Interoperability" +msgstr "Відповідність стандартам і сумісність" + +msgid "" +"The JSON format is specified by :rfc:`7159` and by `ECMA-404 `_. " +"This section details this module's level of compliance with the RFC. For " +"simplicity, :class:`JSONEncoder` and :class:`JSONDecoder` subclasses, and " +"parameters other than those explicitly mentioned, are not considered." +msgstr "" +"Формат JSON визначається :rfc:`7159` і `ECMA-404 `_. У цьому " +"розділі детально описано рівень відповідності цього модуля вимогам RFC. Для " +"простоти підкласи :class:`JSONEncoder` і :class:`JSONDecoder`, а також інші " +"параметри, окрім тих, що зазначені явно, не розглядаються." + +msgid "" +"This module does not comply with the RFC in a strict fashion, implementing " +"some extensions that are valid JavaScript but not valid JSON. In particular:" +msgstr "" +"Цей модуль не повністю відповідає RFC, реалізуючи деякі розширення, які є " +"дійсним JavaScript, але не дійсним JSON. Зокрема:" + +msgid "Infinite and NaN number values are accepted and output;" +msgstr "Нескінченні та NaN числові значення приймаються та виводяться;" + +msgid "" +"Repeated names within an object are accepted, and only the value of the last " +"name-value pair is used." +msgstr "" +"Повторювані імена в межах об’єкта приймаються, і використовується лише " +"значення останньої пари ім’я-значення." + +msgid "" +"Since the RFC permits RFC-compliant parsers to accept input texts that are " +"not RFC-compliant, this module's deserializer is technically RFC-compliant " +"under default settings." +msgstr "" +"Оскільки RFC дозволяє RFC-сумісним парсерам приймати вхідні тексти, які не є " +"RFC-сумісними, десеріалізатор цього модуля є технічно RFC-сумісним за " +"умовчанням." + +msgid "Character Encodings" +msgstr "Кодування символів" + +msgid "" +"The RFC requires that JSON be represented using either UTF-8, UTF-16, or " +"UTF-32, with UTF-8 being the recommended default for maximum " +"interoperability." +msgstr "" +"RFC вимагає, щоб JSON був представлений за допомогою UTF-8, UTF-16 або " +"UTF-32, причому UTF-8 є рекомендованим за замовчуванням для максимальної " +"сумісності." + +msgid "" +"As permitted, though not required, by the RFC, this module's serializer sets " +"*ensure_ascii=True* by default, thus escaping the output so that the " +"resulting strings only contain ASCII characters." +msgstr "" +"Як це дозволено, хоча й не вимагається RFC, серіалізатор цього модуля " +"встановлює *ensure_ascii=True* за замовчуванням, таким чином усуваючи " +"вихідні дані, щоб кінцеві рядки містили лише символи ASCII." + +msgid "" +"Other than the *ensure_ascii* parameter, this module is defined strictly in " +"terms of conversion between Python objects and :class:`Unicode strings " +"`, and thus does not otherwise directly address the issue of character " +"encodings." +msgstr "" +"За винятком параметра *ensure_ascii*, цей модуль визначено суворо в термінах " +"перетворення між об’єктами Python і :class:`рядками Unicode `, і, отже, " +"іншим чином безпосередньо не вирішує проблему кодування символів." + +msgid "" +"The RFC prohibits adding a byte order mark (BOM) to the start of a JSON " +"text, and this module's serializer does not add a BOM to its output. The RFC " +"permits, but does not require, JSON deserializers to ignore an initial BOM " +"in their input. This module's deserializer raises a :exc:`ValueError` when " +"an initial BOM is present." +msgstr "" +"RFC забороняє додавати позначку порядку байтів (BOM) на початок тексту JSON, " +"а серіалізатор цього модуля не додає BOM до свого виводу. RFC дозволяє, але " +"не вимагає, щоб десеріалізатори JSON ігнорували початкову специфікацію у " +"своїх вхідних даних. Десеріалізатор цього модуля викликає :exc:`ValueError`, " +"коли присутня початкова специфікація." + +msgid "" +"The RFC does not explicitly forbid JSON strings which contain byte sequences " +"that don't correspond to valid Unicode characters (e.g. unpaired UTF-16 " +"surrogates), but it does note that they may cause interoperability problems. " +"By default, this module accepts and outputs (when present in the original :" +"class:`str`) code points for such sequences." +msgstr "" +"RFC явно не забороняє рядки JSON, які містять послідовності байтів, які не " +"відповідають дійсним символам Unicode (наприклад, непарні сурогати UTF-16), " +"але зазначається, що вони можуть спричинити проблеми взаємодії. За " +"замовчуванням цей модуль приймає та виводить (якщо є в оригінальному :class:" +"`str`) кодові точки для таких послідовностей." + +msgid "Infinite and NaN Number Values" +msgstr "Нескінченні значення чисел NaN" + +msgid "" +"The RFC does not permit the representation of infinite or NaN number values. " +"Despite that, by default, this module accepts and outputs ``Infinity``, ``-" +"Infinity``, and ``NaN`` as if they were valid JSON number literal values::" +msgstr "" +"RFC не дозволяє подання нескінченних значень чи чисел NaN. Незважаючи на це, " +"за замовчуванням цей модуль приймає та виводить ``Infinity``, ``-Infinity`` " +"і ``NaN`` так, якби вони були дійсними літеральними значеннями номерів JSON::" + +msgid "" +"In the serializer, the *allow_nan* parameter can be used to alter this " +"behavior. In the deserializer, the *parse_constant* parameter can be used " +"to alter this behavior." +msgstr "" +"У серіалізаторі можна використовувати параметр *allow_nan*, щоб змінити цю " +"поведінку. У десеріалізаторі можна використовувати параметр " +"*parse_constant*, щоб змінити цю поведінку." + +msgid "Repeated Names Within an Object" +msgstr "Повторювані імена в межах об’єкта" + +msgid "" +"The RFC specifies that the names within a JSON object should be unique, but " +"does not mandate how repeated names in JSON objects should be handled. By " +"default, this module does not raise an exception; instead, it ignores all " +"but the last name-value pair for a given name::" +msgstr "" +"RFC визначає, що імена в об’єкті JSON мають бути унікальними, але не " +"визначає, як слід обробляти повторювані імена в об’єктах JSON. За " +"замовчуванням цей модуль не викликає винятку; замість цього він ігнорує все, " +"окрім пари прізвище-значення для даного імені::" + +msgid "The *object_pairs_hook* parameter can be used to alter this behavior." +msgstr "" +"Параметр *object_pairs_hook* можна використовувати, щоб змінити цю поведінку." + +msgid "Top-level Non-Object, Non-Array Values" +msgstr "Необ’єктні та немасивні значення верхнього рівня" + +msgid "" +"The old version of JSON specified by the obsolete :rfc:`4627` required that " +"the top-level value of a JSON text must be either a JSON object or array " +"(Python :class:`dict` or :class:`list`), and could not be a JSON null, " +"boolean, number, or string value. :rfc:`7159` removed that restriction, and " +"this module does not and has never implemented that restriction in either " +"its serializer or its deserializer." +msgstr "" +"Стара версія JSON, визначена застарілим :rfc:`4627`, вимагала, щоб значення " +"верхнього рівня тексту JSON було або об’єктом JSON, або масивом (Python :" +"class:`dict` або :class:`list`) і не може бути нульовим, логічним, числовим " +"або рядковим значенням JSON. :rfc:`7159` видалив це обмеження, і цей модуль " +"не реалізував і ніколи не реалізував це обмеження ні в серіалізаторі, ні в " +"десеріалізаторі." + +msgid "" +"Regardless, for maximum interoperability, you may wish to voluntarily adhere " +"to the restriction yourself." +msgstr "" +"Незважаючи на це, для максимальної сумісності ви можете самостійно " +"добровільно дотримуватися цього обмеження." + +msgid "Implementation Limitations" +msgstr "Обмеження реалізації" + +msgid "Some JSON deserializer implementations may set limits on:" +msgstr "" +"Деякі реалізації десеріалізатора JSON можуть встановлювати обмеження на:" + +msgid "the size of accepted JSON texts" +msgstr "розмір прийнятих текстів JSON" + +msgid "the maximum level of nesting of JSON objects and arrays" +msgstr "максимальний рівень вкладеності об'єктів і масивів JSON" + +msgid "the range and precision of JSON numbers" +msgstr "діапазон і точність чисел JSON" + +msgid "the content and maximum length of JSON strings" +msgstr "вміст і максимальну довжину рядків JSON" + +msgid "" +"This module does not impose any such limits beyond those of the relevant " +"Python datatypes themselves or the Python interpreter itself." +msgstr "" +"Цей модуль не накладає жодних таких обмежень, окрім обмежень відповідних " +"типів даних Python або самого інтерпретатора Python." + +msgid "" +"When serializing to JSON, beware any such limitations in applications that " +"may consume your JSON. In particular, it is common for JSON numbers to be " +"deserialized into IEEE 754 double precision numbers and thus subject to that " +"representation's range and precision limitations. This is especially " +"relevant when serializing Python :class:`int` values of extremely large " +"magnitude, or when serializing instances of \"exotic\" numerical types such " +"as :class:`decimal.Decimal`." +msgstr "" +"Під час серіалізації в JSON уникайте таких обмежень у програмах, які можуть " +"використовувати ваш JSON. Зокрема, зазвичай числа JSON десеріалізуються в " +"числа подвійної точності IEEE 754 і, таким чином, підпадають під обмеження " +"діапазону представлення та точності. Це особливо важливо під час " +"серіалізації Python :class:`int` значень надзвичайно великої величини або " +"під час серіалізації екзотичних числових типів, таких як :class:`decimal." +"Decimal`." + +msgid "Command Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "**Source code:** :source:`Lib/json/tool.py`" +msgstr "**Вихідний код:** :source:`Lib/json/tool.py`" + +msgid "" +"The :mod:`json.tool` module provides a simple command line interface to " +"validate and pretty-print JSON objects." +msgstr "" +"Модуль :mod:`json.tool` забезпечує простий інтерфейс командного рядка для " +"перевірки та красивого друку об’єктів JSON." + +msgid "" +"If the optional ``infile`` and ``outfile`` arguments are not specified, :" +"attr:`sys.stdin` and :attr:`sys.stdout` will be used respectively:" +msgstr "" +"Якщо необов’язкові аргументи ``infile`` і ``outfile`` не вказано, :attr:`sys." +"stdin` і :attr:`sys.stdout` будуть використані відповідно:" + +msgid "" +"The output is now in the same order as the input. Use the :option:`--sort-" +"keys` option to sort the output of dictionaries alphabetically by key." +msgstr "" +"Вихід тепер у такому самому порядку, як і вхід. Використовуйте опцію :option:" +"`--sort-keys`, щоб відсортувати вихідні дані словників за алфавітом за " +"ключем." + +msgid "Command line options" +msgstr "Параметри командного рядка" + +msgid "The JSON file to be validated or pretty-printed:" +msgstr "Файл JSON, який потрібно перевірити або роздрукувати:" + +msgid "If *infile* is not specified, read from :attr:`sys.stdin`." +msgstr "Якщо *infile* не вказано, читайте з :attr:`sys.stdin`." + +msgid "" +"Write the output of the *infile* to the given *outfile*. Otherwise, write it " +"to :attr:`sys.stdout`." +msgstr "" +"Запишіть вихід *infile* у вказаний *outfile*. В іншому випадку запишіть його " +"в :attr:`sys.stdout`." + +msgid "Sort the output of dictionaries alphabetically by key." +msgstr "Сортувати вихідні дані словників за алфавітом за ключем." + +msgid "" +"Disable escaping of non-ascii characters, see :func:`json.dumps` for more " +"information." +msgstr "" +"Вимкніть екранування символів, відмінних від ASCII, див. :func:`json.dumps` " +"для отримання додаткової інформації." + +msgid "Parse every input line as separate JSON object." +msgstr "Проаналізуйте кожен рядок введення як окремий об’єкт JSON." + +msgid "Mutually exclusive options for whitespace control." +msgstr "Взаємовиключні параметри керування пробілами." + +msgid "Show the help message." +msgstr "Показати довідкове повідомлення." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"As noted in `the errata for RFC 7159 `_, JSON permits literal U+2028 (LINE SEPARATOR) " +"and U+2029 (PARAGRAPH SEPARATOR) characters in strings, whereas JavaScript " +"(as of ECMAScript Edition 5.1) does not." +msgstr "" +"Як зазначено в `виправленнях для RFC 7159 `_, JSON дозволяє літерали U+2028 (РОЗДІЛЮВАЧ " +"РЯДКУ) і U+2029 (РОЗДІЛЮВАЧ ПАРАГРАФА) у рядках, тоді як JavaScript " +"(починаючи з версії ECMAScript 5.1) не допускає." diff --git a/library/keyword.po b/library/keyword.po new file mode 100644 index 000000000..6ce8784ac --- /dev/null +++ b/library/keyword.po @@ -0,0 +1,67 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`keyword` --- Testing for Python keywords" +msgstr ":mod:`keyword` --- Перевірка ключових слів Python" + +msgid "**Source code:** :source:`Lib/keyword.py`" +msgstr "**Вихідний код:** :source:`Lib/keyword.py`" + +msgid "" +"This module allows a Python program to determine if a string is a :ref:" +"`keyword ` or :ref:`soft keyword `." +msgstr "" +"Цей модуль дозволяє програмі на Python визначити, чи є рядок :ref:`ключовим " +"словом ` чи :ref:`м’яким ключовим словом `." + +msgid "Return ``True`` if *s* is a Python :ref:`keyword `." +msgstr "Повертає ``True``, якщо *s* є Python :ref:`ключове слово `." + +msgid "" +"Sequence containing all the :ref:`keywords ` defined for the " +"interpreter. If any keywords are defined to only be active when particular :" +"mod:`__future__` statements are in effect, these will be included as well." +msgstr "" +"Послідовність, що містить усі :ref:`ключові слова `, визначені для " +"інтерпретатора. Якщо будь-які ключові слова визначено як активні лише тоді, " +"коли діють певні оператори :mod:`__future__`, вони також будуть включені." + +msgid "Return ``True`` if *s* is a Python :ref:`soft keyword `." +msgstr "" +"Повертає ``True``, якщо *s* є :ref:`програмним ключовим словом Python `." + +msgid "" +"Sequence containing all the :ref:`soft keywords ` defined for " +"the interpreter. If any soft keywords are defined to only be active when " +"particular :mod:`__future__` statements are in effect, these will be " +"included as well." +msgstr "" +"Послідовність, що містить усі :ref:`м’які ключові слова `, " +"визначені для інтерпретатора. Якщо будь-які програмні ключові слова " +"визначено як активні лише тоді, коли діють певні оператори :mod:" +"`__future__`, вони також будуть включені." diff --git a/library/language.po b/library/language.po new file mode 100644 index 000000000..02ef6ee36 --- /dev/null +++ b/library/language.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python Language Services" +msgstr "Служби мови Python" + +msgid "" +"Python provides a number of modules to assist in working with the Python " +"language. These modules support tokenizing, parsing, syntax analysis, " +"bytecode disassembly, and various other facilities." +msgstr "" +"Python надає ряд модулів для допомоги в роботі з мовою Python. Ці модулі " +"підтримують токенізацію, синтаксичний аналіз, аналіз синтаксису, розбирання " +"байт-коду та різні інші засоби." + +msgid "These modules include:" +msgstr "Ці модулі включають:" diff --git a/library/linecache.po b/library/linecache.po new file mode 100644 index 000000000..6a3eff0c9 --- /dev/null +++ b/library/linecache.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`linecache` --- Random access to text lines" +msgstr ":mod:`linecache` --- Довільний доступ до рядків тексту" + +msgid "**Source code:** :source:`Lib/linecache.py`" +msgstr "**Вихідний код:** :source:`Lib/linecache.py`" + +msgid "" +"The :mod:`linecache` module allows one to get any line from a Python source " +"file, while attempting to optimize internally, using a cache, the common " +"case where many lines are read from a single file. This is used by the :mod:" +"`traceback` module to retrieve source lines for inclusion in the formatted " +"traceback." +msgstr "" +"Модуль :mod:`linecache` дозволяє отримати будь-який рядок із вихідного файлу " +"Python, одночасно намагаючись оптимізувати внутрішню систему, використовуючи " +"кеш, типовий випадок, коли багато рядків зчитується з одного файлу. Це " +"використовується модулем :mod:`traceback` для отримання вихідних рядків для " +"включення у відформатовану трасування." + +msgid "" +"The :func:`tokenize.open` function is used to open files. This function " +"uses :func:`tokenize.detect_encoding` to get the encoding of the file; in " +"the absence of an encoding token, the file encoding defaults to UTF-8." +msgstr "" +"Функція :func:`tokenize.open` використовується для відкриття файлів. Ця " +"функція використовує :func:`tokenize.detect_encoding`, щоб отримати " +"кодування файлу; за відсутності маркера кодування, кодування файлу за " +"замовчуванням — UTF-8." + +msgid "The :mod:`linecache` module defines the following functions:" +msgstr "Модуль :mod:`linecache` визначає такі функції:" + +msgid "" +"Get line *lineno* from file named *filename*. This function will never raise " +"an exception --- it will return ``''`` on errors (the terminating newline " +"character will be included for lines that are found)." +msgstr "" +"Отримати рядок *lineno* з файлу з назвою *filename*. Ця функція ніколи не " +"викличе виняток --- вона повертатиме ``''`` у разі помилки (кінцевий символ " +"нового рядка буде включено для знайдених рядків)." + +msgid "" +"If a file named *filename* is not found, the function first checks for a :" +"pep:`302` ``__loader__`` in *module_globals*. If there is such a loader and " +"it defines a ``get_source`` method, then that determines the source lines " +"(if ``get_source()`` returns ``None``, then ``''`` is returned). Finally, if " +"*filename* is a relative filename, it is looked up relative to the entries " +"in the module search path, ``sys.path``." +msgstr "" +"Якщо файл із назвою *filename* не знайдено, функція спочатку перевіряє " +"наявність :pep:`302` ``__loader__`` у *module_globals*. Якщо такий " +"завантажувач існує і він визначає метод get_source, то він визначає вихідні " +"рядки (якщо get_source() повертає None, тоді повертається ``''``). Нарешті, " +"якщо *filename* є відносною назвою файлу, вона шукається відносно записів у " +"шляху пошуку модуля, ``sys.path``." + +msgid "" +"Clear the cache. Use this function if you no longer need lines from files " +"previously read using :func:`getline`." +msgstr "" +"Очистити кеш. Використовуйте цю функцію, якщо вам більше не потрібні рядки з " +"файлів, які раніше були прочитані за допомогою :func:`getline`." + +msgid "" +"Check the cache for validity. Use this function if files in the cache may " +"have changed on disk, and you require the updated version. If *filename* is " +"omitted, it will check all the entries in the cache." +msgstr "" +"Перевірте кеш на дійсність. Використовуйте цю функцію, якщо файли в кеші " +"могли змінитися на диску, і вам потрібна оновлена версія. Якщо *ім’я файлу* " +"опущено, буде перевірено всі записи в кеші." + +msgid "" +"Capture enough detail about a non-file-based module to permit getting its " +"lines later via :func:`getline` even if *module_globals* is ``None`` in the " +"later call. This avoids doing I/O until a line is actually needed, without " +"having to carry the module globals around indefinitely." +msgstr "" +"Зберіть достатньо деталей про нефайловий модуль, щоб дозволити отримати його " +"рядки пізніше через :func:`getline`, навіть якщо *module_globals* має " +"значення ``None`` у наступному виклику. Це дозволяє уникнути введення/" +"виведення, доки рядок дійсно не знадобиться, без необхідності носити " +"глобальні модулі безкінечно." + +msgid "Example::" +msgstr "Приклад::" diff --git a/library/locale.po b/library/locale.po new file mode 100644 index 000000000..f20385854 --- /dev/null +++ b/library/locale.po @@ -0,0 +1,946 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:08+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`locale` --- Internationalization services" +msgstr ":mod:`locale` --- Послуги інтернаціоналізації" + +msgid "**Source code:** :source:`Lib/locale.py`" +msgstr "**Вихідний код:** :source:`Lib/locale.py`" + +msgid "" +"The :mod:`locale` module opens access to the POSIX locale database and " +"functionality. The POSIX locale mechanism allows programmers to deal with " +"certain cultural issues in an application, without requiring the programmer " +"to know all the specifics of each country where the software is executed." +msgstr "" +"Модуль :mod:`locale` відкриває доступ до бази даних і функцій POSIX locale. " +"Механізм локалізації POSIX дозволяє програмістам мати справу з певними " +"культурними проблемами в додатку, не вимагаючи від програміста знання всіх " +"особливостей кожної країни, де виконується програмне забезпечення." + +msgid "" +"The :mod:`locale` module is implemented on top of the :mod:`_locale` module, " +"which in turn uses an ANSI C locale implementation if available." +msgstr "" +"Модуль :mod:`locale` реалізовано поверх модуля :mod:`_locale`, який, у свою " +"чергу, використовує реалізацію локалі ANSI C, якщо доступна." + +msgid "The :mod:`locale` module defines the following exception and functions:" +msgstr "Модуль :mod:`locale` визначає такі винятки та функції:" + +msgid "" +"Exception raised when the locale passed to :func:`setlocale` is not " +"recognized." +msgstr "" +"Виняток виникає, коли локаль, передана :func:`setlocale`, не розпізнається." + +msgid "" +"If *locale* is given and not ``None``, :func:`setlocale` modifies the locale " +"setting for the *category*. The available categories are listed in the data " +"description below. *locale* may be a string, or an iterable of two strings " +"(language code and encoding). If it's an iterable, it's converted to a " +"locale name using the locale aliasing engine. An empty string specifies the " +"user's default settings. If the modification of the locale fails, the " +"exception :exc:`Error` is raised. If successful, the new locale setting is " +"returned." +msgstr "" +"Якщо вказано *locale*, а не ``None``, :func:`setlocale` змінює налаштування " +"мови для *категорії*. Доступні категорії перераховані в описі даних нижче. " +"*locale* може бути рядком або ітерацією двох рядків (код мови та кодування). " +"Якщо це ітерація, вона перетворюється на назву локалі за допомогою механізму " +"псевдонімів локалі. Порожній рядок визначає параметри користувача за " +"замовчуванням. Якщо зміна локалі не вдається, виникає виняток :exc:`Error`. " +"У разі успіху повертається нове налаштування мови." + +msgid "" +"If *locale* is omitted or ``None``, the current setting for *category* is " +"returned." +msgstr "" +"Якщо *locale* пропущено або ``None``, повертається поточне налаштування для " +"*category*." + +msgid "" +":func:`setlocale` is not thread-safe on most systems. Applications typically " +"start with a call of ::" +msgstr "" +":func:`setlocale` не є потокобезпечним у більшості систем. Програми зазвичай " +"починаються з виклику ::" + +msgid "" +"This sets the locale for all categories to the user's default setting " +"(typically specified in the :envvar:`LANG` environment variable). If the " +"locale is not changed thereafter, using multithreading should not cause " +"problems." +msgstr "" +"Це встановлює локаль для всіх категорій на налаштування користувача за " +"замовчуванням (зазвичай вказується у змінній середовища :envvar:`LANG`). " +"Якщо після цього локаль не буде змінено, використання багатопоточності не " +"повинно викликати проблем." + +msgid "" +"Returns the database of the local conventions as a dictionary. This " +"dictionary has the following strings as keys:" +msgstr "" +"Повертає базу даних локальних угод як словник. Цей словник має такі рядки як " +"ключі:" + +msgid "Category" +msgstr "Категорія" + +msgid "Key" +msgstr "ключ" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`LC_NUMERIC`" +msgstr ":const:`LC_NUMERIC`" + +msgid "``'decimal_point'``" +msgstr "``'десяткова_крапка''``" + +msgid "Decimal point character." +msgstr "Символ десяткової точки." + +msgid "``'grouping'``" +msgstr "``'групування''``" + +msgid "" +"Sequence of numbers specifying which relative positions the " +"``'thousands_sep'`` is expected. If the sequence is terminated with :const:" +"`CHAR_MAX`, no further grouping is performed. If the sequence terminates " +"with a ``0``, the last group size is repeatedly used." +msgstr "" +"Послідовність чисел, що вказує, які відносні позиції очікується " +"``'thousands_sep``. Якщо послідовність закінчується :const:`CHAR_MAX`, " +"подальше групування не виконується. Якщо послідовність завершується ``0``, " +"останній розмір групи використовується повторно." + +msgid "``'thousands_sep'``" +msgstr "``'thousands_sep''``" + +msgid "Character used between groups." +msgstr "Символ, що використовується між групами." + +msgid ":const:`LC_MONETARY`" +msgstr ":const:`LC_MONETARY`" + +msgid "``'int_curr_symbol'``" +msgstr "``'int_curr_symbol'``" + +msgid "International currency symbol." +msgstr "Міжнародний символ валюти." + +msgid "``'currency_symbol'``" +msgstr "``'currency_symbol'``" + +msgid "Local currency symbol." +msgstr "Символ місцевої валюти." + +msgid "``'p_cs_precedes/n_cs_precedes'``" +msgstr "``'p_cs_precedes/n_cs_precedes'``" + +msgid "" +"Whether the currency symbol precedes the value (for positive resp. negative " +"values)." +msgstr "Чи передує символ валюти значенню (для додатних чи від’ємних значень)." + +msgid "``'p_sep_by_space/n_sep_by_space'``" +msgstr "``'p_sep_by_space/n_sep_by_space'``" + +msgid "" +"Whether the currency symbol is separated from the value by a space (for " +"positive resp. negative values)." +msgstr "" +"Чи відокремлено символ грошової одиниці від значення пробілом (для додатних " +"чи від’ємних значень)." + +msgid "``'mon_decimal_point'``" +msgstr "``'mon_decimal_point'``" + +msgid "Decimal point used for monetary values." +msgstr "Десяткова кома використовується для грошових значень." + +msgid "``'frac_digits'``" +msgstr "``'frac_digits'``" + +msgid "" +"Number of fractional digits used in local formatting of monetary values." +msgstr "" +"Кількість дробових цифр, які використовуються в локальному форматуванні " +"грошових значень." + +msgid "``'int_frac_digits'``" +msgstr "``'int_frac_digits'``" + +msgid "" +"Number of fractional digits used in international formatting of monetary " +"values." +msgstr "" +"Кількість дробових цифр, які використовуються в міжнародному форматуванні " +"грошових значень." + +msgid "``'mon_thousands_sep'``" +msgstr "``'mon_thousands_sep''``" + +msgid "Group separator used for monetary values." +msgstr "Роздільник груп, який використовується для грошових значень." + +msgid "``'mon_grouping'``" +msgstr "``'mon_grouping'``" + +msgid "Equivalent to ``'grouping'``, used for monetary values." +msgstr "" +"Еквівалент ``'групування''``, що використовується для грошових значень." + +msgid "``'positive_sign'``" +msgstr "``'позитивний_знак'``" + +msgid "Symbol used to annotate a positive monetary value." +msgstr "" +"Символ, який використовується для позначення додатної грошової вартості." + +msgid "``'negative_sign'``" +msgstr "``'негативний_знак'``" + +msgid "Symbol used to annotate a negative monetary value." +msgstr "" +"Символ, який використовується для позначення від’ємної грошової вартості." + +msgid "``'p_sign_posn/n_sign_posn'``" +msgstr "``'p_sign_posn/n_sign_posn''``" + +msgid "" +"The position of the sign (for positive resp. negative values), see below." +msgstr "Розташування знака (для додатних чи від’ємних значень) див. нижче." + +msgid "" +"All numeric values can be set to :const:`CHAR_MAX` to indicate that there is " +"no value specified in this locale." +msgstr "" +"Для всіх числових значень можна встановити значення :const:`CHAR_MAX`, щоб " +"вказати, що в цій локалі не вказано значення." + +msgid "" +"The possible values for ``'p_sign_posn'`` and ``'n_sign_posn'`` are given " +"below." +msgstr "" +"Нижче наведено можливі значення для ``'p_sign_posn'`` і ``'n_sign_posn'``." + +msgid "Value" +msgstr "Значення" + +msgid "Explanation" +msgstr "Пояснення" + +msgid "``0``" +msgstr "``0``" + +msgid "Currency and value are surrounded by parentheses." +msgstr "Валюта та значення взяті в дужки." + +msgid "``1``" +msgstr "``1``" + +msgid "The sign should precede the value and currency symbol." +msgstr "Знак має передувати символу вартості та валюти." + +msgid "``2``" +msgstr "``2``" + +msgid "The sign should follow the value and currency symbol." +msgstr "Знак повинен слідувати за символом вартості та валюти." + +msgid "``3``" +msgstr "``3``" + +msgid "The sign should immediately precede the value." +msgstr "Знак повинен стояти безпосередньо перед значенням." + +msgid "``4``" +msgstr "``4``" + +msgid "The sign should immediately follow the value." +msgstr "Знак повинен слідувати безпосередньо за значенням." + +msgid "``CHAR_MAX``" +msgstr "``CHAR_MAX``" + +msgid "Nothing is specified in this locale." +msgstr "У цій локалі нічого не вказано." + +msgid "" +"The function temporarily sets the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " +"locale or the ``LC_MONETARY`` locale if locales are different and numeric or " +"monetary strings are non-ASCII. This temporary change affects other threads." +msgstr "" + +msgid "" +"The function now temporarily sets the ``LC_CTYPE`` locale to the " +"``LC_NUMERIC`` locale in some cases." +msgstr "" + +msgid "" +"Return some locale-specific information as a string. This function is not " +"available on all systems, and the set of possible options might also vary " +"across platforms. The possible argument values are numbers, for which " +"symbolic constants are available in the locale module." +msgstr "" +"Повертає деяку інформацію про локаль у вигляді рядка. Ця функція доступна не " +"в усіх системах, і набір можливих параметрів також може відрізнятися на " +"різних платформах. Можливими значеннями аргументів є числа, для яких у " +"модулі локалі доступні символьні константи." + +msgid "" +"The :func:`nl_langinfo` function accepts one of the following keys. Most " +"descriptions are taken from the corresponding description in the GNU C " +"library." +msgstr "" +"Функція :func:`nl_langinfo` приймає один із наведених нижче ключів. " +"Більшість описів взято з відповідного опису в бібліотеці GNU C." + +msgid "" +"Get a string with the name of the character encoding used in the selected " +"locale." +msgstr "" +"Отримайте рядок із назвою кодування символів, що використовується у вибраній " +"локалі." + +msgid "" +"Get a string that can be used as a format string for :func:`time.strftime` " +"to represent date and time in a locale-specific way." +msgstr "" +"Отримайте рядок, який можна використовувати як рядок формату для :func:`time." +"strftime` для представлення дати й часу у спосіб, що залежить від локалі." + +msgid "" +"Get a string that can be used as a format string for :func:`time.strftime` " +"to represent a date in a locale-specific way." +msgstr "" +"Отримайте рядок, який можна використовувати як рядок формату для :func:`time." +"strftime` для представлення дати у спосіб, що залежить від локалі." + +msgid "" +"Get a string that can be used as a format string for :func:`time.strftime` " +"to represent a time in a locale-specific way." +msgstr "" +"Отримайте рядок, який можна використовувати як рядок формату для :func:`time." +"strftime` для представлення часу у спосіб, що залежить від локалі." + +msgid "" +"Get a format string for :func:`time.strftime` to represent time in the am/pm " +"format." +msgstr "" +"Отримайте рядок формату для :func:`time.strftime` для представлення часу у " +"форматі am/pm." + +msgid "Get the name of the n-th day of the week." +msgstr "Отримайте назву n-го дня тижня." + +msgid "" +"This follows the US convention of :const:`DAY_1` being Sunday, not the " +"international convention (ISO 8601) that Monday is the first day of the week." +msgstr "" +"Це відповідає конвенції США про те, що :const:`DAY_1` є неділею, а не " +"міжнародній конвенції (ISO 8601), що понеділок є першим днем тижня." + +msgid "Get the abbreviated name of the n-th day of the week." +msgstr "Отримайте скорочену назву n-го дня тижня." + +msgid "Get the name of the n-th month." +msgstr "Отримайте назву n-го місяця." + +msgid "Get the abbreviated name of the n-th month." +msgstr "Отримайте скорочену назву n-го місяця." + +msgid "Get the radix character (decimal dot, decimal comma, etc.)." +msgstr "Отримайте символ основи (десяткову крапку, десяткову кому тощо)." + +msgid "Get the separator character for thousands (groups of three digits)." +msgstr "Отримайте роздільник тисяч (групи з трьох цифр)." + +msgid "" +"Get a regular expression that can be used with the regex function to " +"recognize a positive response to a yes/no question." +msgstr "" +"Отримайте регулярний вираз, який можна використовувати з функцією " +"регулярного виразу, щоб розпізнати позитивну відповідь на запитання \"так/ні" +"\"." + +msgid "" +"Get a regular expression that can be used with the regex(3) function to " +"recognize a negative response to a yes/no question." +msgstr "" +"Отримайте регулярний вираз, який можна використовувати з функцією regex(3), " +"щоб розпізнати негативну відповідь на запитання \"так/ні\"." + +msgid "" +"The regular expressions for :const:`YESEXPR` and :const:`NOEXPR` use syntax " +"suitable for the :c:func:`regex` function from the C library, which might " +"differ from the syntax used in :mod:`re`." +msgstr "" + +msgid "" +"Get the currency symbol, preceded by \"-\" if the symbol should appear " +"before the value, \"+\" if the symbol should appear after the value, or \"." +"\" if the symbol should replace the radix character." +msgstr "" +"Отримайте символ грошової одиниці, якому передує \"-\", якщо символ має " +"стояти перед значенням, \"+\", якщо символ має стояти після значення, або \"." +"\" якщо символ повинен замінити символ основи." + +msgid "Get a string that represents the era used in the current locale." +msgstr "" +"Отримайте рядок, який представляє епоху, що використовується в поточній " +"локалі." + +msgid "" +"Most locales do not define this value. An example of a locale which does " +"define this value is the Japanese one. In Japan, the traditional " +"representation of dates includes the name of the era corresponding to the " +"then-emperor's reign." +msgstr "" +"Більшість локалей не визначають це значення. Прикладом локалі, яка визначає " +"це значення, є японська. У Японії традиційне представлення дат включає назву " +"епохи, яка відповідає правлінню тодішнього імператора." + +msgid "" +"Normally it should not be necessary to use this value directly. Specifying " +"the ``E`` modifier in their format strings causes the :func:`time.strftime` " +"function to use this information. The format of the returned string is not " +"specified, and therefore you should not assume knowledge of it on different " +"systems." +msgstr "" +"Зазвичай немає необхідності використовувати це значення безпосередньо. Якщо " +"вказати модифікатор ``E`` у рядках формату, функція :func:`time.strftime` " +"використовуватиме цю інформацію. Формат поверненого рядка не вказано, тому " +"ви не повинні припускати, що ви знаєте його в різних системах." + +msgid "" +"Get a format string for :func:`time.strftime` to represent date and time in " +"a locale-specific era-based way." +msgstr "" +"Отримайте рядок формату для :func:`time.strftime`, щоб представити дату й " +"час у спосіб, що залежить від місцевості й епохи." + +msgid "" +"Get a format string for :func:`time.strftime` to represent a date in a " +"locale-specific era-based way." +msgstr "" +"Отримайте рядок формату для :func:`time.strftime`, щоб представити дату " +"залежно від локалі на основі епохи." + +msgid "" +"Get a format string for :func:`time.strftime` to represent a time in a " +"locale-specific era-based way." +msgstr "" +"Отримайте рядок формату для :func:`time.strftime`, щоб представити час " +"залежно від локалі на основі епохи." + +msgid "" +"Get a representation of up to 100 values used to represent the values 0 to " +"99." +msgstr "" +"Отримайте представлення до 100 значень, які використовуються для " +"представлення значень від 0 до 99." + +msgid "" +"Tries to determine the default locale settings and returns them as a tuple " +"of the form ``(language code, encoding)``." +msgstr "" +"Намагається визначити параметри мови за замовчуванням і повертає їх як " +"кортеж у формі ``(код мови, кодування)``." + +msgid "" +"According to POSIX, a program which has not called ``setlocale(LC_ALL, '')`` " +"runs using the portable ``'C'`` locale. Calling ``setlocale(LC_ALL, '')`` " +"lets it use the default locale as defined by the :envvar:`LANG` variable. " +"Since we do not want to interfere with the current locale setting we thus " +"emulate the behavior in the way described above." +msgstr "" +"Відповідно до POSIX, програма, яка не викликала ``setlocale(LC_ALL, '')``, " +"працює з використанням портативної локалі ``'C''``. Виклик " +"``setlocale(LC_ALL, '')`` дозволяє використовувати локаль за замовчуванням, " +"як визначено змінною :envvar:`LANG`. Оскільки ми не хочемо втручатися в " +"поточні налаштування локалі, ми таким чином емулюємо поведінку, як описано " +"вище." + +msgid "" +"To maintain compatibility with other platforms, not only the :envvar:`LANG` " +"variable is tested, but a list of variables given as envvars parameter. The " +"first found to be defined will be used. *envvars* defaults to the search " +"path used in GNU gettext; it must always contain the variable name " +"``'LANG'``. The GNU gettext search path contains ``'LC_ALL'``, " +"``'LC_CTYPE'``, ``'LANG'`` and ``'LANGUAGE'``, in that order." +msgstr "" +"Щоб підтримувати сумісність з іншими платформами, перевіряється не лише " +"змінна :envvar:`LANG`, але й список змінних, наданий як параметр envvars. " +"Використовуватиметься перший знайдений. *envvars* за умовчанням використовує " +"шлях пошуку, який використовується в GNU gettext; він завжди повинен містити " +"назву змінної ``'LANG'``. Шлях пошуку GNU gettext містить ``'LC_ALL'``, " +"``'LC_CTYPE'``, ``'LANG'`` і ``'LANGUAGE'``, у такому порядку." + +msgid "" +"Except for the code ``'C'``, the language code corresponds to :rfc:`1766`. " +"*language code* and *encoding* may be ``None`` if their values cannot be " +"determined." +msgstr "" +"За винятком коду ``'C``, код мови відповідає :rfc:`1766`. *код мови* і " +"*кодування* можуть мати значення ``None``, якщо їх значення неможливо " +"визначити." + +msgid "" +"Returns the current setting for the given locale category as sequence " +"containing *language code*, *encoding*. *category* may be one of the :const:" +"`LC_\\*` values except :const:`LC_ALL`. It defaults to :const:`LC_CTYPE`." +msgstr "" +"Повертає поточне налаштування для вказаної категорії мови як послідовність, " +"що містить *код мови*, *кодування*. *category* може бути одним із значень :" +"const:`LC_\\*`, крім :const:`LC_ALL`. За замовчуванням :const:`LC_CTYPE`." + +msgid "" +"Return the :term:`locale encoding` used for text data, according to user " +"preferences. User preferences are expressed differently on different " +"systems, and might not be available programmatically on some systems, so " +"this function only returns a guess." +msgstr "" +"Повертає :term:`locale encoding`, що використовується для текстових даних, " +"відповідно до вподобань користувача. Налаштування користувача виражаються по-" +"різному в різних системах і можуть бути недоступні програмно в деяких " +"системах, тому ця функція повертає лише припущення." + +msgid "" +"On some systems, it is necessary to invoke :func:`setlocale` to obtain the " +"user preferences, so this function is not thread-safe. If invoking setlocale " +"is not necessary or desired, *do_setlocale* should be set to ``False``." +msgstr "" +"У деяких системах необхідно викликати :func:`setlocale`, щоб отримати " +"параметри користувача, тому ця функція небезпечна для потоків. Якщо виклик " +"setlocale не є необхідним або бажаним, *do_setlocale* має бути встановлено " +"на ``False``." + +msgid "" +"On Android or if the :ref:`Python UTF-8 Mode ` is enabled, always " +"return ``'utf-8'``, the :term:`locale encoding` and the *do_setlocale* " +"argument are ignored." +msgstr "" + +msgid "" +"The :ref:`Python preinitialization ` configures the LC_CTYPE " +"locale. See also the :term:`filesystem encoding and error handler`." +msgstr "" +":ref:`Попередня ініціалізація Python ` налаштовує локаль " +"LC_CTYPE. Дивіться також :term:`filesystem encoding and error handler`." + +msgid "" +"The function now always returns ``\"utf-8\"`` on Android or if the :ref:" +"`Python UTF-8 Mode ` is enabled." +msgstr "" + +msgid "Get the current :term:`locale encoding`:" +msgstr "" + +msgid "On Android and VxWorks, return ``\"utf-8\"``." +msgstr "" + +msgid "" +"On Unix, return the encoding of the current :data:`LC_CTYPE` locale. Return " +"``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string: for " +"example, if the current LC_CTYPE locale is not supported." +msgstr "" + +msgid "On Windows, return the ANSI code page." +msgstr "" + +msgid "" +"This function is similar to :func:`getpreferredencoding(False) " +"` except this function ignores the :ref:`Python UTF-8 " +"Mode `." +msgstr "" + +msgid "" +"Returns a normalized locale code for the given locale name. The returned " +"locale code is formatted for use with :func:`setlocale`. If normalization " +"fails, the original name is returned unchanged." +msgstr "" +"Повертає нормалізований код мови для заданої назви мови. Повернений код мови " +"відформатовано для використання з :func:`setlocale`. Якщо нормалізація не " +"вдається, вихідне ім'я повертається без змін." + +msgid "" +"If the given encoding is not known, the function defaults to the default " +"encoding for the locale code just like :func:`setlocale`." +msgstr "" +"Якщо задане кодування невідоме, функція за замовчуванням використовує " +"кодування за замовчуванням для коду мови, як :func:`setlocale`." + +msgid "Sets the locale for *category* to the default setting." +msgstr "Встановлює для *категорії* налаштування за замовчуванням." + +msgid "" +"The default setting is determined by calling :func:`getdefaultlocale`. " +"*category* defaults to :const:`LC_ALL`." +msgstr "" +"Налаштування за замовчуванням визначається викликом :func:" +"`getdefaultlocale`. *категорія* за замовчуванням :const:`LC_ALL`." + +msgid "" +"Compares two strings according to the current :const:`LC_COLLATE` setting. " +"As any other compare function, returns a negative, or a positive value, or " +"``0``, depending on whether *string1* collates before or after *string2* or " +"is equal to it." +msgstr "" +"Порівнює два рядки відповідно до поточного параметра :const:`LC_COLLATE`. Як " +"і будь-яка інша функція порівняння, повертає від’ємне або додатне значення, " +"або ``0``, залежно від того, чи *рядок1* порівнює до чи після *рядок2* або " +"дорівнює йому." + +msgid "" +"Transforms a string to one that can be used in locale-aware comparisons. " +"For example, ``strxfrm(s1) < strxfrm(s2)`` is equivalent to ``strcoll(s1, " +"s2) < 0``. This function can be used when the same string is compared " +"repeatedly, e.g. when collating a sequence of strings." +msgstr "" +"Перетворює рядок на такий, який можна використовувати для порівняння з " +"урахуванням локалі. Наприклад, ``strxfrm(s1) < strxfrm(s2)`` еквівалентно " +"``strcoll(s1, s2) < 0``. Цю функцію можна використовувати, коли той самий " +"рядок порівнюється багаторазово, наприклад. під час зіставлення " +"послідовності рядків." + +msgid "" +"Formats a number *val* according to the current :const:`LC_NUMERIC` setting. " +"The format follows the conventions of the ``%`` operator. For floating " +"point values, the decimal point is modified if appropriate. If *grouping* " +"is ``True``, also takes the grouping into account." +msgstr "" + +msgid "" +"If *monetary* is true, the conversion uses monetary thousands separator and " +"grouping strings." +msgstr "" +"Якщо *monetary* має значення true, для перетворення використовуються грошові " +"розділювачі тисяч і рядки групування." + +msgid "" +"Processes formatting specifiers as in ``format % val``, but takes the " +"current locale settings into account." +msgstr "" +"Обробляє специфікатори форматування як у ``format % val``, але враховує " +"поточні налаштування мови." + +msgid "The *monetary* keyword parameter was added." +msgstr "Додано параметр ключового слова *monetary*." + +msgid "" +"Please note that this function works like :meth:`format_string` but will " +"only work for exactly one ``%char`` specifier. For example, ``'%f'`` and " +"``'%.0f'`` are both valid specifiers, but ``'%f KiB'`` is not." +msgstr "" +"Зауважте, що ця функція працює як :meth:`format_string`, але працюватиме " +"лише для одного специфікатора ``%char``. Наприклад, \"%f\" і \"%.0f\" є " +"дійсними специфікаторами, а \"%f KiB\" — ні." + +msgid "For whole format strings, use :func:`format_string`." +msgstr "Для повних рядків формату використовуйте :func:`format_string`." + +msgid "Use :meth:`format_string` instead." +msgstr "Натомість використовуйте :meth:`format_string`." + +msgid "" +"Formats a number *val* according to the current :const:`LC_MONETARY` " +"settings." +msgstr "" +"Форматує число *val* відповідно до поточних налаштувань :const:`LC_MONETARY`." + +msgid "" +"The returned string includes the currency symbol if *symbol* is true, which " +"is the default. If *grouping* is ``True`` (which is not the default), " +"grouping is done with the value. If *international* is ``True`` (which is " +"not the default), the international currency symbol is used." +msgstr "" + +msgid "" +"This function will not work with the 'C' locale, so you have to set a locale " +"via :func:`setlocale` first." +msgstr "" + +msgid "" +"Formats a floating point number using the same format as the built-in " +"function ``str(float)``, but takes the decimal point into account." +msgstr "" +"Форматує число з плаваючою комою, використовуючи той самий формат, що й " +"вбудована функція ``str(float)``, але враховує десяткову крапку." + +msgid "" +"Converts a string into a normalized number string, following the :const:" +"`LC_NUMERIC` settings." +msgstr "" +"Перетворює рядок у нормалізований числовий рядок відповідно до параметрів :" +"const:`LC_NUMERIC`." + +msgid "" +"Converts a normalized number string into a formatted string following the :" +"const:`LC_NUMERIC` settings." +msgstr "" +"Перетворює нормалізований числовий рядок у відформатований рядок відповідно " +"до параметрів :const:`LC_NUMERIC`." + +msgid "" +"Converts a string to a number, following the :const:`LC_NUMERIC` settings, " +"by calling *func* on the result of calling :func:`delocalize` on *string*." +msgstr "" +"Перетворює рядок на число відповідно до налаштувань :const:`LC_NUMERIC`, " +"викликаючи *func* в результаті виклику :func:`delocalize` для *string*." + +msgid "" +"Converts a string to an integer, following the :const:`LC_NUMERIC` " +"conventions." +msgstr "Перетворює рядок на ціле число, дотримуючись угод :const:`LC_NUMERIC`." + +msgid "" +"Locale category for the character type functions. Depending on the settings " +"of this category, the functions of module :mod:`string` dealing with case " +"change their behaviour." +msgstr "" +"Категорія мови для функцій типу символів. Залежно від налаштувань цієї " +"категорії функції модуля :mod:`string`, що працюють з регістром, змінюють " +"свою поведінку." + +msgid "" +"Locale category for sorting strings. The functions :func:`strcoll` and :" +"func:`strxfrm` of the :mod:`locale` module are affected." +msgstr "" +"Локальна категорія для сортування рядків. Це впливає на функції :func:" +"`strcoll` і :func:`strxfrm` модуля :mod:`locale`." + +msgid "" +"Locale category for the formatting of time. The function :func:`time." +"strftime` follows these conventions." +msgstr "" +"Локальна категорія для форматування часу. Функція :func:`time.strftime` " +"відповідає цим умовам." + +msgid "" +"Locale category for formatting of monetary values. The available options " +"are available from the :func:`localeconv` function." +msgstr "" +"Локальна категорія для форматування грошових значень. Доступні параметри " +"доступні з функції :func:`localeconv`." + +msgid "" +"Locale category for message display. Python currently does not support " +"application specific locale-aware messages. Messages displayed by the " +"operating system, like those returned by :func:`os.strerror` might be " +"affected by this category." +msgstr "" +"Категорія мови для відображення повідомлень. Python наразі не підтримує " +"повідомлень із залежністю від мови програми. Ця категорія може вплинути на " +"повідомлення, які відображає операційна система, наприклад ті, що повертає :" +"func:`os.strerror`." + +msgid "" +"Locale category for formatting numbers. The functions :func:`.format`, :" +"func:`atoi`, :func:`atof` and :func:`.str` of the :mod:`locale` module are " +"affected by that category. All other numeric formatting operations are not " +"affected." +msgstr "" +"Локальна категорія для форматування чисел. Ця категорія впливає на функції :" +"func:`.format`, :func:`atoi`, :func:`atof` і :func:`.str` модуля :mod:" +"`locale`. Усі інші операції форматування чисел не впливають." + +msgid "" +"Combination of all locale settings. If this flag is used when the locale is " +"changed, setting the locale for all categories is attempted. If that fails " +"for any category, no category is changed at all. When the locale is " +"retrieved using this flag, a string indicating the setting for all " +"categories is returned. This string can be later used to restore the " +"settings." +msgstr "" +"Комбінація всіх налаштувань мови. Якщо цей прапорець використовується під " +"час зміни локалі, намагається встановити локаль для всіх категорій. Якщо це " +"не вдається для будь-якої категорії, жодна категорія не змінюється взагалі. " +"Коли локаль отримується за допомогою цього прапорця, повертається рядок, що " +"вказує на налаштування для всіх категорій. Цей рядок пізніше можна " +"використати для відновлення налаштувань." + +msgid "" +"This is a symbolic constant used for different values returned by :func:" +"`localeconv`." +msgstr "" +"Це символічна константа, яка використовується для різних значень, які " +"повертає :func:`localeconv`." + +msgid "Example::" +msgstr "Приклад::" + +msgid "Background, details, hints, tips and caveats" +msgstr "Передумови, деталі, підказки, поради та застереження" + +msgid "" +"The C standard defines the locale as a program-wide property that may be " +"relatively expensive to change. On top of that, some implementations are " +"broken in such a way that frequent locale changes may cause core dumps. " +"This makes the locale somewhat painful to use correctly." +msgstr "" +"Стандарт C визначає локаль як загальнопрограмну властивість, зміна якої може " +"бути відносно дорогою. Крім того, деякі реалізації порушені таким чином, що " +"часті зміни локалі можуть спричинити дамп ядра. Це робить локаль дещо " +"болючим для правильного використання." + +msgid "" +"Initially, when a program is started, the locale is the ``C`` locale, no " +"matter what the user's preferred locale is. There is one exception: the :" +"data:`LC_CTYPE` category is changed at startup to set the current locale " +"encoding to the user's preferred locale encoding. The program must " +"explicitly say that it wants the user's preferred locale settings for other " +"categories by calling ``setlocale(LC_ALL, '')``." +msgstr "" +"Спочатку, коли програма запускається, локаль ``C`` локаль, незалежно від " +"того, яку локаль вибирає користувач. Є один виняток: категорія :data:" +"`LC_CTYPE` змінюється під час запуску, щоб встановити поточне кодування мови " +"на бажане кодування мови користувача. Програма має чітко вказати, що їй " +"потрібні бажані налаштування локалі користувача для інших категорій, " +"викликавши ``setlocale(LC_ALL, '')``." + +msgid "" +"It is generally a bad idea to call :func:`setlocale` in some library " +"routine, since as a side effect it affects the entire program. Saving and " +"restoring it is almost as bad: it is expensive and affects other threads " +"that happen to run before the settings have been restored." +msgstr "" +"Викликати :func:`setlocale` у певній бібліотечній процедурі, як правило, " +"погана ідея, оскільки як побічний ефект це впливає на всю програму. " +"Зберігати та відновлювати його майже так само погано: це дорого та впливає " +"на інші потоки, які запускаються до відновлення налаштувань." + +msgid "" +"If, when coding a module for general use, you need a locale independent " +"version of an operation that is affected by the locale (such as certain " +"formats used with :func:`time.strftime`), you will have to find a way to do " +"it without using the standard library routine. Even better is convincing " +"yourself that using locale settings is okay. Only as a last resort should " +"you document that your module is not compatible with non-\\ ``C`` locale " +"settings." +msgstr "" +"Якщо під час кодування модуля для загального використання вам потрібна " +"незалежна від локалі версія операції, на яку впливає локаль (наприклад, " +"певні формати, що використовуються з :func:`time.strftime`), вам доведеться " +"знайти спосіб зробити це без використання стандартної бібліотечної " +"процедури. Ще краще — переконати себе, що використання налаштувань мови — це " +"нормально. Лише в крайньому випадку ви повинні задокументувати, що ваш " +"модуль несумісний з налаштуваннями локалі, відмінними від \\ ``C``." + +msgid "" +"The only way to perform numeric operations according to the locale is to use " +"the special functions defined by this module: :func:`atof`, :func:`atoi`, :" +"func:`.format`, :func:`.str`." +msgstr "" +"Єдиним способом виконання числових операцій відповідно до локалі є " +"використання спеціальних функцій, визначених цим модулем: :func:`atof`, :" +"func:`atoi`, :func:`.format`, :func:`.str`." + +msgid "" +"There is no way to perform case conversions and character classifications " +"according to the locale. For (Unicode) text strings these are done " +"according to the character value only, while for byte strings, the " +"conversions and classifications are done according to the ASCII value of the " +"byte, and bytes whose high bit is set (i.e., non-ASCII bytes) are never " +"converted or considered part of a character class such as letter or " +"whitespace." +msgstr "" +"Немає способу виконати перетворення регістру та класифікацію символів " +"відповідно до локалі. Для текстових рядків (Unicode) вони виконуються лише " +"відповідно до значення символу, тоді як для рядків байтів перетворення та " +"класифікація виконуються відповідно до значення ASCII байта та байтів, для " +"яких встановлено старший біт (тобто байти, що не належать до ASCII ) ніколи " +"не перетворюються та не вважаються частиною класу символів, такого як літера " +"чи пробіл." + +msgid "For extension writers and programs that embed Python" +msgstr "Для авторів розширень і програм, які вбудовують Python" + +msgid "" +"Extension modules should never call :func:`setlocale`, except to find out " +"what the current locale is. But since the return value can only be used " +"portably to restore it, that is not very useful (except perhaps to find out " +"whether or not the locale is ``C``)." +msgstr "" +"Модулі розширення ніколи не повинні викликати :func:`setlocale`, за винятком " +"того, щоб дізнатися, яка поточна локаль. Але оскільки значення, що " +"повертається, можна використати лише портативно, щоб відновити його, це не " +"дуже корисно (за винятком, можливо, для того, щоб дізнатися, чи є локаль " +"``C``)." + +msgid "" +"When Python code uses the :mod:`locale` module to change the locale, this " +"also affects the embedding application. If the embedding application " +"doesn't want this to happen, it should remove the :mod:`_locale` extension " +"module (which does all the work) from the table of built-in modules in the :" +"file:`config.c` file, and make sure that the :mod:`_locale` module is not " +"accessible as a shared library." +msgstr "" +"Коли код Python використовує модуль :mod:`locale` для зміни локалі, це також " +"впливає на програму для вбудовування. Якщо програма для вбудовування не " +"хоче, щоб це сталося, їй слід видалити модуль розширення :mod:`_locale` " +"(який виконує всю роботу) із таблиці вбудованих модулів у файлі :file:" +"`config.c` , і переконайтеся, що модуль :mod:`_locale` недоступний як " +"спільна бібліотека." + +msgid "Access to message catalogs" +msgstr "Доступ до каталогів повідомлень" + +msgid "" +"The locale module exposes the C library's gettext interface on systems that " +"provide this interface. It consists of the functions :func:`!gettext`, :" +"func:`!dgettext`, :func:`!dcgettext`, :func:`!textdomain`, :func:`!" +"bindtextdomain`, and :func:`!bind_textdomain_codeset`. These are similar to " +"the same functions in the :mod:`gettext` module, but use the C library's " +"binary format for message catalogs, and the C library's search algorithms " +"for locating message catalogs." +msgstr "" +"Модуль locale відкриває інтерфейс gettext бібліотеки C у системах, які " +"забезпечують цей інтерфейс. Він складається з функцій :func:`!gettext`, :" +"func:`!dgettext`, :func:`!dcgettext`, :func:`!textdomain`, :func:`!" +"bindtextdomain` і :func:`!bind_textdomain_codeset`. Вони схожі на ті самі " +"функції в модулі :mod:`gettext`, але використовують бінарний формат " +"бібліотеки C для каталогів повідомлень і алгоритми пошуку бібліотеки C для " +"пошуку каталогів повідомлень." + +msgid "" +"Python applications should normally find no need to invoke these functions, " +"and should use :mod:`gettext` instead. A known exception to this rule are " +"applications that link with additional C libraries which internally invoke :" +"c:func:`gettext` or :c:func:`dcgettext`. For these applications, it may be " +"necessary to bind the text domain, so that the libraries can properly locate " +"their message catalogs." +msgstr "" +"Програми Python, як правило, не мають потреби викликати ці функції, а " +"замість них мають використовувати :mod:`gettext`. Відомим винятком із цього " +"правила є програми, які зв’язуються з додатковими бібліотеками C, які " +"внутрішньо викликають :c:func:`gettext` або :c:func:`dcgettext`. Для цих " +"програм може знадобитися прив’язати текстовий домен, щоб бібліотеки могли " +"правильно знайти свої каталоги повідомлень." diff --git a/library/logging.po b/library/logging.po new file mode 100644 index 000000000..6e6bb3d19 --- /dev/null +++ b/library/logging.po @@ -0,0 +1,2423 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`logging` --- Logging facility for Python" +msgstr ":mod:`logging` --- Можливість журналювання для Python" + +msgid "**Source code:** :source:`Lib/logging/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/logging/__init__.py`" + +msgid "" +"This page contains the API reference information. For tutorial information " +"and discussion of more advanced topics, see" +msgstr "" +"Ця сторінка містить довідкову інформацію про API. Інформацію про підручники " +"та обговорення більш складних тем див" + +msgid ":ref:`Basic Tutorial `" +msgstr ":ref:`Основний посібник `" + +msgid ":ref:`Advanced Tutorial `" +msgstr ":ref:`Розширений посібник `" + +msgid ":ref:`Logging Cookbook `" +msgstr ":ref:`Кулінарна книга журналювання `" + +msgid "" +"This module defines functions and classes which implement a flexible event " +"logging system for applications and libraries." +msgstr "" +"Цей модуль визначає функції та класи, які реалізують гнучку систему " +"реєстрації подій для програм і бібліотек." + +msgid "" +"The key benefit of having the logging API provided by a standard library " +"module is that all Python modules can participate in logging, so your " +"application log can include your own messages integrated with messages from " +"third-party modules." +msgstr "" +"Ключовою перевагою використання API журналювання, що надається стандартним " +"бібліотечним модулем, є те, що всі модулі Python можуть брати участь у " +"журналюванні, тому ваш журнал програми може містити ваші власні " +"повідомлення, інтегровані з повідомленнями від сторонніх модулів." + +msgid "The simplest example:" +msgstr "Найпростіший приклад:" + +msgid "" +"The module provides a lot of functionality and flexibility. If you are " +"unfamiliar with logging, the best way to get to grips with it is to view the " +"tutorials (**see the links above and on the right**)." +msgstr "" +"Модуль забезпечує багато функціональних можливостей і гнучкості. Якщо ви не " +"знайомі з веденням журналів, найкращий спосіб зрозуміти це — переглянути " +"навчальні посібники (**перегляньте посилання вище та праворуч**)." + +msgid "" +"The basic classes defined by the module, together with their functions, are " +"listed below." +msgstr "" +"Основні класи, визначені модулем, разом із їхніми функціями перераховані " +"нижче." + +msgid "Loggers expose the interface that application code directly uses." +msgstr "" +"Логери відкривають інтерфейс, який безпосередньо використовує код програми." + +msgid "" +"Handlers send the log records (created by loggers) to the appropriate " +"destination." +msgstr "" +"Обробники надсилають записи журналу (створені реєстраторами) у відповідне " +"місце призначення." + +msgid "" +"Filters provide a finer grained facility for determining which log records " +"to output." +msgstr "" +"Фільтри забезпечують точніші засоби для визначення того, які записи журналу " +"виводити." + +msgid "Formatters specify the layout of log records in the final output." +msgstr "" +"Засоби форматування вказують макет записів журналу в кінцевому виведенні." + +msgid "Logger Objects" +msgstr "Логер об'єктів" + +msgid "" +"Loggers have the following attributes and methods. Note that Loggers should " +"*NEVER* be instantiated directly, but always through the module-level " +"function ``logging.getLogger(name)``. Multiple calls to :func:`getLogger` " +"with the same name will always return a reference to the same Logger object." +msgstr "" +"Реєстратори мають такі атрибути та методи. Зауважте, що Логери *НІКОЛИ* не " +"повинні створюватися безпосередньо, а завжди через функцію рівня модуля " +"``logging.getLogger(name)``. Кілька викликів :func:`getLogger` з однаковою " +"назвою завжди повертатимуть посилання на той самий об’єкт Logger." + +msgid "" +"The ``name`` is potentially a period-separated hierarchical value, like " +"``foo.bar.baz`` (though it could also be just plain ``foo``, for example). " +"Loggers that are further down in the hierarchical list are children of " +"loggers higher up in the list. For example, given a logger with a name of " +"``foo``, loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` " +"are all descendants of ``foo``. The logger name hierarchy is analogous to " +"the Python package hierarchy, and identical to it if you organise your " +"loggers on a per-module basis using the recommended construction ``logging." +"getLogger(__name__)``. That's because in a module, ``__name__`` is the " +"module's name in the Python package namespace." +msgstr "" +"``name`` потенційно є ієрархічним значенням, розділеним крапкою, наприклад " +"``foo.bar.baz`` (хоча це також може бути просто ``foo``, наприклад). " +"Реєстратори, розташовані нижче в ієрархічному списку, є нащадками " +"реєстраторів, розташованих вище в списку. Наприклад, якщо задано реєстратор " +"із іменем ``foo``, усі реєстратори з іменами ``foo.bar``, ``foo.bar.baz`` і " +"``foo.bam`` є нащадками ``фу``. Ієрархія імен реєстратора аналогічна " +"ієрархії пакетів Python і ідентична їй, якщо ви організовуєте свої " +"реєстратори на основі кожного модуля за допомогою рекомендованої конструкції " +"``logging.getLogger(__name__)``. Це тому, що в модулі ``__name__`` є назвою " +"модуля в просторі імен пакета Python." + +msgid "" +"If this attribute evaluates to true, events logged to this logger will be " +"passed to the handlers of higher level (ancestor) loggers, in addition to " +"any handlers attached to this logger. Messages are passed directly to the " +"ancestor loggers' handlers - neither the level nor filters of the ancestor " +"loggers in question are considered." +msgstr "" +"Якщо цей атрибут оцінюється як істина, події, зареєстровані в цьому " +"реєстраторі, будуть передані обробникам реєстраторів вищого рівня (предків), " +"на додаток до будь-яких обробників, приєднаних до цього реєстратора. " +"Повідомлення передаються безпосередньо до обробників попередніх реєстраторів " +"- ні рівень, ні фільтри попередніх реєстраторів, про які йдеться." + +msgid "" +"If this evaluates to false, logging messages are not passed to the handlers " +"of ancestor loggers." +msgstr "" +"Якщо це значення має значення false, повідомлення журналу не передаються до " +"обробників попередніх реєстраторів." + +msgid "" +"Spelling it out with an example: If the propagate attribute of the logger " +"named ``A.B.C`` evaluates to true, any event logged to ``A.B.C`` via a " +"method call such as ``logging.getLogger('A.B.C').error(...)`` will [subject " +"to passing that logger's level and filter settings] be passed in turn to any " +"handlers attached to loggers named ``A.B``, ``A`` and the root logger, after " +"first being passed to any handlers attached to ``A.B.C``. If any logger in " +"the chain ``A.B.C``, ``A.B``, ``A`` has its ``propagate`` attribute set to " +"false, then that is the last logger whose handlers are offered the event to " +"handle, and propagation stops at that point." +msgstr "" +"Напишіть це на прикладі: якщо атрибут propagate реєстратора під назвою ``A.B." +"C`` має значення true, будь-яка подія, зареєстрована в ``A.B.C`` через " +"виклик методу, наприклад ``logging.getLogger('A.B.C') .error(...)`` [за " +"умови передачі цього рівня реєстратора та налаштувань фільтра] буде передано " +"по черзі будь-яким обробникам, приєднаним до реєстраторів з назвами ``A.B``, " +"``A`` і кореневому реєстратору після першого передається будь-яким " +"обробникам, приєднаним до ``A.B.C``. Якщо будь-який реєстратор у ланцюжку " +"``A.B.C``, ``A.B``, ``A`` має атрибут ``propagate``, встановлений на false, " +"то це останній реєстратор, обробникам якого пропонується подія для обробки, " +"і на цьому розповсюдження припиняється." + +msgid "The constructor sets this attribute to ``True``." +msgstr "Конструктор встановлює цьому атрибуту значення ``True``." + +msgid "" +"If you attach a handler to a logger *and* one or more of its ancestors, it " +"may emit the same record multiple times. In general, you should not need to " +"attach a handler to more than one logger - if you just attach it to the " +"appropriate logger which is highest in the logger hierarchy, then it will " +"see all events logged by all descendant loggers, provided that their " +"propagate setting is left set to ``True``. A common scenario is to attach " +"handlers only to the root logger, and to let propagation take care of the " +"rest." +msgstr "" +"Якщо ви приєднаєте обробник до реєстратора *і* одного або кількох його " +"предків, він може створювати той самий запис кілька разів. Загалом, вам не " +"потрібно приєднувати обробник до кількох реєстраторів — якщо ви просто " +"приєднаєте його до відповідного реєстратора, який є найвищим в ієрархії " +"реєстратора, тоді він бачитиме всі події, зареєстровані всіма нащадками " +"реєстраторів, за умови, що вони поширюються параметр залишається " +"встановленим на ``True``. Поширеним сценарієм є приєднання обробників лише " +"до кореневого реєстратора, а розповсюдження подбає про решту." + +msgid "" +"Sets the threshold for this logger to *level*. Logging messages which are " +"less severe than *level* will be ignored; logging messages which have " +"severity *level* or higher will be emitted by whichever handler or handlers " +"service this logger, unless a handler's level has been set to a higher " +"severity level than *level*." +msgstr "" +"Встановлює порогове значення для цього реєстратора на *рівень*. Повідомлення " +"журналу, менш суворі, ніж *рівень*, ігноруватимуться; Повідомлення " +"журналювання, які мають рівень серйозності *рівень* або вищий, будуть " +"випущені будь-яким обробником або обробниками, які обслуговують цей " +"реєстратор, якщо рівень серйозності обробника не встановлено на вищий рівень " +"серйозності, ніж *рівень*." + +msgid "" +"When a logger is created, the level is set to :const:`NOTSET` (which causes " +"all messages to be processed when the logger is the root logger, or " +"delegation to the parent when the logger is a non-root logger). Note that " +"the root logger is created with level :const:`WARNING`." +msgstr "" +"Коли реєстратор створюється, рівень встановлюється на :const:`NOTSET` (що " +"спричиняє обробку всіх повідомлень, коли реєстратор є кореневим " +"реєстратором, або делегування батьківському, якщо реєстратор є некореневим). " +"Зверніть увагу, що кореневий реєстратор створюється з рівнем :const:" +"`WARNING`." + +msgid "" +"The term 'delegation to the parent' means that if a logger has a level of " +"NOTSET, its chain of ancestor loggers is traversed until either an ancestor " +"with a level other than NOTSET is found, or the root is reached." +msgstr "" +"Термін \"делегування батьківському\" означає, що якщо реєстратор має рівень " +"NOTSET, його ланцюжок реєстраторів предків обходиться, доки не буде знайдено " +"предка з рівнем, відмінним від NOTSET, або досягнуто кореня." + +msgid "" +"If an ancestor is found with a level other than NOTSET, then that ancestor's " +"level is treated as the effective level of the logger where the ancestor " +"search began, and is used to determine how a logging event is handled." +msgstr "" +"Якщо знайдено предка з рівнем, відмінним від NOTSET, тоді цей рівень предка " +"розглядається як ефективний рівень реєстратора, з якого почався пошук " +"предка, і використовується для визначення того, як обробляється подія " +"журналювання." + +msgid "" +"If the root is reached, and it has a level of NOTSET, then all messages will " +"be processed. Otherwise, the root's level will be used as the effective " +"level." +msgstr "" +"Якщо кореневий доступ досягнутий і він має рівень NOTSET, то всі " +"повідомлення будуть оброблені. В іншому випадку кореневий рівень буде " +"використано як ефективний рівень." + +msgid "See :ref:`levels` for a list of levels." +msgstr "Перегляньте :ref:`levels` список рівнів." + +msgid "" +"The *level* parameter now accepts a string representation of the level such " +"as 'INFO' as an alternative to the integer constants such as :const:`INFO`. " +"Note, however, that levels are internally stored as integers, and methods " +"such as e.g. :meth:`getEffectiveLevel` and :meth:`isEnabledFor` will return/" +"expect to be passed integers." +msgstr "" +"Параметр *level* тепер приймає рядкове представлення рівня, наприклад \"INFO" +"\", як альтернативу цілим константам, таким як :const:`INFO`. Однак " +"зауважте, що рівні внутрішньо зберігаються як цілі числа, а такі методи, як, " +"наприклад, :meth:`getEffectiveLevel` і :meth:`isEnabledFor` повертатимуть/" +"очікуватимуть передачу цілих чисел." + +msgid "" +"Indicates if a message of severity *level* would be processed by this " +"logger. This method checks first the module-level level set by ``logging." +"disable(level)`` and then the logger's effective level as determined by :" +"meth:`getEffectiveLevel`." +msgstr "" +"Вказує, чи буде оброблено повідомлення *рівня* серйозності цим реєстратором. " +"Цей метод спочатку перевіряє рівень модуля, встановлений ``logging." +"disable(level)``, а потім ефективний рівень реєстратора, визначений :meth:" +"`getEffectiveLevel`." + +msgid "" +"Indicates the effective level for this logger. If a value other than :const:" +"`NOTSET` has been set using :meth:`setLevel`, it is returned. Otherwise, the " +"hierarchy is traversed towards the root until a value other than :const:" +"`NOTSET` is found, and that value is returned. The value returned is an " +"integer, typically one of :const:`logging.DEBUG`, :const:`logging.INFO` etc." +msgstr "" +"Вказує ефективний рівень для цього реєстратора. Якщо значення, відмінне від :" +"const:`NOTSET`, було встановлено за допомогою :meth:`setLevel`, воно " +"повертається. В іншому випадку ієрархія переміщається до кореня, доки не " +"буде знайдено значення, відмінне від :const:`NOTSET`, і це значення " +"повертається. Значення, що повертається, є цілим числом, зазвичай одне з :" +"const:`logging.DEBUG`, :const:`logging.INFO` тощо." + +msgid "" +"Returns a logger which is a descendant to this logger, as determined by the " +"suffix. Thus, ``logging.getLogger('abc').getChild('def.ghi')`` would return " +"the same logger as would be returned by ``logging.getLogger('abc.def." +"ghi')``. This is a convenience method, useful when the parent logger is " +"named using e.g. ``__name__`` rather than a literal string." +msgstr "" +"Повертає реєстратор, який є нащадком цього реєстратора, як визначено " +"суфіксом. Таким чином, ``logging.getLogger('abc').getChild('def.ghi')`` " +"повертатиме той самий реєстратор, який повертає ``logging.getLogger('abc.def." +"ghi')``. Це зручний метод, корисний, коли батьківський реєстратор " +"називається, наприклад, ``__name__``, а не літеральний рядок." + +msgid "" +"Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " +"message format string, and the *args* are the arguments which are merged " +"into *msg* using the string formatting operator. (Note that this means that " +"you can use keywords in the format string, together with a single dictionary " +"argument.) No % formatting operation is performed on *msg* when no *args* " +"are supplied." +msgstr "" +"Записує повідомлення з рівнем :const:`DEBUG` у цьому реєстраторі. *msg* — це " +"рядок формату повідомлення, а *args* — це аргументи, які об’єднуються в " +"*msg* за допомогою оператора форматування рядка. (Зауважте, що це означає, " +"що ви можете використовувати ключові слова в рядку формату разом із одним " +"аргументом словника.) Операція форматування % не виконується для *msg*, якщо " +"не надано *args*." + +msgid "" +"There are four keyword arguments in *kwargs* which are inspected: " +"*exc_info*, *stack_info*, *stacklevel* and *extra*." +msgstr "" +"У *kwargs* є чотири аргументи ключових слів, які перевіряються: *exc_info*, " +"*stack_info*, *stacklevel* і *extra*." + +msgid "" +"If *exc_info* does not evaluate as false, it causes exception information to " +"be added to the logging message. If an exception tuple (in the format " +"returned by :func:`sys.exc_info`) or an exception instance is provided, it " +"is used; otherwise, :func:`sys.exc_info` is called to get the exception " +"information." +msgstr "" +"Якщо *exc_info* не оцінюється як false, це спричиняє додавання інформації " +"про винятки до повідомлення журналу. Якщо надано кортеж винятків (у форматі, " +"який повертає :func:`sys.exc_info`) або екземпляр винятку, він " +"використовується; інакше :func:`sys.exc_info` викликається для отримання " +"інформації про винятки." + +msgid "" +"The second optional keyword argument is *stack_info*, which defaults to " +"``False``. If true, stack information is added to the logging message, " +"including the actual logging call. Note that this is not the same stack " +"information as that displayed through specifying *exc_info*: The former is " +"stack frames from the bottom of the stack up to the logging call in the " +"current thread, whereas the latter is information about stack frames which " +"have been unwound, following an exception, while searching for exception " +"handlers." +msgstr "" +"Другим необов’язковим ключовим аргументом є *stack_info*, який за умовчанням " +"має значення ``False``. Якщо значення true, інформація про стек додається до " +"повідомлення журналу, включаючи фактичний виклик журналу. Зауважте, що це " +"інша інформація про стек, яка відображається за допомогою *exc_info*: перша " +"– це кадри стеку від нижньої частини стеку до виклику журналювання в " +"поточному потоці, тоді як остання – це інформація про кадри стеку, які були " +"переглянуті. unwind, після винятку, під час пошуку обробників винятків." + +msgid "" +"You can specify *stack_info* independently of *exc_info*, e.g. to just show " +"how you got to a certain point in your code, even when no exceptions were " +"raised. The stack frames are printed following a header line which says:" +msgstr "" +"Ви можете вказати *stack_info* незалежно від *exc_info*, наприклад. щоб " +"просто показати, як ви дійшли до певної точки у своєму коді, навіть якщо " +"винятків не було викликано. Фрейми стека друкуються після рядка заголовка, " +"який говорить:" + +msgid "" +"This mimics the ``Traceback (most recent call last):`` which is used when " +"displaying exception frames." +msgstr "" +"Це імітує ``Traceback (останній останній виклик):``, який використовується " +"під час відображення кадрів винятків." + +msgid "" +"The third optional keyword argument is *stacklevel*, which defaults to " +"``1``. If greater than 1, the corresponding number of stack frames are " +"skipped when computing the line number and function name set in the :class:" +"`LogRecord` created for the logging event. This can be used in logging " +"helpers so that the function name, filename and line number recorded are not " +"the information for the helper function/method, but rather its caller. The " +"name of this parameter mirrors the equivalent one in the :mod:`warnings` " +"module." +msgstr "" +"Третій необов’язковий аргумент ключового слова — *stacklevel*, який за " +"замовчуванням має значення \"1\". Якщо більше 1, відповідна кількість кадрів " +"стека пропускається під час обчислення номера рядка та назви функції, " +"встановленої в :class:`LogRecord`, створеному для події журналювання. Це " +"можна використовувати в помічниках журналювання, щоб ім’я функції, ім’я " +"файлу та номер рядка були записані не для допоміжної функції/методу, а для " +"її викликаючого. Назва цього параметра відображає еквівалентну назву в " +"модулі :mod:`warnings`." + +msgid "" +"The fourth keyword argument is *extra* which can be used to pass a " +"dictionary which is used to populate the __dict__ of the :class:`LogRecord` " +"created for the logging event with user-defined attributes. These custom " +"attributes can then be used as you like. For example, they could be " +"incorporated into logged messages. For example::" +msgstr "" +"Четвертий аргумент ключового слова — *extra*, який можна використовувати для " +"передачі словника, який використовується для заповнення __dict__ :class:" +"`LogRecord`, створеного для події журналювання, атрибутами, визначеними " +"користувачем. Потім ці настроювані атрибути можна використовувати як " +"завгодно. Наприклад, їх можна включити до зареєстрованих повідомлень. " +"Наприклад::" + +msgid "would print something like" +msgstr "надрукував би щось подібне" + +msgid "" +"The keys in the dictionary passed in *extra* should not clash with the keys " +"used by the logging system. (See the section on :ref:`logrecord-attributes` " +"for more information on which keys are used by the logging system.)" +msgstr "" + +msgid "" +"If you choose to use these attributes in logged messages, you need to " +"exercise some care. In the above example, for instance, the :class:" +"`Formatter` has been set up with a format string which expects 'clientip' " +"and 'user' in the attribute dictionary of the :class:`LogRecord`. If these " +"are missing, the message will not be logged because a string formatting " +"exception will occur. So in this case, you always need to pass the *extra* " +"dictionary with these keys." +msgstr "" +"Якщо ви вирішите використовувати ці атрибути в зареєстрованих повідомленнях, " +"вам потрібно бути обережними. У наведеному вище прикладі, наприклад, :class:" +"`Formatter` було налаштовано за допомогою рядка формату, який очікує " +"'clientip' і 'user' у словнику атрибутів :class:`LogRecord`. Якщо вони " +"відсутні, повідомлення не буде зареєстровано, оскільки виникне виняток " +"форматування рядка. Тому в цьому випадку вам завжди потрібно передавати " +"*додатковий* словник за допомогою цих ключів." + +msgid "" +"While this might be annoying, this feature is intended for use in " +"specialized circumstances, such as multi-threaded servers where the same " +"code executes in many contexts, and interesting conditions which arise are " +"dependent on this context (such as remote client IP address and " +"authenticated user name, in the above example). In such circumstances, it is " +"likely that specialized :class:`Formatter`\\ s would be used with " +"particular :class:`Handler`\\ s." +msgstr "" +"Хоча це може дратувати, ця функція призначена для використання в особливих " +"умовах, наприклад, на багатопоточних серверах, де той самий код виконується " +"в багатьох контекстах, і цікаві умови, які виникають, залежать від цього " +"контексту (наприклад, IP-адреса віддаленого клієнта та автентифікований ім’я " +"користувача, у наведеному вище прикладі). За таких обставин цілком імовірно, " +"що спеціалізовані :class:`Formatter`\\ s будуть використовуватися з певними :" +"class:`Handler`\\ s." + +msgid "" +"If no handler is attached to this logger (or any of its ancestors, taking " +"into account the relevant :attr:`Logger.propagate` attributes), the message " +"will be sent to the handler set on :attr:`lastResort`." +msgstr "" +"Якщо до цього реєстратора (або будь-якого з його предків) не приєднано " +"жодного обробника, враховуючи відповідні атрибути :attr:`Logger.propagate`, " +"повідомлення буде надіслано до обробника, встановленого на :attr:" +"`lastResort`." + +msgid "The *stack_info* parameter was added." +msgstr "Додано параметр *stack_info*." + +msgid "The *exc_info* parameter can now accept exception instances." +msgstr "Параметр *exc_info* тепер може приймати винятки." + +msgid "The *stacklevel* parameter was added." +msgstr "Додано параметр *stacklevel*." + +msgid "" +"Logs a message with level :const:`INFO` on this logger. The arguments are " +"interpreted as for :meth:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`INFO` у цьому реєстраторі. Аргументи " +"інтерпретуються як для :meth:`debug`." + +msgid "" +"Logs a message with level :const:`WARNING` on this logger. The arguments are " +"interpreted as for :meth:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`WARNING` до цього реєстратора. " +"Аргументи інтерпретуються як для :meth:`debug`." + +msgid "" +"There is an obsolete method ``warn`` which is functionally identical to " +"``warning``. As ``warn`` is deprecated, please do not use it - use " +"``warning`` instead." +msgstr "" +"Існує застарілий метод ``warn``, який функціонально ідентичний ``warning``. " +"Оскільки ``попередження`` є застарілим, будь ласка, не використовуйте його - " +"використовуйте замість нього ``попередження``." + +msgid "" +"Logs a message with level :const:`ERROR` on this logger. The arguments are " +"interpreted as for :meth:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`ERROR` у цьому реєстраторі. Аргументи " +"інтерпретуються як для :meth:`debug`." + +msgid "" +"Logs a message with level :const:`CRITICAL` on this logger. The arguments " +"are interpreted as for :meth:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`CRITICAL` до цього реєстратора. " +"Аргументи інтерпретуються як для :meth:`debug`." + +msgid "" +"Logs a message with integer level *level* on this logger. The other " +"arguments are interpreted as for :meth:`debug`." +msgstr "" +"Записує повідомлення з цілочисельним рівнем *level* у цьому реєстраторі. " +"Інші аргументи інтерпретуються як для :meth:`debug`." + +msgid "" +"Logs a message with level :const:`ERROR` on this logger. The arguments are " +"interpreted as for :meth:`debug`. Exception info is added to the logging " +"message. This method should only be called from an exception handler." +msgstr "" +"Реєструє повідомлення з рівнем :const:`ERROR` у цьому реєстраторі. Аргументи " +"інтерпретуються як для :meth:`debug`. Інформація про винятки додається до " +"повідомлення журналу. Цей метод слід викликати лише з обробника винятків." + +msgid "Adds the specified filter *filter* to this logger." +msgstr "Додає вказаний фільтр *filter* до цього реєстратора." + +msgid "Removes the specified filter *filter* from this logger." +msgstr "Видаляє вказаний фільтр *filter* з цього реєстратора." + +msgid "" +"Apply this logger's filters to the record and return ``True`` if the record " +"is to be processed. The filters are consulted in turn, until one of them " +"returns a false value. If none of them return a false value, the record will " +"be processed (passed to handlers). If one returns a false value, no further " +"processing of the record occurs." +msgstr "" +"Застосуйте фільтри цього реєстратора до запису та поверніть ``True``, якщо " +"запис потрібно обробити. Фільтри перевіряються по черзі, поки один із них не " +"поверне хибне значення. Якщо жоден із них не повертає хибне значення, запис " +"буде оброблено (передано обробникам). Якщо повертається хибне значення, " +"подальша обробка запису не відбувається." + +msgid "Adds the specified handler *hdlr* to this logger." +msgstr "Додає вказаний обробник *hdlr* до цього реєстратора." + +msgid "Removes the specified handler *hdlr* from this logger." +msgstr "Видаляє вказаний обробник *hdlr* із цього реєстратора." + +msgid "" +"Finds the caller's source filename and line number. Returns the filename, " +"line number, function name and stack information as a 4-element tuple. The " +"stack information is returned as ``None`` unless *stack_info* is ``True``." +msgstr "" +"Знаходить назву вихідного файлу абонента та номер рядка. Повертає назву " +"файлу, номер рядка, назву функції та інформацію про стек у вигляді 4-" +"елементного кортежу. Інформація про стек повертається як ``None``, якщо " +"*stack_info* не має значення ``True``." + +msgid "" +"The *stacklevel* parameter is passed from code calling the :meth:`debug` and " +"other APIs. If greater than 1, the excess is used to skip stack frames " +"before determining the values to be returned. This will generally be useful " +"when calling logging APIs from helper/wrapper code, so that the information " +"in the event log refers not to the helper/wrapper code, but to the code that " +"calls it." +msgstr "" +"Параметр *stacklevel* передається з коду, який викликає :meth:`debug` та " +"інші API. Якщо більше 1, надлишок використовується для пропуску кадрів стека " +"перед визначенням значень, які потрібно повернути. Як правило, це буде " +"корисно під час виклику API реєстрації з допоміжного коду/обгортки, щоб " +"інформація в журналі подій стосувалася не допоміжного/оболонкового коду, а " +"коду, який його викликає." + +msgid "" +"Handles a record by passing it to all handlers associated with this logger " +"and its ancestors (until a false value of *propagate* is found). This method " +"is used for unpickled records received from a socket, as well as those " +"created locally. Logger-level filtering is applied using :meth:`~Logger." +"filter`." +msgstr "" +"Обробляє запис, передаючи його всім обробникам, пов’язаним із цим " +"реєстратором та його предками (поки не буде знайдено хибне значення " +"*propagate*). Цей метод використовується для невибраних записів, отриманих " +"із сокета, а також тих, що створюються локально. Фільтрування на рівні " +"реєстратора застосовується за допомогою :meth:`~Logger.filter`." + +msgid "" +"This is a factory method which can be overridden in subclasses to create " +"specialized :class:`LogRecord` instances." +msgstr "" +"Це фабричний метод, який можна замінити в підкласах для створення " +"спеціалізованих екземплярів :class:`LogRecord`." + +msgid "" +"Checks to see if this logger has any handlers configured. This is done by " +"looking for handlers in this logger and its parents in the logger hierarchy. " +"Returns ``True`` if a handler was found, else ``False``. The method stops " +"searching up the hierarchy whenever a logger with the 'propagate' attribute " +"set to false is found - that will be the last logger which is checked for " +"the existence of handlers." +msgstr "" +"Перевіряє, чи цей реєстратор має налаштовані обробники. Це робиться шляхом " +"пошуку обробників у цьому реєстраторі та його батьків в ієрархії " +"реєстратора. Повертає ``True``, якщо обробник знайдено, інакше ``False``. " +"Метод припиняє пошук в ієрархії щоразу, коли знайдено реєстратор з атрибутом " +"'propagate', встановленим на false - це буде останній реєстратор, який " +"перевіряється на наявність обробників." + +msgid "Loggers can now be pickled and unpickled." +msgstr "Лісоруби тепер можна маринувати та не пикувати." + +msgid "Logging Levels" +msgstr "Рівні реєстрації" + +msgid "" +"The numeric values of logging levels are given in the following table. These " +"are primarily of interest if you want to define your own levels, and need " +"them to have specific values relative to the predefined levels. If you " +"define a level with the same numeric value, it overwrites the predefined " +"value; the predefined name is lost." +msgstr "" +"Числові значення рівнів журналювання наведено в наступній таблиці. Це " +"насамперед цікаво, якщо ви бажаєте визначити власні рівні та потребуєте, щоб " +"вони мали певні значення відносно попередньо визначених рівнів. Якщо ви " +"визначаєте рівень з тим самим числовим значенням, він перезаписує попередньо " +"визначене значення; попередньо визначене ім'я втрачено." + +msgid "Level" +msgstr "Рівень" + +msgid "Numeric value" +msgstr "Числове значення" + +msgid "``CRITICAL``" +msgstr "``КРИТИЧНО``" + +msgid "50" +msgstr "50" + +msgid "``ERROR``" +msgstr "``ПОМИЛКА``" + +msgid "40" +msgstr "40" + +msgid "``WARNING``" +msgstr "``ПОПЕРЕДЖЕННЯ``" + +msgid "30" +msgstr "30" + +msgid "``INFO``" +msgstr "``ІНФО``" + +msgid "20" +msgstr "20" + +msgid "``DEBUG``" +msgstr "``НАЛАШТУВАННЯ``" + +msgid "10" +msgstr "10" + +msgid "``NOTSET``" +msgstr "``NOTSET``" + +msgid "0" +msgstr "0" + +msgid "Handler Objects" +msgstr "Об’єкти обробки" + +msgid "" +"Handlers have the following attributes and methods. Note that :class:" +"`Handler` is never instantiated directly; this class acts as a base for more " +"useful subclasses. However, the :meth:`__init__` method in subclasses needs " +"to call :meth:`Handler.__init__`." +msgstr "" +"Обробники мають такі атрибути та методи. Зауважте, що :class:`Handler` " +"ніколи не створюється безпосередньо; цей клас діє як основа для більш " +"корисних підкласів. Однак метод :meth:`__init__` у підкласах має викликати :" +"meth:`Handler.__init__`." + +msgid "" +"Initializes the :class:`Handler` instance by setting its level, setting the " +"list of filters to the empty list and creating a lock (using :meth:" +"`createLock`) for serializing access to an I/O mechanism." +msgstr "" +"Ініціалізує екземпляр :class:`Handler`, встановлюючи його рівень, " +"встановлюючи список фільтрів у порожній список і створюючи блокування (за " +"допомогою :meth:`createLock`) для серіалізації доступу до механізму введення-" +"виведення." + +msgid "" +"Initializes a thread lock which can be used to serialize access to " +"underlying I/O functionality which may not be threadsafe." +msgstr "" +"Ініціалізує блокування потоку, який можна використовувати для серіалізації " +"доступу до основної функції введення-виведення, яка може бути небезпечною " +"для потоків." + +msgid "Acquires the thread lock created with :meth:`createLock`." +msgstr "Отримує блокування потоку, створене за допомогою :meth:`createLock`." + +msgid "Releases the thread lock acquired with :meth:`acquire`." +msgstr "Звільняє блокування потоку, отримане за допомогою :meth:`acquire`." + +msgid "" +"Sets the threshold for this handler to *level*. Logging messages which are " +"less severe than *level* will be ignored. When a handler is created, the " +"level is set to :const:`NOTSET` (which causes all messages to be processed)." +msgstr "" +"Встановлює порогове значення для цього обробника на *рівень*. Повідомлення " +"журналу, менш суворі, ніж *рівень*, ігноруватимуться. Коли обробник " +"створюється, рівень встановлюється на :const:`NOTSET` (що спричиняє обробку " +"всіх повідомлень)." + +msgid "" +"The *level* parameter now accepts a string representation of the level such " +"as 'INFO' as an alternative to the integer constants such as :const:`INFO`." +msgstr "" +"Параметр *level* тепер приймає рядкове представлення рівня, наприклад \"INFO" +"\", як альтернативу цілим константам, таким як :const:`INFO`." + +msgid "Sets the :class:`Formatter` for this handler to *fmt*." +msgstr "Встановлює :class:`Formatter` для цього обробника на *fmt*." + +msgid "Adds the specified filter *filter* to this handler." +msgstr "Додає вказаний фільтр *filter* до цього обробника." + +msgid "Removes the specified filter *filter* from this handler." +msgstr "Видаляє вказаний фільтр *filter* з цього обробника." + +msgid "" +"Apply this handler's filters to the record and return ``True`` if the record " +"is to be processed. The filters are consulted in turn, until one of them " +"returns a false value. If none of them return a false value, the record will " +"be emitted. If one returns a false value, the handler will not emit the " +"record." +msgstr "" +"Застосуйте фільтри цього обробника до запису та поверніть ``True``, якщо " +"запис потрібно обробити. Фільтри перевіряються по черзі, доки один із них не " +"поверне хибне значення. Якщо жоден із них не повертає хибне значення, запис " +"буде видано. Якщо повертається хибне значення, обробник не видасть запис." + +msgid "" +"Ensure all logging output has been flushed. This version does nothing and is " +"intended to be implemented by subclasses." +msgstr "" +"Переконайтеся, що всі вихідні дані журналу скинуто. Ця версія нічого не " +"робить і призначена для реалізації підкласами." + +msgid "" +"Tidy up any resources used by the handler. This version does no output but " +"removes the handler from an internal list of handlers which is closed when :" +"func:`shutdown` is called. Subclasses should ensure that this gets called " +"from overridden :meth:`close` methods." +msgstr "" +"Приберіть усі ресурси, які використовує обробник. Ця версія не виводить, але " +"видаляє обробник із внутрішнього списку обробників, який закривається під " +"час виклику :func:`shutdown`. Підкласи повинні гарантувати, що це " +"викликається з перевизначених методів :meth:`close`." + +msgid "" +"Conditionally emits the specified logging record, depending on filters which " +"may have been added to the handler. Wraps the actual emission of the record " +"with acquisition/release of the I/O thread lock." +msgstr "" +"Умовно створює вказаний запис журналу залежно від фільтрів, які могли бути " +"додані до обробника. Обгортає фактичний випуск запису з отриманням/" +"вивільненням блокування потоку вводу-виводу." + +msgid "" +"This method should be called from handlers when an exception is encountered " +"during an :meth:`emit` call. If the module-level attribute " +"``raiseExceptions`` is ``False``, exceptions get silently ignored. This is " +"what is mostly wanted for a logging system - most users will not care about " +"errors in the logging system, they are more interested in application " +"errors. You could, however, replace this with a custom handler if you wish. " +"The specified record is the one which was being processed when the exception " +"occurred. (The default value of ``raiseExceptions`` is ``True``, as that is " +"more useful during development)." +msgstr "" +"Цей метод слід викликати з обробників, коли під час виклику :meth:`emit` " +"виникає виняткова ситуація. Якщо атрибут на рівні модуля ``raiseExceptions`` " +"має значення ``False``, винятки мовчки ігноруються. Це те, що здебільшого " +"потрібно для системи журналювання - більшість користувачів не будуть дбати " +"про помилки в системі журналювання, їх більше цікавлять помилки програми. " +"Однак ви можете замінити це спеціальним обробником, якщо хочете. Указаний " +"запис є записом, який оброблявся, коли сталася виняток. (Значенням за " +"замовчуванням ``raiseExceptions`` є ``True``, оскільки це більш корисно під " +"час розробки)." + +msgid "" +"Do formatting for a record - if a formatter is set, use it. Otherwise, use " +"the default formatter for the module." +msgstr "" +"Виконайте форматування для запису - якщо встановлено форматувальник, " +"використовуйте його. В іншому випадку використовуйте стандартний формататор " +"для модуля." + +msgid "" +"Do whatever it takes to actually log the specified logging record. This " +"version is intended to be implemented by subclasses and so raises a :exc:" +"`NotImplementedError`." +msgstr "" +"Зробіть усе можливе, щоб фактично зареєструвати вказаний запис журналу. Ця " +"версія призначена для реалізації підкласами, тому викликає :exc:" +"`NotImplementedError`." + +msgid "" +"This method is called after a handler-level lock is acquired, which is " +"released after this method returns. When you override this method, note that " +"you should be careful when calling anything that invokes other parts of the " +"logging API which might do locking, because that might result in a deadlock. " +"Specifically:" +msgstr "" + +msgid "" +"Logging configuration APIs acquire the module-level lock, and then " +"individual handler-level locks as those handlers are configured." +msgstr "" + +msgid "" +"Many logging APIs lock the module-level lock. If such an API is called from " +"this method, it could cause a deadlock if a configuration call is made on " +"another thread, because that thread will try to acquire the module-level " +"lock *before* the handler-level lock, whereas this thread tries to acquire " +"the module-level lock *after* the handler-level lock (because in this " +"method, the handler-level lock has already been acquired)." +msgstr "" + +msgid "" +"For a list of handlers included as standard, see :mod:`logging.handlers`." +msgstr "Перелік стандартних обробників див. :mod:`logging.handlers`." + +msgid "Formatter Objects" +msgstr "Об’єкти форматування" + +msgid "" +":class:`Formatter` objects have the following attributes and methods. They " +"are responsible for converting a :class:`LogRecord` to (usually) a string " +"which can be interpreted by either a human or an external system. The base :" +"class:`Formatter` allows a formatting string to be specified. If none is " +"supplied, the default value of ``'%(message)s'`` is used, which just " +"includes the message in the logging call. To have additional items of " +"information in the formatted output (such as a timestamp), keep reading." +msgstr "" +"Об’єкти :class:`Formatter` мають такі атрибути та методи. Вони відповідають " +"за перетворення :class:`LogRecord` на (зазвичай) рядок, який може " +"інтерпретувати або людина, або зовнішня система. База :class:`Formatter` " +"дозволяє вказати рядок форматування. Якщо жодного не вказано, " +"використовується значення за замовчуванням ``'%(message)s'``, яке просто " +"включає повідомлення у виклик журналювання. Щоб мати додаткову інформацію у " +"відформатованому виведенні (наприклад, позначку часу), продовжуйте читати." + +msgid "" +"A Formatter can be initialized with a format string which makes use of " +"knowledge of the :class:`LogRecord` attributes - such as the default value " +"mentioned above making use of the fact that the user's message and arguments " +"are pre-formatted into a :class:`LogRecord`'s *message* attribute. This " +"format string contains standard Python %-style mapping keys. See section :" +"ref:`old-string-formatting` for more information on string formatting." +msgstr "" +"Formatter можна ініціалізувати за допомогою рядка формату, який використовує " +"знання атрибутів :class:`LogRecord`, таких як значення за замовчуванням, " +"згадане вище, з використанням того факту, що повідомлення та аргументи " +"користувача попередньо відформатовано в атрибут *повідомлення* у :class:" +"`LogRecord`. Цей рядок формату містить стандартні ключі зіставлення Python %-" +"style. Перегляньте розділ :ref:`old-string-formatting` для отримання " +"додаткової інформації про форматування рядка." + +msgid "" +"The useful mapping keys in a :class:`LogRecord` are given in the section on :" +"ref:`logrecord-attributes`." +msgstr "" +"Корисні ключі зіставлення в :class:`LogRecord` подано в розділі про :ref:" +"`logrecord-attributes`." + +msgid "" +"Returns a new instance of the :class:`Formatter` class. The instance is " +"initialized with a format string for the message as a whole, as well as a " +"format string for the date/time portion of a message. If no *fmt* is " +"specified, ``'%(message)s'`` is used. If no *datefmt* is specified, a " +"format is used which is described in the :meth:`formatTime` documentation." +msgstr "" +"Повертає новий екземпляр класу :class:`Formatter`. Примірник ініціалізується " +"рядком формату для повідомлення в цілому, а також рядком формату для частини " +"дати/часу повідомлення. Якщо *fmt* не вказано, використовується \"%(message)s" +"\". Якщо *datefmt* не вказано, використовується формат, який описано в " +"документації :meth:`formatTime`." + +msgid "" +"The *style* parameter can be one of '%', '{' or '$' and determines how the " +"format string will be merged with its data: using one of %-formatting, :meth:" +"`str.format` or :class:`string.Template`. This only applies to the format " +"string *fmt* (e.g. ``'%(message)s'`` or ``{message}``), not to the actual " +"log messages passed to ``Logger.debug`` etc; see :ref:`formatting-styles` " +"for more information on using {- and $-formatting for log messages." +msgstr "" +"Параметр *style* може мати значення \"%\", \"{\" або \"$\" і визначає, як " +"рядок формату буде об’єднано з його даними: за допомогою %-formatting, :meth:" +"`str.format` або :class:`рядок.Шаблон`. Це стосується лише рядка формату " +"*fmt* (наприклад, ``'%(message)s''`` або ``{message}``), а не фактичних " +"повідомлень журналу, що передаються до ``Logger.debug`` тощо; див. :ref:" +"`formatting-styles` для отримання додаткової інформації про використання {- " +"і $-форматування для повідомлень журналу." + +msgid "" +"The *defaults* parameter can be a dictionary with default values to use in " +"custom fields. For example: ``logging.Formatter('%(ip)s %(message)s', " +"defaults={\"ip\": None})``" +msgstr "" +"Параметр *defaults* може бути словником зі значеннями за замовчуванням для " +"використання в спеціальних полях. Наприклад: ``logging.Formatter('%(ip)s " +"%(message)s', defaults={\"ip\": None})``" + +msgid "The *style* parameter was added." +msgstr "Додано параметр *style*." + +msgid "" +"The *validate* parameter was added. Incorrect or mismatched style and fmt " +"will raise a ``ValueError``. For example: ``logging.Formatter('%(asctime)s - " +"%(message)s', style='{')``." +msgstr "" +"Додано параметр *validate*. Неправильний або невідповідний стиль і fmt " +"викличе ``ValueError``. Наприклад: ``logging.Formatter('%(asctime)s - " +"%(message)s', style='{')``." + +msgid "The *defaults* parameter was added." +msgstr "Додано параметр *defaults*." + +msgid "" +"The record's attribute dictionary is used as the operand to a string " +"formatting operation. Returns the resulting string. Before formatting the " +"dictionary, a couple of preparatory steps are carried out. The *message* " +"attribute of the record is computed using *msg* % *args*. If the formatting " +"string contains ``'(asctime)'``, :meth:`formatTime` is called to format the " +"event time. If there is exception information, it is formatted using :meth:" +"`formatException` and appended to the message. Note that the formatted " +"exception information is cached in attribute *exc_text*. This is useful " +"because the exception information can be pickled and sent across the wire, " +"but you should be careful if you have more than one :class:`Formatter` " +"subclass which customizes the formatting of exception information. In this " +"case, you will have to clear the cached value (by setting the *exc_text* " +"attribute to ``None``) after a formatter has done its formatting, so that " +"the next formatter to handle the event doesn't use the cached value, but " +"recalculates it afresh." +msgstr "" +"Словник атрибутів запису використовується як операнд для операції " +"форматування рядка. Повертає отриманий рядок. Перед форматуванням словника " +"виконується кілька підготовчих кроків. Атрибут *message* запису обчислюється " +"за допомогою *msg* % *args*. Якщо рядок форматування містить " +"``'(asctime)'``, :meth:`formatTime` викликається для форматування часу " +"події. Якщо є інформація про винятки, вона форматується за допомогою :meth:" +"`formatException` і додається до повідомлення. Зауважте, що відформатована " +"інформація про винятки кешується в атрибуті *exc_text*. Це корисно, оскільки " +"інформацію про винятки можна відібрати та надіслати по мережі, але ви " +"повинні бути обережними, якщо у вас є більше одного підкласу :class:" +"`Formatter`, який налаштовує форматування інформації про винятки. У цьому " +"випадку вам доведеться очистити кешоване значення (встановивши для атрибута " +"*exc_text* значення ``None``) після того, як засіб форматування виконає своє " +"форматування, щоб наступний засіб форматування для обробки події не " +"використовував кешований значення, але перераховує його заново." + +msgid "" +"If stack information is available, it's appended after the exception " +"information, using :meth:`formatStack` to transform it if necessary." +msgstr "" +"Якщо інформація про стек доступна, вона додається після інформації про " +"винятки, використовуючи :meth:`formatStack` для її перетворення, якщо " +"необхідно." + +msgid "" +"This method should be called from :meth:`format` by a formatter which wants " +"to make use of a formatted time. This method can be overridden in formatters " +"to provide for any specific requirement, but the basic behavior is as " +"follows: if *datefmt* (a string) is specified, it is used with :func:`time." +"strftime` to format the creation time of the record. Otherwise, the format " +"'%Y-%m-%d %H:%M:%S,uuu' is used, where the uuu part is a millisecond value " +"and the other letters are as per the :func:`time.strftime` documentation. " +"An example time in this format is ``2003-01-23 00:29:50,411``. The " +"resulting string is returned." +msgstr "" +"Цей метод має викликатися з :meth:`format` програмою форматування, яка бажає " +"використати відформатований час. Цей метод можна замінити у форматах для " +"забезпечення будь-якої конкретної вимоги, але основна поведінка така: якщо " +"вказано *datefmt* (рядок), він використовується з :func:`time.strftime` для " +"форматування часу створення запису. В іншому випадку використовується формат " +"\"%Y-%m-%d %H:%M:%S,uuu\", де частина uuu є значенням у мілісекундах, а інші " +"літери відповідають :func:`time.strftime` документація. Прикладом часу в " +"цьому форматі є ``2003-01-23 00:29:50,411``. Повертається отриманий рядок." + +msgid "" +"This function uses a user-configurable function to convert the creation time " +"to a tuple. By default, :func:`time.localtime` is used; to change this for a " +"particular formatter instance, set the ``converter`` attribute to a function " +"with the same signature as :func:`time.localtime` or :func:`time.gmtime`. To " +"change it for all formatters, for example if you want all logging times to " +"be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." +msgstr "" +"Ця функція використовує настроювану користувачем функцію для перетворення " +"часу створення в кортеж. За замовчуванням використовується :func:`time." +"localtime`; щоб змінити це для конкретного екземпляра форматера, встановіть " +"атрибут ``converter`` на функцію з тим самим підписом, що й :func:`time." +"localtime` або :func:`time.gmtime`. Щоб змінити його для всіх засобів " +"форматування, наприклад, якщо ви хочете, щоб усі часи журналювання " +"відображалися за GMT, установіть атрибут ``converter`` у класі ``Formatter``." + +msgid "" +"Previously, the default format was hard-coded as in this example: " +"``2010-09-06 22:38:15,292`` where the part before the comma is handled by a " +"strptime format string (``'%Y-%m-%d %H:%M:%S'``), and the part after the " +"comma is a millisecond value. Because strptime does not have a format " +"placeholder for milliseconds, the millisecond value is appended using " +"another format string, ``'%s,%03d'`` --- and both of these format strings " +"have been hardcoded into this method. With the change, these strings are " +"defined as class-level attributes which can be overridden at the instance " +"level when desired. The names of the attributes are ``default_time_format`` " +"(for the strptime format string) and ``default_msec_format`` (for appending " +"the millisecond value)." +msgstr "" +"Раніше формат за замовчуванням був жорстко закодований, як у цьому прикладі: " +"``2010-09-06 22:38:15,292``, де частина перед комою обробляється рядком " +"формату strptime (``'%Y-%m -%d %H:%M:%S''``), а частина після коми є " +"значенням у мілісекундах. Оскільки strptime не має заповнювача формату для " +"мілісекунд, значення мілісекунди додається за допомогою іншого рядка " +"формату, ``'%s,%03d''`` --- і обидва ці рядки формату були жорстко " +"закодовані в цьому методі. Зі зміною ці рядки визначаються як атрибути рівня " +"класу, які за бажанням можна замінити на рівні екземпляра. Назви атрибутів: " +"``default_time_format`` (для рядка формату strptime) і " +"``default_msec_format`` (для додавання значення в мілісекундах)." + +msgid "The ``default_msec_format`` can be ``None``." +msgstr "``default_msec_format`` може бути ``None``." + +msgid "" +"Formats the specified exception information (a standard exception tuple as " +"returned by :func:`sys.exc_info`) as a string. This default implementation " +"just uses :func:`traceback.print_exception`. The resulting string is " +"returned." +msgstr "" +"Форматує вказану інформацію про винятки (стандартний кортеж винятків, який " +"повертає :func:`sys.exc_info`) як рядок. Ця реалізація за умовчанням просто " +"використовує :func:`traceback.print_exception`. Повертається отриманий рядок." + +msgid "" +"Formats the specified stack information (a string as returned by :func:" +"`traceback.print_stack`, but with the last newline removed) as a string. " +"This default implementation just returns the input value." +msgstr "" +"Форматує вказану інформацію про стек (рядок, який повертає :func:`traceback." +"print_stack`, але з видаленням останнього нового рядка) як рядок. Ця " +"реалізація за умовчанням лише повертає вхідне значення." + +msgid "" +"A base formatter class suitable for subclassing when you want to format a " +"number of records. You can pass a :class:`Formatter` instance which you want " +"to use to format each line (that corresponds to a single record). If not " +"specified, the default formatter (which just outputs the event message) is " +"used as the line formatter." +msgstr "" + +msgid "" +"Return a header for a list of *records*. The base implementation just " +"returns the empty string. You will need to override this method if you want " +"specific behaviour, e.g. to show the count of records, a title or a " +"separator line." +msgstr "" + +msgid "" +"Return a footer for a list of *records*. The base implementation just " +"returns the empty string. You will need to override this method if you want " +"specific behaviour, e.g. to show the count of records or a separator line." +msgstr "" + +msgid "" +"Return formatted text for a list of *records*. The base implementation just " +"returns the empty string if there are no records; otherwise, it returns the " +"concatenation of the header, each record formatted with the line formatter, " +"and the footer." +msgstr "" + +msgid "Filter Objects" +msgstr "Фільтр об'єктів" + +msgid "" +"``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " +"sophisticated filtering than is provided by levels. The base filter class " +"only allows events which are below a certain point in the logger hierarchy. " +"For example, a filter initialized with 'A.B' will allow events logged by " +"loggers 'A.B', 'A.B.C', 'A.B.C.D', 'A.B.D' etc. but not 'A.BB', 'B.A.B' etc. " +"If initialized with the empty string, all events are passed." +msgstr "" +"``Фільтри`` можуть використовуватися ``Обробниками`` і ``Реєстраторами`` для " +"більш складної фільтрації, ніж передбачено рівнями. Базовий клас фільтра " +"дозволяє лише події, які знаходяться нижче певної точки в ієрархії " +"реєстратора. Наприклад, фільтр, ініціалізований \"A.B\", дозволить події, " +"зареєстровані реєстраторами \"A.B\", \"A.B.C\", \"A.B.C.D\", \"A.B.D\" тощо, " +"але не \"A.BB\", \"B.A.B\" тощо. Якщо ініціалізовано порожнім рядком, усі " +"події передаються." + +msgid "" +"Returns an instance of the :class:`Filter` class. If *name* is specified, it " +"names a logger which, together with its children, will have its events " +"allowed through the filter. If *name* is the empty string, allows every " +"event." +msgstr "" +"Повертає екземпляр класу :class:`Filter`. Якщо вказано *ім’я*, воно називає " +"реєстратор, події якого разом із дочірніми елементами будуть дозволені через " +"фільтр. Якщо *ім’я* є порожнім рядком, дозволяється кожна подія." + +msgid "" +"Is the specified record to be logged? Returns zero for no, nonzero for yes. " +"If deemed appropriate, the record may be modified in-place by this method." +msgstr "" +"Чи потрібно реєструвати вказаний запис? Повертає нуль для ні, відмінне від " +"нуля для так. Якщо це буде визнано доцільним, запис може бути змінено на " +"місці за допомогою цього методу." + +msgid "" +"Note that filters attached to handlers are consulted before an event is " +"emitted by the handler, whereas filters attached to loggers are consulted " +"whenever an event is logged (using :meth:`debug`, :meth:`info`, etc.), " +"before sending an event to handlers. This means that events which have been " +"generated by descendant loggers will not be filtered by a logger's filter " +"setting, unless the filter has also been applied to those descendant loggers." +msgstr "" +"Зауважте, що фільтри, приєднані до обробників, звертаються до того, як " +"обробник випустить подію, тоді як фільтри, приєднані до реєстраторів, " +"звертаються до кожного, коли подія реєструється (за допомогою :meth:" +"`debug`, :meth:`info` тощо), до відправка події обробникам. Це означає, що " +"події, які були згенеровані нащадками реєстраторів, не будуть відфільтровані " +"налаштуваннями фільтра реєстратора, якщо фільтр також не застосовано до цих " +"нащадків реєстраторів." + +msgid "" +"You don't actually need to subclass ``Filter``: you can pass any instance " +"which has a ``filter`` method with the same semantics." +msgstr "" +"Насправді вам не потрібно створювати підклас ``Filter``: ви можете передати " +"будь-який екземпляр, який має метод ``filter`` з тією самою семантикою." + +msgid "" +"You don't need to create specialized ``Filter`` classes, or use other " +"classes with a ``filter`` method: you can use a function (or other callable) " +"as a filter. The filtering logic will check to see if the filter object has " +"a ``filter`` attribute: if it does, it's assumed to be a ``Filter`` and its :" +"meth:`~Filter.filter` method is called. Otherwise, it's assumed to be a " +"callable and called with the record as the single parameter. The returned " +"value should conform to that returned by :meth:`~Filter.filter`." +msgstr "" +"Вам не потрібно створювати спеціалізовані класи ``Filter`` або " +"використовувати інші класи з методом ``filter``: ви можете використовувати " +"функцію (або інший виклик) як фільтр. Логіка фільтрації перевірить, чи має " +"об’єкт фільтра атрибут ``filter``: якщо він має, він вважається ``Filter`` і " +"викликається його метод :meth:`~Filter.filter`. В іншому випадку вважається, " +"що він викликається та викликається із записом як єдиним параметром. " +"Повернене значення має відповідати тому, яке повертає :meth:`~Filter.filter`." + +msgid "" +"Although filters are used primarily to filter records based on more " +"sophisticated criteria than levels, they get to see every record which is " +"processed by the handler or logger they're attached to: this can be useful " +"if you want to do things like counting how many records were processed by a " +"particular logger or handler, or adding, changing or removing attributes in " +"the :class:`LogRecord` being processed. Obviously changing the LogRecord " +"needs to be done with some care, but it does allow the injection of " +"contextual information into logs (see :ref:`filters-contextual`)." +msgstr "" +"Хоча фільтри використовуються в основному для фільтрації записів на основі " +"більш складних критеріїв, ніж рівні, вони бачать кожен запис, який " +"обробляється обробником або реєстратором, до якого вони підключені: це може " +"бути корисним, якщо ви хочете зробити щось, наприклад, підрахувати, скільки " +"записи були оброблені певним реєстратором чи обробником, або додаванням, " +"зміною чи видаленням атрибутів у :class:`LogRecord`, що обробляється. " +"Очевидно, змінювати LogRecord потрібно з певною обережністю, але це дозволяє " +"вставляти контекстну інформацію в журнали (див. :ref:`filters-contextual`)." + +msgid "LogRecord Objects" +msgstr "Об'єкти LogRecord" + +msgid "" +":class:`LogRecord` instances are created automatically by the :class:" +"`Logger` every time something is logged, and can be created manually via :" +"func:`makeLogRecord` (for example, from a pickled event received over the " +"wire)." +msgstr "" +"Екземпляри :class:`LogRecord` створюються автоматично :class:`Logger` " +"щоразу, коли щось реєструється, і можуть бути створені вручну за допомогою :" +"func:`makeLogRecord` (наприклад, з марінованої події, отриманої по мережі)." + +msgid "Contains all the information pertinent to the event being logged." +msgstr "Містить всю інформацію, що стосується події, яка реєструється." + +msgid "" +"The primary information is passed in *msg* and *args*, which are combined " +"using ``msg % args`` to create the :attr:`!message` attribute of the record." +msgstr "" + +msgid "Parameters" +msgstr "Параметри" + +msgid "" +"The name of the logger used to log the event represented by this :class:`!" +"LogRecord`. Note that the logger name in the :class:`!LogRecord` will always " +"have this value, even though it may be emitted by a handler attached to a " +"different (ancestor) logger." +msgstr "" + +msgid "" +"The :ref:`numeric level ` of the logging event (such as ``10`` for " +"``DEBUG``, ``20`` for ``INFO``, etc). Note that this is converted to *two* " +"attributes of the LogRecord: :attr:`!levelno` for the numeric value and :" +"attr:`!levelname` for the corresponding level name." +msgstr "" + +msgid "" +"The full string path of the source file where the logging call was made." +msgstr "" + +msgid "The line number in the source file where the logging call was made." +msgstr "Номер рядка у вихідному файлі, де було здійснено виклик журналювання." + +msgid "" +"The event description message, which can be a %-format string with " +"placeholders for variable data." +msgstr "" + +msgid "" +"Variable data to merge into the *msg* argument to obtain the event " +"description." +msgstr "" +"Змінні дані, які потрібно об’єднати в аргумент *msg*, щоб отримати опис " +"події." + +msgid "" +"An exception tuple with the current exception information, as returned by :" +"func:`sys.exc_info`, or ``None`` if no exception information is available." +msgstr "" + +msgid "" +"The name of the function or method from which the logging call was invoked." +msgstr "Ім'я функції або методу, з якого було викликано журналювання." + +msgid "" +"A text string representing stack information from the base of the stack in " +"the current thread, up to the logging call." +msgstr "" +"Текстовий рядок, що представляє інформацію про стек від основи стека в " +"поточному потоці до виклику журналювання." + +msgid "" +"Returns the message for this :class:`LogRecord` instance after merging any " +"user-supplied arguments with the message. If the user-supplied message " +"argument to the logging call is not a string, :func:`str` is called on it to " +"convert it to a string. This allows use of user-defined classes as messages, " +"whose ``__str__`` method can return the actual format string to be used." +msgstr "" +"Повертає повідомлення для цього екземпляра :class:`LogRecord` після " +"об’єднання будь-яких наданих користувачем аргументів із повідомленням. Якщо " +"наданий користувачем аргумент повідомлення для виклику журналювання не є " +"рядком, :func:`str` викликається для нього, щоб перетворити його на рядок. " +"Це дозволяє використовувати визначені користувачем класи як повідомлення, " +"чий метод ``__str__`` може повертати фактичний рядок формату для " +"використання." + +msgid "" +"The creation of a :class:`LogRecord` has been made more configurable by " +"providing a factory which is used to create the record. The factory can be " +"set using :func:`getLogRecordFactory` and :func:`setLogRecordFactory` (see " +"this for the factory's signature)." +msgstr "" +"Створення :class:`LogRecord` було зроблено більш настроюваним шляхом надання " +"фабрики, яка використовується для створення запису. Фабрику можна встановити " +"за допомогою :func:`getLogRecordFactory` і :func:`setLogRecordFactory` (див. " +"тут підпис фабрики)." + +msgid "" +"This functionality can be used to inject your own values into a :class:" +"`LogRecord` at creation time. You can use the following pattern::" +msgstr "" +"Цю функцію можна використовувати для введення ваших власних значень у :class:" +"`LogRecord` під час створення. Ви можете використовувати наступний шаблон:" + +msgid "" +"With this pattern, multiple factories could be chained, and as long as they " +"don't overwrite each other's attributes or unintentionally overwrite the " +"standard attributes listed above, there should be no surprises." +msgstr "" +"За допомогою цього шаблону кілька фабрик можуть бути з’єднані в ланцюг, і " +"якщо вони не перезаписують атрибути одна одної або ненавмисно перезаписують " +"стандартні атрибути, перелічені вище, не повинно бути сюрпризів." + +msgid "LogRecord attributes" +msgstr "Атрибути LogRecord" + +msgid "" +"The LogRecord has a number of attributes, most of which are derived from the " +"parameters to the constructor. (Note that the names do not always correspond " +"exactly between the LogRecord constructor parameters and the LogRecord " +"attributes.) These attributes can be used to merge data from the record into " +"the format string. The following table lists (in alphabetical order) the " +"attribute names, their meanings and the corresponding placeholder in a %-" +"style format string." +msgstr "" +"LogRecord має низку атрибутів, більшість із яких є похідними від параметрів " +"конструктора. (Зауважте, що імена параметрів конструктора LogRecord і " +"атрибутів LogRecord не завжди точно збігаються.) Ці атрибути можна " +"використовувати для об’єднання даних із запису в рядок формату. У наведеній " +"нижче таблиці наведено (в алфавітному порядку) назви атрибутів, їх значення " +"та відповідний заповнювач у рядку формату %-style." + +msgid "" +"If you are using {}-formatting (:func:`str.format`), you can use ``{attrname}" +"`` as the placeholder in the format string. If you are using $-formatting (:" +"class:`string.Template`), use the form ``${attrname}``. In both cases, of " +"course, replace ``attrname`` with the actual attribute name you want to use." +msgstr "" +"Якщо ви використовуєте {}-formatting (:func:`str.format`), ви можете " +"використовувати ``{attrname}`` як заповнювач у рядку формату. Якщо ви " +"використовуєте $-форматування (:class:`string.Template`), використовуйте " +"форму ``${attrname}``. В обох випадках, звичайно, замініть ``attrname`` " +"фактичним ім'ям атрибута, який ви хочете використовувати." + +msgid "" +"In the case of {}-formatting, you can specify formatting flags by placing " +"them after the attribute name, separated from it with a colon. For example: " +"a placeholder of ``{msecs:03d}`` would format a millisecond value of ``4`` " +"as ``004``. Refer to the :meth:`str.format` documentation for full details " +"on the options available to you." +msgstr "" +"У випадку {}-форматування ви можете вказати прапорці форматування, " +"розмістивши їх після назви атрибута, відокремивши від нього двокрапку. " +"Наприклад: заповнювач ``{msecs:03d}`` відформатує мілісекундне значення " +"``4`` як ``004``. Зверніться до документації :meth:`str.format`, щоб " +"отримати детальну інформацію про доступні вам параметри." + +msgid "Attribute name" +msgstr "Назва атрибута" + +msgid "Format" +msgstr "Формат" + +msgid "Description" +msgstr "опис" + +msgid "args" +msgstr "арг" + +msgid "You shouldn't need to format this yourself." +msgstr "Вам не потрібно форматувати це самостійно." + +msgid "" +"The tuple of arguments merged into ``msg`` to produce ``message``, or a dict " +"whose values are used for the merge (when there is only one argument, and it " +"is a dictionary)." +msgstr "" +"Кортеж аргументів об’єднано в ``msg`` для створення ``message`` або dict, " +"значення якого використовуються для злиття (якщо є лише один аргумент, і це " +"словник)." + +msgid "asctime" +msgstr "asctime" + +msgid "``%(asctime)s``" +msgstr "``%(asctime)s``" + +msgid "" +"Human-readable time when the :class:`LogRecord` was created. By default " +"this is of the form '2003-07-08 16:49:45,896' (the numbers after the comma " +"are millisecond portion of the time)." +msgstr "" +"Зрозумілий для людини час створення :class:`LogRecord`. За замовчуванням це " +"має форму \"2003-07-08 16:49:45,896\" (числа після коми є частиною часу в " +"мілісекундах)." + +msgid "created" +msgstr "створений" + +msgid "``%(created)f``" +msgstr "``%(created)f``" + +msgid "" +"Time when the :class:`LogRecord` was created (as returned by :func:`time." +"time`)." +msgstr "Час створення :class:`LogRecord` (як повернуто :func:`time.time`)." + +msgid "exc_info" +msgstr "exc_info" + +msgid "" +"Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " +"``None``." +msgstr "" +"Кортеж винятків (à la ``sys.exc_info``) або, якщо винятків не сталося, " +"``None``." + +msgid "filename" +msgstr "ім'я файлу" + +msgid "``%(filename)s``" +msgstr "``%(filename)s``" + +msgid "Filename portion of ``pathname``." +msgstr "Частина імені файлу ``шляху``." + +msgid "funcName" +msgstr "ім'я функції" + +msgid "``%(funcName)s``" +msgstr "``%(funcName)s``" + +msgid "Name of function containing the logging call." +msgstr "Назва функції, яка містить виклик журналювання." + +msgid "levelname" +msgstr "ім'я рівня" + +msgid "``%(levelname)s``" +msgstr "``%(levelname)s``" + +msgid "" +"Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " +"``'ERROR'``, ``'CRITICAL'``)." +msgstr "" +"Рівень реєстрації тексту для повідомлення (``'DEBUG'``, ``'INFO'``, " +"``'WARNING'``, ``'ERROR'``, ``'CRITICAL'``)." + +msgid "levelno" +msgstr "levelno" + +msgid "``%(levelno)s``" +msgstr "``%(levelno)s``" + +msgid "" +"Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" +"`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." +msgstr "" +"Числовий рівень журналювання для повідомлення (:const:`DEBUG`, :const:" +"`INFO`, :const:`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." + +msgid "lineno" +msgstr "lineno" + +msgid "``%(lineno)d``" +msgstr "``%(lineno)d``" + +msgid "Source line number where the logging call was issued (if available)." +msgstr "" +"Номер вихідного рядка, де було здійснено виклик реєстрації (за наявності)." + +msgid "message" +msgstr "повідомлення" + +msgid "``%(message)s``" +msgstr "``%(message)s``" + +msgid "" +"The logged message, computed as ``msg % args``. This is set when :meth:" +"`Formatter.format` is invoked." +msgstr "" +"Зареєстроване повідомлення, обчислене як ``msg % args``. Це встановлюється " +"під час виклику :meth:`Formatter.format`." + +msgid "module" +msgstr "модуль" + +msgid "``%(module)s``" +msgstr "``%(module)s``" + +msgid "Module (name portion of ``filename``)." +msgstr "Модуль (частина назви ``назви файлу``)." + +msgid "msecs" +msgstr "мс" + +msgid "``%(msecs)d``" +msgstr "``%(msecs)d``" + +msgid "" +"Millisecond portion of the time when the :class:`LogRecord` was created." +msgstr "Частина мілісекунд часу, коли було створено :class:`LogRecord`." + +msgid "msg" +msgstr "повідомлення" + +msgid "" +"The format string passed in the original logging call. Merged with ``args`` " +"to produce ``message``, or an arbitrary object (see :ref:`arbitrary-object-" +"messages`)." +msgstr "" +"Рядок формату, переданий у вихідному виклику журналювання. Об’єднано з " +"``args`` для отримання ``message`` або довільного об’єкта (див. :ref:" +"`arbitrary-object-messages`)." + +msgid "name" +msgstr "назва" + +msgid "``%(name)s``" +msgstr "``%(name)s``" + +msgid "Name of the logger used to log the call." +msgstr "Ім'я реєстратора, який використовувався для реєстрації виклику." + +msgid "pathname" +msgstr "шлях" + +msgid "``%(pathname)s``" +msgstr "``%(pathname)s``" + +msgid "" +"Full pathname of the source file where the logging call was issued (if " +"available)." +msgstr "" +"Повний шлях до вихідного файлу, до якого було здійснено виклик журналювання " +"(за наявності)." + +msgid "process" +msgstr "процес" + +msgid "``%(process)d``" +msgstr "``%(process)d``" + +msgid "Process ID (if available)." +msgstr "ID процесу (за наявності)." + +msgid "processName" +msgstr "назва процесу" + +msgid "``%(processName)s``" +msgstr "``%(processName)s``" + +msgid "Process name (if available)." +msgstr "Назва процесу (якщо є)." + +msgid "relativeCreated" +msgstr "relativeCreated" + +msgid "``%(relativeCreated)d``" +msgstr "``%(relativeCreated)d``" + +msgid "" +"Time in milliseconds when the LogRecord was created, relative to the time " +"the logging module was loaded." +msgstr "" +"Час у мілісекундах, коли було створено LogRecord, відносно часу завантаження " +"модуля журналювання." + +msgid "stack_info" +msgstr "stack_info" + +msgid "" +"Stack frame information (where available) from the bottom of the stack in " +"the current thread, up to and including the stack frame of the logging call " +"which resulted in the creation of this record." +msgstr "" +"Інформація про стек (якщо доступно) від нижньої частини стека в поточному " +"потоці до та включно з кадром стека виклику журналювання, який призвів до " +"створення цього запису." + +msgid "thread" +msgstr "нитка" + +msgid "``%(thread)d``" +msgstr "``%(thread)d``" + +msgid "Thread ID (if available)." +msgstr "ID потоку (якщо є)." + +msgid "threadName" +msgstr "ім'я потоку" + +msgid "``%(threadName)s``" +msgstr "``%(threadName)s``" + +msgid "Thread name (if available)." +msgstr "Назва теми (за наявності)." + +msgid "*processName* was added." +msgstr "Додано *processName*." + +msgid "LoggerAdapter Objects" +msgstr "Об’єкти LoggerAdapter" + +msgid "" +":class:`LoggerAdapter` instances are used to conveniently pass contextual " +"information into logging calls. For a usage example, see the section on :ref:" +"`adding contextual information to your logging output `." +msgstr "" +"Екземпляри :class:`LoggerAdapter` використовуються для зручної передачі " +"контекстної інформації у виклики журналювання. Для прикладу використання " +"дивіться розділ про :ref:`додавання контекстної інформації до вихідних даних " +"журналу `." + +msgid "" +"Returns an instance of :class:`LoggerAdapter` initialized with an " +"underlying :class:`Logger` instance and a dict-like object." +msgstr "" +"Повертає екземпляр :class:`LoggerAdapter`, ініціалізований базовим " +"екземпляром :class:`Logger` і dict-подібним об’єктом." + +msgid "" +"Modifies the message and/or keyword arguments passed to a logging call in " +"order to insert contextual information. This implementation takes the object " +"passed as *extra* to the constructor and adds it to *kwargs* using key " +"'extra'. The return value is a (*msg*, *kwargs*) tuple which has the " +"(possibly modified) versions of the arguments passed in." +msgstr "" +"Змінює повідомлення та/або ключові аргументи, передані виклику журналювання, " +"щоб вставити контекстну інформацію. Ця реалізація приймає об’єкт, переданий " +"як *extra* до конструктора, і додає його до *kwargs* за допомогою ключа " +"\"extra\". Поверненим значенням є кортеж (*msg*, *kwargs*), який містить " +"(можливо, змінені) версії переданих аргументів." + +msgid "" +"In addition to the above, :class:`LoggerAdapter` supports the following " +"methods of :class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :" +"meth:`~Logger.warning`, :meth:`~Logger.error`, :meth:`~Logger.exception`, :" +"meth:`~Logger.critical`, :meth:`~Logger.log`, :meth:`~Logger.isEnabledFor`, :" +"meth:`~Logger.getEffectiveLevel`, :meth:`~Logger.setLevel` and :meth:" +"`~Logger.hasHandlers`. These methods have the same signatures as their " +"counterparts in :class:`Logger`, so you can use the two types of instances " +"interchangeably." +msgstr "" +"На додаток до вищезазначеного, :class:`LoggerAdapter` підтримує такі методи :" +"class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :meth:`~Logger ." +"warning`, :meth:`~Logger.error`, :meth:`~Logger.exception`, :meth:`~Logger." +"critical`, :meth:`~Logger.log`, :meth:`~Logger .isEnabledFor`, :meth:" +"`~Logger.getEffectiveLevel`, :meth:`~Logger.setLevel` і :meth:`~Logger." +"hasHandlers`. Ці методи мають ті самі сигнатури, що й їхні аналоги в :class:" +"`Logger`, тому ви можете використовувати обидва типи екземплярів як " +"взаємозамінні." + +msgid "" +"The :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :meth:" +"`~Logger.setLevel` and :meth:`~Logger.hasHandlers` methods were added to :" +"class:`LoggerAdapter`. These methods delegate to the underlying logger." +msgstr "" +"Методи :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :" +"meth:`~Logger.setLevel` і :meth:`~Logger.hasHandlers` додано до :class:" +"`LoggerAdapter` . Ці методи делегують базовому реєстратору." + +msgid "" +"Attribute :attr:`manager` and method :meth:`_log` were added, which delegate " +"to the underlying logger and allow adapters to be nested." +msgstr "" +"Було додано атрибут :attr:`manager` і метод :meth:`_log`, які делегують " +"базовому реєстратору та дозволяють адаптерам бути вкладеними." + +msgid "Thread Safety" +msgstr "Безпека ниток" + +msgid "" +"The logging module is intended to be thread-safe without any special work " +"needing to be done by its clients. It achieves this though using threading " +"locks; there is one lock to serialize access to the module's shared data, " +"and each handler also creates a lock to serialize access to its underlying I/" +"O." +msgstr "" +"Модуль журналювання призначений для потокобезпечної роботи без необхідності " +"виконання будь-якої спеціальної роботи клієнтами. Це досягається за " +"допомогою різьбових замків; існує одне блокування для серіалізації доступу " +"до спільних даних модуля, і кожен обробник також створює блокування для " +"серіалізації доступу до базового введення-виведення." + +msgid "" +"If you are implementing asynchronous signal handlers using the :mod:`signal` " +"module, you may not be able to use logging from within such handlers. This " +"is because lock implementations in the :mod:`threading` module are not " +"always re-entrant, and so cannot be invoked from such signal handlers." +msgstr "" +"Якщо ви впроваджуєте асинхронні обробники сигналів за допомогою модуля :mod:" +"`signal`, можливо, ви не зможете використовувати журналювання в таких " +"обробниках. Це пов’язано з тим, що реалізації блокувань у модулі :mod:" +"`threading` не завжди можна повторно входити, і тому їх не можна викликати з " +"таких обробників сигналів." + +msgid "Module-Level Functions" +msgstr "Функції рівня модуля" + +msgid "" +"In addition to the classes described above, there are a number of module-" +"level functions." +msgstr "На додаток до класів, описаних вище, існує ряд функцій рівня модуля." + +msgid "" +"Return a logger with the specified name or, if name is ``None``, return a " +"logger which is the root logger of the hierarchy. If specified, the name is " +"typically a dot-separated hierarchical name like *'a'*, *'a.b'* or *'a.b.c." +"d'*. Choice of these names is entirely up to the developer who is using " +"logging." +msgstr "" +"Повертає реєстратор із вказаною назвою або, якщо ім’я ``None``, повертає " +"реєстратор, який є кореневим реєстратором ієрархії. Якщо вказано, це " +"зазвичай ієрархічне ім’я, розділене крапками, наприклад *'a'*, *'a.b'* або " +"*'a.b.c.d'*. Вибір цих імен повністю залежить від розробника, який " +"використовує журналювання." + +msgid "" +"All calls to this function with a given name return the same logger " +"instance. This means that logger instances never need to be passed between " +"different parts of an application." +msgstr "" +"Усі виклики цієї функції з заданим іменем повертають той самий екземпляр " +"журналу. Це означає, що екземпляри реєстратора ніколи не потрібно передавати " +"між різними частинами програми." + +msgid "" +"Return either the standard :class:`Logger` class, or the last class passed " +"to :func:`setLoggerClass`. This function may be called from within a new " +"class definition, to ensure that installing a customized :class:`Logger` " +"class will not undo customizations already applied by other code. For " +"example::" +msgstr "" +"Повертає або стандартний клас :class:`Logger`, або останній клас, переданий :" +"func:`setLoggerClass`. Цю функцію можна викликати з нового визначення класу, " +"щоб гарантувати, що встановлення налаштованого класу :class:`Logger` не " +"скасує налаштування, уже застосовані іншим кодом. Наприклад::" + +msgid "Return a callable which is used to create a :class:`LogRecord`." +msgstr "" +"Повертає виклик, який використовується для створення :class:`LogRecord`." + +msgid "" +"This function has been provided, along with :func:`setLogRecordFactory`, to " +"allow developers more control over how the :class:`LogRecord` representing a " +"logging event is constructed." +msgstr "" +"Цю функцію було надано разом із :func:`setLogRecordFactory`, щоб дозволити " +"розробникам більше контролювати те, як створюється :class:`LogRecord`, що " +"представляє подію журналювання." + +msgid "" +"See :func:`setLogRecordFactory` for more information about the how the " +"factory is called." +msgstr "" +"Перегляньте :func:`setLogRecordFactory` для отримання додаткової інформації " +"про те, як називається фабрика." + +msgid "" +"Logs a message with level :const:`DEBUG` on the root logger. The *msg* is " +"the message format string, and the *args* are the arguments which are merged " +"into *msg* using the string formatting operator. (Note that this means that " +"you can use keywords in the format string, together with a single dictionary " +"argument.)" +msgstr "" +"Записує повідомлення з рівнем :const:`DEBUG` на кореневому реєстраторі. " +"*msg* — це рядок формату повідомлення, а *args* — це аргументи, які " +"об’єднуються в *msg* за допомогою оператора форматування рядка. (Зауважте, " +"що це означає, що ви можете використовувати ключові слова в рядку формату " +"разом із одним аргументом словника.)" + +msgid "" +"There are three keyword arguments in *kwargs* which are inspected: " +"*exc_info* which, if it does not evaluate as false, causes exception " +"information to be added to the logging message. If an exception tuple (in " +"the format returned by :func:`sys.exc_info`) or an exception instance is " +"provided, it is used; otherwise, :func:`sys.exc_info` is called to get the " +"exception information." +msgstr "" +"У *kwargs* є три аргументи ключових слів, які перевіряються: *exc_info*, " +"який, якщо він не оцінюється як false, призводить до додавання інформації " +"про винятки до повідомлення журналу. Якщо надано кортеж винятків (у форматі, " +"який повертає :func:`sys.exc_info`) або екземпляр винятку, він " +"використовується; інакше :func:`sys.exc_info` викликається для отримання " +"інформації про винятки." + +msgid "" +"The third optional keyword argument is *extra* which can be used to pass a " +"dictionary which is used to populate the __dict__ of the LogRecord created " +"for the logging event with user-defined attributes. These custom attributes " +"can then be used as you like. For example, they could be incorporated into " +"logged messages. For example::" +msgstr "" +"Третій необов’язковий аргумент ключового слова — *extra*, який можна " +"використовувати для передачі словника, який використовується для заповнення " +"__dict__ LogRecord, створеного для події журналювання, атрибутами, " +"визначеними користувачем. Потім ці настроювані атрибути можна " +"використовувати як завгодно. Наприклад, їх можна включити до зареєстрованих " +"повідомлень. Наприклад::" + +msgid "would print something like:" +msgstr "надрукував би щось на зразок:" + +msgid "" +"The keys in the dictionary passed in *extra* should not clash with the keys " +"used by the logging system. (See the :class:`Formatter` documentation for " +"more information on which keys are used by the logging system.)" +msgstr "" +"Ключі в словнику, передані в *extra*, не повинні конфліктувати з ключами, " +"які використовуються системою журналювання. (Див. документацію :class:" +"`Formatter`, щоб дізнатися більше про те, які ключі використовуються " +"системою журналювання.)" + +msgid "" +"If you choose to use these attributes in logged messages, you need to " +"exercise some care. In the above example, for instance, the :class:" +"`Formatter` has been set up with a format string which expects 'clientip' " +"and 'user' in the attribute dictionary of the LogRecord. If these are " +"missing, the message will not be logged because a string formatting " +"exception will occur. So in this case, you always need to pass the *extra* " +"dictionary with these keys." +msgstr "" +"Якщо ви вирішите використовувати ці атрибути в зареєстрованих повідомленнях, " +"вам потрібно бути обережними. У наведеному вище прикладі, наприклад, :class:" +"`Formatter` було налаштовано за допомогою рядка формату, який очікує " +"\"clientip\" і \"user\" у словнику атрибутів LogRecord. Якщо вони відсутні, " +"повідомлення не буде зареєстровано, оскільки виникне виняток форматування " +"рядка. Тому в цьому випадку вам завжди потрібно передавати *додатковий* " +"словник за допомогою цих ключів." + +msgid "" +"This function (as well as :func:`info`, :func:`warning`, :func:`error` and :" +"func:`critical`) will call :func:`basicConfig` if the root logger doesn't " +"have any handler attached." +msgstr "" +"Ця функція (а також :func:`info`, :func:`warning`, :func:`error` і :func:" +"`critical`) викличе :func:`basicConfig`, якщо кореневий реєстратор не має " +"будь-який доданий обробник." + +msgid "" +"Logs a message with level :const:`INFO` on the root logger. The arguments " +"are interpreted as for :func:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`INFO` на кореневому реєстраторі. " +"Аргументи інтерпретуються як для :func:`debug`." + +msgid "" +"Logs a message with level :const:`WARNING` on the root logger. The arguments " +"are interpreted as for :func:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`WARNING` на кореневому реєстраторі. " +"Аргументи інтерпретуються як для :func:`debug`." + +msgid "" +"There is an obsolete function ``warn`` which is functionally identical to " +"``warning``. As ``warn`` is deprecated, please do not use it - use " +"``warning`` instead." +msgstr "" +"Існує застаріла функція ``warn``, яка функціонально ідентична ``warning``. " +"Оскільки ``попередження`` застаріло, будь ласка, не використовуйте його - " +"використовуйте замість нього ``попередження``." + +msgid "" +"Logs a message with level :const:`ERROR` on the root logger. The arguments " +"are interpreted as for :func:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`ERROR` на кореневому реєстраторі. " +"Аргументи інтерпретуються як для :func:`debug`." + +msgid "" +"Logs a message with level :const:`CRITICAL` on the root logger. The " +"arguments are interpreted as for :func:`debug`." +msgstr "" +"Записує повідомлення з рівнем :const:`CRITICAL` на кореневому реєстраторі. " +"Аргументи інтерпретуються як для :func:`debug`." + +msgid "" +"Logs a message with level :const:`ERROR` on the root logger. The arguments " +"are interpreted as for :func:`debug`. Exception info is added to the logging " +"message. This function should only be called from an exception handler." +msgstr "" +"Записує повідомлення з рівнем :const:`ERROR` на кореневому реєстраторі. " +"Аргументи інтерпретуються як для :func:`debug`. Інформація про винятки " +"додається до повідомлення журналу. Цю функцію слід викликати лише з " +"обробника винятків." + +msgid "" +"Logs a message with level *level* on the root logger. The other arguments " +"are interpreted as for :func:`debug`." +msgstr "" +"Записує повідомлення з рівнем *level* на кореневому реєстраторі. Інші " +"аргументи інтерпретуються як для :func:`debug`." + +msgid "" +"Provides an overriding level *level* for all loggers which takes precedence " +"over the logger's own level. When the need arises to temporarily throttle " +"logging output down across the whole application, this function can be " +"useful. Its effect is to disable all logging calls of severity *level* and " +"below, so that if you call it with a value of INFO, then all INFO and DEBUG " +"events would be discarded, whereas those of severity WARNING and above would " +"be processed according to the logger's effective level. If ``logging." +"disable(logging.NOTSET)`` is called, it effectively removes this overriding " +"level, so that logging output again depends on the effective levels of " +"individual loggers." +msgstr "" +"Забезпечує переважний рівень *рівень* для всіх реєстраторів, який має " +"перевагу над власним рівнем реєстратора. Ця функція може бути корисною, коли " +"виникає потреба тимчасово зменшити вивід журналювання в усій програмі. Його " +"ефект полягає в тому, щоб вимкнути всі виклики журналювання рівня " +"серйозності *рівня* і нижче, так що якщо ви викликаєте його зі значенням " +"INFO, тоді всі події INFO та DEBUG будуть відхилені, тоді як події " +"серйозності WARNING і вище будуть оброблені відповідно до ефективний рівень " +"реєстратора. Якщо викликається ``logging.disable(logging.NOTSET)``, це " +"фактично видаляє цей переважний рівень, так що вихід журналу знову залежить " +"від ефективних рівнів окремих реєстраторів." + +msgid "" +"Note that if you have defined any custom logging level higher than " +"``CRITICAL`` (this is not recommended), you won't be able to rely on the " +"default value for the *level* parameter, but will have to explicitly supply " +"a suitable value." +msgstr "" +"Зауважте, що якщо ви визначили будь-який спеціальний рівень журналювання, " +"вищий за ``КРИТИЧНИЙ`` (це не рекомендовано), ви не зможете покладатися на " +"значення за замовчуванням для параметра *level*, але вам доведеться явно " +"вказати відповідне значення." + +msgid "" +"The *level* parameter was defaulted to level ``CRITICAL``. See :issue:" +"`28524` for more information about this change." +msgstr "" +"Параметр *level* за замовчуванням мав рівень ``КРИТИЧНИЙ``. Перегляньте :" +"issue:`28524`, щоб дізнатися більше про цю зміну." + +msgid "" +"Associates level *level* with text *levelName* in an internal dictionary, " +"which is used to map numeric levels to a textual representation, for example " +"when a :class:`Formatter` formats a message. This function can also be used " +"to define your own levels. The only constraints are that all levels used " +"must be registered using this function, levels should be positive integers " +"and they should increase in increasing order of severity." +msgstr "" +"Пов’язує рівень *level* із текстом *levelName* у внутрішньому словнику, який " +"використовується для відображення числових рівнів у текстовому " +"представленні, наприклад, коли :class:`Formatter` форматує повідомлення. Цю " +"функцію також можна використовувати для визначення власних рівнів. Єдині " +"обмеження полягають у тому, що всі використовувані рівні мають бути " +"зареєстровані за допомогою цієї функції, рівні мають бути додатними цілими " +"числами, і вони мають збільшуватися в порядку зростання серйозності." + +msgid "" +"If you are thinking of defining your own levels, please see the section on :" +"ref:`custom-levels`." +msgstr "" +"Якщо ви плануєте визначити власні рівні, перегляньте розділ про :ref:`custom-" +"levels`." + +msgid "" +"Returns a mapping from level names to their corresponding logging levels. " +"For example, the string \"CRITICAL\" maps to :const:`CRITICAL`. The returned " +"mapping is copied from an internal mapping on each call to this function." +msgstr "" + +msgid "Returns the textual or numeric representation of logging level *level*." +msgstr "Повертає текстове або числове представлення рівня реєстрації *level*." + +msgid "" +"If *level* is one of the predefined levels :const:`CRITICAL`, :const:" +"`ERROR`, :const:`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the " +"corresponding string. If you have associated levels with names using :func:" +"`addLevelName` then the name you have associated with *level* is returned. " +"If a numeric value corresponding to one of the defined levels is passed in, " +"the corresponding string representation is returned." +msgstr "" +"Якщо *level* є одним із попередньо визначених рівнів :const:`CRITICAL`, :" +"const:`ERROR`, :const:`WARNING`, :const:`INFO` або :const:`DEBUG`, тоді ви " +"отримаєте відповідний рядок . Якщо ви пов’язали рівні з іменами за " +"допомогою :func:`addLevelName`, тоді повертається ім’я, яке ви пов’язали з " +"*рівнем*. Якщо передано числове значення, що відповідає одному з визначених " +"рівнів, повертається відповідне представлення рядка." + +msgid "" +"The *level* parameter also accepts a string representation of the level such " +"as 'INFO'. In such cases, this functions returns the corresponding numeric " +"value of the level." +msgstr "" +"Параметр *level* також приймає рядкове представлення рівня, наприклад \"INFO" +"\". У таких випадках ця функція повертає відповідне числове значення рівня." + +msgid "" +"If no matching numeric or string value is passed in, the string 'Level %s' % " +"level is returned." +msgstr "" +"Якщо відповідного числового або рядкового значення не передано, повертається " +"рядок \"Рівень %s\" % рівня." + +msgid "" +"Levels are internally integers (as they need to be compared in the logging " +"logic). This function is used to convert between an integer level and the " +"level name displayed in the formatted log output by means of the ``" +"%(levelname)s`` format specifier (see :ref:`logrecord-attributes`), and vice " +"versa." +msgstr "" +"Рівні є внутрішніми цілими числами (оскільки їх потрібно порівнювати в " +"логіці журналювання). Ця функція використовується для перетворення між " +"цілочисельним рівнем і назвою рівня, що відображається у форматованому " +"виведенні журналу за допомогою специфікатора формату ``%(levelname)s`` " +"(див. :ref:`logrecord-attributes`), і навпаки." + +msgid "" +"In Python versions earlier than 3.4, this function could also be passed a " +"text level, and would return the corresponding numeric value of the level. " +"This undocumented behaviour was considered a mistake, and was removed in " +"Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility." +msgstr "" +"У версіях Python, раніших за 3.4, ця функція також могла передаватися на " +"текстовий рівень і повертала б відповідне числове значення рівня. Ця " +"незадокументована поведінка вважалася помилкою та була видалена в Python " +"3.4, але відновлена в 3.4.2 через збереження зворотної сумісності." + +msgid "" +"Creates and returns a new :class:`LogRecord` instance whose attributes are " +"defined by *attrdict*. This function is useful for taking a pickled :class:" +"`LogRecord` attribute dictionary, sent over a socket, and reconstituting it " +"as a :class:`LogRecord` instance at the receiving end." +msgstr "" +"Створює та повертає новий екземпляр :class:`LogRecord`, атрибути якого " +"визначено *attrdict*. Ця функція корисна для того, щоб взяти вибраний " +"словник атрибутів :class:`LogRecord`, надісланий через сокет, і відтворити " +"його як екземпляр :class:`LogRecord` на кінці прийому." + +msgid "" +"Does basic configuration for the logging system by creating a :class:" +"`StreamHandler` with a default :class:`Formatter` and adding it to the root " +"logger. The functions :func:`debug`, :func:`info`, :func:`warning`, :func:" +"`error` and :func:`critical` will call :func:`basicConfig` automatically if " +"no handlers are defined for the root logger." +msgstr "" +"Виконує базову конфігурацію для системи журналювання, створюючи :class:" +"`StreamHandler` із стандартним :class:`Formatter` і додаючи його до " +"кореневого реєстратора. Функції :func:`debug`, :func:`info`, :func:" +"`warning`, :func:`error` і :func:`critical` викличуть :func:`basicConfig` " +"автоматично, якщо не визначено обробників для кореневого реєстратора." + +msgid "" +"This function does nothing if the root logger already has handlers " +"configured, unless the keyword argument *force* is set to ``True``." +msgstr "" +"Ця функція нічого не робить, якщо кореневий реєстратор уже має налаштовані " +"обробники, якщо для ключового аргументу *force* не встановлено значення " +"``True``." + +msgid "" +"This function should be called from the main thread before other threads are " +"started. In versions of Python prior to 2.7.1 and 3.2, if this function is " +"called from multiple threads, it is possible (in rare circumstances) that a " +"handler will be added to the root logger more than once, leading to " +"unexpected results such as messages being duplicated in the log." +msgstr "" +"Цю функцію слід викликати з основного потоку перед запуском інших потоків. У " +"версіях Python до 2.7.1 і 3.2, якщо ця функція викликається з кількох " +"потоків, можливо (у рідкісних випадках), що обробник буде додано до " +"кореневого журналу більше одного разу, що призведе до неочікуваних " +"результатів, таких як повідомлення дублюється в журналі." + +msgid "The following keyword arguments are supported." +msgstr "Підтримуються наступні аргументи ключових слів." + +msgid "*filename*" +msgstr "*назва файлу*" + +msgid "" +"Specifies that a :class:`FileHandler` be created, using the specified " +"filename, rather than a :class:`StreamHandler`." +msgstr "" +"Вказує, що буде створено :class:`FileHandler`, використовуючи вказане ім’я " +"файлу, а не :class:`StreamHandler`." + +msgid "*filemode*" +msgstr "*файловий режим*" + +msgid "" +"If *filename* is specified, open the file in this :ref:`mode `. " +"Defaults to ``'a'``." +msgstr "" +"Якщо вказано *ім’я файлу*, відкрийте файл у цьому :ref:`режимі `. " +"За замовчуванням ``'a''``." + +msgid "*format*" +msgstr "*формат*" + +msgid "" +"Use the specified format string for the handler. Defaults to attributes " +"``levelname``, ``name`` and ``message`` separated by colons." +msgstr "" +"Використовуйте вказаний рядок формату для обробника. За замовчуванням " +"атрибути ``levelname``, ``name`` і ``message``, розділені двокрапками." + +msgid "*datefmt*" +msgstr "*datefmt*" + +msgid "" +"Use the specified date/time format, as accepted by :func:`time.strftime`." +msgstr "" +"Використовуйте вказаний формат дати/часу, прийнятний :func:`time.strftime`." + +msgid "*style*" +msgstr "*стиль*" + +msgid "" +"If *format* is specified, use this style for the format string. One of " +"``'%'``, ``'{'`` or ``'$'`` for :ref:`printf-style `, :meth:`str.format` or :class:`string.Template` respectively. " +"Defaults to ``'%'``." +msgstr "" +"Якщо вказано *format*, використовуйте цей стиль для рядка формату. Один із " +"``'%'``, ``'{'`` або ``'$'`` для :ref:`printf-style `, :meth:`str.format` або :class:`string .Template` відповідно. " +"За замовчуванням ``'%''``." + +msgid "*level*" +msgstr "*рівень*" + +msgid "Set the root logger level to the specified :ref:`level `." +msgstr "" +"Встановіть рівень кореневого реєстратора на вказаний :ref:`level `." + +msgid "*stream*" +msgstr "*потік*" + +msgid "" +"Use the specified stream to initialize the :class:`StreamHandler`. Note that " +"this argument is incompatible with *filename* - if both are present, a " +"``ValueError`` is raised." +msgstr "" +"Використовуйте вказаний потік для ініціалізації :class:`StreamHandler`. " +"Зауважте, що цей аргумент несумісний з *ім’ям файлу* – якщо присутні обидва, " +"виникає помилка \"ValueError\"." + +msgid "*handlers*" +msgstr "*обробники*" + +msgid "" +"If specified, this should be an iterable of already created handlers to add " +"to the root logger. Any handlers which don't already have a formatter set " +"will be assigned the default formatter created in this function. Note that " +"this argument is incompatible with *filename* or *stream* - if both are " +"present, a ``ValueError`` is raised." +msgstr "" +"Якщо вказано, це має бути ітерація вже створених обробників для додавання до " +"кореневого реєстратора. Усім обробникам, які ще не мають встановленого " +"форматера, буде призначено стандартний форматер, створений у цій функції. " +"Зауважте, що цей аргумент несумісний з *filename* або *stream* - якщо обидва " +"присутні, виникає помилка ValueError." + +msgid "*force*" +msgstr "*сила*" + +msgid "" +"If this keyword argument is specified as true, any existing handlers " +"attached to the root logger are removed and closed, before carrying out the " +"configuration as specified by the other arguments." +msgstr "" +"Якщо цей аргумент ключового слова вказано як true, будь-які існуючі " +"обробники, приєднані до кореневого реєстратора, видаляються та закриваються " +"перед виконанням конфігурації, як зазначено іншими аргументами." + +msgid "*encoding*" +msgstr "*кодування*" + +msgid "" +"If this keyword argument is specified along with *filename*, its value is " +"used when the :class:`FileHandler` is created, and thus used when opening " +"the output file." +msgstr "" +"Якщо цей аргумент ключового слова вказано разом із *filename*, його значення " +"використовується під час створення :class:`FileHandler` і, таким чином, " +"використовується під час відкриття вихідного файлу." + +msgid "*errors*" +msgstr "*помилки*" + +msgid "" +"If this keyword argument is specified along with *filename*, its value is " +"used when the :class:`FileHandler` is created, and thus used when opening " +"the output file. If not specified, the value 'backslashreplace' is used. " +"Note that if ``None`` is specified, it will be passed as such to :func:" +"`open`, which means that it will be treated the same as passing 'errors'." +msgstr "" +"Якщо цей аргумент ключового слова вказано разом із *filename*, його значення " +"використовується під час створення :class:`FileHandler` і, таким чином, " +"використовується під час відкриття вихідного файлу. Якщо не вказано, " +"використовується значення \"backslashreplace\". Зауважте, що якщо вказано " +"``None``, воно буде передано як таке до :func:`open`, що означає, що воно " +"розглядатиметься так само, як передача 'errors'." + +msgid "The *style* argument was added." +msgstr "Додано аргумент *style*." + +msgid "" +"The *handlers* argument was added. Additional checks were added to catch " +"situations where incompatible arguments are specified (e.g. *handlers* " +"together with *stream* or *filename*, or *stream* together with *filename*)." +msgstr "" +"Додано аргумент *обробники*. Було додано додаткові перевірки для виявлення " +"ситуацій, коли вказано несумісні аргументи (наприклад, *обробники* разом із " +"*потоком* або *ім’ям файлу*, або *потік* разом із *ім’ям файлу*)." + +msgid "The *force* argument was added." +msgstr "Додано аргумент *force*." + +msgid "The *encoding* and *errors* arguments were added." +msgstr "Додано аргументи *encoding* і *errors*." + +msgid "" +"Informs the logging system to perform an orderly shutdown by flushing and " +"closing all handlers. This should be called at application exit and no " +"further use of the logging system should be made after this call." +msgstr "" +"Повідомляє системі журналювання виконати впорядковане завершення роботи " +"шляхом очищення та закриття всіх обробників. Це слід викликати під час " +"виходу з програми, і після цього виклику не слід використовувати систему " +"журналювання." + +msgid "" +"When the logging module is imported, it registers this function as an exit " +"handler (see :mod:`atexit`), so normally there's no need to do that manually." +msgstr "" +"Коли модуль журналювання імпортовано, він реєструє цю функцію як обробник " +"виходу (див. :mod:`atexit`), тому зазвичай немає потреби робити це вручну." + +msgid "" +"Tells the logging system to use the class *klass* when instantiating a " +"logger. The class should define :meth:`__init__` such that only a name " +"argument is required, and the :meth:`__init__` should call :meth:`Logger." +"__init__`. This function is typically called before any loggers are " +"instantiated by applications which need to use custom logger behavior. After " +"this call, as at any other time, do not instantiate loggers directly using " +"the subclass: continue to use the :func:`logging.getLogger` API to get your " +"loggers." +msgstr "" +"Вказує системі ведення журналу використовувати клас *klass* під час " +"створення екземпляра реєстратора. Клас має визначати :meth:`__init__` таким " +"чином, щоб потрібен був лише аргумент імені, а :meth:`__init__` має " +"викликати :meth:`Logger.__init__`. Ця функція зазвичай викликається перед " +"створенням будь-яких реєстраторів програмами, які потребують використання " +"власної поведінки реєстратора. Після цього виклику, як і в будь-який інший " +"час, не створюйте екземпляри реєстраторів безпосередньо за допомогою " +"підкласу: продовжуйте використовувати :func:`logging.getLogger` API, щоб " +"отримати свої журнали." + +msgid "Set a callable which is used to create a :class:`LogRecord`." +msgstr "" +"Встановіть виклик, який використовується для створення :class:`LogRecord`." + +msgid "The factory callable to be used to instantiate a log record." +msgstr "" +"Фабричний виклик, який буде використано для створення екземпляра запису " +"журналу." + +msgid "" +"This function has been provided, along with :func:`getLogRecordFactory`, to " +"allow developers more control over how the :class:`LogRecord` representing a " +"logging event is constructed." +msgstr "" +"Цю функцію було надано разом із :func:`getLogRecordFactory`, щоб дозволити " +"розробникам більше контролювати те, як створюється :class:`LogRecord`, що " +"представляє подію журналювання." + +msgid "The factory has the following signature:" +msgstr "Завод має такий підпис:" + +msgid "" +"``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " +"**kwargs)``" +msgstr "" +"``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " +"**kwargs)``" + +msgid "The logger name." +msgstr "Ім'я реєстратора." + +msgid "level" +msgstr "рівень" + +msgid "The logging level (numeric)." +msgstr "Рівень журналювання (числовий)." + +msgid "fn" +msgstr "фн" + +msgid "The full pathname of the file where the logging call was made." +msgstr "Повний шлях до файлу, у якому було здійснено виклик журналювання." + +msgid "lno" +msgstr "льно" + +msgid "The line number in the file where the logging call was made." +msgstr "Номер рядка у файлі, де було здійснено виклик журналювання." + +msgid "The logging message." +msgstr "Повідомлення реєстрації." + +msgid "The arguments for the logging message." +msgstr "Аргументи для повідомлення журналу." + +msgid "An exception tuple, or ``None``." +msgstr "Кортеж винятків або ``None``." + +msgid "func" +msgstr "функц" + +msgid "The name of the function or method which invoked the logging call." +msgstr "Ім'я функції або методу, які викликали журналювання." + +msgid "sinfo" +msgstr "sinfo" + +msgid "" +"A stack traceback such as is provided by :func:`traceback.print_stack`, " +"showing the call hierarchy." +msgstr "" +"Зворотне трасування стека, наприклад, надається :func:`traceback." +"print_stack`, показуючи ієрархію викликів." + +msgid "kwargs" +msgstr "kwargs" + +msgid "Additional keyword arguments." +msgstr "Додаткові аргументи ключових слів." + +msgid "Module-Level Attributes" +msgstr "Атрибути рівня модуля" + +msgid "" +"A \"handler of last resort\" is available through this attribute. This is a :" +"class:`StreamHandler` writing to ``sys.stderr`` with a level of ``WARNING``, " +"and is used to handle logging events in the absence of any logging " +"configuration. The end result is to just print the message to ``sys." +"stderr``. This replaces the earlier error message saying that \"no handlers " +"could be found for logger XYZ\". If you need the earlier behaviour for some " +"reason, ``lastResort`` can be set to ``None``." +msgstr "" +"Через цей атрибут доступний \"обробник останньої надії\". Це :class:" +"`StreamHandler`, який записує в ``sys.stderr`` з рівнем ``WARNING`` і " +"використовується для обробки подій журналювання за відсутності будь-якої " +"конфігурації журналювання. Кінцевим результатом є просто друк повідомлення в " +"``sys.stderr``. Це замінює попереднє повідомлення про помилку про те, що " +"\"не вдалося знайти обробників для реєстратора XYZ\". Якщо з якоїсь причини " +"вам потрібна попередня поведінка, для lastResort можна встановити значення " +"None." + +msgid "Integration with the warnings module" +msgstr "Інтеграція з модулем попереджень" + +msgid "" +"The :func:`captureWarnings` function can be used to integrate :mod:`logging` " +"with the :mod:`warnings` module." +msgstr "" +"Функцію :func:`captureWarnings` можна використовувати для інтеграції :mod:" +"`logging` з модулем :mod:`warnings`." + +msgid "" +"This function is used to turn the capture of warnings by logging on and off." +msgstr "" +"Ця функція використовується для ввімкнення та вимкнення захоплення " +"попереджень під час входу." + +msgid "" +"If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " +"be redirected to the logging system. Specifically, a warning will be " +"formatted using :func:`warnings.formatwarning` and the resulting string " +"logged to a logger named ``'py.warnings'`` with a severity of :const:" +"`WARNING`." +msgstr "" +"Якщо *capture* має значення ``True``, попередження, видані модулем :mod:" +"`warnings`, будуть перенаправлені до системи журналювання. Зокрема, " +"попередження буде відформатовано за допомогою :func:`warnings." +"formatwarning`, а результуючий рядок буде зареєстровано в журналі під назвою " +"``'py.warnings`` з серйозністю :const:`WARNING`." + +msgid "" +"If *capture* is ``False``, the redirection of warnings to the logging system " +"will stop, and warnings will be redirected to their original destinations (i." +"e. those in effect before ``captureWarnings(True)`` was called)." +msgstr "" +"Якщо *capture* має значення ``False``, перенаправлення попереджень до " +"системи журналювання припиниться, і попередження будуть перенаправлені до " +"початкових місць призначення (тобто тих, які діяли до виклику " +"``captureWarnings(True)``)." + +msgid "Module :mod:`logging.config`" +msgstr "Модуль :mod:`logging.config`" + +msgid "Configuration API for the logging module." +msgstr "API конфігурації для модуля журналювання." + +msgid "Module :mod:`logging.handlers`" +msgstr "Модуль :mod:`logging.handlers`" + +msgid "Useful handlers included with the logging module." +msgstr "Корисні обробники, включені в модуль журналювання." + +msgid ":pep:`282` - A Logging System" +msgstr ":pep:`282` - Система реєстрації" + +msgid "" +"The proposal which described this feature for inclusion in the Python " +"standard library." +msgstr "" +"Пропозиція, яка описує цю функцію для включення в стандартну бібліотеку " +"Python." + +msgid "" +"`Original Python logging package `_" +msgstr "" +"`Оригінальний пакет журналювання Python `_" + +msgid "" +"This is the original source for the :mod:`logging` package. The version of " +"the package available from this site is suitable for use with Python 1.5.2, " +"2.1.x and 2.2.x, which do not include the :mod:`logging` package in the " +"standard library." +msgstr "" +"Це оригінальне джерело пакета :mod:`logging`. Версія пакета, доступна на " +"цьому сайті, підходить для використання з Python 1.5.2, 2.1.x і 2.2.x, які " +"не містять пакет :mod:`logging` у стандартній бібліотеці." diff --git a/library/logging_config.po b/library/logging_config.po new file mode 100644 index 000000000..807ea015f --- /dev/null +++ b/library/logging_config.po @@ -0,0 +1,1229 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`logging.config` --- Logging configuration" +msgstr ":mod:`logging.config` --- Налаштування журналювання" + +msgid "**Source code:** :source:`Lib/logging/config.py`" +msgstr "**Вихідний код:** :source:`Lib/logging/config.py`" + +msgid "" +"This page contains only reference information. For tutorials, please see" +msgstr "Ця сторінка містить лише довідкову інформацію. Навчальні посібники див" + +msgid ":ref:`Basic Tutorial `" +msgstr ":ref:`Основний посібник `" + +msgid ":ref:`Advanced Tutorial `" +msgstr ":ref:`Розширений посібник `" + +msgid ":ref:`Logging Cookbook `" +msgstr ":ref:`Кулінарна книга журналювання `" + +msgid "This section describes the API for configuring the logging module." +msgstr "У цьому розділі описано API для налаштування модуля журналювання." + +msgid "Configuration functions" +msgstr "Функції конфігурації" + +msgid "" +"The following functions configure the logging module. They are located in " +"the :mod:`logging.config` module. Their use is optional --- you can " +"configure the logging module using these functions or by making calls to the " +"main API (defined in :mod:`logging` itself) and defining handlers which are " +"declared either in :mod:`logging` or :mod:`logging.handlers`." +msgstr "" +"Наступні функції налаштовують модуль журналювання. Вони знаходяться в " +"модулі :mod:`logging.config`. Їхнє використання необов’язкове --- ви можете " +"налаштувати модуль журналювання за допомогою цих функцій або викликом " +"основного API (визначеного в самому :mod:`logging`) і визначення обробників, " +"які оголошуються або в :mod:`logging`, або :mod:`logging.handlers`." + +msgid "" +"Takes the logging configuration from a dictionary. The contents of this " +"dictionary are described in :ref:`logging-config-dictschema` below." +msgstr "" +"Бере конфігурацію журналювання зі словника. Вміст цього словника описано в :" +"ref:`logging-config-dictschema` нижче." + +msgid "" +"If an error is encountered during configuration, this function will raise a :" +"exc:`ValueError`, :exc:`TypeError`, :exc:`AttributeError` or :exc:" +"`ImportError` with a suitably descriptive message. The following is a " +"(possibly incomplete) list of conditions which will raise an error:" +msgstr "" +"Якщо під час налаштування буде виявлено помилку, ця функція викличе :exc:" +"`ValueError`, :exc:`TypeError`, :exc:`AttributeError` або :exc:`ImportError` " +"із відповідним описовим повідомленням. Нижче наведено (можливо, неповний) " +"список умов, які викличуть помилку:" + +msgid "" +"A ``level`` which is not a string or which is a string not corresponding to " +"an actual logging level." +msgstr "" +"``Рівень``, який не є рядком або є рядком, що не відповідає фактичному рівню " +"реєстрації." + +msgid "A ``propagate`` value which is not a boolean." +msgstr "Значення ``розповсюдження``, яке не є логічним." + +msgid "An id which does not have a corresponding destination." +msgstr "Ідентифікатор, який не має відповідного адресата." + +msgid "A non-existent handler id found during an incremental call." +msgstr "" +"Під час інкрементного виклику виявлено ідентифікатор неіснуючого обробника." + +msgid "An invalid logger name." +msgstr "Недійсне ім'я реєстратора." + +msgid "Inability to resolve to an internal or external object." +msgstr "Нездатність вирішити внутрішній або зовнішній об'єкт." + +msgid "" +"Parsing is performed by the :class:`DictConfigurator` class, whose " +"constructor is passed the dictionary used for configuration, and has a :meth:" +"`configure` method. The :mod:`logging.config` module has a callable " +"attribute :attr:`dictConfigClass` which is initially set to :class:" +"`DictConfigurator`. You can replace the value of :attr:`dictConfigClass` " +"with a suitable implementation of your own." +msgstr "" +"Розбір виконується класом :class:`DictConfigurator`, конструктор якого " +"передає словник, який використовується для налаштування, і має метод :meth:" +"`configure`. Модуль :mod:`logging.config` має викликаний атрибут :attr:" +"`dictConfigClass`, який початково встановлено на :class:`DictConfigurator`. " +"Ви можете замінити значення :attr:`dictConfigClass` відповідною власною " +"реалізацією." + +msgid "" +":func:`dictConfig` calls :attr:`dictConfigClass` passing the specified " +"dictionary, and then calls the :meth:`configure` method on the returned " +"object to put the configuration into effect::" +msgstr "" +":func:`dictConfig` викликає :attr:`dictConfigClass`, передаючи вказаний " +"словник, а потім викликає метод :meth:`configure` для повернутого об’єкта, " +"щоб застосувати конфігурацію:" + +msgid "" +"For example, a subclass of :class:`DictConfigurator` could call " +"``DictConfigurator.__init__()`` in its own :meth:`__init__()`, then set up " +"custom prefixes which would be usable in the subsequent :meth:`configure` " +"call. :attr:`dictConfigClass` would be bound to this new subclass, and then :" +"func:`dictConfig` could be called exactly as in the default, uncustomized " +"state." +msgstr "" +"Наприклад, підклас :class:`DictConfigurator` може викликати " +"``DictConfigurator.__init__()`` у власному :meth:`__init__()`, а потім " +"налаштувати спеціальні префікси, які можна буде використовувати в наступних " +"виклик :meth:`configure`. :attr:`dictConfigClass` буде прив’язано до цього " +"нового підкласу, а потім :func:`dictConfig` можна буде викликати точно так " +"само, як у типовому, неналаштованому стані." + +msgid "" +"Reads the logging configuration from a :mod:`configparser`\\-format file. " +"The format of the file should be as described in :ref:`logging-config-" +"fileformat`. This function can be called several times from an application, " +"allowing an end user to select from various pre-canned configurations (if " +"the developer provides a mechanism to present the choices and load the " +"chosen configuration)." +msgstr "" +"Читає конфігурацію журналювання з файлу у форматі :mod:`configparser`\\. " +"Формат файлу має бути таким, як описано в :ref:`logging-config-fileformat`. " +"Цю функцію можна викликати кілька разів із програми, дозволяючи кінцевому " +"користувачеві вибирати з різних попередньо готових конфігурацій (якщо " +"розробник надає механізм для представлення варіантів і завантаження вибраної " +"конфігурації)." + +msgid "Parameters" +msgstr "Параметри" + +msgid "" +"A filename, or a file-like object, or an instance derived from :class:" +"`~configparser.RawConfigParser`. If a ``RawConfigParser``-derived instance " +"is passed, it is used as is. Otherwise, a :class:`~configparser." +"Configparser` is instantiated, and the configuration read by it from the " +"object passed in ``fname``. If that has a :meth:`readline` method, it is " +"assumed to be a file-like object and read using :meth:`~configparser." +"ConfigParser.read_file`; otherwise, it is assumed to be a filename and " +"passed to :meth:`~configparser.ConfigParser.read`." +msgstr "" +"Ім’я файлу, або файлоподібний об’єкт, або екземпляр, отриманий від :class:" +"`~configparser.RawConfigParser`. Якщо передається екземпляр, похідний від " +"``RawConfigParser``, він використовується як є. В іншому випадку :class:" +"`~configparser.Configparser` створюється, і конфігурація зчитується ним з " +"об’єкта, переданого в ``fname``. Якщо він має метод :meth:`readline`, " +"вважається, що він є файлоподібним об’єктом і читається за допомогою :meth:" +"`~configparser.ConfigParser.read_file`; інакше вважається, що це ім’я файлу " +"та передається до :meth:`~configparser.ConfigParser.read`." + +msgid "" +"Defaults to be passed to the ConfigParser can be specified in this argument." +msgstr "" +"У цьому аргументі можна вказати значення за замовчуванням для передачі в " +"ConfigParser." + +msgid "" +"If specified as ``False``, loggers which " +"exist when this call is made are left " +"enabled. The default is ``True`` because " +"this enables old behaviour in " +"a backward-compatible way. This behaviour is " +"to disable any existing non-root loggers " +"unless they or their ancestors are " +"explicitly named in the logging " +"configuration. :param encoding: The encoding used to open file when *fname* " +"is filename." +msgstr "" +"Якщо вказано як ``False``, реєстратори, які існують під час здійснення цього " +"виклику, залишаються ввімкненими. За замовчуванням встановлено ``True``, " +"оскільки це дозволяє стару поведінку у зворотно-сумісний спосіб. Ця " +"поведінка полягає в тому, щоб вимкнути будь-які існуючі некореневі " +"реєстратори, якщо вони або їхні предки не вказані явно в конфігурації " +"журналювання. :param кодування: кодування, яке використовується для " +"відкриття файлу, коли *fname* є назвою файлу." + +msgid "If specified as ``False``, loggers which" +msgstr "Якщо вказано як ``False``, реєстратори, які" + +msgid "" +"exist when this call is made are left enabled. The default is ``True`` " +"because this enables old behaviour in a backward-compatible way. This " +"behaviour is to disable any existing non-root loggers unless they or their " +"ancestors are explicitly named in the logging configuration." +msgstr "" +"існують, коли здійснюється цей виклик, залишаються ввімкненими. За " +"замовчуванням встановлено ``True``, оскільки це дозволяє стару поведінку у " +"зворотно-сумісний спосіб. Ця поведінка полягає в тому, щоб вимкнути будь-які " +"існуючі некореневі реєстратори, якщо вони або їхні предки не вказані явно в " +"конфігурації журналювання." + +msgid "param encoding" +msgstr "кодування параметрів" + +msgid "The encoding used to open file when *fname* is filename." +msgstr "" +"Кодування, яке використовується для відкриття файлу, коли *fname* є назвою " +"файлу." + +msgid "" +"An instance of a subclass of :class:`~configparser.RawConfigParser` is now " +"accepted as a value for ``fname``. This facilitates:" +msgstr "" +"Екземпляр підкласу :class:`~configparser.RawConfigParser` тепер приймається " +"як значення для ``fname``. Це полегшує:" + +msgid "" +"Use of a configuration file where logging configuration is just part of the " +"overall application configuration." +msgstr "" +"Використання файлу конфігурації, де конфігурація журналювання є лише " +"частиною загальної конфігурації програми." + +msgid "" +"Use of a configuration read from a file, and then modified by the using " +"application (e.g. based on command-line parameters or other aspects of the " +"runtime environment) before being passed to ``fileConfig``." +msgstr "" +"Використання конфігурації, зчитаної з файлу, а потім зміненої програмою-" +"користувачем (наприклад, на основі параметрів командного рядка або інших " +"аспектів середовища виконання) перед передачею в ``fileConfig``." + +msgid "The *encoding* parameter is added." +msgstr "Додано параметр *кодування*." + +msgid "" +"Starts up a socket server on the specified port, and listens for new " +"configurations. If no port is specified, the module's default :const:" +"`DEFAULT_LOGGING_CONFIG_PORT` is used. Logging configurations will be sent " +"as a file suitable for processing by :func:`dictConfig` or :func:" +"`fileConfig`. Returns a :class:`~threading.Thread` instance on which you can " +"call :meth:`~threading.Thread.start` to start the server, and which you can :" +"meth:`~threading.Thread.join` when appropriate. To stop the server, call :" +"func:`stopListening`." +msgstr "" +"Запускає сервер сокетів на вказаному порту та очікує нових конфігурацій. " +"Якщо порт не вказано, використовується модуль за замовчуванням :const:" +"`DEFAULT_LOGGING_CONFIG_PORT`. Конфігурації журналу будуть надіслані як " +"файл, придатний для обробки за допомогою :func:`dictConfig` або :func:" +"`fileConfig`. Повертає екземпляр :class:`~threading.Thread`, на якому ви " +"можете викликати :meth:`~threading.Thread.start`, щоб запустити сервер, і до " +"якого ви можете :meth:`~threading.Thread.join`, коли потрібно . Щоб зупинити " +"сервер, викличте :func:`stopListening`." + +msgid "" +"The ``verify`` argument, if specified, should be a callable which should " +"verify whether bytes received across the socket are valid and should be " +"processed. This could be done by encrypting and/or signing what is sent " +"across the socket, such that the ``verify`` callable can perform signature " +"verification and/or decryption. The ``verify`` callable is called with a " +"single argument - the bytes received across the socket - and should return " +"the bytes to be processed, or ``None`` to indicate that the bytes should be " +"discarded. The returned bytes could be the same as the passed in bytes (e.g. " +"when only verification is done), or they could be completely different " +"(perhaps if decryption were performed)." +msgstr "" +"Аргумент ``verify``, якщо вказано, має бути викликом, який повинен " +"перевіряти, чи байти, отримані через сокет, є дійсними та чи їх потрібно " +"обробити. Це можна зробити, зашифрувавши та/або підписавши те, що " +"надсилається через сокет, щоб виклик ``verify`` міг виконувати перевірку " +"підпису та/або дешифрування. Викликається ``verify`` викликається з єдиним " +"аргументом - байтами, отриманими через сокет - і має повертати байти для " +"обробки, або ``None``, щоб вказати, що байти слід відкинути. Повернуті байти " +"можуть бути такими самими, як передані в байтах (наприклад, коли виконується " +"лише перевірка), або вони можуть бути зовсім іншими (можливо, якщо було " +"виконано дешифрування)." + +msgid "" +"To send a configuration to the socket, read in the configuration file and " +"send it to the socket as a sequence of bytes preceded by a four-byte length " +"string packed in binary using ``struct.pack('>L', n)``." +msgstr "" +"Щоб надіслати конфігурацію до сокета, прочитайте файл конфігурації та " +"надішліть його до сокета як послідовність байтів, яким передує " +"чотирибайтовий рядок, упакований у двійковому вигляді за допомогою ``struct." +"pack('>L', n)``." + +msgid "" +"Because portions of the configuration are passed through :func:`eval`, use " +"of this function may open its users to a security risk. While the function " +"only binds to a socket on ``localhost``, and so does not accept connections " +"from remote machines, there are scenarios where untrusted code could be run " +"under the account of the process which calls :func:`listen`. Specifically, " +"if the process calling :func:`listen` runs on a multi-user machine where " +"users cannot trust each other, then a malicious user could arrange to run " +"essentially arbitrary code in a victim user's process, simply by connecting " +"to the victim's :func:`listen` socket and sending a configuration which runs " +"whatever code the attacker wants to have executed in the victim's process. " +"This is especially easy to do if the default port is used, but not hard even " +"if a different port is used. To avoid the risk of this happening, use the " +"``verify`` argument to :func:`listen` to prevent unrecognised configurations " +"from being applied." +msgstr "" +"Оскільки частини конфігурації передаються через :func:`eval`, використання " +"цієї функції може піддати користувачам ризик безпеки. Хоча функція " +"прив’язується лише до сокета на ``localhost`` і тому не приймає з’єднання з " +"віддалених машин, існують сценарії, коли ненадійний код може запускатися під " +"обліковим записом процесу, який викликає :func:`listen`. Зокрема, якщо " +"процес, який викликає :func:`listen`, виконується на багатокористувацькій " +"машині, де користувачі не можуть довіряти один одному, тоді зловмисник може " +"організувати запуск практично довільного коду в процесі користувача-жертви, " +"просто підключившись до жертви :func:`listen` сокет і надсилання " +"конфігурації, яка запускає будь-який код, який зловмисник хоче виконати в " +"процесі жертви. Це особливо легко зробити, якщо використовується стандартний " +"порт, але не важко, навіть якщо використовується інший порт. Щоб уникнути " +"цього ризику, використовуйте аргумент ``verify`` для :func:`listen`, щоб " +"запобігти застосуванню нерозпізнаних конфігурацій." + +msgid "The ``verify`` argument was added." +msgstr "Додано аргумент ``перевірити``." + +msgid "" +"If you want to send configurations to the listener which don't disable " +"existing loggers, you will need to use a JSON format for the configuration, " +"which will use :func:`dictConfig` for configuration. This method allows you " +"to specify ``disable_existing_loggers`` as ``False`` in the configuration " +"you send." +msgstr "" +"Якщо ви хочете надіслати конфігурації прослухувачу, які не вимикають існуючі " +"реєстратори, вам потрібно буде використовувати формат JSON для конфігурації, " +"яка використовуватиме :func:`dictConfig` для конфігурації. Цей метод " +"дозволяє вказати ``disable_existing_loggers`` як ``False`` у конфігурації, " +"яку ви надсилаєте." + +msgid "" +"Stops the listening server which was created with a call to :func:`listen`. " +"This is typically called before calling :meth:`join` on the return value " +"from :func:`listen`." +msgstr "" +"Зупиняє сервер прослуховування, створений за допомогою виклику :func:" +"`listen`. Це зазвичай викликається перед викликом :meth:`join` для значення, " +"яке повертає :func:`listen`." + +msgid "Security considerations" +msgstr "Міркування безпеки" + +msgid "" +"The logging configuration functionality tries to offer convenience, and in " +"part this is done by offering the ability to convert text in configuration " +"files into Python objects used in logging configuration - for example, as " +"described in :ref:`logging-config-dict-userdef`. However, these same " +"mechanisms (importing callables from user-defined modules and calling them " +"with parameters from the configuration) could be used to invoke any code you " +"like, and for this reason you should treat configuration files from " +"untrusted sources with *extreme caution* and satisfy yourself that nothing " +"bad can happen if you load them, before actually loading them." +msgstr "" +"Функціональність конфігурації журналювання намагається запропонувати " +"зручність, і частково це робиться, пропонуючи можливість перетворювати текст " +"у конфігураційних файлах на об’єкти Python, які використовуються в " +"конфігурації журналювання - наприклад, як описано в :ref:`logging-config-" +"dict-userdef`. Однак ці самі механізми (імпорт викликів із визначених " +"користувачем модулів і виклик їх із параметрами з конфігурації) можна " +"використовувати для виклику будь-якого коду, який вам подобається, і з цієї " +"причини ви повинні поводитися з конфігураційними файлами з ненадійних джерел " +"з *надзвичайною обережністю* і переконайтеся, що нічого поганого не " +"станеться, якщо ви їх завантажите, перш ніж завантажувати їх." + +msgid "Configuration dictionary schema" +msgstr "Схема словника конфігурації" + +msgid "" +"Describing a logging configuration requires listing the various objects to " +"create and the connections between them; for example, you may create a " +"handler named 'console' and then say that the logger named 'startup' will " +"send its messages to the 'console' handler. These objects aren't limited to " +"those provided by the :mod:`logging` module because you might write your own " +"formatter or handler class. The parameters to these classes may also need to " +"include external objects such as ``sys.stderr``. The syntax for describing " +"these objects and connections is defined in :ref:`logging-config-dict-" +"connections` below." +msgstr "" +"Опис конфігурації журналювання вимагає переліку різних об’єктів для " +"створення та зв’язків між ними; наприклад, ви можете створити обробник під " +"назвою \"console\", а потім сказати, що реєстратор під назвою \"startup\" " +"надсилатиме свої повідомлення до обробника \"console\". Ці об’єкти не " +"обмежуються об’єктами, наданими модулем :mod:`logging`, оскільки ви можете " +"написати власний формататор або клас обробника. Параметри цих класів можуть " +"також потребувати включення зовнішніх об’єктів, таких як ``sys.stderr``. " +"Синтаксис для опису цих об’єктів і з’єднань визначено в :ref:`logging-config-" +"dict-connections` нижче." + +msgid "Dictionary Schema Details" +msgstr "Подробиці схеми словника" + +msgid "" +"The dictionary passed to :func:`dictConfig` must contain the following keys:" +msgstr "Словник, переданий до :func:`dictConfig`, повинен містити такі ключі:" + +msgid "" +"*version* - to be set to an integer value representing the schema version. " +"The only valid value at present is 1, but having this key allows the schema " +"to evolve while still preserving backwards compatibility." +msgstr "" +"*version* - має бути встановлено ціле значення, що представляє версію схеми. " +"Єдиним дійсним значенням наразі є 1, але наявність цього ключа дозволяє " +"схемі розвиватися, зберігаючи зворотну сумісність." + +msgid "" +"All other keys are optional, but if present they will be interpreted as " +"described below. In all cases below where a 'configuring dict' is " +"mentioned, it will be checked for the special ``'()'`` key to see if a " +"custom instantiation is required. If so, the mechanism described in :ref:" +"`logging-config-dict-userdef` below is used to create an instance; " +"otherwise, the context is used to determine what to instantiate." +msgstr "" +"Усі інші ключі необов’язкові, але якщо вони присутні, вони " +"інтерпретуватимуться, як описано нижче. У всіх випадках, наведених нижче, де " +"згадується \"налаштування dict\", буде перевірено наявність спеціального " +"ключа ``'()''``, щоб побачити, чи потрібен власний екземпляр. Якщо так, " +"механізм, описаний у :ref:`logging-config-dict-userdef` нижче, " +"використовується для створення екземпляра; інакше контекст використовується " +"для визначення того, що створити екземпляр." + +msgid "" +"*formatters* - the corresponding value will be a dict in which each key is a " +"formatter id and each value is a dict describing how to configure the " +"corresponding :class:`~logging.Formatter` instance." +msgstr "" +"*formatters* - відповідне значення буде dict, у якому кожен ключ є " +"ідентифікатором formatter, а кожне значення є dict, що описує, як " +"налаштувати відповідний екземпляр :class:`~logging.Formatter`." + +msgid "" +"The configuring dict is searched for the following optional keys which " +"correspond to the arguments passed to create a :class:`~logging.Formatter` " +"object:" +msgstr "" +"У диктофоні налаштування шукаються наступні додаткові ключі, які " +"відповідають аргументам, переданим для створення об’єкта :class:`~logging." +"Formatter`:" + +msgid "``format``" +msgstr "``формат``" + +msgid "``datefmt``" +msgstr "``datefmt``" + +msgid "``style``" +msgstr "``стиль``" + +msgid "``validate`` (since version >=3.8)" +msgstr "``validate`` (починаючи з версії >=3.8)" + +msgid "" +"An optional ``class`` key indicates the name of the formatter's class (as a " +"dotted module and class name). The instantiation arguments are as for :" +"class:`~logging.Formatter`, thus this key is most useful for instantiating a " +"customised subclass of :class:`~logging.Formatter`. For example, the " +"alternative class might present exception tracebacks in an expanded or " +"condensed format. If your formatter requires different or extra " +"configuration keys, you should use :ref:`logging-config-dict-userdef`." +msgstr "" +"Необов'язковий ключ ``class`` вказує на ім'я класу форматера (у вигляді " +"модуля та імені класу з крапками). Аргументи створення екземпляра такі ж, як " +"і для :class:`~logging.Formatter`, тому цей ключ найбільш корисний для " +"створення екземпляра налаштованого підкласу :class:`~logging.Formatter`. " +"Наприклад, альтернативний клас може представляти трасування винятків у " +"розгорнутому або скороченому форматі. Якщо ваш форматувальник вимагає інших " +"або додаткових ключів конфігурації, ви повинні використовувати :ref:`logging-" +"config-dict-userdef`." + +msgid "" +"*filters* - the corresponding value will be a dict in which each key is a " +"filter id and each value is a dict describing how to configure the " +"corresponding Filter instance." +msgstr "" +"*filters* — відповідне значення буде диктовим словом, у якому кожен ключ є " +"ідентифікатором фільтра, а кожне значення — диктовим кодом, що описує, як " +"налаштувати відповідний екземпляр фільтра." + +msgid "" +"The configuring dict is searched for the key ``name`` (defaulting to the " +"empty string) and this is used to construct a :class:`logging.Filter` " +"instance." +msgstr "" +"Dict конфігурації шукається за ключем ``name`` (за замовчуванням порожній " +"рядок), і це використовується для створення екземпляра :class:`logging." +"Filter`." + +msgid "" +"*handlers* - the corresponding value will be a dict in which each key is a " +"handler id and each value is a dict describing how to configure the " +"corresponding Handler instance." +msgstr "" +"*обробники* – відповідним значенням буде dict, у якому кожен ключ є " +"ідентифікатором обробника, а кожне значення є dict, що описує, як " +"налаштувати відповідний екземпляр Handler." + +msgid "The configuring dict is searched for the following keys:" +msgstr "У диктофоні налаштування виконується пошук таких ключів:" + +msgid "" +"``class`` (mandatory). This is the fully qualified name of the handler " +"class." +msgstr "``клас`` (обов'язковий). Це повна назва класу обробника." + +msgid "``level`` (optional). The level of the handler." +msgstr "``рівень`` (необов'язково). Рівень обробника." + +msgid "``formatter`` (optional). The id of the formatter for this handler." +msgstr "" +"``форматувальник`` (необов'язковий). Ідентифікатор форматера для цього " +"обробника." + +msgid "``filters`` (optional). A list of ids of the filters for this handler." +msgstr "" +"``фільтри`` (необов'язково). Список ідентифікаторів фільтрів для цього " +"обробника." + +msgid "``filters`` can take filter instances in addition to ids." +msgstr "" + +msgid "" +"All *other* keys are passed through as keyword arguments to the handler's " +"constructor. For example, given the snippet:" +msgstr "" +"Усі *інші* ключі передаються як аргументи ключового слова до конструктора " +"обробника. Наприклад, враховуючи фрагмент:" + +msgid "" +"the handler with id ``console`` is instantiated as a :class:`logging." +"StreamHandler`, using ``sys.stdout`` as the underlying stream. The handler " +"with id ``file`` is instantiated as a :class:`logging.handlers." +"RotatingFileHandler` with the keyword arguments ``filename='logconfig.log', " +"maxBytes=1024, backupCount=3``." +msgstr "" +"обробник з ідентифікатором ``console`` створюється як :class:`logging." +"StreamHandler`, використовуючи ``sys.stdout`` як базовий потік. Обробник з " +"ідентифікатором ``file`` створюється як :class:`logging.handlers." +"RotatingFileHandler` з ключовими аргументами ``filename='logconfig.log', " +"maxBytes=1024, backupCount=3``." + +msgid "" +"*loggers* - the corresponding value will be a dict in which each key is a " +"logger name and each value is a dict describing how to configure the " +"corresponding Logger instance." +msgstr "" +"*loggers* - відповідне значення буде dict, у якому кожен ключ є іменем " +"logger, а кожне значення є dict, що описує, як налаштувати відповідний " +"екземпляр Logger." + +msgid "``level`` (optional). The level of the logger." +msgstr "``рівень`` (необов'язково). Рівень лісоруба." + +msgid "``propagate`` (optional). The propagation setting of the logger." +msgstr "" +"``propagate`` (необов'язковий). Налаштування розповсюдження реєстратора." + +msgid "``filters`` (optional). A list of ids of the filters for this logger." +msgstr "" +"``фільтри`` (необов'язково). Список ідентифікаторів фільтрів для цього " +"реєстратора." + +msgid "" +"``handlers`` (optional). A list of ids of the handlers for this logger." +msgstr "" +"``обробники`` (необов'язково). Список ідентифікаторів обробників для цього " +"реєстратора." + +msgid "" +"The specified loggers will be configured according to the level, " +"propagation, filters and handlers specified." +msgstr "" +"Зазначені реєстратори буде налаштовано відповідно до вказаного рівня, " +"розповсюдження, фільтрів і обробників." + +msgid "" +"*root* - this will be the configuration for the root logger. Processing of " +"the configuration will be as for any logger, except that the ``propagate`` " +"setting will not be applicable." +msgstr "" +"*root* - це буде конфігурація для root logger. Обробка конфігурації " +"відбуватиметься так само, як і для будь-якого реєстратора, за винятком того, " +"що параметр ``propagate`` не застосовуватиметься." + +msgid "" +"*incremental* - whether the configuration is to be interpreted as " +"incremental to the existing configuration. This value defaults to " +"``False``, which means that the specified configuration replaces the " +"existing configuration with the same semantics as used by the existing :func:" +"`fileConfig` API." +msgstr "" +"*incremental* – чи конфігурація має інтерпретуватися як додаткова до " +"існуючої конфігурації. За замовчуванням це значення має значення ``False``, " +"що означає, що вказана конфігурація замінює існуючу конфігурацію з тією " +"самою семантикою, яку використовує існуючий API :func:`fileConfig`." + +msgid "" +"If the specified value is ``True``, the configuration is processed as " +"described in the section on :ref:`logging-config-dict-incremental`." +msgstr "" +"Якщо вказане значення ``True``, конфігурація обробляється, як описано в " +"розділі про :ref:`logging-config-dict-incremental`." + +msgid "" +"*disable_existing_loggers* - whether any existing non-root loggers are to be " +"disabled. This setting mirrors the parameter of the same name in :func:" +"`fileConfig`. If absent, this parameter defaults to ``True``. This value is " +"ignored if *incremental* is ``True``." +msgstr "" +"*disable_existing_loggers* - чи потрібно вимкнути існуючі некореневі " +"реєстратори. Цей параметр відображає однойменний параметр у :func:" +"`fileConfig`. Якщо цей параметр відсутній, цей параметр за замовчуванням має " +"значення ``True``. Це значення ігнорується, якщо *incremental* має значення " +"``True``." + +msgid "Incremental Configuration" +msgstr "Інкрементна конфігурація" + +msgid "" +"It is difficult to provide complete flexibility for incremental " +"configuration. For example, because objects such as filters and formatters " +"are anonymous, once a configuration is set up, it is not possible to refer " +"to such anonymous objects when augmenting a configuration." +msgstr "" +"Важко забезпечити повну гнучкість для поступової конфігурації. Наприклад, " +"оскільки такі об’єкти, як фільтри та засоби форматування, є анонімними, " +"після налаштування конфігурації неможливо посилатися на такі анонімні " +"об’єкти під час розширення конфігурації." + +msgid "" +"Furthermore, there is not a compelling case for arbitrarily altering the " +"object graph of loggers, handlers, filters, formatters at run-time, once a " +"configuration is set up; the verbosity of loggers and handlers can be " +"controlled just by setting levels (and, in the case of loggers, propagation " +"flags). Changing the object graph arbitrarily in a safe way is problematic " +"in a multi-threaded environment; while not impossible, the benefits are not " +"worth the complexity it adds to the implementation." +msgstr "" +"Крім того, немає переконливих аргументів для довільної зміни графа об’єктів " +"реєстраторів, обробників, фільтрів, форматувальників під час виконання, коли " +"конфігурацію встановлено; докладністю реєстраторів і обробників можна " +"керувати, просто встановлюючи рівні (і, у випадку реєстраторів, позначки " +"поширення). Довільна зміна графа об’єктів у безпечний спосіб проблематична в " +"багатопоточному середовищі; Хоча це не неможливо, переваги не варті " +"складності, яку це додає до впровадження." + +msgid "" +"Thus, when the ``incremental`` key of a configuration dict is present and is " +"``True``, the system will completely ignore any ``formatters`` and " +"``filters`` entries, and process only the ``level`` settings in the " +"``handlers`` entries, and the ``level`` and ``propagate`` settings in the " +"``loggers`` and ``root`` entries." +msgstr "" +"Таким чином, коли ``incremental`` ключ конфігураційного dict присутній і " +"``True``, система повністю ігноруватиме будь-які ``formatters`` і " +"``filters`` записи, і оброблятиме лише параметри ``level`` в записах " +"``handlers``, а ``level`` і ``propagate`` параметри в ``loggers`` і ``root`` " +"записи." + +msgid "" +"Using a value in the configuration dict lets configurations to be sent over " +"the wire as pickled dicts to a socket listener. Thus, the logging verbosity " +"of a long-running application can be altered over time with no need to stop " +"and restart the application." +msgstr "" +"Використання значення в конфігураційному диктофоні дозволяє надсилати " +"конфігурації по дроту як маріновані диктофони до слухача сокета. Таким " +"чином, докладність журналу тривалої програми може бути змінена з часом без " +"необхідності зупиняти та перезапускати програму." + +msgid "Object connections" +msgstr "Об'єктні зв'язки" + +msgid "" +"The schema describes a set of logging objects - loggers, handlers, " +"formatters, filters - which are connected to each other in an object graph. " +"Thus, the schema needs to represent connections between the objects. For " +"example, say that, once configured, a particular logger has attached to it a " +"particular handler. For the purposes of this discussion, we can say that " +"the logger represents the source, and the handler the destination, of a " +"connection between the two. Of course in the configured objects this is " +"represented by the logger holding a reference to the handler. In the " +"configuration dict, this is done by giving each destination object an id " +"which identifies it unambiguously, and then using the id in the source " +"object's configuration to indicate that a connection exists between the " +"source and the destination object with that id." +msgstr "" +"Схема описує набір об’єктів журналювання – реєстратори, обробники, засоби " +"форматування, фільтри – які з’єднані один з одним у графі об’єктів. Таким " +"чином, схема повинна представляти зв'язки між об'єктами. Наприклад, скажіть, " +"що після налаштування певний реєстратор приєднав до нього певний обробник. " +"Для цілей цього обговорення ми можемо сказати, що реєстратор представляє " +"джерело, а обробник — призначення з’єднання між ними. Звичайно, у " +"налаштованих об’єктах це представлено реєстратором, що містить посилання на " +"обробник. У dict конфігурації це робиться шляхом надання кожному об’єкту " +"призначення ідентифікатора, який однозначно ідентифікує його, а потім " +"використання ідентифікатора в конфігурації об’єкта джерела, щоб вказати, що " +"між джерелом і об’єктом призначення існує зв’язок із цим ідентифікатором." + +msgid "So, for example, consider the following YAML snippet:" +msgstr "Отже, наприклад, розглянемо наступний фрагмент коду YAML:" + +msgid "" +"(Note: YAML used here because it's a little more readable than the " +"equivalent Python source form for the dictionary.)" +msgstr "" +"(Примітка: тут використовується YAML, оскільки він трохи легший для читання, " +"ніж еквівалентна вихідна форма Python для словника.)" + +msgid "" +"The ids for loggers are the logger names which would be used " +"programmatically to obtain a reference to those loggers, e.g. ``foo.bar." +"baz``. The ids for Formatters and Filters can be any string value (such as " +"``brief``, ``precise`` above) and they are transient, in that they are only " +"meaningful for processing the configuration dictionary and used to determine " +"connections between objects, and are not persisted anywhere when the " +"configuration call is complete." +msgstr "" +"Ідентифікатори для реєстраторів — це імена реєстраторів, які " +"використовуватимуться програмно для отримання посилання на ці реєстратори, " +"наприклад. ``foo.bar.baz``. Ідентифікатори для Formatters і Filters можуть " +"бути будь-якими рядковими значеннями (наприклад, ``brief``, ``precise`` " +"вище), і вони тимчасові, оскільки вони мають значення лише для обробки " +"словника конфігурації та використовуються для визначення зв’язків між " +"об’єктами , і ніде не зберігаються після завершення виклику налаштування." + +msgid "" +"The above snippet indicates that logger named ``foo.bar.baz`` should have " +"two handlers attached to it, which are described by the handler ids ``h1`` " +"and ``h2``. The formatter for ``h1`` is that described by id ``brief``, and " +"the formatter for ``h2`` is that described by id ``precise``." +msgstr "" +"Наведений вище фрагмент вказує, що реєстратор під назвою ``foo.bar.baz`` " +"повинен мати два прикріплених до нього обробника, які описуються " +"ідентифікаторами обробника ``h1`` і ``h2``. Форматування для ``h1`` описано " +"ідентифікатором ``brief``, а засіб форматування для ``h2`` описано " +"ідентифікатором ``precise``." + +msgid "User-defined objects" +msgstr "Визначені користувачем об'єкти" + +msgid "" +"The schema supports user-defined objects for handlers, filters and " +"formatters. (Loggers do not need to have different types for different " +"instances, so there is no support in this configuration schema for user-" +"defined logger classes.)" +msgstr "" +"Схема підтримує визначені користувачем об’єкти для обробників, фільтрів і " +"форматувальників. (Логерам не обов’язково мати різні типи для різних " +"екземплярів, тому в цій схемі конфігурації немає підтримки для визначених " +"користувачем класів журналів.)" + +msgid "" +"Objects to be configured are described by dictionaries which detail their " +"configuration. In some places, the logging system will be able to infer " +"from the context how an object is to be instantiated, but when a user-" +"defined object is to be instantiated, the system will not know how to do " +"this. In order to provide complete flexibility for user-defined object " +"instantiation, the user needs to provide a 'factory' - a callable which is " +"called with a configuration dictionary and which returns the instantiated " +"object. This is signalled by an absolute import path to the factory being " +"made available under the special key ``'()'``. Here's a concrete example:" +msgstr "" +"Об'єкти, які потрібно конфігурувати, описуються словниками, які детально " +"описують їх конфігурацію. У деяких місцях система журналювання зможе зробити " +"висновок із контексту, як об’єкт має бути створений, але коли потрібно " +"створити екземпляр об’єкта, визначеного користувачем, система не знатиме, як " +"це зробити. Для того, щоб забезпечити повну гнучкість створення екземплярів " +"визначеного користувачем об’єкта, користувачеві необхідно надати \"фабрику\" " +"— виклик, який викликається зі словником конфігурації та повертає створений " +"об’єкт. Про це свідчить абсолютний шлях імпорту до фабрики, доступний за " +"допомогою спеціального ключа ``'()'``. Ось конкретний приклад:" + +msgid "" +"The above YAML snippet defines three formatters. The first, with id " +"``brief``, is a standard :class:`logging.Formatter` instance with the " +"specified format string. The second, with id ``default``, has a longer " +"format and also defines the time format explicitly, and will result in a :" +"class:`logging.Formatter` initialized with those two format strings. Shown " +"in Python source form, the ``brief`` and ``default`` formatters have " +"configuration sub-dictionaries::" +msgstr "" +"Наведений вище фрагмент YAML визначає три засоби форматування. Перший, з " +"ідентифікатором ``brief``, є стандартним екземпляром :class:`logging." +"Formatter` із вказаним рядком формату. Другий, з ідентифікатором " +"``default``, має довший формат і також явно визначає формат часу, і призведе " +"до :class:`logging.Formatter`, ініціалізованого цими двома рядками формату. " +"Показано у вихідній формі Python, засоби форматування ``brief`` і " +"``default`` мають підсловники конфігурації::" + +msgid "and::" +msgstr "і::" + +msgid "" +"respectively, and as these dictionaries do not contain the special key " +"``'()'``, the instantiation is inferred from the context: as a result, " +"standard :class:`logging.Formatter` instances are created. The " +"configuration sub-dictionary for the third formatter, with id ``custom``, " +"is::" +msgstr "" +"відповідно, і оскільки ці словники не містять спеціального ключа ``'()'``, " +"примірник виводиться з контексту: у результаті створюються стандартні " +"екземпляри :class:`logging.Formatter`. Підсловник конфігурації для третього " +"засобу форматування з ідентифікатором ``custom``:" + +msgid "" +"and this contains the special key ``'()'``, which means that user-defined " +"instantiation is wanted. In this case, the specified factory callable will " +"be used. If it is an actual callable it will be used directly - otherwise, " +"if you specify a string (as in the example) the actual callable will be " +"located using normal import mechanisms. The callable will be called with the " +"**remaining** items in the configuration sub-dictionary as keyword " +"arguments. In the above example, the formatter with id ``custom`` will be " +"assumed to be returned by the call::" +msgstr "" +"і це містить спеціальний ключ ``'()'``, що означає, що потрібне створення, " +"визначене користувачем. У цьому випадку буде використано вказаний фабричний " +"виклик. Якщо це фактичний виклик, він використовуватиметься безпосередньо - " +"інакше, якщо ви вкажете рядок (як у прикладі), фактичний виклик буде " +"знайдено за допомогою звичайних механізмів імпорту. Об’єкт виклику буде " +"викликано з **рештою** елементів у підсловнику конфігурації як ключових " +"аргументів. У наведеному вище прикладі буде припущено, що програма " +"форматування з ідентифікатором ``custom`` повертається викликом::" + +msgid "" +"The key ``'()'`` has been used as the special key because it is not a valid " +"keyword parameter name, and so will not clash with the names of the keyword " +"arguments used in the call. The ``'()'`` also serves as a mnemonic that the " +"corresponding value is a callable." +msgstr "" +"Ключ ``'()'`` використовувався як спеціальний ключ, оскільки він не є " +"дійсним ім'ям параметра ключового слова, і тому не буде конфліктувати з " +"назвами аргументів ключового слова, які використовуються у виклику. ``'()'`` " +"також служить мнемонічною ознакою того, що відповідне значення є викликом." + +msgid "" +"The ``filters`` member of ``handlers`` and ``loggers`` can take filter " +"instances in addition to ids." +msgstr "" + +msgid "" +"You can also specify a special key ``'.'`` whose value is a dictionary is a " +"mapping of attribute names to values. If found, the specified attributes " +"will be set on the user-defined object before it is returned. Thus, with the " +"following configuration::" +msgstr "" + +msgid "" +"the returned formatter will have attribute ``foo`` set to ``'bar'`` and " +"attribute ``baz`` set to ``'bozz'``." +msgstr "" + +msgid "Access to external objects" +msgstr "Доступ до зовнішніх об'єктів" + +msgid "" +"There are times where a configuration needs to refer to objects external to " +"the configuration, for example ``sys.stderr``. If the configuration dict is " +"constructed using Python code, this is straightforward, but a problem arises " +"when the configuration is provided via a text file (e.g. JSON, YAML). In a " +"text file, there is no standard way to distinguish ``sys.stderr`` from the " +"literal string ``'sys.stderr'``. To facilitate this distinction, the " +"configuration system looks for certain special prefixes in string values and " +"treat them specially. For example, if the literal string ``'ext://sys." +"stderr'`` is provided as a value in the configuration, then the ``ext://`` " +"will be stripped off and the remainder of the value processed using normal " +"import mechanisms." +msgstr "" +"Бувають випадки, коли конфігурація потребує посилання на об’єкти, зовнішні " +"щодо конфігурації, наприклад ``sys.stderr``. Якщо dict конфігурації створено " +"за допомогою коду Python, це просто, але проблема виникає, коли конфігурація " +"надається через текстовий файл (наприклад, JSON, YAML). У текстовому файлі " +"немає стандартного способу відрізнити ``sys.stderr`` від літерального рядка " +"``'sys.stderr'``. Щоб полегшити це розрізнення, система конфігурації шукає " +"певні спеціальні префікси в рядкових значеннях і обробляє їх спеціальним " +"чином. Наприклад, якщо літеральний рядок ``'ext://sys.stderr'`` надається як " +"значення в конфігурації, тоді ``ext://`` буде видалено, а залишок значення " +"оброблено за допомогою звичайних механізмів імпорту." + +msgid "" +"The handling of such prefixes is done in a way analogous to protocol " +"handling: there is a generic mechanism to look for prefixes which match the " +"regular expression ``^(?P[a-z]+)://(?P.*)$`` whereby, if the " +"``prefix`` is recognised, the ``suffix`` is processed in a prefix-dependent " +"manner and the result of the processing replaces the string value. If the " +"prefix is not recognised, then the string value will be left as-is." +msgstr "" +"Обробка таких префіксів виконується аналогічно до обробки протоколів: існує " +"загальний механізм пошуку префіксів, які відповідають регулярному виразу " +"``^(?P [a-z]+)://(?P .* )$``, таким чином, якщо " +"``префікс`` розпізнається, ``суфікс`` обробляється залежно від префікса, і " +"результат обробки замінює значення рядка. Якщо префікс не розпізнається, " +"значення рядка залишиться без змін." + +msgid "Access to internal objects" +msgstr "Доступ до внутрішніх об'єктів" + +msgid "" +"As well as external objects, there is sometimes also a need to refer to " +"objects in the configuration. This will be done implicitly by the " +"configuration system for things that it knows about. For example, the " +"string value ``'DEBUG'`` for a ``level`` in a logger or handler will " +"automatically be converted to the value ``logging.DEBUG``, and the " +"``handlers``, ``filters`` and ``formatter`` entries will take an object id " +"and resolve to the appropriate destination object." +msgstr "" +"Окрім зовнішніх об’єктів, інколи виникає потреба звертатися до об’єктів у " +"конфігурації. Це буде зроблено неявно системою конфігурації для речей, про " +"які вона знає. Наприклад, рядкове значення ``'DEBUG`` для ``level`` у " +"реєстраторі або обробнику буде автоматично перетворено на значення ``logging." +"DEBUG``, а ``обробники``, ``Записи filters`` і ``formatter`` прийматимуть " +"ідентифікатор об’єкта та вирішуватимуть відповідний об’єкт призначення." + +msgid "" +"However, a more generic mechanism is needed for user-defined objects which " +"are not known to the :mod:`logging` module. For example, consider :class:" +"`logging.handlers.MemoryHandler`, which takes a ``target`` argument which is " +"another handler to delegate to. Since the system already knows about this " +"class, then in the configuration, the given ``target`` just needs to be the " +"object id of the relevant target handler, and the system will resolve to the " +"handler from the id. If, however, a user defines a ``my.package.MyHandler`` " +"which has an ``alternate`` handler, the configuration system would not know " +"that the ``alternate`` referred to a handler. To cater for this, a generic " +"resolution system allows the user to specify:" +msgstr "" +"Однак для визначених користувачем об’єктів, які не відомі модулю :mod:" +"`logging`, потрібен більш загальний механізм. Наприклад, розглянемо :class:" +"`logging.handlers.MemoryHandler`, який приймає аргумент ``target``, який є " +"іншим обробником для делегування. Оскільки системі вже відомо про цей клас, " +"то в конфігурації даний ``target`` має бути просто ідентифікатором об’єкта " +"відповідного цільового обробника, і система вирішить обробник з " +"ідентифікатора. Проте, якщо користувач визначає ``my.package.MyHandler``, " +"який має ``альтернативний`` обробник, система конфігурації не знатиме, що " +"``альтернативний`` посилається на обробник. Для цього загальна система " +"роздільної здатності дозволяє користувачеві вказати:" + +msgid "" +"The literal string ``'cfg://handlers.file'`` will be resolved in an " +"analogous way to strings with the ``ext://`` prefix, but looking in the " +"configuration itself rather than the import namespace. The mechanism allows " +"access by dot or by index, in a similar way to that provided by ``str." +"format``. Thus, given the following snippet:" +msgstr "" +"Літеральний рядок ``'cfg://handlers.file`` буде розв’язано аналогічно до " +"рядків із префіксом ``ext://``, але в самій конфігурації, а не в просторі " +"імен імпорту. Механізм дозволяє доступ за крапкою або за індексом, подібно " +"до того, що надається ``str.format``. Таким чином, враховуючи наступний " +"фрагмент:" + +msgid "" +"in the configuration, the string ``'cfg://handlers'`` would resolve to the " +"dict with key ``handlers``, the string ``'cfg://handlers.email`` would " +"resolve to the dict with key ``email`` in the ``handlers`` dict, and so on. " +"The string ``'cfg://handlers.email.toaddrs[1]`` would resolve to " +"``'dev_team@domain.tld'`` and the string ``'cfg://handlers.email." +"toaddrs[0]'`` would resolve to the value ``'support_team@domain.tld'``. The " +"``subject`` value could be accessed using either ``'cfg://handlers.email." +"subject'`` or, equivalently, ``'cfg://handlers.email[subject]'``. The " +"latter form only needs to be used if the key contains spaces or non-" +"alphanumeric characters. If an index value consists only of decimal digits, " +"access will be attempted using the corresponding integer value, falling back " +"to the string value if needed." +msgstr "" +"у конфігурації рядок ``'cfg://handlers'`` розв’язував би dict за допомогою " +"ключа ``handlers``, рядок ``'cfg://handlers.email`` розв’язував би dict за " +"допомогою ключ ``email`` в ``handlers`` dict, і так далі. Рядок ``'cfg://" +"handlers.email.toaddrs[1]`` перетворювався б на ``'dev_team@domain.tld``, а " +"рядок ``'cfg://handlers.email.toaddrs[0 ]''`` буде перетворюватися на " +"значення ``'support_team@domain.tld''``. Доступ до значення ``subject`` " +"можна отримати за допомогою ``'cfg://handlers.email.subject`` або, " +"еквівалентно, ``'cfg://handlers.email[subject]'``. Останню форму потрібно " +"використовувати, лише якщо ключ містить пробіли або не буквено-цифрові " +"символи. Якщо значення індексу складається лише з десяткових цифр, спроба " +"доступу буде здійснена за допомогою відповідного цілого значення, " +"повертаючись до рядкового значення, якщо потрібно." + +msgid "" +"Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to " +"``config_dict['handlers']['myhandler']['mykey']['123']``. If the string is " +"specified as ``cfg://handlers.myhandler.mykey[123]``, the system will " +"attempt to retrieve the value from ``config_dict['handlers']['myhandler']" +"['mykey'][123]``, and fall back to ``config_dict['handlers']['myhandler']" +"['mykey']['123']`` if that fails." +msgstr "" +"Якщо вказати рядок ``cfg://handlers.myhandler.mykey.123``, це буде виведено " +"в ``config_dict['handlers']['myhandler']['mykey']['123']``. Якщо рядок " +"указано як ``cfg://handlers.myhandler.mykey[123]``, система спробує отримати " +"значення з ``config_dict['handlers']['myhandler']['mykey'] [123]`` і " +"повернутися до ``config_dict['handlers']['myhandler']['mykey']['123']``, " +"якщо це не вдасться." + +msgid "Import resolution and custom importers" +msgstr "Роздільна здатність імпорту та спеціальні імпортери" + +msgid "" +"Import resolution, by default, uses the builtin :func:`__import__` function " +"to do its importing. You may want to replace this with your own importing " +"mechanism: if so, you can replace the :attr:`importer` attribute of the :" +"class:`DictConfigurator` or its superclass, the :class:`BaseConfigurator` " +"class. However, you need to be careful because of the way functions are " +"accessed from classes via descriptors. If you are using a Python callable to " +"do your imports, and you want to define it at class level rather than " +"instance level, you need to wrap it with :func:`staticmethod`. For example::" +msgstr "" +"Роздільна здатність імпорту за замовчуванням використовує вбудовану функцію :" +"func:`__import__` для здійснення імпорту. Ви можете замінити це власним " +"механізмом імпорту: якщо так, ви можете замінити атрибут :attr:`importer` :" +"class:`DictConfigurator` або його суперкласу, класу :class:" +"`BaseConfigurator`. Однак вам потрібно бути обережним через спосіб доступу " +"до функцій із класів через дескриптори. Якщо ви використовуєте виклик Python " +"для виконання імпорту, і ви хочете визначити його на рівні класу, а не на " +"рівні екземпляра, вам потрібно обернути його за допомогою :func:" +"`staticmethod`. Наприклад::" + +msgid "" +"You don't need to wrap with :func:`staticmethod` if you're setting the " +"import callable on a configurator *instance*." +msgstr "" +"Вам не потрібно використовувати :func:`staticmethod`, якщо ви встановлюєте " +"виклик імпорту в *примірнику* конфігуратора." + +msgid "Configuration file format" +msgstr "Формат файлу конфігурації" + +msgid "" +"The configuration file format understood by :func:`fileConfig` is based on :" +"mod:`configparser` functionality. The file must contain sections called " +"``[loggers]``, ``[handlers]`` and ``[formatters]`` which identify by name " +"the entities of each type which are defined in the file. For each such " +"entity, there is a separate section which identifies how that entity is " +"configured. Thus, for a logger named ``log01`` in the ``[loggers]`` " +"section, the relevant configuration details are held in a section " +"``[logger_log01]``. Similarly, a handler called ``hand01`` in the " +"``[handlers]`` section will have its configuration held in a section called " +"``[handler_hand01]``, while a formatter called ``form01`` in the " +"``[formatters]`` section will have its configuration specified in a section " +"called ``[formatter_form01]``. The root logger configuration must be " +"specified in a section called ``[logger_root]``." +msgstr "" +"Формат файлу конфігурації, який розуміє :func:`fileConfig`, базується на " +"функціях :mod:`configparser`. Файл має містити розділи під назвою " +"``[реєстратори]``, ``[обробники]`` і ``[formatters]``, які ідентифікують за " +"назвою сутності кожного типу, визначені у файлі. Для кожної такої сутності " +"існує окремий розділ, який визначає, як цю сутність налаштовано. Таким " +"чином, для реєстратора з назвою ``log01`` у розділі ``[loggers]`` відповідні " +"деталі конфігурації зберігаються в розділі ``[logger_log01]``. Подібним " +"чином конфігурація обробника під назвою ``hand01`` у розділі ``[handlers]`` " +"зберігатиметься в розділі ``[handler_hand01]``, а програма форматування під " +"назвою ``form01`` у ``Конфігурація розділу [formatters]`` буде вказана в " +"розділі під назвою ``[formatter_form01]``. Конфігурацію кореневого " +"реєстратора необхідно вказати в розділі під назвою ``[logger_root]``." + +msgid "" +"The :func:`fileConfig` API is older than the :func:`dictConfig` API and does " +"not provide functionality to cover certain aspects of logging. For example, " +"you cannot configure :class:`~logging.Filter` objects, which provide for " +"filtering of messages beyond simple integer levels, using :func:" +"`fileConfig`. If you need to have instances of :class:`~logging.Filter` in " +"your logging configuration, you will need to use :func:`dictConfig`. Note " +"that future enhancements to configuration functionality will be added to :" +"func:`dictConfig`, so it's worth considering transitioning to this newer API " +"when it's convenient to do so." +msgstr "" +"API :func:`fileConfig` старіший за API :func:`dictConfig` і не надає " +"функціональних можливостей для охоплення певних аспектів журналювання. " +"Наприклад, ви не можете налаштувати об’єкти :class:`~logging.Filter`, які " +"забезпечують фільтрацію повідомлень за межами простих цілих рівнів, за " +"допомогою :func:`fileConfig`. Якщо вам потрібно мати екземпляри :class:" +"`~logging.Filter` у конфігурації журналювання, вам потрібно буде " +"використовувати :func:`dictConfig`. Зауважте, що майбутні вдосконалення " +"функціональності конфігурації буде додано до :func:`dictConfig`, тому варто " +"подумати про перехід на цей новий API, коли це буде зручно." + +msgid "Examples of these sections in the file are given below." +msgstr "Приклади цих розділів у файлі наведені нижче." + +msgid "" +"The root logger must specify a level and a list of handlers. An example of a " +"root logger section is given below." +msgstr "" +"Кореневий реєстратор повинен вказати рівень і список обробників. Нижче " +"наведено приклад розділу кореневого реєстратора." + +msgid "" +"The ``level`` entry can be one of ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` " +"or ``NOTSET``. For the root logger only, ``NOTSET`` means that all messages " +"will be logged. Level values are :ref:`evaluated ` in the context " +"of the ``logging`` package's namespace." +msgstr "" + +msgid "" +"The ``handlers`` entry is a comma-separated list of handler names, which " +"must appear in the ``[handlers]`` section. These names must appear in the " +"``[handlers]`` section and have corresponding sections in the configuration " +"file." +msgstr "" +"Запис ``обробники`` — це список імен обробників, розділених комами, які " +"повинні з’являтися в розділі ``[обробники]``. Ці назви мають відображатися в " +"розділі ``[обробники]`` і мати відповідні розділи у файлі конфігурації." + +msgid "" +"For loggers other than the root logger, some additional information is " +"required. This is illustrated by the following example." +msgstr "" +"Для реєстраторів, відмінних від кореневого реєстратора, потрібна додаткова " +"інформація. Це ілюструється наступним прикладом." + +msgid "" +"The ``level`` and ``handlers`` entries are interpreted as for the root " +"logger, except that if a non-root logger's level is specified as ``NOTSET``, " +"the system consults loggers higher up the hierarchy to determine the " +"effective level of the logger. The ``propagate`` entry is set to 1 to " +"indicate that messages must propagate to handlers higher up the logger " +"hierarchy from this logger, or 0 to indicate that messages are **not** " +"propagated to handlers up the hierarchy. The ``qualname`` entry is the " +"hierarchical channel name of the logger, that is to say the name used by the " +"application to get the logger." +msgstr "" +"Записи ``level`` і ``handlers`` інтерпретуються як для кореневого " +"реєстратора, за винятком того, що якщо рівень некореневого реєстратора " +"вказано як ``NOTSET``, система консультується з реєстраторами вищого рівня в " +"ієрархії, щоб визначити ефективний рівень логера. Запис ``пропагувати`` має " +"значення 1, щоб вказати, що повідомлення повинні поширюватися до обробників, " +"які знаходяться вище в ієрархії реєстратора, або 0, щоб вказати, що " +"повідомлення **не** поширюються до обробників, які знаходяться вище в " +"ієрархії. Запис ``qualname`` — це ієрархічна назва каналу реєстратора, тобто " +"ім’я, яке використовується програмою для отримання реєстратора." + +msgid "" +"Sections which specify handler configuration are exemplified by the " +"following." +msgstr "Розділи, які визначають конфігурацію обробника, представлені нижче." + +msgid "" +"The ``class`` entry indicates the handler's class (as determined by :func:" +"`eval` in the ``logging`` package's namespace). The ``level`` is interpreted " +"as for loggers, and ``NOTSET`` is taken to mean 'log everything'." +msgstr "" +"Запис ``class`` вказує на клас обробника (як визначено :func:`eval` у " +"просторі імен пакета ``logging``). ``level`` інтерпретується як для " +"реєстраторів, а ``NOTSET`` означає 'зареєструвати все'." + +msgid "" +"The ``formatter`` entry indicates the key name of the formatter for this " +"handler. If blank, a default formatter (``logging._defaultFormatter``) is " +"used. If a name is specified, it must appear in the ``[formatters]`` section " +"and have a corresponding section in the configuration file." +msgstr "" +"Запис ``formatter`` вказує назву ключа форматера для цього обробника. Якщо " +"пусте, використовується форматування за замовчуванням (``logging." +"_defaultFormatter``). Якщо вказано ім’я, воно повинно відображатися в " +"розділі ``[formatters]`` і мати відповідний розділ у файлі конфігурації." + +msgid "" +"The ``args`` entry, when :ref:`evaluated ` in the context of the " +"``logging`` package's namespace, is the list of arguments to the constructor " +"for the handler class. Refer to the constructors for the relevant handlers, " +"or to the examples below, to see how typical entries are constructed. If not " +"provided, it defaults to ``()``." +msgstr "" + +msgid "" +"The optional ``kwargs`` entry, when :ref:`evaluated ` in the " +"context of the ``logging`` package's namespace, is the keyword argument dict " +"to the constructor for the handler class. If not provided, it defaults to " +"``{}``." +msgstr "" + +msgid "" +"Sections which specify formatter configuration are typified by the following." +msgstr "" +"Розділи, які визначають конфігурацію форматера, представлені наступним чином." + +msgid "" +"The arguments for the formatter configuration are the same as the keys in " +"the dictionary schema :ref:`formatters section `." +msgstr "" +"Аргументи конфігурації форматера такі ж, як і ключі в схемі словника :ref:" +"`розділ formatters `." + +msgid "" +"Due to the use of :func:`eval` as described above, there are potential " +"security risks which result from using the :func:`listen` to send and " +"receive configurations via sockets. The risks are limited to where multiple " +"users with no mutual trust run code on the same machine; see the :func:" +"`listen` documentation for more information." +msgstr "" +"Через використання :func:`eval`, як описано вище, існують потенційні ризики " +"для безпеки, які є результатом використання :func:`listen` для надсилання та " +"отримання конфігурацій через сокети. Ризики обмежені тим, що кілька " +"користувачів, які не мають взаємної довіри, запускають код на одній машині; " +"дивіться документацію :func:`listen` для отримання додаткової інформації." + +msgid "Module :mod:`logging`" +msgstr "Модуль :mod:`logging`" + +msgid "API reference for the logging module." +msgstr "Довідник API для модуля журналювання." + +msgid "Module :mod:`logging.handlers`" +msgstr "Модуль :mod:`logging.handlers`" + +msgid "Useful handlers included with the logging module." +msgstr "Корисні обробники, включені в модуль журналювання." diff --git a/library/logging_handlers.po b/library/logging_handlers.po new file mode 100644 index 000000000..4a35c06ba --- /dev/null +++ b/library/logging_handlers.po @@ -0,0 +1,1843 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`logging.handlers` --- Logging handlers" +msgstr ":mod:`logging.handlers` --- Обробники журналювання" + +msgid "**Source code:** :source:`Lib/logging/handlers.py`" +msgstr "**Вихідний код:** :source:`Lib/logging/handlers.py`" + +msgid "" +"This page contains only reference information. For tutorials, please see" +msgstr "Ця сторінка містить лише довідкову інформацію. Навчальні посібники див" + +msgid ":ref:`Basic Tutorial `" +msgstr ":ref:`Основний посібник `" + +msgid ":ref:`Advanced Tutorial `" +msgstr ":ref:`Розширений посібник `" + +msgid ":ref:`Logging Cookbook `" +msgstr ":ref:`Кулінарна книга журналювання `" + +msgid "" +"The following useful handlers are provided in the package. Note that three " +"of the handlers (:class:`StreamHandler`, :class:`FileHandler` and :class:" +"`NullHandler`) are actually defined in the :mod:`logging` module itself, but " +"have been documented here along with the other handlers." +msgstr "" +"Наступні корисні обробники надаються в пакеті. Зауважте, що три обробники (:" +"class:`StreamHandler`, :class:`FileHandler` і :class:`NullHandler`) " +"насправді визначені в самому модулі :mod:`logging`, але були задокументовані " +"тут разом із інші обробники." + +msgid "StreamHandler" +msgstr "StreamHandler" + +msgid "" +"The :class:`StreamHandler` class, located in the core :mod:`logging` " +"package, sends logging output to streams such as *sys.stdout*, *sys.stderr* " +"or any file-like object (or, more precisely, any object which supports :meth:" +"`write` and :meth:`flush` methods)." +msgstr "" +"Клас :class:`StreamHandler`, розташований у базовому пакеті :mod:`logging`, " +"надсилає вихідні дані журналу до таких потоків, як *sys.stdout*, *sys." +"stderr* або будь-якого файлоподібного об’єкта (або, точніше, , будь-який " +"об’єкт, який підтримує методи :meth:`write` і :meth:`flush`)." + +msgid "" +"Returns a new instance of the :class:`StreamHandler` class. If *stream* is " +"specified, the instance will use it for logging output; otherwise, *sys." +"stderr* will be used." +msgstr "" +"Повертає новий екземпляр класу :class:`StreamHandler`. Якщо вказано *потік*, " +"примірник використовуватиме його для журналювання виводу; інакше буде " +"використано *sys.stderr*." + +msgid "" +"If a formatter is specified, it is used to format the record. The record is " +"then written to the stream followed by :attr:`terminator`. If exception " +"information is present, it is formatted using :func:`traceback." +"print_exception` and appended to the stream." +msgstr "" +"Якщо вказано засіб форматування, він використовується для форматування " +"запису. Потім запис записується в потік, а потім :attr:`terminator`. Якщо " +"присутня інформація про винятки, вона форматується за допомогою :func:" +"`traceback.print_exception` і додається до потоку." + +msgid "" +"Flushes the stream by calling its :meth:`flush` method. Note that the :meth:" +"`close` method is inherited from :class:`~logging.Handler` and so does no " +"output, so an explicit :meth:`flush` call may be needed at times." +msgstr "" +"Очищає потік, викликаючи його метод :meth:`flush`. Зауважте, що метод :meth:" +"`close` успадковано від :class:`~logging.Handler` і тому не виводить, тому " +"іноді може знадобитися явний виклик :meth:`flush`." + +msgid "" +"Sets the instance's stream to the specified value, if it is different. The " +"old stream is flushed before the new stream is set." +msgstr "" +"Встановлює для потоку екземпляра вказане значення, якщо воно відрізняється. " +"Старий потік очищається перед встановленням нового." + +msgid "Parameters" +msgstr "Параметри" + +msgid "The stream that the handler should use." +msgstr "Потік, який повинен використовувати обробник." + +msgid "Returns" +msgstr "Повернення" + +msgid "the old stream, if the stream was changed, or *None* if it wasn't." +msgstr "старий потік, якщо потік було змінено, або *None*, якщо це не так." + +msgid "" +"String used as the terminator when writing a formatted record to a stream. " +"Default value is ``'\\n'``." +msgstr "" +"Рядок, який використовується як термінатор під час запису форматованого " +"запису в потік. Значення за замовчуванням - ``'\\n'``." + +msgid "" +"If you don't want a newline termination, you can set the handler instance's " +"``terminator`` attribute to the empty string." +msgstr "" +"Якщо ви не бажаєте закінчення нового рядка, ви можете встановити атрибут " +"``термінатор`` екземпляра обробника як порожній рядок." + +msgid "In earlier versions, the terminator was hardcoded as ``'\\n'``." +msgstr "У попередніх версіях термінатор був жорстко закодований як ``'\\n'``." + +msgid "FileHandler" +msgstr "FileHandler" + +msgid "" +"The :class:`FileHandler` class, located in the core :mod:`logging` package, " +"sends logging output to a disk file. It inherits the output functionality " +"from :class:`StreamHandler`." +msgstr "" +"Клас :class:`FileHandler`, розташований у базовому пакеті :mod:`logging`, " +"надсилає вихідні дані журналу у файл диска. Він успадковує функцію виведення " +"від :class:`StreamHandler`." + +msgid "" +"Returns a new instance of the :class:`FileHandler` class. The specified file " +"is opened and used as the stream for logging. If *mode* is not specified, :" +"const:`'a'` is used. If *encoding* is not ``None``, it is used to open the " +"file with that encoding. If *delay* is true, then file opening is deferred " +"until the first call to :meth:`emit`. By default, the file grows " +"indefinitely. If *errors* is specified, it's used to determine how encoding " +"errors are handled." +msgstr "" +"Повертає новий екземпляр класу :class:`FileHandler`. Зазначений файл " +"відкривається та використовується як потік для реєстрації. Якщо *mode* не " +"вказано, :const:`'a'` використовується. Якщо *кодування* не ``None``, воно " +"використовується для відкриття файлу з таким кодуванням. Якщо *delay* має " +"значення true, то відкриття файлу відкладено до першого виклику :meth:" +"`emit`. За замовчуванням файл збільшується необмежений час. Якщо вказано " +"*errors*, воно використовується для визначення способу обробки помилок " +"кодування." + +msgid "" +"As well as string values, :class:`~pathlib.Path` objects are also accepted " +"for the *filename* argument." +msgstr "" +"Окрім рядкових значень, об’єкти :class:`~pathlib.Path` також приймаються для " +"аргументу *filename*." + +msgid "The *errors* parameter was added." +msgstr "Додано параметр *errors*." + +msgid "Closes the file." +msgstr "Закриває файл." + +msgid "Outputs the record to the file." +msgstr "Виводить запис у файл." + +msgid "" +"Note that if the file was closed due to logging shutdown at exit and the " +"file mode is 'w', the record will not be emitted (see :issue:`42378`)." +msgstr "" +"Зауважте, що якщо файл було закрито через завершення журналювання під час " +"виходу та режим файлу \"w\", запис не буде видано (див. :issue:`42378`)." + +msgid "NullHandler" +msgstr "NullHandler" + +msgid "" +"The :class:`NullHandler` class, located in the core :mod:`logging` package, " +"does not do any formatting or output. It is essentially a 'no-op' handler " +"for use by library developers." +msgstr "" +"Клас :class:`NullHandler`, розташований у базовому пакеті :mod:`logging`, не " +"виконує жодного форматування чи виведення. По суті, це обробник \"no-op\" " +"для використання розробниками бібліотек." + +msgid "Returns a new instance of the :class:`NullHandler` class." +msgstr "Повертає новий екземпляр класу :class:`NullHandler`." + +msgid "This method does nothing." +msgstr "Цей метод нічого не робить." + +msgid "" +"This method returns ``None`` for the lock, since there is no underlying I/O " +"to which access needs to be serialized." +msgstr "" +"Цей метод повертає ``None`` для блокування, оскільки немає основного вводу-" +"виводу, доступ до якого потрібно серіалізувати." + +msgid "" +"See :ref:`library-config` for more information on how to use :class:" +"`NullHandler`." +msgstr "" +"Перегляньте :ref:`library-config`, щоб дізнатися більше про використання :" +"class:`NullHandler`." + +msgid "WatchedFileHandler" +msgstr "WatchedFileHandler" + +msgid "" +"The :class:`WatchedFileHandler` class, located in the :mod:`logging." +"handlers` module, is a :class:`FileHandler` which watches the file it is " +"logging to. If the file changes, it is closed and reopened using the file " +"name." +msgstr "" +"Клас :class:`WatchedFileHandler`, розташований у модулі :mod:`logging." +"handlers`, є :class:`FileHandler`, який стежить за файлом, до якого він " +"реєструється. Якщо файл змінюється, він закривається та знову відкривається " +"з використанням імені файлу." + +msgid "" +"A file change can happen because of usage of programs such as *newsyslog* " +"and *logrotate* which perform log file rotation. This handler, intended for " +"use under Unix/Linux, watches the file to see if it has changed since the " +"last emit. (A file is deemed to have changed if its device or inode have " +"changed.) If the file has changed, the old file stream is closed, and the " +"file opened to get a new stream." +msgstr "" +"Зміна файлу може статися через використання таких програм, як *newsyslog* і " +"*logrotate*, які виконують ротацію файлів журналу. Цей обробник, призначений " +"для використання в Unix/Linux, спостерігає за файлом, щоб побачити, чи він " +"змінився з часу останнього випуску. (Файл вважається зміненим, якщо його " +"пристрій або inode змінилися.) Якщо файл змінився, старий файловий потік " +"закривається, а файл відкривається, щоб отримати новий потік." + +msgid "" +"This handler is not appropriate for use under Windows, because under Windows " +"open log files cannot be moved or renamed - logging opens the files with " +"exclusive locks - and so there is no need for such a handler. Furthermore, " +"*ST_INO* is not supported under Windows; :func:`~os.stat` always returns " +"zero for this value." +msgstr "" +"Цей обробник не підходить для використання під Windows, оскільки під Windows " +"відкриті файли журналу не можна переміщувати або перейменовувати - " +"журналювання відкриває файли з ексклюзивними блокуваннями - і тому немає " +"потреби в такому обробнику. Крім того, *ST_INO* не підтримується в Windows; :" +"func:`~os.stat` завжди повертає нуль для цього значення." + +msgid "" +"Returns a new instance of the :class:`WatchedFileHandler` class. The " +"specified file is opened and used as the stream for logging. If *mode* is " +"not specified, :const:`'a'` is used. If *encoding* is not ``None``, it is " +"used to open the file with that encoding. If *delay* is true, then file " +"opening is deferred until the first call to :meth:`emit`. By default, the " +"file grows indefinitely. If *errors* is provided, it determines how encoding " +"errors are handled." +msgstr "" +"Повертає новий екземпляр класу :class:`WatchedFileHandler`. Зазначений файл " +"відкривається та використовується як потік для реєстрації. Якщо *mode* не " +"вказано, :const:`'a'` використовується. Якщо *кодування* не ``None``, воно " +"використовується для відкриття файлу з таким кодуванням. Якщо *delay* має " +"значення true, то відкриття файлу відкладено до першого виклику :meth:" +"`emit`. За замовчуванням файл збільшується необмежений час. Якщо вказано " +"*errors*, це визначає спосіб обробки помилок кодування." + +msgid "" +"Checks to see if the file has changed. If it has, the existing stream is " +"flushed and closed and the file opened again, typically as a precursor to " +"outputting the record to the file." +msgstr "" +"Перевіряє, чи не змінився файл. Якщо так, наявний потік очищається та " +"закривається, а файл відкривається знову, як правило, перед виведенням " +"запису у файл." + +msgid "" +"Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to " +"reopen the file if it has changed." +msgstr "" +"Виводить запис у файл, але спочатку викликає :meth:`reopenIfNeeded`, щоб " +"повторно відкрити файл, якщо він змінився." + +msgid "BaseRotatingHandler" +msgstr "BaseRotatingHandler" + +msgid "" +"The :class:`BaseRotatingHandler` class, located in the :mod:`logging." +"handlers` module, is the base class for the rotating file handlers, :class:" +"`RotatingFileHandler` and :class:`TimedRotatingFileHandler`. You should not " +"need to instantiate this class, but it has attributes and methods you may " +"need to override." +msgstr "" +"Клас :class:`BaseRotatingHandler`, розташований у модулі :mod:`logging." +"handlers`, є базовим класом для обертових обробників файлів, :class:" +"`RotatingFileHandler` і :class:`TimedRotatingFileHandler`. Вам не потрібно " +"створювати екземпляр цього класу, але він має атрибути та методи, які вам, " +"можливо, доведеться змінити." + +msgid "The parameters are as for :class:`FileHandler`. The attributes are:" +msgstr "Параметри такі ж, як і для :class:`FileHandler`. Атрибути:" + +msgid "" +"If this attribute is set to a callable, the :meth:`rotation_filename` method " +"delegates to this callable. The parameters passed to the callable are those " +"passed to :meth:`rotation_filename`." +msgstr "" +"Якщо для цього атрибута встановлено значення callable, метод :meth:" +"`rotation_filename` делегує цей виклик. Параметри, що передаються " +"викликаному, є тими, що передаються до :meth:`rotation_filename`." + +msgid "" +"The namer function is called quite a few times during rollover, so it should " +"be as simple and as fast as possible. It should also return the same output " +"every time for a given input, otherwise the rollover behaviour may not work " +"as expected." +msgstr "" +"Функція namer викликається досить багато разів під час переміщення, тому " +"вона має бути максимально простою та швидкою. Він також повинен повертати " +"той самий вихід кожного разу для даного введення, інакше поведінка " +"перекидання може працювати не так, як очікувалося." + +msgid "" +"It's also worth noting that care should be taken when using a namer to " +"preserve certain attributes in the filename which are used during rotation. " +"For example, :class:`RotatingFileHandler` expects to have a set of log files " +"whose names contain successive integers, so that rotation works as expected, " +"and :class:`TimedRotatingFileHandler` deletes old log files (based on the " +"``backupCount`` parameter passed to the handler's initializer) by " +"determining the oldest files to delete. For this to happen, the filenames " +"should be sortable using the date/time portion of the filename, and a namer " +"needs to respect this. (If a namer is wanted that doesn't respect this " +"scheme, it will need to be used in a subclass of :class:" +"`TimedRotatingFileHandler` which overrides the :meth:" +"`~TimedRotatingFileHandler.getFilesToDelete` method to fit in with the " +"custom naming scheme.)" +msgstr "" +"Варто також зазначити, що під час використання іменника слід бути обережним, " +"щоб зберегти певні атрибути в імені файлу, які використовуються під час " +"ротації. Наприклад, :class:`RotatingFileHandler` очікує мати набір файлів " +"журналу, імена яких містять послідовні цілі числа, щоб ротація працювала " +"належним чином, а :class:`TimedRotatingFileHandler` видаляє старі файли " +"журналу (на основі ``backupCount`` параметр, переданий ініціалізатору " +"обробника), визначаючи найстаріші файли для видалення. Щоб це сталося, назви " +"файлів мають бути сортованими за датою/часом у назві файлу, і іменувальник " +"має поважати це. (Якщо потрібен іменник, який не відповідає цій схемі, його " +"потрібно буде використовувати в підкласі :class:`TimedRotatingFileHandler`, " +"який замінює метод :meth:`~TimedRotatingFileHandler.getFilesToDelete`, щоб " +"відповідати спеціальному іменуванню схема.)" + +msgid "" +"If this attribute is set to a callable, the :meth:`rotate` method delegates " +"to this callable. The parameters passed to the callable are those passed " +"to :meth:`rotate`." +msgstr "" +"Якщо цей атрибут встановлено на callable, метод :meth:`rotate` делегує цей " +"callable. Параметри, що передаються викликаному, є тими, що передаються в :" +"meth:`rotate`." + +msgid "Modify the filename of a log file when rotating." +msgstr "Змінити назву файлу журналу під час ротації." + +msgid "This is provided so that a custom filename can be provided." +msgstr "Це надається для того, щоб можна було надати власне ім’я файлу." + +msgid "" +"The default implementation calls the 'namer' attribute of the handler, if " +"it's callable, passing the default name to it. If the attribute isn't " +"callable (the default is ``None``), the name is returned unchanged." +msgstr "" +"Реалізація за замовчуванням викликає атрибут 'namer' обробника, якщо його " +"можна викликати, передаючи йому ім'я за замовчуванням. Якщо атрибут не можна " +"викликати (за замовчуванням ``None``), ім'я повертається без змін." + +msgid "The default name for the log file." +msgstr "Назва за замовчуванням для файлу журналу." + +msgid "When rotating, rotate the current log." +msgstr "Під час обертання обертати поточний журнал." + +msgid "" +"The default implementation calls the 'rotator' attribute of the handler, if " +"it's callable, passing the source and dest arguments to it. If the attribute " +"isn't callable (the default is ``None``), the source is simply renamed to " +"the destination." +msgstr "" +"Реалізація за замовчуванням викликає атрибут 'rotator' обробника, якщо його " +"можна викликати, передаючи йому аргументи джерела та призначення. Якщо " +"атрибут не можна викликати (за замовчуванням ``None``), джерело просто " +"перейменовується на призначення." + +msgid "" +"The source filename. This is normally the base filename, e.g. 'test.log'." +msgstr "" +"Ім'я вихідного файлу. Зазвичай це базова назва файлу, напр. 'test.log'." + +msgid "" +"The destination filename. This is normally what the source is rotated to, e." +"g. 'test.log.1'." +msgstr "" +"Ім'я цільового файлу. Зазвичай це те, до чого обертається джерело, напр. " +"'test.log.1'." + +msgid "" +"The reason the attributes exist is to save you having to subclass - you can " +"use the same callables for instances of :class:`RotatingFileHandler` and :" +"class:`TimedRotatingFileHandler`. If either the namer or rotator callable " +"raises an exception, this will be handled in the same way as any other " +"exception during an :meth:`emit` call, i.e. via the :meth:`handleError` " +"method of the handler." +msgstr "" +"Причина, чому ці атрибути існують, полягає в тому, щоб позбавити вас " +"необхідності створювати підкласи – ви можете використовувати ті самі виклики " +"для екземплярів :class:`RotatingFileHandler` і :class:" +"`TimedRotatingFileHandler`. Якщо виклик іменника або ротатора викликає " +"виняток, це буде оброблено так само, як і будь-який інший виняток під час " +"виклику :meth:`emit`, тобто через метод :meth:`handleError` обробника." + +msgid "" +"If you need to make more significant changes to rotation processing, you can " +"override the methods." +msgstr "" +"Якщо вам потрібно внести більш значні зміни в обробку обертання, ви можете " +"змінити методи." + +msgid "For an example, see :ref:`cookbook-rotator-namer`." +msgstr "Для прикладу перегляньте :ref:`cookbook-rotator-namer`." + +msgid "RotatingFileHandler" +msgstr "RotatingFileHandler" + +msgid "" +"The :class:`RotatingFileHandler` class, located in the :mod:`logging." +"handlers` module, supports rotation of disk log files." +msgstr "" +"Клас :class:`RotatingFileHandler`, розташований у модулі :mod:`logging." +"handlers`, підтримує ротацію файлів журналу диска." + +msgid "" +"Returns a new instance of the :class:`RotatingFileHandler` class. The " +"specified file is opened and used as the stream for logging. If *mode* is " +"not specified, ``'a'`` is used. If *encoding* is not ``None``, it is used " +"to open the file with that encoding. If *delay* is true, then file opening " +"is deferred until the first call to :meth:`emit`. By default, the file " +"grows indefinitely. If *errors* is provided, it determines how encoding " +"errors are handled." +msgstr "" +"Повертає новий екземпляр класу :class:`RotatingFileHandler`. Зазначений файл " +"відкривається та використовується як потік для реєстрації. Якщо *mode* не " +"вказано, використовується ``'a'``. Якщо *кодування* не ``None``, воно " +"використовується для відкриття файлу з таким кодуванням. Якщо *delay* має " +"значення true, то відкриття файлу відкладено до першого виклику :meth:" +"`emit`. За замовчуванням файл збільшується необмежено довго. Якщо вказано " +"*errors*, це визначає спосіб обробки помилок кодування." + +msgid "" +"You can use the *maxBytes* and *backupCount* values to allow the file to :" +"dfn:`rollover` at a predetermined size. When the size is about to be " +"exceeded, the file is closed and a new file is silently opened for output. " +"Rollover occurs whenever the current log file is nearly *maxBytes* in " +"length; but if either of *maxBytes* or *backupCount* is zero, rollover never " +"occurs, so you generally want to set *backupCount* to at least 1, and have a " +"non-zero *maxBytes*. When *backupCount* is non-zero, the system will save " +"old log files by appending the extensions '.1', '.2' etc., to the filename. " +"For example, with a *backupCount* of 5 and a base file name of :file:`app." +"log`, you would get :file:`app.log`, :file:`app.log.1`, :file:`app.log.2`, " +"up to :file:`app.log.5`. The file being written to is always :file:`app." +"log`. When this file is filled, it is closed and renamed to :file:`app." +"log.1`, and if files :file:`app.log.1`, :file:`app.log.2`, etc. exist, then " +"they are renamed to :file:`app.log.2`, :file:`app.log.3` etc. respectively." +msgstr "" +"Ви можете використовувати значення *maxBytes* і *backupCount*, щоб дозволити " +"файлу :dfn:`rollover` попередньо визначеного розміру. Коли розмір майже буде " +"перевищено, файл закривається, а новий файл мовчки відкривається для " +"виведення. Перехід відбувається щоразу, коли довжина поточного файлу журналу " +"становить майже *maxBytes*; але якщо будь-яке з *maxBytes* або *backupCount* " +"дорівнює нулю, перехід ніколи не відбувається, тому зазвичай потрібно " +"встановити *backupCount* принаймні на 1 і мати ненульовий *maxBytes*. Якщо " +"*backupCount* не дорівнює нулю, система збереже старі файли журналу, додавши " +"до назви файлу розширення \".1\", \".2\" тощо. Наприклад, з *backupCount* 5 " +"і базовою назвою файлу :file:`app.log`, ви отримаєте :file:`app.log`, :file:" +"`app.log.1`, :file:`app.log.2`, до :file:`app.log.5`. Файл, у який " +"записується, завжди :file:`app.log`. Коли цей файл заповнюється, він " +"закривається та перейменовується на :file:`app.log.1`, а якщо файли :file:" +"`app.log.1`, :file:`app.log.2` тощо. існують, тоді вони перейменовуються " +"відповідно на :file:`app.log.2`, :file:`app.log.3` тощо." + +msgid "Does a rollover, as described above." +msgstr "Робить перекидання, як описано вище." + +msgid "" +"Outputs the record to the file, catering for rollover as described " +"previously." +msgstr "Виводить запис у файл, обслуговуючи ролловер, як описано раніше." + +msgid "TimedRotatingFileHandler" +msgstr "TimedRotatingFileHandler" + +msgid "" +"The :class:`TimedRotatingFileHandler` class, located in the :mod:`logging." +"handlers` module, supports rotation of disk log files at certain timed " +"intervals." +msgstr "" +"Клас :class:`TimedRotatingFileHandler`, розташований у модулі :mod:`logging." +"handlers`, підтримує ротацію файлів журналу диска через певні часові " +"інтервали." + +msgid "" +"Returns a new instance of the :class:`TimedRotatingFileHandler` class. The " +"specified file is opened and used as the stream for logging. On rotating it " +"also sets the filename suffix. Rotating happens based on the product of " +"*when* and *interval*." +msgstr "" +"Повертає новий екземпляр класу :class:`TimedRotatingFileHandler`. Зазначений " +"файл відкривається та використовується як потік для реєстрації. При " +"обертанні він також встановлює суфікс імені файлу. Обертання відбувається на " +"основі добутку *when* та *інтервалу*." + +msgid "" +"You can use the *when* to specify the type of *interval*. The list of " +"possible values is below. Note that they are not case sensitive." +msgstr "" +"Ви можете використовувати *when*, щоб вказати тип *інтервалу*. Нижче " +"наведено список можливих значень. Зауважте, що вони не чутливі до регістру." + +msgid "Value" +msgstr "Значення" + +msgid "Type of interval" +msgstr "Тип інтервалу" + +msgid "If/how *atTime* is used" +msgstr "Якщо/як використовується *atTime*" + +msgid "``'S'``" +msgstr "``'S'``" + +msgid "Seconds" +msgstr "секунд" + +msgid "Ignored" +msgstr "Ігнорується" + +msgid "``'M'``" +msgstr "``'M''``" + +msgid "Minutes" +msgstr "хвилин" + +msgid "``'H'``" +msgstr "``'H''``" + +msgid "Hours" +msgstr "години" + +msgid "``'D'``" +msgstr "``'D''``" + +msgid "Days" +msgstr "днів" + +msgid "``'W0'-'W6'``" +msgstr "``'W0'-'W6'``" + +msgid "Weekday (0=Monday)" +msgstr "День тижня (0=понеділок)" + +msgid "Used to compute initial rollover time" +msgstr "Використовується для обчислення початкового часу перекидання" + +msgid "``'midnight'``" +msgstr "``\"опівніч\"``" + +msgid "Roll over at midnight, if *atTime* not specified, else at time *atTime*" +msgstr "Перехід опівночі, якщо *atTime* не вказано, інакше в час *atTime*" + +msgid "" +"When using weekday-based rotation, specify 'W0' for Monday, 'W1' for " +"Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for " +"*interval* isn't used." +msgstr "" +"У разі використання ротації на основі днів тижня вкажіть \"W0\" для " +"понеділка, \"W1\" для вівторка і так далі до \"W6\" для неділі. У цьому " +"випадку значення, передане для *інтервалу*, не використовується." + +msgid "" +"The system will save old log files by appending extensions to the filename. " +"The extensions are date-and-time based, using the strftime format ``%Y-%m-%d_" +"%H-%M-%S`` or a leading portion thereof, depending on the rollover interval." +msgstr "" +"Система збереже старі файли журналу, додавши розширення до імені файлу. " +"Розширення базуються на даті й часі з використанням формату strftime ``%Y-%m-" +"%d_%H-%M-%S`` або його початкової частини, залежно від інтервалу переходу." + +msgid "" +"When computing the next rollover time for the first time (when the handler " +"is created), the last modification time of an existing log file, or else the " +"current time, is used to compute when the next rotation will occur." +msgstr "" +"Під час першого обчислення часу наступного переходу (під час створення " +"обробника) для обчислення часу наступного повороту використовується час " +"останньої зміни наявного файлу журналу або поточний час." + +msgid "" +"If the *utc* argument is true, times in UTC will be used; otherwise local " +"time is used." +msgstr "" +"Якщо аргумент *utc* має значення true, буде використано час у UTC; інакше " +"використовується місцевий час." + +msgid "" +"If *backupCount* is nonzero, at most *backupCount* files will be kept, and " +"if more would be created when rollover occurs, the oldest one is deleted. " +"The deletion logic uses the interval to determine which files to delete, so " +"changing the interval may leave old files lying around." +msgstr "" +"Якщо *backupCount* не дорівнює нулю, буде збережено щонайбільше " +"*backupCount* файлів, а якщо буде створено більше під час перенесення " +"файлів, видаляється найстаріший. Логіка видалення використовує інтервал, щоб " +"визначити, які файли видаляти, тому зміна інтервалу може залишити старі " +"файли без місця." + +msgid "" +"If *delay* is true, then file opening is deferred until the first call to :" +"meth:`emit`." +msgstr "" +"Якщо *delay* має значення true, то відкриття файлу відкладено до першого " +"виклику :meth:`emit`." + +msgid "" +"If *atTime* is not ``None``, it must be a ``datetime.time`` instance which " +"specifies the time of day when rollover occurs, for the cases where rollover " +"is set to happen \"at midnight\" or \"on a particular weekday\". Note that " +"in these cases, the *atTime* value is effectively used to compute the " +"*initial* rollover, and subsequent rollovers would be calculated via the " +"normal interval calculation." +msgstr "" +"Якщо *atTime* не є ``None``, це має бути екземпляр ``datetime.time``, який " +"визначає час доби, коли відбувається перекидання, для випадків, коли " +"перекидання встановлено на \"опівночі\" або \"на певний день тижня\". " +"Зауважте, що в цих випадках значення *atTime* ефективно використовується для " +"обчислення *початкового* ролловера, а наступні ролловери обчислюватимуться " +"за допомогою звичайного обчислення інтервалу." + +msgid "" +"If *errors* is specified, it's used to determine how encoding errors are " +"handled." +msgstr "" +"Якщо вказано *errors*, воно використовується для визначення способу обробки " +"помилок кодування." + +msgid "" +"Calculation of the initial rollover time is done when the handler is " +"initialised. Calculation of subsequent rollover times is done only when " +"rollover occurs, and rollover occurs only when emitting output. If this is " +"not kept in mind, it might lead to some confusion. For example, if an " +"interval of \"every minute\" is set, that does not mean you will always see " +"log files with times (in the filename) separated by a minute; if, during " +"application execution, logging output is generated more frequently than once " +"a minute, *then* you can expect to see log files with times separated by a " +"minute. If, on the other hand, logging messages are only output once every " +"five minutes (say), then there will be gaps in the file times corresponding " +"to the minutes where no output (and hence no rollover) occurred." +msgstr "" +"Розрахунок початкового часу перекидання виконується під час ініціалізації " +"обробника. Розрахунок наступного часу ролловеру виконується лише тоді, коли " +"відбувається ролловер, а ролловер відбувається лише під час випромінювання " +"вихідних даних. Якщо цього не враховувати, це може призвести до певної " +"плутанини. Наприклад, якщо встановлено інтервал \"кожної хвилини\", це не " +"означає, що ви завжди бачитимете файли журналів із часом (у назві файлу), " +"розділеними хвилиною; якщо під час виконання програми вихідні дані журналу " +"генеруються частіше, ніж один раз на хвилину, *тоді* ви можете очікувати, що " +"побачите файли журналу з часом, розділеним хвилиною. З іншого боку, якщо " +"повідомлення журналу виводяться лише один раз кожні п’ять хвилин (скажімо), " +"тоді будуть проміжки у часі файлу, що відповідає хвилинам, коли не було " +"виведено (і, отже, не відбулося перекидання)." + +msgid "*atTime* parameter was added." +msgstr "Додано параметр *atTime*." + +msgid "" +"Outputs the record to the file, catering for rollover as described above." +msgstr "Виводить запис у файл, обслуговуючи ролловер, як описано вище." + +msgid "" +"Returns a list of filenames which should be deleted as part of rollover. " +"These are the absolute paths of the oldest backup log files written by the " +"handler." +msgstr "" +"Повертає список імен файлів, які слід видалити під час переміщення. Це " +"абсолютні шляхи до найстаріших резервних файлів журналу, записаних " +"обробником." + +msgid "SocketHandler" +msgstr "SocketHandler" + +msgid "" +"The :class:`SocketHandler` class, located in the :mod:`logging.handlers` " +"module, sends logging output to a network socket. The base class uses a TCP " +"socket." +msgstr "" +"Клас :class:`SocketHandler`, розташований у модулі :mod:`logging.handlers`, " +"надсилає вихідні дані журналу в мережевий сокет. Базовий клас використовує " +"сокет TCP." + +msgid "" +"Returns a new instance of the :class:`SocketHandler` class intended to " +"communicate with a remote machine whose address is given by *host* and " +"*port*." +msgstr "" +"Повертає новий екземпляр класу :class:`SocketHandler`, призначений для " +"зв’язку з віддаленою машиною, адресу якої вказують *host* і *port*." + +msgid "" +"If ``port`` is specified as ``None``, a Unix domain socket is created using " +"the value in ``host`` - otherwise, a TCP socket is created." +msgstr "" +"Якщо ``port`` вказано як ``None``, сокет домену Unix створюється за " +"допомогою значення в ``host`` - інакше створюється сокет TCP." + +msgid "Closes the socket." +msgstr "Закриває розетку." + +msgid "" +"Pickles the record's attribute dictionary and writes it to the socket in " +"binary format. If there is an error with the socket, silently drops the " +"packet. If the connection was previously lost, re-establishes the " +"connection. To unpickle the record at the receiving end into a :class:" +"`~logging.LogRecord`, use the :func:`~logging.makeLogRecord` function." +msgstr "" +"Вибирає словник атрибутів запису та записує його в сокет у двійковому " +"форматі. Якщо є помилка з сокетом, мовчки скидає пакет. Якщо з’єднання було " +"втрачено, відновлює з’єднання. Щоб видалити запис на приймальному кінці в :" +"class:`~logging.LogRecord`, скористайтеся :func:`~logging.makeLogRecord` " +"функцією." + +msgid "" +"Handles an error which has occurred during :meth:`emit`. The most likely " +"cause is a lost connection. Closes the socket so that we can retry on the " +"next event." +msgstr "" +"Обробляє помилку, яка сталася під час :meth:`emit`. Найімовірніша причина – " +"втрата зв’язку. Закриває сокет, щоб ми могли повторити наступну подію." + +msgid "" +"This is a factory method which allows subclasses to define the precise type " +"of socket they want. The default implementation creates a TCP socket (:const:" +"`socket.SOCK_STREAM`)." +msgstr "" +"Це фабричний метод, який дозволяє підкласам визначати точний тип сокета, " +"який вони хочуть. Стандартна реалізація створює сокет TCP (:const:`socket." +"SOCK_STREAM`)." + +msgid "" +"Pickles the record's attribute dictionary in binary format with a length " +"prefix, and returns it ready for transmission across the socket. The details " +"of this operation are equivalent to::" +msgstr "" +"Вибирає словник атрибутів запису в двійковому форматі з префіксом довжини та " +"повертає його готовим для передачі через сокет. Подробиці цієї операції " +"еквівалентні:" + +msgid "" +"Note that pickles aren't completely secure. If you are concerned about " +"security, you may want to override this method to implement a more secure " +"mechanism. For example, you can sign pickles using HMAC and then verify them " +"on the receiving end, or alternatively you can disable unpickling of global " +"objects on the receiving end." +msgstr "" +"Зауважте, що мариновані огірки не є повністю безпечними. Якщо вас турбує " +"безпека, ви можете замінити цей метод, щоб застосувати більш безпечний " +"механізм. Наприклад, ви можете підписати соління за допомогою HMAC, а потім " +"перевірити їх на приймальній стороні, або, як альтернатива, ви можете " +"вимкнути розбирання глобальних об’єктів на приймальній стороні." + +msgid "" +"Send a pickled byte-string *packet* to the socket. The format of the sent " +"byte-string is as described in the documentation for :meth:`~SocketHandler." +"makePickle`." +msgstr "" +"Надішліть маринований байтовий рядок *пакет* до сокета. Формат надісланого " +"байтового рядка відповідає документації для :meth:`~SocketHandler." +"makePickle`." + +msgid "" +"This function allows for partial sends, which can happen when the network is " +"busy." +msgstr "" +"Ця функція дозволяє частково надсилати, що може статися, коли мережа зайнята." + +msgid "" +"Tries to create a socket; on failure, uses an exponential back-off " +"algorithm. On initial failure, the handler will drop the message it was " +"trying to send. When subsequent messages are handled by the same instance, " +"it will not try connecting until some time has passed. The default " +"parameters are such that the initial delay is one second, and if after that " +"delay the connection still can't be made, the handler will double the delay " +"each time up to a maximum of 30 seconds." +msgstr "" +"Намагається створити сокет; у разі відмови використовує експоненціальний " +"алгоритм відстрочки. У разі початкової помилки обробник скине повідомлення, " +"яке намагався надіслати. Коли наступні повідомлення обробляються тим самим " +"екземпляром, він не намагатиметься підключитися, доки не мине деякий час. " +"Параметри за замовчуванням такі, що початкова затримка становить одну " +"секунду, і якщо після цієї затримки з’єднання все одно не вдається " +"встановити, обробник кожного разу подвоює затримку до максимум 30 секунд." + +msgid "This behaviour is controlled by the following handler attributes:" +msgstr "Ця поведінка контролюється такими атрибутами обробника:" + +msgid "``retryStart`` (initial delay, defaulting to 1.0 seconds)." +msgstr "``retryStart`` (початкова затримка, за замовчуванням 1,0 секунди)." + +msgid "``retryFactor`` (multiplier, defaulting to 2.0)." +msgstr "``retryFactor`` (множник, за умовчанням 2,0)." + +msgid "``retryMax`` (maximum delay, defaulting to 30.0 seconds)." +msgstr "``retryMax`` (максимальна затримка, за замовчуванням 30,0 секунд)." + +msgid "" +"This means that if the remote listener starts up *after* the handler has " +"been used, you could lose messages (since the handler won't even attempt a " +"connection until the delay has elapsed, but just silently drop messages " +"during the delay period)." +msgstr "" +"Це означає, що якщо віддалений слухач запускається *після* використання " +"обробника, ви можете втратити повідомлення (оскільки обробник навіть не " +"намагатиметься встановити з’єднання, доки не мине затримка, а лише мовчки " +"видалятиме повідомлення протягом періоду затримки)." + +msgid "DatagramHandler" +msgstr "DatagramHandler" + +msgid "" +"The :class:`DatagramHandler` class, located in the :mod:`logging.handlers` " +"module, inherits from :class:`SocketHandler` to support sending logging " +"messages over UDP sockets." +msgstr "" +"Клас :class:`DatagramHandler`, розташований у модулі :mod:`logging." +"handlers`, успадковує :class:`SocketHandler` для підтримки надсилання " +"повідомлень журналу через сокети UDP." + +msgid "" +"Returns a new instance of the :class:`DatagramHandler` class intended to " +"communicate with a remote machine whose address is given by *host* and " +"*port*." +msgstr "" +"Повертає новий екземпляр класу :class:`DatagramHandler`, призначений для " +"зв’язку з віддаленою машиною, адресу якої вказують *host* і *port*." + +msgid "" +"As UDP is not a streaming protocol, there is no persistent connection " +"between an instance of this handler and *host*. For this reason, when using " +"a network socket, a DNS lookup might have to be made each time an event is " +"logged, which can introduce some latency into the system. If this affects " +"you, you can do a lookup yourself and initialize this handler using the " +"looked-up IP address rather than the hostname." +msgstr "" + +msgid "" +"If ``port`` is specified as ``None``, a Unix domain socket is created using " +"the value in ``host`` - otherwise, a UDP socket is created." +msgstr "" +"Якщо ``port`` вказано як ``None``, сокет домену Unix створюється за " +"допомогою значення в ``host``; інакше створюється сокет UDP." + +msgid "" +"Pickles the record's attribute dictionary and writes it to the socket in " +"binary format. If there is an error with the socket, silently drops the " +"packet. To unpickle the record at the receiving end into a :class:`~logging." +"LogRecord`, use the :func:`~logging.makeLogRecord` function." +msgstr "" +"Вибирає словник атрибутів запису та записує його в сокет у двійковому " +"форматі. Якщо є помилка з сокетом, мовчки скидає пакет. Щоб видалити запис " +"на приймальному кінці в :class:`~logging.LogRecord`, скористайтеся :func:" +"`~logging.makeLogRecord` функцією." + +msgid "" +"The factory method of :class:`SocketHandler` is here overridden to create a " +"UDP socket (:const:`socket.SOCK_DGRAM`)." +msgstr "" +"Фабричний метод :class:`SocketHandler` тут перевизначено для створення " +"сокета UDP (:const:`socket.SOCK_DGRAM`)." + +msgid "" +"Send a pickled byte-string to a socket. The format of the sent byte-string " +"is as described in the documentation for :meth:`SocketHandler.makePickle`." +msgstr "" +"Надіслати маринований рядок байтів до сокета. Формат надісланого байтового " +"рядка відповідає документації для :meth:`SocketHandler.makePickle`." + +msgid "SysLogHandler" +msgstr "SysLogHandler" + +msgid "" +"The :class:`SysLogHandler` class, located in the :mod:`logging.handlers` " +"module, supports sending logging messages to a remote or local Unix syslog." +msgstr "" +"Клас :class:`SysLogHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу до віддаленого чи локального " +"системного журналу Unix." + +msgid "" +"Returns a new instance of the :class:`SysLogHandler` class intended to " +"communicate with a remote Unix machine whose address is given by *address* " +"in the form of a ``(host, port)`` tuple. If *address* is not specified, " +"``('localhost', 514)`` is used. The address is used to open a socket. An " +"alternative to providing a ``(host, port)`` tuple is providing an address as " +"a string, for example '/dev/log'. In this case, a Unix domain socket is used " +"to send the message to the syslog. If *facility* is not specified, :const:" +"`LOG_USER` is used. The type of socket opened depends on the *socktype* " +"argument, which defaults to :const:`socket.SOCK_DGRAM` and thus opens a UDP " +"socket. To open a TCP socket (for use with the newer syslog daemons such as " +"rsyslog), specify a value of :const:`socket.SOCK_STREAM`." +msgstr "" +"Повертає новий екземпляр класу :class:`SysLogHandler`, призначений для " +"зв’язку з віддаленою машиною Unix, адреса якої задана *адресою* у формі " +"кортежу ``(хост, порт)``. Якщо *адреса* не вказана, використовується " +"``('localhost', 514)``. Адреса використовується для відкриття сокета. " +"Альтернативою наданню кортежу ``(хост, порт)`` є надання адреси у вигляді " +"рядка, наприклад '/dev/log'. У цьому випадку для надсилання повідомлення до " +"системного журналу використовується сокет домену Unix. Якщо *facility* не " +"вказано, :const:`LOG_USER` використовується. Тип відкритого сокета залежить " +"від аргументу *socktype*, який за замовчуванням має значення :const:`socket." +"SOCK_DGRAM` і таким чином відкриває сокет UDP. Щоб відкрити сокет TCP (для " +"використання з новими демонами syslog, наприклад rsyslog), вкажіть значення :" +"const:`socket.SOCK_STREAM`." + +msgid "" +"Note that if your server is not listening on UDP port 514, :class:" +"`SysLogHandler` may appear not to work. In that case, check what address you " +"should be using for a domain socket - it's system dependent. For example, on " +"Linux it's usually '/dev/log' but on OS/X it's '/var/run/syslog'. You'll " +"need to check your platform and use the appropriate address (you may need to " +"do this check at runtime if your application needs to run on several " +"platforms). On Windows, you pretty much have to use the UDP option." +msgstr "" +"Зауважте, що якщо ваш сервер не прослуховує UDP-порт 514, :class:" +"`SysLogHandler` може здатися непрацюючим. У такому випадку перевірте, яку " +"адресу ви повинні використовувати для доменного сокета - це залежить від " +"системи. Наприклад, у Linux це зазвичай '/dev/log', а в OS/X це '/var/run/" +"syslog'. Вам потрібно буде перевірити свою платформу та використати " +"відповідну адресу (може знадобитися виконати цю перевірку під час виконання, " +"якщо ваша програма має працювати на кількох платформах). У Windows ви майже " +"повинні використовувати параметр UDP." + +msgid "" +"On macOS 12.x (Monterey), Apple has changed the behaviour of their syslog " +"daemon - it no longer listens on a domain socket. Therefore, you cannot " +"expect :class:`SysLogHandler` to work on this system." +msgstr "" + +msgid "See :gh:`91070` for more information." +msgstr "" + +msgid "*socktype* was added." +msgstr "Додано *socktype*." + +msgid "Closes the socket to the remote host." +msgstr "Закриває сокет для віддаленого хоста." + +msgid "" +"Tries to create a socket and, if it's not a datagram socket, connect it to " +"the other end. This method is called during handler initialization, but it's " +"not regarded as an error if the other end isn't listening at this point - " +"the method will be called again when emitting an event, if but it's not " +"regarded as an error if the other end isn't listening yet --- the method " +"will be called again when emitting an event, if there is no socket at that " +"point." +msgstr "" + +msgid "" +"The record is formatted, and then sent to the syslog server. If exception " +"information is present, it is *not* sent to the server." +msgstr "" +"Запис форматується, а потім надсилається на сервер syslog. Якщо присутня " +"інформація про винятки, вона *не* надсилається на сервер." + +msgid "" +"(See: :issue:`12168`.) In earlier versions, the message sent to the syslog " +"daemons was always terminated with a NUL byte, because early versions of " +"these daemons expected a NUL terminated message - even though it's not in " +"the relevant specification (:rfc:`5424`). More recent versions of these " +"daemons don't expect the NUL byte but strip it off if it's there, and even " +"more recent daemons (which adhere more closely to RFC 5424) pass the NUL " +"byte on as part of the message." +msgstr "" +"(Див.: :issue:`12168`.) У попередніх версіях повідомлення, надіслане до " +"демонов системного журналу, завжди завершувалося нульовим байтом, оскільки " +"ранні версії цих демонів очікували повідомлення, що завершується нульовим " +"значенням, навіть якщо цього немає у відповідній специфікації (:rfc:`5424`). " +"Новіші версії цих демонов не очікують байт NUL, але видаляють його, якщо він " +"там є, і навіть новіші демони (які більше дотримуються RFC 5424) передають " +"байт NUL як частину повідомлення." + +msgid "" +"To enable easier handling of syslog messages in the face of all these " +"differing daemon behaviours, the appending of the NUL byte has been made " +"configurable, through the use of a class-level attribute, ``append_nul``. " +"This defaults to ``True`` (preserving the existing behaviour) but can be set " +"to ``False`` on a ``SysLogHandler`` instance in order for that instance to " +"*not* append the NUL terminator." +msgstr "" +"Щоб полегшити обробку повідомлень системного журналу, незважаючи на всі ці " +"відмінності в поведінці демона, додавання байта NUL було зроблено " +"конфігурованим за допомогою атрибута рівня класу, ``append_nul``. За " +"умовчанням це значення ``True`` (зберігаючи існуючу поведінку), але можна " +"встановити ``False`` для екземпляра ``SysLogHandler``, щоб цей екземпляр " +"*не* додавав термінатор NUL." + +msgid "" +"(See: :issue:`12419`.) In earlier versions, there was no facility for an " +"\"ident\" or \"tag\" prefix to identify the source of the message. This can " +"now be specified using a class-level attribute, defaulting to ``\"\"`` to " +"preserve existing behaviour, but which can be overridden on a " +"``SysLogHandler`` instance in order for that instance to prepend the ident " +"to every message handled. Note that the provided ident must be text, not " +"bytes, and is prepended to the message exactly as is." +msgstr "" +"(Див.: :issue:`12419`.) У попередніх версіях не було можливості для префікса " +"\"ident\" або \"tag\" для визначення джерела повідомлення. Тепер це можна " +"вказати за допомогою атрибута рівня класу, який за замовчуванням має " +"значення ``\"\"``, щоб зберегти існуючу поведінку, але який можна " +"перевизначити в екземплярі ``SysLogHandler``, щоб цей екземпляр додавав " +"ідентифікатор перед кожним повідомленням обробляється. Зауважте, що наданий " +"ідентифікатор має бути текстом, а не байтами, і додається до повідомлення " +"точно так, як є." + +msgid "" +"Encodes the facility and priority into an integer. You can pass in strings " +"or integers - if strings are passed, internal mapping dictionaries are used " +"to convert them to integers." +msgstr "" +"Кодує засіб і пріоритет у ціле число. Ви можете передавати рядки або цілі " +"числа - якщо рядки передаються, внутрішні словники відображення " +"використовуються для їх перетворення на цілі числа." + +msgid "" +"The symbolic ``LOG_`` values are defined in :class:`SysLogHandler` and " +"mirror the values defined in the ``sys/syslog.h`` header file." +msgstr "" +"Символічні значення ``LOG_`` визначені в :class:`SysLogHandler` і " +"відображають значення, визначені у файлі заголовка ``sys/syslog.h``." + +msgid "**Priorities**" +msgstr "**Пріоритети**" + +msgid "Name (string)" +msgstr "Ім'я (рядок)" + +msgid "Symbolic value" +msgstr "Символічне значення" + +msgid "``alert``" +msgstr "``сповіщення``" + +msgid "LOG_ALERT" +msgstr "LOG_ALERT" + +msgid "``crit`` or ``critical``" +msgstr "``crit`` або ``critical``" + +msgid "LOG_CRIT" +msgstr "LOG_CRIT" + +msgid "``debug``" +msgstr "``debug``" + +msgid "LOG_DEBUG" +msgstr "LOG_DEBUG" + +msgid "``emerg`` or ``panic``" +msgstr "``emerg`` або ``panic``" + +msgid "LOG_EMERG" +msgstr "LOG_EMERG" + +msgid "``err`` or ``error``" +msgstr "``помилка`` або ``помилка``" + +msgid "LOG_ERR" +msgstr "LOG_ERROR" + +msgid "``info``" +msgstr "``інформація``" + +msgid "LOG_INFO" +msgstr "LOG_INFO" + +msgid "``notice``" +msgstr "``повідомлення``" + +msgid "LOG_NOTICE" +msgstr "LOG_NOTICE" + +msgid "``warn`` or ``warning``" +msgstr "``попередження`` або ``попередження``" + +msgid "LOG_WARNING" +msgstr "LOG_WARNING" + +msgid "**Facilities**" +msgstr "**Інфраструктура**" + +msgid "``auth``" +msgstr "``автентика``" + +msgid "LOG_AUTH" +msgstr "LOG_AUTH" + +msgid "``authpriv``" +msgstr "``authpriv``" + +msgid "LOG_AUTHPRIV" +msgstr "LOG_AUTHPRIV" + +msgid "``cron``" +msgstr "``cron``" + +msgid "LOG_CRON" +msgstr "LOG_CRON" + +msgid "``daemon``" +msgstr "``демон``" + +msgid "LOG_DAEMON" +msgstr "LOG_DAEMON" + +msgid "``ftp``" +msgstr "``ftp``" + +msgid "LOG_FTP" +msgstr "LOG_FTP" + +msgid "``kern``" +msgstr "``керн``" + +msgid "LOG_KERN" +msgstr "LOG_KERN" + +msgid "``lpr``" +msgstr "``lpr``" + +msgid "LOG_LPR" +msgstr "LOG_LPR" + +msgid "``mail``" +msgstr "``пошта``" + +msgid "LOG_MAIL" +msgstr "LOG_MAIL" + +msgid "``news``" +msgstr "``новини``" + +msgid "LOG_NEWS" +msgstr "LOG_NEWS" + +msgid "``syslog``" +msgstr "``системний журнал``" + +msgid "LOG_SYSLOG" +msgstr "LOG_SYSLOG" + +msgid "``user``" +msgstr "``користувач``" + +msgid "LOG_USER" +msgstr "LOG_USER" + +msgid "``uucp``" +msgstr "``uucp``" + +msgid "LOG_UUCP" +msgstr "LOG_UUCP" + +msgid "``local0``" +msgstr "``локальний0``" + +msgid "LOG_LOCAL0" +msgstr "LOG_LOCAL0" + +msgid "``local1``" +msgstr "``локальний1``" + +msgid "LOG_LOCAL1" +msgstr "LOG_LOCAL1" + +msgid "``local2``" +msgstr "``локальний2``" + +msgid "LOG_LOCAL2" +msgstr "LOG_LOCAL2" + +msgid "``local3``" +msgstr "``локальний3``" + +msgid "LOG_LOCAL3" +msgstr "LOG_LOCAL3" + +msgid "``local4``" +msgstr "``локальний4``" + +msgid "LOG_LOCAL4" +msgstr "LOG_LOCAL4" + +msgid "``local5``" +msgstr "``локальний5``" + +msgid "LOG_LOCAL5" +msgstr "LOG_LOCAL5" + +msgid "``local6``" +msgstr "``локальний6``" + +msgid "LOG_LOCAL6" +msgstr "LOG_LOCAL6" + +msgid "``local7``" +msgstr "``локальний7``" + +msgid "LOG_LOCAL7" +msgstr "LOG_LOCAL7" + +msgid "" +"Maps a logging level name to a syslog priority name. You may need to " +"override this if you are using custom levels, or if the default algorithm is " +"not suitable for your needs. The default algorithm maps ``DEBUG``, ``INFO``, " +"``WARNING``, ``ERROR`` and ``CRITICAL`` to the equivalent syslog names, and " +"all other level names to 'warning'." +msgstr "" +"Зіставляє назву рівня журналювання на назву пріоритету системного журналу. " +"Можливо, вам знадобиться перевизначити це, якщо ви використовуєте спеціальні " +"рівні або якщо алгоритм за замовчуванням не підходить для ваших потреб. " +"Алгоритм за замовчуванням відображає ``DEBUG``, ``INFO``, ``WARNING``, " +"``ERROR`` і ``CRITICAL`` на еквівалентні назви системного журналу, а всі " +"інші назви рівнів на \"попередження\"." + +msgid "NTEventLogHandler" +msgstr "NTEventLogHandler" + +msgid "" +"The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " +"module, supports sending logging messages to a local Windows NT, Windows " +"2000 or Windows XP event log. Before you can use it, you need Mark Hammond's " +"Win32 extensions for Python installed." +msgstr "" +"Клас :class:`NTEventLogHandler`, розташований у модулі :mod:`logging." +"handlers`, підтримує надсилання повідомлень журналу до локального журналу " +"подій Windows NT, Windows 2000 або Windows XP. Перш ніж використовувати " +"його, вам потрібно встановити розширення Win32 Марка Хаммонда для Python." + +msgid "" +"Returns a new instance of the :class:`NTEventLogHandler` class. The " +"*appname* is used to define the application name as it appears in the event " +"log. An appropriate registry entry is created using this name. The *dllname* " +"should give the fully qualified pathname of a .dll or .exe which contains " +"message definitions to hold in the log (if not specified, ``'win32service." +"pyd'`` is used - this is installed with the Win32 extensions and contains " +"some basic placeholder message definitions. Note that use of these " +"placeholders will make your event logs big, as the entire message source is " +"held in the log. If you want slimmer logs, you have to pass in the name of " +"your own .dll or .exe which contains the message definitions you want to use " +"in the event log). The *logtype* is one of ``'Application'``, ``'System'`` " +"or ``'Security'``, and defaults to ``'Application'``." +msgstr "" +"Повертає новий екземпляр класу :class:`NTEventLogHandler`. *Appname* " +"використовується для визначення назви програми, яка відображається в журналі " +"подій. За допомогою цього імені створюється відповідний запис реєстру. " +"*dllname* має давати повне ім’я шляху до .dll або .exe, який містить " +"визначення повідомлень для зберігання в журналі (якщо не вказано, " +"використовується ``'win32service.pyd'`` — він інсталюється з розширеннями " +"Win32 і містить деякі основні визначення повідомлень-заповнювачів. Зауважте, " +"що використання цих заповнювачів збільшить ваші журнали подій, оскільки все " +"джерело повідомлень зберігається в журналі. Якщо ви хочете мати менші " +"журнали, вам потрібно передати ім’я власної .dll або .exe, який містить " +"визначення повідомлень, які ви хочете використовувати в журналі подій). " +"*logtype* є одним із ``'Application'``, ``'System'`` або ``'Security'``, і " +"за замовчуванням ``'Application'``." + +msgid "" +"At this point, you can remove the application name from the registry as a " +"source of event log entries. However, if you do this, you will not be able " +"to see the events as you intended in the Event Log Viewer - it needs to be " +"able to access the registry to get the .dll name. The current version does " +"not do this." +msgstr "" +"На цьому етапі ви можете видалити назву програми з реєстру як джерело " +"записів журналу подій. Однак, якщо ви зробите це, ви не зможете побачити " +"події, як ви планували, у засобі перегляду журналу подій - йому потрібен " +"доступ до реєстру, щоб отримати назву .dll. Поточна версія цього не робить." + +msgid "" +"Determines the message ID, event category and event type, and then logs the " +"message in the NT event log." +msgstr "" +"Визначає ідентифікатор повідомлення, категорію події та тип події, а потім " +"записує повідомлення в журнал подій NT." + +msgid "" +"Returns the event category for the record. Override this if you want to " +"specify your own categories. This version returns 0." +msgstr "" +"Повертає категорію події для запису. Перевизначте це, якщо хочете вказати " +"власні категорії. Ця версія повертає 0." + +msgid "" +"Returns the event type for the record. Override this if you want to specify " +"your own types. This version does a mapping using the handler's typemap " +"attribute, which is set up in :meth:`__init__` to a dictionary which " +"contains mappings for :const:`DEBUG`, :const:`INFO`, :const:`WARNING`, :" +"const:`ERROR` and :const:`CRITICAL`. If you are using your own levels, you " +"will either need to override this method or place a suitable dictionary in " +"the handler's *typemap* attribute." +msgstr "" +"Повертає тип події для запису. Перевизначте це, якщо хочете вказати власні " +"типи. Ця версія виконує зіставлення за допомогою атрибута typemap обробника, " +"який встановлено в :meth:`__init__`, на словник, який містить зіставлення " +"для :const:`DEBUG`, :const:`INFO`, :const:`WARNING`, :const:`ERROR` і :const:" +"`CRITICAL`. Якщо ви використовуєте власні рівні, вам потрібно буде " +"перевизначити цей метод або розмістити відповідний словник в атрибуті " +"*typemap* обробника." + +msgid "" +"Returns the message ID for the record. If you are using your own messages, " +"you could do this by having the *msg* passed to the logger being an ID " +"rather than a format string. Then, in here, you could use a dictionary " +"lookup to get the message ID. This version returns 1, which is the base " +"message ID in :file:`win32service.pyd`." +msgstr "" +"Повертає ідентифікатор повідомлення для запису. Якщо ви використовуєте " +"власні повідомлення, ви можете зробити це, передавши *повідомлення* до " +"реєстратора як ідентифікатор, а не рядок формату. Тоді тут ви можете " +"скористатися пошуком у словнику, щоб отримати ідентифікатор повідомлення. Ця " +"версія повертає 1, який є основним ідентифікатором повідомлення в :file:" +"`win32service.pyd`." + +msgid "SMTPHandler" +msgstr "SMTPHandler" + +msgid "" +"The :class:`SMTPHandler` class, located in the :mod:`logging.handlers` " +"module, supports sending logging messages to an email address via SMTP." +msgstr "" +"Клас :class:`SMTPHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу на адресу електронної пошти через " +"SMTP." + +msgid "" +"Returns a new instance of the :class:`SMTPHandler` class. The instance is " +"initialized with the from and to addresses and subject line of the email. " +"The *toaddrs* should be a list of strings. To specify a non-standard SMTP " +"port, use the (host, port) tuple format for the *mailhost* argument. If you " +"use a string, the standard SMTP port is used. If your SMTP server requires " +"authentication, you can specify a (username, password) tuple for the " +"*credentials* argument." +msgstr "" +"Повертає новий екземпляр класу :class:`SMTPHandler`. Екземпляр " +"ініціалізується адресами відправника та одержувача та рядком теми " +"електронного листа. *toaddrs* має бути списком рядків. Щоб указати " +"нестандартний порт SMTP, використовуйте формат кортежу (хост, порт) для " +"аргументу *mailhost*. Якщо ви використовуєте рядок, використовується " +"стандартний порт SMTP. Якщо ваш сервер SMTP вимагає автентифікації, ви " +"можете вказати кортеж (ім’я користувача, пароль) для аргументу *облікові " +"дані*." + +msgid "" +"To specify the use of a secure protocol (TLS), pass in a tuple to the " +"*secure* argument. This will only be used when authentication credentials " +"are supplied. The tuple should be either an empty tuple, or a single-value " +"tuple with the name of a keyfile, or a 2-value tuple with the names of the " +"keyfile and certificate file. (This tuple is passed to the :meth:`smtplib." +"SMTP.starttls` method.)" +msgstr "" +"Щоб указати використання безпечного протоколу (TLS), передайте кортеж " +"аргументу *secure*. Це використовуватиметься, лише якщо надано облікові дані " +"для автентифікації. Кортеж має бути або порожнім кортежем, або кортежем з " +"одним значенням з іменем файлу ключів, або кортежем із двома значеннями з " +"іменами файлу ключів і файлу сертифіката. (Цей кортеж передається в метод :" +"meth:`smtplib.SMTP.starttls`.)" + +msgid "" +"A timeout can be specified for communication with the SMTP server using the " +"*timeout* argument." +msgstr "" +"Тайм-аут можна вказати для зв’язку з сервером SMTP за допомогою аргументу " +"*timeout*." + +msgid "The *timeout* argument was added." +msgstr "Додано аргумент *timeout*." + +msgid "Formats the record and sends it to the specified addressees." +msgstr "Форматує запис і надсилає його вказаним адресатам." + +msgid "" +"If you want to specify a subject line which is record-dependent, override " +"this method." +msgstr "" +"Якщо ви хочете вказати рядок теми, який залежить від запису, замініть цей " +"метод." + +msgid "MemoryHandler" +msgstr "MemoryHandler" + +msgid "" +"The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " +"module, supports buffering of logging records in memory, periodically " +"flushing them to a :dfn:`target` handler. Flushing occurs whenever the " +"buffer is full, or when an event of a certain severity or greater is seen." +msgstr "" +"Клас :class:`MemoryHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує буферизацію записів журналу в пам’яті, періодично скидаючи їх до " +"обробника :dfn:`target`. Очищення відбувається кожного разу, коли буфер " +"заповнений або коли спостерігається подія певної або більшої серйозності." + +msgid "" +":class:`MemoryHandler` is a subclass of the more general :class:" +"`BufferingHandler`, which is an abstract class. This buffers logging records " +"in memory. Whenever each record is added to the buffer, a check is made by " +"calling :meth:`shouldFlush` to see if the buffer should be flushed. If it " +"should, then :meth:`flush` is expected to do the flushing." +msgstr "" +":class:`MemoryHandler` є підкласом більш загального :class:" +"`BufferingHandler`, який є абстрактним класом. Це буферизує записи журналу в " +"пам'яті. Кожного разу, коли кожен запис додається до буфера, виконується " +"перевірка шляхом виклику :meth:`shouldFlush`, щоб побачити, чи потрібно " +"скидати буфер. Якщо має бути, то очікується, що :meth:`flush` виконає " +"змивання." + +msgid "" +"Initializes the handler with a buffer of the specified capacity. Here, " +"*capacity* means the number of logging records buffered." +msgstr "" +"Ініціалізує обробник буфером зазначеної ємності. Тут *ємність* означає " +"кількість буферизованих записів журналу." + +msgid "" +"Append the record to the buffer. If :meth:`shouldFlush` returns true, call :" +"meth:`flush` to process the buffer." +msgstr "" +"Додайте запис до буфера. Якщо :meth:`shouldFlush` повертає true, викликайте :" +"meth:`flush` для обробки буфера." + +msgid "" +"You can override this to implement custom flushing behavior. This version " +"just zaps the buffer to empty." +msgstr "" +"Ви можете перевизначити це, щоб реалізувати спеціальну поведінку очищення. " +"Ця версія просто очищує буфер." + +msgid "" +"Return ``True`` if the buffer is up to capacity. This method can be " +"overridden to implement custom flushing strategies." +msgstr "" +"Повертає ``True``, якщо буфер вичерпано. Цей метод можна замінити, щоб " +"реалізувати власні стратегії очищення." + +msgid "" +"Returns a new instance of the :class:`MemoryHandler` class. The instance is " +"initialized with a buffer size of *capacity* (number of records buffered). " +"If *flushLevel* is not specified, :const:`ERROR` is used. If no *target* is " +"specified, the target will need to be set using :meth:`setTarget` before " +"this handler does anything useful. If *flushOnClose* is specified as " +"``False``, then the buffer is *not* flushed when the handler is closed. If " +"not specified or specified as ``True``, the previous behaviour of flushing " +"the buffer will occur when the handler is closed." +msgstr "" +"Повертає новий екземпляр класу :class:`MemoryHandler`. Екземпляр " +"ініціалізується з розміром буфера *ємність* (кількість буферизованих " +"записів). Якщо *flushLevel* не вказано, використовується :const:`ERROR`. " +"Якщо *ціль* не вказана, ціль потрібно буде встановити за допомогою :meth:" +"`setTarget`, перш ніж цей обробник зробить щось корисне. Якщо *flushOnClose* " +"вказано як ``False``, тоді буфер *не* очищається, коли обробник закрито. " +"Якщо не вказано або вказано як ``True``, попередня поведінка очищення буфера " +"відбуватиметься, коли обробник буде закрито." + +msgid "The *flushOnClose* parameter was added." +msgstr "Додано параметр *flushOnClose*." + +msgid "Calls :meth:`flush`, sets the target to ``None`` and clears the buffer." +msgstr "Викликає :meth:`flush`, встановлює ціль на ``None`` і очищає буфер." + +msgid "" +"For a :class:`MemoryHandler`, flushing means just sending the buffered " +"records to the target, if there is one. The buffer is also cleared when this " +"happens. Override if you want different behavior." +msgstr "" +"Для :class:`MemoryHandler` очищення означає просто надсилання буферизованих " +"записів до цілі, якщо вона є. Буфер також очищається, коли це відбувається. " +"Перевизначте, якщо ви хочете іншу поведінку." + +msgid "Sets the target handler for this handler." +msgstr "Встановлює цільовий обробник для цього обробника." + +msgid "Checks for buffer full or a record at the *flushLevel* or higher." +msgstr "Перевіряє заповненість буфера або запис на *flushLevel* або вище." + +msgid "HTTPHandler" +msgstr "HTTPHandler" + +msgid "" +"The :class:`HTTPHandler` class, located in the :mod:`logging.handlers` " +"module, supports sending logging messages to a web server, using either " +"``GET`` or ``POST`` semantics." +msgstr "" +"Клас :class:`HTTPHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу на веб-сервер, використовуючи " +"семантику ``GET`` або ``POST``." + +msgid "" +"Returns a new instance of the :class:`HTTPHandler` class. The *host* can be " +"of the form ``host:port``, should you need to use a specific port number. " +"If no *method* is specified, ``GET`` is used. If *secure* is true, a HTTPS " +"connection will be used. The *context* parameter may be set to a :class:`ssl." +"SSLContext` instance to configure the SSL settings used for the HTTPS " +"connection. If *credentials* is specified, it should be a 2-tuple consisting " +"of userid and password, which will be placed in a HTTP 'Authorization' " +"header using Basic authentication. If you specify credentials, you should " +"also specify secure=True so that your userid and password are not passed in " +"cleartext across the wire." +msgstr "" +"Повертає новий екземпляр класу :class:`HTTPHandler`. *Host* може мати форму " +"``host:port``, якщо вам потрібно використовувати певний номер порту. Якщо " +"*метод* не вказано, використовується ``GET``. Якщо *secure* має значення " +"true, використовуватиметься з’єднання HTTPS. Параметр *context* може бути " +"встановлений на екземпляр :class:`ssl.SSLContext`, щоб налаштувати параметри " +"SSL, які використовуються для з’єднання HTTPS. Якщо вказано *облікові дані*, " +"це має бути 2-кортеж, що складається з ідентифікатора користувача та пароля, " +"який буде розміщено в заголовку HTTP \"Авторизація\" за допомогою базової " +"автентифікації. Якщо ви вказуєте облікові дані, ви також повинні вказати " +"secure=True, щоб ваш ідентифікатор користувача та пароль не передавалися у " +"вигляді відкритого тексту по мережі." + +msgid "The *context* parameter was added." +msgstr "Додано параметр *context*." + +msgid "" +"Provides a dictionary, based on ``record``, which is to be URL-encoded and " +"sent to the web server. The default implementation just returns ``record." +"__dict__``. This method can be overridden if e.g. only a subset of :class:" +"`~logging.LogRecord` is to be sent to the web server, or if more specific " +"customization of what's sent to the server is required." +msgstr "" +"Надає словник на основі ``запису``, який має бути закодований URL-адресою та " +"надісланий на веб-сервер. Стандартна реалізація просто повертає ``record." +"__dict__``. Цей метод можна перевизначити, якщо, наприклад, лише підмножина :" +"class:`~logging.LogRecord` має бути надіслана на веб-сервер, або якщо " +"потрібна більш точна настройка того, що надсилається на сервер." + +msgid "" +"Sends the record to the web server as a URL-encoded dictionary. The :meth:" +"`mapLogRecord` method is used to convert the record to the dictionary to be " +"sent." +msgstr "" +"Надсилає запис на веб-сервер як словник із кодуванням URL-адреси. Метод :" +"meth:`mapLogRecord` використовується для перетворення запису в словник для " +"надсилання." + +msgid "" +"Since preparing a record for sending it to a web server is not the same as a " +"generic formatting operation, using :meth:`~logging.Handler.setFormatter` to " +"specify a :class:`~logging.Formatter` for a :class:`HTTPHandler` has no " +"effect. Instead of calling :meth:`~logging.Handler.format`, this handler " +"calls :meth:`mapLogRecord` and then :func:`urllib.parse.urlencode` to encode " +"the dictionary in a form suitable for sending to a web server." +msgstr "" +"Оскільки підготовка запису для надсилання його на веб-сервер – це не те " +"саме, що загальна операція форматування, використання :meth:`~logging." +"Handler.setFormatter` для визначення :class:`~logging.Formatter` для :class:" +"`HTTPHandler` не має ефекту. Замість виклику :meth:`~logging.Handler." +"format`, цей обробник викликає :meth:`mapLogRecord`, а потім :func:`urllib." +"parse.urlencode`, щоб закодувати словник у формі, придатній для надсилання " +"на веб-сервер ." + +msgid "QueueHandler" +msgstr "QueueHandler" + +msgid "" +"The :class:`QueueHandler` class, located in the :mod:`logging.handlers` " +"module, supports sending logging messages to a queue, such as those " +"implemented in the :mod:`queue` or :mod:`multiprocessing` modules." +msgstr "" +"Клас :class:`QueueHandler`, розташований у модулі :mod:`logging.handlers`, " +"підтримує надсилання повідомлень журналу до черги, таких як реалізовані в " +"модулях :mod:`queue` або :mod:`multiprocessing` ." + +msgid "" +"Along with the :class:`QueueListener` class, :class:`QueueHandler` can be " +"used to let handlers do their work on a separate thread from the one which " +"does the logging. This is important in web applications and also other " +"service applications where threads servicing clients need to respond as " +"quickly as possible, while any potentially slow operations (such as sending " +"an email via :class:`SMTPHandler`) are done on a separate thread." +msgstr "" +"Разом із класом :class:`QueueListener`, :class:`QueueHandler` можна " +"використовувати, щоб дозволити обробникам виконувати свою роботу в окремому " +"потоці від того, який веде журнал. Це важливо у веб-додатках, а також в " +"інших додатках-службах, де потоки, що обслуговують клієнтів, мають " +"відповідати якомога швидше, тоді як будь-які потенційно повільні операції " +"(такі як надсилання електронного листа через :class:`SMTPHandler`) " +"виконуються в окремому потоці." + +msgid "" +"Returns a new instance of the :class:`QueueHandler` class. The instance is " +"initialized with the queue to send messages to. The *queue* can be any queue-" +"like object; it's used as-is by the :meth:`enqueue` method, which needs to " +"know how to send messages to it. The queue is not *required* to have the " +"task tracking API, which means that you can use :class:`~queue.SimpleQueue` " +"instances for *queue*." +msgstr "" +"Повертає новий екземпляр класу :class:`QueueHandler`. Примірник " +"ініціалізується чергою для надсилання повідомлень. *Чергою* може бути будь-" +"який об’єкт, подібний до черги; він використовується як є методом :meth:" +"`enqueue`, якому потрібно знати, як йому надсилати повідомлення. Для черги " +"не *обов’язково* бути API відстеження завдань, що означає, що ви можете " +"використовувати екземпляри :class:`~queue.SimpleQueue` для *черги*." + +msgid "" +"If you are using :mod:`multiprocessing`, you should avoid using :class:" +"`~queue.SimpleQueue` and instead use :class:`multiprocessing.Queue`." +msgstr "" + +msgid "" +"Enqueues the result of preparing the LogRecord. Should an exception occur (e." +"g. because a bounded queue has filled up), the :meth:`~logging.Handler." +"handleError` method is called to handle the error. This can result in the " +"record silently being dropped (if :attr:`logging.raiseExceptions` is " +"``False``) or a message printed to ``sys.stderr`` (if :attr:`logging." +"raiseExceptions` is ``True``)." +msgstr "" +"Ставить у чергу результат підготовки LogRecord. У разі виникнення винятку " +"(наприклад, через те, що обмежена черга заповнилася), для обробки помилки " +"викликається метод :meth:`~logging.Handler.handleError`. Це може призвести " +"до мовчазного видалення запису (якщо :attr:`logging.raiseExceptions` має " +"значення ``False``) або повідомлення, надрукованого в ``sys.stderr`` (якщо :" +"attr:`logging.raiseExceptions` має значення ``Правда``)." + +msgid "" +"Prepares a record for queuing. The object returned by this method is " +"enqueued." +msgstr "" +"Готує запис для постановки в чергу. Об’єкт, повернутий цим методом, " +"ставиться в чергу." + +msgid "" +"The base implementation formats the record to merge the message, arguments, " +"exception and stack information, if present. It also removes unpickleable " +"items from the record in-place. Specifically, it overwrites the record's :" +"attr:`msg` and :attr:`message` attributes with the merged message (obtained " +"by calling the handler's :meth:`format` method), and sets the :attr:`args`, :" +"attr:`exc_info` and :attr:`exc_text` attributes to ``None``." +msgstr "" + +msgid "" +"You might want to override this method if you want to convert the record to " +"a dict or JSON string, or send a modified copy of the record while leaving " +"the original intact." +msgstr "" +"Ви можете замінити цей метод, якщо хочете перетворити запис на рядок dict " +"або JSON або надіслати змінену копію запису, залишивши оригінал недоторканим." + +msgid "" +"The base implementation formats the message with arguments, sets the " +"``message`` and ``msg`` attributes to the formatted message and sets the " +"``args`` and ``exc_text`` attributes to ``None`` to allow pickling and to " +"prevent further attempts at formatting. This means that a handler on the :" +"class:`QueueListener` side won't have the information to do custom " +"formatting, e.g. of exceptions. You may wish to subclass ``QueueHandler`` " +"and override this method to e.g. avoid setting ``exc_text`` to ``None``. " +"Note that the ``message`` / ``msg`` / ``args`` changes are related to " +"ensuring the record is pickleable, and you might or might not be able to " +"avoid doing that depending on whether your ``args`` are pickleable. (Note " +"that you may have to consider not only your own code but also code in any " +"libraries that you use.)" +msgstr "" + +msgid "" +"Enqueues the record on the queue using ``put_nowait()``; you may want to " +"override this if you want to use blocking behaviour, or a timeout, or a " +"customized queue implementation." +msgstr "" +"Ставить запис у чергу за допомогою put_nowait(); ви можете змінити це, якщо " +"ви хочете використовувати поведінку блокування, або тайм-аут, або " +"налаштовану реалізацію черги." + +msgid "QueueListener" +msgstr "QueueListener" + +msgid "" +"The :class:`QueueListener` class, located in the :mod:`logging.handlers` " +"module, supports receiving logging messages from a queue, such as those " +"implemented in the :mod:`queue` or :mod:`multiprocessing` modules. The " +"messages are received from a queue in an internal thread and passed, on the " +"same thread, to one or more handlers for processing. While :class:" +"`QueueListener` is not itself a handler, it is documented here because it " +"works hand-in-hand with :class:`QueueHandler`." +msgstr "" +"Клас :class:`QueueListener`, розташований у модулі :mod:`logging.handlers`, " +"підтримує отримання повідомлень журналу з черги, таких як ті, що реалізовані " +"в модулях :mod:`queue` або :mod:`multiprocessing` . Повідомлення отримуються " +"з черги у внутрішньому потоці та передаються в тому самому потоці одному або " +"кільком обробникам для обробки. Хоча :class:`QueueListener` сам по собі не є " +"обробником, він задокументований тут, оскільки він працює рука об руку з :" +"class:`QueueHandler`." + +msgid "" +"Along with the :class:`QueueHandler` class, :class:`QueueListener` can be " +"used to let handlers do their work on a separate thread from the one which " +"does the logging. This is important in web applications and also other " +"service applications where threads servicing clients need to respond as " +"quickly as possible, while any potentially slow operations (such as sending " +"an email via :class:`SMTPHandler`) are done on a separate thread." +msgstr "" +"Разом із класом :class:`QueueHandler`, :class:`QueueListener` можна " +"використовувати, щоб дозволити обробникам виконувати свою роботу в окремому " +"потоці від того, який веде журнал. Це важливо у веб-додатках, а також в " +"інших додатках-службах, де потоки, що обслуговують клієнтів, мають " +"відповідати якомога швидше, тоді як будь-які потенційно повільні операції " +"(такі як надсилання електронного листа через :class:`SMTPHandler`) " +"виконуються в окремому потоці." + +msgid "" +"Returns a new instance of the :class:`QueueListener` class. The instance is " +"initialized with the queue to send messages to and a list of handlers which " +"will handle entries placed on the queue. The queue can be any queue-like " +"object; it's passed as-is to the :meth:`dequeue` method, which needs to know " +"how to get messages from it. The queue is not *required* to have the task " +"tracking API (though it's used if available), which means that you can use :" +"class:`~queue.SimpleQueue` instances for *queue*." +msgstr "" +"Повертає новий екземпляр класу :class:`QueueListener`. Екземпляр " +"ініціалізується чергою для надсилання повідомлень і списком обробників, які " +"оброблятимуть записи, розміщені в черзі. Чергою може бути будь-який " +"чергоподібний об'єкт; він передається як є до методу :meth:`dequeue`, якому " +"потрібно знати, як отримати від нього повідомлення. Для черги не " +"*обов’язково* бути API відстеження завдань (хоча він використовується, якщо " +"доступний), що означає, що ви можете використовувати екземпляри :class:" +"`~queue.SimpleQueue` для *черги*." + +msgid "" +"If ``respect_handler_level`` is ``True``, a handler's level is respected " +"(compared with the level for the message) when deciding whether to pass " +"messages to that handler; otherwise, the behaviour is as in previous Python " +"versions - to always pass each message to each handler." +msgstr "" +"Якщо ``respect_handler_level`` має значення ``True``, рівень обробника " +"враховується (порівняно з рівнем для повідомлення), коли вирішується, чи " +"передавати повідомлення цьому обробнику; інакше, поведінка така ж, як і в " +"попередніх версіях Python - завжди передавати кожне повідомлення кожному " +"обробнику." + +msgid "The ``respect_handler_level`` argument was added." +msgstr "Додано аргумент ``respect_handler_level``." + +msgid "Dequeues a record and return it, optionally blocking." +msgstr "Вилучає запис із черги та повертає його, за бажанням блокуючи." + +msgid "" +"The base implementation uses ``get()``. You may want to override this method " +"if you want to use timeouts or work with custom queue implementations." +msgstr "" +"У базовій реалізації використовується ``get()``. Ви можете перевизначити цей " +"метод, якщо ви хочете використовувати тайм-аути або працювати з власними " +"реалізаціями черги." + +msgid "Prepare a record for handling." +msgstr "Підготуйте протокол для обробки." + +msgid "" +"This implementation just returns the passed-in record. You may want to " +"override this method if you need to do any custom marshalling or " +"manipulation of the record before passing it to the handlers." +msgstr "" +"Ця реалізація лише повертає переданий запис. Ви можете замінити цей метод, " +"якщо вам потрібно виконати будь-яку спеціальну сортування або маніпуляції із " +"записом перед передачею його обробникам." + +msgid "Handle a record." +msgstr "Обробка запису." + +msgid "" +"This just loops through the handlers offering them the record to handle. The " +"actual object passed to the handlers is that which is returned from :meth:" +"`prepare`." +msgstr "" +"Це просто проходить через обробники, пропонуючи їм запис для обробки. " +"Фактичний об’єкт, який передається обробникам, — це той, який повертається " +"з :meth:`prepare`." + +msgid "Starts the listener." +msgstr "Запускає слухача." + +msgid "" +"This starts up a background thread to monitor the queue for LogRecords to " +"process." +msgstr "" +"Це запускає фоновий потік для моніторингу черги для обробки LogRecords." + +msgid "Stops the listener." +msgstr "Зупиняє слухача." + +msgid "" +"This asks the thread to terminate, and then waits for it to do so. Note that " +"if you don't call this before your application exits, there may be some " +"records still left on the queue, which won't be processed." +msgstr "" +"Це просить потік завершити, а потім чекає, поки він це зробить. Зауважте, що " +"якщо ви не викличете це перед виходом програми, у черзі можуть залишитися " +"деякі записи, які не будуть оброблені." + +msgid "" +"Writes a sentinel to the queue to tell the listener to quit. This " +"implementation uses ``put_nowait()``. You may want to override this method " +"if you want to use timeouts or work with custom queue implementations." +msgstr "" +"Записує до черги дозорний, щоб сказати слухачеві вийти. Ця реалізація " +"використовує ``put_nowait()``. Ви можете перевизначити цей метод, якщо " +"хочете використовувати тайм-аути або працювати з власними реалізаціями черги." + +msgid "Module :mod:`logging`" +msgstr "Модуль :mod:`logging`" + +msgid "API reference for the logging module." +msgstr "Довідник API для модуля журналювання." + +msgid "Module :mod:`logging.config`" +msgstr "Модуль :mod:`logging.config`" + +msgid "Configuration API for the logging module." +msgstr "API конфігурації для модуля журналювання." diff --git a/library/lzma.po b/library/lzma.po new file mode 100644 index 000000000..832d03f30 --- /dev/null +++ b/library/lzma.po @@ -0,0 +1,725 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`lzma` --- Compression using the LZMA algorithm" +msgstr ":mod:`lzma` --- Стиснення за допомогою алгоритму LZMA" + +msgid "**Source code:** :source:`Lib/lzma.py`" +msgstr "**Вихідний код:** :source:`Lib/lzma.py`" + +msgid "" +"This module provides classes and convenience functions for compressing and " +"decompressing data using the LZMA compression algorithm. Also included is a " +"file interface supporting the ``.xz`` and legacy ``.lzma`` file formats used " +"by the :program:`xz` utility, as well as raw compressed streams." +msgstr "" +"Цей модуль надає класи та зручні функції для стиснення та розпакування даних " +"за допомогою алгоритму стиснення LZMA. Також включено файловий інтерфейс, що " +"підтримує формати файлів ``.xz`` і застарілі ``.lzma``, які використовуються " +"утилітою :program:`xz`, а також необроблені стиснені потоки." + +msgid "" +"The interface provided by this module is very similar to that of the :mod:" +"`bz2` module. Note that :class:`LZMAFile` and :class:`bz2.BZ2File` are *not* " +"thread-safe, so if you need to use a single :class:`LZMAFile` instance from " +"multiple threads, it is necessary to protect it with a lock." +msgstr "" +"Інтерфейс цього модуля дуже схожий на інтерфейс модуля :mod:`bz2`. Зауважте, " +"що :class:`LZMAFile` і :class:`bz2.BZ2File` *не* потокобезпечні, тому, якщо " +"вам потрібно використовувати один екземпляр :class:`LZMAFile` з кількох " +"потоків, його необхідно захистити з замком." + +msgid "" +"This exception is raised when an error occurs during compression or " +"decompression, or while initializing the compressor/decompressor state." +msgstr "" +"Цей виняток виникає, коли виникає помилка під час стиснення чи розпакування " +"або під час ініціалізації стану компресора/декомпресора." + +msgid "Reading and writing compressed files" +msgstr "Читання та запис стиснутих файлів" + +msgid "" +"Open an LZMA-compressed file in binary or text mode, returning a :term:`file " +"object`." +msgstr "" +"Відкрийте файл, стиснутий за допомогою LZMA, у двійковому або текстовому " +"режимі, повертаючи :term:`file object`." + +msgid "" +"The *filename* argument can be either an actual file name (given as a :class:" +"`str`, :class:`bytes` or :term:`path-like ` object), in " +"which case the named file is opened, or it can be an existing file object to " +"read from or write to." +msgstr "" +"Аргументом *filename* може бути або фактичне ім’я файлу (надане як об’єкт :" +"class:`str`, :class:`bytes` або :term:`path-like `), у " +"такому випадку відкривається названий файл або це може бути існуючий " +"файловий об’єкт для читання або запису." + +msgid "" +"The *mode* argument can be any of ``\"r\"``, ``\"rb\"``, ``\"w\"``, ``\"wb" +"\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` or ``\"ab\"`` for binary mode, or ``" +"\"rt\"``, ``\"wt\"``, ``\"xt\"``, or ``\"at\"`` for text mode. The default " +"is ``\"rb\"``." +msgstr "" +"Аргумент *mode* може бути будь-яким із ``\"r\"``, ``\"rb\"``, ``\"w\"``, ``" +"\"wb\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` або ``\"ab\"`` для двійкового " +"режиму, або ``\"rt\"``, ``\"wt\"``, ``\"xt\"`` або ``\"at\"`` для текстового " +"режиму. Типовим є ``\"rb\"``." + +msgid "" +"When opening a file for reading, the *format* and *filters* arguments have " +"the same meanings as for :class:`LZMADecompressor`. In this case, the " +"*check* and *preset* arguments should not be used." +msgstr "" +"Під час відкриття файлу для читання аргументи *format* і *filters* мають " +"такі ж значення, як і для :class:`LZMADecompressor`. У цьому випадку " +"аргументи *check* і *preset* не повинні використовуватися." + +msgid "" +"When opening a file for writing, the *format*, *check*, *preset* and " +"*filters* arguments have the same meanings as for :class:`LZMACompressor`." +msgstr "" +"Під час відкриття файлу для запису аргументи *format*, *check*, *preset* і " +"*filters* мають таке ж значення, як і для :class:`LZMACompressor`." + +msgid "" +"For binary mode, this function is equivalent to the :class:`LZMAFile` " +"constructor: ``LZMAFile(filename, mode, ...)``. In this case, the " +"*encoding*, *errors* and *newline* arguments must not be provided." +msgstr "" +"Для бінарного режиму ця функція еквівалентна конструктору :class:`LZMAFile`: " +"``LZMAFile(filename, mode, ...)``. У цьому випадку аргументи *encoding*, " +"*errors* і *newline* не повинні надаватися." + +msgid "" +"For text mode, a :class:`LZMAFile` object is created, and wrapped in an :" +"class:`io.TextIOWrapper` instance with the specified encoding, error " +"handling behavior, and line ending(s)." +msgstr "" +"Для текстового режиму створюється об’єкт :class:`LZMAFile`, який " +"загортається в екземпляр :class:`io.TextIOWrapper` із вказаним кодуванням, " +"поведінкою обробки помилок і закінченнями рядків." + +msgid "Added support for the ``\"x\"``, ``\"xb\"`` and ``\"xt\"`` modes." +msgstr "Додано підтримку режимів ``\"x\"``, ``\"xb\"`` і ``\"xt\"``." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "Open an LZMA-compressed file in binary mode." +msgstr "Відкрийте файл, стиснутий за допомогою LZMA, у двійковому режимі." + +msgid "" +"An :class:`LZMAFile` can wrap an already-open :term:`file object`, or " +"operate directly on a named file. The *filename* argument specifies either " +"the file object to wrap, or the name of the file to open (as a :class:" +"`str`, :class:`bytes` or :term:`path-like ` object). When " +"wrapping an existing file object, the wrapped file will not be closed when " +"the :class:`LZMAFile` is closed." +msgstr "" +":class:`LZMAFile` може обернути вже відкритий :term:`file object` або " +"працювати безпосередньо з іменованим файлом. Аргумент *filename* визначає " +"або об’єкт файлу, який потрібно обернути, або ім’я файлу, який потрібно " +"відкрити (як об’єкт :class:`str`, :class:`bytes` або :term:`path-like `). Під час обгортання існуючого файлового об’єкта обернутий " +"файл не буде закрито, коли закрито :class:`LZMAFile`." + +msgid "" +"The *mode* argument can be either ``\"r\"`` for reading (default), ``\"w\"`` " +"for overwriting, ``\"x\"`` for exclusive creation, or ``\"a\"`` for " +"appending. These can equivalently be given as ``\"rb\"``, ``\"wb\"``, ``\"xb" +"\"`` and ``\"ab\"`` respectively." +msgstr "" +"Аргументом *mode* може бути ``\"r\"`` для читання (за замовчуванням), ``\"w" +"\"`` для перезапису, ``\"x\"`` для ексклюзивного створення або ``\"a\"`` для " +"додавання. Їх можна еквівалентно подати як ``\"rb\"``, ``\"wb\"``, ``\"xb" +"\"`` і ``\"ab\"`` відповідно." + +msgid "" +"If *filename* is a file object (rather than an actual file name), a mode of " +"``\"w\"`` does not truncate the file, and is instead equivalent to ``\"a\"``." +msgstr "" +"Якщо *filename* є файловим об’єктом (а не справжнім ім’ям файлу), режим ``\"w" +"\"`` не скорочує файл, а замість цього еквівалентний ``\"a\"``." + +msgid "" +"When opening a file for reading, the input file may be the concatenation of " +"multiple separate compressed streams. These are transparently decoded as a " +"single logical stream." +msgstr "" +"Під час відкриття файлу для читання вхідний файл може бути конкатенацією " +"кількох окремих стиснутих потоків. Вони прозоро декодуються як єдиний " +"логічний потік." + +msgid "" +":class:`LZMAFile` supports all the members specified by :class:`io." +"BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration " +"and the :keyword:`with` statement are supported." +msgstr "" +":class:`LZMAFile` підтримує всі елементи, визначені :class:`io." +"BufferedIOBase`, за винятком :meth:`detach` і :meth:`truncate`. Ітерація та " +"оператор :keyword:`with` підтримуються." + +msgid "The following method is also provided:" +msgstr "Також передбачено наступний спосіб:" + +msgid "" +"Return buffered data without advancing the file position. At least one byte " +"of data will be returned, unless EOF has been reached. The exact number of " +"bytes returned is unspecified (the *size* argument is ignored)." +msgstr "" +"Повернути буферизовані дані без просування позиції файлу. Принаймні один " +"байт даних буде повернуто, якщо не досягнуто EOF. Точна кількість повернутих " +"байтів не вказана (аргумент *size* ігнорується)." + +msgid "" +"While calling :meth:`peek` does not change the file position of the :class:" +"`LZMAFile`, it may change the position of the underlying file object (e.g. " +"if the :class:`LZMAFile` was constructed by passing a file object for " +"*filename*)." +msgstr "" +"Хоча виклик :meth:`peek` не змінює позицію файлу :class:`LZMAFile`, він може " +"змінити позицію основного файлового об’єкта (наприклад, якщо :class:" +"`LZMAFile` було створено шляхом передачі файлового об’єкта для *ім'я файлу*)." + +msgid "Added support for the ``\"x\"`` and ``\"xb\"`` modes." +msgstr "Додано підтримку режимів ``\"x\"`` і ``\"xb\"``." + +msgid "" +"The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " +"``None``." +msgstr "Метод :meth:`~io.BufferedIOBase.read` тепер приймає аргумент ``None``." + +msgid "Compressing and decompressing data in memory" +msgstr "Стиснення та розпакування даних у пам'яті" + +msgid "" +"Create a compressor object, which can be used to compress data incrementally." +msgstr "" +"Створіть об’єкт компресора, який можна використовувати для поступового " +"стиснення даних." + +msgid "" +"For a more convenient way of compressing a single chunk of data, see :func:" +"`compress`." +msgstr "" +"Для більш зручного способу стиснення окремої частини даних див. :func:" +"`compress`." + +msgid "" +"The *format* argument specifies what container format should be used. " +"Possible values are:" +msgstr "" +"Аргумент *format* визначає, який формат контейнера слід використовувати. " +"Можливі значення:" + +msgid ":const:`FORMAT_XZ`: The ``.xz`` container format." +msgstr ":const:`FORMAT_XZ`: Формат контейнера ``.xz``." + +msgid "This is the default format." +msgstr "Це стандартний формат." + +msgid ":const:`FORMAT_ALONE`: The legacy ``.lzma`` container format." +msgstr ":const:`FORMAT_ALONE`: Застарілий формат контейнера ``.lzma``." + +msgid "" +"This format is more limited than ``.xz`` -- it does not support integrity " +"checks or multiple filters." +msgstr "" +"Цей формат є більш обмеженим, ніж ``.xz`` - він не підтримує перевірку " +"цілісності або кілька фільтрів." + +msgid ":const:`FORMAT_RAW`: A raw data stream, not using any container format." +msgstr "" +":const:`FORMAT_RAW`: Потік необроблених даних без використання формату " +"контейнера." + +msgid "" +"This format specifier does not support integrity checks, and requires that " +"you always specify a custom filter chain (for both compression and " +"decompression). Additionally, data compressed in this manner cannot be " +"decompressed using :const:`FORMAT_AUTO` (see :class:`LZMADecompressor`)." +msgstr "" +"Цей специфікатор формату не підтримує перевірки цілісності та вимагає, щоб " +"ви завжди вказували настроюваний ланцюжок фільтрів (як для стиснення, так і " +"для розпакування). Крім того, дані, стиснуті таким чином, не можна " +"розпакувати за допомогою :const:`FORMAT_AUTO` (див. :class:" +"`LZMADecompressor`)." + +msgid "" +"The *check* argument specifies the type of integrity check to include in the " +"compressed data. This check is used when decompressing, to ensure that the " +"data has not been corrupted. Possible values are:" +msgstr "" +"Аргумент *check* визначає тип перевірки цілісності, який слід включити до " +"стиснутих даних. Ця перевірка використовується під час розпакування, щоб " +"переконатися, що дані не пошкоджено. Можливі значення:" + +msgid "" +":const:`CHECK_NONE`: No integrity check. This is the default (and the only " +"acceptable value) for :const:`FORMAT_ALONE` and :const:`FORMAT_RAW`." +msgstr "" +":const:`CHECK_NONE`: Без перевірки цілісності. Це стандартне (і єдине " +"прийнятне значення) для :const:`FORMAT_ALONE` і :const:`FORMAT_RAW`." + +msgid ":const:`CHECK_CRC32`: 32-bit Cyclic Redundancy Check." +msgstr ":const:`CHECK_CRC32`: 32-розрядна циклічна перевірка надмірності." + +msgid "" +":const:`CHECK_CRC64`: 64-bit Cyclic Redundancy Check. This is the default " +"for :const:`FORMAT_XZ`." +msgstr "" +":const:`CHECK_CRC64`: 64-бітна циклічна перевірка надмірності. Це типове " +"значення для :const:`FORMAT_XZ`." + +msgid ":const:`CHECK_SHA256`: 256-bit Secure Hash Algorithm." +msgstr ":const:`CHECK_SHA256`: 256-бітний безпечний алгоритм хешування." + +msgid "" +"If the specified check is not supported, an :class:`LZMAError` is raised." +msgstr "Якщо зазначена перевірка не підтримується, виникає :class:`LZMAError`." + +msgid "" +"The compression settings can be specified either as a preset compression " +"level (with the *preset* argument), or in detail as a custom filter chain " +"(with the *filters* argument)." +msgstr "" +"Параметри стиснення можна вказати або як попередньо встановлений рівень " +"стиснення (за допомогою аргументу *preset*), або детально як спеціальний " +"ланцюжок фільтрів (за допомогою аргументу *filters*)." + +msgid "" +"The *preset* argument (if provided) should be an integer between ``0`` and " +"``9`` (inclusive), optionally OR-ed with the constant :const:" +"`PRESET_EXTREME`. If neither *preset* nor *filters* are given, the default " +"behavior is to use :const:`PRESET_DEFAULT` (preset level ``6``). Higher " +"presets produce smaller output, but make the compression process slower." +msgstr "" +"Аргумент *preset* (якщо надано) має бути цілим числом від ``0`` до ``9`` " +"(включно), необов’язково через АБО з константою :const:`PRESET_EXTREME`. " +"Якщо ні *попереднє налаштування*, ні *фільтри* не вказано, поведінка за " +"замовчуванням полягає у використанні :const:`PRESET_DEFAULT` (рівень " +"попереднього налаштування ``6``). Більш високі налаштування дають менший " +"вихід, але сповільнюють процес стиснення." + +msgid "" +"In addition to being more CPU-intensive, compression with higher presets " +"also requires much more memory (and produces output that needs more memory " +"to decompress). With preset ``9`` for example, the overhead for an :class:" +"`LZMACompressor` object can be as high as 800 MiB. For this reason, it is " +"generally best to stick with the default preset." +msgstr "" +"Окрім того, що стиснення з вищими попередніми настройками вимагає більшого " +"навантаження на ЦП, воно також потребує набагато більше пам’яті (і створює " +"вивід, для розпакування якого потрібно більше пам’яті). Наприклад, із " +"заданим значенням ``9`` накладні витрати для об’єкта :class:`LZMACompressor` " +"можуть сягати 800 МіБ. З цієї причини, як правило, краще дотримуватися " +"попереднього налаштування за замовчуванням." + +msgid "" +"The *filters* argument (if provided) should be a filter chain specifier. " +"See :ref:`filter-chain-specs` for details." +msgstr "" +"Аргумент *filters* (якщо надається) має бути специфікатором ланцюжка " +"фільтрів. Дивіться :ref:`filter-chain-specs` для деталей." + +msgid "" +"Compress *data* (a :class:`bytes` object), returning a :class:`bytes` object " +"containing compressed data for at least part of the input. Some of *data* " +"may be buffered internally, for use in later calls to :meth:`compress` and :" +"meth:`flush`. The returned data should be concatenated with the output of " +"any previous calls to :meth:`compress`." +msgstr "" +"Стиснути *дані* (об’єкт :class:`bytes`), повертаючи об’єкт :class:`bytes`, " +"що містить стислі дані принаймні для частини вхідних даних. Деякі з *даних* " +"можуть буферизуватися усередині для використання в наступних викликах :meth:" +"`compress` і :meth:`flush`. Повернуті дані мають бути об’єднані з " +"результатами будь-яких попередніх викликів :meth:`compress`." + +msgid "" +"Finish the compression process, returning a :class:`bytes` object containing " +"any data stored in the compressor's internal buffers." +msgstr "" +"Завершіть процес стиснення, повернувши об’єкт :class:`bytes`, що містить " +"будь-які дані, що зберігаються у внутрішніх буферах компресора." + +msgid "The compressor cannot be used after this method has been called." +msgstr "Компресор не можна використовувати після виклику цього методу." + +msgid "" +"Create a decompressor object, which can be used to decompress data " +"incrementally." +msgstr "" +"Створіть об’єкт декомпресії, який можна використовувати для поступового " +"розпакування даних." + +msgid "" +"For a more convenient way of decompressing an entire compressed stream at " +"once, see :func:`decompress`." +msgstr "" +"Для більш зручного способу розпакування всього стисненого потоку одночасно " +"див. :func:`decompress`." + +msgid "" +"The *format* argument specifies the container format that should be used. " +"The default is :const:`FORMAT_AUTO`, which can decompress both ``.xz`` and " +"``.lzma`` files. Other possible values are :const:`FORMAT_XZ`, :const:" +"`FORMAT_ALONE`, and :const:`FORMAT_RAW`." +msgstr "" +"Аргумент *format* визначає формат контейнера, який слід використовувати. " +"Типовим є :const:`FORMAT_AUTO`, який може розпакувати як файли ``.xz``, так " +"і ``.lzma``. Інші можливі значення: :const:`FORMAT_XZ`, :const:" +"`FORMAT_ALONE` і :const:`FORMAT_RAW`." + +msgid "" +"The *memlimit* argument specifies a limit (in bytes) on the amount of memory " +"that the decompressor can use. When this argument is used, decompression " +"will fail with an :class:`LZMAError` if it is not possible to decompress the " +"input within the given memory limit." +msgstr "" +"Аргумент *memlimit* визначає обмеження (у байтах) на обсяг пам’яті, який " +"може використовувати розпаковувач. Коли цей аргумент використовується, " +"декомпресія буде невдалою з :class:`LZMAError`, якщо неможливо розпакувати " +"вхідні дані в межах заданого ліміту пам’яті." + +msgid "" +"The *filters* argument specifies the filter chain that was used to create " +"the stream being decompressed. This argument is required if *format* is :" +"const:`FORMAT_RAW`, but should not be used for other formats. See :ref:" +"`filter-chain-specs` for more information about filter chains." +msgstr "" +"Аргумент *filters* визначає ланцюжок фільтрів, який використовувався для " +"створення потоку, що розпаковується. Цей аргумент є обов’язковим, якщо " +"*format* має значення :const:`FORMAT_RAW`, але його не слід використовувати " +"для інших форматів. Перегляньте :ref:`filter-chain-specs` для отримання " +"додаткової інформації про ланцюги фільтрів." + +msgid "" +"This class does not transparently handle inputs containing multiple " +"compressed streams, unlike :func:`decompress` and :class:`LZMAFile`. To " +"decompress a multi-stream input with :class:`LZMADecompressor`, you must " +"create a new decompressor for each stream." +msgstr "" +"Цей клас не обробляє прозоро вхідні дані, що містять кілька стиснутих " +"потоків, на відміну від :func:`decompress` і :class:`LZMAFile`. Щоб " +"розпакувати багатопотоковий вхід за допомогою :class:`LZMADecompressor`, ви " +"повинні створити новий розпаковувач для кожного потоку." + +msgid "" +"Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " +"as bytes. Some of *data* may be buffered internally, for use in later calls " +"to :meth:`decompress`. The returned data should be concatenated with the " +"output of any previous calls to :meth:`decompress`." +msgstr "" +"Розпакуйте *дані* (:term:`bytes-like object`), повертаючи нестиснуті дані у " +"вигляді байтів. Деякі з *даних* можуть бути збережені у внутрішньому буфері " +"для використання в подальших викликах :meth:`decompress`. Повернуті дані " +"мають бути об’єднані з результатами будь-яких попередніх викликів :meth:" +"`decompress`." + +msgid "" +"If *max_length* is nonnegative, returns at most *max_length* bytes of " +"decompressed data. If this limit is reached and further output can be " +"produced, the :attr:`~.needs_input` attribute will be set to ``False``. In " +"this case, the next call to :meth:`~.decompress` may provide *data* as " +"``b''`` to obtain more of the output." +msgstr "" +"Якщо *max_length* є невід’ємним, повертає щонайбільше *max_length* байтів " +"розпакованих даних. Якщо цей ліміт буде досягнуто, і буде створено подальший " +"вихід, атрибут :attr:`~.needs_input` буде встановлено на ``False``. У цьому " +"випадку наступний виклик :meth:`~.decompress` може надати *data* як ``b''``, " +"щоб отримати більше вихідних даних." + +msgid "" +"If all of the input data was decompressed and returned (either because this " +"was less than *max_length* bytes, or because *max_length* was negative), " +"the :attr:`~.needs_input` attribute will be set to ``True``." +msgstr "" +"Якщо всі вхідні дані було розпаковано та повернуто (або через те, що вони " +"були меншими за *max_length* байтів, або через те, що *max_length* було " +"від’ємним), для атрибута :attr:`~.needs_input` буде встановлено значення " +"``True`` ." + +msgid "" +"Attempting to decompress data after the end of stream is reached raises an :" +"exc:`EOFError`. Any data found after the end of the stream is ignored and " +"saved in the :attr:`~.unused_data` attribute." +msgstr "" + +msgid "Added the *max_length* parameter." +msgstr "Додано параметр *max_length*." + +msgid "" +"The ID of the integrity check used by the input stream. This may be :const:" +"`CHECK_UNKNOWN` until enough of the input has been decoded to determine what " +"integrity check it uses." +msgstr "" +"Ідентифікатор перевірки цілісності, який використовується вхідним потоком. " +"Це може бути :const:`CHECK_UNKNOWN`, поки не буде декодовано достатньо " +"вхідних даних, щоб визначити, яку перевірку цілісності він використовує." + +msgid "``True`` if the end-of-stream marker has been reached." +msgstr "``True``, якщо досягнуто маркера кінця потоку." + +msgid "Data found after the end of the compressed stream." +msgstr "Дані знайдено після закінчення стисненого потоку." + +msgid "Before the end of the stream is reached, this will be ``b\"\"``." +msgstr "До кінця потоку це буде ``b\"\"``." + +msgid "" +"``False`` if the :meth:`.decompress` method can provide more decompressed " +"data before requiring new uncompressed input." +msgstr "" +"``False``, якщо метод :meth:`.decompress` може надати більше розпакованих " +"даних перед запитом нового нестисненого введення." + +msgid "" +"Compress *data* (a :class:`bytes` object), returning the compressed data as " +"a :class:`bytes` object." +msgstr "" +"Стискати *data* (об’єкт :class:`bytes`), повертаючи стислі дані як об’єкт :" +"class:`bytes`." + +msgid "" +"See :class:`LZMACompressor` above for a description of the *format*, " +"*check*, *preset* and *filters* arguments." +msgstr "" +"Перегляньте :class:`LZMACompressor` вище для опису аргументів *format*, " +"*check*, *preset* і *filters*." + +msgid "" +"Decompress *data* (a :class:`bytes` object), returning the uncompressed data " +"as a :class:`bytes` object." +msgstr "" +"Розархівуйте *data* (об’єкт :class:`bytes`), повертаючи нестиснуті дані як " +"об’єкт :class:`bytes`." + +msgid "" +"If *data* is the concatenation of multiple distinct compressed streams, " +"decompress all of these streams, and return the concatenation of the results." +msgstr "" +"Якщо *data* є конкатенацією кількох окремих стиснутих потоків, розпакуйте " +"всі ці потоки та поверніть конкатенацію результатів." + +msgid "" +"See :class:`LZMADecompressor` above for a description of the *format*, " +"*memlimit* and *filters* arguments." +msgstr "" +"Перегляньте :class:`LZMADecompressor` вище для опису аргументів *format*, " +"*memlimit* і *filters*." + +msgid "Miscellaneous" +msgstr "Різне" + +msgid "" +"Return ``True`` if the given integrity check is supported on this system." +msgstr "" +"Повертає ``True``, якщо ця перевірка цілісності підтримується цією системою." + +msgid "" +":const:`CHECK_NONE` and :const:`CHECK_CRC32` are always supported. :const:" +"`CHECK_CRC64` and :const:`CHECK_SHA256` may be unavailable if you are using " +"a version of :program:`liblzma` that was compiled with a limited feature set." +msgstr "" +":const:`CHECK_NONE` і :const:`CHECK_CRC32` підтримуються завжди. :const:" +"`CHECK_CRC64` і :const:`CHECK_SHA256` можуть бути недоступні, якщо ви " +"використовуєте версію :program:`liblzma`, яка була скомпільована з обмеженим " +"набором функцій." + +msgid "Specifying custom filter chains" +msgstr "Визначення власних ланцюжків фільтрів" + +msgid "" +"A filter chain specifier is a sequence of dictionaries, where each " +"dictionary contains the ID and options for a single filter. Each dictionary " +"must contain the key ``\"id\"``, and may contain additional keys to specify " +"filter-dependent options. Valid filter IDs are as follows:" +msgstr "" +"Специфікатор ланцюжка фільтрів — це послідовність словників, де кожен " +"словник містить ідентифікатор і параметри для одного фільтра. Кожен словник " +"має містити ключ ``\"id\"`` і може містити додаткові ключі для визначення " +"залежних від фільтрів параметрів. Дійсні ідентифікатори фільтрів:" + +msgid "Compression filters:" +msgstr "Компресійні фільтри:" + +msgid ":const:`FILTER_LZMA1` (for use with :const:`FORMAT_ALONE`)" +msgstr ":const:`FILTER_LZMA1` (для використання з :const:`FORMAT_ALONE`)" + +msgid "" +":const:`FILTER_LZMA2` (for use with :const:`FORMAT_XZ` and :const:" +"`FORMAT_RAW`)" +msgstr "" +":const:`FILTER_LZMA2` (для використання з :const:`FORMAT_XZ` і :const:" +"`FORMAT_RAW`)" + +msgid "Delta filter:" +msgstr "Дельта-фільтр:" + +msgid ":const:`FILTER_DELTA`" +msgstr ":const:`FILTER_DELTA`" + +msgid "Branch-Call-Jump (BCJ) filters:" +msgstr "Фільтри Branch-Call-Jump (BCJ):" + +msgid ":const:`FILTER_X86`" +msgstr ":const:`FILTER_X86`" + +msgid ":const:`FILTER_IA64`" +msgstr ":const:`FILTER_IA64`" + +msgid ":const:`FILTER_ARM`" +msgstr ":const:`FILTER_ARM`" + +msgid ":const:`FILTER_ARMTHUMB`" +msgstr ":const:`FILTER_ARMTHUMB`" + +msgid ":const:`FILTER_POWERPC`" +msgstr ":const:`FILTER_POWERPC`" + +msgid ":const:`FILTER_SPARC`" +msgstr ":const:`FILTER_SPARC`" + +msgid "" +"A filter chain can consist of up to 4 filters, and cannot be empty. The last " +"filter in the chain must be a compression filter, and any other filters must " +"be delta or BCJ filters." +msgstr "" +"Ланцюг фільтрів може складатися з 4 фільтрів і не може бути порожнім. " +"Останній фільтр у ланцюжку має бути фільтром стиснення, а будь-які інші " +"фільтри мають бути фільтрами дельта або BCJ." + +msgid "" +"Compression filters support the following options (specified as additional " +"entries in the dictionary representing the filter):" +msgstr "" +"Фільтри стиснення підтримують такі параметри (зазначені як додаткові записи " +"в словнику, що представляє фільтр):" + +msgid "" +"``preset``: A compression preset to use as a source of default values for " +"options that are not specified explicitly." +msgstr "" +"``попереднє налаштування``: Попереднє налаштування стиснення, яке " +"використовується як джерело значень за замовчуванням для параметрів, які не " +"вказані явно." + +msgid "" +"``dict_size``: Dictionary size in bytes. This should be between 4 KiB and " +"1.5 GiB (inclusive)." +msgstr "" +"``dict_size``: розмір словника в байтах. Це має бути від 4 КіБ до 1,5 ГіБ " +"(включно)." + +msgid "``lc``: Number of literal context bits." +msgstr "``lc``: кількість літеральних бітів контексту." + +msgid "" +"``lp``: Number of literal position bits. The sum ``lc + lp`` must be at most " +"4." +msgstr "" +"``lp``: кількість літеральних бітів позиції. Сума \"lc + lp\" має бути не " +"більше 4." + +msgid "``pb``: Number of position bits; must be at most 4." +msgstr "``pb``: кількість бітів позиції; повинно бути не більше 4." + +msgid "``mode``: :const:`MODE_FAST` or :const:`MODE_NORMAL`." +msgstr "``режим``: :const:`MODE_FAST` або :const:`MODE_NORMAL`." + +msgid "" +"``nice_len``: What should be considered a \"nice length\" for a match. This " +"should be 273 or less." +msgstr "" +"``nice_len``: що слід вважати \"гарною довжиною\" для збігу. Це має бути 273 " +"або менше." + +msgid "" +"``mf``: What match finder to use -- :const:`MF_HC3`, :const:`MF_HC4`, :const:" +"`MF_BT2`, :const:`MF_BT3`, or :const:`MF_BT4`." +msgstr "" +"``mf``: Який засіб пошуку збігів використовувати -- :const:`MF_HC3`, :const:" +"`MF_HC4`, :const:`MF_BT2`, :const:`MF_BT3` або :const:`MF_BT4`." + +msgid "" +"``depth``: Maximum search depth used by match finder. 0 (default) means to " +"select automatically based on other filter options." +msgstr "" +"``depth``: максимальна глибина пошуку, яка використовується шукачем збігів. " +"0 (за замовчуванням) означає автоматичний вибір на основі інших параметрів " +"фільтра." + +msgid "" +"The delta filter stores the differences between bytes, producing more " +"repetitive input for the compressor in certain circumstances. It supports " +"one option, ``dist``. This indicates the distance between bytes to be " +"subtracted. The default is 1, i.e. take the differences between adjacent " +"bytes." +msgstr "" +"Дельта-фільтр зберігає відмінності між байтами, створюючи більш повторювані " +"вхідні дані для компресора за певних обставин. Він підтримує один параметр, " +"``dist``. Це вказує на відстань між байтами, які потрібно відняти. За " +"замовчуванням 1, тобто беруться різниці між сусідніми байтами." + +msgid "" +"The BCJ filters are intended to be applied to machine code. They convert " +"relative branches, calls and jumps in the code to use absolute addressing, " +"with the aim of increasing the redundancy that can be exploited by the " +"compressor. These filters support one option, ``start_offset``. This " +"specifies the address that should be mapped to the beginning of the input " +"data. The default is 0." +msgstr "" +"Фільтри BCJ призначені для застосування до машинного коду. Вони перетворюють " +"відносні розгалуження, виклики та переходи в коді на використання абсолютної " +"адресації з метою збільшення надмірності, яку може використовувати " +"компресор. Ці фільтри підтримують один параметр, ``start_offset``. Це вказує " +"адресу, яку слід відобразити на початку вхідних даних. За замовчуванням 0." + +msgid "Examples" +msgstr "Приклади" + +msgid "Reading in a compressed file::" +msgstr "Читання у стисненому файлі::" + +msgid "Creating a compressed file::" +msgstr "Створення стисненого файлу::" + +msgid "Compressing data in memory::" +msgstr "Стиснення даних у пам'яті:" + +msgid "Incremental compression::" +msgstr "Поступове стиснення::" + +msgid "Writing compressed data to an already-open file::" +msgstr "Запис стислих даних у вже відкритий файл::" + +msgid "Creating a compressed file using a custom filter chain::" +msgstr "" +"Створення стисненого файлу за допомогою спеціального ланцюжка фільтрів::" diff --git a/library/mailbox.po b/library/mailbox.po new file mode 100644 index 000000000..9763b36ae --- /dev/null +++ b/library/mailbox.po @@ -0,0 +1,1984 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" +msgstr ":mod:`mailbox` --- Керуйте поштовими скриньками в різних форматах" + +msgid "**Source code:** :source:`Lib/mailbox.py`" +msgstr "**Вихідний код:** :source:`Lib/mailbox.py`" + +msgid "" +"This module defines two classes, :class:`Mailbox` and :class:`Message`, for " +"accessing and manipulating on-disk mailboxes and the messages they contain. :" +"class:`Mailbox` offers a dictionary-like mapping from keys to messages. :" +"class:`Message` extends the :mod:`email.message` module's :class:`~email." +"message.Message` class with format-specific state and behavior. Supported " +"mailbox formats are Maildir, mbox, MH, Babyl, and MMDF." +msgstr "" +"Цей модуль визначає два класи, :class:`Mailbox` і :class:`Message`, для " +"доступу до поштових скриньок на диску та маніпулювання ними та " +"повідомленнями, які вони містять. :class:`Mailbox` пропонує відображення " +"ключів у повідомленнях, подібне до словника. :class:`Message` розширює клас :" +"class:`~email.message.Message` модуля :mod:`email.message` за допомогою " +"стану та поведінки, що залежать від формату. Підтримувані формати поштових " +"скриньок: Maildir, mbox, MH, Babyl і MMDF." + +msgid "Module :mod:`email`" +msgstr "Модуль :mod:`email`" + +msgid "Represent and manipulate messages." +msgstr "Представляти та маніпулювати повідомленнями." + +msgid ":class:`Mailbox` objects" +msgstr ":class:`Mailbox`" + +msgid "A mailbox, which may be inspected and modified." +msgstr "Поштова скринька, яку можна перевірити та змінити." + +msgid "" +"The :class:`Mailbox` class defines an interface and is not intended to be " +"instantiated. Instead, format-specific subclasses should inherit from :" +"class:`Mailbox` and your code should instantiate a particular subclass." +msgstr "" +"Клас :class:`Mailbox` визначає інтерфейс і не призначений для створення " +"екземплярів. Замість цього підкласи, що стосуються певного формату, повинні " +"успадковуватись від :class:`Mailbox`, і ваш код має створити екземпляр " +"певного підкласу." + +msgid "" +"The :class:`Mailbox` interface is dictionary-like, with small keys " +"corresponding to messages. Keys are issued by the :class:`Mailbox` instance " +"with which they will be used and are only meaningful to that :class:" +"`Mailbox` instance. A key continues to identify a message even if the " +"corresponding message is modified, such as by replacing it with another " +"message." +msgstr "" +"Інтерфейс :class:`Mailbox` подібний до словника, з маленькими клавішами, що " +"відповідають повідомленням. Ключі видаються екземпляром :class:`Mailbox`, з " +"яким вони використовуватимуться, і мають значення лише для цього екземпляра :" +"class:`Mailbox`. Ключ продовжує ідентифікувати повідомлення, навіть якщо " +"відповідне повідомлення змінено, наприклад, замінивши його іншим " +"повідомленням." + +msgid "" +"Messages may be added to a :class:`Mailbox` instance using the set-like " +"method :meth:`add` and removed using a ``del`` statement or the set-like " +"methods :meth:`remove` and :meth:`discard`." +msgstr "" +"Повідомлення можна додавати до екземпляра :class:`Mailbox` за допомогою " +"методу set-like :meth:`add` і видаляти за допомогою оператора ``del`` або " +"методів set-подібних :meth:`remove` і :meth:`discard`." + +msgid "" +":class:`Mailbox` interface semantics differ from dictionary semantics in " +"some noteworthy ways. Each time a message is requested, a new representation " +"(typically a :class:`Message` instance) is generated based upon the current " +"state of the mailbox. Similarly, when a message is added to a :class:" +"`Mailbox` instance, the provided message representation's contents are " +"copied. In neither case is a reference to the message representation kept by " +"the :class:`Mailbox` instance." +msgstr "" +"Семантика інтерфейсу :class:`Mailbox` відрізняється від семантики словника " +"декількома важливими способами. Кожного разу, коли запитується повідомлення, " +"генерується нове представлення (зазвичай екземпляр :class:`Message`) на " +"основі поточного стану поштової скриньки. Подібним чином, коли повідомлення " +"додається до екземпляра :class:`Mailbox`, надане представлення вмісту " +"повідомлення копіюється. У жодному випадку посилання на представлення " +"повідомлення не зберігається екземпляром :class:`Mailbox`." + +msgid "" +"The default :class:`Mailbox` iterator iterates over message representations, " +"not keys as the default dictionary iterator does. Moreover, modification of " +"a mailbox during iteration is safe and well-defined. Messages added to the " +"mailbox after an iterator is created will not be seen by the iterator. " +"Messages removed from the mailbox before the iterator yields them will be " +"silently skipped, though using a key from an iterator may result in a :exc:" +"`KeyError` exception if the corresponding message is subsequently removed." +msgstr "" +"Ітератор :class:`Mailbox` за замовчуванням перебирає представлення " +"повідомлень, а не ключі, як це робить ітератор словника за замовчуванням. " +"Крім того, модифікація поштової скриньки під час ітерації є безпечною та " +"чітко визначеною. Повідомлення, додані до поштової скриньки після створення " +"ітератора, не бачитимуться ітератором. Повідомлення, видалені з поштової " +"скриньки до того, як ітератор видасть їх, будуть мовчки пропущені, хоча " +"використання ключа з ітератора може призвести до винятку :exc:`KeyError`, " +"якщо відповідне повідомлення згодом буде видалено." + +msgid "" +"Be very cautious when modifying mailboxes that might be simultaneously " +"changed by some other process. The safest mailbox format to use for such " +"tasks is Maildir; try to avoid using single-file formats such as mbox for " +"concurrent writing. If you're modifying a mailbox, you *must* lock it by " +"calling the :meth:`lock` and :meth:`unlock` methods *before* reading any " +"messages in the file or making any changes by adding or deleting a message. " +"Failing to lock the mailbox runs the risk of losing messages or corrupting " +"the entire mailbox." +msgstr "" +"Будьте дуже обережні, змінюючи поштові скриньки, які можуть бути одночасно " +"змінені іншим процесом. Найбезпечнішим форматом поштової скриньки для таких " +"завдань є Maildir; намагайтеся уникати використання однофайлових форматів, " +"таких як mbox, для одночасного запису. Якщо ви змінюєте поштову скриньку, ви " +"*має* заблокувати її, викликавши методи :meth:`lock` і :meth:`unlock` " +"*перед* читанням будь-яких повідомлень у файлі або внесенням будь-яких змін " +"шляхом додавання чи видалення повідомлення . Якщо поштову скриньку не " +"заблокувати, існує ризик втрати повідомлень або пошкодження всієї поштової " +"скриньки." + +msgid ":class:`Mailbox` instances have the following methods:" +msgstr "Екземпляри :class:`Mailbox` мають такі методи:" + +msgid "" +"Add *message* to the mailbox and return the key that has been assigned to it." +msgstr "" +"Додайте *повідомлення* до поштової скриньки та поверніть призначений їй ключ." + +msgid "" +"Parameter *message* may be a :class:`Message` instance, an :class:`email." +"message.Message` instance, a string, a byte string, or a file-like object " +"(which should be open in binary mode). If *message* is an instance of the " +"appropriate format-specific :class:`Message` subclass (e.g., if it's an :" +"class:`mboxMessage` instance and this is an :class:`mbox` instance), its " +"format-specific information is used. Otherwise, reasonable defaults for " +"format-specific information are used." +msgstr "" +"Параметр *message* може бути екземпляром :class:`Message`, екземпляром :" +"class:`email.message.Message`, рядком, рядком байтів або файлоподібним " +"об’єктом (який має бути відкритий у двійковому режимі) . Якщо *message* є " +"екземпляром відповідного підкласу :class:`Message` (наприклад, якщо це " +"екземпляр :class:`mboxMessage`, а це екземпляр :class:`mbox`), його " +"специфічний для формату використовується інформація. В іншому випадку " +"використовуються розумні значення за замовчуванням для інформації про певний " +"формат." + +msgid "Support for binary input was added." +msgstr "Додано підтримку двійкового введення." + +msgid "Delete the message corresponding to *key* from the mailbox." +msgstr "Видалити з поштової скриньки повідомлення, що відповідає *ключу*." + +msgid "" +"If no such message exists, a :exc:`KeyError` exception is raised if the " +"method was called as :meth:`remove` or :meth:`__delitem__` but no exception " +"is raised if the method was called as :meth:`discard`. The behavior of :meth:" +"`discard` may be preferred if the underlying mailbox format supports " +"concurrent modification by other processes." +msgstr "" +"Якщо такого повідомлення немає, виникає виняток :exc:`KeyError`, якщо метод " +"викликано як :meth:`remove` або :meth:`__delitem__`, але жодного винятку не " +"виникає, якщо метод викликано як :meth:`discard`. Поведінка :meth:`discard` " +"може бути кращою, якщо базовий формат поштової скриньки підтримує одночасну " +"модифікацію іншими процесами." + +msgid "" +"Replace the message corresponding to *key* with *message*. Raise a :exc:" +"`KeyError` exception if no message already corresponds to *key*." +msgstr "" +"Замініть повідомлення, що відповідає *ключу* на *повідомлення*. Викликати " +"виняток :exc:`KeyError`, якщо жодне повідомлення вже не відповідає *ключу*." + +msgid "" +"As with :meth:`add`, parameter *message* may be a :class:`Message` instance, " +"an :class:`email.message.Message` instance, a string, a byte string, or a " +"file-like object (which should be open in binary mode). If *message* is an " +"instance of the appropriate format-specific :class:`Message` subclass (e.g., " +"if it's an :class:`mboxMessage` instance and this is an :class:`mbox` " +"instance), its format-specific information is used. Otherwise, the format-" +"specific information of the message that currently corresponds to *key* is " +"left unchanged." +msgstr "" +"Як і :meth:`add`, параметр *message* може бути екземпляром :class:`Message`, " +"екземпляром :class:`email.message.Message`, рядком, рядком байтів або " +"файлоподібним об’єктом (який має бути відкритий у двійковому режимі). Якщо " +"*message* є екземпляром відповідного підкласу :class:`Message` (наприклад, " +"якщо це екземпляр :class:`mboxMessage`, а це екземпляр :class:`mbox`), його " +"специфічний для формату використовується інформація. В іншому випадку " +"інформація про формат повідомлення, яке наразі відповідає *ключу*, " +"залишається без змін." + +msgid "" +"Return an iterator over all keys if called as :meth:`iterkeys` or return a " +"list of keys if called as :meth:`keys`." +msgstr "" +"Повертає ітератор для всіх ключів, якщо викликається як :meth:`iterkeys`, " +"або повертає список ключів, якщо викликається як :meth:`keys`." + +msgid "" +"Return an iterator over representations of all messages if called as :meth:" +"`itervalues` or :meth:`__iter__` or return a list of such representations if " +"called as :meth:`values`. The messages are represented as instances of the " +"appropriate format-specific :class:`Message` subclass unless a custom " +"message factory was specified when the :class:`Mailbox` instance was " +"initialized." +msgstr "" +"Повертає ітератор над представленнями всіх повідомлень, якщо викликається " +"як :meth:`itervalues` або :meth:`__iter__`, або повертає список таких " +"представлень, якщо викликається як :meth:`values`. Повідомлення представлені " +"як екземпляри відповідного підкласу :class:`Message`, що залежить від " +"формату, якщо під час ініціалізації екземпляра :class:`Mailbox` не було " +"вказано спеціальну фабрику повідомлень." + +msgid "" +"The behavior of :meth:`__iter__` is unlike that of dictionaries, which " +"iterate over keys." +msgstr "" +"Поведінка :meth:`__iter__` відрізняється від поведінки словників, які " +"перебирають ключі." + +msgid "" +"Return an iterator over (*key*, *message*) pairs, where *key* is a key and " +"*message* is a message representation, if called as :meth:`iteritems` or " +"return a list of such pairs if called as :meth:`items`. The messages are " +"represented as instances of the appropriate format-specific :class:`Message` " +"subclass unless a custom message factory was specified when the :class:" +"`Mailbox` instance was initialized." +msgstr "" +"Повертає ітератор над парами (*key*, *message*), де *key* є ключем, а " +"*message* є представленням повідомлення, якщо викликається як :meth:" +"`iteritems`, або повертає список таких пар, якщо викликається як :meth:" +"`items`. Повідомлення представлено як екземпляри відповідного підкласу :" +"class:`Message`, що залежить від формату, якщо під час ініціалізації " +"екземпляра :class:`Mailbox` не було вказано спеціальну фабрику повідомлень." + +msgid "" +"Return a representation of the message corresponding to *key*. If no such " +"message exists, *default* is returned if the method was called as :meth:" +"`get` and a :exc:`KeyError` exception is raised if the method was called as :" +"meth:`__getitem__`. The message is represented as an instance of the " +"appropriate format-specific :class:`Message` subclass unless a custom " +"message factory was specified when the :class:`Mailbox` instance was " +"initialized." +msgstr "" +"Повертає представлення повідомлення, що відповідає *ключу*. Якщо такого " +"повідомлення немає, повертається *default*, якщо метод було викликано як :" +"meth:`get`, а якщо метод було викликано як :meth:`__getitem__`, виникає " +"виняток :exc:`KeyError`. Повідомлення представлено як екземпляр відповідного " +"підкласу :class:`Message`, що залежить від формату, якщо під час " +"ініціалізації екземпляра :class:`Mailbox` не було вказано спеціальну фабрику " +"повідомлень." + +msgid "" +"Return a representation of the message corresponding to *key* as an instance " +"of the appropriate format-specific :class:`Message` subclass, or raise a :" +"exc:`KeyError` exception if no such message exists." +msgstr "" +"Повернути представлення повідомлення, що відповідає *key*, як екземпляр " +"відповідного підкласу :class:`Message` або створити виняток :exc:`KeyError`, " +"якщо таке повідомлення не існує." + +msgid "" +"Return a byte representation of the message corresponding to *key*, or raise " +"a :exc:`KeyError` exception if no such message exists." +msgstr "" +"Повертає байтове представлення повідомлення, що відповідає *key*, або " +"викликає виняток :exc:`KeyError`, якщо такого повідомлення не існує." + +msgid "" +"Return a string representation of the message corresponding to *key*, or " +"raise a :exc:`KeyError` exception if no such message exists. The message is " +"processed through :class:`email.message.Message` to convert it to a 7bit " +"clean representation." +msgstr "" +"Повернути рядкове представлення повідомлення, що відповідає *key*, або " +"викликати виняток :exc:`KeyError`, якщо такого повідомлення не існує. " +"Повідомлення обробляється через :class:`email.message.Message`, щоб " +"перетворити його на 7-бітне чисте представлення." + +msgid "" +"Return a file-like representation of the message corresponding to *key*, or " +"raise a :exc:`KeyError` exception if no such message exists. The file-like " +"object behaves as if open in binary mode. This file should be closed once " +"it is no longer needed." +msgstr "" +"Повернути файлоподібне представлення повідомлення, що відповідає *ключу*, " +"або викликати виняток :exc:`KeyError`, якщо такого повідомлення не існує. " +"Файлоподібний об'єкт поводиться як відкритий у двійковому режимі. Цей файл " +"слід закрити, коли він більше не потрібен." + +msgid "" +"The file object really is a binary file; previously it was incorrectly " +"returned in text mode. Also, the file-like object now supports the context " +"management protocol: you can use a :keyword:`with` statement to " +"automatically close it." +msgstr "" +"Файловий об'єкт насправді є двійковим файлом; раніше він некоректно " +"повертався в текстовому режимі. Крім того, файлоподібний об’єкт тепер " +"підтримує протокол керування контекстом: ви можете використовувати оператор :" +"keyword:`with`, щоб автоматично закрити його." + +msgid "" +"Unlike other representations of messages, file-like representations are not " +"necessarily independent of the :class:`Mailbox` instance that created them " +"or of the underlying mailbox. More specific documentation is provided by " +"each subclass." +msgstr "" +"На відміну від інших представлень повідомлень, файлоподібні представлення не " +"обов’язково є незалежними від примірника :class:`Mailbox`, який їх створив, " +"або від основної поштової скриньки. Більш детальну документацію надає кожен " +"підклас." + +msgid "Return ``True`` if *key* corresponds to a message, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо *ключ* відповідає повідомленню, ``False`` інакше." + +msgid "Return a count of messages in the mailbox." +msgstr "Повернути кількість повідомлень у поштовій скриньці." + +msgid "Delete all messages from the mailbox." +msgstr "Видалити всі повідомлення з поштової скриньки." + +msgid "" +"Return a representation of the message corresponding to *key* and delete the " +"message. If no such message exists, return *default*. The message is " +"represented as an instance of the appropriate format-specific :class:" +"`Message` subclass unless a custom message factory was specified when the :" +"class:`Mailbox` instance was initialized." +msgstr "" +"Повернути представлення повідомлення, що відповідає *ключу*, і видалити " +"повідомлення. Якщо такого повідомлення немає, поверніть *default*. " +"Повідомлення представлено як екземпляр відповідного підкласу :class:" +"`Message`, що залежить від формату, якщо під час ініціалізації екземпляра :" +"class:`Mailbox` не було вказано спеціальну фабрику повідомлень." + +msgid "" +"Return an arbitrary (*key*, *message*) pair, where *key* is a key and " +"*message* is a message representation, and delete the corresponding message. " +"If the mailbox is empty, raise a :exc:`KeyError` exception. The message is " +"represented as an instance of the appropriate format-specific :class:" +"`Message` subclass unless a custom message factory was specified when the :" +"class:`Mailbox` instance was initialized." +msgstr "" +"Повертає довільну пару (*ключ*, *повідомлення*), де *ключ* — це ключ, а " +"*повідомлення* — представлення повідомлення, і видаляє відповідне " +"повідомлення. Якщо поштова скринька порожня, викликайте виняток :exc:" +"`KeyError`. Повідомлення представлено як екземпляр відповідного підкласу :" +"class:`Message`, що залежить від формату, якщо під час ініціалізації " +"екземпляра :class:`Mailbox` не було вказано спеціальну фабрику повідомлень." + +msgid "" +"Parameter *arg* should be a *key*-to-*message* mapping or an iterable of " +"(*key*, *message*) pairs. Updates the mailbox so that, for each given *key* " +"and *message*, the message corresponding to *key* is set to *message* as if " +"by using :meth:`__setitem__`. As with :meth:`__setitem__`, each *key* must " +"already correspond to a message in the mailbox or else a :exc:`KeyError` " +"exception will be raised, so in general it is incorrect for *arg* to be a :" +"class:`Mailbox` instance." +msgstr "" +"Параметр *arg* має бути зіставленням *ключ*до*повідомлення* або ітерацією " +"пар (*ключ*, *повідомлення*). Оновлює поштову скриньку таким чином, що для " +"кожного заданого *ключа* та *повідомлення* повідомлення, що відповідає " +"*ключу*, встановлюється на *повідомлення*, ніби за допомогою :meth:" +"`__setitem__`. Як і у випадку з :meth:`__setitem__`, кожен *ключ* має вже " +"відповідати повідомленню в поштовій скриньці, інакше буде викликано виняток :" +"exc:`KeyError`, тому загалом невірно, щоб *arg* був екземпляр :class:" +"`Mailbox`." + +msgid "Unlike with dictionaries, keyword arguments are not supported." +msgstr "На відміну від словників, аргументи ключових слів не підтримуються." + +msgid "" +"Write any pending changes to the filesystem. For some :class:`Mailbox` " +"subclasses, changes are always written immediately and :meth:`flush` does " +"nothing, but you should still make a habit of calling this method." +msgstr "" +"Запишіть усі незавершені зміни до файлової системи. Для деяких підкласів :" +"class:`Mailbox` зміни завжди записуються негайно, а :meth:`flush` нічого не " +"робить, але ви все одно повинні мати звичку викликати цей метод." + +msgid "" +"Acquire an exclusive advisory lock on the mailbox so that other processes " +"know not to modify it. An :exc:`ExternalClashError` is raised if the lock is " +"not available. The particular locking mechanisms used depend upon the " +"mailbox format. You should *always* lock the mailbox before making any " +"modifications to its contents." +msgstr "" +"Отримайте ексклюзивне консультаційне блокування поштової скриньки, щоб інші " +"процеси знали, що не потрібно її змінювати. Якщо блокування недоступне, " +"виникає :exc:`ExternalClashError`. Використовувані конкретні механізми " +"блокування залежать від формату поштової скриньки. Ви повинні *завжди* " +"блокувати поштову скриньку, перш ніж вносити будь-які зміни в її вміст." + +msgid "Release the lock on the mailbox, if any." +msgstr "Зніміть блокування поштової скриньки, якщо є." + +msgid "" +"Flush the mailbox, unlock it if necessary, and close any open files. For " +"some :class:`Mailbox` subclasses, this method does nothing." +msgstr "" +"Очистіть поштову скриньку, розблокуйте її, якщо необхідно, і закрийте всі " +"відкриті файли. Для деяких підкласів :class:`Mailbox` цей метод нічого не " +"робить." + +msgid ":class:`Maildir`" +msgstr ":class:`Maildir`" + +msgid "" +"A subclass of :class:`Mailbox` for mailboxes in Maildir format. Parameter " +"*factory* is a callable object that accepts a file-like message " +"representation (which behaves as if opened in binary mode) and returns a " +"custom representation. If *factory* is ``None``, :class:`MaildirMessage` is " +"used as the default message representation. If *create* is ``True``, the " +"mailbox is created if it does not exist." +msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі Maildir. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`MaildirMessage` використовується як типове представлення " +"повідомлення. Якщо *create* має значення ``True``, поштова скринька буде " +"створена, якщо вона не існує." + +msgid "" +"If *create* is ``True`` and the *dirname* path exists, it will be treated as " +"an existing maildir without attempting to verify its directory layout." +msgstr "" +"Якщо *create* має значення ``True`` і шлях *dirname* існує, він " +"розглядатиметься як існуючий maildir без спроби перевірити розташування його " +"каталогу." + +msgid "" +"It is for historical reasons that *dirname* is named as such rather than " +"*path*." +msgstr "З історичних причин *dirname* названо так, а не *path*." + +msgid "" +"Maildir is a directory-based mailbox format invented for the qmail mail " +"transfer agent and now widely supported by other programs. Messages in a " +"Maildir mailbox are stored in separate files within a common directory " +"structure. This design allows Maildir mailboxes to be accessed and modified " +"by multiple unrelated programs without data corruption, so file locking is " +"unnecessary." +msgstr "" +"Maildir — це формат поштової скриньки на основі каталогу, винайдений для " +"агента передачі пошти qmail і тепер широко підтримується іншими програмами. " +"Повідомлення в поштовій скриньці Maildir зберігаються в окремих файлах у " +"загальній структурі каталогу. Ця конструкція дозволяє отримувати доступ до " +"поштових скриньок Maildir і змінювати їх кількома непов’язаними програмами " +"без пошкодження даних, тому блокування файлів непотрібне." + +msgid "" +"Maildir mailboxes contain three subdirectories, namely: :file:`tmp`, :file:" +"`new`, and :file:`cur`. Messages are created momentarily in the :file:`tmp` " +"subdirectory and then moved to the :file:`new` subdirectory to finalize " +"delivery. A mail user agent may subsequently move the message to the :file:" +"`cur` subdirectory and store information about the state of the message in a " +"special \"info\" section appended to its file name." +msgstr "" +"Поштові скриньки Maildir містять три підкаталоги, а саме: :file:`tmp`, :file:" +"`new` і :file:`cur`. Повідомлення миттєво створюються в підкаталозі :file:" +"`tmp`, а потім переміщуються в підкаталог :file:`new` для завершення " +"доставки. Поштовий агент користувача може згодом перемістити повідомлення до " +"підкаталогу :file:`cur` і зберегти інформацію про стан повідомлення в " +"спеціальному розділі \"info\", доданому до імені файлу." + +msgid "" +"Folders of the style introduced by the Courier mail transfer agent are also " +"supported. Any subdirectory of the main mailbox is considered a folder if " +"``'.'`` is the first character in its name. Folder names are represented by :" +"class:`Maildir` without the leading ``'.'``. Each folder is itself a Maildir " +"mailbox but should not contain other folders. Instead, a logical nesting is " +"indicated using ``'.'`` to delimit levels, e.g., \"Archived.2005.07\"." +msgstr "" +"Також підтримуються папки стилю, представленого агентом передачі пошти " +"\"Кур'єр\". Будь-який підкаталог головної поштової скриньки вважається " +"папкою, якщо ``'.'`` є першим символом у його імені. Імена папок " +"представлені :class:`Maildir` без початкового ``'.''``. Кожна папка сама є " +"поштовою скринькою Maildir, але не повинна містити інших папок. Натомість " +"логічне вкладення вказується за допомогою ``'.'`` для розмежування рівнів, " +"наприклад, \"Архівовано.2005.07\"." + +msgid "" +"The Maildir specification requires the use of a colon (``':'``) in certain " +"message file names. However, some operating systems do not permit this " +"character in file names, If you wish to use a Maildir-like format on such an " +"operating system, you should specify another character to use instead. The " +"exclamation point (``'!'``) is a popular choice. For example::" +msgstr "" +"Специфікація Maildir вимагає використання двокрапки (``':'``) у певних " +"іменах файлів повідомлень. Однак деякі операційні системи не дозволяють " +"використовувати цей символ у назвах файлів. Якщо ви бажаєте використовувати " +"формат, подібний до Maildir, у такій операційній системі, вам слід указати " +"інший символ для використання замість нього. Знак оклику (``'!'``) є " +"популярним вибором. Наприклад::" + +msgid "The :attr:`colon` attribute may also be set on a per-instance basis." +msgstr "Атрибут :attr:`colon` також можна встановити для кожного екземпляра." + +msgid "" +":class:`Maildir` instances have all of the methods of :class:`Mailbox` in " +"addition to the following:" +msgstr "" +"Екземпляри :class:`Maildir` мають усі методи :class:`Mailbox` на додаток до " +"наступного:" + +msgid "Return a list of the names of all folders." +msgstr "Повернути список імен усіх папок." + +msgid "" +"Return a :class:`Maildir` instance representing the folder whose name is " +"*folder*. A :exc:`NoSuchMailboxError` exception is raised if the folder does " +"not exist." +msgstr "" +"Повертає екземпляр :class:`Maildir`, який представляє папку з назвою " +"*folder*. Виняток :exc:`NoSuchMailboxError` виникає, якщо папка не існує." + +msgid "" +"Create a folder whose name is *folder* and return a :class:`Maildir` " +"instance representing it." +msgstr "" +"Створіть папку з іменем *folder* і поверніть екземпляр :class:`Maildir`, що " +"її представляє." + +msgid "" +"Delete the folder whose name is *folder*. If the folder contains any " +"messages, a :exc:`NotEmptyError` exception will be raised and the folder " +"will not be deleted." +msgstr "" +"Видаліть папку з назвою *папка*. Якщо папка містить будь-які повідомлення, " +"буде викликано виняток :exc:`NotEmptyError` і папку не буде видалено." + +msgid "" +"Delete temporary files from the mailbox that have not been accessed in the " +"last 36 hours. The Maildir specification says that mail-reading programs " +"should do this occasionally." +msgstr "" +"Видаліть із поштової скриньки тимчасові файли, до яких не було доступу " +"протягом останніх 36 годин. Специфікація Maildir говорить, що програми для " +"читання пошти повинні робити це час від часу." + +msgid "" +"Some :class:`Mailbox` methods implemented by :class:`Maildir` deserve " +"special remarks:" +msgstr "" +"Деякі методи :class:`Mailbox`, реалізовані :class:`Maildir`, заслуговують на " +"особливі зауваження:" + +msgid "" +"These methods generate unique file names based upon the current process ID. " +"When using multiple threads, undetected name clashes may occur and cause " +"corruption of the mailbox unless threads are coordinated to avoid using " +"these methods to manipulate the same mailbox simultaneously." +msgstr "" +"Ці методи генерують унікальні імена файлів на основі ідентифікатора " +"поточного процесу. Під час використання кількох потоків можуть виникнути " +"невиявлені конфлікти імен і спричинити пошкодження поштової скриньки, якщо " +"потоки не координуються, щоб уникнути використання цих методів для " +"одночасного маніпулювання тією самою поштовою скринькою." + +msgid "" +"All changes to Maildir mailboxes are immediately applied, so this method " +"does nothing." +msgstr "" +"Усі зміни в поштових скриньках Maildir застосовуються негайно, тому цей " +"метод нічого не робить." + +msgid "" +"Maildir mailboxes do not support (or require) locking, so these methods do " +"nothing." +msgstr "" +"Поштові скриньки Maildir не підтримують (або вимагають) блокування, тому ці " +"методи нічого не роблять." + +msgid "" +":class:`Maildir` instances do not keep any open files and the underlying " +"mailboxes do not support locking, so this method does nothing." +msgstr "" +"Екземпляри :class:`Maildir` не зберігають жодних відкритих файлів, а основні " +"поштові скриньки не підтримують блокування, тому цей метод нічого не робить." + +msgid "" +"Depending upon the host platform, it may not be possible to modify or remove " +"the underlying message while the returned file remains open." +msgstr "" +"Залежно від хост-платформи може бути неможливо змінити або видалити базове " +"повідомлення, поки повернутий файл залишається відкритим." + +msgid "" +"`maildir man page from Courier `_" +msgstr "" + +msgid "" +"A specification of the format. Describes a common extension for supporting " +"folders." +msgstr "Специфікація формату. Описує загальне розширення для підтримки папок." + +msgid "`Using maildir format `_" +msgstr "`Використання формату maildir `_" + +msgid "" +"Notes on Maildir by its inventor. Includes an updated name-creation scheme " +"and details on \"info\" semantics." +msgstr "" +"Нотатки про Maildir від його винахідника. Включає оновлену схему створення " +"імен і подробиці семантики \"info\"." + +msgid ":class:`mbox`" +msgstr ":class:`mbox`" + +msgid "" +"A subclass of :class:`Mailbox` for mailboxes in mbox format. Parameter " +"*factory* is a callable object that accepts a file-like message " +"representation (which behaves as if opened in binary mode) and returns a " +"custom representation. If *factory* is ``None``, :class:`mboxMessage` is " +"used as the default message representation. If *create* is ``True``, the " +"mailbox is created if it does not exist." +msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі mbox. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`mboxMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." + +msgid "" +"The mbox format is the classic format for storing mail on Unix systems. All " +"messages in an mbox mailbox are stored in a single file with the beginning " +"of each message indicated by a line whose first five characters are \"From " +"\"." +msgstr "" +"Формат mbox є класичним форматом для зберігання пошти в системах Unix. Усі " +"повідомлення в поштовій скриньці mbox зберігаються в одному файлі, початок " +"кожного повідомлення позначається рядком, перші п’ять символів якого є \"Від" +"\"." + +msgid "" +"Several variations of the mbox format exist to address perceived " +"shortcomings in the original. In the interest of compatibility, :class:" +"`mbox` implements the original format, which is sometimes referred to as :" +"dfn:`mboxo`. This means that the :mailheader:`Content-Length` header, if " +"present, is ignored and that any occurrences of \"From \" at the beginning " +"of a line in a message body are transformed to \">From \" when storing the " +"message, although occurrences of \">From \" are not transformed to \"From \" " +"when reading the message." +msgstr "" +"Існує кілька варіантів формату mbox для усунення недоліків оригіналу. В " +"інтересах сумісності :class:`mbox` реалізує вихідний формат, який іноді " +"називають :dfn:`mboxo`. Це означає, що заголовок :mailheader:`Content-" +"Length`, якщо він присутній, ігнорується, а будь-які випадки \"Від\" на " +"початку рядка в тілі повідомлення перетворюються на \">Від\" під час " +"збереження повідомлення, хоча входження \">Від\" не перетворюються на \"Від" +"\" під час читання повідомлення." + +msgid "" +"Some :class:`Mailbox` methods implemented by :class:`mbox` deserve special " +"remarks:" +msgstr "" +"Деякі методи :class:`Mailbox`, реалізовані :class:`mbox`, заслуговують на " +"особливі зауваження:" + +msgid "" +"Using the file after calling :meth:`flush` or :meth:`close` on the :class:" +"`mbox` instance may yield unpredictable results or raise an exception." +msgstr "" +"Використання файлу після виклику :meth:`flush` або :meth:`close` для " +"екземпляра :class:`mbox` може призвести до непередбачуваних результатів або " +"викликати виняткову ситуацію." + +msgid "" +"Three locking mechanisms are used---dot locking and, if available, the :c:" +"func:`flock` and :c:func:`lockf` system calls." +msgstr "" +"Використовуються три механізми блокування ---точкове блокування та, якщо " +"доступно, системні виклики :c:func:`flock` і :c:func:`lockf`." + +msgid "" +"`mbox man page from tin `_" +msgstr "" +"`сторінка довідки mbox з tin `_" + +msgid "A specification of the format, with details on locking." +msgstr "Специфікація формату з деталями щодо блокування." + +msgid "" +"`Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad " +"`_" +msgstr "" +"`Налаштування Netscape Mail в Unix: Чому формат довжини вмісту поганий " +"`_" + +msgid "An argument for using the original mbox format rather than a variation." +msgstr "Аргумент для використання оригінального формату mbox, а не варіації." + +msgid "" +"`\"mbox\" is a family of several mutually incompatible mailbox formats " +"`_" +msgstr "" +"`\"mbox\" - це сімейство з кількох взаємно несумісних форматів поштових " +"скриньок `_" + +msgid "A history of mbox variations." +msgstr "Історія різновидів mbox." + +msgid ":class:`MH`" +msgstr ":class:`MH`" + +msgid "" +"A subclass of :class:`Mailbox` for mailboxes in MH format. Parameter " +"*factory* is a callable object that accepts a file-like message " +"representation (which behaves as if opened in binary mode) and returns a " +"custom representation. If *factory* is ``None``, :class:`MHMessage` is used " +"as the default message representation. If *create* is ``True``, the mailbox " +"is created if it does not exist." +msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі MH. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`MHMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." + +msgid "" +"MH is a directory-based mailbox format invented for the MH Message Handling " +"System, a mail user agent. Each message in an MH mailbox resides in its own " +"file. An MH mailbox may contain other MH mailboxes (called :dfn:`folders`) " +"in addition to messages. Folders may be nested indefinitely. MH mailboxes " +"also support :dfn:`sequences`, which are named lists used to logically group " +"messages without moving them to sub-folders. Sequences are defined in a file " +"called :file:`.mh_sequences` in each folder." +msgstr "" +"MH — це формат поштової скриньки на основі каталогу, створений для системи " +"обробки повідомлень MH, агента користувача електронної пошти. Кожне " +"повідомлення в поштовій скриньці MH зберігається в окремому файлі. Крім " +"повідомлень, поштова скринька MH може містити інші поштові скриньки MH (так " +"звані :dfn:`folders`). Папки можуть бути вкладеними нескінченно довго. " +"Поштові скриньки MH також підтримують :dfn:`sequences`, які є іменованими " +"списками, які використовуються для логічного групування повідомлень без їх " +"переміщення до підпапок. Послідовності визначено у файлі під назвою :file:`." +"mh_sequences` у кожній папці." + +msgid "" +"The :class:`MH` class manipulates MH mailboxes, but it does not attempt to " +"emulate all of :program:`mh`'s behaviors. In particular, it does not modify " +"and is not affected by the :file:`context` or :file:`.mh_profile` files that " +"are used by :program:`mh` to store its state and configuration." +msgstr "" +"Клас :class:`MH` керує поштовими скриньками MH, але він не намагається " +"емулювати всю поведінку :program:`mh`. Зокрема, він не змінюється та не " +"впливає на файли :file:`context` або :file:`.mh_profile`, які " +"використовуються :program:`mh` для зберігання його стану та конфігурації." + +msgid "" +":class:`MH` instances have all of the methods of :class:`Mailbox` in " +"addition to the following:" +msgstr "" +"Екземпляри :class:`MH` мають усі методи :class:`Mailbox` на додаток до " +"наступного:" + +msgid "" +"Return an :class:`MH` instance representing the folder whose name is " +"*folder*. A :exc:`NoSuchMailboxError` exception is raised if the folder does " +"not exist." +msgstr "" +"Повертає екземпляр :class:`MH`, який представляє папку з назвою *folder*. " +"Виняток :exc:`NoSuchMailboxError` викликається, якщо папка не існує." + +msgid "" +"Create a folder whose name is *folder* and return an :class:`MH` instance " +"representing it." +msgstr "" +"Створіть папку з іменем *folder* і поверніть екземпляр :class:`MH`, що її " +"представляє." + +msgid "" +"Return a dictionary of sequence names mapped to key lists. If there are no " +"sequences, the empty dictionary is returned." +msgstr "" +"Повертає словник імен послідовностей, зіставлених зі списками ключів. Якщо " +"послідовностей немає, повертається порожній словник." + +msgid "" +"Re-define the sequences that exist in the mailbox based upon *sequences*, a " +"dictionary of names mapped to key lists, like returned by :meth:" +"`get_sequences`." +msgstr "" +"Повторно визначте послідовності, які існують у поштовій скриньці, на основі " +"*sequences*, словника імен, зіставлених зі списками ключів, як повертає :" +"meth:`get_sequences`." + +msgid "" +"Rename messages in the mailbox as necessary to eliminate gaps in numbering. " +"Entries in the sequences list are updated correspondingly." +msgstr "" +"Перейменуйте повідомлення в поштовій скриньці за потреби, щоб усунути " +"прогалини в нумерації. Записи в списку послідовностей оновлюються відповідно." + +msgid "" +"Already-issued keys are invalidated by this operation and should not be " +"subsequently used." +msgstr "" +"Уже видані ключі стають недійсними під час цієї операції та не повинні " +"використовуватися згодом." + +msgid "" +"Some :class:`Mailbox` methods implemented by :class:`MH` deserve special " +"remarks:" +msgstr "" +"Деякі методи :class:`Mailbox`, реалізовані :class:`MH`, заслуговують на " +"особливі зауваження:" + +msgid "" +"These methods immediately delete the message. The MH convention of marking a " +"message for deletion by prepending a comma to its name is not used." +msgstr "" +"Ці методи негайно видаляють повідомлення. Угода MH про позначення " +"повідомлення для видалення шляхом додавання коми перед його назвою не " +"використовується." + +msgid "" +"Three locking mechanisms are used---dot locking and, if available, the :c:" +"func:`flock` and :c:func:`lockf` system calls. For MH mailboxes, locking the " +"mailbox means locking the :file:`.mh_sequences` file and, only for the " +"duration of any operations that affect them, locking individual message " +"files." +msgstr "" +"Використовуються три механізми блокування ---точкове блокування та, якщо " +"доступно, системні виклики :c:func:`flock` і :c:func:`lockf`. Для поштових " +"скриньок MH блокування поштової скриньки означає блокування файлу :file:`." +"mh_sequences` і блокування окремих файлів повідомлень лише на час виконання " +"будь-яких операцій, які на них впливають." + +msgid "" +"Depending upon the host platform, it may not be possible to remove the " +"underlying message while the returned file remains open." +msgstr "" +"Залежно від хост-платформи може бути неможливо видалити базове повідомлення, " +"поки повернутий файл залишається відкритим." + +msgid "" +"All changes to MH mailboxes are immediately applied, so this method does " +"nothing." +msgstr "" +"Усі зміни до поштових скриньок MH негайно застосовуються, тому цей метод " +"нічого не робить." + +msgid "" +":class:`MH` instances do not keep any open files, so this method is " +"equivalent to :meth:`unlock`." +msgstr "" +"Екземпляри :class:`MH` не зберігають відкритих файлів, тому цей метод " +"еквівалентний :meth:`unlock`." + +msgid "`nmh - Message Handling System `_" +msgstr "" + +msgid "" +"Home page of :program:`nmh`, an updated version of the original :program:" +"`mh`." +msgstr "" +"Домашня сторінка :program:`nmh`, оновленої версії оригінальної :program:`mh`." + +msgid "" +"`MH & nmh: Email for Users & Programmers `_" +msgstr "" +"`MH & nmh: Електронна пошта для користувачів і програмістів `_" + +msgid "" +"A GPL-licensed book on :program:`mh` and :program:`nmh`, with some " +"information on the mailbox format." +msgstr "" +"Ліцензована GPL книга про :program:`mh` і :program:`nmh`, з деякою " +"інформацією про формат поштової скриньки." + +msgid ":class:`Babyl`" +msgstr ":class:`Babyl`" + +msgid "" +"A subclass of :class:`Mailbox` for mailboxes in Babyl format. Parameter " +"*factory* is a callable object that accepts a file-like message " +"representation (which behaves as if opened in binary mode) and returns a " +"custom representation. If *factory* is ``None``, :class:`BabylMessage` is " +"used as the default message representation. If *create* is ``True``, the " +"mailbox is created if it does not exist." +msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі Babyl. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`BabylMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." + +msgid "" +"Babyl is a single-file mailbox format used by the Rmail mail user agent " +"included with Emacs. The beginning of a message is indicated by a line " +"containing the two characters Control-Underscore (``'\\037'``) and Control-L " +"(``'\\014'``). The end of a message is indicated by the start of the next " +"message or, in the case of the last message, a line containing a Control-" +"Underscore (``'\\037'``) character." +msgstr "" +"Babyl — це однофайловий формат поштової скриньки, який використовується " +"поштовим агентом користувача Rmail, що входить до складу Emacs. Початок " +"повідомлення позначається рядком, що містить два символи Control-Underscore " +"(``'\\037'``) і Control-L (``'\\014'``). Кінець повідомлення позначається " +"початком наступного повідомлення або, у випадку останнього повідомлення, " +"рядком, що містить символ Control-Underscore (``'\\037'``)." + +msgid "" +"Messages in a Babyl mailbox have two sets of headers, original headers and " +"so-called visible headers. Visible headers are typically a subset of the " +"original headers that have been reformatted or abridged to be more " +"attractive. Each message in a Babyl mailbox also has an accompanying list " +"of :dfn:`labels`, or short strings that record extra information about the " +"message, and a list of all user-defined labels found in the mailbox is kept " +"in the Babyl options section." +msgstr "" +"Повідомлення в поштовій скриньці Babyl мають два набори заголовків, " +"оригінальні заголовки та так звані видимі заголовки. Видимі заголовки " +"зазвичай є підмножиною вихідних заголовків, які було переформатовано або " +"скорочено, щоб бути більш привабливими. Кожне повідомлення в поштовій " +"скриньці Babyl також має супровідний список :dfn:`labels` або коротких " +"рядків, які записують додаткову інформацію про повідомлення, а список усіх " +"визначених користувачем міток, знайдених у поштовій скриньці, зберігається в " +"розділі параметрів Babyl ." + +msgid "" +":class:`Babyl` instances have all of the methods of :class:`Mailbox` in " +"addition to the following:" +msgstr "" +"Екземпляри :class:`Babyl` мають усі методи :class:`Mailbox` на додаток до " +"наступного:" + +msgid "" +"Return a list of the names of all user-defined labels used in the mailbox." +msgstr "" +"Повертає список імен усіх визначених користувачем міток, які " +"використовуються в поштовій скриньці." + +msgid "" +"The actual messages are inspected to determine which labels exist in the " +"mailbox rather than consulting the list of labels in the Babyl options " +"section, but the Babyl section is updated whenever the mailbox is modified." +msgstr "" +"Фактичні повідомлення перевіряються, щоб визначити, які мітки існують у " +"поштовій скриньці, замість перегляду списку міток у розділі параметрів " +"Babyl, але розділ Babyl оновлюється щоразу, коли поштова скринька змінюється." + +msgid "" +"Some :class:`Mailbox` methods implemented by :class:`Babyl` deserve special " +"remarks:" +msgstr "" +"Деякі методи :class:`Mailbox`, реалізовані :class:`Babyl`, заслуговують на " +"окремі зауваження:" + +msgid "" +"In Babyl mailboxes, the headers of a message are not stored contiguously " +"with the body of the message. To generate a file-like representation, the " +"headers and body are copied together into an :class:`io.BytesIO` instance, " +"which has an API identical to that of a file. As a result, the file-like " +"object is truly independent of the underlying mailbox but does not save " +"memory compared to a string representation." +msgstr "" +"У поштових скриньках Babyl заголовки повідомлення не зберігаються поруч із " +"тілом повідомлення. Щоб створити файлоподібне представлення, заголовки та " +"тіло копіюються разом у екземпляр :class:`io.BytesIO`, який має API, " +"ідентичний API файлу. Як наслідок, файлоподібний об’єкт справді не залежить " +"від базової поштової скриньки, але не економить пам’ять у порівнянні з " +"представленням рядків." + +msgid "" +"`Format of Version 5 Babyl Files `_" +msgstr "`Формат файлів Babyl версії 5 `_" + +msgid "A specification of the Babyl format." +msgstr "Специфікація формату Babyl." + +msgid "" +"`Reading Mail with Rmail `_" +msgstr "" +"`Читання пошти за допомогою Rmail `_" + +msgid "The Rmail manual, with some information on Babyl semantics." +msgstr "Посібник Rmail з деякою інформацією про семантику Babyl." + +msgid ":class:`MMDF`" +msgstr ":class:`MMDF`" + +msgid "" +"A subclass of :class:`Mailbox` for mailboxes in MMDF format. Parameter " +"*factory* is a callable object that accepts a file-like message " +"representation (which behaves as if opened in binary mode) and returns a " +"custom representation. If *factory* is ``None``, :class:`MMDFMessage` is " +"used as the default message representation. If *create* is ``True``, the " +"mailbox is created if it does not exist." +msgstr "" +"Підклас :class:`Mailbox` для поштових скриньок у форматі MMDF. Параметр " +"*factory* — це викликаючий об’єкт, який приймає файлоподібне представлення " +"повідомлення (яке поводиться так, ніби відкрито в двійковому режимі) і " +"повертає спеціальне представлення. Якщо *factory* має значення ``None``, :" +"class:`MMDFMessage` використовується як типове представлення повідомлення. " +"Якщо *create* має значення ``True``, поштова скринька буде створена, якщо " +"вона не існує." + +msgid "" +"MMDF is a single-file mailbox format invented for the Multichannel " +"Memorandum Distribution Facility, a mail transfer agent. Each message is in " +"the same form as an mbox message but is bracketed before and after by lines " +"containing four Control-A (``'\\001'``) characters. As with the mbox format, " +"the beginning of each message is indicated by a line whose first five " +"characters are \"From \", but additional occurrences of \"From \" are not " +"transformed to \">From \" when storing messages because the extra message " +"separator lines prevent mistaking such occurrences for the starts of " +"subsequent messages." +msgstr "" +"MMDF — це однофайловий формат поштової скриньки, винайдений для Multichannel " +"Memorandum Distribution Facility, агента пересилання пошти. Кожне " +"повідомлення має таку саму форму, що й повідомлення mbox, але в дужках перед " +"і після рядки містять чотири символи Control-A (``'\\001'``). Як і у форматі " +"mbox, початок кожного повідомлення позначається рядком, перші п’ять символів " +"якого є \"Від\", але додаткові входження \"Від\" не перетворюються на \">Від" +"\" під час зберігання повідомлень, оскільки додаткові рядки-роздільники " +"повідомлень запобігають помилково приймаючи такі випадки за початок " +"наступних повідомлень." + +msgid "" +"Some :class:`Mailbox` methods implemented by :class:`MMDF` deserve special " +"remarks:" +msgstr "" +"Деякі методи :class:`Mailbox`, реалізовані :class:`MMDF`, заслуговують на " +"особливі зауваження:" + +msgid "" +"Using the file after calling :meth:`flush` or :meth:`close` on the :class:" +"`MMDF` instance may yield unpredictable results or raise an exception." +msgstr "" +"Використання файлу після виклику :meth:`flush` або :meth:`close` для " +"екземпляра :class:`MMDF` може призвести до непередбачуваних результатів або " +"викликати виняткову ситуацію." + +msgid "" +"`mmdf man page from tin `_" +msgstr "" +"`сторінка довідки mmdf з tin `_" + +msgid "" +"A specification of MMDF format from the documentation of tin, a newsreader." +msgstr "Специфікація формату MMDF із документації tin, читання новин." + +msgid "`MMDF `_" +msgstr "`MMDF `_" + +msgid "" +"A Wikipedia article describing the Multichannel Memorandum Distribution " +"Facility." +msgstr "" +"Стаття у Вікіпедії, що описує багатоканальний засіб розповсюдження " +"меморандумів." + +msgid ":class:`Message` objects" +msgstr ":class:`Message` об’єкти" + +msgid "" +"A subclass of the :mod:`email.message` module's :class:`~email.message." +"Message`. Subclasses of :class:`mailbox.Message` add mailbox-format-specific " +"state and behavior." +msgstr "" +"Підклас модуля :mod:`email.message` :class:`~email.message.Message`. " +"Підкласи :class:`mailbox.Message` додають стан і поведінку, залежні від " +"формату поштової скриньки." + +msgid "" +"If *message* is omitted, the new instance is created in a default, empty " +"state. If *message* is an :class:`email.message.Message` instance, its " +"contents are copied; furthermore, any format-specific information is " +"converted insofar as possible if *message* is a :class:`Message` instance. " +"If *message* is a string, a byte string, or a file, it should contain an :" +"rfc:`2822`\\ -compliant message, which is read and parsed. Files should be " +"open in binary mode, but text mode files are accepted for backward " +"compatibility." +msgstr "" +"Якщо *повідомлення* пропущено, новий екземпляр створюється в порожньому " +"стані за замовчуванням. Якщо *message* є екземпляром :class:`email.message." +"Message`, його вміст копіюється; крім того, будь-яка інформація про певний " +"формат перетворюється настільки, наскільки це можливо, якщо *message* є " +"екземпляром :class:`Message`. Якщо *повідомлення* є рядком, рядком байтів " +"або файлом, воно має містити :rfc:`2822`\\ -сумісне повідомлення, яке " +"читається та аналізується. Файли мають бути відкриті у двійковому режимі, " +"але текстові файли приймаються для зворотної сумісності." + +msgid "" +"The format-specific state and behaviors offered by subclasses vary, but in " +"general it is only the properties that are not specific to a particular " +"mailbox that are supported (although presumably the properties are specific " +"to a particular mailbox format). For example, file offsets for single-file " +"mailbox formats and file names for directory-based mailbox formats are not " +"retained, because they are only applicable to the original mailbox. But " +"state such as whether a message has been read by the user or marked as " +"important is retained, because it applies to the message itself." +msgstr "" +"Специфічний для формату стан і поведінка, запропоновані підкласами, " +"відрізняються, але загалом підтримуються лише ті властивості, які не є " +"специфічними для конкретної поштової скриньки (хоча, імовірно, властивості є " +"специфічними для певного формату поштової скриньки). Наприклад, зміщення " +"файлів для однофайлових форматів поштової скриньки та імена файлів для " +"форматів поштової скриньки на основі каталогу не зберігаються, оскільки вони " +"застосовуються лише до оригінальної поштової скриньки. Але інформація про " +"те, чи було повідомлення прочитано користувачем або позначено як важливе, " +"зберігається, оскільки воно стосується самого повідомлення." + +msgid "" +"There is no requirement that :class:`Message` instances be used to represent " +"messages retrieved using :class:`Mailbox` instances. In some situations, the " +"time and memory required to generate :class:`Message` representations might " +"not be acceptable. For such situations, :class:`Mailbox` instances also " +"offer string and file-like representations, and a custom message factory may " +"be specified when a :class:`Mailbox` instance is initialized." +msgstr "" +"Немає вимог щодо використання екземплярів :class:`Message` для представлення " +"повідомлень, отриманих за допомогою екземплярів :class:`Mailbox`. У деяких " +"ситуаціях час і пам’ять, необхідні для створення представлень :class:" +"`Message`, можуть бути неприйнятними. Для таких ситуацій екземпляри :class:" +"`Mailbox` також пропонують представлення у вигляді рядків і файлів, і власну " +"фабрику повідомлень можна вказати під час ініціалізації екземпляра :class:" +"`Mailbox`." + +msgid ":class:`MaildirMessage`" +msgstr ":class:`MaildirMessage`" + +msgid "" +"A message with Maildir-specific behaviors. Parameter *message* has the same " +"meaning as with the :class:`Message` constructor." +msgstr "" +"Повідомлення зі специфічною поведінкою Maildir. Параметр *message* має те " +"саме значення, що й у конструкторі :class:`Message`." + +msgid "" +"Typically, a mail user agent application moves all of the messages in the :" +"file:`new` subdirectory to the :file:`cur` subdirectory after the first time " +"the user opens and closes the mailbox, recording that the messages are old " +"whether or not they've actually been read. Each message in :file:`cur` has " +"an \"info\" section added to its file name to store information about its " +"state. (Some mail readers may also add an \"info\" section to messages in :" +"file:`new`.) The \"info\" section may take one of two forms: it may contain " +"\"2,\" followed by a list of standardized flags (e.g., \"2,FR\") or it may " +"contain \"1,\" followed by so-called experimental information. Standard " +"flags for Maildir messages are as follows:" +msgstr "" +"Як правило, програма поштового агента користувача переміщує всі повідомлення " +"з підкаталогу :file:`new` до підкаталогу :file:`cur` після того, як " +"користувач вперше відкриває та закриває поштову скриньку, записуючи, що " +"повідомлення є старими незалежно від того чи вони насправді не були " +"прочитані. Кожне повідомлення в :file:`cur` має розділ \"info\", доданий до " +"імені файлу для зберігання інформації про його стан. (Деякі програми для " +"читання пошти також можуть додавати розділ \"info\" до повідомлень у :file:" +"`new`.) Розділ \"info\" може мати одну з двох форм: він може містити \"2\", " +"після якого йде список стандартизованих позначок ( наприклад, \"2,FR\") або " +"може містити \"1\", за яким слідує так звана експериментальна інформація. " +"Стандартні позначки для повідомлень Maildir такі:" + +msgid "Flag" +msgstr "Прапор" + +msgid "Meaning" +msgstr "Значення" + +msgid "Explanation" +msgstr "Пояснення" + +msgid "D" +msgstr "Д" + +msgid "Draft" +msgstr "Чернетка" + +msgid "Under composition" +msgstr "Під композицією" + +msgid "F" +msgstr "Ф" + +msgid "Flagged" +msgstr "Позначено" + +msgid "Marked as important" +msgstr "Позначено як важливе" + +msgid "P" +msgstr "П" + +msgid "Passed" +msgstr "Пройшов" + +msgid "Forwarded, resent, or bounced" +msgstr "Переслано, повторно надіслано або відхилено" + +msgid "R" +msgstr "Р" + +msgid "Replied" +msgstr "Відповів" + +msgid "Replied to" +msgstr "Відповів" + +msgid "S" +msgstr "С" + +msgid "Seen" +msgstr "Бачив" + +msgid "Read" +msgstr "Прочитайте" + +msgid "T" +msgstr "Т" + +msgid "Trashed" +msgstr "У кошик" + +msgid "Marked for subsequent deletion" +msgstr "Позначено для подальшого видалення" + +msgid ":class:`MaildirMessage` instances offer the following methods:" +msgstr "Екземпляри :class:`MaildirMessage` пропонують такі методи:" + +msgid "" +"Return either \"new\" (if the message should be stored in the :file:`new` " +"subdirectory) or \"cur\" (if the message should be stored in the :file:`cur` " +"subdirectory)." +msgstr "" +"Повертає або \"новий\" (якщо повідомлення має зберігатися в підкаталозі :" +"file:`new`), або \"cur\" (якщо повідомлення має зберігатися в підкаталозі :" +"file:`cur`)." + +msgid "" +"A message is typically moved from :file:`new` to :file:`cur` after its " +"mailbox has been accessed, whether or not the message is has been read. A " +"message ``msg`` has been read if ``\"S\" in msg.get_flags()`` is ``True``." +msgstr "" +"Зазвичай повідомлення переміщується з :file:`new` до :file:`cur` після " +"доступу до його поштової скриньки, незалежно від того, прочитано чи ні " +"повідомлення. Повідомлення ``msg`` було прочитано, якщо ``\"S\" у msg." +"get_flags()`` має значення ``True``." + +msgid "" +"Set the subdirectory the message should be stored in. Parameter *subdir* " +"must be either \"new\" or \"cur\"." +msgstr "" +"Встановіть підкаталог, у якому має зберігатися повідомлення. Параметр " +"*subdir* повинен мати значення \"new\" або \"cur\"." + +msgid "" +"Return a string specifying the flags that are currently set. If the message " +"complies with the standard Maildir format, the result is the concatenation " +"in alphabetical order of zero or one occurrence of each of ``'D'``, ``'F'``, " +"``'P'``, ``'R'``, ``'S'``, and ``'T'``. The empty string is returned if no " +"flags are set or if \"info\" contains experimental semantics." +msgstr "" +"Повертає рядок із зазначенням поточних встановлених прапорів. Якщо " +"повідомлення відповідає стандартному формату Maildir, результатом є " +"конкатенація в алфавітному порядку нуля або одного входження кожного з " +"``'D'``, ``'F'``, ``'P'``, ``'R'``, ``'S'`` і ``'T''``. Порожній рядок " +"повертається, якщо не встановлено прапори або якщо \"info\" містить " +"експериментальну семантику." + +msgid "Set the flags specified by *flags* and unset all others." +msgstr "Встановіть прапорці, визначені *flags*, і скасуйте всі інші." + +msgid "" +"Set the flag(s) specified by *flag* without changing other flags. To add " +"more than one flag at a time, *flag* may be a string of more than one " +"character. The current \"info\" is overwritten whether or not it contains " +"experimental information rather than flags." +msgstr "" +"Встановіть прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб додати " +"більше ніж один прапор одночасно, *flag* може бути рядком із кількох " +"символів. Поточна \"інформація\" перезаписується незалежно від того, чи " +"містить вона експериментальну інформацію, а не прапорці." + +msgid "" +"Unset the flag(s) specified by *flag* without changing other flags. To " +"remove more than one flag at a time, *flag* maybe a string of more than one " +"character. If \"info\" contains experimental information rather than flags, " +"the current \"info\" is not modified." +msgstr "" +"Скасувати прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб " +"видалити кілька прапорців одночасно, *flag* може бути рядком із кількох " +"символів. Якщо \"info\" містить експериментальну інформацію, а не прапорці, " +"поточна \"info\" не змінюється." + +msgid "" +"Return the delivery date of the message as a floating-point number " +"representing seconds since the epoch." +msgstr "" +"Повертає дату доставки повідомлення як число з плаваючою комою, яке " +"представляє секунди з епохи." + +msgid "" +"Set the delivery date of the message to *date*, a floating-point number " +"representing seconds since the epoch." +msgstr "" +"Встановіть дату доставки повідомлення на *date*, число з плаваючою комою, " +"яке представляє секунди з епохи." + +msgid "" +"Return a string containing the \"info\" for a message. This is useful for " +"accessing and modifying \"info\" that is experimental (i.e., not a list of " +"flags)." +msgstr "" +"Повертає рядок, що містить \"інформацію\" про повідомлення. Це корисно для " +"доступу та модифікації \"інформації\", яка є експериментальною (тобто не " +"списку позначок)." + +msgid "Set \"info\" to *info*, which should be a string." +msgstr "Встановіть для \"info\" значення *info*, яке має бути рядком." + +msgid "" +"When a :class:`MaildirMessage` instance is created based upon an :class:" +"`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " +"and :mailheader:`X-Status` headers are omitted and the following conversions " +"take place:" +msgstr "" +"Коли екземпляр :class:`MaildirMessage` створюється на основі екземпляра :" +"class:`mboxMessage` або :class:`MMDFMessage`, заголовки :mailheader:`Status` " +"і :mailheader:`X-Status` пропускаються, а відбуваються такі перетворення:" + +msgid "Resulting state" +msgstr "Результуючий стан" + +msgid ":class:`mboxMessage` or :class:`MMDFMessage` state" +msgstr "стан :class:`mboxMessage` або :class:`MMDFMessage`" + +msgid "\"cur\" subdirectory" +msgstr "підкаталог \"cur\"." + +msgid "O flag" +msgstr "О прапор" + +msgid "F flag" +msgstr "Прапор F" + +msgid "R flag" +msgstr "Прапор R" + +msgid "A flag" +msgstr "Прапор" + +msgid "S flag" +msgstr "S прапор" + +msgid "T flag" +msgstr "Т прапор" + +msgid "D flag" +msgstr "D прапор" + +msgid "" +"When a :class:`MaildirMessage` instance is created based upon an :class:" +"`MHMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`MaildirMessage` створюється на основі примірника :" +"class:`MHMessage`, відбуваються такі перетворення:" + +msgid ":class:`MHMessage` state" +msgstr ":class:`MHMessage` стан" + +msgid "\"unseen\" sequence" +msgstr "\"невидима\" послідовність" + +msgid "\"cur\" subdirectory and S flag" +msgstr "підкаталог \"cur\" і прапор S" + +msgid "no \"unseen\" sequence" +msgstr "немає \"невидимої\" послідовності" + +msgid "\"flagged\" sequence" +msgstr "\"позначена\" послідовність" + +msgid "\"replied\" sequence" +msgstr "послідовність \"відповів\"." + +msgid "" +"When a :class:`MaildirMessage` instance is created based upon a :class:" +"`BabylMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`MaildirMessage` створюється на основі примірника :" +"class:`BabylMessage`, відбуваються такі перетворення:" + +msgid ":class:`BabylMessage` state" +msgstr ":class:`BabylMessage` стан" + +msgid "\"unseen\" label" +msgstr "ярлик \"невидимий\"." + +msgid "no \"unseen\" label" +msgstr "немає мітки \"невидиме\"." + +msgid "P flag" +msgstr "P прапор" + +msgid "\"forwarded\" or \"resent\" label" +msgstr "мітка \"переслано\" або \"повторно надіслано\"." + +msgid "\"answered\" label" +msgstr "мітка \"відповів\"." + +msgid "\"deleted\" label" +msgstr "ярлик \"видалено\"." + +msgid ":class:`mboxMessage`" +msgstr ":class:`mboxMessage`" + +msgid "" +"A message with mbox-specific behaviors. Parameter *message* has the same " +"meaning as with the :class:`Message` constructor." +msgstr "" +"Повідомлення зі специфічною поведінкою mbox. Параметр *message* має те саме " +"значення, що й у конструкторі :class:`Message`." + +msgid "" +"Messages in an mbox mailbox are stored together in a single file. The " +"sender's envelope address and the time of delivery are typically stored in a " +"line beginning with \"From \" that is used to indicate the start of a " +"message, though there is considerable variation in the exact format of this " +"data among mbox implementations. Flags that indicate the state of the " +"message, such as whether it has been read or marked as important, are " +"typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers." +msgstr "" +"Повідомлення в поштовій скриньці mbox зберігаються разом в одному файлі. " +"Адреса конверта відправника та час доставки зазвичай зберігаються в рядку, " +"що починається на \"Від\", який використовується для позначення початку " +"повідомлення, хоча існують значні відмінності в точному форматі цих даних " +"серед реалізацій mbox. Прапорці, які вказують на стан повідомлення, " +"наприклад, чи було воно прочитано чи позначено як важливе, зазвичай " +"зберігаються в заголовках :mailheader:`Status` і :mailheader:`X-Status`." + +msgid "Conventional flags for mbox messages are as follows:" +msgstr "Звичайні позначки для повідомлень mbox такі:" + +msgid "O" +msgstr "О" + +msgid "Old" +msgstr "Старий" + +msgid "Previously detected by MUA" +msgstr "Раніше виявлено MUA" + +msgid "Deleted" +msgstr "Видалено" + +msgid "A" +msgstr "А" + +msgid "Answered" +msgstr "відповів" + +msgid "" +"The \"R\" and \"O\" flags are stored in the :mailheader:`Status` header, and " +"the \"D\", \"F\", and \"A\" flags are stored in the :mailheader:`X-Status` " +"header. The flags and headers typically appear in the order mentioned." +msgstr "" +"Прапорці \"R\" і \"O\" зберігаються в заголовку :mailheader:`Status`, а " +"прапорці \"D\", \"F\" і \"A\" зберігаються в заголовку :mailheader:`X-" +"Status`. Прапорці та заголовки зазвичай з’являються у зазначеному порядку." + +msgid ":class:`mboxMessage` instances offer the following methods:" +msgstr "Екземпляри :class:`mboxMessage` пропонують такі методи:" + +msgid "" +"Return a string representing the \"From \" line that marks the start of the " +"message in an mbox mailbox. The leading \"From \" and the trailing newline " +"are excluded." +msgstr "" +"Повертає рядок, що представляє рядок \"Від\", який позначає початок " +"повідомлення в поштовій скриньці mbox. Початковий \"Від\" і кінцевий символ " +"нового рядка виключаються." + +msgid "" +"Set the \"From \" line to *from_*, which should be specified without a " +"leading \"From \" or trailing newline. For convenience, *time_* may be " +"specified and will be formatted appropriately and appended to *from_*. If " +"*time_* is specified, it should be a :class:`time.struct_time` instance, a " +"tuple suitable for passing to :meth:`time.strftime`, or ``True`` (to use :" +"meth:`time.gmtime`)." +msgstr "" +"Встановіть для рядка \"Від\" значення *from_*, яке слід вказати без початку " +"\"Від\" або завершення нового рядка. Для зручності можна вказати *time_*, " +"яке буде відповідним чином відформатовано та додано до *from_*. Якщо вказано " +"*time_*, це має бути екземпляр :class:`time.struct_time`, кортеж, придатний " +"для передачі в :meth:`time.strftime` або ``True`` (для використання :meth:" +"`time .gmtime`)." + +msgid "" +"Return a string specifying the flags that are currently set. If the message " +"complies with the conventional format, the result is the concatenation in " +"the following order of zero or one occurrence of each of ``'R'``, ``'O'``, " +"``'D'``, ``'F'``, and ``'A'``." +msgstr "" +"Повертає рядок із зазначенням поточних встановлених прапорів. Якщо " +"повідомлення відповідає загальноприйнятому формату, результатом є " +"конкатенація в наступному порядку нуля або одного входження кожного з " +"``'R'``, ``'O'``, ``'D'``, ``'F''`` і ``'A'``." + +msgid "" +"Set the flags specified by *flags* and unset all others. Parameter *flags* " +"should be the concatenation in any order of zero or more occurrences of each " +"of ``'R'``, ``'O'``, ``'D'``, ``'F'``, and ``'A'``." +msgstr "" +"Встановіть прапорці, визначені *flags*, і скасуйте всі інші. Параметр " +"*flags* має бути конкатенацією в будь-якому порядку нуля або більше входжень " +"кожного з ``'R'``, ``'O'``, ``'D'``, ``'F'`` і ``'A'``." + +msgid "" +"Set the flag(s) specified by *flag* without changing other flags. To add " +"more than one flag at a time, *flag* may be a string of more than one " +"character." +msgstr "" +"Встановіть прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб додати " +"більше ніж один прапор одночасно, *flag* може бути рядком із кількох " +"символів." + +msgid "" +"Unset the flag(s) specified by *flag* without changing other flags. To " +"remove more than one flag at a time, *flag* maybe a string of more than one " +"character." +msgstr "" +"Скасувати прапор(и), визначені *flag*, не змінюючи інші прапори. Щоб " +"видалити кілька прапорців одночасно, *flag* може бути рядком із кількох " +"символів." + +msgid "" +"When an :class:`mboxMessage` instance is created based upon a :class:" +"`MaildirMessage` instance, a \"From \" line is generated based upon the :" +"class:`MaildirMessage` instance's delivery date, and the following " +"conversions take place:" +msgstr "" +"Коли екземпляр :class:`mboxMessage` створюється на основі екземпляра :class:" +"`MaildirMessage`, рядок \"Від\" створюється на основі дати доставки " +"екземпляра :class:`MaildirMessage` і відбуваються такі перетворення:" + +msgid ":class:`MaildirMessage` state" +msgstr ":class:`MaildirMessage` стан" + +msgid "" +"When an :class:`mboxMessage` instance is created based upon an :class:" +"`MHMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`mboxMessage` створюється на основі примірника :class:" +"`MHMessage`, відбуваються такі перетворення:" + +msgid "R flag and O flag" +msgstr "Прапор R і прапор O" + +msgid "" +"When an :class:`mboxMessage` instance is created based upon a :class:" +"`BabylMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`mboxMessage` створюється на основі примірника :class:" +"`BabylMessage`, відбуваються такі перетворення:" + +msgid "" +"When a :class:`Message` instance is created based upon an :class:" +"`MMDFMessage` instance, the \"From \" line is copied and all flags directly " +"correspond:" +msgstr "" +"Коли екземпляр :class:`Message` створюється на основі екземпляра :class:" +"`MMDFMessage`, рядок \"Від\" копіюється, і всі позначки безпосередньо " +"відповідають:" + +msgid ":class:`MMDFMessage` state" +msgstr ":class:`MMDFMessage` стан" + +msgid ":class:`MHMessage`" +msgstr ":class:`MHMessage`" + +msgid "" +"A message with MH-specific behaviors. Parameter *message* has the same " +"meaning as with the :class:`Message` constructor." +msgstr "" +"Повідомлення зі специфічними для MH поведінками. Параметр *message* має те " +"саме значення, що й у конструкторі :class:`Message`." + +msgid "" +"MH messages do not support marks or flags in the traditional sense, but they " +"do support sequences, which are logical groupings of arbitrary messages. " +"Some mail reading programs (although not the standard :program:`mh` and :" +"program:`nmh`) use sequences in much the same way flags are used with other " +"formats, as follows:" +msgstr "" +"Повідомлення MH не підтримують позначки чи прапорці в традиційному " +"розумінні, але вони підтримують послідовності, які є логічними групами " +"довільних повідомлень. Деякі програми читання пошти (хоча не стандартні :" +"program:`mh` і :program:`nmh`) використовують послідовності приблизно так " +"само, як прапорці використовуються з іншими форматами, а саме:" + +msgid "Sequence" +msgstr "Послідовність" + +msgid "unseen" +msgstr "невидимий" + +msgid "Not read, but previously detected by MUA" +msgstr "Не прочитано, але раніше виявлено MUA" + +msgid "replied" +msgstr "відповів" + +msgid "flagged" +msgstr "позначено" + +msgid ":class:`MHMessage` instances offer the following methods:" +msgstr "Екземпляри :class:`MHMessage` пропонують такі методи:" + +msgid "Return a list of the names of sequences that include this message." +msgstr "Повернути список імен послідовностей, які містять це повідомлення." + +msgid "Set the list of sequences that include this message." +msgstr "Встановіть список послідовностей, які включають це повідомлення." + +msgid "Add *sequence* to the list of sequences that include this message." +msgstr "" +"Додайте *послідовність* до списку послідовностей, які містять це " +"повідомлення." + +msgid "Remove *sequence* from the list of sequences that include this message." +msgstr "" +"Видаліть *послідовність* зі списку послідовностей, які містять це " +"повідомлення." + +msgid "" +"When an :class:`MHMessage` instance is created based upon a :class:" +"`MaildirMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`MHMessage` створюється на основі примірника :class:" +"`MaildirMessage`, відбуваються такі перетворення:" + +msgid "no S flag" +msgstr "немає прапора S" + +msgid "" +"When an :class:`MHMessage` instance is created based upon an :class:" +"`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " +"and :mailheader:`X-Status` headers are omitted and the following conversions " +"take place:" +msgstr "" +"Коли екземпляр :class:`MHMessage` створюється на основі екземпляра :class:" +"`mboxMessage` або :class:`MMDFMessage`, заголовки :mailheader:`Status` і :" +"mailheader:`X-Status` пропускаються, а відбуваються такі перетворення:" + +msgid "no R flag" +msgstr "немає прапора R" + +msgid "" +"When an :class:`MHMessage` instance is created based upon a :class:" +"`BabylMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`MHMessage` створюється на основі примірника :class:" +"`BabylMessage`, відбуваються такі перетворення:" + +msgid ":class:`BabylMessage`" +msgstr ":class:`BabylMessage`" + +msgid "" +"A message with Babyl-specific behaviors. Parameter *message* has the same " +"meaning as with the :class:`Message` constructor." +msgstr "" +"Повідомлення з особливостями поведінки Babyl. Параметр *message* має те саме " +"значення, що й у конструкторі :class:`Message`." + +msgid "" +"Certain message labels, called :dfn:`attributes`, are defined by convention " +"to have special meanings. The attributes are as follows:" +msgstr "" +"Певні мітки повідомлень, які називаються :dfn:`attributes`, визначені угодою " +"як такі, що мають спеціальні значення. Атрибути такі:" + +msgid "Label" +msgstr "Мітка" + +msgid "deleted" +msgstr "видалено" + +msgid "filed" +msgstr "подано" + +msgid "Copied to another file or mailbox" +msgstr "Скопійовано в інший файл або поштову скриньку" + +msgid "answered" +msgstr "відповів" + +msgid "forwarded" +msgstr "пересилається" + +msgid "Forwarded" +msgstr "Переслано" + +msgid "edited" +msgstr "відредаговано" + +msgid "Modified by the user" +msgstr "Змінено користувачем" + +msgid "resent" +msgstr "обурюватися" + +msgid "Resent" +msgstr "Обурюватися" + +msgid "" +"By default, Rmail displays only visible headers. The :class:`BabylMessage` " +"class, though, uses the original headers because they are more complete. " +"Visible headers may be accessed explicitly if desired." +msgstr "" +"За замовчуванням Rmail відображає лише видимі заголовки. Клас :class:" +"`BabylMessage`, однак, використовує оригінальні заголовки, оскільки вони " +"більш повні. За бажанням доступ до видимих заголовків можна отримати явно." + +msgid ":class:`BabylMessage` instances offer the following methods:" +msgstr "Екземпляри :class:`BabylMessage` пропонують такі методи:" + +msgid "Return a list of labels on the message." +msgstr "Повернути список міток у повідомленні." + +msgid "Set the list of labels on the message to *labels*." +msgstr "Установіть список міток у повідомленні на *мітки*." + +msgid "Add *label* to the list of labels on the message." +msgstr "Додайте *label* до списку міток у повідомленні." + +msgid "Remove *label* from the list of labels on the message." +msgstr "Видаліть *label* зі списку міток у повідомленні." + +msgid "" +"Return an :class:`Message` instance whose headers are the message's visible " +"headers and whose body is empty." +msgstr "" +"Повертає екземпляр :class:`Message`, заголовки якого є видимими заголовками " +"повідомлення, а тіло порожнє." + +msgid "" +"Set the message's visible headers to be the same as the headers in " +"*message*. Parameter *visible* should be a :class:`Message` instance, an :" +"class:`email.message.Message` instance, a string, or a file-like object " +"(which should be open in text mode)." +msgstr "" +"Налаштуйте видимі заголовки повідомлення такими ж, як заголовки в " +"*повідомленні*. Параметр *visible* має бути екземпляром :class:`Message`, " +"екземпляром :class:`email.message.Message`, рядком або файлоподібним " +"об’єктом (який має бути відкритий у текстовому режимі)." + +msgid "" +"When a :class:`BabylMessage` instance's original headers are modified, the " +"visible headers are not automatically modified to correspond. This method " +"updates the visible headers as follows: each visible header with a " +"corresponding original header is set to the value of the original header, " +"each visible header without a corresponding original header is removed, and " +"any of :mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-To`, :" +"mailheader:`To`, :mailheader:`CC`, and :mailheader:`Subject` that are " +"present in the original headers but not the visible headers are added to the " +"visible headers." +msgstr "" +"Коли оригінальні заголовки примірника :class:`BabylMessage` змінюються, " +"видимі заголовки не змінюються автоматично відповідно. Цей метод оновлює " +"видимі заголовки наступним чином: для кожного видимого заголовка з " +"відповідним оригінальним заголовком встановлюється значення оригінального " +"заголовка, кожен видимий заголовок без відповідного оригінального заголовка " +"видаляється, а будь-який із :mailheader:`Date`, :mailheader:`From`, :" +"mailheader:`Reply-To`, :mailheader:`To`, :mailheader:`CC` і :mailheader:" +"`Subject`, які присутні в оригінальних заголовках, але не у видимих " +"заголовках, додаються до видимі заголовки." + +msgid "" +"When a :class:`BabylMessage` instance is created based upon a :class:" +"`MaildirMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`BabylMessage` створюється на основі примірника :class:" +"`MaildirMessage`, відбуваються такі перетворення:" + +msgid "\"forwarded\" label" +msgstr "мітка \"переслано\"." + +msgid "" +"When a :class:`BabylMessage` instance is created based upon an :class:" +"`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " +"and :mailheader:`X-Status` headers are omitted and the following conversions " +"take place:" +msgstr "" +"Коли екземпляр :class:`BabylMessage` створюється на основі екземпляра :class:" +"`mboxMessage` або :class:`MMDFMessage`, заголовки :mailheader:`Status` і :" +"mailheader:`X-Status` пропускаються, а відбуваються такі перетворення:" + +msgid "" +"When a :class:`BabylMessage` instance is created based upon an :class:" +"`MHMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`BabylMessage` створюється на основі примірника :class:" +"`MHMessage`, відбуваються такі перетворення:" + +msgid ":class:`MMDFMessage`" +msgstr ":class:`MMDFMessage`" + +msgid "" +"A message with MMDF-specific behaviors. Parameter *message* has the same " +"meaning as with the :class:`Message` constructor." +msgstr "" +"Повідомлення зі специфічною для MMDF поведінкою. Параметр *message* має те " +"саме значення, що й у конструкторі :class:`Message`." + +msgid "" +"As with message in an mbox mailbox, MMDF messages are stored with the " +"sender's address and the delivery date in an initial line beginning with " +"\"From \". Likewise, flags that indicate the state of the message are " +"typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers." +msgstr "" +"Як і повідомлення в поштовій скриньці mbox, повідомлення MMDF зберігаються з " +"адресою відправника та датою доставки в початковому рядку, що починається з " +"\"Від\". Подібним чином прапорці, які вказують на стан повідомлення, " +"зазвичай зберігаються в заголовках :mailheader:`Status` і :mailheader:`X-" +"Status`." + +msgid "" +"Conventional flags for MMDF messages are identical to those of mbox message " +"and are as follows:" +msgstr "" +"Звичайні позначки для повідомлень MMDF ідентичні прапорцям для повідомлень " +"mbox і такі:" + +msgid "" +":class:`MMDFMessage` instances offer the following methods, which are " +"identical to those offered by :class:`mboxMessage`:" +msgstr "" +"Екземпляри :class:`MMDFMessage` пропонують такі методи, ідентичні тим, які " +"пропонує :class:`mboxMessage`:" + +msgid "" +"When an :class:`MMDFMessage` instance is created based upon a :class:" +"`MaildirMessage` instance, a \"From \" line is generated based upon the :" +"class:`MaildirMessage` instance's delivery date, and the following " +"conversions take place:" +msgstr "" +"Коли екземпляр :class:`MMDFMessage` створюється на основі екземпляра :class:" +"`MaildirMessage`, рядок \"Від\" створюється на основі дати доставки " +"екземпляра :class:`MaildirMessage` і відбуваються такі перетворення:" + +msgid "" +"When an :class:`MMDFMessage` instance is created based upon an :class:" +"`MHMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`MMDFMessage` створюється на основі примірника :class:" +"`MHMessage`, відбуваються такі перетворення:" + +msgid "" +"When an :class:`MMDFMessage` instance is created based upon a :class:" +"`BabylMessage` instance, the following conversions take place:" +msgstr "" +"Коли примірник :class:`MMDFMessage` створюється на основі примірника :class:" +"`BabylMessage`, відбуваються такі перетворення:" + +msgid "" +"When an :class:`MMDFMessage` instance is created based upon an :class:" +"`mboxMessage` instance, the \"From \" line is copied and all flags directly " +"correspond:" +msgstr "" +"Коли екземпляр :class:`MMDFMessage` створюється на основі екземпляра :class:" +"`mboxMessage`, рядок \"Від\" копіюється, і всі позначки безпосередньо " +"відповідають:" + +msgid ":class:`mboxMessage` state" +msgstr ":class:`mboxMessage` стан" + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"The following exception classes are defined in the :mod:`mailbox` module:" +msgstr "Наступні класи винятків визначені в модулі :mod:`mailbox`:" + +msgid "The based class for all other module-specific exceptions." +msgstr "Основний клас для всіх інших винятків, специфічних для модуля." + +msgid "" +"Raised when a mailbox is expected but is not found, such as when " +"instantiating a :class:`Mailbox` subclass with a path that does not exist " +"(and with the *create* parameter set to ``False``), or when opening a folder " +"that does not exist." +msgstr "" +"Викликається, коли поштова скринька очікується, але не знайдена, наприклад, " +"під час створення екземпляра підкласу :class:`Mailbox` із шляхом, якого не " +"існує (і з параметром *create*, встановленим на ``False``), або під час " +"відкриття папку, яка не існує." + +msgid "" +"Raised when a mailbox is not empty but is expected to be, such as when " +"deleting a folder that contains messages." +msgstr "" +"Викликається, коли поштова скринька не порожня, але очікується, що вона буде " +"порожньою, наприклад, під час видалення папки, яка містить повідомлення." + +msgid "" +"Raised when some mailbox-related condition beyond the control of the program " +"causes it to be unable to proceed, such as when failing to acquire a lock " +"that another program already holds a lock, or when a uniquely generated file " +"name already exists." +msgstr "" + +msgid "" +"Raised when the data in a file cannot be parsed, such as when an :class:`MH` " +"instance attempts to read a corrupted :file:`.mh_sequences` file." +msgstr "" +"Викликається, коли дані у файлі неможливо проаналізувати, наприклад, коли " +"примірник :class:`MH` намагається прочитати пошкоджений файл :file:`." +"mh_sequences`." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"A simple example of printing the subjects of all messages in a mailbox that " +"seem interesting::" +msgstr "" +"Простий приклад друку тем усіх повідомлень у поштовій скриньці, які здаються " +"цікавими:" + +msgid "" +"To copy all mail from a Babyl mailbox to an MH mailbox, converting all of " +"the format-specific information that can be converted::" +msgstr "" +"Щоб скопіювати всю пошту з поштової скриньки Babyl до поштової скриньки MH, " +"перетворивши всю інформацію про певний формат, яку можна конвертувати:" + +msgid "" +"This example sorts mail from several mailing lists into different mailboxes, " +"being careful to avoid mail corruption due to concurrent modification by " +"other programs, mail loss due to interruption of the program, or premature " +"termination due to malformed messages in the mailbox::" +msgstr "" +"Цей приклад сортує пошту з кількох списків розсилки в різні поштові " +"скриньки, намагаючись уникнути пошкодження пошти через одночасну модифікацію " +"іншими програмами, втрати пошти через переривання програми або передчасне " +"завершення через неправильно сформовані повідомлення в поштовій скриньці::" diff --git a/library/mailcap.po b/library/mailcap.po new file mode 100644 index 000000000..fd35bd47f --- /dev/null +++ b/library/mailcap.po @@ -0,0 +1,177 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`mailcap` --- Mailcap file handling" +msgstr ":mod:`mailcap` --- Обробка файлів Mailcap" + +msgid "**Source code:** :source:`Lib/mailcap.py`" +msgstr "**Вихідний код:** :source:`Lib/mailcap.py`" + +msgid "" +"The :mod:`mailcap` module is deprecated (see :pep:`PEP 594 <594#mailcap>` " +"for details). The :mod:`mimetypes` module provides an alternative." +msgstr "" +"Модуль :mod:`mailcap` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#mailcap>`). Альтернативою є модуль :mod:`mimetypes`." + +msgid "" +"Mailcap files are used to configure how MIME-aware applications such as mail " +"readers and web browsers react to files with different MIME types. (The name " +"\"mailcap\" is derived from the phrase \"mail capability\".) For example, a " +"mailcap file might contain a line like ``video/mpeg; xmpeg %s``. Then, if " +"the user encounters an email message or web document with the MIME type :" +"mimetype:`video/mpeg`, ``%s`` will be replaced by a filename (usually one " +"belonging to a temporary file) and the :program:`xmpeg` program can be " +"automatically started to view the file." +msgstr "" +"Файли Mailcap використовуються для налаштування того, як програми, що " +"підтримують MIME, наприклад програми для читання пошти та веб-браузери, " +"реагують на файли з різними типами MIME. (Назва \"mailcap\" походить від " +"фрази \"можливість пошти\".) Наприклад, файл mailcap може містити рядок типу " +"``video/mpeg; xmpeg %s``. Потім, якщо користувач зустріне повідомлення " +"електронної пошти або веб-документ із типом MIME :mimetype:`video/mpeg`, ``" +"%s`` буде замінено назвою файлу (зазвичай тим, що належить до тимчасового " +"файлу) і :program: Для перегляду файлу можна автоматично запустити програму " +"`xmpeg`." + +msgid "" +"The mailcap format is documented in :rfc:`1524`, \"A User Agent " +"Configuration Mechanism For Multimedia Mail Format Information\", but is not " +"an internet standard. However, mailcap files are supported on most Unix " +"systems." +msgstr "" +"Формат mailcap задокументовано в :rfc:`1524`, \"Механізм конфігурації агента " +"користувача для інформації про формат мультимедійної пошти\", але не є " +"стандартом Інтернету. Однак файли mailcap підтримуються в більшості систем " +"Unix." + +msgid "" +"Return a 2-tuple; the first element is a string containing the command line " +"to be executed (which can be passed to :func:`os.system`), and the second " +"element is the mailcap entry for a given MIME type. If no matching MIME " +"type can be found, ``(None, None)`` is returned." +msgstr "" +"Повернути 2-кортеж; перший елемент — це рядок, що містить командний рядок, " +"який потрібно виконати (який можна передати в :func:`os.system`), а другий " +"елемент — це запис mailcap для певного типу MIME. Якщо не вдається знайти " +"відповідний тип MIME, повертається ``(None, None)``." + +msgid "" +"*key* is the name of the field desired, which represents the type of " +"activity to be performed; the default value is 'view', since in the most " +"common case you simply want to view the body of the MIME-typed data. Other " +"possible values might be 'compose' and 'edit', if you wanted to create a new " +"body of the given MIME type or alter the existing body data. See :rfc:" +"`1524` for a complete list of these fields." +msgstr "" +"*key* — ім’я потрібного поля, яке представляє вид діяльності, яку потрібно " +"виконати; значенням за замовчуванням є 'view', оскільки в найбільш " +"поширеному випадку ви просто бажаєте переглянути тіло даних типу MIME. " +"Іншими можливими значеннями можуть бути \"компонувати\" та \"редагувати\", " +"якщо ви бажаєте створити нове тіло заданого типу MIME або змінити існуючі " +"дані тіла. Див. :rfc:`1524` для повного списку цих полів." + +msgid "" +"*filename* is the filename to be substituted for ``%s`` in the command line; " +"the default value is ``'/dev/null'`` which is almost certainly not what you " +"want, so usually you'll override it by specifying a filename." +msgstr "" +"*ім’я файлу* – це ім’я файлу, яке буде замінено на ``%s`` у командному " +"рядку; типовим значенням є ``'/dev/null``, що майже напевно не те, що ви " +"хочете, тому зазвичай ви змінюєте його, вказуючи назву файлу." + +msgid "" +"*plist* can be a list containing named parameters; the default value is " +"simply an empty list. Each entry in the list must be a string containing " +"the parameter name, an equals sign (``'='``), and the parameter's value. " +"Mailcap entries can contain named parameters like ``%{foo}``, which will be " +"replaced by the value of the parameter named 'foo'. For example, if the " +"command line ``showpartial %{id} %{number} %{total}`` was in a mailcap file, " +"and *plist* was set to ``['id=1', 'number=2', 'total=3']``, the resulting " +"command line would be ``'showpartial 1 2 3'``." +msgstr "" +"*plist* може бути списком, що містить іменовані параметри; стандартним " +"значенням є просто порожній список. Кожен запис у списку має бути рядком, що " +"містить назву параметра, знак рівності (``'='``) і значення параметра. " +"Записи Mailcap можуть містити іменовані параметри, як-от ``%{foo}``, які " +"буде замінено значенням параметра під назвою \"foo\". Наприклад, якщо " +"командний рядок ``showpartial %{id} %{number} %{total}`` був у файлі " +"mailcap, а *plist* було встановлено на ``['id=1', 'number=2 ', 'total=3']``, " +"результат командного рядка буде ``'showpartial 1 2 3'``." + +msgid "" +"In a mailcap file, the \"test\" field can optionally be specified to test " +"some external condition (such as the machine architecture, or the window " +"system in use) to determine whether or not the mailcap line applies. :func:" +"`findmatch` will automatically check such conditions and skip the entry if " +"the check fails." +msgstr "" +"У файлі mailcap можна додатково вказати поле \"test\" для перевірки деяких " +"зовнішніх умов (таких як архітектура машини або використовувана віконна " +"система), щоб визначити, чи застосовується рядок mailcap. :func:`findmatch` " +"автоматично перевірить такі умови та пропустить запис, якщо перевірка не " +"вдається." + +msgid "" +"To prevent security issues with shell metacharacters (symbols that have " +"special effects in a shell command line), ``findmatch`` will refuse to " +"inject ASCII characters other than alphanumerics and ``@+=:,./-_`` into the " +"returned command line." +msgstr "" + +msgid "" +"If a disallowed character appears in *filename*, ``findmatch`` will always " +"return ``(None, None)`` as if no entry was found. If such a character " +"appears elsewhere (a value in *plist* or in *MIMEtype*), ``findmatch`` will " +"ignore all mailcap entries which use that value. A :mod:`warning ` " +"will be raised in either case." +msgstr "" + +msgid "" +"Returns a dictionary mapping MIME types to a list of mailcap file entries. " +"This dictionary must be passed to the :func:`findmatch` function. An entry " +"is stored as a list of dictionaries, but it shouldn't be necessary to know " +"the details of this representation." +msgstr "" +"Повертає словник, що зіставляє типи MIME зі списком записів у файлі mailcap. " +"Цей словник необхідно передати у функцію :func:`findmatch`. Запис " +"зберігається як список словників, але немає необхідності знати подробиці " +"цього представлення." + +msgid "" +"The information is derived from all of the mailcap files found on the " +"system. Settings in the user's mailcap file :file:`$HOME/.mailcap` will " +"override settings in the system mailcap files :file:`/etc/mailcap`, :file:`/" +"usr/etc/mailcap`, and :file:`/usr/local/etc/mailcap`." +msgstr "" +"Інформація отримана з усіх файлів mailcap, знайдених у системі. Параметри у " +"файлі mailcap користувача :file:`$HOME/.mailcap` замінять налаштування у " +"системних файлах mailcap :file:`/etc/mailcap`, :file:`/usr/etc/mailcap` і :" +"file:`/usr/local/etc/mailcap`." + +msgid "An example usage::" +msgstr "Приклад використання::" diff --git a/library/markup.po b/library/markup.po new file mode 100644 index 000000000..3dca80397 --- /dev/null +++ b/library/markup.po @@ -0,0 +1,40 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Structured Markup Processing Tools" +msgstr "Інструменти обробки структурованої розмітки" + +msgid "" +"Python supports a variety of modules to work with various forms of " +"structured data markup. This includes modules to work with the Standard " +"Generalized Markup Language (SGML) and the Hypertext Markup Language (HTML), " +"and several interfaces for working with the Extensible Markup Language (XML)." +msgstr "" +"Python підтримує різноманітні модулі для роботи з різними формами розмітки " +"структурованих даних. Це включає модулі для роботи зі стандартною " +"узагальненою мовою розмітки (SGML) і мовою гіпертекстової розмітки (HTML), а " +"також кілька інтерфейсів для роботи з розширюваною мовою розмітки (XML)." diff --git a/library/marshal.po b/library/marshal.po new file mode 100644 index 000000000..7dabe1324 --- /dev/null +++ b/library/marshal.po @@ -0,0 +1,246 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`marshal` --- Internal Python object serialization" +msgstr ":mod:`marshal` --- Внутрішня серіалізація об'єктів Python" + +msgid "" +"This module contains functions that can read and write Python values in a " +"binary format. The format is specific to Python, but independent of machine " +"architecture issues (e.g., you can write a Python value to a file on a PC, " +"transport the file to a Sun, and read it back there). Details of the format " +"are undocumented on purpose; it may change between Python versions (although " +"it rarely does). [#]_" +msgstr "" +"Цей модуль містить функції, які можуть читати та записувати значення Python " +"у двійковому форматі. Формат є специфічним для Python, але не залежить від " +"проблем архітектури машини (наприклад, ви можете записати значення Python у " +"файл на ПК, перенести файл на Sun і прочитати його там). Деталі формату " +"навмисно недокументовані; він може змінюватися між версіями Python (хоча це " +"відбувається рідко). [#]_" + +msgid "" +"This is not a general \"persistence\" module. For general persistence and " +"transfer of Python objects through RPC calls, see the modules :mod:`pickle` " +"and :mod:`shelve`. The :mod:`marshal` module exists mainly to support " +"reading and writing the \"pseudo-compiled\" code for Python modules of :file:" +"`.pyc` files. Therefore, the Python maintainers reserve the right to modify " +"the marshal format in backward incompatible ways should the need arise. If " +"you're serializing and de-serializing Python objects, use the :mod:`pickle` " +"module instead -- the performance is comparable, version independence is " +"guaranteed, and pickle supports a substantially wider range of objects than " +"marshal." +msgstr "" +"Це не загальний модуль \"постійності\". Для загального збереження та " +"передачі об’єктів Python через виклики RPC див. модулі :mod:`pickle` і :mod:" +"`shelve`. Модуль :mod:`marshal` існує головним чином для підтримки читання " +"та запису \"псевдокомпільованого\" коду для модулів Python файлів :file:`." +"pyc`. Тому супроводжувачі Python залишають за собою право змінювати формат " +"маршалу зворотно несумісними способами, якщо виникне така потреба. Якщо ви " +"серіалізуєте та десеріалізуєте об’єкти Python, використовуйте натомість " +"модуль :mod:`pickle` — продуктивність порівнянна, незалежність версії " +"гарантована, а pickle підтримує значно ширший діапазон об’єктів, ніж marshal." + +msgid "" +"The :mod:`marshal` module is not intended to be secure against erroneous or " +"maliciously constructed data. Never unmarshal data received from an " +"untrusted or unauthenticated source." +msgstr "" +"Модуль :mod:`marshal` не призначений для захисту від помилкових або " +"зловмисно створених даних. Ніколи не скасовуйте дані, отримані з ненадійного " +"або неавтентифікованого джерела." + +msgid "" +"Not all Python object types are supported; in general, only objects whose " +"value is independent from a particular invocation of Python can be written " +"and read by this module. The following types are supported: booleans, " +"integers, floating point numbers, complex numbers, strings, bytes, " +"bytearrays, tuples, lists, sets, frozensets, dictionaries, and code objects, " +"where it should be understood that tuples, lists, sets, frozensets and " +"dictionaries are only supported as long as the values contained therein are " +"themselves supported. The singletons :const:`None`, :const:`Ellipsis` and :" +"exc:`StopIteration` can also be marshalled and unmarshalled. For format " +"*version* lower than 3, recursive lists, sets and dictionaries cannot be " +"written (see below)." +msgstr "" +"Підтримуються не всі типи об’єктів Python; загалом, тільки ті об’єкти, чиє " +"значення не залежить від конкретного виклику Python, можуть бути записані та " +"прочитані цим модулем. Підтримуються такі типи: логічні значення, цілі " +"числа, числа з плаваючою комою, комплексні числа, рядки, байти, байтові " +"масиви, кортежі, списки, набори, заморожені набори, словники та об’єкти " +"коду, де слід розуміти, що кортежі, списки, набори, заморожені набори і " +"словники підтримуються лише до тих пір, поки підтримуються самі значення, " +"які в них містяться. Синглтони :const:`None`, :const:`Ellipsis` і :exc:" +"`StopIteration` також можуть бути маршалізованими та немаршалізованими. Для " +"*версії* формату, нижчої за 3, не можна писати рекурсивні списки, набори та " +"словники (див. нижче)." + +msgid "" +"There are functions that read/write files as well as functions operating on " +"bytes-like objects." +msgstr "" +"Існують функції, які читають/записують файли, а також функції, що працюють з " +"байтоподібними об’єктами." + +msgid "The module defines these functions:" +msgstr "Модуль визначає такі функції:" + +msgid "" +"Write the value on the open file. The value must be a supported type. The " +"file must be a writeable :term:`binary file`." +msgstr "" +"Запишіть значення у відкритий файл. Значення має бути підтримуваного типу. " +"Файл має бути записуваним :term:`binary file`." + +msgid "" +"If the value has (or contains an object that has) an unsupported type, a :" +"exc:`ValueError` exception is raised --- but garbage data will also be " +"written to the file. The object will not be properly read back by :func:" +"`load`." +msgstr "" +"Якщо значення має (або містить об’єкт, який має) непідтримуваний тип, " +"виникає виняток :exc:`ValueError` --- але сміттєві дані також будуть " +"записані у файл. Об’єкт не буде належним чином прочитаний :func:`load`." + +msgid "" +"The *version* argument indicates the data format that ``dump`` should use " +"(see below)." +msgstr "" +"Аргумент *version* вказує на формат даних, який має використовувати ``damp`` " +"(див. нижче)." + +msgid "" +"Raises an :ref:`auditing event ` ``marshal.dumps`` with arguments " +"``value``, ``version``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``marshal.dumps`` з аргументами " +"``значення``, ``версія``." + +msgid "" +"Read one value from the open file and return it. If no valid value is read " +"(e.g. because the data has a different Python version's incompatible marshal " +"format), raise :exc:`EOFError`, :exc:`ValueError` or :exc:`TypeError`. The " +"file must be a readable :term:`binary file`." +msgstr "" +"Прочитати одне значення з відкритого файлу та повернути його. Якщо дійсне " +"значення не зчитується (наприклад, через те, що дані мають несумісний " +"маршальний формат іншої версії Python), викликайте :exc:`EOFError`, :exc:" +"`ValueError` або :exc:`TypeError`. Файл має бути читабельним :term:`binary " +"file`." + +msgid "" +"Raises an :ref:`auditing event ` ``marshal.load`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``marshal.load`` без аргументів." + +msgid "" +"If an object containing an unsupported type was marshalled with :func:" +"`dump`, :func:`load` will substitute ``None`` for the unmarshallable type." +msgstr "" +"Якщо об’єкт, що містить непідтримуваний тип, був маршалований за допомогою :" +"func:`dump`, :func:`load` замінить ``None`` для типу, який не можна " +"маршалювати." + +msgid "" +"This call used to raise a ``code.__new__`` audit event for each code object. " +"Now it raises a single ``marshal.load`` event for the entire load operation." +msgstr "" +"Цей виклик використовувався для виклику події аудиту ``code.__new__`` для " +"кожного об’єкта коду. Тепер він викликає одну подію ``marshal.load`` для " +"всієї операції завантаження." + +msgid "" +"Return the bytes object that would be written to a file by ``dump(value, " +"file)``. The value must be a supported type. Raise a :exc:`ValueError` " +"exception if value has (or contains an object that has) an unsupported type." +msgstr "" +"Повертає об’єкт bytes, який буде записаний у файл за допомогою ``dump(value, " +"file)``. Значення має бути підтримуваного типу. Викликати виняток :exc:" +"`ValueError`, якщо значення має (або містить об’єкт, який має) " +"непідтримуваний тип." + +msgid "" +"The *version* argument indicates the data format that ``dumps`` should use " +"(see below)." +msgstr "" +"Аргумент *version* вказує формат даних, який мають використовувати ``дампи`` " +"(див. нижче)." + +msgid "" +"Convert the :term:`bytes-like object` to a value. If no valid value is " +"found, raise :exc:`EOFError`, :exc:`ValueError` or :exc:`TypeError`. Extra " +"bytes in the input are ignored." +msgstr "" +"Перетворіть :term:`bytes-like object` на значення. Якщо дійсне значення не " +"знайдено, підніміть :exc:`EOFError`, :exc:`ValueError` або :exc:`TypeError`. " +"Зайві байти у вхідних даних ігноруються." + +msgid "" +"Raises an :ref:`auditing event ` ``marshal.loads`` with argument " +"``bytes``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``marshal.loads`` з аргументом " +"``bytes``." + +msgid "" +"This call used to raise a ``code.__new__`` audit event for each code object. " +"Now it raises a single ``marshal.loads`` event for the entire load operation." +msgstr "" +"Цей виклик використовувався для виклику події аудиту ``code.__new__`` для " +"кожного об’єкта коду. Тепер він викликає одну подію ``marshal.loads`` для " +"всієї операції завантаження." + +msgid "In addition, the following constants are defined:" +msgstr "Крім того, визначено такі константи:" + +msgid "" +"Indicates the format that the module uses. Version 0 is the historical " +"format, version 1 shares interned strings and version 2 uses a binary format " +"for floating point numbers. Version 3 adds support for object instancing and " +"recursion. The current version is 4." +msgstr "" +"Вказує на формат, який використовує модуль. Версія 0 — це історичний формат, " +"версія 1 використовує вбудовані рядки, а версія 2 використовує двійковий " +"формат для чисел з плаваючою комою. Версія 3 додає підтримку екземплярів " +"об’єктів і рекурсії. Поточна версія 4." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The name of this module stems from a bit of terminology used by the " +"designers of Modula-3 (amongst others), who use the term \"marshalling\" for " +"shipping of data around in a self-contained form. Strictly speaking, \"to " +"marshal\" means to convert some data from internal to external form (in an " +"RPC buffer for instance) and \"unmarshalling\" for the reverse process." +msgstr "" +"Назва цього модуля походить від певної термінології, яка використовується " +"розробниками Modula-3 (серед інших), які використовують термін \"маршалінг\" " +"для доставки даних у автономній формі. Строго кажучи, \"маршалінг\" означає " +"перетворення деяких даних із внутрішньої форми у зовнішню (наприклад, у " +"буфері RPC) і \"демаршалінг\" для зворотного процесу." diff --git a/library/math.po b/library/math.po new file mode 100644 index 000000000..7c9612a6f --- /dev/null +++ b/library/math.po @@ -0,0 +1,871 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`math` --- Mathematical functions" +msgstr ":mod:`math` --- Математичні функції" + +msgid "" +"This module provides access to the mathematical functions defined by the C " +"standard." +msgstr "" +"Цей модуль забезпечує доступ до математичних функцій, визначених стандартом " +"C." + +msgid "" +"These functions cannot be used with complex numbers; use the functions of " +"the same name from the :mod:`cmath` module if you require support for " +"complex numbers. The distinction between functions which support complex " +"numbers and those which don't is made since most users do not want to learn " +"quite as much mathematics as required to understand complex numbers. " +"Receiving an exception instead of a complex result allows earlier detection " +"of the unexpected complex number used as a parameter, so that the programmer " +"can determine how and why it was generated in the first place." +msgstr "" +"Ці функції не можна використовувати з комплексними числами; використовуйте " +"однойменні функції з модуля :mod:`cmath`, якщо вам потрібна підтримка " +"комплексних чисел. Розрізнення між функціями, які підтримують комплексні " +"числа, і тими, які не підтримують, зроблено, оскільки більшість користувачів " +"не хочуть вивчати стільки математики, скільки потрібно для розуміння " +"комплексних чисел. Отримання винятку замість комплексного результату " +"дозволяє раніше виявити неочікуване комплексне число, яке використовується " +"як параметр, щоб програміст міг визначити, як і чому воно взагалі було " +"згенероване." + +msgid "" +"The following functions are provided by this module. Except when explicitly " +"noted otherwise, all return values are floats." +msgstr "" +"Цей модуль забезпечує такі функції. За винятком випадків, коли явно " +"зазначено інше, усі повернуті значення є числами з плаваючою точкою." + +msgid "Number-theoretic and representation functions" +msgstr "Теоретико-числові функції та функції представлення" + +msgid "" +"Return the ceiling of *x*, the smallest integer greater than or equal to " +"*x*. If *x* is not a float, delegates to :meth:`x.__ceil__ `, which should return an :class:`~numbers.Integral` value." +msgstr "" +"Повертає максимальне значення *x*, найменше ціле число, більше або рівне " +"*x*. Якщо *x* не є числом з плаваючою точкою, делегує :meth:`x.__ceil__ " +"`, який має повернути значення :class:`~numbers.Integral`." + +msgid "" +"Return the number of ways to choose *k* items from *n* items without " +"repetition and without order." +msgstr "" +"Повертає кількість способів вибору *k* елементів з *n* елементів без " +"повторення та без порядку." + +msgid "" +"Evaluates to ``n! / (k! * (n - k)!)`` when ``k <= n`` and evaluates to zero " +"when ``k > n``." +msgstr "" +"Оцінюється як ``n! / (k! * (n - k)!)`` коли ``k <= n`` and evaluates to zero " +"when ``k > n``." + +msgid "" +"Also called the binomial coefficient because it is equivalent to the " +"coefficient of k-th term in polynomial expansion of ``(1 + x)ⁿ``." +msgstr "" + +msgid "" +"Raises :exc:`TypeError` if either of the arguments are not integers. Raises :" +"exc:`ValueError` if either of the arguments are negative." +msgstr "" +"Викликає :exc:`TypeError`, якщо один із аргументів не є цілим числом. " +"Викликає :exc:`ValueError`, якщо будь-який з аргументів негативний." + +msgid "" +"Return a float with the magnitude (absolute value) of *x* but the sign of " +"*y*. On platforms that support signed zeros, ``copysign(1.0, -0.0)`` " +"returns *-1.0*." +msgstr "" +"Повертає число з плаваючою точкою з величиною (абсолютним значенням) *x*, " +"але зі знаком *y*. На платформах, які підтримують нулі зі знаком, " +"``copysign(1.0, -0.0)`` повертає *-1.0*." + +msgid "Return the absolute value of *x*." +msgstr "Повертає абсолютне значення *x*." + +msgid "" +"Return *n* factorial as an integer. Raises :exc:`ValueError` if *n* is not " +"integral or is negative." +msgstr "" + +msgid "Accepting floats with integral values (like ``5.0``) is deprecated." +msgstr "" +"Прийняття числа з плаваючою точкою з цілими значеннями (наприклад, ``5.0``) " +"застаріло." + +msgid "" +"Return the floor of *x*, the largest integer less than or equal to *x*. If " +"*x* is not a float, delegates to :meth:`x.__floor__ `, " +"which should return an :class:`~numbers.Integral` value." +msgstr "" +"Повертає нижню частину *x*, найбільше ціле число, менше або дорівнює *x*. " +"Якщо *x* не є числом з плаваючою точкою, делегує :meth:`x.__floor__ `, який має повернути значення :class:`~numbers.Integral`." + +msgid "" +"Return ``fmod(x, y)``, as defined by the platform C library. Note that the " +"Python expression ``x % y`` may not return the same result. The intent of " +"the C standard is that ``fmod(x, y)`` be exactly (mathematically; to " +"infinite precision) equal to ``x - n*y`` for some integer *n* such that the " +"result has the same sign as *x* and magnitude less than ``abs(y)``. " +"Python's ``x % y`` returns a result with the sign of *y* instead, and may " +"not be exactly computable for float arguments. For example, ``fmod(-1e-100, " +"1e100)`` is ``-1e-100``, but the result of Python's ``-1e-100 % 1e100`` is " +"``1e100-1e-100``, which cannot be represented exactly as a float, and rounds " +"to the surprising ``1e100``. For this reason, function :func:`fmod` is " +"generally preferred when working with floats, while Python's ``x % y`` is " +"preferred when working with integers." +msgstr "" +"Повертає ``fmod(x, y)``, як визначено бібліотекою платформи C. Зверніть " +"увагу, що вираз Python ``x % y`` може не повернути той самий результат. " +"Метою стандарту C є те, що ``fmod(x, y)`` точно (математично; з нескінченною " +"точністю) дорівнює ``x - n*y`` для деякого цілого числа *n*, щоб результат " +"мав той самий знак, що й *x*, і величина менша за ``abs(y)``. ``x % y`` " +"Python замість цього повертає результат зі знаком *y* і може бути неточно " +"обчислюваним для аргументів з плаваючою точкою. Наприклад, ``fmod(-1e-100, " +"1e100)`` є ``-1e-100``, але результатом ``-1e-100 % 1e100`` Python є " +"``1e100-1e-100``, який не може бути точно представлений як число з плаваючою " +"точкою, і округлюється до несподіваного ``1e100``. З цієї причини функція :" +"func:`fmod` зазвичай є кращою під час роботи з числами з плаваючою точкою, " +"тоді як ``x % y`` Python є кращою під час роботи з цілими числами." + +msgid "" +"Return the mantissa and exponent of *x* as the pair ``(m, e)``. *m* is a " +"float and *e* is an integer such that ``x == m * 2**e`` exactly. If *x* is " +"zero, returns ``(0.0, 0)``, otherwise ``0.5 <= abs(m) < 1``. This is used " +"to \"pick apart\" the internal representation of a float in a portable way." +msgstr "" +"Повертає мантису та експонент *x* як пару ``(m, e)``. *m* є числом з " +"плаваючою точкою, а *e* є цілим числом таким чином, що ``x == m * 2**e`` " +"точно. Якщо *x* дорівнює нулю, повертає ``(0,0, 0)``, інакше ``0,5 <= abs(m) " +"< 1``. Це використовується, щоб \"розібрати\" внутрішнє представлення float " +"переносним способом." + +msgid "" +"Return an accurate floating point sum of values in the iterable. Avoids " +"loss of precision by tracking multiple intermediate partial sums::" +msgstr "" +"Повертає точну суму значень із плаваючою комою в ітеруючому. Уникає втрати " +"точності шляхом відстеження кількох проміжних часткових сум:" + +msgid "" +"The algorithm's accuracy depends on IEEE-754 arithmetic guarantees and the " +"typical case where the rounding mode is half-even. On some non-Windows " +"builds, the underlying C library uses extended precision addition and may " +"occasionally double-round an intermediate sum causing it to be off in its " +"least significant bit." +msgstr "" +"Точність алгоритму залежить від арифметичних гарантій IEEE-754 і типового " +"випадку, коли режим округлення є напівпарним. У деяких збірках, відмінних " +"від Windows, базова бібліотека C використовує розширену точність додавання " +"та іноді може подвоїти округлення проміжної суми, спричиняючи її вимкнення у " +"своєму молодшому розряді." + +msgid "" +"For further discussion and two alternative approaches, see the `ASPN " +"cookbook recipes for accurate floating point summation `_\\." +msgstr "" +"Для подальшого обговорення та двох альтернативних підходів див. `Рецепти " +"ASPN кулінарної книги для точного підсумовування з плаваючою комою `_\\." + +msgid "" +"Return the greatest common divisor of the specified integer arguments. If " +"any of the arguments is nonzero, then the returned value is the largest " +"positive integer that is a divisor of all arguments. If all arguments are " +"zero, then the returned value is ``0``. ``gcd()`` without arguments returns " +"``0``." +msgstr "" +"Повертає найбільший спільний дільник указаних цілих аргументів. Якщо будь-" +"який з аргументів не дорівнює нулю, то повернуте значення є найбільшим " +"натуральним числом, яке є дільником усіх аргументів. Якщо всі аргументи " +"дорівнюють нулю, то повертається значення ``0``. ``gcd()`` без аргументів " +"повертає ``0``." + +msgid "" +"Added support for an arbitrary number of arguments. Formerly, only two " +"arguments were supported." +msgstr "" +"Додано підтримку довільної кількості аргументів. Раніше підтримувалися лише " +"два аргументи." + +msgid "" +"Return ``True`` if the values *a* and *b* are close to each other and " +"``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо значення *a* і *b* близькі одне до одного, і " +"``False`` в іншому випадку." + +msgid "" +"Whether or not two values are considered close is determined according to " +"given absolute and relative tolerances." +msgstr "" +"Чи вважаються два значення близькими чи ні, визначається відповідно до " +"заданих абсолютних і відносних допусків." + +msgid "" +"*rel_tol* is the relative tolerance -- it is the maximum allowed difference " +"between *a* and *b*, relative to the larger absolute value of *a* or *b*. " +"For example, to set a tolerance of 5%, pass ``rel_tol=0.05``. The default " +"tolerance is ``1e-09``, which assures that the two values are the same " +"within about 9 decimal digits. *rel_tol* must be greater than zero." +msgstr "" +"*rel_tol* — це відносний допуск — це максимально допустима різниця між *a* і " +"*b* відносно більшого абсолютного значення *a* або *b*. Наприклад, щоб " +"встановити допуск 5%, передайте ``rel_tol=0,05``. Допуск за замовчуванням — " +"``1e-09``, який гарантує, що два значення збігаються в межах приблизно 9 " +"десяткових цифр. *rel_tol* має бути більше нуля." + +msgid "" +"*abs_tol* is the minimum absolute tolerance -- useful for comparisons near " +"zero. *abs_tol* must be at least zero." +msgstr "" +"*abs_tol* — це мінімальний абсолютний допуск — корисний для порівнянь біля " +"нуля. *abs_tol* має бути не менше нуля." + +msgid "" +"If no errors occur, the result will be: ``abs(a-b) <= max(rel_tol * " +"max(abs(a), abs(b)), abs_tol)``." +msgstr "" +"Якщо помилок не буде, результатом буде: ``abs(a-b) <= max(rel_tol * " +"max(abs(a), abs(b)), abs_tol)``." + +msgid "" +"The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " +"handled according to IEEE rules. Specifically, ``NaN`` is not considered " +"close to any other value, including ``NaN``. ``inf`` and ``-inf`` are only " +"considered close to themselves." +msgstr "" +"Спеціальні значення IEEE 754 ``NaN``, ``inf`` і ``-inf`` оброблятимуться " +"відповідно до правил IEEE. Зокрема, ``NaN`` не вважається близьким до будь-" +"якого іншого значення, включаючи ``NaN``. ``inf`` і ``-inf`` вважаються лише " +"близькими до самих себе." + +msgid ":pep:`485` -- A function for testing approximate equality" +msgstr ":pep:`485` -- Функція для перевірки приблизної рівності" + +msgid "" +"Return ``True`` if *x* is neither an infinity nor a NaN, and ``False`` " +"otherwise. (Note that ``0.0`` *is* considered finite.)" +msgstr "" +"Повертає ``True``, якщо *x* не є ні нескінченністю, ні NaN, і ``False`` в " +"іншому випадку. (Зверніть увагу, що ``0.0`` *вважається* кінцевим.)" + +msgid "" +"Return ``True`` if *x* is a positive or negative infinity, and ``False`` " +"otherwise." +msgstr "" +"Повертає ``True``, якщо *x* є додатною або від’ємною нескінченністю, і " +"``False`` в іншому випадку." + +msgid "" +"Return ``True`` if *x* is a NaN (not a number), and ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо *x* є NaN (а не число), і ``False`` в іншому випадку." + +msgid "" +"Return the integer square root of the nonnegative integer *n*. This is the " +"floor of the exact square root of *n*, or equivalently the greatest integer " +"*a* such that *a*\\ ² |nbsp| ≤ |nbsp| *n*." +msgstr "" +"Повертає цілий квадратний корінь із цілого невід’ємного числа *n*. Це нижня " +"частина точного квадратного кореня з *n* або, що еквівалентно, найбільше " +"ціле число *a* таке, що *a*\\ ² |nbsp| ≤ |nbsp| *n*." + +msgid "" +"For some applications, it may be more convenient to have the least integer " +"*a* such that *n* |nbsp| ≤ |nbsp| *a*\\ ², or in other words the ceiling of " +"the exact square root of *n*. For positive *n*, this can be computed using " +"``a = 1 + isqrt(n - 1)``." +msgstr "" +"Для деяких програм може бути зручніше мати найменше ціле *a* таке, що *n* |" +"nbsp| ≤ |nbsp| *a*\\ ², або іншими словами, стеля точного квадратного кореня " +"з *n*. Для позитивного *n* це можна обчислити за допомогою ``a = 1 + isqrt(n " +"- 1)``." + +msgid "" +"Return the least common multiple of the specified integer arguments. If all " +"arguments are nonzero, then the returned value is the smallest positive " +"integer that is a multiple of all arguments. If any of the arguments is " +"zero, then the returned value is ``0``. ``lcm()`` without arguments returns " +"``1``." +msgstr "" +"Повертає найменше спільне кратне вказаних цілих аргументів. Якщо всі " +"аргументи відмінні від нуля, тоді повертається найменше натуральне число, " +"кратне всім аргументам. Якщо будь-який з аргументів дорівнює нулю, то " +"повертається значення ``0``. ``lcm()`` без аргументів повертає ``1``." + +msgid "" +"Return ``x * (2**i)``. This is essentially the inverse of function :func:" +"`frexp`." +msgstr "Повернути ``x * (2**i)``. По суті, це зворотна функція :func:`frexp`." + +msgid "" +"Return the fractional and integer parts of *x*. Both results carry the sign " +"of *x* and are floats." +msgstr "" +"Повертає дробову та цілу частини *x*. Обидва результати мають знак *x* і є " +"числами з плаваючою точкою." + +msgid "Return the next floating-point value after *x* towards *y*." +msgstr "Повертає наступне значення з плаваючою комою після *x* до *y*." + +msgid "If *x* is equal to *y*, return *y*." +msgstr "Якщо *x* дорівнює *y*, поверніть *y*." + +msgid "Examples:" +msgstr "приклади:" + +msgid "``math.nextafter(x, math.inf)`` goes up: towards positive infinity." +msgstr "" +"``math.nextafter(x, math.inf)`` йде вгору: до позитивної нескінченності." + +msgid "``math.nextafter(x, -math.inf)`` goes down: towards minus infinity." +msgstr "``math.nextafter(x, -math.inf)`` йде вниз: до мінус нескінченності." + +msgid "``math.nextafter(x, 0.0)`` goes towards zero." +msgstr "``math.nextafter(x, 0.0)`` рухається до нуля." + +msgid "``math.nextafter(x, math.copysign(math.inf, x))`` goes away from zero." +msgstr "``math.nextafter(x, math.copysign(math.inf, x))`` відходить від нуля." + +msgid "See also :func:`math.ulp`." +msgstr "Дивіться також :func:`math.ulp`." + +msgid "" +"Return the number of ways to choose *k* items from *n* items without " +"repetition and with order." +msgstr "" +"Повернути кількість способів вибору *k* елементів з *n* елементів без " +"повторення та з порядком." + +msgid "" +"Evaluates to ``n! / (n - k)!`` when ``k <= n`` and evaluates to zero when " +"``k > n``." +msgstr "" +"Оцінюється як ``n! / (n - k)!`` коли ``k <= n`` and evaluates to zero when " +"``k > n``." + +msgid "" +"If *k* is not specified or is None, then *k* defaults to *n* and the " +"function returns ``n!``." +msgstr "" +"Якщо *k* не вказано або має значення None, тоді *k* за замовчуванням має " +"*n*, а функція повертає ``n!``." + +msgid "" +"Calculate the product of all the elements in the input *iterable*. The " +"default *start* value for the product is ``1``." +msgstr "" +"Обчислити добуток усіх елементів у вхідному *iterable*. Типовим *початковим* " +"значенням для продукту є \"1\"." + +msgid "" +"When the iterable is empty, return the start value. This function is " +"intended specifically for use with numeric values and may reject non-numeric " +"types." +msgstr "" +"Коли iterable порожній, поверніть початкове значення. Ця функція призначена " +"спеціально для використання з числовими значеннями та може відхиляти " +"нечислові типи." + +msgid "" +"Return the IEEE 754-style remainder of *x* with respect to *y*. For finite " +"*x* and finite nonzero *y*, this is the difference ``x - n*y``, where ``n`` " +"is the closest integer to the exact value of the quotient ``x / y``. If " +"``x / y`` is exactly halfway between two consecutive integers, the nearest " +"*even* integer is used for ``n``. The remainder ``r = remainder(x, y)`` " +"thus always satisfies ``abs(r) <= 0.5 * abs(y)``." +msgstr "" +"Повертає залишок *x* у стилі IEEE 754 відносно *y*. Для кінцевого *x* і " +"кінцевого ненульового *y* це різниця ``x - n*y``, де ``n`` є найближчим " +"цілим числом до точного значення частки ``x / y`` . Якщо ``x / y`` " +"знаходиться точно посередині між двома послідовними цілими числами, для " +"``n`` використовується найближче *парне* ціле число. Таким чином, залишок " +"``r = залишок(x, y)`` завжди задовольняє ``abs(r) <= 0,5 * abs(y)``." + +msgid "" +"Special cases follow IEEE 754: in particular, ``remainder(x, math.inf)`` is " +"*x* for any finite *x*, and ``remainder(x, 0)`` and ``remainder(math.inf, " +"x)`` raise :exc:`ValueError` for any non-NaN *x*. If the result of the " +"remainder operation is zero, that zero will have the same sign as *x*." +msgstr "" +"Спеціальні випадки відповідають стандарту IEEE 754: зокрема, ``remainder(x, " +"math.inf)`` є *x* для будь-якого кінцевого *x*, а ``remainder(x, 0)`` і " +"``remainder(math.inf). inf, x)`` підняти :exc:`ValueError` для будь-якого не-" +"NaN *x*. Якщо результатом операції залишку є нуль, цей нуль матиме той самий " +"знак, що й *x*." + +msgid "" +"On platforms using IEEE 754 binary floating-point, the result of this " +"operation is always exactly representable: no rounding error is introduced." +msgstr "" +"На платформах, які використовують двійкові числа з плаваючою точкою IEEE " +"754, результат цієї операції завжди можна точно представити: помилка " +"округлення не виникає." + +msgid "" +"Return *x* with the fractional part removed, leaving the integer part. This " +"rounds toward 0: ``trunc()`` is equivalent to :func:`floor` for positive " +"*x*, and equivalent to :func:`ceil` for negative *x*. If *x* is not a float, " +"delegates to :meth:`x.__trunc__ `, which should return an :" +"class:`~numbers.Integral` value." +msgstr "" +"Поверніть *x* із видаленням дробової частини, залишаючи цілу частину. Це " +"округляє до 0: ``trunc()`` еквівалентно :func:`floor` для додатного *x* та " +"еквівалентно :func:`ceil` для від’ємного *x*. Якщо *x* не є числом з " +"плаваючою точкою, делегує :meth:`x.__trunc__ `, який має " +"повернути значення :class:`~numbers.Integral`." + +msgid "Return the value of the least significant bit of the float *x*:" +msgstr "Повертає значення молодшого біта числа з плаваючою точкою *x*:" + +msgid "If *x* is a NaN (not a number), return *x*." +msgstr "Якщо *x* є NaN (а не числом), поверніть *x*." + +msgid "If *x* is negative, return ``ulp(-x)``." +msgstr "Якщо *x* від’ємне, поверніть ``ulp(-x)``." + +msgid "If *x* is a positive infinity, return *x*." +msgstr "Якщо *x* є позитивною нескінченністю, поверніть *x*." + +msgid "" +"If *x* is equal to zero, return the smallest positive *denormalized* " +"representable float (smaller than the minimum positive *normalized* float, :" +"data:`sys.float_info.min `)." +msgstr "" +"Якщо *x* дорівнює нулю, поверніть найменше додатне *деноралізоване* число з " +"плаваючою точкою (менше ніж мінімальне позитивне *нормалізоване* число з " +"плаваючою точкою, :data:`sys.float_info.min `)." + +msgid "" +"If *x* is equal to the largest positive representable float, return the " +"value of the least significant bit of *x*, such that the first float smaller " +"than *x* is ``x - ulp(x)``." +msgstr "" +"Якщо *x* дорівнює найбільшому додатному репрезентативному float, поверніть " +"значення молодшого значущого біта *x*, щоб перше число з плаваючою точкою, " +"менше за *x*, було ``x - ulp(x)``." + +msgid "" +"Otherwise (*x* is a positive finite number), return the value of the least " +"significant bit of *x*, such that the first float bigger than *x* is ``x + " +"ulp(x)``." +msgstr "" +"В іншому випадку (*x* — додатне скінченне число) поверніть значення " +"молодшого біта *x*, щоб перше число з плаваючою речовиною, більше за *x*, " +"було ``x + ulp(x)``." + +msgid "ULP stands for \"Unit in the Last Place\"." +msgstr "ULP розшифровується як \"Unit in the Last Place\"." + +msgid "" +"See also :func:`math.nextafter` and :data:`sys.float_info.epsilon `." +msgstr "" +"Дивіться також :func:`math.nextafter` і :data:`sys.float_info.epsilon `." + +msgid "" +"Note that :func:`frexp` and :func:`modf` have a different call/return " +"pattern than their C equivalents: they take a single argument and return a " +"pair of values, rather than returning their second return value through an " +"'output parameter' (there is no such thing in Python)." +msgstr "" +"Зауважте, що :func:`frexp` і :func:`modf` мають інший шаблон виклику/" +"повернення, ніж їхні еквіваленти на C: вони беруть один аргумент і " +"повертають пару значень, замість того, щоб повертати друге значення, що " +"повертається через 'вихід параметр\" (у Python такого немає)." + +msgid "" +"For the :func:`ceil`, :func:`floor`, and :func:`modf` functions, note that " +"*all* floating-point numbers of sufficiently large magnitude are exact " +"integers. Python floats typically carry no more than 53 bits of precision " +"(the same as the platform C double type), in which case any float *x* with " +"``abs(x) >= 2**52`` necessarily has no fractional bits." +msgstr "" +"Для функцій :func:`ceil`, :func:`floor` і :func:`modf` зауважте, що *всі* " +"числа з плаваючою комою досить великої величини є точними цілими числами. " +"Python зазвичай містить не більше 53 бітів точності (так само, як і " +"подвійний тип платформи C), у цьому випадку будь-яке число з плаваючою " +"речовиною *x* із ``abs(x) >= 2**52`` обов’язково не має дробових бітів. ." + +msgid "Power and logarithmic functions" +msgstr "Степеневі та логарифмічні функції" + +msgid "Return the cube root of *x*." +msgstr "" + +msgid "" +"Return *e* raised to the power *x*, where *e* = 2.718281... is the base of " +"natural logarithms. This is usually more accurate than ``math.e ** x`` or " +"``pow(math.e, x)``." +msgstr "" +"Поверніть *e* у степені *x*, де *e* = 2,718281... є основою натуральних " +"логарифмів. Зазвичай це точніше, ніж ``math.e ** x`` або ``pow(math.e, x)``." + +msgid "Return *2* raised to the power *x*." +msgstr "" + +msgid "" +"Return *e* raised to the power *x*, minus 1. Here *e* is the base of " +"natural logarithms. For small floats *x*, the subtraction in ``exp(x) - 1`` " +"can result in a `significant loss of precision `_\\; the :func:`expm1` function provides a way to " +"compute this quantity to full precision::" +msgstr "" +"Поверніть *e* у степені *x*, мінус 1. Тут *e* — основа натуральних " +"логарифмів. Для малих чисел *x* віднімання в ``exp(x) - 1`` може призвести " +"до `значної втрати точності `_\\; функція :func:`expm1` забезпечує спосіб " +"обчислення цієї величини з повною точністю::" + +msgid "With one argument, return the natural logarithm of *x* (to base *e*)." +msgstr "З одним аргументом повертає натуральний логарифм *x* (за основою *e*)." + +msgid "" +"With two arguments, return the logarithm of *x* to the given *base*, " +"calculated as ``log(x)/log(base)``." +msgstr "" +"З двома аргументами повертає логарифм від *x* до заданої *основи*, " +"обчислений як ``log(x)/log(основа)``." + +msgid "" +"Return the natural logarithm of *1+x* (base *e*). The result is calculated " +"in a way which is accurate for *x* near zero." +msgstr "" +"Повертає натуральний логарифм *1+x* (за основою *e*). Результат обчислюється " +"таким чином, що є точним для *x* біля нуля." + +msgid "" +"Return the base-2 logarithm of *x*. This is usually more accurate than " +"``log(x, 2)``." +msgstr "" +"Повертає логарифм *x* за основою 2. Зазвичай це точніше, ніж ``log(x, 2)``." + +msgid "" +":meth:`int.bit_length` returns the number of bits necessary to represent an " +"integer in binary, excluding the sign and leading zeros." +msgstr "" +":meth:`int.bit_length` повертає кількість бітів, необхідну для представлення " +"цілого числа в двійковій формі, за винятком знака та нулів на початку." + +msgid "" +"Return the base-10 logarithm of *x*. This is usually more accurate than " +"``log(x, 10)``." +msgstr "" +"Повертає логарифм *x* за основою 10. Зазвичай це точніше, ніж ``log(x, 10)``." + +msgid "" +"Return ``x`` raised to the power ``y``. Exceptional cases follow the IEEE " +"754 standard as far as possible. In particular, ``pow(1.0, x)`` and " +"``pow(x, 0.0)`` always return ``1.0``, even when ``x`` is a zero or a NaN. " +"If both ``x`` and ``y`` are finite, ``x`` is negative, and ``y`` is not an " +"integer then ``pow(x, y)`` is undefined, and raises :exc:`ValueError`." +msgstr "" + +msgid "" +"Unlike the built-in ``**`` operator, :func:`math.pow` converts both its " +"arguments to type :class:`float`. Use ``**`` or the built-in :func:`pow` " +"function for computing exact integer powers." +msgstr "" +"На відміну від вбудованого оператора ``**``, :func:`math.pow` перетворює " +"обидва свої аргументи на тип :class:`float`. Використовуйте ``**`` або " +"вбудовану функцію :func:`pow` для обчислення точних цілих степенів." + +msgid "" +"The special cases ``pow(0.0, -inf)`` and ``pow(-0.0, -inf)`` were changed to " +"return ``inf`` instead of raising :exc:`ValueError`, for consistency with " +"IEEE 754." +msgstr "" + +msgid "Return the square root of *x*." +msgstr "Повертає квадратний корінь з *x*." + +msgid "Trigonometric functions" +msgstr "Тригонометричні функції" + +msgid "" +"Return the arc cosine of *x*, in radians. The result is between ``0`` and " +"``pi``." +msgstr "Повертає арккосинус *x* у радіанах. Результат між ``0`` і ``pi``." + +msgid "" +"Return the arc sine of *x*, in radians. The result is between ``-pi/2`` and " +"``pi/2``." +msgstr "" +"Повертає арксинус *x* у радіанах. Результат знаходиться між ``-pi/2`` і " +"``pi/2``." + +msgid "" +"Return the arc tangent of *x*, in radians. The result is between ``-pi/2`` " +"and ``pi/2``." +msgstr "" +"Повертає арктангенс *x* у радіанах. Результат знаходиться між ``-pi/2`` і " +"``pi/2``." + +msgid "" +"Return ``atan(y / x)``, in radians. The result is between ``-pi`` and " +"``pi``. The vector in the plane from the origin to point ``(x, y)`` makes " +"this angle with the positive X axis. The point of :func:`atan2` is that the " +"signs of both inputs are known to it, so it can compute the correct quadrant " +"for the angle. For example, ``atan(1)`` and ``atan2(1, 1)`` are both " +"``pi/4``, but ``atan2(-1, -1)`` is ``-3*pi/4``." +msgstr "" +"Повертає ``atan(y / x)``, у радіанах. Результат знаходиться між ``-pi`` і " +"``pi``. Вектор у площині від початку координат до точки \"(x, y)\" утворює " +"цей кут із додатною віссю X. Суть :func:`atan2` полягає в тому, що йому " +"відомі знаки обох вхідних даних, тому він може обчислити правильний квадрант " +"для кута. Наприклад, ``atan(1)`` і ``atan2(1, 1)`` обидва є ``pi/4``, але " +"``atan2(-1, -1)`` є ``-3*pi/4``." + +msgid "Return the cosine of *x* radians." +msgstr "Повертає косинус *x* радіан." + +msgid "" +"Return the Euclidean distance between two points *p* and *q*, each given as " +"a sequence (or iterable) of coordinates. The two points must have the same " +"dimension." +msgstr "" +"Повертає евклідову відстань між двома точками *p* і *q*, кожна з яких задана " +"як послідовність (або повторювана) координат. Дві точки повинні мати " +"однаковий розмір." + +msgid "Roughly equivalent to::" +msgstr "Приблизно еквівалентно::" + +msgid "" +"Return the Euclidean norm, ``sqrt(sum(x**2 for x in coordinates))``. This is " +"the length of the vector from the origin to the point given by the " +"coordinates." +msgstr "" +"Повертає евклідову норму, ``sqrt(sum(x**2 для x у координатах))``. Це " +"довжина вектора від початку координат до точки, заданої координатами." + +msgid "" +"For a two dimensional point ``(x, y)``, this is equivalent to computing the " +"hypotenuse of a right triangle using the Pythagorean theorem, ``sqrt(x*x + " +"y*y)``." +msgstr "" +"Для двовимірної точки ``(x, y)`` це еквівалентно обчисленню гіпотенузи " +"прямокутного трикутника за допомогою теореми Піфагора ``sqrt(x*x + y*y)``." + +msgid "" +"Added support for n-dimensional points. Formerly, only the two dimensional " +"case was supported." +msgstr "" +"Додано підтримку n-вимірних точок. Раніше підтримувався лише двовимірний " +"випадок." + +msgid "" +"Improved the algorithm's accuracy so that the maximum error is under 1 ulp " +"(unit in the last place). More typically, the result is almost always " +"correctly rounded to within 1/2 ulp." +msgstr "" +"Покращено точність алгоритму, щоб максимальна помилка була менше 1 ulp " +"(одиниця на останньому місці). Як правило, результат майже завжди правильно " +"округлюється з точністю до 1/2 ulp." + +msgid "Return the sine of *x* radians." +msgstr "Повернути синус *x* радіан." + +msgid "Return the tangent of *x* radians." +msgstr "Повертає тангенс *x* радіан." + +msgid "Angular conversion" +msgstr "Кутове перетворення" + +msgid "Convert angle *x* from radians to degrees." +msgstr "Перетворіть кут *x* з радіан на градуси." + +msgid "Convert angle *x* from degrees to radians." +msgstr "Переведіть кут *x* із градусів у радіани." + +msgid "Hyperbolic functions" +msgstr "Гіперболічні функції" + +msgid "" +"`Hyperbolic functions `_ " +"are analogs of trigonometric functions that are based on hyperbolas instead " +"of circles." +msgstr "" +"`Гіперболічні функції `_ " +"є аналогами тригонометричних функцій, які засновані на гіперболах замість " +"кіл." + +msgid "Return the inverse hyperbolic cosine of *x*." +msgstr "Повертає арккосинус *x*." + +msgid "Return the inverse hyperbolic sine of *x*." +msgstr "Повертає гіперболічний арксинус *x*." + +msgid "Return the inverse hyperbolic tangent of *x*." +msgstr "Повертає гіперболічний обернений тангенс *x*." + +msgid "Return the hyperbolic cosine of *x*." +msgstr "Повертає гіперболічний косинус *x*." + +msgid "Return the hyperbolic sine of *x*." +msgstr "Повернути гіперболічний синус *x*." + +msgid "Return the hyperbolic tangent of *x*." +msgstr "Поверніть гіперболічний тангенс *x*." + +msgid "Special functions" +msgstr "Спеціальні функції" + +msgid "" +"Return the `error function `_ " +"at *x*." +msgstr "" +"Повертає `функцію помилки `_ у " +"*x*." + +msgid "" +"The :func:`erf` function can be used to compute traditional statistical " +"functions such as the `cumulative standard normal distribution `_::" +msgstr "" + +msgid "" +"Return the complementary error function at *x*. The `complementary error " +"function `_ is defined as " +"``1.0 - erf(x)``. It is used for large values of *x* where a subtraction " +"from one would cause a `loss of significance `_\\." +msgstr "" +"Повертає функцію додаткової помилки в *x*. `Додаткова функція помилок " +"`_ визначається як ``1.0 - " +"erf(x)``. Він використовується для великих значень *x*, де віднімання від " +"одиниці спричинило б `втрату значущості `_\\." + +msgid "" +"Return the `Gamma function `_ " +"at *x*." +msgstr "" +"Повертає `Гамма-функцію `_ у " +"*x*." + +msgid "" +"Return the natural logarithm of the absolute value of the Gamma function at " +"*x*." +msgstr "" +"Повертає натуральний логарифм абсолютного значення гамма-функції при *x*." + +msgid "Constants" +msgstr "Константи" + +msgid "The mathematical constant *π* = 3.141592..., to available precision." +msgstr "Математична константа *π* = 3,141592... з доступною точністю." + +msgid "The mathematical constant *e* = 2.718281..., to available precision." +msgstr "Математична константа *e* = 2,718281... з доступною точністю." + +msgid "" +"The mathematical constant *τ* = 6.283185..., to available precision. Tau is " +"a circle constant equal to 2\\ *π*, the ratio of a circle's circumference to " +"its radius. To learn more about Tau, check out Vi Hart's video `Pi is " +"(still) Wrong `_, and start " +"celebrating `Tau day `_ by eating twice as much pie!" +msgstr "" +"Математична константа *τ* = 6,283185... з доступною точністю. Tau — постійна " +"величина кола, що дорівнює 2\\ *π*, відношенню довжини кола до його радіуса. " +"Щоб дізнатися більше про Тау, перегляньте відео Ві Харт `Пі (все ще) " +"неправильне `_, і почніть " +"святкувати `День Тау `_, з’ївши вдвічі більше пирога!" + +msgid "" +"A floating-point positive infinity. (For negative infinity, use ``-math." +"inf``.) Equivalent to the output of ``float('inf')``." +msgstr "" +"Додатна нескінченність із плаваючою комою. (Для негативної нескінченності " +"використовуйте ``-math.inf``.) Еквівалент виведення ``float('inf')``." + +msgid "" +"A floating-point \"not a number\" (NaN) value. Equivalent to the output of " +"``float('nan')``. Due to the requirements of the `IEEE-754 standard `_, ``math.nan`` and ``float('nan')`` are not " +"considered to equal to any other numeric value, including themselves. To " +"check whether a number is a NaN, use the :func:`isnan` function to test for " +"NaNs instead of ``is`` or ``==``. Example::" +msgstr "" +"Значення з плаваючою комою \"не число\" (NaN). Еквівалент виведення " +"``float('nan')``. Відповідно до вимог стандарту `IEEE-754 `_, ``math.nan`` і ``float('nan')`` не " +"вважаються рівними будь-якому іншому числовому значенню, включно з ними " +"самими. Щоб перевірити, чи є число NaN, використовуйте функцію :func:`isnan` " +"для перевірки NaN замість ``is`` або ``==``. Приклад::" + +msgid "It is now always available." +msgstr "" + +msgid "" +"The :mod:`math` module consists mostly of thin wrappers around the platform " +"C math library functions. Behavior in exceptional cases follows Annex F of " +"the C99 standard where appropriate. The current implementation will raise :" +"exc:`ValueError` for invalid operations like ``sqrt(-1.0)`` or ``log(0.0)`` " +"(where C99 Annex F recommends signaling invalid operation or divide-by-" +"zero), and :exc:`OverflowError` for results that overflow (for example, " +"``exp(1000.0)``). A NaN will not be returned from any of the functions " +"above unless one or more of the input arguments was a NaN; in that case, " +"most functions will return a NaN, but (again following C99 Annex F) there " +"are some exceptions to this rule, for example ``pow(float('nan'), 0.0)`` or " +"``hypot(float('nan'), float('inf'))``." +msgstr "" +"Модуль :mod:`math` складається здебільшого з тонких обгорток навколо функцій " +"математичної бібліотеки платформи C. Поведінка у виняткових випадках " +"відповідає додатку F стандарту C99, де це необхідно. Поточна реалізація " +"викличе :exc:`ValueError` для недійсних операцій, таких як ``sqrt(-1.0)`` " +"або ``log(0.0)`` (де C99 Додаток F рекомендує сигналізувати про недійсну " +"операцію або ділення на нуль), і :exc:`OverflowError` для результатів, які " +"переповнюються (наприклад, ``exp(1000.0)``). NaN не буде повернено жодною з " +"наведених вище функцій, якщо один або більше вхідних аргументів не були NaN; " +"у цьому випадку більшість функцій повертатиме NaN, але (знову ж таки " +"відповідно до Додатку F C99) є деякі винятки з цього правила, наприклад " +"``pow(float('nan'), 0.0)`` або ``hypot(float ('nan'), float('inf'))``." + +msgid "" +"Note that Python makes no effort to distinguish signaling NaNs from quiet " +"NaNs, and behavior for signaling NaNs remains unspecified. Typical behavior " +"is to treat all NaNs as though they were quiet." +msgstr "" +"Зауважте, що Python не робить жодних зусиль, щоб відрізнити сигнальні NaN " +"від тихих NaN, і поведінка для сигнальних NaN залишається невизначеною. " +"Типовою поведінкою є ставлення до всіх NaN так, ніби вони тихі." + +msgid "Module :mod:`cmath`" +msgstr "Модуль :mod:`cmath`" + +msgid "Complex number versions of many of these functions." +msgstr "Версії комплексних чисел багатьох із цих функцій." diff --git a/library/mimetypes.po b/library/mimetypes.po new file mode 100644 index 000000000..72fdf352d --- /dev/null +++ b/library/mimetypes.po @@ -0,0 +1,394 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`mimetypes` --- Map filenames to MIME types" +msgstr ":mod:`mimetypes` --- зіставлення назв файлів із типами MIME" + +msgid "**Source code:** :source:`Lib/mimetypes.py`" +msgstr "**Вихідний код:** :source:`Lib/mimetypes.py`" + +msgid "" +"The :mod:`mimetypes` module converts between a filename or URL and the MIME " +"type associated with the filename extension. Conversions are provided from " +"filename to MIME type and from MIME type to filename extension; encodings " +"are not supported for the latter conversion." +msgstr "" +"Модуль :mod:`mimetypes` перетворює назву файлу або URL-адресу на тип MIME, " +"пов’язаний із розширенням назви файлу. Передбачено перетворення імені файлу " +"в тип MIME та типу MIME у розширення імені файла; кодування не підтримуються " +"для останнього перетворення." + +msgid "" +"The module provides one class and a number of convenience functions. The " +"functions are the normal interface to this module, but some applications may " +"be interested in the class as well." +msgstr "" +"Модуль надає один клас і ряд зручних функцій. Функції є звичайним " +"інтерфейсом для цього модуля, але деякі програми також можуть бути " +"зацікавлені в класі." + +msgid "" +"The functions described below provide the primary interface for this " +"module. If the module has not been initialized, they will call :func:`init` " +"if they rely on the information :func:`init` sets up." +msgstr "" +"Описані нижче функції забезпечують основний інтерфейс для цього модуля. Якщо " +"модуль не було ініціалізовано, вони викличуть :func:`init`, якщо вони " +"покладаються на інформацію, встановлену :func:`init`." + +msgid "" +"Guess the type of a file based on its filename, path or URL, given by *url*. " +"URL can be a string or a :term:`path-like object`." +msgstr "" +"Вгадайте тип файлу на основі його назви файлу, шляху або URL-адреси, заданої " +"*url*. URL-адреса може бути рядком або :term:`path-like object`." + +msgid "" +"The return value is a tuple ``(type, encoding)`` where *type* is ``None`` if " +"the type can't be guessed (missing or unknown suffix) or a string of the " +"form ``'type/subtype'``, usable for a MIME :mailheader:`content-type` header." +msgstr "" +"Поверненим значенням є кортеж ``(тип, кодування)``, де *type* є ``None``, " +"якщо тип неможливо вгадати (відсутній або невідомий суфікс), або рядок у " +"формі ``'type/ subtype''``, який можна використовувати для заголовка MIME :" +"mailheader:`content-type`." + +msgid "" +"*encoding* is ``None`` for no encoding or the name of the program used to " +"encode (e.g. :program:`compress` or :program:`gzip`). The encoding is " +"suitable for use as a :mailheader:`Content-Encoding` header, **not** as a :" +"mailheader:`Content-Transfer-Encoding` header. The mappings are table " +"driven. Encoding suffixes are case sensitive; type suffixes are first tried " +"case sensitively, then case insensitively." +msgstr "" +"*encoding* — це ``None`` для відсутності кодування або назви програми, що " +"використовується для кодування (наприклад, :program:`compress` або :program:" +"`gzip`). Кодування підходить для використання як заголовок :mailheader:" +"`Content-Encoding`, **не** як заголовок :mailheader:`Content-Transfer-" +"Encoding`. Відображення керуються таблицею. Суфікси кодування чутливі до " +"регістру; Суфікси типу спочатку перевіряються з урахуванням регістру, потім " +"без урахування регістру." + +msgid "" +"The optional *strict* argument is a flag specifying whether the list of " +"known MIME types is limited to only the official types `registered with IANA " +"`_. When " +"*strict* is ``True`` (the default), only the IANA types are supported; when " +"*strict* is ``False``, some additional non-standard but commonly used MIME " +"types are also recognized." +msgstr "" +"Необов’язковий аргумент *strict* — це прапорець, який визначає, чи обмежено " +"список відомих типів MIME лише офіційними типами, `зареєстрованими в IANA " +"`_. Якщо " +"*strict* має значення ``True`` (за замовчуванням), підтримуються лише типи " +"IANA; коли *strict* має значення ``False``, також розпізнаються деякі " +"додаткові нестандартні, але часто використовувані типи MIME." + +msgid "Added support for url being a :term:`path-like object`." +msgstr "Додано підтримку того, що url є :term:`path-like object`." + +msgid "" +"Guess the extensions for a file based on its MIME type, given by *type*. The " +"return value is a list of strings giving all possible filename extensions, " +"including the leading dot (``'.'``). The extensions are not guaranteed to " +"have been associated with any particular data stream, but would be mapped to " +"the MIME type *type* by :func:`guess_type`." +msgstr "" +"Вгадайте розширення для файлу на основі його типу MIME, заданого *type*. " +"Повернене значення — це список рядків із усіма можливими розширеннями імен " +"файлів, включаючи крапку на початку (``'.'``). Не гарантується, що " +"розширення будуть пов’язані з будь-яким конкретним потоком даних, але вони " +"будуть зіставлені з типом MIME *type* за допомогою :func:`guess_type`." + +msgid "" +"The optional *strict* argument has the same meaning as with the :func:" +"`guess_type` function." +msgstr "" +"Необов’язковий аргумент *strict* має те саме значення, що й функція :func:" +"`guess_type`." + +msgid "" +"Guess the extension for a file based on its MIME type, given by *type*. The " +"return value is a string giving a filename extension, including the leading " +"dot (``'.'``). The extension is not guaranteed to have been associated with " +"any particular data stream, but would be mapped to the MIME type *type* by :" +"func:`guess_type`. If no extension can be guessed for *type*, ``None`` is " +"returned." +msgstr "" +"Вгадайте розширення файлу на основі його типу MIME, заданого *type*. " +"Поверненим значенням є рядок із розширенням назви файлу, включаючи крапку на " +"початку (``'.'``). Не гарантується, що розширення буде пов’язане з будь-яким " +"конкретним потоком даних, але буде зіставлено з типом MIME *type* за " +"допомогою :func:`guess_type`. Якщо для *type* не вдається вгадати " +"розширення, повертається ``None``." + +msgid "" +"Some additional functions and data items are available for controlling the " +"behavior of the module." +msgstr "" +"Деякі додаткові функції та елементи даних доступні для керування поведінкою " +"модуля." + +msgid "" +"Initialize the internal data structures. If given, *files* must be a " +"sequence of file names which should be used to augment the default type " +"map. If omitted, the file names to use are taken from :const:`knownfiles`; " +"on Windows, the current registry settings are loaded. Each file named in " +"*files* or :const:`knownfiles` takes precedence over those named before it. " +"Calling :func:`init` repeatedly is allowed." +msgstr "" +"Ініціалізація внутрішніх структур даних. Якщо задано, *files* має бути " +"послідовністю імен файлів, які слід використовувати для доповнення карти " +"типів за замовчуванням. Якщо опущено, імена файлів для використання беруться " +"з :const:`knownfiles`; у Windows завантажуються поточні параметри реєстру. " +"Кожен файл, названий у *files* або :const:`knownfiles`, має пріоритет над " +"файлами, названими перед ним. Повторний виклик :func:`init` дозволено." + +msgid "" +"Specifying an empty list for *files* will prevent the system defaults from " +"being applied: only the well-known values will be present from a built-in " +"list." +msgstr "" +"Якщо вказати порожній список для *файлів*, системні параметри за " +"замовчуванням не будуть застосовані: із вбудованого списку будуть присутні " +"лише добре відомі значення." + +msgid "" +"If *files* is ``None`` the internal data structure is completely rebuilt to " +"its initial default value. This is a stable operation and will produce the " +"same results when called multiple times." +msgstr "" +"Якщо *files* має значення ``None``, внутрішня структура даних повністю " +"перебудовується до початкового значення за замовчуванням. Це стабільна " +"операція, яка дає однакові результати при багаторазовому виклику." + +msgid "Previously, Windows registry settings were ignored." +msgstr "Раніше параметри реєстру Windows ігнорувалися." + +msgid "" +"Load the type map given in the file *filename*, if it exists. The type map " +"is returned as a dictionary mapping filename extensions, including the " +"leading dot (``'.'``), to strings of the form ``'type/subtype'``. If the " +"file *filename* does not exist or cannot be read, ``None`` is returned." +msgstr "" +"Завантажте карту типів, указану у файлі *filename*, якщо вона існує. Карта " +"типів повертається як словник, який зіставляє розширення імен файлів, " +"включаючи початкову крапку (``'.''``), на рядки у формі ``'тип/підтип'``. " +"Якщо файл *filename* не існує або не може бути прочитаний, повертається " +"``None``." + +msgid "" +"Add a mapping from the MIME type *type* to the extension *ext*. When the " +"extension is already known, the new type will replace the old one. When the " +"type is already known the extension will be added to the list of known " +"extensions." +msgstr "" +"Додайте зіставлення типу MIME *type* з розширенням *ext*. Коли розширення " +"вже відомо, новий тип замінить старий. Якщо тип уже відомий, розширення буде " +"додано до списку відомих розширень." + +msgid "" +"When *strict* is ``True`` (the default), the mapping will be added to the " +"official MIME types, otherwise to the non-standard ones." +msgstr "" +"Якщо *strict* має значення ``True`` (за замовчуванням), відображення буде " +"додано до офіційних типів MIME, інакше – до нестандартних." + +msgid "" +"Flag indicating whether or not the global data structures have been " +"initialized. This is set to ``True`` by :func:`init`." +msgstr "" +"Прапорець, що вказує, чи ініціалізовано глобальні структури даних. :func:" +"`init` встановлює значення ``True``." + +msgid "" +"List of type map file names commonly installed. These files are typically " +"named :file:`mime.types` and are installed in different locations by " +"different packages." +msgstr "" +"Список імен типових файлів карт, які зазвичай встановлюються. Ці файли " +"зазвичай називаються :file:`mime.types` і встановлюються в різних місцях " +"різними пакетами." + +msgid "" +"Dictionary mapping suffixes to suffixes. This is used to allow recognition " +"of encoded files for which the encoding and the type are indicated by the " +"same extension. For example, the :file:`.tgz` extension is mapped to :file:" +"`.tar.gz` to allow the encoding and type to be recognized separately." +msgstr "" +"Словник зіставлення суфіксів із суфіксами. Це використовується для " +"розпізнавання закодованих файлів, для яких кодування та тип позначено тим " +"самим розширенням. Наприклад, розширення :file:`.tgz` зіставляється з :file:" +"`.tar.gz`, щоб дозволити кодування та тип розпізнаватися окремо." + +msgid "Dictionary mapping filename extensions to encoding types." +msgstr "Словник зіставляє розширення імен файлів із типами кодування." + +msgid "Dictionary mapping filename extensions to MIME types." +msgstr "Словник зіставляє розширення імен файлів із типами MIME." + +msgid "" +"Dictionary mapping filename extensions to non-standard, but commonly found " +"MIME types." +msgstr "" +"Словник зіставляє розширення імен файлів із нестандартними, але часто " +"зустрічаються типами MIME." + +msgid "An example usage of the module::" +msgstr "Приклад використання модуля::" + +msgid "MimeTypes Objects" +msgstr "Об’єкти MimeTypes" + +msgid "" +"The :class:`MimeTypes` class may be useful for applications which may want " +"more than one MIME-type database; it provides an interface similar to the " +"one of the :mod:`mimetypes` module." +msgstr "" +"Клас :class:`MimeTypes` може бути корисним для програм, яким може " +"знадобитися більше однієї бази даних типу MIME; він забезпечує інтерфейс, " +"подібний до інтерфейсу модуля :mod:`mimetypes`." + +msgid "" +"This class represents a MIME-types database. By default, it provides access " +"to the same database as the rest of this module. The initial database is a " +"copy of that provided by the module, and may be extended by loading " +"additional :file:`mime.types`\\ -style files into the database using the :" +"meth:`read` or :meth:`readfp` methods. The mapping dictionaries may also be " +"cleared before loading additional data if the default data is not desired." +msgstr "" +"Цей клас представляє базу даних типів MIME. За замовчуванням він надає " +"доступ до тієї самої бази даних, що й решта цього модуля. Початкова база " +"даних є копією тієї, що надається модулем, і може бути розширена шляхом " +"завантаження додаткових файлів у стилі :file:`mime.types`\\ у базу даних за " +"допомогою :meth:`read` або :meth:`readfp` методи. Словники зіставлення також " +"можна очистити перед завантаженням додаткових даних, якщо дані за " +"замовчуванням не потрібні." + +msgid "" +"The optional *filenames* parameter can be used to cause additional files to " +"be loaded \"on top\" of the default database." +msgstr "" +"Необов’язковий параметр *filenames* можна використовувати, щоб завантажувати " +"додаткові файли \"поверх\" бази даних за замовчуванням." + +msgid "" +"Dictionary mapping suffixes to suffixes. This is used to allow recognition " +"of encoded files for which the encoding and the type are indicated by the " +"same extension. For example, the :file:`.tgz` extension is mapped to :file:" +"`.tar.gz` to allow the encoding and type to be recognized separately. This " +"is initially a copy of the global :data:`suffix_map` defined in the module." +msgstr "" +"Словник зіставлення суфіксів із суфіксами. Це використовується для " +"розпізнавання закодованих файлів, для яких кодування та тип позначено тим " +"самим розширенням. Наприклад, розширення :file:`.tgz` зіставляється з :file:" +"`.tar.gz`, щоб дозволити кодування та тип розпізнаватися окремо. Спочатку це " +"копія глобального :data:`suffix_map`, визначеного в модулі." + +msgid "" +"Dictionary mapping filename extensions to encoding types. This is initially " +"a copy of the global :data:`encodings_map` defined in the module." +msgstr "" +"Словник зіставляє розширення імен файлів із типами кодування. Спочатку це " +"копія глобального :data:`encodings_map`, визначеного в модулі." + +msgid "" +"Tuple containing two dictionaries, mapping filename extensions to MIME " +"types: the first dictionary is for the non-standards types and the second " +"one is for the standard types. They are initialized by :data:`common_types` " +"and :data:`types_map`." +msgstr "" +"Кортеж, що містить два словники, зіставляючи розширення імен файлів із " +"типами MIME: перший словник призначений для нестандартних типів, а другий — " +"для стандартних типів. Вони ініціалізуються :data:`common_types` і :data:" +"`types_map`." + +msgid "" +"Tuple containing two dictionaries, mapping MIME types to a list of filename " +"extensions: the first dictionary is for the non-standards types and the " +"second one is for the standard types. They are initialized by :data:" +"`common_types` and :data:`types_map`." +msgstr "" +"Кортеж, що містить два словники, зіставляючи типи MIME зі списком розширень " +"імен файлів: перший словник призначений для нестандартних типів, а другий — " +"для стандартних типів. Вони ініціалізуються :data:`common_types` і :data:" +"`types_map`." + +msgid "" +"Similar to the :func:`guess_extension` function, using the tables stored as " +"part of the object." +msgstr "" +"Подібно до функції :func:`guess_extension`, використовуючи таблиці, що " +"зберігаються як частина об’єкта." + +msgid "" +"Similar to the :func:`guess_type` function, using the tables stored as part " +"of the object." +msgstr "" +"Подібно до функції :func:`guess_type`, використовуючи таблиці, що " +"зберігаються як частина об’єкта." + +msgid "" +"Similar to the :func:`guess_all_extensions` function, using the tables " +"stored as part of the object." +msgstr "" +"Подібно до функції :func:`guess_all_extensions`, використовуючи таблиці, що " +"зберігаються як частина об’єкта." + +msgid "" +"Load MIME information from a file named *filename*. This uses :meth:" +"`readfp` to parse the file." +msgstr "" +"Завантажте інформацію MIME з файлу з іменем *filename*. Це використовує :" +"meth:`readfp` для аналізу файлу." + +msgid "" +"If *strict* is ``True``, information will be added to list of standard " +"types, else to the list of non-standard types." +msgstr "" +"Якщо *strict* має значення ``True``, інформацію буде додано до списку " +"стандартних типів, інакше до списку нестандартних типів." + +msgid "" +"Load MIME type information from an open file *fp*. The file must have the " +"format of the standard :file:`mime.types` files." +msgstr "" +"Завантажте інформацію про тип MIME із відкритого файлу *fp*. Файл повинен " +"мати формат стандартних файлів :file:`mime.types`." + +msgid "" +"If *strict* is ``True``, information will be added to the list of standard " +"types, else to the list of non-standard types." +msgstr "" +"Якщо *strict* має значення ``True``, інформацію буде додано до списку " +"стандартних типів, інакше – до списку нестандартних типів." + +msgid "Load MIME type information from the Windows registry." +msgstr "Завантажте інформацію про тип MIME з реєстру Windows." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." diff --git a/library/mm.po b/library/mm.po new file mode 100644 index 000000000..c8da4d652 --- /dev/null +++ b/library/mm.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Multimedia Services" +msgstr "Мультимедійні послуги" + +msgid "" +"The modules described in this chapter implement various algorithms or " +"interfaces that are mainly useful for multimedia applications. They are " +"available at the discretion of the installation. Here's an overview:" +msgstr "" +"Модулі, описані в цьому розділі, реалізують різні алгоритми або інтерфейси, " +"які в основному корисні для мультимедійних програм. Вони доступні на розсуд " +"установки. Ось огляд:" diff --git a/library/mmap.po b/library/mmap.po new file mode 100644 index 000000000..56151ce63 --- /dev/null +++ b/library/mmap.po @@ -0,0 +1,491 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Olga Tomakhina, 2022 +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`mmap` --- Memory-mapped file support" +msgstr ":mod:`mmap` --- Підтримка файлів, відображених у пам'яті" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Memory-mapped file objects behave like both :class:`bytearray` and like :" +"term:`file objects `. You can use mmap objects in most places " +"where :class:`bytearray` are expected; for example, you can use the :mod:" +"`re` module to search through a memory-mapped file. You can also change a " +"single byte by doing ``obj[index] = 97``, or change a subsequence by " +"assigning to a slice: ``obj[i1:i2] = b'...'``. You can also read and write " +"data starting at the current file position, and :meth:`seek` through the " +"file to different positions." +msgstr "" +"Файлові об’єкти, відображені в пам’яті, поводяться як :class:`bytearray` і " +"як :term:`файлові об’єкти `. Ви можете використовувати об’єкти " +"mmap у більшості місць, де очікується :class:`bytearray`; наприклад, ви " +"можете використовувати модуль :mod:`re` для пошуку у файлі, відображеному в " +"пам’яті. Ви також можете змінити один байт, виконавши ``obj[index] = 97``, " +"або змінити підпослідовність, призначивши зрізу: ``obj[i1:i2] = b'...'``. Ви " +"також можете читати та записувати дані, починаючи з поточної позиції файлу, " +"і :meth:`seek` по файлу до різних позицій." + +msgid "" +"A memory-mapped file is created by the :class:`~mmap.mmap` constructor, " +"which is different on Unix and on Windows. In either case you must provide " +"a file descriptor for a file opened for update. If you wish to map an " +"existing Python file object, use its :meth:`fileno` method to obtain the " +"correct value for the *fileno* parameter. Otherwise, you can open the file " +"using the :func:`os.open` function, which returns a file descriptor directly " +"(the file still needs to be closed when done)." +msgstr "" +"Файл із відображенням в пам’яті створюється конструктором :class:`~mmap." +"mmap`, який відрізняється в Unix і Windows. У будь-якому випадку ви повинні " +"передати дескриптор файлу, відкритого для змін. Якщо ви бажаєте зробити " +"посилання на існуючий об’єкт файлу Python, скористайтеся його методом :meth:" +"`fileno`, щоб отримати правильне значення для параметра *fileno*. В іншому " +"випадку ви можете відкрити файл за допомогою функції :func:`os.open`, яка " +"безпосередньо повертає дескриптор файлу (після завершення файл потрібно " +"закрити)." + +msgid "" +"If you want to create a memory-mapping for a writable, buffered file, you " +"should :func:`~io.IOBase.flush` the file first. This is necessary to ensure " +"that local modifications to the buffers are actually available to the " +"mapping." +msgstr "" +"Якщо ви хочете створити відображення пам’яті для змінюваного буферизованого " +"файлу, вам слід спочатку зробити для файлу :func:`~io.IOBase.flush`. Це " +"необхідно для того, щоб локальні модифікації буферів фактично були доступні " +"для відображення." + +msgid "" +"For both the Unix and Windows versions of the constructor, *access* may be " +"specified as an optional keyword parameter. *access* accepts one of four " +"values: :const:`ACCESS_READ`, :const:`ACCESS_WRITE`, or :const:`ACCESS_COPY` " +"to specify read-only, write-through or copy-on-write memory respectively, " +"or :const:`ACCESS_DEFAULT` to defer to *prot*. *access* can be used on both " +"Unix and Windows. If *access* is not specified, Windows mmap returns a " +"write-through mapping. The initial memory values for all three access types " +"are taken from the specified file. Assignment to an :const:`ACCESS_READ` " +"memory map raises a :exc:`TypeError` exception. Assignment to an :const:" +"`ACCESS_WRITE` memory map affects both memory and the underlying file. " +"Assignment to an :const:`ACCESS_COPY` memory map affects memory but does not " +"update the underlying file." +msgstr "" +"Для версій конструктора як для Unix, так і для Windows, *access* можна " +"вказати як необов’язковий keyword параметр. *access* приймає одне з чотирьох " +"значень: :const:`ACCESS_READ`, :const:`ACCESS_WRITE` або :const:" +"`ACCESS_COPY`, щоб вказати пам’ять лише для читання, для запису або для " +"копіювання відповідно, або :const:`ACCESS_DEFAULT` для замовчування на " +"*prot*. *access* можна використовувати як в Unix, так і в Windows. Якщо " +"*access* не вказано, Windows mmap повертає мапінг для запису. Початкові " +"значення пам'яті для всіх трьох типів доступу беруться з указаного файлу. " +"Присвоєння :const:`ACCESS_READ` для мапінгу викликає виняток :exc:" +"`TypeError`. Присвоєння :const:`ACCESS_WRITE` мапінгу призводить до змін як " +"в пам’яті, так і в основному файлі. Примвоєння мапінгу :const:`ACCESS_COPY` " +"змінює пам’ять, але не оновлює основний файл." + +msgid "Added :const:`ACCESS_DEFAULT` constant." +msgstr "Додано константу :const:`ACCESS_DEFAULT`." + +msgid "" +"To map anonymous memory, -1 should be passed as the fileno along with the " +"length." +msgstr "" +"Щоб замапити (відобразити) анонімну пам'ять, -1 слід передати як fileno " +"разом із довжиною." + +msgid "" +"**(Windows version)** Maps *length* bytes from the file specified by the " +"file handle *fileno*, and creates a mmap object. If *length* is larger than " +"the current size of the file, the file is extended to contain *length* " +"bytes. If *length* is ``0``, the maximum length of the map is the current " +"size of the file, except that if the file is empty Windows raises an " +"exception (you cannot create an empty mapping on Windows)." +msgstr "" +"**(Версія для Windows)** Відображає *length* байт з файлу, указаного " +"дескриптором файлу *fileno*, і створює об’єкт mmap. Якщо *length* більший за " +"поточний розмір файлу, файл розширюється, щоб містити *length* байтів. Якщо " +"*length* дорівнює ``0``, максимальна довжина мапінгу дорівнює поточному " +"розміру файлу, за винятком коли файл порожній - тоді Windows стригерує " +"виключення (ви не можете створити порожній мапінг у Windows)." + +msgid "" +"*tagname*, if specified and not ``None``, is a string giving a tag name for " +"the mapping. Windows allows you to have many different mappings against the " +"same file. If you specify the name of an existing tag, that tag is opened, " +"otherwise a new tag of this name is created. If this parameter is omitted " +"or ``None``, the mapping is created without a name. Avoiding the use of the " +"tag parameter will assist in keeping your code portable between Unix and " +"Windows." +msgstr "" +"*tagname*, якщо задано та не ``None``, є рядком, що дає назву тегу для " +"мапінгу. Windows дозволяє мати багато різних відображень(мапінгів) для " +"одного файлу. Якщо ви вказуєте назву тегу, що існує, цей тег відкривається, " +"інакше створюється новий тег із таким ім’ям. Якщо цей параметр пропущений " +"або ``None``, відображення(мапінг) створюється без імені. Уникнення " +"використання параметра tag допоможе зберегти ваш код переносимим між Unix і " +"Windows." + +msgid "" +"*offset* may be specified as a non-negative integer offset. mmap references " +"will be relative to the offset from the beginning of the file. *offset* " +"defaults to 0. *offset* must be a multiple of the :const:" +"`ALLOCATIONGRANULARITY`." +msgstr "" +"*offset* можна вказати як невід’ємне ціле зміщення. посилання mmap будуть " +"відносними до зміщення від початку файлу. *offset* за умовчанням дорівнює 0. " +"*offset* має бути кратним :const:`ALLOCATIONGRANULARITY`." + +msgid "" +"Raises an :ref:`auditing event ` ``mmap.__new__`` with arguments " +"``fileno``, ``length``, ``access``, ``offset``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``mmap.__new__`` з аргументами " +"``fileno``, ``length``, ``access``, ``offset``." + +msgid "" +"**(Unix version)** Maps *length* bytes from the file specified by the file " +"descriptor *fileno*, and returns a mmap object. If *length* is ``0``, the " +"maximum length of the map will be the current size of the file when :class:" +"`~mmap.mmap` is called." +msgstr "" +"**(версія Unix)** Відображає *length* байтів з файлу, указаного дескриптором " +"файлу *fileno*, і повертає об’єкт mmap. Якщо *length* дорівнює ``0``, " +"максимальна довжина відображення(мапінгу) буде поточним розміром файлу під " +"час виклику :class:`~mmap.mmap`." + +msgid "" +"*flags* specifies the nature of the mapping. :const:`MAP_PRIVATE` creates a " +"private copy-on-write mapping, so changes to the contents of the mmap object " +"will be private to this process, and :const:`MAP_SHARED` creates a mapping " +"that's shared with all other processes mapping the same areas of the file. " +"The default value is :const:`MAP_SHARED`. Some systems have additional " +"possible flags with the full list specified in :ref:`MAP_* constants `." +msgstr "" +"*flags* визначає характер відображення. :const:`MAP_PRIVATE` створює " +"приватне відображення(мапінг), що копіюється під час запису, тому зміни до " +"вмісту об’єкта mmap будуть приватними для цього процесу, а :const:" +"`MAP_SHARED` створює відображення, яке використовується спільно з усіма " +"іншими процесами, що відображають однакові області файлу. Значення за " +"замовчуванням: :const:`MAP_SHARED`. Деякі системи мають додаткові можливі " +"прапорці з повним списком, указаним у константах :ref:`MAP_* `." + +msgid "" +"*prot*, if specified, gives the desired memory protection; the two most " +"useful values are :const:`PROT_READ` and :const:`PROT_WRITE`, to specify " +"that the pages may be read or written. *prot* defaults to :const:`PROT_READ " +"\\| PROT_WRITE`." +msgstr "" +"*prot*, якщо вказано, надає бажаний захист пам’яті; двома найбільш корисними " +"значеннями є :const:`PROT_READ` і :const:`PROT_WRITE`, щоб вказати, що " +"сторінки можна читати або записувати. *prot* за замовчуванням :const:" +"`PROT_READ \\| PROT_WRITE`." + +msgid "" +"*access* may be specified in lieu of *flags* and *prot* as an optional " +"keyword parameter. It is an error to specify both *flags*, *prot* and " +"*access*. See the description of *access* above for information on how to " +"use this parameter." +msgstr "" +"*access* можна вказати замість *flags* і *prot* як необов’язковий keyword " +"параметр. Є помилкою вказувати одночасно *flags*, *prot* і *access*. " +"Перегляньте опис *access* вище, щоб дізнатися, як використовувати цей " +"параметр." + +msgid "" +"*offset* may be specified as a non-negative integer offset. mmap references " +"will be relative to the offset from the beginning of the file. *offset* " +"defaults to 0. *offset* must be a multiple of :const:`ALLOCATIONGRANULARITY` " +"which is equal to :const:`PAGESIZE` on Unix systems." +msgstr "" +"*offset* можна вказати як невід’ємне ціле зміщення. посилання mmap будуть " +"відносними до зміщення від початку файлу. *offset* за умовчанням дорівнює 0. " +"*offset* має бути кратним :const:`ALLOCATIONGRANULARITY`, що дорівнює :const:" +"`PAGESIZE` в системах Unix." + +msgid "" +"To ensure validity of the created memory mapping the file specified by the " +"descriptor *fileno* is internally automatically synchronized with the " +"physical backing store on macOS." +msgstr "" +"Щоб забезпечити дійсність створеного відображення пам’яті, файл, указаний " +"дескриптором *fileno*, внутрішньо автоматично синхронізується з фізичним " +"резервним сховищем у macOS." + +msgid "This example shows a simple way of using :class:`~mmap.mmap`::" +msgstr "" +"У цьому прикладі показано простий спосіб використання :class:`~mmap.mmap`::" + +msgid "" +":class:`~mmap.mmap` can also be used as a context manager in a :keyword:" +"`with` statement::" +msgstr "" +":class:`~mmap.mmap` також можна використовувати як менеджер контексту в " +"операторі :keyword:`with`::" + +msgid "Context manager support." +msgstr "Підтримка контекстного менеджера." + +msgid "" +"The next example demonstrates how to create an anonymous map and exchange " +"data between the parent and child processes::" +msgstr "" +"Наступний приклад демонструє, як створити анонімне відображення(мапінг) та " +"обмінюватися даними між батьківським і дочірнім процесами:" + +msgid "Memory-mapped file objects support the following methods:" +msgstr "Файлові об’єкти, відображені в пам’яті, підтримують такі методи:" + +msgid "" +"Closes the mmap. Subsequent calls to other methods of the object will result " +"in a ValueError exception being raised. This will not close the open file." +msgstr "" +"Закриває mmap. Подальші виклики інших методів об’єкта призведуть до " +"виникнення винятку ValueError. Це не закриє відкритий файл." + +msgid "``True`` if the file is closed." +msgstr "``True``, якщо файл закрито." + +msgid "" +"Returns the lowest index in the object where the subsequence *sub* is found, " +"such that *sub* is contained in the range [*start*, *end*]. Optional " +"arguments *start* and *end* are interpreted as in slice notation. Returns " +"``-1`` on failure." +msgstr "" +"Повертає найменший індекс в об’єкті, де знайдено підпослідовність *sub*, так " +"що *sub* міститься в діапазоні [*start*, *end*]. Необов’язкові аргументи " +"*start* і *end* інтерпретуються як у slice нотації (нотації зрізів). " +"Повертає ``-1`` у разі помилки." + +msgid "Writable :term:`bytes-like object` is now accepted." +msgstr "Записуваний :term:`bytes-like object` тепер приймається." + +msgid "" +"Flushes changes made to the in-memory copy of a file back to disk. Without " +"use of this call there is no guarantee that changes are written back before " +"the object is destroyed. If *offset* and *size* are specified, only changes " +"to the given range of bytes will be flushed to disk; otherwise, the whole " +"extent of the mapping is flushed. *offset* must be a multiple of the :const:" +"`PAGESIZE` or :const:`ALLOCATIONGRANULARITY`." +msgstr "" +"Скидає зміни, внесені до копії файлу в пам’яті, назад на диск. Без " +"використання цього виклику немає гарантії, що зміни будуть записані назад до " +"того, як об’єкт буде знищено. Якщо вказано *offset* і *size*, на диск буде " +"скинуто лише зміни в заданому діапазоні байтів; інакше весь контент " +"відображення скидається. *offset* має бути кратним :const:`PAGESIZE` або :" +"const:`ALLOCATIONGRANULARITY`." + +msgid "" +"``None`` is returned to indicate success. An exception is raised when the " +"call failed." +msgstr "" +"``None`` повертається, щоб вказати успішний результат. У разі невдачі " +"виклику виникає виняток." + +msgid "" +"Previously, a nonzero value was returned on success; zero was returned on " +"error under Windows. A zero value was returned on success; an exception was " +"raised on error under Unix." +msgstr "" +"Раніше в разі успіху поверталося ненульове значення; нуль повертався на " +"помилку у Windows. У разі успіху поверталось нульове значення; виняток " +"викликався на помилку під Unix." + +msgid "" +"Send advice *option* to the kernel about the memory region beginning at " +"*start* and extending *length* bytes. *option* must be one of the :ref:" +"`MADV_* constants ` available on the system. If *start* " +"and *length* are omitted, the entire mapping is spanned. On some systems " +"(including Linux), *start* must be a multiple of the :const:`PAGESIZE`." +msgstr "" +"Надіслати пораду *option* ядру щодо області пам’яті, яка починається з " +"*start* і має довжину *length*. *option* має бути однією з констант :ref:" +"`MADV_* `, доступних у системі. Якщо *start* і *end* " +"опущені, охоплюється все відображення. У деяких системах (включаючи Linux) " +"*start* має бути кратним :const:`PAGESIZE`." + +msgid "Availability: Systems with the ``madvise()`` system call." +msgstr "Доступність: системи з системним викликом ``madvise()``." + +msgid "" +"Copy the *count* bytes starting at offset *src* to the destination index " +"*dest*. If the mmap was created with :const:`ACCESS_READ`, then calls to " +"move will raise a :exc:`TypeError` exception." +msgstr "" +"Копіювання *count* байтів, починаючи із зміщення *src*, до індексу " +"призначення *dest*. Якщо mmap було створено за допомогою :const:" +"`ACCESS_READ`, тоді виклик переміщення призведе до винятку :exc:`TypeError`." + +msgid "" +"Return a :class:`bytes` containing up to *n* bytes starting from the current " +"file position. If the argument is omitted, ``None`` or negative, return all " +"bytes from the current file position to the end of the mapping. The file " +"position is updated to point after the bytes that were returned." +msgstr "" +"Повертає :class:`bytes`, що містить до *n* байтів, починаючи з поточної " +"позиції файлу. Якщо аргумент пропущений, ``None`` або негативний, " +"повертаються всі байти від поточної позиції файлу до кінця відображення. " +"Позиція файлу оновлюється, щоб вказувати одразу після байтів, які були " +"повернуті." + +msgid "Argument can be omitted or ``None``." +msgstr "Аргумент можна опустити або бути ``None``." + +msgid "" +"Returns a byte at the current file position as an integer, and advances the " +"file position by 1." +msgstr "" +"Повертає байт у поточній позиції файлу як ціле число integer та переміщує " +"позицію у файлі на 1." + +msgid "" +"Returns a single line, starting at the current file position and up to the " +"next newline. The file position is updated to point after the bytes that " +"were returned." +msgstr "" +"Повертає один рядок, починаючи з поточної позиції файлу й до наступного " +"нового рядка. Позиція файлу оновлюється, щоб вказувати після байтів, які " +"були повернуті." + +msgid "" +"Resizes the map and the underlying file, if any. If the mmap was created " +"with :const:`ACCESS_READ` or :const:`ACCESS_COPY`, resizing the map will " +"raise a :exc:`TypeError` exception." +msgstr "" +"Змінює розмір відображення(мапінгу) та основного файлу, якщо такий є. Якщо " +"mmap було створено за допомогою :const:`ACCESS_READ` або :const:" +"`ACCESS_COPY`, зміна розміру відображення призведе до виключення :exc:" +"`TypeError`." + +msgid "" +"**On Windows**: Resizing the map will raise an :exc:`OSError` if there are " +"other maps against the same named file. Resizing an anonymous map (ie " +"against the pagefile) will silently create a new map with the original data " +"copied over up to the length of the new size." +msgstr "" + +msgid "" +"Correctly fails if attempting to resize when another map is held Allows " +"resize against an anonymous map on Windows" +msgstr "" + +msgid "" +"Returns the highest index in the object where the subsequence *sub* is " +"found, such that *sub* is contained in the range [*start*, *end*]. Optional " +"arguments *start* and *end* are interpreted as in slice notation. Returns " +"``-1`` on failure." +msgstr "" +"Повертає останній індекс в об’єкті, де знайдено підпослідовність *sub*, так " +"що *sub* міститься в діапазоні [*start*, *end*]. Необов’язкові аргументи " +"*start* та *end* інтерпретуються як у нотації зрізів (slice нотація). " +"Повертає ``-1`` у разі помилки." + +msgid "" +"Set the file's current position. *whence* argument is optional and defaults " +"to ``os.SEEK_SET`` or ``0`` (absolute file positioning); other values are " +"``os.SEEK_CUR`` or ``1`` (seek relative to the current position) and ``os." +"SEEK_END`` or ``2`` (seek relative to the file's end)." +msgstr "" +"Встановлює поточну позицію в файлі. Аргумент *whence* є необов’язковим і за " +"замовчуванням має значення ``os.SEEK_SET`` або ``0`` (абсолютне розташування " +"файлу); іншими значеннями є ``os.SEEK_CUR`` або ``1`` (пошук відносно " +"поточної позиції) і ``os.SEEK_END`` або ``2`` (пошук відносно кінця файлу)." + +msgid "" +"Return the length of the file, which can be larger than the size of the " +"memory-mapped area." +msgstr "" +"Повертає довжину файлу, яка може перевищувати розмір відображеної області " +"пам’яті." + +msgid "Returns the current position of the file pointer." +msgstr "Повертає поточну позицію покажчика файлу." + +msgid "" +"Write the bytes in *bytes* into memory at the current position of the file " +"pointer and return the number of bytes written (never less than " +"``len(bytes)``, since if the write fails, a :exc:`ValueError` will be " +"raised). The file position is updated to point after the bytes that were " +"written. If the mmap was created with :const:`ACCESS_READ`, then writing to " +"it will raise a :exc:`TypeError` exception." +msgstr "" +"Записує байти в *bytes* у пам’ять у поточній позиції вказівника файлу та " +"повертає кількість записаних байтів (ніколи не менше ніж ``len(bytes)``, але " +"якщо запис не вдається то це призведе до винятку :exc:`ValueError` ). " +"Позиція файлу оновлюється, щоб вказувати після записаних байтів. Якщо mmap " +"було створено за допомогою :const:`ACCESS_READ`, то запис у нього призведе " +"до виключення :exc:`TypeError`." + +msgid "The number of bytes written is now returned." +msgstr "Додано повернення кількості записаних байтів." + +msgid "" +"Write the integer *byte* into memory at the current position of the file " +"pointer; the file position is advanced by ``1``. If the mmap was created " +"with :const:`ACCESS_READ`, then writing to it will raise a :exc:`TypeError` " +"exception." +msgstr "" +"Записує ціле *byte* у пам'ять у поточній позиції покажчика файлу; позиція " +"файлу просувається вперед на ``1``. Якщо mmap було створено за допомогою :" +"const:`ACCESS_READ`, то запис у нього призведе до виключення :exc:" +"`TypeError`." + +msgid "MADV_* Constants" +msgstr "Константи MADV_*" + +msgid "" +"These options can be passed to :meth:`mmap.madvise`. Not every option will " +"be present on every system." +msgstr "" +"Ці параметри можна передати в :meth:`mmap.madvise`. Не кожен параметр буде " +"присутній у кожній системі." + +msgid "Availability: Systems with the madvise() system call." +msgstr "Доступність: системи з системним викликом madvise()." + +msgid "MAP_* Constants" +msgstr "Константи MAP_*" + +msgid "" +"These are the various flags that can be passed to :meth:`mmap.mmap`. Note " +"that some options might not be present on some systems." +msgstr "" +"Це різні прапорці, які можна передати :meth:`mmap.mmap`. Зверніть увагу, що " +"деякі параметри можуть бути відсутні в деяких системах." + +msgid "Added MAP_POPULATE constant." +msgstr "Додано константу MAP_POPULATE." + +msgid "Added MAP_STACK constant." +msgstr "" diff --git a/library/modulefinder.po b/library/modulefinder.po new file mode 100644 index 000000000..45a80b749 --- /dev/null +++ b/library/modulefinder.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`modulefinder` --- Find modules used by a script" +msgstr ":mod:`modulefinder` --- Знайти модулі, які використовуються сценарієм" + +msgid "**Source code:** :source:`Lib/modulefinder.py`" +msgstr "**Вихідний код:** :source:`Lib/modulefinder.py`" + +msgid "" +"This module provides a :class:`ModuleFinder` class that can be used to " +"determine the set of modules imported by a script. ``modulefinder.py`` can " +"also be run as a script, giving the filename of a Python script as its " +"argument, after which a report of the imported modules will be printed." +msgstr "" +"Цей модуль надає клас :class:`ModuleFinder`, який можна використовувати для " +"визначення набору модулів, імпортованих сценарієм. ``modulefinder.py`` також " +"можна запустити як сценарій, надаючи назву файлу сценарію Python як " +"аргумент, після чого буде надруковано звіт про імпортовані модулі." + +msgid "" +"Record that the package named *pkg_name* can be found in the specified " +"*path*." +msgstr "" +"Запишіть, що пакет із назвою *pkg_name* можна знайти у вказаному *шляху*." + +msgid "" +"Allows specifying that the module named *oldname* is in fact the package " +"named *newname*." +msgstr "" +"Дозволяє вказати, що модуль з назвою *oldname* насправді є пакетом з назвою " +"*newname*." + +msgid "" +"This class provides :meth:`run_script` and :meth:`report` methods to " +"determine the set of modules imported by a script. *path* can be a list of " +"directories to search for modules; if not specified, ``sys.path`` is used. " +"*debug* sets the debugging level; higher values make the class print " +"debugging messages about what it's doing. *excludes* is a list of module " +"names to exclude from the analysis. *replace_paths* is a list of ``(oldpath, " +"newpath)`` tuples that will be replaced in module paths." +msgstr "" +"Цей клас надає методи :meth:`run_script` і :meth:`report` для визначення " +"набору модулів, імпортованих сценарієм. *шлях* може бути списком каталогів " +"для пошуку модулів; якщо не вказано, використовується ``sys.path``. *debug* " +"встановлює рівень налагодження; вищі значення змушують клас друкувати " +"повідомлення про те, що він робить. *excludes* — список імен модулів, які " +"потрібно виключити з аналізу. *replace_paths* — це список кортежів " +"``(oldpath, newpath)``, які будуть замінені в шляхах модуля." + +msgid "" +"Print a report to standard output that lists the modules imported by the " +"script and their paths, as well as modules that are missing or seem to be " +"missing." +msgstr "" +"Роздрукуйте звіт у стандартний вихід із переліком модулів, імпортованих " +"сценарієм, і їхніх шляхів, а також модулів, які відсутні або здаються " +"відсутніми." + +msgid "" +"Analyze the contents of the *pathname* file, which must contain Python code." +msgstr "Проаналізуйте вміст файлу *pathname*, який повинен містити код Python." + +msgid "" +"A dictionary mapping module names to modules. See :ref:`modulefinder-" +"example`." +msgstr "" +"Словник зіставляє імена модулів із модулями. Див. :ref:`modulefinder-" +"example`." + +msgid "Example usage of :class:`ModuleFinder`" +msgstr "Приклад використання :class:`ModuleFinder`" + +msgid "The script that is going to get analyzed later on (bacon.py)::" +msgstr "Сценарій, який буде проаналізовано пізніше (bacon.py):" + +msgid "The script that will output the report of bacon.py::" +msgstr "Сценарій, який виведе звіт bacon.py::" + +msgid "Sample output (may vary depending on the architecture)::" +msgstr "Зразок вихідних даних (може відрізнятися залежно від архітектури):" diff --git a/library/modules.po b/library/modules.po new file mode 100644 index 000000000..582014aa8 --- /dev/null +++ b/library/modules.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Importing Modules" +msgstr "Імпорт модулів" + +msgid "" +"The modules described in this chapter provide new ways to import other " +"Python modules and hooks for customizing the import process." +msgstr "" +"Модулі, описані в цьому розділі, надають нові способи імпорту інших модулів " +"Python і хуків для налаштування процесу імпорту." + +msgid "The full list of modules described in this chapter is:" +msgstr "Повний список модулів, описаних у цій главі:" diff --git a/library/msilib.po b/library/msilib.po new file mode 100644 index 000000000..2f67b686b --- /dev/null +++ b/library/msilib.po @@ -0,0 +1,729 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`msilib` --- Read and write Microsoft Installer files" +msgstr ":mod:`msilib` --- Читання та запис файлів Microsoft Installer" + +msgid "**Source code:** :source:`Lib/msilib/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/msilib/__init__.py`" + +msgid "" +"The :mod:`msilib` module is deprecated (see :pep:`PEP 594 <594#msilib>` for " +"details)." +msgstr "" +"Модуль :mod:`msilib` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#msilib>`)." + +msgid "" +"The :mod:`msilib` supports the creation of Microsoft Installer (``.msi``) " +"files. Because these files often contain an embedded \"cabinet\" file (``." +"cab``), it also exposes an API to create CAB files. Support for reading ``." +"cab`` files is currently not implemented; read support for the ``.msi`` " +"database is possible." +msgstr "" +":mod:`msilib` підтримує створення файлів Microsoft Installer (``.msi``). " +"Оскільки ці файли часто містять вбудований файл \"cabinet\" (``.cab``), він " +"також надає API для створення файлів CAB. Підтримка читання файлів ``.cab`` " +"наразі не реалізована; можлива підтримка читання для бази даних ``.msi``." + +msgid "" +"This package aims to provide complete access to all tables in an ``.msi`` " +"file, therefore, it is a fairly low-level API. One primary application of " +"this package is the creation of Python installer package itself (although " +"that currently uses a different version of ``msilib``)." +msgstr "" + +msgid "" +"The package contents can be roughly split into four parts: low-level CAB " +"routines, low-level MSI routines, higher-level MSI routines, and standard " +"table structures." +msgstr "" +"Вміст пакета можна приблизно розділити на чотири частини: підпрограми CAB " +"низького рівня, підпрограми MSI низького рівня, підпрограми MSI вищого рівня " +"та стандартні структури таблиць." + +msgid "" +"Create a new CAB file named *cabname*. *files* must be a list of tuples, " +"each containing the name of the file on disk, and the name of the file " +"inside the CAB file." +msgstr "" +"Створіть новий файл CAB під назвою *cabname*. *files* має бути списком " +"кортежів, кожен з яких містить назву файлу на диску та назву файлу в CAB-" +"файлі." + +msgid "" +"The files are added to the CAB file in the order they appear in the list. " +"All files are added into a single CAB file, using the MSZIP compression " +"algorithm." +msgstr "" +"Файли додаються до CAB-файлу в тому порядку, у якому вони відображаються у " +"списку. Усі файли додаються в один CAB-файл за допомогою алгоритму стиснення " +"MSZIP." + +msgid "" +"Callbacks to Python for the various steps of MSI creation are currently not " +"exposed." +msgstr "" +"Зворотні виклики до Python для різних етапів створення MSI наразі не " +"доступні." + +msgid "" +"Return the string representation of a new unique identifier. This wraps the " +"Windows API functions :c:func:`UuidCreate` and :c:func:`UuidToString`." +msgstr "" +"Повертає рядкове представлення нового унікального ідентифікатора. Це обертає " +"функції Windows API :c:func:`UuidCreate` і :c:func:`UuidToString`." + +msgid "" +"Return a new database object by calling MsiOpenDatabase. *path* is the " +"file name of the MSI file; *persist* can be one of the constants " +"``MSIDBOPEN_CREATEDIRECT``, ``MSIDBOPEN_CREATE``, ``MSIDBOPEN_DIRECT``, " +"``MSIDBOPEN_READONLY``, or ``MSIDBOPEN_TRANSACT``, and may include the flag " +"``MSIDBOPEN_PATCHFILE``. See the Microsoft documentation for the meaning of " +"these flags; depending on the flags, an existing database is opened, or a " +"new one created." +msgstr "" +"Поверніть новий об’єкт бази даних, викликавши MsiOpenDatabase. *шлях* — ім’я " +"файлу MSI; *persist* може бути однією з констант ``MSIDBOPEN_CREATEDIRECT``, " +"``MSIDBOPEN_CREATE``, ``MSIDBOPEN_DIRECT``, ``MSIDBOPEN_READONLY`` або " +"``MSIDBOPEN_TRANSACT``, і може містити позначку ``MSIDBOPEN_PATCHFILE`` . " +"Значення цих прапорців див. у документації Microsoft; залежно від прапорів " +"відкривається існуюча база даних або створюється нова." + +msgid "" +"Return a new record object by calling :c:func:`MSICreateRecord`. *count* is " +"the number of fields of the record." +msgstr "" +"Поверніть новий об’єкт запису, викликавши :c:func:`MSICreateRecord`. *count* " +"— кількість полів запису." + +msgid "" +"Create and return a new database *name*, initialize it with *schema*, and " +"set the properties *ProductName*, *ProductCode*, *ProductVersion*, and " +"*Manufacturer*." +msgstr "" +"Створіть і поверніть *ім’я* нової бази даних, ініціалізуйте його *схемою* та " +"встановіть властивості *ProductName*, *ProductCode*, *ProductVersion* і " +"*Manufacturer*." + +msgid "" +"*schema* must be a module object containing ``tables`` and " +"``_Validation_records`` attributes; typically, :mod:`msilib.schema` should " +"be used." +msgstr "" +"*schema* має бути об’єктом модуля, що містить атрибути ``tables`` і " +"``_Validation_records``; зазвичай слід використовувати :mod:`msilib.schema`." + +msgid "" +"The database will contain just the schema and the validation records when " +"this function returns." +msgstr "" +"База даних міститиме лише схему та записи перевірки, коли ця функція " +"повернеться." + +msgid "Add all *records* to the table named *table* in *database*." +msgstr "Додайте всі *записи* до таблиці з назвою *table* у *базі даних*." + +msgid "" +"The *table* argument must be one of the predefined tables in the MSI schema, " +"e.g. ``'Feature'``, ``'File'``, ``'Component'``, ``'Dialog'``, " +"``'Control'``, etc." +msgstr "" +"Аргумент *таблиця* має бути однією з попередньо визначених таблиць у схемі " +"MSI, напр. ``'Функція'``, ``'Файл'``, ``'Компонент'``, ``'Діалог'``, " +"``'Керування'`` тощо." + +msgid "" +"*records* should be a list of tuples, each one containing all fields of a " +"record according to the schema of the table. For optional fields, ``None`` " +"can be passed." +msgstr "" +"*records* має бути списком кортежів, кожен з яких містить усі поля запису " +"відповідно до схеми таблиці. Для необов’язкових полів можна передати " +"``None``." + +msgid "Field values can be ints, strings, or instances of the Binary class." +msgstr "" +"Значення полів можуть бути числами, рядками або екземплярами класу Binary." + +msgid "" +"Represents entries in the Binary table; inserting such an object using :func:" +"`add_data` reads the file named *filename* into the table." +msgstr "" +"Представляє записи в двійковій таблиці; вставлення такого об’єкта за " +"допомогою :func:`add_data` зчитує файл із назвою *filename* у таблицю." + +msgid "" +"Add all table content from *module* to *database*. *module* must contain an " +"attribute *tables* listing all tables for which content should be added, and " +"one attribute per table that has the actual content." +msgstr "" +"Додайте весь вміст таблиці з *модуля* до *бази даних*. *module* повинен " +"містити атрибут *tables* зі списком усіх таблиць, для яких слід додати " +"вміст, і один атрибут на таблицю, яка має фактичний вміст." + +msgid "This is typically used to install the sequence tables." +msgstr "Це зазвичай використовується для встановлення таблиць послідовностей." + +msgid "" +"Add the file *path* into the ``_Stream`` table of *database*, with the " +"stream name *name*." +msgstr "" +"Додайте *шлях* до файлу в таблицю ``_Stream`` *бази даних* з назвою потоку " +"*name*." + +msgid "" +"Return a new UUID, in the format that MSI typically requires (i.e. in curly " +"braces, and with all hexdigits in uppercase)." +msgstr "" + +msgid "" +"`FCICreate `_ " +"`UuidCreate `_ `UuidToString `_" +msgstr "" +"`FCICreate `_ " +"`UuidCreate `_ `UuidToString `_" + +msgid "Database Objects" +msgstr "Об'єкти бази даних" + +msgid "" +"Return a view object, by calling :c:func:`MSIDatabaseOpenView`. *sql* is the " +"SQL statement to execute." +msgstr "" +"Поверніть об’єкт представлення, викликавши :c:func:`MSIDatabaseOpenView`. " +"*sql* — це оператор SQL для виконання." + +msgid "" +"Commit the changes pending in the current transaction, by calling :c:func:" +"`MSIDatabaseCommit`." +msgstr "" +"Зафіксуйте зміни, що очікують на розгляд, у поточній транзакції, викликавши :" +"c:func:`MSIDatabaseCommit`." + +msgid "" +"Return a new summary information object, by calling :c:func:" +"`MsiGetSummaryInformation`. *count* is the maximum number of updated values." +msgstr "" +"Поверніть новий об’єкт підсумкової інформації, викликавши :c:func:" +"`MsiGetSummaryInformation`. *count* — максимальна кількість оновлених " +"значень." + +msgid "Close the database object, through :c:func:`MsiCloseHandle`." +msgstr "Закрийте об’єкт бази даних через :c:func:`MsiCloseHandle`." + +msgid "" +"`MSIDatabaseOpenView `_ `MSIDatabaseCommit `_ `MSIGetSummaryInformation " +"`_ " +"`MsiCloseHandle `_" +msgstr "" +"`MSIDatabaseOpenView `_ `MSIDatabaseCommit `_ `MSIGetSummaryInformation " +"`_ " +"`MsiCloseHandle `_" + +msgid "View Objects" +msgstr "Перегляд об'єктів" + +msgid "" +"Execute the SQL query of the view, through :c:func:`MSIViewExecute`. If " +"*params* is not ``None``, it is a record describing actual values of the " +"parameter tokens in the query." +msgstr "" +"Виконайте SQL-запит подання через :c:func:`MSIViewExecute`. Якщо *params* не " +"``None``, це запис, що описує фактичні значення токенів параметрів у запиті." + +msgid "" +"Return a record describing the columns of the view, through calling :c:func:" +"`MsiViewGetColumnInfo`. *kind* can be either ``MSICOLINFO_NAMES`` or " +"``MSICOLINFO_TYPES``." +msgstr "" +"Поверніть запис, що описує стовпці подання, викликавши :c:func:" +"`MsiViewGetColumnInfo`. *kind* може бути або ``MSICOLINFO_NAMES``, або " +"``MSICOLINFO_TYPES``." + +msgid "" +"Return a result record of the query, through calling :c:func:`MsiViewFetch`." +msgstr "" +"Повернути запис результату запиту за допомогою виклику :c:func:" +"`MsiViewFetch`." + +msgid "" +"Modify the view, by calling :c:func:`MsiViewModify`. *kind* can be one of " +"``MSIMODIFY_SEEK``, ``MSIMODIFY_REFRESH``, ``MSIMODIFY_INSERT``, " +"``MSIMODIFY_UPDATE``, ``MSIMODIFY_ASSIGN``, ``MSIMODIFY_REPLACE``, " +"``MSIMODIFY_MERGE``, ``MSIMODIFY_DELETE``, ``MSIMODIFY_INSERT_TEMPORARY``, " +"``MSIMODIFY_VALIDATE``, ``MSIMODIFY_VALIDATE_NEW``, " +"``MSIMODIFY_VALIDATE_FIELD``, or ``MSIMODIFY_VALIDATE_DELETE``." +msgstr "" +"Змініть вигляд, викликавши :c:func:`MsiViewModify`. *вид* може бути одним із " +"``MSIMODIFY_SEEK``, ``MSIMODIFY_REFRESH``, ``MSIMODIFY_INSERT``, " +"``MSIMODIFY_UPDATE``, ``MSIMODIFY_ASSIGN``, ``MSIMODIFY_REPLACE``, " +"``MSIMODIFY_MERGE``, ``MSIMODIFY_DELETE``, ``MSIMODIFY_INSERT_TEMPORARY``, " +"``MSIMODIFY_VALIDATE``, ``MSIMODIFY_VALIDATE_NEW``, " +"``MSIMODIFY_VALIDATE_FIELD`` або ``MSIMODIFY_VALIDATE_DELETE``." + +msgid "*data* must be a record describing the new data." +msgstr "*data* має бути записом, що описує нові дані." + +msgid "Close the view, through :c:func:`MsiViewClose`." +msgstr "Закрийте перегляд через :c:func:`MsiViewClose`." + +msgid "" +"`MsiViewExecute `_ `MSIViewGetColumnInfo `_ `MsiViewFetch `_ `MsiViewModify " +"`_ " +"`MsiViewClose `_" +msgstr "" +"`MsiViewExecute `_ `MSIViewGetColumnInfo `_ `MsiViewFetch `_ `MsiViewModify " +"`_ " +"`MsiViewClose `_" + +msgid "Summary Information Objects" +msgstr "Зведені інформаційні об’єкти" + +msgid "" +"Return a property of the summary, through :c:func:" +"`MsiSummaryInfoGetProperty`. *field* is the name of the property, and can be " +"one of the constants ``PID_CODEPAGE``, ``PID_TITLE``, ``PID_SUBJECT``, " +"``PID_AUTHOR``, ``PID_KEYWORDS``, ``PID_COMMENTS``, ``PID_TEMPLATE``, " +"``PID_LASTAUTHOR``, ``PID_REVNUMBER``, ``PID_LASTPRINTED``, " +"``PID_CREATE_DTM``, ``PID_LASTSAVE_DTM``, ``PID_PAGECOUNT``, " +"``PID_WORDCOUNT``, ``PID_CHARCOUNT``, ``PID_APPNAME``, or ``PID_SECURITY``." +msgstr "" +"Повертає властивість резюме через :c:func:`MsiSummaryInfoGetProperty`. " +"*поле* — це ім’я властивості, яке може бути однією з констант " +"``PID_CODEPAGE``, ``PID_TITLE``, ``PID_SUBJECT``, ``PID_AUTHOR``, " +"``PID_KEYWORDS``, ``PID_COMMENTS``, ``PID_TEMPLATE``, ``PID_LASTAUTHOR``, " +"``PID_REVNUMBER``, ``PID_LASTPRINTED``, ``PID_CREATE_DTM``, " +"``PID_LASTSAVE_DTM``, ``PID_PAGECOUNT``, ``PID_WORDCOUNT`` , " +"``PID_CHARCOUNT``, ``PID_APPNAME`` або ``PID_SECURITY``." + +msgid "" +"Return the number of summary properties, through :c:func:" +"`MsiSummaryInfoGetPropertyCount`." +msgstr "" +"Повертає кількість зведених властивостей через :c:func:" +"`MsiSummaryInfoGetPropertyCount`." + +msgid "" +"Set a property through :c:func:`MsiSummaryInfoSetProperty`. *field* can have " +"the same values as in :meth:`GetProperty`, *value* is the new value of the " +"property. Possible value types are integer and string." +msgstr "" +"Установіть властивість через :c:func:`MsiSummaryInfoSetProperty`. *поле* " +"може мати ті самі значення, що й у :meth:`GetProperty`, *значення* — це нове " +"значення властивості. Можливі типи значень: ціле чи рядкове." + +msgid "" +"Write the modified properties to the summary information stream, using :c:" +"func:`MsiSummaryInfoPersist`." +msgstr "" +"Запишіть змінені властивості в потік підсумкової інформації за допомогою :c:" +"func:`MsiSummaryInfoPersist`." + +msgid "" +"`MsiSummaryInfoGetProperty `_ `MsiSummaryInfoGetPropertyCount `_ " +"`MsiSummaryInfoSetProperty `_ `MsiSummaryInfoPersist `_" +msgstr "" +"`MsiSummaryInfoGetProperty `_ `MsiSummaryInfoGetPropertyCount `_ " +"`MsiSummaryInfoSetProperty `_ `MsiSummaryInfoPersist a0672e70ze4d`" + +msgid "Record Objects" +msgstr "Об'єкти запису" + +msgid "" +"Return the number of fields of the record, through :c:func:" +"`MsiRecordGetFieldCount`." +msgstr "" +"Повертає кількість полів запису через :c:func:`MsiRecordGetFieldCount`." + +msgid "" +"Return the value of *field* as an integer where possible. *field* must be " +"an integer." +msgstr "" +"Повертайте значення *поля* як ціле число, де це можливо. *поле* має бути " +"цілим числом." + +msgid "" +"Return the value of *field* as a string where possible. *field* must be an " +"integer." +msgstr "" +"Поверніть значення *поля* як рядок, де це можливо. *поле* має бути цілим " +"числом." + +msgid "" +"Set *field* to *value* through :c:func:`MsiRecordSetString`. *field* must be " +"an integer; *value* a string." +msgstr "" +"Установіть *поле* на *значення* через :c:func:`MsiRecordSetString`. *поле* " +"має бути цілим числом; *значення* рядок." + +msgid "" +"Set *field* to the contents of the file named *value*, through :c:func:" +"`MsiRecordSetStream`. *field* must be an integer; *value* a string." +msgstr "" +"Установіть у *поле* вміст файлу з назвою *value* через :c:func:" +"`MsiRecordSetStream`. *поле* має бути цілим числом; *значення* рядок." + +msgid "" +"Set *field* to *value* through :c:func:`MsiRecordSetInteger`. Both *field* " +"and *value* must be an integer." +msgstr "" +"Установіть *поле* на *значення* через :c:func:`MsiRecordSetInteger`. І " +"*поле*, і *значення* мають бути цілими числами." + +msgid "" +"Set all fields of the record to 0, through :c:func:`MsiRecordClearData`." +msgstr "" +"Установіть для всіх полів запису значення 0 через :c:func:" +"`MsiRecordClearData`." + +msgid "" +"`MsiRecordGetFieldCount `_ `MsiRecordSetString `_ `MsiRecordSetStream `_ " +"`MsiRecordSetInteger `_ `MsiRecordClearData `_" +msgstr "" +"`MsiRecordGetFieldCount `_ `MsiRecordSetString `_ `MsiRecordSetStream `_ " +"`MsiRecordSetInteger `_ `MsiRecordClearData `_" + +msgid "Errors" +msgstr "Помилки" + +msgid "" +"All wrappers around MSI functions raise :exc:`MSIError`; the string inside " +"the exception will contain more detail." +msgstr "" +"Усі обгортки навколо функцій MSI викликають :exc:`MSIError`; рядок всередині " +"винятку міститиме більше деталей." + +msgid "CAB Objects" +msgstr "Об'єкти CAB" + +msgid "" +"The class :class:`CAB` represents a CAB file. During MSI construction, files " +"will be added simultaneously to the ``Files`` table, and to a CAB file. " +"Then, when all files have been added, the CAB file can be written, then " +"added to the MSI file." +msgstr "" +"Клас :class:`CAB` представляє файл CAB. Під час створення MSI файли будуть " +"додані одночасно до таблиці ``Files`` і до CAB-файлу. Потім, коли всі файли " +"будуть додані, файл CAB можна записати, а потім додати до файлу MSI." + +msgid "*name* is the name of the CAB file in the MSI file." +msgstr "*ім’я* — це ім’я файлу CAB у файлі MSI." + +msgid "" +"Add the file with the pathname *full* to the CAB file, under the name " +"*logical*. If there is already a file named *logical*, a new file name is " +"created." +msgstr "" +"Додайте файл із іменем шляху *full* до CAB-файлу під назвою *logical*. Якщо " +"вже існує файл із назвою *logical*, створюється нове ім’я файлу." + +msgid "" +"Return the index of the file in the CAB file, and the new name of the file " +"inside the CAB file." +msgstr "Повертає індекс файлу в CAB-файлі та нову назву файлу в CAB-файлі." + +msgid "" +"Generate a CAB file, add it as a stream to the MSI file, put it into the " +"``Media`` table, and remove the generated file from the disk." +msgstr "" +"Згенеруйте файл CAB, додайте його як потік до файлу MSI, помістіть його в " +"таблицю ``Media`` і видаліть створений файл із диска." + +msgid "Directory Objects" +msgstr "Об'єкти каталогу" + +msgid "" +"Create a new directory in the Directory table. There is a current component " +"at each point in time for the directory, which is either explicitly created " +"through :meth:`start_component`, or implicitly when files are added for the " +"first time. Files are added into the current component, and into the cab " +"file. To create a directory, a base directory object needs to be specified " +"(can be ``None``), the path to the physical directory, and a logical " +"directory name. *default* specifies the DefaultDir slot in the directory " +"table. *componentflags* specifies the default flags that new components get." +msgstr "" +"Створіть новий каталог у таблиці Каталог. У кожен момент часу для каталогу " +"існує поточний компонент, який або явно створюється через :meth:" +"`start_component`, або неявно, коли файли додаються вперше. Файли додаються " +"в поточний компонент і в cab-файл. Щоб створити каталог, необхідно вказати " +"базовий об’єкт каталогу (може бути ``None``), шлях до фізичного каталогу та " +"логічне ім’я каталогу. *default* визначає слот DefaultDir у таблиці " +"каталогів. *componentflags* визначає позначки за замовчуванням, які " +"отримують нові компоненти." + +msgid "" +"Add an entry to the Component table, and make this component the current " +"component for this directory. If no component name is given, the directory " +"name is used. If no *feature* is given, the current feature is used. If no " +"*flags* are given, the directory's default flags are used. If no *keyfile* " +"is given, the KeyPath is left null in the Component table." +msgstr "" +"Додайте запис до таблиці Component і зробіть цей компонент поточним " +"компонентом для цього каталогу. Якщо назва компонента не вказана, " +"використовується назва каталогу. Якщо *функція* не вказана, використовується " +"поточна функція. Якщо *прапорці* не вказано, використовуються прапорці " +"каталогу за замовчуванням. Якщо *keyfile* не вказано, KeyPath залишається " +"нульовим у таблиці Component." + +msgid "" +"Add a file to the current component of the directory, starting a new one if " +"there is no current component. By default, the file name in the source and " +"the file table will be identical. If the *src* file is specified, it is " +"interpreted relative to the current directory. Optionally, a *version* and a " +"*language* can be specified for the entry in the File table." +msgstr "" +"Додати файл до поточного компонента каталогу, запустивши новий, якщо " +"поточного компонента немає. За замовчуванням ім’я файлу в джерелі та таблиці " +"файлів будуть ідентичними. Якщо вказано файл *src*, він інтерпретується " +"відносно поточного каталогу. За бажанням можна вказати *версію* та *мову* " +"для запису в таблиці File." + +msgid "" +"Add a list of files to the current component as specified in the glob " +"pattern. Individual files can be excluded in the *exclude* list." +msgstr "" +"Додайте список файлів до поточного компонента, як зазначено в шаблоні glob. " +"Окремі файли можна виключити зі списку *exclude*." + +msgid "Remove ``.pyc`` files on uninstall." +msgstr "Видаліть файли ``.pyc`` під час видалення." + +msgid "" +"`Directory Table `_ `File Table `_ `Component Table `_ `FeatureComponents Table " +"`_" +msgstr "" +"`Таблиця каталогу `_ `Таблиця файлів `_ `Таблиця компонентів `_ `Таблиця " +"компонентів функцій `_" + +msgid "Features" +msgstr "особливості" + +msgid "" +"Add a new record to the ``Feature`` table, using the values *id*, *parent." +"id*, *title*, *desc*, *display*, *level*, *directory*, and *attributes*. The " +"resulting feature object can be passed to the :meth:`start_component` method " +"of :class:`Directory`." +msgstr "" +"Додайте новий запис до таблиці ``Feature``, використовуючи значення *id*, " +"*parent.id*, *title*, *desc*, *display*, *level*, *directory* і " +"*attributes* . Отриманий об’єкт функції можна передати в метод :meth:" +"`start_component` :class:`Directory`." + +msgid "" +"Make this feature the current feature of :mod:`msilib`. New components are " +"automatically added to the default feature, unless a feature is explicitly " +"specified." +msgstr "" +"Зробити цю функцію поточною функцією :mod:`msilib`. Нові компоненти " +"автоматично додаються до функції за замовчуванням, якщо функція не вказана " +"явно." + +msgid "" +"`Feature Table `_" +msgstr "" +"`Таблиця функцій `_" + +msgid "GUI classes" +msgstr "Класи GUI" + +msgid "" +":mod:`msilib` provides several classes that wrap the GUI tables in an MSI " +"database. However, no standard user interface is provided." +msgstr "" + +msgid "" +"Base class of the dialog controls. *dlg* is the dialog object the control " +"belongs to, and *name* is the control's name." +msgstr "" +"Базовий клас діалогових елементів керування. *dlg* — діалоговий об’єкт, до " +"якого належить елемент керування, а *name* — ім’я елемента керування." + +msgid "Make an entry into the ``ControlEvent`` table for this control." +msgstr "Зробіть запис у таблиці ``ControlEvent`` для цього елемента керування." + +msgid "Make an entry into the ``EventMapping`` table for this control." +msgstr "Зробіть запис у таблиці ``EventMapping`` для цього елемента керування." + +msgid "Make an entry into the ``ControlCondition`` table for this control." +msgstr "" +"Зробіть запис у таблиці ``ControlCondition`` для цього елемента керування." + +msgid "" +"Create a radio button control named *name*. *property* is the installer " +"property that gets set when a radio button is selected." +msgstr "" +"Створіть перемикач з назвою *name*. *property* — це властивість інсталятора, " +"яка встановлюється, коли вибрано перемикач." + +msgid "" +"Add a radio button named *name* to the group, at the coordinates *x*, *y*, " +"*width*, *height*, and with the label *text*. If *value* is ``None``, it " +"defaults to *name*." +msgstr "" +"Додайте перемикач із назвою *ім’я* до групи з координатами *x*, *y*, " +"*ширина*, *висота* та з міткою *текст*. Якщо *value* дорівнює ``None``, за " +"замовчуванням воно має *name*." + +msgid "" +"Return a new :class:`Dialog` object. An entry in the ``Dialog`` table is " +"made, with the specified coordinates, dialog attributes, title, name of the " +"first, default, and cancel controls." +msgstr "" +"Повертає новий об’єкт :class:`Dialog`. Зроблено запис у таблиці ``Діалог`` " +"із зазначеними координатами, атрибутами діалогу, назвою, назвою першого, " +"елементами керування за замовчуванням і скасуванням." + +msgid "" +"Return a new :class:`Control` object. An entry in the ``Control`` table is " +"made with the specified parameters." +msgstr "" +"Повертає новий об’єкт :class:`Control`. Запис у таблиці ``Контроль`` " +"робиться із зазначеними параметрами." + +msgid "" +"This is a generic method; for specific types, specialized methods are " +"provided." +msgstr "" +"Це загальний метод; для конкретних типів передбачені спеціалізовані методи." + +msgid "Add and return a ``Text`` control." +msgstr "Додати та повернути елемент керування ``Текст``." + +msgid "Add and return a ``Bitmap`` control." +msgstr "Додати та повернути елемент керування ``Bitmap``." + +msgid "Add and return a ``Line`` control." +msgstr "Додати та повернути елемент керування ``Line``." + +msgid "Add and return a ``PushButton`` control." +msgstr "Додати та повернути елемент керування ``PushButton``." + +msgid "Add and return a ``RadioButtonGroup`` control." +msgstr "Додати та повернути елемент керування ``RadioButtonGroup``." + +msgid "Add and return a ``CheckBox`` control." +msgstr "Додати та повернути елемент керування ``CheckBox``." + +msgid "" +"`Dialog Table `_ `Control Table `_ `Control Types `_ `ControlCondition Table " +"`_ " +"`ControlEvent Table `_ `EventMapping Table `_ `RadioButton Table `_" +msgstr "" +"`Dialog Table `_ `Control Table `_ `Control Types `_ `ControlCondition Table " +"`_ " +"`ControlEvent Table `_ `EventMapping Table `_ `RadioButton Table `_" + +msgid "Precomputed tables" +msgstr "Попередньо обчислені таблиці" + +msgid "" +":mod:`msilib` provides a few subpackages that contain only schema and table " +"definitions. Currently, these definitions are based on MSI version 2.0." +msgstr "" +":mod:`msilib` надає кілька підпакетів, які містять лише визначення схем і " +"таблиць. Наразі ці визначення базуються на MSI версії 2.0." + +msgid "" +"This is the standard MSI schema for MSI 2.0, with the *tables* variable " +"providing a list of table definitions, and *_Validation_records* providing " +"the data for MSI validation." +msgstr "" +"Це стандартна схема MSI для MSI 2.0, у якій змінна *tables* містить список " +"визначень таблиць, а *_Validation_records* — дані для перевірки MSI." + +msgid "" +"This module contains table contents for the standard sequence tables: " +"*AdminExecuteSequence*, *AdminUISequence*, *AdvtExecuteSequence*, " +"*InstallExecuteSequence*, and *InstallUISequence*." +msgstr "" +"Цей модуль містить вміст таблиць для стандартних таблиць послідовностей: " +"*AdminExecuteSequence*, *AdminUISequence*, *AdvtExecuteSequence*, " +"*InstallExecuteSequence* та *InstallUISequence*." + +msgid "" +"This module contains definitions for the UIText and ActionText tables, for " +"the standard installer actions." +msgstr "" +"Цей модуль містить визначення для таблиць UIText і ActionText для " +"стандартних дій інсталятора." diff --git a/library/msvcrt.po b/library/msvcrt.po new file mode 100644 index 000000000..09d94a8a7 --- /dev/null +++ b/library/msvcrt.po @@ -0,0 +1,215 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:09+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`msvcrt` --- Useful routines from the MS VC++ runtime" +msgstr ":mod:`msvcrt` --- Корисні процедури із середовища виконання MS VC++" + +msgid "" +"These functions provide access to some useful capabilities on Windows " +"platforms. Some higher-level modules use these functions to build the " +"Windows implementations of their services. For example, the :mod:`getpass` " +"module uses this in the implementation of the :func:`getpass` function." +msgstr "" +"Ці функції надають доступ до деяких корисних можливостей на платформах " +"Windows. Деякі модулі вищого рівня використовують ці функції для створення " +"реалізацій Windows своїх служб. Наприклад, модуль :mod:`getpass` " +"використовує це в реалізації функції :func:`getpass`." + +msgid "" +"Further documentation on these functions can be found in the Platform API " +"documentation." +msgstr "" +"Додаткову документацію щодо цих функцій можна знайти в документації API " +"платформи." + +msgid "" +"The module implements both the normal and wide char variants of the console " +"I/O api. The normal API deals only with ASCII characters and is of limited " +"use for internationalized applications. The wide char API should be used " +"where ever possible." +msgstr "" +"Модуль реалізує як звичайний, так і широкий варіанти char API консолі вводу-" +"виводу. Звичайний API працює лише з символами ASCII і обмежено " +"використовується для інтернаціоналізованих програм. Широкий char API слід " +"використовувати, де це можливо." + +msgid "" +"Operations in this module now raise :exc:`OSError` where :exc:`IOError` was " +"raised." +msgstr "" +"Операції в цьому модулі тепер викликають :exc:`OSError` там, де було " +"викликано :exc:`IOError`." + +msgid "File Operations" +msgstr "Операції з файлами" + +msgid "" +"Lock part of a file based on file descriptor *fd* from the C runtime. " +"Raises :exc:`OSError` on failure. The locked region of the file extends " +"from the current file position for *nbytes* bytes, and may continue beyond " +"the end of the file. *mode* must be one of the :const:`LK_\\*` constants " +"listed below. Multiple regions in a file may be locked at the same time, but " +"may not overlap. Adjacent regions are not merged; they must be unlocked " +"individually." +msgstr "" +"Блокування частини файлу на основі файлового дескриптора *fd* із середовища " +"виконання C. Викликає :exc:`OSError` у разі помилки. Заблокована область " +"файлу простягається від поточної позиції файлу на *nbytes* байтів і може " +"продовжуватися після кінця файлу. *mode* має бути однією з констант :const:" +"`LK_\\*`, наведених нижче. Кілька областей у файлі можуть бути заблоковані " +"одночасно, але не можуть перекриватися. Суміжні регіони не об'єднуються; їх " +"необхідно розблокувати окремо." + +msgid "" +"Raises an :ref:`auditing event ` ``msvcrt.locking`` with arguments " +"``fd``, ``mode``, ``nbytes``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``msvcrt.locking`` з аргументами " +"``fd``, ``mode``, ``nbytes``." + +msgid "" +"Locks the specified bytes. If the bytes cannot be locked, the program " +"immediately tries again after 1 second. If, after 10 attempts, the bytes " +"cannot be locked, :exc:`OSError` is raised." +msgstr "" +"Блокує вказані байти. Якщо байти неможливо заблокувати, програма негайно " +"повторить спробу через 1 секунду. Якщо після 10 спроб не вдається " +"заблокувати байти, виникає :exc:`OSError`." + +msgid "" +"Locks the specified bytes. If the bytes cannot be locked, :exc:`OSError` is " +"raised." +msgstr "" +"Блокує вказані байти. Якщо байти неможливо заблокувати, виникає :exc:" +"`OSError`." + +msgid "Unlocks the specified bytes, which must have been previously locked." +msgstr "Розблоковує вказані байти, які мають бути попередньо заблоковані." + +msgid "" +"Set the line-end translation mode for the file descriptor *fd*. To set it to " +"text mode, *flags* should be :const:`os.O_TEXT`; for binary, it should be :" +"const:`os.O_BINARY`." +msgstr "" +"Встановіть режим перекладу кінця рядка для дескриптора файлу *fd*. Щоб " +"встановити його в текстовий режим, *flags* має бути :const:`os.O_TEXT`; для " +"двійкового файлу це має бути :const:`os.O_BINARY`." + +msgid "" +"Create a C runtime file descriptor from the file handle *handle*. The " +"*flags* parameter should be a bitwise OR of :const:`os.O_APPEND`, :const:`os." +"O_RDONLY`, and :const:`os.O_TEXT`. The returned file descriptor may be used " +"as a parameter to :func:`os.fdopen` to create a file object." +msgstr "" +"Створіть файловий дескриптор середовища виконання C з дескриптора файлу " +"*handle*. Параметр *flags* має бути порозрядним АБО :const:`os.O_APPEND`, :" +"const:`os.O_RDONLY` і :const:`os.O_TEXT`. Повернений файловий дескриптор " +"можна використовувати як параметр для :func:`os.fdopen` для створення " +"файлового об’єкта." + +msgid "" +"Raises an :ref:`auditing event ` ``msvcrt.open_osfhandle`` with " +"arguments ``handle``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``msvcrt.open_osfhandle`` з " +"аргументами ``handle``, ``flags``." + +msgid "" +"Return the file handle for the file descriptor *fd*. Raises :exc:`OSError` " +"if *fd* is not recognized." +msgstr "" +"Повертає дескриптор файлу для дескриптора файлу *fd*. Викликає :exc:" +"`OSError`, якщо *fd* не розпізнається." + +msgid "" +"Raises an :ref:`auditing event ` ``msvcrt.get_osfhandle`` with " +"argument ``fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``msvcrt.get_osfhandle`` з " +"аргументом ``fd``." + +msgid "Console I/O" +msgstr "Консоль введення/виведення" + +msgid "Return ``True`` if a keypress is waiting to be read." +msgstr "Повертає ``True``, якщо натискання клавіші очікує на прочитання." + +msgid "" +"Read a keypress and return the resulting character as a byte string. Nothing " +"is echoed to the console. This call will block if a keypress is not already " +"available, but will not wait for :kbd:`Enter` to be pressed. If the pressed " +"key was a special function key, this will return ``'\\000'`` or ``'\\xe0'``; " +"the next call will return the keycode. The :kbd:`Control-C` keypress cannot " +"be read with this function." +msgstr "" +"Зчитування натискання клавіші та повернення отриманого символу як рядок " +"байтів. На консоль нічого не відтворюється. Цей виклик буде заблоковано, " +"якщо натискання клавіші ще не доступне, але не чекатиме, поки буде " +"натиснуто :kbd:`Enter`. Якщо натиснута клавіша була спеціальною " +"функціональною, це поверне ``'\\000'`` або ``'\\xe0'``; наступний виклик " +"поверне код ключа. Натискання клавіші :kbd:`Control-C` не можна прочитати за " +"допомогою цієї функції." + +msgid "Wide char variant of :func:`getch`, returning a Unicode value." +msgstr "Широкосимвольний варіант :func:`getch`, що повертає значення Unicode." + +msgid "" +"Similar to :func:`getch`, but the keypress will be echoed if it represents " +"a printable character." +msgstr "" +"Подібно до :func:`getch`, але натискання клавіші повторюватиметься, якщо " +"воно представляє друкований символ." + +msgid "Wide char variant of :func:`getche`, returning a Unicode value." +msgstr "Широкосимвольний варіант :func:`getche`, що повертає значення Unicode." + +msgid "Print the byte string *char* to the console without buffering." +msgstr "Вивести рядок байтів *char* на консоль без буферизації." + +msgid "Wide char variant of :func:`putch`, accepting a Unicode value." +msgstr "Широкосимвольний варіант :func:`putch`, що приймає значення Unicode." + +msgid "" +"Cause the byte string *char* to be \"pushed back\" into the console buffer; " +"it will be the next character read by :func:`getch` or :func:`getche`." +msgstr "" +"Змусити рядок байтів *char* \"відштовхнути назад\" у буфер консолі; це буде " +"наступний символ, який читатиме :func:`getch` або :func:`getche`." + +msgid "Wide char variant of :func:`ungetch`, accepting a Unicode value." +msgstr "" +"Широкосимвольний варіант :func:`ungetch`, який приймає значення Unicode." + +msgid "Other Functions" +msgstr "Інші функції" + +msgid "" +"Force the :c:func:`malloc` heap to clean itself up and return unused blocks " +"to the operating system. On failure, this raises :exc:`OSError`." +msgstr "" +"Примусово очистити купу :c:func:`malloc` і повернути невикористані блоки в " +"операційну систему. У разі помилки це викликає :exc:`OSError`." diff --git a/library/multiprocessing.po b/library/multiprocessing.po new file mode 100644 index 000000000..b2cbe456b --- /dev/null +++ b/library/multiprocessing.po @@ -0,0 +1,3900 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`multiprocessing` --- Process-based parallelism" +msgstr ":mod:`multiprocessing` --- Паралелізм на основі процесу" + +msgid "**Source code:** :source:`Lib/multiprocessing/`" +msgstr "**Вихідний код:** :source:`Lib/multiprocessing/`" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +":mod:`multiprocessing` is a package that supports spawning processes using " +"an API similar to the :mod:`threading` module. The :mod:`multiprocessing` " +"package offers both local and remote concurrency, effectively side-stepping " +"the :term:`Global Interpreter Lock ` by using " +"subprocesses instead of threads. Due to this, the :mod:`multiprocessing` " +"module allows the programmer to fully leverage multiple processors on a " +"given machine. It runs on both Unix and Windows." +msgstr "" +":mod:`multiprocessing` — це пакет, який підтримує процеси породження за " +"допомогою API, подібного до модуля :mod:`threading`. Пакет :mod:" +"`multiprocessing` пропонує як локальний, так і віддалений паралелізм, " +"ефективно обходячи :term:`Global Interpreter Lock ` " +"шляхом використання підпроцесів замість потоків. Завдяки цьому модуль :mod:" +"`multiprocessing` дозволяє програмісту повністю використовувати кілька " +"процесорів на певній машині. Він працює як на Unix, так і на Windows." + +msgid "" +"The :mod:`multiprocessing` module also introduces APIs which do not have " +"analogs in the :mod:`threading` module. A prime example of this is the :" +"class:`~multiprocessing.pool.Pool` object which offers a convenient means of " +"parallelizing the execution of a function across multiple input values, " +"distributing the input data across processes (data parallelism). The " +"following example demonstrates the common practice of defining such " +"functions in a module so that child processes can successfully import that " +"module. This basic example of data parallelism using :class:" +"`~multiprocessing.pool.Pool`, ::" +msgstr "" +"Модуль :mod:`multiprocessing` також представляє API, які не мають аналогів у " +"модулі :mod:`threading`. Яскравим прикладом цього є об’єкт :class:" +"`~multiprocessing.pool.Pool`, який пропонує зручний засіб розпаралелювання " +"виконання функції для кількох вхідних значень, розподіляючи вхідні дані між " +"процесами (паралелізм даних). Наступний приклад демонструє звичайну практику " +"визначення таких функцій у модулі, щоб дочірні процеси могли успішно " +"імпортувати цей модуль. Цей базовий приклад паралелізму даних з " +"використанням :class:`~multiprocessing.pool.Pool`, ::" + +msgid "will print to standard output ::" +msgstr "друкуватиме стандартний вихід ::" + +msgid "" +":class:`concurrent.futures.ProcessPoolExecutor` offers a higher level " +"interface to push tasks to a background process without blocking execution " +"of the calling process. Compared to using the :class:`~multiprocessing.pool." +"Pool` interface directly, the :mod:`concurrent.futures` API more readily " +"allows the submission of work to the underlying process pool to be separated " +"from waiting for the results." +msgstr "" + +msgid "The :class:`Process` class" +msgstr "Клас :class:`Process`" + +msgid "" +"In :mod:`multiprocessing`, processes are spawned by creating a :class:" +"`Process` object and then calling its :meth:`~Process.start` method. :class:" +"`Process` follows the API of :class:`threading.Thread`. A trivial example " +"of a multiprocess program is ::" +msgstr "" +"У :mod:`multiprocessing` процеси породжуються шляхом створення об’єкта :" +"class:`Process` і виклику його методу :meth:`~Process.start`. :class:" +"`Process` відповідає API :class:`threading.Thread`. Тривіальним прикладом " +"багатопроцесорної програми є:" + +msgid "" +"To show the individual process IDs involved, here is an expanded example::" +msgstr "Щоб показати ідентифікатори окремих процесів, ось розширений приклад:" + +msgid "" +"For an explanation of why the ``if __name__ == '__main__'`` part is " +"necessary, see :ref:`multiprocessing-programming`." +msgstr "" +"Щоб отримати пояснення, чому потрібна частина ``if __name__ == " +"'__main__''``, див. :ref:`multiprocessing-programming`." + +msgid "Contexts and start methods" +msgstr "Контексти та методи запуску" + +msgid "" +"Depending on the platform, :mod:`multiprocessing` supports three ways to " +"start a process. These *start methods* are" +msgstr "" +"Залежно від платформи :mod:`multiprocessing` підтримує три способи запуску " +"процесу. Це *методи запуску*" + +msgid "*spawn*" +msgstr "*спаун*" + +msgid "" +"The parent process starts a fresh Python interpreter process. The child " +"process will only inherit those resources necessary to run the process " +"object's :meth:`~Process.run` method. In particular, unnecessary file " +"descriptors and handles from the parent process will not be inherited. " +"Starting a process using this method is rather slow compared to using *fork* " +"or *forkserver*." +msgstr "" + +msgid "Available on Unix and Windows. The default on Windows and macOS." +msgstr "Доступно в Unix і Windows. За умовчанням у Windows і macOS." + +msgid "*fork*" +msgstr "*вилка*" + +msgid "" +"The parent process uses :func:`os.fork` to fork the Python interpreter. The " +"child process, when it begins, is effectively identical to the parent " +"process. All resources of the parent are inherited by the child process. " +"Note that safely forking a multithreaded process is problematic." +msgstr "" +"Батьківський процес використовує :func:`os.fork` для розгалуження " +"інтерпретатора Python. Дочірній процес, коли він починається, фактично " +"ідентичний батьківському процесу. Усі ресурси батьківського процесу " +"успадковуються дочірнім процесом. Зверніть увагу, що безпечне розгалуження " +"багатопотокового процесу є проблематичним." + +msgid "Available on Unix only. The default on Unix." +msgstr "Доступно лише для Unix. За замовчуванням в Unix." + +msgid "*forkserver*" +msgstr "*форксервер*" + +msgid "" +"When the program starts and selects the *forkserver* start method, a server " +"process is started. From then on, whenever a new process is needed, the " +"parent process connects to the server and requests that it fork a new " +"process. The fork server process is single threaded so it is safe for it to " +"use :func:`os.fork`. No unnecessary resources are inherited." +msgstr "" +"Коли програма запускається та вибирає метод запуску *forkserver*, " +"запускається серверний процес. Відтоді, щоразу, коли потрібен новий процес, " +"батьківський процес підключається до сервера та запитує розгалуження нового " +"процесу. Процес сервера fork є однопотоковим, тому для нього безпечно " +"використовувати :func:`os.fork`. Ніякі непотрібні ресурси не успадковуються." + +msgid "" +"Available on Unix platforms which support passing file descriptors over Unix " +"pipes." +msgstr "" +"Доступно на платформах Unix, які підтримують передачу дескрипторів файлів " +"через канали Unix." + +msgid "" +"On macOS, the *spawn* start method is now the default. The *fork* start " +"method should be considered unsafe as it can lead to crashes of the " +"subprocess. See :issue:`33725`." +msgstr "" +"У macOS метод запуску *spawn* тепер є типовим. Метод запуску *fork* слід " +"вважати небезпечним, оскільки він може призвести до збою підпроцесу. Див. :" +"issue:`33725`." + +msgid "" +"*spawn* added on all Unix platforms, and *forkserver* added for some Unix " +"platforms. Child processes no longer inherit all of the parents inheritable " +"handles on Windows." +msgstr "" + +msgid "" +"On Unix using the *spawn* or *forkserver* start methods will also start a " +"*resource tracker* process which tracks the unlinked named system resources " +"(such as named semaphores or :class:`~multiprocessing.shared_memory." +"SharedMemory` objects) created by processes of the program. When all " +"processes have exited the resource tracker unlinks any remaining tracked " +"object. Usually there should be none, but if a process was killed by a " +"signal there may be some \"leaked\" resources. (Neither leaked semaphores " +"nor shared memory segments will be automatically unlinked until the next " +"reboot. This is problematic for both objects because the system allows only " +"a limited number of named semaphores, and shared memory segments occupy some " +"space in the main memory.)" +msgstr "" +"В Unix використання методів запуску *spawn* або *forkserver* також запускає " +"процес *відстеження ресурсів*, який відстежує незв’язані іменовані системні " +"ресурси (такі як іменовані семафори або об’єкти :class:`~multiprocessing." +"shared_memory.SharedMemory`), створені процеси програми. Після завершення " +"роботи всіх процесів засіб відстеження ресурсів від’єднує будь-який " +"відстежуваний об’єкт, що залишився. Зазвичай їх не повинно бути, але якщо " +"процес було вбито сигналом, можливо, є деякі \"витік\" ресурсів. (Ані витік " +"семафорів, ані сегменти спільної пам’яті не будуть автоматично від’єднані до " +"наступного перезавантаження. Це проблематично для обох об’єктів, оскільки " +"система дозволяє лише обмежену кількість іменованих семафорів, а сегменти " +"спільної пам’яті займають деякий простір в основній пам’яті.)" + +msgid "" +"To select a start method you use the :func:`set_start_method` in the ``if " +"__name__ == '__main__'`` clause of the main module. For example::" +msgstr "" +"Щоб вибрати метод запуску, ви використовуєте :func:`set_start_method` в " +"пункті ``if __name__ == '__main__'`` головного модуля. Наприклад::" + +msgid "" +":func:`set_start_method` should not be used more than once in the program." +msgstr "" +":func:`set_start_method` не слід використовувати більше одного разу в " +"програмі." + +msgid "" +"Alternatively, you can use :func:`get_context` to obtain a context object. " +"Context objects have the same API as the multiprocessing module, and allow " +"one to use multiple start methods in the same program. ::" +msgstr "" +"Крім того, ви можете використовувати :func:`get_context`, щоб отримати " +"об’єкт контексту. Контекстні об’єкти мають той самий API, що й " +"багатопроцесорний модуль, і дозволяють використовувати кілька методів " +"запуску в одній програмі. ::" + +msgid "" +"Note that objects related to one context may not be compatible with " +"processes for a different context. In particular, locks created using the " +"*fork* context cannot be passed to processes started using the *spawn* or " +"*forkserver* start methods." +msgstr "" +"Зауважте, що об’єкти, пов’язані з одним контекстом, можуть бути несумісними " +"з процесами для іншого контексту. Зокрема, блокування, створені за допомогою " +"контексту *fork*, не можна передати процесам, запущеним за допомогою методів " +"запуску *spawn* або *forkserver*." + +msgid "" +"A library which wants to use a particular start method should probably use :" +"func:`get_context` to avoid interfering with the choice of the library user." +msgstr "" +"Бібліотека, яка хоче використовувати певний метод запуску, ймовірно, повинна " +"використовувати :func:`get_context`, щоб уникнути втручання у вибір " +"користувача бібліотеки." + +msgid "" +"The ``'spawn'`` and ``'forkserver'`` start methods cannot currently be used " +"with \"frozen\" executables (i.e., binaries produced by packages like " +"**PyInstaller** and **cx_Freeze**) on Unix. The ``'fork'`` start method does " +"work." +msgstr "" +"Методи запуску ``'spawn'`` і ``'forkserver'`` наразі не можна " +"використовувати із \"замороженими\" виконуваними файлами (тобто двійковими " +"файлами, створеними такими пакетами, як **PyInstaller** і **cx_Freeze**) в " +"Unix. Метод запуску ``'fork'`` працює." + +msgid "Exchanging objects between processes" +msgstr "Обмін об'єктами між процесами" + +msgid "" +":mod:`multiprocessing` supports two types of communication channel between " +"processes:" +msgstr "" +":mod:`multiprocessing` підтримує два типи каналів зв'язку між процесами:" + +msgid "**Queues**" +msgstr "**Черги**" + +msgid "" +"The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " +"example::" +msgstr "Клас :class:`Queue` є майже клоном :class:`queue.Queue`. Наприклад::" + +msgid "Queues are thread and process safe." +msgstr "Черги є потоковими та безпечними." + +msgid "**Pipes**" +msgstr "**Труби**" + +msgid "" +"The :func:`Pipe` function returns a pair of connection objects connected by " +"a pipe which by default is duplex (two-way). For example::" +msgstr "" +"Функція :func:`Pipe` повертає пару об’єктів з’єднання, з’єднаних трубою, яка " +"за умовчанням є дуплексною (двосторонньою). Наприклад::" + +msgid "" +"The two connection objects returned by :func:`Pipe` represent the two ends " +"of the pipe. Each connection object has :meth:`~Connection.send` and :meth:" +"`~Connection.recv` methods (among others). Note that data in a pipe may " +"become corrupted if two processes (or threads) try to read from or write to " +"the *same* end of the pipe at the same time. Of course there is no risk of " +"corruption from processes using different ends of the pipe at the same time." +msgstr "" +"Два об’єкти з’єднання, які повертає :func:`Pipe`, представляють два кінці " +"труби. Кожен об’єкт підключення має методи :meth:`~Connection.send` і :meth:" +"`~Connection.recv` (серед інших). Зауважте, що дані в каналі можуть бути " +"пошкоджені, якщо два процеси (або потоки) намагаються зчитувати або писати в " +"*той самий* кінець каналу одночасно. Звичайно, немає ризику пошкодження " +"через процеси, що використовують різні кінці труби одночасно." + +msgid "Synchronization between processes" +msgstr "Синхронізація між процесами" + +msgid "" +":mod:`multiprocessing` contains equivalents of all the synchronization " +"primitives from :mod:`threading`. For instance one can use a lock to ensure " +"that only one process prints to standard output at a time::" +msgstr "" +":mod:`multiprocessing` містить еквіваленти всіх примітивів синхронізації з :" +"mod:`threading`. Наприклад, можна використовувати блокування, щоб " +"гарантувати, що лише один процес друкує на стандартний вивід одночасно:" + +msgid "" +"Without using the lock output from the different processes is liable to get " +"all mixed up." +msgstr "" +"Без використання блокування вихідні дані різних процесів можуть " +"переплутатися." + +msgid "Sharing state between processes" +msgstr "Спільне використання стану між процесами" + +msgid "" +"As mentioned above, when doing concurrent programming it is usually best to " +"avoid using shared state as far as possible. This is particularly true when " +"using multiple processes." +msgstr "" +"Як згадувалося вище, під час паралельного програмування зазвичай краще " +"уникати використання спільного стану, наскільки це можливо. Це особливо " +"актуально при використанні кількох процесів." + +msgid "" +"However, if you really do need to use some shared data then :mod:" +"`multiprocessing` provides a couple of ways of doing so." +msgstr "" +"Однак, якщо вам справді потрібно використовувати спільні дані, тоді :mod:" +"`multiprocessing` надає кілька способів зробити це." + +msgid "**Shared memory**" +msgstr "**Спільна пам'ять**" + +msgid "" +"Data can be stored in a shared memory map using :class:`Value` or :class:" +"`Array`. For example, the following code ::" +msgstr "" +"Дані можна зберігати в спільній карті пам’яті за допомогою :class:`Value` " +"або :class:`Array`. Наприклад, такий код::" + +msgid "will print ::" +msgstr "надрукую ::" + +msgid "" +"The ``'d'`` and ``'i'`` arguments used when creating ``num`` and ``arr`` are " +"typecodes of the kind used by the :mod:`array` module: ``'d'`` indicates a " +"double precision float and ``'i'`` indicates a signed integer. These shared " +"objects will be process and thread-safe." +msgstr "" +"Аргументи ``'d'`` і ``'i'``, що використовуються під час створення ``num`` і " +"``arr``, є кодами типу, які використовуються модулем :mod:`array`: ``' d''`` " +"вказує на число з плаваючою точкою подвійної точності, а ``'i''`` вказує на " +"ціле число зі знаком. Ці спільні об’єкти будуть безпечними для процесу та " +"потоків." + +msgid "" +"For more flexibility in using shared memory one can use the :mod:" +"`multiprocessing.sharedctypes` module which supports the creation of " +"arbitrary ctypes objects allocated from shared memory." +msgstr "" +"Для більшої гнучкості використання спільної пам’яті можна використовувати " +"модуль :mod:`multiprocessing.sharedctypes`, який підтримує створення " +"довільних об’єктів ctypes, виділених із спільної пам’яті." + +msgid "**Server process**" +msgstr "**Серверний процес**" + +msgid "" +"A manager object returned by :func:`Manager` controls a server process which " +"holds Python objects and allows other processes to manipulate them using " +"proxies." +msgstr "" +"Об’єкт менеджера, який повертає :func:`Manager`, контролює серверний процес, " +"який містить об’єкти Python і дозволяє іншим процесам маніпулювати ними за " +"допомогою проксі-серверів." + +msgid "" +"A manager returned by :func:`Manager` will support types :class:`list`, :" +"class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :" +"class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :class:" +"`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` and :class:" +"`Array`. For example, ::" +msgstr "" +"Менеджер, який повертає :func:`Manager`, підтримуватиме типи :class:`list`, :" +"class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock` і :" +"class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :class:" +"`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` and :class:" +"`Array`. Наприклад, ::" + +msgid "" +"Server process managers are more flexible than using shared memory objects " +"because they can be made to support arbitrary object types. Also, a single " +"manager can be shared by processes on different computers over a network. " +"They are, however, slower than using shared memory." +msgstr "" +"Менеджери серверних процесів є більш гнучкими, ніж використання спільних " +"об’єктів пам’яті, оскільки вони можуть підтримувати довільні типи об’єктів. " +"Крім того, один менеджер може спільно використовуватися процесами на різних " +"комп’ютерах у мережі. Однак вони повільніші, ніж використання спільної " +"пам’яті." + +msgid "Using a pool of workers" +msgstr "Використання пулу працівників" + +msgid "" +"The :class:`~multiprocessing.pool.Pool` class represents a pool of worker " +"processes. It has methods which allows tasks to be offloaded to the worker " +"processes in a few different ways." +msgstr "" +"Клас :class:`~multiprocessing.pool.Pool` представляє пул робочих процесів. " +"Він має методи, які дозволяють розвантажувати завдання на робочі процеси " +"кількома різними способами." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"Note that the methods of a pool should only ever be used by the process " +"which created it." +msgstr "" +"Зверніть увагу, що методи пулу повинні використовуватися тільки тим " +"процесом, який його створив." + +msgid "" +"Functionality within this package requires that the ``__main__`` module be " +"importable by the children. This is covered in :ref:`multiprocessing-" +"programming` however it is worth pointing out here. This means that some " +"examples, such as the :class:`multiprocessing.pool.Pool` examples will not " +"work in the interactive interpreter. For example::" +msgstr "" +"Функціональність цього пакета вимагає, щоб модуль ``__main__`` міг " +"імпортуватися дочірніми елементами. Це описано в :ref:`multiprocessing-" +"programming`, проте тут варто звернути увагу на це. Це означає, що деякі " +"приклади, такі як приклади :class:`multiprocessing.pool.Pool` не " +"працюватимуть в інтерактивному інтерпретаторі. Наприклад::" + +msgid "" +"(If you try this it will actually output three full tracebacks interleaved " +"in a semi-random fashion, and then you may have to stop the parent process " +"somehow.)" +msgstr "" +"(Якщо ви спробуєте це, він фактично виведе три повні трасування, чергувані " +"напіввипадковим чином, і тоді вам, можливо, доведеться якось зупинити " +"батьківський процес.)" + +msgid "Reference" +msgstr "довідка" + +msgid "" +"The :mod:`multiprocessing` package mostly replicates the API of the :mod:" +"`threading` module." +msgstr "" +"Пакет :mod:`multiprocessing` здебільшого повторює API модуля :mod:" +"`threading`." + +msgid ":class:`Process` and exceptions" +msgstr ":class:`Process` і винятки" + +msgid "" +"Process objects represent activity that is run in a separate process. The :" +"class:`Process` class has equivalents of all the methods of :class:" +"`threading.Thread`." +msgstr "" +"Об’єкти процесу представляють діяльність, яка виконується в окремому " +"процесі. Клас :class:`Process` має еквіваленти всіх методів :class:" +"`threading.Thread`." + +msgid "" +"The constructor should always be called with keyword arguments. *group* " +"should always be ``None``; it exists solely for compatibility with :class:" +"`threading.Thread`. *target* is the callable object to be invoked by the :" +"meth:`run()` method. It defaults to ``None``, meaning nothing is called. " +"*name* is the process name (see :attr:`name` for more details). *args* is " +"the argument tuple for the target invocation. *kwargs* is a dictionary of " +"keyword arguments for the target invocation. If provided, the keyword-only " +"*daemon* argument sets the process :attr:`daemon` flag to ``True`` or " +"``False``. If ``None`` (the default), this flag will be inherited from the " +"creating process." +msgstr "" +"Конструктор завжди слід викликати з ключовими аргументами. *group* завжди " +"має бути ``None``; він існує виключно для сумісності з :class:`threading." +"Thread`. *target* — об’єкт, який викликається методом :meth:`run()`. За " +"умовчанням встановлено ``None``, тобто нічого не викликається. *name* — це " +"ім’я процесу (див. :attr:`name` для отримання додаткової інформації). *args* " +"— це кортеж аргументів для цільового виклику. *kwargs* — це словник ключових " +"аргументів для цільового виклику. Якщо надано, аргумент *daemon*, що містить " +"лише ключове слово, встановлює для прапора процесу :attr:`daemon` значення " +"``True`` або ``False``. Якщо ``None`` (за замовчуванням), цей прапор буде " +"успадковано від процесу створення." + +msgid "" +"By default, no arguments are passed to *target*. The *args* argument, which " +"defaults to ``()``, can be used to specify a list or tuple of the arguments " +"to pass to *target*." +msgstr "" + +msgid "" +"If a subclass overrides the constructor, it must make sure it invokes the " +"base class constructor (:meth:`Process.__init__`) before doing anything else " +"to the process." +msgstr "" +"Якщо підклас перевизначає конструктор, він повинен переконатися, що він " +"викликає конструктор базового класу (:meth:`Process.__init__`), перш ніж " +"щось робити з процесом." + +msgid "Added the *daemon* argument." +msgstr "Додано аргумент *daemon*." + +msgid "Method representing the process's activity." +msgstr "Метод, що представляє діяльність процесу." + +msgid "" +"You may override this method in a subclass. The standard :meth:`run` method " +"invokes the callable object passed to the object's constructor as the target " +"argument, if any, with sequential and keyword arguments taken from the " +"*args* and *kwargs* arguments, respectively." +msgstr "" +"Ви можете перевизначити цей метод у підкласі. Стандартний метод :meth:`run` " +"викликає викликаний об’єкт, переданий конструктору об’єкта як цільовий " +"аргумент, якщо такий є, з послідовними аргументами та ключовими аргументами, " +"взятими з аргументів *args* і *kwargs* відповідно." + +msgid "" +"Using a list or tuple as the *args* argument passed to :class:`Process` " +"achieves the same effect." +msgstr "" + +msgid "Example::" +msgstr "Приклад::" + +msgid "Start the process's activity." +msgstr "Запустіть процес." + +msgid "" +"This must be called at most once per process object. It arranges for the " +"object's :meth:`run` method to be invoked in a separate process." +msgstr "" +"Це має бути викликано щонайбільше один раз на об’єкт процесу. Він " +"організовує виклик методу :meth:`run` об’єкта в окремому процесі." + +msgid "" +"If the optional argument *timeout* is ``None`` (the default), the method " +"blocks until the process whose :meth:`join` method is called terminates. If " +"*timeout* is a positive number, it blocks at most *timeout* seconds. Note " +"that the method returns ``None`` if its process terminates or if the method " +"times out. Check the process's :attr:`exitcode` to determine if it " +"terminated." +msgstr "" +"Якщо додатковий аргумент *timeout* має значення ``None`` (за замовчуванням), " +"метод блокується, доки процес, чий метод :meth:`join` викликається, не " +"завершиться. Якщо *timeout* є додатним числом, воно блокує щонайбільше " +"*timeout* секунд. Зауважте, що метод повертає ``None``, якщо його процес " +"завершується або якщо метод закінчився. Перевірте :attr:`exitcode` процесу, " +"щоб визначити, чи він завершився." + +msgid "A process can be joined many times." +msgstr "До процесу можна приєднуватися багато разів." + +msgid "" +"A process cannot join itself because this would cause a deadlock. It is an " +"error to attempt to join a process before it has been started." +msgstr "" +"Процес не може приєднатися до себе, оскільки це спричинить тупикову " +"блокування. Спроба приєднатися до процесу до його запуску є помилкою." + +msgid "" +"The process's name. The name is a string used for identification purposes " +"only. It has no semantics. Multiple processes may be given the same name." +msgstr "" +"Назва процесу. Ім'я - це рядок, який використовується лише для " +"ідентифікації. Він не має семантики. Кілька процесів можуть мати однакові " +"назви." + +msgid "" +"The initial name is set by the constructor. If no explicit name is provided " +"to the constructor, a name of the form 'Process-N\\ :sub:`1`:N\\ :sub:" +"`2`:...:N\\ :sub:`k`' is constructed, where each N\\ :sub:`k` is the N-th " +"child of its parent." +msgstr "" +"Початкове ім'я задається конструктором. Якщо конструктору не надано явної " +"назви, ім’я у формі 'Process-N\\ :sub:`1`:N\\ :sub:`2`:...:N\\ :sub:`k`' " +"побудований, де кожен N\\ :sub:`k` є N-м дочірнім елементом свого батька." + +msgid "Return whether the process is alive." +msgstr "Повернути, чи процес активний." + +msgid "" +"Roughly, a process object is alive from the moment the :meth:`start` method " +"returns until the child process terminates." +msgstr "" +"Приблизно, об’єкт процесу живий з моменту повернення методу :meth:`start` до " +"завершення дочірнього процесу." + +msgid "" +"The process's daemon flag, a Boolean value. This must be set before :meth:" +"`start` is called." +msgstr "" +"Прапор демона процесу, логічне значення. Це має бути встановлено перед " +"викликом :meth:`start`." + +msgid "The initial value is inherited from the creating process." +msgstr "Початкове значення успадковується від процесу створення." + +msgid "" +"When a process exits, it attempts to terminate all of its daemonic child " +"processes." +msgstr "" +"Коли процес завершується, він намагається завершити всі свої демонічні " +"дочірні процеси." + +msgid "" +"Note that a daemonic process is not allowed to create child processes. " +"Otherwise a daemonic process would leave its children orphaned if it gets " +"terminated when its parent process exits. Additionally, these are **not** " +"Unix daemons or services, they are normal processes that will be terminated " +"(and not joined) if non-daemonic processes have exited." +msgstr "" +"Зауважте, що демонічному процесу не дозволяється створювати дочірні процеси. " +"Інакше демонічний процес залишив би своїх нащадків сиротами, якщо він буде " +"припинений під час завершення процесу батьківського процесу. Крім того, це " +"**не** демони чи служби Unix, це звичайні процеси, які будуть припинені (і " +"не приєднані), якщо недемонічні процеси вийшли." + +msgid "" +"In addition to the :class:`threading.Thread` API, :class:`Process` objects " +"also support the following attributes and methods:" +msgstr "" +"Окрім API :class:`threading.Thread`, об’єкти :class:`Process` також " +"підтримують такі атрибути та методи:" + +msgid "" +"Return the process ID. Before the process is spawned, this will be ``None``." +msgstr "" +"Поверніть ідентифікатор процесу. До того, як процес буде створено, це буде " +"``None``." + +msgid "" +"The child's exit code. This will be ``None`` if the process has not yet " +"terminated." +msgstr "Код виходу дитини. Це буде ``None``, якщо процес ще не завершено." + +msgid "" +"If the child's :meth:`run` method returned normally, the exit code will be " +"0. If it terminated via :func:`sys.exit` with an integer argument *N*, the " +"exit code will be *N*." +msgstr "" +"Якщо дочірній метод :meth:`run` повернувся нормально, код виходу буде 0. " +"Якщо він закінчився через :func:`sys.exit` із цілим аргументом *N*, код " +"виходу буде *N*." + +msgid "" +"If the child terminated due to an exception not caught within :meth:`run`, " +"the exit code will be 1. If it was terminated by signal *N*, the exit code " +"will be the negative value *-N*." +msgstr "" +"Якщо дочірній процес завершився через виняток, який не було перехоплено в :" +"meth:`run`, код виходу буде 1. Якщо його було завершено сигналом *N*, код " +"виходу матиме від’ємне значення *-N*." + +msgid "The process's authentication key (a byte string)." +msgstr "Ключ автентифікації процесу (рядок байтів)." + +msgid "" +"When :mod:`multiprocessing` is initialized the main process is assigned a " +"random string using :func:`os.urandom`." +msgstr "" +"Коли :mod:`multiprocessing` ініціалізовано, головному процесу призначається " +"випадковий рядок за допомогою :func:`os.urandom`." + +msgid "" +"When a :class:`Process` object is created, it will inherit the " +"authentication key of its parent process, although this may be changed by " +"setting :attr:`authkey` to another byte string." +msgstr "" +"Коли об’єкт :class:`Process` створюється, він успадковує ключ автентифікації " +"свого батьківського процесу, хоча це можна змінити, встановивши :attr:" +"`authkey` інший байтовий рядок." + +msgid "See :ref:`multiprocessing-auth-keys`." +msgstr "Перегляньте :ref:`multiprocessing-auth-keys`." + +msgid "" +"A numeric handle of a system object which will become \"ready\" when the " +"process ends." +msgstr "" +"Числовий дескриптор системного об’єкта, який стане \"готовим\" після " +"завершення процесу." + +msgid "" +"You can use this value if you want to wait on several events at once using :" +"func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join()` is " +"simpler." +msgstr "" +"Ви можете використовувати це значення, якщо хочете очікувати на кілька подій " +"одночасно за допомогою :func:`multiprocessing.connection.wait`. Інакше " +"викликати :meth:`join()` простіше." + +msgid "" +"On Windows, this is an OS handle usable with the ``WaitForSingleObject`` and " +"``WaitForMultipleObjects`` family of API calls. On Unix, this is a file " +"descriptor usable with primitives from the :mod:`select` module." +msgstr "" +"У Windows це дескриптор ОС, який можна використовувати з сімейством викликів " +"API ``WaitForSingleObject`` і ``WaitForMultipleObjects``. В Unix це файловий " +"дескриптор, який можна використовувати з примітивами з модуля :mod:`select`." + +msgid "" +"Terminate the process. On Unix this is done using the ``SIGTERM`` signal; " +"on Windows :c:func:`TerminateProcess` is used. Note that exit handlers and " +"finally clauses, etc., will not be executed." +msgstr "" +"Припиніть процес. В Unix це робиться за допомогою сигналу ``SIGTERM``; у " +"Windows використовується :c:func:`TerminateProcess`. Зауважте, що обробники " +"виходу, пропозиції finally тощо не виконуватимуться." + +msgid "" +"Note that descendant processes of the process will *not* be terminated -- " +"they will simply become orphaned." +msgstr "" +"Зверніть увагу, що процеси-нащадки процесу *не* будуть припинені -- вони " +"просто стануть сиротами." + +msgid "" +"If this method is used when the associated process is using a pipe or queue " +"then the pipe or queue is liable to become corrupted and may become unusable " +"by other process. Similarly, if the process has acquired a lock or " +"semaphore etc. then terminating it is liable to cause other processes to " +"deadlock." +msgstr "" +"Якщо цей метод використовується, коли пов’язаний процес використовує канал " +"або чергу, канал або чергу можуть бути пошкоджені та можуть стати " +"непридатними для використання іншим процесом. Подібним чином, якщо процес " +"отримав блокування або семафор тощо, його завершення може призвести до " +"блокування інших процесів." + +msgid "Same as :meth:`terminate()` but using the ``SIGKILL`` signal on Unix." +msgstr "" +"Те саме, що :meth:`terminate()`, але використовує сигнал ``SIGKILL`` в Unix." + +msgid "" +"Close the :class:`Process` object, releasing all resources associated with " +"it. :exc:`ValueError` is raised if the underlying process is still " +"running. Once :meth:`close` returns successfully, most other methods and " +"attributes of the :class:`Process` object will raise :exc:`ValueError`." +msgstr "" +"Закрийте об’єкт :class:`Process`, звільнивши всі пов’язані з ним ресурси. :" +"exc:`ValueError` виникає, якщо основний процес все ще виконується. Після " +"успішного повернення :meth:`close` більшість інших методів і атрибутів " +"об’єкта :class:`Process` викличуть :exc:`ValueError`." + +msgid "" +"Note that the :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" +"`terminate` and :attr:`exitcode` methods should only be called by the " +"process that created the process object." +msgstr "" +"Зауважте, що методи :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" +"`terminate` і :attr:`exitcode` має викликати лише процес, який створив " +"об’єкт процесу ." + +msgid "Example usage of some of the methods of :class:`Process`:" +msgstr "Приклад використання деяких методів :class:`Process`:" + +msgid "The base class of all :mod:`multiprocessing` exceptions." +msgstr "Базовий клас усіх винятків :mod:`multiprocessing`." + +msgid "" +"Exception raised by :meth:`Connection.recv_bytes_into()` when the supplied " +"buffer object is too small for the message read." +msgstr "" +"Виняток, викликаний :meth:`Connection.recv_bytes_into()`, коли наданий " +"об’єкт буфера замалий для прочитання повідомлення." + +msgid "" +"If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " +"give the message as a byte string." +msgstr "" +"Якщо ``e`` є екземпляром :exc:`BufferTooShort`, то ``e.args[0]`` видасть " +"повідомлення як рядок байтів." + +msgid "Raised when there is an authentication error." +msgstr "Викликається, коли виникає помилка автентифікації." + +msgid "Raised by methods with a timeout when the timeout expires." +msgstr "Викликається методами з тайм-аутом, коли час очікування закінчується." + +msgid "Pipes and Queues" +msgstr "Труби та черги" + +msgid "" +"When using multiple processes, one generally uses message passing for " +"communication between processes and avoids having to use any synchronization " +"primitives like locks." +msgstr "" +"При використанні кількох процесів зазвичай використовується передача " +"повідомлень для зв’язку між процесами та уникається використання будь-яких " +"примітивів синхронізації, таких як блокування." + +msgid "" +"For passing messages one can use :func:`Pipe` (for a connection between two " +"processes) or a queue (which allows multiple producers and consumers)." +msgstr "" +"Для передачі повідомлень можна використовувати :func:`Pipe` (для з’єднання " +"між двома процесами) або чергу (що дозволяє використовувати кілька " +"виробників і споживачів)." + +msgid "" +"The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " +"are multi-producer, multi-consumer :abbr:`FIFO (first-in, first-out)` queues " +"modelled on the :class:`queue.Queue` class in the standard library. They " +"differ in that :class:`Queue` lacks the :meth:`~queue.Queue.task_done` and :" +"meth:`~queue.Queue.join` methods introduced into Python 2.5's :class:`queue." +"Queue` class." +msgstr "" +"Типи :class:`Queue`, :class:`SimpleQueue` і :class:`JoinableQueue` є чергами " +"багатьох виробників і споживачів :abbr:`FIFO (першим увійшов, першим " +"вийшов)`, змодельованими на основі :class:`queue.Queue` клас у стандартній " +"бібліотеці. Вони відрізняються тим, що :class:`Queue` не має методів :meth:" +"`~queue.Queue.task_done` і :meth:`~queue.Queue.join`, представлених у :class:" +"`queue.Queue` Python 2.5 клас." + +msgid "" +"If you use :class:`JoinableQueue` then you **must** call :meth:" +"`JoinableQueue.task_done` for each task removed from the queue or else the " +"semaphore used to count the number of unfinished tasks may eventually " +"overflow, raising an exception." +msgstr "" +"Якщо ви використовуєте :class:`JoinableQueue`, тоді ви **має** викликати :" +"meth:`JoinableQueue.task_done` для кожного завдання, вилученого з черги, " +"інакше семафор, який використовується для підрахунку кількості незавершених " +"завдань, може зрештою переповнитися, викликаючи виняток." + +msgid "" +"Note that one can also create a shared queue by using a manager object -- " +"see :ref:`multiprocessing-managers`." +msgstr "" +"Зауважте, що можна також створити спільну чергу за допомогою об’єкта " +"менеджера – див. :ref:`multiprocessing-managers`." + +msgid "" +":mod:`multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." +"Full` exceptions to signal a timeout. They are not available in the :mod:" +"`multiprocessing` namespace so you need to import them from :mod:`queue`." +msgstr "" +":mod:`multiprocessing` використовує звичайні винятки :exc:`queue.Empty` і :" +"exc:`queue.Full`, щоб сигналізувати про час очікування. Вони недоступні в " +"просторі імен :mod:`multiprocessing`, тому їх потрібно імпортувати з :mod:" +"`queue`." + +msgid "" +"When an object is put on a queue, the object is pickled and a background " +"thread later flushes the pickled data to an underlying pipe. This has some " +"consequences which are a little surprising, but should not cause any " +"practical difficulties -- if they really bother you then you can instead use " +"a queue created with a :ref:`manager `." +msgstr "" +"Коли об’єкт ставиться в чергу, об’єкт очищається, а фоновий потік пізніше " +"скидає обрані дані в базовий канал. Це має деякі наслідки, які є трохи " +"дивними, але не повинні викликати жодних практичних труднощів - якщо вони " +"дійсно вас турбують, ви можете натомість використати чергу, створену за " +"допомогою :ref:`manager `." + +msgid "" +"After putting an object on an empty queue there may be an infinitesimal " +"delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " +"and :meth:`~Queue.get_nowait` can return without raising :exc:`queue.Empty`." +msgstr "" +"Після розміщення об’єкта в порожній черзі може виникнути нескінченно мала " +"затримка, перш ніж метод :meth:`~Queue.empty` черги поверне :const:`False`, " +"а :meth:`~Queue.get_nowait` зможе повернутися без виклику :exc:`queue.Empty`." + +msgid "" +"If multiple processes are enqueuing objects, it is possible for the objects " +"to be received at the other end out-of-order. However, objects enqueued by " +"the same process will always be in the expected order with respect to each " +"other." +msgstr "" +"Якщо кілька процесів ставлять об’єкти в чергу, об’єкти можуть бути отримані " +"на іншому кінці не за порядком. Однак об’єкти, поставлені в чергу одним і " +"тим же процесом, завжди будуть в очікуваному порядку один відносно одного." + +msgid "" +"If a process is killed using :meth:`Process.terminate` or :func:`os.kill` " +"while it is trying to use a :class:`Queue`, then the data in the queue is " +"likely to become corrupted. This may cause any other process to get an " +"exception when it tries to use the queue later on." +msgstr "" +"Якщо процес зупинено за допомогою :meth:`Process.terminate` або :func:`os." +"kill` під час спроби використання :class:`Queue`, то дані в черзі, ймовірно, " +"будуть пошкоджені. Це може призвести до того, що будь-який інший процес " +"отримає виняток, коли він спробує використати чергу пізніше." + +msgid "" +"As mentioned above, if a child process has put items on a queue (and it has " +"not used :meth:`JoinableQueue.cancel_join_thread `), then that process will not terminate until all " +"buffered items have been flushed to the pipe." +msgstr "" +"Як згадувалося вище, якщо дочірній процес поставив елементи в чергу (і він " +"не використовував :meth:`JoinableQueue.cancel_join_thread `), тоді цей процес не завершиться, доки всі " +"буферизовані елементи не будуть скинуті в канал." + +msgid "" +"This means that if you try joining that process you may get a deadlock " +"unless you are sure that all items which have been put on the queue have " +"been consumed. Similarly, if the child process is non-daemonic then the " +"parent process may hang on exit when it tries to join all its non-daemonic " +"children." +msgstr "" +"Це означає, що якщо ви спробуєте приєднатися до цього процесу, ви можете " +"отримати тупикову блокування, якщо ви не впевнені, що всі елементи, які були " +"поставлені в чергу, використано. Так само, якщо дочірній процес є " +"недемонічним, тоді батьківський процес може зависнути при виході, коли він " +"намагається приєднатися до всіх своїх недемонічних дочірніх процесів." + +msgid "" +"Note that a queue created using a manager does not have this issue. See :" +"ref:`multiprocessing-programming`." +msgstr "" +"Зауважте, що черга, створена за допомогою менеджера, не має цієї проблеми. " +"Дивіться :ref:`multiprocessing-programming`." + +msgid "" +"For an example of the usage of queues for interprocess communication see :" +"ref:`multiprocessing-examples`." +msgstr "" +"Для прикладу використання черг для міжпроцесного зв’язку див. :ref:" +"`multiprocessing-examples`." + +msgid "" +"Returns a pair ``(conn1, conn2)`` of :class:`~multiprocessing.connection." +"Connection` objects representing the ends of a pipe." +msgstr "" +"Повертає пару об’єктів ``(conn1, conn2)`` :class:`~multiprocessing." +"connection.Connection`, що представляють кінці труби." + +msgid "" +"If *duplex* is ``True`` (the default) then the pipe is bidirectional. If " +"*duplex* is ``False`` then the pipe is unidirectional: ``conn1`` can only be " +"used for receiving messages and ``conn2`` can only be used for sending " +"messages." +msgstr "" +"Якщо *duplex* має значення ``True`` (за замовчуванням), тоді канал є " +"двонаправленим. Якщо *duplex* має значення ``False``, тоді канал є " +"односпрямованим: ``conn1`` можна використовувати лише для отримання " +"повідомлень, а ``conn2`` — лише для надсилання повідомлень." + +msgid "" +"Returns a process shared queue implemented using a pipe and a few locks/" +"semaphores. When a process first puts an item on the queue a feeder thread " +"is started which transfers objects from a buffer into the pipe." +msgstr "" +"Повертає спільну чергу процесу, реалізовану за допомогою каналу та кількох " +"блокувань/семафорів. Коли процес вперше ставить елемент у чергу, " +"запускається потік, який передає об’єкти з буфера в канал." + +msgid "" +"The usual :exc:`queue.Empty` and :exc:`queue.Full` exceptions from the " +"standard library's :mod:`queue` module are raised to signal timeouts." +msgstr "" +"Звичайні винятки :exc:`queue.Empty` і :exc:`queue.Full` із модуля :mod:" +"`queue` стандартної бібліотеки створюються, щоб повідомити про час " +"очікування." + +msgid "" +":class:`Queue` implements all the methods of :class:`queue.Queue` except " +"for :meth:`~queue.Queue.task_done` and :meth:`~queue.Queue.join`." +msgstr "" +":class:`Queue` реалізує всі методи :class:`queue.Queue`, крім :meth:`~queue." +"Queue.task_done` і :meth:`~queue.Queue.join`." + +msgid "" +"Return the approximate size of the queue. Because of multithreading/" +"multiprocessing semantics, this number is not reliable." +msgstr "" +"Повертає приблизний розмір черги. Через семантику багатопоточності/" +"багатопроцесорності це число ненадійне." + +msgid "" +"Note that this may raise :exc:`NotImplementedError` on Unix platforms like " +"macOS where ``sem_getvalue()`` is not implemented." +msgstr "" +"Зауважте, що це може викликати :exc:`NotImplementedError` на платформах " +"Unix, таких як macOS, де ``sem_getvalue()`` не реалізовано." + +msgid "" +"Return ``True`` if the queue is empty, ``False`` otherwise. Because of " +"multithreading/multiprocessing semantics, this is not reliable." +msgstr "" +"Повертає ``True``, якщо черга порожня, ``False`` інакше. Через семантику " +"багатопоточності/багатопроцесорності це ненадійно." + +msgid "" +"Return ``True`` if the queue is full, ``False`` otherwise. Because of " +"multithreading/multiprocessing semantics, this is not reliable." +msgstr "" +"Повертає ``True``, якщо черга заповнена, ``False`` інакше. Через семантику " +"багатопоточності/багатопроцесорності це ненадійно." + +msgid "" +"Put obj into the queue. If the optional argument *block* is ``True`` (the " +"default) and *timeout* is ``None`` (the default), block if necessary until a " +"free slot is available. If *timeout* is a positive number, it blocks at " +"most *timeout* seconds and raises the :exc:`queue.Full` exception if no free " +"slot was available within that time. Otherwise (*block* is ``False``), put " +"an item on the queue if a free slot is immediately available, else raise " +"the :exc:`queue.Full` exception (*timeout* is ignored in that case)." +msgstr "" +"Помістіть obj у чергу. Якщо необов’язковий аргумент *block* має значення " +"``True`` (за замовчуванням), а *timeout* має значення ``None`` (за " +"замовчуванням), за потреби блокуйте, доки не з’явиться вільний слот. Якщо " +"*timeout* є додатним числом, він блокує щонайбільше *timeout* секунд і " +"викликає виняток :exc:`queue.Full`, якщо протягом цього часу не було " +"вільного місця. В іншому випадку (*block* має значення ``False``), помістіть " +"елемент у чергу, якщо вільний слот є негайно доступним, інакше викликайте " +"виняток :exc:`queue.Full` (*timeout* у цьому випадку ігнорується)." + +msgid "" +"If the queue is closed, :exc:`ValueError` is raised instead of :exc:" +"`AssertionError`." +msgstr "" +"Якщо чергу закрито, замість :exc:`AssertionError` виникає :exc:`ValueError`." + +msgid "Equivalent to ``put(obj, False)``." +msgstr "Еквівалент ``put(obj, False)``." + +msgid "" +"Remove and return an item from the queue. If optional args *block* is " +"``True`` (the default) and *timeout* is ``None`` (the default), block if " +"necessary until an item is available. If *timeout* is a positive number, it " +"blocks at most *timeout* seconds and raises the :exc:`queue.Empty` exception " +"if no item was available within that time. Otherwise (block is ``False``), " +"return an item if one is immediately available, else raise the :exc:`queue." +"Empty` exception (*timeout* is ignored in that case)." +msgstr "" +"Видалити та повернути елемент із черги. Якщо необов’язкові аргументи *block* " +"мають значення ``True`` (за замовчуванням), а *timeout* — ``None`` (за " +"замовчуванням), за потреби блокуйте, доки елемент не стане доступним. Якщо " +"*timeout* є додатним числом, він блокує щонайбільше *timeout* секунд і " +"викликає виняток :exc:`queue.Empty`, якщо жоден елемент не був доступний " +"протягом цього часу. В іншому випадку (блок має значення ``False``), " +"повертає елемент, якщо він одразу доступний, інакше викликає виняток :exc:" +"`queue.Empty` (у цьому випадку *timeout* ігнорується)." + +msgid "" +"If the queue is closed, :exc:`ValueError` is raised instead of :exc:" +"`OSError`." +msgstr "Якщо чергу закрито, замість :exc:`OSError` виникає :exc:`ValueError`." + +msgid "Equivalent to ``get(False)``." +msgstr "Еквівалент ``get(False)``." + +msgid "" +":class:`multiprocessing.Queue` has a few additional methods not found in :" +"class:`queue.Queue`. These methods are usually unnecessary for most code:" +msgstr "" +":class:`multiprocessing.Queue` має кілька додаткових методів, яких немає в :" +"class:`queue.Queue`. Ці методи зазвичай непотрібні для більшості коду:" + +msgid "" +"Indicate that no more data will be put on this queue by the current " +"process. The background thread will quit once it has flushed all buffered " +"data to the pipe. This is called automatically when the queue is garbage " +"collected." +msgstr "" +"Укажіть, що поточний процес більше не додаватиме дані до цієї черги. Фоновий " +"потік завершиться, коли всі буферизовані дані буде скинуто в канал. Це " +"викликається автоматично, коли в черзі збирається сміття." + +msgid "" +"Join the background thread. This can only be used after :meth:`close` has " +"been called. It blocks until the background thread exits, ensuring that all " +"data in the buffer has been flushed to the pipe." +msgstr "" +"Приєднайтеся до фонової нитки. Це можна використовувати лише після виклику :" +"meth:`close`. Він блокується, доки не завершиться фоновий потік, гарантуючи, " +"що всі дані в буфері скинуті в канал." + +msgid "" +"By default if a process is not the creator of the queue then on exit it will " +"attempt to join the queue's background thread. The process can call :meth:" +"`cancel_join_thread` to make :meth:`join_thread` do nothing." +msgstr "" +"За замовчуванням, якщо процес не є творцем черги, після виходу він спробує " +"приєднатися до фонового потоку черги. Процес може викликати :meth:" +"`cancel_join_thread`, щоб змусити :meth:`join_thread` нічого не робити." + +msgid "" +"Prevent :meth:`join_thread` from blocking. In particular, this prevents the " +"background thread from being joined automatically when the process exits -- " +"see :meth:`join_thread`." +msgstr "" +"Запобігти блокуванню :meth:`join_thread`. Зокрема, це запобігає " +"автоматичному приєднанню фонового потоку під час завершення процесу -- див. :" +"meth:`join_thread`." + +msgid "" +"A better name for this method might be ``allow_exit_without_flush()``. It " +"is likely to cause enqueued data to be lost, and you almost certainly will " +"not need to use it. It is really only there if you need the current process " +"to exit immediately without waiting to flush enqueued data to the underlying " +"pipe, and you don't care about lost data." +msgstr "" +"Кращою назвою для цього методу може бути ``allow_exit_without_flush()``. " +"Ймовірно, це спричинить втрату даних у черзі, і вам майже напевно не " +"потрібно буде їх використовувати. Насправді він доступний лише тоді, коли " +"вам потрібно, щоб поточний процес завершився негайно, не чекаючи, щоб " +"скинути дані з черги в основний канал, і ви не дбаєте про втрачені дані." + +msgid "" +"This class's functionality requires a functioning shared semaphore " +"implementation on the host operating system. Without one, the functionality " +"in this class will be disabled, and attempts to instantiate a :class:`Queue` " +"will result in an :exc:`ImportError`. See :issue:`3770` for additional " +"information. The same holds true for any of the specialized queue types " +"listed below." +msgstr "" +"Функціональність цього класу вимагає функціонуючої спільної реалізації " +"семафора в головній операційній системі. Без нього функціональні можливості " +"цього класу будуть вимкнені, а спроби створити екземпляр :class:`Queue` " +"призведуть до :exc:`ImportError`. Додаткову інформацію див. :issue:`3770`. " +"Те саме стосується будь-якого зі спеціалізованих типів черги, перелічених " +"нижче." + +msgid "" +"It is a simplified :class:`Queue` type, very close to a locked :class:`Pipe`." +msgstr "" +"Це спрощений тип :class:`Queue`, дуже схожий на заблокований :class:`Pipe`." + +msgid "Close the queue: release internal resources." +msgstr "Закрийте чергу: звільніть внутрішні ресурси." + +msgid "" +"A queue must not be used anymore after it is closed. For example, :meth:" +"`get`, :meth:`put` and :meth:`empty` methods must no longer be called." +msgstr "" +"Після закриття чергу більше не можна використовувати. Наприклад, методи :" +"meth:`get`, :meth:`put` і :meth:`empty` більше не можна викликати." + +msgid "Return ``True`` if the queue is empty, ``False`` otherwise." +msgstr "Повертає ``True``, якщо черга порожня, ``False`` інакше." + +msgid "Remove and return an item from the queue." +msgstr "Видалити та повернути елемент із черги." + +msgid "Put *item* into the queue." +msgstr "Поставте *товар* в чергу." + +msgid "" +":class:`JoinableQueue`, a :class:`Queue` subclass, is a queue which " +"additionally has :meth:`task_done` and :meth:`join` methods." +msgstr "" +":class:`JoinableQueue`, підклас :class:`Queue`, це черга, яка додатково має " +"методи :meth:`task_done` і :meth:`join`." + +msgid "" +"Indicate that a formerly enqueued task is complete. Used by queue " +"consumers. For each :meth:`~Queue.get` used to fetch a task, a subsequent " +"call to :meth:`task_done` tells the queue that the processing on the task is " +"complete." +msgstr "" +"Вказує на те, що завдання, яке раніше було в черзі, виконано. " +"Використовується споживачами черги. Для кожного :meth:`~Queue.get`, який " +"використовується для отримання завдання, наступний виклик :meth:`task_done` " +"повідомляє черзі, що обробку завдання завершено." + +msgid "" +"If a :meth:`~queue.Queue.join` is currently blocking, it will resume when " +"all items have been processed (meaning that a :meth:`task_done` call was " +"received for every item that had been :meth:`~Queue.put` into the queue)." +msgstr "" +"Якщо :meth:`~queue.Queue.join` зараз блокується, воно відновиться, коли всі " +"елементи будуть оброблені (це означає, що виклик :meth:`task_done` отримано " +"для кожного елемента, який був :meth:`~Queue.put` в чергу)." + +msgid "" +"Raises a :exc:`ValueError` if called more times than there were items placed " +"in the queue." +msgstr "" +"Викликає :exc:`ValueError`, якщо викликається стільки разів, скільки було " +"елементів у черзі." + +msgid "Block until all items in the queue have been gotten and processed." +msgstr "Блокуйте, доки не буде отримано та оброблено всі елементи в черзі." + +msgid "" +"The count of unfinished tasks goes up whenever an item is added to the " +"queue. The count goes down whenever a consumer calls :meth:`task_done` to " +"indicate that the item was retrieved and all work on it is complete. When " +"the count of unfinished tasks drops to zero, :meth:`~queue.Queue.join` " +"unblocks." +msgstr "" +"Кількість незавершених завдань зростає щоразу, коли елемент додається до " +"черги. Підрахунок зменшується щоразу, коли споживач викликає :meth:" +"`task_done`, щоб вказати, що елемент отримано та вся робота над ним " +"завершена. Коли кількість незавершених завдань падає до нуля, :meth:`~queue." +"Queue.join` розблоковується." + +msgid "Miscellaneous" +msgstr "Різне" + +msgid "Return list of all live children of the current process." +msgstr "Повернути список усіх живих дітей поточного процесу." + +msgid "" +"Calling this has the side effect of \"joining\" any processes which have " +"already finished." +msgstr "" +"Виклик цього має побічний ефект \"приєднання\" до будь-яких процесів, які " +"вже завершилися." + +msgid "Return the number of CPUs in the system." +msgstr "Повертає кількість процесорів у системі." + +msgid "" +"This number is not equivalent to the number of CPUs the current process can " +"use. The number of usable CPUs can be obtained with ``len(os." +"sched_getaffinity(0))``" +msgstr "" +"Це число не еквівалентно кількості ЦП, які може використовувати поточний " +"процес. Кількість доступних ЦП можна отримати за допомогою ``len(os." +"sched_getaffinity(0))``" + +msgid "" +"When the number of CPUs cannot be determined a :exc:`NotImplementedError` is " +"raised." +msgstr "" +"Коли кількість ЦП не може бути визначена, виникає :exc:`NotImplementedError`." + +msgid ":func:`os.cpu_count`" +msgstr ":func:`os.cpu_count`" + +msgid "" +"Return the :class:`Process` object corresponding to the current process." +msgstr "Повертає об’єкт :class:`Process`, що відповідає поточному процесу." + +msgid "An analogue of :func:`threading.current_thread`." +msgstr "Аналог :func:`threading.current_thread`." + +msgid "" +"Return the :class:`Process` object corresponding to the parent process of " +"the :func:`current_process`. For the main process, ``parent_process`` will " +"be ``None``." +msgstr "" +"Повертає об’єкт :class:`Process`, що відповідає батьківському процесу :func:" +"`current_process`. Для основного процесу ``parent_process`` буде ``None``." + +msgid "" +"Add support for when a program which uses :mod:`multiprocessing` has been " +"frozen to produce a Windows executable. (Has been tested with **py2exe**, " +"**PyInstaller** and **cx_Freeze**.)" +msgstr "" +"Додайте підтримку, коли програма, яка використовує :mod:`multiprocessing`, " +"була заморожена для створення виконуваного файлу Windows. (Було перевірено " +"за допомогою **py2exe**, **PyInstaller** і **cx_Freeze**.)" + +msgid "" +"One needs to call this function straight after the ``if __name__ == " +"'__main__'`` line of the main module. For example::" +msgstr "" +"Цю функцію потрібно викликати відразу після рядка ``if __name__ == " +"'__main__'`` головного модуля. Наприклад::" + +msgid "" +"If the ``freeze_support()`` line is omitted then trying to run the frozen " +"executable will raise :exc:`RuntimeError`." +msgstr "" +"Якщо рядок ``freeze_support()`` пропущено, спроба запустити заморожений " +"виконуваний файл викличе :exc:`RuntimeError`." + +msgid "" +"Calling ``freeze_support()`` has no effect when invoked on any operating " +"system other than Windows. In addition, if the module is being run normally " +"by the Python interpreter on Windows (the program has not been frozen), then " +"``freeze_support()`` has no effect." +msgstr "" +"Виклик ``freeze_support()`` не має ефекту під час виклику в будь-якій " +"операційній системі, крім Windows. Крім того, якщо модуль нормально " +"запускається інтерпретатором Python у Windows (програма не була заморожена), " +"то ``freeze_support()`` не має ефекту." + +msgid "" +"Returns a list of the supported start methods, the first of which is the " +"default. The possible start methods are ``'fork'``, ``'spawn'`` and " +"``'forkserver'``. On Windows only ``'spawn'`` is available. On Unix " +"``'fork'`` and ``'spawn'`` are always supported, with ``'fork'`` being the " +"default." +msgstr "" +"Повертає список підтримуваних методів запуску, перший із яких є типовим. " +"Можливі методи запуску: ``'fork'``, ``'spawn'`` і ``'forkserver'``. У " +"Windows доступний лише ``'spawn''``. В Unix ``'fork'`` і ``'spawn'`` завжди " +"підтримуються, при цьому ``'fork''`` є типовим." + +msgid "" +"Return a context object which has the same attributes as the :mod:" +"`multiprocessing` module." +msgstr "" +"Повертає об’єкт контексту, який має ті самі атрибути, що й модуль :mod:" +"`multiprocessing`." + +msgid "" +"If *method* is ``None`` then the default context is returned. Otherwise " +"*method* should be ``'fork'``, ``'spawn'``, ``'forkserver'``. :exc:" +"`ValueError` is raised if the specified start method is not available." +msgstr "" +"Якщо *method* має значення ``None``, тоді повертається контекст за " +"замовчуванням. Інакше *method* має бути ``'fork'``, ``'spawn'``, " +"``'forkserver'``. :exc:`ValueError` виникає, якщо вказаний метод запуску " +"недоступний." + +msgid "Return the name of start method used for starting processes." +msgstr "" +"Повертає назву методу запуску, який використовується для запуску процесів." + +msgid "" +"If the start method has not been fixed and *allow_none* is false, then the " +"start method is fixed to the default and the name is returned. If the start " +"method has not been fixed and *allow_none* is true then ``None`` is returned." +msgstr "" +"Якщо метод запуску не було виправлено і *allow_none* має значення false, " +"тоді метод запуску фіксується за замовчуванням і повертається ім’я. Якщо " +"метод запуску не було виправлено і *allow_none* має значення true, тоді " +"повертається ``None``." + +msgid "" +"The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` or " +"``None``. ``'fork'`` is the default on Unix, while ``'spawn'`` is the " +"default on Windows and macOS." +msgstr "" +"Поверненим значенням може бути ``'fork'``, ``'spawn'``, ``'forkserver'`` або " +"``None``. ``'fork'`` є типовим для Unix, тоді як ``'spawn''`` є типовим для " +"Windows і macOS." + +msgid "" +"Set the path of the Python interpreter to use when starting a child process. " +"(By default :data:`sys.executable` is used). Embedders will probably need " +"to do some thing like ::" +msgstr "" +"Встановіть шлях інтерпретатора Python для використання під час запуску " +"дочірнього процесу. (За замовчуванням використовується :data:`sys." +"executable`). Вбудовувачі, ймовірно, повинні будуть зробити щось на зразок:" + +msgid "before they can create child processes." +msgstr "перш ніж вони зможуть створити дочірні процеси." + +msgid "Now supported on Unix when the ``'spawn'`` start method is used." +msgstr "" +"Тепер підтримується в Unix, коли використовується метод запуску ``'spawn'``." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"Set the method which should be used to start child processes. *method* can " +"be ``'fork'``, ``'spawn'`` or ``'forkserver'``." +msgstr "" +"Встановіть метод, який слід використовувати для запуску дочірніх процесів. " +"*метод* може бути ``'fork'``, ``'spawn'`` або ``'forkserver'``." + +msgid "" +"Note that this should be called at most once, and it should be protected " +"inside the ``if __name__ == '__main__'`` clause of the main module." +msgstr "" +"Зверніть увагу, що це має бути викликано щонайбільше один раз, і його слід " +"захистити всередині пропозиції ``if __name__ == '__main__'`` головного " +"модуля." + +msgid "" +":mod:`multiprocessing` contains no analogues of :func:`threading." +"active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :" +"func:`threading.setprofile`, :class:`threading.Timer`, or :class:`threading." +"local`." +msgstr "" +":mod:`multiprocessing` не містить аналогів :func:`threading.active_count`, :" +"func:`threading.enumerate`, :func:`threading.settrace`, :func:`threading." +"setprofile`, :class:`threading.Timer` або :class:`threading.local`." + +msgid "Connection Objects" +msgstr "Об'єкти підключення" + +msgid "" +"Connection objects allow the sending and receiving of picklable objects or " +"strings. They can be thought of as message oriented connected sockets." +msgstr "" +"Об’єкти підключення дозволяють надсилати та отримувати об’єкти або рядки, " +"які можна вибрати. Їх можна розглядати як підключені сокети, орієнтовані на " +"повідомлення." + +msgid "" +"Connection objects are usually created using :func:`Pipe ` -- see also :ref:`multiprocessing-listeners-clients`." +msgstr "" +"Об’єкти підключення зазвичай створюються за допомогою :func:`Pipe " +"` -- див. також :ref:`multiprocessing-listeners-" +"clients`." + +msgid "" +"Send an object to the other end of the connection which should be read " +"using :meth:`recv`." +msgstr "" +"Надішліть об’єкт на інший кінець з’єднання, який слід прочитати за " +"допомогою :meth:`recv`." + +msgid "" +"The object must be picklable. Very large pickles (approximately 32 MiB+, " +"though it depends on the OS) may raise a :exc:`ValueError` exception." +msgstr "" +"Об'єкт має бути маринованим. Дуже великі pickles (приблизно 32 MiB+, хоча це " +"залежить від ОС) можуть викликати виняток :exc:`ValueError`." + +msgid "" +"Return an object sent from the other end of the connection using :meth:" +"`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " +"if there is nothing left to receive and the other end was closed." +msgstr "" +"Повернути об’єкт, надісланий з іншого кінця з’єднання за допомогою :meth:" +"`send`. Блокує, поки не буде що отримати. Викликає :exc:`EOFError`, якщо не " +"залишилося нічого для отримання, а інший кінець був закритий." + +msgid "Return the file descriptor or handle used by the connection." +msgstr "" +"Повертає дескриптор файлу або дескриптор, який використовується підключенням." + +msgid "Close the connection." +msgstr "Закрийте з'єднання." + +msgid "This is called automatically when the connection is garbage collected." +msgstr "Це викликається автоматично, коли підключення збирається сміттям." + +msgid "Return whether there is any data available to be read." +msgstr "Повернути, чи є дані для читання." + +msgid "" +"If *timeout* is not specified then it will return immediately. If *timeout* " +"is a number then this specifies the maximum time in seconds to block. If " +"*timeout* is ``None`` then an infinite timeout is used." +msgstr "" +"Якщо *timeout* не вказано, він негайно повернеться. Якщо *timeout* є числом, " +"це вказує максимальний час у секундах для блокування. Якщо *timeout* має " +"значення ``None``, тоді використовується нескінченний тайм-аут." + +msgid "" +"Note that multiple connection objects may be polled at once by using :func:" +"`multiprocessing.connection.wait`." +msgstr "" +"Зауважте, що кілька об’єктів з’єднання можна опитувати одночасно за " +"допомогою :func:`multiprocessing.connection.wait`." + +msgid "Send byte data from a :term:`bytes-like object` as a complete message." +msgstr "" +"Надіслати байтові дані з :term:`bytes-like object` як повне повідомлення." + +msgid "" +"If *offset* is given then data is read from that position in *buffer*. If " +"*size* is given then that many bytes will be read from buffer. Very large " +"buffers (approximately 32 MiB+, though it depends on the OS) may raise a :" +"exc:`ValueError` exception" +msgstr "" +"Якщо вказано *зсув*, дані зчитуються з цієї позиції в *буфері*. Якщо задано " +"*size*, то стільки байтів буде прочитано з буфера. Дуже великі буфери " +"(приблизно 32 MiB+, хоча це залежить від ОС) можуть викликати виключення :" +"exc:`ValueError`" + +msgid "" +"Return a complete message of byte data sent from the other end of the " +"connection as a string. Blocks until there is something to receive. Raises :" +"exc:`EOFError` if there is nothing left to receive and the other end has " +"closed." +msgstr "" +"Повертає повне повідомлення байтових даних, надісланих з іншого кінця " +"з’єднання, у вигляді рядка. Блокує, поки не буде що отримати. Викликає :exc:" +"`EOFError`, якщо не залишилося нічого для отримання, а інший кінець закрито." + +msgid "" +"If *maxlength* is specified and the message is longer than *maxlength* then :" +"exc:`OSError` is raised and the connection will no longer be readable." +msgstr "" +"Якщо вказано *maxlength* і повідомлення довше, ніж *maxlength*, тоді " +"виникає :exc:`OSError` і з’єднання більше не читається." + +msgid "" +"This function used to raise :exc:`IOError`, which is now an alias of :exc:" +"`OSError`." +msgstr "" +"Раніше ця функція викликала :exc:`IOError`, який тепер є псевдонімом :exc:" +"`OSError`." + +msgid "" +"Read into *buffer* a complete message of byte data sent from the other end " +"of the connection and return the number of bytes in the message. Blocks " +"until there is something to receive. Raises :exc:`EOFError` if there is " +"nothing left to receive and the other end was closed." +msgstr "" +"Прочитайте в *buffer* повне повідомлення байтових даних, надісланих з іншого " +"кінця з’єднання, і поверніть кількість байтів у повідомленні. Блокує, поки " +"не буде що отримати. Викликає :exc:`EOFError`, якщо не залишилося нічого для " +"отримання, а інший кінець був закритий." + +msgid "" +"*buffer* must be a writable :term:`bytes-like object`. If *offset* is given " +"then the message will be written into the buffer from that position. Offset " +"must be a non-negative integer less than the length of *buffer* (in bytes)." +msgstr "" +"*buffer* має бути доступним для запису :term:`bytes-like object`. Якщо " +"задано *offset*, повідомлення буде записано в буфер із цієї позиції. Зсув " +"має бути невід’ємним цілим числом, меншим за довжину *буфера* (у байтах)." + +msgid "" +"If the buffer is too short then a :exc:`BufferTooShort` exception is raised " +"and the complete message is available as ``e.args[0]`` where ``e`` is the " +"exception instance." +msgstr "" +"Якщо буфер закороткий, виникає виняток :exc:`BufferTooShort`, і повне " +"повідомлення доступне як ``e.args[0]``, де ``e`` є винятком." + +msgid "" +"Connection objects themselves can now be transferred between processes " +"using :meth:`Connection.send` and :meth:`Connection.recv`." +msgstr "" +"Самі об’єкти підключення тепер можна передавати між процесами за допомогою :" +"meth:`Connection.send` і :meth:`Connection.recv`." + +msgid "" +"Connection objects now support the context management protocol -- see :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " +"connection object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." +msgstr "" +"Об’єкти підключення тепер підтримують протокол керування контекстом – див. :" +"ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` повертає об’єкт " +"підключення, а :meth:`~contextmanager.__exit__` викликає :meth:`close`." + +msgid "For example:" +msgstr "Наприклад:" + +msgid "" +"The :meth:`Connection.recv` method automatically unpickles the data it " +"receives, which can be a security risk unless you can trust the process " +"which sent the message." +msgstr "" +"Метод :meth:`Connection.recv` автоматично видаляє отримані дані, що може " +"становити загрозу безпеці, якщо ви не можете довіряти процесу, який надіслав " +"повідомлення." + +msgid "" +"Therefore, unless the connection object was produced using :func:`Pipe` you " +"should only use the :meth:`~Connection.recv` and :meth:`~Connection.send` " +"methods after performing some sort of authentication. See :ref:" +"`multiprocessing-auth-keys`." +msgstr "" +"Таким чином, якщо об’єкт підключення не було створено за допомогою :func:" +"`Pipe`, ви повинні використовувати лише методи :meth:`~Connection.recv` і :" +"meth:`~Connection.send` після виконання певної автентифікації. Перегляньте :" +"ref:`multiprocessing-auth-keys`." + +msgid "" +"If a process is killed while it is trying to read or write to a pipe then " +"the data in the pipe is likely to become corrupted, because it may become " +"impossible to be sure where the message boundaries lie." +msgstr "" +"Якщо процес зупиняється під час спроби читання або запису в канал, то дані в " +"каналі, ймовірно, будуть пошкоджені, тому що може стати неможливо точно " +"визначити, де пролягають межі повідомлення." + +msgid "Synchronization primitives" +msgstr "Примітиви синхронізації" + +msgid "" +"Generally synchronization primitives are not as necessary in a multiprocess " +"program as they are in a multithreaded program. See the documentation for :" +"mod:`threading` module." +msgstr "" +"Зазвичай примітиви синхронізації не такі необхідні в багатопроцесовій " +"програмі, як у багатопотоковій програмі. Перегляньте документацію для " +"модуля :mod:`threading`." + +msgid "" +"Note that one can also create synchronization primitives by using a manager " +"object -- see :ref:`multiprocessing-managers`." +msgstr "" +"Зауважте, що можна також створити примітиви синхронізації за допомогою " +"об’єкта менеджера – див. :ref:`multiprocessing-managers`." + +msgid "A barrier object: a clone of :class:`threading.Barrier`." +msgstr "Бар’єрний об’єкт: клон :class:`threading.Barrier`." + +msgid "" +"A bounded semaphore object: a close analog of :class:`threading." +"BoundedSemaphore`." +msgstr "" +"Обмежений семафорний об’єкт: близький аналог :class:`threading." +"BoundedSemaphore`." + +msgid "" +"A solitary difference from its close analog exists: its ``acquire`` method's " +"first argument is named *block*, as is consistent with :meth:`Lock.acquire`." +msgstr "" +"Існує єдина відмінність від його близького аналога: перший аргумент методу " +"``acquire`` має назву *block*, що узгоджується з :meth:`Lock.acquire`." + +msgid "" +"On macOS, this is indistinguishable from :class:`Semaphore` because " +"``sem_getvalue()`` is not implemented on that platform." +msgstr "" +"У macOS це неможливо відрізнити від :class:`Semaphore`, оскільки " +"``sem_getvalue()`` не реалізовано на цій платформі." + +msgid "A condition variable: an alias for :class:`threading.Condition`." +msgstr "Змінна умови: псевдонім для :class:`threading.Condition`." + +msgid "" +"If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " +"object from :mod:`multiprocessing`." +msgstr "" +"Якщо вказано *lock*, це має бути об’єкт :class:`Lock` або :class:`RLock` із :" +"mod:`multiprocessing`." + +msgid "The :meth:`~threading.Condition.wait_for` method was added." +msgstr "Додано метод :meth:`~threading.Condition.wait_for`." + +msgid "A clone of :class:`threading.Event`." +msgstr "Клон :class:`threading.Event`." + +msgid "" +"A non-recursive lock object: a close analog of :class:`threading.Lock`. Once " +"a process or thread has acquired a lock, subsequent attempts to acquire it " +"from any process or thread will block until it is released; any process or " +"thread may release it. The concepts and behaviors of :class:`threading." +"Lock` as it applies to threads are replicated here in :class:" +"`multiprocessing.Lock` as it applies to either processes or threads, except " +"as noted." +msgstr "" +"Нерекурсивний об’єкт блокування: близький аналог :class:`threading.Lock`. " +"Після того, як процес або потік отримав блокування, наступні спроби отримати " +"його від будь-якого процесу або потоку будуть блокуватися, доки його не буде " +"звільнено; будь-який процес або потік може його звільнити. Концепції та " +"поведінка :class:`threading.Lock`, які застосовуються до потоків, відтворені " +"тут у :class:`multiprocessing.Lock`, оскільки вони застосовуються до " +"процесів або потоків, за винятком зазначених випадків." + +msgid "" +"Note that :class:`Lock` is actually a factory function which returns an " +"instance of ``multiprocessing.synchronize.Lock`` initialized with a default " +"context." +msgstr "" +"Зауважте, що :class:`Lock` насправді є фабричною функцією, яка повертає " +"примірник ``multiprocessing.synchronize.Lock``, ініціалізований контекстом " +"за замовчуванням." + +msgid "" +":class:`Lock` supports the :term:`context manager` protocol and thus may be " +"used in :keyword:`with` statements." +msgstr "" +":class:`Lock` підтримує протокол :term:`context manager` і тому може " +"використовуватися в :keyword:`with` операторах." + +msgid "Acquire a lock, blocking or non-blocking." +msgstr "Отримайте блокування, блокування або неблокування." + +msgid "" +"With the *block* argument set to ``True`` (the default), the method call " +"will block until the lock is in an unlocked state, then set it to locked and " +"return ``True``. Note that the name of this first argument differs from " +"that in :meth:`threading.Lock.acquire`." +msgstr "" +"Якщо для аргументу *block* встановлено значення ``True`` (за замовчуванням), " +"виклик методу блокуватиметься, доки блокування не перейде в розблокований " +"стан, а потім встановлюватиме для нього значення ``True`` і повертатиме " +"``True``. Зауважте, що назва цього першого аргументу відрізняється від такої " +"в :meth:`threading.Lock.acquire`." + +msgid "" +"With the *block* argument set to ``False``, the method call does not block. " +"If the lock is currently in a locked state, return ``False``; otherwise set " +"the lock to a locked state and return ``True``." +msgstr "" +"Якщо для аргументу *block* встановлено значення ``False``, виклик методу не " +"блокується. Якщо блокування зараз у заблокованому стані, поверніть " +"``False``; інакше встановіть блокування в заблокований стан і поверніть " +"``True``." + +msgid "" +"When invoked with a positive, floating-point value for *timeout*, block for " +"at most the number of seconds specified by *timeout* as long as the lock can " +"not be acquired. Invocations with a negative value for *timeout* are " +"equivalent to a *timeout* of zero. Invocations with a *timeout* value of " +"``None`` (the default) set the timeout period to infinite. Note that the " +"treatment of negative or ``None`` values for *timeout* differs from the " +"implemented behavior in :meth:`threading.Lock.acquire`. The *timeout* " +"argument has no practical implications if the *block* argument is set to " +"``False`` and is thus ignored. Returns ``True`` if the lock has been " +"acquired or ``False`` if the timeout period has elapsed." +msgstr "" +"При виклику з додатним значенням з плаваючою комою для *timeout*, блокувати " +"щонайбільше на кількість секунд, визначену *timeout*, доки не вдасться " +"отримати блокування. Виклики з від’ємним значенням для *timeout* " +"еквівалентні *timeout* рівному нулю. Виклики зі значенням *timeout* ``None`` " +"(за замовчуванням) встановлюють період очікування як нескінченний. Зауважте, " +"що обробка негативних значень або значень ``None`` для *timeout* " +"відрізняється від реалізованої поведінки в :meth:`threading.Lock.acquire`. " +"Аргумент *timeout* не має практичного значення, якщо для аргументу *block* " +"встановлено значення ``False`` і, таким чином, він ігнорується. Повертає " +"``True``, якщо блокування отримано, або ``False``, якщо період очікування " +"минув." + +msgid "" +"Release a lock. This can be called from any process or thread, not only the " +"process or thread which originally acquired the lock." +msgstr "" +"Відпустіть блокування. Це може бути викликано з будь-якого процесу або " +"потоку, а не тільки процесу або потоку, який спочатку отримав блокування." + +msgid "" +"Behavior is the same as in :meth:`threading.Lock.release` except that when " +"invoked on an unlocked lock, a :exc:`ValueError` is raised." +msgstr "" +"Поведінка така ж, як у :meth:`threading.Lock.release`, за винятком того, що " +"під час виклику для розблокованого блокування виникає :exc:`ValueError`." + +msgid "" +"A recursive lock object: a close analog of :class:`threading.RLock`. A " +"recursive lock must be released by the process or thread that acquired it. " +"Once a process or thread has acquired a recursive lock, the same process or " +"thread may acquire it again without blocking; that process or thread must " +"release it once for each time it has been acquired." +msgstr "" +"Об’єкт рекурсивного блокування: близький аналог :class:`threading.RLock`. " +"Рекурсивне блокування має бути звільнено процесом або потоком, який його " +"отримав. Після того як процес або потік отримав рекурсивне блокування, той " +"самий процес або потік може отримати його знову без блокування; цей процес " +"або потік повинен випускати його один раз за кожен раз, коли його було " +"отримано." + +msgid "" +"Note that :class:`RLock` is actually a factory function which returns an " +"instance of ``multiprocessing.synchronize.RLock`` initialized with a default " +"context." +msgstr "" +"Зауважте, що :class:`RLock` насправді є фабричною функцією, яка повертає " +"екземпляр ``multiprocessing.synchronize.RLock``, ініціалізований контекстом " +"за замовчуванням." + +msgid "" +":class:`RLock` supports the :term:`context manager` protocol and thus may be " +"used in :keyword:`with` statements." +msgstr "" +":class:`RLock` підтримує протокол :term:`context manager` і тому може " +"використовуватися в :keyword:`with` операторах." + +msgid "" +"When invoked with the *block* argument set to ``True``, block until the lock " +"is in an unlocked state (not owned by any process or thread) unless the lock " +"is already owned by the current process or thread. The current process or " +"thread then takes ownership of the lock (if it does not already have " +"ownership) and the recursion level inside the lock increments by one, " +"resulting in a return value of ``True``. Note that there are several " +"differences in this first argument's behavior compared to the implementation " +"of :meth:`threading.RLock.acquire`, starting with the name of the argument " +"itself." +msgstr "" +"При виклику з аргументом *block*, встановленим у значення ``True``, " +"блокувати, доки блокування не буде в розблокованому стані (не належить " +"жодному процесу або потоку), якщо блокування вже не належить поточному " +"процесу або потоку. Тоді поточний процес або потік отримує право власності " +"на блокування (якщо він ще не має права власності), а рівень рекурсії " +"всередині блокування збільшується на одиницю, що призводить до повернення " +"значення ``True``. Зауважте, що є кілька відмінностей у поведінці цього " +"першого аргументу порівняно з реалізацією :meth:`threading.RLock.acquire`, " +"починаючи з назви самого аргументу." + +msgid "" +"When invoked with the *block* argument set to ``False``, do not block. If " +"the lock has already been acquired (and thus is owned) by another process or " +"thread, the current process or thread does not take ownership and the " +"recursion level within the lock is not changed, resulting in a return value " +"of ``False``. If the lock is in an unlocked state, the current process or " +"thread takes ownership and the recursion level is incremented, resulting in " +"a return value of ``True``." +msgstr "" +"При виклику з аргументом *block*, встановленим на ``False``, не блокувати. " +"Якщо блокування вже було отримано (і, отже, ним володіє) інший процес або " +"потік, поточний процес або потік не приймає права власності, а рівень " +"рекурсії в межах блокування не змінюється, що призводить до повернення " +"значення ``False`` . Якщо блокування знаходиться в розблокованому стані, " +"поточний процес або потік приймає право власності, і рівень рекурсії " +"збільшується, що призводить до повернення значення ``True``." + +msgid "" +"Use and behaviors of the *timeout* argument are the same as in :meth:`Lock." +"acquire`. Note that some of these behaviors of *timeout* differ from the " +"implemented behaviors in :meth:`threading.RLock.acquire`." +msgstr "" +"Використання та поведінка аргументу *timeout* такі ж, як і в :meth:`Lock." +"acquire`. Зауважте, що деякі з цих дій *timeout* відрізняються від " +"реалізованих у :meth:`threading.RLock.acquire`." + +msgid "" +"Release a lock, decrementing the recursion level. If after the decrement " +"the recursion level is zero, reset the lock to unlocked (not owned by any " +"process or thread) and if any other processes or threads are blocked waiting " +"for the lock to become unlocked, allow exactly one of them to proceed. If " +"after the decrement the recursion level is still nonzero, the lock remains " +"locked and owned by the calling process or thread." +msgstr "" +"Зніміть блокування, зменшивши рівень рекурсії. Якщо після зменшення рівень " +"рекурсії дорівнює нулю, скиньте блокування до розблокованого (не належить " +"жодному процесу чи потоку), а якщо будь-які інші процеси чи потоки " +"заблоковані в очікуванні розблокування блокування, дозвольте рівно одному з " +"них продовжити. Якщо після декременту рівень рекурсії все ще ненульовий, " +"блокування залишається заблокованим і належить процесу або потоку, що " +"викликає." + +msgid "" +"Only call this method when the calling process or thread owns the lock. An :" +"exc:`AssertionError` is raised if this method is called by a process or " +"thread other than the owner or if the lock is in an unlocked (unowned) " +"state. Note that the type of exception raised in this situation differs " +"from the implemented behavior in :meth:`threading.RLock.release`." +msgstr "" +"Викликайте цей метод лише тоді, коли процес або потік, що викликає, володіє " +"блокуванням. Помилка :exc:`AssertionError` виникає, якщо цей метод " +"викликається процесом або потоком, відмінним від власника, або якщо " +"блокування знаходиться в розблокованому стані (не належить). Зауважте, що " +"тип винятку, викликаного в цій ситуації, відрізняється від реалізованої " +"поведінки в :meth:`threading.RLock.release`." + +msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." +msgstr "Об’єкт семафор: близький аналог :class:`threading.Semaphore`." + +msgid "" +"On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a " +"timeout will emulate that function's behavior using a sleeping loop." +msgstr "" +"У macOS ``sem_timedwait`` не підтримується, тому виклик ``acquire()`` із " +"тайм-аутом буде емулювати поведінку цієї функції за допомогою циклу сну." + +msgid "" +"If the SIGINT signal generated by :kbd:`Ctrl-C` arrives while the main " +"thread is blocked by a call to :meth:`BoundedSemaphore.acquire`, :meth:`Lock." +"acquire`, :meth:`RLock.acquire`, :meth:`Semaphore.acquire`, :meth:`Condition." +"acquire` or :meth:`Condition.wait` then the call will be immediately " +"interrupted and :exc:`KeyboardInterrupt` will be raised." +msgstr "" +"Якщо сигнал SIGINT, згенерований :kbd:`Ctrl-C`, надходить, коли основний " +"потік заблоковано викликом :meth:`BoundedSemaphore.acquire`, :meth:`Lock." +"acquire`, :meth:`RLock.acquire`, :meth:`Semaphore.acquire`, :meth:`Condition." +"acquire` або :meth:`Condition.wait`, тоді виклик буде негайно перервано та :" +"exc:`KeyboardInterrupt` буде викликано." + +msgid "" +"This differs from the behaviour of :mod:`threading` where SIGINT will be " +"ignored while the equivalent blocking calls are in progress." +msgstr "" +"Це відрізняється від поведінки :mod:`threading`, де SIGINT ігноруватиметься, " +"поки виконуються еквівалентні виклики блокування." + +msgid "" +"Some of this package's functionality requires a functioning shared semaphore " +"implementation on the host operating system. Without one, the :mod:" +"`multiprocessing.synchronize` module will be disabled, and attempts to " +"import it will result in an :exc:`ImportError`. See :issue:`3770` for " +"additional information." +msgstr "" +"Для деяких функцій цього пакета необхідна функціональна реалізація спільного " +"семафора в головній операційній системі. Без нього модуль :mod:" +"`multiprocessing.synchronize` буде вимкнено, а спроби його імпортувати " +"призведуть до :exc:`ImportError`. Додаткову інформацію див. :issue:`3770`." + +msgid "Shared :mod:`ctypes` Objects" +msgstr "Спільні об’єкти :mod:`ctypes`" + +msgid "" +"It is possible to create shared objects using shared memory which can be " +"inherited by child processes." +msgstr "" +"Можна створювати спільні об’єкти, використовуючи спільну пам’ять, яку можуть " +"успадковувати дочірні процеси." + +msgid "" +"Return a :mod:`ctypes` object allocated from shared memory. By default the " +"return value is actually a synchronized wrapper for the object. The object " +"itself can be accessed via the *value* attribute of a :class:`Value`." +msgstr "" +"Повертає об’єкт :mod:`ctypes`, виділений зі спільної пам’яті. За " +"замовчуванням значення, що повертається, фактично є синхронізованою " +"оболонкою для об’єкта. До самого об’єкта можна отримати доступ через атрибут " +"*value* :class:`Value`." + +msgid "" +"*typecode_or_type* determines the type of the returned object: it is either " +"a ctypes type or a one character typecode of the kind used by the :mod:" +"`array` module. *\\*args* is passed on to the constructor for the type." +msgstr "" +"*typecode_or_type* визначає тип повернутого об’єкта: це або тип ctypes, або " +"односимвольний код типу, який використовується модулем :mod:`array`. *" +"\\*args* передається конструктору для типу." + +msgid "" +"If *lock* is ``True`` (the default) then a new recursive lock object is " +"created to synchronize access to the value. If *lock* is a :class:`Lock` " +"or :class:`RLock` object then that will be used to synchronize access to the " +"value. If *lock* is ``False`` then access to the returned object will not " +"be automatically protected by a lock, so it will not necessarily be " +"\"process-safe\"." +msgstr "" +"Якщо *lock* має значення ``True`` (за замовчуванням), тоді створюється новий " +"об’єкт рекурсивного блокування для синхронізації доступу до значення. Якщо " +"*lock* є об’єктом :class:`Lock` або :class:`RLock`, то він " +"використовуватиметься для синхронізації доступу до значення. Якщо *lock* має " +"значення ``False``, тоді доступ до повернутого об’єкта не буде автоматично " +"захищений блокуванням, тому він не обов’язково буде \"безпечним для процесу" +"\"." + +msgid "" +"Operations like ``+=`` which involve a read and write are not atomic. So " +"if, for instance, you want to atomically increment a shared value it is " +"insufficient to just do ::" +msgstr "" +"Такі операції, як ``+=``, які передбачають читання та запис, не є " +"атомарними. Отже, якщо, наприклад, ви хочете атомарно збільшити спільне " +"значення, недостатньо просто зробити ::" + +msgid "" +"Assuming the associated lock is recursive (which it is by default) you can " +"instead do ::" +msgstr "" +"Якщо припустити, що пов’язане блокування є рекурсивним (що є за " +"замовчуванням), ви можете замість цього зробити:" + +msgid "Note that *lock* is a keyword-only argument." +msgstr "Зверніть увагу, що *lock* є аргументом лише для ключового слова." + +msgid "" +"Return a ctypes array allocated from shared memory. By default the return " +"value is actually a synchronized wrapper for the array." +msgstr "" +"Повертає масив ctypes, виділений зі спільної пам’яті. За замовчуванням " +"значення, що повертається, фактично є синхронізованою оболонкою для масиву." + +msgid "" +"*typecode_or_type* determines the type of the elements of the returned " +"array: it is either a ctypes type or a one character typecode of the kind " +"used by the :mod:`array` module. If *size_or_initializer* is an integer, " +"then it determines the length of the array, and the array will be initially " +"zeroed. Otherwise, *size_or_initializer* is a sequence which is used to " +"initialize the array and whose length determines the length of the array." +msgstr "" +"*typecode_or_type* визначає тип елементів повернутого масиву: це або тип " +"ctypes, або односимвольний код типу, який використовується модулем :mod:" +"`array`. Якщо *size_or_initializer* є цілим числом, воно визначає довжину " +"масиву, і масив буде спочатку обнулений. В іншому випадку " +"*size_or_initializer* — це послідовність, яка використовується для " +"ініціалізації масиву, довжина якої визначає довжину масиву." + +msgid "" +"If *lock* is ``True`` (the default) then a new lock object is created to " +"synchronize access to the value. If *lock* is a :class:`Lock` or :class:" +"`RLock` object then that will be used to synchronize access to the value. " +"If *lock* is ``False`` then access to the returned object will not be " +"automatically protected by a lock, so it will not necessarily be \"process-" +"safe\"." +msgstr "" +"Якщо *lock* має значення ``True`` (за замовчуванням), тоді створюється новий " +"об’єкт блокування для синхронізації доступу до значення. Якщо *lock* є " +"об’єктом :class:`Lock` або :class:`RLock`, то він використовуватиметься для " +"синхронізації доступу до значення. Якщо *lock* має значення ``False``, тоді " +"доступ до повернутого об’єкта не буде автоматично захищений блокуванням, " +"тому він не обов’язково буде \"безпечним для процесу\"." + +msgid "Note that *lock* is a keyword only argument." +msgstr "Зауважте, що *lock* є лише ключовим аргументом." + +msgid "" +"Note that an array of :data:`ctypes.c_char` has *value* and *raw* attributes " +"which allow one to use it to store and retrieve strings." +msgstr "" +"Зауважте, що масив :data:`ctypes.c_char` має атрибути *value* і *raw*, які " +"дозволяють використовувати його для зберігання та отримання рядків." + +msgid "The :mod:`multiprocessing.sharedctypes` module" +msgstr "Модуль :mod:`multiprocessing.sharedctypes`" + +msgid "" +"The :mod:`multiprocessing.sharedctypes` module provides functions for " +"allocating :mod:`ctypes` objects from shared memory which can be inherited " +"by child processes." +msgstr "" +"Модуль :mod:`multiprocessing.sharedctypes` надає функції для виділення " +"об’єктів :mod:`ctypes` зі спільної пам’яті, які можуть бути успадковані " +"дочірніми процесами." + +msgid "" +"Although it is possible to store a pointer in shared memory remember that " +"this will refer to a location in the address space of a specific process. " +"However, the pointer is quite likely to be invalid in the context of a " +"second process and trying to dereference the pointer from the second process " +"may cause a crash." +msgstr "" +"Хоча можна зберігати вказівник у спільній пам’яті, пам’ятайте, що це " +"посилатиметься на розташування в адресному просторі певного процесу. Однак " +"вказівник, швидше за все, буде недійсним у контексті другого процесу, і " +"спроба розіменувати вказівник з другого процесу може спричинити збій." + +msgid "Return a ctypes array allocated from shared memory." +msgstr "Повертає масив ctypes, виділений зі спільної пам’яті." + +msgid "" +"*typecode_or_type* determines the type of the elements of the returned " +"array: it is either a ctypes type or a one character typecode of the kind " +"used by the :mod:`array` module. If *size_or_initializer* is an integer " +"then it determines the length of the array, and the array will be initially " +"zeroed. Otherwise *size_or_initializer* is a sequence which is used to " +"initialize the array and whose length determines the length of the array." +msgstr "" +"*typecode_or_type* визначає тип елементів повернутого масиву: це або тип " +"ctypes, або односимвольний код типу, який використовується модулем :mod:" +"`array`. Якщо *size_or_initializer* є цілим числом, воно визначає довжину " +"масиву, і масив буде спочатку обнулено. В іншому випадку " +"*size_or_initializer* — це послідовність, яка використовується для " +"ініціалізації масиву і довжина якої визначає довжину масиву." + +msgid "" +"Note that setting and getting an element is potentially non-atomic -- use :" +"func:`Array` instead to make sure that access is automatically synchronized " +"using a lock." +msgstr "" +"Зауважте, що встановлення й отримання елемента потенційно не є атомарним — " +"замість цього використовуйте :func:`Array`, щоб переконатися, що доступ " +"автоматично синхронізується за допомогою блокування." + +msgid "Return a ctypes object allocated from shared memory." +msgstr "Повертає об’єкт ctypes, виділений зі спільної пам’яті." + +msgid "" +"Note that setting and getting the value is potentially non-atomic -- use :" +"func:`Value` instead to make sure that access is automatically synchronized " +"using a lock." +msgstr "" +"Зауважте, що встановлення й отримання значення потенційно не є атомарним — " +"замість цього використовуйте :func:`Value`, щоб переконатися, що доступ " +"автоматично синхронізується за допомогою блокування." + +msgid "" +"Note that an array of :data:`ctypes.c_char` has ``value`` and ``raw`` " +"attributes which allow one to use it to store and retrieve strings -- see " +"documentation for :mod:`ctypes`." +msgstr "" +"Зауважте, що масив :data:`ctypes.c_char` має атрибути ``value`` і ``raw``, " +"які дозволяють використовувати його для зберігання та отримання рядків - " +"дивіться документацію для :mod:`ctypes`." + +msgid "" +"The same as :func:`RawArray` except that depending on the value of *lock* a " +"process-safe synchronization wrapper may be returned instead of a raw ctypes " +"array." +msgstr "" +"Те саме, що :func:`RawArray`, за винятком того, що залежно від значення " +"*lock* замість необробленого масиву ctypes може повертатися обгортка " +"синхронізації, безпечна для процесу." + +msgid "" +"If *lock* is ``True`` (the default) then a new lock object is created to " +"synchronize access to the value. If *lock* is a :class:`~multiprocessing." +"Lock` or :class:`~multiprocessing.RLock` object then that will be used to " +"synchronize access to the value. If *lock* is ``False`` then access to the " +"returned object will not be automatically protected by a lock, so it will " +"not necessarily be \"process-safe\"." +msgstr "" +"Якщо *lock* має значення ``True`` (за замовчуванням), тоді створюється новий " +"об’єкт блокування для синхронізації доступу до значення. Якщо *lock* є " +"об’єктом :class:`~multiprocessing.Lock` або :class:`~multiprocessing.RLock`, " +"то він використовуватиметься для синхронізації доступу до значення. Якщо " +"*lock* має значення ``False``, тоді доступ до повернутого об’єкта не буде " +"автоматично захищений блокуванням, тому він не обов’язково буде \"безпечним " +"для процесу\"." + +msgid "" +"The same as :func:`RawValue` except that depending on the value of *lock* a " +"process-safe synchronization wrapper may be returned instead of a raw ctypes " +"object." +msgstr "" +"Те саме, що :func:`RawValue`, за винятком того, що залежно від значення " +"*lock* замість необробленого об’єкта ctypes може повертатися безпечна для " +"процесу оболонка синхронізації." + +msgid "" +"Return a ctypes object allocated from shared memory which is a copy of the " +"ctypes object *obj*." +msgstr "" +"Повертає об’єкт ctypes, виділений зі спільної пам’яті, який є копією об’єкта " +"ctypes *obj*." + +msgid "" +"Return a process-safe wrapper object for a ctypes object which uses *lock* " +"to synchronize access. If *lock* is ``None`` (the default) then a :class:" +"`multiprocessing.RLock` object is created automatically." +msgstr "" +"Повертає безпечний для процесу об’єкт оболонки для об’єкта ctypes, який " +"використовує *lock* для синхронізації доступу. Якщо *lock* має значення " +"``None`` (за замовчуванням), то об’єкт :class:`multiprocessing.RLock` " +"створюється автоматично." + +msgid "" +"A synchronized wrapper will have two methods in addition to those of the " +"object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" +"`get_lock` returns the lock object used for synchronization." +msgstr "" +"Синхронізована оболонка матиме два методи на додаток до методів об’єкта, " +"який вона обертає: :meth:`get_obj` повертає обгорнутий об’єкт, а :meth:" +"`get_lock` повертає об’єкт блокування, який використовується для " +"синхронізації." + +msgid "" +"Note that accessing the ctypes object through the wrapper can be a lot " +"slower than accessing the raw ctypes object." +msgstr "" +"Зверніть увагу, що доступ до об’єкта ctypes через оболонку може бути " +"набагато повільнішим, ніж доступ до необробленого об’єкта ctypes." + +msgid "Synchronized objects support the :term:`context manager` protocol." +msgstr "Синхронізовані об’єкти підтримують протокол :term:`context manager`." + +msgid "" +"The table below compares the syntax for creating shared ctypes objects from " +"shared memory with the normal ctypes syntax. (In the table ``MyStruct`` is " +"some subclass of :class:`ctypes.Structure`.)" +msgstr "" +"У наведеній нижче таблиці порівнюється синтаксис для створення спільних " +"об’єктів ctypes зі спільної пам’яті зі звичайним синтаксисом ctypes. (У " +"таблиці ``MyStruct`` є деякий підклас :class:`ctypes.Structure`.)" + +msgid "ctypes" +msgstr "ctypes" + +msgid "sharedctypes using type" +msgstr "sharedctypes за допомогою типу" + +msgid "sharedctypes using typecode" +msgstr "sharedctypes з використанням коду типу" + +msgid "c_double(2.4)" +msgstr "c_double (2,4)" + +msgid "RawValue(c_double, 2.4)" +msgstr "RawValue(c_double, 2,4)" + +msgid "RawValue('d', 2.4)" +msgstr "RawValue('d', 2,4)" + +msgid "MyStruct(4, 6)" +msgstr "MyStruct(4, 6)" + +msgid "RawValue(MyStruct, 4, 6)" +msgstr "RawValue(MyStruct, 4, 6)" + +msgid "(c_short * 7)()" +msgstr "(c_short * 7)()" + +msgid "RawArray(c_short, 7)" +msgstr "RawArray(c_short, 7)" + +msgid "RawArray('h', 7)" +msgstr "RawArray('h', 7)" + +msgid "(c_int * 3)(9, 2, 8)" +msgstr "(c_int * 3)(9, 2, 8)" + +msgid "RawArray(c_int, (9, 2, 8))" +msgstr "RawArray(c_int, (9, 2, 8))" + +msgid "RawArray('i', (9, 2, 8))" +msgstr "RawArray('i', (9, 2, 8))" + +msgid "" +"Below is an example where a number of ctypes objects are modified by a child " +"process::" +msgstr "" +"Нижче наведено приклад, коли кілька об’єктів ctypes змінено дочірнім " +"процесом:" + +msgid "The results printed are ::" +msgstr "Надруковані результати:" + +msgid "Managers" +msgstr "Менеджери" + +msgid "" +"Managers provide a way to create data which can be shared between different " +"processes, including sharing over a network between processes running on " +"different machines. A manager object controls a server process which manages " +"*shared objects*. Other processes can access the shared objects by using " +"proxies." +msgstr "" +"Менеджери надають можливість створювати дані, якими можна ділитися між " +"різними процесами, включно з загальним доступом через мережу між процесами, " +"що виконуються на різних машинах. Об’єкт менеджера контролює серверний " +"процес, який керує *спільними об’єктами*. Інші процеси можуть отримати " +"доступ до спільних об’єктів за допомогою проксі-серверів." + +msgid "" +"Returns a started :class:`~multiprocessing.managers.SyncManager` object " +"which can be used for sharing objects between processes. The returned " +"manager object corresponds to a spawned child process and has methods which " +"will create shared objects and return corresponding proxies." +msgstr "" +"Повертає запущений об’єкт :class:`~multiprocessing.managers.SyncManager`, " +"який можна використовувати для спільного використання об’єктів між " +"процесами. Повернений об’єкт менеджера відповідає породженому дочірньому " +"процесу та має методи, які створюватимуть спільні об’єкти та повертатимуть " +"відповідні проксі-сервери." + +msgid "" +"Manager processes will be shutdown as soon as they are garbage collected or " +"their parent process exits. The manager classes are defined in the :mod:" +"`multiprocessing.managers` module:" +msgstr "" +"Процеси менеджера буде закрито, щойно їх буде зібрано сміття або їхній " +"батьківський процес завершиться. Класи менеджерів визначені в модулі :mod:" +"`multiprocessing.managers`:" + +msgid "Create a BaseManager object." +msgstr "Створіть об’єкт BaseManager." + +msgid "" +"Once created one should call :meth:`start` or ``get_server()." +"serve_forever()`` to ensure that the manager object refers to a started " +"manager process." +msgstr "" +"Після створення потрібно викликати :meth:`start` або ``get_server()." +"serve_forever()``, щоб переконатися, що об’єкт менеджера посилається на " +"запущений процес менеджера." + +msgid "" +"*address* is the address on which the manager process listens for new " +"connections. If *address* is ``None`` then an arbitrary one is chosen." +msgstr "" +"*адреса* — це адреса, на якій процес менеджера прослуховує нові підключення. " +"Якщо *адреса* має значення ``None``, тоді вибирається довільна адреса." + +msgid "" +"*authkey* is the authentication key which will be used to check the validity " +"of incoming connections to the server process. If *authkey* is ``None`` " +"then ``current_process().authkey`` is used. Otherwise *authkey* is used and " +"it must be a byte string." +msgstr "" +"*authkey* — це ключ автентифікації, який використовуватиметься для перевірки " +"дійсності вхідних підключень до процесу сервера. Якщо *authkey* має значення " +"``None``, тоді використовується ``current_process().authkey``. В іншому " +"випадку використовується *authkey*, і це має бути рядок байтів." + +msgid "" +"*serializer* must be ``'pickle'`` (use :mod:`pickle` serialization) or " +"``'xmlrpclib'`` (use :mod:`xmlrpc.client` serialization)." +msgstr "" + +msgid "" +"*ctx* is a context object, or ``None`` (use the current context). See the :" +"func:`get_context` function." +msgstr "" + +msgid "" +"*shutdown_timeout* is a timeout in seconds used to wait until the process " +"used by the manager completes in the :meth:`shutdown` method. If the " +"shutdown times out, the process is terminated. If terminating the process " +"also times out, the process is killed." +msgstr "" + +msgid "Added the *shutdown_timeout* parameter." +msgstr "" + +msgid "" +"Start a subprocess to start the manager. If *initializer* is not ``None`` " +"then the subprocess will call ``initializer(*initargs)`` when it starts." +msgstr "" +"Запустіть підпроцес, щоб запустити менеджер. Якщо *initializer* не ``None``, " +"тоді підпроцес викличе ``initializer(*initargs)`` під час запуску." + +msgid "" +"Returns a :class:`Server` object which represents the actual server under " +"the control of the Manager. The :class:`Server` object supports the :meth:" +"`serve_forever` method::" +msgstr "" +"Повертає об’єкт :class:`Server`, який представляє фактичний сервер під " +"керуванням менеджера. Об’єкт :class:`Server` підтримує метод :meth:" +"`serve_forever`::" + +msgid ":class:`Server` additionally has an :attr:`address` attribute." +msgstr ":class:`Server` додатково має атрибут :attr:`address`." + +msgid "Connect a local manager object to a remote manager process::" +msgstr "" +"Підключіть об’єкт локального менеджера до віддаленого процесу менеджера:" + +msgid "" +"Stop the process used by the manager. This is only available if :meth:" +"`start` has been used to start the server process." +msgstr "" +"Зупиніть процес, який використовує менеджер. Це доступно, лише якщо :meth:" +"`start` було використано для запуску процесу сервера." + +msgid "This can be called multiple times." +msgstr "Це можна викликати кілька разів." + +msgid "" +"A classmethod which can be used for registering a type or callable with the " +"manager class." +msgstr "" +"Метод класу, який можна використовувати для реєстрації типу або виклику в " +"класі менеджера." + +msgid "" +"*typeid* is a \"type identifier\" which is used to identify a particular " +"type of shared object. This must be a string." +msgstr "" +"*typeid* — це \"ідентифікатор типу\", який використовується для " +"ідентифікації певного типу спільного об’єкта. Це має бути рядок." + +msgid "" +"*callable* is a callable used for creating objects for this type " +"identifier. If a manager instance will be connected to the server using " +"the :meth:`connect` method, or if the *create_method* argument is ``False`` " +"then this can be left as ``None``." +msgstr "" +"*callable* — це виклик, який використовується для створення об’єктів для " +"ідентифікатора цього типу. Якщо екземпляр менеджера буде підключено до " +"сервера за допомогою методу :meth:`connect` або якщо аргумент " +"*create_method* має значення ``False``, тоді це можна залишити як ``None``." + +msgid "" +"*proxytype* is a subclass of :class:`BaseProxy` which is used to create " +"proxies for shared objects with this *typeid*. If ``None`` then a proxy " +"class is created automatically." +msgstr "" +"*proxytype* є підкласом :class:`BaseProxy`, який використовується для " +"створення проксі для спільних об’єктів із цим *typeid*. Якщо ``None``, то " +"проксі-клас створюється автоматично." + +msgid "" +"*exposed* is used to specify a sequence of method names which proxies for " +"this typeid should be allowed to access using :meth:`BaseProxy." +"_callmethod`. (If *exposed* is ``None`` then :attr:`proxytype._exposed_` is " +"used instead if it exists.) In the case where no exposed list is specified, " +"all \"public methods\" of the shared object will be accessible. (Here a " +"\"public method\" means any attribute which has a :meth:`~object.__call__` " +"method and whose name does not begin with ``'_'``.)" +msgstr "" +"*exposed* використовується для визначення послідовності назв методів, до " +"яких проксі-серверам для цього typeid має бути дозволено доступ за " +"допомогою :meth:`BaseProxy._callmethod`. (Якщо *exposed* має значення " +"``None``, тоді замість нього використовується :attr:`proxytype._exposed_`, " +"якщо він існує.) У випадку, коли відкритий список не вказано, усі " +"\"загальнодоступні методи\" спільного об’єкта будуть доступними. . (Тут " +"\"публічний метод\" означає будь-який атрибут, який має метод :meth:`~object." +"__call__` і ім’я якого не починається з ``'_'``.)" + +msgid "" +"*method_to_typeid* is a mapping used to specify the return type of those " +"exposed methods which should return a proxy. It maps method names to typeid " +"strings. (If *method_to_typeid* is ``None`` then :attr:`proxytype." +"_method_to_typeid_` is used instead if it exists.) If a method's name is " +"not a key of this mapping or if the mapping is ``None`` then the object " +"returned by the method will be copied by value." +msgstr "" +"*method_to_typeid* — це зіставлення, яке використовується для визначення " +"типу повернення тих відкритих методів, які мають повертати проксі. Він " +"відображає назви методів у рядках typeid. (Якщо *method_to_typeid* має " +"значення ``None``, тоді замість нього використовується :attr:`proxytype." +"_method_to_typeid_`, якщо він існує.) Якщо назва методу не є ключем цього " +"відображення або якщо відображення має значення ``None``, тоді об'єкт, " +"повернутий методом, буде скопійовано за значенням." + +msgid "" +"*create_method* determines whether a method should be created with name " +"*typeid* which can be used to tell the server process to create a new shared " +"object and return a proxy for it. By default it is ``True``." +msgstr "" +"*create_method* визначає, чи слід створювати метод з іменем *typeid*, яке " +"можна використовувати, щоб наказати серверному процесу створити новий " +"спільний об’єкт і повернути для нього проксі. За замовчуванням це ``True``." + +msgid ":class:`BaseManager` instances also have one read-only property:" +msgstr "" +"Екземпляри :class:`BaseManager` також мають одну властивість лише для " +"читання:" + +msgid "The address used by the manager." +msgstr "Адреса, яку використовує менеджер." + +msgid "" +"Manager objects support the context management protocol -- see :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the server " +"process (if it has not already started) and then returns the manager " +"object. :meth:`~contextmanager.__exit__` calls :meth:`shutdown`." +msgstr "" +"Об’єкти менеджера підтримують протокол керування контекстом – див. :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` запускає серверний " +"процес (якщо він ще не запущений), а потім повертає об’єкт менеджера. :meth:" +"`~contextmanager.__exit__` викликає :meth:`shutdown`." + +msgid "" +"In previous versions :meth:`~contextmanager.__enter__` did not start the " +"manager's server process if it was not already started." +msgstr "" +"У попередніх версіях :meth:`~contextmanager.__enter__` не запускав серверний " +"процес менеджера, якщо він ще не був запущений." + +msgid "" +"A subclass of :class:`BaseManager` which can be used for the synchronization " +"of processes. Objects of this type are returned by :func:`multiprocessing." +"Manager`." +msgstr "" +"Підклас :class:`BaseManager`, який можна використовувати для синхронізації " +"процесів. Об’єкти цього типу повертає :func:`multiprocessing.Manager`." + +msgid "" +"Its methods create and return :ref:`multiprocessing-proxy_objects` for a " +"number of commonly used data types to be synchronized across processes. This " +"notably includes shared lists and dictionaries." +msgstr "" +"Його методи створюють і повертають :ref:`multiprocessing-proxy_objects` для " +"ряду типів даних, які зазвичай використовуються, щоб синхронізувати між " +"процесами. Це, зокрема, включає спільні списки та словники." + +msgid "" +"Create a shared :class:`threading.Barrier` object and return a proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.Barrier` і поверніть для нього " +"проксі." + +msgid "" +"Create a shared :class:`threading.BoundedSemaphore` object and return a " +"proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.BoundedSemaphore` і поверніть для " +"нього проксі." + +msgid "" +"Create a shared :class:`threading.Condition` object and return a proxy for " +"it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.Condition` і поверніть для нього " +"проксі." + +msgid "" +"If *lock* is supplied then it should be a proxy for a :class:`threading." +"Lock` or :class:`threading.RLock` object." +msgstr "" +"Якщо вказано *lock*, це має бути проксі для об’єкта :class:`threading.Lock` " +"або :class:`threading.RLock`." + +msgid "" +"Create a shared :class:`threading.Event` object and return a proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.Event` і поверніть для нього " +"проксі." + +msgid "" +"Create a shared :class:`threading.Lock` object and return a proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.Lock` і поверніть для нього " +"проксі." + +msgid "Create a shared :class:`Namespace` object and return a proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`Namespace` і поверніть для нього проксі." + +msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`queue.Queue` і поверніть для нього проксі." + +msgid "" +"Create a shared :class:`threading.RLock` object and return a proxy for it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.RLock` і поверніть для нього " +"проксі." + +msgid "" +"Create a shared :class:`threading.Semaphore` object and return a proxy for " +"it." +msgstr "" +"Створіть спільний об’єкт :class:`threading.Semaphore` і поверніть для нього " +"проксі." + +msgid "Create an array and return a proxy for it." +msgstr "Створіть масив і поверніть для нього проксі." + +msgid "" +"Create an object with a writable ``value`` attribute and return a proxy for " +"it." +msgstr "" +"Створіть об’єкт із доступним для запису атрибутом \"значення\" та поверніть " +"для нього проксі-сервер." + +msgid "Create a shared :class:`dict` object and return a proxy for it." +msgstr "Створіть спільний об’єкт :class:`dict` і поверніть для нього проксі." + +msgid "Create a shared :class:`list` object and return a proxy for it." +msgstr "Створіть спільний об’єкт :class:`list` і поверніть для нього проксі." + +msgid "" +"Shared objects are capable of being nested. For example, a shared container " +"object such as a shared list can contain other shared objects which will all " +"be managed and synchronized by the :class:`SyncManager`." +msgstr "" +"Спільні об’єкти можуть бути вкладеними. Наприклад, спільний об’єкт-" +"контейнер, такий як спільний список, може містити інші спільні об’єкти, " +"якими керуватиме та синхронізуватиме :class:`SyncManager`." + +msgid "A type that can register with :class:`SyncManager`." +msgstr "Тип, який можна зареєструвати в :class:`SyncManager`." + +msgid "" +"A namespace object has no public methods, but does have writable attributes. " +"Its representation shows the values of its attributes." +msgstr "" +"Об’єкт простору імен не має відкритих методів, але має атрибути, доступні " +"для запису. Його подання показує значення його атрибутів." + +msgid "" +"However, when using a proxy for a namespace object, an attribute beginning " +"with ``'_'`` will be an attribute of the proxy and not an attribute of the " +"referent:" +msgstr "" +"Однак, коли використовується проксі для об’єкта простору імен, атрибут, що " +"починається з ``'_''`` буде атрибутом проксі, а не атрибутом референта:" + +msgid "Customized managers" +msgstr "Індивідуальні менеджери" + +msgid "" +"To create one's own manager, one creates a subclass of :class:`BaseManager` " +"and uses the :meth:`~BaseManager.register` classmethod to register new types " +"or callables with the manager class. For example::" +msgstr "" +"Щоб створити власний менеджер, потрібно створити підклас :class:" +"`BaseManager` і використовувати метод класу :meth:`~BaseManager.register` " +"для реєстрації нових типів або викликів у класі менеджера. Наприклад::" + +msgid "Using a remote manager" +msgstr "Використання віддаленого менеджера" + +msgid "" +"It is possible to run a manager server on one machine and have clients use " +"it from other machines (assuming that the firewalls involved allow it)." +msgstr "" +"Можна запустити керуючий сервер на одній машині, а клієнти " +"використовуватимуть його з інших машин (за умови, що задіяні брандмауери " +"дозволяють це)." + +msgid "" +"Running the following commands creates a server for a single shared queue " +"which remote clients can access::" +msgstr "" +"Виконання наступних команд створює сервер для однієї спільної черги, до якої " +"мають доступ віддалені клієнти:" + +msgid "One client can access the server as follows::" +msgstr "Один клієнт може отримати доступ до сервера наступним чином:" + +msgid "Another client can also use it::" +msgstr "Інший клієнт також може використовувати його:" + +msgid "" +"Local processes can also access that queue, using the code from above on the " +"client to access it remotely::" +msgstr "" +"Локальні процеси також можуть отримати доступ до цієї черги, використовуючи " +"код вище на клієнті для доступу до неї віддалено:" + +msgid "Proxy Objects" +msgstr "Проксі об'єкти" + +msgid "" +"A proxy is an object which *refers* to a shared object which lives " +"(presumably) in a different process. The shared object is said to be the " +"*referent* of the proxy. Multiple proxy objects may have the same referent." +msgstr "" +"Проксі — це об’єкт, який *посилається* на спільний об’єкт, який живе " +"(імовірно) в іншому процесі. Спільний об’єкт називається *референтом* " +"проксі. Кілька проксі-об’єктів можуть мати один і той же референт." + +msgid "" +"A proxy object has methods which invoke corresponding methods of its " +"referent (although not every method of the referent will necessarily be " +"available through the proxy). In this way, a proxy can be used just like " +"its referent can:" +msgstr "" +"Проксі-об’єкт має методи, які викликають відповідні методи його референта " +"(хоча не кожен метод референта обов’язково буде доступним через проксі). " +"Таким чином, проксі можна використовувати так само, як і його референт:" + +msgid "" +"Notice that applying :func:`str` to a proxy will return the representation " +"of the referent, whereas applying :func:`repr` will return the " +"representation of the proxy." +msgstr "" +"Зауважте, що застосування :func:`str` до проксі поверне подання референта, " +"тоді як застосування :func:`repr` поверне подання проксі." + +msgid "" +"An important feature of proxy objects is that they are picklable so they can " +"be passed between processes. As such, a referent can contain :ref:" +"`multiprocessing-proxy_objects`. This permits nesting of these managed " +"lists, dicts, and other :ref:`multiprocessing-proxy_objects`:" +msgstr "" +"Важливою особливістю проксі-об’єктів є те, що їх можна вибирати, тому їх " +"можна передавати між процесами. Таким чином, референт може містити :ref:" +"`multiprocessing-proxy_objects`. Це дозволяє вкладати ці керовані списки, " +"dicts та інші :ref:`multiprocessing-proxy_objects`:" + +msgid "Similarly, dict and list proxies may be nested inside one another::" +msgstr "" +"Подібним чином, проксі dict і список можуть бути вкладені один в одного:" + +msgid "" +"If standard (non-proxy) :class:`list` or :class:`dict` objects are contained " +"in a referent, modifications to those mutable values will not be propagated " +"through the manager because the proxy has no way of knowing when the values " +"contained within are modified. However, storing a value in a container " +"proxy (which triggers a ``__setitem__`` on the proxy object) does propagate " +"through the manager and so to effectively modify such an item, one could re-" +"assign the modified value to the container proxy::" +msgstr "" +"Якщо стандартні (не проксі) :class:`list` або :class:`dict` об’єкти " +"містяться в референті, модифікації цих змінних значень не поширюватимуться " +"через менеджер, оскільки проксі не може дізнатися, коли значення що " +"містяться в них, змінено. Однак збереження значення в проксі-контейнері (що " +"запускає ``__setitem__`` в проксі-об’єкті) поширюється через менеджер, тому " +"для ефективної зміни такого елемента можна повторно призначити змінене " +"значення проксі-серверу контейнера: :" + +msgid "" +"This approach is perhaps less convenient than employing nested :ref:" +"`multiprocessing-proxy_objects` for most use cases but also demonstrates a " +"level of control over the synchronization." +msgstr "" +"Цей підхід, можливо, менш зручний, ніж використання вкладених :ref:" +"`multiprocessing-proxy_objects` для більшості випадків використання, але " +"також демонструє рівень контролю над синхронізацією." + +msgid "" +"The proxy types in :mod:`multiprocessing` do nothing to support comparisons " +"by value. So, for instance, we have:" +msgstr "" +"Проксі-типи в :mod:`multiprocessing` не підтримують порівняння за значенням. " +"Так, наприклад, ми маємо:" + +msgid "" +"One should just use a copy of the referent instead when making comparisons." +msgstr "Під час порівнянь слід просто використовувати копію референта." + +msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." +msgstr "Проксі-об’єкти є екземплярами підкласів :class:`BaseProxy`." + +msgid "Call and return the result of a method of the proxy's referent." +msgstr "Виклик і повернення результату методу референта проксі." + +msgid "" +"If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" +msgstr "Якщо ``proxy`` є проксі, референтом якого є ``obj``, тоді вираз ::" + +msgid "will evaluate the expression ::" +msgstr "обчислить вираз ::" + +msgid "in the manager's process." +msgstr "в процесі менеджера." + +msgid "" +"The returned value will be a copy of the result of the call or a proxy to a " +"new shared object -- see documentation for the *method_to_typeid* argument " +"of :meth:`BaseManager.register`." +msgstr "" +"Поверненим значенням буде копія результату виклику або проксі для нового " +"спільного об’єкта – див. документацію щодо аргументу *method_to_typeid* :" +"meth:`BaseManager.register`." + +msgid "" +"If an exception is raised by the call, then is re-raised by :meth:" +"`_callmethod`. If some other exception is raised in the manager's process " +"then this is converted into a :exc:`RemoteError` exception and is raised by :" +"meth:`_callmethod`." +msgstr "" +"Якщо виклик викликає виняток, він повторно викликається :meth:`_callmethod`. " +"Якщо в процесі менеджера виникає інший виняток, він перетворюється на " +"виняток :exc:`RemoteError` і викликається :meth:`_callmethod`." + +msgid "" +"Note in particular that an exception will be raised if *methodname* has not " +"been *exposed*." +msgstr "" +"Зокрема, зауважте, що виняток буде створено, якщо *methodname* не було " +"*виявлено*." + +msgid "An example of the usage of :meth:`_callmethod`:" +msgstr "Приклад використання :meth:`_callmethod`:" + +msgid "Return a copy of the referent." +msgstr "Повернути копію референту." + +msgid "If the referent is unpicklable then this will raise an exception." +msgstr "Якщо референт неможливо вибрати, це спричинить виняток." + +msgid "Return a representation of the proxy object." +msgstr "Повертає представлення проксі-об’єкта." + +msgid "Return the representation of the referent." +msgstr "Повернути представлення референта." + +msgid "Cleanup" +msgstr "Прибирати" + +msgid "" +"A proxy object uses a weakref callback so that when it gets garbage " +"collected it deregisters itself from the manager which owns its referent." +msgstr "" +"Проксі-об’єкт використовує зворотний виклик weakref, щоб, коли він збирає " +"сміття, він скасовує реєстрацію в менеджері, якому належить його референт." + +msgid "" +"A shared object gets deleted from the manager process when there are no " +"longer any proxies referring to it." +msgstr "" +"Спільний об’єкт видаляється з процесу менеджера, коли більше немає проксі-" +"серверів, які посилаються на нього." + +msgid "Process Pools" +msgstr "Пули процесів" + +msgid "" +"One can create a pool of processes which will carry out tasks submitted to " +"it with the :class:`Pool` class." +msgstr "" +"Можна створити пул процесів, які виконуватимуть передані йому завдання за " +"допомогою класу :class:`Pool`." + +msgid "" +"A process pool object which controls a pool of worker processes to which " +"jobs can be submitted. It supports asynchronous results with timeouts and " +"callbacks and has a parallel map implementation." +msgstr "" +"Об’єкт пулу процесів, який керує пулом робочих процесів, до яких можна " +"надсилати завдання. Він підтримує асинхронні результати з тайм-аутами та " +"зворотними викликами та має реалізацію паралельної карти." + +msgid "" +"*processes* is the number of worker processes to use. If *processes* is " +"``None`` then the number returned by :func:`os.cpu_count` is used." +msgstr "" +"*processes* — це кількість робочих процесів, які потрібно використовувати. " +"Якщо *processes* має значення ``None``, тоді використовується число, яке " +"повертає :func:`os.cpu_count`." + +msgid "" +"If *initializer* is not ``None`` then each worker process will call " +"``initializer(*initargs)`` when it starts." +msgstr "" +"Якщо *initializer* не ``None``, тоді кожен робочий процес викличе " +"``initializer(*initargs)`` під час свого запуску." + +msgid "" +"*maxtasksperchild* is the number of tasks a worker process can complete " +"before it will exit and be replaced with a fresh worker process, to enable " +"unused resources to be freed. The default *maxtasksperchild* is ``None``, " +"which means worker processes will live as long as the pool." +msgstr "" +"*maxtasksperchild* — це кількість завдань, які робочий процес може виконати, " +"перш ніж він вийде та буде замінений новим робочим процесом, щоб звільнити " +"невикористані ресурси. Типовим значенням *maxtasksperchild* є ``None``, що " +"означає, що робочі процеси живуть стільки ж, скільки пул." + +msgid "" +"*context* can be used to specify the context used for starting the worker " +"processes. Usually a pool is created using the function :func:" +"`multiprocessing.Pool` or the :meth:`Pool` method of a context object. In " +"both cases *context* is set appropriately." +msgstr "" +"*context* можна використовувати для визначення контексту, який " +"використовується для запуску робочих процесів. Зазвичай пул створюється за " +"допомогою функції :func:`multiprocessing.Pool` або методу :meth:`Pool` " +"контекстного об’єкта. В обох випадках *контекст* встановлено належним чином." + +msgid "" +"Note that the methods of the pool object should only be called by the " +"process which created the pool." +msgstr "" +"Зауважте, що методи об’єкта пулу має викликати тільки процес, який створив " +"пул." + +msgid "" +":class:`multiprocessing.pool` objects have internal resources that need to " +"be properly managed (like any other resource) by using the pool as a context " +"manager or by calling :meth:`close` and :meth:`terminate` manually. Failure " +"to do this can lead to the process hanging on finalization." +msgstr "" +"Об’єкти :class:`multiprocessing.pool` мають внутрішні ресурси, якими " +"потрібно належним чином керувати (як і будь-яким іншим ресурсом), " +"використовуючи пул як контекстний менеджер або викликаючи :meth:`close` і :" +"meth:`terminate` вручну. Якщо цього не зробити, процес може призупинити " +"завершення." + +msgid "" +"Note that it is **not correct** to rely on the garbage collector to destroy " +"the pool as CPython does not assure that the finalizer of the pool will be " +"called (see :meth:`object.__del__` for more information)." +msgstr "" +"Зауважте, що **некоректно** покладатися на збирач сміття для знищення пулу, " +"оскільки CPython не гарантує, що буде викликано фіналізатор пулу (див. :meth:" +"`object.__del__` для отримання додаткової інформації)." + +msgid "*maxtasksperchild*" +msgstr "*maxtaskperchild*" + +msgid "*context*" +msgstr "*контекст*" + +msgid "" +"Worker processes within a :class:`Pool` typically live for the complete " +"duration of the Pool's work queue. A frequent pattern found in other systems " +"(such as Apache, mod_wsgi, etc) to free resources held by workers is to " +"allow a worker within a pool to complete only a set amount of work before " +"being exiting, being cleaned up and a new process spawned to replace the old " +"one. The *maxtasksperchild* argument to the :class:`Pool` exposes this " +"ability to the end user." +msgstr "" +"Робочі процеси в межах :class:`Pool` зазвичай живі протягом повної " +"тривалості робочої черги пулу. Частий шаблон, який зустрічається в інших " +"системах (таких як Apache, mod_wsgi тощо) для звільнення ресурсів, які " +"зберігаються робочими засобами, полягає в тому, щоб дозволити робочому в " +"межах пулу завершити лише певний обсяг роботи перед виходом, очищенням і " +"породженням нового процесу на заміну старого. Аргумент *maxtasksperchild* " +"для :class:`Pool` надає цю можливість кінцевому користувачеві." + +msgid "" +"Call *func* with arguments *args* and keyword arguments *kwds*. It blocks " +"until the result is ready. Given this blocks, :meth:`apply_async` is better " +"suited for performing work in parallel. Additionally, *func* is only " +"executed in one of the workers of the pool." +msgstr "" +"Виклик *func* з аргументами *args* і ключовими аргументами *kwds*. " +"Блокується, поки не буде готовий результат. Враховуючи ці блоки, :meth:" +"`apply_async` краще підходить для виконання роботи паралельно. Крім того, " +"*func* виконується лише в одному з воркерів пулу." + +msgid "" +"A variant of the :meth:`apply` method which returns a :class:" +"`~multiprocessing.pool.AsyncResult` object." +msgstr "" +"Варіант методу :meth:`apply`, який повертає об’єкт :class:`~multiprocessing." +"pool.AsyncResult`." + +msgid "" +"If *callback* is specified then it should be a callable which accepts a " +"single argument. When the result becomes ready *callback* is applied to it, " +"that is unless the call failed, in which case the *error_callback* is " +"applied instead." +msgstr "" +"Якщо вказано *callback*, це має бути виклик, який приймає один аргумент. " +"Коли результат стає готовим, до нього застосовується *callback*, якщо тільки " +"виклик не вдався, у цьому випадку замість нього застосовується " +"*error_callback*." + +msgid "" +"If *error_callback* is specified then it should be a callable which accepts " +"a single argument. If the target function fails, then the *error_callback* " +"is called with the exception instance." +msgstr "" +"Якщо вказано *error_callback*, це має бути виклик, який приймає один " +"аргумент. Якщо цільова функція дає збій, то *error_callback* викликається з " +"екземпляром винятку." + +msgid "" +"Callbacks should complete immediately since otherwise the thread which " +"handles the results will get blocked." +msgstr "" +"Зворотні виклики мають завершитися негайно, інакше потік, який обробляє " +"результати, буде заблоковано." + +msgid "" +"A parallel equivalent of the :func:`map` built-in function (it supports only " +"one *iterable* argument though, for multiple iterables see :meth:`starmap`). " +"It blocks until the result is ready." +msgstr "" +"Паралельний еквівалент вбудованої функції :func:`map` (хоча вона підтримує " +"лише один аргумент *iterable*, для кількох ітерацій див. :meth:`starmap`). " +"Блокується, поки не буде готовий результат." + +msgid "" +"This method chops the iterable into a number of chunks which it submits to " +"the process pool as separate tasks. The (approximate) size of these chunks " +"can be specified by setting *chunksize* to a positive integer." +msgstr "" +"Цей метод розбиває iterable на декілька фрагментів, які він надсилає до пулу " +"процесів як окремі завдання. (Приблизний) розмір цих фрагментів можна " +"вказати, встановивши для *chunksize* додатне ціле число." + +msgid "" +"Note that it may cause high memory usage for very long iterables. Consider " +"using :meth:`imap` or :meth:`imap_unordered` with explicit *chunksize* " +"option for better efficiency." +msgstr "" +"Зауважте, що це може спричинити велике використання пам’яті для дуже довгих " +"ітерацій. Розгляньте можливість використання :meth:`imap` або :meth:" +"`imap_unordered` з явним параметром *chunksize* для кращої ефективності." + +msgid "" +"A variant of the :meth:`.map` method which returns a :class:" +"`~multiprocessing.pool.AsyncResult` object." +msgstr "" +"Варіант методу :meth:`.map`, який повертає об’єкт :class:`~multiprocessing." +"pool.AsyncResult`." + +msgid "A lazier version of :meth:`.map`." +msgstr "Ленича версія :meth:`.map`." + +msgid "" +"The *chunksize* argument is the same as the one used by the :meth:`.map` " +"method. For very long iterables using a large value for *chunksize* can " +"make the job complete **much** faster than using the default value of ``1``." +msgstr "" +"Аргумент *chunksize* такий самий, як той, який використовується методом :" +"meth:`.map`. Для дуже довгих ітерацій використання великого значення для " +"*chunksize* може зробити роботу завершеною **набагато** швидше, ніж " +"використання значення за замовчуванням ``1``." + +msgid "" +"Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator " +"returned by the :meth:`imap` method has an optional *timeout* parameter: " +"``next(timeout)`` will raise :exc:`multiprocessing.TimeoutError` if the " +"result cannot be returned within *timeout* seconds." +msgstr "" +"Крім того, якщо *chunksize* дорівнює ``1``, тоді метод :meth:`!next` " +"ітератора, який повертає метод :meth:`imap`, має додатковий параметр " +"*timeout*: ``next(timeout)`` викличе :exc:`multiprocessing.TimeoutError`, " +"якщо результат не може бути повернутий протягом *часу очікування* секунд." + +msgid "" +"The same as :meth:`imap` except that the ordering of the results from the " +"returned iterator should be considered arbitrary. (Only when there is only " +"one worker process is the order guaranteed to be \"correct\".)" +msgstr "" +"Те саме, що :meth:`imap`, за винятком того, що порядок результатів від " +"повернутого ітератора слід вважати довільним. (Тільки коли є лише один " +"робочий процес, порядок гарантовано буде \"правильним\".)" + +msgid "" +"Like :meth:`~multiprocessing.pool.Pool.map` except that the elements of the " +"*iterable* are expected to be iterables that are unpacked as arguments." +msgstr "" +"Подібно до :meth:`~multiprocessing.pool.Pool.map`, за винятком того, що " +"елементи *iterable* мають бути ітерованими, які розпаковуються як аргументи." + +msgid "" +"Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " +"func(3,4)]``." +msgstr "" +"Тому *ітерація* ``[(1,2), (3, 4)]`` призводить до ``[func(1,2), func(3,4)]``." + +msgid "" +"A combination of :meth:`starmap` and :meth:`map_async` that iterates over " +"*iterable* of iterables and calls *func* with the iterables unpacked. " +"Returns a result object." +msgstr "" +"Комбінація :meth:`starmap` і :meth:`map_async`, яка виконує ітерацію по " +"*iterable* ітерацій і викликає *func* з розпакованими ітераціями. Повертає " +"об’єкт результату." + +msgid "" +"Prevents any more tasks from being submitted to the pool. Once all the " +"tasks have been completed the worker processes will exit." +msgstr "" +"Запобігає надсиланню додаткових завдань до пулу. Після виконання всіх " +"завдань робочі процеси завершаться." + +msgid "" +"Stops the worker processes immediately without completing outstanding work. " +"When the pool object is garbage collected :meth:`terminate` will be called " +"immediately." +msgstr "" +"Негайно зупиняє робочі процеси, не завершуючи незавершену роботу. Коли " +"об’єкт пулу збирається як сміття, негайно буде викликано :meth:`terminate`." + +msgid "" +"Wait for the worker processes to exit. One must call :meth:`close` or :meth:" +"`terminate` before using :meth:`join`." +msgstr "" +"Зачекайте, поки робочі процеси завершаться. Потрібно викликати :meth:`close` " +"або :meth:`terminate` перед використанням :meth:`join`." + +msgid "" +"Pool objects now support the context management protocol -- see :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " +"object, and :meth:`~contextmanager.__exit__` calls :meth:`terminate`." +msgstr "" +"Об’єкти пулу тепер підтримують протокол керування контекстом – див. :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` повертає об’єкт " +"пулу, а :meth:`~contextmanager.__exit__` викликає :meth:`terminate`." + +msgid "" +"The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." +"map_async`." +msgstr "" +"Клас результату, який повертають :meth:`Pool.apply_async` і :meth:`Pool." +"map_async`." + +msgid "" +"Return the result when it arrives. If *timeout* is not ``None`` and the " +"result does not arrive within *timeout* seconds then :exc:`multiprocessing." +"TimeoutError` is raised. If the remote call raised an exception then that " +"exception will be reraised by :meth:`get`." +msgstr "" +"Поверніть результат, коли він надійде. Якщо *timeout* не ``None`` і " +"результат не надходить протягом *timeout* секунд, тоді виникає :exc:" +"`multiprocessing.TimeoutError`. Якщо віддалений виклик викликав виняток, цей " +"виняток буде повторно викликано :meth:`get`." + +msgid "Wait until the result is available or until *timeout* seconds pass." +msgstr "" +"Зачекайте, поки буде доступний результат або поки не мине *тайм-аут* секунди." + +msgid "Return whether the call has completed." +msgstr "Повідомити, чи завершено виклик." + +msgid "" +"Return whether the call completed without raising an exception. Will raise :" +"exc:`ValueError` if the result is not ready." +msgstr "" +"Повертає, чи завершено виклик без виклику винятку. Викличе :exc:" +"`ValueError`, якщо результат не готовий." + +msgid "" +"If the result is not ready, :exc:`ValueError` is raised instead of :exc:" +"`AssertionError`." +msgstr "" +"Якщо результат не готовий, замість :exc:`AssertionError` виникає :exc:" +"`ValueError`." + +msgid "The following example demonstrates the use of a pool::" +msgstr "Наступний приклад демонструє використання пулу:" + +msgid "Listeners and Clients" +msgstr "Слухачі та клієнти" + +msgid "" +"Usually message passing between processes is done using queues or by using :" +"class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." +msgstr "" +"Зазвичай передача повідомлень між процесами здійснюється за допомогою черг " +"або за допомогою об’єктів :class:`~Connection`, які повертає :func:" +"`~multiprocessing.Pipe`." + +msgid "" +"However, the :mod:`multiprocessing.connection` module allows some extra " +"flexibility. It basically gives a high level message oriented API for " +"dealing with sockets or Windows named pipes. It also has support for " +"*digest authentication* using the :mod:`hmac` module, and for polling " +"multiple connections at the same time." +msgstr "" +"Однак модуль :mod:`multiprocessing.connection` забезпечує додаткову " +"гнучкість. По суті, це надає API високого рівня, орієнтований на " +"повідомлення, для роботи з сокетами або іменованими каналами Windows. Він " +"також підтримує *дайджест-автентифікацію* за допомогою модуля :mod:`hmac` і " +"для опитування кількох з’єднань одночасно." + +msgid "" +"Send a randomly generated message to the other end of the connection and " +"wait for a reply." +msgstr "" +"Надішліть випадково згенероване повідомлення на інший кінець з’єднання та " +"дочекайтеся відповіді." + +msgid "" +"If the reply matches the digest of the message using *authkey* as the key " +"then a welcome message is sent to the other end of the connection. " +"Otherwise :exc:`~multiprocessing.AuthenticationError` is raised." +msgstr "" +"Якщо відповідь відповідає дайджесту повідомлення з використанням *authkey* " +"як ключа, тоді на інший кінець з’єднання надсилається вітальне повідомлення. " +"Інакше виникає :exc:`~multiprocessing.AuthenticationError`." + +msgid "" +"Receive a message, calculate the digest of the message using *authkey* as " +"the key, and then send the digest back." +msgstr "" +"Отримайте повідомлення, обчисліть дайджест повідомлення, використовуючи " +"*authkey* як ключ, а потім надішліть дайджест назад." + +msgid "" +"If a welcome message is not received, then :exc:`~multiprocessing." +"AuthenticationError` is raised." +msgstr "" +"Якщо вітальне повідомлення не отримано, виникає :exc:`~multiprocessing." +"AuthenticationError`." + +msgid "" +"Attempt to set up a connection to the listener which is using address " +"*address*, returning a :class:`~Connection`." +msgstr "" +"Спроба встановити з’єднання зі слухачем, який використовує адресу *address*, " +"повертаючи :class:`~Connection`." + +msgid "" +"The type of the connection is determined by *family* argument, but this can " +"generally be omitted since it can usually be inferred from the format of " +"*address*. (See :ref:`multiprocessing-address-formats`)" +msgstr "" +"Тип з’єднання визначається аргументом *family*, але зазвичай його можна " +"опустити, оскільки його зазвичай можна визначити з формату *address*. (Див. :" +"ref:`multiprocessing-address-formats`)" + +msgid "" +"If *authkey* is given and not None, it should be a byte string and will be " +"used as the secret key for an HMAC-based authentication challenge. No " +"authentication is done if *authkey* is None. :exc:`~multiprocessing." +"AuthenticationError` is raised if authentication fails. See :ref:" +"`multiprocessing-auth-keys`." +msgstr "" +"Якщо вказано *authkey*, а не None, це має бути рядок байтів і " +"використовуватиметься як секретний ключ для виклику автентифікації на основі " +"HMAC. Автентифікація не виконується, якщо *authkey* має значення None. :exc:" +"`~multiprocessing.AuthenticationError` виникає, якщо автентифікація не " +"вдається. Перегляньте :ref:`multiprocessing-auth-keys`." + +msgid "" +"A wrapper for a bound socket or Windows named pipe which is 'listening' for " +"connections." +msgstr "" +"Обгортка для пов’язаного сокета або каналу з іменем Windows, який \"слухає\" " +"з’єднання." + +msgid "" +"*address* is the address to be used by the bound socket or named pipe of the " +"listener object." +msgstr "" +"*address* — це адреса, яка буде використовуватися зв’язаним сокетом або " +"іменованим каналом об’єкта слухача." + +msgid "" +"If an address of '0.0.0.0' is used, the address will not be a connectable " +"end point on Windows. If you require a connectable end-point, you should use " +"'127.0.0.1'." +msgstr "" +"Якщо використовується адреса \"0.0.0.0\", ця адреса не буде кінцевою точкою " +"підключення в Windows. Якщо вам потрібна підключена кінцева точка, вам слід " +"використовувати \"127.0.0.1\"." + +msgid "" +"*family* is the type of socket (or named pipe) to use. This can be one of " +"the strings ``'AF_INET'`` (for a TCP socket), ``'AF_UNIX'`` (for a Unix " +"domain socket) or ``'AF_PIPE'`` (for a Windows named pipe). Of these only " +"the first is guaranteed to be available. If *family* is ``None`` then the " +"family is inferred from the format of *address*. If *address* is also " +"``None`` then a default is chosen. This default is the family which is " +"assumed to be the fastest available. See :ref:`multiprocessing-address-" +"formats`. Note that if *family* is ``'AF_UNIX'`` and address is ``None`` " +"then the socket will be created in a private temporary directory created " +"using :func:`tempfile.mkstemp`." +msgstr "" +"*сімейство* — це тип розетки (або названої труби), яку слід використовувати. " +"Це може бути один із рядків ``'AF_INET'`` (для сокета TCP), ``'AF_UNIX'`` " +"(для сокета домену Unix) або ``'AF_PIPE''`` (для іменованого каналу " +"Windows) . З них лише перший гарантовано доступний. Якщо *family* має " +"значення ``None``, тоді сім'я виводиться з формату *address*. Якщо *адреса* " +"також ``None``, тоді вибрано значення за замовчуванням. Це за замовчуванням " +"сімейство, яке вважається найшвидшим із доступних. Дивіться :ref:" +"`multiprocessing-address-formats`. Зауважте, що якщо *сімейство* має " +"значення ``'AF_UNIX``, а адреса ``None``, то сокет буде створено в " +"приватному тимчасовому каталозі, створеному за допомогою :func:`tempfile." +"mkstemp`." + +msgid "" +"If the listener object uses a socket then *backlog* (1 by default) is passed " +"to the :meth:`~socket.socket.listen` method of the socket once it has been " +"bound." +msgstr "" +"Якщо об’єкт слухача використовує сокет, тоді *backlog* (1 за замовчуванням) " +"передається в метод :meth:`~socket.socket.listen` сокета після того, як його " +"буде зв’язано." + +msgid "" +"Accept a connection on the bound socket or named pipe of the listener object " +"and return a :class:`~Connection` object. If authentication is attempted and " +"fails, then :exc:`~multiprocessing.AuthenticationError` is raised." +msgstr "" +"Прийняти підключення до зв’язаного сокета або іменованого каналу об’єкта " +"слухача та повернути об’єкт :class:`~Connection`. Якщо спроба автентифікації " +"не вдається, виникає :exc:`~multiprocessing.AuthenticationError`." + +msgid "" +"Close the bound socket or named pipe of the listener object. This is called " +"automatically when the listener is garbage collected. However it is " +"advisable to call it explicitly." +msgstr "" +"Закрийте прив’язаний сокет або іменований канал об’єкта слухача. Це " +"викликається автоматично, коли слухач збирає сміття. Однак бажано називати " +"це явно." + +msgid "Listener objects have the following read-only properties:" +msgstr "Об’єкти слухача мають такі властивості лише для читання:" + +msgid "The address which is being used by the Listener object." +msgstr "Адреса, яка використовується об’єктом Listener." + +msgid "" +"The address from which the last accepted connection came. If this is " +"unavailable then it is ``None``." +msgstr "" +"Адреса, з якої надійшло останнє прийняте підключення. Якщо це недоступно, це " +"``None``." + +msgid "" +"Listener objects now support the context management protocol -- see :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " +"listener object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." +msgstr "" +"Об’єкти слухача тепер підтримують протокол керування контекстом – див. :ref:" +"`typecontextmanager`. :meth:`~contextmanager.__enter__` повертає об’єкт " +"слухача, а :meth:`~contextmanager.__exit__` викликає :meth:`close`." + +msgid "" +"Wait till an object in *object_list* is ready. Returns the list of those " +"objects in *object_list* which are ready. If *timeout* is a float then the " +"call blocks for at most that many seconds. If *timeout* is ``None`` then it " +"will block for an unlimited period. A negative timeout is equivalent to a " +"zero timeout." +msgstr "" +"Зачекайте, поки об'єкт у *object_list* буде готовий. Повертає список тих " +"об'єктів у *object_list*, які готові. Якщо *timeout* є числом з плаваючою " +"точкою, виклик блокується щонайбільше на стільки секунд. Якщо *timeout* має " +"значення ``None``, тоді він блокуватиметься на необмежений період. Від’ємний " +"тайм-аут еквівалентний нульовому тайм-ауту." + +msgid "" +"For both Unix and Windows, an object can appear in *object_list* if it is" +msgstr "" +"Як для Unix, так і для Windows, об’єкт може з’явитися в *object_list*, якщо " +"він є" + +msgid "a readable :class:`~multiprocessing.connection.Connection` object;" +msgstr "читабельний об’єкт :class:`~multiprocessing.connection.Connection`;" + +msgid "a connected and readable :class:`socket.socket` object; or" +msgstr "підключений і читабельний об’єкт :class:`socket.socket`; або" + +msgid "" +"the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" +"`~multiprocessing.Process` object." +msgstr "" +"атрибут :attr:`~multiprocessing.Process.sentinel` об’єкта :class:" +"`~multiprocessing.Process`." + +msgid "" +"A connection or socket object is ready when there is data available to be " +"read from it, or the other end has been closed." +msgstr "" +"Об’єкт з’єднання або сокета готовий, коли є доступні дані для читання з " +"нього, або інший кінець закрито." + +msgid "" +"**Unix**: ``wait(object_list, timeout)`` almost equivalent ``select." +"select(object_list, [], [], timeout)``. The difference is that, if :func:" +"`select.select` is interrupted by a signal, it can raise :exc:`OSError` with " +"an error number of ``EINTR``, whereas :func:`wait` will not." +msgstr "" +"**Unix**: ``wait(object_list, timeout)`` майже еквівалент ``select." +"select(object_list, [], [], timeout)``. Різниця полягає в тому, що якщо :" +"func:`select.select` переривається сигналом, він може викликати :exc:" +"`OSError` з номером помилки ``EINTR``, тоді як :func:`wait` не буде." + +msgid "" +"**Windows**: An item in *object_list* must either be an integer handle which " +"is waitable (according to the definition used by the documentation of the " +"Win32 function ``WaitForMultipleObjects()``) or it can be an object with a :" +"meth:`fileno` method which returns a socket handle or pipe handle. (Note " +"that pipe handles and socket handles are **not** waitable handles.)" +msgstr "" +"**Windows**: елемент у *object_list* має бути цілочисельним дескриптором, " +"який можна очікувати (відповідно до визначення, що використовується в " +"документації функції Win32 ``WaitForMultipleObjects()``), або це може бути " +"об’єкт із :meth:`fileno` метод, який повертає дескриптор сокета або каналу. " +"(Зауважте, що маркери труб і розеток **не** є маркерами очікування.)" + +msgid "**Examples**" +msgstr "**Приклади**" + +msgid "" +"The following server code creates a listener which uses ``'secret " +"password'`` as an authentication key. It then waits for a connection and " +"sends some data to the client::" +msgstr "" +"Наступний код сервера створює прослуховувач, який використовує ``'секретний " +"пароль`` як ключ автентифікації. Потім він очікує з’єднання та надсилає " +"деякі дані клієнту::" + +msgid "" +"The following code connects to the server and receives some data from the " +"server::" +msgstr "" +"Наступний код підключається до сервера та отримує деякі дані з сервера:" + +msgid "" +"The following code uses :func:`~multiprocessing.connection.wait` to wait for " +"messages from multiple processes at once::" +msgstr "" +"Наступний код використовує :func:`~multiprocessing.connection.wait` для " +"очікування повідомлень від кількох процесів одночасно::" + +msgid "Address Formats" +msgstr "Формати адрес" + +msgid "" +"An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " +"*hostname* is a string and *port* is an integer." +msgstr "" +"Адреса \"AF_INET\" — це кортеж у формі \"(ім’я хоста, порт)\", де *ім’я " +"хоста* — рядок, а *порт* — ціле число." + +msgid "" +"An ``'AF_UNIX'`` address is a string representing a filename on the " +"filesystem." +msgstr "" +"Адреса \"AF_UNIX\" — це рядок, що представляє назву файлу у файловій системі." + +msgid "" +"An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\\\\\.\\" +"\\pipe\\\\\\\\{PipeName}'`. To use :func:`Client` to connect to a named " +"pipe on a remote computer called *ServerName* one should use an address of " +"the form :samp:`r'\\\\\\\\\\\\\\\\{ServerName}\\\\pipe\\\\\\\\{PipeName}'` " +"instead." +msgstr "" + +msgid "" +"Note that any string beginning with two backslashes is assumed by default to " +"be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address." +msgstr "" +"Зауважте, що будь-який рядок, який починається двома зворотними похилими " +"рисками, за замовчуванням вважається адресою ``'AF_PIPE'``, а не адресою " +"``'AF_UNIX'``." + +msgid "Authentication keys" +msgstr "Ключі автентифікації" + +msgid "" +"When one uses :meth:`Connection.recv `, the data received " +"is automatically unpickled. Unfortunately unpickling data from an untrusted " +"source is a security risk. Therefore :class:`Listener` and :func:`Client` " +"use the :mod:`hmac` module to provide digest authentication." +msgstr "" +"Коли використовується :meth:`Connection.recv `, отримані " +"дані автоматично видаляються. На жаль, видалення даних із ненадійного " +"джерела становить загрозу безпеці. Тому :class:`Listener` і :func:`Client` " +"використовують модуль :mod:`hmac` для забезпечення автентифікації дайджесту." + +msgid "" +"An authentication key is a byte string which can be thought of as a " +"password: once a connection is established both ends will demand proof that " +"the other knows the authentication key. (Demonstrating that both ends are " +"using the same key does **not** involve sending the key over the connection.)" +msgstr "" +"Ключ автентифікації — це рядок байтів, який можна розглядати як пароль: коли " +"з’єднання встановлено, обидва кінці вимагатимуть підтвердження того, що " +"інший знає ключ автентифікації. (Демонстрація того, що обидві сторони " +"використовують той самий ключ, **не** передбачає надсилання ключа через " +"з’єднання.)" + +msgid "" +"If authentication is requested but no authentication key is specified then " +"the return value of ``current_process().authkey`` is used (see :class:" +"`~multiprocessing.Process`). This value will be automatically inherited by " +"any :class:`~multiprocessing.Process` object that the current process " +"creates. This means that (by default) all processes of a multi-process " +"program will share a single authentication key which can be used when " +"setting up connections between themselves." +msgstr "" +"Якщо автентифікація запитується, але ключ автентифікації не вказано, тоді " +"використовується значення, що повертається ``current_process().authkey`` " +"(див. :class:`~multiprocessing.Process`). Це значення буде автоматично " +"успадковано будь-яким об’єктом :class:`~multiprocessing.Process`, який " +"створює поточний процес. Це означає, що (за замовчуванням) усі процеси " +"багатопроцесної програми спільно використовуватимуть один ключ " +"автентифікації, який можна використовувати під час встановлення з’єднань між " +"собою." + +msgid "" +"Suitable authentication keys can also be generated by using :func:`os." +"urandom`." +msgstr "" +"Відповідні ключі автентифікації також можна згенерувати за допомогою :func:" +"`os.urandom`." + +msgid "Logging" +msgstr "Лісозаготівля" + +msgid "" +"Some support for logging is available. Note, however, that the :mod:" +"`logging` package does not use process shared locks so it is possible " +"(depending on the handler type) for messages from different processes to get " +"mixed up." +msgstr "" +"Доступна певна підтримка журналювання. Однак зауважте, що пакунок :mod:" +"`logging` не використовує спільні блокування процесів, тому (залежно від " +"типу обробника) повідомлення від різних процесів можуть переплутатися." + +msgid "" +"Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " +"will be created." +msgstr "" +"Повертає реєстратор, який використовується :mod:`multiprocessing`. За " +"потреби буде створено новий." + +msgid "" +"When first created the logger has level :data:`logging.NOTSET` and no " +"default handler. Messages sent to this logger will not by default propagate " +"to the root logger." +msgstr "" +"Під час першого створення реєстратор має рівень :data:`logging.NOTSET` і не " +"має обробника за замовчуванням. Повідомлення, надіслані до цього " +"реєстратора, за умовчанням не поширюватимуться до кореневого реєстратора." + +msgid "" +"Note that on Windows child processes will only inherit the level of the " +"parent process's logger -- any other customization of the logger will not be " +"inherited." +msgstr "" +"Зауважте, що у Windows дочірні процеси успадковуватимуть лише рівень " +"реєстратора батьківського процесу – будь-які інші налаштування реєстратора " +"не успадковуватимуться." + +msgid "" +"This function performs a call to :func:`get_logger` but in addition to " +"returning the logger created by get_logger, it adds a handler which sends " +"output to :data:`sys.stderr` using format ``'[%(levelname)s/%(processName)s] " +"%(message)s'``. You can modify ``levelname`` of the logger by passing a " +"``level`` argument." +msgstr "" +"Ця функція виконує виклик :func:`get_logger`, але окрім повернення " +"реєстратора, створеного get_logger, вона додає обробник, який надсилає " +"вихідні дані до :data:`sys.stderr` у форматі ``'[%(levelname)s/" +"%(processName)s] %(message)s ''``. Ви можете змінити ``levelname`` " +"реєстратора, передавши аргумент ``level``." + +msgid "Below is an example session with logging turned on::" +msgstr "Нижче наведено приклад сеансу з увімкненим журналюванням::" + +msgid "For a full table of logging levels, see the :mod:`logging` module." +msgstr "" +"Щоб отримати повну таблицю рівнів журналювання, перегляньте модуль :mod:" +"`logging`." + +msgid "The :mod:`multiprocessing.dummy` module" +msgstr "Модуль :mod:`multiprocessing.dummy`" + +msgid "" +":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " +"but is no more than a wrapper around the :mod:`threading` module." +msgstr "" +":mod:`multiprocessing.dummy` повторює API :mod:`multiprocessing`, але є не " +"більше ніж обгорткою модуля :mod:`threading`." + +msgid "" +"In particular, the ``Pool`` function provided by :mod:`multiprocessing." +"dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" +"class:`Pool` that supports all the same method calls but uses a pool of " +"worker threads rather than worker processes." +msgstr "" +"Зокрема, функція ``Pool``, надана :mod:`multiprocessing.dummy`, повертає " +"екземпляр :class:`ThreadPool`, який є підкласом :class:`Pool`, який " +"підтримує всі виклики методів, але використовує пул робочих потоків, а не " +"робочих процесів." + +msgid "" +"A thread pool object which controls a pool of worker threads to which jobs " +"can be submitted. :class:`ThreadPool` instances are fully interface " +"compatible with :class:`Pool` instances, and their resources must also be " +"properly managed, either by using the pool as a context manager or by " +"calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing." +"pool.Pool.terminate` manually." +msgstr "" +"Об’єкт пулу потоків, який керує пулом робочих потоків, до яких можна " +"надсилати завдання. Екземпляри :class:`ThreadPool` повністю сумісні з " +"інтерфейсом екземплярів :class:`Pool`, і їхніми ресурсами також потрібно " +"правильно керувати, використовуючи пул як контекстний менеджер або " +"викликаючи :meth:`~multiprocessing.pool. Pool.close` і :meth:" +"`~multiprocessing.pool.Pool.terminate` вручну." + +msgid "" +"*processes* is the number of worker threads to use. If *processes* is " +"``None`` then the number returned by :func:`os.cpu_count` is used." +msgstr "" +"*processes* — це кількість робочих потоків для використання. Якщо " +"*processes* має значення ``None``, тоді використовується число, яке " +"повертає :func:`os.cpu_count`." + +msgid "" +"Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." +msgstr "" +"На відміну від :class:`Pool`, *maxtasksperchild* і *context* не можна надати." + +msgid "" +"A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is " +"designed around a pool of processes and predates the introduction of the :" +"class:`concurrent.futures` module. As such, it inherits some operations " +"that don't make sense for a pool backed by threads, and it has its own type " +"for representing the status of asynchronous jobs, :class:`AsyncResult`, that " +"is not understood by any other libraries." +msgstr "" +":class:`ThreadPool` має той самий інтерфейс, що й :class:`Pool`, який " +"розроблено навколо пулу процесів і передує появі модуля :class:`concurrent." +"futures`. Таким чином, він успадковує деякі операції, які не мають сенсу для " +"пулу, що підтримується потоками, і має власний тип для представлення статусу " +"асинхронних завдань, :class:`AsyncResult`, який не розуміється жодною іншою " +"бібліотекою." + +msgid "" +"Users should generally prefer to use :class:`concurrent.futures." +"ThreadPoolExecutor`, which has a simpler interface that was designed around " +"threads from the start, and which returns :class:`concurrent.futures.Future` " +"instances that are compatible with many other libraries, including :mod:" +"`asyncio`." +msgstr "" +"Зазвичай користувачі мають віддавати перевагу використанню :class:" +"`concurrent.futures.ThreadPoolExecutor`, який має простіший інтерфейс, " +"розроблений навколо потоків із самого початку та повертає :class:`concurrent." +"futures.Future` екземпляри, сумісні з багатьма інші бібліотеки, включаючи :" +"mod:`asyncio`." + +msgid "Programming guidelines" +msgstr "Інструкції з програмування" + +msgid "" +"There are certain guidelines and idioms which should be adhered to when " +"using :mod:`multiprocessing`." +msgstr "" +"Існують певні вказівки та ідіоми, яких слід дотримуватися під час " +"використання :mod:`multiprocessing`." + +msgid "All start methods" +msgstr "Всі методи запуску" + +msgid "The following applies to all start methods." +msgstr "Наступне стосується всіх методів запуску." + +msgid "Avoid shared state" +msgstr "Уникайте спільного стану" + +msgid "" +"As far as possible one should try to avoid shifting large amounts of data " +"between processes." +msgstr "" +"Наскільки це можливо, слід намагатися уникати переміщення великих обсягів " +"даних між процесами." + +msgid "" +"It is probably best to stick to using queues or pipes for communication " +"between processes rather than using the lower level synchronization " +"primitives." +msgstr "" +"Ймовірно, найкраще використовувати черги або канали для зв’язку між " +"процесами, а не використовувати примітиви синхронізації нижчого рівня." + +msgid "Picklability" +msgstr "Пробірність" + +msgid "Ensure that the arguments to the methods of proxies are picklable." +msgstr "Переконайтеся, що аргументи методів проксі-серверів можна вибрати." + +msgid "Thread safety of proxies" +msgstr "Безпека потоків проксі" + +msgid "" +"Do not use a proxy object from more than one thread unless you protect it " +"with a lock." +msgstr "" +"Не використовуйте проксі-об’єкт із кількох потоків, якщо ви не захистите " +"його за допомогою блокування." + +msgid "" +"(There is never a problem with different processes using the *same* proxy.)" +msgstr "" +"(Ніколи не виникає проблем із різними процесами, які використовують *той " +"самий* проксі.)" + +msgid "Joining zombie processes" +msgstr "Приєднання до зомбованих процесів" + +msgid "" +"On Unix when a process finishes but has not been joined it becomes a zombie. " +"There should never be very many because each time a new process starts (or :" +"func:`~multiprocessing.active_children` is called) all completed processes " +"which have not yet been joined will be joined. Also calling a finished " +"process's :meth:`Process.is_alive ` will " +"join the process. Even so it is probably good practice to explicitly join " +"all the processes that you start." +msgstr "" +"В Unix, коли процес завершується, але до нього не приєднується, він стає " +"зомбі. Їх ніколи не повинно бути дуже багато, оскільки кожного разу, коли " +"запускається новий процес (або викликається :func:`~multiprocessing." +"active_children`), усі завершені процеси, які ще не приєдналися, будуть " +"об’єднані. Також виклик завершеного процесу :meth:`Process.is_alive " +"` приєднається до процесу. Незважаючи на " +"це, ймовірно, гарною практикою є явне приєднання до всіх процесів, які ви " +"починаєте." + +msgid "Better to inherit than pickle/unpickle" +msgstr "Краще успадкувати, ніж маринувати/розмаринувати" + +msgid "" +"When using the *spawn* or *forkserver* start methods many types from :mod:" +"`multiprocessing` need to be picklable so that child processes can use " +"them. However, one should generally avoid sending shared objects to other " +"processes using pipes or queues. Instead you should arrange the program so " +"that a process which needs access to a shared resource created elsewhere can " +"inherit it from an ancestor process." +msgstr "" +"Під час використання методів запуску *spawn* або *forkserver* багато типів " +"із :mod:`multiprocessing` мають бути доступними для вибору, щоб дочірні " +"процеси могли їх використовувати. Однак зазвичай слід уникати надсилання " +"спільних об’єктів іншим процесам за допомогою каналів або черг. Натомість ви " +"повинні організувати програму так, щоб процес, якому потрібен доступ до " +"спільного ресурсу, створеного в іншому місці, міг успадкувати його від " +"процесу-предка." + +msgid "Avoid terminating processes" +msgstr "Уникайте завершення процесів" + +msgid "" +"Using the :meth:`Process.terminate ` " +"method to stop a process is liable to cause any shared resources (such as " +"locks, semaphores, pipes and queues) currently being used by the process to " +"become broken or unavailable to other processes." +msgstr "" +"Використання методу :meth:`Process.terminate ` для зупинки процесу може призвести до того, що будь-які спільні " +"ресурси (такі як блокування, семафори, канали та черги), які зараз " +"використовуються цим процесом, стануть несправними або недоступними для " +"інших процесів." + +msgid "" +"Therefore it is probably best to only consider using :meth:`Process." +"terminate ` on processes which never use " +"any shared resources." +msgstr "" +"Тому, ймовірно, найкраще використовувати :meth:`Process.terminate " +"` лише для процесів, які ніколи не " +"використовують спільні ресурси." + +msgid "Joining processes that use queues" +msgstr "Приєднання до процесів, які використовують черги" + +msgid "" +"Bear in mind that a process that has put items in a queue will wait before " +"terminating until all the buffered items are fed by the \"feeder\" thread to " +"the underlying pipe. (The child process can call the :meth:`Queue." +"cancel_join_thread ` method of the " +"queue to avoid this behaviour.)" +msgstr "" +"Майте на увазі, що процес, який поставив елементи в чергу, чекатиме перед " +"завершенням, доки всі буферизовані елементи не будуть передані потоком " +"\"фідера\" до основного каналу. (Дочірній процес може викликати метод :meth:" +"`Queue.cancel_join_thread ` черги, " +"щоб уникнути такої поведінки.)" + +msgid "" +"This means that whenever you use a queue you need to make sure that all " +"items which have been put on the queue will eventually be removed before the " +"process is joined. Otherwise you cannot be sure that processes which have " +"put items on the queue will terminate. Remember also that non-daemonic " +"processes will be joined automatically." +msgstr "" +"Це означає, що щоразу, коли ви використовуєте чергу, вам потрібно " +"переконатися, що всі елементи, які було поставлено в чергу, зрештою буде " +"видалено перед приєднанням до процесу. Інакше ви не можете бути впевнені, що " +"процеси, які поставили елементи в чергу, завершаться. Пам'ятайте також, що " +"недемонічні процеси будуть приєднані автоматично." + +msgid "An example which will deadlock is the following::" +msgstr "Прикладом, який призведе до взаємоблокування, є наступний:" + +msgid "" +"A fix here would be to swap the last two lines (or simply remove the ``p." +"join()`` line)." +msgstr "" +"Виправити тут можна було б поміняти місцями останні два рядки (або просто " +"видалити рядок ``p.join()``)." + +msgid "Explicitly pass resources to child processes" +msgstr "Явно передати ресурси дочірнім процесам" + +msgid "" +"On Unix using the *fork* start method, a child process can make use of a " +"shared resource created in a parent process using a global resource. " +"However, it is better to pass the object as an argument to the constructor " +"for the child process." +msgstr "" +"В Unix за допомогою методу запуску *fork* дочірній процес може " +"використовувати спільний ресурс, створений у батьківському процесі за " +"допомогою глобального ресурсу. Однак краще передати об’єкт як аргумент " +"конструктору дочірнього процесу." + +msgid "" +"Apart from making the code (potentially) compatible with Windows and the " +"other start methods this also ensures that as long as the child process is " +"still alive the object will not be garbage collected in the parent process. " +"This might be important if some resource is freed when the object is garbage " +"collected in the parent process." +msgstr "" +"Окрім того, що код (потенційно) сумісний із Windows та іншими методами " +"запуску, це також гарантує, що поки дочірній процес живий, об’єкт не " +"збиратиме сміття в батьківському процесі. Це може бути важливо, якщо якийсь " +"ресурс звільняється, коли об’єкт збирається як сміття в батьківському " +"процесі." + +msgid "So for instance ::" +msgstr "Так наприклад ::" + +msgid "should be rewritten as ::" +msgstr "слід переписати як ::" + +msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" +msgstr "Остерігайтеся заміни :data:`sys.stdin` на \"файлоподібний об’єкт\"" + +msgid ":mod:`multiprocessing` originally unconditionally called::" +msgstr ":mod:`multiprocessing` спочатку безумовно називався::" + +msgid "" +"in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " +"in issues with processes-in-processes. This has been changed to::" +msgstr "" +"у методі :meth:`multiprocessing.Process._bootstrap` --- це призвело до " +"проблем із процесами в процесах. Це було змінено на::" + +msgid "" +"Which solves the fundamental issue of processes colliding with each other " +"resulting in a bad file descriptor error, but introduces a potential danger " +"to applications which replace :func:`sys.stdin` with a \"file-like object\" " +"with output buffering. This danger is that if multiple processes call :meth:" +"`~io.IOBase.close()` on this file-like object, it could result in the same " +"data being flushed to the object multiple times, resulting in corruption." +msgstr "" +"Це вирішує фундаментальну проблему зіткнення процесів один з одним, що " +"призводить до помилки неправильного дескриптора файлу, але представляє " +"потенційну небезпеку для програм, які замінюють :func:`sys.stdin` на " +"\"файлоподібний об’єкт\" із буферизацією виводу. Ця небезпека полягає в " +"тому, що якщо кілька процесів викликають :meth:`~io.IOBase.close()` для " +"цього файлоподібного об’єкта, це може призвести до того, що ті самі дані " +"будуть скидатися в об’єкт кілька разів, що призведе до пошкодження." + +msgid "" +"If you write a file-like object and implement your own caching, you can make " +"it fork-safe by storing the pid whenever you append to the cache, and " +"discarding the cache when the pid changes. For example::" +msgstr "" +"Якщо ви пишете файлоподібний об’єкт і використовуєте власне кешування, ви " +"можете зробити його безпечним для розгалуження, зберігаючи pid кожного разу, " +"коли ви додаєте його до кешу, і відкидаючи кеш, коли pid змінюється. " +"Наприклад::" + +msgid "" +"For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" +msgstr "" +"Для отримання додаткової інформації перегляньте :issue:`5155`, :issue:`5313` " +"та :issue:`5331`" + +msgid "The *spawn* and *forkserver* start methods" +msgstr "Методи запуску *spawn* і *forkserver*" + +msgid "" +"There are a few extra restriction which don't apply to the *fork* start " +"method." +msgstr "" +"Є кілька додаткових обмежень, які не застосовуються до методу запуску *fork*." + +msgid "More picklability" +msgstr "Більше маринування" + +msgid "" +"Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " +"if you subclass :class:`~multiprocessing.Process` then make sure that " +"instances will be picklable when the :meth:`Process.start ` method is called." +msgstr "" +"Переконайтеся, що всі аргументи :meth:`Process.__init__` можна вибрати. Крім " +"того, якщо ви створите підклас :class:`~multiprocessing.Process`, то " +"переконайтеся, що екземпляри можна вибрати під час виклику методу :meth:" +"`Process.start `." + +msgid "Global variables" +msgstr "Глобальні змінні" + +msgid "" +"Bear in mind that if code run in a child process tries to access a global " +"variable, then the value it sees (if any) may not be the same as the value " +"in the parent process at the time that :meth:`Process.start ` was called." +msgstr "" +"Майте на увазі, що якщо код, запущений у дочірньому процесі, намагається " +"отримати доступ до глобальної змінної, тоді значення, яке він бачить (якщо " +"таке є), може не збігатися зі значенням у батьківському процесі під час :" +"meth:`Process.start викликано `." + +msgid "" +"However, global variables which are just module level constants cause no " +"problems." +msgstr "" +"Однак глобальні змінні, які є лише константами рівня модуля, не викликають " +"проблем." + +msgid "Safe importing of main module" +msgstr "Безпечне імпортування основного модуля" + +msgid "" +"Make sure that the main module can be safely imported by a new Python " +"interpreter without causing unintended side effects (such a starting a new " +"process)." +msgstr "" +"Переконайтеся, що основний модуль можна безпечно імпортувати за допомогою " +"нового інтерпретатора Python, не викликаючи небажаних побічних ефектів " +"(наприклад, запуск нового процесу)." + +msgid "" +"For example, using the *spawn* or *forkserver* start method running the " +"following module would fail with a :exc:`RuntimeError`::" +msgstr "" +"Наприклад, використання методу запуску *spawn* або *forkserver* під час " +"запуску наступного модуля призведе до помилки з :exc:`RuntimeError`::" + +msgid "" +"Instead one should protect the \"entry point\" of the program by using ``if " +"__name__ == '__main__':`` as follows::" +msgstr "" +"Натомість слід захистити \"точку входу\" програми за допомогою ``if __name__ " +"== '__main__':`` наступним чином::" + +msgid "" +"(The ``freeze_support()`` line can be omitted if the program will be run " +"normally instead of frozen.)" +msgstr "" +"(Рядок ``freeze_support()`` можна опустити, якщо програма буде працювати " +"нормально, а не зависати.)" + +msgid "" +"This allows the newly spawned Python interpreter to safely import the module " +"and then run the module's ``foo()`` function." +msgstr "" +"Це дозволяє щойно створеному інтерпретатору Python безпечно імпортувати " +"модуль, а потім запускати функцію foo() модуля." + +msgid "" +"Similar restrictions apply if a pool or manager is created in the main " +"module." +msgstr "" +"Подібні обмеження застосовуються, якщо пул або менеджер створено в основному " +"модулі." + +msgid "Examples" +msgstr "Приклади" + +msgid "Demonstration of how to create and use customized managers and proxies:" +msgstr "" +"Демонстрація створення та використання налаштованих менеджерів і проксі-" +"серверів:" + +msgid "Using :class:`~multiprocessing.pool.Pool`:" +msgstr "Використання :class:`~multiprocessing.pool.Pool`:" + +msgid "" +"An example showing how to use queues to feed tasks to a collection of worker " +"processes and collect the results:" +msgstr "" +"Приклад, який показує, як використовувати черги для передачі завдань у " +"колекцію робочих процесів і збору результатів:" diff --git a/library/multiprocessing_shared_memory.po b/library/multiprocessing_shared_memory.po new file mode 100644 index 000000000..0c22d4e59 --- /dev/null +++ b/library/multiprocessing_shared_memory.po @@ -0,0 +1,253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +":mod:`multiprocessing.shared_memory` --- Shared memory for direct access " +"across processes" +msgstr "" + +msgid "**Source code:** :source:`Lib/multiprocessing/shared_memory.py`" +msgstr "" + +msgid "" +"This module provides a class, :class:`SharedMemory`, for the allocation and " +"management of shared memory to be accessed by one or more processes on a " +"multicore or symmetric multiprocessor (SMP) machine. To assist with the " +"life-cycle management of shared memory especially across distinct processes, " +"a :class:`~multiprocessing.managers.BaseManager` subclass, :class:" +"`SharedMemoryManager`, is also provided in the ``multiprocessing.managers`` " +"module." +msgstr "" + +msgid "" +"In this module, shared memory refers to \"System V style\" shared memory " +"blocks (though is not necessarily implemented explicitly as such) and does " +"not refer to \"distributed shared memory\". This style of shared memory " +"permits distinct processes to potentially read and write to a common (or " +"shared) region of volatile memory. Processes are conventionally limited to " +"only have access to their own process memory space but shared memory permits " +"the sharing of data between processes, avoiding the need to instead send " +"messages between processes containing that data. Sharing data directly via " +"memory can provide significant performance benefits compared to sharing data " +"via disk or socket or other communications requiring the serialization/" +"deserialization and copying of data." +msgstr "" + +msgid "" +"Creates a new shared memory block or attaches to an existing shared memory " +"block. Each shared memory block is assigned a unique name. In this way, one " +"process can create a shared memory block with a particular name and a " +"different process can attach to that same shared memory block using that " +"same name." +msgstr "" + +msgid "" +"As a resource for sharing data across processes, shared memory blocks may " +"outlive the original process that created them. When one process no longer " +"needs access to a shared memory block that might still be needed by other " +"processes, the :meth:`close()` method should be called. When a shared memory " +"block is no longer needed by any process, the :meth:`unlink()` method should " +"be called to ensure proper cleanup." +msgstr "" + +msgid "" +"*name* is the unique name for the requested shared memory, specified as a " +"string. When creating a new shared memory block, if ``None`` (the default) " +"is supplied for the name, a novel name will be generated." +msgstr "" + +msgid "" +"*create* controls whether a new shared memory block is created (``True``) or " +"an existing shared memory block is attached (``False``)." +msgstr "" + +msgid "" +"*size* specifies the requested number of bytes when creating a new shared " +"memory block. Because some platforms choose to allocate chunks of memory " +"based upon that platform's memory page size, the exact size of the shared " +"memory block may be larger or equal to the size requested. When attaching " +"to an existing shared memory block, the ``size`` parameter is ignored." +msgstr "" + +msgid "" +"Closes access to the shared memory from this instance. In order to ensure " +"proper cleanup of resources, all instances should call ``close()`` once the " +"instance is no longer needed. Note that calling ``close()`` does not cause " +"the shared memory block itself to be destroyed." +msgstr "" + +msgid "" +"Requests that the underlying shared memory block be destroyed. In order to " +"ensure proper cleanup of resources, ``unlink()`` should be called once (and " +"only once) across all processes which have need for the shared memory " +"block. After requesting its destruction, a shared memory block may or may " +"not be immediately destroyed and this behavior may differ across platforms. " +"Attempts to access data inside the shared memory block after ``unlink()`` " +"has been called may result in memory access errors. Note: the last process " +"relinquishing its hold on a shared memory block may call ``unlink()`` and :" +"meth:`close()` in either order." +msgstr "" + +msgid "A memoryview of contents of the shared memory block." +msgstr "" + +msgid "Read-only access to the unique name of the shared memory block." +msgstr "" + +msgid "Read-only access to size in bytes of the shared memory block." +msgstr "" + +msgid "" +"The following example demonstrates low-level use of :class:`SharedMemory` " +"instances::" +msgstr "" + +msgid "" +"The following example demonstrates a practical use of the :class:" +"`SharedMemory` class with `NumPy arrays `_, accessing " +"the same ``numpy.ndarray`` from two distinct Python shells:" +msgstr "" + +msgid "" +"A subclass of :class:`~multiprocessing.managers.BaseManager` which can be " +"used for the management of shared memory blocks across processes." +msgstr "" + +msgid "" +"A call to :meth:`~multiprocessing.managers.BaseManager.start` on a :class:" +"`SharedMemoryManager` instance causes a new process to be started. This new " +"process's sole purpose is to manage the life cycle of all shared memory " +"blocks created through it. To trigger the release of all shared memory " +"blocks managed by that process, call :meth:`~multiprocessing.managers." +"BaseManager.shutdown()` on the instance. This triggers a :meth:`SharedMemory." +"unlink()` call on all of the :class:`SharedMemory` objects managed by that " +"process and then stops the process itself. By creating ``SharedMemory`` " +"instances through a ``SharedMemoryManager``, we avoid the need to manually " +"track and trigger the freeing of shared memory resources." +msgstr "" + +msgid "" +"This class provides methods for creating and returning :class:`SharedMemory` " +"instances and for creating a list-like object (:class:`ShareableList`) " +"backed by shared memory." +msgstr "" + +msgid "" +"Refer to :class:`multiprocessing.managers.BaseManager` for a description of " +"the inherited *address* and *authkey* optional input arguments and how they " +"may be used to connect to an existing ``SharedMemoryManager`` service from " +"other processes." +msgstr "" + +msgid "" +"Create and return a new :class:`SharedMemory` object with the specified " +"``size`` in bytes." +msgstr "" + +msgid "" +"Create and return a new :class:`ShareableList` object, initialized by the " +"values from the input ``sequence``." +msgstr "" + +msgid "" +"The following example demonstrates the basic mechanisms of a :class:" +"`SharedMemoryManager`:" +msgstr "" + +msgid "" +"The following example depicts a potentially more convenient pattern for " +"using :class:`SharedMemoryManager` objects via the :keyword:`with` statement " +"to ensure that all shared memory blocks are released after they are no " +"longer needed:" +msgstr "" + +msgid "" +"When using a :class:`SharedMemoryManager` in a :keyword:`with` statement, " +"the shared memory blocks created using that manager are all released when " +"the :keyword:`with` statement's code block finishes execution." +msgstr "" + +msgid "" +"Provides a mutable list-like object where all values stored within are " +"stored in a shared memory block. This constrains storable values to only " +"the ``int``, ``float``, ``bool``, ``str`` (less than 10M bytes each), " +"``bytes`` (less than 10M bytes each), and ``None`` built-in data types. It " +"also notably differs from the built-in ``list`` type in that these lists can " +"not change their overall length (i.e. no append, insert, etc.) and do not " +"support the dynamic creation of new :class:`ShareableList` instances via " +"slicing." +msgstr "" + +msgid "" +"*sequence* is used in populating a new ``ShareableList`` full of values. Set " +"to ``None`` to instead attach to an already existing ``ShareableList`` by " +"its unique shared memory name." +msgstr "" + +msgid "" +"*name* is the unique name for the requested shared memory, as described in " +"the definition for :class:`SharedMemory`. When attaching to an existing " +"``ShareableList``, specify its shared memory block's unique name while " +"leaving ``sequence`` set to ``None``." +msgstr "" + +msgid "Returns the number of occurrences of ``value``." +msgstr "" + +msgid "" +"Returns first index position of ``value``. Raises :exc:`ValueError` if " +"``value`` is not present." +msgstr "" + +msgid "" +"Read-only attribute containing the :mod:`struct` packing format used by all " +"currently stored values." +msgstr "" + +msgid "The :class:`SharedMemory` instance where the values are stored." +msgstr "Об'єкт класу :class:`SharedMemory` , де зберігаються значення." + +msgid "" +"The following example demonstrates basic use of a :class:`ShareableList` " +"instance:" +msgstr "" +"Наступні приклади демонструють базове використання об'єкту класу :class:" +"`ShareableList`:" + +msgid "" +"The following example depicts how one, two, or many processes may access the " +"same :class:`ShareableList` by supplying the name of the shared memory block " +"behind it:" +msgstr "" + +msgid "" +"The following examples demonstrates that ``ShareableList`` (and underlying " +"``SharedMemory``) objects can be pickled and unpickled if needed. Note, that " +"it will still be the same shared object. This happens, because the " +"deserialized object has the same unique name and is just attached to an " +"existing object with the same name (if the object is still alive):" +msgstr "" diff --git a/library/netdata.po b/library/netdata.po new file mode 100644 index 000000000..501b3cf80 --- /dev/null +++ b/library/netdata.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Internet Data Handling" +msgstr "Обробка даних в Інтернеті" + +msgid "" +"This chapter describes modules which support handling data formats commonly " +"used on the internet." +msgstr "" +"У цьому розділі описано модулі, які підтримують обробку форматів даних, які " +"зазвичай використовуються в Інтернеті." diff --git a/library/netrc.po b/library/netrc.po new file mode 100644 index 000000000..e0bd1ce8c --- /dev/null +++ b/library/netrc.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`netrc` --- netrc file processing" +msgstr ":mod:`netrc` --- обробка файлу netrc" + +msgid "**Source code:** :source:`Lib/netrc.py`" +msgstr "**Вихідний код:** :source:`Lib/netrc.py`" + +msgid "" +"The :class:`~netrc.netrc` class parses and encapsulates the netrc file " +"format used by the Unix :program:`ftp` program and other FTP clients." +msgstr "" +"Клас :class:`~netrc.netrc` аналізує та інкапсулює формат файлу netrc, який " +"використовується програмою Unix :program:`ftp` та іншими клієнтами FTP." + +msgid "" +"A :class:`~netrc.netrc` instance or subclass instance encapsulates data " +"from a netrc file. The initialization argument, if present, specifies the " +"file to parse. If no argument is given, the file :file:`.netrc` in the " +"user's home directory -- as determined by :func:`os.path.expanduser` -- will " +"be read. Otherwise, a :exc:`FileNotFoundError` exception will be raised. " +"Parse errors will raise :exc:`NetrcParseError` with diagnostic information " +"including the file name, line number, and terminating token. If no argument " +"is specified on a POSIX system, the presence of passwords in the :file:`." +"netrc` file will raise a :exc:`NetrcParseError` if the file ownership or " +"permissions are insecure (owned by a user other than the user running the " +"process, or accessible for read or write by any other user). This implements " +"security behavior equivalent to that of ftp and other programs that use :" +"file:`.netrc`." +msgstr "" +"Екземпляр або підклас :class:`~netrc.netrc` інкапсулює дані з файлу netrc. " +"Аргумент ініціалізації, якщо він присутній, визначає файл для аналізу. Якщо " +"не вказано жодного аргументу, буде прочитано файл :file:`.netrc` у " +"домашньому каталозі користувача, як визначено :func:`os.path.expanduser`. В " +"іншому випадку буде викликано виняток :exc:`FileNotFoundError`. Помилки " +"аналізу викличуть :exc:`NetrcParseError` з діагностичною інформацією, " +"включаючи назву файлу, номер рядка та завершальний маркер. Якщо в системі " +"POSIX не вказано жодного аргументу, наявність паролів у файлі :file:`.netrc` " +"викличе :exc:`NetrcParseError`, якщо право власності на файл або дозволи є " +"незахищеними (належить користувачу, відмінному від користувача запущений " +"процес або доступний для читання чи запису будь-яким іншим користувачем). Це " +"реалізує поведінку безпеки, еквівалентну поведінці ftp та інших програм, які " +"використовують :file:`.netrc`." + +msgid "Added the POSIX permission check." +msgstr "Додано перевірку дозволів POSIX." + +msgid "" +":func:`os.path.expanduser` is used to find the location of the :file:`." +"netrc` file when *file* is not passed as argument." +msgstr "" +":func:`os.path.expanduser` використовується для пошуку розташування файлу :" +"file:`.netrc`, якщо *file* не передається як аргумент." + +msgid "" +":class:`netrc` try UTF-8 encoding before using locale specific encoding. The " +"entry in the netrc file no longer needs to contain all tokens. The missing " +"tokens' value default to an empty string. All the tokens and their values " +"now can contain arbitrary characters, like whitespace and non-ASCII " +"characters. If the login name is anonymous, it won't trigger the security " +"check." +msgstr "" + +msgid "" +"Exception raised by the :class:`~netrc.netrc` class when syntactical errors " +"are encountered in source text. Instances of this exception provide three " +"interesting attributes: :attr:`msg` is a textual explanation of the error, :" +"attr:`filename` is the name of the source file, and :attr:`lineno` gives the " +"line number on which the error was found." +msgstr "" +"Виняток створюється класом :class:`~netrc.netrc`, коли у вихідному тексті " +"зустрічаються синтаксичні помилки. Приклади цього винятку надають три цікаві " +"атрибути: :attr:`msg` — це текстове пояснення помилки, :attr:`filename` — це " +"ім’я вихідного файлу, а :attr:`lineno` — це номер рядка, у якому помилка " +"знайдена." + +msgid "netrc Objects" +msgstr "Об'єкти netrc" + +msgid "A :class:`~netrc.netrc` instance has the following methods:" +msgstr "Екземпляр :class:`~netrc.netrc` має такі методи:" + +msgid "" +"Return a 3-tuple ``(login, account, password)`` of authenticators for " +"*host*. If the netrc file did not contain an entry for the given host, " +"return the tuple associated with the 'default' entry. If neither matching " +"host nor default entry is available, return ``None``." +msgstr "" +"Повертає 3-кортеж ``(логін, обліковий запис, пароль)`` автентифікаторів для " +"*host*. Якщо файл netrc не містить запису для даного хоста, поверніть " +"кортеж, пов’язаний із записом \"default\". Якщо ні відповідний хост, ні " +"запис за замовчуванням недоступні, поверніть ``None``." + +msgid "" +"Dump the class data as a string in the format of a netrc file. (This " +"discards comments and may reorder the entries.)" +msgstr "" +"Дамп даних класу як рядок у форматі файлу netrc. (Це відхиляє коментарі та " +"може змінити порядок записів.)" + +msgid "Instances of :class:`~netrc.netrc` have public instance variables:" +msgstr "Екземпляри :class:`~netrc.netrc` мають публічні змінні екземпляра:" + +msgid "" +"Dictionary mapping host names to ``(login, account, password)`` tuples. The " +"'default' entry, if any, is represented as a pseudo-host by that name." +msgstr "" +"Словник зіставляє імена хостів із кортежами ``(логін, обліковий запис, " +"пароль)``. Запис \"за замовчуванням\", якщо такий є, представляється як " +"псевдохост під таким іменем." + +msgid "Dictionary mapping macro names to string lists." +msgstr "Словник зіставляє імена макросів зі списками рядків." diff --git a/library/nis.po b/library/nis.po new file mode 100644 index 000000000..628cd8dff --- /dev/null +++ b/library/nis.po @@ -0,0 +1,104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`nis` --- Interface to Sun's NIS (Yellow Pages)" +msgstr ":mod:`nis` --- Інтерфейс до NIS Sun (Жовті сторінки)" + +msgid "" +"The :mod:`nis` module is deprecated (see :pep:`PEP 594 <594#nis>` for " +"details)." +msgstr "" +"Модуль :mod:`nis` є застарілим (див. :pep:`PEP 594 <594#nis>` для деталей)." + +msgid "" +"The :mod:`nis` module gives a thin wrapper around the NIS library, useful " +"for central administration of several hosts." +msgstr "" +"Модуль :mod:`nis` забезпечує тонку оболонку бібліотеки NIS, корисну для " +"центрального адміністрування кількох хостів." + +msgid "" +"Because NIS exists only on Unix systems, this module is only available for " +"Unix." +msgstr "" +"Оскільки NIS існує лише в системах Unix, цей модуль доступний лише для Unix." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The :mod:`nis` module defines the following functions:" +msgstr "Модуль :mod:`nis` визначає такі функції:" + +msgid "" +"Return the match for *key* in map *mapname*, or raise an error (:exc:`nis." +"error`) if there is none. Both should be strings, *key* is 8-bit clean. " +"Return value is an arbitrary array of bytes (may contain ``NULL`` and other " +"joys)." +msgstr "" +"Повернути збіг для *key* у карті *mapname* або викликати помилку (:exc:`nis." +"error`), якщо її немає. Обидва мають бути рядками, *ключ* є 8-бітним чистим. " +"Значення, що повертається, є довільним масивом байтів (може містити ``NULL`` " +"та інші радості)." + +msgid "Note that *mapname* is first checked if it is an alias to another name." +msgstr "" +"Зауважте, що *mapname* спочатку перевіряється, чи є воно псевдонімом іншого " +"імені." + +msgid "" +"The *domain* argument allows overriding the NIS domain used for the lookup. " +"If unspecified, lookup is in the default NIS domain." +msgstr "" +"Аргумент *domain* дозволяє замінити домен NIS, який використовується для " +"пошуку. Якщо не вказано, пошук виконується в домені NIS за умовчанням." + +msgid "" +"Return a dictionary mapping *key* to *value* such that ``match(key, " +"mapname)==value``. Note that both keys and values of the dictionary are " +"arbitrary arrays of bytes." +msgstr "" +"Повертає *ключ* словника, який зіставляє *значення* таким чином, що " +"``match(key, mapname)==value``. Зверніть увагу, що і ключі, і значення " +"словника є довільними масивами байтів." + +msgid "Return a list of all valid maps." +msgstr "Повернути список усіх дійсних карт." + +msgid "Return the system default NIS domain." +msgstr "Повернути системний домен NIS за умовчанням." + +msgid "The :mod:`nis` module defines the following exception:" +msgstr "Модуль :mod:`nis` визначає такий виняток:" + +msgid "An error raised when a NIS function returns an error code." +msgstr "Коли функція NIS повертає код помилки, виникає помилка." diff --git a/library/nntplib.po b/library/nntplib.po new file mode 100644 index 000000000..9623a5aef --- /dev/null +++ b/library/nntplib.po @@ -0,0 +1,706 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`nntplib` --- NNTP protocol client" +msgstr ":mod:`nntplib` --- клієнт протоколу NNTP" + +msgid "**Source code:** :source:`Lib/nntplib.py`" +msgstr "**Вихідний код:** :source:`Lib/nntplib.py`" + +msgid "The :mod:`nntplib` module is deprecated (see :pep:`594` for details)." +msgstr "Модуль :mod:`nntplib` є застарілим (докладніше див. :pep:`594`)." + +msgid "" +"This module defines the class :class:`NNTP` which implements the client side " +"of the Network News Transfer Protocol. It can be used to implement a news " +"reader or poster, or automated news processors. It is compatible with :rfc:" +"`3977` as well as the older :rfc:`977` and :rfc:`2980`." +msgstr "" +"Цей модуль визначає клас :class:`NNTP`, який реалізує клієнтську сторону " +"протоколу передачі мережевих новин. Він може бути використаний для " +"реалізації програми для читання новин, плакатів або автоматизованих " +"процесорів новин. Він сумісний із :rfc:`3977`, а також зі старішими :rfc:" +"`977` і :rfc:`2980`." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Here are two small examples of how it can be used. To list some statistics " +"about a newsgroup and print the subjects of the last 10 articles::" +msgstr "" +"Ось два невеликих приклади того, як це можна використовувати. Щоб навести " +"деякі статистичні дані про групу новин і надрукувати теми останніх 10 статей:" + +msgid "" +"To post an article from a binary file (this assumes that the article has " +"valid headers, and that you have right to post on the particular newsgroup)::" +msgstr "" +"Щоб опублікувати статтю з бінарного файлу (припускається, що стаття має " +"дійсні заголовки, і ви маєте право опублікувати допис у певній групі новин):" + +msgid "The module itself defines the following classes:" +msgstr "Сам модуль визначає такі класи:" + +msgid "" +"Return a new :class:`NNTP` object, representing a connection to the NNTP " +"server running on host *host*, listening at port *port*. An optional " +"*timeout* can be specified for the socket connection. If the optional *user* " +"and *password* are provided, or if suitable credentials are present in :file:" +"`/.netrc` and the optional flag *usenetrc* is true, the ``AUTHINFO USER`` " +"and ``AUTHINFO PASS`` commands are used to identify and authenticate the " +"user to the server. If the optional flag *readermode* is true, then a " +"``mode reader`` command is sent before authentication is performed. Reader " +"mode is sometimes necessary if you are connecting to an NNTP server on the " +"local machine and intend to call reader-specific commands, such as " +"``group``. If you get unexpected :exc:`NNTPPermanentError`\\ s, you might " +"need to set *readermode*. The :class:`NNTP` class supports the :keyword:" +"`with` statement to unconditionally consume :exc:`OSError` exceptions and to " +"close the NNTP connection when done, e.g.:" +msgstr "" +"Повертає новий об’єкт :class:`NNTP`, що представляє з’єднання з сервером " +"NNTP, що працює на хості *host*, прослуховуючи порт *port*. Для з’єднання " +"через сокет можна вказати необов’язковий *тайм-аут*. Якщо надано " +"необов’язковий *користувач* і *пароль* або відповідні облікові дані присутні " +"в :file:`/.netrc` і необов’язковий прапор *usenetrc* має значення true, " +"``AUTHINFO USER`` і ``AUTHINFO PASS`` Команди використовуються для " +"ідентифікації та автентифікації користувача на сервері. Якщо необов’язковий " +"прапорець *readermode* має значення true, тоді перед виконанням " +"автентифікації надсилається команда ``mode reader``. Режим читання іноді " +"необхідний, якщо ви підключаєтеся до NNTP-сервера на локальній машині та " +"маєте намір викликати специфічні команди читача, такі як ``group``. Якщо ви " +"отримуєте неочікувані помилки :exc:`NNTPPermanentError`\\, можливо, потрібно " +"встановити *режим читання*. Клас :class:`NNTP` підтримує оператор :keyword:" +"`with` для безумовного використання винятків :exc:`OSError` і закриття " +"з’єднання NNTP після завершення, наприклад:" + +msgid "" +"Raises an :ref:`auditing event ` ``nntplib.connect`` with " +"arguments ``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``nntplib.connect`` з аргументами " +"``self``, ``host``, ``port``." + +msgid "" +"Raises an :ref:`auditing event ` ``nntplib.putline`` with " +"arguments ``self``, ``line``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``nntplib.putline`` з аргументами " +"``self``, ``line``." + +msgid "" +"All commands will raise an :ref:`auditing event ` ``nntplib." +"putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " +"about to be sent to the remote host." +msgstr "" +"Усі команди викличуть :ref:`подію аудиту ` ``nntplib.putline`` з " +"аргументами ``self`` і ``line``, де ``line`` — це байти, які мають бути " +"надіслані на віддалений пристрій хост." + +msgid "*usenetrc* is now ``False`` by default." +msgstr "*usenetrc* тепер має значення ``False`` за замовчуванням." + +msgid "Support for the :keyword:`with` statement was added." +msgstr "Додано підтримку оператора :keyword:`with`." + +msgid "" +"If the *timeout* parameter is set to be zero, it will raise a :class:" +"`ValueError` to prevent the creation of a non-blocking socket." +msgstr "" +"Якщо параметр *timeout* дорівнює нулю, це викличе :class:`ValueError`, щоб " +"запобігти створенню неблокуючого сокета." + +msgid "" +"Return a new :class:`NNTP_SSL` object, representing an encrypted connection " +"to the NNTP server running on host *host*, listening at port *port*. :class:" +"`NNTP_SSL` objects have the same methods as :class:`NNTP` objects. If " +"*port* is omitted, port 563 (NNTPS) is used. *ssl_context* is also optional, " +"and is a :class:`~ssl.SSLContext` object. Please read :ref:`ssl-security` " +"for best practices. All other parameters behave the same as for :class:" +"`NNTP`." +msgstr "" +"Повертає новий об’єкт :class:`NNTP_SSL`, що представляє зашифроване " +"з’єднання з сервером NNTP, що працює на хості *host*, прослуховуючи порт " +"*port*. Об’єкти :class:`NNTP_SSL` мають ті самі методи, що й об’єкти :class:" +"`NNTP`. Якщо *порт* не вказано, використовується порт 563 (NNTPS). " +"*ssl_context* також є необов’язковим і є об’єктом :class:`~ssl.SSLContext`. " +"Будь ласка, прочитайте :ref:`ssl-security`, щоб дізнатися про найкращі " +"практики. Усі інші параметри поводяться так само, як і для :class:`NNTP`." + +msgid "" +"Note that SSL-on-563 is discouraged per :rfc:`4642`, in favor of STARTTLS as " +"described below. However, some servers only support the former." +msgstr "" +"Зверніть увагу, що SSL-on-563 не рекомендується відповідно до :rfc:`4642` на " +"користь STARTTLS, як описано нижче. Однак деякі сервери підтримують лише " +"перше." + +msgid "" +"The class now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Клас тепер підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"Derived from the standard exception :exc:`Exception`, this is the base class " +"for all exceptions raised by the :mod:`nntplib` module. Instances of this " +"class have the following attribute:" +msgstr "" +"Похідний від стандартного винятку :exc:`Exception`, це базовий клас для всіх " +"винятків, викликаних модулем :mod:`nntplib`. Примірники цього класу мають " +"наступний атрибут:" + +msgid "The response of the server if available, as a :class:`str` object." +msgstr "Відповідь сервера, якщо доступна, як об’єкт :class:`str`." + +msgid "Exception raised when an unexpected reply is received from the server." +msgstr "Виняток виникає, коли від сервера надходить неочікувана відповідь." + +msgid "" +"Exception raised when a response code in the range 400--499 is received." +msgstr "Коли отримано код відповіді в діапазоні 400--499, виникає виняток." + +msgid "" +"Exception raised when a response code in the range 500--599 is received." +msgstr "Коли отримано код відповіді в діапазоні 500--599, виникає виняток." + +msgid "" +"Exception raised when a reply is received from the server that does not " +"begin with a digit in the range 1--5." +msgstr "" +"Виняток виникає, коли від сервера отримано відповідь, яка не починається з " +"цифри в діапазоні 1--5." + +msgid "Exception raised when there is some error in the response data." +msgstr "Виняток виникає, коли є помилка в даних відповіді." + +msgid "NNTP Objects" +msgstr "Об'єкти NNTP" + +msgid "" +"When connected, :class:`NNTP` and :class:`NNTP_SSL` objects support the " +"following methods and attributes." +msgstr "" +"При підключенні об’єкти :class:`NNTP` і :class:`NNTP_SSL` підтримують " +"наступні методи та атрибути." + +msgid "Attributes" +msgstr "Атрибути" + +msgid "" +"An integer representing the version of the NNTP protocol supported by the " +"server. In practice, this should be ``2`` for servers advertising :rfc:" +"`3977` compliance and ``1`` for others." +msgstr "" +"Ціле число, що представляє версію протоколу NNTP, яку підтримує сервер. На " +"практиці це має бути ``2`` для серверів, що рекламують відповідність :rfc:" +"`3977`, і ``1`` для інших." + +msgid "" +"A string describing the software name and version of the NNTP server, or :" +"const:`None` if not advertised by the server." +msgstr "" +"Рядок, що описує назву програмного забезпечення та версію NNTP-сервера, або :" +"const:`None`, якщо сервер не повідомляє про це." + +msgid "Methods" +msgstr "методи" + +msgid "" +"The *response* that is returned as the first item in the return tuple of " +"almost all methods is the server's response: a string beginning with a three-" +"digit code. If the server's response indicates an error, the method raises " +"one of the above exceptions." +msgstr "" +"*Відповідь*, яка повертається як перший елемент у кортежі повернення майже " +"всіх методів, є відповіддю сервера: рядок, що починається з тризначного " +"коду. Якщо відповідь сервера вказує на помилку, метод викликає одне з " +"наведених вище винятків." + +msgid "" +"Many of the following methods take an optional keyword-only argument *file*. " +"When the *file* argument is supplied, it must be either a :term:`file " +"object` opened for binary writing, or the name of an on-disk file to be " +"written to. The method will then write any data returned by the server " +"(except for the response line and the terminating dot) to the file; any list " +"of lines, tuples or objects that the method normally returns will be empty." +msgstr "" +"Багато з наведених нижче методів приймають необов’язковий аргумент *файл*, " +"що містить лише ключове слово. Якщо надається аргумент *file*, це має бути " +"або :term:`file object`, відкритий для двійкового запису, або ім’я файлу на " +"диску, у який потрібно записати. Потім метод записуватиме будь-які дані, " +"повернуті сервером (за винятком рядка відповіді та кінцевої точки), у файл; " +"будь-який список рядків, кортежів або об'єктів, які зазвичай повертає метод, " +"буде порожнім." + +msgid "" +"Many of the following methods have been reworked and fixed, which makes them " +"incompatible with their 3.1 counterparts." +msgstr "" +"Багато з наведених нижче методів було перероблено та виправлено, що робить " +"їх несумісними з аналогами 3.1." + +msgid "" +"Send a ``QUIT`` command and close the connection. Once this method has been " +"called, no other methods of the NNTP object should be called." +msgstr "" +"Надішліть команду ``QUIT`` і закрийте з'єднання. Після виклику цього методу " +"не слід викликати інші методи об’єкта NNTP." + +msgid "" +"Return the welcome message sent by the server in reply to the initial " +"connection. (This message sometimes contains disclaimers or help " +"information that may be relevant to the user.)" +msgstr "" +"Повернути вітальне повідомлення, надіслане сервером у відповідь на початкове " +"підключення. (Це повідомлення іноді містить застереження або довідкову " +"інформацію, яка може бути актуальною для користувача.)" + +msgid "" +"Return the :rfc:`3977` capabilities advertised by the server, as a :class:" +"`dict` instance mapping capability names to (possibly empty) lists of " +"values. On legacy servers which don't understand the ``CAPABILITIES`` " +"command, an empty dictionary is returned instead." +msgstr "" +"Повертає можливості :rfc:`3977`, оголошені сервером, як екземпляр :class:" +"`dict`, який зіставляє імена можливостей із (можливо, порожніми) списками " +"значень. На застарілих серверах, які не розуміють команду ``CAPABILITIES``, " +"замість неї повертається порожній словник." + +msgid "" +"Send ``AUTHINFO`` commands with the user name and password. If *user* and " +"*password* are ``None`` and *usenetrc* is true, credentials from ``~/." +"netrc`` will be used if possible." +msgstr "" +"Надсилайте команди ``AUTHINFO`` з іменем користувача та паролем. Якщо *user* " +"і *password* мають значення ``None`` і *usenetrc* має значення true, " +"облікові дані з ``~/.netrc`` використовуватимуться, якщо це можливо." + +msgid "" +"Unless intentionally delayed, login is normally performed during the :class:" +"`NNTP` object initialization and separately calling this function is " +"unnecessary. To force authentication to be delayed, you must not set *user* " +"or *password* when creating the object, and must set *usenetrc* to False." +msgstr "" +"Якщо не навмисно відкладено, вхід зазвичай виконується під час ініціалізації " +"об’єкта :class:`NNTP`, тому окремий виклик цієї функції непотрібний. Щоб " +"примусово відкласти автентифікацію, ви не повинні встановлювати " +"*користувача* або *пароль* під час створення об’єкта та повинні встановити " +"для *usenetrc* значення False." + +msgid "" +"Send a ``STARTTLS`` command. This will enable encryption on the NNTP " +"connection. The *context* argument is optional and should be a :class:`ssl." +"SSLContext` object. Please read :ref:`ssl-security` for best practices." +msgstr "" +"Надішліть команду ``STARTTLS``. Це дозволить шифрувати підключення NNTP. " +"Аргумент *context* є необов’язковим і має бути об’єктом :class:`ssl." +"SSLContext`. Будь ласка, прочитайте :ref:`ssl-security`, щоб дізнатися про " +"найкращі практики." + +msgid "" +"Note that this may not be done after authentication information has been " +"transmitted, and authentication occurs by default if possible during a :" +"class:`NNTP` object initialization. See :meth:`NNTP.login` for information " +"on suppressing this behavior." +msgstr "" +"Зауважте, що це не можна зробити після передачі інформації про " +"автентифікацію, і автентифікація відбувається за замовчуванням, якщо це " +"можливо під час ініціалізації об’єкта :class:`NNTP`. Перегляньте :meth:`NNTP." +"login` для отримання інформації про придушення такої поведінки." + +msgid "" +"The method now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Тепер цей метод підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"Send a ``NEWGROUPS`` command. The *date* argument should be a :class:" +"`datetime.date` or :class:`datetime.datetime` object. Return a pair " +"``(response, groups)`` where *groups* is a list representing the groups that " +"are new since the given *date*. If *file* is supplied, though, then *groups* " +"will be empty." +msgstr "" +"Надішліть команду ``NEWGROUPS``. Аргумент *date* має бути об’єктом :class:" +"`datetime.date` або :class:`datetime.datetime`. Повертає пару ``(відповідь, " +"групи)``, де *групи* — це список, що представляє групи, які були новими з " +"указаної *дати*. Однак, якщо вказано *файл*, *групи* будуть порожніми." + +msgid "" +"Send a ``NEWNEWS`` command. Here, *group* is a group name or ``'*'``, and " +"*date* has the same meaning as for :meth:`newgroups`. Return a pair " +"``(response, articles)`` where *articles* is a list of message ids." +msgstr "" +"Надіслати команду ``НОВИНА``. Тут *group* — це назва групи або ``'*'``, а " +"*date* має те саме значення, що й для :meth:`newgroups`. Повертає пару " +"\"(відповідь, статті)\", де *статті* — це список ідентифікаторів повідомлень." + +msgid "This command is frequently disabled by NNTP server administrators." +msgstr "Цю команду часто вимикають адміністратори NNTP-сервера." + +msgid "" +"Send a ``LIST`` or ``LIST ACTIVE`` command. Return a pair ``(response, " +"list)`` where *list* is a list of tuples representing all the groups " +"available from this NNTP server, optionally matching the pattern string " +"*group_pattern*. Each tuple has the form ``(group, last, first, flag)``, " +"where *group* is a group name, *last* and *first* are the last and first " +"article numbers, and *flag* usually takes one of these values:" +msgstr "" +"Надішліть команду ``СПИСОК`` або ``СПИСОК АКТИВНИХ``. Повертає пару " +"\"(відповідь, список)\", де *list* — це список кортежів, що представляють " +"усі групи, доступні з цього NNTP-сервера, необов’язково відповідаючи рядку " +"шаблону *group_pattern*. Кожен кортеж має форму ``(group, last, first, " +"flag)``, де *group* — це ім’я групи, *last* і *first* — останній і перший " +"номери статей, а *flag* зазвичай займає один цих значень:" + +msgid "``y``: Local postings and articles from peers are allowed." +msgstr "``y``: дозволені локальні публікації та статті від однолітків." + +msgid "``m``: The group is moderated and all postings must be approved." +msgstr "``m``: Група модерується, і всі публікації мають бути затверджені." + +msgid "``n``: No local postings are allowed, only articles from peers." +msgstr "``n``: заборонені локальні публікації, лише статті від аналогів." + +msgid "``j``: Articles from peers are filed in the junk group instead." +msgstr "``j``: Статті від аналогів натомість зберігаються в групі сміття." + +msgid "``x``: No local postings, and articles from peers are ignored." +msgstr "" +"``x``: жодних локальних повідомлень, а статті від аналогів ігноруються." + +msgid "``=foo.bar``: Articles are filed in the ``foo.bar`` group instead." +msgstr "``=foo.bar``: натомість статті зберігаються в групі ``foo.bar``." + +msgid "" +"If *flag* has another value, then the status of the newsgroup should be " +"considered unknown." +msgstr "" +"Якщо *flag* має інше значення, то статус групи новин слід вважати невідомим." + +msgid "" +"This command can return very large results, especially if *group_pattern* is " +"not specified. It is best to cache the results offline unless you really " +"need to refresh them." +msgstr "" +"Ця команда може повернути дуже великі результати, особливо якщо " +"*group_pattern* не вказано. Найкраще кешувати результати в автономному " +"режимі, якщо вам дійсно не потрібно їх оновити." + +msgid "*group_pattern* was added." +msgstr "Додано *group_pattern*." + +msgid "" +"Send a ``LIST NEWSGROUPS`` command, where *grouppattern* is a wildmat string " +"as specified in :rfc:`3977` (it's essentially the same as DOS or UNIX shell " +"wildcard strings). Return a pair ``(response, descriptions)``, where " +"*descriptions* is a dictionary mapping group names to textual descriptions." +msgstr "" +"Надішліть команду ``LIST NEWSGROUPS``, де *grouppattern* — рядок wildmat, як " +"зазначено в :rfc:`3977` (це по суті те саме, що рядки символів узагальнення " +"оболонки DOS або UNIX). Повертає пару ``(відповідь, описи)``, де *описи* — " +"це словник, що зіставляє імена груп із текстовими описами." + +msgid "" +"Get a description for a single group *group*. If more than one group " +"matches (if 'group' is a real wildmat string), return the first match. If " +"no group matches, return an empty string." +msgstr "" +"Отримайте опис для однієї групи *group*. Якщо збігається більше ніж одна " +"група (якщо 'group' є справжнім рядком wildmat), поверніть перший збіг. Якщо " +"жодна група не відповідає, поверніть порожній рядок." + +msgid "" +"This elides the response code from the server. If the response code is " +"needed, use :meth:`descriptions`." +msgstr "" +"Це видаляє код відповіді з сервера. Якщо потрібен код відповіді, " +"використовуйте :meth:`descriptions`." + +msgid "" +"Send a ``GROUP`` command, where *name* is the group name. The group is " +"selected as the current group, if it exists. Return a tuple ``(response, " +"count, first, last, name)`` where *count* is the (estimated) number of " +"articles in the group, *first* is the first article number in the group, " +"*last* is the last article number in the group, and *name* is the group name." +msgstr "" +"Надішліть команду ``GROUP``, де *name* – це назва групи. Групу вибрано як " +"поточну, якщо вона існує. Повертає кортеж \"(відповідь, кількість, ім’я, " +"прізвище, ім’я)\", де *кількість* — це (приблизна) кількість статей у групі, " +"*перша* — номер першої статті в групі, *остання* — останній номер статті в " +"групі, а *ім’я* — це назва групи." + +msgid "" +"Send an ``OVER`` command, or an ``XOVER`` command on legacy servers. " +"*message_spec* can be either a string representing a message id, or a " +"``(first, last)`` tuple of numbers indicating a range of articles in the " +"current group, or a ``(first, None)`` tuple indicating a range of articles " +"starting from *first* to the last article in the current group, or :const:" +"`None` to select the current article in the current group." +msgstr "" +"Надішліть команду ``OVER`` або команду ``XOVER`` на застарілих серверах. " +"*message_spec* може бути або рядком, що представляє ідентифікатор " +"повідомлення, або кортежем ``(first, last)`` чисел, що вказує на діапазон " +"статей у поточній групі, або ``(first, None)`` кортеж, що вказує діапазон " +"статей, починаючи від *першої* до останньої статті в поточній групі, або :" +"const:`None`, щоб вибрати поточну статтю в поточній групі." + +msgid "" +"Return a pair ``(response, overviews)``. *overviews* is a list of " +"``(article_number, overview)`` tuples, one for each article selected by " +"*message_spec*. Each *overview* is a dictionary with the same number of " +"items, but this number depends on the server. These items are either " +"message headers (the key is then the lower-cased header name) or metadata " +"items (the key is then the metadata name prepended with ``\":\"``). The " +"following items are guaranteed to be present by the NNTP specification:" +msgstr "" +"Повернути пару ``(відповідь, огляди)``. *Огляди* — це список кортежів " +"``(номер_статті, огляд)``, по одному для кожної статті, вибраної " +"*специфікацією_повідомлення*. Кожен *огляд* є словником з однаковою " +"кількістю елементів, але ця кількість залежить від сервера. Ці елементи є " +"або заголовками повідомлень (ключ — це ім’я заголовка в нижньому регістрі), " +"або елементи метаданих (ключ — це ім’я метаданих, перед яким додається ``\":" +"\"``). Специфікація NNTP гарантує наявність таких елементів:" + +msgid "" +"the ``subject``, ``from``, ``date``, ``message-id`` and ``references`` " +"headers" +msgstr "" +"заголовки ``subject``, ``from``, ``date``, ``message-id`` і ``references``" + +msgid "" +"the ``:bytes`` metadata: the number of bytes in the entire raw article " +"(including headers and body)" +msgstr "" +"метадані ``:bytes``: кількість байтів у всій необробленій статті (включаючи " +"заголовки та тіло)" + +msgid "the ``:lines`` metadata: the number of lines in the article body" +msgstr "метадані ``:lines``: кількість рядків у тілі статті" + +msgid "" +"The value of each item is either a string, or :const:`None` if not present." +msgstr "" +"Значення кожного елемента є або рядком, або :const:`None`, якщо його немає." + +msgid "" +"It is advisable to use the :func:`decode_header` function on header values " +"when they may contain non-ASCII characters::" +msgstr "" +"Рекомендовано використовувати функцію :func:`decode_header` для значень " +"заголовків, якщо вони можуть містити символи, відмінні від ASCII::" + +msgid "" +"Send a ``HELP`` command. Return a pair ``(response, list)`` where *list* is " +"a list of help strings." +msgstr "" +"Надішліть команду ``HELP``. Повертає пару ``(відповідь, список)``, де " +"*список* — це список довідкових рядків." + +msgid "" +"Send a ``STAT`` command, where *message_spec* is either a message id " +"(enclosed in ``'<'`` and ``'>'``) or an article number in the current group. " +"If *message_spec* is omitted or :const:`None`, the current article in the " +"current group is considered. Return a triple ``(response, number, id)`` " +"where *number* is the article number and *id* is the message id." +msgstr "" +"Надішліть команду ``STAT``, де *message_spec* є або ідентифікатором " +"повідомлення (включеним у ``' <'`` and ``'> ''``), або номером статті в " +"поточній групі. Якщо *message_spec* опущено або :const:`None`, розглядається " +"поточна стаття в поточній групі. Повертає трійку ``(відповідь, номер, " +"ідентифікатор)``, де *номер* — номер статті, а *id* — ідентифікатор " +"повідомлення." + +msgid "Send a ``NEXT`` command. Return as for :meth:`.stat`." +msgstr "Надішліть команду ``ДАЛІ``. Повернути як для :meth:`.stat`." + +msgid "Send a ``LAST`` command. Return as for :meth:`.stat`." +msgstr "Надіслати команду ``LAST``. Повернути як для :meth:`.stat`." + +msgid "" +"Send an ``ARTICLE`` command, where *message_spec* has the same meaning as " +"for :meth:`.stat`. Return a tuple ``(response, info)`` where *info* is a :" +"class:`~collections.namedtuple` with three attributes *number*, *message_id* " +"and *lines* (in that order). *number* is the article number in the group " +"(or 0 if the information is not available), *message_id* the message id as a " +"string, and *lines* a list of lines (without terminating newlines) " +"comprising the raw message including headers and body." +msgstr "" +"Надішліть команду ``ARTICLE``, де *message_spec* має те саме значення, що й " +"для :meth:`.stat`. Повертає кортеж ``(відповідь, інформація)``, де *info* є :" +"class:`~collections.namedtuple` з трьома атрибутами *number*, *message_id* і " +"*lines* (у такому порядку). *number* — це номер статті в групі (або 0, якщо " +"інформація недоступна), *message_id* — ідентифікатор повідомлення у вигляді " +"рядка, а *lines* — список рядків (без символів нового рядка), що містять " +"необроблене повідомлення, включаючи заголовки і тіло." + +msgid "" +"Same as :meth:`article()`, but sends a ``HEAD`` command. The *lines* " +"returned (or written to *file*) will only contain the message headers, not " +"the body." +msgstr "" +"Те саме, що :meth:`article()`, але надсилає команду ``HEAD``. Повернуті " +"*рядки* (або записані у *файл*) міститимуть лише заголовки повідомлень, а не " +"тіло." + +msgid "" +"Same as :meth:`article()`, but sends a ``BODY`` command. The *lines* " +"returned (or written to *file*) will only contain the message body, not the " +"headers." +msgstr "" +"Те саме, що :meth:`article()`, але надсилає команду ``BODY``. Повернуті " +"*рядки* (або записані у *файл*) міститимуть лише тіло повідомлення, а не " +"заголовки." + +msgid "" +"Post an article using the ``POST`` command. The *data* argument is either " +"a :term:`file object` opened for binary reading, or any iterable of bytes " +"objects (representing raw lines of the article to be posted). It should " +"represent a well-formed news article, including the required headers. The :" +"meth:`post` method automatically escapes lines beginning with ``.`` and " +"appends the termination line." +msgstr "" +"Опублікуйте статтю за допомогою команди ``POST``. Аргумент *data* є або :" +"term:`file object`, відкритим для двійкового читання, або будь-яким " +"ітерованим об’єктом байтів (що представляє необроблені рядки статті, яка " +"буде опублікована). Він має представляти добре сформовану новинну статтю, " +"включаючи необхідні заголовки. Метод :meth:`post` автоматично екранує рядки, " +"що починаються з ``.``, і додає кінцевий рядок." + +msgid "" +"If the method succeeds, the server's response is returned. If the server " +"refuses posting, a :class:`NNTPReplyError` is raised." +msgstr "" +"Якщо метод завершується успішно, повертається відповідь сервера. Якщо сервер " +"відмовляється надсилати повідомлення, виникає :class:`NNTPReplyError`." + +msgid "" +"Send an ``IHAVE`` command. *message_id* is the id of the message to send to " +"the server (enclosed in ``'<'`` and ``'>'``). The *data* parameter and the " +"return value are the same as for :meth:`post()`." +msgstr "" +"Надішліть команду ``IHAVE``. *message_id* — це ідентифікатор повідомлення, " +"яке потрібно надіслати на сервер (включено в ``'<'`` and ``'>'``). Параметр " +"*data* і значення, що повертається, такі ж, як і для :meth:`post()`." + +msgid "" +"Return a pair ``(response, date)``. *date* is a :class:`~datetime.datetime` " +"object containing the current date and time of the server." +msgstr "" +"Повертає пару ``(відповідь, дата)``. *date* — це об’єкт :class:`~datetime." +"datetime`, що містить поточну дату й час сервера." + +msgid "Send a ``SLAVE`` command. Return the server's *response*." +msgstr "Надішліть команду ``SLAVE``. Повернути *відповідь* сервера." + +msgid "" +"Set the instance's debugging level. This controls the amount of debugging " +"output printed. The default, ``0``, produces no debugging output. A value " +"of ``1`` produces a moderate amount of debugging output, generally a single " +"line per request or response. A value of ``2`` or higher produces the " +"maximum amount of debugging output, logging each line sent and received on " +"the connection (including message text)." +msgstr "" +"Установіть рівень налагодження примірника. Це контролює кількість " +"надрукованих виводів налагодження. Значення за замовчуванням, ``0``, не " +"створює вихідних даних для налагодження. Значення ``1`` дає помірну " +"кількість вихідних даних налагодження, як правило, один рядок на запит або " +"відповідь. Значення ``2`` або вище створює максимальну кількість вихідних " +"даних налагодження, реєструючи кожен рядок, надісланий і отриманий під час " +"з’єднання (включаючи текст повідомлення)." + +msgid "" +"The following are optional NNTP extensions defined in :rfc:`2980`. Some of " +"them have been superseded by newer commands in :rfc:`3977`." +msgstr "" +"Нижче наведено додаткові розширення NNTP, визначені в :rfc:`2980`. Деякі з " +"них були замінені новішими командами в :rfc:`3977`." + +msgid "" +"Send an ``XHDR`` command. The *hdr* argument is a header keyword, e.g. " +"``'subject'``. The *str* argument should have the form ``'first-last'`` " +"where *first* and *last* are the first and last article numbers to search. " +"Return a pair ``(response, list)``, where *list* is a list of pairs ``(id, " +"text)``, where *id* is an article number (as a string) and *text* is the " +"text of the requested header for that article. If the *file* parameter is " +"supplied, then the output of the ``XHDR`` command is stored in a file. If " +"*file* is a string, then the method will open a file with that name, write " +"to it then close it. If *file* is a :term:`file object`, then it will start " +"calling :meth:`write` on it to store the lines of the command output. If " +"*file* is supplied, then the returned *list* is an empty list." +msgstr "" +"Надішліть команду ``XHDR``. Аргумент *hdr* є ключовим словом заголовка, " +"наприклад. ``'тема''``. Аргумент *str* повинен мати форму ``'перший-" +"останній'``, де *перший* і *останній* є першим і останнім номерами статей " +"для пошуку. Повертає пару ``(відповідь, список)``, де *list* — це список пар " +"``(id, text)``, де *id* — номер статті (у вигляді рядка), а *text* — це " +"текст запитуваного заголовка для цієї статті. Якщо вказано параметр *file*, " +"вихідні дані команди ``XHDR`` зберігаються у файлі. Якщо *file* є рядком, " +"тоді метод відкриє файл із такою назвою, запише в нього та закриє. Якщо " +"*file* є :term:`file object`, тоді він почне викликати :meth:`write` для " +"збереження рядків виведення команди. Якщо надано *файл*, то повернутий " +"*список* є порожнім списком." + +msgid "" +"Send an ``XOVER`` command. *start* and *end* are article numbers delimiting " +"the range of articles to select. The return value is the same of for :meth:" +"`over()`. It is recommended to use :meth:`over()` instead, since it will " +"automatically use the newer ``OVER`` command if available." +msgstr "" +"Надішліть команду ``XOVER``. *початок* і *кінець* — це номери статей, які " +"розмежовують діапазон статей для вибору. Значення, що повертається, таке ж, " +"як і для :meth:`over()`. Натомість рекомендується використовувати :meth:" +"`over()`, оскільки вона автоматично використовуватиме новішу команду " +"``OVER``, якщо вона доступна." + +msgid "Utility functions" +msgstr "Функції корисності" + +msgid "The module also defines the following utility function:" +msgstr "Модуль також визначає таку службову функцію:" + +msgid "" +"Decode a header value, un-escaping any escaped non-ASCII characters. " +"*header_str* must be a :class:`str` object. The unescaped value is " +"returned. Using this function is recommended to display some headers in a " +"human readable form::" +msgstr "" +"Декодуйте значення заголовка, видаляючи екрановані символи, які не є ASCII. " +"*header_str* має бути об’єктом :class:`str`. Повертається неекрановане " +"значення. Рекомендується використовувати цю функцію для відображення деяких " +"заголовків у зрозумілій людині формі:" diff --git a/library/numbers.po b/library/numbers.po new file mode 100644 index 000000000..f4d422750 --- /dev/null +++ b/library/numbers.po @@ -0,0 +1,243 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`numbers` --- Numeric abstract base classes" +msgstr ":mod:`numbers` --- Числові абстрактні базові класи" + +msgid "**Source code:** :source:`Lib/numbers.py`" +msgstr "**Вихідний код:** :source:`Lib/numbers.py`" + +msgid "" +"The :mod:`numbers` module (:pep:`3141`) defines a hierarchy of numeric :term:" +"`abstract base classes ` which progressively define " +"more operations. None of the types defined in this module are intended to " +"be instantiated." +msgstr "" +"Модуль :mod:`numbers` (:pep:`3141`) визначає ієрархію числових :term:" +"`абстрактних базових класів `, які поступово визначають " +"більше операцій. Жоден із типів, визначених у цьому модулі, не призначений " +"для створення екземплярів." + +msgid "" +"The root of the numeric hierarchy. If you just want to check if an argument " +"*x* is a number, without caring what kind, use ``isinstance(x, Number)``." +msgstr "" +"Корінь числової ієрархії. Якщо ви просто хочете перевірити, чи є аргумент " +"*x* числом, не звертаючи уваги на те, якого типу, використовуйте " +"``isinstance(x, Number)``." + +msgid "The numeric tower" +msgstr "Числова вежа" + +msgid "" +"Subclasses of this type describe complex numbers and include the operations " +"that work on the built-in :class:`complex` type. These are: conversions to :" +"class:`complex` and :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``, ``-" +"``, ``*``, ``/``, ``**``, :func:`abs`, :meth:`conjugate`, ``==``, and ``!" +"=``. All except ``-`` and ``!=`` are abstract." +msgstr "" +"Підкласи цього типу описують комплексні числа та включають операції, які " +"працюють із вбудованим типом :class:`complex`. Це: перетворення на :class:" +"`complex` і :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``, ``-``, ``* " +"``, ``/``, ``**``, :func:`abs`, :meth:`conjugate`, ``==`` і ``!=``. Усі, " +"крім ``-`` і ``!=``, є абстрактними." + +msgid "Abstract. Retrieves the real component of this number." +msgstr "Анотація. Отримує дійсний компонент цього числа." + +msgid "Abstract. Retrieves the imaginary component of this number." +msgstr "Анотація. Отримує уявний компонент цього числа." + +msgid "" +"Abstract. Returns the complex conjugate. For example, ``(1+3j).conjugate() " +"== (1-3j)``." +msgstr "" +"Анотація. Повертає комплексне сполучення. Наприклад, ``(1+3j).conjugate() == " +"(1-3j)``." + +msgid "" +"To :class:`Complex`, :class:`Real` adds the operations that work on real " +"numbers." +msgstr "" +"До :class:`Complex` :class:`Real` додає операції, які працюють над дійсними " +"числами." + +msgid "" +"In short, those are: a conversion to :class:`float`, :func:`math.trunc`, :" +"func:`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, ``//``, " +"``%``, ``<``, ``<=``, ``>``, and ``>=``." +msgstr "" +"Якщо коротко, це: перетворення на :class:`float`, :func:`math.trunc`, :func:" +"`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, ``//``, ``" +"%``, ``<``, ``<=``, ``>`` і ``>=``." + +msgid "" +"Real also provides defaults for :func:`complex`, :attr:`~Complex.real`, :" +"attr:`~Complex.imag`, and :meth:`~Complex.conjugate`." +msgstr "" +"Real також надає значення за замовчуванням для :func:`complex`, :attr:" +"`~Complex.real`, :attr:`~Complex.imag` і :meth:`~Complex.conjugate`." + +msgid "" +"Subtypes :class:`Real` and adds :attr:`~Rational.numerator` and :attr:" +"`~Rational.denominator` properties. It also provides a default for :func:" +"`float`." +msgstr "" + +msgid "" +"The :attr:`~Rational.numerator` and :attr:`~Rational.denominator` values " +"should be instances of :class:`Integral` and should be in lowest terms with :" +"attr:`~Rational.denominator` positive." +msgstr "" + +msgid "Abstract." +msgstr "Анотація." + +msgid "" +"Subtypes :class:`Rational` and adds a conversion to :class:`int`. Provides " +"defaults for :func:`float`, :attr:`~Rational.numerator`, and :attr:" +"`~Rational.denominator`. Adds abstract methods for :func:`pow` with modulus " +"and bit-string operations: ``<<``, ``>>``, ``&``, ``^``, ``|``, ``~``." +msgstr "" +"Підтипує :class:`Rational` і додає перетворення до :class:`int`. Надає " +"значення за замовчуванням для :func:`float`, :attr:`~Rational.numerator` і :" +"attr:`~Rational.denominator`. Додає абстрактні методи для :func:`pow` з " +"операціями модуля та бітового рядка: ``<<``, ``>>``, ``&``, ``^``, ``|``, " +"``~``." + +msgid "Notes for type implementors" +msgstr "Примітки для розробників типу" + +msgid "" +"Implementors should be careful to make equal numbers equal and hash them to " +"the same values. This may be subtle if there are two different extensions of " +"the real numbers. For example, :class:`fractions.Fraction` implements :func:" +"`hash` as follows::" +msgstr "" +"Розробники повинні бути обережними, щоб зробити однакові числа рівними та " +"хешувати їх до однакових значень. Це може бути непомітно, якщо є два різних " +"розширення дійсних чисел. Наприклад, :class:`fractions.Fraction` реалізує :" +"func:`hash` наступним чином:" + +msgid "Adding More Numeric ABCs" +msgstr "Додавання додаткових числових букв" + +msgid "" +"There are, of course, more possible ABCs for numbers, and this would be a " +"poor hierarchy if it precluded the possibility of adding those. You can add " +"``MyFoo`` between :class:`Complex` and :class:`Real` with::" +msgstr "" +"Звичайно, існує більше можливих азбуки для чисел, і це була б погана " +"ієрархія, якби вона виключала можливість їх додавання. Ви можете додати " +"``MyFoo`` між :class:`Complex` і :class:`Real` за допомогою::" + +msgid "Implementing the arithmetic operations" +msgstr "Реалізація арифметичних дій" + +msgid "" +"We want to implement the arithmetic operations so that mixed-mode operations " +"either call an implementation whose author knew about the types of both " +"arguments, or convert both to the nearest built in type and do the operation " +"there. For subtypes of :class:`Integral`, this means that :meth:`__add__` " +"and :meth:`__radd__` should be defined as::" +msgstr "" +"Ми хочемо реалізувати арифметичні операції так, щоб операції змішаного " +"режиму або викликали реалізацію, автор якої знав про типи обох аргументів, " +"або конвертували обидва до найближчого вбудованого типу та виконували " +"операцію там. Для підтипів :class:`Integral` це означає, що :meth:`__add__` " +"і :meth:`__radd__` мають бути визначені як:" + +msgid "" +"There are 5 different cases for a mixed-type operation on subclasses of :" +"class:`Complex`. I'll refer to all of the above code that doesn't refer to " +"``MyIntegral`` and ``OtherTypeIKnowAbout`` as \"boilerplate\". ``a`` will be " +"an instance of ``A``, which is a subtype of :class:`Complex` (``a : A <: " +"Complex``), and ``b : B <: Complex``. I'll consider ``a + b``:" +msgstr "" +"Є 5 різних випадків для операції змішаного типу над підкласами :class:" +"`Complex`. Я буду називати весь наведений вище код, який не посилається на " +"``MyIntegral`` і ``OtherTypeIKnowAbout``, як \"шаблонний\". ``a`` буде " +"екземпляром ``A``, який є підтипом :class:`Complex` (``a : A <: Complex``), " +"і ``b : B <: Complex``. Я розглядаю ``a + b``:" + +msgid "If ``A`` defines an :meth:`__add__` which accepts ``b``, all is well." +msgstr "Якщо ``A`` визначає :meth:`__add__`, який приймає ``b``, все добре." + +msgid "" +"If ``A`` falls back to the boilerplate code, and it were to return a value " +"from :meth:`__add__`, we'd miss the possibility that ``B`` defines a more " +"intelligent :meth:`__radd__`, so the boilerplate should return :const:" +"`NotImplemented` from :meth:`__add__`. (Or ``A`` may not implement :meth:" +"`__add__` at all.)" +msgstr "" +"Якщо ``A`` повернеться до шаблонного коду, і він мав би повернути значення " +"з :meth:`__add__`, ми упустимо можливість того, що ``B`` визначає більш " +"розумний :meth:`__radd__` , тому шаблон має повертати :const:" +"`NotImplemented` з :meth:`__add__`. (Або ``A`` може взагалі не " +"реалізовувати :meth:`__add__`.)" + +msgid "" +"Then ``B``'s :meth:`__radd__` gets a chance. If it accepts ``a``, all is " +"well." +msgstr "" +"Тоді ``B`` :meth:`__radd__` отримує шанс. Якщо він приймає ``a``, все добре." + +msgid "" +"If it falls back to the boilerplate, there are no more possible methods to " +"try, so this is where the default implementation should live." +msgstr "" +"Якщо він повернеться до шаблону, більше не буде можливих методів, які можна " +"спробувати, тому тут має бути реалізація за замовчуванням." + +msgid "" +"If ``B <: A``, Python tries ``B.__radd__`` before ``A.__add__``. This is ok, " +"because it was implemented with knowledge of ``A``, so it can handle those " +"instances before delegating to :class:`Complex`." +msgstr "" +"Якщо ``B <: A``, Python намагається ``B.__radd__`` перед ``A.__add__``. Це " +"нормально, тому що його було реалізовано зі знанням ``A``, тому він може " +"обробити ці випадки перед делегуванням :class:`Complex`." + +msgid "" +"If ``A <: Complex`` and ``B <: Real`` without sharing any other knowledge, " +"then the appropriate shared operation is the one involving the built in :" +"class:`complex`, and both :meth:`__radd__` s land there, so ``a+b == b+a``." +msgstr "" +"Якщо ``A <: Complex`` і ``B <: Real`` без спільного використання будь-яких " +"інших знань, то відповідною спільною операцією є та, що включає вбудований :" +"class:`complex`, і обидві :meth:`__radd__`s земля там, тому ``a+b == b+a``." + +msgid "" +"Because most of the operations on any given type will be very similar, it " +"can be useful to define a helper function which generates the forward and " +"reverse instances of any given operator. For example, :class:`fractions." +"Fraction` uses::" +msgstr "" +"Оскільки більшість операцій над будь-яким заданим типом будуть дуже схожими, " +"може бути корисним визначити допоміжну функцію, яка генерує прямі та " +"зворотні екземпляри будь-якого даного оператора. Наприклад, :class:" +"`fractions.Fraction` використовує::" diff --git a/library/numeric.po b/library/numeric.po new file mode 100644 index 000000000..7372bbd1a --- /dev/null +++ b/library/numeric.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Numeric and Mathematical Modules" +msgstr "Числові та математичні модулі" + +msgid "" +"The modules described in this chapter provide numeric and math-related " +"functions and data types. The :mod:`numbers` module defines an abstract " +"hierarchy of numeric types. The :mod:`math` and :mod:`cmath` modules contain " +"various mathematical functions for floating-point and complex numbers. The :" +"mod:`decimal` module supports exact representations of decimal numbers, " +"using arbitrary precision arithmetic." +msgstr "" +"Модулі, описані в цьому розділі, забезпечують числові та математичні функції " +"та типи даних. Модуль :mod:`numbers` визначає абстрактну ієрархію числових " +"типів. Модулі :mod:`math` і :mod:`cmath` містять різні математичні функції " +"для чисел з плаваючою комою та комплексних чисел. Модуль :mod:`decimal` " +"підтримує точне представлення десяткових чисел за допомогою арифметики " +"довільної точності." + +msgid "The following modules are documented in this chapter:" +msgstr "У цьому розділі задокументовано такі модулі:" diff --git a/library/operator.po b/library/operator.po new file mode 100644 index 000000000..1089647ec --- /dev/null +++ b/library/operator.po @@ -0,0 +1,726 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`operator` --- Standard operators as functions" +msgstr ":mod:`operator` --- Стандартні оператори як функції" + +msgid "**Source code:** :source:`Lib/operator.py`" +msgstr "**Вихідний код:** :source:`Lib/operator.py`" + +msgid "" +"The :mod:`operator` module exports a set of efficient functions " +"corresponding to the intrinsic operators of Python. For example, ``operator." +"add(x, y)`` is equivalent to the expression ``x+y``. Many function names are " +"those used for special methods, without the double underscores. For " +"backward compatibility, many of these have a variant with the double " +"underscores kept. The variants without the double underscores are preferred " +"for clarity." +msgstr "" +"Модуль :mod:`operator` експортує набір ефективних функцій, що відповідають " +"внутрішнім операторам Python. Наприклад, ``operator.add(x, y)`` " +"еквівалентний виразу ``x+y``. Багато назв функцій використовуються для " +"спеціальних методів без подвійного підкреслення. Для зворотної сумісності " +"багато з них мають варіант із збереженням подвійного підкреслення. Варіанти " +"без подвійного підкреслення є кращими для ясності." + +msgid "" +"The functions fall into categories that perform object comparisons, logical " +"operations, mathematical operations and sequence operations." +msgstr "" +"Функції поділяються на категорії, які виконують порівняння об’єктів, логічні " +"операції, математичні операції та операції послідовності." + +msgid "" +"The object comparison functions are useful for all objects, and are named " +"after the rich comparison operators they support:" +msgstr "" +"Функції порівняння об’єктів корисні для всіх об’єктів і названі на честь " +"розширених операторів порівняння, які вони підтримують:" + +msgid "" +"Perform \"rich comparisons\" between *a* and *b*. Specifically, ``lt(a, b)`` " +"is equivalent to ``a < b``, ``le(a, b)`` is equivalent to ``a <= b``, " +"``eq(a, b)`` is equivalent to ``a == b``, ``ne(a, b)`` is equivalent to ``a !" +"= b``, ``gt(a, b)`` is equivalent to ``a > b`` and ``ge(a, b)`` is " +"equivalent to ``a >= b``. Note that these functions can return any value, " +"which may or may not be interpretable as a Boolean value. See :ref:" +"`comparisons` for more information about rich comparisons." +msgstr "" +"Виконайте \"багаті порівняння\" між *a* і *b*. Зокрема, ``lt(a, b)`` " +"еквівалентно ``a < b``, ``le(a, b)`` is equivalent to ``a <= b``, ``eq(a, " +"b)`` is equivalent to ``a == b``, ``ne(a, b)`` is equivalent to ``a != b``, " +"``gt(a, b)`` is equivalent to ``a > b``, а ``ge(a, b)`` еквівалентно ``a >= " +"b``. Зауважте, що ці функції можуть повертати будь-яке значення, яке може " +"інтерпретуватися як логічне значення. Перегляньте :ref:`comparisons` для " +"отримання додаткової інформації про розширені порівняння." + +msgid "" +"The logical operations are also generally applicable to all objects, and " +"support truth tests, identity tests, and boolean operations:" +msgstr "" +"Логічні операції також зазвичай застосовуються до всіх об’єктів і " +"підтримують тести істинності, перевірки ідентичності та логічні операції:" + +msgid "" +"Return the outcome of :keyword:`not` *obj*. (Note that there is no :meth:" +"`__not__` method for object instances; only the interpreter core defines " +"this operation. The result is affected by the :meth:`__bool__` and :meth:" +"`__len__` methods.)" +msgstr "" +"Повертає результат :keyword:`not` *obj*. (Зверніть увагу, що немає методу :" +"meth:`__not__` для екземплярів об’єктів; лише ядро інтерпретатора визначає " +"цю операцію. На результат впливають методи :meth:`__bool__` і :meth:" +"`__len__`.)" + +msgid "" +"Return :const:`True` if *obj* is true, and :const:`False` otherwise. This " +"is equivalent to using the :class:`bool` constructor." +msgstr "" +"Повертає :const:`True`, якщо *obj* має значення true, і :const:`False` в " +"іншому випадку. Це еквівалентно використанню конструктора :class:`bool`." + +msgid "Return ``a is b``. Tests object identity." +msgstr "Повернути ``a is b``. Перевіряє ідентичність об'єкта." + +msgid "Return ``a is not b``. Tests object identity." +msgstr "Повернути ``a не є b``. Перевіряє ідентичність об'єкта." + +msgid "The mathematical and bitwise operations are the most numerous:" +msgstr "Найбільш численні математичні та порозрядні операції:" + +msgid "Return the absolute value of *obj*." +msgstr "Повертає абсолютне значення *obj*." + +msgid "Return ``a + b``, for *a* and *b* numbers." +msgstr "Повертає ``a + b`` для чисел *a* і *b*." + +msgid "Return the bitwise and of *a* and *b*." +msgstr "Повертає побітове і для *a* і *b*." + +msgid "Return ``a // b``." +msgstr "Повернути ``a // b``." + +msgid "Return *a* converted to an integer. Equivalent to ``a.__index__()``." +msgstr "" +"Повернути *a*, перетворене на ціле число. Еквівалент ``a.__index__()``." + +msgid "" +"The result always has exact type :class:`int`. Previously, the result could " +"have been an instance of a subclass of ``int``." +msgstr "" +"Результат завжди має точний тип :class:`int`. Раніше результат міг бути " +"екземпляром підкласу ``int``." + +msgid "" +"Return the bitwise inverse of the number *obj*. This is equivalent to " +"``~obj``." +msgstr "Повертає побітове обернення числа *obj*. Це еквівалентно ``~obj``." + +msgid "Return *a* shifted left by *b*." +msgstr "Повернути *a* зі зсувом вліво на *b*." + +msgid "Return ``a % b``." +msgstr "Повернути ``a % b``." + +msgid "Return ``a * b``, for *a* and *b* numbers." +msgstr "Повертає ``a * b`` для чисел *a* і *b*." + +msgid "Return ``a @ b``." +msgstr "Повернути ``a @ b``." + +msgid "Return *obj* negated (``-obj``)." +msgstr "Повернути *obj* відхилено (``-obj``)." + +msgid "Return the bitwise or of *a* and *b*." +msgstr "Повертає побітове або *a* і *b*." + +msgid "Return *obj* positive (``+obj``)." +msgstr "Повертає *obj* позитивний (``+obj``)." + +msgid "Return ``a ** b``, for *a* and *b* numbers." +msgstr "Повертає ``a ** b`` для чисел *a* і *b*." + +msgid "Return *a* shifted right by *b*." +msgstr "Повернути *a* зі зсувом вправо на *b*." + +msgid "Return ``a - b``." +msgstr "Повернути ``a - b``." + +msgid "" +"Return ``a / b`` where 2/3 is .66 rather than 0. This is also known as " +"\"true\" division." +msgstr "" +"Повертає ``a / b``, де 2/3 дорівнює 0,66, а не 0. Це також відоме як " +"\"справжнє\" ділення." + +msgid "Return the bitwise exclusive or of *a* and *b*." +msgstr "Повертає порозрядне виключне або *a* і *b*." + +msgid "" +"Operations which work with sequences (some of them with mappings too) " +"include:" +msgstr "" +"Операції, які працюють із послідовностями (деякі з них також із " +"відображеннями), включають:" + +msgid "Return ``a + b`` for *a* and *b* sequences." +msgstr "Повертає ``a + b`` для послідовностей *a* і *b*." + +msgid "Return the outcome of the test ``b in a``. Note the reversed operands." +msgstr "" +"Повертає результат тесту ``b в a``. Зверніть увагу на зворотні операнди." + +msgid "Return the number of occurrences of *b* in *a*." +msgstr "Повертає кількість входжень *b* у *a*." + +msgid "Remove the value of *a* at index *b*." +msgstr "Видалити значення *a* в індексі *b*." + +msgid "Return the value of *a* at index *b*." +msgstr "Повертає значення *a* за індексом *b*." + +msgid "Return the index of the first of occurrence of *b* in *a*." +msgstr "Повертає індекс першого входження *b* в *a*." + +msgid "Set the value of *a* at index *b* to *c*." +msgstr "Установіть значення *a* в індексі *b* на *c*." + +msgid "" +"Return an estimated length for the object *o*. First try to return its " +"actual length, then an estimate using :meth:`object.__length_hint__`, and " +"finally return the default value." +msgstr "" +"Повертає приблизну довжину об’єкта *o*. Спочатку спробуйте повернути його " +"фактичну довжину, потім оцінку за допомогою :meth:`object.__length_hint__` " +"і, нарешті, поверніть значення за замовчуванням." + +msgid "The following operation works with callables:" +msgstr "" + +msgid "Return ``obj(*args, **kwargs)``." +msgstr "" + +msgid "" +"The :mod:`operator` module also defines tools for generalized attribute and " +"item lookups. These are useful for making fast field extractors as " +"arguments for :func:`map`, :func:`sorted`, :meth:`itertools.groupby`, or " +"other functions that expect a function argument." +msgstr "" +"Модуль :mod:`operator` також визначає інструменти для узагальненого пошуку " +"атрибутів і елементів. Вони корисні для створення швидких екстракторів полів " +"як аргументів для :func:`map`, :func:`sorted`, :meth:`itertools.groupby` або " +"інших функцій, які очікують аргумент функції." + +msgid "" +"Return a callable object that fetches *attr* from its operand. If more than " +"one attribute is requested, returns a tuple of attributes. The attribute " +"names can also contain dots. For example:" +msgstr "" +"Повертає викликаний об’єкт, який отримує *attr* зі свого операнда. Якщо " +"запитується більше ніж один атрибут, повертає кортеж атрибутів. Назви " +"атрибутів також можуть містити крапки. Наприклад:" + +msgid "After ``f = attrgetter('name')``, the call ``f(b)`` returns ``b.name``." +msgstr "Після ``f = attrgetter('name')`` виклик ``f(b)`` повертає ``b.name``." + +msgid "" +"After ``f = attrgetter('name', 'date')``, the call ``f(b)`` returns ``(b." +"name, b.date)``." +msgstr "" +"Після ``f = attrgetter('name', 'date')`` виклик ``f(b)`` повертає ``(b.name, " +"b.date)``." + +msgid "" +"After ``f = attrgetter('name.first', 'name.last')``, the call ``f(b)`` " +"returns ``(b.name.first, b.name.last)``." +msgstr "" +"Після ``f = attrgetter('name.first', 'name.last')`` виклик ``f(b)`` повертає " +"``(b.name.first, b.name.last)`` ." + +msgid "Equivalent to::" +msgstr "Дорівнює::" + +msgid "" +"Return a callable object that fetches *item* from its operand using the " +"operand's :meth:`__getitem__` method. If multiple items are specified, " +"returns a tuple of lookup values. For example:" +msgstr "" +"Повертає викликаний об’єкт, який отримує *item* зі свого операнда за " +"допомогою методу :meth:`__getitem__` операнда. Якщо вказано кілька " +"елементів, повертає кортеж значень пошуку. Наприклад:" + +msgid "After ``f = itemgetter(2)``, the call ``f(r)`` returns ``r[2]``." +msgstr "Після ``f = itemgetter(2)`` виклик ``f(r)`` повертає ``r[2]``." + +msgid "" +"After ``g = itemgetter(2, 5, 3)``, the call ``g(r)`` returns ``(r[2], r[5], " +"r[3])``." +msgstr "" +"Після ``g = itemgetter(2, 5, 3)`` виклик ``g(r)`` повертає ``(r[2], r[5], " +"r[3])``." + +msgid "" +"The items can be any type accepted by the operand's :meth:`__getitem__` " +"method. Dictionaries accept any hashable value. Lists, tuples, and strings " +"accept an index or a slice:" +msgstr "" +"Елементи можуть бути будь-якого типу, прийнятного методом :meth:" +"`__getitem__` операнда. Словники приймають будь-які хешовані значення. " +"Списки, кортежі та рядки приймають індекс або зріз:" + +msgid "" +"Example of using :func:`itemgetter` to retrieve specific fields from a tuple " +"record:" +msgstr "" +"Приклад використання :func:`itemgetter` для отримання певних полів із запису " +"кортежу:" + +msgid "" +"Return a callable object that calls the method *name* on its operand. If " +"additional arguments and/or keyword arguments are given, they will be given " +"to the method as well. For example:" +msgstr "" +"Повертає викликаний об’єкт, який викликає метод *ім’я* свого операнда. Якщо " +"надано додаткові аргументи та/або ключові аргументи, вони також будуть " +"надані методу. Наприклад:" + +msgid "" +"After ``f = methodcaller('name')``, the call ``f(b)`` returns ``b.name()``." +msgstr "" +"Після ``f = methodcaller('name')`` виклик ``f(b)`` повертає ``b.name()``." + +msgid "" +"After ``f = methodcaller('name', 'foo', bar=1)``, the call ``f(b)`` returns " +"``b.name('foo', bar=1)``." +msgstr "" +"Після ``f = methodcaller('name', 'foo', bar=1)`` виклик ``f(b)`` повертає " +"``b.name('foo', bar=1)``." + +msgid "Mapping Operators to Functions" +msgstr "Відображення операторів у функції" + +msgid "" +"This table shows how abstract operations correspond to operator symbols in " +"the Python syntax and the functions in the :mod:`operator` module." +msgstr "" +"У цій таблиці показано, як абстрактні операції відповідають символам " +"операторів у синтаксисі Python і функціям у модулі :mod:`operator`." + +msgid "Operation" +msgstr "Операція" + +msgid "Syntax" +msgstr "Синтаксис" + +msgid "Function" +msgstr "функція" + +msgid "Addition" +msgstr "Доповнення" + +msgid "``a + b``" +msgstr "``a + b``" + +msgid "``add(a, b)``" +msgstr "``add(a, b)``" + +msgid "Concatenation" +msgstr "Конкатенація" + +msgid "``seq1 + seq2``" +msgstr "``seq1 + seq2``" + +msgid "``concat(seq1, seq2)``" +msgstr "``concat(seq1, seq2)``" + +msgid "Containment Test" +msgstr "Тест на утримання" + +msgid "``obj in seq``" +msgstr "``obj in seq``" + +msgid "``contains(seq, obj)``" +msgstr "``contains(seq, obj)``" + +msgid "Division" +msgstr "Поділ" + +msgid "``a / b``" +msgstr "``a / b``" + +msgid "``truediv(a, b)``" +msgstr "``truediv(a, b)``" + +msgid "``a // b``" +msgstr "``a // b``" + +msgid "``floordiv(a, b)``" +msgstr "``floordiv(a, b)``" + +msgid "Bitwise And" +msgstr "Порозрядне І" + +msgid "``a & b``" +msgstr "``а і б``" + +msgid "``and_(a, b)``" +msgstr "``і_(a, b)``" + +msgid "Bitwise Exclusive Or" +msgstr "Порозрядне виняткове або" + +msgid "``a ^ b``" +msgstr "``a ^ b``" + +msgid "``xor(a, b)``" +msgstr "``xor(a, b)``" + +msgid "Bitwise Inversion" +msgstr "Побітова інверсія" + +msgid "``~ a``" +msgstr "``~ a``" + +msgid "``invert(a)``" +msgstr "``invert(a)``" + +msgid "Bitwise Or" +msgstr "Побітове або" + +msgid "``a | b``" +msgstr "``a | b``" + +msgid "``or_(a, b)``" +msgstr "``або_(a, b)``" + +msgid "Exponentiation" +msgstr "Піднесення до степеня" + +msgid "``a ** b``" +msgstr "``a ** b``" + +msgid "``pow(a, b)``" +msgstr "``pow(a, b)``" + +msgid "Identity" +msgstr "Ідентичність" + +msgid "``a is b``" +msgstr "``a є b``" + +msgid "``is_(a, b)``" +msgstr "``is_(a, b)``" + +msgid "``a is not b``" +msgstr "``a не є b``" + +msgid "``is_not(a, b)``" +msgstr "``is_not(a, b)``" + +msgid "Indexed Assignment" +msgstr "Індексоване призначення" + +msgid "``obj[k] = v``" +msgstr "``obj[k] = v``" + +msgid "``setitem(obj, k, v)``" +msgstr "``setitem(obj, k, v)``" + +msgid "Indexed Deletion" +msgstr "Індексоване видалення" + +msgid "``del obj[k]``" +msgstr "``del obj[k]``" + +msgid "``delitem(obj, k)``" +msgstr "``виділення(obj, k)``" + +msgid "Indexing" +msgstr "Індексація" + +msgid "``obj[k]``" +msgstr "``obj[k]``" + +msgid "``getitem(obj, k)``" +msgstr "``getitem(obj, k)``" + +msgid "Left Shift" +msgstr "Ліворуч" + +msgid "``a << b``" +msgstr "``a << b``" + +msgid "``lshift(a, b)``" +msgstr "``lshift(a, b)``" + +msgid "Modulo" +msgstr "Модуло" + +msgid "``a % b``" +msgstr "``a % b``" + +msgid "``mod(a, b)``" +msgstr "``mod(a, b)``" + +msgid "Multiplication" +msgstr "Множення" + +msgid "``a * b``" +msgstr "``a * b``" + +msgid "``mul(a, b)``" +msgstr "``mul(a, b)``" + +msgid "Matrix Multiplication" +msgstr "Множення матриць" + +msgid "``a @ b``" +msgstr "``a @ b``" + +msgid "``matmul(a, b)``" +msgstr "``matmul(a, b)``" + +msgid "Negation (Arithmetic)" +msgstr "Заперечення (арифметика)" + +msgid "``- a``" +msgstr "``- a``" + +msgid "``neg(a)``" +msgstr "``neg(a)``" + +msgid "Negation (Logical)" +msgstr "Заперечення (логічне)" + +msgid "``not a``" +msgstr "``не``" + +msgid "``not_(a)``" +msgstr "``not_(a)``" + +msgid "Positive" +msgstr "Позитивний" + +msgid "``+ a``" +msgstr "``+ a``" + +msgid "``pos(a)``" +msgstr "``pos(a)``" + +msgid "Right Shift" +msgstr "Правий Shift" + +msgid "``a >> b``" +msgstr "``a >> b``" + +msgid "``rshift(a, b)``" +msgstr "``rshift(a, b)``" + +msgid "Slice Assignment" +msgstr "Призначення фрагмента" + +msgid "``seq[i:j] = values``" +msgstr "``seq[i:j] = значення``" + +msgid "``setitem(seq, slice(i, j), values)``" +msgstr "``setitem(seq, slice(i, j), values)``" + +msgid "Slice Deletion" +msgstr "Видалення фрагмента" + +msgid "``del seq[i:j]``" +msgstr "``del seq[i:j]``" + +msgid "``delitem(seq, slice(i, j))``" +msgstr "``delitem(seq, slice(i, j))``" + +msgid "Slicing" +msgstr "Нарізка" + +msgid "``seq[i:j]``" +msgstr "``seq[i:j]``" + +msgid "``getitem(seq, slice(i, j))``" +msgstr "``getitem(seq, slice(i, j))``" + +msgid "String Formatting" +msgstr "Форматування рядка" + +msgid "``s % obj``" +msgstr "``s % obj``" + +msgid "``mod(s, obj)``" +msgstr "``mod(s, obj)``" + +msgid "Subtraction" +msgstr "Віднімання" + +msgid "``a - b``" +msgstr "``а - б``" + +msgid "``sub(a, b)``" +msgstr "``під(a, b)``" + +msgid "Truth Test" +msgstr "Тест на правду" + +msgid "``obj``" +msgstr "``obj``" + +msgid "``truth(obj)``" +msgstr "``truth(obj)``" + +msgid "Ordering" +msgstr "Замовлення" + +msgid "``a < b``" +msgstr "``a < b``" + +msgid "``lt(a, b)``" +msgstr "``lt(a, b)``" + +msgid "``a <= b``" +msgstr "``a <= b``" + +msgid "``le(a, b)``" +msgstr "``le(a, b)``" + +msgid "Equality" +msgstr "Рівність" + +msgid "``a == b``" +msgstr "``a == b``" + +msgid "``eq(a, b)``" +msgstr "``eq(a, b)``" + +msgid "Difference" +msgstr "Різниця" + +msgid "``a != b``" +msgstr "``a != b``" + +msgid "``ne(a, b)``" +msgstr "``ne(a, b)``" + +msgid "``a >= b``" +msgstr "``a >= b``" + +msgid "``ge(a, b)``" +msgstr "``ge(a, b)``" + +msgid "``a > b``" +msgstr "``a > b``" + +msgid "``gt(a, b)``" +msgstr "``gt(a, b)``" + +msgid "In-place Operators" +msgstr "Оператори на місці" + +msgid "" +"Many operations have an \"in-place\" version. Listed below are functions " +"providing a more primitive access to in-place operators than the usual " +"syntax does; for example, the :term:`statement` ``x += y`` is equivalent to " +"``x = operator.iadd(x, y)``. Another way to put it is to say that ``z = " +"operator.iadd(x, y)`` is equivalent to the compound statement ``z = x; z += " +"y``." +msgstr "" +"Багато операцій мають версію \"на місці\". Нижче наведено функції, які " +"забезпечують примітивніший доступ до операторів на місці, ніж звичайний " +"синтаксис; наприклад, раз (:term:`statement`) ``x += y`` еквівалентний ``x = " +"operator.iadd(x, y)``. Інший спосіб сказати, що ``z = operator.iadd(x, y)`` " +"еквівалентно складеному оператору ``z = x; z += y``." + +msgid "" +"In those examples, note that when an in-place method is called, the " +"computation and assignment are performed in two separate steps. The in-" +"place functions listed below only do the first step, calling the in-place " +"method. The second step, assignment, is not handled." +msgstr "" +"У цих прикладах зауважте, що під час виклику методу на місці обчислення та " +"призначення виконуються у два окремі кроки. Перелічені нижче функції на " +"місці виконують лише перший крок, викликаючи метод на місці. Другий крок, " +"призначення, не обробляється." + +msgid "" +"For immutable targets such as strings, numbers, and tuples, the updated " +"value is computed, but not assigned back to the input variable:" +msgstr "" +"Для незмінних цілей, таких як рядки, числа та кортежі, оновлене значення " +"обчислюється, але не призначається назад вхідній змінній:" + +msgid "" +"For mutable targets such as lists and dictionaries, the in-place method will " +"perform the update, so no subsequent assignment is necessary:" +msgstr "" +"Для змінних цілей, таких як списки та словники, метод на місці виконає " +"оновлення, тому подальше призначення не потрібне:" + +msgid "``a = iadd(a, b)`` is equivalent to ``a += b``." +msgstr "``a = iadd(a, b)`` еквівалентно ``a += b``." + +msgid "``a = iand(a, b)`` is equivalent to ``a &= b``." +msgstr "``a = iand(a, b)`` еквівалентно ``a &= b``." + +msgid "" +"``a = iconcat(a, b)`` is equivalent to ``a += b`` for *a* and *b* sequences." +msgstr "" +"``a = iconcat(a, b)`` еквівалентно ``a += b`` для послідовностей *a* і *b*." + +msgid "``a = ifloordiv(a, b)`` is equivalent to ``a //= b``." +msgstr "``a = ifloordiv(a, b)`` еквівалентно ``a //= b``." + +msgid "``a = ilshift(a, b)`` is equivalent to ``a <<= b``." +msgstr "``a = ilshift(a, b)`` еквівалентно ``a <<= b``." + +msgid "``a = imod(a, b)`` is equivalent to ``a %= b``." +msgstr "``a = imod(a, b)`` еквівалентно ``a %= b``." + +msgid "``a = imul(a, b)`` is equivalent to ``a *= b``." +msgstr "``a = imul(a, b)`` еквівалентно ``a *= b``." + +msgid "``a = imatmul(a, b)`` is equivalent to ``a @= b``." +msgstr "``a = imatmul(a, b)`` еквівалентно ``a @= b``." + +msgid "``a = ior(a, b)`` is equivalent to ``a |= b``." +msgstr "``a = ior(a, b)`` еквівалентно ``a |= b``." + +msgid "``a = ipow(a, b)`` is equivalent to ``a **= b``." +msgstr "``a = ipow(a, b)`` еквівалентно ``a **= b``." + +msgid "``a = irshift(a, b)`` is equivalent to ``a >>= b``." +msgstr "``a = irshift(a, b)`` еквівалентно ``a >>= b``." + +msgid "``a = isub(a, b)`` is equivalent to ``a -= b``." +msgstr "``a = isub(a, b)`` еквівалентно ``a -= b``." + +msgid "``a = itruediv(a, b)`` is equivalent to ``a /= b``." +msgstr "``a = itruediv(a, b)`` еквівалентно ``a /= b``." + +msgid "``a = ixor(a, b)`` is equivalent to ``a ^= b``." +msgstr "``a = ixor(a, b)`` еквівалентно ``a ^= b``." diff --git a/library/optparse.po b/library/optparse.po new file mode 100644 index 000000000..5ae19009b --- /dev/null +++ b/library/optparse.po @@ -0,0 +1,2821 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`optparse` --- Parser for command line options" +msgstr ":mod:`optparse` --- Парсер параметрів командного рядка" + +msgid "**Source code:** :source:`Lib/optparse.py`" +msgstr "**Вихідний код:** :source:`Lib/optparse.py`" + +msgid "" +"The :mod:`optparse` module is deprecated and will not be developed further; " +"development will continue with the :mod:`argparse` module." +msgstr "" +"Модуль :mod:`optparse` застарів і не розроблятиметься надалі; розробка " +"продовжиться з модулем :mod:`argparse`." + +msgid "" +":mod:`optparse` is a more convenient, flexible, and powerful library for " +"parsing command-line options than the old :mod:`getopt` module. :mod:" +"`optparse` uses a more declarative style of command-line parsing: you create " +"an instance of :class:`OptionParser`, populate it with options, and parse " +"the command line. :mod:`optparse` allows users to specify options in the " +"conventional GNU/POSIX syntax, and additionally generates usage and help " +"messages for you." +msgstr "" +":mod:`optparse` — це більш зручна, гнучка та потужна бібліотека для аналізу " +"параметрів командного рядка, ніж старий модуль :mod:`getopt`. :mod:" +"`optparse` використовує більш декларативний стиль аналізу командного рядка: " +"ви створюєте екземпляр :class:`OptionParser`, заповнюєте його параметрами та " +"аналізуєте командний рядок. :mod:`optparse` дозволяє користувачам вказувати " +"параметри у звичайному синтаксисі GNU/POSIX, а також створює для вас " +"повідомлення про використання та довідку." + +msgid "Here's an example of using :mod:`optparse` in a simple script::" +msgstr "Ось приклад використання :mod:`optparse` у простому сценарії::" + +msgid "" +"With these few lines of code, users of your script can now do the \"usual " +"thing\" on the command-line, for example::" +msgstr "" +"За допомогою цих кількох рядків коду користувачі вашого сценарію тепер " +"можуть виконувати \"звичайні дії\" в командному рядку, наприклад:" + +msgid "" +"As it parses the command line, :mod:`optparse` sets attributes of the " +"``options`` object returned by :meth:`parse_args` based on user-supplied " +"command-line values. When :meth:`parse_args` returns from parsing this " +"command line, ``options.filename`` will be ``\"outfile\"`` and ``options." +"verbose`` will be ``False``. :mod:`optparse` supports both long and short " +"options, allows short options to be merged together, and allows options to " +"be associated with their arguments in a variety of ways. Thus, the " +"following command lines are all equivalent to the above example::" +msgstr "" +"Під час аналізу командного рядка :mod:`optparse` встановлює атрибути об’єкта " +"``options``, які повертає :meth:`parse_args`, на основі значень командного " +"рядка, наданих користувачем. Коли :meth:`parse_args` повертається після " +"аналізу цього командного рядка, ``options.filename`` буде ``\"outfile``, а " +"``options.verbose`` буде ``False``. :mod:`optparse` підтримує як довгі, так " +"і короткі параметри, дозволяє об’єднувати короткі параметри разом і дозволяє " +"пов’язувати параметри з їхніми аргументами різними способами. Таким чином, " +"усі наступні командні рядки еквівалентні наведеному вище прикладу:" + +msgid "Additionally, users can run one of the following ::" +msgstr "Крім того, користувачі можуть запустити одну з таких команд:" + +msgid "" +"and :mod:`optparse` will print out a brief summary of your script's options:" +msgstr "і :mod:`optparse` виведе короткий опис параметрів вашого сценарію:" + +msgid "" +"where the value of *yourscript* is determined at runtime (normally from " +"``sys.argv[0]``)." +msgstr "" +"де значення *yourscript* визначається під час виконання (зазвичай із ``sys." +"argv[0]``)." + +msgid "Background" +msgstr "Фон" + +msgid "" +":mod:`optparse` was explicitly designed to encourage the creation of " +"programs with straightforward, conventional command-line interfaces. To " +"that end, it supports only the most common command-line syntax and semantics " +"conventionally used under Unix. If you are unfamiliar with these " +"conventions, read this section to acquaint yourself with them." +msgstr "" +":mod:`optparse` був спеціально розроблений, щоб заохочувати створення " +"програм із простими звичайними інтерфейсами командного рядка. З цією метою " +"він підтримує лише найпоширеніший синтаксис і семантику командного рядка, " +"які зазвичай використовуються в Unix. Якщо ви не знайомі з цими умовними " +"поняттями, прочитайте цей розділ, щоб ознайомитися з ними." + +msgid "Terminology" +msgstr "Термінологія" + +msgid "argument" +msgstr "аргумент" + +msgid "" +"a string entered on the command-line, and passed by the shell to ``execl()`` " +"or ``execv()``. In Python, arguments are elements of ``sys.argv[1:]`` " +"(``sys.argv[0]`` is the name of the program being executed). Unix shells " +"also use the term \"word\"." +msgstr "" +"рядок, введений у командному рядку та переданий оболонкою до ``execl()`` або " +"``execv()``. У Python аргументи є елементами ``sys.argv[1:]`` (``sys." +"argv[0]`` це ім'я програми, що виконується). Оболонки Unix також " +"використовують термін \"слово\"." + +msgid "" +"It is occasionally desirable to substitute an argument list other than ``sys." +"argv[1:]``, so you should read \"argument\" as \"an element of ``sys." +"argv[1:]``, or of some other list provided as a substitute for ``sys." +"argv[1:]``\"." +msgstr "" +"Час від часу бажано замінити список аргументів іншим, ніж ``sys.argv[1:]``, " +"тому ви повинні читати \"аргумент\" як \"елемент ``sys.argv[1:]`` або деяких " +"інший список надається замість ``sys.argv[1:]``\"." + +msgid "option" +msgstr "варіант" + +msgid "" +"an argument used to supply extra information to guide or customize the " +"execution of a program. There are many different syntaxes for options; the " +"traditional Unix syntax is a hyphen (\"-\") followed by a single letter, e." +"g. ``-x`` or ``-F``. Also, traditional Unix syntax allows multiple options " +"to be merged into a single argument, e.g. ``-x -F`` is equivalent to ``-" +"xF``. The GNU project introduced ``--`` followed by a series of hyphen-" +"separated words, e.g. ``--file`` or ``--dry-run``. These are the only two " +"option syntaxes provided by :mod:`optparse`." +msgstr "" +"аргумент, який використовується для надання додаткової інформації для " +"керівництва або налаштування виконання програми. Існує багато різних " +"синтаксисів для параметрів; традиційний синтаксис Unix - це дефіс (\"-\"), " +"за яким йде одна літера, напр. ``-x`` або ``-F``. Крім того, традиційний " +"синтаксис Unix дозволяє об’єднати кілька параметрів в один аргумент, " +"наприклад. ``-x -F`` еквівалентно ``-xF``. У проекті GNU було введено ``--" +"``, за яким йшов ряд слів, розділених дефісом, напр. ``--file`` або ``--dry-" +"run``. Це єдині два синтаксиси параметрів, які надає :mod:`optparse`." + +msgid "Some other option syntaxes that the world has seen include:" +msgstr "Деякі інші синтаксиси параметрів, які бачив світ, включають:" + +msgid "" +"a hyphen followed by a few letters, e.g. ``-pf`` (this is *not* the same as " +"multiple options merged into a single argument)" +msgstr "" +"дефіс, за яким слідує кілька літер, напр. ``-pf`` (це *не* те саме, що " +"кілька параметрів, об’єднаних в один аргумент)" + +msgid "" +"a hyphen followed by a whole word, e.g. ``-file`` (this is technically " +"equivalent to the previous syntax, but they aren't usually seen in the same " +"program)" +msgstr "" +"дефіс, за яким іде ціле слово, напр. ``-файл`` (технічно це еквівалент " +"попереднього синтаксису, але вони зазвичай не зустрічаються в одній програмі)" + +msgid "" +"a plus sign followed by a single letter, or a few letters, or a word, e.g. ``" +"+f``, ``+rgb``" +msgstr "" +"знак плюс, після якого йде одна літера, або кілька літер, або слово, напр. ``" +"+f``, ``+rgb``" + +msgid "" +"a slash followed by a letter, or a few letters, or a word, e.g. ``/f``, ``/" +"file``" +msgstr "" +"косу риску, за якою йде літера, або кілька літер, або слово, напр. ``/f``, " +"``/file``" + +msgid "" +"These option syntaxes are not supported by :mod:`optparse`, and they never " +"will be. This is deliberate: the first three are non-standard on any " +"environment, and the last only makes sense if you're exclusively targeting " +"Windows or certain legacy platforms (e.g. VMS, MS-DOS)." +msgstr "" +"Ці синтаксиси параметрів не підтримуються :mod:`optparse`, і вони ніколи не " +"будуть. Це зроблено навмисно: перші три є нестандартними для будь-якого " +"середовища, а останній має сенс, лише якщо ви націлені виключно на Windows " +"або певні застарілі платформи (наприклад, VMS, MS-DOS)." + +msgid "option argument" +msgstr "аргумент опції" + +msgid "" +"an argument that follows an option, is closely associated with that option, " +"and is consumed from the argument list when that option is. With :mod:" +"`optparse`, option arguments may either be in a separate argument from their " +"option:" +msgstr "" +"аргумент, який слідує за опцією, тісно пов’язаний із цією опцією та " +"споживається зі списку аргументів, коли ця опція є. З :mod:`optparse` " +"аргументи опції можуть бути в окремому аргументі від їхньої опції:" + +msgid "or included in the same argument:" +msgstr "або включено в той самий аргумент:" + +msgid "" +"Typically, a given option either takes an argument or it doesn't. Lots of " +"people want an \"optional option arguments\" feature, meaning that some " +"options will take an argument if they see it, and won't if they don't. This " +"is somewhat controversial, because it makes parsing ambiguous: if ``-a`` " +"takes an optional argument and ``-b`` is another option entirely, how do we " +"interpret ``-ab``? Because of this ambiguity, :mod:`optparse` does not " +"support this feature." +msgstr "" +"Як правило, певна опція приймає аргумент або ні. Багатьом людям потрібна " +"функція \"необов’язкових аргументів параметрів\", тобто деякі параметри " +"прийматимуть аргумент, якщо вони його бачать, і ні, якщо вони його не " +"бачать. Це дещо суперечливо, оскільки це робить розбір неоднозначним: якщо " +"``-a`` приймає необов’язковий аргумент, а ``-b`` є іншим варіантом, як ми " +"інтерпретуємо ``-ab``? Через цю неоднозначність :mod:`optparse` не підтримує " +"цю функцію." + +msgid "positional argument" +msgstr "позиційний аргумент" + +msgid "" +"something leftover in the argument list after options have been parsed, i.e. " +"after options and their arguments have been parsed and removed from the " +"argument list." +msgstr "" +"щось, що залишилося в списку аргументів після аналізу параметрів, тобто " +"після аналізу параметрів і їхніх аргументів і видалення зі списку аргументів." + +msgid "required option" +msgstr "необхідна опція" + +msgid "" +"an option that must be supplied on the command-line; note that the phrase " +"\"required option\" is self-contradictory in English. :mod:`optparse` " +"doesn't prevent you from implementing required options, but doesn't give you " +"much help at it either." +msgstr "" +"параметр, який необхідно вказати в командному рядку; зауважте, що фраза " +"\"необхідна опція\" є суперечливою англійською мовою. :mod:`optparse` не " +"заважає вам реалізовувати необхідні параметри, але й не дуже допомагає в " +"цьому." + +msgid "For example, consider this hypothetical command-line::" +msgstr "Наприклад, розглянемо цей гіпотетичний командний рядок::" + +msgid "" +"``-v`` and ``--report`` are both options. Assuming that ``--report`` takes " +"one argument, ``report.txt`` is an option argument. ``foo`` and ``bar`` are " +"positional arguments." +msgstr "" +"``-v`` і ``--report`` є варіантами. Якщо припустити, що ``--report`` приймає " +"один аргумент, ``report.txt`` є аргументом опції. ``foo`` і ``bar`` є " +"позиційними аргументами." + +msgid "What are options for?" +msgstr "Для чого існують варіанти?" + +msgid "" +"Options are used to provide extra information to tune or customize the " +"execution of a program. In case it wasn't clear, options are usually " +"*optional*. A program should be able to run just fine with no options " +"whatsoever. (Pick a random program from the Unix or GNU toolsets. Can it " +"run without any options at all and still make sense? The main exceptions " +"are ``find``, ``tar``, and ``dd``\\ ---all of which are mutant oddballs that " +"have been rightly criticized for their non-standard syntax and confusing " +"interfaces.)" +msgstr "" +"Параметри використовуються для надання додаткової інформації для " +"налаштування або налаштування виконання програми. Якщо це було незрозуміло, " +"параметри зазвичай *необов’язкові*. Програма повинна нормально працювати без " +"будь-яких опцій. (Виберіть випадкову програму з наборів інструментів Unix " +"або GNU. Чи може вона запускатися взагалі без будь-яких параметрів і мати " +"сенс? Основними винятками є ``find``, ``tar`` і ``dd``\\ -- - усі вони є " +"диваками-мутантами, яких справедливо критикували за нестандартний синтаксис " +"і заплутані інтерфейси.)" + +msgid "" +"Lots of people want their programs to have \"required options\". Think " +"about it. If it's required, then it's *not optional*! If there is a piece " +"of information that your program absolutely requires in order to run " +"successfully, that's what positional arguments are for." +msgstr "" +"Багато людей хочуть, щоб їхні програми мали \"необхідні параметри\". Подумай " +"над цим. Якщо це потрібно, то це *не обов’язково*! Якщо є частина " +"інформації, яка абсолютно необхідна вашій програмі для успішної роботи, це " +"те, для чого потрібні позиційні аргументи." + +msgid "" +"As an example of good command-line interface design, consider the humble " +"``cp`` utility, for copying files. It doesn't make much sense to try to " +"copy files without supplying a destination and at least one source. Hence, " +"``cp`` fails if you run it with no arguments. However, it has a flexible, " +"useful syntax that does not require any options at all::" +msgstr "" +"Як приклад гарного дизайну інтерфейсу командного рядка розглянемо скромну " +"утиліту ``cp`` для копіювання файлів. Немає особливого сенсу намагатися " +"скопіювати файли, не вказавши місце призначення та принаймні одне джерело. " +"Отже, ``cp`` не вдається, якщо ви запускаєте його без аргументів. Однак він " +"має гнучкий, корисний синтаксис, який не потребує жодних опцій:" + +msgid "" +"You can get pretty far with just that. Most ``cp`` implementations provide " +"a bunch of options to tweak exactly how the files are copied: you can " +"preserve mode and modification time, avoid following symlinks, ask before " +"clobbering existing files, etc. But none of this distracts from the core " +"mission of ``cp``, which is to copy either one file to another, or several " +"files to another directory." +msgstr "" +"Тільки з цим можна зайти досить далеко. Більшість реалізацій ``cp`` надають " +"безліч параметрів для точного налаштування способу копіювання файлів: ви " +"можете зберегти режим і час модифікації, уникати переходу за символічними " +"посиланнями, запитувати перед тим, як затирати існуючі файли, тощо. Але це " +"не відволікає від основної місії ``cp``, який скопіює або один файл до " +"іншого, або декілька файлів до іншого каталогу." + +msgid "What are positional arguments for?" +msgstr "Для чого потрібні позиційні аргументи?" + +msgid "" +"Positional arguments are for those pieces of information that your program " +"absolutely, positively requires to run." +msgstr "" +"Позиційні аргументи призначені для тих фрагментів інформації, які вашій " +"програмі абсолютно необхідні для роботи." + +msgid "" +"A good user interface should have as few absolute requirements as possible. " +"If your program requires 17 distinct pieces of information in order to run " +"successfully, it doesn't much matter *how* you get that information from the " +"user---most people will give up and walk away before they successfully run " +"the program. This applies whether the user interface is a command-line, a " +"configuration file, or a GUI: if you make that many demands on your users, " +"most of them will simply give up." +msgstr "" +"Хороший інтерфейс користувача повинен мати якомога менше абсолютних вимог. " +"Якщо ваша програма потребує 17 окремих фрагментів інформації для успішної " +"роботи, не має великого значення *як* ви отримуєте цю інформацію від " +"користувача --- більшість людей здадуться та підуть, перш ніж вони успішно " +"запустять програму. Це стосується незалежно від того, чи є інтерфейс " +"користувача командним рядком, файлом конфігурації чи графічним інтерфейсом " +"користувача: якщо ви поставите стільки вимог до своїх користувачів, " +"більшість із них просто здадуться." + +msgid "" +"In short, try to minimize the amount of information that users are " +"absolutely required to supply---use sensible defaults whenever possible. Of " +"course, you also want to make your programs reasonably flexible. That's " +"what options are for. Again, it doesn't matter if they are entries in a " +"config file, widgets in the \"Preferences\" dialog of a GUI, or command-line " +"options---the more options you implement, the more flexible your program is, " +"and the more complicated its implementation becomes. Too much flexibility " +"has drawbacks as well, of course; too many options can overwhelm users and " +"make your code much harder to maintain." +msgstr "" +"Коротше кажучи, намагайтеся мінімізувати кількість інформації, яку " +"користувачі абсолютно зобов’язані надавати --- використовуйте розумні " +"значення за замовчуванням, коли це можливо. Звичайно, ви також хочете " +"зробити свої програми досить гнучкими. Для цього і потрібні варіанти. Знову " +"ж таки, не має значення, чи це записи у конфігураційному файлі, віджети в " +"діалоговому вікні \"Параметри\" графічного інтерфейсу користувача чи " +"параметри командного рядка --- чим більше параметрів ви застосовуєте, тим " +"гнучкішою є ваша програма, і ускладнюється його реалізація. Занадто велика " +"гнучкість також має недоліки, звичайно; занадто багато параметрів може " +"перевантажити користувачів і зробити ваш код набагато складнішим для " +"підтримки." + +msgid "Tutorial" +msgstr "Підручник" + +msgid "" +"While :mod:`optparse` is quite flexible and powerful, it's also " +"straightforward to use in most cases. This section covers the code patterns " +"that are common to any :mod:`optparse`\\ -based program." +msgstr "" +"Хоча :mod:`optparse` досить гнучкий і потужний, він також простий у " +"використанні в більшості випадків. Цей розділ охоплює шаблони коду, які є " +"спільними для будь-якої програми на основі :mod:`optparse`\\." + +msgid "" +"First, you need to import the OptionParser class; then, early in the main " +"program, create an OptionParser instance::" +msgstr "" +"По-перше, вам потрібно імпортувати клас OptionParser; потім на початку " +"основної програми створіть екземпляр OptionParser::" + +msgid "Then you can start defining options. The basic syntax is::" +msgstr "Потім можна приступати до визначення варіантів. Основний синтаксис::" + +msgid "" +"Each option has one or more option strings, such as ``-f`` or ``--file``, " +"and several option attributes that tell :mod:`optparse` what to expect and " +"what to do when it encounters that option on the command line." +msgstr "" +"Кожна опція має один або більше рядків опції, наприклад ``-f`` або ``--" +"file``, і кілька атрибутів опції, які повідомляють :mod:`optparse`, чого " +"очікувати і що робити, коли він зустрічає цю опцію в командному рядку." + +msgid "" +"Typically, each option will have one short option string and one long option " +"string, e.g.::" +msgstr "" +"Як правило, кожен параметр матиме один короткий рядок параметра та один " +"довгий рядок параметра, наприклад::" + +msgid "" +"You're free to define as many short option strings and as many long option " +"strings as you like (including zero), as long as there is at least one " +"option string overall." +msgstr "" +"Ви можете визначати скільки завгодно коротких рядків параметрів і скільки " +"завгодно довгих рядків параметрів (включаючи нуль), за умови, що є принаймні " +"один рядок параметрів." + +msgid "" +"The option strings passed to :meth:`OptionParser.add_option` are effectively " +"labels for the option defined by that call. For brevity, we will frequently " +"refer to *encountering an option* on the command line; in reality, :mod:" +"`optparse` encounters *option strings* and looks up options from them." +msgstr "" +"Рядки параметрів, передані до :meth:`OptionParser.add_option`, фактично є " +"мітками для параметра, визначеного цим викликом. Для стислості ми будемо " +"часто посилатися на *зустріч параметра* в командному рядку; насправді :mod:" +"`optparse` зустрічає *рядки параметрів* і шукає параметри з них." + +msgid "" +"Once all of your options are defined, instruct :mod:`optparse` to parse your " +"program's command line::" +msgstr "" +"Коли всі ваші параметри визначено, дайте команду :mod:`optparse` " +"проаналізувати командний рядок вашої програми:" + +msgid "" +"(If you like, you can pass a custom argument list to :meth:`parse_args`, but " +"that's rarely necessary: by default it uses ``sys.argv[1:]``.)" +msgstr "" +"(Якщо хочете, ви можете передати настроюваний список аргументів до :meth:" +"`parse_args`, але це рідко потрібно: за замовчуванням він використовує ``sys." +"argv[1:]``.)" + +msgid ":meth:`parse_args` returns two values:" +msgstr ":meth:`parse_args` повертає два значення:" + +msgid "" +"``options``, an object containing values for all of your options---e.g. if " +"``--file`` takes a single string argument, then ``options.file`` will be the " +"filename supplied by the user, or ``None`` if the user did not supply that " +"option" +msgstr "" +"``options``, об’єкт, що містить значення для всіх ваших параметрів --- напр. " +"якщо ``--file`` приймає один рядковий аргумент, ``options.file`` буде іменем " +"файлу, наданим користувачем, або ``None``, якщо користувач не вказав цей " +"параметр" + +msgid "" +"``args``, the list of positional arguments leftover after parsing options" +msgstr "" +"``args``, список позиційних аргументів, що залишилися після аналізу " +"параметрів" + +msgid "" +"This tutorial section only covers the four most important option " +"attributes: :attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option." +"dest` (destination), and :attr:`~Option.help`. Of these, :attr:`~Option." +"action` is the most fundamental." +msgstr "" +"Цей розділ посібника охоплює лише чотири найважливіші атрибути параметрів: :" +"attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option.dest` " +"(призначення) і :attr:`~Option.help`. З них :attr:`~Option.action` є " +"найбільш фундаментальним." + +msgid "Understanding option actions" +msgstr "Розуміння опціональних дій" + +msgid "" +"Actions tell :mod:`optparse` what to do when it encounters an option on the " +"command line. There is a fixed set of actions hard-coded into :mod:" +"`optparse`; adding new actions is an advanced topic covered in section :ref:" +"`optparse-extending-optparse`. Most actions tell :mod:`optparse` to store a " +"value in some variable---for example, take a string from the command line " +"and store it in an attribute of ``options``." +msgstr "" +"Дії повідомляють :mod:`optparse`, що робити, коли він зустрічає опцію в " +"командному рядку. Існує фіксований набір дій, жорстко закодований у :mod:" +"`optparse`; додавання нових дій є розширеною темою, розглянутою в розділі :" +"ref:`optparse-extending-optparse`. Більшість дій говорять :mod:`optparse` " +"зберігати значення в деякій змінній --- наприклад, взяти рядок із командного " +"рядка та зберегти його в атрибуті ``options``." + +msgid "" +"If you don't specify an option action, :mod:`optparse` defaults to ``store``." +msgstr "" +"Якщо ви не вкажете опцію дії, :mod:`optparse` за замовчуванням буде " +"``store``." + +msgid "The store action" +msgstr "Акція магазину" + +msgid "" +"The most common option action is ``store``, which tells :mod:`optparse` to " +"take the next argument (or the remainder of the current argument), ensure " +"that it is of the correct type, and store it to your chosen destination." +msgstr "" +"Найпоширенішою дією опції є ``store``, яка повідомляє :mod:`optparse` взяти " +"наступний аргумент (або решту поточного аргументу), переконатися, що він має " +"правильний тип, і зберегти його у вибраному призначення." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"Now let's make up a fake command line and ask :mod:`optparse` to parse it::" +msgstr "" +"Тепер давайте створимо фальшивий командний рядок і попросимо :mod:`optparse` " +"розібрати його::" + +msgid "" +"When :mod:`optparse` sees the option string ``-f``, it consumes the next " +"argument, ``foo.txt``, and stores it in ``options.filename``. So, after " +"this call to :meth:`parse_args`, ``options.filename`` is ``\"foo.txt\"``." +msgstr "" +"Коли :mod:`optparse` бачить рядок параметрів ``-f``, він використовує " +"наступний аргумент ``foo.txt`` і зберігає його в ``options.filename``. Отже, " +"після цього виклику :meth:`parse_args`, ``options.filename`` буде ``\"foo.txt" +"\"``." + +msgid "" +"Some other option types supported by :mod:`optparse` are ``int`` and " +"``float``. Here's an option that expects an integer argument::" +msgstr "" +"Деякі інші типи опцій, які підтримує :mod:`optparse`, це ``int`` і " +"``float``. Ось варіант, який очікує цілочисельний аргумент::" + +msgid "" +"Note that this option has no long option string, which is perfectly " +"acceptable. Also, there's no explicit action, since the default is ``store``." +msgstr "" +"Зауважте, що цей параметр не має довгого рядка параметрів, що цілком " +"прийнятно. Крім того, немає явної дії, оскільки за замовчуванням є ``store``." + +msgid "" +"Let's parse another fake command-line. This time, we'll jam the option " +"argument right up against the option: since ``-n42`` (one argument) is " +"equivalent to ``-n 42`` (two arguments), the code ::" +msgstr "" +"Давайте розберемо ще один підроблений командний рядок. Цього разу ми " +"зіткнемося з аргументом option прямо проти параметра: оскільки ``-n42`` " +"(один аргумент) еквівалентний ``-n 42`` (два аргументи), код ::" + +msgid "will print ``42``." +msgstr "надрукує ``42``." + +msgid "" +"If you don't specify a type, :mod:`optparse` assumes ``string``. Combined " +"with the fact that the default action is ``store``, that means our first " +"example can be a lot shorter::" +msgstr "" +"Якщо ви не вкажете тип, :mod:`optparse` припускає ``рядок``. У поєднанні з " +"тим фактом, що типовою дією є ``store``, це означає, що наш перший приклад " +"може бути набагато коротшим:" + +msgid "" +"If you don't supply a destination, :mod:`optparse` figures out a sensible " +"default from the option strings: if the first long option string is ``--foo-" +"bar``, then the default destination is ``foo_bar``. If there are no long " +"option strings, :mod:`optparse` looks at the first short option string: the " +"default destination for ``-f`` is ``f``." +msgstr "" +"Якщо ви не вкажете призначення, :mod:`optparse` визначає розумне значення за " +"замовчуванням із рядків параметрів: якщо перший довгий рядок параметрів – " +"``--foo-bar``, тоді призначенням за замовчуванням є ``foo_bar``. Якщо довгих " +"рядків параметрів немає, :mod:`optparse` шукає перший короткий рядок " +"параметрів: типовим призначенням для ``-f`` є ``f``." + +msgid "" +":mod:`optparse` also includes the built-in ``complex`` type. Adding types " +"is covered in section :ref:`optparse-extending-optparse`." +msgstr "" +":mod:`optparse` також містить вбудований тип ``complex``. Додавання типів " +"описано в розділі :ref:`optparse-extending-optparse`." + +msgid "Handling boolean (flag) options" +msgstr "Обробка логічних параметрів (прапорів)." + +msgid "" +"Flag options---set a variable to true or false when a particular option is " +"seen---are quite common. :mod:`optparse` supports them with two separate " +"actions, ``store_true`` and ``store_false``. For example, you might have a " +"``verbose`` flag that is turned on with ``-v`` and off with ``-q``::" +msgstr "" +"Параметри прапорів --- встановлюють для змінної значення true або false, " +"коли відображається певний параметр --- досить поширені. :mod:`optparse` " +"підтримує їх за допомогою двох окремих дій, ``store_true`` і " +"``store_false``. Наприклад, у вас може бути прапорець ``verbose``, який " +"вмикається за допомогою ``-v`` і вимикається ``-q``::" + +msgid "" +"Here we have two different options with the same destination, which is " +"perfectly OK. (It just means you have to be a bit careful when setting " +"default values---see below.)" +msgstr "" +"Тут у нас є два різні варіанти з тим самим пунктом призначення, що цілком " +"нормально. (Це лише означає, що ви повинні бути трохи обережними, " +"встановлюючи значення за замовчуванням --- див. нижче.)" + +msgid "" +"When :mod:`optparse` encounters ``-v`` on the command line, it sets " +"``options.verbose`` to ``True``; when it encounters ``-q``, ``options." +"verbose`` is set to ``False``." +msgstr "" +"Коли :mod:`optparse` зустрічає ``-v`` у командному рядку, він встановлює " +"``options.verbose`` на ``True``; коли зустрічається ``-q``, ``options." +"verbose`` встановлюється на ``False``." + +msgid "Other actions" +msgstr "Інші дії" + +msgid "Some other actions supported by :mod:`optparse` are:" +msgstr "Деякі інші дії, які підтримує :mod:`optparse`:" + +msgid "``\"store_const\"``" +msgstr "``\"store_const\"``" + +msgid "store a constant value" +msgstr "зберігати постійне значення" + +msgid "``\"append\"``" +msgstr "``\"додати\"``" + +msgid "append this option's argument to a list" +msgstr "додати аргумент цього параметра до списку" + +msgid "``\"count\"``" +msgstr "``\"рахувати\"``" + +msgid "increment a counter by one" +msgstr "збільшити лічильник на одиницю" + +msgid "``\"callback\"``" +msgstr "``\"зворотний виклик\"``" + +msgid "call a specified function" +msgstr "викликати вказану функцію" + +msgid "" +"These are covered in section :ref:`optparse-reference-guide`, and section :" +"ref:`optparse-option-callbacks`." +msgstr "" +"Вони описані в розділі :ref:`optparse-reference-guide` і розділі :ref:" +"`optparse-option-callbacks`." + +msgid "Default values" +msgstr "Значення за замовчуванням" + +msgid "" +"All of the above examples involve setting some variable (the \"destination" +"\") when certain command-line options are seen. What happens if those " +"options are never seen? Since we didn't supply any defaults, they are all " +"set to ``None``. This is usually fine, but sometimes you want more " +"control. :mod:`optparse` lets you supply a default value for each " +"destination, which is assigned before the command line is parsed." +msgstr "" +"Усі наведені вище приклади включають встановлення деякої змінної " +"(\"призначення\"), коли відображаються певні параметри командного рядка. Що " +"трапиться, якщо ці варіанти ніколи не побачать? Оскільки ми не вказали " +"жодних значень за замовчуванням, для всіх встановлено значення ``None``. " +"Зазвичай це добре, але іноді потрібно більше контролю. :mod:`optparse` " +"дозволяє вказати значення за умовчанням для кожного пункту призначення, яке " +"призначається перед аналізом командного рядка." + +msgid "" +"First, consider the verbose/quiet example. If we want :mod:`optparse` to " +"set ``verbose`` to ``True`` unless ``-q`` is seen, then we can do this::" +msgstr "" +"Спочатку розглянемо багатослівний/тихий приклад. Якщо ми хочемо, щоб :mod:" +"`optparse` встановив для ``verbose`` значення ``True``, якщо не видно ``-" +"q``, ми можемо зробити це:" + +msgid "" +"Since default values apply to the *destination* rather than to any " +"particular option, and these two options happen to have the same " +"destination, this is exactly equivalent::" +msgstr "" +"Оскільки значення за замовчуванням застосовуються до *призначення*, а не до " +"будь-якого конкретного параметра, і ці два параметри мають одне призначення, " +"це точно еквівалентно::" + +msgid "Consider this::" +msgstr "Розглянемо це::" + +msgid "" +"Again, the default value for ``verbose`` will be ``True``: the last default " +"value supplied for any particular destination is the one that counts." +msgstr "" +"Знову ж таки, значенням за замовчуванням для ``verbose`` буде ``True``: " +"останнє значення за замовчуванням, надане для будь-якого конкретного " +"призначення, є тим, яке враховується." + +msgid "" +"A clearer way to specify default values is the :meth:`set_defaults` method " +"of OptionParser, which you can call at any time before calling :meth:" +"`parse_args`::" +msgstr "" +"Більш зрозумілим способом визначення значень за замовчуванням є метод :meth:" +"`set_defaults` OptionParser, який можна викликати будь-коли перед викликом :" +"meth:`parse_args`::" + +msgid "" +"As before, the last value specified for a given option destination is the " +"one that counts. For clarity, try to use one method or the other of setting " +"default values, not both." +msgstr "" +"Як і раніше, зараховується останнє значення, указане для даного призначення " +"опції. Для ясності спробуйте використовувати один або інший метод " +"встановлення значень за замовчуванням, а не обидва." + +msgid "Generating help" +msgstr "Створення довідки" + +msgid "" +":mod:`optparse`'s ability to generate help and usage text automatically is " +"useful for creating user-friendly command-line interfaces. All you have to " +"do is supply a :attr:`~Option.help` value for each option, and optionally a " +"short usage message for your whole program. Here's an OptionParser " +"populated with user-friendly (documented) options::" +msgstr "" +"Здатність :mod:`optparse` автоматично генерувати текст довідки та " +"використання корисна для створення зручних інтерфейсів командного рядка. " +"Все, що вам потрібно зробити, це вказати значення :attr:`~Option.help` для " +"кожного параметра та, за бажанням, коротке повідомлення про використання для " +"всієї програми. Ось OptionParser, заповнений зручними (задокументованими) " +"параметрами::" + +msgid "" +"If :mod:`optparse` encounters either ``-h`` or ``--help`` on the command-" +"line, or if you just call :meth:`parser.print_help`, it prints the following " +"to standard output:" +msgstr "" +"Якщо :mod:`optparse` зустрічає ``-h`` або ``--help`` у командному рядку, або " +"якщо ви просто викликаєте :meth:`parser.print_help`, він виводить наступне у " +"стандартний вивід :" + +msgid "" +"(If the help output is triggered by a help option, :mod:`optparse` exits " +"after printing the help text.)" +msgstr "" +"(Якщо вихід довідки ініціюється опцією довідки, :mod:`optparse` завершує " +"роботу після друку тексту довідки.)" + +msgid "" +"There's a lot going on here to help :mod:`optparse` generate the best " +"possible help message:" +msgstr "" +"Тут багато чого робиться, щоб допомогти :mod:`optparse` створити найкраще " +"довідкове повідомлення:" + +msgid "the script defines its own usage message::" +msgstr "сценарій визначає власне повідомлення про використання::" + +msgid "" +":mod:`optparse` expands ``%prog`` in the usage string to the name of the " +"current program, i.e. ``os.path.basename(sys.argv[0])``. The expanded " +"string is then printed before the detailed option help." +msgstr "" +":mod:`optparse` розширює ``%prog`` у рядку використання до назви поточної " +"програми, тобто ``os.path.basename(sys.argv[0])``. Потім розгорнутий рядок " +"друкується перед детальною довідкою параметрів." + +msgid "" +"If you don't supply a usage string, :mod:`optparse` uses a bland but " +"sensible default: ``\"Usage: %prog [options]\"``, which is fine if your " +"script doesn't take any positional arguments." +msgstr "" +"Якщо ви не вказали рядок використання, :mod:`optparse` використовує м’яке, " +"але розумне значення за умовчанням: ``\"Використання: %prog [параметри]\"``, " +"що добре, якщо ваш сценарій не приймає жодних позиційних аргументів." + +msgid "" +"every option defines a help string, and doesn't worry about line-wrapping---" +"\\ :mod:`optparse` takes care of wrapping lines and making the help output " +"look good." +msgstr "" +"кожен параметр визначає довідковий рядок і не турбується про перенесення " +"рядків---\\ :mod:`optparse` піклується про обтікання рядків і робить вихід " +"довідки гарним." + +msgid "" +"options that take a value indicate this fact in their automatically " +"generated help message, e.g. for the \"mode\" option::" +msgstr "" + +msgid "" +"Here, \"MODE\" is called the meta-variable: it stands for the argument that " +"the user is expected to supply to ``-m``/``--mode``. By default, :mod:" +"`optparse` converts the destination variable name to uppercase and uses that " +"for the meta-variable. Sometimes, that's not what you want---for example, " +"the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, resulting in " +"this automatically generated option description::" +msgstr "" + +msgid "" +"This is important for more than just saving space, though: the manually " +"written help text uses the meta-variable ``FILE`` to clue the user in that " +"there's a connection between the semi-formal syntax ``-f FILE`` and the " +"informal semantic description \"write output to FILE\". This is a simple but " +"effective way to make your help text a lot clearer and more useful for end " +"users." +msgstr "" +"Однак це важливо не тільки для економії місця: написаний вручну текст " +"довідки використовує мета-змінну ``FILE``, щоб зрозуміти користувачеві, що " +"існує зв’язок між напівформальним синтаксисом ``-f FILE`` і неформальний " +"семантичний опис \"записати вихід у ФАЙЛ\". Це простий, але ефективний " +"спосіб зробити ваш текст довідки набагато зрозумілішим і кориснішим для " +"кінцевих користувачів." + +msgid "" +"options that have a default value can include ``%default`` in the help " +"string---\\ :mod:`optparse` will replace it with :func:`str` of the option's " +"default value. If an option has no default value (or the default value is " +"``None``), ``%default`` expands to ``none``." +msgstr "" +"параметри, які мають значення за замовчуванням, можуть містити ``%default`` " +"у рядку довідки ---\\ :mod:`optparse` замінить його на :func:`str` значення " +"параметра за замовчуванням. Якщо параметр не має значення за замовчуванням " +"(або стандартним значенням є ``None``), ``%default`` розширюється до " +"``none``." + +msgid "Grouping Options" +msgstr "Параметри групування" + +msgid "" +"When dealing with many options, it is convenient to group these options for " +"better help output. An :class:`OptionParser` can contain several option " +"groups, each of which can contain several options." +msgstr "" +"Коли ви маєте справу з багатьма параметрами, зручно згрупувати ці параметри " +"для кращого виведення довідки. :class:`OptionParser` може містити кілька " +"груп опцій, кожна з яких може містити кілька опцій." + +msgid "An option group is obtained using the class :class:`OptionGroup`:" +msgstr "Група опцій отримується за допомогою класу :class:`OptionGroup`:" + +msgid "where" +msgstr "де" + +msgid "" +"parser is the :class:`OptionParser` instance the group will be inserted in to" +msgstr "" +"parser — це екземпляр :class:`OptionParser`, до якого буде вставлено групу" + +msgid "title is the group title" +msgstr "title — назва групи" + +msgid "description, optional, is a long description of the group" +msgstr "description, необов'язковий, це довгий опис групи" + +msgid "" +":class:`OptionGroup` inherits from :class:`OptionContainer` (like :class:" +"`OptionParser`) and so the :meth:`add_option` method can be used to add an " +"option to the group." +msgstr "" +":class:`OptionGroup` успадковує :class:`OptionContainer` (наприклад, :class:" +"`OptionParser`), тому метод :meth:`add_option` можна використовувати для " +"додавання опції до групи." + +msgid "" +"Once all the options are declared, using the :class:`OptionParser` method :" +"meth:`add_option_group` the group is added to the previously defined parser." +msgstr "" +"Після оголошення всіх опцій за допомогою методу :class:`OptionParser` :meth:" +"`add_option_group` група додається до попередньо визначеного аналізатора." + +msgid "" +"Continuing with the parser defined in the previous section, adding an :class:" +"`OptionGroup` to a parser is easy::" +msgstr "" +"Продовжуючи роботу з аналізатором, визначеним у попередньому розділі, " +"додати :class:`OptionGroup` до аналізатора легко:" + +msgid "This would result in the following help output:" +msgstr "Це призведе до наступного результату довідки:" + +msgid "" +"A bit more complete example might involve using more than one group: still " +"extending the previous example::" +msgstr "" +"Трохи повніший приклад може включати використання кількох груп: все ще " +"розширюючи попередній приклад::" + +msgid "that results in the following output:" +msgstr "що призводить до наступного результату:" + +msgid "" +"Another interesting method, in particular when working programmatically with " +"option groups is:" +msgstr "" +"Ще один цікавий метод, зокрема під час програмної роботи з групами " +"параметрів:" + +msgid "" +"Return the :class:`OptionGroup` to which the short or long option string " +"*opt_str* (e.g. ``'-o'`` or ``'--option'``) belongs. If there's no such :" +"class:`OptionGroup`, return ``None``." +msgstr "" +"Повертає :class:`OptionGroup`, до якої належить короткий або довгий рядок " +"параметрів *opt_str* (наприклад, ``'-o'`` або ``'--option'``). Якщо такої :" +"class:`OptionGroup` немає, поверніть ``None``." + +msgid "Printing a version string" +msgstr "Друк рядка версії" + +msgid "" +"Similar to the brief usage string, :mod:`optparse` can also print a version " +"string for your program. You have to supply the string as the ``version`` " +"argument to OptionParser::" +msgstr "" +"Подібно до короткого рядка використання, :mod:`optparse` також може " +"надрукувати рядок версії вашої програми. Ви повинні надати рядок як аргумент " +"``version`` для OptionParser::" + +msgid "" +"``%prog`` is expanded just like it is in ``usage``. Apart from that, " +"``version`` can contain anything you like. When you supply it, :mod:" +"`optparse` automatically adds a ``--version`` option to your parser. If it " +"encounters this option on the command line, it expands your ``version`` " +"string (by replacing ``%prog``), prints it to stdout, and exits." +msgstr "" +"``%prog`` розгортається так само, як і в ``usage``. Окрім цього, ``версія`` " +"може містити все, що завгодно. Коли ви вказуєте його, :mod:`optparse` " +"автоматично додає опцію ``--version`` до вашого аналізатора. Якщо він " +"зустрічає цей параметр у командному рядку, він розгортає ваш рядок " +"``version`` (шляхом заміни ``%prog``), друкує його в stdout і завершує " +"роботу." + +msgid "For example, if your script is called ``/usr/bin/foo``:" +msgstr "Наприклад, якщо ваш скрипт називається ``/usr/bin/foo``:" + +msgid "" +"The following two methods can be used to print and get the ``version`` " +"string:" +msgstr "" +"Наступні два методи можна використати для друку та отримання рядка " +"``version``:" + +msgid "" +"Print the version message for the current program (``self.version``) to " +"*file* (default stdout). As with :meth:`print_usage`, any occurrence of ``" +"%prog`` in ``self.version`` is replaced with the name of the current " +"program. Does nothing if ``self.version`` is empty or undefined." +msgstr "" +"Вивести повідомлення про версію для поточної програми (``self.version``) у " +"*файл* (стандартний вивід за замовчуванням). Як і у випадку з :meth:" +"`print_usage`, будь-яке входження ``%prog`` у ``self.version`` замінюється " +"назвою поточної програми. Нічого не робить, якщо ``self.version`` порожній " +"або невизначений." + +msgid "" +"Same as :meth:`print_version` but returns the version string instead of " +"printing it." +msgstr "" +"Те саме, що :meth:`print_version`, але повертає рядок версії замість її " +"друку." + +msgid "How :mod:`optparse` handles errors" +msgstr "Як :mod:`optparse` обробляє помилки" + +msgid "" +"There are two broad classes of errors that :mod:`optparse` has to worry " +"about: programmer errors and user errors. Programmer errors are usually " +"erroneous calls to :func:`OptionParser.add_option`, e.g. invalid option " +"strings, unknown option attributes, missing option attributes, etc. These " +"are dealt with in the usual way: raise an exception (either :exc:`optparse." +"OptionError` or :exc:`TypeError`) and let the program crash." +msgstr "" +"Є два широких класи помилок, про які :mod:`optparse` має турбуватися: " +"помилки програміста та помилки користувача. Помилки програміста зазвичай є " +"помилковими викликами :func:`OptionParser.add_option`, напр. недійсні рядки " +"опцій, невідомі атрибути опцій, відсутні атрибути опцій тощо. З цими " +"справляються звичайним способом: викликають виняток (або :exc:`optparse." +"OptionError` або :exc:`TypeError`) і дозволяють програмі аварійно " +"завершувати роботу." + +msgid "" +"Handling user errors is much more important, since they are guaranteed to " +"happen no matter how stable your code is. :mod:`optparse` can automatically " +"detect some user errors, such as bad option arguments (passing ``-n 4x`` " +"where ``-n`` takes an integer argument), missing arguments (``-n`` at the " +"end of the command line, where ``-n`` takes an argument of any type). Also, " +"you can call :func:`OptionParser.error` to signal an application-defined " +"error condition::" +msgstr "" +"Обробка помилок користувача є набагато важливішою, оскільки вони гарантовано " +"траплятимуться незалежно від того, наскільки стабільним є ваш код. :mod:" +"`optparse` може автоматично виявляти деякі помилки користувача, такі як " +"неправильні аргументи параметрів (передача ``-n 4x``, де ``-n`` приймає " +"цілочисельний аргумент), відсутні аргументи (``-n`` у кінець командного " +"рядка, де ``-n`` приймає аргумент будь-якого типу). Крім того, ви можете " +"викликати :func:`OptionParser.error`, щоб повідомити про помилку, визначену " +"програмою:" + +msgid "" +"In either case, :mod:`optparse` handles the error the same way: it prints " +"the program's usage message and an error message to standard error and exits " +"with error status 2." +msgstr "" +"У будь-якому випадку :mod:`optparse` обробляє помилку однаково: він друкує " +"повідомлення про використання програми та повідомлення про помилку до " +"стандартної помилки та виходить зі статусом помилки 2." + +msgid "" +"Consider the first example above, where the user passes ``4x`` to an option " +"that takes an integer:" +msgstr "" +"Розглянемо перший приклад вище, де користувач передає ``4x`` опції, яка " +"приймає ціле число:" + +msgid "Or, where the user fails to pass a value at all:" +msgstr "Або, коли користувач взагалі не може передати значення:" + +msgid "" +":mod:`optparse`\\ -generated error messages take care always to mention the " +"option involved in the error; be sure to do the same when calling :func:" +"`OptionParser.error` from your application code." +msgstr "" +":mod:`optparse`\\ -згенеровані повідомлення про помилку завжди вказують " +"опцію, пов’язану з помилкою; обов’язково зробіть те саме під час виклику :" +"func:`OptionParser.error` із коду програми." + +msgid "" +"If :mod:`optparse`'s default error-handling behaviour does not suit your " +"needs, you'll need to subclass OptionParser and override its :meth:" +"`~OptionParser.exit` and/or :meth:`~OptionParser.error` methods." +msgstr "" +"Якщо стандартна поведінка обробки помилок :mod:`optparse` не відповідає " +"вашим потребам, вам потрібно створити підклас OptionParser і перевизначити " +"його :meth:`~OptionParser.exit` та/або :meth:`~OptionParser.error` методи." + +msgid "Putting it all together" +msgstr "Зібравши все разом" + +msgid "Here's what :mod:`optparse`\\ -based scripts usually look like::" +msgstr "Ось як зазвичай виглядають сценарії на основі :mod:`optparse`\\:" + +msgid "Reference Guide" +msgstr "Довідковий посібник" + +msgid "Creating the parser" +msgstr "Створення аналізатора" + +msgid "" +"The first step in using :mod:`optparse` is to create an OptionParser " +"instance." +msgstr "" +"Першим кроком у використанні :mod:`optparse` є створення екземпляра " +"OptionParser." + +msgid "" +"The OptionParser constructor has no required arguments, but a number of " +"optional keyword arguments. You should always pass them as keyword " +"arguments, i.e. do not rely on the order in which the arguments are declared." +msgstr "" +"Конструктор OptionParser не має обов’язкових аргументів, але має декілька " +"необов’язкових ключових аргументів. Ви завжди повинні передавати їх як " +"аргументи ключового слова, тобто не покладайтеся на порядок, у якому " +"оголошено аргументи." + +msgid "``usage`` (default: ``\"%prog [options]\"``)" +msgstr "``використання`` (за замовчуванням: ``\"%prog [параметри]\"``)" + +msgid "" +"The usage summary to print when your program is run incorrectly or with a " +"help option. When :mod:`optparse` prints the usage string, it expands ``" +"%prog`` to ``os.path.basename(sys.argv[0])`` (or to ``prog`` if you passed " +"that keyword argument). To suppress a usage message, pass the special " +"value :data:`optparse.SUPPRESS_USAGE`." +msgstr "" +"Підсумок використання для друку, коли ваша програма працює неправильно або з " +"опцією довідки. Коли :mod:`optparse` друкує рядок використання, він розширює " +"``%prog`` до ``os.path.basename(sys.argv[0])`` (або до ``prog``, якщо ви " +"передали це ключове слово аргумент). Щоб приховати повідомлення про " +"використання, передайте спеціальне значення :data:`optparse.SUPPRESS_USAGE`." + +msgid "``option_list`` (default: ``[]``)" +msgstr "``option_list`` (за замовчуванням: ``[]``)" + +msgid "" +"A list of Option objects to populate the parser with. The options in " +"``option_list`` are added after any options in ``standard_option_list`` (a " +"class attribute that may be set by OptionParser subclasses), but before any " +"version or help options. Deprecated; use :meth:`add_option` after creating " +"the parser instead." +msgstr "" +"Список об’єктів Option для заповнення аналізатора. Опції в ``option_list`` " +"додаються після будь-яких опцій в ``standard_option_list`` (атрибут класу, " +"який може бути встановлений підкласами OptionParser), але перед будь-якою " +"версією або опціями довідки. Застаріле; замість цього використовуйте :meth:" +"`add_option` після створення аналізатора." + +msgid "``option_class`` (default: optparse.Option)" +msgstr "``option_class`` (за замовчуванням: optparse.Option)" + +msgid "Class to use when adding options to the parser in :meth:`add_option`." +msgstr "" +"Клас для використання під час додавання параметрів до аналізатора в :meth:" +"`add_option`." + +msgid "``version`` (default: ``None``)" +msgstr "``version`` (за замовчуванням: ``None``)" + +msgid "" +"A version string to print when the user supplies a version option. If you " +"supply a true value for ``version``, :mod:`optparse` automatically adds a " +"version option with the single option string ``--version``. The substring ``" +"%prog`` is expanded the same as for ``usage``." +msgstr "" +"Рядок версії для друку, коли користувач вказує параметр версії. Якщо ви " +"вказуєте справжнє значення для ``version``, :mod:`optparse` автоматично " +"додає опцію версії з єдиним рядком опції ``--version``. Підрядок ``%prog`` " +"розгортається так само, як і ``usage``." + +msgid "``conflict_handler`` (default: ``\"error\"``)" +msgstr "``conflict_handler`` (за замовчуванням: ``\"помилка\"``)" + +msgid "" +"Specifies what to do when options with conflicting option strings are added " +"to the parser; see section :ref:`optparse-conflicts-between-options`." +msgstr "" +"Вказує, що робити, коли параметри з конфліктуючими рядками параметрів " +"додаються до аналізатора; див. розділ :ref:`optparse-conflicts-between-" +"options`." + +msgid "``description`` (default: ``None``)" +msgstr "``опис`` (за замовчуванням: ``None``)" + +msgid "" +"A paragraph of text giving a brief overview of your program. :mod:`optparse` " +"reformats this paragraph to fit the current terminal width and prints it " +"when the user requests help (after ``usage``, but before the list of " +"options)." +msgstr "" +"Абзац тексту, що дає короткий огляд вашої програми. :mod:`optparse` " +"переформатує цей абзац відповідно до поточної ширини терміналу та друкує " +"його, коли користувач запитує допомогу (після ``використання``, але перед " +"списком параметрів)." + +msgid "``formatter`` (default: a new :class:`IndentedHelpFormatter`)" +msgstr "``formatter`` (за замовчуванням: новий :class:`IndentedHelpFormatter`)" + +msgid "" +"An instance of optparse.HelpFormatter that will be used for printing help " +"text. :mod:`optparse` provides two concrete classes for this purpose: " +"IndentedHelpFormatter and TitledHelpFormatter." +msgstr "" +"Екземпляр optparse.HelpFormatter, який використовуватиметься для друку " +"тексту довідки. :mod:`optparse` надає два конкретних класи для цієї мети: " +"IndentedHelpFormatter і TitledHelpFormatter." + +msgid "``add_help_option`` (default: ``True``)" +msgstr "``add_help_option`` (за замовчуванням: ``True``)" + +msgid "" +"If true, :mod:`optparse` will add a help option (with option strings ``-h`` " +"and ``--help``) to the parser." +msgstr "" +"Якщо істина, :mod:`optparse` додасть параметр довідки (із рядками параметрів " +"``-h`` і ``--help``) до аналізатора." + +msgid "``prog``" +msgstr "``програма``" + +msgid "" +"The string to use when expanding ``%prog`` in ``usage`` and ``version`` " +"instead of ``os.path.basename(sys.argv[0])``." +msgstr "" +"Рядок для використання під час розширення ``%prog`` у ``usage`` і " +"``version`` замість ``os.path.basename(sys.argv[0])``." + +msgid "``epilog`` (default: ``None``)" +msgstr "``епілог`` (за замовчуванням: ``None``)" + +msgid "A paragraph of help text to print after the option help." +msgstr "Абзац тексту довідки для друку після довідки параметра." + +msgid "Populating the parser" +msgstr "Заповнення аналізатора" + +msgid "" +"There are several ways to populate the parser with options. The preferred " +"way is by using :meth:`OptionParser.add_option`, as shown in section :ref:" +"`optparse-tutorial`. :meth:`add_option` can be called in one of two ways:" +msgstr "" +"Є кілька способів заповнити аналізатор параметрами. Кращим способом є " +"використання :meth:`OptionParser.add_option`, як показано в розділі :ref:" +"`optparse-tutorial`. :meth:`add_option` можна викликати одним із двох " +"способів:" + +msgid "pass it an Option instance (as returned by :func:`make_option`)" +msgstr "передати йому екземпляр Option (як повертає :func:`make_option`)" + +msgid "" +"pass it any combination of positional and keyword arguments that are " +"acceptable to :func:`make_option` (i.e., to the Option constructor), and it " +"will create the Option instance for you" +msgstr "" +"передайте йому будь-яку комбінацію позиційних і ключових аргументів, які " +"прийнятні для :func:`make_option` (тобто для конструктора Option), і він " +"створить екземпляр Option для вас" + +msgid "" +"The other alternative is to pass a list of pre-constructed Option instances " +"to the OptionParser constructor, as in::" +msgstr "" +"Іншою альтернативою є передача списку попередньо сконструйованих екземплярів " +"Option конструктору OptionParser, як у::" + +msgid "" +"(:func:`make_option` is a factory function for creating Option instances; " +"currently it is an alias for the Option constructor. A future version of :" +"mod:`optparse` may split Option into several classes, and :func:" +"`make_option` will pick the right class to instantiate. Do not instantiate " +"Option directly.)" +msgstr "" +"(:func:`make_option` є фабричною функцією для створення екземплярів Option; " +"наразі це псевдонім для конструктора Option. Майбутня версія :mod:`optparse` " +"може розділити Option на кілька класів і :func:`make_option` вибере " +"правильний клас для створення екземпляра. Не створюйте екземпляр Option " +"безпосередньо.)" + +msgid "Defining options" +msgstr "Визначення варіантів" + +msgid "" +"Each Option instance represents a set of synonymous command-line option " +"strings, e.g. ``-f`` and ``--file``. You can specify any number of short or " +"long option strings, but you must specify at least one overall option string." +msgstr "" +"Кожен екземпляр Option представляє набір синонімічних рядків параметрів " +"командного рядка, напр. ``-f`` і ``--file``. Ви можете вказати будь-яку " +"кількість коротких або довгих рядків параметрів, але ви повинні вказати " +"принаймні один загальний рядок параметрів." + +msgid "" +"The canonical way to create an :class:`Option` instance is with the :meth:" +"`add_option` method of :class:`OptionParser`." +msgstr "" +"Канонічним способом створення екземпляра :class:`Option` є метод :meth:" +"`add_option` :class:`OptionParser`." + +msgid "To define an option with only a short option string::" +msgstr "Щоб визначити опцію лише за допомогою короткого рядка опції:" + +msgid "And to define an option with only a long option string::" +msgstr "І щоб визначити опцію лише з довгим рядком опції::" + +msgid "" +"The keyword arguments define attributes of the new Option object. The most " +"important option attribute is :attr:`~Option.action`, and it largely " +"determines which other attributes are relevant or required. If you pass " +"irrelevant option attributes, or fail to pass required ones, :mod:`optparse` " +"raises an :exc:`OptionError` exception explaining your mistake." +msgstr "" +"Ключові аргументи визначають атрибути нового об’єкта Option. Найважливішим " +"атрибутом параметра є :attr:`~Option.action`, і він значною мірою визначає, " +"які інші атрибути є доречними або необхідними. Якщо ви передаєте " +"нерелевантні атрибути параметрів або не передаєте необхідні, :mod:`optparse` " +"викликає виняток :exc:`OptionError`, пояснюючи вашу помилку." + +msgid "" +"An option's *action* determines what :mod:`optparse` does when it encounters " +"this option on the command-line. The standard option actions hard-coded " +"into :mod:`optparse` are:" +msgstr "" +"*Дія* параметра визначає, що робить :mod:`optparse`, коли він зустрічає цей " +"параметр у командному рядку. Стандартні дії параметрів, жорстко закодовані " +"в :mod:`optparse`:" + +msgid "``\"store\"``" +msgstr "``\"магазин\"``" + +msgid "store this option's argument (default)" +msgstr "зберегти аргумент цього параметра (за замовчуванням)" + +msgid "``\"store_true\"``" +msgstr "``\"store_true\"``" + +msgid "store ``True``" +msgstr "зберігати ``Правда``" + +msgid "``\"store_false\"``" +msgstr "``\"store_false\"``" + +msgid "store ``False``" +msgstr "зберігати ``False``" + +msgid "``\"append_const\"``" +msgstr "``\"append_const\"``" + +msgid "append a constant value to a list" +msgstr "додати постійне значення до списку" + +msgid "``\"help\"``" +msgstr "``\"допомога\"``" + +msgid "" +"print a usage message including all options and the documentation for them" +msgstr "" +"роздрукувати повідомлення про використання, включно з усіма параметрами та " +"документацією до них" + +msgid "" +"(If you don't supply an action, the default is ``\"store\"``. For this " +"action, you may also supply :attr:`~Option.type` and :attr:`~Option.dest` " +"option attributes; see :ref:`optparse-standard-option-actions`.)" +msgstr "" +"(Якщо ви не вказали дію, за замовчуванням буде ``\"store\"``. Для цієї дії " +"ви також можете вказати атрибути параметрів :attr:`~Option.type` і :attr:" +"`~Option.dest` див. :ref:`optparse-standard-option-actions`.)" + +msgid "" +"As you can see, most actions involve storing or updating a value somewhere. :" +"mod:`optparse` always creates a special object for this, conventionally " +"called ``options`` (it happens to be an instance of :class:`optparse." +"Values`). Option arguments (and various other values) are stored as " +"attributes of this object, according to the :attr:`~Option.dest` " +"(destination) option attribute." +msgstr "" +"Як бачите, більшість дій передбачає збереження або оновлення значення десь. :" +"mod:`optparse` завжди створює для цього спеціальний об’єкт, умовно званий " +"``options`` (він є екземпляром :class:`optparse.Values`). Аргументи опції (і " +"різні інші значення) зберігаються як атрибути цього об’єкта відповідно до " +"атрибута опції :attr:`~Option.dest` (призначення)." + +msgid "For example, when you call ::" +msgstr "Наприклад, коли ви дзвоните ::" + +msgid "" +"one of the first things :mod:`optparse` does is create the ``options`` " +"object::" +msgstr "" +"одна з перших речей, які робить :mod:`optparse`, це створює об’єкт " +"``options``::" + +msgid "If one of the options in this parser is defined with ::" +msgstr "" +"Якщо один із параметрів цього синтаксичного аналізатора визначено за " +"допомогою ::" + +msgid "and the command-line being parsed includes any of the following::" +msgstr "а командний рядок, що аналізується, містить будь-яке з наступного:" + +msgid "" +"then :mod:`optparse`, on seeing this option, will do the equivalent of ::" +msgstr "тоді :mod:`optparse`, побачивши цю опцію, зробить еквівалент::" + +msgid "" +"The :attr:`~Option.type` and :attr:`~Option.dest` option attributes are " +"almost as important as :attr:`~Option.action`, but :attr:`~Option.action` is " +"the only one that makes sense for *all* options." +msgstr "" +"Атрибути :attr:`~Option.type` і :attr:`~Option.dest` майже такі ж важливі, " +"як і :attr:`~Option.action`, але :attr:`~Option.action` є єдиним такий, який " +"має сенс для *всіх* варіантів." + +msgid "Option attributes" +msgstr "Атрибути варіантів" + +msgid "" +"The following option attributes may be passed as keyword arguments to :meth:" +"`OptionParser.add_option`. If you pass an option attribute that is not " +"relevant to a particular option, or fail to pass a required option " +"attribute, :mod:`optparse` raises :exc:`OptionError`." +msgstr "" +"Наступні атрибути параметрів можна передати як ключові аргументи до :meth:" +"`OptionParser.add_option`. Якщо ви передаєте атрибут опції, який не має " +"відношення до певної опції, або не передаєте потрібний атрибут опції, :mod:" +"`optparse` викликає :exc:`OptionError`." + +msgid "(default: ``\"store\"``)" +msgstr "(за замовчуванням: ``\"магазин\"``)" + +msgid "" +"Determines :mod:`optparse`'s behaviour when this option is seen on the " +"command line; the available options are documented :ref:`here `." +msgstr "" +"Визначає поведінку :mod:`optparse`, коли цей параметр відображається в " +"командному рядку; доступні параметри задокументовані :ref:`тут `." + +msgid "(default: ``\"string\"``)" +msgstr "(за замовчуванням: ``\"рядок\"``)" + +msgid "" +"The argument type expected by this option (e.g., ``\"string\"`` or ``\"int" +"\"``); the available option types are documented :ref:`here `." +msgstr "" +"Тип аргументу, очікуваний цією опцією (наприклад, ``\"string\"`` або ``\"int" +"\"``); доступні типи опцій задокументовані :ref:`тут `." + +msgid "(default: derived from option strings)" +msgstr "(за замовчуванням: отримано з рядків параметрів)" + +msgid "" +"If the option's action implies writing or modifying a value somewhere, this " +"tells :mod:`optparse` where to write it: :attr:`~Option.dest` names an " +"attribute of the ``options`` object that :mod:`optparse` builds as it parses " +"the command line." +msgstr "" +"Якщо дія опції передбачає запис або зміну значення десь, це вказує :mod:" +"`optparse`, де його писати: :attr:`~Option.dest` називає атрибут об’єкта " +"``options``, який :mod:`optparse` збирається, коли аналізує командний рядок." + +msgid "" +"The value to use for this option's destination if the option is not seen on " +"the command line. See also :meth:`OptionParser.set_defaults`." +msgstr "" +"Значення для призначення цього параметра, якщо параметр не відображається в " +"командному рядку. Дивіться також :meth:`OptionParser.set_defaults`." + +msgid "(default: 1)" +msgstr "(за замовчуванням: 1)" + +msgid "" +"How many arguments of type :attr:`~Option.type` should be consumed when this " +"option is seen. If > 1, :mod:`optparse` will store a tuple of values to :" +"attr:`~Option.dest`." +msgstr "" +"Скільки аргументів типу :attr:`~Option.type` має споживатися, коли " +"відображається цей параметр. Якщо > 1, :mod:`optparse` зберігатиме кортеж " +"значень у :attr:`~Option.dest`." + +msgid "For actions that store a constant value, the constant value to store." +msgstr "" +"Для дій, які зберігають постійне значення, постійне значення для збереження." + +msgid "" +"For options of type ``\"choice\"``, the list of strings the user may choose " +"from." +msgstr "" +"Для параметрів типу ``\"вибір\"``, список рядків, з яких користувач може " +"вибрати." + +msgid "" +"For options with action ``\"callback\"``, the callable to call when this " +"option is seen. See section :ref:`optparse-option-callbacks` for detail on " +"the arguments passed to the callable." +msgstr "" +"Для параметрів із дією ``\"callback\"``, виклик якого потрібно викликати, " +"коли цей параметр видно. Дивіться розділ :ref:`optparse-option-callbacks` " +"для детальної інформації про аргументи, які передаються викликаному." + +msgid "" +"Additional positional and keyword arguments to pass to ``callback`` after " +"the four standard callback arguments." +msgstr "" +"Додаткові позиційні та ключові аргументи для передачі в ``callback`` після " +"чотирьох стандартних аргументів зворотного виклику." + +msgid "" +"Help text to print for this option when listing all available options after " +"the user supplies a :attr:`~Option.help` option (such as ``--help``). If no " +"help text is supplied, the option will be listed without help text. To hide " +"this option, use the special value :data:`optparse.SUPPRESS_HELP`." +msgstr "" +"Текст довідки, який потрібно надрукувати для цього параметра, коли " +"перераховуються всі доступні параметри після того, як користувач введе " +"параметр :attr:`~Option.help` (наприклад, ``--help``). Якщо текст довідки не " +"надано, параметр буде показано без тексту довідки. Щоб приховати цей " +"параметр, використовуйте спеціальне значення :data:`optparse.SUPPRESS_HELP`." + +msgid "" +"Stand-in for the option argument(s) to use when printing help text. See " +"section :ref:`optparse-tutorial` for an example." +msgstr "" +"Заміна аргументу(ів) опції для використання під час друку довідкового " +"тексту. Перегляньте розділ :ref:`optparse-tutorial` для прикладу." + +msgid "Standard option actions" +msgstr "Стандартні опційні дії" + +msgid "" +"The various option actions all have slightly different requirements and " +"effects. Most actions have several relevant option attributes which you may " +"specify to guide :mod:`optparse`'s behaviour; a few have required " +"attributes, which you must specify for any option using that action." +msgstr "" +"Усі різні опціональні дії мають дещо різні вимоги та наслідки. Більшість дій " +"мають кілька відповідних атрибутів параметрів, які ви можете вказати, щоб " +"керувати поведінкою :mod:`optparse`; деякі з них мають обов’язкові атрибути, " +"які ви повинні вказати для будь-якої опції, що використовує цю дію." + +msgid "" +"``\"store\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" +"`~Option.nargs`, :attr:`~Option.choices`]" +msgstr "" +"``\"магазин\"`` [релевантний: :attr:`~Option.type`, :attr:`~Option.dest`, :" +"attr:`~Option.nargs`, :attr:`~Option.choices`]" + +msgid "" +"The option must be followed by an argument, which is converted to a value " +"according to :attr:`~Option.type` and stored in :attr:`~Option.dest`. If :" +"attr:`~Option.nargs` > 1, multiple arguments will be consumed from the " +"command line; all will be converted according to :attr:`~Option.type` and " +"stored to :attr:`~Option.dest` as a tuple. See the :ref:`optparse-standard-" +"option-types` section." +msgstr "" +"За параметром має слідувати аргумент, який перетворюється на значення " +"відповідно до :attr:`~Option.type` і зберігається в :attr:`~Option.dest`. " +"Якщо :attr:`~Option.nargs` > 1, з командного рядка буде використано кілька " +"аргументів; усе буде перетворено відповідно до :attr:`~Option.type` і " +"збережено в :attr:`~Option.dest` як кортеж. Перегляньте розділ :ref:" +"`optparse-standard-option-types`." + +msgid "" +"If :attr:`~Option.choices` is supplied (a list or tuple of strings), the " +"type defaults to ``\"choice\"``." +msgstr "" +"Якщо надано :attr:`~Option.choices` (список або кортеж рядків), типом за " +"замовчуванням є ``\"choice\"``." + +msgid "If :attr:`~Option.type` is not supplied, it defaults to ``\"string\"``." +msgstr "" +"Якщо :attr:`~Option.type` не вказано, за замовчуванням буде ``\"string\"``." + +msgid "" +"If :attr:`~Option.dest` is not supplied, :mod:`optparse` derives a " +"destination from the first long option string (e.g., ``--foo-bar`` implies " +"``foo_bar``). If there are no long option strings, :mod:`optparse` derives a " +"destination from the first short option string (e.g., ``-f`` implies ``f``)." +msgstr "" +"Якщо :attr:`~Option.dest` не надано, :mod:`optparse` отримує призначення з " +"першого довгого рядка параметрів (наприклад, ``--foo-bar`` передбачає " +"``foo_bar``). Якщо довгих рядків параметрів немає, :mod:`optparse` отримує " +"адресат із першого короткого рядка параметрів (наприклад, ``-f`` означає " +"``f``)." + +msgid "Example::" +msgstr "Приклад::" + +msgid "As it parses the command line ::" +msgstr "Під час аналізу командного рядка ::" + +msgid ":mod:`optparse` will set ::" +msgstr ":mod:`optparse` встановить ::" + +msgid "" +"``\"store_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" +"`~Option.dest`]" +msgstr "" +"``\"store_const\"`` [потрібно: :attr:`~Option.const`; релевантний: :attr:" +"`~Option.dest`]" + +msgid "The value :attr:`~Option.const` is stored in :attr:`~Option.dest`." +msgstr "Значення :attr:`~Option.const` зберігається в :attr:`~Option.dest`." + +msgid "If ``--noisy`` is seen, :mod:`optparse` will set ::" +msgstr "Якщо відображається ``--noisy``, :mod:`optparse` встановить ::" + +msgid "``\"store_true\"`` [relevant: :attr:`~Option.dest`]" +msgstr "``\"store_true\"`` [релевантний: :attr:`~Option.dest`]" + +msgid "" +"A special case of ``\"store_const\"`` that stores ``True`` to :attr:`~Option." +"dest`." +msgstr "" +"Особливий випадок ``\"store_const\"``, який зберігає ``True`` у :attr:" +"`~Option.dest`." + +msgid "``\"store_false\"`` [relevant: :attr:`~Option.dest`]" +msgstr "``\"store_false\"`` [релевантний: :attr:`~Option.dest`]" + +msgid "Like ``\"store_true\"``, but stores ``False``." +msgstr "Подібно до ``\"store_true\"``, але зберігає ``False``." + +msgid "" +"``\"append\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" +"`~Option.nargs`, :attr:`~Option.choices`]" +msgstr "" +"``\"append\"`` [релевантні: :attr:`~Option.type`, :attr:`~Option.dest`, :" +"attr:`~Option.nargs`, :attr:`~Option.choices`]" + +msgid "" +"The option must be followed by an argument, which is appended to the list " +"in :attr:`~Option.dest`. If no default value for :attr:`~Option.dest` is " +"supplied, an empty list is automatically created when :mod:`optparse` first " +"encounters this option on the command-line. If :attr:`~Option.nargs` > 1, " +"multiple arguments are consumed, and a tuple of length :attr:`~Option.nargs` " +"is appended to :attr:`~Option.dest`." +msgstr "" +"За параметром має слідувати аргумент, який додається до списку в :attr:" +"`~Option.dest`. Якщо значення за замовчуванням для :attr:`~Option.dest` не " +"вказано, порожній список створюється автоматично, коли :mod:`optparse` " +"вперше зустрічає цей параметр у командному рядку. Якщо :attr:`~Option.nargs` " +"> 1, споживаються кілька аргументів, а кортеж довжини :attr:`~Option.nargs` " +"додається до :attr:`~Option.dest`." + +msgid "" +"The defaults for :attr:`~Option.type` and :attr:`~Option.dest` are the same " +"as for the ``\"store\"`` action." +msgstr "" +"Значення за замовчуванням для :attr:`~Option.type` і :attr:`~Option.dest` " +"такі самі, як і для дії ``\"store\"``." + +msgid "" +"If ``-t3`` is seen on the command-line, :mod:`optparse` does the equivalent " +"of::" +msgstr "" +"Якщо в командному рядку відображається ``-t3``, :mod:`optparse` виконує " +"еквівалент:" + +msgid "If, a little later on, ``--tracks=4`` is seen, it does::" +msgstr "Якщо трохи пізніше з’явиться ``--tracks=4``, це так:" + +msgid "" +"The ``append`` action calls the ``append`` method on the current value of " +"the option. This means that any default value specified must have an " +"``append`` method. It also means that if the default value is non-empty, " +"the default elements will be present in the parsed value for the option, " +"with any values from the command line appended after those default values::" +msgstr "" +"Дія ``append`` викликає метод ``append`` для поточного значення опції. Це " +"означає, що будь-яке вказане значення за замовчуванням повинно мати метод " +"``додавання``. Це також означає, що якщо значення за замовчуванням не є " +"порожнім, елементи за замовчуванням будуть присутні в розібраному значенні " +"для параметра, а будь-які значення з командного рядка будуть додані після " +"цих значень за замовчуванням::" + +msgid "" +"``\"append_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" +"`~Option.dest`]" +msgstr "" +"``\"append_const\"`` [потрібно: :attr:`~Option.const`; релевантний: :attr:" +"`~Option.dest`]" + +msgid "" +"Like ``\"store_const\"``, but the value :attr:`~Option.const` is appended " +"to :attr:`~Option.dest`; as with ``\"append\"``, :attr:`~Option.dest` " +"defaults to ``None``, and an empty list is automatically created the first " +"time the option is encountered." +msgstr "" +"Як ``\"store_const\"``, але значення :attr:`~Option.const` додається до :" +"attr:`~Option.dest`; як і у випадку з ``\"append\"``, :attr:`~Option.dest` " +"за замовчуванням має значення ``None``, і порожній список автоматично " +"створюється, коли вперше зустрічається опція." + +msgid "``\"count\"`` [relevant: :attr:`~Option.dest`]" +msgstr "``\"count\"`` [relevant: :attr:`~Option.dest`]" + +msgid "" +"Increment the integer stored at :attr:`~Option.dest`. If no default value " +"is supplied, :attr:`~Option.dest` is set to zero before being incremented " +"the first time." +msgstr "" +"Збільшити ціле число, що зберігається в :attr:`~Option.dest`. Якщо значення " +"за замовчуванням не вказано, :attr:`~Option.dest` встановлюється на нуль " +"перед першим збільшенням." + +msgid "" +"The first time ``-v`` is seen on the command line, :mod:`optparse` does the " +"equivalent of::" +msgstr "" +"Коли ``-v`` з'являється в командному рядку вперше, :mod:`optparse` виконує " +"еквівалент:" + +msgid "Every subsequent occurrence of ``-v`` results in ::" +msgstr "Кожне наступне повторення ``-v`` призводить до:" + +msgid "" +"``\"callback\"`` [required: :attr:`~Option.callback`; relevant: :attr:" +"`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:" +"`~Option.callback_kwargs`]" +msgstr "" +"``\"callback\"`` [потрібно: :attr:`~Option.callback`; релевантні: :attr:" +"`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:" +"`~Option.callback_kwargs`]" + +msgid "" +"Call the function specified by :attr:`~Option.callback`, which is called " +"as ::" +msgstr "" +"Виклик функції, визначеної :attr:`~Option.callback`, яка викликається як ::" + +msgid "See section :ref:`optparse-option-callbacks` for more detail." +msgstr "" +"Дивіться розділ :ref:`optparse-option-callbacks` для більш детальної " +"інформації." + +msgid "" +"Prints a complete help message for all the options in the current option " +"parser. The help message is constructed from the ``usage`` string passed to " +"OptionParser's constructor and the :attr:`~Option.help` string passed to " +"every option." +msgstr "" +"Друкує повне довідкове повідомлення для всіх параметрів у поточному " +"аналізаторі параметрів. Повідомлення довідки складається з рядка ``usage``, " +"переданого конструктору OptionParser, і рядка :attr:`~Option.help`, " +"переданого кожному параметру." + +msgid "" +"If no :attr:`~Option.help` string is supplied for an option, it will still " +"be listed in the help message. To omit an option entirely, use the special " +"value :data:`optparse.SUPPRESS_HELP`." +msgstr "" +"Якщо для параметра не надано рядок :attr:`~Option.help`, він все одно буде " +"вказаний у повідомленні довідки. Щоб повністю пропустити опцію, " +"використовуйте спеціальне значення :data:`optparse.SUPPRESS_HELP`." + +msgid "" +":mod:`optparse` automatically adds a :attr:`~Option.help` option to all " +"OptionParsers, so you do not normally need to create one." +msgstr "" +":mod:`optparse` автоматично додає опцію :attr:`~Option.help` до всіх " +"аналізаторів опцій, тому зазвичай вам не потрібно її створювати." + +msgid "" +"If :mod:`optparse` sees either ``-h`` or ``--help`` on the command line, it " +"will print something like the following help message to stdout (assuming " +"``sys.argv[0]`` is ``\"foo.py\"``):" +msgstr "" +"Якщо :mod:`optparse` бачить або ``-h``, або ``--help`` у командному рядку, " +"він надрукує щось на кшталт наступного довідкового повідомлення до stdout " +"(за умови ``sys.argv[0]`).` є ``\"foo.py\"``):" + +msgid "" +"After printing the help message, :mod:`optparse` terminates your process " +"with ``sys.exit(0)``." +msgstr "" +"Після друку довідкового повідомлення :mod:`optparse` завершує ваш процес за " +"допомогою ``sys.exit(0)``." + +msgid "``\"version\"``" +msgstr "``\"версія\"``" + +msgid "" +"Prints the version number supplied to the OptionParser to stdout and exits. " +"The version number is actually formatted and printed by the " +"``print_version()`` method of OptionParser. Generally only relevant if the " +"``version`` argument is supplied to the OptionParser constructor. As with :" +"attr:`~Option.help` options, you will rarely create ``version`` options, " +"since :mod:`optparse` automatically adds them when needed." +msgstr "" +"Друкує номер версії, наданий OptionParser, у stdout і завершує роботу. Номер " +"версії фактично форматується та друкується методом ``print_version()`` " +"OptionParser. Зазвичай актуально, лише якщо аргумент ``version`` надається " +"конструктору OptionParser. Як і у випадку з параметрами :attr:`~Option." +"help`, ви рідко будете створювати параметри ``version``, оскільки :mod:" +"`optparse` автоматично додає їх за потреби." + +msgid "Standard option types" +msgstr "Типи стандартних варіантів" + +msgid "" +":mod:`optparse` has five built-in option types: ``\"string\"``, ``\"int\"``, " +"``\"choice\"``, ``\"float\"`` and ``\"complex\"``. If you need to add new " +"option types, see section :ref:`optparse-extending-optparse`." +msgstr "" +":mod:`optparse` має п’ять вбудованих типів параметрів: ``\"string\"``, ``" +"\"int\"``, ``\"choice\"``, ``\"float\"`` і ``\"complex \"``. Якщо вам " +"потрібно додати нові типи опцій, перегляньте розділ :ref:`optparse-extending-" +"optparse`." + +msgid "" +"Arguments to string options are not checked or converted in any way: the " +"text on the command line is stored in the destination (or passed to the " +"callback) as-is." +msgstr "" +"Аргументи параметрів рядка не перевіряються та не перетворюються жодним " +"чином: текст у командному рядку зберігається в місці призначення (або " +"передається зворотному виклику) як є." + +msgid "Integer arguments (type ``\"int\"``) are parsed as follows:" +msgstr "Цілі аргументи (тип ``\"int\"``) аналізуються таким чином:" + +msgid "if the number starts with ``0x``, it is parsed as a hexadecimal number" +msgstr "" +"якщо число починається з ``0x``, воно аналізується як шістнадцяткове число" + +msgid "if the number starts with ``0``, it is parsed as an octal number" +msgstr "якщо число починається з ``0``, воно аналізується як вісімкове число" + +msgid "if the number starts with ``0b``, it is parsed as a binary number" +msgstr "якщо число починається з ``0b``, воно аналізується як двійкове число" + +msgid "otherwise, the number is parsed as a decimal number" +msgstr "інакше число аналізується як десяткове число" + +msgid "" +"The conversion is done by calling :func:`int` with the appropriate base (2, " +"8, 10, or 16). If this fails, so will :mod:`optparse`, although with a more " +"useful error message." +msgstr "" +"Перетворення виконується викликом :func:`int` із відповідною основою (2, 8, " +"10 або 16). Якщо це не вдасться, не вийде і :mod:`optparse`, хоча з більш " +"корисним повідомленням про помилку." + +msgid "" +"``\"float\"`` and ``\"complex\"`` option arguments are converted directly " +"with :func:`float` and :func:`complex`, with similar error-handling." +msgstr "" +"Аргументи параметрів ``\"float\"`` і ``\"complex\"`` перетворюються " +"безпосередньо за допомогою :func:`float` і :func:`complex`, з подібною " +"обробкою помилок." + +msgid "" +"``\"choice\"`` options are a subtype of ``\"string\"`` options. The :attr:" +"`~Option.choices` option attribute (a sequence of strings) defines the set " +"of allowed option arguments. :func:`optparse.check_choice` compares user-" +"supplied option arguments against this master list and raises :exc:" +"`OptionValueError` if an invalid string is given." +msgstr "" +"Опції ``\"choice\"`` є підтипом опцій ``\"string\"``. Атрибут опції :attr:" +"`~Option.choices` (послідовність рядків) визначає набір дозволених " +"аргументів опції. :func:`optparse.check_choice` порівнює аргументи " +"параметрів, надані користувачем, із цим головним списком і викликає :exc:" +"`OptionValueError`, якщо вказано недійсний рядок." + +msgid "Parsing arguments" +msgstr "Розбір аргументів" + +msgid "" +"The whole point of creating and populating an OptionParser is to call its :" +"meth:`parse_args` method::" +msgstr "" +"Суть створення та заповнення OptionParser полягає у виклику його методу :" +"meth:`parse_args`::" + +msgid "where the input parameters are" +msgstr "де знаходяться вхідні параметри" + +msgid "``args``" +msgstr "``args``" + +msgid "the list of arguments to process (default: ``sys.argv[1:]``)" +msgstr "список аргументів для обробки (за замовчуванням: ``sys.argv[1:]``)" + +msgid "``values``" +msgstr "``значення``" + +msgid "" +"an :class:`optparse.Values` object to store option arguments in (default: a " +"new instance of :class:`Values`) -- if you give an existing object, the " +"option defaults will not be initialized on it" +msgstr "" +"об’єкт :class:`optparse.Values` для зберігання аргументів параметрів (за " +"замовчуванням: новий екземпляр :class:`Values`) -- якщо ви надаєте існуючий " +"об’єкт, параметри за замовчуванням не будуть ініціалізовані на ньому" + +msgid "and the return values are" +msgstr "і повертаються значення" + +msgid "``options``" +msgstr "``параметри``" + +msgid "" +"the same object that was passed in as ``values``, or the optparse.Values " +"instance created by :mod:`optparse`" +msgstr "" +"той самий об’єкт, який було передано як ``values``, або екземпляр optparse." +"Values, створений :mod:`optparse`" + +msgid "the leftover positional arguments after all options have been processed" +msgstr "залишкові позиційні аргументи після обробки всіх опцій" + +msgid "" +"The most common usage is to supply neither keyword argument. If you supply " +"``values``, it will be modified with repeated :func:`setattr` calls (roughly " +"one for every option argument stored to an option destination) and returned " +"by :meth:`parse_args`." +msgstr "" +"Найпоширенішим використанням є відсутність аргументів ключового слова. Якщо " +"ви вкажете ``значення``, воно буде змінено за допомогою повторних викликів :" +"func:`setattr` (приблизно по одному для кожного аргументу опції, збереженого " +"в цільовій опції) і повернено :meth:`parse_args`." + +msgid "" +"If :meth:`parse_args` encounters any errors in the argument list, it calls " +"the OptionParser's :meth:`error` method with an appropriate end-user error " +"message. This ultimately terminates your process with an exit status of 2 " +"(the traditional Unix exit status for command-line errors)." +msgstr "" +"Якщо :meth:`parse_args` зустрічає будь-які помилки в списку аргументів, він " +"викликає метод :meth:`error` OptionParser з відповідним повідомленням про " +"помилку кінцевого користувача. Це остаточно завершує ваш процес із статусом " +"виходу 2 (традиційний статус виходу Unix для помилок командного рядка)." + +msgid "Querying and manipulating your option parser" +msgstr "Запити та маніпулювання вашим аналізатором параметрів" + +msgid "" +"The default behavior of the option parser can be customized slightly, and " +"you can also poke around your option parser and see what's there. " +"OptionParser provides several methods to help you out:" +msgstr "" +"Поведінку аналізатора параметрів за замовчуванням можна дещо налаштувати, і " +"ви також можете пошукати свій аналізатор параметрів і подивитися, що там є. " +"OptionParser пропонує кілька методів, які допоможуть вам:" + +msgid "" +"Set parsing to stop on the first non-option. For example, if ``-a`` and ``-" +"b`` are both simple options that take no arguments, :mod:`optparse` normally " +"accepts this syntax::" +msgstr "" +"Встановіть зупинку аналізу на першому варіанті. Наприклад, якщо ``-a`` і ``-" +"b`` є простими параметрами, які не приймають аргументів, :mod:`optparse` " +"зазвичай приймає такий синтаксис::" + +msgid "and treats it as equivalent to ::" +msgstr "і розглядає його як еквівалент ::" + +msgid "" +"To disable this feature, call :meth:`disable_interspersed_args`. This " +"restores traditional Unix syntax, where option parsing stops with the first " +"non-option argument." +msgstr "" +"Щоб вимкнути цю функцію, викличте :meth:`disable_interspersed_args`. Це " +"відновлює традиційний синтаксис Unix, де розбір параметрів припиняється з " +"першим аргументом, що не є параметром." + +msgid "" +"Use this if you have a command processor which runs another command which " +"has options of its own and you want to make sure these options don't get " +"confused. For example, each command might have a different set of options." +msgstr "" +"Використовуйте це, якщо у вас є командний процесор, який виконує іншу " +"команду, яка має власні параметри, і ви хочете переконатися, що ці параметри " +"не плутаються. Наприклад, кожна команда може мати різний набір параметрів." + +msgid "" +"Set parsing to not stop on the first non-option, allowing interspersing " +"switches with command arguments. This is the default behavior." +msgstr "" +"Налаштуйте розбір так, щоб він не зупинявся на першому не-параметрі, " +"дозволяючи вставляти перемикачі в аргументи команди. Це типова поведінка." + +msgid "" +"Returns the Option instance with the option string *opt_str*, or ``None`` if " +"no options have that option string." +msgstr "" +"Повертає екземпляр Option із рядком параметра *opt_str* або ``None``, якщо " +"параметри не мають такого рядка параметра." + +msgid "" +"Return ``True`` if the OptionParser has an option with option string " +"*opt_str* (e.g., ``-q`` or ``--verbose``)." +msgstr "" +"Повертає ``True``, якщо OptionParser має параметр із рядком параметра " +"*opt_str* (наприклад, ``-q`` або ``--verbose``)." + +msgid "" +"If the :class:`OptionParser` has an option corresponding to *opt_str*, that " +"option is removed. If that option provided any other option strings, all of " +"those option strings become invalid. If *opt_str* does not occur in any " +"option belonging to this :class:`OptionParser`, raises :exc:`ValueError`." +msgstr "" +"Якщо :class:`OptionParser` має параметр, що відповідає *opt_str*, цей " +"параметр буде видалено. Якщо цей параметр містить будь-які інші рядки " +"параметрів, усі ці рядки параметрів стають недійсними. Якщо *opt_str* не " +"зустрічається в жодному параметрі, що належить цьому :class:`OptionParser`, " +"викликає :exc:`ValueError`." + +msgid "Conflicts between options" +msgstr "Конфлікти між варіантами" + +msgid "" +"If you're not careful, it's easy to define options with conflicting option " +"strings::" +msgstr "" +"Якщо ви не будете обережні, можна легко визначити параметри з конфліктуючими " +"рядками параметрів::" + +msgid "" +"(This is particularly true if you've defined your own OptionParser subclass " +"with some standard options.)" +msgstr "" +"(Це особливо вірно, якщо ви визначили свій власний підклас OptionParser з " +"деякими стандартними параметрами.)" + +msgid "" +"Every time you add an option, :mod:`optparse` checks for conflicts with " +"existing options. If it finds any, it invokes the current conflict-handling " +"mechanism. You can set the conflict-handling mechanism either in the " +"constructor::" +msgstr "" +"Кожного разу, коли ви додаєте опцію, :mod:`optparse` перевіряє наявність " +"конфліктів із існуючими опціями. Якщо він знайде будь-який, він викликає " +"поточний механізм обробки конфліктів. Ви можете встановити механізм обробки " +"конфліктів у конструкторі:" + +msgid "or with a separate call::" +msgstr "або окремим дзвінком::" + +msgid "The available conflict handlers are:" +msgstr "Доступні засоби обробки конфліктів:" + +msgid "``\"error\"`` (default)" +msgstr "``\"помилка\"`` (за замовчуванням)" + +msgid "" +"assume option conflicts are a programming error and raise :exc:" +"`OptionConflictError`" +msgstr "" +"припустити, що конфлікти параметрів є помилкою програмування, і викликати :" +"exc:`OptionConflictError`" + +msgid "``\"resolve\"``" +msgstr "``\"розв'язати\"``" + +msgid "resolve option conflicts intelligently (see below)" +msgstr "розумно вирішувати конфлікти варіантів (див. нижче)" + +msgid "" +"As an example, let's define an :class:`OptionParser` that resolves conflicts " +"intelligently and add conflicting options to it::" +msgstr "" +"Як приклад, давайте визначимо :class:`OptionParser`, який розумно вирішує " +"конфлікти, і додамо до нього конфліктуючі параметри::" + +msgid "" +"At this point, :mod:`optparse` detects that a previously added option is " +"already using the ``-n`` option string. Since ``conflict_handler`` is ``" +"\"resolve\"``, it resolves the situation by removing ``-n`` from the earlier " +"option's list of option strings. Now ``--dry-run`` is the only way for the " +"user to activate that option. If the user asks for help, the help message " +"will reflect that::" +msgstr "" + +msgid "" +"It's possible to whittle away the option strings for a previously added " +"option until there are none left, and the user has no way of invoking that " +"option from the command-line. In that case, :mod:`optparse` removes that " +"option completely, so it doesn't show up in help text or anywhere else. " +"Carrying on with our existing OptionParser::" +msgstr "" + +msgid "" +"At this point, the original ``-n``/``--dry-run`` option is no longer " +"accessible, so :mod:`optparse` removes it, leaving this help text::" +msgstr "" +"На цьому етапі вихідний параметр ``-n``/``--dry-run`` більше не доступний, " +"тому :mod:`optparse` видаляє його, залишаючи цей текст довідки::" + +msgid "Cleanup" +msgstr "Прибирати" + +msgid "" +"OptionParser instances have several cyclic references. This should not be a " +"problem for Python's garbage collector, but you may wish to break the cyclic " +"references explicitly by calling :meth:`~OptionParser.destroy` on your " +"OptionParser once you are done with it. This is particularly useful in long-" +"running applications where large object graphs are reachable from your " +"OptionParser." +msgstr "" +"Екземпляри OptionParser мають кілька циклічних посилань. Це не повинно бути " +"проблемою для збирача сміття Python, але ви можете розірвати циклічні " +"посилання явно, викликавши :meth:`~OptionParser.destroy` на вашому " +"OptionParser, коли ви закінчите з цим. Це особливо корисно в довготривалих " +"програмах, де великі об’єктні графіки доступні з вашого OptionParser." + +msgid "Other methods" +msgstr "Інші методи" + +msgid "OptionParser supports several other public methods:" +msgstr "OptionParser підтримує кілька інших публічних методів:" + +msgid "" +"Set the usage string according to the rules described above for the " +"``usage`` constructor keyword argument. Passing ``None`` sets the default " +"usage string; use :data:`optparse.SUPPRESS_USAGE` to suppress a usage " +"message." +msgstr "" +"Встановіть рядок використання відповідно до правил, описаних вище для " +"ключового аргументу конструктора ``usage``. Передача ``None`` встановлює " +"рядок використання за умовчанням; використовуйте :data:`optparse." +"SUPPRESS_USAGE` для придушення повідомлення про використання." + +msgid "" +"Print the usage message for the current program (``self.usage``) to *file* " +"(default stdout). Any occurrence of the string ``%prog`` in ``self.usage`` " +"is replaced with the name of the current program. Does nothing if ``self." +"usage`` is empty or not defined." +msgstr "" +"Надрукувати повідомлення про використання для поточної програми (``self." +"usage``) у *файл* (стандартний вихід за замовчуванням). Будь-яке входження " +"рядка ``%prog`` у ``self.usage`` замінюється назвою поточної програми. " +"Нічого не робить, якщо ``self.usage`` порожній або не визначений." + +msgid "" +"Same as :meth:`print_usage` but returns the usage string instead of printing " +"it." +msgstr "" +"Те саме, що :meth:`print_usage`, але повертає рядок використання замість " +"його друку." + +msgid "" +"Set default values for several option destinations at once. Using :meth:" +"`set_defaults` is the preferred way to set default values for options, since " +"multiple options can share the same destination. For example, if several " +"\"mode\" options all set the same destination, any one of them can set the " +"default, and the last one wins::" +msgstr "" +"Встановіть значення за замовчуванням для кількох пунктів призначення " +"одночасно. Використання :meth:`set_defaults` є кращим способом встановлення " +"значень за замовчуванням для параметрів, оскільки кілька параметрів можуть " +"мати одне призначення. Наприклад, якщо кілька параметрів \"режиму\" " +"встановлюють одне й те саме призначення, будь-який із них може встановити " +"значення за замовчуванням, і виграє останній:" + +msgid "To avoid this confusion, use :meth:`set_defaults`::" +msgstr "Щоб уникнути цієї плутанини, використовуйте :meth:`set_defaults`::" + +msgid "Option Callbacks" +msgstr "Опція зворотних викликів" + +msgid "" +"When :mod:`optparse`'s built-in actions and types aren't quite enough for " +"your needs, you have two choices: extend :mod:`optparse` or define a " +"callback option. Extending :mod:`optparse` is more general, but overkill for " +"a lot of simple cases. Quite often a simple callback is all you need." +msgstr "" +"Якщо вбудованих дій і типів :mod:`optparse` недостатньо для ваших потреб, у " +"вас є два варіанти: розширити :mod:`optparse` або визначити опцію зворотного " +"виклику. Розширення :mod:`optparse` є більш загальним, але надмірним для " +"багатьох простих випадків. Досить часто простий зворотний дзвінок - це все, " +"що вам потрібно." + +msgid "There are two steps to defining a callback option:" +msgstr "Існує два кроки, щоб визначити опцію зворотного виклику:" + +msgid "define the option itself using the ``\"callback\"`` action" +msgstr "визначте саму опцію за допомогою дії ``\"callback\"``" + +msgid "" +"write the callback; this is a function (or method) that takes at least four " +"arguments, as described below" +msgstr "" +"написати зворотний дзвінок; це функція (або метод), яка приймає щонайменше " +"чотири аргументи, як описано нижче" + +msgid "Defining a callback option" +msgstr "Визначення опції зворотного виклику" + +msgid "" +"As always, the easiest way to define a callback option is by using the :meth:" +"`OptionParser.add_option` method. Apart from :attr:`~Option.action`, the " +"only option attribute you must specify is ``callback``, the function to " +"call::" +msgstr "" +"Як завжди, найпростішим способом визначення опції зворотного виклику є " +"використання методу :meth:`OptionParser.add_option`. Окрім :attr:`~Option." +"action`, єдиним атрибутом параметра, який ви повинні вказати, є " +"``callback``, функція для виклику::" + +msgid "" +"``callback`` is a function (or other callable object), so you must have " +"already defined ``my_callback()`` when you create this callback option. In " +"this simple case, :mod:`optparse` doesn't even know if ``-c`` takes any " +"arguments, which usually means that the option takes no arguments---the mere " +"presence of ``-c`` on the command-line is all it needs to know. In some " +"circumstances, though, you might want your callback to consume an arbitrary " +"number of command-line arguments. This is where writing callbacks gets " +"tricky; it's covered later in this section." +msgstr "" +"``callback`` є функцією (або іншим викликаним об'єктом), тому ви повинні вже " +"визначати ``my_callback()``, створюючи цю опцію зворотного виклику. У цьому " +"простому випадку :mod:`optparse` навіть не знає, чи ``-c`` приймає будь-які " +"аргументи, що зазвичай означає, що опція не приймає аргументів --- сама " +"наявність ``-c`` на командний рядок — це все, що йому потрібно знати. Проте " +"за деяких обставин ви можете захотіти, щоб ваш зворотній виклик споживав " +"довільну кількість аргументів командного рядка. Тут написання зворотних " +"викликів стає складним; це розглянуто далі в цьому розділі." + +msgid "" +":mod:`optparse` always passes four particular arguments to your callback, " +"and it will only pass additional arguments if you specify them via :attr:" +"`~Option.callback_args` and :attr:`~Option.callback_kwargs`. Thus, the " +"minimal callback function signature is::" +msgstr "" +":mod:`optparse` завжди передає чотири конкретні аргументи вашому зворотному " +"виклику, і він передасть додаткові аргументи, лише якщо ви вкажете їх через :" +"attr:`~Option.callback_args` і :attr:`~Option.callback_kwargs`. Таким чином, " +"мінімальна сигнатура функції зворотного виклику:" + +msgid "The four arguments to a callback are described below." +msgstr "Чотири аргументи зворотного виклику описані нижче." + +msgid "" +"There are several other option attributes that you can supply when you " +"define a callback option:" +msgstr "" +"Є кілька інших атрибутів опції, які ви можете надати, коли визначаєте опцію " +"зворотного виклику:" + +msgid ":attr:`~Option.type`" +msgstr ":attr:`~Option.type`" + +msgid "" +"has its usual meaning: as with the ``\"store\"`` or ``\"append\"`` actions, " +"it instructs :mod:`optparse` to consume one argument and convert it to :attr:" +"`~Option.type`. Rather than storing the converted value(s) anywhere, " +"though, :mod:`optparse` passes it to your callback function." +msgstr "" +"має своє звичайне значення: як і з діями ``\"store\"`` або ``\"append\"``, " +"воно наказує :mod:`optparse` споживати один аргумент і перетворювати його " +"на :attr:`~Option.type` . Замість того, щоб десь зберігати перетворені " +"значення, :mod:`optparse` передає їх вашій функції зворотного виклику." + +msgid ":attr:`~Option.nargs`" +msgstr ":attr:`~Option.nargs`" + +msgid "" +"also has its usual meaning: if it is supplied and > 1, :mod:`optparse` will " +"consume :attr:`~Option.nargs` arguments, each of which must be convertible " +"to :attr:`~Option.type`. It then passes a tuple of converted values to your " +"callback." +msgstr "" +"також має своє звичайне значення: якщо його надано та > 1, :mod:`optparse` " +"споживатиме аргументи :attr:`~Option.nargs`, кожен із яких має бути " +"конвертованим у :attr:`~Option.type`. Потім він передає кортеж перетворених " +"значень у ваш зворотній виклик." + +msgid ":attr:`~Option.callback_args`" +msgstr ":attr:`~Option.callback_args`" + +msgid "a tuple of extra positional arguments to pass to the callback" +msgstr "" +"кортеж додаткових позиційних аргументів для передачі зворотному виклику" + +msgid ":attr:`~Option.callback_kwargs`" +msgstr ":attr:`~Option.callback_kwargs`" + +msgid "a dictionary of extra keyword arguments to pass to the callback" +msgstr "словник додаткових ключових аргументів для передачі зворотному виклику" + +msgid "How callbacks are called" +msgstr "Як називаються зворотні виклики" + +msgid "All callbacks are called as follows::" +msgstr "Усі зворотні виклики викликаються наступним чином:" + +msgid "``option``" +msgstr "``опція``" + +msgid "is the Option instance that's calling the callback" +msgstr "це екземпляр Option, який викликає зворотний виклик" + +msgid "``opt_str``" +msgstr "``opt_str``" + +msgid "" +"is the option string seen on the command-line that's triggering the " +"callback. (If an abbreviated long option was used, ``opt_str`` will be the " +"full, canonical option string---e.g. if the user puts ``--foo`` on the " +"command-line as an abbreviation for ``--foobar``, then ``opt_str`` will be ``" +"\"--foobar\"``.)" +msgstr "" +"це рядок параметрів, який можна побачити в командному рядку, який запускає " +"зворотний виклик. (Якщо використовувався скорочений довгий параметр, " +"``opt_str`` буде повним, канонічним рядком параметра --- наприклад, якщо " +"користувач розміщує ``--foo`` у командному рядку як скорочення для ``-- " +"foobar``, тоді ``opt_str`` буде ``\"--foobar\"``.)" + +msgid "``value``" +msgstr "``значення``" + +msgid "" +"is the argument to this option seen on the command-line. :mod:`optparse` " +"will only expect an argument if :attr:`~Option.type` is set; the type of " +"``value`` will be the type implied by the option's type. If :attr:`~Option." +"type` for this option is ``None`` (no argument expected), then ``value`` " +"will be ``None``. If :attr:`~Option.nargs` > 1, ``value`` will be a tuple " +"of values of the appropriate type." +msgstr "" +"є аргументом цього параметра в командному рядку. :mod:`optparse` очікуватиме " +"аргумент, лише якщо встановлено :attr:`~Option.type`; тип ``значення`` буде " +"типом, який передбачається типом опції. Якщо :attr:`~Option.type` для цього " +"параметра має значення ``None`` (аргумент не очікується), тоді ``value`` " +"буде ``None``. Якщо :attr:`~Option.nargs` > 1, ``value`` буде кортежем " +"значень відповідного типу." + +msgid "``parser``" +msgstr "``парсер``" + +msgid "" +"is the OptionParser instance driving the whole thing, mainly useful because " +"you can access some other interesting data through its instance attributes:" +msgstr "" +"це екземпляр OptionParser, який керує всім цим, головним чином корисний, " +"оскільки ви можете отримати доступ до деяких інших цікавих даних через його " +"атрибути екземпляра:" + +msgid "``parser.largs``" +msgstr "``parser.largs``" + +msgid "" +"the current list of leftover arguments, ie. arguments that have been " +"consumed but are neither options nor option arguments. Feel free to modify " +"``parser.largs``, e.g. by adding more arguments to it. (This list will " +"become ``args``, the second return value of :meth:`parse_args`.)" +msgstr "" +"поточний список залишкових аргументів, тобто. аргументи, які були " +"використані, але не є ні параметрами, ні аргументами варіантів. Не соромтеся " +"змінити ``parser.largs``, напр. додавши до нього більше аргументів. (Цей " +"список стане ``args``, другим значенням, що повертається :meth:`parse_args`.)" + +msgid "``parser.rargs``" +msgstr "``parser.rargs``" + +msgid "" +"the current list of remaining arguments, ie. with ``opt_str`` and ``value`` " +"(if applicable) removed, and only the arguments following them still there. " +"Feel free to modify ``parser.rargs``, e.g. by consuming more arguments." +msgstr "" +"поточний список аргументів, що залишилися, тобто. з вилученими параметрами " +"``opt_str`` і ``value`` (якщо застосовно), і залишаються лише наступні за " +"ними аргументи. Не соромтеся змінити ``parser.rargs``, напр. споживаючи " +"більше аргументів." + +msgid "``parser.values``" +msgstr "``parser.values``" + +msgid "" +"the object where option values are by default stored (an instance of " +"optparse.OptionValues). This lets callbacks use the same mechanism as the " +"rest of :mod:`optparse` for storing option values; you don't need to mess " +"around with globals or closures. You can also access or modify the value(s) " +"of any options already encountered on the command-line." +msgstr "" +"об’єкт, де за замовчуванням зберігаються значення параметрів (екземпляр " +"optparse.OptionValues). Це дозволяє зворотним викликам використовувати той " +"самий механізм, що й решта :mod:`optparse` для зберігання значень " +"параметрів; вам не потрібно возитися з глобалами чи закриттями. Ви також " +"можете отримати доступ або змінити значення будь-яких параметрів, які вже " +"зустрічаються в командному рядку." + +msgid "" +"is a tuple of arbitrary positional arguments supplied via the :attr:`~Option." +"callback_args` option attribute." +msgstr "" +"це кортеж довільних позиційних аргументів, що надаються через атрибут опції :" +"attr:`~Option.callback_args`." + +msgid "``kwargs``" +msgstr "``кварги``" + +msgid "" +"is a dictionary of arbitrary keyword arguments supplied via :attr:`~Option." +"callback_kwargs`." +msgstr "" +"це словник довільних аргументів ключових слів, які надаються через :attr:" +"`~Option.callback_kwargs`." + +msgid "Raising errors in a callback" +msgstr "Викликання помилок у зворотному виклику" + +msgid "" +"The callback function should raise :exc:`OptionValueError` if there are any " +"problems with the option or its argument(s). :mod:`optparse` catches this " +"and terminates the program, printing the error message you supply to " +"stderr. Your message should be clear, concise, accurate, and mention the " +"option at fault. Otherwise, the user will have a hard time figuring out what " +"they did wrong." +msgstr "" +"Функція зворотного виклику має викликати :exc:`OptionValueError`, якщо є " +"проблеми з параметром або його аргументом(ами). :mod:`optparse` вловлює це " +"та завершує програму, друкуючи повідомлення про помилку, яке ви надаєте на " +"stderr. Ваше повідомлення має бути ясним, лаконічним, точним і вказувати на " +"помилковий варіант. В іншому випадку користувачеві буде важко зрозуміти, що " +"він зробив не так." + +msgid "Callback example 1: trivial callback" +msgstr "Приклад зворотного виклику 1: тривіальний зворотний виклик" + +msgid "" +"Here's an example of a callback option that takes no arguments, and simply " +"records that the option was seen::" +msgstr "" +"Ось приклад опції зворотного виклику, яка не приймає аргументів і просто " +"записує, що опцію було розглянуто::" + +msgid "Of course, you could do that with the ``\"store_true\"`` action." +msgstr "Звичайно, ви можете зробити це за допомогою дії ``\"store_true\"``." + +msgid "Callback example 2: check option order" +msgstr "Приклад зворотного виклику 2: перевірте порядок варіантів" + +msgid "" +"Here's a slightly more interesting example: record the fact that ``-a`` is " +"seen, but blow up if it comes after ``-b`` in the command-line. ::" +msgstr "" +"Ось трохи цікавіший приклад: зафіксуйте факт відображення ``-a``, але " +"роздуйте, якщо він стоїть після ``-b`` у командному рядку. ::" + +msgid "Callback example 3: check option order (generalized)" +msgstr "Приклад зворотного виклику 3: перевірка порядку опцій (узагальнено)" + +msgid "" +"If you want to re-use this callback for several similar options (set a flag, " +"but blow up if ``-b`` has already been seen), it needs a bit of work: the " +"error message and the flag that it sets must be generalized. ::" +msgstr "" +"Якщо ви хочете повторно використати цей зворотній виклик для кількох " +"подібних параметрів (встановити прапорець, але роздути, якщо ``-b`` вже було " +"помічено), це потребує трохи роботи: повідомлення про помилку та прапорець, " +"який він встановлює необхідно узагальнити. ::" + +msgid "Callback example 4: check arbitrary condition" +msgstr "Приклад зворотного виклику 4: перевірка довільної умови" + +msgid "" +"Of course, you could put any condition in there---you're not limited to " +"checking the values of already-defined options. For example, if you have " +"options that should not be called when the moon is full, all you have to do " +"is this::" +msgstr "" +"Звичайно, ви можете поставити туди будь-яку умову --- ви не обмежені " +"перевіркою значень уже визначених параметрів. Наприклад, якщо у вас є опції, " +"які не слід викликати в повний місяць, все, що вам потрібно зробити, це:" + +msgid "" +"(The definition of ``is_moon_full()`` is left as an exercise for the reader.)" +msgstr "(Визначення ``is_moon_full()`` залишено як вправа для читача.)" + +msgid "Callback example 5: fixed arguments" +msgstr "Приклад зворотного виклику 5: фіксовані аргументи" + +msgid "" +"Things get slightly more interesting when you define callback options that " +"take a fixed number of arguments. Specifying that a callback option takes " +"arguments is similar to defining a ``\"store\"`` or ``\"append\"`` option: " +"if you define :attr:`~Option.type`, then the option takes one argument that " +"must be convertible to that type; if you further define :attr:`~Option." +"nargs`, then the option takes :attr:`~Option.nargs` arguments." +msgstr "" +"Справи стають трохи цікавішими, коли ви визначаєте параметри зворотного " +"виклику, які приймають фіксовану кількість аргументів. Вказівка того, що " +"опція зворотного виклику приймає аргументи, подібна до визначення опції ``" +"\"store\"`` або ``\"append\"``: якщо ви визначаєте :attr:`~Option.type`, " +"тоді опція приймає один аргумент, який повинен бути конвертованим у цей тип; " +"якщо ви далі визначаєте :attr:`~Option.nargs`, тоді параметр приймає " +"аргументи :attr:`~Option.nargs`." + +msgid "" +"Here's an example that just emulates the standard ``\"store\"`` action::" +msgstr "Ось приклад, який просто емулює стандартну дію ``\"store\"``:" + +msgid "" +"Note that :mod:`optparse` takes care of consuming 3 arguments and converting " +"them to integers for you; all you have to do is store them. (Or whatever; " +"obviously you don't need a callback for this example.)" +msgstr "" +"Зауважте, що :mod:`optparse` піклується про споживання 3 аргументів і " +"перетворення їх на цілі числа за вас; все, що вам потрібно зробити, це " +"зберегти їх. (Або що завгодно; очевидно, вам не потрібен зворотний виклик " +"для цього прикладу.)" + +msgid "Callback example 6: variable arguments" +msgstr "Приклад зворотного виклику 6: змінні аргументи" + +msgid "" +"Things get hairy when you want an option to take a variable number of " +"arguments. For this case, you must write a callback, as :mod:`optparse` " +"doesn't provide any built-in capabilities for it. And you have to deal with " +"certain intricacies of conventional Unix command-line parsing that :mod:" +"`optparse` normally handles for you. In particular, callbacks should " +"implement the conventional rules for bare ``--`` and ``-`` arguments:" +msgstr "" +"Справи стають заплутаними, коли ви хочете, щоб параметр приймав змінну " +"кількість аргументів. У цьому випадку ви повинні написати зворотний виклик, " +"оскільки :mod:`optparse` не надає жодних вбудованих можливостей для нього. І " +"вам доведеться мати справу з певними тонкощами звичайного аналізу командного " +"рядка Unix, який :mod:`optparse` зазвичай обробляє для вас. Зокрема, " +"зворотні виклики мають реалізовувати звичайні правила для голих аргументів " +"``--`` і ``-``:" + +msgid "either ``--`` or ``-`` can be option arguments" +msgstr "``--`` або ``-`` можуть бути аргументами опції" + +msgid "" +"bare ``--`` (if not the argument to some option): halt command-line " +"processing and discard the ``--``" +msgstr "" +"голий ``--`` (якщо не аргумент для якогось параметра): зупинити обробку " +"командного рядка та відкинути ``--``" + +msgid "" +"bare ``-`` (if not the argument to some option): halt command-line " +"processing but keep the ``-`` (append it to ``parser.largs``)" +msgstr "" +"голий ``-`` (якщо не аргумент для якогось параметра): зупинити обробку " +"командного рядка, але зберегти ``-`` (додати його до ``parser.largs``)" + +msgid "" +"If you want an option that takes a variable number of arguments, there are " +"several subtle, tricky issues to worry about. The exact implementation you " +"choose will be based on which trade-offs you're willing to make for your " +"application (which is why :mod:`optparse` doesn't support this sort of thing " +"directly)." +msgstr "" +"Якщо вам потрібна опція, яка приймає змінну кількість аргументів, є кілька " +"тонких, складних питань, про які варто потурбуватися. Точна реалізація, яку " +"ви виберете, базуватиметься на компромісах, які ви готові зробити для своєї " +"програми (саме тому :mod:`optparse` не підтримує подібні речі напряму)." + +msgid "" +"Nevertheless, here's a stab at a callback for an option with variable " +"arguments::" +msgstr "" +"Тим не менш, ось спроба зворотного виклику для опції зі змінними " +"аргументами::" + +msgid "Extending :mod:`optparse`" +msgstr "Розширення :mod:`optparse`" + +msgid "" +"Since the two major controlling factors in how :mod:`optparse` interprets " +"command-line options are the action and type of each option, the most likely " +"direction of extension is to add new actions and new types." +msgstr "" +"Оскільки двома основними факторами, що впливають на те, як :mod:`optparse` " +"інтерпретує параметри командного рядка, є дія та тип кожного параметра, " +"найімовірнішим напрямком розширення є додавання нових дій і нових типів." + +msgid "Adding new types" +msgstr "Додавання нових типів" + +msgid "" +"To add new types, you need to define your own subclass of :mod:`optparse`'s :" +"class:`Option` class. This class has a couple of attributes that define :" +"mod:`optparse`'s types: :attr:`~Option.TYPES` and :attr:`~Option." +"TYPE_CHECKER`." +msgstr "" +"Щоб додати нові типи, вам потрібно визначити власний підклас класу :mod:" +"`optparse` :class:`Option`. Цей клас має кілька атрибутів, які визначають " +"типи :mod:`optparse`: :attr:`~Option.TYPES` і :attr:`~Option.TYPE_CHECKER`." + +msgid "" +"A tuple of type names; in your subclass, simply define a new tuple :attr:" +"`TYPES` that builds on the standard one." +msgstr "" +"Кортеж імен типів; у своєму підкласі просто визначте новий кортеж :attr:" +"`TYPES`, який базується на стандартному." + +msgid "" +"A dictionary mapping type names to type-checking functions. A type-checking " +"function has the following signature::" +msgstr "" +"Словник, що зіставляє назви типів із функціями перевірки типу. Функція " +"перевірки типу має такий підпис:" + +msgid "" +"where ``option`` is an :class:`Option` instance, ``opt`` is an option string " +"(e.g., ``-f``), and ``value`` is the string from the command line that must " +"be checked and converted to your desired type. ``check_mytype()`` should " +"return an object of the hypothetical type ``mytype``. The value returned by " +"a type-checking function will wind up in the OptionValues instance returned " +"by :meth:`OptionParser.parse_args`, or be passed to a callback as the " +"``value`` parameter." +msgstr "" +"де ``option`` - це екземпляр :class:`Option`, ``opt`` - це рядок параметра " +"(наприклад, ``-f``), а ``value`` - це рядок із командного рядка, який " +"необхідно перевірити та перетворити на потрібний тип. ``check_mytype()`` має " +"повертати об’єкт гіпотетичного типу ``mytype``. Значення, повернуте функцією " +"перевірки типу, з’явиться в екземплярі OptionValues, поверненому :meth:" +"`OptionParser.parse_args`, або буде передано зворотному виклику як параметр " +"``value``." + +msgid "" +"Your type-checking function should raise :exc:`OptionValueError` if it " +"encounters any problems. :exc:`OptionValueError` takes a single string " +"argument, which is passed as-is to :class:`OptionParser`'s :meth:`error` " +"method, which in turn prepends the program name and the string ``\"error:" +"\"`` and prints everything to stderr before terminating the process." +msgstr "" +"Ваша функція перевірки типу має викликати :exc:`OptionValueError`, якщо вона " +"стикається з будь-якими проблемами. :exc:`OptionValueError` приймає один " +"рядковий аргумент, який передається як є до методу :meth:`error` :class:" +"`OptionParser`, який, у свою чергу, додає назву програми та рядок ``" +"\"помилка: \"`` і друкує все в stderr перед завершенням процесу." + +msgid "" +"Here's a silly example that demonstrates adding a ``\"complex\"`` option " +"type to parse Python-style complex numbers on the command line. (This is " +"even sillier than it used to be, because :mod:`optparse` 1.3 added built-in " +"support for complex numbers, but never mind.)" +msgstr "" +"Ось дурний приклад, який демонструє додавання типу параметра ``\"complex\"`` " +"для аналізу комплексних чисел у стилі Python у командному рядку. (Це ще " +"безглуздіше, ніж було раніше, тому що :mod:`optparse` 1.3 додав вбудовану " +"підтримку комплексних чисел, але нічого.)" + +msgid "First, the necessary imports::" +msgstr "По-перше, необхідний імпорт::" + +msgid "" +"You need to define your type-checker first, since it's referred to later (in " +"the :attr:`~Option.TYPE_CHECKER` class attribute of your Option subclass)::" +msgstr "" +"Спершу вам потрібно визначити свій засіб перевірки типів, оскільки на нього " +"посилатимуться пізніше (в атрибуті класу :attr:`~Option.TYPE_CHECKER` вашого " +"підкласу Option):" + +msgid "Finally, the Option subclass::" +msgstr "Нарешті, підклас Option::" + +msgid "" +"(If we didn't make a :func:`copy` of :attr:`Option.TYPE_CHECKER`, we would " +"end up modifying the :attr:`~Option.TYPE_CHECKER` attribute of :mod:" +"`optparse`'s Option class. This being Python, nothing stops you from doing " +"that except good manners and common sense.)" +msgstr "" +"(Якби ми не зробили :func:`copy` :attr:`Option.TYPE_CHECKER`, ми б завершили " +"зміну атрибута :attr:`~Option.TYPE_CHECKER` параметра :mod:`optparse` " +"Оскільки це Python, ніщо не заважає вам це зробити, крім хороших манер і " +"здорового глузду.)" + +msgid "" +"That's it! Now you can write a script that uses the new option type just " +"like any other :mod:`optparse`\\ -based script, except you have to instruct " +"your OptionParser to use MyOption instead of Option::" +msgstr "" +"Це воно! Тепер ви можете написати сценарій, який використовує новий тип " +"опцій, як і будь-який інший сценарій на основі :mod:`optparse`\\, за " +"винятком того, що вам потрібно вказати вашому OptionParser використовувати " +"MyOption замість Option::" + +msgid "" +"Alternately, you can build your own option list and pass it to OptionParser; " +"if you don't use :meth:`add_option` in the above way, you don't need to tell " +"OptionParser which option class to use::" +msgstr "" +"Крім того, ви можете створити власний список параметрів і передати його в " +"OptionParser; якщо ви не використовуєте :meth:`add_option` вищезгаданим " +"способом, вам не потрібно вказувати OptionParser, який клас параметрів " +"використовувати::" + +msgid "Adding new actions" +msgstr "Додавання нових дій" + +msgid "" +"Adding new actions is a bit trickier, because you have to understand that :" +"mod:`optparse` has a couple of classifications for actions:" +msgstr "" +"Додавати нові дії трохи складніше, тому що ви повинні розуміти, що :mod:" +"`optparse` має кілька класифікацій для дій:" + +msgid "\"store\" actions" +msgstr "дії \"магазину\"." + +msgid "" +"actions that result in :mod:`optparse` storing a value to an attribute of " +"the current OptionValues instance; these options require a :attr:`~Option." +"dest` attribute to be supplied to the Option constructor." +msgstr "" +"дії, які призводять до того, що :mod:`optparse` зберігає значення в атрибуті " +"поточного екземпляра OptionValues; ці параметри вимагають надання атрибута :" +"attr:`~Option.dest` конструктору Option." + +msgid "\"typed\" actions" +msgstr "\"набрані\" дії" + +msgid "" +"actions that take a value from the command line and expect it to be of a " +"certain type; or rather, a string that can be converted to a certain type. " +"These options require a :attr:`~Option.type` attribute to the Option " +"constructor." +msgstr "" +"дії, які беруть значення з командного рядка та очікують, що воно буде " +"певного типу; точніше, рядок, який можна перетворити на певний тип. Для цих " +"параметрів потрібен атрибут :attr:`~Option.type` конструктору Option." + +msgid "" +"These are overlapping sets: some default \"store\" actions are ``\"store" +"\"``, ``\"store_const\"``, ``\"append\"``, and ``\"count\"``, while the " +"default \"typed\" actions are ``\"store\"``, ``\"append\"``, and ``\"callback" +"\"``." +msgstr "" +"Це набори, що перекриваються: деякі дії \"зберігання\" за замовчуванням - це " +"``\"store\"``, ``\"store_const\"``, ``\"append\"`` і ``\"count\"``, а за " +"замовчуванням \"typed\" \" діями є ``\"зберігати\"``, ``\"додавати\"`` і ``" +"\"зворотний виклик\"``." + +msgid "" +"When you add an action, you need to categorize it by listing it in at least " +"one of the following class attributes of Option (all are lists of strings):" +msgstr "" +"Коли ви додаєте дію, вам потрібно класифікувати її, перерахувавши принаймні " +"в одному з наступних атрибутів класу Option (усі є списками рядків):" + +msgid "All actions must be listed in ACTIONS." +msgstr "Усі дії мають бути вказані в ACTIONS." + +msgid "\"store\" actions are additionally listed here." +msgstr "тут додатково перераховані дії \"магазину\"." + +msgid "\"typed\" actions are additionally listed here." +msgstr "\"введені\" дії додатково перераховані тут." + +msgid "" +"Actions that always take a type (i.e. whose options always take a value) are " +"additionally listed here. The only effect of this is that :mod:`optparse` " +"assigns the default type, ``\"string\"``, to options with no explicit type " +"whose action is listed in :attr:`ALWAYS_TYPED_ACTIONS`." +msgstr "" +"Дії, які завжди мають тип (тобто чиї параметри завжди приймають значення), " +"додатково перераховані тут. Єдиним ефектом цього є те, що :mod:`optparse` " +"призначає тип за замовчуванням, ``\"string\"``, параметрам без явного типу, " +"дія яких указана в :attr:`ALWAYS_TYPED_ACTIONS`." + +msgid "" +"In order to actually implement your new action, you must override Option's :" +"meth:`take_action` method and add a case that recognizes your action." +msgstr "" +"Щоб фактично реалізувати вашу нову дію, ви повинні перевизначити метод :meth:" +"`take_action` Option і додати регістр, який розпізнає вашу дію." + +msgid "" +"For example, let's add an ``\"extend\"`` action. This is similar to the " +"standard ``\"append\"`` action, but instead of taking a single value from " +"the command-line and appending it to an existing list, ``\"extend\"`` will " +"take multiple values in a single comma-delimited string, and extend an " +"existing list with them. That is, if ``--names`` is an ``\"extend\"`` " +"option of type ``\"string\"``, the command line ::" +msgstr "" +"Наприклад, давайте додамо дію ``\"розширити\"``. Це схоже на стандартну дію " +"``\"append\"``, але замість того, щоб брати одне значення з командного рядка " +"та додавати його до існуючого списку, ``\"extend\"`` прийматиме кілька " +"значень в одній комі -рядок із роздільниками та розширити ними існуючий " +"список. Тобто, якщо ``--names`` є опцією ``\"extend\"`` типу ``\"string\"``, " +"командний рядок::" + +msgid "would result in a list ::" +msgstr "призведе до списку ::" + +msgid "Again we define a subclass of Option::" +msgstr "Знову ми визначаємо підклас Option::" + +msgid "Features of note:" +msgstr "Примітка." + +msgid "" +"``\"extend\"`` both expects a value on the command-line and stores that " +"value somewhere, so it goes in both :attr:`~Option.STORE_ACTIONS` and :attr:" +"`~Option.TYPED_ACTIONS`." +msgstr "" +"``\"extend\"`` очікує значення в командному рядку та десь зберігає це " +"значення, тому воно входить і в :attr:`~Option.STORE_ACTIONS`, і в :attr:" +"`~Option.TYPED_ACTIONS`." + +msgid "" +"to ensure that :mod:`optparse` assigns the default type of ``\"string\"`` to " +"``\"extend\"`` actions, we put the ``\"extend\"`` action in :attr:`~Option." +"ALWAYS_TYPED_ACTIONS` as well." +msgstr "" +"щоб гарантувати, що :mod:`optparse` призначає типовий тип ``\"string\"`` " +"діям ``\"extend\"``, ми додаємо дію ``\"extend\"`` в :attr:`~Option. " +"ALWAYS_TYPED_ACTIONS` також." + +msgid "" +":meth:`MyOption.take_action` implements just this one new action, and passes " +"control back to :meth:`Option.take_action` for the standard :mod:`optparse` " +"actions." +msgstr "" +":meth:`MyOption.take_action` реалізує лише цю нову дію та передає керування " +"назад :meth:`Option.take_action` для стандартних дій :mod:`optparse`." + +msgid "" +"``values`` is an instance of the optparse_parser.Values class, which " +"provides the very useful :meth:`ensure_value` method. :meth:`ensure_value` " +"is essentially :func:`getattr` with a safety valve; it is called as ::" +msgstr "" +"``values`` є екземпляром класу optparse_parser.Values, який надає дуже " +"корисний метод :meth:`ensure_value`. :meth:`ensure_value` це по суті :func:" +"`getattr` із запобіжним клапаном; це називається як ::" + +msgid "" +"If the ``attr`` attribute of ``values`` doesn't exist or is ``None``, then " +"ensure_value() first sets it to ``value``, and then returns 'value. This is " +"very handy for actions like ``\"extend\"``, ``\"append\"``, and ``\"count" +"\"``, all of which accumulate data in a variable and expect that variable to " +"be of a certain type (a list for the first two, an integer for the latter). " +"Using :meth:`ensure_value` means that scripts using your action don't have " +"to worry about setting a default value for the option destinations in " +"question; they can just leave the default as ``None`` and :meth:" +"`ensure_value` will take care of getting it right when it's needed." +msgstr "" +"Якщо атрибут ``attr`` ``values`` не існує або має значення ``None``, тоді " +"secure_value() спочатку встановлює для нього значення ``value``, а потім " +"повертає значення ``value``. Це дуже зручно для таких дій, як ``\"extend" +"\"``, ``\"append\"`` і ``\"count\"``, усі з яких накопичують дані в змінній " +"і очікують, що ця змінна матиме певний тип (список для перших двох, ціле " +"число для останнього). Використання :meth:`ensure_value` означає, що " +"сценаріям, які використовують вашу дію, не потрібно турбуватися про " +"встановлення значення за замовчуванням для відповідних цільових параметрів; " +"вони можуть просто залишити значення за замовчуванням як ``None``, і :meth:" +"`ensure_value` подбає про те, щоб зробити це правильно, коли це буде " +"потрібно." diff --git a/library/os.po b/library/os.po new file mode 100644 index 000000000..be9dbcde7 --- /dev/null +++ b/library/os.po @@ -0,0 +1,6324 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`os` --- Miscellaneous operating system interfaces" +msgstr ":mod:`os` --- Різні інтерфейси операційної системи" + +msgid "**Source code:** :source:`Lib/os.py`" +msgstr "**Вихідний код:** :source:`Lib/os.py`" + +msgid "" +"This module provides a portable way of using operating system dependent " +"functionality. If you just want to read or write a file see :func:`open`, " +"if you want to manipulate paths, see the :mod:`os.path` module, and if you " +"want to read all the lines in all the files on the command line see the :mod:" +"`fileinput` module. For creating temporary files and directories see the :" +"mod:`tempfile` module, and for high-level file and directory handling see " +"the :mod:`shutil` module." +msgstr "" +"Цей модуль забезпечує портативний спосіб використання залежних від " +"операційної системи функцій. Якщо ви хочете просто прочитати або записати " +"файл, дивіться :func:`open`, якщо ви хочете маніпулювати шляхами, " +"перегляньте модуль :mod:`os.path`, а якщо ви хочете прочитати всі рядки в " +"усіх файлах у командному рядку перегляньте модуль :mod:`fileinput`. Для " +"створення тимчасових файлів і каталогів перегляньте модуль :mod:`tempfile`, " +"а для високорівневої обробки файлів і каталогів дивіться модуль :mod:" +"`shutil`." + +msgid "Notes on the availability of these functions:" +msgstr "Примітки щодо доступності цих функцій:" + +msgid "" +"The design of all built-in operating system dependent modules of Python is " +"such that as long as the same functionality is available, it uses the same " +"interface; for example, the function ``os.stat(path)`` returns stat " +"information about *path* in the same format (which happens to have " +"originated with the POSIX interface)." +msgstr "" +"Конструкція всіх вбудованих залежних від операційної системи модулів Python " +"така, що, поки доступна та сама функціональність, він використовує той самий " +"інтерфейс; наприклад, функція ``os.stat(path)`` повертає статистичну " +"інформацію про *path* у тому самому форматі (який, як виявилося, походить з " +"інтерфейсу POSIX)." + +msgid "" +"Extensions peculiar to a particular operating system are also available " +"through the :mod:`os` module, but using them is of course a threat to " +"portability." +msgstr "" +"Розширення, властиві певній операційній системі, також доступні через " +"модуль :mod:`os`, але їх використання, звичайно, є загрозою для " +"переносимості." + +msgid "" +"All functions accepting path or file names accept both bytes and string " +"objects, and result in an object of the same type, if a path or file name is " +"returned." +msgstr "" +"Усі функції, які приймають імена шляхів або файлів, приймають як байти, так " +"і рядкові об’єкти, і в результаті повертають об’єкт того самого типу, якщо " +"повертається шлях або ім’я файлу." + +msgid "" +"On VxWorks, os.popen, os.fork, os.execv and os.spawn*p* are not supported." +msgstr "У VxWorks os.popen, os.fork, os.execv і os.spawn*p* не підтримуються." + +msgid "" +"On WebAssembly platforms ``wasm32-emscripten`` and ``wasm32-wasi``, large " +"parts of the :mod:`os` module are not available or behave differently. API " +"related to processes (e.g. :func:`~os.fork`, :func:`~os.execve`), signals (e." +"g. :func:`~os.kill`, :func:`~os.wait`), and resources (e.g. :func:`~os." +"nice`) are not available. Others like :func:`~os.getuid` and :func:`~os." +"getpid` are emulated or stubs." +msgstr "" + +msgid "" +"All functions in this module raise :exc:`OSError` (or subclasses thereof) in " +"the case of invalid or inaccessible file names and paths, or other arguments " +"that have the correct type, but are not accepted by the operating system." +msgstr "" +"Усі функції в цьому модулі викликають :exc:`OSError` (або його підкласи) у " +"разі недійсних або недоступних імен файлів і шляхів або інших аргументів, " +"які мають правильний тип, але не приймаються операційною системою." + +msgid "An alias for the built-in :exc:`OSError` exception." +msgstr "Псевдонім для вбудованого винятку :exc:`OSError`." + +msgid "" +"The name of the operating system dependent module imported. The following " +"names have currently been registered: ``'posix'``, ``'nt'``, ``'java'``." +msgstr "" +"Назва імпортованого модуля, залежного від операційної системи. Наразі " +"зареєстровано такі назви: ``'posix'``, ``'nt'``, ``'java'``." + +msgid "" +":attr:`sys.platform` has a finer granularity. :func:`os.uname` gives system-" +"dependent version information." +msgstr "" +":attr:`sys.platform` має дрібнішу деталізацію. :func:`os.uname` надає " +"інформацію про версію, що залежить від системи." + +msgid "" +"The :mod:`platform` module provides detailed checks for the system's " +"identity." +msgstr "" +"Модуль :mod:`platform` забезпечує детальну перевірку ідентичності системи." + +msgid "File Names, Command Line Arguments, and Environment Variables" +msgstr "Імена файлів, аргументи командного рядка та змінні середовища" + +msgid "" +"In Python, file names, command line arguments, and environment variables are " +"represented using the string type. On some systems, decoding these strings " +"to and from bytes is necessary before passing them to the operating system. " +"Python uses the :term:`filesystem encoding and error handler` to perform " +"this conversion (see :func:`sys.getfilesystemencoding`)." +msgstr "" +"У Python імена файлів, аргументи командного рядка та змінні середовища " +"представлені за допомогою рядкового типу. У деяких системах декодування цих " +"рядків у та з байтів є необхідним перед передачею їх в операційну систему. " +"Python використовує :term:`filesystem encoding and error handler` для " +"виконання цього перетворення (див. :func:`sys.getfilesystemencoding`)." + +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:`filesystem encoding and error handler` налаштовуються під час запуску " +"Python за допомогою функції :c:func:`PyConfig_Read`: див. :c:member:" +"`~PyConfig.filesystem_encoding` і :c:member:`~PyConfig. filesystem_errors` " +"члени :c:type:`PyConfig`." + +msgid "" +"On some systems, conversion using the file system encoding may fail. In this " +"case, Python uses the :ref:`surrogateescape encoding error handler " +"`, which means that undecodable bytes are replaced by a " +"Unicode character U+DCxx on decoding, and these are again translated to the " +"original byte on encoding." +msgstr "" +"У деяких системах перетворення за допомогою кодування файлової системи може " +"завершитися помилкою. У цьому випадку Python використовує :ref:`обробник " +"помилок кодування surrogateescape `, що означає, що " +"некодовані байти замінюються символом Unicode U+DCxx під час декодування, і " +"вони знову перетворюються на вихідний байт під час кодування." + +msgid "" +"The :term:`file system 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 "" +":term:`кодування файлової системи ` " +"має гарантувати успішне декодування всіх байтів нижче 128. Якщо кодування " +"файлової системи не забезпечує цю гарантію, функції API можуть викликати :" +"exc:`UnicodeError`." + +msgid "See also the :term:`locale encoding`." +msgstr "Дивіться також :term:`locale encoding`." + +msgid "Python UTF-8 Mode" +msgstr "Режим Python UTF-8" + +msgid "See :pep:`540` for more details." +msgstr "Дивіться :pep:`540` для більш детальної інформації." + +msgid "" +"The Python UTF-8 Mode ignores the :term:`locale encoding` and forces the " +"usage of the UTF-8 encoding:" +msgstr "" +"Режим Python UTF-8 ігнорує кодування :term:`locale encoding` і змушує " +"використовувати кодування UTF-8:" + +msgid "" +"Use UTF-8 as the :term:`filesystem encoding `." +msgstr "" +"Використовуйте UTF-8 як :term:`кодування файлової системи `." + +msgid ":func:`sys.getfilesystemencoding()` returns ``'utf-8'``." +msgstr "" + +msgid "" +":func:`locale.getpreferredencoding()` returns ``'utf-8'`` (the " +"*do_setlocale* argument has no effect)." +msgstr "" + +msgid "" +":data:`sys.stdin`, :data:`sys.stdout`, and :data:`sys.stderr` all use UTF-8 " +"as their text encoding, with the ``surrogateescape`` :ref:`error handler " +"` being enabled for :data:`sys.stdin` and :data:`sys.stdout` " +"(:data:`sys.stderr` continues to use ``backslashreplace`` as it does in the " +"default locale-aware mode)" +msgstr "" +":data:`sys.stdin`, :data:`sys.stdout` і :data:`sys.stderr` використовують " +"UTF-8 як кодування тексту з ``surrogateescape`` :ref:`обробником помилок " +"` увімкнено для :data:`sys.stdin` і :data:`sys.stdout` (:" +"data:`sys.stderr` продовжує використовувати ``backslashreplace``, як це " +"робиться в режимі з урахуванням локалі за замовчуванням)" + +msgid "" +"On Unix, :func:`os.device_encoding` returns ``'utf-8'`` rather than the " +"device encoding." +msgstr "" + +msgid "" +"Note that the standard stream settings in UTF-8 mode can be overridden by :" +"envvar:`PYTHONIOENCODING` (just as they can be in the default locale-aware " +"mode)." +msgstr "" +"Зауважте, що стандартні параметри потоку в режимі UTF-8 можна замінити :" +"envvar:`PYTHONIOENCODING` (так само, як вони можуть бути в режимі з " +"урахуванням локалі за замовчуванням)." + +msgid "" +"As a consequence of the changes in those lower level APIs, other higher " +"level APIs also exhibit different default behaviours:" +msgstr "" +"Як наслідок змін у цих API нижчого рівня, інші API вищого рівня також " +"демонструють іншу поведінку за замовчуванням:" + +msgid "" +"Command line arguments, environment variables and filenames are decoded to " +"text using the UTF-8 encoding." +msgstr "" +"Аргументи командного рядка, змінні середовища та імена файлів декодуються в " +"текст за допомогою кодування UTF-8." + +msgid ":func:`os.fsdecode()` and :func:`os.fsencode()` use the UTF-8 encoding." +msgstr "" +":func:`os.fsdecode()` і :func:`os.fsencode()` використовують кодування UTF-8." + +msgid "" +":func:`open()`, :func:`io.open()`, and :func:`codecs.open()` use the UTF-8 " +"encoding by default. However, they still use the strict error handler by " +"default so that attempting to open a binary file in text mode is likely to " +"raise an exception rather than producing nonsense data." +msgstr "" +":func:`open()`, :func:`io.open()` і :func:`codecs.open()` використовують " +"кодування UTF-8 за умовчанням. Однак вони все ще використовують строгий " +"обробник помилок за замовчуванням, тому спроба відкрити двійковий файл у " +"текстовому режимі швидше за все призведе до виключення, а не до безглуздих " +"даних." + +msgid "" +"The :ref:`Python UTF-8 Mode ` is enabled if the LC_CTYPE locale " +"is ``C`` or ``POSIX`` at Python startup (see the :c:func:`PyConfig_Read` " +"function)." +msgstr "" +":ref:`Режим Python UTF-8 ` увімкнено, якщо під час запуску Python " +"локаль LC_CTYPE є ``C`` або ``POSIX`` (див. функцію :c:func:`PyConfig_Read`)." + +msgid "" +"It can be enabled or disabled using the :option:`-X utf8 <-X>` command line " +"option and the :envvar:`PYTHONUTF8` environment variable." +msgstr "" +"Його можна ввімкнути або вимкнути за допомогою параметра командного рядка :" +"option:`-X utf8 <-X>` і змінної середовища :envvar:`PYTHONUTF8`." + +msgid "" +"If the :envvar:`PYTHONUTF8` environment variable is not set at all, then the " +"interpreter defaults to using the current locale settings, *unless* the " +"current locale is identified as a legacy ASCII-based locale (as described " +"for :envvar:`PYTHONCOERCECLOCALE`), and locale coercion is either disabled " +"or fails. In such legacy locales, the interpreter will default to enabling " +"UTF-8 mode unless explicitly instructed not to do so." +msgstr "" +"Якщо змінна середовища :envvar:`PYTHONUTF8` не встановлена взагалі, " +"інтерпретатор за замовчуванням використовує поточні параметри локалі, *якщо* " +"поточна локаль не визначена як застаріла локаль на основі ASCII (як описано " +"для :envvar:`PYTHONCOERCECLOCALE`), а примусове налаштування локалі вимкнено " +"або не працює. У таких застарілих локалях інтерпретатор за замовчуванням " +"увімкне режим UTF-8, якщо немає явних вказівок не робити цього." + +msgid "" +"The Python UTF-8 Mode can only be enabled at the Python startup. Its value " +"can be read from :data:`sys.flags.utf8_mode `." +msgstr "" +"Режим Python UTF-8 можна ввімкнути лише під час запуску Python. Його " +"значення можна прочитати з :data:`sys.flags.utf8_mode `." + +msgid "" +"See also the :ref:`UTF-8 mode on Windows ` and the :term:" +"`filesystem encoding and error handler`." +msgstr "" +"Дивіться також режим :ref:`UTF-8 у Windows ` і :term:" +"`filesystem encoding and error handler`." + +msgid ":pep:`686`" +msgstr "" + +msgid "Python 3.15 will make :ref:`utf8-mode` default." +msgstr "" + +msgid "Process Parameters" +msgstr "Параметри процесу" + +msgid "" +"These functions and data items provide information and operate on the " +"current process and user." +msgstr "" +"Ці функції та елементи даних надають інформацію та діють щодо поточного " +"процесу та користувача." + +msgid "" +"Return the filename corresponding to the controlling terminal of the process." +msgstr "Повертає ім'я файлу, що відповідає керуючому терміналу процесу." + +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr "" + +msgid "" +"A :term:`mapping` object where keys and values are strings that represent " +"the process environment. For example, ``environ['HOME']`` is the pathname " +"of your home directory (on some platforms), and is equivalent to " +"``getenv(\"HOME\")`` in C." +msgstr "" +"Об’єкт :term:`mapping`, де ключі та значення є рядками, які представляють " +"середовище процесу. Наприклад, ``environ['HOME']`` є шляхом до вашого " +"домашнього каталогу (на деяких платформах) і еквівалентний ``getenv(\"HOME" +"\")`` в C." + +msgid "" +"This mapping is captured the first time the :mod:`os` module is imported, " +"typically during Python startup as part of processing :file:`site.py`. " +"Changes to the environment made after this time are not reflected in :data:" +"`os.environ`, except for changes made by modifying :data:`os.environ` " +"directly." +msgstr "" +"Це зіставлення фіксується під час першого імпорту модуля :mod:`os`, зазвичай " +"під час запуску Python як частина обробки :file:`site.py`. Зміни в " +"середовищі, внесені після цього часу, не відображаються в :data:`os." +"environ`, за винятком змін, внесених безпосередньо шляхом модифікації :data:" +"`os.environ`." + +msgid "" +"This mapping may be used to modify the environment as well as query the " +"environment. :func:`putenv` will be called automatically when the mapping " +"is modified." +msgstr "" +"Це відображення можна використовувати для зміни середовища, а також запиту " +"середовища. :func:`putenv` буде викликано автоматично, коли відображення " +"буде змінено." + +msgid "" +"On Unix, keys and values use :func:`sys.getfilesystemencoding` and " +"``'surrogateescape'`` error handler. Use :data:`environb` if you would like " +"to use a different encoding." +msgstr "" +"В Unix ключі та значення використовують :func:`sys.getfilesystemencoding` і " +"``'surrogateescape'`` обробник помилок. Використовуйте :data:`environb`, " +"якщо ви хочете використати інше кодування." + +msgid "" +"Calling :func:`putenv` directly does not change :data:`os.environ`, so it's " +"better to modify :data:`os.environ`." +msgstr "" +"Безпосередній виклик :func:`putenv` не змінює :data:`os.environ`, тому краще " +"змінити :data:`os.environ`." + +msgid "" +"On some platforms, including FreeBSD and macOS, setting ``environ`` may " +"cause memory leaks. Refer to the system documentation for :c:func:`putenv`." +msgstr "" +"На деяких платформах, включаючи FreeBSD і macOS, налаштування ``environ`` " +"може спричинити витік пам’яті. Зверніться до системної документації для :c:" +"func:`putenv`." + +msgid "" +"You can delete items in this mapping to unset environment variables. :func:" +"`unsetenv` will be called automatically when an item is deleted from :data:" +"`os.environ`, and when one of the :meth:`pop` or :meth:`clear` methods is " +"called." +msgstr "" +"Ви можете видалити елементи в цьому відображенні, щоб скасувати налаштування " +"змінних середовища. :func:`unsetenv` буде викликано автоматично, коли " +"елемент буде видалено з :data:`os.environ`, а також під час виклику одного з " +"методів :meth:`pop` або :meth:`clear`." + +msgid "" +"Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators." +msgstr "" +"Оновлено для підтримки операторів злиття (``|``) і оновлення (``|=``) :pep:" +"`584`." + +msgid "" +"Bytes version of :data:`environ`: a :term:`mapping` object where both keys " +"and values are :class:`bytes` objects representing the process environment. :" +"data:`environ` and :data:`environb` are synchronized (modifying :data:" +"`environb` updates :data:`environ`, and vice versa)." +msgstr "" +"Байтова версія :data:`environ`: об’єкт :term:`mapping`, де і ключі, і " +"значення є об’єктами :class:`bytes`, що представляють середовище процесу. :" +"data:`environ` і :data:`environb` синхронізуються (модифікація :data:" +"`environb` оновлює :data:`environ`, і навпаки)." + +msgid "" +":data:`environb` is only available if :data:`supports_bytes_environ` is " +"``True``." +msgstr "" +":data:`environb` доступний лише якщо :data:`supports_bytes_environ` має " +"значення ``True``." + +msgid "These functions are described in :ref:`os-file-dir`." +msgstr "Ці функції описані в :ref:`os-file-dir`." + +msgid "" +"Encode :term:`path-like ` *filename* to the :term:" +"`filesystem encoding and error handler`; return :class:`bytes` unchanged." +msgstr "" +"Закодуйте :term:`path-like ` *ім’я файлу* до :term:" +"`filesystem encoding and error handler`; повертає :class:`bytes` без змін." + +msgid ":func:`fsdecode` is the reverse function." +msgstr ":func:`fsdecode` є зворотною функцією." + +msgid "" +"Support added to accept objects implementing the :class:`os.PathLike` " +"interface." +msgstr "" +"Додано підтримку прийому об’єктів, що реалізують інтерфейс :class:`os." +"PathLike`." + +msgid "" +"Decode the :term:`path-like ` *filename* from the :term:" +"`filesystem encoding and error handler`; return :class:`str` unchanged." +msgstr "" +"Декодуйте :term:`path-like ` *filename* з :term:" +"`filesystem encoding and error handler`; повертає :class:`str` без змін." + +msgid ":func:`fsencode` is the reverse function." +msgstr ":func:`fsencode` є зворотною функцією." + +msgid "Return the file system representation of the path." +msgstr "Повертає представлення файлової системи шляху." + +msgid "" +"If :class:`str` or :class:`bytes` is passed in, it is returned unchanged. " +"Otherwise :meth:`~os.PathLike.__fspath__` is called and its value is " +"returned as long as it is a :class:`str` or :class:`bytes` object. In all " +"other cases, :exc:`TypeError` is raised." +msgstr "" +"Якщо передано :class:`str` або :class:`bytes`, воно повертається без змін. В " +"іншому випадку викликається :meth:`~os.PathLike.__fspath__` і повертається " +"його значення, якщо це об’єкт :class:`str` або :class:`bytes`. У всіх інших " +"випадках виникає :exc:`TypeError`." + +msgid "" +"An :term:`abstract base class` for objects representing a file system path, " +"e.g. :class:`pathlib.PurePath`." +msgstr "" +":term:`abstract base class` для об’єктів, що представляють шлях файлової " +"системи, напр. :class:`pathlib.PurePath`." + +msgid "Return the file system path representation of the object." +msgstr "Повертає представлення шляху файлової системи до об’єкта." + +msgid "" +"The method should only return a :class:`str` or :class:`bytes` object, with " +"the preference being for :class:`str`." +msgstr "" +"Метод має повертати лише об’єкт :class:`str` або :class:`bytes`, з перевагою " +"для :class:`str`." + +msgid "" +"Return the value of the environment variable *key* as a string if it exists, " +"or *default* if it doesn't. *key* is a string. Note that since :func:" +"`getenv` uses :data:`os.environ`, the mapping of :func:`getenv` is similarly " +"also captured on import, and the function may not reflect future environment " +"changes." +msgstr "" + +msgid "" +"On Unix, keys and values are decoded with :func:`sys.getfilesystemencoding` " +"and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would " +"like to use a different encoding." +msgstr "" +"В Unix ключі та значення декодуються за допомогою :func:`sys." +"getfilesystemencoding` і ``'surrogateescape'`` обробника помилок. " +"Використовуйте :func:`os.getenvb`, якщо ви хочете використати інше кодування." + +msgid ":ref:`Availability `: Unix, Windows." +msgstr ":ref:`Наявність `: Unix, Windows." + +msgid "" +"Return the value of the environment variable *key* as bytes if it exists, or " +"*default* if it doesn't. *key* must be bytes. Note that since :func:" +"`getenvb` uses :data:`os.environb`, the mapping of :func:`getenvb` is " +"similarly also captured on import, and the function may not reflect future " +"environment changes." +msgstr "" + +msgid "" +":func:`getenvb` is only available if :data:`supports_bytes_environ` is " +"``True``." +msgstr "" +":func:`getenvb` доступний лише якщо :data:`supports_bytes_environ` має " +"значення ``True``." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Returns the list of directories that will be searched for a named " +"executable, similar to a shell, when launching a process. *env*, when " +"specified, should be an environment variable dictionary to lookup the PATH " +"in. By default, when *env* is ``None``, :data:`environ` is used." +msgstr "" +"Повертає список каталогів, у яких здійснюватиметься пошук іменованого " +"виконуваного файлу, схожого на оболонку, під час запуску процесу. *env*, " +"якщо вказано, має бути словником змінної середовища для пошуку ШЛЯХУ. За " +"умовчанням, коли *env* має значення ``None``, використовується :data:" +"`environ`." + +msgid "" +"Return the effective group id of the current process. This corresponds to " +"the \"set id\" bit on the file being executed in the current process." +msgstr "" +"Повертає ефективний ідентифікатор групи поточного процесу. Це відповідає " +"біту \"set id\" у файлі, який виконується в поточному процесі." + +msgid "Return the current process's effective user id." +msgstr "Повернути ефективний ідентифікатор користувача поточного процесу." + +msgid "Return the real group id of the current process." +msgstr "Повертає справжній ідентифікатор групи поточного процесу." + +msgid "" +"The function is a stub on Emscripten and WASI, see :ref:`wasm-availability` " +"for more information." +msgstr "" + +msgid "" +"Return list of group ids that *user* belongs to. If *group* is not in the " +"list, it is included; typically, *group* is specified as the group ID field " +"from the password record for *user*, because that group ID will otherwise be " +"potentially omitted." +msgstr "" + +msgid "" +"Return list of supplemental group ids associated with the current process." +msgstr "" +"Повернути список ідентифікаторів додаткових груп, пов’язаних із поточним " +"процесом." + +msgid "" +"On macOS, :func:`getgroups` behavior differs somewhat from other Unix " +"platforms. If the Python interpreter was built with a deployment target of :" +"const:`10.5` or earlier, :func:`getgroups` returns the list of effective " +"group ids associated with the current user process; this list is limited to " +"a system-defined number of entries, typically 16, and may be modified by " +"calls to :func:`setgroups` if suitably privileged. If built with a " +"deployment target greater than :const:`10.5`, :func:`getgroups` returns the " +"current group access list for the user associated with the effective user id " +"of the process; the group access list may change over the lifetime of the " +"process, it is not affected by calls to :func:`setgroups`, and its length is " +"not limited to 16. The deployment target value, :const:" +"`MACOSX_DEPLOYMENT_TARGET`, can be obtained with :func:`sysconfig." +"get_config_var`." +msgstr "" +"У macOS поведінка :func:`getgroups` дещо відрізняється від інших платформ " +"Unix. Якщо інтерпретатор Python було створено з метою розгортання :const:" +"`10.5` або раніше, :func:`getgroups` повертає список ефективних " +"ідентифікаторів груп, пов’язаних із поточним процесом користувача; цей " +"список обмежується визначеною системою кількістю записів, як правило, 16, і " +"може бути змінений викликами :func:`setgroups`, якщо відповідні привілеї. " +"Якщо створено з метою розгортання, більшою за :const:`10.5`, :func:" +"`getgroups` повертає поточний список доступу групи для користувача, " +"пов’язаного з ефективним ідентифікатором користувача процесу; список доступу " +"групи може змінюватися протягом життя процесу, на нього не впливають " +"виклики :func:`setgroups`, і його довжина не обмежена 16. Цільове значення " +"розгортання, :const:`MACOSX_DEPLOYMENT_TARGET`, може бути отримано за " +"допомогою :func:`sysconfig.get_config_var`." + +msgid "" +"Return the name of the user logged in on the controlling terminal of the " +"process. For most purposes, it is more useful to use :func:`getpass." +"getuser` since the latter checks the environment variables :envvar:`LOGNAME` " +"or :envvar:`USERNAME` to find out who the user is, and falls back to ``pwd." +"getpwuid(os.getuid())[0]`` to get the login name of the current real user id." +msgstr "" +"Повертає ім’я користувача, який увійшов у систему на керуючому терміналі " +"процесу. Для більшості цілей корисніше використовувати :func:`getpass." +"getuser`, оскільки останній перевіряє змінні середовища :envvar:`LOGNAME` " +"або :envvar:`USERNAME`, щоб дізнатися, хто є користувачем, і повертається до " +"``pwd.getpwuid(os.getuid())[0]``, щоб отримати ім’я для входу поточного " +"реального ідентифікатора користувача." + +msgid "" +":ref:`Availability `: Unix, Windows, not Emscripten, not WASI." +msgstr "" + +msgid "" +"Return the process group id of the process with process id *pid*. If *pid* " +"is 0, the process group id of the current process is returned." +msgstr "" +"Повертає ідентифікатор групи процесу з ідентифікатором процесу *pid*. Якщо " +"*pid* дорівнює 0, повертається ідентифікатор групи поточного процесу." + +msgid "Return the id of the current process group." +msgstr "Повертає ідентифікатор поточної групи процесів." + +msgid "Return the current process id." +msgstr "Повернути ідентифікатор поточного процесу." + +msgid "" +"Return the parent's process id. When the parent process has exited, on Unix " +"the id returned is the one of the init process (1), on Windows it is still " +"the same id, which may be already reused by another process." +msgstr "" +"Повертає ідентифікатор батьківського процесу. Коли батьківський процес " +"завершив роботу, в Unix повертається ідентифікатор процесу ініціалізації " +"(1), у Windows це все ще той самий ідентифікатор, який може вже повторно " +"використовуватися іншим процесом." + +msgid "Added support for Windows." +msgstr "Додана підтримка Windows." + +msgid "" +"Get program scheduling priority. The value *which* is one of :const:" +"`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " +"interpreted relative to *which* (a process identifier for :const:" +"`PRIO_PROCESS`, process group identifier for :const:`PRIO_PGRP`, and a user " +"ID for :const:`PRIO_USER`). A zero value for *who* denotes (respectively) " +"the calling process, the process group of the calling process, or the real " +"user ID of the calling process." +msgstr "" +"Отримати пріоритет планування програми. Значення *which* є одним із :const:" +"`PRIO_PROCESS`, :const:`PRIO_PGRP` або :const:`PRIO_USER`, і *who* " +"інтерпретується відносно *which* (ідентифікатор процесу для :const:" +"`PRIO_PROCESS`, ідентифікатор групи процесів для :const:`PRIO_PGRP` та " +"ідентифікатор користувача для :const:`PRIO_USER`). Нульове значення для " +"*who* позначає (відповідно) викликаючий процес, групу процесів викликаючого " +"процесу або справжній ідентифікатор користувача викликаючого процесу." + +msgid "" +"Parameters for the :func:`getpriority` and :func:`setpriority` functions." +msgstr "Параметри для функцій :func:`getpriority` і :func:`setpriority`." + +msgid "" +"Return a tuple (ruid, euid, suid) denoting the current process's real, " +"effective, and saved user ids." +msgstr "" +"Повертає кортеж (ruid, euid, suid), що позначає справжні, ефективні та " +"збережені ідентифікатори користувачів поточного процесу." + +msgid "" +"Return a tuple (rgid, egid, sgid) denoting the current process's real, " +"effective, and saved group ids." +msgstr "" +"Повертає кортеж (rgid, egid, sgid), що позначає справжні, ефективні та " +"збережені ідентифікатори груп поточного процесу." + +msgid "Return the current process's real user id." +msgstr "Повертає справжній ідентифікатор користувача поточного процесу." + +msgid "" +"Call the system initgroups() to initialize the group access list with all of " +"the groups of which the specified username is a member, plus the specified " +"group id." +msgstr "" +"Викличте системний initgroups(), щоб ініціалізувати список доступу групи з " +"усіма групами, членом яких є вказане ім’я користувача, а також ідентифікатор " +"зазначеної групи." + +msgid "" +"Set the environment variable named *key* to the string *value*. Such " +"changes to the environment affect subprocesses started with :func:`os." +"system`, :func:`popen` or :func:`fork` and :func:`execv`." +msgstr "" +"Встановіть змінну середовища з назвою *key* на рядкове *значення*. Такі " +"зміни в середовищі впливають на підпроцеси, запущені з :func:`os.system`, :" +"func:`popen` або :func:`fork` і :func:`execv`." + +msgid "" +"Assignments to items in :data:`os.environ` are automatically translated into " +"corresponding calls to :func:`putenv`; however, calls to :func:`putenv` " +"don't update :data:`os.environ`, so it is actually preferable to assign to " +"items of :data:`os.environ`. This also applies to :func:`getenv` and :func:" +"`getenvb`, which respectively use :data:`os.environ` and :data:`os.environb` " +"in their implementations." +msgstr "" +"Призначення елементів у :data:`os.environ` автоматично перетворюються на " +"відповідні виклики :func:`putenv`; однак виклики :func:`putenv` не " +"оновлюють :data:`os.environ`, тому насправді краще призначати елементам :" +"data:`os.environ`. Це також стосується :func:`getenv` і :func:`getenvb`, які " +"відповідно використовують :data:`os.environ` і :data:`os.environb` у своїх " +"реалізаціях." + +msgid "" +"On some platforms, including FreeBSD and macOS, setting ``environ`` may " +"cause memory leaks. Refer to the system documentation for :c:func:`putenv`." +msgstr "" +"На деяких платформах, включаючи FreeBSD і macOS, налаштування ``environ`` " +"може спричинити витік пам’яті. Зверніться до системної документації для :c:" +"func:`putenv`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.putenv`` with arguments " +"``key``, ``value``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.putenv`` з аргументами ``key``, " +"``value``." + +msgid "The function is now always available." +msgstr "Тепер функція доступна завжди." + +msgid "Set the current process's effective group id." +msgstr "Установіть ефективний ідентифікатор групи поточного процесу." + +msgid "Set the current process's effective user id." +msgstr "Встановити ефективний ідентифікатор користувача поточного процесу." + +msgid "Set the current process' group id." +msgstr "Встановіть ідентифікатор групи поточного процесу." + +msgid "" +"Set the list of supplemental group ids associated with the current process " +"to *groups*. *groups* must be a sequence, and each element must be an " +"integer identifying a group. This operation is typically available only to " +"the superuser." +msgstr "" +"Установіть для списку ідентифікаторів додаткових груп, пов’язаних із " +"поточним процесом, значення *groups*. *групи* мають бути послідовністю, а " +"кожен елемент має бути цілим числом, що ідентифікує групу. Зазвичай ця " +"операція доступна лише суперкористувачу." + +msgid "" +"On macOS, the length of *groups* may not exceed the system-defined maximum " +"number of effective group ids, typically 16. See the documentation for :func:" +"`getgroups` for cases where it may not return the same group list set by " +"calling setgroups()." +msgstr "" +"У macOS довжина *groups* не може перевищувати визначену системою максимальну " +"кількість ефективних ідентифікаторів груп, як правило, 16. Перегляньте " +"документацію для :func:`getgroups`, щоб дізнатися про випадки, коли він може " +"не повернути той самий список груп, встановлений за допомогою виклику " +"setgroups()." + +msgid "" +"Call the system call :c:func:`setpgrp` or ``setpgrp(0, 0)`` depending on " +"which version is implemented (if any). See the Unix manual for the " +"semantics." +msgstr "" +"Викличте системний виклик :c:func:`setpgrp` або ``setpgrp(0, 0)`` залежно " +"від того, яка версія реалізована (якщо така є). Перегляньте посібник з Unix " +"для семантики." + +msgid "" +"Call the system call :c:func:`setpgid` to set the process group id of the " +"process with id *pid* to the process group with id *pgrp*. See the Unix " +"manual for the semantics." +msgstr "" +"Викличте системний виклик :c:func:`setpgid`, щоб встановити ідентифікатор " +"групи процесів процесу з ідентифікатором *pid* на групу процесів з " +"ідентифікатором *pgrp*. Перегляньте посібник з Unix для семантики." + +msgid "" +"Set program scheduling priority. The value *which* is one of :const:" +"`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " +"interpreted relative to *which* (a process identifier for :const:" +"`PRIO_PROCESS`, process group identifier for :const:`PRIO_PGRP`, and a user " +"ID for :const:`PRIO_USER`). A zero value for *who* denotes (respectively) " +"the calling process, the process group of the calling process, or the real " +"user ID of the calling process. *priority* is a value in the range -20 to " +"19. The default priority is 0; lower priorities cause more favorable " +"scheduling." +msgstr "" +"Встановити пріоритет планування програми. Значення *which* є одним із :const:" +"`PRIO_PROCESS`, :const:`PRIO_PGRP` або :const:`PRIO_USER` і *who* " +"інтерпретується відносно *which* (ідентифікатор процесу для :const:" +"`PRIO_PROCESS`, ідентифікатор групи процесів для :const:`PRIO_PGRP` та " +"ідентифікатор користувача для :const:`PRIO_USER`). Нульове значення для " +"*who* позначає (відповідно) викликаючий процес, групу процесів викликаючого " +"процесу або справжній ідентифікатор користувача викликаючого процесу. " +"*пріоритет* — це значення в діапазоні від -20 до 19. Пріоритет за " +"замовчуванням — 0; нижчі пріоритети викликають більш сприятливе планування." + +msgid "Set the current process's real and effective group ids." +msgstr "" +"Встановіть справжні та ефективні ідентифікатори груп поточного процесу." + +msgid "Set the current process's real, effective, and saved group ids." +msgstr "" +"Встановіть реальні, ефективні та збережені ідентифікатори груп поточного " +"процесу." + +msgid "Set the current process's real, effective, and saved user ids." +msgstr "" +"Встановіть справжні, ефективні та збережені ідентифікатори користувачів " +"поточного процесу." + +msgid "Set the current process's real and effective user ids." +msgstr "" +"Встановіть справжні та ефективні ідентифікатори користувачів поточного " +"процесу." + +msgid "" +"Call the system call :c:func:`getsid`. See the Unix manual for the " +"semantics." +msgstr "" +"Викличте системний виклик :c:func:`getsid`. Перегляньте посібник з Unix для " +"семантики." + +msgid "" +"Call the system call :c:func:`setsid`. See the Unix manual for the " +"semantics." +msgstr "" +"Викличте системний виклик :c:func:`setsid`. Перегляньте посібник з Unix для " +"семантики." + +msgid "Set the current process's user id." +msgstr "Встановіть ідентифікатор користувача поточного процесу." + +msgid "" +"Return the error message corresponding to the error code in *code*. On " +"platforms where :c:func:`strerror` returns ``NULL`` when given an unknown " +"error number, :exc:`ValueError` is raised." +msgstr "" +"Повернути повідомлення про помилку, що відповідає коду помилки в *code*. На " +"платформах, де :c:func:`strerror` повертає ``NULL``, коли отримує невідомий " +"номер помилки, виникає :exc:`ValueError`." + +msgid "" +"``True`` if the native OS type of the environment is bytes (eg. ``False`` on " +"Windows)." +msgstr "" +"``True``, якщо рідний тип ОС середовища - байти (наприклад, ``False`` у " +"Windows)." + +msgid "Set the current numeric umask and return the previous umask." +msgstr "Установіть поточну цифрову umask і поверніть попередню umask." + +msgid "" +"Returns information identifying the current operating system. The return " +"value is an object with five attributes:" +msgstr "" +"Повертає інформацію про поточну операційну систему. Значення, що " +"повертається, є об’єктом із п’ятьма атрибутами:" + +msgid ":attr:`sysname` - operating system name" +msgstr ":attr:`sysname` - назва операційної системи" + +msgid ":attr:`nodename` - name of machine on network (implementation-defined)" +msgstr ":attr:`nodename` - ім'я машини в мережі (визначено реалізацією)" + +msgid ":attr:`release` - operating system release" +msgstr ":attr:`release` - випуск операційної системи" + +msgid ":attr:`version` - operating system version" +msgstr ":attr:`version` - версія операційної системи" + +msgid ":attr:`machine` - hardware identifier" +msgstr ":attr:`machine` - ідентифікатор обладнання" + +msgid "" +"For backwards compatibility, this object is also iterable, behaving like a " +"five-tuple containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :" +"attr:`version`, and :attr:`machine` in that order." +msgstr "" +"Для зворотної сумісності цей об’єкт також можна ітерувати, ведучи себе як " +"п’ять кортежів, що містять :attr:`sysname`, :attr:`nodename`, :attr:" +"`release`, :attr:`version` і :attr:`machine` в такому порядку." + +msgid "" +"Some systems truncate :attr:`nodename` to 8 characters or to the leading " +"component; a better way to get the hostname is :func:`socket.gethostname` " +"or even ``socket.gethostbyaddr(socket.gethostname())``." +msgstr "" +"Деякі системи скорочують :attr:`nodename` до 8 символів або до початкового " +"компонента; кращий спосіб отримати ім’я хоста – :func:`socket.gethostname` " +"або навіть ``socket.gethostbyaddr(socket.gethostname())``." + +msgid "" +"Return type changed from a tuple to a tuple-like object with named " +"attributes." +msgstr "" +"Тип повернення змінено з кортежу на кортежний об’єкт з іменованими " +"атрибутами." + +msgid "" +"Unset (delete) the environment variable named *key*. Such changes to the " +"environment affect subprocesses started with :func:`os.system`, :func:" +"`popen` or :func:`fork` and :func:`execv`." +msgstr "" +"Скасувати (видалити) змінну середовища з назвою *key*. Такі зміни в " +"середовищі впливають на підпроцеси, запущені з :func:`os.system`, :func:" +"`popen` або :func:`fork` і :func:`execv`." + +msgid "" +"Deletion of items in :data:`os.environ` is automatically translated into a " +"corresponding call to :func:`unsetenv`; however, calls to :func:`unsetenv` " +"don't update :data:`os.environ`, so it is actually preferable to delete " +"items of :data:`os.environ`." +msgstr "" +"Видалення елементів у :data:`os.environ` автоматично перетворюється на " +"відповідний виклик :func:`unsetenv`; однак виклики :func:`unsetenv` не " +"оновлюють :data:`os.environ`, тому насправді краще видалити елементи :data:" +"`os.environ`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.unsetenv`` with argument " +"``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.unsetenv`` з аргументом ``key``." + +msgid "The function is now always available and is also available on Windows." +msgstr "Функція тепер доступна завжди і також доступна в Windows." + +msgid "File Object Creation" +msgstr "Створення файлового об’єкта" + +msgid "" +"These functions create new :term:`file objects `. (See also :" +"func:`~os.open` for opening file descriptors.)" +msgstr "" +"Ці функції створюють нові :term:`файлові об’єкти `. (Див. " +"також :func:`~os.open` для відкриття дескрипторів файлів.)" + +msgid "" +"Return an open file object connected to the file descriptor *fd*. This is " +"an alias of the :func:`open` built-in function and accepts the same " +"arguments. The only difference is that the first argument of :func:`fdopen` " +"must always be an integer." +msgstr "" +"Повертає відкритий файловий об'єкт, підключений до файлового дескриптора " +"*fd*. Це псевдонім вбудованої функції :func:`open` і приймає ті самі " +"аргументи. Єдина відмінність полягає в тому, що перший аргумент :func:" +"`fdopen` завжди має бути цілим числом." + +msgid "File Descriptor Operations" +msgstr "Операції файлового дескриптора" + +msgid "" +"These functions operate on I/O streams referenced using file descriptors." +msgstr "" +"Ці функції працюють із потоками введення/виведення, на які посилаються за " +"допомогою файлових дескрипторів." + +msgid "" +"File descriptors are small integers corresponding to a file that has been " +"opened by the current process. For example, standard input is usually file " +"descriptor 0, standard output is 1, and standard error is 2. Further files " +"opened by a process will then be assigned 3, 4, 5, and so forth. The name " +"\"file descriptor\" is slightly deceptive; on Unix platforms, sockets and " +"pipes are also referenced by file descriptors." +msgstr "" +"Дескриптори файлів — це малі цілі числа, що відповідають файлу, відкритому " +"поточним процесом. Наприклад, стандартним введенням зазвичай є дескриптор " +"файлу 0, стандартним виводом є 1, а стандартною помилкою є 2. Іншим файлам, " +"відкритим процесом, буде присвоєно 3, 4, 5 і так далі. Назва \"файловий " +"дескриптор\" трохи оманлива; на платформах Unix на сокети та канали також " +"посилаються дескриптори файлів." + +msgid "" +"The :meth:`~io.IOBase.fileno` method can be used to obtain the file " +"descriptor associated with a :term:`file object` when required. Note that " +"using the file descriptor directly will bypass the file object methods, " +"ignoring aspects such as internal buffering of data." +msgstr "" +"Метод :meth:`~io.IOBase.fileno` можна використовувати для отримання " +"дескриптора файлу, пов’язаного з :term:`file object`, коли це необхідно. " +"Зауважте, що використання безпосередньо файлового дескриптора обійде методи " +"файлового об’єкта, ігноруючи такі аспекти, як внутрішня буферизація даних." + +msgid "Close file descriptor *fd*." +msgstr "Закрити файловий дескриптор *fd*." + +msgid "" +"This function is intended for low-level I/O and must be applied to a file " +"descriptor as returned by :func:`os.open` or :func:`pipe`. To close a " +"\"file object\" returned by the built-in function :func:`open` or by :func:" +"`popen` or :func:`fdopen`, use its :meth:`~io.IOBase.close` method." +msgstr "" +"Ця функція призначена для низькорівневого вводу-виводу та має " +"застосовуватися до дескриптора файлу, який повертає :func:`os.open` або :" +"func:`pipe`. Щоб закрити \"файловий об’єкт\", повернутий вбудованою " +"функцією :func:`open` або :func:`popen` або :func:`fdopen`, скористайтеся " +"його методом :meth:`~io.IOBase.close` ." + +msgid "" +"Close all file descriptors from *fd_low* (inclusive) to *fd_high* " +"(exclusive), ignoring errors. Equivalent to (but much faster than)::" +msgstr "" +"Закрийте всі файлові дескриптори від *fd_low* (включно) до *fd_high* " +"(виключно), ігноруючи помилки. Еквівалентно (але набагато швидше ніж):" + +msgid "" +"Copy *count* bytes from file descriptor *src*, starting from offset " +"*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " +"If *offset_src* is None, then *src* is read from the current position; " +"respectively for *offset_dst*. The files pointed by *src* and *dst* must " +"reside in the same filesystem, otherwise an :exc:`OSError` is raised with :" +"attr:`~OSError.errno` set to :data:`errno.EXDEV`." +msgstr "" +"Скопіюйте *count* байтів із файлового дескриптора *src*, починаючи зі зсуву " +"*offset_src*, до файлового дескриптора *dst*, починаючи зі зсуву " +"*offset_dst*. Якщо *offset_src* має значення None, тоді *src* читається з " +"поточної позиції; відповідно для *offset_dst*. Файли, на які вказують *src* " +"і *dst*, повинні знаходитися в одній файловій системі, інакше виникає :exc:" +"`OSError` з :attr:`~OSError.errno`, встановленим на :data:`errno.EXDEV`." + +msgid "" +"This copy is done without the additional cost of transferring data from the " +"kernel to user space and then back into the kernel. Additionally, some " +"filesystems could implement extra optimizations. The copy is done as if both " +"files are opened as binary." +msgstr "" +"Ця копія виконується без додаткових витрат на передачу даних із ядра в " +"простір користувача, а потім назад у ядро. Крім того, деякі файлові системи " +"можуть реалізувати додаткові оптимізації. Копіювання виконується так, ніби " +"обидва файли відкриваються як двійкові." + +msgid "" +"The return value is the amount of bytes copied. This could be less than the " +"amount requested." +msgstr "" +"Поверненим значенням є кількість скопійованих байтів. Це може бути менше " +"запитаної суми." + +msgid ":ref:`Availability `: Linux >= 4.5 with glibc >= 2.27." +msgstr "" + +msgid "" +"Return a string describing the encoding of the device associated with *fd* " +"if it is connected to a terminal; else return :const:`None`." +msgstr "" +"Повертає рядок, що описує кодування пристрою, пов’язаного з *fd*, якщо він " +"підключений до терміналу; інакше повертає :const:`None`." + +msgid "" +"On Unix, if the :ref:`Python UTF-8 Mode ` is enabled, return " +"``'UTF-8'`` rather than the device encoding." +msgstr "" +"В Unix, якщо ввімкнено :ref:`Python UTF-8 Mode `, поверніть " +"``'UTF-8''`` замість кодування пристрою." + +msgid "On Unix, the function now implements the Python UTF-8 Mode." +msgstr "В Unix функція тепер реалізує режим Python UTF-8." + +msgid "" +"Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:" +"`non-inheritable `." +msgstr "" +"Повертає дублікат файлового дескриптора *fd*. Новий файловий дескриптор :ref:" +"`не успадковується `." + +msgid "" +"On Windows, when duplicating a standard stream (0: stdin, 1: stdout, 2: " +"stderr), the new file descriptor is :ref:`inheritable `." +msgstr "" +"У Windows під час дублювання стандартного потоку (0: stdin, 1: stdout, 2: " +"stderr) новий дескриптор файлу є :ref:`inheritable `." + +msgid ":ref:`Availability `: not WASI." +msgstr "" + +msgid "The new file descriptor is now non-inheritable." +msgstr "Новий файловий дескриптор тепер не успадковується." + +msgid "" +"Duplicate file descriptor *fd* to *fd2*, closing the latter first if " +"necessary. Return *fd2*. The new file descriptor is :ref:`inheritable " +"` by default or non-inheritable if *inheritable* is " +"``False``." +msgstr "" +"Дублюйте файловий дескриптор *fd* до *fd2*, закриваючи останній, якщо " +"необхідно. Повернути *fd2*. Новий файловий дескриптор :ref:`inheritable " +"` за замовчуванням або не успадковується, якщо *inheritable* " +"має значення ``False``." + +msgid "Add the optional *inheritable* parameter." +msgstr "Додайте необов’язковий параметр *inheritable*." + +msgid "Return *fd2* on success. Previously, ``None`` was always returned." +msgstr "Повернути *fd2* у разі успіху. Раніше завжди повертався ``None``." + +msgid "" +"Change the mode of the file given by *fd* to the numeric *mode*. See the " +"docs for :func:`chmod` for possible values of *mode*. As of Python 3.3, " +"this is equivalent to ``os.chmod(fd, mode)``." +msgstr "" +"Змініть режим файлу, заданий *fd*, на числовий *режим*. Перегляньте " +"документацію для :func:`chmod`, щоб дізнатися про можливі значення *mode*. " +"Починаючи з Python 3.3, це еквівалентно ``os.chmod(fd, mode)``." + +msgid "" +"Raises an :ref:`auditing event ` ``os.chmod`` with arguments " +"``path``, ``mode``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chmod`` з аргументами ``path``, " +"``mode``, ``dir_fd``." + +msgid "" +"The function is limited on Emscripten and WASI, see :ref:`wasm-availability` " +"for more information." +msgstr "" + +msgid "" +"Change the owner and group id of the file given by *fd* to the numeric *uid* " +"and *gid*. To leave one of the ids unchanged, set it to -1. See :func:" +"`chown`. As of Python 3.3, this is equivalent to ``os.chown(fd, uid, gid)``." +msgstr "" +"Змініть ідентифікатор власника та групи файлу, наданий *fd*, на числові " +"*uid* і *gid*. Щоб залишити один із ідентифікаторів без змін, встановіть для " +"нього значення -1. Дивіться :func:`chown`. Починаючи з Python 3.3, це " +"еквівалентно ``os.chown(fd, uid, gid)``." + +msgid "" +"Raises an :ref:`auditing event ` ``os.chown`` with arguments " +"``path``, ``uid``, ``gid``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chown`` з аргументами ``path``, " +"``uid``, ``gid``, ``dir_fd``." + +msgid "" +"Force write of file with filedescriptor *fd* to disk. Does not force update " +"of metadata." +msgstr "" +"Примусовий запис файлу з файловим дескриптором *fd* на диск. Не примусово " +"оновлювати метадані." + +msgid "This function is not available on MacOS." +msgstr "Ця функція недоступна в MacOS." + +msgid "" +"Return system configuration information relevant to an open file. *name* " +"specifies the configuration value to retrieve; it may be a string which is " +"the name of a defined system value; these names are specified in a number of " +"standards (POSIX.1, Unix 95, Unix 98, and others). Some platforms define " +"additional names as well. The names known to the host operating system are " +"given in the ``pathconf_names`` dictionary. For configuration variables not " +"included in that mapping, passing an integer for *name* is also accepted." +msgstr "" +"Повертає інформацію про конфігурацію системи, що стосується відкритого " +"файлу. *name* вказує значення конфігурації для отримання; це може бути " +"рядок, який є назвою визначеного системного значення; ці назви вказані в " +"ряді стандартів (POSIX.1, Unix 95, Unix 98 та інші). Деякі платформи також " +"визначають додаткові імена. Імена, відомі головній операційній системі, " +"наведено у словнику ``pathconf_names``. Для змінних конфігурації, не " +"включених до цього відображення, також допускається передача цілого числа " +"для *name*." + +msgid "" +"If *name* is a string and is not known, :exc:`ValueError` is raised. If a " +"specific value for *name* is not supported by the host system, even if it is " +"included in ``pathconf_names``, an :exc:`OSError` is raised with :const:" +"`errno.EINVAL` for the error number." +msgstr "" +"Якщо *name* є рядком і невідоме, виникає :exc:`ValueError`. Якщо певне " +"значення для *name* не підтримується хост-системою, навіть якщо воно " +"включено в ``pathconf_names``, виникає :exc:`OSError` з :const:`errno." +"EINVAL` для номера помилки ." + +msgid "As of Python 3.3, this is equivalent to ``os.pathconf(fd, name)``." +msgstr "Починаючи з Python 3.3, це еквівалентно ``os.pathconf(fd, name)``." + +msgid "" +"Get the status of the file descriptor *fd*. Return a :class:`stat_result` " +"object." +msgstr "" +"Отримати статус дескриптора файлу *fd*. Повертає об’єкт :class:`stat_result`." + +msgid "As of Python 3.3, this is equivalent to ``os.stat(fd)``." +msgstr "Починаючи з Python 3.3, це еквівалентно ``os.stat(fd)``." + +msgid "The :func:`.stat` function." +msgstr "Функція :func:`.stat`." + +msgid "" +"Return information about the filesystem containing the file associated with " +"file descriptor *fd*, like :func:`statvfs`. As of Python 3.3, this is " +"equivalent to ``os.statvfs(fd)``." +msgstr "" +"Повертає інформацію про файлову систему, яка містить файл, пов’язаний із " +"файловим дескриптором *fd*, наприклад :func:`statvfs`. Починаючи з Python " +"3.3, це еквівалентно ``os.statvfs(fd)``." + +msgid "" +"Force write of file with filedescriptor *fd* to disk. On Unix, this calls " +"the native :c:func:`fsync` function; on Windows, the MS :c:func:`_commit` " +"function." +msgstr "" +"Примусовий запис файлу з файловим дескриптором *fd* на диск. В Unix це " +"викликає власну функцію :c:func:`fsync`; у Windows — функція MS :c:func:" +"`_commit`." + +msgid "" +"If you're starting with a buffered Python :term:`file object` *f*, first do " +"``f.flush()``, and then do ``os.fsync(f.fileno())``, to ensure that all " +"internal buffers associated with *f* are written to disk." +msgstr "" +"Якщо ви починаєте з буферизованого :term:`file object` Python *f*, спочатку " +"виконайте ``f.flush()``, а потім виконайте ``os.fsync(f.fileno())``, щоб " +"переконатися, що всі внутрішні буфери, пов’язані з *f*, записуються на диск." + +msgid "" +"Truncate the file corresponding to file descriptor *fd*, so that it is at " +"most *length* bytes in size. As of Python 3.3, this is equivalent to ``os." +"truncate(fd, length)``." +msgstr "" +"Обріжте файл, що відповідає файловому дескриптору *fd*, щоб він мав розмір " +"не більше *length* байтів. Починаючи з Python 3.3, це еквівалентно ``os." +"truncate(fd, length)``." + +msgid "" +"Raises an :ref:`auditing event ` ``os.truncate`` with arguments " +"``fd``, ``length``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.truncate`` з аргументами " +"``fd``, ``length``." + +msgid "Added support for Windows" +msgstr "Додана підтримка Windows" + +msgid "" +"Get the blocking mode of the file descriptor: ``False`` if the :data:" +"`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." +msgstr "" +"Отримати режим блокування дескриптора файлу: ``False``, якщо встановлено " +"прапорець :data:`O_NONBLOCK`, ``True``, якщо прапорець знято." + +msgid "See also :func:`set_blocking` and :meth:`socket.socket.setblocking`." +msgstr "" +"Дивіться також :func:`set_blocking` і :meth:`socket.socket.setblocking`." + +msgid "" +"Return ``True`` if the file descriptor *fd* is open and connected to a tty(-" +"like) device, else ``False``." +msgstr "" +"Повертає ``True``, якщо файловий дескриптор *fd* відкрито та підключено до " +"tty(-like) пристрою, інакше ``False``." + +msgid "" +"Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an " +"open file descriptor. *cmd* specifies the command to use - one of :data:" +"`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` or :data:`F_TEST`. *len* " +"specifies the section of the file to lock." +msgstr "" +"Застосуйте, перевірте або видаліть блокування POSIX для відкритого файлового " +"дескриптора. *fd* — дескриптор відкритого файлу. *cmd* визначає команду для " +"використання - одну з :data:`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` або :" +"data:`F_TEST`. *len* вказує розділ файлу, який потрібно заблокувати." + +msgid "" +"Raises an :ref:`auditing event ` ``os.lockf`` with arguments " +"``fd``, ``cmd``, ``len``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.lockf`` з аргументами ``fd``, " +"``cmd``, ``len``." + +msgid "Flags that specify what action :func:`lockf` will take." +msgstr "Прапорці, які вказують, яку дію виконуватиме :func:`lockf`." + +msgid "" +"Prepare the tty of which fd is a file descriptor for a new login session. " +"Make the calling process a session leader; make the tty the controlling tty, " +"the stdin, the stdout, and the stderr of the calling process; close fd." +msgstr "" + +msgid "" +"Set the current position of file descriptor *fd* to position *pos*, modified " +"by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the " +"beginning of the file; :const:`SEEK_CUR` or ``1`` to set it relative to the " +"current position; :const:`SEEK_END` or ``2`` to set it relative to the end " +"of the file. Return the new cursor position in bytes, starting from the " +"beginning." +msgstr "" +"Установіть поточну позицію дескриптора файлу *fd* у позицію *pos*, змінену " +"*how*: :const:`SEEK_SET` або ``0``, щоб встановити позицію відносно початку " +"файлу; :const:`SEEK_CUR` або ``1``, щоб встановити його відносно поточної " +"позиції; :const:`SEEK_END` або ``2``, щоб встановити його відносно кінця " +"файлу. Повертає нову позицію курсору в байтах, починаючи з початку." + +msgid "" +"Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, " +"respectively." +msgstr "" +"Параметри функції :func:`lseek`. Їх значення дорівнюють 0, 1 і 2 відповідно." + +msgid "" +"Some operating systems could support additional values, like :data:`os." +"SEEK_HOLE` or :data:`os.SEEK_DATA`." +msgstr "" +"Деякі операційні системи можуть підтримувати додаткові значення, наприклад :" +"data:`os.SEEK_HOLE` або :data:`os.SEEK_DATA`." + +msgid "" +"Open the file *path* and set various flags according to *flags* and possibly " +"its mode according to *mode*. When computing *mode*, the current umask " +"value is first masked out. Return the file descriptor for the newly opened " +"file. The new file descriptor is :ref:`non-inheritable `." +msgstr "" +"Відкрийте *шлях* до файлу та встановіть різні позначки відповідно до *flags* " +"і, можливо, його режим відповідно до *mode*. Під час обчислення *режиму* " +"поточне значення umask спочатку маскується. Повертає файловий дескриптор для " +"щойно відкритого файлу. Новий файловий дескриптор :ref:`не успадковується " +"`." + +msgid "" +"For a description of the flag and mode values, see the C run-time " +"documentation; flag constants (like :const:`O_RDONLY` and :const:`O_WRONLY`) " +"are defined in the :mod:`os` module. In particular, on Windows adding :" +"const:`O_BINARY` is needed to open files in binary mode." +msgstr "" +"Для опису значень прапора та режиму дивіться документацію про час виконання " +"C; константи прапорів (наприклад, :const:`O_RDONLY` і :const:`O_WRONLY`) " +"визначені в модулі :mod:`os`. Зокрема, у Windows додавання :const:`O_BINARY` " +"потрібне для відкриття файлів у бінарному режимі." + +msgid "" +"This function can support :ref:`paths relative to directory descriptors " +"` with the *dir_fd* parameter." +msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"` з параметром *dir_fd*." + +msgid "" +"Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " +"``mode``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``open`` з аргументами ``path``, " +"``mode``, ``flags``." + +msgid "" +"This function is intended for low-level I/O. For normal usage, use the " +"built-in function :func:`open`, which returns a :term:`file object` with :" +"meth:`~file.read` and :meth:`~file.write` methods (and many more). To wrap " +"a file descriptor in a file object, use :func:`fdopen`." +msgstr "" +"Ця функція призначена для низькорівневого введення-виведення. Для звичайного " +"використання використовуйте вбудовану функцію :func:`open`, яка повертає " +"об’єкт :term:`file object` з методами :meth:`~file.read` і :meth:`~file." +"write` (і набагато більше). Щоб обернути файловий дескриптор у файловий " +"об’єкт, використовуйте :func:`fdopen`." + +msgid "The *dir_fd* argument." +msgstr "Аргумент *dir_fd*." + +msgid "" +"If the system call is interrupted and the signal handler does not raise an " +"exception, the function now retries the system call instead of raising an :" +"exc:`InterruptedError` exception (see :pep:`475` for the rationale)." +msgstr "" +"Якщо системний виклик перервано, а обробник сигналу не викликає виключення, " +"функція тепер повторює системний виклик замість того, щоб викликати виняток :" +"exc:`InterruptedError` (перегляньте :pep:`475` для обґрунтування)." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"The following constants are options for the *flags* parameter to the :func:" +"`~os.open` function. They can be combined using the bitwise OR operator ``|" +"``. Some of them are not available on all platforms. For descriptions of " +"their availability and use, consult the :manpage:`open(2)` manual page on " +"Unix or `the MSDN `_ " +"on Windows." +msgstr "" +"Наступні константи є опціями для параметра *flags* функції :func:`~os.open`. " +"Їх можна комбінувати за допомогою порозрядного оператора АБО ``|``. Деякі з " +"них доступні не на всіх платформах. Для опису їх доступності та використання " +"зверніться до :manpage:`open(2)` сторінки посібника для Unix або `MSDN " +"`_ для Windows." + +msgid "The above constants are available on Unix and Windows." +msgstr "Наведені вище константи доступні в Unix і Windows." + +msgid "The above constants are only available on Unix." +msgstr "Наведені вище константи доступні лише в Unix." + +msgid "Add :data:`O_CLOEXEC` constant." +msgstr "Додайте константу :data:`O_CLOEXEC`." + +msgid "The above constants are only available on Windows." +msgstr "Наведені вище константи доступні лише у Windows." + +msgid "The above constants are only available on macOS." +msgstr "Наведені вище константи доступні лише в macOS." + +msgid "" +"Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` and :data:" +"`O_NOFOLLOW_ANY` constants." +msgstr "" +"Додайте константи :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` і :" +"data:`O_NOFOLLOW_ANY`." + +msgid "" +"The above constants are extensions and not present if they are not defined " +"by the C library." +msgstr "" +"Наведені вище константи є розширеннями і не присутні, якщо вони не визначені " +"бібліотекою C." + +msgid "" +"Add :data:`O_PATH` on systems that support it. Add :data:`O_TMPFILE`, only " +"available on Linux Kernel 3.11 or newer." +msgstr "" +"Додайте :data:`O_PATH` до систем, які його підтримують. Додайте :data:" +"`O_TMPFILE`, доступний лише на ядрі Linux 3.11 або новіших." + +msgid "" +"Open a new pseudo-terminal pair. Return a pair of file descriptors " +"``(master, slave)`` for the pty and the tty, respectively. The new file " +"descriptors are :ref:`non-inheritable `. For a (slightly) " +"more portable approach, use the :mod:`pty` module." +msgstr "" +"Відкрийте нову пару псевдотерміналів. Повертає пару файлових дескрипторів " +"``(master, slave)`` для pty і tty відповідно. Нові дескриптори файлів :ref:" +"`не успадковуються `. Для (трохи) більш портативного підходу " +"використовуйте модуль :mod:`pty`." + +msgid "The new file descriptors are now non-inheritable." +msgstr "Нові файлові дескриптори тепер не успадковуються." + +msgid "" +"Create a pipe. Return a pair of file descriptors ``(r, w)`` usable for " +"reading and writing, respectively. The new file descriptor is :ref:`non-" +"inheritable `." +msgstr "" +"Створіть трубу. Повертає пару файлових дескрипторів ``(r, w)``, які можна " +"використовувати для читання та запису відповідно. Новий файловий дескриптор :" +"ref:`не успадковується `." + +msgid "" +"Create a pipe with *flags* set atomically. *flags* can be constructed by " +"ORing together one or more of these values: :data:`O_NONBLOCK`, :data:" +"`O_CLOEXEC`. Return a pair of file descriptors ``(r, w)`` usable for reading " +"and writing, respectively." +msgstr "" +"Створіть трубу з *прапорцями*, встановленими атомарно. *прапорці* можуть " +"бути створені шляхом об’єднання одного або кількох із цих значень :data:" +"`O_NONBLOCK`, :data:`O_CLOEXEC`. Повертає пару файлових дескрипторів ``(r, " +"w)``, які можна використовувати для читання та запису відповідно." + +msgid "" +"Ensures that enough disk space is allocated for the file specified by *fd* " +"starting from *offset* and continuing for *len* bytes." +msgstr "" +"Переконується, що для файлу, указаного *fd*, виділено достатньо місця на " +"диску, починаючи з *offset* і продовжуючи *len* байт." + +msgid ":ref:`Availability `: Unix, not Emscripten." +msgstr "" + +msgid "" +"Announces an intention to access data in a specific pattern thus allowing " +"the kernel to make optimizations. The advice applies to the region of the " +"file specified by *fd* starting at *offset* and continuing for *len* bytes. " +"*advice* is one of :data:`POSIX_FADV_NORMAL`, :data:" +"`POSIX_FADV_SEQUENTIAL`, :data:`POSIX_FADV_RANDOM`, :data:" +"`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` or :data:" +"`POSIX_FADV_DONTNEED`." +msgstr "" +"Оголошує про намір отримати доступ до даних за певним шаблоном, що дозволяє " +"ядру проводити оптимізацію. Порада стосується регіону файлу, визначеного " +"*fd*, починаючи з *offset* і продовжуючи *len* байти. *порада* є одним із :" +"data:`POSIX_FADV_NORMAL`, :data:`POSIX_FADV_SEQUENTIAL`, :data:" +"`POSIX_FADV_RANDOM`, :data:`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` " +"або :data:`POSIX_FADV_DONTNEED`." + +msgid "" +"Flags that can be used in *advice* in :func:`posix_fadvise` that specify the " +"access pattern that is likely to be used." +msgstr "" +"Прапорці, які можна використовувати в *advice* у :func:`posix_fadvise`, які " +"визначають шаблон доступу, який, імовірно, буде використаний." + +msgid "" +"Read at most *n* bytes from file descriptor *fd* at a position of *offset*, " +"leaving the file offset unchanged." +msgstr "" +"Прочитати щонайбільше *n* байт із файлового дескриптора *fd* у позиції " +"*offset*, залишаючи зміщення файлу незмінним." + +msgid "" +"Return a bytestring containing the bytes read. If the end of the file " +"referred to by *fd* has been reached, an empty bytes object is returned." +msgstr "" +"Повертає байтовий рядок, що містить прочитані байти. Якщо досягнуто кінця " +"файлу, на який посилається *fd*, повертається порожній об’єкт bytes." + +msgid "" +"Read from a file descriptor *fd* at a position of *offset* into mutable :" +"term:`bytes-like objects ` *buffers*, leaving the file " +"offset unchanged. Transfer data into each buffer until it is full and then " +"move on to the next buffer in the sequence to hold the rest of the data." +msgstr "" +"Читання з файлового дескриптора *fd* у позиції *offset* у змінні :term:`байт-" +"подібні об’єкти ` *buffers*, залишаючи зміщення файлу " +"незмінним. Передайте дані в кожен буфер, доки він не заповниться, а потім " +"перейдіть до наступного буфера в послідовності, щоб утримувати решту даних." + +msgid "" +"The flags argument contains a bitwise OR of zero or more of the following " +"flags:" +msgstr "Аргумент flags містить порозрядне АБО нуля або більше таких прапорів:" + +msgid ":data:`RWF_HIPRI`" +msgstr ":data:`RWF_HIPRI`" + +msgid ":data:`RWF_NOWAIT`" +msgstr ":data:`RWF_NOWAIT`" + +msgid "" +"Return the total number of bytes actually read which can be less than the " +"total capacity of all the objects." +msgstr "" +"Повертає загальну кількість фактично прочитаних байтів, яка може бути меншою " +"за загальну ємність усіх об’єктів." + +msgid "" +"The operating system may set a limit (:func:`sysconf` value " +"``'SC_IOV_MAX'``) on the number of buffers that can be used." +msgstr "" +"Операційна система може встановити обмеження (:func:`sysconf` значення " +"``'SC_IOV_MAX'``) на кількість буферів, які можна використовувати." + +msgid "Combine the functionality of :func:`os.readv` and :func:`os.pread`." +msgstr "" +"Поєднайте функціональні можливості :func:`os.readv` і :func:`os.pread`." + +msgid "" +":ref:`Availability `: Linux >= 2.6.30, FreeBSD >= 6.0, OpenBSD " +">= 2.7, AIX >= 7.1." +msgstr "" + +msgid "Using flags requires Linux >= 4.6." +msgstr "" + +msgid "" +"Do not wait for data which is not immediately available. If this flag is " +"specified, the system call will return instantly if it would have to read " +"data from the backing storage or wait for a lock." +msgstr "" +"Не чекайте даних, які доступні не відразу. Якщо вказано цей прапорець, " +"системний виклик повернеться миттєво, якщо йому доведеться прочитати дані з " +"резервного сховища або дочекатися блокування." + +msgid "" +"If some data was successfully read, it will return the number of bytes read. " +"If no bytes were read, it will return ``-1`` and set errno to :data:`errno." +"EAGAIN`." +msgstr "" +"Якщо деякі дані були успішно прочитані, він поверне кількість прочитаних " +"байтів. Якщо не було прочитано жодного байту, він поверне ``-1`` і " +"встановить errno як :data:`errno.EAGAIN`." + +msgid ":ref:`Availability `: Linux >= 4.14." +msgstr "" + +msgid "" +"High priority read/write. Allows block-based filesystems to use polling of " +"the device, which provides lower latency, but may use additional resources." +msgstr "" +"Високий пріоритет читання/запису. Дозволяє файловим системам на основі " +"блоків використовувати опитування пристрою, що забезпечує меншу затримку, " +"але може використовувати додаткові ресурси." + +msgid "" +"Currently, on Linux, this feature is usable only on a file descriptor opened " +"using the :data:`O_DIRECT` flag." +msgstr "" +"Наразі в Linux цю функцію можна використовувати лише для дескриптора файлу, " +"відкритого за допомогою позначки :data:`O_DIRECT`." + +msgid ":ref:`Availability `: Linux >= 4.6." +msgstr "" + +msgid "" +"Write the bytestring in *str* to file descriptor *fd* at position of " +"*offset*, leaving the file offset unchanged." +msgstr "" +"Запишіть байтовий рядок у *str* у файловий дескриптор *fd* у позиції " +"*offset*, залишаючи зміщення файлу без змін." + +msgid "Return the number of bytes actually written." +msgstr "Повертає кількість фактично записаних байтів." + +msgid "" +"Write the *buffers* contents to file descriptor *fd* at a offset *offset*, " +"leaving the file offset unchanged. *buffers* must be a sequence of :term:" +"`bytes-like objects `. Buffers are processed in array " +"order. Entire contents of the first buffer is written before proceeding to " +"the second, and so on." +msgstr "" +"Запишіть вміст *buffers* у файловий дескриптор *fd* зі зміщенням *offset*, " +"залишаючи зміщення файлу без змін. *буфери* мають бути послідовністю :term:" +"`байт-подібних об’єктів `. Буфери обробляються в порядку " +"масиву. Весь вміст першого буфера записується перед переходом до другого і " +"так далі." + +msgid ":data:`RWF_DSYNC`" +msgstr ":data:`RWF_DSYNC`" + +msgid ":data:`RWF_SYNC`" +msgstr ":data:`RWF_SYNC`" + +msgid ":data:`RWF_APPEND`" +msgstr ":data:`RWF_APPEND`" + +msgid "Return the total number of bytes actually written." +msgstr "Повертає загальну кількість фактично записаних байтів." + +msgid "Combine the functionality of :func:`os.writev` and :func:`os.pwrite`." +msgstr "Поєднайте функції :func:`os.writev` і :func:`os.pwrite`." + +msgid "" +"Provide a per-write equivalent of the :data:`O_DSYNC` :func:`os.open` flag. " +"This flag effect applies only to the data range written by the system call." +msgstr "" +"Надайте еквівалент для кожного запису прапора :data:`O_DSYNC` :func:`os." +"open`. Цей ефект прапора застосовується лише до діапазону даних, записаного " +"системним викликом." + +msgid ":ref:`Availability `: Linux >= 4.7." +msgstr ":ref:`Доступність `: Linux >= 4.7." + +msgid "" +"Provide a per-write equivalent of the :data:`O_SYNC` :func:`os.open` flag. " +"This flag effect applies only to the data range written by the system call." +msgstr "" +"Надайте еквівалент для кожного запису прапора :data:`O_SYNC` :func:`os." +"open`. Цей ефект прапора застосовується лише до діапазону даних, записаного " +"системним викликом." + +msgid "" +"Provide a per-write equivalent of the :data:`O_APPEND` :func:`os.open` flag. " +"This flag is meaningful only for :func:`os.pwritev`, and its effect applies " +"only to the data range written by the system call. The *offset* argument " +"does not affect the write operation; the data is always appended to the end " +"of the file. However, if the *offset* argument is ``-1``, the current file " +"*offset* is updated." +msgstr "" +"Надайте еквівалент для кожного запису прапора :data:`O_APPEND` :func:`os." +"open`. Цей прапор має значення лише для :func:`os.pwritev`, і його дія " +"стосується лише діапазону даних, записаного системним викликом. Аргумент " +"*offset* не впливає на операцію запису; дані завжди додаються в кінець " +"файлу. Однак, якщо аргумент *offset* дорівнює ``-1``, поточний файл *offset* " +"оновлюється." + +msgid ":ref:`Availability `: Linux >= 4.16." +msgstr "" + +msgid "Read at most *n* bytes from file descriptor *fd*." +msgstr "Прочитати щонайбільше *n* байт із файлового дескриптора *fd*." + +msgid "" +"This function is intended for low-level I/O and must be applied to a file " +"descriptor as returned by :func:`os.open` or :func:`pipe`. To read a \"file " +"object\" returned by the built-in function :func:`open` or by :func:`popen` " +"or :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~file.read` or :meth:" +"`~file.readline` methods." +msgstr "" +"Ця функція призначена для низькорівневого вводу-виводу та має " +"застосовуватися до дескриптора файлу, який повертає :func:`os.open` або :" +"func:`pipe`. Щоб прочитати \"файловий об’єкт\", повернутий вбудованою " +"функцією :func:`open` або :func:`popen` або :func:`fdopen`, або :data:`sys." +"stdin`, використовуйте його :meth:`~file.read` або :meth:`~file.readline` " +"методи." + +msgid "" +"Copy *count* bytes from file descriptor *in_fd* to file descriptor *out_fd* " +"starting at *offset*. Return the number of bytes sent. When EOF is reached " +"return ``0``." +msgstr "" +"Скопіюйте *count* байтів із файлового дескриптора *in_fd* до файлового " +"дескриптора *out_fd*, починаючи зі *offset*. Повертає кількість надісланих " +"байтів. Коли EOF досягнуто, повертає ``0``." + +msgid "" +"The first function notation is supported by all platforms that define :func:" +"`sendfile`." +msgstr "" +"Першу нотацію функції підтримують усі платформи, які визначають :func:" +"`sendfile`." + +msgid "" +"On Linux, if *offset* is given as ``None``, the bytes are read from the " +"current position of *in_fd* and the position of *in_fd* is updated." +msgstr "" +"У Linux, якщо *offset* задано як ``None``, байти зчитуються з поточної " +"позиції *in_fd*, а позиція *in_fd* оновлюється." + +msgid "" +"The second case may be used on macOS and FreeBSD where *headers* and " +"*trailers* are arbitrary sequences of buffers that are written before and " +"after the data from *in_fd* is written. It returns the same as the first " +"case." +msgstr "" +"Другий випадок можна використовувати в macOS і FreeBSD, де *заголовки* і " +"*кінці* є довільними послідовностями буферів, які записуються до і після " +"запису даних з *in_fd*. Він повертає те саме, що й перший випадок." + +msgid "" +"On macOS and FreeBSD, a value of ``0`` for *count* specifies to send until " +"the end of *in_fd* is reached." +msgstr "" +"У macOS і FreeBSD значення ``0`` для *count* вказує на надсилання до кінця " +"*in_fd*." + +msgid "" +"All platforms support sockets as *out_fd* file descriptor, and some " +"platforms allow other types (e.g. regular file, pipe) as well." +msgstr "" +"Усі платформи підтримують сокети як файловий дескриптор *out_fd*, а деякі " +"платформи також дозволяють інші типи (наприклад, звичайний файл, канал)." + +msgid "" +"Cross-platform applications should not use *headers*, *trailers* and *flags* " +"arguments." +msgstr "" +"Міжплатформні програми не повинні використовувати аргументи *headers*, " +"*trailers* і *flags*." + +msgid "" +"For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket." +"sendfile`." +msgstr "" +"Щоб отримати обгортку вищого рівня :func:`sendfile`, перегляньте :meth:" +"`socket.socket.sendfile`." + +msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*." +msgstr "Параметри *out* і *in* перейменовано на *out_fd* і *in_fd*." + +msgid "" +"Set the blocking mode of the specified file descriptor. Set the :data:" +"`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise." +msgstr "" +"Встановити режим блокування вказаного файлового дескриптора. Установіть " +"прапорець :data:`O_NONBLOCK`, якщо блокування має значення ``False``, " +"зніміть прапорець в іншому випадку." + +msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`." +msgstr "" +"Дивіться також :func:`get_blocking` і :meth:`socket.socket.setblocking`." + +msgid "" +"Parameters to the :func:`sendfile` function, if the implementation supports " +"them." +msgstr "Параметри функції :func:`sendfile`, якщо реалізація їх підтримує." + +msgid "" +"Parameter to the :func:`sendfile` function, if the implementation supports " +"it. The data won't be cached in the virtual memory and will be freed " +"afterwards." +msgstr "" + +msgid "" +"Transfer *count* bytes from file descriptor *src*, starting from offset " +"*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " +"At least one of the file descriptors must refer to a pipe. If *offset_src* " +"is None, then *src* is read from the current position; respectively for " +"*offset_dst*. The offset associated to the file descriptor that refers to a " +"pipe must be ``None``. The files pointed by *src* and *dst* must reside in " +"the same filesystem, otherwise an :exc:`OSError` is raised with :attr:" +"`~OSError.errno` set to :data:`errno.EXDEV`." +msgstr "" +"Передайте *count* байт із файлового дескриптора *src*, починаючи зі зміщення " +"*offset_src*, до файлового дескриптора *dst*, починаючи зі зміщення " +"*offset_dst*. Принаймні один із файлових дескрипторів має посилатися на " +"канал. Якщо *offset_src* має значення None, тоді *src* читається з поточної " +"позиції; відповідно для *offset_dst*. Зміщення, пов’язане з дескриптором " +"файлу, який посилається на канал, має бути ``None``. Файли, на які вказують " +"*src* і *dst*, повинні знаходитися в одній файловій системі, інакше виникає :" +"exc:`OSError` з :attr:`~OSError.errno`, встановленим на :data:`errno.EXDEV`." + +msgid "" +"Upon successful completion, returns the number of bytes spliced to or from " +"the pipe. A return value of 0 means end of input. If *src* refers to a pipe, " +"then this means that there was no data to transfer, and it would not make " +"sense to block because there are no writers connected to the write end of " +"the pipe." +msgstr "" +"Після успішного завершення повертає кількість байтів, з’єднаних із каналом " +"або з каналу. Повернене значення 0 означає кінець введення. Якщо *src* " +"посилається на канал, це означає, що не було даних для передачі, і не було б " +"сенсу блокувати, оскільки немає записувачів, підключених до кінця каналу для " +"запису." + +msgid ":ref:`Availability `: Linux >= 2.6.17 with glibc >= 2.5" +msgstr "" + +msgid "" +"Read from a file descriptor *fd* into a number of mutable :term:`bytes-like " +"objects ` *buffers*. Transfer data into each buffer until " +"it is full and then move on to the next buffer in the sequence to hold the " +"rest of the data." +msgstr "" +"Читання з файлового дескриптора *fd* у кілька змінних :term:`байт-подібних " +"об’єктів ` *буферів*. Передайте дані в кожен буфер, доки " +"він не заповниться, а потім перейдіть до наступного буфера в послідовності, " +"щоб утримувати решту даних." + +msgid "" +"Return the process group associated with the terminal given by *fd* (an open " +"file descriptor as returned by :func:`os.open`)." +msgstr "" +"Повертає групу процесів, пов’язану з терміналом, задану *fd* (дескриптор " +"відкритого файлу, який повертає :func:`os.open`)." + +msgid ":ref:`Availability `: Unix, not WASI." +msgstr "" + +msgid "" +"Set the process group associated with the terminal given by *fd* (an open " +"file descriptor as returned by :func:`os.open`) to *pg*." +msgstr "" +"Встановіть групу процесів, пов’язану з терміналом, надану *fd* (дескриптор " +"відкритого файлу, який повертає :func:`os.open`), на *pg*." + +msgid "" +"Return a string which specifies the terminal device associated with file " +"descriptor *fd*. If *fd* is not associated with a terminal device, an " +"exception is raised." +msgstr "" +"Повертає рядок, який визначає термінальний пристрій, пов’язаний із файловим " +"дескриптором *fd*. Якщо *fd* не пов’язано з термінальним пристроєм, виникає " +"виняток." + +msgid "Write the bytestring in *str* to file descriptor *fd*." +msgstr "Запишіть байтовий рядок у *str* до файлового дескриптора *fd*." + +msgid "" +"This function is intended for low-level I/O and must be applied to a file " +"descriptor as returned by :func:`os.open` or :func:`pipe`. To write a " +"\"file object\" returned by the built-in function :func:`open` or by :func:" +"`popen` or :func:`fdopen`, or :data:`sys.stdout` or :data:`sys.stderr`, use " +"its :meth:`~file.write` method." +msgstr "" +"Ця функція призначена для низькорівневого вводу-виводу та має " +"застосовуватися до дескриптора файлу, який повертає :func:`os.open` або :" +"func:`pipe`. Щоб записати \"файловий об’єкт\", який повертає вбудована " +"функція :func:`open` або :func:`popen` або :func:`fdopen`, або :data:`sys." +"stdout` або :data:`sys.stderr`, використовуйте його метод :meth:`~file." +"write`." + +msgid "" +"Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a " +"sequence of :term:`bytes-like objects `. Buffers are " +"processed in array order. Entire contents of the first buffer is written " +"before proceeding to the second, and so on." +msgstr "" +"Запишіть вміст *buffers* у файловий дескриптор *fd*. *буфери* мають бути " +"послідовністю :term:`байт-подібних об’єктів `. Буфери " +"обробляються в порядку масиву. Весь вміст першого буфера записується перед " +"переходом до другого і так далі." + +msgid "Returns the total number of bytes actually written." +msgstr "Повертає загальну кількість фактично записаних байтів." + +msgid "Querying the size of a terminal" +msgstr "Запит розміру терміналу" + +msgid "" +"Return the size of the terminal window as ``(columns, lines)``, tuple of " +"type :class:`terminal_size`." +msgstr "" +"Повертає розмір вікна терміналу як ``(стовпці, рядки)``, кортеж типу :class:" +"`terminal_size`." + +msgid "" +"The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) " +"specifies which file descriptor should be queried." +msgstr "" +"Додатковий аргумент ``fd`` (за замовчуванням ``STDOUT_FILENO`` або " +"стандартний вивід) визначає, який дескриптор файлу слід запитувати." + +msgid "" +"If the file descriptor is not connected to a terminal, an :exc:`OSError` is " +"raised." +msgstr "" +"Якщо дескриптор файлу не підключено до терміналу, виникає :exc:`OSError`." + +msgid "" +":func:`shutil.get_terminal_size` is the high-level function which should " +"normally be used, ``os.get_terminal_size`` is the low-level implementation." +msgstr "" +":func:`shutil.get_terminal_size` — це функція високого рівня, яка зазвичай " +"повинна використовуватися, ``os.get_terminal_size`` — це реалізація низького " +"рівня." + +msgid "" +"A subclass of tuple, holding ``(columns, lines)`` of the terminal window " +"size." +msgstr "" +"Підклас кортежу, що містить ``(стовпці, рядки)`` розміру вікна терміналу." + +msgid "Width of the terminal window in characters." +msgstr "Ширина вікна терміналу в символах." + +msgid "Height of the terminal window in characters." +msgstr "Висота вікна терміналу в символах." + +msgid "Inheritance of File Descriptors" +msgstr "Успадкування файлових дескрипторів" + +msgid "" +"A file descriptor has an \"inheritable\" flag which indicates if the file " +"descriptor can be inherited by child processes. Since Python 3.4, file " +"descriptors created by Python are non-inheritable by default." +msgstr "" +"Файловий дескриптор має позначку \"успадковуваний\", яка вказує, чи може " +"файловий дескриптор успадковуватися дочірніми процесами. Починаючи з Python " +"3.4, дескриптори файлів, створені Python, за замовчуванням не успадковуються." + +msgid "" +"On UNIX, non-inheritable file descriptors are closed in child processes at " +"the execution of a new program, other file descriptors are inherited." +msgstr "" +"В UNIX неуспадковані файлові дескриптори закриваються в дочірніх процесах " +"під час виконання нової програми, інші файлові дескриптори успадковуються." + +msgid "" +"On Windows, non-inheritable handles and file descriptors are closed in child " +"processes, except for standard streams (file descriptors 0, 1 and 2: stdin, " +"stdout and stderr), which are always inherited. Using :func:`spawn\\* " +"` functions, all inheritable handles and all inheritable file " +"descriptors are inherited. Using the :mod:`subprocess` module, all file " +"descriptors except standard streams are closed, and inheritable handles are " +"only inherited if the *close_fds* parameter is ``False``." +msgstr "" +"У Windows неуспадковані дескриптори та дескриптори файлів закриті в дочірніх " +"процесах, за винятком стандартних потоків (дескриптори файлів 0, 1 і 2: " +"stdin, stdout і stderr), які завжди успадковуються. За допомогою функцій :" +"func:`spawn\\* ` успадковуються всі успадковані маркери та всі " +"успадковані дескриптори файлів. За допомогою модуля :mod:`subprocess` усі " +"файлові дескриптори, крім стандартних потоків, закриваються, а успадковані " +"дескриптори успадковуються, лише якщо параметр *close_fds* має значення " +"``False``." + +msgid "" +"On WebAssembly platforms ``wasm32-emscripten`` and ``wasm32-wasi``, the file " +"descriptor cannot be modified." +msgstr "" + +msgid "" +"Get the \"inheritable\" flag of the specified file descriptor (a boolean)." +msgstr "" +"Отримайте позначку \"успадкований\" зазначеного файлового дескриптора " +"(логічне значення)." + +msgid "Set the \"inheritable\" flag of the specified file descriptor." +msgstr "" +"Встановіть прапорець \"успадкований\" для зазначеного файлового дескриптора." + +msgid "Get the \"inheritable\" flag of the specified handle (a boolean)." +msgstr "" +"Отримайте прапор \"успадкований\" зазначеного маркера (логічне значення)." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "Set the \"inheritable\" flag of the specified handle." +msgstr "Встановіть прапорець \"успадкований\" для вказаного маркера." + +msgid "Files and Directories" +msgstr "Файли та каталоги" + +msgid "" +"On some Unix platforms, many of these functions support one or more of these " +"features:" +msgstr "" +"На деяких платформах Unix багато з цих функцій підтримують одну або кілька " +"таких функцій:" + +msgid "" +"**specifying a file descriptor:** Normally the *path* argument provided to " +"functions in the :mod:`os` module must be a string specifying a file path. " +"However, some functions now alternatively accept an open file descriptor for " +"their *path* argument. The function will then operate on the file referred " +"to by the descriptor. (For POSIX systems, Python will call the variant of " +"the function prefixed with ``f`` (e.g. call ``fchdir`` instead of " +"``chdir``).)" +msgstr "" +"**зазначення дескриптора файлу:** Зазвичай аргумент *path*, який надається " +"функціям у модулі :mod:`os`, має бути рядком, що вказує шлях до файлу. Однак " +"деякі функції тепер альтернативно приймають дескриптор відкритого файлу для " +"свого аргументу *path*. Потім функція працюватиме з файлом, на який " +"посилається дескриптор. (Для систем POSIX Python викличе варіант функції з " +"префіксом ``f`` (наприклад, виклик ``fchdir`` замість ``chdir``).)" + +msgid "" +"You can check whether or not *path* can be specified as a file descriptor " +"for a particular function on your platform using :data:`os.supports_fd`. If " +"this functionality is unavailable, using it will raise a :exc:" +"`NotImplementedError`." +msgstr "" +"Ви можете перевірити, чи можна вказати *шлях* як дескриптор файлу для певної " +"функції на вашій платформі за допомогою :data:`os.supports_fd`. Якщо ця " +"функція недоступна, її використання призведе до помилки :exc:" +"`NotImplementedError`." + +msgid "" +"If the function also supports *dir_fd* or *follow_symlinks* arguments, it's " +"an error to specify one of those when supplying *path* as a file descriptor." +msgstr "" +"Якщо функція також підтримує аргументи *dir_fd* або *follow_symlinks*, буде " +"помилкою вказати один із них під час надання *шляху* як дескриптора файлу." + +msgid "" +"**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it " +"should be a file descriptor referring to a directory, and the path to " +"operate on should be relative; path will then be relative to that " +"directory. If the path is absolute, *dir_fd* is ignored. (For POSIX " +"systems, Python will call the variant of the function with an ``at`` suffix " +"and possibly prefixed with ``f`` (e.g. call ``faccessat`` instead of " +"``access``)." +msgstr "" +"**шляхи відносно дескрипторів каталогу:** Якщо *dir_fd* не є ``None``, це " +"має бути дескриптор файлу, який посилається на каталог, а шлях для роботи " +"має бути відносним; тоді шлях буде відносним до цього каталогу. Якщо шлях " +"абсолютний, *dir_fd* ігнорується. (Для систем POSIX Python викличе варіант " +"функції з суфіксом ``at`` і, можливо, з префіксом ``f`` (наприклад, виклик " +"``faccessat`` замість ``access``)." + +msgid "" +"You can check whether or not *dir_fd* is supported for a particular function " +"on your platform using :data:`os.supports_dir_fd`. If it's unavailable, " +"using it will raise a :exc:`NotImplementedError`." +msgstr "" +"Ви можете перевірити, чи підтримується *dir_fd* для певної функції на вашій " +"платформі за допомогою :data:`os.supports_dir_fd`. Якщо він недоступний, " +"його використання призведе до помилки :exc:`NotImplementedError`." + +msgid "" +"**not following symlinks:** If *follow_symlinks* is ``False``, and the last " +"element of the path to operate on is a symbolic link, the function will " +"operate on the symbolic link itself rather than the file pointed to by the " +"link. (For POSIX systems, Python will call the ``l...`` variant of the " +"function.)" +msgstr "" +"**не слідувати за символічними посиланнями:** Якщо *follow_symlinks* має " +"значення ``False``, а останнім елементом шляху, з яким потрібно працювати, є " +"символьне посилання, функція працюватиме з самим символічним посиланням, а " +"не з файлом, на який вказує посилання. (Для систем POSIX Python викличе " +"варіант функції ``l...``.)" + +msgid "" +"You can check whether or not *follow_symlinks* is supported for a particular " +"function on your platform using :data:`os.supports_follow_symlinks`. If it's " +"unavailable, using it will raise a :exc:`NotImplementedError`." +msgstr "" +"Ви можете перевірити, чи підтримується *follow_symlinks* для певної функції " +"на вашій платформі, використовуючи :data:`os.supports_follow_symlinks`. Якщо " +"він недоступний, його використання викличе :exc:`NotImplementedError`." + +msgid "" +"Use the real uid/gid to test for access to *path*. Note that most " +"operations will use the effective uid/gid, therefore this routine can be " +"used in a suid/sgid environment to test if the invoking user has the " +"specified access to *path*. *mode* should be :const:`F_OK` to test the " +"existence of *path*, or it can be the inclusive OR of one or more of :const:" +"`R_OK`, :const:`W_OK`, and :const:`X_OK` to test permissions. Return :const:" +"`True` if access is allowed, :const:`False` if not. See the Unix man page :" +"manpage:`access(2)` for more information." +msgstr "" +"Використовуйте справжній uid/gid, щоб перевірити доступ до *шляху*. " +"Зауважте, що більшість операцій використовуватиме ефективний uid/gid, тому " +"цю підпрограму можна використовувати в середовищі suid/sgid, щоб перевірити, " +"чи має користувач, який викликає, вказаний доступ до *path*. *режим* має " +"бути :const:`F_OK`, щоб перевірити існування *шляху*, або він може бути " +"включним АБО одного чи кількох :const:`R_OK`, :const:`W_OK` і :const:`X_OK`, " +"щоб перевірити дозволи. Повертає :const:`True`, якщо доступ дозволено, :" +"const:`False`, якщо ні. Додаткову інформацію див. на сторінці довідки Unix :" +"manpage:`access(2)`." + +msgid "" +"This function can support specifying :ref:`paths relative to directory " +"descriptors ` and :ref:`not following symlinks `." +msgstr "" +"Ця функція може підтримувати вказівку :ref:`шляхів відносно дескрипторів " +"каталогу ` і :ref:`не слідувати символічним посиланням " +"`." + +msgid "" +"If *effective_ids* is ``True``, :func:`access` will perform its access " +"checks using the effective uid/gid instead of the real uid/gid. " +"*effective_ids* may not be supported on your platform; you can check whether " +"or not it is available using :data:`os.supports_effective_ids`. If it is " +"unavailable, using it will raise a :exc:`NotImplementedError`." +msgstr "" +"Якщо *effective_ids* має значення ``True``, :func:`access` виконуватиме " +"перевірку доступу, використовуючи ефективний uid/gid замість справжнього uid/" +"gid. *effective_ids* може не підтримуватися на вашій платформі; ви можете " +"перевірити, чи він доступний, за допомогою :data:`os." +"supports_effective_ids`. Якщо він недоступний, його використання призведе до " +"помилки :exc:`NotImplementedError`." + +msgid "" +"Using :func:`access` to check if a user is authorized to e.g. open a file " +"before actually doing so using :func:`open` creates a security hole, because " +"the user might exploit the short time interval between checking and opening " +"the file to manipulate it. It's preferable to use :term:`EAFP` techniques. " +"For example::" +msgstr "" +"Використовуючи :func:`access`, щоб перевірити, чи має користувач право, " +"наприклад, відкрити файл перед тим, як це зробити за допомогою :func:`open` " +"створює діру в безпеці, тому що користувач може використати короткий " +"проміжок часу між перевіркою та відкриттям файлу, щоб маніпулювати ним. " +"Бажано використовувати техніку :term:`EAFP`. Наприклад::" + +msgid "is better written as::" +msgstr "краще записати як::" + +msgid "" +"I/O operations may fail even when :func:`access` indicates that they would " +"succeed, particularly for operations on network filesystems which may have " +"permissions semantics beyond the usual POSIX permission-bit model." +msgstr "" +"Операції вводу/виводу можуть завершуватися невдачею, навіть якщо :func:" +"`access` вказує, що вони будуть успішними, особливо для операцій у мережевих " +"файлових системах, які можуть мати семантику дозволів за межами звичайної " +"бітової моделі дозволів POSIX." + +msgid "Added the *dir_fd*, *effective_ids*, and *follow_symlinks* parameters." +msgstr "Додано параметри *dir_fd*, *effective_ids* і *follow_symlinks*." + +msgid "" +"Values to pass as the *mode* parameter of :func:`access` to test the " +"existence, readability, writability and executability of *path*, " +"respectively." +msgstr "" +"Значення, які потрібно передавати як параметр *mode* :func:`access`, щоб " +"перевірити наявність, читабельність, запис і можливість виконання *path* " +"відповідно." + +msgid "Change the current working directory to *path*." +msgstr "Змініть поточний робочий каталог на *шлях*." + +msgid "" +"This function can support :ref:`specifying a file descriptor `. " +"The descriptor must refer to an opened directory, not an open file." +msgstr "" +"Ця функція може підтримувати :ref:`зазначення файлового дескриптора " +"`. Дескриптор має посилатися на відкритий каталог, а не на " +"відкритий файл." + +msgid "" +"This function can raise :exc:`OSError` and subclasses such as :exc:" +"`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`." +msgstr "" +"Ця функція може викликати :exc:`OSError` і підкласи, такі як :exc:" +"`FileNotFoundError`, :exc:`PermissionError` і :exc:`NotADirectoryError`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.chdir`` with argument " +"``path``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chdir`` з аргументом ``path``." + +msgid "" +"Added support for specifying *path* as a file descriptor on some platforms." +msgstr "" +"Додано підтримку вказівки *шляху* як дескриптора файлу на деяких платформах." + +msgid "" +"Set the flags of *path* to the numeric *flags*. *flags* may take a " +"combination (bitwise OR) of the following values (as defined in the :mod:" +"`stat` module):" +msgstr "" +"Встановіть прапорці *шляху* на числові *прапорці*. *flags* може приймати " +"комбінацію (порозрядне АБО) таких значень (як визначено в модулі :mod:" +"`stat`):" + +msgid ":data:`stat.UF_NODUMP`" +msgstr ":data:`stat.UF_NODUMP`" + +msgid ":data:`stat.UF_IMMUTABLE`" +msgstr ":data:`stat.UF_IMMUTABLE`" + +msgid ":data:`stat.UF_APPEND`" +msgstr ":data:`stat.UF_APPEND`" + +msgid ":data:`stat.UF_OPAQUE`" +msgstr ":data:`stat.UF_OPAQUE`" + +msgid ":data:`stat.UF_NOUNLINK`" +msgstr ":data:`stat.UF_NOUNLINK`" + +msgid ":data:`stat.UF_COMPRESSED`" +msgstr ":data:`stat.UF_COMPRESSED`" + +msgid ":data:`stat.UF_HIDDEN`" +msgstr ":data:`stat.UF_HIDDEN`" + +msgid ":data:`stat.SF_ARCHIVED`" +msgstr ":data:`stat.SF_ARCHIVED`" + +msgid ":data:`stat.SF_IMMUTABLE`" +msgstr ":data:`stat.SF_IMMUTABLE`" + +msgid ":data:`stat.SF_APPEND`" +msgstr ":data:`stat.SF_APPEND`" + +msgid ":data:`stat.SF_NOUNLINK`" +msgstr ":data:`stat.SF_NOUNLINK`" + +msgid ":data:`stat.SF_SNAPSHOT`" +msgstr ":data:`stat.SF_SNAPSHOT`" + +msgid "" +"This function can support :ref:`not following symlinks `." +msgstr "" +"Ця функція підтримує :ref:`неперехід за символічними посиланнями " +"`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.chflags`` with arguments " +"``path``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.chflags`` з аргументами " +"``path``, ``flags``." + +msgid "The *follow_symlinks* argument." +msgstr "Аргумент *follow_symlinks*." + +msgid "" +"Change the mode of *path* to the numeric *mode*. *mode* may take one of the " +"following values (as defined in the :mod:`stat` module) or bitwise ORed " +"combinations of them:" +msgstr "" +"Змініть режим *шляху* на числовий *режим*. *mode* може приймати одне з " +"наступних значень (як визначено в модулі :mod:`stat`) або їх комбінації " +"порозрядними АБО:" + +msgid ":data:`stat.S_ISUID`" +msgstr ":data:`stat.S_ISUID`" + +msgid ":data:`stat.S_ISGID`" +msgstr ":data:`stat.S_ISGID`" + +msgid ":data:`stat.S_ENFMT`" +msgstr ":data:`stat.S_ENFMT`" + +msgid ":data:`stat.S_ISVTX`" +msgstr ":data:`stat.S_ISVTX`" + +msgid ":data:`stat.S_IREAD`" +msgstr ":data:`stat.S_IREAD`" + +msgid ":data:`stat.S_IWRITE`" +msgstr ":data:`stat.S_IWRITE`" + +msgid ":data:`stat.S_IEXEC`" +msgstr ":data:`stat.S_IEXEC`" + +msgid ":data:`stat.S_IRWXU`" +msgstr ":data:`stat.S_IRWXU`" + +msgid ":data:`stat.S_IRUSR`" +msgstr ":data:`stat.S_IRUSR`" + +msgid ":data:`stat.S_IWUSR`" +msgstr ":data:`stat.S_IWUSR`" + +msgid ":data:`stat.S_IXUSR`" +msgstr ":data:`stat.S_IXUSR`" + +msgid ":data:`stat.S_IRWXG`" +msgstr ":data:`stat.S_IRWXG`" + +msgid ":data:`stat.S_IRGRP`" +msgstr ":data:`stat.S_IRGRP`" + +msgid ":data:`stat.S_IWGRP`" +msgstr ":data:`stat.S_IWGRP`" + +msgid ":data:`stat.S_IXGRP`" +msgstr ":data:`stat.S_IXGRP`" + +msgid ":data:`stat.S_IRWXO`" +msgstr ":data:`stat.S_IRWXO`" + +msgid ":data:`stat.S_IROTH`" +msgstr ":data:`stat.S_IROTH`" + +msgid ":data:`stat.S_IWOTH`" +msgstr ":data:`stat.S_IWOTH`" + +msgid ":data:`stat.S_IXOTH`" +msgstr ":data:`stat.S_IXOTH`" + +msgid "" +"This function can support :ref:`specifying a file descriptor `, :" +"ref:`paths relative to directory descriptors ` and :ref:`not " +"following symlinks `." +msgstr "" +"Ця функція може підтримувати :ref:`зазначення дескриптора файлу `, :" +"ref:`шляхи відносно дескрипторів каталогу ` та :ref:`неперехід за " +"символічними посиланнями `." + +msgid "" +"Although Windows supports :func:`chmod`, you can only set the file's read-" +"only flag with it (via the ``stat.S_IWRITE`` and ``stat.S_IREAD`` constants " +"or a corresponding integer value). All other bits are ignored." +msgstr "" +"Незважаючи на те, що Windows підтримує :func:`chmod`, ви можете встановити " +"для файлу позначку лише для читання (через константи ``stat.S_IWRITE`` і " +"``stat.S_IREAD`` або відповідне ціле значення). Усі інші біти ігноруються." + +msgid "" +"Added support for specifying *path* as an open file descriptor, and the " +"*dir_fd* and *follow_symlinks* arguments." +msgstr "" +"Додано підтримку вказівки *шляху* як дескриптора відкритого файлу, а також " +"аргументів *dir_fd* і *follow_symlinks*." + +msgid "" +"Change the owner and group id of *path* to the numeric *uid* and *gid*. To " +"leave one of the ids unchanged, set it to -1." +msgstr "" +"Змініть власника та ідентифікатор групи *path* на числові *uid* і *gid*. Щоб " +"залишити один із ідентифікаторів без змін, встановіть для нього значення -1." + +msgid "" +"See :func:`shutil.chown` for a higher-level function that accepts names in " +"addition to numeric ids." +msgstr "" +"Перегляньте :func:`shutil.chown` для функції вищого рівня, яка приймає імена " +"на додаток до числових ідентифікаторів." + +msgid "Supports a :term:`path-like object`." +msgstr "Підтримує :term:`path-like object`." + +msgid "Change the root directory of the current process to *path*." +msgstr "Змініть кореневий каталог поточного процесу на *шлях*." + +msgid "" +"Change the current working directory to the directory represented by the " +"file descriptor *fd*. The descriptor must refer to an opened directory, not " +"an open file. As of Python 3.3, this is equivalent to ``os.chdir(fd)``." +msgstr "" +"Змініть поточний робочий каталог на каталог, представлений дескриптором " +"файлу *fd*. Дескриптор має посилатися на відкритий каталог, а не на " +"відкритий файл. Починаючи з Python 3.3, це еквівалентно ``os.chdir(fd)``." + +msgid "Return a string representing the current working directory." +msgstr "Повертає рядок, що представляє поточний робочий каталог." + +msgid "Return a bytestring representing the current working directory." +msgstr "Повертає байтовий рядок, що представляє поточний робочий каталог." + +msgid "" +"The function now uses the UTF-8 encoding on Windows, rather than the ANSI " +"code page: see :pep:`529` for the rationale. The function is no longer " +"deprecated on Windows." +msgstr "" +"Функція тепер використовує кодування UTF-8 у Windows, а не кодову сторінку " +"ANSI: див. :pep:`529` для обґрунтування. Ця функція більше не підтримується " +"в Windows." + +msgid "" +"Set the flags of *path* to the numeric *flags*, like :func:`chflags`, but do " +"not follow symbolic links. As of Python 3.3, this is equivalent to ``os." +"chflags(path, flags, follow_symlinks=False)``." +msgstr "" +"Встановіть прапорці *path* на числові *flags*, наприклад :func:`chflags`, " +"але не переходьте за символічними посиланнями. Починаючи з Python 3.3, це " +"еквівалентно ``os.chflags(path, flags, follow_symlinks=False)``." + +msgid "" +"Change the mode of *path* to the numeric *mode*. If path is a symlink, this " +"affects the symlink rather than the target. See the docs for :func:`chmod` " +"for possible values of *mode*. As of Python 3.3, this is equivalent to ``os." +"chmod(path, mode, follow_symlinks=False)``." +msgstr "" +"Змініть режим *шляху* на числовий *режим*. Якщо шлях є символічним " +"посиланням, це впливає на символічне посилання, а не на ціль. Перегляньте " +"документацію для :func:`chmod`, щоб дізнатися про можливі значення *mode*. " +"Починаючи з Python 3.3, це еквівалентно ``os.chmod(path, mode, " +"follow_symlinks=False)``." + +msgid "" +"Change the owner and group id of *path* to the numeric *uid* and *gid*. " +"This function will not follow symbolic links. As of Python 3.3, this is " +"equivalent to ``os.chown(path, uid, gid, follow_symlinks=False)``." +msgstr "" +"Змініть власника та ідентифікатор групи *path* на числові *uid* і *gid*. Ця " +"функція не переходитиме за символічними посиланнями. Починаючи з Python 3.3, " +"це еквівалентно ``os.chown(path, uid, gid, follow_symlinks=False)``." + +msgid "Create a hard link pointing to *src* named *dst*." +msgstr "Створіть жорстке посилання на *src* під назвою *dst*." + +msgid "" +"This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " +"supply :ref:`paths relative to directory descriptors `, and :ref:" +"`not following symlinks `." +msgstr "" +"Ця функція може підтримувати вказівку *src_dir_fd* та/або *dst_dir_fd* для " +"надання :ref:`шляхів відносно дескрипторів каталогу `, і :ref:`не " +"слідування за символічними посиланнями `." + +msgid "" +"Raises an :ref:`auditing event ` ``os.link`` with arguments " +"``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.link`` з аргументами ``src``, " +"``dst``, ``src_dir_fd``, ``dst_dir_fd``." + +msgid "Added Windows support." +msgstr "Додана підтримка Windows." + +msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* arguments." +msgstr "Додано аргументи *src_dir_fd*, *dst_dir_fd* і *follow_symlinks*." + +msgid "Accepts a :term:`path-like object` for *src* and *dst*." +msgstr "Приймає :term:`path-like object` для *src* і *dst*." + +msgid "" +"Return a list containing the names of the entries in the directory given by " +"*path*. The list is in arbitrary order, and does not include the special " +"entries ``'.'`` and ``'..'`` even if they are present in the directory. If a " +"file is removed from or added to the directory during the call of this " +"function, whether a name for that file be included is unspecified." +msgstr "" +"Повертає список, що містить імена записів у каталозі, заданому *шляхом*. " +"Список розташований у довільному порядку й не містить спеціальних записів " +"``'.''`` і ``'..''``, навіть якщо вони присутні в каталозі. Якщо файл " +"видалено з каталогу або додано до нього під час виклику цієї функції, не " +"вказано, чи буде включено ім’я цього файлу." + +msgid "" +"*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " +"(directly or indirectly through the :class:`PathLike` interface), the " +"filenames returned will also be of type ``bytes``; in all other " +"circumstances, they will be of type ``str``." +msgstr "" +"*path* може бути :term:`path-like object`. Якщо *path* має тип ``bytes`` " +"(прямо чи опосередковано через інтерфейс :class:`PathLike`), повернуті імена " +"файлів також будуть типу ``bytes``; за всіх інших обставин вони будуть типу " +"``str``." + +msgid "" +"This function can also support :ref:`specifying a file descriptor " +"`; the file descriptor must refer to a directory." +msgstr "" +"Ця функція також може підтримувати :ref:`зазначення файлового дескриптора " +"`; дескриптор файлу повинен посилатися на каталог." + +msgid "" +"Raises an :ref:`auditing event ` ``os.listdir`` with argument " +"``path``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.listdir`` з аргументом ``path``." + +msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`." +msgstr "" +"Щоб закодувати ``str`` імена файлів у ``байти``, використовуйте :func:`~os." +"fsencode`." + +msgid "" +"The :func:`scandir` function returns directory entries along with file " +"attribute information, giving better performance for many common use cases." +msgstr "" +"Функція :func:`scandir` повертає записи каталогу разом із інформацією про " +"атрибути файлів, забезпечуючи кращу продуктивність у багатьох поширених " +"випадках використання." + +msgid "The *path* parameter became optional." +msgstr "Параметр *path* став необов'язковим." + +msgid "Added support for specifying *path* as an open file descriptor." +msgstr "Додано підтримку вказівки *шляху* як дескриптора відкритого файлу." + +msgid "" +"Perform the equivalent of an :c:func:`lstat` system call on the given path. " +"Similar to :func:`~os.stat`, but does not follow symbolic links. Return a :" +"class:`stat_result` object." +msgstr "" +"Виконайте еквівалент системного виклику :c:func:`lstat` на вказаному шляху. " +"Подібно до :func:`~os.stat`, але не переходить за символічними посиланнями. " +"Повертає об’єкт :class:`stat_result`." + +msgid "" +"On platforms that do not support symbolic links, this is an alias for :func:" +"`~os.stat`." +msgstr "" +"На платформах, які не підтримують символічні посилання, це псевдонім для :" +"func:`~os.stat`." + +msgid "" +"As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, " +"follow_symlinks=False)``." +msgstr "" +"Починаючи з Python 3.3, це еквівалентно ``os.stat(path, dir_fd=dir_fd, " +"follow_symlinks=False)``." + +msgid "" +"This function can also support :ref:`paths relative to directory descriptors " +"`." +msgstr "" +"Ця функція також може підтримувати :ref:`шляхи відносно дескрипторів " +"каталогу `." + +msgid "Added support for Windows 6.0 (Vista) symbolic links." +msgstr "Додано підтримку символічних посилань Windows 6.0 (Vista)." + +msgid "Added the *dir_fd* parameter." +msgstr "Додано параметр *dir_fd*." + +msgid "" +"On Windows, now opens reparse points that represent another path (name " +"surrogates), including symbolic links and directory junctions. Other kinds " +"of reparse points are resolved by the operating system as for :func:`~os." +"stat`." +msgstr "" +"У Windows тепер відкриваються точки повторного аналізу, які представляють " +"інший шлях (сурогати імен), включаючи символічні посилання та з’єднання " +"каталогів. Інші типи точок повторного аналізу вирішуються операційною " +"системою як для :func:`~os.stat`." + +msgid "Create a directory named *path* with numeric mode *mode*." +msgstr "Створіть каталог під назвою *path* із числовим режимом *mode*." + +msgid "" +"If the directory already exists, :exc:`FileExistsError` is raised. If a " +"parent directory in the path does not exist, :exc:`FileNotFoundError` is " +"raised." +msgstr "" +"Якщо каталог уже існує, виникає :exc:`FileExistsError`. Якщо батьківський " +"каталог у шляху не існує, виникає :exc:`FileNotFoundError`." + +msgid "" +"On some systems, *mode* is ignored. Where it is used, the current umask " +"value is first masked out. If bits other than the last 9 (i.e. the last 3 " +"digits of the octal representation of the *mode*) are set, their meaning is " +"platform-dependent. On some platforms, they are ignored and you should " +"call :func:`chmod` explicitly to set them." +msgstr "" +"У деяких системах *режим* ігнорується. Там, де воно використовується, " +"поточне значення umask спочатку маскується. Якщо встановлено інші біти, ніж " +"останні 9 (тобто останні 3 цифри вісімкового представлення *режиму*), їхнє " +"значення залежить від платформи. На деяких платформах вони ігноруються, і " +"вам слід явно викликати :func:`chmod`, щоб встановити їх." + +msgid "" +"It is also possible to create temporary directories; see the :mod:`tempfile` " +"module's :func:`tempfile.mkdtemp` function." +msgstr "" +"Також є можливість створювати тимчасові каталоги; подивіться функцію :func:" +"`tempfile.mkdtemp` модуля :mod:`tempfile`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.mkdir`` with arguments " +"``path``, ``mode``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.mkdir`` з аргументами ``path``, " +"``mode``, ``dir_fd``." + +msgid "" +"Recursive directory creation function. Like :func:`mkdir`, but makes all " +"intermediate-level directories needed to contain the leaf directory." +msgstr "" +"Функція рекурсивного створення каталогу. Подібно до :func:`mkdir`, але " +"створює всі каталоги середнього рівня, необхідні для того, щоб містити " +"кінцевий каталог." + +msgid "" +"The *mode* parameter is passed to :func:`mkdir` for creating the leaf " +"directory; see :ref:`the mkdir() description ` for how it is " +"interpreted. To set the file permission bits of any newly created parent " +"directories you can set the umask before invoking :func:`makedirs`. The " +"file permission bits of existing parent directories are not changed." +msgstr "" + +msgid "" +"If *exist_ok* is ``False`` (the default), a :exc:`FileExistsError` is raised " +"if the target directory already exists." +msgstr "" + +msgid "" +":func:`makedirs` will become confused if the path elements to create " +"include :data:`pardir` (eg. \"..\" on UNIX systems)." +msgstr "" +":func:`makedirs` заплутає, якщо елементи шляху, які потрібно створити, " +"включають :data:`pardir` (наприклад, \"..\" у системах UNIX)." + +msgid "This function handles UNC paths correctly." +msgstr "Ця функція правильно обробляє шляхи UNC." + +msgid "The *exist_ok* parameter." +msgstr "Параметр *exist_ok*." + +msgid "" +"Before Python 3.4.1, if *exist_ok* was ``True`` and the directory existed, :" +"func:`makedirs` would still raise an error if *mode* did not match the mode " +"of the existing directory. Since this behavior was impossible to implement " +"safely, it was removed in Python 3.4.1. See :issue:`21082`." +msgstr "" +"До Python 3.4.1, якщо *exist_ok* було ``True`` і каталог існував, :func:" +"`makedirs` все одно викликав помилку, якщо *mode* не відповідав режиму " +"існуючого каталогу. Оскільки таку поведінку було неможливо реалізувати " +"безпечно, її було видалено в Python 3.4.1. Див. :issue:`21082`." + +msgid "" +"The *mode* argument no longer affects the file permission bits of newly " +"created intermediate-level directories." +msgstr "" + +msgid "" +"Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The " +"current umask value is first masked out from the mode." +msgstr "" +"Створіть FIFO (іменований канал) під назвою *path* із числовим режимом " +"*mode*. Поточне значення umask спочатку маскується з режиму." + +msgid "" +"FIFOs are pipes that can be accessed like regular files. FIFOs exist until " +"they are deleted (for example with :func:`os.unlink`). Generally, FIFOs are " +"used as rendezvous between \"client\" and \"server\" type processes: the " +"server opens the FIFO for reading, and the client opens it for writing. " +"Note that :func:`mkfifo` doesn't open the FIFO --- it just creates the " +"rendezvous point." +msgstr "" +"FIFO — це канали, до яких можна отримати доступ, як до звичайних файлів. " +"FIFO існують, доки їх не буде видалено (наприклад, за допомогою :func:`os." +"unlink`). Зазвичай FIFO використовуються як місце зустрічі між процесами " +"типу \"клієнт\" і \"сервер\": сервер відкриває FIFO для читання, а клієнт " +"відкриває його для запису. Зверніть увагу, що :func:`mkfifo` не відкриває " +"FIFO --- він лише створює точку зустрічі." + +msgid "" +"Create a filesystem node (file, device special file or named pipe) named " +"*path*. *mode* specifies both the permissions to use and the type of node to " +"be created, being combined (bitwise OR) with one of ``stat.S_IFREG``, ``stat." +"S_IFCHR``, ``stat.S_IFBLK``, and ``stat.S_IFIFO`` (those constants are " +"available in :mod:`stat`). For ``stat.S_IFCHR`` and ``stat.S_IFBLK``, " +"*device* defines the newly created device special file (probably using :func:" +"`os.makedev`), otherwise it is ignored." +msgstr "" +"Створіть вузол файлової системи (файл, спеціальний файл пристрою або " +"іменований канал) під назвою *шлях*. *mode* визначає як дозволи для " +"використання, так і тип вузла, який буде створено, поєднуючись (побітове " +"АБО) з одним із ``stat.S_IFREG``, ``stat.S_IFCHR``, ``stat.S_IFBLK`` і " +"``stat.S_IFIFO`` (ці константи доступні в :mod:`stat`). Для ``stat.S_IFCHR`` " +"і ``stat.S_IFBLK`` *device* визначає щойно створений спеціальний файл " +"пристрою (імовірно, використовуючи :func:`os.makedev`), інакше він " +"ігнорується." + +msgid "" +"Extract the device major number from a raw device number (usually the :attr:" +"`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." +msgstr "" +"Витягніть основний номер пристрою з необробленого номера пристрою (зазвичай " +"це поле :attr:`st_dev` або :attr:`st_rdev` з :c:type:`stat`)." + +msgid "" +"Extract the device minor number from a raw device number (usually the :attr:" +"`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." +msgstr "" +"Витягніть другорядний номер пристрою з необробленого номера пристрою " +"(зазвичай це поле :attr:`st_dev` або :attr:`st_rdev` з :c:type:`stat`)." + +msgid "Compose a raw device number from the major and minor device numbers." +msgstr "" +"Складіть необроблений номер пристрою з головного та другорядного номерів " +"пристроїв." + +msgid "" +"Return system configuration information relevant to a named file. *name* " +"specifies the configuration value to retrieve; it may be a string which is " +"the name of a defined system value; these names are specified in a number of " +"standards (POSIX.1, Unix 95, Unix 98, and others). Some platforms define " +"additional names as well. The names known to the host operating system are " +"given in the ``pathconf_names`` dictionary. For configuration variables not " +"included in that mapping, passing an integer for *name* is also accepted." +msgstr "" +"Повертає інформацію про конфігурацію системи, що стосується названого файлу. " +"*name* вказує значення конфігурації для отримання; це може бути рядок, який " +"є назвою визначеного системного значення; ці назви вказані в ряді стандартів " +"(POSIX.1, Unix 95, Unix 98 та інші). Деякі платформи також визначають " +"додаткові імена. Імена, відомі головній операційній системі, наведено у " +"словнику ``pathconf_names``. Для змінних конфігурації, не включених до цього " +"відображення, також допускається передача цілого числа для *name*." + +msgid "" +"This function can support :ref:`specifying a file descriptor `." +msgstr "" +"Ця функція може підтримувати :ref:`зазначення файлового дескриптора " +"`." + +msgid "" +"Dictionary mapping names accepted by :func:`pathconf` and :func:`fpathconf` " +"to the integer values defined for those names by the host operating system. " +"This can be used to determine the set of names known to the system." +msgstr "" +"Словник зіставляє імена, прийняті :func:`pathconf` і :func:`fpathconf` до " +"цілих значень, визначених для цих імен головною операційною системою. Це " +"можна використовувати для визначення набору імен, відомих системі." + +msgid "" +"Return a string representing the path to which the symbolic link points. " +"The result may be either an absolute or relative pathname; if it is " +"relative, it may be converted to an absolute pathname using ``os.path." +"join(os.path.dirname(path), result)``." +msgstr "" +"Повертає рядок, що представляє шлях, на який вказує символічне посилання. " +"Результатом може бути абсолютний або відносний шлях; якщо він відносний, " +"його можна перетворити на абсолютний шлях за допомогою ``os.path.join(os." +"path.dirname(path), result)``." + +msgid "" +"If the *path* is a string object (directly or indirectly through a :class:" +"`PathLike` interface), the result will also be a string object, and the call " +"may raise a UnicodeDecodeError. If the *path* is a bytes object (direct or " +"indirectly), the result will be a bytes object." +msgstr "" +"Якщо *шлях* є рядковим об’єктом (прямо чи опосередковано через інтерфейс :" +"class:`PathLike`), результат також буде рядковим об’єктом, і виклик може " +"викликати UnicodeDecodeError. Якщо *шлях* є об’єктом bytes (прямим чи " +"опосередкованим), результатом буде об’єкт bytes." + +msgid "" +"When trying to resolve a path that may contain links, use :func:`~os.path." +"realpath` to properly handle recursion and platform differences." +msgstr "" +"Під час спроби визначити шлях, який може містити посилання, використовуйте :" +"func:`~os.path.realpath` для належної обробки рекурсії та відмінностей " +"платформи." + +msgid "Accepts a :term:`path-like object` on Unix." +msgstr "Приймає :term:`path-like object` в Unix." + +msgid "Accepts a :term:`path-like object` and a bytes object on Windows." +msgstr "Приймає :term:`path-like object` і об’єкт bytes у Windows." + +msgid "" +"Added support for directory junctions, and changed to return the " +"substitution path (which typically includes ``\\\\?\\`` prefix) rather than " +"the optional \"print name\" field that was previously returned." +msgstr "" +"Додано підтримку для з’єднань каталогів і змінено, щоб повертати шлях " +"підстановки (який зазвичай включає префікс ``\\\\?\\``), а не необов’язкове " +"поле \"назви для друку\", яке поверталося раніше." + +msgid "" +"Remove (delete) the file *path*. If *path* is a directory, an :exc:" +"`IsADirectoryError` is raised. Use :func:`rmdir` to remove directories. If " +"the file does not exist, a :exc:`FileNotFoundError` is raised." +msgstr "" +"Видалити (видалити) *шлях* до файлу. Якщо *path* є каталогом, виникає " +"помилка :exc:`IsADirectoryError`. Використовуйте :func:`rmdir` для видалення " +"каталогів. Якщо файл не існує, виникає помилка :exc:`FileNotFoundError`." + +msgid "" +"This function can support :ref:`paths relative to directory descriptors " +"`." +msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"`." + +msgid "" +"On Windows, attempting to remove a file that is in use causes an exception " +"to be raised; on Unix, the directory entry is removed but the storage " +"allocated to the file is not made available until the original file is no " +"longer in use." +msgstr "" +"У Windows спроба видалити файл, який використовується, викликає виняток; в " +"Unix запис каталогу видаляється, але сховище, виділене для файлу, не стає " +"доступним, доки оригінальний файл більше не буде використовуватися." + +msgid "This function is semantically identical to :func:`unlink`." +msgstr "Ця функція семантично ідентична :func:`unlink`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.remove`` with arguments " +"``path``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.remove`` з аргументами " +"``path``, ``dir_fd``." + +msgid "" +"Remove directories recursively. Works like :func:`rmdir` except that, if " +"the leaf directory is successfully removed, :func:`removedirs` tries to " +"successively remove every parent directory mentioned in *path* until an " +"error is raised (which is ignored, because it generally means that a parent " +"directory is not empty). For example, ``os.removedirs('foo/bar/baz')`` will " +"first remove the directory ``'foo/bar/baz'``, and then remove ``'foo/bar'`` " +"and ``'foo'`` if they are empty. Raises :exc:`OSError` if the leaf directory " +"could not be successfully removed." +msgstr "" +"Видалити каталоги рекурсивно. Працює як :func:`rmdir`, за винятком того, що " +"якщо кінцевий каталог успішно видалено, :func:`removedirs` намагається " +"послідовно видалити кожен батьківський каталог, згаданий у *path*, доки не " +"виникне помилка (яка ігнорується, оскільки зазвичай означає, що батьківський " +"каталог не порожній). Наприклад, ``os.removedirs('foo/bar/baz')`` спочатку " +"видалить каталог ``'foo/bar/baz'``, а потім видалить ``'foo/bar'`` і` " +"`'foo'``, якщо вони порожні. Викликає :exc:`OSError`, якщо кінцевий каталог " +"не вдалося успішно видалити." + +msgid "" +"Rename the file or directory *src* to *dst*. If *dst* exists, the operation " +"will fail with an :exc:`OSError` subclass in a number of cases:" +msgstr "" +"Перейменуйте файл або каталог *src* на *dst*. Якщо *dst* існує, операція " +"буде невдалою з підкласом :exc:`OSError` у кількох випадках:" + +msgid "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised." +msgstr "У Windows, якщо *dst* існує, завжди виникає :exc:`FileExistsError`." + +msgid "" +"On Unix, if *src* is a file and *dst* is a directory or vice-versa, an :exc:" +"`IsADirectoryError` or a :exc:`NotADirectoryError` will be raised " +"respectively. If both are directories and *dst* is empty, *dst* will be " +"silently replaced. If *dst* is a non-empty directory, an :exc:`OSError` is " +"raised. If both are files, *dst* will be replaced silently if the user has " +"permission. The operation may fail on some Unix flavors if *src* and *dst* " +"are on different filesystems. If successful, the renaming will be an atomic " +"operation (this is a POSIX requirement)." +msgstr "" +"В Unix, якщо *src* є файлом, а *dst* є каталогом або навпаки, виникне :exc:" +"`IsADirectoryError` або :exc:`NotADirectoryError` відповідно. Якщо обидва є " +"каталогами, а *dst* порожній, *dst* буде мовчки замінено. Якщо *dst* є " +"непорожнім каталогом, виникає :exc:`OSError`. Якщо обидва є файлами, *dst* " +"буде замінено мовчки, якщо користувач має дозвіл. Операція може завершитися " +"помилкою в деяких варіантах Unix, якщо *src* і *dst* знаходяться в різних " +"файлових системах. У разі успіху перейменування буде атомарною операцією (це " +"вимога POSIX)." + +msgid "" +"This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " +"supply :ref:`paths relative to directory descriptors `." +msgstr "" +"Ця функція може підтримувати вказівку *src_dir_fd* та/або *dst_dir_fd* для " +"надання :ref:`шляхів відносно дескрипторів каталогу `." + +msgid "" +"If you want cross-platform overwriting of the destination, use :func:" +"`replace`." +msgstr "" +"Якщо ви бажаєте перезаписати місце призначення на різних платформах, " +"використовуйте :func:`replace`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.rename`` with arguments " +"``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.rename`` з аргументами ``src``, " +"``dst``, ``src_dir_fd``, ``dst_dir_fd``." + +msgid "The *src_dir_fd* and *dst_dir_fd* arguments." +msgstr "Аргументи *src_dir_fd* і *dst_dir_fd*." + +msgid "" +"Recursive directory or file renaming function. Works like :func:`rename`, " +"except creation of any intermediate directories needed to make the new " +"pathname good is attempted first. After the rename, directories " +"corresponding to rightmost path segments of the old name will be pruned away " +"using :func:`removedirs`." +msgstr "" +"Функція рекурсивного перейменування каталогу або файлу. Працює як :func:" +"`rename`, за винятком того, що спочатку намагаються створити будь-які " +"проміжні каталоги, необхідні для того, щоб зробити нове ім’я шляху " +"правильним. Після перейменування каталоги, які відповідають крайнім правим " +"сегментам шляху старої назви, будуть видалені за допомогою :func:" +"`removedirs`." + +msgid "" +"This function can fail with the new directory structure made if you lack " +"permissions needed to remove the leaf directory or file." +msgstr "" +"Ця функція може вийти з ладу з новою структурою каталогів, якщо у вас немає " +"дозволів, необхідних для видалення кінцевого каталогу або файлу." + +msgid "Accepts a :term:`path-like object` for *old* and *new*." +msgstr "Приймає :term:`path-like object` для *old* і *new*." + +msgid "" +"Rename the file or directory *src* to *dst*. If *dst* is a non-empty " +"directory, :exc:`OSError` will be raised. If *dst* exists and is a file, it " +"will be replaced silently if the user has permission. The operation may " +"fail if *src* and *dst* are on different filesystems. If successful, the " +"renaming will be an atomic operation (this is a POSIX requirement)." +msgstr "" +"Перейменуйте файл або каталог *src* на *dst*. Якщо *dst* є непорожнім " +"каталогом, буде викликано :exc:`OSError`. Якщо *dst* існує і є файлом, його " +"буде замінено мовчки, якщо користувач має дозвіл. Операція може завершитися " +"помилкою, якщо *src* і *dst* знаходяться в різних файлових системах. У разі " +"успіху перейменування буде атомарною операцією (це вимога POSIX)." + +msgid "" +"Remove (delete) the directory *path*. If the directory does not exist or is " +"not empty, a :exc:`FileNotFoundError` or an :exc:`OSError` is raised " +"respectively. In order to remove whole directory trees, :func:`shutil." +"rmtree` can be used." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``os.rmdir`` with arguments " +"``path``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.rmdir`` з аргументами ``path``, " +"``dir_fd``." + +msgid "The *dir_fd* parameter." +msgstr "Параметр *dir_fd*." + +msgid "" +"Return an iterator of :class:`os.DirEntry` objects corresponding to the " +"entries in the directory given by *path*. The entries are yielded in " +"arbitrary order, and the special entries ``'.'`` and ``'..'`` are not " +"included. If a file is removed from or added to the directory after " +"creating the iterator, whether an entry for that file be included is " +"unspecified." +msgstr "" +"Повертає ітератор об’єктів :class:`os.DirEntry`, що відповідають записам у " +"каталозі, визначеному *path*. Записи надаються в довільному порядку, і " +"спеціальні записи ``'.'`` і ``'..'`` не включені. Якщо файл видалено з " +"каталогу або додано до нього після створення ітератора, чи буде включений " +"запис для цього файлу, не визначено." + +msgid "" +"Using :func:`scandir` instead of :func:`listdir` can significantly increase " +"the performance of code that also needs file type or file attribute " +"information, because :class:`os.DirEntry` objects expose this information if " +"the operating system provides it when scanning a directory. All :class:`os." +"DirEntry` methods may perform a system call, but :func:`~os.DirEntry.is_dir` " +"and :func:`~os.DirEntry.is_file` usually only require a system call for " +"symbolic links; :func:`os.DirEntry.stat` always requires a system call on " +"Unix but only requires one for symbolic links on Windows." +msgstr "" +"Використання :func:`scandir` замість :func:`listdir` може значно підвищити " +"продуктивність коду, який також потребує інформації про тип файлу чи " +"атрибути файлу, оскільки об’єкти :class:`os.DirEntry` надають цю інформацію, " +"якщо операційна система надає під час сканування каталогу. Усі методи :class:" +"`os.DirEntry` можуть виконувати системний виклик, але :func:`~os.DirEntry." +"is_dir` і :func:`~os.DirEntry.is_file` зазвичай вимагають лише системного " +"виклику для символічних посилань; :func:`os.DirEntry.stat` завжди вимагає " +"системного виклику в Unix, але вимагає лише один для символічних посилань у " +"Windows." + +msgid "" +"*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " +"(directly or indirectly through the :class:`PathLike` interface), the type " +"of the :attr:`~os.DirEntry.name` and :attr:`~os.DirEntry.path` attributes of " +"each :class:`os.DirEntry` will be ``bytes``; in all other circumstances, " +"they will be of type ``str``." +msgstr "" +"*path* може бути :term:`path-like object`. Якщо *path* має тип ``bytes`` " +"(прямо чи опосередковано через інтерфейс :class:`PathLike`), тип :attr:`~os." +"DirEntry.name` і Атрибути :attr:`~os.DirEntry.path` кожного :class:`os." +"DirEntry` будуть ``bytes``; за всіх інших обставин вони будуть типу ``str``." + +msgid "" +"Raises an :ref:`auditing event ` ``os.scandir`` with argument " +"``path``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.scandir`` з аргументом ``path``." + +msgid "" +"The :func:`scandir` iterator supports the :term:`context manager` protocol " +"and has the following method:" +msgstr "" +"Ітератор :func:`scandir` підтримує протокол :term:`context manager` і має " +"такий метод:" + +msgid "Close the iterator and free acquired resources." +msgstr "Закрийте ітератор і звільніть отримані ресурси." + +msgid "" +"This is called automatically when the iterator is exhausted or garbage " +"collected, or when an error happens during iterating. However it is " +"advisable to call it explicitly or use the :keyword:`with` statement." +msgstr "" +"Це викликається автоматично, коли ітератор вичерпано або зібрано сміття, або " +"коли під час ітерації трапляється помилка. Однак бажано викликати його явно " +"або використовувати оператор :keyword:`with`." + +msgid "" +"The following example shows a simple use of :func:`scandir` to display all " +"the files (excluding directories) in the given *path* that don't start with " +"``'.'``. The ``entry.is_file()`` call will generally not make an additional " +"system call::" +msgstr "" +"У наступному прикладі показано просте використання :func:`scandir` для " +"відображення всіх файлів (за винятком каталогів) у заданому *шляху*, які не " +"починаються з ``'.'``. Виклик ``entry.is_file()`` зазвичай не здійснить " +"додатковий системний виклик:" + +msgid "" +"On Unix-based systems, :func:`scandir` uses the system's `opendir() `_ and " +"`readdir() `_ functions. On Windows, it uses the Win32 `FindFirstFileW " +"`_ and `FindNextFileW `_ functions." +msgstr "" + +msgid "" +"Added support for the :term:`context manager` protocol and the :func:" +"`~scandir.close()` method. If a :func:`scandir` iterator is neither " +"exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted in " +"its destructor." +msgstr "" +"Додано підтримку протоколу :term:`context manager` і методу :func:`~scandir." +"close()`. Якщо ітератор :func:`scandir` не вичерпано і не закрито явно, у " +"його деструкторі буде видано :exc:`ResourceWarning`." + +msgid "The function accepts a :term:`path-like object`." +msgstr "Функція приймає :term:`path-like object`." + +msgid "Added support for :ref:`file descriptors ` on Unix." +msgstr "Додано підтримку :ref:`дескрипторів файлів ` в Unix." + +msgid "" +"Object yielded by :func:`scandir` to expose the file path and other file " +"attributes of a directory entry." +msgstr "" +"Об’єкт, створений :func:`scandir` для показу шляху до файлу та інших " +"атрибутів файлу в записі каталогу." + +msgid "" +":func:`scandir` will provide as much of this information as possible without " +"making additional system calls. When a ``stat()`` or ``lstat()`` system call " +"is made, the ``os.DirEntry`` object will cache the result." +msgstr "" +":func:`scandir` надасть якомога більше цієї інформації без додаткових " +"системних викликів. Коли виконується системний виклик ``stat()`` або " +"``lstat()``, об'єкт ``os.DirEntry`` кешує результат." + +msgid "" +"``os.DirEntry`` instances are not intended to be stored in long-lived data " +"structures; if you know the file metadata has changed or if a long time has " +"elapsed since calling :func:`scandir`, call ``os.stat(entry.path)`` to fetch " +"up-to-date information." +msgstr "" +"Екземпляри ``os.DirEntry`` не призначені для зберігання в довгострокових " +"структурах даних; якщо ви знаєте, що метадані файлу змінилися, або якщо " +"після виклику :func:`scandir` минуло багато часу, викличте ``os.stat(entry." +"path)``, щоб отримати актуальну інформацію." + +msgid "" +"Because the ``os.DirEntry`` methods can make operating system calls, they " +"may also raise :exc:`OSError`. If you need very fine-grained control over " +"errors, you can catch :exc:`OSError` when calling one of the ``os.DirEntry`` " +"methods and handle as appropriate." +msgstr "" +"Оскільки методи ``os.DirEntry`` можуть здійснювати виклики операційної " +"системи, вони також можуть викликати :exc:`OSError`. Якщо вам потрібен дуже " +"точний контроль над помилками, ви можете перехопити :exc:`OSError` під час " +"виклику одного з методів ``os.DirEntry`` і обробити відповідно." + +msgid "" +"To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " +"implements the :class:`PathLike` interface." +msgstr "" +"Для безпосереднього використання як :term:`path-like object`, ``os." +"DirEntry`` реалізує інтерфейс :class:`PathLike`." + +msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:" +msgstr "Атрибути та методи екземпляра ``os.DirEntry`` такі:" + +msgid "" +"The entry's base filename, relative to the :func:`scandir` *path* argument." +msgstr "Базове ім’я файлу запису відносно аргументу *path* :func:`scandir`." + +msgid "" +"The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* " +"argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." +"fsdecode` to decode byte filenames." +msgstr "" +"Атрибут :attr:`name` буде ``bytes``, якщо аргумент :func:`scandir` *path* " +"має тип ``bytes`` та ``str`` інакше. Використовуйте :func:`~os.fsdecode` для " +"декодування байтових імен файлів." + +msgid "" +"The entry's full path name: equivalent to ``os.path.join(scandir_path, entry." +"name)`` where *scandir_path* is the :func:`scandir` *path* argument. The " +"path is only absolute if the :func:`scandir` *path* argument was absolute. " +"If the :func:`scandir` *path* argument was a :ref:`file descriptor " +"`, the :attr:`path` attribute is the same as the :attr:`name` " +"attribute." +msgstr "" +"Повний шлях до запису: еквівалент ``os.path.join(scandir_path, entry." +"name)``, де *scandir_path* є аргументом :func:`scandir` *path*. Шлях є " +"абсолютним, лише якщо аргумент *path* :func:`scandir` був абсолютним. Якщо " +"аргумент :func:`scandir` *path* був :ref:`дескриптором файлу `, " +"атрибут :attr:`path` буде таким самим, як атрибут :attr:`name`." + +msgid "" +"The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* " +"argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." +"fsdecode` to decode byte filenames." +msgstr "" +"Атрибут :attr:`path` матиме значення ``bytes``, якщо аргумент *path* :func:" +"`scandir` має тип ``bytes`` та ``str`` інакше. Використовуйте :func:`~os." +"fsdecode` для декодування байтових імен файлів." + +msgid "Return the inode number of the entry." +msgstr "Повертає номер inode запису." + +msgid "" +"The result is cached on the ``os.DirEntry`` object. Use ``os.stat(entry." +"path, follow_symlinks=False).st_ino`` to fetch up-to-date information." +msgstr "" +"Результат кешується в об’єкті ``os.DirEntry``. Використовуйте ``os." +"stat(entry.path, follow_symlinks=False).st_ino``, щоб отримати актуальну " +"інформацію." + +msgid "" +"On the first, uncached call, a system call is required on Windows but not on " +"Unix." +msgstr "" +"Для першого некешованого виклику потрібен системний виклик у Windows, але не " +"в Unix." + +msgid "" +"Return ``True`` if this entry is a directory or a symbolic link pointing to " +"a directory; return ``False`` if the entry is or points to any other kind of " +"file, or if it doesn't exist anymore." +msgstr "" +"Повертає ``True``, якщо цей запис є каталогом або символічним посиланням, що " +"вказує на каталог; повертає ``False``, якщо запис є або вказує на будь-який " +"інший тип файлу, або якщо він більше не існує." + +msgid "" +"If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " +"directory (without following symlinks); return ``False`` if the entry is any " +"other kind of file or if it doesn't exist anymore." +msgstr "" +"Якщо *follow_symlinks* має значення ``False``, повертає ``True``, лише якщо " +"цей запис є каталогом (без наступних символічних посилань); повертає " +"``False``, якщо запис є файлом будь-якого іншого типу або якщо він більше не " +"існує." + +msgid "" +"The result is cached on the ``os.DirEntry`` object, with a separate cache " +"for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` along " +"with :func:`stat.S_ISDIR` to fetch up-to-date information." +msgstr "" +"Результат кешується в об’єкті ``os.DirEntry`` з окремим кешем для " +"*follow_symlinks* ``True`` і ``False``. Викличте :func:`os.stat` разом із :" +"func:`stat.S_ISDIR`, щоб отримати актуальну інформацію." + +msgid "" +"On the first, uncached call, no system call is required in most cases. " +"Specifically, for non-symlinks, neither Windows or Unix require a system " +"call, except on certain Unix file systems, such as network file systems, " +"that return ``dirent.d_type == DT_UNKNOWN``. If the entry is a symlink, a " +"system call will be required to follow the symlink unless *follow_symlinks* " +"is ``False``." +msgstr "" +"Під час першого некешованого виклику в більшості випадків системний виклик " +"не потрібен. Зокрема, для несимволічних посилань ні Windows, ні Unix не " +"потребують системного виклику, за винятком певних файлових систем Unix, " +"таких як мережеві файлові системи, які повертають ``dirent.d_type == " +"DT_UNKNOWN``. Якщо запис є символічним посиланням, для переходу за " +"символічним посиланням знадобиться системний виклик, якщо *follow_symlinks* " +"не має значення ``False``." + +msgid "" +"This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" +"exc:`FileNotFoundError` is caught and not raised." +msgstr "" +"Цей метод може викликати :exc:`OSError`, наприклад :exc:`PermissionError`, " +"але :exc:`FileNotFoundError` перехоплюється і не викликається." + +msgid "" +"Return ``True`` if this entry is a file or a symbolic link pointing to a " +"file; return ``False`` if the entry is or points to a directory or other non-" +"file entry, or if it doesn't exist anymore." +msgstr "" +"Повертає ``True``, якщо цей запис є файлом або символічним посиланням, що " +"вказує на файл; повертає ``False``, якщо запис є або вказує на каталог або " +"інший нефайловий запис, або якщо він більше не існує." + +msgid "" +"If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " +"file (without following symlinks); return ``False`` if the entry is a " +"directory or other non-file entry, or if it doesn't exist anymore." +msgstr "" +"Якщо *follow_symlinks* має значення ``False``, повертає ``True``, лише якщо " +"цей запис є файлом (без наступних символічних посилань); повертає ``False``, " +"якщо запис є каталогом чи іншим записом, що не є файлом, або якщо він більше " +"не існує." + +msgid "" +"The result is cached on the ``os.DirEntry`` object. Caching, system calls " +"made, and exceptions raised are as per :func:`~os.DirEntry.is_dir`." +msgstr "" +"Результат кешується в об’єкті ``os.DirEntry``. Кешування, системні виклики " +"та викликані винятки відповідають :func:`~os.DirEntry.is_dir`." + +msgid "" +"Return ``True`` if this entry is a symbolic link (even if broken); return " +"``False`` if the entry points to a directory or any kind of file, or if it " +"doesn't exist anymore." +msgstr "" +"Повертає ``True``, якщо цей запис є символічним посиланням (навіть якщо " +"пошкоджене); повертає ``False``, якщо запис вказує на каталог або будь-який " +"файл, або якщо він більше не існує." + +msgid "" +"The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." +"islink` to fetch up-to-date information." +msgstr "" +"Результат кешується в об’єкті ``os.DirEntry``. Викличте :func:`os.path." +"islink`, щоб отримати актуальну інформацію." + +msgid "" +"On the first, uncached call, no system call is required in most cases. " +"Specifically, neither Windows or Unix require a system call, except on " +"certain Unix file systems, such as network file systems, that return " +"``dirent.d_type == DT_UNKNOWN``." +msgstr "" +"Під час першого некешованого виклику в більшості випадків системний виклик " +"не потрібен. Зокрема, ані Windows, ані Unix не потребують системного " +"виклику, за винятком певних файлових систем Unix, таких як мережеві файлові " +"системи, які повертають ``dirent.d_type == DT_UNKNOWN``." + +msgid "" +"Return a :class:`stat_result` object for this entry. This method follows " +"symbolic links by default; to stat a symbolic link add the " +"``follow_symlinks=False`` argument." +msgstr "" +"Повернути об’єкт :class:`stat_result` для цього запису. Цей метод за " +"умовчанням слідує символічним посиланням; щоб стати символічним посиланням, " +"додайте аргумент ``follow_symlinks=False``." + +msgid "" +"On Unix, this method always requires a system call. On Windows, it only " +"requires a system call if *follow_symlinks* is ``True`` and the entry is a " +"reparse point (for example, a symbolic link or directory junction)." +msgstr "" +"В Unix цей метод завжди потребує системного виклику. У Windows системний " +"виклик потрібен, лише якщо *follow_symlinks* має значення ``True`` і запис є " +"точкою повторного аналізу (наприклад, символічне посилання або з’єднання " +"каталогу)." + +msgid "" +"On Windows, the ``st_ino``, ``st_dev`` and ``st_nlink`` attributes of the :" +"class:`stat_result` are always set to zero. Call :func:`os.stat` to get " +"these attributes." +msgstr "" +"У Windows атрибути ``st_ino``, ``st_dev`` і ``st_nlink`` :class:" +"`stat_result` завжди встановлюються на нуль. Викличте :func:`os.stat`, щоб " +"отримати ці атрибути." + +msgid "" +"The result is cached on the ``os.DirEntry`` object, with a separate cache " +"for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` to fetch " +"up-to-date information." +msgstr "" +"Результат кешується в об’єкті ``os.DirEntry`` з окремим кешем для " +"*follow_symlinks* ``True`` і ``False``. Зателефонуйте :func:`os.stat`, щоб " +"отримати актуальну інформацію." + +msgid "" +"Note that there is a nice correspondence between several attributes and " +"methods of ``os.DirEntry`` and of :class:`pathlib.Path`. In particular, the " +"``name`` attribute has the same meaning, as do the ``is_dir()``, " +"``is_file()``, ``is_symlink()`` and ``stat()`` methods." +msgstr "" +"Зауважте, що між декількома атрибутами та методами ``os.DirEntry`` і :class:" +"`pathlib.Path` існує хороша відповідність. Зокрема, атрибут ``name`` має те " +"саме значення, що й методи ``is_dir()``, ``is_file()``, ``is_symlink()`` і " +"``stat()`` ." + +msgid "" +"Added support for the :class:`~os.PathLike` interface. Added support for :" +"class:`bytes` paths on Windows." +msgstr "" +"Додано підтримку інтерфейсу :class:`~os.PathLike`. Додано підтримку шляхів :" +"class:`bytes` у Windows." + +msgid "" +"Get the status of a file or a file descriptor. Perform the equivalent of a :" +"c:func:`stat` system call on the given path. *path* may be specified as " +"either a string or bytes -- directly or indirectly through the :class:" +"`PathLike` interface -- or as an open file descriptor. Return a :class:" +"`stat_result` object." +msgstr "" +"Отримати статус файлу або дескриптора файлу. Виконайте еквівалент системного " +"виклику :c:func:`stat` на вказаному шляху. *шлях* можна вказати як рядок або " +"байти — прямо чи опосередковано через інтерфейс :class:`PathLike` — або як " +"дескриптор відкритого файлу. Повертає об’єкт :class:`stat_result`." + +msgid "" +"This function normally follows symlinks; to stat a symlink add the argument " +"``follow_symlinks=False``, or use :func:`lstat`." +msgstr "" +"Ця функція зазвичай слідує за символічними посиланнями; щоб стати " +"символічним посиланням, додайте аргумент ``follow_symlinks=False`` або " +"використовуйте :func:`lstat`." + +msgid "" +"This function can support :ref:`specifying a file descriptor ` and :" +"ref:`not following symlinks `." +msgstr "" +"Ця функція може підтримувати :ref:`зазначення файлового дескриптора " +"` і :ref:`неперехід за символічними посиланнями `." + +msgid "" +"On Windows, passing ``follow_symlinks=False`` will disable following all " +"name-surrogate reparse points, which includes symlinks and directory " +"junctions. Other types of reparse points that do not resemble links or that " +"the operating system is unable to follow will be opened directly. When " +"following a chain of multiple links, this may result in the original link " +"being returned instead of the non-link that prevented full traversal. To " +"obtain stat results for the final path in this case, use the :func:`os.path." +"realpath` function to resolve the path name as far as possible and call :" +"func:`lstat` on the result. This does not apply to dangling symlinks or " +"junction points, which will raise the usual exceptions." +msgstr "" +"У Windows передача ``follow_symlinks=False`` вимкне відстеження всіх " +"сурогатних точок повторного аналізу імен, включаючи символічні посилання та " +"з’єднання каталогів. Інші типи точок повторного аналізу, які не схожі на " +"посилання або за якими операційна система не може слідувати, будуть відкриті " +"безпосередньо. Під час переходу за ланцюгом із кількох посилань це може " +"призвести до повернення оригінального посилання замість незв’язку, яке " +"перешкоджало повному обходу. Щоб отримати статистичні результати для " +"кінцевого шляху в цьому випадку, скористайтеся :func:`os.path.realpath` " +"функцією, щоб вирішити назву шляху, наскільки це можливо, і викликайте :func:" +"`lstat` для результату. Це не стосується висячих символічних посилань або " +"точок з’єднання, які призведуть до звичайних винятків." + +msgid "Example::" +msgstr "Приклад::" + +msgid ":func:`fstat` and :func:`lstat` functions." +msgstr "Функції :func:`fstat` і :func:`lstat`." + +msgid "" +"Added the *dir_fd* and *follow_symlinks* arguments, specifying a file " +"descriptor instead of a path." +msgstr "" +"Додано аргументи *dir_fd* і *follow_symlinks* із зазначенням дескриптора " +"файлу замість шляху." + +msgid "" +"On Windows, all reparse points that can be resolved by the operating system " +"are now followed, and passing ``follow_symlinks=False`` disables following " +"all name surrogate reparse points. If the operating system reaches a reparse " +"point that it is not able to follow, *stat* now returns the information for " +"the original path as if ``follow_symlinks=False`` had been specified instead " +"of raising an error." +msgstr "" +"У Windows усі точки повторного аналізу, які може вирішити операційна " +"система, тепер відстежуються, а передача ``follow_symlinks=False`` вимикає " +"відстеження всіх сурогатних точок повторного аналізу імен. Якщо операційна " +"система досягає точки повторного аналізу, за якою вона не може слідувати, " +"*stat* тепер повертає інформацію для початкового шляху, як якщо б було " +"вказано ``follow_symlinks=False`` замість того, щоб викликати помилку." + +msgid "" +"Object whose attributes correspond roughly to the members of the :c:type:" +"`stat` structure. It is used for the result of :func:`os.stat`, :func:`os." +"fstat` and :func:`os.lstat`." +msgstr "" +"Об’єкт, атрибути якого приблизно відповідають членам структури :c:type:" +"`stat`. Він використовується для результату :func:`os.stat`, :func:`os." +"fstat` і :func:`os.lstat`." + +msgid "Attributes:" +msgstr "Атрибути:" + +msgid "File mode: file type and file mode bits (permissions)." +msgstr "Режим файлу: тип файлу та біти режиму файлу (дозволи)." + +msgid "" +"Platform dependent, but if non-zero, uniquely identifies the file for a " +"given value of ``st_dev``. Typically:" +msgstr "" +"Залежить від платформи, але якщо не нуль, унікально ідентифікує файл для " +"заданого значення ``st_dev``. Зазвичай:" + +msgid "the inode number on Unix," +msgstr "номер inode в Unix," + +msgid "" +"the `file index `_ on " +"Windows" +msgstr "" +"`індекс файлу `_ у Windows" + +msgid "Identifier of the device on which this file resides." +msgstr "Ідентифікатор пристрою, на якому знаходиться цей файл." + +msgid "Number of hard links." +msgstr "Кількість жорстких посилань." + +msgid "User identifier of the file owner." +msgstr "Ідентифікатор користувача власника файлу." + +msgid "Group identifier of the file owner." +msgstr "Груповий ідентифікатор власника файлу." + +msgid "" +"Size of the file in bytes, if it is a regular file or a symbolic link. The " +"size of a symbolic link is the length of the pathname it contains, without a " +"terminating null byte." +msgstr "" +"Розмір файлу в байтах, якщо це звичайний файл або символьне посилання. " +"Розмір символічного посилання - це довжина шляху, який воно містить, без " +"кінцевого нульового байта." + +msgid "Timestamps:" +msgstr "Мітки часу:" + +msgid "Time of most recent access expressed in seconds." +msgstr "Час останнього доступу, виражений у секундах." + +msgid "Time of most recent content modification expressed in seconds." +msgstr "Час останньої зміни вмісту, виражений у секундах." + +msgid "Platform dependent:" +msgstr "Залежить від платформи:" + +msgid "the time of most recent metadata change on Unix," +msgstr "час останньої зміни метаданих в Unix," + +msgid "the time of creation on Windows, expressed in seconds." +msgstr "час створення в Windows, виражений у секундах." + +msgid "Time of most recent access expressed in nanoseconds as an integer." +msgstr "Час останнього доступу, виражений у наносекундах як ціле число." + +msgid "" +"Time of most recent content modification expressed in nanoseconds as an " +"integer." +msgstr "Час останньої зміни вмісту, виражений у наносекундах як ціле число." + +msgid "" +"the time of creation on Windows, expressed in nanoseconds as an integer." +msgstr "час створення в Windows, виражений у наносекундах як ціле число." + +msgid "" +"The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, " +"and :attr:`st_ctime` attributes depend on the operating system and the file " +"system. For example, on Windows systems using the FAT or FAT32 file " +"systems, :attr:`st_mtime` has 2-second resolution, and :attr:`st_atime` has " +"only 1-day resolution. See your operating system documentation for details." +msgstr "" +"Точне значення та роздільна здатність атрибутів :attr:`st_atime`, :attr:" +"`st_mtime` і :attr:`st_ctime` залежать від операційної та файлової системи. " +"Наприклад, у системах Windows, які використовують файлові системи FAT або " +"FAT32, :attr:`st_mtime` має роздільну здатність 2 секунди, а :attr:" +"`st_atime` — лише 1 день. Додаткову інформацію дивіться в документації вашої " +"операційної системи." + +msgid "" +"Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:" +"`st_ctime_ns` are always expressed in nanoseconds, many systems do not " +"provide nanosecond precision. On systems that do provide nanosecond " +"precision, the floating-point object used to store :attr:`st_atime`, :attr:" +"`st_mtime`, and :attr:`st_ctime` cannot preserve all of it, and as such will " +"be slightly inexact. If you need the exact timestamps you should always use :" +"attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns`." +msgstr "" +"Подібним чином, хоча :attr:`st_atime_ns`, :attr:`st_mtime_ns` і :attr:" +"`st_ctime_ns` завжди виражаються в наносекундах, багато систем не " +"забезпечують точність до наносекунд. У системах, які забезпечують " +"наносекундну точність, об’єкт із плаваючою комою, який використовується для " +"зберігання :attr:`st_atime`, :attr:`st_mtime` і :attr:`st_ctime`, не може " +"зберегти все це, і тому буде трохи неточним . Якщо вам потрібні точні мітки " +"часу, завжди використовуйте :attr:`st_atime_ns`, :attr:`st_mtime_ns` і :attr:" +"`st_ctime_ns`." + +msgid "" +"On some Unix systems (such as Linux), the following attributes may also be " +"available:" +msgstr "" +"У деяких системах Unix (таких як Linux) також можуть бути доступні такі " +"атрибути:" + +msgid "" +"Number of 512-byte blocks allocated for file. This may be smaller than :attr:" +"`st_size`/512 when the file has holes." +msgstr "" +"Кількість 512-байтних блоків, виділених для файлу. Це може бути менше, ніж :" +"attr:`st_size`/512, якщо файл має отвори." + +msgid "" +"\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " +"smaller chunks may cause an inefficient read-modify-rewrite." +msgstr "" +"\"Бажаний\" розмір блоку для ефективного введення/виведення файлової " +"системи. Запис у файл меншими фрагментами може спричинити неефективне " +"читання-змінення-перезапис." + +msgid "Type of device if an inode device." +msgstr "Тип пристрою, якщо пристрій inode." + +msgid "User defined flags for file." +msgstr "Визначені користувачем позначки для файлу." + +msgid "" +"On other Unix systems (such as FreeBSD), the following attributes may be " +"available (but may be only filled out if root tries to use them):" +msgstr "" +"В інших системах Unix (таких як FreeBSD) такі атрибути можуть бути " +"доступними (але можуть бути заповнені, лише якщо root намагається їх " +"використати):" + +msgid "File generation number." +msgstr "Номер покоління файлу." + +msgid "Time of file creation." +msgstr "Час створення файлу." + +msgid "" +"On Solaris and derivatives, the following attributes may also be available:" +msgstr "У Solaris і похідних також можуть бути доступні такі атрибути:" + +msgid "" +"String that uniquely identifies the type of the filesystem that contains the " +"file." +msgstr "" +"Рядок, який однозначно визначає тип файлової системи, яка містить файл." + +msgid "On macOS systems, the following attributes may also be available:" +msgstr "У системах macOS також можуть бути доступні такі атрибути:" + +msgid "Real size of the file." +msgstr "Реальний розмір файлу." + +msgid "Creator of the file." +msgstr "Творець файлу." + +msgid "File type." +msgstr "Тип файлу." + +msgid "On Windows systems, the following attributes are also available:" +msgstr "У системах Windows також доступні такі атрибути:" + +msgid "" +"Windows file attributes: ``dwFileAttributes`` member of the " +"``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:" +"`GetFileInformationByHandle`. See the ``FILE_ATTRIBUTE_*`` constants in the :" +"mod:`stat` module." +msgstr "" +"Атрибути файлів Windows: ``dwFileAttributes``, член структури " +"``BY_HANDLE_FILE_INFORMATION``, повернений :c:func:" +"`GetFileInformationByHandle`. Перегляньте константи ``FILE_ATTRIBUTE_*`` в " +"модулі :mod:`stat`." + +msgid "" +"When :attr:`st_file_attributes` has the ``FILE_ATTRIBUTE_REPARSE_POINT`` " +"set, this field contains the tag identifying the type of reparse point. See " +"the ``IO_REPARSE_TAG_*`` constants in the :mod:`stat` module." +msgstr "" +"Якщо для :attr:`st_file_attributes` встановлено " +"``FILE_ATTRIBUTE_REPARSE_POINT``, це поле містить тег, що визначає тип точки " +"повторного аналізу. Перегляньте константи ``IO_REPARSE_TAG_*`` в модулі :mod:" +"`stat`." + +msgid "" +"The standard module :mod:`stat` defines functions and constants that are " +"useful for extracting information from a :c:type:`stat` structure. (On " +"Windows, some items are filled with dummy values.)" +msgstr "" +"Стандартний модуль :mod:`stat` визначає функції та константи, корисні для " +"отримання інформації зі структури :c:type:`stat`. (У Windows деякі елементи " +"заповнюються фіктивними значеннями.)" + +msgid "" +"For backward compatibility, a :class:`stat_result` instance is also " +"accessible as a tuple of at least 10 integers giving the most important (and " +"portable) members of the :c:type:`stat` structure, in the order :attr:" +"`st_mode`, :attr:`st_ino`, :attr:`st_dev`, :attr:`st_nlink`, :attr:" +"`st_uid`, :attr:`st_gid`, :attr:`st_size`, :attr:`st_atime`, :attr:" +"`st_mtime`, :attr:`st_ctime`. More items may be added at the end by some " +"implementations. For compatibility with older Python versions, accessing :" +"class:`stat_result` as a tuple always returns integers." +msgstr "" +"Для зворотної сумісності екземпляр :class:`stat_result` також доступний як " +"кортеж із принаймні 10 цілих чисел, що надає найважливіші (і переносні) " +"члени структури :c:type:`stat` у порядку :attr:`st_mode`, :attr:`st_ino`, :" +"attr:`st_dev`, :attr:`st_nlink`, :attr:`st_uid`, :attr:`st_gid`, :attr:" +"`st_size`, :attr:`st_atime`, :attr:`st_mtime`, :attr:`st_ctime`. Інші " +"елементи можуть бути додані в кінці в деяких реалізаціях. Для сумісності зі " +"старими версіями Python доступ до :class:`stat_result` як кортежу завжди " +"повертає цілі числа." + +msgid "" +"Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns` " +"members." +msgstr "" +"Додано учасників :attr:`st_atime_ns`, :attr:`st_mtime_ns` і :attr:" +"`st_ctime_ns`." + +msgid "Added the :attr:`st_file_attributes` member on Windows." +msgstr "Додано член :attr:`st_file_attributes` у Windows." + +msgid "Windows now returns the file index as :attr:`st_ino` when available." +msgstr "" +"Тепер Windows повертає індекс файлу як :attr:`st_ino`, якщо він доступний." + +msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." +msgstr "Додано член :attr:`st_fstype` до Solaris/derivatives." + +msgid "Added the :attr:`st_reparse_tag` member on Windows." +msgstr "Додано член :attr:`st_reparse_tag` у Windows." + +msgid "" +"On Windows, the :attr:`st_mode` member now identifies special files as :" +"const:`S_IFCHR`, :const:`S_IFIFO` or :const:`S_IFBLK` as appropriate." +msgstr "" +"У Windows член :attr:`st_mode` тепер ідентифікує спеціальні файли як :const:" +"`S_IFCHR`, :const:`S_IFIFO` або :const:`S_IFBLK` відповідно." + +msgid "" +"Perform a :c:func:`statvfs` system call on the given path. The return value " +"is an object whose attributes describe the filesystem on the given path, and " +"correspond to the members of the :c:type:`statvfs` structure, namely: :attr:" +"`f_bsize`, :attr:`f_frsize`, :attr:`f_blocks`, :attr:`f_bfree`, :attr:" +"`f_bavail`, :attr:`f_files`, :attr:`f_ffree`, :attr:`f_favail`, :attr:" +"`f_flag`, :attr:`f_namemax`, :attr:`f_fsid`." +msgstr "" +"Виконайте системний виклик :c:func:`statvfs` за вказаним шляхом. Повернене " +"значення — це об’єкт, атрибути якого описують файлову систему на заданому " +"шляху та відповідають членам структури :c:type:`statvfs`, а саме: :attr:" +"`f_bsize`, :attr:`f_frsize`, :attr:`f_blocks`, :attr:`f_bfree`, :attr:" +"`f_bavail`, :attr:`f_files`, :attr:`f_ffree`, :attr:`f_favail`, :attr:" +"`f_flag`, :attr:`f_namemax`, :attr:`f_fsid`." + +msgid "" +"Two module-level constants are defined for the :attr:`f_flag` attribute's " +"bit-flags: if :const:`ST_RDONLY` is set, the filesystem is mounted read-" +"only, and if :const:`ST_NOSUID` is set, the semantics of setuid/setgid bits " +"are disabled or not supported." +msgstr "" +"Для бітових прапорів атрибута :attr:`f_flag` визначено дві константи рівня " +"модуля: якщо встановлено :const:`ST_RDONLY`, файлова система монтується лише " +"для читання, а якщо встановлено :const:`ST_NOSUID`, семантика бітів setuid/" +"setgid вимкнена або не підтримується." + +msgid "" +"Additional module-level constants are defined for GNU/glibc based systems. " +"These are :const:`ST_NODEV` (disallow access to device special files), :" +"const:`ST_NOEXEC` (disallow program execution), :const:`ST_SYNCHRONOUS` " +"(writes are synced at once), :const:`ST_MANDLOCK` (allow mandatory locks on " +"an FS), :const:`ST_WRITE` (write on file/directory/symlink), :const:" +"`ST_APPEND` (append-only file), :const:`ST_IMMUTABLE` (immutable file), :" +"const:`ST_NOATIME` (do not update access times), :const:`ST_NODIRATIME` (do " +"not update directory access times), :const:`ST_RELATIME` (update atime " +"relative to mtime/ctime)." +msgstr "" +"Для систем на основі GNU/glibc визначено додаткові константи рівня модуля. " +"Це :const:`ST_NODEV` (заборона доступу до спеціальних файлів пристрою), :" +"const:`ST_NOEXEC` (заборона виконання програми), :const:`ST_SYNCHRONOUS` " +"(записи синхронізуються одночасно), :const:`ST_MANDLOCK` ( дозволити " +"обов’язкове блокування FS), :const:`ST_WRITE` (запис у файл/каталог/символне " +"посилання), :const:`ST_APPEND` (файл лише для додавання), :const:" +"`ST_IMMUTABLE` (незмінний файл), :const:`ST_NOATIME` (не оновлювати час " +"доступу), :const:`ST_NODIRATIME` (не оновлювати час доступу до каталогу), :" +"const:`ST_RELATIME` (оновлювати atime відносно mtime/ctime)." + +msgid "The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added." +msgstr "Додано константи :const:`ST_RDONLY` і :const:`ST_NOSUID`." + +msgid "" +"The :const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" +"`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:" +"`ST_IMMUTABLE`, :const:`ST_NOATIME`, :const:`ST_NODIRATIME`, and :const:" +"`ST_RELATIME` constants were added." +msgstr "" +":const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" +"`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:`ST_IMMUTABLE`, " +"Додано константи :const:`ST_NOATIME`, :const:`ST_NODIRATIME` і :const:" +"`ST_RELATIME`." + +msgid "Added :attr:`f_fsid`." +msgstr "Додано :attr:`f_fsid`." + +msgid "" +"A :class:`set` object indicating which functions in the :mod:`os` module " +"accept an open file descriptor for their *dir_fd* parameter. Different " +"platforms provide different features, and the underlying functionality " +"Python uses to implement the *dir_fd* parameter is not available on all " +"platforms Python supports. For consistency's sake, functions that may " +"support *dir_fd* always allow specifying the parameter, but will throw an " +"exception if the functionality is used when it's not locally available. " +"(Specifying ``None`` for *dir_fd* is always supported on all platforms.)" +msgstr "" +"Об’єкт :class:`set`, що вказує, які функції в модулі :mod:`os` приймають " +"дескриптор відкритого файлу для свого параметра *dir_fd*. Різні платформи " +"надають різні функції, а основні функції, які Python використовує для " +"реалізації параметра *dir_fd*, доступні не на всіх платформах, які підтримує " +"Python. Заради узгодженості функції, які можуть підтримувати *dir_fd*, " +"завжди дозволяють вказати параметр, але створять виняток, якщо функція " +"використовується, коли вона недоступна локально. (Визначення ``None`` для " +"*dir_fd* завжди підтримується на всіх платформах.)" + +msgid "" +"To check whether a particular function accepts an open file descriptor for " +"its *dir_fd* parameter, use the ``in`` operator on ``supports_dir_fd``. As " +"an example, this expression evaluates to ``True`` if :func:`os.stat` accepts " +"open file descriptors for *dir_fd* on the local platform::" +msgstr "" +"Щоб перевірити, чи певна функція приймає дескриптор відкритого файлу для " +"свого параметра *dir_fd*, використовуйте оператор ``in`` на " +"``supports_dir_fd``. Як приклад, цей вираз оцінюється як ``True``, якщо :" +"func:`os.stat` приймає дескриптори відкритих файлів для *dir_fd* на " +"локальній платформі::" + +msgid "" +"Currently *dir_fd* parameters only work on Unix platforms; none of them work " +"on Windows." +msgstr "" +"Наразі параметри *dir_fd* працюють лише на платформах Unix; жоден з них не " +"працює в Windows." + +msgid "" +"A :class:`set` object indicating whether :func:`os.access` permits " +"specifying ``True`` for its *effective_ids* parameter on the local platform. " +"(Specifying ``False`` for *effective_ids* is always supported on all " +"platforms.) If the local platform supports it, the collection will contain :" +"func:`os.access`; otherwise it will be empty." +msgstr "" +"Об’єкт :class:`set`, що вказує, чи дозволяє :func:`os.access` вказувати " +"``True`` для свого параметра *effective_ids* на локальній платформі. " +"(Вказівка ``False`` для *effective_ids* завжди підтримується на всіх " +"платформах.) Якщо локальна платформа підтримує це, колекція міститиме :func:" +"`os.access`; інакше воно буде порожнім." + +msgid "" +"This expression evaluates to ``True`` if :func:`os.access` supports " +"``effective_ids=True`` on the local platform::" +msgstr "" +"Цей вираз оцінюється як ``True``, якщо :func:`os.access` підтримує " +"``effective_ids=True`` на локальній платформі::" + +msgid "" +"Currently *effective_ids* is only supported on Unix platforms; it does not " +"work on Windows." +msgstr "" +"Наразі *effective_ids* підтримується лише на платформах Unix; це не працює в " +"Windows." + +msgid "" +"A :class:`set` object indicating which functions in the :mod:`os` module " +"permit specifying their *path* parameter as an open file descriptor on the " +"local platform. Different platforms provide different features, and the " +"underlying functionality Python uses to accept open file descriptors as " +"*path* arguments is not available on all platforms Python supports." +msgstr "" +"Об’єкт :class:`set`, що вказує, які функції в модулі :mod:`os` дозволяють " +"вказувати свій параметр *path* як дескриптор відкритого файлу на локальній " +"платформі. Різні платформи надають різні функції, а основні функції, які " +"Python використовує для прийняття відкритих файлових дескрипторів як *шлях* " +"аргументів, доступні не на всіх платформах, які підтримує Python." + +msgid "" +"To determine whether a particular function permits specifying an open file " +"descriptor for its *path* parameter, use the ``in`` operator on " +"``supports_fd``. As an example, this expression evaluates to ``True`` if :" +"func:`os.chdir` accepts open file descriptors for *path* on your local " +"platform::" +msgstr "" +"Щоб визначити, чи дозволяє певна функція вказувати дескриптор відкритого " +"файлу для свого параметра *path*, використовуйте оператор ``in`` на " +"``supports_fd``. Як приклад, цей вираз має значення ``True``, якщо :func:`os." +"chdir` приймає дескриптори відкритих файлів для *path* на вашій локальній " +"платформі::" + +msgid "" +"A :class:`set` object indicating which functions in the :mod:`os` module " +"accept ``False`` for their *follow_symlinks* parameter on the local " +"platform. Different platforms provide different features, and the underlying " +"functionality Python uses to implement *follow_symlinks* is not available on " +"all platforms Python supports. For consistency's sake, functions that may " +"support *follow_symlinks* always allow specifying the parameter, but will " +"throw an exception if the functionality is used when it's not locally " +"available. (Specifying ``True`` for *follow_symlinks* is always supported " +"on all platforms.)" +msgstr "" +"Об’єкт :class:`set`, що вказує, які функції в модулі :mod:`os` приймають " +"``False`` для свого параметра *follow_symlinks* на локальній платформі. " +"Різні платформи надають різні функції, а основні функції, які Python " +"використовує для реалізації *follow_symlinks*, доступні не на всіх " +"платформах, які підтримує Python. Заради узгодженості функції, які можуть " +"підтримувати *follow_symlinks*, завжди дозволяють вказувати параметр, але " +"викидають виняток, якщо функція використовується, коли вона недоступна " +"локально. (Вказівка ``True`` для *follow_symlinks* завжди підтримується на " +"всіх платформах.)" + +msgid "" +"To check whether a particular function accepts ``False`` for its " +"*follow_symlinks* parameter, use the ``in`` operator on " +"``supports_follow_symlinks``. As an example, this expression evaluates to " +"``True`` if you may specify ``follow_symlinks=False`` when calling :func:`os." +"stat` on the local platform::" +msgstr "" +"Щоб перевірити, чи певна функція приймає ``False`` для свого параметра " +"*follow_symlinks*, використовуйте оператор ``in`` у " +"``supports_follow_symlinks``. Як приклад, цей вираз має значення ``True``, " +"якщо ви можете вказати ``follow_symlinks=False`` під час виклику :func:`os." +"stat` на локальній платформі::" + +msgid "Create a symbolic link pointing to *src* named *dst*." +msgstr "Створіть символічне посилання на *src* під назвою *dst*." + +msgid "" +"On Windows, a symlink represents either a file or a directory, and does not " +"morph to the target dynamically. If the target is present, the type of the " +"symlink will be created to match. Otherwise, the symlink will be created as " +"a directory if *target_is_directory* is ``True`` or a file symlink (the " +"default) otherwise. On non-Windows platforms, *target_is_directory* is " +"ignored." +msgstr "" +"У Windows символічне посилання представляє або файл, або каталог і не " +"перетворюється на ціль динамічно. Якщо ціль присутня, буде створено " +"відповідний тип символічного посилання. В іншому випадку символічне " +"посилання буде створено як каталог, якщо *target_is_directory* має значення " +"``True``, або символічне посилання на файл (за замовчуванням), інакше. На " +"платформах, відмінних від Windows, *target_is_directory* ігнорується." + +msgid "" +"On newer versions of Windows 10, unprivileged accounts can create symlinks " +"if Developer Mode is enabled. When Developer Mode is not available/enabled, " +"the *SeCreateSymbolicLinkPrivilege* privilege is required, or the process " +"must be run as an administrator." +msgstr "" +"У новіших версіях Windows 10 непривілейовані облікові записи можуть " +"створювати символічні посилання, якщо ввімкнено режим розробника. Якщо режим " +"розробника недоступний/увімкнено, потрібен привілей " +"*SeCreateSymbolicLinkPrivilege*, або процес потрібно запускати від імені " +"адміністратора." + +msgid "" +":exc:`OSError` is raised when the function is called by an unprivileged user." +msgstr "" +":exc:`OSError` виникає, коли функцію викликає непривілейований користувач." + +msgid "" +"Raises an :ref:`auditing event ` ``os.symlink`` with arguments " +"``src``, ``dst``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.symlink`` з аргументами " +"``src``, ``dst``, ``dir_fd``." + +msgid "" +"Added the *dir_fd* argument, and now allow *target_is_directory* on non-" +"Windows platforms." +msgstr "" +"Додано аргумент *dir_fd* і тепер дозволено *target_is_directory* на " +"платформах, відмінних від Windows." + +msgid "Added support for unelevated symlinks on Windows with Developer Mode." +msgstr "" +"Додано підтримку непідвищених символічних посилань у Windows із режимом " +"розробника." + +msgid "Force write of everything to disk." +msgstr "Примусово записувати все на диск." + +msgid "" +"Truncate the file corresponding to *path*, so that it is at most *length* " +"bytes in size." +msgstr "" +"Обріжте файл, що відповідає *шляху*, щоб його розмір не перевищував *length* " +"байтів." + +msgid "" +"Raises an :ref:`auditing event ` ``os.truncate`` with arguments " +"``path``, ``length``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.truncate`` з аргументами " +"``path``, ``length``." + +msgid "" +"Remove (delete) the file *path*. This function is semantically identical " +"to :func:`remove`; the ``unlink`` name is its traditional Unix name. Please " +"see the documentation for :func:`remove` for further information." +msgstr "" +"Видалити (видалити) *шлях* до файлу. Ця функція семантично ідентична :func:" +"`remove`; ім'я ``unlink`` є його традиційною назвою Unix. Будь ласка, " +"перегляньте документацію для :func:`remove` для отримання додаткової " +"інформації." + +msgid "Set the access and modified times of the file specified by *path*." +msgstr "Встановіть час доступу та час зміни файлу, указаного *шляхом*." + +msgid "" +":func:`utime` takes two optional parameters, *times* and *ns*. These specify " +"the times set on *path* and are used as follows:" +msgstr "" +":func:`utime` приймає два необов’язкові параметри, *times* і *ns*. Вони " +"вказують час, встановлений на *path* і використовуються таким чином:" + +msgid "" +"If *ns* is specified, it must be a 2-tuple of the form ``(atime_ns, " +"mtime_ns)`` where each member is an int expressing nanoseconds." +msgstr "" +"Якщо вказано *ns*, це має бути 2-кортеж у формі ``(atime_ns, mtime_ns)``, де " +"кожен член є int, що виражає наносекунди." + +msgid "" +"If *times* is not ``None``, it must be a 2-tuple of the form ``(atime, " +"mtime)`` where each member is an int or float expressing seconds." +msgstr "" +"Якщо *times* не є ``None``, це має бути 2-кортеж у формі ``(atime, mtime)``, " +"де кожен член є int або float, що виражає секунди." + +msgid "" +"If *times* is ``None`` and *ns* is unspecified, this is equivalent to " +"specifying ``ns=(atime_ns, mtime_ns)`` where both times are the current time." +msgstr "" +"Якщо *times* має значення ``None`` і *ns* не вказано, це еквівалентно " +"вказівці ``ns=(atime_ns, mtime_ns)``, де обидва часи є поточним часом." + +msgid "It is an error to specify tuples for both *times* and *ns*." +msgstr "Помилково вказувати кортежі як для *times*, так і для *ns*." + +msgid "" +"Note that the exact times you set here may not be returned by a subsequent :" +"func:`~os.stat` call, depending on the resolution with which your operating " +"system records access and modification times; see :func:`~os.stat`. The best " +"way to preserve exact times is to use the *st_atime_ns* and *st_mtime_ns* " +"fields from the :func:`os.stat` result object with the *ns* parameter to :" +"func:`utime`." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``os.utime`` with arguments " +"``path``, ``times``, ``ns``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.utime`` з аргументами ``path``, " +"``times``, ``ns``, ``dir_fd``." + +msgid "" +"Added support for specifying *path* as an open file descriptor, and the " +"*dir_fd*, *follow_symlinks*, and *ns* parameters." +msgstr "" +"Додано підтримку для вказівки *шляху* як дескриптора відкритого файлу та " +"параметрів *dir_fd*, *follow_symlinks* і *ns*." + +msgid "" +"Generate the file names in a directory tree by walking the tree either top-" +"down or bottom-up. For each directory in the tree rooted at directory *top* " +"(including *top* itself), it yields a 3-tuple ``(dirpath, dirnames, " +"filenames)``." +msgstr "" +"Згенеруйте імена файлів у дереві каталогів, проходячи по дереву зверху вниз " +"або знизу вгору. Для кожного каталогу в дереві, що знаходиться в каталозі " +"*top* (включно з самим *top*), він дає 3-кортеж ``(dirpath, dirnames, " +"filenames)``." + +msgid "" +"*dirpath* is a string, the path to the directory. *dirnames* is a list of " +"the names of the subdirectories in *dirpath* (including symlinks to " +"directories, and excluding ``'.'`` and ``'..'``). *filenames* is a list of " +"the names of the non-directory files in *dirpath*. Note that the names in " +"the lists contain no path components. To get a full path (which begins with " +"*top*) to a file or directory in *dirpath*, do ``os.path.join(dirpath, " +"name)``. Whether or not the lists are sorted depends on the file system. " +"If a file is removed from or added to the *dirpath* directory during " +"generating the lists, whether a name for that file be included is " +"unspecified." +msgstr "" + +msgid "" +"If optional argument *topdown* is ``True`` or not specified, the triple for " +"a directory is generated before the triples for any of its subdirectories " +"(directories are generated top-down). If *topdown* is ``False``, the triple " +"for a directory is generated after the triples for all of its subdirectories " +"(directories are generated bottom-up). No matter the value of *topdown*, the " +"list of subdirectories is retrieved before the tuples for the directory and " +"its subdirectories are generated." +msgstr "" +"Якщо необов’язковий аргумент *topdown* має значення ``True`` або не вказано, " +"трійка для каталогу генерується перед потрійками для будь-якого з його " +"підкаталогів (каталоги генеруються зверху вниз). Якщо *topdown* має значення " +"``False``, трійка для каталогу генерується після трійок для всіх його " +"підкаталогів (каталоги генеруються знизу вгору). Незалежно від значення " +"*topdown*, список підкаталогів витягується до створення кортежів для " +"каталогу та його підкаталогів." + +msgid "" +"When *topdown* is ``True``, the caller can modify the *dirnames* list in-" +"place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " +"will only recurse into the subdirectories whose names remain in *dirnames*; " +"this can be used to prune the search, impose a specific order of visiting, " +"or even to inform :func:`walk` about directories the caller creates or " +"renames before it resumes :func:`walk` again. Modifying *dirnames* when " +"*topdown* is ``False`` has no effect on the behavior of the walk, because in " +"bottom-up mode the directories in *dirnames* are generated before *dirpath* " +"itself is generated." +msgstr "" +"Коли *topdown* має значення ``True``, абонент може змінювати список " +"*dirnames* на місці (можливо, використовуючи :keyword:`del` або призначення " +"фрагментів), а :func:`walk` повертатиметься лише до підкаталогів чиї імена " +"залишаються в *dirnames*; це можна використовувати для скорочення пошуку, " +"встановлення певного порядку відвідування або навіть для інформування :func:" +"`walk` про каталоги, які абонент створює або перейменовує перед тим, як він " +"знову продовжить :func:`walk`. Зміна *dirnames*, коли *topdown* має значення " +"``False``, не впливає на поведінку обходу, тому що в режимі знизу вгору " +"каталоги в *dirnames* генеруються до того, як буде згенеровано сам *dirpath*." + +msgid "" +"By default, errors from the :func:`scandir` call are ignored. If optional " +"argument *onerror* is specified, it should be a function; it will be called " +"with one argument, an :exc:`OSError` instance. It can report the error to " +"continue with the walk, or raise the exception to abort the walk. Note that " +"the filename is available as the ``filename`` attribute of the exception " +"object." +msgstr "" +"За замовчуванням помилки виклику :func:`scandir` ігноруються. Якщо вказано " +"необов’язковий аргумент *onerror*, це має бути функція; він буде викликаний " +"з одним аргументом, екземпляром :exc:`OSError`. Він може повідомити про " +"помилку, щоб продовжити обхід, або викликати виключення, щоб перервати " +"обхід. Зауважте, що назва файлу доступна як атрибут ``filename`` об’єкта " +"винятку." + +msgid "" +"By default, :func:`walk` will not walk down into symbolic links that resolve " +"to directories. Set *followlinks* to ``True`` to visit directories pointed " +"to by symlinks, on systems that support them." +msgstr "" +"За замовчуванням :func:`walk` не переходитиме до символічних посилань, які " +"переходять до каталогів. Встановіть *followlinks* на ``True``, щоб " +"відвідувати каталоги, на які вказують символічні посилання, у системах, які " +"їх підтримують." + +msgid "" +"Be aware that setting *followlinks* to ``True`` can lead to infinite " +"recursion if a link points to a parent directory of itself. :func:`walk` " +"does not keep track of the directories it visited already." +msgstr "" +"Майте на увазі, що встановлення *followlinks* значення ``True`` може " +"призвести до нескінченної рекурсії, якщо посилання вказує на батьківський " +"каталог самого себе. :func:`walk` не відстежує каталоги, які він уже " +"відвідав." + +msgid "" +"If you pass a relative pathname, don't change the current working directory " +"between resumptions of :func:`walk`. :func:`walk` never changes the current " +"directory, and assumes that its caller doesn't either." +msgstr "" +"Якщо ви передаєте відносний шлях, не змінюйте поточний робочий каталог між " +"відновленням :func:`walk`. :func:`walk` ніколи не змінює поточний каталог і " +"припускає, що його виклик теж не змінює." + +msgid "" +"This example displays the number of bytes taken by non-directory files in " +"each directory under the starting directory, except that it doesn't look " +"under any CVS subdirectory::" +msgstr "" +"У цьому прикладі показано кількість байтів, зайнятих файлами, що не є " +"каталогами, у кожному каталозі в початковому каталозі, за винятком того, що " +"він не шукає підкаталог CVS::" + +msgid "" +"In the next example (simple implementation of :func:`shutil.rmtree`), " +"walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " +"deleting a directory before the directory is empty::" +msgstr "" +"У наступному прикладі (проста реалізація :func:`shutil.rmtree`) важливий " +"перехід по дереву знизу вгору, :func:`rmdir` не дозволяє видаляти каталог, " +"поки він не стане порожнім::" + +msgid "" +"Raises an :ref:`auditing event ` ``os.walk`` with arguments " +"``top``, ``topdown``, ``onerror``, ``followlinks``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.walk`` з аргументами ``top``, " +"``topdown``, ``onerror``, ``followlinks``." + +msgid "" +"This function now calls :func:`os.scandir` instead of :func:`os.listdir`, " +"making it faster by reducing the number of calls to :func:`os.stat`." +msgstr "" +"Ця функція тепер викликає :func:`os.scandir` замість :func:`os.listdir`, що " +"робить її швидшою завдяки зменшенню кількості викликів до :func:`os.stat`." + +msgid "" +"This behaves exactly like :func:`walk`, except that it yields a 4-tuple " +"``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." +msgstr "" +"Це веде себе так само, як :func:`walk`, за винятком того, що дає 4-кортеж " +"``(dirpath, dirnames, filenames, dirfd)``, і підтримує ``dir_fd``." + +msgid "" +"*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " +"and *dirfd* is a file descriptor referring to the directory *dirpath*." +msgstr "" +"*dirpath*, *dirnames* і *filenaname* ідентичні виводу :func:`walk`, а " +"*dirfd* є дескриптором файлу, який посилається на каталог *dirpath*." + +msgid "" +"This function always supports :ref:`paths relative to directory descriptors " +"` and :ref:`not following symlinks `. Note however " +"that, unlike other functions, the :func:`fwalk` default value for " +"*follow_symlinks* is ``False``." +msgstr "" +"Ця функція завжди підтримує :ref:`шляхи відносно дескрипторів каталогу " +"` і :ref:`не наступні символічні посилання `. Проте " +"зауважте, що, на відміну від інших функцій, значенням за замовчуванням :func:" +"`fwalk` для *follow_symlinks* є ``False``." + +msgid "" +"Since :func:`fwalk` yields file descriptors, those are only valid until the " +"next iteration step, so you should duplicate them (e.g. with :func:`dup`) if " +"you want to keep them longer." +msgstr "" +"Оскільки :func:`fwalk` дає дескриптори файлів, вони дійсні лише до " +"наступного кроку ітерації, тому вам слід дублювати їх (наприклад, за " +"допомогою :func:`dup`), якщо ви хочете зберегти їх довше." + +msgid "" +"In the next example, walking the tree bottom-up is essential: :func:`rmdir` " +"doesn't allow deleting a directory before the directory is empty::" +msgstr "" +"У наступному прикладі перехід по дереву знизу вгору важливий: :func:`rmdir` " +"не дозволяє видаляти каталог, поки каталог не буде порожнім::" + +msgid "" +"Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " +"``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.fwalk`` з аргументами ``top``, " +"``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." + +msgid "Added support for :class:`bytes` paths." +msgstr "Додано підтримку шляхів :class:`bytes`." + +msgid "" +"Create an anonymous file and return a file descriptor that refers to it. " +"*flags* must be one of the ``os.MFD_*`` constants available on the system " +"(or a bitwise ORed combination of them). By default, the new file " +"descriptor is :ref:`non-inheritable `." +msgstr "" +"Створіть анонімний файл і поверніть дескриптор файлу, який посилається на " +"нього. *flags* має бути однією з констант ``os.MFD_*``, доступних у системі " +"(або їх побітовою комбінацією АБО). За замовчуванням новий файловий " +"дескриптор є :ref:`non-inheritable `." + +msgid "" +"The name supplied in *name* is used as a filename and will be displayed as " +"the target of the corresponding symbolic link in the directory ``/proc/self/" +"fd/``. The displayed name is always prefixed with ``memfd:`` and serves only " +"for debugging purposes. Names do not affect the behavior of the file " +"descriptor, and as such multiple files can have the same name without any " +"side effects." +msgstr "" +"Ім’я, указане в *name*, використовується як ім’я файлу та відображатиметься " +"як ціль відповідного символічного посилання в каталозі ``/proc/self/fd/``. " +"Ім’я, що відображається, завжди має префікс ``memfd:`` і служить лише для " +"цілей налагодження. Імена не впливають на поведінку файлового дескриптора, " +"тому кілька файлів можуть мати однакові назви без будь-яких побічних ефектів." + +msgid ":ref:`Availability `: Linux >= 3.17 with glibc >= 2.27." +msgstr "" + +msgid "These flags can be passed to :func:`memfd_create`." +msgstr "Ці позначки можна передати в :func:`memfd_create`." + +msgid ":ref:`Availability `: Linux >= 3.17 with glibc >= 2.27" +msgstr "" + +msgid "The ``MFD_HUGE*`` flags are only available since Linux 4.14." +msgstr "" + +msgid "" +"Create and return an event file descriptor. The file descriptors supports " +"raw :func:`read` and :func:`write` with a buffer size of 8, :func:`~select." +"select`, :func:`~select.poll` and similar. See man page :manpage:" +"`eventfd(2)` for more information. By default, the new file descriptor is :" +"ref:`non-inheritable `." +msgstr "" +"Створити та повернути дескриптор файлу подій. Дескриптори файлів підтримують " +"raw :func:`read` і :func:`write` з розміром буфера 8, :func:`~select." +"select`, :func:`~select.poll` тощо. Додаткову інформацію дивіться на " +"сторінці довідки :manpage:`eventfd(2)`. За замовчуванням новий файловий " +"дескриптор є :ref:`non-inheritable `." + +msgid "" +"*initval* is the initial value of the event counter. The initial value must " +"be an 32 bit unsigned integer. Please note that the initial value is limited " +"to a 32 bit unsigned int although the event counter is an unsigned 64 bit " +"integer with a maximum value of 2\\ :sup:`64`\\ -\\ 2." +msgstr "" +"*initval* — початкове значення лічильника подій. Початкове значення має бути " +"32-розрядним цілим числом без знаку. Зауважте, що початкове значення " +"обмежене 32-бітним беззнаковим цілим числом, хоча лічильник подій є " +"беззнаковим 64-бітним цілим числом із максимальним значенням 2\\ :sup:`64`\\ " +"-\\ 2." + +msgid "" +"*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " +"and :const:`EFD_SEMAPHORE`." +msgstr "" +"*прапори* можуть бути створені з :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK` " +"і :const:`EFD_SEMAPHORE`." + +msgid "" +"If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :" +"func:`eventfd_read` returns 1 and decrements the counter by one." +msgstr "" +"Якщо вказано :const:`EFD_SEMAPHORE` і лічильник подій ненульовий, :func:" +"`eventfd_read` повертає 1 і зменшує лічильник на одиницю." + +msgid "" +"If :const:`EFD_SEMAPHORE` is not specified and the event counter is non-" +"zero, :func:`eventfd_read` returns the current event counter value and " +"resets the counter to zero." +msgstr "" +"Якщо :const:`EFD_SEMAPHORE` не вказано, а лічильник подій ненульовий, :func:" +"`eventfd_read` повертає поточне значення лічильника подій і скидає лічильник " +"до нуля." + +msgid "" +"If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" +"func:`eventfd_read` blocks." +msgstr "" +"Якщо лічильник подій дорівнює нулю і :const:`EFD_NONBLOCK` не вказано, :func:" +"`eventfd_read` блокує." + +msgid "" +":func:`eventfd_write` increments the event counter. Write blocks if the " +"write operation would increment the counter to a value larger than 2\\ :sup:" +"`64`\\ -\\ 2." +msgstr "" +":func:`eventfd_write` збільшує лічильник подій. Блокує запис, якщо операція " +"запису збільшить лічильник до значення, більшого за 2\\ :sup:`64`\\ -\\ 2." + +msgid ":ref:`Availability `: Linux >= 2.6.27 with glibc >= 2.8" +msgstr "" + +msgid "" +"Read value from an :func:`eventfd` file descriptor and return a 64 bit " +"unsigned int. The function does not verify that *fd* is an :func:`eventfd`." +msgstr "" +"Зчитування значення з дескриптора файлу :func:`eventfd` і повернення 64-" +"бітного беззнакового int. Функція не перевіряє, що *fd* є :func:`eventfd`." + +msgid ":ref:`Availability `: Linux >= 2.6.27" +msgstr "" + +msgid "" +"Add value to an :func:`eventfd` file descriptor. *value* must be a 64 bit " +"unsigned int. The function does not verify that *fd* is an :func:`eventfd`." +msgstr "" +"Додайте значення до дескриптора файлу :func:`eventfd`. *значення* має бути " +"64-бітним беззнаковим цілим. Функція не перевіряє, що *fd* є :func:`eventfd`." + +msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor." +msgstr "" +"Установіть прапорець close-on-exec для нового файлового дескриптора :func:" +"`eventfd`." + +msgid "" +"Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor." +msgstr "" +"Установіть позначку статусу :const:`O_NONBLOCK` для нового файлового " +"дескриптора :func:`eventfd`." + +msgid "" +"Provide semaphore-like semantics for reads from a :func:`eventfd` file " +"descriptor. On read the internal counter is decremented by one." +msgstr "" +"Забезпечте семантику, подібну до семафора, для читання з дескриптора файлу :" +"func:`eventfd`. Під час читання внутрішній лічильник зменшується на одиницю." + +msgid ":ref:`Availability `: Linux >= 2.6.30" +msgstr "" + +msgid "Linux extended attributes" +msgstr "Розширені атрибути Linux" + +msgid "These functions are all available on Linux only." +msgstr "Усі ці функції доступні лише в Linux." + +msgid "" +"Return the value of the extended filesystem attribute *attribute* for " +"*path*. *attribute* can be bytes or str (directly or indirectly through the :" +"class:`PathLike` interface). If it is str, it is encoded with the filesystem " +"encoding." +msgstr "" +"Повертає значення розширеного атрибута файлової системи *attribute* для " +"*path*. *attribute* може бути байтом або str (прямо чи опосередковано через " +"інтерфейс :class:`PathLike`). Якщо це str, воно закодовано з кодуванням " +"файлової системи." + +msgid "" +"Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " +"``path``, ``attribute``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.getxattr`` з аргументами " +"``path``, ``attribute``." + +msgid "Accepts a :term:`path-like object` for *path* and *attribute*." +msgstr "Приймає :term:`path-like object` для *path* і *attribute*." + +msgid "" +"Return a list of the extended filesystem attributes on *path*. The " +"attributes in the list are represented as strings decoded with the " +"filesystem encoding. If *path* is ``None``, :func:`listxattr` will examine " +"the current directory." +msgstr "" +"Повертає список розширених атрибутів файлової системи за *шляхом*. Атрибути " +"в списку представлені як рядки, декодовані за допомогою кодування файлової " +"системи. Якщо *path* має значення ``None``, :func:`listxattr` перевірить " +"поточний каталог." + +msgid "" +"Raises an :ref:`auditing event ` ``os.listxattr`` with argument " +"``path``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.listxattr`` з аргументом " +"``path``." + +msgid "" +"Removes the extended filesystem attribute *attribute* from *path*. " +"*attribute* should be bytes or str (directly or indirectly through the :" +"class:`PathLike` interface). If it is a string, it is encoded with the :term:" +"`filesystem encoding and error handler`." +msgstr "" +"Видаляє розширений атрибут файлової системи *attribute* із *path*. " +"*attribute* має бути байтом або str (прямо чи опосередковано через " +"інтерфейс :class:`PathLike`). Якщо це рядок, він кодується за допомогою :" +"term:`filesystem encoding and error handler`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " +"``path``, ``attribute``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.removexattr`` з аргументами " +"``path``, ``attribute``." + +msgid "" +"Set the extended filesystem attribute *attribute* on *path* to *value*. " +"*attribute* must be a bytes or str with no embedded NULs (directly or " +"indirectly through the :class:`PathLike` interface). If it is a str, it is " +"encoded with the :term:`filesystem encoding and error handler`. *flags* may " +"be :data:`XATTR_REPLACE` or :data:`XATTR_CREATE`. If :data:`XATTR_REPLACE` " +"is given and the attribute does not exist, ``ENODATA`` will be raised. If :" +"data:`XATTR_CREATE` is given and the attribute already exists, the attribute " +"will not be created and ``EEXISTS`` will be raised." +msgstr "" +"Установіть *attribute* розширеного атрибута файлової системи на *path* у " +"*value*. *атрибут* має бути байтом або рядком без вбудованих NUL (прямо чи " +"опосередковано через інтерфейс :class:`PathLike`). Якщо це str, він " +"закодований за допомогою :term:`filesystem encoding and error handler`. " +"*прапорцями* можуть бути :data:`XATTR_REPLACE` або :data:`XATTR_CREATE`. " +"Якщо задано :data:`XATTR_REPLACE`, а атрибут не існує, буде створено " +"``ENODATA``. Якщо задано :data:`XATTR_CREATE` і атрибут уже існує, атрибут " +"не буде створено, і буде викликано ``EEXISTS``." + +msgid "" +"A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " +"be ignored on some filesystems." +msgstr "" +"Помилка у версіях ядра Linux до 2.6.39 спричинила ігнорування аргументу " +"flags у деяких файлових системах." + +msgid "" +"Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " +"``path``, ``attribute``, ``value``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.setxattr`` з аргументами " +"``path``, ``attribute``, ``value``, ``flags``." + +msgid "" +"The maximum size the value of an extended attribute can be. Currently, this " +"is 64 KiB on Linux." +msgstr "" +"Максимальний розмір значення розширеного атрибута. На даний момент це 64 КіБ " +"на Linux." + +msgid "" +"This is a possible value for the flags argument in :func:`setxattr`. It " +"indicates the operation must create an attribute." +msgstr "" +"Це можливе значення для аргументу flags у :func:`setxattr`. Це вказує, що " +"операція повинна створити атрибут." + +msgid "" +"This is a possible value for the flags argument in :func:`setxattr`. It " +"indicates the operation must replace an existing attribute." +msgstr "" +"Це можливе значення для аргументу flags у :func:`setxattr`. Це означає, що " +"операція повинна замінити існуючий атрибут." + +msgid "Process Management" +msgstr "Управління процесами" + +msgid "These functions may be used to create and manage processes." +msgstr "" +"Ці функції можна використовувати для створення процесів і керування ними." + +msgid "" +"The various :func:`exec\\* ` functions take a list of arguments for " +"the new program loaded into the process. In each case, the first of these " +"arguments is passed to the new program as its own name rather than as an " +"argument a user may have typed on a command line. For the C programmer, " +"this is the ``argv[0]`` passed to a program's :c:func:`main`. For example, " +"``os.execv('/bin/echo', ['foo', 'bar'])`` will only print ``bar`` on " +"standard output; ``foo`` will seem to be ignored." +msgstr "" +"Різні функції :func:`exec\\* ` приймають список аргументів для нової " +"програми, завантаженої в процес. У кожному випадку перший із цих аргументів " +"передається новій програмі як її власне ім’я, а не як аргумент, який " +"користувач міг ввести в командному рядку. Для програміста на C це " +"``argv[0]``, що передається до :c:func:`main` програми. Наприклад, ``os." +"execv('/bin/echo', ['foo', 'bar'])`` виведе лише ``bar`` на стандартному " +"виводі; ``foo`` буде проігноровано." + +msgid "" +"Generate a :const:`SIGABRT` signal to the current process. On Unix, the " +"default behavior is to produce a core dump; on Windows, the process " +"immediately returns an exit code of ``3``. Be aware that calling this " +"function will not call the Python signal handler registered for :const:" +"`SIGABRT` with :func:`signal.signal`." +msgstr "" +"Згенерувати сигнал :const:`SIGABRT` для поточного процесу. В Unix типовою " +"поведінкою є створення дампа ядра; у Windows процес негайно повертає код " +"виходу ``3``. Майте на увазі, що виклик цієї функції не викличе обробник " +"сигналів Python, зареєстрований для :const:`SIGABRT` з :func:`signal.signal`." + +msgid "Add a path to the DLL search path." +msgstr "Додайте шлях до шляху пошуку DLL." + +msgid "" +"This search path is used when resolving dependencies for imported extension " +"modules (the module itself is resolved through :data:`sys.path`), and also " +"by :mod:`ctypes`." +msgstr "" +"Цей шлях пошуку використовується під час вирішення залежностей для " +"імпортованих модулів розширення (сам модуль вирішується за допомогою :data:" +"`sys.path`), а також за допомогою :mod:`ctypes`." + +msgid "" +"Remove the directory by calling **close()** on the returned object or using " +"it in a :keyword:`with` statement." +msgstr "" +"Видаліть каталог, викликавши **close()** для повернутого об’єкта або " +"використовуючи його в операторі :keyword:`with`." + +msgid "" +"See the `Microsoft documentation `_ for more information about how " +"DLLs are loaded." +msgstr "" +"Перегляньте `документацію Microsoft `_, щоб дізнатися більше про те, як " +"завантажуються DLL." + +msgid "" +"Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " +"argument ``path``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.add_dll_directory`` з " +"аргументом ``path``." + +msgid "" +"Previous versions of CPython would resolve DLLs using the default behavior " +"for the current process. This led to inconsistencies, such as only sometimes " +"searching :envvar:`PATH` or the current working directory, and OS functions " +"such as ``AddDllDirectory`` having no effect." +msgstr "" +"Попередні версії CPython вирішували DLL, використовуючи типову поведінку для " +"поточного процесу. Це призвело до неузгодженості, наприклад лише іноді " +"пошук :envvar:`PATH` або поточного робочого каталогу, а функції ОС, такі як " +"``AddDllDirectory``, не мали ефекту." + +msgid "" +"In 3.8, the two primary ways DLLs are loaded now explicitly override the " +"process-wide behavior to ensure consistency. See the :ref:`porting notes " +"` for information on updating libraries." +msgstr "" +"У версії 3.8 два основні способи завантаження бібліотек DLL тепер явно " +"замінюють поведінку всього процесу, щоб забезпечити узгодженість. " +"Перегляньте :ref:`нотатки щодо портування `, щоб " +"отримати інформацію щодо оновлення бібліотек." + +msgid "" +"These functions all execute a new program, replacing the current process; " +"they do not return. On Unix, the new executable is loaded into the current " +"process, and will have the same process id as the caller. Errors will be " +"reported as :exc:`OSError` exceptions." +msgstr "" +"Усі ці функції виконують нову програму, замінюючи поточний процес; вони не " +"повертаються. В Unix новий виконуваний файл завантажується в поточний процес " +"і матиме той самий ідентифікатор процесу, що й виклик. Помилки " +"повідомлятимуться як винятки :exc:`OSError`." + +msgid "" +"The current process is replaced immediately. Open file objects and " +"descriptors are not flushed, so if there may be data buffered on these open " +"files, you should flush them using :func:`sys.stdout.flush` or :func:`os." +"fsync` before calling an :func:`exec\\* ` function." +msgstr "" +"Поточний процес негайно замінюється. Відкриті файлові об’єкти та дескриптори " +"не скидаються, тому, якщо у цих відкритих файлах можуть бути буферизовані " +"дані, вам слід очистити їх за допомогою :func:`sys.stdout.flush` або :func:" +"`os.fsync` перед викликом :func:`exec\\* ` функція." + +msgid "" +"The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " +"in how command-line arguments are passed. The \"l\" variants are perhaps " +"the easiest to work with if the number of parameters is fixed when the code " +"is written; the individual parameters simply become additional parameters to " +"the :func:`execl\\*` functions. The \"v\" variants are good when the number " +"of parameters is variable, with the arguments being passed in a list or " +"tuple as the *args* parameter. In either case, the arguments to the child " +"process should start with the name of the command being run, but this is not " +"enforced." +msgstr "" +"Варіанти \"l\" і \"v\" функцій :func:`exec\\* ` відрізняються " +"способом передачі аргументів командного рядка. Варіанти \"l\", мабуть, " +"найлегші для роботи, якщо кількість параметрів фіксована під час написання " +"коду; окремі параметри просто стають додатковими параметрами до функцій :" +"func:`execl\\*`. Варіанти \"v\" хороші, коли кількість параметрів є змінною, " +"а аргументи передаються у списку або кортежі як параметр *args*. У будь-" +"якому випадку аргументи дочірнього процесу мають починатися з назви команди, " +"що виконується, але це не виконується." + +msgid "" +"The variants which include a \"p\" near the end (:func:`execlp`, :func:" +"`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " +"environment variable to locate the program *file*. When the environment is " +"being replaced (using one of the :func:`exec\\*e ` variants, " +"discussed in the next paragraph), the new environment is used as the source " +"of the :envvar:`PATH` variable. The other variants, :func:`execl`, :func:" +"`execle`, :func:`execv`, and :func:`execve`, will not use the :envvar:`PATH` " +"variable to locate the executable; *path* must contain an appropriate " +"absolute or relative path." +msgstr "" +"Варіанти, які включають \"p\" у кінці (:func:`execlp`, :func:`execlpe`, :" +"func:`execvp` і :func:`execvpe`) використовуватимуть :envvar:`PATH` змінна " +"середовища, щоб знайти *файл* програми. Коли середовище замінюється (з " +"використанням одного з варіантів :func:`exec\\*e `, розглянутих у " +"наступному абзаці), нове середовище використовується як джерело змінної :" +"envvar:`PATH`. Інші варіанти, :func:`execl`, :func:`execle`, :func:`execv` " +"і :func:`execve`, не використовуватимуть змінну :envvar:`PATH` для пошуку " +"виконуваного файлу; *path* повинен містити відповідний абсолютний або " +"відносний шлях." + +msgid "" +"For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " +"(note that these all end in \"e\"), the *env* parameter must be a mapping " +"which is used to define the environment variables for the new process (these " +"are used instead of the current process' environment); the functions :func:" +"`execl`, :func:`execlp`, :func:`execv`, and :func:`execvp` all cause the new " +"process to inherit the environment of the current process." +msgstr "" +"Для :func:`execle`, :func:`execlpe`, :func:`execve` і :func:`execvpe` " +"(зауважте, що всі вони закінчуються на \"e\"), параметр *env* має бути " +"зіставленням який використовується для визначення змінних середовища для " +"нового процесу (вони використовуються замість середовища поточного процесу); " +"функції :func:`execl`, :func:`execlp`, :func:`execv` і :func:`execvp` " +"змушують новий процес успадковувати середовище поточного процесу." + +msgid "" +"For :func:`execve` on some platforms, *path* may also be specified as an " +"open file descriptor. This functionality may not be supported on your " +"platform; you can check whether or not it is available using :data:`os." +"supports_fd`. If it is unavailable, using it will raise a :exc:" +"`NotImplementedError`." +msgstr "" +"Для :func:`execve` на деяких платформах *шлях* також може бути вказаний як " +"дескриптор відкритого файлу. Ця функція може не підтримуватися на вашій " +"платформі; ви можете перевірити, чи він доступний, за допомогою :data:`os." +"supports_fd`. Якщо він недоступний, його використання призведе до помилки :" +"exc:`NotImplementedError`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.exec`` with arguments " +"``path``, ``args``, ``env``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.exec`` з аргументами ``path``, " +"``args``, ``env``." + +msgid "" +"Added support for specifying *path* as an open file descriptor for :func:" +"`execve`." +msgstr "" +"Додано підтримку вказівки *шляху* як дескриптора відкритого файлу для :func:" +"`execve`." + +msgid "" +"Exit the process with status *n*, without calling cleanup handlers, flushing " +"stdio buffers, etc." +msgstr "" +"Вийдіть із процесу зі статусом *n*, без виклику обробників очищення, " +"очищення буферів stdio тощо." + +msgid "" +"The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally " +"only be used in the child process after a :func:`fork`." +msgstr "" +"Стандартним способом виходу є ``sys.exit(n)``. :func:`_exit` зазвичай слід " +"використовувати лише в дочірньому процесі після :func:`fork`." + +msgid "" +"The following exit codes are defined and can be used with :func:`_exit`, " +"although they are not required. These are typically used for system " +"programs written in Python, such as a mail server's external command " +"delivery program." +msgstr "" +"Наступні коди виходу визначені та можуть використовуватися з :func:`_exit`, " +"хоча вони не є обов’язковими. Зазвичай вони використовуються для системних " +"програм, написаних мовою Python, таких як зовнішня програма доставки команд " +"поштового сервера." + +msgid "" +"Some of these may not be available on all Unix platforms, since there is " +"some variation. These constants are defined where they are defined by the " +"underlying platform." +msgstr "" +"Деякі з них можуть бути недоступні на всіх платформах Unix, оскільки існують " +"певні відмінності. Ці константи визначені там, де вони визначені базовою " +"платформою." + +msgid "" +"Exit code that means no error occurred. May be taken from the defined value " +"of ``EXIT_SUCCESS`` on some platforms. Generally has a value of zero." +msgstr "" + +msgid "" +"Exit code that means the command was used incorrectly, such as when the " +"wrong number of arguments are given." +msgstr "" +"Код виходу, який означає, що команда була використана неправильно, " +"наприклад, коли вказано неправильну кількість аргументів." + +msgid "Exit code that means the input data was incorrect." +msgstr "Код виходу, який означає, що введені дані були неправильними." + +msgid "Exit code that means an input file did not exist or was not readable." +msgstr "Код виходу, який означає, що вхідний файл не існував або не читався." + +msgid "Exit code that means a specified user did not exist." +msgstr "Код виходу, який означає, що вказаний користувач не існував." + +msgid "Exit code that means a specified host did not exist." +msgstr "Код виходу, який означає, що вказаний хост не існував." + +msgid "Exit code that means that a required service is unavailable." +msgstr "Код виходу, який означає, що потрібна послуга недоступна." + +msgid "Exit code that means an internal software error was detected." +msgstr "" +"Код виходу, який означає, що виявлено внутрішню помилку програмного " +"забезпечення." + +msgid "" +"Exit code that means an operating system error was detected, such as the " +"inability to fork or create a pipe." +msgstr "" +"Код виходу, який означає, що виявлено помилку операційної системи, наприклад " +"неможливість розгалуження або створення каналу." + +msgid "" +"Exit code that means some system file did not exist, could not be opened, or " +"had some other kind of error." +msgstr "" +"Код виходу, який означає, що якийсь системний файл не існував, його " +"неможливо відкрити або якийсь інший тип помилки." + +msgid "Exit code that means a user specified output file could not be created." +msgstr "" +"Код виходу означає, що вказаний користувачем вихідний файл неможливо " +"створити." + +msgid "" +"Exit code that means that an error occurred while doing I/O on some file." +msgstr "" +"Код виходу, який означає, що сталася помилка під час виконання вводу-виводу " +"для деякого файлу." + +msgid "" +"Exit code that means a temporary failure occurred. This indicates something " +"that may not really be an error, such as a network connection that couldn't " +"be made during a retryable operation." +msgstr "" +"Код виходу, який означає, що стався тимчасовий збій. Це вказує на те, що " +"насправді не може бути помилкою, наприклад мережеве підключення, яке не " +"вдалося встановити під час повторної операції." + +msgid "" +"Exit code that means that a protocol exchange was illegal, invalid, or not " +"understood." +msgstr "" +"Код виходу, який означає, що обмін протоколом був незаконним, недійсним або " +"незрозумілим." + +msgid "" +"Exit code that means that there were insufficient permissions to perform the " +"operation (but not intended for file system problems)." +msgstr "" +"Код виходу, який означає, що було недостатньо дозволів для виконання " +"операції (але не призначений для проблем файлової системи)." + +msgid "Exit code that means that some kind of configuration error occurred." +msgstr "Код виходу, який означає, що сталася якась помилка конфігурації." + +msgid "Exit code that means something like \"an entry was not found\"." +msgstr "Код виходу, який означає щось на зразок \"запис не знайдено\"." + +msgid "" +"Fork a child process. Return ``0`` in the child and the child's process id " +"in the parent. If an error occurs :exc:`OSError` is raised." +msgstr "" +"Розгалужуйте дочірній процес. Повертає ``0`` у дочірньому процесі та " +"ідентифікатор дочірнього процесу в батьківському. У разі виникнення помилки " +"виникає :exc:`OSError`." + +msgid "" +"Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " +"issues when using ``fork()`` from a thread." +msgstr "" +"Зауважте, що деякі платформи, включаючи FreeBSD <= 6.3 і Cygwin, мають " +"відомі проблеми під час використання ``fork()`` із потоку." + +msgid "" +"Raises an :ref:`auditing event ` ``os.fork`` with no arguments." +msgstr "Викликає :ref:`подію аудиту ` ``os.fork`` без аргументів." + +msgid "" +"Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" +"`RuntimeError` is raised)." +msgstr "" +"Виклик ``fork()`` у підінтерпретаторі більше не підтримується (виникає :exc:" +"`RuntimeError`)." + +msgid "See :mod:`ssl` for applications that use the SSL module with fork()." +msgstr "" +"Перегляньте :mod:`ssl` для програм, які використовують модуль SSL із fork()." + +msgid "" +"Fork a child process, using a new pseudo-terminal as the child's controlling " +"terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, " +"the new child's process id in the parent, and *fd* is the file descriptor of " +"the master end of the pseudo-terminal. For a more portable approach, use " +"the :mod:`pty` module. If an error occurs :exc:`OSError` is raised." +msgstr "" +"Розгалужуйте дочірній процес, використовуючи новий псевдотермінал як " +"керуючий термінал дочірнього процесу. Повертає пару ``(pid, fd)``, де *pid* " +"є ``0`` у дочірньому, ідентифікатор нового дочірнього процесу в " +"батьківському, а *fd* є дескриптором файлу головного кінця псевдотермінал. " +"Для більш портативного підходу використовуйте модуль :mod:`pty`. У разі " +"виникнення помилки виникає :exc:`OSError`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." +msgstr "Викликає :ref:`подію аудиту ` ``os.forkpty`` без аргументів." + +msgid "" +"Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" +"`RuntimeError` is raised)." +msgstr "" +"Виклик ``forkpty()`` у підінтерпретаторі більше не підтримується (виникає :" +"exc:`RuntimeError`)." + +msgid "" +"Send signal *sig* to the process *pid*. Constants for the specific signals " +"available on the host platform are defined in the :mod:`signal` module." +msgstr "" +"Надішліть сигнал *sig* процесу *pid*. Константи для конкретних сигналів, " +"доступних на хост-платформі, визначаються в модулі :mod:`signal`." + +msgid "" +"Windows: The :data:`signal.CTRL_C_EVENT` and :data:`signal.CTRL_BREAK_EVENT` " +"signals are special signals which can only be sent to console processes " +"which share a common console window, e.g., some subprocesses. Any other " +"value for *sig* will cause the process to be unconditionally killed by the " +"TerminateProcess API, and the exit code will be set to *sig*. The Windows " +"version of :func:`kill` additionally takes process handles to be killed." +msgstr "" +"Windows: Сигнали :data:`signal.CTRL_C_EVENT` і :data:`signal." +"CTRL_BREAK_EVENT` є спеціальними сигналами, які можна надсилати лише " +"процесам консолі, які мають спільне вікно консолі, наприклад, деякі " +"підпроцеси. Будь-яке інше значення для *sig* спричинить безумовне припинення " +"процесу API TerminateProcess, а код виходу буде встановлено на *sig*. " +"Версія :func:`kill` для Windows додатково приймає дескриптори процесу, які " +"потрібно знищити." + +msgid "See also :func:`signal.pthread_kill`." +msgstr "Дивіться також :func:`signal.pthread_kill`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.kill`` with arguments " +"``pid``, ``sig``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.kill`` з аргументами ``pid``, " +"``sig``." + +msgid "Windows support." +msgstr "Підтримка Windows." + +msgid "Send the signal *sig* to the process group *pgid*." +msgstr "Надішліть сигнал *sig* до групи процесів *pgid*." + +msgid "" +"Raises an :ref:`auditing event ` ``os.killpg`` with arguments " +"``pgid``, ``sig``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.killpg`` з аргументами " +"``pgid``, ``sig``." + +msgid "" +"Add *increment* to the process's \"niceness\". Return the new niceness." +msgstr "" +"Додайте *приріст* до \"витонченості\" процесу. Поверніть нову привабливість." + +msgid "" +"Return a file descriptor referring to the process *pid*. This descriptor " +"can be used to perform process management without races and signals. The " +"*flags* argument is provided for future extensions; no flag values are " +"currently defined." +msgstr "" +"Повертає дескриптор файлу, який посилається на процес *pid*. Цей дескриптор " +"можна використовувати для керування процесом без перегонів і сигналів. " +"Аргумент *flags* надається для майбутніх розширень; значення прапорів наразі " +"не визначено." + +msgid "See the :manpage:`pidfd_open(2)` man page for more details." +msgstr "" +"Додаткову інформацію можна знайти на сторінці довідки :manpage:" +"`pidfd_open(2)`." + +msgid ":ref:`Availability `: Linux >= 5.3" +msgstr "" + +msgid "" +"Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." +msgstr "" +"Блокування сегментів програми в пам'яті. Значення *op* (визначене в ````) визначає, які сегменти заблоковано." + +msgid "" +"Open a pipe to or from command *cmd*. The return value is an open file " +"object connected to the pipe, which can be read or written depending on " +"whether *mode* is ``'r'`` (default) or ``'w'``. The *buffering* argument " +"have the same meaning as the corresponding argument to the built-in :func:" +"`open` function. The returned file object reads or writes text strings " +"rather than bytes." +msgstr "" + +msgid "" +"The ``close`` method returns :const:`None` if the subprocess exited " +"successfully, or the subprocess's return code if there was an error. On " +"POSIX systems, if the return code is positive it represents the return value " +"of the process left-shifted by one byte. If the return code is negative, " +"the process was terminated by the signal given by the negated value of the " +"return code. (For example, the return value might be ``- signal.SIGKILL`` " +"if the subprocess was killed.) On Windows systems, the return value " +"contains the signed integer return code from the child process." +msgstr "" +"Метод ``close`` повертає :const:`None`, якщо підпроцес завершився успішно, " +"або код повернення підпроцесу, якщо сталася помилка. У системах POSIX, якщо " +"код повернення позитивний, він представляє значення, що повертається " +"процесом, зміщене вліво на один байт. Якщо код повернення від’ємний, це " +"означає, що процес було припинено за допомогою сигналу, поданого зведеним " +"значенням коду повернення. (Наприклад, значення, що повертається, може бути " +"``- signal.SIGKILL``, якщо підпроцес було закрито.) У системах Windows " +"значення, що повертається, містить цілочисельний код повернення зі знаком " +"від дочірнього процесу." + +msgid "" +"On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` " +"method result (exit status) into an exit code if it is not ``None``. On " +"Windows, the ``close`` method result is directly the exit code (or ``None``)." +msgstr "" +"В Unix :func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"результату методу ``close`` (статус виходу) у код виходу, якщо він не " +"``None``. У Windows результатом методу ``close`` є безпосередньо код виходу " +"(або ``None``)." + +msgid "" +"This is implemented using :class:`subprocess.Popen`; see that class's " +"documentation for more powerful ways to manage and communicate with " +"subprocesses." +msgstr "" +"Це реалізовано за допомогою :class:`subprocess.Popen`; перегляньте " +"документацію цього класу, щоб дізнатися про більш потужні способи керування " +"підпроцесами та спілкування з ними." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"The :ref:`Python UTF-8 Mode ` affects encodings used for *cmd* " +"and pipe contents." +msgstr "" + +msgid "" +":func:`popen` is a simple wrapper around :class:`subprocess.Popen`. Use :" +"class:`subprocess.Popen` or :func:`subprocess.run` to control options like " +"encodings." +msgstr "" + +msgid "Wraps the :c:func:`posix_spawn` C library API for use from Python." +msgstr "" +"Обгортає API бібліотеки C :c:func:`posix_spawn` для використання з Python." + +msgid "" +"Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." +msgstr "" +"Більшість користувачів повинні використовувати :func:`subprocess.run` " +"замість :func:`posix_spawn`." + +msgid "" +"The positional-only arguments *path*, *args*, and *env* are similar to :func:" +"`execve`." +msgstr "" +"Лише позиційні аргументи *path*, *args* і *env* подібні до :func:`execve`." + +msgid "" +"The *path* parameter is the path to the executable file. The *path* should " +"contain a directory. Use :func:`posix_spawnp` to pass an executable file " +"without directory." +msgstr "" +"Параметр *path* — це шлях до виконуваного файлу. *Шлях* має містити каталог. " +"Використовуйте :func:`posix_spawnp`, щоб передати виконуваний файл без " +"каталогу." + +msgid "" +"The *file_actions* argument may be a sequence of tuples describing actions " +"to take on specific file descriptors in the child process between the C " +"library implementation's :c:func:`fork` and :c:func:`exec` steps. The first " +"item in each tuple must be one of the three type indicator listed below " +"describing the remaining tuple elements:" +msgstr "" +"Аргумент *file_actions* може бути послідовністю кортежів, що описують дії, " +"які потрібно виконати над певними дескрипторами файлів у дочірньому процесі " +"між кроками :c:func:`fork` і :c:func:`exec` реалізації бібліотеки C. Перший " +"елемент у кожному кортежі має бути одним із трьох наведених нижче " +"індикаторів типу, що описують інші елементи кортежу:" + +msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" +msgstr "(``os.POSIX_SPAWN_OPEN``, *fd*, *шлях*, *прапори*, *режим*)" + +msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." +msgstr "Виконує ``os.dup2(os.open(path, flags, mode), fd)``." + +msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" +msgstr "(``os.POSIX_SPAWN_CLOSE``, *fd*)" + +msgid "Performs ``os.close(fd)``." +msgstr "Виконує ``os.close(fd)``." + +msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" +msgstr "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" + +msgid "Performs ``os.dup2(fd, new_fd)``." +msgstr "Виконує ``os.dup2(fd, new_fd)``." + +msgid "" +"These tuples correspond to the C library :c:func:" +"`posix_spawn_file_actions_addopen`, :c:func:" +"`posix_spawn_file_actions_addclose`, and :c:func:" +"`posix_spawn_file_actions_adddup2` API calls used to prepare for the :c:func:" +"`posix_spawn` call itself." +msgstr "" +"Ці кортежі відповідають викликам API бібліотеки C :c:func:" +"`posix_spawn_file_actions_addopen`, :c:func:" +"`posix_spawn_file_actions_addclose` і :c:func:" +"`posix_spawn_file_actions_adddup2`, які використовуються для підготовки до " +"виклику :c:func:`posix_spawn` себе." + +msgid "" +"The *setpgroup* argument will set the process group of the child to the " +"value specified. If the value specified is 0, the child's process group ID " +"will be made the same as its process ID. If the value of *setpgroup* is not " +"set, the child will inherit the parent's process group ID. This argument " +"corresponds to the C library :c:data:`POSIX_SPAWN_SETPGROUP` flag." +msgstr "" +"Аргумент *setpgroup* встановить групу дочірніх процесів на вказане значення. " +"Якщо вказане значення дорівнює 0, ідентифікатор групи дочірнього процесу " +"буде таким самим, як ідентифікатор її процесу. Якщо значення *setpgroup* не " +"встановлено, дочірній процес успадкує ідентифікатор групи батьківського " +"процесу. Цей аргумент відповідає позначці бібліотеки C :c:data:" +"`POSIX_SPAWN_SETPGROUP`." + +msgid "" +"If the *resetids* argument is ``True`` it will reset the effective UID and " +"GID of the child to the real UID and GID of the parent process. If the " +"argument is ``False``, then the child retains the effective UID and GID of " +"the parent. In either case, if the set-user-ID and set-group-ID permission " +"bits are enabled on the executable file, their effect will override the " +"setting of the effective UID and GID. This argument corresponds to the C " +"library :c:data:`POSIX_SPAWN_RESETIDS` flag." +msgstr "" +"Якщо аргумент *resetids* має значення ``True``, ефективний UID і GID " +"дочірнього процесу буде скинуто до реального UID і GID батьківського " +"процесу. Якщо аргумент ``False``, тоді дочірній елемент зберігає ефективний " +"UID та GID батьківського. У будь-якому випадку, якщо біти дозволу set-user-" +"ID і set-group-ID увімкнуто для виконуваного файлу, їх дія перевизначить " +"налаштування ефективного UID і GID. Цей аргумент відповідає позначці " +"бібліотеки C :c:data:`POSIX_SPAWN_RESETIDS`." + +msgid "" +"If the *setsid* argument is ``True``, it will create a new session ID for " +"``posix_spawn``. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" +"`POSIX_SPAWN_SETSID_NP` flag. Otherwise, :exc:`NotImplementedError` is " +"raised." +msgstr "" + +msgid "" +"The *setsigmask* argument will set the signal mask to the signal set " +"specified. If the parameter is not used, then the child inherits the " +"parent's signal mask. This argument corresponds to the C library :c:data:" +"`POSIX_SPAWN_SETSIGMASK` flag." +msgstr "" +"Аргумент *setsigmask* встановить маску сигналу на вказаний набір сигналів. " +"Якщо параметр не використовується, то нащадок успадковує сигнальну маску " +"батька. Цей аргумент відповідає прапорцю бібліотеки C :c:data:" +"`POSIX_SPAWN_SETSIGMASK`." + +msgid "" +"The *sigdef* argument will reset the disposition of all signals in the set " +"specified. This argument corresponds to the C library :c:data:" +"`POSIX_SPAWN_SETSIGDEF` flag." +msgstr "" +"Аргумент *sigdef* скине розташування всіх сигналів у вказаному наборі. Цей " +"аргумент відповідає позначці бібліотеки C :c:data:`POSIX_SPAWN_SETSIGDEF`." + +msgid "" +"The *scheduler* argument must be a tuple containing the (optional) scheduler " +"policy and an instance of :class:`sched_param` with the scheduler " +"parameters. A value of ``None`` in the place of the scheduler policy " +"indicates that is not being provided. This argument is a combination of the " +"C library :c:data:`POSIX_SPAWN_SETSCHEDPARAM` and :c:data:" +"`POSIX_SPAWN_SETSCHEDULER` flags." +msgstr "" +"Аргумент *scheduler* має бути кортежем, що містить (необов’язкову) політику " +"планувальника та екземпляр :class:`sched_param` з параметрами планувальника. " +"Значення ``None`` замість політики планувальника вказує, що не надається. " +"Цей аргумент є комбінацією прапорів бібліотеки C :c:data:" +"`POSIX_SPAWN_SETSCHEDPARAM` і :c:data:`POSIX_SPAWN_SETSCHEDULER`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " +"``path``, ``argv``, ``env``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.posix_spawn`` з аргументами " +"``path``, ``argv``, ``env``." + +msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python." +msgstr "" +"Обгортає API бібліотеки C :c:func:`posix_spawnp` для використання з Python." + +msgid "" +"Similar to :func:`posix_spawn` except that the system searches for the " +"*executable* file in the list of directories specified by the :envvar:`PATH` " +"environment variable (in the same way as for ``execvp(3)``)." +msgstr "" +"Подібно до :func:`posix_spawn`, за винятком того, що система шукає " +"*виконуваний* файл у списку каталогів, визначених змінною середовища :envvar:" +"`PATH` (так само, як і для ``execvp(3)`` )." + +msgid ":ref:`Availability `: POSIX, not Emscripten, not WASI." +msgstr "" + +msgid "See :func:`posix_spawn` documentation." +msgstr "" + +msgid "" +"Register callables to be executed when a new child process is forked using :" +"func:`os.fork` or similar process cloning APIs. The parameters are optional " +"and keyword-only. Each specifies a different call point." +msgstr "" +"Зареєструйте виклики, які будуть виконуватися, коли новий дочірній процес " +"розгалужується за допомогою :func:`os.fork` або аналогічного API клонування " +"процесу. Параметри є необов’язковими та містять лише ключові слова. Кожен із " +"них визначає окремий пункт виклику." + +msgid "*before* is a function called before forking a child process." +msgstr "" +"*before* — це функція, яка викликається перед розгалуженням дочірнього " +"процесу." + +msgid "" +"*after_in_parent* is a function called from the parent process after forking " +"a child process." +msgstr "" +"*after_in_parent* — це функція, яка викликається з батьківського процесу " +"після розгалуження дочірнього процесу." + +msgid "*after_in_child* is a function called from the child process." +msgstr "*after_in_child* — це функція, яка викликається з дочірнього процесу." + +msgid "" +"These calls are only made if control is expected to return to the Python " +"interpreter. A typical :mod:`subprocess` launch will not trigger them as " +"the child is not going to re-enter the interpreter." +msgstr "" +"Ці виклики здійснюються лише в тому випадку, якщо очікується, що контроль " +"повернеться до інтерпретатора Python. Типовий запуск підпроцесу :mod:" +"`subprocess` не запустить їх, оскільки дитина не збирається повторно входити " +"в інтерпретатор." + +msgid "" +"Functions registered for execution before forking are called in reverse " +"registration order. Functions registered for execution after forking " +"(either in the parent or in the child) are called in registration order." +msgstr "" +"Функції, зареєстровані для виконання перед розгалуженням, викликаються у " +"зворотному порядку реєстрації. Функції, зареєстровані для виконання після " +"розгалуження (або в батьківському, або в дочірньому) викликаються в порядку " +"реєстрації." + +msgid "" +"Note that :c:func:`fork` calls made by third-party C code may not call those " +"functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" +"`PyOS_AfterFork_Parent` and :c:func:`PyOS_AfterFork_Child`." +msgstr "" +"Зауважте, що виклики :c:func:`fork`, здійснені стороннім C-кодом, можуть не " +"викликати ці функції, якщо тільки вони явно не викликають :c:func:" +"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` і :c:func:" +"`PyOS_AfterFork_Child`." + +msgid "There is no way to unregister a function." +msgstr "Немає способу скасувати реєстрацію функції." + +msgid "Execute the program *path* in a new process." +msgstr "Виконайте *шлях* програми в новому процесі." + +msgid "" +"(Note that the :mod:`subprocess` module provides more powerful facilities " +"for spawning new processes and retrieving their results; using that module " +"is preferable to using these functions. Check especially the :ref:" +"`subprocess-replacements` section.)" +msgstr "" +"(Зверніть увагу, що модуль :mod:`subprocess` надає потужніші можливості для " +"створення нових процесів і отримання їх результатів; використання цього " +"модуля є кращим, ніж використання цих функцій. Особливо перевірте розділ :" +"ref:`subprocess-replacements`.)" + +msgid "" +"If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " +"new process; if *mode* is :const:`P_WAIT`, returns the process's exit code " +"if it exits normally, or ``-signal``, where *signal* is the signal that " +"killed the process. On Windows, the process id will actually be the process " +"handle, so can be used with the :func:`waitpid` function." +msgstr "" +"Якщо *mode* :const:`P_NOWAIT`, ця функція повертає ідентифікатор процесу " +"нового процесу; якщо *mode* дорівнює :const:`P_WAIT`, повертає код виходу " +"процесу, якщо він завершується нормально, або ``-signal``, де *signal* є " +"сигналом, який зупинив процес. У Windows ідентифікатор процесу фактично буде " +"ідентифікатором процесу, тому його можна використовувати з функцією :func:" +"`waitpid`." + +msgid "" +"Note on VxWorks, this function doesn't return ``-signal`` when the new " +"process is killed. Instead it raises OSError exception." +msgstr "" +"Зверніть увагу на VxWorks, ця функція не повертає ``-signal``, коли новий " +"процес завершується. Натомість викликає виняток OSError." + +msgid "" +"The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " +"differ in how command-line arguments are passed. The \"l\" variants are " +"perhaps the easiest to work with if the number of parameters is fixed when " +"the code is written; the individual parameters simply become additional " +"parameters to the :func:`spawnl\\*` functions. The \"v\" variants are good " +"when the number of parameters is variable, with the arguments being passed " +"in a list or tuple as the *args* parameter. In either case, the arguments " +"to the child process must start with the name of the command being run." +msgstr "" +"Варіанти \"l\" і \"v\" функцій :func:`spawn\\* ` відрізняються " +"способом передачі аргументів командного рядка. Варіанти \"l\", мабуть, " +"найлегші для роботи, якщо кількість параметрів фіксована під час написання " +"коду; окремі параметри просто стають додатковими параметрами до функцій :" +"func:`spawnl\\*`. Варіанти \"v\" хороші, коли кількість параметрів є " +"змінною, а аргументи передаються у списку або кортежі як параметр *args*. У " +"будь-якому випадку аргументи дочірнього процесу повинні починатися з назви " +"команди, яка виконується." + +msgid "" +"The variants which include a second \"p\" near the end (:func:`spawnlp`, :" +"func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" +"`PATH` environment variable to locate the program *file*. When the " +"environment is being replaced (using one of the :func:`spawn\\*e ` " +"variants, discussed in the next paragraph), the new environment is used as " +"the source of the :envvar:`PATH` variable. The other variants, :func:" +"`spawnl`, :func:`spawnle`, :func:`spawnv`, and :func:`spawnve`, will not use " +"the :envvar:`PATH` variable to locate the executable; *path* must contain an " +"appropriate absolute or relative path." +msgstr "" +"Варіанти, які включають друге \"p\" у кінці (:func:`spawnlp`, :func:" +"`spawnlpe`, :func:`spawnvp` і :func:`spawnvpe`), використовуватимуть :envvar:" +"`PATH` змінна середовища для пошуку *файлу* програми. Під час заміни " +"середовища (з використанням одного з варіантів :func:`spawn\\*e `, " +"розглянутих у наступному параграфі), нове середовище використовується як " +"джерело змінної :envvar:`PATH`. Інші варіанти, :func:`spawnl`, :func:" +"`spawnle`, :func:`spawnv` і :func:`spawnve`, не використовуватимуть змінну :" +"envvar:`PATH` для пошуку виконуваного файлу; *path* повинен містити " +"відповідний абсолютний або відносний шлях." + +msgid "" +"For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " +"(note that these all end in \"e\"), the *env* parameter must be a mapping " +"which is used to define the environment variables for the new process (they " +"are used instead of the current process' environment); the functions :func:" +"`spawnl`, :func:`spawnlp`, :func:`spawnv`, and :func:`spawnvp` all cause the " +"new process to inherit the environment of the current process. Note that " +"keys and values in the *env* dictionary must be strings; invalid keys or " +"values will cause the function to fail, with a return value of ``127``." +msgstr "" +"Для :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve` і :func:`spawnvpe` " +"(зауважте, що всі вони закінчуються на \"e\"), параметр *env* має бути " +"відображенням який використовується для визначення змінних середовища для " +"нового процесу (вони використовуються замість середовища поточного процесу); " +"функції :func:`spawnl`, :func:`spawnlp`, :func:`spawnv` і :func:`spawnvp` " +"змушують новий процес успадковувати середовище поточного процесу. Зауважте, " +"що ключі та значення у словнику *env* мають бути рядками; недійсні ключі або " +"значення призведуть до помилки функції з поверненням значення ``127``." + +msgid "" +"As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " +"are equivalent::" +msgstr "" +"Як приклад, наступні виклики :func:`spawnlp` і :func:`spawnvpe` є " +"еквівалентними:" + +msgid "" +"Raises an :ref:`auditing event ` ``os.spawn`` with arguments " +"``mode``, ``path``, ``args``, ``env``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.spawn`` з аргументами ``mode``, " +"``path``, ``args``, ``env``." + +msgid "" +":func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are " +"not available on Windows. :func:`spawnle` and :func:`spawnve` are not " +"thread-safe on Windows; we advise you to use the :mod:`subprocess` module " +"instead." +msgstr "" + +msgid "" +"Possible values for the *mode* parameter to the :func:`spawn\\* ` " +"family of functions. If either of these values is given, the :func:`spawn" +"\\*` functions will return as soon as the new process has been created, with " +"the process id as the return value." +msgstr "" +"Можливі значення для параметра *mode* для сімейства функцій :func:`spawn\\* " +"`. Якщо задано будь-яке з цих значень, функції :func:`spawn\\*` " +"повернуться, щойно буде створено новий процес, з ідентифікатором процесу як " +"значенням, що повертається." + +msgid "" +"Possible value for the *mode* parameter to the :func:`spawn\\* ` " +"family of functions. If this is given as *mode*, the :func:`spawn\\*` " +"functions will not return until the new process has run to completion and " +"will return the exit code of the process the run is successful, or ``-" +"signal`` if a signal kills the process." +msgstr "" +"Можливе значення для параметра *mode* для сімейства функцій :func:`spawn\\* " +"`. Якщо це вказано як *mode*, функції :func:`spawn\\*` не " +"повернуться, доки новий процес не буде виконано до завершення, і повернеться " +"код виходу процесу, запущений успішно, або ``-signal`` якщо сигнал вбиває " +"процес." + +msgid "" +"Possible values for the *mode* parameter to the :func:`spawn\\* ` " +"family of functions. These are less portable than those listed above. :" +"const:`P_DETACH` is similar to :const:`P_NOWAIT`, but the new process is " +"detached from the console of the calling process. If :const:`P_OVERLAY` is " +"used, the current process will be replaced; the :func:`spawn\\* ` " +"function will not return." +msgstr "" +"Можливі значення для параметра *mode* для сімейства функцій :func:`spawn\\* " +"`. Вони менш портативні, ніж перелічені вище. :const:`P_DETACH` " +"подібний до :const:`P_NOWAIT`, але новий процес від’єднується від консолі " +"процесу, що викликає. Якщо :const:`P_OVERLAY` використовується, поточний " +"процес буде замінено; функція :func:`spawn\\* ` не повернеться." + +msgid "Start a file with its associated application." +msgstr "Запустіть файл із пов’язаною програмою." + +msgid "" +"When *operation* is not specified or ``'open'``, this acts like double-" +"clicking the file in Windows Explorer, or giving the file name as an " +"argument to the :program:`start` command from the interactive command shell: " +"the file is opened with whatever application (if any) its extension is " +"associated." +msgstr "" +"Якщо *operation* не вказано або ``'open'``, це діє як подвійне клацання " +"файлу в Провіднику Windows або надання імені файлу як аргументу команді :" +"program:`start` з інтерактивної командної оболонки : файл відкривається будь-" +"якою програмою (якщо є), з якою пов’язано його розширення." + +msgid "" +"When another *operation* is given, it must be a \"command verb\" that " +"specifies what should be done with the file. Common verbs documented by " +"Microsoft are ``'print'`` and ``'edit'`` (to be used on files) as well as " +"``'explore'`` and ``'find'`` (to be used on directories)." +msgstr "" +"Коли надана інша *операція*, це має бути \"командне дієслово\", яке вказує, " +"що слід робити з файлом. Поширеними дієсловами, задокументованими Microsoft, " +"є ``'print'`` і ``'edit'`` (для використання у файлах), а також " +"``'explore'`` і ``'find'`` (для використання в довідниках)." + +msgid "" +"When launching an application, specify *arguments* to be passed as a single " +"string. This argument may have no effect when using this function to launch " +"a document." +msgstr "" +"Під час запуску програми вкажіть *аргументи*, які передаються як один рядок. " +"Цей аргумент може не мати ефекту під час використання цієї функції для " +"запуску документа." + +msgid "" +"The default working directory is inherited, but may be overridden by the " +"*cwd* argument. This should be an absolute path. A relative *path* will be " +"resolved against this argument." +msgstr "" +"Робочий каталог за замовчуванням успадковується, але може бути " +"перевизначений аргументом *cwd*. Це має бути абсолютний шлях. Відносний " +"*шлях* буде вирішено проти цього аргументу." + +msgid "" +"Use *show_cmd* to override the default window style. Whether this has any " +"effect will depend on the application being launched. Values are integers as " +"supported by the Win32 :c:func:`ShellExecute` function." +msgstr "" +"Використовуйте *show_cmd*, щоб змінити стиль вікна за замовчуванням. Чи " +"матиме це якийсь ефект, залежатиме від запущеної програми. Значення є цілими " +"числами, що підтримується функцією Win32 :c:func:`ShellExecute`." + +msgid "" +":func:`startfile` returns as soon as the associated application is launched. " +"There is no option to wait for the application to close, and no way to " +"retrieve the application's exit status. The *path* parameter is relative to " +"the current directory or *cwd*. If you want to use an absolute path, make " +"sure the first character is not a slash (``'/'``) Use :mod:`pathlib` or " +"the :func:`os.path.normpath` function to ensure that paths are properly " +"encoded for Win32." +msgstr "" +":func:`startfile` повертається, щойно буде запущено відповідну програму. " +"Немає можливості чекати, поки програма закриється, і немає способу отримати " +"статус виходу програми. Параметр *path* відноситься до поточного каталогу " +"або *cwd*. Якщо ви хочете використовувати абсолютний шлях, переконайтеся, що " +"перший символ не є скісною рискою (``'/'``). Використовуйте :mod:`pathlib` " +"або функцію :func:`os.path.normpath`, щоб переконатися, що шляхи правильно " +"закодовані для Win32." + +msgid "" +"To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` " +"function is not resolved until this function is first called. If the " +"function cannot be resolved, :exc:`NotImplementedError` will be raised." +msgstr "" +"Щоб зменшити навантаження на запуск інтерпретатора, функція Win32 :c:func:" +"`ShellExecute` не вирішується, доки ця функція не буде викликана вперше. " +"Якщо функцію не вдається розв’язати, виникне :exc:`NotImplementedError`." + +msgid "" +"Raises an :ref:`auditing event ` ``os.startfile`` with arguments " +"``path``, ``operation``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.startfile`` з аргументами " +"``path``, ``operation``." + +msgid "" +"Raises an :ref:`auditing event ` ``os.startfile/2`` with arguments " +"``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.startfile/2`` з аргументами " +"``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd`` ." + +msgid "" +"Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." +"startfile/2`` audit event." +msgstr "" +"Додано аргументи *arguments*, *cwd* і *show_cmd* і подію аудиту ``os." +"startfile/2``." + +msgid "" +"Execute the command (a string) in a subshell. This is implemented by " +"calling the Standard C function :c:func:`system`, and has the same " +"limitations. Changes to :data:`sys.stdin`, etc. are not reflected in the " +"environment of the executed command. If *command* generates any output, it " +"will be sent to the interpreter standard output stream. The C standard does " +"not specify the meaning of the return value of the C function, so the return " +"value of the Python function is system-dependent." +msgstr "" +"Виконайте команду (рядок) у підоболонці. Це реалізується шляхом виклику " +"стандартної функції C :c:func:`system` і має ті самі обмеження. Зміни в :" +"data:`sys.stdin` тощо не відображаються в середовищі виконуваної команди. " +"Якщо *команда* генерує будь-який вихід, він буде надісланий до стандартного " +"потоку виводу інтерпретатора. Стандарт C не визначає значення значення, що " +"повертається функцією C, тому значення, що повертається функцією Python, " +"залежить від системи." + +msgid "" +"On Unix, the return value is the exit status of the process encoded in the " +"format specified for :func:`wait`." +msgstr "" +"В Unix значення, що повертається, є статусом завершення процесу, закодованим " +"у форматі, указаному для :func:`wait`." + +msgid "" +"On Windows, the return value is that returned by the system shell after " +"running *command*. The shell is given by the Windows environment variable :" +"envvar:`COMSPEC`: it is usually :program:`cmd.exe`, which returns the exit " +"status of the command run; on systems using a non-native shell, consult your " +"shell documentation." +msgstr "" +"У Windows повертається значення, яке повертає системна оболонка після " +"виконання *команди*. Оболонка визначається змінною середовища Windows :" +"envvar:`COMSPEC`: зазвичай це :program:`cmd.exe`, яка повертає статус " +"завершення виконання команди; у системах, які використовують нерідну " +"оболонку, зверніться до документації вашої оболонки." + +msgid "" +"The :mod:`subprocess` module provides more powerful facilities for spawning " +"new processes and retrieving their results; using that module is preferable " +"to using this function. See the :ref:`subprocess-replacements` section in " +"the :mod:`subprocess` documentation for some helpful recipes." +msgstr "" +"Модуль :mod:`subprocess` надає потужніші можливості для створення нових " +"процесів і отримання їх результатів; використовувати цей модуль краще, ніж " +"використовувати цю функцію. Перегляньте розділ :ref:`subprocess-" +"replacements` в документації :mod:`subprocess`, щоб знайти кілька корисних " +"рецептів." + +msgid "" +"On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result " +"(exit status) into an exit code. On Windows, the result is directly the exit " +"code." +msgstr "" +"В Unix :func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"результату (статус виходу) у код виходу. У Windows результатом є " +"безпосередньо код виходу." + +msgid "" +"Raises an :ref:`auditing event ` ``os.system`` with argument " +"``command``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``os.system`` з аргументом " +"``command``." + +msgid "" +"Returns the current global process times. The return value is an object with " +"five attributes:" +msgstr "" +"Повертає поточний глобальний час процесу. Повернене значення є об’єктом із " +"п’ятьма атрибутами:" + +msgid ":attr:`!user` - user time" +msgstr ":attr:`!user` - час користувача" + +msgid ":attr:`!system` - system time" +msgstr ":attr:`!system` - системний час" + +msgid ":attr:`!children_user` - user time of all child processes" +msgstr ":attr:`!children_user` - час користувача всіх дочірніх процесів" + +msgid ":attr:`!children_system` - system time of all child processes" +msgstr ":attr:`!children_system` - системний час усіх дочірніх процесів" + +msgid ":attr:`!elapsed` - elapsed real time since a fixed point in the past" +msgstr "" +":attr:`!elapsed` - реальний час, що минув від фіксованої точки в минулому" + +msgid "" +"For backwards compatibility, this object also behaves like a five-tuple " +"containing :attr:`!user`, :attr:`!system`, :attr:`!children_user`, :attr:`!" +"children_system`, and :attr:`!elapsed` in that order." +msgstr "" +"Для зворотної сумісності цей об’єкт також поводиться як п’ять кортежів, що " +"містять :attr:`!user`, :attr:`!system`, :attr:`!children_user`, :attr:`!" +"children_system` і :attr:`!минало` в такому порядку." + +msgid "" +"See the Unix manual page :manpage:`times(2)` and `times(3) `_ manual page on Unix or `the " +"GetProcessTimes MSDN `_ on Windows. On " +"Windows, only :attr:`!user` and :attr:`!system` are known; the other " +"attributes are zero." +msgstr "" + +msgid "" +"Wait for completion of a child process, and return a tuple containing its " +"pid and exit status indication: a 16-bit number, whose low byte is the " +"signal number that killed the process, and whose high byte is the exit " +"status (if the signal number is zero); the high bit of the low byte is set " +"if a core file was produced." +msgstr "" +"Зачекайте на завершення дочірнього процесу та поверніть кортеж, що містить " +"його pid та індикацію статусу виходу: 16-розрядне число, чий молодший байт є " +"номером сигналу, що вбив процес, а старший байт є статусом виходу (якщо " +"сигнал число дорівнює нулю); старший біт молодшого байта встановлюється, " +"якщо було створено основний файл." + +msgid "" +":func:`waitstatus_to_exitcode` can be used to convert the exit status into " +"an exit code." +msgstr "" +":func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"статусу виходу в код виходу." + +msgid "" +":func:`waitpid` can be used to wait for the completion of a specific child " +"process and has more options." +msgstr "" +":func:`waitpid` можна використовувати для очікування завершення певного " +"дочірнього процесу та має більше параметрів." + +msgid "" +"Wait for the completion of one or more child processes. *idtype* can be :" +"data:`P_PID`, :data:`P_PGID`, :data:`P_ALL`, or :data:`P_PIDFD` on Linux. " +"*id* specifies the pid to wait on. *options* is constructed from the ORing " +"of one or more of :data:`WEXITED`, :data:`WSTOPPED` or :data:`WCONTINUED` " +"and additionally may be ORed with :data:`WNOHANG` or :data:`WNOWAIT`. The " +"return value is an object representing the data contained in the :c:type:" +"`siginfo_t` structure, namely: :attr:`si_pid`, :attr:`si_uid`, :attr:" +"`si_signo`, :attr:`si_status`, :attr:`si_code` or ``None`` if :data:" +"`WNOHANG` is specified and there are no children in a waitable state." +msgstr "" +"Дочекайтеся завершення одного або кількох дочірніх процесів. *idtype* може " +"бути :data:`P_PID`, :data:`P_PGID`, :data:`P_ALL` або :data:`P_PIDFD` в " +"Linux. *id* вказує pid, на який потрібно чекати. *параметри* складаються з " +"операції АБО одного чи кількох :data:`WEXITED`, :data:`WSTOPPED` або :data:" +"`WCONTINUED` і додатково можуть бути об’єднані АБО за допомогою :data:" +"`WNOHANG` або :data:`WNOWAIT`. Повернене значення — це об’єкт, що " +"представляє дані, що містяться в структурі :c:type:`siginfo_t`, а саме: :" +"attr:`si_pid`, :attr:`si_uid`, :attr:`si_signo`, :attr:`si_status`, :attr:" +"`si_code` або ``None``, якщо вказано :data:`WNOHANG` і немає дітей у стані " +"очікування." + +msgid "" +"These are the possible values for *idtype* in :func:`waitid`. They affect " +"how *id* is interpreted." +msgstr "" +"Це можливі значення для *idtype* у :func:`waitid`. Вони впливають на " +"інтерпретацію *id*." + +msgid "" +"This is a Linux-specific *idtype* that indicates that *id* is a file " +"descriptor that refers to a process." +msgstr "" +"Це специфічний *idtype* для Linux, який вказує, що *id* є дескриптором " +"файлу, який посилається на процес." + +msgid ":ref:`Availability `: Linux >= 5.4" +msgstr "" + +msgid "" +"Flags that can be used in *options* in :func:`waitid` that specify what " +"child signal to wait for." +msgstr "" +"Прапорці, які можна використовувати в *параметрах* у :func:`waitid`, які " +"вказують, який дочірній сигнал чекати." + +msgid "" +"These are the possible values for :attr:`si_code` in the result returned by :" +"func:`waitid`." +msgstr "" +"Це можливі значення для :attr:`si_code` у результаті, який повертає :func:" +"`waitid`." + +msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." +msgstr "Додано значення :data:`CLD_KILLED` і :data:`CLD_STOPPED`." + +msgid "The details of this function differ on Unix and Windows." +msgstr "Деталі цієї функції відрізняються в Unix і Windows." + +msgid "" +"On Unix: Wait for completion of a child process given by process id *pid*, " +"and return a tuple containing its process id and exit status indication " +"(encoded as for :func:`wait`). The semantics of the call are affected by " +"the value of the integer *options*, which should be ``0`` for normal " +"operation." +msgstr "" +"В Unix: зачекайте на завершення дочірнього процесу, заданого ідентифікатором " +"процесу *pid*, і поверніть кортеж, що містить ідентифікатор його процесу та " +"вказівку статусу виходу (закодовано як для :func:`wait`). На семантику " +"виклику впливає значення цілого числа *options*, яке має бути ``0`` для " +"нормальної роботи." + +msgid "" +"If *pid* is greater than ``0``, :func:`waitpid` requests status information " +"for that specific process. If *pid* is ``0``, the request is for the status " +"of any child in the process group of the current process. If *pid* is " +"``-1``, the request pertains to any child of the current process. If *pid* " +"is less than ``-1``, status is requested for any process in the process " +"group ``-pid`` (the absolute value of *pid*)." +msgstr "" +"Якщо *pid* більший за ``0``, :func:`waitpid` запитує інформацію про статус " +"для цього конкретного процесу. Якщо *pid* дорівнює ``0``, запит стосується " +"статусу будь-якого дочірнього елемента в групі поточного процесу. Якщо *pid* " +"має значення ``-1``, запит стосується будь-якого дочірнього процесу " +"поточного процесу. Якщо *pid* менший за ``-1``, статус запитується для будь-" +"якого процесу в групі процесів ``-pid`` (абсолютне значення *pid*)." + +msgid "" +"An :exc:`OSError` is raised with the value of errno when the syscall returns " +"-1." +msgstr "" +"Коли системний виклик повертає -1, виникає :exc:`OSError` зі значенням errno." + +msgid "" +"On Windows: Wait for completion of a process given by process handle *pid*, " +"and return a tuple containing *pid*, and its exit status shifted left by 8 " +"bits (shifting makes cross-platform use of the function easier). A *pid* " +"less than or equal to ``0`` has no special meaning on Windows, and raises an " +"exception. The value of integer *options* has no effect. *pid* can refer to " +"any process whose id is known, not necessarily a child process. The :func:" +"`spawn\\* ` functions called with :const:`P_NOWAIT` return suitable " +"process handles." +msgstr "" +"У Windows: дочекайтеся завершення процесу, заданого дескриптором процесу " +"*pid*, і поверніть кортеж, що містить *pid*, а його статус виходу зміщений " +"вліво на 8 біт (зміщення полегшує використання функції на різних " +"платформах). *pid* менше або дорівнює ``0`` не має особливого значення в " +"Windows і викликає виключення. Значення цілого *параметра* не впливає. *pid* " +"може посилатися на будь-який процес, ідентифікатор якого відомий, не " +"обов’язково дочірній процес. Функції :func:`spawn\\* `, викликані за " +"допомогою :const:`P_NOWAIT`, повертають відповідні дескриптори процесу." + +msgid "" +"Similar to :func:`waitpid`, except no process id argument is given and a 3-" +"element tuple containing the child's process id, exit status indication, and " +"resource usage information is returned. Refer to :mod:`resource`.\\ :func:" +"`~resource.getrusage` for details on resource usage information. The option " +"argument is the same as that provided to :func:`waitpid` and :func:`wait4`." +msgstr "" +"Подібно до :func:`waitpid`, за винятком того, що аргумент ідентифікатора " +"процесу не надається, а повертається 3-елементний кортеж, що містить " +"ідентифікатор дочірнього процесу, індикацію статусу виходу та інформацію про " +"використання ресурсів. Зверніться до :mod:`resource`.\\ :func:`~resource." +"getrusage` для отримання детальної інформації про використання ресурсу. " +"Аргумент параметра такий самий, як і той, що надається для :func:`waitpid` " +"і :func:`wait4`." + +msgid "" +":func:`waitstatus_to_exitcode` can be used to convert the exit status into " +"an exitcode." +msgstr "" +":func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"статусу виходу в код виходу." + +msgid "" +"Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " +"process id, exit status indication, and resource usage information is " +"returned. Refer to :mod:`resource`.\\ :func:`~resource.getrusage` for " +"details on resource usage information. The arguments to :func:`wait4` are " +"the same as those provided to :func:`waitpid`." +msgstr "" +"Подібно до :func:`waitpid`, за винятком того, що повертається 3-елементний " +"кортеж, який містить ідентифікатор дочірнього процесу, індикацію статусу " +"виходу та інформацію про використання ресурсів. Зверніться до :mod:" +"`resource`.\\ :func:`~resource.getrusage` для отримання детальної інформації " +"про використання ресурсу. Аргументи для :func:`wait4` такі самі, як і для :" +"func:`waitpid`." + +msgid "Convert a wait status to an exit code." +msgstr "Перетворення статусу очікування на код виходу." + +msgid "On Unix:" +msgstr "В Unix:" + +msgid "" +"If the process exited normally (if ``WIFEXITED(status)`` is true), return " +"the process exit status (return ``WEXITSTATUS(status)``): result greater " +"than or equal to 0." +msgstr "" +"Якщо процес закінчився нормально (якщо ``WIFEXITED(статус)`` має значення " +"true), повертає статус виходу процесу (повертає ``WEXITSTATUS(статус)``): " +"результат більше або дорівнює 0." + +msgid "" +"If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " +"true), return ``-signum`` where *signum* is the number of the signal that " +"caused the process to terminate (return ``-WTERMSIG(status)``): result less " +"than 0." +msgstr "" +"Якщо процес було припинено через сигнал (якщо ``WIFSIGNALED(status)`` має " +"значення true), повертає ``-signum``, де *signum* — це номер сигналу, який " +"спричинив завершення процесу (повертає ``- WTERMSIG(статус)``): результат " +"менше 0." + +msgid "Otherwise, raise a :exc:`ValueError`." +msgstr "Інакше викличте :exc:`ValueError`." + +msgid "On Windows, return *status* shifted right by 8 bits." +msgstr "У Windows повертає *статус*, зміщений праворуч на 8 біт." + +msgid "" +"On Unix, if the process is being traced or if :func:`waitpid` was called " +"with :data:`WUNTRACED` option, the caller must first check if " +"``WIFSTOPPED(status)`` is true. This function must not be called if " +"``WIFSTOPPED(status)`` is true." +msgstr "" +"В Unix, якщо процес відстежується або якщо :func:`waitpid` було викликано з " +"опцією :data:`WUNTRACED`, абонент повинен спочатку перевірити, чи " +"``WIFSTOPPED(status)`` є істинним. Цю функцію не можна викликати, якщо " +"``WIFSTOPPED(статус)`` має значення true." + +msgid "" +":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" +"`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." +msgstr "" +"Функції :func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" +"`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG`." + +msgid "" +"The option for :func:`waitpid` to return immediately if no child process " +"status is available immediately. The function returns ``(0, 0)`` in this " +"case." +msgstr "" +"Опція для :func:`waitpid` негайного повернення, якщо статус дочірнього " +"процесу не доступний негайно. У цьому випадку функція повертає ``(0, 0)``." + +msgid "" +"This option causes child processes to be reported if they have been " +"continued from a job control stop since their status was last reported." +msgstr "" +"Цей параметр спричиняє надсилання звітів про дочірні процеси, якщо вони були " +"продовжені після зупинки керування завданнями після останнього повідомлення " +"про їхній статус." + +msgid "Some Unix systems." +msgstr "" + +msgid "" +"This option causes child processes to be reported if they have been stopped " +"but their current state has not been reported since they were stopped." +msgstr "" +"Ця опція спричиняє надсилання звітів про дочірні процеси, якщо їх було " +"зупинено, але їхній поточний стан не повідомлявся після їх зупинки." + +msgid "" +"The following functions take a process status code as returned by :func:" +"`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used " +"to determine the disposition of a process." +msgstr "" +"Наступні функції приймають код стану процесу, який повертає :func:`system`, :" +"func:`wait` або :func:`waitpid` як параметр. Вони можуть бути використані " +"для визначення розташування процесу." + +msgid "" +"Return ``True`` if a core dump was generated for the process, otherwise " +"return ``False``." +msgstr "" +"Повертає ``True``, якщо для процесу було створено дамп ядра, інакше повертає " +"``False``." + +msgid "This function should be employed only if :func:`WIFSIGNALED` is true." +msgstr "" +"Цю функцію слід використовувати, лише якщо :func:`WIFSIGNALED` має значення " +"true." + +msgid "" +"Return ``True`` if a stopped child has been resumed by delivery of :data:" +"`~signal.SIGCONT` (if the process has been continued from a job control " +"stop), otherwise return ``False``." +msgstr "" +"Повертає ``True``, якщо зупинений дочірній елемент було відновлено " +"доставкою :data:`~signal.SIGCONT` (якщо процес було продовжено після зупинки " +"керування завданням), інакше повертає ``False``." + +msgid "See :data:`WCONTINUED` option." +msgstr "Перегляньте параметр :data:`WCONTINUED`." + +msgid "" +"Return ``True`` if the process was stopped by delivery of a signal, " +"otherwise return ``False``." +msgstr "" +"Повертає ``True``, якщо процес було зупинено доставкою сигналу, інакше " +"повертає ``False``." + +msgid "" +":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " +"done using :data:`WUNTRACED` option or when the process is being traced " +"(see :manpage:`ptrace(2)`)." +msgstr "" +":func:`WIFSTOPPED` повертає ``True``, лише якщо виклик :func:`waitpid` було " +"виконано за допомогою параметра :data:`WUNTRACED` або коли процес " +"відстежується (див. :manpage:`ptrace(2)` )." + +msgid "" +"Return ``True`` if the process was terminated by a signal, otherwise return " +"``False``." +msgstr "" +"Повертає ``True``, якщо процес було припинено сигналом, інакше повертає " +"``False``." + +msgid "" +"Return ``True`` if the process exited terminated normally, that is, by " +"calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " +"otherwise return ``False``." +msgstr "" +"Повертає ``True``, якщо процес завершився нормально, тобто викликом " +"``exit()`` чи ``_exit()``, або шляхом повернення з ``main()``; інакше " +"повертає ``False``." + +msgid "Return the process exit status." +msgstr "Повернути статус виходу процесу." + +msgid "This function should be employed only if :func:`WIFEXITED` is true." +msgstr "" +"Цю функцію слід використовувати, лише якщо :func:`WIFEXITED` має значення " +"true." + +msgid "Return the signal which caused the process to stop." +msgstr "Повернути сигнал, який спричинив зупинку процесу." + +msgid "This function should be employed only if :func:`WIFSTOPPED` is true." +msgstr "" +"Цю функцію слід використовувати, лише якщо :func:`WIFSTOPPED` має значення " +"true." + +msgid "Return the number of the signal that caused the process to terminate." +msgstr "Повертає номер сигналу, який викликав завершення процесу." + +msgid "Interface to the scheduler" +msgstr "Інтерфейс до планувальника" + +msgid "" +"These functions control how a process is allocated CPU time by the operating " +"system. They are only available on some Unix platforms. For more detailed " +"information, consult your Unix manpages." +msgstr "" +"Ці функції контролюють, як процес розподіляє процесорний час операційною " +"системою. Вони доступні лише на деяких платформах Unix. Щоб отримати " +"детальнішу інформацію, зверніться до сторінок довідки Unix." + +msgid "" +"The following scheduling policies are exposed if they are supported by the " +"operating system." +msgstr "" +"Наведені нижче політики планування доступні, якщо вони підтримуються " +"операційною системою." + +msgid "The default scheduling policy." +msgstr "Політика планування за умовчанням." + +msgid "" +"Scheduling policy for CPU-intensive processes that tries to preserve " +"interactivity on the rest of the computer." +msgstr "" +"Політика планування процесів із інтенсивним використанням ЦП, яка " +"намагається зберегти інтерактивність решти комп’ютера." + +msgid "Scheduling policy for extremely low priority background tasks." +msgstr "" +"Політика планування для фонових завдань із надзвичайно низьким пріоритетом." + +msgid "Scheduling policy for sporadic server programs." +msgstr "Політика планування для спорадичних серверних програм." + +msgid "A First In First Out scheduling policy." +msgstr "Політика планування за принципом \"перший прийшов - перший вийшов\"." + +msgid "A round-robin scheduling policy." +msgstr "Політика циклічного планування." + +msgid "" +"This flag can be OR'ed with any other scheduling policy. When a process with " +"this flag set forks, its child's scheduling policy and priority are reset to " +"the default." +msgstr "" +"Цей прапорець можна об’єднати з будь-якою іншою політикою планування. Коли " +"процес із цим прапорцем розгалужується, його політика планування та " +"пріоритет скидаються до стандартних." + +msgid "" +"This class represents tunable scheduling parameters used in :func:" +"`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " +"is immutable." +msgstr "" +"Цей клас представляє настроювані параметри планування, які використовуються " +"в :func:`sched_setparam`, :func:`sched_setscheduler` і :func:" +"`sched_getparam`. Це незмінно." + +msgid "At the moment, there is only one possible parameter:" +msgstr "На даний момент можливий лише один параметр:" + +msgid "The scheduling priority for a scheduling policy." +msgstr "Пріоритет планування для політики планування." + +msgid "" +"Get the minimum priority value for *policy*. *policy* is one of the " +"scheduling policy constants above." +msgstr "" +"Отримайте мінімальне значення пріоритету для *політики*. *policy* є однією з " +"наведених вище констант політики планування." + +msgid "" +"Get the maximum priority value for *policy*. *policy* is one of the " +"scheduling policy constants above." +msgstr "" +"Отримайте максимальне значення пріоритету для *політики*. *policy* є однією " +"з наведених вище констант політики планування." + +msgid "" +"Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means " +"the calling process. *policy* is one of the scheduling policy constants " +"above. *param* is a :class:`sched_param` instance." +msgstr "" +"Встановіть політику планування для процесу за допомогою PID *pid*. *pid*, " +"рівний 0, означає процес виклику. *policy* — це одна з наведених вище " +"констант політики планування. *param* є екземпляром :class:`sched_param`." + +msgid "" +"Return the scheduling policy for the process with PID *pid*. A *pid* of 0 " +"means the calling process. The result is one of the scheduling policy " +"constants above." +msgstr "" +"Повернути політику планування для процесу з PID *pid*. *pid*, рівний 0, " +"означає процес виклику. Результатом є одна з наведених вище констант " +"політики планування." + +msgid "" +"Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 " +"means the calling process. *param* is a :class:`sched_param` instance." +msgstr "" +"Встановіть параметри планування для процесу за допомогою PID *pid*. *pid*, " +"рівний 0, означає процес виклику. *param* є екземпляром :class:`sched_param`." + +msgid "" +"Return the scheduling parameters as a :class:`sched_param` instance for the " +"process with PID *pid*. A *pid* of 0 means the calling process." +msgstr "" +"Поверніть параметри планування як екземпляр :class:`sched_param` для процесу " +"з PID *pid*. *pid*, рівний 0, означає процес виклику." + +msgid "" +"Return the round-robin quantum in seconds for the process with PID *pid*. A " +"*pid* of 0 means the calling process." +msgstr "" +"Повертайте циклічний квант за секунди для процесу з PID *pid*. *pid*, рівний " +"0, означає процес виклику." + +msgid "Voluntarily relinquish the CPU." +msgstr "Добровільно відмовитися від ЦП." + +msgid "" +"Restrict the process with PID *pid* (or the current process if zero) to a " +"set of CPUs. *mask* is an iterable of integers representing the set of CPUs " +"to which the process should be restricted." +msgstr "" +"Обмежте процес за допомогою PID *pid* (або поточного процесу, якщо дорівнює " +"нулю) набору ЦП. *mask* — це ітерація цілих чисел, що представляють набір " +"процесорів, якими має бути обмежений процес." + +msgid "" +"Return the set of CPUs the process with PID *pid* (or the current process if " +"zero) is restricted to." +msgstr "" +"Повертає набір процесорів, до яких обмежено процес із PID *pid* (або " +"поточний процес, якщо він нульовий)." + +msgid "Miscellaneous System Information" +msgstr "Різна системна інформація" + +msgid "" +"Return string-valued system configuration values. *name* specifies the " +"configuration value to retrieve; it may be a string which is the name of a " +"defined system value; these names are specified in a number of standards " +"(POSIX, Unix 95, Unix 98, and others). Some platforms define additional " +"names as well. The names known to the host operating system are given as the " +"keys of the ``confstr_names`` dictionary. For configuration variables not " +"included in that mapping, passing an integer for *name* is also accepted." +msgstr "" +"Повертає рядкові значення конфігурації системи. *name* вказує значення " +"конфігурації для отримання; це може бути рядок, який є назвою визначеного " +"системного значення; ці імена вказані в ряді стандартів (POSIX, Unix 95, " +"Unix 98 та ін.). Деякі платформи також визначають додаткові імена. Імена, " +"відомі головній операційній системі, надаються як ключі словника " +"``confstr_names``. Для змінних конфігурації, не включених до цього " +"відображення, також допускається передача цілого числа для *name*." + +msgid "" +"If the configuration value specified by *name* isn't defined, ``None`` is " +"returned." +msgstr "" +"Якщо значення конфігурації, указане *name*, не визначено, повертається " +"``None``." + +msgid "" +"If *name* is a string and is not known, :exc:`ValueError` is raised. If a " +"specific value for *name* is not supported by the host system, even if it is " +"included in ``confstr_names``, an :exc:`OSError` is raised with :const:" +"`errno.EINVAL` for the error number." +msgstr "" +"Якщо *name* є рядком і невідоме, виникає :exc:`ValueError`. Якщо певне " +"значення для *name* не підтримується хост-системою, навіть якщо воно " +"включене в ``confstr_names``, виникає :exc:`OSError` з :const:`errno.EINVAL` " +"для номера помилки ." + +msgid "" +"Dictionary mapping names accepted by :func:`confstr` to the integer values " +"defined for those names by the host operating system. This can be used to " +"determine the set of names known to the system." +msgstr "" +"Словник зіставляє імена, прийняті :func:`confstr`, до цілих значень, " +"визначених для цих імен головною операційною системою. Це можна " +"використовувати для визначення набору імен, відомих системі." + +msgid "" +"Return the number of CPUs in the system. Returns ``None`` if undetermined." +msgstr "" +"Повертає кількість процесорів у системі. Повертає ``None``, якщо не " +"визначено." + +msgid "" +"This number is not equivalent to the number of CPUs the current process can " +"use. The number of usable CPUs can be obtained with ``len(os." +"sched_getaffinity(0))``" +msgstr "" +"Це число не еквівалентно кількості ЦП, які може використовувати поточний " +"процес. Кількість доступних ЦП можна отримати за допомогою ``len(os." +"sched_getaffinity(0))``" + +msgid "" +"Return the number of processes in the system run queue averaged over the " +"last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was " +"unobtainable." +msgstr "" +"Повертає середню кількість процесів у черзі виконання системи за останні 1, " +"5 і 15 хвилин або викликає :exc:`OSError`, якщо середнє значення " +"завантаження неможливо отримати." + +msgid "" +"Return integer-valued system configuration values. If the configuration " +"value specified by *name* isn't defined, ``-1`` is returned. The comments " +"regarding the *name* parameter for :func:`confstr` apply here as well; the " +"dictionary that provides information on the known names is given by " +"``sysconf_names``." +msgstr "" +"Повертає цілочисельні значення конфігурації системи. Якщо значення " +"конфігурації, указане *name*, не визначено, повертається ``-1``. Коментарі " +"щодо параметра *name* для :func:`confstr` також застосовуються тут; словник, " +"який надає інформацію про відомі імена, надається ``sysconf_names``." + +msgid "" +"Dictionary mapping names accepted by :func:`sysconf` to the integer values " +"defined for those names by the host operating system. This can be used to " +"determine the set of names known to the system." +msgstr "" +"Словник зіставляє імена, прийняті :func:`sysconf`, до цілих значень, " +"визначених для цих імен головною операційною системою. Це можна " +"використовувати для визначення набору імен, відомих системі." + +msgid "Add ``'SC_MINSIGSTKSZ'`` name." +msgstr "" + +msgid "" +"The following data values are used to support path manipulation operations. " +"These are defined for all platforms." +msgstr "" +"Наступні значення даних використовуються для підтримки операцій " +"маніпулювання шляхом. Вони визначені для всіх платформ." + +msgid "" +"Higher-level operations on pathnames are defined in the :mod:`os.path` " +"module." +msgstr "" +"Операції вищого рівня над іменами шляхів визначені в модулі :mod:`os.path`." + +msgid "" +"The constant string used by the operating system to refer to the current " +"directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:" +"`os.path`." +msgstr "" +"Постійний рядок, який використовується операційною системою для посилання на " +"поточний каталог. Це ``'.'`` для Windows і POSIX. Також доступний через :mod:" +"`os.path`." + +msgid "" +"The constant string used by the operating system to refer to the parent " +"directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:" +"`os.path`." +msgstr "" +"Постійний рядок, який використовується операційною системою для посилання на " +"батьківський каталог. Це \"..\" для Windows і POSIX. Також доступний через :" +"mod:`os.path`." + +msgid "" +"The character used by the operating system to separate pathname components. " +"This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " +"this is not sufficient to be able to parse or concatenate pathnames --- use :" +"func:`os.path.split` and :func:`os.path.join` --- but it is occasionally " +"useful. Also available via :mod:`os.path`." +msgstr "" +"Символ, який використовується операційною системою для розділення " +"компонентів шляху. Це ``'/'`` для POSIX і ``'\\\\'`` для Windows. Зауважте, " +"що знати це недостатньо, щоб мати змогу розбирати або об’єднувати шляхи --- " +"використовуйте :func:`os.path.split` і :func:`os.path.join` --- але іноді це " +"корисно. Також доступний через :mod:`os.path`." + +msgid "" +"An alternative character used by the operating system to separate pathname " +"components, or ``None`` if only one separator character exists. This is set " +"to ``'/'`` on Windows systems where ``sep`` is a backslash. Also available " +"via :mod:`os.path`." +msgstr "" +"Альтернативний символ, який використовується операційною системою для " +"розділення компонентів шляху, або \"Немає\", якщо існує лише один роздільний " +"символ. У системах Windows встановлено значення ``'/''``, де ``sep`` є " +"зворотною косою рискою. Також доступний через :mod:`os.path`." + +msgid "" +"The character which separates the base filename from the extension; for " +"example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." +msgstr "" +"Символ, який відокремлює базову назву файлу від розширення; наприклад, " +"``'.'`` у :file:`os.py`. Також доступний через :mod:`os.path`." + +msgid "" +"The character conventionally used by the operating system to separate search " +"path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " +"for Windows. Also available via :mod:`os.path`." +msgstr "" +"Символ, який зазвичай використовується операційною системою для розділення " +"компонентів шляху пошуку (як у :envvar:`PATH`), наприклад ``':''`` для POSIX " +"або ``';''`` для Windows. Також доступний через :mod:`os.path`." + +msgid "" +"The default search path used by :func:`exec\\*p\\* ` and :func:`spawn" +"\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. Also " +"available via :mod:`os.path`." +msgstr "" +"Шлях пошуку за умовчанням, який використовується :func:`exec\\*p\\* ` " +"і :func:`spawn\\*p\\* `, якщо середовище не має ключа ``'PATH'``. " +"Також доступний через :mod:`os.path`." + +msgid "" +"The string used to separate (or, rather, terminate) lines on the current " +"platform. This may be a single character, such as ``'\\n'`` for POSIX, or " +"multiple characters, for example, ``'\\r\\n'`` for Windows. Do not use *os." +"linesep* as a line terminator when writing files opened in text mode (the " +"default); use a single ``'\\n'`` instead, on all platforms." +msgstr "" +"Рядок, який використовується для розділення (точніше, завершення) рядків на " +"поточній платформі. Це може бути один символ, наприклад ``'\\n'`` для POSIX, " +"або кілька символів, наприклад ``'\\r\\n'`` для Windows. Не використовуйте " +"*os.linesep* як символ закінчення рядка під час запису файлів, відкритих у " +"текстовому режимі (за замовчуванням); замість цього використовуйте єдиний " +"``'\\n'`` на всіх платформах." + +msgid "" +"The file path of the null device. For example: ``'/dev/null'`` for POSIX, " +"``'nul'`` for Windows. Also available via :mod:`os.path`." +msgstr "" +"Шлях до файлу нульового пристрою. Наприклад: ``'/dev/null`` для POSIX, " +"``'nul'`` для Windows. Також доступний через :mod:`os.path`." + +msgid "" +"Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." +"getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " +"for what the different flags mean." +msgstr "" +"Прапори для використання з функціями :func:`~sys.setdlopenflags` і :func:" +"`~sys.getdlopenflags`. Що означають різні прапорці, див. сторінку посібника " +"Unix :manpage:`dlopen(3)`." + +msgid "Random numbers" +msgstr "Випадкові числа" + +msgid "" +"Get up to *size* random bytes. The function can return less bytes than " +"requested." +msgstr "" +"Отримайте до *size* випадкових байтів. Функція може повертати менше байтів, " +"ніж вимагається." + +msgid "" +"These bytes can be used to seed user-space random number generators or for " +"cryptographic purposes." +msgstr "" +"Ці байти можна використовувати для заповнення генераторів випадкових чисел у " +"просторі користувача або для криптографічних цілей." + +msgid "" +"``getrandom()`` relies on entropy gathered from device drivers and other " +"sources of environmental noise. Unnecessarily reading large quantities of " +"data will have a negative impact on other users of the ``/dev/random`` and " +"``/dev/urandom`` devices." +msgstr "" +"``getrandom()`` покладається на ентропію, зібрану з драйверів пристроїв та " +"інших джерел шуму навколишнього середовища. Невиправдане зчитування великої " +"кількості даних матиме негативний вплив на інших користувачів пристроїв ``/" +"dev/random`` і ``/dev/urandom``." + +msgid "" +"The flags argument is a bit mask that can contain zero or more of the " +"following values ORed together: :py:data:`os.GRND_RANDOM` and :py:data:" +"`GRND_NONBLOCK`." +msgstr "" +"Аргумент flags — це бітова маска, яка може містити нуль або більше таких " +"значень, об’єднаних АБО: :py:data:`os.GRND_RANDOM` і :py:data:" +"`GRND_NONBLOCK`." + +msgid "" +"See also the `Linux getrandom() manual page `_." +msgstr "" + +msgid ":ref:`Availability `: Linux >= 3.17." +msgstr "" + +msgid "" +"Return a bytestring of *size* random bytes suitable for cryptographic use." +msgstr "" +"Повертає байтовий рядок *розміру* випадкових байтів, придатних для " +"криптографічного використання." + +msgid "" +"This function returns random bytes from an OS-specific randomness source. " +"The returned data should be unpredictable enough for cryptographic " +"applications, though its exact quality depends on the OS implementation." +msgstr "" +"Ця функція повертає випадкові байти зі специфічного для ОС джерела " +"випадковості. Повернуті дані мають бути досить непередбачуваними для " +"криптографічних програм, хоча їх точна якість залежить від реалізації ОС." + +msgid "" +"On Linux, if the ``getrandom()`` syscall is available, it is used in " +"blocking mode: block until the system urandom entropy pool is initialized " +"(128 bits of entropy are collected by the kernel). See the :pep:`524` for " +"the rationale. On Linux, the :func:`getrandom` function can be used to get " +"random bytes in non-blocking mode (using the :data:`GRND_NONBLOCK` flag) or " +"to poll until the system urandom entropy pool is initialized." +msgstr "" +"У Linux, якщо доступний системний виклик ``getrandom()``, він " +"використовується в режимі блокування: блокуйте, доки системний пул " +"випадкової ентропії не буде ініціалізовано (128 біт ентропії збирає ядро). " +"Перегляньте :pep:`524` для обґрунтування. У Linux функція :func:`getrandom` " +"може бути використана для отримання випадкових байтів у неблокуючому режимі " +"(використовуючи прапор :data:`GRND_NONBLOCK`) або для опитування, доки " +"системний пул випадкової ентропії не буде ініціалізовано." + +msgid "" +"On a Unix-like system, random bytes are read from the ``/dev/urandom`` " +"device. If the ``/dev/urandom`` device is not available or not readable, " +"the :exc:`NotImplementedError` exception is raised." +msgstr "" +"У Unix-подібній системі випадкові байти зчитуються з пристрою ``/dev/" +"urandom``. Якщо пристрій ``/dev/urandom`` недоступний або не читається, " +"виникає виняток :exc:`NotImplementedError`." + +msgid "On Windows, it will use ``BCryptGenRandom()``." +msgstr "" + +msgid "" +"The :mod:`secrets` module provides higher level functions. For an easy-to-" +"use interface to the random number generator provided by your platform, " +"please see :class:`random.SystemRandom`." +msgstr "" +"Модуль :mod:`secrets` забезпечує функції вищого рівня. Про простий у " +"використанні інтерфейс генератора випадкових чисел, наданий вашою " +"платформою, див. :class:`random.SystemRandom`." + +msgid "" +"On Linux, ``getrandom()`` is now used in blocking mode to increase the " +"security." +msgstr "" +"У Linux ``getrandom()`` тепер використовується в режимі блокування для " +"підвищення безпеки." + +msgid "" +"On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " +"not initialized yet), fall back on reading ``/dev/urandom``." +msgstr "" +"У Linux, якщо системний виклик ``getrandom()`` блокує (пул ентропії urandom " +"ще не ініціалізовано), поверніться до читання ``/dev/urandom``." + +msgid "" +"On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when " +"available. On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now " +"used. These functions avoid the usage of an internal file descriptor." +msgstr "" +"У Linux 3.17 і новіших версіях системний виклик ``getrandom()`` тепер " +"використовується, якщо він доступний. У OpenBSD 5.6 і новіших версіях тепер " +"використовується функція C ``getentropy()``. Ці функції уникають " +"використання внутрішнього файлового дескриптора." + +msgid "" +"On Windows, ``BCryptGenRandom()`` is used instead of ``CryptGenRandom()`` " +"which is deprecated." +msgstr "" + +msgid "" +"By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " +"no random bytes are available, and when reading from ``/dev/urandom``, it " +"blocks if the entropy pool has not yet been initialized." +msgstr "" +"За замовчуванням під час читання з ``/dev/random`` :func:`getrandom` блокує, " +"якщо випадкові байти недоступні, а під час читання з ``/dev/urandom`` " +"блокує, якщо пул ентропії не має ще не ініціалізовано." + +msgid "" +"If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not " +"block in these cases, but instead immediately raises :exc:`BlockingIOError`." +msgstr "" +"Якщо встановлено прапорець :py:data:`GRND_NONBLOCK`, то :func:`getrandom` не " +"блокує в цих випадках, а замість цього негайно викликає :exc:" +"`BlockingIOError`." + +msgid "" +"If this bit is set, then random bytes are drawn from the ``/dev/" +"random`` pool instead of the ``/dev/urandom`` pool." +msgstr "" +"Якщо цей біт установлено, випадкові байти витягуються з пулу ``/dev/random`` " +"замість пулу ``/dev/urandom``." diff --git a/library/os_path.po b/library/os_path.po new file mode 100644 index 000000000..6b2aaf7ff --- /dev/null +++ b/library/os_path.po @@ -0,0 +1,589 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`os.path` --- Common pathname manipulations" +msgstr ":mod:`os.path` --- Типові маніпуляції з іменами шляху" + +msgid "" +"**Source code:** :source:`Lib/posixpath.py` (for POSIX) and :source:`Lib/" +"ntpath.py` (for Windows)." +msgstr "" +"**Вихідний код:** :source:`Lib/posixpath.py` (для POSIX) і :source:`Lib/" +"ntpath.py` (для Windows)." + +msgid "" +"This module implements some useful functions on pathnames. To read or write " +"files see :func:`open`, and for accessing the filesystem see the :mod:`os` " +"module. The path parameters can be passed as strings, or bytes, or any " +"object implementing the :class:`os.PathLike` protocol." +msgstr "" +"Цей модуль реалізує деякі корисні функції для шляхів. Щоб прочитати або " +"записати файли, перегляньте :func:`open`, а для доступу до файлової системи " +"перегляньте модуль :mod:`os`. Параметри шляху можна передати як рядки, або " +"байти, або будь-який об’єкт, що реалізує протокол :class:`os.PathLike`." + +msgid "" +"Unlike a Unix shell, Python does not do any *automatic* path expansions. " +"Functions such as :func:`expanduser` and :func:`expandvars` can be invoked " +"explicitly when an application desires shell-like path expansion. (See also " +"the :mod:`glob` module.)" +msgstr "" + +msgid "The :mod:`pathlib` module offers high-level path objects." +msgstr "Модуль :mod:`pathlib` пропонує об’єкти шляху високого рівня." + +msgid "" +"All of these functions accept either only bytes or only string objects as " +"their parameters. The result is an object of the same type, if a path or " +"file name is returned." +msgstr "" +"Усі ці функції приймають як параметри лише байти або лише рядкові об’єкти. " +"Результатом є об’єкт того самого типу, якщо повертається шлях або ім’я файлу." + +msgid "" +"Since different operating systems have different path name conventions, " +"there are several versions of this module in the standard library. The :mod:" +"`os.path` module is always the path module suitable for the operating system " +"Python is running on, and therefore usable for local paths. However, you " +"can also import and use the individual modules if you want to manipulate a " +"path that is *always* in one of the different formats. They all have the " +"same interface:" +msgstr "" +"Оскільки різні операційні системи мають різні імена шляхів, у стандартній " +"бібліотеці є кілька версій цього модуля. Модуль :mod:`os.path` завжди є " +"модулем шляху, який підходить для операційної системи, у якій працює Python, " +"і тому його можна використовувати для локальних шляхів. Однак ви також " +"можете імпортувати та використовувати окремі модулі, якщо хочете " +"маніпулювати шляхом, який *завжди* має один із різних форматів. Усі вони " +"мають однаковий інтерфейс:" + +msgid ":mod:`posixpath` for UNIX-style paths" +msgstr ":mod:`posixpath` для шляхів у стилі UNIX" + +msgid ":mod:`ntpath` for Windows paths" +msgstr ":mod:`ntpath` для шляхів Windows" + +msgid "" +":func:`exists`, :func:`lexists`, :func:`isdir`, :func:`isfile`, :func:" +"`islink`, and :func:`ismount` now return ``False`` instead of raising an " +"exception for paths that contain characters or bytes unrepresentable at the " +"OS level." +msgstr "" +":func:`exists`, :func:`lexists`, :func:`isdir`, :func:`isfile`, :func:" +"`islink` і :func:`ismount` тепер замість цього повертають ``False`` " +"створення винятку для шляхів, які містять символи або байти, які неможливо " +"відобразити на рівні ОС." + +msgid "" +"Return a normalized absolutized version of the pathname *path*. On most " +"platforms, this is equivalent to calling the function :func:`normpath` as " +"follows: ``normpath(join(os.getcwd(), path))``." +msgstr "" +"Повертає нормалізовану абсолютизовану версію імені шляху *path*. На " +"більшості платформ це еквівалентно виклику функції :func:`normpath` таким " +"чином: ``normpath(join(os.getcwd(), path))``." + +msgid "Accepts a :term:`path-like object`." +msgstr "Приймає :term:`path-like object`." + +msgid "" +"Return the base name of pathname *path*. This is the second element of the " +"pair returned by passing *path* to the function :func:`split`. Note that " +"the result of this function is different from the Unix :program:`basename` " +"program; where :program:`basename` for ``'/foo/bar/'`` returns ``'bar'``, " +"the :func:`basename` function returns an empty string (``''``)." +msgstr "" +"Повертає базову назву шляху *path*. Це другий елемент пари, що повертається " +"шляхом передачі *path* до функції :func:`split`. Зверніть увагу, що " +"результат цієї функції відрізняється від програми Unix :program:`basename`; " +"де :program:`basename` для ``'/foo/bar/'`` повертає ``'bar'``, функція :func:" +"`basename` повертає порожній рядок (``''``)." + +msgid "" +"Return the longest common sub-path of each pathname in the sequence " +"*paths*. Raise :exc:`ValueError` if *paths* contain both absolute and " +"relative pathnames, the *paths* are on the different drives or if *paths* is " +"empty. Unlike :func:`commonprefix`, this returns a valid path." +msgstr "" +"Повертає найдовший спільний підшлях кожного шляху в послідовності *шляхи*. " +"Викликайте :exc:`ValueError`, якщо *шляхи* містять як абсолютні, так і " +"відносні шляхи, *шляхи* знаходяться на різних дисках або якщо *шляхи* " +"порожні. На відміну від :func:`commonprefix`, це повертає дійсний шлях." + +msgid ":ref:`Availability `: Unix, Windows." +msgstr ":ref:`Наявність `: Unix, Windows." + +msgid "Accepts a sequence of :term:`path-like objects `." +msgstr "Приймає послідовність :term:`шляхових об’єктів `." + +msgid "" +"Return the longest path prefix (taken character-by-character) that is a " +"prefix of all paths in *list*. If *list* is empty, return the empty string " +"(``''``)." +msgstr "" +"Повертає найдовший префікс шляху (взятий посимвольно), який є префіксом усіх " +"шляхів у *списку*. Якщо *список* порожній, поверніть порожній рядок (``''``)." + +msgid "" +"This function may return invalid paths because it works a character at a " +"time. To obtain a valid path, see :func:`commonpath`." +msgstr "" +"Ця функція може повертати недійсні шляхи, оскільки вона працює по символам " +"за раз. Щоб отримати правильний шлях, перегляньте :func:`commonpath`." + +msgid "" +"Return the directory name of pathname *path*. This is the first element of " +"the pair returned by passing *path* to the function :func:`split`." +msgstr "" +"Повертає назву каталогу *path*. Це перший елемент пари, який повертається " +"шляхом передачі *шляху* до функції :func:`split`." + +msgid "" +"Return ``True`` if *path* refers to an existing path or an open file " +"descriptor. Returns ``False`` for broken symbolic links. On some " +"platforms, this function may return ``False`` if permission is not granted " +"to execute :func:`os.stat` on the requested file, even if the *path* " +"physically exists." +msgstr "" +"Повертає ``True``, якщо *path* посилається на існуючий шлях або дескриптор " +"відкритого файлу. Повертає ``False`` для пошкоджених символічних посилань. " +"На деяких платформах ця функція може повертати ``False``, якщо не надано " +"дозвіл на виконання :func:`os.stat` над запитуваним файлом, навіть якщо " +"*шлях* фізично існує." + +msgid "" +"*path* can now be an integer: ``True`` is returned if it is an open file " +"descriptor, ``False`` otherwise." +msgstr "" +"*шлях* тепер може бути цілим числом: ``True`` повертається, якщо це " +"дескриптор відкритого файлу, ``False`` інакше." + +msgid "" +"Return ``True`` if *path* refers to an existing path. Returns ``True`` for " +"broken symbolic links. Equivalent to :func:`exists` on platforms lacking :" +"func:`os.lstat`." +msgstr "" +"Повертає ``True``, якщо *path* посилається на існуючий шлях. Повертає " +"``True`` для пошкоджених символічних посилань. Еквівалент :func:`exists` на " +"платформах, на яких відсутній :func:`os.lstat`." + +msgid "" +"On Unix and Windows, return the argument with an initial component of ``~`` " +"or ``~user`` replaced by that *user*'s home directory." +msgstr "" +"В Unix і Windows поверніть аргумент із початковим компонентом ``~`` або " +"``~user``, заміненим домашнім каталогом *користувача*." + +msgid "" +"On Unix, an initial ``~`` is replaced by the environment variable :envvar:" +"`HOME` if it is set; otherwise the current user's home directory is looked " +"up in the password directory through the built-in module :mod:`pwd`. An " +"initial ``~user`` is looked up directly in the password directory." +msgstr "" +"В Unix початковий ``~`` замінюється змінною середовища :envvar:`HOME`, якщо " +"вона встановлена; інакше домашній каталог поточного користувача шукається в " +"каталозі паролів за допомогою вбудованого модуля :mod:`pwd`. Початковий " +"``~користувач`` шукається безпосередньо в каталозі паролів." + +msgid "" +"On Windows, :envvar:`USERPROFILE` will be used if set, otherwise a " +"combination of :envvar:`HOMEPATH` and :envvar:`HOMEDRIVE` will be used. An " +"initial ``~user`` is handled by checking that the last directory component " +"of the current user's home directory matches :envvar:`USERNAME`, and " +"replacing it if so." +msgstr "" +"У Windows :envvar:`USERPROFILE` використовуватиметься, якщо встановлено, " +"інакше використовуватиметься комбінація :envvar:`HOMEPATH` і :envvar:" +"`HOMEDRIVE`. Початковий ``~користувач`` обробляється шляхом перевірки " +"відповідності останнього компонента каталогу домашнього каталогу поточного " +"користувача :envvar:`ІМ'Я КОРИСТУВАЧА` та його заміни, якщо так." + +msgid "" +"If the expansion fails or if the path does not begin with a tilde, the path " +"is returned unchanged." +msgstr "" +"Якщо розширення не вдається або якщо шлях не починається з тильди, шлях " +"повертається без змін." + +msgid "No longer uses :envvar:`HOME` on Windows." +msgstr "Більше не використовує :envvar:`HOME` у Windows." + +msgid "" +"Return the argument with environment variables expanded. Substrings of the " +"form ``$name`` or ``${name}`` are replaced by the value of environment " +"variable *name*. Malformed variable names and references to non-existing " +"variables are left unchanged." +msgstr "" +"Повертає аргумент із розгорнутими змінними середовища. Підрядки у формі ``" +"$name`` або ``${name}`` замінюються значенням змінної середовища *name*. " +"Неправильні назви змінних і посилання на неіснуючі змінні залишаються без " +"змін." + +msgid "" +"On Windows, ``%name%`` expansions are supported in addition to ``$name`` and " +"``${name}``." +msgstr "" +"У Windows підтримуються розширення ``%name%`` на додаток до ``$name`` і ``" +"${name}``." + +msgid "" +"Return the time of last access of *path*. The return value is a floating " +"point number giving the number of seconds since the epoch (see the :mod:" +"`time` module). Raise :exc:`OSError` if the file does not exist or is " +"inaccessible." +msgstr "" +"Повертає час останнього доступу до *path*. Поверненим значенням є число з " +"плаваючою комою, що вказує кількість секунд після епохи (див. модуль :mod:" +"`time`). Викликати :exc:`OSError`, якщо файл не існує або недоступний." + +msgid "" +"Return the time of last modification of *path*. The return value is a " +"floating point number giving the number of seconds since the epoch (see " +"the :mod:`time` module). Raise :exc:`OSError` if the file does not exist or " +"is inaccessible." +msgstr "" +"Повертає час останньої зміни *шляху*. Поверненим значенням є число з " +"плаваючою комою, що вказує кількість секунд після епохи (див. модуль :mod:" +"`time`). Викликати :exc:`OSError`, якщо файл не існує або недоступний." + +msgid "" +"Return the system's ctime which, on some systems (like Unix) is the time of " +"the last metadata change, and, on others (like Windows), is the creation " +"time for *path*. The return value is a number giving the number of seconds " +"since the epoch (see the :mod:`time` module). Raise :exc:`OSError` if the " +"file does not exist or is inaccessible." +msgstr "" +"Повертає системний час ctime, який у деяких системах (наприклад, Unix) є " +"часом останньої зміни метаданих, а в інших (наприклад, Windows) є часом " +"створення *шляху*. Поверненим значенням є число, що вказує кількість секунд " +"з моменту епохи (див. модуль :mod:`time`). Викликати :exc:`OSError`, якщо " +"файл не існує або недоступний." + +msgid "" +"Return the size, in bytes, of *path*. Raise :exc:`OSError` if the file does " +"not exist or is inaccessible." +msgstr "" +"Повертає розмір у байтах *шляху*. Викликати :exc:`OSError`, якщо файл не " +"існує або недоступний." + +msgid "" +"Return ``True`` if *path* is an absolute pathname. On Unix, that means it " +"begins with a slash, on Windows that it begins with a (back)slash after " +"chopping off a potential drive letter." +msgstr "" +"Повертає ``True``, якщо *path* є абсолютним шляхом. В Unix це означає, що " +"він починається з похилої риски, а в Windows – із (зворотної) похилої риски " +"після відрізання потенційної літери диска." + +msgid "" +"Return ``True`` if *path* is an :func:`existing ` regular file. This " +"follows symbolic links, so both :func:`islink` and :func:`isfile` can be " +"true for the same path." +msgstr "" +"Повертає ``True``, якщо *path* є :func:`існуючим ` звичайним файлом. " +"Це йде за символічними посиланнями, тому і :func:`islink`, і :func:`isfile` " +"можуть бути істинними для одного шляху." + +msgid "" +"Return ``True`` if *path* is an :func:`existing ` directory. This " +"follows symbolic links, so both :func:`islink` and :func:`isdir` can be true " +"for the same path." +msgstr "" +"Повертає ``True``, якщо *path* є :func:`існуючим каталогом `. Це " +"слідує за символічними посиланнями, тому і :func:`islink`, і :func:`isdir` " +"можуть бути вірними для одного шляху." + +msgid "" +"Return ``True`` if *path* refers to an :func:`existing ` directory " +"entry that is a symbolic link. Always ``False`` if symbolic links are not " +"supported by the Python runtime." +msgstr "" +"Повертає ``True``, якщо *path* посилається на :func:`існуючий запис каталогу " +"`, який є символічним посиланням. Завжди ``False``, якщо символічні " +"посилання не підтримуються середовищем виконання Python." + +msgid "" +"Return ``True`` if pathname *path* is a :dfn:`mount point`: a point in a " +"file system where a different file system has been mounted. On POSIX, the " +"function checks whether *path*'s parent, :file:`{path}/..`, is on a " +"different device than *path*, or whether :file:`{path}/..` and *path* point " +"to the same i-node on the same device --- this should detect mount points " +"for all Unix and POSIX variants. It is not able to reliably detect bind " +"mounts on the same filesystem. On Windows, a drive letter root and a share " +"UNC are always mount points, and for any other path ``GetVolumePathName`` is " +"called to see if it is different from the input path." +msgstr "" +"Повертає ``True``, якщо шлях *path* є :dfn:`mount point`: точкою у файловій " +"системі, де була змонтована інша файлова система. У POSIX функція перевіряє, " +"чи батьківський елемент *path*, :file:`{path}/..`, знаходиться на іншому " +"пристрої, ніж *path*, або :file:`{path}/..` і *шлях* вказує на той самий i-" +"node на тому самому пристрої --- це має виявити точки монтування для всіх " +"варіантів Unix і POSIX. Він не в змозі надійно виявити монтування прив’язки " +"на тій же файловій системі. У Windows коренева буква диска та спільний UNC " +"завжди є точками монтування, а для будь-якого іншого шляху викликається " +"GetVolumePathName, щоб перевірити, чи відрізняється він від шляху введення." + +msgid "Support for detecting non-root mount points on Windows." +msgstr "Підтримка виявлення некореневих точок монтування в Windows." + +msgid "" +"Join one or more path components intelligently. The return value is the " +"concatenation of *path* and any members of *\\*paths* with exactly one " +"directory separator following each non-empty part except the last, meaning " +"that the result will only end in a separator if the last part is empty. If " +"a component is an absolute path, all previous components are thrown away and " +"joining continues from the absolute path component." +msgstr "" +"Розумно об’єднайте один або кілька компонентів шляху. Повернене значення є " +"конкатенацією *path* і будь-яких членів *\\*paths* із рівно одним " +"роздільником каталогу після кожної непорожньої частини, крім останньої, " +"тобто результат завершуватиметься роздільником, лише якщо остання частина " +"порожня . Якщо компонент є абсолютним шляхом, усі попередні компоненти " +"відкидаються, а приєднання продовжується з компонента абсолютного шляху." + +msgid "" +"On Windows, the drive letter is not reset when an absolute path component (e." +"g., ``r'\\foo'``) is encountered. If a component contains a drive letter, " +"all previous components are thrown away and the drive letter is reset. Note " +"that since there is a current directory for each drive, ``os.path.join(\"c:" +"\", \"foo\")`` represents a path relative to the current directory on drive :" +"file:`C:` (:file:`c:foo`), not :file:`c:\\\\foo`." +msgstr "" +"У Windows літера диска не скидається, коли зустрічається компонент " +"абсолютного шляху (наприклад, ``r'\\foo'``). Якщо компонент містить букву " +"диска, усі попередні компоненти викидаються, а літеру диска скидається. " +"Зауважте, що оскільки для кожного диска існує поточний каталог, os.path." +"join(\"c:\", \"foo\")`` представляє шлях відносно поточного каталогу на " +"диску :file:`C:` (: file:`c:foo`), а не :file:`c:\\\\foo`." + +msgid "Accepts a :term:`path-like object` for *path* and *paths*." +msgstr "Приймає :term:`path-like object` для *path* і *paths*." + +msgid "" +"Normalize the case of a pathname. On Windows, convert all characters in the " +"pathname to lowercase, and also convert forward slashes to backward slashes. " +"On other operating systems, return the path unchanged." +msgstr "" +"Нормалізуйте регістр імені шляху. У Windows перетворіть усі символи в імені " +"шляху на малі літери, а також перетворіть косі риски на зворотні. В інших " +"операційних системах повертайте шлях без змін." + +msgid "" +"Normalize a pathname by collapsing redundant separators and up-level " +"references so that ``A//B``, ``A/B/``, ``A/./B`` and ``A/foo/../B`` all " +"become ``A/B``. This string manipulation may change the meaning of a path " +"that contains symbolic links. On Windows, it converts forward slashes to " +"backward slashes. To normalize case, use :func:`normcase`." +msgstr "" +"Нормалізуйте шлях шляхом згортання надлишкових роздільників і посилань " +"верхнього рівня, щоб ``A//B``, ``A/B/``, ``A/./B`` і ``A/foo/.. /B`` всі " +"стають ``A/B``. Ця маніпуляція рядком може змінити значення шляху, який " +"містить символічні посилання. У Windows він перетворює косі риски на " +"зворотні. Щоб нормалізувати регістр, використовуйте :func:`normcase`." + +msgid "" +"On POSIX systems, in accordance with `IEEE Std 1003.1 2013 Edition; 4.13 " +"Pathname Resolution `_, if a pathname begins with exactly two " +"slashes, the first component following the leading characters may be " +"interpreted in an implementation-defined manner, although more than two " +"leading characters shall be treated as a single character." +msgstr "" + +msgid "" +"Return the canonical path of the specified filename, eliminating any " +"symbolic links encountered in the path (if they are supported by the " +"operating system)." +msgstr "" +"Повертає канонічний шлях до вказаного імені файлу, усуваючи будь-які " +"символічні посилання, які зустрічаються в шляху (якщо вони підтримуються " +"операційною системою)." + +msgid "" +"If a path doesn't exist or a symlink loop is encountered, and *strict* is " +"``True``, :exc:`OSError` is raised. If *strict* is ``False``, the path is " +"resolved as far as possible and any remainder is appended without checking " +"whether it exists." +msgstr "" +"Якщо шлях не існує або виникає цикл символічного посилання, а *strict* має " +"значення ``True``, виникає :exc:`OSError`. Якщо *strict* має значення " +"``False``, шлях розв’язується, наскільки це можливо, і будь-який залишок " +"додається без перевірки його існування." + +msgid "" +"This function emulates the operating system's procedure for making a path " +"canonical, which differs slightly between Windows and UNIX with respect to " +"how links and subsequent path components interact." +msgstr "" +"Ця функція емулює процедуру операційної системи, щоб зробити шлях " +"канонічним, який дещо відрізняється між Windows і UNIX стосовно того, як " +"взаємодіють посилання та наступні компоненти шляху." + +msgid "" +"Operating system APIs make paths canonical as needed, so it's not normally " +"necessary to call this function." +msgstr "" +"API операційної системи роблять шляхи канонічними за потреби, тому зазвичай " +"не потрібно викликати цю функцію." + +msgid "Symbolic links and junctions are now resolved on Windows." +msgstr "Символічні зв’язки та з’єднання тепер розпізнаються у Windows." + +msgid "The *strict* parameter was added." +msgstr "Додано параметр *strict*." + +msgid "" +"Return a relative filepath to *path* either from the current directory or " +"from an optional *start* directory. This is a path computation: the " +"filesystem is not accessed to confirm the existence or nature of *path* or " +"*start*. On Windows, :exc:`ValueError` is raised when *path* and *start* " +"are on different drives." +msgstr "" +"Повертає відносний шлях до файлу до *path* або з поточного каталогу, або з " +"додаткового каталогу *start*. Це обчислення шляху: доступ до файлової " +"системи не здійснюється для підтвердження існування або природи *шляху* або " +"*початку*. У Windows :exc:`ValueError` виникає, коли *шлях* і *початок* " +"знаходяться на різних дисках." + +msgid "*start* defaults to :attr:`os.curdir`." +msgstr "*start* за замовчуванням :attr:`os.curdir`." + +msgid "" +"Return ``True`` if both pathname arguments refer to the same file or " +"directory. This is determined by the device number and i-node number and " +"raises an exception if an :func:`os.stat` call on either pathname fails." +msgstr "" +"Повертає ``True``, якщо обидва аргументи шляху посилаються на той самий файл " +"або каталог. Це визначається номером пристрою та номером i-вузла та викликає " +"виняток, якщо виклик :func:`os.stat` будь-якого шляху не вдається." + +msgid "Added Windows support." +msgstr "Додана підтримка Windows." + +msgid "Windows now uses the same implementation as all other platforms." +msgstr "" +"Windows тепер використовує ту саму реалізацію, що й усі інші платформи." + +msgid "" +"Return ``True`` if the file descriptors *fp1* and *fp2* refer to the same " +"file." +msgstr "" +"Повертає ``True``, якщо файлові дескриптори *fp1* і *fp2* стосуються одного " +"файлу." + +msgid "" +"Return ``True`` if the stat tuples *stat1* and *stat2* refer to the same " +"file. These structures may have been returned by :func:`os.fstat`, :func:`os." +"lstat`, or :func:`os.stat`. This function implements the underlying " +"comparison used by :func:`samefile` and :func:`sameopenfile`." +msgstr "" +"Повертає ``True``, якщо кортежі статистики *stat1* і *stat2* посилаються на " +"той самий файл. Ці структури могли бути повернуті :func:`os.fstat`, :func:" +"`os.lstat` або :func:`os.stat`. Ця функція реалізує основне порівняння, яке " +"використовується :func:`samefile` і :func:`sameopenfile`." + +msgid "" +"Split the pathname *path* into a pair, ``(head, tail)`` where *tail* is the " +"last pathname component and *head* is everything leading up to that. The " +"*tail* part will never contain a slash; if *path* ends in a slash, *tail* " +"will be empty. If there is no slash in *path*, *head* will be empty. If " +"*path* is empty, both *head* and *tail* are empty. Trailing slashes are " +"stripped from *head* unless it is the root (one or more slashes only). In " +"all cases, ``join(head, tail)`` returns a path to the same location as " +"*path* (but the strings may differ). Also see the functions :func:`dirname` " +"and :func:`basename`." +msgstr "" +"Розділіть шлях *path* на пару, ``(head, tail)``, де *tail* — це останній " +"компонент шляху, а *head* — усе, що веде до нього. Частина *хвоста* ніколи " +"не міститиме косу риску; якщо *шлях* закінчується скісною рискою, *хвіст* " +"буде порожнім. Якщо в *path* немає скісної риски, *head* буде порожнім. Якщо " +"*шлях* порожній, і *голова*, і *хвіст* порожні. Кінцеві похилі риски " +"видаляються з *голови*, якщо це не корінь (лише одна або кілька похилих). У " +"всіх випадках ``join(head, tail)`` повертає шлях до того самого місця, що й " +"*path* (але рядки можуть відрізнятися). Також перегляньте функції :func:" +"`dirname` і :func:`basename`." + +msgid "" +"Split the pathname *path* into a pair ``(drive, tail)`` where *drive* is " +"either a mount point or the empty string. On systems which do not use drive " +"specifications, *drive* will always be the empty string. In all cases, " +"``drive + tail`` will be the same as *path*." +msgstr "" +"Розділіть назву шляху *path* на пару ``(диск, хвіст)``, де *диск* є або " +"точкою монтування, або порожнім рядком. У системах, які не використовують " +"специфікації дисків, *drive* завжди буде порожнім рядком. У всіх випадках " +"``drive + tail`` буде таким самим, як *path*." + +msgid "" +"On Windows, splits a pathname into drive/UNC sharepoint and relative path." +msgstr "У Windows розділяє шлях на диск/загальну точку UNC і відносний шлях." + +msgid "" +"If the path contains a drive letter, drive will contain everything up to and " +"including the colon::" +msgstr "" +"Якщо шлях містить букву диска, диск міститиме все, аж до двокрапки включно::" + +msgid "" +"If the path contains a UNC path, drive will contain the host name and share, " +"up to but not including the fourth separator::" +msgstr "" +"Якщо шлях містить UNC-шлях, диск міститиме ім’я хоста та спільний ресурс, до " +"четвертого роздільника, але не включаючи::" + +msgid "" +"Split the pathname *path* into a pair ``(root, ext)`` such that ``root + " +"ext == path``, and the extension, *ext*, is empty or begins with a period " +"and contains at most one period." +msgstr "" +"Розділіть назву шляху *path* на пару ``(root, ext)`` таким чином, ``root + " +"ext == path``, а розширення *ext* буде порожнім або починається з крапки та " +"містить щонайбільше один період." + +msgid "If the path contains no extension, *ext* will be ``''``::" +msgstr "Якщо шлях не містить розширення, *ext* буде ``''``::" + +msgid "" +"If the path contains an extension, then *ext* will be set to this extension, " +"including the leading period. Note that previous periods will be ignored::" +msgstr "" +"Якщо шлях містить розширення, то *ext* буде встановлено для цього " +"розширення, включаючи початкову точку. Зауважте, що попередні періоди " +"ігноруватимуться:" + +msgid "" +"Leading periods of the last component of the path are considered to be part " +"of the root::" +msgstr "" +"Початкові періоди останнього компонента шляху вважаються частиною кореня::" + +msgid "" +"``True`` if arbitrary Unicode strings can be used as file names (within " +"limitations imposed by the file system)." +msgstr "" +"``True``, якщо довільні рядки Unicode можуть використовуватися як імена " +"файлів (в межах обмежень, накладених файловою системою)." diff --git a/library/ossaudiodev.po b/library/ossaudiodev.po new file mode 100644 index 000000000..245a81887 --- /dev/null +++ b/library/ossaudiodev.po @@ -0,0 +1,653 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ossaudiodev` --- Access to OSS-compatible audio devices" +msgstr ":mod:`ossaudiodev` --- Доступ до OSS-сумісних аудіопристроїв" + +msgid "" +"The :mod:`ossaudiodev` module is deprecated (see :pep:`PEP 594 " +"<594#ossaudiodev>` for details)." +msgstr "" +"Модуль :mod:`ossaudiodev` застарів (докладніше див. :pep:`PEP 594 " +"<594#ossaudiodev>`)." + +msgid "" +"This module allows you to access the OSS (Open Sound System) audio " +"interface. OSS is available for a wide range of open-source and commercial " +"Unices, and is the standard audio interface for Linux and recent versions of " +"FreeBSD." +msgstr "" +"Цей модуль дозволяє отримати доступ до аудіоінтерфейсу OSS (Open Sound " +"System). OSS доступний для широкого діапазону відкритих і комерційних Unices " +"і є стандартним аудіоінтерфейсом для Linux і останніх версій FreeBSD." + +msgid "" +"Operations in this module now raise :exc:`OSError` where :exc:`IOError` was " +"raised." +msgstr "" +"Операції в цьому модулі тепер викликають :exc:`OSError` там, де було " +"викликано :exc:`IOError`." + +msgid "" +"`Open Sound System Programmer's Guide `_" +msgstr "" +"`Відкрити Посібник програміста звукової системи `_" + +msgid "the official documentation for the OSS C API" +msgstr "офіційна документація для OSS C API" + +msgid "" +"The module defines a large number of constants supplied by the OSS device " +"driver; see ```` on either Linux or FreeBSD for a listing." +msgstr "" +"Модуль визначає велику кількість констант, що надаються драйвером пристрою " +"OSS; перегляньте ```` для Linux або FreeBSD для списку." + +msgid ":mod:`ossaudiodev` defines the following variables and functions:" +msgstr ":mod:`ossaudiodev` визначає наступні змінні та функції:" + +msgid "" +"This exception is raised on certain errors. The argument is a string " +"describing what went wrong." +msgstr "" +"Цей виняток виникає при певних помилках. Аргумент — це рядок, що описує, що " +"пішло не так." + +msgid "" +"(If :mod:`ossaudiodev` receives an error from a system call such as :c:func:" +"`open`, :c:func:`write`, or :c:func:`ioctl`, it raises :exc:`OSError`. " +"Errors detected directly by :mod:`ossaudiodev` result in :exc:" +"`OSSAudioError`.)" +msgstr "" +"(Якщо :mod:`ossaudiodev` отримує помилку від системного виклику, наприклад :" +"c:func:`open`, :c:func:`write` або :c:func:`ioctl`, він викликає :exc:" +"`OSError`. Помилки, виявлені безпосередньо :mod:`ossaudiodev`, призводять " +"до :exc:`OSSAudioError`.)" + +msgid "" +"(For backwards compatibility, the exception class is also available as " +"``ossaudiodev.error``.)" +msgstr "" +"(Для зворотної сумісності клас винятків також доступний як ``ossaudiodev." +"error``.)" + +msgid "" +"Open an audio device and return an OSS audio device object. This object " +"supports many file-like methods, such as :meth:`read`, :meth:`write`, and :" +"meth:`fileno` (although there are subtle differences between conventional " +"Unix read/write semantics and those of OSS audio devices). It also supports " +"a number of audio-specific methods; see below for the complete list of " +"methods." +msgstr "" +"Відкрийте аудіопристрій і поверніть об’єкт аудіопристрою OSS. Цей об’єкт " +"підтримує багато файлових методів, таких як :meth:`read`, :meth:`write` і :" +"meth:`fileno` (хоча існують тонкі відмінності між звичайною семантикою " +"читання/запису Unix і аудіо OSS). пристрої). Він також підтримує ряд " +"специфічних аудіо методів; повний список методів див. нижче." + +msgid "" +"*device* is the audio device filename to use. If it is not specified, this " +"module first looks in the environment variable :envvar:`AUDIODEV` for a " +"device to use. If not found, it falls back to :file:`/dev/dsp`." +msgstr "" +"*device* — це назва файлу аудіопристрою для використання. Якщо його не " +"вказано, цей модуль спочатку шукає в змінній середовища :envvar:`AUDIODEV` " +"пристрій для використання. Якщо не знайдено, він повертається до :file:`/dev/" +"dsp`." + +msgid "" +"*mode* is one of ``'r'`` for read-only (record) access, ``'w'`` for write-" +"only (playback) access and ``'rw'`` for both. Since many sound cards only " +"allow one process to have the recorder or player open at a time, it is a " +"good idea to open the device only for the activity needed. Further, some " +"sound cards are half-duplex: they can be opened for reading or writing, but " +"not both at once." +msgstr "" +"*mode* є одним із ``'r'`` для доступу лише для читання (запис), ``'w''`` для " +"доступу лише для запису (відтворення) та ``'rw'`` для обох. Оскільки багато " +"звукових карт дозволяють лише одному процесу одночасно відкривати рекордер " +"або програвач, доцільно відкривати пристрій лише для необхідної діяльності. " +"Крім того, деякі звукові карти є напівдуплексними: їх можна відкрити для " +"читання або запису, але не для обох одночасно." + +msgid "" +"Note the unusual calling syntax: the *first* argument is optional, and the " +"second is required. This is a historical artifact for compatibility with " +"the older :mod:`linuxaudiodev` module which :mod:`ossaudiodev` supersedes." +msgstr "" +"Зверніть увагу на незвичний синтаксис виклику: *перший* аргумент " +"необов’язковий, а другий обов’язковий. Це історичний артефакт для сумісності " +"зі старішим модулем :mod:`linuxaudiodev`, який :mod:`ossaudiodev` замінює." + +msgid "" +"Open a mixer device and return an OSS mixer device object. *device* is the " +"mixer device filename to use. If it is not specified, this module first " +"looks in the environment variable :envvar:`MIXERDEV` for a device to use. " +"If not found, it falls back to :file:`/dev/mixer`." +msgstr "" +"Відкрийте мікшерний пристрій і поверніть об’єкт мікшерного пристрою OSS. " +"*device* — це ім’я файлу пристрою мікшера для використання. Якщо його не " +"вказано, цей модуль спочатку шукає в змінній середовища :envvar:`MIXERDEV` " +"пристрій для використання. Якщо не знайдено, він повертається до :file:`/dev/" +"mixer`." + +msgid "Audio Device Objects" +msgstr "Об’єкти звукових пристроїв" + +msgid "" +"Before you can write to or read from an audio device, you must call three " +"methods in the correct order:" +msgstr "" +"Перш ніж ви зможете записувати або читати з аудіопристрою, ви повинні " +"викликати три методи в правильному порядку:" + +msgid ":meth:`setfmt` to set the output format" +msgstr ":meth:`setfmt`, щоб встановити вихідний формат" + +msgid ":meth:`channels` to set the number of channels" +msgstr ":meth:`channels`, щоб встановити кількість каналів" + +msgid ":meth:`speed` to set the sample rate" +msgstr ":meth:`speed`, щоб встановити частоту дискретизації" + +msgid "" +"Alternately, you can use the :meth:`setparameters` method to set all three " +"audio parameters at once. This is more convenient, but may not be as " +"flexible in all cases." +msgstr "" +"Крім того, ви можете використовувати метод :meth:`setparameters`, щоб " +"установити всі три параметри звуку одночасно. Це зручніше, але може бути не " +"таким гнучким у всіх випадках." + +msgid "" +"The audio device objects returned by :func:`.open` define the following " +"methods and (read-only) attributes:" +msgstr "" +"Об’єкти аудіопристроїв, які повертає :func:`.open`, визначають наступні " +"методи та атрибути (лише для читання):" + +msgid "" +"Explicitly close the audio device. When you are done writing to or reading " +"from an audio device, you should explicitly close it. A closed device " +"cannot be used again." +msgstr "" +"Явно закрийте аудіопристрій. Коли ви закінчите писати або читати з " +"аудіопристрою, вам слід явно закрити його. Закритий пристрій не можна " +"використовувати повторно." + +msgid "Return the file descriptor associated with the device." +msgstr "Повертає дескриптор файлу, пов’язаний із пристроєм." + +msgid "" +"Read *size* bytes from the audio input and return them as a Python string. " +"Unlike most Unix device drivers, OSS audio devices in blocking mode (the " +"default) will block :func:`read` until the entire requested amount of data " +"is available." +msgstr "" +"Зчитувати *size* байти з аудіовходу та повертати їх як рядок Python. На " +"відміну від більшості драйверів пристроїв Unix, аудіопристрої OSS у режимі " +"блокування (за замовчуванням) блокуватимуть :func:`read`, доки не буде " +"доступним весь запитаний обсяг даних." + +msgid "" +"Write a :term:`bytes-like object` *data* to the audio device and return the " +"number of bytes written. If the audio device is in blocking mode (the " +"default), the entire data is always written (again, this is different from " +"usual Unix device semantics). If the device is in non-blocking mode, some " +"data may not be written---see :meth:`writeall`." +msgstr "" +"Записати :term:`bytes-like object` *data* на аудіопристрій і повернути " +"кількість записаних байтів. Якщо аудіопристрій знаходиться в режимі " +"блокування (за замовчуванням), усі дані завжди записуються (знову ж таки, це " +"відрізняється від звичайної семантики пристрою Unix). Якщо пристрій у " +"неблокуючому режимі, деякі дані можуть не записуватися --- див. :meth:" +"`writeall`." + +msgid "Writable :term:`bytes-like object` is now accepted." +msgstr "Записуваний :term:`bytes-like object` тепер приймається." + +msgid "" +"Write a :term:`bytes-like object` *data* to the audio device: waits until " +"the audio device is able to accept data, writes as much data as it will " +"accept, and repeats until *data* has been completely written. If the device " +"is in blocking mode (the default), this has the same effect as :meth:" +"`write`; :meth:`writeall` is only useful in non-blocking mode. Has no " +"return value, since the amount of data written is always equal to the amount " +"of data supplied." +msgstr "" +"Записати :term:`bytes-like object` *data* в аудіопристрій: чекає, доки " +"аудіопристрій зможе прийняти дані, записує стільки даних, скільки прийме, і " +"повторює, доки *data* не буде повністю записано. Якщо пристрій перебуває в " +"режимі блокування (за замовчуванням), це має той самий ефект, що й :meth:" +"`write`; :meth:`writeall` корисний лише в неблокуючому режимі. Не має " +"значення, що повертається, оскільки кількість записаних даних завжди " +"дорівнює кількості наданих даних." + +msgid "" +"Audio device objects also support the context management protocol, i.e. they " +"can be used in a :keyword:`with` statement." +msgstr "" +"Об’єкти аудіопристроїв також підтримують протокол керування контекстом, " +"тобто їх можна використовувати в операторі :keyword:`with`." + +msgid "" +"The following methods each map to exactly one :c:func:`ioctl` system call. " +"The correspondence is obvious: for example, :meth:`setfmt` corresponds to " +"the ``SNDCTL_DSP_SETFMT`` ioctl, and :meth:`sync` to ``SNDCTL_DSP_SYNC`` " +"(this can be useful when consulting the OSS documentation). If the " +"underlying :c:func:`ioctl` fails, they all raise :exc:`OSError`." +msgstr "" +"Кожен із наведених нижче методів відображає точно один системний виклик :c:" +"func:`ioctl`. Відповідність очевидна: наприклад, :meth:`setfmt` відповідає " +"ioctl ``SNDCTL_DSP_SETFMT``, а :meth:`sync` — ``SNDCTL_DSP_SYNC`` (це може " +"бути корисно під час перегляду документації OSS). Якщо основний :c:func:" +"`ioctl` виходить з ладу, усі вони викликають :exc:`OSError`." + +msgid "" +"Put the device into non-blocking mode. Once in non-blocking mode, there is " +"no way to return it to blocking mode." +msgstr "" +"Переведіть пристрій у режим без блокування. Перейшовши в режим без " +"блокування, неможливо повернутися до режиму блокування." + +msgid "" +"Return a bitmask of the audio output formats supported by the soundcard. " +"Some of the formats supported by OSS are:" +msgstr "" +"Повертає бітову маску форматів аудіовиводу, які підтримує звукова карта. " +"Деякі з форматів, які підтримує OSS:" + +msgid "Format" +msgstr "Формат" + +msgid "Description" +msgstr "опис" + +msgid ":const:`AFMT_MU_LAW`" +msgstr ":const:`AFMT_MU_LAW`" + +msgid "" +"a logarithmic encoding (used by Sun ``.au`` files and :file:`/dev/audio`)" +msgstr "" +"логарифмічне кодування (використовується файлами Sun ``.au`` і :file:`/dev/" +"audio`)" + +msgid ":const:`AFMT_A_LAW`" +msgstr ":const:`AFMT_A_LAW`" + +msgid "a logarithmic encoding" +msgstr "логарифмічне кодування" + +msgid ":const:`AFMT_IMA_ADPCM`" +msgstr ":const:`AFMT_IMA_ADPCM`" + +msgid "" +"a 4:1 compressed format defined by the Interactive Multimedia Association" +msgstr "стислий формат 4:1, визначений Interactive Multimedia Association" + +msgid ":const:`AFMT_U8`" +msgstr ":const:`AFMT_U8`" + +msgid "Unsigned, 8-bit audio" +msgstr "Беззнаковий, 8-бітовий звук" + +msgid ":const:`AFMT_S16_LE`" +msgstr ":const:`AFMT_S16_LE`" + +msgid "" +"Signed, 16-bit audio, little-endian byte order (as used by Intel processors)" +msgstr "" +"16-бітовий звук зі знаком, порядок байтів у порядку байтів (як " +"використовується процесорами Intel)" + +msgid ":const:`AFMT_S16_BE`" +msgstr ":const:`AFMT_S16_BE`" + +msgid "" +"Signed, 16-bit audio, big-endian byte order (as used by 68k, PowerPC, Sparc)" +msgstr "" +"Знакове, 16-бітне аудіо, порядок байтів у порядку байтів (як " +"використовується 68k, PowerPC, Sparc)" + +msgid ":const:`AFMT_S8`" +msgstr ":const:`AFMT_S8`" + +msgid "Signed, 8 bit audio" +msgstr "Підписаний, 8-бітний звук" + +msgid ":const:`AFMT_U16_LE`" +msgstr ":const:`AFMT_U16_LE`" + +msgid "Unsigned, 16-bit little-endian audio" +msgstr "Беззнакове 16-бітове аудіо з порядковим порядком байтів" + +msgid ":const:`AFMT_U16_BE`" +msgstr ":const:`AFMT_U16_BE`" + +msgid "Unsigned, 16-bit big-endian audio" +msgstr "Беззнакове 16-бітове аудіо в порядку старшого порядку" + +msgid "" +"Consult the OSS documentation for a full list of audio formats, and note " +"that most devices support only a subset of these formats. Some older " +"devices only support :const:`AFMT_U8`; the most common format used today is :" +"const:`AFMT_S16_LE`." +msgstr "" +"Зверніться до документації OSS, щоб отримати повний список аудіоформатів, і " +"зауважте, що більшість пристроїв підтримують лише частину цих форматів. " +"Деякі старі пристрої підтримують лише :const:`AFMT_U8`; найпоширенішим " +"форматом, який сьогодні використовується, є :const:`AFMT_S16_LE`." + +msgid "" +"Try to set the current audio format to *format*---see :meth:`getfmts` for a " +"list. Returns the audio format that the device was set to, which may not be " +"the requested format. May also be used to return the current audio format---" +"do this by passing an \"audio format\" of :const:`AFMT_QUERY`." +msgstr "" +"Спробуйте встановити поточний аудіоформат на *format*---перегляньте список :" +"meth:`getfmts`. Повертає аудіоформат, налаштований на пристрої, який може не " +"відповідати запитуваному формату. Може також використовуватися для " +"повернення поточного аудіоформату ---зробіть це, передавши \"аудіоформат\" :" +"const:`AFMT_QUERY`." + +msgid "" +"Set the number of output channels to *nchannels*. A value of 1 indicates " +"monophonic sound, 2 stereophonic. Some devices may have more than 2 " +"channels, and some high-end devices may not support mono. Returns the number " +"of channels the device was set to." +msgstr "" +"Встановіть кількість вихідних каналів на *nchannels*. Значення 1 означає " +"монофонічний звук, 2 — стереофонічний. Деякі пристрої можуть мати більше 2 " +"каналів, а деякі пристрої високого класу можуть не підтримувати моно. " +"Повертає кількість каналів, налаштованих на пристрої." + +msgid "" +"Try to set the audio sampling rate to *samplerate* samples per second. " +"Returns the rate actually set. Most sound devices don't support arbitrary " +"sampling rates. Common rates are:" +msgstr "" +"Спробуйте встановити частоту дискретизації аудіо на *samplerate* вибірок за " +"секунду. Повертає фактично встановлену ставку. Більшість звукових пристроїв " +"не підтримують довільну частоту дискретизації. Загальні ставки:" + +msgid "Rate" +msgstr "Оцінка" + +msgid "8000" +msgstr "8000" + +msgid "default rate for :file:`/dev/audio`" +msgstr "швидкість за замовчуванням для :file:`/dev/audio`" + +msgid "11025" +msgstr "11025" + +msgid "speech recording" +msgstr "запис мовлення" + +msgid "22050" +msgstr "22050" + +msgid "44100" +msgstr "44100" + +msgid "CD quality audio (at 16 bits/sample and 2 channels)" +msgstr "Аудіо якості CD (16 біт/вибірка та 2 канали)" + +msgid "96000" +msgstr "96000" + +msgid "DVD quality audio (at 24 bits/sample)" +msgstr "Аудіо якості DVD (24 біти/вибірка)" + +msgid "" +"Wait until the sound device has played every byte in its buffer. (This " +"happens implicitly when the device is closed.) The OSS documentation " +"recommends closing and re-opening the device rather than using :meth:`sync`." +msgstr "" +"Зачекайте, доки звуковий пристрій відтворить кожен байт у своєму буфері. (Це " +"відбувається неявно, коли пристрій закрито.) Документація OSS рекомендує " +"закрити та знову відкрити пристрій замість використання :meth:`sync`." + +msgid "" +"Immediately stop playing or recording and return the device to a state where " +"it can accept commands. The OSS documentation recommends closing and re-" +"opening the device after calling :meth:`reset`." +msgstr "" +"Негайно припиніть відтворення або запис і поверніть пристрій у стан, коли " +"він може приймати команди. Документація OSS рекомендує закрити та знову " +"відкрити пристрій після виклику :meth:`reset`." + +msgid "" +"Tell the driver that there is likely to be a pause in the output, making it " +"possible for the device to handle the pause more intelligently. You might " +"use this after playing a spot sound effect, before waiting for user input, " +"or before doing disk I/O." +msgstr "" +"Повідомте водієві, що, ймовірно, буде пауза у виводі, щоб пристрій міг більш " +"розумно обробляти паузу. Ви можете використовувати це після відтворення " +"точкового звукового ефекту, перед очікуванням введення користувача або перед " +"виконанням дискового вводу-виводу." + +msgid "" +"The following convenience methods combine several ioctls, or one ioctl and " +"some simple calculations." +msgstr "" +"Наступні зручні методи поєднують кілька ioctl або один ioctl і деякі прості " +"обчислення." + +msgid "" +"Set the key audio sampling parameters---sample format, number of channels, " +"and sampling rate---in one method call. *format*, *nchannels*, and " +"*samplerate* should be as specified in the :meth:`setfmt`, :meth:`channels`, " +"and :meth:`speed` methods. If *strict* is true, :meth:`setparameters` " +"checks to see if each parameter was actually set to the requested value, and " +"raises :exc:`OSSAudioError` if not. Returns a tuple (*format*, *nchannels*, " +"*samplerate*) indicating the parameter values that were actually set by the " +"device driver (i.e., the same as the return values of :meth:`setfmt`, :meth:" +"`channels`, and :meth:`speed`)." +msgstr "" +"Встановіть ключові параметри дискретизації звуку --- формат дискретизації, " +"кількість каналів і частоту дискретизації --- одним викликом методу. " +"*format*, *nchannels* і *samplerate* мають бути такими, як указано в " +"методах :meth:`setfmt`, :meth:`channels` і :meth:`speed`. Якщо *strict* має " +"значення true, :meth:`setparameters` перевіряє, чи дійсно для кожного " +"параметра встановлено запитане значення, і викликає :exc:`OSSAudioError`, " +"якщо ні. Повертає кортеж (*format*, *nchannels*, *samplerate*), що вказує на " +"значення параметрів, фактично встановлені драйвером пристрою (тобто такі " +"самі, як значення, що повертаються :meth:`setfmt`, :meth:`channels` і :meth:" +"`speed`)." + +msgid "For example, ::" +msgstr "Наприклад, ::" + +msgid "is equivalent to ::" +msgstr "еквівалентно ::" + +msgid "Returns the size of the hardware buffer, in samples." +msgstr "Повертає розмір апаратного буфера у зразках." + +msgid "" +"Returns the number of samples that are in the hardware buffer yet to be " +"played." +msgstr "Повертає кількість семплів, які ще не відтворені в апаратному буфері." + +msgid "" +"Returns the number of samples that could be queued into the hardware buffer " +"to be played without blocking." +msgstr "" +"Повертає кількість семплів, які можна поставити в чергу в апаратний буфер " +"для відтворення без блокування." + +msgid "Audio device objects also support several read-only attributes:" +msgstr "" +"Об’єкти аудіопристроїв також підтримують кілька атрибутів лише для читання:" + +msgid "Boolean indicating whether the device has been closed." +msgstr "Логічне значення, яке вказує, чи було закрито пристрій." + +msgid "String containing the name of the device file." +msgstr "Рядок, що містить назву файлу пристрою." + +msgid "The I/O mode for the file, either ``\"r\"``, ``\"rw\"``, or ``\"w\"``." +msgstr "Режим вводу/виводу для файлу: ``\"r\"``, ``\"rw\"`` або ``\"w\"``." + +msgid "Mixer Device Objects" +msgstr "Об'єкти мікшерного пристрою" + +msgid "The mixer object provides two file-like methods:" +msgstr "Об’єкт mixer надає два файлоподібні методи:" + +msgid "" +"This method closes the open mixer device file. Any further attempts to use " +"the mixer after this file is closed will raise an :exc:`OSError`." +msgstr "" +"Цей метод закриває відкритий файл пристрою мікшера. Будь-які подальші спроби " +"використання мікшера після закриття цього файлу викличуть :exc:`OSError`." + +msgid "Returns the file handle number of the open mixer device file." +msgstr "Повертає номер дескриптора файлу відкритого файлу мікшерного пристрою." + +msgid "Mixer objects also support the context management protocol." +msgstr "Об'єкти Mixer також підтримують протокол керування контекстом." + +msgid "The remaining methods are specific to audio mixing:" +msgstr "Решта методів є специфічними для мікшування звуку:" + +msgid "" +"This method returns a bitmask specifying the available mixer controls " +"(\"Control\" being a specific mixable \"channel\", such as :const:" +"`SOUND_MIXER_PCM` or :const:`SOUND_MIXER_SYNTH`). This bitmask indicates a " +"subset of all available mixer controls---the :const:`SOUND_MIXER_\\*` " +"constants defined at module level. To determine if, for example, the current " +"mixer object supports a PCM mixer, use the following Python code::" +msgstr "" +"Цей метод повертає бітову маску, що визначає доступні елементи керування " +"мікшером (\"Контроль\" — це певний \"канал\", який можна змішувати, " +"наприклад :const:`SOUND_MIXER_PCM` або :const:`SOUND_MIXER_SYNTH`). Ця " +"бітова маска вказує на підмножину всіх доступних елементів керування " +"мікшером ---константи :const:`SOUND_MIXER_\\*`, визначені на рівні модуля. " +"Щоб визначити, наприклад, чи підтримує поточний об’єкт мікшера мікшер PCM, " +"використовуйте такий код Python::" + +msgid "" +"For most purposes, the :const:`SOUND_MIXER_VOLUME` (master volume) and :" +"const:`SOUND_MIXER_PCM` controls should suffice---but code that uses the " +"mixer should be flexible when it comes to choosing mixer controls. On the " +"Gravis Ultrasound, for example, :const:`SOUND_MIXER_VOLUME` does not exist." +msgstr "" +"Для більшості цілей має бути достатньо елементів керування :const:" +"`SOUND_MIXER_VOLUME` (основна гучність) і :const:`SOUND_MIXER_PCM` --- але " +"код, який використовує мікшер, має бути гнучким, коли справа доходить до " +"вибору елементів керування мікшером. На Gravis Ultrasound, наприклад, :const:" +"`SOUND_MIXER_VOLUME` не існує." + +msgid "" +"Returns a bitmask indicating stereo mixer controls. If a bit is set, the " +"corresponding control is stereo; if it is unset, the control is either " +"monophonic or not supported by the mixer (use in combination with :meth:" +"`controls` to determine which)." +msgstr "" +"Повертає бітову маску, яка вказує на елементи керування стереомікшером. Якщо " +"встановлено біт, відповідний елемент керування є стерео; якщо його не " +"встановлено, елемент керування або монофонічний, або не підтримується " +"мікшером (використовуйте в поєднанні з :meth:`controls`, щоб визначити, " +"який)." + +msgid "" +"See the code example for the :meth:`controls` function for an example of " +"getting data from a bitmask." +msgstr "" +"Перегляньте приклад коду для функції :meth:`controls` для прикладу отримання " +"даних із бітової маски." + +msgid "" +"Returns a bitmask specifying the mixer controls that may be used to record. " +"See the code example for :meth:`controls` for an example of reading from a " +"bitmask." +msgstr "" +"Повертає бітову маску, що визначає елементи керування мікшером, які можна " +"використовувати для запису. Перегляньте приклад коду для :meth:`controls` " +"для прикладу читання з бітової маски." + +msgid "" +"Returns the volume of a given mixer control. The returned volume is a 2-" +"tuple ``(left_volume,right_volume)``. Volumes are specified as numbers from " +"0 (silent) to 100 (full volume). If the control is monophonic, a 2-tuple is " +"still returned, but both volumes are the same." +msgstr "" +"Повертає гучність даного регулятора мікшера. Повернутий том – це 2-кортеж " +"``(left_volume,right_volume)``. Обсяги вказуються числами від 0 (тиха) до " +"100 (повна гучність). Якщо елемент керування монофонічний, 2-кортеж все одно " +"повертається, але обидва об’єми однакові." + +msgid "" +"Raises :exc:`OSSAudioError` if an invalid control is specified, or :exc:" +"`OSError` if an unsupported control is specified." +msgstr "" +"Викликає :exc:`OSSAudioError`, якщо вказано недійсний елемент керування, " +"або :exc:`OSError`, якщо вказано непідтримуваний елемент керування." + +msgid "" +"Sets the volume for a given mixer control to ``(left,right)``. ``left`` and " +"``right`` must be ints and between 0 (silent) and 100 (full volume). On " +"success, the new volume is returned as a 2-tuple. Note that this may not be " +"exactly the same as the volume specified, because of the limited resolution " +"of some soundcard's mixers." +msgstr "" +"Встановлює гучність для даного регулятора мікшера на ``(ліворуч,праворуч)``. " +"``left`` і ``right`` мають мати цілі значення та бути в межах від 0 (без " +"звуку) до 100 (повна гучність). У разі успіху новий том повертається як 2-" +"кортеж. Зауважте, що це може не збігатися з указаною гучністю через обмежену " +"роздільну здатність деяких мікшерів звукової карти." + +msgid "" +"Raises :exc:`OSSAudioError` if an invalid mixer control was specified, or if " +"the specified volumes were out-of-range." +msgstr "" +"Викликає :exc:`OSSAudioError`, якщо було вказано недійсний елемент керування " +"мікшером або якщо вказані гучності вийшли за межі діапазону." + +msgid "" +"This method returns a bitmask indicating which control(s) are currently " +"being used as a recording source." +msgstr "" +"Цей метод повертає бітову маску, яка вказує на те, який(-і) елемент(и) " +"наразі використовується як джерело запису." + +msgid "" +"Call this function to specify a recording source. Returns a bitmask " +"indicating the new recording source (or sources) if successful; raises :exc:" +"`OSError` if an invalid source was specified. To set the current recording " +"source to the microphone input::" +msgstr "" +"Викличте цю функцію, щоб вказати джерело запису. Повертає бітову маску, що " +"вказує на нове джерело (або джерела) запису в разі успіху; викликає :exc:" +"`OSError`, якщо вказано недійсне джерело. Щоб встановити поточне джерело " +"запису на вхід мікрофона:" diff --git a/library/othergui.po b/library/othergui.po new file mode 100644 index 000000000..16fa19f16 --- /dev/null +++ b/library/othergui.po @@ -0,0 +1,135 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# serhii pavlenko, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-03 13:12+0000\n" +"PO-Revision-Date: 2021-06-28 01:10+0000\n" +"Last-Translator: serhii pavlenko, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Other Graphical User Interface Packages" +msgstr "Інші пакети графічного інтерфейсу користувача" + +msgid "" +"Major cross-platform (Windows, macOS, Unix-like) GUI toolkits are available " +"for Python:" +msgstr "" +"Для Python доступні основні кросплатформні (Windows, macOS, Unix-подібні) " +"інструменти GUI:" + +msgid "`PyGObject `_" +msgstr "`PyGObject `_" + +msgid "" +"PyGObject provides introspection bindings for C libraries using `GObject " +"`_. One of these libraries is " +"the `GTK+ 3 `_ widget set. GTK+ comes with many more " +"widgets than Tkinter provides. An online `Python GTK+ 3 Tutorial `_ is available." +msgstr "" +"PyGObject забезпечує інтроспекційні зв’язки для бібліотек C за допомогою " +"`GObject `_. Однією з цих " +"бібліотек є набір віджетів `GTK+ 3 `_. GTK+ має " +"набагато більше віджетів, ніж Tkinter. Доступний онлайн-навчальний посібник " +"із Python GTK+ 3 `_." + +msgid "`PyGTK `_" +msgstr "`PyGTK `_" + +msgid "" +"PyGTK provides bindings for an older version of the library, GTK+ 2. It " +"provides an object oriented interface that is slightly higher level than the " +"C one. There are also bindings to `GNOME `_. An " +"online `tutorial `_ is " +"available." +msgstr "" +"PyGTK надає прив’язки для старішої версії бібліотеки, GTK+ 2. Він надає " +"об’єктно-орієнтований інтерфейс трохи вищого рівня, ніж C. Існують також " +"прив’язки до `GNOME `_. Доступний онлайн-підручник " +"`_." + +msgid "`PyQt `_" +msgstr "`PyQt `_" + +msgid "" +"PyQt is a :program:`sip`\\ -wrapped binding to the Qt toolkit. Qt is an " +"extensive C++ GUI application development framework that is available for " +"Unix, Windows and macOS. :program:`sip` is a tool for generating bindings " +"for C++ libraries as Python classes, and is specifically designed for Python." +msgstr "" +"PyQt — це :program:`sip`\\ прив'язка до набору інструментів Qt. Qt — це " +"обширна структура розробки додатків C++ GUI, доступна для Unix, Windows і " +"macOS. :program:`sip` — це інструмент для генерування зв’язків для бібліотек " +"C++ як класів Python, розроблений спеціально для Python." + +msgid "`PySide2 `_" +msgstr "`PySide2 `_" + +msgid "" +"Also known as the Qt for Python project, PySide2 is a newer binding to the " +"Qt toolkit. It is provided by The Qt Company and aims to provide a complete " +"port of PySide to Qt 5. Compared to PyQt, its licensing scheme is friendlier " +"to non-open source applications." +msgstr "" +"Також відомий як проект Qt для Python, PySide2 — це новіша прив’язка до " +"набору інструментів Qt. Він надається компанією Qt і має на меті забезпечити " +"повне перенесення PySide на Qt 5. Порівняно з PyQt його схема ліцензування є " +"дружнішою до програм із невідкритим кодом." + +msgid "`wxPython `_" +msgstr "`wxPython `_" + +msgid "" +"wxPython is a cross-platform GUI toolkit for Python that is built around the " +"popular `wxWidgets `_ (formerly wxWindows) C++ " +"toolkit. It provides a native look and feel for applications on Windows, " +"macOS, and Unix systems by using each platform's native widgets where ever " +"possible, (GTK+ on Unix-like systems). In addition to an extensive set of " +"widgets, wxPython provides classes for online documentation and context " +"sensitive help, printing, HTML viewing, low-level device context drawing, " +"drag and drop, system clipboard access, an XML-based resource format and " +"more, including an ever growing library of user-contributed modules." +msgstr "" +"wxPython — це крос-платформний набір графічних інтерфейсів для Python, " +"побудований на основі популярного набору інструментів C++ `wxWidgets " +"`_ (раніше wxWindows). Він забезпечує власний " +"вигляд і відчуття для програм у системах Windows, macOS і Unix, " +"використовуючи рідні віджети кожної платформи, де це можливо (GTK+ на Unix-" +"подібних системах). На додаток до великого набору віджетів, wxPython надає " +"класи для онлайн-документації та контекстно-залежної допомоги, друку, " +"перегляду HTML, низькорівневого малювання контексту пристрою, перетягування, " +"доступу до системного буфера обміну, формату ресурсів на основі XML тощо, " +"включаючи постійно зростаюча бібліотека модулів, доданих користувачами." + +msgid "" +"PyGTK, PyQt, PySide2, and wxPython, all have a modern look and feel and more " +"widgets than Tkinter. In addition, there are many other GUI toolkits for " +"Python, both cross-platform, and platform-specific. See the `GUI Programming " +"`_ page in the Python Wiki for " +"a much more complete list, and also for links to documents where the " +"different GUI toolkits are compared." +msgstr "" +"PyGTK, PyQt, PySide2 і wxPython мають сучасний вигляд і більше віджетів, ніж " +"Tkinter. Крім того, існує багато інших наборів графічних інтерфейсів для " +"Python, як кросплатформних, так і специфічних для платформи. Перегляньте " +"сторінку `Програмування графічного інтерфейсу `_ у Python Wiki для більш повного списку, а також для " +"посилань на документи, де порівнюються різні інструменти GUI." diff --git a/library/pathlib.po b/library/pathlib.po new file mode 100644 index 000000000..bbb936604 --- /dev/null +++ b/library/pathlib.po @@ -0,0 +1,1253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pathlib` --- Object-oriented filesystem paths" +msgstr ":mod:`pathlib` --- Шляхи до об'єктно-орієнтованої файлової системи" + +msgid "**Source code:** :source:`Lib/pathlib.py`" +msgstr "**Вихідний код:** :source:`Lib/pathlib.py`" + +msgid "" +"This module offers classes representing filesystem paths with semantics " +"appropriate for different operating systems. Path classes are divided " +"between :ref:`pure paths `, which provide purely computational " +"operations without I/O, and :ref:`concrete paths `, which " +"inherit from pure paths but also provide I/O operations." +msgstr "" +"Цей модуль пропонує класи, що представляють шляхи файлової системи із " +"семантикою, відповідною до різних операційних систем. Класи шляхів " +"поділяються на :ref:`чисті шляхи `, які забезпечують суто " +"обчислювальні операції без введення/виведення, та :ref:`конкретні шляхи " +"`, які успадковують чисті шляхи, але також забезпечують " +"операції введення/виведення." + +msgid "" +"If you've never used this module before or just aren't sure which class is " +"right for your task, :class:`Path` is most likely what you need. It " +"instantiates a :ref:`concrete path ` for the platform the " +"code is running on." +msgstr "" +"Якщо ви ніколи раніше не користувалися цим модулем або просто не впевнені, " +"який клас підходить для вашого завдання, :class:`Path`, швидше за все, це " +"те, що вам потрібно. Він створює екземпляр :ref:`конкретного шляху ` для платформи, на якій працює код." + +msgid "Pure paths are useful in some special cases; for example:" +msgstr "Чисті шляхи корисні в деяких особливих випадках; наприклад:" + +msgid "" +"If you want to manipulate Windows paths on a Unix machine (or vice versa). " +"You cannot instantiate a :class:`WindowsPath` when running on Unix, but you " +"can instantiate :class:`PureWindowsPath`." +msgstr "" +"Якщо ви хочете маніпулювати шляхами Windows на машині Unix (або навпаки). Ви " +"не можете створити екземпляр :class:`WindowsPath` під час роботи в Unix, але " +"ви можете створити екземпляр :class:`PureWindowsPath`." + +msgid "" +"You want to make sure that your code only manipulates paths without actually " +"accessing the OS. In this case, instantiating one of the pure classes may be " +"useful since those simply don't have any OS-accessing operations." +msgstr "" +"Ви хочете переконатися, що ваш код обробляє лише шляхи без фактичного " +"доступу до ОС. У цьому випадку створення одного з чистих класів може бути " +"корисним, оскільки вони просто не мають жодних операцій доступу до ОС." + +msgid ":pep:`428`: The pathlib module -- object-oriented filesystem paths." +msgstr "" +":pep:`428`: Модуль pathlib -- шляхи об'єктно-орієнтованої файлової системи." + +msgid "" +"For low-level path manipulation on strings, you can also use the :mod:`os." +"path` module." +msgstr "" +"Для низькорівневих маніпуляцій шляхом до рядків ви також можете " +"використовувати модуль :mod:`os.path`." + +msgid "Basic use" +msgstr "Основне використання" + +msgid "Importing the main class::" +msgstr "Імпорт основного класу::" + +msgid "Listing subdirectories::" +msgstr "Перелік підкаталогів::" + +msgid "Listing Python source files in this directory tree::" +msgstr "Перелік вихідних файлів Python у цьому дереві каталогів::" + +msgid "Navigating inside a directory tree::" +msgstr "Навігація всередині дерева каталогів::" + +msgid "Querying path properties::" +msgstr "Властивості шляху запиту::" + +msgid "Opening a file::" +msgstr "Відкриття файлу::" + +msgid "Pure paths" +msgstr "Чисті стежки" + +msgid "" +"Pure path objects provide path-handling operations which don't actually " +"access a filesystem. There are three ways to access these classes, which we " +"also call *flavours*:" +msgstr "" +"Об’єкти чистого шляху забезпечують операції обробки шляху, які фактично не " +"мають доступу до файлової системи. Є три способи отримати доступ до цих " +"класів, які ми також називаємо *смаками*:" + +msgid "" +"A generic class that represents the system's path flavour (instantiating it " +"creates either a :class:`PurePosixPath` or a :class:`PureWindowsPath`)::" +msgstr "" +"Загальний клас, який представляє шлях до системи (його екземпляр створює " +"або :class:`PurePosixPath`, або :class:`PureWindowsPath`)::" + +msgid "" +"Each element of *pathsegments* can be either a string representing a path " +"segment, an object implementing the :class:`os.PathLike` interface which " +"returns a string, or another path object::" +msgstr "" +"Кожен елемент *pathsegments* може бути або рядком, що представляє сегмент " +"шляху, об’єктом, що реалізує інтерфейс :class:`os.PathLike`, який повертає " +"рядок, або іншим об’єктом шляху::" + +msgid "When *pathsegments* is empty, the current directory is assumed::" +msgstr "Якщо *pathsegments* порожній, передбачається поточний каталог::" + +msgid "" +"When several absolute paths are given, the last is taken as an anchor " +"(mimicking :func:`os.path.join`'s behaviour)::" +msgstr "" +"Якщо задано кілька абсолютних шляхів, останній береться як прив’язка " +"(імітація поведінки :func:`os.path.join`)::" + +msgid "" +"However, in a Windows path, changing the local root doesn't discard the " +"previous drive setting::" +msgstr "" +"Однак у шляху Windows зміна локального кореня не скасовує попередні " +"налаштування диска::" + +msgid "" +"Spurious slashes and single dots are collapsed, but double dots (``'..'``) " +"and leading double slashes (``'//'``) are not, since this would change the " +"meaning of a path for various reasons (e.g. symbolic links, UNC paths)::" +msgstr "" +"Фальшиві косі риски та одиночні крапки згортаються, але подвійні крапки " +"(``'..''``) і початкові подвійні косі риски (``'//'``) – ні, оскільки це " +"може змінити значення шляху з різних причин (наприклад, символічні " +"посилання, шляхи UNC):" + +msgid "" +"(a naïve approach would make ``PurePosixPath('foo/../bar')`` equivalent to " +"``PurePosixPath('bar')``, which is wrong if ``foo`` is a symbolic link to " +"another directory)" +msgstr "" +"(наївний підхід зробив би ``PurePosixPath('foo/../bar')`` еквівалентним " +"``PurePosixPath('bar')``, що є неправильним, якщо ``foo`` є символічним " +"посиланням на інший каталог )" + +msgid "" +"Pure path objects implement the :class:`os.PathLike` interface, allowing " +"them to be used anywhere the interface is accepted." +msgstr "" +"Об’єкти чистого шляху реалізують інтерфейс :class:`os.PathLike`, що дозволяє " +"використовувати їх будь-де, де прийнятний інтерфейс." + +msgid "Added support for the :class:`os.PathLike` interface." +msgstr "Додано підтримку інтерфейсу :class:`os.PathLike`." + +msgid "" +"A subclass of :class:`PurePath`, this path flavour represents non-Windows " +"filesystem paths::" +msgstr "" +"Підклас :class:`PurePath`, цей варіант шляху представляє шляхи до файлової " +"системи не Windows::" + +msgid "*pathsegments* is specified similarly to :class:`PurePath`." +msgstr "*pathsegments* вказується подібно до :class:`PurePath`." + +msgid "" +"A subclass of :class:`PurePath`, this path flavour represents Windows " +"filesystem paths, including `UNC paths`_::" +msgstr "" +"Підклас :class:`PurePath`, цей варіант шляху представляє шляхи файлової " +"системи Windows, включаючи `шляхи UNC`_::" + +msgid "" +"Regardless of the system you're running on, you can instantiate all of these " +"classes, since they don't provide any operation that does system calls." +msgstr "" +"Незалежно від системи, на якій ви працюєте, ви можете створити екземпляри " +"всіх цих класів, оскільки вони не забезпечують жодних операцій, які " +"виконують системні виклики." + +msgid "General properties" +msgstr "Загальні властивості" + +msgid "" +"Paths are immutable and hashable. Paths of a same flavour are comparable " +"and orderable. These properties respect the flavour's case-folding " +"semantics::" +msgstr "" +"Шляхи є незмінними та хешованими. Шляхи одного смаку можна порівняти та " +"замовити. Ці властивості зважають на семантику регістра:" + +msgid "Paths of a different flavour compare unequal and cannot be ordered::" +msgstr "" +"Шляхи різного смаку порівнюються нерівнозначно і не можуть бути " +"впорядковані::" + +msgid "Operators" +msgstr "Оператори" + +msgid "" +"The slash operator helps create child paths, similarly to :func:`os.path." +"join`::" +msgstr "" +"Оператор скісної риски допомагає створити дочірні шляхи, подібно до :func:" +"`os.path.join`::" + +msgid "" +"A path object can be used anywhere an object implementing :class:`os." +"PathLike` is accepted::" +msgstr "" +"Об’єкт шляху можна використовувати скрізь, де прийнятний об’єкт, що " +"реалізує :class:`os.PathLike`::" + +msgid "" +"The string representation of a path is the raw filesystem path itself (in " +"native form, e.g. with backslashes under Windows), which you can pass to any " +"function taking a file path as a string::" +msgstr "" +"Рядкове представлення шляху — це сам необроблений шлях до файлової системи " +"(у рідній формі, наприклад із зворотними похилими рисками під Windows), який " +"ви можете передати будь-якій функції, яка приймає шлях до файлу як рядок::" + +msgid "" +"Similarly, calling :class:`bytes` on a path gives the raw filesystem path as " +"a bytes object, as encoded by :func:`os.fsencode`::" +msgstr "" +"Подібним чином виклик :class:`bytes` для шляху дає необроблений шлях до " +"файлової системи як об’єкт bytes, закодований :func:`os.fsencode`::" + +msgid "" +"Calling :class:`bytes` is only recommended under Unix. Under Windows, the " +"unicode form is the canonical representation of filesystem paths." +msgstr "" +"Виклик :class:`bytes` рекомендовано лише в Unix. У Windows форма Юнікод є " +"канонічним представленням шляхів файлової системи." + +msgid "Accessing individual parts" +msgstr "Доступ до окремих частин" + +msgid "" +"To access the individual \"parts\" (components) of a path, use the following " +"property:" +msgstr "" +"Щоб отримати доступ до окремих \"частин\" (компонентів) шляху, " +"використовуйте наступну властивість:" + +msgid "A tuple giving access to the path's various components::" +msgstr "Кортеж, що надає доступ до різних компонентів шляху::" + +msgid "(note how the drive and local root are regrouped in a single part)" +msgstr "" +"(зверніть увагу, як диск і локальний корінь перегруповані в одній частині)" + +msgid "Methods and properties" +msgstr "Методи та властивості" + +msgid "Pure paths provide the following methods and properties:" +msgstr "Чисті шляхи забезпечують такі методи та властивості:" + +msgid "A string representing the drive letter or name, if any::" +msgstr "Рядок, що представляє літеру або назву диска, якщо є:" + +msgid "UNC shares are also considered drives::" +msgstr "Акції UNC також вважаються накопичувачами:" + +msgid "A string representing the (local or global) root, if any::" +msgstr "Рядок, що представляє (локальний або глобальний) корінь, якщо такий є:" + +msgid "UNC shares always have a root::" +msgstr "Акції UNC завжди мають корінь::" + +msgid "" +"If the path starts with more than two successive slashes, :class:`~pathlib." +"PurePosixPath` collapses them::" +msgstr "" +"Якщо шлях починається з більш ніж двох послідовних похилих рисок, :class:" +"`~pathlib.PurePosixPath` їх згортає:" + +msgid "" +"This behavior conforms to *The Open Group Base Specifications Issue 6*, " +"paragraph `4.11 Pathname Resolution `_:" +msgstr "" + +msgid "" +"*\"A pathname that begins with two successive slashes may be interpreted in " +"an implementation-defined manner, although more than two leading slashes " +"shall be treated as a single slash.\"*" +msgstr "" +"*\"Ім'я шляху, що починається з двох послідовних похилих рисок, може " +"інтерпретуватися у спосіб, визначений реалізацією, хоча більше двох " +"початкових похилих рисок повинні розглядатися як одна похила риска.\"*" + +msgid "The concatenation of the drive and root::" +msgstr "Конкатенація диска та кореня::" + +msgid "" +"An immutable sequence providing access to the logical ancestors of the path::" +msgstr "" +"Незмінна послідовність, що забезпечує доступ до логічних предків шляху::" + +msgid "" +"The parents sequence now supports :term:`slices ` and negative index " +"values." +msgstr "" +"Батьківська послідовність тепер підтримує :term:`slices ` і від’ємні " +"значення індексу." + +msgid "The logical parent of the path::" +msgstr "Логічний батько шляху::" + +msgid "You cannot go past an anchor, or empty path::" +msgstr "Ви не можете пройти повз якір або порожній шлях ::" + +msgid "This is a purely lexical operation, hence the following behaviour::" +msgstr "Це суто лексична операція, тому така поведінка:" + +msgid "" +"If you want to walk an arbitrary filesystem path upwards, it is recommended " +"to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate ``" +"\"..\"`` components." +msgstr "" + +msgid "" +"A string representing the final path component, excluding the drive and " +"root, if any::" +msgstr "" +"Рядок, що представляє кінцевий компонент шляху, за винятком диска та кореня, " +"якщо такі є::" + +msgid "UNC drive names are not considered::" +msgstr "Назви дисків UNC не враховуються:" + +msgid "The file extension of the final component, if any::" +msgstr "Розширення файлу кінцевого компонента, якщо є:" + +msgid "A list of the path's file extensions::" +msgstr "Список розширень файлів шляху::" + +msgid "The final path component, without its suffix::" +msgstr "Остаточний компонент шляху без суфікса::" + +msgid "" +"Return a string representation of the path with forward slashes (``/``)::" +msgstr "Повертає рядкове представлення шляху з похилою рискою (``/``)::" + +msgid "" +"Represent the path as a ``file`` URI. :exc:`ValueError` is raised if the " +"path isn't absolute." +msgstr "" +"Уявіть шлях як URI ``файлу``. :exc:`ValueError` виникає, якщо шлях не є " +"абсолютним." + +msgid "" +"Return whether the path is absolute or not. A path is considered absolute " +"if it has both a root and (if the flavour allows) a drive::" +msgstr "" +"Повернути, чи є шлях абсолютним чи ні. Шлях вважається абсолютним, якщо він " +"має як корінь, так і (якщо дозволяє аромат) диск::" + +msgid "Return whether or not this path is relative to the *other* path." +msgstr "Повертає, чи є цей шлях відносно *іншого* шляху." + +msgid "" +"With :class:`PureWindowsPath`, return ``True`` if the path is considered " +"reserved under Windows, ``False`` otherwise. With :class:`PurePosixPath`, " +"``False`` is always returned." +msgstr "" +"За допомогою :class:`PureWindowsPath` поверніть ``True``, якщо шлях " +"вважається зарезервованим під Windows, ``False`` інакше. З :class:" +"`PurePosixPath` завжди повертається ``False``." + +msgid "" +"File system calls on reserved paths can fail mysteriously or have unintended " +"effects." +msgstr "" +"Виклики файлової системи за зарезервованими шляхами можуть призвести до " +"таємничої помилки або призвести до небажаних наслідків." + +msgid "" +"Calling this method is equivalent to combining the path with each of the " +"*other* arguments in turn::" +msgstr "" +"Виклик цього методу еквівалентний поєднанню шляху з кожним з *інших* " +"аргументів по черзі::" + +msgid "" +"Match this path against the provided glob-style pattern. Return ``True`` if " +"matching is successful, ``False`` otherwise." +msgstr "" +"Зіставте цей шлях із наданим шаблоном у стилі glob. Повертає ``True``, якщо " +"зіставлення вдалось, ``False`` інакше." + +msgid "" +"If *pattern* is relative, the path can be either relative or absolute, and " +"matching is done from the right::" +msgstr "" +"Якщо *шаблон* є відносним, шлях може бути відносним або абсолютним, а " +"зіставлення виконується справа:" + +msgid "" +"If *pattern* is absolute, the path must be absolute, and the whole path must " +"match::" +msgstr "" +"Якщо *шаблон* є абсолютним, шлях має бути абсолютним, і весь шлях має " +"відповідати::" + +msgid "As with other methods, case-sensitivity follows platform defaults::" +msgstr "" +"Як і в інших методах, чутливість до регістру відповідає стандартам платформи:" + +msgid "" +"Compute a version of this path relative to the path represented by *other*. " +"If it's impossible, ValueError is raised::" +msgstr "" +"Обчисліть версію цього шляху відносно шляху, представленого *іншим*. Якщо це " +"неможливо, виникає ValueError::" + +msgid "" +"NOTE: This function is part of :class:`PurePath` and works with strings. It " +"does not check or access the underlying file structure." +msgstr "" +"ПРИМІТКА. Ця функція є частиною :class:`PurePath` і працює з рядками. Він не " +"перевіряє та не отримує доступу до основної файлової структури." + +msgid "" +"Return a new path with the :attr:`name` changed. If the original path " +"doesn't have a name, ValueError is raised::" +msgstr "" +"Повертає новий шлях зі зміненим :attr:`name`. Якщо вихідний шлях не має " +"імені, виникає ValueError::" + +msgid "" +"Return a new path with the :attr:`stem` changed. If the original path " +"doesn't have a name, ValueError is raised::" +msgstr "" +"Повертає новий шлях зі зміненим :attr:`stem`. Якщо вихідний шлях не має " +"імені, виникає ValueError::" + +msgid "" +"Return a new path with the :attr:`suffix` changed. If the original path " +"doesn't have a suffix, the new *suffix* is appended instead. If the " +"*suffix* is an empty string, the original suffix is removed::" +msgstr "" +"Повертає новий шлях зі зміненим :attr:`suffix`. Якщо вихідний шлях не має " +"суфікса, замість нього додається новий *суфікс*. Якщо *суфікс* є порожнім " +"рядком, вихідний суфікс видаляється:" + +msgid "Concrete paths" +msgstr "Бетонні доріжки" + +msgid "" +"Concrete paths are subclasses of the pure path classes. In addition to " +"operations provided by the latter, they also provide methods to do system " +"calls on path objects. There are three ways to instantiate concrete paths:" +msgstr "" +"Конкретні шляхи є підкласами класів чистих шляхів. На додаток до операцій, " +"наданих останнім, вони також надають методи для виконання системних викликів " +"об’єктів шляху. Є три способи створення конкретних шляхів:" + +msgid "" +"A subclass of :class:`PurePath`, this class represents concrete paths of the " +"system's path flavour (instantiating it creates either a :class:`PosixPath` " +"or a :class:`WindowsPath`)::" +msgstr "" +"Підклас :class:`PurePath`, цей клас представляє конкретні шляхи шляхів " +"системи (інстанціювання створює або :class:`PosixPath`, або :class:" +"`WindowsPath`)::" + +msgid "" +"A subclass of :class:`Path` and :class:`PurePosixPath`, this class " +"represents concrete non-Windows filesystem paths::" +msgstr "" +"Підклас :class:`Path` і :class:`PurePosixPath`, цей клас представляє " +"конкретні шляхи до файлової системи не Windows::" + +msgid "" +"A subclass of :class:`Path` and :class:`PureWindowsPath`, this class " +"represents concrete Windows filesystem paths::" +msgstr "" +"Підклас :class:`Path` і :class:`PureWindowsPath`, цей клас представляє " +"конкретні шляхи файлової системи Windows::" + +msgid "" +"You can only instantiate the class flavour that corresponds to your system " +"(allowing system calls on non-compatible path flavours could lead to bugs or " +"failures in your application)::" +msgstr "" +"Ви можете створити лише екземпляр класу, який відповідає вашій системі " +"(дозвол системних викликів за несумісними варіантами шляху може призвести до " +"помилок або збоїв у вашій програмі):" + +msgid "Methods" +msgstr "методи" + +msgid "" +"Concrete paths provide the following methods in addition to pure paths " +"methods. Many of these methods can raise an :exc:`OSError` if a system call " +"fails (for example because the path doesn't exist)." +msgstr "" +"Конкретні шляхи надають наступні методи на додаток до методів чистих шляхів. " +"Багато з цих методів можуть викликати :exc:`OSError`, якщо системний виклик " +"не вдається (наприклад, через те, що шлях не існує)." + +msgid "" +":meth:`~Path.exists()`, :meth:`~Path.is_dir()`, :meth:`~Path.is_file()`, :" +"meth:`~Path.is_mount()`, :meth:`~Path.is_symlink()`, :meth:`~Path." +"is_block_device()`, :meth:`~Path.is_char_device()`, :meth:`~Path." +"is_fifo()`, :meth:`~Path.is_socket()` now return ``False`` instead of " +"raising an exception for paths that contain characters unrepresentable at " +"the OS level." +msgstr "" +":meth:`~Path.exists()`, :meth:`~Path.is_dir()`, :meth:`~Path.is_file()`, :" +"meth:`~Path.is_mount()`, :meth:`~Path.is_symlink()`, :meth:`~Path." +"is_block_device()`, :meth:`~Path.is_char_device()`, :meth:`~Path." +"is_fifo()`, :meth:`~Path.is_socket()` тепер повертає ``False`` замість того, " +"щоб викликати виключення для шляхів, які містять символи, які неможливо " +"відобразити на рівні ОС." + +msgid "" +"Return a new path object representing the current directory (as returned by :" +"func:`os.getcwd`)::" +msgstr "" +"Повертає новий об’єкт шляху, що представляє поточний каталог (як повертає :" +"func:`os.getcwd`)::" + +msgid "" +"Return a new path object representing the user's home directory (as returned " +"by :func:`os.path.expanduser` with ``~`` construct). If the home directory " +"can't be resolved, :exc:`RuntimeError` is raised." +msgstr "" +"Повертає новий об’єкт шляху, що представляє домашній каталог користувача (як " +"повертає :func:`os.path.expanduser` за допомогою конструкції ``~``). Якщо не " +"вдається вирішити домашній каталог, виникає :exc:`RuntimeError`." + +msgid "" +"Return a :class:`os.stat_result` object containing information about this " +"path, like :func:`os.stat`. The result is looked up at each call to this " +"method." +msgstr "" +"Повертає об’єкт :class:`os.stat_result`, що містить інформацію про цей шлях, " +"наприклад :func:`os.stat`. Результат переглядається під час кожного виклику " +"цього методу." + +msgid "" +"This method normally follows symlinks; to stat a symlink add the argument " +"``follow_symlinks=False``, or use :meth:`~Path.lstat`." +msgstr "" +"Цей метод зазвичай слідує за символічними посиланнями; щоб стати символічним " +"посиланням, додайте аргумент ``follow_symlinks=False`` або використовуйте :" +"meth:`~Path.lstat`." + +msgid "The *follow_symlinks* parameter was added." +msgstr "Додано параметр *follow_symlinks*." + +msgid "Change the file mode and permissions, like :func:`os.chmod`." +msgstr "Змініть режим файлу та дозволи, наприклад :func:`os.chmod`." + +msgid "" +"This method normally follows symlinks. Some Unix flavours support changing " +"permissions on the symlink itself; on these platforms you may add the " +"argument ``follow_symlinks=False``, or use :meth:`~Path.lchmod`." +msgstr "" +"Цей метод зазвичай слідує за символічними посиланнями. Деякі різновиди Unix " +"підтримують зміну дозволів для самого символічного посилання; на цих " +"платформах ви можете додати аргумент ``follow_symlinks=False`` або " +"використовувати :meth:`~Path.lchmod`." + +msgid "Whether the path points to an existing file or directory::" +msgstr "Чи вказує шлях на існуючий файл або каталог::" + +msgid "" +"If the path points to a symlink, :meth:`exists` returns whether the symlink " +"*points to* an existing file or directory." +msgstr "" +"Якщо шлях вказує на символічне посилання, :meth:`exists` повертає, чи " +"*вказує символічне посилання* на існуючий файл або каталог." + +msgid "" +"Return a new path with expanded ``~`` and ``~user`` constructs, as returned " +"by :meth:`os.path.expanduser`. If a home directory can't be resolved, :exc:" +"`RuntimeError` is raised." +msgstr "" +"Повертає новий шлях із розширеними конструкціями ``~`` і ``~user``, як " +"повертає :meth:`os.path.expanduser`. Якщо не вдається вирішити домашній " +"каталог, виникає :exc:`RuntimeError`." + +msgid "" +"Glob the given relative *pattern* in the directory represented by this path, " +"yielding all matching files (of any kind)::" +msgstr "" +"Помістіть заданий відносний *шаблон* у каталог, представлений цим шляхом, " +"одержуючи всі відповідні файли (будь-якого типу)::" + +msgid "" +"Patterns are the same as for :mod:`fnmatch`, with the addition of \"``**``\" " +"which means \"this directory and all subdirectories, recursively\". In " +"other words, it enables recursive globbing::" +msgstr "" +"Шаблони такі ж, як і для :mod:`fnmatch`, з додаванням \"``**``\", що означає " +"\"цей каталог і всі підкаталоги, рекурсивно\". Іншими словами, це дозволяє " +"рекурсивне глоббування::" + +msgid "" +"Using the \"``**``\" pattern in large directory trees may consume an " +"inordinate amount of time." +msgstr "" +"Використання шаблону \"``**``\" у великих деревах каталогів може зайняти " +"надто багато часу." + +msgid "" +"Raises an :ref:`auditing event ` ``pathlib.Path.glob`` with " +"arguments ``self``, ``pattern``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``pathlib.Path.glob`` з аргументами " +"``self``, ``pattern``." + +msgid "" +"Return only directories if *pattern* ends with a pathname components " +"separator (:data:`~os.sep` or :data:`~os.altsep`)." +msgstr "" + +msgid "" +"Return the name of the group owning the file. :exc:`KeyError` is raised if " +"the file's gid isn't found in the system database." +msgstr "" +"Повернути назву групи, якій належить файл. :exc:`KeyError` виникає, якщо gid " +"файлу не знайдено в системній базі даних." + +msgid "" +"Return ``True`` if the path points to a directory (or a symbolic link " +"pointing to a directory), ``False`` if it points to another kind of file." +msgstr "" +"Повертає ``True``, якщо шлях вказує на каталог (або символічне посилання, що " +"вказує на каталог), ``False``, якщо він вказує на інший тип файлу." + +msgid "" +"``False`` is also returned if the path doesn't exist or is a broken symlink; " +"other errors (such as permission errors) are propagated." +msgstr "" +"``False`` також повертається, якщо шлях не існує або це несправне символічне " +"посилання; інші помилки (наприклад, помилки дозволу) поширюються." + +msgid "" +"Return ``True`` if the path points to a regular file (or a symbolic link " +"pointing to a regular file), ``False`` if it points to another kind of file." +msgstr "" +"Повертає ``True``, якщо шлях вказує на звичайний файл (або символічне " +"посилання, що вказує на звичайний файл), ``False``, якщо він вказує на файл " +"іншого типу." + +msgid "" +"Return ``True`` if the path is a :dfn:`mount point`: a point in a file " +"system where a different file system has been mounted. On POSIX, the " +"function checks whether *path*'s parent, :file:`path/..`, is on a different " +"device than *path*, or whether :file:`path/..` and *path* point to the same " +"i-node on the same device --- this should detect mount points for all Unix " +"and POSIX variants. Not implemented on Windows." +msgstr "" +"Повертає ``True``, якщо шлях є :dfn:`mount point`: точкою у файловій " +"системі, де була змонтована інша файлова система. У POSIX функція перевіряє, " +"чи батьківський елемент *path*, :file:`path/..`, знаходиться на іншому " +"пристрої, ніж *path*, чи :file:`path/..` і *path* вказують до того самого i-" +"вузла на тому самому пристрої --- це має виявити точки монтування для всіх " +"варіантів Unix і POSIX. Не реалізовано в Windows." + +msgid "" +"Return ``True`` if the path points to a symbolic link, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо шлях вказує на символічне посилання, ``False`` " +"інакше." + +msgid "" +"``False`` is also returned if the path doesn't exist; other errors (such as " +"permission errors) are propagated." +msgstr "" +"``False`` також повертається, якщо шлях не існує; інші помилки (наприклад, " +"помилки дозволу) поширюються." + +msgid "" +"Return ``True`` if the path points to a Unix socket (or a symbolic link " +"pointing to a Unix socket), ``False`` if it points to another kind of file." +msgstr "" +"Повертає ``True``, якщо шлях вказує на сокет Unix (або символічне посилання, " +"що вказує на сокет Unix), ``False``, якщо він вказує на інший тип файлу." + +msgid "" +"Return ``True`` if the path points to a FIFO (or a symbolic link pointing to " +"a FIFO), ``False`` if it points to another kind of file." +msgstr "" +"Повертає ``True``, якщо шлях вказує на FIFO (або символічне посилання, що " +"вказує на FIFO), ``False``, якщо він вказує на інший тип файлу." + +msgid "" +"Return ``True`` if the path points to a block device (or a symbolic link " +"pointing to a block device), ``False`` if it points to another kind of file." +msgstr "" +"Повертає ``True``, якщо шлях вказує на блоковий пристрій (або символічне " +"посилання, що вказує на блоковий пристрій), ``False``, якщо він вказує на " +"інший тип файлу." + +msgid "" +"Return ``True`` if the path points to a character device (or a symbolic link " +"pointing to a character device), ``False`` if it points to another kind of " +"file." +msgstr "" +"Повертає ``True``, якщо шлях вказує на символьний пристрій (або символічне " +"посилання, що вказує на символьний пристрій), ``False``, якщо він вказує на " +"інший тип файлу." + +msgid "" +"When the path points to a directory, yield path objects of the directory " +"contents::" +msgstr "Коли шлях вказує на каталог, видає об’єкти шляху вмісту каталогу::" + +msgid "" +"The children are yielded in arbitrary order, and the special entries ``'.'`` " +"and ``'..'`` are not included. If a file is removed from or added to the " +"directory after creating the iterator, whether a path object for that file " +"be included is unspecified." +msgstr "" +"Дочірні елементи видаються в довільному порядку, і спеціальні записи ``'.'`` " +"і ``'..'`` не включені. Якщо файл видалено з каталогу або додано до нього " +"після створення ітератора, чи буде включений об’єкт шляху для цього файлу, " +"не визначено." + +msgid "" +"Like :meth:`Path.chmod` but, if the path points to a symbolic link, the " +"symbolic link's mode is changed rather than its target's." +msgstr "" +"Подібно до :meth:`Path.chmod`, але якщо шлях вказує на символічне посилання, " +"змінюється режим символічного посилання, а не його призначення." + +msgid "" +"Like :meth:`Path.stat` but, if the path points to a symbolic link, return " +"the symbolic link's information rather than its target's." +msgstr "" +"Подібно до :meth:`Path.stat`, але якщо шлях вказує на символічне посилання, " +"повертається інформація про символічне посилання, а не про його ціль." + +msgid "" +"Create a new directory at this given path. If *mode* is given, it is " +"combined with the process' ``umask`` value to determine the file mode and " +"access flags. If the path already exists, :exc:`FileExistsError` is raised." +msgstr "" +"Створіть новий каталог за вказаним шляхом. Якщо задано *mode*, воно " +"поєднується зі значенням ``umask`` процесу для визначення режиму файлу та " +"позначок доступу. Якщо шлях уже існує, виникає :exc:`FileExistsError`." + +msgid "" +"If *parents* is true, any missing parents of this path are created as " +"needed; they are created with the default permissions without taking *mode* " +"into account (mimicking the POSIX ``mkdir -p`` command)." +msgstr "" +"Якщо *parents* має значення true, будь-які відсутні батьки цього шляху " +"створюються за потреби; вони створюються з дозволами за замовчуванням без " +"урахування *mode* (імітація команди POSIX ``mkdir -p``)." + +msgid "" +"If *parents* is false (the default), a missing parent raises :exc:" +"`FileNotFoundError`." +msgstr "" +"Якщо *parents* має значення false (за замовчуванням), відсутній батьківський " +"елемент викликає :exc:`FileNotFoundError`." + +msgid "" +"If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " +"the target directory already exists." +msgstr "" +"Якщо *exist_ok* має значення false (за замовчуванням), :exc:" +"`FileExistsError` викликається, якщо цільовий каталог уже існує." + +msgid "" +"If *exist_ok* is true, :exc:`FileExistsError` exceptions will be ignored " +"(same behavior as the POSIX ``mkdir -p`` command), but only if the last path " +"component is not an existing non-directory file." +msgstr "" +"Якщо *exist_ok* має значення true, винятки :exc:`FileExistsError` " +"ігноруватимуться (така ж поведінка, що й команда POSIX ``mkdir -p``), але " +"лише якщо останній компонент шляху не є існуючим файлом, що не є каталогом." + +msgid "The *exist_ok* parameter was added." +msgstr "Додано параметр *exist_ok*." + +msgid "" +"Open the file pointed to by the path, like the built-in :func:`open` " +"function does::" +msgstr "" +"Відкрийте файл, на який вказує шлях, як це робить вбудована функція :func:" +"`open`:" + +msgid "" +"Return the name of the user owning the file. :exc:`KeyError` is raised if " +"the file's uid isn't found in the system database." +msgstr "" +"Повернути ім’я користувача, якому належить файл. :exc:`KeyError` виникає, " +"якщо uid файлу не знайдено в системній базі даних." + +msgid "Return the binary contents of the pointed-to file as a bytes object::" +msgstr "Повертає двійковий вміст зазначеного файлу як об’єкт bytes::" + +msgid "Return the decoded contents of the pointed-to file as a string::" +msgstr "Повертає декодований вміст вказаного файлу як рядок::" + +msgid "" +"The file is opened and then closed. The optional parameters have the same " +"meaning as in :func:`open`." +msgstr "" +"Файл відкривається, а потім закривається. Необов’язкові параметри мають те " +"саме значення, що й у :func:`open`." + +msgid "" +"Return the path to which the symbolic link points (as returned by :func:`os." +"readlink`)::" +msgstr "" +"Повертає шлях, на який вказує символічне посилання (як повертає :func:`os." +"readlink`)::" + +msgid "" +"Rename this file or directory to the given *target*, and return a new Path " +"instance pointing to *target*. On Unix, if *target* exists and is a file, " +"it will be replaced silently if the user has permission. On Windows, if " +"*target* exists, :exc:`FileExistsError` will be raised. *target* can be " +"either a string or another path object::" +msgstr "" +"Перейменуйте цей файл або каталог на задану *ціль* і поверніть новий " +"екземпляр шляху, що вказує на *ціль*. В Unix, якщо *target* існує і є " +"файлом, його буде замінено мовчки, якщо користувач має дозвіл. У Windows, " +"якщо *ціль* існує, буде викликано :exc:`FileExistsError`. *target* може бути " +"або рядком, або іншим об’єктом шляху::" + +msgid "" +"The target path may be absolute or relative. Relative paths are interpreted " +"relative to the current working directory, *not* the directory of the Path " +"object." +msgstr "" +"Цільовий шлях може бути абсолютним або відносним. Відносні шляхи " +"інтерпретуються відносно поточного робочого каталогу, *а не* каталогу " +"об’єкта Path." + +msgid "Added return value, return the new Path instance." +msgstr "Додано значення, що повертається, повертає новий екземпляр Path." + +msgid "" +"Rename this file or directory to the given *target*, and return a new Path " +"instance pointing to *target*. If *target* points to an existing file or " +"empty directory, it will be unconditionally replaced." +msgstr "" +"Перейменуйте цей файл або каталог на задану *ціль* і поверніть новий " +"екземпляр шляху, що вказує на *ціль*. Якщо *target* вказує на існуючий файл " +"або порожній каталог, його буде безумовно замінено." + +msgid "" +"Make the path absolute, without normalization or resolving symlinks. Returns " +"a new path object::" +msgstr "" + +msgid "" +"Make the path absolute, resolving any symlinks. A new path object is " +"returned::" +msgstr "" +"Зробіть шлях абсолютним, дозволяючи будь-які символічні посилання. " +"Повертається новий об'єкт шляху::" + +msgid "" +"\"``..``\" components are also eliminated (this is the only method to do " +"so)::" +msgstr "Компоненти \"``..``\" також видаляються (це єдиний спосіб зробити це):" + +msgid "" +"If the path doesn't exist and *strict* is ``True``, :exc:`FileNotFoundError` " +"is raised. If *strict* is ``False``, the path is resolved as far as " +"possible and any remainder is appended without checking whether it exists. " +"If an infinite loop is encountered along the resolution path, :exc:" +"`RuntimeError` is raised." +msgstr "" +"Якщо шлях не існує і *strict* має значення ``True``, виникає :exc:" +"`FileNotFoundError`. Якщо *strict* має значення ``False``, шлях " +"розв’язується, наскільки це можливо, і будь-який залишок додається без " +"перевірки його існування. Якщо на шляху вирішення зустрічається нескінченний " +"цикл, виникає :exc:`RuntimeError`." + +msgid "The *strict* argument (pre-3.6 behavior is strict)." +msgstr "Аргумент *strict* (поведінка до 3.6 сувора)." + +msgid "" +"This is like calling :func:`Path.glob` with \"``**/``\" added in front of " +"the given relative *pattern*::" +msgstr "" +"Це схоже на виклик :func:`Path.glob` з додаванням \"``**/``\" перед заданим " +"відносним *шаблоном*::" + +msgid "" +"Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " +"arguments ``self``, ``pattern``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``pathlib.Path.rglob`` з аргументами " +"``self``, ``pattern``." + +msgid "Remove this directory. The directory must be empty." +msgstr "Видаліть цей каталог. Каталог має бути порожнім." + +msgid "" +"Return whether this path points to the same file as *other_path*, which can " +"be either a Path object, or a string. The semantics are similar to :func:" +"`os.path.samefile` and :func:`os.path.samestat`." +msgstr "" +"Повертає, чи цей шлях вказує на той самий файл, що й *other_path*, який може " +"бути об’єктом Path або рядком. Семантика подібна до :func:`os.path.samefile` " +"і :func:`os.path.samestat`." + +msgid "" +"An :exc:`OSError` can be raised if either file cannot be accessed for some " +"reason." +msgstr "" +":exc:`OSError` може виникнути, якщо з певної причини неможливо отримати " +"доступ до будь-якого файлу." + +msgid "" +"Make this path a symbolic link to *target*. Under Windows, " +"*target_is_directory* must be true (default ``False``) if the link's target " +"is a directory. Under POSIX, *target_is_directory*'s value is ignored." +msgstr "" +"Зробіть цей шлях символічним посиланням на *target*. У Windows " +"*target_is_directory* має бути істинним (за замовчуванням ``False``), якщо " +"цільовим посиланням є каталог. У POSIX значення *target_is_directory* " +"ігнорується." + +msgid "" +"The order of arguments (link, target) is the reverse of :func:`os.symlink`'s." +msgstr "" +"Порядок аргументів (посилання, ціль) є зворотним порядку :func:`os.symlink`." + +msgid "Make this path a hard link to the same file as *target*." +msgstr "Зробіть цей шлях жорстким посиланням на той самий файл, що й *target*." + +msgid "" +"The order of arguments (link, target) is the reverse of :func:`os.link`'s." +msgstr "" +"Порядок аргументів (посилання, ціль) є зворотним порядку :func:`os.link`." + +msgid "Make *target* a hard link to this path." +msgstr "Зробіть *target* жорстким посиланням на цей шлях." + +msgid "" +"This function does not make this path a hard link to *target*, despite the " +"implication of the function and argument names. The argument order (target, " +"link) is the reverse of :func:`Path.symlink_to` and :func:`Path." +"hardlink_to`, but matches that of :func:`os.link`." +msgstr "" +"Ця функція не робить цей шлях жорстким посиланням на *target*, незважаючи на " +"значення функції та імен аргументів. Порядок аргументів (ціль, посилання) є " +"зворотним до :func:`Path.symlink_to` і :func:`Path.hardlink_to`, але " +"збігається з :func:`os.link`." + +msgid "" +"This method is deprecated in favor of :meth:`Path.hardlink_to`, as the " +"argument order of :meth:`Path.link_to` does not match that of :meth:`Path." +"symlink_to`." +msgstr "" +"Цей метод застарів на користь :meth:`Path.hardlink_to`, оскільки порядок " +"аргументів :meth:`Path.link_to` не збігається з :meth:`Path.symlink_to`." + +msgid "" +"Create a file at this given path. If *mode* is given, it is combined with " +"the process' ``umask`` value to determine the file mode and access flags. " +"If the file already exists, the function succeeds if *exist_ok* is true (and " +"its modification time is updated to the current time), otherwise :exc:" +"`FileExistsError` is raised." +msgstr "" +"Створіть файл за вказаним шляхом. Якщо задано *mode*, воно поєднується зі " +"значенням ``umask`` процесу для визначення режиму файлу та позначок доступу. " +"Якщо файл уже існує, функція виконується успішно, якщо *exist_ok* має " +"значення true (і час його модифікації оновлюється до поточного часу), інакше " +"виникає :exc:`FileExistsError`." + +msgid "" +"Remove this file or symbolic link. If the path points to a directory, use :" +"func:`Path.rmdir` instead." +msgstr "" +"Видаліть цей файл або символічне посилання. Якщо шлях вказує на каталог, " +"замість цього використовуйте :func:`Path.rmdir`." + +msgid "" +"If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " +"if the path does not exist." +msgstr "" +"Якщо *missing_ok* має значення false (за замовчуванням), :exc:" +"`FileNotFoundError` викликається, якщо шлях не існує." + +msgid "" +"If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " +"(same behavior as the POSIX ``rm -f`` command)." +msgstr "" +"Якщо *missing_ok* має значення true, винятки :exc:`FileNotFoundError` " +"ігноруватимуться (така ж поведінка, що й команда POSIX ``rm -f``)." + +msgid "The *missing_ok* parameter was added." +msgstr "Додано параметр *missing_ok*." + +msgid "" +"Open the file pointed to in bytes mode, write *data* to it, and close the " +"file::" +msgstr "" +"Відкрийте вказаний файл у байтовому режимі, запишіть у нього *data* та " +"закрийте файл::" + +msgid "An existing file of the same name is overwritten." +msgstr "Існуючий файл із такою ж назвою буде перезаписано." + +msgid "" +"Open the file pointed to in text mode, write *data* to it, and close the " +"file::" +msgstr "" +"Відкрийте вказаний файл у текстовому режимі, запишіть у нього *data* та " +"закрийте файл::" + +msgid "" +"An existing file of the same name is overwritten. The optional parameters " +"have the same meaning as in :func:`open`." +msgstr "" +"Існуючий файл із такою ж назвою буде перезаписано. Необов’язкові параметри " +"мають те саме значення, що й у :func:`open`." + +msgid "The *newline* parameter was added." +msgstr "Додано параметр *новий рядок*." + +msgid "Correspondence to tools in the :mod:`os` module" +msgstr "Відповідність інструментам в модулі :mod:`os`" + +msgid "" +"Below is a table mapping various :mod:`os` functions to their corresponding :" +"class:`PurePath`/:class:`Path` equivalent." +msgstr "" +"Нижче наведено таблицю, що відображає різні функції :mod:`os` на їхні " +"відповідні еквіваленти :class:`PurePath`/:class:`Path`." + +msgid "" +"Not all pairs of functions/methods below are equivalent. Some of them, " +"despite having some overlapping use-cases, have different semantics. They " +"include :func:`os.path.abspath` and :meth:`Path.absolute`, :func:`os.path." +"relpath` and :meth:`PurePath.relative_to`." +msgstr "" + +msgid ":mod:`os` and :mod:`os.path`" +msgstr ":mod:`os` і :mod:`os.path`" + +msgid ":mod:`pathlib`" +msgstr ":mod:`pathlib`" + +msgid ":func:`os.path.abspath`" +msgstr ":func:`os.path.abspath`" + +msgid ":meth:`Path.absolute` [#]_" +msgstr "" + +msgid ":func:`os.path.realpath`" +msgstr "" + +msgid ":meth:`Path.resolve`" +msgstr "" + +msgid ":func:`os.chmod`" +msgstr ":func:`os.chmod`" + +msgid ":meth:`Path.chmod`" +msgstr ":meth:`Path.chmod`" + +msgid ":func:`os.mkdir`" +msgstr ":func:`os.mkdir`" + +msgid ":meth:`Path.mkdir`" +msgstr ":meth:`Шлях.mkdir`" + +msgid ":func:`os.makedirs`" +msgstr ":func:`os.makedirs`" + +msgid ":func:`os.rename`" +msgstr ":func:`os.rename`" + +msgid ":meth:`Path.rename`" +msgstr ":meth:`Path.rename`" + +msgid ":func:`os.replace`" +msgstr ":func:`os.replace`" + +msgid ":meth:`Path.replace`" +msgstr ":meth:`Path.replace`" + +msgid ":func:`os.rmdir`" +msgstr ":func:`os.rmdir`" + +msgid ":meth:`Path.rmdir`" +msgstr ":meth:`Шлях.rmdir`" + +msgid ":func:`os.remove`, :func:`os.unlink`" +msgstr ":func:`os.remove`, :func:`os.unlink`" + +msgid ":meth:`Path.unlink`" +msgstr ":meth:`Path.unlink`" + +msgid ":func:`os.getcwd`" +msgstr ":func:`os.getcwd`" + +msgid ":func:`Path.cwd`" +msgstr ":func:`Path.cwd`" + +msgid ":func:`os.path.exists`" +msgstr ":func:`os.path.exists`" + +msgid ":meth:`Path.exists`" +msgstr ":meth:`Path.exists`" + +msgid ":func:`os.path.expanduser`" +msgstr ":func:`os.path.expanduser`" + +msgid ":meth:`Path.expanduser` and :meth:`Path.home`" +msgstr ":meth:`Path.expanduser` і :meth:`Path.home`" + +msgid ":func:`os.listdir`" +msgstr ":func:`os.listdir`" + +msgid ":meth:`Path.iterdir`" +msgstr ":meth:`Path.iterdir`" + +msgid ":func:`os.path.isdir`" +msgstr ":func:`os.path.isdir`" + +msgid ":meth:`Path.is_dir`" +msgstr ":meth:`Path.is_dir`" + +msgid ":func:`os.path.isfile`" +msgstr ":func:`os.path.isfile`" + +msgid ":meth:`Path.is_file`" +msgstr ":meth:`Шлях.є_файлом`" + +msgid ":func:`os.path.islink`" +msgstr ":func:`os.path.islink`" + +msgid ":meth:`Path.is_symlink`" +msgstr ":meth:`Path.is_symlink`" + +msgid ":func:`os.link`" +msgstr ":func:`os.link`" + +msgid ":meth:`Path.hardlink_to`" +msgstr ":meth:`Шлях.hardlink_to`" + +msgid ":func:`os.symlink`" +msgstr ":func:`os.symlink`" + +msgid ":meth:`Path.symlink_to`" +msgstr ":meth:`Шлях.симпосилання_до`" + +msgid ":func:`os.readlink`" +msgstr ":func:`os.readlink`" + +msgid ":meth:`Path.readlink`" +msgstr ":meth:`Path.readlink`" + +msgid ":func:`os.path.relpath`" +msgstr ":func:`os.path.relpath`" + +msgid ":meth:`PurePath.relative_to` [#]_" +msgstr ":meth:`PurePath.relative_to` [#]_" + +msgid ":func:`os.stat`" +msgstr ":func:`os.stat`" + +msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" +msgstr ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" + +msgid ":func:`os.path.isabs`" +msgstr ":func:`os.path.isabs`" + +msgid ":meth:`PurePath.is_absolute`" +msgstr ":meth:`PurePath.is_absolute`" + +msgid ":func:`os.path.join`" +msgstr ":func:`os.path.join`" + +msgid ":func:`PurePath.joinpath`" +msgstr ":func:`PurePath.joinpath`" + +msgid ":func:`os.path.basename`" +msgstr ":func:`os.path.basename`" + +msgid ":data:`PurePath.name`" +msgstr ":data:`PurePath.name`" + +msgid ":func:`os.path.dirname`" +msgstr ":func:`os.path.dirname`" + +msgid ":data:`PurePath.parent`" +msgstr ":data:`PurePath.parent`" + +msgid ":func:`os.path.samefile`" +msgstr ":func:`os.path.samefile`" + +msgid ":meth:`Path.samefile`" +msgstr ":meth:`Path.samefile`" + +msgid ":func:`os.path.splitext`" +msgstr ":func:`os.path.splitext`" + +msgid ":data:`PurePath.stem` and :data:`PurePath.suffix`" +msgstr "" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +":func:`os.path.abspath` normalizes the resulting path, which may change its " +"meaning in the presence of symlinks, while :meth:`Path.absolute` does not." +msgstr "" + +msgid "" +":meth:`PurePath.relative_to` requires ``self`` to be the subpath of the " +"argument, but :func:`os.path.relpath` does not." +msgstr "" +":meth:`PurePath.relative_to` вимагає, щоб ``self`` був підшляхом аргументу, " +"але :func:`os.path.relpath` ні." diff --git a/library/pdb.po b/library/pdb.po new file mode 100644 index 000000000..6175b85e1 --- /dev/null +++ b/library/pdb.po @@ -0,0 +1,786 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pdb` --- The Python Debugger" +msgstr ":mod:`pdb` --- Налагоджувач Python" + +msgid "**Source code:** :source:`Lib/pdb.py`" +msgstr "**Вихідний код:** :source:`Lib/pdb.py`" + +msgid "" +"The module :mod:`pdb` defines an interactive source code debugger for Python " +"programs. It supports setting (conditional) breakpoints and single stepping " +"at the source line level, inspection of stack frames, source code listing, " +"and evaluation of arbitrary Python code in the context of any stack frame. " +"It also supports post-mortem debugging and can be called under program " +"control." +msgstr "" +"Модуль :mod:`pdb` визначає інтерактивний налагоджувач вихідного коду для " +"програм Python. Він підтримує встановлення (умовних) точок зупину та один " +"крок на рівні вихідного рядка, перевірку фреймів стеку, перелік вихідного " +"коду та оцінку довільного коду Python у контексті будь-якого фрейму стеку. " +"Він також підтримує посмертне налагодження та може бути викликаний під " +"керуванням програми." + +msgid "" +"The debugger is extensible -- it is actually defined as the class :class:" +"`Pdb`. This is currently undocumented but easily understood by reading the " +"source. The extension interface uses the modules :mod:`bdb` and :mod:`cmd`." +msgstr "" +"Налагоджувач є розширюваним - він фактично визначений як клас :class:`Pdb`. " +"Наразі це незадокументовано, але легко зрозуміти, прочитавши джерело. " +"Інтерфейс розширення використовує модулі :mod:`bdb` і :mod:`cmd`." + +msgid "" +"The debugger's prompt is ``(Pdb)``. Typical usage to run a program under " +"control of the debugger is::" +msgstr "" +"Підказка налагоджувача: ``(Pdb)``. Типове використання для запуску програми " +"під керуванням відладчика:" + +msgid "" +"Tab-completion via the :mod:`readline` module is available for commands and " +"command arguments, e.g. the current global and local names are offered as " +"arguments of the ``p`` command." +msgstr "" +"Завершення табуляції через модуль :mod:`readline` доступне для команд і " +"аргументів команд, напр. поточні глобальні та локальні імена пропонуються як " +"аргументи команди ``p``." + +msgid "" +":file:`pdb.py` can also be invoked as a script to debug other scripts. For " +"example::" +msgstr "" +":file:`pdb.py` також можна викликати як сценарій для налагодження інших " +"сценаріїв. Наприклад::" + +msgid "" +"When invoked as a script, pdb will automatically enter post-mortem debugging " +"if the program being debugged exits abnormally. After post-mortem debugging " +"(or after normal exit of the program), pdb will restart the program. " +"Automatic restarting preserves pdb's state (such as breakpoints) and in most " +"cases is more useful than quitting the debugger upon program's exit." +msgstr "" +"Під час виклику як сценарію pdb автоматично ввійде до посмертного " +"налагодження, якщо програма, яка налагоджується, закривається ненормально. " +"Після посмертного налагодження (або після звичайного виходу з програми) pdb " +"перезапустить програму. Автоматичний перезапуск зберігає стан pdb " +"(наприклад, точки зупину) і в більшості випадків є більш корисним, ніж вихід " +"з налагоджувача після виходу з програми." + +msgid "" +":file:`pdb.py` now accepts a ``-c`` option that executes commands as if " +"given in a :file:`.pdbrc` file, see :ref:`debugger-commands`." +msgstr "" +":file:`pdb.py` тепер приймає опцію ``-c``, яка виконує команди так, ніби " +"вони подані у файлі :file:`.pdbrc`, див. :ref:`debugger-commands`." + +msgid "" +":file:`pdb.py` now accepts a ``-m`` option that execute modules similar to " +"the way ``python3 -m`` does. As with a script, the debugger will pause " +"execution just before the first line of the module." +msgstr "" +":file:`pdb.py` тепер приймає параметр ``-m``, який виконує модулі подібно до " +"того, як це робить ``python3 -m``. Як і у випадку зі сценарієм, налагоджувач " +"призупинить виконання безпосередньо перед першим рядком модуля." + +msgid "The typical usage to break into the debugger is to insert::" +msgstr "Типовим використанням для проникнення в налагоджувач є вставка::" + +msgid "" +"at the location you want to break into the debugger, and then run the " +"program. You can then step through the code following this statement, and " +"continue running without the debugger using the :pdbcmd:`continue` command." +msgstr "" +"у місці, куди потрібно зламати налагоджувач, а потім запустіть програму. " +"Потім ви можете покроково виконувати код, який слідує за цією інструкцією, і " +"продовжити роботу без відладчика за допомогою команди :pdbcmd:`continue`." + +msgid "" +"The built-in :func:`breakpoint()`, when called with defaults, can be used " +"instead of ``import pdb; pdb.set_trace()``." +msgstr "" +"Вбудований :func:`breakpoint()`, коли викликається із значеннями за " +"замовчуванням, можна використовувати замість ``import pdb; pdb.set_trace()``." + +msgid "The typical usage to inspect a crashed program is::" +msgstr "Типове використання для перевірки збійної програми:" + +msgid "" +"The module defines the following functions; each enters the debugger in a " +"slightly different way:" +msgstr "" +"Модуль визначає такі функції; кожен входить до відладчика дещо іншим " +"способом:" + +msgid "" +"Execute the *statement* (given as a string or a code object) under debugger " +"control. The debugger prompt appears before any code is executed; you can " +"set breakpoints and type :pdbcmd:`continue`, or you can step through the " +"statement using :pdbcmd:`step` or :pdbcmd:`next` (all these commands are " +"explained below). The optional *globals* and *locals* arguments specify the " +"environment in which the code is executed; by default the dictionary of the " +"module :mod:`__main__` is used. (See the explanation of the built-in :func:" +"`exec` or :func:`eval` functions.)" +msgstr "" +"Виконайте *інструкцію* (у вигляді рядка або об’єкта коду) під керуванням " +"налагоджувача. Підказка налагоджувача з'являється перед виконанням будь-" +"якого коду; ви можете встановити точки зупинки та ввести :pdbcmd:`continue` " +"або ви можете покроково виконувати оператор за допомогою :pdbcmd:`step` або :" +"pdbcmd:`next` (усі ці команди пояснюються нижче). Необов'язкові аргументи " +"*globals* і *locals* визначають середовище, в якому виконується код; за " +"замовчуванням використовується словник модуля :mod:`__main__`. (Див. " +"пояснення вбудованих функцій :func:`exec` або :func:`eval`.)" + +msgid "" +"Evaluate the *expression* (given as a string or a code object) under " +"debugger control. When :func:`runeval` returns, it returns the value of the " +"expression. Otherwise this function is similar to :func:`run`." +msgstr "" +"Оцініть *вираз* (у вигляді рядка або об’єкта коду) під керуванням " +"налагоджувача. Коли :func:`runeval` повертає значення виразу. В іншому ця " +"функція схожа на :func:`run`." + +msgid "" +"Call the *function* (a function or method object, not a string) with the " +"given arguments. When :func:`runcall` returns, it returns whatever the " +"function call returned. The debugger prompt appears as soon as the function " +"is entered." +msgstr "" +"Викличте *функцію* (об’єкт функції чи методу, а не рядок) із заданими " +"аргументами. Коли :func:`runcall` повертає, він повертає те, що повернув " +"виклик функції. Підказка налагоджувача з’являється, щойно вводиться функція." + +msgid "" +"Enter the debugger at the calling stack frame. This is useful to hard-code " +"a breakpoint at a given point in a program, even if the code is not " +"otherwise being debugged (e.g. when an assertion fails). If given, *header* " +"is printed to the console just before debugging begins." +msgstr "" +"Введіть налагоджувач у кадрі стека викликів. Це корисно для жорсткого " +"кодування точки зупину в певній точці програми, навіть якщо код іншим чином " +"не налагоджується (наприклад, коли твердження не виконується). Якщо задано, " +"*заголовок* друкується на консолі безпосередньо перед початком налагодження." + +msgid "The keyword-only argument *header*." +msgstr "Лише ключовий аргумент *header*." + +msgid "" +"Enter post-mortem debugging of the given *traceback* object. If no " +"*traceback* is given, it uses the one of the exception that is currently " +"being handled (an exception must be being handled if the default is to be " +"used)." +msgstr "" +"Введіть посмертне налагодження даного об’єкта *traceback*. Якщо *traceback* " +"не надано, використовується виняткова ситуація, яка зараз обробляється " +"(виняток має оброблятися, якщо має використовуватись типове значення)." + +msgid "" +"Enter post-mortem debugging of the traceback found in :data:`sys." +"last_traceback`." +msgstr "" +"Введіть посмертне налагодження зворотного відстеження, знайденого в :data:" +"`sys.last_traceback`." + +msgid "" +"The ``run*`` functions and :func:`set_trace` are aliases for instantiating " +"the :class:`Pdb` class and calling the method of the same name. If you want " +"to access further features, you have to do this yourself:" +msgstr "" +"Функції ``run*`` і :func:`set_trace` є псевдонімами для створення екземпляра " +"класу :class:`Pdb` і виклику однойменного методу. Якщо ви хочете отримати " +"доступ до інших функцій, ви повинні зробити це самостійно:" + +msgid ":class:`Pdb` is the debugger class." +msgstr ":class:`Pdb` — це клас налагоджувача." + +msgid "" +"The *completekey*, *stdin* and *stdout* arguments are passed to the " +"underlying :class:`cmd.Cmd` class; see the description there." +msgstr "" +"Аргументи *completekey*, *stdin* і *stdout* передаються базовому класу :" +"class:`cmd.Cmd`; дивіться опис там." + +msgid "" +"The *skip* argument, if given, must be an iterable of glob-style module name " +"patterns. The debugger will not step into frames that originate in a module " +"that matches one of these patterns. [1]_" +msgstr "" +"Аргумент *skip*, якщо він наданий, має бути повторюваним шаблоном імен " +"модулів у стилі glob. Налагоджувач не ввійде в кадри, які походять із " +"модуля, який відповідає одному з цих шаблонів. [1]_" + +msgid "" +"By default, Pdb sets a handler for the SIGINT signal (which is sent when the " +"user presses :kbd:`Ctrl-C` on the console) when you give a ``continue`` " +"command. This allows you to break into the debugger again by pressing :kbd:" +"`Ctrl-C`. If you want Pdb not to touch the SIGINT handler, set *nosigint* " +"to true." +msgstr "" +"За замовчуванням Pdb встановлює обробник для сигналу SIGINT (який " +"надсилається, коли користувач натискає :kbd:`Ctrl-C` на консолі), коли ви " +"даєте команду ``продовжити``. Це дозволить вам знову увійти в налагоджувач, " +"натиснувши :kbd:`Ctrl-C`. Якщо ви хочете, щоб Pdb не торкався обробника " +"SIGINT, установіть для *nosigint* значення true." + +msgid "" +"The *readrc* argument defaults to true and controls whether Pdb will load ." +"pdbrc files from the filesystem." +msgstr "" +"Аргумент *readrc* за замовчуванням має значення true та визначає, чи буде " +"Pdb завантажувати файли .pdbrc із файлової системи." + +msgid "Example call to enable tracing with *skip*::" +msgstr "Приклад виклику для ввімкнення трасування за допомогою *skip*::" + +msgid "" +"Raises an :ref:`auditing event ` ``pdb.Pdb`` with no arguments." +msgstr "Викликає :ref:`подію аудиту ` ``pdb.Pdb`` без аргументів." + +msgid "The *skip* argument." +msgstr "Аргумент *пропустити*." + +msgid "" +"The *nosigint* argument. Previously, a SIGINT handler was never set by Pdb." +msgstr "" +"Аргумент *nosigint*. Раніше обробник SIGINT ніколи не встановлювався Pdb." + +msgid "The *readrc* argument." +msgstr "Аргумент *readrc*." + +msgid "See the documentation for the functions explained above." +msgstr "Дивіться документацію щодо функцій, описаних вище." + +msgid "Debugger Commands" +msgstr "Команди налагоджувача" + +msgid "" +"The commands recognized by the debugger are listed below. Most commands can " +"be abbreviated to one or two letters as indicated; e.g. ``h(elp)`` means " +"that either ``h`` or ``help`` can be used to enter the help command (but not " +"``he`` or ``hel``, nor ``H`` or ``Help`` or ``HELP``). Arguments to " +"commands must be separated by whitespace (spaces or tabs). Optional " +"arguments are enclosed in square brackets (``[]``) in the command syntax; " +"the square brackets must not be typed. Alternatives in the command syntax " +"are separated by a vertical bar (``|``)." +msgstr "" +"Нижче наведено команди, які розпізнає налагоджувач. Більшість команд можна " +"скоротити до однієї або двох букв, як зазначено; напр. ``h(elp)`` означає, " +"що ``h`` або ``help`` можна використовувати для введення команди довідки " +"(але не ``he`` або ``hel``, ані ``H`` або ``Довідка`` або ``ДОПОМОГА``). " +"Аргументи команд повинні бути розділені пробілами (пробілами або " +"табуляцією). Необов’язкові аргументи в синтаксисі команди беруться у " +"квадратні дужки (``[]``); квадратні дужки не можна вводити. Альтернативи в " +"синтаксисі команди розділені вертикальною рискою (``|``)." + +msgid "" +"Entering a blank line repeats the last command entered. Exception: if the " +"last command was a :pdbcmd:`list` command, the next 11 lines are listed." +msgstr "" +"Введення порожнього рядка повторює останню введену команду. Виняток: якщо " +"останньою командою була команда :pdbcmd:`list`, буде показано наступні 11 " +"рядків." + +msgid "" +"Commands that the debugger doesn't recognize are assumed to be Python " +"statements and are executed in the context of the program being debugged. " +"Python statements can also be prefixed with an exclamation point (``!``). " +"This is a powerful way to inspect the program being debugged; it is even " +"possible to change a variable or call a function. When an exception occurs " +"in such a statement, the exception name is printed but the debugger's state " +"is not changed." +msgstr "" +"Команди, які не розпізнає налагоджувач, вважаються операторами Python і " +"виконуються в контексті програми, що налагоджується. Інструкції Python також " +"можуть мати префікс знаком оклику (``!``). Це потужний спосіб перевірити " +"програму, яка налагоджується; можна навіть змінити змінну або викликати " +"функцію. Коли в такому операторі виникає виняток, ім’я виключення " +"друкується, але стан налагоджувача не змінюється." + +msgid "" +"The debugger supports :ref:`aliases `. Aliases can have " +"parameters which allows one a certain level of adaptability to the context " +"under examination." +msgstr "" +"Налагоджувач підтримує :ref:`псевдоніми `. Псевдоніми " +"можуть мати параметри, які дозволяють певний рівень адаптації до " +"досліджуваного контексту." + +msgid "" +"Multiple commands may be entered on a single line, separated by ``;;``. (A " +"single ``;`` is not used as it is the separator for multiple commands in a " +"line that is passed to the Python parser.) No intelligence is applied to " +"separating the commands; the input is split at the first ``;;`` pair, even " +"if it is in the middle of a quoted string. A workaround for strings with " +"double semicolons is to use implicit string concatenation ``';'';'`` or ``\";" +"\"\";\"``." +msgstr "" +"Кілька команд можна ввести в одному рядку, розділених символом ``;;``. (Один " +"символ ``;`` не використовується, оскільки він є роздільником для кількох " +"команд у рядку, який передається синтаксичному аналізатору Python.) Для " +"розділення команд не застосовано жодного розуму; вхідні дані розбиваються на " +"першу пару ``;;``, навіть якщо вона знаходиться в середині рядка в лапках. " +"Обхідним шляхом для рядків із подвійною крапкою з комою є використання " +"неявної конкатенації рядків ``';'';''`` або ``\";\"\";\"``." + +msgid "" +"If a file :file:`.pdbrc` exists in the user's home directory or in the " +"current directory, it is read with ``'utf-8'`` encoding and executed as if " +"it had been typed at the debugger prompt. This is particularly useful for " +"aliases. If both files exist, the one in the home directory is read first " +"and aliases defined there can be overridden by the local file." +msgstr "" + +msgid "" +":file:`.pdbrc` is now read with ``'utf-8'`` encoding. Previously, it was " +"read with the system locale encoding." +msgstr "" + +msgid "" +":file:`.pdbrc` can now contain commands that continue debugging, such as :" +"pdbcmd:`continue` or :pdbcmd:`next`. Previously, these commands had no " +"effect." +msgstr "" +":file:`.pdbrc` тепер може містити команди, які продовжують налагодження, " +"наприклад :pdbcmd:`continue` або :pdbcmd:`next`. Раніше ці команди не діяли." + +msgid "" +"Without argument, print the list of available commands. With a *command* as " +"argument, print help about that command. ``help pdb`` displays the full " +"documentation (the docstring of the :mod:`pdb` module). Since the *command* " +"argument must be an identifier, ``help exec`` must be entered to get help on " +"the ``!`` command." +msgstr "" +"Без аргументів вивести список доступних команд. З *командою* як аргументом " +"надрукуйте довідку про цю команду. ``help pdb`` відображає повну " +"документацію (рядок документації модуля :mod:`pdb`). Оскільки аргумент " +"*command* має бути ідентифікатором, необхідно ввести ``help exec``, щоб " +"отримати довідку щодо команди ``!``." + +msgid "" +"Print a stack trace, with the most recent frame at the bottom. An arrow " +"indicates the current frame, which determines the context of most commands." +msgstr "" +"Надрукуйте трасування стека з останнім кадром унизу. Стрілка вказує на " +"поточний кадр, який визначає контекст більшості команд." + +msgid "" +"Move the current frame *count* (default one) levels down in the stack trace " +"(to a newer frame)." +msgstr "" +"Перемістіть поточний кадр *кількість* (за замовчуванням) на рівні трасування " +"стека (до нового кадру)." + +msgid "" +"Move the current frame *count* (default one) levels up in the stack trace " +"(to an older frame)." +msgstr "" +"Перемістити поточний кадр *кількість* (за замовчуванням) вгору в трасуванні " +"стека (до старішого кадру)." + +msgid "" +"With a *lineno* argument, set a break there in the current file. With a " +"*function* argument, set a break at the first executable statement within " +"that function. The line number may be prefixed with a filename and a colon, " +"to specify a breakpoint in another file (probably one that hasn't been " +"loaded yet). The file is searched on :data:`sys.path`. Note that each " +"breakpoint is assigned a number to which all the other breakpoint commands " +"refer." +msgstr "" +"За допомогою аргументу *lineno* встановіть розрив у поточному файлі. За " +"допомогою аргументу *function* установіть перерву в першому виконуваному " +"операторі в цій функції. Номер рядка може мати префікс назви файлу та " +"двокрапки, щоб вказати точку зупину в іншому файлі (ймовірно, ще не " +"завантаженому). Файл шукається за :data:`sys.path`. Зауважте, що кожній " +"точці зупину присвоєно номер, на який посилаються всі інші команди точки " +"зупину." + +msgid "" +"If a second argument is present, it is an expression which must evaluate to " +"true before the breakpoint is honored." +msgstr "" +"Якщо присутній другий аргумент, це вираз, який повинен отримати значення " +"true перед тим, як буде враховано точку зупину." + +msgid "" +"Without argument, list all breaks, including for each breakpoint, the number " +"of times that breakpoint has been hit, the current ignore count, and the " +"associated condition if any." +msgstr "" +"Без аргументів, перерахуйте всі розриви, включно з кожною точкою зупину, " +"кількість разів, коли ця точка зупину було досягнуто, поточну кількість " +"ігнорування та пов’язану умову, якщо така є." + +msgid "" +"Temporary breakpoint, which is removed automatically when it is first hit. " +"The arguments are the same as for :pdbcmd:`break`." +msgstr "" +"Тимчасова контрольна точка, яка видаляється автоматично при першому " +"попаданні. Аргументи такі ж, як і для :pdbcmd:`break`." + +msgid "" +"With a *filename:lineno* argument, clear all the breakpoints at this line. " +"With a space separated list of breakpoint numbers, clear those breakpoints. " +"Without argument, clear all breaks (but first ask confirmation)." +msgstr "" +"За допомогою аргументу *filename:lineno* очистіть усі точки зупину в цьому " +"рядку. За допомогою списку номерів точок зупину, розділених пробілами, " +"очистіть ці точки зупину. Без суперечок очистіть усі розриви (але спочатку " +"запитайте підтвердження)." + +msgid "" +"Disable the breakpoints given as a space separated list of breakpoint " +"numbers. Disabling a breakpoint means it cannot cause the program to stop " +"execution, but unlike clearing a breakpoint, it remains in the list of " +"breakpoints and can be (re-)enabled." +msgstr "" +"Вимкніть точки зупину, надані як список номерів точок зупину, розділених " +"пробілами. Вимкнення точки зупину означає, що це не може призвести до " +"зупинки виконання програми, але на відміну від очищення точки зупину, вона " +"залишається в списку точок зупину та може бути (знову) увімкнена." + +msgid "Enable the breakpoints specified." +msgstr "Увімкніть вказані точки зупину." + +msgid "" +"Set the ignore count for the given breakpoint number. If count is omitted, " +"the ignore count is set to 0. A breakpoint becomes active when the ignore " +"count is zero. When non-zero, the count is decremented each time the " +"breakpoint is reached and the breakpoint is not disabled and any associated " +"condition evaluates to true." +msgstr "" +"Встановіть кількість ігнорувань для заданого номера контрольної точки. Якщо " +"лічильник опущено, для лічильника ігнорування встановлюється значення 0. " +"Точка зупину стає активною, коли лічильник ігнорування дорівнює нулю. Якщо " +"значення відмінне від нуля, кількість зменшується щоразу, коли досягається " +"точка зупину, і точка зупину не вимикається, а будь-яка пов’язана умова " +"оцінюється як істинна." + +msgid "" +"Set a new *condition* for the breakpoint, an expression which must evaluate " +"to true before the breakpoint is honored. If *condition* is absent, any " +"existing condition is removed; i.e., the breakpoint is made unconditional." +msgstr "" +"Встановіть нову *умову* для точки зупину, вираз, який повинен мати значення " +"true, перш ніж точка зупину буде виконана. Якщо *умова* відсутня, усі наявні " +"умови видаляються; тобто точка зупину стає безумовною." + +msgid "" +"Specify a list of commands for breakpoint number *bpnumber*. The commands " +"themselves appear on the following lines. Type a line containing just " +"``end`` to terminate the commands. An example::" +msgstr "" +"Укажіть список команд для точки зупину з номером *bpnumber*. Самі команди " +"відображаються в наступних рядках. Введіть рядок, що містить лише ``end``, " +"щоб завершити команди. Приклад::" + +msgid "" +"To remove all commands from a breakpoint, type ``commands`` and follow it " +"immediately with ``end``; that is, give no commands." +msgstr "" +"Щоб видалити всі команди з точки зупину, введіть ``commands`` і негайно " +"введіть ``end``; тобто не давати команд." + +msgid "" +"With no *bpnumber* argument, ``commands`` refers to the last breakpoint set." +msgstr "" +"Без аргументу *bpnumber* ``commands`` посилається на останній набір точок " +"зупину." + +msgid "" +"You can use breakpoint commands to start your program up again. Simply use " +"the :pdbcmd:`continue` command, or :pdbcmd:`step`, or any other command that " +"resumes execution." +msgstr "" +"Ви можете використовувати команди точки зупинки, щоб знову запустити " +"програму. Просто скористайтеся командою :pdbcmd:`continue` або :pdbcmd:" +"`step` або будь-якою іншою командою, яка відновлює виконання." + +msgid "" +"Specifying any command resuming execution (currently :pdbcmd:`continue`, :" +"pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:" +"`quit` and their abbreviations) terminates the command list (as if that " +"command was immediately followed by end). This is because any time you " +"resume execution (even with a simple next or step), you may encounter " +"another breakpoint—which could have its own command list, leading to " +"ambiguities about which list to execute." +msgstr "" +"Вказівка будь-якої команди, яка продовжує виконання (наразі :pdbcmd:" +"`continue`, :pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:" +"`jump`, :pdbcmd:`quit` та їхні абревіатури) завершує список команд (так, " +"ніби за цією командою відразу йде end). Це пояснюється тим, що кожного разу, " +"коли ви відновлюєте виконання (навіть із простим наступним або кроком), ви " +"можете зустріти іншу точку зупину, яка може мати власний список команд, що " +"призводить до неоднозначності щодо того, який список виконати." + +msgid "" +"If you use the 'silent' command in the command list, the usual message about " +"stopping at a breakpoint is not printed. This may be desirable for " +"breakpoints that are to print a specific message and then continue. If none " +"of the other commands print anything, you see no sign that the breakpoint " +"was reached." +msgstr "" +"Якщо ви використовуєте команду \"silent\" у списку команд, звичайне " +"повідомлення про зупинку на точці зупинки не друкується. Це може бути " +"бажаним для точок зупину, які повинні надрукувати певне повідомлення, а " +"потім продовжити. Якщо жодна з інших команд нічого не друкує, ви не побачите " +"ознак того, що точка зупину досягнута." + +msgid "" +"Execute the current line, stop at the first possible occasion (either in a " +"function that is called or on the next line in the current function)." +msgstr "" +"Виконати поточний рядок, зупинитися при першому можливому випадку (або у " +"функції, яка викликається, або на наступному рядку в поточній функції)." + +msgid "" +"Continue execution until the next line in the current function is reached or " +"it returns. (The difference between :pdbcmd:`next` and :pdbcmd:`step` is " +"that :pdbcmd:`step` stops inside a called function, while :pdbcmd:`next` " +"executes called functions at (nearly) full speed, only stopping at the next " +"line in the current function.)" +msgstr "" +"Продовжуйте виконання, доки не буде досягнуто наступного рядка в поточній " +"функції або вона не повернеться. (Різниця між :pdbcmd:`next` і :pdbcmd:" +"`step` полягає в тому, що :pdbcmd:`step` зупиняється всередині викликаної " +"функції, тоді як :pdbcmd:`next` виконує викликані функції на (майже) повній " +"швидкості, лише зупиняючись у наступному рядку поточної функції.)" + +msgid "" +"Without argument, continue execution until the line with a number greater " +"than the current one is reached." +msgstr "" +"Без аргументів продовжувати виконання, доки не буде досягнуто рядок з " +"номером, більшим за поточний." + +msgid "" +"With a line number, continue execution until a line with a number greater or " +"equal to that is reached. In both cases, also stop when the current frame " +"returns." +msgstr "" +"З номером рядка продовжуйте виконання, доки не буде досягнуто рядок з " +"номером, більшим або рівним цьому. В обох випадках також зупиніться, коли " +"повернеться поточний кадр." + +msgid "Allow giving an explicit line number." +msgstr "Дозволяє вказувати явний номер рядка." + +msgid "Continue execution until the current function returns." +msgstr "Продовжуйте виконання, доки поточна функція не повернеться." + +msgid "Continue execution, only stop when a breakpoint is encountered." +msgstr "" +"Продовжувати виконання, зупинятися лише тоді, коли зустрічається точка " +"зупину." + +msgid "" +"Set the next line that will be executed. Only available in the bottom-most " +"frame. This lets you jump back and execute code again, or jump forward to " +"skip code that you don't want to run." +msgstr "" +"Встановіть наступний рядок, який буде виконано. Доступно лише в нижній " +"рамці. Це дає змогу повернутися назад і виконати код знову або перейти " +"вперед, щоб пропустити код, який ви не хочете запускати." + +msgid "" +"It should be noted that not all jumps are allowed -- for instance it is not " +"possible to jump into the middle of a :keyword:`for` loop or out of a :" +"keyword:`finally` clause." +msgstr "" +"Слід зазначити, що не всі переходи дозволені - наприклад, неможливо перейти " +"в середину циклу :keyword:`for` або з пункту :keyword:`finally`." + +msgid "" +"List source code for the current file. Without arguments, list 11 lines " +"around the current line or continue the previous listing. With ``.`` as " +"argument, list 11 lines around the current line. With one argument, list 11 " +"lines around at that line. With two arguments, list the given range; if the " +"second argument is less than the first, it is interpreted as a count." +msgstr "" +"Список вихідного коду для поточного файлу. Без аргументів перелічити 11 " +"рядків навколо поточного рядка або продовжити попередній список. З " +"аргументом ``.`` перелічити 11 рядків навколо поточного рядка. З одним " +"аргументом перелічіть 11 рядків навколо цього рядка. З двома аргументами " +"перелічіть заданий діапазон; якщо другий аргумент менший за перший, він " +"інтерпретується як підрахунок." + +msgid "" +"The current line in the current frame is indicated by ``->``. If an " +"exception is being debugged, the line where the exception was originally " +"raised or propagated is indicated by ``>>``, if it differs from the current " +"line." +msgstr "" +"Поточний рядок у поточному кадрі позначається ``->``. Якщо виняток " +"налагоджується, рядок, де виняток було спочатку викликано або поширено, " +"позначається ``>>``, якщо він відрізняється від поточного рядка." + +msgid "The ``>>`` marker." +msgstr "Маркер ``>>``." + +msgid "" +"List all source code for the current function or frame. Interesting lines " +"are marked as for :pdbcmd:`list`." +msgstr "" +"Перерахувати весь вихідний код для поточної функції або кадру. Цікаві рядки " +"позначені як для :pdbcmd:`list`." + +msgid "Print the argument list of the current function." +msgstr "Вивести список аргументів поточної функції." + +msgid "Evaluate the *expression* in the current context and print its value." +msgstr "Оцініть *вираз* у поточному контексті та надрукуйте його значення." + +msgid "" +"``print()`` can also be used, but is not a debugger command --- this " +"executes the Python :func:`print` function." +msgstr "" +"``print()`` також можна використовувати, але це не команда відладчика --- " +"вона виконує функцію :func:`print` Python." + +msgid "" +"Like the :pdbcmd:`p` command, except the value of the expression is pretty-" +"printed using the :mod:`pprint` module." +msgstr "" +"Подібно до команди :pdbcmd:`p`, за винятком того, що значення виразу " +"надруковано за допомогою модуля :mod:`pprint`." + +msgid "Print the type of the *expression*." +msgstr "Виведіть тип *виразу*." + +msgid "Try to get source code for the given object and display it." +msgstr "Спробуйте отримати вихідний код даного об'єкта та відобразити його." + +msgid "" +"Display the value of the expression if it changed, each time execution stops " +"in the current frame." +msgstr "" +"Відображати значення виразу, якщо воно змінилося, кожного разу, коли " +"виконання зупиняється в поточному кадрі." + +msgid "Without expression, list all display expressions for the current frame." +msgstr "Без виразу, список усіх виразів відображення для поточного кадру." + +msgid "" +"Do not display the expression any more in the current frame. Without " +"expression, clear all display expressions for the current frame." +msgstr "" +"Більше не відображати вираз у поточному кадрі. Без виразу, очистити всі " +"вирази відображення для поточного кадру." + +msgid "" +"Start an interactive interpreter (using the :mod:`code` module) whose global " +"namespace contains all the (global and local) names found in the current " +"scope." +msgstr "" +"Запустіть інтерактивний інтерпретатор (за допомогою модуля :mod:`code`), " +"глобальний простір імен якого містить усі (глобальні та локальні) імена, " +"знайдені в поточній області." + +msgid "" +"Create an alias called *name* that executes *command*. The command must " +"*not* be enclosed in quotes. Replaceable parameters can be indicated by ``" +"%1``, ``%2``, and so on, while ``%*`` is replaced by all the parameters. If " +"no command is given, the current alias for *name* is shown. If no arguments " +"are given, all aliases are listed." +msgstr "" +"Створіть псевдонім під назвою *name*, який виконує *command*. Команда *не* " +"повинна бути взята в лапки. Параметри, які можна замінити, можуть " +"позначатися символами \"%1\", \"%2\" тощо, тоді як \"%*\" замінюється всіма " +"параметрами. Якщо жодної команди не надано, відображається поточний " +"псевдонім для *name*. Якщо аргументи не вказано, перераховуються всі " +"псевдоніми." + +msgid "" +"Aliases may be nested and can contain anything that can be legally typed at " +"the pdb prompt. Note that internal pdb commands *can* be overridden by " +"aliases. Such a command is then hidden until the alias is removed. " +"Aliasing is recursively applied to the first word of the command line; all " +"other words in the line are left alone." +msgstr "" +"Псевдоніми можуть бути вкладеними та можуть містити будь-що, що можна " +"легально ввести в підказці pdb. Зауважте, що внутрішні команди pdb *можна* " +"замінити псевдонімами. Потім така команда приховується, доки псевдонім не " +"буде видалено. Псевдоніми рекурсивно застосовуються до першого слова " +"командного рядка; всі інші слова в рядку залишаються окремо." + +msgid "" +"As an example, here are two useful aliases (especially when placed in the :" +"file:`.pdbrc` file)::" +msgstr "" +"Як приклад, ось два корисні псевдоніми (особливо якщо їх розміщено у файлі :" +"file:`.pdbrc`):" + +msgid "Delete the specified alias." +msgstr "Видалити вказаний псевдонім." + +msgid "" +"Execute the (one-line) *statement* in the context of the current stack " +"frame. The exclamation point can be omitted unless the first word of the " +"statement resembles a debugger command. To set a global variable, you can " +"prefix the assignment command with a :keyword:`global` statement on the same " +"line, e.g.::" +msgstr "" +"Виконайте (однорядковий) *інструкцію* в контексті поточного кадру стека. " +"Знак оклику можна опустити, якщо перше слово оператора не нагадує команду " +"відладчика. Щоб встановити глобальну змінну, ви можете додати до команди " +"призначення оператор :keyword:`global` у тому самому рядку, наприклад::" + +msgid "" +"Restart the debugged Python program. If an argument is supplied, it is " +"split with :mod:`shlex` and the result is used as the new :data:`sys.argv`. " +"History, breakpoints, actions and debugger options are preserved. :pdbcmd:" +"`restart` is an alias for :pdbcmd:`run`." +msgstr "" +"Перезапустіть налагоджену програму Python. Якщо вказано аргумент, він " +"розділяється за допомогою :mod:`shlex`, а результат використовується як " +"новий :data:`sys.argv`. Історія, точки зупинки, дії та параметри " +"налагоджувача зберігаються. :pdbcmd:`restart` — це псевдонім для :pdbcmd:" +"`run`." + +msgid "Quit from the debugger. The program being executed is aborted." +msgstr "Вийти з налагоджувача. Програма, що виконується, переривається." + +msgid "" +"Enter a recursive debugger that steps through the code argument (which is an " +"arbitrary expression or statement to be executed in the current environment)." +msgstr "" +"Введіть рекурсивний налагоджувач, який покроково виконує аргумент коду (який " +"є довільним виразом або інструкцією, що виконується в поточному середовищі)." + +msgid "Print the return value for the last return of a function." +msgstr "" +"Надрукувати значення, що повертається для останнього повернення функції." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Whether a frame is considered to originate in a certain module is determined " +"by the ``__name__`` in the frame globals." +msgstr "" +"Чи вважається, що фрейм походить із певного модуля, визначається " +"``__name__`` у глобальних параметрах фрейму." diff --git a/library/persistence.po b/library/persistence.po new file mode 100644 index 000000000..82143a725 --- /dev/null +++ b/library/persistence.po @@ -0,0 +1,46 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Data Persistence" +msgstr "Постійність даних" + +msgid "" +"The modules described in this chapter support storing Python data in a " +"persistent form on disk. The :mod:`pickle` and :mod:`marshal` modules can " +"turn many Python data types into a stream of bytes and then recreate the " +"objects from the bytes. The various DBM-related modules support a family of " +"hash-based file formats that store a mapping of strings to other strings." +msgstr "" +"Модулі, описані в цьому розділі, підтримують збереження даних Python у " +"постійній формі на диску. Модулі :mod:`pickle` і :mod:`marshal` можуть " +"перетворювати багато типів даних Python на потік байтів і потім відтворювати " +"об’єкти з байтів. Різні модулі, пов’язані з DBM, підтримують сімейство " +"форматів файлів на основі хешу, які зберігають відображення рядків в інші " +"рядки." + +msgid "The list of modules described in this chapter is:" +msgstr "Перелік модулів, описаних у цьому розділі:" diff --git a/library/pickle.po b/library/pickle.po new file mode 100644 index 000000000..cb5064047 --- /dev/null +++ b/library/pickle.po @@ -0,0 +1,1724 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pickle` --- Python object serialization" +msgstr ":mod:`pickle` --- Серіалізація об'єкта Python" + +msgid "**Source code:** :source:`Lib/pickle.py`" +msgstr "**Вихідний код:** :source:`Lib/pickle.py`" + +msgid "" +"The :mod:`pickle` module implements binary protocols for serializing and de-" +"serializing a Python object structure. *\"Pickling\"* is the process " +"whereby a Python object hierarchy is converted into a byte stream, and *" +"\"unpickling\"* is the inverse operation, whereby a byte stream (from a :" +"term:`binary file` or :term:`bytes-like object`) is converted back into an " +"object hierarchy. Pickling (and unpickling) is alternatively known as " +"\"serialization\", \"marshalling,\" [#]_ or \"flattening\"; however, to " +"avoid confusion, the terms used here are \"pickling\" and \"unpickling\"." +msgstr "" +"Модуль :mod:`pickle` реалізує двійкові протоколи для серіалізації та " +"десеріалізації структури об’єктів Python. *\"Pickling\"* - це процес, за " +"допомогою якого ієрархія об'єктів Python перетворюється на потік байтів, а *" +"\"unpickling\"* - це зворотна операція, за допомогою якої потік байтів (з :" +"term:`binary file` або :term:`bytes-like object`) перетворюється назад в " +"ієрархію об’єктів. Травлення (і розбирання) також відоме як \"серіалізація" +"\", \"маршалінг\", [#]_ або \"зведення\"; однак, щоб уникнути плутанини, тут " +"використовуються терміни \"маринування\" та \"розмаринування\"." + +msgid "The ``pickle`` module **is not secure**. Only unpickle data you trust." +msgstr "" +"Модуль ``pickle`` **не захищений**. Вилучайте лише дані, яким довіряєте." + +msgid "" +"It is possible to construct malicious pickle data which will **execute " +"arbitrary code during unpickling**. Never unpickle data that could have come " +"from an untrusted source, or that could have been tampered with." +msgstr "" +"Можна створити шкідливі дані pickle, які **виконуватимуть довільний код під " +"час unpickling**. Ніколи не видаляйте дані, які могли надійти з ненадійного " +"джерела або які могли бути підроблені." + +msgid "" +"Consider signing data with :mod:`hmac` if you need to ensure that it has not " +"been tampered with." +msgstr "" +"Розгляньте можливість підписати дані за допомогою :mod:`hmac`, якщо вам " +"потрібно переконатися, що вони не були змінені." + +msgid "" +"Safer serialization formats such as :mod:`json` may be more appropriate if " +"you are processing untrusted data. See :ref:`comparison-with-json`." +msgstr "" +"Більш безпечні формати серіалізації, такі як :mod:`json`, можуть бути більш " +"доречними, якщо ви обробляєте ненадійні дані. Перегляньте :ref:`comparison-" +"with-json`." + +msgid "Relationship to other Python modules" +msgstr "Зв'язок з іншими модулями Python" + +msgid "Comparison with ``marshal``" +msgstr "Порівняння з ``маршалом``" + +msgid "" +"Python has a more primitive serialization module called :mod:`marshal`, but " +"in general :mod:`pickle` should always be the preferred way to serialize " +"Python objects. :mod:`marshal` exists primarily to support Python's :file:`." +"pyc` files." +msgstr "" +"Python має примітивніший модуль серіалізації під назвою :mod:`marshal`, але " +"загалом :mod:`pickle` має завжди бути кращим способом серіалізації об’єктів " +"Python. :mod:`marshal` існує в основному для підтримки файлів :file:`.pyc` " +"Python." + +msgid "" +"The :mod:`pickle` module differs from :mod:`marshal` in several significant " +"ways:" +msgstr "" +"Модуль :mod:`pickle` відрізняється від :mod:`marshal` кількома суттєвими " +"ознаками:" + +msgid "" +"The :mod:`pickle` module keeps track of the objects it has already " +"serialized, so that later references to the same object won't be serialized " +"again. :mod:`marshal` doesn't do this." +msgstr "" +"Модуль :mod:`pickle` відстежує об’єкти, які він уже серіалізував, так що " +"пізніші посилання на той самий об’єкт не будуть серіалізовані знову. :mod:" +"`marshal` цього не робить." + +msgid "" +"This has implications both for recursive objects and object sharing. " +"Recursive objects are objects that contain references to themselves. These " +"are not handled by marshal, and in fact, attempting to marshal recursive " +"objects will crash your Python interpreter. Object sharing happens when " +"there are multiple references to the same object in different places in the " +"object hierarchy being serialized. :mod:`pickle` stores such objects only " +"once, and ensures that all other references point to the master copy. " +"Shared objects remain shared, which can be very important for mutable " +"objects." +msgstr "" +"Це стосується як рекурсивних об’єктів, так і спільного використання " +"об’єктів. Рекурсивні об'єкти - це об'єкти, які містять посилання на себе. " +"Вони не обробляються маршалом, і фактично спроба маршалу рекурсивних " +"об’єктів призведе до збою вашого інтерпретатора Python. Спільне використання " +"об’єктів відбувається, коли існує кілька посилань на той самий об’єкт у " +"різних місцях ієрархії об’єктів, що серіалізується. :mod:`pickle` зберігає " +"такі об’єкти лише один раз і гарантує, що всі інші посилання вказують на " +"головну копію. Спільні об’єкти залишаються спільними, що може бути дуже " +"важливим для змінних об’єктів." + +msgid "" +":mod:`marshal` cannot be used to serialize user-defined classes and their " +"instances. :mod:`pickle` can save and restore class instances " +"transparently, however the class definition must be importable and live in " +"the same module as when the object was stored." +msgstr "" +":mod:`marshal` не можна використовувати для серіалізації визначених " +"користувачем класів та їх екземплярів. :mod:`pickle` може прозоро зберігати " +"та відновлювати екземпляри класу, однак визначення класу має бути " +"імпортованим і знаходитись у тому самому модулі, що й під час зберігання " +"об’єкта." + +msgid "" +"The :mod:`marshal` serialization format is not guaranteed to be portable " +"across Python versions. Because its primary job in life is to support :file:" +"`.pyc` files, the Python implementers reserve the right to change the " +"serialization format in non-backwards compatible ways should the need arise. " +"The :mod:`pickle` serialization format is guaranteed to be backwards " +"compatible across Python releases provided a compatible pickle protocol is " +"chosen and pickling and unpickling code deals with Python 2 to Python 3 type " +"differences if your data is crossing that unique breaking change language " +"boundary." +msgstr "" +"Формат серіалізації :mod:`marshal` не гарантовано переноситься між версіями " +"Python. Оскільки основним завданням у житті є підтримка файлів :file:`.pyc`, " +"розробники Python залишають за собою право змінювати формат серіалізації " +"несумісними способами, якщо виникне така потреба. Формат серіалізації :mod:" +"`pickle` гарантовано буде зворотно сумісним з усіма випусками Python за " +"умови, що вибрано сумісний протокол pickle, а код піклування та депіклування " +"враховує відмінності типів Python 2 і Python 3, якщо ваші дані перетинають " +"цю унікальну межу мови зміни порушення. ." + +msgid "Comparison with ``json``" +msgstr "Порівняння з ``json``" + +msgid "" +"There are fundamental differences between the pickle protocols and `JSON " +"(JavaScript Object Notation) `_:" +msgstr "" + +msgid "" +"JSON is a text serialization format (it outputs unicode text, although most " +"of the time it is then encoded to ``utf-8``), while pickle is a binary " +"serialization format;" +msgstr "" +"JSON — це формат текстової серіалізації (він виводить текст Юнікод, хоча " +"здебільшого він потім кодується у ``utf-8``), тоді як pickle — це двійковий " +"формат серіалізації;" + +msgid "JSON is human-readable, while pickle is not;" +msgstr "JSON читається людиною, а pickle – ні;" + +msgid "" +"JSON is interoperable and widely used outside of the Python ecosystem, while " +"pickle is Python-specific;" +msgstr "" +"JSON є сумісним і широко використовується за межами екосистеми Python, тоді " +"як pickle є специфічним для Python;" + +msgid "" +"JSON, by default, can only represent a subset of the Python built-in types, " +"and no custom classes; pickle can represent an extremely large number of " +"Python types (many of them automatically, by clever usage of Python's " +"introspection facilities; complex cases can be tackled by implementing :ref:" +"`specific object APIs `);" +msgstr "" +"За замовчуванням JSON може представляти лише підмножину вбудованих типів " +"Python, а не спеціальні класи; pickle може представляти надзвичайно велику " +"кількість типів Python (багато з них автоматично, завдяки розумному " +"використанню можливостей інтроспекції Python; складні випадки можна вирішити " +"шляхом впровадження :ref:`спеціальних API об’єктів `);" + +msgid "" +"Unlike pickle, deserializing untrusted JSON does not in itself create an " +"arbitrary code execution vulnerability." +msgstr "" +"На відміну від pickle, десеріалізація ненадійного JSON сама по собі не " +"створює вразливості виконання довільного коду." + +msgid "" +"The :mod:`json` module: a standard library module allowing JSON " +"serialization and deserialization." +msgstr "" +"Модуль :mod:`json`: стандартний бібліотечний модуль, який дозволяє " +"серіалізацію та десеріалізацію JSON." + +msgid "Data stream format" +msgstr "Формат потоку даних" + +msgid "" +"The data format used by :mod:`pickle` is Python-specific. This has the " +"advantage that there are no restrictions imposed by external standards such " +"as JSON or XDR (which can't represent pointer sharing); however it means " +"that non-Python programs may not be able to reconstruct pickled Python " +"objects." +msgstr "" +"Формат даних, який використовує :mod:`pickle`, є специфічним для Python. Це " +"має перевагу в тому, що немає обмежень, накладених зовнішніми стандартами, " +"такими як JSON або XDR (які не можуть представляти спільний доступ до " +"покажчика); однак це означає, що програми, відмінні від Python, можуть бути " +"не в змозі реконструювати виділені об’єкти Python." + +msgid "" +"By default, the :mod:`pickle` data format uses a relatively compact binary " +"representation. If you need optimal size characteristics, you can " +"efficiently :doc:`compress ` pickled data." +msgstr "" +"За замовчуванням формат даних :mod:`pickle` використовує відносно компактне " +"двійкове представлення. Якщо вам потрібні оптимальні характеристики розміру, " +"ви можете ефективно :doc:`стиснути ` мариновані дані." + +msgid "" +"The module :mod:`pickletools` contains tools for analyzing data streams " +"generated by :mod:`pickle`. :mod:`pickletools` source code has extensive " +"comments about opcodes used by pickle protocols." +msgstr "" +"Модуль :mod:`pickletools` містить інструменти для аналізу потоків даних, " +"згенерованих :mod:`pickle`. Вихідний код :mod:`pickletools` містить численні " +"коментарі щодо кодів операцій, які використовуються протоколами pickle." + +msgid "" +"There are currently 6 different protocols which can be used for pickling. " +"The higher the protocol used, the more recent the version of Python needed " +"to read the pickle produced." +msgstr "" +"На даний момент існує 6 різних протоколів, які можна використовувати для " +"маринування. Чим вищий протокол використовується, тим новіша версія Python " +"потрібна для читання створеного пікле." + +msgid "" +"Protocol version 0 is the original \"human-readable\" protocol and is " +"backwards compatible with earlier versions of Python." +msgstr "" +"Протокол версії 0 — це оригінальний \"людиночитаний\" протокол, який " +"зворотно сумісний із попередніми версіями Python." + +msgid "" +"Protocol version 1 is an old binary format which is also compatible with " +"earlier versions of Python." +msgstr "" +"Протокол версії 1 — це старий двійковий формат, який також сумісний із " +"попередніми версіями Python." + +msgid "" +"Protocol version 2 was introduced in Python 2.3. It provides much more " +"efficient pickling of :term:`new-style classes `. Refer " +"to :pep:`307` for information about improvements brought by protocol 2." +msgstr "" +"Протокол версії 2 був представлений у Python 2.3. Він забезпечує набагато " +"ефективніше маринування :term:`класів нового стилю `. " +"Зверніться до :pep:`307`, щоб отримати інформацію про покращення, внесені " +"протоколом 2." + +msgid "" +"Protocol version 3 was added in Python 3.0. It has explicit support for :" +"class:`bytes` objects and cannot be unpickled by Python 2.x. This was the " +"default protocol in Python 3.0--3.7." +msgstr "" +"Протокол версії 3 додано в Python 3.0. Він має явну підтримку об’єктів :" +"class:`bytes` і не може бути скасований Python 2.x. Це був протокол за " +"замовчуванням у Python 3.0-3.7." + +msgid "" +"Protocol version 4 was added in Python 3.4. It adds support for very large " +"objects, pickling more kinds of objects, and some data format " +"optimizations. It is the default protocol starting with Python 3.8. Refer " +"to :pep:`3154` for information about improvements brought by protocol 4." +msgstr "" +"Протокол версії 4 додано в Python 3.4. Він додає підтримку для дуже великих " +"об’єктів, маринування більшої кількості типів об’єктів і деяку оптимізацію " +"формату даних. Це стандартний протокол, починаючи з Python 3.8. Зверніться " +"до :pep:`3154` для отримання інформації про покращення, внесені протоколом 4." + +msgid "" +"Protocol version 5 was added in Python 3.8. It adds support for out-of-band " +"data and speedup for in-band data. Refer to :pep:`574` for information " +"about improvements brought by protocol 5." +msgstr "" +"Протокол версії 5 додано в Python 3.8. Він додає підтримку позасмугових " +"даних і прискорення для внутрішньосмугових даних. Зверніться до :pep:`574` " +"для отримання інформації про покращення, внесені протоколом 5." + +msgid "" +"Serialization is a more primitive notion than persistence; although :mod:" +"`pickle` reads and writes file objects, it does not handle the issue of " +"naming persistent objects, nor the (even more complicated) issue of " +"concurrent access to persistent objects. The :mod:`pickle` module can " +"transform a complex object into a byte stream and it can transform the byte " +"stream into an object with the same internal structure. Perhaps the most " +"obvious thing to do with these byte streams is to write them onto a file, " +"but it is also conceivable to send them across a network or store them in a " +"database. The :mod:`shelve` module provides a simple interface to pickle " +"and unpickle objects on DBM-style database files." +msgstr "" +"Серіалізація є більш примітивним поняттям, ніж стійкість; хоча :mod:`pickle` " +"читає та записує файлові об’єкти, він не вирішує проблему іменування " +"постійних об’єктів, ані (навіть більш складну) проблему одночасного доступу " +"до постійних об’єктів. Модуль :mod:`pickle` може перетворити складний об’єкт " +"у потік байтів, і він може перетворити потік байтів в об’єкт із такою ж " +"внутрішньою структурою. Мабуть, найочевидніша річ, яку можна зробити з цими " +"потоками байтів, — це записати їх у файл, але також можливо надіслати їх " +"через мережу або зберегти в базі даних. Модуль :mod:`shelve` забезпечує " +"простий інтерфейс для вибору та вилучення об’єктів у файлах бази даних у " +"стилі DBM." + +msgid "Module Interface" +msgstr "Інтерфейс модуля" + +msgid "" +"To serialize an object hierarchy, you simply call the :func:`dumps` " +"function. Similarly, to de-serialize a data stream, you call the :func:" +"`loads` function. However, if you want more control over serialization and " +"de-serialization, you can create a :class:`Pickler` or an :class:`Unpickler` " +"object, respectively." +msgstr "" +"Щоб серіалізувати ієрархію об’єктів, ви просто викликаєте функцію :func:" +"`dumps`. Так само, щоб десеріалізувати потік даних, ви викликаєте функцію :" +"func:`loads`. Однак, якщо ви хочете більше контролювати серіалізацію та " +"десеріалізацію, ви можете створити об’єкт :class:`Pickler` або :class:" +"`Unpickler` відповідно." + +msgid "The :mod:`pickle` module provides the following constants:" +msgstr "Модуль :mod:`pickle` надає такі константи:" + +msgid "" +"An integer, the highest :ref:`protocol version ` " +"available. This value can be passed as a *protocol* value to functions :" +"func:`dump` and :func:`dumps` as well as the :class:`Pickler` constructor." +msgstr "" +"Ціле число, найвища доступна :ref:`версія протоколу `. Це " +"значення можна передати як значення *protocol* до функцій :func:`dump` і :" +"func:`dumps`, а також до конструктора :class:`Pickler`." + +msgid "" +"An integer, the default :ref:`protocol version ` used for " +"pickling. May be less than :data:`HIGHEST_PROTOCOL`. Currently the default " +"protocol is 4, first introduced in Python 3.4 and incompatible with previous " +"versions." +msgstr "" +"Ціле число, стандартна :ref:`версія протоколу `, що " +"використовується для травлення. Може бути менше ніж :data:" +"`HIGHEST_PROTOCOL`. Наразі стандартним протоколом є 4, вперше представлений " +"у Python 3.4 і несумісний із попередніми версіями." + +msgid "The default protocol is 3." +msgstr "Стандартний протокол – 3." + +msgid "The default protocol is 4." +msgstr "Стандартний протокол – 4." + +msgid "" +"The :mod:`pickle` module provides the following functions to make the " +"pickling process more convenient:" +msgstr "" +"Модуль :mod:`pickle` надає такі функції, щоб зробити процес маринування " +"зручнішим:" + +msgid "" +"Write the pickled representation of the object *obj* to the open :term:`file " +"object` *file*. This is equivalent to ``Pickler(file, protocol).dump(obj)``." +msgstr "" +"Запишіть виділене представлення об’єкта *obj* у відкритий :term:`file " +"object` *file*. Це еквівалентно ``Pickler(file, protocol).dump(obj)``." + +msgid "" +"Arguments *file*, *protocol*, *fix_imports* and *buffer_callback* have the " +"same meaning as in the :class:`Pickler` constructor." +msgstr "" +"Аргументи *file*, *protocol*, *fix_imports* і *buffer_callback* мають те " +"саме значення, що й у конструкторі :class:`Pickler`." + +msgid "The *buffer_callback* argument was added." +msgstr "Додано аргумент *buffer_callback*." + +msgid "" +"Return the pickled representation of the object *obj* as a :class:`bytes` " +"object, instead of writing it to a file." +msgstr "" +"Повернути відібране представлення об’єкта *obj* як об’єкт :class:`bytes` " +"замість запису його у файл." + +msgid "" +"Arguments *protocol*, *fix_imports* and *buffer_callback* have the same " +"meaning as in the :class:`Pickler` constructor." +msgstr "" +"Аргументи *protocol*, *fix_imports* і *buffer_callback* мають те саме " +"значення, що й у конструкторі :class:`Pickler`." + +msgid "" +"Read the pickled representation of an object from the open :term:`file " +"object` *file* and return the reconstituted object hierarchy specified " +"therein. This is equivalent to ``Unpickler(file).load()``." +msgstr "" +"Зчитувати виділене представлення об’єкта з відкритого :term:`file object` " +"*file* і повертати відновлену ієрархію об’єктів, указану в ньому. Це " +"еквівалентно ``Unpickler(file).load()``." + +msgid "" +"The protocol version of the pickle is detected automatically, so no protocol " +"argument is needed. Bytes past the pickled representation of the object are " +"ignored." +msgstr "" +"Версія протоколу pickle визначається автоматично, тому аргумент протоколу не " +"потрібен. Байти, що перебувають після виділеного представлення об’єкта, " +"ігноруються." + +msgid "" +"Arguments *file*, *fix_imports*, *encoding*, *errors*, *strict* and " +"*buffers* have the same meaning as in the :class:`Unpickler` constructor." +msgstr "" +"Аргументи *file*, *fix_imports*, *encoding*, *errors*, *strict* і *buffers* " +"мають те саме значення, що й у конструкторі :class:`Unpickler`." + +msgid "The *buffers* argument was added." +msgstr "Додано аргумент *buffers*." + +msgid "" +"Return the reconstituted object hierarchy of the pickled representation " +"*data* of an object. *data* must be a :term:`bytes-like object`." +msgstr "" +"Повертає відновлену ієрархію об’єктів маринованого представлення *даних* " +"об’єкта. *data* має бути :term:`bytes-like object`." + +msgid "" +"Arguments *fix_imports*, *encoding*, *errors*, *strict* and *buffers* have " +"the same meaning as in the :class:`Unpickler` constructor." +msgstr "" +"Аргументи *fix_imports*, *encoding*, *errors*, *strict* і *buffers* мають те " +"саме значення, що й у конструкторі :class:`Unpickler`." + +msgid "The :mod:`pickle` module defines three exceptions:" +msgstr "Модуль :mod:`pickle` визначає три винятки:" + +msgid "" +"Common base class for the other pickling exceptions. It inherits :exc:" +"`Exception`." +msgstr "" +"Загальний базовий клас для інших винятків маринування. Він успадковує :exc:" +"`Exception`." + +msgid "" +"Error raised when an unpicklable object is encountered by :class:`Pickler`. " +"It inherits :exc:`PickleError`." +msgstr "" +"Виникає помилка, коли :class:`Pickler` зустрічає об’єкт, який неможливо " +"вибрати. Він успадковує :exc:`PickleError`." + +msgid "" +"Refer to :ref:`pickle-picklable` to learn what kinds of objects can be " +"pickled." +msgstr "" +"Зверніться до :ref:`pickle-picklable`, щоб дізнатися, які види об’єктів " +"можна маринувати." + +msgid "" +"Error raised when there is a problem unpickling an object, such as a data " +"corruption or a security violation. It inherits :exc:`PickleError`." +msgstr "" +"Помилка виникає, коли виникає проблема з вилученням об’єкта, наприклад " +"пошкодження даних або порушення безпеки. Він успадковує :exc:`PickleError`." + +msgid "" +"Note that other exceptions may also be raised during unpickling, including " +"(but not necessarily limited to) AttributeError, EOFError, ImportError, and " +"IndexError." +msgstr "" +"Зауважте, що інші винятки також можуть виникати під час видалення, включаючи " +"(але не обов’язково обмежуючись ними) AttributeError, EOFError, ImportError " +"та IndexError." + +msgid "" +"The :mod:`pickle` module exports three classes, :class:`Pickler`, :class:" +"`Unpickler` and :class:`PickleBuffer`:" +msgstr "" +"Модуль :mod:`pickle` експортує три класи, :class:`Pickler`, :class:" +"`Unpickler` і :class:`PickleBuffer`:" + +msgid "This takes a binary file for writing a pickle data stream." +msgstr "Це бере двійковий файл для запису потоку даних pickle." + +msgid "" +"The optional *protocol* argument, an integer, tells the pickler to use the " +"given protocol; supported protocols are 0 to :data:`HIGHEST_PROTOCOL`. If " +"not specified, the default is :data:`DEFAULT_PROTOCOL`. If a negative " +"number is specified, :data:`HIGHEST_PROTOCOL` is selected." +msgstr "" +"Необов’язковий аргумент *protocol*, ціле число, повідомляє піклеру " +"використовувати заданий протокол; підтримувані протоколи від 0 до :data:" +"`HIGHEST_PROTOCOL`. Якщо не вказано, типовим є :data:`DEFAULT_PROTOCOL`. " +"Якщо вказано від’ємне число, вибирається :data:`HIGHEST_PROTOCOL`." + +msgid "" +"The *file* argument must have a write() method that accepts a single bytes " +"argument. It can thus be an on-disk file opened for binary writing, an :" +"class:`io.BytesIO` instance, or any other custom object that meets this " +"interface." +msgstr "" +"Аргумент *file* повинен мати метод write(), який приймає однобайтовий " +"аргумент. Таким чином, це може бути файл на диску, відкритий для двійкового " +"запису, екземпляр :class:`io.BytesIO` або будь-який інший спеціальний " +"об’єкт, який відповідає цьому інтерфейсу." + +msgid "" +"If *fix_imports* is true and *protocol* is less than 3, pickle will try to " +"map the new Python 3 names to the old module names used in Python 2, so that " +"the pickle data stream is readable with Python 2." +msgstr "" +"Якщо *fix_imports* має значення true, а *protocol* — менше 3, pickle спробує " +"зіставити нові імена Python 3 зі старими назвами модулів, які " +"використовуються в Python 2, щоб потік даних pickle можна було читати за " +"допомогою Python 2." + +msgid "" +"If *buffer_callback* is None (the default), buffer views are serialized into " +"*file* as part of the pickle stream." +msgstr "" +"Якщо *buffer_callback* має значення None (за замовчуванням), перегляди " +"буфера серіалізуються у *file* як частину потоку pickle." + +msgid "" +"If *buffer_callback* is not None, then it can be called any number of times " +"with a buffer view. If the callback returns a false value (such as None), " +"the given buffer is :ref:`out-of-band `; otherwise the buffer is " +"serialized in-band, i.e. inside the pickle stream." +msgstr "" +"Якщо *buffer_callback* не є None, тоді його можна викликати будь-яку " +"кількість разів у вигляді буфера. Якщо зворотний виклик повертає хибне " +"значення (наприклад, None), даний буфер є :ref:`позасмуговим `; " +"інакше буфер серіалізується внутрішньосмуговим, тобто всередині потоку " +"pickle." + +msgid "" +"It is an error if *buffer_callback* is not None and *protocol* is None or " +"smaller than 5." +msgstr "" +"Це помилка, якщо *buffer_callback* не є None, а *protocol* має значення None " +"або менше 5." + +msgid "" +"Write the pickled representation of *obj* to the open file object given in " +"the constructor." +msgstr "" +"Запишіть виділене представлення *obj* до відкритого файлового об’єкта, " +"наданого в конструкторі." + +msgid "Do nothing by default. This exists so a subclass can override it." +msgstr "" +"За замовчуванням нічого не робити. Це існує, тому підклас може замінити його." + +msgid "" +"If :meth:`persistent_id` returns ``None``, *obj* is pickled as usual. Any " +"other value causes :class:`Pickler` to emit the returned value as a " +"persistent ID for *obj*. The meaning of this persistent ID should be " +"defined by :meth:`Unpickler.persistent_load`. Note that the value returned " +"by :meth:`persistent_id` cannot itself have a persistent ID." +msgstr "" +"Якщо :meth:`persistent_id` повертає ``None``, *obj* маринується як зазвичай. " +"Будь-яке інше значення змушує :class:`Pickler` видати повернуте значення як " +"постійний ідентифікатор для *obj*. Значення цього постійного ідентифікатора " +"має бути визначено :meth:`Unpickler.persistent_load`. Зауважте, що значення, " +"яке повертає :meth:`persistent_id`, не може мати постійний ідентифікатор." + +msgid "See :ref:`pickle-persistent` for details and examples of uses." +msgstr "" +"Перегляньте :ref:`pickle-persistent` для деталей та прикладів використання." + +msgid "" +"A pickler object's dispatch table is a registry of *reduction functions* of " +"the kind which can be declared using :func:`copyreg.pickle`. It is a " +"mapping whose keys are classes and whose values are reduction functions. A " +"reduction function takes a single argument of the associated class and " +"should conform to the same interface as a :meth:`__reduce__` method." +msgstr "" +"Таблиця диспетчеризації об’єкта pickler — це реєстр *функцій скорочення* " +"типу, який можна оголосити за допомогою :func:`copyreg.pickle`. Це " +"відображення, ключі якого є класами, а значення – функціями редукції. " +"Функція зменшення приймає один аргумент пов’язаного класу та має відповідати " +"тому ж інтерфейсу, що й метод :meth:`__reduce__`." + +msgid "" +"By default, a pickler object will not have a :attr:`dispatch_table` " +"attribute, and it will instead use the global dispatch table managed by the :" +"mod:`copyreg` module. However, to customize the pickling for a specific " +"pickler object one can set the :attr:`dispatch_table` attribute to a dict-" +"like object. Alternatively, if a subclass of :class:`Pickler` has a :attr:" +"`dispatch_table` attribute then this will be used as the default dispatch " +"table for instances of that class." +msgstr "" +"За замовчуванням об’єкт pickler не матиме атрибута :attr:`dispatch_table`, " +"натомість він використовуватиме глобальну таблицю відправлення, якою керує " +"модуль :mod:`copyreg`. Однак, щоб налаштувати травлення для певного об’єкта " +"піклеру, можна встановити атрибут :attr:`dispatch_table` на об’єкт, подібний " +"до dict. Крім того, якщо підклас :class:`Pickler` має атрибут :attr:" +"`dispatch_table`, тоді він використовуватиметься як типова таблиця " +"відправлення для екземплярів цього класу." + +msgid "See :ref:`pickle-dispatch` for usage examples." +msgstr "Перегляньте :ref:`pickle-dispatch` приклади використання." + +msgid "" +"Special reducer that can be defined in :class:`Pickler` subclasses. This " +"method has priority over any reducer in the :attr:`dispatch_table`. It " +"should conform to the same interface as a :meth:`__reduce__` method, and can " +"optionally return ``NotImplemented`` to fallback on :attr:`dispatch_table`-" +"registered reducers to pickle ``obj``." +msgstr "" +"Спеціальний редуктор, який можна визначити в підкласах :class:`Pickler`. Цей " +"метод має пріоритет над будь-яким редуктором у :attr:`dispatch_table`. Він " +"має відповідати тому самому інтерфейсу, що й метод :meth:`__reduce__`, і, за " +"бажанням, може повертати ``NotImplemented`` для резервного використання :" +"attr:`dispatch_table`-зареєстрованих редукторів для маринування ``obj``." + +msgid "For a detailed example, see :ref:`reducer_override`." +msgstr "Детальний приклад див. :ref:`reducer_override`." + +msgid "" +"Deprecated. Enable fast mode if set to a true value. The fast mode disables " +"the usage of memo, therefore speeding the pickling process by not generating " +"superfluous PUT opcodes. It should not be used with self-referential " +"objects, doing otherwise will cause :class:`Pickler` to recurse infinitely." +msgstr "" +"Застаріле. Увімкнути швидкий режим, якщо встановлено справжнє значення. " +"Швидкий режим вимикає використання memo, таким чином прискорюючи процес " +"маринування, не генеруючи зайвих кодів операцій PUT. Його не слід " +"використовувати з об’єктами, що посилаються на себе, інакше призведе до " +"безкінечної рекурсії :class:`Pickler`." + +msgid "Use :func:`pickletools.optimize` if you need more compact pickles." +msgstr "" +"Використовуйте :func:`pickletools.optimize`, якщо вам потрібні більш " +"компактні соління." + +msgid "This takes a binary file for reading a pickle data stream." +msgstr "Це бере двійковий файл для читання потоку даних pickle." + +msgid "" +"The protocol version of the pickle is detected automatically, so no protocol " +"argument is needed." +msgstr "" +"Версія протоколу pickle визначається автоматично, тому аргумент протоколу не " +"потрібен." + +msgid "" +"The argument *file* must have three methods, a read() method that takes an " +"integer argument, a readinto() method that takes a buffer argument and a " +"readline() method that requires no arguments, as in the :class:`io." +"BufferedIOBase` interface. Thus *file* can be an on-disk file opened for " +"binary reading, an :class:`io.BytesIO` object, or any other custom object " +"that meets this interface." +msgstr "" +"Аргумент *file* повинен мати три методи: метод read(), який приймає " +"цілочисельний аргумент, метод readinto(), який приймає аргумент буфера, і " +"метод readline(), який не потребує аргументів, як у Інтерфейс :class:`io." +"BufferedIOBase`. Таким чином, *file* може бути файлом на диску, відкритим " +"для двійкового читання, об’єктом :class:`io.BytesIO` або будь-яким іншим " +"спеціальним об’єктом, який відповідає цьому інтерфейсу." + +msgid "" +"The optional arguments *fix_imports*, *encoding* and *errors* are used to " +"control compatibility support for pickle stream generated by Python 2. If " +"*fix_imports* is true, pickle will try to map the old Python 2 names to the " +"new names used in Python 3. The *encoding* and *errors* tell pickle how to " +"decode 8-bit string instances pickled by Python 2; these default to 'ASCII' " +"and 'strict', respectively. The *encoding* can be 'bytes' to read these 8-" +"bit string instances as bytes objects. Using ``encoding='latin1'`` is " +"required for unpickling NumPy arrays and instances of :class:`~datetime." +"datetime`, :class:`~datetime.date` and :class:`~datetime.time` pickled by " +"Python 2." +msgstr "" +"Необов’язкові аргументи *fix_imports*, *encoding* і *errors* " +"використовуються для керування підтримкою сумісності для потоку pickle, " +"створеного Python 2. Якщо *fix_imports* має значення true, pickle спробує " +"зіставити старі імена Python 2 з новими іменами, які використовуються у " +"Python 3. *кодування* та *помилки* повідомляють pickle, як декодувати 8-" +"бітні екземпляри рядків, вибрані Python 2; за замовчуванням вони мають " +"значення \"ASCII\" і \"strict\" відповідно. *Кодуванням* може бути \"байт\" " +"для читання цих 8-бітних екземплярів рядка як об’єктів bytes. Використання " +"``encoding='latin1'`` потрібне для видалення масивів NumPy і екземплярів :" +"class:`~datetime.datetime`, :class:`~datetime.date` і :class:`~datetime." +"time`, вибраних Python 2." + +msgid "" +"If *buffers* is None (the default), then all data necessary for " +"deserialization must be contained in the pickle stream. This means that the " +"*buffer_callback* argument was None when a :class:`Pickler` was instantiated " +"(or when :func:`dump` or :func:`dumps` was called)." +msgstr "" +"Якщо *buffers* має значення None (за замовчуванням), тоді всі дані, " +"необхідні для десеріалізації, повинні міститися в потоці pickle. Це означає, " +"що аргумент *buffer_callback* був None під час створення екземпляра :class:" +"`Pickler` (або під час виклику :func:`dump` або :func:`dumps`)." + +msgid "" +"If *buffers* is not None, it should be an iterable of buffer-enabled objects " +"that is consumed each time the pickle stream references an :ref:`out-of-band " +"` buffer view. Such buffers have been given in order to the " +"*buffer_callback* of a Pickler object." +msgstr "" +"Якщо *buffers* не є None, це має бути ітерація об’єктів із підтримкою " +"буфера, яка споживається щоразу, коли потік pickle посилається на :ref:" +"`позасмугове ` подання буфера. Такі буфери надано для " +"*buffer_callback* об’єкта Pickler." + +msgid "" +"Read the pickled representation of an object from the open file object given " +"in the constructor, and return the reconstituted object hierarchy specified " +"therein. Bytes past the pickled representation of the object are ignored." +msgstr "" +"Зчитувати виділене представлення об’єкта з відкритого файлового об’єкта, " +"наданого в конструкторі, і повертати відновлену ієрархію об’єктів, указану в " +"ньому. Байти, які перебувають після виділеного представлення об’єкта, " +"ігноруються." + +msgid "Raise an :exc:`UnpicklingError` by default." +msgstr "Викликати :exc:`UnpicklingError` за замовчуванням." + +msgid "" +"If defined, :meth:`persistent_load` should return the object specified by " +"the persistent ID *pid*. If an invalid persistent ID is encountered, an :" +"exc:`UnpicklingError` should be raised." +msgstr "" +"Якщо визначено, :meth:`persistent_load` має повертати об’єкт, указаний " +"постійним ідентифікатором *pid*. Якщо виявлено недійсний постійний " +"ідентифікатор, має бути викликано :exc:`UnpicklingError`." + +msgid "" +"Import *module* if necessary and return the object called *name* from it, " +"where the *module* and *name* arguments are :class:`str` objects. Note, " +"unlike its name suggests, :meth:`find_class` is also used for finding " +"functions." +msgstr "" +"Імпортуйте *module*, якщо необхідно, і поверніть з нього об’єкт із назвою " +"*name*, де аргументи *module* і *name* є об’єктами :class:`str`. Зверніть " +"увагу, на відміну від назви, :meth:`find_class` також використовується для " +"пошуку функцій." + +msgid "" +"Subclasses may override this to gain control over what type of objects and " +"how they can be loaded, potentially reducing security risks. Refer to :ref:" +"`pickle-restrict` for details." +msgstr "" +"Підкласи можуть замінити це, щоб отримати контроль над тим, який тип " +"об’єктів і як їх можна завантажувати, потенційно зменшуючи ризики безпеки. " +"Зверніться до :ref:`pickle-restrict` для деталей." + +msgid "" +"Raises an :ref:`auditing event ` ``pickle.find_class`` with " +"arguments ``module``, ``name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``pickle.find_class`` з аргументами " +"``module``, ``name``." + +msgid "" +"A wrapper for a buffer representing picklable data. *buffer* must be a :ref:" +"`buffer-providing ` object, such as a :term:`bytes-like " +"object` or a N-dimensional array." +msgstr "" +"Обгортка для буфера, що представляє дані, які можна вибрати. *buffer* має " +"бути об’єктом, :ref:`що надає буфер `, наприклад :term:`bytes-" +"like object` або N-вимірним масивом." + +msgid "" +":class:`PickleBuffer` is itself a buffer provider, therefore it is possible " +"to pass it to other APIs expecting a buffer-providing object, such as :class:" +"`memoryview`." +msgstr "" +":class:`PickleBuffer` сам є постачальником буфера, тому його можна передати " +"іншим API, які очікують об’єкта, що надає буфер, наприклад :class:" +"`memoryview`." + +msgid "" +":class:`PickleBuffer` objects can only be serialized using pickle protocol 5 " +"or higher. They are eligible for :ref:`out-of-band serialization `." +msgstr "" +"Об’єкти :class:`PickleBuffer` можна серіалізувати лише за допомогою " +"протоколу pickle версії 5 або вище. Вони підходять для :ref:`позасмугової " +"серіалізації `." + +msgid "" +"Return a :class:`memoryview` of the memory area underlying this buffer. The " +"returned object is a one-dimensional, C-contiguous memoryview with format " +"``B`` (unsigned bytes). :exc:`BufferError` is raised if the buffer is " +"neither C- nor Fortran-contiguous." +msgstr "" +"Повертає :class:`memoryview` області пам’яті, що лежить в основі цього " +"буфера. Повернений об’єкт є одновимірним C-суміжним представленням пам’яті у " +"форматі ``B`` (байти без знаку). :exc:`BufferError` виникає, якщо буфер не " +"суміжний ні на C, ні на Fortran." + +msgid "Release the underlying buffer exposed by the PickleBuffer object." +msgstr "Вивільніть базовий буфер, відкритий об’єктом PickleBuffer." + +msgid "What can be pickled and unpickled?" +msgstr "Що можна маринувати і не квашети?" + +msgid "The following types can be pickled:" +msgstr "Маринувати можна такі види:" + +msgid "``None``, ``True``, and ``False``;" +msgstr "``None``, ``True`` і ``False``;" + +msgid "integers, floating-point numbers, complex numbers;" +msgstr "цілі числа, числа з плаваючою комою, комплексні числа;" + +msgid "strings, bytes, bytearrays;" +msgstr "рядки, байти, байтові масиви;" + +msgid "" +"tuples, lists, sets, and dictionaries containing only picklable objects;" +msgstr "" +"кортежі, списки, набори та словники, що містять лише об’єкти, які можна " +"вибирати;" + +msgid "" +"functions (built-in and user-defined) accessible from the top level of a " +"module (using :keyword:`def`, not :keyword:`lambda`);" +msgstr "" +"функції (вбудовані та визначені користувачем), доступні з верхнього рівня " +"модуля (за допомогою :keyword:`def`, а не :keyword:`lambda`);" + +msgid "classes accessible from the top level of a module;" +msgstr "класи, доступні з верхнього рівня модуля;" + +msgid "" +"instances of such classes whose the result of calling :meth:`__getstate__` " +"is picklable (see section :ref:`pickle-inst` for details)." +msgstr "" + +msgid "" +"Attempts to pickle unpicklable objects will raise the :exc:`PicklingError` " +"exception; when this happens, an unspecified number of bytes may have " +"already been written to the underlying file. Trying to pickle a highly " +"recursive data structure may exceed the maximum recursion depth, a :exc:" +"`RecursionError` will be raised in this case. You can carefully raise this " +"limit with :func:`sys.setrecursionlimit`." +msgstr "" +"Спроби маринувати об’єкти, які неможливо вибрати, викличуть виняток :exc:" +"`PicklingError`; коли це трапляється, невизначену кількість байтів, можливо, " +"уже було записано до основного файлу. Спроба відібрати високорекурсивну " +"структуру даних може перевищити максимальну глибину рекурсії, у цьому " +"випадку виникне :exc:`RecursionError`. Ви можете обережно збільшити це " +"обмеження за допомогою :func:`sys.setrecursionlimit`." + +msgid "" +"Note that functions (built-in and user-defined) are pickled by fully :term:" +"`qualified name`, not by value. [#]_ This means that only the function name " +"is pickled, along with the name of the containing module and classes. " +"Neither the function's code, nor any of its function attributes are " +"pickled. Thus the defining module must be importable in the unpickling " +"environment, and the module must contain the named object, otherwise an " +"exception will be raised. [#]_" +msgstr "" +"Зауважте, що функції (вбудовані та визначені користувачем) вибираються за " +"повним :term:`qualified name`, а не за значенням. [#]_ Це означає, що " +"виділяється лише назва функції, а також назва модуля та класів, що містять. " +"Ні код функції, ні будь-які її атрибути функції не мариновані. Таким чином, " +"визначальний модуль має бути імпортованим у середовищі unpickling, і модуль " +"має містити названий об’єкт, інакше буде створено виняток. [#]_" + +msgid "" +"Similarly, classes are pickled by fully qualified name, so the same " +"restrictions in the unpickling environment apply. Note that none of the " +"class's code or data is pickled, so in the following example the class " +"attribute ``attr`` is not restored in the unpickling environment::" +msgstr "" +"Подібним чином, класи вибираються за повним іменем, тому застосовуються ті " +"самі обмеження в середовищі розбирання. Зауважте, що жоден із коду чи даних " +"класу не вибирається, тому в наступному прикладі атрибут класу ``attr`` не " +"відновлюється в середовищі розбирання::" + +msgid "" +"These restrictions are why picklable functions and classes must be defined " +"at the top level of a module." +msgstr "" +"Через ці обмеження функції та класи, які можна вибрати, повинні бути " +"визначені на верхньому рівні модуля." + +msgid "" +"Similarly, when class instances are pickled, their class's code and data are " +"not pickled along with them. Only the instance data are pickled. This is " +"done on purpose, so you can fix bugs in a class or add methods to the class " +"and still load objects that were created with an earlier version of the " +"class. If you plan to have long-lived objects that will see many versions " +"of a class, it may be worthwhile to put a version number in the objects so " +"that suitable conversions can be made by the class's :meth:`__setstate__` " +"method." +msgstr "" +"Подібним чином, коли екземпляри класу відбираються, код і дані класу не " +"відбираються разом з ними. Вибираються лише дані екземпляра. Це зроблено " +"спеціально, щоб ви могли виправляти помилки в класі або додавати методи до " +"класу та все одно завантажувати об’єкти, створені за допомогою попередньої " +"версії класу. Якщо ви плануєте мати довгострокові об’єкти, які бачитимуть " +"багато версій класу, можливо, варто вказати номер версії в об’єктах, щоб " +"відповідні перетворення можна було зробити за допомогою методу :meth:" +"`__setstate__` класу." + +msgid "Pickling Class Instances" +msgstr "Примірники класу маринування" + +msgid "" +"In this section, we describe the general mechanisms available to you to " +"define, customize, and control how class instances are pickled and unpickled." +msgstr "" +"У цьому розділі ми описуємо загальні механізми, доступні вам для визначення, " +"налаштування та контролю того, як екземпляри класу вибираються та не " +"вибираються." + +msgid "" +"In most cases, no additional code is needed to make instances picklable. By " +"default, pickle will retrieve the class and the attributes of an instance " +"via introspection. When a class instance is unpickled, its :meth:`__init__` " +"method is usually *not* invoked. The default behaviour first creates an " +"uninitialized instance and then restores the saved attributes. The " +"following code shows an implementation of this behaviour::" +msgstr "" +"У більшості випадків не потрібен додатковий код, щоб зробити екземпляри " +"доступними для вибору. За замовчуванням pickle отримає клас і атрибути " +"екземпляра за допомогою самоаналізу. Коли екземпляр класу не вибрано, його " +"метод :meth:`__init__` зазвичай *не* викликається. Поведінка за " +"замовчуванням спочатку створює неініціалізований екземпляр, а потім " +"відновлює збережені атрибути. Наступний код демонструє реалізацію цієї " +"поведінки:" + +msgid "" +"Classes can alter the default behaviour by providing one or several special " +"methods:" +msgstr "" +"Класи можуть змінювати типову поведінку, надаючи один або декілька " +"спеціальних методів:" + +msgid "" +"In protocols 2 and newer, classes that implements the :meth:" +"`__getnewargs_ex__` method can dictate the values passed to the :meth:" +"`__new__` method upon unpickling. The method must return a pair ``(args, " +"kwargs)`` where *args* is a tuple of positional arguments and *kwargs* a " +"dictionary of named arguments for constructing the object. Those will be " +"passed to the :meth:`__new__` method upon unpickling." +msgstr "" +"У протоколах 2 і новіших класи, які реалізують метод :meth:" +"`__getnewargs_ex__`, можуть диктувати значення, що передаються в метод :meth:" +"`__new__` після видалення. Метод має повертати пару \"(args, kwargs)\", де " +"*args* — це кортеж позиційних аргументів, а *kwargs* — словник іменованих " +"аргументів для побудови об’єкта. Вони будуть передані в метод :meth:" +"`__new__` після видалення." + +msgid "" +"You should implement this method if the :meth:`__new__` method of your class " +"requires keyword-only arguments. Otherwise, it is recommended for " +"compatibility to implement :meth:`__getnewargs__`." +msgstr "" +"Ви повинні застосувати цей метод, якщо метод :meth:`__new__` вашого класу " +"вимагає аргументів лише з ключовими словами. В іншому випадку для сумісності " +"рекомендується реалізувати :meth:`__getnewargs__`." + +msgid ":meth:`__getnewargs_ex__` is now used in protocols 2 and 3." +msgstr ":meth:`__getnewargs_ex__` тепер використовується в протоколах 2 і 3." + +msgid "" +"This method serves a similar purpose as :meth:`__getnewargs_ex__`, but " +"supports only positional arguments. It must return a tuple of arguments " +"``args`` which will be passed to the :meth:`__new__` method upon unpickling." +msgstr "" +"Цей метод виконує таку саму мету, як :meth:`__getnewargs_ex__`, але " +"підтримує лише позиційні аргументи. Він має повертати кортеж аргументів " +"``args``, який буде передано методу :meth:`__new__` після видалення." + +msgid "" +":meth:`__getnewargs__` will not be called if :meth:`__getnewargs_ex__` is " +"defined." +msgstr "" +":meth:`__getnewargs__` не буде викликано, якщо :meth:`__getnewargs_ex__` " +"визначено." + +msgid "" +"Before Python 3.6, :meth:`__getnewargs__` was called instead of :meth:" +"`__getnewargs_ex__` in protocols 2 and 3." +msgstr "" +"До Python 3.6 :meth:`__getnewargs__` викликався замість :meth:" +"`__getnewargs_ex__` у протоколах 2 і 3." + +msgid "" +"Classes can further influence how their instances are pickled by overriding " +"the method :meth:`__getstate__`. It is called and the returned object is " +"pickled as the contents for the instance, instead of a default state. There " +"are several cases:" +msgstr "" + +msgid "" +"For a class that has no instance :attr:`~object.__dict__` and no :attr:" +"`~object.__slots__`, the default state is ``None``." +msgstr "" + +msgid "" +"For a class that has an instance :attr:`~object.__dict__` and no :attr:" +"`~object.__slots__`, the default state is ``self.__dict__``." +msgstr "" + +msgid "" +"For a class that has an instance :attr:`~object.__dict__` and :attr:`~object." +"__slots__`, the default state is a tuple consisting of two dictionaries: " +"``self.__dict__``, and a dictionary mapping slot names to slot values. Only " +"slots that have a value are included in the latter." +msgstr "" + +msgid "" +"For a class that has :attr:`~object.__slots__` and no instance :attr:" +"`~object.__dict__`, the default state is a tuple whose first item is " +"``None`` and whose second item is a dictionary mapping slot names to slot " +"values described in the previous bullet." +msgstr "" + +msgid "" +"Added the default implementation of the ``__getstate__()`` method in the :" +"class:`object` class." +msgstr "" + +msgid "" +"Upon unpickling, if the class defines :meth:`__setstate__`, it is called " +"with the unpickled state. In that case, there is no requirement for the " +"state object to be a dictionary. Otherwise, the pickled state must be a " +"dictionary and its items are assigned to the new instance's dictionary." +msgstr "" +"Якщо під час розбирання клас визначає :meth:`__setstate__`, він викликається " +"зі станом unpickled. У цьому випадку немає вимоги, щоб об’єкт стану був " +"словником. В іншому випадку маринований стан має бути словником, а його " +"елементи призначаються словнику нового екземпляра." + +msgid "" +"If :meth:`__getstate__` returns a false value, the :meth:`__setstate__` " +"method will not be called upon unpickling." +msgstr "" +"Якщо :meth:`__getstate__` повертає хибне значення, метод :meth:" +"`__setstate__` не буде викликано після видалення." + +msgid "" +"Refer to the section :ref:`pickle-state` for more information about how to " +"use the methods :meth:`__getstate__` and :meth:`__setstate__`." +msgstr "" +"Зверніться до розділу :ref:`pickle-state`, щоб дізнатися більше про те, як " +"використовувати методи :meth:`__getstate__` і :meth:`__setstate__`." + +msgid "" +"At unpickling time, some methods like :meth:`__getattr__`, :meth:" +"`__getattribute__`, or :meth:`__setattr__` may be called upon the instance. " +"In case those methods rely on some internal invariant being true, the type " +"should implement :meth:`__new__` to establish such an invariant, as :meth:" +"`__init__` is not called when unpickling an instance." +msgstr "" +"Під час видалення деякі методи, такі як :meth:`__getattr__`, :meth:" +"`__getattribute__` або :meth:`__setattr__`, можуть бути викликані для " +"екземпляра. У випадку, якщо ці методи покладаються на те, що якийсь " +"внутрішній інваріант є істинним, тип повинен реалізувати :meth:`__new__` для " +"встановлення такого інваріанта, оскільки :meth:`__init__` не викликається " +"під час видалення екземпляра." + +msgid "" +"As we shall see, pickle does not use directly the methods described above. " +"In fact, these methods are part of the copy protocol which implements the :" +"meth:`__reduce__` special method. The copy protocol provides a unified " +"interface for retrieving the data necessary for pickling and copying " +"objects. [#]_" +msgstr "" +"Як ми побачимо далі, pickle не використовує безпосередньо методи, описані " +"вище. Насправді ці методи є частиною протоколу копіювання, який реалізує " +"спеціальний метод :meth:`__reduce__`. Протокол копіювання забезпечує " +"уніфікований інтерфейс для отримання даних, необхідних для травлення та " +"копіювання об'єктів. [#]_" + +msgid "" +"Although powerful, implementing :meth:`__reduce__` directly in your classes " +"is error prone. For this reason, class designers should use the high-level " +"interface (i.e., :meth:`__getnewargs_ex__`, :meth:`__getstate__` and :meth:" +"`__setstate__`) whenever possible. We will show, however, cases where " +"using :meth:`__reduce__` is the only option or leads to more efficient " +"pickling or both." +msgstr "" +"Незважаючи на потужність, впровадження :meth:`__reduce__` безпосередньо у " +"ваших класах є схильним до помилок. З цієї причини розробники класів повинні " +"використовувати інтерфейс високого рівня (тобто :meth:`__getnewargs_ex__`, :" +"meth:`__getstate__` і :meth:`__setstate__`), коли це можливо. Однак ми " +"покажемо випадки, коли використання :meth:`__reduce__` є єдиним варіантом " +"або призводить до більш ефективного травлення, або обох." + +msgid "" +"The interface is currently defined as follows. The :meth:`__reduce__` " +"method takes no argument and shall return either a string or preferably a " +"tuple (the returned object is often referred to as the \"reduce value\")." +msgstr "" +"На даний момент інтерфейс визначається наступним чином. Метод :meth:" +"`__reduce__` не приймає аргументів і повертає або рядок, або, бажано, кортеж " +"(повернений об’єкт часто називають \"зменшеним значенням\")." + +msgid "" +"If a string is returned, the string should be interpreted as the name of a " +"global variable. It should be the object's local name relative to its " +"module; the pickle module searches the module namespace to determine the " +"object's module. This behaviour is typically useful for singletons." +msgstr "" +"Якщо повертається рядок, цей рядок слід інтерпретувати як назву глобальної " +"змінної. Це має бути локальне ім’я об’єкта відносно його модуля; модуль " +"pickle шукає простір імен модуля, щоб визначити модуль об’єкта. Така " +"поведінка, як правило, корисна для одиночних користувачів." + +msgid "" +"When a tuple is returned, it must be between two and six items long. " +"Optional items can either be omitted, or ``None`` can be provided as their " +"value. The semantics of each item are in order:" +msgstr "" +"Коли повертається кортеж, він має містити від двох до шести елементів. " +"Необов’язкові елементи можна або пропустити, або в якості їхнього значення " +"можна вказати ``None``. Семантика кожного елемента в порядку:" + +msgid "" +"A callable object that will be called to create the initial version of the " +"object." +msgstr "" +"Викликаний об’єкт, який буде викликано для створення початкової версії " +"об’єкта." + +msgid "" +"A tuple of arguments for the callable object. An empty tuple must be given " +"if the callable does not accept any argument." +msgstr "" +"Кортеж аргументів для викликаного об’єкта. Порожній кортеж повинен бути " +"наданий, якщо викликаний не приймає жодних аргументів." + +msgid "" +"Optionally, the object's state, which will be passed to the object's :meth:" +"`__setstate__` method as previously described. If the object has no such " +"method then, the value must be a dictionary and it will be added to the " +"object's :attr:`~object.__dict__` attribute." +msgstr "" +"Необов’язково, стан об’єкта, який буде передано методу :meth:`__setstate__` " +"об’єкта, як описано раніше. Якщо об’єкт не має такого методу, значення має " +"бути словником, і воно буде додано до атрибута об’єкта :attr:`~object." +"__dict__`." + +msgid "" +"Optionally, an iterator (and not a sequence) yielding successive items. " +"These items will be appended to the object either using ``obj.append(item)`` " +"or, in batch, using ``obj.extend(list_of_items)``. This is primarily used " +"for list subclasses, but may be used by other classes as long as they have :" +"meth:`append` and :meth:`extend` methods with the appropriate signature. " +"(Whether :meth:`append` or :meth:`extend` is used depends on which pickle " +"protocol version is used as well as the number of items to append, so both " +"must be supported.)" +msgstr "" +"Необов’язково, ітератор (а не послідовність), що дає послідовні елементи. Ці " +"елементи будуть додані до об’єкта за допомогою ``obj.append(item)`` або, у " +"пакеті, за допомогою ``obj.extend(list_of_items)``. Це в основному " +"використовується для підкласів списку, але може використовуватися іншими " +"класами, якщо вони мають методи :meth:`append` і :meth:`extend` з " +"відповідним підписом. (Використання :meth:`append` чи :meth:`extend` " +"залежить від того, яка версія протоколу pickle використовується, а також від " +"кількості елементів для додавання, тому обидва мають підтримуватися.)" + +msgid "" +"Optionally, an iterator (not a sequence) yielding successive key-value " +"pairs. These items will be stored to the object using ``obj[key] = " +"value``. This is primarily used for dictionary subclasses, but may be used " +"by other classes as long as they implement :meth:`__setitem__`." +msgstr "" +"Необов’язково, ітератор (не послідовність), що дає послідовні пари ключ-" +"значення. Ці елементи будуть збережені в об’єкті за допомогою ``obj[key] = " +"value``. Це в основному використовується для підкласів словників, але може " +"використовуватися іншими класами, якщо вони реалізують :meth:`__setitem__`." + +msgid "" +"Optionally, a callable with a ``(obj, state)`` signature. This callable " +"allows the user to programmatically control the state-updating behavior of a " +"specific object, instead of using ``obj``'s static :meth:`__setstate__` " +"method. If not ``None``, this callable will have priority over ``obj``'s :" +"meth:`__setstate__`." +msgstr "" +"Необов’язково, викликається з підписом ``(obj, state)``. Цей виклик дозволяє " +"користувачеві програмно керувати поведінкою оновлення стану конкретного " +"об’єкта замість використання статичного методу ``obj`` :meth:`__setstate__`. " +"Якщо не ``None``, цей виклик матиме пріоритет над ``obj`` :meth:" +"`__setstate__`." + +msgid "The optional sixth tuple item, ``(obj, state)``, was added." +msgstr "Додано необов’язковий шостий елемент кортежу, ``(obj, state)``." + +msgid "" +"Alternatively, a :meth:`__reduce_ex__` method may be defined. The only " +"difference is this method should take a single integer argument, the " +"protocol version. When defined, pickle will prefer it over the :meth:" +"`__reduce__` method. In addition, :meth:`__reduce__` automatically becomes " +"a synonym for the extended version. The main use for this method is to " +"provide backwards-compatible reduce values for older Python releases." +msgstr "" +"В якості альтернативи можна визначити метод :meth:`__reduce_ex__`. Єдина " +"відмінність полягає в тому, що цей метод має приймати один цілий аргумент, " +"версію протоколу. Якщо визначено, pickle віддасть перевагу цьому методу :" +"meth:`__reduce__`. Крім того, :meth:`__reduce__` автоматично стає синонімом " +"розширеної версії. Основним використанням цього методу є надання зворотно " +"сумісних значень зменшення для старіших випусків Python." + +msgid "Persistence of External Objects" +msgstr "Постійність зовнішніх об'єктів" + +msgid "" +"For the benefit of object persistence, the :mod:`pickle` module supports the " +"notion of a reference to an object outside the pickled data stream. Such " +"objects are referenced by a persistent ID, which should be either a string " +"of alphanumeric characters (for protocol 0) [#]_ or just an arbitrary object " +"(for any newer protocol)." +msgstr "" +"На користь збереження об’єкта модуль :mod:`pickle` підтримує поняття " +"посилання на об’єкт за межами марінованого потоку даних. На такі об’єкти " +"посилається постійний ідентифікатор, який має бути або рядком буквено-" +"цифрових символів (для протоколу 0) [#]_, або просто довільним об’єктом (для " +"будь-якого новішого протоколу)." + +msgid "" +"The resolution of such persistent IDs is not defined by the :mod:`pickle` " +"module; it will delegate this resolution to the user-defined methods on the " +"pickler and unpickler, :meth:`~Pickler.persistent_id` and :meth:`~Unpickler." +"persistent_load` respectively." +msgstr "" +"Роздільна здатність таких постійних ідентифікаторів не визначається модулем :" +"mod:`pickle`; він делегує це вирішення визначеним користувачем методам " +"pickler і unpickler, :meth:`~Pickler.persistent_id` і :meth:`~Unpickler." +"persistent_load` відповідно." + +msgid "" +"To pickle objects that have an external persistent ID, the pickler must have " +"a custom :meth:`~Pickler.persistent_id` method that takes an object as an " +"argument and returns either ``None`` or the persistent ID for that object. " +"When ``None`` is returned, the pickler simply pickles the object as normal. " +"When a persistent ID string is returned, the pickler will pickle that " +"object, along with a marker so that the unpickler will recognize it as a " +"persistent ID." +msgstr "" +"Щоб вибирати об’єкти, які мають зовнішній постійний ідентифікатор, засіб " +"вибору повинен мати спеціальний метод :meth:`~Pickler.persistent_id`, який " +"приймає об’єкт як аргумент і повертає \"Немає\" або постійний ідентифікатор " +"для цього об’єкта. Коли повертається ``None``, піклер просто маринує об’єкт " +"як зазвичай. Коли повертається рядок постійного ідентифікатора, засіб вибору " +"виділяє цей об’єкт разом із маркером, щоб засіб вилучення розпізнавало його " +"як постійний ідентифікатор." + +msgid "" +"To unpickle external objects, the unpickler must have a custom :meth:" +"`~Unpickler.persistent_load` method that takes a persistent ID object and " +"returns the referenced object." +msgstr "" +"Щоб розібрати зовнішні об’єкти, розбірник повинен мати спеціальний метод :" +"meth:`~Unpickler.persistent_load`, який приймає об’єкт постійного " +"ідентифікатора та повертає об’єкт, на який посилається." + +msgid "" +"Here is a comprehensive example presenting how persistent ID can be used to " +"pickle external objects by reference." +msgstr "" +"Ось вичерпний приклад, який демонструє, як постійний ідентифікатор можна " +"використовувати для маринування зовнішніх об’єктів за посиланням." + +msgid "Dispatch Tables" +msgstr "Таблиці відправлення" + +msgid "" +"If one wants to customize pickling of some classes without disturbing any " +"other code which depends on pickling, then one can create a pickler with a " +"private dispatch table." +msgstr "" +"Якщо ви хочете налаштувати маринування деяких класів, не порушуючи будь-який " +"інший код, який залежить від маринування, тоді можна створити піклер із " +"приватною таблицею відправлення." + +msgid "" +"The global dispatch table managed by the :mod:`copyreg` module is available " +"as :data:`copyreg.dispatch_table`. Therefore, one may choose to use a " +"modified copy of :data:`copyreg.dispatch_table` as a private dispatch table." +msgstr "" +"Глобальна таблиця відправлення, якою керує модуль :mod:`copyreg`, доступна " +"як :data:`copyreg.dispatch_table`. Таким чином, можна використовувати " +"модифіковану копію :data:`copyreg.dispatch_table` як приватну таблицю " +"відправлення." + +msgid "For example ::" +msgstr "Наприклад ::" + +msgid "" +"creates an instance of :class:`pickle.Pickler` with a private dispatch table " +"which handles the ``SomeClass`` class specially. Alternatively, the code ::" +msgstr "" +"створює екземпляр :class:`pickle.Pickler` із приватною таблицею " +"відправлення, яка спеціально обробляє клас ``SomeClass``. Як альтернатива, " +"код::" + +msgid "" +"does the same but all instances of ``MyPickler`` will by default share the " +"private dispatch table. On the other hand, the code ::" +msgstr "" +"робить те саме, але всі екземпляри ``MyPickler`` за замовчуванням спільно " +"використовуватимуть приватну таблицю відправлення. З іншого боку, код ::" + +msgid "" +"modifies the global dispatch table shared by all users of the :mod:`copyreg` " +"module." +msgstr "" +"змінює глобальну таблицю відправлення, яку використовують усі користувачі " +"модуля :mod:`copyreg`." + +msgid "Handling Stateful Objects" +msgstr "Обробка об'єктів із збереженням стану" + +msgid "" +"Here's an example that shows how to modify pickling behavior for a class. " +"The :class:`TextReader` class opens a text file, and returns the line number " +"and line contents each time its :meth:`!readline` method is called. If a :" +"class:`TextReader` instance is pickled, all attributes *except* the file " +"object member are saved. When the instance is unpickled, the file is " +"reopened, and reading resumes from the last location. The :meth:" +"`__setstate__` and :meth:`__getstate__` methods are used to implement this " +"behavior. ::" +msgstr "" +"Ось приклад, який показує, як змінити поведінку травлення для класу. Клас :" +"class:`TextReader` відкриває текстовий файл і повертає номер рядка та вміст " +"рядка кожного разу, коли викликається його метод :meth:`!readline`. Якщо " +"екземпляр :class:`TextReader` вибрано, усі атрибути *окрім* члена об’єкта " +"файлу зберігаються. Коли екземпляр скасовується, файл відкривається знову, і " +"читання відновлюється з останнього розташування. Для реалізації цієї " +"поведінки використовуються методи :meth:`__setstate__` і :meth:" +"`__getstate__`. ::" + +msgid "A sample usage might be something like this::" +msgstr "Зразок використання може бути приблизно таким:" + +msgid "Custom Reduction for Types, Functions, and Other Objects" +msgstr "Спеціальне скорочення для типів, функцій та інших об’єктів" + +msgid "" +"Sometimes, :attr:`~Pickler.dispatch_table` may not be flexible enough. In " +"particular we may want to customize pickling based on another criterion than " +"the object's type, or we may want to customize the pickling of functions and " +"classes." +msgstr "" +"Іноді :attr:`~Pickler.dispatch_table` може бути недостатньо гнучким. " +"Зокрема, ми можемо захотіти налаштувати маринування на основі іншого " +"критерію, ніж тип об’єкта, або ми можемо захотіти налаштувати маринування " +"функцій і класів." + +msgid "" +"For those cases, it is possible to subclass from the :class:`Pickler` class " +"and implement a :meth:`~Pickler.reducer_override` method. This method can " +"return an arbitrary reduction tuple (see :meth:`__reduce__`). It can " +"alternatively return ``NotImplemented`` to fallback to the traditional " +"behavior." +msgstr "" +"Для таких випадків можна створити підклас із класу :class:`Pickler` і " +"реалізувати метод :meth:`~Pickler.reducer_override`. Цей метод може " +"повертати довільний кортеж скорочення (див. :meth:`__reduce__`). Він також " +"може повернути ``NotImplemented`` для повернення до традиційної поведінки." + +msgid "" +"If both the :attr:`~Pickler.dispatch_table` and :meth:`~Pickler." +"reducer_override` are defined, then :meth:`~Pickler.reducer_override` method " +"takes priority." +msgstr "" +"Якщо визначено і :attr:`~Pickler.dispatch_table`, і :meth:`~Pickler." +"reducer_override`, то метод :meth:`~Pickler.reducer_override` має пріоритет." + +msgid "" +"For performance reasons, :meth:`~Pickler.reducer_override` may not be called " +"for the following objects: ``None``, ``True``, ``False``, and exact " +"instances of :class:`int`, :class:`float`, :class:`bytes`, :class:`str`, :" +"class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` and :class:" +"`tuple`." +msgstr "" +"З міркувань продуктивності :meth:`~Pickler.reducer_override` не можна " +"викликати для таких об’єктів: ``None``, ``True``, ``False`` і точних " +"екземплярів :class:`int` , :class:`float`, :class:`bytes`, :class:`str`, :" +"class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` і :class:" +"`tuple`." + +msgid "" +"Here is a simple example where we allow pickling and reconstructing a given " +"class::" +msgstr "" +"Ось простий приклад, де ми дозволяємо маринувати та реконструювати заданий " +"клас:" + +msgid "Out-of-band Buffers" +msgstr "Позасмугові буфери" + +msgid "" +"In some contexts, the :mod:`pickle` module is used to transfer massive " +"amounts of data. Therefore, it can be important to minimize the number of " +"memory copies, to preserve performance and resource consumption. However, " +"normal operation of the :mod:`pickle` module, as it transforms a graph-like " +"structure of objects into a sequential stream of bytes, intrinsically " +"involves copying data to and from the pickle stream." +msgstr "" +"У деяких контекстах модуль :mod:`pickle` використовується для передачі " +"величезних обсягів даних. Тому може бути важливо мінімізувати кількість " +"копій пам’яті, щоб зберегти продуктивність і споживання ресурсів. Однак " +"нормальна робота модуля :mod:`pickle`, оскільки він перетворює графоподібну " +"структуру об’єктів у послідовний потік байтів, за своєю суттю передбачає " +"копіювання даних до потоку pickle і з нього." + +msgid "" +"This constraint can be eschewed if both the *provider* (the implementation " +"of the object types to be transferred) and the *consumer* (the " +"implementation of the communications system) support the out-of-band " +"transfer facilities provided by pickle protocol 5 and higher." +msgstr "" +"Це обмеження можна уникнути, якщо і *провайдер* (реалізація типів об’єктів, " +"що передаються), і *споживач* (реалізація системи зв’язку) підтримують " +"засоби позасмугової передачі, надані протоколом pickle 5 і вище." + +msgid "Provider API" +msgstr "API провайдера" + +msgid "" +"The large data objects to be pickled must implement a :meth:`__reduce_ex__` " +"method specialized for protocol 5 and higher, which returns a :class:" +"`PickleBuffer` instance (instead of e.g. a :class:`bytes` object) for any " +"large data." +msgstr "" +"Великі об’єкти даних, які потрібно відібрати, мають реалізовувати метод :" +"meth:`__reduce_ex__`, спеціалізований для протоколу 5 і вище, який повертає " +"екземпляр :class:`PickleBuffer` (замість, наприклад, об’єкта :class:`bytes`) " +"для будь-якого великого даних." + +msgid "" +"A :class:`PickleBuffer` object *signals* that the underlying buffer is " +"eligible for out-of-band data transfer. Those objects remain compatible " +"with normal usage of the :mod:`pickle` module. However, consumers can also " +"opt-in to tell :mod:`pickle` that they will handle those buffers by " +"themselves." +msgstr "" +"Об’єкт :class:`PickleBuffer` *сигналізує*, що базовий буфер придатний для " +"позасмугової передачі даних. Ці об’єкти залишаються сумісними зі звичайним " +"використанням модуля :mod:`pickle`. Однак споживачі також можуть повідомити :" +"mod:`pickle`, що вони самостійно оброблятимуть ці буфери." + +msgid "Consumer API" +msgstr "Споживацький API" + +msgid "" +"A communications system can enable custom handling of the :class:" +"`PickleBuffer` objects generated when serializing an object graph." +msgstr "" +"Система зв’язку може ввімкнути спеціальну обробку об’єктів :class:" +"`PickleBuffer`, створених під час серіалізації графа об’єктів." + +msgid "" +"On the sending side, it needs to pass a *buffer_callback* argument to :class:" +"`Pickler` (or to the :func:`dump` or :func:`dumps` function), which will be " +"called with each :class:`PickleBuffer` generated while pickling the object " +"graph. Buffers accumulated by the *buffer_callback* will not see their data " +"copied into the pickle stream, only a cheap marker will be inserted." +msgstr "" +"На стороні надсилання йому потрібно передати аргумент *buffer_callback* до :" +"class:`Pickler` (або до функції :func:`dump` або :func:`dumps`), який буде " +"викликано з кожним :class:`PickleBuffer`, створений під час маринування " +"графа об’єкта. Буфери, накопичені *buffer_callback*, не бачитимуть своїх " +"даних, скопійованих у потік pickle, буде вставлено лише дешевий маркер." + +msgid "" +"On the receiving side, it needs to pass a *buffers* argument to :class:" +"`Unpickler` (or to the :func:`load` or :func:`loads` function), which is an " +"iterable of the buffers which were passed to *buffer_callback*. That " +"iterable should produce buffers in the same order as they were passed to " +"*buffer_callback*. Those buffers will provide the data expected by the " +"reconstructors of the objects whose pickling produced the original :class:" +"`PickleBuffer` objects." +msgstr "" +"На стороні приймача йому потрібно передати аргумент *buffers* до :class:" +"`Unpickler` (або до функції :func:`load` або :func:`loads`), який є " +"ітерацією буферів, які були передається до *buffer_callback*. Ця ітерація " +"повинна створювати буфери в тому ж порядку, в якому вони були передані " +"*buffer_callback*. Ці буфери нададуть дані, очікувані реконструкторами " +"об’єктів, маринування яких створило оригінальні об’єкти :class:" +"`PickleBuffer`." + +msgid "" +"Between the sending side and the receiving side, the communications system " +"is free to implement its own transfer mechanism for out-of-band buffers. " +"Potential optimizations include the use of shared memory or datatype-" +"dependent compression." +msgstr "" +"Між відправною та приймальною сторонами система зв’язку може вільно " +"реалізувати власний механізм передачі для позасмугових буферів. Потенційна " +"оптимізація включає використання спільної пам’яті або залежне від типу даних " +"стиснення." + +msgid "Example" +msgstr "приклад" + +msgid "" +"Here is a trivial example where we implement a :class:`bytearray` subclass " +"able to participate in out-of-band buffer pickling::" +msgstr "" +"Ось тривіальний приклад, у якому ми реалізуємо підклас :class:`bytearray`, " +"здатний брати участь у позаполосному відбиранні буфера:" + +msgid "" +"The reconstructor (the ``_reconstruct`` class method) returns the buffer's " +"providing object if it has the right type. This is an easy way to simulate " +"zero-copy behaviour on this toy example." +msgstr "" +"Реконструктор (метод класу ``_reconstruct``) повертає наданий об’єкт буфера, " +"якщо він має правильний тип. Це простий спосіб імітувати поведінку без " +"копіювання на цьому прикладі іграшки." + +msgid "" +"On the consumer side, we can pickle those objects the usual way, which when " +"unserialized will give us a copy of the original object::" +msgstr "" +"Зі сторони споживача ми можемо відібрати ці об’єкти звичайним способом, який " +"після десеріалізації дасть нам копію оригінального об’єкта:" + +msgid "" +"But if we pass a *buffer_callback* and then give back the accumulated " +"buffers when unserializing, we are able to get back the original object::" +msgstr "" +"Але якщо ми передаємо *buffer_callback*, а потім повертаємо накопичені " +"буфери під час десеріалізації, ми можемо повернути вихідний об’єкт::" + +msgid "" +"This example is limited by the fact that :class:`bytearray` allocates its " +"own memory: you cannot create a :class:`bytearray` instance that is backed " +"by another object's memory. However, third-party datatypes such as NumPy " +"arrays do not have this limitation, and allow use of zero-copy pickling (or " +"making as few copies as possible) when transferring between distinct " +"processes or systems." +msgstr "" +"Цей приклад обмежений тим фактом, що :class:`bytearray` виділяє власну " +"пам’ять: ви не можете створити екземпляр :class:`bytearray`, який " +"підтримується пам’яттю іншого об’єкта. Однак сторонні типи даних, такі як " +"масиви NumPy, не мають цього обмеження та дозволяють використовувати нульове " +"копіювання (або створення якомога меншої кількості копій) під час передачі " +"між окремими процесами чи системами." + +msgid ":pep:`574` -- Pickle protocol 5 with out-of-band data" +msgstr ":pep:`574` -- Протокол Pickle 5 із позаполосними даними" + +msgid "Restricting Globals" +msgstr "Обмеження Globals" + +msgid "" +"By default, unpickling will import any class or function that it finds in " +"the pickle data. For many applications, this behaviour is unacceptable as " +"it permits the unpickler to import and invoke arbitrary code. Just consider " +"what this hand-crafted pickle data stream does when loaded::" +msgstr "" +"За замовчуванням unpickling імпортує будь-який клас або функцію, знайдені в " +"даних pickle. Для багатьох програм така поведінка є неприйнятною, оскільки " +"вона дозволяє unpickler імпортувати та викликати довільний код. Просто " +"подумайте, що робить цей створений вручну потік даних маринованих огірків " +"під час завантаження:" + +msgid "" +"In this example, the unpickler imports the :func:`os.system` function and " +"then apply the string argument \"echo hello world\". Although this example " +"is inoffensive, it is not difficult to imagine one that could damage your " +"system." +msgstr "" +"У цьому прикладі unpickler імпортує функцію :func:`os.system`, а потім " +"застосовує рядковий аргумент \"echo hello world\". Хоча цей приклад не " +"образливий, неважко уявити такий, який може пошкодити вашу систему." + +msgid "" +"For this reason, you may want to control what gets unpickled by customizing :" +"meth:`Unpickler.find_class`. Unlike its name suggests, :meth:`Unpickler." +"find_class` is called whenever a global (i.e., a class or a function) is " +"requested. Thus it is possible to either completely forbid globals or " +"restrict them to a safe subset." +msgstr "" +"З цієї причини ви можете контролювати те, що буде видалено, налаштувавши :" +"meth:`Unpickler.find_class`. На відміну від назви, :meth:`Unpickler." +"find_class` викликається щоразу, коли запитується глобал (тобто клас або " +"функція). Таким чином, можна або повністю заборонити глобальні елементи, або " +"обмежити їх безпечною підмножиною." + +msgid "" +"Here is an example of an unpickler allowing only few safe classes from the :" +"mod:`builtins` module to be loaded::" +msgstr "" +"Ось приклад unpickler, який дозволяє завантажити лише декілька безпечних " +"класів із модуля :mod:`builtins`:" + +msgid "A sample usage of our unpickler working as intended::" +msgstr "Зразок використання нашого unpickler, що працює за призначенням::" + +msgid "" +"As our examples shows, you have to be careful with what you allow to be " +"unpickled. Therefore if security is a concern, you may want to consider " +"alternatives such as the marshalling API in :mod:`xmlrpc.client` or third-" +"party solutions." +msgstr "" +"Як показують наші приклади, ви повинні бути обережними з тим, що ви " +"дозволяєте не маринувати. Тому, якщо питання безпеки викликає занепокоєння, " +"ви можете розглянути такі альтернативи, як маршалінговий API у :mod:`xmlrpc." +"client` або рішення сторонніх розробників." + +msgid "Performance" +msgstr "Продуктивність" + +msgid "" +"Recent versions of the pickle protocol (from protocol 2 and upwards) feature " +"efficient binary encodings for several common features and built-in types. " +"Also, the :mod:`pickle` module has a transparent optimizer written in C." +msgstr "" +"Останні версії протоколу pickle (від протоколу 2 і вище) містять ефективне " +"двійкове кодування для кількох загальних функцій і вбудованих типів. Крім " +"того, модуль :mod:`pickle` має прозорий оптимізатор, написаний мовою C." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"For the simplest code, use the :func:`dump` and :func:`load` functions. ::" +msgstr "" +"Для найпростішого коду використовуйте функції :func:`dump` і :func:`load`. ::" + +msgid "The following example reads the resulting pickled data. ::" +msgstr "У наступному прикладі зчитуються результуючі мариновані дані. ::" + +msgid "Module :mod:`copyreg`" +msgstr "Модуль :mod:`copyreg`" + +msgid "Pickle interface constructor registration for extension types." +msgstr "Реєстрація конструктора інтерфейсу Pickle для типів розширень." + +msgid "Module :mod:`pickletools`" +msgstr "Модуль :mod:`pickletools`" + +msgid "Tools for working with and analyzing pickled data." +msgstr "Інструменти для роботи з маринованими даними та їх аналізу." + +msgid "Module :mod:`shelve`" +msgstr "Модуль :mod:`shelve`" + +msgid "Indexed databases of objects; uses :mod:`pickle`." +msgstr "Індексовані бази даних об'єктів; використовує :mod:`pickle`." + +msgid "Module :mod:`copy`" +msgstr "Модуль :mod:`copy`" + +msgid "Shallow and deep object copying." +msgstr "Неглибоке і глибоке копіювання об'єктів." + +msgid "Module :mod:`marshal`" +msgstr "Модуль :mod:`marshal`" + +msgid "High-performance serialization of built-in types." +msgstr "Високопродуктивна серіалізація вбудованих типів." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "Don't confuse this with the :mod:`marshal` module" +msgstr "Не плутайте це з модулем :mod:`marshal`" + +msgid "" +"This is why :keyword:`lambda` functions cannot be pickled: all :keyword:`!" +"lambda` functions share the same name: ````." +msgstr "" +"Ось чому функції :keyword:`lambda` не можна маринувати: усі функції :keyword:" +"`!lambda` мають однакову назву: ````." + +msgid "" +"The exception raised will likely be an :exc:`ImportError` or an :exc:" +"`AttributeError` but it could be something else." +msgstr "" +"Виняток, імовірно, буде :exc:`ImportError` або :exc:`AttributeError`, але це " +"може бути щось інше." + +msgid "" +"The :mod:`copy` module uses this protocol for shallow and deep copying " +"operations." +msgstr "" +"Модуль :mod:`copy` використовує цей протокол для дрібних і глибоких операцій " +"копіювання." + +msgid "" +"The limitation on alphanumeric characters is due to the fact that persistent " +"IDs in protocol 0 are delimited by the newline character. Therefore if any " +"kind of newline characters occurs in persistent IDs, the resulting pickled " +"data will become unreadable." +msgstr "" +"Обмеження щодо буквено-цифрових символів пов’язане з тим, що постійні " +"ідентифікатори в протоколі 0 відокремлюються символом нового рядка. Тому, " +"якщо в постійних ідентифікаторах зустрічаються будь-які символи нового " +"рядка, результуючі мариновані дані стануть нечитабельними." diff --git a/library/pickletools.po b/library/pickletools.po new file mode 100644 index 000000000..643feb081 --- /dev/null +++ b/library/pickletools.po @@ -0,0 +1,141 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pickletools` --- Tools for pickle developers" +msgstr ":mod:`pickletools` --- Інструменти для розробників pickle" + +msgid "**Source code:** :source:`Lib/pickletools.py`" +msgstr "**Вихідний код:** :source:`Lib/pickletools.py`" + +msgid "" +"This module contains various constants relating to the intimate details of " +"the :mod:`pickle` module, some lengthy comments about the implementation, " +"and a few useful functions for analyzing pickled data. The contents of this " +"module are useful for Python core developers who are working on the :mod:" +"`pickle`; ordinary users of the :mod:`pickle` module probably won't find " +"the :mod:`pickletools` module relevant." +msgstr "" +"Цей модуль містить різні константи, що стосуються інтимних деталей модуля :" +"mod:`pickle`, деякі розлогі коментарі щодо реалізації та кілька корисних " +"функцій для аналізу маринованих даних. Вміст цього модуля корисний для " +"розробників ядра Python, які працюють над :mod:`pickle`; звичайні " +"користувачі модуля :mod:`pickle`, ймовірно, не знайдуть модуль :mod:" +"`pickletools` доречним." + +msgid "Command line usage" +msgstr "Використання командного рядка" + +msgid "" +"When invoked from the command line, ``python -m pickletools`` will " +"disassemble the contents of one or more pickle files. Note that if you want " +"to see the Python object stored in the pickle rather than the details of " +"pickle format, you may want to use ``-m pickle`` instead. However, when the " +"pickle file that you want to examine comes from an untrusted source, ``-m " +"pickletools`` is a safer option because it does not execute pickle bytecode." +msgstr "" +"При виклику з командного рядка ``python -m pickletools`` розбере вміст " +"одного або кількох файлів pickle. Зауважте, що якщо ви хочете бачити об’єкт " +"Python, який зберігається в pickle, а не деталі формату pickle, ви можете " +"замість цього використовувати ``-m pickle``. Однак, якщо файл pickle, який " +"ви хочете перевірити, походить із ненадійного джерела, ``-m pickletools`` є " +"безпечнішим варіантом, оскільки він не виконує байт-код pickle." + +msgid "For example, with a tuple ``(1, 2)`` pickled in file ``x.pickle``:" +msgstr "Наприклад, з кортежем ``(1, 2)``, маринованим у файлі ``x.pickle``:" + +msgid "Command line options" +msgstr "Параметри командного рядка" + +msgid "Annotate each line with a short opcode description." +msgstr "Додайте до кожного рядка короткий опис коду операції." + +msgid "Name of a file where the output should be written." +msgstr "Ім'я файлу, куди слід записати вихідні дані." + +msgid "The number of blanks by which to indent a new MARK level." +msgstr "Кількість пробілів, на які потрібно відступити новий рівень MARK." + +msgid "" +"When multiple objects are disassembled, preserve memo between disassemblies." +msgstr "Коли кілька об’єктів розібрано, зберігайте пам’ятку між розбираннями." + +msgid "" +"When more than one pickle file are specified, print given preamble before " +"each disassembly." +msgstr "" +"Якщо вказано більше одного файлу pickle, друкуйте надану преамбулу перед " +"кожним розбиранням." + +msgid "Programmatic Interface" +msgstr "Програмний інтерфейс" + +msgid "" +"Outputs a symbolic disassembly of the pickle to the file-like object *out*, " +"defaulting to ``sys.stdout``. *pickle* can be a string or a file-like " +"object. *memo* can be a Python dictionary that will be used as the pickle's " +"memo; it can be used to perform disassemblies across multiple pickles " +"created by the same pickler. Successive levels, indicated by ``MARK`` " +"opcodes in the stream, are indented by *indentlevel* spaces. If a nonzero " +"value is given to *annotate*, each opcode in the output is annotated with a " +"short description. The value of *annotate* is used as a hint for the column " +"where annotation should start." +msgstr "" +"Виводить символічне розбирання pickle у файлоподібний об’єкт *out*, за " +"умовчанням ``sys.stdout``. *pickle* може бути рядком або файлоподібним " +"об’єктом. *memo* може бути словником Python, який використовуватиметься як " +"пам’ятка pickle; його можна використовувати для розбирання кількох " +"маринованих пікселів, створених одним піклером. Послідовні рівні, позначені " +"кодами операцій ``MARK`` у потоці, відступають пробілами *indentlevel*. Якщо " +"для *annotate* задано ненульове значення, кожен код операції у виведених " +"даних анотується коротким описом. Значення *annotate* використовується як " +"підказка для стовпця, з якого має починатися анотація." + +msgid "The *annotate* argument." +msgstr "Аргумент *аннотувати*." + +msgid "" +"Provides an :term:`iterator` over all of the opcodes in a pickle, returning " +"a sequence of ``(opcode, arg, pos)`` triples. *opcode* is an instance of " +"an :class:`OpcodeInfo` class; *arg* is the decoded value, as a Python " +"object, of the opcode's argument; *pos* is the position at which this opcode " +"is located. *pickle* can be a string or a file-like object." +msgstr "" +"Надає :term:`iterator` для всіх кодів операцій у pickle, повертаючи " +"послідовність ``(opcode, arg, pos)`` потрійок. *opcode* є екземпляром класу :" +"class:`OpcodeInfo`; *arg* — це декодоване значення аргументу коду операції " +"як об’єкт Python; *pos* - це позиція, у якій знаходиться цей код операції. " +"*pickle* може бути рядком або файлоподібним об’єктом." + +msgid "" +"Returns a new equivalent pickle string after eliminating unused ``PUT`` " +"opcodes. The optimized pickle is shorter, takes less transmission time, " +"requires less storage space, and unpickles more efficiently." +msgstr "" +"Повертає новий еквівалентний рядок pickle після видалення невикористаних " +"кодів операцій ``PUT``. Оптимізоване маринування коротше, займає менше часу " +"на передачу, вимагає менше місця для зберігання та ефективніше знімає " +"травлення." diff --git a/library/pipes.po b/library/pipes.po new file mode 100644 index 000000000..b97ad8416 --- /dev/null +++ b/library/pipes.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pipes` --- Interface to shell pipelines" +msgstr ":mod:`pipes` --- Інтерфейс до конвеєрів оболонки" + +msgid "**Source code:** :source:`Lib/pipes.py`" +msgstr "**Вихідний код:** :source:`Lib/pipes.py`" + +msgid "" +"The :mod:`pipes` module is deprecated (see :pep:`PEP 594 <594#pipes>` for " +"details). Please use the :mod:`subprocess` module instead." +msgstr "" +"Модуль :mod:`pipes` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#pipes>`). Натомість використовуйте модуль :mod:`subprocess`." + +msgid "" +"The :mod:`pipes` module defines a class to abstract the concept of a " +"*pipeline* --- a sequence of converters from one file to another." +msgstr "" +"Модуль :mod:`pipes` визначає клас для абстрагування концепції *конвеєра* --- " +"послідовності конвертерів з одного файлу в інший." + +msgid "" +"Because the module uses :program:`/bin/sh` command lines, a POSIX or " +"compatible shell for :func:`os.system` and :func:`os.popen` is required." +msgstr "" +"Оскільки модуль використовує командні рядки :program:`/bin/sh`, потрібна " +"POSIX або сумісна оболонка для :func:`os.system` і :func:`os.popen`." + +msgid ":ref:`Availability `: Unix, not VxWorks." +msgstr "" + +msgid "The :mod:`pipes` module defines the following class:" +msgstr "Модуль :mod:`pipes` визначає такий клас:" + +msgid "An abstraction of a pipeline." +msgstr "Абстракція трубопроводу." + +msgid "Example::" +msgstr "Приклад::" + +msgid "Template Objects" +msgstr "Об'єкти шаблону" + +msgid "Template objects following methods:" +msgstr "Об'єкти шаблону наступні методи:" + +msgid "Restore a pipeline template to its initial state." +msgstr "Відновлення шаблону конвеєра до початкового стану." + +msgid "Return a new, equivalent, pipeline template." +msgstr "Поверніть новий еквівалентний шаблон конвеєра." + +msgid "" +"If *flag* is true, turn debugging on. Otherwise, turn debugging off. When " +"debugging is on, commands to be executed are printed, and the shell is given " +"``set -x`` command to be more verbose." +msgstr "" +"Якщо *flag* має значення true, увімкніть налагодження. В іншому випадку " +"вимкніть налагодження. Коли налагодження ввімкнено, команди, які потрібно " +"виконати, друкуються, а оболонкі надається команда ``set -x``, щоб бути " +"більш детальною." + +msgid "" +"Append a new action at the end. The *cmd* variable must be a valid bourne " +"shell command. The *kind* variable consists of two letters." +msgstr "" +"Додайте нову дію в кінці. Змінна *cmd* має бути дійсною командою оболонки " +"bourne. Змінна *kind* складається з двох літер." + +msgid "" +"The first letter can be either of ``'-'`` (which means the command reads its " +"standard input), ``'f'`` (which means the commands reads a given file on the " +"command line) or ``'.'`` (which means the commands reads no input, and hence " +"must be first.)" +msgstr "" +"Першою літерою може бути ``'-'`` (що означає, що команда читає стандартний " +"ввід), ``'f'`` (що означає, що команда читає заданий файл у командному " +"рядку) або ``' .''`` (це означає, що команди не читають введених даних, а " +"отже, мають бути першими.)" + +msgid "" +"Similarly, the second letter can be either of ``'-'`` (which means the " +"command writes to standard output), ``'f'`` (which means the command writes " +"a file on the command line) or ``'.'`` (which means the command does not " +"write anything, and hence must be last.)" +msgstr "" +"Подібним чином друга літера може мати значення ``'-'`` (що означає, що " +"команда записує в стандартний вивід), ``'f'`` (що означає, що команда " +"записує файл у командний рядок) або ``'.'`` (що означає, що команда нічого " +"не записує, тому має бути останньою.)" + +msgid "" +"Add a new action at the beginning. See :meth:`append` for explanations of " +"the arguments." +msgstr "" +"Додайте нову дію на початку. Перегляньте :meth:`append` для пояснення " +"аргументів." + +msgid "" +"Return a file-like object, open to *file*, but read from or written to by " +"the pipeline. Note that only one of ``'r'``, ``'w'`` may be given." +msgstr "" +"Повертає файлоподібний об’єкт, відкритий у *file*, але зчитований або " +"записаний конвеєром. Зауважте, що можна вказати лише одне з ``'r'``, ``'w'``." + +msgid "Copy *infile* to *outfile* through the pipe." +msgstr "Скопіюйте *infile* до *outfile* через канал." diff --git a/library/pkgutil.po b/library/pkgutil.po new file mode 100644 index 000000000..f2aeabf67 --- /dev/null +++ b/library/pkgutil.po @@ -0,0 +1,385 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pkgutil` --- Package extension utility" +msgstr ":mod:`pkgutil` --- Утиліта розширення пакунків" + +msgid "**Source code:** :source:`Lib/pkgutil.py`" +msgstr "**Вихідний код:** :source:`Lib/pkgutil.py`" + +msgid "" +"This module provides utilities for the import system, in particular package " +"support." +msgstr "" +"Цей модуль надає утиліти для системи імпорту, зокрема підтримку пакетів." + +msgid "A namedtuple that holds a brief summary of a module's info." +msgstr "Іменований кортеж, який містить короткий опис інформації про модуль." + +msgid "" +"Extend the search path for the modules which comprise a package. Intended " +"use is to place the following code in a package's :file:`__init__.py`::" +msgstr "" +"Розширте шлях пошуку для модулів, які складають пакет. Цільове використання " +"– розмістити наступний код у :file:`__init__.py`::" + +msgid "" +"This will add to the package's ``__path__`` all subdirectories of " +"directories on :data:`sys.path` named after the package. This is useful if " +"one wants to distribute different parts of a single logical package as " +"multiple directories." +msgstr "" +"Це додасть до ``__path__`` пакета всі підкаталоги каталогів у :data:`sys." +"path`, названі на честь пакета. Це корисно, якщо потрібно розповсюдити різні " +"частини одного логічного пакета як кілька каталогів." + +msgid "" +"It also looks for :file:`\\*.pkg` files beginning where ``*`` matches the " +"*name* argument. This feature is similar to :file:`\\*.pth` files (see the :" +"mod:`site` module for more information), except that it doesn't special-case " +"lines starting with ``import``. A :file:`\\*.pkg` file is trusted at face " +"value: apart from checking for duplicates, all entries found in a :file:`\\*." +"pkg` file are added to the path, regardless of whether they exist on the " +"filesystem. (This is a feature.)" +msgstr "" +"Він також шукає файли :file:`\\*.pkg`, які починаються там, де ``*`` " +"відповідає аргументу *name*. Ця функція подібна до файлів :file:`\\*.pth` " +"(дивіться модуль :mod:`site` для отримання додаткової інформації), за " +"винятком того, що вона не використовує рядки спеціального регістру, які " +"починаються з ``import``. Файл :file:`\\*.pkg` є надійним: окрім перевірки " +"на наявність дублікатів, усі записи, знайдені у файлі :file:`\\*.pkg`, " +"додаються до шляху, незалежно від того, чи існують вони на файлова система. " +"(Це функція.)" + +msgid "" +"If the input path is not a list (as is the case for frozen packages) it is " +"returned unchanged. The input path is not modified; an extended copy is " +"returned. Items are only appended to the copy at the end." +msgstr "" +"Якщо шлях введення не є списком (як у випадку заморожених пакунків), він " +"повертається без змін. Вхідний шлях не змінено; повертається розширена " +"копія. Елементи додаються до копії лише в кінці." + +msgid "" +"It is assumed that :data:`sys.path` is a sequence. Items of :data:`sys." +"path` that are not strings referring to existing directories are ignored. " +"Unicode items on :data:`sys.path` that cause errors when used as filenames " +"may cause this function to raise an exception (in line with :func:`os.path." +"isdir` behavior)." +msgstr "" +"Передбачається, що :data:`sys.path` є послідовністю. Елементи :data:`sys." +"path`, які не є рядками, що посилаються на існуючі каталоги, ігноруються. " +"Елементи Юнікоду в :data:`sys.path`, які спричиняють помилки, коли " +"використовуються як імена файлів, можуть викликати виняток у цій функції " +"(відповідно до поведінки :func:`os.path.isdir`)." + +msgid ":pep:`302` Finder that wraps Python's \"classic\" import algorithm." +msgstr ":pep:`302` Шукач, який обертає \"класичний\" алгоритм імпорту Python." + +msgid "" +"If *dirname* is a string, a :pep:`302` finder is created that searches that " +"directory. If *dirname* is ``None``, a :pep:`302` finder is created that " +"searches the current :data:`sys.path`, plus any modules that are frozen or " +"built-in." +msgstr "" +"Якщо *dirname* є рядком, створюється засіб пошуку :pep:`302`, який шукає в " +"цьому каталозі. Якщо *dirname* має значення ``None``, створюється засіб " +"пошуку :pep:`302`, який шукає поточний :data:`sys.path`, а також будь-які " +"модулі, які заморожені або вбудовані." + +msgid "" +"Note that :class:`ImpImporter` does not currently support being used by " +"placement on :data:`sys.meta_path`." +msgstr "" +"Зауважте, що :class:`ImpImporter` наразі не підтримує використання шляхом " +"розміщення на :data:`sys.meta_path`." + +msgid "" +"This emulation is no longer needed, as the standard import mechanism is now " +"fully :pep:`302` compliant and available in :mod:`importlib`." +msgstr "" +"Ця емуляція більше не потрібна, оскільки стандартний механізм імпорту тепер " +"повністю сумісний із :pep:`302` і доступний у :mod:`importlib`." + +msgid "" +":term:`Loader ` that wraps Python's \"classic\" import algorithm." +msgstr "" +":term:`Loader `, який обертає \"класичний\" алгоритм імпорту Python." + +msgid "Retrieve a module :term:`loader` for the given *fullname*." +msgstr "Отримати модуль :term:`loader` для вказаного *повного імені*." + +msgid "" +"This is a backwards compatibility wrapper around :func:`importlib.util." +"find_spec` that converts most failures to :exc:`ImportError` and only " +"returns the loader rather than the full :class:`ModuleSpec`." +msgstr "" +"Це обгортка зворотної сумісності навколо :func:`importlib.util.find_spec`, " +"яка перетворює більшість помилок на :exc:`ImportError` і повертає лише " +"завантажувач, а не повний :class:`ModuleSpec`." + +msgid "" +"Updated to be based directly on :mod:`importlib` rather than relying on the " +"package internal :pep:`302` import emulation." +msgstr "" +"Оновлено, щоб базуватися безпосередньо на :mod:`importlib`, а не на " +"внутрішній емуляції імпорту :pep:`302` пакета." + +msgid "Updated to be based on :pep:`451`" +msgstr "Оновлено на основі :pep:`451`" + +msgid "Retrieve a :term:`finder` for the given *path_item*." +msgstr "Отримати :term:`finder` для заданого *path_item*." + +msgid "" +"The returned finder is cached in :data:`sys.path_importer_cache` if it was " +"newly created by a path hook." +msgstr "" +"Повернений засіб пошуку зберігається в :data:`sys.path_importer_cache`, якщо " +"він був щойно створений за допомогою перехоплювача шляху." + +msgid "" +"The cache (or part of it) can be cleared manually if a rescan of :data:`sys." +"path_hooks` is necessary." +msgstr "" +"Кеш (або його частину) можна очистити вручну, якщо потрібно повторне " +"сканування :data:`sys.path_hooks`." + +msgid "Get a :term:`loader` object for *module_or_name*." +msgstr "Отримайте об’єкт :term:`loader` для *module_or_name*." + +msgid "" +"If the module or package is accessible via the normal import mechanism, a " +"wrapper around the relevant part of that machinery is returned. Returns " +"``None`` if the module cannot be found or imported. If the named module is " +"not already imported, its containing package (if any) is imported, in order " +"to establish the package ``__path__``." +msgstr "" +"Якщо модуль або пакет доступні через звичайний механізм імпорту, " +"повертається обгортка навколо відповідної частини цього механізму. Повертає " +"``None``, якщо модуль неможливо знайти або імпортувати. Якщо вказаний модуль " +"ще не імпортовано, його пакет (якщо є) імпортується, щоб створити пакет " +"``__path__``." + +msgid "Yield :term:`finder` objects for the given module name." +msgstr "Видає об’єкти :term:`finder` для вказаного імені модуля." + +msgid "" +"If fullname contains a ``'.'``, the finders will be for the package " +"containing fullname, otherwise they will be all registered top level finders " +"(i.e. those on both :data:`sys.meta_path` and :data:`sys.path_hooks`)." +msgstr "" +"Якщо повне ім’я містить ``'.'``, the finders will be for the package " +"containing fullname, otherwise they will be all registered top level finders " +"(i.e. those on both :data:`sys.meta_path` and :data:`sys.path_hooks`)." + +msgid "" +"If the named module is in a package, that package is imported as a side " +"effect of invoking this function." +msgstr "" +"Якщо вказаний модуль міститься в пакеті, цей пакет імпортується як побічний " +"ефект виклику цієї функції." + +msgid "If no module name is specified, all top level finders are produced." +msgstr "Якщо ім’я модуля не вказано, створюються всі шукачі верхнього рівня." + +msgid "" +"Yields :class:`ModuleInfo` for all submodules on *path*, or, if *path* is " +"``None``, all top-level modules on :data:`sys.path`." +msgstr "" +"Видає :class:`ModuleInfo` для всіх підмодулів на *path* або, якщо *path* має " +"значення ``None``, усі модулі верхнього рівня на :data:`sys.path`." + +msgid "" +"*path* should be either ``None`` or a list of paths to look for modules in." +msgstr "*path* має бути або ``None``, або список шляхів для пошуку модулів." + +msgid "" +"*prefix* is a string to output on the front of every module name on output." +msgstr "" +"*префікс* — це рядок, який виводиться на початку кожного імені модуля при " +"виведенні." + +msgid "" +"Only works for a :term:`finder` which defines an ``iter_modules()`` method. " +"This interface is non-standard, so the module also provides implementations " +"for :class:`importlib.machinery.FileFinder` and :class:`zipimport." +"zipimporter`." +msgstr "" +"Працює лише для :term:`finder`, який визначає метод ``iter_modules()``. Цей " +"інтерфейс є нестандартним, тому модуль також забезпечує реалізації для :" +"class:`importlib.machinery.FileFinder` і :class:`zipimport.zipimporter`." + +msgid "" +"Yields :class:`ModuleInfo` for all modules recursively on *path*, or, if " +"*path* is ``None``, all accessible modules." +msgstr "" +"Видає :class:`ModuleInfo` для всіх модулів рекурсивно за *шляхом* або, якщо " +"*шлях* має значення ``None``, усі доступні модулі." + +msgid "" +"Note that this function must import all *packages* (*not* all modules!) on " +"the given *path*, in order to access the ``__path__`` attribute to find " +"submodules." +msgstr "" +"Зауважте, що ця функція має імпортувати всі *пакети* (*не* всі модулі!) за " +"вказаним *шляхом*, щоб отримати доступ до атрибута ``__path__`` для пошуку " +"підмодулів." + +msgid "" +"*onerror* is a function which gets called with one argument (the name of the " +"package which was being imported) if any exception occurs while trying to " +"import a package. If no *onerror* function is supplied, :exc:`ImportError`" +"\\s are caught and ignored, while all other exceptions are propagated, " +"terminating the search." +msgstr "" +"*onerror* — це функція, яка викликається з одним аргументом (назва пакета, " +"який імпортувався), якщо під час спроби імпортувати пакет виникає будь-яка " +"виняткова ситуація. Якщо функція *onerror* не надається, :exc:`ImportError`" +"\\s перехоплюються та ігноруються, тоді як усі інші винятки поширюються, " +"припиняючи пошук." + +msgid "Examples::" +msgstr "Приклади::" + +msgid "Get a resource from a package." +msgstr "Отримати ресурс із пакету." + +msgid "" +"This is a wrapper for the :term:`loader` :meth:`get_data ` API. The *package* argument should be the name of " +"a package, in standard module format (``foo.bar``). The *resource* argument " +"should be in the form of a relative filename, using ``/`` as the path " +"separator. The parent directory name ``..`` is not allowed, and nor is a " +"rooted name (starting with a ``/``)." +msgstr "" +"Це оболонка для API :term:`loader` :meth:`get_data `. Аргумент *package* має бути назвою пакета в " +"стандартному форматі модуля (``foo.bar``). Аргумент *resource* має бути у " +"формі відносного імені файлу, використовуючи ``/`` як роздільник шляху. Ім’я " +"батьківського каталогу ``..`` не допускається, а також коренева назва " +"(починається з ``/``)." + +msgid "" +"The function returns a binary string that is the contents of the specified " +"resource." +msgstr "Функція повертає двійковий рядок, який є вмістом зазначеного ресурсу." + +msgid "" +"For packages located in the filesystem, which have already been imported, " +"this is the rough equivalent of::" +msgstr "" +"Для пакетів, розташованих у файловій системі, які вже були імпортовані, це " +"приблизний еквівалент::" + +msgid "" +"If the package cannot be located or loaded, or it uses a :term:`loader` " +"which does not support :meth:`get_data `, then ``None`` is returned. In particular, the :term:`loader` " +"for :term:`namespace packages ` does not support :meth:" +"`get_data `." +msgstr "" +"Якщо пакет не вдається знайти або завантажити, або він використовує :term:" +"`loader`, який не підтримує :meth:`get_data `, повертається ``None``. Зокрема, :term:`loader` для :term:" +"`пакетів простору імен ` не підтримує :meth:`get_data " +"`." + +msgid "Resolve a name to an object." +msgstr "Розв’яжіть ім’я з об’єктом." + +msgid "" +"This functionality is used in numerous places in the standard library (see :" +"issue:`12915`) - and equivalent functionality is also in widely used third-" +"party packages such as setuptools, Django and Pyramid." +msgstr "" +"Ця функціональність використовується в багатьох місцях у стандартній " +"бібліотеці (див. :issue:`12915`), а еквівалентна функціональність також є в " +"широко використовуваних пакетах сторонніх розробників, таких як setuptools, " +"Django та Pyramid." + +msgid "" +"It is expected that *name* will be a string in one of the following formats, " +"where W is shorthand for a valid Python identifier and dot stands for a " +"literal period in these pseudo-regexes:" +msgstr "" +"Очікується, що *ім’я* буде рядком в одному з таких форматів, де W є " +"скороченням дійсного ідентифікатора Python, а крапка означає крапку в цих " +"псевдорегулярних виразах:" + +msgid "``W(.W)*``" +msgstr "``W(.W)*``" + +msgid "``W(.W)*:(W(.W)*)?``" +msgstr "``W(.W)*:(W(.W)*)?``" + +msgid "" +"The first form is intended for backward compatibility only. It assumes that " +"some part of the dotted name is a package, and the rest is an object " +"somewhere within that package, possibly nested inside other objects. Because " +"the place where the package stops and the object hierarchy starts can't be " +"inferred by inspection, repeated attempts to import must be done with this " +"form." +msgstr "" +"Перша форма призначена лише для зворотної сумісності. Припускається, що " +"деяка частина назви з крапками є пакетом, а решта є об’єктом десь у цьому " +"пакеті, можливо, вкладеним в інші об’єкти. Оскільки місце, де зупиняється " +"пакет і починається ієрархія об’єктів, не може бути встановлено шляхом " +"перевірки, повторні спроби імпорту потрібно робити за допомогою цієї форми." + +msgid "" +"In the second form, the caller makes the division point clear through the " +"provision of a single colon: the dotted name to the left of the colon is a " +"package to be imported, and the dotted name to the right is the object " +"hierarchy within that package. Only one import is needed in this form. If it " +"ends with the colon, then a module object is returned." +msgstr "" +"У другій формі абонент чітко пояснює точку розділення за допомогою однієї " +"двокрапки: назва з крапками ліворуч від двокрапки означає пакет, який " +"потрібно імпортувати, а назва з крапками праворуч — це ієрархія об’єктів у " +"цьому пакеті. . У цій формі потрібен лише один імпорт. Якщо він закінчується " +"двокрапкою, повертається об’єкт модуля." + +msgid "" +"The function will return an object (which might be a module), or raise one " +"of the following exceptions:" +msgstr "" +"Функція поверне об’єкт (який може бути модулем) або викличе одне з таких " +"винятків:" + +msgid ":exc:`ValueError` -- if *name* isn't in a recognised format." +msgstr ":exc:`ValueError` -- якщо *ім'я* не в розпізнаному форматі." + +msgid ":exc:`ImportError` -- if an import failed when it shouldn't have." +msgstr ":exc:`ImportError` -- якщо імпорт не вдався, а не мав бути." + +msgid "" +":exc:`AttributeError` -- If a failure occurred when traversing the object " +"hierarchy within the imported package to get to the desired object." +msgstr "" +":exc:`AttributeError` -- Якщо сталася помилка під час проходження ієрархії " +"об’єктів в імпортованому пакеті, щоб дістатися до потрібного об’єкта." diff --git a/library/platform.po b/library/platform.po new file mode 100644 index 000000000..75f1c5c26 --- /dev/null +++ b/library/platform.po @@ -0,0 +1,427 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`platform` --- Access to underlying platform's identifying data" +msgstr "" +":mod:`platform` --- Доступ до ідентифікаційних даних основної платформи" + +msgid "**Source code:** :source:`Lib/platform.py`" +msgstr "**Вихідний код:** :source:`Lib/platform.py`" + +msgid "" +"Specific platforms listed alphabetically, with Linux included in the Unix " +"section." +msgstr "" +"Конкретні платформи, перелічені в алфавітному порядку, з Linux включено в " +"розділ Unix." + +msgid "Cross Platform" +msgstr "Крос-платформа" + +msgid "" +"Queries the given executable (defaults to the Python interpreter binary) for " +"various architecture information." +msgstr "" +"Запитує наданий виконуваний файл (за замовчуванням двійковий файл " +"інтерпретатора Python) для отримання різноманітної інформації про " +"архітектуру." + +msgid "" +"Returns a tuple ``(bits, linkage)`` which contain information about the bit " +"architecture and the linkage format used for the executable. Both values are " +"returned as strings." +msgstr "" +"Повертає кортеж ``(bits, linkage)``, який містить інформацію про бітову " +"архітектуру та формат зв’язку, що використовується для виконуваного файлу. " +"Обидва значення повертаються як рядки." + +msgid "" +"Values that cannot be determined are returned as given by the parameter " +"presets. If bits is given as ``''``, the ``sizeof(pointer)`` (or " +"``sizeof(long)`` on Python version < 1.5.2) is used as indicator for the " +"supported pointer size." +msgstr "" +"Значення, які не можуть бути визначені, повертаються відповідно до " +"налаштувань параметрів. Якщо біти задано як ``''``, ``sizeof(pointer)`` (або " +"``sizeof(long)`` у версії Python < 1.5.2) використовується як індикатор " +"підтримуваного розміру покажчика." + +msgid "" +"The function relies on the system's :file:`file` command to do the actual " +"work. This is available on most if not all Unix platforms and some non-Unix " +"platforms and then only if the executable points to the Python interpreter. " +"Reasonable defaults are used when the above needs are not met." +msgstr "" +"Функція покладається на системну команду :file:`file` для виконання " +"фактичної роботи. Це доступно на більшості, якщо не на всіх платформах Unix " +"і на деяких платформах, що не належать до Unix, і тільки якщо виконуваний " +"файл вказує на інтерпретатор Python. Розумні значення за замовчуванням " +"використовуються, коли вищезазначені потреби не задовольняються." + +msgid "" +"On macOS (and perhaps other platforms), executable files may be universal " +"files containing multiple architectures." +msgstr "" +"У macOS (і, можливо, на інших платформах) виконувані файли можуть бути " +"універсальними файлами, що містять кілька архітектур." + +msgid "" +"To get at the \"64-bitness\" of the current interpreter, it is more reliable " +"to query the :attr:`sys.maxsize` attribute::" +msgstr "" +"Щоб отримати \"64-розрядність\" поточного інтерпретатора, надійніше запитати " +"атрибут :attr:`sys.maxsize`::" + +msgid "" +"Returns the machine type, e.g. ``'AMD64'``. An empty string is returned if " +"the value cannot be determined." +msgstr "" +"Повертає тип машини, напр. ``'AMD64'``. Якщо значення неможливо визначити, " +"повертається порожній рядок." + +msgid "" +"Returns the computer's network name (may not be fully qualified!). An empty " +"string is returned if the value cannot be determined." +msgstr "" +"Повертає мережеве ім'я комп'ютера (може бути неповним!). Якщо значення " +"неможливо визначити, повертається порожній рядок." + +msgid "" +"Returns a single string identifying the underlying platform with as much " +"useful information as possible." +msgstr "" +"Повертає єдиний рядок, що визначає базову платформу з якомога більшою " +"кількістю корисної інформації." + +msgid "" +"The output is intended to be *human readable* rather than machine parseable. " +"It may look different on different platforms and this is intended." +msgstr "" +"Вихід призначений для *людиночитаного*, а не машинного аналізу. Це може " +"виглядати по-різному на різних платформах, і це призначено." + +msgid "" +"If *aliased* is true, the function will use aliases for various platforms " +"that report system names which differ from their common names, for example " +"SunOS will be reported as Solaris. The :func:`system_alias` function is " +"used to implement this." +msgstr "" +"Якщо *aliased* має значення true, функція використовуватиме псевдоніми для " +"різних платформ, які повідомлятимуть імена систем, які відрізняються від " +"їхніх звичайних імен, наприклад, SunOS буде повідомлено як Solaris. Для " +"реалізації цього використовується функція :func:`system_alias`." + +msgid "" +"Setting *terse* to true causes the function to return only the absolute " +"minimum information needed to identify the platform." +msgstr "" +"Якщо встановити *terse* значення true, функція повертатиме лише абсолютний " +"мінімум інформації, необхідної для ідентифікації платформи." + +msgid "" +"On macOS, the function now uses :func:`mac_ver`, if it returns a non-empty " +"release string, to get the macOS version rather than the darwin version." +msgstr "" +"У macOS функція тепер використовує :func:`mac_ver`, якщо повертає непорожній " +"рядок випуску, щоб отримати версію macOS, а не версію Darwin." + +msgid "Returns the (real) processor name, e.g. ``'amdk6'``." +msgstr "Повертає (справжню) назву процесора, напр. ``'amdk6'``." + +msgid "" +"An empty string is returned if the value cannot be determined. Note that " +"many platforms do not provide this information or simply return the same " +"value as for :func:`machine`. NetBSD does this." +msgstr "" +"Якщо значення неможливо визначити, повертається порожній рядок. Зауважте, що " +"багато платформ не надають цю інформацію або просто повертають те саме " +"значення, що й для :func:`machine`. NetBSD робить це." + +msgid "" +"Returns a tuple ``(buildno, builddate)`` stating the Python build number and " +"date as strings." +msgstr "" +"Повертає кортеж ``(buildno, builddate)`` із зазначенням номера та дати " +"складання Python у вигляді рядків." + +msgid "Returns a string identifying the compiler used for compiling Python." +msgstr "" +"Повертає рядок, що ідентифікує компілятор, використаний для компіляції " +"Python." + +msgid "Returns a string identifying the Python implementation SCM branch." +msgstr "Повертає рядок, що ідентифікує гілку SCM реалізації Python." + +msgid "" +"Returns a string identifying the Python implementation. Possible return " +"values are: 'CPython', 'IronPython', 'Jython', 'PyPy'." +msgstr "" +"Повертає рядок, що ідентифікує реалізацію Python. Можливі значення " +"повернення: 'CPython', 'IronPython', 'Jython', 'PyPy'." + +msgid "Returns a string identifying the Python implementation SCM revision." +msgstr "Повертає рядок, що ідентифікує версію SCM реалізації Python." + +msgid "Returns the Python version as string ``'major.minor.patchlevel'``." +msgstr "Повертає версію Python як рядок ``'major.minor.patchlevel``." + +msgid "" +"Note that unlike the Python ``sys.version``, the returned value will always " +"include the patchlevel (it defaults to 0)." +msgstr "" +"Зауважте, що на відміну від ``sys.version`` Python, повернуте значення " +"завжди включатиме patchlevel (він за замовчуванням дорівнює 0)." + +msgid "" +"Returns the Python version as tuple ``(major, minor, patchlevel)`` of " +"strings." +msgstr "" +"Повертає версію Python як кортеж ``(major, minor, patchlevel)`` рядків." + +msgid "" +"Note that unlike the Python ``sys.version``, the returned value will always " +"include the patchlevel (it defaults to ``'0'``)." +msgstr "" +"Зауважте, що на відміну від ``sys.version`` Python, повернуте значення " +"завжди включатиме рівень виправлення (за замовчуванням він ``'0'``)." + +msgid "" +"Returns the system's release, e.g. ``'2.2.0'`` or ``'NT'``. An empty string " +"is returned if the value cannot be determined." +msgstr "" +"Повертає випуск системи, напр. ``'2.2.0'`` або ``'NT'``. Якщо значення " +"неможливо визначити, повертається порожній рядок." + +msgid "" +"Returns the system/OS name, such as ``'Linux'``, ``'Darwin'``, ``'Java'``, " +"``'Windows'``. An empty string is returned if the value cannot be determined." +msgstr "" +"Повертає назву системи/ОС, наприклад ``'Linux'``, ``'Darwin'``, ``'Java'``, " +"``'Windows'``. Якщо значення неможливо визначити, повертається порожній " +"рядок." + +msgid "" +"Returns ``(system, release, version)`` aliased to common marketing names " +"used for some systems. It also does some reordering of the information in " +"some cases where it would otherwise cause confusion." +msgstr "" +"Повертає ``(система, випуск, версія)``, пов’язаний із загальними " +"маркетинговими назвами, які використовуються для деяких систем. Він також " +"виконує певне впорядкування інформації в деяких випадках, коли інакше це " +"може призвести до плутанини." + +msgid "" +"Returns the system's release version, e.g. ``'#3 on degas'``. An empty " +"string is returned if the value cannot be determined." +msgstr "" +"Повертає версію випуску системи, напр. ``'#3 на Дега'``. Якщо значення " +"неможливо визначити, повертається порожній рядок." + +msgid "" +"Fairly portable uname interface. Returns a :func:`~collections.namedtuple` " +"containing six attributes: :attr:`system`, :attr:`node`, :attr:`release`, :" +"attr:`version`, :attr:`machine`, and :attr:`processor`." +msgstr "" +"Досить портативний інтерфейс uname. Повертає :func:`~collections." +"namedtuple`, що містить шість атрибутів: :attr:`system`, :attr:`node`, :attr:" +"`release`, :attr:`version`, :attr:`machine`, і :attr:`processor`." + +msgid "" +"Note that this adds a sixth attribute (:attr:`processor`) not present in " +"the :func:`os.uname` result. Also, the attribute names are different for " +"the first two attributes; :func:`os.uname` names them :attr:`sysname` and :" +"attr:`nodename`." +msgstr "" +"Зауважте, що це додає шостий атрибут (:attr:`processor`), якого немає в " +"результаті :func:`os.uname`. Крім того, імена атрибутів відрізняються для " +"перших двох атрибутів; :func:`os.uname` називає їх :attr:`sysname` і :attr:" +"`nodename`." + +msgid "Entries which cannot be determined are set to ``''``." +msgstr "Записи, які не можуть бути визначені, мають значення ``''``." + +msgid "Result changed from a tuple to a :func:`~collections.namedtuple`." +msgstr "Результат змінено з кортежу на :func:`~collections.namedtuple`." + +msgid "Java Platform" +msgstr "Платформа Java" + +msgid "Version interface for Jython." +msgstr "Версія інтерфейсу для Jython." + +msgid "" +"Returns a tuple ``(release, vendor, vminfo, osinfo)`` with *vminfo* being a " +"tuple ``(vm_name, vm_release, vm_vendor)`` and *osinfo* being a tuple " +"``(os_name, os_version, os_arch)``. Values which cannot be determined are " +"set to the defaults given as parameters (which all default to ``''``)." +msgstr "" +"Повертає кортеж ``(release, vendor, vminfo, osinfo)``, де *vminfo* є " +"кортежем ``(vm_name, vm_release, vm_vendor)``, а *osinfo* є кортежем " +"``(os_name, os_version, os_arch)``. Значення, які не можуть бути визначені, " +"встановлюються за замовчуванням, наданим як параметри (усі за замовчуванням " +"``''``)." + +msgid "Windows Platform" +msgstr "Платформа Windows" + +msgid "" +"Get additional version information from the Windows Registry and return a " +"tuple ``(release, version, csd, ptype)`` referring to OS release, version " +"number, CSD level (service pack) and OS type (multi/single processor). " +"Values which cannot be determined are set to the defaults given as " +"parameters (which all default to an empty string)." +msgstr "" +"Отримайте додаткову інформацію про версію з реєстру Windows і поверніть " +"кортеж ``(release, version, csd, ptype)`` із посиланням на випуск ОС, номер " +"версії, рівень CSD (пакет оновлень) і тип ОС (багато/однопроцесор). " +"Значення, які не можуть бути визначені, встановлюються на значення за " +"замовчуванням, надані як параметри (усі типові значення — порожній рядок)." + +msgid "" +"As a hint: *ptype* is ``'Uniprocessor Free'`` on single processor NT " +"machines and ``'Multiprocessor Free'`` on multi processor machines. The " +"*'Free'* refers to the OS version being free of debugging code. It could " +"also state *'Checked'* which means the OS version uses debugging code, i.e. " +"code that checks arguments, ranges, etc." +msgstr "" +"Як підказка: *ptype* означає ``'Uniprocessor Free'`` на однопроцесорних " +"машинах NT і ``'Multiprocessor Free'`` на багатопроцесорних машинах. *" +"\"Безкоштовна\"* означає, що версія ОС не містить коду налагодження. Також " +"може вказуватися *'Checked'*, що означає, що версія ОС використовує код " +"налагодження, тобто код, який перевіряє аргументи, діапазони тощо." + +msgid "" +"Returns a string representing the current Windows edition, or ``None`` if " +"the value cannot be determined. Possible values include but are not limited " +"to ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'``, and " +"``'nanoserver'``." +msgstr "" +"Повертає рядок, що представляє поточну версію Windows, або ``None``, якщо " +"значення неможливо визначити. Можливі значення включають, але не обмежуються " +"ними, ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'`` і " +"``'nanoserver'``." + +msgid "" +"Return ``True`` if the Windows edition returned by :func:`win32_edition` is " +"recognized as an IoT edition." +msgstr "" +"Повертає ``True``, якщо випуск Windows, який повертає :func:`win32_edition`, " +"розпізнається як випуск IoT." + +msgid "macOS Platform" +msgstr "Платформа macOS" + +msgid "" +"Get macOS version information and return it as tuple ``(release, " +"versioninfo, machine)`` with *versioninfo* being a tuple ``(version, " +"dev_stage, non_release_version)``." +msgstr "" +"Отримати інформацію про версію macOS і повернути її як кортеж ``(release, " +"versioninfo, machine)``, де *versioninfo* є кортежем ``(version, dev_stage, " +"non_release_version)``." + +msgid "" +"Entries which cannot be determined are set to ``''``. All tuple entries are " +"strings." +msgstr "" +"Записи, які не можуть бути визначені, мають значення ``''``. Усі записи " +"кортежу є рядками." + +msgid "Unix Platforms" +msgstr "Платформи Unix" + +msgid "" +"Tries to determine the libc version against which the file executable " +"(defaults to the Python interpreter) is linked. Returns a tuple of strings " +"``(lib, version)`` which default to the given parameters in case the lookup " +"fails." +msgstr "" +"Намагається визначити версію libc, з якою пов’язано виконуваний файл (за " +"замовчуванням – інтерпретатор Python). Повертає кортеж рядків ``(lib, " +"version)``, які за замовчуванням мають задані параметри, якщо пошук не " +"вдасться." + +msgid "" +"Note that this function has intimate knowledge of how different libc " +"versions add symbols to the executable is probably only usable for " +"executables compiled using :program:`gcc`." +msgstr "" +"Зауважте, що ця функція має глибокі знання про те, як різні версії libc " +"додають символи до виконуваного файлу, ймовірно, придатна лише для " +"виконуваних файлів, скомпільованих за допомогою :program:`gcc`." + +msgid "The file is read and scanned in chunks of *chunksize* bytes." +msgstr "Файл зчитується та сканується шматками *chunksize* байтів." + +msgid "Linux Platforms" +msgstr "Платформи Linux" + +msgid "" +"Get operating system identification from ``os-release`` file and return it " +"as a dict. The ``os-release`` file is a `freedesktop.org standard `_ and is available " +"in most Linux distributions. A noticeable exception is Android and Android-" +"based distributions." +msgstr "" +"Отримайте ідентифікатор операційної системи з файлу ``os-release`` і " +"поверніть його як dict. Файл ``os-release`` є `стандартом freedesktop.org " +"`_ і " +"доступний у більшості дистрибутивів Linux. Помітним винятком є Android і " +"дистрибутиви на базі Android." + +msgid "" +"Raises :exc:`OSError` or subclass when neither ``/etc/os-release`` nor ``/" +"usr/lib/os-release`` can be read." +msgstr "" +"Викликає :exc:`OSError` або підклас, якщо ні ``/etc/os-release``, ні ``/usr/" +"lib/os-release`` не можуть бути прочитані." + +msgid "" +"On success, the function returns a dictionary where keys and values are " +"strings. Values have their special characters like ``\"`` and ``$`` " +"unquoted. The fields ``NAME``, ``ID``, and ``PRETTY_NAME`` are always " +"defined according to the standard. All other fields are optional. Vendors " +"may include additional fields." +msgstr "" +"У разі успіху функція повертає словник, де ключі та значення є рядками. " +"Значення мають спеціальні символи, такі як ``\"`` і ``$`` без лапок. Поля " +"``NAME``, ``ID`` і ``PRETTY_NAME`` завжди визначаються відповідно до " +"стандарту. Усі інші поля Постачальники можуть включати додаткові поля." + +msgid "" +"Note that fields like ``NAME``, ``VERSION``, and ``VARIANT`` are strings " +"suitable for presentation to users. Programs should use fields like ``ID``, " +"``ID_LIKE``, ``VERSION_ID``, or ``VARIANT_ID`` to identify Linux " +"distributions." +msgstr "" +"Зауважте, що такі поля, як ``NAME``, ``VERSION`` і ``VARIANT``, є рядками, " +"придатними для представлення користувачам. Програми мають використовувати " +"такі поля, як ``ID``, ``ID_LIKE``, ``VERSION_ID`` або ``VARIANT_ID`` для " +"визначення дистрибутивів Linux." + +msgid "Example::" +msgstr "Приклад::" diff --git a/library/plistlib.po b/library/plistlib.po new file mode 100644 index 000000000..fc9d235bd --- /dev/null +++ b/library/plistlib.po @@ -0,0 +1,242 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`plistlib` --- Generate and parse Apple ``.plist`` files" +msgstr ":mod:`plistlib` --- Створення та аналіз файлів Apple ``.plist``" + +msgid "**Source code:** :source:`Lib/plistlib.py`" +msgstr "**Вихідний код:** :source:`Lib/plistlib.py`" + +msgid "" +"This module provides an interface for reading and writing the \"property list" +"\" files used by Apple, primarily on macOS and iOS. This module supports " +"both binary and XML plist files." +msgstr "" +"Цей модуль надає інтерфейс для читання та запису файлів \"списку властивостей" +"\", які використовуються Apple, переважно в macOS та iOS. Цей модуль " +"підтримує двійкові та XML-файли plist." + +msgid "" +"The property list (``.plist``) file format is a simple serialization " +"supporting basic object types, like dictionaries, lists, numbers and " +"strings. Usually the top level object is a dictionary." +msgstr "" +"Формат файлу списку властивостей (``.plist``) — це проста серіалізація, яка " +"підтримує базові типи об’єктів, як-от словники, списки, числа та рядки. " +"Зазвичай об'єктом верхнього рівня є словник." + +msgid "" +"To write out and to parse a plist file, use the :func:`dump` and :func:" +"`load` functions." +msgstr "" +"Щоб вивести та проаналізувати файл plist, використовуйте функції :func:" +"`dump` і :func:`load`." + +msgid "" +"To work with plist data in bytes objects, use :func:`dumps` and :func:" +"`loads`." +msgstr "" +"Щоб працювати з даними plist в об’єктах bytes, використовуйте :func:`dumps` " +"і :func:`loads`." + +msgid "" +"Values can be strings, integers, floats, booleans, tuples, lists, " +"dictionaries (but only with string keys), :class:`bytes`, :class:`bytearray` " +"or :class:`datetime.datetime` objects." +msgstr "" +"Значеннями можуть бути рядки, цілі числа, числа з плаваючою точкою, логічні " +"значення, кортежі, списки, словники (але лише з рядковими ключами), об’єкти :" +"class:`bytes`, :class:`bytearray` або :class:`datetime.datetime`." + +msgid "New API, old API deprecated. Support for binary format plists added." +msgstr "" +"Новий API, старий API застарів. Додано підтримку бінарних форматів plists." + +msgid "" +"Support added for reading and writing :class:`UID` tokens in binary plists " +"as used by NSKeyedArchiver and NSKeyedUnarchiver." +msgstr "" +"Додано підтримку для читання та запису токенів :class:`UID` у бінарних " +"списках, що використовуються NSKeyedArchiver і NSKeyedUnarchiver." + +msgid "Old API removed." +msgstr "Старий API видалено." + +msgid "" +"`PList manual page `_" +msgstr "" +"`Довідкова сторінка PList `_" + +msgid "Apple's documentation of the file format." +msgstr "Документація Apple про формат файлу." + +msgid "This module defines the following functions:" +msgstr "Цей модуль визначає такі функції:" + +msgid "" +"Read a plist file. *fp* should be a readable and binary file object. Return " +"the unpacked root object (which usually is a dictionary)." +msgstr "" +"Прочитайте файл plist. *fp* має бути читабельним і двійковим файловим " +"об’єктом. Повертає розпакований кореневий об’єкт (який зазвичай є словником)." + +msgid "The *fmt* is the format of the file and the following values are valid:" +msgstr "*fmt* — це формат файлу, і такі значення є дійсними:" + +msgid ":data:`None`: Autodetect the file format" +msgstr ":data:`None`: Автоматичне визначення формату файлу" + +msgid ":data:`FMT_XML`: XML file format" +msgstr ":data:`FMT_XML`: формат файлу XML" + +msgid ":data:`FMT_BINARY`: Binary plist format" +msgstr ":data:`FMT_BINARY`: двійковий формат plist" + +msgid "" +"The *dict_type* is the type used for dictionaries that are read from the " +"plist file." +msgstr "" +"*dict_type* — це тип, який використовується для словників, які читаються з " +"файлу plist." + +msgid "" +"XML data for the :data:`FMT_XML` format is parsed using the Expat parser " +"from :mod:`xml.parsers.expat` -- see its documentation for possible " +"exceptions on ill-formed XML. Unknown elements will simply be ignored by " +"the plist parser." +msgstr "" +"XML-дані для формату :data:`FMT_XML` аналізуються за допомогою синтаксичного " +"аналізатора Expat із :mod:`xml.parsers.expat` — перегляньте його " +"документацію щодо можливих винятків щодо неправильно сформованого XML. " +"Невідомі елементи просто ігноруватимуться аналізатором plist." + +msgid "" +"The parser for the binary format raises :exc:`InvalidFileException` when the " +"file cannot be parsed." +msgstr "" +"Синтаксичний аналізатор двійкового формату викликає :exc:" +"`InvalidFileException`, коли файл не може бути проаналізований." + +msgid "" +"Load a plist from a bytes object. See :func:`load` for an explanation of the " +"keyword arguments." +msgstr "" +"Завантажте plist з об’єкта bytes. Перегляньте :func:`load` для пояснення " +"аргументів ключового слова." + +msgid "" +"Write *value* to a plist file. *Fp* should be a writable, binary file object." +msgstr "" +"Запишіть *значення* у файл plist. *Fp* має бути доступним для запису " +"двійковим файловим об’єктом." + +msgid "" +"The *fmt* argument specifies the format of the plist file and can be one of " +"the following values:" +msgstr "" +"Аргумент *fmt* визначає формат файлу plist і може бути одним із таких " +"значень:" + +msgid ":data:`FMT_XML`: XML formatted plist file" +msgstr ":data:`FMT_XML`: Plist-файл у форматі XML" + +msgid ":data:`FMT_BINARY`: Binary formatted plist file" +msgstr ":data:`FMT_BINARY`: файл plist у двійковому форматі" + +msgid "" +"When *sort_keys* is true (the default) the keys for dictionaries will be " +"written to the plist in sorted order, otherwise they will be written in the " +"iteration order of the dictionary." +msgstr "" +"Якщо *sort_keys* має значення true (за замовчуванням), ключі для словників " +"будуть записані до plist у відсортованому порядку, інакше вони будуть " +"записані в порядку ітерацій словника." + +msgid "" +"When *skipkeys* is false (the default) the function raises :exc:`TypeError` " +"when a key of a dictionary is not a string, otherwise such keys are skipped." +msgstr "" +"Якщо *skipkeys* має значення false (за замовчуванням), функція викликає :exc:" +"`TypeError`, коли ключ словника не є рядком, інакше такі ключі пропускаються." + +msgid "" +"A :exc:`TypeError` will be raised if the object is of an unsupported type or " +"a container that contains objects of unsupported types." +msgstr "" +"Якщо тип об’єкта не підтримується або контейнер містить об’єкти " +"непідтримуваних типів, виникне :exc:`TypeError`." + +msgid "" +"An :exc:`OverflowError` will be raised for integer values that cannot be " +"represented in (binary) plist files." +msgstr "" +"Помилка :exc:`OverflowError` буде викликана для цілих значень, які не можуть " +"бути представлені в (бінарних) файлах plist." + +msgid "" +"Return *value* as a plist-formatted bytes object. See the documentation for :" +"func:`dump` for an explanation of the keyword arguments of this function." +msgstr "" +"Повертає *значення* як об’єкт bytes у форматі plist. Перегляньте " +"документацію для :func:`dump` для пояснення ключових аргументів цієї функції." + +msgid "The following classes are available:" +msgstr "Доступні такі класи:" + +msgid "" +"Wraps an :class:`int`. This is used when reading or writing NSKeyedArchiver " +"encoded data, which contains UID (see PList manual)." +msgstr "" +"Обгортає :class:`int`. Це використовується під час читання або запису даних, " +"закодованих NSKeyedArchiver, які містять UID (див. посібник PList)." + +msgid "" +"It has one attribute, :attr:`data`, which can be used to retrieve the int " +"value of the UID. :attr:`data` must be in the range ``0 <= data < 2**64``." +msgstr "" +"Він має один атрибут, :attr:`data`, який можна використовувати для отримання " +"int-значення UID. :attr:`data` має бути в діапазоні ``0 <= data < 2**64``." + +msgid "The following constants are available:" +msgstr "Доступні такі константи:" + +msgid "The XML format for plist files." +msgstr "Формат XML для файлів plist." + +msgid "The binary format for plist files" +msgstr "Двійковий формат для файлів plist" + +msgid "Examples" +msgstr "Приклади" + +msgid "Generating a plist::" +msgstr "Створення plist::" + +msgid "Parsing a plist::" +msgstr "Розбір plist::" diff --git a/library/poplib.po b/library/poplib.po new file mode 100644 index 000000000..3631cc8cd --- /dev/null +++ b/library/poplib.po @@ -0,0 +1,389 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`poplib` --- POP3 protocol client" +msgstr ":mod:`poplib` --- клієнт протоколу POP3" + +msgid "**Source code:** :source:`Lib/poplib.py`" +msgstr "**Вихідний код:** :source:`Lib/poplib.py`" + +msgid "" +"This module defines a class, :class:`POP3`, which encapsulates a connection " +"to a POP3 server and implements the protocol as defined in :rfc:`1939`. The :" +"class:`POP3` class supports both the minimal and optional command sets from :" +"rfc:`1939`. The :class:`POP3` class also supports the ``STLS`` command " +"introduced in :rfc:`2595` to enable encrypted communication on an already " +"established connection." +msgstr "" +"Цей модуль визначає клас :class:`POP3`, який інкапсулює підключення до " +"сервера POP3 і реалізує протокол, як визначено в :rfc:`1939`. Клас :class:" +"`POP3` підтримує як мінімальний, так і необов’язковий набори команд з :rfc:" +"`1939`. Клас :class:`POP3` також підтримує команду ``STLS``, представлену в :" +"rfc:`2595`, щоб увімкнути зашифрований зв’язок у вже встановленому з’єднанні." + +msgid "" +"Additionally, this module provides a class :class:`POP3_SSL`, which provides " +"support for connecting to POP3 servers that use SSL as an underlying " +"protocol layer." +msgstr "" +"Крім того, цей модуль надає клас :class:`POP3_SSL`, який забезпечує " +"підтримку підключення до серверів POP3, які використовують SSL як базовий " +"рівень протоколу." + +msgid "" +"Note that POP3, though widely supported, is obsolescent. The implementation " +"quality of POP3 servers varies widely, and too many are quite poor. If your " +"mailserver supports IMAP, you would be better off using the :class:`imaplib." +"IMAP4` class, as IMAP servers tend to be better implemented." +msgstr "" +"Зауважте, що POP3, хоча й широко підтримується, застарів. Якість " +"впровадження POP3-серверів дуже різна, і дуже багато з них досить погані. " +"Якщо ваш поштовий сервер підтримує IMAP, краще використовувати клас :class:" +"`imaplib.IMAP4`, оскільки сервери IMAP краще реалізовані." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The :mod:`poplib` module provides two classes:" +msgstr "Модуль :mod:`poplib` надає два класи:" + +msgid "" +"This class implements the actual POP3 protocol. The connection is created " +"when the instance is initialized. If *port* is omitted, the standard POP3 " +"port (110) is used. The optional *timeout* parameter specifies a timeout in " +"seconds for the connection attempt (if not specified, the global default " +"timeout setting will be used)." +msgstr "" +"Цей клас реалізує фактичний протокол POP3. Підключення створюється під час " +"ініціалізації екземпляра. Якщо *порт* не вказано, використовується " +"стандартний порт POP3 (110). Необов’язковий параметр *timeout* визначає час " +"очікування в секундах для спроби підключення (якщо не вказано, буде " +"використано глобальне налаштування часу очікування за замовчуванням)." + +msgid "" +"Raises an :ref:`auditing event ` ``poplib.connect`` with arguments " +"``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``poplib.connect`` з аргументами " +"``self``, ``host``, ``port``." + +msgid "" +"Raises an :ref:`auditing event ` ``poplib.putline`` with arguments " +"``self``, ``line``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``poplib.putline`` з аргументами " +"``self``, ``line``." + +msgid "" +"All commands will raise an :ref:`auditing event ` ``poplib." +"putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " +"about to be sent to the remote host." +msgstr "" +"Усі команди викличуть :ref:`подію аудиту ` ``poplib.putline`` з " +"аргументами ``self`` і ``line``, де ``line`` — це байти, які мають бути " +"надіслані на віддалений пристрій хост." + +msgid "" +"If the *timeout* parameter is set to be zero, it will raise a :class:" +"`ValueError` to prevent the creation of a non-blocking socket." +msgstr "" +"Якщо параметр *timeout* дорівнює нулю, це викличе :class:`ValueError`, щоб " +"запобігти створенню неблокуючого сокета." + +msgid "" +"This is a subclass of :class:`POP3` that connects to the server over an SSL " +"encrypted socket. If *port* is not specified, 995, the standard POP3-over-" +"SSL port is used. *timeout* works as in the :class:`POP3` constructor. " +"*context* is an optional :class:`ssl.SSLContext` object which allows " +"bundling SSL configuration options, certificates and private keys into a " +"single (potentially long-lived) structure. Please read :ref:`ssl-security` " +"for best practices." +msgstr "" +"Це підклас :class:`POP3`, який підключається до сервера через сокет, " +"зашифрований SSL. Якщо *порт* не вказано, 995, використовується стандартний " +"порт POP3 через SSL. *timeout* працює як у конструкторі :class:`POP3`. " +"*context* — це необов’язковий об’єкт :class:`ssl.SSLContext`, який дозволяє " +"об’єднувати параметри конфігурації SSL, сертифікати та приватні ключі в " +"єдину (потенційно довговічну) структуру. Будь ласка, прочитайте :ref:`ssl-" +"security`, щоб дізнатися про найкращі практики." + +msgid "" +"*keyfile* and *certfile* are a legacy alternative to *context* - they can " +"point to PEM-formatted private key and certificate chain files, " +"respectively, for the SSL connection." +msgstr "" +"*keyfile* і *certfile* є застарілою альтернативою *context* — вони можуть " +"вказувати на файли закритого ключа та ланцюжка сертифікатів у форматі PEM " +"відповідно для підключення SSL." + +msgid "*context* parameter added." +msgstr "Додано параметр *context*." + +msgid "" +"The class now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Клас тепер підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" +"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." +"create_default_context` select the system's trusted CA certificates for you." +msgstr "" +"*keyfile* і *certfile* застаріли на користь *context*. Натомість " +"використовуйте :meth:`ssl.SSLContext.load_cert_chain` або дозвольте :func:" +"`ssl.create_default_context` вибрати для вас надійні сертифікати ЦС системи." + +msgid "One exception is defined as an attribute of the :mod:`poplib` module:" +msgstr "Один виняток визначено як атрибут модуля :mod:`poplib`:" + +msgid "" +"Exception raised on any errors from this module (errors from :mod:`socket` " +"module are not caught). The reason for the exception is passed to the " +"constructor as a string." +msgstr "" +"Виняток виникає при будь-яких помилках із цього модуля (помилки з модуля :" +"mod:`socket` не переймаються). Причина винятку передається конструктору у " +"вигляді рядка." + +msgid "Module :mod:`imaplib`" +msgstr "Модуль :mod:`imaplib`" + +msgid "The standard Python IMAP module." +msgstr "Стандартний модуль IMAP Python." + +msgid "" +"`Frequently Asked Questions About Fetchmail `_" +msgstr "" +"`Часті запитання про Fetchmail `_" + +msgid "" +"The FAQ for the :program:`fetchmail` POP/IMAP client collects information on " +"POP3 server variations and RFC noncompliance that may be useful if you need " +"to write an application based on the POP protocol." +msgstr "" +"Поширені запитання щодо POP/IMAP-клієнта :program:`fetchmail` збирають " +"інформацію про варіанти POP3-сервера та невідповідність RFC, що може бути " +"корисним, якщо вам потрібно написати програму на основі протоколу POP." + +msgid "POP3 Objects" +msgstr "Об'єкти POP3" + +msgid "" +"All POP3 commands are represented by methods of the same name, in lowercase; " +"most return the response text sent by the server." +msgstr "" + +msgid "A :class:`POP3` instance has the following methods:" +msgstr "" + +msgid "" +"Set the instance's debugging level. This controls the amount of debugging " +"output printed. The default, ``0``, produces no debugging output. A value " +"of ``1`` produces a moderate amount of debugging output, generally a single " +"line per request. A value of ``2`` or higher produces the maximum amount of " +"debugging output, logging each line sent and received on the control " +"connection." +msgstr "" +"Установіть рівень налагодження примірника. Це контролює кількість " +"надрукованих виводів налагодження. Значення за замовчуванням, ``0``, не " +"створює вихідних даних для налагодження. Значення ``1`` створює помірну " +"кількість налагоджувальних виводів, як правило, один рядок на запит. " +"Значення ``2`` або вище створює максимальну кількість налагоджувальних " +"виводів, реєструючи кожен рядок, надісланий і отриманий через контрольне " +"з’єднання." + +msgid "Returns the greeting string sent by the POP3 server." +msgstr "Повертає рядок привітання, надісланий сервером POP3." + +msgid "" +"Query the server's capabilities as specified in :rfc:`2449`. Returns a " +"dictionary in the form ``{'name': ['param'...]}``." +msgstr "" +"Запитуйте можливості сервера, як зазначено в :rfc:`2449`. Повертає словник у " +"формі ``{'name': ['param'...]}``." + +msgid "" +"Send user command, response should indicate that a password is required." +msgstr "" +"Надіслати команду користувача, відповідь має вказувати, що потрібен пароль." + +msgid "" +"Send password, response includes message count and mailbox size. Note: the " +"mailbox on the server is locked until :meth:`~poplib.quit` is called." +msgstr "" +"Надіслати пароль, відповідь містить кількість повідомлень і розмір поштової " +"скриньки. Примітка: поштова скринька на сервері заблокована до виклику :meth:" +"`~poplib.quit`." + +msgid "Use the more secure APOP authentication to log into the POP3 server." +msgstr "" +"Використовуйте більш безпечну автентифікацію APOP для входу на сервер POP3." + +msgid "" +"Use RPOP authentication (similar to UNIX r-commands) to log into POP3 server." +msgstr "" +"Використовуйте аутентифікацію RPOP (подібно до r-команд UNIX), щоб увійти на " +"сервер POP3." + +msgid "" +"Get mailbox status. The result is a tuple of 2 integers: ``(message count, " +"mailbox size)``." +msgstr "" +"Отримати статус поштової скриньки. Результатом є кортеж із 2 цілих чисел: " +"``(кількість повідомлень, розмір поштової скриньки)``." + +msgid "" +"Request message list, result is in the form ``(response, ['mesg_num " +"octets', ...], octets)``. If *which* is set, it is the message to list." +msgstr "" +"Список повідомлень запиту, результат у формі ``(відповідь, ['mesg_num " +"octets', ...], octets)``. Якщо встановлено *which*, це повідомлення для " +"списку." + +msgid "" +"Retrieve whole message number *which*, and set its seen flag. Result is in " +"form ``(response, ['line', ...], octets)``." +msgstr "" +"Отримайте повний номер повідомлення *which* і встановіть для нього позначку " +"\"переглянуто\". Результат має форму ``(відповідь, ['рядок', ...], октети)``." + +msgid "" +"Flag message number *which* for deletion. On most servers deletions are not " +"actually performed until QUIT (the major exception is Eudora QPOP, which " +"deliberately violates the RFCs by doing pending deletes on any disconnect)." +msgstr "" +"Позначити номер повідомлення *яке* для видалення. На більшості серверів " +"видалення фактично не виконується, доки не буде вимкнено (основним винятком " +"є Eudora QPOP, яка навмисно порушує RFC, виконуючи очікувані видалення під " +"час будь-якого відключення)." + +msgid "Remove any deletion marks for the mailbox." +msgstr "Видаліть усі позначки видалення з поштової скриньки." + +msgid "Do nothing. Might be used as a keep-alive." +msgstr "Нічого не робити. Може використовуватися як засіб підтримки життя." + +msgid "Signoff: commit changes, unlock mailbox, drop connection." +msgstr "" +"Підпис: внести зміни, розблокувати поштову скриньку, розірвати з’єднання." + +msgid "" +"Retrieves the message header plus *howmuch* lines of the message after the " +"header of message number *which*. Result is in form ``(response, " +"['line', ...], octets)``." +msgstr "" +"Отримує заголовок повідомлення плюс *скільки* рядків повідомлення після " +"заголовка номера повідомлення *which*. Результат має форму ``(відповідь, " +"['рядок', ...], октети)``." + +msgid "" +"The POP3 TOP command this method uses, unlike the RETR command, doesn't set " +"the message's seen flag; unfortunately, TOP is poorly specified in the RFCs " +"and is frequently broken in off-brand servers. Test this method by hand " +"against the POP3 servers you will use before trusting it." +msgstr "" +"Команда POP3 TOP, яку використовує цей метод, на відміну від команди RETR, " +"не встановлює прапор перегляду повідомлення; на жаль, TOP погано вказано в " +"RFC і часто порушується на сторонніх серверах. Перевірте цей метод вручну на " +"серверах POP3, які ви використовуватимете, перш ніж довіряти йому." + +msgid "" +"Return message digest (unique id) list. If *which* is specified, result " +"contains the unique id for that message in the form ``'response mesgnum " +"uid``, otherwise result is list ``(response, ['mesgnum uid', ...], octets)``." +msgstr "" +"Список дайджестів зворотного повідомлення (унікальний ідентифікатор). Якщо " +"вказано *which*, результат містить унікальний ідентифікатор для цього " +"повідомлення у формі ``'response mesgnum uid``, інакше результатом є список " +"``(response, ['mesgnum uid', ...], octets)``." + +msgid "" +"Try to switch to UTF-8 mode. Returns the server response if successful, " +"raises :class:`error_proto` if not. Specified in :RFC:`6856`." +msgstr "" +"Спробуйте перейти в режим UTF-8. Повертає відповідь сервера в разі успіху, " +"викликає :class:`error_proto`, якщо ні. Вказано в :RFC:`6856`." + +msgid "" +"Start a TLS session on the active connection as specified in :rfc:`2595`. " +"This is only allowed before user authentication" +msgstr "" +"Розпочніть сеанс TLS на активному з’єднанні, як зазначено в :rfc:`2595`. Це " +"дозволено лише перед автентифікацією користувача" + +msgid "" +"*context* parameter is a :class:`ssl.SSLContext` object which allows " +"bundling SSL configuration options, certificates and private keys into a " +"single (potentially long-lived) structure. Please read :ref:`ssl-security` " +"for best practices." +msgstr "" +"Параметр *context* — це об’єкт :class:`ssl.SSLContext`, який дозволяє " +"об’єднувати параметри конфігурації SSL, сертифікати та приватні ключі в " +"єдину (потенційно довговічну) структуру. Будь ласка, прочитайте :ref:`ssl-" +"security`, щоб дізнатися про найкращі практики." + +msgid "" +"This method supports hostname checking via :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Цей метод підтримує перевірку імені хоста через :attr:`ssl.SSLContext." +"check_hostname` і *Індикацію імені сервера* (див. :data:`ssl.HAS_SNI`)." + +msgid "" +"Instances of :class:`POP3_SSL` have no additional methods. The interface of " +"this subclass is identical to its parent." +msgstr "" +"Екземпляри :class:`POP3_SSL` не мають додаткових методів. Інтерфейс цього " +"підкласу ідентичний його батьківському." + +msgid "POP3 Example" +msgstr "Приклад POP3" + +msgid "" +"Here is a minimal example (without error checking) that opens a mailbox and " +"retrieves and prints all messages::" +msgstr "" +"Ось мінімальний приклад (без перевірки помилок), який відкриває поштову " +"скриньку, отримує та друкує всі повідомлення:" + +msgid "" +"At the end of the module, there is a test section that contains a more " +"extensive example of usage." +msgstr "" +"Наприкінці модуля є тестовий розділ, який містить докладніший приклад " +"використання." diff --git a/library/posix.po b/library/posix.po new file mode 100644 index 000000000..9ffdb428d --- /dev/null +++ b/library/posix.po @@ -0,0 +1,137 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`posix` --- The most common POSIX system calls" +msgstr ":mod:`posix` --- Найпоширеніші системні виклики POSIX" + +msgid "" +"This module provides access to operating system functionality that is " +"standardized by the C Standard and the POSIX standard (a thinly disguised " +"Unix interface)." +msgstr "" +"Цей модуль забезпечує доступ до функціональних можливостей операційної " +"системи, стандартизованих стандартом C і стандартом POSIX (тонко " +"замаскований інтерфейс Unix)." + +msgid "" +"**Do not import this module directly.** Instead, import the module :mod:" +"`os`, which provides a *portable* version of this interface. On Unix, the :" +"mod:`os` module provides a superset of the :mod:`posix` interface. On non-" +"Unix operating systems the :mod:`posix` module is not available, but a " +"subset is always available through the :mod:`os` interface. Once :mod:`os` " +"is imported, there is *no* performance penalty in using it instead of :mod:" +"`posix`. In addition, :mod:`os` provides some additional functionality, " +"such as automatically calling :func:`~os.putenv` when an entry in ``os." +"environ`` is changed." +msgstr "" +"**Не імпортуйте цей модуль безпосередньо.** Натомість імпортуйте модуль :mod:" +"`os`, який надає *портативну* версію цього інтерфейсу. В Unix модуль :mod:" +"`os` забезпечує надмножину інтерфейсу :mod:`posix`. В операційних системах, " +"відмінних від Unix, модуль :mod:`posix` недоступний, але підмножина завжди " +"доступна через інтерфейс :mod:`os`. Як тільки :mod:`os` імпортовано, " +"використання його замість :mod:`posix` *не* знижує продуктивність. Крім " +"того, :mod:`os` надає деякі додаткові функції, такі як автоматичний виклик :" +"func:`~os.putenv`, коли запис у ``os.environ`` змінюється." + +msgid "" +"Errors are reported as exceptions; the usual exceptions are given for type " +"errors, while errors reported by the system calls raise :exc:`OSError`." +msgstr "" +"Помилки повідомляються як винятки; звичайні винятки надаються для помилок " +"типу, тоді як помилки, про які повідомляють системні виклики, викликають :" +"exc:`OSError`." + +msgid "Large File Support" +msgstr "Підтримка великих файлів" + +msgid "" +"Several operating systems (including AIX and Solaris) provide support for " +"files that are larger than 2 GiB from a C programming model where :c:expr:" +"`int` and :c:expr:`long` are 32-bit values. This is typically accomplished " +"by defining the relevant size and offset types as 64-bit values. Such files " +"are sometimes referred to as :dfn:`large files`." +msgstr "" + +msgid "" +"Large file support is enabled in Python when the size of an :c:type:`off_t` " +"is larger than a :c:expr:`long` and the :c:expr:`long long` is at least as " +"large as an :c:type:`off_t`. It may be necessary to configure and compile " +"Python with certain compiler flags to enable this mode. For example, with " +"Solaris 2.6 and 2.7 you need to do something like::" +msgstr "" + +msgid "On large-file-capable Linux systems, this might work::" +msgstr "У системах Linux із підтримкою великих файлів це може працювати:" + +msgid "Notable Module Contents" +msgstr "Важливий зміст модуля" + +msgid "" +"In addition to many functions described in the :mod:`os` module " +"documentation, :mod:`posix` defines the following data item:" +msgstr "" +"На додаток до багатьох функцій, описаних у документації модуля :mod:`os`, :" +"mod:`posix` визначає наступний елемент даних:" + +msgid "" +"A dictionary representing the string environment at the time the interpreter " +"was started. Keys and values are bytes on Unix and str on Windows. For " +"example, ``environ[b'HOME']`` (``environ['HOME']`` on Windows) is the " +"pathname of your home directory, equivalent to ``getenv(\"HOME\")`` in C." +msgstr "" +"Словник, що представляє середовище рядків на момент запуску інтерпретатора. " +"Ключі та значення є байтами в Unix і str у Windows. Наприклад, " +"``environ[b'HOME']`` (``environ['HOME']`` у Windows) — це шлях до вашого " +"домашнього каталогу, еквівалентний ``getenv(\"HOME\")`` у C ." + +msgid "" +"Modifying this dictionary does not affect the string environment passed on " +"by :func:`~os.execv`, :func:`~os.popen` or :func:`~os.system`; if you need " +"to change the environment, pass ``environ`` to :func:`~os.execve` or add " +"variable assignments and export statements to the command string for :func:" +"`~os.system` or :func:`~os.popen`." +msgstr "" +"Зміна цього словника не впливає на середовище рядків, яке передається :func:" +"`~os.execv`, :func:`~os.popen` або :func:`~os.system`; якщо вам потрібно " +"змінити середовище, передайте ``environ`` до :func:`~os.execve` або додайте " +"призначення змінних і оператори експорту до командного рядка для :func:`~os." +"system` або :func:`~os.popen`." + +msgid "On Unix, keys and values are bytes." +msgstr "В Unix ключі та значення є байтами." + +msgid "" +"The :mod:`os` module provides an alternate implementation of ``environ`` " +"which updates the environment on modification. Note also that updating :data:" +"`os.environ` will render this dictionary obsolete. Use of the :mod:`os` " +"module version of this is recommended over direct access to the :mod:`posix` " +"module." +msgstr "" +"Модуль :mod:`os` забезпечує альтернативну реалізацію ``environ``, яка " +"оновлює середовище після внесення змін. Зауважте також, що оновлення :data:" +"`os.environ` зробить цей словник застарілим. Рекомендується використовувати " +"версію модуля :mod:`os` замість прямого доступу до модуля :mod:`posix`." diff --git a/library/pprint.po b/library/pprint.po new file mode 100644 index 000000000..532cde375 --- /dev/null +++ b/library/pprint.po @@ -0,0 +1,335 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pprint` --- Data pretty printer" +msgstr ":mod:`pprint` --- Принтер для друку даних" + +msgid "**Source code:** :source:`Lib/pprint.py`" +msgstr "**Вихідний код:** :source:`Lib/pprint.py`" + +msgid "" +"The :mod:`pprint` module provides a capability to \"pretty-print\" arbitrary " +"Python data structures in a form which can be used as input to the " +"interpreter. If the formatted structures include objects which are not " +"fundamental Python types, the representation may not be loadable. This may " +"be the case if objects such as files, sockets or classes are included, as " +"well as many other objects which are not representable as Python literals." +msgstr "" +"Модуль :mod:`pprint` надає можливість \"виводити\" довільні структури даних " +"Python у формі, яку можна використовувати як вхідні дані для інтерпретатора. " +"Якщо відформатовані структури містять об’єкти, які не є фундаментальними " +"типами Python, представлення може не завантажуватися. Це може статися, якщо " +"включено такі об’єкти, як файли, сокети чи класи, а також багато інших " +"об’єктів, які не можна представити як літерали Python." + +msgid "" +"The formatted representation keeps objects on a single line if it can, and " +"breaks them onto multiple lines if they don't fit within the allowed width. " +"Construct :class:`PrettyPrinter` objects explicitly if you need to adjust " +"the width constraint." +msgstr "" +"Форматоване представлення зберігає об’єкти в одному рядку, якщо це можливо, " +"і розбиває їх на кілька рядків, якщо вони не вміщуються в межах дозволеної " +"ширини. Сконструюйте об’єкти :class:`PrettyPrinter` явно, якщо вам потрібно " +"налаштувати обмеження ширини." + +msgid "Dictionaries are sorted by key before the display is computed." +msgstr "Перед обчисленням відображення словники сортуються за ключем." + +msgid "Added support for pretty-printing :class:`types.SimpleNamespace`." +msgstr "Додано підтримку красивого друку :class:`types.SimpleNamespace`." + +msgid "Added support for pretty-printing :class:`dataclasses.dataclass`." +msgstr "Додано підтримку красивого друку :class:`dataclasses.dataclass`." + +msgid "The :mod:`pprint` module defines one class:" +msgstr "Модуль :mod:`pprint` визначає один клас:" + +msgid "" +"Construct a :class:`PrettyPrinter` instance. This constructor understands " +"several keyword parameters." +msgstr "" +"Створіть екземпляр :class:`PrettyPrinter`. Цей конструктор розуміє кілька " +"параметрів ключових слів." + +msgid "" +"*stream* (default ``sys.stdout``) is a :term:`file-like object` to which the " +"output will be written by calling its :meth:`write` method. If both *stream* " +"and ``sys.stdout`` are ``None``, then :meth:`~PrettyPrinter.pprint` silently " +"returns." +msgstr "" + +msgid "" +"Other values configure the manner in which nesting of complex data " +"structures is displayed." +msgstr "" +"Інші значення налаштовують спосіб відображення вкладеності складних структур " +"даних." + +msgid "" +"*indent* (default 1) specifies the amount of indentation added for each " +"nesting level." +msgstr "" +"*indent* (за замовчуванням 1) визначає величину відступу, доданого для " +"кожного рівня вкладеності." + +msgid "" +"*depth* controls the number of nesting levels which may be printed; if the " +"data structure being printed is too deep, the next contained level is " +"replaced by ``...``. By default, there is no constraint on the depth of the " +"objects being formatted." +msgstr "" +"*depth* контролює кількість рівнів вкладеності, які можуть бути надруковані; " +"якщо структура даних, що друкується, надто глибока, наступний рівень вмісту " +"замінюється на ``...``. За замовчуванням немає обмежень щодо глибини " +"об’єктів, що форматуються." + +msgid "" +"*width* (default 80) specifies the desired maximum number of characters per " +"line in the output. If a structure cannot be formatted within the width " +"constraint, a best effort will be made." +msgstr "" +"*width* (за замовчуванням 80) визначає бажану максимальну кількість символів " +"у рядку виводу. Якщо структуру неможливо відформатувати в межах обмеження " +"ширини, буде зроблено все можливе." + +msgid "" +"*compact* impacts the way that long sequences (lists, tuples, sets, etc) are " +"formatted. If *compact* is false (the default) then each item of a sequence " +"will be formatted on a separate line. If *compact* is true, as many items " +"as will fit within the *width* will be formatted on each output line." +msgstr "" +"*compact* впливає на спосіб форматування довгих послідовностей (списків, " +"кортежів, наборів тощо). Якщо *compact* має значення false (за " +"замовчуванням), то кожен елемент послідовності буде відформатовано в " +"окремому рядку. Якщо *compact* має значення true, у кожному рядку виводу " +"буде відформатовано стільки елементів, скільки поміститься в межах *width*." + +msgid "" +"If *sort_dicts* is true (the default), dictionaries will be formatted with " +"their keys sorted, otherwise they will display in insertion order." +msgstr "" +"Якщо *sort_dicts* має значення true (за замовчуванням), словники будуть " +"відформатовані з відсортованими ключами, інакше вони відображатимуться в " +"порядку вставки." + +msgid "" +"If *underscore_numbers* is true, integers will be formatted with the ``_`` " +"character for a thousands separator, otherwise underscores are not displayed " +"(the default)." +msgstr "" +"Якщо *underscore_numbers* має значення true, цілі числа будуть " +"відформатовані із символом ``_`` для роздільника тисяч, інакше підкреслення " +"не відображатимуться (за замовчуванням)." + +msgid "Added the *compact* parameter." +msgstr "Додано параметр *compact*." + +msgid "Added the *sort_dicts* parameter." +msgstr "Додано параметр *sort_dicts*." + +msgid "Added the *underscore_numbers* parameter." +msgstr "Додано параметр *underscore_numbers*." + +msgid "No longer attempts to write to ``sys.stdout`` if it is ``None``." +msgstr "" + +msgid "" +"Return the formatted representation of *object* as a string. *indent*, " +"*width*, *depth*, *compact*, *sort_dicts* and *underscore_numbers* are " +"passed to the :class:`PrettyPrinter` constructor as formatting parameters " +"and their meanings are as described in its documentation above." +msgstr "" + +msgid "" +"Prints the formatted representation of *object* followed by a newline. If " +"*sort_dicts* is false (the default), dictionaries will be displayed with " +"their keys in insertion order, otherwise the dict keys will be sorted. " +"*args* and *kwargs* will be passed to :func:`pprint` as formatting " +"parameters." +msgstr "" +"Друкує форматоване представлення *об’єкта*, після якого йде новий рядок. " +"Якщо *sort_dicts* має значення false (за замовчуванням), словники " +"відображатимуться з їхніми ключами в порядку вставки, інакше ключі dict " +"будуть відсортовані. *args* і *kwargs* будуть передані до :func:`pprint` як " +"параметри форматування." + +msgid "" +"Prints the formatted representation of *object* on *stream*, followed by a " +"newline. If *stream* is ``None``, ``sys.stdout`` is used. This may be used " +"in the interactive interpreter instead of the :func:`print` function for " +"inspecting values (you can even reassign ``print = pprint.pprint`` for use " +"within a scope)." +msgstr "" + +msgid "" +"The configuration parameters *stream*, *indent*, *width*, *depth*, " +"*compact*, *sort_dicts* and *underscore_numbers* are passed to the :class:" +"`PrettyPrinter` constructor and their meanings are as described in its " +"documentation above." +msgstr "" + +msgid "" +"Determine if the formatted representation of *object* is \"readable\", or " +"can be used to reconstruct the value using :func:`eval`. This always " +"returns ``False`` for recursive objects." +msgstr "" +"Визначте, чи є форматоване представлення *об’єкта* \"читабельним\" або його " +"можна використати для реконструкції значення за допомогою :func:`eval`. Це " +"завжди повертає ``False`` для рекурсивних об’єктів." + +msgid "Determine if *object* requires a recursive representation." +msgstr "Визначте, чи *об’єкт* вимагає рекурсивного представлення." + +msgid "One more support function is also defined:" +msgstr "Також визначено ще одну функцію підтримки:" + +msgid "" +"Return a string representation of *object*, protected against recursive data " +"structures. If the representation of *object* exposes a recursive entry, " +"the recursive reference will be represented as ````. The representation is not otherwise formatted." +msgstr "" +"Повертає рядкове представлення *об’єкта*, захищене від рекурсивних структур " +"даних. Якщо подання *об’єкта* містить рекурсивний запис, рекурсивне " +"посилання буде представлено як ````. " +"Представлення не має іншого формату." + +msgid "PrettyPrinter Objects" +msgstr "Об’єкти PrettyPrinter" + +msgid ":class:`PrettyPrinter` instances have the following methods:" +msgstr "Екземпляри :class:`PrettyPrinter` мають такі методи:" + +msgid "" +"Return the formatted representation of *object*. This takes into account " +"the options passed to the :class:`PrettyPrinter` constructor." +msgstr "" +"Повертає форматоване представлення *об’єкта*. Це враховує параметри, " +"передані конструктору :class:`PrettyPrinter`." + +msgid "" +"Print the formatted representation of *object* on the configured stream, " +"followed by a newline." +msgstr "" +"Надрукуйте форматоване представлення *об’єкта* у налаштованому потоці, а " +"потім новий рядок." + +msgid "" +"The following methods provide the implementations for the corresponding " +"functions of the same names. Using these methods on an instance is slightly " +"more efficient since new :class:`PrettyPrinter` objects don't need to be " +"created." +msgstr "" +"Наступні методи забезпечують реалізації для відповідних однойменних функцій. " +"Використання цих методів для екземпляра є трохи ефективнішим, оскільки не " +"потрібно створювати нові об’єкти :class:`PrettyPrinter`." + +msgid "" +"Determine if the formatted representation of the object is \"readable,\" or " +"can be used to reconstruct the value using :func:`eval`. Note that this " +"returns ``False`` for recursive objects. If the *depth* parameter of the :" +"class:`PrettyPrinter` is set and the object is deeper than allowed, this " +"returns ``False``." +msgstr "" +"Визначте, чи форматоване представлення об’єкта є \"читабельним\" чи його " +"можна використати для реконструкції значення за допомогою :func:`eval`. " +"Зауважте, що це повертає ``False`` для рекурсивних об’єктів. Якщо " +"встановлено параметр *depth* :class:`PrettyPrinter` і об’єкт глибше ніж " +"дозволено, повертається ``False``." + +msgid "Determine if the object requires a recursive representation." +msgstr "Визначте, чи вимагає об’єкт рекурсивне представлення." + +msgid "" +"This method is provided as a hook to allow subclasses to modify the way " +"objects are converted to strings. The default implementation uses the " +"internals of the :func:`saferepr` implementation." +msgstr "" +"Цей метод надається як хук, щоб дозволити підкласам змінювати спосіб " +"перетворення об’єктів на рядки. Стандартна реалізація використовує внутрішні " +"елементи реалізації :func:`saferepr`." + +msgid "" +"Returns three values: the formatted version of *object* as a string, a flag " +"indicating whether the result is readable, and a flag indicating whether " +"recursion was detected. The first argument is the object to be presented. " +"The second is a dictionary which contains the :func:`id` of objects that are " +"part of the current presentation context (direct and indirect containers for " +"*object* that are affecting the presentation) as the keys; if an object " +"needs to be presented which is already represented in *context*, the third " +"return value should be ``True``. Recursive calls to the :meth:`.format` " +"method should add additional entries for containers to this dictionary. The " +"third argument, *maxlevels*, gives the requested limit to recursion; this " +"will be ``0`` if there is no requested limit. This argument should be " +"passed unmodified to recursive calls. The fourth argument, *level*, gives " +"the current level; recursive calls should be passed a value less than that " +"of the current call." +msgstr "" +"Повертає три значення: відформатовану версію *об’єкта* у вигляді рядка, " +"позначку, яка вказує, чи читається результат, і позначку, яка вказує, чи " +"було виявлено рекурсію. Перший аргумент - це об'єкт, який потрібно " +"представити. Другий – це словник, який містить :func:`id` об’єктів, які є " +"частиною поточного контексту презентації (прямі та непрямі контейнери для " +"*object*, які впливають на презентацію) як ключі; якщо необхідно представити " +"об’єкт, який уже представлено в *контексті*, третє значення, що " +"повертається, має бути ``True``. Рекурсивні виклики методу :meth:`.format` " +"повинні додати додаткові записи для контейнерів до цього словника. Третій " +"аргумент, *maxlevels*, дає необхідний ліміт рекурсії; це буде ``0``, якщо " +"запитуваного обмеження немає. Цей аргумент слід передавати в рекурсивному " +"вигляді без змін. Четвертий аргумент, *level*, дає поточний рівень; " +"рекурсивним викликам має передаватися значення, менше значення поточного " +"виклику." + +msgid "Example" +msgstr "приклад" + +msgid "" +"To demonstrate several uses of the :func:`pprint` function and its " +"parameters, let's fetch information about a project from `PyPI `_::" +msgstr "" +"Щоб продемонструвати кілька способів використання функції :func:`pprint` та " +"її параметрів, давайте отримаємо інформацію про проект із `PyPI `_::" + +msgid "In its basic form, :func:`pprint` shows the whole object::" +msgstr "У своїй базовій формі :func:`pprint` показує весь об’єкт::" + +msgid "" +"The result can be limited to a certain *depth* (ellipsis is used for deeper " +"contents)::" +msgstr "" +"Результат можна обмежити певною *глибиною* (крапка використовується для " +"глибшого вмісту):" + +msgid "" +"Additionally, maximum character *width* can be suggested. If a long object " +"cannot be split, the specified width will be exceeded::" +msgstr "" +"Крім того, можна запропонувати максимальну *ширину* символу. Якщо довгий " +"об’єкт не можна розділити, указана ширина буде перевищена:" diff --git a/library/profile.po b/library/profile.po new file mode 100644 index 000000000..e461a5023 --- /dev/null +++ b/library/profile.po @@ -0,0 +1,1128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The Python Profilers" +msgstr "Профайлери Python" + +msgid "**Source code:** :source:`Lib/profile.py` and :source:`Lib/pstats.py`" +msgstr "**Вихідний код:** :source:`Lib/profile.py` і :source:`Lib/pstats.py`" + +msgid "Introduction to the profilers" +msgstr "Знайомство з профайлерами" + +msgid "" +":mod:`cProfile` and :mod:`profile` provide :dfn:`deterministic profiling` of " +"Python programs. A :dfn:`profile` is a set of statistics that describes how " +"often and for how long various parts of the program executed. These " +"statistics can be formatted into reports via the :mod:`pstats` module." +msgstr "" +":mod:`cProfile` і :mod:`profile` забезпечують :dfn:`детермінізоване " +"профілювання` програм Python. :dfn:`profile` — це набір статистичних даних, " +"який описує, як часто та як довго виконуються різні частини програми. Цю " +"статистику можна форматувати у звіти за допомогою модуля :mod:`pstats`." + +msgid "" +"The Python standard library provides two different implementations of the " +"same profiling interface:" +msgstr "" +"Стандартна бібліотека Python надає дві різні реалізації одного інтерфейсу " +"профілювання:" + +msgid "" +":mod:`cProfile` is recommended for most users; it's a C extension with " +"reasonable overhead that makes it suitable for profiling long-running " +"programs. Based on :mod:`lsprof`, contributed by Brett Rosen and Ted " +"Czotter." +msgstr "" +":mod:`cProfile` рекомендується для більшості користувачів; це розширення C " +"із розумними накладними витратами, що робить його придатним для профілювання " +"довгострокових програм. На основі :mod:`lsprof`, внесли Бретт Розен і Тед " +"Чоттер." + +msgid "" +":mod:`profile`, a pure Python module whose interface is imitated by :mod:" +"`cProfile`, but which adds significant overhead to profiled programs. If " +"you're trying to extend the profiler in some way, the task might be easier " +"with this module. Originally designed and written by Jim Roskind." +msgstr "" +":mod:`profile`, чистий модуль Python, інтерфейс якого імітується :mod:" +"`cProfile`, але який додає значні накладні витрати на профільовані програми. " +"Якщо ви намагаєтеся якимось чином розширити профайлер, завдання може бути " +"легшим із цим модулем. Спочатку розроблений і написаний Джимом Роскіндом." + +msgid "" +"The profiler modules are designed to provide an execution profile for a " +"given program, not for benchmarking purposes (for that, there is :mod:" +"`timeit` for reasonably accurate results). This particularly applies to " +"benchmarking Python code against C code: the profilers introduce overhead " +"for Python code, but not for C-level functions, and so the C code would seem " +"faster than any Python one." +msgstr "" +"Модулі профайлера призначені для надання профілю виконання для даної " +"програми, а не для порівняльного аналізу (для цього існує :mod:`timeit` для " +"достатньо точних результатів). Це особливо стосується порівняння коду Python " +"із кодом C: профайлери вводять додаткові витрати для коду Python, але не для " +"функцій рівня C, тому код C здається швидшим за будь-який Python." + +msgid "Instant User's Manual" +msgstr "Посібник користувача Instant" + +msgid "" +"This section is provided for users that \"don't want to read the manual.\" " +"It provides a very brief overview, and allows a user to rapidly perform " +"profiling on an existing application." +msgstr "" +"Цей розділ призначений для користувачів, які \"не хочуть читати посібник\". " +"Він надає дуже короткий огляд і дозволяє користувачеві швидко виконувати " +"профілювання існуючої програми." + +msgid "To profile a function that takes a single argument, you can do::" +msgstr "" +"Для профілювання функції, яка приймає один аргумент, ви можете зробити:" + +msgid "" +"(Use :mod:`profile` instead of :mod:`cProfile` if the latter is not " +"available on your system.)" +msgstr "" +"(Використовуйте :mod:`profile` замість :mod:`cProfile`, якщо останній " +"недоступний у вашій системі.)" + +msgid "" +"The above action would run :func:`re.compile` and print profile results like " +"the following::" +msgstr "" +"Наведена вище дія запустить :func:`re.compile` і надрукує результати " +"профілю, як показано нижче:" + +msgid "" +"The first line indicates that 214 calls were monitored. Of those calls, 207 " +"were :dfn:`primitive`, meaning that the call was not induced via recursion. " +"The next line: ``Ordered by: cumulative name``, indicates that the text " +"string in the far right column was used to sort the output. The column " +"headings include:" +msgstr "" + +msgid "ncalls" +msgstr "виклики" + +msgid "for the number of calls." +msgstr "за кількість дзвінків." + +msgid "tottime" +msgstr "tottime" + +msgid "" +"for the total time spent in the given function (and excluding time made in " +"calls to sub-functions)" +msgstr "" +"для загального часу, витраченого на дану функцію (за винятком часу, " +"витраченого на виклики підфункцій)" + +msgid "percall" +msgstr "percall" + +msgid "is the quotient of ``tottime`` divided by ``ncalls``" +msgstr "це частка ``tottime``, поділена на ``ncalls``" + +msgid "cumtime" +msgstr "cumtime" + +msgid "" +"is the cumulative time spent in this and all subfunctions (from invocation " +"till exit). This figure is accurate *even* for recursive functions." +msgstr "" +"це сукупний час, витрачений на цю та всі підфункції (від виклику до виходу). " +"Ця цифра точна *навіть* для рекурсивних функцій." + +msgid "is the quotient of ``cumtime`` divided by primitive calls" +msgstr "це частка ``cumtime``, поділена на примітивні виклики" + +msgid "filename:lineno(function)" +msgstr "ім'я файлу: lineno(функція)" + +msgid "provides the respective data of each function" +msgstr "надає відповідні дані кожної функції" + +msgid "" +"When there are two numbers in the first column (for example ``3/1``), it " +"means that the function recursed. The second value is the number of " +"primitive calls and the former is the total number of calls. Note that when " +"the function does not recurse, these two values are the same, and only the " +"single figure is printed." +msgstr "" +"Якщо в першому стовпці є два числа (наприклад, ``3/1``), це означає, що " +"функція рекурсувала. Друге значення — це кількість первинних викликів, а " +"перше — загальна кількість викликів. Зауважте, що коли функція не рекурсує, " +"ці два значення однакові, і друкується лише одна цифра." + +msgid "" +"Instead of printing the output at the end of the profile run, you can save " +"the results to a file by specifying a filename to the :func:`run` function::" +msgstr "" +"Замість того, щоб друкувати вихідні дані в кінці запуску профілю, ви можете " +"зберегти результати у файлі, вказавши ім’я файлу у функції :func:`run`::" + +msgid "" +"The :class:`pstats.Stats` class reads profile results from a file and " +"formats them in various ways." +msgstr "" +"Клас :class:`pstats.Stats` читає результати профілю з файлу та форматує їх " +"різними способами." + +msgid "" +"The files :mod:`cProfile` and :mod:`profile` can also be invoked as a script " +"to profile another script. For example::" +msgstr "" +"Файли :mod:`cProfile` і :mod:`profile` також можна викликати як сценарій для " +"профілювання іншого сценарію. Наприклад::" + +msgid "``-o`` writes the profile results to a file instead of to stdout" +msgstr "``-o`` записує результати профілю у файл замість stdout" + +msgid "" +"``-s`` specifies one of the :func:`~pstats.Stats.sort_stats` sort values to " +"sort the output by. This only applies when ``-o`` is not supplied." +msgstr "" +"``-s`` вказує одне зі значень сортування :func:`~pstats.Stats.sort_stats` " +"для сортування виводу. Це стосується лише випадків, коли ``-o`` не вказано." + +msgid "``-m`` specifies that a module is being profiled instead of a script." +msgstr "``-m`` вказує, що профільується модуль замість сценарію." + +msgid "Added the ``-m`` option to :mod:`cProfile`." +msgstr "Додано опцію ``-m`` до :mod:`cProfile`." + +msgid "Added the ``-m`` option to :mod:`profile`." +msgstr "Додано опцію ``-m`` до :mod:`profile`." + +msgid "" +"The :mod:`pstats` module's :class:`~pstats.Stats` class has a variety of " +"methods for manipulating and printing the data saved into a profile results " +"file::" +msgstr "" +"Клас :class:`~pstats.Stats` модуля :mod:`pstats` має різноманітні методи для " +"обробки та друку даних, збережених у файлі результатів профілю:" + +msgid "" +"The :meth:`~pstats.Stats.strip_dirs` method removed the extraneous path from " +"all the module names. The :meth:`~pstats.Stats.sort_stats` method sorted all " +"the entries according to the standard module/line/name string that is " +"printed. The :meth:`~pstats.Stats.print_stats` method printed out all the " +"statistics. You might try the following sort calls::" +msgstr "" +"Метод :meth:`~pstats.Stats.strip_dirs` видалив зайвий шлях з усіх імен " +"модулів. Метод :meth:`~pstats.Stats.sort_stats` відсортував усі записи " +"відповідно до стандартного рядка модуля/рядка/назви, який друкується. Метод :" +"meth:`~pstats.Stats.print_stats` виводить всю статистику. Ви можете " +"спробувати такі виклики сортування:" + +msgid "" +"The first call will actually sort the list by function name, and the second " +"call will print out the statistics. The following are some interesting " +"calls to experiment with::" +msgstr "" +"Перший виклик фактично відсортує список за назвою функції, а другий виклик " +"роздрукує статистику. Нижче наведено кілька цікавих викликів для " +"експериментів:" + +msgid "" +"This sorts the profile by cumulative time in a function, and then only " +"prints the ten most significant lines. If you want to understand what " +"algorithms are taking time, the above line is what you would use." +msgstr "" +"Це сортує профіль за сукупним часом у функції, а потім друкує лише десять " +"найважливіших рядків. Якщо ви хочете зрозуміти, які алгоритми потребують " +"часу, ви б використали рядок вище." + +msgid "" +"If you were looking to see what functions were looping a lot, and taking a " +"lot of time, you would do::" +msgstr "" +"Якби ви хотіли побачити, які функції часто зациклюються та займають багато " +"часу, ви б зробили:" + +msgid "" +"to sort according to time spent within each function, and then print the " +"statistics for the top ten functions." +msgstr "" +"щоб відсортувати відповідно до часу, витраченого на виконання кожної " +"функції, а потім надрукувати статистику для перших десяти функцій." + +msgid "You might also try::" +msgstr "Ви також можете спробувати:" + +msgid "" +"This will sort all the statistics by file name, and then print out " +"statistics for only the class init methods (since they are spelled with " +"``__init__`` in them). As one final example, you could try::" +msgstr "" +"Це відсортує всю статистику за назвою файлу, а потім роздрукує статистику " +"лише для методів ініціалізації класу (оскільки в них пишеться ``__init__``). " +"Як останній приклад, ви можете спробувати:" + +msgid "" +"This line sorts statistics with a primary key of time, and a secondary key " +"of cumulative time, and then prints out some of the statistics. To be " +"specific, the list is first culled down to 50% (re: ``.5``) of its original " +"size, then only lines containing ``init`` are maintained, and that sub-sub-" +"list is printed." +msgstr "" +"Цей рядок сортує статистичні дані за первинним ключем часу та вторинним " +"ключем сукупного часу, а потім роздруковує деякі статистичні дані. Щоб бути " +"конкретним, список спочатку відбирається до 50% (re: ``.5``) від його " +"початкового розміру, потім зберігаються лише рядки, що містять ``init``, і " +"цей підпідсписок друкується." + +msgid "" +"If you wondered what functions called the above functions, you could now " +"(``p`` is still sorted according to the last criteria) do::" +msgstr "" +"Якщо вам було цікаво, які функції називають наведені вище функції, ви можете " +"тепер (``p`` все ще сортується за останнім критерієм) зробити::" + +msgid "and you would get a list of callers for each of the listed functions." +msgstr "і ви отримаєте список абонентів для кожної з перелічених функцій." + +msgid "" +"If you want more functionality, you're going to have to read the manual, or " +"guess what the following functions do::" +msgstr "" +"Якщо ви хочете отримати більше функціональних можливостей, вам доведеться " +"прочитати посібник або здогадатися, що роблять такі функції:" + +msgid "" +"Invoked as a script, the :mod:`pstats` module is a statistics browser for " +"reading and examining profile dumps. It has a simple line-oriented " +"interface (implemented using :mod:`cmd`) and interactive help." +msgstr "" +"Викликаний як скрипт, модуль :mod:`pstats` є браузером статистики для " +"читання та вивчення дампів профілю. Він має простий рядково-орієнтований " +"інтерфейс (реалізований за допомогою :mod:`cmd`) та інтерактивну довідку." + +msgid ":mod:`profile` and :mod:`cProfile` Module Reference" +msgstr "Довідка про модуль :mod:`profile` і :mod:`cProfile`" + +msgid "" +"Both the :mod:`profile` and :mod:`cProfile` modules provide the following " +"functions:" +msgstr "" +"Обидва модулі :mod:`profile` і :mod:`cProfile` забезпечують такі функції:" + +msgid "" +"This function takes a single argument that can be passed to the :func:`exec` " +"function, and an optional file name. In all cases this routine executes::" +msgstr "" +"Ця функція приймає один аргумент, який можна передати функції :func:`exec`, " +"і необов’язкове ім’я файлу. У всіх випадках ця процедура виконує:" + +msgid "" +"and gathers profiling statistics from the execution. If no file name is " +"present, then this function automatically creates a :class:`~pstats.Stats` " +"instance and prints a simple profiling report. If the sort value is " +"specified, it is passed to this :class:`~pstats.Stats` instance to control " +"how the results are sorted." +msgstr "" +"і збирає статистику профілювання від виконання. Якщо ім’я файлу відсутнє, ця " +"функція автоматично створює екземпляр :class:`~pstats.Stats` і друкує " +"простий звіт профілювання. Якщо вказано значення сортування, воно " +"передається цьому екземпляру :class:`~pstats.Stats` для керування " +"сортуванням результатів." + +msgid "" +"This function is similar to :func:`run`, with added arguments to supply the " +"globals and locals dictionaries for the *command* string. This routine " +"executes::" +msgstr "" +"Ця функція схожа на :func:`run`, з доданими аргументами для надання " +"глобальних і локальних словників для *командного* рядка. Ця процедура " +"виконує:" + +msgid "and gathers profiling statistics as in the :func:`run` function above." +msgstr "і збирає статистику профілювання, як у функції :func:`run` вище." + +msgid "" +"This class is normally only used if more precise control over profiling is " +"needed than what the :func:`cProfile.run` function provides." +msgstr "" +"Зазвичай цей клас використовується, лише якщо потрібен більш точний контроль " +"над профілюванням, ніж той, який забезпечує функція :func:`cProfile.run`." + +msgid "" +"A custom timer can be supplied for measuring how long code takes to run via " +"the *timer* argument. This must be a function that returns a single number " +"representing the current time. If the number is an integer, the *timeunit* " +"specifies a multiplier that specifies the duration of each unit of time. For " +"example, if the timer returns times measured in thousands of seconds, the " +"time unit would be ``.001``." +msgstr "" +"Можна надати власний таймер для вимірювання тривалості виконання коду за " +"допомогою аргументу *timer*. Це має бути функція, яка повертає одне число, " +"що відповідає поточному часу. Якщо число є цілим числом, *timeunit* визначає " +"множник, який визначає тривалість кожної одиниці часу. Наприклад, якщо " +"таймер повертає час, виміряний у тисячах секунд, одиницею часу буде ``.001``." + +msgid "" +"Directly using the :class:`Profile` class allows formatting profile results " +"without writing the profile data to a file::" +msgstr "" +"Безпосереднє використання класу :class:`Profile` дозволяє форматувати " +"результати профілю без запису даних профілю у файл::" + +msgid "" +"The :class:`Profile` class can also be used as a context manager (supported " +"only in :mod:`cProfile` module. see :ref:`typecontextmanager`)::" +msgstr "" +"Клас :class:`Profile` також можна використовувати як менеджер контексту " +"(підтримується лише в модулі :mod:`cProfile`. Див. :ref:" +"`typecontextmanager`)::" + +msgid "Added context manager support." +msgstr "Додано підтримку менеджера контексту." + +msgid "Start collecting profiling data. Only in :mod:`cProfile`." +msgstr "Почніть збирати дані профілювання. Тільки в :mod:`cProfile`." + +msgid "Stop collecting profiling data. Only in :mod:`cProfile`." +msgstr "Припиніть збір даних профілювання. Тільки в :mod:`cProfile`." + +msgid "" +"Stop collecting profiling data and record the results internally as the " +"current profile." +msgstr "" +"Припиніть збір даних профілювання та запишіть результати внутрішньо як " +"поточний профіль." + +msgid "" +"Create a :class:`~pstats.Stats` object based on the current profile and " +"print the results to stdout." +msgstr "" +"Створіть об’єкт :class:`~pstats.Stats` на основі поточного профілю та " +"надрукуйте результати в stdout." + +msgid "Write the results of the current profile to *filename*." +msgstr "Запишіть результати поточного профілю в *filename*." + +msgid "Profile the cmd via :func:`exec`." +msgstr "Профілюйте cmd через :func:`exec`." + +msgid "" +"Profile the cmd via :func:`exec` with the specified global and local " +"environment." +msgstr "" +"Профілюйте cmd через :func:`exec` із зазначеним глобальним і локальним " +"середовищем." + +msgid "Profile ``func(*args, **kwargs)``" +msgstr "Профіль ``func(*args, **kwargs)``" + +msgid "" +"Note that profiling will only work if the called command/function actually " +"returns. If the interpreter is terminated (e.g. via a :func:`sys.exit` call " +"during the called command/function execution) no profiling results will be " +"printed." +msgstr "" +"Зауважте, що профілювання працюватиме, лише якщо викликана команда/функція " +"дійсно повернеться. Якщо інтерпретатор завершується (наприклад, через " +"виклик :func:`sys.exit` під час виконання викликаної команди/функції), " +"результати профілювання не друкуються." + +msgid "The :class:`Stats` Class" +msgstr "Клас :class:`Stats`" + +msgid "" +"Analysis of the profiler data is done using the :class:`~pstats.Stats` class." +msgstr "" +"Аналіз даних профайлера виконується за допомогою класу :class:`~pstats." +"Stats`." + +msgid "" +"This class constructor creates an instance of a \"statistics object\" from a " +"*filename* (or list of filenames) or from a :class:`Profile` instance. " +"Output will be printed to the stream specified by *stream*." +msgstr "" +"Цей конструктор класу створює екземпляр \"статистичного об’єкта\" з *імені " +"файлу* (або списку імен файлів) або з екземпляра :class:`Profile`. Вихід " +"буде надруковано в потік, указаний *stream*." + +msgid "" +"The file selected by the above constructor must have been created by the " +"corresponding version of :mod:`profile` or :mod:`cProfile`. To be specific, " +"there is *no* file compatibility guaranteed with future versions of this " +"profiler, and there is no compatibility with files produced by other " +"profilers, or the same profiler run on a different operating system. If " +"several files are provided, all the statistics for identical functions will " +"be coalesced, so that an overall view of several processes can be considered " +"in a single report. If additional files need to be combined with data in an " +"existing :class:`~pstats.Stats` object, the :meth:`~pstats.Stats.add` method " +"can be used." +msgstr "" +"Файл, вибраний конструктором вище, має бути створений відповідною версією :" +"mod:`profile` або :mod:`cProfile`. Якщо бути конкретнішим, *немає* гарантії " +"сумісності файлів із майбутніми версіями цього профайлера, а також немає " +"сумісності з файлами, створеними іншими профайлерами, або тим самим " +"профайлером, що працює в іншій операційній системі. Якщо надано кілька " +"файлів, усі статистичні дані для ідентичних функцій будуть об’єднані, щоб " +"загальний огляд кількох процесів можна було розглянути в одному звіті. Якщо " +"додаткові файли потрібно об’єднати з даними в існуючому об’єкті :class:" +"`~pstats.Stats`, можна використати метод :meth:`~pstats.Stats.add`." + +msgid "" +"Instead of reading the profile data from a file, a :class:`cProfile.Profile` " +"or :class:`profile.Profile` object can be used as the profile data source." +msgstr "" +"Замість читання даних профілю з файлу, об’єкт :class:`cProfile.Profile` або :" +"class:`profile.Profile` можна використовувати як джерело даних профілю." + +msgid ":class:`Stats` objects have the following methods:" +msgstr "Об'єкти :class:`Stats` мають такі методи:" + +msgid "" +"This method for the :class:`Stats` class removes all leading path " +"information from file names. It is very useful in reducing the size of the " +"printout to fit within (close to) 80 columns. This method modifies the " +"object, and the stripped information is lost. After performing a strip " +"operation, the object is considered to have its entries in a \"random\" " +"order, as it was just after object initialization and loading. If :meth:" +"`~pstats.Stats.strip_dirs` causes two function names to be indistinguishable " +"(they are on the same line of the same filename, and have the same function " +"name), then the statistics for these two entries are accumulated into a " +"single entry." +msgstr "" +"Цей метод для класу :class:`Stats` видаляє всю інформацію про початковий " +"шлях із імен файлів. Це дуже корисно для зменшення розміру роздруківки до " +"(близько) 80 стовпців. Цей метод змінює об’єкт, і видалена інформація " +"втрачається. Після виконання операції видалення вважається, що об’єкт має " +"свої записи у \"випадковому\" порядку, як це було одразу після ініціалізації " +"та завантаження об’єкта. Якщо :meth:`~pstats.Stats.strip_dirs` спричиняє " +"нерозрізнення двох імен функцій (вони знаходяться в одному рядку того самого " +"імені файлу та мають однакову назву функції), тоді статистика для цих двох " +"записів накопичується в єдиний вхід." + +msgid "" +"This method of the :class:`Stats` class accumulates additional profiling " +"information into the current profiling object. Its arguments should refer " +"to filenames created by the corresponding version of :func:`profile.run` or :" +"func:`cProfile.run`. Statistics for identically named (re: file, line, name) " +"functions are automatically accumulated into single function statistics." +msgstr "" +"Цей метод класу :class:`Stats` накопичує додаткову інформацію профілювання в " +"поточному об’єкті профілювання. Його аргументи мають посилатися на імена " +"файлів, створені відповідною версією :func:`profile.run` або :func:`cProfile." +"run`. Статистика для функцій з ідентичними назвами (re: файл, рядок, ім’я) " +"автоматично накопичується в одній статистиці функції." + +msgid "" +"Save the data loaded into the :class:`Stats` object to a file named " +"*filename*. The file is created if it does not exist, and is overwritten if " +"it already exists. This is equivalent to the method of the same name on " +"the :class:`profile.Profile` and :class:`cProfile.Profile` classes." +msgstr "" +"Збережіть дані, завантажені в об’єкт :class:`Stats`, у файл з назвою " +"*filename*. Файл створюється, якщо він не існує, і перезаписується, якщо він " +"уже існує. Це еквівалентно однойменному методу в класах :class:`profile." +"Profile` і :class:`cProfile.Profile`." + +msgid "" +"This method modifies the :class:`Stats` object by sorting it according to " +"the supplied criteria. The argument can be either a string or a SortKey " +"enum identifying the basis of a sort (example: ``'time'``, ``'name'``, " +"``SortKey.TIME`` or ``SortKey.NAME``). The SortKey enums argument have " +"advantage over the string argument in that it is more robust and less error " +"prone." +msgstr "" +"Цей метод змінює об’єкт :class:`Stats`, сортуючи його відповідно до наданих " +"критеріїв. Аргументом може бути рядок або перелік SortKey, що визначає " +"основу сортування (приклад: ``'time'``, ``'name'``, ``SortKey.TIME`` або " +"``SortKey.NAME``). Аргумент переліку SortKey має перевагу над рядковим " +"аргументом у тому, що він більш надійний і менш схильний до помилок." + +msgid "" +"When more than one key is provided, then additional keys are used as " +"secondary criteria when there is equality in all keys selected before them. " +"For example, ``sort_stats(SortKey.NAME, SortKey.FILE)`` will sort all the " +"entries according to their function name, and resolve all ties (identical " +"function names) by sorting by file name." +msgstr "" +"Якщо надається більше одного ключа, то додаткові ключі використовуються як " +"вторинні критерії, якщо є рівність у всіх ключах, вибраних перед ними. " +"Наприклад, ``sort_stats(SortKey.NAME, SortKey.FILE)`` відсортує всі записи " +"відповідно до їхньої назви функції та розв’яже всі зв’язки (ідентичні назви " +"функції) шляхом сортування за назвою файлу." + +msgid "" +"For the string argument, abbreviations can be used for any key names, as " +"long as the abbreviation is unambiguous." +msgstr "" +"Для рядкового аргументу можна використовувати абревіатури для будь-яких імен " +"ключів, за умови, що скорочення є однозначним." + +msgid "The following are the valid string and SortKey:" +msgstr "Нижче наведено дійсний рядок і SortKey:" + +msgid "Valid String Arg" +msgstr "Дійсний рядковий аргумент" + +msgid "Valid enum Arg" +msgstr "Дійсний перелік Arg" + +msgid "Meaning" +msgstr "Значення" + +msgid "``'calls'``" +msgstr "``'дзвінки'``" + +msgid "SortKey.CALLS" +msgstr "SortKey.CALLS" + +msgid "call count" +msgstr "кількість дзвінків" + +msgid "``'cumulative'``" +msgstr "``'кумулятивний''``" + +msgid "SortKey.CUMULATIVE" +msgstr "SortKey.CUMULATIVE" + +msgid "cumulative time" +msgstr "кумулятивний час" + +msgid "``'cumtime'``" +msgstr "``'cumtime''``" + +msgid "N/A" +msgstr "N/A" + +msgid "``'file'``" +msgstr "``''файл'``" + +msgid "file name" +msgstr "ім'я файлу" + +msgid "``'filename'``" +msgstr "``'ім'я файлу'``" + +msgid "SortKey.FILENAME" +msgstr "SortKey.FILENAME" + +msgid "``'module'``" +msgstr "``''модуль'``" + +msgid "``'ncalls'``" +msgstr "``'calls''``" + +msgid "``'pcalls'``" +msgstr "``'pcalls'``" + +msgid "SortKey.PCALLS" +msgstr "SortKey.PCALLS" + +msgid "primitive call count" +msgstr "примітивний підрахунок викликів" + +msgid "``'line'``" +msgstr "``''рядок'``" + +msgid "SortKey.LINE" +msgstr "SortKey.LINE" + +msgid "line number" +msgstr "номер рядка" + +msgid "``'name'``" +msgstr "``''ім'я'``" + +msgid "SortKey.NAME" +msgstr "SortKey.NAME" + +msgid "function name" +msgstr "назва функції" + +msgid "``'nfl'``" +msgstr "``'nfl'``" + +msgid "SortKey.NFL" +msgstr "SortKey.NFL" + +msgid "name/file/line" +msgstr "ім'я/файл/рядок" + +msgid "``'stdname'``" +msgstr "``'stdname'``" + +msgid "SortKey.STDNAME" +msgstr "SortKey.STDNAME" + +msgid "standard name" +msgstr "стандартна назва" + +msgid "``'time'``" +msgstr "``'час''``" + +msgid "SortKey.TIME" +msgstr "SortKey.TIME" + +msgid "internal time" +msgstr "внутрішній час" + +msgid "``'tottime'``" +msgstr "``'tottime'``" + +msgid "" +"Note that all sorts on statistics are in descending order (placing most time " +"consuming items first), where as name, file, and line number searches are in " +"ascending order (alphabetical). The subtle distinction between ``SortKey." +"NFL`` and ``SortKey.STDNAME`` is that the standard name is a sort of the " +"name as printed, which means that the embedded line numbers get compared in " +"an odd way. For example, lines 3, 20, and 40 would (if the file names were " +"the same) appear in the string order 20, 3 and 40. In contrast, ``SortKey." +"NFL`` does a numeric compare of the line numbers. In fact, " +"``sort_stats(SortKey.NFL)`` is the same as ``sort_stats(SortKey.NAME, " +"SortKey.FILENAME, SortKey.LINE)``." +msgstr "" +"Зауважте, що всі сортування в статистиці виконуються в порядку спадання " +"(першими розміщуються елементи, що вимагають більше часу), а пошук імені, " +"файлу та номера рядка здійснюється в порядку зростання (за алфавітом). Тонка " +"різниця між ``SortKey.NFL`` і ``SortKey.STDNAME`` полягає в тому, що " +"стандартна назва є різновидом назви, як надруковано, що означає, що " +"вбудовані номери рядків порівнюються дивним чином. Наприклад, рядки 3, 20 і " +"40 (якби імена файлів були однаковими) відображалися б у порядку рядків 20, " +"3 і 40. На відміну від цього, ``SortKey.NFL`` виконує числове порівняння " +"номерів рядків. Фактично, ``sort_stats(SortKey.NFL)`` те саме, що " +"``sort_stats(SortKey.NAME, SortKey.FILENAME, SortKey.LINE)``." + +msgid "" +"For backward-compatibility reasons, the numeric arguments ``-1``, ``0``, " +"``1``, and ``2`` are permitted. They are interpreted as ``'stdname'``, " +"``'calls'``, ``'time'``, and ``'cumulative'`` respectively. If this old " +"style format (numeric) is used, only one sort key (the numeric key) will be " +"used, and additional arguments will be silently ignored." +msgstr "" +"З міркувань зворотної сумісності дозволені числові аргументи ``-1``, ``0``, " +"``1`` і ``2``. Вони інтерпретуються як ``'stdname'``, ``'calls'``, " +"``'time'`` і ``'cumulative'`` відповідно. Якщо використовується цей формат " +"старого стилю (числовий), використовуватиметься лише один ключ сортування " +"(числовий ключ), а додаткові аргументи мовчки ігноруватимуться." + +msgid "Added the SortKey enum." +msgstr "Додано перелік SortKey." + +msgid "" +"This method for the :class:`Stats` class reverses the ordering of the basic " +"list within the object. Note that by default ascending vs descending order " +"is properly selected based on the sort key of choice." +msgstr "" +"Цей метод для класу :class:`Stats` змінює порядок базового списку в об’єкті " +"на протилежний. Зверніть увагу, що за замовчуванням порядок зростання чи " +"спадання вибрано належним чином на основі вибраного ключа сортування." + +msgid "" +"This method for the :class:`Stats` class prints out a report as described in " +"the :func:`profile.run` definition." +msgstr "" +"Цей метод для класу :class:`Stats` друкує звіт, як описано у визначенні :" +"func:`profile.run`." + +msgid "" +"The order of the printing is based on the last :meth:`~pstats.Stats." +"sort_stats` operation done on the object (subject to caveats in :meth:" +"`~pstats.Stats.add` and :meth:`~pstats.Stats.strip_dirs`)." +msgstr "" +"Порядок друку базується на останній операції :meth:`~pstats.Stats." +"sort_stats`, виконаній над об’єктом (з урахуванням застережень у :meth:" +"`~pstats.Stats.add` і :meth:`~pstats. Stats.strip_dirs`)." + +msgid "" +"The arguments provided (if any) can be used to limit the list down to the " +"significant entries. Initially, the list is taken to be the complete set of " +"profiled functions. Each restriction is either an integer (to select a " +"count of lines), or a decimal fraction between 0.0 and 1.0 inclusive (to " +"select a percentage of lines), or a string that will interpreted as a " +"regular expression (to pattern match the standard name that is printed). If " +"several restrictions are provided, then they are applied sequentially. For " +"example::" +msgstr "" +"Надані аргументи (якщо такі є) можна використовувати, щоб обмежити список до " +"значущих записів. Спочатку список розглядається як повний набір " +"профільованих функцій. Кожне обмеження є або цілим числом (щоб вибрати " +"кількість рядків), або десятковим дробом від 0,0 до 1,0 включно (щоб вибрати " +"відсоток рядків), або рядком, який інтерпретуватиметься як регулярний вираз " +"(щоб шаблон відповідав стандартній назві що друкується). Якщо передбачено " +"кілька обмежень, то вони застосовуються послідовно. Наприклад::" + +msgid "" +"would first limit the printing to first 10% of list, and then only print " +"functions that were part of filename :file:`.\\*foo:`. In contrast, the " +"command::" +msgstr "" +"спочатку обмежує друк до перших 10% списку, а потім друкує лише функції, які " +"є частиною імені файлу :file:`.\\*foo:`. Навпаки, команда::" + +msgid "" +"would limit the list to all functions having file names :file:`.\\*foo:`, " +"and then proceed to only print the first 10% of them." +msgstr "" +"обмежить список усіма функціями, що мають імена файлів :file:`.\\*foo:`, а " +"потім перейде до друку лише перших 10% із них." + +msgid "" +"This method for the :class:`Stats` class prints a list of all functions that " +"called each function in the profiled database. The ordering is identical to " +"that provided by :meth:`~pstats.Stats.print_stats`, and the definition of " +"the restricting argument is also identical. Each caller is reported on its " +"own line. The format differs slightly depending on the profiler that " +"produced the stats:" +msgstr "" +"Цей метод для класу :class:`Stats` друкує список усіх функцій, які викликали " +"кожну функцію в профільованій базі даних. Порядок ідентичний тому, який " +"надає :meth:`~pstats.Stats.print_stats`, і визначення обмежувального " +"аргументу також ідентичне. Кожен абонент повідомляється на своїй лінії. " +"Формат дещо відрізняється залежно від профайлера, який створив статистику:" + +msgid "" +"With :mod:`profile`, a number is shown in parentheses after each caller to " +"show how many times this specific call was made. For convenience, a second " +"non-parenthesized number repeats the cumulative time spent in the function " +"at the right." +msgstr "" +"За допомогою :mod:`profile` число відображається в дужках після кожного " +"абонента, щоб показати, скільки разів було зроблено цей конкретний виклик. " +"Для зручності друге число без дужок повторює сукупний час, витрачений на " +"функцію праворуч." + +msgid "" +"With :mod:`cProfile`, each caller is preceded by three numbers: the number " +"of times this specific call was made, and the total and cumulative times " +"spent in the current function while it was invoked by this specific caller." +msgstr "" +"За допомогою :mod:`cProfile` перед кожним викликом стоять три числа: " +"кількість разів, коли цей конкретний виклик було здійснено, а також " +"загальний і сукупний час, витрачений на поточну функцію під час її виклику " +"цим конкретним викликом." + +msgid "" +"This method for the :class:`Stats` class prints a list of all function that " +"were called by the indicated function. Aside from this reversal of " +"direction of calls (re: called vs was called by), the arguments and ordering " +"are identical to the :meth:`~pstats.Stats.print_callers` method." +msgstr "" +"Цей метод для класу :class:`Stats` друкує список усіх функцій, викликаних " +"зазначеною функцією. Окрім зміни напрямку викликів (re: called проти was " +"called by), аргументи та порядок ідентичні методу :meth:`~pstats.Stats." +"print_callers`." + +msgid "" +"This method returns an instance of StatsProfile, which contains a mapping of " +"function names to instances of FunctionProfile. Each FunctionProfile " +"instance holds information related to the function's profile such as how " +"long the function took to run, how many times it was called, etc..." +msgstr "" +"Цей метод повертає екземпляр StatsProfile, який містить зіставлення імен " +"функцій з екземплярами FunctionProfile. Кожен екземпляр FunctionProfile " +"містить інформацію, пов’язану з профілем функції, наприклад, скільки часу " +"знадобилося для виконання функції, скільки разів її викликали тощо..." + +msgid "" +"Added the following dataclasses: StatsProfile, FunctionProfile. Added the " +"following function: get_stats_profile." +msgstr "" +"Додано такі класи даних: StatsProfile, FunctionProfile. Додано таку функцію: " +"get_stats_profile." + +msgid "What Is Deterministic Profiling?" +msgstr "Що таке детерміноване профілювання?" + +msgid "" +":dfn:`Deterministic profiling` is meant to reflect the fact that all " +"*function call*, *function return*, and *exception* events are monitored, " +"and precise timings are made for the intervals between these events (during " +"which time the user's code is executing). In contrast, :dfn:`statistical " +"profiling` (which is not done by this module) randomly samples the effective " +"instruction pointer, and deduces where time is being spent. The latter " +"technique traditionally involves less overhead (as the code does not need to " +"be instrumented), but provides only relative indications of where time is " +"being spent." +msgstr "" +":dfn:`Deterministic profiling` призначене для відображення того факту, що " +"всі події *виклику функції*, *повернення функції* та *виключення* " +"відстежуються, а також точні часові інтервали між цими подіями (протягом " +"часу, протягом якого користувач код виконується). На відміну від цього, :dfn:" +"`statistical profiling` (яке не виконується цим модулем) випадково відбирає " +"ефективний вказівник інструкції та визначає, де витрачається час. Останній " +"метод традиційно передбачає менше накладних витрат (оскільки код не потребує " +"інструментарію), але забезпечує лише відносні показники того, де " +"витрачається час." + +msgid "" +"In Python, since there is an interpreter active during execution, the " +"presence of instrumented code is not required in order to do deterministic " +"profiling. Python automatically provides a :dfn:`hook` (optional callback) " +"for each event. In addition, the interpreted nature of Python tends to add " +"so much overhead to execution, that deterministic profiling tends to only " +"add small processing overhead in typical applications. The result is that " +"deterministic profiling is not that expensive, yet provides extensive run " +"time statistics about the execution of a Python program." +msgstr "" +"У Python, оскільки під час виконання активний інтерпретатор, наявність " +"інструментального коду не потрібна для виконання детермінованого " +"профілювання. Python автоматично надає :dfn:`hook` (додатковий зворотний " +"виклик) для кожної події. Крім того, інтерпретована природа Python має " +"тенденцію додавати стільки накладних витрат на виконання, що детерміноване " +"профілювання має тенденцію лише додавати невеликі накладні витрати на " +"обробку в типових програмах. Результатом є те, що детерміноване профілювання " +"не таке вже й дороге, але забезпечує розширену статистику часу виконання про " +"виконання програми Python." + +msgid "" +"Call count statistics can be used to identify bugs in code (surprising " +"counts), and to identify possible inline-expansion points (high call " +"counts). Internal time statistics can be used to identify \"hot loops\" " +"that should be carefully optimized. Cumulative time statistics should be " +"used to identify high level errors in the selection of algorithms. Note " +"that the unusual handling of cumulative times in this profiler allows " +"statistics for recursive implementations of algorithms to be directly " +"compared to iterative implementations." +msgstr "" +"Статистику кількості викликів можна використовувати для виявлення помилок у " +"коді (несподівана кількість) і для визначення можливих точок вбудованого " +"розширення (висока кількість викликів). Внутрішню статистику часу можна " +"використовувати для виявлення \"гарячих циклів\", які слід ретельно " +"оптимізувати. Кумулятивну статистику часу слід використовувати для виявлення " +"помилок високого рівня у виборі алгоритмів. Зауважте, що незвичайна обробка " +"сукупного часу в цьому профайлері дозволяє прямо порівнювати статистику для " +"рекурсивних реалізацій алгоритмів з ітеративними реалізаціями." + +msgid "Limitations" +msgstr "Обмеження" + +msgid "" +"One limitation has to do with accuracy of timing information. There is a " +"fundamental problem with deterministic profilers involving accuracy. The " +"most obvious restriction is that the underlying \"clock\" is only ticking at " +"a rate (typically) of about .001 seconds. Hence no measurements will be " +"more accurate than the underlying clock. If enough measurements are taken, " +"then the \"error\" will tend to average out. Unfortunately, removing this " +"first error induces a second source of error." +msgstr "" +"Одне обмеження пов’язане з точністю інформації про час. Існує фундаментальна " +"проблема з детермінованим профайлером, пов’язана з точністю. Найбільш " +"очевидним обмеженням є те, що основний \"годинник\" цокає лише зі швидкістю " +"(зазвичай) приблизно 0,001 секунди. Тому жодні вимірювання не будуть " +"точнішими, ніж базовий годинник. Якщо проведено достатньо вимірювань, " +"\"похибка\" матиме тенденцію до усереднення. На жаль, видалення цієї першої " +"помилки спричиняє друге джерело помилки." + +msgid "" +"The second problem is that it \"takes a while\" from when an event is " +"dispatched until the profiler's call to get the time actually *gets* the " +"state of the clock. Similarly, there is a certain lag when exiting the " +"profiler event handler from the time that the clock's value was obtained " +"(and then squirreled away), until the user's code is once again executing. " +"As a result, functions that are called many times, or call many functions, " +"will typically accumulate this error. The error that accumulates in this " +"fashion is typically less than the accuracy of the clock (less than one " +"clock tick), but it *can* accumulate and become very significant." +msgstr "" +"Друга проблема полягає в тому, що \"потрібен деякий час\" від моменту " +"надсилання події до моменту, коли виклик профайлера для отримання часу " +"фактично *отримує* стан годинника. Подібним чином існує певна затримка під " +"час виходу з обробника подій профайлера з моменту, коли було отримано " +"значення годинника (і потім вилучено), до моменту, коли код користувача " +"знову виконується. У результаті функції, які викликаються багато разів або " +"викликають багато функцій, зазвичай накопичуватимуть цю помилку. Похибка, " +"яка накопичується таким чином, зазвичай менша, ніж точність годинника (менше " +"одного такту), але вона *може* накопичуватися і стати дуже значною." + +msgid "" +"The problem is more important with :mod:`profile` than with the lower-" +"overhead :mod:`cProfile`. For this reason, :mod:`profile` provides a means " +"of calibrating itself for a given platform so that this error can be " +"probabilistically (on the average) removed. After the profiler is " +"calibrated, it will be more accurate (in a least square sense), but it will " +"sometimes produce negative numbers (when call counts are exceptionally low, " +"and the gods of probability work against you :-). ) Do *not* be alarmed by " +"negative numbers in the profile. They should *only* appear if you have " +"calibrated your profiler, and the results are actually better than without " +"calibration." +msgstr "" +"Проблема важливіша з :mod:`profile`, ніж з нижчими накладними :mod:" +"`cProfile`. З цієї причини :mod:`profile` забезпечує засіб самокалібрування " +"для певної платформи, щоб цю помилку можна було ймовірно (в середньому) " +"усунути. Після калібрування профайлера він буде більш точним (у сенсі " +"найменших квадратів), але іноді він видаватиме від’ємні числа (коли " +"кількість викликів надзвичайно низька, і боги ймовірності працюють проти " +"вас :-). ) *Не* лякайтеся негативних цифр в профілі. Вони мають з’являтися " +"*тільки*, якщо ви відкалібрували свій профайлер, і результати насправді " +"кращі, ніж без калібрування." + +msgid "Calibration" +msgstr "Калібрування" + +msgid "" +"The profiler of the :mod:`profile` module subtracts a constant from each " +"event handling time to compensate for the overhead of calling the time " +"function, and socking away the results. By default, the constant is 0. The " +"following procedure can be used to obtain a better constant for a given " +"platform (see :ref:`profile-limitations`). ::" +msgstr "" +"Профайлер модуля :mod:`profile` віднімає константу від часу обробки кожної " +"події, щоб компенсувати накладні витрати на виклик функції часу та " +"накопичення результатів. За замовчуванням константа дорівнює 0. Наступну " +"процедуру можна використати, щоб отримати кращу константу для даної " +"платформи (див. :ref:`profile-limitations`). ::" + +msgid "" +"The method executes the number of Python calls given by the argument, " +"directly and again under the profiler, measuring the time for both. It then " +"computes the hidden overhead per profiler event, and returns that as a " +"float. For example, on a 1.8Ghz Intel Core i5 running macOS, and using " +"Python's time.process_time() as the timer, the magical number is about " +"4.04e-6." +msgstr "" +"Метод виконує кількість викликів Python, заданих аргументом, безпосередньо " +"та знову під профайлером, вимірюючи час для обох. Потім він обчислює " +"приховані накладні витрати на кожну подію профілювача та повертає їх як " +"число з плаваючою точкою. Наприклад, на процесорі Intel Core i5 з тактовою " +"частотою 1,8 ГГц, який працює під керуванням macOS і використовує Python " +"time.process_time() як таймер, магічне число становить приблизно 4,04e-6." + +msgid "" +"The object of this exercise is to get a fairly consistent result. If your " +"computer is *very* fast, or your timer function has poor resolution, you " +"might have to pass 100000, or even 1000000, to get consistent results." +msgstr "" +"Мета цієї вправи — отримати досить послідовний результат. Якщо ваш комп’ютер " +"*дуже* швидкий або ваша функція таймера має низьку роздільну здатність, вам, " +"можливо, доведеться передати 100 000 або навіть 1000 000, щоб отримати " +"стабільні результати." + +msgid "" +"When you have a consistent answer, there are three ways you can use it::" +msgstr "" +"Якщо у вас є послідовна відповідь, ви можете використовувати її трьома " +"способами:" + +msgid "" +"If you have a choice, you are better off choosing a smaller constant, and " +"then your results will \"less often\" show up as negative in profile " +"statistics." +msgstr "" +"Якщо у вас є вибір, краще вибрати меншу константу, і тоді ваші результати " +"будуть \"рідше\" відображатися в статистиці профілю як негативні." + +msgid "Using a custom timer" +msgstr "Використання спеціального таймера" + +msgid "" +"If you want to change how current time is determined (for example, to force " +"use of wall-clock time or elapsed process time), pass the timing function " +"you want to the :class:`Profile` class constructor::" +msgstr "" +"Якщо ви хочете змінити спосіб визначення поточного часу (наприклад, щоб " +"примусово використовувати час настінного годинника або час, що минув), " +"передайте потрібну функцію синхронізації в конструктор класу :class:" +"`Profile`::" + +msgid "" +"The resulting profiler will then call ``your_time_func``. Depending on " +"whether you are using :class:`profile.Profile` or :class:`cProfile.Profile`, " +"``your_time_func``'s return value will be interpreted differently:" +msgstr "" +"Потім отриманий профайлер викличе ``your_time_func``. Залежно від того, чи " +"використовуєте ви :class:`profile.Profile` чи :class:`cProfile.Profile`, " +"значення, що повертається ``your_time_func``, буде інтерпретуватися по-" +"різному:" + +msgid ":class:`profile.Profile`" +msgstr ":class:`профіль.Профіль`" + +msgid "" +"``your_time_func`` should return a single number, or a list of numbers whose " +"sum is the current time (like what :func:`os.times` returns). If the " +"function returns a single time number, or the list of returned numbers has " +"length 2, then you will get an especially fast version of the dispatch " +"routine." +msgstr "" +"``your_time_func`` має повертати одне число або список чисел, сума яких є " +"поточним часом (як те, що повертає :func:`os.times`). Якщо функція повертає " +"єдине число часу або список повернутих чисел має довжину 2, тоді ви " +"отримаєте особливо швидку версію процедури відправки." + +msgid "" +"Be warned that you should calibrate the profiler class for the timer " +"function that you choose (see :ref:`profile-calibration`). For most " +"machines, a timer that returns a lone integer value will provide the best " +"results in terms of low overhead during profiling. (:func:`os.times` is " +"*pretty* bad, as it returns a tuple of floating point values). If you want " +"to substitute a better timer in the cleanest fashion, derive a class and " +"hardwire a replacement dispatch method that best handles your timer call, " +"along with the appropriate calibration constant." +msgstr "" +"Майте на увазі, що вам слід відкалібрувати клас профайлера для обраної вами " +"функції таймера (див. :ref:`profile-calibration`). Для більшості машин " +"таймер, який повертає одне ціле значення, забезпечить найкращі результати з " +"точки зору низьких витрат під час профілювання. (:func:`os.times` *досить* " +"погано, оскільки повертає кортеж значень з плаваючою комою). Якщо ви хочете " +"замінити таймер на кращий найчистіший спосіб, створіть клас і підключіть " +"метод диспетчеризації заміни, який найкраще обробляє ваш виклик таймера, " +"разом із відповідною константою калібрування." + +msgid ":class:`cProfile.Profile`" +msgstr ":class:`cProfile.Profile`" + +msgid "" +"``your_time_func`` should return a single number. If it returns integers, " +"you can also invoke the class constructor with a second argument specifying " +"the real duration of one unit of time. For example, if " +"``your_integer_time_func`` returns times measured in thousands of seconds, " +"you would construct the :class:`Profile` instance as follows::" +msgstr "" +"``your_time_func`` має повертати одне число. Якщо він повертає цілі числа, " +"ви також можете викликати конструктор класу з другим аргументом, який " +"визначає реальну тривалість однієї одиниці часу. Наприклад, якщо " +"``your_integer_time_func`` повертає час, виміряний у тисячах секунд, ви " +"повинні створити екземпляр :class:`Profile` наступним чином::" + +msgid "" +"As the :class:`cProfile.Profile` class cannot be calibrated, custom timer " +"functions should be used with care and should be as fast as possible. For " +"the best results with a custom timer, it might be necessary to hard-code it " +"in the C source of the internal :mod:`_lsprof` module." +msgstr "" +"Оскільки клас :class:`cProfile.Profile` не можна відкалібрувати, " +"користувацькі функції таймера слід використовувати обережно та бути якомога " +"швидшими. Для отримання найкращих результатів із спеціальним таймером може " +"знадобитися жорстко закодувати його у вихідному коді C внутрішнього модуля :" +"mod:`_lsprof`." + +msgid "" +"Python 3.3 adds several new functions in :mod:`time` that can be used to " +"make precise measurements of process or wall-clock time. For example, see :" +"func:`time.perf_counter`." +msgstr "" +"Python 3.3 додає кілька нових функцій у :mod:`time`, які можна " +"використовувати для точного вимірювання часу процесу або настінного " +"годинника. Наприклад, перегляньте :func:`time.perf_counter`." diff --git a/library/pty.po b/library/pty.po new file mode 100644 index 000000000..08dcbfe8e --- /dev/null +++ b/library/pty.po @@ -0,0 +1,175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pty` --- Pseudo-terminal utilities" +msgstr ":mod:`pty` --- Утиліти псевдотерміналу" + +msgid "**Source code:** :source:`Lib/pty.py`" +msgstr "**Вихідний код:** :source:`Lib/pty.py`" + +msgid "" +"The :mod:`pty` module defines operations for handling the pseudo-terminal " +"concept: starting another process and being able to write to and read from " +"its controlling terminal programmatically." +msgstr "" +"Модуль :mod:`pty` визначає операції для обробки концепції псевдотерміналу: " +"запуск іншого процесу та можливість програмно записувати та читати з його " +"керуючого терміналу." + +msgid "" +"Pseudo-terminal handling is highly platform dependent. This code is mainly " +"tested on Linux, FreeBSD, and macOS (it is supposed to work on other POSIX " +"platforms but it's not been thoroughly tested)." +msgstr "" +"Робота з псевдотерміналом сильно залежить від платформи. Цей код в основному " +"тестується на Linux, FreeBSD і macOS (передбачається, що він працює на інших " +"платформах POSIX, але не був ретельно протестований)." + +msgid "The :mod:`pty` module defines the following functions:" +msgstr "Модуль :mod:`pty` визначає такі функції:" + +msgid "" +"Fork. Connect the child's controlling terminal to a pseudo-terminal. Return " +"value is ``(pid, fd)``. Note that the child gets *pid* 0, and the *fd* is " +"*invalid*. The parent's return value is the *pid* of the child, and *fd* is " +"a file descriptor connected to the child's controlling terminal (and also to " +"the child's standard input and output)." +msgstr "" +"Вилка. Підключіть керуючий термінал дитини до псевдотерміналу. Повернене " +"значення: ``(pid, fd)``. Зверніть увагу, що дитина отримує *pid* 0, а *fd* є " +"*недійсним*. Значенням, що повертає батьківський елемент, є *pid* " +"дочірнього, а *fd* — це дескриптор файлу, підключений до керуючого терміналу " +"дочірнього (а також до стандартного введення та виведення дочірнього)." + +msgid "" +"Open a new pseudo-terminal pair, using :func:`os.openpty` if possible, or " +"emulation code for generic Unix systems. Return a pair of file descriptors " +"``(master, slave)``, for the master and the slave end, respectively." +msgstr "" +"Відкрийте нову пару псевдотерміналів, використовуючи :func:`os.openpty`, " +"якщо можливо, або код емуляції для загальних систем Unix. Повертає пару " +"файлових дескрипторів ``(master, slave)`` для головного та підлеглого кінця " +"відповідно." + +msgid "" +"Spawn a process, and connect its controlling terminal with the current " +"process's standard io. This is often used to baffle programs which insist on " +"reading from the controlling terminal. It is expected that the process " +"spawned behind the pty will eventually terminate, and when it does *spawn* " +"will return." +msgstr "" +"Створіть процес і підключіть його керуючий термінал до стандартного io " +"поточного процесу. Це часто використовується, щоб збентежити програми, які " +"наполягають на читанні з керуючого терміналу. Очікується, що процес, " +"породжений за pty, зрештою завершиться, і коли це станеться, *spawn* " +"повернеться." + +msgid "" +"A loop copies STDIN of the current process to the child and data received " +"from the child to STDOUT of the current process. It is not signaled to the " +"child if STDIN of the current process closes down." +msgstr "" +"Цикл копіює STDIN поточного процесу до дочірнього процесу, а дані, отримані " +"від дочірнього процесу, до STDOUT поточного процесу. Дочірній процес не " +"повідомляється, якщо STDIN поточного процесу закривається." + +msgid "" +"The functions *master_read* and *stdin_read* are passed a file descriptor " +"which they should read from, and they should always return a byte string. In " +"order to force spawn to return before the child process exits an empty byte " +"array should be returned to signal end of file." +msgstr "" +"Функціям *master_read* і *stdin_read* передається дескриптор файлу, з якого " +"вони повинні читати, і вони завжди повинні повертати рядок байтів. Щоб " +"змусити spawn повернутися до того, як дочірній процес завершить роботу, слід " +"повернути порожній масив байтів до кінця файлу." + +msgid "" +"The default implementation for both functions will read and return up to " +"1024 bytes each time the function is called. The *master_read* callback is " +"passed the pseudoterminal’s master file descriptor to read output from the " +"child process, and *stdin_read* is passed file descriptor 0, to read from " +"the parent process's standard input." +msgstr "" +"Реалізація за замовчуванням для обох функцій буде читати та повертати до " +"1024 байтів кожного разу, коли функція викликається. Зворотний виклик " +"*master_read* передається дескриптору головного файлу псевдотерміналу для " +"читання виводу з дочірнього процесу, а *stdin_read* передається дескриптор " +"файлу 0 для читання зі стандартного введення батьківського процесу." + +msgid "" +"Returning an empty byte string from either callback is interpreted as an end-" +"of-file (EOF) condition, and that callback will not be called after that. If " +"*stdin_read* signals EOF the controlling terminal can no longer communicate " +"with the parent process OR the child process. Unless the child process will " +"quit without any input, *spawn* will then loop forever. If *master_read* " +"signals EOF the same behavior results (on linux at least)." +msgstr "" +"Повернення порожнього байтового рядка з будь-якого зворотного виклику " +"інтерпретується як умова кінця файлу (EOF), і цей зворотний виклик не буде " +"викликано після цього. Якщо *stdin_read* сигналізує EOF, керуючий термінал " +"більше не може спілкуватися з батьківським процесом АБО дочірнім процесом. " +"Якщо дочірній процес не завершить роботу без будь-яких вхідних даних, " +"*spawn* буде зациклюватися назавжди. Якщо *master_read* сигналізує EOF, це " +"призводить до такої ж поведінки (принаймні в Linux)." + +msgid "" +"Return the exit status value from :func:`os.waitpid` on the child process." +msgstr "" +"Повертає значення статусу виходу з :func:`os.waitpid` дочірнього процесу." + +msgid "" +":func:`waitstatus_to_exitcode` can be used to convert the exit status into " +"an exit code." +msgstr "" +":func:`waitstatus_to_exitcode` можна використовувати для перетворення " +"статусу виходу в код виходу." + +msgid "" +"Raises an :ref:`auditing event ` ``pty.spawn`` with argument " +"``argv``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``pty.spawn`` з аргументом ``argv``." + +msgid "" +":func:`spawn` now returns the status value from :func:`os.waitpid` on the " +"child process." +msgstr "" +":func:`spawn` тепер повертає значення стану з :func:`os.waitpid` дочірнього " +"процесу." + +msgid "Example" +msgstr "приклад" + +msgid "" +"The following program acts like the Unix command :manpage:`script(1)`, using " +"a pseudo-terminal to record all input and output of a terminal session in a " +"\"typescript\". ::" +msgstr "" +"Наступна програма діє як команда Unix :manpage:`script(1)`, використовуючи " +"псевдотермінал для запису всіх вхідних і вихідних даних сеансу терміналу в " +"\"typescript\". ::" diff --git a/library/pwd.po b/library/pwd.po new file mode 100644 index 000000000..eb031ee93 --- /dev/null +++ b/library/pwd.po @@ -0,0 +1,181 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pwd` --- The password database" +msgstr ":mod:`pwd` --- База даних паролів" + +msgid "" +"This module provides access to the Unix user account and password database. " +"It is available on all Unix versions." +msgstr "" +"Цей модуль забезпечує доступ до бази даних облікових записів користувачів і " +"паролів Unix. Він доступний у всіх версіях Unix." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Password database entries are reported as a tuple-like object, whose " +"attributes correspond to the members of the ``passwd`` structure (Attribute " +"field below, see ````):" +msgstr "" +"Записи бази даних паролів повідомляються як об’єкт, подібний до кортежу, " +"атрибути якого відповідають членам структури ``passwd`` (поле атрибута " +"нижче, див. ````):" + +msgid "Index" +msgstr "Індекс" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Meaning" +msgstr "Значення" + +msgid "0" +msgstr "0" + +msgid "``pw_name``" +msgstr "``pw_name``" + +msgid "Login name" +msgstr "Логін" + +msgid "1" +msgstr "1" + +msgid "``pw_passwd``" +msgstr "``pw_passwd``" + +msgid "Optional encrypted password" +msgstr "Додатковий зашифрований пароль" + +msgid "2" +msgstr "2" + +msgid "``pw_uid``" +msgstr "``pw_uid``" + +msgid "Numerical user ID" +msgstr "Числовий ідентифікатор користувача" + +msgid "3" +msgstr "3" + +msgid "``pw_gid``" +msgstr "``pw_gid``" + +msgid "Numerical group ID" +msgstr "Ідентифікатор числової групи" + +msgid "4" +msgstr "4" + +msgid "``pw_gecos``" +msgstr "``pw_gecos``" + +msgid "User name or comment field" +msgstr "Ім'я користувача або поле коментаря" + +msgid "5" +msgstr "5" + +msgid "``pw_dir``" +msgstr "``pw_dir``" + +msgid "User home directory" +msgstr "Домашній каталог користувача" + +msgid "6" +msgstr "6" + +msgid "``pw_shell``" +msgstr "``pw_shell``" + +msgid "User command interpreter" +msgstr "Інтерпретатор команд користувача" + +msgid "" +"The uid and gid items are integers, all others are strings. :exc:`KeyError` " +"is raised if the entry asked for cannot be found." +msgstr "" +"Елементи uid і gid є цілими числами, всі інші є рядками. :exc:`KeyError` " +"виникає, якщо запитуваний запис не знайдено." + +msgid "" +"In traditional Unix the field ``pw_passwd`` usually contains a password " +"encrypted with a DES derived algorithm (see module :mod:`crypt`). However " +"most modern unices use a so-called *shadow password* system. On those " +"unices the *pw_passwd* field only contains an asterisk (``'*'``) or the " +"letter ``'x'`` where the encrypted password is stored in a file :file:`/etc/" +"shadow` which is not world readable. Whether the *pw_passwd* field contains " +"anything useful is system-dependent. If available, the :mod:`spwd` module " +"should be used where access to the encrypted password is required." +msgstr "" +"У традиційному Unix поле ``pw_passwd`` зазвичай містить пароль, зашифрований " +"за допомогою алгоритму, отриманого від DES (див. модуль :mod:`crypt`). Однак " +"більшість сучасних уніксів використовують так звану систему *тіньових " +"паролів*. У цих уніксах поле *pw_passwd* містить лише зірочку (``'*'``) або " +"літеру ``'x'``, де зашифрований пароль зберігається у файлі :file:`/etc/" +"shadow`, який не читається світом. Чи містить поле *pw_passwd* щось корисне, " +"залежить від системи. Якщо доступний, модуль :mod:`spwd` слід " +"використовувати там, де потрібен доступ до зашифрованого пароля." + +msgid "It defines the following items:" +msgstr "Він визначає такі пункти:" + +msgid "Return the password database entry for the given numeric user ID." +msgstr "" +"Повернути запис бази даних паролів для вказаного числового ідентифікатора " +"користувача." + +msgid "Return the password database entry for the given user name." +msgstr "Повернути запис бази даних паролів для вказаного імені користувача." + +msgid "" +"Return a list of all available password database entries, in arbitrary order." +msgstr "" +"Повертає список усіх доступних записів бази даних паролів у довільному " +"порядку." + +msgid "Module :mod:`grp`" +msgstr "Модуль :mod:`grp`" + +msgid "An interface to the group database, similar to this." +msgstr "Подібний до цього інтерфейс до бази даних групи." + +msgid "Module :mod:`spwd`" +msgstr "Модуль :mod:`spwd`" + +msgid "An interface to the shadow password database, similar to this." +msgstr "Подібний до цього інтерфейс тіньової бази даних паролів." diff --git a/library/py_compile.po b/library/py_compile.po new file mode 100644 index 000000000..00986c0c9 --- /dev/null +++ b/library/py_compile.po @@ -0,0 +1,254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`py_compile` --- Compile Python source files" +msgstr ":mod:`py_compile` --- Зібрати вихідні файли Python" + +msgid "**Source code:** :source:`Lib/py_compile.py`" +msgstr "**Вихідний код:** :source:`Lib/py_compile.py`" + +msgid "" +"The :mod:`py_compile` module provides a function to generate a byte-code " +"file from a source file, and another function used when the module source " +"file is invoked as a script." +msgstr "" +"Модуль :mod:`py_compile` надає функцію для створення файлу байт-коду з " +"вихідного файлу та іншу функцію, яка використовується, коли вихідний файл " +"модуля викликається як сценарій." + +msgid "" +"Though not often needed, this function can be useful when installing modules " +"for shared use, especially if some of the users may not have permission to " +"write the byte-code cache files in the directory containing the source code." +msgstr "" +"Хоча ця функція не часто потрібна, вона може бути корисною під час " +"встановлення модулів для спільного використання, особливо якщо деякі " +"користувачі можуть не мати дозволу на запис файлів кешу байт-коду в " +"каталозі, що містить вихідний код." + +msgid "" +"Exception raised when an error occurs while attempting to compile the file." +msgstr "" +"Виняток виникає, коли виникає помилка під час спроби скомпілювати файл." + +msgid "" +"Compile a source file to byte-code and write out the byte-code cache file. " +"The source code is loaded from the file named *file*. The byte-code is " +"written to *cfile*, which defaults to the :pep:`3147`/:pep:`488` path, " +"ending in ``.pyc``. For example, if *file* is ``/foo/bar/baz.py`` *cfile* " +"will default to ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. " +"If *dfile* is specified, it is used instead of *file* as the name of the " +"source file from which source lines are obtained for display in exception " +"tracebacks. If *doraise* is true, a :exc:`PyCompileError` is raised when an " +"error is encountered while compiling *file*. If *doraise* is false (the " +"default), an error string is written to ``sys.stderr``, but no exception is " +"raised. This function returns the path to byte-compiled file, i.e. whatever " +"*cfile* value was used." +msgstr "" + +msgid "" +"The *doraise* and *quiet* arguments determine how errors are handled while " +"compiling file. If *quiet* is 0 or 1, and *doraise* is false, the default " +"behaviour is enabled: an error string is written to ``sys.stderr``, and the " +"function returns ``None`` instead of a path. If *doraise* is true, a :exc:" +"`PyCompileError` is raised instead. However if *quiet* is 2, no message is " +"written, and *doraise* has no effect." +msgstr "" +"Аргументи *doraise* і *quiet* визначають спосіб обробки помилок під час " +"компіляції файлу. Якщо *quiet* дорівнює 0 або 1, а *doraise* — false, " +"увімкнено поведінку за замовчуванням: рядок помилки записується в ``sys." +"stderr``, а функція повертає ``None`` замість шляху. Якщо *doraise* має " +"значення true, натомість виникає помилка :exc:`PyCompileError`. Однак, якщо " +"*quiet* дорівнює 2, повідомлення не буде написано, і *doraise* не матиме " +"ефекту." + +msgid "" +"If the path that *cfile* becomes (either explicitly specified or computed) " +"is a symlink or non-regular file, :exc:`FileExistsError` will be raised. " +"This is to act as a warning that import will turn those paths into regular " +"files if it is allowed to write byte-compiled files to those paths. This is " +"a side-effect of import using file renaming to place the final byte-compiled " +"file into place to prevent concurrent file writing issues." +msgstr "" +"Якщо шлях, яким стає *cfile* (явно вказаний або обчислений), є символічним " +"посиланням або незвичайним файлом, буде викликано :exc:`FileExistsError`. Це " +"попереджає про те, що імпорт перетворить ці шляхи на звичайні файли, якщо " +"дозволено записувати скомпільовані файли в ці шляхи. Це побічний ефект " +"імпорту за допомогою перейменування файлу для розміщення остаточного " +"скомпільованого файлу на місце, щоб запобігти проблемам одночасного запису " +"файлу." + +msgid "" +"*optimize* controls the optimization level and is passed to the built-in :" +"func:`compile` function. The default of ``-1`` selects the optimization " +"level of the current interpreter." +msgstr "" +"*optimize* контролює рівень оптимізації та передається до вбудованої " +"функції :func:`compile`. Значення за замовчуванням ``-1`` вибирає рівень " +"оптимізації поточного інтерпретатора." + +msgid "" +"*invalidation_mode* should be a member of the :class:`PycInvalidationMode` " +"enum and controls how the generated bytecode cache is invalidated at " +"runtime. The default is :attr:`PycInvalidationMode.CHECKED_HASH` if the :" +"envvar:`SOURCE_DATE_EPOCH` environment variable is set, otherwise the " +"default is :attr:`PycInvalidationMode.TIMESTAMP`." +msgstr "" +"*invalidation_mode* має бути членом переліку :class:`PycInvalidationMode` і " +"керувати тим, як згенерований кеш байт-коду стає недійсним під час " +"виконання. Типовим значенням є :attr:`PycInvalidationMode.CHECKED_HASH`, " +"якщо встановлено змінну середовища :envvar:`SOURCE_DATE_EPOCH`, інакше " +"значенням за замовчуванням є :attr:`PycInvalidationMode.TIMESTAMP`." + +msgid "" +"Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous " +"default was *file* + ``'c'`` (``'o'`` if optimization was enabled). Also " +"added the *optimize* parameter." +msgstr "" +"Значення за замовчуванням *cfile* змінено на :PEP:`3147`-сумісне. Попереднє " +"значення за умовчанням було *file* + ``'c'`` (``'o'``, якщо оптимізацію було " +"ввімкнено). Також додано параметр *optimize*." + +msgid "" +"Changed code to use :mod:`importlib` for the byte-code cache file writing. " +"This means file creation/writing semantics now match what :mod:`importlib` " +"does, e.g. permissions, write-and-move semantics, etc. Also added the caveat " +"that :exc:`FileExistsError` is raised if *cfile* is a symlink or non-regular " +"file." +msgstr "" +"Змінено код для використання :mod:`importlib` для запису файлу кешу байт-" +"коду. Це означає, що семантика створення/запису файлів тепер відповідає " +"тому, що робить :mod:`importlib`, напр. дозволи, семантика запису та " +"переміщення тощо. Також додано застереження, що :exc:`FileExistsError` " +"виникає, якщо *cfile* є символічним посиланням або незвичайним файлом." + +msgid "" +"The *invalidation_mode* parameter was added as specified in :pep:`552`. If " +"the :envvar:`SOURCE_DATE_EPOCH` environment variable is set, " +"*invalidation_mode* will be forced to :attr:`PycInvalidationMode." +"CHECKED_HASH`." +msgstr "" +"Параметр *invalidation_mode* додано, як зазначено в :pep:`552`. Якщо " +"встановлено змінну середовища :envvar:`SOURCE_DATE_EPOCH`, " +"*invalidation_mode* буде змушений :attr:`PycInvalidationMode.CHECKED_HASH`." + +msgid "" +"The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer overrides the " +"value of the *invalidation_mode* argument, and determines its default value " +"instead." +msgstr "" +"Змінна середовища :envvar:`SOURCE_DATE_EPOCH` більше не перевизначає " +"значення аргументу *invalidation_mode* і визначає його значення за " +"умовчанням." + +msgid "The *quiet* parameter was added." +msgstr "Додано параметр *quiet*." + +msgid "" +"A enumeration of possible methods the interpreter can use to determine " +"whether a bytecode file is up to date with a source file. The ``.pyc`` file " +"indicates the desired invalidation mode in its header. See :ref:`pyc-" +"invalidation` for more information on how Python invalidates ``.pyc`` files " +"at runtime." +msgstr "" +"Перелік можливих методів, які інтерпретатор може використовувати для " +"визначення того, чи файл байт-коду актуальний для вихідного файлу. Файл ``." +"pyc`` вказує бажаний режим недійсності у своєму заголовку. Перегляньте :ref:" +"`pyc-invalidation` для отримання додаткової інформації про те, як Python " +"робить недійсними файли ``.pyc`` під час виконання." + +msgid "" +"The ``.pyc`` file includes the timestamp and size of the source file, which " +"Python will compare against the metadata of the source file at runtime to " +"determine if the ``.pyc`` file needs to be regenerated." +msgstr "" +"Файл ``.pyc`` містить мітку часу та розмір вихідного файлу, який Python " +"порівнює з метаданими вихідного файлу під час виконання, щоб визначити, чи " +"потрібно генерувати файл ``.pyc`` повторно." + +msgid "" +"The ``.pyc`` file includes a hash of the source file content, which Python " +"will compare against the source at runtime to determine if the ``.pyc`` file " +"needs to be regenerated." +msgstr "" +"Файл ``.pyc`` містить хеш вмісту вихідного файлу, який Python порівнює з " +"джерелом під час виконання, щоб визначити, чи потрібно файл ``.pyc`` " +"повторно генерувати." + +msgid "" +"Like :attr:`CHECKED_HASH`, the ``.pyc`` file includes a hash of the source " +"file content. However, Python will at runtime assume the ``.pyc`` file is up " +"to date and not validate the ``.pyc`` against the source file at all." +msgstr "" +"Як і :attr:`CHECKED_HASH`, файл ``.pyc`` містить хеш вмісту вихідного файлу. " +"Однак під час виконання Python вважатиме, що файл ``.pyc`` оновлений, і " +"взагалі не перевірятиме ``.pyc`` на вихідний файл." + +msgid "" +"This option is useful when the ``.pycs`` are kept up to date by some system " +"external to Python like a build system." +msgstr "" +"Цей параметр корисний, коли ``.pycs`` підтримується в актуальному стані " +"деякою системою, зовнішньою для Python, наприклад системою збірки." + +msgid "Command-Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"This module can be invoked as a script to compile several source files. The " +"files named in *filenames* are compiled and the resulting bytecode is cached " +"in the normal manner. This program does not search a directory structure to " +"locate source files; it only compiles files named explicitly. The exit " +"status is nonzero if one of the files could not be compiled." +msgstr "" +"Цей модуль можна викликати як сценарій для компіляції кількох вихідних " +"файлів. Файли, названі в *імена файлів*, компілюються, а отриманий байт-код " +"кешується звичайним способом. Ця програма не шукає структуру каталогів для " +"пошуку вихідних файлів; він компілює лише файли з явним іменем. Статус " +"виходу відмінний від нуля, якщо один із файлів не вдалося скомпілювати." + +msgid "" +"Positional arguments are files to compile. If ``-`` is the only parameter, " +"the list of files is taken from standard input." +msgstr "" +"Позиційні аргументи — це файли для компіляції. Якщо ``-`` є єдиним " +"параметром, список файлів береться зі стандартного введення." + +msgid "Suppress errors output." +msgstr "Придушення виведення помилок." + +msgid "Added support for ``-``." +msgstr "Додано підтримку ``-``." + +msgid "Added support for :option:`-q`." +msgstr "Додано підтримку :option:`-q`." + +msgid "Module :mod:`compileall`" +msgstr "Модуль :mod:`compileall`" + +msgid "Utilities to compile all Python source files in a directory tree." +msgstr "Утиліти для компіляції всіх вихідних файлів Python у дереві каталогів." diff --git a/library/pyclbr.po b/library/pyclbr.po new file mode 100644 index 000000000..e315a2ccf --- /dev/null +++ b/library/pyclbr.po @@ -0,0 +1,181 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:11+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pyclbr` --- Python module browser support" +msgstr ":mod:`pyclbr` --- Підтримка браузера модуля Python" + +msgid "**Source code:** :source:`Lib/pyclbr.py`" +msgstr "**Вихідний код:** :source:`Lib/pyclbr.py`" + +msgid "" +"The :mod:`pyclbr` module provides limited information about the functions, " +"classes, and methods defined in a Python-coded module. The information is " +"sufficient to implement a module browser. The information is extracted from " +"the Python source code rather than by importing the module, so this module " +"is safe to use with untrusted code. This restriction makes it impossible to " +"use this module with modules not implemented in Python, including all " +"standard and optional extension modules." +msgstr "" +"Модуль :mod:`pyclbr` надає обмежену інформацію про функції, класи та методи, " +"визначені в модулі, кодованому на Python. Інформації достатньо для " +"впровадження браузера модулів. Інформація витягується з вихідного коду " +"Python, а не шляхом імпорту модуля, тому цей модуль безпечно використовувати " +"з ненадійним кодом. Це обмеження унеможливлює використання цього модуля з " +"модулями, не реалізованими в Python, включаючи всі стандартні та додаткові " +"модулі розширення." + +msgid "" +"Return a dictionary mapping module-level class names to class descriptors. " +"If possible, descriptors for imported base classes are included. Parameter " +"*module* is a string with the name of the module to read; it may be the name " +"of a module within a package. If given, *path* is a sequence of directory " +"paths prepended to ``sys.path``, which is used to locate the module source " +"code." +msgstr "" +"Повертає словник, що відображає імена класів на рівні модуля на дескриптори " +"класів. Якщо можливо, включено дескриптори для імпортованих базових класів. " +"Параметр *module* — це рядок із назвою модуля для читання; це може бути " +"назва модуля в пакеті. Якщо задано, *path* — це послідовність шляхів до " +"каталогу, доданих до ``sys.path``, який використовується для пошуку " +"вихідного коду модуля." + +msgid "" +"This function is the original interface and is only kept for back " +"compatibility. It returns a filtered version of the following." +msgstr "" +"Ця функція є оригінальним інтерфейсом і зберігається лише для зворотної " +"сумісності. Він повертає відфільтровану версію наступного." + +msgid "" +"Return a dictionary-based tree containing a function or class descriptors " +"for each function and class defined in the module with a ``def`` or " +"``class`` statement. The returned dictionary maps module-level function and " +"class names to their descriptors. Nested objects are entered into the " +"children dictionary of their parent. As with readmodule, *module* names the " +"module to be read and *path* is prepended to sys.path. If the module being " +"read is a package, the returned dictionary has a key ``'__path__'`` whose " +"value is a list containing the package search path." +msgstr "" +"Повертає дерево на основі словника, що містить дескриптори функції або класу " +"для кожної функції та класу, визначених у модулі, за допомогою оператора " +"``def`` або ``class``. Повернений словник відображає назви функцій і класів " +"рівня модуля на їхні дескриптори. Вкладені об’єкти вводяться до дочірнього " +"словника їх батьків. Як і для readmodule, *module* називає модуль, який " +"потрібно прочитати, а *path* додається до sys.path. Якщо модуль, який " +"читається, є пакетом, повернутий словник має ключ ``'__path__''``, значенням " +"якого є список, що містить шлях пошуку пакета." + +msgid "" +"Descriptors for nested definitions. They are accessed through the new " +"children attribute. Each has a new parent attribute." +msgstr "" +"Дескриптори для вкладених визначень. Доступ до них здійснюється через " +"атрибут new children. Кожен має новий батьківський атрибут." + +msgid "" +"The descriptors returned by these functions are instances of Function and " +"Class classes. Users are not expected to create instances of these classes." +msgstr "" +"Дескриптори, які повертаються цими функціями, є екземплярами класів Function " +"і Class. Користувачі не повинні створювати екземпляри цих класів." + +msgid "Function Objects" +msgstr "Функціональні об’єкти" + +msgid "" +"Class :class:`Function` instances describe functions defined by def " +"statements. They have the following attributes:" +msgstr "" +"Екземпляри класу :class:`Function` описують функції, визначені операторами " +"def. Вони мають такі атрибути:" + +msgid "Name of the file in which the function is defined." +msgstr "Ім'я файлу, в якому визначена функція." + +msgid "The name of the module defining the function described." +msgstr "Назва модуля, що визначає описану функцію." + +msgid "The name of the function." +msgstr "Ім'я функції." + +msgid "The line number in the file where the definition starts." +msgstr "Номер рядка у файлі, з якого починається визначення." + +msgid "For top-level functions, None. For nested functions, the parent." +msgstr "" +"Для функцій верхнього рівня немає. Для вкладених функцій, батьківський." + +msgid "" +"A dictionary mapping names to descriptors for nested functions and classes." +msgstr "" +"Словник, що зіставляє імена з дескрипторами для вкладених функцій і класів." + +msgid "" +"``True`` for functions that are defined with the ``async`` prefix, ``False`` " +"otherwise." +msgstr "" +"``True`` для функцій, які визначені префіксом ``async``, ``False`` інакше." + +msgid "Class Objects" +msgstr "Об'єкти класу" + +msgid "" +"Class :class:`Class` instances describe classes defined by class " +"statements. They have the same attributes as Functions and two more." +msgstr "" +"Екземпляри класу :class:`Class` описують класи, визначені операторами класу. " +"Вони мають ті самі атрибути, що й функції, і ще два." + +msgid "Name of the file in which the class is defined." +msgstr "Ім'я файлу, в якому визначено клас." + +msgid "The name of the module defining the class described." +msgstr "Назва модуля, що визначає описуваний клас." + +msgid "The name of the class." +msgstr "Назва класу." + +msgid "For top-level classes, None. For nested classes, the parent." +msgstr "Для класів вищого рівня, немає. Для вкладених класів, батьківський." + +msgid "" +"A list of :class:`Class` objects which describe the immediate base classes " +"of the class being described. Classes which are named as superclasses but " +"which are not discoverable by :func:`readmodule_ex` are listed as a string " +"with the class name instead of as :class:`Class` objects." +msgstr "" +"Список об’єктів :class:`Class`, які описують безпосередні базові класи " +"описуваного класу. Класи, названі як суперкласи, але які не можна знайти за " +"допомогою :func:`readmodule_ex`, перераховуються як рядок із назвою класу " +"замість об’єктів :class:`Class`." + +msgid "" +"A dictionary mapping method names to line numbers. This can be derived from " +"the newer children dictionary, but remains for back-compatibility." +msgstr "" +"Словник зіставляє імена методів із номерами рядків. Це можна отримати з " +"новішого дитячого словника, але залишається для зворотної сумісності." diff --git a/library/pydoc.po b/library/pydoc.po new file mode 100644 index 000000000..752651914 --- /dev/null +++ b/library/pydoc.po @@ -0,0 +1,211 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`pydoc` --- Documentation generator and online help system" +msgstr ":mod:`pydoc` --- Генератор документації та онлайнова довідкова система" + +msgid "**Source code:** :source:`Lib/pydoc.py`" +msgstr "**Вихідний код:** :source:`Lib/pydoc.py`" + +msgid "" +"The :mod:`pydoc` module automatically generates documentation from Python " +"modules. The documentation can be presented as pages of text on the " +"console, served to a web browser, or saved to HTML files." +msgstr "" +"Модуль :mod:`pydoc` автоматично створює документацію з модулів Python. " +"Документація може бути представлена у вигляді сторінок тексту на консолі, " +"подана у веб-браузері або збережена у файлах HTML." + +msgid "" +"For modules, classes, functions and methods, the displayed documentation is " +"derived from the docstring (i.e. the :attr:`__doc__` attribute) of the " +"object, and recursively of its documentable members. If there is no " +"docstring, :mod:`pydoc` tries to obtain a description from the block of " +"comment lines just above the definition of the class, function or method in " +"the source file, or at the top of the module (see :func:`inspect." +"getcomments`)." +msgstr "" +"Для модулів, класів, функцій і методів відображена документація походить із " +"рядка документації (тобто атрибута :attr:`__doc__`) об’єкта та рекурсивно з " +"його документованих членів. Якщо рядка документа немає, :mod:`pydoc` " +"намагається отримати опис із блоку рядків коментарів безпосередньо над " +"визначенням класу, функції чи методу у вихідному файлі або у верхній частині " +"модуля (див. :func:`inspect.getcomments`)." + +msgid "" +"The built-in function :func:`help` invokes the online help system in the " +"interactive interpreter, which uses :mod:`pydoc` to generate its " +"documentation as text on the console. The same text documentation can also " +"be viewed from outside the Python interpreter by running :program:`pydoc` as " +"a script at the operating system's command prompt. For example, running ::" +msgstr "" +"Вбудована функція :func:`help` викликає систему онлайн-довідки в " +"інтерактивному інтерпретаторі, який використовує :mod:`pydoc` для створення " +"документації у вигляді тексту на консолі. Цю ж текстову документацію також " +"можна переглядати поза інтерпретатором Python, запустивши :program:`pydoc` " +"як сценарій у командному рядку операційної системи. Наприклад, запуск ::" + +msgid "" +"at a shell prompt will display documentation on the :mod:`sys` module, in a " +"style similar to the manual pages shown by the Unix :program:`man` command. " +"The argument to :program:`pydoc` can be the name of a function, module, or " +"package, or a dotted reference to a class, method, or function within a " +"module or module in a package. If the argument to :program:`pydoc` looks " +"like a path (that is, it contains the path separator for your operating " +"system, such as a slash in Unix), and refers to an existing Python source " +"file, then documentation is produced for that file." +msgstr "" +"у підказці оболонки відобразить документацію щодо модуля :mod:`sys` у стилі, " +"подібному до сторінок посібника, показаних командою Unix :program:`man`. " +"Аргументом :program:`pydoc` може бути назва функції, модуля чи пакета, або " +"посилання з крапками на клас, метод або функцію в межах модуля чи модуля в " +"пакеті. Якщо аргумент :program:`pydoc` виглядає як шлях (тобто він містить " +"роздільник шляхів для вашої операційної системи, наприклад косу риску в " +"Unix), і посилається на існуючий вихідний файл Python, тоді створюється " +"документація для цей файл." + +msgid "" +"In order to find objects and their documentation, :mod:`pydoc` imports the " +"module(s) to be documented. Therefore, any code on module level will be " +"executed on that occasion. Use an ``if __name__ == '__main__':`` guard to " +"only execute code when a file is invoked as a script and not just imported." +msgstr "" +"Щоб знайти об’єкти та їхню документацію, :mod:`pydoc` імпортує модуль(и), " +"які потрібно задокументувати. Таким чином, будь-який код на рівні модуля " +"буде виконано в цьому випадку. Використовуйте захист ``if __name__ == " +"'__main__':``, щоб виконувати код лише тоді, коли файл викликається як " +"сценарій, а не просто імпортований." + +msgid "" +"When printing output to the console, :program:`pydoc` attempts to paginate " +"the output for easier reading. If the :envvar:`PAGER` environment variable " +"is set, :program:`pydoc` will use its value as a pagination program." +msgstr "" +"Під час друку виведення на консоль :program:`pydoc` намагається розбити " +"вивід на сторінки для легшого читання. Якщо встановлено змінну середовища :" +"envvar:`PAGER`, :program:`pydoc` використовуватиме її значення як програму " +"розбиття на сторінки." + +msgid "" +"Specifying a ``-w`` flag before the argument will cause HTML documentation " +"to be written out to a file in the current directory, instead of displaying " +"text on the console." +msgstr "" +"Якщо вказати прапорець ``-w`` перед аргументом, документація HTML буде " +"записана у файл у поточному каталозі замість відображення тексту на консолі." + +msgid "" +"Specifying a ``-k`` flag before the argument will search the synopsis lines " +"of all available modules for the keyword given as the argument, again in a " +"manner similar to the Unix :program:`man` command. The synopsis line of a " +"module is the first line of its documentation string." +msgstr "" +"Якщо вказати прапорець ``-k`` перед аргументом, буде здійснюватися пошук " +"ключових слів, указаних як аргумент, у рядках короткого опису всіх доступних " +"модулів, знову ж таки, як у команді Unix :program:`man`. Рядок короткого " +"опису модуля є першим рядком рядка документації." + +msgid "" +"You can also use :program:`pydoc` to start an HTTP server on the local " +"machine that will serve documentation to visiting web browsers. :program:" +"`pydoc -p 1234` will start a HTTP server on port 1234, allowing you to " +"browse the documentation at ``http://localhost:1234/`` in your preferred web " +"browser. Specifying ``0`` as the port number will select an arbitrary unused " +"port." +msgstr "" +"Ви також можете використовувати :program:`pydoc` для запуску HTTP-сервера на " +"локальному комп’ютері, який надаватиме документацію відвідувачам у веб-" +"браузерах. :program:`pydoc -p 1234` запустить HTTP-сервер на порту 1234, " +"дозволяючи вам переглядати документацію за адресою ``http://localhost:1234/" +"`` у бажаному веб-браузері. Якщо вказати ``0`` як номер порту, буде вибрано " +"довільний невикористаний порт." + +msgid "" +":program:`pydoc -n ` will start the server listening at the given " +"hostname. By default the hostname is 'localhost' but if you want the server " +"to be reached from other machines, you may want to change the host name that " +"the server responds to. During development this is especially useful if you " +"want to run pydoc from within a container." +msgstr "" +":program:`pydoc -n ` почне прослуховування сервера на вказаному " +"імені хоста. За замовчуванням ім’я хоста – \"localhost\", але якщо ви " +"бажаєте, щоб сервер був доступним з інших машин, ви можете змінити ім’я " +"хоста, на яке відповідає сервер. Під час розробки це особливо корисно, якщо " +"ви хочете запустити pydoc з контейнера." + +msgid "" +":program:`pydoc -b` will start the server and additionally open a web " +"browser to a module index page. Each served page has a navigation bar at " +"the top where you can *Get* help on an individual item, *Search* all modules " +"with a keyword in their synopsis line, and go to the *Module index*, " +"*Topics* and *Keywords* pages." +msgstr "" +":program:`pydoc -b` запустить сервер і додатково відкриє веб-браузер для " +"сторінки індексу модуля. Кожна обслуговувана сторінка має навігаційну панель " +"у верхній частині, де ви можете *отримати* довідку щодо окремого елемента, " +"*шукати* всі модулі за ключовим словом у їхньому рядку короткого опису та " +"перейти до *Індексу модулів*, *Тем* і *Ключових слів* сторінки." + +msgid "" +"When :program:`pydoc` generates documentation, it uses the current " +"environment and path to locate modules. Thus, invoking :program:`pydoc " +"spam` documents precisely the version of the module you would get if you " +"started the Python interpreter and typed ``import spam``." +msgstr "" +"Коли :program:`pydoc` створює документацію, вона використовує поточне " +"середовище та шлях для пошуку модулів. Таким чином, виклик :program:`pydoc " +"spam` документує саме ту версію модуля, яку ви отримаєте, якщо запустите " +"інтерпретатор Python і введете ``import spam``." + +msgid "" +"Module docs for core modules are assumed to reside in ``https://docs.python." +"org/X.Y/library/`` where ``X`` and ``Y`` are the major and minor version " +"numbers of the Python interpreter. This can be overridden by setting the :" +"envvar:`PYTHONDOCS` environment variable to a different URL or to a local " +"directory containing the Library Reference Manual pages." +msgstr "" +"Передбачається, що документи модулів для основних модулів знаходяться в " +"``https://docs.python.org/X.Y/library/``, де ``X`` і ``Y`` — номери основної " +"та другорядної версій Python перекладач. Це можна змінити, встановивши для " +"змінної середовища :envvar:`PYTHONDOCS` іншу URL-адресу або локальний " +"каталог, що містить сторінки Довідкового посібника з бібліотеки." + +msgid "Added the ``-b`` option." +msgstr "Додано опцію ``-b``." + +msgid "The ``-g`` command line option was removed." +msgstr "Параметр командного рядка ``-g`` видалено." + +msgid "" +":mod:`pydoc` now uses :func:`inspect.signature` rather than :func:`inspect." +"getfullargspec` to extract signature information from callables." +msgstr "" +":mod:`pydoc` тепер використовує :func:`inspect.signature` замість :func:" +"`inspect.getfullargspec` для отримання інформації підпису з викликів." + +msgid "Added the ``-n`` option." +msgstr "Додано опцію ``-n``." diff --git a/library/pyexpat.po b/library/pyexpat.po new file mode 100644 index 000000000..c71afa571 --- /dev/null +++ b/library/pyexpat.po @@ -0,0 +1,1003 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.parsers.expat` --- Fast XML parsing using Expat" +msgstr ":mod:`xml.parsers.expat` --- Швидкий аналіз XML за допомогою Expat" + +msgid "" +"The :mod:`pyexpat` module is not secure against maliciously constructed " +"data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" +"vulnerabilities`." +msgstr "" +"Модуль :mod:`pyexpat` не захищений від зловмисно створених даних. Якщо вам " +"потрібно проаналізувати ненадійні або неавтентифіковані дані, перегляньте :" +"ref:`xml-vulnerabilities`." + +msgid "" +"The :mod:`xml.parsers.expat` module is a Python interface to the Expat non-" +"validating XML parser. The module provides a single extension type, :class:" +"`xmlparser`, that represents the current state of an XML parser. After an :" +"class:`xmlparser` object has been created, various attributes of the object " +"can be set to handler functions. When an XML document is then fed to the " +"parser, the handler functions are called for the character data and markup " +"in the XML document." +msgstr "" +"Модуль :mod:`xml.parsers.expat` — це інтерфейс Python для XML-аналізатора " +"Expat без перевірки. Модуль надає єдиний тип розширення, :class:`xmlparser`, " +"який представляє поточний стан аналізатора XML. Після створення об’єкта :" +"class:`xmlparser` різні атрибути об’єкта можуть бути встановлені для функцій " +"обробки. Коли XML-документ надходить до аналізатора, викликаються функції " +"обробки символьних даних і розмітки в XML-документі." + +msgid "" +"This module uses the :mod:`pyexpat` module to provide access to the Expat " +"parser. Direct use of the :mod:`pyexpat` module is deprecated." +msgstr "" +"Цей модуль використовує модуль :mod:`pyexpat` для надання доступу до " +"аналізатора Expat. Пряме використання модуля :mod:`pyexpat` застаріло." + +msgid "This module provides one exception and one type object:" +msgstr "Цей модуль надає один виняток і об’єкт одного типу:" + +msgid "" +"The exception raised when Expat reports an error. See section :ref:" +"`expaterror-objects` for more information on interpreting Expat errors." +msgstr "" +"Виняток виникає, коли Expat повідомляє про помилку. Перегляньте розділ :ref:" +"`expaterror-objects` для отримання додаткової інформації про інтерпретацію " +"помилок Expat." + +msgid "Alias for :exc:`ExpatError`." +msgstr "Псевдонім для :exc:`ExpatError`." + +msgid "The type of the return values from the :func:`ParserCreate` function." +msgstr "Тип значень, які повертає функція :func:`ParserCreate`." + +msgid "The :mod:`xml.parsers.expat` module contains two functions:" +msgstr "Модуль :mod:`xml.parsers.expat` містить дві функції:" + +msgid "Returns an explanatory string for a given error number *errno*." +msgstr "Повертає пояснювальний рядок для заданого номера помилки *errno*." + +msgid "" +"Creates and returns a new :class:`xmlparser` object. *encoding*, if " +"specified, must be a string naming the encoding used by the XML data. " +"Expat doesn't support as many encodings as Python does, and its repertoire " +"of encodings can't be extended; it supports UTF-8, UTF-16, ISO-8859-1 " +"(Latin1), and ASCII. If *encoding* [1]_ is given it will override the " +"implicit or explicit encoding of the document." +msgstr "" +"Створює та повертає новий об’єкт :class:`xmlparser`. *encoding*, якщо " +"вказано, має бути рядком із назвою кодування, що використовується в XML-" +"даних. Expat не підтримує таку кількість кодувань, як Python, і його набір " +"кодувань не можна розширити; він підтримує UTF-8, UTF-16, ISO-8859-1 " +"(Latin1) і ASCII. Якщо задано *кодування* [1]_, воно замінить неявне або " +"явне кодування документа." + +msgid "" +"Expat can optionally do XML namespace processing for you, enabled by " +"providing a value for *namespace_separator*. The value must be a one-" +"character string; a :exc:`ValueError` will be raised if the string has an " +"illegal length (``None`` is considered the same as omission). When " +"namespace processing is enabled, element type names and attribute names that " +"belong to a namespace will be expanded. The element name passed to the " +"element handlers :attr:`StartElementHandler` and :attr:`EndElementHandler` " +"will be the concatenation of the namespace URI, the namespace separator " +"character, and the local part of the name. If the namespace separator is a " +"zero byte (``chr(0)``) then the namespace URI and the local part will be " +"concatenated without any separator." +msgstr "" +"Експат може додатково виконувати обробку простору імен XML для вас, " +"увімкнувши значення для *namespace_separator*. Значення має бути " +"односимвольним рядком; a :exc:`ValueError` буде викликано, якщо рядок має " +"недопустиму довжину (``None`` вважається тим самим, що пропуск). Коли " +"обробку простору імен увімкнено, назви типів елементів і назви атрибутів, " +"які належать до простору імен, будуть розгорнуті. Ім’я елемента, яке " +"передається обробникам елемента :attr:`StartElementHandler` і :attr:" +"`EndElementHandler`, буде конкатенацією URI простору імен, символу " +"роздільника простору імен і локальної частини імені. Якщо роздільником " +"простору імен є нульовий байт (``chr(0)``), тоді URI простору імен і " +"локальна частина будуть об’єднані без будь-якого роздільника." + +msgid "" +"For example, if *namespace_separator* is set to a space character (``' '``) " +"and the following document is parsed:" +msgstr "" +"Наприклад, якщо *namespace_separator* встановлено на символ пробілу (``' " +"'``), а наступний документ аналізується:" + +msgid "" +":attr:`StartElementHandler` will receive the following strings for each " +"element::" +msgstr ":attr:`StartElementHandler` отримає такі рядки для кожного елемента:" + +msgid "" +"Due to limitations in the ``Expat`` library used by :mod:`pyexpat`, the :" +"class:`xmlparser` instance returned can only be used to parse a single XML " +"document. Call ``ParserCreate`` for each document to provide unique parser " +"instances." +msgstr "" +"Через обмеження бібліотеки ``Expat``, яку використовує :mod:`pyexpat`, " +"повернутий екземпляр :class:`xmlparser` можна використовувати лише для " +"аналізу одного документа XML. Викликайте ``ParserCreate`` для кожного " +"документа, щоб надати унікальні екземпляри аналізатора." + +msgid "`The Expat XML Parser `_" +msgstr "`Аналізатор Expat XML `_" + +msgid "Home page of the Expat project." +msgstr "Домашня сторінка проекту Expat." + +msgid "XMLParser Objects" +msgstr "Об’єкти XMLParser" + +msgid ":class:`xmlparser` objects have the following methods:" +msgstr "Об’єкти :class:`xmlparser` мають такі методи:" + +msgid "" +"Parses the contents of the string *data*, calling the appropriate handler " +"functions to process the parsed data. *isfinal* must be true on the final " +"call to this method; it allows the parsing of a single file in fragments, " +"not the submission of multiple files. *data* can be the empty string at any " +"time." +msgstr "" +"Аналізує вміст рядка *data*, викликаючи відповідні функції обробки для " +"обробки аналізованих даних. *isfinal* має бути true під час останнього " +"виклику цього методу; це дозволяє розбирати один файл у фрагментах, а не " +"надсилати кілька файлів. *data* може бути порожнім рядком у будь-який час." + +msgid "" +"Parse XML data reading from the object *file*. *file* only needs to provide " +"the ``read(nbytes)`` method, returning the empty string when there's no more " +"data." +msgstr "" +"Проаналізуйте читання даних XML з об'єктного *файлу*. *file* потребує лише " +"надання методу ``read(nbytes)``, повертаючи порожній рядок, коли більше " +"немає даних." + +msgid "" +"Sets the base to be used for resolving relative URIs in system identifiers " +"in declarations. Resolving relative identifiers is left to the application: " +"this value will be passed through as the *base* argument to the :func:" +"`ExternalEntityRefHandler`, :func:`NotationDeclHandler`, and :func:" +"`UnparsedEntityDeclHandler` functions." +msgstr "" +"Встановлює базу для визначення відносних URI у системних ідентифікаторах у " +"оголошеннях. Розпізнавання відносних ідентифікаторів залишається за " +"додатком: це значення буде передано як аргумент *base* до функцій :func:" +"`ExternalEntityRefHandler`, :func:`NotationDeclHandler` і :func:" +"`UnparsedEntityDeclHandler`." + +msgid "" +"Returns a string containing the base set by a previous call to :meth:" +"`SetBase`, or ``None`` if :meth:`SetBase` hasn't been called." +msgstr "" +"Повертає рядок, що містить базовий набір попереднім викликом :meth:`SetBase` " +"або ``None``, якщо :meth:`SetBase` не викликався." + +msgid "" +"Returns the input data that generated the current event as a string. The " +"data is in the encoding of the entity which contains the text. When called " +"while an event handler is not active, the return value is ``None``." +msgstr "" +"Повертає вхідні дані, які згенерували поточну подію, у вигляді рядка. Дані " +"знаходяться в кодуванні сутності, яка містить текст. Під час виклику, коли " +"обробник події неактивний, повертається значення ``None``." + +msgid "" +"Create a \"child\" parser which can be used to parse an external parsed " +"entity referred to by content parsed by the parent parser. The *context* " +"parameter should be the string passed to the :meth:" +"`ExternalEntityRefHandler` handler function, described below. The child " +"parser is created with the :attr:`ordered_attributes` and :attr:" +"`specified_attributes` set to the values of this parser." +msgstr "" +"Створіть \"дочірній\" аналізатор, який можна використовувати для аналізу " +"зовнішньої проаналізованої сутності, на яку посилається вміст, розібраний " +"батьківським аналізатором. Параметр *context* має бути рядком, який " +"передається до функції обробки :meth:`ExternalEntityRefHandler`, описаної " +"нижче. Дочірній аналізатор створюється з :attr:`ordered_attributes` і :attr:" +"`specified_attributes`, встановленими на значення цього аналізатора." + +msgid "" +"Control parsing of parameter entities (including the external DTD subset). " +"Possible *flag* values are :const:`XML_PARAM_ENTITY_PARSING_NEVER`, :const:" +"`XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE` and :const:" +"`XML_PARAM_ENTITY_PARSING_ALWAYS`. Return true if setting the flag was " +"successful." +msgstr "" +"Контроль аналізу сутностей параметрів (включаючи підмножину зовнішнього " +"DTD). Можливі значення *flag*: :const:`XML_PARAM_ENTITY_PARSING_NEVER`, :" +"const:`XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE` і :const:" +"`XML_PARAM_ENTITY_PARSING_ALWAYS`. Повертає true, якщо прапорець встановлено " +"успішно." + +msgid "" +"Calling this with a true value for *flag* (the default) will cause Expat to " +"call the :attr:`ExternalEntityRefHandler` with :const:`None` for all " +"arguments to allow an alternate DTD to be loaded. If the document does not " +"contain a document type declaration, the :attr:`ExternalEntityRefHandler` " +"will still be called, but the :attr:`StartDoctypeDeclHandler` and :attr:" +"`EndDoctypeDeclHandler` will not be called." +msgstr "" +"Виклик цього з істинним значенням для *flag* (за замовчуванням) змусить " +"Expat викликати :attr:`ExternalEntityRefHandler` з :const:`None` для всіх " +"аргументів, щоб дозволити завантажувати альтернативний DTD. Якщо документ не " +"містить оголошення типу документа, :attr:`ExternalEntityRefHandler` все одно " +"буде викликано, але :attr:`StartDoctypeDeclHandler` і :attr:" +"`EndDoctypeDeclHandler` не буде викликано." + +msgid "" +"Passing a false value for *flag* will cancel a previous call that passed a " +"true value, but otherwise has no effect." +msgstr "" +"Передача хибного значення для *flag* призведе до скасування попереднього " +"виклику, який передав істинне значення, але в іншому випадку не матиме " +"ефекту." + +msgid "" +"This method can only be called before the :meth:`Parse` or :meth:`ParseFile` " +"methods are called; calling it after either of those have been called " +"causes :exc:`ExpatError` to be raised with the :attr:`code` attribute set to " +"``errors.codes[errors.XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." +msgstr "" +"Цей метод можна викликати лише перед викликом методів :meth:`Parse` або :" +"meth:`ParseFile`; його виклик після виклику будь-якого з них викликає :exc:" +"`ExpatError`, коли атрибут :attr:`code` має значення ``errors.codes[errors." +"XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." + +msgid ":class:`xmlparser` objects have the following attributes:" +msgstr "Об’єкти :class:`xmlparser` мають такі атрибути:" + +msgid "" +"The size of the buffer used when :attr:`buffer_text` is true. A new buffer " +"size can be set by assigning a new integer value to this attribute. When the " +"size is changed, the buffer will be flushed." +msgstr "" +"Розмір буфера, який використовується, коли :attr:`buffer_text` має значення " +"true. Новий розмір буфера можна встановити, присвоївши цьому атрибуту нове " +"ціле значення. Коли розмір змінено, буфер буде очищено." + +msgid "" +"Setting this to true causes the :class:`xmlparser` object to buffer textual " +"content returned by Expat to avoid multiple calls to the :meth:" +"`CharacterDataHandler` callback whenever possible. This can improve " +"performance substantially since Expat normally breaks character data into " +"chunks at every line ending. This attribute is false by default, and may be " +"changed at any time." +msgstr "" +"Якщо встановити для цього значення true, об’єкт :class:`xmlparser` буферизує " +"текстовий вміст, повернутий Expat, щоб уникнути багаторазових викликів " +"зворотного виклику :meth:`CharacterDataHandler`, коли це можливо. Це може " +"значно підвищити продуктивність, оскільки Expat зазвичай розбиває символьні " +"дані на частини в кінці кожного рядка. Цей атрибут за замовчуванням має " +"значення false і може бути змінений у будь-який час." + +msgid "" +"If :attr:`buffer_text` is enabled, the number of bytes stored in the buffer. " +"These bytes represent UTF-8 encoded text. This attribute has no meaningful " +"interpretation when :attr:`buffer_text` is false." +msgstr "" +"Якщо :attr:`buffer_text` увімкнено, кількість байтів, що зберігаються в " +"буфері. Ці байти представляють текст у кодуванні UTF-8. Цей атрибут не має " +"значущої інтерпретації, якщо :attr:`buffer_text` має значення false." + +msgid "" +"Setting this attribute to a non-zero integer causes the attributes to be " +"reported as a list rather than a dictionary. The attributes are presented " +"in the order found in the document text. For each attribute, two list " +"entries are presented: the attribute name and the attribute value. (Older " +"versions of this module also used this format.) By default, this attribute " +"is false; it may be changed at any time." +msgstr "" +"Встановлення для цього атрибута ненульового цілого числа призводить до того, " +"що атрибути повідомлятимуться як список, а не як словник. Атрибути " +"представлені в порядку, указаному в тексті документа. Для кожного атрибута " +"представлено два записи списку: назва атрибута та значення атрибута. " +"(Старіші версії цього модуля також використовували цей формат.) За " +"замовчуванням цей атрибут має значення false; його можна змінити в будь-який " +"час." + +msgid "" +"If set to a non-zero integer, the parser will report only those attributes " +"which were specified in the document instance and not those which were " +"derived from attribute declarations. Applications which set this need to be " +"especially careful to use what additional information is available from the " +"declarations as needed to comply with the standards for the behavior of XML " +"processors. By default, this attribute is false; it may be changed at any " +"time." +msgstr "" +"Якщо встановлено ненульове ціле число, аналізатор повідомлятиме лише про ті " +"атрибути, які були вказані в екземплярі документа, а не про ті, які були " +"отримані з оголошень атрибутів. Програми, які встановлюють це, повинні бути " +"особливо обережними, щоб використовувати додаткову інформацію, доступну з " +"декларацій, якщо це необхідно для відповідності стандартам поведінки " +"процесорів XML. За замовчуванням цей атрибут має значення false; його можна " +"змінити в будь-який час." + +msgid "" +"The following attributes contain values relating to the most recent error " +"encountered by an :class:`xmlparser` object, and will only have correct " +"values once a call to :meth:`Parse` or :meth:`ParseFile` has raised an :exc:" +"`xml.parsers.expat.ExpatError` exception." +msgstr "" +"Наступні атрибути містять значення, пов’язані з останньою помилкою, яку " +"виявив об’єкт :class:`xmlparser`, і матимуть правильні значення лише тоді, " +"коли виклик :meth:`Parse` або :meth:`ParseFile` викликає Виняток :exc:`xml." +"parsers.expat.ExpatError`." + +msgid "Byte index at which an error occurred." +msgstr "Індекс байта, на якому сталася помилка." + +msgid "" +"Numeric code specifying the problem. This value can be passed to the :func:" +"`ErrorString` function, or compared to one of the constants defined in the " +"``errors`` object." +msgstr "" +"Числовий код, що визначає проблему. Це значення можна передати у функцію :" +"func:`ErrorString` або порівняти з однією з констант, визначених в об’єкті " +"``errors``." + +msgid "Column number at which an error occurred." +msgstr "Номер стовпця, в якому сталася помилка." + +msgid "Line number at which an error occurred." +msgstr "Номер рядка, в якому сталася помилка." + +msgid "" +"The following attributes contain values relating to the current parse " +"location in an :class:`xmlparser` object. During a callback reporting a " +"parse event they indicate the location of the first of the sequence of " +"characters that generated the event. When called outside of a callback, the " +"position indicated will be just past the last parse event (regardless of " +"whether there was an associated callback)." +msgstr "" +"Наступні атрибути містять значення, пов’язані з поточним місцем аналізу в " +"об’єкті :class:`xmlparser`. Під час зворотного виклику, повідомляючи про " +"подію синтаксичного аналізу, вони вказують розташування першого з " +"послідовності символів, які породили подію. При виклику за межами зворотного " +"виклику вказана позиція буде відразу після останньої події аналізу " +"(незалежно від того, чи був пов’язаний зворотний виклик)." + +msgid "Current byte index in the parser input." +msgstr "Поточний індекс байта у вхідних даних аналізатора." + +msgid "Current column number in the parser input." +msgstr "Поточний номер стовпця у вхідних даних аналізатора." + +msgid "Current line number in the parser input." +msgstr "Поточний номер рядка у вхідних даних аналізатора." + +msgid "" +"Here is the list of handlers that can be set. To set a handler on an :class:" +"`xmlparser` object *o*, use ``o.handlername = func``. *handlername* must be " +"taken from the following list, and *func* must be a callable object " +"accepting the correct number of arguments. The arguments are all strings, " +"unless otherwise stated." +msgstr "" +"Ось список обробників, які можна встановити. Щоб встановити обробник для " +"об’єкта :class:`xmlparser` *o*, використовуйте ``o.handlername = func``. " +"*handlername* має бути взято з наступного списку, а *func* має бути " +"викликаним об’єктом, який приймає правильну кількість аргументів. Усі " +"аргументи є рядками, якщо не вказано інше." + +msgid "" +"Called when the XML declaration is parsed. The XML declaration is the " +"(optional) declaration of the applicable version of the XML recommendation, " +"the encoding of the document text, and an optional \"standalone\" " +"declaration. *version* and *encoding* will be strings, and *standalone* will " +"be ``1`` if the document is declared standalone, ``0`` if it is declared not " +"to be standalone, or ``-1`` if the standalone clause was omitted. This is " +"only available with Expat version 1.95.0 or newer." +msgstr "" +"Викликається під час аналізу XML-декларації. Оголошення XML – це " +"(необов’язкове) оголошення відповідної версії рекомендації XML, кодування " +"тексту документа та необов’язкове \"окреме\" оголошення. *version* і " +"*encoding* будуть рядками, а *standalone* матиме значення ``1``, якщо " +"документ оголошено автономним, ``0``, якщо він оголошено не автономним, або " +"``-1`` якщо окреме речення було пропущено. Це доступно лише для Expat версії " +"1.95.0 або новішої." + +msgid "" +"Called when Expat begins parsing the document type declaration (``'``." +msgstr "" +"Звертався за коментарями. *data* — це текст коментаря, за винятком " +"початкового ``''``." + +msgid "" +"Called at the start of a CDATA section. This and :attr:" +"`EndCdataSectionHandler` are needed to be able to identify the syntactical " +"start and end for CDATA sections." +msgstr "" +"Викликається на початку розділу CDATA. Це та :attr:`EndCdataSectionHandler` " +"потрібні, щоб мати можливість ідентифікувати синтаксичний початок і кінець " +"для розділів CDATA." + +msgid "Called at the end of a CDATA section." +msgstr "Викликається в кінці розділу CDATA." + +msgid "" +"Called for any characters in the XML document for which no applicable " +"handler has been specified. This means characters that are part of a " +"construct which could be reported, but for which no handler has been " +"supplied." +msgstr "" +"Викликається для будь-яких символів у документі XML, для яких не вказано " +"відповідний обробник. Це означає символи, які є частиною конструкції, про " +"яку можна повідомити, але для яких не надано обробник." + +msgid "" +"This is the same as the :func:`DefaultHandler`, but doesn't inhibit " +"expansion of internal entities. The entity reference will not be passed to " +"the default handler." +msgstr "" +"Це те саме, що :func:`DefaultHandler`, але не перешкоджає розширенню " +"внутрішніх сутностей. Посилання на сутність не буде передано обробнику за " +"замовчуванням." + +msgid "" +"Called if the XML document hasn't been declared as being a standalone " +"document. This happens when there is an external subset or a reference to a " +"parameter entity, but the XML declaration does not set standalone to ``yes`` " +"in an XML declaration. If this handler returns ``0``, then the parser will " +"raise an :const:`XML_ERROR_NOT_STANDALONE` error. If this handler is not " +"set, no exception is raised by the parser for this condition." +msgstr "" +"Викликається, якщо документ XML не оголошено як окремий документ. Це " +"трапляється, коли існує зовнішня підмножина або посилання на сутність " +"параметра, але XML-декларація не встановлює standalone на ``yes`` в XML-" +"декларації. Якщо цей обробник повертає ``0``, тоді аналізатор викличе " +"помилку :const:`XML_ERROR_NOT_STANDALONE`. Якщо цей обробник не встановлено, " +"синтаксичний аналізатор не створює винятків для цієї умови." + +msgid "" +"Called for references to external entities. *base* is the current base, as " +"set by a previous call to :meth:`SetBase`. The public and system " +"identifiers, *systemId* and *publicId*, are strings if given; if the public " +"identifier is not given, *publicId* will be ``None``. The *context* value " +"is opaque and should only be used as described below." +msgstr "" +"Викликаються посилання на зовнішні сутності. *base* — це поточна база, " +"встановлена попереднім викликом :meth:`SetBase`. Загальнодоступні та " +"системні ідентифікатори, *systemId* і *publicId*, є рядками, якщо вони " +"задані; якщо публічний ідентифікатор не вказано, *publicId* буде ``None``. " +"Значення *context* є непрозорим і його слід використовувати лише як описано " +"нижче." + +msgid "" +"For external entities to be parsed, this handler must be implemented. It is " +"responsible for creating the sub-parser using " +"``ExternalEntityParserCreate(context)``, initializing it with the " +"appropriate callbacks, and parsing the entity. This handler should return " +"an integer; if it returns ``0``, the parser will raise an :const:" +"`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will continue." +msgstr "" +"Для аналізу зовнішніх об’єктів цей обробник має бути реалізований. Він " +"відповідає за створення суб-парсера за допомогою " +"``ExternalEntityParserCreate(context)``, його ініціалізацію за допомогою " +"відповідних зворотних викликів і аналіз сутності. Цей обробник має повертати " +"ціле число; якщо він повертає ``0``, аналізатор викличе помилку :const:" +"`XML_ERROR_EXTERNAL_ENTITY_HANDLING`, інакше аналіз продовжиться." + +msgid "" +"If this handler is not provided, external entities are reported by the :attr:" +"`DefaultHandler` callback, if provided." +msgstr "" +"Якщо цей обробник не надано, зовнішні сутності повідомляються зворотним " +"викликом :attr:`DefaultHandler`, якщо він надається." + +msgid "ExpatError Exceptions" +msgstr "Винятки ExpatError" + +msgid ":exc:`ExpatError` exceptions have a number of interesting attributes:" +msgstr "Винятки :exc:`ExpatError` мають ряд цікавих атрибутів:" + +msgid "" +"Expat's internal error number for the specific error. The :data:`errors." +"messages ` dictionary maps these error " +"numbers to Expat's error messages. For example::" +msgstr "" +"Внутрішній номер помилки Expat для конкретної помилки. Словник :data:`errors." +"messages ` зіставляє ці номери помилок із " +"повідомленнями про помилки Expat. Наприклад::" + +msgid "" +"The :mod:`~xml.parsers.expat.errors` module also provides error message " +"constants and a dictionary :data:`~xml.parsers.expat.errors.codes` mapping " +"these messages back to the error codes, see below." +msgstr "" +"Модуль :mod:`~xml.parsers.expat.errors` також надає константи повідомлень " +"про помилки та словник :data:`~xml.parsers.expat.errors.codes`, який " +"відображає ці повідомлення назад до кодів помилок, див. нижче." + +msgid "" +"Line number on which the error was detected. The first line is numbered " +"``1``." +msgstr "Номер рядка, в якому виявлено помилку. Перший рядок має номер ``1``." + +msgid "" +"Character offset into the line where the error occurred. The first column " +"is numbered ``0``." +msgstr "" +"Зміщення символу в рядку, де сталася помилка. Перший стовпець має номер " +"``0``." + +msgid "Example" +msgstr "приклад" + +msgid "" +"The following program defines three handlers that just print out their " +"arguments. ::" +msgstr "" +"Наступна програма визначає три обробники, які просто виводять свої " +"аргументи. ::" + +msgid "The output from this program is::" +msgstr "Результат цієї програми:" + +msgid "Content Model Descriptions" +msgstr "Опис моделі вмісту" + +msgid "" +"Content models are described using nested tuples. Each tuple contains four " +"values: the type, the quantifier, the name, and a tuple of children. " +"Children are simply additional content model descriptions." +msgstr "" +"Моделі вмісту описуються за допомогою вкладених кортежів. Кожен кортеж " +"містить чотири значення: тип, квантор, ім’я та кортеж дітей. Дочірні " +"елементи – це просто додаткові описи моделі контенту." + +msgid "" +"The values of the first two fields are constants defined in the :mod:`xml." +"parsers.expat.model` module. These constants can be collected in two " +"groups: the model type group and the quantifier group." +msgstr "" +"Значення перших двох полів є константами, визначеними в модулі :mod:`xml." +"parsers.expat.model`. Ці константи можна зібрати у дві групи: групу типу " +"моделі та групу квантора." + +msgid "The constants in the model type group are:" +msgstr "Константи в групі типу моделі:" + +msgid "" +"The element named by the model name was declared to have a content model of " +"``ANY``." +msgstr "" +"Елемент, названий іменем моделі, було оголошено таким, що має модель вмісту " +"\"БУДЬ-ЯКА\"." + +msgid "" +"The named element allows a choice from a number of options; this is used for " +"content models such as ``(A | B | C)``." +msgstr "" +"Названий елемент дозволяє вибирати з кількох варіантів; це використовується " +"для моделей вмісту, таких як ``(A | B | C)``." + +msgid "Elements which are declared to be ``EMPTY`` have this model type." +msgstr "Елементи, які оголошено як ``EMPTY``, мають цей тип моделі." + +msgid "" +"Models which represent a series of models which follow one after the other " +"are indicated with this model type. This is used for models such as ``(A, " +"B, C)``." +msgstr "" +"Моделі, які представляють серію моделей, що йдуть одна за одною, " +"позначаються цим типом моделі. Це використовується для таких моделей, як " +"\"(A, B, C)\"." + +msgid "The constants in the quantifier group are:" +msgstr "Константи в групі кванторів такі:" + +msgid "No modifier is given, so it can appear exactly once, as for ``A``." +msgstr "" +"Модифікатор не надано, тому він може з’явитися лише один раз, як для ``A``." + +msgid "The model is optional: it can appear once or not at all, as for ``A?``." +msgstr "" +"Модель необов'язкова: вона може з'являтися один раз або не з'являтися " +"взагалі, як для ``A?``." + +msgid "The model must occur one or more times (like ``A+``)." +msgstr "Модель має зустрічатися один або кілька разів (наприклад, ``A+``)." + +msgid "The model must occur zero or more times, as for ``A*``." +msgstr "Модель має зустрічатися нуль або більше разів, як для ``A*``." + +msgid "Expat error constants" +msgstr "Константи помилок Expat" + +msgid "" +"The following constants are provided in the :mod:`xml.parsers.expat.errors` " +"module. These constants are useful in interpreting some of the attributes " +"of the :exc:`ExpatError` exception objects raised when an error has " +"occurred. Since for backwards compatibility reasons, the constants' value is " +"the error *message* and not the numeric error *code*, you do this by " +"comparing its :attr:`code` attribute with :samp:`errors.codes[errors." +"XML_ERROR_{CONSTANT_NAME}]`." +msgstr "" +"Наступні константи надаються в модулі :mod:`xml.parsers.expat.errors`. Ці " +"константи корисні для інтерпретації деяких атрибутів об’єктів винятку :exc:" +"`ExpatError`, які виникають у разі виникнення помилки. Оскільки з міркувань " +"зворотної сумісності значенням констант є *повідомлення про помилку*, а не " +"числова *код* помилки, ви робите це, порівнюючи його атрибут :attr:`code` з :" +"samp:`errors.codes[errors.XML_ERROR_ {CONSTANT_NAME}]`." + +msgid "The ``errors`` module has the following attributes:" +msgstr "Модуль ``errors`` має такі атрибути:" + +msgid "A dictionary mapping string descriptions to their error codes." +msgstr "Словник, що зіставляє описи рядків із їхніми кодами помилок." + +msgid "A dictionary mapping numeric error codes to their string descriptions." +msgstr "Словник, що зіставляє числові коди помилок з їхніми описами рядків." + +msgid "" +"An entity reference in an attribute value referred to an external entity " +"instead of an internal entity." +msgstr "" +"Посилання на сутність у значенні атрибута посилалося на зовнішню сутність " +"замість внутрішньої сутності." + +msgid "" +"A character reference referred to a character which is illegal in XML (for " +"example, character ``0``, or '``�``')." +msgstr "" +"Посилання на символ стосується символу, який є недопустимим у XML " +"(наприклад, символ ``0`` або '``�``')." + +msgid "" +"An entity reference referred to an entity which was declared with a " +"notation, so cannot be parsed." +msgstr "" +"Посилання на сутність посилається на сутність, яка була оголошена за " +"допомогою нотації, тому не може бути проаналізована." + +msgid "An attribute was used more than once in a start tag." +msgstr "Атрибут використовувався більше одного разу в початковому тегу." + +msgid "" +"Raised when an input byte could not properly be assigned to a character; for " +"example, a NUL byte (value ``0``) in a UTF-8 input stream." +msgstr "" +"Викликається, коли вхідний байт не може бути належним чином призначений " +"символу; наприклад, байт NUL (значення ``0``) у вхідному потоці UTF-8." + +msgid "Something other than whitespace occurred after the document element." +msgstr "Щось інше, ніж пробіл, сталося після елемента документа." + +msgid "" +"An XML declaration was found somewhere other than the start of the input " +"data." +msgstr "Оголошення XML знайдено не на початку вхідних даних." + +msgid "" +"The document contains no elements (XML requires all documents to contain " +"exactly one top-level element).." +msgstr "" +"Документ не містить елементів (XML вимагає, щоб усі документи містили рівно " +"один елемент верхнього рівня)." + +msgid "Expat was not able to allocate memory internally." +msgstr "Expat не зміг внутрішньо виділити пам’ять." + +msgid "A parameter entity reference was found where it was not allowed." +msgstr "Знайдено посилання на сутність параметра там, де це було заборонено." + +msgid "An incomplete character was found in the input." +msgstr "У вхідних даних знайдено неповний символ." + +msgid "" +"An entity reference contained another reference to the same entity; possibly " +"via a different name, and possibly indirectly." +msgstr "" +"Посилання на сутність містило інше посилання на ту саму сутність; можливо, " +"через інше ім'я та, можливо, опосередковано." + +msgid "Some unspecified syntax error was encountered." +msgstr "Виявлено невідому синтаксичну помилку." + +msgid "An end tag did not match the innermost open start tag." +msgstr "Кінцевий тег не збігається з внутрішнім відкритим початковим тегом." + +msgid "" +"Some token (such as a start tag) was not closed before the end of the stream " +"or the next token was encountered." +msgstr "" +"Деякий маркер (наприклад, початковий тег) не було закрито до кінця потоку " +"або виявлено наступний маркер." + +msgid "A reference was made to an entity which was not defined." +msgstr "Було зроблено посилання на сутність, яка не була визначена." + +msgid "The document encoding is not supported by Expat." +msgstr "Кодування документа не підтримується Expat." + +msgid "A CDATA marked section was not closed." +msgstr "Розділ, позначений CDATA, не було закрито." + +msgid "" +"The parser determined that the document was not \"standalone\" though it " +"declared itself to be in the XML declaration, and the :attr:" +"`NotStandaloneHandler` was set and returned ``0``." +msgstr "" +"Синтаксичний аналізатор визначив, що документ не був \"автономним\", хоча " +"він оголошував себе таким у декларації XML, а :attr:`NotStandaloneHandler` " +"було встановлено та повернуто ``0``." + +msgid "" +"An operation was requested that requires DTD support to be compiled in, but " +"Expat was configured without DTD support. This should never be reported by " +"a standard build of the :mod:`xml.parsers.expat` module." +msgstr "" +"Був запит на операцію, яка потребує підтримки DTD для компіляції, але Expat " +"було налаштовано без підтримки DTD. Стандартна збірка модуля :mod:`xml." +"parsers.expat` ніколи не повинна повідомляти про це." + +msgid "" +"A behavioral change was requested after parsing started that can only be " +"changed before parsing has started. This is (currently) only raised by :" +"meth:`UseForeignDTD`." +msgstr "" +"Після початку аналізу надійшов запит на зміну поведінки, яку можна змінити " +"лише до початку аналізу. Це (наразі) викликає лише :meth:`UseForeignDTD`." + +msgid "An undeclared prefix was found when namespace processing was enabled." +msgstr "" +"Коли обробку простору імен було ввімкнено, виявлено неоголошений префікс." + +msgid "" +"The document attempted to remove the namespace declaration associated with a " +"prefix." +msgstr "" +"У документі зроблено спробу видалити декларацію простору імен, пов’язану з " +"префіксом." + +msgid "A parameter entity contained incomplete markup." +msgstr "Сутність параметра містила неповну розмітку." + +msgid "The document contained no document element at all." +msgstr "Документ взагалі не містив елемента документа." + +msgid "There was an error parsing a text declaration in an external entity." +msgstr "" +"Під час синтаксичного аналізу текстової декларації у зовнішній сутності " +"сталася помилка." + +msgid "Characters were found in the public id that are not allowed." +msgstr "У загальнодоступному ідентифікаторі знайдено неприпустимі символи." + +msgid "" +"The requested operation was made on a suspended parser, but isn't allowed. " +"This includes attempts to provide additional input or to stop the parser." +msgstr "" +"Потрібну операцію було виконано на призупиненому аналізаторі, але вона не " +"дозволена. Це включає спроби надати додаткові вхідні дані або зупинити " +"аналізатор." + +msgid "" +"An attempt to resume the parser was made when the parser had not been " +"suspended." +msgstr "" +"Спроба відновити аналізатор була зроблена, коли аналізатор не було " +"призупинено." + +msgid "This should not be reported to Python applications." +msgstr "Про це не слід повідомляти програми Python." + +msgid "" +"The requested operation was made on a parser which was finished parsing " +"input, but isn't allowed. This includes attempts to provide additional " +"input or to stop the parser." +msgstr "" +"Потрібну операцію було виконано на синтаксичному аналізаторі, який завершив " +"розбір вхідних даних, але це не дозволено. Це включає спроби надати " +"додаткові вхідні дані або зупинити аналізатор." + +msgid "" +"An attempt was made to undeclare reserved namespace prefix ``xml`` or to " +"bind it to another namespace URI." +msgstr "" + +msgid "" +"An attempt was made to declare or undeclare reserved namespace prefix " +"``xmlns``." +msgstr "" + +msgid "" +"An attempt was made to bind the URI of one the reserved namespace prefixes " +"``xml`` and ``xmlns`` to another namespace prefix." +msgstr "" + +msgid "" +"The limit on input amplification factor (from DTD and entities) has been " +"breached." +msgstr "" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The encoding string included in XML output should conform to the appropriate " +"standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See https://" +"www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://www.iana." +"org/assignments/character-sets/character-sets.xhtml." +msgstr "" +"Рядок кодування, включений у вивід XML, має відповідати відповідним " +"стандартам. Наприклад, \"UTF-8\" дійсний, а \"UTF8\" – ні. Див. https://www." +"w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl і https://www.iana.org/" +"assignments/character-sets/character-sets.xhtml." diff --git a/library/python.po b/library/python.po new file mode 100644 index 000000000..ab72ac467 --- /dev/null +++ b/library/python.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python Runtime Services" +msgstr "Служби виконання Python" + +msgid "" +"The modules described in this chapter provide a wide range of services " +"related to the Python interpreter and its interaction with its environment. " +"Here's an overview:" +msgstr "" +"Модулі, описані в цьому розділі, надають широкий спектр послуг, пов’язаних з " +"інтерпретатором Python та його взаємодією з його середовищем. Ось огляд:" diff --git a/library/queue.po b/library/queue.po new file mode 100644 index 000000000..670f1e6ea --- /dev/null +++ b/library/queue.po @@ -0,0 +1,394 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`queue` --- A synchronized queue class" +msgstr ":mod:`queue` --- Синхронізований клас черги" + +msgid "**Source code:** :source:`Lib/queue.py`" +msgstr "**Вихідний код:** :source:`Lib/queue.py`" + +msgid "" +"The :mod:`queue` module implements multi-producer, multi-consumer queues. It " +"is especially useful in threaded programming when information must be " +"exchanged safely between multiple threads. The :class:`Queue` class in this " +"module implements all the required locking semantics." +msgstr "" +"Модуль :mod:`queue` реалізує черги з кількома виробниками та кількома " +"споживачами. Це особливо корисно в потоковому програмуванні, коли необхідно " +"безпечно обмінюватися інформацією між декількома потоками. Клас :class:" +"`Queue` у цьому модулі реалізує всю необхідну семантику блокування." + +msgid "" +"The module implements three types of queue, which differ only in the order " +"in which the entries are retrieved. In a :abbr:`FIFO (first-in, first-out)` " +"queue, the first tasks added are the first retrieved. In a :abbr:`LIFO (last-" +"in, first-out)` queue, the most recently added entry is the first retrieved " +"(operating like a stack). With a priority queue, the entries are kept " +"sorted (using the :mod:`heapq` module) and the lowest valued entry is " +"retrieved first." +msgstr "" +"Модуль реалізує три типи черги, які відрізняються лише порядком отримання " +"записів. У черзі :abbr:`FIFO (першим увійшов, першим вийшов)` перші додані " +"завдання є першими отриманими. У черзі :abbr:`LIFO (останній прийшов, перший " +"вийшов)` останній доданий запис є першим отриманим (працює як стек). З " +"пріоритетною чергою записи зберігаються впорядкованими (за допомогою модуля :" +"mod:`heapq`), і запис із найменшим значенням отримується першим." + +msgid "" +"Internally, those three types of queues use locks to temporarily block " +"competing threads; however, they are not designed to handle reentrancy " +"within a thread." +msgstr "" +"Внутрішньо ці три типи черг використовують блокування для тимчасового " +"блокування конкуруючих потоків; однак вони не призначені для обробки " +"повторного входу в потік." + +msgid "" +"In addition, the module implements a \"simple\" :abbr:`FIFO (first-in, first-" +"out)` queue type, :class:`SimpleQueue`, whose specific implementation " +"provides additional guarantees in exchange for the smaller functionality." +msgstr "" +"Крім того, модуль реалізує \"простий\" тип черги :abbr:`FIFO (перший " +"увійшов, перший вийшов)`, :class:`SimpleQueue`, конкретна реалізація якого " +"забезпечує додаткові гарантії в обмін на меншу функціональність." + +msgid "The :mod:`queue` module defines the following classes and exceptions:" +msgstr "Модуль :mod:`queue` визначає такі класи та винятки:" + +msgid "" +"Constructor for a :abbr:`FIFO (first-in, first-out)` queue. *maxsize* is an " +"integer that sets the upperbound limit on the number of items that can be " +"placed in the queue. Insertion will block once this size has been reached, " +"until queue items are consumed. If *maxsize* is less than or equal to zero, " +"the queue size is infinite." +msgstr "" +"Конструктор для черги :abbr:`FIFO (першим увійшов, першим вийшов)`. " +"*maxsize* — це ціле число, яке встановлює верхню межу кількості елементів, " +"які можна розмістити в черзі. Вставлення буде заблоковано, коли буде " +"досягнуто цього розміру, доки елементи черги не будуть використані. Якщо " +"*maxsize* менше або дорівнює нулю, розмір черги є нескінченним." + +msgid "" +"Constructor for a :abbr:`LIFO (last-in, first-out)` queue. *maxsize* is an " +"integer that sets the upperbound limit on the number of items that can be " +"placed in the queue. Insertion will block once this size has been reached, " +"until queue items are consumed. If *maxsize* is less than or equal to zero, " +"the queue size is infinite." +msgstr "" +"Конструктор для :abbr:`LIFO (останній увійшов, перший вийшов)` черги. " +"*maxsize* — це ціле число, яке встановлює верхню межу кількості елементів, " +"які можна розмістити в черзі. Вставлення буде заблоковано після досягнення " +"цього розміру, доки елементи черги не будуть використані. Якщо *maxsize* " +"менше або дорівнює нулю, розмір черги є нескінченним." + +msgid "" +"Constructor for a priority queue. *maxsize* is an integer that sets the " +"upperbound limit on the number of items that can be placed in the queue. " +"Insertion will block once this size has been reached, until queue items are " +"consumed. If *maxsize* is less than or equal to zero, the queue size is " +"infinite." +msgstr "" +"Конструктор для пріоритетної черги. *maxsize* — це ціле число, яке " +"встановлює верхню межу кількості елементів, які можна розмістити в черзі. " +"Вставлення буде заблоковано після досягнення цього розміру, доки елементи " +"черги не будуть використані. Якщо *maxsize* менше або дорівнює нулю, розмір " +"черги є нескінченним." + +msgid "" +"The lowest valued entries are retrieved first (the lowest valued entry is " +"the one returned by ``sorted(list(entries))[0]``). A typical pattern for " +"entries is a tuple in the form: ``(priority_number, data)``." +msgstr "" +"Записи з найменшим значенням витягуються першими (запис із найменшим " +"значенням повертається ``sorted(list(entries))[0]``. Типовим шаблоном для " +"записів є кортеж у формі: ``(число_пріоритету, дані)``." + +msgid "" +"If the *data* elements are not comparable, the data can be wrapped in a " +"class that ignores the data item and only compares the priority number::" +msgstr "" +"Якщо елементи *data* не можна порівняти, дані можна загорнути в клас, який " +"ігнорує елемент даних і порівнює лише номер пріоритету::" + +msgid "" +"Constructor for an unbounded :abbr:`FIFO (first-in, first-out)` queue. " +"Simple queues lack advanced functionality such as task tracking." +msgstr "" +"Конструктор для необмеженої черги :abbr:`FIFO (першим увійшов, першим " +"вийшов)`. Прості черги не мають розширених функцій, таких як відстеження " +"завдань." + +msgid "" +"Exception raised when non-blocking :meth:`~Queue.get` (or :meth:`~Queue." +"get_nowait`) is called on a :class:`Queue` object which is empty." +msgstr "" +"Виняток виникає, коли неблокуючий :meth:`~Queue.get` (або :meth:`~Queue." +"get_nowait`) викликається для порожнього об’єкта :class:`Queue`." + +msgid "" +"Exception raised when non-blocking :meth:`~Queue.put` (or :meth:`~Queue." +"put_nowait`) is called on a :class:`Queue` object which is full." +msgstr "" +"Виняток виникає, коли неблокуючий :meth:`~Queue.put` (або :meth:`~Queue." +"put_nowait`) викликається для заповненого об’єкта :class:`Queue`." + +msgid "Queue Objects" +msgstr "Об'єкти черги" + +msgid "" +"Queue objects (:class:`Queue`, :class:`LifoQueue`, or :class:" +"`PriorityQueue`) provide the public methods described below." +msgstr "" +"Об’єкти черги (:class:`Queue`, :class:`LifoQueue` або :class:" +"`PriorityQueue`) надають публічні методи, описані нижче." + +msgid "" +"Return the approximate size of the queue. Note, qsize() > 0 doesn't " +"guarantee that a subsequent get() will not block, nor will qsize() < maxsize " +"guarantee that put() will not block." +msgstr "" +"Повертає приблизний розмір черги. Зауважте, що qsize() > 0 не гарантує, що " +"наступний get() не заблокує, а також qsize() < maxsize не гарантує, що put() " +"не заблокує." + +msgid "" +"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " +"returns ``True`` it doesn't guarantee that a subsequent call to put() will " +"not block. Similarly, if empty() returns ``False`` it doesn't guarantee " +"that a subsequent call to get() will not block." +msgstr "" +"Повертає ``True``, якщо черга порожня, ``False`` інакше. Якщо empty() " +"повертає ``True``, це не гарантує, що наступний виклик put() не " +"заблокується. Подібним чином, якщо empty() повертає ``False``, це не " +"гарантує, що наступний виклик get() не заблокується." + +msgid "" +"Return ``True`` if the queue is full, ``False`` otherwise. If full() " +"returns ``True`` it doesn't guarantee that a subsequent call to get() will " +"not block. Similarly, if full() returns ``False`` it doesn't guarantee that " +"a subsequent call to put() will not block." +msgstr "" +"Повертає ``True``, якщо черга заповнена, ``False`` інакше. Якщо full() " +"повертає ``True``, це не гарантує, що наступний виклик get() не " +"заблокується. Так само, якщо full() повертає ``False``, це не гарантує, що " +"наступний виклик put() не буде заблоковано." + +msgid "" +"Put *item* into the queue. If optional args *block* is true and *timeout* is " +"``None`` (the default), block if necessary until a free slot is available. " +"If *timeout* is a positive number, it blocks at most *timeout* seconds and " +"raises the :exc:`Full` exception if no free slot was available within that " +"time. Otherwise (*block* is false), put an item on the queue if a free slot " +"is immediately available, else raise the :exc:`Full` exception (*timeout* is " +"ignored in that case)." +msgstr "" +"Поставте *товар* в чергу. Якщо необов’язкові аргументи *block* мають " +"значення true, а *timeout* має значення ``None`` (за замовчуванням), за " +"потреби блокуйте, доки не з’явиться вільний слот. Якщо *timeout* є " +"позитивним числом, він блокує щонайбільше *timeout* секунд і викликає " +"виняток :exc:`Full`, якщо протягом цього часу не було вільного слота. В " +"іншому випадку (*block* має значення false), помістіть елемент у чергу, якщо " +"вільний слот є негайно доступним, інакше спричиніть виняток :exc:`Full` (у " +"цьому випадку *timeout* ігнорується)." + +msgid "Equivalent to ``put(item, block=False)``." +msgstr "Еквівалент ``put(item, block=False)``." + +msgid "" +"Remove and return an item from the queue. If optional args *block* is true " +"and *timeout* is ``None`` (the default), block if necessary until an item is " +"available. If *timeout* is a positive number, it blocks at most *timeout* " +"seconds and raises the :exc:`Empty` exception if no item was available " +"within that time. Otherwise (*block* is false), return an item if one is " +"immediately available, else raise the :exc:`Empty` exception (*timeout* is " +"ignored in that case)." +msgstr "" +"Видалити та повернути елемент із черги. Якщо необов’язкові аргументи *block* " +"мають значення true, а *timeout* має значення ``None`` (за замовчуванням), " +"за потреби блокуйте, доки елемент не стане доступним. Якщо *timeout* є " +"позитивним числом, він блокує щонайбільше *timeout* секунд і викликає " +"виключення :exc:`Empty`, якщо жоден елемент не був доступний протягом цього " +"часу. В іншому випадку (*block* — false), повертає елемент, якщо він одразу " +"доступний, інакше викликає виняток :exc:`Empty` (у цьому випадку *timeout* " +"ігнорується)." + +msgid "" +"Prior to 3.0 on POSIX systems, and for all versions on Windows, if *block* " +"is true and *timeout* is ``None``, this operation goes into an " +"uninterruptible wait on an underlying lock. This means that no exceptions " +"can occur, and in particular a SIGINT will not trigger a :exc:" +"`KeyboardInterrupt`." +msgstr "" +"Раніше 3.0 у системах POSIX і для всіх версій у Windows, якщо *block* має " +"значення true і *timeout* має значення ``None``, ця операція переходить у " +"режим безперервного очікування основного блокування. Це означає, що жодних " +"винятків не може бути, і, зокрема, SIGINT не ініціюватиме :exc:" +"`KeyboardInterrupt`." + +msgid "Equivalent to ``get(False)``." +msgstr "Еквівалент ``get(False)``." + +msgid "" +"Two methods are offered to support tracking whether enqueued tasks have been " +"fully processed by daemon consumer threads." +msgstr "" +"Пропонуються два методи підтримки відстеження того, чи завдання, поставлені " +"в чергу, були повністю оброблені потоками споживачів демона." + +msgid "" +"Indicate that a formerly enqueued task is complete. Used by queue consumer " +"threads. For each :meth:`get` used to fetch a task, a subsequent call to :" +"meth:`task_done` tells the queue that the processing on the task is complete." +msgstr "" +"Вказує на те, що завдання, яке раніше було в черзі, виконано. " +"Використовується потоками споживачів черги. Для кожного :meth:`get`, який " +"використовується для отримання завдання, наступний виклик :meth:`task_done` " +"повідомляє черзі, що обробку завдання завершено." + +msgid "" +"If a :meth:`join` is currently blocking, it will resume when all items have " +"been processed (meaning that a :meth:`task_done` call was received for every " +"item that had been :meth:`put` into the queue)." +msgstr "" +"Якщо :meth:`join` зараз блокується, воно відновиться, коли всі елементи буде " +"оброблено (це означає, що виклик :meth:`task_done` отримано для кожного " +"елемента, який був :meth:`put` у чергу) ." + +msgid "" +"Raises a :exc:`ValueError` if called more times than there were items placed " +"in the queue." +msgstr "" +"Викликає :exc:`ValueError`, якщо викликається стільки разів, скільки було " +"елементів, розміщених у черзі." + +msgid "Blocks until all items in the queue have been gotten and processed." +msgstr "Блокує, доки всі елементи в черзі не будуть отримані та оброблені." + +msgid "" +"The count of unfinished tasks goes up whenever an item is added to the " +"queue. The count goes down whenever a consumer thread calls :meth:" +"`task_done` to indicate that the item was retrieved and all work on it is " +"complete. When the count of unfinished tasks drops to zero, :meth:`join` " +"unblocks." +msgstr "" +"Кількість незавершених завдань зростає щоразу, коли елемент додається до " +"черги. Підрахунок зменшується щоразу, коли потік споживача викликає :meth:" +"`task_done`, щоб вказати, що елемент отримано та вся робота над ним " +"завершена. Коли кількість незавершених завдань падає до нуля, :meth:`join` " +"розблоковується." + +msgid "Example of how to wait for enqueued tasks to be completed::" +msgstr "Приклад очікування виконання завдань, поставлених у чергу::" + +msgid "SimpleQueue Objects" +msgstr "Об’єкти SimpleQueue" + +msgid "" +":class:`SimpleQueue` objects provide the public methods described below." +msgstr "" +"Об’єкти :class:`SimpleQueue` забезпечують публічні методи, описані нижче." + +msgid "" +"Return the approximate size of the queue. Note, qsize() > 0 doesn't " +"guarantee that a subsequent get() will not block." +msgstr "" +"Повертає приблизний розмір черги. Зауважте, що qsize() > 0 не гарантує, що " +"наступний get() не заблокує." + +msgid "" +"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " +"returns ``False`` it doesn't guarantee that a subsequent call to get() will " +"not block." +msgstr "" +"Повертає ``True``, якщо черга порожня, ``False`` інакше. Якщо empty() " +"повертає ``False``, це не гарантує, що наступний виклик get() не " +"заблокується." + +msgid "" +"Put *item* into the queue. The method never blocks and always succeeds " +"(except for potential low-level errors such as failure to allocate memory). " +"The optional args *block* and *timeout* are ignored and only provided for " +"compatibility with :meth:`Queue.put`." +msgstr "" +"Поставте *товар* в чергу. Метод ніколи не блокується і завжди виконується " +"успішно (за винятком потенційних низькорівневих помилок, таких як помилка " +"виділення пам’яті). Необов’язкові аргументи *block* і *timeout* ігноруються " +"та надаються лише для сумісності з :meth:`Queue.put`." + +msgid "" +"This method has a C implementation which is reentrant. That is, a ``put()`` " +"or ``get()`` call can be interrupted by another ``put()`` call in the same " +"thread without deadlocking or corrupting internal state inside the queue. " +"This makes it appropriate for use in destructors such as ``__del__`` methods " +"or :mod:`weakref` callbacks." +msgstr "" + +msgid "" +"Equivalent to ``put(item, block=False)``, provided for compatibility with :" +"meth:`Queue.put_nowait`." +msgstr "" +"Еквівалент ``put(item, block=False)``, передбачений для сумісності з :meth:" +"`Queue.put_nowait`." + +msgid "" +"Remove and return an item from the queue. If optional args *block* is true " +"and *timeout* is ``None`` (the default), block if necessary until an item is " +"available. If *timeout* is a positive number, it blocks at most *timeout* " +"seconds and raises the :exc:`Empty` exception if no item was available " +"within that time. Otherwise (*block* is false), return an item if one is " +"immediately available, else raise the :exc:`Empty` exception (*timeout* is " +"ignored in that case)." +msgstr "" +"Видалити та повернути елемент із черги. Якщо необов’язкові аргументи *block* " +"мають значення true, а *timeout* має значення ``None`` (за замовчуванням), " +"за потреби блокуйте, доки елемент не стане доступним. Якщо *timeout* є " +"позитивним числом, він блокує щонайбільше *timeout* секунд і викликає " +"виключення :exc:`Empty`, якщо жоден елемент не був доступний протягом цього " +"часу. В іншому випадку (*block* — false), повертає елемент, якщо він одразу " +"доступний, інакше викликає виняток :exc:`Empty` (у цьому випадку *timeout* " +"ігнорується)." + +msgid "Class :class:`multiprocessing.Queue`" +msgstr "Клас :class:`multiprocessing.Queue`" + +msgid "" +"A queue class for use in a multi-processing (rather than multi-threading) " +"context." +msgstr "" +"Клас черги для використання в багатопроцесорному (а не багатопоточному) " +"контексті." + +msgid "" +":class:`collections.deque` is an alternative implementation of unbounded " +"queues with fast atomic :meth:`~collections.deque.append` and :meth:" +"`~collections.deque.popleft` operations that do not require locking and also " +"support indexing." +msgstr "" +":class:`collections.deque` — це альтернативна реалізація необмежених черг із " +"швидкими атомарними операціями :meth:`~collections.deque.append` і :meth:" +"`~collections.deque.popleft`, які не потребують блокування, а також " +"підтримують індексація." diff --git a/library/quopri.po b/library/quopri.po new file mode 100644 index 000000000..b792a784a --- /dev/null +++ b/library/quopri.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`quopri` --- Encode and decode MIME quoted-printable data" +msgstr "" +":mod:`quopri` --- Кодування та декодування MIME-даних для друку в лапках" + +msgid "**Source code:** :source:`Lib/quopri.py`" +msgstr "**Вихідний код:** :source:`Lib/quopri.py`" + +msgid "" +"This module performs quoted-printable transport encoding and decoding, as " +"defined in :rfc:`1521`: \"MIME (Multipurpose Internet Mail Extensions) Part " +"One: Mechanisms for Specifying and Describing the Format of Internet Message " +"Bodies\". The quoted-printable encoding is designed for data where there are " +"relatively few nonprintable characters; the base64 encoding scheme available " +"via the :mod:`base64` module is more compact if there are many such " +"characters, as when sending a graphics file." +msgstr "" +"Цей модуль виконує транспортне кодування та декодування з можливістю друку в " +"лапках, як визначено в :rfc:`1521`: \"MIME (багатоцільові розширення " +"Інтернет-пошти) Частина перша: Механізми визначення та опису формату тіл " +"Інтернет-повідомлень\". Кодування для друку в лапках призначене для даних, " +"де є відносно мало недрукованих символів; схема кодування base64, доступна " +"через модуль :mod:`base64`, є більш компактною, якщо таких символів багато, " +"наприклад, під час надсилання графічного файлу." + +msgid "" +"Decode the contents of the *input* file and write the resulting decoded " +"binary data to the *output* file. *input* and *output* must be :term:`binary " +"file objects `. If the optional argument *header* is present " +"and true, underscore will be decoded as space. This is used to decode \"Q\"-" +"encoded headers as described in :rfc:`1522`: \"MIME (Multipurpose Internet " +"Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text\"." +msgstr "" +"Декодуйте вміст *вхідного* файлу та запишіть отримані декодовані двійкові " +"дані у *вихідний* файл. *вхід* і *вихід* мають бути :term:`бінарними " +"файловими об’єктами `. Якщо необов’язковий аргумент *header* " +"присутній і вірний, підкреслення буде розшифровано як пробіл. Це " +"використовується для декодування заголовків у кодуванні \"Q\", як описано в :" +"rfc:`1522`: \"MIME (багатоцільові розширення Інтернет-пошти) Частина друга: " +"Розширення заголовків повідомлень для тексту, відмінного від ASCII\"." + +msgid "" +"Encode the contents of the *input* file and write the resulting quoted-" +"printable data to the *output* file. *input* and *output* must be :term:" +"`binary file objects `. *quotetabs*, a non-optional flag which " +"controls whether to encode embedded spaces and tabs; when true it encodes " +"such embedded whitespace, and when false it leaves them unencoded. Note that " +"spaces and tabs appearing at the end of lines are always encoded, as per :" +"rfc:`1521`. *header* is a flag which controls if spaces are encoded as " +"underscores as per :rfc:`1522`." +msgstr "" +"Закодуйте вміст *вхідного* файлу та запишіть отримані цитовані дані для " +"друку у *вихідний* файл. *вхід* і *вихід* мають бути :term:`бінарними " +"файловими об’єктами `. *quotetabs*, необов’язковий прапорець, " +"який контролює, чи потрібно кодувати вбудовані пробіли та табуляції; коли " +"true, він кодує такі вбудовані пробіли, а коли false, залишає їх " +"незакодованими. Зверніть увагу, що пробіли та табуляції в кінці рядків " +"завжди кодуються відповідно до :rfc:`1521`. *header* — це позначка, яка " +"контролює, чи кодуються пробіли як підкреслення відповідно до :rfc:`1522`." + +msgid "" +"Like :func:`decode`, except that it accepts a source :class:`bytes` and " +"returns the corresponding decoded :class:`bytes`." +msgstr "" +"Подібно до :func:`decode`, за винятком того, що він приймає вихідні :class:" +"`bytes` і повертає відповідні декодовані :class:`bytes`." + +msgid "" +"Like :func:`encode`, except that it accepts a source :class:`bytes` and " +"returns the corresponding encoded :class:`bytes`. By default, it sends a " +"``False`` value to *quotetabs* parameter of the :func:`encode` function." +msgstr "" +"Подібно до :func:`encode`, за винятком того, що він приймає вихідні :class:" +"`bytes` і повертає відповідні закодовані :class:`bytes`. За замовчуванням " +"він надсилає значення ``False`` до параметра *quotetabs* функції :func:" +"`encode`." + +msgid "Module :mod:`base64`" +msgstr "Модуль :mod:`base64`" + +msgid "Encode and decode MIME base64 data" +msgstr "Кодування та декодування даних MIME base64" diff --git a/library/random.po b/library/random.po new file mode 100644 index 000000000..b0b8aff86 --- /dev/null +++ b/library/random.po @@ -0,0 +1,779 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Taras Kuzyo , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Taras Kuzyo , 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`random` --- Generate pseudo-random numbers" +msgstr ":mod:`random` --- Генерація псевдовипадкових чисел" + +msgid "**Source code:** :source:`Lib/random.py`" +msgstr "**Вихідний код:** :source:`Lib/random.py`" + +msgid "" +"This module implements pseudo-random number generators for various " +"distributions." +msgstr "" +"Цей модуль реалізує генератори псевдовипадкових чисел для різних розподілів." + +msgid "" +"For integers, there is uniform selection from a range. For sequences, there " +"is uniform selection of a random element, a function to generate a random " +"permutation of a list in-place, and a function for random sampling without " +"replacement." +msgstr "" +"Для цілих чисел існує рівномірний вибір із діапазону. Для послідовностей " +"існує рівномірний вибір випадкового елемента, функція для створення " +"випадкової перестановки списку на місці та функція для випадкової вибірки " +"без заміни." + +msgid "" +"On the real line, there are functions to compute uniform, normal (Gaussian), " +"lognormal, negative exponential, gamma, and beta distributions. For " +"generating distributions of angles, the von Mises distribution is available." +msgstr "" +"На реальній лінії існують функції для обчислення рівномірного, нормального " +"(гауссового), логарифмічного нормального, від’ємного експоненціального, " +"гамма- та бета-розподілу. Для генерації розподілу кутів доступний розподіл " +"фон Мізеса." + +msgid "" +"Almost all module functions depend on the basic function :func:`.random`, " +"which generates a random float uniformly in the semi-open range [0.0, 1.0). " +"Python uses the Mersenne Twister as the core generator. It produces 53-bit " +"precision floats and has a period of 2\\*\\*19937-1. The underlying " +"implementation in C is both fast and threadsafe. The Mersenne Twister is " +"one of the most extensively tested random number generators in existence. " +"However, being completely deterministic, it is not suitable for all " +"purposes, and is completely unsuitable for cryptographic purposes." +msgstr "" +"Майже всі функції модуля залежать від базової функції :func:`.random`, яка " +"рівномірно генерує випадкове число з плаваючою точкою в напіввідкритому " +"діапазоні [0.0, 1.0). Python використовує Mersenne Twister як основний " +"генератор. Він створює 53-розрядні числа з плаваючою точністю та має період " +"2\\*\\*19937-1. Базова реалізація в C є одночасно швидкою та " +"потокобезпечною. Mersenne Twister є одним із найбільш протестованих " +"генераторів випадкових чисел. Однак, будучи повністю детермінованим, він не " +"підходить для всіх цілей і зовсім непридатний для криптографічних цілей." + +msgid "" +"The functions supplied by this module are actually bound methods of a hidden " +"instance of the :class:`random.Random` class. You can instantiate your own " +"instances of :class:`Random` to get generators that don't share state." +msgstr "" +"Функції, які надає цей модуль, насправді є зв’язаними методами прихованого " +"екземпляра класу :class:`random.Random`. Ви можете створити власні " +"екземпляри :class:`Random`, щоб отримати генератори, які не мають спільного " +"стану." + +msgid "" +"Class :class:`Random` can also be subclassed if you want to use a different " +"basic generator of your own devising: in that case, override the :meth:" +"`~Random.random`, :meth:`~Random.seed`, :meth:`~Random.getstate`, and :meth:" +"`~Random.setstate` methods. Optionally, a new generator can supply a :meth:" +"`~Random.getrandbits` method --- this allows :meth:`randrange` to produce " +"selections over an arbitrarily large range." +msgstr "" +"Клас :class:`Random` також може бути підкласом, якщо ви бажаєте використати " +"інший базовий генератор за власним вигадуванням: у такому випадку замініть :" +"meth:`~Random.random`, :meth:`~Random.seed` , :meth:`~Random.getstate` і :" +"meth:`~Random.setstate` методи. За бажанням новий генератор може надати " +"метод :meth:`~Random.getrandbits` --- це дозволяє :meth:`randrange` " +"виробляти вибірки в довільно великому діапазоні." + +msgid "" +"The :mod:`random` module also provides the :class:`SystemRandom` class which " +"uses the system function :func:`os.urandom` to generate random numbers from " +"sources provided by the operating system." +msgstr "" +"Модуль :mod:`random` також надає клас :class:`SystemRandom`, який " +"використовує системну функцію :func:`os.urandom` для генерування випадкових " +"чисел із джерел, наданих операційною системою." + +msgid "" +"The pseudo-random generators of this module should not be used for security " +"purposes. For security or cryptographic uses, see the :mod:`secrets` module." +msgstr "" +"Псевдовипадкові генератори цього модуля не слід використовувати з метою " +"безпеки. Щоб отримати відомості про безпеку чи криптографію, перегляньте " +"модуль :mod:`secrets`." + +msgid "" +"M. Matsumoto and T. Nishimura, \"Mersenne Twister: A 623-dimensionally " +"equidistributed uniform pseudorandom number generator\", ACM Transactions on " +"Modeling and Computer Simulation Vol. 8, No. 1, January pp.3--30 1998." +msgstr "" +"M. Matsumoto and T. Nishimura, \"Mersenne Twister: 623-dimensionally " +"equidistributed uniform pseudorandom number generator\", ACM Transactions on " +"Modeling and Computer Simulation Vol. 8, № 1, січень 3-30 1998." + +msgid "" +"`Complementary-Multiply-with-Carry recipe `_ for a compatible alternative random number generator with " +"a long period and comparatively simple update operations." +msgstr "" +"`Рецепт додаткового множення з переносом `_ для сумісного альтернативного генератора випадкових чисел " +"із тривалим періодом і відносно простими операціями оновлення." + +msgid "Bookkeeping functions" +msgstr "Бухгалтерські функції" + +msgid "Initialize the random number generator." +msgstr "Ініціалізуйте генератор випадкових чисел." + +msgid "" +"If *a* is omitted or ``None``, the current system time is used. If " +"randomness sources are provided by the operating system, they are used " +"instead of the system time (see the :func:`os.urandom` function for details " +"on availability)." +msgstr "" +"Якщо *a* пропущено або ``None``, використовується поточний системний час. " +"Якщо джерела випадковості надаються операційною системою, вони " +"використовуються замість системного часу (дивіться функцію :func:`os." +"urandom`, щоб дізнатися більше про доступність)." + +msgid "If *a* is an int, it is used directly." +msgstr "Якщо *a* є int, воно використовується безпосередньо." + +msgid "" +"With version 2 (the default), a :class:`str`, :class:`bytes`, or :class:" +"`bytearray` object gets converted to an :class:`int` and all of its bits are " +"used." +msgstr "" +"У версії 2 (за замовчуванням) об’єкт :class:`str`, :class:`bytes` або :class:" +"`bytearray` перетворюється на :class:`int` і використовуються всі його біти." + +msgid "" +"With version 1 (provided for reproducing random sequences from older " +"versions of Python), the algorithm for :class:`str` and :class:`bytes` " +"generates a narrower range of seeds." +msgstr "" +"У версії 1 (надається для відтворення випадкових послідовностей зі старих " +"версій Python) алгоритм для :class:`str` і :class:`bytes` генерує вужчий " +"діапазон початкових значень." + +msgid "" +"Moved to the version 2 scheme which uses all of the bits in a string seed." +msgstr "" +"Перенесено на схему версії 2, яка використовує всі біти початкового рядка." + +msgid "" +"The *seed* must be one of the following types: *NoneType*, :class:`int`, :" +"class:`float`, :class:`str`, :class:`bytes`, or :class:`bytearray`." +msgstr "" + +msgid "" +"Return an object capturing the current internal state of the generator. " +"This object can be passed to :func:`setstate` to restore the state." +msgstr "" +"Повертає об’єкт, що фіксує поточний внутрішній стан генератора. Цей об’єкт " +"можна передати :func:`setstate` для відновлення стану." + +msgid "" +"*state* should have been obtained from a previous call to :func:`getstate`, " +"and :func:`setstate` restores the internal state of the generator to what it " +"was at the time :func:`getstate` was called." +msgstr "" +"*state* мав бути отриманий з попереднього виклику :func:`getstate`, а :func:" +"`setstate` відновлює внутрішній стан генератора до того, яким він був на " +"момент виклику :func:`getstate`." + +msgid "Functions for bytes" +msgstr "Функції для байтів" + +msgid "Generate *n* random bytes." +msgstr "Згенерувати *n* випадкових байтів." + +msgid "" +"This method should not be used for generating security tokens. Use :func:" +"`secrets.token_bytes` instead." +msgstr "" +"Цей метод не слід використовувати для генерації маркерів безпеки. Натомість " +"використовуйте :func:`secrets.token_bytes`." + +msgid "Functions for integers" +msgstr "Функції для цілих чисел" + +msgid "" +"Return a randomly selected element from ``range(start, stop, step)``. This " +"is equivalent to ``choice(range(start, stop, step))``, but doesn't actually " +"build a range object." +msgstr "" +"Повертає випадково вибраний елемент із ``діапазону (початок, зупинка, " +"крок)``. Це еквівалентно ``choice(range(start, stop, step))``, але фактично " +"не створює об’єкт діапазону." + +msgid "" +"The positional argument pattern matches that of :func:`range`. Keyword " +"arguments should not be used because the function may use them in unexpected " +"ways." +msgstr "" +"Шаблон позиційного аргументу відповідає шаблону :func:`range`. Не слід " +"використовувати аргументи ключових слів, оскільки функція може використати " +"їх несподіваним чином." + +msgid "" +":meth:`randrange` is more sophisticated about producing equally distributed " +"values. Formerly it used a style like ``int(random()*n)`` which could " +"produce slightly uneven distributions." +msgstr "" +":meth:`randrange` більш складний у створенні рівномірно розподілених " +"значень. Раніше він використовував такий стиль, як ``int(random()*n)``, який " +"міг створити дещо нерівномірний розподіл." + +msgid "" +"The automatic conversion of non-integer types to equivalent integers is " +"deprecated. Currently ``randrange(10.0)`` is losslessly converted to " +"``randrange(10)``. In the future, this will raise a :exc:`TypeError`." +msgstr "" +"Автоматичне перетворення нецілих типів на еквівалентні цілі застаріло. " +"Наразі ``randrange(10.0)`` без втрат перетворюється на ``randrange(10)``. У " +"майбутньому це викличе :exc:`TypeError`." + +msgid "" +"The exception raised for non-integral values such as ``randrange(10.5)`` or " +"``randrange('10')`` will be changed from :exc:`ValueError` to :exc:" +"`TypeError`." +msgstr "" +"Виняток, створений для нецілісних значень, таких як ``randrange(10.5)`` або " +"``randrange('10')`` буде змінено з :exc:`ValueError` на :exc:`TypeError`." + +msgid "" +"Return a random integer *N* such that ``a <= N <= b``. Alias for " +"``randrange(a, b+1)``." +msgstr "" +"Повертає випадкове ціле число *N* таке, що ``a <= N <= b``. Псевдонім для " +"``randrange(a, b+1)``." + +msgid "" +"Returns a non-negative Python integer with *k* random bits. This method is " +"supplied with the MersenneTwister generator and some other generators may " +"also provide it as an optional part of the API. When available, :meth:" +"`getrandbits` enables :meth:`randrange` to handle arbitrarily large ranges." +msgstr "" +"Повертає невід’ємне ціле число Python із *k* випадковими бітами. Цей метод " +"постачається з генератором MersenneTwister, а деякі інші генератори також " +"можуть надавати його як необов’язкову частину API. Якщо доступний, :meth:" +"`getrandbits` дозволяє :meth:`randrange` обробляти довільно великі діапазони." + +msgid "This method now accepts zero for *k*." +msgstr "Цей метод тепер приймає нуль для *k*." + +msgid "Functions for sequences" +msgstr "Функції для послідовностей" + +msgid "" +"Return a random element from the non-empty sequence *seq*. If *seq* is " +"empty, raises :exc:`IndexError`." +msgstr "" +"Повертає випадковий елемент із непорожньої послідовності *seq*. Якщо *seq* " +"порожній, викликає :exc:`IndexError`." + +msgid "" +"Return a *k* sized list of elements chosen from the *population* with " +"replacement. If the *population* is empty, raises :exc:`IndexError`." +msgstr "" +"Повертає список елементів розміром *k*, вибраних із *популяції* із заміною. " +"Якщо *популяція* порожня, викликає :exc:`IndexError`." + +msgid "" +"If a *weights* sequence is specified, selections are made according to the " +"relative weights. Alternatively, if a *cum_weights* sequence is given, the " +"selections are made according to the cumulative weights (perhaps computed " +"using :func:`itertools.accumulate`). For example, the relative weights " +"``[10, 5, 30, 5]`` are equivalent to the cumulative weights ``[10, 15, 45, " +"50]``. Internally, the relative weights are converted to cumulative weights " +"before making selections, so supplying the cumulative weights saves work." +msgstr "" +"Якщо вказано послідовність *ваг*, вибір робиться відповідно до відносних " +"ваг. Крім того, якщо вказано послідовність *cum_weights*, вибір робиться " +"відповідно до кумулятивних ваг (можливо, обчислених за допомогою :func:" +"`itertools.accumulate`). Наприклад, відносні ваги ``[10, 5, 30, 5]`` " +"еквівалентні кумулятивним вагам ``[10, 15, 45, 50]``. Внутрішньо відносні " +"ваги перетворюються на кумулятивні ваги перед вибором, тому надання " +"кумулятивних ваг економить роботу." + +msgid "" +"If neither *weights* nor *cum_weights* are specified, selections are made " +"with equal probability. If a weights sequence is supplied, it must be the " +"same length as the *population* sequence. It is a :exc:`TypeError` to " +"specify both *weights* and *cum_weights*." +msgstr "" +"Якщо ані *weights*, ані *cum_weights* не вказано, вибір робиться з рівною " +"ймовірністю. Якщо надається послідовність ваг, вона має бути такої ж " +"довжини, що й послідовність *населеності*. Це :exc:`TypeError`, якщо вказати " +"*weights* і *cum_weights*." + +msgid "" +"The *weights* or *cum_weights* can use any numeric type that interoperates " +"with the :class:`float` values returned by :func:`random` (that includes " +"integers, floats, and fractions but excludes decimals). Weights are assumed " +"to be non-negative and finite. A :exc:`ValueError` is raised if all weights " +"are zero." +msgstr "" +"*Weights* або *cum_weights* можуть використовувати будь-який числовий тип, " +"який взаємодіє зі значеннями :class:`float`, які повертає :func:`random` (це " +"включає цілі числа, числа з плаваючою точкою та дроби, але виключає " +"десяткові). Ваги вважаються невід’ємними та кінцевими. Помилка :exc:" +"`ValueError` виникає, якщо всі ваги дорівнюють нулю." + +msgid "" +"For a given seed, the :func:`choices` function with equal weighting " +"typically produces a different sequence than repeated calls to :func:" +"`choice`. The algorithm used by :func:`choices` uses floating point " +"arithmetic for internal consistency and speed. The algorithm used by :func:" +"`choice` defaults to integer arithmetic with repeated selections to avoid " +"small biases from round-off error." +msgstr "" +"Для певного початкового числа функція :func:`choices` з однаковою вагою " +"зазвичай створює іншу послідовність, ніж повторювані виклики :func:`choice`. " +"Алгоритм, який використовує :func:`choices`, використовує арифметику з " +"плаваючою комою для внутрішньої узгодженості та швидкості. Алгоритм, який " +"використовує :func:`choice`, за замовчуванням використовує цілочисельну " +"арифметику з повторюваними виборами, щоб уникнути невеликих відхилень через " +"помилку округлення." + +msgid "Raises a :exc:`ValueError` if all weights are zero." +msgstr "Викликає :exc:`ValueError`, якщо всі ваги дорівнюють нулю." + +msgid "Shuffle the sequence *x* in place." +msgstr "Перемішайте послідовність *x* на місці." + +msgid "" +"To shuffle an immutable sequence and return a new shuffled list, use " +"``sample(x, k=len(x))`` instead." +msgstr "" +"Щоб перетасувати незмінну послідовність і повернути новий перетасований " +"список, замість цього використовуйте ``sample(x, k=len(x))``." + +msgid "" +"Note that even for small ``len(x)``, the total number of permutations of *x* " +"can quickly grow larger than the period of most random number generators. " +"This implies that most permutations of a long sequence can never be " +"generated. For example, a sequence of length 2080 is the largest that can " +"fit within the period of the Mersenne Twister random number generator." +msgstr "" +"Зауважте, що навіть для невеликого ``len(x)`` загальна кількість " +"перестановок *x* може швидко зрости більше, ніж період більшості генераторів " +"випадкових чисел. Це означає, що більшість перестановок довгої послідовності " +"ніколи не можуть бути згенеровані. Наприклад, послідовність довжиною 2080 є " +"найбільшою, яка може поміститися в період генератора випадкових чисел " +"Мерсенна Твістера." + +msgid "The optional parameter *random*." +msgstr "Додатковий параметр *random*." + +msgid "" +"Return a *k* length list of unique elements chosen from the population " +"sequence. Used for random sampling without replacement." +msgstr "" + +msgid "" +"Returns a new list containing elements from the population while leaving the " +"original population unchanged. The resulting list is in selection order so " +"that all sub-slices will also be valid random samples. This allows raffle " +"winners (the sample) to be partitioned into grand prize and second place " +"winners (the subslices)." +msgstr "" +"Повертає новий список, що містить елементи з сукупності, залишаючи вихідну " +"сукупність без змін. Отриманий список складається в порядку відбору, тому " +"всі підзрізи також будуть дійсними випадковими вибірками. Це дозволяє " +"розділити переможців розіграшу (зразок) на головний приз і переможців, які " +"посідають друге місце (підрозділи)." + +msgid "" +"Members of the population need not be :term:`hashable` or unique. If the " +"population contains repeats, then each occurrence is a possible selection in " +"the sample." +msgstr "" +"Члени сукупності не повинні бути :term:`hashable` або унікальними. Якщо " +"популяція містить повтори, то кожен випадок є можливим вибором у вибірці." + +msgid "" +"Repeated elements can be specified one at a time or with the optional " +"keyword-only *counts* parameter. For example, ``sample(['red', 'blue'], " +"counts=[4, 2], k=5)`` is equivalent to ``sample(['red', 'red', 'red', 'red', " +"'blue', 'blue'], k=5)``." +msgstr "" +"Повторювані елементи можна вказувати по одному або за допомогою " +"необов’язкового параметра *counts*, що містить лише ключове слово. " +"Наприклад, ``sample(['red', 'blue'], counts=[4, 2], k=5)`` еквівалентно " +"``sample(['red', 'red', 'red' , 'червоний', 'синій', 'синій'], k=5)``." + +msgid "" +"To choose a sample from a range of integers, use a :func:`range` object as " +"an argument. This is especially fast and space efficient for sampling from " +"a large population: ``sample(range(10000000), k=60)``." +msgstr "" +"Щоб вибрати вибірку з діапазону цілих чисел, використовуйте об’єкт :func:" +"`range` як аргумент. Це особливо швидко та ефективно для вибірки з великої " +"сукупності: ``sample(range(10000000), k=60)``." + +msgid "" +"If the sample size is larger than the population size, a :exc:`ValueError` " +"is raised." +msgstr "" +"Якщо розмір вибірки більший за розмір сукупності, виникає помилка :exc:" +"`ValueError`." + +msgid "Added the *counts* parameter." +msgstr "Додано параметр *counts*." + +msgid "" +"The *population* must be a sequence. Automatic conversion of sets to lists " +"is no longer supported." +msgstr "" + +msgid "Real-valued distributions" +msgstr "Дійсні розподіли" + +msgid "" +"The following functions generate specific real-valued distributions. " +"Function parameters are named after the corresponding variables in the " +"distribution's equation, as used in common mathematical practice; most of " +"these equations can be found in any statistics text." +msgstr "" +"Наступні функції генерують конкретні дійсні розподіли. Параметри функції " +"називаються за відповідними змінними в рівнянні розподілу, як це " +"використовується в звичайній математичній практиці; більшість із цих рівнянь " +"можна знайти в будь-якому статистичному тексті." + +msgid "Return the next random floating point number in the range [0.0, 1.0)." +msgstr "" +"Повертає наступне випадкове число з плаваючою комою в діапазоні [0,0, 1,0)." + +msgid "" +"Return a random floating point number *N* such that ``a <= N <= b`` for ``a " +"<= b`` and ``b <= N <= a`` for ``b < a``." +msgstr "" +"Повертає випадкове число з плаваючою комою *N* таке, що ``a <= N <= b`` для " +"``a <= b`` і ``b <= N <= a`` для ``b < a``." + +msgid "" +"The end-point value ``b`` may or may not be included in the range depending " +"on floating-point rounding in the equation ``a + (b-a) * random()``." +msgstr "" +"Кінцеве значення ``b`` може або не може бути включено в діапазон залежно від " +"округлення числа з плаваючою комою в рівнянні ``a + (b-a) * random()``." + +msgid "" +"Return a random floating point number *N* such that ``low <= N <= high`` and " +"with the specified *mode* between those bounds. The *low* and *high* bounds " +"default to zero and one. The *mode* argument defaults to the midpoint " +"between the bounds, giving a symmetric distribution." +msgstr "" +"Повертає випадкове число з плаваючою комою *N* таке, що ``низький <= N <= " +"високий`` і з указаним *режимом* між цими межами. *Низькі* та *високі* межі " +"за умовчанням дорівнюють нулю та одиниці. Аргумент *mode* за замовчуванням " +"дорівнює середній точці між межами, що дає симетричний розподіл." + +msgid "" +"Beta distribution. Conditions on the parameters are ``alpha > 0`` and " +"``beta > 0``. Returned values range between 0 and 1." +msgstr "" +"Бета-розповсюдження. Умови параметрів: ``альфа > 0`` і ``бета > 0``. " +"Діапазон повернених значень від 0 до 1." + +msgid "" +"Exponential distribution. *lambd* is 1.0 divided by the desired mean. It " +"should be nonzero. (The parameter would be called \"lambda\", but that is a " +"reserved word in Python.) Returned values range from 0 to positive infinity " +"if *lambd* is positive, and from negative infinity to 0 if *lambd* is " +"negative." +msgstr "" +"Експоненціальний розподіл. *lambd* дорівнює 1,0, поділеному на бажане " +"середнє. Воно повинно бути відмінним від нуля. (Параметр мав би назву " +"\"лямбда\", але це зарезервоване слово в Python.) Повернені значення " +"варіюються від 0 до нескінченності, якщо *lambd* додатне, і від " +"нескінченності до 0, якщо *lambd* є від’ємним." + +msgid "" +"Gamma distribution. (*Not* the gamma function!) Conditions on the " +"parameters are ``alpha > 0`` and ``beta > 0``." +msgstr "" +"Гамма-розподіл. (*Не* функція гамма!) Умови для параметрів: ``альфа > 0`` і " +"``бета > 0``." + +msgid "The probability distribution function is::" +msgstr "Функція розподілу ймовірностей:" + +msgid "" +"Normal distribution, also called the Gaussian distribution. *mu* is the " +"mean, and *sigma* is the standard deviation. This is slightly faster than " +"the :func:`normalvariate` function defined below." +msgstr "" +"Нормальний розподіл, також званий розподілом Гауса. *mu* — середнє, а " +"*sigma* — стандартне відхилення. Це трохи швидше, ніж функція :func:" +"`normalvariate`, визначена нижче." + +msgid "" +"Multithreading note: When two threads call this function simultaneously, it " +"is possible that they will receive the same return value. This can be " +"avoided in three ways. 1) Have each thread use a different instance of the " +"random number generator. 2) Put locks around all calls. 3) Use the slower, " +"but thread-safe :func:`normalvariate` function instead." +msgstr "" +"Примітка щодо багатопоточності: коли два потоки викликають цю функцію " +"одночасно, можливо, вони отримають однакове повернуте значення. Цього можна " +"уникнути трьома способами. 1) Нехай кожен потік використовує окремий " +"екземпляр генератора випадкових чисел. 2) Заблокуйте всі дзвінки. 3) " +"Натомість використовуйте повільнішу, але потокобезпечну функцію :func:" +"`normalvariate`." + +msgid "*mu* and *sigma* now have default arguments." +msgstr "" + +msgid "" +"Log normal distribution. If you take the natural logarithm of this " +"distribution, you'll get a normal distribution with mean *mu* and standard " +"deviation *sigma*. *mu* can have any value, and *sigma* must be greater " +"than zero." +msgstr "" +"Лог нормального розподілу. Якщо взяти натуральний логарифм цього розподілу, " +"ви отримаєте нормальний розподіл із середнім *mu* і стандартним відхиленням " +"*sigma*. *mu* може мати будь-яке значення, а *sigma* має бути більше нуля." + +msgid "" +"Normal distribution. *mu* is the mean, and *sigma* is the standard " +"deviation." +msgstr "" +"Нормальний розподіл. *mu* — середнє, а *sigma* — стандартне відхилення." + +msgid "" +"*mu* is the mean angle, expressed in radians between 0 and 2\\*\\ *pi*, and " +"*kappa* is the concentration parameter, which must be greater than or equal " +"to zero. If *kappa* is equal to zero, this distribution reduces to a " +"uniform random angle over the range 0 to 2\\*\\ *pi*." +msgstr "" +"*mu* — середній кут, виражений у радіанах між 0 і 2\\*\\ *pi*, а *kappa* — " +"параметр концентрації, який має бути більшим або дорівнювати нулю. Якщо " +"*kappa* дорівнює нулю, цей розподіл зменшується до рівномірного випадкового " +"кута в діапазоні від 0 до 2\\*\\ *pi*." + +msgid "Pareto distribution. *alpha* is the shape parameter." +msgstr "Розподіл Парето. *альфа* — це параметр форми." + +msgid "" +"Weibull distribution. *alpha* is the scale parameter and *beta* is the " +"shape parameter." +msgstr "" +"Розподіл Вейбулла. *альфа* — параметр масштабу, а *бета* — параметр форми." + +msgid "Alternative Generator" +msgstr "Альтернативний генератор" + +msgid "" +"Class that implements the default pseudo-random number generator used by " +"the :mod:`random` module." +msgstr "" +"Клас, який реалізує генератор псевдовипадкових чисел за замовчуванням, який " +"використовується модулем :mod:`random`." + +msgid "" +"In the future, the *seed* must be one of the following types: :class:" +"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :" +"class:`bytearray`." +msgstr "" +"У майбутньому *seed* має мати один із таких типів: :class:`NoneType`, :class:" +"`int`, :class:`float`, :class:`str`, :class:`bytes` або :class:`bytearray`." + +msgid "" +"Class that uses the :func:`os.urandom` function for generating random " +"numbers from sources provided by the operating system. Not available on all " +"systems. Does not rely on software state, and sequences are not " +"reproducible. Accordingly, the :meth:`seed` method has no effect and is " +"ignored. The :meth:`getstate` and :meth:`setstate` methods raise :exc:" +"`NotImplementedError` if called." +msgstr "" +"Клас, який використовує функцію :func:`os.urandom` для генерації випадкових " +"чисел із джерел, наданих операційною системою. Доступно не на всіх системах. " +"Не залежить від стану програмного забезпечення, і послідовності не " +"відтворюються. Відповідно, метод :meth:`seed` не має ефекту та ігнорується. " +"Методи :meth:`getstate` і :meth:`setstate` під час виклику викликають :exc:" +"`NotImplementedError`." + +msgid "Notes on Reproducibility" +msgstr "Примітки щодо відтворюваності" + +msgid "" +"Sometimes it is useful to be able to reproduce the sequences given by a " +"pseudo-random number generator. By re-using a seed value, the same sequence " +"should be reproducible from run to run as long as multiple threads are not " +"running." +msgstr "" +"Іноді корисно мати можливість відтворити послідовності, задані генератором " +"псевдовипадкових чисел. Завдяки повторному використанню початкового значення " +"одна і та ж послідовність повинна відтворюватися від прогону до прогону, " +"доки не запущено кілька потоків." + +msgid "" +"Most of the random module's algorithms and seeding functions are subject to " +"change across Python versions, but two aspects are guaranteed not to change:" +msgstr "" +"Більшість алгоритмів і функцій заповнення випадкового модуля можуть " +"змінюватися в різних версіях Python, але два аспекти гарантовано не " +"зміняться:" + +msgid "" +"If a new seeding method is added, then a backward compatible seeder will be " +"offered." +msgstr "" +"Якщо додано новий метод посіву, буде запропоновано зворотно сумісний сівалка." + +msgid "" +"The generator's :meth:`~Random.random` method will continue to produce the " +"same sequence when the compatible seeder is given the same seed." +msgstr "" +"Метод генератора :meth:`~Random.random` продовжуватиме створювати ту саму " +"послідовність, коли сумісному розсівачу буде надано те саме початкове " +"значення." + +msgid "Examples" +msgstr "Приклади" + +msgid "Basic examples::" +msgstr "Основні приклади::" + +msgid "Simulations::" +msgstr "Симуляції::" + +msgid "" +"Example of `statistical bootstrapping `_ using resampling with replacement to estimate " +"a confidence interval for the mean of a sample::" +msgstr "" +"Приклад `статистичного завантаження `_ з використанням повторної вибірки із заміною " +"для оцінки довірчого інтервалу для середнього значення вибірки:" + +msgid "" +"Example of a `resampling permutation test `_ to determine the statistical " +"significance or `p-value `_ of an " +"observed difference between the effects of a drug versus a placebo::" +msgstr "" +"Приклад `перестановочного тесту повторної вибірки `_ для визначення " +"статистичної значущості або `p-значення `_ спостережуваної різниці між ефектами препарату та плацебо::" + +msgid "" +"Simulation of arrival times and service deliveries for a multiserver queue::" +msgstr "Симуляція часу прибуття та надання послуг для багатосерверної черги::" + +msgid "" +"`Statistics for Hackers `_ a " +"video tutorial by `Jake Vanderplas `_ on statistical analysis using just a few fundamental " +"concepts including simulation, sampling, shuffling, and cross-validation." +msgstr "" +"`Statistics for Hackers `_ " +"відеоурок від `Jake Vanderplas `_ зі статистичного аналізу з використанням лише кількох " +"фундаментальних концепцій, включаючи моделювання, вибірку, перетасування та " +"перехресну перевірку." + +msgid "" +"`Economics Simulation `_ a simulation of a marketplace by `Peter Norvig `_ that shows effective use of many of the tools and " +"distributions provided by this module (gauss, uniform, sample, betavariate, " +"choice, triangular, and randrange)." +msgstr "" + +msgid "" +"`A Concrete Introduction to Probability (using Python) `_ a tutorial by `Peter " +"Norvig `_ covering the basics of probability " +"theory, how to write simulations, and how to perform data analysis using " +"Python." +msgstr "" + +msgid "Recipes" +msgstr "рецепти" + +msgid "" +"These recipes show how to efficiently make random selections from the " +"combinatoric iterators in the :mod:`itertools` module:" +msgstr "" + +msgid "" +"The default :func:`.random` returns multiples of 2⁻⁵³ in the range *0.0 ≤ x " +"< 1.0*. All such numbers are evenly spaced and are exactly representable as " +"Python floats. However, many other representable floats in that interval " +"are not possible selections. For example, ``0.05954861408025609`` isn't an " +"integer multiple of 2⁻⁵³." +msgstr "" +"За умовчанням :func:`.random` повертає кратні 2⁻⁵³ у діапазоні *0,0 ≤ x < " +"1,0*. Усі такі числа розташовані на рівних інтервалах і точно представлені " +"як плаваючі числа Python. Однак багато інших репрезентованих плаваючих " +"значень у цьому інтервалі не є можливим вибором. Наприклад, " +"``0,05954861408025609`` не є цілим числом, кратним 2⁻⁵³." + +msgid "" +"The following recipe takes a different approach. All floats in the interval " +"are possible selections. The mantissa comes from a uniform distribution of " +"integers in the range *2⁵² ≤ mantissa < 2⁵³*. The exponent comes from a " +"geometric distribution where exponents smaller than *-53* occur half as " +"often as the next larger exponent." +msgstr "" +"Наступний рецепт передбачає інший підхід. Усі плаваючі значення в інтервалі " +"є можливими виборами. Мантиса походить від рівномірного розподілу цілих " +"чисел у діапазоні *2⁵² ≤ мантиса < 2⁵³*. Показник степеня походить із " +"геометричного розподілу, де показники степеня, менші за *-53*, зустрічаються " +"вдвічі рідше, ніж наступний більший показник степеня." + +msgid "" +"All :ref:`real valued distributions ` in the " +"class will use the new method::" +msgstr "" +"Усі :ref:`дійсні розподіли ` у класі " +"використовуватимуть новий метод::" + +msgid "" +"The recipe is conceptually equivalent to an algorithm that chooses from all " +"the multiples of 2⁻¹⁰⁷⁴ in the range *0.0 ≤ x < 1.0*. All such numbers are " +"evenly spaced, but most have to be rounded down to the nearest representable " +"Python float. (The value 2⁻¹⁰⁷⁴ is the smallest positive unnormalized float " +"and is equal to ``math.ulp(0.0)``.)" +msgstr "" +"Рецепт концептуально еквівалентний алгоритму, який вибирає з усіх кратних " +"2⁻¹⁰⁷⁴ у діапазоні *0,0 ≤ x < 1,0*. Усі такі числа розташовані рівномірно, " +"але більшість із них має бути округлено до найближчого числа з плаваючою " +"точкою, яке можна представити Python. (Значення 2⁻¹⁰⁷⁴ є найменшим " +"позитивним ненормалізованим числом із плаваючою точкою та дорівнює ``math." +"ulp(0.0)``.)" + +msgid "" +"`Generating Pseudo-random Floating-Point Values `_ a paper by Allen B. Downey describing " +"ways to generate more fine-grained floats than normally generated by :func:`." +"random`." +msgstr "" +"`Generating Pseudo-random Floating-Point Values `_ стаття Аллена Б. Дауні, яка описує " +"способи генерації більш дрібнозернистих значень з плаваючою комою, ніж " +"зазвичай генерує :func:`.random`." diff --git a/library/re.po b/library/re.po new file mode 100644 index 000000000..2afafd0fa --- /dev/null +++ b/library/re.po @@ -0,0 +1,2264 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`re` --- Regular expression operations" +msgstr ":mod:`re` --- Операції регулярних виразів" + +msgid "**Source code:** :source:`Lib/re/`" +msgstr "" + +msgid "" +"This module provides regular expression matching operations similar to those " +"found in Perl." +msgstr "" +"Цей модуль забезпечує операції зіставлення регулярних виразів, подібні до " +"тих, які є в Perl." + +msgid "" +"Both patterns and strings to be searched can be Unicode strings (:class:" +"`str`) as well as 8-bit strings (:class:`bytes`). However, Unicode strings " +"and 8-bit strings cannot be mixed: that is, you cannot match a Unicode " +"string with a byte pattern or vice-versa; similarly, when asking for a " +"substitution, the replacement string must be of the same type as both the " +"pattern and the search string." +msgstr "" +"І шаблони, і рядки для пошуку можуть бути рядками Unicode (:class:`str`), а " +"також 8-бітовими рядками (:class:`bytes`). Однак рядки Unicode та 8-бітові " +"рядки не можна змішувати: тобто ви не можете зіставити рядок Unicode з " +"шаблоном байтів або навпаки; так само, коли запитується заміна, рядок заміни " +"має бути того самого типу, що й шаблон, і рядок пошуку." + +msgid "" +"Regular expressions use the backslash character (``'\\'``) to indicate " +"special forms or to allow special characters to be used without invoking " +"their special meaning. This collides with Python's usage of the same " +"character for the same purpose in string literals; for example, to match a " +"literal backslash, one might have to write ``'\\\\\\\\'`` as the pattern " +"string, because the regular expression must be ``\\\\``, and each backslash " +"must be expressed as ``\\\\`` inside a regular Python string literal. Also, " +"please note that any invalid escape sequences in Python's usage of the " +"backslash in string literals now generate a :exc:`DeprecationWarning` and in " +"the future this will become a :exc:`SyntaxError`. This behaviour will happen " +"even if it is a valid escape sequence for a regular expression." +msgstr "" +"У регулярних виразах використовується символ зворотної косої риски " +"(``'\\'``), щоб позначити спеціальні форми або дозволити використовувати " +"спеціальні символи без виклику їх спеціального значення. Це суперечить " +"використанню Python того самого символу для тієї ж мети в рядкових " +"літералах; наприклад, щоб відповідати буквальному зворотному слешу, можливо, " +"доведеться написати ``'\\\\\\\\'`` як рядок шаблону, оскільки регулярний " +"вираз має бути ``\\\\``, а кожен зворотний слеш має бути виражений як ``\\" +"\\`` всередині звичайного рядкового літералу Python. Також зауважте, що будь-" +"які недійсні керуючі послідовності під час використання Python зворотної " +"косої риски в рядкових літералах тепер генерують :exc:`DeprecationWarning`, " +"а в майбутньому це стане :exc:`SyntaxError`. Така поведінка відбуватиметься, " +"навіть якщо це дійсна керуюча послідовність для регулярного виразу." + +msgid "" +"The solution is to use Python's raw string notation for regular expression " +"patterns; backslashes are not handled in any special way in a string literal " +"prefixed with ``'r'``. So ``r\"\\n\"`` is a two-character string containing " +"``'\\'`` and ``'n'``, while ``\"\\n\"`` is a one-character string containing " +"a newline. Usually patterns will be expressed in Python code using this raw " +"string notation." +msgstr "" +"Рішення полягає у використанні необробленої рядкової нотації Python для " +"шаблонів регулярних виразів; зворотні косі риски не обробляються жодним " +"особливим чином у рядковому літералі з префіксом ``'r'``. Отже, ``r\"\\n\"`` " +"— це двосимвольний рядок, що містить ``'\\'`` і ``'n'``, тоді як ``\"\\n\"`` " +"є односимвольним рядком, що містить новий рядок. Зазвичай шаблони " +"виражаються в коді Python за допомогою цієї необробленої рядкової нотації." + +msgid "" +"It is important to note that most regular expression operations are " +"available as module-level functions and methods on :ref:`compiled regular " +"expressions `. The functions are shortcuts that don't require " +"you to compile a regex object first, but miss some fine-tuning parameters." +msgstr "" +"Важливо відзначити, що більшість операцій з регулярними виразами доступні як " +"функції та методи на рівні модуля для :ref:`компільованих регулярних виразів " +"`. Функції — це ярлики, які не потребують компіляції об’єкта " +"регулярного виразу, але пропускають деякі параметри тонкого налаштування." + +msgid "" +"The third-party `regex `_ module, which has " +"an API compatible with the standard library :mod:`re` module, but offers " +"additional functionality and a more thorough Unicode support." +msgstr "" +"Сторонній модуль `regex `_, який має API, " +"сумісний із модулем стандартної бібліотеки :mod:`re`, але пропонує додаткові " +"функції та більш повну підтримку Unicode." + +msgid "Regular Expression Syntax" +msgstr "Синтаксис регулярного виразу" + +msgid "" +"A regular expression (or RE) specifies a set of strings that matches it; the " +"functions in this module let you check if a particular string matches a " +"given regular expression (or if a given regular expression matches a " +"particular string, which comes down to the same thing)." +msgstr "" +"Регулярний вираз (або RE) визначає набір рядків, який йому відповідає; " +"функції в цьому модулі дозволяють вам перевірити, чи збігається певний рядок " +"з даним регулярним виразом (або чи збігається даний регулярний вираз з " +"певним рядком, що зводиться до того самого)." + +msgid "" +"Regular expressions can be concatenated to form new regular expressions; if " +"*A* and *B* are both regular expressions, then *AB* is also a regular " +"expression. In general, if a string *p* matches *A* and another string *q* " +"matches *B*, the string *pq* will match AB. This holds unless *A* or *B* " +"contain low precedence operations; boundary conditions between *A* and *B*; " +"or have numbered group references. Thus, complex expressions can easily be " +"constructed from simpler primitive expressions like the ones described " +"here. For details of the theory and implementation of regular expressions, " +"consult the Friedl book [Frie09]_, or almost any textbook about compiler " +"construction." +msgstr "" +"Регулярні вирази можна об’єднувати для створення нових регулярних виразів; " +"якщо *A* і *B* є регулярними виразами, то *AB* також є регулярним виразом. " +"Загалом, якщо рядок *p* відповідає *A*, а інший рядок *q* відповідає *B*, " +"рядок *pq* відповідатиме AB. Це справедливо, якщо *A* або *B* не містять " +"операції з низьким пріоритетом; граничні умови між *A* і *B*; або мають " +"пронумеровані посилання на групи. Таким чином, складні вирази можна легко " +"побудувати з простіших примітивних виразів, таких як описані тут. Щоб " +"отримати детальну інформацію про теорію та реалізацію регулярних виразів, " +"зверніться до книги Фрідла [Frie09]_ або майже до будь-якого підручника про " +"побудову компілятора." + +msgid "" +"A brief explanation of the format of regular expressions follows. For " +"further information and a gentler presentation, consult the :ref:`regex-" +"howto`." +msgstr "" +"Нижче наведено коротке пояснення формату регулярних виразів. Для отримання " +"додаткової інформації та більш щадної презентації зверніться до :ref:`regex-" +"howto`." + +msgid "" +"Regular expressions can contain both special and ordinary characters. Most " +"ordinary characters, like ``'A'``, ``'a'``, or ``'0'``, are the simplest " +"regular expressions; they simply match themselves. You can concatenate " +"ordinary characters, so ``last`` matches the string ``'last'``. (In the " +"rest of this section, we'll write RE's in ``this special style``, usually " +"without quotes, and strings to be matched ``'in single quotes'``.)" +msgstr "" +"Регулярні вирази можуть містити як спеціальні, так і звичайні символи. " +"Більшість звичайних символів, таких як ``'A'``, ``'a'`` або ``'0'``, є " +"найпростішими регулярними виразами; вони просто збігаються. Ви можете " +"об’єднувати звичайні символи, тому ``last`` збігається з рядком ``'last'``. " +"(У решті цього розділу ми будемо писати RE в ``цим особливим стилі``, як " +"правило, без лапок, а рядки для відповідності ``'в одинарних лапках``.)" + +msgid "" +"Some characters, like ``'|'`` or ``'('``, are special. Special characters " +"either stand for classes of ordinary characters, or affect how the regular " +"expressions around them are interpreted." +msgstr "" +"Деякі символи, наприклад ``'|'`` або ``'(''``, є спеціальними. Спеціальні " +"символи або позначають класи звичайних символів, або впливають на " +"інтерпретацію регулярних виразів навколо них." + +msgid "" +"Repetition operators or quantifiers (``*``, ``+``, ``?``, ``{m,n}``, etc) " +"cannot be directly nested. This avoids ambiguity with the non-greedy " +"modifier suffix ``?``, and with other modifiers in other implementations. To " +"apply a second repetition to an inner repetition, parentheses may be used. " +"For example, the expression ``(?:a{6})*`` matches any multiple of six " +"``'a'`` characters." +msgstr "" + +msgid "The special characters are:" +msgstr "Спеціальними символами є:" + +msgid "``.``" +msgstr "``.``" + +msgid "" +"(Dot.) In the default mode, this matches any character except a newline. " +"If the :const:`DOTALL` flag has been specified, this matches any character " +"including a newline." +msgstr "" +"(Точка.) У режимі за замовчуванням це відповідає будь-якому символу, крім " +"символу нового рядка. Якщо вказано прапорець :const:`DOTALL`, він відповідає " +"будь-якому символу, включаючи новий рядок." + +msgid "``^``" +msgstr "``^``" + +msgid "" +"(Caret.) Matches the start of the string, and in :const:`MULTILINE` mode " +"also matches immediately after each newline." +msgstr "" +"(Caret.) Збігається з початком рядка, а в режимі :const:`MULTILINE` також " +"збігається одразу після кожного нового рядка." + +msgid "``$``" +msgstr "``$``" + +msgid "" +"Matches the end of the string or just before the newline at the end of the " +"string, and in :const:`MULTILINE` mode also matches before a newline. " +"``foo`` matches both 'foo' and 'foobar', while the regular expression ``foo" +"$`` matches only 'foo'. More interestingly, searching for ``foo.$`` in " +"``'foo1\\nfoo2\\n'`` matches 'foo2' normally, but 'foo1' in :const:" +"`MULTILINE` mode; searching for a single ``$`` in ``'foo\\n'`` will find two " +"(empty) matches: one just before the newline, and one at the end of the " +"string." +msgstr "" +"Збігається з кінцем рядка або безпосередньо перед символом нового рядка в " +"кінці рядка, а в режимі :const:`MULTILINE` також збігається перед символом " +"нового рядка. ``foo`` відповідає як 'foo', так і 'foobar', тоді як " +"регулярний вираз ``foo$`` відповідає лише 'foo'. Що ще цікавіше, пошук ``foo." +"$`` у ``'foo1\\nfoo2\\n''`` зазвичай відповідає 'foo2', але 'foo1' у режимі :" +"const:`MULTILINE`; пошук одного ``$`` у ``'foo\\n'`` знайде два (порожні) " +"збіги: один безпосередньо перед символом нового рядка та один у кінці рядка." + +msgid "``*``" +msgstr "``*``" + +msgid "" +"Causes the resulting RE to match 0 or more repetitions of the preceding RE, " +"as many repetitions as are possible. ``ab*`` will match 'a', 'ab', or 'a' " +"followed by any number of 'b's." +msgstr "" +"Примушує кінцевий RE відповідати 0 або більше повторень попереднього RE, " +"якомога більше повторень. ``ab*`` відповідатиме 'a', 'ab' або 'a', за якими " +"йде будь-яка кількість 'b'." + +msgid "``+``" +msgstr "``+``" + +msgid "" +"Causes the resulting RE to match 1 or more repetitions of the preceding RE. " +"``ab+`` will match 'a' followed by any non-zero number of 'b's; it will not " +"match just 'a'." +msgstr "" +"Примушує кінцевий RE відповідати 1 або більше повторень попереднього RE. ``ab" +"+`` відповідатиме 'a', за яким слідує будь-яке ненульове число 'b'; воно не " +"збігатиметься лише з \"а\"." + +msgid "``?``" +msgstr "``?``" + +msgid "" +"Causes the resulting RE to match 0 or 1 repetitions of the preceding RE. " +"``ab?`` will match either 'a' or 'ab'." +msgstr "" +"Примушує результуюче RE відповідати 0 або 1 повторенням попереднього RE. " +"``ab?`` відповідатиме або 'a', або 'ab'." + +msgid "``*?``, ``+?``, ``??``" +msgstr "``*?``, ``+?``, ``??``" + +msgid "" +"The ``'*'``, ``'+'``, and ``'?'`` quantifiers are all :dfn:`greedy`; they " +"match as much text as possible. Sometimes this behaviour isn't desired; if " +"the RE ``<.*>`` is matched against ``' b '``, it will match the entire " +"string, and not just ``''``. Adding ``?`` after the quantifier makes it " +"perform the match in :dfn:`non-greedy` or :dfn:`minimal` fashion; as *few* " +"characters as possible will be matched. Using the RE ``<.*?>`` will match " +"only ``''``." +msgstr "" + +msgid "``*+``, ``++``, ``?+``" +msgstr "" + +msgid "" +"Like the ``'*'``, ``'+'``, and ``'?'`` quantifiers, those where ``'+'`` is " +"appended also match as many times as possible. However, unlike the true " +"greedy quantifiers, these do not allow back-tracking when the expression " +"following it fails to match. These are known as :dfn:`possessive` " +"quantifiers. For example, ``a*a`` will match ``'aaaa'`` because the ``a*`` " +"will match all 4 ``'a'``\\ s, but, when the final ``'a'`` is encountered, " +"the expression is backtracked so that in the end the ``a*`` ends up matching " +"3 ``'a'``\\ s total, and the fourth ``'a'`` is matched by the final ``'a'``. " +"However, when ``a*+a`` is used to match ``'aaaa'``, the ``a*+`` will match " +"all 4 ``'a'``, but when the final ``'a'`` fails to find any more characters " +"to match, the expression cannot be backtracked and will thus fail to match. " +"``x*+``, ``x++`` and ``x?+`` are equivalent to ``(?>x*)``, ``(?>x+)`` and " +"``(?>x?)`` correspondingly." +msgstr "" + +msgid "``{m}``" +msgstr "``{m}``" + +msgid "" +"Specifies that exactly *m* copies of the previous RE should be matched; " +"fewer matches cause the entire RE not to match. For example, ``a{6}`` will " +"match exactly six ``'a'`` characters, but not five." +msgstr "" +"Вказує, що точно *m* копій попереднього RE мають відповідати; менша " +"кількість збігів призводить до того, що весь RE не збігається. Наприклад, " +"``a{6}`` відповідатиме рівно шести символам ``'a'``, але не п’яти." + +msgid "``{m,n}``" +msgstr "``{m,n}``" + +msgid "" +"Causes the resulting RE to match from *m* to *n* repetitions of the " +"preceding RE, attempting to match as many repetitions as possible. For " +"example, ``a{3,5}`` will match from 3 to 5 ``'a'`` characters. Omitting *m* " +"specifies a lower bound of zero, and omitting *n* specifies an infinite " +"upper bound. As an example, ``a{4,}b`` will match ``'aaaab'`` or a thousand " +"``'a'`` characters followed by a ``'b'``, but not ``'aaab'``. The comma may " +"not be omitted or the modifier would be confused with the previously " +"described form." +msgstr "" +"Примушує результуючий RE відповідати від *m* до *n* повторень попереднього " +"RE, намагаючись зіставити якомога більше повторень. Наприклад, ``a{3,5}`` " +"відповідатиме від 3 до 5 символів ``'a'``. Пропуск *m* визначає нижню межу " +"нуля, а пропуск *n* визначає нескінченну верхню межу. Наприклад, ``a{4,}b`` " +"відповідатиме ``'aaaab'`` або тисячі символів ``'a'``, після яких ``'b'``, " +"але не ``' аааб''``. Кому не можна опускати, інакше модифікатор можна " +"сплутати з попередньо описаною формою." + +msgid "``{m,n}?``" +msgstr "``{m,n}?``" + +msgid "" +"Causes the resulting RE to match from *m* to *n* repetitions of the " +"preceding RE, attempting to match as *few* repetitions as possible. This is " +"the non-greedy version of the previous quantifier. For example, on the 6-" +"character string ``'aaaaaa'``, ``a{3,5}`` will match 5 ``'a'`` characters, " +"while ``a{3,5}?`` will only match 3 characters." +msgstr "" + +msgid "``{m,n}+``" +msgstr "" + +msgid "" +"Causes the resulting RE to match from *m* to *n* repetitions of the " +"preceding RE, attempting to match as many repetitions as possible *without* " +"establishing any backtracking points. This is the possessive version of the " +"quantifier above. For example, on the 6-character string ``'aaaaaa'``, " +"``a{3,5}+aa`` attempt to match 5 ``'a'`` characters, then, requiring 2 more " +"``'a'``\\ s, will need more characters than available and thus fail, while " +"``a{3,5}aa`` will match with ``a{3,5}`` capturing 5, then 4 ``'a'``\\ s by " +"backtracking and then the final 2 ``'a'``\\ s are matched by the final " +"``aa`` in the pattern. ``x{m,n}+`` is equivalent to ``(?>x{m,n})``." +msgstr "" + +msgid "``\\``" +msgstr "``\\``" + +msgid "" +"Either escapes special characters (permitting you to match characters like " +"``'*'``, ``'?'``, and so forth), or signals a special sequence; special " +"sequences are discussed below." +msgstr "" +"Або екранує спеціальні символи (дозволяючи вам зіставляти такі символи, як " +"``'*'``, ``'?''`` і так далі), або сигналізує про спеціальну послідовність; " +"спеціальні послідовності обговорюються нижче." + +msgid "" +"If you're not using a raw string to express the pattern, remember that " +"Python also uses the backslash as an escape sequence in string literals; if " +"the escape sequence isn't recognized by Python's parser, the backslash and " +"subsequent character are included in the resulting string. However, if " +"Python would recognize the resulting sequence, the backslash should be " +"repeated twice. This is complicated and hard to understand, so it's highly " +"recommended that you use raw strings for all but the simplest expressions." +msgstr "" +"Якщо ви не використовуєте необроблений рядок для вираження шаблону, " +"пам’ятайте, що Python також використовує зворотну косу риску як керуючу " +"послідовність у рядкових літералах; якщо escape-послідовність не " +"розпізнається синтаксичним аналізатором Python, зворотна коса риска та " +"наступний символ включаються в результуючий рядок. Однак, якщо Python " +"розпізнає отриману послідовність, зворотну косу риску слід повторити двічі. " +"Це складно і важко зрозуміти, тому настійно рекомендується використовувати " +"необроблені рядки для всіх виразів, крім найпростіших." + +msgid "``[]``" +msgstr "``[]``" + +msgid "Used to indicate a set of characters. In a set:" +msgstr "Використовується для позначення набору символів. В комплекті:" + +msgid "" +"Characters can be listed individually, e.g. ``[amk]`` will match ``'a'``, " +"``'m'``, or ``'k'``." +msgstr "" +"Символи можуть бути перераховані окремо, напр. \"[amk]\" відповідатиме \"a" +"\", \"m\" або \"k\"." + +msgid "" +"Ranges of characters can be indicated by giving two characters and " +"separating them by a ``'-'``, for example ``[a-z]`` will match any lowercase " +"ASCII letter, ``[0-5][0-9]`` will match all the two-digits numbers from " +"``00`` to ``59``, and ``[0-9A-Fa-f]`` will match any hexadecimal digit. If " +"``-`` is escaped (e.g. ``[a\\-z]``) or if it's placed as the first or last " +"character (e.g. ``[-a]`` or ``[a-]``), it will match a literal ``'-'``." +msgstr "" +"Діапазони символів можна вказати, вказавши два символи та розділивши їх " +"символом ``'-'``, наприклад, ``[a-z]`` відповідатиме будь-якій літері ASCII " +"у нижньому регістрі, ``[0-5][0-9]. ]`` відповідатиме всім двозначним числам " +"від ``00`` до ``59``, а ``[0-9A-Fa-f]`` відповідатиме будь-якій " +"шістнадцятковій цифрі. Якщо ``-`` є екранованим (наприклад, ``[a\\-z]``) або " +"якщо він розміщений як перший чи останній символ (наприклад ``[-a]`` або " +"``[a-]`` ), він відповідатиме літералу ``'-'``." + +msgid "" +"Special characters lose their special meaning inside sets. For example, " +"``[(+*)]`` will match any of the literal characters ``'('``, ``'+'``, " +"``'*'``, or ``')'``." +msgstr "" +"Спеціальні символи втрачають своє особливе значення в наборах. Наприклад, " +"``[(+*)]`` відповідатиме будь-якому з літеральних символів ``'('``, ``'+'``, " +"``'*'`` або ``')'``." + +msgid "" +"Character classes such as ``\\w`` or ``\\S`` (defined below) are also " +"accepted inside a set, although the characters they match depends on " +"whether :const:`ASCII` or :const:`LOCALE` mode is in force." +msgstr "" +"Класи символів, такі як ``\\w`` або ``\\S`` (визначені нижче), також " +"приймаються всередині набору, хоча символи, яким вони відповідають, залежать " +"від режиму :const:`ASCII` або :const:`LOCALE` є чинним." + +msgid "" +"Characters that are not within a range can be matched by :dfn:" +"`complementing` the set. If the first character of the set is ``'^'``, all " +"the characters that are *not* in the set will be matched. For example, " +"``[^5]`` will match any character except ``'5'``, and ``[^^]`` will match " +"any character except ``'^'``. ``^`` has no special meaning if it's not the " +"first character in the set." +msgstr "" +"Символи, які не входять до діапазону, можуть бути зіставлені шляхом :dfn:" +"`complementing` набору. Якщо першим символом набору є ``'^'``, усі символи, " +"яких *не* в наборі, будуть зіставлені. Наприклад, ``[^5]`` відповідатиме " +"будь-якому символу, крім ``'5''``, а ``[^^]`` відповідатиме будь-якому " +"символу, крім ``'^'``. ``^`` не має особливого значення, якщо це не перший " +"символ у наборі." + +msgid "" +"To match a literal ``']'`` inside a set, precede it with a backslash, or " +"place it at the beginning of the set. For example, both ``[()[\\]{}]`` and " +"``[]()[{}]`` will both match a parenthesis." +msgstr "" +"Щоб відповідати літералу ``']''`` всередині набору, поставте перед ним " +"зворотну косу риску або розмістіть його на початку набору. Наприклад, як " +"``[()[\\]{}]``, так і ``[]()[{}]`` відповідатимуть дужці." + +msgid "" +"Support of nested sets and set operations as in `Unicode Technical Standard " +"#18`_ might be added in the future. This would change the syntax, so to " +"facilitate this change a :exc:`FutureWarning` will be raised in ambiguous " +"cases for the time being. That includes sets starting with a literal ``'['`` " +"or containing literal character sequences ``'--'``, ``'&&'``, ``'~~'``, and " +"``'||'``. To avoid a warning escape them with a backslash." +msgstr "" +"У майбутньому може бути додано підтримку вкладених наборів і операцій із " +"наборами, як у `технічному стандарті Unicode #18`_. Це призведе до зміни " +"синтаксису, тож для полегшення цієї зміни :exc:`FutureWarning` наразі буде " +"викликано у неоднозначних випадках. Це включає в себе набори, що починаються " +"з літерала ``'['`` або містять літеральні послідовності символів ``'--'``, " +"``'&&'``, ``'~~'`` і ``'| |'``. Щоб уникнути попередження, екрануйте їх " +"зворотною скісною рискою." + +msgid "" +":exc:`FutureWarning` is raised if a character set contains constructs that " +"will change semantically in the future." +msgstr "" +":exc:`FutureWarning` викликається, якщо набір символів містить конструкції, " +"які семантично зміняться в майбутньому." + +msgid "``|``" +msgstr "``|``" + +msgid "" +"``A|B``, where *A* and *B* can be arbitrary REs, creates a regular " +"expression that will match either *A* or *B*. An arbitrary number of REs " +"can be separated by the ``'|'`` in this way. This can be used inside groups " +"(see below) as well. As the target string is scanned, REs separated by " +"``'|'`` are tried from left to right. When one pattern completely matches, " +"that branch is accepted. This means that once *A* matches, *B* will not be " +"tested further, even if it would produce a longer overall match. In other " +"words, the ``'|'`` operator is never greedy. To match a literal ``'|'``, " +"use ``\\|``, or enclose it inside a character class, as in ``[|]``." +msgstr "" +"``A|B``, де *A* і *B* можуть бути довільними RE, створює регулярний вираз, " +"який відповідатиме *A* або *B*. Таким чином довільна кількість RE може бути " +"розділена символом ``'|'``. Це також можна використовувати всередині груп " +"(див. нижче). Під час сканування цільового рядка RE, розділені ``'|'``, " +"пробуються зліва направо. Якщо один шаблон повністю збігається, ця гілка " +"приймається. Це означає, що як тільки *A* збігається, *B* більше не " +"перевірятиметься, навіть якщо це призведе до довшого загального збігу. " +"Іншими словами, оператор ``'|''`` ніколи не є жадібним. Щоб відповідати " +"літералу ``'|'``, використовуйте ``\\|`` або вкладіть його в клас символів, " +"як у ``[|]``." + +msgid "``(...)``" +msgstr "``(...)``" + +msgid "" +"Matches whatever regular expression is inside the parentheses, and indicates " +"the start and end of a group; the contents of a group can be retrieved after " +"a match has been performed, and can be matched later in the string with the " +"``\\number`` special sequence, described below. To match the literals " +"``'('`` or ``')'``, use ``\\(`` or ``\\)``, or enclose them inside a " +"character class: ``[(]``, ``[)]``." +msgstr "" +"Збігається з будь-яким регулярним виразом у дужках і вказує на початок і " +"кінець групи; вміст групи може бути отриманий після того, як було виконано " +"збіг, і може бути зіставлений пізніше в рядку за допомогою спеціальної " +"послідовності ``\\number``, описаної нижче. Щоб зіставити літерали ``'('`` " +"або ``')'``, використовуйте ``\\(`` або ``\\)`` або вкладіть їх у клас " +"символів: ``[(]`` , ``[)]``." + +msgid "``(?...)``" +msgstr "``(?...)``" + +msgid "" +"This is an extension notation (a ``'?'`` following a ``'('`` is not " +"meaningful otherwise). The first character after the ``'?'`` determines " +"what the meaning and further syntax of the construct is. Extensions usually " +"do not create a new group; ``(?P...)`` is the only exception to this " +"rule. Following are the currently supported extensions." +msgstr "" +"Це нотація розширення (``'?''`` після ``' (''`` не має значення інакше). " +"Перший символ після ``'?''`` визначає значення та подальший синтаксис " +"Розширення зазвичай не створюють нову групу; ``(?P ...)`` є єдиним " +"винятком із цього правила. Нижче наведено наразі підтримувані розширення." + +msgid "``(?aiLmsux)``" +msgstr "``(?aiLmsux)``" + +msgid "" +"(One or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " +"``'s'``, ``'u'``, ``'x'``.) The group matches the empty string; the letters " +"set the corresponding flags: :const:`re.A` (ASCII-only matching), :const:`re." +"I` (ignore case), :const:`re.L` (locale dependent), :const:`re.M` (multi-" +"line), :const:`re.S` (dot matches all), :const:`re.U` (Unicode matching), " +"and :const:`re.X` (verbose), for the entire regular expression. (The flags " +"are described in :ref:`contents-of-module-re`.) This is useful if you wish " +"to include the flags as part of the regular expression, instead of passing a " +"*flag* argument to the :func:`re.compile` function. Flags should be used " +"first in the expression string." +msgstr "" +"(Одна або кілька літер із набору ``'a'``, ``'i'``, ``'L'``, ``'m'``, " +"``'s'``, ``'u'``, ``'x'``.) Група відповідає порожньому рядку; літери " +"встановлюють відповідні позначки: :const:`re.A` (відповідність лише ASCII), :" +"const:`re.I` (ігнорувати регістр), :const:`re.L` (залежно від локалі), :" +"const:`re.M` (багаторядковий), :const:`re.S` (крапка відповідає всім), :" +"const:`re.U` (відповідність Unicode) і :const:`re.X` (дослівний ), для " +"всього регулярного виразу. (Прапори описано в :ref:`contents-of-module-re`.) " +"Це корисно, якщо ви бажаєте включити прапори як частину регулярного виразу " +"замість передачі аргументу *flag* до функція :func:`re.compile`. Прапори " +"слід використовувати першими в рядку виразу." + +msgid "This construction can only be used at the start of the expression." +msgstr "" + +msgid "``(?:...)``" +msgstr "``(?:...)``" + +msgid "" +"A non-capturing version of regular parentheses. Matches whatever regular " +"expression is inside the parentheses, but the substring matched by the group " +"*cannot* be retrieved after performing a match or referenced later in the " +"pattern." +msgstr "" +"Версія звичайних круглих дужок без захоплення. Збігається з будь-яким " +"регулярним виразом у дужках, але підрядок, який відповідає групі, " +"*неможливо* отримати після виконання збігу або посилатися на нього пізніше в " +"шаблоні." + +msgid "``(?aiLmsux-imsx:...)``" +msgstr "``(?aiLmsux-imsx:...)``" + +msgid "" +"(Zero or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " +"``'s'``, ``'u'``, ``'x'``, optionally followed by ``'-'`` followed by one or " +"more letters from the ``'i'``, ``'m'``, ``'s'``, ``'x'``.) The letters set " +"or remove the corresponding flags: :const:`re.A` (ASCII-only matching), :" +"const:`re.I` (ignore case), :const:`re.L` (locale dependent), :const:`re.M` " +"(multi-line), :const:`re.S` (dot matches all), :const:`re.U` (Unicode " +"matching), and :const:`re.X` (verbose), for the part of the expression. (The " +"flags are described in :ref:`contents-of-module-re`.)" +msgstr "" +"(Нуль або більше літер із набору ``'a'``, ``'i'``, ``'L'``, ``'m'``, " +"``'s'``, ``'u'``, ``'x'``, необов'язково після ``'-''``, за якою слідує одна " +"або більше літер ``'i'``, ``'m'``, ``'s'``, ``'x'``.) Літери встановлюють " +"або видаляють відповідні позначки: :const:`re.A` (відповідність лише " +"ASCII), :const:`re.I` (ігнорувати регістр ), :const:`re.L` (залежно від " +"локалі), :const:`re.M` (багаторядковий), :const:`re.S` (точка відповідає " +"всім), :const:`re.U` (збіг Юнікоду) і :const:`re.X` (дослівно) для частини " +"виразу. (Прапорці описані в :ref:`contents-of-module-re`.)" + +msgid "" +"The letters ``'a'``, ``'L'`` and ``'u'`` are mutually exclusive when used as " +"inline flags, so they can't be combined or follow ``'-'``. Instead, when " +"one of them appears in an inline group, it overrides the matching mode in " +"the enclosing group. In Unicode patterns ``(?a:...)`` switches to ASCII-" +"only matching, and ``(?u:...)`` switches to Unicode matching (default). In " +"byte pattern ``(?L:...)`` switches to locale depending matching, and ``(?" +"a:...)`` switches to ASCII-only matching (default). This override is only in " +"effect for the narrow inline group, and the original matching mode is " +"restored outside of the group." +msgstr "" +"Літери ``'a'``, ``'L'`` і ``'u'`` є взаємовиключними, коли використовуються " +"як вбудовані прапорці, тому їх не можна поєднувати або слідувати за " +"``'-'`` . Натомість, коли один із них з’являється у вбудованій групі, він " +"замінює режим відповідності в охоплюючій групі. У шаблонах Unicode ``(?" +"a:...)`` перемикається на відповідність лише ASCII, а ``(?u:...)`` " +"перемикається на відповідність Unicode (за замовчуванням). У шаблоні байтів " +"``(?L:...)`` перемикається на відповідність залежно від локалі, а ``(?" +"a:...)`` перемикається на відповідність лише ASCII (за замовчуванням). Це " +"перевизначення діє лише для вузької вбудованої групи, а вихідний режим " +"відповідності відновлюється за межами групи." + +msgid "The letters ``'a'``, ``'L'`` and ``'u'`` also can be used in a group." +msgstr "Літери ``'a'``, ``'L'`` і ``'u'`` також можна використовувати в групі." + +msgid "``(?>...)``" +msgstr "" + +msgid "" +"Attempts to match ``...`` as if it was a separate regular expression, and if " +"successful, continues to match the rest of the pattern following it. If the " +"subsequent pattern fails to match, the stack can only be unwound to a point " +"*before* the ``(?>...)`` because once exited, the expression, known as an :" +"dfn:`atomic group`, has thrown away all stack points within itself. Thus, " +"``(?>.*).`` would never match anything because first the ``.*`` would match " +"all characters possible, then, having nothing left to match, the final ``.`` " +"would fail to match. Since there are no stack points saved in the Atomic " +"Group, and there is no stack point before it, the entire expression would " +"thus fail to match." +msgstr "" + +msgid "``(?P...)``" +msgstr "``(?P ...)``" + +msgid "" +"Similar to regular parentheses, but the substring matched by the group is " +"accessible via the symbolic group name *name*. Group names must be valid " +"Python identifiers, and each group name must be defined only once within a " +"regular expression. A symbolic group is also a numbered group, just as if " +"the group were not named." +msgstr "" +"Подібно до звичайних дужок, але підрядок, який відповідає групі, доступний " +"через символічне ім’я групи *name*. Імена груп мають бути дійсними " +"ідентифікаторами Python, і кожне ім’я групи має бути визначено лише один раз " +"у регулярному виразі. Символічна група також є пронумерованою групою, так " +"само, якби група не мала імені." + +msgid "" +"Named groups can be referenced in three contexts. If the pattern is ``(?" +"P['\"]).*?(?P=quote)`` (i.e. matching a string quoted with either " +"single or double quotes):" +msgstr "" +"На іменовані групи можна посилатися в трьох контекстах. Якщо шаблон ``(?P " +" ['\"]).*?(?P=quote)`` (тобто відповідає рядку в одинарних або " +"подвійних лапках):" + +msgid "Context of reference to group \"quote\"" +msgstr "Контекст посилання на групу \"цитата\"" + +msgid "Ways to reference it" +msgstr "Способи посилання на нього" + +msgid "in the same pattern itself" +msgstr "за таким самим шаблоном" + +msgid "``(?P=quote)`` (as shown)" +msgstr "``(?P=quote)`` (як показано)" + +msgid "``\\1``" +msgstr "``\\1``" + +msgid "when processing match object *m*" +msgstr "під час обробки відповідного об'єкта *m*" + +msgid "``m.group('quote')``" +msgstr "``m.group('quote')``" + +msgid "``m.end('quote')`` (etc.)" +msgstr "``m.end('quote')`` (і т.д.)" + +msgid "in a string passed to the *repl* argument of ``re.sub()``" +msgstr "у рядку, переданому в аргумент *repl* ``re.sub()``" + +msgid "``\\g``" +msgstr "``\\g ``" + +msgid "``\\g<1>``" +msgstr "``\\g <1>``" + +msgid "Group names containing non-ASCII characters in bytes patterns." +msgstr "" + +msgid "``(?P=name)``" +msgstr "``(?P=name)``" + +msgid "" +"A backreference to a named group; it matches whatever text was matched by " +"the earlier group named *name*." +msgstr "" +"Зворотне посилання на іменовану групу; він відповідає будь-якому тексту, " +"який відповідав попередній групі під назвою *name*." + +msgid "``(?#...)``" +msgstr "``(?#...)``" + +msgid "A comment; the contents of the parentheses are simply ignored." +msgstr "коментар; вміст круглих дужок просто ігнорується." + +msgid "``(?=...)``" +msgstr "``(?=...)``" + +msgid "" +"Matches if ``...`` matches next, but doesn't consume any of the string. " +"This is called a :dfn:`lookahead assertion`. For example, ``Isaac (?" +"=Asimov)`` will match ``'Isaac '`` only if it's followed by ``'Asimov'``." +msgstr "" +"Збігається, якщо ``...`` збігається наступним, але не споживає жоден рядок. " +"Це називається :dfn:`lookahead assertion`. Наприклад, ``Isaac (?=Azimov)`` " +"відповідатиме ``'Isaac ''``, лише якщо за ним йде ``'Azimov'``." + +msgid "``(?!...)``" +msgstr "``(?!...)``" + +msgid "" +"Matches if ``...`` doesn't match next. This is a :dfn:`negative lookahead " +"assertion`. For example, ``Isaac (?!Asimov)`` will match ``'Isaac '`` only " +"if it's *not* followed by ``'Asimov'``." +msgstr "" +"Збігається, якщо ``...`` не збігається наступним. Це :dfn:`негативне " +"випереджальне твердження`. Наприклад, ``Isaac (?!Azimov)`` відповідатиме " +"``'Isaac ''``, лише якщо за ним *не* йде ``'Azimov'``." + +msgid "``(?<=...)``" +msgstr "``(?<=...)``" + +msgid "" +"Matches if the current position in the string is preceded by a match for " +"``...`` that ends at the current position. This is called a :dfn:`positive " +"lookbehind assertion`. ``(?<=abc)def`` will find a match in ``'abcdef'``, " +"since the lookbehind will back up 3 characters and check if the contained " +"pattern matches. The contained pattern must only match strings of some fixed " +"length, meaning that ``abc`` or ``a|b`` are allowed, but ``a*`` and ``a{3,4}" +"`` are not. Note that patterns which start with positive lookbehind " +"assertions will not match at the beginning of the string being searched; you " +"will most likely want to use the :func:`search` function rather than the :" +"func:`match` function:" +msgstr "" +"Збігається, якщо поточній позиції в рядку передує відповідність для ``...``, " +"яка закінчується на поточній позиції. Це називається :dfn:`позитивним " +"ретроспективним твердженням`. ``(?<=abc)def`` знайде збіг у ``'abcdef'``, " +"оскільки огляд назад створить резервну копію 3 символів і перевірить, чи " +"збігається шаблон, що міститься. Вміщений шаблон має збігатися лише з " +"рядками певної фіксованої довжини, тобто допустимі ``abc`` або ``a|b``, але " +"``a*`` і ``a{3,4}`` заборонені . Зауважте, що шаблони, які починаються з " +"позитивних ретроспективних тверджень, не збігатимуться на початку рядка, що " +"шукається; швидше за все, ви захочете використовувати функцію :func:" +"`search`, а не функцію :func:`match`:" + +msgid "This example looks for a word following a hyphen:" +msgstr "У цьому прикладі шукається слово після дефіса:" + +msgid "Added support for group references of fixed length." +msgstr "Додано підтримку групових посилань фіксованої довжини." + +msgid "``(?|$)`` is a poor email matching pattern, which will match with " +"``''`` as well as ``'user@host.com'``, but not with " +"``''``." +msgstr "" +"Спробує знайти відповідність за допомогою ``yes-pattern``, якщо група з " +"заданим *id* або *name* існує, і за допомогою ``no-pattern``, якщо вона не " +"існує. ``no-pattern`` є необов'язковим і його можна опустити. Наприклад, " +"``( <)?(\\w+@\\w+(?:\\.\\w+)+)(?(1)> |$)`` є поганим шаблоном відповідності " +"електронної пошти, який збігатиметься з ``''``, а також " +"``'user@host.com'``, але не з ``' '``." + +msgid "Group *id* containing anything except ASCII digits." +msgstr "" + +msgid "" +"The special sequences consist of ``'\\'`` and a character from the list " +"below. If the ordinary character is not an ASCII digit or an ASCII letter, " +"then the resulting RE will match the second character. For example, ``\\$`` " +"matches the character ``'$'``." +msgstr "" +"Спеціальні послідовності складаються з ``'\\'`` і символу зі списку нижче. " +"Якщо звичайний символ не є цифрою ASCII або літерою ASCII, тоді результуючий " +"RE відповідатиме другому символу. Наприклад, ``\\$`` відповідає символу " +"``''$'``." + +msgid "``\\number``" +msgstr "``\\номер``" + +msgid "" +"Matches the contents of the group of the same number. Groups are numbered " +"starting from 1. For example, ``(.+) \\1`` matches ``'the the'`` or ``'55 " +"55'``, but not ``'thethe'`` (note the space after the group). This special " +"sequence can only be used to match one of the first 99 groups. If the first " +"digit of *number* is 0, or *number* is 3 octal digits long, it will not be " +"interpreted as a group match, but as the character with octal value " +"*number*. Inside the ``'['`` and ``']'`` of a character class, all numeric " +"escapes are treated as characters." +msgstr "" +"Відповідає вмісту групи з тим самим номером. Групи нумеруються, починаючи з " +"1. Наприклад, ``(.+) \\1`` відповідає ``'the'`` або ``'55 55'``, але не " +"``'thethe'`` (примітка пробіл після групи). Цю спеціальну послідовність " +"можна використовувати лише для відповідності одній із перших 99 груп. Якщо " +"перша цифра *числа* дорівнює 0 або *число* складається з 3 вісімкових цифр, " +"це не буде інтерпретовано як збіг групи, а як символ із вісімковим значенням " +"*число*. Усередині ``'['`` і ``']'`` класу символів усі цифрові екрановані " +"символи розглядаються як символи." + +msgid "``\\A``" +msgstr "``\\A``" + +msgid "Matches only at the start of the string." +msgstr "Збігається лише на початку рядка." + +msgid "``\\b``" +msgstr "``\\b``" + +msgid "" +"Matches the empty string, but only at the beginning or end of a word. A word " +"is defined as a sequence of word characters. Note that formally, ``\\b`` is " +"defined as the boundary between a ``\\w`` and a ``\\W`` character (or vice " +"versa), or between ``\\w`` and the beginning/end of the string. This means " +"that ``r'\\bfoo\\b'`` matches ``'foo'``, ``'foo.'``, ``'(foo)'``, ``'bar foo " +"baz'`` but not ``'foobar'`` or ``'foo3'``." +msgstr "" +"Збігається з порожнім рядком, але лише на початку або в кінці слова. Слово " +"визначається як послідовність символів слова. Зауважте, що формально ``\\b`` " +"визначається як межа між символом ``\\w`` і ``\\W`` (або навпаки), або між ``" +"\\w`` і початком/ кінець рядка. Це означає, що ``r'\\bfoo\\b'`` відповідає " +"``'foo'``, ``'foo.''``, ``'(foo)'``, ``'bar foo baz'``, але не ``'foobar'`` " +"або ``'foo3'``." + +msgid "" +"By default Unicode alphanumerics are the ones used in Unicode patterns, but " +"this can be changed by using the :const:`ASCII` flag. Word boundaries are " +"determined by the current locale if the :const:`LOCALE` flag is used. Inside " +"a character range, ``\\b`` represents the backspace character, for " +"compatibility with Python's string literals." +msgstr "" +"За замовчуванням буквено-цифрові символи Unicode використовуються в шаблонах " +"Unicode, але це можна змінити за допомогою прапорця :const:`ASCII`. Межі " +"слів визначаються поточною мовою, якщо використовується прапорець :const:" +"`LOCALE`. Усередині діапазону символів ``\\b`` представляє символ зворотного " +"пробілу для сумісності з рядковими літералами Python." + +msgid "``\\B``" +msgstr "``\\B``" + +msgid "" +"Matches the empty string, but only when it is *not* at the beginning or end " +"of a word. This means that ``r'py\\B'`` matches ``'python'``, ``'py3'``, " +"``'py2'``, but not ``'py'``, ``'py.'``, or ``'py!'``. ``\\B`` is just the " +"opposite of ``\\b``, so word characters in Unicode patterns are Unicode " +"alphanumerics or the underscore, although this can be changed by using the :" +"const:`ASCII` flag. Word boundaries are determined by the current locale if " +"the :const:`LOCALE` flag is used." +msgstr "" +"Збігається з порожнім рядком, але лише якщо він *не* на початку або в кінці " +"слова. Це означає, що ``r'py\\B''`` відповідає ``'python'``, ``'py3'``, " +"``'py2'``, але не ``'py'``, ``'py.'`` або ``'py!'``. ``\\B`` є прямою " +"протилежністю ``\\b``, тому символи слів у шаблонах Unicode є буквено-" +"цифровими символами Unicode або підкресленням, хоча це можна змінити за " +"допомогою прапорця :const:`ASCII`. Межі слів визначаються поточною мовою, " +"якщо використовується прапорець :const:`LOCALE`." + +msgid "``\\d``" +msgstr "``\\d``" + +msgid "For Unicode (str) patterns:" +msgstr "Для шаблонів Unicode (str):" + +msgid "" +"Matches any Unicode decimal digit (that is, any character in Unicode " +"character category [Nd]). This includes ``[0-9]``, and also many other " +"digit characters. If the :const:`ASCII` flag is used only ``[0-9]`` is " +"matched." +msgstr "" +"Відповідає будь-якій десятковій цифрі Unicode (тобто будь-якому символу в " +"категорії символів Unicode [Nd]). Це включає в себе \"[0-9]\", а також " +"багато інших цифрових символів. Якщо використовується прапорець :const:" +"`ASCII`, збігається лише ``[0-9]``." + +msgid "For 8-bit (bytes) patterns:" +msgstr "Для 8-бітових (байтових) шаблонів:" + +msgid "Matches any decimal digit; this is equivalent to ``[0-9]``." +msgstr "Збігається з будь-якою десятковою цифрою; це еквівалентно ``[0-9]``." + +msgid "``\\D``" +msgstr "``\\D``" + +msgid "" +"Matches any character which is not a decimal digit. This is the opposite of " +"``\\d``. If the :const:`ASCII` flag is used this becomes the equivalent of " +"``[^0-9]``." +msgstr "" +"Відповідає будь-якому символу, який не є десятковою цифрою. Це протилежність " +"``\\d``. Якщо використовується прапорець :const:`ASCII`, це стає " +"еквівалентом ``[^0-9]``." + +msgid "``\\s``" +msgstr "``\\s``" + +msgid "" +"Matches Unicode whitespace characters (which includes ``[ \\t\\n\\r\\f" +"\\v]``, and also many other characters, for example the non-breaking spaces " +"mandated by typography rules in many languages). If the :const:`ASCII` flag " +"is used, only ``[ \\t\\n\\r\\f\\v]`` is matched." +msgstr "" +"Відповідає пробілам Юнікоду (зокрема, ``[ \\t\\n\\r\\f\\v]``, а також " +"багатьом іншим символам, наприклад нерозривним пробілам, передбаченим " +"правилами типографіки багатьох мов). Якщо використовується прапорець :const:" +"`ASCII`, збігається лише ``[ \\t\\n\\r\\f\\v]``." + +msgid "" +"Matches characters considered whitespace in the ASCII character set; this is " +"equivalent to ``[ \\t\\n\\r\\f\\v]``." +msgstr "" +"Відповідає символам, які вважаються пробілами в наборі символів ASCII; це " +"еквівалентно ``[ \\t\\n\\r\\f\\v]``." + +msgid "``\\S``" +msgstr "``\\S``" + +msgid "" +"Matches any character which is not a whitespace character. This is the " +"opposite of ``\\s``. If the :const:`ASCII` flag is used this becomes the " +"equivalent of ``[^ \\t\\n\\r\\f\\v]``." +msgstr "" +"Відповідає будь-якому символу, який не є пробілом. Це протилежність ``\\s``. " +"Якщо використовується прапорець :const:`ASCII`, це стає еквівалентом ``[^ \\t" +"\\n\\r\\f\\v]``." + +msgid "``\\w``" +msgstr "``\\w``" + +msgid "" +"Matches Unicode word characters; this includes most characters that can be " +"part of a word in any language, as well as numbers and the underscore. If " +"the :const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." +msgstr "" +"Відповідає символам слів Unicode; це включає більшість символів, які можуть " +"бути частиною слова будь-якою мовою, а також цифри та підкреслення. Якщо " +"використовується прапорець :const:`ASCII`, збігається лише ``[a-zA-Z0-9_]``." + +msgid "" +"Matches characters considered alphanumeric in the ASCII character set; this " +"is equivalent to ``[a-zA-Z0-9_]``. If the :const:`LOCALE` flag is used, " +"matches characters considered alphanumeric in the current locale and the " +"underscore." +msgstr "" +"Відповідає символам, які вважаються буквено-цифровими в наборі символів " +"ASCII; це еквівалентно ``[a-zA-Z0-9_]``. Якщо використовується прапорець :" +"const:`LOCALE`, відповідає символам, які вважаються буквено-цифровими в " +"поточній локалі, і підкресленню." + +msgid "``\\W``" +msgstr "``\\W``" + +msgid "" +"Matches any character which is not a word character. This is the opposite of " +"``\\w``. If the :const:`ASCII` flag is used this becomes the equivalent of " +"``[^a-zA-Z0-9_]``. If the :const:`LOCALE` flag is used, matches characters " +"which are neither alphanumeric in the current locale nor the underscore." +msgstr "" +"Відповідає будь-якому символу, який не є символом слова. Це протилежність ``" +"\\w``. Якщо використовується прапорець :const:`ASCII`, це стає еквівалентом " +"``[^a-zA-Z0-9_]``. Якщо використовується прапорець :const:`LOCALE`, " +"відповідає символам, які не є ані буквено-цифровими в поточній локалі, ані " +"підкресленням." + +msgid "``\\Z``" +msgstr "``\\Z``" + +msgid "Matches only at the end of the string." +msgstr "Збігається лише в кінці рядка." + +msgid "" +"Most of the standard escapes supported by Python string literals are also " +"accepted by the regular expression parser::" +msgstr "" +"Більшість стандартних екранованих символів, які підтримуються рядковими " +"літералами Python, також приймаються аналізатором регулярних виразів::" + +msgid "" +"(Note that ``\\b`` is used to represent word boundaries, and means " +"\"backspace\" only inside character classes.)" +msgstr "" +"(Зауважте, що ``\\b`` використовується для представлення меж слів і означає " +"\"backspace\" лише всередині класів символів.)" + +msgid "" +"``'\\u'``, ``'\\U'``, and ``'\\N'`` escape sequences are only recognized in " +"Unicode patterns. In bytes patterns they are errors. Unknown escapes of " +"ASCII letters are reserved for future use and treated as errors." +msgstr "" +"Екран-послідовності ``'\\u'``, ``'\\U'`` і ``'\\N''`` розпізнаються лише в " +"шаблонах Unicode. У шаблонах байтів це помилки. Невідомі вихідні коди літер " +"ASCII зарезервовано для майбутнього використання та розглядаються як помилки." + +msgid "" +"Octal escapes are included in a limited form. If the first digit is a 0, or " +"if there are three octal digits, it is considered an octal escape. " +"Otherwise, it is a group reference. As for string literals, octal escapes " +"are always at most three digits in length." +msgstr "" +"Вісімкові втечі включені в обмеженій формі. Якщо першою цифрою є 0 або є три " +"вісімкові цифри, це вважається вісімковим екрануванням. В іншому випадку це " +"посилання на групу. Що стосується рядкових літералів, вісімкові символи " +"екранування завжди мають не більше трьох цифр." + +msgid "The ``'\\u'`` and ``'\\U'`` escape sequences have been added." +msgstr "Було додано керуючі послідовності ``'\\u'`` і ``'\\U'``." + +msgid "" +"Unknown escapes consisting of ``'\\'`` and an ASCII letter now are errors." +msgstr "" +"Невідомі вихідні символи, що складаються з ``'\\'`` і літери ASCII, тепер є " +"помилками." + +msgid "" +"The ``'\\N{name}'`` escape sequence has been added. As in string literals, " +"it expands to the named Unicode character (e.g. ``'\\N{EM DASH}'``)." +msgstr "" +"Додано керуючу послідовність ``'\\N{name}''``. Як і в рядкових літералах, " +"він розширюється до названого символу Unicode (наприклад, ``'\\N{EM " +"DASH}''``)." + +msgid "Module Contents" +msgstr "Зміст модуля" + +msgid "" +"The module defines several functions, constants, and an exception. Some of " +"the functions are simplified versions of the full featured methods for " +"compiled regular expressions. Most non-trivial applications always use the " +"compiled form." +msgstr "" +"Модуль визначає кілька функцій, констант і виключення. Деякі функції є " +"спрощеними версіями повнофункціональних методів для скомпільованих " +"регулярних виразів. Більшість нетривіальних програм завжди використовують " +"скомпільовану форму." + +msgid "Flags" +msgstr "Прапори" + +msgid "" +"Flag constants are now instances of :class:`RegexFlag`, which is a subclass " +"of :class:`enum.IntFlag`." +msgstr "" +"Константи прапорів тепер є екземплярами :class:`RegexFlag`, який є " +"підкласом :class:`enum.IntFlag`." + +msgid "" +"An :class:`enum.IntFlag` class containing the regex options listed below." +msgstr "" + +msgid "- added to ``__all__``" +msgstr "" + +msgid "" +"Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and ``" +"\\S`` perform ASCII-only matching instead of full Unicode matching. This is " +"only meaningful for Unicode patterns, and is ignored for byte patterns. " +"Corresponds to the inline flag ``(?a)``." +msgstr "" +"Зробіть ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` і ``" +"\\S`` виконує зіставлення тільки ASCII замість повного зіставлення Unicode. " +"Це має значення лише для шаблонів Unicode та ігнорується для шаблонів " +"байтів. Відповідає вбудованому прапору ``(?a)``." + +msgid "" +"Note that for backward compatibility, the :const:`re.U` flag still exists " +"(as well as its synonym :const:`re.UNICODE` and its embedded counterpart ``(?" +"u)``), but these are redundant in Python 3 since matches are Unicode by " +"default for strings (and Unicode matching isn't allowed for bytes)." +msgstr "" +"Зауважте, що для зворотної сумісності прапор :const:`re.U` все ще існує (а " +"також його синонім :const:`re.UNICODE` і його вбудований аналог ``(?u)``), " +"але вони зайві. у Python 3, оскільки збіги є Юнікодом за замовчуванням для " +"рядків (і збіги Юнікоду не дозволені для байтів)." + +msgid "" +"Display debug information about compiled expression. No corresponding inline " +"flag." +msgstr "" +"Відображення налагоджувальної інформації про скомпільований вираз. Немає " +"відповідного вбудованого прапора." + +msgid "" +"Perform case-insensitive matching; expressions like ``[A-Z]`` will also " +"match lowercase letters. Full Unicode matching (such as ``Ü`` matching " +"``ü``) also works unless the :const:`re.ASCII` flag is used to disable non-" +"ASCII matches. The current locale does not change the effect of this flag " +"unless the :const:`re.LOCALE` flag is also used. Corresponds to the inline " +"flag ``(?i)``." +msgstr "" +"Виконуйте зіставлення без урахування регістру; такі вирази, як ``[A-Z]`` " +"також відповідатимуть малим регістрам. Повна відповідність Юнікоду " +"(наприклад, ``Ü``, яка відповідає ``ü``) також працює, якщо не " +"використовується прапор :const:`re.ASCII`, щоб вимкнути збіги, відмінні від " +"ASCII. Поточна локаль не змінює ефект цього прапорця, якщо також не " +"використовується прапорець :const:`re.LOCALE`. Відповідає вбудованому " +"прапору ``(?i)``." + +msgid "" +"Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in " +"combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII " +"letters and 4 additional non-ASCII letters: 'İ' (U+0130, Latin capital " +"letter I with dot above), 'ı' (U+0131, Latin small letter dotless i), 'ſ' (U" +"+017F, Latin small letter long s) and 'K' (U+212A, Kelvin sign). If the :" +"const:`ASCII` flag is used, only letters 'a' to 'z' and 'A' to 'Z' are " +"matched." +msgstr "" +"Зауважте, що коли шаблони Unicode ``[a-z]`` або ``[A-Z]`` використовуються в " +"поєднанні з прапором :const:`IGNORECASE`, вони відповідатимуть 52 літерам " +"ASCII і 4 додатковим літерам, які не належать до ASCII: 'İ' (U+0130, " +"латинська велика літера I з крапкою вгорі), 'ı' (U+0131, латинська мала " +"літера i без крапки), 'ſ' (U+017F, латинська мала літера довга s) і 'K' (U" +"+212A, знак Кельвіна). Якщо використовується прапорець :const:`ASCII`, " +"збігаються лише літери від 'a' до 'z' і від 'A' до 'Z'." + +msgid "" +"Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " +"dependent on the current locale. This flag can be used only with bytes " +"patterns. The use of this flag is discouraged as the locale mechanism is " +"very unreliable, it only handles one \"culture\" at a time, and it only " +"works with 8-bit locales. Unicode matching is already enabled by default in " +"Python 3 for Unicode (str) patterns, and it is able to handle different " +"locales/languages. Corresponds to the inline flag ``(?L)``." +msgstr "" +"Зробити ``\\w``, ``\\W``, ``\\b``, ``\\B`` і відповідність без урахування " +"регістру залежно від поточної мови. Цей прапорець можна використовувати лише " +"з шаблонами байтів. Використання цього прапорця не рекомендується, оскільки " +"механізм локалізації є дуже ненадійним, він обробляє лише одну \"культуру\" " +"за раз і працює лише з 8-бітними локалізаціями. Зіставлення Unicode вже " +"ввімкнено за замовчуванням у Python 3 для шаблонів Unicode (str), і він " +"здатний обробляти різні локалі/мови. Відповідає вбудованому прапору ``(?L)``." + +msgid "" +":const:`re.LOCALE` can be used only with bytes patterns and is not " +"compatible with :const:`re.ASCII`." +msgstr "" +":const:`re.LOCALE` можна використовувати лише з шаблонами байтів і " +"несумісний з :const:`re.ASCII`." + +msgid "" +"Compiled regular expression objects with the :const:`re.LOCALE` flag no " +"longer depend on the locale at compile time. Only the locale at matching " +"time affects the result of matching." +msgstr "" +"Зкомпільовані регулярні вирази з прапорцем :const:`re.LOCALE` більше не " +"залежать від локалі під час компіляції. Лише локаль під час зіставлення " +"впливає на результат зіставлення." + +msgid "" +"When specified, the pattern character ``'^'`` matches at the beginning of " +"the string and at the beginning of each line (immediately following each " +"newline); and the pattern character ``'$'`` matches at the end of the string " +"and at the end of each line (immediately preceding each newline). By " +"default, ``'^'`` matches only at the beginning of the string, and ``'$'`` " +"only at the end of the string and immediately before the newline (if any) at " +"the end of the string. Corresponds to the inline flag ``(?m)``." +msgstr "" +"Якщо вказано, символ шаблону ``'^'`` збігається на початку рядка та на " +"початку кожного рядка (відразу після кожного нового рядка); і символ шаблону " +"``'$'`` збігається в кінці рядка та в кінці кожного рядка (безпосередньо " +"перед кожним новим рядком). За замовчуванням ``'^'`` збігається лише на " +"початку рядка, а ``'$'`` лише в кінці рядка та безпосередньо перед символом " +"нового рядка (якщо є) у кінці рядка. Відповідає вбудованому прапору ``(?m)``." + +msgid "" +"Indicates no flag being applied, the value is ``0``. This flag may be used " +"as a default value for a function keyword argument or as a base value that " +"will be conditionally ORed with other flags. Example of use as a default " +"value::" +msgstr "" + +msgid "" +"Make the ``'.'`` special character match any character at all, including a " +"newline; without this flag, ``'.'`` will match anything *except* a newline. " +"Corresponds to the inline flag ``(?s)``." +msgstr "" +"Зробіть так, щоб спеціальний символ ``'.'`` відповідав будь-якому символу " +"взагалі, включаючи новий рядок; без цього прапорця ``'.'`` відповідатиме " +"будь-чому *крім* нового рядка. Відповідає вбудованому прапору ``(?s)``." + +msgid "" +"This flag allows you to write regular expressions that look nicer and are " +"more readable by allowing you to visually separate logical sections of the " +"pattern and add comments. Whitespace within the pattern is ignored, except " +"when in a character class, or when preceded by an unescaped backslash, or " +"within tokens like ``*?``, ``(?:`` or ``(?P<...>``. For example, ``(? :`` " +"and ``* ?`` are not allowed. When a line contains a ``#`` that is not in a " +"character class and is not preceded by an unescaped backslash, all " +"characters from the leftmost such ``#`` through the end of the line are " +"ignored." +msgstr "" + +msgid "" +"This means that the two following regular expression objects that match a " +"decimal number are functionally equal::" +msgstr "" +"Це означає, що два наступних об’єкти регулярного виразу, які відповідають " +"десятковому числу, функціонально однакові:" + +msgid "Corresponds to the inline flag ``(?x)``." +msgstr "Відповідає вбудованому прапору ``(?x)``." + +msgid "Functions" +msgstr "Функції" + +msgid "" +"Compile a regular expression pattern into a :ref:`regular expression object " +"`, which can be used for matching using its :func:`~Pattern." +"match`, :func:`~Pattern.search` and other methods, described below." +msgstr "" +"Скомпілюйте шаблон регулярного виразу в :ref:`об’єкт регулярного виразу `, який можна використовувати для зіставлення за допомогою його :" +"func:`~Pattern.match`, :func:`~Pattern.search` та інших методів, описаних " +"нижче ." + +msgid "" +"The expression's behaviour can be modified by specifying a *flags* value. " +"Values can be any of the following variables, combined using bitwise OR (the " +"``|`` operator)." +msgstr "" +"Поведінку виразу можна змінити, вказавши значення *flags*. Значеннями можуть " +"бути будь-які з наведених нижче змінних, об’єднаних за допомогою побітового " +"АБО (оператор ``|``)." + +msgid "The sequence ::" +msgstr "Послідовність ::" + +msgid "is equivalent to ::" +msgstr "еквівалентно ::" + +msgid "" +"but using :func:`re.compile` and saving the resulting regular expression " +"object for reuse is more efficient when the expression will be used several " +"times in a single program." +msgstr "" +"але використання :func:`re.compile` і збереження отриманого об’єкта " +"регулярного виразу для повторного використання ефективніше, якщо вираз " +"використовуватиметься кілька разів в одній програмі." + +msgid "" +"The compiled versions of the most recent patterns passed to :func:`re." +"compile` and the module-level matching functions are cached, so programs " +"that use only a few regular expressions at a time needn't worry about " +"compiling regular expressions." +msgstr "" +"Зібрані версії найновіших шаблонів, переданих до :func:`re.compile`, і " +"функції відповідності на рівні модуля кешуються, тому програмам, які " +"використовують лише кілька регулярних виразів одночасно, не потрібно " +"турбуватися про компіляцію регулярних виразів." + +msgid "" +"Scan through *string* looking for the first location where the regular " +"expression *pattern* produces a match, and return a corresponding :ref:" +"`match object `. Return ``None`` if no position in the " +"string matches the pattern; note that this is different from finding a zero-" +"length match at some point in the string." +msgstr "" +"Перегляньте *рядок*, шукаючи перше розташування, де регулярний вираз " +"*шаблон* створює збіг, і поверніть відповідний :ref:`об’єкт відповідності " +"`. Повертає ``None``, якщо жодна позиція в рядку не " +"відповідає шаблону; зауважте, що це відрізняється від пошуку збігу нульової " +"довжини в деякій точці рядка." + +msgid "" +"If zero or more characters at the beginning of *string* match the regular " +"expression *pattern*, return a corresponding :ref:`match object `. Return ``None`` if the string does not match the pattern; note " +"that this is different from a zero-length match." +msgstr "" +"Якщо нуль або більше символів на початку *string* відповідає регулярному " +"виразу *pattern*, поверніть відповідний :ref:`match object `. " +"Повертає ``None``, якщо рядок не відповідає шаблону; зауважте, що це " +"відрізняється від збігу нульової довжини." + +msgid "" +"Note that even in :const:`MULTILINE` mode, :func:`re.match` will only match " +"at the beginning of the string and not at the beginning of each line." +msgstr "" +"Зауважте, що навіть у режимі :const:`MULTILINE` :func:`re.match` " +"збігатиметься лише на початку рядка, а не на початку кожного рядка." + +msgid "" +"If you want to locate a match anywhere in *string*, use :func:`search` " +"instead (see also :ref:`search-vs-match`)." +msgstr "" +"Якщо ви хочете знайти збіг будь-де в *string*, використовуйте натомість :" +"func:`search` (див. також :ref:`search-vs-match`)." + +msgid "" +"If the whole *string* matches the regular expression *pattern*, return a " +"corresponding :ref:`match object `. Return ``None`` if the " +"string does not match the pattern; note that this is different from a zero-" +"length match." +msgstr "" +"Якщо весь *рядок* відповідає регулярному виразу *шаблону*, поверніть " +"відповідний :ref:`об’єкт відповідності `. Повертає ``None``, " +"якщо рядок не відповідає шаблону; зауважте, що це відрізняється від збігу " +"нульової довжини." + +msgid "" +"Split *string* by the occurrences of *pattern*. If capturing parentheses " +"are used in *pattern*, then the text of all groups in the pattern are also " +"returned as part of the resulting list. If *maxsplit* is nonzero, at most " +"*maxsplit* splits occur, and the remainder of the string is returned as the " +"final element of the list. ::" +msgstr "" +"Розділіть *рядок* на входження *шаблону*. Якщо в *шаблоні* використовуються " +"дужки для захоплення, тоді текст усіх груп у шаблоні також повертається як " +"частина результуючого списку. Якщо *maxsplit* відмінний від нуля, " +"відбувається не більше ніж *maxsplit*, а залишок рядка повертається як " +"останній елемент списку. ::" + +msgid "" +"If there are capturing groups in the separator and it matches at the start " +"of the string, the result will start with an empty string. The same holds " +"for the end of the string::" +msgstr "" +"Якщо в розділювачі є групи захоплення, і він збігається на початку рядка, " +"результат розпочнеться з порожнього рядка. Те саме стосується кінця рядка::" + +msgid "" +"That way, separator components are always found at the same relative indices " +"within the result list." +msgstr "" +"Таким чином, компоненти роздільників завжди знаходяться за однаковими " +"відносними індексами в списку результатів." + +msgid "" +"Empty matches for the pattern split the string only when not adjacent to a " +"previous empty match." +msgstr "" +"Порожні збіги для шаблону розділяють рядок лише тоді, коли вони не суміжні з " +"попереднім порожнім збігом." + +msgid "Added the optional flags argument." +msgstr "Додано необов’язковий аргумент flags." + +msgid "" +"Added support of splitting on a pattern that could match an empty string." +msgstr "" +"Додано підтримку розбиття на шаблон, який може відповідати порожньому рядку." + +msgid "" +"Return all non-overlapping matches of *pattern* in *string*, as a list of " +"strings or tuples. The *string* is scanned left-to-right, and matches are " +"returned in the order found. Empty matches are included in the result." +msgstr "" +"Повертає всі неперекриваючі збіги *шаблону* в *рядку* у вигляді списку " +"рядків або кортежів. *Рядок* сканується зліва направо, і збіги повертаються " +"в порядку знайдення. Порожні збіги включаються в результат." + +msgid "" +"The result depends on the number of capturing groups in the pattern. If " +"there are no groups, return a list of strings matching the whole pattern. " +"If there is exactly one group, return a list of strings matching that " +"group. If multiple groups are present, return a list of tuples of strings " +"matching the groups. Non-capturing groups do not affect the form of the " +"result." +msgstr "" +"Результат залежить від кількості груп захоплення в шаблоні. Якщо груп немає, " +"поверніть список рядків, які відповідають повному шаблону. Якщо існує рівно " +"одна група, поверніть список рядків, які відповідають цій групі. Якщо " +"присутні кілька груп, поверніть список кортежів рядків, які відповідають " +"групам. Незахоплюючі групи не впливають на форму результату." + +msgid "Non-empty matches can now start just after a previous empty match." +msgstr "" +"Непорожні збіги тепер можуть починатися одразу після попереднього порожнього " +"збігу." + +msgid "" +"Return an :term:`iterator` yielding :ref:`match objects ` " +"over all non-overlapping matches for the RE *pattern* in *string*. The " +"*string* is scanned left-to-right, and matches are returned in the order " +"found. Empty matches are included in the result." +msgstr "" +"Повертає :term:`iterator`, що дає :ref:`match об’єкти ` над " +"усіма неперекриваючими збігами для *шаблону* RE в *рядку*. *Рядок* " +"сканується зліва направо, і збіги повертаються в порядку знайдення. Порожні " +"збіги включаються в результат." + +msgid "" +"Return the string obtained by replacing the leftmost non-overlapping " +"occurrences of *pattern* in *string* by the replacement *repl*. If the " +"pattern isn't found, *string* is returned unchanged. *repl* can be a string " +"or a function; if it is a string, any backslash escapes in it are " +"processed. That is, ``\\n`` is converted to a single newline character, ``" +"\\r`` is converted to a carriage return, and so forth. Unknown escapes of " +"ASCII letters are reserved for future use and treated as errors. Other " +"unknown escapes such as ``\\&`` are left alone. Backreferences, such as ``" +"\\6``, are replaced with the substring matched by group 6 in the pattern. " +"For example::" +msgstr "" +"Повертає рядок, отриманий шляхом заміни крайніх лівих неперекриваючих " +"входжень *pattern* у *string* на заміну *repl*. Якщо шаблон не знайдено, " +"*рядок* повертається без змін. *repl* може бути рядком або функцією; якщо це " +"рядок, будь-які вихідні символи зворотної косої риски в ньому обробляються. " +"Тобто ``\\n`` перетворюється на один символ нового рядка, ``\\r`` " +"перетворюється на повернення каретки і так далі. Невідомі вихідні коди літер " +"ASCII зарезервовано для майбутнього використання та розглядаються як " +"помилки. Інші невідомі вихідні сигнали, такі як ``\\&`` залишаються в " +"спокої. Зворотні посилання, такі як ``\\6``, замінюються підрядком, який " +"відповідає групі 6 у шаблоні. Наприклад::" + +msgid "" +"If *repl* is a function, it is called for every non-overlapping occurrence " +"of *pattern*. The function takes a single :ref:`match object ` argument, and returns the replacement string. For example::" +msgstr "" +"Якщо *repl* є функцією, вона викликається для кожного неперекриваючого " +"входження *шаблону*. Функція приймає один аргумент :ref:`match object ` і повертає рядок заміни. Наприклад::" + +msgid "The pattern may be a string or a :ref:`pattern object `." +msgstr "Шаблон може бути рядком або :ref:`об’єктом шаблону `." + +msgid "" +"The optional argument *count* is the maximum number of pattern occurrences " +"to be replaced; *count* must be a non-negative integer. If omitted or zero, " +"all occurrences will be replaced. Empty matches for the pattern are replaced " +"only when not adjacent to a previous empty match, so ``sub('x*', '-', " +"'abxd')`` returns ``'-a-b--d-'``." +msgstr "" +"Необов’язковий аргумент *count* — це максимальна кількість шаблонів, які " +"потрібно замінити; *count* має бути невід’ємним цілим числом. Якщо опущено " +"або дорівнює нулю, усі входження буде замінено. Порожні збіги для шаблону " +"замінюються лише тоді, коли вони не суміжні з попереднім порожнім збігом, " +"тому ``sub('x*', '-', 'abxd')`` повертає ``'-a-b--d-'`` ." + +msgid "" +"In string-type *repl* arguments, in addition to the character escapes and " +"backreferences described above, ``\\g`` will use the substring matched " +"by the group named ``name``, as defined by the ``(?P...)`` syntax. ``" +"\\g`` uses the corresponding group number; ``\\g<2>`` is therefore " +"equivalent to ``\\2``, but isn't ambiguous in a replacement such as ``" +"\\g<2>0``. ``\\20`` would be interpreted as a reference to group 20, not a " +"reference to group 2 followed by the literal character ``'0'``. The " +"backreference ``\\g<0>`` substitutes in the entire substring matched by the " +"RE." +msgstr "" +"В аргументах рядкового типу *repl*, на додаток до екранованих символів і " +"зворотних посилань, описаних вище, ``\\g `` використовуватиме " +"підрядок, який відповідає групі з назвою ``name``, як визначено ``(? P " +" ...)`` синтаксис. ``\\g `` використовує відповідний номер " +"групи; ``\\g <2>``, отже, еквівалентний ``\\2``, але не є неоднозначним у " +"заміні, такій як ``\\g <2> 0``. ``\\20`` інтерпретуватиметься як посилання " +"на групу 20, а не як посилання на групу 2, за якою йде літеральний символ " +"``'0'``. Зворотне посилання ``\\g <0>`` замінює весь підрядок, який " +"відповідає RE." + +msgid "Unmatched groups are replaced with an empty string." +msgstr "Невідповідні групи замінюються порожнім рядком." + +msgid "" +"Unknown escapes in *pattern* consisting of ``'\\'`` and an ASCII letter now " +"are errors." +msgstr "" +"Невідомі вихідні коди в *шаблоні*, що складаються з ``'\\'`` і літери ASCII, " +"тепер є помилками." + +msgid "" +"Unknown escapes in *repl* consisting of ``'\\'`` and an ASCII letter now are " +"errors." +msgstr "" +"Невідомі вихідні символи в *repl*, які складаються з ``'\\'`` і літери " +"ASCII, тепер є помилками." + +msgid "" +"Empty matches for the pattern are replaced when adjacent to a previous non-" +"empty match." +msgstr "" +"Порожні збіги для шаблону замінюються, якщо вони суміжні з попереднім " +"непорожнім збігом." + +msgid "" +"Group *id* containing anything except ASCII digits. Group names containing " +"non-ASCII characters in bytes replacement strings." +msgstr "" + +msgid "" +"Perform the same operation as :func:`sub`, but return a tuple ``(new_string, " +"number_of_subs_made)``." +msgstr "" +"Виконайте ту саму операцію, що й :func:`sub`, але поверніть кортеж " +"``(new_string, number_of_subs_made)``." + +msgid "" +"Escape special characters in *pattern*. This is useful if you want to match " +"an arbitrary literal string that may have regular expression metacharacters " +"in it. For example::" +msgstr "" +"Екранування спеціальних символів у *шаблоні*. Це корисно, якщо ви хочете " +"зіставити довільний рядок літералу, який може містити метасимволи " +"регулярного виразу. Наприклад::" + +msgid "" +"This function must not be used for the replacement string in :func:`sub` " +"and :func:`subn`, only backslashes should be escaped. For example::" +msgstr "" +"Цю функцію не можна використовувати для рядка заміни в :func:`sub` і :func:" +"`subn`, слід екранувати лише зворотні косі риски. Наприклад::" + +msgid "The ``'_'`` character is no longer escaped." +msgstr "Символ \"_\" більше не екранується." + +msgid "" +"Only characters that can have special meaning in a regular expression are " +"escaped. As a result, ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, " +"``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, ``'>'``, ``'@'``, and ``\"`\"`` " +"are no longer escaped." +msgstr "" +"Екрануються лише символи, які можуть мати спеціальне значення в регулярному " +"виразі. У результаті ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, ``'/'` " +"`, ``':'``, ``';'``, ``' <'``, ``'='``, ``'> '``, ``'@'`` і ``\"`\"`` більше " +"не екрануються." + +msgid "Clear the regular expression cache." +msgstr "Очистити кеш регулярних виразів." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"Exception raised when a string passed to one of the functions here is not a " +"valid regular expression (for example, it might contain unmatched " +"parentheses) or when some other error occurs during compilation or " +"matching. It is never an error if a string contains no match for a " +"pattern. The error instance has the following additional attributes:" +msgstr "" +"Виняток виникає, коли рядок, переданий одній із функцій тут, не є дійсним " +"регулярним виразом (наприклад, він може містити невідповідні дужки) або коли " +"під час компіляції чи зіставлення виникає інша помилка. Ніколи не буде " +"помилкою, якщо рядок не містить збігів для шаблону. Екземпляр помилки має " +"такі додаткові атрибути:" + +msgid "The unformatted error message." +msgstr "Неформатне повідомлення про помилку." + +msgid "The regular expression pattern." +msgstr "Шаблон регулярного виразу." + +msgid "The index in *pattern* where compilation failed (may be ``None``)." +msgstr "Індекс у *шаблоні*, де не вдалося компілювати (може бути ``None``)." + +msgid "The line corresponding to *pos* (may be ``None``)." +msgstr "Рядок, що відповідає *pos* (може бути ``None``)." + +msgid "The column corresponding to *pos* (may be ``None``)." +msgstr "Стовпець, що відповідає *pos* (може бути ``None``)." + +msgid "Added additional attributes." +msgstr "Додані додаткові атрибути." + +msgid "Regular Expression Objects" +msgstr "Об’єкти регулярного виразу" + +msgid "" +"Compiled regular expression objects support the following methods and " +"attributes:" +msgstr "" +"Зкомпільовані об’єкти регулярного виразу підтримують наступні методи та " +"атрибути:" + +msgid "" +"Scan through *string* looking for the first location where this regular " +"expression produces a match, and return a corresponding :ref:`match object " +"`. Return ``None`` if no position in the string matches the " +"pattern; note that this is different from finding a zero-length match at " +"some point in the string." +msgstr "" +"Проскануйте *рядок*, шукаючи перше місце, де цей регулярний вираз створює " +"збіг, і поверніть відповідний :ref:`об’єкт відповідності `. " +"Повертає ``None``, якщо жодна позиція в рядку не відповідає шаблону; " +"зауважте, що це відрізняється від пошуку збігу нульової довжини в деякій " +"точці рядка." + +msgid "" +"The optional second parameter *pos* gives an index in the string where the " +"search is to start; it defaults to ``0``. This is not completely equivalent " +"to slicing the string; the ``'^'`` pattern character matches at the real " +"beginning of the string and at positions just after a newline, but not " +"necessarily at the index where the search is to start." +msgstr "" +"Необов’язковий другий параметр *pos* дає індекс у рядку, з якого має " +"початися пошук; за замовчуванням ``0``. Це не зовсім еквівалентно нарізанню " +"струни; символ шаблону ``'^'`` збігається на справжньому початку рядка та в " +"позиціях одразу після нового рядка, але не обов’язково в індексі, з якого " +"має початися пошук." + +msgid "" +"The optional parameter *endpos* limits how far the string will be searched; " +"it will be as if the string is *endpos* characters long, so only the " +"characters from *pos* to ``endpos - 1`` will be searched for a match. If " +"*endpos* is less than *pos*, no match will be found; otherwise, if *rx* is a " +"compiled regular expression object, ``rx.search(string, 0, 50)`` is " +"equivalent to ``rx.search(string[:50], 0)``. ::" +msgstr "" +"Необов'язковий параметр *endpos* обмежує, наскільки далеко буде " +"здійснюватися пошук рядка; це буде так, ніби рядок складається з *endpos* " +"символів, тому шукатимуть збіги лише за символами від *pos* до ``endpos - " +"1``. Якщо *endpos* менше ніж *pos*, збіг не знайдено; інакше, якщо *rx* є " +"скомпільованим об’єктом регулярного виразу, ``rx.search(string, 0, 50)`` " +"еквівалентно ``rx.search(string[:50], 0)``. ::" + +msgid "" +"If zero or more characters at the *beginning* of *string* match this regular " +"expression, return a corresponding :ref:`match object `. " +"Return ``None`` if the string does not match the pattern; note that this is " +"different from a zero-length match." +msgstr "" +"Якщо цьому регулярному виразу відповідає нуль або більше символів на " +"*початку* *рядка*, повертається відповідний :ref:`об’єкт відповідності " +"`. Повертає ``None``, якщо рядок не відповідає шаблону; " +"зауважте, що це відрізняється від збігу нульової довжини." + +msgid "" +"The optional *pos* and *endpos* parameters have the same meaning as for the :" +"meth:`~Pattern.search` method. ::" +msgstr "" +"Необов’язкові параметри *pos* і *endpos* мають те саме значення, що й для " +"методу :meth:`~Pattern.search`. ::" + +msgid "" +"If you want to locate a match anywhere in *string*, use :meth:`~Pattern." +"search` instead (see also :ref:`search-vs-match`)." +msgstr "" +"Якщо ви хочете знайти збіг будь-де в *string*, використовуйте натомість :" +"meth:`~Pattern.search` (див. також :ref:`search-vs-match`)." + +msgid "" +"If the whole *string* matches this regular expression, return a " +"corresponding :ref:`match object `. Return ``None`` if the " +"string does not match the pattern; note that this is different from a zero-" +"length match." +msgstr "" +"Якщо весь *рядок* відповідає цьому регулярному виразу, поверніть " +"відповідний :ref:`match object `. Повертає ``None``, якщо " +"рядок не відповідає шаблону; зауважте, що це відрізняється від збігу " +"нульової довжини." + +msgid "Identical to the :func:`split` function, using the compiled pattern." +msgstr "Ідентична функції :func:`split`, використовуючи скомпільований шаблон." + +msgid "" +"Similar to the :func:`findall` function, using the compiled pattern, but " +"also accepts optional *pos* and *endpos* parameters that limit the search " +"region like for :meth:`search`." +msgstr "" +"Подібно до функції :func:`findall`, використовує скомпільований шаблон, але " +"також приймає додаткові параметри *pos* і *endpos*, які обмежують область " +"пошуку, як для :meth:`search`." + +msgid "" +"Similar to the :func:`finditer` function, using the compiled pattern, but " +"also accepts optional *pos* and *endpos* parameters that limit the search " +"region like for :meth:`search`." +msgstr "" +"Подібно до функції :func:`finditer`, яка використовує скомпільований шаблон, " +"але також приймає додаткові параметри *pos* і *endpos*, які обмежують " +"область пошуку, як для :meth:`search`." + +msgid "Identical to the :func:`sub` function, using the compiled pattern." +msgstr "Ідентична функції :func:`sub`, використовуючи скомпільований шаблон." + +msgid "Identical to the :func:`subn` function, using the compiled pattern." +msgstr "Ідентична функції :func:`subn`, використовуючи скомпільований шаблон." + +msgid "" +"The regex matching flags. This is a combination of the flags given to :func:" +"`.compile`, any ``(?...)`` inline flags in the pattern, and implicit flags " +"such as :data:`UNICODE` if the pattern is a Unicode string." +msgstr "" +"Прапори відповідності регулярних виразів. Це комбінація прапорів, наданих :" +"func:`.compile`, будь-яких вбудованих прапорів ``(?...)`` у шаблоні та " +"неявних прапорів, таких як :data:`UNICODE`, якщо шаблон є Рядок Unicode." + +msgid "The number of capturing groups in the pattern." +msgstr "Кількість груп захоплення в шаблоні." + +msgid "" +"A dictionary mapping any symbolic group names defined by ``(?P)`` to " +"group numbers. The dictionary is empty if no symbolic groups were used in " +"the pattern." +msgstr "" +"Словник, що відображає будь-які символічні назви груп, визначені ``(?P " +" )``, на номери груп. Словник порожній, якщо в шаблоні не " +"використовувалися символічні групи." + +msgid "The pattern string from which the pattern object was compiled." +msgstr "Рядок шаблону, з якого було скомпільовано об’єкт шаблону." + +msgid "" +"Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Compiled " +"regular expression objects are considered atomic." +msgstr "" +"Додано підтримку :func:`copy.copy` і :func:`copy.deepcopy`. Зкомпільовані " +"об’єкти регулярного виразу вважаються атомарними." + +msgid "Match Objects" +msgstr "Зіставте об’єкти" + +msgid "" +"Match objects always have a boolean value of ``True``. Since :meth:`~Pattern." +"match` and :meth:`~Pattern.search` return ``None`` when there is no match, " +"you can test whether there was a match with a simple ``if`` statement::" +msgstr "" +"Об’єкти відповідності завжди мають логічне значення ``True``. Оскільки :meth:" +"`~Pattern.match` і :meth:`~Pattern.search` повертають ``None`` за " +"відсутності збігу, ви можете перевірити, чи був збіг за допомогою простого " +"оператора ``if``: :" + +msgid "Match objects support the following methods and attributes:" +msgstr "Об’єкти відповідності підтримують такі методи й атрибути:" + +msgid "" +"Return the string obtained by doing backslash substitution on the template " +"string *template*, as done by the :meth:`~Pattern.sub` method. Escapes such " +"as ``\\n`` are converted to the appropriate characters, and numeric " +"backreferences (``\\1``, ``\\2``) and named backreferences (``\\g<1>``, ``" +"\\g``) are replaced by the contents of the corresponding group." +msgstr "" +"Повертає рядок, отриманий заміною зворотної похилої риски в рядку шаблону " +"*template*, як це робиться методом :meth:`~Pattern.sub`. Екрани, такі як ``" +"\\n``, перетворюються на відповідні символи, а також числові зворотні " +"посилання (``\\1``, ``\\2``) і іменовані зворотні посилання (``\\g <1>``, ``" +"\\g ``) замінюються вмістом відповідної групи." + +msgid "" +"Returns one or more subgroups of the match. If there is a single argument, " +"the result is a single string; if there are multiple arguments, the result " +"is a tuple with one item per argument. Without arguments, *group1* defaults " +"to zero (the whole match is returned). If a *groupN* argument is zero, the " +"corresponding return value is the entire matching string; if it is in the " +"inclusive range [1..99], it is the string matching the corresponding " +"parenthesized group. If a group number is negative or larger than the " +"number of groups defined in the pattern, an :exc:`IndexError` exception is " +"raised. If a group is contained in a part of the pattern that did not match, " +"the corresponding result is ``None``. If a group is contained in a part of " +"the pattern that matched multiple times, the last match is returned. ::" +msgstr "" +"Повертає одну або кілька підгруп збігу. Якщо є один аргумент, результатом " +"буде один рядок; якщо є кілька аргументів, результатом є кортеж з одним " +"елементом на аргумент. Без аргументів *group1* за замовчуванням дорівнює " +"нулю (повертається весь збіг). Якщо аргумент *groupN* дорівнює нулю, " +"відповідним значенням, що повертається, є весь відповідний рядок; якщо він " +"знаходиться у включному діапазоні [1..99], це рядок, що відповідає " +"відповідній групі в дужках. Якщо номер групи є від’ємним або перевищує " +"кількість груп, визначених у шаблоні, виникає виняток :exc:`IndexError`. " +"Якщо група міститься в частині шаблону, яка не відповідає, відповідним " +"результатом є ``None``. Якщо група міститься в частині шаблону, яка " +"збігалася кілька разів, повертається останній збіг. ::" + +msgid "" +"If the regular expression uses the ``(?P...)`` syntax, the *groupN* " +"arguments may also be strings identifying groups by their group name. If a " +"string argument is not used as a group name in the pattern, an :exc:" +"`IndexError` exception is raised." +msgstr "" +"Якщо регулярний вираз використовує синтаксис ``(?P ...)``, аргументи " +"*groupN* також можуть бути рядками, що ідентифікують групи за назвою групи. " +"Якщо рядковий аргумент не використовується як ім’я групи в шаблоні, виникає " +"виняток :exc:`IndexError`." + +msgid "A moderately complicated example::" +msgstr "Помірно складний приклад:" + +msgid "Named groups can also be referred to by their index::" +msgstr "Іменовані групи також можна посилатися за їх індексом::" + +msgid "If a group matches multiple times, only the last match is accessible::" +msgstr "" +"Якщо група збігається кілька разів, доступним буде лише останній збіг::" + +msgid "" +"This is identical to ``m.group(g)``. This allows easier access to an " +"individual group from a match::" +msgstr "" +"Це ідентично ``m.group(g)``. Це дозволяє легше отримати доступ до окремої " +"групи з матчу::" + +msgid "Named groups are supported as well::" +msgstr "" + +msgid "" +"Return a tuple containing all the subgroups of the match, from 1 up to " +"however many groups are in the pattern. The *default* argument is used for " +"groups that did not participate in the match; it defaults to ``None``." +msgstr "" +"Повертає кортеж, що містить усі підгрупи відповідності, від 1 до будь-якої " +"кількості груп у шаблоні. Аргумент *default* використовується для груп, які " +"не брали участі в матчі; за замовчуванням ``None``." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"If we make the decimal place and everything after it optional, not all " +"groups might participate in the match. These groups will default to " +"``None`` unless the *default* argument is given::" +msgstr "" +"Якщо ми зробимо знак після коми необов’язковим, не всі групи можуть брати " +"участь у матчі. Для цих груп за замовчуванням буде ``None``, якщо не вказано " +"аргумент *default*::" + +msgid "" +"Return a dictionary containing all the *named* subgroups of the match, keyed " +"by the subgroup name. The *default* argument is used for groups that did " +"not participate in the match; it defaults to ``None``. For example::" +msgstr "" +"Повертає словник, що містить усі *іменовані* підгрупи збігу, ключ яких " +"містить назву підгрупи. Аргумент *default* використовується для груп, які не " +"брали участі в матчі; за замовчуванням ``None``. Наприклад::" + +msgid "" +"Return the indices of the start and end of the substring matched by *group*; " +"*group* defaults to zero (meaning the whole matched substring). Return " +"``-1`` if *group* exists but did not contribute to the match. For a match " +"object *m*, and a group *g* that did contribute to the match, the substring " +"matched by group *g* (equivalent to ``m.group(g)``) is ::" +msgstr "" +"Повертає індекси початку та кінця підрядка, які відповідають *групі*; " +"*group* за замовчуванням дорівнює нулю (це означає весь відповідний " +"підрядок). Повертає ``-1``, якщо *група* існує, але не брала участі в матчі. " +"Для об’єкта збігу *m* і групи *g*, яка внесла свій внесок у збіг, підрядок, " +"який відповідає групі *g* (еквівалент ``m.group(g)``) є ::" + +msgid "" +"Note that ``m.start(group)`` will equal ``m.end(group)`` if *group* matched " +"a null string. For example, after ``m = re.search('b(c?)', 'cba')``, ``m." +"start(0)`` is 1, ``m.end(0)`` is 2, ``m.start(1)`` and ``m.end(1)`` are both " +"2, and ``m.start(2)`` raises an :exc:`IndexError` exception." +msgstr "" +"Зауважте, що ``m.start(group)`` дорівнюватиме ``m.end(group)``, якщо *group* " +"відповідає нульовому рядку. Наприклад, після ``m = re.search('b(c?)', " +"'cba')``, ``m.start(0)`` дорівнює 1, ``m.end(0)`` дорівнює 2, ``m.start(1)`` " +"і ``m.end(1)`` мають значення 2, а ``m.start(2)`` викликає виняток :exc:" +"`IndexError`." + +msgid "An example that will remove *remove_this* from email addresses::" +msgstr "Приклад видалення *remove_this* з електронних адрес::" + +msgid "" +"For a match *m*, return the 2-tuple ``(m.start(group), m.end(group))``. Note " +"that if *group* did not contribute to the match, this is ``(-1, -1)``. " +"*group* defaults to zero, the entire match." +msgstr "" +"Для збігу *m* поверніть 2-кортеж ``(m.start(group), m.end(group))``. " +"Зауважте, що якщо *група* не брала участі в матчі, це ``(-1, -1)``. *група* " +"за замовчуванням дорівнює нулю, весь збіг." + +msgid "" +"The value of *pos* which was passed to the :meth:`~Pattern.search` or :meth:" +"`~Pattern.match` method of a :ref:`regex object `. This is the " +"index into the string at which the RE engine started looking for a match." +msgstr "" +"Значення *pos*, яке було передано в метод :meth:`~Pattern.search` або :meth:" +"`~Pattern.match` об’єкта :ref:`regex `. Це індекс у рядку, за " +"яким механізм RE почав шукати збіг." + +msgid "" +"The value of *endpos* which was passed to the :meth:`~Pattern.search` or :" +"meth:`~Pattern.match` method of a :ref:`regex object `. This is " +"the index into the string beyond which the RE engine will not go." +msgstr "" +"Значення *endpos*, яке було передано в метод :meth:`~Pattern.search` або :" +"meth:`~Pattern.match` об’єкта :ref:`regex `. Це індекс у рядку, " +"за який механізм RE не виходить." + +msgid "" +"The integer index of the last matched capturing group, or ``None`` if no " +"group was matched at all. For example, the expressions ``(a)b``, ``((a)" +"(b))``, and ``((ab))`` will have ``lastindex == 1`` if applied to the string " +"``'ab'``, while the expression ``(a)(b)`` will have ``lastindex == 2``, if " +"applied to the same string." +msgstr "" +"Цілочисельний індекс останньої відповідної групи захоплення або ``None``, " +"якщо жодна група не була знайдена взагалі. Наприклад, вирази ``(a)b``, ``((a)" +"(b))`` і ``((ab))`` матимуть ``lastindex == 1``, якщо застосувати до рядок " +"``'ab''``, тоді як вираз ``(a)(b)`` матиме ``lastindex == 2``, якщо " +"застосувати до того самого рядка." + +msgid "" +"The name of the last matched capturing group, or ``None`` if the group " +"didn't have a name, or if no group was matched at all." +msgstr "" +"Ім’я останньої відповідної групи захоплення або ``None``, якщо група не мала " +"назви, або якщо жодна група не була знайдена взагалі." + +msgid "" +"The :ref:`regular expression object ` whose :meth:`~Pattern." +"match` or :meth:`~Pattern.search` method produced this match instance." +msgstr "" +"Об’єкт :ref:`регулярного виразу `, чий метод :meth:`~Pattern." +"match` або :meth:`~Pattern.search` створив цей екземпляр відповідності." + +msgid "The string passed to :meth:`~Pattern.match` or :meth:`~Pattern.search`." +msgstr "" +"Рядок передається до :meth:`~Pattern.match` або :meth:`~Pattern.search`." + +msgid "" +"Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Match objects " +"are considered atomic." +msgstr "" +"Додано підтримку :func:`copy.copy` і :func:`copy.deepcopy`. Об'єкти " +"відповідності вважаються атомарними." + +msgid "Regular Expression Examples" +msgstr "Приклади регулярних виразів" + +msgid "Checking for a Pair" +msgstr "Перевірка на пару" + +msgid "" +"In this example, we'll use the following helper function to display match " +"objects a little more gracefully::" +msgstr "" +"У цьому прикладі ми використаємо наступну допоміжну функцію, щоб відобразити " +"об’єкти відповідності трохи витонченіше:" + +msgid "" +"Suppose you are writing a poker program where a player's hand is represented " +"as a 5-character string with each character representing a card, \"a\" for " +"ace, \"k\" for king, \"q\" for queen, \"j\" for jack, \"t\" for 10, and " +"\"2\" through \"9\" representing the card with that value." +msgstr "" +"Припустімо, що ви пишете покерну програму, де рука гравця представлена у " +"вигляді рядка з 5 символів, де кожен символ представляє карту, \"a\" — туз, " +"\"k\" — король, \"q\" — дама, \"j\" — валет, \"t\" означає 10 і \"2\" - " +"\"9\", що представляють картку з таким значенням." + +msgid "To see if a given string is a valid hand, one could do the following::" +msgstr "" +"Щоб перевірити, чи даний рядок є правильною рукою, можна зробити наступне:" + +msgid "" +"That last hand, ``\"727ak\"``, contained a pair, or two of the same valued " +"cards. To match this with a regular expression, one could use backreferences " +"as such::" +msgstr "" +"Ця остання роздача, ``\"727ak\"``, містила пару або дві карти однакового " +"значення. Щоб зіставити це з регулярним виразом, можна використовувати " +"зворотні посилання як такі:" + +msgid "" +"To find out what card the pair consists of, one could use the :meth:`~Match." +"group` method of the match object in the following manner::" +msgstr "" +"Щоб дізнатися, з якої карти складається пара, можна використати метод :meth:" +"`~Match.group` об’єкта відповідності таким чином:" + +msgid "Simulating scanf()" +msgstr "Імітація scanf()" + +msgid "" +"Python does not currently have an equivalent to :c:func:`scanf`. Regular " +"expressions are generally more powerful, though also more verbose, than :c:" +"func:`scanf` format strings. The table below offers some more-or-less " +"equivalent mappings between :c:func:`scanf` format tokens and regular " +"expressions." +msgstr "" +"Python наразі не має еквівалента :c:func:`scanf`. Регулярні вирази, як " +"правило, потужніші, хоча й більш докладні, ніж рядки формату :c:func:" +"`scanf`. Таблиця нижче пропонує деякі більш-менш еквівалентні відповідності " +"між маркерами формату :c:func:`scanf` і регулярними виразами." + +msgid ":c:func:`scanf` Token" +msgstr ":c:func:`scanf` Токен" + +msgid "Regular Expression" +msgstr "Регулярний вираз" + +msgid "``%c``" +msgstr "``%c``" + +msgid "``%5c``" +msgstr "``%5c``" + +msgid "``.{5}``" +msgstr "``.{5}``" + +msgid "``%d``" +msgstr "``%d``" + +msgid "``[-+]?\\d+``" +msgstr "``[-+]?\\d+``" + +msgid "``%e``, ``%E``, ``%f``, ``%g``" +msgstr "``%e``, ``%E``, ``%f``, ``%g``" + +msgid "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" +msgstr "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" + +msgid "``%i``" +msgstr "``%i``" + +msgid "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" +msgstr "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" + +msgid "``%o``" +msgstr "``%o``" + +msgid "``[-+]?[0-7]+``" +msgstr "``[-+]?[0-7]+``" + +msgid "``%s``" +msgstr "``%s``" + +msgid "``\\S+``" +msgstr "``\\S+``" + +msgid "``%u``" +msgstr "``%u``" + +msgid "``\\d+``" +msgstr "``\\d+``" + +msgid "``%x``, ``%X``" +msgstr "``%x``, ``%X``" + +msgid "``[-+]?(0[xX])?[\\dA-Fa-f]+``" +msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``" + +msgid "To extract the filename and numbers from a string like ::" +msgstr "Щоб витягти назву файлу та номери з рядка на зразок ::" + +msgid "you would use a :c:func:`scanf` format like ::" +msgstr "ви б використовували формат :c:func:`scanf`, наприклад ::" + +msgid "The equivalent regular expression would be ::" +msgstr "Еквівалентним регулярним виразом буде::" + +msgid "search() vs. match()" +msgstr "search() проти match()" + +msgid "" +"Python offers two different primitive operations based on regular " +"expressions: :func:`re.match` checks for a match only at the beginning of " +"the string, while :func:`re.search` checks for a match anywhere in the " +"string (this is what Perl does by default)." +msgstr "" +"Python пропонує дві різні примітивні операції на основі регулярних виразів: :" +"func:`re.match` перевіряє збіг лише на початку рядка, тоді як :func:`re." +"search` перевіряє збіг будь-де в рядку (це це те, що Perl робить за " +"замовчуванням)." + +msgid "" +"Regular expressions beginning with ``'^'`` can be used with :func:`search` " +"to restrict the match at the beginning of the string::" +msgstr "" +"Регулярні вирази, що починаються з ``'^'``, можна використовувати з :func:" +"`search`, щоб обмежити збіг на початку рядка::" + +msgid "" +"Note however that in :const:`MULTILINE` mode :func:`match` only matches at " +"the beginning of the string, whereas using :func:`search` with a regular " +"expression beginning with ``'^'`` will match at the beginning of each " +"line. ::" +msgstr "" +"Однак зауважте, що в режимі :const:`MULTILINE` :func:`match` збігається лише " +"на початку рядка, тоді як використання :func:`search` із регулярним виразом, " +"що починається з ``'^'`` збігається на початок кожного рядка. ::" + +msgid "Making a Phonebook" +msgstr "Створення телефонної книги" + +msgid "" +":func:`split` splits a string into a list delimited by the passed pattern. " +"The method is invaluable for converting textual data into data structures " +"that can be easily read and modified by Python as demonstrated in the " +"following example that creates a phonebook." +msgstr "" +":func:`split` розбиває рядок на список, розділений переданим шаблоном. Цей " +"метод є безцінним для перетворення текстових даних у структури даних, які " +"можна легко читати та змінювати Python, як показано в наступному прикладі " +"створення телефонної книги." + +msgid "" +"First, here is the input. Normally it may come from a file, here we are " +"using triple-quoted string syntax" +msgstr "" +"По-перше, ось вхідні дані. Зазвичай він може надходити з файлу, тут ми " +"використовуємо синтаксис рядка в потрійних лапках" + +msgid "" +"The entries are separated by one or more newlines. Now we convert the string " +"into a list with each nonempty line having its own entry:" +msgstr "" +"Записи розділені одним або кількома символами нового рядка. Тепер ми " +"перетворюємо рядок на список, у якому кожен непорожній рядок має окремий " +"запис:" + +msgid "" +"Finally, split each entry into a list with first name, last name, telephone " +"number, and address. We use the ``maxsplit`` parameter of :func:`split` " +"because the address has spaces, our splitting pattern, in it:" +msgstr "" +"Нарешті, розділіть кожен запис на список із іменем, прізвищем, номером " +"телефону та адресою. Ми використовуємо параметр ``maxsplit`` :func:`split`, " +"тому що в адресі є пробіли, наш шаблон поділу:" + +msgid "" +"The ``:?`` pattern matches the colon after the last name, so that it does " +"not occur in the result list. With a ``maxsplit`` of ``4``, we could " +"separate the house number from the street name:" +msgstr "" +"Шаблон ``:?`` відповідає двокрапці після прізвища, щоб він не зустрічався в " +"списку результатів. За допомогою ``maxsplit`` ``4`` ми можемо відокремити " +"номер будинку від назви вулиці:" + +msgid "Text Munging" +msgstr "Перебирання тексту" + +msgid "" +":func:`sub` replaces every occurrence of a pattern with a string or the " +"result of a function. This example demonstrates using :func:`sub` with a " +"function to \"munge\" text, or randomize the order of all the characters in " +"each word of a sentence except for the first and last characters::" +msgstr "" +":func:`sub` замінює кожне входження шаблону рядком або результатом функції. " +"У цьому прикладі демонструється використання :func:`sub` із функцією для " +"\"переміщення\" тексту або випадкового порядку всіх символів у кожному слові " +"речення, за винятком першого та останнього символів::" + +msgid "Finding all Adverbs" +msgstr "Знайти всі прислівники" + +msgid "" +":func:`findall` matches *all* occurrences of a pattern, not just the first " +"one as :func:`search` does. For example, if a writer wanted to find all of " +"the adverbs in some text, they might use :func:`findall` in the following " +"manner::" +msgstr "" +":func:`findall` відповідає *всім* входженням шаблону, а не лише першому, як " +"це робить :func:`search`. Наприклад, якщо автор хоче знайти всі прислівники " +"в якомусь тексті, він може використати :func:`findall` у такий спосіб:" + +msgid "Finding all Adverbs and their Positions" +msgstr "Знайти всі прислівники та їх позиції" + +msgid "" +"If one wants more information about all matches of a pattern than the " +"matched text, :func:`finditer` is useful as it provides :ref:`match objects " +"` instead of strings. Continuing with the previous example, " +"if a writer wanted to find all of the adverbs *and their positions* in some " +"text, they would use :func:`finditer` in the following manner::" +msgstr "" +"Якщо потрібно отримати більше інформації про всі збіги шаблону, ніж " +"відповідний текст, :func:`finditer` буде корисним, оскільки він надає :ref:" +"`match objects ` замість рядків. Продовжуючи попередній " +"приклад, якби автор хотів знайти всі прислівники *та їх позиції* в якомусь " +"тексті, він використав би :func:`finditer` таким чином::" + +msgid "Raw String Notation" +msgstr "Необроблена рядкова нотація" + +msgid "" +"Raw string notation (``r\"text\"``) keeps regular expressions sane. Without " +"it, every backslash (``'\\'``) in a regular expression would have to be " +"prefixed with another one to escape it. For example, the two following " +"lines of code are functionally identical::" +msgstr "" +"Необроблена нотація рядка (``r\"текст\"``) зберігає регулярні вирази " +"нормальними. Без нього кожен зворотний слеш (``'\\'``) у регулярному виразі " +"повинен був би мати префікс іншим, щоб уникнути його. Наприклад, два " +"наступних рядки коду функціонально ідентичні:" + +msgid "" +"When one wants to match a literal backslash, it must be escaped in the " +"regular expression. With raw string notation, this means ``r\"\\\\\"``. " +"Without raw string notation, one must use ``\"\\\\\\\\\"``, making the " +"following lines of code functionally identical::" +msgstr "" +"Якщо потрібно зіставити літеральний зворотний слеш, його потрібно екранувати " +"у регулярному виразі. У необробленому рядковому записі це означає ``r\"\\\\" +"\"``. Без нотації необробленого рядка потрібно використовувати ``\"\\\\\\\\" +"\"``, роблячи наступні рядки коду функціонально ідентичними::" + +msgid "Writing a Tokenizer" +msgstr "Написання токенізера" + +msgid "" +"A `tokenizer or scanner `_ " +"analyzes a string to categorize groups of characters. This is a useful " +"first step in writing a compiler or interpreter." +msgstr "" +"`Токенизатор або сканер `_ " +"аналізує рядок, щоб класифікувати групи символів. Це корисний перший крок у " +"написанні компілятора чи інтерпретатора." + +msgid "" +"The text categories are specified with regular expressions. The technique " +"is to combine those into a single master regular expression and to loop over " +"successive matches::" +msgstr "" +"Текстові категорії вказуються регулярними виразами. Техніка полягає в тому, " +"щоб об’єднати їх у єдиний основний регулярний вираз і виконати цикл " +"послідовних збігів:" + +msgid "The tokenizer produces the following output::" +msgstr "Токенізатор видає такий вихід:" + +msgid "" +"Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O'Reilly Media, " +"2009. The third edition of the book no longer covers Python at all, but the " +"first edition covered writing good regular expression patterns in great " +"detail." +msgstr "" +"Фрідл, Джеффрі. Освоєння регулярних виразів. 3rd ed., O'Reilly Media, 2009. " +"Третє видання книги більше не охоплює Python взагалі, але перше видання " +"охоплювало написання хороших шаблонів регулярних виразів дуже детально." diff --git a/library/readline.po b/library/readline.po new file mode 100644 index 000000000..54dca0243 --- /dev/null +++ b/library/readline.po @@ -0,0 +1,432 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`readline` --- GNU readline interface" +msgstr ":mod:`readline` --- інтерфейс GNU readline" + +msgid "" +"The :mod:`readline` module defines a number of functions to facilitate " +"completion and reading/writing of history files from the Python interpreter. " +"This module can be used directly, or via the :mod:`rlcompleter` module, " +"which supports completion of Python identifiers at the interactive prompt. " +"Settings made using this module affect the behaviour of both the " +"interpreter's interactive prompt and the prompts offered by the built-in :" +"func:`input` function." +msgstr "" +"Модуль :mod:`readline` визначає низку функцій для полегшення завершення та " +"читання/запису файлів історії з інтерпретатора Python. Цей модуль можна " +"використовувати безпосередньо або через модуль :mod:`rlcompleter`, який " +"підтримує завершення ідентифікаторів Python за інтерактивним запитом. " +"Параметри, зроблені за допомогою цього модуля, впливають на поведінку як " +"інтерактивної підказки інтерпретатора, так і підказок, запропонованих " +"вбудованою функцією :func:`input`." + +msgid "" +"Readline keybindings may be configured via an initialization file, typically " +"``.inputrc`` in your home directory. See `Readline Init File `_ in the GNU Readline " +"manual for information about the format and allowable constructs of that " +"file, and the capabilities of the Readline library in general." +msgstr "" +"Прив’язки клавіш Readline можна налаштувати за допомогою файлу " +"ініціалізації, зазвичай ``.inputrc`` у вашому домашньому каталозі. " +"Перегляньте `Ініціальний файл Readline `_ у посібнику GNU Readline, щоб отримати " +"інформацію про формат і допустимі конструкції цього файлу, а також про " +"можливості бібліотеки Readline загалом." + +msgid "" +"The underlying Readline library API may be implemented by the ``libedit`` " +"library instead of GNU readline. On macOS the :mod:`readline` module detects " +"which library is being used at run time." +msgstr "" +"Базовий API бібліотеки Readline може бути реалізований бібліотекою " +"``libedit`` замість GNU readline. У macOS модуль :mod:`readline` визначає, " +"яка бібліотека використовується під час виконання." + +msgid "" +"The configuration file for ``libedit`` is different from that of GNU " +"readline. If you programmatically load configuration strings you can check " +"for the text \"libedit\" in :const:`readline.__doc__` to differentiate " +"between GNU readline and libedit." +msgstr "" +"Файл конфігурації для ``libedit`` відрізняється від файлу GNU readline. Якщо " +"ви програмно завантажуєте рядки конфігурації, ви можете перевірити текст " +"\"libedit\" у :const:`readline.__doc__`, щоб відрізнити GNU readline від " +"libedit." + +msgid "" +"If you use *editline*/``libedit`` readline emulation on macOS, the " +"initialization file located in your home directory is named ``.editrc``. For " +"example, the following content in ``~/.editrc`` will turn ON *vi* " +"keybindings and TAB completion::" +msgstr "" +"Якщо ви використовуєте емуляцію *editline*/``libedit`` readline в macOS, " +"файл ініціалізації, розташований у вашому домашньому каталозі, називається " +"``.editrc``. Наприклад, такий вміст у ``~/.editrc`` увімкне *vi* сполучення " +"клавіш і завершення TAB::" + +msgid "Init file" +msgstr "Ініціальний файл" + +msgid "The following functions relate to the init file and user configuration:" +msgstr "" +"Наступні функції стосуються файлу ініціалізації та конфігурації користувача:" + +msgid "" +"Execute the init line provided in the *string* argument. This calls :c:func:" +"`rl_parse_and_bind` in the underlying library." +msgstr "" +"Виконайте рядок ініціалізації, наданий в аргументі *string*. Це викликає :c:" +"func:`rl_parse_and_bind` у базовій бібліотеці." + +msgid "" +"Execute a readline initialization file. The default filename is the last " +"filename used. This calls :c:func:`rl_read_init_file` in the underlying " +"library." +msgstr "" +"Виконайте файл ініціалізації рядка читання. Назва файлу за замовчуванням — " +"це останнє використане ім’я файлу. Це викликає :c:func:`rl_read_init_file` у " +"базовій бібліотеці." + +msgid "Line buffer" +msgstr "Лінійний буфер" + +msgid "The following functions operate on the line buffer:" +msgstr "На буфері лінії працюють такі функції:" + +msgid "" +"Return the current contents of the line buffer (:c:data:`rl_line_buffer` in " +"the underlying library)." +msgstr "" +"Повертає поточний вміст буфера рядків (:c:data:`rl_line_buffer` у базовій " +"бібліотеці)." + +msgid "" +"Insert text into the line buffer at the cursor position. This calls :c:func:" +"`rl_insert_text` in the underlying library, but ignores the return value." +msgstr "" +"Вставте текст у буфер рядків у позиції курсора. Це викликає :c:func:" +"`rl_insert_text` у базовій бібліотеці, але ігнорує повернуте значення." + +msgid "" +"Change what's displayed on the screen to reflect the current contents of the " +"line buffer. This calls :c:func:`rl_redisplay` in the underlying library." +msgstr "" +"Змініть те, що відображається на екрані, щоб відобразити поточний вміст " +"рядкового буфера. Це викликає :c:func:`rl_redisplay` у базовій бібліотеці." + +msgid "History file" +msgstr "Файл історії" + +msgid "The following functions operate on a history file:" +msgstr "З файлом історії працюють такі функції:" + +msgid "" +"Load a readline history file, and append it to the history list. The default " +"filename is :file:`~/.history`. This calls :c:func:`read_history` in the " +"underlying library." +msgstr "" +"Завантажте файл історії рядка читання та додайте його до списку історії. " +"Назва файлу за замовчуванням :file:`~/.history`. Це викликає :c:func:" +"`read_history` у базовій бібліотеці." + +msgid "" +"Save the history list to a readline history file, overwriting any existing " +"file. The default filename is :file:`~/.history`. This calls :c:func:" +"`write_history` in the underlying library." +msgstr "" +"Збережіть список історії у файл історії рядка читання, перезаписавши будь-" +"який існуючий файл. Назва файлу за замовчуванням :file:`~/.history`. Це " +"викликає :c:func:`write_history` у базовій бібліотеці." + +msgid "" +"Append the last *nelements* items of history to a file. The default " +"filename is :file:`~/.history`. The file must already exist. This calls :c:" +"func:`append_history` in the underlying library. This function only exists " +"if Python was compiled for a version of the library that supports it." +msgstr "" +"Додайте останні *elements* елементи історії до файлу. Назва файлу за " +"замовчуванням :file:`~/.history`. Файл уже має існувати. Це викликає :c:func:" +"`append_history` у базовій бібліотеці. Ця функція існує, лише якщо Python " +"було скомпільовано для версії бібліотеки, яка її підтримує." + +msgid "" +"Set or return the desired number of lines to save in the history file. The :" +"func:`write_history_file` function uses this value to truncate the history " +"file, by calling :c:func:`history_truncate_file` in the underlying library. " +"Negative values imply unlimited history file size." +msgstr "" +"Установіть або поверніть потрібну кількість рядків для збереження у файлі " +"історії. Функція :func:`write_history_file` використовує це значення для " +"скорочення файлу історії, викликаючи :c:func:`history_truncate_file` у " +"базовій бібліотеці. Від’ємні значення означають необмежений розмір файлу " +"історії." + +msgid "History list" +msgstr "Список історії" + +msgid "The following functions operate on a global history list:" +msgstr "У списку глобальної історії працюють такі функції:" + +msgid "" +"Clear the current history. This calls :c:func:`clear_history` in the " +"underlying library. The Python function only exists if Python was compiled " +"for a version of the library that supports it." +msgstr "" +"Очистити поточну історію. Це викликає :c:func:`clear_history` у базовій " +"бібліотеці. Функція Python існує, лише якщо Python було скомпільовано для " +"версії бібліотеки, яка її підтримує." + +msgid "" +"Return the number of items currently in the history. (This is different " +"from :func:`get_history_length`, which returns the maximum number of lines " +"that will be written to a history file.)" +msgstr "" +"Повертає кількість елементів в історії. (Це відрізняється від :func:" +"`get_history_length`, який повертає максимальну кількість рядків, які будуть " +"записані у файл історії.)" + +msgid "" +"Return the current contents of history item at *index*. The item index is " +"one-based. This calls :c:func:`history_get` in the underlying library." +msgstr "" +"Повернути поточний вміст елемента історії за *index*. Індекс позиції " +"складається з однієї основи. Це викликає :c:func:`history_get` у базовій " +"бібліотеці." + +msgid "" +"Remove history item specified by its position from the history. The position " +"is zero-based. This calls :c:func:`remove_history` in the underlying " +"library." +msgstr "" +"Видалити з історії елемент історії, визначений його позицією. Позиція " +"відраховується з нуля. Це викликає :c:func:`remove_history` у базовій " +"бібліотеці." + +msgid "" +"Replace history item specified by its position with *line*. The position is " +"zero-based. This calls :c:func:`replace_history_entry` in the underlying " +"library." +msgstr "" +"Замінити елемент історії, визначений його позицією, на *рядок*. Позиція " +"відраховується з нуля. Це викликає :c:func:`replace_history_entry` у базовій " +"бібліотеці." + +msgid "" +"Append *line* to the history buffer, as if it was the last line typed. This " +"calls :c:func:`add_history` in the underlying library." +msgstr "" +"Додайте *рядок* до буфера історії, ніби це був останній введений рядок. Це " +"викликає :c:func:`add_history` у базовій бібліотеці." + +msgid "" +"Enable or disable automatic calls to :c:func:`add_history` when reading " +"input via readline. The *enabled* argument should be a Boolean value that " +"when true, enables auto history, and that when false, disables auto history." +msgstr "" +"Увімкнути або вимкнути автоматичні виклики :c:func:`add_history` під час " +"читання введених даних через рядок читання. Аргумент *enabled* має бути " +"логічним значенням, яке, коли істина, вмикає автоматичну історію, а коли " +"хибна, вимикає автоматичну історію." + +msgid "" +"Auto history is enabled by default, and changes to this do not persist " +"across multiple sessions." +msgstr "" + +msgid "Startup hooks" +msgstr "Хуки для запуску" + +msgid "" +"Set or remove the function invoked by the :c:data:`rl_startup_hook` callback " +"of the underlying library. If *function* is specified, it will be used as " +"the new hook function; if omitted or ``None``, any function already " +"installed is removed. The hook is called with no arguments just before " +"readline prints the first prompt." +msgstr "" +"Установіть або видаліть функцію, викликану зворотним викликом :c:data:" +"`rl_startup_hook` основної бібліотеки. Якщо вказано *функцію*, її буде " +"використано як нову функцію підключення; якщо опущено або ``None``, усі вже " +"встановлені функції буде видалено. Хук викликається без аргументів " +"безпосередньо перед тим, як readline надрукує перший запит." + +msgid "" +"Set or remove the function invoked by the :c:data:`rl_pre_input_hook` " +"callback of the underlying library. If *function* is specified, it will be " +"used as the new hook function; if omitted or ``None``, any function already " +"installed is removed. The hook is called with no arguments after the first " +"prompt has been printed and just before readline starts reading input " +"characters. This function only exists if Python was compiled for a version " +"of the library that supports it." +msgstr "" +"Установіть або видаліть функцію, викликану зворотним викликом :c:data:" +"`rl_pre_input_hook` основної бібліотеки. Якщо вказано *функцію*, її буде " +"використано як нову функцію підключення; якщо опущено або ``None``, усі вже " +"встановлені функції буде видалено. Хук викликається без аргументів після " +"того, як перше запрошення буде надруковано та безпосередньо перед тим, як " +"readline почне читати введені символи. Ця функція існує, лише якщо Python " +"було скомпільовано для версії бібліотеки, яка її підтримує." + +msgid "Completion" +msgstr "Завершення" + +msgid "" +"The following functions relate to implementing a custom word completion " +"function. This is typically operated by the Tab key, and can suggest and " +"automatically complete a word being typed. By default, Readline is set up " +"to be used by :mod:`rlcompleter` to complete Python identifiers for the " +"interactive interpreter. If the :mod:`readline` module is to be used with a " +"custom completer, a different set of word delimiters should be set." +msgstr "" +"Наступні функції стосуються реалізації спеціальної функції доповнення слів. " +"Зазвичай це працює за допомогою клавіші Tab і може пропонувати та " +"автоматично завершувати введене слово. За замовчуванням Readline налаштовано " +"на використання :mod:`rlcompleter` для заповнення ідентифікаторів Python для " +"інтерактивного інтерпретатора. Якщо модуль :mod:`readline` " +"використовуватиметься з настроюваним доповнювачем, слід встановити інший " +"набір розділювачів слів." + +msgid "" +"Set or remove the completer function. If *function* is specified, it will " +"be used as the new completer function; if omitted or ``None``, any completer " +"function already installed is removed. The completer function is called as " +"``function(text, state)``, for *state* in ``0``, ``1``, ``2``, ..., until it " +"returns a non-string value. It should return the next possible completion " +"starting with *text*." +msgstr "" +"Встановити або видалити функцію завершення. Якщо вказано *функцію*, вона " +"використовуватиметься як нова функція завершення; якщо опущено або ``None``, " +"усі вже встановлені завершальні функції видаляються. Функція завершення " +"викликається як ``function(text, state)`` для *state* в ``0``, ``1``, " +"``2``, ..., доки вона не поверне не- значення рядка. Він має повернути " +"наступне можливе завершення, починаючи з *тексту*." + +msgid "" +"The installed completer function is invoked by the *entry_func* callback " +"passed to :c:func:`rl_completion_matches` in the underlying library. The " +"*text* string comes from the first parameter to the :c:data:" +"`rl_attempted_completion_function` callback of the underlying library." +msgstr "" +"Встановлена функція завершувача викликається зворотним викликом " +"*entry_func*, переданим до :c:func:`rl_completion_matches` у базовій " +"бібліотеці. Рядок *text* надходить із першого параметра зворотного виклику :" +"c:data:`rl_attempted_completion_function` основної бібліотеки." + +msgid "" +"Get the completer function, or ``None`` if no completer function has been " +"set." +msgstr "" +"Отримайте функцію завершувача або ``None``, якщо функцію завершувача не " +"встановлено." + +msgid "" +"Get the type of completion being attempted. This returns the :c:data:" +"`rl_completion_type` variable in the underlying library as an integer." +msgstr "" +"Отримайте тип завершення, яке намагається виконати. Це повертає змінну :c:" +"data:`rl_completion_type` у базовій бібліотеці як ціле число." + +msgid "" +"Get the beginning or ending index of the completion scope. These indexes are " +"the *start* and *end* arguments passed to the :c:data:" +"`rl_attempted_completion_function` callback of the underlying library. The " +"values may be different in the same input editing scenario based on the " +"underlying C readline implementation. Ex: libedit is known to behave " +"differently than libreadline." +msgstr "" +"Отримати початковий або кінцевий індекс області завершення. Ці індекси є " +"аргументами *start* і *end*, що передаються до зворотного виклику :c:data:" +"`rl_attempted_completion_function` основної бібліотеки. Значення можуть " +"відрізнятися в тому самому сценарії редагування введення на основі базової " +"реалізації C readline. Приклад: libedit, як відомо, поводиться інакше, ніж " +"libreadline." + +msgid "" +"Set or get the word delimiters for completion. These determine the start of " +"the word to be considered for completion (the completion scope). These " +"functions access the :c:data:`rl_completer_word_break_characters` variable " +"in the underlying library." +msgstr "" +"Установіть або отримайте роздільники слів для завершення. Вони визначають " +"початок слова, яке розглядається для завершення (область завершення). Ці " +"функції отримують доступ до змінної :c:data:" +"`rl_completer_word_break_characters` у базовій бібліотеці." + +msgid "" +"Set or remove the completion display function. If *function* is specified, " +"it will be used as the new completion display function; if omitted or " +"``None``, any completion display function already installed is removed. " +"This sets or clears the :c:data:`rl_completion_display_matches_hook` " +"callback in the underlying library. The completion display function is " +"called as ``function(substitution, [matches], longest_match_length)`` once " +"each time matches need to be displayed." +msgstr "" +"Встановіть або видаліть функцію відображення завершення. Якщо вказано " +"*функцію*, вона використовуватиметься як нова функція відображення " +"завершення; якщо опущено або ``None``, усі вже встановлені функції " +"відображення завершення видаляються. Це встановлює або очищає зворотний " +"виклик :c:data:`rl_completion_display_matches_hook` у базовій бібліотеці. " +"Функція відображення завершення викликається як ``function(substitution, " +"[matches], longest_match_length)`` щоразу, коли потрібно відображати збіги." + +msgid "Example" +msgstr "приклад" + +msgid "" +"The following example demonstrates how to use the :mod:`readline` module's " +"history reading and writing functions to automatically load and save a " +"history file named :file:`.python_history` from the user's home directory. " +"The code below would normally be executed automatically during interactive " +"sessions from the user's :envvar:`PYTHONSTARTUP` file. ::" +msgstr "" +"У наступному прикладі показано, як використовувати функції читання та запису " +"історії модуля :mod:`readline` для автоматичного завантаження та збереження " +"файлу історії під назвою :file:`.python_history` з домашнього каталогу " +"користувача. Наведений нижче код зазвичай виконується автоматично під час " +"інтерактивних сеансів із файлу користувача :envvar:`PYTHONSTARTUP`. ::" + +msgid "" +"This code is actually automatically run when Python is run in :ref:" +"`interactive mode ` (see :ref:`rlcompleter-config`)." +msgstr "" +"Цей код насправді запускається автоматично, коли Python запускається в :ref:" +"`інтерактивному режимі ` (див. :ref:`rlcompleter-config`)." + +msgid "" +"The following example achieves the same goal but supports concurrent " +"interactive sessions, by only appending the new history. ::" +msgstr "" +"Наступний приклад досягає тієї ж мети, але підтримує одночасні інтерактивні " +"сеанси, лише додаючи нову історію. ::" + +msgid "" +"The following example extends the :class:`code.InteractiveConsole` class to " +"support history save/restore. ::" +msgstr "" +"Наступний приклад розширює клас :class:`code.InteractiveConsole` для " +"підтримки збереження/відновлення історії. ::" diff --git a/library/reprlib.po b/library/reprlib.po new file mode 100644 index 000000000..862f8cd4a --- /dev/null +++ b/library/reprlib.po @@ -0,0 +1,194 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`reprlib` --- Alternate :func:`repr` implementation" +msgstr ":mod:`reprlib` --- Альтернативна реалізація :func:`repr`" + +msgid "**Source code:** :source:`Lib/reprlib.py`" +msgstr "**Вихідний код:** :source:`Lib/reprlib.py`" + +msgid "" +"The :mod:`reprlib` module provides a means for producing object " +"representations with limits on the size of the resulting strings. This is " +"used in the Python debugger and may be useful in other contexts as well." +msgstr "" +"Модуль :mod:`reprlib` надає засоби для створення представлень об’єктів з " +"обмеженнями на розмір результуючих рядків. Це використовується в " +"налагоджувачі Python і може бути корисним і в інших контекстах." + +msgid "This module provides a class, an instance, and a function:" +msgstr "Цей модуль надає клас, екземпляр і функцію:" + +msgid "" +"Class which provides formatting services useful in implementing functions " +"similar to the built-in :func:`repr`; size limits for different object " +"types are added to avoid the generation of representations which are " +"excessively long." +msgstr "" +"Клас, який надає служби форматування, корисні для реалізації функцій, " +"подібних до вбудованих :func:`repr`; обмеження розміру для різних типів " +"об’єктів додано, щоб уникнути генерації представлень, які є надмірно довгими." + +msgid "" +"This is an instance of :class:`Repr` which is used to provide the :func:`." +"repr` function described below. Changing the attributes of this object will " +"affect the size limits used by :func:`.repr` and the Python debugger." +msgstr "" +"Це екземпляр :class:`Repr`, який використовується для надання функції :func:" +"`.repr`, описаної нижче. Зміна атрибутів цього об’єкта вплине на обмеження " +"розміру, які використовуються :func:`.repr` і налагоджувачем Python." + +msgid "" +"This is the :meth:`~Repr.repr` method of ``aRepr``. It returns a string " +"similar to that returned by the built-in function of the same name, but with " +"limits on most sizes." +msgstr "" +"Це метод :meth:`~Repr.repr` для ``aRepr``. Він повертає рядок, подібний до " +"того, який повертає однойменна вбудована функція, але з обмеженнями на " +"більшість розмірів." + +msgid "" +"In addition to size-limiting tools, the module also provides a decorator for " +"detecting recursive calls to :meth:`__repr__` and substituting a placeholder " +"string instead." +msgstr "" +"На додаток до інструментів обмеження розміру, модуль також надає декоратор " +"для виявлення рекурсивних викликів :meth:`__repr__` і замість цього замінює " +"рядок-заповнювач." + +msgid "" +"Decorator for :meth:`__repr__` methods to detect recursive calls within the " +"same thread. If a recursive call is made, the *fillvalue* is returned, " +"otherwise, the usual :meth:`__repr__` call is made. For example:" +msgstr "" +"Декоратор для методів :meth:`__repr__` для виявлення рекурсивних викликів у " +"межах одного потоку. Якщо виконується рекурсивний виклик, повертається " +"*fillvalue*, інакше виконується звичайний виклик :meth:`__repr__`. Наприклад:" + +msgid "Repr Objects" +msgstr "Repr Objects" + +msgid "" +":class:`Repr` instances provide several attributes which can be used to " +"provide size limits for the representations of different object types, and " +"methods which format specific object types." +msgstr "" +"Екземпляри :class:`Repr` надають кілька атрибутів, які можна використовувати " +"для встановлення обмежень розміру для представлень різних типів об’єктів, і " +"методів, які форматують певні типи об’єктів." + +msgid "" +"This string is displayed for recursive references. It defaults to ``...``." +msgstr "" + +msgid "" +"Depth limit on the creation of recursive representations. The default is " +"``6``." +msgstr "Обмеження глибини створення рекурсивних представлень. Типовим є ``6``." + +msgid "" +"Limits on the number of entries represented for the named object type. The " +"default is ``4`` for :attr:`maxdict`, ``5`` for :attr:`maxarray`, and ``6`` " +"for the others." +msgstr "" +"Обмеження на кількість записів, представлених для названого типу об’єкта. " +"Типовим значенням є ``4`` для :attr:`maxdict`, ``5`` для :attr:`maxarray` та " +"``6`` для інших." + +msgid "" +"Maximum number of characters in the representation for an integer. Digits " +"are dropped from the middle. The default is ``40``." +msgstr "" +"Максимальна кількість символів у представленні цілого числа. Цифри випадають " +"із середини. Типовим є ``40``." + +msgid "" +"Limit on the number of characters in the representation of the string. Note " +"that the \"normal\" representation of the string is used as the character " +"source: if escape sequences are needed in the representation, these may be " +"mangled when the representation is shortened. The default is ``30``." +msgstr "" +"Обмеження на кількість символів у представленні рядка. Зауважте, що " +"\"звичайне\" представлення рядка використовується як джерело символів: якщо " +"в представленні потрібні керуючі послідовності, вони можуть бути спотворені, " +"коли представлення скорочено. Типовим значенням є ``30``." + +msgid "" +"This limit is used to control the size of object types for which no specific " +"formatting method is available on the :class:`Repr` object. It is applied in " +"a similar manner as :attr:`maxstring`. The default is ``20``." +msgstr "" +"Це обмеження використовується для керування розміром типів об’єктів, для " +"яких немає спеціального методу форматування для об’єкта :class:`Repr`. Його " +"застосовують подібним чином до :attr:`maxstring`. Типовим значенням є ``20``." + +msgid "" +"The equivalent to the built-in :func:`repr` that uses the formatting imposed " +"by the instance." +msgstr "" +"Еквівалент вбудованого :func:`repr`, який використовує форматування, " +"накладене екземпляром." + +msgid "" +"Recursive implementation used by :meth:`.repr`. This uses the type of *obj* " +"to determine which formatting method to call, passing it *obj* and *level*. " +"The type-specific methods should call :meth:`repr1` to perform recursive " +"formatting, with ``level - 1`` for the value of *level* in the recursive " +"call." +msgstr "" +"Рекурсивна реалізація, яку використовує :meth:`.repr`. Тут використовується " +"тип *obj*, щоб визначити, який метод форматування викликати, передаючи йому " +"*obj* і *level*. Специфічні для типу методи повинні викликати :meth:`repr1` " +"для виконання рекурсивного форматування з ``level - 1`` для значення *level* " +"у рекурсивному виклику." + +msgid "" +"Formatting methods for specific types are implemented as methods with a name " +"based on the type name. In the method name, **TYPE** is replaced by ``'_'." +"join(type(obj).__name__.split())``. Dispatch to these methods is handled by :" +"meth:`repr1`. Type-specific methods which need to recursively format a value " +"should call ``self.repr1(subobj, level - 1)``." +msgstr "" +"Методи форматування для конкретних типів реалізуються як методи з іменем на " +"основі імені типу. У назві методу **TYPE** замінюється на ``'_'." +"join(type(obj).__name__.split())``. Надсилання до цих методів обробляється :" +"meth:`repr1`. Специфічні для типу методи, які потребують рекурсивного " +"форматування значення, мають викликати ``self.repr1(subobj, level - 1)``." + +msgid "Subclassing Repr Objects" +msgstr "Підкласифікація Repr Objects" + +msgid "" +"The use of dynamic dispatching by :meth:`Repr.repr1` allows subclasses of :" +"class:`Repr` to add support for additional built-in object types or to " +"modify the handling of types already supported. This example shows how " +"special support for file objects could be added::" +msgstr "" +"Використання динамічної диспетчеризації :meth:`Repr.repr1` дозволяє " +"підкласам :class:`Repr` додавати підтримку для додаткових вбудованих типів " +"об’єктів або змінювати обробку вже підтримуваних типів. У цьому прикладі " +"показано, як можна додати спеціальну підтримку файлових об’єктів:" diff --git a/library/resource.po b/library/resource.po new file mode 100644 index 000000000..5c2c79d7c --- /dev/null +++ b/library/resource.po @@ -0,0 +1,608 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`resource` --- Resource usage information" +msgstr ":mod:`resource` --- Інформація про використання ресурсу" + +msgid "" +"This module provides basic mechanisms for measuring and controlling system " +"resources utilized by a program." +msgstr "" +"Цей модуль надає базові механізми для вимірювання та контролю системних " +"ресурсів, що використовуються програмою." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Symbolic constants are used to specify particular system resources and to " +"request usage information about either the current process or its children." +msgstr "" +"Символьні константи використовуються для вказівки певних системних ресурсів " +"і запиту інформації про використання поточного процесу або його дочірніх " +"процесів." + +msgid "An :exc:`OSError` is raised on syscall failure." +msgstr "У разі помилки системного виклику виникає :exc:`OSError`." + +msgid "A deprecated alias of :exc:`OSError`." +msgstr "Застарілий псевдонім :exc:`OSError`." + +msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." +msgstr "Після :pep:`3151` цей клас отримав псевдонім :exc:`OSError`." + +msgid "Resource Limits" +msgstr "Обмеження ресурсів" + +msgid "" +"Resources usage can be limited using the :func:`setrlimit` function " +"described below. Each resource is controlled by a pair of limits: a soft " +"limit and a hard limit. The soft limit is the current limit, and may be " +"lowered or raised by a process over time. The soft limit can never exceed " +"the hard limit. The hard limit can be lowered to any value greater than the " +"soft limit, but not raised. (Only processes with the effective UID of the " +"super-user can raise a hard limit.)" +msgstr "" +"Використання ресурсів можна обмежити за допомогою функції :func:`setrlimit`, " +"описаної нижче. Кожен ресурс контролюється парою обмежень: м’яким обмеженням " +"і жорстким обмеженням. М’яке обмеження – це поточне обмеження, яке з часом " +"може бути знижено або підвищено процесом. М’яке обмеження ніколи не може " +"перевищувати жорстке обмеження. Жорстке обмеження можна знизити до будь-" +"якого значення, що перевищує м’яке обмеження, але не підняти. (Тільки " +"процеси з ефективним UID суперкористувача можуть підняти жорстке обмеження.)" + +msgid "" +"The specific resources that can be limited are system dependent. They are " +"described in the :manpage:`getrlimit(2)` man page. The resources listed " +"below are supported when the underlying operating system supports them; " +"resources which cannot be checked or controlled by the operating system are " +"not defined in this module for those platforms." +msgstr "" +"Конкретні ресурси, які можна обмежити, залежать від системи. Вони описані на " +"сторінці довідки :manpage:`getrlimit(2)`. Перелічені нижче ресурси " +"підтримуються, якщо їх підтримує базова операційна система; ресурси, які не " +"можуть бути перевірені або контрольовані операційною системою, не визначені " +"в цьому модулі для цих платформ." + +msgid "Constant used to represent the limit for an unlimited resource." +msgstr "" +"Константа, яка використовується для позначення обмеження для необмеженого " +"ресурсу." + +msgid "" +"Returns a tuple ``(soft, hard)`` with the current soft and hard limits of " +"*resource*. Raises :exc:`ValueError` if an invalid resource is specified, " +"or :exc:`error` if the underlying system call fails unexpectedly." +msgstr "" +"Повертає кортеж ``(soft, hard)`` із поточними м’якими та жорсткими " +"обмеженнями *ресурсу*. Викликає :exc:`ValueError`, якщо вказано недійсний " +"ресурс, або :exc:`error`, якщо основний системний виклик несподівано " +"завершується помилкою." + +msgid "" +"Sets new limits of consumption of *resource*. The *limits* argument must be " +"a tuple ``(soft, hard)`` of two integers describing the new limits. A value " +"of :data:`~resource.RLIM_INFINITY` can be used to request a limit that is " +"unlimited." +msgstr "" +"Встановлює нові обмеження споживання *ресурсу*. Аргумент *limits* має бути " +"кортежем ``(soft, hard)`` із двох цілих чисел, що описують нові обмеження. " +"Значення :data:`~resource.RLIM_INFINITY` можна використовувати для запиту " +"необмеженого обмеження." + +msgid "" +"Raises :exc:`ValueError` if an invalid resource is specified, if the new " +"soft limit exceeds the hard limit, or if a process tries to raise its hard " +"limit. Specifying a limit of :data:`~resource.RLIM_INFINITY` when the hard " +"or system limit for that resource is not unlimited will result in a :exc:" +"`ValueError`. A process with the effective UID of super-user can request " +"any valid limit value, including unlimited, but :exc:`ValueError` will still " +"be raised if the requested limit exceeds the system imposed limit." +msgstr "" +"Викликає :exc:`ValueError`, якщо вказано недійсний ресурс, якщо нове м’яке " +"обмеження перевищує жорстке обмеження або якщо процес намагається підвищити " +"жорстке обмеження. Вказівка ліміту :data:`~resource.RLIM_INFINITY`, коли " +"жорсткий або системний ліміт для цього ресурсу не необмежений, призведе до :" +"exc:`ValueError`. Процес із ефективним UID суперкористувача може запитувати " +"будь-яке дійсне лімітне значення, включно з необмеженим, але :exc:" +"`ValueError` все одно буде викликано, якщо запитуваний ліміт перевищує " +"обмеження, встановлене системою." + +msgid "" +"``setrlimit`` may also raise :exc:`error` if the underlying system call " +"fails." +msgstr "" +"``setrlimit`` також може викликати :exc:`error`, якщо основний системний " +"виклик не вдається." + +msgid "VxWorks only supports setting :data:`RLIMIT_NOFILE`." +msgstr "VxWorks підтримує лише налаштування :data:`RLIMIT_NOFILE`." + +msgid "" +"Raises an :ref:`auditing event ` ``resource.setrlimit`` with " +"arguments ``resource``, ``limits``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``resource.setrlimit`` з аргументами " +"``resource``, ``limits``." + +msgid "" +"Combines :func:`setrlimit` and :func:`getrlimit` in one function and " +"supports to get and set the resources limits of an arbitrary process. If " +"*pid* is 0, then the call applies to the current process. *resource* and " +"*limits* have the same meaning as in :func:`setrlimit`, except that *limits* " +"is optional." +msgstr "" +"Поєднує :func:`setrlimit` і :func:`getrlimit` в одній функції та підтримує " +"отримання та встановлення обмежень ресурсів довільного процесу. Якщо *pid* " +"дорівнює 0, тоді виклик застосовується до поточного процесу. *resource* і " +"*limits* мають те саме значення, що й у :func:`setrlimit`, за винятком того, " +"що *limits* є необов’язковим." + +msgid "" +"When *limits* is not given the function returns the *resource* limit of the " +"process *pid*. When *limits* is given the *resource* limit of the process is " +"set and the former resource limit is returned." +msgstr "" +"Якщо *limits* не задано, функція повертає обмеження *resource* процесу " +"*pid*. Коли задано *limits*, встановлюється обмеження *resource* для процесу " +"та повертається попередній ліміт ресурсів." + +msgid "" +"Raises :exc:`ProcessLookupError` when *pid* can't be found and :exc:" +"`PermissionError` when the user doesn't have ``CAP_SYS_RESOURCE`` for the " +"process." +msgstr "" +"Викликає :exc:`ProcessLookupError`, коли *pid* не може бути знайдено, і :exc:" +"`PermissionError`, коли користувач не має ``CAP_SYS_RESOURCE`` для процесу." + +msgid "" +"Raises an :ref:`auditing event ` ``resource.prlimit`` with " +"arguments ``pid``, ``resource``, ``limits``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``resource.prlimit`` з аргументами " +"``pid``, ``resource``, ``limits``." + +msgid ":ref:`Availability `: Linux >= 2.6.36 with glibc >= 2.13." +msgstr "" + +msgid "" +"These symbols define resources whose consumption can be controlled using " +"the :func:`setrlimit` and :func:`getrlimit` functions described below. The " +"values of these symbols are exactly the constants used by C programs." +msgstr "" +"Ці символи визначають ресурси, споживання яких можна контролювати за " +"допомогою функцій :func:`setrlimit` і :func:`getrlimit`, описаних нижче. " +"Значення цих символів точно є константами, які використовуються програмами " +"на Сі." + +msgid "" +"The Unix man page for :manpage:`getrlimit(2)` lists the available resources. " +"Note that not all systems use the same symbol or same value to denote the " +"same resource. This module does not attempt to mask platform differences " +"--- symbols not defined for a platform will not be available from this " +"module on that platform." +msgstr "" +"Сторінка довідки Unix для :manpage:`getrlimit(2)` містить список доступних " +"ресурсів. Зауважте, що не всі системи використовують один і той самий символ " +"або те саме значення для позначення того самого ресурсу. Цей модуль не " +"намагається маскувати відмінності платформ --- символи, не визначені для " +"платформи, не будуть доступні з цього модуля на цій платформі." + +msgid "" +"The maximum size (in bytes) of a core file that the current process can " +"create. This may result in the creation of a partial core file if a larger " +"core would be required to contain the entire process image." +msgstr "" +"Максимальний розмір (у байтах) основного файлу, який може створити поточний " +"процес. Це може призвести до створення часткового файлу ядра, якщо для " +"вмісту всього образу процесу знадобиться ядро більшого розміру." + +msgid "" +"The maximum amount of processor time (in seconds) that a process can use. If " +"this limit is exceeded, a :const:`SIGXCPU` signal is sent to the process. " +"(See the :mod:`signal` module documentation for information about how to " +"catch this signal and do something useful, e.g. flush open files to disk.)" +msgstr "" +"Максимальна кількість процесорного часу (у секундах), яку може " +"використовувати процес. Якщо цей ліміт перевищено, процесу надсилається " +"сигнал :const:`SIGXCPU`. (Див. документацію модуля :mod:`signal`, щоб " +"отримати інформацію про те, як зловити цей сигнал і зробити щось корисне, " +"наприклад, скинути відкриті файли на диск.)" + +msgid "The maximum size of a file which the process may create." +msgstr "Максимальний розмір файлу, який може створити процес." + +msgid "The maximum size (in bytes) of the process's heap." +msgstr "Максимальний розмір (у байтах) купи процесу." + +msgid "" +"The maximum size (in bytes) of the call stack for the current process. This " +"only affects the stack of the main thread in a multi-threaded process." +msgstr "" +"Максимальний розмір (у байтах) стека викликів для поточного процесу. Це " +"впливає лише на стек основного потоку в багатопоточному процесі." + +msgid "" +"The maximum resident set size that should be made available to the process." +msgstr "" +"Максимальний розмір резидентного набору, який має бути доступним для процесу." + +msgid "The maximum number of processes the current process may create." +msgstr "Максимальна кількість процесів, які може створити поточний процес." + +msgid "The maximum number of open file descriptors for the current process." +msgstr "" +"Максимальна кількість відкритих файлових дескрипторів для поточного процесу." + +msgid "The BSD name for :const:`RLIMIT_NOFILE`." +msgstr "Назва BSD для :const:`RLIMIT_NOFILE`." + +msgid "The maximum address space which may be locked in memory." +msgstr "Максимальний адресний простір, який може бути заблокований у пам'яті." + +msgid "The largest area of mapped memory which the process may occupy." +msgstr "Найбільша область відображеної пам'яті, яку може зайняти процес." + +msgid "" +"The maximum area (in bytes) of address space which may be taken by the " +"process." +msgstr "" +"Максимальна площа (у байтах) адресного простору, яку може зайняти процес." + +msgid "The number of bytes that can be allocated for POSIX message queues." +msgstr "Кількість байтів, які можна виділити для черг повідомлень POSIX." + +msgid ":ref:`Availability `: Linux >= 2.6.8." +msgstr "" + +msgid "The ceiling for the process's nice level (calculated as 20 - rlim_cur)." +msgstr "Стеля для хорошого рівня процесу (розраховується як 20 - rlim_cur)." + +msgid ":ref:`Availability `: Linux >= 2.6.12." +msgstr "" + +msgid "The ceiling of the real-time priority." +msgstr "Стеля пріоритету в реальному часі." + +msgid "" +"The time limit (in microseconds) on CPU time that a process can spend under " +"real-time scheduling without making a blocking syscall." +msgstr "" +"Обмеження часу (у мікросекундах) процесорного часу, який процес може " +"витрачати в режимі планування в реальному часі без виконання блокуючого " +"системного виклику." + +msgid ":ref:`Availability `: Linux >= 2.6.25." +msgstr ":ref:`Доступність `: Linux >= 2.6.25." + +msgid "The number of signals which the process may queue." +msgstr "Кількість сигналів, які процес може поставити в чергу." + +msgid "" +"The maximum size (in bytes) of socket buffer usage for this user. This " +"limits the amount of network memory, and hence the amount of mbufs, that " +"this user may hold at any time." +msgstr "" +"Максимальний розмір (у байтах) використання буфера сокета для цього " +"користувача. Це обмежує обсяг мережевої пам’яті, а отже, і кількість mbuf, " +"які цей користувач може зберігати в будь-який час." + +msgid ":ref:`Availability `: FreeBSD." +msgstr "" + +msgid "" +"The maximum size (in bytes) of the swap space that may be reserved or used " +"by all of this user id's processes. This limit is enforced only if bit 1 of " +"the vm.overcommit sysctl is set. Please see `tuning(7) `__ for a complete description of " +"this sysctl." +msgstr "" +"Максимальний розмір (у байтах) простору підкачки, який може бути " +"зарезервований або використаний усіма процесами цього ідентифікатора " +"користувача. Це обмеження застосовується, лише якщо встановлено біт 1 sysctl " +"vm.overcommit. Перегляньте `tuning(7) `__ для повного опису цього sysctl." + +msgid "The maximum number of pseudo-terminals created by this user id." +msgstr "" +"Максимальна кількість псевдотерміналів, створених цим ідентифікатором " +"користувача." + +msgid "The maximum number of kqueues this user id is allowed to create." +msgstr "" +"Максимальна кількість kqueue, яку дозволено створити цьому ідентифікатору " +"користувача." + +msgid ":ref:`Availability `: FreeBSD >= 11." +msgstr "" + +msgid "Resource Usage" +msgstr "Використання ресурсів" + +msgid "These functions are used to retrieve resource usage information:" +msgstr "" +"Ці функції використовуються для отримання інформації про використання " +"ресурсів:" + +msgid "" +"This function returns an object that describes the resources consumed by " +"either the current process or its children, as specified by the *who* " +"parameter. The *who* parameter should be specified using one of the :const:" +"`RUSAGE_\\*` constants described below." +msgstr "" +"Ця функція повертає об’єкт, який описує ресурси, спожиті поточним процесом " +"або його дочірніми елементами, як зазначено параметром *who*. Параметр *who* " +"слід вказати за допомогою однієї з констант :const:`RUSAGE_\\*`, описаних " +"нижче." + +msgid "A simple example::" +msgstr "Простий приклад::" + +msgid "" +"The fields of the return value each describe how a particular system " +"resource has been used, e.g. amount of time spent running is user mode or " +"number of times the process was swapped out of main memory. Some values are " +"dependent on the clock tick internal, e.g. the amount of memory the process " +"is using." +msgstr "" +"Кожне з полів поверненого значення описує, як використовувався певний " +"системний ресурс, напр. кількість часу, витраченого на роботу, є режимом " +"користувача або кількістю разів, коли процес вивантажувався з основної " +"пам’яті. Деякі значення залежать від внутрішнього такту годинника, напр. " +"обсяг пам'яті, який використовує процес." + +msgid "" +"For backward compatibility, the return value is also accessible as a tuple " +"of 16 elements." +msgstr "" +"Для зворотної сумісності повернуте значення також доступне як кортеж із 16 " +"елементів." + +msgid "" +"The fields :attr:`ru_utime` and :attr:`ru_stime` of the return value are " +"floating point values representing the amount of time spent executing in " +"user mode and the amount of time spent executing in system mode, " +"respectively. The remaining values are integers. Consult the :manpage:" +"`getrusage(2)` man page for detailed information about these values. A brief " +"summary is presented here:" +msgstr "" +"Поля :attr:`ru_utime` і :attr:`ru_stime` значення, що повертається, є " +"значеннями з плаваючою комою, що представляють кількість часу, витраченого " +"на виконання в режимі користувача, і кількість часу, витраченого на " +"виконання в режимі системи, відповідно. Решта значень є цілими числами. " +"Зверніться до :manpage:`getrusage(2)` сторінки довідки для отримання " +"детальної інформації про ці значення. Короткий зміст подано тут:" + +msgid "Index" +msgstr "Індекс" + +msgid "Field" +msgstr "Поле" + +msgid "Resource" +msgstr "Ресурс" + +msgid "``0``" +msgstr "``0``" + +msgid ":attr:`ru_utime`" +msgstr ":attr:`ru_utime`" + +msgid "time in user mode (float seconds)" +msgstr "час у режимі користувача (секунд з плаваючою точкою)" + +msgid "``1``" +msgstr "``1``" + +msgid ":attr:`ru_stime`" +msgstr ":attr:`ru_stime`" + +msgid "time in system mode (float seconds)" +msgstr "час у системному режимі (секунд з плаваючою точкою)" + +msgid "``2``" +msgstr "``2``" + +msgid ":attr:`ru_maxrss`" +msgstr ":attr:`ru_maxrss`" + +msgid "maximum resident set size" +msgstr "максимальний розмір резидентного набору" + +msgid "``3``" +msgstr "``3``" + +msgid ":attr:`ru_ixrss`" +msgstr ":attr:`ru_ixrss`" + +msgid "shared memory size" +msgstr "розмір спільної пам'яті" + +msgid "``4``" +msgstr "``4``" + +msgid ":attr:`ru_idrss`" +msgstr ":attr:`ru_idrss`" + +msgid "unshared memory size" +msgstr "нерозділений розмір пам'яті" + +msgid "``5``" +msgstr "``5``" + +msgid ":attr:`ru_isrss`" +msgstr ":attr:`ru_isrss`" + +msgid "unshared stack size" +msgstr "розмір стеку без спільного доступу" + +msgid "``6``" +msgstr "``6``" + +msgid ":attr:`ru_minflt`" +msgstr ":attr:`ru_minflt`" + +msgid "page faults not requiring I/O" +msgstr "помилки сторінки, які не вимагають введення-виведення" + +msgid "``7``" +msgstr "``7``" + +msgid ":attr:`ru_majflt`" +msgstr ":attr:`ru_majflt`" + +msgid "page faults requiring I/O" +msgstr "помилки сторінки, які вимагають введення-виведення" + +msgid "``8``" +msgstr "``8``" + +msgid ":attr:`ru_nswap`" +msgstr ":attr:`ru_nswap`" + +msgid "number of swap outs" +msgstr "кількість обмінів" + +msgid "``9``" +msgstr "``9``" + +msgid ":attr:`ru_inblock`" +msgstr ":attr:`ru_inblock`" + +msgid "block input operations" +msgstr "операції введення блоку" + +msgid "``10``" +msgstr "``10``" + +msgid ":attr:`ru_oublock`" +msgstr ":attr:`ru_oublock`" + +msgid "block output operations" +msgstr "операції виведення блоків" + +msgid "``11``" +msgstr "``11``" + +msgid ":attr:`ru_msgsnd`" +msgstr ":attr:`ru_msgsnd`" + +msgid "messages sent" +msgstr "надісланих повідомлень" + +msgid "``12``" +msgstr "``12``" + +msgid ":attr:`ru_msgrcv`" +msgstr ":attr:`ru_msgrcv`" + +msgid "messages received" +msgstr "отриманих повідомлень" + +msgid "``13``" +msgstr "``13``" + +msgid ":attr:`ru_nsignals`" +msgstr ":attr:`ru_nsignals`" + +msgid "signals received" +msgstr "отримані сигнали" + +msgid "``14``" +msgstr "``14``" + +msgid ":attr:`ru_nvcsw`" +msgstr ":attr:`ru_nvcsw`" + +msgid "voluntary context switches" +msgstr "добровільні перемикання контексту" + +msgid "``15``" +msgstr "``15``" + +msgid ":attr:`ru_nivcsw`" +msgstr ":attr:`ru_nivcsw`" + +msgid "involuntary context switches" +msgstr "мимовільні перемикання контексту" + +msgid "" +"This function will raise a :exc:`ValueError` if an invalid *who* parameter " +"is specified. It may also raise :exc:`error` exception in unusual " +"circumstances." +msgstr "" +"Ця функція викличе :exc:`ValueError`, якщо вказано недійсний параметр *who*. " +"Він також може викликати виняток :exc:`error` за незвичайних обставин." + +msgid "" +"Returns the number of bytes in a system page. (This need not be the same as " +"the hardware page size.)" +msgstr "" +"Повертає кількість байтів на системній сторінці. (Це необов’язково " +"збігається з апаратним розміром сторінки.)" + +msgid "" +"The following :const:`RUSAGE_\\*` symbols are passed to the :func:" +"`getrusage` function to specify which processes information should be " +"provided for." +msgstr "" +"Наступні символи :const:`RUSAGE_\\*` передаються до функції :func:" +"`getrusage`, щоб вказати, для яких процесів потрібно надати інформацію." + +msgid "" +"Pass to :func:`getrusage` to request resources consumed by the calling " +"process, which is the sum of resources used by all threads in the process." +msgstr "" +"Передайте :func:`getrusage`, щоб запитати ресурси, спожиті процесом виклику, " +"який є сумою ресурсів, використаних усіма потоками в процесі." + +msgid "" +"Pass to :func:`getrusage` to request resources consumed by child processes " +"of the calling process which have been terminated and waited for." +msgstr "" +"Перейдіть до :func:`getrusage`, щоб запитати ресурси, споживані дочірніми " +"процесами викликаючого процесу, які були завершені та очікували." + +msgid "" +"Pass to :func:`getrusage` to request resources consumed by both the current " +"process and child processes. May not be available on all systems." +msgstr "" +"Перейдіть до :func:`getrusage`, щоб запитати ресурси, споживані як поточним " +"процесом, так і дочірніми процесами. Може бути недоступний у всіх системах." + +msgid "" +"Pass to :func:`getrusage` to request resources consumed by the current " +"thread. May not be available on all systems." +msgstr "" +"Перейдіть до :func:`getrusage`, щоб запитати ресурси, спожиті поточним " +"потоком. Може бути недоступний у всіх системах." diff --git a/library/rlcompleter.po b/library/rlcompleter.po new file mode 100644 index 000000000..a2de014b4 --- /dev/null +++ b/library/rlcompleter.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`rlcompleter` --- Completion function for GNU readline" +msgstr ":mod:`rlcompleter` --- Функція завершення рядка читання GNU" + +msgid "**Source code:** :source:`Lib/rlcompleter.py`" +msgstr "**Вихідний код:** :source:`Lib/rlcompleter.py`" + +msgid "" +"The :mod:`rlcompleter` module defines a completion function suitable for " +"the :mod:`readline` module by completing valid Python identifiers and " +"keywords." +msgstr "" +"Модуль :mod:`rlcompleter` визначає функцію завершення, придатну для модуля :" +"mod:`readline` шляхом заповнення дійсних ідентифікаторів і ключових слів " +"Python." + +msgid "" +"When this module is imported on a Unix platform with the :mod:`readline` " +"module available, an instance of the :class:`Completer` class is " +"automatically created and its :meth:`complete` method is set as the :mod:" +"`readline` completer." +msgstr "" +"Коли цей модуль імпортується на платформу Unix із доступним модулем :mod:" +"`readline`, екземпляр класу :class:`Completer` створюється автоматично, а " +"його метод :meth:`complete` встановлюється як завершувач :mod:`readline`." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"The :mod:`rlcompleter` module is designed for use with Python's :ref:" +"`interactive mode `. Unless Python is run with the :option:" +"`-S` option, the module is automatically imported and configured (see :ref:" +"`rlcompleter-config`)." +msgstr "" +"Модуль :mod:`rlcompleter` призначений для використання з :ref:`інтерактивним " +"режимом Python `. Якщо Python не запускається з параметром :" +"option:`-S`, модуль автоматично імпортується та налаштовується (див. :ref:" +"`rlcompleter-config`)." + +msgid "" +"On platforms without :mod:`readline`, the :class:`Completer` class defined " +"by this module can still be used for custom purposes." +msgstr "" +"На платформах без :mod:`readline` клас :class:`Completer`, визначений цим " +"модулем, усе ще можна використовувати для спеціальних цілей." + +msgid "Completer Objects" +msgstr "Повні об'єкти" + +msgid "Completer objects have the following method:" +msgstr "Повні об’єкти мають такий метод:" + +msgid "Return the *state*\\ th completion for *text*." +msgstr "Повернути *стан*\\ завершення для *тексту*." + +msgid "" +"If called for *text* that doesn't include a period character (``'.'``), it " +"will complete from names currently defined in :mod:`__main__`, :mod:" +"`builtins` and keywords (as defined by the :mod:`keyword` module)." +msgstr "" +"Якщо викликати *текст*, який не містить символ крапки (``'.''``), він " +"завершуватиметься іменами, визначеними в :mod:`__main__`, :mod:`builtins` та " +"ключовими словами (як визначено) за допомогою модуля :mod:`keyword`)." + +msgid "" +"If called for a dotted name, it will try to evaluate anything without " +"obvious side-effects (functions will not be evaluated, but it can generate " +"calls to :meth:`__getattr__`) up to the last part, and find matches for the " +"rest via the :func:`dir` function. Any exception raised during the " +"evaluation of the expression is caught, silenced and :const:`None` is " +"returned." +msgstr "" +"Якщо викликати назву з крапками, вона намагатиметься оцінити будь-що без " +"очевидних побічних ефектів (функції не оцінюватимуться, але вона може " +"генерувати виклики :meth:`__getattr__`) до останньої частини та знаходити " +"збіги для решти за допомогою функції :func:`dir`. Будь-які винятки, " +"викликані під час оцінки виразу, перехоплюються, мовчаться та повертається :" +"const:`None`." diff --git a/library/runpy.po b/library/runpy.po new file mode 100644 index 000000000..df5ed9a33 --- /dev/null +++ b/library/runpy.po @@ -0,0 +1,328 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`runpy` --- Locating and executing Python modules" +msgstr ":mod:`runpy` --- Розташування та виконання модулів Python" + +msgid "**Source code:** :source:`Lib/runpy.py`" +msgstr "**Вихідний код:** :source:`Lib/runpy.py`" + +msgid "" +"The :mod:`runpy` module is used to locate and run Python modules without " +"importing them first. Its main use is to implement the :option:`-m` command " +"line switch that allows scripts to be located using the Python module " +"namespace rather than the filesystem." +msgstr "" +"Модуль :mod:`runpy` використовується для пошуку та запуску модулів Python " +"без їх попереднього імпорту. Його головне використання полягає в реалізації " +"перемикача командного рядка :option:`-m`, який дозволяє розташовувати " +"сценарії за допомогою простору імен модуля Python, а не файлової системи." + +msgid "" +"Note that this is *not* a sandbox module - all code is executed in the " +"current process, and any side effects (such as cached imports of other " +"modules) will remain in place after the functions have returned." +msgstr "" +"Зауважте, що це *не* модуль пісочниці – весь код виконується в поточному " +"процесі, і будь-які побічні ефекти (такі як кешований імпорт інших модулів) " +"залишаться на місці після повернення функцій." + +msgid "" +"Furthermore, any functions and classes defined by the executed code are not " +"guaranteed to work correctly after a :mod:`runpy` function has returned. If " +"that limitation is not acceptable for a given use case, :mod:`importlib` is " +"likely to be a more suitable choice than this module." +msgstr "" +"Крім того, не гарантується коректна робота будь-яких функцій і класів, " +"визначених виконуваним кодом після повернення функції :mod:`runpy`. Якщо це " +"обмеження неприйнятне для певного випадку використання, :mod:`importlib`, " +"швидше за все, буде більш прийнятним вибором, ніж цей модуль." + +msgid "The :mod:`runpy` module provides two functions:" +msgstr "Модуль :mod:`runpy` забезпечує дві функції:" + +msgid "" +"Execute the code of the specified module and return the resulting module " +"globals dictionary. The module's code is first located using the standard " +"import mechanism (refer to :pep:`302` for details) and then executed in a " +"fresh module namespace." +msgstr "" +"Виконайте код зазначеного модуля та поверніть отриманий словник globals " +"модуля. Код модуля спочатку знаходить за допомогою стандартного механізму " +"імпорту (докладніше див. :pep:`302`), а потім виконується у новому просторі " +"імен модуля." + +msgid "" +"The *mod_name* argument should be an absolute module name. If the module " +"name refers to a package rather than a normal module, then that package is " +"imported and the ``__main__`` submodule within that package is then executed " +"and the resulting module globals dictionary returned." +msgstr "" +"Аргумент *mod_name* має бути абсолютним ім’ям модуля. Якщо ім’я модуля " +"посилається на пакет, а не на звичайний модуль, тоді цей пакет імпортується, " +"а підмодуль ``__main__`` у цьому пакеті потім виконується, а отриманий " +"словник глобальних модулів повертається." + +msgid "" +"The optional dictionary argument *init_globals* may be used to pre-populate " +"the module's globals dictionary before the code is executed. The supplied " +"dictionary will not be modified. If any of the special global variables " +"below are defined in the supplied dictionary, those definitions are " +"overridden by :func:`run_module`." +msgstr "" +"Додатковий аргумент словника *init_globals* може бути використаний для " +"попереднього заповнення глобального словника модуля перед виконанням коду. " +"Наданий словник не буде змінено. Якщо будь-яка зі спеціальних глобальних " +"змінних, наведених нижче, визначена в наданому словнику, ці визначення " +"замінюються :func:`run_module`." + +msgid "" +"The special global variables ``__name__``, ``__spec__``, ``__file__``, " +"``__cached__``, ``__loader__`` and ``__package__`` are set in the globals " +"dictionary before the module code is executed (Note that this is a minimal " +"set of variables - other variables may be set implicitly as an interpreter " +"implementation detail)." +msgstr "" +"Спеціальні глобальні змінні ``__name__``, ``__spec__``, ``__file__``, " +"``__cached__``, ``__loader__`` і ``__package__`` встановлюються в " +"глобальному словнику перед кодом модуля виконується (Зверніть увагу, що це " +"мінімальний набір змінних - інші змінні можуть бути встановлені неявно як " +"деталь реалізації інтерпретатора)." + +msgid "" +"``__name__`` is set to *run_name* if this optional argument is not :const:" +"`None`, to ``mod_name + '.__main__'`` if the named module is a package and " +"to the *mod_name* argument otherwise." +msgstr "" +"``__name__`` встановлено на *run_name*, якщо цей необов’язковий аргумент не " +"є :const:`None`, на ``mod_name + '.__main__``, якщо названий модуль є " +"пакетом, і на аргумент *mod_name* в іншому випадку ." + +msgid "" +"``__spec__`` will be set appropriately for the *actually* imported module " +"(that is, ``__spec__.name`` will always be *mod_name* or ``mod_name + '." +"__main__``, never *run_name*)." +msgstr "" +"``__spec__`` буде встановлено належним чином для *фактично* імпортованого " +"модуля (тобто ``__spec__.name`` завжди буде *mod_name* або ``mod_name + '." +"__main__``, ніколи не *run_name*)." + +msgid "" +"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` are :ref:" +"`set as normal ` based on the module spec." +msgstr "" +"``__file__``, ``__cached__``, ``__loader__`` і ``__package__`` :ref:" +"`встановлені як звичайні ` на основі специфікації модуля." + +msgid "" +"If the argument *alter_sys* is supplied and evaluates to :const:`True`, then " +"``sys.argv[0]`` is updated with the value of ``__file__`` and ``sys." +"modules[__name__]`` is updated with a temporary module object for the module " +"being executed. Both ``sys.argv[0]`` and ``sys.modules[__name__]`` are " +"restored to their original values before the function returns." +msgstr "" +"Якщо вказано аргумент *alter_sys* і він має значення :const:`True`, тоді " +"``sys.argv[0]`` оновлюється значенням ``__file__`` і ``sys." +"modules[__name__]`` оновлюється тимчасовим об’єктом модуля для модуля, що " +"виконується. І ``sys.argv[0]``, і ``sys.modules[__name__]`` відновлюються до " +"своїх початкових значень перед поверненням функції." + +msgid "" +"Note that this manipulation of :mod:`sys` is not thread-safe. Other threads " +"may see the partially initialised module, as well as the altered list of " +"arguments. It is recommended that the :mod:`sys` module be left alone when " +"invoking this function from threaded code." +msgstr "" +"Зауважте, що ця маніпуляція :mod:`sys` не є потокобезпечною. Інші потоки " +"можуть бачити частково ініціалізований модуль, а також змінений список " +"аргументів. Рекомендовано залишати модуль :mod:`sys` окремо під час виклику " +"цієї функції з потокового коду." + +msgid "" +"The :option:`-m` option offering equivalent functionality from the command " +"line." +msgstr "Опція :option:`-m` пропонує еквівалентні функції з командного рядка." + +msgid "" +"Added ability to execute packages by looking for a ``__main__`` submodule." +msgstr "Додано можливість виконувати пакети, шукаючи субмодуль ``__main__``." + +msgid "Added ``__cached__`` global variable (see :pep:`3147`)." +msgstr "Додано глобальну змінну ``__cached__`` (див. :pep:`3147`)." + +msgid "" +"Updated to take advantage of the module spec feature added by :pep:`451`. " +"This allows ``__cached__`` to be set correctly for modules run this way, as " +"well as ensuring the real module name is always accessible as ``__spec__." +"name``." +msgstr "" +"Оновлено, щоб скористатися перевагами функції специфікації модуля, доданої :" +"pep:`451`. Це дозволяє правильно встановити ``__cached__`` для модулів, що " +"запускаються таким чином, а також гарантує, що справжня назва модуля завжди " +"доступна як ``__spec__.name``." + +msgid "" +"Execute the code at the named filesystem location and return the resulting " +"module globals dictionary. As with a script name supplied to the CPython " +"command line, the supplied path may refer to a Python source file, a " +"compiled bytecode file or a valid sys.path entry containing a ``__main__`` " +"module (e.g. a zipfile containing a top-level ``__main__.py`` file)." +msgstr "" +"Виконайте код у вказаному місці файлової системи та поверніть отриманий " +"словник глобальних модулів. Як і ім’я сценарію, яке надається в командному " +"рядку CPython, наданий шлях може посилатися на вихідний файл Python, " +"скомпільований файл байт-коду або дійсний запис sys.path, що містить модуль " +"``__main__`` (наприклад, zip-файл, що містить top- рівень ``__main__.py`` " +"файл)." + +msgid "" +"For a simple script, the specified code is simply executed in a fresh module " +"namespace. For a valid sys.path entry (typically a zipfile or directory), " +"the entry is first added to the beginning of ``sys.path``. The function then " +"looks for and executes a :mod:`__main__` module using the updated path. Note " +"that there is no special protection against invoking an existing :mod:" +"`__main__` entry located elsewhere on ``sys.path`` if there is no such " +"module at the specified location." +msgstr "" +"Для простого сценарію вказаний код просто виконується у новому просторі імен " +"модуля. Для правильного запису sys.path (зазвичай це файл zip або каталог), " +"запис спочатку додається на початку ``sys.path``. Потім функція шукає та " +"виконує модуль :mod:`__main__`, використовуючи оновлений шлях. Зверніть " +"увагу, що немає спеціального захисту від виклику існуючого запису :mod:" +"`__main__`, розташованого в іншому місці ``sys.path``, якщо такого модуля " +"немає у вказаному місці." + +msgid "" +"The optional dictionary argument *init_globals* may be used to pre-populate " +"the module's globals dictionary before the code is executed. The supplied " +"dictionary will not be modified. If any of the special global variables " +"below are defined in the supplied dictionary, those definitions are " +"overridden by :func:`run_path`." +msgstr "" +"Додатковий аргумент словника *init_globals* може бути використаний для " +"попереднього заповнення глобального словника модуля перед виконанням коду. " +"Наданий словник не буде змінено. Якщо будь-яка зі спеціальних глобальних " +"змінних, наведених нижче, визначена в наданому словнику, ці визначення " +"замінюються :func:`run_path`." + +msgid "" +"``__name__`` is set to *run_name* if this optional argument is not :const:" +"`None` and to ``''`` otherwise." +msgstr "" +"``__name__`` встановлено на *run_name*, якщо цей необов’язковий аргумент не " +"є :const:`None`, і на ``' ''`` в іншому випадку." + +msgid "" +"If the supplied path directly references a script file (whether as source or " +"as precompiled byte code), then ``__file__`` will be set to the supplied " +"path, and ``__spec__``, ``__cached__``, ``__loader__`` and ``__package__`` " +"will all be set to :const:`None`." +msgstr "" +"Якщо наданий шлях безпосередньо посилається на файл сценарію (як джерело, " +"так і попередньо скомпільований байт-код), тоді ``__file__`` буде " +"встановлено на наданий шлях, а ``__spec__``, ``__cached__``, ``__loader__`` " +"і ``__package__`` буде встановлено на :const:`None`." + +msgid "" +"If the supplied path is a reference to a valid sys.path entry, then " +"``__spec__`` will be set appropriately for the imported ``__main__`` module " +"(that is, ``__spec__.name`` will always be ``__main__``). ``__file__``, " +"``__cached__``, ``__loader__`` and ``__package__`` will be :ref:`set as " +"normal ` based on the module spec." +msgstr "" +"Якщо наданий шлях є посиланням на дійсний запис sys.path, тоді ``__spec__`` " +"буде встановлено належним чином для імпортованого модуля ``__main__`` (тобто " +"``__spec__.name`` завжди буде ``__main__``). ``__file__``, ``__cached__``, " +"``__loader__`` і ``__package__`` будуть :ref:`встановлені як звичайні " +"` на основі специфікації модуля." + +msgid "" +"A number of alterations are also made to the :mod:`sys` module. Firstly, " +"``sys.path`` may be altered as described above. ``sys.argv[0]`` is updated " +"with the value of ``path_name`` and ``sys.modules[__name__]`` is updated " +"with a temporary module object for the module being executed. All " +"modifications to items in :mod:`sys` are reverted before the function " +"returns." +msgstr "" +"Деякі зміни також внесено до модуля :mod:`sys`. По-перше, ``sys.path`` можна " +"змінити, як описано вище. ``sys.argv[0]`` оновлюється за допомогою значення " +"``path_name``, а ``sys.modules[__name__]`` оновлюється за допомогою " +"тимчасового об’єкта модуля для модуля, що виконується. Усі зміни до " +"елементів у :mod:`sys` повертаються до повернення функції." + +msgid "" +"Note that, unlike :func:`run_module`, the alterations made to :mod:`sys` are " +"not optional in this function as these adjustments are essential to allowing " +"the execution of sys.path entries. As the thread-safety limitations still " +"apply, use of this function in threaded code should be either serialised " +"with the import lock or delegated to a separate process." +msgstr "" +"Зауважте, що, на відміну від :func:`run_module`, зміни, внесені до :mod:" +"`sys`, не є необов’язковими для цієї функції, оскільки ці налаштування є " +"важливими для виконання записів sys.path. Оскільки обмеження потокової " +"безпеки все ще застосовуються, використання цієї функції в багатопотоковому " +"коді має бути або серіалізовано за допомогою блокування імпорту, або " +"делеговано окремому процесу." + +msgid "" +":ref:`using-on-interface-options` for equivalent functionality on the " +"command line (``python path/to/script``)." +msgstr "" +":ref:`using-on-interface-options` для еквівалентної функції в командному " +"рядку (``python path/to/script``)." + +msgid "" +"Updated to take advantage of the module spec feature added by :pep:`451`. " +"This allows ``__cached__`` to be set correctly in the case where " +"``__main__`` is imported from a valid sys.path entry rather than being " +"executed directly." +msgstr "" +"Оновлено, щоб скористатися перевагами функції специфікації модуля, доданої :" +"pep:`451`. Це дозволяє правильно встановити ``__cached__`` у випадку, коли " +"``__main__`` імпортується з дійсного запису sys.path, а не виконується " +"безпосередньо." + +msgid ":pep:`338` -- Executing modules as scripts" +msgstr ":pep:`338` -- Виконання модулів як скриптів" + +msgid "PEP written and implemented by Nick Coghlan." +msgstr "PEP написав і реалізував Нік Коглан." + +msgid ":pep:`366` -- Main module explicit relative imports" +msgstr ":pep:`366` -- Явний відносний імпорт основного модуля" + +msgid ":pep:`451` -- A ModuleSpec Type for the Import System" +msgstr ":pep:`451` -- Тип ModuleSpec для системи імпорту" + +msgid "PEP written and implemented by Eric Snow" +msgstr "PEP написав і реалізував Ерік Сноу" + +msgid ":ref:`using-on-general` - CPython command line details" +msgstr ":ref:`using-on-general` - деталі командного рядка CPython" + +msgid "The :func:`importlib.import_module` function" +msgstr "Функція :func:`importlib.import_module`" diff --git a/library/sched.po b/library/sched.po new file mode 100644 index 000000000..57c9d2330 --- /dev/null +++ b/library/sched.po @@ -0,0 +1,180 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`sched` --- Event scheduler" +msgstr ":mod:`sched` --- Планувальник подій" + +msgid "**Source code:** :source:`Lib/sched.py`" +msgstr "**Вихідний код:** :source:`Lib/sched.py`" + +msgid "" +"The :mod:`sched` module defines a class which implements a general purpose " +"event scheduler:" +msgstr "" +"Модуль :mod:`sched` визначає клас, який реалізує планувальник подій " +"загального призначення:" + +msgid "" +"The :class:`scheduler` class defines a generic interface to scheduling " +"events. It needs two functions to actually deal with the \"outside world\" " +"--- *timefunc* should be callable without arguments, and return a number " +"(the \"time\", in any units whatsoever). The *delayfunc* function should be " +"callable with one argument, compatible with the output of *timefunc*, and " +"should delay that many time units. *delayfunc* will also be called with the " +"argument ``0`` after each event is run to allow other threads an opportunity " +"to run in multi-threaded applications." +msgstr "" +"Клас :class:`scheduler` визначає загальний інтерфейс для планування подій. " +"Йому потрібні дві функції, щоб мати справу із \"зовнішнім світом\" --- " +"*timefunc* має бути викликаною без аргументів і повертати число (\"час\" у " +"будь-яких одиницях). Функція *delayfunc* має бути викликана за допомогою " +"одного аргументу, сумісна з виводом *timefunc*, і має затримувати стільки " +"одиниць часу. *delayfunc* також буде викликано з аргументом ``0`` після " +"запуску кожної події, щоб надати іншим потокам можливість працювати в " +"багатопоточних програмах." + +msgid "*timefunc* and *delayfunc* parameters are optional." +msgstr "Параметри *timefunc* і *delayfunc* є необов’язковими." + +msgid "" +":class:`scheduler` class can be safely used in multi-threaded environments." +msgstr "" +"Клас :class:`scheduler` можна безпечно використовувати в багатопоточних " +"середовищах." + +msgid "Example::" +msgstr "Приклад::" + +msgid "Scheduler Objects" +msgstr "Об'єкти планувальника" + +msgid ":class:`scheduler` instances have the following methods and attributes:" +msgstr "Екземпляри :class:`scheduler` мають такі методи та атрибути:" + +msgid "" +"Schedule a new event. The *time* argument should be a numeric type " +"compatible with the return value of the *timefunc* function passed to the " +"constructor. Events scheduled for the same *time* will be executed in the " +"order of their *priority*. A lower number represents a higher priority." +msgstr "" +"Заплануйте нову подію. Аргумент *time* має бути числового типу, сумісного зі " +"значенням, що повертається функцією *timefunc*, переданим конструктору. " +"Події, заплановані на той самий *час*, виконуватимуться в порядку їх " +"*пріоритету*. Менше число означає вищий пріоритет." + +msgid "" +"Executing the event means executing ``action(*argument, **kwargs)``. " +"*argument* is a sequence holding the positional arguments for *action*. " +"*kwargs* is a dictionary holding the keyword arguments for *action*." +msgstr "" +"Виконання події означає виконання ``action(*argument, **kwargs)``. " +"*Аргумент* — це послідовність, що містить позиційні аргументи для *дії*. " +"*kwargs* — це словник, що містить ключові аргументи для *action*." + +msgid "" +"Return value is an event which may be used for later cancellation of the " +"event (see :meth:`cancel`)." +msgstr "" +"Повернене значення — це подія, яка може бути використана для подальшого " +"скасування події (див. :meth:`cancel`)." + +msgid "*argument* parameter is optional." +msgstr "Параметр *argument* необов'язковий." + +msgid "*kwargs* parameter was added." +msgstr "Додано параметр *kwargs*." + +msgid "" +"Schedule an event for *delay* more time units. Other than the relative time, " +"the other arguments, the effect and the return value are the same as those " +"for :meth:`enterabs`." +msgstr "" +"Заплануйте подію на *затримку* більше одиниць часу. Крім відносного часу, " +"інші аргументи, ефект і значення, що повертається, такі самі, як і для :meth:" +"`enterabs`." + +msgid "" +"Remove the event from the queue. If *event* is not an event currently in the " +"queue, this method will raise a :exc:`ValueError`." +msgstr "" +"Видалити подію з черги. Якщо *подія* не є подією, яка зараз знаходиться в " +"черзі, цей метод викличе :exc:`ValueError`." + +msgid "Return ``True`` if the event queue is empty." +msgstr "Повертає ``True``, якщо черга подій порожня." + +msgid "" +"Run all scheduled events. This method will wait (using the :func:" +"`delayfunc` function passed to the constructor) for the next event, then " +"execute it and so on until there are no more scheduled events." +msgstr "" +"Запуск усіх запланованих подій. Цей метод чекатиме (за допомогою функції :" +"func:`delayfunc`, переданої конструктору) наступної події, потім " +"виконуватиме її і так далі, доки не буде більше запланованих подій." + +msgid "" +"If *blocking* is false executes the scheduled events due to expire soonest " +"(if any) and then return the deadline of the next scheduled call in the " +"scheduler (if any)." +msgstr "" +"Якщо *блокування* має значення false, виконує заплановані події, які мають " +"закінчитися якнайшвидше (якщо є), а потім повертає крайній термін наступного " +"запланованого виклику в планувальнику (якщо є)." + +msgid "" +"Either *action* or *delayfunc* can raise an exception. In either case, the " +"scheduler will maintain a consistent state and propagate the exception. If " +"an exception is raised by *action*, the event will not be attempted in " +"future calls to :meth:`run`." +msgstr "" +"Або *action*, або *delayfunc* можуть викликати виняток. У будь-якому випадку " +"планувальник підтримуватиме узгоджений стан і поширюватиме виняткову " +"ситуацію. Якщо *action* викликає виключення, подія не буде спробована в " +"майбутніх викликах :meth:`run`." + +msgid "" +"If a sequence of events takes longer to run than the time available before " +"the next event, the scheduler will simply fall behind. No events will be " +"dropped; the calling code is responsible for canceling events which are no " +"longer pertinent." +msgstr "" +"Якщо для виконання послідовності подій потрібно більше часу, ніж доступний " +"час до наступної події, планувальник просто відстає. Жодна подія не буде " +"видалена; код виклику відповідає за скасування подій, які більше не " +"актуальні." + +msgid "*blocking* parameter was added." +msgstr "Додано параметр *блокування*." + +msgid "" +"Read-only attribute returning a list of upcoming events in the order they " +"will be run. Each event is shown as a :term:`named tuple` with the " +"following fields: time, priority, action, argument, kwargs." +msgstr "" +"Атрибут лише для читання, який повертає список майбутніх подій у порядку їх " +"виконання. Кожна подія відображається як :term:`named tuple` з такими " +"полями: час, пріоритет, дія, аргумент, кварги." diff --git a/library/secrets.po b/library/secrets.po new file mode 100644 index 000000000..5407617b1 --- /dev/null +++ b/library/secrets.po @@ -0,0 +1,220 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`secrets` --- Generate secure random numbers for managing secrets" +msgstr "" +":mod:`secrets` --- Генеруйте безпечні випадкові числа для керування секретами" + +msgid "**Source code:** :source:`Lib/secrets.py`" +msgstr "**Вихідний код:** :source:`Lib/secrets.py`" + +msgid "" +"The :mod:`secrets` module is used for generating cryptographically strong " +"random numbers suitable for managing data such as passwords, account " +"authentication, security tokens, and related secrets." +msgstr "" +"Модуль :mod:`secrets` використовується для генерації криптографічно надійних " +"випадкових чисел, придатних для керування такими даними, як паролі, " +"автентифікація облікових записів, маркери безпеки та пов’язані секрети." + +msgid "" +"In particular, :mod:`secrets` should be used in preference to the default " +"pseudo-random number generator in the :mod:`random` module, which is " +"designed for modelling and simulation, not security or cryptography." +msgstr "" +"Зокрема, :mod:`secrets` слід використовувати натомість замість генератора " +"псевдовипадкових чисел за замовчуванням у модулі :mod:`random`, який " +"призначений для моделювання та імітації, а не для безпеки чи криптографії." + +msgid ":pep:`506`" +msgstr ":pep:`506`" + +msgid "Random numbers" +msgstr "Випадкові числа" + +msgid "" +"The :mod:`secrets` module provides access to the most secure source of " +"randomness that your operating system provides." +msgstr "" +"Модуль :mod:`secrets` надає доступ до найбезпечнішого джерела випадковості, " +"яке надає ваша операційна система." + +msgid "" +"A class for generating random numbers using the highest-quality sources " +"provided by the operating system. See :class:`random.SystemRandom` for " +"additional details." +msgstr "" +"Клас для генерації випадкових чисел з використанням джерел найвищої якості, " +"наданих операційною системою. Дивіться :class:`random.SystemRandom` для " +"отримання додаткової інформації." + +msgid "Return a randomly chosen element from a non-empty sequence." +msgstr "" + +msgid "Return a random int in the range [0, *n*)." +msgstr "Повертає випадкове ціле значення в діапазоні [0, *n*)." + +msgid "Return an int with *k* random bits." +msgstr "Повертає int з *k* випадковими бітами." + +msgid "Generating tokens" +msgstr "Генерація токенів" + +msgid "" +"The :mod:`secrets` module provides functions for generating secure tokens, " +"suitable for applications such as password resets, hard-to-guess URLs, and " +"similar." +msgstr "" +"Модуль :mod:`secrets` надає функції для створення захищених токенів, " +"придатних для таких програм, як скидання пароля, URL-адреси, які важко " +"вгадати, тощо." + +msgid "" +"Return a random byte string containing *nbytes* number of bytes. If *nbytes* " +"is ``None`` or not supplied, a reasonable default is used." +msgstr "" +"Повертає випадковий рядок байтів, що містить *nbytes* кількість байтів. Якщо " +"*nbytes* має значення ``None`` або не вказано, використовується розумне " +"значення за умовчанням." + +msgid "" +"Return a random text string, in hexadecimal. The string has *nbytes* random " +"bytes, each byte converted to two hex digits. If *nbytes* is ``None`` or " +"not supplied, a reasonable default is used." +msgstr "" +"Повертає випадковий текстовий рядок у шістнадцятковому форматі. Рядок " +"містить *nbytes* випадкових байтів, кожен байт перетворюється на дві " +"шістнадцяткові цифри. Якщо *nbytes* має значення ``None`` або не вказано, " +"використовується розумне значення за умовчанням." + +msgid "" +"Return a random URL-safe text string, containing *nbytes* random bytes. The " +"text is Base64 encoded, so on average each byte results in approximately 1.3 " +"characters. If *nbytes* is ``None`` or not supplied, a reasonable default " +"is used." +msgstr "" +"Повертає випадковий URL-безпечний текстовий рядок, що містить *nbytes* " +"випадкових байтів. Текст закодовано Base64, тому в середньому кожен байт " +"містить приблизно 1,3 символу. Якщо *nbytes* має значення ``None`` або не " +"вказано, використовується розумне значення за умовчанням." + +msgid "How many bytes should tokens use?" +msgstr "Скільки байтів мають використовувати токени?" + +msgid "" +"To be secure against `brute-force attacks `_, tokens need to have sufficient randomness. " +"Unfortunately, what is considered sufficient will necessarily increase as " +"computers get more powerful and able to make more guesses in a shorter " +"period. As of 2015, it is believed that 32 bytes (256 bits) of randomness " +"is sufficient for the typical use-case expected for the :mod:`secrets` " +"module." +msgstr "" +"Щоб бути захищеними від `атак грубої сили `_, токени повинні мати достатню випадковість. На жаль, " +"те, що вважається достатнім, обов’язково зросте, оскільки комп’ютери стануть " +"потужнішими та зможуть зробити більше припущень за коротший період. Станом " +"на 2015 рік вважається, що 32 байти (256 біт) випадковості достатньо для " +"типового використання, очікуваного для модуля :mod:`secrets`." + +msgid "" +"For those who want to manage their own token length, you can explicitly " +"specify how much randomness is used for tokens by giving an :class:`int` " +"argument to the various ``token_*`` functions. That argument is taken as " +"the number of bytes of randomness to use." +msgstr "" +"Для тих, хто хоче керувати власною довжиною маркера, ви можете явно вказати, " +"скільки випадковості використовується для маркерів, надавши аргумент :class:" +"`int` для різних функцій ``token_*``. Цей аргумент береться як кількість " +"байтів випадковості для використання." + +msgid "" +"Otherwise, if no argument is provided, or if the argument is ``None``, the " +"``token_*`` functions will use a reasonable default instead." +msgstr "" +"В іншому випадку, якщо аргумент не надано, або якщо аргумент ``None``, " +"функції ``token_*`` замість цього використовуватимуть розумне значення за " +"умовчанням." + +msgid "" +"That default is subject to change at any time, including during maintenance " +"releases." +msgstr "" +"Це значення за замовчуванням може бути змінено в будь-який час, у тому числі " +"під час технічного обслуговування." + +msgid "Other functions" +msgstr "Інші функції" + +msgid "" +"Return ``True`` if strings *a* and *b* are equal, otherwise ``False``, using " +"a \"constant-time compare\" to reduce the risk of `timing attacks `_. See :func:`hmac.compare_digest` " +"for additional details." +msgstr "" +"Повертає ``True``, якщо рядки *a* і *b* рівні, інакше ``False``, " +"використовуючи \"порівняння постійного часу\", щоб зменшити ризик `атак за " +"часом `_. Перегляньте :" +"func:`hmac.compare_digest` для отримання додаткової інформації." + +msgid "Recipes and best practices" +msgstr "Рецепти та найкращі практики" + +msgid "" +"This section shows recipes and best practices for using :mod:`secrets` to " +"manage a basic level of security." +msgstr "" +"Цей розділ містить рецепти та найкращі методи використання :mod:`secrets` " +"для керування базовим рівнем безпеки." + +msgid "Generate an eight-character alphanumeric password:" +msgstr "Згенеруйте буквено-цифровий пароль із восьми символів:" + +msgid "" +"Applications should not `store passwords in a recoverable format `_, whether plain text or " +"encrypted. They should be salted and hashed using a cryptographically " +"strong one-way (irreversible) hash function." +msgstr "" + +msgid "" +"Generate a ten-character alphanumeric password with at least one lowercase " +"character, at least one uppercase character, and at least three digits:" +msgstr "" +"Згенеруйте буквено-цифровий пароль із десяти символів, який містить " +"принаймні один символ у нижньому регістрі, принаймні один символ у верхньому " +"регістрі та принаймні три цифри:" + +msgid "Generate an `XKCD-style passphrase `_:" +msgstr "Створіть `парольну фразу у стилі XKCD `_:" + +msgid "" +"Generate a hard-to-guess temporary URL containing a security token suitable " +"for password recovery applications:" +msgstr "" +"Згенеруйте тимчасову URL-адресу, яку важко вгадати, що містить маркер " +"безпеки, придатний для програм відновлення пароля:" diff --git a/library/security_warnings.po b/library/security_warnings.po new file mode 100644 index 000000000..a2692ffbd --- /dev/null +++ b/library/security_warnings.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-08-10 13:22+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Security Considerations" +msgstr "Міркування безпеки" + +msgid "The following modules have specific security considerations:" +msgstr "Наступні модулі мають особливі міркування безпеки:" + +msgid "" +":mod:`base64`: :ref:`base64 security considerations ` in :" +"rfc:`4648`" +msgstr "" +":mod:`base64`: :ref:`аспекти безпеки base64 ` в :rfc:`4648`" + +msgid ":mod:`cgi`: :ref:`CGI security considerations `" +msgstr ":mod:`cgi`: :ref:`Міркування безпеки CGI `" + +msgid "" +":mod:`hashlib`: :ref:`all constructors take a \"usedforsecurity\" keyword-" +"only argument disabling known insecure and blocked algorithms `" +msgstr "" +":mod:`hashlib`: :ref:`усі конструктори приймають лише ключовий аргумент " +"\"usedforsecurity\", який вимикає відомі небезпечні та заблоковані алгоритми " +"`" + +msgid "" +":mod:`http.server` is not suitable for production use, only implementing " +"basic security checks. See the :ref:`security considerations `." +msgstr "" + +msgid "" +":mod:`logging`: :ref:`Logging configuration uses eval() `" +msgstr "" +":mod:`logging`: :ref:`Конфігурація журналювання використовує eval() `" + +msgid "" +":mod:`multiprocessing`: :ref:`Connection.recv() uses pickle `" +msgstr "" +":mod:`multiprocessing`: :ref:`Connection.recv() використовує pickle " +"`" + +msgid ":mod:`pickle`: :ref:`Restricting globals in pickle `" +msgstr ":mod:`pickle`: :ref:`Обмеження глобалів у pickle `" + +msgid "" +":mod:`random` shouldn't be used for security purposes, use :mod:`secrets` " +"instead" +msgstr "" +":mod:`random` не слід використовувати з метою безпеки, замість цього " +"використовуйте :mod:`secrets`" + +msgid "" +":mod:`shelve`: :ref:`shelve is based on pickle and thus unsuitable for " +"dealing with untrusted sources `" +msgstr "" +":mod:`shelve`: :ref:`shelve базується на pickle і тому не підходить для " +"роботи з ненадійними джерелами `" + +msgid ":mod:`ssl`: :ref:`SSL/TLS security considerations `" +msgstr ":mod:`ssl`: :ref:`Міркування безпеки SSL/TLS `" + +msgid "" +":mod:`subprocess`: :ref:`Subprocess security considerations `" +msgstr "" +":mod:`subprocess`: :ref:`Міркування щодо безпеки підпроцесів `" + +msgid "" +":mod:`tempfile`: :ref:`mktemp is deprecated due to vulnerability to race " +"conditions `" +msgstr "" +":mod:`tempfile`: :ref:`mktemp застаріло через вразливість до умов гонки " +"`" + +msgid ":mod:`xml`: :ref:`XML vulnerabilities `" +msgstr ":mod:`xml`: :ref:`Уразливості XML `" + +msgid "" +":mod:`zipfile`: :ref:`maliciously prepared .zip files can cause disk volume " +"exhaustion `" +msgstr "" +":mod:`zipfile`: :ref:`зловмисно підготовлені файли .zip можуть спричинити " +"вичерпання обсягу диска `" + +msgid "" +"The :option:`-I` command line option can be used to run Python in isolated " +"mode. When it cannot be used, the :option:`-P` option or the :envvar:" +"`PYTHONSAFEPATH` environment variable can be used to not prepend a " +"potentially unsafe path to :data:`sys.path` such as the current directory, " +"the script's directory or an empty string." +msgstr "" diff --git a/library/select.po b/library/select.po new file mode 100644 index 000000000..ba6bd2d57 --- /dev/null +++ b/library/select.po @@ -0,0 +1,933 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`select` --- Waiting for I/O completion" +msgstr ":mod:`select` --- Очікування завершення введення/виведення" + +msgid "" +"This module provides access to the :c:func:`select` and :c:func:`poll` " +"functions available in most operating systems, :c:func:`devpoll` available " +"on Solaris and derivatives, :c:func:`epoll` available on Linux 2.5+ and :c:" +"func:`kqueue` available on most BSD. Note that on Windows, it only works for " +"sockets; on other operating systems, it also works for other file types (in " +"particular, on Unix, it works on pipes). It cannot be used on regular files " +"to determine whether a file has grown since it was last read." +msgstr "" +"Цей модуль надає доступ до функцій :c:func:`select` і :c:func:`poll`, " +"доступних у більшості операційних систем, :c:func:`devpoll`, доступних у " +"Solaris і похідних, :c:func:`epoll` доступний у Linux 2.5+ і :c:func:" +"`kqueue` доступний у більшості BSD. Зверніть увагу, що в Windows це працює " +"лише для сокетів; в інших операційних системах він також працює для інших " +"типів файлів (зокрема, в Unix він працює на каналах). Його не можна " +"використовувати для звичайних файлів, щоб визначити, чи збільшився файл " +"після останнього читання." + +msgid "" +"The :mod:`selectors` module allows high-level and efficient I/O " +"multiplexing, built upon the :mod:`select` module primitives. Users are " +"encouraged to use the :mod:`selectors` module instead, unless they want " +"precise control over the OS-level primitives used." +msgstr "" +"Модуль :mod:`selectors` забезпечує високорівневе й ефективне " +"мультиплексування вводу/виводу, побудоване на основі примітивів модуля :mod:" +"`select`. Замість цього користувачам рекомендується використовувати модуль :" +"mod:`selectors`, якщо вони не бажають точного контролю над використовуваними " +"примітивами рівня ОС." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The module defines the following:" +msgstr "Модуль визначає наступне:" + +msgid "A deprecated alias of :exc:`OSError`." +msgstr "Застарілий псевдонім :exc:`OSError`." + +msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." +msgstr "Після :pep:`3151` цей клас отримав псевдонім :exc:`OSError`." + +msgid "" +"(Only supported on Solaris and derivatives.) Returns a ``/dev/poll`` " +"polling object; see section :ref:`devpoll-objects` below for the methods " +"supported by devpoll objects." +msgstr "" +"(Підтримується лише в Solaris і похідних.) Повертає об’єкт опитування ``/dev/" +"poll``; дивіться розділ :ref:`devpoll-objects` нижче щодо методів, які " +"підтримуються об’єктами devpoll." + +msgid "" +":c:func:`devpoll` objects are linked to the number of file descriptors " +"allowed at the time of instantiation. If your program reduces this value, :c:" +"func:`devpoll` will fail. If your program increases this value, :c:func:" +"`devpoll` may return an incomplete list of active file descriptors." +msgstr "" +"Об’єкти :c:func:`devpoll` пов’язані з кількістю дескрипторів файлів, " +"дозволених на момент створення екземпляра. Якщо ваша програма зменшить це " +"значення, :c:func:`devpoll` не вийде. Якщо ваша програма збільшує це " +"значення, :c:func:`devpoll` може повернути неповний список активних файлових " +"дескрипторів." + +msgid "The new file descriptor is :ref:`non-inheritable `." +msgstr "Новий файловий дескриптор :ref:`не успадковується `." + +msgid "The new file descriptor is now non-inheritable." +msgstr "Новий файловий дескриптор тепер не успадковується." + +msgid "" +"(Only supported on Linux 2.5.44 and newer.) Return an edge polling object, " +"which can be used as Edge or Level Triggered interface for I/O events." +msgstr "" +"(Підтримується лише в Linux 2.5.44 і новіших версіях.) Повертає об’єкт " +"опитування краю, який можна використовувати як інтерфейс Edge або Level " +"Triggered для подій введення/виведення." + +msgid "" +"*sizehint* informs epoll about the expected number of events to be " +"registered. It must be positive, or ``-1`` to use the default. It is only " +"used on older systems where :c:func:`epoll_create1` is not available; " +"otherwise it has no effect (though its value is still checked)." +msgstr "" + +msgid "" +"*flags* is deprecated and completely ignored. However, when supplied, its " +"value must be ``0`` or ``select.EPOLL_CLOEXEC``, otherwise ``OSError`` is " +"raised." +msgstr "" +"*flags* застаріло та повністю ігнорується. Однак, коли надається, його " +"значення має бути ``0`` або ``select.EPOLL_CLOEXEC``, інакше ``OSError`` " +"викликається." + +msgid "" +"See the :ref:`epoll-objects` section below for the methods supported by " +"epolling objects." +msgstr "" +"Перегляньте розділ :ref:`epoll-objects` нижче, щоб дізнатися про методи, які " +"підтримуються об’єктами електронного опитування." + +msgid "" +"``epoll`` objects support the context management protocol: when used in a :" +"keyword:`with` statement, the new file descriptor is automatically closed at " +"the end of the block." +msgstr "" +"Об’єкти ``epoll`` підтримують протокол керування контекстом: при " +"використанні в операторі :keyword:`with` новий дескриптор файлу автоматично " +"закривається в кінці блоку." + +msgid "Added the *flags* parameter." +msgstr "Додано параметр *flags*." + +msgid "" +"Support for the :keyword:`with` statement was added. The new file descriptor " +"is now non-inheritable." +msgstr "" +"Додано підтримку оператора :keyword:`with`. Новий файловий дескриптор тепер " +"не успадковується." + +msgid "" +"The *flags* parameter. ``select.EPOLL_CLOEXEC`` is used by default now. " +"Use :func:`os.set_inheritable` to make the file descriptor inheritable." +msgstr "" +"Параметр *flags*. ``select.EPOLL_CLOEXEC`` зараз використовується за " +"умовчанням. Використовуйте :func:`os.set_inheritable`, щоб зробити " +"дескриптор файлу спадковим." + +msgid "" +"(Not supported by all operating systems.) Returns a polling object, which " +"supports registering and unregistering file descriptors, and then polling " +"them for I/O events; see section :ref:`poll-objects` below for the methods " +"supported by polling objects." +msgstr "" +"(Підтримується не всіма операційними системами.) Повертає об’єкт опитування, " +"який підтримує реєстрацію та скасування реєстрації дескрипторів файлів, а " +"потім опитування їх для подій введення/виведення; дивіться розділ :ref:`poll-" +"objects` нижче щодо методів, які підтримуються об’єктами опитування." + +msgid "" +"(Only supported on BSD.) Returns a kernel queue object; see section :ref:" +"`kqueue-objects` below for the methods supported by kqueue objects." +msgstr "" +"(Підтримується лише в BSD.) Повертає об’єкт черги ядра; перегляньте розділ :" +"ref:`kqueue-objects` нижче, щоб дізнатися про методи, які підтримуються " +"об’єктами kqueue." + +msgid "" +"(Only supported on BSD.) Returns a kernel event object; see section :ref:" +"`kevent-objects` below for the methods supported by kevent objects." +msgstr "" +"(Підтримується лише в BSD.) Повертає об’єкт події ядра; дивіться розділ :ref:" +"`kevent-objects` нижче щодо методів, які підтримуються об’єктами kevent." + +msgid "" +"This is a straightforward interface to the Unix :c:func:`select` system " +"call. The first three arguments are iterables of 'waitable objects': either " +"integers representing file descriptors or objects with a parameterless " +"method named :meth:`~io.IOBase.fileno` returning such an integer:" +msgstr "" +"Це простий інтерфейс для системного виклику Unix :c:func:`select`. Перші три " +"аргументи є ітераціями \"об’єктів, які можна очікувати\": або цілих чисел, " +"що представляють дескриптори файлів, або об’єктів із методом без параметрів " +"під назвою :meth:`~io.IOBase.fileno`, який повертає таке ціле число:" + +msgid "*rlist*: wait until ready for reading" +msgstr "*rlist*: дочекатися готовності до читання" + +msgid "*wlist*: wait until ready for writing" +msgstr "*wlist*: дочекатися готовності до запису" + +msgid "" +"*xlist*: wait for an \"exceptional condition\" (see the manual page for what " +"your system considers such a condition)" +msgstr "" +"*xlist*: зачекайте на \"виняткову умову\" (перегляньте сторінку посібника " +"щодо того, що ваша система вважає такою умовою)" + +msgid "" +"Empty iterables are allowed, but acceptance of three empty iterables is " +"platform-dependent. (It is known to work on Unix but not on Windows.) The " +"optional *timeout* argument specifies a time-out as a floating point number " +"in seconds. When the *timeout* argument is omitted the function blocks " +"until at least one file descriptor is ready. A time-out value of zero " +"specifies a poll and never blocks." +msgstr "" +"Допускаються порожні ітерації, але прийняття трьох порожніх ітерацій " +"залежить від платформи. (Відомо, що він працює в Unix, але не в Windows.) " +"Додатковий аргумент *timeout* визначає час очікування як число з плаваючою " +"комою в секундах. Якщо аргумент *timeout* опущено, функція блокується, доки " +"не буде готовий принаймні один файловий дескриптор. Нульове значення тайм-" +"ауту вказує на опитування та ніколи не блокується." + +msgid "" +"The return value is a triple of lists of objects that are ready: subsets of " +"the first three arguments. When the time-out is reached without a file " +"descriptor becoming ready, three empty lists are returned." +msgstr "" +"Повернене значення — це трійка списків готових об’єктів: підмножини перших " +"трьох аргументів. Коли час очікування досягнуто, а дескриптор файлу не " +"готовий, повертаються три порожні списки." + +msgid "" +"Among the acceptable object types in the iterables are Python :term:`file " +"objects ` (e.g. ``sys.stdin``, or objects returned by :func:" +"`open` or :func:`os.popen`), socket objects returned by :func:`socket." +"socket`. You may also define a :dfn:`wrapper` class yourself, as long as it " +"has an appropriate :meth:`~io.IOBase.fileno` method (that really returns a " +"file descriptor, not just a random integer)." +msgstr "" +"Серед прийнятних типів об’єктів у ітераціях є :term:`файлові об’єкти Python " +"` (наприклад, ``sys.stdin`` або об’єкти, повернуті :func:`open` " +"або :func:`os.popen`), сокет об’єкти, які повертає :func:`socket.socket`. Ви " +"також можете визначити клас :dfn:`wrapper` самостійно, за умови, що він має " +"відповідний метод :meth:`~io.IOBase.fileno` (який дійсно повертає дескриптор " +"файлу, а не просто випадкове ціле число)." + +msgid "" +"File objects on Windows are not acceptable, but sockets are. On Windows, " +"the underlying :c:func:`select` function is provided by the WinSock library, " +"and does not handle file descriptors that don't originate from WinSock." +msgstr "" +"Файлові об’єкти в Windows неприйнятні, але сокети – прийнятні. У Windows " +"основна функція :c:func:`select` надається бібліотекою WinSock і не обробляє " +"дескриптори файлів, які не походять із WinSock." + +msgid "" +"The function is now retried with a recomputed timeout when interrupted by a " +"signal, except if the signal handler raises an exception (see :pep:`475` for " +"the rationale), instead of raising :exc:`InterruptedError`." +msgstr "" +"Функція тепер виконується повторно з переобчисленим тайм-аутом, якщо її " +"перериває сигнал, за винятком випадків, коли обробник сигналу викликає " +"виняток (перегляньте :pep:`475` для обґрунтування), замість того, щоб " +"викликати :exc:`InterruptedError`." + +msgid "" +"The minimum number of bytes which can be written without blocking to a pipe " +"when the pipe has been reported as ready for writing by :func:`~select." +"select`, :func:`poll` or another interface in this module. This doesn't " +"apply to other kind of file-like objects such as sockets." +msgstr "" +"Мінімальна кількість байтів, яку можна записати без блокування в канал, якщо " +"канал був повідомлений як готовий до запису :func:`~select.select`, :func:" +"`poll` або іншим інтерфейсом цього модуля. Це не стосується інших видів " +"файлоподібних об’єктів, таких як сокети." + +msgid "This value is guaranteed by POSIX to be at least 512." +msgstr "POSIX гарантує, що це значення буде не менше 512." + +msgid ":ref:`Availability `: Unix" +msgstr ":ref:`Наявність `: Unix" + +msgid "``/dev/poll`` Polling Objects" +msgstr "``/dev/poll`` Опитування об'єктів" + +msgid "" +"Solaris and derivatives have ``/dev/poll``. While :c:func:`select` is " +"O(highest file descriptor) and :c:func:`poll` is O(number of file " +"descriptors), ``/dev/poll`` is O(active file descriptors)." +msgstr "" +"Solaris і похідні мають ``/dev/poll``. Тоді як :c:func:`select` — це O " +"(найвищий дескриптор файлу), а :c:func:`poll` — це O (кількість дескрипторів " +"файлу), ``/dev/poll`` — це O (активні дескриптори файлу)." + +msgid "" +"``/dev/poll`` behaviour is very close to the standard :c:func:`poll` object." +msgstr "" +"Поведінка ``/dev/poll`` дуже близька до стандартного об'єкта :c:func:`poll`." + +msgid "Close the file descriptor of the polling object." +msgstr "Закрийте файловий дескриптор об'єкта опитування." + +msgid "``True`` if the polling object is closed." +msgstr "``True``, якщо об'єкт опитування закрито." + +msgid "Return the file descriptor number of the polling object." +msgstr "Повертає номер дескриптора файлу об'єкта опитування." + +msgid "" +"Register a file descriptor with the polling object. Future calls to the :" +"meth:`poll` method will then check whether the file descriptor has any " +"pending I/O events. *fd* can be either an integer, or an object with a :" +"meth:`~io.IOBase.fileno` method that returns an integer. File objects " +"implement :meth:`!fileno`, so they can also be used as the argument." +msgstr "" +"Зареєструйте дескриптор файлу з об'єктом опитування. Подальші виклики " +"методу :meth:`poll` перевірятимуть, чи є в дескрипторі файлу будь-які " +"незавершені події введення/виведення. *fd* може бути або цілим числом, або " +"об’єктом із методом :meth:`~io.IOBase.fileno`, який повертає ціле число. " +"Файлові об’єкти реалізують :meth:`!fileno`, тому їх також можна " +"використовувати як аргумент." + +msgid "" +"*eventmask* is an optional bitmask describing the type of events you want to " +"check for. The constants are the same that with :c:func:`poll` object. The " +"default value is a combination of the constants :const:`POLLIN`, :const:" +"`POLLPRI`, and :const:`POLLOUT`." +msgstr "" +"*eventmask* — це необов’язкова бітова маска, яка описує тип подій, які ви " +"хочете перевірити. Константи такі самі, як і з об’єктом :c:func:`poll`. " +"Значення за замовчуванням є комбінацією констант :const:`POLLIN`, :const:" +"`POLLPRI` і :const:`POLLOUT`." + +msgid "" +"Registering a file descriptor that's already registered is not an error, but " +"the result is undefined. The appropriate action is to unregister or modify " +"it first. This is an important difference compared with :c:func:`poll`." +msgstr "" +"Реєстрація вже зареєстрованого файлового дескриптора не є помилкою, але " +"результат невизначений. Відповідною дією є спочатку скасування реєстрації " +"або змінення. Це важлива відмінність порівняно з :c:func:`poll`." + +msgid "" +"This method does an :meth:`unregister` followed by a :meth:`register`. It is " +"(a bit) more efficient that doing the same explicitly." +msgstr "" +"Цей метод виконує :meth:`unregister`, а потім :meth:`register`. Це (трохи) " +"ефективніше, ніж робити те саме явно." + +msgid "" +"Remove a file descriptor being tracked by a polling object. Just like the :" +"meth:`register` method, *fd* can be an integer or an object with a :meth:" +"`~io.IOBase.fileno` method that returns an integer." +msgstr "" +"Видаліть дескриптор файлу, який відстежується об'єктом опитування. Як і " +"метод :meth:`register`, *fd* може бути цілим числом або об’єктом із методом :" +"meth:`~io.IOBase.fileno`, який повертає ціле число." + +msgid "" +"Attempting to remove a file descriptor that was never registered is safely " +"ignored." +msgstr "" +"Спроба видалити дескриптор файлу, який ніколи не був зареєстрований, " +"безпечно ігнорується." + +msgid "" +"Polls the set of registered file descriptors, and returns a possibly empty " +"list containing ``(fd, event)`` 2-tuples for the descriptors that have " +"events or errors to report. *fd* is the file descriptor, and *event* is a " +"bitmask with bits set for the reported events for that descriptor --- :const:" +"`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the descriptor " +"can be written to, and so forth. An empty list indicates that the call timed " +"out and no file descriptors had any events to report. If *timeout* is given, " +"it specifies the length of time in milliseconds which the system will wait " +"for events before returning. If *timeout* is omitted, -1, or :const:`None`, " +"the call will block until there is an event for this poll object." +msgstr "" + +msgid "Edge and Level Trigger Polling (epoll) Objects" +msgstr "Опитування (epoll) об’єктів тригера краю та рівня" + +msgid "https://linux.die.net/man/4/epoll" +msgstr "https://linux.die.net/man/4/epoll" + +msgid "*eventmask*" +msgstr "*маска події*" + +msgid "Constant" +msgstr "Постійний" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`EPOLLIN`" +msgstr ":const:`EPOLLIN`" + +msgid "Available for read" +msgstr "Доступний для читання" + +msgid ":const:`EPOLLOUT`" +msgstr ":const:`EPOLLOUT`" + +msgid "Available for write" +msgstr "Доступний для запису" + +msgid ":const:`EPOLLPRI`" +msgstr ":const:`EPOLLPRI`" + +msgid "Urgent data for read" +msgstr "Термінові дані для читання" + +msgid ":const:`EPOLLERR`" +msgstr ":const:`EPOLLERR`" + +msgid "Error condition happened on the assoc. fd" +msgstr "Сталася помилка на доц. fd" + +msgid ":const:`EPOLLHUP`" +msgstr ":const:`EPOLLHUP`" + +msgid "Hang up happened on the assoc. fd" +msgstr "Зависання сталося на доц. fd" + +msgid ":const:`EPOLLET`" +msgstr ":const:`EPOLLET`" + +msgid "Set Edge Trigger behavior, the default is Level Trigger behavior" +msgstr "Встановіть поведінку Edge Trigger, за замовчуванням це Level Trigger" + +msgid ":const:`EPOLLONESHOT`" +msgstr ":const:`EPOLLONESHOT`" + +msgid "" +"Set one-shot behavior. After one event is pulled out, the fd is internally " +"disabled" +msgstr "" +"Встановіть одноразову поведінку. Після вилучення однієї події fd внутрішньо " +"вимикається" + +msgid ":const:`EPOLLEXCLUSIVE`" +msgstr ":const:`EPOLLEXCLUSIVE`" + +msgid "" +"Wake only one epoll object when the associated fd has an event. The default " +"(if this flag is not set) is to wake all epoll objects polling on a fd." +msgstr "" +"Розбудити лише один об’єкт epoll, якщо пов’язаний fd має подію. За " +"замовчуванням (якщо цей прапорець не встановлено) всі об’єкти epoll " +"запитуються на fd." + +msgid ":const:`EPOLLRDHUP`" +msgstr ":const:`EPOLLRDHUP`" + +msgid "" +"Stream socket peer closed connection or shut down writing half of connection." +msgstr "" +"Потоковий сокет закрив однорангове з’єднання або завершив запис половини " +"з’єднання." + +msgid ":const:`EPOLLRDNORM`" +msgstr ":const:`EPOLLRDNORM`" + +msgid "Equivalent to :const:`EPOLLIN`" +msgstr "Еквівалент :const:`EPOLLIN`" + +msgid ":const:`EPOLLRDBAND`" +msgstr ":const:`EPOLLRDBAND`" + +msgid "Priority data band can be read." +msgstr "Смугу пріоритетних даних можна зчитувати." + +msgid ":const:`EPOLLWRNORM`" +msgstr ":const:`EPOLLWRNORM`" + +msgid "Equivalent to :const:`EPOLLOUT`" +msgstr "Еквівалент :const:`EPOLLOUT`" + +msgid ":const:`EPOLLWRBAND`" +msgstr ":const:`EPOLLWRBAND`" + +msgid "Priority data may be written." +msgstr "Пріоритетні дані можуть бути записані." + +msgid ":const:`EPOLLMSG`" +msgstr ":const:`EPOLLMSG`" + +msgid "Ignored." +msgstr "Ігнорується." + +msgid "" +":const:`EPOLLEXCLUSIVE` was added. It's only supported by Linux Kernel 4.5 " +"or later." +msgstr "" +":const:`EPOLLEXCLUSIVE` додано. Він підтримується лише ядром Linux 4.5 або " +"новішої версії." + +msgid "Close the control file descriptor of the epoll object." +msgstr "Закрийте дескриптор керуючого файлу об’єкта epoll." + +msgid "``True`` if the epoll object is closed." +msgstr "``True``, якщо об’єкт epoll закрито." + +msgid "Return the file descriptor number of the control fd." +msgstr "Повертає номер дескриптора файлу елемента керування fd." + +msgid "Create an epoll object from a given file descriptor." +msgstr "Створіть об’єкт epoll із заданого файлового дескриптора." + +msgid "Register a fd descriptor with the epoll object." +msgstr "Зареєструйте дескриптор fd з об’єктом epoll." + +msgid "Modify a registered file descriptor." +msgstr "Змінити зареєстрований файловий дескриптор." + +msgid "Remove a registered file descriptor from the epoll object." +msgstr "Видаліть зареєстрований дескриптор файлу з об’єкта epoll." + +msgid "The method no longer ignores the :data:`~errno.EBADF` error." +msgstr "Метод більше не ігнорує помилку :data:`~errno.EBADF`." + +msgid "Wait for events. timeout in seconds (float)" +msgstr "Чекайте подій. тайм-аут у секундах (float)" + +msgid "Polling Objects" +msgstr "Об'єкти опитування" + +msgid "" +"The :c:func:`poll` system call, supported on most Unix systems, provides " +"better scalability for network servers that service many, many clients at " +"the same time. :c:func:`poll` scales better because the system call only " +"requires listing the file descriptors of interest, while :c:func:`select` " +"builds a bitmap, turns on bits for the fds of interest, and then afterward " +"the whole bitmap has to be linearly scanned again. :c:func:`select` is " +"O(highest file descriptor), while :c:func:`poll` is O(number of file " +"descriptors)." +msgstr "" +"Системний виклик :c:func:`poll`, який підтримується більшістю систем Unix, " +"забезпечує кращу масштабованість для мережевих серверів, які обслуговують " +"багато, багато клієнтів одночасно. :c:func:`poll` масштабується краще, тому " +"що системний виклик вимагає лише переліку дескрипторів файлів, що цікавлять, " +"тоді як :c:func:`select` створює растрове зображення, вмикає біти для fds, " +"що цікавить, а потім усе растрове зображення потрібно знову лінійно " +"відсканувати. :c:func:`select` — це O (найвищий дескриптор файлу), тоді як :" +"c:func:`poll` — це O (кількість дескрипторів файлу)." + +msgid "" +"*eventmask* is an optional bitmask describing the type of events you want to " +"check for, and can be a combination of the constants :const:`POLLIN`, :const:" +"`POLLPRI`, and :const:`POLLOUT`, described in the table below. If not " +"specified, the default value used will check for all 3 types of events." +msgstr "" +"*eventmask* — це необов’язкова бітова маска, що описує тип подій, які ви " +"хочете перевірити, і може бути комбінацією констант :const:`POLLIN`, :const:" +"`POLLPRI` і :const:`POLLOUT`, описаних у таблицю нижче. Якщо не вказано, " +"значення за умовчанням перевірятиме всі 3 типи подій." + +msgid ":const:`POLLIN`" +msgstr ":const:`POLLIN`" + +msgid "There is data to read" +msgstr "Є дані для читання" + +msgid ":const:`POLLPRI`" +msgstr ":const:`POLLPRI`" + +msgid "There is urgent data to read" +msgstr "Є термінові дані для читання" + +msgid ":const:`POLLOUT`" +msgstr ":const:`POLLOUT`" + +msgid "Ready for output: writing will not block" +msgstr "Готовий до виведення: запис не блокуватиметься" + +msgid ":const:`POLLERR`" +msgstr ":const:`POLLERR`" + +msgid "Error condition of some sort" +msgstr "Якась помилка" + +msgid ":const:`POLLHUP`" +msgstr ":const:`POLLHUP`" + +msgid "Hung up" +msgstr "Повісив" + +msgid ":const:`POLLRDHUP`" +msgstr ":const:`POLLRDHUP`" + +msgid "" +"Stream socket peer closed connection, or shut down writing half of connection" +msgstr "" +"Закрите однорангове з’єднання потокового сокета або завершіть запис половини " +"з’єднання" + +msgid ":const:`POLLNVAL`" +msgstr ":const:`POLNVAL`" + +msgid "Invalid request: descriptor not open" +msgstr "Недійсний запит: дескриптор не відкрито" + +msgid "" +"Registering a file descriptor that's already registered is not an error, and " +"has the same effect as registering the descriptor exactly once." +msgstr "" +"Реєстрація дескриптора файлу, який уже зареєстровано, не є помилкою та має " +"той самий ефект, що й одноразова реєстрація дескриптора." + +msgid "" +"Modifies an already registered fd. This has the same effect as " +"``register(fd, eventmask)``. Attempting to modify a file descriptor that " +"was never registered causes an :exc:`OSError` exception with errno :const:" +"`ENOENT` to be raised." +msgstr "" +"Змінює вже зареєстрований fd. Це має той самий ефект, що й ``register(fd, " +"eventmask)``. Спроба змінити дескриптор файлу, який ніколи не був " +"зареєстрований, викликає виняток :exc:`OSError` з errno :const:`ENOENT`." + +msgid "" +"Attempting to remove a file descriptor that was never registered causes a :" +"exc:`KeyError` exception to be raised." +msgstr "" +"Спроба видалити дескриптор файлу, який ніколи не був зареєстрований, " +"викликає виняток :exc:`KeyError`." + +msgid "" +"Polls the set of registered file descriptors, and returns a possibly empty " +"list containing ``(fd, event)`` 2-tuples for the descriptors that have " +"events or errors to report. *fd* is the file descriptor, and *event* is a " +"bitmask with bits set for the reported events for that descriptor --- :const:" +"`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the descriptor " +"can be written to, and so forth. An empty list indicates that the call timed " +"out and no file descriptors had any events to report. If *timeout* is given, " +"it specifies the length of time in milliseconds which the system will wait " +"for events before returning. If *timeout* is omitted, negative, or :const:" +"`None`, the call will block until there is an event for this poll object." +msgstr "" + +msgid "Kqueue Objects" +msgstr "Об’єкти Kqueue" + +msgid "Close the control file descriptor of the kqueue object." +msgstr "Закрийте дескриптор керуючого файлу об’єкта kqueue." + +msgid "``True`` if the kqueue object is closed." +msgstr "``True``, якщо об’єкт kqueue закрито." + +msgid "Create a kqueue object from a given file descriptor." +msgstr "Створіть об’єкт kqueue із заданого файлового дескриптора." + +msgid "Low level interface to kevent" +msgstr "Низькорівневий інтерфейс для kevent" + +msgid "changelist must be an iterable of kevent objects or ``None``" +msgstr "список змін має бути ітерованим об’єктами kevent або ``None``" + +msgid "max_events must be 0 or a positive integer" +msgstr "max_events має бути 0 або додатним цілим числом" + +msgid "" +"timeout in seconds (floats possible); the default is ``None``, to wait " +"forever" +msgstr "тайм-аут у секундах (можливі флоати); типовим є ``None``, чекати вічно" + +msgid "Kevent Objects" +msgstr "Об'єкти Kevent" + +msgid "https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" +msgstr "https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" + +msgid "" +"Value used to identify the event. The interpretation depends on the filter " +"but it's usually the file descriptor. In the constructor ident can either be " +"an int or an object with a :meth:`~io.IOBase.fileno` method. kevent stores " +"the integer internally." +msgstr "" +"Значення, що використовується для ідентифікації події. Інтерпретація " +"залежить від фільтра, але зазвичай це дескриптор файлу. У конструкторі ident " +"може бути або int, або об’єктом із методом :meth:`~io.IOBase.fileno`. kevent " +"зберігає ціле число всередині." + +msgid "Name of the kernel filter." +msgstr "Назва фільтра ядра." + +msgid ":const:`KQ_FILTER_READ`" +msgstr ":const:`KQ_FILTER_READ`" + +msgid "Takes a descriptor and returns whenever there is data available to read" +msgstr "Бере дескриптор і повертає, коли є дані, доступні для читання" + +msgid ":const:`KQ_FILTER_WRITE`" +msgstr ":const:`KQ_FILTER_WRITE`" + +msgid "" +"Takes a descriptor and returns whenever there is data available to write" +msgstr "Бере дескриптор і повертає щоразу, коли є дані для запису" + +msgid ":const:`KQ_FILTER_AIO`" +msgstr ":const:`KQ_FILTER_AIO`" + +msgid "AIO requests" +msgstr "запити AIO" + +msgid ":const:`KQ_FILTER_VNODE`" +msgstr ":const:`KQ_FILTER_VNODE`" + +msgid "" +"Returns when one or more of the requested events watched in *fflag* occurs" +msgstr "" +"Повертається, коли відбувається одна або кілька запитаних подій, які " +"переглядаються в *fflag*" + +msgid ":const:`KQ_FILTER_PROC`" +msgstr ":const:`KQ_FILTER_PROC`" + +msgid "Watch for events on a process id" +msgstr "Слідкуйте за подіями в ідентифікаторі процесу" + +msgid ":const:`KQ_FILTER_NETDEV`" +msgstr ":const:`KQ_FILTER_NETDEV`" + +msgid "Watch for events on a network device [not available on macOS]" +msgstr "Стежити за подіями на мережевому пристрої [недоступно в macOS]" + +msgid ":const:`KQ_FILTER_SIGNAL`" +msgstr ":const:`KQ_FILTER_SIGNAL`" + +msgid "Returns whenever the watched signal is delivered to the process" +msgstr "Повертається щоразу, коли спостережуваний сигнал надходить до процесу" + +msgid ":const:`KQ_FILTER_TIMER`" +msgstr ":const:`KQ_FILTER_TIMER`" + +msgid "Establishes an arbitrary timer" +msgstr "Встановлює довільний таймер" + +msgid "Filter action." +msgstr "Дія фільтра." + +msgid ":const:`KQ_EV_ADD`" +msgstr ":const:`KQ_EV_ADD`" + +msgid "Adds or modifies an event" +msgstr "Додає або змінює подію" + +msgid ":const:`KQ_EV_DELETE`" +msgstr ":const:`KQ_EV_DELETE`" + +msgid "Removes an event from the queue" +msgstr "Вилучає подію з черги" + +msgid ":const:`KQ_EV_ENABLE`" +msgstr ":const:`KQ_EV_ENABLE`" + +msgid "Permitscontrol() to returns the event" +msgstr "Permitscontrol() to повертає подію" + +msgid ":const:`KQ_EV_DISABLE`" +msgstr ":const:`KQ_EV_DISABLE`" + +msgid "Disablesevent" +msgstr "Вимкнути подію" + +msgid ":const:`KQ_EV_ONESHOT`" +msgstr ":const:`KQ_EV_ONESHOT`" + +msgid "Removes event after first occurrence" +msgstr "Видаляє подію після першого входження" + +msgid ":const:`KQ_EV_CLEAR`" +msgstr ":const:`KQ_EV_CLEAR`" + +msgid "Reset the state after an event is retrieved" +msgstr "Скинути стан після отримання події" + +msgid ":const:`KQ_EV_SYSFLAGS`" +msgstr ":const:`KQ_EV_SYSFLAGS`" + +msgid "internal event" +msgstr "внутрішня подія" + +msgid ":const:`KQ_EV_FLAG1`" +msgstr ":const:`KQ_EV_FLAG1`" + +msgid ":const:`KQ_EV_EOF`" +msgstr ":const:`KQ_EV_EOF`" + +msgid "Filter specific EOF condition" +msgstr "Фільтр певної умови EOF" + +msgid ":const:`KQ_EV_ERROR`" +msgstr ":const:`KQ_EV_ERROR`" + +msgid "See return values" +msgstr "Перегляньте значення, що повертаються" + +msgid "Filter specific flags." +msgstr "Фільтрувати певні прапорці." + +msgid ":const:`KQ_FILTER_READ` and :const:`KQ_FILTER_WRITE` filter flags:" +msgstr ":const:`KQ_FILTER_READ` і :const:`KQ_FILTER_WRITE` позначки фільтрів:" + +msgid ":const:`KQ_NOTE_LOWAT`" +msgstr ":const:`KQ_NOTE_LOWAT`" + +msgid "low water mark of a socket buffer" +msgstr "низька позначка буфера сокета" + +msgid ":const:`KQ_FILTER_VNODE` filter flags:" +msgstr ":const:`KQ_FILTER_VNODE` позначки фільтра:" + +msgid ":const:`KQ_NOTE_DELETE`" +msgstr ":const:`KQ_NOTE_DELETE`" + +msgid "*unlink()* was called" +msgstr "Викликано *unlink()*" + +msgid ":const:`KQ_NOTE_WRITE`" +msgstr ":const:`KQ_NOTE_WRITE`" + +msgid "a write occurred" +msgstr "відбувся запис" + +msgid ":const:`KQ_NOTE_EXTEND`" +msgstr ":const:`KQ_NOTE_EXTEND`" + +msgid "the file was extended" +msgstr "файл було розширено" + +msgid ":const:`KQ_NOTE_ATTRIB`" +msgstr ":const:`KQ_NOTE_ATTRIB`" + +msgid "an attribute was changed" +msgstr "атрибут було змінено" + +msgid ":const:`KQ_NOTE_LINK`" +msgstr ":const:`KQ_NOTE_LINK`" + +msgid "the link count has changed" +msgstr "кількість посилань змінилася" + +msgid ":const:`KQ_NOTE_RENAME`" +msgstr ":const:`KQ_NOTE_RENAME`" + +msgid "the file was renamed" +msgstr "файл було перейменовано" + +msgid ":const:`KQ_NOTE_REVOKE`" +msgstr ":const:`KQ_NOTE_REVOKE`" + +msgid "access to the file was revoked" +msgstr "доступ до файлу скасовано" + +msgid ":const:`KQ_FILTER_PROC` filter flags:" +msgstr ":const:`KQ_FILTER_PROC` позначки фільтра:" + +msgid ":const:`KQ_NOTE_EXIT`" +msgstr ":const:`KQ_NOTE_EXIT`" + +msgid "the process has exited" +msgstr "процес вийшов" + +msgid ":const:`KQ_NOTE_FORK`" +msgstr ":const:`KQ_NOTE_FORK`" + +msgid "the process has called *fork()*" +msgstr "процес викликав *fork()*" + +msgid ":const:`KQ_NOTE_EXEC`" +msgstr ":const:`KQ_NOTE_EXEC`" + +msgid "the process has executed a new process" +msgstr "процес виконав новий процес" + +msgid ":const:`KQ_NOTE_PCTRLMASK`" +msgstr ":const:`KQ_NOTE_PCTRLMASK`" + +msgid "internal filter flag" +msgstr "прапор внутрішнього фільтра" + +msgid ":const:`KQ_NOTE_PDATAMASK`" +msgstr ":const:`KQ_NOTE_PDATAMASK`" + +msgid ":const:`KQ_NOTE_TRACK`" +msgstr ":const:`KQ_NOTE_TRACK`" + +msgid "follow a process across *fork()*" +msgstr "виконайте процес через *fork()*" + +msgid ":const:`KQ_NOTE_CHILD`" +msgstr ":const:`KQ_NOTE_CHILD`" + +msgid "returned on the child process for *NOTE_TRACK*" +msgstr "повернуто дочірнім процесом для *NOTE_TRACK*" + +msgid ":const:`KQ_NOTE_TRACKERR`" +msgstr ":const:`KQ_NOTE_TRACKERR`" + +msgid "unable to attach to a child" +msgstr "не може прив'язатися до дитини" + +msgid ":const:`KQ_FILTER_NETDEV` filter flags (not available on macOS):" +msgstr ":const:`KQ_FILTER_NETDEV` позначки фільтра (недоступні в macOS):" + +msgid ":const:`KQ_NOTE_LINKUP`" +msgstr ":const:`KQ_NOTE_LINKUP`" + +msgid "link is up" +msgstr "посилання працює" + +msgid ":const:`KQ_NOTE_LINKDOWN`" +msgstr ":const:`KQ_NOTE_LINKDOWN`" + +msgid "link is down" +msgstr "посилання не працює" + +msgid ":const:`KQ_NOTE_LINKINV`" +msgstr ":const:`KQ_NOTE_LINKINV`" + +msgid "link state is invalid" +msgstr "стан посилання недійсний" + +msgid "Filter specific data." +msgstr "Фільтр конкретних даних." + +msgid "User defined value." +msgstr "Визначене користувачем значення." diff --git a/library/selectors.po b/library/selectors.po new file mode 100644 index 000000000..f9d85fb66 --- /dev/null +++ b/library/selectors.po @@ -0,0 +1,375 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`selectors` --- High-level I/O multiplexing" +msgstr ":mod:`selectors` --- Мультиплексування вводу-виводу високого рівня" + +msgid "**Source code:** :source:`Lib/selectors.py`" +msgstr "**Вихідний код:** :source:`Lib/selectors.py`" + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +"This module allows high-level and efficient I/O multiplexing, built upon " +"the :mod:`select` module primitives. Users are encouraged to use this module " +"instead, unless they want precise control over the OS-level primitives used." +msgstr "" +"Цей модуль забезпечує високорівневе й ефективне мультиплексування введення/" +"виведення, побудоване на примітивах модуля :mod:`select`. Користувачам " +"рекомендується використовувати замість цього модуль, якщо вони не бажають " +"точного контролю над використовуваними примітивами рівня ОС." + +msgid "" +"It defines a :class:`BaseSelector` abstract base class, along with several " +"concrete implementations (:class:`KqueueSelector`, :class:" +"`EpollSelector`...), that can be used to wait for I/O readiness notification " +"on multiple file objects. In the following, \"file object\" refers to any " +"object with a :meth:`fileno()` method, or a raw file descriptor. See :term:" +"`file object`." +msgstr "" +"Він визначає :class:`BaseSelector` абстрактний базовий клас разом із " +"кількома конкретними реалізаціями (:class:`KqueueSelector`, :class:" +"`EpollSelector`...), які можна використовувати для очікування сповіщення про " +"готовність введення/виведення на кілька файлових об'єктів. У подальшому " +"\"файловий об’єкт\" відноситься до будь-якого об’єкта з методом :meth:" +"`fileno()` або необробленого дескриптора файлу. Див. :term:`file object`." + +msgid "" +":class:`DefaultSelector` is an alias to the most efficient implementation " +"available on the current platform: this should be the default choice for " +"most users." +msgstr "" +":class:`DefaultSelector` — це псевдонім найефективнішої реалізації, " +"доступної на поточній платформі: це має бути вибір за умовчанням для " +"більшості користувачів." + +msgid "" +"The type of file objects supported depends on the platform: on Windows, " +"sockets are supported, but not pipes, whereas on Unix, both are supported " +"(some other types may be supported as well, such as fifos or special file " +"devices)." +msgstr "" +"Тип підтримуваних файлових об’єктів залежить від платформи: у Windows " +"підтримуються сокети, але не канали, тоді як в Unix підтримуються обидва " +"(можуть підтримуватися й деякі інші типи, наприклад fifos або спеціальні " +"файлові пристрої)." + +msgid ":mod:`select`" +msgstr ":mod:`select`" + +msgid "Low-level I/O multiplexing module." +msgstr "Модуль мультиплексування вводу/виводу низького рівня." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Classes" +msgstr "Класи" + +msgid "Classes hierarchy::" +msgstr "Ієрархія класів::" + +msgid "" +"In the following, *events* is a bitwise mask indicating which I/O events " +"should be waited for on a given file object. It can be a combination of the " +"modules constants below:" +msgstr "" +"Нижче *події* — це порозрядна маска, що вказує, на які події вводу/виводу " +"слід чекати для певного файлового об’єкта. Це може бути комбінація наведених " +"нижче констант модулів:" + +msgid "Constant" +msgstr "Постійний" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`EVENT_READ`" +msgstr ":const:`EVENT_READ`" + +msgid "Available for read" +msgstr "Доступний для читання" + +msgid ":const:`EVENT_WRITE`" +msgstr ":const:`EVENT_WRITE`" + +msgid "Available for write" +msgstr "Доступний для запису" + +msgid "" +"A :class:`SelectorKey` is a :class:`~collections.namedtuple` used to " +"associate a file object to its underlying file descriptor, selected event " +"mask and attached data. It is returned by several :class:`BaseSelector` " +"methods." +msgstr "" +":class:`SelectorKey` — це :class:`~collections.namedtuple`, який " +"використовується для зв’язування об’єкта файлу з його основним дескриптором " +"файлу, вибраною маскою події та вкладеними даними. Його повертають кілька " +"методів :class:`BaseSelector`." + +msgid "File object registered." +msgstr "Файловий об'єкт зареєстровано." + +msgid "Underlying file descriptor." +msgstr "Базовий файловий дескриптор." + +msgid "Events that must be waited for on this file object." +msgstr "Події, які потрібно очікувати для цього файлового об’єкта." + +msgid "" +"Optional opaque data associated to this file object: for example, this could " +"be used to store a per-client session ID." +msgstr "" +"Додаткові непрозорі дані, пов’язані з цим файловим об’єктом: наприклад, це " +"можна використовувати для зберігання ідентифікатора сеансу кожного клієнта." + +msgid "" +"A :class:`BaseSelector` is used to wait for I/O event readiness on multiple " +"file objects. It supports file stream registration, unregistration, and a " +"method to wait for I/O events on those streams, with an optional timeout. " +"It's an abstract base class, so cannot be instantiated. Use :class:" +"`DefaultSelector` instead, or one of :class:`SelectSelector`, :class:" +"`KqueueSelector` etc. if you want to specifically use an implementation, and " +"your platform supports it. :class:`BaseSelector` and its concrete " +"implementations support the :term:`context manager` protocol." +msgstr "" +":class:`BaseSelector` використовується для очікування готовності події вводу/" +"виводу для кількох файлових об’єктів. Він підтримує реєстрацію потоку " +"файлів, скасування реєстрації та метод очікування подій введення/виведення в " +"цих потоках із додатковим тайм-аутом. Це абстрактний базовий клас, тому його " +"не можна створити. Замість цього використовуйте :class:`DefaultSelector` або " +"один із :class:`SelectSelector`, :class:`KqueueSelector` тощо, якщо ви " +"хочете використовувати певну реалізацію, і ваша платформа це підтримує. :" +"class:`BaseSelector` і його конкретні реалізації підтримують протокол :term:" +"`context manager`." + +msgid "Register a file object for selection, monitoring it for I/O events." +msgstr "" +"Зареєструйте файловий об’єкт для вибору, відстежуючи його для подій вводу/" +"виводу." + +msgid "" +"*fileobj* is the file object to monitor. It may either be an integer file " +"descriptor or an object with a ``fileno()`` method. *events* is a bitwise " +"mask of events to monitor. *data* is an opaque object." +msgstr "" +"*fileobj* — файловий об’єкт для моніторингу. Це може бути цілочисельний " +"файловий дескриптор або об’єкт із методом fileno(). *події* — це побітова " +"маска подій для моніторингу. *data* є непрозорим об’єктом." + +msgid "" +"This returns a new :class:`SelectorKey` instance, or raises a :exc:" +"`ValueError` in case of invalid event mask or file descriptor, or :exc:" +"`KeyError` if the file object is already registered." +msgstr "" +"Це повертає новий екземпляр :class:`SelectorKey` або викликає :exc:" +"`ValueError` у разі недійсної маски події чи дескриптора файлу, або :exc:" +"`KeyError`, якщо об’єкт файлу вже зареєстровано." + +msgid "" +"Unregister a file object from selection, removing it from monitoring. A file " +"object shall be unregistered prior to being closed." +msgstr "" +"Скасувати реєстрацію файлового об’єкта з вибору, видаливши його з " +"моніторингу. Перед закриттям файлового об’єкта необхідно скасувати " +"реєстрацію." + +msgid "*fileobj* must be a file object previously registered." +msgstr "*fileobj* має бути попередньо зареєстрованим файловим об’єктом." + +msgid "" +"This returns the associated :class:`SelectorKey` instance, or raises a :exc:" +"`KeyError` if *fileobj* is not registered. It will raise :exc:`ValueError` " +"if *fileobj* is invalid (e.g. it has no ``fileno()`` method or its " +"``fileno()`` method has an invalid return value)." +msgstr "" +"Це повертає пов’язаний екземпляр :class:`SelectorKey` або викликає :exc:" +"`KeyError`, якщо *fileobj* не зареєстровано. Він викличе :exc:`ValueError`, " +"якщо *fileobj* недійсний (наприклад, він не має методу ``fileno()`` або його " +"``fileno()`` метод має недійсне повернуте значення)." + +msgid "Change a registered file object's monitored events or attached data." +msgstr "Змінити події або вкладені дані зареєстрованого файлового об’єкта." + +msgid "" +"This is equivalent to :meth:`BaseSelector.unregister(fileobj)` followed by :" +"meth:`BaseSelector.register(fileobj, events, data)`, except that it can be " +"implemented more efficiently." +msgstr "" +"Це еквівалентно :meth:`BaseSelector.unregister(fileobj)`, за яким слідує :" +"meth:`BaseSelector.register(fileobj, події, дані)`, за винятком того, що це " +"може бути реалізовано ефективніше." + +msgid "" +"This returns a new :class:`SelectorKey` instance, or raises a :exc:" +"`ValueError` in case of invalid event mask or file descriptor, or :exc:" +"`KeyError` if the file object is not registered." +msgstr "" +"Це повертає новий екземпляр :class:`SelectorKey` або викликає :exc:" +"`ValueError` у разі недійсної маски події чи дескриптора файлу, або :exc:" +"`KeyError`, якщо об’єкт файлу не зареєстровано." + +msgid "" +"Wait until some registered file objects become ready, or the timeout expires." +msgstr "" +"Зачекайте, поки деякі зареєстровані файлові об’єкти стануть готовими, або " +"закінчиться час очікування." + +msgid "" +"If ``timeout > 0``, this specifies the maximum wait time, in seconds. If " +"``timeout <= 0``, the call won't block, and will report the currently ready " +"file objects. If *timeout* is ``None``, the call will block until a " +"monitored file object becomes ready." +msgstr "" +"Якщо ``timeout > 0``, це визначає максимальний час очікування в секундах. " +"Якщо ``timeout <= 0``, виклик не блокуватиметься, а повідомлятиметься про " +"наразі готові файлові об’єкти. Якщо *timeout* має значення ``None``, виклик " +"блокуватиметься, доки контрольований файловий об’єкт не стане готовим." + +msgid "" +"This returns a list of ``(key, events)`` tuples, one for each ready file " +"object." +msgstr "" +"Це повертає список кортежів ``(ключ, події)``, по одному для кожного " +"готового файлового об’єкта." + +msgid "" +"*key* is the :class:`SelectorKey` instance corresponding to a ready file " +"object. *events* is a bitmask of events ready on this file object." +msgstr "" +"*key* — це екземпляр :class:`SelectorKey`, що відповідає готовому файловому " +"об’єкту. *events* — це бітова маска подій, готових для цього файлового " +"об’єкта." + +msgid "" +"This method can return before any file object becomes ready or the timeout " +"has elapsed if the current process receives a signal: in this case, an empty " +"list will be returned." +msgstr "" +"Цей метод може повернутися до того, як будь-який файловий об’єкт стане " +"готовим або мине час очікування, якщо поточний процес отримає сигнал: у " +"цьому випадку буде повернено порожній список." + +msgid "" +"The selector is now retried with a recomputed timeout when interrupted by a " +"signal if the signal handler did not raise an exception (see :pep:`475` for " +"the rationale), instead of returning an empty list of events before the " +"timeout." +msgstr "" +"Тепер селектор виконується повторно з переобчисленим тайм-аутом, коли його " +"перериває сигнал, якщо обробник сигналу не викликав виняткову ситуацію " +"(див. :pep:`475` для обґрунтування), замість повернення порожнього списку " +"подій до тайм-ауту." + +msgid "Close the selector." +msgstr "Закрийте селектор." + +msgid "" +"This must be called to make sure that any underlying resource is freed. The " +"selector shall not be used once it has been closed." +msgstr "" +"Це потрібно викликати, щоб переконатися, що будь-який основний ресурс " +"звільнено. Перемикач не можна використовувати після того, як він закритий." + +msgid "Return the key associated with a registered file object." +msgstr "Повертає ключ, пов’язаний із зареєстрованим файловим об’єктом." + +msgid "" +"This returns the :class:`SelectorKey` instance associated to this file " +"object, or raises :exc:`KeyError` if the file object is not registered." +msgstr "" +"Це повертає екземпляр :class:`SelectorKey`, пов’язаний із цим об’єктом " +"файлу, або викликає :exc:`KeyError`, якщо об’єкт файлу не зареєстровано." + +msgid "Return a mapping of file objects to selector keys." +msgstr "Повернути відображення файлових об’єктів на клавіші вибору." + +msgid "" +"This returns a :class:`~collections.abc.Mapping` instance mapping registered " +"file objects to their associated :class:`SelectorKey` instance." +msgstr "" +"Це повертає екземпляр :class:`~collections.abc.Mapping`, який зіставляє " +"зареєстровані файлові об’єкти з їхнім пов’язаним екземпляром :class:" +"`SelectorKey`." + +msgid "" +"The default selector class, using the most efficient implementation " +"available on the current platform. This should be the default choice for " +"most users." +msgstr "" +"Клас селектора за замовчуванням із використанням найефективнішої реалізації, " +"доступної на поточній платформі. Це має бути вибір за умовчанням для " +"більшості користувачів." + +msgid ":func:`select.select`-based selector." +msgstr "Селектор на основі :func:`select.select`." + +msgid ":func:`select.poll`-based selector." +msgstr "Селектор на основі :func:`select.poll`." + +msgid ":func:`select.epoll`-based selector." +msgstr "Селектор на основі :func:`select.epoll`." + +msgid "" +"This returns the file descriptor used by the underlying :func:`select.epoll` " +"object." +msgstr "" +"Це повертає дескриптор файлу, який використовується базовим об’єктом :func:" +"`select.epoll`." + +msgid ":func:`select.devpoll`-based selector." +msgstr "Селектор на основі :func:`select.devpoll`." + +msgid "" +"This returns the file descriptor used by the underlying :func:`select." +"devpoll` object." +msgstr "" +"Це повертає дескриптор файлу, який використовується базовим об’єктом :func:" +"`select.devpoll`." + +msgid ":func:`select.kqueue`-based selector." +msgstr ":func:`select.kqueue` селектор." + +msgid "" +"This returns the file descriptor used by the underlying :func:`select." +"kqueue` object." +msgstr "" +"Це повертає дескриптор файлу, який використовується базовим об’єктом :func:" +"`select.kqueue`." + +msgid "Examples" +msgstr "Приклади" + +msgid "Here is a simple echo server implementation::" +msgstr "Ось проста реалізація ехо-сервера:" diff --git a/library/shelve.po b/library/shelve.po new file mode 100644 index 000000000..27cc68e55 --- /dev/null +++ b/library/shelve.po @@ -0,0 +1,306 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:12+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`shelve` --- Python object persistence" +msgstr ":mod:`shelve` --- збереження об'єкта Python" + +msgid "**Source code:** :source:`Lib/shelve.py`" +msgstr "**Вихідний код:** :source:`Lib/shelve.py`" + +msgid "" +"A \"shelf\" is a persistent, dictionary-like object. The difference with " +"\"dbm\" databases is that the values (not the keys!) in a shelf can be " +"essentially arbitrary Python objects --- anything that the :mod:`pickle` " +"module can handle. This includes most class instances, recursive data types, " +"and objects containing lots of shared sub-objects. The keys are ordinary " +"strings." +msgstr "" +"\"Полиця\" — це постійний об’єкт, схожий на словник. Різниця з базами даних " +"\"dbm\" полягає в тому, що значення (не ключі!) на полиці можуть бути по " +"суті довільними об’єктами Python --- будь-чим, що може обробити модуль :mod:" +"`pickle`. Це включає більшість екземплярів класів, рекурсивних типів даних " +"та об’єктів, що містять багато спільних підоб’єктів. Ключі - звичайні струни." + +msgid "" +"Open a persistent dictionary. The filename specified is the base filename " +"for the underlying database. As a side-effect, an extension may be added to " +"the filename and more than one file may be created. By default, the " +"underlying database file is opened for reading and writing. The optional " +"*flag* parameter has the same interpretation as the *flag* parameter of :" +"func:`dbm.open`." +msgstr "" +"Відкрийте постійний словник. Вказана назва файлу є базовою назвою файлу " +"базової бази даних. Як побічний ефект до назви файлу може бути додано " +"розширення та може бути створено більше одного файлу. За замовчуванням " +"базовий файл бази даних відкрито для читання та запису. Необов’язковий " +"параметр *flag* має таку саму інтерпретацію, що й параметр *flag* :func:`dbm." +"open`." + +msgid "" +"By default, pickles created with :data:`pickle.DEFAULT_PROTOCOL` are used to " +"serialize values. The version of the pickle protocol can be specified with " +"the *protocol* parameter." +msgstr "" +"За замовчуванням піклі, створені за допомогою :data:`pickle." +"DEFAULT_PROTOCOL`, використовуються для серіалізації значень. Версію " +"протоколу pickle можна вказати за допомогою параметра *protocol*." + +msgid "" +"Because of Python semantics, a shelf cannot know when a mutable persistent-" +"dictionary entry is modified. By default modified objects are written " +"*only* when assigned to the shelf (see :ref:`shelve-example`). If the " +"optional *writeback* parameter is set to ``True``, all entries accessed are " +"also cached in memory, and written back on :meth:`~Shelf.sync` and :meth:" +"`~Shelf.close`; this can make it handier to mutate mutable entries in the " +"persistent dictionary, but, if many entries are accessed, it can consume " +"vast amounts of memory for the cache, and it can make the close operation " +"very slow since all accessed entries are written back (there is no way to " +"determine which accessed entries are mutable, nor which ones were actually " +"mutated)." +msgstr "" +"Через семантику Python полиця не може знати, коли змінено запис постійного " +"словника. За замовчуванням змінені об’єкти записуються *тільки*, коли вони " +"призначені на полицю (див. :ref:`shelve-example`). Якщо необов’язковий " +"параметр *writeback* має значення ``True``, усі записи, до яких здійснюється " +"доступ, також кешуються в пам’яті та записуються назад у :meth:`~Shelf.sync` " +"і :meth:`~Shelf.close`; це може зробити зручнішим мутацію змінних записів у " +"постійному словнику, але, якщо здійснюється доступ до багатьох записів, це " +"може споживати величезні обсяги пам’яті для кешу, і це може зробити операцію " +"закриття дуже повільною, оскільки всі доступні записи записуються назад " +"( немає способу визначити, які записи є змінними, а також які з них були " +"змінені)." + +msgid "" +":data:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol." +msgstr "" +":data:`pickle.DEFAULT_PROTOCOL` тепер використовується як стандартний " +"протокол pickle." + +msgid "Accepts :term:`path-like object` for filename." +msgstr "" + +msgid "" +"Do not rely on the shelf being closed automatically; always call :meth:" +"`~Shelf.close` explicitly when you don't need it any more, or use :func:" +"`shelve.open` as a context manager::" +msgstr "" +"Не покладайтеся на автоматичне закриття полиці; завжди викликайте :meth:" +"`~Shelf.close` явно, коли він вам більше не потрібен, або використовуйте :" +"func:`shelve.open` як контекстний менеджер::" + +msgid "" +"Because the :mod:`shelve` module is backed by :mod:`pickle`, it is insecure " +"to load a shelf from an untrusted source. Like with pickle, loading a shelf " +"can execute arbitrary code." +msgstr "" +"Оскільки модуль :mod:`shelve` підтримується :mod:`pickle`, небезпечно " +"завантажувати полицю з ненадійного джерела. Як і з pickle, завантаження " +"полиці може виконувати довільний код." + +msgid "" +"Shelf objects support most of methods and operations supported by " +"dictionaries (except copying, constructors and operators ``|`` and ``|=``). " +"This eases the transition from dictionary based scripts to those requiring " +"persistent storage." +msgstr "" +"Об'єкти полиці підтримують більшість методів і операцій, які підтримуються " +"словниками (крім копіювання, конструкторів і операторів ``|`` і ``|=``). Це " +"спрощує перехід від сценаріїв на основі словників до сценаріїв, які " +"потребують постійного зберігання." + +msgid "Two additional methods are supported:" +msgstr "Підтримуються два додаткові методи:" + +msgid "" +"Write back all entries in the cache if the shelf was opened with *writeback* " +"set to :const:`True`. Also empty the cache and synchronize the persistent " +"dictionary on disk, if feasible. This is called automatically when the " +"shelf is closed with :meth:`close`." +msgstr "" +"Записати всі записи в кеші, якщо полицю було відкрито з *writeback*, " +"встановленим на :const:`True`. Також очистіть кеш і синхронізуйте постійний " +"словник на диску, якщо це можливо. Це викликається автоматично, коли полиця " +"закривається за допомогою :meth:`close`." + +msgid "" +"Synchronize and close the persistent *dict* object. Operations on a closed " +"shelf will fail with a :exc:`ValueError`." +msgstr "" +"Синхронізуйте та закрийте постійний об’єкт *dict*. Операції на закритій " +"полиці завершаться помилкою з :exc:`ValueError`." + +msgid "" +"`Persistent dictionary recipe `_ with widely supported storage formats and having the speed of native " +"dictionaries." +msgstr "" +"`Persistent dictionary recipe `_ із широкою підтримкою форматів зберігання та швидкістю власних словників." + +msgid "Restrictions" +msgstr "Обмеження" + +msgid "" +"The choice of which database package will be used (such as :mod:`dbm.ndbm` " +"or :mod:`dbm.gnu`) depends on which interface is available. Therefore it is " +"not safe to open the database directly using :mod:`dbm`. The database is " +"also (unfortunately) subject to the limitations of :mod:`dbm`, if it is used " +"--- this means that (the pickled representation of) the objects stored in " +"the database should be fairly small, and in rare cases key collisions may " +"cause the database to refuse updates." +msgstr "" +"Вибір того, який пакет бази даних використовуватиметься (наприклад, :mod:" +"`dbm.ndbm` або :mod:`dbm.gnu`) залежить від доступного інтерфейсу. Тому " +"небезпечно відкривати базу даних безпосередньо за допомогою :mod:`dbm`. База " +"даних також (на жаль) підлягає обмеженням :mod:`dbm`, якщо вона " +"використовується --- це означає, що (вибране представлення) об’єктів, які " +"зберігаються в базі даних, мають бути досить малими, і в окремих випадках " +"колізії ключів можуть призвести до відмови бази даних в оновленнях." + +msgid "" +"The :mod:`shelve` module does not support *concurrent* read/write access to " +"shelved objects. (Multiple simultaneous read accesses are safe.) When a " +"program has a shelf open for writing, no other program should have it open " +"for reading or writing. Unix file locking can be used to solve this, but " +"this differs across Unix versions and requires knowledge about the database " +"implementation used." +msgstr "" +"Модуль :mod:`shelve` не підтримує *одночасний* доступ для читання/запису до " +"відкладених об’єктів. (Кілька одночасних доступів для читання є безпечними.) " +"Якщо в програмі є полиця, відкрита для запису, жодна інша програма не " +"повинна мати її відкритою для читання чи запису. Щоб вирішити цю проблему, " +"можна використовувати блокування файлів Unix, але це відрізняється в різних " +"версіях Unix і вимагає знання про використовувану реалізацію бази даних." + +msgid "" +"A subclass of :class:`collections.abc.MutableMapping` which stores pickled " +"values in the *dict* object." +msgstr "" +"Підклас :class:`collections.abc.MutableMapping`, який зберігає обрані " +"значення в об’єкті *dict*." + +msgid "" +"By default, pickles created with :data:`pickle.DEFAULT_PROTOCOL` are used to " +"serialize values. The version of the pickle protocol can be specified with " +"the *protocol* parameter. See the :mod:`pickle` documentation for a " +"discussion of the pickle protocols." +msgstr "" +"За замовчуванням піклі, створені за допомогою :data:`pickle." +"DEFAULT_PROTOCOL`, використовуються для серіалізації значень. Версію " +"протоколу pickle можна вказати за допомогою параметра *protocol*. " +"Перегляньте документацію :mod:`pickle` для обговорення протоколів pickle." + +msgid "" +"If the *writeback* parameter is ``True``, the object will hold a cache of " +"all entries accessed and write them back to the *dict* at sync and close " +"times. This allows natural operations on mutable entries, but can consume " +"much more memory and make sync and close take a long time." +msgstr "" +"Якщо параметр *writeback* має значення ``True``, об’єкт зберігатиме кеш усіх " +"записів, до яких отримав доступ, і записуватиме їх назад у *dict* під час " +"синхронізації та закриття. Це дозволяє виконувати природні операції над " +"змінними записами, але може споживати набагато більше пам’яті, а " +"синхронізація та закриття триватимуть довго." + +msgid "" +"The *keyencoding* parameter is the encoding used to encode keys before they " +"are used with the underlying dict." +msgstr "" +"Параметр *keyencoding* — це кодування, яке використовується для кодування " +"ключів перед їх використанням із базовим dict." + +msgid "" +"A :class:`Shelf` object can also be used as a context manager, in which case " +"it will be automatically closed when the :keyword:`with` block ends." +msgstr "" +"Об’єкт :class:`Shelf` також можна використовувати як менеджер контексту, і в " +"цьому випадку він буде автоматично закритий, коли блок :keyword:`with` " +"завершиться." + +msgid "" +"Added the *keyencoding* parameter; previously, keys were always encoded in " +"UTF-8." +msgstr "Додано параметр *keyencoding*; раніше ключі завжди кодувалися в UTF-8." + +msgid "Added context manager support." +msgstr "Додано підтримку менеджера контексту." + +msgid "" +"A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`, :" +"meth:`previous`, :meth:`last` and :meth:`set_location` which are available " +"in the third-party :mod:`bsddb` module from `pybsddb `_ but not in other database modules. The *dict* " +"object passed to the constructor must support those methods. This is " +"generally accomplished by calling one of :func:`bsddb.hashopen`, :func:" +"`bsddb.btopen` or :func:`bsddb.rnopen`. The optional *protocol*, " +"*writeback*, and *keyencoding* parameters have the same interpretation as " +"for the :class:`Shelf` class." +msgstr "" +"Підклас :class:`Shelf`, який відкриває :meth:`first`, :meth:`!next`, :meth:" +"`previous`, :meth:`last` і :meth:`set_location`, які доступні в сторонній " +"модуль :mod:`bsddb` з `pybsddb `_, але не в інших модулях бази даних. Об’єкт *dict*, переданий " +"конструктору, повинен підтримувати ці методи. Зазвичай це досягається " +"викликом одного з :func:`bsddb.hashopen`, :func:`bsddb.btopen` або :func:" +"`bsddb.rnopen`. Додаткові параметри *protocol*, *writeback* і *keyencoding* " +"мають таку саму інтерпретацію, що й для класу :class:`Shelf`." + +msgid "" +"A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-" +"like object. The underlying file will be opened using :func:`dbm.open`. By " +"default, the file will be created and opened for both read and write. The " +"optional *flag* parameter has the same interpretation as for the :func:`." +"open` function. The optional *protocol* and *writeback* parameters have the " +"same interpretation as for the :class:`Shelf` class." +msgstr "" +"Підклас :class:`Shelf`, який приймає *ім’я файлу* замість dict-подібного " +"об’єкта. Основний файл буде відкрито за допомогою :func:`dbm.open`. За " +"замовчуванням файл буде створено та відкрито для читання та запису. " +"Необов’язковий параметр *flag* має таку саму інтерпретацію, що й функція :" +"func:`.open`. Необов’язкові параметри *protocol* і *writeback* мають таку " +"саму інтерпретацію, що й для класу :class:`Shelf`." + +msgid "Example" +msgstr "приклад" + +msgid "" +"To summarize the interface (``key`` is a string, ``data`` is an arbitrary " +"object)::" +msgstr "" +"Підсумовуючи інтерфейс (``key`` — це рядок, ``data`` — це довільний об’єкт):" + +msgid "Module :mod:`dbm`" +msgstr "Модуль :mod:`dbm`" + +msgid "Generic interface to ``dbm``-style databases." +msgstr "Загальний інтерфейс до баз даних у стилі ``dbm``." + +msgid "Module :mod:`pickle`" +msgstr "Модуль :mod:`pickle`" + +msgid "Object serialization used by :mod:`shelve`." +msgstr "Серіалізація об’єктів, яку використовує :mod:`shelve`." diff --git a/library/shlex.po b/library/shlex.po new file mode 100644 index 000000000..0c5a233ec --- /dev/null +++ b/library/shlex.po @@ -0,0 +1,661 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`shlex` --- Simple lexical analysis" +msgstr ":mod:`shlex` --- Простий лексичний аналіз" + +msgid "**Source code:** :source:`Lib/shlex.py`" +msgstr "**Вихідний код:** :source:`Lib/shlex.py`" + +msgid "" +"The :class:`~shlex.shlex` class makes it easy to write lexical analyzers for " +"simple syntaxes resembling that of the Unix shell. This will often be " +"useful for writing minilanguages, (for example, in run control files for " +"Python applications) or for parsing quoted strings." +msgstr "" +"Клас :class:`~shlex.shlex` дозволяє легко писати лексичні аналізатори для " +"простого синтаксису, схожого на синтаксис оболонки Unix. Це часто буде " +"корисно для написання міні-мов (наприклад, у файлах керування виконанням " +"програм Python) або для аналізу рядків у лапках." + +msgid "The :mod:`shlex` module defines the following functions:" +msgstr "Модуль :mod:`shlex` визначає такі функції:" + +msgid "" +"Split the string *s* using shell-like syntax. If *comments* is :const:" +"`False` (the default), the parsing of comments in the given string will be " +"disabled (setting the :attr:`~shlex.commenters` attribute of the :class:" +"`~shlex.shlex` instance to the empty string). This function operates in " +"POSIX mode by default, but uses non-POSIX mode if the *posix* argument is " +"false." +msgstr "" +"Розділіть рядок *s* за допомогою синтаксису, подібного до оболонки. Якщо " +"*comments* має значення :const:`False` (за замовчуванням), розбір коментарів " +"у вказаному рядку буде вимкнено (встановлюється атрибут :attr:`~shlex." +"commenters` :class:`~shlex.shlex` до порожнього рядка). Ця функція за " +"замовчуванням працює в режимі POSIX, але використовує режим, відмінний від " +"POSIX, якщо аргумент *posix* має значення false." + +msgid "" +"Since the :func:`split` function instantiates a :class:`~shlex.shlex` " +"instance, passing ``None`` for *s* will read the string to split from " +"standard input." +msgstr "" +"Оскільки функція :func:`split` створює екземпляр :class:`~shlex.shlex`, " +"передаючи ``None`` для *s*, буде прочитано рядок для розділення зі " +"стандартного введення." + +msgid "" +"Passing ``None`` for *s* will raise an exception in future Python versions." +msgstr "" +"Передача ``None`` для *s* призведе до виключення в майбутніх версіях Python." + +msgid "" +"Concatenate the tokens of the list *split_command* and return a string. This " +"function is the inverse of :func:`split`." +msgstr "" +"Об’єднайте маркери списку *split_command* і поверніть рядок. Ця функція є " +"зворотною до :func:`split`." + +msgid "" +"The returned value is shell-escaped to protect against injection " +"vulnerabilities (see :func:`quote`)." +msgstr "" +"Повернене значення екранується оболонкою, щоб захистити від уразливості " +"ін’єкції (див. :func:`quote`)." + +msgid "" +"Return a shell-escaped version of the string *s*. The returned value is a " +"string that can safely be used as one token in a shell command line, for " +"cases where you cannot use a list." +msgstr "" +"Повертає екрановану версію рядка *s*. Повернене значення — це рядок, який " +"можна безпечно використовувати як один маркер у командному рядку оболонки у " +"випадках, коли ви не можете використовувати список." + +msgid "The ``shlex`` module is **only designed for Unix shells**." +msgstr "Модуль ``shlex`` призначений **лише для оболонок Unix**." + +msgid "" +"The :func:`quote` function is not guaranteed to be correct on non-POSIX " +"compliant shells or shells from other operating systems such as Windows. " +"Executing commands quoted by this module on such shells can open up the " +"possibility of a command injection vulnerability." +msgstr "" +"Не гарантується, що функція :func:`quote` буде коректною для несумісних з " +"POSIX оболонок або оболонок інших операційних систем, таких як Windows. " +"Виконання команд, цитованих цим модулем, у таких оболонках може відкрити " +"ймовірність уразливості впровадження команд." + +msgid "" +"Consider using functions that pass command arguments with lists such as :" +"func:`subprocess.run` with ``shell=False``." +msgstr "" +"Розгляньте можливість використання функцій, які передають аргументи команд " +"зі списками, наприклад :func:`subprocess.run` з ``shell=False``." + +msgid "This idiom would be unsafe:" +msgstr "Ця ідіома була б небезпечною:" + +msgid ":func:`quote` lets you plug the security hole:" +msgstr ":func:`quote` дозволяє закрити дірку в безпеці:" + +msgid "The quoting is compatible with UNIX shells and with :func:`split`:" +msgstr "Цитування сумісно з оболонками UNIX і з :func:`split`:" + +msgid "The :mod:`shlex` module defines the following class:" +msgstr "Модуль :mod:`shlex` визначає такий клас:" + +msgid "" +"A :class:`~shlex.shlex` instance or subclass instance is a lexical analyzer " +"object. The initialization argument, if present, specifies where to read " +"characters from. It must be a file-/stream-like object with :meth:`~io." +"TextIOBase.read` and :meth:`~io.TextIOBase.readline` methods, or a string. " +"If no argument is given, input will be taken from ``sys.stdin``. The second " +"optional argument is a filename string, which sets the initial value of the :" +"attr:`~shlex.infile` attribute. If the *instream* argument is omitted or " +"equal to ``sys.stdin``, this second argument defaults to \"stdin\". The " +"*posix* argument defines the operational mode: when *posix* is not true " +"(default), the :class:`~shlex.shlex` instance will operate in compatibility " +"mode. When operating in POSIX mode, :class:`~shlex.shlex` will try to be as " +"close as possible to the POSIX shell parsing rules. The *punctuation_chars* " +"argument provides a way to make the behaviour even closer to how real shells " +"parse. This can take a number of values: the default value, ``False``, " +"preserves the behaviour seen under Python 3.5 and earlier. If set to " +"``True``, then parsing of the characters ``();<>|&`` is changed: any run of " +"these characters (considered punctuation characters) is returned as a single " +"token. If set to a non-empty string of characters, those characters will be " +"used as the punctuation characters. Any characters in the :attr:`wordchars` " +"attribute that appear in *punctuation_chars* will be removed from :attr:" +"`wordchars`. See :ref:`improved-shell-compatibility` for more information. " +"*punctuation_chars* can be set only upon :class:`~shlex.shlex` instance " +"creation and can't be modified later." +msgstr "" +"Екземпляр :class:`~shlex.shlex` або екземпляр підкласу є об’єктом лексичного " +"аналізатора. Аргумент ініціалізації, якщо він присутній, визначає, звідки " +"читати символи. Це має бути файлоподібний/потоковий об’єкт із методами :meth:" +"`~io.TextIOBase.read` і :meth:`~io.TextIOBase.readline` або рядок. Якщо " +"аргумент не вказано, вхідні дані братимуться з ``sys.stdin``. Другим " +"необов’язковим аргументом є рядок імені файлу, який встановлює початкове " +"значення атрибута :attr:`~shlex.infile`. Якщо аргумент *instream* опущено " +"або дорівнює ``sys.stdin``, цей другий аргумент за умовчанням має значення " +"stdin. Аргумент *posix* визначає робочий режим: якщо *posix* не є істинним " +"(за замовчуванням), примірник :class:`~shlex.shlex` працюватиме в режимі " +"сумісності. Під час роботи в режимі POSIX :class:`~shlex.shlex` " +"намагатиметься бути якомога ближчим до правил розбору оболонки POSIX. " +"Аргумент *punctuation_chars* забезпечує спосіб зробити поведінку ще ближчою " +"до того, як розбирають справжні оболонки. Це може приймати кілька значень: " +"значення за замовчуванням, ``False``, зберігає поведінку, яку можна побачити " +"в Python 3.5 і раніше. Якщо встановлено значення ``True``, то розбір " +"символів ``(); <> |&`` змінено: будь-яке виконання цих символів (вважаються " +"знаками пунктуації) повертається як один маркер. Якщо встановлено непорожній " +"рядок символів, ці символи використовуватимуться як знаки пунктуації. Будь-" +"які символи в атрибуті :attr:`wordchars`, які з’являються в " +"*punctuation_chars*, будуть видалені з :attr:`wordchars`. Перегляньте :ref:" +"`improved-shell-compatibility` для отримання додаткової інформації. " +"*punctuation_chars* можна встановити лише під час створення екземпляра :" +"class:`~shlex.shlex` і не можна змінити пізніше." + +msgid "The *punctuation_chars* parameter was added." +msgstr "Додано параметр *punctuation_chars*." + +msgid "Module :mod:`configparser`" +msgstr "Модуль :mod:`configparser`" + +msgid "" +"Parser for configuration files similar to the Windows :file:`.ini` files." +msgstr "" +"Синтаксичний аналізатор файлів конфігурації, подібних до файлів Windows :" +"file:`.ini`." + +msgid "shlex Objects" +msgstr "Об'єкти shlex" + +msgid "A :class:`~shlex.shlex` instance has the following methods:" +msgstr "Екземпляр :class:`~shlex.shlex` має такі методи:" + +msgid "" +"Return a token. If tokens have been stacked using :meth:`push_token`, pop a " +"token off the stack. Otherwise, read one from the input stream. If reading " +"encounters an immediate end-of-file, :attr:`eof` is returned (the empty " +"string (``''``) in non-POSIX mode, and ``None`` in POSIX mode)." +msgstr "" +"Повернути жетон. Якщо маркери були складені за допомогою :meth:`push_token`, " +"витягніть маркер зі стеку. В іншому випадку прочитайте один із вхідного " +"потоку. Якщо під час читання виникає негайний кінець файлу, повертається :" +"attr:`eof` (порожній рядок (``''``) у режимі, відмінному від POSIX, і " +"``None`` у режимі POSIX)." + +msgid "Push the argument onto the token stack." +msgstr "Помістіть аргумент у стек маркерів." + +msgid "" +"Read a raw token. Ignore the pushback stack, and do not interpret source " +"requests. (This is not ordinarily a useful entry point, and is documented " +"here only for the sake of completeness.)" +msgstr "" +"Прочитайте необроблений токен. Ігноруйте зворотний стек і не інтерпретуйте " +"запити джерела. (Це зазвичай не є корисною точкою входу, і задокументовано " +"тут лише для повноти.)" + +msgid "" +"When :class:`~shlex.shlex` detects a source request (see :attr:`source` " +"below) this method is given the following token as argument, and expected to " +"return a tuple consisting of a filename and an open file-like object." +msgstr "" +"Коли :class:`~shlex.shlex` виявляє вихідний запит (див. :attr:`source` " +"нижче), цьому методу надається наступний маркер як аргумент і очікується, що " +"він поверне кортеж, що складається з імені файлу та відкритого файлу, " +"подібного об'єкт." + +msgid "" +"Normally, this method first strips any quotes off the argument. If the " +"result is an absolute pathname, or there was no previous source request in " +"effect, or the previous source was a stream (such as ``sys.stdin``), the " +"result is left alone. Otherwise, if the result is a relative pathname, the " +"directory part of the name of the file immediately before it on the source " +"inclusion stack is prepended (this behavior is like the way the C " +"preprocessor handles ``#include \"file.h\"``)." +msgstr "" +"Зазвичай цей метод спочатку видаляє будь-які лапки з аргументу. Якщо " +"результатом є абсолютний шлях, або не було попереднього запиту джерела, або " +"попереднім джерелом був потік (наприклад, ``sys.stdin``), результат " +"залишається одним. В іншому випадку, якщо результатом є відносний шлях, " +"частина каталогу імені файлу безпосередньо перед ним у вихідному стеку " +"включення додається (така поведінка подібна до того, як препроцесор C " +"обробляє ``#include \"file.h\"``)." + +msgid "" +"The result of the manipulations is treated as a filename, and returned as " +"the first component of the tuple, with :func:`open` called on it to yield " +"the second component. (Note: this is the reverse of the order of arguments " +"in instance initialization!)" +msgstr "" +"Результат маніпуляцій розглядається як ім’я файлу та повертається як перший " +"компонент кортежу з викликом :func:`open`, щоб отримати другий компонент. " +"(Примітка: це зворотний порядок аргументів під час ініціалізації екземпляра!)" + +msgid "" +"This hook is exposed so that you can use it to implement directory search " +"paths, addition of file extensions, and other namespace hacks. There is no " +"corresponding 'close' hook, but a shlex instance will call the :meth:`~io." +"IOBase.close` method of the sourced input stream when it returns EOF." +msgstr "" +"Цей хук відкритий, щоб ви могли використовувати його для реалізації шляхів " +"пошуку в каталогах, додавання розширень файлів та інших хаків простору імен. " +"Немає відповідного хука 'close', але екземпляр shlex викличе метод :meth:" +"`~io.IOBase.close` вихідного вхідного потоку, коли він повертає EOF." + +msgid "" +"For more explicit control of source stacking, use the :meth:`push_source` " +"and :meth:`pop_source` methods." +msgstr "" +"Для більш чіткого керування стеком джерела використовуйте методи :meth:" +"`push_source` і :meth:`pop_source`." + +msgid "" +"Push an input source stream onto the input stack. If the filename argument " +"is specified it will later be available for use in error messages. This is " +"the same method used internally by the :meth:`sourcehook` method." +msgstr "" +"Надішліть потік джерела вхідних даних у стек вхідних даних. Якщо вказати " +"аргумент імені файлу, він пізніше буде доступний для використання в " +"повідомленнях про помилки. Це той самий метод, який внутрішньо " +"використовується методом :meth:`sourcehook`." + +msgid "" +"Pop the last-pushed input source from the input stack. This is the same " +"method used internally when the lexer reaches EOF on a stacked input stream." +msgstr "" +"Витягніть джерело вхідного сигналу, надіслане востаннє, зі стеку вхідних " +"даних. Це той самий метод, який використовується внутрішньо, коли лексер " +"досягає EOF у складеному вхідному потоці." + +msgid "" +"This method generates an error message leader in the format of a Unix C " +"compiler error label; the format is ``'\"%s\", line %d: '``, where the ``" +"%s`` is replaced with the name of the current source file and the ``%d`` " +"with the current input line number (the optional arguments can be used to " +"override these)." +msgstr "" +"Цей метод генерує лідер повідомлення про помилку у форматі мітки помилки " +"компілятора Unix C; формат ``'\"%s\", line %d: '``, де ``%s`` замінюється " +"назвою поточного вихідного файлу, а ``%d`` поточним номером рядка введення " +"(додатковий аргументи можуть бути використані для перевизначення цих)." + +msgid "" +"This convenience is provided to encourage :mod:`shlex` users to generate " +"error messages in the standard, parseable format understood by Emacs and " +"other Unix tools." +msgstr "" +"Ця зручність створена для заохочення користувачів :mod:`shlex` генерувати " +"повідомлення про помилки у стандартному форматі, який можна аналізувати, " +"зрозумілому Emacs та іншим інструментам Unix." + +msgid "" +"Instances of :class:`~shlex.shlex` subclasses have some public instance " +"variables which either control lexical analysis or can be used for debugging:" +msgstr "" +"Екземпляри підкласів :class:`~shlex.shlex` мають деякі загальнодоступні " +"змінні екземпляра, які або контролюють лексичний аналіз, або можуть бути " +"використані для налагодження:" + +msgid "" +"The string of characters that are recognized as comment beginners. All " +"characters from the comment beginner to end of line are ignored. Includes " +"just ``'#'`` by default." +msgstr "" +"Рядок символів, які розпізнаються як початкові коментарі. Усі символи від " +"початку коментаря до кінця рядка ігноруються. За замовчуванням містить лише " +"``''#'``." + +msgid "" +"The string of characters that will accumulate into multi-character tokens. " +"By default, includes all ASCII alphanumerics and underscore. In POSIX mode, " +"the accented characters in the Latin-1 set are also included. If :attr:" +"`punctuation_chars` is not empty, the characters ``~-./*?=``, which can " +"appear in filename specifications and command line parameters, will also be " +"included in this attribute, and any characters which appear in " +"``punctuation_chars`` will be removed from ``wordchars`` if they are present " +"there. If :attr:`whitespace_split` is set to ``True``, this will have no " +"effect." +msgstr "" +"Рядок символів, який накопичуватиметься в багатосимвольні маркери. За " +"замовчуванням включає всі буквено-цифрові символи ASCII і підкреслення. У " +"режимі POSIX також включені символи з наголосами в наборі Latin-1. Якщо :" +"attr:`punctuation_chars` не порожній, символи ``~-./*?=``, які можуть " +"з’являтися в специфікаціях імен файлів і параметрах командного рядка, також " +"будуть включені в цей атрибут, а також будь-які символи, які з’являються в " +"``punctuation_chars`` буде видалено з ``wordchars``, якщо вони там присутні. " +"Якщо :attr:`whitespace_split` має значення ``True``, це не матиме ефекту." + +msgid "" +"Characters that will be considered whitespace and skipped. Whitespace " +"bounds tokens. By default, includes space, tab, linefeed and carriage-" +"return." +msgstr "" +"Символи, які вважатимуться пробілами та пропускатимуться. Пробіли обмежують " +"маркери. За замовчуванням включає пробіл, табуляцію, переведення рядка та " +"повернення каретки." + +msgid "" +"Characters that will be considered as escape. This will be only used in " +"POSIX mode, and includes just ``'\\'`` by default." +msgstr "" +"Символи, які будуть вважатися втечею. Він використовуватиметься лише в " +"режимі POSIX і за замовчуванням включає лише ``'\\'``." + +msgid "" +"Characters that will be considered string quotes. The token accumulates " +"until the same quote is encountered again (thus, different quote types " +"protect each other as in the shell.) By default, includes ASCII single and " +"double quotes." +msgstr "" +"Символи, які будуть вважатися лапками. Маркер накопичується, доки ті самі " +"лапки не зустрічаються знову (таким чином, різні типи лапок захищають один " +"одного, як і в оболонці). За замовчуванням включає одинарні та подвійні " +"лапки ASCII." + +msgid "" +"Characters in :attr:`quotes` that will interpret escape characters defined " +"in :attr:`escape`. This is only used in POSIX mode, and includes just " +"``'\"'`` by default." +msgstr "" +"Символи в :attr:`quotes`, які інтерпретуватимуть escape-символи, визначені " +"в :attr:`escape`. Це використовується лише в режимі POSIX і включає лише " +"``'\"'`` за замовчуванням." + +msgid "" +"If ``True``, tokens will only be split in whitespaces. This is useful, for " +"example, for parsing command lines with :class:`~shlex.shlex`, getting " +"tokens in a similar way to shell arguments. When used in combination with :" +"attr:`punctuation_chars`, tokens will be split on whitespace in addition to " +"those characters." +msgstr "" +"Якщо ``True``, маркери будуть розділені лише пробілами. Це корисно, " +"наприклад, для аналізу командних рядків за допомогою :class:`~shlex.shlex`, " +"отримання токенів подібним чином до аргументів оболонки. При використанні в " +"поєднанні з :attr:`punctuation_chars`, маркери будуть розділені на пробіли " +"на додаток до цих символів." + +msgid "" +"The :attr:`punctuation_chars` attribute was made compatible with the :attr:" +"`whitespace_split` attribute." +msgstr "" +"Атрибут :attr:`punctuation_chars` було зроблено сумісним з атрибутом :attr:" +"`whitespace_split`." + +msgid "" +"The name of the current input file, as initially set at class instantiation " +"time or stacked by later source requests. It may be useful to examine this " +"when constructing error messages." +msgstr "" +"Ім’я поточного вхідного файлу, початково встановлене під час створення " +"екземпляра класу або складене пізнішими запитами джерела. Це може бути " +"корисно вивчити під час створення повідомлень про помилки." + +msgid "" +"The input stream from which this :class:`~shlex.shlex` instance is reading " +"characters." +msgstr "" +"Вхідний потік, з якого цей екземпляр :class:`~shlex.shlex` читає символи." + +msgid "" +"This attribute is ``None`` by default. If you assign a string to it, that " +"string will be recognized as a lexical-level inclusion request similar to " +"the ``source`` keyword in various shells. That is, the immediately " +"following token will be opened as a filename and input will be taken from " +"that stream until EOF, at which point the :meth:`~io.IOBase.close` method of " +"that stream will be called and the input source will again become the " +"original input stream. Source requests may be stacked any number of levels " +"deep." +msgstr "" +"Цей атрибут за замовчуванням має значення ``None``. Якщо ви призначите йому " +"рядок, цей рядок буде розпізнано як запит на включення на лексичному рівні, " +"подібний до ключового слова ``source`` у різних оболонках. Тобто наступний " +"токен відкриватиметься як ім’я файлу, а вхідні дані братимуться з цього " +"потоку до закінчення EOF, після чого буде викликано метод :meth:`~io.IOBase." +"close` цього потоку та джерело вхідних даних. знову стане вихідним вхідним " +"потоком. Запити джерела можуть бути складені на будь-яку кількість рівнів." + +msgid "" +"If this attribute is numeric and ``1`` or more, a :class:`~shlex.shlex` " +"instance will print verbose progress output on its behavior. If you need to " +"use this, you can read the module source code to learn the details." +msgstr "" +"Якщо цей атрибут є числовим і має ``1`` або більше, екземпляр :class:`~shlex." +"shlex` друкуватиме докладні дані про свою поведінку. Якщо вам потрібно " +"скористатися цим, ви можете прочитати вихідний код модуля, щоб дізнатися " +"подробиці." + +msgid "Source line number (count of newlines seen so far plus one)." +msgstr "" +"Номер вихідного рядка (кількість нових рядків, побачених на даний момент " +"плюс один)." + +msgid "" +"The token buffer. It may be useful to examine this when catching exceptions." +msgstr "" +"Буфер маркера. Може бути корисно перевірити це під час перехоплення винятків." + +msgid "" +"Token used to determine end of file. This will be set to the empty string " +"(``''``), in non-POSIX mode, and to ``None`` in POSIX mode." +msgstr "" +"Маркер, який використовується для визначення кінця файлу. Буде встановлено " +"порожній рядок (``''``) у режимі, відмінному від POSIX, і значення ``None`` " +"в режимі POSIX." + +msgid "" +"A read-only property. Characters that will be considered punctuation. Runs " +"of punctuation characters will be returned as a single token. However, note " +"that no semantic validity checking will be performed: for example, '>>>' " +"could be returned as a token, even though it may not be recognised as such " +"by shells." +msgstr "" +"Властивість лише для читання. Символи, які вважатимуться розділовими. Серії " +"знаків пунктуації повертатимуться як один маркер. Однак зауважте, що " +"перевірка семантичної достовірності не виконуватиметься: наприклад, \">>>\" " +"може бути повернуто як маркер, навіть якщо він може бути не розпізнаний як " +"такий оболонками." + +msgid "Parsing Rules" +msgstr "Правила розбору" + +msgid "" +"When operating in non-POSIX mode, :class:`~shlex.shlex` will try to obey to " +"the following rules." +msgstr "" +"Під час роботи в режимі, відмінному від POSIX, :class:`~shlex.shlex` " +"намагатиметься дотримуватися наступних правил." + +msgid "" +"Quote characters are not recognized within words (``Do\"Not\"Separate`` is " +"parsed as the single word ``Do\"Not\"Separate``);" +msgstr "" +"Символи лапок не розпізнаються всередині слів (``Do\"Not\"Separate`` " +"аналізується як одне слово ``Do\"Not\"Separate``);" + +msgid "Escape characters are not recognized;" +msgstr "Екран-символи не розпізнаються;" + +msgid "" +"Enclosing characters in quotes preserve the literal value of all characters " +"within the quotes;" +msgstr "" +"Укладання символів у лапки зберігає буквальне значення всіх символів у " +"лапках;" + +msgid "" +"Closing quotes separate words (``\"Do\"Separate`` is parsed as ``\"Do\"`` " +"and ``Separate``);" +msgstr "" +"Закриваючі лапки відокремлюють слова (``\"Do\"Separate`` розбирається як ``" +"\"Do\"`` і ``Separate``);" + +msgid "" +"If :attr:`~shlex.whitespace_split` is ``False``, any character not declared " +"to be a word character, whitespace, or a quote will be returned as a single-" +"character token. If it is ``True``, :class:`~shlex.shlex` will only split " +"words in whitespaces;" +msgstr "" +"Якщо :attr:`~shlex.whitespace_split` має значення ``False``, будь-який " +"символ, не оголошений як символ слова, пробіл або лапка, буде повернуто як " +"односимвольний маркер. Якщо значення ``True``, :class:`~shlex.shlex` " +"розділятиме слова лише пробілами;" + +msgid "EOF is signaled with an empty string (``''``);" +msgstr "EOF сигналізується порожнім рядком (``''``);" + +msgid "It's not possible to parse empty strings, even if quoted." +msgstr "" +"Неможливо проаналізувати порожні рядки, навіть якщо вони взяті в лапки." + +msgid "" +"When operating in POSIX mode, :class:`~shlex.shlex` will try to obey to the " +"following parsing rules." +msgstr "" +"Під час роботи в режимі POSIX :class:`~shlex.shlex` намагатиметься " +"підкорятися наступним правилам аналізу." + +msgid "" +"Quotes are stripped out, and do not separate words (``\"Do\"Not\"Separate" +"\"`` is parsed as the single word ``DoNotSeparate``);" +msgstr "" +"Лапки видаляються й не розділяють слова (``\"Do\"Not\"Separate`` " +"розбирається як одне слово ``DoNotSeparate``);" + +msgid "" +"Non-quoted escape characters (e.g. ``'\\'``) preserve the literal value of " +"the next character that follows;" +msgstr "" +"Екран-символи без лапок (наприклад, ``'\\'`` зберігають літеральне значення " +"наступного наступного символу;" + +msgid "" +"Enclosing characters in quotes which are not part of :attr:`~shlex." +"escapedquotes` (e.g. ``\"'\"``) preserve the literal value of all characters " +"within the quotes;" +msgstr "" +"Взяття символів у лапки, які не є частиною :attr:`~shlex.escapedquotes` " +"(наприклад, ``\"'\"``), зберігає буквальне значення всіх символів у лапках;" + +msgid "" +"Enclosing characters in quotes which are part of :attr:`~shlex." +"escapedquotes` (e.g. ``'\"'``) preserves the literal value of all characters " +"within the quotes, with the exception of the characters mentioned in :attr:" +"`~shlex.escape`. The escape characters retain its special meaning only when " +"followed by the quote in use, or the escape character itself. Otherwise the " +"escape character will be considered a normal character." +msgstr "" +"Взяття в лапки символів, які є частиною :attr:`~shlex.escapedquotes` " +"(наприклад, ``'\"'``), зберігає буквальне значення всіх символів у лапках, " +"за винятком символів, згаданих у :attr:`~shlex.escape`. Екран-символи " +"зберігають своє особливе значення лише тоді, коли за ними йде " +"використовувана лапка або сам керуючий символ. Інакше керуючий символ " +"вважатиметься звичайним символом." + +msgid "EOF is signaled with a :const:`None` value;" +msgstr "EOF сигналізується значенням :const:`None`;" + +msgid "Quoted empty strings (``''``) are allowed." +msgstr "Допускаються порожні рядки в лапках (``''``)." + +msgid "Improved Compatibility with Shells" +msgstr "Покращена сумісність із оболонками" + +msgid "" +"The :class:`shlex` class provides compatibility with the parsing performed " +"by common Unix shells like ``bash``, ``dash``, and ``sh``. To take " +"advantage of this compatibility, specify the ``punctuation_chars`` argument " +"in the constructor. This defaults to ``False``, which preserves pre-3.6 " +"behaviour. However, if it is set to ``True``, then parsing of the characters " +"``();<>|&`` is changed: any run of these characters is returned as a single " +"token. While this is short of a full parser for shells (which would be out " +"of scope for the standard library, given the multiplicity of shells out " +"there), it does allow you to perform processing of command lines more easily " +"than you could otherwise. To illustrate, you can see the difference in the " +"following snippet:" +msgstr "" +"Клас :class:`shlex` забезпечує сумісність із синтаксичним аналізом, який " +"виконується звичайними оболонками Unix, такими як ``bash``, ``dash`` і " +"``sh``. Щоб скористатися перевагами цієї сумісності, вкажіть аргумент " +"``punctuation_chars`` у конструкторі. За замовчуванням встановлено " +"``False``, що зберігає поведінку до 3.6. Однак, якщо встановлено значення " +"``True``, тоді розбір символів ``(); <> |&`` змінено: будь-яке виконання цих " +"символів повертається як один маркер. Хоча це недостатньо повноцінного " +"синтаксичного аналізатора для оболонок (який був би поза межами стандартної " +"бібліотеки, враховуючи безліч оболонок), він дозволяє вам виконувати обробку " +"командних рядків легше, ніж ви могли б інакше. Для ілюстрації ви можете " +"побачити різницю в наступному фрагменті:" + +msgid "" +"Of course, tokens will be returned which are not valid for shells, and " +"you'll need to implement your own error checks on the returned tokens." +msgstr "" +"Звичайно, буде повернуто маркери, які не є дійсними для оболонок, і вам " +"потрібно буде реалізувати власні перевірки помилок на повернутих маркерах." + +msgid "" +"Instead of passing ``True`` as the value for the punctuation_chars " +"parameter, you can pass a string with specific characters, which will be " +"used to determine which characters constitute punctuation. For example::" +msgstr "" +"Замість передачі ``True`` як значення для параметра punctuation_chars, ви " +"можете передати рядок із певними символами, які використовуватимуться для " +"визначення того, які символи становлять пунктуацію. Наприклад::" + +msgid "" +"When ``punctuation_chars`` is specified, the :attr:`~shlex.wordchars` " +"attribute is augmented with the characters ``~-./*?=``. That is because " +"these characters can appear in file names (including wildcards) and command-" +"line arguments (e.g. ``--color=auto``). Hence::" +msgstr "" +"Якщо вказано ``punctuation_chars``, атрибут :attr:`~shlex.wordchars` " +"доповнюється символами ``~-./*?=``. Це пов’язано з тим, що ці символи можуть " +"з’являтися в назвах файлів (включаючи символи підстановки) та аргументах " +"командного рядка (наприклад, ``--color=auto``). Отже::" + +msgid "" +"However, to match the shell as closely as possible, it is recommended to " +"always use ``posix`` and :attr:`~shlex.whitespace_split` when using :attr:" +"`~shlex.punctuation_chars`, which will negate :attr:`~shlex.wordchars` " +"entirely." +msgstr "" +"Однак, щоб якомога точніше відповідати оболонці, рекомендується завжди " +"використовувати ``posix`` і :attr:`~shlex.whitespace_split` під час " +"використання :attr:`~shlex.punctuation_chars`, що скасовує :attr:`~shlex." +"wordchars` повністю." + +msgid "" +"For best effect, ``punctuation_chars`` should be set in conjunction with " +"``posix=True``. (Note that ``posix=False`` is the default for :class:`~shlex." +"shlex`.)" +msgstr "" +"Для найкращого ефекту ``punctuation_chars`` має бути встановлено в поєднанні " +"з ``posix=True``. (Зверніть увагу, що ``posix=False`` є типовим для :class:" +"`~shlex.shlex`.)" diff --git a/library/shutil.po b/library/shutil.po new file mode 100644 index 000000000..e265e493a --- /dev/null +++ b/library/shutil.po @@ -0,0 +1,1161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`shutil` --- High-level file operations" +msgstr ":mod:`shutil` --- Високорівневі операції з файлами" + +msgid "**Source code:** :source:`Lib/shutil.py`" +msgstr "**Вихідний код:** :source:`Lib/shutil.py`" + +msgid "" +"The :mod:`shutil` module offers a number of high-level operations on files " +"and collections of files. In particular, functions are provided which " +"support file copying and removal. For operations on individual files, see " +"also the :mod:`os` module." +msgstr "" +"Модуль :mod:`shutil` пропонує низку високорівневих операцій над файлами та " +"колекціями файлів. Зокрема, передбачені функції, які підтримують копіювання " +"та видалення файлів. Для операцій з окремими файлами дивіться також модуль :" +"mod:`os`." + +msgid "" +"Even the higher-level file copying functions (:func:`shutil.copy`, :func:" +"`shutil.copy2`) cannot copy all file metadata." +msgstr "" +"Навіть функції копіювання файлів вищого рівня (:func:`shutil.copy`, :func:" +"`shutil.copy2`) не можуть скопіювати всі метадані файлу." + +msgid "" +"On POSIX platforms, this means that file owner and group are lost as well as " +"ACLs. On Mac OS, the resource fork and other metadata are not used. This " +"means that resources will be lost and file type and creator codes will not " +"be correct. On Windows, file owners, ACLs and alternate data streams are not " +"copied." +msgstr "" +"На платформах POSIX це означає, що власник файлу та група втрачаються, а " +"також ACL. У Mac OS форк ресурсів та інші метадані не використовуються. Це " +"означає, що ресурси буде втрачено, а тип файлу та коди творця будуть " +"неправильними. У Windows власники файлів, ACL та альтернативні потоки даних " +"не копіюються." + +msgid "Directory and files operations" +msgstr "Операції з каталогами та файлами" + +msgid "" +"Copy the contents of the file-like object *fsrc* to the file-like object " +"*fdst*. The integer *length*, if given, is the buffer size. In particular, a " +"negative *length* value means to copy the data without looping over the " +"source data in chunks; by default the data is read in chunks to avoid " +"uncontrolled memory consumption. Note that if the current file position of " +"the *fsrc* object is not 0, only the contents from the current file position " +"to the end of the file will be copied." +msgstr "" +"Скопіюйте вміст файлоподібного об’єкта *fsrc* до файлоподібного об’єкта " +"*fdst*. Ціле число *length*, якщо вказано, є розміром буфера. Зокрема, " +"від’ємне значення *length* означає копіювання даних без циклічного перегляду " +"вихідних даних порціями; за замовчуванням дані зчитуються частинами, щоб " +"уникнути неконтрольованого споживання пам'яті. Зауважте, що якщо поточна " +"позиція файлу об’єкта *fsrc* не дорівнює 0, буде скопійовано лише вміст із " +"поточної позиції файлу до кінця файлу." + +msgid "" +"Copy the contents (no metadata) of the file named *src* to a file named " +"*dst* and return *dst* in the most efficient way possible. *src* and *dst* " +"are path-like objects or path names given as strings." +msgstr "" +"Скопіюйте вміст (без метаданих) файлу з назвою *src* у файл з назвою *dst* і " +"поверніть *dst* найефективнішим способом. *src* і *dst* є об’єктами, " +"подібними до шляху, або іменами шляхів, поданими у вигляді рядків." + +msgid "" +"*dst* must be the complete target file name; look at :func:`~shutil.copy` " +"for a copy that accepts a target directory path. If *src* and *dst* specify " +"the same file, :exc:`SameFileError` is raised." +msgstr "" +"*dst* має бути повним ім’ям цільового файлу; подивіться на :func:`~shutil." +"copy` копію, яка приймає шлях цільового каталогу. Якщо *src* і *dst* " +"вказують той самий файл, виникає :exc:`SameFileError`." + +msgid "" +"The destination location must be writable; otherwise, an :exc:`OSError` " +"exception will be raised. If *dst* already exists, it will be replaced. " +"Special files such as character or block devices and pipes cannot be copied " +"with this function." +msgstr "" +"Місце призначення має бути доступним для запису; інакше буде викликано " +"виняток :exc:`OSError`. Якщо *dst* вже існує, його буде замінено. За " +"допомогою цієї функції неможливо скопіювати спеціальні файли, такі як " +"символьні або блокові пристрої та канали." + +msgid "" +"If *follow_symlinks* is false and *src* is a symbolic link, a new symbolic " +"link will be created instead of copying the file *src* points to." +msgstr "" +"Якщо *follow_symlinks* має значення false, а *src* є символічним посиланням, " +"замість копіювання файлу, на який вказує *src*, буде створено нове " +"символічне посилання." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.copyfile`` with " +"arguments ``src``, ``dst``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copyfile`` з аргументами " +"``src``, ``dst``." + +msgid "" +":exc:`IOError` used to be raised instead of :exc:`OSError`. Added " +"*follow_symlinks* argument. Now returns *dst*." +msgstr "" +"Раніше викликалося :exc:`IOError` замість :exc:`OSError`. Додано аргумент " +"*follow_symlinks*. Тепер повертає *dst*." + +msgid "" +"Raise :exc:`SameFileError` instead of :exc:`Error`. Since the former is a " +"subclass of the latter, this change is backward compatible." +msgstr "" +"Викликати :exc:`SameFileError` замість :exc:`Error`. Оскільки перший є " +"підкласом останнього, ця зміна є зворотно сумісною." + +msgid "" +"Platform-specific fast-copy syscalls may be used internally in order to copy " +"the file more efficiently. See :ref:`shutil-platform-dependent-efficient-" +"copy-operations` section." +msgstr "" +"Спеціальні для платформи системні виклики швидкого копіювання можуть " +"використовуватися внутрішньо для більш ефективного копіювання файлу. " +"Перегляньте розділ :ref:`shutil-platform-dependent-efficient-copy-" +"operations`." + +msgid "" +"This exception is raised if source and destination in :func:`copyfile` are " +"the same file." +msgstr "" +"Цей виняток виникає, якщо джерело та призначення у :func:`copyfile` є одним " +"і тим самим файлом." + +msgid "" +"Copy the permission bits from *src* to *dst*. The file contents, owner, and " +"group are unaffected. *src* and *dst* are path-like objects or path names " +"given as strings. If *follow_symlinks* is false, and both *src* and *dst* " +"are symbolic links, :func:`copymode` will attempt to modify the mode of " +"*dst* itself (rather than the file it points to). This functionality is not " +"available on every platform; please see :func:`copystat` for more " +"information. If :func:`copymode` cannot modify symbolic links on the local " +"platform, and it is asked to do so, it will do nothing and return." +msgstr "" +"Скопіюйте біти дозволу з *src* в *dst*. Вміст файлу, власник і група " +"залишаються незмінними. *src* і *dst* є об’єктами, подібними до шляху, або " +"іменами шляхів, поданими у вигляді рядків. Якщо *follow_symlinks* має " +"значення false, а *src* і *dst* є символічними посиланнями, :func:`copymode` " +"намагатиметься змінити режим самого *dst* (а не файлу, на який він вказує). " +"Ця функція доступна не на всіх платформах; див. :func:`copystat` для " +"отримання додаткової інформації. Якщо :func:`copymode` не може змінити " +"символічні посилання на локальній платформі, і його попросять це зробити, " +"він нічого не зробить і повернеться." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.copymode`` with " +"arguments ``src``, ``dst``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copymode`` з аргументами " +"``src``, ``dst``." + +msgid "Added *follow_symlinks* argument." +msgstr "Додано аргумент *follow_symlinks*." + +msgid "" +"Copy the permission bits, last access time, last modification time, and " +"flags from *src* to *dst*. On Linux, :func:`copystat` also copies the " +"\"extended attributes\" where possible. The file contents, owner, and group " +"are unaffected. *src* and *dst* are path-like objects or path names given " +"as strings." +msgstr "" +"Скопіюйте біти дозволу, час останнього доступу, час останньої модифікації та " +"прапорці з *src* до *dst*. У Linux :func:`copystat` також копіює \"розширені " +"атрибути\", де це можливо. Вміст файлу, власник і група залишаються " +"незмінними. *src* і *dst* є об’єктами, подібними до шляху, або іменами " +"шляхів, поданими у вигляді рядків." + +msgid "" +"If *follow_symlinks* is false, and *src* and *dst* both refer to symbolic " +"links, :func:`copystat` will operate on the symbolic links themselves rather " +"than the files the symbolic links refer to—reading the information from the " +"*src* symbolic link, and writing the information to the *dst* symbolic link." +msgstr "" +"Якщо *follow_symlinks* має значення false, а *src* і *dst* посилаються на " +"символічні посилання, :func:`copystat` працюватиме з самими символьними " +"посиланнями, а не з файлами, на які посилаються символічні посилання, " +"зчитуючи інформацію з *символьне посилання src* і запис інформації до " +"символічного посилання *dst*." + +msgid "" +"Not all platforms provide the ability to examine and modify symbolic links. " +"Python itself can tell you what functionality is locally available." +msgstr "" +"Не всі платформи надають можливість перевіряти та змінювати символічні " +"посилання. Python сам може сказати вам, які функції доступні локально." + +msgid "" +"If ``os.chmod in os.supports_follow_symlinks`` is ``True``, :func:`copystat` " +"can modify the permission bits of a symbolic link." +msgstr "" +"Якщо ``os.chmod в os.supports_follow_symlinks`` має значення ``True``, :func:" +"`copystat` може змінити біти дозволу символічного посилання." + +msgid "" +"If ``os.utime in os.supports_follow_symlinks`` is ``True``, :func:`copystat` " +"can modify the last access and modification times of a symbolic link." +msgstr "" +"Якщо ``os.utime в os.supports_follow_symlinks`` має значення ``True``, :func:" +"`copystat` може змінити час останнього доступу та модифікації символічного " +"посилання." + +msgid "" +"If ``os.chflags in os.supports_follow_symlinks`` is ``True``, :func:" +"`copystat` can modify the flags of a symbolic link. (``os.chflags`` is not " +"available on all platforms.)" +msgstr "" +"Якщо ``os.chflags в os.supports_follow_symlinks`` має значення ``True``, :" +"func:`copystat` може змінювати прапорці символічного посилання. (``os." +"chflags`` доступний не на всіх платформах.)" + +msgid "" +"On platforms where some or all of this functionality is unavailable, when " +"asked to modify a symbolic link, :func:`copystat` will copy everything it " +"can. :func:`copystat` never returns failure." +msgstr "" +"На платформах, де деякі або всі ці функції недоступні, коли буде " +"запропоновано змінити символічне посилання, :func:`copystat` скопіює все, що " +"зможе. :func:`copystat` ніколи не повертає помилку." + +msgid "Please see :data:`os.supports_follow_symlinks` for more information." +msgstr "" +"Для отримання додаткової інформації перегляньте :data:`os." +"supports_follow_symlinks`." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.copystat`` with " +"arguments ``src``, ``dst``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copystat`` з аргументами " +"``src``, ``dst``." + +msgid "" +"Added *follow_symlinks* argument and support for Linux extended attributes." +msgstr "" +"Додано аргумент *follow_symlinks* і підтримку розширених атрибутів Linux." + +msgid "" +"Copies the file *src* to the file or directory *dst*. *src* and *dst* " +"should be :term:`path-like objects ` or strings. If *dst* " +"specifies a directory, the file will be copied into *dst* using the base " +"filename from *src*. If *dst* specifies a file that already exists, it will " +"be replaced. Returns the path to the newly created file." +msgstr "" +"Копіює файл *src* у файл або каталог *dst*. *src* і *dst* повинні бути :term:" +"`шляховими об’єктами ` або рядками. Якщо *dst* визначає " +"каталог, файл буде скопійовано в *dst* з використанням базового імені файлу " +"з *src*. Якщо *dst* вказує на файл, який уже існує, його буде замінено. " +"Повертає шлях до щойно створеного файлу." + +msgid "" +"If *follow_symlinks* is false, and *src* is a symbolic link, *dst* will be " +"created as a symbolic link. If *follow_symlinks* is true and *src* is a " +"symbolic link, *dst* will be a copy of the file *src* refers to." +msgstr "" +"Якщо *follow_symlinks* має значення false, а *src* є символічним посиланням, " +"*dst* буде створено як символічне посилання. Якщо *follow_symlinks* має " +"значення true і *src* є символічним посиланням, *dst* буде копією файлу, на " +"який посилається *src*." + +msgid "" +":func:`~shutil.copy` copies the file data and the file's permission mode " +"(see :func:`os.chmod`). Other metadata, like the file's creation and " +"modification times, is not preserved. To preserve all file metadata from the " +"original, use :func:`~shutil.copy2` instead." +msgstr "" +":func:`~shutil.copy` копіює дані файлу та режим дозволу файлу (див. :func:" +"`os.chmod`). Інші метадані, наприклад час створення та модифікації файлу, не " +"зберігаються. Щоб зберегти всі метадані файлу з оригіналу, замість цього " +"використовуйте :func:`~shutil.copy2`." + +msgid "" +"Added *follow_symlinks* argument. Now returns path to the newly created file." +msgstr "" +"Додано аргумент *follow_symlinks*. Тепер повертає шлях до щойно створеного " +"файлу." + +msgid "" +"Identical to :func:`~shutil.copy` except that :func:`copy2` also attempts to " +"preserve file metadata." +msgstr "" +"Ідентичний :func:`~shutil.copy` за винятком того, що :func:`copy2` також " +"намагається зберегти метадані файлу." + +msgid "" +"When *follow_symlinks* is false, and *src* is a symbolic link, :func:`copy2` " +"attempts to copy all metadata from the *src* symbolic link to the newly " +"created *dst* symbolic link. However, this functionality is not available on " +"all platforms. On platforms where some or all of this functionality is " +"unavailable, :func:`copy2` will preserve all the metadata it can; :func:" +"`copy2` never raises an exception because it cannot preserve file metadata." +msgstr "" + +msgid "" +":func:`copy2` uses :func:`copystat` to copy the file metadata. Please see :" +"func:`copystat` for more information about platform support for modifying " +"symbolic link metadata." +msgstr "" +":func:`copy2` використовує :func:`copystat` для копіювання метаданих файлу. " +"Перегляньте :func:`copystat` для отримання додаткової інформації про " +"підтримку платформи для зміни метаданих символічних посилань." + +msgid "" +"Added *follow_symlinks* argument, try to copy extended file system " +"attributes too (currently Linux only). Now returns path to the newly created " +"file." +msgstr "" +"Додано аргумент *follow_symlinks*, також спробуйте скопіювати розширені " +"атрибути файлової системи (наразі лише для Linux). Тепер повертає шлях до " +"щойно створеного файлу." + +msgid "" +"This factory function creates a function that can be used as a callable for :" +"func:`copytree`\\'s *ignore* argument, ignoring files and directories that " +"match one of the glob-style *patterns* provided. See the example below." +msgstr "" +"Ця фабрична функція створює функцію, яку можна використовувати як виклик для " +"аргументу *ignore* :func:`copytree`\\, ігноруючи файли та каталоги, які " +"відповідають одному з наданих *шаблонів* стилю glob. Дивіться приклад нижче." + +msgid "" +"Recursively copy an entire directory tree rooted at *src* to a directory " +"named *dst* and return the destination directory. All intermediate " +"directories needed to contain *dst* will also be created by default." +msgstr "" +"Рекурсивно скопіюйте все дерево каталогів із коренем *src* до каталогу з " +"назвою *dst* і поверніть каталог призначення. Усі проміжні каталоги, які " +"повинні містити *dst*, також будуть створені за замовчуванням." + +msgid "" +"Permissions and times of directories are copied with :func:`copystat`, " +"individual files are copied using :func:`~shutil.copy2`." +msgstr "" +"Дозволи та час каталогів копіюються за допомогою :func:`copystat`, окремі " +"файли копіюються за допомогою :func:`~shutil.copy2`." + +msgid "" +"If *symlinks* is true, symbolic links in the source tree are represented as " +"symbolic links in the new tree and the metadata of the original links will " +"be copied as far as the platform allows; if false or omitted, the contents " +"and metadata of the linked files are copied to the new tree." +msgstr "" +"Якщо *symlinks* має значення true, символічні посилання у вихідному дереві " +"представлені як символічні посилання в новому дереві, а метадані " +"оригінальних посилань буде скопійовано, наскільки це дозволяє платформа; " +"якщо false або пропущено, вміст і метадані пов’язаних файлів копіюються до " +"нового дерева." + +msgid "" +"When *symlinks* is false, if the file pointed by the symlink doesn't exist, " +"an exception will be added in the list of errors raised in an :exc:`Error` " +"exception at the end of the copy process. You can set the optional " +"*ignore_dangling_symlinks* flag to true if you want to silence this " +"exception. Notice that this option has no effect on platforms that don't " +"support :func:`os.symlink`." +msgstr "" +"Якщо *symlinks* має значення false, якщо файл, на який вказує символічне " +"посилання, не існує, виняток буде додано до списку помилок, викликаних " +"винятком :exc:`Error` наприкінці процесу копіювання. Ви можете встановити " +"необов’язковий прапорець *ignore_dangling_symlinks* на true, якщо ви хочете " +"вимкнути цей виняток. Зауважте, що цей параметр не діє на платформах, які не " +"підтримують :func:`os.symlink`." + +msgid "" +"If *ignore* is given, it must be a callable that will receive as its " +"arguments the directory being visited by :func:`copytree`, and a list of its " +"contents, as returned by :func:`os.listdir`. Since :func:`copytree` is " +"called recursively, the *ignore* callable will be called once for each " +"directory that is copied. The callable must return a sequence of directory " +"and file names relative to the current directory (i.e. a subset of the items " +"in its second argument); these names will then be ignored in the copy " +"process. :func:`ignore_patterns` can be used to create such a callable that " +"ignores names based on glob-style patterns." +msgstr "" +"Якщо задано *ignore*, це має бути виклик, який отримає як аргументи каталог, " +"який відвідує :func:`copytree`, і список його вмісту, який повертає :func:" +"`os.listdir`. Оскільки :func:`copytree` викликається рекурсивно, *ignore* " +"викликається один раз для кожного каталогу, який копіюється. Викликаний має " +"повертати послідовність імен каталогу та файлу відносно поточного каталогу " +"(тобто підмножину елементів у другому аргументі); ці імена будуть " +"проігноровані в процесі копіювання. :func:`ignore_patterns` можна " +"використати для створення такого виклику, який ігнорує імена на основі " +"шаблонів у стилі glob." + +msgid "" +"If exception(s) occur, an :exc:`Error` is raised with a list of reasons." +msgstr "" +"Якщо трапляються винятки, виникає повідомлення :exc:`Error` зі списком " +"причин." + +msgid "" +"If *copy_function* is given, it must be a callable that will be used to copy " +"each file. It will be called with the source path and the destination path " +"as arguments. By default, :func:`~shutil.copy2` is used, but any function " +"that supports the same signature (like :func:`~shutil.copy`) can be used." +msgstr "" +"Якщо задано *copy_function*, це має бути виклик, який використовуватиметься " +"для копіювання кожного файлу. Він буде викликаний із вихідним шляхом і " +"цільовим шляхом як аргументами. За замовчуванням використовується :func:" +"`~shutil.copy2`, але можна використовувати будь-яку функцію, яка підтримує " +"такий самий підпис (наприклад, :func:`~shutil.copy`)." + +msgid "" +"If *dirs_exist_ok* is false (the default) and *dst* already exists, a :exc:" +"`FileExistsError` is raised. If *dirs_exist_ok* is true, the copying " +"operation will continue if it encounters existing directories, and files " +"within the *dst* tree will be overwritten by corresponding files from the " +"*src* tree." +msgstr "" +"Якщо *dirs_exist_ok* має значення false (за замовчуванням), а *dst* уже " +"існує, виникає :exc:`FileExistsError`. Якщо *dirs_exist_ok* має значення " +"true, операція копіювання продовжуватиметься, якщо буде виявлено існуючі " +"каталоги, а файли в дереві *dst* будуть перезаписані відповідними файлами з " +"дерева *src*." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.copytree`` with " +"arguments ``src``, ``dst``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.copytree`` з аргументами " +"``src``, ``dst``." + +msgid "Copy metadata when *symlinks* is false. Now returns *dst*." +msgstr "" +"Копіювати метадані, якщо *symlinks* має значення false. Тепер повертає *dst*." + +msgid "" +"Added the *copy_function* argument to be able to provide a custom copy " +"function. Added the *ignore_dangling_symlinks* argument to silence dangling " +"symlinks errors when *symlinks* is false." +msgstr "" +"Додано аргумент *copy_function*, щоб мати можливість надати спеціальну " +"функцію копіювання. Додано аргумент *ignore_dangling_symlinks*, щоб вимкнути " +"помилки висячих символьних посилань, коли *symlinks* має значення false." + +msgid "The *dirs_exist_ok* parameter." +msgstr "Параметр *dirs_exist_ok*." + +msgid "" +"Delete an entire directory tree; *path* must point to a directory (but not a " +"symbolic link to a directory). If *ignore_errors* is true, errors resulting " +"from failed removals will be ignored; if false or omitted, such errors are " +"handled by calling a handler specified by *onerror* or, if that is omitted, " +"they raise an exception." +msgstr "" +"Видалити все дерево каталогів; *шлях* має вказувати на каталог (але не " +"символічне посилання на каталог). Якщо *ignore_errors* має значення true, " +"помилки, що виникли внаслідок невдалого видалення, ігноруватимуться; якщо " +"false або пропущено, такі помилки обробляються шляхом виклику обробника, " +"визначеного *onerror* або, якщо це опущено, вони викликають виняток." + +msgid "" +"This function can support :ref:`paths relative to directory descriptors " +"`." +msgstr "" +"Ця функція може підтримувати :ref:`шляхи відносно дескрипторів каталогу " +"`." + +msgid "" +"On platforms that support the necessary fd-based functions a symlink attack " +"resistant version of :func:`rmtree` is used by default. On other platforms, " +"the :func:`rmtree` implementation is susceptible to a symlink attack: given " +"proper timing and circumstances, attackers can manipulate symlinks on the " +"filesystem to delete files they wouldn't be able to access otherwise. " +"Applications can use the :data:`rmtree.avoids_symlink_attacks` function " +"attribute to determine which case applies." +msgstr "" +"На платформах, які підтримують необхідні функції на основі fd, за " +"замовчуванням використовується стійка до атак символічних посилань версія :" +"func:`rmtree`. На інших платформах реалізація :func:`rmtree` чутлива до " +"атаки через символічні посилання: за належного часу та обставин зловмисники " +"можуть маніпулювати символічними посиланнями у файловій системі, щоб " +"видалити файли, до яких вони не мали б доступу інакше. Програми можуть " +"використовувати атрибут функції :data:`rmtree.avoids_symlink_attacks`, щоб " +"визначити, який регістр застосовний." + +msgid "" +"If *onerror* is provided, it must be a callable that accepts three " +"parameters: *function*, *path*, and *excinfo*." +msgstr "" +"Якщо вказано *onerror*, це має бути виклик, який приймає три параметри: " +"*function*, *path* і *excinfo*." + +msgid "" +"The first parameter, *function*, is the function which raised the exception; " +"it depends on the platform and implementation. The second parameter, " +"*path*, will be the path name passed to *function*. The third parameter, " +"*excinfo*, will be the exception information returned by :func:`sys." +"exc_info`. Exceptions raised by *onerror* will not be caught." +msgstr "" +"Перший параметр, *function*, це функція, яка викликала виняток; це залежить " +"від платформи та реалізації. Другий параметр, *шлях*, буде іменем шляху, " +"переданим до *функції*. Третій параметр, *excinfo*, буде інформацією про " +"винятки, яку повертає :func:`sys.exc_info`. Винятки, викликані *onerror*, не " +"будуть перехоплені." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.rmtree`` with arguments " +"``path``, ``dir_fd``." +msgstr "" + +msgid "" +"Added a symlink attack resistant version that is used automatically if " +"platform supports fd-based functions." +msgstr "" +"Додано версію, стійку до атак символічних посилань, яка використовується " +"автоматично, якщо платформа підтримує функції на основі fd." + +msgid "" +"On Windows, will no longer delete the contents of a directory junction " +"before removing the junction." +msgstr "" +"У Windows більше не буде видаляти вміст з’єднання каталогу перед видаленням " +"з’єднання." + +msgid "The *dir_fd* parameter." +msgstr "Параметр *dir_fd*." + +msgid "" +"Indicates whether the current platform and implementation provides a symlink " +"attack resistant version of :func:`rmtree`. Currently this is only true for " +"platforms supporting fd-based directory access functions." +msgstr "" +"Вказує, чи поточна платформа та реалізація забезпечують стійку до атак " +"символічних посилань версію :func:`rmtree`. Наразі це стосується лише " +"платформ, які підтримують функції доступу до каталогу на основі fd." + +msgid "" +"Recursively move a file or directory (*src*) to another location (*dst*) and " +"return the destination." +msgstr "" +"Рекурсивно перемістіть файл або каталог (*src*) в інше місце (*dst*) і " +"поверніть місце призначення." + +msgid "" +"If the destination is an existing directory, then *src* is moved inside that " +"directory. If the destination already exists but is not a directory, it may " +"be overwritten depending on :func:`os.rename` semantics." +msgstr "" +"Якщо призначенням є існуючий каталог, тоді *src* переміщується всередину " +"цього каталогу. Якщо місце призначення вже існує, але не є каталогом, воно " +"може бути перезаписано залежно від семантики :func:`os.rename`." + +msgid "" +"If the destination is on the current filesystem, then :func:`os.rename` is " +"used. Otherwise, *src* is copied to *dst* using *copy_function* and then " +"removed. In case of symlinks, a new symlink pointing to the target of *src* " +"will be created in or as *dst* and *src* will be removed." +msgstr "" +"Якщо місцем призначення є поточна файлова система, тоді використовується :" +"func:`os.rename`. В іншому випадку *src* копіюється в *dst* за допомогою " +"*copy_function*, а потім видаляється. У випадку символічних посилань нове " +"символічне посилання, що вказує на ціль *src*, буде створено в або як *dst* " +"і *src* буде видалено." + +msgid "" +"If *copy_function* is given, it must be a callable that takes two arguments " +"*src* and *dst*, and will be used to copy *src* to *dst* if :func:`os." +"rename` cannot be used. If the source is a directory, :func:`copytree` is " +"called, passing it the :func:`copy_function`. The default *copy_function* " +"is :func:`copy2`. Using :func:`~shutil.copy` as the *copy_function* allows " +"the move to succeed when it is not possible to also copy the metadata, at " +"the expense of not copying any of the metadata." +msgstr "" +"Якщо надано *copy_function*, це має бути виклик, який приймає два аргументи " +"*src* і *dst*, і використовуватиметься для копіювання *src* до *dst*, якщо :" +"func:`os.rename` не можна використовувати. Якщо джерелом є каталог, " +"викликається :func:`copytree`, передаючи йому :func:`copy_function`. Типовою " +"*copy_function* є :func:`copy2`. Використання :func:`~shutil.copy` як " +"*copy_function* дозволяє переміщенню бути успішним, коли неможливо також " +"скопіювати метадані, за рахунок відсутності копіювання будь-яких метаданих." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.move`` with arguments " +"``src``, ``dst``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.move`` з аргументами " +"``src``, ``dst``." + +msgid "" +"Added explicit symlink handling for foreign filesystems, thus adapting it to " +"the behavior of GNU's :program:`mv`. Now returns *dst*." +msgstr "" +"Додано явну обробку символічних посилань для іноземних файлових систем, " +"таким чином адаптуючи її до поведінки GNU :program:`mv`. Тепер повертає " +"*dst*." + +msgid "Added the *copy_function* keyword argument." +msgstr "Додано аргумент ключового слова *copy_function*." + +msgid "Accepts a :term:`path-like object` for both *src* and *dst*." +msgstr "Приймає :term:`path-like object` для *src* і *dst*." + +msgid "" +"Return disk usage statistics about the given path as a :term:`named tuple` " +"with the attributes *total*, *used* and *free*, which are the amount of " +"total, used and free space, in bytes. *path* may be a file or a directory." +msgstr "" +"Повертає статистику використання диска щодо заданого шляху як :term:`named " +"tuple` з атрибутами *total*, *used* і *free*, які є обсягом загального, " +"використаного та вільного простору в байтах. *шлях* може бути файлом або " +"каталогом." + +msgid "On Windows, *path* can now be a file or directory." +msgstr "У Windows *шлях* тепер може бути файлом або каталогом." + +msgid ":ref:`Availability `: Unix, Windows." +msgstr ":ref:`Наявність `: Unix, Windows." + +msgid "Change owner *user* and/or *group* of the given *path*." +msgstr "Змінити власника *користувача* та/або *групу* вказаного *шляху*." + +msgid "" +"*user* can be a system user name or a uid; the same applies to *group*. At " +"least one argument is required." +msgstr "" +"*user* може бути системним іменем користувача або uid; те саме стосується " +"*групи*. Потрібен принаймні один аргумент." + +msgid "See also :func:`os.chown`, the underlying function." +msgstr "Дивіться також :func:`os.chown`, базову функцію." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.chown`` with arguments " +"``path``, ``user``, ``group``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.chown`` з аргументами " +"``path``, ``user``, ``group``." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Return the path to an executable which would be run if the given *cmd* was " +"called. If no *cmd* would be called, return ``None``." +msgstr "" +"Повертає шлях до виконуваного файлу, який буде запущено, якщо буде викликано " +"заданий *cmd*. Якщо *cmd* не буде викликано, поверніть ``None``." + +msgid "" +"*mode* is a permission mask passed to :func:`os.access`, by default " +"determining if the file exists and executable." +msgstr "" +"*mode* — це маска дозволу, яка передається в :func:`os.access`, за " +"замовчуванням визначає, чи файл існує та є виконуваним." + +msgid "" +"When no *path* is specified, the results of :func:`os.environ` are used, " +"returning either the \"PATH\" value or a fallback of :attr:`os.defpath`." +msgstr "" +"Якщо *path* не вказано, використовуються результати :func:`os.environ`, " +"повертаючи або значення \"PATH\", або резервний варіант :attr:`os.defpath`." + +msgid "" +"On Windows, the current directory is always prepended to the *path* whether " +"or not you use the default or provide your own, which is the behavior the " +"command shell uses when finding executables. Additionally, when finding the " +"*cmd* in the *path*, the ``PATHEXT`` environment variable is checked. For " +"example, if you call ``shutil.which(\"python\")``, :func:`which` will search " +"``PATHEXT`` to know that it should look for ``python.exe`` within the *path* " +"directories. For example, on Windows::" +msgstr "" +"У Windows поточний каталог завжди додається до *шляху* незалежно від того, " +"використовуєте ви за замовчуванням чи вказуєте свій власний, що є поведінкою " +"командної оболонки під час пошуку виконуваних файлів. Крім того, при " +"знаходженні *cmd* у *шляху* перевіряється змінна середовища ``PATHEXT``. " +"Наприклад, якщо ви викликаєте ``shutil.which(\"python\")``, :func:`which` " +"шукатиме ``PATHEXT``, щоб знати, що він повинен шукати ``python.exe`` у " +"*шляху* довідники. Наприклад, у Windows::" + +msgid "" +"The :class:`bytes` type is now accepted. If *cmd* type is :class:`bytes`, " +"the result type is also :class:`bytes`." +msgstr "" +"Тип :class:`bytes` тепер прийнятний. Якщо тип *cmd* :class:`bytes`, тип " +"результату також :class:`bytes`." + +msgid "" +"This exception collects exceptions that are raised during a multi-file " +"operation. For :func:`copytree`, the exception argument is a list of 3-" +"tuples (*srcname*, *dstname*, *exception*)." +msgstr "" +"Цей виняток збирає винятки, які виникають під час операції з кількома " +"файлами. Для :func:`copytree` аргумент винятку — це список із 3-х кортежів " +"(*srcname*, *dstname*, *exception*)." + +msgid "Platform-dependent efficient copy operations" +msgstr "Залежні від платформи ефективні операції копіювання" + +msgid "" +"Starting from Python 3.8, all functions involving a file copy (:func:" +"`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, and :func:" +"`move`) may use platform-specific \"fast-copy\" syscalls in order to copy " +"the file more efficiently (see :issue:`33671`). \"fast-copy\" means that the " +"copying operation occurs within the kernel, avoiding the use of userspace " +"buffers in Python as in \"``outfd.write(infd.read())``\"." +msgstr "" +"Починаючи з Python 3.8, усі функції, пов’язані з копіюванням файлу (:func:" +"`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree` та :func:" +"`move` ) може використовувати специфічні для платформи системні виклики " +"\"швидкого копіювання\" для більш ефективного копіювання файлу (див. :issue:" +"`33671`). \"швидке копіювання\" означає, що операція копіювання відбувається " +"всередині ядра, уникаючи використання буферів простору користувача в Python, " +"як у \"``outfd.write(infd.read())``\"." + +msgid "On macOS `fcopyfile`_ is used to copy the file content (not metadata)." +msgstr "" +"У macOS `fcopyfile`_ використовується для копіювання вмісту файлу (а не " +"метаданих)." + +msgid "On Linux :func:`os.sendfile` is used." +msgstr "У Linux використовується :func:`os.sendfile`." + +msgid "" +"On Windows :func:`shutil.copyfile` uses a bigger default buffer size (1 MiB " +"instead of 64 KiB) and a :func:`memoryview`-based variant of :func:`shutil." +"copyfileobj` is used." +msgstr "" +"У Windows :func:`shutil.copyfile` використовує більший розмір буфера за " +"замовчуванням (1 МіБ замість 64 КіБ) і використовується варіант :func:" +"`memoryview` на основі :func:`shutil.copyfileobj`." + +msgid "" +"If the fast-copy operation fails and no data was written in the destination " +"file then shutil will silently fallback on using less efficient :func:" +"`copyfileobj` function internally." +msgstr "" +"Якщо операція швидкого копіювання зазнала невдачі і дані не були записані в " +"цільовий файл, програма shutil мовчки повернеться до використання менш " +"ефективної внутрішньої функції :func:`copyfileobj`." + +msgid "copytree example" +msgstr "приклад копіювання" + +msgid "An example that uses the :func:`ignore_patterns` helper::" +msgstr "Приклад, який використовує помічник :func:`ignore_patterns`::" + +msgid "" +"This will copy everything except ``.pyc`` files and files or directories " +"whose name starts with ``tmp``." +msgstr "" +"Буде скопійовано все, крім файлів ``.pyc`` і файлів або каталогів, назва " +"яких починається з ``tmp``." + +msgid "Another example that uses the *ignore* argument to add a logging call::" +msgstr "" +"Інший приклад, який використовує аргумент *ignore* для додавання виклику " +"журналювання::" + +msgid "rmtree example" +msgstr "приклад rmtree" + +msgid "" +"This example shows how to remove a directory tree on Windows where some of " +"the files have their read-only bit set. It uses the onerror callback to " +"clear the readonly bit and reattempt the remove. Any subsequent failure will " +"propagate. ::" +msgstr "" +"У цьому прикладі показано, як видалити дерево каталогів у Windows, де для " +"деяких файлів встановлено біт лише для читання. Він використовує зворотний " +"виклик onerror, щоб очистити біт readonly і повторити спробу видалення. Будь-" +"який наступний збій поширюватиметься. ::" + +msgid "Archiving operations" +msgstr "Архівні операції" + +msgid "Added support for the *xztar* format." +msgstr "Додано підтримку формату *xztar*." + +msgid "" +"High-level utilities to create and read compressed and archived files are " +"also provided. They rely on the :mod:`zipfile` and :mod:`tarfile` modules." +msgstr "" +"Також надаються утиліти високого рівня для створення та читання стиснених і " +"архівованих файлів. Вони покладаються на модулі :mod:`zipfile` і :mod:" +"`tarfile`." + +msgid "Create an archive file (such as zip or tar) and return its name." +msgstr "" +"Створіть архівний файл (наприклад, zip або tar) і поверніть його назву." + +msgid "" +"*base_name* is the name of the file to create, including the path, minus any " +"format-specific extension. *format* is the archive format: one of \"zip" +"\" (if the :mod:`zlib` module is available), \"tar\", \"gztar\" (if the :mod:" +"`zlib` module is available), \"bztar\" (if the :mod:`bz2` module is " +"available), or \"xztar\" (if the :mod:`lzma` module is available)." +msgstr "" +"*базова_ім’я* — це ім’я файлу, який потрібно створити, включаючи шлях, без " +"будь-якого розширення, що залежить від формату. *format* — це формат архіву: " +"\"zip\" (якщо доступний модуль :mod:`zlib`), \"tar\", \"gztar\" (якщо " +"доступний модуль :mod:`zlib`), \"bztar \" (якщо доступний модуль :mod:`bz2`) " +"або \"xztar\" (якщо доступний модуль :mod:`lzma`)." + +msgid "" +"*root_dir* is a directory that will be the root directory of the archive, " +"all paths in the archive will be relative to it; for example, we typically " +"chdir into *root_dir* before creating the archive." +msgstr "" +"*root_dir* – це каталог, який буде кореневим каталогом архіву, усі шляхи в " +"архіві будуть відносними до нього; наприклад, ми зазвичай chdir в *root_dir* " +"перед створенням архіву." + +msgid "" +"*base_dir* is the directory where we start archiving from; i.e. *base_dir* " +"will be the common prefix of all files and directories in the archive. " +"*base_dir* must be given relative to *root_dir*. See :ref:`shutil-archiving-" +"example-with-basedir` for how to use *base_dir* and *root_dir* together." +msgstr "" +"*base_dir* - це каталог, з якого ми починаємо архівування; тобто *base_dir* " +"буде загальним префіксом для всіх файлів і каталогів в архіві. *base_dir* " +"має бути задано відносно *root_dir*. Перегляньте :ref:`shutil-archiving-" +"example-with-basedir`, щоб дізнатися, як використовувати *base_dir* і " +"*root_dir* разом." + +msgid "*root_dir* and *base_dir* both default to the current directory." +msgstr "*root_dir* і *base_dir* за замовчуванням є поточним каталогом." + +msgid "" +"If *dry_run* is true, no archive is created, but the operations that would " +"be executed are logged to *logger*." +msgstr "" +"Якщо *dry_run* має значення true, архів не створюється, але операції, які " +"будуть виконані, реєструються в *logger*." + +msgid "" +"*owner* and *group* are used when creating a tar archive. By default, uses " +"the current owner and group." +msgstr "" +"*власник* і *група* використовуються під час створення архіву tar. За " +"замовчуванням використовуються поточний власник і група." + +msgid "" +"*logger* must be an object compatible with :pep:`282`, usually an instance " +"of :class:`logging.Logger`." +msgstr "" +"*logger* має бути об’єктом, сумісним з :pep:`282`, зазвичай екземпляром :" +"class:`logging.Logger`." + +msgid "The *verbose* argument is unused and deprecated." +msgstr "Аргумент *verbose* не використовується та не підтримується." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.make_archive`` with " +"arguments ``base_name``, ``format``, ``root_dir``, ``base_dir``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.make_archive`` з " +"аргументами ``base_name``, ``format``, ``root_dir``, ``base_dir``." + +msgid "" +"This function is not thread-safe when custom archivers registered with :func:" +"`register_archive_format` are used. In this case it temporarily changes the " +"current working directory of the process to perform archiving." +msgstr "" + +msgid "" +"The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " +"format for archives created with ``format=\"tar\"``." +msgstr "" +"Сучасний формат pax (POSIX.1-2001) тепер використовується замість " +"застарілого формату GNU для архівів, створених за допомогою ``format=\"tar" +"\"``." + +msgid "" +"This function is now made thread-safe during creation of standard ``.zip`` " +"and tar archives." +msgstr "" + +msgid "" +"Return a list of supported formats for archiving. Each element of the " +"returned sequence is a tuple ``(name, description)``." +msgstr "" +"Повернути список підтримуваних форматів для архівування. Кожен елемент " +"повернутої послідовності є кортежем ``(назва, опис)``." + +msgid "By default :mod:`shutil` provides these formats:" +msgstr "Типово :mod:`shutil` надає такі формати:" + +msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." +msgstr "*zip*: ZIP-файл (якщо доступний модуль :mod:`zlib`)." + +msgid "" +"*tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives." +msgstr "" +"*tar*: Нестиснутий файл tar. Використовує формат POSIX.1-2001 pax для нових " +"архівів." + +msgid "*gztar*: gzip'ed tar-file (if the :mod:`zlib` module is available)." +msgstr "*gztar*: заархівований tar-файл (якщо доступний модуль :mod:`zlib`)." + +msgid "*bztar*: bzip2'ed tar-file (if the :mod:`bz2` module is available)." +msgstr "*bztar*: bzip2-файл tar (якщо доступний модуль :mod:`bz2`)." + +msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." +msgstr "*xztar*: xz'ed tar-файл (якщо доступний модуль :mod:`lzma`)." + +msgid "" +"You can register new formats or provide your own archiver for any existing " +"formats, by using :func:`register_archive_format`." +msgstr "" +"Ви можете зареєструвати нові формати або надати власний архіватор для будь-" +"яких існуючих форматів, використовуючи :func:`register_archive_format`." + +msgid "Register an archiver for the format *name*." +msgstr "Зареєструйте архіватор для формату *назва*." + +msgid "" +"*function* is the callable that will be used to unpack archives. The " +"callable will receive the *base_name* of the file to create, followed by the " +"*base_dir* (which defaults to :data:`os.curdir`) to start archiving from. " +"Further arguments are passed as keyword arguments: *owner*, *group*, " +"*dry_run* and *logger* (as passed in :func:`make_archive`)." +msgstr "" +"*функція* — це виклик, який використовуватиметься для розпакування архівів. " +"Викликаний отримає *base_name* файлу для створення, а потім *base_dir* (який " +"за замовчуванням :data:`os.curdir`), щоб розпочати архівування. Подальші " +"аргументи передаються як ключові аргументи: *owner*, *group*, *dry_run* і " +"*logger* (як передано в :func:`make_archive`)." + +msgid "" +"If given, *extra_args* is a sequence of ``(name, value)`` pairs that will be " +"used as extra keywords arguments when the archiver callable is used." +msgstr "" +"Якщо задано, *extra_args* — це послідовність пар ``(ім’я, значення)``, які " +"використовуватимуться як додаткові аргументи ключових слів, коли " +"використовується виклик архіватора." + +msgid "" +"*description* is used by :func:`get_archive_formats` which returns the list " +"of archivers. Defaults to an empty string." +msgstr "" +"*опис* використовується :func:`get_archive_formats`, який повертає список " +"архіваторів. За замовчуванням порожній рядок." + +msgid "Remove the archive format *name* from the list of supported formats." +msgstr "Видаліть формат архіву *назва* зі списку підтримуваних форматів." + +msgid "Unpack an archive. *filename* is the full path of the archive." +msgstr "Розпакуйте архів. *ім’я файлу* — це повний шлях до архіву." + +msgid "" +"*extract_dir* is the name of the target directory where the archive is " +"unpacked. If not provided, the current working directory is used." +msgstr "" +"*extract_dir* — назва цільового каталогу, куди розпаковується архів. Якщо не " +"вказано, використовується поточний робочий каталог." + +msgid "" +"*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", \"bztar" +"\", or \"xztar\". Or any other format registered with :func:" +"`register_unpack_format`. If not provided, :func:`unpack_archive` will use " +"the archive file name extension and see if an unpacker was registered for " +"that extension. In case none is found, a :exc:`ValueError` is raised." +msgstr "" +"*format* — це формат архіву: \"zip\", \"tar\", \"gztar\", \"bztar\" або " +"\"xztar\". Або будь-який інший формат, зареєстрований у :func:" +"`register_unpack_format`. Якщо не вказано, :func:`unpack_archive` " +"використовуватиме розширення назви архівного файлу та перевірятиме, чи було " +"зареєстровано розпаковувач для цього розширення. Якщо нічого не знайдено, " +"виникає :exc:`ValueError`." + +msgid "" +"Raises an :ref:`auditing event ` ``shutil.unpack_archive`` with " +"arguments ``filename``, ``extract_dir``, ``format``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``shutil.unpack_archive`` з " +"аргументами ``filename``, ``extract_dir``, ``format``." + +msgid "" +"Never extract archives from untrusted sources without prior inspection. It " +"is possible that files are created outside of the path specified in the " +"*extract_dir* argument, e.g. members that have absolute filenames starting " +"with \"/\" or filenames with two dots \"..\"." +msgstr "" +"Ніколи не витягуйте архіви з ненадійних джерел без попередньої перевірки. " +"Можливо, що файли створюються поза шляхом, указаним у аргументі " +"*extract_dir*, наприклад. члени, які мають абсолютні імена файлів, що " +"починаються з \"/\" або імена файлів із двома крапками \"..\"." + +msgid "Accepts a :term:`path-like object` for *filename* and *extract_dir*." +msgstr "Приймає :term:`path-like object` для *filename* і *extract_dir*." + +msgid "" +"Registers an unpack format. *name* is the name of the format and " +"*extensions* is a list of extensions corresponding to the format, like ``." +"zip`` for Zip files." +msgstr "" +"Реєструє формат розпакування. *ім’я* — це назва формату, а *розширення* — це " +"список розширень, що відповідають формату, наприклад ``.zip`` для файлів Zip." + +msgid "" +"*function* is the callable that will be used to unpack archives. The " +"callable will receive the path of the archive, followed by the directory the " +"archive must be extracted to." +msgstr "" +"*функція* — це виклик, який використовуватиметься для розпакування архівів. " +"Викликаний отримає шлях до архіву, а потім каталог, куди потрібно " +"розпакувати архів." + +msgid "" +"When provided, *extra_args* is a sequence of ``(name, value)`` tuples that " +"will be passed as keywords arguments to the callable." +msgstr "" +"Якщо вказано, *extra_args* — це послідовність кортежів ``(ім’я, значення)``, " +"які будуть передані як аргументи ключових слів до викликаного." + +msgid "" +"*description* can be provided to describe the format, and will be returned " +"by the :func:`get_unpack_formats` function." +msgstr "" +"Для опису формату може бути надано *description*, яке буде повернено " +"функцією :func:`get_unpack_formats`." + +msgid "Unregister an unpack format. *name* is the name of the format." +msgstr "Скасувати реєстрацію формату розпакування. *ім'я* - це назва формату." + +msgid "" +"Return a list of all registered formats for unpacking. Each element of the " +"returned sequence is a tuple ``(name, extensions, description)``." +msgstr "" +"Повернути список усіх зареєстрованих форматів для розпакування. Кожен " +"елемент повернутої послідовності є кортежем ``(назва, розширення, опис)``." + +msgid "" +"*zip*: ZIP file (unpacking compressed files works only if the corresponding " +"module is available)." +msgstr "" +"*zip*: ZIP-файл (розпакування стиснених файлів працює лише за наявності " +"відповідного модуля)." + +msgid "*tar*: uncompressed tar file." +msgstr "*tar*: нестиснутий файл tar." + +msgid "" +"You can register new formats or provide your own unpacker for any existing " +"formats, by using :func:`register_unpack_format`." +msgstr "" +"Ви можете зареєструвати нові формати або надати власний розпаковувач для " +"будь-яких існуючих форматів за допомогою :func:`register_unpack_format`." + +msgid "Archiving example" +msgstr "Приклад архівування" + +msgid "" +"In this example, we create a gzip'ed tar-file archive containing all files " +"found in the :file:`.ssh` directory of the user::" +msgstr "" +"У цьому прикладі ми створюємо архів tar-файлів у форматі gzip, який містить " +"усі файли, знайдені в каталозі :file:`.ssh` користувача::" + +msgid "The resulting archive contains:" +msgstr "Отриманий архів містить:" + +msgid "Archiving example with *base_dir*" +msgstr "Приклад архівування з *base_dir*" + +msgid "" +"In this example, similar to the `one above `_, we " +"show how to use :func:`make_archive`, but this time with the usage of " +"*base_dir*. We now have the following directory structure:" +msgstr "" +"У цьому прикладі, подібному до `один вище `_, ми " +"показуємо, як використовувати :func:`make_archive`, але цього разу з " +"використанням *base_dir*. Тепер у нас є така структура каталогу:" + +msgid "" +"In the final archive, :file:`please_add.txt` should be included, but :file:" +"`do_not_add.txt` should not. Therefore we use the following::" +msgstr "" +"У остаточному архіві слід включити :file:`please_add.txt`, а :file:" +"`do_not_add.txt` — ні. Тому ми використовуємо наступне:" + +msgid "Listing the files in the resulting archive gives us:" +msgstr "Перелік файлів у отриманому архіві дає нам:" + +msgid "Querying the size of the output terminal" +msgstr "Запит розміру вихідного терміналу" + +msgid "Get the size of the terminal window." +msgstr "Отримайте розмір вікна терміналу." + +msgid "" +"For each of the two dimensions, the environment variable, ``COLUMNS`` and " +"``LINES`` respectively, is checked. If the variable is defined and the value " +"is a positive integer, it is used." +msgstr "" +"Для кожного з двох вимірів перевіряється змінна середовища, ``COLUMNS`` і " +"``LINES`` відповідно. Якщо змінна визначена і значення є додатним цілим " +"числом, вона використовується." + +msgid "" +"When ``COLUMNS`` or ``LINES`` is not defined, which is the common case, the " +"terminal connected to :data:`sys.__stdout__` is queried by invoking :func:" +"`os.get_terminal_size`." +msgstr "" +"Якщо ``COLUMNS`` або ``LINES`` не визначені, що є звичайним випадком, " +"термінал, підключений до :data:`sys.__stdout__`, запитується через виклик :" +"func:`os.get_terminal_size`." + +msgid "" +"If the terminal size cannot be successfully queried, either because the " +"system doesn't support querying, or because we are not connected to a " +"terminal, the value given in ``fallback`` parameter is used. ``fallback`` " +"defaults to ``(80, 24)`` which is the default size used by many terminal " +"emulators." +msgstr "" +"Якщо розмір терміналу не може бути успішно запитаний через те, що система не " +"підтримує запити, або тому, що ми не підключені до терміналу, " +"використовується значення, указане в параметрі ``резервного``. ``fallback`` " +"за замовчуванням ``(80, 24)``, який є розміром за замовчуванням, який " +"використовується багатьма емуляторами терміналів." + +msgid "The value returned is a named tuple of type :class:`os.terminal_size`." +msgstr "" +"Повернене значення є іменованим кортежем типу :class:`os.terminal_size`." + +msgid "" +"See also: The Single UNIX Specification, Version 2, `Other Environment " +"Variables`_." +msgstr "" +"Дивіться також: Єдина специфікація UNIX, версія 2, Інші змінні середовища " +"(`Other Environment Variables`_)." + +msgid "" +"The ``fallback`` values are also used if :func:`os.get_terminal_size` " +"returns zeroes." +msgstr "" diff --git a/library/signal.po b/library/signal.po new file mode 100644 index 000000000..75db91d1e --- /dev/null +++ b/library/signal.po @@ -0,0 +1,969 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`signal` --- Set handlers for asynchronous events" +msgstr ":mod:`signal` --- Встановити обробники для асинхронних подій" + +msgid "This module provides mechanisms to use signal handlers in Python." +msgstr "" +"Цей модуль надає механізми для використання обробників сигналів у Python." + +msgid "General rules" +msgstr "Загальні правила" + +msgid "" +"The :func:`signal.signal` function allows defining custom handlers to be " +"executed when a signal is received. A small number of default handlers are " +"installed: :const:`SIGPIPE` is ignored (so write errors on pipes and sockets " +"can be reported as ordinary Python exceptions) and :const:`SIGINT` is " +"translated into a :exc:`KeyboardInterrupt` exception if the parent process " +"has not changed it." +msgstr "" +"Функція :func:`signal.signal` дозволяє визначати спеціальні обробники, які " +"будуть виконуватися під час отримання сигналу. Встановлено невелику " +"кількість обробників за замовчуванням: :const:`SIGPIPE` ігнорується (тому " +"про помилки запису в каналах і сокетах можна повідомляти як про звичайні " +"винятки Python), а :const:`SIGINT` перетворюється на :exc:" +"`KeyboardInterrupt` виняток, якщо батьківський процес не змінив його." + +msgid "" +"A handler for a particular signal, once set, remains installed until it is " +"explicitly reset (Python emulates the BSD style interface regardless of the " +"underlying implementation), with the exception of the handler for :const:" +"`SIGCHLD`, which follows the underlying implementation." +msgstr "" +"Обробник для певного сигналу після встановлення залишається встановленим, " +"доки його явно не буде скинуто (Python емулює інтерфейс у стилі BSD " +"незалежно від базової реалізації), за винятком обробника для :const:" +"`SIGCHLD`, який слідує за базовою реалізацією. ." + +msgid "" +"On WebAssembly platforms ``wasm32-emscripten`` and ``wasm32-wasi``, signals " +"are emulated and therefore behave differently. Several functions and signals " +"are not available on these platforms." +msgstr "" + +msgid "Execution of Python signal handlers" +msgstr "Виконання обробників сигналів Python" + +msgid "" +"A Python signal handler does not get executed inside the low-level (C) " +"signal handler. Instead, the low-level signal handler sets a flag which " +"tells the :term:`virtual machine` to execute the corresponding Python signal " +"handler at a later point(for example at the next :term:`bytecode` " +"instruction). This has consequences:" +msgstr "" +"Обробник сигналу Python не виконується всередині обробника сигналу низького " +"рівня (C). Натомість обробник сигналу низького рівня встановлює прапорець, " +"який повідомляє :term:`virtual machine` виконати відповідний обробник " +"сигналу Python пізніше (наприклад, у наступній інструкції :term:`bytecode`). " +"Це має наслідки:" + +msgid "" +"It makes little sense to catch synchronous errors like :const:`SIGFPE` or :" +"const:`SIGSEGV` that are caused by an invalid operation in C code. Python " +"will return from the signal handler to the C code, which is likely to raise " +"the same signal again, causing Python to apparently hang. From Python 3.3 " +"onwards, you can use the :mod:`faulthandler` module to report on synchronous " +"errors." +msgstr "" +"Немає сенсу виловлювати синхронні помилки, такі як :const:`SIGFPE` або :" +"const:`SIGSEGV`, які викликані недійсною операцією в коді C. Python " +"повернеться від обробника сигналів до коду C, який, імовірно, знову викличе " +"той самий сигнал, що, очевидно, призведе до зависання Python. Починаючи з " +"Python 3.3, ви можете використовувати модуль :mod:`faulthandler` для " +"звітування про синхронні помилки." + +msgid "" +"A long-running calculation implemented purely in C (such as regular " +"expression matching on a large body of text) may run uninterrupted for an " +"arbitrary amount of time, regardless of any signals received. The Python " +"signal handlers will be called when the calculation finishes." +msgstr "" +"Тривале обчислення, реалізоване виключно на C (наприклад, зіставлення " +"регулярного виразу з великою частиною тексту), може виконуватися безперервно " +"протягом довільного проміжку часу, незалежно від будь-яких отриманих " +"сигналів. Обробники сигналів Python будуть викликані, коли обчислення " +"завершиться." + +msgid "" +"If the handler raises an exception, it will be raised \"out of thin air\" in " +"the main thread. See the :ref:`note below ` for a " +"discussion." +msgstr "" +"Якщо обробник викликає виняткову ситуацію, вона буде викликана \"з повітря\" " +"в основному потоці. Перегляньте :ref:`примітку нижче ` для обговорення." + +msgid "Signals and threads" +msgstr "Сигнали та нитки" + +msgid "" +"Python signal handlers are always executed in the main Python thread of the " +"main interpreter, even if the signal was received in another thread. This " +"means that signals can't be used as a means of inter-thread communication. " +"You can use the synchronization primitives from the :mod:`threading` module " +"instead." +msgstr "" +"Обробники сигналів Python завжди виконуються в основному потоці Python " +"головного інтерпретатора, навіть якщо сигнал було отримано в іншому потоці. " +"Це означає, що сигнали не можна використовувати як засіб міжпотокового " +"зв'язку. Натомість ви можете використовувати примітиви синхронізації з " +"модуля :mod:`threading`." + +msgid "" +"Besides, only the main thread of the main interpreter is allowed to set a " +"new signal handler." +msgstr "" +"Крім того, лише головному потоку головного інтерпретатора дозволено " +"встановлювати новий обробник сигналу." + +msgid "Module contents" +msgstr "Зміст модуля" + +msgid "" +"signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" +"const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " +"constants listed below were turned into :class:`enums ` (:" +"class:`Signals`, :class:`Handlers` and :class:`Sigmasks` respectively). :" +"func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` and :func:" +"`sigwait` functions return human-readable :class:`enums ` as :" +"class:`Signals` objects." +msgstr "" + +msgid "The signal module defines three enums:" +msgstr "" + +msgid "" +":class:`enum.IntEnum` collection of SIG* constants and the CTRL_* constants." +msgstr "" + +msgid "" +":class:`enum.IntEnum` collection the constants :const:`SIG_DFL` and :const:" +"`SIG_IGN`." +msgstr "" + +msgid "" +":class:`enum.IntEnum` collection the constants :const:`SIG_BLOCK`, :const:" +"`SIG_UNBLOCK` and :const:`SIG_SETMASK`." +msgstr "" + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"See the man page :manpage:`sigprocmask(2)` and :manpage:`pthread_sigmask(3)` " +"for further information." +msgstr "" + +msgid "The variables defined in the :mod:`signal` module are:" +msgstr "Змінні, визначені в модулі :mod:`signal`:" + +msgid "" +"This is one of two standard signal handling options; it will simply perform " +"the default function for the signal. For example, on most systems the " +"default action for :const:`SIGQUIT` is to dump core and exit, while the " +"default action for :const:`SIGCHLD` is to simply ignore it." +msgstr "" +"Це один із двох стандартних варіантів обробки сигналу; він просто " +"виконуватиме стандартну функцію для сигналу. Наприклад, у більшості систем " +"дія за замовчуванням для :const:`SIGQUIT` — це дамп ядра та вихід, а дія за " +"замовчуванням для :const:`SIGCHLD` — просто ігнорувати його." + +msgid "" +"This is another standard signal handler, which will simply ignore the given " +"signal." +msgstr "" +"Це ще один стандартний обробник сигналу, який просто ігнорує поданий сигнал." + +msgid "Abort signal from :manpage:`abort(3)`." +msgstr "Сигнал скасування з :manpage:`abort(3)`." + +msgid "Timer signal from :manpage:`alarm(2)`." +msgstr "Сигнал таймера з :manpage:`alarm(2)`." + +msgid "Interrupt from keyboard (CTRL + BREAK)." +msgstr "Переривання з клавіатури (CTRL + BREAK)." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "Bus error (bad memory access)." +msgstr "Помилка шини (поганий доступ до пам'яті)." + +msgid "Child process stopped or terminated." +msgstr "Дочірній процес зупинено або припинено." + +msgid "Alias to :data:`SIGCHLD`." +msgstr "Псевдонім :data:`SIGCHLD`." + +msgid "Continue the process if it is currently stopped" +msgstr "Продовжуйте процес, якщо він зараз зупинений" + +msgid "Floating-point exception. For example, division by zero." +msgstr "Виняток із плаваючою комою. Наприклад, ділення на нуль." + +msgid "" +":exc:`ZeroDivisionError` is raised when the second argument of a division or " +"modulo operation is zero." +msgstr "" +":exc:`ZeroDivisionError` виникає, коли другий аргумент операції ділення або " +"модуля дорівнює нулю." + +msgid "" +"Hangup detected on controlling terminal or death of controlling process." +msgstr "" +"Виявлено зависання на керуючому терміналі або смерть керуючого процесу." + +msgid "Illegal instruction." +msgstr "Незаконна інструкція." + +msgid "Interrupt from keyboard (CTRL + C)." +msgstr "Переривання з клавіатури (CTRL + C)." + +msgid "Default action is to raise :exc:`KeyboardInterrupt`." +msgstr "Дія за замовчуванням — підняти :exc:`KeyboardInterrupt`." + +msgid "Kill signal." +msgstr "Сигнал вбивства." + +msgid "It cannot be caught, blocked, or ignored." +msgstr "Його неможливо зловити, заблокувати чи проігнорувати." + +msgid "Broken pipe: write to pipe with no readers." +msgstr "Зламаний канал: записувати в канал без читачів." + +msgid "Default action is to ignore the signal." +msgstr "Стандартна дія – ігнорувати сигнал." + +msgid "Segmentation fault: invalid memory reference." +msgstr "Помилка сегментації: недійсне посилання на пам'ять." + +msgid "" +"Stack fault on coprocessor. The Linux kernel does not raise this signal: it " +"can only be raised in user space." +msgstr "" + +msgid ":ref:`Availability `: Linux." +msgstr ":ref:`Наявність `: Linux." + +msgid "" +"On architectures where the signal is available. See the man page :manpage:" +"`signal(7)` for further information." +msgstr "" + +msgid "Termination signal." +msgstr "Сигнал завершення." + +msgid "User-defined signal 1." +msgstr "Визначений користувачем сигнал 1." + +msgid "User-defined signal 2." +msgstr "Визначений користувачем сигнал 2." + +msgid "Window resize signal." +msgstr "Сигнал зміни розміру вікна." + +msgid "" +"All the signal numbers are defined symbolically. For example, the hangup " +"signal is defined as :const:`signal.SIGHUP`; the variable names are " +"identical to the names used in C programs, as found in ````. The " +"Unix man page for ':c:func:`signal`' lists the existing signals (on some " +"systems this is :manpage:`signal(2)`, on others the list is in :manpage:" +"`signal(7)`). Note that not all systems define the same set of signal names; " +"only those names defined by the system are defined by this module." +msgstr "" +"Усі сигнальні числа визначені символічно. Наприклад, сигнал зависання " +"визначається як :const:`signal.SIGHUP`; імена змінних ідентичні іменам, які " +"використовуються в програмах на C, як це знайдено в ````. Сторінка " +"довідки Unix для ':c:func:`signal`' містить список існуючих сигналів (у " +"деяких системах це :manpage:`signal(2)`, в інших список знаходиться в :" +"manpage:`signal(7)` ). Зауважте, що не всі системи визначають однаковий " +"набір назв сигналів; тільки ті імена, які визначені системою, визначаються " +"цим модулем." + +msgid "" +"The signal corresponding to the :kbd:`Ctrl+C` keystroke event. This signal " +"can only be used with :func:`os.kill`." +msgstr "" +"Сигнал, що відповідає події натискання клавіші :kbd:`Ctrl+C`. Цей сигнал " +"можна використовувати лише з :func:`os.kill`." + +msgid "" +"The signal corresponding to the :kbd:`Ctrl+Break` keystroke event. This " +"signal can only be used with :func:`os.kill`." +msgstr "" +"Сигнал, що відповідає події натискання клавіші :kbd:`Ctrl+Break`. Цей сигнал " +"можна використовувати лише з :func:`os.kill`." + +msgid "" +"One more than the number of the highest signal number. Use :func:" +"`valid_signals` to get valid signal numbers." +msgstr "" + +msgid "" +"Decrements interval timer in real time, and delivers :const:`SIGALRM` upon " +"expiration." +msgstr "" +"Зменшує інтервальний таймер у реальному часі та доставляє :const:`SIGALRM` " +"після закінчення терміну дії." + +msgid "" +"Decrements interval timer only when the process is executing, and delivers " +"SIGVTALRM upon expiration." +msgstr "" +"Зменшує інтервальний таймер, лише коли процес виконується, і доставляє " +"SIGVTALRM після закінчення терміну дії." + +msgid "" +"Decrements interval timer both when the process executes and when the system " +"is executing on behalf of the process. Coupled with ITIMER_VIRTUAL, this " +"timer is usually used to profile the time spent by the application in user " +"and kernel space. SIGPROF is delivered upon expiration." +msgstr "" +"Зменшує інтервальний таймер як під час виконання процесу, так і коли система " +"виконується від імені процесу. У поєднанні з ITIMER_VIRTUAL цей таймер " +"зазвичай використовується для профілювання часу, проведеного програмою в " +"просторі користувача та ядра. SIGPROF доставляється після закінчення терміну " +"дії." + +msgid "" +"A possible value for the *how* parameter to :func:`pthread_sigmask` " +"indicating that signals are to be blocked." +msgstr "" +"Можливе значення для параметра *how* для :func:`pthread_sigmask`, яке " +"вказує, що сигнали мають бути заблоковані." + +msgid "" +"A possible value for the *how* parameter to :func:`pthread_sigmask` " +"indicating that signals are to be unblocked." +msgstr "" +"Можливе значення для параметра *how* для :func:`pthread_sigmask`, яке " +"вказує, що сигнали мають бути розблоковані." + +msgid "" +"A possible value for the *how* parameter to :func:`pthread_sigmask` " +"indicating that the signal mask is to be replaced." +msgstr "" +"Можливе значення для параметра *how* для :func:`pthread_sigmask`, яке " +"вказує, що маску сигналу потрібно замінити." + +msgid "The :mod:`signal` module defines one exception:" +msgstr "Модуль :mod:`signal` визначає один виняток:" + +msgid "" +"Raised to signal an error from the underlying :func:`setitimer` or :func:" +"`getitimer` implementation. Expect this error if an invalid interval timer " +"or a negative time is passed to :func:`setitimer`. This error is a subtype " +"of :exc:`OSError`." +msgstr "" +"Викликається, щоб повідомити про помилку базової реалізації :func:" +"`setitimer` або :func:`getitimer`. Очікуйте цю помилку, якщо в :func:" +"`setitimer` передано недійсний таймер інтервалу або від’ємний час. Ця " +"помилка є підтипом :exc:`OSError`." + +msgid "" +"This error used to be a subtype of :exc:`IOError`, which is now an alias of :" +"exc:`OSError`." +msgstr "" +"Раніше ця помилка була підтипом :exc:`IOError`, який тепер є псевдонімом :" +"exc:`OSError`." + +msgid "The :mod:`signal` module defines the following functions:" +msgstr "Модуль :mod:`signal` визначає такі функції:" + +msgid "" +"If *time* is non-zero, this function requests that a :const:`SIGALRM` signal " +"be sent to the process in *time* seconds. Any previously scheduled alarm is " +"canceled (only one alarm can be scheduled at any time). The returned value " +"is then the number of seconds before any previously set alarm was to have " +"been delivered. If *time* is zero, no alarm is scheduled, and any scheduled " +"alarm is canceled. If the return value is zero, no alarm is currently " +"scheduled." +msgstr "" +"Якщо *time* не нуль, ця функція запитує, щоб сигнал :const:`SIGALRM` був " +"надісланий процесу через *time* секунди. Будь-який раніше запланований " +"будильник скасовується (одночасно можна запланувати лише один будильник). " +"Повернене значення – це кількість секунд до того, як будь-який попередньо " +"встановлений сигнал буде доставлено. Якщо *time* дорівнює нулю, будильник не " +"заплановано, а будь-який запланований будильник скасовується. Якщо повернене " +"значення дорівнює нулю, нагадування наразі не заплановано." + +msgid "See the man page :manpage:`alarm(2)` for further information." +msgstr "" + +msgid "" +"Return the current signal handler for the signal *signalnum*. The returned " +"value may be a callable Python object, or one of the special values :const:" +"`signal.SIG_IGN`, :const:`signal.SIG_DFL` or :const:`None`. Here, :const:" +"`signal.SIG_IGN` means that the signal was previously ignored, :const:" +"`signal.SIG_DFL` means that the default way of handling the signal was " +"previously in use, and ``None`` means that the previous signal handler was " +"not installed from Python." +msgstr "" +"Повертає поточний обробник сигналу для сигналу *signalnum*. Поверненим " +"значенням може бути об’єкт Python, який можна викликати, або одне зі " +"спеціальних значень :const:`signal.SIG_IGN`, :const:`signal.SIG_DFL` або :" +"const:`None`. Тут :const:`signal.SIG_IGN` означає, що сигнал раніше " +"ігнорувався, :const:`signal.SIG_DFL` означає, що стандартний спосіб обробки " +"сигналу використовувався раніше, а ``None`` означає, що попередній обробник " +"сигналів не було встановлено з Python." + +msgid "" +"Return the system description of the signal *signalnum*, such as \"Interrupt" +"\", \"Segmentation fault\", etc. Returns :const:`None` if the signal is not " +"recognized." +msgstr "" +"Повертає системний опис сигналу *signalnum*, наприклад \"Interrupt\", " +"\"Segmentation fault\" тощо. Повертає :const:`None`, якщо сигнал не " +"розпізнано." + +msgid "" +"Return the set of valid signal numbers on this platform. This can be less " +"than ``range(1, NSIG)`` if some signals are reserved by the system for " +"internal use." +msgstr "" +"Повернути набір дійсних номерів сигналу на цій платформі. Це може бути менше " +"ніж діапазон (1, NSIG) якщо деякі сигнали зарезервовані системою для " +"внутрішнього використання." + +msgid "" +"Cause the process to sleep until a signal is received; the appropriate " +"handler will then be called. Returns nothing." +msgstr "" +"Перевести процес у режим сну, доки не буде отримано сигнал; потім буде " +"викликано відповідний обробник. Нічого не повертає." + +msgid "See the man page :manpage:`signal(2)` for further information." +msgstr "" + +msgid "" +"See also :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` and :" +"func:`sigpending`." +msgstr "" +"Дивіться також :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` і :" +"func:`sigpending`." + +msgid "Sends a signal to the calling process. Returns nothing." +msgstr "Надсилає сигнал процесу виклику. Нічого не повертає." + +msgid "" +"Send signal *sig* to the process referred to by file descriptor *pidfd*. " +"Python does not currently support the *siginfo* parameter; it must be " +"``None``. The *flags* argument is provided for future extensions; no flag " +"values are currently defined." +msgstr "" +"Надішліть сигнал *sig* до процесу, на який посилається дескриптор файлу " +"*pidfd*. Python наразі не підтримує параметр *siginfo*; це має бути " +"``None``. Аргумент *flags* надається для майбутніх розширень; значення " +"прапорів наразі не визначено." + +msgid "See the :manpage:`pidfd_send_signal(2)` man page for more information." +msgstr "" +"Перегляньте довідкову сторінку :manpage:`pidfd_send_signal(2)` для отримання " +"додаткової інформації." + +msgid ":ref:`Availability `: Linux >= 5.1" +msgstr "" + +msgid "" +"Send the signal *signalnum* to the thread *thread_id*, another thread in the " +"same process as the caller. The target thread can be executing any code " +"(Python or not). However, if the target thread is executing the Python " +"interpreter, the Python signal handlers will be :ref:`executed by the main " +"thread of the main interpreter `. Therefore, the only " +"point of sending a signal to a particular Python thread would be to force a " +"running system call to fail with :exc:`InterruptedError`." +msgstr "" +"Надішліть сигнал *signalnum* до потоку *thread_id*, іншого потоку в тому " +"самому процесі, що й абонент. Цільовий потік може виконувати будь-який код " +"(Python чи ні). Однак, якщо цільовий потік виконує інтерпретатор Python, " +"обробники сигналів Python будуть :ref:`виконуватися головним потоком " +"основного інтерпретатора `. Таким чином, єдиним пунктом " +"надсилання сигналу до певного потоку Python було б примусово завершити " +"запущений системний виклик з :exc:`InterruptedError`." + +msgid "" +"Use :func:`threading.get_ident()` or the :attr:`~threading.Thread.ident` " +"attribute of :class:`threading.Thread` objects to get a suitable value for " +"*thread_id*." +msgstr "" +"Використовуйте :func:`threading.get_ident()` або атрибут :attr:`~threading." +"Thread.ident` об’єктів :class:`threading.Thread`, щоб отримати відповідне " +"значення для *thread_id*." + +msgid "" +"If *signalnum* is 0, then no signal is sent, but error checking is still " +"performed; this can be used to check if the target thread is still running." +msgstr "" +"Якщо *signalnum* дорівнює 0, тоді сигнал не надсилається, але перевірка " +"помилок все одно виконується; це можна використовувати, щоб перевірити, чи " +"цільовий потік все ще працює." + +msgid "" +"Raises an :ref:`auditing event ` ``signal.pthread_kill`` with " +"arguments ``thread_id``, ``signalnum``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``signal.pthread_kill`` з " +"аргументами ``thread_id``, ``signalnum``." + +msgid "See the man page :manpage:`pthread_kill(3)` for further information." +msgstr "" + +msgid "See also :func:`os.kill`." +msgstr "Дивіться також :func:`os.kill`." + +msgid "" +"Fetch and/or change the signal mask of the calling thread. The signal mask " +"is the set of signals whose delivery is currently blocked for the caller. " +"Return the old signal mask as a set of signals." +msgstr "" +"Отримати та/або змінити маску сигналу викликаючого потоку. Маска сигналу - " +"це набір сигналів, доставка яких на даний момент заблокована для абонента. " +"Повернути стару сигнальну маску як набір сигналів." + +msgid "" +"The behavior of the call is dependent on the value of *how*, as follows." +msgstr "Поведінка виклику залежить від значення *how*, як показано нижче." + +msgid "" +":data:`SIG_BLOCK`: The set of blocked signals is the union of the current " +"set and the *mask* argument." +msgstr "" +":data:`SIG_BLOCK`: Набір заблокованих сигналів є об’єднанням поточного " +"набору та аргументу *mask*." + +msgid "" +":data:`SIG_UNBLOCK`: The signals in *mask* are removed from the current set " +"of blocked signals. It is permissible to attempt to unblock a signal which " +"is not blocked." +msgstr "" +":data:`SIG_UNBLOCK`: Сигнали в *mask* видаляються з поточного набору " +"заблокованих сигналів. Дозволено спробувати розблокувати сигнал, який не " +"заблоковано." + +msgid "" +":data:`SIG_SETMASK`: The set of blocked signals is set to the *mask* " +"argument." +msgstr "" +":data:`SIG_SETMASK`: Набір заблокованих сигналів встановлюється на аргумент " +"*mask*." + +msgid "" +"*mask* is a set of signal numbers (e.g. {:const:`signal.SIGINT`, :const:" +"`signal.SIGTERM`}). Use :func:`~signal.valid_signals` for a full mask " +"including all signals." +msgstr "" +"*mask* — це набір номерів сигналів (наприклад, {:const:`signal.SIGINT`, :" +"const:`signal.SIGTERM`}). Використовуйте :func:`~signal.valid_signals` для " +"повної маски, включаючи всі сигнали." + +msgid "" +"For example, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` reads the " +"signal mask of the calling thread." +msgstr "" +"Наприклад, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` читає маску " +"сигналу викликаючого потоку." + +msgid ":data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked." +msgstr ":data:`SIGKILL` і :data:`SIGSTOP` не можна заблокувати." + +msgid "See also :func:`pause`, :func:`sigpending` and :func:`sigwait`." +msgstr "Дивіться також :func:`pause`, :func:`sigpending` і :func:`sigwait`." + +msgid "" +"Sets given interval timer (one of :const:`signal.ITIMER_REAL`, :const:" +"`signal.ITIMER_VIRTUAL` or :const:`signal.ITIMER_PROF`) specified by *which* " +"to fire after *seconds* (float is accepted, different from :func:`alarm`) " +"and after that every *interval* seconds (if *interval* is non-zero). The " +"interval timer specified by *which* can be cleared by setting *seconds* to " +"zero." +msgstr "" +"Встановлює заданий інтервальний таймер (один із :const:`signal." +"ITIMER_REAL`, :const:`signal.ITIMER_VIRTUAL` або :const:`signal." +"ITIMER_PROF`), визначений *який* запускати через *секунд* (дозволено число, " +"відмінний від :func:`alarm`) і після цього кожні *інтервал* секунд (якщо " +"*інтервал* відмінний від нуля). Інтервальний таймер, визначений *яким*, " +"можна скинути, встановивши *секунд* на нуль." + +msgid "" +"When an interval timer fires, a signal is sent to the process. The signal " +"sent is dependent on the timer being used; :const:`signal.ITIMER_REAL` will " +"deliver :const:`SIGALRM`, :const:`signal.ITIMER_VIRTUAL` sends :const:" +"`SIGVTALRM`, and :const:`signal.ITIMER_PROF` will deliver :const:`SIGPROF`." +msgstr "" +"Коли спрацьовує інтервальний таймер, процесу надсилається сигнал. Надісланий " +"сигнал залежить від таймера, який використовується; :const:`signal." +"ITIMER_REAL` доставить :const:`SIGALRM`, :const:`signal.ITIMER_VIRTUAL` " +"надішле :const:`SIGVTALRM`, а :const:`signal.ITIMER_PROF` доставить :const:" +"`SIGPROF` ." + +msgid "The old values are returned as a tuple: (delay, interval)." +msgstr "Старі значення повертаються як кортеж: (затримка, інтервал)." + +msgid "" +"Attempting to pass an invalid interval timer will cause an :exc:" +"`ItimerError`." +msgstr "" +"Спроба передати недійсний таймер інтервалу спричинить :exc:`ItimerError`." + +msgid "Returns current value of a given interval timer specified by *which*." +msgstr "" +"Повертає поточне значення заданого інтервального таймера, визначеного " +"*which*." + +msgid "" +"Set the wakeup file descriptor to *fd*. When a signal is received, the " +"signal number is written as a single byte into the fd. This can be used by " +"a library to wakeup a poll or select call, allowing the signal to be fully " +"processed." +msgstr "" +"Встановіть дескриптор файлу пробудження на *fd*. Коли сигнал отримано, номер " +"сигналу записується як один байт у fd. Це може бути використано бібліотекою " +"для пробудження опитування або виклику вибору, дозволяючи повністю обробити " +"сигнал." + +msgid "" +"The old wakeup fd is returned (or -1 if file descriptor wakeup was not " +"enabled). If *fd* is -1, file descriptor wakeup is disabled. If not -1, " +"*fd* must be non-blocking. It is up to the library to remove any bytes from " +"*fd* before calling poll or select again." +msgstr "" +"Повертається старий fd пробудження (або -1, якщо пробудження дескриптора " +"файлу не було ввімкнено). Якщо *fd* дорівнює -1, пробудження дескриптора " +"файлу вимкнено. Якщо не -1, *fd* має бути неблокуючим. Бібліотека має " +"видалити будь-які байти з *fd* перед повторним викликом опитування або " +"вибору." + +msgid "" +"When threads are enabled, this function can only be called from :ref:`the " +"main thread of the main interpreter `; attempting to " +"call it from other threads will cause a :exc:`ValueError` exception to be " +"raised." +msgstr "" +"Коли потоки ввімкнено, цю функцію можна викликати лише з :ref:`основного " +"потоку головного інтерпретатора `; спроба викликати " +"його з інших потоків призведе до виникнення винятку :exc:`ValueError`." + +msgid "" +"There are two common ways to use this function. In both approaches, you use " +"the fd to wake up when a signal arrives, but then they differ in how they " +"determine *which* signal or signals have arrived." +msgstr "" +"Існує два поширених способи використання цієї функції. В обох підходах ви " +"використовуєте fd для пробудження, коли надходить сигнал, але вони " +"відрізняються тим, як вони визначають, *який* сигнал або сигнали надійшли." + +msgid "" +"In the first approach, we read the data out of the fd's buffer, and the byte " +"values give you the signal numbers. This is simple, but in rare cases it can " +"run into a problem: generally the fd will have a limited amount of buffer " +"space, and if too many signals arrive too quickly, then the buffer may " +"become full, and some signals may be lost. If you use this approach, then " +"you should set ``warn_on_full_buffer=True``, which will at least cause a " +"warning to be printed to stderr when signals are lost." +msgstr "" +"У першому підході ми зчитуємо дані з буфера fd, а значення байтів дають вам " +"номери сигналів. Це просто, але в рідкісних випадках може виникнути " +"проблема: зазвичай fd матиме обмежений обсяг буферного простору, і якщо " +"забагато сигналів надходить надто швидко, буфер може переповнитися, а деякі " +"сигнали можуть бути втрачені. Якщо ви використовуєте цей підхід, то вам слід " +"встановити ``warn_on_full_buffer=True``, що принаймні призведе до друку " +"попередження в stderr у разі втрати сигналів." + +msgid "" +"In the second approach, we use the wakeup fd *only* for wakeups, and ignore " +"the actual byte values. In this case, all we care about is whether the fd's " +"buffer is empty or non-empty; a full buffer doesn't indicate a problem at " +"all. If you use this approach, then you should set " +"``warn_on_full_buffer=False``, so that your users are not confused by " +"spurious warning messages." +msgstr "" +"У другому підході ми використовуємо fd пробудження *лише* для пробудження та " +"ігноруємо фактичні значення байтів. У цьому випадку все, що нас хвилює, це " +"чи є буфер fd порожнім чи непорожнім; заповнений буфер взагалі не вказує на " +"проблему. Якщо ви використовуєте цей підхід, вам слід встановити " +"``warn_on_full_buffer=False``, щоб ваші користувачі не були збентежені " +"фальшивими попередженнями." + +msgid "On Windows, the function now also supports socket handles." +msgstr "У Windows функція тепер також підтримує ручки сокетів." + +msgid "Added ``warn_on_full_buffer`` parameter." +msgstr "Додано параметр ``warn_on_full_buffer``." + +msgid "" +"Change system call restart behaviour: if *flag* is :const:`False`, system " +"calls will be restarted when interrupted by signal *signalnum*, otherwise " +"system calls will be interrupted. Returns nothing." +msgstr "" +"Змінити поведінку перезапуску системного виклику: якщо *flag* має значення :" +"const:`False`, системні виклики буде перезапущено, коли їх перериватиме " +"сигнал *signalnum*, інакше системні виклики буде перервано. Нічого не " +"повертає." + +msgid "See the man page :manpage:`siginterrupt(3)` for further information." +msgstr "" + +msgid "" +"Note that installing a signal handler with :func:`signal` will reset the " +"restart behaviour to interruptible by implicitly calling :c:func:" +"`siginterrupt` with a true *flag* value for the given signal." +msgstr "" +"Зауважте, що встановлення обробника сигналів із :func:`signal` скине " +"поведінку перезапуску до переривання шляхом неявного виклику :c:func:" +"`siginterrupt` із справжнім значенням *flag* для даного сигналу." + +msgid "" +"Set the handler for signal *signalnum* to the function *handler*. *handler* " +"can be a callable Python object taking two arguments (see below), or one of " +"the special values :const:`signal.SIG_IGN` or :const:`signal.SIG_DFL`. The " +"previous signal handler will be returned (see the description of :func:" +"`getsignal` above). (See the Unix man page :manpage:`signal(2)` for further " +"information.)" +msgstr "" +"Встановіть обробник для сигналу *signalnum* на функцію *handler*. *обробник* " +"може бути викликаним об’єктом Python, який приймає два аргументи (див. " +"нижче) або одне зі спеціальних значень :const:`signal.SIG_IGN` або :const:" +"`signal.SIG_DFL`. Буде повернено попередній обробник сигналу (див. опис :" +"func:`getsignal` вище). (Див. сторінку довідки Unix :manpage:`signal(2)` для " +"отримання додаткової інформації.)" + +msgid "" +"The *handler* is called with two arguments: the signal number and the " +"current stack frame (``None`` or a frame object; for a description of frame " +"objects, see the :ref:`description in the type hierarchy ` or " +"see the attribute descriptions in the :mod:`inspect` module)." +msgstr "" +"*Обробник* викликається з двома аргументами: номером сигналу та поточним " +"фреймом стека (``None`` або об’єкт фрейму; для опису об’єктів фрейму див. :" +"ref:`опис в ієрархії типів ` або див. описи атрибутів у " +"модулі :mod:`inspect`)." + +msgid "" +"On Windows, :func:`signal` can only be called with :const:`SIGABRT`, :const:" +"`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:" +"`SIGTERM`, or :const:`SIGBREAK`. A :exc:`ValueError` will be raised in any " +"other case. Note that not all systems define the same set of signal names; " +"an :exc:`AttributeError` will be raised if a signal name is not defined as " +"``SIG*`` module level constant." +msgstr "" +"У Windows :func:`signal` можна викликати лише за допомогою :const:" +"`SIGABRT`, :const:`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:" +"`SIGSEGV`, :const:`SIGTERM` або :const:`SIGBREAK`. Помилка :exc:" +"`ValueError` буде викликана в будь-якому іншому випадку. Зауважте, що не всі " +"системи визначають однаковий набір назв сигналів; :exc:`AttributeError` буде " +"викликано, якщо назва сигналу не визначена як константа рівня модуля " +"``SIG*``." + +msgid "" +"Examine the set of signals that are pending for delivery to the calling " +"thread (i.e., the signals which have been raised while blocked). Return the " +"set of the pending signals." +msgstr "" +"Перевірте набір сигналів, які очікують на доставку до викликаючого потоку " +"(тобто сигнали, які були підняті під час блокування). Повертає набір " +"незавершених сигналів." + +msgid "See the man page :manpage:`sigpending(2)` for further information." +msgstr "" + +msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." +msgstr "" +"Дивіться також :func:`pause`, :func:`pthread_sigmask` і :func:`sigwait`." + +msgid "" +"Suspend execution of the calling thread until the delivery of one of the " +"signals specified in the signal set *sigset*. The function accepts the " +"signal (removes it from the pending list of signals), and returns the signal " +"number." +msgstr "" +"Призупинити виконання викликаючого потоку до доставки одного із сигналів, " +"указаних у наборі сигналів *sigset*. Функція приймає сигнал (видаляє його зі " +"списку очікуваних сигналів) і повертає номер сигналу." + +msgid "See the man page :manpage:`sigwait(3)` for further information." +msgstr "" + +msgid "" +"See also :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :func:" +"`sigwaitinfo` and :func:`sigtimedwait`." +msgstr "" +"Дивіться також :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :" +"func:`sigwaitinfo` і :func:`sigtimedwait`." + +msgid "" +"Suspend execution of the calling thread until the delivery of one of the " +"signals specified in the signal set *sigset*. The function accepts the " +"signal and removes it from the pending list of signals. If one of the " +"signals in *sigset* is already pending for the calling thread, the function " +"will return immediately with information about that signal. The signal " +"handler is not called for the delivered signal. The function raises an :exc:" +"`InterruptedError` if it is interrupted by a signal that is not in *sigset*." +msgstr "" +"Призупинити виконання викликаючого потоку до доставки одного із сигналів, " +"указаних у наборі сигналів *sigset*. Функція приймає сигнал і видаляє його " +"зі списку очікуваних сигналів. Якщо один із сигналів у *sigset* вже очікує " +"на виклик потоку, функція негайно повернеться з інформацією про цей сигнал. " +"Обробник сигналу не викликається для надісланого сигналу. Функція викликає :" +"exc:`InterruptedError`, якщо її перериває сигнал, якого немає в *sigset*." + +msgid "" +"The return value is an object representing the data contained in the :c:type:" +"`siginfo_t` structure, namely: :attr:`si_signo`, :attr:`si_code`, :attr:" +"`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, :attr:" +"`si_band`." +msgstr "" +"Повернене значення — це об’єкт, який представляє дані, що містяться в " +"структурі :c:type:`siginfo_t`, а саме: :attr:`si_signo`, :attr:`si_code`, :" +"attr:`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, :attr:" +"`si_band`." + +msgid "See the man page :manpage:`sigwaitinfo(2)` for further information." +msgstr "" + +msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." +msgstr "Дивіться також :func:`pause`, :func:`sigwait` і :func:`sigtimedwait`." + +msgid "" +"The function is now retried if interrupted by a signal not in *sigset* and " +"the signal handler does not raise an exception (see :pep:`475` for the " +"rationale)." +msgstr "" +"Тепер функція виконується повторно, якщо її перериває сигнал не в *sigset*, " +"і обробник сигналу не викликає винятку (див. :pep:`475` для обґрунтування)." + +msgid "" +"Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " +"specifying a timeout. If *timeout* is specified as :const:`0`, a poll is " +"performed. Returns :const:`None` if a timeout occurs." +msgstr "" +"Подібно до :func:`sigwaitinfo`, але приймає додатковий аргумент *timeout*, " +"який визначає час очікування. Якщо *timeout* указано як :const:`0`, " +"виконується опитування. Повертає :const:`None`, якщо час очікування вийшов." + +msgid "See the man page :manpage:`sigtimedwait(2)` for further information." +msgstr "" + +msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." +msgstr "Дивіться також :func:`pause`, :func:`sigwait` і :func:`sigwaitinfo`." + +msgid "" +"The function is now retried with the recomputed *timeout* if interrupted by " +"a signal not in *sigset* and the signal handler does not raise an exception " +"(see :pep:`475` for the rationale)." +msgstr "" +"Тепер функція виконується повторно з повторно обчисленим *тайм-аутом*, якщо " +"її перериває сигнал не в *sigset*, і обробник сигналу не викликає виняткової " +"ситуації (див. :pep:`475` для обґрунтування)." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Here is a minimal example program. It uses the :func:`alarm` function to " +"limit the time spent waiting to open a file; this is useful if the file is " +"for a serial device that may not be turned on, which would normally cause " +"the :func:`os.open` to hang indefinitely. The solution is to set a 5-second " +"alarm before opening the file; if the operation takes too long, the alarm " +"signal will be sent, and the handler raises an exception. ::" +msgstr "" +"Ось мінімальний приклад програми. Він використовує функцію :func:`alarm` для " +"обмеження часу очікування відкриття файлу; це корисно, якщо файл призначений " +"для послідовного пристрою, який може бути не ввімкнено, що зазвичай призведе " +"до зависання :func:`os.open` на невизначений час. Рішення полягає в тому, " +"щоб встановити 5-секундний будильник перед відкриттям файлу; якщо операція " +"триває надто довго, буде надіслано сигнал тривоги, і обробник викличе " +"виняток. ::" + +msgid "Note on SIGPIPE" +msgstr "Примітка щодо SIGPIPE" + +msgid "" +"Piping output of your program to tools like :manpage:`head(1)` will cause a :" +"const:`SIGPIPE` signal to be sent to your process when the receiver of its " +"standard output closes early. This results in an exception like :code:" +"`BrokenPipeError: [Errno 32] Broken pipe`. To handle this case, wrap your " +"entry point to catch this exception as follows::" +msgstr "" +"Передача виводу вашої програми до таких інструментів, як :manpage:`head(1)`, " +"призведе до надсилання сигналу :const:`SIGPIPE` до вашого процесу, коли " +"отримувач його стандартного виводу закривається раніше. Це призводить до " +"виключення на зразок :code:`BrokenPipeError: [Errno 32] Broken pipe`. Щоб " +"впоратися з цим випадком, оберніть свою точку входу, щоб перехопити цю " +"виняток, наступним чином:" + +msgid "" +"Do not set :const:`SIGPIPE`'s disposition to :const:`SIG_DFL` in order to " +"avoid :exc:`BrokenPipeError`. Doing that would cause your program to exit " +"unexpectedly whenever any socket connection is interrupted while your " +"program is still writing to it." +msgstr "" +"Не встановлюйте розташування :const:`SIGPIPE` як :const:`SIG_DFL`, щоб " +"уникнути :exc:`BrokenPipeError`. Це спричинило б несподіваний вихід вашої " +"програми щоразу, коли будь-яке з’єднання з сокетом переривається, поки ваша " +"програма все ще записує в нього." + +msgid "Note on Signal Handlers and Exceptions" +msgstr "Примітка щодо обробників сигналів і винятків" + +msgid "" +"If a signal handler raises an exception, the exception will be propagated to " +"the main thread and may be raised after any :term:`bytecode` instruction. " +"Most notably, a :exc:`KeyboardInterrupt` may appear at any point during " +"execution. Most Python code, including the standard library, cannot be made " +"robust against this, and so a :exc:`KeyboardInterrupt` (or any other " +"exception resulting from a signal handler) may on rare occasions put the " +"program in an unexpected state." +msgstr "" +"Якщо обробник сигналу викликає виняток, виняток буде передано в основний " +"потік і може бути викликано після будь-якої інструкції :term:`bytecode`. " +"Зокрема, :exc:`KeyboardInterrupt` може з’явитися в будь-який момент під час " +"виконання. Більшість коду Python, включаючи стандартну бібліотеку, не можна " +"зробити стійкими до цього, і тому :exc:`KeyboardInterrupt` (або будь-який " +"інший виняток, що є результатом обробки сигналу) може в рідкісних випадках " +"переводити програму в неочікуваний стан." + +msgid "To illustrate this issue, consider the following code::" +msgstr "Щоб проілюструвати цю проблему, розглянемо такий код:" + +msgid "" +"For many programs, especially those that merely want to exit on :exc:" +"`KeyboardInterrupt`, this is not a problem, but applications that are " +"complex or require high reliability should avoid raising exceptions from " +"signal handlers. They should also avoid catching :exc:`KeyboardInterrupt` as " +"a means of gracefully shutting down. Instead, they should install their " +"own :const:`SIGINT` handler. Below is an example of an HTTP server that " +"avoids :exc:`KeyboardInterrupt`::" +msgstr "" +"Для багатьох програм, особливо тих, які просто хочуть завершити роботу " +"після :exc:`KeyboardInterrupt`, це не є проблемою, але програми, які є " +"складними або потребують високої надійності, повинні уникати виклику " +"винятків від обробників сигналів. Вони також повинні уникати перехоплення :" +"exc:`KeyboardInterrupt` як засобу плавного завершення роботи. Натомість вони " +"повинні встановити власний обробник :const:`SIGINT`. Нижче наведено приклад " +"HTTP-сервера, який уникає :exc:`KeyboardInterrupt`::" diff --git a/library/site.po b/library/site.po new file mode 100644 index 000000000..4d57385c3 --- /dev/null +++ b/library/site.po @@ -0,0 +1,399 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`site` --- Site-specific configuration hook" +msgstr ":mod:`site` --- Спеціальний для сайту хук конфігурації" + +msgid "**Source code:** :source:`Lib/site.py`" +msgstr "**Вихідний код:** :source:`Lib/site.py`" + +msgid "" +"**This module is automatically imported during initialization.** The " +"automatic import can be suppressed using the interpreter's :option:`-S` " +"option." +msgstr "" +"**Цей модуль автоматично імпортується під час ініціалізації.** Автоматичний " +"імпорт можна придушити за допомогою опції інтерпретатора :option:`-S`." + +msgid "" +"Importing this module will append site-specific paths to the module search " +"path and add a few builtins, unless :option:`-S` was used. In that case, " +"this module can be safely imported with no automatic modifications to the " +"module search path or additions to the builtins. To explicitly trigger the " +"usual site-specific additions, call the :func:`site.main` function." +msgstr "" +"Імпорт цього модуля додасть шляхи до сайту до шляху пошуку модуля та додасть " +"кілька вбудованих елементів, якщо не було використано :option:`-S`. У такому " +"випадку цей модуль можна безпечно імпортувати без автоматичних змін у шляху " +"пошуку модуля чи доповнень до вбудованих компонентів. Щоб явно ініціювати " +"звичайні додавання для конкретного сайту, викличте функцію :func:`site.main`." + +msgid "" +"Importing the module used to trigger paths manipulation even when using :" +"option:`-S`." +msgstr "" +"Імпорт модуля, який використовується для ініціювання маніпуляцій шляхом, " +"навіть якщо використовується :option:`-S`." + +msgid "" +"It starts by constructing up to four directories from a head and a tail " +"part. For the head part, it uses ``sys.prefix`` and ``sys.exec_prefix``; " +"empty heads are skipped. For the tail part, it uses the empty string and " +"then :file:`lib/site-packages` (on Windows) or :file:`lib/python{X.Y}/site-" +"packages` (on Unix and macOS). For each of the distinct head-tail " +"combinations, it sees if it refers to an existing directory, and if so, adds " +"it to ``sys.path`` and also inspects the newly added path for configuration " +"files." +msgstr "" +"Він починається зі створення до чотирьох каталогів із головної та хвостової " +"частин. Для головної частини він використовує ``sys.prefix`` і ``sys." +"exec_prefix``; порожні голови пропускаються. Для останньої частини " +"використовується порожній рядок, а потім :file:`lib/site-packages` (у " +"Windows) або :file:`lib/python{X.Y}/site-packages` (в Unix і macOS). Для " +"кожної з різних комбінацій голови та хвоста він перевіряє, чи посилається " +"вона на існуючий каталог, і якщо так, додає його до ``sys.path``, а також " +"перевіряє щойно доданий шлях для файлів конфігурації." + +msgid "Support for the \"site-python\" directory has been removed." +msgstr "Підтримку каталогу \"site-python\" видалено." + +msgid "" +"If a file named \"pyvenv.cfg\" exists one directory above sys.executable, " +"sys.prefix and sys.exec_prefix are set to that directory and it is also " +"checked for site-packages (sys.base_prefix and sys.base_exec_prefix will " +"always be the \"real\" prefixes of the Python installation). If \"pyvenv.cfg" +"\" (a bootstrap configuration file) contains the key \"include-system-site-" +"packages\" set to anything other than \"true\" (case-insensitive), the " +"system-level prefixes will not be searched for site-packages; otherwise they " +"will." +msgstr "" +"Якщо файл із назвою \"pyvenv.cfg\" існує на один каталог вище sys." +"executable, sys.prefix і sys.exec_prefix встановлюються для цього каталогу, " +"а також перевіряється наявність пакетів сайту (sys.base_prefix і sys." +"base_exec_prefix завжди будуть \"справжні\" префікси інсталяції Python). " +"Якщо \"pyvenv.cfg\" (файл конфігурації початкового завантаження) містить " +"ключ \"include-system-site-packages\" зі значенням, відмінним від \"true" +"\" (незалежно від регістру), у префіксах системного рівня не " +"здійснюватиметься пошук site- пакети; інакше вони будуть." + +msgid "" +"A path configuration file is a file whose name has the form :file:`{name}." +"pth` and exists in one of the four directories mentioned above; its contents " +"are additional items (one per line) to be added to ``sys.path``. Non-" +"existing items are never added to ``sys.path``, and no check is made that " +"the item refers to a directory rather than a file. No item is added to " +"``sys.path`` more than once. Blank lines and lines beginning with ``#`` are " +"skipped. Lines starting with ``import`` (followed by space or tab) are " +"executed." +msgstr "" +"Файл конфігурації шляху – це файл, назва якого має вигляд :file:`{name}.pth` " +"і існує в одному з чотирьох каталогів, згаданих вище; його вміст — це " +"додаткові елементи (по одному на рядок), які потрібно додати до ``sys." +"path``. Неіснуючі елементи ніколи не додаються до ``sys.path``, і не " +"виконується перевірка того, що елемент посилається на каталог, а не на файл. " +"Жоден елемент не додається до ``sys.path`` більше одного разу. Порожні рядки " +"та рядки, що починаються з ``#`` пропускаються. Рядки, що починаються з " +"``import`` (за яким йде пробіл або табуляція), виконуються." + +msgid "" +"An executable line in a :file:`.pth` file is run at every Python startup, " +"regardless of whether a particular module is actually going to be used. Its " +"impact should thus be kept to a minimum. The primary intended purpose of " +"executable lines is to make the corresponding module(s) importable (load 3rd-" +"party import hooks, adjust :envvar:`PATH` etc). Any other initialization is " +"supposed to be done upon a module's actual import, if and when it happens. " +"Limiting a code chunk to a single line is a deliberate measure to discourage " +"putting anything more complex here." +msgstr "" +"Виконуваний рядок у файлі :file:`.pth` запускається під час кожного запуску " +"Python, незалежно від того, чи буде фактично використовуватися певний " +"модуль. Тому його вплив слід звести до мінімуму. Основне призначення рядків " +"виконуваного файлу — зробити відповідний(і) модуль(и) доступним для імпорту " +"(завантажити сторонні перехоплювачі імпорту, налаштувати :envvar:`PATH` " +"тощо). Будь-яка інша ініціалізація має виконуватися після фактичного імпорту " +"модуля, якщо і коли це відбувається. Обмеження фрагмента коду одним рядком є " +"навмисним заходом, щоб перешкодити розміщенню тут чогось більш складного." + +msgid "" +"For example, suppose ``sys.prefix`` and ``sys.exec_prefix`` are set to :file:" +"`/usr/local`. The Python X.Y library is then installed in :file:`/usr/local/" +"lib/python{X.Y}`. Suppose this has a subdirectory :file:`/usr/local/lib/" +"python{X.Y}/site-packages` with three subsubdirectories, :file:`foo`, :file:" +"`bar` and :file:`spam`, and two path configuration files, :file:`foo.pth` " +"and :file:`bar.pth`. Assume :file:`foo.pth` contains the following::" +msgstr "" +"Наприклад, припустімо, що ``sys.prefix`` і ``sys.exec_prefix`` мають " +"значення :file:`/usr/local`. Потім бібліотеку Python X.Y встановлюють у :" +"file:`/usr/local/lib/python{X.Y}`. Припустімо, що тут є підкаталог :file:`/" +"usr/local/lib/python{X.Y}/site-packages` з трьома підкаталогами, :file:" +"`foo`, :file:`bar` і :file:`spam`, і два файли конфігурації шляху, :file:" +"`foo.pth` і :file:`bar.pth`. Припустимо, що :file:`foo.pth` містить наступне:" + +msgid "and :file:`bar.pth` contains::" +msgstr "і :file:`bar.pth` містить::" + +msgid "" +"Then the following version-specific directories are added to ``sys.path``, " +"in this order::" +msgstr "" +"Потім до ``sys.path`` додаються наступні каталоги для певної версії в такому " +"порядку:" + +msgid "" +"Note that :file:`bletch` is omitted because it doesn't exist; the :file:" +"`bar` directory precedes the :file:`foo` directory because :file:`bar.pth` " +"comes alphabetically before :file:`foo.pth`; and :file:`spam` is omitted " +"because it is not mentioned in either path configuration file." +msgstr "" +"Зауважте, що :file:`bletch` пропущено, оскільки його не існує; каталог :file:" +"`bar` передує каталогу :file:`foo`, оскільки :file:`bar.pth` стоїть перед :" +"file:`foo.pth` в алфавітному порядку; і :file:`spam` пропущено, оскільки він " +"не згадується в обох файлах конфігурації шляху." + +msgid "" +"After these path manipulations, an attempt is made to import a module named :" +"mod:`sitecustomize`, which can perform arbitrary site-specific " +"customizations. It is typically created by a system administrator in the " +"site-packages directory. If this import fails with an :exc:`ImportError` or " +"its subclass exception, and the exception's :attr:`name` attribute equals to " +"``'sitecustomize'``, it is silently ignored. If Python is started without " +"output streams available, as with :file:`pythonw.exe` on Windows (which is " +"used by default to start IDLE), attempted output from :mod:`sitecustomize` " +"is ignored. Any other exception causes a silent and perhaps mysterious " +"failure of the process." +msgstr "" +"Після цих маніпуляцій шляхом робиться спроба імпортувати модуль під назвою :" +"mod:`sitecustomize`, який може виконувати довільні налаштування сайту. " +"Зазвичай його створює системний адміністратор у каталозі site-packages. Якщо " +"це імпортування не вдається через виняток :exc:`ImportError` або його " +"підкласу, а атрибут :attr:`name` виключення дорівнює ``'sitecustomize'``, " +"він мовчки ігнорується. Якщо Python запускається без доступних вихідних " +"потоків, як у випадку з :file:`pythonw.exe` у Windows (який використовується " +"за замовчуванням для запуску IDLE), спроба виведення з :mod:`sitecustomize` " +"ігнорується. Будь-який інший виняток викликає тихий і, можливо, таємничий " +"збій процесу." + +msgid "" +"After this, an attempt is made to import a module named :mod:" +"`usercustomize`, which can perform arbitrary user-specific customizations, " +"if :data:`ENABLE_USER_SITE` is true. This file is intended to be created in " +"the user site-packages directory (see below), which is part of ``sys.path`` " +"unless disabled by :option:`-s`. If this import fails with an :exc:" +"`ImportError` or its subclass exception, and the exception's :attr:`name` " +"attribute equals to ``'usercustomize'``, it is silently ignored." +msgstr "" +"Після цього робиться спроба імпортувати модуль під назвою :mod:" +"`usercustomize`, який може виконувати довільні налаштування користувача, " +"якщо :data:`ENABLE_USER_SITE` має значення true. Цей файл призначено для " +"створення в каталозі пакетів сайту користувача (див. нижче), який є частиною " +"``sys.path``, якщо його не вимкнено :option:`-s`. Якщо цей імпорт " +"завершується помилкою :exc:`ImportError` або винятком його підкласу, а " +"атрибут :attr:`name` винятку дорівнює ``'usercustomize'``, він мовчки " +"ігнорується." + +msgid "" +"Note that for some non-Unix systems, ``sys.prefix`` and ``sys.exec_prefix`` " +"are empty, and the path manipulations are skipped; however the import of :" +"mod:`sitecustomize` and :mod:`usercustomize` is still attempted." +msgstr "" +"Зауважте, що для деяких не-Unix систем ``sys.prefix`` і ``sys.exec_prefix`` " +"порожні, а маніпуляції зі шляхом пропускаються; проте спроба імпорту :mod:" +"`sitecustomize` і :mod:`usercustomize` все ще робиться." + +msgid "Readline configuration" +msgstr "Конфігурація Readline" + +msgid "" +"On systems that support :mod:`readline`, this module will also import and " +"configure the :mod:`rlcompleter` module, if Python is started in :ref:" +"`interactive mode ` and without the :option:`-S` option. " +"The default behavior is enable tab-completion and to use :file:`~/." +"python_history` as the history save file. To disable it, delete (or " +"override) the :data:`sys.__interactivehook__` attribute in your :mod:" +"`sitecustomize` or :mod:`usercustomize` module or your :envvar:" +"`PYTHONSTARTUP` file." +msgstr "" +"У системах, які підтримують :mod:`readline`, цей модуль також імпортуватиме " +"та налаштовуватиме модуль :mod:`rlcompleter`, якщо Python запущено в :ref:" +"`інтерактивному режимі ` і без :option:`-S` варіант. За " +"замовчуванням увімкнено завершення табуляції та використання :file:`~/." +"python_history` як файлу збереження історії. Щоб вимкнути його, видаліть " +"(або змініть) атрибут :data:`sys.__interactivehook__` у вашому модулі :mod:" +"`sitecustomize` або :mod:`usercustomize` або у вашому файлі :envvar:" +"`PYTHONSTARTUP`." + +msgid "Activation of rlcompleter and history was made automatic." +msgstr "Активацію rlcompleter та історії було зроблено автоматично." + +msgid "Module contents" +msgstr "Зміст модуля" + +msgid "A list of prefixes for site-packages directories." +msgstr "Список префіксів для каталогів пакетів сайту." + +msgid "" +"Flag showing the status of the user site-packages directory. ``True`` means " +"that it is enabled and was added to ``sys.path``. ``False`` means that it " +"was disabled by user request (with :option:`-s` or :envvar:" +"`PYTHONNOUSERSITE`). ``None`` means it was disabled for security reasons " +"(mismatch between user or group id and effective id) or by an administrator." +msgstr "" +"Прапор, який показує статус каталогу пакетів сайтів користувача. ``True`` " +"означає, що його ввімкнено та було додано до ``sys.path``. ``False`` " +"означає, що його було вимкнено за запитом користувача (з :option:`-s` або :" +"envvar:`PYTHONNOUSERSITE`). ``None`` означає, що його було вимкнено з " +"міркувань безпеки (невідповідність між ідентифікатором користувача чи групи " +"та ефективним ідентифікатором) або адміністратором." + +msgid "" +"Path to the user site-packages for the running Python. Can be ``None`` if :" +"func:`getusersitepackages` hasn't been called yet. Default value is :file:" +"`~/.local/lib/python{X.Y}/site-packages` for UNIX and non-framework macOS " +"builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for macOS " +"framework builds, and :file:`{%APPDATA%}\\\\Python\\\\Python{XY}\\\\site-" +"packages` on Windows. This directory is a site directory, which means that :" +"file:`.pth` files in it will be processed." +msgstr "" +"Шлях до пакетів сайту користувача для запущеного Python. Може бути ``None``, " +"якщо :func:`getusersitepackages` ще не було викликано. Значення за " +"замовчуванням: :file:`~/.local/lib/python{X.Y}/site-packages` для збірок " +"UNIX і macOS без фреймворків, :file:`~/Library/Python/{X.Y}/lib/python/ site-" +"packages` для збірок фреймворків macOS і :file:`{%APPDATA%}\\\\Python\\" +"\\Python{XY}\\\\site-packages` для Windows. Цей каталог є каталогом сайту, " +"що означає, що файли :file:`.pth` у ньому будуть оброблені." + +msgid "" +"Path to the base directory for the user site-packages. Can be ``None`` if :" +"func:`getuserbase` hasn't been called yet. Default value is :file:`~/." +"local` for UNIX and macOS non-framework builds, :file:`~/Library/Python/{X.Y}" +"` for macOS framework builds, and :file:`{%APPDATA%}\\\\Python` for " +"Windows. This value is used by Distutils to compute the installation " +"directories for scripts, data files, Python modules, etc. for the :ref:`user " +"installation scheme `. See also :envvar:" +"`PYTHONUSERBASE`." +msgstr "" +"Шлях до основного каталогу для пакетів сайту користувача. Може бути " +"``None``, якщо :func:`getuserbase` ще не було викликано. Значення за " +"замовчуванням: :file:`~/.local` для нефреймворкових збірок UNIX і macOS, :" +"file:`~/Library/Python/{X.Y}` для фреймворкових збірок macOS і :file:" +"`{%APPDATA%}\\ \\Python` для Windows. Це значення використовується Distutils " +"для обчислення каталогів встановлення для сценаріїв, файлів даних, модулів " +"Python тощо для :ref:`схеми встановлення користувача `. Дивіться також :envvar:`PYTHONUSERBASE`." + +msgid "" +"Adds all the standard site-specific directories to the module search path. " +"This function is called automatically when this module is imported, unless " +"the Python interpreter was started with the :option:`-S` flag." +msgstr "" +"Додає всі стандартні каталоги сайту до шляху пошуку модуля. Ця функція " +"викликається автоматично під час імпорту цього модуля, якщо інтерпретатор " +"Python не було запущено з прапорцем :option:`-S`." + +msgid "This function used to be called unconditionally." +msgstr "Ця функція раніше називалася безумовно." + +msgid "" +"Add a directory to sys.path and process its :file:`.pth` files. Typically " +"used in :mod:`sitecustomize` or :mod:`usercustomize` (see above)." +msgstr "" +"Додайте каталог до sys.path і обробіть його файли :file:`.pth`. Зазвичай " +"використовується в :mod:`sitecustomize` або :mod:`usercustomize` (див. вище)." + +msgid "Return a list containing all global site-packages directories." +msgstr "Повертає список, що містить усі глобальні каталоги пакетів сайту." + +msgid "" +"Return the path of the user base directory, :data:`USER_BASE`. If it is not " +"initialized yet, this function will also set it, respecting :envvar:" +"`PYTHONUSERBASE`." +msgstr "" +"Повертає шлях до каталогу бази користувача, :data:`USER_BASE`. Якщо він ще " +"не ініціалізований, ця функція також встановить його, поважаючи :envvar:" +"`PYTHONUSERBASE`." + +msgid "" +"Return the path of the user-specific site-packages directory, :data:" +"`USER_SITE`. If it is not initialized yet, this function will also set it, " +"respecting :data:`USER_BASE`. To determine if the user-specific site-" +"packages was added to ``sys.path`` :data:`ENABLE_USER_SITE` should be used." +msgstr "" +"Повертає шлях до каталогу пакетів сайтів користувача, :data:`USER_SITE`. " +"Якщо він ще не ініціалізований, ця функція також встановить його, поважаючи :" +"data:`USER_BASE`. Щоб визначити, чи було додано специфічні для користувача " +"пакети сайтів до ``sys.path``, слід використовувати :data:`ENABLE_USER_SITE`." + +msgid "Command Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The :mod:`site` module also provides a way to get the user directories from " +"the command line:" +msgstr "" +"Модуль :mod:`site` також надає спосіб отримати каталоги користувача з " +"командного рядка:" + +msgid "" +"If it is called without arguments, it will print the contents of :data:`sys." +"path` on the standard output, followed by the value of :data:`USER_BASE` and " +"whether the directory exists, then the same thing for :data:`USER_SITE`, and " +"finally the value of :data:`ENABLE_USER_SITE`." +msgstr "" +"Якщо його викликати без аргументів, він надрукує вміст :data:`sys.path` на " +"стандартному виводі, а потім значення :data:`USER_BASE` і те, чи існує " +"каталог, потім те саме для :data:`USER_SITE` і, нарешті, значення :data:" +"`ENABLE_USER_SITE`." + +msgid "Print the path to the user base directory." +msgstr "Надрукуйте шлях до каталогу бази користувача." + +msgid "Print the path to the user site-packages directory." +msgstr "Надрукуйте шлях до каталогу site-packages користувача." + +msgid "" +"If both options are given, user base and user site will be printed (always " +"in this order), separated by :data:`os.pathsep`." +msgstr "" +"Якщо задано обидва параметри, буде надруковано базу користувачів і сайт " +"користувачів (завжди в такому порядку), розділених :data:`os.pathsep`." + +msgid "" +"If any option is given, the script will exit with one of these values: ``0`` " +"if the user site-packages directory is enabled, ``1`` if it was disabled by " +"the user, ``2`` if it is disabled for security reasons or by an " +"administrator, and a value greater than 2 if there is an error." +msgstr "" +"Якщо вказано будь-який параметр, сценарій завершить роботу з одним із таких " +"значень: ``0``, якщо каталог пакетів сайту користувача ввімкнено, ``1``, " +"якщо він був вимкнений користувачем, ``2``, якщо його вимкнено з міркувань " +"безпеки або адміністратором, і значення більше 2, якщо є помилка." + +msgid ":pep:`370` -- Per user site-packages directory" +msgstr ":pep:`370` -- Каталог пакетів сайту для кожного користувача" + +msgid ":ref:`sys-path-init` -- The initialization of :data:`sys.path`." +msgstr "" diff --git a/library/smtpd.po b/library/smtpd.po new file mode 100644 index 000000000..1c5eef125 --- /dev/null +++ b/library/smtpd.po @@ -0,0 +1,484 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`smtpd` --- SMTP Server" +msgstr ":mod:`smtpd` --- Сервер SMTP" + +msgid "**Source code:** :source:`Lib/smtpd.py`" +msgstr "**Вихідний код:** :source:`Lib/smtpd.py`" + +msgid "This module offers several classes to implement SMTP (email) servers." +msgstr "" +"Цей модуль пропонує кілька класів для реалізації серверів SMTP (електронної " +"пошти)." + +msgid "" +"The :mod:`smtpd` module is deprecated (see :pep:`PEP 594 <594#smtpd>` for " +"details). The `aiosmtpd `_ package is a " +"recommended replacement for this module. It is based on :mod:`asyncio` and " +"provides a more straightforward API." +msgstr "" + +msgid "" +"Several server implementations are present; one is a generic do-nothing " +"implementation, which can be overridden, while the other two offer specific " +"mail-sending strategies." +msgstr "" +"Присутні кілька реалізацій сервера; один — це загальна реалізація нічого не " +"робити, яку можна перевизначити, тоді як інші два пропонують спеціальні " +"стратегії надсилання пошти." + +msgid "" +"Additionally the SMTPChannel may be extended to implement very specific " +"interaction behaviour with SMTP clients." +msgstr "" +"Крім того, SMTPChannel можна розширити, щоб реалізувати дуже специфічну " +"поведінку взаємодії з клієнтами SMTP." + +msgid "" +"The code supports :RFC:`5321`, plus the :rfc:`1870` SIZE and :rfc:`6531` " +"SMTPUTF8 extensions." +msgstr "" +"Код підтримує :RFC:`5321`, а також розширення :rfc:`1870` SIZE і :rfc:`6531` " +"SMTPUTF8." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "SMTPServer Objects" +msgstr "Об'єкти SMTPServer" + +msgid "" +"Create a new :class:`SMTPServer` object, which binds to local address " +"*localaddr*. It will treat *remoteaddr* as an upstream SMTP relayer. Both " +"*localaddr* and *remoteaddr* should be a :ref:`(host, port) ` " +"tuple. The object inherits from :class:`asyncore.dispatcher`, and so will " +"insert itself into :mod:`asyncore`'s event loop on instantiation." +msgstr "" +"Створіть новий об’єкт :class:`SMTPServer`, який прив’язується до локальної " +"адреси *localaddr*. Він розглядатиме *remoteaddr* як вихідний ретранслятор " +"SMTP. І *localaddr*, і *remoteaddr* мають бути кортежем :ref:`(хост, порт) " +"`. Об’єкт успадковується від :class:`asyncore.dispatcher`, тому " +"вставлятиметься в цикл подій :mod:`asyncore` під час створення екземпляра." + +msgid "" +"*data_size_limit* specifies the maximum number of bytes that will be " +"accepted in a ``DATA`` command. A value of ``None`` or ``0`` means no limit." +msgstr "" +"*data_size_limit* вказує максимальну кількість байтів, яка буде прийнята в " +"команді ``DATA``. Значення \"Немає\" або \"0\" означає відсутність обмежень." + +msgid "" +"*map* is the socket map to use for connections (an initially empty " +"dictionary is a suitable value). If not specified the :mod:`asyncore` " +"global socket map is used." +msgstr "" +"*map* — це карта сокетів, яка використовується для підключення (спочатку " +"порожній словник є відповідним значенням). Якщо не вказано, використовується " +"глобальна карта сокетів :mod:`asyncore`." + +msgid "" +"*enable_SMTPUTF8* determines whether the ``SMTPUTF8`` extension (as defined " +"in :RFC:`6531`) should be enabled. The default is ``False``. When ``True``, " +"``SMTPUTF8`` is accepted as a parameter to the ``MAIL`` command and when " +"present is passed to :meth:`process_message` in the " +"``kwargs['mail_options']`` list. *decode_data* and *enable_SMTPUTF8* cannot " +"be set to ``True`` at the same time." +msgstr "" +"*enable_SMTPUTF8* визначає, чи слід увімкнути розширення ``SMTPUTF8`` (як " +"визначено в :RFC:`6531`). Типовим значенням є ``False``. Якщо ``True``, " +"``SMTPUTF8`` приймається як параметр команди ``MAIL``, а якщо присутній, " +"передається до :meth:`process_message` у списку ``kwargs['mail_options']`` . " +"*decode_data* і *enable_SMTPUTF8* не можуть бути встановлені на ``True`` " +"одночасно." + +msgid "" +"*decode_data* specifies whether the data portion of the SMTP transaction " +"should be decoded using UTF-8. When *decode_data* is ``False`` (the " +"default), the server advertises the ``8BITMIME`` extension (:rfc:`6152`), " +"accepts the ``BODY=8BITMIME`` parameter to the ``MAIL`` command, and when " +"present passes it to :meth:`process_message` in the " +"``kwargs['mail_options']`` list. *decode_data* and *enable_SMTPUTF8* cannot " +"be set to ``True`` at the same time." +msgstr "" +"*decode_data* вказує, чи слід декодувати частину даних транзакції SMTP за " +"допомогою UTF-8. Коли *decode_data* має значення ``False`` (за " +"замовчуванням), сервер повідомляє про розширення ``8BITMIME`` (:rfc:`6152`), " +"приймає параметр ``BODY=8BITMIME`` до ``MAIL`` і за наявності передає її до :" +"meth:`process_message` у списку ``kwargs['mail_options']``. *decode_data* і " +"*enable_SMTPUTF8* не можуть бути встановлені на ``True`` одночасно." + +msgid "" +"Raise a :exc:`NotImplementedError` exception. Override this in subclasses to " +"do something useful with this message. Whatever was passed in the " +"constructor as *remoteaddr* will be available as the :attr:`_remoteaddr` " +"attribute. *peer* is the remote host's address, *mailfrom* is the envelope " +"originator, *rcpttos* are the envelope recipients and *data* is a string " +"containing the contents of the e-mail (which should be in :rfc:`5321` " +"format)." +msgstr "" +"Викликати виняток :exc:`NotImplementedError`. Перевизначте це в підкласах, " +"щоб зробити щось корисне з цим повідомленням. Все, що було передано в " +"конструктор як *remoteaddr*, буде доступним як атрибут :attr:`_remoteaddr`. " +"*peer* — це адреса віддаленого хоста, *mailfrom* — джерело конверта, " +"*rcpttos* — одержувачі конверта, а *data* — це рядок, що містить вміст " +"електронного листа (який має бути в :rfc:`5321` формат)." + +msgid "" +"If the *decode_data* constructor keyword is set to ``True``, the *data* " +"argument will be a unicode string. If it is set to ``False``, it will be a " +"bytes object." +msgstr "" +"Якщо ключове слово конструктора *decode_data* має значення ``True``, " +"аргумент *data* буде рядком Юнікод. Якщо для нього встановлено значення " +"``False``, це буде об’єкт bytes." + +msgid "" +"*kwargs* is a dictionary containing additional information. It is empty if " +"``decode_data=True`` was given as an init argument, otherwise it contains " +"the following keys:" +msgstr "" +"*kwargs* — словник, що містить додаткову інформацію. Він порожній, якщо " +"``decode_data=True`` було задано як аргумент ініціалізації, інакше він " +"містить такі ключі:" + +msgid "*mail_options*:" +msgstr "*mail_options*:" + +msgid "" +"a list of all received parameters to the ``MAIL`` command (the elements are " +"uppercase strings; example: ``['BODY=8BITMIME', 'SMTPUTF8']``)." +msgstr "" +"список усіх отриманих параметрів команди ``MAIL`` (елементи є рядками у " +"верхньому регістрі; приклад: ``['BODY=8BITMIME', 'SMTPUTF8']``)." + +msgid "*rcpt_options*:" +msgstr "*rcpt_options*:" + +msgid "" +"same as *mail_options* but for the ``RCPT`` command. Currently no ``RCPT " +"TO`` options are supported, so for now this will always be an empty list." +msgstr "" +"те саме, що *mail_options*, але для команди ``RCPT``. Наразі параметри " +"``RCPT TO`` не підтримуються, тому наразі це завжди буде порожній список." + +msgid "" +"Implementations of ``process_message`` should use the ``**kwargs`` signature " +"to accept arbitrary keyword arguments, since future feature enhancements may " +"add keys to the kwargs dictionary." +msgstr "" +"Реалізації ``process_message`` мають використовувати підпис ``**kwargs`` для " +"прийняття довільних аргументів ключових слів, оскільки майбутні покращення " +"функцій можуть додавати ключі до словника kwargs." + +msgid "" +"Return ``None`` to request a normal ``250 Ok`` response; otherwise return " +"the desired response string in :RFC:`5321` format." +msgstr "" +"Поверніть ``None`` для запиту нормальної відповіді ``250 Ok``; інакше " +"поверніть потрібний рядок відповіді у форматі :RFC:`5321`." + +msgid "" +"Override this in subclasses to use a custom :class:`SMTPChannel` for " +"managing SMTP clients." +msgstr "" +"Перевизначте це в підкласах, щоб використовувати спеціальний :class:" +"`SMTPChannel` для керування клієнтами SMTP." + +msgid "The *map* constructor argument." +msgstr "Аргумент конструктора *map*." + +msgid "*localaddr* and *remoteaddr* may now contain IPv6 addresses." +msgstr "*localaddr* і *remoteaddr* тепер можуть містити адреси IPv6." + +msgid "" +"The *decode_data* and *enable_SMTPUTF8* constructor parameters, and the " +"*kwargs* parameter to :meth:`process_message` when *decode_data* is " +"``False``." +msgstr "" +"Параметри конструктора *decode_data* і *enable_SMTPUTF8*, а також параметр " +"*kwargs* для :meth:`process_message`, коли *decode_data* має значення " +"``False``." + +msgid "*decode_data* is now ``False`` by default." +msgstr "*decode_data* тепер має значення ``False`` за замовчуванням." + +msgid "DebuggingServer Objects" +msgstr "Об'єкти DebuggingServer" + +msgid "" +"Create a new debugging server. Arguments are as per :class:`SMTPServer`. " +"Messages will be discarded, and printed on stdout." +msgstr "" +"Створіть новий сервер налагодження. Аргументи відповідають :class:" +"`SMTPServer`. Повідомлення буде видалено та надруковано на стандартному " +"виводі." + +msgid "PureProxy Objects" +msgstr "Об’єкти PureProxy" + +msgid "" +"Create a new pure proxy server. Arguments are as per :class:`SMTPServer`. " +"Everything will be relayed to *remoteaddr*. Note that running this has a " +"good chance to make you into an open relay, so please be careful." +msgstr "" +"Створіть новий чистий проксі-сервер. Аргументи відповідають :class:" +"`SMTPServer`. Усе буде передано на *remoteaddr*. Зауважте, що це має хороші " +"шанси зробити вас відкритим реле, тому будьте обережні." + +msgid "SMTPChannel Objects" +msgstr "Об’єкти SMTPChannel" + +msgid "" +"Create a new :class:`SMTPChannel` object which manages the communication " +"between the server and a single SMTP client." +msgstr "" +"Створіть новий об’єкт :class:`SMTPChannel`, який керуватиме зв’язком між " +"сервером і одним клієнтом SMTP." + +msgid "*conn* and *addr* are as per the instance variables described below." +msgstr "*conn* і *addr* відповідають змінним екземпляра, описаним нижче." + +msgid "" +"*enable_SMTPUTF8* determines whether the ``SMTPUTF8`` extension (as defined " +"in :RFC:`6531`) should be enabled. The default is ``False``. *decode_data* " +"and *enable_SMTPUTF8* cannot be set to ``True`` at the same time." +msgstr "" +"*enable_SMTPUTF8* визначає, чи слід увімкнути розширення ``SMTPUTF8`` (як " +"визначено в :RFC:`6531`). Типовим значенням є ``False``. *decode_data* і " +"*enable_SMTPUTF8* не можуть бути встановлені на ``True`` одночасно." + +msgid "" +"A dictionary can be specified in *map* to avoid using a global socket map." +msgstr "" +"Словник можна вказати в *map*, щоб уникнути використання глобальної карти " +"сокетів." + +msgid "" +"*decode_data* specifies whether the data portion of the SMTP transaction " +"should be decoded using UTF-8. The default is ``False``. *decode_data* and " +"*enable_SMTPUTF8* cannot be set to ``True`` at the same time." +msgstr "" +"*decode_data* вказує, чи слід декодувати частину даних транзакції SMTP за " +"допомогою UTF-8. Типовим значенням є ``False``. *decode_data* і " +"*enable_SMTPUTF8* не можуть бути встановлені на ``True`` одночасно." + +msgid "" +"To use a custom SMTPChannel implementation you need to override the :attr:" +"`SMTPServer.channel_class` of your :class:`SMTPServer`." +msgstr "" +"Щоб використовувати спеціальну реалізацію SMTPChannel, вам потрібно " +"перевизначити :attr:`SMTPServer.channel_class` вашого :class:`SMTPServer`." + +msgid "The *decode_data* and *enable_SMTPUTF8* parameters were added." +msgstr "Додано параметри *decode_data* і *enable_SMTPUTF8*." + +msgid "The :class:`SMTPChannel` has the following instance variables:" +msgstr ":class:`SMTPChannel` має такі змінні екземпляра:" + +msgid "Holds the :class:`SMTPServer` that spawned this channel." +msgstr "Містить :class:`SMTPServer`, який породив цей канал." + +msgid "Holds the socket object connecting to the client." +msgstr "Зберігає об'єкт сокета, який підключається до клієнта." + +msgid "" +"Holds the address of the client, the second value returned by :func:`socket." +"accept `" +msgstr "" +"Містить адресу клієнта, друге значення повертає :func:`socket.accept `" + +msgid "" +"Holds a list of the line strings (decoded using UTF-8) received from the " +"client. The lines have their ``\"\\r\\n\"`` line ending translated to ``\"\\n" +"\"``." +msgstr "" +"Містить список рядків (декодованих за допомогою UTF-8), отриманих від " +"клієнта. Закінчення рядків ``\"\\r\\n\"`` перекладено на ``\"\\n\"``." + +msgid "" +"Holds the current state of the channel. This will be either :attr:`COMMAND` " +"initially and then :attr:`DATA` after the client sends a \"DATA\" line." +msgstr "" +"Зберігає поточний стан каналу. Спочатку це буде :attr:`COMMAND`, а потім :" +"attr:`DATA` після того, як клієнт надішле рядок \"DATA\"." + +msgid "" +"Holds a string containing the greeting sent by the client in its \"HELO\"." +msgstr "" +"Містить рядок, що містить привітання, надіслане клієнтом, у своєму \"HELO\"." + +msgid "" +"Holds a string containing the address identified in the \"MAIL FROM:\" line " +"from the client." +msgstr "" +"Містить рядок, що містить адресу, визначену в рядку \"MAIL FROM:\" від " +"клієнта." + +msgid "" +"Holds a list of strings containing the addresses identified in the \"RCPT TO:" +"\" lines from the client." +msgstr "" +"Містить список рядків, що містять адреси, визначені клієнтом у рядках \"RCPT " +"TO:\"." + +msgid "" +"Holds a string containing all of the data sent by the client during the DATA " +"state, up to but not including the terminating ``\"\\r\\n.\\r\\n\"``." +msgstr "" +"Містить рядок, що містить усі дані, надіслані клієнтом під час стану DATA, " +"окрім кінцевого ``\"\\r\\n.\\r\\n\"``." + +msgid "" +"Holds the fully qualified domain name of the server as returned by :func:" +"`socket.getfqdn`." +msgstr "" + +msgid "" +"Holds the name of the client peer as returned by ``conn.getpeername()`` " +"where ``conn`` is :attr:`conn`." +msgstr "" +"Зберігає ім’я однорангового клієнта, яке повертає ``conn.getpeername()``, де " +"``conn`` є :attr:`conn`." + +msgid "" +"The :class:`SMTPChannel` operates by invoking methods named " +"``smtp_`` upon reception of a command line from the client. Built " +"into the base :class:`SMTPChannel` class are methods for handling the " +"following commands (and responding to them appropriately):" +msgstr "" +":class:`SMTPChannel` працює, викликаючи методи з назвою ``smtp_`` " +"після отримання командного рядка від клієнта. У базовий клас :class:" +"`SMTPChannel` вбудовано методи обробки наступних команд (і відповідної " +"відповіді на них):" + +msgid "Command" +msgstr "Команда" + +msgid "Action taken" +msgstr "Дії прийняті" + +msgid "HELO" +msgstr "ПРИВІТ" + +msgid "" +"Accepts the greeting from the client and stores it in :attr:" +"`seen_greeting`. Sets server to base command mode." +msgstr "" +"Приймає привітання від клієнта та зберігає його в :attr:`seen_greeting`. " +"Перемикає сервер у базовий командний режим." + +msgid "EHLO" +msgstr "EHLO" + +msgid "" +"Accepts the greeting from the client and stores it in :attr:" +"`seen_greeting`. Sets server to extended command mode." +msgstr "" +"Приймає привітання від клієнта та зберігає його в :attr:`seen_greeting`. " +"Встановлює сервер у режим розширених команд." + +msgid "NOOP" +msgstr "NOOP" + +msgid "Takes no action." +msgstr "Не вживає жодних заходів." + +msgid "QUIT" +msgstr "ВИЙТИ" + +msgid "Closes the connection cleanly." +msgstr "Чисто закриває з'єднання." + +msgid "MAIL" +msgstr "ПОШТА" + +msgid "" +"Accepts the \"MAIL FROM:\" syntax and stores the supplied address as :attr:" +"`mailfrom`. In extended command mode, accepts the :rfc:`1870` SIZE " +"attribute and responds appropriately based on the value of *data_size_limit*." +msgstr "" +"Приймає синтаксис \"MAIL FROM:\" і зберігає надану адресу як :attr:" +"`mailfrom`. У розширеному командному режимі приймає атрибут :rfc:`1870` SIZE " +"і відповідає належним чином на основі значення *data_size_limit*." + +msgid "RCPT" +msgstr "RCPT" + +msgid "" +"Accepts the \"RCPT TO:\" syntax and stores the supplied addresses in the :" +"attr:`rcpttos` list." +msgstr "" +"Приймає синтаксис \"RCPT TO:\" і зберігає надані адреси в списку :attr:" +"`rcpttos`." + +msgid "RSET" +msgstr "RESET" + +msgid "" +"Resets the :attr:`mailfrom`, :attr:`rcpttos`, and :attr:`received_data`, but " +"not the greeting." +msgstr "" +"Скидає :attr:`mailfrom`, :attr:`rcpttos` і :attr:`received_data`, але не " +"привітання." + +msgid "DATA" +msgstr "ДАНІ" + +msgid "" +"Sets the internal state to :attr:`DATA` and stores remaining lines from the " +"client in :attr:`received_data` until the terminator ``\"\\r\\n.\\r\\n\"`` " +"is received." +msgstr "" +"Встановлює внутрішній стан на :attr:`DATA` і зберігає решту рядків від " +"клієнта в :attr:`received_data`, доки не буде отримано термінатор ``\"\\r\\n." +"\\r\\n\"``." + +msgid "HELP" +msgstr "ДОПОМОГА" + +msgid "Returns minimal information on command syntax" +msgstr "Повертає мінімальну інформацію про синтаксис команди" + +msgid "VRFY" +msgstr "VRFY" + +msgid "Returns code 252 (the server doesn't know if the address is valid)" +msgstr "Повертає код 252 (сервер не знає, чи адреса дійсна)" + +msgid "EXPN" +msgstr "EXPN" + +msgid "Reports that the command is not implemented." +msgstr "Повідомляє, що команда не реалізована." diff --git a/library/smtplib.po b/library/smtplib.po new file mode 100644 index 000000000..c1cca7887 --- /dev/null +++ b/library/smtplib.po @@ -0,0 +1,904 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`smtplib` --- SMTP protocol client" +msgstr ":mod:`smtplib` --- клієнт протоколу SMTP" + +msgid "**Source code:** :source:`Lib/smtplib.py`" +msgstr "**Вихідний код:** :source:`Lib/smtplib.py`" + +msgid "" +"The :mod:`smtplib` module defines an SMTP client session object that can be " +"used to send mail to any internet machine with an SMTP or ESMTP listener " +"daemon. For details of SMTP and ESMTP operation, consult :rfc:`821` (Simple " +"Mail Transfer Protocol) and :rfc:`1869` (SMTP Service Extensions)." +msgstr "" +"Модуль :mod:`smtplib` визначає об’єкт сеансу клієнта SMTP, який можна " +"використовувати для надсилання пошти на будь-яку машину в Інтернеті з " +"демоном прослуховування SMTP або ESMTP. Щоб дізнатися більше про роботу SMTP " +"і ESMTP, зверніться до :rfc:`821` (простий протокол передачі пошти) і :rfc:" +"`1869` (розширення служби SMTP)." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"An :class:`SMTP` instance encapsulates an SMTP connection. It has methods " +"that support a full repertoire of SMTP and ESMTP operations. If the optional " +"host and port parameters are given, the SMTP :meth:`connect` method is " +"called with those parameters during initialization. If specified, " +"*local_hostname* is used as the FQDN of the local host in the HELO/EHLO " +"command. Otherwise, the local hostname is found using :func:`socket." +"getfqdn`. If the :meth:`connect` call returns anything other than a success " +"code, an :exc:`SMTPConnectError` is raised. The optional *timeout* parameter " +"specifies a timeout in seconds for blocking operations like the connection " +"attempt (if not specified, the global default timeout setting will be " +"used). If the timeout expires, :exc:`TimeoutError` is raised. The optional " +"source_address parameter allows binding to some specific source address in a " +"machine with multiple network interfaces, and/or to some specific source TCP " +"port. It takes a 2-tuple (host, port), for the socket to bind to as its " +"source address before connecting. If omitted (or if host or port are ``''`` " +"and/or 0 respectively) the OS default behavior will be used." +msgstr "" +"Екземпляр :class:`SMTP` інкапсулює з’єднання SMTP. Він має методи, які " +"підтримують повний набір операцій SMTP і ESMTP. Якщо вказані додаткові " +"параметри хоста та порту, метод SMTP :meth:`connect` викликається з цими " +"параметрами під час ініціалізації. Якщо вказано, *local_hostname* " +"використовується як FQDN локального хоста в команді HELO/EHLO. В іншому " +"випадку локальне ім’я хосту визначається за допомогою :func:`socket." +"getfqdn`. Якщо виклик :meth:`connect` повертає щось, окрім коду успішного " +"виконання, виникає помилка :exc:`SMTPConnectError`. Необов’язковий параметр " +"*timeout* визначає час очікування в секундах для блокування таких операцій, " +"як спроба підключення (якщо не вказано, буде використано глобальне " +"налаштування часу очікування за умовчанням). Якщо час очікування " +"закінчується, виникає :exc:`TimeoutError`. Додатковий параметр " +"source_address дозволяє прив’язуватися до певної адреси джерела на машині з " +"декількома мережевими інтерфейсами та/або до певного порту TCP джерела. " +"Потрібен 2-кортеж (хост, порт), щоб сокет зв’язувався з адресою джерела " +"перед підключенням. Якщо пропущено (або якщо хост чи порт мають значення " +"``''`` та/або 0 відповідно), буде використано типову поведінку ОС." + +msgid "" +"For normal use, you should only require the initialization/connect, :meth:" +"`sendmail`, and :meth:`SMTP.quit` methods. An example is included below." +msgstr "" +"Для звичайного використання вам знадобляться лише методи ініціалізації/" +"підключення, :meth:`sendmail` і :meth:`SMTP.quit`. Приклад наведено нижче." + +msgid "" +"The :class:`SMTP` class supports the :keyword:`with` statement. When used " +"like this, the SMTP ``QUIT`` command is issued automatically when the :" +"keyword:`!with` statement exits. E.g.::" +msgstr "" +"Клас :class:`SMTP` підтримує оператор :keyword:`with`. При такому " +"використанні команда SMTP ``QUIT`` виконується автоматично, коли " +"завершується оператор :keyword:`!with`. Наприклад::" + +msgid "" +"Raises an :ref:`auditing event ` ``smtplib.send`` with arguments " +"``self``, ``data``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``smtplib.send`` з аргументами " +"``self``, ``data``." + +msgid "" +"All commands will raise an :ref:`auditing event ` ``smtplib.SMTP." +"send`` with arguments ``self`` and ``data``, where ``data`` is the bytes " +"about to be sent to the remote host." +msgstr "" +"Усі команди викличуть :ref:`подію аудиту ` ``smtplib.SMTP.send`` з " +"аргументами ``self`` і ``data``, де ``data`` це байти, які мають бути " +"надіслані до віддалений хост." + +msgid "Support for the :keyword:`with` statement was added." +msgstr "Додано підтримку оператора :keyword:`with`." + +msgid "source_address argument was added." +msgstr "додано аргумент \"адреса_джерела\"." + +msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." +msgstr "Тепер підтримується розширення SMTPUTF8 (:rfc:`6531`)." + +msgid "" +"If the *timeout* parameter is set to be zero, it will raise a :class:" +"`ValueError` to prevent the creation of a non-blocking socket" +msgstr "" +"Якщо параметр *timeout* дорівнює нулю, це викличе :class:`ValueError`, щоб " +"запобігти створенню неблокуючого сокета" + +msgid "" +"An :class:`SMTP_SSL` instance behaves exactly the same as instances of :" +"class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is " +"required from the beginning of the connection and using :meth:`starttls` is " +"not appropriate. If *host* is not specified, the local host is used. If " +"*port* is zero, the standard SMTP-over-SSL port (465) is used. The optional " +"arguments *local_hostname*, *timeout* and *source_address* have the same " +"meaning as they do in the :class:`SMTP` class. *context*, also optional, " +"can contain a :class:`~ssl.SSLContext` and allows configuring various " +"aspects of the secure connection. Please read :ref:`ssl-security` for best " +"practices." +msgstr "" +"Екземпляр :class:`SMTP_SSL` поводиться точно так само, як екземпляри :class:" +"`SMTP`. :class:`SMTP_SSL` слід використовувати для ситуацій, коли SSL " +"потрібен від початку з’єднання, а використання :meth:`starttls` не " +"підходить. Якщо *host* не вказано, використовується локальний хост. Якщо " +"*port* дорівнює нулю, використовується стандартний порт SMTP через SSL " +"(465). Необов’язкові аргументи *local_hostname*, *timeout* і " +"*source_address* мають те саме значення, що й у класі :class:`SMTP`. " +"*context*, також необов’язковий, може містити :class:`~ssl.SSLContext` і " +"дозволяє налаштовувати різні аспекти безпечного з’єднання. Будь ласка, " +"прочитайте :ref:`ssl-security`, щоб дізнатися про найкращі практики." + +msgid "" +"*keyfile* and *certfile* are a legacy alternative to *context*, and can " +"point to a PEM formatted private key and certificate chain file for the SSL " +"connection." +msgstr "" +"*keyfile* і *certfile* є застарілою альтернативою *context* і можуть " +"вказувати на закритий ключ у форматі PEM і файл ланцюжка сертифікатів для " +"з’єднання SSL." + +msgid "*context* was added." +msgstr "додано *контекст*." + +msgid "" +"The class now supports hostname check with :attr:`ssl.SSLContext." +"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +msgstr "" +"Клас тепер підтримує перевірку імені хоста за допомогою :attr:`ssl." +"SSLContext.check_hostname` і *Індикація імені сервера* (див. :data:`ssl." +"HAS_SNI`)." + +msgid "" +"*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" +"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." +"create_default_context` select the system's trusted CA certificates for you." +msgstr "" +"*keyfile* і *certfile* застаріли на користь *context*. Натомість " +"використовуйте :meth:`ssl.SSLContext.load_cert_chain` або дозвольте :func:" +"`ssl.create_default_context` вибрати для вас надійні сертифікати ЦС системи." + +msgid "" +"The LMTP protocol, which is very similar to ESMTP, is heavily based on the " +"standard SMTP client. It's common to use Unix sockets for LMTP, so our :meth:" +"`connect` method must support that as well as a regular host:port server. " +"The optional arguments local_hostname and source_address have the same " +"meaning as they do in the :class:`SMTP` class. To specify a Unix socket, you " +"must use an absolute path for *host*, starting with a '/'." +msgstr "" +"Протокол LMTP, який дуже схожий на ESMTP, значною мірою базується на " +"стандартному клієнті SMTP. Для LMTP зазвичай використовують сокети Unix, " +"тому наш метод :meth:`connect` має підтримувати це так само, як і звичайний " +"сервер host:port. Необов’язкові аргументи local_hostname і source_address " +"мають те саме значення, що й у класі :class:`SMTP`. Щоб вказати сокет Unix, " +"ви повинні використовувати абсолютний шлях для *host*, починаючи з '/'." + +msgid "" +"Authentication is supported, using the regular SMTP mechanism. When using a " +"Unix socket, LMTP generally don't support or require any authentication, but " +"your mileage might vary." +msgstr "" +"Підтримується автентифікація за допомогою звичайного механізму SMTP. Під час " +"використання сокета Unix LMTP зазвичай не підтримує та не вимагає жодної " +"автентифікації, але ваш пробіг може відрізнятися." + +msgid "The optional *timeout* parameter was added." +msgstr "Додано необов’язковий параметр *timeout*." + +msgid "A nice selection of exceptions is defined as well:" +msgstr "Також визначено хороший вибір винятків:" + +msgid "" +"Subclass of :exc:`OSError` that is the base exception class for all the " +"other exceptions provided by this module." +msgstr "" +"Підклас :exc:`OSError`, який є базовим класом винятків для всіх інших " +"винятків, наданих цим модулем." + +msgid "SMTPException became subclass of :exc:`OSError`" +msgstr "SMTPException став підкласом :exc:`OSError`" + +msgid "" +"This exception is raised when the server unexpectedly disconnects, or when " +"an attempt is made to use the :class:`SMTP` instance before connecting it to " +"a server." +msgstr "" +"Цей виняток виникає, коли сервер несподівано відключається або коли робиться " +"спроба використати екземпляр :class:`SMTP` перед підключенням до сервера." + +msgid "" +"Base class for all exceptions that include an SMTP error code. These " +"exceptions are generated in some instances when the SMTP server returns an " +"error code. The error code is stored in the :attr:`smtp_code` attribute of " +"the error, and the :attr:`smtp_error` attribute is set to the error message." +msgstr "" +"Базовий клас для всіх винятків, які містять код помилки SMTP. Ці винятки " +"виникають у деяких випадках, коли сервер SMTP повертає код помилки. Код " +"помилки зберігається в атрибуті :attr:`smtp_code` помилки, а атрибут :attr:" +"`smtp_error` встановлюється на повідомлення про помилку." + +msgid "" +"Sender address refused. In addition to the attributes set by on all :exc:" +"`SMTPResponseException` exceptions, this sets 'sender' to the string that " +"the SMTP server refused." +msgstr "" +"Адресу відправника відхилено. На додаток до атрибутів, встановлених для всіх " +"винятків :exc:`SMTPResponseException`, це встановлює \"відправником\" рядок, " +"який сервер SMTP відхилив." + +msgid "" +"All recipient addresses refused. The errors for each recipient are " +"accessible through the attribute :attr:`recipients`, which is a dictionary " +"of exactly the same sort as :meth:`SMTP.sendmail` returns." +msgstr "" +"Усі адреси одержувачів відхилено. Помилки для кожного одержувача доступні " +"через атрибут :attr:`recipients`, який є словником того самого типу, що й " +"повертає :meth:`SMTP.sendmail`." + +msgid "The SMTP server refused to accept the message data." +msgstr "Сервер SMTP відмовився прийняти дані повідомлення." + +msgid "Error occurred during establishment of a connection with the server." +msgstr "Під час встановлення з'єднання з сервером сталася помилка." + +msgid "The server refused our ``HELO`` message." +msgstr "Сервер відхилив наше повідомлення ``HELO``." + +msgid "The command or option attempted is not supported by the server." +msgstr "Вибрана команда або параметр не підтримується сервером." + +msgid "" +"SMTP authentication went wrong. Most probably the server didn't accept the " +"username/password combination provided." +msgstr "" +"Автентифікація SMTP сталася неправильною. Швидше за все, сервер не прийняв " +"надану комбінацію імені користувача та пароля." + +msgid ":rfc:`821` - Simple Mail Transfer Protocol" +msgstr ":rfc:`821` - Простий протокол передачі пошти" + +msgid "" +"Protocol definition for SMTP. This document covers the model, operating " +"procedure, and protocol details for SMTP." +msgstr "" +"Визначення протоколу для SMTP. У цьому документі описано модель, операційну " +"процедуру та деталі протоколу SMTP." + +msgid ":rfc:`1869` - SMTP Service Extensions" +msgstr ":rfc:`1869` - розширення служби SMTP" + +msgid "" +"Definition of the ESMTP extensions for SMTP. This describes a framework for " +"extending SMTP with new commands, supporting dynamic discovery of the " +"commands provided by the server, and defines a few additional commands." +msgstr "" +"Визначення розширень ESMTP для SMTP. Тут описано структуру для розширення " +"SMTP новими командами, підтримкою динамічного виявлення команд, які надає " +"сервер, і визначено кілька додаткових команд." + +msgid "SMTP Objects" +msgstr "Об'єкти SMTP" + +msgid "An :class:`SMTP` instance has the following methods:" +msgstr "Екземпляр :class:`SMTP` має такі методи:" + +msgid "" +"Set the debug output level. A value of 1 or ``True`` for *level* results in " +"debug messages for connection and for all messages sent to and received from " +"the server. A value of 2 for *level* results in these messages being " +"timestamped." +msgstr "" +"Установіть вихідний рівень налагодження. Значення 1 або ``True`` для *рівня* " +"призводить до повідомлень про налагодження для з’єднання та для всіх " +"повідомлень, надісланих і отриманих із сервера. Значення 2 для *рівня* " +"призводить до того, що ці повідомлення мають мітку часу." + +msgid "Added debuglevel 2." +msgstr "Додано рівень налагодження 2." + +msgid "" +"Send a command *cmd* to the server. The optional argument *args* is simply " +"concatenated to the command, separated by a space." +msgstr "" +"Надішліть на сервер команду *cmd*. Необов’язковий аргумент *args* просто " +"об’єднується з командою, розділяючись пробілом." + +msgid "" +"This returns a 2-tuple composed of a numeric response code and the actual " +"response line (multiline responses are joined into one long line.)" +msgstr "" +"Це повертає 2-кортеж, що складається з числового коду відповіді та " +"фактичного рядка відповіді (багаторядкові відповіді об’єднуються в один " +"довгий рядок)." + +msgid "" +"In normal operation it should not be necessary to call this method " +"explicitly. It is used to implement other methods and may be useful for " +"testing private extensions." +msgstr "" +"У нормальній роботі не потрібно явно викликати цей метод. Він " +"використовується для реалізації інших методів і може бути корисним для " +"тестування приватних розширень." + +msgid "" +"If the connection to the server is lost while waiting for the reply, :exc:" +"`SMTPServerDisconnected` will be raised." +msgstr "" +"Якщо з’єднання із сервером втрачено під час очікування відповіді, буде " +"виведено :exc:`SMTPServerDisconnected`." + +msgid "" +"Connect to a host on a given port. The defaults are to connect to the local " +"host at the standard SMTP port (25). If the hostname ends with a colon " +"(``':'``) followed by a number, that suffix will be stripped off and the " +"number interpreted as the port number to use. This method is automatically " +"invoked by the constructor if a host is specified during instantiation. " +"Returns a 2-tuple of the response code and message sent by the server in its " +"connection response." +msgstr "" +"Підключіться до хосту на заданому порту. За замовчуванням підключення до " +"локального хосту здійснюється через стандартний порт SMTP (25). Якщо ім’я " +"хоста закінчується двокрапкою (``':''``), після якої йде число, цей суфікс " +"буде видалено, а число інтерпретується як номер порту для використання. Цей " +"метод автоматично викликається конструктором, якщо під час створення " +"екземпляра вказано хост. Повертає 2-кортеж коду відповіді та повідомлення, " +"надіслане сервером у відповіді на підключення." + +msgid "" +"Raises an :ref:`auditing event ` ``smtplib.connect`` with " +"arguments ``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``smtplib.connect`` з аргументами " +"``self``, ``host``, ``port``." + +msgid "" +"Identify yourself to the SMTP server using ``HELO``. The hostname argument " +"defaults to the fully qualified domain name of the local host. The message " +"returned by the server is stored as the :attr:`helo_resp` attribute of the " +"object." +msgstr "" +"Ідентифікуйте себе на сервері SMTP за допомогою ``HELO``. Аргумент імені " +"хоста за замовчуванням відповідає повному доменному імені локального хосту. " +"Повідомлення, яке повертає сервер, зберігається як атрибут :attr:`helo_resp` " +"об’єкта." + +msgid "" +"In normal operation it should not be necessary to call this method " +"explicitly. It will be implicitly called by the :meth:`sendmail` when " +"necessary." +msgstr "" +"У нормальній роботі не потрібно явно викликати цей метод. За потреби його " +"неявно викликає :meth:`sendmail`." + +msgid "" +"Identify yourself to an ESMTP server using ``EHLO``. The hostname argument " +"defaults to the fully qualified domain name of the local host. Examine the " +"response for ESMTP option and store them for use by :meth:`has_extn`. Also " +"sets several informational attributes: the message returned by the server is " +"stored as the :attr:`ehlo_resp` attribute, :attr:`does_esmtp` is set to " +"``True`` or ``False`` depending on whether the server supports ESMTP, and :" +"attr:`esmtp_features` will be a dictionary containing the names of the SMTP " +"service extensions this server supports, and their parameters (if any)." +msgstr "" +"Ідентифікуйте себе на сервері ESMTP за допомогою ``EHLO``. Аргумент імені " +"хоста за замовчуванням відповідає повному доменному імені локального хосту. " +"Перевірте відповідь для опції ESMTP і збережіть їх для використання :meth:" +"`has_extn`. Також встановлює кілька інформаційних атрибутів: повідомлення, " +"яке повертає сервер, зберігається як атрибут :attr:`ehlo_resp`, :attr:" +"`does_esmtp` має значення ``True`` або ``False`` залежно від того, чи " +"підтримує сервер ESMTP і :attr:`esmtp_features` будуть словником, що містить " +"назви розширень служби SMTP, які підтримує цей сервер, і їхні параметри " +"(якщо такі є)." + +msgid "" +"Unless you wish to use :meth:`has_extn` before sending mail, it should not " +"be necessary to call this method explicitly. It will be implicitly called " +"by :meth:`sendmail` when necessary." +msgstr "" +"Якщо ви не бажаєте використовувати :meth:`has_extn` перед надсиланням пошти, " +"не потрібно явно викликати цей метод. Його неявно викликає :meth:`sendmail`, " +"коли це необхідно." + +msgid "" +"This method calls :meth:`ehlo` and/or :meth:`helo` if there has been no " +"previous ``EHLO`` or ``HELO`` command this session. It tries ESMTP ``EHLO`` " +"first." +msgstr "" +"Цей метод викликає :meth:`ehlo` та/або :meth:`helo`, якщо в цьому сеансі не " +"було попередньої команди ``EHLO`` або ``HELO``. Спочатку він пробує ESMTP " +"``EHLO``." + +msgid ":exc:`SMTPHeloError`" +msgstr ":exc:`SMTPHeloError`" + +msgid "The server didn't reply properly to the ``HELO`` greeting." +msgstr "Сервер не відповів належним чином на привітання ``HELO``." + +msgid "" +"Return :const:`True` if *name* is in the set of SMTP service extensions " +"returned by the server, :const:`False` otherwise. Case is ignored." +msgstr "" +"Повернути :const:`True`, якщо *name* є в наборі розширень служби SMTP, які " +"повертає сервер, :const:`False` в іншому випадку. Регістр ігнорується." + +msgid "" +"Check the validity of an address on this server using SMTP ``VRFY``. Returns " +"a tuple consisting of code 250 and a full :rfc:`822` address (including " +"human name) if the user address is valid. Otherwise returns an SMTP error " +"code of 400 or greater and an error string." +msgstr "" +"Перевірте дійсність адреси на цьому сервері за допомогою SMTP ``VRFY``. " +"Повертає кортеж, що складається з коду 250 і повної адреси :rfc:`822` " +"(включаючи ім’я людини), якщо адреса користувача дійсна. В іншому випадку " +"повертає код помилки SMTP 400 або більше та рядок помилки." + +msgid "Many sites disable SMTP ``VRFY`` in order to foil spammers." +msgstr "Багато сайтів відключають SMTP ``VRFY``, щоб перешкодити спамерам." + +msgid "" +"Log in on an SMTP server that requires authentication. The arguments are the " +"username and the password to authenticate with. If there has been no " +"previous ``EHLO`` or ``HELO`` command this session, this method tries ESMTP " +"``EHLO`` first. This method will return normally if the authentication was " +"successful, or may raise the following exceptions:" +msgstr "" +"Увійдіть на сервер SMTP, який вимагає автентифікації. Аргументами є ім’я " +"користувача та пароль для автентифікації. Якщо в цьому сеансі не було " +"попередньої команди ``EHLO`` або ``HELO``, цей метод спочатку намагається " +"ESMTP ``EHLO``. Цей метод повернеться нормально, якщо автентифікація пройшла " +"успішно, або може викликати такі винятки:" + +msgid ":exc:`SMTPAuthenticationError`" +msgstr ":exc:`SMTPAuthenticationError`" + +msgid "The server didn't accept the username/password combination." +msgstr "Сервер не прийняв комбінацію імені користувача та пароля." + +msgid ":exc:`SMTPNotSupportedError`" +msgstr ":exc:`SMTPNotSupportedError`" + +msgid "The ``AUTH`` command is not supported by the server." +msgstr "Команда ``AUTH`` не підтримується сервером." + +msgid ":exc:`SMTPException`" +msgstr ":exc:`SMTPException`" + +msgid "No suitable authentication method was found." +msgstr "Відповідний метод автентифікації не знайдено." + +msgid "" +"Each of the authentication methods supported by :mod:`smtplib` are tried in " +"turn if they are advertised as supported by the server. See :meth:`auth` " +"for a list of supported authentication methods. *initial_response_ok* is " +"passed through to :meth:`auth`." +msgstr "" +"Кожен із методів автентифікації, які підтримує :mod:`smtplib`, пробується по " +"черзі, якщо вони оголошуються як такі, що підтримуються сервером. " +"Перегляньте :meth:`auth` список підтримуваних методів автентифікації. " +"*initial_response_ok* передається до :meth:`auth`." + +msgid "" +"Optional keyword argument *initial_response_ok* specifies whether, for " +"authentication methods that support it, an \"initial response\" as specified " +"in :rfc:`4954` can be sent along with the ``AUTH`` command, rather than " +"requiring a challenge/response." +msgstr "" +"Необов’язковий аргумент ключового слова *initial_response_ok* визначає, чи " +"для методів автентифікації, які його підтримують, \"початкову відповідь\", " +"як зазначено в :rfc:`4954`, можна надіслати разом із командою ``AUTH`` " +"замість того, щоб вимагати виклик/відповідь ." + +msgid "" +":exc:`SMTPNotSupportedError` may be raised, and the *initial_response_ok* " +"parameter was added." +msgstr "" +":exc:`SMTPNotSupportedError` може бути викликано, і було додано параметр " +"*initial_response_ok*." + +msgid "" +"Issue an ``SMTP`` ``AUTH`` command for the specified authentication " +"*mechanism*, and handle the challenge response via *authobject*." +msgstr "" +"Видайте команду ``SMTP`` ``AUTH`` для вказаного *механізму* автентифікації " +"та обробіть відповідь на виклик через *authobject*." + +msgid "" +"*mechanism* specifies which authentication mechanism is to be used as " +"argument to the ``AUTH`` command; the valid values are those listed in the " +"``auth`` element of :attr:`esmtp_features`." +msgstr "" +"*mechanism* вказує, який механізм автентифікації використовуватиметься як " +"аргумент для команди ``AUTH``; дійсними значеннями є ті, що вказані в " +"елементі ``auth`` :attr:`esmtp_features`." + +msgid "" +"*authobject* must be a callable object taking an optional single argument:" +msgstr "" +"*authobject* має бути викликаним об’єктом, який приймає необов’язковий " +"єдиний аргумент:" + +msgid "data = authobject(challenge=None)" +msgstr "data = authobject(challenge=None)" + +msgid "" +"If optional keyword argument *initial_response_ok* is true, ``authobject()`` " +"will be called first with no argument. It can return the :rfc:`4954` " +"\"initial response\" ASCII ``str`` which will be encoded and sent with the " +"``AUTH`` command as below. If the ``authobject()`` does not support an " +"initial response (e.g. because it requires a challenge), it should return " +"``None`` when called with ``challenge=None``. If *initial_response_ok* is " +"false, then ``authobject()`` will not be called first with ``None``." +msgstr "" +"Якщо необов’язковий аргумент ключового слова *initial_response_ok* має " +"значення true, спочатку буде викликано ``authobject()`` без аргументу. Він " +"може повертати :rfc:`4954` \"початкову відповідь\" ASCII ``str``, який буде " +"закодовано та надіслано командою ``AUTH``, як показано нижче. Якщо " +"``authobject()`` не підтримує початкову відповідь (наприклад, через те, що " +"він вимагає виклику), він повинен повернути ``None`` під час виклику " +"``challenge=None``. Якщо *initial_response_ok* має значення false, то " +"``authobject()`` не буде викликано спочатку з ``None``." + +msgid "" +"If the initial response check returns ``None``, or if *initial_response_ok* " +"is false, ``authobject()`` will be called to process the server's challenge " +"response; the *challenge* argument it is passed will be a ``bytes``. It " +"should return ASCII ``str`` *data* that will be base64 encoded and sent to " +"the server." +msgstr "" +"Якщо початкова перевірка відповіді повертає ``None``, або якщо " +"*initial_response_ok* має значення false, ``authobject()`` буде викликано " +"для обробки відповіді на запит сервера; аргумент *challenge*, який він " +"передає, буде ``байтом``. Він має повернути ASCII ``str`` *data*, які будуть " +"закодовані base64 і надіслані на сервер." + +msgid "" +"The ``SMTP`` class provides ``authobjects`` for the ``CRAM-MD5``, ``PLAIN``, " +"and ``LOGIN`` mechanisms; they are named ``SMTP.auth_cram_md5``, ``SMTP." +"auth_plain``, and ``SMTP.auth_login`` respectively. They all require that " +"the ``user`` and ``password`` properties of the ``SMTP`` instance are set to " +"appropriate values." +msgstr "" +"Клас ``SMTP`` надає ``authobjects`` для механізмів ``CRAM-MD5``, ``PLAIN`` і " +"``LOGIN``; вони називаються ``SMTP.auth_cram_md5``, ``SMTP.auth_plain`` і " +"``SMTP.auth_login`` відповідно. Усі вони вимагають, щоб властивості " +"``користувач`` і ``пароль`` примірника ``SMTP`` були встановлені на " +"відповідні значення." + +msgid "" +"User code does not normally need to call ``auth`` directly, but can instead " +"call the :meth:`login` method, which will try each of the above mechanisms " +"in turn, in the order listed. ``auth`` is exposed to facilitate the " +"implementation of authentication methods not (or not yet) supported directly " +"by :mod:`smtplib`." +msgstr "" +"Код користувача зазвичай не потребує безпосереднього виклику ``auth``, але " +"натомість може викликати метод :meth:`login`, який спробує по черзі кожен із " +"наведених вище механізмів у зазначеному порядку. ``auth`` доступний для " +"полегшення реалізації методів автентифікації, які не (або ще не " +"підтримуються) безпосередньо :mod:`smtplib`." + +msgid "" +"Put the SMTP connection in TLS (Transport Layer Security) mode. All SMTP " +"commands that follow will be encrypted. You should then call :meth:`ehlo` " +"again." +msgstr "" +"Переведіть SMTP-з’єднання в режим TLS (Transport Layer Security). Усі " +"наступні команди SMTP будуть зашифровані. Потім вам слід знову викликати :" +"meth:`ehlo`." + +msgid "" +"If *keyfile* and *certfile* are provided, they are used to create an :class:" +"`ssl.SSLContext`." +msgstr "" +"Якщо надано *keyfile* і *certfile*, вони використовуються для створення :" +"class:`ssl.SSLContext`." + +msgid "" +"Optional *context* parameter is an :class:`ssl.SSLContext` object; This is " +"an alternative to using a keyfile and a certfile and if specified both " +"*keyfile* and *certfile* should be ``None``." +msgstr "" +"Додатковий параметр *context* є об’єктом :class:`ssl.SSLContext`; Це " +"альтернатива використанню файлу ключа та файлу сертифіката, і якщо вказано " +"як *keyfile*, так і *certfile*, має бути ``None``." + +msgid "" +"If there has been no previous ``EHLO`` or ``HELO`` command this session, " +"this method tries ESMTP ``EHLO`` first." +msgstr "" +"Якщо в цьому сеансі не було попередньої команди ``EHLO`` або ``HELO``, цей " +"метод спочатку намагається ESMTP ``EHLO``." + +msgid "The server does not support the STARTTLS extension." +msgstr "Сервер не підтримує розширення STARTTLS." + +msgid ":exc:`RuntimeError`" +msgstr ":exc:`RuntimeError`" + +msgid "SSL/TLS support is not available to your Python interpreter." +msgstr "Підтримка SSL/TLS недоступна для вашого інтерпретатора Python." + +msgid "" +"The method now supports hostname check with :attr:`SSLContext." +"check_hostname` and *Server Name Indicator* (see :data:`~ssl.HAS_SNI`)." +msgstr "" +"Тепер цей метод підтримує перевірку імені хоста за допомогою :attr:" +"`SSLContext.check_hostname` і *індикатора імені сервера* (див. :data:`~ssl." +"HAS_SNI`)." + +msgid "" +"The error raised for lack of STARTTLS support is now the :exc:" +"`SMTPNotSupportedError` subclass instead of the base :exc:`SMTPException`." +msgstr "" +"Помилка, викликана відсутністю підтримки STARTTLS, тепер є підкласом :exc:" +"`SMTPNotSupportedError` замість основного :exc:`SMTPException`." + +msgid "" +"Send mail. The required arguments are an :rfc:`822` from-address string, a " +"list of :rfc:`822` to-address strings (a bare string will be treated as a " +"list with 1 address), and a message string. The caller may pass a list of " +"ESMTP options (such as ``8bitmime``) to be used in ``MAIL FROM`` commands as " +"*mail_options*. ESMTP options (such as ``DSN`` commands) that should be used " +"with all ``RCPT`` commands can be passed as *rcpt_options*. (If you need to " +"use different ESMTP options to different recipients you have to use the low-" +"level methods such as :meth:`mail`, :meth:`rcpt` and :meth:`data` to send " +"the message.)" +msgstr "" +"Надіслати лист. Необхідними аргументами є рядок адреси :rfc:`822`, список " +"рядків адреси :rfc:`822` (голий рядок розглядатиметься як список з 1 " +"адресою) і рядок повідомлення. Абонент може передати список параметрів ESMTP " +"(наприклад, ``8bitmime``), які будуть використовуватися в командах ``MAIL " +"FROM`` як *mail_options*. Параметри ESMTP (такі як команди ``DSN``), які " +"слід використовувати з усіма командами ``RCPT``, можна передати як " +"*rcpt_options*. (Якщо вам потрібно використовувати різні параметри ESMTP для " +"різних одержувачів, ви повинні використовувати низькорівневі методи, такі " +"як :meth:`mail`, :meth:`rcpt` і :meth:`data` для надсилання повідомлення.)" + +msgid "" +"The *from_addr* and *to_addrs* parameters are used to construct the message " +"envelope used by the transport agents. ``sendmail`` does not modify the " +"message headers in any way." +msgstr "" +"Параметри *from_addr* і *to_addrs* використовуються для створення конверта " +"повідомлення, що використовується транспортними агентами. ``sendmail`` " +"жодним чином не змінює заголовки повідомлень." + +msgid "" +"*msg* may be a string containing characters in the ASCII range, or a byte " +"string. A string is encoded to bytes using the ascii codec, and lone ``" +"\\r`` and ``\\n`` characters are converted to ``\\r\\n`` characters. A byte " +"string is not modified." +msgstr "" +"*msg* може бути рядком, що містить символи в діапазоні ASCII, або рядком " +"байтів. Рядок кодується в байти за допомогою кодека ascii, а окремі символи " +"``\\r`` і ``\\n`` перетворюються на символи ``\\r\\n``. Рядок байтів не " +"змінено." + +msgid "" +"If there has been no previous ``EHLO`` or ``HELO`` command this session, " +"this method tries ESMTP ``EHLO`` first. If the server does ESMTP, message " +"size and each of the specified options will be passed to it (if the option " +"is in the feature set the server advertises). If ``EHLO`` fails, ``HELO`` " +"will be tried and ESMTP options suppressed." +msgstr "" +"Якщо в цьому сеансі не було попередньої команди ``EHLO`` або ``HELO``, цей " +"метод спочатку намагається ESMTP ``EHLO``. Якщо сервер використовує ESMTP, " +"йому буде передано розмір повідомлення та кожен із зазначених параметрів " +"(якщо цей параметр є в наборі функцій, який повідомляє сервер). Якщо " +"``EHLO`` не вдається, ``HELO`` буде спробовано, а параметри ESMTP пригнічені." + +msgid "" +"This method will return normally if the mail is accepted for at least one " +"recipient. Otherwise it will raise an exception. That is, if this method " +"does not raise an exception, then someone should get your mail. If this " +"method does not raise an exception, it returns a dictionary, with one entry " +"for each recipient that was refused. Each entry contains a tuple of the " +"SMTP error code and the accompanying error message sent by the server." +msgstr "" +"Цей метод повертатиметься нормально, якщо пошту прийнято принаймні для " +"одного одержувача. Інакше викличе виняток. Тобто, якщо цей метод не викликає " +"винятку, то хтось має отримати вашу пошту. Якщо цей метод не викликає " +"винятку, він повертає словник з одним записом для кожного одержувача, якому " +"було відмовлено. Кожен запис містить кортеж коду помилки SMTP і супровідне " +"повідомлення про помилку, надіслане сервером." + +msgid "" +"If ``SMTPUTF8`` is included in *mail_options*, and the server supports it, " +"*from_addr* and *to_addrs* may contain non-ASCII characters." +msgstr "" +"Якщо ``SMTPUTF8`` включено в *mail_options* і сервер підтримує його, " +"*from_addr* і *to_addrs* можуть містити символи, відмінні від ASCII." + +msgid "This method may raise the following exceptions:" +msgstr "Цей метод може викликати такі винятки:" + +msgid ":exc:`SMTPRecipientsRefused`" +msgstr ":exc:`SMTPRecipientsRefused`" + +msgid "" +"All recipients were refused. Nobody got the mail. The :attr:`recipients` " +"attribute of the exception object is a dictionary with information about the " +"refused recipients (like the one returned when at least one recipient was " +"accepted)." +msgstr "" +"Усім одержувачам було відмовлено. Ніхто не отримав пошту. Атрибут :attr:" +"`recipients` об’єкта винятку — це словник з інформацією про відхилених " +"одержувачів (наприклад, той, що повертається, коли принаймні один одержувач " +"був прийнятий)." + +msgid ":exc:`SMTPSenderRefused`" +msgstr ":exc:`SMTPSenderRefused`" + +msgid "The server didn't accept the *from_addr*." +msgstr "Сервер не прийняв *from_addr*." + +msgid ":exc:`SMTPDataError`" +msgstr ":exc:`SMTPDataError`" + +msgid "" +"The server replied with an unexpected error code (other than a refusal of a " +"recipient)." +msgstr "Сервер відповів неочікуваним кодом помилки (окрім відмови одержувача)." + +msgid "" +"``SMTPUTF8`` was given in the *mail_options* but is not supported by the " +"server." +msgstr "" +"``SMTPUTF8`` було вказано в *mail_options*, але не підтримується сервером." + +msgid "" +"Unless otherwise noted, the connection will be open even after an exception " +"is raised." +msgstr "" +"Якщо не зазначено інше, з’єднання буде відкритим навіть після того, як " +"виникне виняток." + +msgid "*msg* may be a byte string." +msgstr "*msg* може бути рядком байтів." + +msgid "" +"``SMTPUTF8`` support added, and :exc:`SMTPNotSupportedError` may be raised " +"if ``SMTPUTF8`` is specified but the server does not support it." +msgstr "" +"Додано підтримку ``SMTPUTF8``, і :exc:`SMTPNotSupportedError` може виникати, " +"якщо ``SMTPUTF8`` зазначено, але сервер його не підтримує." + +msgid "" +"This is a convenience method for calling :meth:`sendmail` with the message " +"represented by an :class:`email.message.Message` object. The arguments have " +"the same meaning as for :meth:`sendmail`, except that *msg* is a ``Message`` " +"object." +msgstr "" +"Це зручний метод для виклику :meth:`sendmail` з повідомленням, представленим " +"об’єктом :class:`email.message.Message`. Аргументи мають те саме значення, " +"що й для :meth:`sendmail`, за винятком того, що *msg* є об’єктом ``Message``." + +msgid "" +"If *from_addr* is ``None`` or *to_addrs* is ``None``, ``send_message`` fills " +"those arguments with addresses extracted from the headers of *msg* as " +"specified in :rfc:`5322`\\: *from_addr* is set to the :mailheader:`Sender` " +"field if it is present, and otherwise to the :mailheader:`From` field. " +"*to_addrs* combines the values (if any) of the :mailheader:`To`, :mailheader:" +"`Cc`, and :mailheader:`Bcc` fields from *msg*. If exactly one set of :" +"mailheader:`Resent-*` headers appear in the message, the regular headers are " +"ignored and the :mailheader:`Resent-*` headers are used instead. If the " +"message contains more than one set of :mailheader:`Resent-*` headers, a :exc:" +"`ValueError` is raised, since there is no way to unambiguously detect the " +"most recent set of :mailheader:`Resent-` headers." +msgstr "" +"Якщо *from_addr* має значення ``None`` або *to_addrs* має значення ``None``, " +"``send_message`` заповнює ці аргументи адресами, отриманими із заголовків " +"*msg*, як зазначено в :rfc:`5322`\\: *from_addr* встановлюється в поле :" +"mailheader:`Sender`, якщо воно присутнє, або в іншому випадку в поле :" +"mailheader:`From`. *to_addrs* об’єднує значення (якщо такі є) полів :" +"mailheader:`To`, :mailheader:`Cc` та :mailheader:`Bcc` з *повідомлення*. " +"Якщо в повідомленні з’являється рівно один набір заголовків :mailheader:" +"`Resent-*`, звичайні заголовки ігноруються, а замість них використовуються " +"заголовки :mailheader:`Resent-*`. Якщо повідомлення містить більше одного " +"набору заголовків :mailheader:`Resent-*`, виникає помилка :exc:`ValueError`, " +"оскільки неможливо однозначно визначити останній набір заголовків :" +"mailheader:`Resent-` ." + +msgid "" +"``send_message`` serializes *msg* using :class:`~email.generator." +"BytesGenerator` with ``\\r\\n`` as the *linesep*, and calls :meth:`sendmail` " +"to transmit the resulting message. Regardless of the values of *from_addr* " +"and *to_addrs*, ``send_message`` does not transmit any :mailheader:`Bcc` or :" +"mailheader:`Resent-Bcc` headers that may appear in *msg*. If any of the " +"addresses in *from_addr* and *to_addrs* contain non-ASCII characters and the " +"server does not advertise ``SMTPUTF8`` support, an :exc:`SMTPNotSupported` " +"error is raised. Otherwise the ``Message`` is serialized with a clone of " +"its :mod:`~email.policy` with the :attr:`~email.policy.EmailPolicy.utf8` " +"attribute set to ``True``, and ``SMTPUTF8`` and ``BODY=8BITMIME`` are added " +"to *mail_options*." +msgstr "" +"``send_message`` серіалізує *msg* за допомогою :class:`~email.generator." +"BytesGenerator` з ``\\r\\n`` як *linesep*, і викликає :meth:`sendmail` для " +"передачі отриманого повідомлення. Незалежно від значень *from_addr* і " +"*to_addrs*, ``send_message`` не передає жодних заголовків :mailheader:`Bcc` " +"або :mailheader:`Resent-Bcc`, які можуть відображатися в *msg*. Якщо будь-" +"яка з адрес у *from_addr* і *to_addrs* містить символи, відмінні від ASCII, " +"і сервер не рекламує підтримку ``SMTPUTF8``, виникає помилка :exc:" +"`SMTPNotSupported`. В іншому випадку ``Message`` серіалізується за допомогою " +"клону його :mod:`~email.policy` з :attr:`~email.policy.EmailPolicy.utf8` " +"атрибутом ``True`` і ``SMTPUTF8`` і ``BODY=8BITMIME`` додаються до " +"*mail_options*." + +msgid "Support for internationalized addresses (``SMTPUTF8``)." +msgstr "Підтримка інтернаціоналізованих адрес (``SMTPUTF8``)." + +msgid "" +"Terminate the SMTP session and close the connection. Return the result of " +"the SMTP ``QUIT`` command." +msgstr "" +"Припиніть сеанс SMTP і закрийте з’єднання. Повертає результат виконання " +"команди SMTP ``QUIT``." + +msgid "" +"Low-level methods corresponding to the standard SMTP/ESMTP commands " +"``HELP``, ``RSET``, ``NOOP``, ``MAIL``, ``RCPT``, and ``DATA`` are also " +"supported. Normally these do not need to be called directly, so they are not " +"documented here. For details, consult the module code." +msgstr "" +"Методи низького рівня, що відповідають стандартним командам SMTP/ESMTP " +"``HELP``, ``RSET``, ``NOOP``, ``MAIL``, ``RCPT`` і ``DATA``, також є " +"підтримується. Зазвичай їх не потрібно викликати безпосередньо, тому вони " +"тут не задокументовані. Для отримання додаткової інформації зверніться до " +"коду модуля." + +msgid "SMTP Example" +msgstr "Приклад SMTP" + +msgid "" +"This example prompts the user for addresses needed in the message envelope " +"('To' and 'From' addresses), and the message to be delivered. Note that the " +"headers to be included with the message must be included in the message as " +"entered; this example doesn't do any processing of the :rfc:`822` headers. " +"In particular, the 'To' and 'From' addresses must be included in the message " +"headers explicitly. ::" +msgstr "" +"У цьому прикладі користувачеві пропонується вказати адреси, необхідні в " +"конверті повідомлення (адреси \"Кому\" та \"Від\"), а також повідомлення, " +"яке потрібно доставити. Зауважте, що заголовки, які будуть включені до " +"повідомлення, мають бути включені в повідомлення у тому вигляді, в якому " +"вони введені; цей приклад не обробляє заголовки :rfc:`822`. Зокрема, адреси " +"\"Кому\" та \"Від\" мають бути включені в заголовки повідомлення явно. ::" + +msgid "" +"In general, you will want to use the :mod:`email` package's features to " +"construct an email message, which you can then send via :meth:`~smtplib.SMTP." +"send_message`; see :ref:`email-examples`." +msgstr "" +"Загалом, ви захочете використати функції пакета :mod:`email` для створення " +"повідомлення електронної пошти, яке потім можна надіслати через :meth:" +"`~smtplib.SMTP.send_message`; див. :ref:`email-examples`." diff --git a/library/sndhdr.po b/library/sndhdr.po new file mode 100644 index 000000000..3f29648b5 --- /dev/null +++ b/library/sndhdr.po @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`sndhdr` --- Determine type of sound file" +msgstr ":mod:`sndhdr` --- Визначити тип звукового файлу" + +msgid "**Source code:** :source:`Lib/sndhdr.py`" +msgstr "**Вихідний код:** :source:`Lib/sndhdr.py`" + +msgid "" +"The :mod:`sndhdr` module is deprecated (see :pep:`PEP 594 <594#sndhdr>` for " +"details and alternatives)." +msgstr "" +"Модуль :mod:`sndhdr` є застарілим (перегляньте :pep:`PEP 594 <594#sndhdr>` " +"для деталей та альтернатив)." + +msgid "" +"The :mod:`sndhdr` provides utility functions which attempt to determine the " +"type of sound data which is in a file. When these functions are able to " +"determine what type of sound data is stored in a file, they return a :func:" +"`~collections.namedtuple`, containing five attributes: (``filetype``, " +"``framerate``, ``nchannels``, ``nframes``, ``sampwidth``). The value for " +"*type* indicates the data type and will be one of the strings ``'aifc'``, " +"``'aiff'``, ``'au'``, ``'hcom'``, ``'sndr'``, ``'sndt'``, ``'voc'``, " +"``'wav'``, ``'8svx'``, ``'sb'``, ``'ub'``, or ``'ul'``. The *sampling_rate* " +"will be either the actual value or ``0`` if unknown or difficult to decode. " +"Similarly, *channels* will be either the number of channels or ``0`` if it " +"cannot be determined or if the value is difficult to decode. The value for " +"*frames* will be either the number of frames or ``-1``. The last item in " +"the tuple, *bits_per_sample*, will either be the sample size in bits or " +"``'A'`` for A-LAW or ``'U'`` for u-LAW." +msgstr "" +":mod:`sndhdr` надає службові функції, які намагаються визначити тип звукових " +"даних у файлі. Коли ці функції можуть визначити, який тип звукових даних " +"зберігається у файлі, вони повертають :func:`~collections.namedtuple`, що " +"містить п’ять атрибутів: (``filetype``, ``framerate``, ``nchannels``, " +"``nframes``, ``sampwidth``). Значення *type* вказує на тип даних і буде " +"одним із рядків ``'aifc'``, ``'aiff'``, ``'au'``, ``'hcom'``, ``'sndr'``, " +"``'sndt'``, ``'voc'``, ``'wav'``, ``'8svx'``, ``'sb'``, ``' ub''`` або " +"``'ul''``. *Sampling_rate* буде або фактичним значенням, або ``0``, якщо " +"невідомо або його важко декодувати. Так само *channels* буде або кількістю " +"каналів, або ``0``, якщо його неможливо визначити або якщо значення важко " +"декодувати. Значення *frames* буде або кількістю кадрів, або \"-1\". " +"Останній елемент у кортежі, *bits_per_sample*, буде або розміром вибірки в " +"бітах, або ``'A'`` для A-LAW або ``'U'`` для u-LAW." + +msgid "" +"Determines the type of sound data stored in the file *filename* using :func:" +"`whathdr`. If it succeeds, returns a namedtuple as described above, " +"otherwise ``None`` is returned." +msgstr "" +"Визначає тип звукових даних, що зберігаються у файлі *filename* за " +"допомогою :func:`whathdr`. Якщо це вдається, повертає іменований кортеж, як " +"описано вище, інакше повертається ``None``." + +msgid "Result changed from a tuple to a namedtuple." +msgstr "Результат змінено з кортежу на іменований кортеж." + +msgid "" +"Determines the type of sound data stored in a file based on the file " +"header. The name of the file is given by *filename*. This function returns " +"a namedtuple as described above on success, or ``None``." +msgstr "" +"Визначає тип звукових даних, що зберігаються у файлі, на основі заголовка " +"файлу. Ім'я файлу задається *ім'я файлу*. Ця функція повертає іменований " +"кортеж, як описано вище, у разі успіху або ``None``." + +msgid "" +"The following sound header types are recognized, as listed below with the " +"return value from :func:`whathdr`: and :func:`what`:" +msgstr "" + +msgid "Value" +msgstr "Значення" + +msgid "Sound header format" +msgstr "" + +msgid "``'aifc'``" +msgstr "" + +msgid "Compressed Audio Interchange Files" +msgstr "" + +msgid "``'aiff'``" +msgstr "" + +msgid "Audio Interchange Files" +msgstr "" + +msgid "``'au'``" +msgstr "" + +msgid "Au Files" +msgstr "" + +msgid "``'hcom'``" +msgstr "" + +msgid "HCOM Files" +msgstr "" + +msgid "``'sndt'``" +msgstr "" + +msgid "Sndtool Sound Files" +msgstr "" + +msgid "``'voc'``" +msgstr "" + +msgid "Creative Labs Audio Files" +msgstr "" + +msgid "``'wav'``" +msgstr "" + +msgid "Waveform Audio File Format Files" +msgstr "" + +msgid "``'8svx'``" +msgstr "" + +msgid "8-Bit Sampled Voice Files" +msgstr "" + +msgid "``'sb'``" +msgstr "" + +msgid "Signed Byte Audio Data Files" +msgstr "" + +msgid "``'ub'``" +msgstr "" + +msgid "UB Files" +msgstr "" + +msgid "``'ul'``" +msgstr "" + +msgid "uLAW Audio Files" +msgstr "" + +msgid "" +"A list of functions performing the individual tests. Each function takes " +"two arguments: the byte-stream and an open file-like object. When :func:" +"`what` is called with a byte-stream, the file-like object will be ``None``." +msgstr "" +"Перелік функцій, які виконують окремі тести. Кожна функція приймає два " +"аргументи: потік байтів і відкритий файлоподібний об’єкт. Коли :func:`what` " +"викликається потоком байтів, файлоподібний об’єкт матиме значення ``None``." + +msgid "" +"The test function should return a string describing the image type if the " +"test succeeded, or ``None`` if it failed." +msgstr "" +"Функція тестування має повертати рядок із описом типу зображення, якщо тест " +"пройшов успішно, або ``None``, якщо він не вдався." + +msgid "Example:" +msgstr "приклад:" diff --git a/library/socket.po b/library/socket.po new file mode 100644 index 000000000..c4a6f3e5c --- /dev/null +++ b/library/socket.po @@ -0,0 +1,2710 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`socket` --- Low-level networking interface" +msgstr ":mod:`socket` --- Мережевий інтерфейс низького рівня" + +msgid "**Source code:** :source:`Lib/socket.py`" +msgstr "**Вихідний код:** :source:`Lib/socket.py`" + +msgid "" +"This module provides access to the BSD *socket* interface. It is available " +"on all modern Unix systems, Windows, MacOS, and probably additional " +"platforms." +msgstr "" +"Цей модуль забезпечує доступ до інтерфейсу BSD *socket*. Він доступний у " +"всіх сучасних системах Unix, Windows, MacOS і, можливо, на додаткових " +"платформах." + +msgid "" +"Some behavior may be platform dependent, since calls are made to the " +"operating system socket APIs." +msgstr "" +"Деяка поведінка може залежати від платформи, оскільки виклики здійснюються " +"до API сокетів операційної системи." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"The Python interface is a straightforward transliteration of the Unix system " +"call and library interface for sockets to Python's object-oriented style: " +"the :func:`.socket` function returns a :dfn:`socket object` whose methods " +"implement the various socket system calls. Parameter types are somewhat " +"higher-level than in the C interface: as with :meth:`read` and :meth:`write` " +"operations on Python files, buffer allocation on receive operations is " +"automatic, and buffer length is implicit on send operations." +msgstr "" +"Інтерфейс Python є простою транслітерацією системного виклику Unix та " +"інтерфейсу бібліотеки для сокетів у об’єктно-орієнтований стиль Python: " +"функція :func:`.socket` повертає об’єкт :dfn:`socket`, методи якого " +"реалізують різноманітні системні виклики сокетів. . Типи параметрів дещо " +"вищого рівня, ніж в інтерфейсі C: як і з операціями :meth:`read` і :meth:" +"`write` для файлів Python, розподіл буфера для операцій отримання є " +"автоматичним, а довжина буфера неявна для операцій надсилання." + +msgid "Module :mod:`socketserver`" +msgstr "Модуль :mod:`socketserver`" + +msgid "Classes that simplify writing network servers." +msgstr "Класи, які спрощують написання мережевих серверів." + +msgid "Module :mod:`ssl`" +msgstr "Модуль :mod:`ssl`" + +msgid "A TLS/SSL wrapper for socket objects." +msgstr "Обгортка TLS/SSL для об’єктів сокета." + +msgid "Socket families" +msgstr "Сімейства розеток" + +msgid "" +"Depending on the system and the build options, various socket families are " +"supported by this module." +msgstr "" +"Залежно від системи та параметрів збірки, цей модуль підтримує різні " +"сімейства сокетів." + +msgid "" +"The address format required by a particular socket object is automatically " +"selected based on the address family specified when the socket object was " +"created. Socket addresses are represented as follows:" +msgstr "" +"Формат адреси, необхідний для певного об’єкта сокета, вибирається " +"автоматично на основі сімейства адрес, указаного під час створення об’єкта " +"сокета. Адреси сокетів представлені таким чином:" + +msgid "" +"The address of an :const:`AF_UNIX` socket bound to a file system node is " +"represented as a string, using the file system encoding and the " +"``'surrogateescape'`` error handler (see :pep:`383`). An address in Linux's " +"abstract namespace is returned as a :term:`bytes-like object` with an " +"initial null byte; note that sockets in this namespace can communicate with " +"normal file system sockets, so programs intended to run on Linux may need to " +"deal with both types of address. A string or bytes-like object can be used " +"for either type of address when passing it as an argument." +msgstr "" +"Адреса сокета :const:`AF_UNIX`, пов’язаного з вузлом файлової системи, " +"представлена у вигляді рядка з використанням кодування файлової системи та " +"обробника помилок ``'surrogateescape'`` (див. :pep:`383`). Адреса в " +"абстрактному просторі імен Linux повертається як :term:`bytes-like object` з " +"початковим нульовим байтом; зауважте, що сокети в цьому просторі імен можуть " +"взаємодіяти зі звичайними сокетами файлової системи, тому програми, " +"призначені для роботи в Linux, можуть мати справу з обома типами адрес. " +"Рядок або байт-подібний об’єкт можна використовувати для будь-якого типу " +"адреси, передаючи його як аргумент." + +msgid "" +"Previously, :const:`AF_UNIX` socket paths were assumed to use UTF-8 encoding." +msgstr "" +"Раніше вважалося, що шляхи сокетів :const:`AF_UNIX` використовували " +"кодування UTF-8." + +msgid "Writable :term:`bytes-like object` is now accepted." +msgstr "Записуваний :term:`bytes-like object` тепер приймається." + +msgid "" +"A pair ``(host, port)`` is used for the :const:`AF_INET` address family, " +"where *host* is a string representing either a hostname in internet domain " +"notation like ``'daring.cwi.nl'`` or an IPv4 address like " +"``'100.50.200.5'``, and *port* is an integer." +msgstr "" +"Пара ``(хост, порт)`` використовується для родини адрес :const:`AF_INET`, де " +"*хост* — це рядок, який представляє або ім’я хоста в нотації домену " +"Інтернету, як-от ``'daring.cwi.nl'`` або адреса IPv4, наприклад " +"``'100.50.200.5''``, і *порт* є цілим числом." + +msgid "" +"For IPv4 addresses, two special forms are accepted instead of a host " +"address: ``''`` represents :const:`INADDR_ANY`, which is used to bind to all " +"interfaces, and the string ``''`` represents :const:" +"`INADDR_BROADCAST`. This behavior is not compatible with IPv6, therefore, " +"you may want to avoid these if you intend to support IPv6 with your Python " +"programs." +msgstr "" +"Для адрес IPv4 приймаються дві спеціальні форми замість адреси хоста: ``''`` " +"представляє :const:`INADDR_ANY`, який використовується для прив’язки до всіх " +"інтерфейсів, а рядок ``' ''`` представляє :const:" +"`INADDR_BROADCAST`. Така поведінка несумісна з IPv6, тому ви можете уникнути " +"цього, якщо ви маєте намір підтримувати IPv6 у своїх програмах на Python." + +msgid "" +"For :const:`AF_INET6` address family, a four-tuple ``(host, port, flowinfo, " +"scope_id)`` is used, where *flowinfo* and *scope_id* represent the " +"``sin6_flowinfo`` and ``sin6_scope_id`` members in :const:`struct " +"sockaddr_in6` in C. For :mod:`socket` module methods, *flowinfo* and " +"*scope_id* can be omitted just for backward compatibility. Note, however, " +"omission of *scope_id* can cause problems in manipulating scoped IPv6 " +"addresses." +msgstr "" +"Для родини адрес :const:`AF_INET6` використовується чотирикортеж ``(host, " +"port, flowinfo, scope_id)``, де *flowinfo* та *scope_id* представляють " +"``sin6_flowinfo`` та ``sin6_scope_id`` члени в :const:`struct sockaddr_in6` " +"в C. Для методів модуля :mod:`socket` *flowinfo* та *scope_id* можна " +"опустити тільки для зворотної сумісності. Однак зауважте, що пропуск " +"*scope_id* може спричинити проблеми під час маніпулювання адресами IPv6 із " +"областю дії." + +msgid "" +"For multicast addresses (with *scope_id* meaningful) *address* may not " +"contain ``%scope_id`` (or ``zone id``) part. This information is superfluous " +"and may be safely omitted (recommended)." +msgstr "" +"Для багатоадресних адрес (зі значенням *scope_id*) *address* не може містити " +"частину ``%scope_id`` (або ``zone id``). Ця інформація є зайвою, і її можна " +"сміливо опустити (рекомендовано)." + +msgid ":const:`AF_NETLINK` sockets are represented as pairs ``(pid, groups)``." +msgstr ":const:`AF_NETLINK` сокети представлені як пари ``(pid, groups)``." + +msgid "" +"Linux-only support for TIPC is available using the :const:`AF_TIPC` address " +"family. TIPC is an open, non-IP based networked protocol designed for use " +"in clustered computer environments. Addresses are represented by a tuple, " +"and the fields depend on the address type. The general tuple form is " +"``(addr_type, v1, v2, v3 [, scope])``, where:" +msgstr "" +"Підтримка TIPC лише для Linux доступна за допомогою родини адрес :const:" +"`AF_TIPC`. TIPC — це відкритий мережевий протокол не на основі IP, " +"призначений для використання в кластерних комп’ютерних середовищах. Адреси " +"представлені кортежем, а поля залежать від типу адреси. Загальна форма " +"кортежу ``(addr_type, v1, v2, v3 [, scope])``, де:" + +msgid "" +"*addr_type* is one of :const:`TIPC_ADDR_NAMESEQ`, :const:`TIPC_ADDR_NAME`, " +"or :const:`TIPC_ADDR_ID`." +msgstr "" +"*addr_type* є одним із :const:`TIPC_ADDR_NAMESEQ`, :const:`TIPC_ADDR_NAME` " +"або :const:`TIPC_ADDR_ID`." + +msgid "" +"*scope* is one of :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE`, " +"and :const:`TIPC_NODE_SCOPE`." +msgstr "" +"*scope* є одним із :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE` та :" +"const:`TIPC_NODE_SCOPE`." + +msgid "" +"If *addr_type* is :const:`TIPC_ADDR_NAME`, then *v1* is the server type, " +"*v2* is the port identifier, and *v3* should be 0." +msgstr "" +"Якщо *addr_type* дорівнює :const:`TIPC_ADDR_NAME`, тоді *v1* — це тип " +"сервера, *v2* — ідентифікатор порту, а *v3* має бути 0." + +msgid "" +"If *addr_type* is :const:`TIPC_ADDR_NAMESEQ`, then *v1* is the server type, " +"*v2* is the lower port number, and *v3* is the upper port number." +msgstr "" +"Якщо *addr_type* дорівнює :const:`TIPC_ADDR_NAMESEQ`, то *v1* — це тип " +"сервера, *v2* — нижній номер порту, а *v3* — верхній номер порту." + +msgid "" +"If *addr_type* is :const:`TIPC_ADDR_ID`, then *v1* is the node, *v2* is the " +"reference, and *v3* should be set to 0." +msgstr "" +"Якщо *addr_type* дорівнює :const:`TIPC_ADDR_ID`, тоді *v1* є вузлом, *v2* є " +"посиланням, а *v3* має бути встановлено на 0." + +msgid "" +"A tuple ``(interface, )`` is used for the :const:`AF_CAN` address family, " +"where *interface* is a string representing a network interface name like " +"``'can0'``. The network interface name ``''`` can be used to receive packets " +"from all network interfaces of this family." +msgstr "" +"Кортеж ``(інтерфейс, )`` використовується для сімейства адрес :const:" +"`AF_CAN`, де *інтерфейс* — це рядок, що представляє назву мережевого " +"інтерфейсу, наприклад ``'can0'``. Ім'я мережевого інтерфейсу ``''`` можна " +"використовувати для отримання пакетів від усіх мережевих інтерфейсів цього " +"сімейства." + +msgid "" +":const:`CAN_ISOTP` protocol require a tuple ``(interface, rx_addr, " +"tx_addr)`` where both additional parameters are unsigned long integer that " +"represent a CAN identifier (standard or extended)." +msgstr "" +"Протокол :const:`CAN_ISOTP` вимагає кортеж ``(interface, rx_addr, " +"tx_addr)``, де обидва додаткові параметри є довгим цілим числом без знаку, " +"що представляє ідентифікатор CAN (стандартний або розширений)." + +msgid "" +":const:`CAN_J1939` protocol require a tuple ``(interface, name, pgn, addr)`` " +"where additional parameters are 64-bit unsigned integer representing the ECU " +"name, a 32-bit unsigned integer representing the Parameter Group Number " +"(PGN), and an 8-bit integer representing the address." +msgstr "" +" :const:(інтерфейс, ім'я, pgn, адреса)``, де додаткові параметри є 64-" +"розрядним цілим числом без знака, що представляє назву ECU, 32-розрядним " +"цілим числом без знака, що представляє номер групи параметрів (PGN ) і 8-" +"бітове ціле число, що представляє адресу." + +msgid "" +"A string or a tuple ``(id, unit)`` is used for the :const:`SYSPROTO_CONTROL` " +"protocol of the :const:`PF_SYSTEM` family. The string is the name of a " +"kernel control using a dynamically assigned ID. The tuple can be used if ID " +"and unit number of the kernel control are known or if a registered ID is " +"used." +msgstr "" + +msgid "" +":const:`AF_BLUETOOTH` supports the following protocols and address formats:" +msgstr ":const:`AF_BLUETOOTH` підтримує наступні протоколи та формати адрес:" + +msgid "" +":const:`BTPROTO_L2CAP` accepts ``(bdaddr, psm)`` where ``bdaddr`` is the " +"Bluetooth address as a string and ``psm`` is an integer." +msgstr "" +":const:`BTPROTO_L2CAP` приймає ``(bdaddr, psm)``, де ``bdaddr`` — адреса " +"Bluetooth у вигляді рядка, а ``psm`` — ціле число." + +msgid "" +":const:`BTPROTO_RFCOMM` accepts ``(bdaddr, channel)`` where ``bdaddr`` is " +"the Bluetooth address as a string and ``channel`` is an integer." +msgstr "" +":const:`BTPROTO_RFCOMM` приймає ``(bdaddr, канал)``, де ``bdaddr`` — це " +"адреса Bluetooth у вигляді рядка, а ``channel`` — ціле число." + +msgid "" +":const:`BTPROTO_HCI` accepts ``(device_id,)`` where ``device_id`` is either " +"an integer or a string with the Bluetooth address of the interface. (This " +"depends on your OS; NetBSD and DragonFlyBSD expect a Bluetooth address while " +"everything else expects an integer.)" +msgstr "" +":const:`BTPROTO_HCI` приймає ``(device_id,)``, де ``device_id`` є або цілим " +"числом, або рядком з адресою Bluetooth інтерфейсу. (Це залежить від вашої " +"ОС; NetBSD і DragonFlyBSD очікують адресу Bluetooth, а всі інші очікують " +"ціле число.)" + +msgid "NetBSD and DragonFlyBSD support added." +msgstr "Додано підтримку NetBSD і DragonFlyBSD." + +msgid "" +":const:`BTPROTO_SCO` accepts ``bdaddr`` where ``bdaddr`` is a :class:`bytes` " +"object containing the Bluetooth address in a string format. (ex. " +"``b'12:23:34:45:56:67'``) This protocol is not supported under FreeBSD." +msgstr "" +":const:`BTPROTO_SCO` приймає ``bdaddr``, де ``bdaddr`` є об'єктом :class:" +"`bytes`, що містить адресу Bluetooth у форматі рядка. (наприклад, " +"``b'12:23:34:45:56:67''``) Цей протокол не підтримується FreeBSD." + +msgid "" +":const:`AF_ALG` is a Linux-only socket based interface to Kernel " +"cryptography. An algorithm socket is configured with a tuple of two to four " +"elements ``(type, name [, feat [, mask]])``, where:" +msgstr "" +":const:`AF_ALG` — це інтерфейс для криптографії ядра на основі сокетів лише " +"для Linux. Сокет алгоритму налаштований за допомогою кортежу з двох-чотирьох " +"елементів ``(type, name [, feat [, mask]])``, де:" + +msgid "" +"*type* is the algorithm type as string, e.g. ``aead``, ``hash``, " +"``skcipher`` or ``rng``." +msgstr "" +"*type* — це тип алгоритму як рядок, напр. ``aead``, ``hash``, ``skcipher`` " +"або ``rng``." + +msgid "" +"*name* is the algorithm name and operation mode as string, e.g. ``sha256``, " +"``hmac(sha256)``, ``cbc(aes)`` or ``drbg_nopr_ctr_aes256``." +msgstr "" +"*ім’я* — це назва алгоритму та режим роботи у вигляді рядка, напр. " +"``sha256``, ``hmac(sha256)``, ``cbc(aes)`` або ``drbg_nopr_ctr_aes256``." + +msgid "*feat* and *mask* are unsigned 32bit integers." +msgstr "*feat* і *mask* — це 32-розрядні цілі числа без знаку." + +msgid "Some algorithm types require more recent Kernels." +msgstr "" + +msgid "" +":const:`AF_VSOCK` allows communication between virtual machines and their " +"hosts. The sockets are represented as a ``(CID, port)`` tuple where the " +"context ID or CID and port are integers." +msgstr "" +":const:`AF_VSOCK` дозволяє спілкуватися між віртуальними машинами та їх " +"хостами. Сокети представлені як кортеж ``(CID, порт)``, де ідентифікатор " +"контексту або CID і порт є цілими числами." + +msgid "See :manpage:`vsock(7)`" +msgstr "" + +msgid "" +":const:`AF_PACKET` is a low-level interface directly to network devices. The " +"packets are represented by the tuple ``(ifname, proto[, pkttype[, hatype[, " +"addr]]])`` where:" +msgstr "" +":const:`AF_PACKET` — це низькорівневий інтерфейс безпосередньо до мережевих " +"пристроїв. Пакети представлені кортежем ``(ifname, proto[, pkttype[, " +"hatype[, addr]]])``, де:" + +msgid "*ifname* - String specifying the device name." +msgstr "*ifname* - Рядок, що визначає назву пристрою." + +msgid "" +"*proto* - An in network-byte-order integer specifying the Ethernet protocol " +"number." +msgstr "" +"*proto* – ціле число в мережевому порядку байтів, що визначає номер " +"протоколу Ethernet." + +msgid "*pkttype* - Optional integer specifying the packet type:" +msgstr "*pkttype* - додаткове ціле число, що вказує тип пакета:" + +msgid "``PACKET_HOST`` (the default) - Packet addressed to the local host." +msgstr "" +"``PACKET_HOST`` (за замовчуванням) - пакет, адресований локальному хосту." + +msgid "``PACKET_BROADCAST`` - Physical-layer broadcast packet." +msgstr "``PACKET_BROADCAST`` - широкомовний пакет фізичного рівня." + +msgid "" +"``PACKET_MULTICAST`` - Packet sent to a physical-layer multicast address." +msgstr "" + +msgid "" +"``PACKET_OTHERHOST`` - Packet to some other host that has been caught by a " +"device driver in promiscuous mode." +msgstr "" +"``PACKET_OTHERHOST`` - Пакет до іншого хосту, який був перехоплений " +"драйвером пристрою в безладному режимі." + +msgid "" +"``PACKET_OUTGOING`` - Packet originating from the local host that is looped " +"back to a packet socket." +msgstr "" +"``PACKET_OUTGOING`` – Пакет, що надходить від локального хосту і " +"повертається до сокета пакета." + +msgid "*hatype* - Optional integer specifying the ARP hardware address type." +msgstr "*hatype* – додаткове ціле число, що визначає тип апаратної адреси ARP." + +msgid "" +"*addr* - Optional bytes-like object specifying the hardware physical " +"address, whose interpretation depends on the device." +msgstr "" +"*addr* – необов’язковий байтовий об’єкт, що вказує апаратну фізичну адресу, " +"інтерпретація якої залежить від пристрою." + +msgid "" +":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating " +"with services running on co-processors in Qualcomm platforms. The address " +"family is represented as a ``(node, port)`` tuple where the *node* and " +"*port* are non-negative integers." +msgstr "" +":const:`AF_QIPCRTR` — це інтерфейс на основі сокетів лише для Linux для " +"зв’язку зі службами, що працюють на співпроцесорах на платформах Qualcomm. " +"Сімейство адрес представлено як кортеж ``(вузол, порт)``, де *вузол* і " +"*порт* є невід’ємними цілими числами." + +msgid "" +":const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify " +"what portion of a packet is covered with the checksum. It adds two socket " +"options that you can change. ``self.setsockopt(IPPROTO_UDPLITE, " +"UDPLITE_SEND_CSCOV, length)`` will change what portion of outgoing packets " +"are covered by the checksum and ``self.setsockopt(IPPROTO_UDPLITE, " +"UDPLITE_RECV_CSCOV, length)`` will filter out packets which cover too little " +"of their data. In both cases ``length`` should be in ``range(8, 2**16, 8)``." +msgstr "" +":const:`IPPROTO_UDPLITE` — це варіант UDP, який дозволяє вказати, яку " +"частину пакету охоплює контрольна сума. Він додає два варіанти розеток, які " +"ви можете змінити. ``self.setsockopt(IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV, " +"length)`` змінить частину вихідних пакетів, охоплених контрольною сумою, а " +"``self.setsockopt(IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV, length)`` " +"відфільтровує пакети, які покривають занадто мало їхні дані. В обох випадках " +"``довжина`` має бути в ``діапазоні (8, 2**16, 8)``." + +msgid "" +"Such a socket should be constructed with ``socket(AF_INET, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` for IPv4 or ``socket(AF_INET6, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` for IPv6." +msgstr "" +"Такий сокет має бути створений за допомогою ``socket(AF_INET, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` для IPv4 або ``socket(AF_INET6, SOCK_DGRAM, " +"IPPROTO_UDPLITE)`` для IPv6." + +msgid "" +"If you use a hostname in the *host* portion of IPv4/v6 socket address, the " +"program may show a nondeterministic behavior, as Python uses the first " +"address returned from the DNS resolution. The socket address will be " +"resolved differently into an actual IPv4/v6 address, depending on the " +"results from DNS resolution and/or the host configuration. For " +"deterministic behavior use a numeric address in *host* portion." +msgstr "" +"Якщо ви використовуєте ім’я хоста в частині *host* адреси сокета IPv4/v6, " +"програма може продемонструвати недетерміновану поведінку, оскільки Python " +"використовує першу адресу, повернуту з вирішення DNS. Адреса сокета буде " +"перетворена по-іншому в фактичну адресу IPv4/v6, залежно від результатів " +"розв’язання DNS та/або конфігурації хоста. Для детермінованої поведінки " +"використовуйте числову адресу в частині *host*." + +msgid "" +"All errors raise exceptions. The normal exceptions for invalid argument " +"types and out-of-memory conditions can be raised. Errors related to socket " +"or address semantics raise :exc:`OSError` or one of its subclasses." +msgstr "" +"Усі помилки викликають винятки. Можна викликати звичайні винятки для " +"недійсних типів аргументів і умов браку пам’яті. Помилки, пов’язані із " +"семантикою сокета чи адреси, викликають :exc:`OSError` або один із його " +"підкласів." + +msgid "" +"Non-blocking mode is supported through :meth:`~socket.setblocking`. A " +"generalization of this based on timeouts is supported through :meth:`~socket." +"settimeout`." +msgstr "" +"Неблокуючий режим підтримується через :meth:`~socket.setblocking`. " +"Узагальнення цього на основі тайм-аутів підтримується через :meth:`~socket." +"settimeout`." + +msgid "Module contents" +msgstr "Зміст модуля" + +msgid "The module :mod:`socket` exports the following elements." +msgstr "Модуль :mod:`socket` експортує такі елементи." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "A deprecated alias of :exc:`OSError`." +msgstr "Застарілий псевдонім :exc:`OSError`." + +msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." +msgstr "Після :pep:`3151` цей клас отримав псевдонім :exc:`OSError`." + +msgid "" +"A subclass of :exc:`OSError`, this exception is raised for address-related " +"errors, i.e. for functions that use *h_errno* in the POSIX C API, including :" +"func:`gethostbyname_ex` and :func:`gethostbyaddr`. The accompanying value is " +"a pair ``(h_errno, string)`` representing an error returned by a library " +"call. *h_errno* is a numeric value, while *string* represents the " +"description of *h_errno*, as returned by the :c:func:`hstrerror` C function." +msgstr "" +"Підклас :exc:`OSError`, цей виняток виникає для помилок, пов’язаних з " +"адресою, тобто для функцій, які використовують *h_errno* в POSIX C API, " +"включаючи :func:`gethostbyname_ex` і :func:`gethostbyaddr`. Супровідним " +"значенням є пара ``(h_errno, string)``, яка представляє помилку, яку " +"повертає виклик бібліотеки. *h_errno* — це числове значення, тоді як " +"*string* представляє опис *h_errno*, який повертає функція :c:func:" +"`hstrerror` C." + +msgid "This class was made a subclass of :exc:`OSError`." +msgstr "Цей клас було створено підкласом :exc:`OSError`." + +msgid "" +"A subclass of :exc:`OSError`, this exception is raised for address-related " +"errors by :func:`getaddrinfo` and :func:`getnameinfo`. The accompanying " +"value is a pair ``(error, string)`` representing an error returned by a " +"library call. *string* represents the description of *error*, as returned " +"by the :c:func:`gai_strerror` C function. The numeric *error* value will " +"match one of the :const:`EAI_\\*` constants defined in this module." +msgstr "" +"Підклас :exc:`OSError`, цей виняток створюється для помилок, пов’язаних з " +"адресою, :func:`getaddrinfo` і :func:`getnameinfo`. Супровідним значенням є " +"пара ``(помилка, рядок)``, яка представляє помилку, яку повертає виклик " +"бібліотеки. *рядок* представляє опис *помилки*, яку повертає функція C :c:" +"func:`gai_strerror`. Числове значення *помилки* відповідатиме одній із " +"констант :const:`EAI_\\*`, визначених у цьому модулі." + +msgid "A deprecated alias of :exc:`TimeoutError`." +msgstr "Застарілий псевдонім :exc:`TimeoutError`." + +msgid "" +"A subclass of :exc:`OSError`, this exception is raised when a timeout occurs " +"on a socket which has had timeouts enabled via a prior call to :meth:" +"`~socket.settimeout` (or implicitly through :func:`~socket." +"setdefaulttimeout`). The accompanying value is a string whose value is " +"currently always \"timed out\"." +msgstr "" +"Підклас :exc:`OSError`, цей виняток виникає, коли тайм-аут виникає в сокеті, " +"для якого було ввімкнено тайм-аути через попередній виклик :meth:`~socket." +"settimeout` (або неявно через :func:`~socket .setdefaulttimeout`). " +"Супровідне значення - це рядок, значення якого наразі завжди \"закінчено\"." + +msgid "This class was made an alias of :exc:`TimeoutError`." +msgstr "Цей клас отримав псевдонім :exc:`TimeoutError`." + +msgid "Constants" +msgstr "Константи" + +msgid "" +"The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:" +"`SocketKind` :class:`.IntEnum` collections." +msgstr "" +"Константи AF_* і SOCK_* тепер є колекціями :class:`AddressFamily` і :class:" +"`SocketKind` :class:`.IntEnum`." + +msgid "" +"These constants represent the address (and protocol) families, used for the " +"first argument to :func:`.socket`. If the :const:`AF_UNIX` constant is not " +"defined then this protocol is unsupported. More constants may be available " +"depending on the system." +msgstr "" +"Ці константи представляють родини адрес (і протоколів), які використовуються " +"для першого аргументу :func:`.socket`. Якщо константа :const:`AF_UNIX` не " +"визначена, цей протокол не підтримується. Залежно від системи можуть бути " +"доступні інші константи." + +msgid "" +"These constants represent the socket types, used for the second argument to :" +"func:`.socket`. More constants may be available depending on the system. " +"(Only :const:`SOCK_STREAM` and :const:`SOCK_DGRAM` appear to be generally " +"useful.)" +msgstr "" +"Ці константи представляють типи сокетів, які використовуються для другого " +"аргументу :func:`.socket`. Залежно від системи можуть бути доступні інші " +"константи. (Лише :const:`SOCK_STREAM` і :const:`SOCK_DGRAM` здаються загалом " +"корисними.)" + +msgid "" +"These two constants, if defined, can be combined with the socket types and " +"allow you to set some flags atomically (thus avoiding possible race " +"conditions and the need for separate calls)." +msgstr "" +"Ці дві константи, якщо їх визначено, можна комбінувати з типами сокетів і " +"дозволити вам встановлювати деякі прапори атомарно (таким чином уникаючи " +"можливих умов змагання та потреби в окремих викликах)." + +msgid "" +"`Secure File Descriptor Handling `_ for a more thorough explanation." +msgstr "" + +msgid ":ref:`Availability `: Linux >= 2.6.27." +msgstr ":ref:`Доступність `: Linux >= 2.6.27." + +msgid "" +"Many constants of these forms, documented in the Unix documentation on " +"sockets and/or the IP protocol, are also defined in the socket module. They " +"are generally used in arguments to the :meth:`setsockopt` and :meth:" +"`getsockopt` methods of socket objects. In most cases, only those symbols " +"that are defined in the Unix header files are defined; for a few symbols, " +"default values are provided." +msgstr "" +"Багато констант цих форм, задокументованих у документації Unix щодо сокетів " +"та/або протоколу IP, також визначені в модулі сокета. Зазвичай вони " +"використовуються в аргументах методів :meth:`setsockopt` і :meth:" +"`getsockopt` об'єктів сокета. У більшості випадків визначаються лише ті " +"символи, які визначені у файлах заголовків Unix; для кількох символів " +"надаються значення за замовчуванням." + +msgid "" +"``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " +"``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." +msgstr "" +"Додано ``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " +"``TCP_USER_TIMEOUT``, ``TCP_CONGESTION``." + +msgid "" +"On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows " +"supports." +msgstr "" +"У Windows відображаються ``TCP_FASTOPEN``, ``TCP_KEEPCNT``, якщо Windows " +"підтримує режим виконання." + +msgid "``TCP_NOTSENT_LOWAT`` was added." +msgstr "``TCP_NOTSENT_LOWAT`` було додано." + +msgid "" +"On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows " +"supports." +msgstr "" +"У Windows відображаються ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL``, якщо Windows " +"підтримує режим виконання." + +msgid "" +"``IP_RECVTOS`` was added. Added ``TCP_KEEPALIVE``. On MacOS this constant " +"can be used in the same way that ``TCP_KEEPIDLE`` is used on Linux." +msgstr "" +"``IP_RECVTOS`` було додано. Додано ``TCP_KEEPALIVE``. У MacOS цю константу " +"можна використовувати так само, як ``TCP_KEEPIDLE`` використовується в Linux." + +msgid "" +"Added ``TCP_CONNECTION_INFO``. On MacOS this constant can be used in the " +"same way that ``TCP_INFO`` is used on Linux and BSD." +msgstr "" + +msgid "" +"Many constants of these forms, documented in the Linux documentation, are " +"also defined in the socket module." +msgstr "" +"Багато констант цих форм, задокументованих у документації Linux, також " +"визначені в модулі сокета." + +msgid ":ref:`Availability `: Linux >= 2.6.25, NetBSD >= 8." +msgstr "" + +msgid "NetBSD support was added." +msgstr "" + +msgid "" +"CAN_BCM, in the CAN protocol family, is the broadcast manager (BCM) " +"protocol. Broadcast manager constants, documented in the Linux " +"documentation, are also defined in the socket module." +msgstr "" +"CAN_BCM, у сімействі протоколів CAN, є протоколом менеджера трансляції " +"(BCM). Константи менеджера трансляції, задокументовані в документації Linux, " +"також визначені в модулі сокета." + +msgid ":ref:`Availability `: Linux >= 2.6.25." +msgstr ":ref:`Доступність `: Linux >= 2.6.25." + +msgid "" +"The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8." +msgstr "Прапор :data:`CAN_BCM_CAN_FD_FRAME` доступний лише в Linux >= 4.8." + +msgid "" +"Enables CAN FD support in a CAN_RAW socket. This is disabled by default. " +"This allows your application to send both CAN and CAN FD frames; however, " +"you must accept both CAN and CAN FD frames when reading from the socket." +msgstr "" +"Вмикає підтримку CAN FD у гнізді CAN_RAW. За замовчуванням це вимкнено. Це " +"дозволяє вашій програмі надсилати кадри CAN і CAN FD; однак під час читання " +"з роз’єму ви повинні приймати як CAN, так і CAN FD кадри." + +msgid "This constant is documented in the Linux documentation." +msgstr "Ця константа задокументована в документації Linux." + +msgid ":ref:`Availability `: Linux >= 3.6." +msgstr ":ref:`Доступність `: Linux >= 3.6." + +msgid "" +"Joins the applied CAN filters such that only CAN frames that match all given " +"CAN filters are passed to user space." +msgstr "" +"Об’єднує застосовані фільтри CAN, щоб у простір користувача передавалися " +"лише кадри CAN, які відповідають усім наданим фільтрам CAN." + +msgid ":ref:`Availability `: Linux >= 4.1." +msgstr ":ref:`Доступність `: Linux >= 4.1." + +msgid "" +"CAN_ISOTP, in the CAN protocol family, is the ISO-TP (ISO 15765-2) protocol. " +"ISO-TP constants, documented in the Linux documentation." +msgstr "" +"CAN_ISOTP у сімействі протоколів CAN є протоколом ISO-TP (ISO 15765-2). " +"Константи ISO-TP, задокументовані в документації Linux." + +msgid "" +"CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 " +"constants, documented in the Linux documentation." +msgstr "" +"CAN_J1939 у сімействі протоколів CAN є протоколом SAE J1939. Константи " +"J1939, задокументовані в документації Linux." + +msgid ":ref:`Availability `: Linux >= 5.4." +msgstr ":ref:`Доступність `: Linux >= 5.4." + +msgid ":ref:`Availability `: Linux >= 2.2." +msgstr ":ref:`Доступність `: Linux >= 2.2." + +msgid ":ref:`Availability `: Linux >= 2.6.30." +msgstr ":ref:`Доступність `: Linux >= 2.6.30." + +msgid "" +"Constants for Windows' WSAIoctl(). The constants are used as arguments to " +"the :meth:`~socket.socket.ioctl` method of socket objects." +msgstr "" +"Константи для Windows WSAIoctl(). Константи використовуються як аргументи " +"методу :meth:`~socket.socket.ioctl` об’єктів сокета." + +msgid "``SIO_LOOPBACK_FAST_PATH`` was added." +msgstr "``SIO_LOOPBACK_FAST_PATH`` було додано." + +msgid "" +"TIPC related constants, matching the ones exported by the C socket API. See " +"the TIPC documentation for more information." +msgstr "" +"Константи, пов’язані з TIPC, що збігаються з тими, які експортує API сокета " +"C. Додаткову інформацію див. у документації TIPC." + +msgid "Constants for Linux Kernel cryptography." +msgstr "Константи для криптографії ядра Linux." + +msgid ":ref:`Availability `: Linux >= 2.6.38." +msgstr ":ref:`Доступність `: Linux >= 2.6.38." + +msgid "Constants for Linux host/guest communication." +msgstr "Константи для зв’язку хост/гость Linux." + +msgid ":ref:`Availability `: Linux >= 4.8." +msgstr ":ref:`Доступність `: Linux >= 4.8." + +msgid ":ref:`Availability `: BSD, macOS." +msgstr ":ref:`Наявність `: BSD, macOS." + +msgid "" +"This constant contains a boolean value which indicates if IPv6 is supported " +"on this platform." +msgstr "" +"Ця константа містить логічне значення, яке вказує, чи підтримується IPv6 на " +"цій платформі." + +msgid "" +"These are string constants containing Bluetooth addresses with special " +"meanings. For example, :const:`BDADDR_ANY` can be used to indicate any " +"address when specifying the binding socket with :const:`BTPROTO_RFCOMM`." +msgstr "" +"Це рядкові константи, що містять адреси Bluetooth зі спеціальними " +"значеннями. Наприклад, :const:`BDADDR_ANY` можна використовувати для " +"вказівки будь-якої адреси, коли вказується сокет прив’язки за допомогою :" +"const:`BTPROTO_RFCOMM`." + +msgid "" +"For use with :const:`BTPROTO_HCI`. :const:`HCI_FILTER` is not available for " +"NetBSD or DragonFlyBSD. :const:`HCI_TIME_STAMP` and :const:`HCI_DATA_DIR` " +"are not available for FreeBSD, NetBSD, or DragonFlyBSD." +msgstr "" +"Для використання з :const:`BTPROTO_HCI`. :const:`HCI_FILTER` недоступний для " +"NetBSD або DragonFlyBSD. :const:`HCI_TIME_STAMP` і :const:`HCI_DATA_DIR` " +"недоступні для FreeBSD, NetBSD або DragonFlyBSD." + +msgid "" +"Constant for Qualcomm's IPC router protocol, used to communicate with " +"service providing remote processors." +msgstr "" +"Константа для протоколу маршрутизатора IPC Qualcomm, який використовується " +"для зв’язку з віддаленими процесорами, що надають послуги." + +msgid ":ref:`Availability `: Linux >= 4.7." +msgstr ":ref:`Доступність `: Linux >= 4.7." + +msgid "" +"LOCAL_CREDS and LOCAL_CREDS_PERSISTENT can be used with SOCK_DGRAM, " +"SOCK_STREAM sockets, equivalent to Linux/DragonFlyBSD SO_PASSCRED, while " +"LOCAL_CREDS sends the credentials at first read, LOCAL_CREDS_PERSISTENT " +"sends for each read, SCM_CREDS2 must be then used for the latter for the " +"message type." +msgstr "" + +msgid ":ref:`Availability `: FreeBSD." +msgstr "" + +msgid "" +"Constant to optimize CPU locality, to be used in conjunction with :data:" +"`SO_REUSEPORT`." +msgstr "" + +msgid ":ref:`Availability `: Linux >= 3.9" +msgstr "" + +msgid "Functions" +msgstr "Функції" + +msgid "Creating sockets" +msgstr "Створення сокетів" + +msgid "" +"The following functions all create :ref:`socket objects `." +msgstr "Усі наступні функції створюють :ref:`об’єкти socket `." + +msgid "" +"Create a new socket using the given address family, socket type and protocol " +"number. The address family should be :const:`AF_INET` (the default), :const:" +"`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:`AF_PACKET`, or :const:" +"`AF_RDS`. The socket type should be :const:`SOCK_STREAM` (the default), :" +"const:`SOCK_DGRAM`, :const:`SOCK_RAW` or perhaps one of the other ``SOCK_`` " +"constants. The protocol number is usually zero and may be omitted or in the " +"case where the address family is :const:`AF_CAN` the protocol should be one " +"of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` or :const:" +"`CAN_J1939`." +msgstr "" +"Створіть новий сокет, використовуючи вказане сімейство адрес, тип сокета та " +"номер протоколу. Сімейство адрес має бути :const:`AF_INET` (за " +"замовчуванням), :const:`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:" +"`AF_PACKET` або :const:`AF_RDS`. Тип сокета має бути :const:`SOCK_STREAM` " +"(за замовчуванням), :const:`SOCK_DGRAM`, :const:`SOCK_RAW` або, можливо, " +"одна з інших констант ``SOCK_``. Номер протоколу зазвичай дорівнює нулю і " +"може бути пропущений або у випадку, коли сімейство адрес :const:`AF_CAN`, " +"протокол має бути одним із :const:`CAN_RAW`, :const:`CAN_BCM`, :const:" +"`CAN_ISOTP` або :const:`CAN_J1939`." + +msgid "" +"If *fileno* is specified, the values for *family*, *type*, and *proto* are " +"auto-detected from the specified file descriptor. Auto-detection can be " +"overruled by calling the function with explicit *family*, *type*, or *proto* " +"arguments. This only affects how Python represents e.g. the return value " +"of :meth:`socket.getpeername` but not the actual OS resource. Unlike :func:" +"`socket.fromfd`, *fileno* will return the same socket and not a duplicate. " +"This may help close a detached socket using :meth:`socket.close()`." +msgstr "" +"Якщо вказано *fileno*, значення для *family*, *type* і *proto* автоматично " +"визначаються з указаного дескриптора файлу. Автоматичне визначення можна " +"скасувати, викликавши функцію з явними аргументами *family*, *type* або " +"*proto*. Це впливає лише на те, як Python представляє, наприклад. " +"повертається значення :meth:`socket.getpeername`, але не фактичний ресурс " +"ОС. На відміну від :func:`socket.fromfd`, *fileno* поверне той самий сокет, " +"а не дублікат. Це може допомогти закрити відокремлений сокет за допомогою :" +"meth:`socket.close()`." + +msgid "The newly created socket is :ref:`non-inheritable `." +msgstr "Новостворений сокет :ref:`не успадковується `." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.__new__`` with arguments " +"``self``, ``family``, ``type``, ``protocol``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.__new__`` з аргументами " +"``self``, ``family``, ``type``, ``protocol``." + +msgid "The AF_CAN family was added. The AF_RDS family was added." +msgstr "Додано сімейство AF_CAN. Додано сімейство AF_RDS." + +msgid "The CAN_BCM protocol was added." +msgstr "Додано протокол CAN_BCM." + +msgid "The returned socket is now non-inheritable." +msgstr "Повернений сокет тепер не успадковується." + +msgid "The CAN_ISOTP protocol was added." +msgstr "Додано протокол CAN_ISOTP." + +msgid "" +"When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied " +"to *type* they are cleared, and :attr:`socket.type` will not reflect them. " +"They are still passed to the underlying system ``socket()`` call. Therefore," +msgstr "" + +msgid "" +"will still create a non-blocking socket on OSes that support " +"``SOCK_NONBLOCK``, but ``sock.type`` will be set to ``socket.SOCK_STREAM``." +msgstr "" +"усе одно створить неблокуючий сокет в ОС, які підтримують ``SOCK_NONBLOCK``, " +"але ``sock.type`` буде встановлено на ``socket.SOCK_STREAM``." + +msgid "The CAN_J1939 protocol was added." +msgstr "Додано протокол CAN_J1939." + +msgid "The IPPROTO_MPTCP protocol was added." +msgstr "Додано протокол IPPROTO_MPTCP." + +msgid "" +"Build a pair of connected socket objects using the given address family, " +"socket type, and protocol number. Address family, socket type, and protocol " +"number are as for the :func:`.socket` function above. The default family is :" +"const:`AF_UNIX` if defined on the platform; otherwise, the default is :const:" +"`AF_INET`." +msgstr "" +"Створіть пару з’єднаних об’єктів сокета, використовуючи вказане сімейство " +"адрес, тип сокета та номер протоколу. Родина адрес, тип сокета та номер " +"протоколу такі ж, як для функції :func:`.socket` вище. Сімейство за " +"замовчуванням :const:`AF_UNIX`, якщо визначено на платформі; інакше за " +"замовчуванням :const:`AF_INET`." + +msgid "The newly created sockets are :ref:`non-inheritable `." +msgstr "Новостворені сокети :ref:`не успадковуються `." + +msgid "" +"The returned socket objects now support the whole socket API, rather than a " +"subset." +msgstr "" +"Повернені об’єкти сокета тепер підтримують весь API сокета, а не його " +"підмножину." + +msgid "The returned sockets are now non-inheritable." +msgstr "Повернені сокети тепер не успадковуються." + +msgid "Windows support added." +msgstr "Додано підтримку Windows." + +msgid "" +"Connect to a TCP service listening on the internet *address* (a 2-tuple " +"``(host, port)``), and return the socket object. This is a higher-level " +"function than :meth:`socket.connect`: if *host* is a non-numeric hostname, " +"it will try to resolve it for both :data:`AF_INET` and :data:`AF_INET6`, and " +"then try to connect to all possible addresses in turn until a connection " +"succeeds. This makes it easy to write clients that are compatible to both " +"IPv4 and IPv6." +msgstr "" +"Підключіться до служби TCP, яка прослуховує *адресу* в Інтернеті (2-кортеж " +"``(хост, порт)``) і поверніть об’єкт сокета. Це функція вищого рівня, ніж :" +"meth:`socket.connect`: якщо *host* є нечисловим ім’ям хоста, вона " +"намагатиметься вирішити його як для :data:`AF_INET`, так і для :data:" +"`AF_INET6`, а потім спробуйте підключитися до всіх можливих адрес по черзі, " +"доки підключення не вдасться. Це полегшує написання клієнтів, сумісних як з " +"IPv4, так і з IPv6." + +msgid "" +"Passing the optional *timeout* parameter will set the timeout on the socket " +"instance before attempting to connect. If no *timeout* is supplied, the " +"global default timeout setting returned by :func:`getdefaulttimeout` is used." +msgstr "" +"Передача додаткового параметра *timeout* встановить час очікування для " +"екземпляра сокета перед спробою підключення. Якщо *тайм-аут* не вказано, " +"використовується глобальне налаштування тайм-ауту за умовчанням, яке " +"повертає :func:`getdefaulttimeout`." + +msgid "" +"If supplied, *source_address* must be a 2-tuple ``(host, port)`` for the " +"socket to bind to as its source address before connecting. If host or port " +"are '' or 0 respectively the OS default behavior will be used." +msgstr "" +"Якщо надано, *source_address* має бути 2-кортежем ``(хост, порт)``, щоб " +"сокет прив’язувався до своєї адреси джерела перед підключенням. Якщо хост " +"або порт мають значення '' або 0 відповідно, буде використано типову " +"поведінку ОС." + +msgid "" +"When a connection cannot be created, an exception is raised. By default, it " +"is the exception from the last address in the list. If *all_errors* is " +"``True``, it is an :exc:`ExceptionGroup` containing the errors of all " +"attempts." +msgstr "" + +msgid "*source_address* was added." +msgstr "*вихідна_адреса* була додана." + +msgid "*all_errors* was added." +msgstr "" + +msgid "" +"Convenience function which creates a TCP socket bound to *address* (a 2-" +"tuple ``(host, port)``) and return the socket object." +msgstr "" +"Зручна функція, яка створює TCP-сокет, прив’язаний до *адреси* (2-кортеж " +"``(хост, порт)``) і повертає об’єкт сокета." + +msgid "" +"*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " +"the queue size passed to :meth:`socket.listen`; when ``0`` a default " +"reasonable value is chosen. *reuse_port* dictates whether to set the :data:" +"`SO_REUSEPORT` socket option." +msgstr "" +"*family* має бути :data:`AF_INET` або :data:`AF_INET6`. *backlog* — це " +"розмір черги, переданий до :meth:`socket.listen`; коли ``0`` вибрано розумне " +"значення за умовчанням. *reuse_port* визначає, чи встановлювати параметр " +"сокета :data:`SO_REUSEPORT`." + +msgid "" +"If *dualstack_ipv6* is true and the platform supports it the socket will be " +"able to accept both IPv4 and IPv6 connections, else it will raise :exc:" +"`ValueError`. Most POSIX platforms and Windows are supposed to support this " +"functionality. When this functionality is enabled the address returned by :" +"meth:`socket.getpeername` when an IPv4 connection occurs will be an IPv6 " +"address represented as an IPv4-mapped IPv6 address. If *dualstack_ipv6* is " +"false it will explicitly disable this functionality on platforms that enable " +"it by default (e.g. Linux). This parameter can be used in conjunction with :" +"func:`has_dualstack_ipv6`:" +msgstr "" +"Якщо *dualstack_ipv6* має значення true і платформа підтримує його, сокет " +"зможе приймати як з’єднання IPv4, так і IPv6, інакше виникне :exc:" +"`ValueError`. Більшість платформ POSIX і Windows повинні підтримувати цю " +"функцію. Якщо цю функцію ввімкнено, адреса, яку повертає :meth:`socket." +"getpeername` під час встановлення з’єднання IPv4, буде адресою IPv6, " +"представленою як адреса IPv6, відображена в IPv4. Якщо *dualstack_ipv6* має " +"значення false, це явно вимикає цю функцію на платформах, які ввімкнули її " +"за замовчуванням (наприклад, Linux). Цей параметр можна використовувати в " +"поєднанні з :func:`has_dualstack_ipv6`:" + +msgid "" +"On POSIX platforms the :data:`SO_REUSEADDR` socket option is set in order to " +"immediately reuse previous sockets which were bound on the same *address* " +"and remained in TIME_WAIT state." +msgstr "" +"На платформах POSIX параметр сокета :data:`SO_REUSEADDR` встановлено для " +"негайного повторного використання попередніх сокетів, які були прив’язані до " +"тієї самої *адреси* та залишалися в стані TIME_WAIT." + +msgid "" +"Return ``True`` if the platform supports creating a TCP socket which can " +"handle both IPv4 and IPv6 connections." +msgstr "" +"Повертає ``True``, якщо платформа підтримує створення TCP-сокета, який може " +"обробляти з’єднання IPv4 і IPv6." + +msgid "" +"Duplicate the file descriptor *fd* (an integer as returned by a file " +"object's :meth:`fileno` method) and build a socket object from the result. " +"Address family, socket type and protocol number are as for the :func:`." +"socket` function above. The file descriptor should refer to a socket, but " +"this is not checked --- subsequent operations on the object may fail if the " +"file descriptor is invalid. This function is rarely needed, but can be used " +"to get or set socket options on a socket passed to a program as standard " +"input or output (such as a server started by the Unix inet daemon). The " +"socket is assumed to be in blocking mode." +msgstr "" +"Скопіюйте файловий дескриптор *fd* (ціле число, яке повертає метод :meth:" +"`fileno` файлового об’єкта) і створіть об’єкт сокета з результату. Родина " +"адрес, тип сокета та номер протоколу такі ж, як для функції :func:`.socket` " +"вище. Дескриптор файлу має посилатися на сокет, але це не перевірено --- " +"подальші операції з об’єктом можуть завершитися помилкою, якщо дескриптор " +"файлу недійсний. Ця функція рідко потрібна, але її можна використовувати для " +"отримання або встановлення параметрів сокета для сокета, який передається " +"програмі як стандартний ввід або вихід (наприклад, сервер, запущений демоном " +"Unix inet). Передбачається, що розетка знаходиться в режимі блокування." + +msgid "" +"Instantiate a socket from data obtained from the :meth:`socket.share` " +"method. The socket is assumed to be in blocking mode." +msgstr "" +"Створіть екземпляр сокета з даних, отриманих з методу :meth:`socket.share`. " +"Передбачається, що розетка знаходиться в режимі блокування." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"This is a Python type object that represents the socket object type. It is " +"the same as ``type(socket(...))``." +msgstr "" +"Це об’єкт типу Python, який представляє тип об’єкта сокета. Це те саме, що " +"``type(socket(...))``." + +msgid "Other functions" +msgstr "Інші функції" + +msgid "The :mod:`socket` module also offers various network-related services:" +msgstr "Модуль :mod:`socket` також пропонує різноманітні мережеві служби:" + +msgid "" +"Close a socket file descriptor. This is like :func:`os.close`, but for " +"sockets. On some platforms (most noticeable Windows) :func:`os.close` does " +"not work for socket file descriptors." +msgstr "" +"Закрийте дескриптор файлу сокета. Це як :func:`os.close`, але для сокетів. " +"На деяких платформах (найбільш помітна Windows) :func:`os.close` не працює " +"для дескрипторів файлів сокетів." + +msgid "" +"Translate the *host*/*port* argument into a sequence of 5-tuples that " +"contain all the necessary arguments for creating a socket connected to that " +"service. *host* is a domain name, a string representation of an IPv4/v6 " +"address or ``None``. *port* is a string service name such as ``'http'``, a " +"numeric port number or ``None``. By passing ``None`` as the value of *host* " +"and *port*, you can pass ``NULL`` to the underlying C API." +msgstr "" +"Переведіть аргумент *host*/*port* у послідовність із 5 кортежів, які містять " +"усі необхідні аргументи для створення сокета, підключеного до цієї служби. " +"*host* – це доменне ім’я, рядкове представлення адреси IPv4/v6 або ``None``. " +"*порт* — це рядкова назва служби, наприклад ``'http'``, числовий номер порту " +"або ``None``. Передаючи ``None`` як значення *host* і *port*, ви можете " +"передати ``NULL`` базовому C API." + +msgid "" +"The *family*, *type* and *proto* arguments can be optionally specified in " +"order to narrow the list of addresses returned. Passing zero as a value for " +"each of these arguments selects the full range of results. The *flags* " +"argument can be one or several of the ``AI_*`` constants, and will influence " +"how results are computed and returned. For example, :const:`AI_NUMERICHOST` " +"will disable domain name resolution and will raise an error if *host* is a " +"domain name." +msgstr "" +"Аргументи *сімейство*, *тип* і *прото* можна додатково вказати, щоб звузити " +"список адрес, що повертаються. Передача нуля як значення для кожного з цих " +"аргументів вибирає повний діапазон результатів. Аргумент *flags* може бути " +"однією або декількома константами ``AI_*`` і впливатиме на спосіб обчислення " +"та повернення результатів. Наприклад, :const:`AI_NUMERICHOST` вимкне " +"розпізнавання доменного імені та викличе помилку, якщо *host* є доменним " +"іменем." + +msgid "The function returns a list of 5-tuples with the following structure:" +msgstr "Функція повертає список із 5-ти кортежів із такою структурою:" + +msgid "``(family, type, proto, canonname, sockaddr)``" +msgstr "``(сімейство, тип, прото, canonname, sockaddr)``" + +msgid "" +"In these tuples, *family*, *type*, *proto* are all integers and are meant to " +"be passed to the :func:`.socket` function. *canonname* will be a string " +"representing the canonical name of the *host* if :const:`AI_CANONNAME` is " +"part of the *flags* argument; else *canonname* will be empty. *sockaddr* is " +"a tuple describing a socket address, whose format depends on the returned " +"*family* (a ``(address, port)`` 2-tuple for :const:`AF_INET`, a ``(address, " +"port, flowinfo, scope_id)`` 4-tuple for :const:`AF_INET6`), and is meant to " +"be passed to the :meth:`socket.connect` method." +msgstr "" +"У цих кортежах усі *family*, *type*, *proto* є цілими числами, і вони " +"призначені для передачі у функцію :func:`.socket`. *canonname* буде рядком, " +"що представлятиме канонічне ім’я *хосту*, якщо :const:`AI_CANONNAME` є " +"частиною аргументу *flags*; інакше *canonname* буде порожнім. *sockaddr* — " +"це кортеж, що описує адресу сокета, формат якого залежить від повернутого " +"*сімейства* (2-кортеж ``(адреса, порт)`` для :const:`AF_INET`, ``(адреса, " +"порт, flowinfo, scope_id)`` 4-кортеж для :const:`AF_INET6`), і призначений " +"для передачі в метод :meth:`socket.connect`." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.getaddrinfo`` with " +"arguments ``host``, ``port``, ``family``, ``type``, ``protocol``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getaddrinfo`` з аргументами " +"``хост``, ``порт``, ``сімейство``, ``тип``, ``протокол``." + +msgid "" +"The following example fetches address information for a hypothetical TCP " +"connection to ``example.org`` on port 80 (results may differ on your system " +"if IPv6 isn't enabled)::" +msgstr "" +"У наступному прикладі отримується інформація про адресу для гіпотетичного " +"TCP-з’єднання з ``example.org`` на порту 80 (результати можуть відрізнятися " +"у вашій системі, якщо IPv6 не ввімкнено):" + +msgid "parameters can now be passed using keyword arguments." +msgstr "" +"параметри тепер можна передавати за допомогою аргументів ключових слів." + +msgid "" +"for IPv6 multicast addresses, string representing an address will not " +"contain ``%scope_id`` part." +msgstr "" +"для багатоадресних адрес IPv6 рядок, що представляє адресу, не міститиме " +"частину ``%scope_id``." + +msgid "" +"Return a fully qualified domain name for *name*. If *name* is omitted or " +"empty, it is interpreted as the local host. To find the fully qualified " +"name, the hostname returned by :func:`gethostbyaddr` is checked, followed by " +"aliases for the host, if available. The first name which includes a period " +"is selected. In case no fully qualified domain name is available and *name* " +"was provided, it is returned unchanged. If *name* was empty or equal to " +"``'0.0.0.0'``, the hostname from :func:`gethostname` is returned." +msgstr "" +"Повернути повне доменне ім’я для *name*. Якщо *ім’я* опущене або порожнє, " +"воно інтерпретується як локальний хост. Щоб знайти повне ім’я, перевіряється " +"ім’я хоста, яке повертає :func:`gethostbyaddr`, а потім ідуть псевдоніми " +"хоста, якщо вони доступні. Вибрано перше ім’я, яке містить крапку. Якщо " +"повне доменне ім’я недоступне, а було вказано *ім’я*, воно повертається без " +"змін. Якщо *name* було порожнім або дорівнює ``'0.0.0.0'``, повертається " +"ім'я хоста з :func:`gethostname`." + +msgid "" +"Translate a host name to IPv4 address format. The IPv4 address is returned " +"as a string, such as ``'100.50.200.5'``. If the host name is an IPv4 " +"address itself it is returned unchanged. See :func:`gethostbyname_ex` for a " +"more complete interface. :func:`gethostbyname` does not support IPv6 name " +"resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual " +"stack support." +msgstr "" +"Перекладіть ім’я хоста у формат адреси IPv4. Адреса IPv4 повертається у " +"вигляді рядка, наприклад ``'100.50.200.5``. Якщо ім’я хоста є адресою IPv4, " +"воно повертається без змін. Дивіться :func:`gethostbyname_ex` для більш " +"повного інтерфейсу. :func:`gethostbyname` не підтримує розпізнавання імен " +"IPv6, а :func:`getaddrinfo` слід використовувати замість цього для підтримки " +"подвійного стеку IPv4/v6." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.gethostbyname`` with " +"argument ``hostname``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.gethostbyname`` з " +"аргументом ``hostname``." + +msgid ":ref:`Availability `: not WASI." +msgstr "" + +msgid "" +"Translate a host name to IPv4 address format, extended interface. Return a " +"triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's " +"primary host name, *aliaslist* is a (possibly empty) list of alternative " +"host names for the same address, and *ipaddrlist* is a list of IPv4 " +"addresses for the same interface on the same host (often but not always a " +"single address). :func:`gethostbyname_ex` does not support IPv6 name " +"resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual " +"stack support." +msgstr "" +"Переклад імені хоста у формат адреси IPv4, розширений інтерфейс. Повертає " +"потрійний ``(hostname, aliaslist, ipaddrlist)``, де *hostname* — основне " +"ім’я хоста, *aliaslist* — (можливо, порожній) список альтернативних імен " +"хостів для тієї самої адреси, а *ipaddrlist* — список IPv4-адрес для одного " +"інтерфейсу на одному хості (часто, але не завжди одна адреса). :func:" +"`gethostbyname_ex` не підтримує розпізнавання імен IPv6, а :func:" +"`getaddrinfo` слід використовувати замість цього для підтримки подвійного " +"стеку IPv4/v6." + +msgid "" +"Return a string containing the hostname of the machine where the Python " +"interpreter is currently executing." +msgstr "" +"Повертає рядок, що містить ім’я хоста машини, на якій зараз виконується " +"інтерпретатор Python." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.gethostname`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.gethostname`` без " +"аргументів." + +msgid "" +"Note: :func:`gethostname` doesn't always return the fully qualified domain " +"name; use :func:`getfqdn` for that." +msgstr "" +"Примітка: :func:`gethostname` не завжди повертає повне доменне ім’я; " +"використовуйте для цього :func:`getfqdn`." + +msgid "" +"Return a triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is " +"the primary host name responding to the given *ip_address*, *aliaslist* is a " +"(possibly empty) list of alternative host names for the same address, and " +"*ipaddrlist* is a list of IPv4/v6 addresses for the same interface on the " +"same host (most likely containing only a single address). To find the fully " +"qualified domain name, use the function :func:`getfqdn`. :func:" +"`gethostbyaddr` supports both IPv4 and IPv6." +msgstr "" +"Повертає потрійний ``(hostname, aliaslist, ipaddrlist)``, де *hostname* — " +"основне ім’я хоста, що відповідає заданій *ip_address*, *aliaslist* — " +"(можливо, порожній) список альтернативних імен хостів для тієї самої адреси, " +"а *ipaddrlist* — це список адрес IPv4/v6 для того самого інтерфейсу на тому " +"самому хості (швидше за все, містить лише одну адресу). Щоб знайти повне " +"доменне ім’я, скористайтеся функцією :func:`getfqdn`. :func:`gethostbyaddr` " +"підтримує як IPv4, так і IPv6." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.gethostbyaddr`` with " +"argument ``ip_address``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.gethostbyaddr`` з " +"аргументом ``ip_address``." + +msgid "" +"Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " +"Depending on the settings of *flags*, the result can contain a fully " +"qualified domain name or numeric address representation in *host*. " +"Similarly, *port* can contain a string port name or a numeric port number." +msgstr "" + +msgid "" +"For IPv6 addresses, ``%scope_id`` is appended to the host part if *sockaddr* " +"contains meaningful *scope_id*. Usually this happens for multicast addresses." +msgstr "" +"Для адрес IPv6 ``%scope_id`` додається до частини хоста, якщо *sockaddr* " +"містить значимий *scope_id*. Зазвичай це відбувається для багатоадресних " +"адрес." + +msgid "" +"For more information about *flags* you can consult :manpage:`getnameinfo(3)`." +msgstr "" +"Для отримання додаткової інформації про *прапори* ви можете звернутися до :" +"manpage:`getnameinfo(3)`." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.getnameinfo`` with " +"argument ``sockaddr``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getnameinfo`` з аргументом " +"``sockaddr``." + +msgid "" +"Translate an internet protocol name (for example, ``'icmp'``) to a constant " +"suitable for passing as the (optional) third argument to the :func:`.socket` " +"function. This is usually only needed for sockets opened in \"raw\" mode (:" +"const:`SOCK_RAW`); for the normal socket modes, the correct protocol is " +"chosen automatically if the protocol is omitted or zero." +msgstr "" +"Перекладіть ім’я інтернет-протоколу (наприклад, ``'icmp'``) у константу, " +"придатну для передачі як (необов’язковий) третій аргумент функції :func:`." +"socket`. Зазвичай це потрібно лише для сокетів, відкритих у режимі \"raw\" (:" +"const:`SOCK_RAW`); для звичайних режимів сокетів правильний протокол " +"вибирається автоматично, якщо протокол пропущений або нульовий." + +msgid "" +"Translate an internet service name and protocol name to a port number for " +"that service. The optional protocol name, if given, should be ``'tcp'`` or " +"``'udp'``, otherwise any protocol will match." +msgstr "" +"Перекладіть назву інтернет-сервісу та назву протоколу на номер порту для " +"цієї служби. Додаткова назва протоколу, якщо її вказано, має бути ``'tcp'`` " +"або ``'udp'``, інакше будь-який протокол збігатиметься." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.getservbyname`` with " +"arguments ``servicename``, ``protocolname``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getservbyname`` з " +"аргументами ``servicename``, ``protocolname``." + +msgid "" +"Translate an internet port number and protocol name to a service name for " +"that service. The optional protocol name, if given, should be ``'tcp'`` or " +"``'udp'``, otherwise any protocol will match." +msgstr "" +"Перекладіть номер інтернет-порту та назву протоколу на назву служби для цієї " +"служби. Додаткова назва протоколу, якщо її вказано, має бути ``'tcp'`` або " +"``'udp'``, інакше будь-який протокол збігатиметься." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.getservbyport`` with " +"arguments ``port``, ``protocolname``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.getservbyport`` з " +"аргументами ``port``, ``protocolname``." + +msgid "" +"Convert 32-bit positive integers from network to host byte order. On " +"machines where the host byte order is the same as network byte order, this " +"is a no-op; otherwise, it performs a 4-byte swap operation." +msgstr "" +"Перетворення 32-розрядних додатних чисел із мережевого порядку байтів на " +"хост. На машинах, де порядок байтів хоста збігається з порядком байтів у " +"мережі, це заборонено; інакше він виконує 4-байтову операцію обміну." + +msgid "" +"Convert 16-bit positive integers from network to host byte order. On " +"machines where the host byte order is the same as network byte order, this " +"is a no-op; otherwise, it performs a 2-byte swap operation." +msgstr "" +"Перетворення 16-розрядних додатних чисел із мережевого порядку байтів на " +"хост. На машинах, де порядок байтів хоста збігається з порядком байтів у " +"мережі, це заборонено; інакше він виконує 2-байтову операцію обміну." + +msgid "" +"Raises :exc:`OverflowError` if *x* does not fit in a 16-bit unsigned integer." +msgstr "" +"Викликає :exc:`OverflowError`, якщо *x* не вміщується в 16-бітне ціле число " +"без знаку." + +msgid "" +"Convert 32-bit positive integers from host to network byte order. On " +"machines where the host byte order is the same as network byte order, this " +"is a no-op; otherwise, it performs a 4-byte swap operation." +msgstr "" +"Перетворюйте 32-розрядні додатні цілі числа з хоста на мережевий порядок " +"байтів. На машинах, де порядок байтів хоста збігається з порядком байтів у " +"мережі, це заборонено; інакше він виконує 4-байтову операцію обміну." + +msgid "" +"Convert 16-bit positive integers from host to network byte order. On " +"machines where the host byte order is the same as network byte order, this " +"is a no-op; otherwise, it performs a 2-byte swap operation." +msgstr "" +"Перетворення 16-розрядних додатних чисел із хоста в мережевий порядок " +"байтів. На машинах, де порядок байтів хоста збігається з порядком байтів у " +"мережі, це заборонено; інакше він виконує 2-байтову операцію обміну." + +msgid "" +"Convert an IPv4 address from dotted-quad string format (for example, " +"'123.45.67.89') to 32-bit packed binary format, as a bytes object four " +"characters in length. This is useful when conversing with a program that " +"uses the standard C library and needs objects of type :c:struct:`in_addr`, " +"which is the C type for the 32-bit packed binary this function returns." +msgstr "" + +msgid "" +":func:`inet_aton` also accepts strings with less than three dots; see the " +"Unix manual page :manpage:`inet(3)` for details." +msgstr "" +":func:`inet_aton` також приймає рядки з менш ніж трьома крапками; подробиці " +"див. на сторінці посібника Unix :manpage:`inet(3)`." + +msgid "" +"If the IPv4 address string passed to this function is invalid, :exc:" +"`OSError` will be raised. Note that exactly what is valid depends on the " +"underlying C implementation of :c:func:`inet_aton`." +msgstr "" +"Якщо рядок адреси IPv4, переданий цій функції, недійсний, буде викликано :" +"exc:`OSError`. Зауважте, що саме те, що є дійсним, залежить від базової " +"реалізації C :c:func:`inet_aton`." + +msgid "" +":func:`inet_aton` does not support IPv6, and :func:`inet_pton` should be " +"used instead for IPv4/v6 dual stack support." +msgstr "" +":func:`inet_aton` не підтримує IPv6, а :func:`inet_pton` слід " +"використовувати замість цього для підтримки подвійного стеку IPv4/v6." + +msgid "" +"Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes " +"in length) to its standard dotted-quad string representation (for example, " +"'123.45.67.89'). This is useful when conversing with a program that uses " +"the standard C library and needs objects of type :c:struct:`in_addr`, which " +"is the C type for the 32-bit packed binary data this function takes as an " +"argument." +msgstr "" + +msgid "" +"If the byte sequence passed to this function is not exactly 4 bytes in " +"length, :exc:`OSError` will be raised. :func:`inet_ntoa` does not support " +"IPv6, and :func:`inet_ntop` should be used instead for IPv4/v6 dual stack " +"support." +msgstr "" +"Якщо послідовність байтів, передана цій функції, не має довжини точно 4 " +"байти, виникне :exc:`OSError`. :func:`inet_ntoa` не підтримує IPv6, а :func:" +"`inet_ntop` слід використовувати замість цього для підтримки подвійного " +"стеку IPv4/v6." + +msgid "" +"Convert an IP address from its family-specific string format to a packed, " +"binary format. :func:`inet_pton` is useful when a library or network " +"protocol calls for an object of type :c:struct:`in_addr` (similar to :func:" +"`inet_aton`) or :c:struct:`in6_addr`." +msgstr "" + +msgid "" +"Supported values for *address_family* are currently :const:`AF_INET` and :" +"const:`AF_INET6`. If the IP address string *ip_string* is invalid, :exc:" +"`OSError` will be raised. Note that exactly what is valid depends on both " +"the value of *address_family* and the underlying implementation of :c:func:" +"`inet_pton`." +msgstr "" +"Підтримувані значення для *address_family* наразі: :const:`AF_INET` і :const:" +"`AF_INET6`. Якщо рядок IP-адреси *ip_string* недійсний, виникне :exc:" +"`OSError`. Зауважте, що саме те, що є дійсним, залежить як від значення " +"*address_family*, так і від базової реалізації :c:func:`inet_pton`." + +msgid ":ref:`Availability `: Unix, Windows." +msgstr ":ref:`Наявність `: Unix, Windows." + +msgid "Windows support added" +msgstr "Додано підтримку Windows" + +msgid "" +"Convert a packed IP address (a :term:`bytes-like object` of some number of " +"bytes) to its standard, family-specific string representation (for example, " +"``'7.10.0.5'`` or ``'5aef:2b::8'``). :func:`inet_ntop` is useful when a " +"library or network protocol returns an object of type :c:struct:`in_addr` " +"(similar to :func:`inet_ntoa`) or :c:struct:`in6_addr`." +msgstr "" + +msgid "" +"Supported values for *address_family* are currently :const:`AF_INET` and :" +"const:`AF_INET6`. If the bytes object *packed_ip* is not the correct length " +"for the specified address family, :exc:`ValueError` will be raised. :exc:" +"`OSError` is raised for errors from the call to :func:`inet_ntop`." +msgstr "" +"Підтримувані значення для *address_family* наразі: :const:`AF_INET` і :const:" +"`AF_INET6`. Якщо об’єкт bytes *packed_ip* не має правильної довжини для " +"вказаного сімейства адрес, буде викликано :exc:`ValueError`. :exc:`OSError` " +"викликається для помилок виклику :func:`inet_ntop`." + +msgid "" +"Return the total length, without trailing padding, of an ancillary data item " +"with associated data of the given *length*. This value can often be used as " +"the buffer size for :meth:`~socket.recvmsg` to receive a single item of " +"ancillary data, but :rfc:`3542` requires portable applications to use :func:" +"`CMSG_SPACE` and thus include space for padding, even when the item will be " +"the last in the buffer. Raises :exc:`OverflowError` if *length* is outside " +"the permissible range of values." +msgstr "" +"Повертає загальну довжину, без заповнення в кінці, елемента допоміжних даних " +"із пов’язаними даними заданої *довжини*. Це значення часто можна " +"використовувати як розмір буфера для :meth:`~socket.recvmsg` для отримання " +"окремого елемента допоміжних даних, але :rfc:`3542` вимагає, щоб портативні " +"програми використовували :func:`CMSG_SPACE` і таким чином включали простір " +"для заповнення, навіть якщо елемент буде останнім у буфері. Викликає :exc:" +"`OverflowError`, якщо *length* виходить за межі допустимого діапазону " +"значень." + +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr "" + +msgid "Most Unix platforms." +msgstr "" + +msgid "" +"Return the buffer size needed for :meth:`~socket.recvmsg` to receive an " +"ancillary data item with associated data of the given *length*, along with " +"any trailing padding. The buffer space needed to receive multiple items is " +"the sum of the :func:`CMSG_SPACE` values for their associated data lengths. " +"Raises :exc:`OverflowError` if *length* is outside the permissible range of " +"values." +msgstr "" +"Повертає розмір буфера, необхідний для :meth:`~socket.recvmsg` для отримання " +"елемента допоміжних даних із пов’язаними даними заданої *довжини* разом із " +"будь-яким доповненням у кінці. Буферний простір, необхідний для отримання " +"кількох елементів, є сумою значень :func:`CMSG_SPACE` для відповідної " +"довжини даних. Викликає :exc:`OverflowError`, якщо *length* виходить за межі " +"допустимого діапазону значень." + +msgid "" +"Note that some systems might support ancillary data without providing this " +"function. Also note that setting the buffer size using the results of this " +"function may not precisely limit the amount of ancillary data that can be " +"received, since additional data may be able to fit into the padding area." +msgstr "" +"Зауважте, що деякі системи можуть підтримувати допоміжні дані без надання " +"цієї функції. Також зауважте, що встановлення розміру буфера за допомогою " +"результатів цієї функції може не обмежувати точно кількість допоміжних " +"даних, які можна отримати, оскільки додаткові дані можуть поміститися в " +"область заповнення." + +msgid "most Unix platforms." +msgstr "" + +msgid "" +"Return the default timeout in seconds (float) for new socket objects. A " +"value of ``None`` indicates that new socket objects have no timeout. When " +"the socket module is first imported, the default is ``None``." +msgstr "" +"Повертає стандартний час очікування в секундах (float) для нових об’єктів " +"сокета. Значення ``None`` вказує на те, що нові об’єкти сокета не мають часу " +"очікування. Коли модуль сокета імпортовано вперше, за замовчуванням буде " +"``None``." + +msgid "" +"Set the default timeout in seconds (float) for new socket objects. When the " +"socket module is first imported, the default is ``None``. See :meth:" +"`~socket.settimeout` for possible values and their respective meanings." +msgstr "" +"Встановіть стандартний час очікування в секундах (float) для нових об’єктів " +"сокета. Коли модуль сокета імпортовано вперше, за замовчуванням буде " +"``None``. Перегляньте :meth:`~socket.settimeout` можливі значення та їх " +"відповідні значення." + +msgid "" +"Set the machine's hostname to *name*. This will raise an :exc:`OSError` if " +"you don't have enough rights." +msgstr "" +"Встановіть ім’я хоста машини на *name*. Це викличе :exc:`OSError`, якщо у " +"вас недостатньо прав." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.sethostname`` with " +"argument ``name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.sethostname`` з аргументом " +"``name``." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Return a list of network interface information (index int, name string) " +"tuples. :exc:`OSError` if the system call fails." +msgstr "" +"Повертає список кортежів інформації про мережевий інтерфейс (index int, name " +"string). :exc:`OSError`, якщо системний виклик не вдається." + +msgid "" +":ref:`Availability `: Unix, Windows, not Emscripten, not WASI." +msgstr "" + +msgid "Windows support was added." +msgstr "Додано підтримку Windows." + +msgid "" +"On Windows network interfaces have different names in different contexts " +"(all names are examples):" +msgstr "" +"У Windows мережеві інтерфейси мають різні імена в різних контекстах (усі " +"імена є прикладами):" + +msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" +msgstr "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" + +msgid "name: ``ethernet_32770``" +msgstr "назва: ``ethernet_32770``" + +msgid "friendly name: ``vEthernet (nat)``" +msgstr "зрозуміла назва: ``vEthernet (nat)``" + +msgid "description: ``Hyper-V Virtual Ethernet Adapter``" +msgstr "опис: ``Hyper-V Virtual Ethernet Adapter``" + +msgid "" +"This function returns names of the second form from the list, " +"``ethernet_32770`` in this example case." +msgstr "" +"Ця функція повертає імена другої форми зі списку, ``ethernet_32770`` у цьому " +"прикладі." + +msgid "" +"Return a network interface index number corresponding to an interface name. :" +"exc:`OSError` if no interface with the given name exists." +msgstr "" +"Повертає номер індексу мережевого інтерфейсу, який відповідає імені " +"інтерфейсу. :exc:`OSError`, якщо не існує інтерфейсу з вказаною назвою." + +msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." +msgstr "" +"\"Назва інтерфейсу\" — це назва, задокументована в :func:`if_nameindex`." + +msgid "" +"Return a network interface name corresponding to an interface index number. :" +"exc:`OSError` if no interface with the given index exists." +msgstr "" +"Повертає назву мережевого інтерфейсу, що відповідає номеру індексу " +"інтерфейсу. :exc:`OSError`, якщо не існує інтерфейсу з даним індексом." + +msgid "" +"Send the list of file descriptors *fds* over an :const:`AF_UNIX` socket " +"*sock*. The *fds* parameter is a sequence of file descriptors. Consult :meth:" +"`sendmsg` for the documentation of these parameters." +msgstr "" +"Надішліть список дескрипторів файлів *fds* через сокет :const:`AF_UNIX` " +"*sock*. Параметр *fds* — це послідовність дескрипторів файлів. Зверніться " +"до :meth:`sendmsg` для документації щодо цих параметрів." + +msgid "" +"Unix platforms supporting :meth:`~socket.sendmsg` and :const:`SCM_RIGHTS` " +"mechanism." +msgstr "" + +msgid "" +"Receive up to *maxfds* file descriptors from an :const:`AF_UNIX` socket " +"*sock*. Return ``(msg, list(fds), flags, addr)``. Consult :meth:`recvmsg` " +"for the documentation of these parameters." +msgstr "" +"Отримайте до *maxfds* файлових дескрипторів із :const:`AF_UNIX` сокета " +"*sock*. Повернути ``(msg, list(fds), flags, addr)``. Зверніться до :meth:" +"`recvmsg` для документації цих параметрів." + +msgid "Any truncated integers at the end of the list of file descriptors." +msgstr "Будь-які скорочені цілі числа в кінці списку дескрипторів файлів." + +msgid "Socket Objects" +msgstr "Об'єкти Socket" + +msgid "" +"Socket objects have the following methods. Except for :meth:`~socket." +"makefile`, these correspond to Unix system calls applicable to sockets." +msgstr "" +"Об’єкти Socket мають такі методи. За винятком :meth:`~socket.makefile`, вони " +"відповідають системним викликам Unix, застосовним до сокетів." + +msgid "" +"Support for the :term:`context manager` protocol was added. Exiting the " +"context manager is equivalent to calling :meth:`~socket.close`." +msgstr "" +"Додано підтримку протоколу :term:`context manager`. Вихід із контекстного " +"менеджера еквівалентний виклику :meth:`~socket.close`." + +msgid "" +"Accept a connection. The socket must be bound to an address and listening " +"for connections. The return value is a pair ``(conn, address)`` where *conn* " +"is a *new* socket object usable to send and receive data on the connection, " +"and *address* is the address bound to the socket on the other end of the " +"connection." +msgstr "" +"Прийняти підключення. Сокет має бути прив’язаний до адреси та прослуховувати " +"підключення. Поверненим значенням є пара ``(conn, address)``, де *conn* — це " +"*новий* об’єкт сокета, який можна використовувати для надсилання та " +"отримання даних під час з’єднання, а *address* — це адреса, прив’язана до " +"сокета на іншому кінець з'єднання." + +msgid "The socket is now non-inheritable." +msgstr "Тепер сокет не успадковується." + +msgid "" +"If the system call is interrupted and the signal handler does not raise an " +"exception, the method now retries the system call instead of raising an :exc:" +"`InterruptedError` exception (see :pep:`475` for the rationale)." +msgstr "" +"Якщо системний виклик перервано, а обробник сигналу не викликає виключення, " +"метод тепер повторює системний виклик замість того, щоб викликати виняток :" +"exc:`InterruptedError` (перегляньте :pep:`475` для обґрунтування)." + +msgid "" +"Bind the socket to *address*. The socket must not already be bound. (The " +"format of *address* depends on the address family --- see above.)" +msgstr "" +"Прив’яжіть сокет до *адреси*. Розетка ще не повинна бути прив’язаною. " +"(Формат *адреси* залежить від групи адрес --- див. вище.)" + +msgid "" +"Raises an :ref:`auditing event ` ``socket.bind`` with arguments " +"``self``, ``address``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.bind`` з аргументами " +"``self``, ``address``." + +msgid "" +"Mark the socket closed. The underlying system resource (e.g. a file " +"descriptor) is also closed when all file objects from :meth:`makefile()` are " +"closed. Once that happens, all future operations on the socket object will " +"fail. The remote end will receive no more data (after queued data is " +"flushed)." +msgstr "" +"Позначте розетку закритою. Базовий системний ресурс (наприклад, дескриптор " +"файлу) також закривається, коли закриваються всі файлові об’єкти з :meth:" +"`makefile()`. Як тільки це станеться, усі подальші операції над об’єктом " +"сокета не вдадуться. Віддалена сторона більше не отримуватиме даних (після " +"видалення даних із черги)." + +msgid "" +"Sockets are automatically closed when they are garbage-collected, but it is " +"recommended to :meth:`close` them explicitly, or to use a :keyword:`with` " +"statement around them." +msgstr "" +"Сокети автоматично закриваються під час збирання сміття, але рекомендується :" +"meth:`close` їх явно або використовувати оператор :keyword:`with` навколо " +"них." + +msgid "" +":exc:`OSError` is now raised if an error occurs when the underlying :c:func:" +"`close` call is made." +msgstr "" +":exc:`OSError` тепер викликається, якщо виникає помилка під час основного " +"виклику :c:func:`close`." + +msgid "" +":meth:`close()` releases the resource associated with a connection but does " +"not necessarily close the connection immediately. If you want to close the " +"connection in a timely fashion, call :meth:`shutdown()` before :meth:" +"`close()`." +msgstr "" +":meth:`close()` звільняє ресурс, пов’язаний із з’єднанням, але не " +"обов’язково закриває з’єднання негайно. Якщо ви хочете своєчасно закрити " +"з’єднання, викличте :meth:`shutdown()` перед :meth:`close()`." + +msgid "" +"Connect to a remote socket at *address*. (The format of *address* depends on " +"the address family --- see above.)" +msgstr "" +"Підключіться до віддаленої розетки за *адресою*. (Формат *адреси* залежить " +"від групи адрес --- див. вище.)" + +msgid "" +"If the connection is interrupted by a signal, the method waits until the " +"connection completes, or raise a :exc:`TimeoutError` on timeout, if the " +"signal handler doesn't raise an exception and the socket is blocking or has " +"a timeout. For non-blocking sockets, the method raises an :exc:" +"`InterruptedError` exception if the connection is interrupted by a signal " +"(or the exception raised by the signal handler)." +msgstr "" +"Якщо з’єднання перервано сигналом, метод чекає, доки з’єднання не " +"завершиться, або викликає :exc:`TimeoutError` після тайм-ауту, якщо обробник " +"сигналу не викликає виключення, а сокет блокується або має тайм-аут. Для " +"неблокуючих сокетів метод викликає виняток :exc:`InterruptedError`, якщо " +"з’єднання переривається сигналом (або винятком, викликаним обробником " +"сигналу)." + +msgid "" +"Raises an :ref:`auditing event ` ``socket.connect`` with arguments " +"``self``, ``address``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.connect`` з аргументами " +"``self``, ``address``." + +msgid "" +"The method now waits until the connection completes instead of raising an :" +"exc:`InterruptedError` exception if the connection is interrupted by a " +"signal, the signal handler doesn't raise an exception and the socket is " +"blocking or has a timeout (see the :pep:`475` for the rationale)." +msgstr "" +"Тепер метод очікує, доки з’єднання завершиться, замість того, щоб викликати " +"виняток :exc:`InterruptedError`, якщо з’єднання перервано сигналом, обробник " +"сигналу не викликає виключення, а сокет блокується або має тайм-аут (див. :" +"pep:`475` для обґрунтування)." + +msgid "" +"Like ``connect(address)``, but return an error indicator instead of raising " +"an exception for errors returned by the C-level :c:func:`connect` call " +"(other problems, such as \"host not found,\" can still raise exceptions). " +"The error indicator is ``0`` if the operation succeeded, otherwise the value " +"of the :c:data:`errno` variable. This is useful to support, for example, " +"asynchronous connects." +msgstr "" +"Подібно до ``connect(address)``, але повертає індикатор помилки замість " +"виклику винятку для помилок, які повертає виклик :c:func:`connect` рівня C " +"(інші проблеми, такі як \"хост не знайдено\", можуть все ще викликають " +"винятки). Індикатор помилки – ``0``, якщо операція виконана успішно, інакше " +"значення змінної :c:data:`errno`. Це корисно для підтримки, наприклад, " +"асинхронних підключень." + +msgid "" +"Put the socket object into closed state without actually closing the " +"underlying file descriptor. The file descriptor is returned, and can be " +"reused for other purposes." +msgstr "" +"Переведіть об’єкт сокета в закритий стан, фактично не закриваючи базовий " +"файловий дескриптор. Файловий дескриптор повертається, і його можна повторно " +"використовувати для інших цілей." + +msgid "Duplicate the socket." +msgstr "Дублюйте розетку." + +msgid "" +"Return the socket's file descriptor (a small integer), or -1 on failure. " +"This is useful with :func:`select.select`." +msgstr "" +"Повертає дескриптор файлу сокета (мале ціле число) або -1 у разі помилки. Це " +"корисно з :func:`select.select`." + +msgid "" +"Under Windows the small integer returned by this method cannot be used where " +"a file descriptor can be used (such as :func:`os.fdopen`). Unix does not " +"have this limitation." +msgstr "" +"Під Windows мале ціле число, яке повертає цей метод, не можна " +"використовувати там, де можна використовувати дескриптор файлу (наприклад, :" +"func:`os.fdopen`). Unix не має цього обмеження." + +msgid "" +"Get the :ref:`inheritable flag ` of the socket's file " +"descriptor or socket's handle: ``True`` if the socket can be inherited in " +"child processes, ``False`` if it cannot." +msgstr "" +"Отримайте :ref:`inheritable flag ` дескриптора файлу сокета " +"або дескриптора сокета: ``True``, якщо сокет можна успадкувати в дочірніх " +"процесах, ``False``, якщо це неможливо." + +msgid "" +"Return the remote address to which the socket is connected. This is useful " +"to find out the port number of a remote IPv4/v6 socket, for instance. (The " +"format of the address returned depends on the address family --- see " +"above.) On some systems this function is not supported." +msgstr "" +"Повертає віддалену адресу, до якої підключений сокет. Це корисно, наприклад, " +"щоб дізнатися номер порту віддаленого сокета IPv4/v6. (Формат адреси, що " +"повертається, залежить від родини адрес --- див. вище.) У деяких системах ця " +"функція не підтримується." + +msgid "" +"Return the socket's own address. This is useful to find out the port number " +"of an IPv4/v6 socket, for instance. (The format of the address returned " +"depends on the address family --- see above.)" +msgstr "" +"Повернути власну адресу сокета. Це корисно, наприклад, щоб дізнатися номер " +"порту сокета IPv4/v6. (Формат адреси, що повертається, залежить від " +"сімейства адрес --- див. вище.)" + +msgid "" +"Return the value of the given socket option (see the Unix man page :manpage:" +"`getsockopt(2)`). The needed symbolic constants (:const:`SO_\\*` etc.) are " +"defined in this module. If *buflen* is absent, an integer option is assumed " +"and its integer value is returned by the function. If *buflen* is present, " +"it specifies the maximum length of the buffer used to receive the option in, " +"and this buffer is returned as a bytes object. It is up to the caller to " +"decode the contents of the buffer (see the optional built-in module :mod:" +"`struct` for a way to decode C structures encoded as byte strings)." +msgstr "" +"Повертає значення вказаного параметра сокета (див. сторінку довідки Unix :" +"manpage:`getsockopt(2)`). Необхідні символічні константи (:const:`SO_\\*` " +"тощо) визначені в цьому модулі. Якщо *buflen* відсутній, передбачається " +"цілочисельний параметр, і функція повертає його ціле значення. Якщо " +"присутній *buflen*, він визначає максимальну довжину буфера, який " +"використовується для отримання опції, і цей буфер повертається як об’єкт " +"bytes. Вміст буфера повинен розшифровувати той, хто викликає (перегляньте " +"додатковий вбудований модуль :mod:`struct`, щоб дізнатися про спосіб " +"декодування структур C, закодованих як рядки байтів)." + +msgid "" +"Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking." +msgstr "" +"Повертає ``True``, якщо сокет знаходиться в режимі блокування, ``False``, " +"якщо він не блокується." + +msgid "This is equivalent to checking ``socket.gettimeout() == 0``." +msgstr "Це еквівалентно перевірці ``socket.gettimeout() == 0``." + +msgid "" +"Return the timeout in seconds (float) associated with socket operations, or " +"``None`` if no timeout is set. This reflects the last call to :meth:" +"`setblocking` or :meth:`settimeout`." +msgstr "" +"Повертає тайм-аут у секундах (float), пов’язаний з операціями сокета, або " +"``None``, якщо тайм-аут не встановлено. Це відображає останній виклик :meth:" +"`setblocking` або :meth:`settimeout`." + +msgid "platform" +msgstr "платформа" + +msgid "Windows" +msgstr "вікна" + +msgid "" +"The :meth:`ioctl` method is a limited interface to the WSAIoctl system " +"interface. Please refer to the `Win32 documentation `_ for more information." +msgstr "" +"Метод :meth:`ioctl` є обмеженим інтерфейсом системного інтерфейсу WSAIoctl. " +"Будь ласка, зверніться до `документації Win32 `_ для отримання додаткової інформації." + +msgid "" +"On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl` " +"functions may be used; they accept a socket object as their first argument." +msgstr "" +"На інших платформах можна використовувати загальні функції :func:`fcntl." +"fcntl` і :func:`fcntl.ioctl`; вони приймають об'єкт сокета як свій перший " +"аргумент." + +msgid "" +"Currently only the following control codes are supported: ``SIO_RCVALL``, " +"``SIO_KEEPALIVE_VALS``, and ``SIO_LOOPBACK_FAST_PATH``." +msgstr "" +"Наразі підтримуються лише такі керуючі коди: ``SIO_RCVALL``, " +"``SIO_KEEPALIVE_VALS`` і ``SIO_LOOPBACK_FAST_PATH``." + +msgid "" +"Enable a server to accept connections. If *backlog* is specified, it must " +"be at least 0 (if it is lower, it is set to 0); it specifies the number of " +"unaccepted connections that the system will allow before refusing new " +"connections. If not specified, a default reasonable value is chosen." +msgstr "" +"Увімкніть сервер для прийняття підключень. Якщо вказано *backlog*, воно має " +"бути принаймні 0 (якщо менше, то встановлюється на 0); він визначає " +"кількість неприйнятих підключень, які система дозволить перед тим, як " +"відхилити нові підключення. Якщо не вказано, вибирається розумне значення за " +"умовчанням." + +msgid "The *backlog* parameter is now optional." +msgstr "Параметр *backlog* тепер необов’язковий." + +msgid "" +"Return a :term:`file object` associated with the socket. The exact returned " +"type depends on the arguments given to :meth:`makefile`. These arguments " +"are interpreted the same way as by the built-in :func:`open` function, " +"except the only supported *mode* values are ``'r'`` (default), ``'w'`` and " +"``'b'``." +msgstr "" +"Повертає :term:`file object`, пов’язаний із сокетом. Точний тип, що " +"повертається, залежить від аргументів, наданих :meth:`makefile`. Ці " +"аргументи інтерпретуються так само, як і вбудована функція :func:`open`, за " +"винятком підтримуваних тільки значень *mode*: ``'r'`` (за замовчуванням), " +"``'w'`` і ``'b'``." + +msgid "" +"The socket must be in blocking mode; it can have a timeout, but the file " +"object's internal buffer may end up in an inconsistent state if a timeout " +"occurs." +msgstr "" +"Розетка повинна бути в режимі блокування; він може мати тайм-аут, але " +"внутрішній буфер файлового об’єкта може опинитися в неузгодженому стані, " +"якщо відбудеться тайм-аут." + +msgid "" +"Closing the file object returned by :meth:`makefile` won't close the " +"original socket unless all other file objects have been closed and :meth:" +"`socket.close` has been called on the socket object." +msgstr "" +"Закриття файлового об’єкта, який повертає :meth:`makefile`, не закриє " +"оригінальний сокет, якщо всі інші файлові об’єкти не закриті та :meth:" +"`socket.close` не викликано для об’єкта сокета." + +msgid "" +"On Windows, the file-like object created by :meth:`makefile` cannot be used " +"where a file object with a file descriptor is expected, such as the stream " +"arguments of :meth:`subprocess.Popen`." +msgstr "" +"У Windows файлоподібний об’єкт, створений :meth:`makefile`, не можна " +"використовувати там, де очікується файловий об’єкт із дескриптором файлу, " +"наприклад аргументи потоку :meth:`subprocess.Popen`." + +msgid "" +"Receive data from the socket. The return value is a bytes object " +"representing the data received. The maximum amount of data to be received " +"at once is specified by *bufsize*. See the Unix manual page :manpage:" +"`recv(2)` for the meaning of the optional argument *flags*; it defaults to " +"zero." +msgstr "" +"Отримувати дані з розетки. Повернене значення — це об’єкт байтів, що " +"представляє отримані дані. Максимальний обсяг даних, які потрібно отримати " +"одночасно, визначається *bufsize*. Перегляньте сторінку посібника Unix :" +"manpage:`recv(2)` для визначення значення необов’язкового аргументу *flags*; " +"за замовчуванням він дорівнює нулю." + +msgid "" +"For best match with hardware and network realities, the value of *bufsize* " +"should be a relatively small power of 2, for example, 4096." +msgstr "" +"Для найкращої відповідності апаратному забезпеченню та мережевим реаліям " +"значення *bufsize* має бути відносно малим ступенем 2, наприклад, 4096." + +msgid "" +"Receive data from the socket. The return value is a pair ``(bytes, " +"address)`` where *bytes* is a bytes object representing the data received " +"and *address* is the address of the socket sending the data. See the Unix " +"manual page :manpage:`recv(2)` for the meaning of the optional argument " +"*flags*; it defaults to zero. (The format of *address* depends on the " +"address family --- see above.)" +msgstr "" +"Отримувати дані з розетки. Поверненим значенням є пара ``(байти, адреса)``, " +"де *байт* — об’єкт байтів, що представляє отримані дані, а *адреса* — адреса " +"сокета, який надсилає дані. Перегляньте сторінку посібника Unix :manpage:" +"`recv(2)` для визначення значення необов’язкового аргументу *flags*; за " +"замовчуванням він дорівнює нулю. (Формат *адреси* залежить від групи адрес " +"--- див. вище.)" + +msgid "" +"For multicast IPv6 address, first item of *address* does not contain ``" +"%scope_id`` part anymore. In order to get full IPv6 address use :func:" +"`getnameinfo`." +msgstr "" +"Для багатоадресної адреси IPv6 перший елемент *address* більше не містить " +"частини ``%scope_id``. Щоб отримати повну адресу IPv6, використовуйте :func:" +"`getnameinfo`." + +msgid "" +"Receive normal data (up to *bufsize* bytes) and ancillary data from the " +"socket. The *ancbufsize* argument sets the size in bytes of the internal " +"buffer used to receive the ancillary data; it defaults to 0, meaning that no " +"ancillary data will be received. Appropriate buffer sizes for ancillary " +"data can be calculated using :func:`CMSG_SPACE` or :func:`CMSG_LEN`, and " +"items which do not fit into the buffer might be truncated or discarded. The " +"*flags* argument defaults to 0 and has the same meaning as for :meth:`recv`." +msgstr "" +"Отримувати звичайні дані (до *bufsize* байтів) і допоміжні дані з сокета. " +"Аргумент *ancbufsize* встановлює розмір у байтах внутрішнього буфера, який " +"використовується для отримання допоміжних даних; за замовчуванням він " +"дорівнює 0, що означає, що допоміжні дані не будуть отримані. Відповідні " +"розміри буферів для допоміжних даних можна обчислити за допомогою :func:" +"`CMSG_SPACE` або :func:`CMSG_LEN`, а елементи, які не вміщаються в буфер, " +"можуть бути скорочені або відкинуті. Аргумент *flags* за умовчанням дорівнює " +"0 і має те саме значення, що й для :meth:`recv`." + +msgid "" +"The return value is a 4-tuple: ``(data, ancdata, msg_flags, address)``. The " +"*data* item is a :class:`bytes` object holding the non-ancillary data " +"received. The *ancdata* item is a list of zero or more tuples " +"``(cmsg_level, cmsg_type, cmsg_data)`` representing the ancillary data " +"(control messages) received: *cmsg_level* and *cmsg_type* are integers " +"specifying the protocol level and protocol-specific type respectively, and " +"*cmsg_data* is a :class:`bytes` object holding the associated data. The " +"*msg_flags* item is the bitwise OR of various flags indicating conditions on " +"the received message; see your system documentation for details. If the " +"receiving socket is unconnected, *address* is the address of the sending " +"socket, if available; otherwise, its value is unspecified." +msgstr "" +"Повернене значення – це 4-кортеж: ``(data, ancdata, msg_flags, address)``. " +"Елемент *data* — це об’єкт :class:`bytes`, що містить отримані непобічні " +"дані. Елемент *ancdata* — це список із нуля або більше кортежів " +"``(cmsg_level, cmsg_type, cmsg_data)``, що представляють отримані допоміжні " +"дані (керуючі повідомлення): *cmsg_level* і *cmsg_type* — цілі числа, що " +"визначають рівень протоколу та протокол- певного типу відповідно, і " +"*cmsg_data* є об’єктом :class:`bytes`, що містить пов’язані дані. Елемент " +"*msg_flags* — це порозрядне АБО різних прапорів, що вказують на умови " +"отриманого повідомлення; подробиці дивіться в системній документації. Якщо " +"сокет-одержувач не підключений, *адреса* є адресою сокета-відправника, якщо " +"він доступний; інакше його значення не вказано." + +msgid "" +"On some systems, :meth:`sendmsg` and :meth:`recvmsg` can be used to pass " +"file descriptors between processes over an :const:`AF_UNIX` socket. When " +"this facility is used (it is often restricted to :const:`SOCK_STREAM` " +"sockets), :meth:`recvmsg` will return, in its ancillary data, items of the " +"form ``(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)``, where *fds* is a :" +"class:`bytes` object representing the new file descriptors as a binary array " +"of the native C :c:expr:`int` type. If :meth:`recvmsg` raises an exception " +"after the system call returns, it will first attempt to close any file " +"descriptors received via this mechanism." +msgstr "" + +msgid "" +"Some systems do not indicate the truncated length of ancillary data items " +"which have been only partially received. If an item appears to extend " +"beyond the end of the buffer, :meth:`recvmsg` will issue a :exc:" +"`RuntimeWarning`, and will return the part of it which is inside the buffer " +"provided it has not been truncated before the start of its associated data." +msgstr "" +"Деякі системи не вказують скорочену довжину елементів допоміжних даних, які " +"були отримані лише частково. Якщо елемент виходить за кінець буфера, :meth:" +"`recvmsg` видає :exc:`RuntimeWarning` і повертає його частину, яка " +"знаходиться всередині буфера, за умови, що вона не була скорочена до початку " +"своїх пов’язаних даних." + +msgid "" +"On systems which support the :const:`SCM_RIGHTS` mechanism, the following " +"function will receive up to *maxfds* file descriptors, returning the message " +"data and a list containing the descriptors (while ignoring unexpected " +"conditions such as unrelated control messages being received). See also :" +"meth:`sendmsg`. ::" +msgstr "" +"У системах, які підтримують механізм :const:`SCM_RIGHTS`, наступна функція " +"отримає до *maxfds* файлових дескрипторів, повертаючи дані повідомлення та " +"список, що містить дескриптори (ігноруючи неочікувані умови, такі як " +"отримання непов’язаних керуючих повідомлень). Дивіться також :meth:" +"`sendmsg`. ::" + +msgid "" +"Receive normal data and ancillary data from the socket, behaving as :meth:" +"`recvmsg` would, but scatter the non-ancillary data into a series of buffers " +"instead of returning a new bytes object. The *buffers* argument must be an " +"iterable of objects that export writable buffers (e.g. :class:`bytearray` " +"objects); these will be filled with successive chunks of the non-ancillary " +"data until it has all been written or there are no more buffers. The " +"operating system may set a limit (:func:`~os.sysconf` value ``SC_IOV_MAX``) " +"on the number of buffers that can be used. The *ancbufsize* and *flags* " +"arguments have the same meaning as for :meth:`recvmsg`." +msgstr "" +"Отримувати звичайні дані та допоміжні дані з сокета, поводячись так, як це " +"зробив би :meth:`recvmsg`, але розкидати не допоміжні дані в ряд буферів " +"замість повернення нового об’єкта bytes. Аргумент *buffers* має бути " +"ітерованим об’єктами, які експортують записувані буфери (наприклад, об’єкти :" +"class:`bytearray`); вони будуть заповнені послідовними фрагментами " +"непоміжних даних, доки вони не будуть записані або більше не залишиться " +"буферів. Операційна система може встановити обмеження (:func:`~os.sysconf` " +"значення ``SC_IOV_MAX``) на кількість буферів, які можна використовувати. " +"Аргументи *ancbufsize* і *flags* мають те саме значення, що й для :meth:" +"`recvmsg`." + +msgid "" +"The return value is a 4-tuple: ``(nbytes, ancdata, msg_flags, address)``, " +"where *nbytes* is the total number of bytes of non-ancillary data written " +"into the buffers, and *ancdata*, *msg_flags* and *address* are the same as " +"for :meth:`recvmsg`." +msgstr "" +"Повернене значення — це 4-кортеж: ``(nbytes, ancdata, msg_flags, address)``, " +"де *nbytes* — загальна кількість байтів непоміжних даних, записаних у " +"буфери, а *ancdata*, *msg_flags* і *адреса* такі самі, як і для :meth:" +"`recvmsg`." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"Receive data from the socket, writing it into *buffer* instead of creating a " +"new bytestring. The return value is a pair ``(nbytes, address)`` where " +"*nbytes* is the number of bytes received and *address* is the address of the " +"socket sending the data. See the Unix manual page :manpage:`recv(2)` for " +"the meaning of the optional argument *flags*; it defaults to zero. (The " +"format of *address* depends on the address family --- see above.)" +msgstr "" +"Отримувати дані з сокета, записуючи їх у *буфер* замість створення нового " +"байтового рядка. Поверненим значенням є пара ``(nbytes, address)``, де " +"*nbytes* — це кількість отриманих байтів, а *address* — це адреса сокета, " +"який надсилає дані. Перегляньте сторінку посібника Unix :manpage:`recv(2)` " +"для визначення значення необов’язкового аргументу *flags*; за замовчуванням " +"він дорівнює нулю. (Формат *адреси* залежить від групи адрес --- див. вище.)" + +msgid "" +"Receive up to *nbytes* bytes from the socket, storing the data into a buffer " +"rather than creating a new bytestring. If *nbytes* is not specified (or 0), " +"receive up to the size available in the given buffer. Returns the number of " +"bytes received. See the Unix manual page :manpage:`recv(2)` for the meaning " +"of the optional argument *flags*; it defaults to zero." +msgstr "" +"Отримайте до *nbytes* байт із сокета, зберігаючи дані в буфері, а не " +"створюючи новий рядок байтів. Якщо *nbytes* не вказано (або 0), отримати до " +"розміру, доступного в даному буфері. Повертає кількість отриманих байтів. " +"Перегляньте сторінку посібника Unix :manpage:`recv(2)` для визначення " +"значення необов’язкового аргументу *flags*; за замовчуванням він дорівнює " +"нулю." + +msgid "" +"Send data to the socket. The socket must be connected to a remote socket. " +"The optional *flags* argument has the same meaning as for :meth:`recv` " +"above. Returns the number of bytes sent. Applications are responsible for " +"checking that all data has been sent; if only some of the data was " +"transmitted, the application needs to attempt delivery of the remaining " +"data. For further information on this topic, consult the :ref:`socket-howto`." +msgstr "" +"Надіслати дані в сокет. Розетка повинна бути підключена до віддаленої " +"розетки. Необов’язковий аргумент *flags* має те саме значення, що й для :" +"meth:`recv` вище. Повертає кількість надісланих байтів. Додатки відповідають " +"за перевірку того, що всі дані були надіслані; якщо було передано лише " +"частину даних, програма повинна спробувати доставити решту даних. Для " +"отримання додаткової інформації з цієї теми зверніться до :ref:`socket-" +"howto`." + +msgid "" +"Send data to the socket. The socket must be connected to a remote socket. " +"The optional *flags* argument has the same meaning as for :meth:`recv` " +"above. Unlike :meth:`send`, this method continues to send data from *bytes* " +"until either all data has been sent or an error occurs. ``None`` is " +"returned on success. On error, an exception is raised, and there is no way " +"to determine how much data, if any, was successfully sent." +msgstr "" +"Надіслати дані в сокет. Розетка повинна бути підключена до віддаленої " +"розетки. Необов’язковий аргумент *flags* має те саме значення, що й для :" +"meth:`recv` вище. На відміну від :meth:`send`, цей метод продовжує надсилати " +"дані з *байтів*, доки не буде надіслано всі дані або не станеться помилка. " +"``None`` повертається в разі успіху. У разі помилки виникає виняток, і немає " +"способу визначити, скільки даних було успішно надіслано, якщо такі були." + +msgid "" +"The socket timeout is no more reset each time data is sent successfully. The " +"socket timeout is now the maximum total duration to send all data." +msgstr "" +"Час очікування сокета більше не скидається щоразу, коли дані надсилаються " +"успішно. Час очікування сокета тепер є максимальною загальною тривалістю " +"надсилання всіх даних." + +msgid "" +"Send data to the socket. The socket should not be connected to a remote " +"socket, since the destination socket is specified by *address*. The " +"optional *flags* argument has the same meaning as for :meth:`recv` above. " +"Return the number of bytes sent. (The format of *address* depends on the " +"address family --- see above.)" +msgstr "" +"Надіслати дані в сокет. Сокет не слід підключати до віддаленого сокета, " +"оскільки сокет призначення вказується *адресою*. Необов’язковий аргумент " +"*flags* має те саме значення, що й для :meth:`recv` вище. Повертає кількість " +"надісланих байтів. (Формат *адреси* залежить від групи адрес --- див. вище.)" + +msgid "" +"Raises an :ref:`auditing event ` ``socket.sendto`` with arguments " +"``self``, ``address``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.sendto`` з аргументами " +"``self``, ``address``." + +msgid "" +"Send normal and ancillary data to the socket, gathering the non-ancillary " +"data from a series of buffers and concatenating it into a single message. " +"The *buffers* argument specifies the non-ancillary data as an iterable of :" +"term:`bytes-like objects ` (e.g. :class:`bytes` objects); " +"the operating system may set a limit (:func:`~os.sysconf` value " +"``SC_IOV_MAX``) on the number of buffers that can be used. The *ancdata* " +"argument specifies the ancillary data (control messages) as an iterable of " +"zero or more tuples ``(cmsg_level, cmsg_type, cmsg_data)``, where " +"*cmsg_level* and *cmsg_type* are integers specifying the protocol level and " +"protocol-specific type respectively, and *cmsg_data* is a bytes-like object " +"holding the associated data. Note that some systems (in particular, systems " +"without :func:`CMSG_SPACE`) might support sending only one control message " +"per call. The *flags* argument defaults to 0 and has the same meaning as " +"for :meth:`send`. If *address* is supplied and not ``None``, it sets a " +"destination address for the message. The return value is the number of " +"bytes of non-ancillary data sent." +msgstr "" +"Надсилайте звичайні та допоміжні дані в сокет, збираючи недопоміжні дані з " +"ряду буферів і об’єднуючи їх в одне повідомлення. Аргумент *buffers* вказує " +"на не допоміжні дані як ітерацію :term:`bytes-подібних об’єктів ` (наприклад, :class:`bytes` об’єктів); операційна система може " +"встановити обмеження (:func:`~os.sysconf` значення ``SC_IOV_MAX``) на " +"кількість буферів, які можна використовувати. Аргумент *ancdata* визначає " +"допоміжні дані (керуючі повідомлення) як ітерацію з нуля або більше кортежів " +"``(cmsg_level, cmsg_type, cmsg_data)``, де *cmsg_level* і *cmsg_type* є " +"цілими числами, що визначають рівень протоколу та протокол- певного типу " +"відповідно, а *cmsg_data* — це байтиподібний об’єкт, що містить пов’язані " +"дані. Зверніть увагу, що деякі системи (зокрема, системи без :func:" +"`CMSG_SPACE`) можуть підтримувати надсилання лише одного керуючого " +"повідомлення на виклик. Аргумент *flags* за умовчанням дорівнює 0 і має те " +"саме значення, що й для :meth:`send`. Якщо вказано *address*, а не ``None``, " +"це встановлює адресу призначення для повідомлення. Повернене значення — це " +"кількість байтів надісланих непоміжних даних." + +msgid "" +"The following function sends the list of file descriptors *fds* over an :" +"const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` " +"mechanism. See also :meth:`recvmsg`. ::" +msgstr "" +"Наступна функція надсилає список дескрипторів файлів *fds* через сокет :" +"const:`AF_UNIX` у системах, які підтримують механізм :const:`SCM_RIGHTS`. " +"Дивіться також :meth:`recvmsg`. ::" + +msgid ":ref:`Availability `: Unix, not WASI." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``socket.sendmsg`` with arguments " +"``self``, ``address``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``socket.sendmsg`` з аргументами " +"``self``, ``address``." + +msgid "" +"Specialized version of :meth:`~socket.sendmsg` for :const:`AF_ALG` socket. " +"Set mode, IV, AEAD associated data length and flags for :const:`AF_ALG` " +"socket." +msgstr "" +"Спеціалізована версія :meth:`~socket.sendmsg` для :const:`AF_ALG` сокета. " +"Установіть довжину пов’язаних даних режиму, IV, AEAD і прапорці для сокета :" +"const:`AF_ALG`." + +msgid "" +"Send a file until EOF is reached by using high-performance :mod:`os." +"sendfile` and return the total number of bytes which were sent. *file* must " +"be a regular file object opened in binary mode. If :mod:`os.sendfile` is not " +"available (e.g. Windows) or *file* is not a regular file :meth:`send` will " +"be used instead. *offset* tells from where to start reading the file. If " +"specified, *count* is the total number of bytes to transmit as opposed to " +"sending the file until EOF is reached. File position is updated on return or " +"also in case of error in which case :meth:`file.tell() ` can " +"be used to figure out the number of bytes which were sent. The socket must " +"be of :const:`SOCK_STREAM` type. Non-blocking sockets are not supported." +msgstr "" +"Надсилайте файл до досягнення EOF за допомогою високопродуктивного :mod:`os." +"sendfile` і повертайте загальну кількість надісланих байтів. *file* має бути " +"звичайним файловим об’єктом, відкритим у двійковому режимі. Якщо :mod:`os." +"sendfile` недоступний (наприклад, Windows) або *file* не є звичайним файлом, " +"замість нього буде використано :meth:`send`. *offset* вказує, звідки почати " +"читання файлу. Якщо вказано, *count* — це загальна кількість байтів для " +"передачі, а не надсилання файлу до досягнення EOF. Позиція файлу оновлюється " +"при поверненні або також у разі помилки, у цьому випадку :meth:`file.tell() " +"` можна використовувати для визначення кількості надісланих " +"байтів. Сокет має бути типу :const:`SOCK_STREAM`. Неблокуючі сокети не " +"підтримуються." + +msgid "" +"Set the :ref:`inheritable flag ` of the socket's file " +"descriptor or socket's handle." +msgstr "" +"Установіть :ref:`inheritable flag ` дескриптора файлу сокета " +"або дескриптора сокета." + +msgid "" +"Set blocking or non-blocking mode of the socket: if *flag* is false, the " +"socket is set to non-blocking, else to blocking mode." +msgstr "" +"Встановіть блокуючий або неблокуючий режим сокета: якщо *flag* має значення " +"false, сокет встановлено в неблокуючий режим, інакше в режим блокування." + +msgid "" +"This method is a shorthand for certain :meth:`~socket.settimeout` calls:" +msgstr "Цей метод є скороченням певних викликів :meth:`~socket.settimeout`:" + +msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" +msgstr "``sock.setblocking(True)`` еквівалентно ``sock.settimeout(None)``" + +msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" +msgstr "``sock.setblocking(False)`` еквівалентний ``sock.settimeout(0.0)``" + +msgid "" +"The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket." +"type`." +msgstr "" +"Метод більше не застосовує прапор :const:`SOCK_NONBLOCK` до :attr:`socket." +"type`." + +msgid "" +"Set a timeout on blocking socket operations. The *value* argument can be a " +"nonnegative floating point number expressing seconds, or ``None``. If a non-" +"zero value is given, subsequent socket operations will raise a :exc:" +"`timeout` exception if the timeout period *value* has elapsed before the " +"operation has completed. If zero is given, the socket is put in non-" +"blocking mode. If ``None`` is given, the socket is put in blocking mode." +msgstr "" +"Встановіть тайм-аут для блокування операцій сокетів. Аргументом *value* може " +"бути невід’ємне число з плаваючою комою, що виражає секунди, або ``None``. " +"Якщо задано ненульове значення, наступні операції з сокетом викличуть " +"виняток :exc:`timeout`, якщо період очікування *значення* минув до " +"завершення операції. Якщо вказано нуль, сокет переходить у неблокуючий " +"режим. Якщо задано ``None``, сокет переходить у режим блокування." + +msgid "" +"For further information, please consult the :ref:`notes on socket timeouts " +"`." +msgstr "" +"Щоб отримати додаткову інформацію, зверніться до :ref:`приміток щодо тайм-" +"аутів сокетів `." + +msgid "" +"The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket." +"type`." +msgstr "" +"Метод більше не вмикає прапор :const:`SOCK_NONBLOCK` на :attr:`socket.type`." + +msgid "" +"Set the value of the given socket option (see the Unix manual page :manpage:" +"`setsockopt(2)`). The needed symbolic constants are defined in the :mod:" +"`socket` module (:const:`SO_\\*` etc.). The value can be an integer, " +"``None`` or a :term:`bytes-like object` representing a buffer. In the later " +"case it is up to the caller to ensure that the bytestring contains the " +"proper bits (see the optional built-in module :mod:`struct` for a way to " +"encode C structures as bytestrings). When *value* is set to ``None``, " +"*optlen* argument is required. It's equivalent to call :c:func:`setsockopt` " +"C function with ``optval=NULL`` and ``optlen=optlen``." +msgstr "" +"Встановіть значення даного параметра сокета (дивіться сторінку посібника " +"Unix :manpage:`setsockopt(2)`). Необхідні символічні константи визначені в " +"модулі :mod:`socket` (:const:`SO_\\*` тощо). Значення може бути цілим " +"числом, ``None`` або :term:`bytes-like object`, що представляє буфер. У " +"останньому випадку абонент повинен переконатися, що байтовий рядок містить " +"правильні біти (дивіться необов’язковий вбудований модуль :mod:`struct` для " +"того, щоб закодувати структури C як байтові рядки). Якщо *value* має " +"значення ``None``, аргумент *optlen* є обов’язковим. Це еквівалентно " +"виклику :c:func:`setsockopt` функції C з ``optval=NULL`` і ``optlen=optlen``." + +msgid "setsockopt(level, optname, None, optlen: int) form added." +msgstr "Додано форму setsockopt(level, optname, None, optlen: int)." + +msgid "" +"Shut down one or both halves of the connection. If *how* is :const:" +"`SHUT_RD`, further receives are disallowed. If *how* is :const:`SHUT_WR`, " +"further sends are disallowed. If *how* is :const:`SHUT_RDWR`, further sends " +"and receives are disallowed." +msgstr "" +"Вимкніть одну або обидві половини з’єднання. Якщо *how* :const:`SHUT_RD`, " +"подальші прийоми заборонені. Якщо *how* :const:`SHUT_WR`, подальші " +"надсилання заборонені. Якщо *how* :const:`SHUT_RDWR`, подальше надсилання та " +"отримання заборонено." + +msgid "" +"Duplicate a socket and prepare it for sharing with a target process. The " +"target process must be provided with *process_id*. The resulting bytes " +"object can then be passed to the target process using some form of " +"interprocess communication and the socket can be recreated there using :func:" +"`fromshare`. Once this method has been called, it is safe to close the " +"socket since the operating system has already duplicated it for the target " +"process." +msgstr "" +"Скопіюйте сокет і підготуйте його для спільного використання з цільовим " +"процесом. Цільовому процесу має бути надано *process_id*. Отриманий об’єкт " +"bytes потім можна передати цільовому процесу за допомогою певної форми " +"міжпроцесного зв’язку, а сокет можна відтворити там за допомогою :func:" +"`fromshare`. Після виклику цього методу можна безпечно закрити сокет, " +"оскільки операційна система вже скопіювала його для цільового процесу." + +msgid "" +"Note that there are no methods :meth:`read` or :meth:`write`; use :meth:" +"`~socket.recv` and :meth:`~socket.send` without *flags* argument instead." +msgstr "" +"Зверніть увагу, що немає методів :meth:`read` або :meth:`write`; замість " +"цього використовуйте :meth:`~socket.recv` і :meth:`~socket.send` без " +"аргументу *flags*." + +msgid "" +"Socket objects also have these (read-only) attributes that correspond to the " +"values given to the :class:`~socket.socket` constructor." +msgstr "" +"Об’єкти Socket також мають ці атрибути (лише для читання), які відповідають " +"значенням, наданим конструктору :class:`~socket.socket`." + +msgid "The socket family." +msgstr "Сімейство розеток." + +msgid "The socket type." +msgstr "Тип розетки." + +msgid "The socket protocol." +msgstr "Протокол сокета." + +msgid "Notes on socket timeouts" +msgstr "Примітки щодо тайм-аутів сокетів" + +msgid "" +"A socket object can be in one of three modes: blocking, non-blocking, or " +"timeout. Sockets are by default always created in blocking mode, but this " +"can be changed by calling :func:`setdefaulttimeout`." +msgstr "" +"Об’єкт сокета може бути в одному з трьох режимів: блокування, неблокування " +"або час очікування. За умовчанням сокети завжди створюються в режимі " +"блокування, але це можна змінити, викликавши :func:`setdefaulttimeout`." + +msgid "" +"In *blocking mode*, operations block until complete or the system returns an " +"error (such as connection timed out)." +msgstr "" +"У *режимі блокування* операції блокуються до завершення або доки система не " +"поверне повідомлення про помилку (наприклад, час очікування підключення " +"закінчився)." + +msgid "" +"In *non-blocking mode*, operations fail (with an error that is unfortunately " +"system-dependent) if they cannot be completed immediately: functions from " +"the :mod:`select` can be used to know when and whether a socket is available " +"for reading or writing." +msgstr "" +"У *неблокуючому режимі* операції не вдаються (з помилкою, яка, на жаль, " +"залежить від системи), якщо їх не можна завершити негайно: функції з :mod:" +"`select` можна використовувати, щоб дізнатися, коли та чи доступний сокет " +"для читання або письмо." + +msgid "" +"In *timeout mode*, operations fail if they cannot be completed within the " +"timeout specified for the socket (they raise a :exc:`timeout` exception) or " +"if the system returns an error." +msgstr "" +"У *режимі тайм-ауту* операції завершуються невдало, якщо їх не можна " +"завершити протягом тайм-ауту, указаного для сокета (вони викликають виняток :" +"exc:`timeout`) або якщо система повертає помилку." + +msgid "" +"At the operating system level, sockets in *timeout mode* are internally set " +"in non-blocking mode. Also, the blocking and timeout modes are shared " +"between file descriptors and socket objects that refer to the same network " +"endpoint. This implementation detail can have visible consequences if e.g. " +"you decide to use the :meth:`~socket.fileno()` of a socket." +msgstr "" +"На рівні операційної системи сокети в *режимі тайм-ауту* внутрішньо " +"налаштовані на неблокуючий режим. Крім того, режими блокування та тайм-ауту " +"розподіляються між файловими дескрипторами та об’єктами сокетів, які " +"посилаються на ту саму кінцеву точку мережі. Ця деталь впровадження може " +"мати видимі наслідки, якщо, напр. ви вирішили використовувати :meth:`~socket." +"fileno()` сокета." + +msgid "Timeouts and the ``connect`` method" +msgstr "Час очікування та метод ``connect``" + +msgid "" +"The :meth:`~socket.connect` operation is also subject to the timeout " +"setting, and in general it is recommended to call :meth:`~socket.settimeout` " +"before calling :meth:`~socket.connect` or pass a timeout parameter to :meth:" +"`create_connection`. However, the system network stack may also return a " +"connection timeout error of its own regardless of any Python socket timeout " +"setting." +msgstr "" +"Операція :meth:`~socket.connect` також залежить від параметра тайм-ауту, і " +"загалом рекомендується викликати :meth:`~socket.settimeout` перед викликом :" +"meth:`~socket.connect` або передати параметр часу очікування для :meth:" +"`create_connection`. Однак системний мережевий стек також може повертати " +"власну помилку очікування підключення незалежно від будь-якого параметра " +"часу очікування сокета Python." + +msgid "Timeouts and the ``accept`` method" +msgstr "Час очікування та метод ``accept``" + +msgid "" +"If :func:`getdefaulttimeout` is not :const:`None`, sockets returned by the :" +"meth:`~socket.accept` method inherit that timeout. Otherwise, the behaviour " +"depends on settings of the listening socket:" +msgstr "" +"Якщо :func:`getdefaulttimeout` не :const:`None`, сокети, повернуті методом :" +"meth:`~socket.accept`, успадковують цей час очікування. В іншому випадку " +"поведінка залежить від налаштувань прослуховувального сокета:" + +msgid "" +"if the listening socket is in *blocking mode* or in *timeout mode*, the " +"socket returned by :meth:`~socket.accept` is in *blocking mode*;" +msgstr "" +"якщо прослуховувальний сокет знаходиться в *режимі блокування* або в *режимі " +"очікування*, сокет, який повертає :meth:`~socket.accept`, знаходиться в " +"*режимі блокування*;" + +msgid "" +"if the listening socket is in *non-blocking mode*, whether the socket " +"returned by :meth:`~socket.accept` is in blocking or non-blocking mode is " +"operating system-dependent. If you want to ensure cross-platform behaviour, " +"it is recommended you manually override this setting." +msgstr "" +"якщо сокет, що прослуховує, знаходиться в *неблокуючому режимі*, чи є сокет, " +"повернутий :meth:`~socket.accept` у блокуючому чи неблокуючому режимі, " +"залежить від операційної системи. Якщо ви хочете забезпечити кросплатформну " +"поведінку, радимо вручну змінити це налаштування." + +msgid "Example" +msgstr "приклад" + +msgid "" +"Here are four minimal example programs using the TCP/IP protocol: a server " +"that echoes all data that it receives back (servicing only one client), and " +"a client using it. Note that a server must perform the sequence :func:`." +"socket`, :meth:`~socket.bind`, :meth:`~socket.listen`, :meth:`~socket." +"accept` (possibly repeating the :meth:`~socket.accept` to service more than " +"one client), while a client only needs the sequence :func:`.socket`, :meth:" +"`~socket.connect`. Also note that the server does not :meth:`~socket." +"sendall`/:meth:`~socket.recv` on the socket it is listening on but on the " +"new socket returned by :meth:`~socket.accept`." +msgstr "" +"Ось чотири мінімальні приклади програм, які використовують протокол TCP/IP: " +"сервер, який відтворює всі отримані дані (обслуговуючи лише одного клієнта), " +"і клієнт, який його використовує. Зауважте, що сервер повинен виконати " +"послідовність :func:`.socket`, :meth:`~socket.bind`, :meth:`~socket." +"listen`, :meth:`~socket.accept` (можливо, повторюючи :meth:`~socket.accept` " +"для обслуговування більш ніж одного клієнта), тоді як клієнту потрібна лише " +"послідовність :func:`.socket`, :meth:`~socket.connect`. Також зауважте, що " +"сервер не :meth:`~socket.sendall`/:meth:`~socket.recv` на сокет, який він " +"прослуховує, а на новий сокет, повернутий :meth:`~socket.accept`." + +msgid "The first two examples support IPv4 only. ::" +msgstr "Перші два приклади підтримують лише IPv4. ::" + +msgid "" +"The next two examples are identical to the above two, but support both IPv4 " +"and IPv6. The server side will listen to the first address family available " +"(it should listen to both instead). On most of IPv6-ready systems, IPv6 will " +"take precedence and the server may not accept IPv4 traffic. The client side " +"will try to connect to the all addresses returned as a result of the name " +"resolution, and sends traffic to the first one connected successfully. ::" +msgstr "" +"Наступні два приклади ідентичні наведеним вище, але підтримують як IPv4, так " +"і IPv6. Сторона сервера прослуховуватиме перше доступне сімейство адрес " +"(замість цього вона має прослуховувати обидва). У більшості систем із " +"підтримкою IPv6 IPv6 матиме пріоритет, і сервер може не приймати трафік " +"IPv4. Клієнтська сторона спробує підключитися до всіх адрес, отриманих у " +"результаті розпізнавання імен, і надсилає трафік на першу з успішно " +"підключених адрес. ::" + +msgid "" +"The next example shows how to write a very simple network sniffer with raw " +"sockets on Windows. The example requires administrator privileges to modify " +"the interface::" +msgstr "" +"У наступному прикладі показано, як написати дуже простий мережевий сніфер із " +"необробленими сокетами у Windows. У прикладі потрібні права адміністратора, " +"щоб змінити інтерфейс:" + +msgid "" +"The next example shows how to use the socket interface to communicate to a " +"CAN network using the raw socket protocol. To use CAN with the broadcast " +"manager protocol instead, open a socket with::" +msgstr "" +"У наступному прикладі показано, як використовувати інтерфейс сокета для " +"зв’язку з мережею CAN за допомогою необробленого протоколу сокета. Щоб " +"замість цього використовувати CAN із протоколом диспетчера трансляції, " +"відкрийте сокет за допомогою:" + +msgid "" +"After binding (:const:`CAN_RAW`) or connecting (:const:`CAN_BCM`) the " +"socket, you can use the :meth:`socket.send`, and the :meth:`socket.recv` " +"operations (and their counterparts) on the socket object as usual." +msgstr "" +"Після зв’язування (:const:`CAN_RAW`) або підключення (:const:`CAN_BCM`) " +"сокета ви можете використовувати операції :meth:`socket.send` і :meth:" +"`socket.recv` (та їх аналоги) на об’єкті сокета, як зазвичай." + +msgid "This last example might require special privileges::" +msgstr "Цей останній приклад може вимагати спеціальних привілеїв:" + +msgid "" +"Running an example several times with too small delay between executions, " +"could lead to this error::" +msgstr "" +"Запуск прикладу кілька разів із занадто малою затримкою між виконаннями може " +"призвести до цієї помилки::" + +msgid "" +"This is because the previous execution has left the socket in a " +"``TIME_WAIT`` state, and can't be immediately reused." +msgstr "" +"Це пов’язано з тим, що попереднє виконання залишило сокет у стані " +"``TIME_WAIT`` і не може бути негайно повторно використано." + +msgid "" +"There is a :mod:`socket` flag to set, in order to prevent this, :data:" +"`socket.SO_REUSEADDR`::" +msgstr "" +"Існує прапорець :mod:`socket`, щоб запобігти цьому, :data:`socket." +"SO_REUSEADDR`::" + +msgid "" +"the :data:`SO_REUSEADDR` flag tells the kernel to reuse a local socket in " +"``TIME_WAIT`` state, without waiting for its natural timeout to expire." +msgstr "" +"прапорець :data:`SO_REUSEADDR` повідомляє ядру повторно використовувати " +"локальний сокет у стані ``TIME_WAIT``, не чекаючи закінчення його природного " +"часу очікування." + +msgid "" +"For an introduction to socket programming (in C), see the following papers:" +msgstr "" +"Для ознайомлення з програмуванням сокетів (на C) перегляньте такі документи:" + +msgid "" +"*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " +"Sechrest" +msgstr "" +"*Вступний навчальний посібник із взаємодії між процесами 4.3BSD*, Стюарт " +"Сехрест" + +msgid "" +"*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " +"Leffler et al," +msgstr "" +"*Навчальний посібник із розширеного міжпроцесного зв’язку 4.3BSD*, Семюел " +"Дж. Леффлер та інші," + +msgid "" +"both in the UNIX Programmer's Manual, Supplementary Documents 1 (sections " +"PS1:7 and PS1:8). The platform-specific reference material for the various " +"socket-related system calls are also a valuable source of information on the " +"details of socket semantics. For Unix, refer to the manual pages; for " +"Windows, see the WinSock (or Winsock 2) specification. For IPv6-ready APIs, " +"readers may want to refer to :rfc:`3493` titled Basic Socket Interface " +"Extensions for IPv6." +msgstr "" +"обидва в Посібнику програміста UNIX, Додаткові документи 1 (розділи PS1:7 та " +"PS1:8). Довідковий матеріал для певної платформи для різноманітних системних " +"викликів, пов’язаних із сокетами, також є цінним джерелом інформації про " +"деталі семантики сокетів. Для Unix зверніться до сторінок посібника; для " +"Windows дивіться специфікацію WinSock (або Winsock 2). Щодо API, готових до " +"IPv6, читачі можуть звернутися до :rfc:`3493` під назвою Basic Socket " +"Interface Extensions for IPv6." diff --git a/library/socketserver.po b/library/socketserver.po new file mode 100644 index 000000000..c4a67c89c --- /dev/null +++ b/library/socketserver.po @@ -0,0 +1,710 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`socketserver` --- A framework for network servers" +msgstr ":mod:`socketserver` --- Фреймворк для мережевих серверів" + +msgid "**Source code:** :source:`Lib/socketserver.py`" +msgstr "**Вихідний код:** :source:`Lib/socketserver.py`" + +msgid "" +"The :mod:`socketserver` module simplifies the task of writing network " +"servers." +msgstr "" +"Модуль :mod:`socketserver` спрощує завдання написання мережевих серверів." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "There are four basic concrete server classes:" +msgstr "Існує чотири основних класи конкретних серверів:" + +msgid "" +"This uses the internet TCP protocol, which provides for continuous streams " +"of data between the client and server. If *bind_and_activate* is true, the " +"constructor automatically attempts to invoke :meth:`~BaseServer.server_bind` " +"and :meth:`~BaseServer.server_activate`. The other parameters are passed to " +"the :class:`BaseServer` base class." +msgstr "" +"Для цього використовується інтернет-протокол TCP, який забезпечує " +"безперервні потоки даних між клієнтом і сервером. Якщо *bind_and_activate* " +"має значення true, конструктор автоматично намагається викликати :meth:" +"`~BaseServer.server_bind` і :meth:`~BaseServer.server_activate`. Інші " +"параметри передаються до базового класу :class:`BaseServer`." + +msgid "" +"This uses datagrams, which are discrete packets of information that may " +"arrive out of order or be lost while in transit. The parameters are the " +"same as for :class:`TCPServer`." +msgstr "" +"Для цього використовуються дейтаграми, які є окремими пакетами інформації, " +"які можуть надійти не в порядку або бути втраченими під час передачі. " +"Параметри такі самі, як і для :class:`TCPServer`." + +msgid "" +"These more infrequently used classes are similar to the TCP and UDP classes, " +"but use Unix domain sockets; they're not available on non-Unix platforms. " +"The parameters are the same as for :class:`TCPServer`." +msgstr "" +"Ці менш часто використовувані класи подібні до класів TCP і UDP, але " +"використовують доменні сокети Unix; вони недоступні на платформах, відмінних " +"від Unix. Параметри такі самі, як і для :class:`TCPServer`." + +msgid "" +"These four classes process requests :dfn:`synchronously`; each request must " +"be completed before the next request can be started. This isn't suitable if " +"each request takes a long time to complete, because it requires a lot of " +"computation, or because it returns a lot of data which the client is slow to " +"process. The solution is to create a separate process or thread to handle " +"each request; the :class:`ForkingMixIn` and :class:`ThreadingMixIn` mix-in " +"classes can be used to support asynchronous behaviour." +msgstr "" +"Ці чотири класи обробляють запити :dfn:`synchronously`; кожен запит має бути " +"виконано перед початком наступного запиту. Це не підходить, якщо виконання " +"кожного запиту займає багато часу, тому що він вимагає багато обчислень або " +"тому, що він повертає багато даних, які клієнт повільно обробляє. Рішення " +"полягає у створенні окремого процесу або потоку для обробки кожного запиту; " +"змішані класи :class:`ForkingMixIn` і :class:`ThreadingMixIn` можна " +"використовувати для підтримки асинхронної поведінки." + +msgid "" +"Creating a server requires several steps. First, you must create a request " +"handler class by subclassing the :class:`BaseRequestHandler` class and " +"overriding its :meth:`~BaseRequestHandler.handle` method; this method will " +"process incoming requests. Second, you must instantiate one of the server " +"classes, passing it the server's address and the request handler class. It " +"is recommended to use the server in a :keyword:`with` statement. Then call " +"the :meth:`~BaseServer.handle_request` or :meth:`~BaseServer.serve_forever` " +"method of the server object to process one or many requests. Finally, call :" +"meth:`~BaseServer.server_close` to close the socket (unless you used a :" +"keyword:`!with` statement)." +msgstr "" +"Створення сервера вимагає кількох кроків. По-перше, ви повинні створити клас " +"обробника запитів, створивши підклас класу :class:`BaseRequestHandler` і " +"перевизначивши його метод :meth:`~BaseRequestHandler.handle`; цей метод " +"оброблятиме вхідні запити. По-друге, ви повинні створити екземпляр одного з " +"класів сервера, передавши йому адресу сервера та клас обробника запитів. " +"Рекомендовано використовувати сервер у операторі :keyword:`with`. Потім " +"викличте метод :meth:`~BaseServer.handle_request` або :meth:`~BaseServer." +"serve_forever` об’єкта сервера для обробки одного або кількох запитів. " +"Нарешті, викличте :meth:`~BaseServer.server_close`, щоб закрити сокет (якщо " +"ви не використали оператор :keyword:`!with`)." + +msgid "" +"When inheriting from :class:`ThreadingMixIn` for threaded connection " +"behavior, you should explicitly declare how you want your threads to behave " +"on an abrupt shutdown. The :class:`ThreadingMixIn` class defines an " +"attribute *daemon_threads*, which indicates whether or not the server should " +"wait for thread termination. You should set the flag explicitly if you " +"would like threads to behave autonomously; the default is :const:`False`, " +"meaning that Python will not exit until all threads created by :class:" +"`ThreadingMixIn` have exited." +msgstr "" +"Успадковуючи від :class:`ThreadingMixIn` поведінку потокового з’єднання, ви " +"повинні явно оголосити, як ви хочете, щоб ваші потоки поводилися під час " +"раптового завершення роботи. Клас :class:`ThreadingMixIn` визначає атрибут " +"*daemon_threads*, який вказує, чи повинен сервер чекати завершення потоку. " +"Ви повинні встановити прапорець явно, якщо ви хочете, щоб потоки поводилися " +"автономно; за замовчуванням :const:`False`, що означає, що Python не " +"завершить роботу, доки не завершаться всі потоки, створені :class:" +"`ThreadingMixIn`." + +msgid "" +"Server classes have the same external methods and attributes, no matter what " +"network protocol they use." +msgstr "" +"Класи серверів мають однакові зовнішні методи та атрибути, незалежно від " +"того, який мережевий протокол вони використовують." + +msgid "Server Creation Notes" +msgstr "Примітки щодо створення сервера" + +msgid "" +"There are five classes in an inheritance diagram, four of which represent " +"synchronous servers of four types::" +msgstr "" +"У діаграмі успадкування є п’ять класів, чотири з яких представляють " +"синхронні сервери чотирьох типів:" + +msgid "" +"Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " +"from :class:`UnixStreamServer` --- the only difference between an IP and a " +"Unix stream server is the address family, which is simply repeated in both " +"Unix server classes." +msgstr "" +"Зауважте, що :class:`UnixDatagramServer` походить від :class:`UDPServer`, а " +"не від :class:`UnixStreamServer` --- єдина різниця між IP-адресою та " +"сервером потоку Unix полягає в родині адрес, яка просто повторюється в обох " +"Класи серверів Unix." + +msgid "" +"Forking and threading versions of each type of server can be created using " +"these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " +"as follows::" +msgstr "" +"Розгалуження та версії потоків кожного типу сервера можна створити за " +"допомогою цих змішаних класів. Наприклад, :class:`ThreadingUDPServer` " +"створюється таким чином:" + +msgid "" +"The mix-in class comes first, since it overrides a method defined in :class:" +"`UDPServer`. Setting the various attributes also changes the behavior of " +"the underlying server mechanism." +msgstr "" +"Клас mix-in стоїть на першому місці, оскільки він замінює метод, визначений " +"у :class:`UDPServer`. Налаштування різних атрибутів також змінює поведінку " +"базового серверного механізму." + +msgid "" +":class:`ForkingMixIn` and the Forking classes mentioned below are only " +"available on POSIX platforms that support :func:`~os.fork`." +msgstr "" +":class:`ForkingMixIn` і згадані нижче класи Forking доступні лише на " +"платформах POSIX, які підтримують :func:`~os.fork`." + +msgid "" +":meth:`socketserver.ForkingMixIn.server_close` waits until all child " +"processes complete, except if :attr:`socketserver.ForkingMixIn." +"block_on_close` attribute is false." +msgstr "" +":meth:`socketserver.ForkingMixIn.server_close` очікує завершення всіх " +"дочірніх процесів, за винятком випадків, коли атрибут :attr:`socketserver." +"ForkingMixIn.block_on_close` має значення false." + +msgid "" +":meth:`socketserver.ThreadingMixIn.server_close` waits until all non-daemon " +"threads complete, except if :attr:`socketserver.ThreadingMixIn." +"block_on_close` attribute is false. Use daemonic threads by setting :data:" +"`ThreadingMixIn.daemon_threads` to ``True`` to not wait until threads " +"complete." +msgstr "" +":meth:`socketserver.ThreadingMixIn.server_close` очікує завершення всіх " +"потоків, які не є демонами, за винятком випадків, коли атрибут :attr:" +"`socketserver.ThreadingMixIn.block_on_close` має значення false. " +"Використовуйте демонічні потоки, встановивши для :data:`ThreadingMixIn." +"daemon_threads` значення ``True``, щоб не чекати завершення потоків." + +msgid "" +":meth:`socketserver.ForkingMixIn.server_close` and :meth:`socketserver." +"ThreadingMixIn.server_close` now waits until all child processes and non-" +"daemonic threads complete. Add a new :attr:`socketserver.ForkingMixIn." +"block_on_close` class attribute to opt-in for the pre-3.7 behaviour." +msgstr "" +":meth:`socketserver.ForkingMixIn.server_close` і :meth:`socketserver." +"ThreadingMixIn.server_close` тепер очікують завершення всіх дочірніх " +"процесів і недемонічних потоків. Додайте новий атрибут класу :attr:" +"`socketserver.ForkingMixIn.block_on_close`, щоб погодитися на поведінку до " +"3.7." + +msgid "These classes are pre-defined using the mix-in classes." +msgstr "Ці класи попередньо визначені за допомогою змішаних класів." + +msgid "" +"To implement a service, you must derive a class from :class:" +"`BaseRequestHandler` and redefine its :meth:`~BaseRequestHandler.handle` " +"method. You can then run various versions of the service by combining one of " +"the server classes with your request handler class. The request handler " +"class must be different for datagram or stream services. This can be hidden " +"by using the handler subclasses :class:`StreamRequestHandler` or :class:" +"`DatagramRequestHandler`." +msgstr "" +"Щоб реалізувати службу, ви повинні отримати клас від :class:" +"`BaseRequestHandler` і перевизначити його метод :meth:`~BaseRequestHandler." +"handle`. Потім ви можете запустити різні версії служби, поєднавши один із " +"класів сервера з класом обробника запитів. Клас обробника запитів має " +"відрізнятися для датаграм або потокових служб. Це можна приховати за " +"допомогою підкласів обробників :class:`StreamRequestHandler` або :class:" +"`DatagramRequestHandler`." + +msgid "" +"Of course, you still have to use your head! For instance, it makes no sense " +"to use a forking server if the service contains state in memory that can be " +"modified by different requests, since the modifications in the child process " +"would never reach the initial state kept in the parent process and passed to " +"each child. In this case, you can use a threading server, but you will " +"probably have to use locks to protect the integrity of the shared data." +msgstr "" +"Звичайно, вам все одно доведеться використовувати свою голову! Наприклад, " +"немає сенсу використовувати сервер розгалуження, якщо служба містить стан у " +"пам’яті, який можна змінювати різними запитами, оскільки зміни в дочірньому " +"процесі ніколи не досягнуть початкового стану, який зберігається в " +"батьківському процесі та передається кожному дочірньому. . У цьому випадку " +"ви можете використовувати потоковий сервер, але вам, ймовірно, доведеться " +"використовувати блокування для захисту цілісності спільних даних." + +msgid "" +"On the other hand, if you are building an HTTP server where all data is " +"stored externally (for instance, in the file system), a synchronous class " +"will essentially render the service \"deaf\" while one request is being " +"handled -- which may be for a very long time if a client is slow to receive " +"all the data it has requested. Here a threading or forking server is " +"appropriate." +msgstr "" +"З іншого боку, якщо ви створюєте HTTP-сервер, де всі дані зберігаються зовні " +"(наприклад, у файловій системі), синхронний клас, по суті, надаватиме " +"послугу \"глухою\", поки обробляється один запит, що може бути дуже довго, " +"якщо клієнт повільно отримує всі запитувані дані. Тут підійде сервер потоків " +"або розгалуження." + +msgid "" +"In some cases, it may be appropriate to process part of a request " +"synchronously, but to finish processing in a forked child depending on the " +"request data. This can be implemented by using a synchronous server and " +"doing an explicit fork in the request handler class :meth:" +"`~BaseRequestHandler.handle` method." +msgstr "" +"У деяких випадках може бути доречним обробити частину запиту синхронно, але " +"завершити обробку в розгалуженому дочірньому файлі залежно від даних запиту. " +"Це можна реалізувати за допомогою синхронного сервера та виконання явного " +"розгалуження в методі класу обробника запитів :meth:`~BaseRequestHandler." +"handle`." + +msgid "" +"Another approach to handling multiple simultaneous requests in an " +"environment that supports neither threads nor :func:`~os.fork` (or where " +"these are too expensive or inappropriate for the service) is to maintain an " +"explicit table of partially finished requests and to use :mod:`selectors` to " +"decide which request to work on next (or whether to handle a new incoming " +"request). This is particularly important for stream services where each " +"client can potentially be connected for a long time (if threads or " +"subprocesses cannot be used). See :mod:`asyncore` for another way to manage " +"this." +msgstr "" +"Інший підхід до обробки кількох одночасних запитів у середовищі, яке не " +"підтримує ні потоки, ні :func:`~os.fork` (або якщо вони надто дорогі або " +"невідповідні для служби), полягає у підтримці явної таблиці частково " +"завершених запитів і використання :mod:`selectors`, щоб вирішити, над яким " +"запитом працювати далі (або чи обробляти новий вхідний запит). Це особливо " +"важливо для потокових служб, де кожен клієнт потенційно може бути " +"підключений протягом тривалого часу (якщо потоки або підпроцеси не можуть " +"бути використані). Перегляньте :mod:`asyncore` для іншого способу керування " +"цим." + +msgid "Server Objects" +msgstr "Серверні об’єкти" + +msgid "" +"This is the superclass of all Server objects in the module. It defines the " +"interface, given below, but does not implement most of the methods, which is " +"done in subclasses. The two parameters are stored in the respective :attr:" +"`server_address` and :attr:`RequestHandlerClass` attributes." +msgstr "" +"Це суперклас усіх об’єктів сервера в модулі. Він визначає інтерфейс, " +"наведений нижче, але не реалізує більшість методів, що робиться в підкласах. " +"Два параметри зберігаються у відповідних атрибутах :attr:`server_address` і :" +"attr:`RequestHandlerClass`." + +msgid "" +"Return an integer file descriptor for the socket on which the server is " +"listening. This function is most commonly passed to :mod:`selectors`, to " +"allow monitoring multiple servers in the same process." +msgstr "" +"Повертає цілочисельний файловий дескриптор для сокета, який прослуховує " +"сервер. Ця функція найчастіше передається :mod:`selectors`, щоб дозволити " +"моніторинг кількох серверів в одному процесі." + +msgid "" +"Process a single request. This function calls the following methods in " +"order: :meth:`get_request`, :meth:`verify_request`, and :meth:" +"`process_request`. If the user-provided :meth:`~BaseRequestHandler.handle` " +"method of the handler class raises an exception, the server's :meth:" +"`handle_error` method will be called. If no request is received within :" +"attr:`timeout` seconds, :meth:`handle_timeout` will be called and :meth:" +"`handle_request` will return." +msgstr "" +"Обробити один запит. Ця функція викликає наступні методи в порядку: :meth:" +"`get_request`, :meth:`verify_request` і :meth:`process_request`. Якщо " +"наданий користувачем метод :meth:`~BaseRequestHandler.handle` класу " +"обробника викликає виняток, буде викликано метод :meth:`handle_error` " +"сервера. Якщо протягом :attr:`timeout` секунд не буде отримано жодного " +"запиту, буде викликано :meth:`handle_timeout` і :meth:`handle_request` " +"повернеться." + +msgid "" +"Handle requests until an explicit :meth:`shutdown` request. Poll for " +"shutdown every *poll_interval* seconds. Ignores the :attr:`timeout` " +"attribute. It also calls :meth:`service_actions`, which may be used by a " +"subclass or mixin to provide actions specific to a given service. For " +"example, the :class:`ForkingMixIn` class uses :meth:`service_actions` to " +"clean up zombie child processes." +msgstr "" +"Обробляти запити до явного запиту :meth:`shutdown`. Опитування для вимкнення " +"кожні *poll_interval* секунди. Ігнорує атрибут :attr:`timeout`. Він також " +"викликає :meth:`service_actions`, який може використовуватися підкласом або " +"міксином для виконання дій, специфічних для певної служби. Наприклад, клас :" +"class:`ForkingMixIn` використовує :meth:`service_actions` для очищення " +"дочірніх процесів-зомбі." + +msgid "Added ``service_actions`` call to the ``serve_forever`` method." +msgstr "Додано виклик ``service_actions`` до методу ``serve_forever``." + +msgid "" +"This is called in the :meth:`serve_forever` loop. This method can be " +"overridden by subclasses or mixin classes to perform actions specific to a " +"given service, such as cleanup actions." +msgstr "" +"Це викликається в циклі :meth:`serve_forever`. Цей метод може бути " +"перевизначений підкласами або класами mixin для виконання дій, специфічних " +"для певної служби, наприклад дій очищення." + +msgid "" +"Tell the :meth:`serve_forever` loop to stop and wait until it does. :meth:" +"`shutdown` must be called while :meth:`serve_forever` is running in a " +"different thread otherwise it will deadlock." +msgstr "" +"Скажіть циклу :meth:`serve_forever` зупинитися та зачекайте, доки він " +"зупиниться. :meth:`shutdown` потрібно викликати, поки :meth:`serve_forever` " +"працює в іншому потоці, інакше він блокується." + +msgid "Clean up the server. May be overridden." +msgstr "Очистити сервер. Може бути перевизначено." + +msgid "" +"The family of protocols to which the server's socket belongs. Common " +"examples are :const:`socket.AF_INET` and :const:`socket.AF_UNIX`." +msgstr "" +"Сімейство протоколів, до якого належить сокет сервера. Типовими прикладами " +"є :const:`socket.AF_INET` і :const:`socket.AF_UNIX`." + +msgid "" +"The user-provided request handler class; an instance of this class is " +"created for each request." +msgstr "" +"Клас обробника запитів, наданий користувачем; екземпляр цього класу " +"створюється для кожного запиту." + +msgid "" +"The address on which the server is listening. The format of addresses " +"varies depending on the protocol family; see the documentation for the :mod:" +"`socket` module for details. For internet protocols, this is a tuple " +"containing a string giving the address, and an integer port number: " +"``('127.0.0.1', 80)``, for example." +msgstr "" +"Адреса, на якій прослуховується сервер. Формат адреси змінюється в " +"залежності від сімейства протоколів; подробиці дивіться в документації до " +"модуля :mod:`socket`. Для інтернет-протоколів це кортеж, що містить рядок, " +"що вказує адресу, і цілий номер порту: ``('127.0.0.1', 80)``, наприклад." + +msgid "" +"The socket object on which the server will listen for incoming requests." +msgstr "Об’єкт сокета, на якому сервер прослуховуватиме вхідні запити." + +msgid "The server classes support the following class variables:" +msgstr "Класи сервера підтримують наступні змінні класу:" + +msgid "" +"Whether the server will allow the reuse of an address. This defaults to :" +"const:`False`, and can be set in subclasses to change the policy." +msgstr "" +"Чи дозволить сервер повторне використання адреси. За умовчанням це :const:" +"`False`, і його можна встановити в підкласах, щоб змінити політику." + +msgid "" +"The size of the request queue. If it takes a long time to process a single " +"request, any requests that arrive while the server is busy are placed into a " +"queue, up to :attr:`request_queue_size` requests. Once the queue is full, " +"further requests from clients will get a \"Connection denied\" error. The " +"default value is usually 5, but this can be overridden by subclasses." +msgstr "" +"Розмір черги запитів. Якщо обробка одного запиту займає багато часу, будь-" +"які запити, які надходять, коли сервер зайнятий, розміщуються в черзі, до " +"запитів :attr:`request_queue_size`. Після заповнення черги подальші запити " +"від клієнтів отримуватимуть помилку \"З’єднання відмовлено\". Значення за " +"замовчуванням зазвичай дорівнює 5, але це може бути замінено підкласами." + +msgid "" +"The type of socket used by the server; :const:`socket.SOCK_STREAM` and :" +"const:`socket.SOCK_DGRAM` are two common values." +msgstr "" +"Тип сокета, який використовує сервер; :const:`socket.SOCK_STREAM` і :const:" +"`socket.SOCK_DGRAM` є двома загальними значеннями." + +msgid "" +"Timeout duration, measured in seconds, or :const:`None` if no timeout is " +"desired. If :meth:`handle_request` receives no incoming requests within the " +"timeout period, the :meth:`handle_timeout` method is called." +msgstr "" +"Тривалість тайм-ауту, вимірюється в секундах, або :const:`None`, якщо тайм-" +"аут не потрібний. Якщо :meth:`handle_request` не отримує вхідних запитів " +"протягом періоду очікування, викликається метод :meth:`handle_timeout`." + +msgid "" +"There are various server methods that can be overridden by subclasses of " +"base server classes like :class:`TCPServer`; these methods aren't useful to " +"external users of the server object." +msgstr "" +"Існують різні методи сервера, які можуть бути замінені підкласами базових " +"класів серверів, наприклад :class:`TCPServer`; ці методи не корисні " +"зовнішнім користувачам серверного об’єкта." + +msgid "" +"Actually processes the request by instantiating :attr:`RequestHandlerClass` " +"and calling its :meth:`~BaseRequestHandler.handle` method." +msgstr "" +"Фактично обробляє запит, створюючи екземпляр :attr:`RequestHandlerClass` і " +"викликаючи його метод :meth:`~BaseRequestHandler.handle`." + +msgid "" +"Must accept a request from the socket, and return a 2-tuple containing the " +"*new* socket object to be used to communicate with the client, and the " +"client's address." +msgstr "" +"Потрібно прийняти запит від сокета та повернути 2-кортеж, що містить *новий* " +"об’єкт сокета, який буде використовуватися для зв’язку з клієнтом, і адресу " +"клієнта." + +msgid "" +"This function is called if the :meth:`~BaseRequestHandler.handle` method of " +"a :attr:`RequestHandlerClass` instance raises an exception. The default " +"action is to print the traceback to standard error and continue handling " +"further requests." +msgstr "" +"Ця функція викликається, якщо метод :meth:`~BaseRequestHandler.handle` " +"примірника :attr:`RequestHandlerClass` викликає виняткову ситуацію. Дія за " +"замовчуванням полягає в тому, щоб надрукувати відстеження стандартної " +"помилки та продовжити обробку подальших запитів." + +msgid "Now only called for exceptions derived from the :exc:`Exception` class." +msgstr "Тепер викликаються лише винятки, похідні від класу :exc:`Exception`." + +msgid "" +"This function is called when the :attr:`timeout` attribute has been set to a " +"value other than :const:`None` and the timeout period has passed with no " +"requests being received. The default action for forking servers is to " +"collect the status of any child processes that have exited, while in " +"threading servers this method does nothing." +msgstr "" +"Ця функція викликається, коли для атрибута :attr:`timeout` встановлено " +"значення, відмінне від :const:`None`, і період очікування минув, а запити не " +"надходили. Дія за замовчуванням для розгалужених серверів полягає в зборі " +"статусу будь-яких дочірніх процесів, які вийшли, тоді як у потокових " +"серверах цей метод не робить нічого." + +msgid "" +"Calls :meth:`finish_request` to create an instance of the :attr:" +"`RequestHandlerClass`. If desired, this function can create a new process " +"or thread to handle the request; the :class:`ForkingMixIn` and :class:" +"`ThreadingMixIn` classes do this." +msgstr "" +"Викликає :meth:`finish_request` для створення екземпляра :attr:" +"`RequestHandlerClass`. За бажання ця функція може створити новий процес або " +"потік для обробки запиту; це роблять класи :class:`ForkingMixIn` і :class:" +"`ThreadingMixIn`." + +msgid "" +"Called by the server's constructor to activate the server. The default " +"behavior for a TCP server just invokes :meth:`~socket.socket.listen` on the " +"server's socket. May be overridden." +msgstr "" +"Викликається конструктором сервера для активації сервера. Поведінка за " +"замовчуванням для TCP-сервера просто викликає :meth:`~socket.socket.listen` " +"у сокеті сервера. Може бути перевизначено." + +msgid "" +"Called by the server's constructor to bind the socket to the desired " +"address. May be overridden." +msgstr "" +"Викликається конструктором сервера, щоб прив’язати сокет до потрібної " +"адреси. Може бути перевизначено." + +msgid "" +"Must return a Boolean value; if the value is :const:`True`, the request will " +"be processed, and if it's :const:`False`, the request will be denied. This " +"function can be overridden to implement access controls for a server. The " +"default implementation always returns :const:`True`." +msgstr "" +"Має повертати логічне значення; якщо значення :const:`True`, запит буде " +"оброблено, а якщо значення :const:`False`, запит буде відхилено. Цю функцію " +"можна замінити, щоб реалізувати контроль доступу до сервера. Стандартна " +"реалізація завжди повертає :const:`True`." + +msgid "" +"Support for the :term:`context manager` protocol was added. Exiting the " +"context manager is equivalent to calling :meth:`server_close`." +msgstr "" +"Додано підтримку протоколу :term:`context manager`. Вихід із контекстного " +"менеджера еквівалентний виклику :meth:`server_close`." + +msgid "Request Handler Objects" +msgstr "Об’єкти обробки запитів" + +msgid "" +"This is the superclass of all request handler objects. It defines the " +"interface, given below. A concrete request handler subclass must define a " +"new :meth:`handle` method, and can override any of the other methods. A new " +"instance of the subclass is created for each request." +msgstr "" +"Це суперклас усіх об’єктів обробки запитів. Він визначає інтерфейс, " +"наведений нижче. Конкретний підклас обробника запитів повинен визначати " +"новий метод :meth:`handle` і може перевизначати будь-які інші методи. Для " +"кожного запиту створюється новий екземпляр підкласу." + +msgid "" +"Called before the :meth:`handle` method to perform any initialization " +"actions required. The default implementation does nothing." +msgstr "" +"Викликається перед методом :meth:`handle` для виконання будь-яких необхідних " +"дій ініціалізації. Стандартна реалізація нічого не робить." + +msgid "" +"This function must do all the work required to service a request. The " +"default implementation does nothing. Several instance attributes are " +"available to it; the request is available as :attr:`self.request`; the " +"client address as :attr:`self.client_address`; and the server instance as :" +"attr:`self.server`, in case it needs access to per-server information." +msgstr "" +"Ця функція повинна виконувати всю роботу, необхідну для обслуговування " +"запиту. Стандартна реалізація нічого не робить. Для нього доступні кілька " +"атрибутів екземпляра; запит доступний як :attr:`self.request`; адресу " +"клієнта як :attr:`self.client_address`; і екземпляр сервера як :attr:`self." +"server`, якщо йому потрібен доступ до інформації для кожного сервера." + +msgid "" +"The type of :attr:`self.request` is different for datagram or stream " +"services. For stream services, :attr:`self.request` is a socket object; for " +"datagram services, :attr:`self.request` is a pair of string and socket." +msgstr "" +"Тип :attr:`self.request` відрізняється для служб датаграм і потоків. Для " +"потокових служб :attr:`self.request` є об’єктом сокета; для служб дейтаграм :" +"attr:`self.request` є парою рядка та сокета." + +msgid "" +"Called after the :meth:`handle` method to perform any clean-up actions " +"required. The default implementation does nothing. If :meth:`setup` raises " +"an exception, this function will not be called." +msgstr "" +"Викликається після методу :meth:`handle` для виконання будь-яких необхідних " +"дій очищення. Стандартна реалізація нічого не робить. Якщо :meth:`setup` " +"викликає виняток, ця функція не буде викликана." + +msgid "" +"These :class:`BaseRequestHandler` subclasses override the :meth:" +"`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` methods, " +"and provide :attr:`self.rfile` and :attr:`self.wfile` attributes. The :attr:" +"`self.rfile` and :attr:`self.wfile` attributes can be read or written, " +"respectively, to get the request data or return data to the client." +msgstr "" +"Ці підкласи :class:`BaseRequestHandler` замінюють методи :meth:" +"`~BaseRequestHandler.setup` і :meth:`~BaseRequestHandler.finish` і надають :" +"attr:`self.rfile` і :attr:`self.wfile` атрибути. Атрибути :attr:`self.rfile` " +"і :attr:`self.wfile` можна читати або записувати відповідно, щоб отримати " +"дані запиту або повернути дані клієнту." + +msgid "" +"The :attr:`rfile` attributes of both classes support the :class:`io." +"BufferedIOBase` readable interface, and :attr:`DatagramRequestHandler.wfile` " +"supports the :class:`io.BufferedIOBase` writable interface." +msgstr "" +"Атрибути :attr:`rfile` обох класів підтримують інтерфейс для читання :class:" +"`io.BufferedIOBase`, а :attr:`DatagramRequestHandler.wfile` підтримує " +"інтерфейс для запису :class:`io.BufferedIOBase`." + +msgid "" +":attr:`StreamRequestHandler.wfile` also supports the :class:`io." +"BufferedIOBase` writable interface." +msgstr "" +":attr:`StreamRequestHandler.wfile` також підтримує записуваний інтерфейс :" +"class:`io.BufferedIOBase`." + +msgid "Examples" +msgstr "Приклади" + +msgid ":class:`socketserver.TCPServer` Example" +msgstr ":class:`socketserver.TCPServer` Приклад" + +msgid "This is the server side::" +msgstr "Це сторона сервера::" + +msgid "" +"An alternative request handler class that makes use of streams (file-like " +"objects that simplify communication by providing the standard file " +"interface)::" +msgstr "" +"Альтернативний клас обробника запитів, який використовує потоки " +"(файлоподібні об’єкти, які спрощують зв’язок, надаючи стандартний файловий " +"інтерфейс):" + +msgid "" +"The difference is that the ``readline()`` call in the second handler will " +"call ``recv()`` multiple times until it encounters a newline character, " +"while the single ``recv()`` call in the first handler will just return what " +"has been sent from the client in one ``sendall()`` call." +msgstr "" +"Різниця полягає в тому, що виклик ``readline()`` у другому обробнику " +"викликає ``recv()`` кілька разів, доки не зустріне символ нового рядка, тоді " +"як один виклик ``recv()`` у першому обробнику просто поверне те, що було " +"надіслано від клієнта в одному виклику ``sendall()``." + +msgid "This is the client side::" +msgstr "Це сторона клієнта::" + +msgid "The output of the example should look something like this:" +msgstr "Результат прикладу має виглядати приблизно так:" + +msgid "Server:" +msgstr "сервер:" + +msgid "Client:" +msgstr "Клієнт:" + +msgid ":class:`socketserver.UDPServer` Example" +msgstr ":class:`socketserver.UDPServer` Приклад" + +msgid "" +"The output of the example should look exactly like for the TCP server " +"example." +msgstr "" +"Вихідні дані прикладу мають виглядати точно так само, як для прикладу " +"сервера TCP." + +msgid "Asynchronous Mixins" +msgstr "Асинхронні міксини" + +msgid "" +"To build asynchronous handlers, use the :class:`ThreadingMixIn` and :class:" +"`ForkingMixIn` classes." +msgstr "" +"Для створення асинхронних обробників використовуйте класи :class:" +"`ThreadingMixIn` і :class:`ForkingMixIn`." + +msgid "An example for the :class:`ThreadingMixIn` class::" +msgstr "Приклад класу :class:`ThreadingMixIn`::" + +msgid "" +"The :class:`ForkingMixIn` class is used in the same way, except that the " +"server will spawn a new process for each request. Available only on POSIX " +"platforms that support :func:`~os.fork`." +msgstr "" +"Клас :class:`ForkingMixIn` використовується так само, за винятком того, що " +"сервер створюватиме новий процес для кожного запиту. Доступно лише на " +"платформах POSIX, які підтримують :func:`~os.fork`." diff --git a/library/spwd.po b/library/spwd.po new file mode 100644 index 000000000..89c85410c --- /dev/null +++ b/library/spwd.po @@ -0,0 +1,203 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`spwd` --- The shadow password database" +msgstr ":mod:`spwd` --- Тіньова база даних паролів" + +msgid "" +"The :mod:`spwd` module is deprecated (see :pep:`PEP 594 <594#spwd>` for " +"details and alternatives)." +msgstr "" +"Модуль :mod:`spwd` є застарілим (перегляньте :pep:`PEP 594 <594#spwd>` для " +"деталей та альтернатив)." + +msgid "" +"This module provides access to the Unix shadow password database. It is " +"available on various Unix versions." +msgstr "" +"Цей модуль надає доступ до тіньової бази даних паролів Unix. Він доступний у " +"різних версіях Unix." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"You must have enough privileges to access the shadow password database (this " +"usually means you have to be root)." +msgstr "" +"Ви повинні мати достатні привілеї для доступу до тіньової бази даних паролів " +"(зазвичай це означає, що ви повинні бути адміністратором)." + +msgid "" +"Shadow password database entries are reported as a tuple-like object, whose " +"attributes correspond to the members of the ``spwd`` structure (Attribute " +"field below, see ````):" +msgstr "" +"Записи бази даних тіньових паролів повідомляються як об’єкт, подібний до " +"кортежу, атрибути якого відповідають членам структури ``spwd`` (поле " +"атрибута нижче, див. ````):" + +msgid "Index" +msgstr "Індекс" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Meaning" +msgstr "Значення" + +msgid "0" +msgstr "0" + +msgid "``sp_namp``" +msgstr "``sp_namp``" + +msgid "Login name" +msgstr "Логін" + +msgid "1" +msgstr "1" + +msgid "``sp_pwdp``" +msgstr "``sp_pwdp``" + +msgid "Encrypted password" +msgstr "Зашифрований пароль" + +msgid "2" +msgstr "2" + +msgid "``sp_lstchg``" +msgstr "``sp_lstchg``" + +msgid "Date of last change" +msgstr "Дата останньої зміни" + +msgid "3" +msgstr "3" + +msgid "``sp_min``" +msgstr "``sp_min``" + +msgid "Minimal number of days between changes" +msgstr "Мінімальна кількість днів між змінами" + +msgid "4" +msgstr "4" + +msgid "``sp_max``" +msgstr "``sp_max``" + +msgid "Maximum number of days between changes" +msgstr "Максимальна кількість днів між змінами" + +msgid "5" +msgstr "5" + +msgid "``sp_warn``" +msgstr "``sp_warn``" + +msgid "Number of days before password expires to warn user about it" +msgstr "" +"Кількість днів до закінчення терміну дії пароля, щоб попередити користувача " +"про це" + +msgid "6" +msgstr "6" + +msgid "``sp_inact``" +msgstr "``sp_inact``" + +msgid "Number of days after password expires until account is disabled" +msgstr "" +"Кількість днів після закінчення терміну дії пароля до вимкнення облікового " +"запису" + +msgid "7" +msgstr "7" + +msgid "``sp_expire``" +msgstr "sp_expire" + +msgid "Number of days since 1970-01-01 when account expires" +msgstr "" +"Кількість днів з 1970-01-01, коли закінчується термін дії облікового запису" + +msgid "8" +msgstr "8" + +msgid "``sp_flag``" +msgstr "``sp_flag``" + +msgid "Reserved" +msgstr "Зарезервований" + +msgid "" +"The sp_namp and sp_pwdp items are strings, all others are integers. :exc:" +"`KeyError` is raised if the entry asked for cannot be found." +msgstr "" +"Елементи sp_namp і sp_pwdp є рядками, усі інші є цілими числами. :exc:" +"`KeyError` виникає, якщо запитуваний запис не знайдено." + +msgid "The following functions are defined:" +msgstr "Визначаються такі функції:" + +msgid "Return the shadow password database entry for the given user name." +msgstr "" +"Повертає запис бази даних тіньових паролів для вказаного імені користувача." + +msgid "" +"Raises a :exc:`PermissionError` instead of :exc:`KeyError` if the user " +"doesn't have privileges." +msgstr "" +"Викликає :exc:`PermissionError` замість :exc:`KeyError`, якщо користувач не " +"має привілеїв." + +msgid "" +"Return a list of all available shadow password database entries, in " +"arbitrary order." +msgstr "" +"Повертає список усіх доступних записів бази даних тіньових паролів у " +"довільному порядку." + +msgid "Module :mod:`grp`" +msgstr "Модуль :mod:`grp`" + +msgid "An interface to the group database, similar to this." +msgstr "Подібний до цього інтерфейс до бази даних групи." + +msgid "Module :mod:`pwd`" +msgstr "Модуль :mod:`pwd`" + +msgid "An interface to the normal password database, similar to this." +msgstr "Подібний інтерфейс до звичайної бази даних паролів." diff --git a/library/sqlite3.po b/library/sqlite3.po new file mode 100644 index 000000000..d66d86f2e --- /dev/null +++ b/library/sqlite3.po @@ -0,0 +1,1751 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Olga Tomakhina, 2022 +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases" +msgstr ":mod:`sqlite3` --- інтерфейс DB-API 2.0 для баз даних SQLite" + +msgid "**Source code:** :source:`Lib/sqlite3/`" +msgstr "**Вихідний код:** :source:`Lib/sqlite3/`" + +msgid "" +"SQLite is a C library that provides a lightweight disk-based database that " +"doesn't require a separate server process and allows accessing the database " +"using a nonstandard variant of the SQL query language. Some applications can " +"use SQLite for internal data storage. It's also possible to prototype an " +"application using SQLite and then port the code to a larger database such as " +"PostgreSQL or Oracle." +msgstr "" +"SQLite — це бібліотека C, яка надає легку дискову базу даних, яка не " +"потребує окремого серверного процесу та дозволяє отримувати доступ до бази " +"даних за допомогою нестандартного варіанту мови запитів SQL. Деякі програми " +"можуть використовувати SQLite для внутрішнього зберігання даних. Також можна " +"створити прототип програми за допомогою SQLite, а потім перенести код у " +"більшу базу даних, таку як PostgreSQL або Oracle." + +msgid "" +"The :mod:`!sqlite3` module was written by Gerhard Häring. It provides an " +"SQL interface compliant with the DB-API 2.0 specification described by :pep:" +"`249`, and requires SQLite 3.7.15 or newer." +msgstr "" + +msgid "This document includes four main sections:" +msgstr "" + +msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." +msgstr "" + +msgid "" +":ref:`sqlite3-reference` describes the classes and functions this module " +"defines." +msgstr "" + +msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." +msgstr "" + +msgid "" +":ref:`sqlite3-explanation` provides in-depth background on transaction " +"control." +msgstr "" + +msgid "https://www.sqlite.org" +msgstr "https://www.sqlite.org" + +msgid "" +"The SQLite web page; the documentation describes the syntax and the " +"available data types for the supported SQL dialect." +msgstr "" +"Веб-сторінка SQLite; документація описує синтаксис і доступні типи даних для " +"підтримуваного діалекту SQL." + +msgid "https://www.w3schools.com/sql/" +msgstr "https://www.w3schools.com/sql/" + +msgid "Tutorial, reference and examples for learning SQL syntax." +msgstr "Підручник, довідник і приклади для вивчення синтаксису SQL." + +msgid ":pep:`249` - Database API Specification 2.0" +msgstr ":pep:`249` - Специфікація API бази даних 2.0" + +msgid "PEP written by Marc-André Lemburg." +msgstr "PEP, написаний Марком-Андре Лембургом." + +msgid "Tutorial" +msgstr "Підручник" + +msgid "" +"In this tutorial, you will create a database of Monty Python movies using " +"basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " +"of database concepts, including `cursors`_ and `transactions`_." +msgstr "" + +msgid "" +"First, we need to create a new database and open a database connection to " +"allow :mod:`!sqlite3` to work with it. Call :func:`sqlite3.connect` to to " +"create a connection to the database :file:`tutorial.db` in the current " +"working directory, implicitly creating it if it does not exist:" +msgstr "" + +msgid "" +"The returned :class:`Connection` object ``con`` represents the connection to " +"the on-disk database." +msgstr "" + +msgid "" +"In order to execute SQL statements and fetch results from SQL queries, we " +"will need to use a database cursor. Call :meth:`con.cursor() ` to create the :class:`Cursor`:" +msgstr "" + +msgid "" +"Now that we've got a database connection and a cursor, we can create a " +"database table ``movie`` with columns for title, release year, and review " +"score. For simplicity, we can just use column names in the table declaration " +"-- thanks to the `flexible typing`_ feature of SQLite, specifying the data " +"types is optional. Execute the ``CREATE TABLE`` statement by calling :meth:" +"`cur.execute(...) `:" +msgstr "" + +msgid "" +"We can verify that the new table has been created by querying the " +"``sqlite_master`` table built-in to SQLite, which should now contain an " +"entry for the ``movie`` table definition (see `The Schema Table`_ for " +"details). Execute that query by calling :meth:`cur.execute(...) `, assign the result to ``res``, and call :meth:`res.fetchone() " +"` to fetch the resulting row:" +msgstr "" + +msgid "" +"We can see that the table has been created, as the query returns a :class:" +"`tuple` containing the table's name. If we query ``sqlite_master`` for a non-" +"existent table ``spam``, :meth:`!res.fetchone()` will return ``None``:" +msgstr "" + +msgid "" +"Now, add two rows of data supplied as SQL literals by executing an " +"``INSERT`` statement, once again by calling :meth:`cur.execute(...) `:" +msgstr "" + +msgid "" +"The ``INSERT`` statement implicitly opens a transaction, which needs to be " +"committed before changes are saved in the database (see :ref:`sqlite3-" +"controlling-transactions` for details). Call :meth:`con.commit() ` on the connection object to commit the transaction:" +msgstr "" + +msgid "" +"We can verify that the data was inserted correctly by executing a ``SELECT`` " +"query. Use the now-familiar :meth:`cur.execute(...) ` to " +"assign the result to ``res``, and call :meth:`res.fetchall() ` to return all resulting rows:" +msgstr "" + +msgid "" +"The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " +"containing that row's ``score`` value." +msgstr "" + +msgid "" +"Now, insert three more rows by calling :meth:`cur.executemany(...) `:" +msgstr "" + +msgid "" +"Notice that ``?`` placeholders are used to bind ``data`` to the query. " +"Always use placeholders instead of :ref:`string formatting ` " +"to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " +"(see :ref:`sqlite3-placeholders` for more details)." +msgstr "" + +msgid "" +"We can verify that the new rows were inserted by executing a ``SELECT`` " +"query, this time iterating over the results of the query:" +msgstr "" + +msgid "" +"Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " +"columns selected in the query." +msgstr "" + +msgid "" +"Finally, verify that the database has been written to disk by calling :meth:" +"`con.close() ` to close the existing connection, opening a " +"new one, creating a new cursor, then querying the database:" +msgstr "" + +msgid "" +"You've now created an SQLite database using the :mod:`!sqlite3` module, " +"inserted data and retrieved values from it in multiple ways." +msgstr "" + +msgid ":ref:`sqlite3-howtos` for further reading:" +msgstr "" + +msgid ":ref:`sqlite3-placeholders`" +msgstr "" + +msgid ":ref:`sqlite3-adapters`" +msgstr "" + +msgid ":ref:`sqlite3-converters`" +msgstr "" + +msgid ":ref:`sqlite3-connection-context-manager`" +msgstr "" + +msgid "" +":ref:`sqlite3-explanation` for in-depth background on transaction control." +msgstr "" + +msgid "Reference" +msgstr "Посилання" + +msgid "Module functions" +msgstr "" + +msgid "Open a connection to an SQLite database." +msgstr "" + +msgid "Parameters" +msgstr "Параметри" + +msgid "" +"The path to the database file to be opened. Pass ``\":memory:\"`` to open a " +"connection to a database that is in RAM instead of on disk." +msgstr "" + +msgid "" +"How many seconds the connection should wait before raising an exception, if " +"the database is locked by another connection. If another connection opens a " +"transaction to modify the database, it will be locked until that transaction " +"is committed. Default five seconds." +msgstr "" + +msgid "" +"Control whether and how data types not :ref:`natively supported by SQLite " +"` are looked up to be converted to Python types, using the " +"converters registered with :func:`register_converter`. Set it to any " +"combination (using ``|``, bitwise or) of :const:`PARSE_DECLTYPES` and :const:" +"`PARSE_COLNAMES` to enable this. Column names takes precedence over declared " +"types if both flags are set. Types cannot be detected for generated fields " +"(for example ``max(data)``), even when the *detect_types* parameter is set; :" +"class:`str` will be returned instead. By default (``0``), type detection is " +"disabled." +msgstr "" + +msgid "" +"The :attr:`~Connection.isolation_level` of the connection, controlling " +"whether and how transactions are implicitly opened. Can be ``\"DEFERRED\"`` " +"(default), ``\"EXCLUSIVE\"`` or ``\"IMMEDIATE\"``; or ``None`` to disable " +"opening transactions implicitly. See :ref:`sqlite3-controlling-transactions` " +"for more." +msgstr "" + +msgid "" +"If ``True`` (default), only the creating thread may use the connection. If " +"``False``, the connection may be shared across multiple threads; if so, " +"write operations should be serialized by the user to avoid data corruption." +msgstr "" + +msgid "" +"A custom subclass of :class:`Connection` to create the connection with, if " +"not the default :class:`Connection` class." +msgstr "" + +msgid "" +"The number of statements that :mod:`!sqlite3` should internally cache for " +"this connection, to avoid parsing overhead. By default, 128 statements." +msgstr "" + +msgid "" +"If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " +"Resource Identifier)` with a file path and an optional query string. The " +"scheme part *must* be ``\"file:\"``, and the path can be relative or " +"absolute. The query string allows passing parameters to SQLite, enabling " +"various :ref:`sqlite3-uri-tricks`." +msgstr "" + +msgid "Return type" +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " +"``database``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.connect`` з аргументом " +"``база даних``." + +msgid "" +"Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " +"argument ``connection_handle``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.connect/handle`` з " +"аргументом ``connection_handle``." + +msgid "The *uri* parameter." +msgstr "" + +msgid "" +"*database* can now also be a :term:`path-like object`, not only a string." +msgstr "" +"*database* тепер також може бути :term:`path-like object`, а не лише рядком." + +msgid "The ``sqlite3.connect/handle`` auditing event." +msgstr "" + +msgid "" +"Return ``True`` if the string *statement* appears to contain one or more " +"complete SQL statements. No syntactic verification or parsing of any kind is " +"performed, other than checking that there are no unclosed string literals " +"and the statement is terminated by a semicolon." +msgstr "" + +msgid "For example:" +msgstr "Наприклад:" + +msgid "" +"This function may be useful during command-line input to determine if the " +"entered text seems to form a complete SQL statement, or if additional input " +"is needed before calling :meth:`~Cursor.execute`." +msgstr "" + +msgid "" +"Enable or disable callback tracebacks. By default you will not get any " +"tracebacks in user-defined functions, aggregates, converters, authorizer " +"callbacks etc. If you want to debug them, you can call this function with " +"*flag* set to ``True``. Afterwards, you will get tracebacks from callbacks " +"on :data:`sys.stderr`. Use ``False`` to disable the feature again." +msgstr "" + +msgid "" +"Register an :func:`unraisable hook handler ` for an " +"improved debug experience:" +msgstr "" + +msgid "" +"Register an *adapter* callable to adapt the Python type *type* into an " +"SQLite type. The adapter is called with a Python object of type *type* as " +"its sole argument, and must return a value of a :ref:`type that SQLite " +"natively understands `." +msgstr "" + +msgid "" +"Register the *converter* callable to convert SQLite objects of type " +"*typename* into a Python object of a specific type. The converter is invoked " +"for all SQLite values of type *typename*; it is passed a :class:`bytes` " +"object and should return an object of the desired Python type. Consult the " +"parameter *detect_types* of :func:`connect` for information regarding how " +"type detection works." +msgstr "" + +msgid "" +"Note: *typename* and the name of the type in your query are matched case-" +"insensitively." +msgstr "" + +msgid "Module constants" +msgstr "" + +msgid "" +"Pass this flag value to the *detect_types* parameter of :func:`connect` to " +"look up a converter function by using the type name, parsed from the query " +"column name, as the converter dictionary key. The type name must be wrapped " +"in square brackets (``[]``)." +msgstr "" + +msgid "" +"This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " +"(bitwise or) operator." +msgstr "" + +msgid "" +"Pass this flag value to the *detect_types* parameter of :func:`connect` to " +"look up a converter function using the declared types for each column. The " +"types are declared when the database table is created. :mod:`!sqlite3` will " +"look up a converter function using the first word of the declared type as " +"the converter dictionary key. For example:" +msgstr "" + +msgid "" +"This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " +"(bitwise or) operator." +msgstr "" + +msgid "" +"Flags that should be returned by the *authorizer_callback* callable passed " +"to :meth:`Connection.set_authorizer`, to indicate whether:" +msgstr "" + +msgid "Access is allowed (:const:`!SQLITE_OK`)," +msgstr "" + +msgid "" +"The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" +msgstr "" + +msgid "" +"The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" +msgstr "" + +msgid "" +"String constant stating the supported DB-API level. Required by the DB-API. " +"Hard-coded to ``\"2.0\"``." +msgstr "" +"Рядкова константа, що вказує підтримуваний рівень DB-API. Потрібний для DB-" +"API. Жорстко закодований на ``\"2.0\"``." + +msgid "" +"String constant stating the type of parameter marker formatting expected by " +"the :mod:`!sqlite3` module. Required by the DB-API. Hard-coded to ``\"qmark" +"\"``." +msgstr "" + +msgid "" +"The :mod:`!sqlite3` module supports ``qmark``, ``numeric``, and ``named`` DB-" +"API parameter styles, because that is what the underlying SQLite library " +"supports. However, the DB-API does not allow multiple values for the " +"``paramstyle`` attribute." +msgstr "" + +msgid "" +"Version number of the runtime SQLite library as a :class:`string `." +msgstr "" + +msgid "" +"Version number of the runtime SQLite library as a :class:`tuple` of :class:" +"`integers `." +msgstr "" + +msgid "" +"Integer constant required by the DB-API 2.0, stating the level of thread " +"safety the :mod:`!sqlite3` module supports. This attribute is set based on " +"the default `threading mode `_ the " +"underlying SQLite library is compiled with. The SQLite threading modes are:" +msgstr "" + +msgid "" +"**Single-thread**: In this mode, all mutexes are disabled and SQLite is " +"unsafe to use in more than a single thread at once." +msgstr "" + +msgid "" +"**Multi-thread**: In this mode, SQLite can be safely used by multiple " +"threads provided that no single database connection is used simultaneously " +"in two or more threads." +msgstr "" + +msgid "" +"**Serialized**: In serialized mode, SQLite can be safely used by multiple " +"threads with no restriction." +msgstr "" + +msgid "" +"The mappings from SQLite threading modes to DB-API 2.0 threadsafety levels " +"are as follows:" +msgstr "" + +msgid "SQLite threading mode" +msgstr "" + +msgid "`threadsafety`_" +msgstr "" + +msgid "`SQLITE_THREADSAFE`_" +msgstr "" + +msgid "DB-API 2.0 meaning" +msgstr "" + +msgid "single-thread" +msgstr "" + +msgid "0" +msgstr "0" + +msgid "Threads may not share the module" +msgstr "" + +msgid "multi-thread" +msgstr "" + +msgid "1" +msgstr "1" + +msgid "2" +msgstr "2" + +msgid "Threads may share the module, but not connections" +msgstr "" + +msgid "serialized" +msgstr "" + +msgid "3" +msgstr "3" + +msgid "Threads may share the module, connections and cursors" +msgstr "" + +msgid "Set *threadsafety* dynamically instead of hard-coding it to ``1``." +msgstr "" + +msgid "" +"Version number of this module as a :class:`string `. This is not the " +"version of the SQLite library." +msgstr "" + +msgid "" +"Version number of this module as a :class:`tuple` of :class:`integers " +"`. This is not the version of the SQLite library." +msgstr "" + +msgid "Connection objects" +msgstr "" + +msgid "" +"Each open SQLite database is represented by a ``Connection`` object, which " +"is created using :func:`sqlite3.connect`. Their main purpose is creating :" +"class:`Cursor` objects, and :ref:`sqlite3-controlling-transactions`." +msgstr "" + +msgid ":ref:`sqlite3-connection-shortcuts`" +msgstr "" + +msgid "An SQLite database connection has the following attributes and methods:" +msgstr "Підключення до бази даних SQLite має такі атрибути та методи:" + +msgid "" +"Create and return a :class:`Cursor` object. The cursor method accepts a " +"single optional parameter *factory*. If supplied, this must be a callable " +"returning an instance of :class:`Cursor` or its subclasses." +msgstr "" + +msgid "" +"Open a :class:`Blob` handle to an existing :abbr:`BLOB (Binary Large " +"OBject)`." +msgstr "" + +msgid "The name of the table where the blob is located." +msgstr "" + +msgid "The name of the column where the blob is located." +msgstr "" + +msgid "The name of the row where the blob is located." +msgstr "" + +msgid "" +"Set to ``True`` if the blob should be opened without write permissions. " +"Defaults to ``False``." +msgstr "" + +msgid "" +"The name of the database where the blob is located. Defaults to ``\"main\"``." +msgstr "" + +msgid "Raises" +msgstr "" + +msgid "When trying to open a blob in a ``WITHOUT ROWID`` table." +msgstr "" + +msgid "" +"The blob size cannot be changed using the :class:`Blob` class. Use the SQL " +"function ``zeroblob`` to create a blob with a fixed size." +msgstr "" + +msgid "" +"Commit any pending transaction to the database. If there is no open " +"transaction, this method is a no-op." +msgstr "" + +msgid "" +"Roll back to the start of any pending transaction. If there is no open " +"transaction, this method is a no-op." +msgstr "" + +msgid "" +"Close the database connection. Any pending transaction is not committed " +"implicitly; make sure to :meth:`commit` before closing to avoid losing " +"pending changes." +msgstr "" + +msgid "" +"Create a new :class:`Cursor` object and call :meth:`~Cursor.execute` on it " +"with the given *sql* and *parameters*. Return the new cursor object." +msgstr "" +"Створіть новий об’єкт :class:`Cursor` і викличте :meth:`~Cursor.execute` для " +"нього з заданими *sql* і *параметрами*. Повернути новий об’єкт курсору." + +msgid "" +"Create a new :class:`Cursor` object and call :meth:`~Cursor.executemany` on " +"it with the given *sql* and *parameters*. Return the new cursor object." +msgstr "" +"Створіть новий об’єкт :class:`Cursor` і викличте :meth:`~Cursor.executemany` " +"для нього з заданими *sql* і *параметрами*. Повернути новий об’єкт курсору." + +msgid "" +"Create a new :class:`Cursor` object and call :meth:`~Cursor.executescript` " +"on it with the given *sql_script*. Return the new cursor object." +msgstr "" +"Створіть новий об’єкт :class:`Cursor` і викличте :meth:`~Cursor." +"executescript` для нього за допомогою заданого *sql_script*. Повернути новий " +"об’єкт курсору." + +msgid "Create or remove a user-defined SQL function." +msgstr "" + +msgid "The name of the SQL function." +msgstr "" + +msgid "" +"The number of arguments the SQL function can accept. If ``-1``, it may take " +"any number of arguments." +msgstr "" + +msgid "" +"A callable that is called when the SQL function is invoked. The callable " +"must return :ref:`a type natively supported by SQLite `. Set " +"to ``None`` to remove an existing SQL function." +msgstr "" + +msgid "" +"If ``True``, the created SQL function is marked as `deterministic `_, which allows SQLite to perform additional " +"optimizations." +msgstr "" + +msgid "If *deterministic* is used with SQLite versions older than 3.8.3." +msgstr "" + +msgid "The *deterministic* parameter." +msgstr "" + +msgid "Example:" +msgstr "приклад:" + +msgid "Create or remove a user-defined SQL aggregate function." +msgstr "" + +msgid "The name of the SQL aggregate function." +msgstr "" + +msgid "" +"The number of arguments the SQL aggregate function can accept. If ``-1``, it " +"may take any number of arguments." +msgstr "" + +msgid "" +"A class must implement the following methods: * ``step()``: Add a row to " +"the aggregate. * ``finalize()``: Return the final result of the aggregate " +"as :ref:`a type natively supported by SQLite `. The number " +"of arguments that the ``step()`` method must accept is controlled by " +"*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." +msgstr "" + +msgid "A class must implement the following methods:" +msgstr "" + +msgid "``step()``: Add a row to the aggregate." +msgstr "" + +msgid "" +"``finalize()``: Return the final result of the aggregate as :ref:`a type " +"natively supported by SQLite `." +msgstr "" + +msgid "" +"The number of arguments that the ``step()`` method must accept is controlled " +"by *n_arg*." +msgstr "" + +msgid "Set to ``None`` to remove an existing SQL aggregate function." +msgstr "" + +msgid "Create or remove a user-defined aggregate window function." +msgstr "" + +msgid "The name of the SQL aggregate window function to create or remove." +msgstr "" + +msgid "" +"The number of arguments the SQL aggregate window function can accept. If " +"``-1``, it may take any number of arguments." +msgstr "" + +msgid "" +"A class that must implement the following methods: * ``step()``: Add a row " +"to the current window. * ``value()``: Return the current value of the " +"aggregate. * ``inverse()``: Remove a row from the current window. * " +"``finalize()``: Return the final result of the aggregate as :ref:`a type " +"natively supported by SQLite `. The number of arguments that " +"the ``step()`` and ``value()`` methods must accept is controlled by " +"*num_params*. Set to ``None`` to remove an existing SQL aggregate window " +"function." +msgstr "" + +msgid "A class that must implement the following methods:" +msgstr "" + +msgid "``step()``: Add a row to the current window." +msgstr "" + +msgid "``value()``: Return the current value of the aggregate." +msgstr "" + +msgid "``inverse()``: Remove a row from the current window." +msgstr "" + +msgid "" +"The number of arguments that the ``step()`` and ``value()`` methods must " +"accept is controlled by *num_params*." +msgstr "" + +msgid "Set to ``None`` to remove an existing SQL aggregate window function." +msgstr "" + +msgid "" +"If used with a version of SQLite older than 3.25.0, which does not support " +"aggregate window functions." +msgstr "" + +msgid "" +"Create a collation named *name* using the collating function *callable*. " +"*callable* is passed two :class:`string ` arguments, and it should " +"return an :class:`integer `:" +msgstr "" +"Створіть зіставлення під назвою *name* за допомогою функції зіставлення " +"*callable*. *callable* передається два аргументи :class:`string `, і " +"він має повернути :class:`ціле число `:" + +msgid "``1`` if the first is ordered higher than the second" +msgstr "``1``, якщо перший впорядкований вище за другий" + +msgid "``-1`` if the first is ordered lower than the second" +msgstr "``-1``, якщо перший впорядкований нижче другого" + +msgid "``0`` if they are ordered equal" +msgstr "``0``, якщо вони в порядку рівності" + +msgid "The following example shows a reverse sorting collation:" +msgstr "У наступному прикладі показано порівняння зворотного сортування:" + +msgid "Remove a collation function by setting *callable* to ``None``." +msgstr "" + +msgid "" +"The collation name can contain any Unicode character. Earlier, only ASCII " +"characters were allowed." +msgstr "" + +msgid "" +"Call this method from a different thread to abort any queries that might be " +"executing on the connection. Aborted queries will raise an exception." +msgstr "" + +msgid "" +"Register callable *authorizer_callback* to be invoked for each attempt to " +"access a column of a table in the database. The callback should return one " +"of :const:`SQLITE_OK`, :const:`SQLITE_DENY`, or :const:`SQLITE_IGNORE` to " +"signal how access to the column should be handled by the underlying SQLite " +"library." +msgstr "" + +msgid "" +"The first argument to the callback signifies what kind of operation is to be " +"authorized. The second and third argument will be arguments or ``None`` " +"depending on the first argument. The 4th argument is the name of the " +"database (\"main\", \"temp\", etc.) if applicable. The 5th argument is the " +"name of the inner-most trigger or view that is responsible for the access " +"attempt or ``None`` if this access attempt is directly from input SQL code." +msgstr "" + +msgid "" +"Please consult the SQLite documentation about the possible values for the " +"first argument and the meaning of the second and third argument depending on " +"the first one. All necessary constants are available in the :mod:`!sqlite3` " +"module." +msgstr "" + +msgid "Passing ``None`` as *authorizer_callback* will disable the authorizer." +msgstr "" + +msgid "Added support for disabling the authorizer using ``None``." +msgstr "" + +msgid "" +"Register callable *progress_handler* to be invoked for every *n* " +"instructions of the SQLite virtual machine. This is useful if you want to " +"get called from SQLite during long-running operations, for example to update " +"a GUI." +msgstr "" + +msgid "" +"If you want to clear any previously installed progress handler, call the " +"method with ``None`` for *progress_handler*." +msgstr "" + +msgid "" +"Returning a non-zero value from the handler function will terminate the " +"currently executing query and cause it to raise an :exc:`OperationalError` " +"exception." +msgstr "" +"Повернення ненульового значення з функції обробника призведе до завершення " +"запиту, що виконується, і викликання виключення :exc:`OperationalError`." + +msgid "" +"Register callable *trace_callback* to be invoked for each SQL statement that " +"is actually executed by the SQLite backend." +msgstr "" + +msgid "" +"The only argument passed to the callback is the statement (as :class:`str`) " +"that is being executed. The return value of the callback is ignored. Note " +"that the backend does not only run statements passed to the :meth:`Cursor." +"execute` methods. Other sources include the :ref:`transaction management " +"` of the :mod:`!sqlite3` module and the " +"execution of triggers defined in the current database." +msgstr "" + +msgid "Passing ``None`` as *trace_callback* will disable the trace callback." +msgstr "" + +msgid "" +"Exceptions raised in the trace callback are not propagated. As a development " +"and debugging aid, use :meth:`~sqlite3.enable_callback_tracebacks` to enable " +"printing tracebacks from exceptions raised in the trace callback." +msgstr "" +"Винятки, викликані зворотним викликом трасування, не поширюються. Як " +"допомога при розробці та налагодженні використовуйте :meth:`~sqlite3." +"enable_callback_tracebacks`, щоб увімкнути друк трасування з винятків, " +"викликаних у зворотному виклику трасування." + +msgid "" +"Enable the SQLite engine to load SQLite extensions from shared libraries if " +"*enabled* is ``True``; else, disallow loading SQLite extensions. SQLite " +"extensions can define new functions, aggregates or whole new virtual table " +"implementations. One well-known extension is the fulltext-search extension " +"distributed with SQLite." +msgstr "" + +msgid "" +"The :mod:`!sqlite3` module is not built with loadable extension support by " +"default, because some platforms (notably macOS) have SQLite libraries which " +"are compiled without this feature. To get loadable extension support, you " +"must pass the :option:`--enable-loadable-sqlite-extensions` option to :" +"program:`configure`." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``sqlite3.enable_load_extension`` " +"with arguments ``connection``, ``enabled``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.enable_load_extension`` з " +"аргументами ``connection``, ``enabled``." + +msgid "Added the ``sqlite3.enable_load_extension`` auditing event." +msgstr "Додано подію аудиту sqlite3.enable_load_extension." + +msgid "" +"Load an SQLite extension from a shared library located at *path*. Enable " +"extension loading with :meth:`enable_load_extension` before calling this " +"method." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``sqlite3.load_extension`` with " +"arguments ``connection``, ``path``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sqlite3.load_extension`` з " +"аргументами ``connection``, ``path``." + +msgid "Added the ``sqlite3.load_extension`` auditing event." +msgstr "Додано подію аудиту ``sqlite3.load_extension``." + +msgid "" +"Return an :term:`iterator` to dump the database as SQL source code. Useful " +"when saving an in-memory database for later restoration. Similar to the ``." +"dump`` command in the :program:`sqlite3` shell." +msgstr "" + +msgid "Create a backup of an SQLite database." +msgstr "" + +msgid "" +"Works even if the database is being accessed by other clients or " +"concurrently by the same connection." +msgstr "" + +msgid "The database connection to save the backup to." +msgstr "" + +msgid "" +"The number of pages to copy at a time. If equal to or less than ``0``, the " +"entire database is copied in a single step. Defaults to ``-1``." +msgstr "" + +msgid "" +"If set to a callable, it is invoked with three integer arguments for every " +"backup iteration: the *status* of the last iteration, the *remaining* number " +"of pages still to be copied, and the *total* number of pages. Defaults to " +"``None``." +msgstr "" + +msgid "" +"The name of the database to back up. Either ``\"main\"`` (the default) for " +"the main database, ``\"temp\"`` for the temporary database, or the name of a " +"custom database as attached using the ``ATTACH DATABASE`` SQL statement." +msgstr "" + +msgid "" +"The number of seconds to sleep between successive attempts to back up " +"remaining pages." +msgstr "" + +msgid "Example 1, copy an existing database into another:" +msgstr "" + +msgid "Example 2, copy an existing database into a transient copy:" +msgstr "" + +msgid "Get a connection runtime limit." +msgstr "" + +msgid "The `SQLite limit category`_ to be queried." +msgstr "" + +msgid "If *category* is not recognised by the underlying SQLite library." +msgstr "" + +msgid "" +"Example, query the maximum length of an SQL statement for :class:" +"`Connection` ``con`` (the default is 1000000000):" +msgstr "" + +msgid "" +"Set a connection runtime limit. Attempts to increase a limit above its hard " +"upper bound are silently truncated to the hard upper bound. Regardless of " +"whether or not the limit was changed, the prior value of the limit is " +"returned." +msgstr "" + +msgid "The `SQLite limit category`_ to be set." +msgstr "" + +msgid "" +"The value of the new limit. If negative, the current limit is unchanged." +msgstr "" + +msgid "" +"Example, limit the number of attached databases to 1 for :class:`Connection` " +"``con`` (the default limit is 10):" +msgstr "" + +msgid "" +"Serialize a database into a :class:`bytes` object. For an ordinary on-disk " +"database file, the serialization is just a copy of the disk file. For an in-" +"memory database or a \"temp\" database, the serialization is the same " +"sequence of bytes which would be written to disk if that database were " +"backed up to disk." +msgstr "" + +msgid "The database name to be serialized. Defaults to ``\"main\"``." +msgstr "" + +msgid "" +"This method is only available if the underlying SQLite library has the " +"serialize API." +msgstr "" + +msgid "" +"Deserialize a :meth:`serialized ` database into a :class:" +"`Connection`. This method causes the database connection to disconnect from " +"database *name*, and reopen *name* as an in-memory database based on the " +"serialization contained in *data*." +msgstr "" + +msgid "A serialized database." +msgstr "" + +msgid "The database name to deserialize into. Defaults to ``\"main\"``." +msgstr "" + +msgid "" +"If the database connection is currently involved in a read transaction or a " +"backup operation." +msgstr "" + +msgid "If *data* does not contain a valid SQLite database." +msgstr "" + +msgid "If :func:`len(data) ` is larger than ``2**63 - 1``." +msgstr "" + +msgid "" +"This method is only available if the underlying SQLite library has the " +"deserialize API." +msgstr "" + +msgid "" +"This read-only attribute corresponds to the low-level SQLite `autocommit " +"mode`_." +msgstr "" + +msgid "" +"``True`` if a transaction is active (there are uncommitted changes), " +"``False`` otherwise." +msgstr "" + +msgid "" +"This attribute controls the :ref:`transaction handling ` performed by :mod:`!sqlite3`. If set to ``None``, " +"transactions are never implicitly opened. If set to one of ``\"DEFERRED\"``, " +"``\"IMMEDIATE\"``, or ``\"EXCLUSIVE\"``, corresponding to the underlying " +"`SQLite transaction behaviour`_, implicit :ref:`transaction management " +"` is performed." +msgstr "" + +msgid "" +"If not overridden by the *isolation_level* parameter of :func:`connect`, the " +"default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." +msgstr "" + +msgid "" +"A callable that accepts two arguments, a :class:`Cursor` object and the raw " +"row results as a :class:`tuple`, and returns a custom object representing an " +"SQLite row." +msgstr "" + +msgid "" +"If returning a tuple doesn't suffice and you want name-based access to " +"columns, you should consider setting :attr:`row_factory` to the highly " +"optimized :class:`sqlite3.Row` type. :class:`Row` provides both index-based " +"and case-insensitive name-based access to columns with almost no memory " +"overhead. It will probably be better than your own custom dictionary-based " +"approach or even a db_row based solution." +msgstr "" + +msgid "" +"A callable that accepts a :class:`bytes` parameter and returns a text " +"representation of it. The callable is invoked for SQLite values with the " +"``TEXT`` data type. By default, this attribute is set to :class:`str`. If " +"you want to return ``bytes`` instead, set *text_factory* to ``bytes``." +msgstr "" + +msgid "" +"Return the total number of database rows that have been modified, inserted, " +"or deleted since the database connection was opened." +msgstr "" + +msgid "Cursor objects" +msgstr "" + +msgid "" +"A ``Cursor`` object represents a `database cursor`_ which is used to execute " +"SQL statements, and manage the context of a fetch operation. Cursors are " +"created using :meth:`Connection.cursor`, or by using any of the :ref:" +"`connection shortcut methods `." +msgstr "" + +msgid "" +"Cursor objects are :term:`iterators `, meaning that if you :meth:" +"`~Cursor.execute` a ``SELECT`` query, you can simply iterate over the cursor " +"to fetch the resulting rows:" +msgstr "" + +msgid "A :class:`Cursor` instance has the following attributes and methods." +msgstr "Екземпляр :class:`Cursor` має такі атрибути та методи." + +msgid "" +"Execute SQL statement *sql*. Bind values to the statement using :ref:" +"`placeholders ` that map to the :term:`sequence` or :" +"class:`dict` *parameters*." +msgstr "" + +msgid "" +":meth:`execute` will only execute a single SQL statement. If you try to " +"execute more than one statement with it, it will raise a :exc:" +"`ProgrammingError`. Use :meth:`executescript` if you want to execute " +"multiple SQL statements with one call." +msgstr "" + +msgid "" +"If :attr:`~Connection.isolation_level` is not ``None``, *sql* is an " +"``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is " +"no open transaction, a transaction is implicitly opened before executing " +"*sql*." +msgstr "" + +msgid "" +"Execute :ref:`parameterized ` SQL statement *sql* " +"against all parameter sequences or mappings found in the sequence " +"*parameters*. It is also possible to use an :term:`iterator` yielding " +"parameters instead of a sequence. Uses the same implicit transaction " +"handling as :meth:`~Cursor.execute`." +msgstr "" + +msgid "" +"Execute the SQL statements in *sql_script*. If there is a pending " +"transaction, an implicit ``COMMIT`` statement is executed first. No other " +"implicit transaction control is performed; any transaction control must be " +"added to *sql_script*." +msgstr "" + +msgid "*sql_script* must be a :class:`string `." +msgstr "" + +msgid "" +"If :attr:`~Connection.row_factory` is ``None``, return the next row query " +"result set as a :class:`tuple`. Else, pass it to the row factory and return " +"its result. Return ``None`` if no more data is available." +msgstr "" + +msgid "" +"Return the next set of rows of a query result as a :class:`list`. Return an " +"empty list if no more rows are available." +msgstr "" + +msgid "" +"The number of rows to fetch per call is specified by the *size* parameter. " +"If *size* is not given, :attr:`arraysize` determines the number of rows to " +"be fetched. If fewer than *size* rows are available, as many rows as are " +"available are returned." +msgstr "" + +msgid "" +"Note there are performance considerations involved with the *size* " +"parameter. For optimal performance, it is usually best to use the arraysize " +"attribute. If the *size* parameter is used, then it is best for it to retain " +"the same value from one :meth:`fetchmany` call to the next." +msgstr "" +"Зауважте, що з параметром *size* пов’язані міркування щодо продуктивності. " +"Для оптимальної продуктивності зазвичай найкраще використовувати атрибут " +"arraysize. Якщо використовується параметр *size*, то найкраще, щоб він " +"зберігав те саме значення від одного виклику :meth:`fetchmany` до наступного." + +msgid "" +"Return all (remaining) rows of a query result as a :class:`list`. Return an " +"empty list if no rows are available. Note that the :attr:`arraysize` " +"attribute can affect the performance of this operation." +msgstr "" + +msgid "Close the cursor now (rather than whenever ``__del__`` is called)." +msgstr "Закрийте курсор зараз (а не під час кожного виклику ``__del__``)." + +msgid "" +"The cursor will be unusable from this point forward; a :exc:" +"`ProgrammingError` exception will be raised if any operation is attempted " +"with the cursor." +msgstr "" +"Курсор стане непридатним для використання з цього моменту; виняток :exc:" +"`ProgrammingError` буде викликано, якщо будь-яка операція буде виконана з " +"курсором." + +msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." +msgstr "" + +msgid "" +"Read/write attribute that controls the number of rows returned by :meth:" +"`fetchmany`. The default value is 1 which means a single row would be " +"fetched per call." +msgstr "" +"Атрибут читання/запису, який контролює кількість рядків, які повертає :meth:" +"`fetchmany`. Значення за замовчуванням дорівнює 1, що означає, що за виклик " +"буде отримано один рядок." + +msgid "" +"Read-only attribute that provides the SQLite database :class:`Connection` " +"belonging to the cursor. A :class:`Cursor` object created by calling :meth:" +"`con.cursor() ` will have a :attr:`connection` attribute " +"that refers to *con*:" +msgstr "" + +msgid "" +"Read-only attribute that provides the column names of the last query. To " +"remain compatible with the Python DB API, it returns a 7-tuple for each " +"column where the last six items of each tuple are ``None``." +msgstr "" + +msgid "It is set for ``SELECT`` statements without any matching rows as well." +msgstr "" +"Він також встановлений для операторів ``SELECT`` без будь-яких відповідних " +"рядків." + +msgid "" +"Read-only attribute that provides the row id of the last inserted row. It is " +"only updated after successful ``INSERT`` or ``REPLACE`` statements using " +"the :meth:`execute` method. For other statements, after :meth:`executemany` " +"or :meth:`executescript`, or if the insertion failed, the value of " +"``lastrowid`` is left unchanged. The initial value of ``lastrowid`` is " +"``None``." +msgstr "" + +msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." +msgstr "Вставки в таблиці ``БЕЗ ROWID`` не записуються." + +msgid "Added support for the ``REPLACE`` statement." +msgstr "Додано підтримку оператора REPLACE." + +msgid "" +"Read-only attribute that provides the number of modified rows for " +"``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` " +"for other statements, including :abbr:`CTE (Common Table Expression)` " +"queries. It is only updated by the :meth:`execute` and :meth:`executemany` " +"methods." +msgstr "" + +msgid "Row objects" +msgstr "" + +msgid "" +"A :class:`!Row` instance serves as a highly optimized :attr:`~Connection." +"row_factory` for :class:`Connection` objects. It supports iteration, " +"equality testing, :func:`len`, and :term:`mapping` access by column name and " +"index." +msgstr "" + +msgid "Two row objects compare equal if have equal columns and equal members." +msgstr "" + +msgid "" +"Return a :class:`list` of column names as :class:`strings `. " +"Immediately after a query, it is the first member of each tuple in :attr:" +"`Cursor.description`." +msgstr "" + +msgid "Added support of slicing." +msgstr "Додана підтримка нарізки." + +msgid "Blob objects" +msgstr "" + +msgid "" +"A :class:`Blob` instance is a :term:`file-like object` that can read and " +"write data in an SQLite :abbr:`BLOB (Binary Large OBject)`. Call :func:" +"`len(blob) ` to get the size (number of bytes) of the blob. Use indices " +"and :term:`slices ` for direct access to the blob data." +msgstr "" + +msgid "" +"Use the :class:`Blob` as a :term:`context manager` to ensure that the blob " +"handle is closed after use." +msgstr "" + +msgid "Close the blob." +msgstr "" + +msgid "" +"The blob will be unusable from this point onward. An :class:`~sqlite3." +"Error` (or subclass) exception will be raised if any further operation is " +"attempted with the blob." +msgstr "" + +msgid "" +"Read *length* bytes of data from the blob at the current offset position. If " +"the end of the blob is reached, the data up to :abbr:`EOF (End of File)` " +"will be returned. When *length* is not specified, or is negative, :meth:" +"`~Blob.read` will read until the end of the blob." +msgstr "" + +msgid "" +"Write *data* to the blob at the current offset. This function cannot change " +"the blob length. Writing beyond the end of the blob will raise :exc:" +"`ValueError`." +msgstr "" + +msgid "Return the current access position of the blob." +msgstr "" + +msgid "" +"Set the current access position of the blob to *offset*. The *origin* " +"argument defaults to :data:`os.SEEK_SET` (absolute blob positioning). Other " +"values for *origin* are :data:`os.SEEK_CUR` (seek relative to the current " +"position) and :data:`os.SEEK_END` (seek relative to the blob’s end)." +msgstr "" + +msgid "PrepareProtocol objects" +msgstr "" + +msgid "" +"The PrepareProtocol type's single purpose is to act as a :pep:`246` style " +"adaption protocol for objects that can :ref:`adapt themselves ` to :ref:`native SQLite types `." +msgstr "" + +msgid "Exceptions" +msgstr "Винятки" + +msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." +msgstr "Ієрархія винятків визначається DB-API 2.0 (:pep:`249`)." + +msgid "" +"This exception is not currently raised by the :mod:`!sqlite3` module, but " +"may be raised by applications using :mod:`!sqlite3`, for example if a user-" +"defined function truncates data while inserting. ``Warning`` is a subclass " +"of :exc:`Exception`." +msgstr "" + +msgid "" +"The base class of the other exceptions in this module. Use this to catch all " +"errors with one single :keyword:`except` statement. ``Error`` is a subclass " +"of :exc:`Exception`." +msgstr "" +"Базовий клас інших винятків у цьому модулі. Використовуйте це, щоб " +"перехопити всі помилки за допомогою одного оператора :keyword:`except`. " +"``Error`` є підкласом :exc:`Exception`." + +msgid "" +"If the exception originated from within the SQLite library, the following " +"two attributes are added to the exception:" +msgstr "" + +msgid "" +"The numeric error code from the `SQLite API `_" +msgstr "" + +msgid "" +"The symbolic name of the numeric error code from the `SQLite API `_" +msgstr "" + +msgid "" +"Exception raised for misuse of the low-level SQLite C API. In other words, " +"if this exception is raised, it probably indicates a bug in the :mod:`!" +"sqlite3` module. ``InterfaceError`` is a subclass of :exc:`Error`." +msgstr "" + +msgid "" +"Exception raised for errors that are related to the database. This serves as " +"the base exception for several types of database errors. It is only raised " +"implicitly through the specialised subclasses. ``DatabaseError`` is a " +"subclass of :exc:`Error`." +msgstr "" +"Виняток створено для помилок, пов’язаних із базою даних. Це служить базовим " +"винятком для кількох типів помилок бази даних. Він виникає лише неявно через " +"спеціалізовані підкласи. ``DatabaseError`` є підкласом :exc:`Error`." + +msgid "" +"Exception raised for errors caused by problems with the processed data, like " +"numeric values out of range, and strings which are too long. ``DataError`` " +"is a subclass of :exc:`DatabaseError`." +msgstr "" +"Виняток створено для помилок, спричинених проблемами з обробленими даними, " +"як-от числові значення поза межами діапазону та надто довгі рядки. " +"``DataError`` є підкласом :exc:`DatabaseError`." + +msgid "" +"Exception raised for errors that are related to the database's operation, " +"and not necessarily under the control of the programmer. For example, the " +"database path is not found, or a transaction could not be processed. " +"``OperationalError`` is a subclass of :exc:`DatabaseError`." +msgstr "" +"Виняток створено для помилок, які пов’язані з роботою бази даних і не " +"обов’язково знаходяться під контролем програміста. Наприклад, шлях до бази " +"даних не знайдено або транзакцію не вдалося обробити. ``OperationalError`` є " +"підкласом :exc:`DatabaseError`." + +msgid "" +"Exception raised when the relational integrity of the database is affected, " +"e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`." +msgstr "" +"Виняток виникає, коли порушується реляційна цілісність бази даних, " +"наприклад. не вдається перевірити зовнішній ключ. Це підклас :exc:" +"`DatabaseError`." + +msgid "" +"Exception raised when SQLite encounters an internal error. If this is " +"raised, it may indicate that there is a problem with the runtime SQLite " +"library. ``InternalError`` is a subclass of :exc:`DatabaseError`." +msgstr "" +"Виняток виникає, коли SQLite стикається з внутрішньою помилкою. Якщо це " +"виникає, це може означати, що існує проблема з бібліотекою SQLite під час " +"виконання. ``InternalError`` є підкласом :exc:`DatabaseError`." + +msgid "" +"Exception raised for :mod:`!sqlite3` API programming errors, for example " +"supplying the wrong number of bindings to a query, or trying to operate on a " +"closed :class:`Connection`. ``ProgrammingError`` is a subclass of :exc:" +"`DatabaseError`." +msgstr "" + +msgid "" +"Exception raised in case a method or database API is not supported by the " +"underlying SQLite library. For example, setting *deterministic* to ``True`` " +"in :meth:`~Connection.create_function`, if the underlying SQLite library " +"does not support deterministic functions. ``NotSupportedError`` is a " +"subclass of :exc:`DatabaseError`." +msgstr "" + +msgid "SQLite and Python types" +msgstr "Типи SQLite і Python" + +msgid "" +"SQLite natively supports the following types: ``NULL``, ``INTEGER``, " +"``REAL``, ``TEXT``, ``BLOB``." +msgstr "" +"SQLite спочатку підтримує такі типи: ``NULL``, ``INTEGER``, ``REAL``, " +"``TEXT``, ``BLOB``." + +msgid "" +"The following Python types can thus be sent to SQLite without any problem:" +msgstr "" +"Таким чином, такі типи Python можна без будь-яких проблем надсилати до " +"SQLite:" + +msgid "Python type" +msgstr "Тип Python" + +msgid "SQLite type" +msgstr "Тип SQLite" + +msgid "``None``" +msgstr "``Жодного``" + +msgid "``NULL``" +msgstr "``NULL``" + +msgid ":class:`int`" +msgstr ":class:`int`" + +msgid "``INTEGER``" +msgstr "``ЦІЛЕ ЧИСЛО``" + +msgid ":class:`float`" +msgstr ":class:`float`" + +msgid "``REAL``" +msgstr "``РЕАЛЬНИЙ``" + +msgid ":class:`str`" +msgstr ":class:`str`" + +msgid "``TEXT``" +msgstr "``ТЕКСТ``" + +msgid ":class:`bytes`" +msgstr ":class:`bytes`" + +msgid "``BLOB``" +msgstr "``BLOB``" + +msgid "This is how SQLite types are converted to Python types by default:" +msgstr "Ось як типи SQLite перетворюються на типи Python за замовчуванням:" + +msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" +msgstr "" +"залежить від :attr:`~Connection.text_factory`, :class:`str` за замовчуванням" + +msgid "" +"The type system of the :mod:`!sqlite3` module is extensible in two ways: you " +"can store additional Python types in an SQLite database via :ref:`object " +"adapters `, and you can let the :mod:`!sqlite3` module " +"convert SQLite types to Python types via :ref:`converters `." +msgstr "" + +msgid "Default adapters and converters" +msgstr "Стандартні адаптери та конвертери" + +msgid "" +"There are default adapters for the date and datetime types in the datetime " +"module. They will be sent as ISO dates/ISO timestamps to SQLite." +msgstr "" +"У модулі datetime є стандартні адаптери для типів date і datetime. Вони " +"будуть надіслані як дати ISO/мітки часу ISO до SQLite." + +msgid "" +"The default converters are registered under the name \"date\" for :class:" +"`datetime.date` and under the name \"timestamp\" for :class:`datetime." +"datetime`." +msgstr "" +"Перетворювачі за замовчуванням зареєстровані під назвою \"date\" для :class:" +"`datetime.date` і під назвою \"timestamp\" для :class:`datetime.datetime`." + +msgid "" +"This way, you can use date/timestamps from Python without any additional " +"fiddling in most cases. The format of the adapters is also compatible with " +"the experimental SQLite date/time functions." +msgstr "" +"Таким чином, у більшості випадків ви можете використовувати мітки дати/часу " +"з Python без будь-яких додаткових маніпуляцій. Формат адаптерів також " +"сумісний з експериментальними функціями дати/часу SQLite." + +msgid "The following example demonstrates this." +msgstr "Наступний приклад демонструє це." + +msgid "" +"If a timestamp stored in SQLite has a fractional part longer than 6 numbers, " +"its value will be truncated to microsecond precision by the timestamp " +"converter." +msgstr "" +"Якщо мітка часу, що зберігається в SQLite, має дробову частину, яка " +"перевищує 6 чисел, її значення буде скорочено до мікросекундної точності " +"конвертером міток часу." + +msgid "" +"The default \"timestamp\" converter ignores UTC offsets in the database and " +"always returns a naive :class:`datetime.datetime` object. To preserve UTC " +"offsets in timestamps, either leave converters disabled, or register an " +"offset-aware converter with :func:`register_converter`." +msgstr "" +"Конвертер \"міток часу\" за замовчуванням ігнорує зміщення UTC у базі даних " +"і завжди повертає простий об’єкт :class:`datetime.datetime`. Щоб зберегти " +"зміщення UTC у мітках часу, залиште конвертери вимкненими або зареєструйте " +"конвертер із зсувом за допомогою :func:`register_converter`." + +msgid "How-to guides" +msgstr "" + +msgid "How to use placeholders to bind values in SQL queries" +msgstr "" + +msgid "" +"SQL operations usually need to use values from Python variables. However, " +"beware of using Python's string operations to assemble queries, as they are " +"vulnerable to `SQL injection attacks`_ (see the `xkcd webcomic `_ for a humorous example of what can go wrong)::" +msgstr "" + +msgid "" +"Instead, use the DB-API's parameter substitution. To insert a variable into " +"a query string, use a placeholder in the string, and substitute the actual " +"values into the query by providing them as a :class:`tuple` of values to the " +"second argument of the cursor's :meth:`~Cursor.execute` method. An SQL " +"statement may use one of two kinds of placeholders: question marks (qmark " +"style) or named placeholders (named style). For the qmark style, " +"``parameters`` must be a :term:`sequence `. For the named style, " +"it can be either a :term:`sequence ` or :class:`dict` instance. " +"The length of the :term:`sequence ` must match the number of " +"placeholders, or a :exc:`ProgrammingError` is raised. If a :class:`dict` is " +"given, it must contain keys for all named parameters. Any extra items are " +"ignored. Here's an example of both styles:" +msgstr "" +"Замість цього використовуйте підстановку параметрів DB-API. Щоб вставити " +"змінну в рядок запиту, використовуйте заповнювач у рядку та підставте " +"фактичні значення в запит, надавши їх як :class:`tuple` значень у другому " +"аргументі :meth:`~курсора курсора .execute` метод. Інструкція SQL може " +"використовувати один із двох видів заповнювачів: знаки питання (стиль qmark) " +"або іменовані заповнювачі (іменований стиль). Для стилю qmark ``параметри`` " +"мають бути :term:`послідовністю `. Для названого стилю це може " +"бути екземпляр :term:`sequence ` або :class:`dict`. Довжина :term:" +"`послідовності ` має збігатися з кількістю заповнювачів, інакше " +"виникне :exc:`ProgrammingError`. Якщо вказано :class:`dict`, він повинен " +"містити ключі для всіх названих параметрів. Будь-які додаткові елементи " +"ігноруються. Ось приклад обох стилів:" + +msgid "How to adapt custom Python types to SQLite values" +msgstr "" + +msgid "" +"SQLite supports only a limited set of data types natively. To store custom " +"Python types in SQLite databases, *adapt* them to one of the :ref:`Python " +"types SQLite natively understands `." +msgstr "" + +msgid "" +"There are two ways to adapt Python objects to SQLite types: letting your " +"object adapt itself, or using an *adapter callable*. The latter will take " +"precedence above the former. For a library that exports a custom type, it " +"may make sense to enable that type to adapt itself. As an application " +"developer, it may make more sense to take direct control by registering " +"custom adapter functions." +msgstr "" + +msgid "How to write adaptable objects" +msgstr "" + +msgid "" +"Suppose we have a :class:`!Point` class that represents a pair of " +"coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The " +"coordinate pair will be stored as a text string in the database, using a " +"semicolon to separate the coordinates. This can be implemented by adding a " +"``__conform__(self, protocol)`` method which returns the adapted value. The " +"object passed to *protocol* will be of type :class:`PrepareProtocol`." +msgstr "" + +msgid "How to register adapter callables" +msgstr "" + +msgid "" +"The other possibility is to create a function that converts the Python " +"object to an SQLite-compatible type. This function can then be registered " +"using :func:`register_adapter`." +msgstr "" + +msgid "How to convert SQLite values to custom Python types" +msgstr "" + +msgid "" +"Writing an adapter lets you convert *from* custom Python types *to* SQLite " +"values. To be able to convert *from* SQLite values *to* custom Python types, " +"we use *converters*." +msgstr "" + +msgid "" +"Let's go back to the :class:`!Point` class. We stored the x and y " +"coordinates separated via semicolons as strings in SQLite." +msgstr "" + +msgid "" +"First, we'll define a converter function that accepts the string as a " +"parameter and constructs a :class:`!Point` object from it." +msgstr "" + +msgid "" +"Converter functions are **always** passed a :class:`bytes` object, no matter " +"the underlying SQLite data type." +msgstr "" + +msgid "" +"We now need to tell :mod:`!sqlite3` when it should convert a given SQLite " +"value. This is done when connecting to a database, using the *detect_types* " +"parameter of :func:`connect`. There are three options:" +msgstr "" + +msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" +msgstr "" + +msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" +msgstr "" + +msgid "" +"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3." +"PARSE_COLNAMES``. Column names take precedence over declared types." +msgstr "" + +msgid "The following example illustrates the implicit and explicit approaches:" +msgstr "" + +msgid "Adapter and converter recipes" +msgstr "" + +msgid "This section shows recipes for common adapters and converters." +msgstr "" + +msgid "How to use connection shortcut methods" +msgstr "" + +msgid "" +"Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :" +"meth:`~Connection.executescript` methods of the :class:`Connection` class, " +"your code can be written more concisely because you don't have to create the " +"(often superfluous) :class:`Cursor` objects explicitly. Instead, the :class:" +"`Cursor` objects are created implicitly and these shortcut methods return " +"the cursor objects. This way, you can execute a ``SELECT`` statement and " +"iterate over it directly using only a single call on the :class:`Connection` " +"object." +msgstr "" + +msgid "How to use the connection context manager" +msgstr "" + +msgid "" +"A :class:`Connection` object can be used as a context manager that " +"automatically commits or rolls back open transactions when leaving the body " +"of the context manager. If the body of the :keyword:`with` statement " +"finishes without exceptions, the transaction is committed. If this commit " +"fails, or if the body of the ``with`` statement raises an uncaught " +"exception, the transaction is rolled back." +msgstr "" + +msgid "" +"If there is no open transaction upon leaving the body of the ``with`` " +"statement, the context manager is a no-op." +msgstr "" + +msgid "" +"The context manager neither implicitly opens a new transaction nor closes " +"the connection." +msgstr "" + +msgid "How to work with SQLite URIs" +msgstr "" + +msgid "Some useful URI tricks include:" +msgstr "" + +msgid "Open a database in read-only mode:" +msgstr "" + +msgid "" +"Do not implicitly create a new database file if it does not already exist; " +"will raise :exc:`~sqlite3.OperationalError` if unable to create a new file:" +msgstr "" + +msgid "Create a shared named in-memory database:" +msgstr "" + +msgid "" +"More information about this feature, including a list of parameters, can be " +"found in the `SQLite URI documentation`_." +msgstr "" + +msgid "Explanation" +msgstr "Пояснення" + +msgid "Transaction control" +msgstr "" + +msgid "" +"The :mod:`!sqlite3` module does not adhere to the transaction handling " +"recommended by :pep:`249`." +msgstr "" + +msgid "" +"If the connection attribute :attr:`~Connection.isolation_level` is not " +"``None``, new transactions are implicitly opened before :meth:`~Cursor." +"execute` and :meth:`~Cursor.executemany` executes ``INSERT``, ``UPDATE``, " +"``DELETE``, or ``REPLACE`` statements; for other statements, no implicit " +"transaction handling is performed. Use the :meth:`~Connection.commit` and :" +"meth:`~Connection.rollback` methods to respectively commit and roll back " +"pending transactions. You can choose the underlying `SQLite transaction " +"behaviour`_ — that is, whether and what type of ``BEGIN`` statements :mod:`!" +"sqlite3` implicitly executes – via the :attr:`~Connection.isolation_level` " +"attribute." +msgstr "" + +msgid "" +"If :attr:`~Connection.isolation_level` is set to ``None``, no transactions " +"are implicitly opened at all. This leaves the underlying SQLite library in " +"`autocommit mode`_, but also allows the user to perform their own " +"transaction handling using explicit SQL statements. The underlying SQLite " +"library autocommit mode can be queried using the :attr:`~Connection." +"in_transaction` attribute." +msgstr "" + +msgid "" +"The :meth:`~Cursor.executescript` method implicitly commits any pending " +"transaction before execution of the given SQL script, regardless of the " +"value of :attr:`~Connection.isolation_level`." +msgstr "" + +msgid "" +":mod:`!sqlite3` used to implicitly commit an open transaction before DDL " +"statements. This is no longer the case." +msgstr "" diff --git a/library/ssl.po b/library/ssl.po new file mode 100644 index 000000000..b5fb978af --- /dev/null +++ b/library/ssl.po @@ -0,0 +1,3753 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`ssl` --- TLS/SSL wrapper for socket objects" +msgstr ":mod:`ssl` --- оболонка TLS/SSL для об'єктів сокета" + +msgid "**Source code:** :source:`Lib/ssl.py`" +msgstr "**Вихідний код:** :source:`Lib/ssl.py`" + +msgid "" +"This module provides access to Transport Layer Security (often known as " +"\"Secure Sockets Layer\") encryption and peer authentication facilities for " +"network sockets, both client-side and server-side. This module uses the " +"OpenSSL library. It is available on all modern Unix systems, Windows, macOS, " +"and probably additional platforms, as long as OpenSSL is installed on that " +"platform." +msgstr "" +"Цей модуль надає доступ до шифрування транспортного рівня безпеки (часто " +"відомого як \"рівень захищених сокетів\") і засобів автентифікації " +"однорангових мережевих сокетів як на стороні клієнта, так і на стороні " +"сервера. Цей модуль використовує бібліотеку OpenSSL. Він доступний у всіх " +"сучасних системах Unix, Windows, macOS і, ймовірно, на додаткових " +"платформах, якщо на цій платформі встановлено OpenSSL." + +msgid "" +"Some behavior may be platform dependent, since calls are made to the " +"operating system socket APIs. The installed version of OpenSSL may also " +"cause variations in behavior. For example, TLSv1.3 with OpenSSL version " +"1.1.1." +msgstr "" +"Деяка поведінка може залежати від платформи, оскільки виклики здійснюються " +"до API сокетів операційної системи. Установлена версія OpenSSL також може " +"спричиняти зміни в поведінці. Наприклад, TLSv1.3 з OpenSSL версії 1.1.1." + +msgid "" +"Don't use this module without reading the :ref:`ssl-security`. Doing so may " +"lead to a false sense of security, as the default settings of the ssl module " +"are not necessarily appropriate for your application." +msgstr "" +"Не використовуйте цей модуль, не прочитавши :ref:`ssl-security`. Це може " +"призвести до помилкового відчуття безпеки, оскільки стандартні параметри " +"модуля ssl не обов’язково підходять для вашої програми." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"This section documents the objects and functions in the ``ssl`` module; for " +"more general information about TLS, SSL, and certificates, the reader is " +"referred to the documents in the \"See Also\" section at the bottom." +msgstr "" +"У цьому розділі описано об’єкти та функції модуля ``ssl``; для отримання " +"більш загальної інформації про TLS, SSL і сертифікати, читач буде направлено " +"до документів у розділі \"Див. також\" внизу." + +msgid "" +"This module provides a class, :class:`ssl.SSLSocket`, which is derived from " +"the :class:`socket.socket` type, and provides a socket-like wrapper that " +"also encrypts and decrypts the data going over the socket with SSL. It " +"supports additional methods such as :meth:`getpeercert`, which retrieves the " +"certificate of the other side of the connection, and :meth:`cipher`, which " +"retrieves the cipher being used for the secure connection." +msgstr "" +"Цей модуль надає клас :class:`ssl.SSLSocket`, який є похідним від типу :" +"class:`socket.socket`, і забезпечує оболонку, схожу на сокет, яка також " +"шифрує та розшифровує дані, що передаються через сокет за допомогою SSL. . " +"Він підтримує додаткові методи, такі як :meth:`getpeercert`, який отримує " +"сертифікат іншого боку з’єднання, і :meth:`cipher`, який отримує шифр, який " +"використовується для безпечного з’єднання." + +msgid "" +"For more sophisticated applications, the :class:`ssl.SSLContext` class helps " +"manage settings and certificates, which can then be inherited by SSL sockets " +"created through the :meth:`SSLContext.wrap_socket` method." +msgstr "" +"Для складніших програм клас :class:`ssl.SSLContext` допомагає керувати " +"налаштуваннями та сертифікатами, які потім можуть бути успадковані сокетами " +"SSL, створеними за допомогою методу :meth:`SSLContext.wrap_socket`." + +msgid "Updated to support linking with OpenSSL 1.1.0" +msgstr "Оновлено для підтримки зв’язування з OpenSSL 1.1.0" + +msgid "" +"OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " +"the future the ssl module will require at least OpenSSL 1.0.2 or 1.1.0." +msgstr "" +"OpenSSL 0.9.8, 1.0.0 і 1.0.1 застаріли та більше не підтримуються. У " +"майбутньому модуль ssl потребуватиме принаймні OpenSSL 1.0.2 або 1.1.0." + +msgid "" +":pep:`644` has been implemented. The ssl module requires OpenSSL 1.1.1 or " +"newer." +msgstr "" +":pep:`644` реалізовано. Модуль ssl вимагає OpenSSL 1.1.1 або новішої версії." + +msgid "" +"Use of deprecated constants and functions result in deprecation warnings." +msgstr "" +"Використання застарілих констант і функцій призводить до попереджень про " +"застаріле." + +msgid "Functions, Constants, and Exceptions" +msgstr "Функції, константи та винятки" + +msgid "Socket creation" +msgstr "Створення розетки" + +msgid "" +"Since Python 3.2 and 2.7.9, it is recommended to use the :meth:`SSLContext." +"wrap_socket` of an :class:`SSLContext` instance to wrap sockets as :class:" +"`SSLSocket` objects. The helper functions :func:`create_default_context` " +"returns a new context with secure default settings. The old :func:" +"`wrap_socket` function is deprecated since it is both inefficient and has no " +"support for server name indication (SNI) and hostname matching." +msgstr "" +"Починаючи з Python 3.2 і 2.7.9, рекомендується використовувати :meth:" +"`SSLContext.wrap_socket` екземпляра :class:`SSLContext` для обгортання " +"сокетів як об’єктів :class:`SSLSocket`. Допоміжні функції :func:" +"`create_default_context` повертають новий контекст із безпечними параметрами " +"за замовчуванням. Стара функція :func:`wrap_socket` є застарілою, оскільки " +"вона є неефективною та не підтримує індикацію імені сервера (SNI) та " +"відповідність імені хоста." + +msgid "Client socket example with default context and IPv4/IPv6 dual stack::" +msgstr "" +"Приклад клієнтського сокета з контекстом за замовчуванням і подвійним стеком " +"IPv4/IPv6::" + +msgid "Client socket example with custom context and IPv4::" +msgstr "Приклад клієнтського сокета з власним контекстом і IPv4::" + +msgid "Server socket example listening on localhost IPv4::" +msgstr "Приклад серверного сокета, який прослуховує локальний хост IPv4::" + +msgid "Context creation" +msgstr "Створення контексту" + +msgid "" +"A convenience function helps create :class:`SSLContext` objects for common " +"purposes." +msgstr "" +"Зручна функція допомагає створювати об’єкти :class:`SSLContext` для " +"звичайних цілей." + +msgid "" +"Return a new :class:`SSLContext` object with default settings for the given " +"*purpose*. The settings are chosen by the :mod:`ssl` module, and usually " +"represent a higher security level than when calling the :class:`SSLContext` " +"constructor directly." +msgstr "" +"Повертає новий об’єкт :class:`SSLContext` із налаштуваннями за замовчуванням " +"для заданої *цілі*. Параметри вибираються модулем :mod:`ssl` і зазвичай " +"представляють вищий рівень безпеки, ніж під час безпосереднього виклику " +"конструктора :class:`SSLContext`." + +msgid "" +"*cafile*, *capath*, *cadata* represent optional CA certificates to trust for " +"certificate verification, as in :meth:`SSLContext.load_verify_locations`. " +"If all three are :const:`None`, this function can choose to trust the " +"system's default CA certificates instead." +msgstr "" +"*cafile*, *capath*, *cadata* представляють додаткові сертифікати ЦС, яким " +"можна довіряти для перевірки сертифікатів, як у :meth:`SSLContext." +"load_verify_locations`. Якщо всі три параметри :const:`None`, ця функція " +"може натомість довіряти стандартним сертифікатам ЦС системи." + +msgid "" +"The settings are: :data:`PROTOCOL_TLS_CLIENT` or :data:" +"`PROTOCOL_TLS_SERVER`, :data:`OP_NO_SSLv2`, and :data:`OP_NO_SSLv3` with " +"high encryption cipher suites without RC4 and without unauthenticated cipher " +"suites. Passing :data:`~Purpose.SERVER_AUTH` as *purpose* sets :data:" +"`~SSLContext.verify_mode` to :data:`CERT_REQUIRED` and either loads CA " +"certificates (when at least one of *cafile*, *capath* or *cadata* is given) " +"or uses :meth:`SSLContext.load_default_certs` to load default CA " +"certificates." +msgstr "" +"Параметри такі: :data:`PROTOCOL_TLS_CLIENT` або :data:" +"`PROTOCOL_TLS_SERVER`, :data:`OP_NO_SSLv2` і :data:`OP_NO_SSLv3` з наборами " +"шифрів високого рівня шифрування без RC4 і без неавтентифікованих наборів " +"шифрів. Передача :data:`~Purpose.SERVER_AUTH` як *purpose* встановлює :data:" +"`~SSLContext.verify_mode` на :data:`CERT_REQUIRED` і або завантажує " +"сертифікати ЦС (якщо принаймні один із *cafile*, *capath* або *cadata* " +"задано) або використовує :meth:`SSLContext.load_default_certs` для " +"завантаження стандартних сертифікатів ЦС." + +msgid "" +"When :attr:`~SSLContext.keylog_filename` is supported and the environment " +"variable :envvar:`SSLKEYLOGFILE` is set, :func:`create_default_context` " +"enables key logging." +msgstr "" +"Якщо підтримується :attr:`~SSLContext.keylog_filename` і встановлено змінну " +"середовища :envvar:`SSLKEYLOGFILE`, :func:`create_default_context` вмикає " +"журналювання ключів." + +msgid "" +"The protocol, options, cipher and other settings may change to more " +"restrictive values anytime without prior deprecation. The values represent " +"a fair balance between compatibility and security." +msgstr "" +"Протокол, параметри, шифр та інші параметри можуть будь-коли змінитися на " +"більш обмежувальні значення без попереднього припинення. Значення " +"представляють справедливий баланс між сумісністю та безпекою." + +msgid "" +"If your application needs specific settings, you should create a :class:" +"`SSLContext` and apply the settings yourself." +msgstr "" +"Якщо вашій програмі потрібні певні налаштування, ви повинні створити :class:" +"`SSLContext` і застосувати налаштування самостійно." + +msgid "" +"If you find that when certain older clients or servers attempt to connect " +"with a :class:`SSLContext` created by this function that they get an error " +"stating \"Protocol or cipher suite mismatch\", it may be that they only " +"support SSL3.0 which this function excludes using the :data:`OP_NO_SSLv3`. " +"SSL3.0 is widely considered to be `completely broken `_. If you still wish to continue to use this function but " +"still allow SSL 3.0 connections you can re-enable them using::" +msgstr "" +"Якщо ви виявите, що коли певні старіші клієнти чи сервери намагаються " +"підключитися за допомогою :class:`SSLContext`, створеного цією функцією, " +"вони отримують помилку \"Невідповідність протоколу чи набору шифрів\", " +"можливо, вони підтримують лише SSL3.0, який ця функція виключає " +"використання :data:`OP_NO_SSLv3`. SSL3.0 широко вважається `повністю " +"зламаним `_. Якщо ви все ще бажаєте " +"продовжувати використовувати цю функцію, але все ще дозволяєте підключення " +"SSL 3.0, ви можете повторно ввімкнути їх за допомогою::" + +msgid "RC4 was dropped from the default cipher string." +msgstr "RC4 було видалено з рядка шифру за замовчуванням." + +msgid "ChaCha20/Poly1305 was added to the default cipher string." +msgstr "ChaCha20/Poly1305 додано до рядка шифру за замовчуванням." + +msgid "3DES was dropped from the default cipher string." +msgstr "3DES було видалено з рядка шифру за замовчуванням." + +msgid "Support for key logging to :envvar:`SSLKEYLOGFILE` was added." +msgstr "Додано підтримку реєстрації ключів у :envvar:`SSLKEYLOGFILE`." + +msgid "" +"The context now uses :data:`PROTOCOL_TLS_CLIENT` or :data:" +"`PROTOCOL_TLS_SERVER` protocol instead of generic :data:`PROTOCOL_TLS`." +msgstr "" +"Контекст тепер використовує протокол :data:`PROTOCOL_TLS_CLIENT` або :data:" +"`PROTOCOL_TLS_SERVER` замість загального :data:`PROTOCOL_TLS`." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"Raised to signal an error from the underlying SSL implementation (currently " +"provided by the OpenSSL library). This signifies some problem in the higher-" +"level encryption and authentication layer that's superimposed on the " +"underlying network connection. This error is a subtype of :exc:`OSError`. " +"The error code and message of :exc:`SSLError` instances are provided by the " +"OpenSSL library." +msgstr "" +"Піднято, щоб повідомити про помилку базової реалізації SSL (наразі надається " +"бібліотекою OpenSSL). Це означає певну проблему на рівні шифрування та " +"автентифікації вищого рівня, який накладається на базове мережеве з’єднання. " +"Ця помилка є підтипом :exc:`OSError`. Код помилки та повідомлення " +"екземплярів :exc:`SSLError` надає бібліотека OpenSSL." + +msgid ":exc:`SSLError` used to be a subtype of :exc:`socket.error`." +msgstr ":exc:`SSLError` раніше був підтипом :exc:`socket.error`." + +msgid "" +"A string mnemonic designating the OpenSSL submodule in which the error " +"occurred, such as ``SSL``, ``PEM`` or ``X509``. The range of possible " +"values depends on the OpenSSL version." +msgstr "" +"Рядкова мнемоніка, що позначає субмодуль OpenSSL, у якому сталася помилка, " +"наприклад ``SSL``, ``PEM`` або ``X509``. Діапазон можливих значень залежить " +"від версії OpenSSL." + +msgid "" +"A string mnemonic designating the reason this error occurred, for example " +"``CERTIFICATE_VERIFY_FAILED``. The range of possible values depends on the " +"OpenSSL version." +msgstr "" +"Рядок мнемоніки, що вказує причину цієї помилки, наприклад " +"``CERTIFICATE_VERIFY_FAILED``. Діапазон можливих значень залежить від версії " +"OpenSSL." + +msgid "" +"A subclass of :exc:`SSLError` raised when trying to read or write and the " +"SSL connection has been closed cleanly. Note that this doesn't mean that " +"the underlying transport (read TCP) has been closed." +msgstr "" +"Підклас :exc:`SSLError` викликається під час спроби читання або запису, а " +"SSL-з’єднання було закрито. Зауважте, що це не означає, що основний " +"транспорт (читай TCP) закрито." + +msgid "" +"A subclass of :exc:`SSLError` raised by a :ref:`non-blocking SSL socket ` when trying to read or write data, but more data needs to be " +"received on the underlying TCP transport before the request can be fulfilled." +msgstr "" +"Підклас :exc:`SSLError`, викликаний :ref:`неблокуючим SSL-сокетом ` під час спроби прочитати або записати дані, але для виконання " +"запиту потрібно отримати більше даних базовим транспортом TCP." + +msgid "" +"A subclass of :exc:`SSLError` raised by a :ref:`non-blocking SSL socket ` when trying to read or write data, but more data needs to be " +"sent on the underlying TCP transport before the request can be fulfilled." +msgstr "" +"Підклас :exc:`SSLError`, викликаний :ref:`неблокуючим SSL-сокетом ` під час спроби прочитати або записати дані, але більше даних " +"потрібно надіслати базовим транспортом TCP, перш ніж запит буде виконано." + +msgid "" +"A subclass of :exc:`SSLError` raised when a system error was encountered " +"while trying to fulfill an operation on a SSL socket. Unfortunately, there " +"is no easy way to inspect the original errno number." +msgstr "" +"Підклас :exc:`SSLError` викликається, коли виникла системна помилка під час " +"спроби виконати операцію на SSL-сокеті. На жаль, немає простого способу " +"перевірити оригінальний номер errno." + +msgid "" +"A subclass of :exc:`SSLError` raised when the SSL connection has been " +"terminated abruptly. Generally, you shouldn't try to reuse the underlying " +"transport when this error is encountered." +msgstr "" +"Підклас :exc:`SSLError` викликається, коли з’єднання SSL було раптово " +"розірвано. Як правило, ви не повинні намагатися повторно використовувати " +"базовий транспорт, коли виникає ця помилка." + +msgid "" +"A subclass of :exc:`SSLError` raised when certificate validation has failed." +msgstr "" +"Підклас :exc:`SSLError` викликається, коли не вдається перевірити сертифікат." + +msgid "A numeric error number that denotes the verification error." +msgstr "Числовий номер помилки, який позначає помилку підтвердження." + +msgid "A human readable string of the verification error." +msgstr "Зрозумілий для людини рядок помилки перевірки." + +msgid "An alias for :exc:`SSLCertVerificationError`." +msgstr "Псевдонім для :exc:`SSLCertVerificationError`." + +msgid "The exception is now an alias for :exc:`SSLCertVerificationError`." +msgstr "Винятком тепер є псевдонім для :exc:`SSLCertVerificationError`." + +msgid "Random generation" +msgstr "Випадкова генерація" + +msgid "" +"Return *num* cryptographically strong pseudo-random bytes. Raises an :class:" +"`SSLError` if the PRNG has not been seeded with enough data or if the " +"operation is not supported by the current RAND method. :func:`RAND_status` " +"can be used to check the status of the PRNG and :func:`RAND_add` can be used " +"to seed the PRNG." +msgstr "" +"Повертає *num* криптографічно надійних псевдовипадкових байтів. Викликає :" +"class:`SSLError`, якщо PRNG не було заповнено достатньою кількістю даних або " +"якщо операція не підтримується поточним методом RAND. :func:`RAND_status` " +"можна використовувати для перевірки статусу PRNG, а :func:`RAND_add` можна " +"використовувати для заповнення PRNG." + +msgid "For almost all applications :func:`os.urandom` is preferable." +msgstr "Майже для всіх програм :func:`os.urandom` є кращим." + +msgid "" +"Read the Wikipedia article, `Cryptographically secure pseudorandom number " +"generator (CSPRNG) `_, to get the " +"requirements of a cryptographically strong generator." +msgstr "" +"Прочитайте статтю Вікіпедії `Криптографічно захищений генератор " +"псевдовипадкових чисел (CSPRNG) `_, щоб дізнатися про " +"вимоги до криптографічно надійного генератора." + +msgid "" +"Return (bytes, is_cryptographic): bytes are *num* pseudo-random bytes, " +"is_cryptographic is ``True`` if the bytes generated are cryptographically " +"strong. Raises an :class:`SSLError` if the operation is not supported by the " +"current RAND method." +msgstr "" +"Повернення (байти, is_cryptographic): байти — це *кількість* " +"псевдовипадкових байтів, is_cryptographic має значення ``True``, якщо " +"згенеровані байти є криптографічно надійними. Викликає :class:`SSLError`, " +"якщо операція не підтримується поточним методом RAND." + +msgid "" +"Generated pseudo-random byte sequences will be unique if they are of " +"sufficient length, but are not necessarily unpredictable. They can be used " +"for non-cryptographic purposes and for certain purposes in cryptographic " +"protocols, but usually not for key generation etc." +msgstr "" +"Згенеровані псевдовипадкові послідовності байтів будуть унікальними, якщо " +"вони мають достатню довжину, але не обов’язково є непередбачуваними. Їх " +"можна використовувати для некриптографічних цілей і для певних цілей у " +"криптографічних протоколах, але зазвичай не для генерації ключів тощо." + +msgid "" +"OpenSSL has deprecated :func:`ssl.RAND_pseudo_bytes`, use :func:`ssl." +"RAND_bytes` instead." +msgstr "" +"OpenSSL застарів :func:`ssl.RAND_pseudo_bytes`, замість нього " +"використовуйте :func:`ssl.RAND_bytes`." + +msgid "" +"Return ``True`` if the SSL pseudo-random number generator has been seeded " +"with 'enough' randomness, and ``False`` otherwise. You can use :func:`ssl." +"RAND_egd` and :func:`ssl.RAND_add` to increase the randomness of the pseudo-" +"random number generator." +msgstr "" +"Повертає ``True``, якщо генератор псевдовипадкових чисел SSL заповнено " +"достатньою випадковістю, і ``False`` в іншому випадку. Ви можете " +"використовувати :func:`ssl.RAND_egd` і :func:`ssl.RAND_add`, щоб збільшити " +"випадковість генератора псевдовипадкових чисел." + +msgid "" +"Mix the given *bytes* into the SSL pseudo-random number generator. The " +"parameter *entropy* (a float) is a lower bound on the entropy contained in " +"string (so you can always use :const:`0.0`). See :rfc:`1750` for more " +"information on sources of entropy." +msgstr "" +"Змішайте надані *байти* в генераторі псевдовипадкових чисел SSL. Параметр " +"*entropy* (float) є нижньою межею ентропії, яка міститься в рядку (тому ви " +"завжди можете використовувати :const:`0.0`). Перегляньте :rfc:`1750` для " +"отримання додаткової інформації про джерела ентропії." + +msgid "Writable :term:`bytes-like object` is now accepted." +msgstr "Записуваний :term:`bytes-like object` тепер приймається." + +msgid "Certificate handling" +msgstr "Обробка сертифікатів" + +msgid "" +"Verify that *cert* (in decoded format as returned by :meth:`SSLSocket." +"getpeercert`) matches the given *hostname*. The rules applied are those for " +"checking the identity of HTTPS servers as outlined in :rfc:`2818`, :rfc:" +"`5280` and :rfc:`6125`. In addition to HTTPS, this function should be " +"suitable for checking the identity of servers in various SSL-based protocols " +"such as FTPS, IMAPS, POPS and others." +msgstr "" +"Переконайтеся, що *cert* (у декодованому форматі, який повертає :meth:" +"`SSLSocket.getpeercert`) відповідає заданому *назві хосту*. Застосовуються " +"правила для перевірки ідентичності серверів HTTPS, як описано в :rfc:" +"`2818`, :rfc:`5280` та :rfc:`6125`. Окрім HTTPS, ця функція має бути " +"придатною для перевірки ідентичності серверів у різних протоколах на основі " +"SSL, таких як FTPS, IMAPS, POPS та інші." + +msgid "" +":exc:`CertificateError` is raised on failure. On success, the function " +"returns nothing::" +msgstr "" +":exc:`CertificateError` виникає в разі помилки. У разі успіху функція нічого " +"не повертає::" + +msgid "" +"The function now follows :rfc:`6125`, section 6.4.3 and does neither match " +"multiple wildcards (e.g. ``*.*.com`` or ``*a*.example.org``) nor a wildcard " +"inside an internationalized domain names (IDN) fragment. IDN A-labels such " +"as ``www*.xn--pthon-kva.org`` are still supported, but ``x*.python.org`` no " +"longer matches ``xn--tda.python.org``." +msgstr "" +"Функція тепер відповідає :rfc:`6125`, розділ 6.4.3, і не відповідає ні " +"кільком символам підстановки (наприклад, ``*.*.com`` або ``*a*.example." +"org``), ні символу підстановки всередині фрагмент інтернаціоналізованих " +"доменних імен (IDN). А-мітки IDN, такі як ``www*.xn--pthon-kva.org``, як і " +"раніше підтримуються, але ``x*.python.org`` більше не відповідає ``xn--tda." +"python.org``." + +msgid "" +"Matching of IP addresses, when present in the subjectAltName field of the " +"certificate, is now supported." +msgstr "" +"Тепер підтримується зіставлення IP-адрес, якщо вони присутні в полі " +"subjectAltName сертифіката." + +msgid "" +"The function is no longer used to TLS connections. Hostname matching is now " +"performed by OpenSSL." +msgstr "" +"Ця функція більше не використовується для підключень TLS. Зіставлення імен " +"хостів тепер виконує OpenSSL." + +msgid "" +"Allow wildcard when it is the leftmost and the only character in that " +"segment. Partial wildcards like ``www*.example.com`` are no longer supported." +msgstr "" +"Дозволити підстановку, якщо це крайній лівий і єдиний символ у сегменті. " +"Часткові символи узагальнення, наприклад ``www*.example.com`` більше не " +"підтримуються." + +msgid "" +"Return the time in seconds since the Epoch, given the ``cert_time`` string " +"representing the \"notBefore\" or \"notAfter\" date from a certificate in ``" +"\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." +msgstr "" +"Повертає час у секундах з епохи, враховуючи рядок ``cert_time``, що " +"представляє дату \"notBefore\" або \"notAfter\" із сертифіката в ``\"%b %d " +"%H:%M:%S %Y %Z\"`` формат strptime (C локаль)." + +msgid "Here's an example:" +msgstr "Ось приклад:" + +msgid "\"notBefore\" or \"notAfter\" dates must use GMT (:rfc:`5280`)." +msgstr "" +"Дати \"notBefore\" або \"notAfter\" мають використовувати GMT (:rfc:`5280`)." + +msgid "" +"Interpret the input time as a time in UTC as specified by 'GMT' timezone in " +"the input string. Local timezone was used previously. Return an integer (no " +"fractions of a second in the input format)" +msgstr "" +"Інтерпретуйте введений час як час у UTC, як зазначено часовим поясом \"GMT\" " +"у вхідному рядку. Раніше використовувався місцевий часовий пояс. Повертає " +"ціле число (без часток секунди у форматі введення)" + +msgid "" +"Given the address ``addr`` of an SSL-protected server, as a (*hostname*, " +"*port-number*) pair, fetches the server's certificate, and returns it as a " +"PEM-encoded string. If ``ssl_version`` is specified, uses that version of " +"the SSL protocol to attempt to connect to the server. If ``ca_certs`` is " +"specified, it should be a file containing a list of root certificates, the " +"same format as used for the same parameter in :meth:`SSLContext." +"wrap_socket`. The call will attempt to validate the server certificate " +"against that set of root certificates, and will fail if the validation " +"attempt fails. A timeout can be specified with the ``timeout`` parameter." +msgstr "" +"Враховуючи адресу ``addr`` сервера, захищеного SSL, у вигляді пари (*ім’я " +"хоста*, *номер порту*) отримує сертифікат сервера та повертає його як рядок, " +"закодований PEM. Якщо вказано ``ssl_version``, використовується ця версія " +"протоколу SSL для спроби підключитися до сервера. Якщо вказано ``ca_certs``, " +"це має бути файл, що містить список кореневих сертифікатів, у тому самому " +"форматі, який використовується для того самого параметра в :meth:`SSLContext." +"wrap_socket`. Виклик спробує перевірити сертифікат сервера на відповідність " +"цьому набору кореневих сертифікатів і завершиться невдачею, якщо спроба " +"перевірки не вдасться. Тайм-аут можна вказати за допомогою параметра " +"``timeout``." + +msgid "This function is now IPv6-compatible." +msgstr "Тепер ця функція сумісна з IPv6." + +msgid "" +"The default *ssl_version* is changed from :data:`PROTOCOL_SSLv3` to :data:" +"`PROTOCOL_TLS` for maximum compatibility with modern servers." +msgstr "" +"Стандартну *ssl_version* змінено з :data:`PROTOCOL_SSLv3` на :data:" +"`PROTOCOL_TLS` для максимальної сумісності з сучасними серверами." + +msgid "The *timeout* parameter was added." +msgstr "Додано параметр *timeout*." + +msgid "" +"Given a certificate as a DER-encoded blob of bytes, returns a PEM-encoded " +"string version of the same certificate." +msgstr "" +"Надано сертифікат як DER-кодований блок байтів, повертає PEM-кодовану " +"рядкову версію того самого сертифіката." + +msgid "" +"Given a certificate as an ASCII PEM string, returns a DER-encoded sequence " +"of bytes for that same certificate." +msgstr "" +"Надано сертифікат як рядок ASCII PEM, повертає закодовану DER послідовність " +"байтів для того самого сертифіката." + +msgid "" +"Returns a named tuple with paths to OpenSSL's default cafile and capath. The " +"paths are the same as used by :meth:`SSLContext.set_default_verify_paths`. " +"The return value is a :term:`named tuple` ``DefaultVerifyPaths``:" +msgstr "" +"Повертає іменований кортеж із шляхами до cafile і capath OpenSSL за " +"замовчуванням. Шляхи такі самі, як і :meth:`SSLContext." +"set_default_verify_paths`. Поверненим значенням є :term:`named tuple` " +"``DefaultVerifyPaths``:" + +msgid "" +":attr:`cafile` - resolved path to cafile or ``None`` if the file doesn't " +"exist," +msgstr "" +":attr:`cafile` - визначений шлях до cafile або ``None``, якщо файл не існує," + +msgid "" +":attr:`capath` - resolved path to capath or ``None`` if the directory " +"doesn't exist," +msgstr "" +":attr:`capath` - дозволений шлях до capath або ``None``, якщо каталог не " +"існує," + +msgid "" +":attr:`openssl_cafile_env` - OpenSSL's environment key that points to a " +"cafile," +msgstr "" +":attr:`openssl_cafile_env` - ключ середовища OpenSSL, який вказує на cafile," + +msgid ":attr:`openssl_cafile` - hard coded path to a cafile," +msgstr ":attr:`openssl_cafile` - жорстко закодований шлях до cafile," + +msgid "" +":attr:`openssl_capath_env` - OpenSSL's environment key that points to a " +"capath," +msgstr "" +":attr:`openssl_capath_env` - ключ середовища OpenSSL, який вказує на capath," + +msgid ":attr:`openssl_capath` - hard coded path to a capath directory" +msgstr ":attr:`openssl_capath` - жорстко закодований шлях до каталогу capath" + +msgid "" +"Retrieve certificates from Windows' system cert store. *store_name* may be " +"one of ``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert " +"stores, too." +msgstr "" +"Отримати сертифікати зі сховища сертифікатів системи Windows. *store_name* " +"може бути одним із ``CA``, ``ROOT`` або ``MY``. Windows також може надавати " +"додаткові сховища сертифікатів." + +msgid "" +"The function returns a list of (cert_bytes, encoding_type, trust) tuples. " +"The encoding_type specifies the encoding of cert_bytes. It is either :const:" +"`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 ASN.1 " +"data. Trust specifies the purpose of the certificate as a set of OIDS or " +"exactly ``True`` if the certificate is trustworthy for all purposes." +msgstr "" +"Функція повертає список кортежів (cert_bytes, encoding_type, trust). " +"Encoding_type визначає кодування cert_bytes. Це або :const:`x509_asn` для " +"даних X.509 ASN.1, або :const:`pkcs_7_asn` для даних PKCS#7 ASN.1. Trust " +"визначає призначення сертифіката як набір OIDS або точно ``True``, якщо " +"сертифікат є надійним для всіх цілей." + +msgid "Example::" +msgstr "Приклад::" + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"Retrieve CRLs from Windows' system cert store. *store_name* may be one of " +"``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert stores, too." +msgstr "" +"Отримати CRL із сховища системних сертифікатів Windows. *store_name* може " +"бути одним із ``CA``, ``ROOT`` або ``MY``. Windows також може надавати " +"додаткові сховища сертифікатів." + +msgid "" +"The function returns a list of (cert_bytes, encoding_type, trust) tuples. " +"The encoding_type specifies the encoding of cert_bytes. It is either :const:" +"`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 ASN.1 data." +msgstr "" +"Функція повертає список кортежів (cert_bytes, encoding_type, trust). " +"Encoding_type визначає кодування cert_bytes. Це або :const:`x509_asn` для " +"даних X.509 ASN.1, або :const:`pkcs_7_asn` для даних PKCS#7 ASN.1." + +msgid "" +"Takes an instance ``sock`` of :class:`socket.socket`, and returns an " +"instance of :class:`ssl.SSLSocket`, a subtype of :class:`socket.socket`, " +"which wraps the underlying socket in an SSL context. ``sock`` must be a :" +"data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." +msgstr "" +"Бере екземпляр ``sock`` :class:`socket.socket` і повертає екземпляр :class:" +"`ssl.SSLSocket`, підтип :class:`socket.socket`, який обертає основний сокет " +"у контекст SSL. ``sock`` має бути :data:`~socket.SOCK_STREAM` сокетом; інші " +"типи сокетів не підтримуються." + +msgid "" +"Internally, function creates a :class:`SSLContext` with protocol " +"*ssl_version* and :attr:`SSLContext.options` set to *cert_reqs*. If " +"parameters *keyfile*, *certfile*, *ca_certs* or *ciphers* are set, then the " +"values are passed to :meth:`SSLContext.load_cert_chain`, :meth:`SSLContext." +"load_verify_locations`, and :meth:`SSLContext.set_ciphers`." +msgstr "" +"Внутрішньо функція створює :class:`SSLContext` із протоколом *ssl_version* " +"і :attr:`SSSLContext.options` зі значенням *cert_reqs*. Якщо встановлено " +"параметри *keyfile*, *certfile*, *ca_certs* або *ciphers*, тоді значення " +"передаються до :meth:`SSLContext.load_cert_chain`, :meth:`SSLContext." +"load_verify_locations` і :meth:`SSLContext .set_ciphers`." + +msgid "" +"The arguments *server_side*, *do_handshake_on_connect*, and " +"*suppress_ragged_eofs* have the same meaning as :meth:`SSLContext." +"wrap_socket`." +msgstr "" +"Аргументи *server_side*, *do_handshake_on_connect* і *suppress_ragged_eofs* " +"мають те саме значення, що й :meth:`SSLContext.wrap_socket`." + +msgid "" +"Since Python 3.2 and 2.7.9, it is recommended to use the :meth:`SSLContext." +"wrap_socket` instead of :func:`wrap_socket`. The top-level function is " +"limited and creates an insecure client socket without server name indication " +"or hostname matching." +msgstr "" +"Починаючи з Python 3.2 і 2.7.9, рекомендується використовувати :meth:" +"`SSLContext.wrap_socket` замість :func:`wrap_socket`. Функція верхнього " +"рівня обмежена та створює незахищений клієнтський сокет без індикації імені " +"сервера або відповідності імені хоста." + +msgid "Constants" +msgstr "Константи" + +msgid "" +"All constants are now :class:`enum.IntEnum` or :class:`enum.IntFlag` " +"collections." +msgstr "" +"Усі константи тепер є колекціями :class:`enum.IntEnum` або :class:`enum." +"IntFlag`." + +msgid "" +"Possible value for :attr:`SSLContext.verify_mode`, or the ``cert_reqs`` " +"parameter to :func:`wrap_socket`. Except for :const:`PROTOCOL_TLS_CLIENT`, " +"it is the default mode. With client-side sockets, just about any cert is " +"accepted. Validation errors, such as untrusted or expired cert, are ignored " +"and do not abort the TLS/SSL handshake." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_mode` або параметра " +"``cert_reqs`` для :func:`wrap_socket`. За винятком :const:" +"`PROTOCOL_TLS_CLIENT`, це режим за замовчуванням. З сокетами на стороні " +"клієнта приймаються майже будь-які сертифікати. Помилки перевірки, такі як " +"ненадійний або прострочений сертифікат, ігноруються та не переривають " +"рукостискання TLS/SSL." + +msgid "" +"In server mode, no certificate is requested from the client, so the client " +"does not send any for client cert authentication." +msgstr "" +"У режимі сервера від клієнта не запитується сертифікат, тому клієнт не " +"надсилає жодного сертифіката для автентифікації клієнта." + +msgid "See the discussion of :ref:`ssl-security` below." +msgstr "Дивіться обговорення :ref:`ssl-security` нижче." + +msgid "" +"Possible value for :attr:`SSLContext.verify_mode`, or the ``cert_reqs`` " +"parameter to :func:`wrap_socket`. In client mode, :const:`CERT_OPTIONAL` " +"has the same meaning as :const:`CERT_REQUIRED`. It is recommended to use :" +"const:`CERT_REQUIRED` for client-side sockets instead." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_mode` або параметра " +"``cert_reqs`` для :func:`wrap_socket`. У режимі клієнта :const:" +"`CERT_OPTIONAL` має те саме значення, що і :const:`CERT_REQUIRED`. " +"Рекомендується використовувати :const:`CERT_REQUIRED` для клієнтських " +"сокетів." + +msgid "" +"In server mode, a client certificate request is sent to the client. The " +"client may either ignore the request or send a certificate in order perform " +"TLS client cert authentication. If the client chooses to send a " +"certificate, it is verified. Any verification error immediately aborts the " +"TLS handshake." +msgstr "" +"У режимі сервера клієнту надсилається запит на сертифікат клієнта. Клієнт " +"може або проігнорувати запит, або надіслати сертифікат, щоб виконати " +"автентифікацію клієнта за допомогою TLS. Якщо клієнт вирішує надіслати " +"сертифікат, він перевіряється. Будь-яка помилка перевірки негайно перериває " +"рукостискання TLS." + +msgid "" +"Use of this setting requires a valid set of CA certificates to be passed, " +"either to :meth:`SSLContext.load_verify_locations` or as a value of the " +"``ca_certs`` parameter to :func:`wrap_socket`." +msgstr "" +"Для використання цього параметра потрібен дійсний набір сертифікатів ЦС у :" +"meth:`SSLContext.load_verify_locations` або як значення параметра " +"``ca_certs`` у :func:`wrap_socket`." + +msgid "" +"Possible value for :attr:`SSLContext.verify_mode`, or the ``cert_reqs`` " +"parameter to :func:`wrap_socket`. In this mode, certificates are required " +"from the other side of the socket connection; an :class:`SSLError` will be " +"raised if no certificate is provided, or if its validation fails. This mode " +"is **not** sufficient to verify a certificate in client mode as it does not " +"match hostnames. :attr:`~SSLContext.check_hostname` must be enabled as well " +"to verify the authenticity of a cert. :const:`PROTOCOL_TLS_CLIENT` uses :" +"const:`CERT_REQUIRED` and enables :attr:`~SSLContext.check_hostname` by " +"default." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_mode` або параметра " +"``cert_reqs`` для :func:`wrap_socket`. У цьому режимі потрібні сертифікати з " +"іншого боку сокет-з’єднання; :class:`SSLError` буде викликано, якщо " +"сертифікат не надано, або якщо його перевірка не вдається. Цього режиму " +"**не** достатньо для перевірки сертифіката в режимі клієнта, оскільки він не " +"відповідає іменам хостів. :attr:`~SSLContext.check_hostname` також має бути " +"ввімкнено, щоб перевірити автентичність сертифіката. :const:" +"`PROTOCOL_TLS_CLIENT` використовує :const:`CERT_REQUIRED` і вмикає :attr:" +"`~SSLContext.check_hostname` за умовчанням." + +msgid "" +"With server socket, this mode provides mandatory TLS client cert " +"authentication. A client certificate request is sent to the client and the " +"client must provide a valid and trusted certificate." +msgstr "" +"З серверним сокетом цей режим забезпечує обов’язкову автентифікацію клієнта " +"за допомогою TLS. Запит на сертифікат клієнта надсилається клієнту, і клієнт " +"повинен надати дійсний і надійний сертифікат." + +msgid ":class:`enum.IntEnum` collection of CERT_* constants." +msgstr ":class:`enum.IntEnum` колекція констант CERT_*." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags`. In this mode, " +"certificate revocation lists (CRLs) are not checked. By default OpenSSL does " +"neither require nor verify CRLs." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags`. У цьому режимі списки " +"відкликаних сертифікатів (CRL) не перевіряються. За замовчуванням OpenSSL не " +"вимагає і не перевіряє CRL." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags`. In this mode, only the " +"peer cert is checked but none of the intermediate CA certificates. The mode " +"requires a valid CRL that is signed by the peer cert's issuer (its direct " +"ancestor CA). If no proper CRL has been loaded with :attr:`SSLContext." +"load_verify_locations`, validation will fail." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags`. У цьому режимі " +"перевіряється лише одноранговий сертифікат, але не перевіряються проміжні " +"сертифікати ЦС. Для режиму потрібен дійсний CRL, підписаний видавцем " +"однорангового сертифіката (його прямим предком CA). Якщо не було завантажено " +"відповідний CRL з :attr:`SSLContext.load_verify_locations`, перевірка не " +"вдасться." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags`. In this mode, CRLs of " +"all certificates in the peer cert chain are checked." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags`. У цьому режимі " +"перевіряються CRL усіх сертифікатів у ланцюжку однорангових сертифікатів." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags` to disable workarounds " +"for broken X.509 certificates." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags` для вимкнення обхідних " +"шляхів для пошкоджених сертифікатів X.509." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags` to enables proxy " +"certificate verification." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags` для ввімкнення " +"перевірки сертифіката проксі." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags`. It instructs OpenSSL to " +"prefer trusted certificates when building the trust chain to validate a " +"certificate. This flag is enabled by default." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags`. Він наказує OpenSSL " +"віддавати перевагу надійним сертифікатам під час побудови ланцюжка довіри " +"для перевірки сертифіката. Цей прапорець увімкнено за замовчуванням." + +msgid "" +"Possible value for :attr:`SSLContext.verify_flags`. It instructs OpenSSL to " +"accept intermediate CAs in the trust store to be treated as trust-anchors, " +"in the same way as the self-signed root CA certificates. This makes it " +"possible to trust certificates issued by an intermediate CA without having " +"to trust its ancestor root CA." +msgstr "" +"Можливе значення для :attr:`SSLContext.verify_flags`. Він наказує OpenSSL " +"приймати проміжні ЦС у довірчому сховищі, щоб вони розглядалися як прив’язки " +"довіри, так само, як і самопідписані кореневі сертифікати ЦС. Це дає змогу " +"довіряти сертифікатам, виданим проміжним ЦС, не довіряючи кореневому ЦС " +"предка." + +msgid ":class:`enum.IntFlag` collection of VERIFY_* constants." +msgstr ":class:`enum.IntFlag` колекція констант VERIFY_*." + +msgid "" +"Selects the highest protocol version that both the client and server " +"support. Despite the name, this option can select both \"SSL\" and \"TLS\" " +"protocols." +msgstr "" +"Вибирає найвищу версію протоколу, яку підтримують як клієнт, так і сервер. " +"Незважаючи на назву, ця опція може вибрати як протоколи \"SSL\", так і \"TLS" +"\"." + +msgid "" +"TLS clients and servers require different default settings for secure " +"communication. The generic TLS protocol constant is deprecated in favor of :" +"data:`PROTOCOL_TLS_CLIENT` and :data:`PROTOCOL_TLS_SERVER`." +msgstr "" +"Клієнтам і серверам TLS потрібні різні параметри за замовчуванням для " +"безпечного зв’язку. Загальна константа протоколу TLS застаріла на користь :" +"data:`PROTOCOL_TLS_CLIENT` і :data:`PROTOCOL_TLS_SERVER`." + +msgid "" +"Auto-negotiate the highest protocol version that both the client and server " +"support, and configure the context client-side connections. The protocol " +"enables :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` by " +"default." +msgstr "" +"Автоматичне узгодження найвищої версії протоколу, яку підтримують як клієнт, " +"так і сервер, і налаштування контекстних підключень на стороні клієнта. " +"Протокол вмикає :data:`CERT_REQUIRED` і :attr:`~SSSLContext.check_hostname` " +"за умовчанням." + +msgid "" +"Auto-negotiate the highest protocol version that both the client and server " +"support, and configure the context server-side connections." +msgstr "" +"Автоматичне узгодження найвищої версії протоколу, яку підтримують як клієнт, " +"так і сервер, і налаштування контекстних підключень на стороні сервера." + +msgid "Alias for :data:`PROTOCOL_TLS`." +msgstr "Псевдонім для :data:`PROTOCOL_TLS`." + +msgid "Use :data:`PROTOCOL_TLS` instead." +msgstr "Натомість використовуйте :data:`PROTOCOL_TLS`." + +msgid "Selects SSL version 2 as the channel encryption protocol." +msgstr "Вибирає SSL версії 2 як протокол шифрування каналу." + +msgid "" +"This protocol is not available if OpenSSL is compiled with the ``no-ssl2`` " +"option." +msgstr "" +"Цей протокол недоступний, якщо OpenSSL скомпільовано з опцією ``no-ssl2``." + +msgid "SSL version 2 is insecure. Its use is highly discouraged." +msgstr "SSL версії 2 небезпечний. Його використання вкрай не рекомендується." + +msgid "OpenSSL has removed support for SSLv2." +msgstr "OpenSSL припиняє підтримку SSLv2." + +msgid "Selects SSL version 3 as the channel encryption protocol." +msgstr "Вибирає SSL версії 3 як протокол шифрування каналу." + +msgid "" +"This protocol is not available if OpenSSL is compiled with the ``no-ssl3`` " +"option." +msgstr "" +"Цей протокол недоступний, якщо OpenSSL скомпільовано з опцією ``no-ssl3``." + +msgid "SSL version 3 is insecure. Its use is highly discouraged." +msgstr "SSL версії 3 небезпечний. Його використання вкрай не рекомендується." + +msgid "" +"OpenSSL has deprecated all version specific protocols. Use the default " +"protocol :data:`PROTOCOL_TLS_SERVER` or :data:`PROTOCOL_TLS_CLIENT` with :" +"attr:`SSLContext.minimum_version` and :attr:`SSLContext.maximum_version` " +"instead." +msgstr "" +"OpenSSL не підтримує всі протоколи для окремих версій. Замість цього " +"використовуйте протокол за замовчуванням :data:`PROTOCOL_TLS_SERVER` або :" +"data:`PROTOCOL_TLS_CLIENT` з :attr:`SSLContext.minimum_version` і :attr:" +"`SSLContext.maximum_version`." + +msgid "Selects TLS version 1.0 as the channel encryption protocol." +msgstr "Вибирає TLS версії 1.0 як протокол шифрування каналу." + +msgid "OpenSSL has deprecated all version specific protocols." +msgstr "OpenSSL не підтримує всі протоколи для окремих версій." + +msgid "" +"Selects TLS version 1.1 as the channel encryption protocol. Available only " +"with openssl version 1.0.1+." +msgstr "" +"Вибирає TLS версії 1.1 як протокол шифрування каналу. Доступно лише з " +"openssl версії 1.0.1+." + +msgid "" +"Selects TLS version 1.2 as the channel encryption protocol. Available only " +"with openssl version 1.0.1+." +msgstr "" +"Вибирає TLS версії 1.2 як протокол шифрування каналу. Доступно лише з " +"openssl версії 1.0.1+." + +msgid "" +"Enables workarounds for various bugs present in other SSL implementations. " +"This option is set by default. It does not necessarily set the same flags " +"as OpenSSL's ``SSL_OP_ALL`` constant." +msgstr "" +"Дозволяє обійти різні помилки, наявні в інших реалізаціях SSL. Ця опція " +"встановлена за замовчуванням. Він не обов’язково встановлює ті самі " +"позначки, що й константа ``SSL_OP_ALL`` OpenSSL." + +msgid "" +"Prevents an SSLv2 connection. This option is only applicable in conjunction " +"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv2 as " +"the protocol version." +msgstr "" +"Запобігає підключенню SSLv2. Цей параметр застосовний лише в поєднанні з :" +"const:`PROTOCOL_TLS`. Це запобігає вибору одноранговими вузлами SSLv2 як " +"версії протоколу." + +msgid "SSLv2 is deprecated" +msgstr "SSLv2 застарів" + +msgid "" +"Prevents an SSLv3 connection. This option is only applicable in conjunction " +"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv3 as " +"the protocol version." +msgstr "" +"Запобігає підключенню SSLv3. Цей параметр застосовний лише в поєднанні з :" +"const:`PROTOCOL_TLS`. Це запобігає вибору одноранговими вузлами SSLv3 як " +"версії протоколу." + +msgid "SSLv3 is deprecated" +msgstr "SSLv3 застарів" + +msgid "" +"Prevents a TLSv1 connection. This option is only applicable in conjunction " +"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1 as " +"the protocol version." +msgstr "" +"Запобігає підключенню TLSv1. Цей параметр застосовний лише в поєднанні з :" +"const:`PROTOCOL_TLS`. Це запобігає вибору партнерами TLSv1 як версії " +"протоколу." + +msgid "" +"The option is deprecated since OpenSSL 1.1.0, use the new :attr:`SSLContext." +"minimum_version` and :attr:`SSLContext.maximum_version` instead." +msgstr "" +"Опція застаріла з OpenSSL 1.1.0, замість неї використовуйте нові :attr:" +"`SSLContext.minimum_version` і :attr:`SSSLContext.maximum_version`." + +msgid "" +"Prevents a TLSv1.1 connection. This option is only applicable in conjunction " +"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.1 as " +"the protocol version. Available only with openssl version 1.0.1+." +msgstr "" +"Запобігає підключенню TLSv1.1. Цей параметр застосовний лише в поєднанні з :" +"const:`PROTOCOL_TLS`. Це запобігає вибору одноранговими вузлами TLSv1.1 як " +"версії протоколу. Доступно лише з openssl версії 1.0.1+." + +msgid "The option is deprecated since OpenSSL 1.1.0." +msgstr "Опція застаріла з OpenSSL 1.1.0." + +msgid "" +"Prevents a TLSv1.2 connection. This option is only applicable in conjunction " +"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.2 as " +"the protocol version. Available only with openssl version 1.0.1+." +msgstr "" +"Запобігає підключенню TLSv1.2. Цей параметр застосовний лише в поєднанні з :" +"const:`PROTOCOL_TLS`. Це запобігає вибору одноранговими вузлами TLSv1.2 як " +"версії протоколу. Доступно лише з openssl версії 1.0.1+." + +msgid "" +"Prevents a TLSv1.3 connection. This option is only applicable in conjunction " +"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.3 as " +"the protocol version. TLS 1.3 is available with OpenSSL 1.1.1 or later. When " +"Python has been compiled against an older version of OpenSSL, the flag " +"defaults to *0*." +msgstr "" +"Запобігає підключенню TLSv1.3. Цей параметр застосовний лише в поєднанні з :" +"const:`PROTOCOL_TLS`. Це запобігає вибору одноранговими вузлами TLSv1.3 як " +"версії протоколу. TLS 1.3 доступний з OpenSSL 1.1.1 або новішої версії. Якщо " +"Python скомпільовано зі старішою версією OpenSSL, прапорець за замовчуванням " +"має значення *0*." + +msgid "" +"The option is deprecated since OpenSSL 1.1.0. It was added to 2.7.15, 3.6.3 " +"and 3.7.0 for backwards compatibility with OpenSSL 1.0.2." +msgstr "" +"Опція застаріла з OpenSSL 1.1.0. Він був доданий до 2.7.15, 3.6.3 і 3.7.0 " +"для зворотної сумісності з OpenSSL 1.0.2." + +msgid "" +"Disable all renegotiation in TLSv1.2 and earlier. Do not send HelloRequest " +"messages, and ignore renegotiation requests via ClientHello." +msgstr "" +"Вимкніть усі повторні узгодження в TLSv1.2 і попередніх версіях. Не " +"надсилайте повідомлення HelloRequest і ігноруйте запити на повторне " +"узгодження через ClientHello." + +msgid "This option is only available with OpenSSL 1.1.0h and later." +msgstr "Ця опція доступна лише для OpenSSL 1.1.0h і пізніших версій." + +msgid "" +"Use the server's cipher ordering preference, rather than the client's. This " +"option has no effect on client sockets and SSLv2 server sockets." +msgstr "" +"Використовуйте параметри впорядкування шифрів сервера, а не клієнта. Цей " +"параметр не впливає на клієнтські сокети та серверні сокети SSLv2." + +msgid "" +"Prevents re-use of the same DH key for distinct SSL sessions. This improves " +"forward secrecy but requires more computational resources. This option only " +"applies to server sockets." +msgstr "" +"Запобігає повторному використанню того самого ключа DH для різних сеансів " +"SSL. Це покращує пряму секретність, але вимагає більше обчислювальних " +"ресурсів. Цей параметр стосується лише серверних сокетів." + +msgid "" +"Prevents re-use of the same ECDH key for distinct SSL sessions. This " +"improves forward secrecy but requires more computational resources. This " +"option only applies to server sockets." +msgstr "" +"Запобігає повторному використанню того самого ключа ECDH для різних сеансів " +"SSL. Це покращує пряму секретність, але вимагає більше обчислювальних " +"ресурсів. Цей параметр стосується лише серверних сокетів." + +msgid "" +"Send dummy Change Cipher Spec (CCS) messages in TLS 1.3 handshake to make a " +"TLS 1.3 connection look more like a TLS 1.2 connection." +msgstr "" +"Надсилайте фіктивні повідомлення про зміну шифру (CCS) у рукостисканні TLS " +"1.3, щоб зробити з’єднання TLS 1.3 більш схожим на з’єднання TLS 1.2." + +msgid "This option is only available with OpenSSL 1.1.1 and later." +msgstr "Ця опція доступна лише з OpenSSL 1.1.1 і новіших версій." + +msgid "" +"Disable compression on the SSL channel. This is useful if the application " +"protocol supports its own compression scheme." +msgstr "" +"Вимкніть стиснення на каналі SSL. Це корисно, якщо протокол програми " +"підтримує власну схему стиснення." + +msgid ":class:`enum.IntFlag` collection of OP_* constants." +msgstr ":class:`enum.IntFlag` колекція констант OP_*." + +msgid "Prevent client side from requesting a session ticket." +msgstr "Заборонити стороні клієнта запитувати квиток сеансу." + +msgid "Ignore unexpected shutdown of TLS connections." +msgstr "Ігноруйте несподіване завершення з’єднань TLS." + +msgid "This option is only available with OpenSSL 3.0.0 and later." +msgstr "Цей параметр доступний лише з OpenSSL 3.0.0 і пізніших версій." + +msgid "" +"Whether the OpenSSL library has built-in support for the *Application-Layer " +"Protocol Negotiation* TLS extension as described in :rfc:`7301`." +msgstr "" +"Чи має бібліотека OpenSSL вбудовану підтримку розширення TLS *Application-" +"Layer Protocol Negotiation*, як описано в :rfc:`7301`." + +msgid "" +"Whether the OpenSSL library has built-in support not checking subject common " +"name and :attr:`SSLContext.hostname_checks_common_name` is writeable." +msgstr "" +"Чи має бібліотека OpenSSL вбудовану підтримку, яка не перевіряє загальне " +"ім’я суб’єкта та :attr:`SSLContext.hostname_checks_common_name`, доступний " +"для запису." + +msgid "" +"Whether the OpenSSL library has built-in support for the Elliptic Curve-" +"based Diffie-Hellman key exchange. This should be true unless the feature " +"was explicitly disabled by the distributor." +msgstr "" +"Чи має бібліотека OpenSSL вбудовану підтримку для обміну ключами Діффі-" +"Хеллмана на основі еліптичної кривої. Це має бути правдою, якщо цю функцію " +"явно не вимкнув розповсюджувач." + +msgid "" +"Whether the OpenSSL library has built-in support for the *Server Name " +"Indication* extension (as defined in :rfc:`6066`)." +msgstr "" +"Чи має бібліотека OpenSSL вбудовану підтримку розширення *Індикація імені " +"сервера* (як визначено в :rfc:`6066`)." + +msgid "" +"Whether the OpenSSL library has built-in support for the *Next Protocol " +"Negotiation* as described in the `Application Layer Protocol Negotiation " +"`_. " +"When true, you can use the :meth:`SSLContext.set_npn_protocols` method to " +"advertise which protocols you want to support." +msgstr "" +"Чи має бібліотека OpenSSL вбудовану підтримку *Узгодження наступного " +"протоколу*, як описано в розділі `Узгодження протоколу прикладного рівня " +"`_. " +"Якщо значення true, ви можете використовувати метод :meth:`SSLContext." +"set_npn_protocols`, щоб повідомити, які протоколи ви хочете підтримувати." + +msgid "" +"Whether the OpenSSL library has built-in support for the SSL 2.0 protocol." +msgstr "Чи бібліотека OpenSSL має вбудовану підтримку протоколу SSL 2.0." + +msgid "" +"Whether the OpenSSL library has built-in support for the SSL 3.0 protocol." +msgstr "Чи має бібліотека OpenSSL вбудовану підтримку протоколу SSL 3.0." + +msgid "" +"Whether the OpenSSL library has built-in support for the TLS 1.0 protocol." +msgstr "Чи бібліотека OpenSSL має вбудовану підтримку протоколу TLS 1.0." + +msgid "" +"Whether the OpenSSL library has built-in support for the TLS 1.1 protocol." +msgstr "Чи має бібліотека OpenSSL вбудовану підтримку протоколу TLS 1.1." + +msgid "" +"Whether the OpenSSL library has built-in support for the TLS 1.2 protocol." +msgstr "Чи бібліотека OpenSSL має вбудовану підтримку протоколу TLS 1.2." + +msgid "" +"Whether the OpenSSL library has built-in support for the TLS 1.3 protocol." +msgstr "Чи має бібліотека OpenSSL вбудовану підтримку протоколу TLS 1.3." + +msgid "" +"List of supported TLS channel binding types. Strings in this list can be " +"used as arguments to :meth:`SSLSocket.get_channel_binding`." +msgstr "" +"Список підтримуваних типів прив’язки каналу TLS. Рядки в цьому списку можна " +"використовувати як аргументи для :meth:`SSLSocket.get_channel_binding`." + +msgid "The version string of the OpenSSL library loaded by the interpreter::" +msgstr "Рядок версії бібліотеки OpenSSL, завантажений інтерпретатором::" + +msgid "" +"A tuple of five integers representing version information about the OpenSSL " +"library::" +msgstr "" +"Кортеж із п’яти цілих чисел, що представляє інформацію про версію бібліотеки " +"OpenSSL::" + +msgid "The raw version number of the OpenSSL library, as a single integer::" +msgstr "" +"Необроблений номер версії бібліотеки OpenSSL у вигляді одного цілого числа::" + +msgid "" +"Alert Descriptions from :rfc:`5246` and others. The `IANA TLS Alert Registry " +"`_ contains this list and references to the RFCs where their " +"meaning is defined." +msgstr "" +"Описи сповіщень від :rfc:`5246` та інших. `Реєстр сповіщень IANA TLS " +"`_ містить цей список і посилання на RFC, де визначено їх " +"значення." + +msgid "" +"Used as the return value of the callback function in :meth:`SSLContext." +"set_servername_callback`." +msgstr "" +"Використовується як значення, що повертається функцією зворотного виклику в :" +"meth:`SSLContext.set_servername_callback`." + +msgid ":class:`enum.IntEnum` collection of ALERT_DESCRIPTION_* constants." +msgstr ":class:`enum.IntEnum` колекція констант ALERT_DESCRIPTION_*." + +msgid "" +"Option for :func:`create_default_context` and :meth:`SSLContext." +"load_default_certs`. This value indicates that the context may be used to " +"authenticate web servers (therefore, it will be used to create client-side " +"sockets)." +msgstr "" +"Опція для :func:`create_default_context` і :meth:`SSLContext." +"load_default_certs`. Це значення вказує на те, що контекст можна " +"використовувати для автентифікації веб-серверів (отже, він " +"використовуватиметься для створення сокетів на стороні клієнта)." + +msgid "" +"Option for :func:`create_default_context` and :meth:`SSLContext." +"load_default_certs`. This value indicates that the context may be used to " +"authenticate web clients (therefore, it will be used to create server-side " +"sockets)." +msgstr "" +"Опція для :func:`create_default_context` і :meth:`SSLContext." +"load_default_certs`. Це значення вказує на те, що контекст можна " +"використовувати для автентифікації веб-клієнтів (отже, він " +"використовуватиметься для створення сокетів на стороні сервера)." + +msgid ":class:`enum.IntEnum` collection of SSL_ERROR_* constants." +msgstr ":class:`enum.IntEnum` колекція констант SSL_ERROR_*." + +msgid "" +":class:`enum.IntEnum` collection of SSL and TLS versions for :attr:" +"`SSLContext.maximum_version` and :attr:`SSLContext.minimum_version`." +msgstr "" +":class:`enum.IntEnum` колекція версій SSL і TLS для :attr:`SSLContext." +"maximum_version` і :attr:`SSLContext.minimum_version`." + +msgid "" +"The minimum or maximum supported SSL or TLS version. These are magic " +"constants. Their values don't reflect the lowest and highest available TLS/" +"SSL versions." +msgstr "" +"Мінімальна або максимальна підтримувана версія SSL або TLS. Це магічні " +"константи. Їх значення не відображають найнижчу та найвищу доступні версії " +"TLS/SSL." + +msgid "SSL 3.0 to TLS 1.3." +msgstr "SSL 3.0 до TLS 1.3." + +msgid "" +"All :class:`TLSVersion` members except :attr:`TLSVersion.TLSv1_2` and :attr:" +"`TLSVersion.TLSv1_3` are deprecated." +msgstr "" +"Усі члени :class:`TLSVersion`, крім :attr:`TLSVersion.TLSv1_2` і :attr:" +"`TLSVersion.TLSv1_3`, застаріли." + +msgid "SSL Sockets" +msgstr "SSL-сокети" + +msgid "SSL sockets provide the following methods of :ref:`socket-objects`:" +msgstr "SSL-сокети надають такі методи :ref:`socket-objects`:" + +msgid ":meth:`~socket.socket.accept()`" +msgstr ":meth:`~socket.socket.accept()`" + +msgid ":meth:`~socket.socket.bind()`" +msgstr ":meth:`~socket.socket.bind()`" + +msgid ":meth:`~socket.socket.close()`" +msgstr ":meth:`~socket.socket.close()`" + +msgid ":meth:`~socket.socket.connect()`" +msgstr ":meth:`~socket.socket.connect()`" + +msgid ":meth:`~socket.socket.detach()`" +msgstr ":meth:`~socket.socket.detach()`" + +msgid ":meth:`~socket.socket.fileno()`" +msgstr ":meth:`~socket.socket.fileno()`" + +msgid "" +":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" +msgstr "" +":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" + +msgid "" +":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" +msgstr "" +":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" + +msgid "" +":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" +"meth:`~socket.socket.setblocking()`" +msgstr "" +":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" +"meth:`~socket.socket.setblocking()`" + +msgid ":meth:`~socket.socket.listen()`" +msgstr ":meth:`~socket.socket.listen()`" + +msgid ":meth:`~socket.socket.makefile()`" +msgstr ":meth:`~socket.socket.makefile()`" + +msgid "" +":meth:`~socket.socket.recv()`, :meth:`~socket.socket.recv_into()` (but " +"passing a non-zero ``flags`` argument is not allowed)" +msgstr "" +":meth:`~socket.socket.recv()`, :meth:`~socket.socket.recv_into()` (але " +"передача ненульового аргументу ``flags`` заборонена)" + +msgid "" +":meth:`~socket.socket.send()`, :meth:`~socket.socket.sendall()` (with the " +"same limitation)" +msgstr "" +":meth:`~socket.socket.send()`, :meth:`~socket.socket.sendall()` (з тим самим " +"обмеженням)" + +msgid "" +":meth:`~socket.socket.sendfile()` (but :mod:`os.sendfile` will be used for " +"plain-text sockets only, else :meth:`~socket.socket.send()` will be used)" +msgstr "" +":meth:`~socket.socket.sendfile()` (але :mod:`os.sendfile` " +"використовуватиметься лише для простих текстових сокетів, інакше " +"використовуватиметься :meth:`~socket.socket.send()` )" + +msgid ":meth:`~socket.socket.shutdown()`" +msgstr ":meth:`~socket.socket.shutdown()`" + +msgid "" +"However, since the SSL (and TLS) protocol has its own framing atop of TCP, " +"the SSL sockets abstraction can, in certain respects, diverge from the " +"specification of normal, OS-level sockets. See especially the :ref:`notes " +"on non-blocking sockets `." +msgstr "" +"Однак, оскільки протокол SSL (і TLS) має власне фреймування поверх TCP, " +"абстракція сокетів SSL може в певних аспектах відрізнятися від специфікації " +"звичайних сокетів рівня ОС. Особливо дивіться :ref:`примітки щодо " +"неблокуючих сокетів `." + +msgid "" +"Instances of :class:`SSLSocket` must be created using the :meth:`SSLContext." +"wrap_socket` method." +msgstr "" +"Примірники :class:`SSLSocket` повинні бути створені за допомогою методу :" +"meth:`SSSLContext.wrap_socket`." + +msgid "The :meth:`sendfile` method was added." +msgstr "Додано метод :meth:`sendfile`." + +msgid "" +"The :meth:`shutdown` does not reset the socket timeout each time bytes are " +"received or sent. The socket timeout is now to maximum total duration of the " +"shutdown." +msgstr "" +":meth:`shutdown` не скидає тайм-аут сокета кожного разу, коли байти " +"надходять або надсилаються. Час очікування сокета тепер становить " +"максимальну загальну тривалість вимкнення." + +msgid "" +"It is deprecated to create a :class:`SSLSocket` instance directly, use :meth:" +"`SSLContext.wrap_socket` to wrap a socket." +msgstr "" +"Безпосереднє створення екземпляра :class:`SSLSocket` є застарілим, " +"використовуйте :meth:`SSSLContext.wrap_socket` для упаковки сокета." + +msgid "" +":class:`SSLSocket` instances must to created with :meth:`~SSLContext." +"wrap_socket`. In earlier versions, it was possible to create instances " +"directly. This was never documented or officially supported." +msgstr "" +":class:`SSLSocket` екземпляри повинні бути створені за допомогою :meth:" +"`~SSSLContext.wrap_socket`. У попередніх версіях можна було створювати " +"екземпляри безпосередньо. Це ніколи не було задокументовано чи офіційно " +"підтверджено." + +msgid "" +"Python now uses ``SSL_read_ex`` and ``SSL_write_ex`` internally. The " +"functions support reading and writing of data larger than 2 GB. Writing zero-" +"length data no longer fails with a protocol violation error." +msgstr "" +"Тепер Python внутрішньо використовує ``SSL_read_ex`` і ``SSL_write_ex``. " +"Функції підтримують читання та запис даних розміром понад 2 ГБ. Запис даних " +"нульової довжини більше не завершується помилкою порушення протоколу." + +msgid "SSL sockets also have the following additional methods and attributes:" +msgstr "SSL-сокети також мають такі додаткові методи та атрибути:" + +msgid "" +"Read up to *len* bytes of data from the SSL socket and return the result as " +"a ``bytes`` instance. If *buffer* is specified, then read into the buffer " +"instead, and return the number of bytes read." +msgstr "" +"Читайте до *len* байтів даних із SSL-сокета та повертайте результат як " +"екземпляр ``bytes``. Якщо вказано *buffer*, то замість цього зчитується в " +"буфер і повертається кількість прочитаних байтів." + +msgid "" +"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" +"ref:`non-blocking ` and the read would block." +msgstr "" +"Викликайте :exc:`SSLWantReadError` або :exc:`SSLWantWriteError`, якщо сокет :" +"ref:`неблокує `, і читання буде заблоковано." + +msgid "" +"As at any time a re-negotiation is possible, a call to :meth:`read` can also " +"cause write operations." +msgstr "" +"Оскільки в будь-який час можливе повторне узгодження, виклик :meth:`read` " +"також може викликати операції запису." + +msgid "" +"The socket timeout is no more reset each time bytes are received or sent. " +"The socket timeout is now to maximum total duration to read up to *len* " +"bytes." +msgstr "" +"Тайм-аут сокета більше не скидається щоразу, коли байти надходять або " +"надсилаються. Час очікування сокета тепер становить максимальну загальну " +"тривалість для читання до *len* байтів." + +msgid "Use :meth:`~SSLSocket.recv` instead of :meth:`~SSLSocket.read`." +msgstr "" +"Використовуйте :meth:`~SSLSocket.recv` замість :meth:`~SSLSocket.read`." + +msgid "" +"Write *buf* to the SSL socket and return the number of bytes written. The " +"*buf* argument must be an object supporting the buffer interface." +msgstr "" +"Запишіть *buf* у SSL-сокет і поверніть кількість записаних байтів. Аргумент " +"*buf* має бути об’єктом, що підтримує інтерфейс буфера." + +msgid "" +"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" +"ref:`non-blocking ` and the write would block." +msgstr "" +"Викликайте :exc:`SSLWantReadError` або :exc:`SSLWantWriteError`, якщо сокет :" +"ref:`неблокує `, і запис буде заблоковано." + +msgid "" +"As at any time a re-negotiation is possible, a call to :meth:`write` can " +"also cause read operations." +msgstr "" +"Оскільки в будь-який час можливе повторне узгодження, виклик :meth:`write` " +"також може викликати операції читання." + +msgid "" +"The socket timeout is no more reset each time bytes are received or sent. " +"The socket timeout is now to maximum total duration to write *buf*." +msgstr "" +"Тайм-аут сокета більше не скидається щоразу, коли байти надходять або " +"надсилаються. Час очікування сокета тепер досяг максимальної загальної " +"тривалості для запису *buf*." + +msgid "Use :meth:`~SSLSocket.send` instead of :meth:`~SSLSocket.write`." +msgstr "" +"Використовуйте :meth:`~SSLSocket.send` замість :meth:`~SSLSocket.write`." + +msgid "" +"The :meth:`~SSLSocket.read` and :meth:`~SSLSocket.write` methods are the low-" +"level methods that read and write unencrypted, application-level data and " +"decrypt/encrypt it to encrypted, wire-level data. These methods require an " +"active SSL connection, i.e. the handshake was completed and :meth:`SSLSocket." +"unwrap` was not called." +msgstr "" +"Методи :meth:`~SSLSocket.read` і :meth:`~SSLSocket.write` є низькорівневими " +"методами, які читають і записують незашифровані дані на рівні програми та " +"розшифровують/шифрують їх у зашифровані дані на рівні проводів. Для цих " +"методів потрібне активне з’єднання SSL, тобто рукостискання завершено і :" +"meth:`SSLSocket.unwrap` не викликано." + +msgid "" +"Normally you should use the socket API methods like :meth:`~socket.socket." +"recv` and :meth:`~socket.socket.send` instead of these methods." +msgstr "" +"Зазвичай замість цих методів слід використовувати такі методи API сокетів, " +"як :meth:`~socket.socket.recv` і :meth:`~socket.socket.send`." + +msgid "Perform the SSL setup handshake." +msgstr "Виконайте рукостискання налаштування SSL." + +msgid "" +"The handshake method also performs :func:`match_hostname` when the :attr:" +"`~SSLContext.check_hostname` attribute of the socket's :attr:`~SSLSocket." +"context` is true." +msgstr "" +"Метод рукостискання також виконує :func:`match_hostname`, якщо атрибут :attr:" +"`~SSLContext.check_hostname` :attr:`~SSLSocket.context` сокета має значення " +"true." + +msgid "" +"The socket timeout is no more reset each time bytes are received or sent. " +"The socket timeout is now to maximum total duration of the handshake." +msgstr "" +"Тайм-аут сокета більше не скидається щоразу, коли байти надходять або " +"надсилаються. Час очікування сокета тепер становить максимальну загальну " +"тривалість рукостискання." + +msgid "" +"Hostname or IP address is matched by OpenSSL during handshake. The function :" +"func:`match_hostname` is no longer used. In case OpenSSL refuses a hostname " +"or IP address, the handshake is aborted early and a TLS alert message is " +"send to the peer." +msgstr "" +"Ім’я хоста або IP-адреса збігається з OpenSSL під час рукостискання. " +"Функція :func:`match_hostname` більше не використовується. Якщо OpenSSL " +"відмовляється надати ім’я хоста чи IP-адресу, рукостискання припиняється " +"достроково, а однорангові надсилається попереджувальне повідомлення TLS." + +msgid "" +"If there is no certificate for the peer on the other end of the connection, " +"return ``None``. If the SSL handshake hasn't been done yet, raise :exc:" +"`ValueError`." +msgstr "" +"Якщо немає сертифіката для вузла на іншому кінці з’єднання, поверніть " +"``None``. Якщо SSL-рукостискання ще не виконано, підніміть :exc:`ValueError`." + +msgid "" +"If the ``binary_form`` parameter is :const:`False`, and a certificate was " +"received from the peer, this method returns a :class:`dict` instance. If " +"the certificate was not validated, the dict is empty. If the certificate " +"was validated, it returns a dict with several keys, amongst them ``subject`` " +"(the principal for which the certificate was issued) and ``issuer`` (the " +"principal issuing the certificate). If a certificate contains an instance " +"of the *Subject Alternative Name* extension (see :rfc:`3280`), there will " +"also be a ``subjectAltName`` key in the dictionary." +msgstr "" +"Якщо параметр ``binary_form`` має значення :const:`False`, а сертифікат " +"отримано від однорангового пристрою, цей метод повертає екземпляр :class:" +"`dict`. Якщо сертифікат не підтверджено, dict порожній. Якщо сертифікат " +"перевірено, він повертає dict із кількома ключами, серед яких ``subject`` " +"(принципал, для якого видано сертифікат) і ``issuer`` (принципал, який видає " +"сертифікат). Якщо сертифікат містить примірник розширення *Subject " +"Alternative Name* (див. :rfc:`3280`), у словнику також буде ключ " +"``subjectAltName``." + +msgid "" +"The ``subject`` and ``issuer`` fields are tuples containing the sequence of " +"relative distinguished names (RDNs) given in the certificate's data " +"structure for the respective fields, and each RDN is a sequence of name-" +"value pairs. Here is a real-world example::" +msgstr "" +"Поля ``subject`` і ``issuer`` — це кортежі, що містять послідовність " +"відносних розрізняючих імен (RDN), наведених у структурі даних сертифіката " +"для відповідних полів, і кожен RDN є послідовністю пар ім’я-значення. Ось " +"реальний приклад:" + +msgid "" +"To validate a certificate for a particular service, you can use the :func:" +"`match_hostname` function." +msgstr "" +"Щоб перевірити сертифікат для певної служби, ви можете скористатися " +"функцією :func:`match_hostname`." + +msgid "" +"If the ``binary_form`` parameter is :const:`True`, and a certificate was " +"provided, this method returns the DER-encoded form of the entire certificate " +"as a sequence of bytes, or :const:`None` if the peer did not provide a " +"certificate. Whether the peer provides a certificate depends on the SSL " +"socket's role:" +msgstr "" +"Якщо параметр ``binary_form`` має значення :const:`True` і надано " +"сертифікат, цей метод повертає закодовану DER форму всього сертифіката у " +"вигляді послідовності байтів або :const:`None`, якщо одноранговий сертифікат " +"не надав. Чи надає партнер сертифікат, залежить від ролі SSL-сокета:" + +msgid "" +"for a client SSL socket, the server will always provide a certificate, " +"regardless of whether validation was required;" +msgstr "" +"для клієнтського SSL-сокета сервер завжди надаватиме сертифікат, незалежно " +"від того, чи була потрібна перевірка;" + +msgid "" +"for a server SSL socket, the client will only provide a certificate when " +"requested by the server; therefore :meth:`getpeercert` will return :const:" +"`None` if you used :const:`CERT_NONE` (rather than :const:`CERT_OPTIONAL` " +"or :const:`CERT_REQUIRED`)." +msgstr "" +"для серверного SSL-сокета клієнт надасть сертифікат лише за запитом сервера; " +"тому :meth:`getpeercert` поверне :const:`None`, якщо ви використали :const:" +"`CERT_NONE` (а не :const:`CERT_OPTIONAL` або :const:`CERT_REQUIRED`)." + +msgid "" +"The returned dictionary includes additional items such as ``issuer`` and " +"``notBefore``." +msgstr "" +"Повернений словник містить додаткові елементи, такі як ``issuer`` і " +"``notBefore``." + +msgid "" +":exc:`ValueError` is raised when the handshake isn't done. The returned " +"dictionary includes additional X509v3 extension items such as " +"``crlDistributionPoints``, ``caIssuers`` and ``OCSP`` URIs." +msgstr "" +":exc:`ValueError` виникає, коли рукостискання не виконано. Повернений " +"словник містить додаткові елементи розширення X509v3, такі як " +"``crlDistributionPoints``, ``caIssuers`` і ``OCSP`` URI." + +msgid "IPv6 address strings no longer have a trailing new line." +msgstr "Рядки адрес IPv6 більше не мають кінцевого нового рядка." + +msgid "" +"Returns a three-value tuple containing the name of the cipher being used, " +"the version of the SSL protocol that defines its use, and the number of " +"secret bits being used. If no connection has been established, returns " +"``None``." +msgstr "" +"Повертає кортеж із трьох значень, що містить назву шифру, який " +"використовується, версію протоколу SSL, яка визначає його використання, і " +"кількість секретних бітів, які використовуються. Якщо з’єднання не " +"встановлено, повертає ``None``." + +msgid "" +"Return the list of ciphers shared by the client during the handshake. Each " +"entry of the returned list is a three-value tuple containing the name of the " +"cipher, the version of the SSL protocol that defines its use, and the number " +"of secret bits the cipher uses. :meth:`~SSLSocket.shared_ciphers` returns " +"``None`` if no connection has been established or the socket is a client " +"socket." +msgstr "" +"Повертає список шифрів, наданих клієнтом під час рукостискання. Кожен запис " +"повернутого списку є кортежем із трьох значень, що містить назву шифру, " +"версію протоколу SSL, яка визначає його використання, і кількість секретних " +"бітів, які використовує шифр. :meth:`~SSLSocket.shared_ciphers` повертає " +"``None``, якщо з’єднання не встановлено або сокет є клієнтським." + +msgid "" +"Return the compression algorithm being used as a string, or ``None`` if the " +"connection isn't compressed." +msgstr "" +"Повертає використаний алгоритм стиснення у вигляді рядка або ``None``, якщо " +"з'єднання не стиснуте." + +msgid "" +"If the higher-level protocol supports its own compression mechanism, you can " +"use :data:`OP_NO_COMPRESSION` to disable SSL-level compression." +msgstr "" +"Якщо протокол вищого рівня підтримує власний механізм стиснення, ви можете " +"використовувати :data:`OP_NO_COMPRESSION`, щоб вимкнути стиснення на рівні " +"SSL." + +msgid "" +"Get channel binding data for current connection, as a bytes object. Returns " +"``None`` if not connected or the handshake has not been completed." +msgstr "" +"Отримайте дані прив’язки каналу для поточного з’єднання як об’єкт bytes. " +"Повертає ``None``, якщо немає підключення або рукостискання не було " +"завершено." + +msgid "" +"The *cb_type* parameter allow selection of the desired channel binding type. " +"Valid channel binding types are listed in the :data:`CHANNEL_BINDING_TYPES` " +"list. Currently only the 'tls-unique' channel binding, defined by :rfc:" +"`5929`, is supported. :exc:`ValueError` will be raised if an unsupported " +"channel binding type is requested." +msgstr "" +"Параметр *cb_type* дозволяє вибрати потрібний тип прив’язки каналу. Дійсні " +"типи зв’язування каналів наведено в списку :data:`CHANNEL_BINDING_TYPES`. " +"Наразі підтримується лише прив’язка каналу \"tls-unique\", визначена :rfc:" +"`5929`. :exc:`ValueError` буде викликано, якщо запитується непідтримуваний " +"тип прив’язки каналу." + +msgid "" +"Return the protocol that was selected during the TLS handshake. If :meth:" +"`SSLContext.set_alpn_protocols` was not called, if the other party does not " +"support ALPN, if this socket does not support any of the client's proposed " +"protocols, or if the handshake has not happened yet, ``None`` is returned." +msgstr "" +"Повернути протокол, вибраний під час рукостискання TLS. Якщо :meth:" +"`SSLContext.set_alpn_protocols` не було викликано, якщо інша сторона не " +"підтримує ALPN, якщо цей сокет не підтримує жодного із запропонованих " +"клієнтом протоколів або якщо рукостискання ще не відбулося, ``None`` буде " +"повернувся." + +msgid "" +"Return the higher-level protocol that was selected during the TLS/SSL " +"handshake. If :meth:`SSLContext.set_npn_protocols` was not called, or if the " +"other party does not support NPN, or if the handshake has not yet happened, " +"this will return ``None``." +msgstr "" +"Повернути протокол вищого рівня, вибраний під час рукостискання TLS/SSL. " +"Якщо :meth:`SSLContext.set_npn_protocols` не було викликано, або якщо інша " +"сторона не підтримує NPN, або якщо рукостискання ще не відбулося, це поверне " +"``None``." + +msgid "NPN has been superseded by ALPN" +msgstr "NPN було замінено на ALPN" + +msgid "" +"Performs the SSL shutdown handshake, which removes the TLS layer from the " +"underlying socket, and returns the underlying socket object. This can be " +"used to go from encrypted operation over a connection to unencrypted. The " +"returned socket should always be used for further communication with the " +"other side of the connection, rather than the original socket." +msgstr "" +"Виконує рукостискання завершення роботи SSL, яке видаляє рівень TLS із " +"базового сокета та повертає базовий об’єкт сокета. Це можна використовувати " +"для переходу від зашифрованої операції через з’єднання до незашифрованої. " +"Повернений сокет завжди слід використовувати для подальшого зв’язку з іншою " +"стороною з’єднання, а не оригінальний сокет." + +msgid "" +"Requests post-handshake authentication (PHA) from a TLS 1.3 client. PHA can " +"only be initiated for a TLS 1.3 connection from a server-side socket, after " +"the initial TLS handshake and with PHA enabled on both sides, see :attr:" +"`SSLContext.post_handshake_auth`." +msgstr "" +"Запитує автентифікацію після рукостискання (PHA) від клієнта TLS 1.3. PHA " +"можна ініціювати лише для з’єднання TLS 1.3 із сокета на стороні сервера " +"після початкового рукостискання TLS і з увімкненим PHA з обох сторін, див. :" +"attr:`SSLContext.post_handshake_auth`." + +msgid "" +"The method does not perform a cert exchange immediately. The server-side " +"sends a CertificateRequest during the next write event and expects the " +"client to respond with a certificate on the next read event." +msgstr "" +"Метод не виконує обмін сертифікатами негайно. Сторона сервера надсилає " +"CertificateRequest під час наступної події запису та очікує, що клієнт " +"відповість сертифікатом під час наступної події читання." + +msgid "" +"If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), an :exc:" +"`SSLError` is raised." +msgstr "" +"Якщо будь-яка передумова не виконується (наприклад, не TLS 1.3, PHA не " +"ввімкнено), виникає :exc:`SSLError`." + +msgid "" +"Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " +"support, the method raises :exc:`NotImplementedError`." +msgstr "" +"Доступно лише з увімкненими OpenSSL 1.1.1 і TLS 1.3. Без підтримки TLS 1.3 " +"метод викликає :exc:`NotImplementedError`." + +msgid "" +"Return the actual SSL protocol version negotiated by the connection as a " +"string, or ``None`` if no secure connection is established. As of this " +"writing, possible return values include ``\"SSLv2\"``, ``\"SSLv3\"``, ``" +"\"TLSv1\"``, ``\"TLSv1.1\"`` and ``\"TLSv1.2\"``. Recent OpenSSL versions " +"may define more return values." +msgstr "" +"Повертає фактичну версію протоколу SSL, узгоджену з’єднанням, у вигляді " +"рядка або \"Немає\", якщо безпечне з’єднання не встановлено. На момент " +"написання цієї статті можливі значення, що повертаються, включають ``" +"\"SSLv2\"``, ``\"SSLv3\"``, ``\"TLSv1\"``, ``\"TLSv1.1\"`` і ``" +"\"TLSv1.2\"``. Останні версії OpenSSL можуть визначати більше значень, що " +"повертаються." + +msgid "" +"Returns the number of already decrypted bytes available for read, pending on " +"the connection." +msgstr "" +"Повертає кількість уже розшифрованих байтів, доступних для читання, які " +"очікують підключення." + +msgid "" +"The :class:`SSLContext` object this SSL socket is tied to. If the SSL " +"socket was created using the deprecated :func:`wrap_socket` function (rather " +"than :meth:`SSLContext.wrap_socket`), this is a custom context object " +"created for this SSL socket." +msgstr "" +"Об’єкт :class:`SSLContext`, до якого прив’язаний цей SSL-сокет. Якщо SSL-" +"сокет було створено за допомогою застарілої функції :func:`wrap_socket` (а " +"не :meth:`SSSLContext.wrap_socket`), це спеціальний контекстний об’єкт, " +"створений для цього SSL-сокета." + +msgid "" +"A boolean which is ``True`` for server-side sockets and ``False`` for client-" +"side sockets." +msgstr "" +"Логічне значення, яке має значення ``True`` для сокетів на стороні сервера " +"та ``False`` для сокетів на стороні клієнта." + +msgid "" +"Hostname of the server: :class:`str` type, or ``None`` for server-side " +"socket or if the hostname was not specified in the constructor." +msgstr "" +"Ім’я хоста сервера: тип :class:`str` або ``None`` для серверного сокета або " +"якщо ім’я хосту не було вказано в конструкторі." + +msgid "" +"The attribute is now always ASCII text. When ``server_hostname`` is an " +"internationalized domain name (IDN), this attribute now stores the A-label " +"form (``\"xn--pythn-mua.org\"``), rather than the U-label form (``\"pythön." +"org\"``)." +msgstr "" +"Тепер атрибут завжди є текстом ASCII. Якщо ``server_hostname`` є " +"інтернаціоналізованим доменним іменем (IDN), цей атрибут тепер зберігає " +"форму A-мітки (``\"xn--pythn-mua.org\"``), а не форму U-мітки (``\"pythön.org" +"\"``)." + +msgid "" +"The :class:`SSLSession` for this SSL connection. The session is available " +"for client and server side sockets after the TLS handshake has been " +"performed. For client sockets the session can be set before :meth:" +"`~SSLSocket.do_handshake` has been called to reuse a session." +msgstr "" +":class:`SSLSession` для цього з’єднання SSL. Сеанс доступний для сокетів на " +"стороні клієнта та сервера після того, як було виконано рукостискання TLS. " +"Для клієнтських сокетів сеанс можна встановити до виклику :meth:`~SSLSocket." +"do_handshake` для повторного використання сеансу." + +msgid "SSL Contexts" +msgstr "Контексти SSL" + +msgid "" +"An SSL context holds various data longer-lived than single SSL connections, " +"such as SSL configuration options, certificate(s) and private key(s). It " +"also manages a cache of SSL sessions for server-side sockets, in order to " +"speed up repeated connections from the same clients." +msgstr "" +"Контекст SSL зберігає різноманітні дані, які живуть довше, ніж окремі " +"з’єднання SSL, наприклад параметри конфігурації SSL, сертифікат(и) і " +"закритий ключ(и). Він також керує кеш-пам’яттю сеансів SSL для сокетів на " +"стороні сервера, щоб пришвидшити повторювані підключення від тих самих " +"клієнтів." + +msgid "" +"Create a new SSL context. You may pass *protocol* which must be one of the " +"``PROTOCOL_*`` constants defined in this module. The parameter specifies " +"which version of the SSL protocol to use. Typically, the server chooses a " +"particular protocol version, and the client must adapt to the server's " +"choice. Most of the versions are not interoperable with the other " +"versions. If not specified, the default is :data:`PROTOCOL_TLS`; it " +"provides the most compatibility with other versions." +msgstr "" +"Створіть новий контекст SSL. Ви можете передати *протокол*, який має бути " +"однією з констант ``PROTOCOL_*``, визначених у цьому модулі. Параметр " +"визначає, яку версію протоколу SSL використовувати. Як правило, сервер " +"вибирає певну версію протоколу, а клієнт повинен адаптуватися до вибору " +"сервера. Більшість версій не сумісні з іншими версіями. Якщо не вказано, " +"типовим є :data:`PROTOCOL_TLS`; він забезпечує найбільшу сумісність з іншими " +"версіями." + +msgid "" +"Here's a table showing which versions in a client (down the side) can " +"connect to which versions in a server (along the top):" +msgstr "" +"Ось таблиця, яка показує, які версії клієнта (збоку) можуть підключатися до " +"яких версій на сервері (вгорі):" + +msgid "*client* / **server**" +msgstr "*клієнт* / **сервер**" + +msgid "**SSLv2**" +msgstr "**SSLv2**" + +msgid "**SSLv3**" +msgstr "**SSLv3**" + +msgid "**TLS** [3]_" +msgstr "**TLS** [3]_" + +msgid "**TLSv1**" +msgstr "**TLSv1**" + +msgid "**TLSv1.1**" +msgstr "**TLSv1.1**" + +msgid "**TLSv1.2**" +msgstr "**TLSv1.2**" + +msgid "*SSLv2*" +msgstr "*SSLv2*" + +msgid "yes" +msgstr "так" + +msgid "no" +msgstr "ні" + +msgid "no [1]_" +msgstr "ні [1]_" + +msgid "*SSLv3*" +msgstr "*SSLv3*" + +msgid "no [2]_" +msgstr "ні [2]_" + +msgid "*TLS* (*SSLv23*) [3]_" +msgstr "*TLS* (*SSLv23*) [3]_" + +msgid "*TLSv1*" +msgstr "*TLSv1*" + +msgid "*TLSv1.1*" +msgstr "*TLSv1.1*" + +msgid "*TLSv1.2*" +msgstr "*TLSv1.2*" + +msgid "Footnotes" +msgstr "Виноски" + +msgid ":class:`SSLContext` disables SSLv2 with :data:`OP_NO_SSLv2` by default." +msgstr "" +":class:`SSLContext` вимикає SSLv2 за допомогою :data:`OP_NO_SSLv2` за " +"замовчуванням." + +msgid ":class:`SSLContext` disables SSLv3 with :data:`OP_NO_SSLv3` by default." +msgstr "" +":class:`SSLContext` вимикає SSLv3 за допомогою :data:`OP_NO_SSLv3` за " +"замовчуванням." + +msgid "" +"TLS 1.3 protocol will be available with :data:`PROTOCOL_TLS` in OpenSSL >= " +"1.1.1. There is no dedicated PROTOCOL constant for just TLS 1.3." +msgstr "" +"Протокол TLS 1.3 буде доступний із :data:`PROTOCOL_TLS` у OpenSSL >= 1.1.1. " +"Немає виділеної константи PROTOCOL лише для TLS 1.3." + +msgid "" +":func:`create_default_context` lets the :mod:`ssl` module choose security " +"settings for a given purpose." +msgstr "" +":func:`create_default_context` дозволяє модулю :mod:`ssl` вибрати параметри " +"безпеки для певної мети." + +msgid "" +"The context is created with secure default values. The options :data:" +"`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:" +"`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2` (except " +"for :data:`PROTOCOL_SSLv2`), and :data:`OP_NO_SSLv3` (except for :data:" +"`PROTOCOL_SSLv3`) are set by default. The initial cipher suite list contains " +"only ``HIGH`` ciphers, no ``NULL`` ciphers and no ``MD5`` ciphers (except " +"for :data:`PROTOCOL_SSLv2`)." +msgstr "" +"Контекст створюється із безпечними значеннями за замовчуванням. Параметри :" +"data:`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:" +"`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2` (крім :" +"data:`PROTOCOL_SSLv2`) і :data:`OP_NO_SSLv3` (крім :data:`PROTOCOL_SSLv3`) " +"встановлено за замовчуванням. Початковий список набору шифрів містить лише " +"шифри ``HIGH``, шифри ``NULL`` і шифри ``MD5`` (крім :data:`PROTOCOL_SSLv2`)." + +msgid "" +":class:`SSLContext` without protocol argument is deprecated. The context " +"class will either require :data:`PROTOCOL_TLS_CLIENT` or :data:" +"`PROTOCOL_TLS_SERVER` protocol in the future." +msgstr "" +":class:`SSLContext` без аргументу протоколу застаріло. У майбутньому клас " +"контексту потребуватиме протоколу :data:`PROTOCOL_TLS_CLIENT` або :data:" +"`PROTOCOL_TLS_SERVER`." + +msgid "" +"The default cipher suites now include only secure AES and ChaCha20 ciphers " +"with forward secrecy and security level 2. RSA and DH keys with less than " +"2048 bits and ECC keys with less than 224 bits are prohibited. :data:" +"`PROTOCOL_TLS`, :data:`PROTOCOL_TLS_CLIENT`, and :data:`PROTOCOL_TLS_SERVER` " +"use TLS 1.2 as minimum TLS version." +msgstr "" +"Набір шифрів за замовчуванням тепер включає лише захищені шифри AES і " +"ChaCha20 із прямою секретністю та рівнем безпеки 2. Ключі RSA та DH із менш " +"ніж 2048 бітами та ключі ECC із менш ніж 224 бітами заборонені. :data:" +"`PROTOCOL_TLS`, :data:`PROTOCOL_TLS_CLIENT` і :data:`PROTOCOL_TLS_SERVER` " +"використовують TLS 1.2 як мінімальну версію TLS." + +msgid ":class:`SSLContext` objects have the following methods and attributes:" +msgstr ":class:`SSLContext` об’єкти мають такі методи та атрибути:" + +msgid "" +"Get statistics about quantities of loaded X.509 certificates, count of X.509 " +"certificates flagged as CA certificates and certificate revocation lists as " +"dictionary." +msgstr "" +"Отримайте статистичні дані про кількість завантажених сертифікатів X.509, " +"кількість сертифікатів X.509, позначених як сертифікати ЦС, і списки " +"відкликаних сертифікатів як словник." + +msgid "Example for a context with one CA cert and one other cert::" +msgstr "" +"Приклад для контексту з одним сертифікатом CA та одним іншим сертифікатом::" + +msgid "" +"Load a private key and the corresponding certificate. The *certfile* string " +"must be the path to a single file in PEM format containing the certificate " +"as well as any number of CA certificates needed to establish the " +"certificate's authenticity. The *keyfile* string, if present, must point to " +"a file containing the private key. Otherwise the private key will be taken " +"from *certfile* as well. See the discussion of :ref:`ssl-certificates` for " +"more information on how the certificate is stored in the *certfile*." +msgstr "" +"Завантажте закритий ключ і відповідний сертифікат. Рядок *certfile* має бути " +"шляхом до одного файлу у форматі PEM, що містить сертифікат, а також будь-" +"яку кількість сертифікатів ЦС, необхідних для встановлення автентичності " +"сертифіката. Рядок *keyfile*, якщо він присутній, має вказувати на файл, що " +"містить закритий ключ. Інакше закритий ключ також буде взято з *certfile*. " +"Перегляньте обговорення :ref:`ssl-certificates` для отримання додаткової " +"інформації про те, як сертифікат зберігається у *certfile*." + +msgid "" +"The *password* argument may be a function to call to get the password for " +"decrypting the private key. It will only be called if the private key is " +"encrypted and a password is necessary. It will be called with no arguments, " +"and it should return a string, bytes, or bytearray. If the return value is " +"a string it will be encoded as UTF-8 before using it to decrypt the key. " +"Alternatively a string, bytes, or bytearray value may be supplied directly " +"as the *password* argument. It will be ignored if the private key is not " +"encrypted and no password is needed." +msgstr "" +"Аргумент *password* може бути функцією для виклику, щоб отримати пароль для " +"розшифровки закритого ключа. Він буде викликаний, лише якщо закритий ключ " +"зашифрований і потрібен пароль. Він буде викликаний без аргументів і повинен " +"повернути рядок, байти або масив байтів. Якщо значення, що повертається, є " +"рядком, воно буде закодовано як UTF-8 перед використанням для розшифровки " +"ключа. Крім того, значення рядка, байтів або масиву байтів можна надати " +"безпосередньо як аргумент *пароль*. Він буде проігнорований, якщо закритий " +"ключ не зашифрований і пароль не потрібен." + +msgid "" +"If the *password* argument is not specified and a password is required, " +"OpenSSL's built-in password prompting mechanism will be used to " +"interactively prompt the user for a password." +msgstr "" +"Якщо аргумент *password* не вказано, а пароль потрібен, вбудований механізм " +"підказки пароля OpenSSL буде використано для інтерактивного запиту " +"користувача пароля." + +msgid "" +"An :class:`SSLError` is raised if the private key doesn't match with the " +"certificate." +msgstr "" +":class:`SSLError` виникає, якщо закритий ключ не збігається з сертифікатом." + +msgid "New optional argument *password*." +msgstr "Новий необов'язковий аргумент *пароль*." + +msgid "" +"Load a set of default \"certification authority\" (CA) certificates from " +"default locations. On Windows it loads CA certs from the ``CA`` and ``ROOT`` " +"system stores. On all systems it calls :meth:`SSLContext." +"set_default_verify_paths`. In the future the method may load CA certificates " +"from other locations, too." +msgstr "" +"Завантажте набір стандартних сертифікатів \"центру сертифікації\" (CA) із " +"стандартних розташувань. У Windows він завантажує сертифікати ЦС із " +"системних сховищ ``CA`` і ``ROOT``. У всіх системах він викликає :meth:" +"`SSLContext.set_default_verify_paths`. У майбутньому цей метод може також " +"завантажувати сертифікати ЦС з інших місць." + +msgid "" +"The *purpose* flag specifies what kind of CA certificates are loaded. The " +"default settings :data:`Purpose.SERVER_AUTH` loads certificates, that are " +"flagged and trusted for TLS web server authentication (client side " +"sockets). :data:`Purpose.CLIENT_AUTH` loads CA certificates for client " +"certificate verification on the server side." +msgstr "" +"Прапор *purpose* визначає тип сертифікатів ЦС, які завантажуються. Параметри " +"за замовчуванням :data:`Purpose.SERVER_AUTH` завантажують сертифікати, які " +"позначено та є довіреними для автентифікації веб-сервера TLS (сокети на " +"стороні клієнта). :data:`Purpose.CLIENT_AUTH` завантажує сертифікати ЦС для " +"перевірки сертифікатів клієнта на стороні сервера." + +msgid "" +"Load a set of \"certification authority\" (CA) certificates used to validate " +"other peers' certificates when :data:`verify_mode` is other than :data:" +"`CERT_NONE`. At least one of *cafile* or *capath* must be specified." +msgstr "" +"Завантажте набір сертифікатів \"центру сертифікації\" (CA), які " +"використовуються для перевірки сертифікатів інших вузлів, якщо :data:" +"`verify_mode` відрізняється від :data:`CERT_NONE`. Потрібно вказати " +"принаймні один із *cafile* або *capath*." + +msgid "" +"This method can also load certification revocation lists (CRLs) in PEM or " +"DER format. In order to make use of CRLs, :attr:`SSLContext.verify_flags` " +"must be configured properly." +msgstr "" +"Цей метод також може завантажувати списки відкликаних сертифікатів (CRL) у " +"форматі PEM або DER. Щоб використовувати CRL, :attr:`SSLContext." +"verify_flags` має бути правильно налаштовано." + +msgid "" +"The *cafile* string, if present, is the path to a file of concatenated CA " +"certificates in PEM format. See the discussion of :ref:`ssl-certificates` " +"for more information about how to arrange the certificates in this file." +msgstr "" +"Рядок *cafile*, якщо він присутній, є шляхом до файлу об’єднаних " +"сертифікатів ЦС у форматі PEM. Перегляньте обговорення :ref:`ssl-" +"certificates` для отримання додаткової інформації про те, як упорядкувати " +"сертифікати в цьому файлі." + +msgid "" +"The *capath* string, if present, is the path to a directory containing " +"several CA certificates in PEM format, following an `OpenSSL specific layout " +"`_." +msgstr "" +"Рядок *capath*, якщо він присутній, є шляхом до каталогу, що містить кілька " +"сертифікатів ЦС у форматі PEM, відповідно до `спеціального макета OpenSSL " +"`_." + +msgid "" +"The *cadata* object, if present, is either an ASCII string of one or more " +"PEM-encoded certificates or a :term:`bytes-like object` of DER-encoded " +"certificates. Like with *capath* extra lines around PEM-encoded certificates " +"are ignored but at least one certificate must be present." +msgstr "" +"Об’єкт *cadata*, якщо він присутній, є рядком ASCII одного чи кількох " +"сертифікатів у кодуванні PEM або :term:`bytes-like object` сертифікатів у " +"кодуванні DER. Подібно до *capath* додаткові рядки навколо PEM-кодованих " +"сертифікатів ігноруються, але принаймні один сертифікат має бути присутнім." + +msgid "New optional argument *cadata*" +msgstr "Новий необов'язковий аргумент *cadata*" + +msgid "" +"Get a list of loaded \"certification authority\" (CA) certificates. If the " +"``binary_form`` parameter is :const:`False` each list entry is a dict like " +"the output of :meth:`SSLSocket.getpeercert`. Otherwise the method returns a " +"list of DER-encoded certificates. The returned list does not contain " +"certificates from *capath* unless a certificate was requested and loaded by " +"a SSL connection." +msgstr "" +"Отримайте список завантажених сертифікатів \"центру сертифікації\" (CA). " +"Якщо параметр ``binary_form`` має значення :const:`False`, кожен запис у " +"списку є диктофоном, подібним до результату :meth:`SSLSocket.getpeercert`. В " +"іншому випадку метод повертає список сертифікатів, закодованих DER. " +"Повернений список не містить сертифікатів від *capath*, якщо тільки " +"сертифікат не було запитано та завантажено через підключення SSL." + +msgid "" +"Certificates in a capath directory aren't loaded unless they have been used " +"at least once." +msgstr "" +"Сертифікати в каталозі capath не завантажуються, якщо вони не були " +"використані принаймні один раз." + +msgid "" +"Get a list of enabled ciphers. The list is in order of cipher priority. See :" +"meth:`SSLContext.set_ciphers`." +msgstr "" +"Отримайте список увімкнених шифрів. Список розташований у порядку пріоритету " +"шифру. Перегляньте :meth:`SSLContext.set_ciphers`." + +msgid "" +"Load a set of default \"certification authority\" (CA) certificates from a " +"filesystem path defined when building the OpenSSL library. Unfortunately, " +"there's no easy way to know whether this method succeeds: no error is " +"returned if no certificates are to be found. When the OpenSSL library is " +"provided as part of the operating system, though, it is likely to be " +"configured properly." +msgstr "" +"Завантажте набір стандартних сертифікатів \"центру сертифікації\" (CA) із " +"шляху файлової системи, визначеного під час створення бібліотеки OpenSSL. На " +"жаль, немає простого способу дізнатися, чи цей метод успішний: помилка не " +"повертається, якщо сертифікати не знайдені. Однак, коли бібліотека OpenSSL " +"надається як частина операційної системи, вона, швидше за все, буде " +"налаштована належним чином." + +msgid "" +"Set the available ciphers for sockets created with this context. It should " +"be a string in the `OpenSSL cipher list format `_. If no cipher can be selected (because " +"compile-time options or other configuration forbids use of all the specified " +"ciphers), an :class:`SSLError` will be raised." +msgstr "" +"Встановіть доступні шифри для сокетів, створених із цим контекстом. Це має " +"бути рядок у `форматі списку шифрів OpenSSL `_. Якщо жоден шифр не може бути обраний " +"(оскільки параметри під час компіляції чи інша конфігурація забороняють " +"використовувати всі вказані шифри), буде викликано :class:`SSLError`." + +msgid "" +"when connected, the :meth:`SSLSocket.cipher` method of SSL sockets will give " +"the currently selected cipher." +msgstr "" +"під час підключення метод :meth:`SSLSocket.cipher` для сокетів SSL дасть " +"поточний вибраний шифр." + +msgid "" +"TLS 1.3 cipher suites cannot be disabled with :meth:`~SSLContext." +"set_ciphers`." +msgstr "" +"Набори шифрів TLS 1.3 не можна вимкнути за допомогою :meth:`~SSLContext." +"set_ciphers`." + +msgid "" +"Specify which protocols the socket should advertise during the SSL/TLS " +"handshake. It should be a list of ASCII strings, like ``['http/1.1', " +"'spdy/2']``, ordered by preference. The selection of a protocol will happen " +"during the handshake, and will play out according to :rfc:`7301`. After a " +"successful handshake, the :meth:`SSLSocket.selected_alpn_protocol` method " +"will return the agreed-upon protocol." +msgstr "" +"Укажіть, які протоколи має сповіщати сокет під час рукостискання SSL/TLS. Це " +"має бути список рядків ASCII, наприклад ``['http/1.1', 'spdy/2']``, " +"упорядкованих за перевагами. Вибір протоколу відбуватиметься під час " +"рукостискання та відтворюватиметься відповідно до :rfc:`7301`. Після " +"успішного рукостискання метод :meth:`SSLSocket.selected_alpn_protocol` " +"поверне узгоджений протокол." + +msgid "" +"This method will raise :exc:`NotImplementedError` if :data:`HAS_ALPN` is " +"``False``." +msgstr "" +"Цей метод викличе :exc:`NotImplementedError`, якщо :data:`HAS_ALPN` має " +"значення ``False``." + +msgid "" +"Specify which protocols the socket should advertise during the SSL/TLS " +"handshake. It should be a list of strings, like ``['http/1.1', 'spdy/2']``, " +"ordered by preference. The selection of a protocol will happen during the " +"handshake, and will play out according to the `Application Layer Protocol " +"Negotiation `_. After a successful handshake, the :meth:" +"`SSLSocket.selected_npn_protocol` method will return the agreed-upon " +"protocol." +msgstr "" +"Укажіть, які протоколи має сповіщати сокет під час рукостискання SSL/TLS. Це " +"має бути список рядків, наприклад ``['http/1.1', 'spdy/2']``, упорядкованих " +"за перевагами. Вибір протоколу відбуватиметься під час рукостискання та " +"відтворюватиметься відповідно до `Узгодження протоколу прикладного рівня " +"`_. " +"Після успішного рукостискання метод :meth:`SSLSocket.selected_npn_protocol` " +"поверне узгоджений протокол." + +msgid "" +"This method will raise :exc:`NotImplementedError` if :data:`HAS_NPN` is " +"``False``." +msgstr "" +"Цей метод викличе :exc:`NotImplementedError`, якщо :data:`HAS_NPN` має " +"значення ``False``." + +msgid "" +"Register a callback function that will be called after the TLS Client Hello " +"handshake message has been received by the SSL/TLS server when the TLS " +"client specifies a server name indication. The server name indication " +"mechanism is specified in :rfc:`6066` section 3 - Server Name Indication." +msgstr "" +"Зареєструйте функцію зворотного виклику, яка буде викликана після отримання " +"повідомлення рукостискання TLS Client Hello сервером SSL/TLS, коли клієнт " +"TLS вказує вказівку імені сервера. Механізм індикації імені сервера вказано " +"в :rfc:`6066` розділі 3 - Індикація імені сервера." + +msgid "" +"Only one callback can be set per ``SSLContext``. If *sni_callback* is set " +"to ``None`` then the callback is disabled. Calling this function a " +"subsequent time will disable the previously registered callback." +msgstr "" +"Для кожного SSLContext можна встановити лише один зворотний виклик. Якщо " +"*sni_callback* встановлено на ``None``, тоді зворотний виклик вимкнено. " +"Наступний виклик цієї функції вимкне попередньо зареєстрований зворотний " +"виклик." + +msgid "" +"The callback function will be called with three arguments; the first being " +"the :class:`ssl.SSLSocket`, the second is a string that represents the " +"server name that the client is intending to communicate (or :const:`None` if " +"the TLS Client Hello does not contain a server name) and the third argument " +"is the original :class:`SSLContext`. The server name argument is text. For " +"internationalized domain name, the server name is an IDN A-label (``\"xn--" +"pythn-mua.org\"``)." +msgstr "" +"Функція зворотного виклику буде викликана з трьома аргументами; перший — це :" +"class:`ssl.SSLSocket`, другий — це рядок, який представляє ім’я сервера, з " +"яким клієнт має намір зв’язатися (або :const:`None`, якщо TLS Client Hello " +"не містить імені сервера) а третій аргумент — вихідний :class:`SSLContext`. " +"Аргументом імені сервера є текст. Для інтернаціоналізованого доменного імені " +"ім’я сервера є міткою IDN A (``\"xn--pythn-mua.org\"``)." + +msgid "" +"A typical use of this callback is to change the :class:`ssl.SSLSocket`'s :" +"attr:`SSLSocket.context` attribute to a new object of type :class:" +"`SSLContext` representing a certificate chain that matches the server name." +msgstr "" +"Типовим використанням цього зворотного виклику є зміна атрибута :attr:" +"`SSLSocket.context` :class:`ssl.SSLSocket` на новий об’єкт типу :class:" +"`SSLContext`, який представляє ланцюжок сертифікатів, який відповідає імені " +"сервера ." + +msgid "" +"Due to the early negotiation phase of the TLS connection, only limited " +"methods and attributes are usable like :meth:`SSLSocket." +"selected_alpn_protocol` and :attr:`SSLSocket.context`. The :meth:`SSLSocket." +"getpeercert`, :meth:`SSLSocket.cipher` and :meth:`SSLSocket.compression` " +"methods require that the TLS connection has progressed beyond the TLS Client " +"Hello and therefore will not return meaningful values nor can they be called " +"safely." +msgstr "" +"Через ранню фазу узгодження TLS-з’єднання можна використовувати лише " +"обмежені методи та атрибути, наприклад :meth:`SSLSocket." +"selected_alpn_protocol` і :attr:`SSLSocket.context`. Методи :meth:`SSLSocket." +"getpeercert`, :meth:`SSLSocket.cipher` і :meth:`SSLSocket.compression` " +"вимагають, щоб TLS-з’єднання просунулося за межі TLS Client Hello, тому не " +"повертають значущих значень і не можуть викликати безпечно." + +msgid "" +"The *sni_callback* function must return ``None`` to allow the TLS " +"negotiation to continue. If a TLS failure is required, a constant :const:" +"`ALERT_DESCRIPTION_* ` can be returned. " +"Other return values will result in a TLS fatal error with :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR`." +msgstr "" +"Функція *sni_callback* має повертати ``None``, щоб узгодження TLS " +"продовжилося. Якщо потрібна помилка TLS, можна повернути константу :const:" +"`ALERT_DESCRIPTION_* `. Інші значення, що " +"повертаються, призведуть до фатальної помилки TLS із :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR`." + +msgid "" +"If an exception is raised from the *sni_callback* function the TLS " +"connection will terminate with a fatal TLS alert message :const:" +"`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." +msgstr "" +"Якщо функція *sni_callback* викликає виняток, TLS-з’єднання буде розірвано з " +"небезпечним TLS-повідомленням :const:`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." + +msgid "" +"This method will raise :exc:`NotImplementedError` if the OpenSSL library had " +"OPENSSL_NO_TLSEXT defined when it was built." +msgstr "" +"Цей метод викличе :exc:`NotImplementedError`, якщо під час створення " +"бібліотеки OpenSSL було визначено OPENSSL_NO_TLSEXT." + +msgid "" +"This is a legacy API retained for backwards compatibility. When possible, " +"you should use :attr:`sni_callback` instead. The given " +"*server_name_callback* is similar to *sni_callback*, except that when the " +"server hostname is an IDN-encoded internationalized domain name, the " +"*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." +msgstr "" +"Це застарілий API, збережений для зворотної сумісності. Якщо можливо, " +"замість цього слід використовувати :attr:`sni_callback`. Наданий " +"*server_name_callback* подібний до *sni_callback*, за винятком того, що коли " +"ім’я хосту сервера є інтернаціоналізованим доменним ім’ям із кодуванням IDN, " +"*server_name_callback* отримує декодовану U-мітку (``\"pythön.org\"``)." + +msgid "" +"If there is an decoding error on the server name, the TLS connection will " +"terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " +"message to the client." +msgstr "" +"Якщо в імені сервера є помилка декодування, TLS-з’єднання буде розірвано з " +"повідомленням TLS-сповіщення клієнта :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR`." + +msgid "" +"Load the key generation parameters for Diffie-Hellman (DH) key exchange. " +"Using DH key exchange improves forward secrecy at the expense of " +"computational resources (both on the server and on the client). The *dhfile* " +"parameter should be the path to a file containing DH parameters in PEM " +"format." +msgstr "" +"Завантажте параметри генерації ключів для обміну ключами Діффі-Хеллмана " +"(DH). Використання обміну ключами DH покращує пряму секретність за рахунок " +"обчислювальних ресурсів (як на сервері, так і на клієнті). Параметр *dhfile* " +"має бути шляхом до файлу, що містить параметри DH у форматі PEM." + +msgid "" +"This setting doesn't apply to client sockets. You can also use the :data:" +"`OP_SINGLE_DH_USE` option to further improve security." +msgstr "" +"Цей параметр не застосовується до клієнтських сокетів. Ви також можете " +"використовувати параметр :data:`OP_SINGLE_DH_USE` для подальшого покращення " +"безпеки." + +msgid "" +"Set the curve name for Elliptic Curve-based Diffie-Hellman (ECDH) key " +"exchange. ECDH is significantly faster than regular DH while arguably as " +"secure. The *curve_name* parameter should be a string describing a well-" +"known elliptic curve, for example ``prime256v1`` for a widely supported " +"curve." +msgstr "" +"Встановіть назву кривої для обміну ключами Діффі-Хеллмана (ECDH) на основі " +"еліптичної кривої. ECDH значно швидший, ніж звичайний DH, але, можливо, " +"такий же безпечний. Параметр *curve_name* має бути рядком, що описує добре " +"відому еліптичну криву, наприклад ``prime256v1`` для широко підтримуваної " +"кривої." + +msgid "" +"This setting doesn't apply to client sockets. You can also use the :data:" +"`OP_SINGLE_ECDH_USE` option to further improve security." +msgstr "" +"Цей параметр не застосовується до клієнтських сокетів. Ви також можете " +"використовувати опцію :data:`OP_SINGLE_ECDH_USE` для подальшого покращення " +"безпеки." + +msgid "This method is not available if :data:`HAS_ECDH` is ``False``." +msgstr "Цей метод недоступний, якщо :data:`HAS_ECDH` має значення ``False``." + +msgid "" +"`SSL/TLS & Perfect Forward Secrecy `_" +msgstr "" +"`SSL/TLS & Perfect Forward Secrecy `_" + +msgid "Vincent Bernat." +msgstr "Вінсент Бернат." + +msgid "" +"Wrap an existing Python socket *sock* and return an instance of :attr:" +"`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The returned SSL " +"socket is tied to the context, its settings and certificates. *sock* must be " +"a :data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." +msgstr "" +"Оберніть існуючий сокет Python *sock* і поверніть екземпляр :attr:" +"`SSSLContext.sslsocket_class` (за замовчуванням :class:`SSLSocket`). " +"Повернений сокет SSL прив’язаний до контексту, його налаштувань і " +"сертифікатів. *sock* має бути сокетом :data:`~socket.SOCK_STREAM`; інші типи " +"сокетів не підтримуються." + +msgid "" +"The parameter ``server_side`` is a boolean which identifies whether server-" +"side or client-side behavior is desired from this socket." +msgstr "" +"Параметр ``server_side`` є логічним значенням, яке визначає, яка поведінка " +"для цього сокета – серверна чи клієнтська." + +msgid "" +"For client-side sockets, the context construction is lazy; if the underlying " +"socket isn't connected yet, the context construction will be performed " +"after :meth:`connect` is called on the socket. For server-side sockets, if " +"the socket has no remote peer, it is assumed to be a listening socket, and " +"the server-side SSL wrapping is automatically performed on client " +"connections accepted via the :meth:`accept` method. The method may raise :" +"exc:`SSLError`." +msgstr "" +"Для сокетів на стороні клієнта конструкція контексту є ледачою; якщо " +"основний сокет ще не підключено, конструкція контексту буде виконана після " +"виклику :meth:`connect` для сокета. Для сокетів на стороні сервера, якщо " +"сокет не має віддаленого однорангового пристрою, він вважається сокетом, що " +"прослуховує, і обернення SSL на стороні сервера автоматично виконується для " +"підключень клієнта, прийнятих через метод :meth:`accept`. Метод може " +"викликати :exc:`SSLError`." + +msgid "" +"On client connections, the optional parameter *server_hostname* specifies " +"the hostname of the service which we are connecting to. This allows a " +"single server to host multiple SSL-based services with distinct " +"certificates, quite similarly to HTTP virtual hosts. Specifying " +"*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." +msgstr "" +"У клієнтських з’єднаннях необов’язковий параметр *server_hostname* визначає " +"ім’я хоста служби, до якої ми під’єднуємося. Це дозволяє одному серверу " +"розміщувати кілька служб на основі SSL з окремими сертифікатами, подібно до " +"віртуальних хостів HTTP. Якщо вказати *server_hostname*, виникне :exc:" +"`ValueError`, якщо *server_side* має значення true." + +msgid "" +"The parameter ``do_handshake_on_connect`` specifies whether to do the SSL " +"handshake automatically after doing a :meth:`socket.connect`, or whether the " +"application program will call it explicitly, by invoking the :meth:" +"`SSLSocket.do_handshake` method. Calling :meth:`SSLSocket.do_handshake` " +"explicitly gives the program control over the blocking behavior of the " +"socket I/O involved in the handshake." +msgstr "" +"Параметр ``do_handshake_on_connect`` визначає, чи виконувати SSL-" +"рукостискання автоматично після виконання :meth:`socket.connect`, чи " +"прикладна програма викличе його явно, викликаючи метод :meth:`SSLSocket." +"do_handshake`. Виклик :meth:`SSLSocket.do_handshake` явно дає програмі " +"контроль над поведінкою блокування вводу-виводу сокета, залученого до " +"рукостискання." + +msgid "" +"The parameter ``suppress_ragged_eofs`` specifies how the :meth:`SSLSocket." +"recv` method should signal unexpected EOF from the other end of the " +"connection. If specified as :const:`True` (the default), it returns a " +"normal EOF (an empty bytes object) in response to unexpected EOF errors " +"raised from the underlying socket; if :const:`False`, it will raise the " +"exceptions back to the caller." +msgstr "" +"Параметр ``suppress_ragged_eofs`` визначає, як метод :meth:`SSLSocket.recv` " +"повинен сигналізувати про неочікуваний EOF з іншого боку з’єднання. Якщо " +"вказано як :const:`True` (за замовчуванням), він повертає звичайний EOF " +"(порожній об’єкт байтів) у відповідь на неочікувані помилки EOF, викликані " +"базовим сокетом; якщо :const:`False`, винятки повертаються до абонента." + +msgid "*session*, see :attr:`~SSLSocket.session`." +msgstr "*сеанс*, див. :attr:`~SSLSocket.session`." + +msgid "" +"Always allow a server_hostname to be passed, even if OpenSSL does not have " +"SNI." +msgstr "" +"Завжди дозволяйте передачу server_hostname, навіть якщо OpenSSL не має SNI." + +msgid "*session* argument was added." +msgstr "Додано аргумент *сеанс*." + +msgid "" +"The method returns an instance of :attr:`SSLContext.sslsocket_class` instead " +"of hard-coded :class:`SSLSocket`." +msgstr "" + +msgid "" +"The return type of :meth:`SSLContext.wrap_socket`, defaults to :class:" +"`SSLSocket`. The attribute can be overridden on instance of class in order " +"to return a custom subclass of :class:`SSLSocket`." +msgstr "" +"Тип повернення :meth:`SSLContext.wrap_socket` за замовчуванням :class:" +"`SSLSocket`. Атрибут можна перевизначити в екземплярі класу, щоб повернути " +"настроюваний підклас :class:`SSLSocket`." + +msgid "" +"Wrap the BIO objects *incoming* and *outgoing* and return an instance of :" +"attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " +"routines will read input data from the incoming BIO and write data to the " +"outgoing BIO." +msgstr "" +"Об’єднайте BIO-об’єкти *incoming* і *outgoing* і поверніть екземпляр :attr:" +"`SSLContext.sslobject_class` (за замовчуванням :class:`SSLObject`). " +"Підпрограми SSL читатимуть вхідні дані з вхідного BIO та записуватимуть дані " +"у вихідний BIO." + +msgid "" +"The *server_side*, *server_hostname* and *session* parameters have the same " +"meaning as in :meth:`SSLContext.wrap_socket`." +msgstr "" +"Параметри *server_side*, *server_hostname* і *session* мають те саме " +"значення, що й у :meth:`SSLContext.wrap_socket`." + +msgid "" +"The method returns an instance of :attr:`SSLContext.sslobject_class` instead " +"of hard-coded :class:`SSLObject`." +msgstr "" + +msgid "" +"The return type of :meth:`SSLContext.wrap_bio`, defaults to :class:" +"`SSLObject`. The attribute can be overridden on instance of class in order " +"to return a custom subclass of :class:`SSLObject`." +msgstr "" +"Тип повернення :meth:`SSLContext.wrap_bio` за замовчуванням :class:" +"`SSLObject`. Атрибут можна перевизначити в екземплярі класу, щоб повернути " +"настроюваний підклас :class:`SSLObject`." + +msgid "" +"Get statistics about the SSL sessions created or managed by this context. A " +"dictionary is returned which maps the names of each `piece of information " +"`_ to " +"their numeric values. For example, here is the total number of hits and " +"misses in the session cache since the context was created::" +msgstr "" + +msgid "" +"Whether to match the peer cert's hostname in :meth:`SSLSocket.do_handshake`. " +"The context's :attr:`~SSLContext.verify_mode` must be set to :data:" +"`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, and you must pass " +"*server_hostname* to :meth:`~SSLContext.wrap_socket` in order to match the " +"hostname. Enabling hostname checking automatically sets :attr:`~SSLContext." +"verify_mode` from :data:`CERT_NONE` to :data:`CERT_REQUIRED`. It cannot be " +"set back to :data:`CERT_NONE` as long as hostname checking is enabled. The :" +"data:`PROTOCOL_TLS_CLIENT` protocol enables hostname checking by default. " +"With other protocols, hostname checking must be enabled explicitly." +msgstr "" +"Чи відповідати імені хосту однорангового сертифіката в :meth:`SSLSocket." +"do_handshake`. :attr:`~SSLContext.verify_mode` контексту має бути " +"встановлено на :data:`CERT_OPTIONAL` або :data:`CERT_REQUIRED`, і ви повинні " +"передати *server_hostname* до :meth:`~SSLContext.wrap_socket` для " +"відповідності ім'я хоста. Увімкнення перевірки імені хоста автоматично " +"встановлює :attr:`~SSLContext.verify_mode` з :data:`CERT_NONE` на :data:" +"`CERT_REQUIRED`. Його не можна повернути до :data:`CERT_NONE`, доки " +"ввімкнено перевірку імені хоста. Протокол :data:`PROTOCOL_TLS_CLIENT` умикає " +"перевірку імені хоста за умовчанням. Для інших протоколів перевірка імені " +"хоста повинна бути включена явно." + +msgid "" +":attr:`~SSLContext.verify_mode` is now automatically changed to :data:" +"`CERT_REQUIRED` when hostname checking is enabled and :attr:`~SSLContext." +"verify_mode` is :data:`CERT_NONE`. Previously the same operation would have " +"failed with a :exc:`ValueError`." +msgstr "" +":attr:`~SSSLContext.verify_mode` тепер автоматично змінюється на :data:" +"`CERT_REQUIRED`, коли перевірку імені хоста ввімкнено, а :attr:`~SSSLContext." +"verify_mode` має значення :data:`CERT_NONE`. Раніше ця сама операція не " +"виконувалася з помилкою :exc:`ValueError`." + +msgid "" +"Write TLS keys to a keylog file, whenever key material is generated or " +"received. The keylog file is designed for debugging purposes only. The file " +"format is specified by NSS and used by many traffic analyzers such as " +"Wireshark. The log file is opened in append-only mode. Writes are " +"synchronized between threads, but not between processes." +msgstr "" +"Записуйте ключі TLS у файл клавіатурного журналу щоразу, коли створюється " +"або отримується ключовий матеріал. Файл клавіатурного журналу створено лише " +"для налагодження. Формат файлу визначається NSS і використовується багатьма " +"аналізаторами трафіку, такими як Wireshark. Файл журналу відкривається в " +"режимі лише додавання. Записи синхронізуються між потоками, але не між " +"процесами." + +msgid "" +"A :class:`TLSVersion` enum member representing the highest supported TLS " +"version. The value defaults to :attr:`TLSVersion.MAXIMUM_SUPPORTED`. The " +"attribute is read-only for protocols other than :attr:`PROTOCOL_TLS`, :attr:" +"`PROTOCOL_TLS_CLIENT`, and :attr:`PROTOCOL_TLS_SERVER`." +msgstr "" +"Член переліку :class:`TLSVersion` представляє найвищу підтримувану версію " +"TLS. Значенням за замовчуванням є :attr:`TLSVersion.MAXIMUM_SUPPORTED`. " +"Атрибут доступний лише для читання для інших протоколів, ніж :attr:" +"`PROTOCOL_TLS`, :attr:`PROTOCOL_TLS_CLIENT` і :attr:`PROTOCOL_TLS_SERVER`." + +msgid "" +"The attributes :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." +"minimum_version` and :attr:`SSLContext.options` all affect the supported SSL " +"and TLS versions of the context. The implementation does not prevent invalid " +"combination. For example a context with :attr:`OP_NO_TLSv1_2` in :attr:" +"`~SSLContext.options` and :attr:`~SSLContext.maximum_version` set to :attr:" +"`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." +msgstr "" +"Атрибути :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." +"minimum_version` і :attr:`SSLContext.options` впливають на підтримувані " +"версії контексту SSL і TLS. Реалізація не запобігає недійсній комбінації. " +"Наприклад, контекст із :attr:`OP_NO_TLSv1_2` у :attr:`~SSLContext.options` " +"і :attr:`~SSLContext.maximum_version` зі значенням :attr:`TLSVersion." +"TLSv1_2` не зможе встановити TLS 1.2 підключення." + +msgid "" +"Like :attr:`SSLContext.maximum_version` except it is the lowest supported " +"version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." +msgstr "" +"Як :attr:`SSLContext.maximum_version`, за винятком того, що це найнижча " +"підтримувана версія або :attr:`TLSVersion.MINIMUM_SUPPORTED`." + +msgid "" +"Control the number of TLS 1.3 session tickets of a :attr:" +"`PROTOCOL_TLS_SERVER` context. The setting has no impact on TLS 1.0 to 1.2 " +"connections." +msgstr "" +"Контролюйте кількість квитків сесії TLS 1.3 контексту :attr:" +"`PROTOCOL_TLS_SERVER`. Параметр не впливає на підключення TLS 1.0 до 1.2." + +msgid "" +"An integer representing the set of SSL options enabled on this context. The " +"default value is :data:`OP_ALL`, but you can specify other options such as :" +"data:`OP_NO_SSLv2` by ORing them together." +msgstr "" +"Ціле число, що представляє набір параметрів SSL, увімкнених у цьому " +"контексті. Стандартним значенням є :data:`OP_ALL`, але ви можете вказати " +"інші параметри, наприклад :data:`OP_NO_SSLv2`, об’єднавши їх разом." + +msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" +msgstr ":attr:`SSLContext.options` повертає прапорці :class:`Options`:" + +msgid "" +"All ``OP_NO_SSL*`` and ``OP_NO_TLS*`` options have been deprecated since " +"Python 3.7. Use :attr:`SSLContext.minimum_version` and :attr:`SSLContext." +"maximum_version` instead." +msgstr "" +"Усі параметри ``OP_NO_SSL*`` і ``OP_NO_TLS*`` стали застарілими з Python " +"3.7. Замість цього використовуйте :attr:`SSLContext.minimum_version` і :attr:" +"`SSLContext.maximum_version`." + +msgid "" +"Enable TLS 1.3 post-handshake client authentication. Post-handshake auth is " +"disabled by default and a server can only request a TLS client certificate " +"during the initial handshake. When enabled, a server may request a TLS " +"client certificate at any time after the handshake." +msgstr "" +"Увімкнути автентифікацію клієнта після рукостискання TLS 1.3. Автентифікація " +"після рукостискання вимкнена за замовчуванням, і сервер може запитувати " +"сертифікат клієнта TLS лише під час початкового рукостискання. Якщо " +"ввімкнено, сервер може запитувати сертифікат клієнта TLS у будь-який час " +"після рукостискання." + +msgid "" +"When enabled on client-side sockets, the client signals the server that it " +"supports post-handshake authentication." +msgstr "" +"Якщо ввімкнено на сокетах на стороні клієнта, клієнт сигналізує серверу, що " +"він підтримує автентифікацію після рукостискання." + +msgid "" +"When enabled on server-side sockets, :attr:`SSLContext.verify_mode` must be " +"set to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, too. The actual " +"client cert exchange is delayed until :meth:`SSLSocket." +"verify_client_post_handshake` is called and some I/O is performed." +msgstr "" +"Якщо ввімкнено на серверних сокетах, :attr:`SSLContext.verify_mode` також " +"має бути встановлено на :data:`CERT_OPTIONAL` або :data:`CERT_REQUIRED`. " +"Фактичний обмін сертифікатами клієнта відкладено, доки не буде викликано :" +"meth:`SSLSocket.verify_client_post_handshake` і не буде виконано деякий ввід-" +"вивід." + +msgid "" +"The protocol version chosen when constructing the context. This attribute " +"is read-only." +msgstr "" +"Версія протоколу, обрана під час побудови контексту. Цей атрибут доступний " +"лише для читання." + +msgid "" +"Whether :attr:`~SSLContext.check_hostname` falls back to verify the cert's " +"subject common name in the absence of a subject alternative name extension " +"(default: true)." +msgstr "" +"Чи повертається :attr:`~SSLContext.check_hostname` для перевірки загальної " +"назви суб’єкта сертифіката за відсутності альтернативного розширення імені " +"суб’єкта (за умовчанням: істина)." + +msgid "" +"The flag had no effect with OpenSSL before version 1.1.1k. Python 3.8.9, " +"3.9.3, and 3.10 include workarounds for previous versions." +msgstr "" +"Прапор не мав ефекту з OpenSSL до версії 1.1.1k. Python 3.8.9, 3.9.3 і 3.10 " +"містять обхідні шляхи для попередніх версій." + +msgid "" +"An integer representing the `security level `_ for the context. This " +"attribute is read-only." +msgstr "" +"Ціле число, що представляє `рівень безпеки `_ для контексту. Цей атрибут " +"доступний лише для читання." + +msgid "" +"The flags for certificate verification operations. You can set flags like :" +"data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default OpenSSL does " +"neither require nor verify certificate revocation lists (CRLs)." +msgstr "" +"Прапори для операцій перевірки сертифіката. Ви можете встановити такі " +"прапорці, як :data:`VERIFY_CRL_CHECK_LEAF`, об’єднавши їх разом. За " +"замовчуванням OpenSSL не вимагає і не перевіряє списки відкликаних " +"сертифікатів (CRL)." + +msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" +msgstr "" +":attr:`SSLContext.verify_flags` повертає :class:`VerifyFlags` прапорці:" + +msgid "" +"Whether to try to verify other peers' certificates and how to behave if " +"verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" +"`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." +msgstr "" +"Чи намагатися перевірити сертифікати інших вузлів і як поводитися, якщо " +"перевірка не вдається. Цей атрибут має бути одним із :data:`CERT_NONE`, :" +"data:`CERT_OPTIONAL` або :data:`CERT_REQUIRED`." + +msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" +msgstr ":attr:`SSLContext.verify_mode` повертає :class:`VerifyMode` enum:" + +msgid "Certificates" +msgstr "Сертифікати" + +msgid "" +"Certificates in general are part of a public-key / private-key system. In " +"this system, each *principal*, (which may be a machine, or a person, or an " +"organization) is assigned a unique two-part encryption key. One part of the " +"key is public, and is called the *public key*; the other part is kept " +"secret, and is called the *private key*. The two parts are related, in that " +"if you encrypt a message with one of the parts, you can decrypt it with the " +"other part, and **only** with the other part." +msgstr "" +"Загалом сертифікати є частиною системи відкритого/приватного ключа. У цій " +"системі кожному *принципалу* (яким може бути машина, або особа, або " +"організація) призначається унікальний ключ шифрування, що складається з двох " +"частин. Одна частина ключа є відкритою і називається *відкритим ключем*; " +"інша частина зберігається в таємниці та називається *приватним ключем*. Ці " +"дві частини пов’язані між собою, оскільки якщо ви зашифровуєте повідомлення " +"за допомогою однієї з частин, ви можете розшифрувати його за допомогою іншої " +"частини та **тільки** за допомогою іншої частини." + +msgid "" +"A certificate contains information about two principals. It contains the " +"name of a *subject*, and the subject's public key. It also contains a " +"statement by a second principal, the *issuer*, that the subject is who they " +"claim to be, and that this is indeed the subject's public key. The issuer's " +"statement is signed with the issuer's private key, which only the issuer " +"knows. However, anyone can verify the issuer's statement by finding the " +"issuer's public key, decrypting the statement with it, and comparing it to " +"the other information in the certificate. The certificate also contains " +"information about the time period over which it is valid. This is expressed " +"as two fields, called \"notBefore\" and \"notAfter\"." +msgstr "" +"Сертифікат містить інформацію про двох принципалів. Він містить назву " +"*суб’єкта* та відкритий ключ суб’єкта. Він також містить заяву другого " +"принципала, *емітента*, про те, що суб’єкт є тим, за кого себе видає, і що " +"це справді відкритий ключ суб’єкта. Заява емітента підписується закритим " +"ключем емітента, який відомий лише емітенту. Проте будь-хто може перевірити " +"заяву емітента, знайшовши відкритий ключ емітента, розшифрувавши за його " +"допомогою заяву та порівнявши її з іншою інформацією в сертифікаті. " +"Сертифікат також містить інформацію про термін його дії. Це виражається " +"двома полями, які називаються \"notBefore\" і \"notAfter\"." + +msgid "" +"In the Python use of certificates, a client or server can use a certificate " +"to prove who they are. The other side of a network connection can also be " +"required to produce a certificate, and that certificate can be validated to " +"the satisfaction of the client or server that requires such validation. The " +"connection attempt can be set to raise an exception if the validation fails. " +"Validation is done automatically, by the underlying OpenSSL framework; the " +"application need not concern itself with its mechanics. But the application " +"does usually need to provide sets of certificates to allow this process to " +"take place." +msgstr "" +"При використанні сертифікатів Python клієнт або сервер можуть " +"використовувати сертифікат, щоб підтвердити, ким вони є. Інша сторона " +"мережевого з’єднання також може вимагати створення сертифіката, і цей " +"сертифікат може бути перевірений відповідно до вимог клієнта або сервера, " +"які потребують такої перевірки. Спробу підключення можна налаштувати так, " +"щоб викликати виняток, якщо перевірка не вдається. Перевірка виконується " +"автоматично базовою структурою OpenSSL; програмі не потрібно займатися своєю " +"механікою. Але програмі зазвичай потрібно надати набори сертифікатів, щоб " +"дозволити цей процес." + +msgid "" +"Python uses files to contain certificates. They should be formatted as \"PEM" +"\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a header " +"line and a footer line::" +msgstr "" +"Python використовує файли для зберігання сертифікатів. Вони повинні бути " +"відформатовані як \"PEM\" (див. :rfc:`1422`), який є формою, закодованою на " +"базі 64, оберненою рядком верхнього та нижнього колонтитулів::" + +msgid "Certificate chains" +msgstr "Ланцюжки сертифікатів" + +msgid "" +"The Python files which contain certificates can contain a sequence of " +"certificates, sometimes called a *certificate chain*. This chain should " +"start with the specific certificate for the principal who \"is\" the client " +"or server, and then the certificate for the issuer of that certificate, and " +"then the certificate for the issuer of *that* certificate, and so on up the " +"chain till you get to a certificate which is *self-signed*, that is, a " +"certificate which has the same subject and issuer, sometimes called a *root " +"certificate*. The certificates should just be concatenated together in the " +"certificate file. For example, suppose we had a three certificate chain, " +"from our server certificate to the certificate of the certification " +"authority that signed our server certificate, to the root certificate of the " +"agency which issued the certification authority's certificate::" +msgstr "" +"Файли Python, які містять сертифікати, можуть містити послідовність " +"сертифікатів, яку іноді називають *ланцюжком сертифікатів*. Цей ланцюжок має " +"починатися з конкретного сертифіката для принципала, який \"є\" клієнтом або " +"сервером, а потім сертифіката для видавця цього сертифіката, а потім " +"сертифіката для видавця *цього* сертифіката, і так далі вгору по ланцюжку " +"доки ви не дійдете до *самопідписаного* сертифіката, тобто сертифіката з тим " +"самим суб’єктом і видавцем, який іноді називають *кореневим сертифікатом*. " +"Сертифікати потрібно просто об’єднати у файлі сертифікатів. Наприклад, " +"припустімо, що ми маємо ланцюжок із трьох сертифікатів: від сертифіката " +"нашого сервера до сертифіката центру сертифікації, який підписав наш " +"сертифікат сервера, до кореневого сертифіката агентства, яке видало " +"сертифікат центру сертифікації:" + +msgid "CA certificates" +msgstr "сертифікати ЦС" + +msgid "" +"If you are going to require validation of the other side of the connection's " +"certificate, you need to provide a \"CA certs\" file, filled with the " +"certificate chains for each issuer you are willing to trust. Again, this " +"file just contains these chains concatenated together. For validation, " +"Python will use the first chain it finds in the file which matches. The " +"platform's certificates file can be used by calling :meth:`SSLContext." +"load_default_certs`, this is done automatically with :func:`." +"create_default_context`." +msgstr "" +"Якщо ви збираєтеся вимагати підтвердження іншої сторони сертифіката " +"з’єднання, вам потрібно надати файл \"сертифікатів ЦС\", заповнений " +"ланцюжками сертифікатів для кожного видавця, якому ви готові довіряти. Знову " +"ж таки, цей файл містить ці ланцюжки, об’єднані разом. Для перевірки Python " +"використовуватиме перший ланцюжок, знайдений у файлі, який відповідає. Файл " +"сертифікатів платформи можна використовувати, викликавши :meth:`SSLContext." +"load_default_certs`, це робиться автоматично за допомогою :func:`." +"create_default_context`." + +msgid "Combined key and certificate" +msgstr "Комбінований ключ і сертифікат" + +msgid "" +"Often the private key is stored in the same file as the certificate; in this " +"case, only the ``certfile`` parameter to :meth:`SSLContext.load_cert_chain` " +"and :func:`wrap_socket` needs to be passed. If the private key is stored " +"with the certificate, it should come before the first certificate in the " +"certificate chain::" +msgstr "" +"Часто закритий ключ зберігається в тому ж файлі, що й сертифікат; у цьому " +"випадку потрібно передати лише параметр ``certfile`` для :meth:`SSSLContext." +"load_cert_chain` і :func:`wrap_socket`. Якщо приватний ключ зберігається " +"разом із сертифікатом, він має бути перед першим сертифікатом у ланцюжку " +"сертифікатів:" + +msgid "Self-signed certificates" +msgstr "Самопідписані сертифікати" + +msgid "" +"If you are going to create a server that provides SSL-encrypted connection " +"services, you will need to acquire a certificate for that service. There " +"are many ways of acquiring appropriate certificates, such as buying one from " +"a certification authority. Another common practice is to generate a self-" +"signed certificate. The simplest way to do this is with the OpenSSL " +"package, using something like the following::" +msgstr "" +"Якщо ви збираєтеся створити сервер, який надає послуги з’єднання з " +"шифруванням SSL, вам потрібно буде отримати сертифікат для цієї послуги. Є " +"багато способів отримати відповідні сертифікати, наприклад придбати " +"сертифікат в центрі сертифікації. Іншою поширеною практикою є створення " +"самопідписаного сертифіката. Найпростіший спосіб зробити це за допомогою " +"пакета OpenSSL, використовуючи щось на зразок наступного:" + +msgid "" +"The disadvantage of a self-signed certificate is that it is its own root " +"certificate, and no one else will have it in their cache of known (and " +"trusted) root certificates." +msgstr "" +"Недоліком самопідписаного сертифіката є те, що це його власний кореневий " +"сертифікат, і ніхто інший не матиме його в кеш-пам’яті відомих (і надійних) " +"кореневих сертифікатів." + +msgid "Examples" +msgstr "Приклади" + +msgid "Testing for SSL support" +msgstr "Тестування підтримки SSL" + +msgid "" +"To test for the presence of SSL support in a Python installation, user code " +"should use the following idiom::" +msgstr "" +"Щоб перевірити наявність підтримки SSL у встановленому Python, код " +"користувача має використовувати таку ідіому:" + +msgid "Client-side operation" +msgstr "Робота на стороні клієнта" + +msgid "" +"This example creates a SSL context with the recommended security settings " +"for client sockets, including automatic certificate verification::" +msgstr "" +"У цьому прикладі створюється контекст SSL із рекомендованими налаштуваннями " +"безпеки для клієнтських сокетів, включаючи автоматичну перевірку сертифіката:" + +msgid "" +"If you prefer to tune security settings yourself, you might create a context " +"from scratch (but beware that you might not get the settings right)::" +msgstr "" +"Якщо ви бажаєте налаштувати параметри безпеки самостійно, ви можете створити " +"контекст з нуля (але пам’ятайте, що ви можете неправильно встановити " +"параметри):" + +msgid "" +"(this snippet assumes your operating system places a bundle of all CA " +"certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " +"error and have to adjust the location)" +msgstr "" +"(цей фрагмент припускає, що ваша операційна система розміщує пакет усіх " +"сертифікатів ЦС у ``/etc/ssl/certs/ca-bundle.crt``; якщо ні, ви отримаєте " +"повідомлення про помилку, і вам доведеться змінити розташування)" + +msgid "" +"The :data:`PROTOCOL_TLS_CLIENT` protocol configures the context for cert " +"validation and hostname verification. :attr:`~SSLContext.verify_mode` is set " +"to :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` is set to " +"``True``. All other protocols create SSL contexts with insecure defaults." +msgstr "" +"Протокол :data:`PROTOCOL_TLS_CLIENT` налаштовує контекст для перевірки " +"сертифіката та перевірки імені хоста. :attr:`~SSLContext.verify_mode` " +"встановлено на :data:`CERT_REQUIRED`, а :attr:`~SSLContext.check_hostname` " +"встановлено на ``True``. Усі інші протоколи створюють контексти SSL із " +"незахищеними значеннями за умовчанням." + +msgid "" +"When you use the context to connect to a server, :const:`CERT_REQUIRED` and :" +"attr:`~SSLContext.check_hostname` validate the server certificate: it " +"ensures that the server certificate was signed with one of the CA " +"certificates, checks the signature for correctness, and verifies other " +"properties like validity and identity of the hostname::" +msgstr "" +"Коли ви використовуєте контекст для підключення до сервера, :const:" +"`CERT_REQUIRED` і :attr:`~SSSLContext.check_hostname` перевіряють сертифікат " +"сервера: це гарантує, що сертифікат сервера було підписано одним із " +"сертифікатів ЦС, перевіряє підпис на коректність і перевіряє інші " +"властивості, такі як дійсність та ідентичність імені хоста::" + +msgid "You may then fetch the certificate::" +msgstr "Потім ви можете отримати сертифікат:" + +msgid "" +"Visual inspection shows that the certificate does identify the desired " +"service (that is, the HTTPS host ``www.python.org``)::" +msgstr "" +"Візуальна перевірка показує, що сертифікат ідентифікує потрібну службу " +"(тобто хост HTTPS ``www.python.org``):" + +msgid "" +"Now the SSL channel is established and the certificate verified, you can " +"proceed to talk with the server::" +msgstr "" +"Тепер SSL-канал встановлено та сертифікат перевірено, ви можете продовжити " +"спілкування з сервером:" + +msgid "Server-side operation" +msgstr "Робота на стороні сервера" + +msgid "" +"For server operation, typically you'll need to have a server certificate, " +"and private key, each in a file. You'll first create a context holding the " +"key and the certificate, so that clients can check your authenticity. Then " +"you'll open a socket, bind it to a port, call :meth:`listen` on it, and " +"start waiting for clients to connect::" +msgstr "" +"Для роботи сервера зазвичай потрібно мати сертифікат сервера та закритий " +"ключ, кожен у файлі. Спочатку ви створите контекст, що містить ключ і " +"сертифікат, щоб клієнти могли перевірити вашу автентичність. Потім ви " +"відкриєте сокет, прив’яжете його до порту, викличете на ньому :meth:`listen` " +"і почнете чекати підключення клієнтів::" + +msgid "" +"When a client connects, you'll call :meth:`accept` on the socket to get the " +"new socket from the other end, and use the context's :meth:`SSLContext." +"wrap_socket` method to create a server-side SSL socket for the connection::" +msgstr "" +"Коли клієнт підключається, ви викличете :meth:`accept` для сокета, щоб " +"отримати новий сокет з іншого боку, і використаєте контекстний метод :meth:" +"`SSLContext.wrap_socket`, щоб створити серверний сокет SSL для зв'язок::" + +msgid "" +"Then you'll read data from the ``connstream`` and do something with it till " +"you are finished with the client (or the client is finished with you)::" +msgstr "" +"Потім ви будете читати дані з ``connstream`` і щось робити з ними, поки не " +"закінчите роботу з клієнтом (або клієнт не закінчить роботу з вами):" + +msgid "" +"And go back to listening for new client connections (of course, a real " +"server would probably handle each client connection in a separate thread, or " +"put the sockets in :ref:`non-blocking mode ` and use an " +"event loop)." +msgstr "" +"І поверніться до прослуховування нових клієнтських з’єднань (звичайно, " +"реальний сервер, ймовірно, оброблятиме кожне клієнтське з’єднання в окремому " +"потоці або переведе сокети в :ref:`неблокуючий режим ` і " +"використає цикл подій)." + +msgid "Notes on non-blocking sockets" +msgstr "Примітки щодо неблокуючих розеток" + +msgid "" +"SSL sockets behave slightly different than regular sockets in non-blocking " +"mode. When working with non-blocking sockets, there are thus several things " +"you need to be aware of:" +msgstr "" +"SSL-сокети поводяться дещо інакше, ніж звичайні сокети в неблокуючому " +"режимі. Працюючи з неблокуючими сокетами, ви повинні знати про кілька речей:" + +msgid "" +"Most :class:`SSLSocket` methods will raise either :exc:`SSLWantWriteError` " +"or :exc:`SSLWantReadError` instead of :exc:`BlockingIOError` if an I/O " +"operation would block. :exc:`SSLWantReadError` will be raised if a read " +"operation on the underlying socket is necessary, and :exc:" +"`SSLWantWriteError` for a write operation on the underlying socket. Note " +"that attempts to *write* to an SSL socket may require *reading* from the " +"underlying socket first, and attempts to *read* from the SSL socket may " +"require a prior *write* to the underlying socket." +msgstr "" +"Більшість методів :class:`SSLSocket` викликають або :exc:" +"`SSLWantWriteError`, або :exc:`SSLWantReadError` замість :exc:" +"`BlockingIOError`, якщо операція вводу/виводу буде заблокована. :exc:" +"`SSLWantReadError` буде викликано, якщо операція читання базового сокета є " +"необхідною, і :exc:`SSLWantWriteError` для операції запису базового сокета. " +"Зауважте, що спроби *запису* в сокет SSL можуть вимагати спочатку *читання* " +"з базового сокета, а спроби *читання* з сокета SSL можуть вимагати " +"попереднього *запису* в базовий сокет." + +msgid "" +"In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " +"instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." +msgstr "" +"У попередніх версіях Python метод :meth:`!SSLSocket.send` повертав нуль " +"замість того, щоб викликати :exc:`SSLWantWriteError` або :exc:" +"`SSLWantReadError`." + +msgid "" +"Calling :func:`~select.select` tells you that the OS-level socket can be " +"read from (or written to), but it does not imply that there is sufficient " +"data at the upper SSL layer. For example, only part of an SSL frame might " +"have arrived. Therefore, you must be ready to handle :meth:`SSLSocket.recv` " +"and :meth:`SSLSocket.send` failures, and retry after another call to :func:" +"`~select.select`." +msgstr "" +"Виклик :func:`~select.select` повідомляє вам, що сокет рівня ОС можна " +"зчитувати (або записувати), але це не означає, що на верхньому рівні SSL " +"достатньо даних. Наприклад, могла надійти лише частина кадру SSL. Таким " +"чином, ви повинні бути готові впоратися з помилками :meth:`SSLSocket.recv` " +"і :meth:`SSLSocket.send` і повторити спробу після іншого виклику :func:" +"`~select.select`." + +msgid "" +"Conversely, since the SSL layer has its own framing, a SSL socket may still " +"have data available for reading without :func:`~select.select` being aware " +"of it. Therefore, you should first call :meth:`SSLSocket.recv` to drain any " +"potentially available data, and then only block on a :func:`~select.select` " +"call if still necessary." +msgstr "" +"І навпаки, оскільки рівень SSL має власне фреймування, сокет SSL все ще може " +"мати дані, доступні для читання, не знаючи про це :func:`~select.select`. " +"Таким чином, ви повинні спочатку викликати :meth:`SSLSocket.recv`, щоб " +"вичерпати будь-які потенційно доступні дані, а потім лише заблокувати " +"виклик :func:`~select.select`, якщо все ще необхідно." + +msgid "" +"(of course, similar provisions apply when using other primitives such as :" +"func:`~select.poll`, or those in the :mod:`selectors` module)" +msgstr "" +"(звичайно, подібні положення застосовуються при використанні інших " +"примітивів, таких як :func:`~select.poll` або в модулі :mod:`selectors`)" + +msgid "" +"The SSL handshake itself will be non-blocking: the :meth:`SSLSocket." +"do_handshake` method has to be retried until it returns successfully. Here " +"is a synopsis using :func:`~select.select` to wait for the socket's " +"readiness::" +msgstr "" +"Саме рукостискання SSL буде неблокуючим: метод :meth:`SSLSocket." +"do_handshake` потрібно повторити, поки він не повернеться успішно. Ось " +"короткий опис використання :func:`~select.select` для очікування готовності " +"сокета::" + +msgid "" +"The :mod:`asyncio` module supports :ref:`non-blocking SSL sockets ` and provides a higher level API. It polls for events using " +"the :mod:`selectors` module and handles :exc:`SSLWantWriteError`, :exc:" +"`SSLWantReadError` and :exc:`BlockingIOError` exceptions. It runs the SSL " +"handshake asynchronously as well." +msgstr "" +"Модуль :mod:`asyncio` підтримує :ref:`неблокуючі сокети SSL ` і забезпечує API вищого рівня. Він опитує події за допомогою " +"модуля :mod:`selectors` і обробляє винятки :exc:`SSLWantWriteError`, :exc:" +"`SSLWantReadError` і :exc:`BlockingIOError`. Він також запускає " +"рукостискання SSL асинхронно." + +msgid "Memory BIO Support" +msgstr "Підтримка BIO пам'яті" + +msgid "" +"Ever since the SSL module was introduced in Python 2.6, the :class:" +"`SSLSocket` class has provided two related but distinct areas of " +"functionality:" +msgstr "" +"З тих пір, як модуль SSL було представлено в Python 2.6, клас :class:" +"`SSLSocket` забезпечив дві пов’язані, але різні області функціональності:" + +msgid "SSL protocol handling" +msgstr "Обробка протоколу SSL" + +msgid "Network IO" +msgstr "Мережа IO" + +msgid "" +"The network IO API is identical to that provided by :class:`socket.socket`, " +"from which :class:`SSLSocket` also inherits. This allows an SSL socket to be " +"used as a drop-in replacement for a regular socket, making it very easy to " +"add SSL support to an existing application." +msgstr "" +"Мережевий IO API ідентичний тому, який надає :class:`socket.socket`, від " +"якого також успадковується :class:`SSLSocket`. Це дозволяє використовувати " +"сокет SSL як додаткову заміну звичайного сокета, що дозволяє дуже легко " +"додати підтримку SSL до існуючої програми." + +msgid "" +"Combining SSL protocol handling and network IO usually works well, but there " +"are some cases where it doesn't. An example is async IO frameworks that want " +"to use a different IO multiplexing model than the \"select/poll on a file " +"descriptor\" (readiness based) model that is assumed by :class:`socket." +"socket` and by the internal OpenSSL socket IO routines. This is mostly " +"relevant for platforms like Windows where this model is not efficient. For " +"this purpose, a reduced scope variant of :class:`SSLSocket` called :class:" +"`SSLObject` is provided." +msgstr "" +"Поєднання обробки протоколу SSL і мережевого введення-виведення зазвичай " +"працює добре, але в деяких випадках це не так. Прикладом є асинхронні " +"структури вводу-виводу, які хочуть використовувати іншу модель " +"мультиплексування вводу-виводу, ніж модель \"вибір/опитування дескриптора " +"файлу\" (на основі готовності), яка передбачається :class:`socket.socket` і " +"внутрішнім вводом-виводом сокета OpenSSL рутини. Це в основному актуально " +"для таких платформ, як Windows, де ця модель не ефективна. Для цього " +"надається зменшений варіант :class:`SSLSocket` під назвою :class:`SSLObject`." + +msgid "" +"A reduced-scope variant of :class:`SSLSocket` representing an SSL protocol " +"instance that does not contain any network IO methods. This class is " +"typically used by framework authors that want to implement asynchronous IO " +"for SSL through memory buffers." +msgstr "" +"Зменшений варіант :class:`SSLSocket`, що представляє екземпляр протоколу " +"SSL, який не містить жодних мережевих методів введення-виведення. Цей клас " +"зазвичай використовується авторами фреймворків, які хочуть реалізувати " +"асинхронний IO для SSL через буфери пам’яті." + +msgid "" +"This class implements an interface on top of a low-level SSL object as " +"implemented by OpenSSL. This object captures the state of an SSL connection " +"but does not provide any network IO itself. IO needs to be performed through " +"separate \"BIO\" objects which are OpenSSL's IO abstraction layer." +msgstr "" +"Цей клас реалізує інтерфейс поверх об’єкта SSL низького рівня, реалізованого " +"OpenSSL. Цей об’єкт фіксує стан SSL-з’єднання, але сам не надає мережевий " +"IO. IO потрібно виконувати через окремі об’єкти \"BIO\", які є рівнем " +"абстракції IO OpenSSL." + +msgid "" +"This class has no public constructor. An :class:`SSLObject` instance must " +"be created using the :meth:`~SSLContext.wrap_bio` method. This method will " +"create the :class:`SSLObject` instance and bind it to a pair of BIOs. The " +"*incoming* BIO is used to pass data from Python to the SSL protocol " +"instance, while the *outgoing* BIO is used to pass data the other way around." +msgstr "" +"Цей клас не має публічного конструктора. Екземпляр :class:`SSLObject` має " +"бути створений за допомогою методу :meth:`~SSLContext.wrap_bio`. Цей метод " +"створить екземпляр :class:`SSLObject` і прив’яже його до пари BIO. *Вхідний* " +"BIO використовується для передачі даних від Python до примірника протоколу " +"SSL, тоді як *вихідний* BIO використовується для передачі даних навпаки." + +msgid "The following methods are available:" +msgstr "Доступні такі методи:" + +msgid ":attr:`~SSLSocket.context`" +msgstr ":attr:`~SSLSocket.context`" + +msgid ":attr:`~SSLSocket.server_side`" +msgstr ":attr:`~SSLSocket.сторона_сервера`" + +msgid ":attr:`~SSLSocket.server_hostname`" +msgstr ":attr:`~SSLSocket.сервер_hostname`" + +msgid ":attr:`~SSLSocket.session`" +msgstr ":attr:`~SSLSocket.session`" + +msgid ":attr:`~SSLSocket.session_reused`" +msgstr ":attr:`~SSLSocket.session_reused`" + +msgid ":meth:`~SSLSocket.read`" +msgstr ":meth:`~SSLSocket.read`" + +msgid ":meth:`~SSLSocket.write`" +msgstr ":meth:`~SSLSocket.write`" + +msgid ":meth:`~SSLSocket.getpeercert`" +msgstr ":meth:`~SSLSocket.getpeercert`" + +msgid ":meth:`~SSLSocket.selected_alpn_protocol`" +msgstr ":meth:`~SSLSocket.selected_alpn_protocol`" + +msgid ":meth:`~SSLSocket.selected_npn_protocol`" +msgstr ":meth:`~SSLSocket.selected_npn_protocol`" + +msgid ":meth:`~SSLSocket.cipher`" +msgstr ":meth:`~SSLSocket.cipher`" + +msgid ":meth:`~SSLSocket.shared_ciphers`" +msgstr ":meth:`~SSLSocket.shared_ciphers`" + +msgid ":meth:`~SSLSocket.compression`" +msgstr ":meth:`~SSLSocket.compression`" + +msgid ":meth:`~SSLSocket.pending`" +msgstr ":meth:`~SSLSocket.очікує`" + +msgid ":meth:`~SSLSocket.do_handshake`" +msgstr ":meth:`~SSLSocket.do_handshake`" + +msgid ":meth:`~SSLSocket.verify_client_post_handshake`" +msgstr ":meth:`~SSLSocket.verify_client_post_handshake`" + +msgid ":meth:`~SSLSocket.unwrap`" +msgstr ":meth:`~SSLSocket.unwrap`" + +msgid ":meth:`~SSLSocket.get_channel_binding`" +msgstr ":meth:`~SSLSocket.get_channel_binding`" + +msgid ":meth:`~SSLSocket.version`" +msgstr ":meth:`~SSLSocket.version`" + +msgid "" +"When compared to :class:`SSLSocket`, this object lacks the following " +"features:" +msgstr "" +"У порівнянні з :class:`SSLSocket` цьому об’єкту бракує наступних функцій:" + +msgid "" +"Any form of network IO; ``recv()`` and ``send()`` read and write only to the " +"underlying :class:`MemoryBIO` buffers." +msgstr "" +"Будь-яка форма мережевого вводу-виводу; ``recv()`` і ``send()`` читають і " +"записують лише в базові буфери :class:`MemoryBIO`." + +msgid "" +"There is no *do_handshake_on_connect* machinery. You must always manually " +"call :meth:`~SSLSocket.do_handshake` to start the handshake." +msgstr "" +"Не існує механізму *do_handshake_on_connect*. Ви завжди повинні вручну " +"викликати :meth:`~SSLSocket.do_handshake`, щоб почати рукостискання." + +msgid "" +"There is no handling of *suppress_ragged_eofs*. All end-of-file conditions " +"that are in violation of the protocol are reported via the :exc:" +"`SSLEOFError` exception." +msgstr "" +"Немає обробки *suppress_ragged_eofs*. Усі умови кінця файлу, які порушують " +"протокол, повідомляються через виняток :exc:`SSLEOFError`." + +msgid "" +"The method :meth:`~SSLSocket.unwrap` call does not return anything, unlike " +"for an SSL socket where it returns the underlying socket." +msgstr "" +"Виклик методу :meth:`~SSLSocket.unwrap` нічого не повертає, на відміну від " +"сокета SSL, де він повертає основний сокет." + +msgid "" +"The *server_name_callback* callback passed to :meth:`SSLContext." +"set_servername_callback` will get an :class:`SSLObject` instance instead of " +"a :class:`SSLSocket` instance as its first parameter." +msgstr "" +"Зворотний виклик *server_name_callback*, переданий :meth:`SSLContext." +"set_servername_callback`, отримає екземпляр :class:`SSLObject` замість " +"екземпляра :class:`SSLSocket` як перший параметр." + +msgid "Some notes related to the use of :class:`SSLObject`:" +msgstr "Деякі зауваження щодо використання :class:`SSLObject`:" + +msgid "" +"All IO on an :class:`SSLObject` is :ref:`non-blocking `. " +"This means that for example :meth:`~SSLSocket.read` will raise an :exc:" +"`SSLWantReadError` if it needs more data than the incoming BIO has available." +msgstr "" +"Усі IO для :class:`SSLObject` є :ref:`неблокуючими `. Це " +"означає, що, наприклад, :meth:`~SSLSocket.read` викличе :exc:" +"`SSLWantReadError`, якщо йому потрібно більше даних, ніж доступно у вхідному " +"BIO." + +msgid "" +"There is no module-level ``wrap_bio()`` call like there is for :meth:" +"`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via an :" +"class:`SSLContext`." +msgstr "" +"Немає виклику ``wrap_bio()`` на рівні модуля, як для :meth:`~SSLContext." +"wrap_socket`. :class:`SSLObject` завжди створюється через :class:" +"`SSLContext`." + +msgid "" +":class:`SSLObject` instances must to created with :meth:`~SSLContext." +"wrap_bio`. In earlier versions, it was possible to create instances " +"directly. This was never documented or officially supported." +msgstr "" +"Екземпляри :class:`SSLObject` повинні бути створені за допомогою :meth:" +"`~SSSLContext.wrap_bio`. У попередніх версіях можна було створювати " +"екземпляри безпосередньо. Це ніколи не було задокументовано чи офіційно " +"підтверджено." + +msgid "" +"An SSLObject communicates with the outside world using memory buffers. The " +"class :class:`MemoryBIO` provides a memory buffer that can be used for this " +"purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" +msgstr "" +"SSLObject спілкується із зовнішнім світом за допомогою буферів пам’яті. " +"Клас :class:`MemoryBIO` забезпечує буфер пам’яті, який можна використовувати " +"для цієї мети. Він обертає об’єкт BIO пам’яті OpenSSL (Basic IO):" + +msgid "" +"A memory buffer that can be used to pass data between Python and an SSL " +"protocol instance." +msgstr "" +"Буфер пам’яті, який можна використовувати для передачі даних між Python та " +"екземпляром протоколу SSL." + +msgid "Return the number of bytes currently in the memory buffer." +msgstr "Повертає кількість байтів у буфері пам'яті." + +msgid "" +"A boolean indicating whether the memory BIO is current at the end-of-file " +"position." +msgstr "" +"Логічне значення, яке вказує, чи є BIO пам’яті поточним у позиції кінця " +"файлу." + +msgid "" +"Read up to *n* bytes from the memory buffer. If *n* is not specified or " +"negative, all bytes are returned." +msgstr "" +"Прочитати до *n* байт із буфера пам’яті. Якщо *n* не вказано або має " +"негативне значення, повертаються всі байти." + +msgid "" +"Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " +"object supporting the buffer protocol." +msgstr "" +"Запишіть байти з *buf* в пам'ять BIO. Аргумент *buf* має бути об’єктом, що " +"підтримує протокол буфера." + +msgid "" +"The return value is the number of bytes written, which is always equal to " +"the length of *buf*." +msgstr "" +"Поверненим значенням є кількість записаних байтів, яка завжди дорівнює " +"довжині *buf*." + +msgid "" +"Write an EOF marker to the memory BIO. After this method has been called, it " +"is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " +"become true after all data currently in the buffer has been read." +msgstr "" +"Запишіть маркер EOF в пам'ять BIO. Після виклику цього методу викликати :" +"meth:`~MemoryBIO.write` заборонено. Атрибут :attr:`eof` стане істинним після " +"того, як усі дані, які зараз знаходяться в буфері, будуть прочитані." + +msgid "SSL session" +msgstr "Сеанс SSL" + +msgid "Session object used by :attr:`~SSLSocket.session`." +msgstr "Об’єкт сеансу, який використовує :attr:`~SSLSocket.session`." + +msgid "Security considerations" +msgstr "Міркування безпеки" + +msgid "Best defaults" +msgstr "Найкращі параметри за замовчуванням" + +msgid "" +"For **client use**, if you don't have any special requirements for your " +"security policy, it is highly recommended that you use the :func:" +"`create_default_context` function to create your SSL context. It will load " +"the system's trusted CA certificates, enable certificate validation and " +"hostname checking, and try to choose reasonably secure protocol and cipher " +"settings." +msgstr "" +"Для **користування клієнтом**, якщо у вас немає особливих вимог до вашої " +"політики безпеки, настійно рекомендується використовувати функцію :func:" +"`create_default_context` для створення контексту SSL. Він завантажить " +"довірені сертифікати ЦС системи, увімкне перевірку сертифіката та перевірку " +"імені хоста, а також спробує вибрати достатньо безпечний протокол і " +"налаштування шифру." + +msgid "" +"For example, here is how you would use the :class:`smtplib.SMTP` class to " +"create a trusted, secure connection to a SMTP server::" +msgstr "" +"Наприклад, ось як можна використовувати клас :class:`smtplib.SMTP` для " +"створення надійного безпечного з’єднання з сервером SMTP:" + +msgid "" +"If a client certificate is needed for the connection, it can be added with :" +"meth:`SSLContext.load_cert_chain`." +msgstr "" +"Якщо для підключення потрібен сертифікат клієнта, його можна додати за " +"допомогою :meth:`SSSLContext.load_cert_chain`." + +msgid "" +"By contrast, if you create the SSL context by calling the :class:" +"`SSLContext` constructor yourself, it will not have certificate validation " +"nor hostname checking enabled by default. If you do so, please read the " +"paragraphs below to achieve a good security level." +msgstr "" +"Навпаки, якщо ви створюєте контекст SSL, викликаючи конструктор :class:" +"`SSLContext` самостійно, за замовчуванням не буде ввімкнено ні перевірку " +"сертифіката, ні перевірку імені хоста. Якщо ви це зробите, будь ласка, " +"прочитайте параграфи нижче, щоб досягти хорошого рівня безпеки." + +msgid "Manual settings" +msgstr "Ручні налаштування" + +msgid "Verifying certificates" +msgstr "Перевірка сертифікатів" + +msgid "" +"When calling the :class:`SSLContext` constructor directly, :const:" +"`CERT_NONE` is the default. Since it does not authenticate the other peer, " +"it can be insecure, especially in client mode where most of time you would " +"like to ensure the authenticity of the server you're talking to. Therefore, " +"when in client mode, it is highly recommended to use :const:" +"`CERT_REQUIRED`. However, it is in itself not sufficient; you also have to " +"check that the server certificate, which can be obtained by calling :meth:" +"`SSLSocket.getpeercert`, matches the desired service. For many protocols " +"and applications, the service can be identified by the hostname; in this " +"case, the :func:`match_hostname` function can be used. This common check is " +"automatically performed when :attr:`SSLContext.check_hostname` is enabled." +msgstr "" +"Під час безпосереднього виклику конструктора :class:`SSLContext` типовим є :" +"const:`CERT_NONE`. Оскільки він не автентифікує іншого однорангового вузла, " +"він може бути небезпечним, особливо в режимі клієнта, де більшу частину часу " +"ви хочете переконатися в автентичності сервера, з яким спілкуєтеся. Тому в " +"режимі клієнта настійно рекомендується використовувати :const:" +"`CERT_REQUIRED`. Однак цього самого по собі недостатньо; ви також повинні " +"перевірити, чи сертифікат сервера, який можна отримати, викликавши :meth:" +"`SSLSocket.getpeercert`, відповідає бажаній службі. Для багатьох протоколів " +"і програм послугу можна ідентифікувати за іменем хоста; у цьому випадку " +"можна використати функцію :func:`match_hostname`. Ця звичайна перевірка " +"виконується автоматично, коли :attr:`SSLContext.check_hostname` увімкнено." + +msgid "" +"Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" +"`match_hostname`." +msgstr "" +"Зіставлення імен хостів тепер виконує OpenSSL. Python більше не " +"використовує :func:`match_hostname`." + +msgid "" +"In server mode, if you want to authenticate your clients using the SSL layer " +"(rather than using a higher-level authentication mechanism), you'll also " +"have to specify :const:`CERT_REQUIRED` and similarly check the client " +"certificate." +msgstr "" +"У режимі сервера, якщо ви хочете автентифікувати своїх клієнтів за допомогою " +"рівня SSL (замість використання механізму автентифікації вищого рівня), вам " +"також доведеться вказати :const:`CERT_REQUIRED` і так само перевірити " +"сертифікат клієнта." + +msgid "Protocol versions" +msgstr "Версії протоколу" + +msgid "" +"SSL versions 2 and 3 are considered insecure and are therefore dangerous to " +"use. If you want maximum compatibility between clients and servers, it is " +"recommended to use :const:`PROTOCOL_TLS_CLIENT` or :const:" +"`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are disabled " +"by default." +msgstr "" +"SSL версії 2 і 3 вважаються небезпечними, тому їх використання небезпечно. " +"Якщо вам потрібна максимальна сумісність між клієнтами та серверами, " +"рекомендується використовувати :const:`PROTOCOL_TLS_CLIENT` або :const:" +"`PROTOCOL_TLS_SERVER` як версію протоколу. SSLv2 і SSLv3 вимкнено за " +"замовчуванням." + +msgid "" +"The SSL context created above will only allow TLSv1.2 and later (if " +"supported by your system) connections to a server. :const:" +"`PROTOCOL_TLS_CLIENT` implies certificate validation and hostname checks by " +"default. You have to load certificates into the context." +msgstr "" +"Контекст SSL, створений вище, дозволить лише TLSv1.2 і новіші (якщо " +"підтримується вашою системою) підключення до сервера. :const:" +"`PROTOCOL_TLS_CLIENT` за замовчуванням передбачає перевірку сертифіката та " +"перевірку імені хоста. Ви повинні завантажити сертифікати в контекст." + +msgid "Cipher selection" +msgstr "Вибір шифру" + +msgid "" +"If you have advanced security requirements, fine-tuning of the ciphers " +"enabled when negotiating a SSL session is possible through the :meth:" +"`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the ssl module " +"disables certain weak ciphers by default, but you may want to further " +"restrict the cipher choice. Be sure to read OpenSSL's documentation about " +"the `cipher list format `_. If you want to check which ciphers are enabled " +"by a given cipher list, use :meth:`SSLContext.get_ciphers` or the ``openssl " +"ciphers`` command on your system." +msgstr "" + +msgid "Multi-processing" +msgstr "Багатопроцесорність" + +msgid "" +"If using this module as part of a multi-processed application (using, for " +"example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be " +"aware that OpenSSL's internal random number generator does not properly " +"handle forked processes. Applications must change the PRNG state of the " +"parent process if they use any SSL feature with :func:`os.fork`. Any " +"successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or :func:" +"`~ssl.RAND_pseudo_bytes` is sufficient." +msgstr "" +"Якщо ви використовуєте цей модуль як частину багатопроцесорної програми " +"(використовуючи, наприклад, модулі :mod:`multiprocessing` або :mod:" +"`concurrent.futures`), майте на увазі, що внутрішній генератор випадкових " +"чисел OpenSSL не обробляє належним чином роздвоєні процеси . Програми " +"повинні змінити стан PRNG батьківського процесу, якщо вони використовують " +"будь-яку функцію SSL із :func:`os.fork`. Достатньо будь-якого успішного " +"виклику :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` або :func:`~ssl." +"RAND_pseudo_bytes`." + +msgid "TLS 1.3" +msgstr "TLS 1.3" + +msgid "" +"The TLS 1.3 protocol behaves slightly differently than previous version of " +"TLS/SSL. Some new TLS 1.3 features are not yet available." +msgstr "" +"Протокол TLS 1.3 працює дещо інакше, ніж попередня версія TLS/SSL. Деякі " +"нові функції TLS 1.3 ще недоступні." + +msgid "" +"TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " +"cipher suites are enabled by default. The method :meth:`SSLContext." +"set_ciphers` cannot enable or disable any TLS 1.3 ciphers yet, but :meth:" +"`SSLContext.get_ciphers` returns them." +msgstr "" +"TLS 1.3 використовує диз’юнктний набір наборів шифрів. Усі набори шифрів AES-" +"GCM і ChaCha20 увімкнено за замовчуванням. Метод :meth:`SSLContext." +"set_ciphers` ще не може ввімкнути чи вимкнути будь-які шифри TLS 1.3, але :" +"meth:`SSLContext.get_ciphers` повертає їх." + +msgid "" +"Session tickets are no longer sent as part of the initial handshake and are " +"handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " +"not compatible with TLS 1.3." +msgstr "" +"Заявки на сеанс більше не надсилаються як частина початкового рукостискання " +"та обробляються інакше. :attr:`SSLSocket.session` і :class:`SSLSession` " +"несумісні з TLS 1.3." + +msgid "" +"Client-side certificates are also no longer verified during the initial " +"handshake. A server can request a certificate at any time. Clients process " +"certificate requests while they send or receive application data from the " +"server." +msgstr "" +"Клієнтські сертифікати також більше не перевіряються під час початкового " +"рукостискання. Сервер може запитати сертифікат у будь-який час. Клієнти " +"обробляють запити на сертифікати, коли вони надсилають або отримують дані " +"програми з сервера." + +msgid "" +"TLS 1.3 features like early data, deferred TLS client cert request, " +"signature algorithm configuration, and rekeying are not supported yet." +msgstr "" +"Такі функції TLS 1.3, як ранні дані, відкладений запит на сертифікат клієнта " +"TLS, конфігурація алгоритму підпису та повторне введення ключів, ще не " +"підтримуються." + +msgid "Class :class:`socket.socket`" +msgstr "Клас :class:`socket.socket`" + +msgid "Documentation of underlying :mod:`socket` class" +msgstr "Документація основного класу :mod:`socket`" + +msgid "" +"`SSL/TLS Strong Encryption: An Introduction `_" +msgstr "" +"`Надійне шифрування SSL/TLS: Вступ `_" + +msgid "Intro from the Apache HTTP Server documentation" +msgstr "Введення з документації Apache HTTP Server" + +msgid "" +":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " +"Certificate-Based Key Management <1422>`" +msgstr "" +":rfc:`RFC 1422: Покращення конфіденційності електронної пошти в Інтернеті: " +"Частина II: Керування ключами на основі сертифікатів <1422>`" + +msgid "Steve Kent" +msgstr "Стів Кент" + +msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" +msgstr ":rfc:`RFC 4086: Вимоги до випадковості для безпеки <4086>`" + +msgid "Donald E., Jeffrey I. Schiller" +msgstr "Дональд Е., Джеффрі І. Шиллер" + +msgid "" +":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " +"Certificate Revocation List (CRL) Profile <5280>`" +msgstr "" +":rfc:`RFC 5280: Сертифікат інфраструктури відкритих ключів Інтернету X.509 і " +"профіль відкликаних сертифікатів (CRL) <5280>`" + +msgid "D. Cooper" +msgstr "Д. Купер" + +msgid "" +":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " +"<5246>`" +msgstr "" +":rfc:`RFC 5246: Протокол безпеки транспортного рівня (TLS) версії 1.2 <5246>`" + +msgid "T. Dierks et. al." +msgstr "Т. Діркс та ін. al." + +msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" +msgstr ":rfc:`RFC 6066: Розширення безпеки транспортного рівня (TLS) <6066>`" + +msgid "D. Eastlake" +msgstr "Д. Істлейк" + +msgid "" +"`IANA TLS: Transport Layer Security (TLS) Parameters `_" +msgstr "" +"`IANA TLS: Параметри безпеки транспортного рівня (TLS) `_" + +msgid "IANA" +msgstr "IANA" + +msgid "" +":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " +"(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" +msgstr "" +":rfc:`RFC 7525: Рекомендації щодо безпечного використання безпеки " +"транспортного рівня (TLS) і захисту транспортного рівня датаграм (DTLS) " +"<7525>`" + +msgid "IETF" +msgstr "IETF" + +msgid "" +"`Mozilla's Server Side TLS recommendations `_" +msgstr "" +"`Рекомендації TLS на стороні сервера Mozilla `_" + +msgid "Mozilla" +msgstr "Mozilla" diff --git a/library/stat.po b/library/stat.po new file mode 100644 index 000000000..ab8b69d9c --- /dev/null +++ b/library/stat.po @@ -0,0 +1,413 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`stat` --- Interpreting :func:`~os.stat` results" +msgstr ":mod:`stat` --- Інтерпретація результатів :func:`~os.stat`" + +msgid "**Source code:** :source:`Lib/stat.py`" +msgstr "**Вихідний код:** :source:`Lib/stat.py`" + +msgid "" +"The :mod:`stat` module defines constants and functions for interpreting the " +"results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they " +"exist). For complete details about the :c:func:`stat`, :c:func:`fstat` and :" +"c:func:`lstat` calls, consult the documentation for your system." +msgstr "" +"Модуль :mod:`stat` визначає константи та функції для інтерпретації " +"результатів :func:`os.stat`, :func:`os.fstat` та :func:`os.lstat` (якщо вони " +"існують). Щоб отримати повну інформацію про виклики :c:func:`stat`, :c:func:" +"`fstat` і :c:func:`lstat`, зверніться до документації вашої системи." + +msgid "The stat module is backed by a C implementation." +msgstr "Модуль stat підтримується реалізацією C." + +msgid "" +"The :mod:`stat` module defines the following functions to test for specific " +"file types:" +msgstr "" +"Модуль :mod:`stat` визначає такі функції для перевірки певних типів файлів:" + +msgid "Return non-zero if the mode is from a directory." +msgstr "Повертає відмінне від нуля значення, якщо режим з каталогу." + +msgid "Return non-zero if the mode is from a character special device file." +msgstr "" +"Повертає відмінне від нуля значення, якщо режим походить із файлу " +"спеціального символьного пристрою." + +msgid "Return non-zero if the mode is from a block special device file." +msgstr "" +"Повертає відмінне від нуля значення, якщо режим походить із спеціального " +"блокового файлу пристрою." + +msgid "Return non-zero if the mode is from a regular file." +msgstr "Повертає відмінне від нуля значення, якщо режим із звичайного файлу." + +msgid "Return non-zero if the mode is from a FIFO (named pipe)." +msgstr "" +"Повертає відмінне від нуля значення, якщо режим походить із FIFO (іменований " +"канал)." + +msgid "Return non-zero if the mode is from a symbolic link." +msgstr "" +"Повертає відмінне від нуля значення, якщо режим походить із символічного " +"посилання." + +msgid "Return non-zero if the mode is from a socket." +msgstr "Повертає відмінне від нуля значення, якщо режим походить із сокета." + +msgid "Return non-zero if the mode is from a door." +msgstr "Повертає відмінне від нуля значення, якщо режим від дверей." + +msgid "Return non-zero if the mode is from an event port." +msgstr "" +"Повертає відмінне від нуля значення, якщо режим походить із порту події." + +msgid "Return non-zero if the mode is from a whiteout." +msgstr "Повертає відмінне від нуля значення, якщо режим вимкнено." + +msgid "" +"Two additional functions are defined for more general manipulation of the " +"file's mode:" +msgstr "" +"Дві додаткові функції визначені для більш загального керування режимом файлу:" + +msgid "" +"Return the portion of the file's mode that can be set by :func:`os.chmod`\\ " +"---that is, the file's permission bits, plus the sticky bit, set-group-id, " +"and set-user-id bits (on systems that support them)." +msgstr "" +"Повертає частину режиму файлу, яку можна встановити за допомогою :func:`os." +"chmod`\\ ---тобто біти дозволу файлу, а також біти sticky, set-group-id та " +"set-user-id. (на системах, які їх підтримують)." + +msgid "" +"Return the portion of the file's mode that describes the file type (used by " +"the :func:`S_IS\\*` functions above)." +msgstr "" +"Повертає частину режиму файлу, яка описує тип файлу (використовується " +"функціями :func:`S_IS\\*` вище)." + +msgid "" +"Normally, you would use the :func:`os.path.is\\*` functions for testing the " +"type of a file; the functions here are useful when you are doing multiple " +"tests of the same file and wish to avoid the overhead of the :c:func:`stat` " +"system call for each test. These are also useful when checking for " +"information about a file that isn't handled by :mod:`os.path`, like the " +"tests for block and character devices." +msgstr "" +"Зазвичай ви використовуєте функції :func:`os.path.is\\*` для перевірки типу " +"файлу; наведені тут функції корисні, коли ви виконуєте кілька тестів одного " +"файлу та бажаєте уникнути накладних витрат на системний виклик :c:func:" +"`stat` для кожного тесту. Це також корисно під час перевірки інформації про " +"файл, який не обробляється :mod:`os.path`, наприклад тести для блокових і " +"символьних пристроїв." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"An additional utility function is provided to convert a file's mode in a " +"human readable string:" +msgstr "" +"Надається додаткова службова функція для перетворення режиму файлу в " +"зрозумілий рядок:" + +msgid "Convert a file's mode to a string of the form '-rwxrwxrwx'." +msgstr "Перетворити режим файлу на рядок у формі '-rwxrwxrwx'." + +msgid "" +"The function supports :data:`S_IFDOOR`, :data:`S_IFPORT` and :data:`S_IFWHT`." +msgstr "" +"Функція підтримує :data:`S_IFDOOR`, :data:`S_IFPORT` і :data:`S_IFWHT`." + +msgid "" +"All the variables below are simply symbolic indexes into the 10-tuple " +"returned by :func:`os.stat`, :func:`os.fstat` or :func:`os.lstat`." +msgstr "" +"Усі наведені нижче змінні є просто символічними індексами в 10-кортежі, які " +"повертає :func:`os.stat`, :func:`os.fstat` або :func:`os.lstat`." + +msgid "Inode protection mode." +msgstr "Режим захисту Inode." + +msgid "Inode number." +msgstr "Номер Inode." + +msgid "Device inode resides on." +msgstr "Inode пристрою знаходиться на." + +msgid "Number of links to the inode." +msgstr "Кількість посилань на inode." + +msgid "User id of the owner." +msgstr "ID користувача власника." + +msgid "Group id of the owner." +msgstr "ID групи власника." + +msgid "" +"Size in bytes of a plain file; amount of data waiting on some special files." +msgstr "" +"Розмір звичайного файлу в байтах; кількість даних, які очікують на деякі " +"спеціальні файли." + +msgid "Time of last access." +msgstr "Час останнього доступу." + +msgid "Time of last modification." +msgstr "Час останньої модифікації." + +msgid "" +"The \"ctime\" as reported by the operating system. On some systems (like " +"Unix) is the time of the last metadata change, and, on others (like " +"Windows), is the creation time (see platform documentation for details)." +msgstr "" +"\"ctime\", як повідомляє операційна система. У деяких системах (як-от Unix) " +"це час останньої зміни метаданих, а в інших (як-от Windows) це час створення " +"(дивіться документацію платформи для отримання додаткової інформації)." + +msgid "" +"The interpretation of \"file size\" changes according to the file type. For " +"plain files this is the size of the file in bytes. For FIFOs and sockets " +"under most flavors of Unix (including Linux in particular), the \"size\" is " +"the number of bytes waiting to be read at the time of the call to :func:`os." +"stat`, :func:`os.fstat`, or :func:`os.lstat`; this can sometimes be useful, " +"especially for polling one of these special files after a non-blocking " +"open. The meaning of the size field for other character and block devices " +"varies more, depending on the implementation of the underlying system call." +msgstr "" +"Інтерпретація \"розміру файлу\" змінюється залежно від типу файлу. Для " +"простих файлів це розмір файлу в байтах. Для FIFO та сокетів у більшості " +"варіантів Unix (зокрема, у Linux), \"розмір\" — це кількість байтів, які " +"очікують на читання під час виклику :func:`os.stat`, :func:`os .fstat` або :" +"func:`os.lstat`; іноді це може бути корисним, особливо для опитування одного " +"з цих спеціальних файлів після неблокуючого відкриття. Значення поля розміру " +"для інших символьних і блочних пристроїв більше змінюється в залежності від " +"реалізації основного системного виклику." + +msgid "The variables below define the flags used in the :data:`ST_MODE` field." +msgstr "" +"Наведені нижче змінні визначають прапорці, які використовуються в полі :data:" +"`ST_MODE`." + +msgid "" +"Use of the functions above is more portable than use of the first set of " +"flags:" +msgstr "" +"Використання наведених вище функцій більш переносне, ніж використання " +"першого набору прапорів:" + +msgid "Socket." +msgstr "Розетка." + +msgid "Symbolic link." +msgstr "Символічне посилання." + +msgid "Regular file." +msgstr "Звичайний файл." + +msgid "Block device." +msgstr "Блокувати пристрій." + +msgid "Directory." +msgstr "Довідник." + +msgid "Character device." +msgstr "Символьний пристрій." + +msgid "FIFO." +msgstr "FIFO." + +msgid "Door." +msgstr "двері." + +msgid "Event port." +msgstr "Порт події." + +msgid "Whiteout." +msgstr "Відбілювання." + +msgid "" +":data:`S_IFDOOR`, :data:`S_IFPORT` or :data:`S_IFWHT` are defined as 0 when " +"the platform does not have support for the file types." +msgstr "" +":data:`S_IFDOOR`, :data:`S_IFPORT` або :data:`S_IFWHT` визначаються як 0, " +"якщо платформа не підтримує типи файлів." + +msgid "" +"The following flags can also be used in the *mode* argument of :func:`os." +"chmod`:" +msgstr "" +"Наступні позначки також можна використовувати в аргументі *mode* :func:`os." +"chmod`:" + +msgid "Set UID bit." +msgstr "Встановити біт UID." + +msgid "" +"Set-group-ID bit. This bit has several special uses. For a directory it " +"indicates that BSD semantics is to be used for that directory: files created " +"there inherit their group ID from the directory, not from the effective " +"group ID of the creating process, and directories created there will also " +"get the :data:`S_ISGID` bit set. For a file that does not have the group " +"execution bit (:data:`S_IXGRP`) set, the set-group-ID bit indicates " +"mandatory file/record locking (see also :data:`S_ENFMT`)." +msgstr "" +"Set-group-ID біт. Цей біт має декілька спеціальних застосувань. Для каталогу " +"це означає, що семантика BSD має використовуватися для цього каталогу: " +"файли, створені там, успадковують свій ідентифікатор групи від каталогу, а " +"не від ефективного ідентифікатора групи процесу створення, і створені там " +"каталоги також отримають Встановлено біт :data:`S_ISGID`. Для файлу, який не " +"має встановленого біта виконання групи (:data:`S_IXGRP`), біт set-group-ID " +"вказує на обов’язкове блокування файлу/запису (див. також :data:`S_ENFMT`)." + +msgid "" +"Sticky bit. When this bit is set on a directory it means that a file in " +"that directory can be renamed or deleted only by the owner of the file, by " +"the owner of the directory, or by a privileged process." +msgstr "" +"Липкий шматочок. Коли цей біт встановлено для каталогу, це означає, що файл " +"у цьому каталозі може бути перейменовано або видалено лише власником файлу, " +"власником каталогу або привілейованим процесом." + +msgid "Mask for file owner permissions." +msgstr "Маска для дозволів власника файлу." + +msgid "Owner has read permission." +msgstr "Власник має дозвіл на читання." + +msgid "Owner has write permission." +msgstr "Власник має дозвіл на запис." + +msgid "Owner has execute permission." +msgstr "Власник має дозвіл на виконання." + +msgid "Mask for group permissions." +msgstr "Маска для групових дозволів." + +msgid "Group has read permission." +msgstr "Група має дозвіл на читання." + +msgid "Group has write permission." +msgstr "Група має дозвіл на запис." + +msgid "Group has execute permission." +msgstr "Група має дозвіл на виконання." + +msgid "Mask for permissions for others (not in group)." +msgstr "Маска для дозволів для інших (не в групі)." + +msgid "Others have read permission." +msgstr "Інші мають дозвіл на читання." + +msgid "Others have write permission." +msgstr "Інші мають дозвіл на запис." + +msgid "Others have execute permission." +msgstr "Інші мають дозвіл на виконання." + +msgid "" +"System V file locking enforcement. This flag is shared with :data:" +"`S_ISGID`: file/record locking is enforced on files that do not have the " +"group execution bit (:data:`S_IXGRP`) set." +msgstr "" +"Примусове блокування файлів System V. Цей прапорець спільний з :data:" +"`S_ISGID`: блокування файлів/записів застосовується для файлів, які не мають " +"встановленого біта виконання групи (:data:`S_IXGRP`)." + +msgid "Unix V7 synonym for :data:`S_IRUSR`." +msgstr "Синонім Unix V7 для :data:`S_IRUSR`." + +msgid "Unix V7 synonym for :data:`S_IWUSR`." +msgstr "Синонім Unix V7 для :data:`S_IWUSR`." + +msgid "Unix V7 synonym for :data:`S_IXUSR`." +msgstr "Синонім Unix V7 для :data:`S_IXUSR`." + +msgid "" +"The following flags can be used in the *flags* argument of :func:`os." +"chflags`:" +msgstr "" +"Наступні позначки можна використовувати в аргументі *flags* :func:`os." +"chflags`:" + +msgid "Do not dump the file." +msgstr "Не скидайте файл." + +msgid "The file may not be changed." +msgstr "Файл не можна змінювати." + +msgid "The file may only be appended to." +msgstr "Файл можна лише додавати до." + +msgid "The directory is opaque when viewed through a union stack." +msgstr "Каталог є непрозорим при перегляді через об’єднаний стек." + +msgid "The file may not be renamed or deleted." +msgstr "Файл не можна перейменовувати або видаляти." + +msgid "The file is stored compressed (macOS 10.6+)." +msgstr "Файл зберігається стисненим (macOS 10.6+)." + +msgid "The file should not be displayed in a GUI (macOS 10.5+)." +msgstr "Файл не повинен відображатися в графічному інтерфейсі (macOS 10.5+)." + +msgid "The file may be archived." +msgstr "Файл може бути заархівований." + +msgid "The file is a snapshot file." +msgstr "Файл є файлом знімка." + +msgid "" +"See the \\*BSD or macOS systems man page :manpage:`chflags(2)` for more " +"information." +msgstr "" +"Для отримання додаткової інформації див. сторінку довідки систем \\*BSD або " +"macOS :manpage:`chflags(2)`." + +msgid "" +"On Windows, the following file attribute constants are available for use " +"when testing bits in the ``st_file_attributes`` member returned by :func:`os." +"stat`. See the `Windows API documentation `_ for more detail on the meaning of " +"these constants." +msgstr "" +"У Windows такі константи атрибутів файлів доступні для використання під час " +"тестування бітів у члені ``st_file_attributes``, який повертає :func:`os." +"stat`. Дивіться `документацію Windows API `_, щоб дізнатися більше про значення " +"цих констант." + +msgid "" +"On Windows, the following constants are available for comparing against the " +"``st_reparse_tag`` member returned by :func:`os.lstat`. These are well-known " +"constants, but are not an exhaustive list." +msgstr "" +"У Windows такі константи доступні для порівняння з елементом " +"``st_reparse_tag``, який повертає :func:`os.lstat`. Це добре відомі " +"константи, але це не вичерпний список." diff --git a/library/statistics.po b/library/statistics.po new file mode 100644 index 000000000..e0622682b --- /dev/null +++ b/library/statistics.po @@ -0,0 +1,1255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`statistics` --- Mathematical statistics functions" +msgstr ":mod:`statistics` --- Функції математичної статистики" + +msgid "**Source code:** :source:`Lib/statistics.py`" +msgstr "**Вихідний код:** :source:`Lib/statistics.py`" + +msgid "" +"This module provides functions for calculating mathematical statistics of " +"numeric (:class:`~numbers.Real`-valued) data." +msgstr "" +"Цей модуль надає функції для обчислення математичної статистики числових (:" +"class:`~numbers.Real`-значних) даних." + +msgid "" +"The module is not intended to be a competitor to third-party libraries such " +"as `NumPy `_, `SciPy `_, or " +"proprietary full-featured statistics packages aimed at professional " +"statisticians such as Minitab, SAS and Matlab. It is aimed at the level of " +"graphing and scientific calculators." +msgstr "" +"Модуль не призначений для конкуренції стороннім бібліотекам, таким як `NumPy " +"`_, `SciPy `_, або власним " +"повнофункціональним пакетам статистики, призначеним для професійних " +"статистиків, таким як Minitab, SAS і Matlab. Він орієнтований на рівень " +"графічних і наукових калькуляторів." + +msgid "" +"Unless explicitly noted, these functions support :class:`int`, :class:" +"`float`, :class:`~decimal.Decimal` and :class:`~fractions.Fraction`. " +"Behaviour with other types (whether in the numeric tower or not) is " +"currently unsupported. Collections with a mix of types are also undefined " +"and implementation-dependent. If your input data consists of mixed types, " +"you may be able to use :func:`map` to ensure a consistent result, for " +"example: ``map(float, input_data)``." +msgstr "" +"Якщо не зазначено явно, ці функції підтримують :class:`int`, :class:" +"`float`, :class:`~decimal.Decimal` і :class:`~fractions.Fraction`. Поведінка " +"з іншими типами (у числовій вежі чи ні) наразі не підтримується. Колекції з " +"сумішшю типів також не визначені та залежать від реалізації. Якщо ваші " +"вхідні дані складаються зі змішаних типів, ви можете використовувати :func:" +"`map`, щоб забезпечити послідовний результат, наприклад: ``map(float, " +"input_data)``." + +msgid "" +"Some datasets use ``NaN`` (not a number) values to represent missing data. " +"Since NaNs have unusual comparison semantics, they cause surprising or " +"undefined behaviors in the statistics functions that sort data or that count " +"occurrences. The functions affected are ``median()``, ``median_low()``, " +"``median_high()``, ``median_grouped()``, ``mode()``, ``multimode()``, and " +"``quantiles()``. The ``NaN`` values should be stripped before calling these " +"functions::" +msgstr "" + +msgid "Averages and measures of central location" +msgstr "Середні значення та міри центрального розташування" + +msgid "" +"These functions calculate an average or typical value from a population or " +"sample." +msgstr "" +"Ці функції обчислюють середнє або типове значення з генеральної сукупності " +"чи вибірки." + +msgid ":func:`mean`" +msgstr ":func:`mean`" + +msgid "Arithmetic mean (\"average\") of data." +msgstr "Середнє арифметичне (\"середнє\") даних." + +msgid ":func:`fmean`" +msgstr ":func:`fmean`" + +msgid "Fast, floating point arithmetic mean, with optional weighting." +msgstr "" + +msgid ":func:`geometric_mean`" +msgstr ":func:`геометричне_середнє`" + +msgid "Geometric mean of data." +msgstr "Середнє геометричне даних." + +msgid ":func:`harmonic_mean`" +msgstr ":func:`harmonic_mean`" + +msgid "Harmonic mean of data." +msgstr "Середнє гармонійне даних." + +msgid ":func:`median`" +msgstr ":func:`median`" + +msgid "Median (middle value) of data." +msgstr "Медіана (середнє значення) даних." + +msgid ":func:`median_low`" +msgstr ":func:`median_low`" + +msgid "Low median of data." +msgstr "Низька медіана даних." + +msgid ":func:`median_high`" +msgstr ":func:`median_high`" + +msgid "High median of data." +msgstr "Висока медіана даних." + +msgid ":func:`median_grouped`" +msgstr ":func:`median_grouped`" + +msgid "Median, or 50th percentile, of grouped data." +msgstr "Медіана, або 50-й процентиль, згрупованих даних." + +msgid ":func:`mode`" +msgstr ":func:`mode`" + +msgid "Single mode (most common value) of discrete or nominal data." +msgstr "" +"Одиночний режим (найпоширеніше значення) дискретних або номінальних даних." + +msgid ":func:`multimode`" +msgstr ":func:`multimode`" + +msgid "List of modes (most common values) of discrete or nominal data." +msgstr "" +"Список режимів (найпоширеніших значень) дискретних або номінальних даних." + +msgid ":func:`quantiles`" +msgstr ":func:`quantiles`" + +msgid "Divide data into intervals with equal probability." +msgstr "Розділіть дані на інтервали з рівною ймовірністю." + +msgid "Measures of spread" +msgstr "Міри поширення" + +msgid "" +"These functions calculate a measure of how much the population or sample " +"tends to deviate from the typical or average values." +msgstr "" +"Ці функції обчислюють міру того, наскільки генеральна сукупність або вибірка " +"має тенденцію відхилятися від типових чи середніх значень." + +msgid ":func:`pstdev`" +msgstr ":func:`pstdev`" + +msgid "Population standard deviation of data." +msgstr "Стандартне відхилення сукупності даних." + +msgid ":func:`pvariance`" +msgstr ":func:`pvariance`" + +msgid "Population variance of data." +msgstr "Популяційна дисперсія даних." + +msgid ":func:`stdev`" +msgstr ":func:`stdev`" + +msgid "Sample standard deviation of data." +msgstr "Стандартне відхилення вибірки даних." + +msgid ":func:`variance`" +msgstr ":func:`variance`" + +msgid "Sample variance of data." +msgstr "Вибіркова дисперсія даних." + +msgid "Statistics for relations between two inputs" +msgstr "Статистика для відносин між двома вхідними даними" + +msgid "" +"These functions calculate statistics regarding relations between two inputs." +msgstr "" +"Ці функції обчислюють статистичні дані щодо зв’язків між двома входами." + +msgid ":func:`covariance`" +msgstr ":func:`covariance`" + +msgid "Sample covariance for two variables." +msgstr "Вибіркова коваріація для двох змінних." + +msgid ":func:`correlation`" +msgstr ":func:`correlation`" + +msgid "Pearson's correlation coefficient for two variables." +msgstr "Коефіцієнт кореляції Пірсона для двох змінних." + +msgid ":func:`linear_regression`" +msgstr ":func:`лінійна_регресія`" + +msgid "Slope and intercept for simple linear regression." +msgstr "Нахил і відрізок для простої лінійної регресії." + +msgid "Function details" +msgstr "Деталі функції" + +msgid "" +"Note: The functions do not require the data given to them to be sorted. " +"However, for reading convenience, most of the examples show sorted sequences." +msgstr "" +"Примітка. Функції не вимагають сортування наданих їм даних. Однак для " +"зручності читання більшість прикладів показують відсортовані послідовності." + +msgid "" +"Return the sample arithmetic mean of *data* which can be a sequence or " +"iterable." +msgstr "" +"Повертає зразкове середнє арифметичне *даних*, яке може бути послідовністю " +"або ітерованим." + +msgid "" +"The arithmetic mean is the sum of the data divided by the number of data " +"points. It is commonly called \"the average\", although it is only one of " +"many different mathematical averages. It is a measure of the central " +"location of the data." +msgstr "" +"Середнє арифметичне — це сума даних, поділена на кількість точок даних. Його " +"зазвичай називають \"середнім\", хоча це лише одне з багатьох різних " +"математичних середніх. Це міра центрального розташування даних." + +msgid "If *data* is empty, :exc:`StatisticsError` will be raised." +msgstr "Якщо *data* порожній, буде викликано :exc:`StatisticsError`." + +msgid "Some examples of use:" +msgstr "Деякі приклади використання:" + +msgid "" +"The mean is strongly affected by `outliers `_ and is not necessarily a typical example of the data points. For " +"a more robust, although less efficient, measure of `central tendency " +"`_, see :func:`median`." +msgstr "" +"На середнє значення сильно впливають `викиди `_ і не обов’язково є типовим прикладом точок даних. Для більш " +"надійного, хоча й менш ефективного вимірювання `центральної тенденції " +"`_, див. :func:`median`." + +msgid "" +"The sample mean gives an unbiased estimate of the true population mean, so " +"that when taken on average over all the possible samples, ``mean(sample)`` " +"converges on the true mean of the entire population. If *data* represents " +"the entire population rather than a sample, then ``mean(data)`` is " +"equivalent to calculating the true population mean μ." +msgstr "" +"Середнє значення вибірки дає неупереджену оцінку справжнього середнього " +"значення генеральної сукупності, так що, узявши середнє значення за всіма " +"можливими вибірками, \"середнє (вибірка)\" збігається зі справжнім середнім " +"значенням усієї генеральної сукупності. Якщо *data* представляє всю " +"генеральну сукупність, а не вибірку, тоді ``середнє (дані)`` еквівалентно " +"обчисленню справжнього середнього µ генеральної сукупності." + +msgid "Convert *data* to floats and compute the arithmetic mean." +msgstr "" +"Перетворіть *дані* на числа з плаваючою точкою та обчисліть середнє " +"арифметичне." + +msgid "" +"This runs faster than the :func:`mean` function and it always returns a :" +"class:`float`. The *data* may be a sequence or iterable. If the input " +"dataset is empty, raises a :exc:`StatisticsError`." +msgstr "" +"Це працює швидше, ніж функція :func:`mean`, і завжди повертає :class:" +"`float`. *Дані* можуть бути послідовністю або ітерованими. Якщо вхідний " +"набір даних порожній, виникає :exc:`StatisticsError`." + +msgid "" +"Optional weighting is supported. For example, a professor assigns a grade " +"for a course by weighting quizzes at 20%, homework at 20%, a midterm exam at " +"30%, and a final exam at 30%:" +msgstr "" + +msgid "" +"If *weights* is supplied, it must be the same length as the *data* or a :exc:" +"`ValueError` will be raised." +msgstr "" + +msgid "Added support for *weights*." +msgstr "Додано підтримку *ваги*." + +msgid "Convert *data* to floats and compute the geometric mean." +msgstr "" +"Перетворіть *дані* на числа з плаваючою точкою та обчисліть середнє " +"геометричне." + +msgid "" +"The geometric mean indicates the central tendency or typical value of the " +"*data* using the product of the values (as opposed to the arithmetic mean " +"which uses their sum)." +msgstr "" +"Середнє геометричне вказує на центральну тенденцію або типове значення " +"*даних* за допомогою добутку значень (на відміну від середнього " +"арифметичного, яке використовує їх суму)." + +msgid "" +"Raises a :exc:`StatisticsError` if the input dataset is empty, if it " +"contains a zero, or if it contains a negative value. The *data* may be a " +"sequence or iterable." +msgstr "" +"Викликає :exc:`StatisticsError`, якщо вхідний набір даних порожній, містить " +"нуль або містить від’ємне значення. *Дані* можуть бути послідовністю або " +"ітерованими." + +msgid "" +"No special efforts are made to achieve exact results. (However, this may " +"change in the future.)" +msgstr "" +"Особливих зусиль для досягнення точних результатів не докладається. (Однак " +"це може змінитися в майбутньому.)" + +msgid "" +"Return the harmonic mean of *data*, a sequence or iterable of real-valued " +"numbers. If *weights* is omitted or *None*, then equal weighting is assumed." +msgstr "" +"Повертає середнє гармонічне *даних*, послідовності чи ітерації дійсних " +"чисел. Якщо *weights* пропущено або *None*, тоді передбачається однакове " +"зважування." + +msgid "" +"The harmonic mean is the reciprocal of the arithmetic :func:`mean` of the " +"reciprocals of the data. For example, the harmonic mean of three values *a*, " +"*b* and *c* will be equivalent to ``3/(1/a + 1/b + 1/c)``. If one of the " +"values is zero, the result will be zero." +msgstr "" +"Середнє гармонічне є зворотним арифметичним :func:`mean` зворотних величин " +"даних. Наприклад, середнє гармонійне трьох значень *a*, *b* і *c* буде " +"еквівалентним ``3/(1/a + 1/b + 1/c)``. Якщо одне зі значень дорівнює нулю, " +"результат буде нульовим." + +msgid "" +"The harmonic mean is a type of average, a measure of the central location of " +"the data. It is often appropriate when averaging ratios or rates, for " +"example speeds." +msgstr "" +"Середнє гармонічне — це тип середнього значення, міра центрального " +"розташування даних. Це часто доцільно під час усереднення співвідношень або " +"швидкості, наприклад швидкості." + +msgid "" +"Suppose a car travels 10 km at 40 km/hr, then another 10 km at 60 km/hr. " +"What is the average speed?" +msgstr "" +"Припустимо, автомобіль проїжджає 10 км зі швидкістю 40 км/год, потім ще 10 " +"км зі швидкістю 60 км/год. Яка середня швидкість?" + +msgid "" +"Suppose a car travels 40 km/hr for 5 km, and when traffic clears, speeds-up " +"to 60 km/hr for the remaining 30 km of the journey. What is the average " +"speed?" +msgstr "" +"Припустімо, що автомобіль їде зі швидкістю 40 км/год протягом 5 км, а коли " +"рух припиниться, розвиває швидкість до 60 км/год протягом решти 30 км шляху. " +"Яка середня швидкість?" + +msgid "" +":exc:`StatisticsError` is raised if *data* is empty, any element is less " +"than zero, or if the weighted sum isn't positive." +msgstr "" +":exc:`StatisticsError` виникає, якщо *data* порожні, будь-який елемент менше " +"нуля або якщо зважена сума не додатна." + +msgid "" +"The current algorithm has an early-out when it encounters a zero in the " +"input. This means that the subsequent inputs are not tested for validity. " +"(This behavior may change in the future.)" +msgstr "" +"Поточний алгоритм має ранній вихід, коли він зустрічає нуль у вхідних даних. " +"Це означає, що наступні вхідні дані не перевіряються на дійсність. (Ця " +"поведінка може змінитися в майбутньому.)" + +msgid "" +"Return the median (middle value) of numeric data, using the common \"mean of " +"middle two\" method. If *data* is empty, :exc:`StatisticsError` is raised. " +"*data* can be a sequence or iterable." +msgstr "" +"Повертає медіану (середнє значення) числових даних, використовуючи поширений " +"метод \"середнього середнього двох\". Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." + +msgid "" +"The median is a robust measure of central location and is less affected by " +"the presence of outliers. When the number of data points is odd, the middle " +"data point is returned:" +msgstr "" +"Медіана є надійним показником центрального розташування, і на неї менше " +"впливає наявність викидів. Якщо кількість точок даних непарна, повертається " +"середня точка даних:" + +msgid "" +"When the number of data points is even, the median is interpolated by taking " +"the average of the two middle values:" +msgstr "" +"Якщо кількість точок даних парна, медіана інтерполюється, беручи середнє " +"значення двох середніх значень:" + +msgid "" +"This is suited for when your data is discrete, and you don't mind that the " +"median may not be an actual data point." +msgstr "" +"Це підходить, коли ваші дані є дискретними, і ви не заперечуєте, що медіана " +"може не бути фактичною точкою даних." + +msgid "" +"If the data is ordinal (supports order operations) but not numeric (doesn't " +"support addition), consider using :func:`median_low` or :func:`median_high` " +"instead." +msgstr "" +"Якщо дані є порядковими (підтримують операції порядку), але не числовими (не " +"підтримують додавання), подумайте про використання :func:`median_low` або :" +"func:`median_high` натомість." + +msgid "" +"Return the low median of numeric data. If *data* is empty, :exc:" +"`StatisticsError` is raised. *data* can be a sequence or iterable." +msgstr "" +"Повертає нижню медіану числових даних. Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." + +msgid "" +"The low median is always a member of the data set. When the number of data " +"points is odd, the middle value is returned. When it is even, the smaller " +"of the two middle values is returned." +msgstr "" +"Нижня медіана завжди є членом набору даних. Якщо кількість точок даних " +"непарна, повертається середнє значення. Якщо воно парне, повертається менше " +"з двох середніх значень." + +msgid "" +"Use the low median when your data are discrete and you prefer the median to " +"be an actual data point rather than interpolated." +msgstr "" +"Використовуйте низьку медіану, якщо ваші дані є дискретними, і ви віддаєте " +"перевагу, щоб медіана була фактичною точкою даних, а не інтерпольованою." + +msgid "" +"Return the high median of data. If *data* is empty, :exc:`StatisticsError` " +"is raised. *data* can be a sequence or iterable." +msgstr "" +"Повернути високу медіану даних. Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." + +msgid "" +"The high median is always a member of the data set. When the number of data " +"points is odd, the middle value is returned. When it is even, the larger of " +"the two middle values is returned." +msgstr "" +"Верхня медіана завжди є членом набору даних. Якщо кількість точок даних " +"непарна, повертається середнє значення. Якщо воно парне, повертається більше " +"з двох середніх значень." + +msgid "" +"Use the high median when your data are discrete and you prefer the median to " +"be an actual data point rather than interpolated." +msgstr "" +"Використовуйте високу медіану, якщо ваші дані є дискретними, і ви віддаєте " +"перевагу, щоб медіана була фактичною точкою даних, а не інтерпольованою." + +msgid "" +"Return the median of grouped continuous data, calculated as the 50th " +"percentile, using interpolation. If *data* is empty, :exc:`StatisticsError` " +"is raised. *data* can be a sequence or iterable." +msgstr "" +"Повертає медіану згрупованих безперервних даних, обчислену як 50-й " +"процентиль, використовуючи інтерполяцію. Якщо *data* порожній, виникає :exc:" +"`StatisticsError`. *data* може бути послідовністю або ітерованою." + +msgid "" +"In the following example, the data are rounded, so that each value " +"represents the midpoint of data classes, e.g. 1 is the midpoint of the class " +"0.5--1.5, 2 is the midpoint of 1.5--2.5, 3 is the midpoint of 2.5--3.5, " +"etc. With the data given, the middle value falls somewhere in the class " +"3.5--4.5, and interpolation is used to estimate it:" +msgstr "" +"У наступному прикладі дані округлені, так що кожне значення представляє " +"середину класів даних, напр. 1 — середина класу 0,5--1,5, 2 — середина " +"1,5--2,5, 3 — середина 2,5--3,5 і т. д. З наведеними даними середнє значення " +"потрапляє десь у клас 3,5-- 4.5, а для його оцінки використовується " +"інтерполяція:" + +msgid "" +"Optional argument *interval* represents the class interval, and defaults to " +"1. Changing the class interval naturally will change the interpolation:" +msgstr "" +"Необов’язковий аргумент *інтервал* представляє інтервал класу та за " +"замовчуванням дорівнює 1. Зміна інтервалу класу природно змінить " +"інтерполяцію:" + +msgid "" +"This function does not check whether the data points are at least *interval* " +"apart." +msgstr "" +"Ця функція не перевіряє, чи точки даних розташовані одна від одної принаймні " +"на *інтервал*." + +msgid "" +"Under some circumstances, :func:`median_grouped` may coerce data points to " +"floats. This behaviour is likely to change in the future." +msgstr "" +"За деяких обставин :func:`median_grouped` може примусово використовувати " +"точки даних для плаваючих значень. Ймовірно, ця поведінка зміниться в " +"майбутньому." + +msgid "" +"\"Statistics for the Behavioral Sciences\", Frederick J Gravetter and Larry " +"B Wallnau (8th Edition)." +msgstr "" +"\"Статистика для поведінкових наук\", Фредерік Дж. Граветтер і Ларрі Б. " +"Валнау (8-е видання)." + +msgid "" +"The `SSMEDIAN `_ function in the Gnome Gnumeric " +"spreadsheet, including `this discussion `_." +msgstr "" +"Функція `SSMEDIAN `_ в електронній таблиці Gnome Gnumeric, " +"включаючи `це обговорення `_." + +msgid "" +"Return the single most common data point from discrete or nominal *data*. " +"The mode (when it exists) is the most typical value and serves as a measure " +"of central location." +msgstr "" +"Повертає єдину найпоширенішу точку даних із дискретних або номінальних " +"*даних*. Режим (якщо він існує) є найбільш типовим значенням і служить мірою " +"центрального розташування." + +msgid "" +"If there are multiple modes with the same frequency, returns the first one " +"encountered in the *data*. If the smallest or largest of those is desired " +"instead, use ``min(multimode(data))`` or ``max(multimode(data))``. If the " +"input *data* is empty, :exc:`StatisticsError` is raised." +msgstr "" +"Якщо є кілька режимів з однаковою частотою, повертає перший, який " +"зустрічається в *даних*. Якщо натомість потрібне найменше або найбільше з " +"них, використовуйте ``min(multimode(data))`` або ``max(multimode(data))``. " +"Якщо введення *data* порожнє, виникає :exc:`StatisticsError`." + +msgid "" +"``mode`` assumes discrete data and returns a single value. This is the " +"standard treatment of the mode as commonly taught in schools:" +msgstr "" +"``mode`` передбачає дискретні дані та повертає одне значення. Це стандартне " +"лікування режиму, якому зазвичай навчають у школах:" + +msgid "" +"The mode is unique in that it is the only statistic in this package that " +"also applies to nominal (non-numeric) data:" +msgstr "" +"Режим унікальний тим, що це єдина статистика в цьому пакеті, яка також " +"застосовується до номінальних (нечислових) даних:" + +msgid "" +"Now handles multimodal datasets by returning the first mode encountered. " +"Formerly, it raised :exc:`StatisticsError` when more than one mode was found." +msgstr "" +"Тепер обробляє мультимодальні набори даних, повертаючи перший зустрічається " +"режим. Раніше він викликав :exc:`StatisticsError`, коли було знайдено більше " +"ніж один режим." + +msgid "" +"Return a list of the most frequently occurring values in the order they were " +"first encountered in the *data*. Will return more than one result if there " +"are multiple modes or an empty list if the *data* is empty:" +msgstr "" +"Повертає список значень, які найчастіше зустрічаються, у тому порядку, в " +"якому вони були вперше зустрінуті в *даних*. Поверне більше одного " +"результату, якщо існує кілька режимів, або порожній список, якщо *дані* " +"порожні:" + +msgid "" +"Return the population standard deviation (the square root of the population " +"variance). See :func:`pvariance` for arguments and other details." +msgstr "" +"Повертає стандартне відхилення сукупності (квадратний корінь із дисперсії " +"сукупності). Перегляньте :func:`pvariance` для отримання аргументів та інших " +"деталей." + +msgid "" +"Return the population variance of *data*, a non-empty sequence or iterable " +"of real-valued numbers. Variance, or second moment about the mean, is a " +"measure of the variability (spread or dispersion) of data. A large variance " +"indicates that the data is spread out; a small variance indicates it is " +"clustered closely around the mean." +msgstr "" +"Повертає дисперсію сукупності *даних*, непорожню послідовність або ітерацію " +"дійсних чисел. Дисперсія, або другий момент відносно середнього, є мірою " +"мінливості (розкиду або дисперсії) даних. Велика дисперсія вказує на те, що " +"дані розкидані; невелика дисперсія вказує на те, що вона згрупована близько " +"середнього значення." + +msgid "" +"If the optional second argument *mu* is given, it is typically the mean of " +"the *data*. It can also be used to compute the second moment around a point " +"that is not the mean. If it is missing or ``None`` (the default), the " +"arithmetic mean is automatically calculated." +msgstr "" +"Якщо задано необов’язковий другий аргумент *mu*, зазвичай це середнє " +"значення *data*. Його також можна використовувати для обчислення другого " +"моменту навколо точки, яка не є середнім. Якщо воно відсутнє або ``None`` " +"(за замовчуванням), автоматично обчислюється середнє арифметичне." + +msgid "" +"Use this function to calculate the variance from the entire population. To " +"estimate the variance from a sample, the :func:`variance` function is " +"usually a better choice." +msgstr "" +"Використовуйте цю функцію, щоб обчислити дисперсію для всієї сукупності. Щоб " +"оцінити дисперсію за вибіркою, функція :func:`variance` зазвичай є кращим " +"вибором." + +msgid "Raises :exc:`StatisticsError` if *data* is empty." +msgstr "Викликає :exc:`StatisticsError`, якщо *data* порожні." + +msgid "Examples:" +msgstr "приклади:" + +msgid "" +"If you have already calculated the mean of your data, you can pass it as the " +"optional second argument *mu* to avoid recalculation:" +msgstr "" +"Якщо ви вже обчислили середнє значення своїх даних, ви можете передати його " +"як необов’язковий другий аргумент *mu*, щоб уникнути перерахунку:" + +msgid "Decimals and Fractions are supported:" +msgstr "Підтримуються десяткові знаки та дроби:" + +msgid "" +"When called with the entire population, this gives the population variance " +"σ². When called on a sample instead, this is the biased sample variance s², " +"also known as variance with N degrees of freedom." +msgstr "" +"При виклику з усією сукупністю це дає дисперсію сукупності σ². Якщо замість " +"цього викликати вибірку, це є дисперсія зміщеної вибірки s², також відома як " +"дисперсія з N ступенями свободи." + +msgid "" +"If you somehow know the true population mean μ, you may use this function to " +"calculate the variance of a sample, giving the known population mean as the " +"second argument. Provided the data points are a random sample of the " +"population, the result will be an unbiased estimate of the population " +"variance." +msgstr "" +"Якщо ви якимось чином знаєте справжнє середнє значення сукупності μ, ви " +"можете використати цю функцію для обчислення дисперсії вибірки, вказавши " +"відоме середнє значення сукупності як другий аргумент. За умови, що точки " +"даних є випадковою вибіркою сукупності, результатом буде неупереджена оцінка " +"дисперсії генеральної сукупності." + +msgid "" +"Return the sample standard deviation (the square root of the sample " +"variance). See :func:`variance` for arguments and other details." +msgstr "" +"Повертає стандартне відхилення вибірки (квадратний корінь із дисперсії " +"вибірки). Перегляньте :func:`variance` для отримання аргументів та інших " +"деталей." + +msgid "" +"Return the sample variance of *data*, an iterable of at least two real-" +"valued numbers. Variance, or second moment about the mean, is a measure of " +"the variability (spread or dispersion) of data. A large variance indicates " +"that the data is spread out; a small variance indicates it is clustered " +"closely around the mean." +msgstr "" +"Повертає вибіркову дисперсію *data*, повторюваного принаймні двох дійсних " +"чисел. Дисперсія, або другий момент відносно середнього, є мірою мінливості " +"(розкиду або дисперсії) даних. Велика дисперсія вказує на те, що дані " +"розкидані; невелика дисперсія вказує на те, що вона щільно згрупована " +"навколо середнього значення." + +msgid "" +"If the optional second argument *xbar* is given, it should be the mean of " +"*data*. If it is missing or ``None`` (the default), the mean is " +"automatically calculated." +msgstr "" +"Якщо задано необов’язковий другий аргумент *xbar*, це має бути середнє " +"значення *data*. Якщо воно відсутнє або ``None`` (за замовчуванням), середнє " +"значення обчислюється автоматично." + +msgid "" +"Use this function when your data is a sample from a population. To calculate " +"the variance from the entire population, see :func:`pvariance`." +msgstr "" +"Використовуйте цю функцію, якщо ваші дані є вибіркою із генеральної " +"сукупності. Щоб обчислити дисперсію для всієї сукупності, перегляньте :func:" +"`pvariance`." + +msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." +msgstr "Викликає :exc:`StatisticsError`, якщо *data* має менше двох значень." + +msgid "" +"If you have already calculated the mean of your data, you can pass it as the " +"optional second argument *xbar* to avoid recalculation:" +msgstr "" +"Якщо ви вже обчислили середнє значення ваших даних, ви можете передати його " +"як необов’язковий другий аргумент *xbar*, щоб уникнути повторного обчислення:" + +msgid "" +"This function does not attempt to verify that you have passed the actual " +"mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " +"impossible results." +msgstr "" +"Ця функція не намагається перевірити, що ви передали фактичне середнє як " +"*xbar*. Використання довільних значень для *xbar* може призвести до " +"недійсних або неможливих результатів." + +msgid "Decimal and Fraction values are supported:" +msgstr "Підтримуються десяткові та дробові значення:" + +msgid "" +"This is the sample variance s² with Bessel's correction, also known as " +"variance with N-1 degrees of freedom. Provided that the data points are " +"representative (e.g. independent and identically distributed), the result " +"should be an unbiased estimate of the true population variance." +msgstr "" +"Це вибіркова дисперсія s² з поправкою Бесселя, також відома як дисперсія з " +"N-1 ступенями свободи. За умови, що точки даних є репрезентативними " +"(наприклад, незалежними та однаково розподіленими), результат має бути " +"неупередженою оцінкою справжньої дисперсії сукупності." + +msgid "" +"If you somehow know the actual population mean μ you should pass it to the :" +"func:`pvariance` function as the *mu* parameter to get the variance of a " +"sample." +msgstr "" +"Якщо ви якимось чином знаєте фактичне середнє значення μ, ви повинні " +"передати його функції :func:`pvariance` як параметр *mu*, щоб отримати " +"дисперсію вибірки." + +msgid "" +"Divide *data* into *n* continuous intervals with equal probability. Returns " +"a list of ``n - 1`` cut points separating the intervals." +msgstr "" +"Розділіть *дані* на *n* безперервних інтервалів з рівною ймовірністю. " +"Повертає список ``n - 1`` точок розрізу, що розділяють інтервали." + +msgid "" +"Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " +"*n* to 100 for percentiles which gives the 99 cuts points that separate " +"*data* into 100 equal sized groups. Raises :exc:`StatisticsError` if *n* is " +"not least 1." +msgstr "" +"Встановіть *n* на 4 для квартилів (за замовчуванням). Встановіть *n* на 10 " +"для децилів. Встановіть *n* на 100 для процентилів, що дає 99 точок розрізу, " +"які розділяють *дані* на 100 груп однакового розміру. Викликає :exc:" +"`StatisticsError`, якщо *n* не менше 1." + +msgid "" +"The *data* can be any iterable containing sample data. For meaningful " +"results, the number of data points in *data* should be larger than *n*. " +"Raises :exc:`StatisticsError` if there are not at least two data points." +msgstr "" +"*data* може бути будь-яким iterable, що містить вибіркові дані. Для значущих " +"результатів кількість точок даних у *data* має бути більшою за *n*. " +"Викликає :exc:`StatisticsError`, якщо немає принаймні двох точок даних." + +msgid "" +"The cut points are linearly interpolated from the two nearest data points. " +"For example, if a cut point falls one-third of the distance between two " +"sample values, ``100`` and ``112``, the cut-point will evaluate to ``104``." +msgstr "" +"Точки розрізу лінійно інтерполюються з двох найближчих точок даних. " +"Наприклад, якщо точка зрізу падає на одну третину відстані між двома " +"значеннями вибірки, ``100`` і ``112``, точка зрізу буде оцінена як ``104``." + +msgid "" +"The *method* for computing quantiles can be varied depending on whether the " +"*data* includes or excludes the lowest and highest possible values from the " +"population." +msgstr "" +"*Метод* для обчислення квантилів може варіюватися залежно від того, чи " +"*дані* включають чи виключають найнижчі та найвищі можливі значення з " +"сукупності." + +msgid "" +"The default *method* is \"exclusive\" and is used for data sampled from a " +"population that can have more extreme values than found in the samples. The " +"portion of the population falling below the *i-th* of *m* sorted data points " +"is computed as ``i / (m + 1)``. Given nine sample values, the method sorts " +"them and assigns the following percentiles: 10%, 20%, 30%, 40%, 50%, 60%, " +"70%, 80%, 90%." +msgstr "" +"*Метод* за замовчуванням є \"ексклюзивним\" і використовується для даних, " +"відібраних із сукупності, яка може мати більш екстремальні значення, ніж у " +"вибірках. Частка генеральної сукупності, яка знаходиться нижче *i-ї* з *m* " +"відсортованих точок даних, обчислюється як ``i / (m + 1)``. Маючи дев’ять " +"значень вибірки, метод сортує їх і призначає наступні процентилі: 10%, 20%, " +"30%, 40%, 50%, 60%, 70%, 80%, 90%." + +msgid "" +"Setting the *method* to \"inclusive\" is used for describing population data " +"or for samples that are known to include the most extreme values from the " +"population. The minimum value in *data* is treated as the 0th percentile " +"and the maximum value is treated as the 100th percentile. The portion of the " +"population falling below the *i-th* of *m* sorted data points is computed as " +"``(i - 1) / (m - 1)``. Given 11 sample values, the method sorts them and " +"assigns the following percentiles: 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, " +"80%, 90%, 100%." +msgstr "" +"Встановлення *методу* на \"включно\" використовується для опису даних " +"сукупності або для вибірок, які, як відомо, включають найбільш екстремальні " +"значення сукупності. Мінімальне значення в *даних* розглядається як 0-й " +"процентиль, а максимальне значення розглядається як 100-й процентиль. Частка " +"генеральної сукупності, що опускається нижче *i-ї* з *m* відсортованих точок " +"даних, обчислюється як ``(i - 1) / (m - 1)``. Враховуючи 11 значень вибірки, " +"метод сортує їх і призначає наступні процентилі: 0%, 10%, 20%, 30%, 40%, " +"50%, 60%, 70%, 80%, 90%, 100%." + +msgid "" +"Return the sample covariance of two inputs *x* and *y*. Covariance is a " +"measure of the joint variability of two inputs." +msgstr "" +"Повертає зразкову коваріацію двох вхідних даних *x* і *y*. Коваріація є " +"мірою спільної мінливості двох вхідних даних." + +msgid "" +"Both inputs must be of the same length (no less than two), otherwise :exc:" +"`StatisticsError` is raised." +msgstr "" +"Обидва входи мають бути однакової довжини (не менше двох), інакше виникає :" +"exc:`StatisticsError`." + +msgid "" +"Return the `Pearson's correlation coefficient `_ for two inputs. Pearson's correlation " +"coefficient *r* takes values between -1 and +1. It measures the strength and " +"direction of the linear relationship, where +1 means very strong, positive " +"linear relationship, -1 very strong, negative linear relationship, and 0 no " +"linear relationship." +msgstr "" +"Повертає `коефіцієнт кореляції Пірсона `_ для двох вхідних даних. Коефіцієнт " +"кореляції Пірсона *r* приймає значення від -1 до +1. Він вимірює силу та " +"напрямок лінійного зв’язку, де +1 означає дуже сильний, позитивний лінійний " +"зв’язок, -1 – дуже сильний, негативний лінійний зв’язок, а 0 – відсутність " +"лінійного зв’язку." + +msgid "" +"Both inputs must be of the same length (no less than two), and need not to " +"be constant, otherwise :exc:`StatisticsError` is raised." +msgstr "" +"Обидва вхідні дані мають бути однакової довжини (не менше двох) і не повинні " +"бути постійними, інакше виникає :exc:`StatisticsError`." + +msgid "" +"Return the slope and intercept of `simple linear regression `_ parameters estimated using " +"ordinary least squares. Simple linear regression describes the relationship " +"between an independent variable *x* and a dependent variable *y* in terms of " +"this linear function:" +msgstr "" +"Повертає нахил і відрізок параметрів `простої лінійної регресії `_, оцінених за допомогою " +"звичайних методів найменших квадратів. Проста лінійна регресія описує " +"зв’язок між незалежною змінною *x* і залежною змінною *y* в термінах цієї " +"лінійної функції:" + +msgid "*y = slope \\* x + intercept + noise*" +msgstr "*y = нахил \\* x + перехоплення + шум*" + +msgid "" +"where ``slope`` and ``intercept`` are the regression parameters that are " +"estimated, and ``noise`` represents the variability of the data that was not " +"explained by the linear regression (it is equal to the difference between " +"predicted and actual values of the dependent variable)." +msgstr "" +"де ``нахил`` і ``перетин`` є параметрами регресії, які оцінюються, а ``шум`` " +"представляє мінливість даних, яка не була пояснена лінійною регресією (він " +"дорівнює різниці між прогнозованим і фактичні значення залежної змінної)." + +msgid "" +"Both inputs must be of the same length (no less than two), and the " +"independent variable *x* cannot be constant; otherwise a :exc:" +"`StatisticsError` is raised." +msgstr "" +"Обидва входи повинні мати однакову довжину (не менше двох), а незалежна " +"змінна *x* не може бути постійною; інакше виникає :exc:`StatisticsError`." + +msgid "" +"For example, we can use the `release dates of the Monty Python films " +"`_ to predict the " +"cumulative number of Monty Python films that would have been produced by " +"2019 assuming that they had kept the pace." +msgstr "" +"Наприклад, ми можемо використати `дати виходу фільмів Монті Пайтона `_, щоб передбачити загальну " +"кількість фільмів Монті Пайтона, які були б створені до 2019 року, якщо " +"припустити, що вони тримали темп." + +msgid "" +"If *proportional* is true, the independent variable *x* and the dependent " +"variable *y* are assumed to be directly proportional. The data is fit to a " +"line passing through the origin. Since the *intercept* will always be 0.0, " +"the underlying linear function simplifies to:" +msgstr "" + +msgid "*y = slope \\* x + noise*" +msgstr "" + +msgid "Added support for *proportional*." +msgstr "" + +msgid "Exceptions" +msgstr "Винятки" + +msgid "A single exception is defined:" +msgstr "Визначено єдиний виняток:" + +msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." +msgstr "Підклас :exc:`ValueError` для винятків, пов’язаних зі статистикою." + +msgid ":class:`NormalDist` objects" +msgstr ":class:`NormalDist` об’єкти" + +msgid "" +":class:`NormalDist` is a tool for creating and manipulating normal " +"distributions of a `random variable `_. It is a class that treats the mean and " +"standard deviation of data measurements as a single entity." +msgstr "" +":class:`NormalDist` — це інструмент для створення та керування нормальними " +"розподілами `випадкової змінної `_. Це клас, який розглядає середнє значення " +"та стандартне відхилення вимірювань даних як єдине ціле." + +msgid "" +"Normal distributions arise from the `Central Limit Theorem `_ and have a wide range of " +"applications in statistics." +msgstr "" +"Нормальні розподіли випливають із `Центральної граничної теореми `_ і мають широкий спектр " +"застосувань у статистиці." + +msgid "" +"Returns a new *NormalDist* object where *mu* represents the `arithmetic mean " +"`_ and *sigma* represents the " +"`standard deviation `_." +msgstr "" +"Повертає новий об’єкт *NormalDist*, де *mu* представляє `середнє арифметичне " +"`_, а *sigma* являє собою " +"`стандартне відхилення `_." + +msgid "If *sigma* is negative, raises :exc:`StatisticsError`." +msgstr "Якщо *сигма* від'ємна, викликає :exc:`StatisticsError`." + +msgid "" +"A read-only property for the `arithmetic mean `_ of a normal distribution." +msgstr "" +"Властивість лише для читання для `середнього арифметичного `_ нормального розподілу." + +msgid "" +"A read-only property for the `median `_ of a normal distribution." +msgstr "" +"Властивість лише для читання для `медіани `_ нормального розподілу." + +msgid "" +"A read-only property for the `mode `_ of a normal distribution." +msgstr "" +"Властивість лише для читання для `mode `_ нормального розподілу." + +msgid "" +"A read-only property for the `standard deviation `_ of a normal distribution." +msgstr "" +"Властивість лише для читання для `стандартного відхилення `_ нормального розподілу." + +msgid "" +"A read-only property for the `variance `_ of a normal distribution. Equal to the square of the standard " +"deviation." +msgstr "" +"Властивість лише для читання для `variance `_ нормального розподілу. Дорівнює квадрату стандартного відхилення." + +msgid "" +"Makes a normal distribution instance with *mu* and *sigma* parameters " +"estimated from the *data* using :func:`fmean` and :func:`stdev`." +msgstr "" +"Створює звичайний екземпляр розподілу з параметрами *mu* і *sigma*, " +"оціненими з *data* за допомогою :func:`fmean` і :func:`stdev`." + +msgid "" +"The *data* can be any :term:`iterable` and should consist of values that can " +"be converted to type :class:`float`. If *data* does not contain at least " +"two elements, raises :exc:`StatisticsError` because it takes at least one " +"point to estimate a central value and at least two points to estimate " +"dispersion." +msgstr "" +"*Data* може бути будь-яким :term:`iterable` і має складатися зі значень, які " +"можна перетворити на тип :class:`float`. Якщо *data* не містить принаймні " +"двох елементів, виникає :exc:`StatisticsError`, оскільки для оцінки " +"центрального значення потрібна принаймні одна точка, а для оцінки дисперсії " +"— принаймні дві точки." + +msgid "" +"Generates *n* random samples for a given mean and standard deviation. " +"Returns a :class:`list` of :class:`float` values." +msgstr "" +"Генерує *n* випадкових вибірок для заданого середнього значення та " +"стандартного відхилення. Повертає :class:`list` значень :class:`float`." + +msgid "" +"If *seed* is given, creates a new instance of the underlying random number " +"generator. This is useful for creating reproducible results, even in a " +"multi-threading context." +msgstr "" +"Якщо задано *seed*, створюється новий екземпляр основного генератора " +"випадкових чисел. Це корисно для створення відтворюваних результатів, навіть " +"у багатопоточному контексті." + +msgid "" +"Using a `probability density function (pdf) `_, compute the relative likelihood that a " +"random variable *X* will be near the given value *x*. Mathematically, it is " +"the limit of the ratio ``P(x <= X < x+dx) / dx`` as *dx* approaches zero." +msgstr "" +"Використовуючи `функцію щільності ймовірності (pdf) `_, обчисліть відносну ймовірність " +"того, що випадкова змінна *X* буде близько заданого значення *x*. " +"Математично, це межа відношення ``P(x <= X < x+dx) / dx``, коли *dx* " +"наближається до нуля." + +msgid "" +"The relative likelihood is computed as the probability of a sample occurring " +"in a narrow range divided by the width of the range (hence the word \"density" +"\"). Since the likelihood is relative to other points, its value can be " +"greater than ``1.0``." +msgstr "" + +msgid "" +"Using a `cumulative distribution function (cdf) `_, compute the probability that a " +"random variable *X* will be less than or equal to *x*. Mathematically, it " +"is written ``P(X <= x)``." +msgstr "" +"Використовуючи `кумулятивну функцію розподілу (cdf) `_, обчисліть імовірність того, що " +"випадкова змінна *X* буде меншою або дорівнює *x*. Математично це пишеться " +"як ``P(X <= x)``." + +msgid "" +"Compute the inverse cumulative distribution function, also known as the " +"`quantile function `_ or " +"the `percent-point `_ " +"function. Mathematically, it is written ``x : P(X <= x) = p``." +msgstr "" + +msgid "" +"Finds the value *x* of the random variable *X* such that the probability of " +"the variable being less than or equal to that value equals the given " +"probability *p*." +msgstr "" +"Знаходить таке значення *x* випадкової змінної *X*, що ймовірність того, що " +"змінна буде меншою або дорівнює цьому значенню, дорівнює заданій ймовірності " +"*p*." + +msgid "" +"Measures the agreement between two normal probability distributions. Returns " +"a value between 0.0 and 1.0 giving `the overlapping area for the two " +"probability density functions `_." +msgstr "" +"Вимірює узгодженість між двома нормальними розподілами ймовірностей. " +"Повертає значення від 0,0 до 1,0, що дає `область перекриття для двох " +"функцій щільності ймовірності `_." + +msgid "" +"Divide the normal distribution into *n* continuous intervals with equal " +"probability. Returns a list of (n - 1) cut points separating the intervals." +msgstr "" +"Розділіть нормальний розподіл на *n* безперервних інтервалів з рівною " +"ймовірністю. Повертає список (n - 1) точок розрізу, що розділяють інтервали." + +msgid "" +"Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " +"*n* to 100 for percentiles which gives the 99 cuts points that separate the " +"normal distribution into 100 equal sized groups." +msgstr "" +"Встановіть *n* на 4 для квартилів (за замовчуванням). Встановіть *n* на 10 " +"для децилів. Встановіть *n* на 100 для процентилів, що дає 99 точок " +"розсічення, які поділяють нормальний розподіл на 100 груп однакового розміру." + +msgid "" +"Compute the `Standard Score `_ describing *x* in terms of the number of standard " +"deviations above or below the mean of the normal distribution: ``(x - " +"mean) / stdev``." +msgstr "" +"Обчисліть `Стандартну оцінку `_, що описує *x* у термінах кількості стандартних " +"відхилень вище або нижче середнього нормального розподілу: ``(x - середнє) / " +"стандартне відхилення``." + +msgid "" +"Instances of :class:`NormalDist` support addition, subtraction, " +"multiplication and division by a constant. These operations are used for " +"translation and scaling. For example:" +msgstr "" +"Екземпляри :class:`NormalDist` підтримують додавання, віднімання, множення " +"та ділення на константу. Ці операції використовуються для перекладу та " +"масштабування. Наприклад:" + +msgid "" +"Dividing a constant by an instance of :class:`NormalDist` is not supported " +"because the result wouldn't be normally distributed." +msgstr "" +"Ділення константи на екземпляр :class:`NormalDist` не підтримується, " +"оскільки результат не розподілятиметься нормально." + +msgid "" +"Since normal distributions arise from additive effects of independent " +"variables, it is possible to `add and subtract two independent normally " +"distributed random variables `_ represented as instances of :" +"class:`NormalDist`. For example:" +msgstr "" +"Оскільки нормальний розподіл виникає внаслідок адитивних ефектів незалежних " +"змінних, можна `додавати та віднімати дві незалежні нормально розподілені " +"випадкові змінні `_, представлені як екземпляри :" +"class:`NormalDist`. Наприклад:" + +msgid ":class:`NormalDist` Examples and Recipes" +msgstr ":class:`NormalDist` Приклади та рецепти" + +msgid ":class:`NormalDist` readily solves classic probability problems." +msgstr ":class:`NormalDist` легко вирішує класичні ймовірнісні проблеми." + +msgid "" +"For example, given `historical data for SAT exams `_ showing that scores are " +"normally distributed with a mean of 1060 and a standard deviation of 195, " +"determine the percentage of students with test scores between 1100 and 1200, " +"after rounding to the nearest whole number:" +msgstr "" +"Наприклад, враховуючи `історичні дані для іспитів SAT `_, які показують, що бали " +"зазвичай розподіляються із середнім значенням 1060 і стандартним відхиленням " +"195, визначте відсоток студентів із тестовими балами між 1100 і 1200 після " +"округлення до найближчого цілого номер:" + +msgid "" +"Find the `quartiles `_ and `deciles " +"`_ for the SAT scores:" +msgstr "" +"Знайдіть `квартилі `_ і `децилі " +"`_ для результатів SAT:" + +msgid "" +"To estimate the distribution for a model than isn't easy to solve " +"analytically, :class:`NormalDist` can generate input samples for a `Monte " +"Carlo simulation `_:" +msgstr "" +"Щоб оцінити розподіл для моделі, яку нелегко розв’язати аналітично, :class:" +"`NormalDist` може генерувати вхідні зразки для `симуляції Монте-Карло " +"`_:" + +msgid "" +"Normal distributions can be used to approximate `Binomial distributions " +"`_ when the sample " +"size is large and when the probability of a successful trial is near 50%." +msgstr "" + +msgid "" +"For example, an open source conference has 750 attendees and two rooms with " +"a 500 person capacity. There is a talk about Python and another about Ruby. " +"In previous conferences, 65% of the attendees preferred to listen to Python " +"talks. Assuming the population preferences haven't changed, what is the " +"probability that the Python room will stay within its capacity limits?" +msgstr "" +"Наприклад, конференція з відкритим кодом має 750 учасників і дві кімнати на " +"500 осіб. Є розмова про Python, а інша про Ruby. На попередніх конференціях " +"65% відвідувачів воліли слухати доповіді на Python. Якщо припустити, що " +"переваги населення не змінилися, яка ймовірність того, що кімната Python " +"залишиться в межах своїх можливостей?" + +msgid "Normal distributions commonly arise in machine learning problems." +msgstr "Нормальний розподіл зазвичай виникає в задачах машинного навчання." + +msgid "" +"Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " +"challenge is to predict a person's gender from measurements of normally " +"distributed features including height, weight, and foot size." +msgstr "" + +msgid "" +"We're given a training dataset with measurements for eight people. The " +"measurements are assumed to be normally distributed, so we summarize the " +"data with :class:`NormalDist`:" +msgstr "" +"Нам надається навчальний набір даних із вимірюваннями для восьми осіб. " +"Припускається, що вимірювання мають нормальний розподіл, тому ми " +"підсумовуємо дані за допомогою :class:`NormalDist`:" + +msgid "" +"Next, we encounter a new person whose feature measurements are known but " +"whose gender is unknown:" +msgstr "" +"Далі ми зустрічаємо нову людину, характеристики якої відомі, але стать " +"невідома:" + +msgid "" +"Starting with a 50% `prior probability `_ of being male or female, we compute the posterior as " +"the prior times the product of likelihoods for the feature measurements " +"given the gender:" +msgstr "" +"Починаючи з 50% `попередньої ймовірності `_ бути чоловіком чи жінкою, ми обчислюємо апостеріор як " +"попередній час добуток ймовірностей для вимірювань ознаки з урахуванням " +"статі:" + +msgid "" +"The final prediction goes to the largest posterior. This is known as the " +"`maximum a posteriori `_ or MAP:" +msgstr "" +"Остаточне передбачення йде до найбільшого заднього. Це відомо як `maximum a " +"posteriori `_ " +"або MAP:" diff --git a/library/stdtypes.po b/library/stdtypes.po new file mode 100644 index 000000000..ecd170a76 --- /dev/null +++ b/library/stdtypes.po @@ -0,0 +1,6778 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:13+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Built-in Types" +msgstr "Вбудовані типи" + +msgid "" +"The following sections describe the standard types that are built into the " +"interpreter." +msgstr "" +"У наступних розділах описуються стандартні типи, вбудовані в інтерпретатор." + +msgid "" +"The principal built-in types are numerics, sequences, mappings, classes, " +"instances and exceptions." +msgstr "" +"Основними вбудованими типами є числа, послідовності, відображення, класи, " +"екземпляри та винятки." + +msgid "" +"Some collection classes are mutable. The methods that add, subtract, or " +"rearrange their members in place, and don't return a specific item, never " +"return the collection instance itself but ``None``." +msgstr "" +"Деякі класи колекцій є змінними. Методи, які додають, віднімають або " +"переставляють свої члени на місці, і не повертають конкретний елемент, " +"ніколи не повертають сам екземпляр колекції, але ``Жодного``." + +msgid "" +"Some operations are supported by several object types; in particular, " +"practically all objects can be compared for equality, tested for truth " +"value, and converted to a string (with the :func:`repr` function or the " +"slightly different :func:`str` function). The latter function is implicitly " +"used when an object is written by the :func:`print` function." +msgstr "" +"Деякі операції підтримуються кількома типами об'єктів; зокрема, практично " +"всі об’єкти можна порівняти на рівність, перевірити на значення істинності " +"та перетворити на рядок (за допомогою функції :func:`repr` або трохи іншої " +"функції :func:`str`). Остання функція неявно використовується, коли об’єкт " +"записується функцією :func:`print`." + +msgid "Truth Value Testing" +msgstr "Перевірка правдивості" + +msgid "" +"Any object can be tested for truth value, for use in an :keyword:`if` or :" +"keyword:`while` condition or as operand of the Boolean operations below." +msgstr "" +"Будь-який об’єкт можна перевірити на значення істинності, для використання в " +"умовах :keyword:`if` або :keyword:`while` або як операнд логічних операцій, " +"наведених нижче." + +msgid "" +"By default, an object is considered true unless its class defines either a :" +"meth:`__bool__` method that returns ``False`` or a :meth:`__len__` method " +"that returns zero, when called with the object. [1]_ Here are most of the " +"built-in objects considered false:" +msgstr "" +"За замовчуванням об’єкт вважається істинним, якщо його клас не визначає або " +"метод :meth:`__bool__`, який повертає ``False``, або метод :meth:`__len__`, " +"який повертає нуль під час виклику з об’єктом. [1]_ Ось більшість вбудованих " +"об’єктів, які вважаються помилковими:" + +msgid "constants defined to be false: ``None`` and ``False``." +msgstr "константи, визначені як false: ``None`` і ``False``." + +msgid "" +"zero of any numeric type: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " +"``Fraction(0, 1)``" +msgstr "" +"нуль будь-якого числового типу: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " +"``Fraction(0, 1)``" + +msgid "" +"empty sequences and collections: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " +"``range(0)``" +msgstr "" +"порожні послідовності та колекції: ``''``, ``()``, ``[]``, ``{}``, " +"``set()``, ``range(0)``" + +msgid "" +"Operations and built-in functions that have a Boolean result always return " +"``0`` or ``False`` for false and ``1`` or ``True`` for true, unless " +"otherwise stated. (Important exception: the Boolean operations ``or`` and " +"``and`` always return one of their operands.)" +msgstr "" +"Операції та вбудовані функції, які мають логічний результат, завжди " +"повертають ``0`` або ``False`` для false і ``1`` або ``True`` для true, якщо " +"не вказано інше. (Важливий виняток: логічні операції \"або\" та \"і\" завжди " +"повертають один із своїх операндів.)" + +msgid "Boolean Operations --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" +msgstr "Логічні операції --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" + +msgid "These are the Boolean operations, ordered by ascending priority:" +msgstr "Це логічні операції, упорядковані за зростанням пріоритету:" + +msgid "Operation" +msgstr "Операція" + +msgid "Result" +msgstr "Результат" + +msgid "Notes" +msgstr "Примітки" + +msgid "``x or y``" +msgstr "``x або y``" + +msgid "if *x* is false, then *y*, else *x*" +msgstr "якщо *x* false, то *y*, інакше *x*" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``x and y``" +msgstr "``x і y``" + +msgid "if *x* is false, then *x*, else *y*" +msgstr "якщо *x* false, тоді *x*, інакше *y*" + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "``not x``" +msgstr "``не x``" + +msgid "if *x* is false, then ``True``, else ``False``" +msgstr "якщо *x* false, тоді ``True``, інакше ``False``" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"This is a short-circuit operator, so it only evaluates the second argument " +"if the first one is false." +msgstr "" +"Це оператор короткого замикання, тому він обчислює лише другий аргумент, " +"якщо перший невірний." + +msgid "" +"This is a short-circuit operator, so it only evaluates the second argument " +"if the first one is true." +msgstr "" +"Це оператор короткого замикання, тому він обчислює лише другий аргумент, " +"якщо перший істинний." + +msgid "" +"``not`` has a lower priority than non-Boolean operators, so ``not a == b`` " +"is interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error." +msgstr "" +"``not`` має нижчий пріоритет, ніж не-булеві оператори, тому ``not a == b`` " +"інтерпретується як ``not (a == b)``, а ``a == not b`` є синтаксичною " +"помилкою." + +msgid "Comparisons" +msgstr "Порівняння" + +msgid "" +"There are eight comparison operations in Python. They all have the same " +"priority (which is higher than that of the Boolean operations). Comparisons " +"can be chained arbitrarily; for example, ``x < y <= z`` is equivalent to ``x " +"< y and y <= z``, except that *y* is evaluated only once (but in both cases " +"*z* is not evaluated at all when ``x < y`` is found to be false)." +msgstr "" +"У Python є вісім операцій порівняння. Усі вони мають однаковий пріоритет " +"(вищий, ніж у логічних операцій). Порівняння можна зв'язувати довільно; " +"наприклад, ``x < y <= z`` еквівалентно ``x < y і y <= z``, за винятком того, " +"що *y* обчислюється лише один раз (але в обох випадках *z* не обчислюється в " +"все, коли ``x < y`` виявляється хибним)." + +msgid "This table summarizes the comparison operations:" +msgstr "Ця таблиця підсумовує операції порівняння:" + +msgid "Meaning" +msgstr "Значення" + +msgid "``<``" +msgstr "``<``" + +msgid "strictly less than" +msgstr "строго менше ніж" + +msgid "``<=``" +msgstr "``<=``" + +msgid "less than or equal" +msgstr "менше або дорівнює" + +msgid "``>``" +msgstr "``>``" + +msgid "strictly greater than" +msgstr "строго більше ніж" + +msgid "``>=``" +msgstr "``>=``" + +msgid "greater than or equal" +msgstr "більше або дорівнює" + +msgid "``==``" +msgstr "``==``" + +msgid "equal" +msgstr "рівні" + +msgid "``!=``" +msgstr "``!=``" + +msgid "not equal" +msgstr "не рівні" + +msgid "``is``" +msgstr "``є``" + +msgid "object identity" +msgstr "ідентичність об'єкта" + +msgid "``is not``" +msgstr "``не``" + +msgid "negated object identity" +msgstr "заперечена ідентичність об'єкта" + +msgid "" +"Objects of different types, except different numeric types, never compare " +"equal. The ``==`` operator is always defined but for some object types (for " +"example, class objects) is equivalent to :keyword:`is`. The ``<``, ``<=``, " +"``>`` and ``>=`` operators are only defined where they make sense; for " +"example, they raise a :exc:`TypeError` exception when one of the arguments " +"is a complex number." +msgstr "" +"Об’єкти різних типів, за винятком різних числових типів, ніколи не " +"порівнюються. Оператор ``==`` завжди визначений, але для деяких типів " +"об’єктів (наприклад, об’єктів класу) еквівалентний :keyword:`is`. Оператори " +"``<``, ``<=``, ``>`` і ``>=`` визначені лише там, де вони мають сенс; " +"наприклад, вони викликають виняток :exc:`TypeError`, коли один із аргументів " +"є комплексним числом." + +msgid "" +"Non-identical instances of a class normally compare as non-equal unless the " +"class defines the :meth:`~object.__eq__` method." +msgstr "" +"Неідентичні екземпляри класу зазвичай порівнюються як нерівні, якщо клас не " +"визначає метод :meth:`~object.__eq__`." + +msgid "" +"Instances of a class cannot be ordered with respect to other instances of " +"the same class, or other types of object, unless the class defines enough of " +"the methods :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object." +"__gt__`, and :meth:`~object.__ge__` (in general, :meth:`~object.__lt__` and :" +"meth:`~object.__eq__` are sufficient, if you want the conventional meanings " +"of the comparison operators)." +msgstr "" +"Екземпляри класу не можуть бути впорядковані відносно інших екземплярів того " +"самого класу або інших типів об’єктів, якщо клас не визначає достатньо " +"методів :meth:`~object.__lt__`, :meth:`~object.__le__` , :meth:`~object." +"__gt__` і :meth:`~object.__ge__` (загалом, :meth:`~object.__lt__` і :meth:" +"`~object.__eq__` достатньо, якщо ви хочете звичайні значення операторів " +"порівняння)." + +msgid "" +"The behavior of the :keyword:`is` and :keyword:`is not` operators cannot be " +"customized; also they can be applied to any two objects and never raise an " +"exception." +msgstr "" +"Поведінку операторів :keyword:`is` і :keyword:`is not` не можна налаштувати; " +"також вони можуть бути застосовані до будь-яких двох об’єктів і ніколи не " +"викликають винятків." + +msgid "" +"Two more operations with the same syntactic priority, :keyword:`in` and :" +"keyword:`not in`, are supported by types that are :term:`iterable` or " +"implement the :meth:`__contains__` method." +msgstr "" +"Ще дві операції з таким же синтаксичним пріоритетом, :keyword:`in` і :" +"keyword:`not in`, підтримуються типами, які є :term:`iterable` або " +"реалізують метод :meth:`__contains__`." + +msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" +msgstr "Числові типи --- :class:`int`, :class:`float`, :class:`complex`" + +msgid "" +"There are three distinct numeric types: :dfn:`integers`, :dfn:`floating " +"point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a " +"subtype of integers. Integers have unlimited precision. Floating point " +"numbers are usually implemented using :c:expr:`double` in C; information " +"about the precision and internal representation of floating point numbers " +"for the machine on which your program is running is available in :data:`sys." +"float_info`. Complex numbers have a real and imaginary part, which are each " +"a floating point number. To extract these parts from a complex number *z*, " +"use ``z.real`` and ``z.imag``. (The standard library includes the additional " +"numeric types :mod:`fractions.Fraction`, for rationals, and :mod:`decimal." +"Decimal`, for floating-point numbers with user-definable precision.)" +msgstr "" + +msgid "" +"Numbers are created by numeric literals or as the result of built-in " +"functions and operators. Unadorned integer literals (including hex, octal " +"and binary numbers) yield integers. Numeric literals containing a decimal " +"point or an exponent sign yield floating point numbers. Appending ``'j'`` " +"or ``'J'`` to a numeric literal yields an imaginary number (a complex number " +"with a zero real part) which you can add to an integer or float to get a " +"complex number with real and imaginary parts." +msgstr "" +"Числа створюються за допомогою числових літералів або як результат " +"вбудованих функцій і операторів. Неприкрашені цілі літерали (включаючи " +"шістнадцяткові, вісімкові та двійкові числа) дають цілі числа. Числові " +"літерали, що містять десяткову кому або знак експоненти, дають числа з " +"плаваючою комою. Додавання ``'j'`` або ``'J''`` до числового літералу дає " +"уявне число (комплексне число з нульовою дійсною частиною), яке ви можете " +"додати до цілого числа або числа з плаваючою точкою, щоб отримати комплексне " +"число з дійсним і уявні частини." + +msgid "" +"Python fully supports mixed arithmetic: when a binary arithmetic operator " +"has operands of different numeric types, the operand with the \"narrower\" " +"type is widened to that of the other, where integer is narrower than " +"floating point, which is narrower than complex. A comparison between numbers " +"of different types behaves as though the exact values of those numbers were " +"being compared. [2]_" +msgstr "" +"Python повністю підтримує змішану арифметику: коли двійковий арифметичний " +"оператор має операнди різних числових типів, операнд із \"вужчим\" типом " +"розширюється до операнда іншого типу, де ціле число вужче за число з " +"плаваючою крапкою, яке є вужчим за комплексний. Порівняння між числами " +"різних типів поводиться так, ніби порівнюються точні значення цих чисел. [2]_" + +msgid "" +"The constructors :func:`int`, :func:`float`, and :func:`complex` can be used " +"to produce numbers of a specific type." +msgstr "" +"Конструктори :func:`int`, :func:`float` і :func:`complex` можна " +"використовувати для отримання чисел певного типу." + +msgid "" +"All numeric types (except complex) support the following operations (for " +"priorities of the operations, see :ref:`operator-summary`):" +msgstr "" +"Усі числові типи (крім комплексних) підтримують наступні операції " +"(пріоритети операцій див. :ref:`operator-summary`):" + +msgid "Full documentation" +msgstr "Повна документація" + +msgid "``x + y``" +msgstr "``x + y``" + +msgid "sum of *x* and *y*" +msgstr "сума *x* і *y*" + +msgid "``x - y``" +msgstr "``x - y``" + +msgid "difference of *x* and *y*" +msgstr "різниця *x* і *y*" + +msgid "``x * y``" +msgstr "``x * y``" + +msgid "product of *x* and *y*" +msgstr "добуток *x* і *y*" + +msgid "``x / y``" +msgstr "``x / y``" + +msgid "quotient of *x* and *y*" +msgstr "частка *x* і *y*" + +msgid "``x // y``" +msgstr "``x // y``" + +msgid "floored quotient of *x* and *y*" +msgstr "частка *x* і *y*" + +msgid "``x % y``" +msgstr "``x % y``" + +msgid "remainder of ``x / y``" +msgstr "залишок ``x / y``" + +msgid "``-x``" +msgstr "``-x``" + +msgid "*x* negated" +msgstr "*x* заперечено" + +msgid "``+x``" +msgstr "``+x``" + +msgid "*x* unchanged" +msgstr "*x* без змін" + +msgid "``abs(x)``" +msgstr "``abs(x)``" + +msgid "absolute value or magnitude of *x*" +msgstr "абсолютне значення або величина *x*" + +msgid ":func:`abs`" +msgstr ":func:`abs`" + +msgid "``int(x)``" +msgstr "``int(x)``" + +msgid "*x* converted to integer" +msgstr "*x* перетворено на ціле число" + +msgid "\\(3)\\(6)" +msgstr "\\(3)\\(6)" + +msgid ":func:`int`" +msgstr ":func:`int`" + +msgid "``float(x)``" +msgstr "``float(x)``" + +msgid "*x* converted to floating point" +msgstr "*x* перетворено на число з плаваючою комою" + +msgid "\\(4)\\(6)" +msgstr "\\(4)\\(6)" + +msgid ":func:`float`" +msgstr ":func:`float`" + +msgid "``complex(re, im)``" +msgstr "``complex(re, im)``" + +msgid "" +"a complex number with real part *re*, imaginary part *im*. *im* defaults to " +"zero." +msgstr "" +"комплексне число з дійсною частиною *re*, уявною частиною *im*. *im* за " +"замовчуванням дорівнює нулю." + +msgid "\\(6)" +msgstr "\\(6)" + +msgid ":func:`complex`" +msgstr ":func:`complex`" + +msgid "``c.conjugate()``" +msgstr "``c.conjugate()``" + +msgid "conjugate of the complex number *c*" +msgstr "спряжене комплексне число *c*" + +msgid "``divmod(x, y)``" +msgstr "``divmod(x, y)``" + +msgid "the pair ``(x // y, x % y)``" +msgstr "пара ``(x // y, x % y)``" + +msgid ":func:`divmod`" +msgstr ":func:`divmod`" + +msgid "``pow(x, y)``" +msgstr "``pow(x, y)``" + +msgid "*x* to the power *y*" +msgstr "*x* у степені *y*" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid ":func:`pow`" +msgstr ":func:`pow`" + +msgid "``x ** y``" +msgstr "``x ** y``" + +msgid "" +"Also referred to as integer division. The resultant value is a whole " +"integer, though the result's type is not necessarily int. The result is " +"always rounded towards minus infinity: ``1//2`` is ``0``, ``(-1)//2`` is " +"``-1``, ``1//(-2)`` is ``-1``, and ``(-1)//(-2)`` is ``0``." +msgstr "" +"Також називається цілим діленням. Результуюче значення є цілим числом, хоча " +"тип результату не обов’язково є int. Результат завжди округлюється до мінус " +"нескінченності: ``1//2`` це ``0``, ``(-1)//2`` ``-1``, ``1//(- 2) \"`` — це " +"\"-1\", а \"(-1)//(-2)\" — це \"0\"." + +msgid "" +"Not for complex numbers. Instead convert to floats using :func:`abs` if " +"appropriate." +msgstr "" +"Не для комплексних чисел. Натомість конвертуйте у числа з плаваючою точкою " +"за допомогою :func:`abs`, якщо це доречно." + +msgid "" +"Conversion from floating point to integer may round or truncate as in C; see " +"functions :func:`math.floor` and :func:`math.ceil` for well-defined " +"conversions." +msgstr "" +"Перетворення з плаваючої крапки на ціле число може округлятися або " +"скорочуватися, як у C; див. функції :func:`math.floor` і :func:`math.ceil` " +"для чітко визначених перетворень." + +msgid "" +"float also accepts the strings \"nan\" and \"inf\" with an optional prefix " +"\"+\" or \"-\" for Not a Number (NaN) and positive or negative infinity." +msgstr "" +"float також приймає рядки \"nan\" і \"inf\" з необов'язковим префіксом \"+\" " +"або \"-\" для Not a Number (NaN) і додатною або від'ємною нескінченністю." + +msgid "" +"Python defines ``pow(0, 0)`` and ``0 ** 0`` to be ``1``, as is common for " +"programming languages." +msgstr "" +"Python визначає ``pow(0, 0)`` і ``0 ** 0`` як ``1``, як це прийнято для мов " +"програмування." + +msgid "" +"The numeric literals accepted include the digits ``0`` to ``9`` or any " +"Unicode equivalent (code points with the ``Nd`` property)." +msgstr "" +"Прийнятні числові літерали включають цифри від ``0`` до ``9`` або будь-який " +"еквівалент Unicode (кодові точки з властивістю ``Nd``)." + +msgid "" +"See https://www.unicode.org/Public/14.0.0/ucd/extracted/DerivedNumericType." +"txt for a complete list of code points with the ``Nd`` property." +msgstr "" + +msgid "" +"All :class:`numbers.Real` types (:class:`int` and :class:`float`) also " +"include the following operations:" +msgstr "" +"Усі типи :class:`numbers.Real` (:class:`int` і :class:`float`) також містять " +"такі операції:" + +msgid ":func:`math.trunc(\\ x) `" +msgstr ":func:`math.trunc(\\ x) `" + +msgid "*x* truncated to :class:`~numbers.Integral`" +msgstr "*x* скорочено до :class:`~numbers.Integral`" + +msgid ":func:`round(x[, n]) `" +msgstr ":func:`round(x[, n]) `" + +msgid "" +"*x* rounded to *n* digits, rounding half to even. If *n* is omitted, it " +"defaults to 0." +msgstr "" +"*x* округлено до *n* цифр, округлення половини до парного числа. Якщо *n* " +"опущено, за умовчанням дорівнює 0." + +msgid ":func:`math.floor(\\ x) `" +msgstr ":func:`math.floor(\\ x) `" + +msgid "the greatest :class:`~numbers.Integral` <= *x*" +msgstr "найбільший :class:`~numbers.Integral` <= *x*" + +msgid ":func:`math.ceil(x) `" +msgstr ":func:`math.ceil(x) `" + +msgid "the least :class:`~numbers.Integral` >= *x*" +msgstr "найменший :class:`~numbers.Integral` >= *x*" + +msgid "" +"For additional numeric operations see the :mod:`math` and :mod:`cmath` " +"modules." +msgstr "" +"Для отримання додаткових числових операцій перегляньте модулі :mod:`math` і :" +"mod:`cmath`." + +msgid "Bitwise Operations on Integer Types" +msgstr "Побітові операції над цілими типами" + +msgid "" +"Bitwise operations only make sense for integers. The result of bitwise " +"operations is calculated as though carried out in two's complement with an " +"infinite number of sign bits." +msgstr "" +"Побітові операції мають сенс лише для цілих чисел. Результат порозрядних " +"операцій обчислюється так, ніби виконується в доповненні до двох із " +"нескінченною кількістю знакових бітів." + +msgid "" +"The priorities of the binary bitwise operations are all lower than the " +"numeric operations and higher than the comparisons; the unary operation " +"``~`` has the same priority as the other unary numeric operations (``+`` and " +"``-``)." +msgstr "" +"Пріоритети двійкових порозрядних операцій нижчі, ніж числових операцій, і " +"вищі, ніж порівняння; унарна операція ``~`` має той самий пріоритет, що й " +"інші унарні числові операції (``+`` і ``-``)." + +msgid "This table lists the bitwise operations sorted in ascending priority:" +msgstr "" +"У цій таблиці наведено порозрядні операції, відсортовані за зростанням " +"пріоритету:" + +msgid "``x | y``" +msgstr "``x | y``" + +msgid "bitwise :dfn:`or` of *x* and *y*" +msgstr "порозрядно :dfn:`or` *x* і *y*" + +msgid "\\(4)" +msgstr "\\(4)" + +msgid "``x ^ y``" +msgstr "``x ^ y``" + +msgid "bitwise :dfn:`exclusive or` of *x* and *y*" +msgstr "порозрядно :dfn:`exclusive or` *x* та *y*" + +msgid "``x & y``" +msgstr "``x & y``" + +msgid "bitwise :dfn:`and` of *x* and *y*" +msgstr "порозрядно :dfn:`and` *x* і *y*" + +msgid "``x << n``" +msgstr "``x << n``" + +msgid "*x* shifted left by *n* bits" +msgstr "*x* зміщено вліво на *n* бітів" + +msgid "(1)(2)" +msgstr "(1)(2)" + +msgid "``x >> n``" +msgstr "``x >> n``" + +msgid "*x* shifted right by *n* bits" +msgstr "*x* зміщено праворуч на *n* бітів" + +msgid "(1)(3)" +msgstr "(1)(3)" + +msgid "``~x``" +msgstr "``~x``" + +msgid "the bits of *x* inverted" +msgstr "біти *x* інвертовані" + +msgid "" +"Negative shift counts are illegal and cause a :exc:`ValueError` to be raised." +msgstr "Підрахунок від’ємного зсуву є незаконним і викликає :exc:`ValueError`." + +msgid "" +"A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)``." +msgstr "Зсув вліво на *n* бітів еквівалентний множенню на ``pow(2, n)``." + +msgid "" +"A right shift by *n* bits is equivalent to floor division by ``pow(2, n)``." +msgstr "" +"Зсув праворуч на *n* бітів еквівалентний діленню підлоги за допомогою " +"``pow(2, n)``." + +msgid "" +"Performing these calculations with at least one extra sign extension bit in " +"a finite two's complement representation (a working bit-width of ``1 + max(x." +"bit_length(), y.bit_length())`` or more) is sufficient to get the same " +"result as if there were an infinite number of sign bits." +msgstr "" +"Виконання цих обчислень із принаймні одним додатковим бітом розширення знака " +"в поданні скінченних двох доповнень (робоча бітова ширина ``1 + max(x." +"bit_length(), y.bit_length())`` або більше) є достатньою для отримати той " +"самий результат, ніби існує нескінченна кількість знакових бітів." + +msgid "Additional Methods on Integer Types" +msgstr "Додаткові методи для цілих типів" + +msgid "" +"The int type implements the :class:`numbers.Integral` :term:`abstract base " +"class`. In addition, it provides a few more methods:" +msgstr "" +"Тип int реалізує :class:`numbers.Integral` :term:`abstract base class`. Крім " +"того, він надає ще кілька методів:" + +msgid "" +"Return the number of bits necessary to represent an integer in binary, " +"excluding the sign and leading zeros::" +msgstr "" +"Повертає кількість бітів, необхідних для представлення цілого числа в " +"двійковій системі, за винятком знака та нулів на початку::" + +msgid "" +"More precisely, if ``x`` is nonzero, then ``x.bit_length()`` is the unique " +"positive integer ``k`` such that ``2**(k-1) <= abs(x) < 2**k``. " +"Equivalently, when ``abs(x)`` is small enough to have a correctly rounded " +"logarithm, then ``k = 1 + int(log(abs(x), 2))``. If ``x`` is zero, then ``x." +"bit_length()`` returns ``0``." +msgstr "" +"Точніше, якщо ``x`` відмінне від нуля, то ``x.bit_length()`` є унікальним " +"натуральним числом ``k`` таким, що ``2**(k-1) <= abs(x) < 2**k``. " +"Аналогічно, коли ``abs(x)`` достатньо малий, щоб мати правильно округлений " +"логарифм, тоді ``k = 1 + int(log(abs(x), 2))``. Якщо ``x`` дорівнює нулю, то " +"``x.bit_length()`` повертає ``0``." + +msgid "Equivalent to::" +msgstr "Дорівнює::" + +msgid "" +"Return the number of ones in the binary representation of the absolute value " +"of the integer. This is also known as the population count. Example::" +msgstr "" +"Повертає кількість одиниць у двійковому представленні абсолютного значення " +"цілого числа. Це також відомо як підрахунок населення. Приклад::" + +msgid "Return an array of bytes representing an integer." +msgstr "Повертає масив байтів, що представляє ціле число." + +msgid "" +"The integer is represented using *length* bytes, and defaults to 1. An :exc:" +"`OverflowError` is raised if the integer is not representable with the given " +"number of bytes." +msgstr "" + +msgid "" +"The *byteorder* argument determines the byte order used to represent the " +"integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " +"most significant byte is at the beginning of the byte array. If *byteorder* " +"is ``\"little\"``, the most significant byte is at the end of the byte array." +msgstr "" + +msgid "" +"The *signed* argument determines whether two's complement is used to " +"represent the integer. If *signed* is ``False`` and a negative integer is " +"given, an :exc:`OverflowError` is raised. The default value for *signed* is " +"``False``." +msgstr "" +"Аргумент *signed* визначає, чи використовується доповнення до двох для " +"представлення цілого числа. Якщо *signed* має значення ``False`` і вказано " +"від’ємне ціле число, виникає :exc:`OverflowError`. Значенням за " +"замовчуванням для *signed* є ``False``." + +msgid "" +"The default values can be used to conveniently turn an integer into a single " +"byte object. However, when using the default arguments, don't try to " +"convert a value greater than 255 or you'll get an :exc:`OverflowError`::" +msgstr "" + +msgid "Added default argument values for ``length`` and ``byteorder``." +msgstr "" + +msgid "Return the integer represented by the given array of bytes." +msgstr "Повертає ціле число, представлене заданим масивом байтів." + +msgid "" +"The argument *bytes* must either be a :term:`bytes-like object` or an " +"iterable producing bytes." +msgstr "" +"Аргумент *bytes* має бути або :term:`bytes-like object`, або ітерованим, що " +"створює байти." + +msgid "" +"The *byteorder* argument determines the byte order used to represent the " +"integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " +"most significant byte is at the beginning of the byte array. If *byteorder* " +"is ``\"little\"``, the most significant byte is at the end of the byte " +"array. To request the native byte order of the host system, use :data:`sys." +"byteorder` as the byte order value." +msgstr "" + +msgid "" +"The *signed* argument indicates whether two's complement is used to " +"represent the integer." +msgstr "" +"Аргумент *signed* вказує, чи використовується доповнення до двох для " +"представлення цілого числа." + +msgid "Added default argument value for ``byteorder``." +msgstr "" + +msgid "" +"Return a pair of integers whose ratio is exactly equal to the original " +"integer and with a positive denominator. The integer ratio of integers " +"(whole numbers) is always the integer as the numerator and ``1`` as the " +"denominator." +msgstr "" +"Повертає пару цілих чисел, відношення яких точно дорівнює вихідному числу та " +"має додатний знаменник. Цілочисельне відношення цілих чисел (цілих чисел) " +"завжди є цілим числом як чисельник і \"1\" як знаменник." + +msgid "Additional Methods on Float" +msgstr "Додаткові методи для Float" + +msgid "" +"The float type implements the :class:`numbers.Real` :term:`abstract base " +"class`. float also has the following additional methods." +msgstr "" +"Тип float реалізує :class:`numbers.Real` :term:`abstract base class`. float " +"також має такі додаткові методи." + +msgid "" +"Return a pair of integers whose ratio is exactly equal to the original float " +"and with a positive denominator. Raises :exc:`OverflowError` on infinities " +"and a :exc:`ValueError` on NaNs." +msgstr "" +"Повертає пару цілих чисел, співвідношення яких точно дорівнює початковому " +"float і з додатним знаменником. Викликає :exc:`OverflowError` на " +"нескінченності та :exc:`ValueError` на NaN." + +msgid "" +"Return ``True`` if the float instance is finite with integral value, and " +"``False`` otherwise::" +msgstr "" +"Повертає ``True``, якщо екземпляр float є кінцевим із цілим значенням, і " +"``False`` інакше::" + +msgid "" +"Two methods support conversion to and from hexadecimal strings. Since " +"Python's floats are stored internally as binary numbers, converting a float " +"to or from a *decimal* string usually involves a small rounding error. In " +"contrast, hexadecimal strings allow exact representation and specification " +"of floating-point numbers. This can be useful when debugging, and in " +"numerical work." +msgstr "" +"Два методи підтримують перетворення до та з шістнадцяткових рядків. Оскільки " +"числа з плаваючою точкою Python зберігаються усередині як двійкові числа, " +"перетворення числа з плаваючою точкою в *десятковий* рядок або з нього " +"зазвичай включає невелику помилку округлення. Навпаки, шістнадцяткові рядки " +"дозволяють точне представлення та специфікацію чисел з плаваючою комою. Це " +"може бути корисним під час налагодження та чисельної роботи." + +msgid "" +"Return a representation of a floating-point number as a hexadecimal string. " +"For finite floating-point numbers, this representation will always include a " +"leading ``0x`` and a trailing ``p`` and exponent." +msgstr "" +"Повертає представлення числа з плаваючою комою як шістнадцятковий рядок. Для " +"скінченних чисел з плаваючою комою це представлення завжди включатиме ``0x`` " +"на початку та ``p`` у кінці та експоненту." + +msgid "" +"Class method to return the float represented by a hexadecimal string *s*. " +"The string *s* may have leading and trailing whitespace." +msgstr "" +"Метод класу для повернення числа з плаваючою точкою, представленого " +"шістнадцятковим рядком *s*. Рядок *s* може мати пробіли на початку та в " +"кінці." + +msgid "" +"Note that :meth:`float.hex` is an instance method, while :meth:`float." +"fromhex` is a class method." +msgstr "" +"Зауважте, що :meth:`float.hex` є методом екземпляра, тоді як :meth:`float." +"fromhex` є методом класу." + +msgid "A hexadecimal string takes the form::" +msgstr "Шістнадцятковий рядок має вигляд::" + +msgid "" +"where the optional ``sign`` may by either ``+`` or ``-``, ``integer`` and " +"``fraction`` are strings of hexadecimal digits, and ``exponent`` is a " +"decimal integer with an optional leading sign. Case is not significant, and " +"there must be at least one hexadecimal digit in either the integer or the " +"fraction. This syntax is similar to the syntax specified in section 6.4.4.2 " +"of the C99 standard, and also to the syntax used in Java 1.5 onwards. In " +"particular, the output of :meth:`float.hex` is usable as a hexadecimal " +"floating-point literal in C or Java code, and hexadecimal strings produced " +"by C's ``%a`` format character or Java's ``Double.toHexString`` are accepted " +"by :meth:`float.fromhex`." +msgstr "" +"де необов’язковий ``знак`` може мати ``+`` або ``-``, ``ціле число`` і " +"``дріб`` є рядками шістнадцяткових цифр, а ``експонента`` є десятковим цілим " +"числом з необов’язковим переднім знаком. Регістр не є значущим, і в цілому " +"чи дробі має бути принаймні одна шістнадцяткова цифра. Цей синтаксис " +"подібний до синтаксису, зазначеного в розділі 6.4.4.2 стандарту C99, а також " +"до синтаксису, який використовується в Java 1.5 і далі. Зокрема, вихід :meth:" +"`float.hex` можна використовувати як шістнадцятковий літерал із плаваючою " +"комою в коді C або Java, а також шістнадцяткові рядки, створені символом " +"формату C ``%a`` або ``Double.toHexString`` Java приймаються :meth:`float." +"fromhex`." + +msgid "" +"Note that the exponent is written in decimal rather than hexadecimal, and " +"that it gives the power of 2 by which to multiply the coefficient. For " +"example, the hexadecimal string ``0x3.a7p10`` represents the floating-point " +"number ``(3 + 10./16 + 7./16**2) * 2.0**10``, or ``3740.0``::" +msgstr "" +"Зауважте, що експонента записується в десятковій, а не в шістнадцятковій " +"формі, і що вона дає ступінь 2, на який потрібно помножити коефіцієнт. " +"Наприклад, шістнадцятковий рядок ``0x3.a7p10`` представляє число з плаваючою " +"комою ``(3 + 10./16 + 7./16**2) * 2.0**10`` або ``3740.0``::" + +msgid "" +"Applying the reverse conversion to ``3740.0`` gives a different hexadecimal " +"string representing the same number::" +msgstr "" +"Застосування зворотного перетворення до ``3740.0`` дає інший шістнадцятковий " +"рядок, що представляє те саме число::" + +msgid "Hashing of numeric types" +msgstr "Хешування числових типів" + +msgid "" +"For numbers ``x`` and ``y``, possibly of different types, it's a requirement " +"that ``hash(x) == hash(y)`` whenever ``x == y`` (see the :meth:`~object." +"__hash__` method documentation for more details). For ease of " +"implementation and efficiency across a variety of numeric types (including :" +"class:`int`, :class:`float`, :class:`decimal.Decimal` and :class:`fractions." +"Fraction`) Python's hash for numeric types is based on a single mathematical " +"function that's defined for any rational number, and hence applies to all " +"instances of :class:`int` and :class:`fractions.Fraction`, and all finite " +"instances of :class:`float` and :class:`decimal.Decimal`. Essentially, this " +"function is given by reduction modulo ``P`` for a fixed prime ``P``. The " +"value of ``P`` is made available to Python as the :attr:`modulus` attribute " +"of :data:`sys.hash_info`." +msgstr "" +"Для чисел ``x`` і ``y``, можливо, різних типів, є вимога, щоб ``hash(x) == " +"hash(y)`` щоразу, коли ``x == y`` (див. : документація методу :meth:`~object." +"__hash__` для отримання додаткової інформації). Для простоти впровадження та " +"ефективності для різноманітних числових типів (зокрема :class:`int`, :class:" +"`float`, :class:`decimal.Decimal` і :class:`fractions.Fraction`) хеш Python " +"для числових типи базується на одній математичній функції, яка визначена для " +"будь-якого раціонального числа, і, отже, застосовується до всіх екземплярів :" +"class:`int` і :class:`fractions.Fraction`, а також усіх кінцевих " +"екземплярів :class:`float` і :class:`decimal.Decimal`. По суті, ця функція " +"задана скороченням за модулем ``P`` для фіксованого простого ``P``. Значення " +"``P`` стає доступним для Python як атрибут :attr:`modulus` :data:`sys." +"hash_info`." + +msgid "" +"Currently, the prime used is ``P = 2**31 - 1`` on machines with 32-bit C " +"longs and ``P = 2**61 - 1`` on machines with 64-bit C longs." +msgstr "" +"В даний час простим числом, яке використовується, є ``P = 2**31 - 1`` на " +"машинах з 32-розрядним C long і ``P = 2**61 - 1`` на машинах з 64-бітним C " +"long." + +msgid "Here are the rules in detail:" +msgstr "Ось правила в деталях:" + +msgid "" +"If ``x = m / n`` is a nonnegative rational number and ``n`` is not divisible " +"by ``P``, define ``hash(x)`` as ``m * invmod(n, P) % P``, where ``invmod(n, " +"P)`` gives the inverse of ``n`` modulo ``P``." +msgstr "" +"Якщо ``x = m / n`` є невід’ємним раціональним числом, а ``n`` не ділиться на " +"``P``, визначте ``hash(x)`` як ``m * invmod(n, P`` ) % P``, де ``invmod(n, " +"P)`` дає обернене ``n`` за модулем ``P``." + +msgid "" +"If ``x = m / n`` is a nonnegative rational number and ``n`` is divisible by " +"``P`` (but ``m`` is not) then ``n`` has no inverse modulo ``P`` and the rule " +"above doesn't apply; in this case define ``hash(x)`` to be the constant " +"value ``sys.hash_info.inf``." +msgstr "" +"Якщо ``x = m / n`` є невід’ємним раціональним числом, а ``n`` ділиться на " +"``P`` (але ``m`` не ділиться на ``m``), тоді ``n`` не має оберненого " +"модуля``P`` і правило вище не застосовується; у цьому випадку визначте " +"``hash(x)`` як постійне значення ``sys.hash_info.inf``." + +msgid "" +"If ``x = m / n`` is a negative rational number define ``hash(x)`` as ``-" +"hash(-x)``. If the resulting hash is ``-1``, replace it with ``-2``." +msgstr "" +"Якщо ``x = m / n`` є від’ємним раціональним числом, визначте ``hash(x)`` як " +"``-hash(-x)``. Якщо отриманий хеш дорівнює ``-1``, замініть його ``-2``." + +msgid "" +"The particular values ``sys.hash_info.inf`` and ``-sys.hash_info.inf`` are " +"used as hash values for positive infinity or negative infinity " +"(respectively)." +msgstr "" +"Конкретні значення ``sys.hash_info.inf`` і ``-sys.hash_info.inf`` " +"використовуються як хеш-значення для позитивної нескінченності або " +"негативної нескінченності (відповідно)." + +msgid "" +"For a :class:`complex` number ``z``, the hash values of the real and " +"imaginary parts are combined by computing ``hash(z.real) + sys.hash_info." +"imag * hash(z.imag)``, reduced modulo ``2**sys.hash_info.width`` so that it " +"lies in ``range(-2**(sys.hash_info.width - 1), 2**(sys.hash_info.width - " +"1))``. Again, if the result is ``-1``, it's replaced with ``-2``." +msgstr "" +"Для :class:`complex` числа ``z`` хеш-значення дійсної та уявної частин " +"поєднуються шляхом обчислення ``hash(z.real) + sys.hash_info.imag * hash(z." +"imag)``, зменшено за модулем ``2**sys.hash_info.width`` так, щоб він " +"знаходився в ``діапазоні (-2**(sys.hash_info.width - 1), 2**(sys.hash_info." +"width - 1) ))``. Знову ж таки, якщо результат ``-1``, він замінюється на " +"``-2``." + +msgid "" +"To clarify the above rules, here's some example Python code, equivalent to " +"the built-in hash, for computing the hash of a rational number, :class:" +"`float`, or :class:`complex`::" +msgstr "" +"Щоб прояснити наведені вище правила, ось приклад коду Python, еквівалентного " +"вбудованому хешу, для обчислення хешу раціонального числа, :class:`float` " +"або :class:`complex`::" + +msgid "Iterator Types" +msgstr "Типи ітераторів" + +msgid "" +"Python supports a concept of iteration over containers. This is implemented " +"using two distinct methods; these are used to allow user-defined classes to " +"support iteration. Sequences, described below in more detail, always " +"support the iteration methods." +msgstr "" +"Python підтримує концепцію ітерації над контейнерами. Це реалізується за " +"допомогою двох різних методів; вони використовуються, щоб дозволити " +"визначеним користувачем класам підтримувати ітерацію. Послідовності, описані " +"нижче більш детально, завжди підтримують ітераційні методи." + +msgid "" +"One method needs to be defined for container objects to provide :term:" +"`iterable` support:" +msgstr "" +"Потрібно визначити один метод для об’єктів-контейнерів, щоб забезпечити " +"підтримку :term:`iterable`:" + +msgid "" +"Return an :term:`iterator` object. The object is required to support the " +"iterator protocol described below. If a container supports different types " +"of iteration, additional methods can be provided to specifically request " +"iterators for those iteration types. (An example of an object supporting " +"multiple forms of iteration would be a tree structure which supports both " +"breadth-first and depth-first traversal.) This method corresponds to the :c:" +"member:`~PyTypeObject.tp_iter` slot of the type structure for Python objects " +"in the Python/C API." +msgstr "" +"Повертає об’єкт :term:`iterator`. Об’єкт повинен підтримувати описаний нижче " +"протокол ітератора. Якщо контейнер підтримує різні типи ітерацій, можна " +"надати додаткові методи для спеціального запиту ітераторів для цих типів " +"ітерацій. (Прикладом об’єкта, що підтримує кілька форм ітерації, може бути " +"деревоподібна структура, яка підтримує обхід як у ширину, так і в глибину.) " +"Цей метод відповідає слоту :c:member:`~PyTypeObject.tp_iter` структури типу " +"для об’єктів Python в API Python/C." + +msgid "" +"The iterator objects themselves are required to support the following two " +"methods, which together form the :dfn:`iterator protocol`:" +msgstr "" +"Самі об’єкти ітератора повинні підтримувати наступні два методи, які разом " +"утворюють :dfn:`iterator protocol`:" + +msgid "" +"Return the :term:`iterator` object itself. This is required to allow both " +"containers and iterators to be used with the :keyword:`for` and :keyword:" +"`in` statements. This method corresponds to the :c:member:`~PyTypeObject." +"tp_iter` slot of the type structure for Python objects in the Python/C API." +msgstr "" +"Повертає сам об’єкт :term:`iterator`. Це потрібно, щоб дозволити " +"використовувати як контейнери, так і ітератори з операторами :keyword:`for` " +"і :keyword:`in`. Цей метод відповідає слоту :c:member:`~PyTypeObject." +"tp_iter` структури типу для об’єктів Python в API Python/C." + +msgid "" +"Return the next item from the :term:`iterator`. If there are no further " +"items, raise the :exc:`StopIteration` exception. This method corresponds to " +"the :c:member:`~PyTypeObject.tp_iternext` slot of the type structure for " +"Python objects in the Python/C API." +msgstr "" +"Повертає наступний елемент із :term:`iterator`. Якщо більше елементів немає, " +"підніміть виняток :exc:`StopIteration`. Цей метод відповідає слоту :c:member:" +"`~PyTypeObject.tp_iternext` структури типу для об’єктів Python в API Python/" +"C." + +msgid "" +"Python defines several iterator objects to support iteration over general " +"and specific sequence types, dictionaries, and other more specialized " +"forms. The specific types are not important beyond their implementation of " +"the iterator protocol." +msgstr "" +"Python визначає декілька об’єктів-ітераторів для підтримки ітерації " +"загальних і конкретних типів послідовностей, словників та інших більш " +"спеціалізованих форм. Конкретні типи не важливі за межами їхньої реалізації " +"протоколу ітератора." + +msgid "" +"Once an iterator's :meth:`~iterator.__next__` method raises :exc:" +"`StopIteration`, it must continue to do so on subsequent calls. " +"Implementations that do not obey this property are deemed broken." +msgstr "" +"Коли метод :meth:`~iterator.__next__` ітератора викликає :exc:" +"`StopIteration`, він повинен продовжувати робити це під час наступних " +"викликів. Реалізації, які не підкоряються цій властивості, вважаються " +"зламаними." + +msgid "Generator Types" +msgstr "Типи генераторів" + +msgid "" +"Python's :term:`generator`\\s provide a convenient way to implement the " +"iterator protocol. If a container object's :meth:`__iter__` method is " +"implemented as a generator, it will automatically return an iterator object " +"(technically, a generator object) supplying the :meth:`__iter__` and :meth:" +"`~generator.__next__` methods. More information about generators can be " +"found in :ref:`the documentation for the yield expression `." +msgstr "" +":term:`generator`\\s Python надають зручний спосіб реалізації протоколу " +"ітератора. Якщо метод :meth:`__iter__` об’єкта-контейнера реалізовано як " +"генератор, він автоматично повертатиме об’єкт-ітератор (технічно, об’єкт-" +"генератор), що надає методи :meth:`__iter__` і :meth:`~generator.__next__` . " +"Більше інформації про генератори можна знайти в :ref:`документації для " +"виразу yield `." + +msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" +msgstr "Типи послідовностей --- :class:`list`, :class:`tuple`, :class:`range`" + +msgid "" +"There are three basic sequence types: lists, tuples, and range objects. " +"Additional sequence types tailored for processing of :ref:`binary data " +"` and :ref:`text strings ` are described in dedicated " +"sections." +msgstr "" +"Існує три основні типи послідовностей: списки, кортежі та об’єкти діапазону. " +"Додаткові типи послідовностей, призначені для обробки :ref:`бінарних даних " +"` і :ref:`текстових рядків `, описані у спеціальних " +"розділах." + +msgid "Common Sequence Operations" +msgstr "Загальні операції послідовності" + +msgid "" +"The operations in the following table are supported by most sequence types, " +"both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " +"provided to make it easier to correctly implement these operations on custom " +"sequence types." +msgstr "" +"Операції в наведеній нижче таблиці підтримують більшість типів " +"послідовностей, як змінних, так і незмінних. :class:`collections.abc." +"Sequence` ABC надається, щоб спростити правильну реалізацію цих операцій у " +"настроюваних типах послідовностей." + +msgid "" +"This table lists the sequence operations sorted in ascending priority. In " +"the table, *s* and *t* are sequences of the same type, *n*, *i*, *j* and *k* " +"are integers and *x* is an arbitrary object that meets any type and value " +"restrictions imposed by *s*." +msgstr "" +"У цій таблиці наведено послідовність операцій, відсортованих за зростанням " +"пріоритету. У таблиці *s* і *t* — послідовності одного типу, *n*, *i*, *j* і " +"*k* — цілі числа, а *x* — довільний об’єкт, який відповідає будь-яким " +"обмеженням щодо типу та значення накладений *s*." + +msgid "" +"The ``in`` and ``not in`` operations have the same priorities as the " +"comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " +"operations have the same priority as the corresponding numeric operations. " +"[3]_" +msgstr "" +"Операції ``in`` і ``not in`` мають ті самі пріоритети, що й операції " +"порівняння. Операції ``+`` (конкатенація) і ``*`` (повторення) мають той " +"самий пріоритет, що й відповідні числові операції. [3]_" + +msgid "``x in s``" +msgstr "``x в s``" + +msgid "``True`` if an item of *s* is equal to *x*, else ``False``" +msgstr "``True``, якщо елемент *s* дорівнює *x*, інакше ``False``" + +msgid "``x not in s``" +msgstr "``x не в s``" + +msgid "``False`` if an item of *s* is equal to *x*, else ``True``" +msgstr "``False``, якщо елемент *s* дорівнює *x*, інакше ``True``" + +msgid "``s + t``" +msgstr "``s + t``" + +msgid "the concatenation of *s* and *t*" +msgstr "конкатенація *s* і *t*" + +msgid "(6)(7)" +msgstr "(6)(7)" + +msgid "``s * n`` or ``n * s``" +msgstr "``s * n`` або ``n * s``" + +msgid "equivalent to adding *s* to itself *n* times" +msgstr "еквівалентно додаванню *s* до самого себе *n* разів" + +msgid "(2)(7)" +msgstr "(2)(7)" + +msgid "``s[i]``" +msgstr "``s[i]``" + +msgid "*i*\\ th item of *s*, origin 0" +msgstr "*i*\\ ий елемент з *s*, джерело 0" + +msgid "``s[i:j]``" +msgstr "``s[i:j]``" + +msgid "slice of *s* from *i* to *j*" +msgstr "фрагмент *s* від *i* до *j*" + +msgid "(3)(4)" +msgstr "(3)(4)" + +msgid "``s[i:j:k]``" +msgstr "``s[i:j:k]``" + +msgid "slice of *s* from *i* to *j* with step *k*" +msgstr "фрагмент *s* від *i* до *j* з кроком *k*" + +msgid "(3)(5)" +msgstr "(3)(5)" + +msgid "``len(s)``" +msgstr "``len(s)``" + +msgid "length of *s*" +msgstr "довжина *s*" + +msgid "``min(s)``" +msgstr "``хв(и)``" + +msgid "smallest item of *s*" +msgstr "найменший елемент *s*" + +msgid "``max(s)``" +msgstr "``max(s)``" + +msgid "largest item of *s*" +msgstr "найбільший предмет *s*" + +msgid "``s.index(x[, i[, j]])``" +msgstr "``s.index(x[, i[, j]])``" + +msgid "" +"index of the first occurrence of *x* in *s* (at or after index *i* and " +"before index *j*)" +msgstr "" +"індекс першого входження *x* у *s* (за або після індексу *i* та перед " +"індексом *j*)" + +msgid "\\(8)" +msgstr "\\(8)" + +msgid "``s.count(x)``" +msgstr "``s.count(x)``" + +msgid "total number of occurrences of *x* in *s*" +msgstr "загальна кількість входжень *x* у *s*" + +msgid "" +"Sequences of the same type also support comparisons. In particular, tuples " +"and lists are compared lexicographically by comparing corresponding " +"elements. This means that to compare equal, every element must compare equal " +"and the two sequences must be of the same type and have the same length. " +"(For full details see :ref:`comparisons` in the language reference.)" +msgstr "" +"Послідовності одного типу також підтримують порівняння. Зокрема, кортежі та " +"списки порівнюються лексикографічно шляхом порівняння відповідних елементів. " +"Це означає, що для порівняння однаково кожен елемент повинен порівнюватись " +"рівно, а дві послідовності мають бути одного типу та мати однакову довжину. " +"(Для отримання повної інформації див. :ref:`comparisons` у мовній довідці.)" + +msgid "" +"Forward and reversed iterators over mutable sequences access values using an " +"index. That index will continue to march forward (or backward) even if the " +"underlying sequence is mutated. The iterator terminates only when an :exc:" +"`IndexError` or a :exc:`StopIteration` is encountered (or when the index " +"drops below zero)." +msgstr "" +"Прямі та зворотні ітератори над змінними послідовностями отримують доступ до " +"значень за допомогою індексу. Цей індекс буде продовжувати рух вперед (або " +"назад), навіть якщо базова послідовність змінена. Ітератор завершується лише " +"тоді, коли зустрічається :exc:`IndexError` або :exc:`StopIteration` (або " +"коли індекс падає нижче нуля)." + +msgid "" +"While the ``in`` and ``not in`` operations are used only for simple " +"containment testing in the general case, some specialised sequences (such " +"as :class:`str`, :class:`bytes` and :class:`bytearray`) also use them for " +"subsequence testing::" +msgstr "" +"У той час як операції ``in`` і ``not in`` використовуються лише для простого " +"тестування локалізації в загальному випадку, деякі спеціалізовані " +"послідовності (такі як :class:`str`, :class:`bytes` і :class:`bytearray`) " +"також використовуйте їх для тестування підпослідовності::" + +msgid "" +"Values of *n* less than ``0`` are treated as ``0`` (which yields an empty " +"sequence of the same type as *s*). Note that items in the sequence *s* are " +"not copied; they are referenced multiple times. This often haunts new " +"Python programmers; consider::" +msgstr "" +"Значення *n*, менші за ``0``, розглядаються як ``0`` (що дає порожню " +"послідовність того самого типу, що й *s*). Зверніть увагу, що елементи в " +"послідовності *s* не копіюються; на них посилаються кілька разів. Це часто " +"переслідує нових програмістів Python; розглянути::" + +msgid "" +"What has happened is that ``[[]]`` is a one-element list containing an empty " +"list, so all three elements of ``[[]] * 3`` are references to this single " +"empty list. Modifying any of the elements of ``lists`` modifies this single " +"list. You can create a list of different lists this way::" +msgstr "" +"Сталося те, що ``[[]]`` є одноелементним списком, який містить порожній " +"список, тому всі три елементи ``[[]] * 3`` є посиланнями на цей єдиний " +"порожній список. Зміна будь-якого з елементів ``списків`` змінює цей єдиний " +"список. Ви можете створити список різних списків таким чином:" + +msgid "" +"Further explanation is available in the FAQ entry :ref:`faq-multidimensional-" +"list`." +msgstr "" +"Подальші пояснення доступні в розділі поширених запитань :ref:`faq-" +"multidimensional-list`." + +msgid "" +"If *i* or *j* is negative, the index is relative to the end of sequence *s*: " +"``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is " +"still ``0``." +msgstr "" +"Якщо *i* або *j* є від’ємними, індекс відноситься до кінця послідовності " +"*s*: замінюється ``len(s) + i`` або ``len(s) + j``. Але зауважте, що ``-0`` " +"все одно ``0``." + +msgid "" +"The slice of *s* from *i* to *j* is defined as the sequence of items with " +"index *k* such that ``i <= k < j``. If *i* or *j* is greater than " +"``len(s)``, use ``len(s)``. If *i* is omitted or ``None``, use ``0``. If " +"*j* is omitted or ``None``, use ``len(s)``. If *i* is greater than or equal " +"to *j*, the slice is empty." +msgstr "" +"Зріз *s* від *i* до *j* визначається як послідовність елементів з індексом " +"*k*, така що ``i <= k < j``. Якщо *i* або *j* більше ніж ``len(s)``, " +"використовуйте ``len(s)``. Якщо *i* пропущено або ``None``, використовуйте " +"``0``. Якщо *j* пропущено або ``None``, використовуйте ``len(s)``. Якщо *i* " +"більше або дорівнює *j*, фрагмент порожній." + +msgid "" +"The slice of *s* from *i* to *j* with step *k* is defined as the sequence of " +"items with index ``x = i + n*k`` such that ``0 <= n < (j-i)/k``. In other " +"words, the indices are ``i``, ``i+k``, ``i+2*k``, ``i+3*k`` and so on, " +"stopping when *j* is reached (but never including *j*). When *k* is " +"positive, *i* and *j* are reduced to ``len(s)`` if they are greater. When " +"*k* is negative, *i* and *j* are reduced to ``len(s) - 1`` if they are " +"greater. If *i* or *j* are omitted or ``None``, they become \"end\" values " +"(which end depends on the sign of *k*). Note, *k* cannot be zero. If *k* is " +"``None``, it is treated like ``1``." +msgstr "" +"Зріз *s* від *i* до *j* з кроком *k* визначається як послідовність елементів " +"з індексом ``x = i + n*k`` так, що ``0 <= n < (j-i )/k``. Іншими словами, " +"індекси ``i``, ``i+k``, ``i+2*k``, ``i+3*k`` і так далі, зупиняючись, коли " +"*j* є досягнуто (але ніколи не включаючи *j*). Коли *k* додатне, *i* і *j* " +"скорочуються до ``len(s)``, якщо вони більші. Коли *k* від’ємне, *i* та *j* " +"скорочуються до ``len(s) - 1``, якщо вони більші. Якщо *i* або *j* пропущені " +"або ``None``, вони стають \"кінцевими\" значеннями (кінець залежить від " +"знака *k*). Зауважте, *k* не може дорівнювати нулю. Якщо *k* має значення " +"``None``, воно розглядається як ``1``." + +msgid "" +"Concatenating immutable sequences always results in a new object. This " +"means that building up a sequence by repeated concatenation will have a " +"quadratic runtime cost in the total sequence length. To get a linear " +"runtime cost, you must switch to one of the alternatives below:" +msgstr "" +"Конкатенація незмінних послідовностей завжди призводить до нового об’єкта. " +"Це означає, що створення послідовності шляхом повторної конкатенації матиме " +"квадратичну вартість виконання в загальній довжині послідовності. Щоб " +"отримати лінійну вартість роботи, ви повинні перейти до однієї з наведених " +"нижче альтернатив:" + +msgid "" +"if concatenating :class:`str` objects, you can build a list and use :meth:" +"`str.join` at the end or else write to an :class:`io.StringIO` instance and " +"retrieve its value when complete" +msgstr "" +"якщо конкатенувати об’єкти :class:`str`, ви можете створити список і " +"використовувати :meth:`str.join` наприкінці або записати в екземпляр :class:" +"`io.StringIO` і отримати його значення після завершення" + +msgid "" +"if concatenating :class:`bytes` objects, you can similarly use :meth:`bytes." +"join` or :class:`io.BytesIO`, or you can do in-place concatenation with a :" +"class:`bytearray` object. :class:`bytearray` objects are mutable and have " +"an efficient overallocation mechanism" +msgstr "" +"якщо конкатенація об’єктів :class:`bytes`, ви можете так само " +"використовувати :meth:`bytes.join` або :class:`io.BytesIO`, або ви можете " +"виконати конкатенацію на місці з об’єктом :class:`bytearray`. Об’єкти :class:" +"`bytearray` є змінними та мають ефективний механізм загального розподілу" + +msgid "if concatenating :class:`tuple` objects, extend a :class:`list` instead" +msgstr "" +"якщо конкатенація об’єктів :class:`tuple`, замість цього розширте :class:" +"`list`" + +msgid "for other types, investigate the relevant class documentation" +msgstr "для інших типів дослідіть відповідну документацію класу" + +msgid "" +"Some sequence types (such as :class:`range`) only support item sequences " +"that follow specific patterns, and hence don't support sequence " +"concatenation or repetition." +msgstr "" +"Деякі типи послідовностей (наприклад, :class:`range`) підтримують лише " +"послідовності елементів, які відповідають певним шаблонам, і, отже, не " +"підтримують конкатенацію або повторення послідовності." + +msgid "" +"``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " +"implementations support passing the additional arguments *i* and *j*. These " +"arguments allow efficient searching of subsections of the sequence. Passing " +"the extra arguments is roughly equivalent to using ``s[i:j].index(x)``, only " +"without copying any data and with the returned index being relative to the " +"start of the sequence rather than the start of the slice." +msgstr "" +"``index`` викликає :exc:`ValueError`, коли *x* не знайдено в *s*. Не всі " +"реалізації підтримують передачу додаткових аргументів *i* і *j*. Ці " +"аргументи дозволяють здійснювати ефективний пошук підрозділів послідовності. " +"Передача додаткових аргументів приблизно еквівалентна використанню ``s[i:j]." +"index(x)``, тільки без копіювання будь-яких даних і з повернутим індексом " +"відносно початку послідовності, а не початку фрагмента. ." + +msgid "Immutable Sequence Types" +msgstr "Незмінні типи послідовностей" + +msgid "" +"The only operation that immutable sequence types generally implement that is " +"not also implemented by mutable sequence types is support for the :func:" +"`hash` built-in." +msgstr "" +"Єдина операція, яку зазвичай реалізують незмінні типи послідовностей, яка " +"також не реалізована змінними типами послідовностей, це підтримка " +"вбудованого :func:`hash`." + +msgid "" +"This support allows immutable sequences, such as :class:`tuple` instances, " +"to be used as :class:`dict` keys and stored in :class:`set` and :class:" +"`frozenset` instances." +msgstr "" +"Ця підтримка дозволяє використовувати незмінні послідовності, такі як " +"екземпляри :class:`tuple`, як ключі :class:`dict` і зберігати їх у " +"екземплярах :class:`set` і :class:`frozenset`." + +msgid "" +"Attempting to hash an immutable sequence that contains unhashable values " +"will result in :exc:`TypeError`." +msgstr "" +"Спроба хешувати незмінну послідовність, яка містить нехешовані значення, " +"призведе до :exc:`TypeError`." + +msgid "Mutable Sequence Types" +msgstr "Змінні типи послідовностей" + +msgid "" +"The operations in the following table are defined on mutable sequence types. " +"The :class:`collections.abc.MutableSequence` ABC is provided to make it " +"easier to correctly implement these operations on custom sequence types." +msgstr "" +"Операції в наведеній нижче таблиці визначено для змінних типів " +"послідовностей. :class:`collections.abc.MutableSequence` ABC надається, щоб " +"спростити правильну реалізацію цих операцій у настроюваних типах " +"послідовностей." + +msgid "" +"In the table *s* is an instance of a mutable sequence type, *t* is any " +"iterable object and *x* is an arbitrary object that meets any type and value " +"restrictions imposed by *s* (for example, :class:`bytearray` only accepts " +"integers that meet the value restriction ``0 <= x <= 255``)." +msgstr "" +"У таблиці *s* є екземпляром змінного типу послідовності, *t* є будь-яким " +"ітерованим об’єктом, а *x* є довільним об’єктом, який відповідає будь-яким " +"обмеженням типу та значення, накладеним *s* (наприклад, :class:`bytearray` " +"приймає лише цілі числа, які відповідають обмеженню значення ``0 <= x <= " +"255``)." + +msgid "``s[i] = x``" +msgstr "``s[i] = x``" + +msgid "item *i* of *s* is replaced by *x*" +msgstr "пункт *i* з *s* замінено на *x*" + +msgid "``s[i:j] = t``" +msgstr "``s[i:j] = t``" + +msgid "" +"slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" +msgstr "фрагмент *s* від *i* до *j* замінюється вмістом ітерованого *t*" + +msgid "``del s[i:j]``" +msgstr "``del s[i:j]``" + +msgid "same as ``s[i:j] = []``" +msgstr "те саме, що ``s[i:j] = []``" + +msgid "``s[i:j:k] = t``" +msgstr "``s[i:j:k] = t``" + +msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" +msgstr "елементи ``s[i:j:k]`` замінюються на елементи *t*" + +msgid "``del s[i:j:k]``" +msgstr "``del s[i:j:k]``" + +msgid "removes the elements of ``s[i:j:k]`` from the list" +msgstr "видаляє елементи ``s[i:j:k]`` зі списку" + +msgid "``s.append(x)``" +msgstr "``s.append(x)``" + +msgid "" +"appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" +msgstr "" +"додає *x* до кінця послідовності (те саме, що ``s[len(s):len(s)] = [x]``)" + +msgid "``s.clear()``" +msgstr "``s.clear()``" + +msgid "removes all items from *s* (same as ``del s[:]``)" +msgstr "видаляє всі елементи з *s* (те саме, що ``del s[:]``)" + +msgid "``s.copy()``" +msgstr "``s.copy()``" + +msgid "creates a shallow copy of *s* (same as ``s[:]``)" +msgstr "створює поверхневу копію *s* (те саме, що ``s[:]``)" + +msgid "``s.extend(t)`` or ``s += t``" +msgstr "``s.extend(t)`` або ``s += t``" + +msgid "" +"extends *s* with the contents of *t* (for the most part the same as " +"``s[len(s):len(s)] = t``)" +msgstr "" +"розширює *s* вмістом *t* (здебільшого те саме, що ``s[len(s):len(s)] = t``)" + +msgid "``s *= n``" +msgstr "``s *= n``" + +msgid "updates *s* with its contents repeated *n* times" +msgstr "оновлює *s* з повторенням його вмісту *n* разів" + +msgid "``s.insert(i, x)``" +msgstr "``s.insert(i, x)``" + +msgid "" +"inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" +msgstr "" +"вставляє *x* в *s* за індексом, заданим *i* (те саме, що ``s[i:i] = [x]``)" + +msgid "``s.pop()`` or ``s.pop(i)``" +msgstr "``s.pop()`` або ``s.pop(i)``" + +msgid "retrieves the item at *i* and also removes it from *s*" +msgstr "отримує елемент у *i*, а також видаляє його з *s*" + +msgid "``s.remove(x)``" +msgstr "``s.remove(x)``" + +msgid "remove the first item from *s* where ``s[i]`` is equal to *x*" +msgstr "видалити перший елемент із *s*, де ``s[i]`` дорівнює *x*" + +msgid "``s.reverse()``" +msgstr "``s.reverse()``" + +msgid "reverses the items of *s* in place" +msgstr "перевертає елементи *s* на місце" + +msgid "*t* must have the same length as the slice it is replacing." +msgstr "*t* має мати таку саму довжину, що й фрагмент, який він замінює." + +msgid "" +"The optional argument *i* defaults to ``-1``, so that by default the last " +"item is removed and returned." +msgstr "" +"Необов’язковий аргумент *i* за умовчанням має значення ``-1``, тому за " +"замовчуванням останній елемент видаляється та повертається." + +msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." +msgstr ":meth:`remove` викликає :exc:`ValueError`, коли *x* не знайдено в *s*." + +msgid "" +"The :meth:`reverse` method modifies the sequence in place for economy of " +"space when reversing a large sequence. To remind users that it operates by " +"side effect, it does not return the reversed sequence." +msgstr "" +"Метод :meth:`reverse` змінює поточну послідовність для економії простору під " +"час реверсування великої послідовності. Щоб нагадати користувачам, що він " +"працює за побічним ефектом, він не повертає зворотну послідовність." + +msgid "" +":meth:`clear` and :meth:`!copy` are included for consistency with the " +"interfaces of mutable containers that don't support slicing operations (such " +"as :class:`dict` and :class:`set`). :meth:`!copy` is not part of the :class:" +"`collections.abc.MutableSequence` ABC, but most concrete mutable sequence " +"classes provide it." +msgstr "" +":meth:`clear` і :meth:`!copy` включено для узгодженості з інтерфейсами " +"змінних контейнерів, які не підтримують операції зрізання (таких як :class:" +"`dict` і :class:`set`). :meth:`!copy` не є частиною :class:`collections.abc." +"MutableSequence` ABC, але більшість конкретних змінних класів послідовності " +"надають його." + +msgid ":meth:`clear` and :meth:`!copy` methods." +msgstr "Методи :meth:`clear` і :meth:`!copy`." + +msgid "" +"The value *n* is an integer, or an object implementing :meth:`~object." +"__index__`. Zero and negative values of *n* clear the sequence. Items in " +"the sequence are not copied; they are referenced multiple times, as " +"explained for ``s * n`` under :ref:`typesseq-common`." +msgstr "" +"Значення *n* є цілим числом або об’єктом, що реалізує :meth:`~object." +"__index__`. Нульові та негативні значення *n* очищають послідовність. " +"Елементи послідовності не копіюються; на них посилаються кілька разів, як " +"пояснюється для ``s * n`` у :ref:`typesseq-common`." + +msgid "Lists" +msgstr "списки" + +msgid "" +"Lists are mutable sequences, typically used to store collections of " +"homogeneous items (where the precise degree of similarity will vary by " +"application)." +msgstr "" +"Списки — це змінювані послідовності, які зазвичай використовуються для " +"зберігання колекцій однорідних елементів (де точний ступінь подібності " +"залежить від програми)." + +msgid "Lists may be constructed in several ways:" +msgstr "Списки можна створювати кількома способами:" + +msgid "Using a pair of square brackets to denote the empty list: ``[]``" +msgstr "" +"Використання пари квадратних дужок для позначення порожнього списку: ``[]``" + +msgid "" +"Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" +msgstr "" +"Використовуючи квадратні дужки, розділяючи елементи комами: ``[a]``, ``[a, " +"b, c]``" + +msgid "Using a list comprehension: ``[x for x in iterable]``" +msgstr "Використання розуміння списку: ``[x for x in iterable]``" + +msgid "Using the type constructor: ``list()`` or ``list(iterable)``" +msgstr "Використання конструктора типу: ``list()`` або ``list(iterable)``" + +msgid "" +"The constructor builds a list whose items are the same and in the same order " +"as *iterable*'s items. *iterable* may be either a sequence, a container " +"that supports iteration, or an iterator object. If *iterable* is already a " +"list, a copy is made and returned, similar to ``iterable[:]``. For example, " +"``list('abc')`` returns ``['a', 'b', 'c']`` and ``list( (1, 2, 3) )`` " +"returns ``[1, 2, 3]``. If no argument is given, the constructor creates a " +"new empty list, ``[]``." +msgstr "" +"Конструктор створює список, елементи якого є такими ж і в тому ж порядку, що " +"й елементи *iterable*. *iterable* може бути або послідовністю, контейнером, " +"який підтримує ітерацію, або об’єктом ітератора. Якщо *iterable* вже є " +"списком, копія створюється та повертається, подібно до ``iterable[:]``. " +"Наприклад, ``list('abc')`` повертає ``['a', 'b', 'c']``, а ``list( (1, 2, " +"3) )`` повертає ``[ 1, 2, 3]``. Якщо аргумент не задано, конструктор створює " +"новий порожній список, ``[]``." + +msgid "" +"Many other operations also produce lists, including the :func:`sorted` built-" +"in." +msgstr "" +"Багато інших операцій також створюють списки, включаючи вбудовану :func:" +"`sorted`." + +msgid "" +"Lists implement all of the :ref:`common ` and :ref:`mutable " +"` sequence operations. Lists also provide the following " +"additional method:" +msgstr "" +"Списки реалізують усі :ref:`common ` і :ref:`mutable " +"` операції послідовності. Списки також надають наступний " +"додатковий метод:" + +msgid "" +"This method sorts the list in place, using only ``<`` comparisons between " +"items. Exceptions are not suppressed - if any comparison operations fail, " +"the entire sort operation will fail (and the list will likely be left in a " +"partially modified state)." +msgstr "" +"Цей метод сортує список на місці, використовуючи лише ``<`` порівняння між " +"елементами. Винятки не пригнічуються — якщо будь-яка операція порівняння " +"завершиться невдало, вся операція сортування буде невдалою (і список, " +"ймовірно, залишиться в частково зміненому стані)." + +msgid "" +":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" +"`keyword-only arguments `):" +msgstr "" +":meth:`sort` приймає два аргументи, які можуть бути передані лише ключовим " +"словом (:ref:`аргументи лише для ключових слів `):" + +msgid "" +"*key* specifies a function of one argument that is used to extract a " +"comparison key from each list element (for example, ``key=str.lower``). The " +"key corresponding to each item in the list is calculated once and then used " +"for the entire sorting process. The default value of ``None`` means that " +"list items are sorted directly without calculating a separate key value." +msgstr "" +"*key* визначає функцію одного аргументу, яка використовується для отримання " +"ключа порівняння з кожного елемента списку (наприклад, ``key=str.lower``). " +"Ключ, що відповідає кожному елементу в списку, обчислюється один раз, а " +"потім використовується для всього процесу сортування. Значення за " +"замовчуванням \"Немає\" означає, що елементи списку сортуються безпосередньо " +"без обчислення окремого значення ключа." + +msgid "" +"The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " +"*cmp* function to a *key* function." +msgstr "" +"Утиліта :func:`functools.cmp_to_key` доступна для перетворення функції *cmp* " +"у стилі 2.x на функцію *key*." + +msgid "" +"*reverse* is a boolean value. If set to ``True``, then the list elements " +"are sorted as if each comparison were reversed." +msgstr "" +"*reverse* — це логічне значення. Якщо встановлено значення ``True``, " +"елементи списку сортуються так, ніби кожне порівняння було зворотним." + +msgid "" +"This method modifies the sequence in place for economy of space when sorting " +"a large sequence. To remind users that it operates by side effect, it does " +"not return the sorted sequence (use :func:`sorted` to explicitly request a " +"new sorted list instance)." +msgstr "" +"Цей метод змінює наявну послідовність для економії простору під час " +"сортування великої послідовності. Щоб нагадати користувачам, що він працює " +"за побічним ефектом, він не повертає відсортовану послідовність " +"(використовуйте :func:`sorted`, щоб явно запитати новий екземпляр " +"відсортованого списку)." + +msgid "" +"The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " +"guarantees not to change the relative order of elements that compare equal " +"--- this is helpful for sorting in multiple passes (for example, sort by " +"department, then by salary grade)." +msgstr "" +"Метод :meth:`sort` гарантовано буде стабільним. Сортування є стабільним, " +"якщо воно гарантує відсутність зміни відносного порядку порівнюваних рівних " +"елементів --- це корисно для сортування за кілька проходів (наприклад, " +"сортування за відділом, а потім за ступенем зарплати)." + +msgid "" +"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." +msgstr "" +"Приклади сортування та короткий посібник із сортування див. :ref:" +"`sortinghowto`." + +msgid "" +"While a list is being sorted, the effect of attempting to mutate, or even " +"inspect, the list is undefined. The C implementation of Python makes the " +"list appear empty for the duration, and raises :exc:`ValueError` if it can " +"detect that the list has been mutated during a sort." +msgstr "" +"Поки список сортується, ефект від спроби змінити або навіть перевірити " +"список не визначено. Реалізація Python на C робить список порожнім протягом " +"певного часу та викликає :exc:`ValueError`, якщо він може виявити, що список " +"було змінено під час сортування." + +msgid "Tuples" +msgstr "Кортежі" + +msgid "" +"Tuples are immutable sequences, typically used to store collections of " +"heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " +"built-in). Tuples are also used for cases where an immutable sequence of " +"homogeneous data is needed (such as allowing storage in a :class:`set` or :" +"class:`dict` instance)." +msgstr "" +"Кортежі — це незмінні послідовності, які зазвичай використовуються для " +"зберігання колекцій різнорідних даних (таких як 2-кортежі, створені за " +"допомогою вбудованої функції :func:`enumerate`). Кортежі також " +"використовуються у випадках, коли потрібна незмінна послідовність однорідних " +"даних (наприклад, дозволити зберігання в екземплярі :class:`set` або :class:" +"`dict`)." + +msgid "Tuples may be constructed in a number of ways:" +msgstr "Кортежі можна побудувати кількома способами:" + +msgid "Using a pair of parentheses to denote the empty tuple: ``()``" +msgstr "" +"Використання пари круглих дужок для позначення порожнього кортежу: ``()``" + +msgid "Using a trailing comma for a singleton tuple: ``a,`` or ``(a,)``" +msgstr "" +"Використання кінцевої коми для одноэлементного кортежу: ``a,`` або ``(a,)``" + +msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" +msgstr "Розділення елементів комами: ``a, b, c`` або ``(a, b, c)``" + +msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" +msgstr "" +"Використання вбудованого :func:`tuple`: ``tuple()`` або ``tuple(iterable)``" + +msgid "" +"The constructor builds a tuple whose items are the same and in the same " +"order as *iterable*'s items. *iterable* may be either a sequence, a " +"container that supports iteration, or an iterator object. If *iterable* is " +"already a tuple, it is returned unchanged. For example, ``tuple('abc')`` " +"returns ``('a', 'b', 'c')`` and ``tuple( [1, 2, 3] )`` returns ``(1, 2, " +"3)``. If no argument is given, the constructor creates a new empty tuple, " +"``()``." +msgstr "" +"Конструктор будує кортеж, елементи якого є такими ж і в тому ж порядку, що й " +"елементи *iterable*. *iterable* може бути або послідовністю, контейнером, " +"який підтримує ітерацію, або об’єктом ітератора. Якщо *iterable* вже є " +"кортежем, він повертається без змін. Наприклад, ``tuple('abc')`` повертає " +"``('a', 'b', 'c')``, ``tuple( [1, 2, 3] )`` повертає ``( 1, 2, 3)``. Якщо " +"аргумент не задано, конструктор створює новий порожній кортеж ``()``." + +msgid "" +"Note that it is actually the comma which makes a tuple, not the parentheses. " +"The parentheses are optional, except in the empty tuple case, or when they " +"are needed to avoid syntactic ambiguity. For example, ``f(a, b, c)`` is a " +"function call with three arguments, while ``f((a, b, c))`` is a function " +"call with a 3-tuple as the sole argument." +msgstr "" +"Зауважте, що насправді кома створює кортеж, а не круглі дужки. Дужки " +"необов’язкові, за винятком порожнього кортежу або коли вони потрібні для " +"уникнення синтаксичної неоднозначності. Наприклад, \"f(a, b, c)\" — це " +"виклик функції з трьома аргументами, тоді як \"f((a, b, c))\" — це виклик " +"функції з 3-кортежем як єдиним аргумент." + +msgid "" +"Tuples implement all of the :ref:`common ` sequence " +"operations." +msgstr "" +"Кортежі реалізують усі :ref:`загальні ` операції " +"послідовності." + +msgid "" +"For heterogeneous collections of data where access by name is clearer than " +"access by index, :func:`collections.namedtuple` may be a more appropriate " +"choice than a simple tuple object." +msgstr "" +"Для різнорідних колекцій даних, де доступ за іменем є зрозумілішим, ніж " +"доступ за індексом, :func:`collections.namedtuple` може бути більш " +"відповідним вибором, ніж простий об’єкт кортежу." + +msgid "Ranges" +msgstr "діапазони" + +msgid "" +"The :class:`range` type represents an immutable sequence of numbers and is " +"commonly used for looping a specific number of times in :keyword:`for` loops." +msgstr "" +"Тип :class:`range` представляє незмінну послідовність чисел і зазвичай " +"використовується для повторення певної кількості разів у циклах :keyword:" +"`for`." + +msgid "" +"The arguments to the range constructor must be integers (either built-in :" +"class:`int` or any object that implements the :meth:`~object.__index__` " +"special method). If the *step* argument is omitted, it defaults to ``1``. " +"If the *start* argument is omitted, it defaults to ``0``. If *step* is " +"zero, :exc:`ValueError` is raised." +msgstr "" +"Аргументи конструктора діапазону мають бути цілими числами (або вбудованим :" +"class:`int`, або будь-яким об’єктом, який реалізує спеціальний метод :meth:" +"`~object.__index__`). Якщо аргумент *step* опущено, за умовчанням він " +"дорівнює ``1``. Якщо аргумент *початок* опущено, за умовчанням він дорівнює " +"``0``. Якщо *крок* дорівнює нулю, виникає :exc:`ValueError`." + +msgid "" +"For a positive *step*, the contents of a range ``r`` are determined by the " +"formula ``r[i] = start + step*i`` where ``i >= 0`` and ``r[i] < stop``." +msgstr "" +"Для позитивного *кроку* вміст діапазону ``r`` визначається за формулою " +"``r[i] = start + step*i``, де ``i >= 0`` і ``r[ i] < stop``." + +msgid "" +"For a negative *step*, the contents of the range are still determined by the " +"formula ``r[i] = start + step*i``, but the constraints are ``i >= 0`` and " +"``r[i] > stop``." +msgstr "" +"Для від’ємного *кроку* вміст діапазону все ще визначається формулою ``r[i] = " +"start + step*i``, але обмеження ``i >= 0`` і ``r[ i] > stop``." + +msgid "" +"A range object will be empty if ``r[0]`` does not meet the value constraint. " +"Ranges do support negative indices, but these are interpreted as indexing " +"from the end of the sequence determined by the positive indices." +msgstr "" +"Об’єкт діапазону буде порожнім, якщо ``r[0]`` не відповідає обмеженню " +"значення. Діапазони підтримують негативні індекси, але вони інтерпретуються " +"як індексування з кінця послідовності, визначеної позитивними індексами." + +msgid "" +"Ranges containing absolute values larger than :data:`sys.maxsize` are " +"permitted but some features (such as :func:`len`) may raise :exc:" +"`OverflowError`." +msgstr "" +"Діапазони, що містять абсолютні значення, більші за :data:`sys.maxsize`, " +"дозволені, але деякі функції (такі як :func:`len`) можуть викликати :exc:" +"`OverflowError`." + +msgid "Range examples::" +msgstr "Приклади асортименту::" + +msgid "" +"Ranges implement all of the :ref:`common ` sequence " +"operations except concatenation and repetition (due to the fact that range " +"objects can only represent sequences that follow a strict pattern and " +"repetition and concatenation will usually violate that pattern)." +msgstr "" +"Діапазони реалізують усі :ref:`загальні ` операції " +"послідовності, окрім конкатенації та повторення (через те, що об’єкти " +"діапазону можуть представляти лише послідовності, які дотримуються строгого " +"шаблону, а повторення та конкатенація зазвичай порушують цей шаблон)." + +msgid "" +"The value of the *start* parameter (or ``0`` if the parameter was not " +"supplied)" +msgstr "Значення параметра *start* (або ``0``, якщо параметр не було надано)" + +msgid "The value of the *stop* parameter" +msgstr "Значення параметра *stop*" + +msgid "" +"The value of the *step* parameter (or ``1`` if the parameter was not " +"supplied)" +msgstr "Значення параметра *step* (або ``1``, якщо параметр не було надано)" + +msgid "" +"The advantage of the :class:`range` type over a regular :class:`list` or :" +"class:`tuple` is that a :class:`range` object will always take the same " +"(small) amount of memory, no matter the size of the range it represents (as " +"it only stores the ``start``, ``stop`` and ``step`` values, calculating " +"individual items and subranges as needed)." +msgstr "" +"Перевага типу :class:`range` перед звичайним :class:`list` або :class:" +"`tuple` полягає в тому, що об’єкт :class:`range` завжди займатиме однаковий " +"(невеликий) обсяг пам’яті, ні не має значення розмір діапазону, який він " +"представляє (оскільки він зберігає лише значення ``start``, ``stop`` і " +"``step``, обчислюючи окремі елементи та піддіапазони за потреби)." + +msgid "" +"Range objects implement the :class:`collections.abc.Sequence` ABC, and " +"provide features such as containment tests, element index lookup, slicing " +"and support for negative indices (see :ref:`typesseq`):" +msgstr "" +"Об’єкти діапазону реалізують :class:`collections.abc.Sequence` ABC і надають " +"такі функції, як тести на обмеження, пошук індексу елемента, нарізка та " +"підтримка негативних індексів (див. :ref:`typesseq`):" + +msgid "" +"Testing range objects for equality with ``==`` and ``!=`` compares them as " +"sequences. That is, two range objects are considered equal if they " +"represent the same sequence of values. (Note that two range objects that " +"compare equal might have different :attr:`~range.start`, :attr:`~range.stop` " +"and :attr:`~range.step` attributes, for example ``range(0) == range(2, 1, " +"3)`` or ``range(0, 3, 2) == range(0, 4, 2)``.)" +msgstr "" +"Перевірка об’єктів діапазону на рівність за допомогою ``==`` і ``!=`` " +"порівнює їх як послідовності. Тобто два об’єкти діапазону вважаються " +"рівними, якщо вони представляють однакову послідовність значень. (Зверніть " +"увагу, що два об’єкти діапазону, які порівнюються, можуть мати різні " +"атрибути :attr:`~range.start`, :attr:`~range.stop` і :attr:`~range.step`, " +"наприклад ``range(0 ) == діапазон(2, 1, 3)`` або ``діапазон(0, 3, 2) == " +"діапазон(0, 4, 2)``.)" + +msgid "" +"Implement the Sequence ABC. Support slicing and negative indices. Test :" +"class:`int` objects for membership in constant time instead of iterating " +"through all items." +msgstr "" +"Реалізуйте послідовність ABC. Підтримка нарізки та негативних індексів. " +"Перевіряйте об’єкти :class:`int` на приналежність у постійному часі замість " +"повторення всіх елементів." + +msgid "" +"Define '==' and '!=' to compare range objects based on the sequence of " +"values they define (instead of comparing based on object identity)." +msgstr "" +"Визначте \"==\" і \"!=\", щоб порівнювати об’єкти діапазону на основі " +"послідовності значень, які вони визначають (замість порівняння на основі " +"ідентичності об’єкта)." + +msgid "" +"The :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " +"attributes." +msgstr "" +"Атрибути :attr:`~range.start`, :attr:`~range.stop` і :attr:`~range.step`." + +msgid "" +"The `linspace recipe `_ shows " +"how to implement a lazy version of range suitable for floating point " +"applications." +msgstr "" + +msgid "Text Sequence Type --- :class:`str`" +msgstr "Тип текстової послідовності --- :class:`str`" + +msgid "" +"Textual data in Python is handled with :class:`str` objects, or :dfn:" +"`strings`. Strings are immutable :ref:`sequences ` of Unicode code " +"points. String literals are written in a variety of ways:" +msgstr "" +"Текстові дані в Python обробляються за допомогою об’єктів :class:`str` або :" +"dfn:`strings`. Рядки є незмінними :ref:`послідовностями ` кодових " +"точок Unicode. Рядкові літерали записуються різними способами:" + +msgid "Single quotes: ``'allows embedded \"double\" quotes'``" +msgstr "Одинарні лапки: ``'дозволяє вбудовані \"подвійні\" лапки'``" + +msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" +msgstr "Подвійні лапки: ``\"дозволяє вбудовані 'одинарні' лапки\"``" + +msgid "" +"Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double quotes" +"\"\"\"``" +msgstr "" +"Потрійні лапки: ``''Три одинарні лапки''''``, ``\"\"\"Три подвійні лапки" +"\"\"\"``" + +msgid "" +"Triple quoted strings may span multiple lines - all associated whitespace " +"will be included in the string literal." +msgstr "" +"Рядки з потрійними лапками можуть охоплювати кілька рядків - усі пов’язані " +"пробіли будуть включені в рядковий літерал." + +msgid "" +"String literals that are part of a single expression and have only " +"whitespace between them will be implicitly converted to a single string " +"literal. That is, ``(\"spam \" \"eggs\") == \"spam eggs\"``." +msgstr "" +"Рядкові літерали, які є частиною одного виразу і мають лише пробіли між " +"собою, будуть неявно перетворені в один рядковий літерал. Тобто ``(\"спам \" " +"\"яйця\") == \"спам яйця\"``." + +msgid "" +"See :ref:`strings` for more about the various forms of string literal, " +"including supported escape sequences, and the ``r`` (\"raw\") prefix that " +"disables most escape sequence processing." +msgstr "" +"Перегляньте :ref:`strings`, щоб дізнатися більше про різні форми рядкових " +"літералів, включаючи підтримувані керуючі послідовності та префікс ``r`` " +"(\"необроблений\"), який вимикає більшість обробки керуючих послідовностей." + +msgid "" +"Strings may also be created from other objects using the :class:`str` " +"constructor." +msgstr "" +"Рядки також можна створювати з інших об’єктів за допомогою конструктора :" +"class:`str`." + +msgid "" +"Since there is no separate \"character\" type, indexing a string produces " +"strings of length 1. That is, for a non-empty string *s*, ``s[0] == s[0:1]``." +msgstr "" +"Оскільки окремого типу \"символів\" немає, індексування рядка створює рядки " +"довжиною 1. Тобто для непорожнього рядка *s* ``s[0] == s[0:1]``." + +msgid "" +"There is also no mutable string type, but :meth:`str.join` or :class:`io." +"StringIO` can be used to efficiently construct strings from multiple " +"fragments." +msgstr "" +"Також немає змінного типу рядка, але :meth:`str.join` або :class:`io." +"StringIO` можна використовувати для ефективного створення рядків із кількох " +"фрагментів." + +msgid "" +"For backwards compatibility with the Python 2 series, the ``u`` prefix is " +"once again permitted on string literals. It has no effect on the meaning of " +"string literals and cannot be combined with the ``r`` prefix." +msgstr "" +"Для зворотної сумісності з серією Python 2 префікс ``u`` знову дозволений у " +"рядкових літералах. Він не впливає на значення рядкових літералів і не може " +"поєднуватися з префіксом ``r``." + +msgid "" +"Return a :ref:`string ` version of *object*. If *object* is not " +"provided, returns the empty string. Otherwise, the behavior of ``str()`` " +"depends on whether *encoding* or *errors* is given, as follows." +msgstr "" +"Повертає :ref:`string ` версію *об’єкта*. Якщо *object* не надано, " +"повертає порожній рядок. В іншому випадку поведінка ``str()`` залежить від " +"того, чи вказано *кодування* чи *помилки*, як показано нижче." + +msgid "" +"If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" +"`type(object).__str__(object) `, which is the \"informal\" " +"or nicely printable string representation of *object*. For string objects, " +"this is the string itself. If *object* does not have a :meth:`~object." +"__str__` method, then :func:`str` falls back to returning :meth:" +"`repr(object) `." +msgstr "" +"Якщо ні *кодування*, ні *помилки* не вказано, ``str(object)`` повертає :meth:" +"`type(object).__str__(object) `, що є \"неформальним\" або " +"зручним для друку рядковим представленням *об'єкт*. Для рядкових об’єктів це " +"сам рядок. Якщо *object* не має методу :meth:`~object.__str__`, тоді :func:" +"`str` повертається до повернення :meth:`repr(object) `." + +msgid "" +"If at least one of *encoding* or *errors* is given, *object* should be a :" +"term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " +"this case, if *object* is a :class:`bytes` (or :class:`bytearray`) object, " +"then ``str(bytes, encoding, errors)`` is equivalent to :meth:`bytes." +"decode(encoding, errors) `. Otherwise, the bytes object " +"underlying the buffer object is obtained before calling :meth:`bytes." +"decode`. See :ref:`binaryseq` and :ref:`bufferobjects` for information on " +"buffer objects." +msgstr "" +"Якщо вказано принаймні одну з *кодування* або *помилок*, *об’єкт* має бути :" +"term:`bytes-like object` (наприклад, :class:`bytes` або :class:`bytearray`). " +"У цьому випадку, якщо *object* є об’єктом :class:`bytes` (або :class:" +"`bytearray`), тоді ``str(bytes, encoding, errors)`` еквівалентно :meth:" +"`bytes.decode (кодування, помилки) `. В іншому випадку об’єкт " +"bytes, що лежить в основі об’єкта буфера, отримується перед викликом :meth:" +"`bytes.decode`. Перегляньте :ref:`binaryseq` і :ref:`bufferobjects` для " +"отримання інформації про буферні об’єкти." + +msgid "" +"Passing a :class:`bytes` object to :func:`str` without the *encoding* or " +"*errors* arguments falls under the first case of returning the informal " +"string representation (see also the :option:`-b` command-line option to " +"Python). For example::" +msgstr "" +"Передача об’єкта :class:`bytes` до :func:`str` без аргументів *encoding* або " +"*errors* підпадає під перший випадок повернення неформального представлення " +"рядка (див. також команду :option:`-b`- рядок для Python). Наприклад::" + +msgid "" +"For more information on the ``str`` class and its methods, see :ref:" +"`textseq` and the :ref:`string-methods` section below. To output formatted " +"strings, see the :ref:`f-strings` and :ref:`formatstrings` sections. In " +"addition, see the :ref:`stringservices` section." +msgstr "" +"Додаткову інформацію про клас ``str`` і його методи див. у розділі :ref:" +"`textseq` і :ref:`string-methods` нижче. Щоб вивести форматовані рядки, " +"перегляньте розділи :ref:`f-strings` і :ref:`formatstrings`. Крім того, " +"перегляньте розділ :ref:`stringservices`." + +msgid "String Methods" +msgstr "Рядкові методи" + +msgid "" +"Strings implement all of the :ref:`common ` sequence " +"operations, along with the additional methods described below." +msgstr "" +"Рядки реалізують усі :ref:`загальні ` операції " +"послідовності разом із додатковими методами, описаними нижче." + +msgid "" +"Strings also support two styles of string formatting, one providing a large " +"degree of flexibility and customization (see :meth:`str.format`, :ref:" +"`formatstrings` and :ref:`string-formatting`) and the other based on C " +"``printf`` style formatting that handles a narrower range of types and is " +"slightly harder to use correctly, but is often faster for the cases it can " +"handle (:ref:`old-string-formatting`)." +msgstr "" +"Рядки також підтримують два стилі форматування рядків: один забезпечує " +"велику гнучкість і налаштування (див. :meth:`str.format`, :ref:" +"`formatstrings` і :ref:`string-formatting`), а інший базується на " +"Форматування стилю C ``printf``, яке обробляє вужчий діапазон типів і трохи " +"важче правильно використовувати, але часто швидше для випадків, які воно " +"може обробляти (:ref:`old-string-formatting`)." + +msgid "" +"The :ref:`textservices` section of the standard library covers a number of " +"other modules that provide various text related utilities (including regular " +"expression support in the :mod:`re` module)." +msgstr "" +"Розділ :ref:`textservices` стандартної бібліотеки охоплює низку інших " +"модулів, які надають різноманітні утиліти, пов’язані з текстом (зокрема " +"підтримку регулярних виразів у модулі :mod:`re`)." + +msgid "" +"Return a copy of the string with its first character capitalized and the " +"rest lowercased." +msgstr "Повертає копію рядка з великим першим символом, а решта малими." + +msgid "" +"The first character is now put into titlecase rather than uppercase. This " +"means that characters like digraphs will only have their first letter " +"capitalized, instead of the full character." +msgstr "" +"Перший символ тепер вводиться в заголовок, а не у верхній регістр. Це " +"означає, що такі символи, як диграфи, матимуть велику першу літеру, а не " +"повний символ." + +msgid "" +"Return a casefolded copy of the string. Casefolded strings may be used for " +"caseless matching." +msgstr "" +"Повертає згорнуту копію рядка. Для зіставлення без регістру можна " +"використовувати рядки з регістром." + +msgid "" +"Casefolding is similar to lowercasing but more aggressive because it is " +"intended to remove all case distinctions in a string. For example, the " +"German lowercase letter ``'ß'`` is equivalent to ``\"ss\"``. Since it is " +"already lowercase, :meth:`lower` would do nothing to ``'ß'``; :meth:" +"`casefold` converts it to ``\"ss\"``." +msgstr "" +"Згортання регістру подібне до нижнього регістру, але більш агресивне, " +"оскільки воно призначене для видалення всіх відмінностей регістру в рядку. " +"Наприклад, німецька мала літера ``'ß'`` еквівалентна ``\"ss\"``. Оскільки це " +"вже малий регістр, :meth:`lower` нічого не зробить для ``'ß'``; :meth:" +"`casefold` перетворює його на ``\"ss\"``." + +msgid "" +"The casefolding algorithm is described in section 3.13 of the Unicode " +"Standard." +msgstr "Алгоритм casefolding описано в розділі 3.13 стандарту Unicode." + +msgid "" +"Return centered in a string of length *width*. Padding is done using the " +"specified *fillchar* (default is an ASCII space). The original string is " +"returned if *width* is less than or equal to ``len(s)``." +msgstr "" +"Повернення з центром у рядку довжиною *width*. Заповнення виконується за " +"допомогою вказаного *fillchar* (за замовчуванням це пробіл ASCII). " +"Оригінальний рядок повертається, якщо *width* менше або дорівнює ``len(s)``." + +msgid "" +"Return the number of non-overlapping occurrences of substring *sub* in the " +"range [*start*, *end*]. Optional arguments *start* and *end* are " +"interpreted as in slice notation." +msgstr "" +"Повертає кількість неперекриваючих входжень підрядка *sub* у діапазоні " +"[*початок*, *кінець*]. Необов’язкові аргументи *початок* і *кінець* " +"інтерпретуються як у нотації фрагментів." + +msgid "" +"If *sub* is empty, returns the number of empty strings between characters " +"which is the length of the string plus one." +msgstr "" + +msgid "" +"Return an encoded version of the string as a bytes object. Default encoding " +"is ``'utf-8'``. *errors* may be given to set a different error handling " +"scheme. The default for *errors* is ``'strict'``, meaning that encoding " +"errors raise a :exc:`UnicodeError`. Other possible values are ``'ignore'``, " +"``'replace'``, ``'xmlcharrefreplace'``, ``'backslashreplace'`` and any other " +"name registered via :func:`codecs.register_error`, see section :ref:`error-" +"handlers`. For a list of possible encodings, see section :ref:`standard-" +"encodings`." +msgstr "" +"Повертає закодовану версію рядка як об’єкт bytes. Кодування за замовчуванням " +"``'utf-8'``. *помилки* можуть бути надані для встановлення іншої схеми " +"обробки помилок. Типовим значенням для *помилок* є ``'строгий'``, що " +"означає, що помилки кодування викликають :exc:`UnicodeError`. Інші можливі " +"значення: ``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, " +"``'backslashreplace'`` та будь-яке інше ім’я, зареєстроване через :func:" +"`codecs.register_error`, див. розділ :ref:`error-handlers`. Список можливих " +"кодувань див. у розділі :ref:`standard-encodings`." + +msgid "" +"By default, the *errors* argument is not checked for best performances, but " +"only used at the first encoding error. Enable the :ref:`Python Development " +"Mode `, or use a :ref:`debug build ` to check *errors*." +msgstr "" +"За замовчуванням аргумент *errors* не перевіряється на найкращу " +"продуктивність, а використовується лише при першій помилці кодування. " +"Увімкніть :ref:`Режим розробки Python ` або скористайтеся :ref:" +"`debug build `, щоб перевірити *помилки*." + +msgid "Support for keyword arguments added." +msgstr "Додано підтримку аргументів ключових слів." + +msgid "" +"The *errors* is now checked in development mode and in :ref:`debug mode " +"`." +msgstr "" +"*Помилки* тепер перевіряються в режимі розробки та в :ref:`режимі " +"налагодження `." + +msgid "" +"Return ``True`` if the string ends with the specified *suffix*, otherwise " +"return ``False``. *suffix* can also be a tuple of suffixes to look for. " +"With optional *start*, test beginning at that position. With optional " +"*end*, stop comparing at that position." +msgstr "" +"Повертає ``True``, якщо рядок закінчується вказаним *суфіксом*, інакше " +"повертає ``False``. *suffix* також може бути кортежем суфіксів для пошуку. З " +"необов'язковим *початком* тестування починається з цієї позиції. З " +"необов’язковим *end*, припинити порівняння на цій позиції." + +msgid "" +"Return a copy of the string where all tab characters are replaced by one or " +"more spaces, depending on the current column and the given tab size. Tab " +"positions occur every *tabsize* characters (default is 8, giving tab " +"positions at columns 0, 8, 16 and so on). To expand the string, the current " +"column is set to zero and the string is examined character by character. If " +"the character is a tab (``\\t``), one or more space characters are inserted " +"in the result until the current column is equal to the next tab position. " +"(The tab character itself is not copied.) If the character is a newline (``" +"\\n``) or return (``\\r``), it is copied and the current column is reset to " +"zero. Any other character is copied unchanged and the current column is " +"incremented by one regardless of how the character is represented when " +"printed." +msgstr "" +"Повертає копію рядка, де всі символи табуляції замінені одним або кількома " +"пробілами, залежно від поточного стовпця та заданого розміру табуляції. " +"Позиції табуляції відбуваються з кожним символом *tabsize* (за замовчуванням " +"— 8, надаючи позиції табуляції в стовпцях 0, 8, 16 тощо). Щоб розгорнути " +"рядок, поточний стовпець встановлюється на нуль, а рядок перевіряється " +"символ за символом. Якщо символ є табуляцією (``\\t``), один або кілька " +"символів пробілу вставляються в результат, доки поточний стовпець не " +"зрівняється з позицією наступної табуляції. (Сам символ табуляції не " +"копіюється.) Якщо символ є символом нового рядка (``\\n``) або повернення (``" +"\\r``), він копіюється, а поточний стовпець скидається до нуля. Будь-який " +"інший символ копіюється без змін, а поточний стовпець збільшується на " +"одиницю незалежно від того, як символ представлено під час друку." + +msgid "" +"Return the lowest index in the string where substring *sub* is found within " +"the slice ``s[start:end]``. Optional arguments *start* and *end* are " +"interpreted as in slice notation. Return ``-1`` if *sub* is not found." +msgstr "" +"Повертає найнижчий індекс у рядку, де підрядок *sub* знайдено в фрагменті " +"``s[start:end]``. Необов’язкові аргументи *початок* і *кінець* " +"інтерпретуються як у нотації фрагментів. Повертає ``-1``, якщо *sub* не " +"знайдено." + +msgid "" +"The :meth:`~str.find` method should be used only if you need to know the " +"position of *sub*. To check if *sub* is a substring or not, use the :" +"keyword:`in` operator::" +msgstr "" +"Метод :meth:`~str.find` слід використовувати, лише якщо вам потрібно знати " +"позицію *sub*. Щоб перевірити, чи є *sub* підрядком, скористайтеся " +"оператором :keyword:`in`::" + +msgid "" +"Perform a string formatting operation. The string on which this method is " +"called can contain literal text or replacement fields delimited by braces " +"``{}``. Each replacement field contains either the numeric index of a " +"positional argument, or the name of a keyword argument. Returns a copy of " +"the string where each replacement field is replaced with the string value of " +"the corresponding argument." +msgstr "" +"Виконайте операцію форматування рядка. Рядок, у якому викликається цей " +"метод, може містити літеральний текст або поля заміни, розділені дужками ``{}" +"``. Кожне поле заміни містить або числовий індекс позиційного аргументу, або " +"назву ключового аргументу. Повертає копію рядка, де кожне поле заміни " +"замінено рядковим значенням відповідного аргументу." + +msgid "" +"See :ref:`formatstrings` for a description of the various formatting options " +"that can be specified in format strings." +msgstr "" +"Перегляньте :ref:`formatstrings` для опису різних параметрів форматування, " +"які можна вказати в рядках формату." + +msgid "" +"When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" +"class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: ``'{:n}'." +"format(1234)``), the function temporarily sets the ``LC_CTYPE`` locale to " +"the ``LC_NUMERIC`` locale to decode ``decimal_point`` and ``thousands_sep`` " +"fields of :c:func:`localeconv` if they are non-ASCII or longer than 1 byte, " +"and the ``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale. " +"This temporary change affects other threads." +msgstr "" +"Під час форматування числа (:class:`int`, :class:`float`, :class:`complex`, :" +"class:`decimal.Decimal` і підкласів) із типом ``n`` (наприклад: ``'{:n}'." +"format(1234)``, функція тимчасово встановлює локаль ``LC_CTYPE`` на мову " +"``LC_NUMERIC`` для декодування полів ``decimal_point`` і ``thousands_sep`` :" +"c:func:`localeconv`, якщо вони не є ASCII або довші за 1 байт, а локаль " +"``LC_NUMERIC`` відрізняється від локалі ``LC_CTYPE``. Ця тимчасова зміна " +"впливає на інші потоки." + +msgid "" +"When formatting a number with the ``n`` type, the function sets temporarily " +"the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases." +msgstr "" +"Під час форматування числа за допомогою типу ``n``, у деяких випадках " +"функція тимчасово встановлює ``LC_CTYPE`` локаль ``LC_NUMERIC``." + +msgid "" +"Similar to ``str.format(**mapping)``, except that ``mapping`` is used " +"directly and not copied to a :class:`dict`. This is useful if for example " +"``mapping`` is a dict subclass:" +msgstr "" +"Подібно до ``str.format(**mapping)``, за винятком того, що ``mapping`` " +"використовується безпосередньо, а не копіюється в :class:`dict`. Це корисно, " +"якщо, наприклад, ``mapping`` є підкласом dict:" + +msgid "" +"Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " +"not found." +msgstr "" +"Як :meth:`~str.find`, але викликає :exc:`ValueError`, коли підрядок не " +"знайдено." + +msgid "" +"Return ``True`` if all characters in the string are alphanumeric and there " +"is at least one character, ``False`` otherwise. A character ``c`` is " +"alphanumeric if one of the following returns ``True``: ``c.isalpha()``, ``c." +"isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``." +msgstr "" +"Повертає ``True``, якщо всі символи в рядку є буквено-цифровими і є " +"принаймні один символ, ``False`` інакше. Символ ``c`` є буквено-цифровим, " +"якщо одне з наступного повертає ``True``: ``c.isalpha()``, ``c." +"isdecimal()``, ``c.isdigit()`` або ``c.isnumeric()``." + +msgid "" +"Return ``True`` if all characters in the string are alphabetic and there is " +"at least one character, ``False`` otherwise. Alphabetic characters are " +"those characters defined in the Unicode character database as \"Letter\", i." +"e., those with general category property being one of \"Lm\", \"Lt\", \"Lu" +"\", \"Ll\", or \"Lo\". Note that this is different from the \"Alphabetic\" " +"property defined in the Unicode Standard." +msgstr "" +"Повертає ``True``, якщо всі символи в рядку алфавітні та є принаймні один " +"символ, ``False`` інакше. Алфавітні символи — це символи, визначені в базі " +"даних символів Юнікоду як \"букви\", тобто такі, що мають загальну категорію " +"як \"Lm\", \"Lt\", \"Lu\", \"Ll\" або \"Lo\". Зауважте, що це відрізняється " +"від властивості \"Alphabetic\", визначеної в стандарті Unicode." + +msgid "" +"Return ``True`` if the string is empty or all characters in the string are " +"ASCII, ``False`` otherwise. ASCII characters have code points in the range U" +"+0000-U+007F." +msgstr "" +"Повертає ``True``, якщо рядок порожній або всі символи в рядку є ASCII, " +"``False`` інакше. Символи ASCII мають кодові точки в діапазоні U+0000-U+007F." + +msgid "" +"Return ``True`` if all characters in the string are decimal characters and " +"there is at least one character, ``False`` otherwise. Decimal characters are " +"those that can be used to form numbers in base 10, e.g. U+0660, ARABIC-INDIC " +"DIGIT ZERO. Formally a decimal character is a character in the Unicode " +"General Category \"Nd\"." +msgstr "" +"Повертає ``True``, якщо всі символи в рядку є десятковими символами і є " +"принаймні один символ, ``False`` інакше. Десяткові символи – це ті, які " +"можна використовувати для утворення чисел за основою 10, напр. U+0660, " +"АРАБСЬКО-ІНДІЙСЬКА ЦИФРА НУЛЬ. Формально десятковий символ — це символ у " +"загальній категорії Unicode \"Nd\"." + +msgid "" +"Return ``True`` if all characters in the string are digits and there is at " +"least one character, ``False`` otherwise. Digits include decimal characters " +"and digits that need special handling, such as the compatibility superscript " +"digits. This covers digits which cannot be used to form numbers in base 10, " +"like the Kharosthi numbers. Formally, a digit is a character that has the " +"property value Numeric_Type=Digit or Numeric_Type=Decimal." +msgstr "" +"Повертає ``True``, якщо всі символи в рядку є цифрами і є принаймні один " +"символ, ``False`` інакше. Цифри включають десяткові символи та цифри, які " +"потребують спеціальної обробки, наприклад цифри сумісності над індексом. Це " +"охоплює цифри, які не можна використовувати для формування чисел з основою " +"10, як-от числа Харості. Формально цифра — це символ, який має значення " +"властивості Numeric_Type=Digit або Numeric_Type=Decimal." + +msgid "" +"Return ``True`` if the string is a valid identifier according to the " +"language definition, section :ref:`identifiers`." +msgstr "" +"Повертає ``True``, якщо рядок є дійсним ідентифікатором відповідно до " +"визначення мови, розділ :ref:`identifiers`." + +msgid "" +"Call :func:`keyword.iskeyword` to test whether string ``s`` is a reserved " +"identifier, such as :keyword:`def` and :keyword:`class`." +msgstr "" +"Викличте :func:`keyword.iskeyword`, щоб перевірити, чи рядок ``s`` є " +"зарезервованим ідентифікатором, таким як :keyword:`def` і :keyword:`class`." + +msgid "Example: ::" +msgstr "Приклад: ::" + +msgid "" +"Return ``True`` if all cased characters [4]_ in the string are lowercase and " +"there is at least one cased character, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо всі символи регістру [4]_ в рядку є малими і є " +"принаймні один символ регістру, ``False`` інакше." + +msgid "" +"Return ``True`` if all characters in the string are numeric characters, and " +"there is at least one character, ``False`` otherwise. Numeric characters " +"include digit characters, and all characters that have the Unicode numeric " +"value property, e.g. U+2155, VULGAR FRACTION ONE FIFTH. Formally, numeric " +"characters are those with the property value Numeric_Type=Digit, " +"Numeric_Type=Decimal or Numeric_Type=Numeric." +msgstr "" +"Повертає ``True``, якщо всі символи в рядку є цифровими символами, і є " +"принаймні один символ, ``False`` інакше. Цифрові символи включають цифрові " +"символи та всі символи, які мають властивість числового значення Unicode, " +"напр. U+2155, ВУЛЬГАРНА ФРАКЦІЯ ОДНА П’ЯТА. Формально цифровими символами є " +"символи зі значенням властивості Numeric_Type=Digit, Numeric_Type=Decimal " +"або Numeric_Type=Numeric." + +msgid "" +"Return ``True`` if all characters in the string are printable or the string " +"is empty, ``False`` otherwise. Nonprintable characters are those characters " +"defined in the Unicode character database as \"Other\" or \"Separator\", " +"excepting the ASCII space (0x20) which is considered printable. (Note that " +"printable characters in this context are those which should not be escaped " +"when :func:`repr` is invoked on a string. It has no bearing on the handling " +"of strings written to :data:`sys.stdout` or :data:`sys.stderr`.)" +msgstr "" +"Повертає ``True``, якщо всі символи в рядку можна надрукувати або рядок " +"порожній, ``False`` інакше. Символи, що не друкуються, — це символи, " +"визначені в базі даних символів Unicode як \"Інші\" або \"Розділювачі\", за " +"винятком пробілу ASCII (0x20), який вважається придатним для друку. " +"(Зауважте, що друковані символи в цьому контексті – це ті символи, які не " +"слід екранувати, коли :func:`repr` викликається в рядку. Це не впливає на " +"обробку рядків, записаних у :data:`sys.stdout` або :data:`sys.stderr`.)" + +msgid "" +"Return ``True`` if there are only whitespace characters in the string and " +"there is at least one character, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо в рядку є лише пробіли та є принаймні один символ, " +"``False`` інакше." + +msgid "" +"A character is *whitespace* if in the Unicode character database (see :mod:" +"`unicodedata`), either its general category is ``Zs`` (\"Separator, space" +"\"), or its bidirectional class is one of ``WS``, ``B``, or ``S``." +msgstr "" +"Символ є *пробілом*, якщо в базі даних символів Unicode (див. :mod:" +"`unicodedata`) або його загальна категорія ``Zs`` (\"Роздільник, пробіл\"), " +"або його двонаправлений клас є одним із ``WS``, ``B`` або ``S``." + +msgid "" +"Return ``True`` if the string is a titlecased string and there is at least " +"one character, for example uppercase characters may only follow uncased " +"characters and lowercase characters only cased ones. Return ``False`` " +"otherwise." +msgstr "" +"Повертає ``True``, якщо рядок є рядком із заголовком і містить принаймні " +"один символ, наприклад, символи верхнього регістру можуть слідувати лише за " +"символами без регістру, а символи нижнього регістру – лише за символами в " +"регістрі. В іншому випадку поверніть ``False``." + +msgid "" +"Return ``True`` if all cased characters [4]_ in the string are uppercase and " +"there is at least one cased character, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо всі символи регістру [4]_ в рядку є верхніми і є " +"принаймні один символ регістру, ``False`` інакше." + +msgid "" +"Return a string which is the concatenation of the strings in *iterable*. A :" +"exc:`TypeError` will be raised if there are any non-string values in " +"*iterable*, including :class:`bytes` objects. The separator between " +"elements is the string providing this method." +msgstr "" +"Повертає рядок, який є конкатенацією рядків у *iterable*. Помилка :exc:" +"`TypeError` буде викликана, якщо в *iterable* є будь-які нерядкові значення, " +"включаючи об’єкти :class:`bytes`. Роздільником між елементами є рядок, що " +"забезпечує цей метод." + +msgid "" +"Return the string left justified in a string of length *width*. Padding is " +"done using the specified *fillchar* (default is an ASCII space). The " +"original string is returned if *width* is less than or equal to ``len(s)``." +msgstr "" +"Повертає рядок, вирівняний за лівим краєм, у рядку довжини *width*. " +"Заповнення виконується за допомогою вказаного *fillchar* (за замовчуванням " +"це пробіл ASCII). Оригінальний рядок повертається, якщо *width* менше або " +"дорівнює ``len(s)``." + +msgid "" +"Return a copy of the string with all the cased characters [4]_ converted to " +"lowercase." +msgstr "" +"Повертає копію рядка з усіма регістровими символами [4]_, перетвореними на " +"нижній регістр." + +msgid "" +"The lowercasing algorithm used is described in section 3.13 of the Unicode " +"Standard." +msgstr "" +"Алгоритм використання нижнього регістру описано в розділі 3.13 стандарту " +"Unicode." + +msgid "" +"Return a copy of the string with leading characters removed. The *chars* " +"argument is a string specifying the set of characters to be removed. If " +"omitted or ``None``, the *chars* argument defaults to removing whitespace. " +"The *chars* argument is not a prefix; rather, all combinations of its values " +"are stripped::" +msgstr "" +"Повертає копію рядка з видаленими початковими символами. Аргумент *chars* — " +"це рядок, який визначає набір символів, які потрібно видалити. Якщо " +"пропущено або ``None``, аргумент *chars* за умовчанням видаляє пробіли. " +"Аргумент *chars* не є префіксом; навпаки, усі комбінації його значень " +"видаляються:" + +msgid "" +"See :meth:`str.removeprefix` for a method that will remove a single prefix " +"string rather than all of a set of characters. For example::" +msgstr "" +"Перегляньте :meth:`str.removeprefix` для методу, який видаляє один рядок " +"префікса, а не весь набір символів. Наприклад::" + +msgid "" +"This static method returns a translation table usable for :meth:`str." +"translate`." +msgstr "" +"Цей статичний метод повертає таблицю перекладу, яку можна використовувати " +"для :meth:`str.translate`." + +msgid "" +"If there is only one argument, it must be a dictionary mapping Unicode " +"ordinals (integers) or characters (strings of length 1) to Unicode ordinals, " +"strings (of arbitrary lengths) or ``None``. Character keys will then be " +"converted to ordinals." +msgstr "" +"Якщо є лише один аргумент, це має бути словник, який відображає порядкові " +"номери Unicode (цілі числа) або символи (рядки довжиною 1) на порядкові " +"номери Unicode, рядки (довільної довжини) або ``None``. Потім символьні " +"ключі будуть перетворені на порядкові." + +msgid "" +"If there are two arguments, they must be strings of equal length, and in the " +"resulting dictionary, each character in x will be mapped to the character at " +"the same position in y. If there is a third argument, it must be a string, " +"whose characters will be mapped to ``None`` in the result." +msgstr "" +"Якщо є два аргументи, вони мають бути рядками однакової довжини, і в " +"отриманому словнику кожен символ у x буде зіставлено зі символом у тій же " +"позиції в y. Якщо є третій аргумент, це має бути рядок, символи якого будуть " +"зіставлені на ``None`` у результаті." + +msgid "" +"Split the string at the first occurrence of *sep*, and return a 3-tuple " +"containing the part before the separator, the separator itself, and the part " +"after the separator. If the separator is not found, return a 3-tuple " +"containing the string itself, followed by two empty strings." +msgstr "" +"Розділіть рядок при першому входженні *sep* і поверніть 3-кортеж, що містить " +"частину перед роздільником, сам роздільник і частину після роздільника. Якщо " +"роздільник не знайдено, поверніть 3-кортеж, що містить сам рядок, а потім " +"два порожні рядки." + +msgid "" +"If the string starts with the *prefix* string, return " +"``string[len(prefix):]``. Otherwise, return a copy of the original string::" +msgstr "" +"Якщо рядок починається з рядка *prefix*, поверніть ``string[len(prefix):]``. " +"В іншому випадку поверніть копію оригінального рядка::" + +msgid "" +"If the string ends with the *suffix* string and that *suffix* is not empty, " +"return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " +"string::" +msgstr "" +"Якщо рядок закінчується рядком *suffix* і цей *suffix* не є порожнім, " +"поверніть ``string[:-len(suffix)]``. В іншому випадку поверніть копію " +"оригінального рядка::" + +msgid "" +"Return a copy of the string with all occurrences of substring *old* replaced " +"by *new*. If the optional argument *count* is given, only the first *count* " +"occurrences are replaced." +msgstr "" +"Повертає копію рядка з усіма входженнями підрядка *old*, заміненими на " +"*new*. Якщо вказано необов’язковий аргумент *count*, заміняються лише перші " +"випадки *count*." + +msgid "" +"Return the highest index in the string where substring *sub* is found, such " +"that *sub* is contained within ``s[start:end]``. Optional arguments *start* " +"and *end* are interpreted as in slice notation. Return ``-1`` on failure." +msgstr "" +"Повертає найвищий індекс у рядку, де знайдено підрядок *sub*, так що *sub* " +"міститься в ``s[start:end]``. Необов’язкові аргументи *початок* і *кінець* " +"інтерпретуються як у нотації фрагментів. Повернути ``-1`` у разі помилки." + +msgid "" +"Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " +"not found." +msgstr "" +"Подібно до :meth:`rfind`, але викликає :exc:`ValueError`, коли підрядок " +"*sub* не знайдено." + +msgid "" +"Return the string right justified in a string of length *width*. Padding is " +"done using the specified *fillchar* (default is an ASCII space). The " +"original string is returned if *width* is less than or equal to ``len(s)``." +msgstr "" +"Повертає рядок, вирівняний по правому краю, у рядку довжини *width*. " +"Заповнення виконується за допомогою вказаного *fillchar* (за замовчуванням " +"це пробіл ASCII). Оригінальний рядок повертається, якщо *width* менше або " +"дорівнює ``len(s)``." + +msgid "" +"Split the string at the last occurrence of *sep*, and return a 3-tuple " +"containing the part before the separator, the separator itself, and the part " +"after the separator. If the separator is not found, return a 3-tuple " +"containing two empty strings, followed by the string itself." +msgstr "" +"Розділіть рядок на останнє входження *sep* і поверніть 3-кортеж, що містить " +"частину перед роздільником, сам роздільник і частину після роздільника. Якщо " +"роздільник не знайдено, поверніть 3-кортеж, що містить два порожні рядки, а " +"потім сам рядок." + +msgid "" +"Return a list of the words in the string, using *sep* as the delimiter " +"string. If *maxsplit* is given, at most *maxsplit* splits are done, the " +"*rightmost* ones. If *sep* is not specified or ``None``, any whitespace " +"string is a separator. Except for splitting from the right, :meth:`rsplit` " +"behaves like :meth:`split` which is described in detail below." +msgstr "" +"Повертає список слів у рядку, використовуючи *sep* як роздільник. Якщо " +"задано *maxsplit*, виконується щонайбільше *maxsplit* розбиття, " +"*найправіші*. Якщо *sep* не вказано або ``None``, будь-який пробільний рядок " +"є роздільником. За винятком розділення справа, :meth:`rsplit` поводиться як :" +"meth:`split`, що детально описано нижче." + +msgid "" +"Return a copy of the string with trailing characters removed. The *chars* " +"argument is a string specifying the set of characters to be removed. If " +"omitted or ``None``, the *chars* argument defaults to removing whitespace. " +"The *chars* argument is not a suffix; rather, all combinations of its values " +"are stripped::" +msgstr "" +"Повертає копію рядка з видаленими кінцевими символами. Аргумент *chars* — це " +"рядок, який визначає набір символів, які потрібно видалити. Якщо пропущено " +"або ``None``, аргумент *chars* за умовчанням видаляє пробіли. Аргумент " +"*chars* не є суфіксом; навпаки, усі комбінації його значень видаляються:" + +msgid "" +"See :meth:`str.removesuffix` for a method that will remove a single suffix " +"string rather than all of a set of characters. For example::" +msgstr "" +"Перегляньте :meth:`str.removesuffix` для методу, який видаляє один рядок " +"суфікса, а не весь набір символів. Наприклад::" + +msgid "" +"Return a list of the words in the string, using *sep* as the delimiter " +"string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " +"the list will have at most ``maxsplit+1`` elements). If *maxsplit* is not " +"specified or ``-1``, then there is no limit on the number of splits (all " +"possible splits are made)." +msgstr "" +"Повертає список слів у рядку, використовуючи *sep* як роздільник. Якщо " +"вказано *maxsplit*, виконується щонайбільше *maxsplit* розбиття (отже, " +"список міститиме щонайбільше елементів ``maxsplit+1``). Якщо *maxsplit* не " +"вказано або ``-1``, тоді немає обмеження на кількість розділень (виконуються " +"всі можливі розділення)." + +msgid "" +"If *sep* is given, consecutive delimiters are not grouped together and are " +"deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " +"``['1', '', '2']``). The *sep* argument may consist of multiple characters " +"(for example, ``'1<>2<>3'.split('<>')`` returns ``['1', '2', '3']``). " +"Splitting an empty string with a specified separator returns ``['']``." +msgstr "" +"Якщо задано *sep*, послідовні розділювачі не групуються разом і вважаються " +"роздільниками порожніх рядків (наприклад, ``'1,,2'.split(',')`` повертає " +"``['1', ' ', '2']``). Аргумент *sep* може складатися з кількох символів " +"(наприклад, ``'1 <> 2 <> 3'.split(' <> ')`` повертає ``['1', '2', '3']`` ). " +"Розділення порожнього рядка з указаним роздільником повертає ``['']``." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"If *sep* is not specified or is ``None``, a different splitting algorithm is " +"applied: runs of consecutive whitespace are regarded as a single separator, " +"and the result will contain no empty strings at the start or end if the " +"string has leading or trailing whitespace. Consequently, splitting an empty " +"string or a string consisting of just whitespace with a ``None`` separator " +"returns ``[]``." +msgstr "" +"Якщо *sep* не вказано або має значення ``None``, застосовується інший " +"алгоритм поділу: цикли послідовних пробілів розглядаються як один " +"роздільник, і результат не міститиме порожніх рядків на початку або в кінці, " +"якщо рядок має пробіли на початку або в кінці. Отже, розділення порожнього " +"рядка або рядка, що складається лише з пробілів, за допомогою розділювача " +"``None`` повертає ``[]``." + +msgid "" +"Return a list of the lines in the string, breaking at line boundaries. Line " +"breaks are not included in the resulting list unless *keepends* is given and " +"true." +msgstr "" +"Повертає список рядків у рядку, розриваючи межі рядків. Розриви рядків не " +"включаються в результуючий список, якщо *keepends* не задано і не відповідає " +"дійсності." + +msgid "" +"This method splits on the following line boundaries. In particular, the " +"boundaries are a superset of :term:`universal newlines`." +msgstr "" +"Цей метод розбивається на наступні межі рядків. Зокрема, межі є надмножиною :" +"term:`universal newlines`." + +msgid "Representation" +msgstr "Представництво" + +msgid "Description" +msgstr "опис" + +msgid "``\\n``" +msgstr "``\\n``" + +msgid "Line Feed" +msgstr "Переведення рядка" + +msgid "``\\r``" +msgstr "``\\r``" + +msgid "Carriage Return" +msgstr "Повернення каретки" + +msgid "``\\r\\n``" +msgstr "``\\r\\n``" + +msgid "Carriage Return + Line Feed" +msgstr "Повернення каретки + Переведення рядка" + +msgid "``\\v`` or ``\\x0b``" +msgstr "``\\v`` або ``\\x0b``" + +msgid "Line Tabulation" +msgstr "Лінія табуляції" + +msgid "``\\f`` or ``\\x0c``" +msgstr "``\\f`` або ``\\x0c``" + +msgid "Form Feed" +msgstr "Подача форми" + +msgid "``\\x1c``" +msgstr "``\\x1c``" + +msgid "File Separator" +msgstr "Роздільник файлів" + +msgid "``\\x1d``" +msgstr "``\\x1d``" + +msgid "Group Separator" +msgstr "Роздільник груп" + +msgid "``\\x1e``" +msgstr "``\\x1e``" + +msgid "Record Separator" +msgstr "Розділювач записів" + +msgid "``\\x85``" +msgstr "``\\x85``" + +msgid "Next Line (C1 Control Code)" +msgstr "Наступний рядок (контрольний код C1)" + +msgid "``\\u2028``" +msgstr "``\\u2028``" + +msgid "Line Separator" +msgstr "Розділювач рядків" + +msgid "``\\u2029``" +msgstr "``\\u2029``" + +msgid "Paragraph Separator" +msgstr "Роздільник абзаців" + +msgid "``\\v`` and ``\\f`` added to list of line boundaries." +msgstr "``\\v`` і ``\\f`` додано до списку меж ліній." + +msgid "" +"Unlike :meth:`~str.split` when a delimiter string *sep* is given, this " +"method returns an empty list for the empty string, and a terminal line break " +"does not result in an extra line::" +msgstr "" +"На відміну від :meth:`~str.split`, коли задано рядок роздільника *sep*, цей " +"метод повертає порожній список для порожнього рядка, а розрив кінцевого " +"рядка не призводить до додаткового рядка::" + +msgid "For comparison, ``split('\\n')`` gives::" +msgstr "Для порівняння ``split('\\n')`` дає:" + +msgid "" +"Return ``True`` if string starts with the *prefix*, otherwise return " +"``False``. *prefix* can also be a tuple of prefixes to look for. With " +"optional *start*, test string beginning at that position. With optional " +"*end*, stop comparing string at that position." +msgstr "" +"Повертає ``True``, якщо рядок починається з *префікса*, інакше повертає " +"``False``. *префікс* також може бути кортежем префіксів для пошуку. З " +"необов’язковим *початком*, тестовий рядок починається з цієї позиції. З " +"необов’язковим *end* припиняє порівнювати рядок у цій позиції." + +msgid "" +"Return a copy of the string with the leading and trailing characters " +"removed. The *chars* argument is a string specifying the set of characters " +"to be removed. If omitted or ``None``, the *chars* argument defaults to " +"removing whitespace. The *chars* argument is not a prefix or suffix; rather, " +"all combinations of its values are stripped::" +msgstr "" +"Повертає копію рядка з видаленими початковими та кінцевими символами. " +"Аргумент *chars* — це рядок, який визначає набір символів, які потрібно " +"видалити. Якщо пропущено або ``None``, аргумент *chars* за умовчанням " +"видаляє пробіли. Аргумент *chars* не є префіксом або суфіксом; навпаки, усі " +"комбінації його значень видаляються:" + +msgid "" +"The outermost leading and trailing *chars* argument values are stripped from " +"the string. Characters are removed from the leading end until reaching a " +"string character that is not contained in the set of characters in *chars*. " +"A similar action takes place on the trailing end. For example::" +msgstr "" +"Зовнішні початкові та кінцеві значення аргументів *chars* видаляються з " +"рядка. Символи видаляються з початку, доки не досягнеться символ рядка, який " +"не міститься в наборі символів у *chars*. Подібна дія відбувається на кінці. " +"Наприклад::" + +msgid "" +"Return a copy of the string with uppercase characters converted to lowercase " +"and vice versa. Note that it is not necessarily true that ``s.swapcase()." +"swapcase() == s``." +msgstr "" +"Повертає копію рядка з символами верхнього регістру, перетвореними на малі, " +"і навпаки. Зауважте, що ``s.swapcase().swapcase() == s`` не обов’язково " +"правда." + +msgid "" +"Return a titlecased version of the string where words start with an " +"uppercase character and the remaining characters are lowercase." +msgstr "" +"Повертає версію рядка в заголовку, де слова починаються з великої літери, а " +"решта символів – нижніми." + +msgid "" +"The algorithm uses a simple language-independent definition of a word as " +"groups of consecutive letters. The definition works in many contexts but it " +"means that apostrophes in contractions and possessives form word boundaries, " +"which may not be the desired result::" +msgstr "" +"Алгоритм використовує просте незалежне від мови визначення слова як групи " +"послідовних букв. Визначення працює в багатьох контекстах, але це означає, " +"що апостроф у скороченнях і присвійних формах формує межі слів, що може бути " +"не бажаним результатом:" + +msgid "" +"The :func:`string.capwords` function does not have this problem, as it " +"splits words on spaces only." +msgstr "" +"Функція :func:`string.capwords` не має цієї проблеми, оскільки вона розділяє " +"слова лише на пробіли." + +msgid "" +"Alternatively, a workaround for apostrophes can be constructed using regular " +"expressions::" +msgstr "" +"Крім того, обхідний шлях для апострофів можна створити за допомогою " +"регулярних виразів::" + +msgid "" +"Return a copy of the string in which each character has been mapped through " +"the given translation table. The table must be an object that implements " +"indexing via :meth:`__getitem__`, typically a :term:`mapping` or :term:" +"`sequence`. When indexed by a Unicode ordinal (an integer), the table " +"object can do any of the following: return a Unicode ordinal or a string, to " +"map the character to one or more other characters; return ``None``, to " +"delete the character from the return string; or raise a :exc:`LookupError` " +"exception, to map the character to itself." +msgstr "" +"Повертає копію рядка, у якому кожен символ було зіставлено через задану " +"таблицю перекладу. Таблиця має бути об’єктом, який реалізує індексування " +"через :meth:`__getitem__`, як правило, :term:`mapping` або :term:`sequence`. " +"Коли індексується порядковим номером Unicode (цілим числом), об’єкт таблиці " +"може виконувати будь-яку з наступних дій: повертати порядковий номер Unicode " +"або рядок, щоб зіставити символ з одним або декількома іншими символами; " +"return ``None``, щоб видалити символ із рядка повернення; або викликати " +"виняток :exc:`LookupError`, щоб зіставити символ із собою." + +msgid "" +"You can use :meth:`str.maketrans` to create a translation map from character-" +"to-character mappings in different formats." +msgstr "" +"Ви можете використовувати :meth:`str.maketrans`, щоб створити карту " +"перекладу з відображень символів у різні формати." + +msgid "" +"See also the :mod:`codecs` module for a more flexible approach to custom " +"character mappings." +msgstr "" +"Перегляньте також модуль :mod:`codecs` для більш гнучкого підходу до " +"нестандартних відображень символів." + +msgid "" +"Return a copy of the string with all the cased characters [4]_ converted to " +"uppercase. Note that ``s.upper().isupper()`` might be ``False`` if ``s`` " +"contains uncased characters or if the Unicode category of the resulting " +"character(s) is not \"Lu\" (Letter, uppercase), but e.g. \"Lt\" (Letter, " +"titlecase)." +msgstr "" +"Повертає копію рядка з усіма символами [4]_, перетвореними на верхній " +"регістр. Зауважте, що ``s.upper().isupper()`` може мати значення ``False``, " +"якщо ``s`` містить символи без регістру або якщо категорія Юнікоду " +"результуючих символів не є \"Lu\" (літера , верхній регістр), але напр. \"Lt" +"\" (літера, регістр)." + +msgid "" +"The uppercasing algorithm used is described in section 3.13 of the Unicode " +"Standard." +msgstr "" +"Використовуваний алгоритм верхнього регістру описано в розділі 3.13 " +"стандарту Unicode." + +msgid "" +"Return a copy of the string left filled with ASCII ``'0'`` digits to make a " +"string of length *width*. A leading sign prefix (``'+'``/``'-'``) is handled " +"by inserting the padding *after* the sign character rather than before. The " +"original string is returned if *width* is less than or equal to ``len(s)``." +msgstr "" +"Поверніть копію рядка зліва, заповненого цифрами ASCII ``'0''``, щоб " +"отримати рядок довжини *width*. Початковий префікс знака (``'+'``/``'-'``) " +"обробляється шляхом вставки заповнення *після* символу знака, а не перед " +"ним. Оригінальний рядок повертається, якщо *width* менше або дорівнює " +"``len(s)``." + +msgid "``printf``-style String Formatting" +msgstr "Форматування рядків у стилі ``printf``" + +msgid "" +"The formatting operations described here exhibit a variety of quirks that " +"lead to a number of common errors (such as failing to display tuples and " +"dictionaries correctly). Using the newer :ref:`formatted string literals `, the :meth:`str.format` interface, or :ref:`template strings " +"` may help avoid these errors. Each of these alternatives " +"provides their own trade-offs and benefits of simplicity, flexibility, and/" +"or extensibility." +msgstr "" +"Операції форматування, описані тут, демонструють різноманітні особливості, " +"які призводять до низки поширених помилок (наприклад, неправильне " +"відображення кортежів і словників). Використання нових :ref:`відформатованих " +"рядкових літералів `, інтерфейсу :meth:`str.format` або :ref:" +"`шаблонних рядків ` може допомогти уникнути цих помилок. " +"Кожна з цих альтернатив забезпечує власні компроміси та переваги простоти, " +"гнучкості та/або розширюваності." + +msgid "" +"String objects have one unique built-in operation: the ``%`` operator " +"(modulo). This is also known as the string *formatting* or *interpolation* " +"operator. Given ``format % values`` (where *format* is a string), ``%`` " +"conversion specifications in *format* are replaced with zero or more " +"elements of *values*. The effect is similar to using the :c:func:`sprintf` " +"in the C language." +msgstr "" +"Рядкові об’єкти мають одну унікальну вбудовану операцію: оператор ``%`` (по " +"модулю). Це також відоме як оператор *форматування* рядка або " +"*інтерполяції*. З огляду на ``формат % значень`` (де *format* є рядком), ``" +"%`` специфікації перетворення у *format* замінюються нулем або більше " +"елементами *значень*. Ефект подібний до використання :c:func:`sprintf` у " +"мові C." + +msgid "" +"If *format* requires a single argument, *values* may be a single non-tuple " +"object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " +"items specified by the format string, or a single mapping object (for " +"example, a dictionary)." +msgstr "" +"Якщо для *format* потрібен один аргумент, *values* може бути одним " +"некортежним об’єктом. [5]_ В іншому випадку *values* має бути кортежем із " +"точною кількістю елементів, визначених рядком формату, або одним об’єктом " +"відображення (наприклад, словником)." + +msgid "" +"A conversion specifier contains two or more characters and has the following " +"components, which must occur in this order:" +msgstr "" +"Специфікатор перетворення містить два або більше символів і має наступні " +"компоненти, які мають відображатися в такому порядку:" + +msgid "The ``'%'`` character, which marks the start of the specifier." +msgstr "Символ ``'%'``, який позначає початок специфікатора." + +msgid "" +"Mapping key (optional), consisting of a parenthesised sequence of characters " +"(for example, ``(somename)``)." +msgstr "" +"Ключ відображення (необов’язковий), що складається з послідовності символів " +"у дужках (наприклад, ``(якесь ім’я)``)." + +msgid "" +"Conversion flags (optional), which affect the result of some conversion " +"types." +msgstr "" +"Прапорці перетворення (опціонально), які впливають на результат деяких типів " +"перетворення." + +msgid "" +"Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " +"actual width is read from the next element of the tuple in *values*, and the " +"object to convert comes after the minimum field width and optional precision." +msgstr "" +"Мінімальна ширина поля (опціонально). Якщо вказано як ``'*'`` (зірочка), " +"фактична ширина зчитується з наступного елемента кортежу в *значеннях*, а " +"об’єкт для перетворення йде після мінімальної ширини поля та необов’язкової " +"точності." + +msgid "" +"Precision (optional), given as a ``'.'`` (dot) followed by the precision. " +"If specified as ``'*'`` (an asterisk), the actual precision is read from the " +"next element of the tuple in *values*, and the value to convert comes after " +"the precision." +msgstr "" +"Точність (необов’язкова), подається як ``'.'`` (крапка), за якою йде " +"точність. Якщо вказано як ``'*'`` (зірочка), фактична точність зчитується з " +"наступного елемента кортежу в *значеннях*, а значення для перетворення йде " +"після точності." + +msgid "Length modifier (optional)." +msgstr "Модифікатор довжини (необов'язково)." + +msgid "Conversion type." +msgstr "Тип перетворення." + +msgid "" +"When the right argument is a dictionary (or other mapping type), then the " +"formats in the string *must* include a parenthesised mapping key into that " +"dictionary inserted immediately after the ``'%'`` character. The mapping key " +"selects the value to be formatted from the mapping. For example:" +msgstr "" +"Якщо правильний аргумент є словником (або іншим типом відображення), то " +"формати в рядку *мають* містити ключ відображення в дужках у цьому словнику, " +"вставлений одразу після символу ``'%'``. Ключ відображення вибирає значення, " +"яке потрібно відформатувати, із відображення. Наприклад:" + +msgid "" +"In this case no ``*`` specifiers may occur in a format (since they require a " +"sequential parameter list)." +msgstr "" +"У цьому випадку у форматі не може бути специфікаторів ``*`` (оскільки вони " +"вимагають послідовного списку параметрів)." + +msgid "The conversion flag characters are:" +msgstr "Символи прапора перетворення:" + +msgid "Flag" +msgstr "Прапор" + +msgid "``'#'``" +msgstr "``'#''``" + +msgid "" +"The value conversion will use the \"alternate form\" (where defined below)." +msgstr "" +"Перетворення значень використовуватиме \"альтернативну форму\" (де визначено " +"нижче)." + +msgid "``'0'``" +msgstr "``'0'``" + +msgid "The conversion will be zero padded for numeric values." +msgstr "Перетворення буде доповнено нулем для числових значень." + +msgid "``'-'``" +msgstr "``'-'``" + +msgid "" +"The converted value is left adjusted (overrides the ``'0'`` conversion if " +"both are given)." +msgstr "" +"Перетворене значення коригується зліва (перевизначає перетворення ``'0'``, " +"якщо подано обидва значення)." + +msgid "``' '``" +msgstr "``' '``" + +msgid "" +"(a space) A blank should be left before a positive number (or empty string) " +"produced by a signed conversion." +msgstr "" +"(пробіл) Пробіл слід залишити перед додатним числом (або порожнім рядком), " +"утвореним перетворенням зі знаком." + +msgid "``'+'``" +msgstr "``'+'``" + +msgid "" +"A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " +"a \"space\" flag)." +msgstr "" +"Символ знака (``'+'`` або ``'-'``) передуватиме перетворенню (перевизначає " +"позначку \"пробіл\")." + +msgid "" +"A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as " +"it is not necessary for Python -- so e.g. ``%ld`` is identical to ``%d``." +msgstr "" +"Модифікатор довжини (``h``, ``l`` або ``L``) може бути присутнім, але він " +"ігнорується, оскільки він не є необхідним для Python - так, напр. ``%ld`` " +"ідентичний ``%d``." + +msgid "The conversion types are:" +msgstr "Типи перетворення:" + +msgid "Conversion" +msgstr "Перетворення" + +msgid "``'d'``" +msgstr "``'d''``" + +msgid "Signed integer decimal." +msgstr "Ціле десяткове число зі знаком." + +msgid "``'i'``" +msgstr "``'я''``" + +msgid "``'o'``" +msgstr "``'o'``" + +msgid "Signed octal value." +msgstr "Вісімкове значення зі знаком." + +msgid "``'u'``" +msgstr "``'u''``" + +msgid "Obsolete type -- it is identical to ``'d'``." +msgstr "Застарілий тип -- він ідентичний ``'d'``." + +msgid "``'x'``" +msgstr "``'x''``" + +msgid "Signed hexadecimal (lowercase)." +msgstr "Шістнадцяткове число зі знаком (нижній регістр)." + +msgid "``'X'``" +msgstr "``'X''``" + +msgid "Signed hexadecimal (uppercase)." +msgstr "Шістнадцяткове число зі знаком (верхній регістр)." + +msgid "``'e'``" +msgstr "``'e''``" + +msgid "Floating point exponential format (lowercase)." +msgstr "Експоненціальний формат із плаваючою комою (нижній регістр)." + +msgid "``'E'``" +msgstr "``'E'``" + +msgid "Floating point exponential format (uppercase)." +msgstr "Експоненціальний формат із плаваючою комою (верхній регістр)." + +msgid "``'f'``" +msgstr "``'f''``" + +msgid "Floating point decimal format." +msgstr "Десятковий формат із плаваючою комою." + +msgid "``'F'``" +msgstr "``'F''``" + +msgid "``'g'``" +msgstr "``'g''``" + +msgid "" +"Floating point format. Uses lowercase exponential format if exponent is less " +"than -4 or not less than precision, decimal format otherwise." +msgstr "" +"Формат з плаваючою комою. Використовує нижній регістр експоненціального " +"формату, якщо показник степеня менший за -4 або не менший за точність, " +"десятковий формат інакше." + +msgid "``'G'``" +msgstr "``'G''``" + +msgid "" +"Floating point format. Uses uppercase exponential format if exponent is less " +"than -4 or not less than precision, decimal format otherwise." +msgstr "" +"Формат з плаваючою комою. Використовує експоненціальний формат у верхньому " +"регістрі, якщо показник степеня менший за -4 або не менший за точність, " +"інакше – десятковий формат." + +msgid "``'c'``" +msgstr "``'c''``" + +msgid "Single character (accepts integer or single character string)." +msgstr "Один символ (приймає рядок цілих чи односимвольних символів)." + +msgid "``'r'``" +msgstr "``'r''``" + +msgid "String (converts any Python object using :func:`repr`)." +msgstr "Рядок (перетворює будь-який об’єкт Python за допомогою :func:`repr`)." + +msgid "``'s'``" +msgstr "``'s''``" + +msgid "String (converts any Python object using :func:`str`)." +msgstr "Рядок (перетворює будь-який об’єкт Python за допомогою :func:`str`)." + +msgid "``'a'``" +msgstr "``'a'``" + +msgid "String (converts any Python object using :func:`ascii`)." +msgstr "Рядок (перетворює будь-який об’єкт Python за допомогою :func:`ascii`)." + +msgid "``'%'``" +msgstr "``'%'``" + +msgid "No argument is converted, results in a ``'%'`` character in the result." +msgstr "" +"Жоден аргумент не перетворюється, результатом є символ ``'%'`` в результаті." + +msgid "" +"The alternate form causes a leading octal specifier (``'0o'``) to be " +"inserted before the first digit." +msgstr "" +"Альтернативна форма призводить до того, що початковий вісімковий " +"специфікатор (``'0o'``) буде вставлено перед першою цифрою." + +msgid "" +"The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " +"whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " +"first digit." +msgstr "" +"Альтернативна форма призводить до того, що початковий ``'0x'`` або ``'0X'`` " +"(залежно від того, використовувався формат ``'x'`` або ``'X'``) буде " +"вставлено перед перша цифра." + +msgid "" +"The alternate form causes the result to always contain a decimal point, even " +"if no digits follow it." +msgstr "" +"Альтернативна форма призводить до того, що результат завжди містить " +"десяткову крапку, навіть якщо за нею не йде цифра." + +msgid "" +"The precision determines the number of digits after the decimal point and " +"defaults to 6." +msgstr "" +"Точність визначає кількість цифр після коми та за замовчуванням дорівнює 6." + +msgid "" +"The alternate form causes the result to always contain a decimal point, and " +"trailing zeroes are not removed as they would otherwise be." +msgstr "" +"Альтернативна форма призводить до того, що результат завжди містить " +"десяткову кому, а кінцеві нулі не видаляються, як це було б інакше." + +msgid "" +"The precision determines the number of significant digits before and after " +"the decimal point and defaults to 6." +msgstr "" +"Точність визначає кількість значущих цифр до та після десяткової коми та за " +"умовчанням дорівнює 6." + +msgid "If precision is ``N``, the output is truncated to ``N`` characters." +msgstr "Якщо точність ``N``, вивід скорочується до ``N`` символів." + +msgid "See :pep:`237`." +msgstr "Дивіться :pep:`237`." + +msgid "" +"Since Python strings have an explicit length, ``%s`` conversions do not " +"assume that ``'\\0'`` is the end of the string." +msgstr "" +"Оскільки рядки Python мають явну довжину, перетворення ``%s`` не " +"припускають, що ``'\\0`` є кінцем рядка." + +msgid "" +"``%f`` conversions for numbers whose absolute value is over 1e50 are no " +"longer replaced by ``%g`` conversions." +msgstr "" +"Перетворення ``%f`` для чисел, абсолютне значення яких перевищує 1e50, " +"більше не замінюються перетвореннями ``%g``." + +msgid "" +"Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" +"`memoryview`" +msgstr "" +"Типи бінарних послідовностей --- :class:`bytes`, :class:`bytearray`, :class:" +"`memoryview`" + +msgid "" +"The core built-in types for manipulating binary data are :class:`bytes` and :" +"class:`bytearray`. They are supported by :class:`memoryview` which uses the :" +"ref:`buffer protocol ` to access the memory of other binary " +"objects without needing to make a copy." +msgstr "" +"Основними вбудованими типами для обробки двійкових даних є :class:`bytes` і :" +"class:`bytearray`. Вони підтримуються :class:`memoryview`, який " +"використовує :ref:`протокол буфера ` для доступу до пам’яті " +"інших бінарних об’єктів без необхідності створення копії." + +msgid "" +"The :mod:`array` module supports efficient storage of basic data types like " +"32-bit integers and IEEE754 double-precision floating values." +msgstr "" +"Модуль :mod:`array` підтримує ефективне зберігання основних типів даних, " +"таких як 32-розрядні цілі числа та плаваючі значення подвійної точності " +"IEEE754." + +msgid "Bytes Objects" +msgstr "Об'єкти Bytes" + +msgid "" +"Bytes objects are immutable sequences of single bytes. Since many major " +"binary protocols are based on the ASCII text encoding, bytes objects offer " +"several methods that are only valid when working with ASCII compatible data " +"and are closely related to string objects in a variety of other ways." +msgstr "" +"Об’єкти Bytes — це незмінні послідовності окремих байтів. Оскільки багато " +"основних двійкових протоколів базуються на текстовому кодуванні ASCII, " +"об’єкти bytes пропонують кілька методів, які дійсні лише під час роботи з " +"даними, сумісними з ASCII, і тісно пов’язані з рядковими об’єктами різними " +"способами." + +msgid "" +"Firstly, the syntax for bytes literals is largely the same as that for " +"string literals, except that a ``b`` prefix is added:" +msgstr "" +"По-перше, синтаксис байтових літералів здебільшого такий самий, як і для " +"рядкових літералів, за винятком того, що додано префікс ``b``:" + +msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" +msgstr "Одинарні лапки: ``b'все ще дозволяє вбудовані \"подвійні\" лапки``" + +msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" +msgstr "Подвійні лапки: ``b\"все ще дозволяє вбудовані 'одинарні' лапки``" + +msgid "" +"Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" +msgstr "" +"Потрійні лапки: ``b''''3 одинарні лапки''''``, ``b\"\"\"3 подвійні лапки" +"\"\"\"``" + +msgid "" +"Only ASCII characters are permitted in bytes literals (regardless of the " +"declared source code encoding). Any binary values over 127 must be entered " +"into bytes literals using the appropriate escape sequence." +msgstr "" +"У байтових літералах дозволені лише символи ASCII (незалежно від оголошеного " +"кодування вихідного коду). Будь-які двійкові значення понад 127 потрібно " +"вводити в байтові літерали за допомогою відповідної керуючої послідовності." + +msgid "" +"As with string literals, bytes literals may also use a ``r`` prefix to " +"disable processing of escape sequences. See :ref:`strings` for more about " +"the various forms of bytes literal, including supported escape sequences." +msgstr "" +"Як і рядкові літерали, літерали bytes також можуть використовувати префікс " +"``r``, щоб вимкнути обробку керуючих послідовностей. Перегляньте :ref:" +"`strings`, щоб дізнатися більше про різні форми літералів байтів, включаючи " +"підтримувані керуючі послідовності." + +msgid "" +"While bytes literals and representations are based on ASCII text, bytes " +"objects actually behave like immutable sequences of integers, with each " +"value in the sequence restricted such that ``0 <= x < 256`` (attempts to " +"violate this restriction will trigger :exc:`ValueError`). This is done " +"deliberately to emphasise that while many binary formats include ASCII based " +"elements and can be usefully manipulated with some text-oriented algorithms, " +"this is not generally the case for arbitrary binary data (blindly applying " +"text processing algorithms to binary data formats that are not ASCII " +"compatible will usually lead to data corruption)." +msgstr "" +"У той час як байтові літерали та представлення базуються на тексті ASCII, " +"об’єкти байтів фактично поводяться як незмінні послідовності цілих чисел, де " +"кожне значення в послідовності обмежено таким чином, що ``0 <= x < 256`` " +"(спроби порушити це обмеження викличуть :exc:`ValueError`). Це зроблено " +"навмисно, щоб підкреслити, що хоча багато двійкових форматів включають " +"елементи на основі ASCII і ними можна корисно маніпулювати за допомогою " +"деяких текстово-орієнтованих алгоритмів, це зазвичай не стосується довільних " +"двійкових даних (сліпе застосування алгоритмів обробки тексту до двійкових " +"форматів даних, які не Сумісність із ASCII зазвичай призводить до " +"пошкодження даних)." + +msgid "" +"In addition to the literal forms, bytes objects can be created in a number " +"of other ways:" +msgstr "" +"Окрім літеральних форм, об’єкти bytes можна створювати кількома іншими " +"способами:" + +msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" +msgstr "Об’єкт із заповненими нулем байтами вказаної довжини: ``bytes(10)``" + +msgid "From an iterable of integers: ``bytes(range(20))``" +msgstr "З ітерації цілих чисел: ``bytes(range(20))``" + +msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" +msgstr "" +"Копіювання існуючих двійкових даних через протокол буфера: ``bytes(obj)``" + +msgid "Also see the :ref:`bytes ` built-in." +msgstr "Також перегляньте вбудований :ref:`bytes `." + +msgid "" +"Since 2 hexadecimal digits correspond precisely to a single byte, " +"hexadecimal numbers are a commonly used format for describing binary data. " +"Accordingly, the bytes type has an additional class method to read data in " +"that format:" +msgstr "" +"Оскільки 2 шістнадцяткові цифри точно відповідають одному байту, " +"шістнадцяткові числа є широко використовуваним форматом для опису двійкових " +"даних. Відповідно, тип bytes має додатковий метод класу для читання даних у " +"цьому форматі:" + +msgid "" +"This :class:`bytes` class method returns a bytes object, decoding the given " +"string object. The string must contain two hexadecimal digits per byte, " +"with ASCII whitespace being ignored." +msgstr "" +"Цей метод класу :class:`bytes` повертає об’єкт bytes, декодуючи даний " +"рядковий об’єкт. Рядок має містити дві шістнадцяткові цифри на байт, при " +"цьому пробіли ASCII ігноруються." + +msgid "" +":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " +"spaces." +msgstr "" +":meth:`bytes.fromhex` тепер пропускає всі пробіли ASCII у рядку, а не лише " +"пробіли." + +msgid "" +"A reverse conversion function exists to transform a bytes object into its " +"hexadecimal representation." +msgstr "" +"Існує функція зворотного перетворення для перетворення об’єкта байтів у його " +"шістнадцяткове представлення." + +msgid "" +"Return a string object containing two hexadecimal digits for each byte in " +"the instance." +msgstr "" +"Повертає рядковий об’єкт, що містить дві шістнадцяткові цифри для кожного " +"байта екземпляра." + +msgid "" +"If you want to make the hex string easier to read, you can specify a single " +"character separator *sep* parameter to include in the output. By default, " +"this separator will be included between each byte. A second optional " +"*bytes_per_sep* parameter controls the spacing. Positive values calculate " +"the separator position from the right, negative values from the left." +msgstr "" + +msgid "" +":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " +"to insert separators between bytes in the hex output." +msgstr "" +":meth:`bytes.hex` тепер підтримує додаткові параметри *sep* і " +"*bytes_per_sep* для вставки роздільників між байтами в шістнадцятковому " +"виведенні." + +msgid "" +"Since bytes objects are sequences of integers (akin to a tuple), for a bytes " +"object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " +"object of length 1. (This contrasts with text strings, where both indexing " +"and slicing will produce a string of length 1)" +msgstr "" +"Оскільки об’єкти bytes — це послідовності цілих чисел (подібно до кортежу), " +"для об’єкта bytes *b* \"b[0]\" буде цілим числом, тоді як \"b[0:1]\" буде " +"байтом об’єкт довжини 1. (Це контрастує з текстовими рядками, де як " +"індексування, так і нарізка створять рядок довжиною 1)" + +msgid "" +"The representation of bytes objects uses the literal format (``b'...'``) " +"since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " +"always convert a bytes object into a list of integers using ``list(b)``." +msgstr "" +"Для представлення об’єктів bytes використовується літеральний формат " +"(``b'...''``), оскільки він часто корисніший, ніж, наприклад, ``bytes([46, " +"46, 46])``. Ви завжди можете перетворити об’єкт bytes на список цілих чисел " +"за допомогою ``list(b)``." + +msgid "Bytearray Objects" +msgstr "Об’єкти байтового масиву" + +msgid "" +":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " +"objects." +msgstr "" +"Об’єкти :class:`bytearray` є змінними аналогами об’єктів :class:`bytes`." + +msgid "" +"There is no dedicated literal syntax for bytearray objects, instead they are " +"always created by calling the constructor:" +msgstr "" +"Для об’єктів bytearray немає виділеного синтаксису літералів, натомість вони " +"завжди створюються шляхом виклику конструктора:" + +msgid "Creating an empty instance: ``bytearray()``" +msgstr "Створення порожнього екземпляра: ``bytearray()``" + +msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" +msgstr "" +"Створення екземпляра із заповненням нуля із заданою довжиною: " +"``bytearray(10)``" + +msgid "From an iterable of integers: ``bytearray(range(20))``" +msgstr "З ітерації цілих чисел: ``bytearray(range(20))``" + +msgid "" +"Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" +msgstr "" +"Копіювання наявних двійкових даних за допомогою буферного протоколу: " +"``bytearray(b'Hi!')``" + +msgid "" +"As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " +"operations described in :ref:`bytes-methods`." +msgstr "" +"Оскільки об’єкти bytearray є змінними, вони підтримують операції " +"послідовності :ref:`mutable ` на додаток до звичайних " +"операцій з байтами та байтовими масивами, описаних у :ref:`bytes-methods`." + +msgid "Also see the :ref:`bytearray ` built-in." +msgstr "Також перегляньте вбудований :ref:`bytearray `." + +msgid "" +"Since 2 hexadecimal digits correspond precisely to a single byte, " +"hexadecimal numbers are a commonly used format for describing binary data. " +"Accordingly, the bytearray type has an additional class method to read data " +"in that format:" +msgstr "" +"Оскільки 2 шістнадцяткові цифри точно відповідають одному байту, " +"шістнадцяткові числа є широко використовуваним форматом для опису двійкових " +"даних. Відповідно, тип bytearray має додатковий метод класу для читання " +"даних у цьому форматі:" + +msgid "" +"This :class:`bytearray` class method returns bytearray object, decoding the " +"given string object. The string must contain two hexadecimal digits per " +"byte, with ASCII whitespace being ignored." +msgstr "" +"Цей метод класу :class:`bytearray` повертає об’єкт bytearray, декодуючи " +"заданий рядковий об’єкт. Рядок має містити дві шістнадцяткові цифри на байт, " +"при цьому пробіли ASCII ігноруються." + +msgid "" +":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " +"just spaces." +msgstr "" +":meth:`bytearray.fromhex` тепер пропускає всі пробіли ASCII у рядку, а не " +"лише пробіли." + +msgid "" +"A reverse conversion function exists to transform a bytearray object into " +"its hexadecimal representation." +msgstr "" +"Існує функція зворотного перетворення для перетворення об’єкта байтового " +"масиву в його шістнадцяткове представлення." + +msgid "" +"Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " +"*sep* and *bytes_per_sep* parameters to insert separators between bytes in " +"the hex output." +msgstr "" +"Подібно до :meth:`bytes.hex`, :meth:`bytearray.hex` тепер підтримує " +"додаткові параметри *sep* і *bytes_per_sep* для вставки роздільників між " +"байтами в шістнадцятковому виведенні." + +msgid "" +"Since bytearray objects are sequences of integers (akin to a list), for a " +"bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " +"a bytearray object of length 1. (This contrasts with text strings, where " +"both indexing and slicing will produce a string of length 1)" +msgstr "" +"Оскільки об’єкти bytearray — це послідовності цілих чисел (схожі на список), " +"для об’єкта bytearray *b* \"b[0]\" буде цілим числом, а \"b[0:1]\" буде " +"масивом bytearray об’єкт довжини 1. (Це контрастує з текстовими рядками, де " +"як індексування, так і нарізка створять рядок довжиною 1)" + +msgid "" +"The representation of bytearray objects uses the bytes literal format " +"(``bytearray(b'...')``) since it is often more useful than e.g. " +"``bytearray([46, 46, 46])``. You can always convert a bytearray object into " +"a list of integers using ``list(b)``." +msgstr "" +"У представленні об’єктів bytearray використовується формат літералу bytes " +"(``bytearray(b'...')``), оскільки він часто корисніший, ніж, наприклад, " +"``bytearray([46, 46, 46])``. Ви завжди можете перетворити об’єкт bytearray " +"на список цілих чисел за допомогою ``list(b)``." + +msgid "Bytes and Bytearray Operations" +msgstr "Операції з байтами та масивом байтів" + +msgid "" +"Both bytes and bytearray objects support the :ref:`common ` " +"sequence operations. They interoperate not just with operands of the same " +"type, but with any :term:`bytes-like object`. Due to this flexibility, they " +"can be freely mixed in operations without causing errors. However, the " +"return type of the result may depend on the order of operands." +msgstr "" +"Як об’єкти bytes, так і bytearray підтримують операції послідовності :ref:" +"`common `. Вони взаємодіють не тільки з операндами того " +"самого типу, але й з будь-яким :term:`bytes-like object`. Завдяки цій " +"гнучкості їх можна вільно змішувати під час операцій, не викликаючи помилок. " +"Однак тип результату може залежати від порядку операндів." + +msgid "" +"The methods on bytes and bytearray objects don't accept strings as their " +"arguments, just as the methods on strings don't accept bytes as their " +"arguments. For example, you have to write::" +msgstr "" +"Методи для об’єктів bytes і bytearray не приймають рядки як аргументи, так " +"само як методи для рядків не приймають байти як аргументи. Наприклад, ви " +"повинні написати::" + +msgid "and::" +msgstr "і::" + +msgid "" +"Some bytes and bytearray operations assume the use of ASCII compatible " +"binary formats, and hence should be avoided when working with arbitrary " +"binary data. These restrictions are covered below." +msgstr "" +"Деякі операції з байтами та масивами байтів передбачають використання " +"двійкових форматів, сумісних із ASCII, і тому їх слід уникати під час роботи " +"з довільними двійковими даними. Ці обмеження описані нижче." + +msgid "" +"Using these ASCII based operations to manipulate binary data that is not " +"stored in an ASCII based format may lead to data corruption." +msgstr "" +"Використання цих операцій на основі ASCII для обробки двійкових даних, які " +"не зберігаються у форматі на основі ASCII, може призвести до пошкодження " +"даних." + +msgid "" +"The following methods on bytes and bytearray objects can be used with " +"arbitrary binary data." +msgstr "" +"Наступні методи для об’єктів bytes і bytearray можна використовувати з " +"довільними двійковими даними." + +msgid "" +"Return the number of non-overlapping occurrences of subsequence *sub* in the " +"range [*start*, *end*]. Optional arguments *start* and *end* are " +"interpreted as in slice notation." +msgstr "" +"Повертає кількість неперекриваючих входжень підпослідовності *sub* у " +"діапазоні [*початок*, *кінець*]. Необов’язкові аргументи *початок* і " +"*кінець* інтерпретуються як у нотації фрагментів." + +msgid "" +"The subsequence to search for may be any :term:`bytes-like object` or an " +"integer in the range 0 to 255." +msgstr "" +"Підпослідовністю для пошуку може бути будь-який :term:`bytes-like object` " +"або ціле число в діапазоні від 0 до 255." + +msgid "" +"If *sub* is empty, returns the number of empty slices between characters " +"which is the length of the bytes object plus one." +msgstr "" + +msgid "Also accept an integer in the range 0 to 255 as the subsequence." +msgstr "" +"Також прийняти ціле число в діапазоні від 0 до 255 як підпослідовність." + +msgid "" +"If the binary data starts with the *prefix* string, return " +"``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " +"data::" +msgstr "" +"Якщо двійкові дані починаються з рядка *prefix*, поверніть " +"``bytes[len(prefix):]``. В іншому випадку поверніть копію вихідних двійкових " +"даних::" + +msgid "The *prefix* may be any :term:`bytes-like object`." +msgstr "*Префікс* може бути будь-яким :term:`bytes-like object`." + +msgid "" +"The bytearray version of this method does *not* operate in place - it always " +"produces a new object, even if no changes were made." +msgstr "" +"Версія bytearray цього методу *не* працює на місці – вона завжди створює " +"новий об’єкт, навіть якщо не було зроблено жодних змін." + +msgid "" +"If the binary data ends with the *suffix* string and that *suffix* is not " +"empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " +"original binary data::" +msgstr "" +"Якщо двійкові дані закінчуються рядком *суфікса* і цей *суфікс* не порожній, " +"поверніть ``bytes[:-len(suffix)]``. В іншому випадку поверніть копію " +"вихідних двійкових даних::" + +msgid "The *suffix* may be any :term:`bytes-like object`." +msgstr "*Суфіксом* може бути будь-який :term:`bytes-like object`." + +msgid "" +"Return a string decoded from the given bytes. Default encoding is " +"``'utf-8'``. *errors* may be given to set a different error handling " +"scheme. The default for *errors* is ``'strict'``, meaning that encoding " +"errors raise a :exc:`UnicodeError`. Other possible values are ``'ignore'``, " +"``'replace'`` and any other name registered via :func:`codecs." +"register_error`, see section :ref:`error-handlers`. For a list of possible " +"encodings, see section :ref:`standard-encodings`." +msgstr "" +"Повертає рядок, декодований із заданих байтів. Кодування за замовчуванням " +"``'utf-8'``. *помилки* можуть бути надані для встановлення іншої схеми " +"обробки помилок. Типовим значенням для *помилок* є ``'строгий'``, що " +"означає, що помилки кодування викликають :exc:`UnicodeError`. Іншими " +"можливими значеннями є ``'ignore'``, ``'replace'`` та будь-яке інше ім'я, " +"зареєстроване через :func:`codecs.register_error`, див. розділ :ref:`error-" +"handlers`. Список можливих кодувань див. у розділі :ref:`standard-encodings`." + +msgid "" +"By default, the *errors* argument is not checked for best performances, but " +"only used at the first decoding error. Enable the :ref:`Python Development " +"Mode `, or use a :ref:`debug build ` to check *errors*." +msgstr "" +"За замовчуванням аргумент *errors* не перевіряється на найкращу " +"продуктивність, а використовується лише при першій помилці декодування. " +"Увімкніть :ref:`Режим розробки Python ` або скористайтеся :ref:" +"`debug build `, щоб перевірити *помилки*." + +msgid "" +"Passing the *encoding* argument to :class:`str` allows decoding any :term:" +"`bytes-like object` directly, without needing to make a temporary bytes or " +"bytearray object." +msgstr "" +"Передача аргументу *encoding* до :class:`str` дозволяє декодувати будь-який :" +"term:`bytes-like object` безпосередньо, без необхідності створювати " +"тимчасові об’єкти bytes або bytearray." + +msgid "Added support for keyword arguments." +msgstr "Додано підтримку аргументів ключових слів." + +msgid "" +"Return ``True`` if the binary data ends with the specified *suffix*, " +"otherwise return ``False``. *suffix* can also be a tuple of suffixes to " +"look for. With optional *start*, test beginning at that position. With " +"optional *end*, stop comparing at that position." +msgstr "" +"Повертає ``True``, якщо двійкові дані закінчуються вказаним *суфіксом*, " +"інакше повертає ``False``. *suffix* також може бути кортежем суфіксів для " +"пошуку. З необов'язковим *початком* тестування починається з цієї позиції. З " +"необов’язковим *end*, припинити порівняння на цій позиції." + +msgid "The suffix(es) to search for may be any :term:`bytes-like object`." +msgstr "Суфікс(и) для пошуку може бути будь-яким :term:`bytes-like object`." + +msgid "" +"Return the lowest index in the data where the subsequence *sub* is found, " +"such that *sub* is contained in the slice ``s[start:end]``. Optional " +"arguments *start* and *end* are interpreted as in slice notation. Return " +"``-1`` if *sub* is not found." +msgstr "" +"Повертає найнижчий індекс у даних, де знайдено підпослідовність *sub*, так " +"що *sub* міститься в сегменті ``s[start:end]``. Необов’язкові аргументи " +"*початок* і *кінець* інтерпретуються як у нотації фрагментів. Повертає " +"``-1``, якщо *sub* не знайдено." + +msgid "" +"The :meth:`~bytes.find` method should be used only if you need to know the " +"position of *sub*. To check if *sub* is a substring or not, use the :" +"keyword:`in` operator::" +msgstr "" +"Метод :meth:`~bytes.find` слід використовувати, лише якщо вам потрібно знати " +"позицію *sub*. Щоб перевірити, чи є *sub* підрядком, скористайтеся " +"оператором :keyword:`in`::" + +msgid "" +"Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " +"is not found." +msgstr "" +"Як :meth:`~bytes.find`, але викликає :exc:`ValueError`, коли " +"підпослідовність не знайдено." + +msgid "" +"Return a bytes or bytearray object which is the concatenation of the binary " +"data sequences in *iterable*. A :exc:`TypeError` will be raised if there " +"are any values in *iterable* that are not :term:`bytes-like objects `, including :class:`str` objects. The separator between " +"elements is the contents of the bytes or bytearray object providing this " +"method." +msgstr "" +"Повертає об’єкт bytes або bytearray, який є конкатенацією двійкових " +"послідовностей даних у *iterable*. Помилка :exc:`TypeError` буде викликана, " +"якщо в *iterable* є будь-які значення, які не є :term:`bytes-подібними " +"об’єктами `, включаючи об’єкти :class:`str`. Роздільником " +"між елементами є вміст об’єкта bytes або bytearray, що забезпечує цей метод." + +msgid "" +"This static method returns a translation table usable for :meth:`bytes." +"translate` that will map each character in *from* into the character at the " +"same position in *to*; *from* and *to* must both be :term:`bytes-like " +"objects ` and have the same length." +msgstr "" +"Цей статичний метод повертає таблицю перекладу, придатну для :meth:`bytes." +"translate`, яка відобразить кожен символ у *from* на символ у тій же позиції " +"в *to*; *from* і *to* мають бути :term:`байтоподібними об’єктами ` і мати однакову довжину." + +msgid "" +"Split the sequence at the first occurrence of *sep*, and return a 3-tuple " +"containing the part before the separator, the separator itself or its " +"bytearray copy, and the part after the separator. If the separator is not " +"found, return a 3-tuple containing a copy of the original sequence, followed " +"by two empty bytes or bytearray objects." +msgstr "" +"Розділіть послідовність при першому входженні *sep* і поверніть 3-кортеж, що " +"містить частину перед роздільником, сам роздільник або його копію байтового " +"масиву та частину після роздільника. Якщо роздільник не знайдено, поверніть " +"3-кортеж, що містить копію вихідної послідовності, за якою слідують два " +"порожні байти або об’єкти bytearray." + +msgid "The separator to search for may be any :term:`bytes-like object`." +msgstr "Роздільником для пошуку може бути будь-який :term:`bytes-like object`." + +msgid "" +"Return a copy of the sequence with all occurrences of subsequence *old* " +"replaced by *new*. If the optional argument *count* is given, only the " +"first *count* occurrences are replaced." +msgstr "" +"Повертає копію послідовності з заміною всіх входжень підпослідовності *old* " +"на *new*. Якщо вказано необов’язковий аргумент *count*, заміняються лише " +"перші випадки *count*." + +msgid "" +"The subsequence to search for and its replacement may be any :term:`bytes-" +"like object`." +msgstr "" +"Підпослідовністю для пошуку та її заміною може бути будь-який :term:`bytes-" +"like object`." + +msgid "" +"Return the highest index in the sequence where the subsequence *sub* is " +"found, such that *sub* is contained within ``s[start:end]``. Optional " +"arguments *start* and *end* are interpreted as in slice notation. Return " +"``-1`` on failure." +msgstr "" +"Повертає найвищий індекс у послідовності, де знайдено підпослідовність " +"*sub*, так що *sub* міститься в ``s[start:end]``. Необов’язкові аргументи " +"*початок* і *кінець* інтерпретуються як у нотації фрагментів. Повернути " +"``-1`` у разі помилки." + +msgid "" +"Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " +"*sub* is not found." +msgstr "" +"Подібно до :meth:`~bytes.rfind`, але викликає :exc:`ValueError`, коли " +"підпослідовність *sub* не знайдено." + +msgid "" +"Split the sequence at the last occurrence of *sep*, and return a 3-tuple " +"containing the part before the separator, the separator itself or its " +"bytearray copy, and the part after the separator. If the separator is not " +"found, return a 3-tuple containing two empty bytes or bytearray objects, " +"followed by a copy of the original sequence." +msgstr "" +"Розділіть послідовність при останньому входженні *sep* і поверніть 3-кортеж, " +"що містить частину перед роздільником, сам роздільник або його копію " +"байтового масиву та частину після роздільника. Якщо роздільник не знайдено, " +"поверніть 3-кортеж, що містить два порожні об’єкти байтів або масиву байтів, " +"а потім копію вихідної послідовності." + +msgid "" +"Return ``True`` if the binary data starts with the specified *prefix*, " +"otherwise return ``False``. *prefix* can also be a tuple of prefixes to " +"look for. With optional *start*, test beginning at that position. With " +"optional *end*, stop comparing at that position." +msgstr "" +"Повертає ``True``, якщо двійкові дані починаються з указаного *префікса*, " +"інакше повертає ``False``. *префікс* також може бути кортежем префіксів для " +"пошуку. З необов’язковим *початком* тестування починається з цієї позиції. З " +"необов’язковим *end*, припинити порівняння на цій позиції." + +msgid "The prefix(es) to search for may be any :term:`bytes-like object`." +msgstr "Префікс(и) для пошуку може бути будь-яким :term:`bytes-like object`." + +msgid "" +"Return a copy of the bytes or bytearray object where all bytes occurring in " +"the optional argument *delete* are removed, and the remaining bytes have " +"been mapped through the given translation table, which must be a bytes " +"object of length 256." +msgstr "" +"Повертає копію об’єкта bytes або bytearray, де всі байти, що зустрічаються в " +"необов’язковому аргументі *delete*, видаляються, а решта байтів відображено " +"через задану таблицю перекладу, яка має бути об’єктом bytes довжиною 256." + +msgid "" +"You can use the :func:`bytes.maketrans` method to create a translation table." +msgstr "" +"Ви можете використовувати метод :func:`bytes.maketrans` для створення " +"таблиці перекладу." + +msgid "" +"Set the *table* argument to ``None`` for translations that only delete " +"characters::" +msgstr "" +"Встановіть для аргументу *table* значення ``None`` для перекладів, які " +"видаляють лише символи::" + +msgid "*delete* is now supported as a keyword argument." +msgstr "*delete* тепер підтримується як аргумент ключового слова." + +msgid "" +"The following methods on bytes and bytearray objects have default behaviours " +"that assume the use of ASCII compatible binary formats, but can still be " +"used with arbitrary binary data by passing appropriate arguments. Note that " +"all of the bytearray methods in this section do *not* operate in place, and " +"instead produce new objects." +msgstr "" +"Наведені нижче методи для об’єктів bytes і bytearray мають поведінку за " +"замовчуванням, яка передбачає використання ASCII-сумісних двійкових " +"форматів, але все одно їх можна використовувати з довільними двійковими " +"даними шляхом передачі відповідних аргументів. Зауважте, що всі методи " +"bytearray у цьому розділі *не* працюють на місці, а створюють нові об’єкти." + +msgid "" +"Return a copy of the object centered in a sequence of length *width*. " +"Padding is done using the specified *fillbyte* (default is an ASCII space). " +"For :class:`bytes` objects, the original sequence is returned if *width* is " +"less than or equal to ``len(s)``." +msgstr "" +"Повертає копію об’єкта з центром у послідовності довжиною *шириною*. " +"Доповнення виконується за допомогою вказаного *fillbyte* (за замовчуванням " +"це пробіл ASCII). Для об’єктів :class:`bytes` оригінальна послідовність " +"повертається, якщо *width* менше або дорівнює ``len(s)``." + +msgid "" +"Return a copy of the object left justified in a sequence of length *width*. " +"Padding is done using the specified *fillbyte* (default is an ASCII space). " +"For :class:`bytes` objects, the original sequence is returned if *width* is " +"less than or equal to ``len(s)``." +msgstr "" +"Повертає копію об’єкта, вирівняну за лівим краєм у послідовності довжини " +"*ширина*. Доповнення виконується за допомогою вказаного *fillbyte* (за " +"замовчуванням це пробіл ASCII). Для об’єктів :class:`bytes` вихідна " +"послідовність повертається, якщо *width* менше або дорівнює ``len(s)``." + +msgid "" +"Return a copy of the sequence with specified leading bytes removed. The " +"*chars* argument is a binary sequence specifying the set of byte values to " +"be removed - the name refers to the fact this method is usually used with " +"ASCII characters. If omitted or ``None``, the *chars* argument defaults to " +"removing ASCII whitespace. The *chars* argument is not a prefix; rather, " +"all combinations of its values are stripped::" +msgstr "" +"Повертає копію послідовності з видаленими вказаними початковими байтами. " +"Аргумент *chars* є двійковою послідовністю, яка визначає набір значень " +"байтів, які потрібно видалити. Назва вказує на те, що цей метод зазвичай " +"використовується з символами ASCII. Якщо пропущено або ``None``, аргумент " +"*chars* за умовчанням видаляє пробіли ASCII. Аргумент *chars* не є " +"префіксом; навпаки, усі комбінації його значень видаляються:" + +msgid "" +"The binary sequence of byte values to remove may be any :term:`bytes-like " +"object`. See :meth:`~bytes.removeprefix` for a method that will remove a " +"single prefix string rather than all of a set of characters. For example::" +msgstr "" +"Двійкова послідовність байтових значень для видалення може бути будь-яким :" +"term:`bytes-like object`. Перегляньте :meth:`~bytes.removeprefix` для " +"методу, який видаляє один рядок префікса, а не весь набір символів. " +"Наприклад::" + +msgid "" +"Return a copy of the object right justified in a sequence of length *width*. " +"Padding is done using the specified *fillbyte* (default is an ASCII space). " +"For :class:`bytes` objects, the original sequence is returned if *width* is " +"less than or equal to ``len(s)``." +msgstr "" +"Повертає копію об’єкта, вирівняну по правому краю в послідовності довжина " +"*ширина*. Доповнення виконується за допомогою вказаного *fillbyte* (за " +"замовчуванням це пробіл ASCII). Для об’єктів :class:`bytes` оригінальна " +"послідовність повертається, якщо *width* менше або дорівнює ``len(s)``." + +msgid "" +"Split the binary sequence into subsequences of the same type, using *sep* as " +"the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are " +"done, the *rightmost* ones. If *sep* is not specified or ``None``, any " +"subsequence consisting solely of ASCII whitespace is a separator. Except for " +"splitting from the right, :meth:`rsplit` behaves like :meth:`split` which is " +"described in detail below." +msgstr "" +"Розділіть бінарну послідовність на підпослідовності одного типу, " +"використовуючи *sep* як рядок-роздільник. Якщо задано *maxsplit*, " +"виконується щонайбільше *maxsplit* розбиття, *найправіші*. Якщо *sep* не " +"вказано або ``None``, будь-яка підпослідовність, що складається виключно з " +"пробілів ASCII, є роздільником. За винятком розділення справа, :meth:" +"`rsplit` поводиться як :meth:`split`, що детально описано нижче." + +msgid "" +"Return a copy of the sequence with specified trailing bytes removed. The " +"*chars* argument is a binary sequence specifying the set of byte values to " +"be removed - the name refers to the fact this method is usually used with " +"ASCII characters. If omitted or ``None``, the *chars* argument defaults to " +"removing ASCII whitespace. The *chars* argument is not a suffix; rather, " +"all combinations of its values are stripped::" +msgstr "" +"Повертає копію послідовності з видаленими вказаними кінцевими байтами. " +"Аргумент *chars* є двійковою послідовністю, яка визначає набір значень " +"байтів, які потрібно видалити. Назва вказує на те, що цей метод зазвичай " +"використовується з символами ASCII. Якщо пропущено або ``None``, аргумент " +"*chars* за замовчуванням видаляє пробіли ASCII. Аргумент *chars* не є " +"суфіксом; навпаки, усі комбінації його значень видаляються:" + +msgid "" +"The binary sequence of byte values to remove may be any :term:`bytes-like " +"object`. See :meth:`~bytes.removesuffix` for a method that will remove a " +"single suffix string rather than all of a set of characters. For example::" +msgstr "" +"Двійкова послідовність байтових значень для видалення може бути будь-яким :" +"term:`bytes-like object`. Перегляньте :meth:`~bytes.removesuffix`, щоб " +"дізнатися про метод, який видалить один рядок суфікса, а не весь набір " +"символів. Наприклад::" + +msgid "" +"Split the binary sequence into subsequences of the same type, using *sep* as " +"the delimiter string. If *maxsplit* is given and non-negative, at most " +"*maxsplit* splits are done (thus, the list will have at most ``maxsplit+1`` " +"elements). If *maxsplit* is not specified or is ``-1``, then there is no " +"limit on the number of splits (all possible splits are made)." +msgstr "" +"Розділіть бінарну послідовність на підпослідовності одного типу, " +"використовуючи *sep* як рядок-роздільник. Якщо задано *maxsplit* і воно є " +"невід’ємним, виконується щонайбільше розділень *maxsplit* (отже, список " +"матиме щонайбільше елементів ``maxsplit+1``). Якщо *maxsplit* не вказано або " +"дорівнює ``-1``, тоді немає обмежень на кількість розбивок (виконуються всі " +"можливі розбиття)." + +msgid "" +"If *sep* is given, consecutive delimiters are not grouped together and are " +"deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " +"returns ``[b'1', b'', b'2']``). The *sep* argument may consist of a " +"multibyte sequence (for example, ``b'1<>2<>3'.split(b'<>')`` returns " +"``[b'1', b'2', b'3']``). Splitting an empty sequence with a specified " +"separator returns ``[b'']`` or ``[bytearray(b'')]`` depending on the type of " +"object being split. The *sep* argument may be any :term:`bytes-like object`." +msgstr "" +"Якщо задано *sep*, послідовні розділювачі не групуються разом і вважаються " +"розмежовуючими порожні підпослідовності (наприклад, ``b'1,,2'.split(b',')`` " +"повертає ``[b'1 ', b'', b'2']``). Аргумент *sep* може складатися з " +"багатобайтової послідовності (наприклад, ``b'1 <> 2 <> 3'.split(b' <> ')`` " +"повертає ``[b'1', b'2', b '3']``). Розділення порожньої послідовності з " +"указаним роздільником повертає ``[b'']`` або ``[bytearray(b'')]`` залежно " +"від типу об’єкта, який розділяється. Аргументом *sep* може бути будь-який :" +"term:`bytes-like object`." + +msgid "" +"If *sep* is not specified or is ``None``, a different splitting algorithm is " +"applied: runs of consecutive ASCII whitespace are regarded as a single " +"separator, and the result will contain no empty strings at the start or end " +"if the sequence has leading or trailing whitespace. Consequently, splitting " +"an empty sequence or a sequence consisting solely of ASCII whitespace " +"without a specified separator returns ``[]``." +msgstr "" +"Якщо *sep* не вказано або має значення ``None``, застосовується інший " +"алгоритм поділу: цикли послідовних пробілів ASCII розглядаються як один " +"роздільник, і результат не міститиме порожніх рядків на початку або в кінці, " +"якщо послідовність має пробіли на початку або в кінці. Отже, розділення " +"порожньої послідовності або послідовності, що складається виключно з " +"пробілів ASCII без указаного роздільника, повертає ``[]``." + +msgid "" +"Return a copy of the sequence with specified leading and trailing bytes " +"removed. The *chars* argument is a binary sequence specifying the set of " +"byte values to be removed - the name refers to the fact this method is " +"usually used with ASCII characters. If omitted or ``None``, the *chars* " +"argument defaults to removing ASCII whitespace. The *chars* argument is not " +"a prefix or suffix; rather, all combinations of its values are stripped::" +msgstr "" +"Повертає копію послідовності з вилученими вказаними початковим і кінцевим " +"байтами. Аргумент *chars* є двійковою послідовністю, яка визначає набір " +"значень байтів, які потрібно видалити. Назва вказує на те, що цей метод " +"зазвичай використовується з символами ASCII. Якщо пропущено або ``None``, " +"аргумент *chars* за замовчуванням видаляє пробіли ASCII. Аргумент *chars* не " +"є префіксом або суфіксом; навпаки, усі комбінації його значень видаляються:" + +msgid "" +"The binary sequence of byte values to remove may be any :term:`bytes-like " +"object`." +msgstr "" +"Двійкова послідовність байтових значень для видалення може бути будь-яким :" +"term:`bytes-like object`." + +msgid "" +"The following methods on bytes and bytearray objects assume the use of ASCII " +"compatible binary formats and should not be applied to arbitrary binary " +"data. Note that all of the bytearray methods in this section do *not* " +"operate in place, and instead produce new objects." +msgstr "" +"Наступні методи для об’єктів bytes і bytearray передбачають використання " +"двійкових форматів, сумісних із ASCII, і їх не слід застосовувати до " +"довільних двійкових даних. Зауважте, що всі методи bytearray у цьому розділі " +"*не* працюють на місці, а створюють нові об’єкти." + +msgid "" +"Return a copy of the sequence with each byte interpreted as an ASCII " +"character, and the first byte capitalized and the rest lowercased. Non-ASCII " +"byte values are passed through unchanged." +msgstr "" +"Повертає копію послідовності з кожним байтом, інтерпретованим як символ " +"ASCII, і перший байт у великому регістрі, а решта – у нижньому. Байтові " +"значення, відмінні від ASCII, передаються без змін." + +msgid "" +"Return a copy of the sequence where all ASCII tab characters are replaced by " +"one or more ASCII spaces, depending on the current column and the given tab " +"size. Tab positions occur every *tabsize* bytes (default is 8, giving tab " +"positions at columns 0, 8, 16 and so on). To expand the sequence, the " +"current column is set to zero and the sequence is examined byte by byte. If " +"the byte is an ASCII tab character (``b'\\t'``), one or more space " +"characters are inserted in the result until the current column is equal to " +"the next tab position. (The tab character itself is not copied.) If the " +"current byte is an ASCII newline (``b'\\n'``) or carriage return " +"(``b'\\r'``), it is copied and the current column is reset to zero. Any " +"other byte value is copied unchanged and the current column is incremented " +"by one regardless of how the byte value is represented when printed::" +msgstr "" +"Повертає копію послідовності, де всі символи табуляції ASCII замінено одним " +"або декількома пробілами ASCII, залежно від поточного стовпця та заданого " +"розміру табуляції. Позиції табуляції відбуваються кожні байти *табуляції* " +"(за замовчуванням — 8, надаючи позиції табуляції в стовпцях 0, 8, 16 і так " +"далі). Щоб розширити послідовність, поточний стовпець встановлюється на нуль " +"і послідовність перевіряється побайтно. Якщо байт є символом табуляції ASCII " +"(``b'\\t'``), один або більше символів пробілу вставляються в результат, " +"доки поточний стовпець не буде відповідати наступній позиції табуляції. (Сам " +"символ табуляції не копіюється.) Якщо поточний байт є ASCII символом нового " +"рядка (``b'\\n'``) або поверненням каретки (``b'\\r'``), він копіюється і " +"поточний стовпець скидається на нуль. Будь-яке інше значення байта " +"копіюється без змін, а поточний стовпець збільшується на одиницю незалежно " +"від того, як значення байта представлено під час друку::" + +msgid "" +"Return ``True`` if all bytes in the sequence are alphabetical ASCII " +"characters or ASCII decimal digits and the sequence is not empty, ``False`` " +"otherwise. Alphabetic ASCII characters are those byte values in the sequence " +"``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``. ASCII decimal " +"digits are those byte values in the sequence ``b'0123456789'``." +msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є алфавітними символами " +"ASCII або десятковими цифрами ASCII і послідовність не є порожньою, " +"``False`` інакше. Алфавітні символи ASCII – це значення байтів у " +"послідовності ``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ``. " +"Десяткові цифри ASCII – це значення байтів у послідовності ``b'0123456789``." + +msgid "" +"Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " +"and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " +"characters are those byte values in the sequence " +"``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." +msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є алфавітними символами " +"ASCII і послідовність не є пустою, ``False`` інакше. Алфавітні символи ASCII " +"– це значення байтів у послідовності " +"``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ``." + +msgid "" +"Return ``True`` if the sequence is empty or all bytes in the sequence are " +"ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." +msgstr "" +"Повертає ``True``, якщо послідовність порожня або всі байти в послідовності " +"ASCII, ``False`` інакше. Байти ASCII знаходяться в діапазоні 0-0x7F." + +msgid "" +"Return ``True`` if all bytes in the sequence are ASCII decimal digits and " +"the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " +"those byte values in the sequence ``b'0123456789'``." +msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є десятковими цифрами " +"ASCII і послідовність не порожня, ``False`` інакше. Десяткові цифри ASCII – " +"це значення байтів у послідовності ``b'0123456789``." + +msgid "" +"Return ``True`` if there is at least one lowercase ASCII character in the " +"sequence and no uppercase ASCII characters, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо в послідовності є принаймні один символ нижнього " +"регістру ASCII і немає символів ASCII у верхньому регістрі, інакше ``False``." + +msgid "" +"Lowercase ASCII characters are those byte values in the sequence " +"``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " +"values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." +msgstr "" +"Символи ASCII у нижньому регістрі – це значення байтів у послідовності " +"``b'abcdefghijklmnopqrstuvwxyz``. Символи ASCII у верхньому регістрі – це " +"значення байтів у послідовності ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ``." + +msgid "" +"Return ``True`` if all bytes in the sequence are ASCII whitespace and the " +"sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " +"those byte values in the sequence ``b' \\t\\n\\r\\x0b\\f'`` (space, tab, " +"newline, carriage return, vertical tab, form feed)." +msgstr "" +"Повертає ``True``, якщо всі байти в послідовності є пробілами ASCII і " +"послідовність не порожня, ``False`` інакше. Пробільні символи ASCII – це " +"значення байтів у послідовності ``b' \\t\\n\\r\\x0b\\f''`` (пробіл, " +"табуляція, новий рядок, повернення каретки, вертикальна табуляція, передача " +"форми)." + +msgid "" +"Return ``True`` if the sequence is ASCII titlecase and the sequence is not " +"empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " +"definition of \"titlecase\"." +msgstr "" +"Повертає ``True``, якщо послідовність має регістр заголовків ASCII і " +"послідовність не є порожньою, ``False`` інакше. Дивіться :meth:`bytes." +"title`, щоб дізнатися більше про визначення \"заголовка\"." + +msgid "" +"Return ``True`` if there is at least one uppercase alphabetic ASCII " +"character in the sequence and no lowercase ASCII characters, ``False`` " +"otherwise." +msgstr "" +"Повертає ``True``, якщо в послідовності є принаймні один символ ASCII у " +"верхньому регістрі та відсутні символи ASCII у нижньому регістрі, інакше " +"``False``." + +msgid "" +"Return a copy of the sequence with all the uppercase ASCII characters " +"converted to their corresponding lowercase counterpart." +msgstr "" +"Повертає копію послідовності з усіма символами ASCII у верхньому регістрі, " +"перетвореними на їхні відповідні відповідники у нижньому регістрі." + +msgid "" +"Return a list of the lines in the binary sequence, breaking at ASCII line " +"boundaries. This method uses the :term:`universal newlines` approach to " +"splitting lines. Line breaks are not included in the resulting list unless " +"*keepends* is given and true." +msgstr "" +"Повертає список рядків у двійковій послідовності, розриваючи межі рядків " +"ASCII. Цей метод використовує підхід :term:`universal newlines` до " +"розділення рядків. Розриви рядків не включаються до результуючого списку, " +"якщо не задано *keepends* і воно є істинним." + +msgid "" +"Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " +"method returns an empty list for the empty string, and a terminal line break " +"does not result in an extra line::" +msgstr "" +"На відміну від :meth:`~bytes.split`, коли задано рядок розділювача *sep*, " +"цей метод повертає порожній список для порожнього рядка, а розрив кінцевого " +"рядка не призводить до додаткового рядка::" + +msgid "" +"Return a copy of the sequence with all the lowercase ASCII characters " +"converted to their corresponding uppercase counterpart and vice-versa." +msgstr "" +"Повертає копію послідовності з усіма символами нижнього регістру ASCII, " +"перетвореними на їхні відповідні відповідники у верхньому регістрі та " +"навпаки." + +msgid "" +"Unlike :func:`str.swapcase()`, it is always the case that ``bin.swapcase()." +"swapcase() == bin`` for the binary versions. Case conversions are " +"symmetrical in ASCII, even though that is not generally true for arbitrary " +"Unicode code points." +msgstr "" +"На відміну від :func:`str.swapcase()`, це завжди так, що ``bin.swapcase()." +"swapcase() == bin`` для бінарних версій. Перетворення регістру є симетричним " +"у ASCII, навіть якщо це зазвичай не вірно для довільних кодових точок " +"Unicode." + +msgid "" +"Return a titlecased version of the binary sequence where words start with an " +"uppercase ASCII character and the remaining characters are lowercase. " +"Uncased byte values are left unmodified." +msgstr "" +"Повертає версію двійкової послідовності в заголовку, де слова починаються з " +"символу ASCII у верхньому регістрі, а решта символів – у нижньому регістрі. " +"Значення байтів без регістру залишаються незмінними." + +msgid "" +"Lowercase ASCII characters are those byte values in the sequence " +"``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " +"values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. All other byte " +"values are uncased." +msgstr "" +"Символи ASCII у нижньому регістрі – це значення байтів у послідовності " +"``b'abcdefghijklmnopqrstuvwxyz``. Символи ASCII у верхньому регістрі – це " +"значення байтів у послідовності ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ``. Усі інші " +"значення байтів без регістру." + +msgid "" +"A workaround for apostrophes can be constructed using regular expressions::" +msgstr "" +"Обхідний шлях для апострофів можна створити за допомогою регулярних виразів:" + +msgid "" +"Return a copy of the sequence with all the lowercase ASCII characters " +"converted to their corresponding uppercase counterpart." +msgstr "" +"Повертає копію послідовності з усіма символами нижнього регістру ASCII, " +"перетвореними на їхні відповідні відповідники у верхньому регістрі." + +msgid "" +"Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make " +"a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is " +"handled by inserting the padding *after* the sign character rather than " +"before. For :class:`bytes` objects, the original sequence is returned if " +"*width* is less than or equal to ``len(seq)``." +msgstr "" +"Поверніть копію послідовності зліва, заповнену цифрами ASCII ``b'0``, щоб " +"створити послідовність довжиною *ширина*. Початковий префікс знака " +"(``b'+'``/ ``b'-'``) обробляється шляхом вставки заповнення *після* символу " +"знака, а не перед ним. Для об’єктів :class:`bytes` оригінальна послідовність " +"повертається, якщо *width* менше або дорівнює ``len(seq)``." + +msgid "``printf``-style Bytes Formatting" +msgstr "Форматування байтів у стилі ``printf``" + +msgid "" +"The formatting operations described here exhibit a variety of quirks that " +"lead to a number of common errors (such as failing to display tuples and " +"dictionaries correctly). If the value being printed may be a tuple or " +"dictionary, wrap it in a tuple." +msgstr "" +"Операції форматування, описані тут, демонструють різноманітні особливості, " +"які призводять до низки поширених помилок (наприклад, неправильне " +"відображення кортежів і словників). Якщо значення, яке друкується, може бути " +"кортежем або словником, оберніть його в кортеж." + +msgid "" +"Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " +"the ``%`` operator (modulo). This is also known as the bytes *formatting* or " +"*interpolation* operator. Given ``format % values`` (where *format* is a " +"bytes object), ``%`` conversion specifications in *format* are replaced with " +"zero or more elements of *values*. The effect is similar to using the :c:" +"func:`sprintf` in the C language." +msgstr "" +"Об’єкти Bytes (``bytes``/``bytearray``) мають одну унікальну вбудовану " +"операцію: оператор ``%`` (за модулем). Це також відоме як оператор " +"*форматування* або *інтерполяції* байтів. Враховуючи ``формат % значень`` " +"(де *format* є об’єктом байтів), ``%`` специфікації перетворення у *format* " +"замінюються нулем або більше елементами *значень*. Ефект подібний до " +"використання :c:func:`sprintf` у мові C." + +msgid "" +"If *format* requires a single argument, *values* may be a single non-tuple " +"object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " +"items specified by the format bytes object, or a single mapping object (for " +"example, a dictionary)." +msgstr "" +"Якщо для *format* потрібен один аргумент, *values* може бути одним " +"некортежним об’єктом. [5]_ В іншому випадку *values* має бути кортежем із " +"точною кількістю елементів, указаною об’єктом format bytes, або одним " +"об’єктом відображення (наприклад, словником)." + +msgid "" +"When the right argument is a dictionary (or other mapping type), then the " +"formats in the bytes object *must* include a parenthesised mapping key into " +"that dictionary inserted immediately after the ``'%'`` character. The " +"mapping key selects the value to be formatted from the mapping. For example:" +msgstr "" +"Коли правильний аргумент є словником (або іншим типом відображення), тоді " +"формати в об’єкті bytes *мають* містити ключ відображення в дужках у цьому " +"словнику, вставлений відразу після символу ``'%'``. Ключ відображення " +"вибирає значення, яке потрібно відформатувати, із відображення. Наприклад:" + +msgid "Single byte (accepts integer or single byte objects)." +msgstr "Однобайтовий (приймає цілі чи однобайтові об’єкти)." + +msgid "``'b'``" +msgstr "``'b''``" + +msgid "" +"Bytes (any object that follows the :ref:`buffer protocol ` or " +"has :meth:`__bytes__`)." +msgstr "" +"Байти (будь-який об’єкт, який відповідає :ref:`протоколу буфера " +"` або має :meth:`__bytes__`)." + +msgid "" +"``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " +"bases." +msgstr "" +"``'s''`` є псевдонімом для ``'b''`` і має використовуватися лише для " +"базового коду Python2/3." + +msgid "" +"Bytes (converts any Python object using ``repr(obj).encode('ascii', " +"'backslashreplace')``)." +msgstr "" +"Байти (перетворює будь-який об’єкт Python за допомогою ``repr(obj)." +"encode('ascii', 'backslashreplace')``)." + +msgid "" +"``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " +"bases." +msgstr "" +"``'r'`` є псевдонімом для ``'a'`` і має використовуватися лише для базових " +"кодів Python2/3." + +msgid "\\(7)" +msgstr "\\(7)" + +msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." +msgstr "``b'%s`` є застарілим, але не буде видалено протягом серії 3.x." + +msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." +msgstr "``b'%r''`` є застарілим, але не буде видалено протягом серії 3.x." + +msgid ":pep:`461` - Adding % formatting to bytes and bytearray" +msgstr ":pep:`461` - Додано форматування % до байтів і масиву байтів" + +msgid "Memory Views" +msgstr "Перегляди пам'яті" + +msgid "" +":class:`memoryview` objects allow Python code to access the internal data of " +"an object that supports the :ref:`buffer protocol ` without " +"copying." +msgstr "" +"Об’єкти :class:`memoryview` дозволяють коду Python отримувати доступ до " +"внутрішніх даних об’єкта, який підтримує :ref:`протокол буфера " +"` без копіювання." + +msgid "" +"Create a :class:`memoryview` that references *object*. *object* must " +"support the buffer protocol. Built-in objects that support the buffer " +"protocol include :class:`bytes` and :class:`bytearray`." +msgstr "" +"Створіть :class:`memoryview`, який посилається на *об’єкт*. *об’єкт* має " +"підтримувати протокол буфера. Вбудовані об’єкти, які підтримують протокол " +"буфера, включають :class:`bytes` і :class:`bytearray`." + +msgid "" +"A :class:`memoryview` has the notion of an *element*, which is the atomic " +"memory unit handled by the originating *object*. For many simple types such " +"as :class:`bytes` and :class:`bytearray`, an element is a single byte, but " +"other types such as :class:`array.array` may have bigger elements." +msgstr "" +":class:`memoryview` має поняття *елемента*, який є атомарною одиницею " +"пам’яті, яка обробляється вихідним *об’єктом*. Для багатьох простих типів, " +"таких як :class:`bytes` і :class:`bytearray`, елемент є одним байтом, але " +"інші типи, такі як :class:`array.array`, можуть мати більші елементи." + +msgid "" +"``len(view)`` is equal to the length of :class:`~memoryview.tolist`. If " +"``view.ndim = 0``, the length is 1. If ``view.ndim = 1``, the length is " +"equal to the number of elements in the view. For higher dimensions, the " +"length is equal to the length of the nested list representation of the view. " +"The :class:`~memoryview.itemsize` attribute will give you the number of " +"bytes in a single element." +msgstr "" +"``len(view)`` дорівнює довжині :class:`~memoryview.tolist`. Якщо ``view.ndim " +"= 0``, довжина дорівнює 1. Якщо ``view.ndim = 1``, довжина дорівнює " +"кількості елементів у поданні. Для вищих розмірів довжина дорівнює довжині " +"представлення представлення представлення вкладеного списку. Атрибут :class:" +"`~memoryview.itemsize` дасть вам кількість байтів в одному елементі." + +msgid "" +"A :class:`memoryview` supports slicing and indexing to expose its data. One-" +"dimensional slicing will result in a subview::" +msgstr "" +":class:`memoryview` підтримує нарізку та індексування для показу своїх " +"даних. Одновимірне нарізання призведе до підвиду::" + +msgid "" +"If :class:`~memoryview.format` is one of the native format specifiers from " +"the :mod:`struct` module, indexing with an integer or a tuple of integers is " +"also supported and returns a single *element* with the correct type. One-" +"dimensional memoryviews can be indexed with an integer or a one-integer " +"tuple. Multi-dimensional memoryviews can be indexed with tuples of exactly " +"*ndim* integers where *ndim* is the number of dimensions. Zero-dimensional " +"memoryviews can be indexed with the empty tuple." +msgstr "" +"Якщо :class:`~memoryview.format` є одним із власних специфікаторів формату з " +"модуля :mod:`struct`, індексація за допомогою цілого числа або кортежу цілих " +"чисел також підтримується та повертає один *елемент* із правильним типом . " +"Одновимірні представлення пам'яті можна індексувати за допомогою цілого або " +"одноцілого кортежу. Багатовимірні представлення пам’яті можна індексувати за " +"допомогою кортежів з точно *ndim* цілих чисел, де *ndim* є кількістю " +"вимірів. Нульвимірні представлення пам'яті можна індексувати за допомогою " +"порожнього кортежу." + +msgid "Here is an example with a non-byte format::" +msgstr "Ось приклад небайтового формату::" + +msgid "" +"If the underlying object is writable, the memoryview supports one-" +"dimensional slice assignment. Resizing is not allowed::" +msgstr "" +"Якщо основний об’єкт доступний для запису, memoryview підтримує одновимірне " +"призначення фрагментів. Зміна розміру заборонена::" + +msgid "" +"One-dimensional memoryviews of hashable (read-only) types with formats 'B', " +"'b' or 'c' are also hashable. The hash is defined as ``hash(m) == hash(m." +"tobytes())``::" +msgstr "" +"Одновимірні представлення пам’яті типів, які можна хешувати (тільки для " +"читання), з форматами \"B\", \"b\" або \"c\" також хешуються. Хеш " +"визначається як ``hash(m) == hash(m.tobytes())``::" + +msgid "" +"One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " +"with formats 'B', 'b' or 'c' are now hashable." +msgstr "" +"Одновимірні зображення пам’яті тепер можна нарізати. Одновимірні перегляди " +"пам’яті з форматами \"B\", \"b\" або \"c\" тепер можна хешувати." + +msgid "" +"memoryview is now registered automatically with :class:`collections.abc." +"Sequence`" +msgstr "" +"memoryview тепер автоматично реєструється в :class:`collections.abc.Sequence`" + +msgid "memoryviews can now be indexed with tuple of integers." +msgstr "memoryviews тепер можна індексувати кортежем цілих чисел." + +msgid ":class:`memoryview` has several methods:" +msgstr ":class:`memoryview` має кілька методів:" + +msgid "" +"A memoryview and a :pep:`3118` exporter are equal if their shapes are " +"equivalent and if all corresponding values are equal when the operands' " +"respective format codes are interpreted using :mod:`struct` syntax." +msgstr "" +"Memoriview і експортер :pep:`3118` є рівними, якщо їхні форми еквівалентні " +"та якщо всі відповідні значення рівні, коли відповідні коди формату " +"операндів інтерпретуються за допомогою синтаксису :mod:`struct`." + +msgid "" +"For the subset of :mod:`struct` format strings currently supported by :meth:" +"`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" +msgstr "" +"Для підмножини рядків формату :mod:`struct`, які зараз підтримуються :meth:" +"`tolist`, ``v`` і ``w`` рівні, якщо ``v.tolist() == w.tolist()``::" + +msgid "" +"If either format string is not supported by the :mod:`struct` module, then " +"the objects will always compare as unequal (even if the format strings and " +"buffer contents are identical)::" +msgstr "" +"Якщо будь-який рядок формату не підтримується модулем :mod:`struct`, тоді " +"об’єкти завжди порівнюватимуться як нерівні (навіть якщо рядки формату та " +"вміст буфера ідентичні)::" + +msgid "" +"Note that, as with floating point numbers, ``v is w`` does *not* imply ``v " +"== w`` for memoryview objects." +msgstr "" +"Зауважте, що, як і у випадку з числами з плаваючою комою, ``v є w`` *не* " +"означає ``v == w`` для об'єктів memoryview." + +msgid "" +"Previous versions compared the raw memory disregarding the item format and " +"the logical array structure." +msgstr "" +"Попередні версії порівнювали необроблену пам’ять без урахування формату " +"елемента та логічної структури масиву." + +msgid "" +"Return the data in the buffer as a bytestring. This is equivalent to " +"calling the :class:`bytes` constructor on the memoryview. ::" +msgstr "" +"Повертає дані в буфері як байтовий рядок. Це еквівалентно виклику " +"конструктора :class:`bytes` у memoryview. ::" + +msgid "" +"For non-contiguous arrays the result is equal to the flattened list " +"representation with all elements converted to bytes. :meth:`tobytes` " +"supports all format strings, including those that are not in :mod:`struct` " +"module syntax." +msgstr "" +"Для несуміжних масивів результат дорівнює представленню зведеного списку з " +"усіма елементами, перетвореними на байти. :meth:`tobytes` підтримує всі " +"рядки формату, включно з тими, яких немає в синтаксисі модуля :mod:`struct`." + +msgid "" +"*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " +"original array is converted to C or Fortran order. For contiguous views, 'A' " +"returns an exact copy of the physical memory. In particular, in-memory " +"Fortran order is preserved. For non-contiguous views, the data is converted " +"to C first. *order=None* is the same as *order='C'*." +msgstr "" +"*порядок* може бути {'C', 'F', 'A'}. Якщо *порядок* має значення \"C\" або " +"\"F\", дані вихідного масиву перетворюються на порядок C або Fortran. Для " +"суміжних переглядів \"A\" повертає точну копію фізичної пам’яті. Зокрема, " +"зберігається порядок Fortran у пам'яті. Для несуміжних переглядів дані " +"спочатку перетворюються на C. *order=None* те саме, що *order='C'*." + +msgid "" +"Return a string object containing two hexadecimal digits for each byte in " +"the buffer. ::" +msgstr "" +"Повертає рядковий об’єкт, що містить дві шістнадцяткові цифри для кожного " +"байта в буфері. ::" + +msgid "" +"Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " +"*sep* and *bytes_per_sep* parameters to insert separators between bytes in " +"the hex output." +msgstr "" +"Подібно до :meth:`bytes.hex`, :meth:`memoryview.hex` тепер підтримує " +"додаткові параметри *sep* і *bytes_per_sep* для вставки роздільників між " +"байтами в шістнадцятковому виведенні." + +msgid "Return the data in the buffer as a list of elements. ::" +msgstr "Повертає дані в буфері як список елементів. ::" + +msgid "" +":meth:`tolist` now supports all single character native formats in :mod:" +"`struct` module syntax as well as multi-dimensional representations." +msgstr "" +":meth:`tolist` тепер підтримує всі односимвольні рідні формати в синтаксисі " +"модуля :mod:`struct`, а також багатовимірні представлення." + +msgid "" +"Return a readonly version of the memoryview object. The original memoryview " +"object is unchanged. ::" +msgstr "" +"Повертає версію об’єкта memoryview лише для читання. Оригінальний об’єкт " +"memoryview не змінено. ::" + +msgid "" +"Release the underlying buffer exposed by the memoryview object. Many " +"objects take special actions when a view is held on them (for example, a :" +"class:`bytearray` would temporarily forbid resizing); therefore, calling " +"release() is handy to remove these restrictions (and free any dangling " +"resources) as soon as possible." +msgstr "" +"Вивільніть базовий буфер, відкритий об’єктом memoryview. Багато об’єктів " +"виконують спеціальні дії, коли їх переглядають (наприклад, :class:" +"`bytearray` тимчасово забороняє зміну розміру); отже, виклик release() є " +"зручним, щоб усунути ці обмеження (і звільнити будь-які завислі ресурси) " +"якомога швидше." + +msgid "" +"After this method has been called, any further operation on the view raises " +"a :class:`ValueError` (except :meth:`release()` itself which can be called " +"multiple times)::" +msgstr "" +"Після виклику цього методу будь-яка подальша операція з представленням " +"викликає помилку :class:`ValueError` (крім самого :meth:`release()`, який " +"можна викликати кілька разів)::" + +msgid "" +"The context management protocol can be used for a similar effect, using the " +"``with`` statement::" +msgstr "" +"Протокол керування контекстом може бути використаний для подібного ефекту, " +"використовуючи оператор ``with``::" + +msgid "" +"Cast a memoryview to a new format or shape. *shape* defaults to " +"``[byte_length//new_itemsize]``, which means that the result view will be " +"one-dimensional. The return value is a new memoryview, but the buffer itself " +"is not copied. Supported casts are 1D -> C-:term:`contiguous` and C-" +"contiguous -> 1D." +msgstr "" +"Транслюйте пам’ять у новий формат або форму. *shape* за умовчанням має " +"значення ``[byte_length//new_itemsize]``, що означає, що перегляд результату " +"буде одновимірним. Поверненим значенням є новий перегляд пам’яті, але сам " +"буфер не копіюється. Підтримувані приведення: 1D -> C-:term:`contiguous` і C-" +"contiguous -> 1D." + +msgid "" +"The destination format is restricted to a single element native format in :" +"mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " +"'c'). The byte length of the result must be the same as the original length." +msgstr "" +"Цільовий формат обмежується рідним форматом одного елемента в синтаксисі :" +"mod:`struct`. Один із форматів має бути байтовим (\"B\", \"b\" або \"c\"). " +"Довжина результату в байтах має збігатися з вихідною." + +msgid "Cast 1D/long to 1D/unsigned bytes::" +msgstr "Перетворення 1D/long на 1D/беззнакові байти::" + +msgid "Cast 1D/unsigned bytes to 1D/char::" +msgstr "Перетворення 1D/беззнакових байтів у 1D/char::" + +msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" +msgstr "Перетворити 1D/байти на 3D/ints на 1D/signed char::" + +msgid "Cast 1D/unsigned long to 2D/unsigned long::" +msgstr "Перетворення 1D/unsigned long на 2D/unsigned long ::" + +msgid "The source format is no longer restricted when casting to a byte view." +msgstr "" +"Вихідний формат більше не обмежений під час трансляції до байтового " +"перегляду." + +msgid "There are also several readonly attributes available:" +msgstr "Також є кілька доступних атрибутів лише для читання:" + +msgid "The underlying object of the memoryview::" +msgstr "Основний об’єкт memoryview::" + +msgid "" +"``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " +"amount of space in bytes that the array would use in a contiguous " +"representation. It is not necessarily equal to ``len(m)``::" +msgstr "" +"``nbytes == product(shape) * itemsize == len(m.tobytes())``. Це обсяг " +"простору в байтах, який буде використовуватися масивом у безперервному " +"представленні. Воно не обов’язково дорівнює ``len(m)``::" + +msgid "Multi-dimensional arrays::" +msgstr "Багатовимірні масиви::" + +msgid "A bool indicating whether the memory is read only." +msgstr "Bool, що вказує, чи є пам’ять лише для читання." + +msgid "" +"A string containing the format (in :mod:`struct` module style) for each " +"element in the view. A memoryview can be created from exporters with " +"arbitrary format strings, but some methods (e.g. :meth:`tolist`) are " +"restricted to native single element formats." +msgstr "" +"Рядок, що містить формат (у стилі модуля :mod:`struct`) для кожного елемента " +"в поданні. Огляд пам’яті можна створити з експортерів із довільними рядками " +"формату, але деякі методи (наприклад, :meth:`tolist`) обмежені рідними " +"одноелементними форматами." + +msgid "" +"format ``'B'`` is now handled according to the struct module syntax. This " +"means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." +msgstr "" +"формат ``'B'`` тепер обробляється відповідно до синтаксису модуля struct. Це " +"означає, що ``memoryview(b'abc')[0] == b'abc'[0] == 97``." + +msgid "The size in bytes of each element of the memoryview::" +msgstr "Розмір у байтах кожного елемента memoryview::" + +msgid "" +"An integer indicating how many dimensions of a multi-dimensional array the " +"memory represents." +msgstr "" +"Ціле число, що вказує, скільки вимірів багатовимірного масиву представляє " +"пам’ять." + +msgid "" +"A tuple of integers the length of :attr:`ndim` giving the shape of the " +"memory as an N-dimensional array." +msgstr "" +"Кортеж цілих чисел довжиною :attr:`ndim`, що надає форму пам’яті як N-" +"вимірного масиву." + +msgid "An empty tuple instead of ``None`` when ndim = 0." +msgstr "Порожній кортеж замість ``None``, коли ndim = 0." + +msgid "" +"A tuple of integers the length of :attr:`ndim` giving the size in bytes to " +"access each element for each dimension of the array." +msgstr "" +"Кортеж цілих чисел довжиною :attr:`ndim`, що вказує розмір у байтах для " +"доступу до кожного елемента для кожного виміру масиву." + +msgid "Used internally for PIL-style arrays. The value is informational only." +msgstr "" +"Використовується внутрішньо для масивів у стилі PIL. Значення лише " +"інформаційне." + +msgid "A bool indicating whether the memory is C-:term:`contiguous`." +msgstr "Логічне значення, яке вказує, чи є пам’ять C-:term:`contiguous`." + +msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." +msgstr "Логічне значення, що вказує, чи є пам’ять Fortran :term:`contiguous`." + +msgid "A bool indicating whether the memory is :term:`contiguous`." +msgstr "Bool, що вказує, чи є пам’ять :term:`contiguous`." + +msgid "Set Types --- :class:`set`, :class:`frozenset`" +msgstr "Типи наборів --- :class:`set`, :class:`frozenset`" + +msgid "" +"A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " +"objects. Common uses include membership testing, removing duplicates from a " +"sequence, and computing mathematical operations such as intersection, union, " +"difference, and symmetric difference. (For other containers see the built-" +"in :class:`dict`, :class:`list`, and :class:`tuple` classes, and the :mod:" +"`collections` module.)" +msgstr "" +"Об’єкт :dfn:`set` — це невпорядкована колекція окремих об’єктів :term:" +"`hashable`. Загальне використання включає тестування членства, видалення " +"дублікатів із послідовності та обчислення математичних операцій, таких як " +"перетин, об’єднання, різниця та симетрична різниця. (Для інших контейнерів " +"перегляньте вбудовані класи :class:`dict`, :class:`list` і :class:`tuple`, а " +"також модуль :mod:`collections`.)" + +msgid "" +"Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " +"in set``. Being an unordered collection, sets do not record element " +"position or order of insertion. Accordingly, sets do not support indexing, " +"slicing, or other sequence-like behavior." +msgstr "" +"Як і інші колекції, набори підтримують ``x in set``, ``len(set)`` і ``for x " +"in set``. Будучи невпорядкованою колекцією, набори не записують положення " +"елемента або порядок вставки. Відповідно, набори не підтримують " +"індексування, нарізку чи іншу поведінку, подібну до послідовності." + +msgid "" +"There are currently two built-in set types, :class:`set` and :class:" +"`frozenset`. The :class:`set` type is mutable --- the contents can be " +"changed using methods like :meth:`~set.add` and :meth:`~set.remove`. Since " +"it is mutable, it has no hash value and cannot be used as either a " +"dictionary key or as an element of another set. The :class:`frozenset` type " +"is immutable and :term:`hashable` --- its contents cannot be altered after " +"it is created; it can therefore be used as a dictionary key or as an element " +"of another set." +msgstr "" +"Наразі існує два вбудовані типи наборів: :class:`set` і :class:`frozenset`. " +"Тип :class:`set` є змінним --- вміст можна змінити за допомогою таких " +"методів, як :meth:`~set.add` і :meth:`~set.remove`. Оскільки він є змінним, " +"він не має хеш-значення і не може використовуватися ні як ключ словника, ні " +"як елемент іншого набору. Тип :class:`frozenset` є незмінним і :term:" +"`hashable` --- його вміст не можна змінити після створення; тому його можна " +"використовувати як ключ до словника або як елемент іншого набору." + +msgid "" +"Non-empty sets (not frozensets) can be created by placing a comma-separated " +"list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " +"addition to the :class:`set` constructor." +msgstr "" +"Непорожні набори (не заморожені набори) можна створити шляхом розміщення " +"списку елементів, розділених комами, у фігурних дужках, наприклад: " +"``{'jack', 'sjoerd'}``, на додаток до :class:`set` конструктор." + +msgid "The constructors for both classes work the same:" +msgstr "Конструктори для обох класів працюють однаково:" + +msgid "" +"Return a new set or frozenset object whose elements are taken from " +"*iterable*. The elements of a set must be :term:`hashable`. To represent " +"sets of sets, the inner sets must be :class:`frozenset` objects. If " +"*iterable* is not specified, a new empty set is returned." +msgstr "" +"Повертає новий набір або заморожений об’єкт, елементи якого взяті з " +"*iterable*. Елементи набору мають бути :term:`hashable`. Щоб представити " +"набори наборів, внутрішні набори мають бути об’єктами :class:`frozenset`. " +"Якщо *iterable* не вказано, повертається новий порожній набір." + +msgid "Sets can be created by several means:" +msgstr "Набори можна створювати кількома способами:" + +msgid "" +"Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" +msgstr "" +"Використовуйте список елементів, розділених комами, у фігурних дужках: " +"``{'jack', 'sjoerd'}``" + +msgid "" +"Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" +msgstr "" +"Використовуйте розуміння набору: ``{c для c в 'abracadabra' якщо c не в " +"'abc'}``" + +msgid "" +"Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " +"'foo'])``" +msgstr "" +"Використовуйте конструктор типу: ``set()``, ``set('foobar')``, ``set(['a', " +"'b', 'foo'])``" + +msgid "" +"Instances of :class:`set` and :class:`frozenset` provide the following " +"operations:" +msgstr "" +"Екземпляри :class:`set` і :class:`frozenset` забезпечують такі операції:" + +msgid "Return the number of elements in set *s* (cardinality of *s*)." +msgstr "Повертає кількість елементів у наборі *s* (мощність *s*)." + +msgid "Test *x* for membership in *s*." +msgstr "Перевірте *x* на членство в *s*." + +msgid "Test *x* for non-membership in *s*." +msgstr "Перевірте *x* на неналежність до *s*." + +msgid "" +"Return ``True`` if the set has no elements in common with *other*. Sets are " +"disjoint if and only if their intersection is the empty set." +msgstr "" +"Повертає ``True``, якщо набір не має спільних елементів з *other*. Множини " +"непересічні тоді і тільки тоді, коли їх перетин є порожньою множиною." + +msgid "Test whether every element in the set is in *other*." +msgstr "Перевірте, чи кожен елемент у наборі знаходиться в *other*." + +msgid "" +"Test whether the set is a proper subset of *other*, that is, ``set <= other " +"and set != other``." +msgstr "" +"Перевірте, чи набір є правильною підмножиною *other*, тобто ``set <= other і " +"set != other``." + +msgid "Test whether every element in *other* is in the set." +msgstr "Перевірте, чи всі елементи в *other* є в наборі." + +msgid "" +"Test whether the set is a proper superset of *other*, that is, ``set >= " +"other and set != other``." +msgstr "" +"Перевірте, чи є набір правильною надмножиною *other*, тобто ``set >= other і " +"set != other``." + +msgid "Return a new set with elements from the set and all others." +msgstr "Повернути новий набір з елементами з набору та всі інші." + +msgid "Return a new set with elements common to the set and all others." +msgstr "" +"Повертає новий набір із елементами, спільними для набору та всіх інших." + +msgid "Return a new set with elements in the set that are not in the others." +msgstr "Повертає новий набір з елементами в наборі, яких немає в інших." + +msgid "" +"Return a new set with elements in either the set or *other* but not both." +msgstr "" +"Повертає новий набір з елементами або в наборі, або в *іншому*, але не в " +"обох." + +msgid "Return a shallow copy of the set." +msgstr "Поверніть мілку копію набору." + +msgid "" +"Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" +"meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, and :meth:" +"`issuperset` methods will accept any iterable as an argument. In contrast, " +"their operator based counterparts require their arguments to be sets. This " +"precludes error-prone constructions like ``set('abc') & 'cbs'`` in favor of " +"the more readable ``set('abc').intersection('cbs')``." +msgstr "" +"Зауважте, версії без операторів :meth:`union`, :meth:`intersection`, :meth:" +"`difference`, :meth:`symmetric_difference`, :meth:`issubset` і :meth:" +"`issuperset` методи приймуть будь-яку ітерацію як аргумент. На відміну від " +"цього, їхні аналоги на основі операторів вимагають, щоб їхні аргументи були " +"наборами. Це виключає такі схильні до помилок конструкції, як ``set('abc') & " +"'cbs'`` на користь більш читабельного ``set('abc').intersection('cbs')``." + +msgid "" +"Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " +"sets are equal if and only if every element of each set is contained in the " +"other (each is a subset of the other). A set is less than another set if and " +"only if the first set is a proper subset of the second set (is a subset, but " +"is not equal). A set is greater than another set if and only if the first " +"set is a proper superset of the second set (is a superset, but is not equal)." +msgstr "" +"І :class:`set`, і :class:`frozenset` підтримують набір для встановлення " +"порівнянь. Дві множини рівні тоді і тільки тоді, коли кожен елемент кожної " +"множини міститься в іншій (кожен є підмножиною іншого). Набір менший за " +"інший набір тоді і тільки тоді, коли перший набір є належним підмножиною " +"другого набору (є підмножиною, але не дорівнює). Набір більший за інший " +"набір тоді і тільки тоді, коли перший набір є належним надмножиною другого " +"набору (є надмножиною, але не є рівним)." + +msgid "" +"Instances of :class:`set` are compared to instances of :class:`frozenset` " +"based on their members. For example, ``set('abc') == frozenset('abc')`` " +"returns ``True`` and so does ``set('abc') in set([frozenset('abc')])``." +msgstr "" +"Примірники :class:`set` порівнюються з примірниками :class:`frozenset` на " +"основі їхніх членів. Наприклад, ``set('abc') == frozenset('abc')`` повертає " +"``True``, а також ``set('abc')`` у ``set([frozenset('abc')])``." + +msgid "" +"The subset and equality comparisons do not generalize to a total ordering " +"function. For example, any two nonempty disjoint sets are not equal and are " +"not subsets of each other, so *all* of the following return ``False``: " +"``ab``." +msgstr "" +"Порівняння підмножини та рівності не узагальнюють до загальної функції " +"впорядкування. Наприклад, будь-які дві непорожні непересічні множини не " +"рівні і не є підмножинами одна одної, тому *всі* з наступного повертають " +"``False``: ``a b``." + +msgid "" +"Since sets only define partial ordering (subset relationships), the output " +"of the :meth:`list.sort` method is undefined for lists of sets." +msgstr "" +"Оскільки набори визначають лише часткове впорядкування (відносини " +"підмножин), вихід методу :meth:`list.sort` не визначений для списків наборів." + +msgid "Set elements, like dictionary keys, must be :term:`hashable`." +msgstr "Елементи набору, як і ключі словника, мають бути :term:`hashable`." + +msgid "" +"Binary operations that mix :class:`set` instances with :class:`frozenset` " +"return the type of the first operand. For example: ``frozenset('ab') | " +"set('bc')`` returns an instance of :class:`frozenset`." +msgstr "" +"Бінарні операції, які поєднують екземпляри :class:`set` із :class:" +"`frozenset`, повертають тип першого операнда. Наприклад: ``frozenset('ab') | " +"set('bc')`` повертає екземпляр :class:`frozenset`." + +msgid "" +"The following table lists operations available for :class:`set` that do not " +"apply to immutable instances of :class:`frozenset`:" +msgstr "" +"У наступній таблиці наведено операції, доступні для :class:`set`, які не " +"застосовуються до незмінних екземплярів :class:`frozenset`:" + +msgid "Update the set, adding elements from all others." +msgstr "Оновіть набір, додавши елементи з усіх інших." + +msgid "Update the set, keeping only elements found in it and all others." +msgstr "Оновіть набір, зберігаючи лише елементи, знайдені в ньому, і всі інші." + +msgid "Update the set, removing elements found in others." +msgstr "Оновіть набір, видаляючи елементи, знайдені в інших." + +msgid "" +"Update the set, keeping only elements found in either set, but not in both." +msgstr "" +"Оновіть набір, зберігаючи лише елементи, знайдені в будь-якому наборі, але " +"не в обох." + +msgid "Add element *elem* to the set." +msgstr "Додайте елемент *elem* до набору." + +msgid "" +"Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " +"contained in the set." +msgstr "" +"Видалити елемент *elem* із набору. Викликає :exc:`KeyError`, якщо *elem* не " +"міститься в наборі." + +msgid "Remove element *elem* from the set if it is present." +msgstr "Видалити елемент *elem* із набору, якщо він присутній." + +msgid "" +"Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " +"if the set is empty." +msgstr "" +"Вилучити та повернути довільний елемент із набору. Викликає :exc:`KeyError`, " +"якщо набір порожній." + +msgid "Remove all elements from the set." +msgstr "Видаліть усі елементи з набору." + +msgid "" +"Note, the non-operator versions of the :meth:`update`, :meth:" +"`intersection_update`, :meth:`difference_update`, and :meth:" +"`symmetric_difference_update` methods will accept any iterable as an " +"argument." +msgstr "" +"Зауважте, що безоператорні версії методів :meth:`update`, :meth:" +"`intersection_update`, :meth:`difference_update` і :meth:" +"`symmetric_difference_update` прийматимуть будь-яку ітерацію як аргумент." + +msgid "" +"Note, the *elem* argument to the :meth:`__contains__`, :meth:`remove`, and :" +"meth:`discard` methods may be a set. To support searching for an equivalent " +"frozenset, a temporary one is created from *elem*." +msgstr "" +"Зауважте, що аргумент *elem* для методів :meth:`__contains__`, :meth:" +"`remove` і :meth:`discard` може бути набором. Щоб підтримувати пошук " +"еквівалентного замороженого набору, тимчасовий набір створюється з *elem*." + +msgid "Mapping Types --- :class:`dict`" +msgstr "Типи зіставлення --- :class:`dict`" + +msgid "" +"A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " +"Mappings are mutable objects. There is currently only one standard mapping " +"type, the :dfn:`dictionary`. (For other containers see the built-in :class:" +"`list`, :class:`set`, and :class:`tuple` classes, and the :mod:`collections` " +"module.)" +msgstr "" +"Об’єкт :term:`mapping` відображає значення :term:`hashable` на довільні " +"об’єкти. Відображення є змінними об'єктами. Зараз існує лише один " +"стандартний тип відображення, :dfn:`dictionary`. (Для інших контейнерів " +"перегляньте вбудовані класи :class:`list`, :class:`set` і :class:`tuple`, а " +"також модуль :mod:`collections`.)" + +msgid "" +"A dictionary's keys are *almost* arbitrary values. Values that are not :" +"term:`hashable`, that is, values containing lists, dictionaries or other " +"mutable types (that are compared by value rather than by object identity) " +"may not be used as keys. Values that compare equal (such as ``1``, ``1.0``, " +"and ``True``) can be used interchangeably to index the same dictionary entry." +msgstr "" + +msgid "" +"Return a new dictionary initialized from an optional positional argument and " +"a possibly empty set of keyword arguments." +msgstr "" +"Повертає новий словник, ініціалізований необов’язковим позиційним аргументом " +"і, можливо, порожнім набором ключових аргументів." + +msgid "Dictionaries can be created by several means:" +msgstr "Словники можна створювати кількома способами:" + +msgid "" +"Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " +"4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" +msgstr "" +"Використовуйте розділений комами список пар ``ключ: значення`` у дужках: " +"``{'jack': 4098, 'sjoerd': 4127}`` або ``{4098: 'jack', 4127: 'sjoerd' }``" + +msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" +msgstr "" +"Використовуйте розуміння диктового слова: ``{}``, ``{x: x ** 2 для x в " +"діапазоні (10)}``" + +msgid "" +"Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " +"200)])``, ``dict(foo=100, bar=200)``" +msgstr "" +"Використовуйте конструктор типу: ``dict()``, ``dict([('foo', 100), ('bar', " +"200)])``, ``dict(foo=100, bar=200)``" + +msgid "" +"If no positional argument is given, an empty dictionary is created. If a " +"positional argument is given and it is a mapping object, a dictionary is " +"created with the same key-value pairs as the mapping object. Otherwise, the " +"positional argument must be an :term:`iterable` object. Each item in the " +"iterable must itself be an iterable with exactly two objects. The first " +"object of each item becomes a key in the new dictionary, and the second " +"object the corresponding value. If a key occurs more than once, the last " +"value for that key becomes the corresponding value in the new dictionary." +msgstr "" +"Якщо позиційний аргумент не задано, створюється порожній словник. Якщо " +"вказано позиційний аргумент і він є об’єктом відображення, словник " +"створюється з тими самими парами ключ-значення, що й об’єкт відображення. В " +"іншому випадку позиційний аргумент має бути об’єктом :term:`iterable`. Кожен " +"елемент у ітераторі повинен сам бути ітератором із рівно двома об’єктами. " +"Перший об’єкт кожного елемента стає ключем у новому словнику, а другий " +"об’єкт – відповідним значенням. Якщо ключ зустрічається більше одного разу, " +"останнє значення цього ключа стає відповідним значенням у новому словнику." + +msgid "" +"If keyword arguments are given, the keyword arguments and their values are " +"added to the dictionary created from the positional argument. If a key " +"being added is already present, the value from the keyword argument replaces " +"the value from the positional argument." +msgstr "" +"Якщо надано аргументи ключового слова, аргументи ключового слова та їхні " +"значення додаються до словника, створеного з позиційного аргументу. Якщо " +"ключ, який додається, уже присутній, значення з аргументу ключового слова " +"замінює значення з позиційного аргументу." + +msgid "" +"To illustrate, the following examples all return a dictionary equal to " +"``{\"one\": 1, \"two\": 2, \"three\": 3}``::" +msgstr "" +"Для ілюстрації, усі наступні приклади повертають словник, що дорівнює " +"``{\"one\": 1, \"two\": 2, \"three\": 3}``::" + +msgid "" +"Providing keyword arguments as in the first example only works for keys that " +"are valid Python identifiers. Otherwise, any valid keys can be used." +msgstr "" +"Надання аргументів ключових слів, як у першому прикладі, працює лише для " +"ключів, які є дійсними ідентифікаторами Python. В іншому випадку можна " +"використовувати будь-які дійсні ключі." + +msgid "" +"These are the operations that dictionaries support (and therefore, custom " +"mapping types should support too):" +msgstr "" +"Це операції, які підтримують словники (і, отже, також повинні підтримуватися " +"спеціальні типи зіставлення):" + +msgid "Return a list of all the keys used in the dictionary *d*." +msgstr "Повернути список усіх ключів, які використовуються у словнику *d*." + +msgid "Return the number of items in the dictionary *d*." +msgstr "Повернути кількість елементів у словнику *d*." + +msgid "" +"Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " +"not in the map." +msgstr "" +"Поверніть елемент *d* за допомогою ключа *key*. Викликає :exc:`KeyError`, " +"якщо *key* немає на карті." + +msgid "" +"If a subclass of dict defines a method :meth:`__missing__` and *key* is not " +"present, the ``d[key]`` operation calls that method with the key *key* as " +"argument. The ``d[key]`` operation then returns or raises whatever is " +"returned or raised by the ``__missing__(key)`` call. No other operations or " +"methods invoke :meth:`__missing__`. If :meth:`__missing__` is not defined, :" +"exc:`KeyError` is raised. :meth:`__missing__` must be a method; it cannot be " +"an instance variable::" +msgstr "" +"Якщо підклас dict визначає метод :meth:`__missing__` і *key* відсутній, " +"операція ``d[key]`` викликає цей метод із ключем *key* як аргументом. Потім " +"операція ``d[key]`` повертає або викликає все, що повертається або " +"викликається викликом ``__missing__(key)``. Жодні інші операції чи методи не " +"викликають :meth:`__missing__`. Якщо :meth:`__missing__` не визначено, " +"виникає :exc:`KeyError`. :meth:`__missing__` має бути методом; це не може " +"бути змінна екземпляра::" + +msgid "" +"The example above shows part of the implementation of :class:`collections." +"Counter`. A different ``__missing__`` method is used by :class:`collections." +"defaultdict`." +msgstr "" +"Наведений вище приклад показує частину реалізації :class:`collections." +"Counter`. Інший метод ``__missing__`` використовується :class:`collections." +"defaultdict`." + +msgid "Set ``d[key]`` to *value*." +msgstr "Установіть для ``d[key]`` значення *value*." + +msgid "" +"Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " +"map." +msgstr "" +"Видаліть ``d[key]`` з *d*. Викликає :exc:`KeyError`, якщо *key* немає на " +"карті." + +msgid "Return ``True`` if *d* has a key *key*, else ``False``." +msgstr "Повертає ``True``, якщо *d* має ключ *key*, інакше ``False``." + +msgid "Equivalent to ``not key in d``." +msgstr "Еквівалент ``не вводити d``." + +msgid "" +"Return an iterator over the keys of the dictionary. This is a shortcut for " +"``iter(d.keys())``." +msgstr "" +"Повертає ітератор над ключами словника. Це ярлик для ``iter(d.keys())``." + +msgid "Remove all items from the dictionary." +msgstr "Видаліть усі елементи зі словника." + +msgid "Return a shallow copy of the dictionary." +msgstr "Поверніть мілку копію словника." + +msgid "" +"Create a new dictionary with keys from *iterable* and values set to *value*." +msgstr "" +"Створіть новий словник із ключами з *iterable* і значеннями, встановленими " +"на *value*." + +msgid "" +":meth:`fromkeys` is a class method that returns a new dictionary. *value* " +"defaults to ``None``. All of the values refer to just a single instance, so " +"it generally doesn't make sense for *value* to be a mutable object such as " +"an empty list. To get distinct values, use a :ref:`dict comprehension " +"` instead." +msgstr "" +":meth:`fromkeys` — це метод класу, який повертає новий словник. *value* за " +"замовчуванням ``None``. Усі значення стосуються лише одного екземпляра, тому " +"загалом не має сенсу, щоб *value* було змінним об’єктом, таким як порожній " +"список. Щоб отримати різні значення, замість цього використовуйте :ref:`dict " +"comprehension `." + +msgid "" +"Return the value for *key* if *key* is in the dictionary, else *default*. If " +"*default* is not given, it defaults to ``None``, so that this method never " +"raises a :exc:`KeyError`." +msgstr "" +"Повертає значення для *key*, якщо *key* є в словнику, інакше *за " +"замовчуванням*. Якщо *default* не вказано, за замовчуванням буде ``None``, " +"тому цей метод ніколи не викликає :exc:`KeyError`." + +msgid "" +"Return a new view of the dictionary's items (``(key, value)`` pairs). See " +"the :ref:`documentation of view objects `." +msgstr "" +"Повертає нове подання елементів словника (пари \"(ключ, значення)\"). " +"Перегляньте :ref:`документацію об’єктів перегляду `." + +msgid "" +"Return a new view of the dictionary's keys. See the :ref:`documentation of " +"view objects `." +msgstr "" +"Повернути новий вигляд ключів словника. Перегляньте :ref:`документацію " +"об’єктів перегляду `." + +msgid "" +"If *key* is in the dictionary, remove it and return its value, else return " +"*default*. If *default* is not given and *key* is not in the dictionary, a :" +"exc:`KeyError` is raised." +msgstr "" +"Якщо *key* є у словнику, видаліть його та поверніть його значення, інакше " +"поверніть *default*. Якщо *default* не вказано, а *key* немає в словнику, " +"виникає :exc:`KeyError`." + +msgid "" +"Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " +"returned in :abbr:`LIFO (last-in, first-out)` order." +msgstr "" +"Видалити та повернути пару ``(ключ, значення)`` зі словника. Пари " +"повертаються в порядку :abbr:`LIFO (останній прийшов, перший вийшов)`." + +msgid "" +":meth:`popitem` is useful to destructively iterate over a dictionary, as " +"often used in set algorithms. If the dictionary is empty, calling :meth:" +"`popitem` raises a :exc:`KeyError`." +msgstr "" +":meth:`popitem` корисний для деструктивного повторення словника, як це часто " +"використовується в набір алгоритмів. Якщо словник порожній, виклик :meth:" +"`popitem` викликає :exc:`KeyError`." + +msgid "" +"LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " +"return an arbitrary key/value pair." +msgstr "" +"Замовлення LIFO тепер гарантовано. У попередніх версіях :meth:`popitem` " +"повертав довільну пару ключ/значення." + +msgid "" +"Return a reverse iterator over the keys of the dictionary. This is a " +"shortcut for ``reversed(d.keys())``." +msgstr "" +"Повертає зворотний ітератор над ключами словника. Це ярлик для ``reversed(d." +"keys())``." + +msgid "" +"If *key* is in the dictionary, return its value. If not, insert *key* with " +"a value of *default* and return *default*. *default* defaults to ``None``." +msgstr "" +"Якщо *key* є в словнику, поверніть його значення. Якщо ні, вставте *ключ* зі " +"значенням *default* і поверніть *default*. *default* за замовчуванням " +"``None``." + +msgid "" +"Update the dictionary with the key/value pairs from *other*, overwriting " +"existing keys. Return ``None``." +msgstr "" +"Оновіть словник парами ключ/значення з *other*, перезаписавши існуючі ключі. " +"Повернути ``Жодного``." + +msgid "" +":meth:`update` accepts either another dictionary object or an iterable of " +"key/value pairs (as tuples or other iterables of length two). If keyword " +"arguments are specified, the dictionary is then updated with those key/value " +"pairs: ``d.update(red=1, blue=2)``." +msgstr "" +":meth:`update` приймає або інший об’єкт словника, або ітерацію пар ключ/" +"значення (як кортежі чи інші ітерації довжиною два). Якщо вказано аргументи " +"ключового слова, словник оновлюється такими парами ключ/значення: ``d." +"update(red=1, blue=2)``." + +msgid "" +"Return a new view of the dictionary's values. See the :ref:`documentation " +"of view objects `." +msgstr "" +"Повернути нове подання значень словника. Перегляньте :ref:`документацію " +"об’єктів перегляду `." + +msgid "" +"An equality comparison between one ``dict.values()`` view and another will " +"always return ``False``. This also applies when comparing ``dict.values()`` " +"to itself::" +msgstr "" +"Порівняння рівності між одним переглядом ``dict.values()`` та іншим завжди " +"повертатиме ``False``. Це також стосується порівняння ``dict.values()`` із " +"собою::" + +msgid "" +"Create a new dictionary with the merged keys and values of *d* and *other*, " +"which must both be dictionaries. The values of *other* take priority when " +"*d* and *other* share keys." +msgstr "" +"Створіть новий словник із об’єднаними ключами та значеннями *d* та *other*, " +"які мають бути словниками. Значення *other* мають пріоритет, коли *d* та " +"*other* мають спільні ключі." + +msgid "" +"Update the dictionary *d* with keys and values from *other*, which may be " +"either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " +"values of *other* take priority when *d* and *other* share keys." +msgstr "" +"Оновіть словник *d* ключами та значеннями з *other*, які можуть бути :term:" +"`mapping` або :term:`iterable` пар ключ/значення. Значення *other* мають " +"пріоритет, коли *d* та *other* мають спільні ключі." + +msgid "" +"Dictionaries compare equal if and only if they have the same ``(key, " +"value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " +"'>') raise :exc:`TypeError`." +msgstr "" +"Словники порівнюються рівними тоді і тільки тоді, коли вони мають однакові " +"пари ``(ключ, значення)`` (незалежно від порядку). Порівняння порядку (' <', " +"'<=', '> =', '>') викликає :exc:`TypeError`." + +msgid "" +"Dictionaries preserve insertion order. Note that updating a key does not " +"affect the order. Keys added after deletion are inserted at the end. ::" +msgstr "" +"Словники зберігають порядок вставки. Зауважте, що оновлення ключа не впливає " +"на порядок. Ключі, додані після видалення, вставляються в кінці. ::" + +msgid "" +"Dictionary order is guaranteed to be insertion order. This behavior was an " +"implementation detail of CPython from 3.6." +msgstr "" +"Порядок словника гарантовано буде порядком вставки. Така поведінка була " +"деталлю реалізації CPython від 3.6." + +msgid "Dictionaries and dictionary views are reversible. ::" +msgstr "Словники та перегляди словників є оборотними. ::" + +msgid "Dictionaries are now reversible." +msgstr "Словники тепер оборотні." + +msgid "" +":class:`types.MappingProxyType` can be used to create a read-only view of a :" +"class:`dict`." +msgstr "" +":class:`types.MappingProxyType` можна використовувати для створення " +"перегляду :class:`dict` лише для читання." + +msgid "Dictionary view objects" +msgstr "Об’єкти перегляду словника" + +msgid "" +"The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" +"`dict.items` are *view objects*. They provide a dynamic view on the " +"dictionary's entries, which means that when the dictionary changes, the view " +"reflects these changes." +msgstr "" +"Об’єкти, які повертаються :meth:`dict.keys`, :meth:`dict.values` і :meth:" +"`dict.items`, є *об’єктами перегляду*. Вони забезпечують динамічний перегляд " +"статей словника, що означає, що коли словник змінюється, перегляд відображає " +"ці зміни." + +msgid "" +"Dictionary views can be iterated over to yield their respective data, and " +"support membership tests:" +msgstr "" +"Перегляди словників можна повторювати, щоб отримати відповідні дані та " +"підтримувати тести членства:" + +msgid "Return the number of entries in the dictionary." +msgstr "Повернути кількість статей у словнику." + +msgid "" +"Return an iterator over the keys, values or items (represented as tuples of " +"``(key, value)``) in the dictionary." +msgstr "" +"Повертає ітератор над ключами, значеннями або елементами (представленими у " +"вигляді кортежів ``(ключ, значення)``) у словнику." + +msgid "" +"Keys and values are iterated over in insertion order. This allows the " +"creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." +"values(), d.keys())``. Another way to create the same list is ``pairs = " +"[(v, k) for (k, v) in d.items()]``." +msgstr "" +"Ключі та значення повторюються в порядку вставки. Це дозволяє створювати " +"пари ``(значення, ключ)`` за допомогою :func:`zip`: ``pairs = zip(d." +"values(), d.keys())``. Інший спосіб створити той самий список: ``pairs = " +"[(v, k) for (k, v) in d.items()]``." + +msgid "" +"Iterating views while adding or deleting entries in the dictionary may raise " +"a :exc:`RuntimeError` or fail to iterate over all entries." +msgstr "" +"Ітерація подання під час додавання чи видалення записів у словнику може " +"викликати :exc:`RuntimeError` або не вдається виконати ітерацію по всіх " +"записах." + +msgid "Dictionary order is guaranteed to be insertion order." +msgstr "Порядок словника гарантовано буде порядком вставки." + +msgid "" +"Return ``True`` if *x* is in the underlying dictionary's keys, values or " +"items (in the latter case, *x* should be a ``(key, value)`` tuple)." +msgstr "" +"Повертає ``True``, якщо *x* міститься в ключах, значеннях або елементах " +"основного словника (в останньому випадку *x* має бути кортежем ``(ключ, " +"значення)``)." + +msgid "" +"Return a reverse iterator over the keys, values or items of the dictionary. " +"The view will be iterated in reverse order of the insertion." +msgstr "" +"Повертає зворотний ітератор над ключами, значеннями або елементами словника. " +"Подання буде повторено в порядку, зворотному до вставки." + +msgid "Dictionary views are now reversible." +msgstr "Перегляди словника тепер оборотні." + +msgid "" +"Return a :class:`types.MappingProxyType` that wraps the original dictionary " +"to which the view refers." +msgstr "" +"Повертає :class:`types.MappingProxyType`, який обгортає вихідний словник, на " +"який посилається перегляд." + +msgid "" +"Keys views are set-like since their entries are unique and hashable. If all " +"values are hashable, so that ``(key, value)`` pairs are unique and hashable, " +"then the items view is also set-like. (Values views are not treated as set-" +"like since the entries are generally not unique.) For set-like views, all " +"of the operations defined for the abstract base class :class:`collections." +"abc.Set` are available (for example, ``==``, ``<``, or ``^``)." +msgstr "" +"Перегляди ключів подібні до набору, оскільки їхні записи унікальні та " +"хешуються. Якщо всі значення можна хешувати, так що пари ``(ключ, " +"значення)`` є унікальними та хешованими, то перегляд елементів також " +"подібний до набору. (Подання значень не розглядаються як схожі на множину, " +"оскільки записи, як правило, не є унікальними.) Для подібних на множину " +"подання доступні всі операції, визначені для абстрактного базового класу :" +"class:`collections.abc.Set` (наприклад, , ``==``, ``<`` або ``^``)." + +msgid "An example of dictionary view usage::" +msgstr "Приклад використання перегляду словника::" + +msgid "Context Manager Types" +msgstr "Типи менеджера контексту" + +msgid "" +"Python's :keyword:`with` statement supports the concept of a runtime context " +"defined by a context manager. This is implemented using a pair of methods " +"that allow user-defined classes to define a runtime context that is entered " +"before the statement body is executed and exited when the statement ends:" +msgstr "" +"Оператор Python :keyword:`with` підтримує концепцію контексту виконання, " +"визначеного менеджером контексту. Це реалізовано за допомогою пари методів, " +"які дозволяють визначеним користувачем класам визначати контекст виконання, " +"який вводиться перед виконанням тіла оператора та виходить, коли оператор " +"закінчується:" + +msgid "" +"Enter the runtime context and return either this object or another object " +"related to the runtime context. The value returned by this method is bound " +"to the identifier in the :keyword:`!as` clause of :keyword:`with` statements " +"using this context manager." +msgstr "" +"Введіть контекст середовища виконання та поверніть або цей об’єкт, або інший " +"об’єкт, пов’язаний із контекстом середовища виконання. Значення, яке " +"повертає цей метод, прив’язується до ідентифікатора в пункті :keyword:`!as` " +"операторів :keyword:`with` за допомогою цього менеджера контексту." + +msgid "" +"An example of a context manager that returns itself is a :term:`file " +"object`. File objects return themselves from __enter__() to allow :func:" +"`open` to be used as the context expression in a :keyword:`with` statement." +msgstr "" +"Прикладом контекстного менеджера, який повертає сам себе, є :term:`file " +"object`. Файлові об’єкти повертаються з __enter__(), щоб дозволити " +"використовувати :func:`open` як вираз контексту в операторі :keyword:`with`." + +msgid "" +"An example of a context manager that returns a related object is the one " +"returned by :func:`decimal.localcontext`. These managers set the active " +"decimal context to a copy of the original decimal context and then return " +"the copy. This allows changes to be made to the current decimal context in " +"the body of the :keyword:`with` statement without affecting code outside " +"the :keyword:`!with` statement." +msgstr "" +"Прикладом менеджера контексту, який повертає пов’язаний об’єкт, є той, який " +"повертає :func:`decimal.localcontext`. Ці менеджери встановлюють активний " +"десятковий контекст на копію вихідного десяткового контексту, а потім " +"повертають копію. Це дозволяє вносити зміни до поточного десяткового " +"контексту в тілі оператора :keyword:`with`, не впливаючи на код поза " +"оператором :keyword:`!with`." + +msgid "" +"Exit the runtime context and return a Boolean flag indicating if any " +"exception that occurred should be suppressed. If an exception occurred while " +"executing the body of the :keyword:`with` statement, the arguments contain " +"the exception type, value and traceback information. Otherwise, all three " +"arguments are ``None``." +msgstr "" +"Вийдіть із контексту виконання та поверніть логічний прапор, який вказує, чи " +"має бути придушено будь-який виняток, який стався. Якщо виняток стався під " +"час виконання тіла оператора :keyword:`with`, аргументи містять тип винятку, " +"значення та інформацію про відстеження. В іншому випадку всі три аргументи є " +"``Жодним``." + +msgid "" +"Returning a true value from this method will cause the :keyword:`with` " +"statement to suppress the exception and continue execution with the " +"statement immediately following the :keyword:`!with` statement. Otherwise " +"the exception continues propagating after this method has finished " +"executing. Exceptions that occur during execution of this method will " +"replace any exception that occurred in the body of the :keyword:`!with` " +"statement." +msgstr "" +"Повернення цього методу справжнього значення призведе до того, що оператор :" +"keyword:`with` придушить виняток і продовжить виконання з оператором, який " +"слідує безпосередньо за оператором :keyword:`!with`. В іншому випадку " +"виняткова ситуація продовжує поширюватися після завершення виконання цього " +"методу. Винятки, які виникають під час виконання цього методу, замінять будь-" +"які винятки, які виникли в тілі оператора :keyword:`!with`." + +msgid "" +"The exception passed in should never be reraised explicitly - instead, this " +"method should return a false value to indicate that the method completed " +"successfully and does not want to suppress the raised exception. This allows " +"context management code to easily detect whether or not an :meth:`__exit__` " +"method has actually failed." +msgstr "" +"Переданий виняток ніколи не слід повторно викликати явно — натомість цей " +"метод має повертати значення false, щоб вказати, що метод завершився успішно " +"та не хоче придушувати викликаний виняток. Це дозволяє коду керування " +"контекстом легко визначати, чи метод :meth:`__exit__` фактично не вдався." + +msgid "" +"Python defines several context managers to support easy thread " +"synchronisation, prompt closure of files or other objects, and simpler " +"manipulation of the active decimal arithmetic context. The specific types " +"are not treated specially beyond their implementation of the context " +"management protocol. See the :mod:`contextlib` module for some examples." +msgstr "" +"Python визначає декілька контекстних менеджерів для підтримки легкої " +"синхронізації потоків, швидкого закриття файлів чи інших об’єктів і " +"простішого маніпулювання активним десятковим арифметичним контекстом. " +"Конкретні типи не розглядаються спеціально за межами їх реалізації в " +"протоколі керування контекстом. Перегляньте модуль :mod:`contextlib` для " +"деяких прикладів." + +msgid "" +"Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " +"decorator provide a convenient way to implement these protocols. If a " +"generator function is decorated with the :class:`contextlib.contextmanager` " +"decorator, it will return a context manager implementing the necessary :meth:" +"`~contextmanager.__enter__` and :meth:`~contextmanager.__exit__` methods, " +"rather than the iterator produced by an undecorated generator function." +msgstr "" +":term:`generator`\\s Python і декоратор :class:`contextlib.contextmanager` " +"забезпечують зручний спосіб реалізації цих протоколів. Якщо функція-" +"генератор прикрашена декоратором :class:`contextlib.contextmanager`, вона " +"повертатиме менеджер контексту, який реалізує необхідні методи :meth:" +"`~contextmanager.__enter__` і :meth:`~contextmanager.__exit__`, а не " +"ітератор, створений недекорованою функцією генератора." + +msgid "" +"Note that there is no specific slot for any of these methods in the type " +"structure for Python objects in the Python/C API. Extension types wanting to " +"define these methods must provide them as a normal Python accessible method. " +"Compared to the overhead of setting up the runtime context, the overhead of " +"a single class dictionary lookup is negligible." +msgstr "" +"Зауважте, що немає спеціального слота для жодного з цих методів у структурі " +"типу для об’єктів Python в API Python/C. Типи розширень, які хочуть " +"визначити ці методи, повинні надати їх як звичайний доступний метод Python. " +"Порівняно з накладними витратами на налаштування контексту виконання, " +"накладні витрати на пошук словника одного класу є незначними." + +msgid "" +"Type Annotation Types --- :ref:`Generic Alias `, :ref:" +"`Union `" +msgstr "" +"Типи анотацій типу --- :ref:`Загальний псевдонім `, :ref:" +"`Об’єднання `" + +msgid "" +"The core built-in types for :term:`type annotations ` are :ref:" +"`Generic Alias ` and :ref:`Union `." +msgstr "" +"Основними вбудованими типами для :term:`анотацій типу ` є :ref:" +"`Generic Alias ` і :ref:`Union `." + +msgid "Generic Alias Type" +msgstr "Загальний тип псевдоніма" + +msgid "" +"``GenericAlias`` objects are generally created by :ref:`subscripting " +"` a class. They are most often used with :ref:`container " +"classes `, such as :class:`list` or :class:`dict`. For " +"example, ``list[int]`` is a ``GenericAlias`` object created by subscripting " +"the ``list`` class with the argument :class:`int`. ``GenericAlias`` objects " +"are intended primarily for use with :term:`type annotations `." +msgstr "" +"Об’єкти ``GenericAlias`` зазвичай створюються :ref:`індексом " +"` класу. Найчастіше вони використовуються з :ref:" +"`контейнерними класами `, такими як :class:`list` або :class:" +"`dict`. Наприклад, ``list[int]`` є об’єктом ``GenericAlias``, створеним " +"шляхом підписання класу ``list`` з аргументом :class:`int`. Об’єкти " +"``GenericAlias`` призначені насамперед для використання з :term:`анотаціями " +"типу `." + +msgid "" +"It is generally only possible to subscript a class if the class implements " +"the special method :meth:`~object.__class_getitem__`." +msgstr "" +"Як правило, індекс класу можливий, лише якщо клас реалізує спеціальний " +"метод :meth:`~object.__class_getitem__`." + +msgid "" +"A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " +"implementing *parameterized generics*." +msgstr "" +"Об’єкт ``GenericAlias`` діє як проксі для :term:`generic type`, реалізуючи " +"*параметризовані генерики*." + +msgid "" +"For a container class, the argument(s) supplied to a :ref:`subscription " +"` of the class may indicate the type(s) of the elements an " +"object contains. For example, ``set[bytes]`` can be used in type annotations " +"to signify a :class:`set` in which all the elements are of type :class:" +"`bytes`." +msgstr "" +"Для класу-контейнера аргумент(и), що надаються :ref:`підписці " +"` класу, може вказувати тип(и) елементів, які містить об’єкт. " +"Наприклад, ``set[bytes]`` можна використовувати в анотаціях типу для " +"позначення :class:`set`, у якому всі елементи мають тип :class:`bytes`." + +msgid "" +"For a class which defines :meth:`~object.__class_getitem__` but is not a " +"container, the argument(s) supplied to a subscription of the class will " +"often indicate the return type(s) of one or more methods defined on an " +"object. For example, :mod:`regular expressions ` can be used on both " +"the :class:`str` data type and the :class:`bytes` data type:" +msgstr "" +"Для класу, який визначає :meth:`~object.__class_getitem__`, але не є " +"контейнером, аргумент(и), що надаються до підписки класу, часто вказуватиме " +"тип(и) повернення одного або кількох методів, визначених для об’єкта . " +"Наприклад, :mod:`регулярні вирази ` можна використовувати як для типу " +"даних :class:`str`, так і для типу даних :class:`bytes`:" + +msgid "" +"If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match ` object where the return values of ``x.group(0)`` and ``x[0]`` will " +"both be of type :class:`str`. We can represent this kind of object in type " +"annotations with the ``GenericAlias`` ``re.Match[str]``." +msgstr "" +"Якщо ``x = re.search('foo', 'foo')``, ``x`` буде об’єктом :ref:`re.Match " +"`, де повертаються значення ``x.group(0 )`` і ``x[0]`` будуть " +"мати тип :class:`str`. Ми можемо представити цей тип об’єктів в анотаціях " +"типу за допомогою ``GenericAlias`` ``re.Match[str]``." + +msgid "" +"If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " +"``y`` will also be an instance of ``re.Match``, but the return values of ``y." +"group(0)`` and ``y[0]`` will both be of type :class:`bytes`. In type " +"annotations, we would represent this variety of :ref:`re.Match ` objects with ``re.Match[bytes]``." +msgstr "" +"Якщо ``y = re.search(b'bar', b'bar')`` (зверніть увагу на ``b`` для :class:" +"`bytes`), ``y`` також буде екземпляром ``re.Match``, але повертані значення " +"``y.group(0)`` і ``y[0]`` будуть мати тип :class:`bytes`. В анотаціях типів " +"ми б представили цю різноманітність об’єктів :ref:`re.Match ` " +"за допомогою ``re.Match[bytes]``." + +msgid "" +"``GenericAlias`` objects are instances of the class :class:`types." +"GenericAlias`, which can also be used to create ``GenericAlias`` objects " +"directly." +msgstr "" +"Об’єкти ``GenericAlias`` є екземплярами класу :class:`types.GenericAlias`, " +"який також можна використовувати для безпосереднього створення об’єктів " +"``GenericAlias``." + +msgid "" +"Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " +"*X*, *Y*, and more depending on the ``T`` used. For example, a function " +"expecting a :class:`list` containing :class:`float` elements::" +msgstr "" +"Створює ``Generic Alias``, що представляє тип ``T``, параметризований типами " +"*X*, *Y* тощо залежно від ``T``, що використовується. Наприклад, функція, " +"яка очікує :class:`list`, що містить елементи :class:`float`::" + +msgid "" +"Another example for :term:`mapping` objects, using a :class:`dict`, which is " +"a generic type expecting two type parameters representing the key type and " +"the value type. In this example, the function expects a ``dict`` with keys " +"of type :class:`str` and values of type :class:`int`::" +msgstr "" +"Інший приклад для об’єктів :term:`mapping` з використанням :class:`dict`, " +"який є загальним типом, який очікує двох параметрів типу, що представляють " +"тип ключа та тип значення. У цьому прикладі функція очікує ``dict`` з " +"ключами типу :class:`str` і значеннями типу :class:`int`::" + +msgid "" +"The builtin functions :func:`isinstance` and :func:`issubclass` do not " +"accept ``GenericAlias`` types for their second argument::" +msgstr "" +"Вбудовані функції :func:`isinstance` і :func:`issubclass` не приймають типи " +"``GenericAlias`` для свого другого аргументу::" + +msgid "" +"The Python runtime does not enforce :term:`type annotations `. " +"This extends to generic types and their type parameters. When creating a " +"container object from a ``GenericAlias``, the elements in the container are " +"not checked against their type. For example, the following code is " +"discouraged, but will run without errors::" +msgstr "" +"Середовище виконання Python не вимагає :term:`анотацій типу `. " +"Це поширюється на загальні типи та їхні параметри типу. Під час створення " +"об’єкта-контейнера з ``GenericAlias`` елементи в контейнері не перевіряються " +"на їх тип. Наприклад, наступний код не рекомендується, але працюватиме без " +"помилок:" + +msgid "" +"Furthermore, parameterized generics erase type parameters during object " +"creation::" +msgstr "" +"Крім того, параметризовані генерики стирають параметри типу під час " +"створення об’єкта:" + +msgid "" +"Calling :func:`repr` or :func:`str` on a generic shows the parameterized " +"type::" +msgstr "" +"Виклик :func:`repr` або :func:`str` у загальному показує параметризований " +"тип::" + +msgid "" +"The :meth:`~object.__getitem__` method of generic containers will raise an " +"exception to disallow mistakes like ``dict[str][str]``::" +msgstr "" +"Метод :meth:`~object.__getitem__` загальних контейнерів викличе виняток, щоб " +"заборонити такі помилки, як ``dict[str][str]``::" + +msgid "" +"However, such expressions are valid when :ref:`type variables ` " +"are used. The index must have as many elements as there are type variable " +"items in the ``GenericAlias`` object's :attr:`~genericalias.__args__`. ::" +msgstr "" +"Однак такі вирази дійсні, коли використовуються :ref:`змінні типу " +"`. Індекс має містити стільки елементів, скільки елементів змінних " +"типу в об’єкті ``GenericAlias`` :attr:`~genericalias.__args__`. ::" + +msgid "Standard Generic Classes" +msgstr "Стандартні загальні класи" + +msgid "" +"The following standard library classes support parameterized generics. This " +"list is non-exhaustive." +msgstr "" +"Наступні стандартні бібліотечні класи підтримують параметризовані генерики. " +"Цей список не є вичерпним." + +msgid ":class:`tuple`" +msgstr ":class:`tuple`" + +msgid ":class:`list`" +msgstr ":class:`list`" + +msgid ":class:`dict`" +msgstr ":class:`dict`" + +msgid ":class:`set`" +msgstr ":class:`set`" + +msgid ":class:`frozenset`" +msgstr ":class:`frozenset`" + +msgid ":class:`type`" +msgstr ":class:`type`" + +msgid ":class:`collections.deque`" +msgstr ":class:`collections.deque`" + +msgid ":class:`collections.defaultdict`" +msgstr ":class:`collections.defaultdict`" + +msgid ":class:`collections.OrderedDict`" +msgstr ":class:`collections.OrderedDict`" + +msgid ":class:`collections.Counter`" +msgstr ":class:`collections.Counter`" + +msgid ":class:`collections.ChainMap`" +msgstr ":class:`collections.ChainMap`" + +msgid ":class:`collections.abc.Awaitable`" +msgstr ":class:`collections.abc.Awaitable`" + +msgid ":class:`collections.abc.Coroutine`" +msgstr ":class:`collections.abc.Coroutine`" + +msgid ":class:`collections.abc.AsyncIterable`" +msgstr ":class:`collections.abc.AsyncIterable`" + +msgid ":class:`collections.abc.AsyncIterator`" +msgstr ":class:`collections.abc.AsyncIterator`" + +msgid ":class:`collections.abc.AsyncGenerator`" +msgstr ":class:`collections.abc.AsyncGenerator`" + +msgid ":class:`collections.abc.Iterable`" +msgstr ":class:`collections.abc.Iterable`" + +msgid ":class:`collections.abc.Iterator`" +msgstr ":class:`collections.abc.Iterator`" + +msgid ":class:`collections.abc.Generator`" +msgstr ":class:`collections.abc.Generator`" + +msgid ":class:`collections.abc.Reversible`" +msgstr ":class:`collections.abc.Reversible`" + +msgid ":class:`collections.abc.Container`" +msgstr ":class:`collections.abc.Container`" + +msgid ":class:`collections.abc.Collection`" +msgstr ":class:`collections.abc.Collection`" + +msgid ":class:`collections.abc.Callable`" +msgstr ":class:`collections.abc.Callable`" + +msgid ":class:`collections.abc.Set`" +msgstr ":class:`collections.abc.Set`" + +msgid ":class:`collections.abc.MutableSet`" +msgstr ":class:`collections.abc.MutableSet`" + +msgid ":class:`collections.abc.Mapping`" +msgstr ":class:`collections.abc.Mapping`" + +msgid ":class:`collections.abc.MutableMapping`" +msgstr ":class:`collections.abc.MutableMapping`" + +msgid ":class:`collections.abc.Sequence`" +msgstr ":class:`collections.abc.Sequence`" + +msgid ":class:`collections.abc.MutableSequence`" +msgstr ":class:`collections.abc.MutableSequence`" + +msgid ":class:`collections.abc.ByteString`" +msgstr ":class:`collections.abc.ByteString`" + +msgid ":class:`collections.abc.MappingView`" +msgstr ":class:`collections.abc.MappingView`" + +msgid ":class:`collections.abc.KeysView`" +msgstr ":class:`collections.abc.KeysView`" + +msgid ":class:`collections.abc.ItemsView`" +msgstr ":class:`collections.abc.ItemsView`" + +msgid ":class:`collections.abc.ValuesView`" +msgstr ":class:`collections.abc.ValuesView`" + +msgid ":class:`contextlib.AbstractContextManager`" +msgstr ":class:`contextlib.AbstractContextManager`" + +msgid ":class:`contextlib.AbstractAsyncContextManager`" +msgstr ":class:`contextlib.AbstractAsyncContextManager`" + +msgid ":class:`dataclasses.Field`" +msgstr ":class:`dataclasses.Field`" + +msgid ":class:`functools.cached_property`" +msgstr ":class:`functools.cached_property`" + +msgid ":class:`functools.partialmethod`" +msgstr ":class:`functools.partialmethod`" + +msgid ":class:`os.PathLike`" +msgstr ":class:`os.PathLike`" + +msgid ":class:`queue.LifoQueue`" +msgstr ":class:`queue.LifoQueue`" + +msgid ":class:`queue.Queue`" +msgstr ":class:`queue.Queue`" + +msgid ":class:`queue.PriorityQueue`" +msgstr ":class:`queue.PriorityQueue`" + +msgid ":class:`queue.SimpleQueue`" +msgstr ":class:`queue.SimpleQueue`" + +msgid ":ref:`re.Pattern `" +msgstr ":ref:`re.Патерн `" + +msgid ":ref:`re.Match `" +msgstr ":ref:`re.Match `" + +msgid ":class:`shelve.BsdDbShelf`" +msgstr ":class:`полиця.BsdDbShelf`" + +msgid ":class:`shelve.DbfilenameShelf`" +msgstr ":class:`полиця.DbfilenameShelf`" + +msgid ":class:`shelve.Shelf`" +msgstr ":class:`полиця.Полиця`" + +msgid ":class:`types.MappingProxyType`" +msgstr ":class:`types.MappingProxyType`" + +msgid ":class:`weakref.WeakKeyDictionary`" +msgstr ":class:`weakref.WeakKeyDictionary`" + +msgid ":class:`weakref.WeakMethod`" +msgstr ":class:`weakref.WeakMethod`" + +msgid ":class:`weakref.WeakSet`" +msgstr ":class:`weakref.WeakSet`" + +msgid ":class:`weakref.WeakValueDictionary`" +msgstr ":class:`weakref.WeakValueDictionary`" + +msgid "Special Attributes of ``GenericAlias`` objects" +msgstr "Спеціальні атрибути об’єктів ``GenericAlias``" + +msgid "All parameterized generics implement special read-only attributes." +msgstr "" +"Усі параметризовані генерики реалізують спеціальні атрибути лише для читання." + +msgid "This attribute points at the non-parameterized generic class::" +msgstr "Цей атрибут вказує на непараметризований загальний клас::" + +msgid "" +"This attribute is a :class:`tuple` (possibly of length 1) of generic types " +"passed to the original :meth:`~object.__class_getitem__` of the generic " +"class::" +msgstr "" +"Цей атрибут є :class:`tuple` (можливо, довжиною 1) загальних типів, " +"переданих до оригінального :meth:`~object.__class_getitem__` загального " +"класу::" + +msgid "" +"This attribute is a lazily computed tuple (possibly empty) of unique type " +"variables found in ``__args__``::" +msgstr "" +"Цей атрибут є ліниво обчисленим кортежем (можливо, порожнім) унікальних " +"змінних типу, знайдених у ``__args__``::" + +msgid "" +"A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " +"have correct ``__parameters__`` after substitution because :class:`typing." +"ParamSpec` is intended primarily for static type checking." +msgstr "" +"Об’єкт ``GenericAlias`` з параметрами :class:`typing.ParamSpec` може не мати " +"правильних ``__parameters__`` після заміни, тому що :class:`typing." +"ParamSpec` призначений насамперед для статичної перевірки типу." + +msgid "" +"A boolean that is true if the alias has been unpacked using the ``*`` " +"operator (see :data:`~typing.TypeVarTuple`)." +msgstr "" + +msgid ":pep:`484` - Type Hints" +msgstr ":pep:`484` - підказки типу" + +msgid "Introducing Python's framework for type annotations." +msgstr "Представляємо структуру Python для анотацій типів." + +msgid ":pep:`585` - Type Hinting Generics In Standard Collections" +msgstr ":pep:`585` - Універсальні підказки типів у стандартних колекціях" + +msgid "" +"Introducing the ability to natively parameterize standard-library classes, " +"provided they implement the special class method :meth:`~object." +"__class_getitem__`." +msgstr "" +"Представляємо можливість нативної параметризації класів стандартної " +"бібліотеки, якщо вони реалізують спеціальний метод класу :meth:`~object." +"__class_getitem__`." + +msgid "" +":ref:`Generics`, :ref:`user-defined generics ` and :" +"class:`typing.Generic`" +msgstr "" +":ref:`Generics`, :ref:`визначені користувачем узагальнення ` і :class:`typing.Generic`" + +msgid "" +"Documentation on how to implement generic classes that can be parameterized " +"at runtime and understood by static type-checkers." +msgstr "" +"Документація про те, як реалізувати загальні класи, які можна " +"параметризувати під час виконання та розуміти статичними засобами перевірки " +"типів." + +msgid "Union Type" +msgstr "Тип союзу" + +msgid "" +"A union object holds the value of the ``|`` (bitwise or) operation on " +"multiple :ref:`type objects `. These types are intended " +"primarily for :term:`type annotations `. The union type " +"expression enables cleaner type hinting syntax compared to :data:`typing." +"Union`." +msgstr "" +"Об’єкт об’єднання містить значення операції ``|`` (порозрядної або) на " +"кількох :ref:`об’єктах типу `. Ці типи призначені " +"насамперед для :term:`анотацій типу `. Вираз типу об’єднання " +"забезпечує чіткіший синтаксис підказки типу порівняно з :data:`typing.Union`." + +msgid "" +"Defines a union object which holds types *X*, *Y*, and so forth. ``X | Y`` " +"means either X or Y. It is equivalent to ``typing.Union[X, Y]``. For " +"example, the following function expects an argument of type :class:`int` or :" +"class:`float`::" +msgstr "" +"Визначає об’єкт об’єднання, який містить типи *X*, *Y* і так далі. ``X | Y`` " +"означає X або Y. Це еквівалентно ``typing.Union[X, Y]``. Наприклад, наступна " +"функція очікує аргумент типу :class:`int` або :class:`float`::" + +msgid "" +"Union objects can be tested for equality with other union objects. Details:" +msgstr "" +"Об’єкти об’єднання можна перевірити на рівність з іншими об’єктами " +"об’єднання. Подробиці:" + +msgid "Unions of unions are flattened::" +msgstr "Союзи союзів сплощені::" + +msgid "Redundant types are removed::" +msgstr "Зайві типи видаляються:" + +msgid "When comparing unions, the order is ignored::" +msgstr "Під час порівняння об'єднань порядок ігнорується:" + +msgid "It is compatible with :data:`typing.Union`::" +msgstr "Він сумісний з :data:`typing.Union`::" + +msgid "Optional types can be spelled as a union with ``None``::" +msgstr "Необов'язкові типи можуть бути написані як об'єднання з ``None``::" + +msgid "" +"Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " +"union object::" +msgstr "" +"Виклики :func:`isinstance` і :func:`issubclass` також підтримуються з " +"об’єктом об’єднання::" + +msgid "" +"However, union objects containing :ref:`parameterized generics ` cannot be used::" +msgstr "" +"Однак об’єкти об’єднання, що містять :ref:`параметризовані генерики `, не можна використовувати:" + +msgid "" +"The user-exposed type for the union object can be accessed from :data:`types." +"UnionType` and used for :func:`isinstance` checks. An object cannot be " +"instantiated from the type::" +msgstr "" +"Доступ до відкритого користувачем типу для об’єкта union можна отримати з :" +"data:`types.UnionType` і використовувати для перевірки :func:`isinstance`. " +"Об’єкт не може бути створений із типу::" + +msgid "" +"The :meth:`__or__` method for type objects was added to support the syntax " +"``X | Y``. If a metaclass implements :meth:`__or__`, the Union may override " +"it::" +msgstr "" +"Метод :meth:`__or__` було додано для підтримки синтаксису ``X | Y``. Якщо " +"метаклас реалізує :meth:`__or__`, об’єднання може замінити його::" + +msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." +msgstr ":pep:`604` -- PEP пропонує ``X | Синтаксис Y`` і тип Union." + +msgid "Other Built-in Types" +msgstr "Інші вбудовані типи" + +msgid "" +"The interpreter supports several other kinds of objects. Most of these " +"support only one or two operations." +msgstr "" +"Інтерпретатор підтримує кілька інших видів об'єктів. Більшість із них " +"підтримує лише одну або дві операції." + +msgid "Modules" +msgstr "Модулі" + +msgid "" +"The only special operation on a module is attribute access: ``m.name``, " +"where *m* is a module and *name* accesses a name defined in *m*'s symbol " +"table. Module attributes can be assigned to. (Note that the :keyword:" +"`import` statement is not, strictly speaking, an operation on a module " +"object; ``import foo`` does not require a module object named *foo* to " +"exist, rather it requires an (external) *definition* for a module named " +"*foo* somewhere.)" +msgstr "" +"Єдиною спеціальною операцією над модулем є доступ до атрибутів: ``m.name``, " +"де *m* — це модуль, а *name* отримує доступ до імені, визначеного в таблиці " +"символів *m*. Модулю можна призначити атрибути. (Зауважте, що оператор :" +"keyword:`import` не є, строго кажучи, операцією над об’єктом модуля; " +"``import foo`` не вимагає існування об’єкта модуля з назвою *foo*, скоріше " +"для цього потрібен (зовнішній) *визначення* для модуля з назвою *foo* десь.)" + +msgid "" +"A special attribute of every module is :attr:`~object.__dict__`. This is the " +"dictionary containing the module's symbol table. Modifying this dictionary " +"will actually change the module's symbol table, but direct assignment to " +"the :attr:`~object.__dict__` attribute is not possible (you can write ``m." +"__dict__['a'] = 1``, which defines ``m.a`` to be ``1``, but you can't write " +"``m.__dict__ = {}``). Modifying :attr:`~object.__dict__` directly is not " +"recommended." +msgstr "" +"Спеціальним атрибутом кожного модуля є :attr:`~object.__dict__`. Це словник, " +"що містить таблицю символів модуля. Зміна цього словника фактично змінить " +"таблицю символів модуля, але пряме призначення атрибуту :attr:`~object." +"__dict__` неможливо (ви можете написати ``m.__dict__['a'] = 1``, що визначає " +"``m.a`` буде ``1``, але ви не можете написати ``m.__dict__ = {}``). Не " +"рекомендується безпосередньо змінювати :attr:`~object.__dict__`." + +msgid "" +"Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````." +msgstr "" +"Модулі, вбудовані в інтерпретатор, записуються так: ````. Якщо завантажуються з файлу, вони записуються як ````." + +msgid "Classes and Class Instances" +msgstr "Класи та екземпляри класів" + +msgid "See :ref:`objects` and :ref:`class` for these." +msgstr "Перегляньте :ref:`objects` і :ref:`class` для них." + +msgid "Functions" +msgstr "Функції" + +msgid "" +"Function objects are created by function definitions. The only operation on " +"a function object is to call it: ``func(argument-list)``." +msgstr "" +"Функціональні об’єкти створюються визначеннями функцій. Єдина операція над " +"об’єктом-функцією – це викликати його: ``func(список-аргументів)``." + +msgid "" +"There are really two flavors of function objects: built-in functions and " +"user-defined functions. Both support the same operation (to call the " +"function), but the implementation is different, hence the different object " +"types." +msgstr "" +"Насправді існує два види функціональних об’єктів: вбудовані функції та " +"функції, визначені користувачем. Обидва підтримують однакову операцію " +"(виклик функції), але реалізація різна, отже, різні типи об’єктів." + +msgid "See :ref:`function` for more information." +msgstr "Перегляньте :ref:`function` для отримання додаткової інформації." + +msgid "Methods" +msgstr "методи" + +msgid "" +"Methods are functions that are called using the attribute notation. There " +"are two flavors: built-in methods (such as :meth:`append` on lists) and " +"class instance methods. Built-in methods are described with the types that " +"support them." +msgstr "" +"Методи — це функції, які викликаються за допомогою нотації атрибутів. Є два " +"варіанти: вбудовані методи (такі як :meth:`append` у списках) і методи " +"екземплярів класу. Вбудовані методи описані з типами, які їх підтримують." + +msgid "" +"If you access a method (a function defined in a class namespace) through an " +"instance, you get a special object: a :dfn:`bound method` (also called :dfn:" +"`instance method`) object. When called, it will add the ``self`` argument to " +"the argument list. Bound methods have two special read-only attributes: ``m." +"__self__`` is the object on which the method operates, and ``m.__func__`` is " +"the function implementing the method. Calling ``m(arg-1, arg-2, ..., arg-" +"n)`` is completely equivalent to calling ``m.__func__(m.__self__, arg-1, " +"arg-2, ..., arg-n)``." +msgstr "" +"Якщо ви отримуєте доступ до методу (функції, визначеної в просторі імен " +"класу) через екземпляр, ви отримуєте спеціальний об’єкт: об’єкт :dfn:" +"`зв’язаний метод` (також званий :dfn:`instance method`). Під час виклику він " +"додасть аргумент ``self`` до списку аргументів. Зв’язані методи мають два " +"спеціальні атрибути лише для читання: ``m.__self__`` - це об'єкт, з яким " +"працює метод, і ``m.__func__`` - це функція, що реалізує метод. Виклик " +"``m(arg-1, arg-2, ..., arg-n)`` повністю еквівалентний виклику ``m." +"__func__(m.__self__, arg-1, arg-2, ..., arg-n)``." + +msgid "" +"Like function objects, bound method objects support getting arbitrary " +"attributes. However, since method attributes are actually stored on the " +"underlying function object (``meth.__func__``), setting method attributes on " +"bound methods is disallowed. Attempting to set an attribute on a method " +"results in an :exc:`AttributeError` being raised. In order to set a method " +"attribute, you need to explicitly set it on the underlying function object::" +msgstr "" +"Як і функціональні об’єкти, зв’язані об’єкти методів підтримують отримання " +"довільних атрибутів. Однак, оскільки атрибути методу фактично зберігаються в " +"базовому об’єкті функції (``meth.__func__``), встановлення атрибутів методу " +"для зв’язаних методів заборонено. Спроба встановити атрибут для методу " +"призводить до появи :exc:`AttributeError`. Щоб установити атрибут методу, " +"вам потрібно явно встановити його на базовому об’єкті функції::" + +msgid "See :ref:`types` for more information." +msgstr "Перегляньте :ref:`types` для отримання додаткової інформації." + +msgid "Code Objects" +msgstr "Об'єкти коду" + +msgid "" +"Code objects are used by the implementation to represent \"pseudo-compiled\" " +"executable Python code such as a function body. They differ from function " +"objects because they don't contain a reference to their global execution " +"environment. Code objects are returned by the built-in :func:`compile` " +"function and can be extracted from function objects through their :attr:" +"`__code__` attribute. See also the :mod:`code` module." +msgstr "" +"Об’єкти коду використовуються реалізацією для представлення " +"\"псевдокомпільованого\" виконуваного коду Python, такого як тіло функції. " +"Вони відрізняються від функціональних об’єктів, оскільки не містять " +"посилання на своє глобальне середовище виконання. Об’єкти коду повертаються " +"вбудованою функцією :func:`compile` і можуть бути витягнуті з об’єктів " +"функції через їх атрибут :attr:`__code__`. Дивіться також модуль :mod:`code`." + +msgid "" +"Accessing ``__code__`` raises an :ref:`auditing event ` ``object." +"__getattr__`` with arguments ``obj`` and ``\"__code__\"``." +msgstr "" +"Доступ до ``__code__`` викликає :ref:`подію аудиту ` ``object." +"__getattr__`` з аргументами ``obj`` і ``\"__code__\"``." + +msgid "" +"A code object can be executed or evaluated by passing it (instead of a " +"source string) to the :func:`exec` or :func:`eval` built-in functions." +msgstr "" +"Об’єкт коду можна виконати або оцінити, передавши його (замість вихідного " +"рядка) у вбудовані функції :func:`exec` або :func:`eval`." + +msgid "Type Objects" +msgstr "Об'єкти типу" + +msgid "" +"Type objects represent the various object types. An object's type is " +"accessed by the built-in function :func:`type`. There are no special " +"operations on types. The standard module :mod:`types` defines names for all " +"standard built-in types." +msgstr "" +"Об’єкти типу представляють різні типи об’єктів. Доступ до типу об’єкта " +"здійснюється за допомогою вбудованої функції :func:`type`. Над типами немає " +"спеціальних операцій. Стандартний модуль :mod:`types` визначає імена для " +"всіх стандартних вбудованих типів." + +msgid "Types are written like this: ````." +msgstr "Типи записуються так: ````." + +msgid "The Null Object" +msgstr "Нульовий об’єкт" + +msgid "" +"This object is returned by functions that don't explicitly return a value. " +"It supports no special operations. There is exactly one null object, named " +"``None`` (a built-in name). ``type(None)()`` produces the same singleton." +msgstr "" +"Цей об’єкт повертають функції, які явно не повертають значення. Він не " +"підтримує ніяких спеціальних операцій. Існує рівно один нульовий об’єкт із " +"назвою ``None`` (вбудована назва). ``type(None)()`` створює той самий " +"синглтон." + +msgid "It is written as ``None``." +msgstr "Він записується як ``None``." + +msgid "The Ellipsis Object" +msgstr "Об’єкт \"Еліпсис\"." + +msgid "" +"This object is commonly used by slicing (see :ref:`slicings`). It supports " +"no special operations. There is exactly one ellipsis object, named :const:" +"`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces the :const:" +"`Ellipsis` singleton." +msgstr "" +"Цей об’єкт зазвичай використовується для нарізки (див. :ref:`slicings`). Він " +"не підтримує ніяких спеціальних операцій. Існує рівно один об’єкт з крапкою, " +"який називається :const:`Ellipsis` (вбудована назва). ``type(Ellipsis)()`` " +"виробляє :const:`Ellipsis` синглтон." + +msgid "It is written as ``Ellipsis`` or ``...``." +msgstr "Він записується як ``Еліпсис`` або ``...``." + +msgid "The NotImplemented Object" +msgstr "Об’єкт NotImplemented" + +msgid "" +"This object is returned from comparisons and binary operations when they are " +"asked to operate on types they don't support. See :ref:`comparisons` for " +"more information. There is exactly one ``NotImplemented`` object. " +"``type(NotImplemented)()`` produces the singleton instance." +msgstr "" +"Цей об’єкт повертається з порівнянь і двійкових операцій, коли їх запитують " +"оперувати типами, які вони не підтримують. Перегляньте :ref:`comparisons` " +"для отримання додаткової інформації. Існує рівно один об’єкт " +"``NotImplemented``. ``type(NotImplemented)()`` створює одиночний екземпляр." + +msgid "It is written as ``NotImplemented``." +msgstr "Це написано як ``NotImplemented``." + +msgid "Boolean Values" +msgstr "Логічні значення" + +msgid "" +"Boolean values are the two constant objects ``False`` and ``True``. They " +"are used to represent truth values (although other values can also be " +"considered false or true). In numeric contexts (for example when used as " +"the argument to an arithmetic operator), they behave like the integers 0 and " +"1, respectively. The built-in function :func:`bool` can be used to convert " +"any value to a Boolean, if the value can be interpreted as a truth value " +"(see section :ref:`truth` above)." +msgstr "" +"Логічні значення – це два постійні об’єкти ``False`` і ``True``. Вони " +"використовуються для представлення істинних значень (хоча інші значення " +"також можна вважати хибними або істинними). У числовому контексті " +"(наприклад, коли використовуються як аргумент для арифметичного оператора) " +"вони поводяться як цілі числа 0 і 1 відповідно. Вбудовану функцію :func:" +"`bool` можна використати для перетворення будь-якого значення на логічний, " +"якщо це значення можна інтерпретувати як значення істинності (див. розділ :" +"ref:`truth` вище)." + +msgid "They are written as ``False`` and ``True``, respectively." +msgstr "Вони записуються як ``False`` і ``True`` відповідно." + +msgid "Internal Objects" +msgstr "Внутрішні об'єкти" + +msgid "" +"See :ref:`types` for this information. It describes stack frame objects, " +"traceback objects, and slice objects." +msgstr "" +"Перегляньте :ref:`types` цю інформацію. Він описує об’єкти фрейму стека, " +"об’єкти трасування та об’єкти фрагментів." + +msgid "Special Attributes" +msgstr "Спеціальні атрибути" + +msgid "" +"The implementation adds a few special read-only attributes to several object " +"types, where they are relevant. Some of these are not reported by the :func:" +"`dir` built-in function." +msgstr "" +"Реалізація додає кілька спеціальних атрибутів лише для читання до кількох " +"типів об’єктів, де вони актуальні. Деякі з них не повідомляються вбудованою " +"функцією :func:`dir`." + +msgid "" +"A dictionary or other mapping object used to store an object's (writable) " +"attributes." +msgstr "" +"Словник або інший об’єкт відображення, який використовується для зберігання " +"атрибутів об’єкта (для запису)." + +msgid "The class to which a class instance belongs." +msgstr "Клас, до якого належить екземпляр класу." + +msgid "The tuple of base classes of a class object." +msgstr "Кортеж базових класів об’єкта класу." + +msgid "" +"The name of the class, function, method, descriptor, or generator instance." +msgstr "Ім'я класу, функції, методу, дескриптора або екземпляра генератора." + +msgid "" +"The :term:`qualified name` of the class, function, method, descriptor, or " +"generator instance." +msgstr "" +":term:`qualified name` класу, функції, методу, дескриптора або екземпляра " +"генератора." + +msgid "" +"This attribute is a tuple of classes that are considered when looking for " +"base classes during method resolution." +msgstr "" +"Цей атрибут є кортежем класів, які враховуються під час пошуку базових " +"класів під час вирішення методу." + +msgid "" +"This method can be overridden by a metaclass to customize the method " +"resolution order for its instances. It is called at class instantiation, " +"and its result is stored in :attr:`~class.__mro__`." +msgstr "" +"Цей метод може бути перевизначений метакласом, щоб налаштувати порядок " +"вирішення методів для його екземплярів. Він викликається під час створення " +"екземпляра класу, а його результат зберігається в :attr:`~class.__mro__`." + +msgid "" +"Each class keeps a list of weak references to its immediate subclasses. " +"This method returns a list of all those references still alive. The list is " +"in definition order. Example::" +msgstr "" +"Кожен клас зберігає список слабких посилань на його безпосередні підкласи. " +"Цей метод повертає список усіх посилань, які ще живі. Список у порядку " +"визначення. Приклад::" + +msgid "Integer string conversion length limitation" +msgstr "" + +msgid "" +"CPython has a global limit for converting between :class:`int` and :class:" +"`str` to mitigate denial of service attacks. This limit *only* applies to " +"decimal or other non-power-of-two number bases. Hexadecimal, octal, and " +"binary conversions are unlimited. The limit can be configured." +msgstr "" + +msgid "" +"The :class:`int` type in CPython is an abitrary length number stored in " +"binary form (commonly known as a \"bignum\"). There exists no algorithm that " +"can convert a string to a binary integer or a binary integer to a string in " +"linear time, *unless* the base is a power of 2. Even the best known " +"algorithms for base 10 have sub-quadratic complexity. Converting a large " +"value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." +msgstr "" + +msgid "" +"Limiting conversion size offers a practical way to avoid `CVE-2020-10735 " +"`_." +msgstr "" + +msgid "" +"The limit is applied to the number of digit characters in the input or " +"output string when a non-linear conversion algorithm would be involved. " +"Underscores and the sign are not counted towards the limit." +msgstr "" + +msgid "" +"When an operation would exceed the limit, a :exc:`ValueError` is raised:" +msgstr "" + +msgid "" +"The default limit is 4300 digits as provided in :data:`sys.int_info." +"default_max_str_digits `. The lowest limit that can be " +"configured is 640 digits as provided in :data:`sys.int_info." +"str_digits_check_threshold `." +msgstr "" + +msgid "Verification:" +msgstr "" + +msgid "Affected APIs" +msgstr "" + +msgid "" +"The limitation only applies to potentially slow conversions between :class:" +"`int` and :class:`str` or :class:`bytes`:" +msgstr "" + +msgid "``int(string)`` with default base 10." +msgstr "" + +msgid "``int(string, base)`` for all bases that are not a power of 2." +msgstr "" + +msgid "``str(integer)``." +msgstr "" + +msgid "``repr(integer)``" +msgstr "" + +msgid "" +"any other string conversion to base 10, for example ``f\"{integer}\"``, ``" +"\"{}\".format(integer)``, or ``b\"%d\" % integer``." +msgstr "" + +msgid "The limitations do not apply to functions with a linear algorithm:" +msgstr "" + +msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." +msgstr "" + +msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." +msgstr "" + +msgid ":func:`hex`, :func:`oct`, :func:`bin`." +msgstr "" + +msgid ":ref:`formatspec` for hex, octal, and binary numbers." +msgstr "" + +msgid ":class:`str` to :class:`float`." +msgstr "" + +msgid ":class:`str` to :class:`decimal.Decimal`." +msgstr "" + +msgid "Configuring the limit" +msgstr "" + +msgid "" +"Before Python starts up you can use an environment variable or an " +"interpreter command line flag to configure the limit:" +msgstr "" + +msgid "" +":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " +"to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " +"the limitation." +msgstr "" + +msgid "" +":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " +"int_max_str_digits=640``" +msgstr "" + +msgid "" +":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" +"`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If both the " +"env var and the ``-X`` option are set, the ``-X`` option takes precedence. A " +"value of *-1* indicates that both were unset, thus a value of :data:`sys." +"int_info.default_max_str_digits` was used during initilization." +msgstr "" + +msgid "" +"From code, you can inspect the current limit and set a new one using these :" +"mod:`sys` APIs:" +msgstr "" + +msgid "" +":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " +"are a getter and setter for the interpreter-wide limit. Subinterpreters have " +"their own limit." +msgstr "" + +msgid "" +"Information about the default and minimum can be found in :attr:`sys." +"int_info`:" +msgstr "" + +msgid "" +":data:`sys.int_info.default_max_str_digits ` is the compiled-" +"in default limit." +msgstr "" + +msgid "" +":data:`sys.int_info.str_digits_check_threshold ` is the lowest " +"accepted value for the limit (other than 0 which disables it)." +msgstr "" + +msgid "" +"Setting a low limit *can* lead to problems. While rare, code exists that " +"contains integer constants in decimal in their source that exceed the " +"minimum threshold. A consequence of setting the limit is that Python source " +"code containing decimal integer literals longer than the limit will " +"encounter an error during parsing, usually at startup time or import time or " +"even at installation time - anytime an up to date ``.pyc`` does not already " +"exist for the code. A workaround for source that contains such large " +"constants is to convert them to ``0x`` hexadecimal form as it has no limit." +msgstr "" + +msgid "" +"Test your application thoroughly if you use a low limit. Ensure your tests " +"run with the limit set early via the environment or flag so that it applies " +"during startup and even during any installation step that may invoke Python " +"to precompile ``.py`` sources to ``.pyc`` files." +msgstr "" + +msgid "Recommended configuration" +msgstr "" + +msgid "" +"The default :data:`sys.int_info.default_max_str_digits` is expected to be " +"reasonable for most applications. If your application requires a different " +"limit, set it from your main entry point using Python version agnostic code " +"as these APIs were added in security patch releases in versions before 3.11." +msgstr "" + +msgid "Example::" +msgstr "Приклад::" + +msgid "If you need to disable it entirely, set it to ``0``." +msgstr "" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Additional information on these special methods may be found in the Python " +"Reference Manual (:ref:`customization`)." +msgstr "" +"Додаткову інформацію про ці спеціальні методи можна знайти в довідковому " +"посібнику Python (:ref:`customization`)." + +msgid "" +"As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " +"and similarly for tuples." +msgstr "" +"Як наслідок, список ``[1, 2]`` вважається рівним ``[1.0, 2.0]``, і " +"аналогічно для кортежів." + +msgid "They must have since the parser can't tell the type of the operands." +msgstr "Мабуть, оскільки аналізатор не може визначити тип операндів." + +msgid "" +"Cased characters are those with general category property being one of \"Lu" +"\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " +"titlecase)." +msgstr "" +"Регістр символів — це символи загальної категорії, які мають одну з таких " +"властивостей: \"Lu\" (літера, верхній регістр), \"Ll\" (літера, нижній " +"регістр) або \"Lt\" (літера, регістр заголовка)." + +msgid "" +"To format only a tuple you should therefore provide a singleton tuple whose " +"only element is the tuple to be formatted." +msgstr "" +"Щоб відформатувати лише кортеж, ви повинні надати одиночний кортеж, єдиним " +"елементом якого є кортеж, який потрібно відформатувати." diff --git a/library/string.po b/library/string.po new file mode 100644 index 000000000..56e3f906b --- /dev/null +++ b/library/string.po @@ -0,0 +1,1281 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`string` --- Common string operations" +msgstr ":mod:`string` --- Загальні операції з рядками" + +msgid "**Source code:** :source:`Lib/string.py`" +msgstr "**Вихідний код:** :source:`Lib/string.py`" + +msgid ":ref:`textseq`" +msgstr ":ref:`textseq`" + +msgid ":ref:`string-methods`" +msgstr ":ref:`string-methods`" + +msgid "String constants" +msgstr "Рядкові константи" + +msgid "The constants defined in this module are:" +msgstr "Константи, визначені в цьому модулі:" + +msgid "" +"The concatenation of the :const:`ascii_lowercase` and :const:" +"`ascii_uppercase` constants described below. This value is not locale-" +"dependent." +msgstr "" +"Конкатенація констант :const:`ascii_lowercase` і :const:`ascii_uppercase` " +"описана нижче. Це значення не залежить від локалі." + +msgid "" +"The lowercase letters ``'abcdefghijklmnopqrstuvwxyz'``. This value is not " +"locale-dependent and will not change." +msgstr "" +"Малі літери ``'abcdefghijklmnopqrstuvwxyz''``. Це значення не залежить від " +"локалі та не зміниться." + +msgid "" +"The uppercase letters ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. This value is not " +"locale-dependent and will not change." +msgstr "" +"Великі літери ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Це значення не залежить від " +"локалі та не зміниться." + +msgid "The string ``'0123456789'``." +msgstr "Рядок ``'0123456789''``." + +msgid "The string ``'0123456789abcdefABCDEF'``." +msgstr "Рядок ``'0123456789abcdefABCDEF``." + +msgid "The string ``'01234567'``." +msgstr "Рядок ``'01234567``." + +msgid "" +"String of ASCII characters which are considered punctuation characters in " +"the ``C`` locale: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." +msgstr "" +"Рядок символів ASCII, які вважаються знаками пунктуації в локалі ``C``:``!\"#" +"$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." + +msgid "" +"String of ASCII characters which are considered printable. This is a " +"combination of :const:`digits`, :const:`ascii_letters`, :const:" +"`punctuation`, and :const:`whitespace`." +msgstr "" +"Рядок символів ASCII, які вважаються друкованими. Це комбінація :const:" +"`digits`, :const:`ascii_letters`, :const:`punctuation` і :const:`whitespace`." + +msgid "" +"A string containing all ASCII characters that are considered whitespace. " +"This includes the characters space, tab, linefeed, return, formfeed, and " +"vertical tab." +msgstr "" +"Рядок, що містить усі символи ASCII, які вважаються пробілами. Це включає " +"символи пробілу, табуляції, переходу рядка, повернення, переходу форми та " +"вертикальної табуляції." + +msgid "Custom String Formatting" +msgstr "Спеціальне форматування рядків" + +msgid "" +"The built-in string class provides the ability to do complex variable " +"substitutions and value formatting via the :meth:`~str.format` method " +"described in :pep:`3101`. The :class:`Formatter` class in the :mod:`string` " +"module allows you to create and customize your own string formatting " +"behaviors using the same implementation as the built-in :meth:`~str.format` " +"method." +msgstr "" +"Вбудований клас рядків надає можливість робити складні заміни змінних і " +"форматувати значення за допомогою методу :meth:`~str.format`, описаного в :" +"pep:`3101`. Клас :class:`Formatter` в модулі :mod:`string` дозволяє вам " +"створювати та налаштовувати власну поведінку форматування рядків, " +"використовуючи ту саму реалізацію, що й вбудований метод :meth:`~str.format`." + +msgid "The :class:`Formatter` class has the following public methods:" +msgstr "Клас :class:`Formatter` має такі публічні методи:" + +msgid "" +"The primary API method. It takes a format string and an arbitrary set of " +"positional and keyword arguments. It is just a wrapper that calls :meth:" +"`vformat`." +msgstr "" +"Основний метод API. Він приймає рядок формату та довільний набір позиційних " +"і ключових аргументів. Це просто оболонка, яка викликає :meth:`vformat`." + +msgid "" +"A format string argument is now :ref:`positional-only `." +msgstr "" +"Аргумент формату рядка тепер :ref:`позиційний лише `." + +msgid "" +"This function does the actual work of formatting. It is exposed as a " +"separate function for cases where you want to pass in a predefined " +"dictionary of arguments, rather than unpacking and repacking the dictionary " +"as individual arguments using the ``*args`` and ``**kwargs`` syntax. :meth:" +"`vformat` does the work of breaking up the format string into character data " +"and replacement fields. It calls the various methods described below." +msgstr "" +"Ця функція виконує фактичну роботу з форматування. Вона представлена як " +"окрема функція для випадків, коли ви хочете передати попередньо визначений " +"словник аргументів, а не розпаковувати та перепаковувати словник як окремі " +"аргументи за допомогою синтаксису ``*args`` і ``**kwargs``. :meth:`vformat` " +"розбиває рядок формату на символьні дані та поля заміни. Він викликає різні " +"методи, описані нижче." + +msgid "" +"In addition, the :class:`Formatter` defines a number of methods that are " +"intended to be replaced by subclasses:" +msgstr "" +"Крім того, :class:`Formatter` визначає ряд методів, які мають бути замінені " +"підкласами:" + +msgid "" +"Loop over the format_string and return an iterable of tuples " +"(*literal_text*, *field_name*, *format_spec*, *conversion*). This is used " +"by :meth:`vformat` to break the string into either literal text, or " +"replacement fields." +msgstr "" +"Перейдіть до format_string і поверніть ітерацію кортежів (*literal_text*, " +"*field_name*, *format_spec*, *conversion*). Це використовується :meth:" +"`vformat`, щоб розбити рядок на буквальний текст або поля заміни." + +msgid "" +"The values in the tuple conceptually represent a span of literal text " +"followed by a single replacement field. If there is no literal text (which " +"can happen if two replacement fields occur consecutively), then " +"*literal_text* will be a zero-length string. If there is no replacement " +"field, then the values of *field_name*, *format_spec* and *conversion* will " +"be ``None``." +msgstr "" +"Значення в кортежі концептуально представляють проміжок літерального тексту, " +"за яким слідує одне поле заміни. Якщо буквального тексту немає (що може " +"статися, якщо два поля заміни зустрічаються поспіль), тоді *literal_text* " +"буде рядком нульової довжини. Якщо поля заміни немає, значення *field_name*, " +"*format_spec* і *conversion* будуть ``None``." + +msgid "" +"Given *field_name* as returned by :meth:`parse` (see above), convert it to " +"an object to be formatted. Returns a tuple (obj, used_key). The default " +"version takes strings of the form defined in :pep:`3101`, such as " +"\"0[name]\" or \"label.title\". *args* and *kwargs* are as passed in to :" +"meth:`vformat`. The return value *used_key* has the same meaning as the " +"*key* parameter to :meth:`get_value`." +msgstr "" +"Враховуючи *field_name*, яке повертає :meth:`parse` (див. вище), конвертуйте " +"його в об’єкт для форматування. Повертає кортеж (obj, used_key). Версія за " +"замовчуванням приймає рядки у формі, визначеній у :pep:`3101`, як-от " +"\"0[name]\" або \"label.title\". *args* і *kwargs* передаються до :meth:" +"`vformat`. Повернене значення *used_key* має те саме значення, що й параметр " +"*key* для :meth:`get_value`." + +msgid "" +"Retrieve a given field value. The *key* argument will be either an integer " +"or a string. If it is an integer, it represents the index of the positional " +"argument in *args*; if it is a string, then it represents a named argument " +"in *kwargs*." +msgstr "" +"Отримати вказане значення поля. Аргумент *key* буде цілим числом або рядком. " +"Якщо це ціле число, воно представляє індекс позиційного аргументу в *args*; " +"якщо це рядок, то він представляє іменований аргумент у *kwargs*." + +msgid "" +"The *args* parameter is set to the list of positional arguments to :meth:" +"`vformat`, and the *kwargs* parameter is set to the dictionary of keyword " +"arguments." +msgstr "" +"Параметр *args* встановлюється на список позиційних аргументів :meth:" +"`vformat`, а параметр *kwargs* встановлюється на словник ключових аргументів." + +msgid "" +"For compound field names, these functions are only called for the first " +"component of the field name; subsequent components are handled through " +"normal attribute and indexing operations." +msgstr "" +"Для складених імен полів ці функції викликаються лише для першого компонента " +"імені поля; подальші компоненти обробляються через звичайні операції " +"атрибутів та індексування." + +msgid "" +"So for example, the field expression '0.name' would cause :meth:`get_value` " +"to be called with a *key* argument of 0. The ``name`` attribute will be " +"looked up after :meth:`get_value` returns by calling the built-in :func:" +"`getattr` function." +msgstr "" +"Так, наприклад, вираз поля \"0.name\" призведе до виклику :meth:`get_value` " +"з аргументом *key* 0. Атрибут ``name`` шукатиметься після :meth:`get_value` " +"повертається шляхом виклику вбудованої функції :func:`getattr`." + +msgid "" +"If the index or keyword refers to an item that does not exist, then an :exc:" +"`IndexError` or :exc:`KeyError` should be raised." +msgstr "" +"Якщо індекс або ключове слово посилається на елемент, який не існує, тоді " +"має бути викликана :exc:`IndexError` або :exc:`KeyError`." + +msgid "" +"Implement checking for unused arguments if desired. The arguments to this " +"function is the set of all argument keys that were actually referred to in " +"the format string (integers for positional arguments, and strings for named " +"arguments), and a reference to the *args* and *kwargs* that was passed to " +"vformat. The set of unused args can be calculated from these parameters. :" +"meth:`check_unused_args` is assumed to raise an exception if the check fails." +msgstr "" +"За потреби реалізуйте перевірку невикористаних аргументів. Аргументи цієї " +"функції — це набір усіх ключів аргументів, на які фактично посилається рядок " +"формату (цілі числа для позиційних аргументів і рядки для іменованих " +"аргументів), а також посилання на *args* і *kwargs*, передане до vformat. " +"Набір невикористаних аргументів можна обчислити за цими параметрами. " +"Припускається, що :meth:`check_unused_args` викликає виключення, якщо " +"перевірка не вдається." + +msgid "" +":meth:`format_field` simply calls the global :func:`format` built-in. The " +"method is provided so that subclasses can override it." +msgstr "" +":meth:`format_field` просто викликає глобальний вбудований :func:`format`. " +"Метод надається для того, щоб підкласи могли його замінити." + +msgid "" +"Converts the value (returned by :meth:`get_field`) given a conversion type " +"(as in the tuple returned by the :meth:`parse` method). The default version " +"understands 's' (str), 'r' (repr) and 'a' (ascii) conversion types." +msgstr "" +"Перетворює значення (повернуте :meth:`get_field`) із заданим типом " +"перетворення (як у кортежі, поверненому методом :meth:`parse`). Версія за " +"замовчуванням підтримує типи перетворення 's' (str), 'r' (repr) і " +"'a' (ascii)." + +msgid "Format String Syntax" +msgstr "Синтаксис рядка формату" + +msgid "" +"The :meth:`str.format` method and the :class:`Formatter` class share the " +"same syntax for format strings (although in the case of :class:`Formatter`, " +"subclasses can define their own format string syntax). The syntax is " +"related to that of :ref:`formatted string literals `, but it is " +"less sophisticated and, in particular, does not support arbitrary " +"expressions." +msgstr "" +"Метод :meth:`str.format` і клас :class:`Formatter` мають однаковий синтаксис " +"для рядків форматування (хоча у випадку :class:`Formatter` підкласи можуть " +"визначати власний синтаксис рядків форматування). Синтаксис подібний до " +"синтаксису :ref:`форматованих рядкових літералів `, але він менш " +"складний і, зокрема, не підтримує довільні вирази." + +msgid "" +"Format strings contain \"replacement fields\" surrounded by curly braces ``{}" +"``. Anything that is not contained in braces is considered literal text, " +"which is copied unchanged to the output. If you need to include a brace " +"character in the literal text, it can be escaped by doubling: ``{{`` and ``}}" +"``." +msgstr "" +"Рядки формату містять \"поля заміни\", оточені фігурними дужками ``{}``. " +"Все, що не міститься в фігурних дужках, вважається буквальним текстом, який " +"копіюється без змін у вивід. Якщо вам потрібно включити фігурну дужку в " +"буквальний текст, її можна екранувати подвоєнням: ``{{`` і ``}}``." + +msgid "The grammar for a replacement field is as follows:" +msgstr "Граматика поля заміни така:" + +msgid "" +"In less formal terms, the replacement field can start with a *field_name* " +"that specifies the object whose value is to be formatted and inserted into " +"the output instead of the replacement field. The *field_name* is optionally " +"followed by a *conversion* field, which is preceded by an exclamation point " +"``'!'``, and a *format_spec*, which is preceded by a colon ``':'``. These " +"specify a non-default format for the replacement value." +msgstr "" +"Якщо говорити менш формально, то поле заміни може починатися з *field_name*, " +"яке визначає об’єкт, значення якого має бути відформатовано та вставлено у " +"вихідні дані замість поля заміни. За *field_name* необов’язково йде поле " +"*conversion*, якому передує знак оклику ``'!'``, і *format_spec*, якому " +"передує двокрапка ``':''``. Вони вказують нестандартний формат для значення " +"заміни." + +msgid "See also the :ref:`formatspec` section." +msgstr "Дивіться також розділ :ref:`formatspec`." + +msgid "" +"The *field_name* itself begins with an *arg_name* that is either a number or " +"a keyword. If it's a number, it refers to a positional argument, and if " +"it's a keyword, it refers to a named keyword argument. If the numerical " +"arg_names in a format string are 0, 1, 2, ... in sequence, they can all be " +"omitted (not just some) and the numbers 0, 1, 2, ... will be automatically " +"inserted in that order. Because *arg_name* is not quote-delimited, it is not " +"possible to specify arbitrary dictionary keys (e.g., the strings ``'10'`` or " +"``':-]'``) within a format string. The *arg_name* can be followed by any " +"number of index or attribute expressions. An expression of the form ``'." +"name'`` selects the named attribute using :func:`getattr`, while an " +"expression of the form ``'[index]'`` does an index lookup using :func:" +"`__getitem__`." +msgstr "" +"Саме *field_name* починається з *arg_name*, яке є числом або ключовим " +"словом. Якщо це число, воно посилається на позиційний аргумент, а якщо це " +"ключове слово, воно посилається на іменований аргумент ключового слова. Якщо " +"числові аргументи arg_names у рядку формату є послідовними 0, 1, 2, ..., їх " +"можна пропустити всі (а не лише деякі), і числа 0, 1, 2, ... будуть " +"автоматично вставлені в такому порядку . Оскільки *arg_name* не розділено " +"лапками, неможливо вказати довільні ключі словника (наприклад, рядки " +"``'10''`` або ``':-]'``) у рядку формату. За *arg_name* може йти будь-яка " +"кількість виразів індексу або атрибута. Вираз у формі ``'.name''`` вибирає " +"названий атрибут за допомогою :func:`getattr`, тоді як вираз у формі " +"``'[index]'`` виконує пошук індексу за допомогою :func:`__getitem__`." + +msgid "" +"The positional argument specifiers can be omitted for :meth:`str.format`, so " +"``'{} {}'.format(a, b)`` is equivalent to ``'{0} {1}'.format(a, b)``." +msgstr "" +"Специфікатори позиційного аргументу можна опустити для :meth:`str.format`, " +"тому ``'{} {}'.format(a, b)`` еквівалентний ``'{0} {1}'.format (а, б)``." + +msgid "" +"The positional argument specifiers can be omitted for :class:`Formatter`." +msgstr "" +"Специфікатори позиційного аргументу можна опустити для :class:`Formatter`." + +msgid "Some simple format string examples::" +msgstr "Кілька простих прикладів рядків форматування::" + +msgid "" +"The *conversion* field causes a type coercion before formatting. Normally, " +"the job of formatting a value is done by the :meth:`__format__` method of " +"the value itself. However, in some cases it is desirable to force a type to " +"be formatted as a string, overriding its own definition of formatting. By " +"converting the value to a string before calling :meth:`__format__`, the " +"normal formatting logic is bypassed." +msgstr "" +"Поле *перетворення* викликає приведення типу перед форматуванням. Зазвичай " +"робота з форматування значення виконується методом :meth:`__format__` самого " +"значення. Однак у деяких випадках бажано примусово форматувати тип як рядок, " +"замінюючи його власне визначення форматування. Перетворюючи значення на " +"рядок перед викликом :meth:`__format__`, звичайна логіка форматування " +"обходиться." + +msgid "" +"Three conversion flags are currently supported: ``'!s'`` which calls :func:" +"`str` on the value, ``'!r'`` which calls :func:`repr` and ``'!a'`` which " +"calls :func:`ascii`." +msgstr "" +"Наразі підтримуються три позначки перетворення: ``'!s'``, який викликає :" +"func:`str` для значення, ``''!r'``, який викликає :func:`repr` та ``'!a'`` , " +"який викликає :func:`ascii`." + +msgid "Some examples::" +msgstr "Деякі приклади::" + +msgid "" +"The *format_spec* field contains a specification of how the value should be " +"presented, including such details as field width, alignment, padding, " +"decimal precision and so on. Each value type can define its own " +"\"formatting mini-language\" or interpretation of the *format_spec*." +msgstr "" +"Поле *format_spec* містить специфікацію того, як має бути представлене " +"значення, включаючи такі деталі, як ширина поля, вирівнювання, відступ, " +"десяткова точність тощо. Кожен тип значення може визначати власну \"міні-" +"мову форматування\" або інтерпретацію *format_spec*." + +msgid "" +"Most built-in types support a common formatting mini-language, which is " +"described in the next section." +msgstr "" +"Більшість вбудованих типів підтримують загальну міні-мову форматування, яка " +"описана в наступному розділі." + +msgid "" +"A *format_spec* field can also include nested replacement fields within it. " +"These nested replacement fields may contain a field name, conversion flag " +"and format specification, but deeper nesting is not allowed. The " +"replacement fields within the format_spec are substituted before the " +"*format_spec* string is interpreted. This allows the formatting of a value " +"to be dynamically specified." +msgstr "" +"Поле *format_spec* також може містити вкладені поля заміни. Ці вкладені поля " +"заміни можуть містити назву поля, позначку перетворення та специфікацію " +"формату, але глибше вкладення не допускається. Поля заміни в format_spec " +"замінюються перед інтерпретацією рядка *format_spec*. Це дозволяє динамічно " +"вказувати форматування значення." + +msgid "See the :ref:`formatexamples` section for some examples." +msgstr "Перегляньте розділ :ref:`formatexamples` для деяких прикладів." + +msgid "Format Specification Mini-Language" +msgstr "Міні-мова специфікації формату" + +msgid "" +"\"Format specifications\" are used within replacement fields contained " +"within a format string to define how individual values are presented (see :" +"ref:`formatstrings` and :ref:`f-strings`). They can also be passed directly " +"to the built-in :func:`format` function. Each formattable type may define " +"how the format specification is to be interpreted." +msgstr "" +"\"Специфікації формату\" використовуються в полях заміни, що містяться в " +"рядку формату, щоб визначити, як подаються окремі значення (див. :ref:" +"`formatstrings` і :ref:`f-strings`). Їх також можна передати безпосередньо " +"до вбудованої функції :func:`format`. Кожен форматований тип може визначати, " +"як слід інтерпретувати специфікацію формату." + +msgid "" +"Most built-in types implement the following options for format " +"specifications, although some of the formatting options are only supported " +"by the numeric types." +msgstr "" +"Більшість вбудованих типів реалізують такі параметри специфікацій формату, " +"хоча деякі параметри форматування підтримуються лише числовими типами." + +msgid "" +"A general convention is that an empty format specification produces the same " +"result as if you had called :func:`str` on the value. A non-empty format " +"specification typically modifies the result." +msgstr "" +"Загальна домовленість полягає в тому, що порожня специфікація формату дає " +"такий самий результат, як якщо б ви викликали :func:`str` для значення. " +"Непорожня специфікація формату зазвичай змінює результат." + +msgid "The general form of a *standard format specifier* is:" +msgstr "Загальна форма *специфікатора стандартного формату* така:" + +msgid "" +"If a valid *align* value is specified, it can be preceded by a *fill* " +"character that can be any character and defaults to a space if omitted. It " +"is not possible to use a literal curly brace (\"``{``\" or \"``}``\") as the " +"*fill* character in a :ref:`formatted string literal ` or when " +"using the :meth:`str.format` method. However, it is possible to insert a " +"curly brace with a nested replacement field. This limitation doesn't affect " +"the :func:`format` function." +msgstr "" +"Якщо вказано дійсне значення *align*, йому може передувати символ *fill*, " +"який може бути будь-яким символом і за замовчуванням є пробілом, якщо його " +"опустити. Неможливо використовувати літеральну фігурну дужку (\"``{``\" або " +"\"``}``\") як символ *fill* у :ref:`відформатованому рядковому літералі ` або під час використання метод :meth:`str.format`. Однак можна " +"вставити фігурну дужку з вкладеним полем заміни. Це обмеження не впливає на " +"функцію :func:`format`." + +msgid "The meaning of the various alignment options is as follows:" +msgstr "Значення різних параметрів вирівнювання таке:" + +msgid "Option" +msgstr "Варіант" + +msgid "Meaning" +msgstr "Значення" + +msgid "``'<'``" +msgstr "``'<'``" + +msgid "" +"Forces the field to be left-aligned within the available space (this is the " +"default for most objects)." +msgstr "" +"Примусово вирівнює поле за лівим краєм у межах доступного простору (це " +"типове значення для більшості об’єктів)." + +msgid "``'>'``" +msgstr "``'>'``" + +msgid "" +"Forces the field to be right-aligned within the available space (this is the " +"default for numbers)." +msgstr "" +"Примусово вирівнює поле за правим краєм у межах доступного простору (це " +"типове значення для чисел)." + +msgid "``'='``" +msgstr "``'='``" + +msgid "" +"Forces the padding to be placed after the sign (if any) but before the " +"digits. This is used for printing fields in the form '+000000120'. This " +"alignment option is only valid for numeric types. It becomes the default " +"for numbers when '0' immediately precedes the field width." +msgstr "" +"Примусово розміщує відступи після знака (якщо є), але перед цифрами. Це " +"використовується для друку полів у формі \"+000000120\". Цей параметр " +"вирівнювання дійсний лише для числових типів. Він стає типовим для чисел, " +"коли \"0\" безпосередньо передує ширині поля." + +msgid "``'^'``" +msgstr "``'^'``" + +msgid "Forces the field to be centered within the available space." +msgstr "Примусово центрує поле в межах доступного простору." + +msgid "" +"Note that unless a minimum field width is defined, the field width will " +"always be the same size as the data to fill it, so that the alignment option " +"has no meaning in this case." +msgstr "" +"Зауважте, що якщо не визначено мінімальну ширину поля, ширина поля завжди " +"матиме той самий розмір, що й дані для його заповнення, тому параметр " +"вирівнювання не має значення в цьому випадку." + +msgid "" +"The *sign* option is only valid for number types, and can be one of the " +"following:" +msgstr "" +"Параметр *знак* дійсний лише для типів чисел і може бути одним із таких:" + +msgid "``'+'``" +msgstr "``'+'``" + +msgid "" +"indicates that a sign should be used for both positive as well as negative " +"numbers." +msgstr "" +"вказує на те, що знак слід використовувати як для додатних, так і для " +"від’ємних чисел." + +msgid "``'-'``" +msgstr "``'-'``" + +msgid "" +"indicates that a sign should be used only for negative numbers (this is the " +"default behavior)." +msgstr "" +"вказує, що знак слід використовувати лише для від’ємних чисел (це типова " +"поведінка)." + +msgid "space" +msgstr "простір" + +msgid "" +"indicates that a leading space should be used on positive numbers, and a " +"minus sign on negative numbers." +msgstr "" +"вказує на те, що для додатних чисел слід використовувати пробіл, а для " +"від’ємних – знак мінус." + +msgid "" +"The ``'z'`` option coerces negative zero floating-point values to positive " +"zero after rounding to the format precision. This option is only valid for " +"floating-point presentation types." +msgstr "" + +msgid "Added the ``'z'`` option (see also :pep:`682`)." +msgstr "" + +msgid "" +"The ``'#'`` option causes the \"alternate form\" to be used for the " +"conversion. The alternate form is defined differently for different types. " +"This option is only valid for integer, float and complex types. For " +"integers, when binary, octal, or hexadecimal output is used, this option " +"adds the respective prefix ``'0b'``, ``'0o'``, ``'0x'``, or ``'0X'`` to the " +"output value. For float and complex the alternate form causes the result of " +"the conversion to always contain a decimal-point character, even if no " +"digits follow it. Normally, a decimal-point character appears in the result " +"of these conversions only if a digit follows it. In addition, for ``'g'`` " +"and ``'G'`` conversions, trailing zeros are not removed from the result." +msgstr "" +"Опція ``'#'`` спричиняє використання \"альтернативної форми\" для " +"перетворення. Альтернативна форма визначається по-різному для різних типів. " +"Цей параметр дійсний лише для цілих чисел, типів із плаваючою точкою та " +"складних типів. Для цілих чисел, коли використовується двійковий, вісімковий " +"або шістнадцятковий вивід, цей параметр додає відповідний префікс ``'0b'``, " +"``'0o'``, ``'0x'`` або ``'0X'`` до вихідного значення. Для float і complex " +"альтернативна форма призводить до того, що результат перетворення завжди " +"міститиме символ десяткової коми, навіть якщо за ним не йде жодна цифра. " +"Зазвичай символ десяткової коми з’являється в результаті цих перетворень, " +"лише якщо за ним стоїть цифра. Крім того, для перетворень ``'g'`` і ``'G''`` " +"кінцеві нулі не видаляються з результату." + +msgid "" +"The ``','`` option signals the use of a comma for a thousands separator. For " +"a locale aware separator, use the ``'n'`` integer presentation type instead." +msgstr "" +"Параметр ``',`` вказує на використання коми для роздільника тисяч. Для " +"роздільника з урахуванням локалі використовуйте натомість цілочисельний тип " +"представлення ``'n'``." + +msgid "Added the ``','`` option (see also :pep:`378`)." +msgstr "Додано параметр ``',''`` (див. також :pep:`378`)." + +msgid "" +"The ``'_'`` option signals the use of an underscore for a thousands " +"separator for floating point presentation types and for integer presentation " +"type ``'d'``. For integer presentation types ``'b'``, ``'o'``, ``'x'``, and " +"``'X'``, underscores will be inserted every 4 digits. For other " +"presentation types, specifying this option is an error." +msgstr "" +"Опція ``'_'`` сигналізує про використання символу підкреслення для " +"розділювача тисяч для типів подання з плаваючою комою та для цілочисельного " +"типу подання ``'d'``. Для цілочисельних типів подання ``'b'``, ``'o'``, " +"``'x'`` і ``'X'`` підкреслення вставлятимуться кожні 4 цифри. Для інших " +"типів презентацій вказувати цей параметр є помилкою." + +msgid "Added the ``'_'`` option (see also :pep:`515`)." +msgstr "Додано параметр ``'_'`` (див. також :pep:`515`)." + +msgid "" +"*width* is a decimal integer defining the minimum total field width, " +"including any prefixes, separators, and other formatting characters. If not " +"specified, then the field width will be determined by the content." +msgstr "" +"*ширина* — це десяткове ціле число, що визначає мінімальну загальну ширину " +"поля, включаючи будь-які префікси, роздільники та інші символи форматування. " +"Якщо не вказано, ширина поля визначатиметься вмістом." + +msgid "" +"When no explicit alignment is given, preceding the *width* field by a zero " +"(``'0'``) character enables sign-aware zero-padding for numeric types. This " +"is equivalent to a *fill* character of ``'0'`` with an *alignment* type of " +"``'='``." +msgstr "" +"Якщо явне вирівнювання не задано, перед полем *width* нуль (``'0'``) увімкне " +"нульове доповнення з урахуванням знака для числових типів. Це еквівалентно " +"символу *заповнення* ``'0'`` з типом *вирівнювання* ``'='``." + +msgid "" +"Preceding the *width* field by ``'0'`` no longer affects the default " +"alignment for strings." +msgstr "" +"Попереднє поле *width* ``'0'`` більше не впливає на стандартне вирівнювання " +"для рядків." + +msgid "" +"The *precision* is a decimal integer indicating how many digits should be " +"displayed after the decimal point for presentation types ``'f'`` and " +"``'F'``, or before and after the decimal point for presentation types " +"``'g'`` or ``'G'``. For string presentation types the field indicates the " +"maximum field size - in other words, how many characters will be used from " +"the field content. The *precision* is not allowed for integer presentation " +"types." +msgstr "" +"*Точність* — це десяткове ціле число, яке вказує, скільки цифр має " +"відображатися після коми для типів подання ``'f'`` і ``'F'`` або перед і " +"після десяткової коми для типів подання ``'g'`` або ``'G''``. Для типів " +"представлення рядків поле вказує максимальний розмір поля - іншими словами, " +"скільки символів буде використано з вмісту поля. *Точність* не допускається " +"для цілочисельних типів подання." + +msgid "Finally, the *type* determines how the data should be presented." +msgstr "Нарешті, *тип* визначає, як мають бути представлені дані." + +msgid "The available string presentation types are:" +msgstr "Доступні типи подання рядків:" + +msgid "Type" +msgstr "Тип" + +msgid "``'s'``" +msgstr "``'s''``" + +msgid "String format. This is the default type for strings and may be omitted." +msgstr "Формат рядка. Це типовий тип для рядків, і його можна опустити." + +msgid "None" +msgstr "Жодного" + +msgid "The same as ``'s'``." +msgstr "Те саме, що ``'s``." + +msgid "The available integer presentation types are:" +msgstr "Доступні типи представлення цілих чисел:" + +msgid "``'b'``" +msgstr "``'b''``" + +msgid "Binary format. Outputs the number in base 2." +msgstr "Двійковий формат. Виводить число за основою 2." + +msgid "``'c'``" +msgstr "``'c''``" + +msgid "" +"Character. Converts the integer to the corresponding unicode character " +"before printing." +msgstr "" +"характер. Перетворює ціле число на відповідний символ Юнікоду перед друком." + +msgid "``'d'``" +msgstr "``'d''``" + +msgid "Decimal Integer. Outputs the number in base 10." +msgstr "Десяткове ціле число. Виводить число за основою 10." + +msgid "``'o'``" +msgstr "``'o'``" + +msgid "Octal format. Outputs the number in base 8." +msgstr "Вісімковий формат. Виводить число за основою 8." + +msgid "``'x'``" +msgstr "``'x''``" + +msgid "" +"Hex format. Outputs the number in base 16, using lower-case letters for the " +"digits above 9." +msgstr "" +"Шістнадцятковий формат. Виводить число за основою 16, використовуючи малі " +"літери для цифр над 9." + +msgid "``'X'``" +msgstr "``'X''``" + +msgid "" +"Hex format. Outputs the number in base 16, using upper-case letters for the " +"digits above 9. In case ``'#'`` is specified, the prefix ``'0x'`` will be " +"upper-cased to ``'0X'`` as well." +msgstr "" +"Шістнадцятковий формат. Виводить число за основою 16, використовуючи літери " +"верхнього регістру для цифр над 9. Якщо вказано ``'#'``, префікс ``'0x'`` " +"буде написаний у верхньому регістрі до ``'0X'`` також." + +msgid "``'n'``" +msgstr "``'n'``" + +msgid "" +"Number. This is the same as ``'d'``, except that it uses the current locale " +"setting to insert the appropriate number separator characters." +msgstr "" +"Номер. Це те саме, що ``'d''``, за винятком того, що він використовує " +"поточні параметри мови для вставки відповідних символів-роздільників чисел." + +msgid "The same as ``'d'``." +msgstr "Те саме, що ``'d'``." + +msgid "" +"In addition to the above presentation types, integers can be formatted with " +"the floating point presentation types listed below (except ``'n'`` and " +"``None``). When doing so, :func:`float` is used to convert the integer to a " +"floating point number before formatting." +msgstr "" +"Окрім наведених вище типів подання, цілі числа можна форматувати за " +"допомогою типів подання з плаваючою комою, наведених нижче (крім ``'n'`` і " +"``None``). При цьому :func:`float` використовується для перетворення цілого " +"числа на число з плаваючою комою перед форматуванням." + +msgid "" +"The available presentation types for :class:`float` and :class:`~decimal." +"Decimal` values are:" +msgstr "" +"Доступні типи представлення значень :class:`float` і :class:`~decimal." +"Decimal`:" + +msgid "``'e'``" +msgstr "``'e''``" + +msgid "" +"Scientific notation. For a given precision ``p``, formats the number in " +"scientific notation with the letter 'e' separating the coefficient from the " +"exponent. The coefficient has one digit before and ``p`` digits after the " +"decimal point, for a total of ``p + 1`` significant digits. With no " +"precision given, uses a precision of ``6`` digits after the decimal point " +"for :class:`float`, and shows all coefficient digits for :class:`~decimal." +"Decimal`. If no digits follow the decimal point, the decimal point is also " +"removed unless the ``#`` option is used." +msgstr "" +"Наукова нотація. Для заданої точності ``p`` форматує число в науковому " +"записі літерою e, що відокремлює коефіцієнт від експоненти. Коефіцієнт має " +"одну цифру перед і ``p`` цифри після десяткової коми, загалом ``p + 1`` " +"значущих цифр. Без заданої точності, використовує точність ``6`` цифр після " +"коми для :class:`float` і показує всі цифри коефіцієнтів для :class:" +"`~decimal.Decimal`. Якщо після коми не стоїть жодна цифра, десяткова кома " +"також видаляється, якщо не використовується параметр ``#``." + +msgid "``'E'``" +msgstr "``'E'``" + +msgid "" +"Scientific notation. Same as ``'e'`` except it uses an upper case 'E' as the " +"separator character." +msgstr "" +"Наукова нотація. Те саме, що ``'e'``, за винятком того, що він використовує " +"верхній регістр 'E' як символ роздільника." + +msgid "``'f'``" +msgstr "``'f''``" + +msgid "" +"Fixed-point notation. For a given precision ``p``, formats the number as a " +"decimal number with exactly ``p`` digits following the decimal point. With " +"no precision given, uses a precision of ``6`` digits after the decimal point " +"for :class:`float`, and uses a precision large enough to show all " +"coefficient digits for :class:`~decimal.Decimal`. If no digits follow the " +"decimal point, the decimal point is also removed unless the ``#`` option is " +"used." +msgstr "" +"Позначення з фіксованою комою. Для заданої точності ``p`` форматує число як " +"десяткове число з рівними цифрами ``p`` після коми. Без заданої точності, " +"використовує точність ``6`` цифр після коми для :class:`float` і " +"використовує точність, достатню для відображення всіх цифр коефіцієнта для :" +"class:`~decimal.Decimal`. Якщо після коми не стоїть жодна цифра, десяткова " +"кома також видаляється, якщо не використовується параметр ``#``." + +msgid "``'F'``" +msgstr "``'F''``" + +msgid "" +"Fixed-point notation. Same as ``'f'``, but converts ``nan`` to ``NAN`` and " +"``inf`` to ``INF``." +msgstr "" +"Позначення з фіксованою комою. Те саме, що ``'f``, але перетворює ``nan`` на " +"``NAN`` і ``inf`` на ``INF``." + +msgid "``'g'``" +msgstr "``'g''``" + +msgid "" +"General format. For a given precision ``p >= 1``, this rounds the number to " +"``p`` significant digits and then formats the result in either fixed-point " +"format or in scientific notation, depending on its magnitude. A precision of " +"``0`` is treated as equivalent to a precision of ``1``." +msgstr "" +"Загальний формат. Для заданої точності ``p >= 1`` це округлює число до ``p`` " +"значущих цифр, а потім форматує результат або у форматі з фіксованою комою, " +"або в науковому позначенні, залежно від його величини. Точність ``0`` " +"розглядається як еквівалентна точності ``1``." + +msgid "" +"The precise rules are as follows: suppose that the result formatted with " +"presentation type ``'e'`` and precision ``p-1`` would have exponent " +"``exp``. Then, if ``m <= exp < p``, where ``m`` is -4 for floats and -6 " +"for :class:`Decimals `, the number is formatted with " +"presentation type ``'f'`` and precision ``p-1-exp``. Otherwise, the number " +"is formatted with presentation type ``'e'`` and precision ``p-1``. In both " +"cases insignificant trailing zeros are removed from the significand, and the " +"decimal point is also removed if there are no remaining digits following it, " +"unless the ``'#'`` option is used." +msgstr "" +"Точні правила такі: припустимо, що результат, відформатований із типом " +"представлення ``'e'`` і точністю ``p-1``, матиме показник ``exp``. Тоді, " +"якщо ``m <= exp < p``, where ``m`` is -4 for floats and -6 for :class:" +"`Decimals `, число форматується з типом представлення " +"``'f'`` і точністю ``p-1-exp``. В іншому випадку число форматується з типом " +"представлення ``'e`` і точністю ``p-1``. В обох випадках незначущі кінцеві " +"нулі видаляються зі значущого, а десяткова кома також видаляється, якщо " +"після неї не залишилося цифр, якщо не використовується опція ``'#'``." + +msgid "" +"With no precision given, uses a precision of ``6`` significant digits for :" +"class:`float`. For :class:`~decimal.Decimal`, the coefficient of the result " +"is formed from the coefficient digits of the value; scientific notation is " +"used for values smaller than ``1e-6`` in absolute value and values where the " +"place value of the least significant digit is larger than 1, and fixed-point " +"notation is used otherwise." +msgstr "" +"Без заданої точності, використовує точність ``6`` значущих цифр для :class:" +"`float`. Для :class:`~decimal.Decimal` коефіцієнт результату формується з " +"цифр коефіцієнта значення; наукова нотація використовується для значень, " +"менших за ``1e-6`` в абсолютному значенні, і значень, де розрядне значення " +"молодшої значущої цифри більше 1, а в інших випадках використовується " +"нотація з фіксованою комою." + +msgid "" +"Positive and negative infinity, positive and negative zero, and nans, are " +"formatted as ``inf``, ``-inf``, ``0``, ``-0`` and ``nan`` respectively, " +"regardless of the precision." +msgstr "" +"Позитивна і негативна нескінченність, позитивний і негативний нуль і nans " +"форматуються як ``inf``, ``-inf``, ``0``, ``-0`` і ``nan`` відповідно, " +"незалежно точності." + +msgid "``'G'``" +msgstr "``'G''``" + +msgid "" +"General format. Same as ``'g'`` except switches to ``'E'`` if the number " +"gets too large. The representations of infinity and NaN are uppercased, too." +msgstr "" +"Загальний формат. Те саме, що ``'g'``, за винятком переключення на ``'E'``, " +"якщо число стає завеликим. Представлення нескінченності та NaN також " +"написані у верхньому регістрі." + +msgid "" +"Number. This is the same as ``'g'``, except that it uses the current locale " +"setting to insert the appropriate number separator characters." +msgstr "" +"Номер. Це те саме, що ``'g''``, за винятком того, що він використовує " +"поточні налаштування мови для вставки відповідних символів-роздільників " +"чисел." + +msgid "``'%'``" +msgstr "``'%'``" + +msgid "" +"Percentage. Multiplies the number by 100 and displays in fixed (``'f'``) " +"format, followed by a percent sign." +msgstr "" +"Відсоток. Множить число на 100 і відображає у фіксованому форматі (``'f'``) " +"із знаком відсотка." + +msgid "" +"For :class:`float` this is the same as ``'g'``, except that when fixed-point " +"notation is used to format the result, it always includes at least one digit " +"past the decimal point. The precision used is as large as needed to " +"represent the given value faithfully." +msgstr "" +"Для :class:`float` це те саме, що ``'g'``, за винятком того, що коли для " +"форматування результату використовується нотація з фіксованою комою, вона " +"завжди включає принаймні одну цифру після коми. Використовується настільки " +"висока точність, яка необхідна для вірного представлення заданого значення." + +msgid "" +"For :class:`~decimal.Decimal`, this is the same as either ``'g'`` or ``'G'`` " +"depending on the value of ``context.capitals`` for the current decimal " +"context." +msgstr "" +"Для :class:`~decimal.Decimal` це те саме, що ``'g'`` або ``'G'`` залежно від " +"значення ``context.capitals`` для поточного десяткового контексту." + +msgid "" +"The overall effect is to match the output of :func:`str` as altered by the " +"other format modifiers." +msgstr "" +"Загальним ефектом є відповідність виводу :func:`str`, зміненого іншими " +"модифікаторами формату." + +msgid "Format examples" +msgstr "Приклади форматування" + +msgid "" +"This section contains examples of the :meth:`str.format` syntax and " +"comparison with the old ``%``-formatting." +msgstr "" +"Цей розділ містить приклади синтаксису :meth:`str.format` і порівняння зі " +"старим ``%``-форматуванням." + +msgid "" +"In most of the cases the syntax is similar to the old ``%``-formatting, with " +"the addition of the ``{}`` and with ``:`` used instead of ``%``. For " +"example, ``'%03.2f'`` can be translated to ``'{:03.2f}'``." +msgstr "" +"У більшості випадків синтаксис подібний до старого ``%``-форматування, з " +"додаванням ``{}`` і використанням ``:`` замість ``%``. Наприклад, " +"``'%03.2f''`` можна перекласти на ``'{:03.2f}''``." + +msgid "" +"The new format syntax also supports new and different options, shown in the " +"following examples." +msgstr "" +"Новий синтаксис формату також підтримує нові та різні параметри, показані в " +"наступних прикладах." + +msgid "Accessing arguments by position::" +msgstr "Доступ до аргументів за позицією::" + +msgid "Accessing arguments by name::" +msgstr "Доступ до аргументів за назвою::" + +msgid "Accessing arguments' attributes::" +msgstr "Доступ до атрибутів аргументів::" + +msgid "Accessing arguments' items::" +msgstr "Доступ до елементів аргументів::" + +msgid "Replacing ``%s`` and ``%r``::" +msgstr "Заміна ``%s`` та ``%r``::" + +msgid "Aligning the text and specifying a width::" +msgstr "Вирівнювання тексту та визначення ширини::" + +msgid "Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::" +msgstr "Заміна ``%+f``, ``%-f`` і ``% f`` та вказівка знака::" + +msgid "" +"Replacing ``%x`` and ``%o`` and converting the value to different bases::" +msgstr "Заміна ``%x`` і ``%o`` і перетворення значення на різні бази::" + +msgid "Using the comma as a thousands separator::" +msgstr "Використання коми як роздільника тисяч::" + +msgid "Expressing a percentage::" +msgstr "Вираз у відсотках::" + +msgid "Using type-specific formatting::" +msgstr "Використання спеціального форматування::" + +msgid "Nesting arguments and more complex examples::" +msgstr "Вкладені аргументи та більш складні приклади::" + +msgid "Template strings" +msgstr "Рядки шаблону" + +msgid "" +"Template strings provide simpler string substitutions as described in :pep:" +"`292`. A primary use case for template strings is for internationalization " +"(i18n) since in that context, the simpler syntax and functionality makes it " +"easier to translate than other built-in string formatting facilities in " +"Python. As an example of a library built on template strings for i18n, see " +"the `flufl.i18n `_ package." +msgstr "" + +msgid "" +"Template strings support ``$``-based substitutions, using the following " +"rules:" +msgstr "Рядки шаблону підтримують заміни на основі ``$`` за такими правилами:" + +msgid "``$$`` is an escape; it is replaced with a single ``$``." +msgstr "``$$`` є екрануванням; він замінюється одним ``$``." + +msgid "" +"``$identifier`` names a substitution placeholder matching a mapping key of ``" +"\"identifier\"``. By default, ``\"identifier\"`` is restricted to any case-" +"insensitive ASCII alphanumeric string (including underscores) that starts " +"with an underscore or ASCII letter. The first non-identifier character " +"after the ``$`` character terminates this placeholder specification." +msgstr "" +"``$identifier`` називає покажчик місця заповнення, що відповідає ключу " +"відображення ``\"identifier\"``. За замовчуванням ``\"ідентифікатор\"`` " +"обмежується будь-яким незалежним від регістру алфавітно-цифровим рядком " +"ASCII (включаючи підкреслення), який починається з підкреслення або літери " +"ASCII. Перший неідентифікаційний символ після символу ``$`` завершує цю " +"специфікацію заповнювача." + +msgid "" +"``${identifier}`` is equivalent to ``$identifier``. It is required when " +"valid identifier characters follow the placeholder but are not part of the " +"placeholder, such as ``\"${noun}ification\"``." +msgstr "" +"``${identifier}`` еквівалентний ``$identifier``. Він потрібен, якщо дійсні " +"символи ідентифікатора слідують за заповнювачем, але не є частиною " +"заповнювача, наприклад ``\"${noun}ification\"``." + +msgid "" +"Any other appearance of ``$`` in the string will result in a :exc:" +"`ValueError` being raised." +msgstr "Будь-яка інша поява ``$`` у рядку призведе до появи :exc:`ValueError`." + +msgid "" +"The :mod:`string` module provides a :class:`Template` class that implements " +"these rules. The methods of :class:`Template` are:" +msgstr "" +"Модуль :mod:`string` надає клас :class:`Template`, який реалізує ці правила. " +"Методи :class:`Template`:" + +msgid "The constructor takes a single argument which is the template string." +msgstr "Конструктор приймає один аргумент, який є рядком шаблону." + +msgid "" +"Performs the template substitution, returning a new string. *mapping* is " +"any dictionary-like object with keys that match the placeholders in the " +"template. Alternatively, you can provide keyword arguments, where the " +"keywords are the placeholders. When both *mapping* and *kwds* are given and " +"there are duplicates, the placeholders from *kwds* take precedence." +msgstr "" +"Виконує підстановку шаблону, повертаючи новий рядок. *mapping* — це будь-" +"який словниковий об’єкт із ключами, які відповідають заповнювачам у шаблоні. " +"Крім того, ви можете надати аргументи ключових слів, де ключові слова є " +"заповнювачами. Якщо вказано як *mapping*, так і *kwds* і є дублікати, " +"заповнювачі з *kwds* мають пріоритет." + +msgid "" +"Like :meth:`substitute`, except that if placeholders are missing from " +"*mapping* and *kwds*, instead of raising a :exc:`KeyError` exception, the " +"original placeholder will appear in the resulting string intact. Also, " +"unlike with :meth:`substitute`, any other appearances of the ``$`` will " +"simply return ``$`` instead of raising :exc:`ValueError`." +msgstr "" +"Подібно до :meth:`substitute`, за винятком того, що якщо заповнювачі " +"відсутні в *mapping* і *kwds*, замість виклику винятку :exc:`KeyError`, " +"вихідний заповнювач відображатиметься в кінцевому рядку без змін. Крім того, " +"на відміну від :meth:`substitute`, будь-яка інша поява ``$`` просто " +"повертатиме ``$`` замість того, щоб викликати :exc:`ValueError`." + +msgid "" +"While other exceptions may still occur, this method is called \"safe\" " +"because it always tries to return a usable string instead of raising an " +"exception. In another sense, :meth:`safe_substitute` may be anything other " +"than safe, since it will silently ignore malformed templates containing " +"dangling delimiters, unmatched braces, or placeholders that are not valid " +"Python identifiers." +msgstr "" +"Хоча інші винятки все ще можуть виникати, цей метод називається \"безпечним" +"\", оскільки він завжди намагається повернути придатний для використання " +"рядок замість того, щоб викликати виняток. З іншого боку, :meth:" +"`safe_substitute` може бути будь-чим іншим, ніж безпечним, оскільки він " +"мовчки ігноруватиме неправильні шаблони, що містять висячі розділювачі, " +"невідповідні фігурні дужки або заповнювачі, які не є дійсними " +"ідентифікаторами Python." + +msgid "" +"Returns false if the template has invalid placeholders that will cause :meth:" +"`substitute` to raise :exc:`ValueError`." +msgstr "" + +msgid "" +"Returns a list of the valid identifiers in the template, in the order they " +"first appear, ignoring any invalid identifiers." +msgstr "" + +msgid ":class:`Template` instances also provide one public data attribute:" +msgstr "" +"Екземпляри :class:`Template` також надають один публічний атрибут даних:" + +msgid "" +"This is the object passed to the constructor's *template* argument. In " +"general, you shouldn't change it, but read-only access is not enforced." +msgstr "" +"Це об’єкт, переданий аргументу *template* конструктора. Загалом, вам не слід " +"змінювати його, але доступ лише для читання не застосовується." + +msgid "Here is an example of how to use a Template::" +msgstr "Ось приклад використання шаблону::" + +msgid "" +"Advanced usage: you can derive subclasses of :class:`Template` to customize " +"the placeholder syntax, delimiter character, or the entire regular " +"expression used to parse template strings. To do this, you can override " +"these class attributes:" +msgstr "" +"Розширене використання: ви можете створити підкласи :class:`Template`, щоб " +"налаштувати синтаксис заповнювача, символ роздільника або весь регулярний " +"вираз, який використовується для аналізу рядків шаблону. Для цього ви можете " +"змінити ці атрибути класу:" + +msgid "" +"*delimiter* -- This is the literal string describing a placeholder " +"introducing delimiter. The default value is ``$``. Note that this should " +"*not* be a regular expression, as the implementation will call :meth:`re." +"escape` on this string as needed. Note further that you cannot change the " +"delimiter after class creation (i.e. a different delimiter must be set in " +"the subclass's class namespace)." +msgstr "" +"*розділювач* -- це літеральний рядок, що описує заповнювач, що вводить " +"розділювач. Значення за замовчуванням – ``$``. Зауважте, що це *не* повинен " +"бути регулярний вираз, оскільки реалізація викличе :meth:`re.escape` для " +"цього рядка за потреби. Крім того, зауважте, що ви не можете змінити " +"роздільник після створення класу (тобто інший роздільник має бути " +"встановлено в просторі імен класу підкласу)." + +msgid "" +"*idpattern* -- This is the regular expression describing the pattern for non-" +"braced placeholders. The default value is the regular expression ``(?a:[_a-" +"z][_a-z0-9]*)``. If this is given and *braceidpattern* is ``None`` this " +"pattern will also apply to braced placeholders." +msgstr "" +"*idpattern* – це регулярний вираз, що описує шаблон для заповнювачів без " +"дужок. Стандартним значенням є регулярний вираз ``(?a:[_a-z][_a-z0-9]*)``. " +"Якщо це задано і *braceidpattern* має значення ``None``, цей шаблон також " +"застосовуватиметься до заповнювачів у дужках." + +msgid "" +"Since default *flags* is ``re.IGNORECASE``, pattern ``[a-z]`` can match with " +"some non-ASCII characters. That's why we use the local ``a`` flag here." +msgstr "" +"Оскільки типовими *прапорцями* є ``re.IGNORECASE``, шаблон ``[a-z]`` може " +"збігатися з деякими символами, відмінними від ASCII. Ось чому ми " +"використовуємо місцевий прапор ``a`` тут." + +msgid "" +"*braceidpattern* can be used to define separate patterns used inside and " +"outside the braces." +msgstr "" +"*braceidpattern* можна використовувати для визначення окремих шаблонів, що " +"використовуються всередині та поза дужками." + +msgid "" +"*braceidpattern* -- This is like *idpattern* but describes the pattern for " +"braced placeholders. Defaults to ``None`` which means to fall back to " +"*idpattern* (i.e. the same pattern is used both inside and outside braces). " +"If given, this allows you to define different patterns for braced and " +"unbraced placeholders." +msgstr "" +"*braceidpattern* -- Це схоже на *idpattern*, але описує шаблон для " +"заповнювачів у дужках. За замовчуванням встановлено ``None``, що означає " +"повернення до *idpattern* (тобто той самий шаблон використовується як " +"усередині, так і ззовні дужок). Якщо дано, це дозволяє визначати різні " +"шаблони для заповнювачів у дужках і без дужок." + +msgid "" +"*flags* -- The regular expression flags that will be applied when compiling " +"the regular expression used for recognizing substitutions. The default " +"value is ``re.IGNORECASE``. Note that ``re.VERBOSE`` will always be added " +"to the flags, so custom *idpattern*\\ s must follow conventions for verbose " +"regular expressions." +msgstr "" +"*flags* -- прапорці регулярного виразу, які будуть застосовані під час " +"компіляції регулярного виразу, що використовується для розпізнавання " +"підстановок. Значення за замовчуванням – ``re.IGNORECASE``. Зауважте, що " +"``re.VERBOSE`` завжди додаватиметься до прапорців, тому спеціальні " +"*idpattern*\\ мають відповідати угодам для докладних регулярних виразів." + +msgid "" +"Alternatively, you can provide the entire regular expression pattern by " +"overriding the class attribute *pattern*. If you do this, the value must be " +"a regular expression object with four named capturing groups. The capturing " +"groups correspond to the rules given above, along with the invalid " +"placeholder rule:" +msgstr "" +"Крім того, ви можете надати повний шаблон регулярного виразу, перевизначивши " +"атрибут класу *pattern*. Якщо ви це зробите, значення має бути об’єктом " +"регулярного виразу з чотирма іменованими групами захоплення. Групи " +"захоплення відповідають правилам, наведеним вище, а також правилу недійсних " +"заповнювачів:" + +msgid "" +"*escaped* -- This group matches the escape sequence, e.g. ``$$``, in the " +"default pattern." +msgstr "" +"*escaped* -- ця група відповідає escape-послідовності, напр. ``$$``, у " +"шаблоні за замовчуванням." + +msgid "" +"*named* -- This group matches the unbraced placeholder name; it should not " +"include the delimiter in capturing group." +msgstr "" +"*named* -- ця група відповідає імені заповнювача без дужок; він не повинен " +"містити роздільник у групі захоплення." + +msgid "" +"*braced* -- This group matches the brace enclosed placeholder name; it " +"should not include either the delimiter or braces in the capturing group." +msgstr "" +"*в дужках* -- ця група відповідає імені заповнювача в дужках; він не повинен " +"включати ні роздільник, ні дужки в групу захоплення." + +msgid "" +"*invalid* -- This group matches any other delimiter pattern (usually a " +"single delimiter), and it should appear last in the regular expression." +msgstr "" +"*invalid* -- ця група відповідає будь-якому іншому шаблону розділювача " +"(зазвичай один роздільник), і вона має з’являтися останньою в регулярному " +"виразі." + +msgid "" +"The methods on this class will raise :exc:`ValueError` if the pattern " +"matches the template without one of these named groups matching." +msgstr "" + +msgid "Helper functions" +msgstr "Допоміжні функції" + +msgid "" +"Split the argument into words using :meth:`str.split`, capitalize each word " +"using :meth:`str.capitalize`, and join the capitalized words using :meth:" +"`str.join`. If the optional second argument *sep* is absent or ``None``, " +"runs of whitespace characters are replaced by a single space and leading and " +"trailing whitespace are removed, otherwise *sep* is used to split and join " +"the words." +msgstr "" +"Розділіть аргумент на слова за допомогою :meth:`str.split`, кожне слово з " +"великої літери за допомогою :meth:`str.capitalize` і об’єднайте слова з " +"великої літери за допомогою :meth:`str.join`. Якщо необов’язковий другий " +"аргумент *sep* відсутній або ``None``, ряди пробілів замінюються одним " +"пробілом, а пробіли на початку та в кінці видаляються, інакше *sep* " +"використовується для розділення та об’єднання слів." diff --git a/library/stringprep.po b/library/stringprep.po new file mode 100644 index 000000000..8a0e1d734 --- /dev/null +++ b/library/stringprep.po @@ -0,0 +1,190 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`stringprep` --- Internet String Preparation" +msgstr ":mod:`stringprep` --- Підготовка рядка Інтернету" + +msgid "**Source code:** :source:`Lib/stringprep.py`" +msgstr "**Вихідний код:** :source:`Lib/stringprep.py`" + +msgid "" +"When identifying things (such as host names) in the internet, it is often " +"necessary to compare such identifications for \"equality\". Exactly how this " +"comparison is executed may depend on the application domain, e.g. whether it " +"should be case-insensitive or not. It may be also necessary to restrict the " +"possible identifications, to allow only identifications consisting of " +"\"printable\" characters." +msgstr "" +"Під час ідентифікації речей (наприклад, імен хостів) в Інтернеті часто " +"необхідно порівнювати такі ідентифікації на \"рівність\". Те, як саме " +"виконується це порівняння, може залежати від домену програми, напр. чи має " +"він бути нечутливим до регістру чи ні. Також може знадобитися обмежити " +"можливі ідентифікації, щоб дозволити лише ідентифікації, що складаються з " +"\"друкованих\" символів." + +msgid "" +":rfc:`3454` defines a procedure for \"preparing\" Unicode strings in " +"internet protocols. Before passing strings onto the wire, they are processed " +"with the preparation procedure, after which they have a certain normalized " +"form. The RFC defines a set of tables, which can be combined into profiles. " +"Each profile must define which tables it uses, and what other optional parts " +"of the ``stringprep`` procedure are part of the profile. One example of a " +"``stringprep`` profile is ``nameprep``, which is used for internationalized " +"domain names." +msgstr "" +":rfc:`3454` визначає процедуру \"підготовки\" рядків Unicode в інтернет-" +"протоколах. Перед пропусканням струн на дріт їх обробляють процедурою " +"підготовки, після чого вони мають певну нормовану форму. RFC визначає набір " +"таблиць, які можна об’єднати в профілі. Кожен профіль має визначати, які " +"таблиці він використовує, і які інші додаткові частини процедури " +"``stringprep`` є частиною профілю. Одним із прикладів профілю ``stringprep`` " +"є ``nameprep``, який використовується для інтернаціоналізованих доменних " +"імен." + +msgid "" +"The module :mod:`stringprep` only exposes the tables from :rfc:`3454`. As " +"these tables would be very large to represent them as dictionaries or lists, " +"the module uses the Unicode character database internally. The module source " +"code itself was generated using the ``mkstringprep.py`` utility." +msgstr "" +"Модуль :mod:`stringprep` відкриває лише таблиці з :rfc:`3454`. Оскільки ці " +"таблиці були б дуже великими, щоб представити їх у вигляді словників або " +"списків, модуль використовує внутрішню базу даних символів Unicode. Сам " +"вихідний код модуля було згенеровано за допомогою утиліти ``mkstringprep." +"py``." + +msgid "" +"As a result, these tables are exposed as functions, not as data structures. " +"There are two kinds of tables in the RFC: sets and mappings. For a set, :mod:" +"`stringprep` provides the \"characteristic function\", i.e. a function that " +"returns ``True`` if the parameter is part of the set. For mappings, it " +"provides the mapping function: given the key, it returns the associated " +"value. Below is a list of all functions available in the module." +msgstr "" +"У результаті ці таблиці представлені як функції, а не як структури даних. У " +"RFC існує два види таблиць: набори та відображення. Для набору :mod:" +"`stringprep` надає \"характеристичну функцію\", тобто функцію, яка повертає " +"``True``, якщо параметр є частиною набору. Для відображень він надає функцію " +"відображення: за допомогою ключа повертає відповідне значення. Нижче " +"наведено список усіх функцій, доступних у модулі." + +msgid "" +"Determine whether *code* is in tableA.1 (Unassigned code points in Unicode " +"3.2)." +msgstr "" +"Визначте, чи є *код* у таблиці A.1 (непризначені кодові точки в Unicode 3.2)." + +msgid "Determine whether *code* is in tableB.1 (Commonly mapped to nothing)." +msgstr "" +"Визначте, чи міститься *код* у таблиці B.1 (зазвичай не відображається)." + +msgid "" +"Return the mapped value for *code* according to tableB.2 (Mapping for case-" +"folding used with NFKC)." +msgstr "" +"Повертає зіставлене значення для *коду* відповідно до таблиці B.2 " +"(відповідність для згортання регістру, що використовується з NFKC)." + +msgid "" +"Return the mapped value for *code* according to tableB.3 (Mapping for case-" +"folding used with no normalization)." +msgstr "" +"Повертає відображене значення для *коду* відповідно до таблиці B.3 " +"(відображення для згортання регістру використовується без нормалізації)." + +msgid "Determine whether *code* is in tableC.1.1 (ASCII space characters)." +msgstr "Визначте, чи міститься *код* у таблиці C.1.1 (символи ASCII)." + +msgid "" +"Determine whether *code* is in tableC.1.2 (Non-ASCII space characters)." +msgstr "Визначте, чи є *код* у таблиці C.1.2 (символи, що не є ASCII)." + +msgid "" +"Determine whether *code* is in tableC.1 (Space characters, union of C.1.1 " +"and C.1.2)." +msgstr "" +"Визначте, чи є *код* у таблиці C.1 (пробіли, об’єднання C.1.1 і C.1.2)." + +msgid "Determine whether *code* is in tableC.2.1 (ASCII control characters)." +msgstr "Визначте, чи є *код* у таблиці C.2.1 (контрольні символи ASCII)." + +msgid "" +"Determine whether *code* is in tableC.2.2 (Non-ASCII control characters)." +msgstr "Визначте, чи є *код* у таблиці C.2.2 (керуючі символи, що не є ASCII)." + +msgid "" +"Determine whether *code* is in tableC.2 (Control characters, union of C.2.1 " +"and C.2.2)." +msgstr "" +"Визначте, чи є *код* у таблиці C.2 (контрольні символи, об’єднання C.2.1 і " +"C.2.2)." + +msgid "Determine whether *code* is in tableC.3 (Private use)." +msgstr "Визначте, чи є *код* у таблиці C.3 (приватне використання)." + +msgid "Determine whether *code* is in tableC.4 (Non-character code points)." +msgstr "Визначте, чи є *код* у таблиці C.4 (несимвольні кодові точки)." + +msgid "Determine whether *code* is in tableC.5 (Surrogate codes)." +msgstr "Визначте, чи є *код* у таблиці C.5 (Сурогатні коди)." + +msgid "" +"Determine whether *code* is in tableC.6 (Inappropriate for plain text)." +msgstr "" +"Визначте, чи міститься *код* у таблиці C.6 (неприйнятний для звичайного " +"тексту)." + +msgid "" +"Determine whether *code* is in tableC.7 (Inappropriate for canonical " +"representation)." +msgstr "" +"Визначте, чи є *код* у таблиці C.7 (невідповідний для канонічного " +"представлення)." + +msgid "" +"Determine whether *code* is in tableC.8 (Change display properties or are " +"deprecated)." +msgstr "" +"Визначте, чи є *код* у таблиці C.8 (змінити властивості відображення або " +"застаріли)." + +msgid "Determine whether *code* is in tableC.9 (Tagging characters)." +msgstr "Визначте, чи є *код* у таблиці C.9 (символи тегів)." + +msgid "" +"Determine whether *code* is in tableD.1 (Characters with bidirectional " +"property \"R\" or \"AL\")." +msgstr "" +"Визначте, чи є *код* у таблиці D.1 (символи з двонаправленою властивістю \"R" +"\" або \"AL\")." + +msgid "" +"Determine whether *code* is in tableD.2 (Characters with bidirectional " +"property \"L\")." +msgstr "" +"Визначте, чи є *код* у таблиці D.2 (Символи з двонаправленою властивістю \"L" +"\")." diff --git a/library/struct.po b/library/struct.po new file mode 100644 index 000000000..53b111a3d --- /dev/null +++ b/library/struct.po @@ -0,0 +1,824 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`struct` --- Interpret bytes as packed binary data" +msgstr ":mod:`struct` --- Інтерпретувати байти як упаковані двійкові дані" + +msgid "**Source code:** :source:`Lib/struct.py`" +msgstr "**Вихідний код:** :source:`Lib/struct.py`" + +msgid "" +"This module performs conversions between Python values and C structs " +"represented as Python :class:`bytes` objects. This can be used in handling " +"binary data stored in files or from network connections, among other " +"sources. It uses :ref:`struct-format-strings` as compact descriptions of " +"the layout of the C structs and the intended conversion to/from Python " +"values." +msgstr "" +"Цей модуль виконує перетворення між значеннями Python і структурами C, " +"представленими як об’єкти Python :class:`bytes`. Це можна використовувати " +"для обробки двійкових даних, що зберігаються у файлах або з мережевих " +"з’єднань, серед інших джерел. Він використовує :ref:`struct-format-strings` " +"як компактний опис компонування структур C і передбачуваного перетворення в/" +"з значень Python." + +msgid "" +"By default, the result of packing a given C struct includes pad bytes in " +"order to maintain proper alignment for the C types involved; similarly, " +"alignment is taken into account when unpacking. This behavior is chosen so " +"that the bytes of a packed struct correspond exactly to the layout in memory " +"of the corresponding C struct. To handle platform-independent data formats " +"or omit implicit pad bytes, use ``standard`` size and alignment instead of " +"``native`` size and alignment: see :ref:`struct-alignment` for details." +msgstr "" +"За замовчуванням результат упаковки заданої структури C включає байти " +"заповнення, щоб підтримувати належне вирівнювання для задіяних типів C; так " +"само центрування враховується при розпакуванні. Ця поведінка вибирається " +"так, щоб байти упакованої структури точно відповідали макету в пам’яті " +"відповідної структури C. Щоб обробляти незалежні від платформи формати даних " +"або пропускати неявні байти, використовуйте ``стандартний`` розмір і " +"вирівнювання замість ``власного`` розміру та вирівнювання: подробиці див. :" +"ref:`struct-alignment`." + +msgid "" +"Several :mod:`struct` functions (and methods of :class:`Struct`) take a " +"*buffer* argument. This refers to objects that implement the :ref:" +"`bufferobjects` and provide either a readable or read-writable buffer. The " +"most common types used for that purpose are :class:`bytes` and :class:" +"`bytearray`, but many other types that can be viewed as an array of bytes " +"implement the buffer protocol, so that they can be read/filled without " +"additional copying from a :class:`bytes` object." +msgstr "" +"Кілька функцій :mod:`struct` (та методи :class:`Struct`) приймають аргумент " +"*buffer*. Це відноситься до об’єктів, які реалізують :ref:`bufferobjects` і " +"забезпечують доступний для читання чи запису буфер. Найпоширенішими типами, " +"які використовуються для цієї мети, є :class:`bytes` і :class:`bytearray`, " +"але багато інших типів, які можна розглядати як масив байтів, реалізують " +"протокол буфера, тому їх можна читати/заповнювати без додаткове копіювання з " +"об'єкта :class:`bytes`." + +msgid "Functions and Exceptions" +msgstr "Функції та винятки" + +msgid "The module defines the following exception and functions:" +msgstr "Модуль визначає такі винятки та функції:" + +msgid "" +"Exception raised on various occasions; argument is a string describing what " +"is wrong." +msgstr "" +"Виняток, що виникає з різних приводів; аргумент - це рядок, що описує те, що " +"є неправильним." + +msgid "" +"Return a bytes object containing the values *v1*, *v2*, ... packed according " +"to the format string *format*. The arguments must match the values required " +"by the format exactly." +msgstr "" +"Повертає об’єкт bytes, що містить значення *v1*, *v2*, ... упаковані " +"відповідно до рядка формату *format*. Аргументи мають точно відповідати " +"значенням, які вимагає формат." + +msgid "" +"Pack the values *v1*, *v2*, ... according to the format string *format* and " +"write the packed bytes into the writable buffer *buffer* starting at " +"position *offset*. Note that *offset* is a required argument." +msgstr "" +"Упакуйте значення *v1*, *v2*, ... відповідно до рядка формату *format* і " +"запишіть упаковані байти в записуваний буфер *buffer*, починаючи з позиції " +"*offset*. Зауважте, що *offset* є обов’язковим аргументом." + +msgid "" +"Unpack from the buffer *buffer* (presumably packed by ``pack(format, ...)``) " +"according to the format string *format*. The result is a tuple even if it " +"contains exactly one item. The buffer's size in bytes must match the size " +"required by the format, as reflected by :func:`calcsize`." +msgstr "" +"Розпакуйте з буфера *buffer* (імовірно запакованого ``pack(format, ...)``) " +"відповідно до рядка формату *format*. Результатом є кортеж, навіть якщо він " +"містить рівно один елемент. Розмір буфера в байтах має відповідати розміру, " +"який вимагає формат, як це відображається :func:`calcsize`." + +msgid "" +"Unpack from *buffer* starting at position *offset*, according to the format " +"string *format*. The result is a tuple even if it contains exactly one " +"item. The buffer's size in bytes, starting at position *offset*, must be at " +"least the size required by the format, as reflected by :func:`calcsize`." +msgstr "" +"Розпакуйте з *buffer*, починаючи з позиції *offset*, відповідно до рядка " +"формату *format*. Результатом є кортеж, навіть якщо він містить рівно один " +"елемент. Розмір буфера в байтах, починаючи з позиції *offset*, має бути " +"принаймні розміром, який вимагається форматом, що відображається :func:" +"`calcsize`." + +msgid "" +"Iteratively unpack from the buffer *buffer* according to the format string " +"*format*. This function returns an iterator which will read equally sized " +"chunks from the buffer until all its contents have been consumed. The " +"buffer's size in bytes must be a multiple of the size required by the " +"format, as reflected by :func:`calcsize`." +msgstr "" + +msgid "Each iteration yields a tuple as specified by the format string." +msgstr "Кожна ітерація дає кортеж, як зазначено в рядку формату." + +msgid "" +"Return the size of the struct (and hence of the bytes object produced by " +"``pack(format, ...)``) corresponding to the format string *format*." +msgstr "" +"Повертає розмір структури (і, отже, об’єкта bytes, створеного " +"``pack(format, ...)``), що відповідає рядку формату *format*." + +msgid "Format Strings" +msgstr "Форматувати рядки" + +msgid "" +"Format strings are the mechanism used to specify the expected layout when " +"packing and unpacking data. They are built up from :ref:`format-" +"characters`, which specify the type of data being packed/unpacked. In " +"addition, there are special characters for controlling the :ref:`struct-" +"alignment`." +msgstr "" +"Рядки формату — це механізм, який використовується для визначення " +"очікуваного макета під час пакування та розпакування даних. Вони складаються " +"з :ref:`format-characters`, які вказують тип даних, що пакуються/" +"розпаковуються. Крім того, існують спеціальні символи для керування :ref:" +"`struct-alignment`." + +msgid "Byte Order, Size, and Alignment" +msgstr "Порядок байтів, розмір і вирівнювання" + +msgid "" +"By default, C types are represented in the machine's native format and byte " +"order, and properly aligned by skipping pad bytes if necessary (according to " +"the rules used by the C compiler)." +msgstr "" +"За замовчуванням типи C представлені у власному форматі машини та порядку " +"байтів і належним чином вирівняні шляхом пропуску байтів, якщо необхідно " +"(відповідно до правил, які використовує компілятор C)." + +msgid "" +"Alternatively, the first character of the format string can be used to " +"indicate the byte order, size and alignment of the packed data, according to " +"the following table:" +msgstr "" +"Крім того, перший символ рядка формату можна використовувати для вказівки " +"порядку байтів, розміру та вирівнювання упакованих даних згідно з наведеною " +"нижче таблицею:" + +msgid "Character" +msgstr "характер" + +msgid "Byte order" +msgstr "Порядок байтів" + +msgid "Size" +msgstr "Розмір" + +msgid "Alignment" +msgstr "Вирівнювання" + +msgid "``@``" +msgstr "``@``" + +msgid "native" +msgstr "рідний" + +msgid "``=``" +msgstr "``=``" + +msgid "standard" +msgstr "стандарт" + +msgid "none" +msgstr "немає" + +msgid "``<``" +msgstr "``<``" + +msgid "little-endian" +msgstr "маленький байт" + +msgid "``>``" +msgstr "``>``" + +msgid "big-endian" +msgstr "великий байт" + +msgid "``!``" +msgstr "``!``" + +msgid "network (= big-endian)" +msgstr "мережа (= порядок байтів)" + +msgid "If the first character is not one of these, ``'@'`` is assumed." +msgstr "Якщо перший символ не є одним із цих, передбачається ``'@'``." + +msgid "" +"Native byte order is big-endian or little-endian, depending on the host " +"system. For example, Intel x86 and AMD64 (x86-64) are little-endian; IBM z " +"and most legacy architectures are big-endian; and ARM, RISC-V and IBM Power " +"feature switchable endianness (bi-endian, though the former two are nearly " +"always little-endian in practice). Use ``sys.byteorder`` to check the " +"endianness of your system." +msgstr "" +"Власний порядок байтів — старший або маленький, залежно від хост-системи. " +"Наприклад, Intel x86 і AMD64 (x86-64) мають порядок байтів; IBM z і " +"більшість застарілих архітектур мають порядок байтів; а ARM, RISC-V і IBM " +"Power мають можливість перемикання порядку байтів (bi-endian, хоча на " +"практиці перші два майже завжди мають порядковий порядок байтів). " +"Використовуйте ``sys.byteorder``, щоб перевірити байтовий порядок вашої " +"системи." + +msgid "" +"Native size and alignment are determined using the C compiler's ``sizeof`` " +"expression. This is always combined with native byte order." +msgstr "" +"Власний розмір і вирівнювання визначаються за допомогою виразу ``sizeof`` " +"компілятора C. Це завжди поєднується з рідним порядком байтів." + +msgid "" +"Standard size depends only on the format character; see the table in the :" +"ref:`format-characters` section." +msgstr "" +"Стандартний розмір залежить тільки від символу формату; див. таблицю в " +"розділі :ref:`format-characters`." + +msgid "" +"Note the difference between ``'@'`` and ``'='``: both use native byte order, " +"but the size and alignment of the latter is standardized." +msgstr "" +"Зверніть увагу на різницю між ``'@'`` і ``'='``: обидва використовують " +"власний порядок байтів, але розмір і вирівнювання останнього стандартизовані." + +msgid "" +"The form ``'!'`` represents the network byte order which is always big-" +"endian as defined in `IETF RFC 1700 `_." +msgstr "" +"Форма ``'!'`` представляє мережевий порядок байтів, який завжди є старшим " +"байтом, як визначено в `IETF RFC 1700 `_." + +msgid "" +"There is no way to indicate non-native byte order (force byte-swapping); use " +"the appropriate choice of ``'<'`` or ``'>'``." +msgstr "" +"Немає способу вказати невласний порядок байтів (примусова заміна байтів); " +"використовуйте відповідний вибір ``' <'`` or ``'> ''``." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"Padding is only automatically added between successive structure members. No " +"padding is added at the beginning or the end of the encoded struct." +msgstr "" +"Відступи автоматично додаються лише між послідовними елементами структури. " +"Заповнення не додається на початку або в кінці закодованої структури." + +msgid "" +"No padding is added when using non-native size and alignment, e.g. with '<', " +"'>', '=', and '!'." +msgstr "" +"Під час використання невласного розміру та вирівнювання відступи не " +"додаються, напр. з \"<', '>\", \"=\" і \"!\"." + +msgid "" +"To align the end of a structure to the alignment requirement of a particular " +"type, end the format with the code for that type with a repeat count of " +"zero. See :ref:`struct-examples`." +msgstr "" +"Щоб вирівняти кінець структури відповідно до вимог вирівнювання певного " +"типу, завершіть формат кодом для цього типу з нульовою кількістю повторів. " +"Див. :ref:`struct-examples`." + +msgid "Format Characters" +msgstr "Формат символів" + +msgid "" +"Format characters have the following meaning; the conversion between C and " +"Python values should be obvious given their types. The 'Standard size' " +"column refers to the size of the packed value in bytes when using standard " +"size; that is, when the format string starts with one of ``'<'``, ``'>'``, " +"``'!'`` or ``'='``. When using native size, the size of the packed value is " +"platform-dependent." +msgstr "" +"Символи форматування мають таке значення; перетворення між значеннями C і " +"Python повинно бути очевидним, враховуючи їхні типи. Стовпець \"Стандартний " +"розмір\" стосується розміру упакованого значення в байтах при використанні " +"стандартного розміру; тобто, коли форматний рядок починається з одного з ``' " +"<'``, ``'> ''``, ``'!''`` або ``'='``. При використанні рідного розміру " +"розмір упакованого значення залежить від платформи." + +msgid "Format" +msgstr "Формат" + +msgid "C Type" +msgstr "C Тип" + +msgid "Python type" +msgstr "Тип Python" + +msgid "Standard size" +msgstr "Стандартний розмір" + +msgid "Notes" +msgstr "Примітки" + +msgid "``x``" +msgstr "``x``" + +msgid "pad byte" +msgstr "pad byte" + +msgid "no value" +msgstr "немає значення" + +msgid "\\(7)" +msgstr "\\(7)" + +msgid "``c``" +msgstr "``c``" + +msgid ":c:expr:`char`" +msgstr "" + +msgid "bytes of length 1" +msgstr "байти довжиною 1" + +msgid "1" +msgstr "1" + +msgid "``b``" +msgstr "``b``" + +msgid ":c:expr:`signed char`" +msgstr "" + +msgid "integer" +msgstr "ціле число" + +msgid "\\(1), \\(2)" +msgstr "\\(1), \\(2)" + +msgid "``B``" +msgstr "``B``" + +msgid ":c:expr:`unsigned char`" +msgstr "" + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "``?``" +msgstr "``?``" + +msgid ":c:expr:`_Bool`" +msgstr "" + +msgid "bool" +msgstr "bool" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``h``" +msgstr "``h``" + +msgid ":c:expr:`short`" +msgstr "" + +msgid "2" +msgstr "2" + +msgid "``H``" +msgstr "``H``" + +msgid ":c:expr:`unsigned short`" +msgstr "" + +msgid "``i``" +msgstr "``я``" + +msgid ":c:expr:`int`" +msgstr "" + +msgid "4" +msgstr "4" + +msgid "``I``" +msgstr "``Я``" + +msgid ":c:expr:`unsigned int`" +msgstr "" + +msgid "``l``" +msgstr "``l``" + +msgid ":c:expr:`long`" +msgstr "" + +msgid "``L``" +msgstr "``L``" + +msgid ":c:expr:`unsigned long`" +msgstr "" + +msgid "``q``" +msgstr "``q``" + +msgid ":c:expr:`long long`" +msgstr "" + +msgid "8" +msgstr "8" + +msgid "``Q``" +msgstr "``Q``" + +msgid ":c:expr:`unsigned long long`" +msgstr "" + +msgid "``n``" +msgstr "``n``" + +msgid ":c:expr:`ssize_t`" +msgstr "" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "``N``" +msgstr "``N``" + +msgid ":c:expr:`size_t`" +msgstr "" + +msgid "``e``" +msgstr "``e``" + +msgid "\\(6)" +msgstr "\\(6)" + +msgid "float" +msgstr "плавати" + +msgid "\\(4)" +msgstr "\\(4)" + +msgid "``f``" +msgstr "``f``" + +msgid ":c:expr:`float`" +msgstr "" + +msgid "``d``" +msgstr "``d``" + +msgid ":c:expr:`double`" +msgstr "" + +msgid "``s``" +msgstr "``s``" + +msgid ":c:expr:`char[]`" +msgstr "" + +msgid "bytes" +msgstr "байтів" + +msgid "``p``" +msgstr "``p``" + +msgid "``P``" +msgstr "``P``" + +msgid ":c:expr:`void \\*`" +msgstr "" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "Added support for the ``'n'`` and ``'N'`` formats." +msgstr "Додано підтримку форматів ``'n'`` і ``'N'``." + +msgid "Added support for the ``'e'`` format." +msgstr "Додано підтримку формату ``'e''``." + +msgid "" +"The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined " +"by C99. If this type is not available, it is simulated using a :c:expr:" +"`char`. In standard mode, it is always represented by one byte." +msgstr "" + +msgid "" +"When attempting to pack a non-integer using any of the integer conversion " +"codes, if the non-integer has a :meth:`__index__` method then that method is " +"called to convert the argument to an integer before packing." +msgstr "" +"Під час спроби запакувати неціле число за допомогою будь-якого з кодів " +"перетворення цілого числа, якщо неціле число має метод :meth:`__index__`, " +"тоді цей метод викликається для перетворення аргументу в ціле перед " +"пакуванням." + +msgid "Added use of the :meth:`__index__` method for non-integers." +msgstr "Додано використання методу :meth:`__index__` для нецілих чисел." + +msgid "" +"The ``'n'`` and ``'N'`` conversion codes are only available for the native " +"size (selected as the default or with the ``'@'`` byte order character). For " +"the standard size, you can use whichever of the other integer formats fits " +"your application." +msgstr "" +"Коди перетворення ``'n'`` і ``'N'`` доступні лише для рідного розміру " +"(вибрано як типовий або з символом порядку байтів ``'@''``). Для " +"стандартного розміру ви можете використовувати будь-який з інших форматів " +"цілих чисел, який підходить для вашої програми." + +msgid "" +"For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " +"representation uses the IEEE 754 binary32, binary64 or binary16 format (for " +"``'f'``, ``'d'`` or ``'e'`` respectively), regardless of the floating-point " +"format used by the platform." +msgstr "" +"Для кодів перетворення ``'f'``, ``'d'`` і ``'e'`` упаковане представлення " +"використовує формат IEEE 754 binary32, binary64 або binary16 (для ``'f''`` , " +"``'d'`` або ``'e'`` відповідно), незалежно від формату з плаваючою комою, " +"який використовується платформою." + +msgid "" +"The ``'P'`` format character is only available for the native byte ordering " +"(selected as the default or with the ``'@'`` byte order character). The byte " +"order character ``'='`` chooses to use little- or big-endian ordering based " +"on the host system. The struct module does not interpret this as native " +"ordering, so the ``'P'`` format is not available." +msgstr "" +"Символ формату ``'P'`` доступний лише для власного порядку байтів (вибрано " +"як типовий або з символом порядку байтів ``'@'``). Символ порядку байтів " +"``'='`` вибирає порядок використання малого або великого порядку байтів на " +"основі головної системи. Модуль struct не інтерпретує це як рідне " +"впорядкування, тому формат ``'P'`` недоступний." + +msgid "" +"The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " +"revision of the `IEEE 754 standard `_. It has a sign " +"bit, a 5-bit exponent and 11-bit precision (with 10 bits explicitly stored), " +"and can represent numbers between approximately ``6.1e-05`` and ``6.5e+04`` " +"at full precision. This type is not widely supported by C compilers: on a " +"typical machine, an unsigned short can be used for storage, but not for math " +"operations. See the Wikipedia page on the `half-precision floating-point " +"format `_ for more information." +msgstr "" +"Двійковий тип16 IEEE 754 із \"половиною точності\" було введено в редакції " +"2008 року `стандарту IEEE 754 `_. Він має знаковий біт, " +"5-бітний експоненту та 11-бітну точність (з 10 бітами, збереженими явно), і " +"може представляти числа приблизно від ``6.1e-05`` до ``6.5e+04`` з повною " +"точністю. . Цей тип не широко підтримується компіляторами C: на типовій " +"машині беззнаковий короткий можна використовувати для зберігання, але не для " +"математичних операцій. Перегляньте сторінку Вікіпедії про `формат числа з " +"плаваючою комою половинної точності `_ для отримання " +"додаткової інформації." + +msgid "For padding, ``x`` inserts null bytes." +msgstr "" + +msgid "" +"A format character may be preceded by an integral repeat count. For " +"example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." +msgstr "" +"Символу форматування може передувати цілий підрахунок повторів. Наприклад, " +"рядок формату ``'4h''`` означає те саме, що ``'hhhh'``." + +msgid "" +"Whitespace characters between formats are ignored; a count and its format " +"must not contain whitespace though." +msgstr "" +"Пробіли між форматами ігноруються; кількість і його формат не повинні " +"містити пробіли." + +msgid "" +"For the ``'s'`` format character, the count is interpreted as the length of " +"the bytes, not a repeat count like for the other format characters; for " +"example, ``'10s'`` means a single 10-byte string, while ``'10c'`` means 10 " +"characters. If a count is not given, it defaults to 1. For packing, the " +"string is truncated or padded with null bytes as appropriate to make it fit. " +"For unpacking, the resulting bytes object always has exactly the specified " +"number of bytes. As a special case, ``'0s'`` means a single, empty string " +"(while ``'0c'`` means 0 characters)." +msgstr "" +"Для символу формату ``'s`` кількість інтерпретується як довжина байтів, а не " +"кількість повторів, як для інших символів формату; наприклад, ``'10s'`` " +"означає один 10-байтовий рядок, тоді як ``'10c''`` означає 10 символів. Якщо " +"підрахунок не вказано, за замовчуванням він дорівнює 1. Для упаковки рядок " +"скорочується або доповнюється нульовими байтами відповідно до того, щоб " +"зробити його відповідним. Для розпакування отриманий об’єкт bytes завжди має " +"точно вказану кількість байтів. Як окремий випадок, \"0s\" означає один " +"порожній рядок (тоді як \"0c\" означає 0 символів)." + +msgid "" +"When packing a value ``x`` using one of the integer formats (``'b'``, " +"``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, ``'q'``, " +"``'Q'``), if ``x`` is outside the valid range for that format then :exc:" +"`struct.error` is raised." +msgstr "" +"Під час пакування значення ``x`` з використанням одного з цілочисельних " +"форматів (``'b'``, ``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, " +"``'L'``, ``'q'``, ``'Q'``), якщо ``x`` знаходиться за межами допустимого " +"діапазону для цього формату, тоді виникає :exc:`struct.error`." + +msgid "" +"Previously, some of the integer formats wrapped out-of-range values and " +"raised :exc:`DeprecationWarning` instead of :exc:`struct.error`." +msgstr "" +"Раніше деякі цілочисельні формати обгортали значення поза діапазоном і " +"викликали :exc:`DeprecationWarning` замість :exc:`struct.error`." + +msgid "" +"The ``'p'`` format character encodes a \"Pascal string\", meaning a short " +"variable-length string stored in a *fixed number of bytes*, given by the " +"count. The first byte stored is the length of the string, or 255, whichever " +"is smaller. The bytes of the string follow. If the string passed in to :" +"func:`pack` is too long (longer than the count minus 1), only the leading " +"``count-1`` bytes of the string are stored. If the string is shorter than " +"``count-1``, it is padded with null bytes so that exactly count bytes in all " +"are used. Note that for :func:`unpack`, the ``'p'`` format character " +"consumes ``count`` bytes, but that the string returned can never contain " +"more than 255 bytes." +msgstr "" +"Символ формату ``'p'`` кодує \"рядок Pascal\", що означає короткий рядок " +"змінної довжини, що зберігається у *фіксованій кількості байтів*, визначеній " +"підрахунком. Перший збережений байт — це довжина рядка або 255, залежно від " +"того, що менше. Далі йдуть байти рядка. Якщо рядок, переданий у :func:" +"`pack`, задовгий (довший за лічильник мінус 1), зберігаються лише перші " +"байти ``count-1`` рядка. Якщо рядок коротший за ``count-1``, він " +"доповнюється нульовими байтами, щоб використати рівно кількість байтів. " +"Зверніть увагу, що для :func:`unpack` символ формату ``'p'`` споживає " +"``count`` байтів, але що повернутий рядок ніколи не може містити більше 255 " +"байтів." + +msgid "" +"For the ``'?'`` format character, the return value is either :const:`True` " +"or :const:`False`. When packing, the truth value of the argument object is " +"used. Either 0 or 1 in the native or standard bool representation will be " +"packed, and any non-zero value will be ``True`` when unpacking." +msgstr "" +"Для символу формату ``'?'`` повертається значення :const:`True` або :const:" +"`False`. При упаковці використовується значення істинності об'єкта " +"аргументу. Буде запаковано 0 або 1 у нативному або стандартному логічному " +"представленні, а будь-яке ненульове значення під час розпакування буде " +"``True``." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"All examples assume a native byte order, size, and alignment with a big-" +"endian machine." +msgstr "" +"Усі приклади передбачають власний порядок байтів, розмір і вирівнювання з " +"машиною старшого порядку." + +msgid "A basic example of packing/unpacking three integers::" +msgstr "Базовий приклад пакування/розпакування трьох цілих чисел::" + +msgid "" +"Unpacked fields can be named by assigning them to variables or by wrapping " +"the result in a named tuple::" +msgstr "" +"Розпаковані поля можна назвати, призначивши їх змінним або загорнувши " +"результат у іменований кортеж::" + +msgid "" +"The ordering of format characters may have an impact on size since the " +"padding needed to satisfy alignment requirements is different::" +msgstr "" +"Порядок символів формату може впливати на розмір, оскільки відступи, " +"необхідні для задоволення вимог вирівнювання, відрізняються:" + +msgid "" +"The following format ``'llh0l'`` specifies two pad bytes at the end, " +"assuming longs are aligned on 4-byte boundaries::" +msgstr "" +"Наступний формат ``'llh0l'`` вказує два байти заповнення в кінці, " +"припускаючи, що longs вирівняно на 4-байтових границях::" + +msgid "" +"This only works when native size and alignment are in effect; standard size " +"and alignment does not enforce any alignment." +msgstr "" +"Це працює лише тоді, коли діють оригінальний розмір і вирівнювання; " +"стандартний розмір і вирівнювання не забезпечують жодного вирівнювання." + +msgid "Module :mod:`array`" +msgstr "Модуль :mod:`array`" + +msgid "Packed binary storage of homogeneous data." +msgstr "Упаковане двійкове сховище однорідних даних." + +msgid "Module :mod:`xdrlib`" +msgstr "Модуль :mod:`xdrlib`" + +msgid "Packing and unpacking of XDR data." +msgstr "Пакування та розпакування даних XDR." + +msgid "Classes" +msgstr "Класи" + +msgid "The :mod:`struct` module also defines the following type:" +msgstr "Модуль :mod:`struct` також визначає наступний тип:" + +msgid "" +"Return a new Struct object which writes and reads binary data according to " +"the format string *format*. Creating a Struct object once and calling its " +"methods is more efficient than calling the :mod:`struct` functions with the " +"same format since the format string only needs to be compiled once." +msgstr "" +"Повертає новий об’єкт Struct, який записує та читає двійкові дані відповідно " +"до рядка формату *format*. Одноразове створення об’єкта Struct і виклик його " +"методів є більш ефективним, ніж виклик функцій :mod:`struct` з тим самим " +"форматом, оскільки рядок формату потрібно скомпілювати лише один раз." + +msgid "" +"The compiled versions of the most recent format strings passed to :class:" +"`Struct` and the module-level functions are cached, so programs that use " +"only a few format strings needn't worry about reusing a single :class:" +"`Struct` instance." +msgstr "" +"Зібрані версії найновіших рядків формату, переданих до :class:`Struct`, і " +"функцій рівня модуля кешуються, тому програмам, які використовують лише " +"кілька рядків формату, не потрібно турбуватися про повторне використання " +"окремого екземпляра :class:`Struct` ." + +msgid "Compiled Struct objects support the following methods and attributes:" +msgstr "Зкомпільовані об’єкти Struct підтримують наступні методи та атрибути:" + +msgid "" +"Identical to the :func:`pack` function, using the compiled format. " +"(``len(result)`` will equal :attr:`size`.)" +msgstr "" +"Ідентична функції :func:`pack`, використовуючи скомпільований формат. " +"(``len(result)`` дорівнюватиме :attr:`size`.)" + +msgid "Identical to the :func:`pack_into` function, using the compiled format." +msgstr "" +"Ідентична функції :func:`pack_into`, використовуючи скомпільований формат." + +msgid "" +"Identical to the :func:`unpack` function, using the compiled format. The " +"buffer's size in bytes must equal :attr:`size`." +msgstr "" +"Ідентична функції :func:`unpack`, використовуючи скомпільований формат. " +"Розмір буфера в байтах має дорівнювати :attr:`size`." + +msgid "" +"Identical to the :func:`unpack_from` function, using the compiled format. " +"The buffer's size in bytes, starting at position *offset*, must be at least :" +"attr:`size`." +msgstr "" +"Ідентична функції :func:`unpack_from`, використовуючи скомпільований формат. " +"Розмір буфера в байтах, починаючи з позиції *offset*, має бути не менше :" +"attr:`size`." + +msgid "" +"Identical to the :func:`iter_unpack` function, using the compiled format. " +"The buffer's size in bytes must be a multiple of :attr:`size`." +msgstr "" +"Ідентична функції :func:`iter_unpack`, використовуючи скомпільований формат. " +"Розмір буфера в байтах має бути кратним :attr:`size`." + +msgid "The format string used to construct this Struct object." +msgstr "" +"Рядок формату, який використовується для створення цього об’єкта Struct." + +msgid "The format string type is now :class:`str` instead of :class:`bytes`." +msgstr "Тип рядка формату тепер :class:`str` замість :class:`bytes`." + +msgid "" +"The calculated size of the struct (and hence of the bytes object produced by " +"the :meth:`pack` method) corresponding to :attr:`format`." +msgstr "" +"Розрахований розмір структури (і, отже, об’єкта bytes, створеного методом :" +"meth:`pack`), що відповідає :attr:`format`." diff --git a/library/subprocess.po b/library/subprocess.po new file mode 100644 index 000000000..092d18e61 --- /dev/null +++ b/library/subprocess.po @@ -0,0 +1,2095 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`subprocess` --- Subprocess management" +msgstr ":mod:`subprocess` --- Керування підпроцесами" + +msgid "**Source code:** :source:`Lib/subprocess.py`" +msgstr "**Вихідний код:** :source:`Lib/subprocess.py`" + +msgid "" +"The :mod:`subprocess` module allows you to spawn new processes, connect to " +"their input/output/error pipes, and obtain their return codes. This module " +"intends to replace several older modules and functions::" +msgstr "" +"Модуль :mod:`subprocess` дозволяє створювати нові процеси, підключатися до " +"їхніх каналів вводу/виводу/помилок і отримувати їхні коди повернення. Цей " +"модуль призначений для заміни кількох старих модулів і функцій:" + +msgid "" +"Information about how the :mod:`subprocess` module can be used to replace " +"these modules and functions can be found in the following sections." +msgstr "" +"Інформацію про те, як модуль :mod:`subprocess` можна використовувати для " +"заміни цих модулів і функцій, можна знайти в наступних розділах." + +msgid ":pep:`324` -- PEP proposing the subprocess module" +msgstr ":pep:`324` -- PEP пропонує модуль підпроцесу" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Using the :mod:`subprocess` Module" +msgstr "Використання модуля :mod:`subprocess`" + +msgid "" +"The recommended approach to invoking subprocesses is to use the :func:`run` " +"function for all use cases it can handle. For more advanced use cases, the " +"underlying :class:`Popen` interface can be used directly." +msgstr "" +"Рекомендований підхід до виклику підпроцесів полягає у використанні функції :" +"func:`run` для всіх випадків використання, які вона може обробляти. Для " +"більш складних випадків використання базовий інтерфейс :class:`Popen` можна " +"використовувати безпосередньо." + +msgid "" +"Run the command described by *args*. Wait for command to complete, then " +"return a :class:`CompletedProcess` instance." +msgstr "" +"Виконайте команду, описану *args*. Зачекайте, поки команда завершиться, а " +"потім поверніть екземпляр :class:`CompletedProcess`." + +msgid "" +"The arguments shown above are merely the most common ones, described below " +"in :ref:`frequently-used-arguments` (hence the use of keyword-only notation " +"in the abbreviated signature). The full function signature is largely the " +"same as that of the :class:`Popen` constructor - most of the arguments to " +"this function are passed through to that interface. (*timeout*, *input*, " +"*check*, and *capture_output* are not.)" +msgstr "" +"Наведені вище аргументи є лише найпоширенішими, описаними нижче в :ref:" +"`frequently-used-arguments` (звідси використання лише нотації ключових слів " +"у скороченому підписі). Повна сигнатура функції здебільшого така сама, як і " +"у конструктора :class:`Popen` – більшість аргументів цієї функції " +"передаються до цього інтерфейсу. (*timeout*, *input*, *check* і " +"*capture_output* не є.)" + +msgid "" +"If *capture_output* is true, stdout and stderr will be captured. When used, " +"the internal :class:`Popen` object is automatically created with " +"``stdout=PIPE`` and ``stderr=PIPE``. The *stdout* and *stderr* arguments may " +"not be supplied at the same time as *capture_output*. If you wish to " +"capture and combine both streams into one, use ``stdout=PIPE`` and " +"``stderr=STDOUT`` instead of *capture_output*." +msgstr "" +"Якщо *capture_output* має значення true, stdout і stderr будуть захоплені. У " +"разі використання внутрішній об’єкт :class:`Popen` автоматично створюється " +"за допомогою ``stdout=PIPE`` і ``stderr=PIPE``. Аргументи *stdout* і " +"*stderr* не можуть надаватися одночасно з *capture_output*. Якщо ви бажаєте " +"захопити та об’єднати обидва потоки в один, використовуйте ``stdout=PIPE`` і " +"``stderr=STDOUT`` замість *capture_output*." + +msgid "" +"The *timeout* argument is passed to :meth:`Popen.communicate`. If the " +"timeout expires, the child process will be killed and waited for. The :exc:" +"`TimeoutExpired` exception will be re-raised after the child process has " +"terminated." +msgstr "" +"Аргумент *timeout* передається в :meth:`Popen.communicate`. Якщо тайм-аут " +"минув, дочірній процес буде припинено та очікуватиметься. Виняток :exc:" +"`TimeoutExpired` буде повторно викликано після завершення дочірнього процесу." + +msgid "" +"The *input* argument is passed to :meth:`Popen.communicate` and thus to the " +"subprocess's stdin. If used it must be a byte sequence, or a string if " +"*encoding* or *errors* is specified or *text* is true. When used, the " +"internal :class:`Popen` object is automatically created with ``stdin=PIPE``, " +"and the *stdin* argument may not be used as well." +msgstr "" +"Аргумент *input* передається до :meth:`Popen.communicate` і, таким чином, до " +"stdin підпроцесу. Якщо використовується, це має бути послідовність байтів " +"або рядок, якщо вказано *кодування* або *помилки* або *текст* має значення " +"true. У разі використання внутрішній об’єкт :class:`Popen` автоматично " +"створюється за допомогою ``stdin=PIPE``, і аргумент *stdin* також не можна " +"використовувати." + +msgid "" +"If *check* is true, and the process exits with a non-zero exit code, a :exc:" +"`CalledProcessError` exception will be raised. Attributes of that exception " +"hold the arguments, the exit code, and stdout and stderr if they were " +"captured." +msgstr "" +"Якщо *check* має значення true, і процес завершується з ненульовим кодом " +"виходу, буде викликано виняток :exc:`CalledProcessError`. Атрибути цього " +"винятку містять аргументи, код виходу, а також stdout і stderr, якщо вони " +"були захоплені." + +msgid "" +"If *encoding* or *errors* are specified, or *text* is true, file objects for " +"stdin, stdout and stderr are opened in text mode using the specified " +"*encoding* and *errors* or the :class:`io.TextIOWrapper` default. The " +"*universal_newlines* argument is equivalent to *text* and is provided for " +"backwards compatibility. By default, file objects are opened in binary mode." +msgstr "" +"Якщо вказано *кодування* або *помилки*, або *текст* має значення true, " +"файлові об’єкти для stdin, stdout і stderr відкриваються в текстовому режимі " +"з використанням указаного *кодування* та *помилок* або :class:`io." +"TextIOWrapper` за замовчуванням. Аргумент *universal_newlines* еквівалентний " +"*text* і надається для зворотної сумісності. За замовчуванням файлові " +"об’єкти відкриваються у двійковому режимі." + +msgid "" +"If *env* is not ``None``, it must be a mapping that defines the environment " +"variables for the new process; these are used instead of the default " +"behavior of inheriting the current process' environment. It is passed " +"directly to :class:`Popen`. This mapping can be str to str on any platform " +"or bytes to bytes on POSIX platforms much like :data:`os.environ` or :data:" +"`os.environb`." +msgstr "" + +msgid "Examples::" +msgstr "Приклади::" + +msgid "Added *encoding* and *errors* parameters" +msgstr "Додано параметри *кодування* та *помилки*" + +msgid "" +"Added the *text* parameter, as a more understandable alias of " +"*universal_newlines*. Added the *capture_output* parameter." +msgstr "" +"Додано параметр *text* як більш зрозумілий псевдонім *universal_newlines*. " +"Додано параметр *capture_output*." + +msgid "" +"The return value from :func:`run`, representing a process that has finished." +msgstr "" +"Повернене значення від :func:`run`, що представляє процес, який завершився." + +msgid "" +"The arguments used to launch the process. This may be a list or a string." +msgstr "" +"Аргументи, які використовуються для запуску процесу. Це може бути список або " +"рядок." + +msgid "" +"Exit status of the child process. Typically, an exit status of 0 indicates " +"that it ran successfully." +msgstr "" +"Статус виходу дочірнього процесу. Як правило, статус виходу 0 вказує на " +"успішне виконання." + +msgid "" +"A negative value ``-N`` indicates that the child was terminated by signal " +"``N`` (POSIX only)." +msgstr "" +"Від’ємне значення ``-N`` вказує на те, що дочірній елемент було завершено " +"сигналом ``N`` (лише POSIX)." + +msgid "" +"Captured stdout from the child process. A bytes sequence, or a string if :" +"func:`run` was called with an encoding, errors, or text=True. ``None`` if " +"stdout was not captured." +msgstr "" +"Перехоплений stdout із дочірнього процесу. Послідовність байтів або рядок, " +"якщо :func:`run` було викликано з кодуванням, помилками або text=True. " +"``None``, якщо stdout не було захоплено." + +msgid "" +"If you ran the process with ``stderr=subprocess.STDOUT``, stdout and stderr " +"will be combined in this attribute, and :attr:`stderr` will be ``None``." +msgstr "" +"Якщо ви запустили процес із ``stderr=subprocess.STDOUT``, stdout і stderr " +"буде об’єднано в цьому атрибуті, а :attr:`stderr` буде ``None``." + +msgid "" +"Captured stderr from the child process. A bytes sequence, or a string if :" +"func:`run` was called with an encoding, errors, or text=True. ``None`` if " +"stderr was not captured." +msgstr "" +"Захоплений stderr із дочірнього процесу. Послідовність байтів або рядок, " +"якщо :func:`run` було викликано з кодуванням, помилками або text=True. " +"``None``, якщо stderr не було захоплено." + +msgid "If :attr:`returncode` is non-zero, raise a :exc:`CalledProcessError`." +msgstr "" +"Якщо :attr:`returncode` не дорівнює нулю, викликається :exc:" +"`CalledProcessError`." + +msgid "" +"Special value that can be used as the *stdin*, *stdout* or *stderr* argument " +"to :class:`Popen` and indicates that the special file :data:`os.devnull` " +"will be used." +msgstr "" +"Спеціальне значення, яке можна використовувати як аргумент *stdin*, *stdout* " +"або *stderr* для :class:`Popen` і вказує, що використовуватиметься " +"спеціальний файл :data:`os.devnull`." + +msgid "" +"Special value that can be used as the *stdin*, *stdout* or *stderr* argument " +"to :class:`Popen` and indicates that a pipe to the standard stream should be " +"opened. Most useful with :meth:`Popen.communicate`." +msgstr "" +"Спеціальне значення, яке можна використовувати як аргумент *stdin*, *stdout* " +"або *stderr* для :class:`Popen` і вказує, що канал до стандартного потоку " +"має бути відкритий. Найкорисніше з :meth:`Popen.communicate`." + +msgid "" +"Special value that can be used as the *stderr* argument to :class:`Popen` " +"and indicates that standard error should go into the same handle as standard " +"output." +msgstr "" +"Спеціальне значення, яке можна використовувати як аргумент *stderr* для :" +"class:`Popen` і вказує, що стандартна помилка має надходити в той самий " +"дескриптор, що й стандартний вихід." + +msgid "Base class for all other exceptions from this module." +msgstr "Базовий клас для всіх інших винятків із цього модуля." + +msgid "" +"Subclass of :exc:`SubprocessError`, raised when a timeout expires while " +"waiting for a child process." +msgstr "" +"Підклас :exc:`SubprocessError`, викликається, коли закінчується час " +"очікування під час очікування дочірнього процесу." + +msgid "Command that was used to spawn the child process." +msgstr "Команда, яка була використана для створення дочірнього процесу." + +msgid "Timeout in seconds." +msgstr "Час очікування в секундах." + +msgid "" +"Output of the child process if it was captured by :func:`run` or :func:" +"`check_output`. Otherwise, ``None``. This is always :class:`bytes` when " +"any output was captured regardless of the ``text=True`` setting. It may " +"remain ``None`` instead of ``b''`` when no output was observed." +msgstr "" + +msgid "Alias for output, for symmetry with :attr:`stderr`." +msgstr "Псевдонім для виведення, для симетрії з :attr:`stderr`." + +msgid "" +"Stderr output of the child process if it was captured by :func:`run`. " +"Otherwise, ``None``. This is always :class:`bytes` when stderr output was " +"captured regardless of the ``text=True`` setting. It may remain ``None`` " +"instead of ``b''`` when no stderr output was observed." +msgstr "" + +msgid "*stdout* and *stderr* attributes added" +msgstr "Додано атрибути *stdout* і *stderr*" + +msgid "" +"Subclass of :exc:`SubprocessError`, raised when a process run by :func:" +"`check_call`, :func:`check_output`, or :func:`run` (with ``check=True``) " +"returns a non-zero exit status." +msgstr "" +"Підклас :exc:`SubprocessError`, який виникає, коли процес, запущений :func:" +"`check_call`, :func:`check_output` або :func:`run` (із ``check=True``), " +"повертає не- нульовий статус виходу." + +msgid "" +"Exit status of the child process. If the process exited due to a signal, " +"this will be the negative signal number." +msgstr "" +"Статус виходу дочірнього процесу. Якщо процес завершився через сигнал, це " +"буде негативне число сигналу." + +msgid "" +"Output of the child process if it was captured by :func:`run` or :func:" +"`check_output`. Otherwise, ``None``." +msgstr "" +"Висновок дочірнього процесу, якщо він був захоплений :func:`run` або :func:" +"`check_output`. В іншому випадку ``Жодного``." + +msgid "" +"Stderr output of the child process if it was captured by :func:`run`. " +"Otherwise, ``None``." +msgstr "" +"Висновок stderr дочірнього процесу, якщо він був захоплений :func:`run`. В " +"іншому випадку ``Жодного``." + +msgid "Frequently Used Arguments" +msgstr "Часто використовувані аргументи" + +msgid "" +"To support a wide variety of use cases, the :class:`Popen` constructor (and " +"the convenience functions) accept a large number of optional arguments. For " +"most typical use cases, many of these arguments can be safely left at their " +"default values. The arguments that are most commonly needed are:" +msgstr "" +"Щоб підтримувати широкий спектр варіантів використання, конструктор :class:" +"`Popen` (і зручні функції) приймають велику кількість необов’язкових " +"аргументів. Для більшості типових випадків використання багато з цих " +"аргументів можна безпечно залишити за умовчанням. Найчастіше потрібні такі " +"аргументи:" + +msgid "" +"*args* is required for all calls and should be a string, or a sequence of " +"program arguments. Providing a sequence of arguments is generally preferred, " +"as it allows the module to take care of any required escaping and quoting of " +"arguments (e.g. to permit spaces in file names). If passing a single string, " +"either *shell* must be :const:`True` (see below) or else the string must " +"simply name the program to be executed without specifying any arguments." +msgstr "" +"*args* є обов’язковим для всіх викликів і має бути рядком або послідовністю " +"аргументів програми. Надання послідовності аргументів зазвичай є кращим, " +"оскільки це дозволяє модулю подбати про будь-які необхідні екранування та " +"цитування аргументів (наприклад, дозволити пробіли в іменах файлів). Якщо " +"передається один рядок, або *shell* має бути :const:`True` (див. нижче), або " +"в іншому випадку рядок має просто назвати програму, яку потрібно виконати, " +"без вказівки жодних аргументів." + +msgid "" +"*stdin*, *stdout* and *stderr* specify the executed program's standard " +"input, standard output and standard error file handles, respectively. Valid " +"values are :data:`PIPE`, :data:`DEVNULL`, an existing file descriptor (a " +"positive integer), an existing file object with a valid file descriptor, and " +"``None``. :data:`PIPE` indicates that a new pipe to the child should be " +"created. :data:`DEVNULL` indicates that the special file :data:`os.devnull` " +"will be used. With the default settings of ``None``, no redirection will " +"occur; the child's file handles will be inherited from the parent. " +"Additionally, *stderr* can be :data:`STDOUT`, which indicates that the " +"stderr data from the child process should be captured into the same file " +"handle as for *stdout*." +msgstr "" +"*stdin*, *stdout* і *stderr* вказують стандартний вхід, стандартний вихід і " +"стандартний дескриптор файлу помилок виконуваної програми, відповідно. " +"Дійсні значення: :data:`PIPE`, :data:`DEVNULL`, існуючий файловий дескриптор " +"(додатне ціле число), існуючий файловий об’єкт із дійсним файловим " +"дескриптором і \"Немає\". :data:`PIPE` вказує на те, що слід створити новий " +"канал для дочірнього елемента. :data:`DEVNULL` вказує, що буде " +"використовуватися спеціальний файл :data:`os.devnull`. З параметрами за " +"замовчуванням ``None`` переспрямування не відбуватиметься; дескриптори " +"дочірнього файлу будуть успадковані від батьківського. Крім того, *stderr* " +"може бути :data:`STDOUT`, що вказує на те, що дані stderr із дочірнього " +"процесу мають бути захоплені в той самий дескриптор файлу, що й для *stdout*." + +msgid "" +"If *encoding* or *errors* are specified, or *text* (also known as " +"*universal_newlines*) is true, the file objects *stdin*, *stdout* and " +"*stderr* will be opened in text mode using the *encoding* and *errors* " +"specified in the call or the defaults for :class:`io.TextIOWrapper`." +msgstr "" +"Якщо вказано *кодування* або *помилки*, або *текст* (також відомий як " +"*universal_newlines*) має значення true, файлові об’єкти *stdin*, *stdout* і " +"*stderr* буде відкрито в текстовому режимі за допомогою *кодування* і " +"*помилки*, указані у виклику або за замовчуванням для :class:`io." +"TextIOWrapper`." + +msgid "" +"For *stdin*, line ending characters ``'\\n'`` in the input will be converted " +"to the default line separator :data:`os.linesep`. For *stdout* and *stderr*, " +"all line endings in the output will be converted to ``'\\n'``. For more " +"information see the documentation of the :class:`io.TextIOWrapper` class " +"when the *newline* argument to its constructor is ``None``." +msgstr "" +"Для *stdin* символи закінчення рядків ``'\\n'`` у вхідних даних буде " +"перетворено на роздільник рядків за замовчуванням :data:`os.linesep`. Для " +"*stdout* і *stderr* усі закінчення рядків у виводі буде перетворено на " +"``'\\n'``. Для отримання додаткової інформації дивіться документацію класу :" +"class:`io.TextIOWrapper`, якщо аргумент *нового рядка* його конструктора має " +"значення ``None``." + +msgid "" +"If text mode is not used, *stdin*, *stdout* and *stderr* will be opened as " +"binary streams. No encoding or line ending conversion is performed." +msgstr "" +"Якщо текстовий режим не використовується, *stdin*, *stdout* і *stderr* " +"будуть відкриті як бінарні потоки. Кодування або перетворення закінчення " +"рядка не виконується." + +msgid "Added *encoding* and *errors* parameters." +msgstr "Додано параметри *кодування* та *помилки*." + +msgid "Added the *text* parameter as an alias for *universal_newlines*." +msgstr "Додано параметр *text* як псевдонім для *universal_newlines*." + +msgid "" +"The newlines attribute of the file objects :attr:`Popen.stdin`, :attr:`Popen." +"stdout` and :attr:`Popen.stderr` are not updated by the :meth:`Popen." +"communicate` method." +msgstr "" +"Атрибут нового рядка об’єктів файлу :attr:`Popen.stdin`, :attr:`Popen." +"stdout` і :attr:`Popen.stderr` не оновлюється методом :meth:`Popen." +"communicate`." + +msgid "" +"If *shell* is ``True``, the specified command will be executed through the " +"shell. This can be useful if you are using Python primarily for the " +"enhanced control flow it offers over most system shells and still want " +"convenient access to other shell features such as shell pipes, filename " +"wildcards, environment variable expansion, and expansion of ``~`` to a " +"user's home directory. However, note that Python itself offers " +"implementations of many shell-like features (in particular, :mod:`glob`, :" +"mod:`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path." +"expanduser`, and :mod:`shutil`)." +msgstr "" +"Якщо *shell* має значення ``True``, зазначена команда буде виконана через " +"оболонку. Це може бути корисним, якщо ви використовуєте Python насамперед " +"для розширеного потоку керування, який він пропонує для більшості системних " +"оболонок, і все ще бажаєте зручний доступ до інших функцій оболонки, таких " +"як канали оболонки, символи підстановки імен файлів, розширення змінних " +"середовища та розширення ``~`` до домашнього каталогу користувача. Однак " +"зауважте, що сам Python пропонує реалізацію багатьох функцій, подібних до " +"оболонки (зокрема, :mod:`glob`, :mod:`fnmatch`, :func:`os.walk`, :func:`os." +"path.expandvars`, :func:`os.path.expanduser` і :mod:`shutil`)." + +msgid "" +"When *universal_newlines* is ``True``, the class uses the encoding :func:" +"`locale.getpreferredencoding(False) ` instead " +"of ``locale.getpreferredencoding()``. See the :class:`io.TextIOWrapper` " +"class for more information on this change." +msgstr "" +"Якщо *universal_newlines* має значення ``True``, клас використовує " +"кодування :func:`locale.getpreferredencoding(False) ` замість ``locale.getpreferredencoding()``. " +"Перегляньте клас :class:`io.TextIOWrapper` для отримання додаткової " +"інформації про цю зміну." + +msgid "" +"Read the `Security Considerations`_ section before using ``shell=True``." +msgstr "" +"Перед використанням shell=True прочитайте розділ `Security Considerations`_." + +msgid "" +"These options, along with all of the other options, are described in more " +"detail in the :class:`Popen` constructor documentation." +msgstr "" +"Ці параметри разом з усіма іншими опціями описані більш детально в " +"документації конструктора :class:`Popen`." + +msgid "Popen Constructor" +msgstr "Конструктор Popen" + +msgid "" +"The underlying process creation and management in this module is handled by " +"the :class:`Popen` class. It offers a lot of flexibility so that developers " +"are able to handle the less common cases not covered by the convenience " +"functions." +msgstr "" +"Створення основного процесу та керування ним у цьому модулі обробляється " +"класом :class:`Popen`. Він пропонує велику гнучкість, щоб розробники могли " +"обробляти менш поширені випадки, які не охоплюються функціями зручності." + +msgid "" +"Execute a child program in a new process. On POSIX, the class uses :meth:" +"`os.execvpe`-like behavior to execute the child program. On Windows, the " +"class uses the Windows ``CreateProcess()`` function. The arguments to :" +"class:`Popen` are as follows." +msgstr "" +"Виконати дочірню програму в новому процесі. У POSIX клас використовує :meth:" +"`os.execvpe`-подібну поведінку для виконання дочірньої програми. У Windows " +"цей клас використовує функцію ``CreateProcess()`` Windows. Аргументи :class:" +"`Popen` такі." + +msgid "" +"*args* should be a sequence of program arguments or else a single string or :" +"term:`path-like object`. By default, the program to execute is the first " +"item in *args* if *args* is a sequence. If *args* is a string, the " +"interpretation is platform-dependent and described below. See the *shell* " +"and *executable* arguments for additional differences from the default " +"behavior. Unless otherwise stated, it is recommended to pass *args* as a " +"sequence." +msgstr "" +"*args* має бути послідовністю аргументів програми або одним рядком або :term:" +"`path-like object`. За замовчуванням програма для виконання є першим " +"елементом у *args*, якщо *args* є послідовністю. Якщо *args* є рядком, " +"інтерпретація залежить від платформи та описана нижче. Перегляньте аргументи " +"*shell* і *executable*, щоб дізнатися про додаткові відмінності від " +"поведінки за замовчуванням. Якщо не вказано інше, рекомендується передавати " +"*args* як послідовність." + +msgid "" +"For maximum reliability, use a fully qualified path for the executable. To " +"search for an unqualified name on :envvar:`PATH`, use :meth:`shutil.which`. " +"On all platforms, passing :data:`sys.executable` is the recommended way to " +"launch the current Python interpreter again, and use the ``-m`` command-line " +"format to launch an installed module." +msgstr "" + +msgid "" +"Resolving the path of *executable* (or the first item of *args*) is platform " +"dependent. For POSIX, see :meth:`os.execvpe`, and note that when resolving " +"or searching for the executable path, *cwd* overrides the current working " +"directory and *env* can override the ``PATH`` environment variable. For " +"Windows, see the documentation of the ``lpApplicationName`` and " +"``lpCommandLine`` parameters of WinAPI ``CreateProcess``, and note that when " +"resolving or searching for the executable path with ``shell=False``, *cwd* " +"does not override the current working directory and *env* cannot override " +"the ``PATH`` environment variable. Using a full path avoids all of these " +"variations." +msgstr "" +"Визначення шляху *виконуваного файлу* (або першого елемента *args*) залежить " +"від платформи. Для POSIX перегляньте :meth:`os.execvpe` і зауважте, що під " +"час визначення або пошуку шляху до виконуваного файлу *cwd* замінює поточний " +"робочий каталог, а *env* може замінювати змінну середовища ``PATH``. Для " +"Windows перегляньте документацію щодо параметрів ``lpApplicationName`` і " +"``lpCommandLine`` WinAPI ``CreateProcess`` і зауважте, що під час визначення " +"або пошуку шляху до виконуваного файлу за допомогою ``shell=False`` *cwd* не " +"перевизначає поточний робочий каталог, а *env* не може перевизначати змінну " +"середовища ``PATH``. Використання повного шляху дозволяє уникнути всіх цих " +"варіантів." + +msgid "" +"An example of passing some arguments to an external program as a sequence " +"is::" +msgstr "" +"Приклад передачі деяких аргументів зовнішній програмі у вигляді " +"послідовності:" + +msgid "" +"On POSIX, if *args* is a string, the string is interpreted as the name or " +"path of the program to execute. However, this can only be done if not " +"passing arguments to the program." +msgstr "" +"У POSIX, якщо *args* є рядком, рядок інтерпретується як ім’я або шлях до " +"програми для виконання. Однак це можна зробити, лише якщо не передати " +"аргументи програмі." + +msgid "" +"It may not be obvious how to break a shell command into a sequence of " +"arguments, especially in complex cases. :meth:`shlex.split` can illustrate " +"how to determine the correct tokenization for *args*::" +msgstr "" +"Може бути неочевидним, як розбити команду оболонки на послідовність " +"аргументів, особливо у складних випадках. :meth:`shlex.split` може " +"проілюструвати, як визначити правильну токенізацію для *args*::" + +msgid "" +"Note in particular that options (such as *-input*) and arguments (such as " +"*eggs.txt*) that are separated by whitespace in the shell go in separate " +"list elements, while arguments that need quoting or backslash escaping when " +"used in the shell (such as filenames containing spaces or the *echo* command " +"shown above) are single list elements." +msgstr "" +"Зокрема, зауважте, що параметри (такі як *-input*) і аргументи (такі як " +"*eggs.txt*), відокремлені пробілами в оболонці, розміщуються в окремих " +"елементах списку, тоді як аргументи, які потребують лапок або екранування " +"зворотної скісної риски, коли використовуються в shell (наприклад, імена " +"файлів, що містять пробіли, або команда *echo*, показана вище) є одними " +"елементами списку." + +msgid "" +"On Windows, if *args* is a sequence, it will be converted to a string in a " +"manner described in :ref:`converting-argument-sequence`. This is because " +"the underlying ``CreateProcess()`` operates on strings." +msgstr "" +"У Windows, якщо *args* є послідовністю, вона буде перетворена на рядок у " +"спосіб, описаний у :ref:`converting-argument-sequence`. Це тому, що базовий " +"``CreateProcess()`` працює з рядками." + +msgid "" +"*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " +"and a sequence containing path-like objects on POSIX." +msgstr "" +"Параметр *args* приймає :term:`path-like object`, якщо *shell* має значення " +"``False``, і послідовність, що містить шляхові об’єкти на POSIX." + +msgid "" +"*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " +"and a sequence containing bytes and path-like objects on Windows." +msgstr "" +"Параметр *args* приймає :term:`path-like object`, якщо *shell* має значення " +"``False``, а також послідовність, що містить байти та шляхоподібні об’єкти у " +"Windows." + +msgid "" +"The *shell* argument (which defaults to ``False``) specifies whether to use " +"the shell as the program to execute. If *shell* is ``True``, it is " +"recommended to pass *args* as a string rather than as a sequence." +msgstr "" +"Аргумент *shell* (який за замовчуванням має значення ``False``) визначає, чи " +"використовувати оболонку як програму для виконання. Якщо *shell* має " +"значення ``True``, рекомендується передавати *args* як рядок, а не як " +"послідовність." + +msgid "" +"On POSIX with ``shell=True``, the shell defaults to :file:`/bin/sh`. If " +"*args* is a string, the string specifies the command to execute through the " +"shell. This means that the string must be formatted exactly as it would be " +"when typed at the shell prompt. This includes, for example, quoting or " +"backslash escaping filenames with spaces in them. If *args* is a sequence, " +"the first item specifies the command string, and any additional items will " +"be treated as additional arguments to the shell itself. That is to say, :" +"class:`Popen` does the equivalent of::" +msgstr "" +"У POSIX із ``shell=True`` оболонкою за замовчуванням є :file:`/bin/sh`. Якщо " +"*args* є рядком, цей рядок визначає команду для виконання через оболонку. Це " +"означає, що рядок має бути відформатований точно так, як він був би під час " +"введення в команду оболонки. Це включає, наприклад, лапки або екранування " +"назв файлів із пробілами. Якщо *args* є послідовністю, перший елемент " +"визначає командний рядок, а будь-які додаткові елементи розглядатимуться як " +"додаткові аргументи самої оболонки. Тобто :class:`Popen` виконує еквівалент::" + +msgid "" +"On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " +"specifies the default shell. The only time you need to specify " +"``shell=True`` on Windows is when the command you wish to execute is built " +"into the shell (e.g. :command:`dir` or :command:`copy`). You do not need " +"``shell=True`` to run a batch file or console-based executable." +msgstr "" +"У Windows із ``shell=True`` змінна середовища :envvar:`COMSPEC` визначає " +"оболонку за замовчуванням. Єдиний раз, коли вам потрібно вказати " +"``shell=True`` у Windows, це коли команда, яку ви хочете виконати, вбудована " +"в оболонку (наприклад, :command:`dir` або :command:`copy`). Вам не потрібен " +"``shell=True`` для запуску пакетного файлу або виконуваного файлу на консолі." + +msgid "" +"*bufsize* will be supplied as the corresponding argument to the :func:`open` " +"function when creating the stdin/stdout/stderr pipe file objects:" +msgstr "" +"*bufsize* буде надано як відповідний аргумент функції :func:`open` під час " +"створення об’єктів файлу каналу stdin/stdout/stderr:" + +msgid "" +":const:`0` means unbuffered (read and write are one system call and can " +"return short)" +msgstr "" +":const:`0` означає небуферизований (читання і запис є одним системним " +"викликом і можуть повертатися коротко)" + +msgid "" +":const:`1` means line buffered (only usable if ``universal_newlines=True`` i." +"e., in a text mode)" +msgstr "" +":const:`1` означає буферизацію рядків (можна використовувати лише, якщо " +"``universal_newlines=True``, тобто в текстовому режимі)" + +msgid "any other positive value means use a buffer of approximately that size" +msgstr "" +"будь-яке інше позитивне значення означає використання буфера приблизно " +"такого розміру" + +msgid "" +"negative bufsize (the default) means the system default of io." +"DEFAULT_BUFFER_SIZE will be used." +msgstr "" +"negative bufsize (за замовчуванням) означає, що буде використано системне " +"значення io.DEFAULT_BUFFER_SIZE." + +msgid "" +"*bufsize* now defaults to -1 to enable buffering by default to match the " +"behavior that most code expects. In versions prior to Python 3.2.4 and " +"3.3.1 it incorrectly defaulted to :const:`0` which was unbuffered and " +"allowed short reads. This was unintentional and did not match the behavior " +"of Python 2 as most code expected." +msgstr "" +"*bufsize* тепер має значення за замовчуванням -1, щоб увімкнути буферизацію " +"за замовчуванням, щоб відповідати поведінці, яку очікує більшість коду. У " +"версіях до Python 3.2.4 і 3.3.1 за замовчуванням неправильно встановлювалося " +"значення :const:`0`, яке було небуферизованим і дозволяло короткі читання. " +"Це було ненавмисно та не відповідало поведінці Python 2, як очікувалося у " +"більшості програм." + +msgid "" +"The *executable* argument specifies a replacement program to execute. It " +"is very seldom needed. When ``shell=False``, *executable* replaces the " +"program to execute specified by *args*. However, the original *args* is " +"still passed to the program. Most programs treat the program specified by " +"*args* as the command name, which can then be different from the program " +"actually executed. On POSIX, the *args* name becomes the display name for " +"the executable in utilities such as :program:`ps`. If ``shell=True``, on " +"POSIX the *executable* argument specifies a replacement shell for the " +"default :file:`/bin/sh`." +msgstr "" +"Аргумент *executable* визначає програму заміни для виконання. Це дуже рідко " +"потрібно. Коли ``shell=False``, *executable* замінює програму для виконання, " +"указану *args*. Однак оригінальні *args* усе ще передаються програмі. " +"Більшість програм розглядають програму, визначену *args*, як назву команди, " +"яка потім може відрізнятися від фактично виконаної програми. У POSIX ім’я " +"*args* стає відображуваним ім’ям для виконуваного файлу в таких утилітах, " +"як :program:`ps`. Якщо ``shell=True``, у POSIX *виконуваний* аргумент вказує " +"на заміну оболонки для типового :file:`/bin/sh`." + +msgid "*executable* parameter accepts a :term:`path-like object` on POSIX." +msgstr "Параметр *executable* приймає :term:`path-like object` на POSIX." + +msgid "" +"*executable* parameter accepts a bytes and :term:`path-like object` on " +"Windows." +msgstr "" +"Параметр *executable* приймає байти та :term:`path-like object` у Windows." + +msgid "" +"*stdin*, *stdout* and *stderr* specify the executed program's standard " +"input, standard output and standard error file handles, respectively. Valid " +"values are :data:`PIPE`, :data:`DEVNULL`, an existing file descriptor (a " +"positive integer), an existing :term:`file object` with a valid file " +"descriptor, and ``None``. :data:`PIPE` indicates that a new pipe to the " +"child should be created. :data:`DEVNULL` indicates that the special file :" +"data:`os.devnull` will be used. With the default settings of ``None``, no " +"redirection will occur; the child's file handles will be inherited from the " +"parent. Additionally, *stderr* can be :data:`STDOUT`, which indicates that " +"the stderr data from the applications should be captured into the same file " +"handle as for stdout." +msgstr "" +"*stdin*, *stdout* і *stderr* вказують стандартний вхід, стандартний вихід і " +"стандартний дескриптор файлу помилок виконуваної програми, відповідно. " +"Дійсні значення: :data:`PIPE`, :data:`DEVNULL`, наявний дескриптор файлу " +"(ціле позитивне число), існуючий :term:`file object` з дійсним дескриптором " +"файлу та ``None``. :data:`PIPE` вказує на те, що слід створити новий канал " +"для дочірнього елемента. :data:`DEVNULL` вказує, що буде використовуватися " +"спеціальний файл :data:`os.devnull`. З параметрами за замовчуванням ``None`` " +"переспрямування не відбуватиметься; дескриптори дочірнього файлу будуть " +"успадковані від батьківського. Крім того, *stderr* може бути :data:`STDOUT`, " +"що вказує на те, що дані stderr із програм мають бути захоплені в той самий " +"дескриптор файлу, що й для stdout." + +msgid "" +"If *preexec_fn* is set to a callable object, this object will be called in " +"the child process just before the child is executed. (POSIX only)" +msgstr "" +"Якщо *preexec_fn* встановлено на об’єкт, який можна викликати, цей об’єкт " +"буде викликано в дочірньому процесі безпосередньо перед виконанням " +"дочірнього процесу. (лише POSIX)" + +msgid "" +"The *preexec_fn* parameter is NOT SAFE to use in the presence of threads in " +"your application. The child process could deadlock before exec is called." +msgstr "" + +msgid "" +"If you need to modify the environment for the child use the *env* parameter " +"rather than doing it in a *preexec_fn*. The *start_new_session* and " +"*process_group* parameters should take the place of code using *preexec_fn* " +"to call :func:`os.setsid` or :func:`os.setpgid` in the child." +msgstr "" + +msgid "" +"The *preexec_fn* parameter is no longer supported in subinterpreters. The " +"use of the parameter in a subinterpreter raises :exc:`RuntimeError`. The new " +"restriction may affect applications that are deployed in mod_wsgi, uWSGI, " +"and other embedded environments." +msgstr "" +"Параметр *preexec_fn* більше не підтримується субінтерпретаторами. " +"Використання параметра у субінтерпретаторі викликає :exc:`RuntimeError`. " +"Нове обмеження може вплинути на програми, які розгортаються в mod_wsgi, " +"uWSGI та інших вбудованих середовищах." + +msgid "" +"If *close_fds* is true, all file descriptors except :const:`0`, :const:`1` " +"and :const:`2` will be closed before the child process is executed. " +"Otherwise when *close_fds* is false, file descriptors obey their inheritable " +"flag as described in :ref:`fd_inheritance`." +msgstr "" +"Якщо *close_fds* має значення true, усі дескриптори файлів, крім :const:" +"`0`, :const:`1` і :const:`2`, будуть закриті перед виконанням дочірнього " +"процесу. Інакше, коли *close_fds* має значення false, дескриптори файлів " +"підкоряються своєму успадкованому прапору, як описано в :ref:" +"`fd_inheritance`." + +msgid "" +"On Windows, if *close_fds* is true then no handles will be inherited by the " +"child process unless explicitly passed in the ``handle_list`` element of :" +"attr:`STARTUPINFO.lpAttributeList`, or by standard handle redirection." +msgstr "" +"У Windows, якщо *close_fds* має значення true, дочірній процес не успадкує " +"жодних дескрипторів, якщо вони явно не передані в елементі ``handle_list`` :" +"attr:`STARTUPINFO.lpAttributeList` або за допомогою стандартного " +"переспрямування дескриптора." + +msgid "" +"The default for *close_fds* was changed from :const:`False` to what is " +"described above." +msgstr "" +"Типове значення для *close_fds* було змінено з :const:`False` на описане " +"вище." + +msgid "" +"On Windows the default for *close_fds* was changed from :const:`False` to :" +"const:`True` when redirecting the standard handles. It's now possible to set " +"*close_fds* to :const:`True` when redirecting the standard handles." +msgstr "" +"У Windows типове значення для *close_fds* було змінено з :const:`False` на :" +"const:`True` під час переспрямування стандартних дескрипторів. Тепер можна " +"встановити *close_fds* на :const:`True` під час перенаправлення стандартних " +"дескрипторів." + +msgid "" +"*pass_fds* is an optional sequence of file descriptors to keep open between " +"the parent and child. Providing any *pass_fds* forces *close_fds* to be :" +"const:`True`. (POSIX only)" +msgstr "" +"*pass_fds* — це необов’язкова послідовність файлових дескрипторів, які " +"залишаються відкритими між батьківським і дочірнім. Надання будь-якого " +"*pass_fds* змушує *close_fds* мати значення :const:`True`. (лише POSIX)" + +msgid "The *pass_fds* parameter was added." +msgstr "Додано параметр *pass_fds*." + +msgid "" +"If *cwd* is not ``None``, the function changes the working directory to " +"*cwd* before executing the child. *cwd* can be a string, bytes or :term:" +"`path-like ` object. On POSIX, the function looks for " +"*executable* (or for the first item in *args*) relative to *cwd* if the " +"executable path is a relative path." +msgstr "" +"Якщо *cwd* не є ``None``, функція змінює робочий каталог на *cwd* перед " +"виконанням дочірнього елемента. *cwd* може бути рядком, байтами або " +"об’єктом :term:`path-like `. У POSIX функція шукає " +"*виконуваний файл* (або перший елемент у *args*) відносно *cwd*, якщо шлях " +"до виконуваного файлу є відносним." + +msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." +msgstr "Параметр *cwd* приймає :term:`path-like object` на POSIX." + +msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." +msgstr "Параметр *cwd* приймає :term:`path-like object` у Windows." + +msgid "*cwd* parameter accepts a bytes object on Windows." +msgstr "Параметр *cwd* приймає об’єкт bytes у Windows." + +msgid "" +"If *restore_signals* is true (the default) all signals that Python has set " +"to SIG_IGN are restored to SIG_DFL in the child process before the exec. " +"Currently this includes the SIGPIPE, SIGXFZ and SIGXFSZ signals. (POSIX only)" +msgstr "" +"Якщо *restore_signals* має значення true (за замовчуванням), усі сигнали, " +"які Python встановив як SIG_IGN, відновлюються до SIG_DFL у дочірньому " +"процесі перед виконанням. Наразі це включає сигнали SIGPIPE, SIGXFZ і " +"SIGXFSZ. (лише POSIX)" + +msgid "*restore_signals* was added." +msgstr "Додано *restore_signals*." + +msgid "" +"If *start_new_session* is true the ``setsid()`` system call will be made in " +"the child process prior to the execution of the subprocess." +msgstr "" + +msgid ":ref:`Availability `: POSIX" +msgstr ":ref:`Наявність `: POSIX" + +msgid "*start_new_session* was added." +msgstr "Додано *start_new_session*." + +msgid "" +"If *process_group* is a non-negative integer, the ``setpgid(0, value)`` " +"system call will be made in the child process prior to the execution of the " +"subprocess." +msgstr "" + +msgid "*process_group* was added." +msgstr "" + +msgid "" +"If *group* is not ``None``, the setregid() system call will be made in the " +"child process prior to the execution of the subprocess. If the provided " +"value is a string, it will be looked up via :func:`grp.getgrnam()` and the " +"value in ``gr_gid`` will be used. If the value is an integer, it will be " +"passed verbatim. (POSIX only)" +msgstr "" +"Якщо *group* не ``None``, системний виклик setregid() буде здійснено в " +"дочірньому процесі перед виконанням підпроцесу. Якщо надане значення є " +"рядком, воно шукатиметься за допомогою :func:`grp.getgrnam()` і " +"використовуватиметься значення в ``gr_gid``. Якщо значення є цілим числом, " +"воно буде передано дослівно. (лише POSIX)" + +msgid "" +"If *extra_groups* is not ``None``, the setgroups() system call will be made " +"in the child process prior to the execution of the subprocess. Strings " +"provided in *extra_groups* will be looked up via :func:`grp.getgrnam()` and " +"the values in ``gr_gid`` will be used. Integer values will be passed " +"verbatim. (POSIX only)" +msgstr "" +"Якщо *extra_groups* не є ``None``, системний виклик setgroups() буде " +"здійснено в дочірньому процесі перед виконанням підпроцесу. Рядки, надані в " +"*extra_groups*, шукатимуться за допомогою :func:`grp.getgrnam()` і " +"використовуватимуться значення в ``gr_gid``. Цілі значення будуть передані " +"дослівно. (лише POSIX)" + +msgid "" +"If *user* is not ``None``, the setreuid() system call will be made in the " +"child process prior to the execution of the subprocess. If the provided " +"value is a string, it will be looked up via :func:`pwd.getpwnam()` and the " +"value in ``pw_uid`` will be used. If the value is an integer, it will be " +"passed verbatim. (POSIX only)" +msgstr "" +"Якщо *user* не є ``None``, системний виклик setreuid() буде здійснено в " +"дочірньому процесі перед виконанням підпроцесу. Якщо надане значення є " +"рядком, воно шукатиметься за допомогою :func:`pwd.getpwnam()` і " +"використовуватиметься значення в ``pw_uid``. Якщо значення є цілим числом, " +"воно буде передано дослівно. (лише POSIX)" + +msgid "" +"If *umask* is not negative, the umask() system call will be made in the " +"child process prior to the execution of the subprocess." +msgstr "" +"Якщо *umask* не є негативним, системний виклик umask() буде здійснено в " +"дочірньому процесі перед виконанням підпроцесу." + +msgid "" +"If *env* is not ``None``, it must be a mapping that defines the environment " +"variables for the new process; these are used instead of the default " +"behavior of inheriting the current process' environment. This mapping can be " +"str to str on any platform or bytes to bytes on POSIX platforms much like :" +"data:`os.environ` or :data:`os.environb`." +msgstr "" + +msgid "" +"If specified, *env* must provide any variables required for the program to " +"execute. On Windows, in order to run a `side-by-side assembly`_ the " +"specified *env* **must** include a valid :envvar:`SystemRoot`." +msgstr "" +"Якщо вказано, *env* має надавати будь-які змінні, необхідні для виконання " +"програми. У Windows, щоб запустити паралельну збірку (`side-by-side " +"assembly`_), указаний *env* **має** містити дійсний :envvar:`SystemRoot`." + +msgid "" +"If *encoding* or *errors* are specified, or *text* is true, the file objects " +"*stdin*, *stdout* and *stderr* are opened in text mode with the specified " +"*encoding* and *errors*, as described above in :ref:`frequently-used-" +"arguments`. The *universal_newlines* argument is equivalent to *text* and " +"is provided for backwards compatibility. By default, file objects are opened " +"in binary mode." +msgstr "" + +msgid "*encoding* and *errors* were added." +msgstr "Додано *кодування* та *помилки*." + +msgid "*text* was added as a more readable alias for *universal_newlines*." +msgstr "" +"*текст* додано як більш читабельний псевдонім для *universal_newlines*." + +msgid "" +"If given, *startupinfo* will be a :class:`STARTUPINFO` object, which is " +"passed to the underlying ``CreateProcess`` function. *creationflags*, if " +"given, can be one or more of the following flags:" +msgstr "" +"Якщо задано, *startupinfo* буде об’єктом :class:`STARTUPINFO`, який " +"передається базовій функції ``CreateProcess``. *creationflags*, якщо задано, " +"може бути одним або кількома з таких прапорів:" + +msgid ":data:`CREATE_NEW_CONSOLE`" +msgstr ":data:`CREATE_NEW_CONSOLE`" + +msgid ":data:`CREATE_NEW_PROCESS_GROUP`" +msgstr ":data:`CREATE_NEW_PROCESS_GROUP`" + +msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" +msgstr ":data:`ВИЩЕ_ЗВИЧАЙНОГО_ПРІОРИТЕТНОГО_КЛАСУ`" + +msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" +msgstr ":data:`BELOW_NORMAL_PRIORITY_CLASS`" + +msgid ":data:`HIGH_PRIORITY_CLASS`" +msgstr ":data:`HIGH_PRIORITY_CLASS`" + +msgid ":data:`IDLE_PRIORITY_CLASS`" +msgstr ":data:`IDLE_PRIORITY_CLASS`" + +msgid ":data:`NORMAL_PRIORITY_CLASS`" +msgstr ":data:`NORMAL_PRIORITY_CLASS`" + +msgid ":data:`REALTIME_PRIORITY_CLASS`" +msgstr ":data:`REALTIME_PRIORITY_CLASS`" + +msgid ":data:`CREATE_NO_WINDOW`" +msgstr ":data:`CREATE_NO_WINDOW`" + +msgid ":data:`DETACHED_PROCESS`" +msgstr ":data:`DETACHED_PROCESS`" + +msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" +msgstr ":data:`CREATE_DEFAULT_ERROR_MODE`" + +msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" +msgstr ":data:`CREATE_BREAKAWAY_FROM_JOB`" + +msgid "" +"*pipesize* can be used to change the size of the pipe when :data:`PIPE` is " +"used for *stdin*, *stdout* or *stderr*. The size of the pipe is only changed " +"on platforms that support this (only Linux at this time of writing). Other " +"platforms will ignore this parameter." +msgstr "" +"*pipesize* можна використовувати для зміни розміру каналу, коли :data:`PIPE` " +"використовується для *stdin*, *stdout* або *stderr*. Розмір каналу " +"змінюється лише на платформах, які підтримують це (лише Linux на даний " +"момент). Інші платформи ігноруватимуть цей параметр." + +msgid "The ``pipesize`` parameter was added." +msgstr "Додано параметр ``pipesize``." + +msgid "" +"Popen objects are supported as context managers via the :keyword:`with` " +"statement: on exit, standard file descriptors are closed, and the process is " +"waited for. ::" +msgstr "" +"Об’єкти Popen підтримуються як контекстні менеджери через оператор :keyword:" +"`with`: під час виходу стандартні дескриптори файлів закриваються, і процес " +"очікується. ::" + +msgid "" +"Raises an :ref:`auditing event ` ``subprocess.Popen`` with " +"arguments ``executable``, ``args``, ``cwd``, ``env``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``subprocess.Popen`` з аргументами " +"``executable``, ``args``, ``cwd``, ``env``." + +msgid "" +"Popen and the other functions in this module that use it raise an :ref:" +"`auditing event ` ``subprocess.Popen`` with arguments " +"``executable``, ``args``, ``cwd``, and ``env``. The value for ``args`` may " +"be a single string or a list of strings, depending on platform." +msgstr "" +"Popen та інші функції в цьому модулі, які його використовують, викликають :" +"ref:`подію аудиту ` ``subprocess.Popen`` з аргументами " +"``executable``, ``args``, ``cwd`` і ``env``. Значення для ``args`` може бути " +"одним рядком або списком рядків, залежно від платформи." + +msgid "Added context manager support." +msgstr "Додано підтримку менеджера контексту." + +msgid "" +"Popen destructor now emits a :exc:`ResourceWarning` warning if the child " +"process is still running." +msgstr "" +"Деструктор Popen тепер видає попередження :exc:`ResourceWarning`, якщо " +"дочірній процес все ще виконується." + +msgid "" +"Popen can use :func:`os.posix_spawn` in some cases for better performance. " +"On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor " +"using :func:`os.posix_spawn` no longer raise an exception on errors like " +"missing program, but the child process fails with a non-zero :attr:`~Popen." +"returncode`." +msgstr "" +"Popen може використовувати :func:`os.posix_spawn` у деяких випадках для " +"кращої продуктивності. У підсистемі Windows для Linux і емуляції користувача " +"QEMU конструктор Popen, що використовує :func:`os.posix_spawn`, більше не " +"створює виняток у разі помилки, як-от відсутня програма, але дочірній процес " +"завершується помилкою з ненульовим :attr:`~Popen.returncode`." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"Exceptions raised in the child process, before the new program has started " +"to execute, will be re-raised in the parent." +msgstr "" +"Винятки, створені в дочірньому процесі, перш ніж нова програма почне " +"виконуватися, будуть повторно викликані в батьківському." + +msgid "" +"The most common exception raised is :exc:`OSError`. This occurs, for " +"example, when trying to execute a non-existent file. Applications should " +"prepare for :exc:`OSError` exceptions. Note that, when ``shell=True``, :exc:" +"`OSError` will be raised by the child only if the selected shell itself was " +"not found. To determine if the shell failed to find the requested " +"application, it is necessary to check the return code or output from the " +"subprocess." +msgstr "" +"Найпоширенішим винятком є :exc:`OSError`. Це відбувається, наприклад, при " +"спробі запустити неіснуючий файл. Програми повинні підготуватися до " +"винятків :exc:`OSError`. Зауважте, що коли ``shell=True``, :exc:`OSError` " +"буде викликано дочірнім елементом, лише якщо саму вибрану оболонку не " +"знайдено. Щоб визначити, чи не вдалося командній оболонці знайти запитану " +"програму, необхідно перевірити код повернення або вихідні дані підпроцесу." + +msgid "" +"A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " +"arguments." +msgstr "" +"Помилка :exc:`ValueError` буде викликана, якщо :class:`Popen` викликається з " +"недійсними аргументами." + +msgid "" +":func:`check_call` and :func:`check_output` will raise :exc:" +"`CalledProcessError` if the called process returns a non-zero return code." +msgstr "" +":func:`check_call` і :func:`check_output` викличуть :exc:" +"`CalledProcessError`, якщо викликаний процес повертає ненульовий код " +"повернення." + +msgid "" +"All of the functions and methods that accept a *timeout* parameter, such as :" +"func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " +"if the timeout expires before the process exits." +msgstr "" +"Усі функції та методи, які приймають параметр *timeout*, такі як :func:" +"`call` і :meth:`Popen.communicate`, викличуть :exc:`TimeoutExpired`, якщо " +"час очікування закінчується до завершення процесу." + +msgid "" +"Exceptions defined in this module all inherit from :exc:`SubprocessError`." +msgstr "" +"Усі винятки, визначені в цьому модулі, успадковуються від :exc:" +"`SubprocessError`." + +msgid "The :exc:`SubprocessError` base class was added." +msgstr "Додано базовий клас :exc:`SubprocessError`." + +msgid "Security Considerations" +msgstr "Міркування безпеки" + +msgid "" +"Unlike some other popen functions, this implementation will never implicitly " +"call a system shell. This means that all characters, including shell " +"metacharacters, can safely be passed to child processes. If the shell is " +"invoked explicitly, via ``shell=True``, it is the application's " +"responsibility to ensure that all whitespace and metacharacters are quoted " +"appropriately to avoid `shell injection `_ vulnerabilities. On :ref:`some platforms " +"`, it is possible to use :func:`shlex.quote` for this " +"escaping." +msgstr "" +"На відміну від деяких інших функцій popen, ця реалізація ніколи не викличе " +"системну оболонку. Це означає, що всі символи, включаючи метасимволи " +"оболонки, можна безпечно передати дочірнім процесам. Якщо оболонка " +"викликається явно через ``shell=True``, програма несе відповідальність за " +"те, щоб усі пробіли та метасимволи були належним чином взяті в лапки, щоб " +"уникнути `впровадження оболонки `_ уразливостей. На :ref:`деяких платформах " +"`, можна використовувати :func:`shlex.quote` для цього " +"екранування." + +msgid "Popen Objects" +msgstr "Відкрити об'єкти" + +msgid "Instances of the :class:`Popen` class have the following methods:" +msgstr "Екземпляри класу :class:`Popen` мають такі методи:" + +msgid "" +"Check if child process has terminated. Set and return :attr:`~Popen." +"returncode` attribute. Otherwise, returns ``None``." +msgstr "" +"Перевірте, чи завершився дочірній процес. Встановити та повернути атрибут :" +"attr:`~Popen.returncode`. В іншому випадку повертає ``None``." + +msgid "" +"Wait for child process to terminate. Set and return :attr:`~Popen." +"returncode` attribute." +msgstr "" +"Дочекайтеся завершення дочірнього процесу. Встановити та повернути атрибут :" +"attr:`~Popen.returncode`." + +msgid "" +"If the process does not terminate after *timeout* seconds, raise a :exc:" +"`TimeoutExpired` exception. It is safe to catch this exception and retry " +"the wait." +msgstr "" +"Якщо процес не завершується після *тайм-ауту* секунд, викличте виняток :exc:" +"`TimeoutExpired`. Можна безпечно перехопити цей виняток і повторити " +"очікування." + +msgid "" +"This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " +"child process generates enough output to a pipe such that it blocks waiting " +"for the OS pipe buffer to accept more data. Use :meth:`Popen.communicate` " +"when using pipes to avoid that." +msgstr "" +"Це призведе до взаємоблокування під час використання ``stdout=PIPE`` або " +"``stderr=PIPE``, і дочірній процес генерує достатню кількість виводу в " +"канал, щоб блокувати очікування, поки буфер каналу ОС прийме більше даних. " +"Використовуйте :meth:`Popen.communicate` під час використання каналів, щоб " +"уникнути цього." + +msgid "" +"The function is implemented using a busy loop (non-blocking call and short " +"sleeps). Use the :mod:`asyncio` module for an asynchronous wait: see :class:" +"`asyncio.create_subprocess_exec`." +msgstr "" +"Функція реалізована за допомогою циклу зайнятості (неблокуючий виклик і " +"короткі сни). Використовуйте модуль :mod:`asyncio` для асинхронного " +"очікування: див. :class:`asyncio.create_subprocess_exec`." + +msgid "*timeout* was added." +msgstr "Додано *тайм-аут*." + +msgid "" +"Interact with process: Send data to stdin. Read data from stdout and " +"stderr, until end-of-file is reached. Wait for process to terminate and set " +"the :attr:`~Popen.returncode` attribute. The optional *input* argument " +"should be data to be sent to the child process, or ``None``, if no data " +"should be sent to the child. If streams were opened in text mode, *input* " +"must be a string. Otherwise, it must be bytes." +msgstr "" +"Взаємодія з процесом: надсилання даних на stdin. Читання даних із stdout і " +"stderr, доки не буде досягнуто кінця файлу. Зачекайте, поки процес " +"завершиться, і встановіть атрибут :attr:`~Popen.returncode`. Додатковий " +"аргумент *input* має бути даними, які надсилаються дочірньому процесу, або " +"``None``, якщо дані не повинні надсилатися дочірньому процесу. Якщо потоки " +"були відкриті в текстовому режимі, *введення* має бути рядком. В іншому " +"випадку це повинні бути байти." + +msgid "" +":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``. The data " +"will be strings if streams were opened in text mode; otherwise, bytes." +msgstr "" +":meth:`communicate` повертає кортеж ``(stdout_data, stderr_data)``. Дані " +"будуть рядками, якщо потоки були відкриті в текстовому режимі; інакше, байти." + +msgid "" +"Note that if you want to send data to the process's stdin, you need to " +"create the Popen object with ``stdin=PIPE``. Similarly, to get anything " +"other than ``None`` in the result tuple, you need to give ``stdout=PIPE`` " +"and/or ``stderr=PIPE`` too." +msgstr "" +"Зауважте, що якщо ви хочете надіслати дані на стандартний вхід процесу, вам " +"потрібно створити об’єкт Popen за допомогою ``stdin=PIPE``. Подібним чином, " +"щоб отримати щось інше, окрім ``None`` у кортежі результатів, вам також " +"потрібно вказати ``stdout=PIPE`` та/або ``stderr=PIPE``." + +msgid "" +"If the process does not terminate after *timeout* seconds, a :exc:" +"`TimeoutExpired` exception will be raised. Catching this exception and " +"retrying communication will not lose any output." +msgstr "" +"Якщо процес не завершиться після *тайм-ауту* секунд, буде викликано виняток :" +"exc:`TimeoutExpired`. Перехоплення цього винятку та повторна спроба зв’язку " +"не призведуть до втрати вихідних даних." + +msgid "" +"The child process is not killed if the timeout expires, so in order to " +"cleanup properly a well-behaved application should kill the child process " +"and finish communication::" +msgstr "" +"Дочірній процес не вимикається, якщо закінчується час очікування, тому, щоб " +"правильно очистити програму, яка добре працює, слід вбити дочірній процес і " +"завершити зв’язок::" + +msgid "" +"The data read is buffered in memory, so do not use this method if the data " +"size is large or unlimited." +msgstr "" +"Зчитані дані буферизуються в пам’яті, тому не використовуйте цей метод, якщо " +"розмір даних великий або необмежений." + +msgid "Sends the signal *signal* to the child." +msgstr "Посилає сигнал *сигнал* дитині." + +msgid "Do nothing if the process completed." +msgstr "Нічого не робити, якщо процес завершено." + +msgid "" +"On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and " +"CTRL_BREAK_EVENT can be sent to processes started with a *creationflags* " +"parameter which includes ``CREATE_NEW_PROCESS_GROUP``." +msgstr "" + +msgid "" +"Stop the child. On POSIX OSs the method sends SIGTERM to the child. On " +"Windows the Win32 API function :c:func:`TerminateProcess` is called to stop " +"the child." +msgstr "" +"Зупиніть дитину. В ОС POSIX метод надсилає SIGTERM дочірньому елементу. У " +"Windows функція Win32 API :c:func:`TerminateProcess` викликається, щоб " +"зупинити дочірній процес." + +msgid "" +"Kills the child. On POSIX OSs the function sends SIGKILL to the child. On " +"Windows :meth:`kill` is an alias for :meth:`terminate`." +msgstr "" +"Вбиває дитину. В ОС POSIX функція надсилає SIGKILL дочірньому. У Windows :" +"meth:`kill` є псевдонімом для :meth:`terminate`." + +msgid "The following attributes are also available:" +msgstr "Також доступні такі атрибути:" + +msgid "" +"The *args* argument as it was passed to :class:`Popen` -- a sequence of " +"program arguments or else a single string." +msgstr "" +"Аргумент *args*, як його було передано до :class:`Popen` -- послідовність " +"аргументів програми або один рядок." + +msgid "" +"If the *stdin* argument was :data:`PIPE`, this attribute is a writeable " +"stream object as returned by :func:`open`. If the *encoding* or *errors* " +"arguments were specified or the *universal_newlines* argument was ``True``, " +"the stream is a text stream, otherwise it is a byte stream. If the *stdin* " +"argument was not :data:`PIPE`, this attribute is ``None``." +msgstr "" +"Якщо аргумент *stdin* був :data:`PIPE`, цей атрибут є доступним для запису " +"об’єктом потоку, який повертає :func:`open`. Якщо були вказані аргументи " +"*encoding* або *errors* або аргумент *universal_newlines* мав значення " +"``True``, потік є текстовим потоком, інакше це потоком байтів. Якщо аргумент " +"*stdin* не був :data:`PIPE`, цей атрибут має значення ``None``." + +msgid "" +"If the *stdout* argument was :data:`PIPE`, this attribute is a readable " +"stream object as returned by :func:`open`. Reading from the stream provides " +"output from the child process. If the *encoding* or *errors* arguments were " +"specified or the *universal_newlines* argument was ``True``, the stream is a " +"text stream, otherwise it is a byte stream. If the *stdout* argument was " +"not :data:`PIPE`, this attribute is ``None``." +msgstr "" +"Якщо аргумент *stdout* був :data:`PIPE`, цей атрибут є доступним для читання " +"об’єктом потоку, який повертає :func:`open`. Читання з потоку забезпечує " +"вихід з дочірнього процесу. Якщо були вказані аргументи *encoding* або " +"*errors* або аргумент *universal_newlines* мав значення ``True``, потік є " +"текстовим потоком, інакше це потоком байтів. Якщо аргумент *stdout* не був :" +"data:`PIPE`, цей атрибут має значення ``None``." + +msgid "" +"If the *stderr* argument was :data:`PIPE`, this attribute is a readable " +"stream object as returned by :func:`open`. Reading from the stream provides " +"error output from the child process. If the *encoding* or *errors* arguments " +"were specified or the *universal_newlines* argument was ``True``, the stream " +"is a text stream, otherwise it is a byte stream. If the *stderr* argument " +"was not :data:`PIPE`, this attribute is ``None``." +msgstr "" +"Якщо аргумент *stderr* був :data:`PIPE`, цей атрибут є доступним для читання " +"об’єктом потоку, який повертає :func:`open`. Читання з потоку забезпечує " +"виведення помилок від дочірнього процесу. Якщо були вказані аргументи " +"*encoding* або *errors* або аргумент *universal_newlines* мав значення " +"``True``, потік є текстовим потоком, інакше це потоком байтів. Якщо аргумент " +"*stderr* не був :data:`PIPE`, цей атрибут має значення ``None``." + +msgid "" +"Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write `, :attr:`.stdout.read ` or :attr:`.stderr.read ` to avoid deadlocks due to any of the other OS pipe buffers filling " +"up and blocking the child process." +msgstr "" +"Використовуйте :meth:`~Popen.communicate` замість :attr:`.stdin.write `, :attr:`.stdout.read ` або :attr:`.stderr.read `, щоб уникнути взаємоблокувань через будь-які інших буферів каналів " +"ОС, які заповнюються та блокують дочірній процес." + +msgid "The process ID of the child process." +msgstr "Ідентифікатор дочірнього процесу." + +msgid "" +"Note that if you set the *shell* argument to ``True``, this is the process " +"ID of the spawned shell." +msgstr "" +"Зауважте, що якщо ви встановите для аргументу *shell* значення ``True``, це " +"буде ідентифікатор процесу створеної оболонки." + +msgid "" +"The child return code, set by :meth:`poll` and :meth:`wait` (and indirectly " +"by :meth:`communicate`). A ``None`` value indicates that the process hasn't " +"terminated yet." +msgstr "" +"Дочірній код повернення, встановлений :meth:`poll` і :meth:`wait` (і " +"опосередковано :meth:`communicate`). Значення ``None`` вказує на те, що " +"процес ще не завершено." + +msgid "Windows Popen Helpers" +msgstr "Windows Open Helpers" + +msgid "" +"The :class:`STARTUPINFO` class and following constants are only available on " +"Windows." +msgstr "" +"Клас :class:`STARTUPINFO` і наступні константи доступні лише в Windows." + +msgid "" +"Partial support of the Windows `STARTUPINFO `__ structure is used for :class:`Popen` " +"creation. The following attributes can be set by passing them as keyword-" +"only arguments." +msgstr "" +"Часткова підтримка структури Windows `STARTUPINFO `__ використовується для створення :" +"class:`Popen`. Наступні атрибути можна встановити, передавши їх як аргументи " +"лише для ключових слів." + +msgid "Keyword-only argument support was added." +msgstr "Додано підтримку аргументів лише за ключовими словами." + +msgid "" +"A bit field that determines whether certain :class:`STARTUPINFO` attributes " +"are used when the process creates a window. ::" +msgstr "" +"Бітове поле, яке визначає, чи використовуються певні атрибути :class:" +"`STARTUPINFO`, коли процес створює вікно. ::" + +msgid "" +"If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " +"the standard input handle for the process. If :data:`STARTF_USESTDHANDLES` " +"is not specified, the default for standard input is the keyboard buffer." +msgstr "" +"Якщо :attr:`dwFlags` визначає :data:`STARTF_USESTDHANDLES`, цей атрибут є " +"стандартним дескриптором введення для процесу. Якщо :data:" +"`STARTF_USESTDHANDLES` не вказано, за умовчанням для стандартного введення є " +"буфер клавіатури." + +msgid "" +"If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " +"the standard output handle for the process. Otherwise, this attribute is " +"ignored and the default for standard output is the console window's buffer." +msgstr "" +"Якщо :attr:`dwFlags` визначає :data:`STARTF_USESTDHANDLES`, цей атрибут є " +"стандартним дескриптором виводу для процесу. В іншому випадку цей атрибут " +"ігнорується, а за замовчуванням для стандартного виведення буде буфер вікна " +"консолі." + +msgid "" +"If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " +"the standard error handle for the process. Otherwise, this attribute is " +"ignored and the default for standard error is the console window's buffer." +msgstr "" +"Якщо :attr:`dwFlags` визначає :data:`STARTF_USESTDHANDLES`, цей атрибут є " +"стандартним описом помилки для процесу. В іншому випадку цей атрибут " +"ігнорується, а стандартною помилкою за замовчуванням є буфер вікна консолі." + +msgid "" +"If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " +"can be any of the values that can be specified in the ``nCmdShow`` parameter " +"for the `ShowWindow `__ function, except for ``SW_SHOWDEFAULT``. " +"Otherwise, this attribute is ignored." +msgstr "" +"Якщо :attr:`dwFlags` визначає :data:`STARTF_USESHOWWINDOW`, цей атрибут може " +"бути будь-яким із значень, які можна вказати в параметрі ``nCmdShow`` для " +"функції `ShowWindow `__, за винятком ``SW_SHOWDEFAULT``. В іншому випадку " +"цей атрибут ігнорується." + +msgid "" +":data:`SW_HIDE` is provided for this attribute. It is used when :class:" +"`Popen` is called with ``shell=True``." +msgstr "" +":data:`SW_HIDE` передбачено для цього атрибута. Він використовується, коли :" +"class:`Popen` викликається з ``shell=True``." + +msgid "" +"A dictionary of additional attributes for process creation as given in " +"``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__." +msgstr "" +"Словник додаткових атрибутів для створення процесу, наведений у " +"``STARTUPINFOEX``, див. `UpdateProcThreadAttribute `__." + +msgid "Supported attributes:" +msgstr "Підтримувані атрибути:" + +msgid "**handle_list**" +msgstr "**handle_list**" + +msgid "" +"Sequence of handles that will be inherited. *close_fds* must be true if non-" +"empty." +msgstr "" +"Послідовність дескрипторів, які будуть успадковані. *close_fds* має бути " +"істинним, якщо воно не порожнє." + +msgid "" +"The handles must be temporarily made inheritable by :func:`os." +"set_handle_inheritable` when passed to the :class:`Popen` constructor, else :" +"class:`OSError` will be raised with Windows error " +"``ERROR_INVALID_PARAMETER`` (87)." +msgstr "" +":func:`os.set_handle_inheritable` під час передачі в конструктор :class:" +"`Popen` дескрипторів має бути тимчасово успадкованим, інакше :class:" +"`OSError` буде викликано помилкою Windows ``ERROR_INVALID_PARAMETER`` (87)." + +msgid "" +"In a multithreaded process, use caution to avoid leaking handles that are " +"marked inheritable when combining this feature with concurrent calls to " +"other process creation functions that inherit all handles such as :func:`os." +"system`. This also applies to standard handle redirection, which " +"temporarily creates inheritable handles." +msgstr "" +"У багатопотоковому процесі будьте обережні, щоб уникнути витоку " +"дескрипторів, позначених як успадковані, коли поєднуєте цю функцію з " +"одночасними викликами інших функцій створення процесу, які успадковують усі " +"дескриптори, наприклад :func:`os.system`. Це також стосується стандартного " +"перенаправлення дескрипторів, яке тимчасово створює успадковані дескриптори." + +msgid "Windows Constants" +msgstr "Константи Windows" + +msgid "The :mod:`subprocess` module exposes the following constants." +msgstr "Модуль :mod:`subprocess` надає такі константи." + +msgid "" +"The standard input device. Initially, this is the console input buffer, " +"``CONIN$``." +msgstr "" +"Стандартний пристрій введення. Спочатку це буфер введення консолі, ``CONIN" +"$``." + +msgid "" +"The standard output device. Initially, this is the active console screen " +"buffer, ``CONOUT$``." +msgstr "" +"Стандартний пристрій виведення. Спочатку це активний буфер екрана консолі, " +"``CONOUT$``." + +msgid "" +"The standard error device. Initially, this is the active console screen " +"buffer, ``CONOUT$``." +msgstr "" +"Пристрій стандартної помилки. Спочатку це активний буфер екрана консолі, " +"``CONOUT$``." + +msgid "Hides the window. Another window will be activated." +msgstr "Приховує вікно. Буде активовано інше вікно." + +msgid "" +"Specifies that the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." +"hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes contain additional " +"information." +msgstr "" +"Вказує, що атрибути :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." +"hStdOutput` і :attr:`STARTUPINFO.hStdError` містять додаткову інформацію." + +msgid "" +"Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " +"additional information." +msgstr "" +"Вказує, що атрибут :attr:`STARTUPINFO.wShowWindow` містить додаткову " +"інформацію." + +msgid "" +"The new process has a new console, instead of inheriting its parent's " +"console (the default)." +msgstr "" +"Новий процес має нову консоль замість успадкування батьківської консолі (за " +"замовчуванням)." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"group will be created. This flag is necessary for using :func:`os.kill` on " +"the subprocess." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що буде створено " +"нову групу процесів. Цей прапорець необхідний для використання :func:`os." +"kill` у підпроцесі." + +msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." +msgstr "Цей прапорець ігнорується, якщо вказано :data:`CREATE_NEW_CONSOLE`." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will have an above average priority." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес " +"матиме пріоритет вище середнього." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will have a below average priority." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес " +"матиме пріоритет нижче середнього." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will have a high priority." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес " +"матиме високий пріоритет." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will have an idle (lowest) priority." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес " +"матиме неактивний (найнижчий) пріоритет." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will have an normal priority. (default)" +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес " +"матиме нормальний пріоритет. (за умовчанням)" + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will have realtime priority. You should almost never use " +"REALTIME_PRIORITY_CLASS, because this interrupts system threads that manage " +"mouse input, keyboard input, and background disk flushing. This class can be " +"appropriate for applications that \"talk\" directly to hardware or that " +"perform brief tasks that should have limited interruptions." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес " +"матиме пріоритет у реальному часі. Ви майже ніколи не повинні " +"використовувати REALTIME_PRIORITY_CLASS, оскільки це перериває системні " +"потоки, які керують введенням даних миші, введенням даних з клавіатури та " +"фоновим очищенням диска. Цей клас може підійти для програм, які \"спілкуються" +"\" безпосередньо з обладнанням або виконують короткі завдання, які повинні " +"мати обмежені перерви." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will not create a window." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес не " +"створюватиме вікно." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"will not inherit its parent's console. This value cannot be used with " +"CREATE_NEW_CONSOLE." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес не " +"успадковуватиме батьківську консоль. Це значення не можна використовувати з " +"CREATE_NEW_CONSOLE." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"does not inherit the error mode of the calling process. Instead, the new " +"process gets the default error mode. This feature is particularly useful for " +"multithreaded shell applications that run with hard errors disabled." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес не " +"успадковує режим помилки процесу, що викликає. Натомість новий процес " +"отримує стандартний режим помилки. Ця функція особливо корисна для " +"багатопоточних програм оболонки, які працюють із вимкненими серйозними " +"помилками." + +msgid "" +"A :class:`Popen` ``creationflags`` parameter to specify that a new process " +"is not associated with the job." +msgstr "" +"Параметр :class:`Popen` ``creationflags``, щоб вказати, що новий процес не " +"пов’язаний із завданням." + +msgid "Older high-level API" +msgstr "Старіший API високого рівня" + +msgid "" +"Prior to Python 3.5, these three functions comprised the high level API to " +"subprocess. You can now use :func:`run` in many cases, but lots of existing " +"code calls these functions." +msgstr "" +"До Python 3.5 ці три функції містили API високого рівня для підпроцесу. " +"Тепер ви можете використовувати :func:`run` у багатьох випадках, але багато " +"існуючого коду викликають ці функції." + +msgid "" +"Run the command described by *args*. Wait for command to complete, then " +"return the :attr:`~Popen.returncode` attribute." +msgstr "" +"Виконайте команду, описану *args*. Зачекайте, поки команда завершиться, а " +"потім поверніть атрибут :attr:`~Popen.returncode`." + +msgid "" +"Code needing to capture stdout or stderr should use :func:`run` instead::" +msgstr "" +"Код, який потребує захоплення stdout або stderr, повинен використовувати " +"замість цього :func:`run`::" + +msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." +msgstr "Щоб придушити stdout або stderr, укажіть значення :data:`DEVNULL`." + +msgid "" +"The arguments shown above are merely some common ones. The full function " +"signature is the same as that of the :class:`Popen` constructor - this " +"function passes all supplied arguments other than *timeout* directly through " +"to that interface." +msgstr "" +"Аргументи, наведені вище, є лише поширеними. Повний підпис функції такий " +"самий, як і у конструктора :class:`Popen` - ця функція передає всі надані " +"аргументи, окрім *timeout*, безпосередньо до цього інтерфейсу." + +msgid "" +"Do not use ``stdout=PIPE`` or ``stderr=PIPE`` with this function. The child " +"process will block if it generates enough output to a pipe to fill up the OS " +"pipe buffer as the pipes are not being read from." +msgstr "" +"Не використовуйте ``stdout=PIPE`` або ``stderr=PIPE`` з цією функцією. " +"Дочірній процес буде заблоковано, якщо він генерує достатньо вихідних даних " +"у канал, щоб заповнити буфер каналу ОС, оскільки канали не зчитуються." + +msgid "" +"Run command with arguments. Wait for command to complete. If the return " +"code was zero then return, otherwise raise :exc:`CalledProcessError`. The :" +"exc:`CalledProcessError` object will have the return code in the :attr:" +"`~CalledProcessError.returncode` attribute. If :func:`check_call` was unable " +"to start the process it will propagate the exception that was raised." +msgstr "" +"Виконати команду з аргументами. Дочекайтеся виконання команди. Якщо код " +"повернення дорівнює нулю, тоді повертається, інакше викликається :exc:" +"`CalledProcessError`. Об’єкт :exc:`CalledProcessError` матиме код повернення " +"в атрибуті :attr:`~CalledProcessError.returncode`. Якщо :func:`check_call` " +"не вдалося запустити процес, він поширить викликану виняткову ситуацію." + +msgid "Run command with arguments and return its output." +msgstr "Виконати команду з аргументами та повернути її результат." + +msgid "" +"If the return code was non-zero it raises a :exc:`CalledProcessError`. The :" +"exc:`CalledProcessError` object will have the return code in the :attr:" +"`~CalledProcessError.returncode` attribute and any output in the :attr:" +"`~CalledProcessError.output` attribute." +msgstr "" +"Якщо код повернення був ненульовим, це викликає :exc:`CalledProcessError`. " +"Об’єкт :exc:`CalledProcessError` матиме код повернення в атрибуті :attr:" +"`~CalledProcessError.returncode` і будь-який вивід в атрибуті :attr:" +"`~CalledProcessError.output`." + +msgid "This is equivalent to::" +msgstr "Це еквівалентно::" + +msgid "" +"The arguments shown above are merely some common ones. The full function " +"signature is largely the same as that of :func:`run` - most arguments are " +"passed directly through to that interface. One API deviation from :func:" +"`run` behavior exists: passing ``input=None`` will behave the same as " +"``input=b''`` (or ``input=''``, depending on other arguments) rather than " +"using the parent's standard input file handle." +msgstr "" +"Аргументи, наведені вище, є лише поширеними. Повний підпис функції " +"здебільшого такий самий, як і :func:`run` - більшість аргументів передаються " +"безпосередньо до цього інтерфейсу. Існує одне відхилення API від поведінки :" +"func:`run`: передача ``input=None`` поводитиметься так само, як " +"``input=b''`` (або ``input=''``, залежно від інших аргументів ), а не " +"використовувати стандартний дескриптор файлу введення батьківського." + +msgid "" +"By default, this function will return the data as encoded bytes. The actual " +"encoding of the output data may depend on the command being invoked, so the " +"decoding to text will often need to be handled at the application level." +msgstr "" +"За замовчуванням ця функція повертатиме дані у вигляді закодованих байтів. " +"Фактичне кодування вихідних даних може залежати від викликаної команди, тому " +"декодування в текст часто потрібно виконувати на рівні програми." + +msgid "" +"This behaviour may be overridden by setting *text*, *encoding*, *errors*, or " +"*universal_newlines* to ``True`` as described in :ref:`frequently-used-" +"arguments` and :func:`run`." +msgstr "" +"Цю поведінку можна змінити, встановивши для *text*, *encoding*, *errors* або " +"*universal_newlines* значення ``True``, як описано в :ref:`frequently-used-" +"arguments` і :func:`run`." + +msgid "" +"To also capture standard error in the result, use ``stderr=subprocess." +"STDOUT``::" +msgstr "" +"Щоб також зафіксувати стандартну помилку в результаті, використовуйте " +"``stderr=subprocess.STDOUT``::" + +msgid "Support for the *input* keyword argument was added." +msgstr "Додано підтримку аргументу ключового слова *input*." + +msgid "*encoding* and *errors* were added. See :func:`run` for details." +msgstr "Додано *кодування* та *помилки*. Перегляньте :func:`run` для деталей." + +msgid "Replacing Older Functions with the :mod:`subprocess` Module" +msgstr "Заміна старих функцій модулем :mod:`subprocess`" + +msgid "" +"In this section, \"a becomes b\" means that b can be used as a replacement " +"for a." +msgstr "" +"У цьому розділі \"a стає b\" означає, що b можна використовувати як заміну a." + +msgid "" +"All \"a\" functions in this section fail (more or less) silently if the " +"executed program cannot be found; the \"b\" replacements raise :exc:" +"`OSError` instead." +msgstr "" +"Усі функції \"a\" в цьому розділі виходять з ладу (більш-менш) тихо, якщо " +"виконувану програму неможливо знайти; натомість заміни \"b\" викликають :exc:" +"`OSError`." + +msgid "" +"In addition, the replacements using :func:`check_output` will fail with a :" +"exc:`CalledProcessError` if the requested operation produces a non-zero " +"return code. The output is still available as the :attr:`~CalledProcessError." +"output` attribute of the raised exception." +msgstr "" +"Крім того, заміни за допомогою :func:`check_output` завершаться помилкою з :" +"exc:`CalledProcessError`, якщо запитана операція створює ненульовий код " +"повернення. Вихід все ще доступний як атрибут :attr:`~CalledProcessError." +"output` викликаного винятку." + +msgid "" +"In the following examples, we assume that the relevant functions have " +"already been imported from the :mod:`subprocess` module." +msgstr "" +"У наступних прикладах ми припускаємо, що відповідні функції вже імпортовано " +"з модуля :mod:`subprocess`." + +msgid "Replacing :program:`/bin/sh` shell command substitution" +msgstr "Заміна команди оболонки :program:`/bin/sh`" + +msgid "becomes::" +msgstr "стає::" + +msgid "Replacing shell pipeline" +msgstr "Заміна оболонкового трубопроводу" + +msgid "" +"The ``p1.stdout.close()`` call after starting the p2 is important in order " +"for p1 to receive a SIGPIPE if p2 exits before p1." +msgstr "" +"Виклик ``p1.stdout.close()`` після запуску p2 важливий для того, щоб p1 " +"отримував SIGPIPE, якщо p2 завершується перед p1." + +msgid "" +"Alternatively, for trusted input, the shell's own pipeline support may still " +"be used directly:" +msgstr "" +"Крім того, для довіреного введення власна підтримка конвеєра оболонки може " +"використовуватися безпосередньо:" + +msgid "Replacing :func:`os.system`" +msgstr "Заміна :func:`os.system`" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "Calling the program through the shell is usually not required." +msgstr "Виклик програми через оболонку зазвичай не потрібен." + +msgid "" +"The :func:`call` return value is encoded differently to that of :func:`os." +"system`." +msgstr "" +"Повернене значення :func:`call` кодується інакше, ніж значення :func:`os." +"system`." + +msgid "" +"The :func:`os.system` function ignores SIGINT and SIGQUIT signals while the " +"command is running, but the caller must do this separately when using the :" +"mod:`subprocess` module." +msgstr "" +"Функція :func:`os.system` ігнорує сигнали SIGINT і SIGQUIT під час виконання " +"команди, але абонент, що викликає, повинен робити це окремо, коли " +"використовується модуль :mod:`subprocess`." + +msgid "A more realistic example would look like this::" +msgstr "Більш реалістичний приклад виглядатиме так:" + +msgid "Replacing the :func:`os.spawn ` family" +msgstr "Заміна сімейства :func:`os.spawn `" + +msgid "P_NOWAIT example::" +msgstr "Приклад P_NOWAIT::" + +msgid "P_WAIT example::" +msgstr "Приклад P_WAIT::" + +msgid "Vector example::" +msgstr "Векторний приклад::" + +msgid "Environment example::" +msgstr "Приклад середовища::" + +msgid "Replacing :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" +msgstr "Заміна :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" + +msgid "Return code handling translates as follows::" +msgstr "Обробка коду повернення перекладається наступним чином:" + +msgid "Replacing functions from the :mod:`popen2` module" +msgstr "Заміна функцій з модуля :mod:`popen2`" + +msgid "" +"If the cmd argument to popen2 functions is a string, the command is executed " +"through /bin/sh. If it is a list, the command is directly executed." +msgstr "" +"Якщо аргумент cmd для функцій popen2 є рядком, команда виконується через /" +"bin/sh. Якщо це список, команда виконується безпосередньо." + +msgid "" +":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work as :class:" +"`subprocess.Popen`, except that:" +msgstr "" +":class:`popen2.Popen3` і :class:`popen2.Popen4` в основному працюють як :" +"class:`subprocess.Popen`, за винятком того, що:" + +msgid ":class:`Popen` raises an exception if the execution fails." +msgstr ":class:`Popen` викликає виняток, якщо виконання не вдається." + +msgid "The *capturestderr* argument is replaced with the *stderr* argument." +msgstr "Аргумент *capturestderr* замінюється на аргумент *stderr*." + +msgid "``stdin=PIPE`` and ``stdout=PIPE`` must be specified." +msgstr "Необхідно вказати ``stdin=PIPE`` і ``stdout=PIPE``." + +msgid "" +"popen2 closes all file descriptors by default, but you have to specify " +"``close_fds=True`` with :class:`Popen` to guarantee this behavior on all " +"platforms or past Python versions." +msgstr "" +"popen2 закриває всі дескриптори файлів за замовчуванням, але ви повинні " +"вказати ``close_fds=True`` з :class:`Popen`, щоб гарантувати таку поведінку " +"на всіх платформах або попередніх версіях Python." + +msgid "Legacy Shell Invocation Functions" +msgstr "Застарілі функції виклику оболонки" + +msgid "" +"This module also provides the following legacy functions from the 2.x " +"``commands`` module. These operations implicitly invoke the system shell and " +"none of the guarantees described above regarding security and exception " +"handling consistency are valid for these functions." +msgstr "" +"Цей модуль також надає такі застарілі функції з модуля ``команд`` 2.x. Ці " +"операції неявно викликають системну оболонку, і жодна з описаних вище " +"гарантій безпеки та узгодженості обробки винятків не діє для цих функцій." + +msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." +msgstr "Повернення ``(код виходу, вихід)`` виконання *cmd* в оболонці." + +msgid "" +"Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " +"return a 2-tuple ``(exitcode, output)``. *encoding* and *errors* are used to " +"decode output; see the notes on :ref:`frequently-used-arguments` for more " +"details." +msgstr "" + +msgid "" +"A trailing newline is stripped from the output. The exit code for the " +"command can be interpreted as the return code of subprocess. Example::" +msgstr "" +"Кінцевий символ нового рядка видаляється з результату. Код виходу для " +"команди можна інтерпретувати як код повернення підпроцесу. Приклад::" + +msgid ":ref:`Availability `: Unix, Windows." +msgstr ":ref:`Наявність `: Unix, Windows." + +msgid "Windows support was added." +msgstr "Додано підтримку Windows." + +msgid "" +"The function now returns (exitcode, output) instead of (status, output) as " +"it did in Python 3.3.3 and earlier. exitcode has the same value as :attr:" +"`~Popen.returncode`." +msgstr "" +"Тепер функція повертає (код виходу, вихід) замість (статус, вихід), як це " +"було в Python 3.3.3 і попередніх версіях. код виходу має те саме значення, " +"що й :attr:`~Popen.returncode`." + +msgid "Added *encoding* and *errors* arguments." +msgstr "" + +msgid "Return output (stdout and stderr) of executing *cmd* in a shell." +msgstr "Вихідні дані (stdout і stderr) виконання *cmd* в оболонці." + +msgid "" +"Like :func:`getstatusoutput`, except the exit code is ignored and the return " +"value is a string containing the command's output. Example::" +msgstr "" +"Як :func:`getstatusoutput`, за винятком того, що код виходу ігнорується, а " +"значення, що повертається, є рядком, що містить вихідні дані команди. " +"Приклад::" + +msgid "Windows support added" +msgstr "Додано підтримку Windows" + +msgid "Notes" +msgstr "Примітки" + +msgid "Converting an argument sequence to a string on Windows" +msgstr "Перетворення послідовності аргументів на рядок у Windows" + +msgid "" +"On Windows, an *args* sequence is converted to a string that can be parsed " +"using the following rules (which correspond to the rules used by the MS C " +"runtime):" +msgstr "" +"У Windows послідовність *args* перетворюється на рядок, який можна " +"проаналізувати за такими правилами (які відповідають правилам, які " +"використовує середовище виконання MS C):" + +msgid "" +"Arguments are delimited by white space, which is either a space or a tab." +msgstr "Аргументи розділені пробілом, який є пробілом або табуляцією." + +msgid "" +"A string surrounded by double quotation marks is interpreted as a single " +"argument, regardless of white space contained within. A quoted string can " +"be embedded in an argument." +msgstr "" +"Рядок, взятий у подвійні лапки, інтерпретується як один аргумент, незалежно " +"від пробілу, що міститься в ньому. Рядок у лапках можна вставити в аргумент." + +msgid "" +"A double quotation mark preceded by a backslash is interpreted as a literal " +"double quotation mark." +msgstr "" +"Подвійні лапки, перед якими стоїть зворотна скісна риска, інтерпретуються як " +"буквальні подвійні лапки." + +msgid "" +"Backslashes are interpreted literally, unless they immediately precede a " +"double quotation mark." +msgstr "" +"Зворотні косі риски інтерпретуються буквально, якщо вони не стоять " +"безпосередньо перед подвійними лапками." + +msgid "" +"If backslashes immediately precede a double quotation mark, every pair of " +"backslashes is interpreted as a literal backslash. If the number of " +"backslashes is odd, the last backslash escapes the next double quotation " +"mark as described in rule 3." +msgstr "" +"Якщо зворотні похилі риски безпосередньо передують подвійним лапкам, кожна " +"пара зворотних похилих рисок інтерпретується як буквальна зворотна похила " +"риска. Якщо кількість зворотних скісних рисок непарна, остання зворотна " +"скісна риска виходить із наступних подвійних лапок, як описано в правилі 3." + +msgid ":mod:`shlex`" +msgstr ":mod:`shlex`" + +msgid "Module which provides function to parse and escape command lines." +msgstr "" +"Модуль, який забезпечує функцію аналізу та екранування командних рядків." + +msgid "Disabling use of ``vfork()`` or ``posix_spawn()``" +msgstr "" + +msgid "" +"On Linux, :mod:`subprocess` defaults to using the ``vfork()`` system call " +"internally when it is safe to do so rather than ``fork()``. This greatly " +"improves performance." +msgstr "" + +msgid "" +"If you ever encounter a presumed highly unusual situation where you need to " +"prevent ``vfork()`` from being used by Python, you can set the :attr:" +"`subprocess._USE_VFORK` attribute to a false value." +msgstr "" + +msgid "subprocess._USE_VFORK = False # See CPython issue gh-NNNNNN." +msgstr "" + +msgid "" +"Setting this has no impact on use of ``posix_spawn()`` which could use " +"``vfork()`` internally within its libc implementation. There is a similar :" +"attr:`subprocess._USE_POSIX_SPAWN` attribute if you need to prevent use of " +"that." +msgstr "" + +msgid "subprocess._USE_POSIX_SPAWN = False # See CPython issue gh-NNNNNN." +msgstr "" + +msgid "" +"It is safe to set these to false on any Python version. They will have no " +"effect on older versions when unsupported. Do not assume the attributes are " +"available to read. Despite their names, a true value does not indicate that " +"the corresponding function will be used, only that that it may be." +msgstr "" + +msgid "" +"Please file issues any time you have to use these private knobs with a way " +"to reproduce the issue you were seeing. Link to that issue from a comment in " +"your code." +msgstr "" + +msgid "``_USE_POSIX_SPAWN``" +msgstr "" + +msgid "``_USE_VFORK``" +msgstr "" diff --git a/library/sunau.po b/library/sunau.po new file mode 100644 index 000000000..bce5c5e56 --- /dev/null +++ b/library/sunau.po @@ -0,0 +1,347 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`sunau` --- Read and write Sun AU files" +msgstr ":mod:`sunau` --- Читання та запис файлів Sun AU" + +msgid "**Source code:** :source:`Lib/sunau.py`" +msgstr "**Вихідний код:** :source:`Lib/sunau.py`" + +msgid "" +"The :mod:`sunau` module is deprecated (see :pep:`PEP 594 <594#sunau>` for " +"details)." +msgstr "" +"Модуль :mod:`sunau` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#sunau>`)." + +msgid "" +"The :mod:`sunau` module provides a convenient interface to the Sun AU sound " +"format. Note that this module is interface-compatible with the modules :mod:" +"`aifc` and :mod:`wave`." +msgstr "" +"Модуль :mod:`sunau` забезпечує зручний інтерфейс для звукового формату Sun " +"AU. Зауважте, що цей модуль інтерфейсно сумісний із модулями :mod:`aifc` і :" +"mod:`wave`." + +msgid "" +"An audio file consists of a header followed by the data. The fields of the " +"header are:" +msgstr "" +"Аудіофайл складається із заголовка, за яким слідують дані. Поля заголовка:" + +msgid "Field" +msgstr "Поле" + +msgid "Contents" +msgstr "Зміст" + +msgid "magic word" +msgstr "чарівне слово" + +msgid "The four bytes ``.snd``." +msgstr "Чотири байти ``.snd``." + +msgid "header size" +msgstr "розмір заголовка" + +msgid "Size of the header, including info, in bytes." +msgstr "Розмір заголовка, включаючи інформацію, у байтах." + +msgid "data size" +msgstr "розмір даних" + +msgid "Physical size of the data, in bytes." +msgstr "Фізичний розмір даних, у байтах." + +msgid "encoding" +msgstr "кодування" + +msgid "Indicates how the audio samples are encoded." +msgstr "Вказує, як закодовано аудіо зразки." + +msgid "sample rate" +msgstr "частота дискретизації" + +msgid "The sampling rate." +msgstr "Частота дискретизації." + +msgid "# of channels" +msgstr "# каналів" + +msgid "The number of channels in the samples." +msgstr "Кількість каналів у вибірках." + +msgid "info" +msgstr "інформація" + +msgid "" +"ASCII string giving a description of the audio file (padded with null bytes)." +msgstr "" +"Рядок ASCII, що містить опис аудіофайлу (доповнений нульовими байтами)." + +msgid "" +"Apart from the info field, all header fields are 4 bytes in size. They are " +"all 32-bit unsigned integers encoded in big-endian byte order." +msgstr "" +"Окрім інформаційного поля, усі поля заголовка мають розмір 4 байти. Усі вони " +"являють собою 32-розрядні цілі числа без знаку, закодовані в порядку байтів " +"у порядку байтів." + +msgid "The :mod:`sunau` module defines the following functions:" +msgstr "Модуль :mod:`sunau` визначає такі функції:" + +msgid "" +"If *file* is a string, open the file by that name, otherwise treat it as a " +"seekable file-like object. *mode* can be any of" +msgstr "" +"Якщо *file* є рядком, відкрийте файл із таким іменем, інакше розглядайте " +"його як файлоподібний об’єкт, який можна шукати. *режим* може бути будь-яким " +"із" + +msgid "``'r'``" +msgstr "``'r''``" + +msgid "Read only mode." +msgstr "Режим тільки читання." + +msgid "``'w'``" +msgstr "``'w'``" + +msgid "Write only mode." +msgstr "Режим лише запису." + +msgid "Note that it does not allow read/write files." +msgstr "Зверніть увагу, що він не дозволяє читати/записувати файли." + +msgid "" +"A *mode* of ``'r'`` returns an :class:`AU_read` object, while a *mode* of " +"``'w'`` or ``'wb'`` returns an :class:`AU_write` object." +msgstr "" +"*Режим* ``'r'`` повертає об'єкт :class:`AU_read`, тоді як *режим* ``'w'`` " +"або ``'wb'`` повертає :class:`AU_write` об'єкт." + +msgid "The :mod:`sunau` module defines the following exception:" +msgstr "Модуль :mod:`sunau` визначає такий виняток:" + +msgid "" +"An error raised when something is impossible because of Sun AU specs or " +"implementation deficiency." +msgstr "" +"Помилка виникає, коли щось неможливо через специфікації Sun AU або недолік " +"реалізації." + +msgid "The :mod:`sunau` module defines the following data items:" +msgstr "Модуль :mod:`sunau` визначає такі елементи даних:" + +msgid "" +"An integer every valid Sun AU file begins with, stored in big-endian form. " +"This is the string ``.snd`` interpreted as an integer." +msgstr "" +"Ціле число, з якого починається кожен дійсний файл Sun AU, зберігається у " +"формі старшого порядку. Це рядок ``.snd``, який інтерпретується як ціле " +"число." + +msgid "" +"Values of the encoding field from the AU header which are supported by this " +"module." +msgstr "" +"Значення поля кодування із заголовка AU, які підтримуються цим модулем." + +msgid "" +"Additional known values of the encoding field from the AU header, but which " +"are not supported by this module." +msgstr "" +"Додаткові відомі значення поля кодування із заголовка AU, які не " +"підтримуються цим модулем." + +msgid "AU_read Objects" +msgstr "Об’єкти AU_read" + +msgid "" +"AU_read objects, as returned by :func:`.open` above, have the following " +"methods:" +msgstr "Об’єкти AU_read, які повертає :func:`.open` вище, мають такі методи:" + +msgid "" +"Close the stream, and make the instance unusable. (This is called " +"automatically on deletion.)" +msgstr "" +"Закрийте потік і зробіть екземпляр непридатним для використання. (Це " +"викликається автоматично під час видалення.)" + +msgid "Returns number of audio channels (1 for mono, 2 for stereo)." +msgstr "Повертає кількість аудіоканалів (1 для моно, 2 для стерео)." + +msgid "Returns sample width in bytes." +msgstr "Повертає ширину вибірки в байтах." + +msgid "Returns sampling frequency." +msgstr "Повертає частоту вибірки." + +msgid "Returns number of audio frames." +msgstr "Повертає кількість звукових кадрів." + +msgid "" +"Returns compression type. Supported compression types are ``'ULAW'``, " +"``'ALAW'`` and ``'NONE'``." +msgstr "" +"Повертає тип стиснення. Підтримувані типи стиснення: ULAW, ALAW і NONE." + +msgid "" +"Human-readable version of :meth:`getcomptype`. The supported types have the " +"respective names ``'CCITT G.711 u-law'``, ``'CCITT G.711 A-law'`` and ``'not " +"compressed'``." +msgstr "" +"Зрозуміла для людини версія :meth:`getcomptype`. Підтримувані типи мають " +"відповідні назви \"CCITT G.711 u-law\", \"CCITT G.711 A-law\" і \"not " +"compressed\"." + +msgid "" +"Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " +"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" +"`get\\*` methods." +msgstr "" +"Повертає :func:`~collections.namedtuple` ``(nchannels, sampwidth, framerate, " +"nframes, comptype, compname)``, еквівалентний виводу методів :meth:`get\\*`." + +msgid "" +"Reads and returns at most *n* frames of audio, as a :class:`bytes` object. " +"The data will be returned in linear format. If the original data is in u-" +"LAW format, it will be converted." +msgstr "" +"Читає та повертає щонайбільше *n* кадрів аудіо як об’єкт :class:`bytes`. " +"Дані будуть повернуті в лінійному форматі. Якщо вихідні дані мають формат u-" +"LAW, їх буде перетворено." + +msgid "Rewind the file pointer to the beginning of the audio stream." +msgstr "Перемотайте покажчик файлу на початок аудіопотоку." + +msgid "" +"The following two methods define a term \"position\" which is compatible " +"between them, and is otherwise implementation dependent." +msgstr "" +"Наступні два методи визначають термін \"позиція\", який є сумісним між ними, " +"а в інших випадках залежить від реалізації." + +msgid "" +"Set the file pointer to the specified position. Only values returned from :" +"meth:`tell` should be used for *pos*." +msgstr "" +"Встановіть покажчик файлу у вказане положення. Для *pos* слід " +"використовувати лише значення, які повертає :meth:`tell`." + +msgid "" +"Return current file pointer position. Note that the returned value has " +"nothing to do with the actual position in the file." +msgstr "" +"Повернути поточне положення покажчика файлу. Зверніть увагу, що повернуте " +"значення не має нічого спільного з фактичною позицією у файлі." + +msgid "" +"The following two functions are defined for compatibility with the :mod:" +"`aifc`, and don't do anything interesting." +msgstr "" +"Наступні дві функції визначені для сумісності з :mod:`aifc` і не роблять " +"нічого цікавого." + +msgid "Returns ``None``." +msgstr "Повертає ``None``." + +msgid "Raise an error." +msgstr "Викликати помилку." + +msgid "AU_write Objects" +msgstr "Об’єкти AU_write" + +msgid "" +"AU_write objects, as returned by :func:`.open` above, have the following " +"methods:" +msgstr "Об’єкти AU_write, які повертає :func:`.open` вище, мають такі методи:" + +msgid "Set the number of channels." +msgstr "Встановіть кількість каналів." + +msgid "Set the sample width (in bytes.)" +msgstr "Встановіть ширину вибірки (у байтах)." + +msgid "Added support for 24-bit samples." +msgstr "Додано підтримку 24-розрядних зразків." + +msgid "Set the frame rate." +msgstr "Встановіть частоту кадрів." + +msgid "" +"Set the number of frames. This can be later changed, when and if more " +"frames are written." +msgstr "" +"Встановіть кількість кадрів. Це можна змінити пізніше, коли і якщо буде " +"записано більше кадрів." + +msgid "" +"Set the compression type and description. Only ``'NONE'`` and ``'ULAW'`` are " +"supported on output." +msgstr "" +"Встановіть тип стиснення та опис. На виводі підтримуються лише ``'NONE'`` і " +"``'ULAW'``." + +msgid "" +"The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " +"compname)``, with values valid for the :meth:`set\\*` methods. Set all " +"parameters." +msgstr "" +"Кортеж має бути ``(nchannels, sampwidth, framerate, nframes, comptype, " +"compname)`` зі значеннями, дійсними для методів :meth:`set\\*`. Встановити " +"всі параметри." + +msgid "" +"Return current position in the file, with the same disclaimer for the :meth:" +"`AU_read.tell` and :meth:`AU_read.setpos` methods." +msgstr "" +"Повертає поточну позицію у файлі з тим самим застереженням для методів :meth:" +"`AU_read.tell` і :meth:`AU_read.setpos`." + +msgid "Write audio frames, without correcting *nframes*." +msgstr "Записуйте аудіокадри, не виправляючи *nframes*." + +msgid "Any :term:`bytes-like object` is now accepted." +msgstr "Тепер приймається будь-який :term:`bytes-like object`." + +msgid "Write audio frames and make sure *nframes* is correct." +msgstr "Напишіть звукові кадри та переконайтеся, що *nframes* правильний." + +msgid "Make sure *nframes* is correct, and close the file." +msgstr "Переконайтеся, що *nframes* правильний, і закрийте файл." + +msgid "This method is called upon deletion." +msgstr "Цей метод викликається при видаленні." + +msgid "" +"Note that it is invalid to set any parameters after calling :meth:" +"`writeframes` or :meth:`writeframesraw`." +msgstr "" +"Зауважте, що не можна встановлювати будь-які параметри після виклику :meth:" +"`writeframes` або :meth:`writeframesraw`." diff --git a/library/superseded.po b/library/superseded.po new file mode 100644 index 000000000..5c5fb01db --- /dev/null +++ b/library/superseded.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Superseded Modules" +msgstr "Замінені модулі" + +msgid "" +"The modules described in this chapter are deprecated and only kept for " +"backwards compatibility. They have been superseded by other modules." +msgstr "" +"Модулі, описані в цьому розділі, застаріли та зберігаються лише для " +"зворотної сумісності. Вони були замінені іншими модулями." diff --git a/library/symtable.po b/library/symtable.po new file mode 100644 index 000000000..4c885f826 --- /dev/null +++ b/library/symtable.po @@ -0,0 +1,216 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`symtable` --- Access to the compiler's symbol tables" +msgstr ":mod:`symtable` --- Доступ до таблиць символів компілятора" + +msgid "**Source code:** :source:`Lib/symtable.py`" +msgstr "**Вихідний код:** :source:`Lib/symtable.py`" + +msgid "" +"Symbol tables are generated by the compiler from AST just before bytecode is " +"generated. The symbol table is responsible for calculating the scope of " +"every identifier in the code. :mod:`symtable` provides an interface to " +"examine these tables." +msgstr "" +"Таблиці символів генеруються компілятором з AST безпосередньо перед " +"генерацією байт-коду. Таблиця символів відповідає за обчислення області " +"кожного ідентифікатора в коді. :mod:`symtable` надає інтерфейс для перевірки " +"цих таблиць." + +msgid "Generating Symbol Tables" +msgstr "Створення таблиць символів" + +msgid "" +"Return the toplevel :class:`SymbolTable` for the Python source *code*. " +"*filename* is the name of the file containing the code. *compile_type* is " +"like the *mode* argument to :func:`compile`." +msgstr "" +"Повертає верхній рівень :class:`SymbolTable` для вихідного *коду* Python. " +"*filename* — це ім’я файлу, що містить код. *compile_type* схожий на " +"аргумент *mode* для :func:`compile`." + +msgid "Examining Symbol Tables" +msgstr "Вивчення таблиць символів" + +msgid "A namespace table for a block. The constructor is not public." +msgstr "Таблиця простору імен для блоку. Конструктор не є публічним." + +msgid "" +"Return the type of the symbol table. Possible values are ``'class'``, " +"``'module'``, and ``'function'``." +msgstr "" +"Повертає тип таблиці символів. Можливі значення: ``'class'``, ``'module'`` і " +"``'function'``." + +msgid "Return the table's identifier." +msgstr "Повернути ідентифікатор таблиці." + +msgid "" +"Return the table's name. This is the name of the class if the table is for " +"a class, the name of the function if the table is for a function, or " +"``'top'`` if the table is global (:meth:`get_type` returns ``'module'``)." +msgstr "" +"Повернути назву таблиці. Це назва класу, якщо таблиця призначена для класу, " +"назва функції, якщо таблиця призначена для функції, або ``'top'``, якщо " +"таблиця є глобальною (:meth:`get_type` повертає ``'модуль'``)." + +msgid "Return the number of the first line in the block this table represents." +msgstr "Повертає номер першого рядка в блоці, який представляє ця таблиця." + +msgid "Return ``True`` if the locals in this table can be optimized." +msgstr "" +"Повертає ``True``, якщо локальні значення в цій таблиці можна оптимізувати." + +msgid "Return ``True`` if the block is a nested class or function." +msgstr "Повертає ``True``, якщо блок є вкладеним класом або функцією." + +msgid "" +"Return ``True`` if the block has nested namespaces within it. These can be " +"obtained with :meth:`get_children`." +msgstr "" +"Повертає ``True``, якщо в блоці є вкладені простори імен. Їх можна отримати " +"за допомогою :meth:`get_children`." + +msgid "" +"Return a view object containing the names of symbols in the table. See the :" +"ref:`documentation of view objects `." +msgstr "" +"Повертає об’єкт представлення, що містить імена символів у таблиці. " +"Перегляньте :ref:`документацію об’єктів перегляду `." + +msgid "Lookup *name* in the table and return a :class:`Symbol` instance." +msgstr "Знайдіть *name* у таблиці та поверніть екземпляр :class:`Symbol`." + +msgid "Return a list of :class:`Symbol` instances for names in the table." +msgstr "Повертає список екземплярів :class:`Symbol` для імен у таблиці." + +msgid "Return a list of the nested symbol tables." +msgstr "Повертає список вкладених таблиць символів." + +msgid "" +"A namespace for a function or method. This class inherits :class:" +"`SymbolTable`." +msgstr "" +"Простір імен для функції або методу. Цей клас успадковує :class:" +"`SymbolTable`." + +msgid "Return a tuple containing names of parameters to this function." +msgstr "Повертає кортеж, що містить імена параметрів цієї функції." + +msgid "Return a tuple containing names of locals in this function." +msgstr "Повертає кортеж, що містить імена місцевих жителів у цій функції." + +msgid "Return a tuple containing names of globals in this function." +msgstr "Повертає кортеж, що містить імена глобалів у цій функції." + +msgid "Return a tuple containing names of nonlocals in this function." +msgstr "Повертає кортеж, що містить імена нелокальних у цій функції." + +msgid "Return a tuple containing names of free variables in this function." +msgstr "Повертає кортеж, що містить імена вільних змінних у цій функції." + +msgid "A namespace of a class. This class inherits :class:`SymbolTable`." +msgstr "Простір імен класу. Цей клас успадковує :class:`SymbolTable`." + +msgid "Return a tuple containing the names of methods declared in the class." +msgstr "Повертає кортеж, що містить імена методів, оголошених у класі." + +msgid "" +"An entry in a :class:`SymbolTable` corresponding to an identifier in the " +"source. The constructor is not public." +msgstr "" +"Запис у :class:`SymbolTable`, що відповідає ідентифікатору в джерелі. " +"Конструктор не є публічним." + +msgid "Return the symbol's name." +msgstr "Повернути назву символу." + +msgid "Return ``True`` if the symbol is used in its block." +msgstr "Повертає ``True``, якщо символ використовується в його блоці." + +msgid "Return ``True`` if the symbol is created from an import statement." +msgstr "Повертає ``True``, якщо символ створено з оператора імпорту." + +msgid "Return ``True`` if the symbol is a parameter." +msgstr "Повертає ``True``, якщо символ є параметром." + +msgid "Return ``True`` if the symbol is global." +msgstr "Повертає ``True``, якщо символ є глобальним." + +msgid "Return ``True`` if the symbol is nonlocal." +msgstr "Повертає ``True``, якщо символ нелокальний." + +msgid "" +"Return ``True`` if the symbol is declared global with a global statement." +msgstr "" +"Повертає ``True``, якщо символ оголошено глобальним за допомогою глобального " +"оператора." + +msgid "Return ``True`` if the symbol is local to its block." +msgstr "Повертає ``True``, якщо символ є локальним для свого блоку." + +msgid "Return ``True`` if the symbol is annotated." +msgstr "Повертає ``True``, якщо символ анотований." + +msgid "" +"Return ``True`` if the symbol is referenced in its block, but not assigned " +"to." +msgstr "" +"Повертає ``True``, якщо символ є посиланням у його блоці, але не призначений." + +msgid "Return ``True`` if the symbol is assigned to in its block." +msgstr "Повертає ``True``, якщо символу призначено в його блоці." + +msgid "Return ``True`` if name binding introduces new namespace." +msgstr "Повертає ``True``, якщо зв’язування імен створює новий простір імен." + +msgid "" +"If the name is used as the target of a function or class statement, this " +"will be true." +msgstr "" +"Якщо ім’я використовується як ціль оператора функції чи класу, це буде вірно." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"Note that a single name can be bound to multiple objects. If the result is " +"``True``, the name may also be bound to other objects, like an int or list, " +"that does not introduce a new namespace." +msgstr "" +"Зауважте, що одне ім’я може бути прив’язане до кількох об’єктів. Якщо " +"результат ``True``, ім'я також може бути прив'язане до інших об'єктів, таких " +"як int або список, які не вводять новий простір імен." + +msgid "Return a list of namespaces bound to this name." +msgstr "Повертає список просторів імен, прив’язаних до цього імені." + +msgid "" +"Return the namespace bound to this name. If more than one or no namespace is " +"bound to this name, a :exc:`ValueError` is raised." +msgstr "" diff --git a/library/sys.po b/library/sys.po new file mode 100644 index 000000000..e2bc5a301 --- /dev/null +++ b/library/sys.po @@ -0,0 +1,2949 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`sys` --- System-specific parameters and functions" +msgstr ":mod:`sys` --- Системні параметри та функції" + +msgid "" +"This module provides access to some variables used or maintained by the " +"interpreter and to functions that interact strongly with the interpreter. It " +"is always available." +msgstr "" +"Цей модуль надає доступ до деяких змінних, які використовуються або " +"обслуговуються інтерпретатором, і до функцій, які сильно взаємодіють з " +"інтерпретатором. Він завжди доступний." + +msgid "" +"On POSIX systems where Python was built with the standard ``configure`` " +"script, this contains the ABI flags as specified by :pep:`3149`." +msgstr "" +"У системах POSIX, де Python було створено зі стандартним сценарієм " +"``configure``, він містить прапорці ABI, визначені :pep:`3149`." + +msgid "" +"Default flags became an empty string (``m`` flag for pymalloc has been " +"removed)." +msgstr "" +"Прапорці за замовчуванням стали порожнім рядком (прапорець ``m`` для " +"pymalloc видалено)." + +msgid "" +"Append the callable *hook* to the list of active auditing hooks for the " +"current (sub)interpreter." +msgstr "" +"Додайте *хук*, що викликається, до списку активних хуків аудиту для " +"поточного (суб)інтерпретатора." + +msgid "" +"When an auditing event is raised through the :func:`sys.audit` function, " +"each hook will be called in the order it was added with the event name and " +"the tuple of arguments. Native hooks added by :c:func:`PySys_AddAuditHook` " +"are called first, followed by hooks added in the current (sub)interpreter. " +"Hooks can then log the event, raise an exception to abort the operation, or " +"terminate the process entirely." +msgstr "" +"Коли подія аудиту викликається через функцію :func:`sys.audit`, кожен хук " +"буде викликано в тому порядку, в якому він був доданий, з назвою події та " +"кортежем аргументів. Власні хуки, додані :c:func:`PySys_AddAuditHook`, " +"викликаються першими, а потім хуки, додані в поточному (під)інтерпретаторі. " +"Потім хуки можуть зареєструвати подію, створити виняток для переривання " +"операції або повністю завершити процес." + +msgid "" +"Note that audit hooks are primarily for collecting information about " +"internal or otherwise unobservable actions, whether by Python or libraries " +"written in Python. They are not suitable for implementing a \"sandbox\". In " +"particular, malicious code can trivially disable or bypass hooks added using " +"this function. At a minimum, any security-sensitive hooks must be added " +"using the C API :c:func:`PySys_AddAuditHook` before initialising the " +"runtime, and any modules allowing arbitrary memory modification (such as :" +"mod:`ctypes`) should be completely removed or closely monitored." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " +"arguments." +msgstr "" + +msgid "" +"Calling :func:`sys.addaudithook` will itself raise an auditing event named " +"``sys.addaudithook`` with no arguments. If any existing hooks raise an " +"exception derived from :class:`RuntimeError`, the new hook will not be added " +"and the exception suppressed. As a result, callers cannot assume that their " +"hook has been added unless they control all existing hooks." +msgstr "" +"Виклик :func:`sys.addaudithook` сам викличе подію аудиту під назвою ``sys." +"addaudithook`` без аргументів. Якщо будь-які існуючі хуки викликають " +"виняток, отриманий від :class:`RuntimeError`, новий хук не буде додано, а " +"виняток придушено. Як наслідок, абоненти не можуть вважати, що їхній " +"підхоплювач було додано, якщо вони не контролюють усі існуючі підхоплення." + +msgid "" +"See the :ref:`audit events table ` for all events raised by " +"CPython, and :pep:`578` for the original design discussion." +msgstr "" +"Перегляньте :ref:`таблицю подій аудиту ` для всіх подій, " +"викликаних CPython, і :pep:`578` для обговорення оригінального дизайну." + +msgid "" +"Exceptions derived from :class:`Exception` but not :class:`RuntimeError` are " +"no longer suppressed." +msgstr "" +"Винятки, отримані від :class:`Exception`, але не :class:`RuntimeError` " +"більше не пригнічуються." + +msgid "" +"When tracing is enabled (see :func:`settrace`), Python hooks are only traced " +"if the callable has a ``__cantrace__`` member that is set to a true value. " +"Otherwise, trace functions will skip the hook." +msgstr "" +"Коли трасування ввімкнено (див. :func:`settrace`), хуки Python " +"відстежуються, лише якщо виклик має член ``__cantrace__``, якому встановлено " +"справжнє значення. Інакше функції трасування пропустять підключення." + +msgid "" +"The list of command line arguments passed to a Python script. ``argv[0]`` is " +"the script name (it is operating system dependent whether this is a full " +"pathname or not). If the command was executed using the :option:`-c` " +"command line option to the interpreter, ``argv[0]`` is set to the string ``'-" +"c'``. If no script name was passed to the Python interpreter, ``argv[0]`` " +"is the empty string." +msgstr "" +"Список аргументів командного рядка, переданих до сценарію Python. " +"``argv[0]`` - це ім'я сценарію (це залежить від операційної системи, повний " +"шлях чи ні). Якщо команда була виконана за допомогою параметра командного " +"рядка :option:`-c` інтерпретатора, ``argv[0]`` встановлюється на рядок ``'-" +"c'``. Якщо ім’я сценарію не було передано інтерпретатору Python, ``argv[0]`` " +"буде порожнім рядком." + +msgid "" +"To loop over the standard input, or the list of files given on the command " +"line, see the :mod:`fileinput` module." +msgstr "" +"Щоб перейти до стандартного введення або списку файлів, поданих у командному " +"рядку, перегляньте модуль :mod:`fileinput`." + +msgid "See also :data:`sys.orig_argv`." +msgstr "Дивіться також :data:`sys.orig_argv`." + +msgid "" +"On Unix, command line arguments are passed by bytes from OS. Python decodes " +"them with filesystem encoding and \"surrogateescape\" error handler. When " +"you need original bytes, you can get it by ``[os.fsencode(arg) for arg in " +"sys.argv]``." +msgstr "" +"В Unix аргументи командного рядка передаються байтами з ОС. Python декодує " +"їх за допомогою кодування файлової системи та обробника помилок " +"\"surrogateescape\". Якщо вам потрібні оригінальні байти, ви можете отримати " +"їх за допомогою ``[os.fsencode(arg) for arg in sys.argv]``." + +msgid "" +"Raise an auditing event and trigger any active auditing hooks. *event* is a " +"string identifying the event, and *args* may contain optional arguments with " +"more information about the event. The number and types of arguments for a " +"given event are considered a public and stable API and should not be " +"modified between releases." +msgstr "" +"Викликайте подію аудиту та запускайте будь-які активні перехоплення аудиту. " +"*event* — це рядок, що ідентифікує подію, а *args* може містити додаткові " +"аргументи з додатковою інформацією про подію. Кількість і типи аргументів " +"для даної події вважаються загальнодоступним і стабільним API і не повинні " +"змінюватися між випусками." + +msgid "" +"For example, one auditing event is named ``os.chdir``. This event has one " +"argument called *path* that will contain the requested new working directory." +msgstr "" +"Наприклад, одна подія аудиту має назву ``os.chdir``. Ця подія має один " +"аргумент під назвою *шлях*, який міститиме запитаний новий робочий каталог." + +msgid "" +":func:`sys.audit` will call the existing auditing hooks, passing the event " +"name and arguments, and will re-raise the first exception from any hook. In " +"general, if an exception is raised, it should not be handled and the process " +"should be terminated as quickly as possible. This allows hook " +"implementations to decide how to respond to particular events: they can " +"merely log the event or abort the operation by raising an exception." +msgstr "" +":func:`sys.audit` викличе існуючі хуки аудиту, передаючи назву події та " +"аргументи, і повторно викличе перший виняток із будь-якого хука. Загалом, " +"якщо виникає виняток, його не слід обробляти, а процес слід завершити " +"якомога швидше. Це дозволяє реалізаціям гаків вирішувати, як реагувати на " +"певні події: вони можуть просто зареєструвати подію або перервати операцію, " +"викликавши виняток." + +msgid "" +"Hooks are added using the :func:`sys.addaudithook` or :c:func:" +"`PySys_AddAuditHook` functions." +msgstr "" +"Хуки додаються за допомогою функцій :func:`sys.addaudithook` або :c:func:" +"`PySys_AddAuditHook`." + +msgid "" +"The native equivalent of this function is :c:func:`PySys_Audit`. Using the " +"native function is preferred when possible." +msgstr "" +"Власним еквівалентом цієї функції є :c:func:`PySys_Audit`. За можливості " +"бажано використовувати нативну функцію." + +msgid "" +"See the :ref:`audit events table ` for all events raised by " +"CPython." +msgstr "" +"Перегляньте :ref:`таблицю подій аудиту ` для всіх подій, " +"викликаних CPython." + +msgid "" +"Set during Python startup, before ``site.py`` is run, to the same value as :" +"data:`exec_prefix`. If not running in a :ref:`virtual environment `, the values will stay the same; if ``site.py`` finds that a virtual " +"environment is in use, the values of :data:`prefix` and :data:`exec_prefix` " +"will be changed to point to the virtual environment, whereas :data:" +"`base_prefix` and :data:`base_exec_prefix` will remain pointing to the base " +"Python installation (the one which the virtual environment was created from)." +msgstr "" +"Установіть під час запуску Python, перед запуском ``site.py``, на те саме " +"значення, що й :data:`exec_prefix`. Якщо не працює у :ref:`віртуальному " +"середовищі `, значення залишаться незмінними; якщо ``site.py`` " +"виявить, що використовується віртуальне середовище, значення :data:`prefix` " +"і :data:`exec_prefix` буде змінено, щоб вказувати на віртуальне середовище, " +"тоді як :data:`base_prefix` і :data:`base_exec_prefix` залишиться вказівкою " +"на базову інсталяцію Python (ту, з якої було створено віртуальне середовище)." + +msgid "" +"Set during Python startup, before ``site.py`` is run, to the same value as :" +"data:`prefix`. If not running in a :ref:`virtual environment `, " +"the values will stay the same; if ``site.py`` finds that a virtual " +"environment is in use, the values of :data:`prefix` and :data:`exec_prefix` " +"will be changed to point to the virtual environment, whereas :data:" +"`base_prefix` and :data:`base_exec_prefix` will remain pointing to the base " +"Python installation (the one which the virtual environment was created from)." +msgstr "" +"Установіть під час запуску Python, перед запуском ``site.py``, таке саме " +"значення, як :data:`prefix`. Якщо не працює у :ref:`віртуальному середовищі " +"`, значення залишаться незмінними; якщо ``site.py`` виявить, що " +"використовується віртуальне середовище, значення :data:`prefix` і :data:" +"`exec_prefix` буде змінено, щоб вказувати на віртуальне середовище, тоді як :" +"data:`base_prefix` і :data:`base_exec_prefix` залишиться вказівкою на базову " +"інсталяцію Python (ту, з якої було створено віртуальне середовище)." + +msgid "" +"An indicator of the native byte order. This will have the value ``'big'`` " +"on big-endian (most-significant byte first) platforms, and ``'little'`` on " +"little-endian (least-significant byte first) platforms." +msgstr "" +"Індикатор рідного порядку байтів. Це матиме значення ``'big'`` на платформах " +"з порядковим порядком старшого (спочатку найстарший байт) і ``'little'`` на " +"платформах з порядковим порядком (спочатку молодший байт)." + +msgid "" +"A tuple of strings containing the names of all modules that are compiled " +"into this Python interpreter. (This information is not available in any " +"other way --- ``modules.keys()`` only lists the imported modules.)" +msgstr "" +"Кортеж рядків, що містить імена всіх модулів, скомпільованих у цей " +"інтерпретатор Python. (Ця інформація недоступна іншим способом --- ``modules." +"keys()`` містить лише список імпортованих модулів.)" + +msgid "See also the :attr:`sys.stdlib_module_names` list." +msgstr "Дивіться також список :attr:`sys.stdlib_module_names`." + +msgid "" +"Call ``func(*args)``, while tracing is enabled. The tracing state is saved, " +"and restored afterwards. This is intended to be called from a debugger from " +"a checkpoint, to recursively debug some other code." +msgstr "" +"Викличте ``func(*args)``, коли трасування ввімкнено. Стан трасування " +"зберігається, а потім відновлюється. Це призначено для виклику з " +"налагоджувача з контрольної точки для рекурсивного налагодження іншого коду." + +msgid "A string containing the copyright pertaining to the Python interpreter." +msgstr "" +"Рядок, що містить авторські права, що стосуються інтерпретатора Python." + +msgid "" +"Clear the internal type cache. The type cache is used to speed up attribute " +"and method lookups. Use the function *only* to drop unnecessary references " +"during reference leak debugging." +msgstr "" +"Очистіть внутрішній кеш типів. Кеш типів використовується для прискорення " +"пошуку атрибутів і методів. Використовуйте функцію *тільки*, щоб видалити " +"непотрібні посилання під час налагодження витоку посилань." + +msgid "" +"This function should be used for internal and specialized purposes only." +msgstr "" +"Цю функцію слід використовувати лише для внутрішніх і спеціальних цілей." + +msgid "" +"Return a dictionary mapping each thread's identifier to the topmost stack " +"frame currently active in that thread at the time the function is called. " +"Note that functions in the :mod:`traceback` module can build the call stack " +"given such a frame." +msgstr "" +"Повертає словник, який зіставляє ідентифікатор кожного потоку з найвищим " +"фреймом стека, який зараз активний у цьому потоці на момент виклику функції. " +"Зауважте, що функції в модулі :mod:`traceback` можуть створювати стек " +"викликів за допомогою такого кадру." + +msgid "" +"This is most useful for debugging deadlock: this function does not require " +"the deadlocked threads' cooperation, and such threads' call stacks are " +"frozen for as long as they remain deadlocked. The frame returned for a non-" +"deadlocked thread may bear no relationship to that thread's current activity " +"by the time calling code examines the frame." +msgstr "" +"Це найбільш корисно для усунення тупикових блокувань: ця функція не потребує " +"взаємодії потоків, що заблоковані, і стеки викликів таких потоків " +"заморожені, доки вони залишаються тупиковими. Кадр, повернутий для потоку " +"без блокування, може не мати зв’язку з поточною активністю цього потоку до " +"моменту, коли код виклику перевіряє кадр." + +msgid "" +"Raises an :ref:`auditing event ` ``sys._current_frames`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys._current_frames`` без " +"аргументів." + +msgid "" +"Return a dictionary mapping each thread's identifier to the topmost " +"exception currently active in that thread at the time the function is " +"called. If a thread is not currently handling an exception, it is not " +"included in the result dictionary." +msgstr "" +"Повертає словник, який зіставляє ідентифікатор кожного потоку з найвищим " +"винятком, активним у цьому потоці на момент виклику функції. Якщо потік " +"наразі не обробляє виняток, він не включається до словника результатів." + +msgid "This is most useful for statistical profiling." +msgstr "Це найбільш корисно для статистичного профілювання." + +msgid "" +"Raises an :ref:`auditing event ` ``sys._current_exceptions`` with " +"no arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys._current_exceptions`` без " +"аргументів." + +msgid "" +"This hook function is called by built-in :func:`breakpoint`. By default, it " +"drops you into the :mod:`pdb` debugger, but it can be set to any other " +"function so that you can choose which debugger gets used." +msgstr "" +"Ця функція підключення викликається вбудованою :func:`breakpoint`. За " +"замовчуванням він перекидає вас у налагоджувач :mod:`pdb`, але його можна " +"налаштувати на будь-яку іншу функцію, щоб ви могли вибрати, який " +"налагоджувач використовувати." + +msgid "" +"The signature of this function is dependent on what it calls. For example, " +"the default binding (e.g. ``pdb.set_trace()``) expects no arguments, but you " +"might bind it to a function that expects additional arguments (positional " +"and/or keyword). The built-in ``breakpoint()`` function passes its " +"``*args`` and ``**kws`` straight through. Whatever ``breakpointhooks()`` " +"returns is returned from ``breakpoint()``." +msgstr "" +"Сигнатура цієї функції залежить від того, що вона викликає. Наприклад, " +"зв’язування за замовчуванням (наприклад, ``pdb.set_trace()``) не очікує " +"жодних аргументів, але ви можете прив’язати його до функції, яка очікує " +"додаткових аргументів (позиційних та/або ключових). Вбудована функція " +"``breakpoint()`` передає свої ``*args`` і ``**kws`` безпосередньо. Усе, що " +"повертає ``breakpointhooks()``, повертається з ``breakpoint()``." + +msgid "" +"The default implementation first consults the environment variable :envvar:" +"`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this function returns " +"immediately; i.e. it is a no-op. If the environment variable is not set, or " +"is set to the empty string, ``pdb.set_trace()`` is called. Otherwise this " +"variable should name a function to run, using Python's dotted-import " +"nomenclature, e.g. ``package.subpackage.module.function``. In this case, " +"``package.subpackage.module`` would be imported and the resulting module " +"must have a callable named ``function()``. This is run, passing in " +"``*args`` and ``**kws``, and whatever ``function()`` returns, ``sys." +"breakpointhook()`` returns to the built-in :func:`breakpoint` function." +msgstr "" +"Стандартна реалізація спочатку звертається до змінної середовища :envvar:" +"`PYTHONBREAKPOINT`. Якщо для нього встановлено значення ``\"0\"``, тоді ця " +"функція негайно повертається; тобто це безоперація. Якщо змінна середовища " +"не встановлена або має значення порожнього рядка, викликається ``pdb." +"set_trace()``. В іншому випадку ця змінна має називати функцію для запуску, " +"використовуючи номенклатуру імпорту Python із пунктирною точкою, наприклад. " +"``package.subpackage.module.function``. У цьому випадку ``package.subpackage." +"module`` буде імпортовано, а отриманий модуль повинен мати виклик під назвою " +"``function()``. Це виконується, передаючи ``*args`` і ``**kws``, і все, що " +"повертає ``function()``, ``sys.breakpointhook()`` повертає до вбудованого " +"функція :func:`breakpoint`." + +msgid "" +"Note that if anything goes wrong while importing the callable named by :" +"envvar:`PYTHONBREAKPOINT`, a :exc:`RuntimeWarning` is reported and the " +"breakpoint is ignored." +msgstr "" +"Зауважте, що якщо щось піде не так під час імпортування виклику, названого :" +"envvar:`PYTHONBREAKPOINT`, повідомляється :exc:`RuntimeWarning`, а точка " +"зупину ігнорується." + +msgid "" +"Also note that if ``sys.breakpointhook()`` is overridden programmatically, :" +"envvar:`PYTHONBREAKPOINT` is *not* consulted." +msgstr "" +"Також зауважте, що якщо ``sys.breakpointhook()`` перевизначено програмно, :" +"envvar:`PYTHONBREAKPOINT` *не* перевіряється." + +msgid "" +"Print low-level information to stderr about the state of CPython's memory " +"allocator." +msgstr "" +"Друк інформації низького рівня на stderr про стан розподілювача пам’яті " +"CPython." + +msgid "" +"If Python is :ref:`built in debug mode ` (:option:`configure --" +"with-pydebug option <--with-pydebug>`), it also performs some expensive " +"internal consistency checks." +msgstr "" + +msgid "" +"This function is specific to CPython. The exact output format is not " +"defined here, and may change." +msgstr "" +"Ця функція є специфічною для CPython. Точний вихідний формат тут не " +"визначений і може змінюватися." + +msgid "Integer specifying the handle of the Python DLL." +msgstr "Ціле число, що визначає дескриптор DLL Python." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "" +"If *value* is not ``None``, this function prints ``repr(value)`` to ``sys." +"stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is not " +"encodable to ``sys.stdout.encoding`` with ``sys.stdout.errors`` error " +"handler (which is probably ``'strict'``), encode it to ``sys.stdout." +"encoding`` with ``'backslashreplace'`` error handler." +msgstr "" +"Якщо *value* не є ``None``, ця функція друкує ``repr(value)`` до ``sys." +"stdout`` і зберігає *значення* у ``builtins._``. Якщо ``repr(value)`` не " +"можна закодувати в ``sys.stdout.encoding`` з ``sys.stdout.errors`` " +"обробником помилок (який, ймовірно, ``'strict'``), закодуйте його у ``sys." +"stdout.encoding`` з ``'backslashreplace'`` обробником помилок." + +msgid "" +"``sys.displayhook`` is called on the result of evaluating an :term:" +"`expression` entered in an interactive Python session. The display of these " +"values can be customized by assigning another one-argument function to ``sys." +"displayhook``." +msgstr "" +"``sys.displayhook`` викликається на основі результату оцінки :term:" +"`expression`, введеного в інтерактивному сеансі Python. Відображення цих " +"значень можна налаштувати, призначивши іншу функцію з одним аргументом ``sys." +"displayhook``." + +msgid "Pseudo-code::" +msgstr "Псевдокод::" + +msgid "Use ``'backslashreplace'`` error handler on :exc:`UnicodeEncodeError`." +msgstr "" +"Використовуйте обробник помилок ``'backslashreplace'`` для :exc:" +"`UnicodeEncodeError`." + +msgid "" +"If this is true, Python won't try to write ``.pyc`` files on the import of " +"source modules. This value is initially set to ``True`` or ``False`` " +"depending on the :option:`-B` command line option and the :envvar:" +"`PYTHONDONTWRITEBYTECODE` environment variable, but you can set it yourself " +"to control bytecode file generation." +msgstr "" +"Якщо це правда, Python не намагатиметься записати файли ``.pyc`` під час " +"імпорту вихідних модулів. Спочатку це значення встановлено на ``True`` або " +"``False`` залежно від параметра командного рядка :option:`-B` та змінної " +"середовища :envvar:`PYTHONDONTWRITEBYTECODE`, але ви можете встановити його " +"самостійно для керування байт-кодом генерація файлів." + +msgid "" +"A :term:`named tuple` holding information about the environment on the " +"*wasm32-emscripten* platform. The named tuple is provisional and may change " +"in the future." +msgstr "" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Explanation" +msgstr "Пояснення" + +msgid ":const:`emscripten_version`" +msgstr "" + +msgid "" +"Emscripten version as tuple of ints (major, minor, micro), e.g. ``(3, 1, " +"8)``." +msgstr "" + +msgid ":const:`runtime`" +msgstr "" + +msgid "" +"Runtime string, e.g. browser user agent, ``'Node.js v14.18.2'``, or " +"``'UNKNOWN'``." +msgstr "" + +msgid ":const:`pthreads`" +msgstr "" + +msgid "``True`` if Python is compiled with Emscripten pthreads support." +msgstr "" + +msgid ":const:`shared_memory`" +msgstr "" + +msgid "``True`` if Python is compiled with shared memory support." +msgstr "" + +msgid ":ref:`Availability `: Emscripten." +msgstr "" + +msgid "" +"If this is set (not ``None``), Python will write bytecode-cache ``.pyc`` " +"files to (and read them from) a parallel directory tree rooted at this " +"directory, rather than from ``__pycache__`` directories in the source code " +"tree. Any ``__pycache__`` directories in the source code tree will be " +"ignored and new ``.pyc`` files written within the pycache prefix. Thus if " +"you use :mod:`compileall` as a pre-build step, you must ensure you run it " +"with the same pycache prefix (if any) that you will use at runtime." +msgstr "" + +msgid "" +"A relative path is interpreted relative to the current working directory." +msgstr "Відносний шлях інтерпретується відносно поточного робочого каталогу." + +msgid "" +"This value is initially set based on the value of the :option:`-X` " +"``pycache_prefix=PATH`` command-line option or the :envvar:" +"`PYTHONPYCACHEPREFIX` environment variable (command-line takes precedence). " +"If neither are set, it is ``None``." +msgstr "" +"Це значення спочатку встановлюється на основі значення параметра командного " +"рядка :option:`-X` ``pycache_prefix=PATH`` або змінної середовища :envvar:" +"`PYTHONPYCACHEPREFIX` (командний рядок має пріоритет). Якщо жоден не " +"встановлений, це ``None``." + +msgid "" +"This function prints out a given traceback and exception to ``sys.stderr``." +msgstr "Ця функція друкує задану трасування та винятки для ``sys.stderr``." + +msgid "" +"When an exception is raised and uncaught, the interpreter calls ``sys." +"excepthook`` with three arguments, the exception class, exception instance, " +"and a traceback object. In an interactive session this happens just before " +"control is returned to the prompt; in a Python program this happens just " +"before the program exits. The handling of such top-level exceptions can be " +"customized by assigning another three-argument function to ``sys." +"excepthook``." +msgstr "" +"Коли виняток виникає та не перехоплюється, інтерпретатор викликає ``sys." +"excepthook`` із трьома аргументами: клас винятку, екземпляр винятку та " +"об’єкт трасування. Під час інтерактивного сеансу це відбувається " +"безпосередньо перед поверненням керування до підказки; у програмі Python це " +"відбувається безпосередньо перед виходом програми. Обробку таких винятків " +"верхнього рівня можна налаштувати, призначивши іншу функцію з трьома " +"аргументами для ``sys.excepthook``." + +msgid "" +"Raises an :ref:`auditing event ` ``sys.excepthook`` with arguments " +"``hook``, ``type``, ``value``, ``traceback``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys.excepthook`` з аргументами " +"``hook``, ``type``, ``value``, ``traceback``." + +msgid "" +"Raise an auditing event ``sys.excepthook`` with arguments ``hook``, " +"``type``, ``value``, ``traceback`` when an uncaught exception occurs. If no " +"hook has been set, ``hook`` may be ``None``. If any hook raises an exception " +"derived from :class:`RuntimeError` the call to the hook will be suppressed. " +"Otherwise, the audit hook exception will be reported as unraisable and ``sys." +"excepthook`` will be called." +msgstr "" +"Викликати подію аудиту ``sys.excepthook`` з аргументами ``hook``, ``type``, " +"``value``, ``traceback``, коли виникає неперехоплена виняткова ситуація. " +"Якщо хук не встановлено, ``hook`` може мати значення ``None``. Якщо будь-" +"який хук викликає виняток, отриманий від :class:`RuntimeError`, виклик хука " +"буде придушено. Інакше буде повідомлено, що виняток перевірки неможливий, і " +"буде викликано ``sys.excepthook``." + +msgid "" +"The :func:`sys.unraisablehook` function handles unraisable exceptions and " +"the :func:`threading.excepthook` function handles exception raised by :func:" +"`threading.Thread.run`." +msgstr "" +"Функція :func:`sys.unraisablehook` обробляє винятки, які не можна викликати, " +"а функція :func:`threading.excepthook` обробляє винятки, викликані :func:" +"`threading.Thread.run`." + +msgid "" +"These objects contain the original values of ``breakpointhook``, " +"``displayhook``, ``excepthook``, and ``unraisablehook`` at the start of the " +"program. They are saved so that ``breakpointhook``, ``displayhook`` and " +"``excepthook``, ``unraisablehook`` can be restored in case they happen to " +"get replaced with broken or alternative objects." +msgstr "" +"Ці об’єкти містять вихідні значення ``breakpointhook``, ``displayhook``, " +"``excepthook`` і ``unraisablehook`` на початку програми. Вони зберігаються, " +"щоб можна було відновити ``breakpointhook``, ``displayhook`` і " +"``excepthook``, ``unraisablehook``, якщо вони будуть замінені несправними " +"або альтернативними об’єктами." + +msgid "__breakpointhook__" +msgstr "__breakpointhook__" + +msgid "__unraisablehook__" +msgstr "__unraisablehook__" + +msgid "" +"This function, when called while an exception handler is executing (such as " +"an ``except`` or ``except*`` clause), returns the exception instance that " +"was caught by this handler. When exception handlers are nested within one " +"another, only the exception handled by the innermost handler is accessible." +msgstr "" + +msgid "If no exception handler is executing, this function returns ``None``." +msgstr "" + +msgid "" +"This function returns the old-style representation of the handled exception. " +"If an exception ``e`` is currently handled (so :func:`exception` would " +"return ``e``), :func:`exc_info` returns the tuple ``(type(e), e, e." +"__traceback__)``. That is, a tuple containing the type of the exception (a " +"subclass of :exc:`BaseException`), the exception itself, and a :ref:" +"`traceback object ` which typically encapsulates the call " +"stack at the point where the exception last occurred." +msgstr "" + +msgid "" +"If no exception is being handled anywhere on the stack, this function return " +"a tuple containing three ``None`` values." +msgstr "" + +msgid "" +"The ``type`` and ``traceback`` fields are now derived from the ``value`` " +"(the exception instance), so when an exception is modified while it is being " +"handled, the changes are reflected in the results of subsequent calls to :" +"func:`exc_info`." +msgstr "" + +msgid "" +"A string giving the site-specific directory prefix where the platform-" +"dependent Python files are installed; by default, this is also ``'/usr/" +"local'``. This can be set at build time with the ``--exec-prefix`` argument " +"to the :program:`configure` script. Specifically, all configuration files " +"(e.g. the :file:`pyconfig.h` header file) are installed in the directory :" +"file:`{exec_prefix}/lib/python{X.Y}/config`, and shared library modules are " +"installed in :file:`{exec_prefix}/lib/python{X.Y}/lib-dynload`, where *X.Y* " +"is the version number of Python, for example ``3.2``." +msgstr "" +"Рядок, що містить префікс каталогу сайту, де встановлено залежні від " +"платформи файли Python; за замовчуванням це також ``'/usr/local'``. Це можна " +"встановити під час збирання за допомогою аргументу ``--exec-prefix`` " +"сценарію :program:`configure`. Зокрема, усі файли конфігурації (наприклад, " +"файл заголовка :file:`pyconfig.h`) встановлено в каталозі :file:" +"`{exec_prefix}/lib/python{X.Y}/config`, а модулі спільної бібліотеки " +"встановлено в: файл: `{exec_prefix}/lib/python{X.Y}/lib-dynload`, де *X.Y* — " +"це номер версії Python, наприклад ``3.2``." + +msgid "" +"If a :ref:`virtual environment ` is in effect, this value will be " +"changed in ``site.py`` to point to the virtual environment. The value for " +"the Python installation will still be available, via :data:" +"`base_exec_prefix`." +msgstr "" +"Якщо діє :ref:`віртуальне середовище `, це значення буде змінено у " +"``site.py``, щоб вказувати на віртуальне середовище. Значення для " +"встановлення Python усе ще буде доступним через :data:`base_exec_prefix`." + +msgid "" +"A string giving the absolute path of the executable binary for the Python " +"interpreter, on systems where this makes sense. If Python is unable to " +"retrieve the real path to its executable, :data:`sys.executable` will be an " +"empty string or ``None``." +msgstr "" +"Рядок, що вказує абсолютний шлях до виконуваного двійкового файлу для " +"інтерпретатора Python у системах, де це має сенс. Якщо Python не може " +"отримати справжній шлях до свого виконуваного файлу, :data:`sys.executable` " +"буде порожнім рядком або ``None``." + +msgid "" +"Raise a :exc:`SystemExit` exception, signaling an intention to exit the " +"interpreter." +msgstr "" +"Викликати виняток :exc:`SystemExit`, сигналізуючи про намір вийти з " +"інтерпретатора." + +msgid "" +"The optional argument *arg* can be an integer giving the exit status " +"(defaulting to zero), or another type of object. If it is an integer, zero " +"is considered \"successful termination\" and any nonzero value is considered " +"\"abnormal termination\" by shells and the like. Most systems require it to " +"be in the range 0--127, and produce undefined results otherwise. Some " +"systems have a convention for assigning specific meanings to specific exit " +"codes, but these are generally underdeveloped; Unix programs generally use 2 " +"for command line syntax errors and 1 for all other kind of errors. If " +"another type of object is passed, ``None`` is equivalent to passing zero, " +"and any other object is printed to :data:`stderr` and results in an exit " +"code of 1. In particular, ``sys.exit(\"some error message\")`` is a quick " +"way to exit a program when an error occurs." +msgstr "" +"Необов’язковий аргумент *arg* може бути цілим числом, що дає статус виходу " +"(за замовчуванням нуль), або іншим типом об’єкта. Якщо це ціле число, нуль " +"вважається \"успішним завершенням\", а будь-яке ненульове значення " +"вважається \"ненормальним завершенням\" оболонками тощо. Більшість систем " +"вимагають, щоб він знаходився в діапазоні 0--127, і в іншому випадку дають " +"невизначені результати. У деяких системах є угода про призначення конкретних " +"значень конкретним кодам виходу, але вони, як правило, недостатньо " +"розроблені; Програми Unix зазвичай використовують 2 для синтаксичних помилок " +"командного рядка та 1 для всіх інших видів помилок. Якщо передається інший " +"тип об’єкта, ``None`` еквівалентно передачі нуля, а будь-який інший об’єкт " +"друкується в :data:`stderr` і призводить до коду виходу 1. Зокрема, ``sys." +"exit( \"повідомлення про помилку\")`` — це швидкий спосіб вийти з програми, " +"коли виникає помилка." + +msgid "" +"Since :func:`exit` ultimately \"only\" raises an exception, it will only " +"exit the process when called from the main thread, and the exception is not " +"intercepted. Cleanup actions specified by finally clauses of :keyword:`try` " +"statements are honored, and it is possible to intercept the exit attempt at " +"an outer level." +msgstr "" +"Оскільки :func:`exit` зрештою \"тільки\" викликає виняток, він вийде з " +"процесу лише під час виклику з основного потоку, і виняток не " +"перехоплюється. Дії очищення, визначені пунктами finally операторів :keyword:" +"`try`, виконуються, і можна перехопити спробу виходу на зовнішньому рівні." + +msgid "" +"If an error occurs in the cleanup after the Python interpreter has caught :" +"exc:`SystemExit` (such as an error flushing buffered data in the standard " +"streams), the exit status is changed to 120." +msgstr "" +"Якщо під час очищення виникає помилка після того, як інтерпретатор Python " +"переловив :exc:`SystemExit` (наприклад, помилка очищення буферизованих даних " +"у стандартних потоках), статус виходу змінюється на 120." + +msgid "" +"The :term:`named tuple` *flags* exposes the status of command line flags. " +"The attributes are read only." +msgstr "" +":term:`named tuple` *flags* показує статус прапорів командного рядка. " +"Атрибути доступні лише для читання." + +msgid "attribute" +msgstr "атрибут" + +msgid "flag" +msgstr "прапор" + +msgid ":const:`debug`" +msgstr ":const:`debug`" + +msgid ":option:`-d`" +msgstr ":option:`-d`" + +msgid ":const:`inspect`" +msgstr ":const:`inspect`" + +msgid ":option:`-i`" +msgstr ":option:`-i`" + +msgid ":const:`interactive`" +msgstr ":const:`interactive`" + +msgid ":const:`isolated`" +msgstr ":const:`isolated`" + +msgid ":option:`-I`" +msgstr ":option:`-I`" + +msgid ":const:`optimize`" +msgstr ":const:`optimize`" + +msgid ":option:`-O` or :option:`-OO`" +msgstr ":option:`-O` або :option:`-OO`" + +msgid ":const:`dont_write_bytecode`" +msgstr ":const:`dont_write_bytecode`" + +msgid ":option:`-B`" +msgstr ":option:`-B`" + +msgid ":const:`no_user_site`" +msgstr ":const:`no_user_site`" + +msgid ":option:`-s`" +msgstr ":option:`-s`" + +msgid ":const:`no_site`" +msgstr ":const:`no_site`" + +msgid ":option:`-S`" +msgstr ":option:`-S`" + +msgid ":const:`ignore_environment`" +msgstr ":const:`ignore_environment`" + +msgid ":option:`-E`" +msgstr ":option:`-E`" + +msgid ":const:`verbose`" +msgstr ":const:`verbose`" + +msgid ":option:`-v`" +msgstr ":option:`-v`" + +msgid ":const:`bytes_warning`" +msgstr ":const:`bytes_warning`" + +msgid ":option:`-b`" +msgstr ":option:`-b`" + +msgid ":const:`quiet`" +msgstr ":const:`quiet`" + +msgid ":option:`-q`" +msgstr ":option:`-q`" + +msgid ":const:`hash_randomization`" +msgstr ":const:`hash_randomization`" + +msgid ":option:`-R`" +msgstr ":option:`-R`" + +msgid ":const:`dev_mode`" +msgstr ":const:`dev_mode`" + +msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" +msgstr ":option:`-X dev <-X>` (:ref:`Режим розробки Python `)" + +msgid ":const:`utf8_mode`" +msgstr ":const:`utf8_mode`" + +msgid ":option:`-X utf8 <-X>`" +msgstr ":option:`-X utf8 <-X>`" + +msgid ":const:`safe_path`" +msgstr "" + +msgid ":option:`-P`" +msgstr "" + +msgid ":const:`int_max_str_digits`" +msgstr "" + +msgid "" +":option:`-X int_max_str_digits <-X>` (:ref:`integer string conversion length " +"limitation `)" +msgstr "" + +msgid "Added ``quiet`` attribute for the new :option:`-q` flag." +msgstr "Додано атрибут ``quiet`` для нового прапора :option:`-q`." + +msgid "The ``hash_randomization`` attribute." +msgstr "Атрибут ``hash_randomization``." + +msgid "Removed obsolete ``division_warning`` attribute." +msgstr "Видалено застарілий атрибут ``division_warning``." + +msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." +msgstr "Додано атрибут ``isolated`` для прапора :option:`-I` ``isolated``." + +msgid "" +"Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " +"` and the ``utf8_mode`` attribute for the new :option:`-X` " +"``utf8`` flag." +msgstr "" +"Додано атрибут ``dev_mode`` для нового режиму розробки :ref:`Python " +"` і атрибут ``utf8_mode`` для нового прапора :option:`-X` ``utf8``." + +msgid "Added the ``safe_path`` attribute for :option:`-P` option." +msgstr "" + +msgid "Added the ``int_max_str_digits`` attribute." +msgstr "" + +msgid "" +"A :term:`named tuple` holding information about the float type. It contains " +"low level information about the precision and internal representation. The " +"values correspond to the various floating-point constants defined in the " +"standard header file :file:`float.h` for the 'C' programming language; see " +"section 5.2.4.2.2 of the 1999 ISO/IEC C standard [C99]_, 'Characteristics of " +"floating types', for details." +msgstr "" +":term:`named tuple`, що містить інформацію про тип float. Він містить " +"інформацію низького рівня про точність і внутрішнє представлення. Значення " +"відповідають різним константам із плаваючою комою, визначеним у стандартному " +"файлі заголовків :file:`float.h` для мови програмування \"C\"; подробиці " +"див. у розділі 5.2.4.2.2 стандарту ISO/IEC C [C99]_, \"Характеристики " +"плаваючих типів\" 1999 року." + +msgid "float.h macro" +msgstr "макрос float.h" + +msgid "explanation" +msgstr "пояснення" + +msgid ":const:`epsilon`" +msgstr ":const:`epsilon`" + +msgid "DBL_EPSILON" +msgstr "DBL_EPSILON" + +msgid "" +"difference between 1.0 and the least value greater than 1.0 that is " +"representable as a float" +msgstr "" +"різниця між 1,0 і найменшим значенням, більшим за 1,0, яке можна представити " +"як число з плаваючою точкою" + +msgid "See also :func:`math.ulp`." +msgstr "Дивіться також :func:`math.ulp`." + +msgid ":const:`dig`" +msgstr ":const:`dig`" + +msgid "DBL_DIG" +msgstr "DBL_DIG" + +msgid "" +"maximum number of decimal digits that can be faithfully represented in a " +"float; see below" +msgstr "" +"максимальна кількість десяткових цифр, які можуть бути точно представлені в " +"float; Дивіться нижче" + +msgid ":const:`mant_dig`" +msgstr ":const:`mant_dig`" + +msgid "DBL_MANT_DIG" +msgstr "DBL_MANT_DIG" + +msgid "" +"float precision: the number of base-``radix`` digits in the significand of a " +"float" +msgstr "" +"точність числа з плаваючою точкою: кількість базових ``основних цифр`` у " +"значенні числа з плаваючою точкою" + +msgid ":const:`max`" +msgstr ":const:`max`" + +msgid "DBL_MAX" +msgstr "DBL_MAX" + +msgid "maximum representable positive finite float" +msgstr "максимально репрезентований додатний кінцевий float" + +msgid ":const:`max_exp`" +msgstr ":const:`max_exp`" + +msgid "DBL_MAX_EXP" +msgstr "DBL_MAX_EXP" + +msgid "" +"maximum integer *e* such that ``radix**(e-1)`` is a representable finite " +"float" +msgstr "" +"максимальне ціле число *e* таке, що ``radix**(e-1)`` є кінцевим числом з " +"плаваючою точкою, яке можна представити" + +msgid ":const:`max_10_exp`" +msgstr ":const:`max_10_exp`" + +msgid "DBL_MAX_10_EXP" +msgstr "DBL_MAX_10_EXP" + +msgid "" +"maximum integer *e* such that ``10**e`` is in the range of representable " +"finite floats" +msgstr "" +"максимальне ціле число *e* таке, що ``10**e`` знаходиться в діапазоні " +"представлених кінцевих чисел з плаваючою точкою" + +msgid ":const:`min`" +msgstr ":const:`min`" + +msgid "DBL_MIN" +msgstr "DBL_MIN" + +msgid "minimum representable positive *normalized* float" +msgstr "мінімально представлений додатний *нормалізований* float" + +msgid "" +"Use :func:`math.ulp(0.0) ` to get the smallest positive " +"*denormalized* representable float." +msgstr "" +"Використовуйте :func:`math.ulp(0.0) `, щоб отримати найменше " +"додатне *денормалізоване* число з плаваючою точкою, яке можна представити." + +msgid ":const:`min_exp`" +msgstr ":const:`min_exp`" + +msgid "DBL_MIN_EXP" +msgstr "DBL_MIN_EXP" + +msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" +msgstr "" +"мінімальне ціле число *e* таке, що ``radix**(e-1)`` є нормалізованим числом " +"з плаваючою точкою" + +msgid ":const:`min_10_exp`" +msgstr ":const:`min_10_exp`" + +msgid "DBL_MIN_10_EXP" +msgstr "DBL_MIN_10_EXP" + +msgid "minimum integer *e* such that ``10**e`` is a normalized float" +msgstr "" +"мінімальне ціле число *e* таке, що ``10**e`` є нормалізованим числом з " +"плаваючою точкою" + +msgid ":const:`radix`" +msgstr ":const:`radix`" + +msgid "FLT_RADIX" +msgstr "FLT_RADIX" + +msgid "radix of exponent representation" +msgstr "радікс представлення степеня" + +msgid ":const:`rounds`" +msgstr ":const:`rounds`" + +msgid "FLT_ROUNDS" +msgstr "FLT_ROUNDS" + +msgid "" +"integer constant representing the rounding mode used for arithmetic " +"operations. This reflects the value of the system FLT_ROUNDS macro at " +"interpreter startup time. See section 5.2.4.2.2 of the C99 standard for an " +"explanation of the possible values and their meanings." +msgstr "" +"ціла константа, що представляє режим округлення, що використовується для " +"арифметичних операцій. Це відображає значення системного макросу FLT_ROUNDS " +"під час запуску інтерпретатора. Дивіться розділ 5.2.4.2.2 стандарту C99 для " +"пояснення можливих значень та їх значень." + +msgid "" +"The attribute :attr:`sys.float_info.dig` needs further explanation. If " +"``s`` is any string representing a decimal number with at most :attr:`sys." +"float_info.dig` significant digits, then converting ``s`` to a float and " +"back again will recover a string representing the same decimal value::" +msgstr "" +"Атрибут :attr:`sys.float_info.dig` потребує додаткового пояснення. Якщо " +"``s`` є будь-яким рядком, що представляє десяткове число, що містить " +"щонайбільше :attr:`sys.float_info.dig` значущих цифр, тоді перетворення " +"``s`` на число з плаваючою точкою і назад відновить рядок, що представляє " +"той самий десятковий дроб значення::" + +msgid "" +"But for strings with more than :attr:`sys.float_info.dig` significant " +"digits, this isn't always true::" +msgstr "" +"Але для рядків із більш ніж :attr:`sys.float_info.dig` значущими цифрами це " +"не завжди вірно::" + +msgid "" +"A string indicating how the :func:`repr` function behaves for floats. If " +"the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " +"aims to produce a short string with the property that ``float(repr(x)) == " +"x``. This is the usual behaviour in Python 3.1 and later. Otherwise, " +"``float_repr_style`` has value ``'legacy'`` and ``repr(x)`` behaves in the " +"same way as it did in versions of Python prior to 3.1." +msgstr "" +"Рядок, що вказує, як функція :func:`repr` поводиться для чисел з плаваючою " +"точкою. Якщо рядок має значення ``'short``, тоді для кінцевого числа ``x``, " +"``repr(x)`` має на меті створити короткий рядок із властивістю " +"``float(repr(x)) == x``. Це звичайна поведінка в Python 3.1 і пізніших " +"версіях. В іншому випадку ``float_repr_style`` має значення ``'legacy'``, а " +"``repr(x)`` поводиться так само, як і у версіях Python до 3.1." + +msgid "" +"Return the number of memory blocks currently allocated by the interpreter, " +"regardless of their size. This function is mainly useful for tracking and " +"debugging memory leaks. Because of the interpreter's internal caches, the " +"result can vary from call to call; you may have to call :func:" +"`_clear_type_cache()` and :func:`gc.collect()` to get more predictable " +"results." +msgstr "" +"Повертає кількість блоків пам'яті, виділених інтерпретатором, незалежно від " +"їх розміру. Ця функція в основному корисна для відстеження та усунення " +"витоків пам'яті. Через внутрішні кеші інтерпретатора результат може " +"відрізнятися від виклику до виклику; можливо, вам доведеться викликати :func:" +"`_clear_type_cache()` і :func:`gc.collect()`, щоб отримати більш " +"передбачувані результати." + +msgid "" +"If a Python build or implementation cannot reasonably compute this " +"information, :func:`getallocatedblocks()` is allowed to return 0 instead." +msgstr "" +"Якщо збірка або реалізація Python не може обґрунтовано обчислити цю " +"інформацію, :func:`getallocatedblocks()` може замість цього повертати 0." + +msgid "Return the build time API version of Android as an integer." +msgstr "Повертає версію API часу збірки Android як ціле число." + +msgid ":ref:`Availability `: Android." +msgstr ":ref:`Наявність `: Android." + +msgid "" +"Return the name of the current default string encoding used by the Unicode " +"implementation." +msgstr "" +"Повертає назву поточного стандартного кодування рядка, яке використовується " +"реалізацією Unicode." + +msgid "" +"Return the current value of the flags that are used for :c:func:`dlopen` " +"calls. Symbolic names for the flag values can be found in the :mod:`os` " +"module (``RTLD_xxx`` constants, e.g. :data:`os.RTLD_LAZY`)." +msgstr "" +"Повертає поточне значення прапорів, які використовуються для викликів :c:" +"func:`dlopen`. Символічні назви для значень прапорів можна знайти в модулі :" +"mod:`os` (константи ``RTLD_xxx``, наприклад :data:`os.RTLD_LAZY`)." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Get the :term:`filesystem encoding `: " +"the encoding used with the :term:`filesystem error handler ` to convert between Unicode filenames and bytes " +"filenames. The filesystem error handler is returned from :func:" +"`getfilesystemencoding`." +msgstr "" +"Отримайте :term:`кодування файлової системи `: кодування, яке використовується з :term:`обробником помилок " +"файлової системи ` для перетворення " +"між іменами файлів Unicode та іменами файлів байтів. Обробник помилок " +"файлової системи повертається з :func:`getfilesystemencoding`." + +msgid "" +"For best compatibility, str should be used for filenames in all cases, " +"although representing filenames as bytes is also supported. Functions " +"accepting or returning filenames should support either str or bytes and " +"internally convert to the system's preferred representation." +msgstr "" +"Для найкращої сумісності str слід використовувати для імен файлів у всіх " +"випадках, хоча представлення імен файлів у вигляді байтів також " +"підтримується. Функції, що приймають або повертають імена файлів, повинні " +"підтримувати str або bytes і внутрішньо конвертувати до бажаного " +"представлення системи." + +msgid "" +":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " +"the correct encoding and errors mode are used." +msgstr "" +":func:`os.fsencode` і :func:`os.fsdecode` слід використовувати, щоб " +"переконатися, що використовується правильне кодування та режим помилок." + +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:`filesystem encoding and error handler` налаштовуються під час запуску " +"Python за допомогою функції :c:func:`PyConfig_Read`: див. :c:member:" +"`~PyConfig.filesystem_encoding` і :c:member:`~PyConfig. filesystem_errors` " +"члени :c:type:`PyConfig`." + +msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." +msgstr "Результат :func:`getfilesystemencoding` більше не може бути ``None``." + +msgid "" +"Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and :" +"func:`_enablelegacywindowsfsencoding` for more information." +msgstr "" +"Windows більше не гарантовано повертатиме ``'mbcs'``. Дивіться :pep:`529` і :" +"func:`_enablelegacywindowsfsencoding` для отримання додаткової інформації." + +msgid "" +"Return ``'utf-8'`` if the :ref:`Python UTF-8 Mode ` is enabled." +msgstr "" +"Повертає ``'utf-8''``, якщо :ref:`Python UTF-8 Mode ` увімкнено." + +msgid "" +"Get the :term:`filesystem error handler `: the error handler used with the :term:`filesystem encoding " +"` to convert between Unicode " +"filenames and bytes filenames. The filesystem encoding is returned from :" +"func:`getfilesystemencoding`." +msgstr "" +"Отримайте :term:`обробник помилок файлової системи `: обробник помилок, який використовується з :term:`кодуванням " +"файлової системи ` для перетворення " +"між іменами файлів Unicode та іменами файлів байтів. Кодування файлової " +"системи повертається з :func:`getfilesystemencoding`." + +msgid "" +"Returns the current value for the :ref:`integer string conversion length " +"limitation `. See also :func:`set_int_max_str_digits`." +msgstr "" + +msgid "" +"Return the reference count of the *object*. The count returned is generally " +"one higher than you might expect, because it includes the (temporary) " +"reference as an argument to :func:`getrefcount`." +msgstr "" +"Повертає кількість посилань на *об’єкт*. Лічильник, який повертається, " +"зазвичай на одиницю більший, ніж ви могли б очікувати, оскільки він включає " +"(тимчасове) посилання як аргумент для :func:`getrefcount`." + +msgid "" +"Return the current value of the recursion limit, the maximum depth of the " +"Python interpreter stack. This limit prevents infinite recursion from " +"causing an overflow of the C stack and crashing Python. It can be set by :" +"func:`setrecursionlimit`." +msgstr "" +"Повертає поточне значення обмеження рекурсії, максимальну глибину стека " +"інтерпретатора Python. Це обмеження запобігає нескінченній рекурсії від " +"переповнення стека C і збою Python. Його можна встановити за допомогою :func:" +"`setrecursionlimit`." + +msgid "" +"Return the size of an object in bytes. The object can be any type of object. " +"All built-in objects will return correct results, but this does not have to " +"hold true for third-party extensions as it is implementation specific." +msgstr "" +"Повертає розмір об'єкта в байтах. Об’єктом може бути будь-який тип об’єкта. " +"Усі вбудовані об’єкти повертатимуть правильні результати, але це не " +"обов’язково стосується сторонніх розширень, оскільки це залежить від " +"реалізації." + +msgid "" +"Only the memory consumption directly attributed to the object is accounted " +"for, not the memory consumption of objects it refers to." +msgstr "" +"Враховується лише споживання пам’яті, безпосередньо пов’язане з об’єктом, а " +"не споживання пам’яті об’єктами, на які він посилається." + +msgid "" +"If given, *default* will be returned if the object does not provide means to " +"retrieve the size. Otherwise a :exc:`TypeError` will be raised." +msgstr "" +"Якщо задано, *default* буде повернуто, якщо об’єкт не надає засобів для " +"отримання розміру. Інакше буде викликано :exc:`TypeError`." + +msgid "" +":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " +"additional garbage collector overhead if the object is managed by the " +"garbage collector." +msgstr "" +":func:`getsizeof` викликає метод об’єкта ``__sizeof__`` і додає додаткові " +"накладні витрати на збирач сміття, якщо об’єктом керує збирач сміття." + +msgid "" +"See `recursive sizeof recipe `_ " +"for an example of using :func:`getsizeof` recursively to find the size of " +"containers and all their contents." +msgstr "" +"Перегляньте `recursive sizeof recipe `_ для прикладу використання :func:`getsizeof` рекурсивно для " +"визначення розміру контейнерів і всього їхнього вмісту." + +msgid "" +"Return the interpreter's \"thread switch interval\"; see :func:" +"`setswitchinterval`." +msgstr "" +"Повертає інтерпретатору \"інтервал перемикання потоків\"; див. :func:" +"`setswitchinterval`." + +msgid "" +"Return a frame object from the call stack. If optional integer *depth* is " +"given, return the frame object that many calls below the top of the stack. " +"If that is deeper than the call stack, :exc:`ValueError` is raised. The " +"default for *depth* is zero, returning the frame at the top of the call " +"stack." +msgstr "" +"Повернути об’єкт кадру зі стеку викликів. Якщо задано необов’язкове ціле " +"число *depth*, поверніть об’єкт фрейму, який багато викликає, нижче верхньої " +"частини стека. Якщо це глибше, ніж стек викликів, виникає :exc:`ValueError`. " +"За замовчуванням для *depth* дорівнює нулю, повертаючи кадр у верхній " +"частині стека викликів." + +msgid "" +"Raises an :ref:`auditing event ` ``sys._getframe`` with argument " +"``frame``." +msgstr "" + +msgid "" +"This function should be used for internal and specialized purposes only. It " +"is not guaranteed to exist in all implementations of Python." +msgstr "" +"Цю функцію слід використовувати лише для внутрішніх і спеціальних цілей. Не " +"гарантовано його існування у всіх реалізаціях Python." + +msgid "Get the profiler function as set by :func:`setprofile`." +msgstr "Отримайте функцію профайлера, встановлену :func:`setprofile`." + +msgid "Get the trace function as set by :func:`settrace`." +msgstr "Отримайте функцію трасування, встановлену :func:`settrace`." + +msgid "" +"The :func:`gettrace` function is intended only for implementing debuggers, " +"profilers, coverage tools and the like. Its behavior is part of the " +"implementation platform, rather than part of the language definition, and " +"thus may not be available in all Python implementations." +msgstr "" +"Функція :func:`gettrace` призначена лише для реалізації налагоджувачів, " +"профайлерів, інструментів покриття тощо. Його поведінка є частиною платформи " +"реалізації, а не частиною визначення мови, і тому може бути недоступною в " +"усіх реалізаціях Python." + +msgid "" +"Return a named tuple describing the Windows version currently running. The " +"named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " +"*service_pack_minor*, *service_pack_major*, *suite_mask*, *product_type* and " +"*platform_version*. *service_pack* contains a string, *platform_version* a 3-" +"tuple and all other values are integers. The components can also be accessed " +"by name, so ``sys.getwindowsversion()[0]`` is equivalent to ``sys." +"getwindowsversion().major``. For compatibility with prior versions, only the " +"first 5 elements are retrievable by indexing." +msgstr "" +"Повертає іменований кортеж, що описує поточну запущену версію Windows. " +"Іменовані елементи: *major*, *minor*, *build*, *platform*, *service_pack*, " +"*service_pack_minor*, *service_pack_major*, *suite_mask*, *product_type* і " +"*platform_version*. *service_pack* містить рядок, *platform_version* — 3-" +"кортеж, а всі інші значення — цілі числа. До компонентів також можна " +"отримати доступ за іменем, тому ``sys.getwindowsversion()[0]`` еквівалентно " +"``sys.getwindowsversion().major``. Для сумісності з попередніми версіями " +"лише перші 5 елементів можна отримати за допомогою індексування." + +msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." +msgstr "*платформа* буде :const:`2 (VER_PLATFORM_WIN32_NT)`." + +msgid "*product_type* may be one of the following values:" +msgstr "*product_type* може бути одним із таких значень:" + +msgid "Constant" +msgstr "Постійний" + +msgid "Meaning" +msgstr "Значення" + +msgid ":const:`1 (VER_NT_WORKSTATION)`" +msgstr ":const:`1 (VER_NT_WORKSTATION)`" + +msgid "The system is a workstation." +msgstr "Система являє собою робочу станцію." + +msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" +msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" + +msgid "The system is a domain controller." +msgstr "Система є контролером домену." + +msgid ":const:`3 (VER_NT_SERVER)`" +msgstr ":const:`3 (VER_NT_SERVER)`" + +msgid "The system is a server, but not a domain controller." +msgstr "Система є сервером, але не контролером домену." + +msgid "" +"This function wraps the Win32 :c:func:`GetVersionEx` function; see the " +"Microsoft documentation on :c:func:`OSVERSIONINFOEX` for more information " +"about these fields." +msgstr "" +"Ця функція обертає функцію Win32 :c:func:`GetVersionEx`; див. документацію " +"Microsoft на :c:func:`OSVERSIONINFOEX` для отримання додаткової інформації " +"про ці поля." + +msgid "" +"*platform_version* returns the major version, minor version and build number " +"of the current operating system, rather than the version that is being " +"emulated for the process. It is intended for use in logging rather than for " +"feature detection." +msgstr "" +"*platform_version* повертає основну версію, проміжну версію та номер збірки " +"поточної операційної системи, а не версію, яка емулюється для процесу. Він " +"призначений для використання в журналі, а не для виявлення функцій." + +msgid "" +"*platform_version* derives the version from kernel32.dll which can be of a " +"different version than the OS version. Please use :mod:`platform` module for " +"achieving accurate OS version." +msgstr "" +"*platform_version* отримує версію з kernel32.dll, версія якої може " +"відрізнятися від версії ОС. Будь ласка, використовуйте модуль :mod:" +"`platform` для отримання точної версії ОС." + +msgid "" +"Changed to a named tuple and added *service_pack_minor*, " +"*service_pack_major*, *suite_mask*, and *product_type*." +msgstr "" +"Змінено на іменований кортеж і додано *service_pack_minor*, " +"*service_pack_major*, *suite_mask* і *product_type*." + +msgid "Added *platform_version*" +msgstr "Додано *версію_платформи*" + +msgid "" +"Returns an *asyncgen_hooks* object, which is similar to a :class:" +"`~collections.namedtuple` of the form ``(firstiter, finalizer)``, where " +"*firstiter* and *finalizer* are expected to be either ``None`` or functions " +"which take an :term:`asynchronous generator iterator` as an argument, and " +"are used to schedule finalization of an asynchronous generator by an event " +"loop." +msgstr "" + +msgid "See :pep:`525` for more details." +msgstr "Дивіться :pep:`525` для більш детальної інформації." + +msgid "" +"This function has been added on a provisional basis (see :pep:`411` for " +"details.)" +msgstr "Цю функцію додано тимчасово (докладніше див. :pep:`411`)." + +msgid "" +"Get the current coroutine origin tracking depth, as set by :func:" +"`set_coroutine_origin_tracking_depth`." +msgstr "" +"Отримати поточну глибину відстеження джерела співпрограми, встановлену :func:" +"`set_coroutine_origin_tracking_depth`." + +msgid "" +"This function has been added on a provisional basis (see :pep:`411` for " +"details.) Use it only for debugging purposes." +msgstr "" +"Цю функцію додано на тимчасовій основі (докладніше див. :pep:`411`). " +"Використовуйте її лише для налагодження." + +msgid "" +"A :term:`named tuple` giving parameters of the numeric hash implementation. " +"For more details about hashing of numeric types, see :ref:`numeric-hash`." +msgstr "" +":term:`named tuple`, що надає параметри реалізації числового хешу. " +"Докладніше про хешування числових типів див. :ref:`numeric-hash`." + +msgid ":const:`width`" +msgstr ":const:`width`" + +msgid "width in bits used for hash values" +msgstr "ширина в бітах, яка використовується для хеш-значень" + +msgid ":const:`modulus`" +msgstr ":const:`modulus`" + +msgid "prime modulus P used for numeric hash scheme" +msgstr "простий модуль P, який використовується для числової хеш-схеми" + +msgid ":const:`inf`" +msgstr ":const:`inf`" + +msgid "hash value returned for a positive infinity" +msgstr "хеш-значення, що повертається для позитивної нескінченності" + +msgid ":const:`nan`" +msgstr ":const:`nan`" + +msgid "(this attribute is no longer used)" +msgstr "(цей атрибут більше не використовується)" + +msgid ":const:`imag`" +msgstr ":const:`imag`" + +msgid "multiplier used for the imaginary part of a complex number" +msgstr "множник, який використовується для уявної частини комплексного числа" + +msgid ":const:`algorithm`" +msgstr ":const:`algorithm`" + +msgid "name of the algorithm for hashing of str, bytes, and memoryview" +msgstr "назва алгоритму хешування str, bytes і memoryview" + +msgid ":const:`hash_bits`" +msgstr ":const:`hash_bits`" + +msgid "internal output size of the hash algorithm" +msgstr "внутрішній вихідний розмір алгоритму хешування" + +msgid ":const:`seed_bits`" +msgstr ":const:`seed_bits`" + +msgid "size of the seed key of the hash algorithm" +msgstr "розмір початкового ключа геш-алгоритму" + +msgid "Added *algorithm*, *hash_bits* and *seed_bits*" +msgstr "Додано *algorithm*, *hash_bits* і *seed_bits*" + +msgid "" +"The version number encoded as a single integer. This is guaranteed to " +"increase with each version, including proper support for non-production " +"releases. For example, to test that the Python interpreter is at least " +"version 1.5.2, use::" +msgstr "" +"Номер версії, закодований як одне ціле число. Це гарантовано зростатиме з " +"кожною версією, включаючи належну підтримку невиробничих випусків. " +"Наприклад, щоб перевірити, що інтерпретатор Python має принаймні версію " +"1.5.2, використовуйте::" + +msgid "" +"This is called ``hexversion`` since it only really looks meaningful when " +"viewed as the result of passing it to the built-in :func:`hex` function. " +"The :term:`named tuple` :data:`sys.version_info` may be used for a more " +"human-friendly encoding of the same information." +msgstr "" +"Це називається ``hexversion``, оскільки воно справді виглядає значущим лише " +"тоді, коли розглядається як результат передачі його у вбудовану функцію :" +"func:`hex`. :term:`named tuple` :data:`sys.version_info` можна " +"використовувати для більш зручного для людини кодування тієї самої " +"інформації." + +msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." +msgstr "" +"Більш детальну інформацію про ``hexversion`` можна знайти на :ref:" +"`apiabiversion`." + +msgid "" +"An object containing information about the implementation of the currently " +"running Python interpreter. The following attributes are required to exist " +"in all Python implementations." +msgstr "" +"Об’єкт, що містить інформацію про реалізацію поточного інтерпретатора " +"Python. Наступні атрибути повинні існувати в усіх реалізаціях Python." + +msgid "" +"*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " +"string is defined by the Python implementation, but it is guaranteed to be " +"lower case." +msgstr "" +"*ім’я* – це ідентифікатор реалізації, напр. ``'cpython'``. Фактичний рядок " +"визначається реалізацією Python, але він гарантовано буде написаний у " +"нижньому регістрі." + +msgid "" +"*version* is a named tuple, in the same format as :data:`sys.version_info`. " +"It represents the version of the Python *implementation*. This has a " +"distinct meaning from the specific version of the Python *language* to which " +"the currently running interpreter conforms, which ``sys.version_info`` " +"represents. For example, for PyPy 1.8 ``sys.implementation.version`` might " +"be ``sys.version_info(1, 8, 0, 'final', 0)``, whereas ``sys.version_info`` " +"would be ``sys.version_info(2, 7, 2, 'final', 0)``. For CPython they are " +"the same value, since it is the reference implementation." +msgstr "" +"*version* — це іменований кортеж у тому самому форматі, що й :data:`sys." +"version_info`. Він представляє версію *реалізації* Python. Це має відмінне " +"значення від конкретної версії *мови* Python, якій відповідає поточний " +"інтерпретатор, який представляє ``sys.version_info``. Наприклад, для PyPy " +"1.8 ``sys.implementation.version`` може бути ``sys.version_info(1, 8, 0, " +"'final', 0)``, тоді як ``sys.version_info`` буде ``sys.version_info(2, 7, 2, " +"'final', 0)``. Для CPython вони однакові, оскільки це еталонна реалізація." + +msgid "" +"*hexversion* is the implementation version in hexadecimal format, like :data:" +"`sys.hexversion`." +msgstr "" +"*hexversion* — це версія реалізації в шістнадцятковому форматі, наприклад :" +"data:`sys.hexversion`." + +msgid "" +"*cache_tag* is the tag used by the import machinery in the filenames of " +"cached modules. By convention, it would be a composite of the " +"implementation's name and version, like ``'cpython-33'``. However, a Python " +"implementation may use some other value if appropriate. If ``cache_tag`` is " +"set to ``None``, it indicates that module caching should be disabled." +msgstr "" +"*cache_tag* — це тег, який використовується механізмом імпорту в назвах " +"файлів кешованих модулів. Відповідно до домовленості, це буде складене ім’я " +"реалізації та версія, наприклад ``'cpython-33``. Однак реалізація Python " +"може використовувати інше значення, якщо це доречно. Якщо ``cache_tag`` має " +"значення ``None``, це вказує на те, що кешування модуля має бути вимкнено." + +msgid "" +":data:`sys.implementation` may contain additional attributes specific to the " +"Python implementation. These non-standard attributes must start with an " +"underscore, and are not described here. Regardless of its contents, :data:" +"`sys.implementation` will not change during a run of the interpreter, nor " +"between implementation versions. (It may change between Python language " +"versions, however.) See :pep:`421` for more information." +msgstr "" +":data:`sys.implementation` може містити додаткові атрибути, характерні для " +"реалізації Python. Ці нестандартні атрибути мають починатися з підкреслення " +"та тут не описані. Незалежно від його вмісту, :data:`sys.implementation` не " +"змінюватиметься ні під час роботи інтерпретатора, ні між версіями " +"реалізації. (Однак він може змінюватися між версіями мови Python.) Додаткову " +"інформацію див. :pep:`421`." + +msgid "" +"The addition of new required attributes must go through the normal PEP " +"process. See :pep:`421` for more information." +msgstr "" +"Додавання нових необхідних атрибутів має проходити через звичайний процес " +"PEP. Перегляньте :pep:`421` для отримання додаткової інформації." + +msgid "" +"A :term:`named tuple` that holds information about Python's internal " +"representation of integers. The attributes are read only." +msgstr "" +":term:`named tuple`, який містить інформацію про внутрішнє представлення " +"цілих чисел у Python. Атрибути доступні лише для читання." + +msgid ":const:`bits_per_digit`" +msgstr ":const:`біт_на_цифру`" + +msgid "" +"number of bits held in each digit. Python integers are stored internally in " +"base ``2**int_info.bits_per_digit``" +msgstr "" +"кількість бітів, що містяться в кожній цифрі. Цілі числа Python зберігаються " +"внутрішньо в базі ``2**int_info.bits_per_digit``" + +msgid ":const:`sizeof_digit`" +msgstr ":const:`sizeof_digit`" + +msgid "size in bytes of the C type used to represent a digit" +msgstr "розмір у байтах типу C, який використовується для представлення цифри" + +msgid ":const:`default_max_str_digits`" +msgstr "" + +msgid "" +"default value for :func:`sys.get_int_max_str_digits` when it is not " +"otherwise explicitly configured." +msgstr "" + +msgid ":const:`str_digits_check_threshold`" +msgstr "" + +msgid "" +"minimum non-zero value for :func:`sys.set_int_max_str_digits`, :envvar:" +"`PYTHONINTMAXSTRDIGITS`, or :option:`-X int_max_str_digits <-X>`." +msgstr "" + +msgid "Added ``default_max_str_digits`` and ``str_digits_check_threshold``." +msgstr "" + +msgid "" +"When this attribute exists, its value is automatically called (with no " +"arguments) when the interpreter is launched in :ref:`interactive mode `. This is done after the :envvar:`PYTHONSTARTUP` file is read, " +"so that you can set this hook there. The :mod:`site` module :ref:`sets this " +"`." +msgstr "" +"Якщо цей атрибут існує, його значення викликається автоматично (без " +"аргументів), коли інтерпретатор запускається в :ref:`інтерактивному режимі " +"`. Це робиться після того, як файл :envvar:`PYTHONSTARTUP` " +"буде прочитано, щоб ви могли встановити цей хук там. Модуль :mod:`site` :ref:" +"`встановлює цей `." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " +"with argument ``hook``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_interactivehook`` з " +"аргументом ``hook``." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " +"with the hook object as the argument when the hook is called on startup." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_interactivehook`` з " +"об'єктом підхоплення як аргумент, коли підхоплення викликається під час " +"запуску." + +msgid "" +"Enter *string* in the table of \"interned\" strings and return the interned " +"string -- which is *string* itself or a copy. Interning strings is useful to " +"gain a little performance on dictionary lookup -- if the keys in a " +"dictionary are interned, and the lookup key is interned, the key comparisons " +"(after hashing) can be done by a pointer compare instead of a string " +"compare. Normally, the names used in Python programs are automatically " +"interned, and the dictionaries used to hold module, class or instance " +"attributes have interned keys." +msgstr "" +"Введіть *рядок* у таблицю \"інтернованих\" рядків і поверніть інтернований " +"рядок, який є самим *рядком* або копією. Інтернування рядків корисне для " +"підвищення продуктивності пошуку в словнику — якщо ключі в словнику " +"інтерновані, а ключ пошуку інтернований, порівняння ключів (після хешування) " +"можна виконувати за допомогою порівняння вказівників замість порівняння " +"рядків. Зазвичай імена, які використовуються в програмах Python, автоматично " +"інтернуються, а словники, які використовуються для зберігання атрибутів " +"модуля, класу чи екземпляра, мають інтерновані ключі." + +msgid "" +"Interned strings are not immortal; you must keep a reference to the return " +"value of :func:`intern` around to benefit from it." +msgstr "" +"Внутрішні рядки не є безсмертними; ви повинні зберігати посилання на " +"значення, що повертається :func:`intern`, щоб отримати від нього користь." + +msgid "" +"Return :const:`True` if the Python interpreter is :term:`shutting down " +"`, :const:`False` otherwise." +msgstr "" +"Повертає :const:`True`, якщо інтерпретатор Python :term:`вимикає " +"`, :const:`False` інакше." + +msgid "" +"These three variables are not always defined; they are set when an exception " +"is not handled and the interpreter prints an error message and a stack " +"traceback. Their intended use is to allow an interactive user to import a " +"debugger module and engage in post-mortem debugging without having to re-" +"execute the command that caused the error. (Typical use is ``import pdb; " +"pdb.pm()`` to enter the post-mortem debugger; see :mod:`pdb` module for more " +"information.)" +msgstr "" +"Ці три змінні не завжди визначені; вони встановлюються, коли виняток не " +"обробляється, і інтерпретатор друкує повідомлення про помилку та стек. Їх " +"призначення полягає в тому, щоб дозволити інтерактивному користувачеві " +"імпортувати модуль налагоджувача та брати участь у посмертному налагодженні " +"без необхідності повторного виконання команди, яка спричинила помилку. " +"(Типовим використанням є ``import pdb; pdb.pm()`` для входу в посмертний " +"налагоджувач; див. модуль :mod:`pdb` для отримання додаткової інформації.)" + +msgid "" +"The meaning of the variables is the same as that of the return values from :" +"func:`exc_info` above." +msgstr "" +"Значення змінних таке ж, як значення, що повертаються з :func:`exc_info` " +"вище." + +msgid "" +"An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " +"can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1`` " +"on a 64-bit platform." +msgstr "" +"Ціле число, яке дає максимальне значення, яке може приймати змінна типу :c:" +"type:`Py_ssize_t`. Зазвичай це ``2**31 - 1`` на 32-розрядній платформі та " +"``2**63 - 1`` на 64-розрядній платформі." + +msgid "" +"An integer giving the value of the largest Unicode code point, i.e. " +"``1114111`` (``0x10FFFF`` in hexadecimal)." +msgstr "" +"Ціле число, яке вказує значення найбільшої кодової точки Юнікоду, наприклад " +"``1114111`` (``0x10FFFF`` у шістнадцятковій системі)." + +msgid "" +"Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " +"``0x10FFFF``, depending on the configuration option that specified whether " +"Unicode characters were stored as UCS-2 or UCS-4." +msgstr "" +"До :pep:`393`, ``sys.maxunicode`` використовувався або ``0xFFFF``, або " +"``0x10FFFF``, залежно від параметра конфігурації, який вказував, чи " +"зберігаються символи Unicode як UCS-2 або UCS- 4." + +msgid "" +"A list of :term:`meta path finder` objects that have their :meth:`~importlib." +"abc.MetaPathFinder.find_spec` methods called to see if one of the objects " +"can find the module to be imported. By default, it holds entries that " +"implement Python's default import semantics. The :meth:`~importlib.abc." +"MetaPathFinder.find_spec` method is called with at least the absolute name " +"of the module being imported. If the module to be imported is contained in a " +"package, then the parent package's :attr:`__path__` attribute is passed in " +"as a second argument. The method returns a :term:`module spec`, or ``None`` " +"if the module cannot be found." +msgstr "" + +msgid ":class:`importlib.abc.MetaPathFinder`" +msgstr ":class:`importlib.abc.MetaPathFinder`" + +msgid "" +"The abstract base class defining the interface of finder objects on :data:" +"`meta_path`." +msgstr "" +"Абстрактний базовий клас, що визначає інтерфейс об’єктів пошуку на :data:" +"`meta_path`." + +msgid ":class:`importlib.machinery.ModuleSpec`" +msgstr ":class:`importlib.machinery.ModuleSpec`" + +msgid "" +"The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " +"should return instances of." +msgstr "" +"Конкретний клас, який :meth:`~importlib.abc.MetaPathFinder.find_spec` має " +"повертати екземпляри." + +msgid "" +":term:`Module specs ` were introduced in Python 3.4, by :pep:" +"`451`. Earlier versions of Python looked for a method called :meth:" +"`~importlib.abc.MetaPathFinder.find_module`. This is still called as a " +"fallback if a :data:`meta_path` entry doesn't have a :meth:`~importlib.abc." +"MetaPathFinder.find_spec` method." +msgstr "" +":term:`Специфікації модуля ` були представлені в Python 3.4 :" +"pep:`451`. Попередні версії Python шукали метод під назвою :meth:`~importlib." +"abc.MetaPathFinder.find_module`. Це все ще викликається як запасний, якщо " +"запис :data:`meta_path` не має методу :meth:`~importlib.abc.MetaPathFinder." +"find_spec`." + +msgid "" +"This is a dictionary that maps module names to modules which have already " +"been loaded. This can be manipulated to force reloading of modules and " +"other tricks. However, replacing the dictionary will not necessarily work as " +"expected and deleting essential items from the dictionary may cause Python " +"to fail. If you want to iterate over this global dictionary always use " +"``sys.modules.copy()`` or ``tuple(sys.modules)`` to avoid exceptions as its " +"size may change during iteration as a side effect of code or activity in " +"other threads." +msgstr "" +"Це словник, який зіставляє назви модулів із уже завантаженими модулями. Цим " +"можна маніпулювати, щоб примусово перезавантажувати модулі та виконувати " +"інші трюки. Однак заміна словника не обов’язково працюватиме належним чином, " +"а видалення важливих елементів зі словника може призвести до збою Python. " +"Якщо ви хочете повторити цей глобальний словник, завжди використовуйте ``sys." +"modules.copy()`` або ``tuple(sys.modules)``, щоб уникнути винятків, оскільки " +"його розмір може змінюватися під час ітерації як побічний ефект коду або " +"діяльність в інших потоках." + +msgid "" +"The list of the original command line arguments passed to the Python " +"executable." +msgstr "" +"Список оригінальних аргументів командного рядка, переданих у виконуваний " +"файл Python." + +msgid "See also :data:`sys.argv`." +msgstr "Дивіться також :data:`sys.argv`." + +msgid "" +"A list of strings that specifies the search path for modules. Initialized " +"from the environment variable :envvar:`PYTHONPATH`, plus an installation-" +"dependent default." +msgstr "" +"Список рядків, який визначає шлях пошуку для модулів. Ініціалізується зі " +"змінної середовища :envvar:`PYTHONPATH`, плюс значення за умовчанням, що " +"залежить від встановлення." + +msgid "" +"By default, as initialized upon program startup, a potentially unsafe path " +"is prepended to :data:`sys.path` (*before* the entries inserted as a result " +"of :envvar:`PYTHONPATH`):" +msgstr "" + +msgid "" +"``python -m module`` command line: prepend the current working directory." +msgstr "" + +msgid "" +"``python script.py`` command line: prepend the script's directory. If it's a " +"symbolic link, resolve symbolic links." +msgstr "" + +msgid "" +"``python -c code`` and ``python`` (REPL) command lines: prepend an empty " +"string, which means the current working directory." +msgstr "" + +msgid "" +"To not prepend this potentially unsafe path, use the :option:`-P` command " +"line option or the :envvar:`PYTHONSAFEPATH` environment variable." +msgstr "" + +msgid "" +"A program is free to modify this list for its own purposes. Only strings " +"should be added to :data:`sys.path`; all other data types are ignored during " +"import." +msgstr "" + +msgid "" +"Module :mod:`site` This describes how to use .pth files to extend :data:`sys." +"path`." +msgstr "" +"Модуль :mod:`site` Тут описано, як використовувати файли .pth для " +"розширення :data:`sys.path`." + +msgid "" +"A list of callables that take a path argument to try to create a :term:" +"`finder` for the path. If a finder can be created, it is to be returned by " +"the callable, else raise :exc:`ImportError`." +msgstr "" +"Список викликів, які приймають аргумент path, щоб спробувати створити :term:" +"`finder` для шляху. Якщо засіб пошуку можна створити, його має повернути " +"виклик, інакше викликається :exc:`ImportError`." + +msgid "Originally specified in :pep:`302`." +msgstr "Спочатку вказано в :pep:`302`." + +msgid "" +"A dictionary acting as a cache for :term:`finder` objects. The keys are " +"paths that have been passed to :data:`sys.path_hooks` and the values are the " +"finders that are found. If a path is a valid file system path but no finder " +"is found on :data:`sys.path_hooks` then ``None`` is stored." +msgstr "" +"Словник, що діє як кеш для об’єктів :term:`finder`. Ключі – це шляхи, які " +"були передані до :data:`sys.path_hooks`, а значення – це знайдені шукачі. " +"Якщо шлях є дійсним шляхом у файловій системі, але в :data:`sys.path_hooks` " +"не знайдено засобу пошуку, тоді зберігається значення \"Немає\"." + +msgid "" +"``None`` is stored instead of :class:`imp.NullImporter` when no finder is " +"found." +msgstr "" +"``None`` зберігається замість :class:`imp.NullImporter`, якщо шукач не " +"знайдено." + +msgid "" +"This string contains a platform identifier that can be used to append " +"platform-specific components to :data:`sys.path`, for instance." +msgstr "" +"Цей рядок містить ідентифікатор платформи, який можна використовувати, " +"наприклад, для додавання специфічних для платформи компонентів до :data:`sys." +"path`." + +msgid "" +"For Unix systems, except on Linux and AIX, this is the lowercased OS name as " +"returned by ``uname -s`` with the first part of the version as returned by " +"``uname -r`` appended, e.g. ``'sunos5'`` or ``'freebsd8'``, *at the time " +"when Python was built*. Unless you want to test for a specific system " +"version, it is therefore recommended to use the following idiom::" +msgstr "" +"Для систем Unix, за винятком Linux і AIX, це назва ОС у нижньому регістрі, " +"яку повертає ``uname -s`` з додаванням першої частини версії, яку повертає " +"``uname -r``, наприклад. ``'sunos5'`` або ``'freebsd8'``, *на час створення " +"Python*. Якщо ви не бажаєте перевірити конкретну версію системи, тому " +"рекомендується використовувати наступну ідіому:" + +msgid "For other systems, the values are:" +msgstr "Для інших систем значення:" + +msgid "System" +msgstr "система" + +msgid "``platform`` value" +msgstr "значення ``платформи``" + +msgid "AIX" +msgstr "AIX" + +msgid "``'aix'``" +msgstr "``'aix'``" + +msgid "Emscripten" +msgstr "" + +msgid "``'emscripten'``" +msgstr "" + +msgid "Linux" +msgstr "Linux" + +msgid "``'linux'``" +msgstr "``'linux'``" + +msgid "WASI" +msgstr "" + +msgid "``'wasi'``" +msgstr "" + +msgid "Windows" +msgstr "вікна" + +msgid "``'win32'``" +msgstr "``'win32'``" + +msgid "Windows/Cygwin" +msgstr "Windows/Cygwin" + +msgid "``'cygwin'``" +msgstr "``'cygwin'``" + +msgid "macOS" +msgstr "macOS" + +msgid "``'darwin'``" +msgstr "``''дарвін'``" + +msgid "" +"On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " +"is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " +"Python versions include the version number, it is recommended to always use " +"the ``startswith`` idiom presented above." +msgstr "" +"У Linux :attr:`sys.platform` більше не містить основної версії. Це завжди " +"``'linux'`` замість ``'linux2'`` або ``'linux3'``. Оскільки старіші версії " +"Python включають номер версії, рекомендується завжди використовувати ідіому " +"``startswith``, представлену вище." + +msgid "" +"On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " +"is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since older " +"Python versions include the version number, it is recommended to always use " +"the ``startswith`` idiom presented above." +msgstr "" +"В AIX :attr:`sys.platform` більше не містить основної версії. Це завжди " +"``'aix``, замість ``'aix5'`` або ``'aix7'``. Оскільки старіші версії Python " +"включають номер версії, рекомендується завжди використовувати ідіому " +"``startswith``, представлену вище." + +msgid "" +":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" +"dependent version information." +msgstr "" +":attr:`os.name` має більш грубу деталізацію. :func:`os.uname` надає " +"інформацію про версію, що залежить від системи." + +msgid "" +"The :mod:`platform` module provides detailed checks for the system's " +"identity." +msgstr "" +"Модуль :mod:`platform` забезпечує детальну перевірку ідентичності системи." + +msgid "" +"Name of the platform-specific library directory. It is used to build the " +"path of standard library and the paths of installed extension modules." +msgstr "" +"Назва каталогу бібліотеки для конкретної платформи. Використовується для " +"побудови шляху стандартної бібліотеки та шляхів встановлених модулів " +"розширення." + +msgid "" +"It is equal to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is " +"equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." +"path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" +msgstr "" +"На більшості платформ він дорівнює ``\"lib\"``. У Fedora та SuSE він " +"дорівнює ``\"lib64\"`` на 64-розрядних платформах, що дає такі шляхи ``sys." +"path`` (де ``X.Y`` є ``major.minor`` Python версія):" + +msgid "" +"``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " +"module)" +msgstr "" +"``/usr/lib64/pythonX.Y/``: Стандартна бібліотека (наприклад, ``os.py`` " +"модуля :mod:`os`)" + +msgid "" +"``/usr/lib64/pythonX.Y/lib-dynload/``: C extension modules of the standard " +"library (like the :mod:`errno` module, the exact filename is platform " +"specific)" +msgstr "" +"``/usr/lib64/pythonX.Y/lib-dynload/``: модулі розширення C стандартної " +"бібліотеки (наприклад, модуль :mod:`errno`, точна назва файлу залежить від " +"платформи)" + +msgid "" +"``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." +"platlibdir`): Third-party modules" +msgstr "" +"``/usr/lib/pythonX.Y/site-packages/`` (завжди використовуйте ``lib``, а не :" +"data:`sys.platlibdir`): сторонні модулі" + +msgid "" +"``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " +"packages" +msgstr "" +"``/usr/lib64/pythonX.Y/site-packages/``: модулі розширення C пакетів " +"сторонніх розробників" + +msgid "" +"A string giving the site-specific directory prefix where the platform " +"independent Python files are installed; on Unix, the default is ``'/usr/" +"local'``. This can be set at build time with the ``--prefix`` argument to " +"the :program:`configure` script. See :ref:`installation_paths` for derived " +"paths." +msgstr "" +"Рядок, що містить префікс каталогу сайту, де встановлено незалежні від " +"платформи файли Python; в Unix типовим є ``'/usr/local'``. Це можна " +"встановити під час збирання за допомогою аргументу ``--prefix`` сценарію :" +"program:`configure`. Перегляньте :ref:`installation_paths` для похідних " +"шляхів." + +msgid "" +"If a :ref:`virtual environment ` is in effect, this value will be " +"changed in ``site.py`` to point to the virtual environment. The value for " +"the Python installation will still be available, via :data:`base_prefix`." +msgstr "" +"Якщо діє :ref:`віртуальне середовище `, це значення буде змінено у " +"``site.py``, щоб вказувати на віртуальне середовище. Значення для " +"встановлення Python усе ще буде доступним через :data:`base_prefix`." + +msgid "" +"Strings specifying the primary and secondary prompt of the interpreter. " +"These are only defined if the interpreter is in interactive mode. Their " +"initial values in this case are ``'>>> '`` and ``'... '``. If a non-string " +"object is assigned to either variable, its :func:`str` is re-evaluated each " +"time the interpreter prepares to read a new interactive command; this can be " +"used to implement a dynamic prompt." +msgstr "" +"Рядки, що вказують основну та додаткову підказки інтерпретатора. Вони " +"визначаються, лише якщо інтерпретатор перебуває в інтерактивному режимі. Їх " +"початковими значеннями в цьому випадку є ``'>>> '`` і ``'... '``. Якщо будь-" +"якій змінній присвоєно нерядковий об’єкт, його :func:`str` переоцінюється " +"щоразу, коли інтерпретатор готується прочитати нову інтерактивну команду; це " +"можна використовувати для реалізації динамічного підказки." + +msgid "" +"Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " +"when the interpreter loads extension modules. Among other things, this will " +"enable a lazy resolving of symbols when importing a module, if called as " +"``sys.setdlopenflags(0)``. To share symbols across extension modules, call " +"as ``sys.setdlopenflags(os.RTLD_GLOBAL)``. Symbolic names for the flag " +"values can be found in the :mod:`os` module (``RTLD_xxx`` constants, e.g. :" +"data:`os.RTLD_LAZY`)." +msgstr "" +"Установіть прапорці, які використовуються інтерпретатором для викликів :c:" +"func:`dlopen`, наприклад, коли інтерпретатор завантажує модулі розширення. " +"Серед іншого, це дозволить відкладено розпізнавати символи під час " +"імпортування модуля, якщо він викликається як ``sys.setdlopenflags(0)``. Щоб " +"поділитися символами між модулями розширення, викличте ``sys." +"setdlopenflags(os.RTLD_GLOBAL)``. Символічні назви для значень прапорів " +"можна знайти в модулі :mod:`os` (константи ``RTLD_xxx``, наприклад :data:`os." +"RTLD_LAZY`)." + +msgid "" +"Set the :ref:`integer string conversion length limitation " +"` used by this interpreter. See also :func:" +"`get_int_max_str_digits`." +msgstr "" + +msgid "" +"Set the system's profile function, which allows you to implement a Python " +"source code profiler in Python. See chapter :ref:`profile` for more " +"information on the Python profiler. The system's profile function is called " +"similarly to the system's trace function (see :func:`settrace`), but it is " +"called with different events, for example it isn't called for each executed " +"line of code (only on call and return, but the return event is reported even " +"when an exception has been set). The function is thread-specific, but there " +"is no way for the profiler to know about context switches between threads, " +"so it does not make sense to use this in the presence of multiple threads. " +"Also, its return value is not used, so it can simply return ``None``. Error " +"in the profile function will cause itself unset." +msgstr "" +"Встановіть функцію профілю системи, яка дозволяє реалізувати профайлер " +"вихідного коду Python у Python. Перегляньте розділ :ref:`profile` для " +"отримання додаткової інформації про профайлер Python. Функція профілю " +"системи викликається подібно до функції трасування системи (див. :func:" +"`settrace`), але вона викликається з різними подіями, наприклад, вона не " +"викликається для кожного виконаного рядка коду (тільки під час виклику та " +"повернення, але подія повернення повідомляється, навіть якщо встановлено " +"виняток). Ця функція залежить від потоку, але профайлер не може дізнатися " +"про перемикання контексту між потоками, тому немає сенсу використовувати це " +"за наявності кількох потоків. Крім того, його повертане значення не " +"використовується, тому воно може просто повернути ``None``. Помилка у " +"функції профілю призведе до самої неналаштування." + +msgid "" +"Profile functions should have three arguments: *frame*, *event*, and *arg*. " +"*frame* is the current stack frame. *event* is a string: ``'call'``, " +"``'return'``, ``'c_call'``, ``'c_return'``, or ``'c_exception'``. *arg* " +"depends on the event type." +msgstr "" +"Функції профілю повинні мати три аргументи: *frame*, *event* і *arg*. " +"*frame* — поточний кадр стека. *подія* — це рядок: ``'call'``, ``'return'``, " +"``'c_call'``, ``'c_return'`` або ``'c_exception'``. *arg* залежить від типу " +"події." + +msgid "" +"Raises an :ref:`auditing event ` ``sys.setprofile`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys.setprofile`` без аргументів." + +msgid "The events have the following meaning:" +msgstr "Події мають таке значення:" + +msgid "``'call'``" +msgstr "``'дзвінок'``" + +msgid "" +"A function is called (or some other code block entered). The profile " +"function is called; *arg* is ``None``." +msgstr "" +"Викликається функція (або вводиться інший блок коду). Функція профілю " +"викликається; *arg* — це ``None``." + +msgid "``'return'``" +msgstr "``'повернення'``" + +msgid "" +"A function (or other code block) is about to return. The profile function " +"is called; *arg* is the value that will be returned, or ``None`` if the " +"event is caused by an exception being raised." +msgstr "" +"Функція (або інший блок коду) збирається повернутися. Функція профілю " +"викликається; *arg* — це значення, яке буде повернуто, або ``None``, якщо " +"подія спричинена винятковою ситуацією." + +msgid "``'c_call'``" +msgstr "``'c_call'``" + +msgid "" +"A C function is about to be called. This may be an extension function or a " +"built-in. *arg* is the C function object." +msgstr "" +"Ось-ось буде викликана функція C. Це може бути функція розширення або " +"вбудована. *arg* — об’єкт функції C." + +msgid "``'c_return'``" +msgstr "``'c_return'``" + +msgid "A C function has returned. *arg* is the C function object." +msgstr "Функція C повернулася. *arg* — об’єкт функції C." + +msgid "``'c_exception'``" +msgstr "``'c_виняток'``" + +msgid "A C function has raised an exception. *arg* is the C function object." +msgstr "Функція C викликала виняток. *arg* — об’єкт функції C." + +msgid "" +"Set the maximum depth of the Python interpreter stack to *limit*. This " +"limit prevents infinite recursion from causing an overflow of the C stack " +"and crashing Python." +msgstr "" +"Встановіть максимальну глибину стека інтерпретатора Python на *limit*. Це " +"обмеження запобігає нескінченній рекурсії від переповнення стека C і збою " +"Python." + +msgid "" +"The highest possible limit is platform-dependent. A user may need to set " +"the limit higher when they have a program that requires deep recursion and a " +"platform that supports a higher limit. This should be done with care, " +"because a too-high limit can lead to a crash." +msgstr "" +"Найвищий можливий ліміт залежить від платформи. Користувачеві може " +"знадобитися встановити вищий ліміт, якщо у нього є програма, яка потребує " +"глибокої рекурсії, і платформа, яка підтримує вищий ліміт. Це слід робити " +"обережно, тому що занадто високий ліміт може призвести до збою." + +msgid "" +"If the new limit is too low at the current recursion depth, a :exc:" +"`RecursionError` exception is raised." +msgstr "" +"Якщо новий ліміт занизький для поточної глибини рекурсії, виникає виняток :" +"exc:`RecursionError`." + +msgid "" +"A :exc:`RecursionError` exception is now raised if the new limit is too low " +"at the current recursion depth." +msgstr "" +"Виняток :exc:`RecursionError` тепер викликається, якщо нове обмеження " +"занизьке на поточній глибині рекурсії." + +msgid "" +"Set the interpreter's thread switch interval (in seconds). This floating-" +"point value determines the ideal duration of the \"timeslices\" allocated to " +"concurrently running Python threads. Please note that the actual value can " +"be higher, especially if long-running internal functions or methods are " +"used. Also, which thread becomes scheduled at the end of the interval is " +"the operating system's decision. The interpreter doesn't have its own " +"scheduler." +msgstr "" +"Встановити інтервал перемикання потоків інтерпретатора (у секундах). Це " +"значення з плаваючою комою визначає ідеальну тривалість \"часових інтервалів" +"\", виділених одночасно запущеним потокам Python. Зверніть увагу, що " +"фактичне значення може бути вищим, особливо якщо використовуються " +"довгострокові внутрішні функції або методи. Крім того, операційна система " +"вирішує, який потік буде заплановано в кінці інтервалу. Інтерпретатор не має " +"власного планувальника." + +msgid "" +"Set the system's trace function, which allows you to implement a Python " +"source code debugger in Python. The function is thread-specific; for a " +"debugger to support multiple threads, it must register a trace function " +"using :func:`settrace` for each thread being debugged or use :func:" +"`threading.settrace`." +msgstr "" +"Налаштуйте функцію трасування системи, яка дозволяє реалізувати налагоджувач " +"вихідного коду Python у Python. Функція залежить від потоку; щоб " +"налагоджувач підтримував кілька потоків, він повинен зареєструвати функцію " +"трасування за допомогою :func:`settrace` для кожного потоку, який " +"налагоджується, або використовувати :func:`threading.settrace`." + +msgid "" +"Trace functions should have three arguments: *frame*, *event*, and *arg*. " +"*frame* is the current stack frame. *event* is a string: ``'call'``, " +"``'line'``, ``'return'``, ``'exception'`` or ``'opcode'``. *arg* depends on " +"the event type." +msgstr "" +"Функції трасування повинні мати три аргументи: *frame*, *event* і *arg*. " +"*frame* — поточний кадр стека. *подія* — це рядок: ``'виклик'``, " +"``'рядок'``, ``'повернення'``, ``'виняток'`` або ``'код операції'``. *arg* " +"залежить від типу події." + +msgid "" +"The trace function is invoked (with *event* set to ``'call'``) whenever a " +"new local scope is entered; it should return a reference to a local trace " +"function to be used for the new scope, or ``None`` if the scope shouldn't be " +"traced." +msgstr "" +"Функція трасування викликається (з *event* встановленим на ``'call'``) " +"кожного разу, коли вводиться нова локальна область; він повинен повертати " +"посилання на локальну функцію трасування, яка буде використана для нової " +"області, або ``None``, якщо область не повинна відстежуватися." + +msgid "" +"The local trace function should return a reference to itself (or to another " +"function for further tracing in that scope), or ``None`` to turn off tracing " +"in that scope." +msgstr "" +"Функція локальної трасування має повертати посилання на себе (або на іншу " +"функцію для подальшого трасування в цій області), або ``None``, щоб вимкнути " +"трасування в цій області." + +msgid "" +"If there is any error occurred in the trace function, it will be unset, just " +"like ``settrace(None)`` is called." +msgstr "" +"Якщо у функції відстеження сталася будь-яка помилка, вона буде скинута, як і " +"виклик ``settrace(None)``." + +msgid "" +"A function is called (or some other code block entered). The global trace " +"function is called; *arg* is ``None``; the return value specifies the local " +"trace function." +msgstr "" +"Викликається функція (або вводиться інший блок коду). Глобальна функція " +"трасування називається; *arg* є ``None``; значення, що повертається, " +"визначає локальну функцію трасування." + +msgid "``'line'``" +msgstr "``''рядок'``" + +msgid "" +"The interpreter is about to execute a new line of code or re-execute the " +"condition of a loop. The local trace function is called; *arg* is ``None``; " +"the return value specifies the new local trace function. See :file:`Objects/" +"lnotab_notes.txt` for a detailed explanation of how this works. Per-line " +"events may be disabled for a frame by setting :attr:`f_trace_lines` to :" +"const:`False` on that frame." +msgstr "" +"Інтерпретатор збирається виконати новий рядок коду або повторно виконати " +"умову циклу. Викликається функція локального трасування; *arg* є ``None``; " +"значення, що повертається, визначає нову локальну функцію трасування. " +"Перегляньте :file:`Objects/lnotab_notes.txt` для детального пояснення того, " +"як це працює. Порядкові події можна вимкнути для кадру, встановивши :attr:" +"`f_trace_lines` на :const:`False` для цього кадру." + +msgid "" +"A function (or other code block) is about to return. The local trace " +"function is called; *arg* is the value that will be returned, or ``None`` if " +"the event is caused by an exception being raised. The trace function's " +"return value is ignored." +msgstr "" +"Функція (або інший блок коду) збирається повернутися. Викликається функція " +"локального трасування; *arg* — це значення, яке буде повернуто, або " +"``None``, якщо подія спричинена винятковою ситуацією. Повернене значення " +"функції трасування ігнорується." + +msgid "``'exception'``" +msgstr "``'виняток'``" + +msgid "" +"An exception has occurred. The local trace function is called; *arg* is a " +"tuple ``(exception, value, traceback)``; the return value specifies the new " +"local trace function." +msgstr "" +"Стався виняток. Викликається функція локального трасування; *arg* — це " +"кортеж ``(виключення, значення, відстеження)``; значення, що повертається, " +"визначає нову локальну функцію трасування." + +msgid "``'opcode'``" +msgstr "``'код операції'``" + +msgid "" +"The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " +"details). The local trace function is called; *arg* is ``None``; the return " +"value specifies the new local trace function. Per-opcode events are not " +"emitted by default: they must be explicitly requested by setting :attr:" +"`f_trace_opcodes` to :const:`True` on the frame." +msgstr "" +"Інтерпретатор збирається виконати новий код операції (дивіться :mod:`dis` " +"для деталей коду операції). Викликається функція локального трасування; " +"*arg* є ``None``; значення, що повертається, визначає нову локальну функцію " +"трасування. Події для кожного коду операції не генеруються за замовчуванням: " +"їх потрібно явно запитати, встановивши для :attr:`f_trace_opcodes` значення :" +"const:`True` у кадрі." + +msgid "" +"Note that as an exception is propagated down the chain of callers, an " +"``'exception'`` event is generated at each level." +msgstr "" +"Зауважте, що коли виняткова ситуація поширюється вниз по ланцюжку абонентів, " +"на кожному рівні генерується подія ``'виняток'``." + +msgid "" +"For more fine-grained usage, it's possible to set a trace function by " +"assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on " +"it being set indirectly via the return value from an already installed trace " +"function. This is also required for activating the trace function on the " +"current frame, which :func:`settrace` doesn't do. Note that in order for " +"this to work, a global tracing function must have been installed with :func:" +"`settrace` in order to enable the runtime tracing machinery, but it doesn't " +"need to be the same tracing function (e.g. it could be a low overhead " +"tracing function that simply returns ``None`` to disable itself immediately " +"on each frame)." +msgstr "" +"Для більш точного використання можна встановити функцію трасування, " +"призначивши ``frame.f_trace = tracefunc`` явно, замість того, щоб " +"покладатися на її встановлення опосередковано через значення, яке повертає " +"вже встановлена функція трасування. Це також потрібно для активації функції " +"трасування поточного кадру, чого :func:`settrace` не робить. Зауважте, що " +"для того, щоб це працювало, глобальна функція трасування має бути " +"встановлена разом із :func:`settrace`, щоб увімкнути механізм трасування під " +"час виконання, але це не обов’язково має бути та сама функція трасування " +"(наприклад, це може бути функція відстеження низьких накладних витрат, яка " +"просто повертає ``None``, щоб негайно вимкнути себе в кожному кадрі)." + +msgid "For more information on code and frame objects, refer to :ref:`types`." +msgstr "" +"Для отримання додаткової інформації про код і об’єкти фрейму зверніться до :" +"ref:`types`." + +msgid "" +"Raises an :ref:`auditing event ` ``sys.settrace`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys.settrace`` без аргументів." + +msgid "" +"The :func:`settrace` function is intended only for implementing debuggers, " +"profilers, coverage tools and the like. Its behavior is part of the " +"implementation platform, rather than part of the language definition, and " +"thus may not be available in all Python implementations." +msgstr "" +"Функція :func:`settrace` призначена лише для реалізації налагоджувачів, " +"профайлерів, інструментів покриття тощо. Його поведінка є частиною платформи " +"реалізації, а не частиною визначення мови, і тому може бути недоступною в " +"усіх реалізаціях Python." + +msgid "" +"``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" +"`f_trace_opcodes` attributes added to frames" +msgstr "" +"додано тип події ``'opcode'``; Атрибути :attr:`f_trace_lines` і :attr:" +"`f_trace_opcodes` додано до кадрів" + +msgid "" +"Accepts two optional keyword arguments which are callables that accept an :" +"term:`asynchronous generator iterator` as an argument. The *firstiter* " +"callable will be called when an asynchronous generator is iterated for the " +"first time. The *finalizer* will be called when an asynchronous generator is " +"about to be garbage collected." +msgstr "" +"Приймає два необов’язкові аргументи ключових слів, які викликаються та " +"приймають :term:`asynchronous generator iterator` як аргумент. Викликаний " +"*firstiter* буде викликаний, коли асинхронний генератор повторюється вперше. " +"*Finalizer* буде викликано, коли асинхронний генератор збирається зібрати " +"сміття." + +msgid "" +"Raises an :ref:`auditing event ` ``sys." +"set_asyncgen_hooks_firstiter`` with no arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys.set_asyncgen_hooks_firstiter`` " +"без аргументів." + +msgid "" +"Raises an :ref:`auditing event ` ``sys." +"set_asyncgen_hooks_finalizer`` with no arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``sys.set_asyncgen_hooks_finalizer`` " +"без аргументів." + +msgid "" +"Two auditing events are raised because the underlying API consists of two " +"calls, each of which must raise its own event." +msgstr "" +"Викликаються дві події аудиту, оскільки базовий API складається з двох " +"викликів, кожен із яких має викликати власну подію." + +msgid "" +"See :pep:`525` for more details, and for a reference example of a " +"*finalizer* method see the implementation of ``asyncio.Loop." +"shutdown_asyncgens`` in :source:`Lib/asyncio/base_events.py`" +msgstr "" +"Перегляньте :pep:`525` для отримання додаткової інформації, а для " +"довідкового прикладу методу *finalizer* див. реалізацію ``asyncio.Loop." +"shutdown_asyncgens`` у :source:`Lib/asyncio/base_events.py`" + +msgid "" +"Allows enabling or disabling coroutine origin tracking. When enabled, the " +"``cr_origin`` attribute on coroutine objects will contain a tuple of " +"(filename, line number, function name) tuples describing the traceback where " +"the coroutine object was created, with the most recent call first. When " +"disabled, ``cr_origin`` will be None." +msgstr "" +"Дозволяє вмикати або вимикати відстеження походження співпрограми. Якщо " +"ввімкнено, атрибут ``cr_origin`` для об’єктів співпрограми міститиме кортеж " +"кортежів (ім’я файлу, номер рядка, назва функції), що описує відстеження, де " +"було створено об’єкт співпрограми, з останнім викликом першим. Якщо " +"вимкнено, ``cr_origin`` матиме значення None." + +msgid "" +"To enable, pass a *depth* value greater than zero; this sets the number of " +"frames whose information will be captured. To disable, pass set *depth* to " +"zero." +msgstr "" +"Щоб увімкнути, передайте значення *depth* більше нуля; це встановлює " +"кількість кадрів, інформація яких буде захоплена. Щоб вимкнути, установіть " +"*depth* на нуль." + +msgid "This setting is thread-specific." +msgstr "Це налаштування залежить від потоку." + +msgid "" +"Changes the :term:`filesystem encoding and error handler` to 'mbcs' and " +"'replace' respectively, for consistency with versions of Python prior to 3.6." +msgstr "" +"Змінює :term:`filesystem encoding and error handler` на 'mbcs' і 'replace' " +"відповідно, для узгодженості з версіями Python до 3.6." + +msgid "" +"This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " +"environment variable before launching Python." +msgstr "" +"Це еквівалентно визначенню змінної середовища :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING` перед запуском Python." + +msgid "" +"See also :func:`sys.getfilesystemencoding` and :func:`sys." +"getfilesystemencodeerrors`." +msgstr "" +"Дивіться також :func:`sys.getfilesystemencoding` і :func:`sys." +"getfilesystemencodeerrors`." + +msgid "See :pep:`529` for more details." +msgstr "Дивіться :pep:`529` для більш детальної інформації." + +msgid "" +":term:`File objects ` used by the interpreter for standard " +"input, output and errors:" +msgstr "" +":term:`Файлові об’єкти `, які використовуються інтерпретатором " +"для стандартного введення, виведення та помилок:" + +msgid "" +"``stdin`` is used for all interactive input (including calls to :func:" +"`input`);" +msgstr "" +"``stdin`` використовується для всього інтерактивного введення (включаючи " +"виклики :func:`input`);" + +msgid "" +"``stdout`` is used for the output of :func:`print` and :term:`expression` " +"statements and for the prompts of :func:`input`;" +msgstr "" +"``stdout`` використовується для виведення операторів :func:`print` і :term:" +"`expression` і для підказок :func:`input`;" + +msgid "The interpreter's own prompts and its error messages go to ``stderr``." +msgstr "" +"Власні підказки інтерпретатора та його повідомлення про помилки надходять до " +"``stderr``." + +msgid "" +"These streams are regular :term:`text files ` like those returned " +"by the :func:`open` function. Their parameters are chosen as follows:" +msgstr "" +"Ці потоки є звичайними :term:`текстовими файлами `, як ті, що " +"повертаються функцією :func:`open`. Їх параметри вибираються наступним чином:" + +msgid "" +"The encoding and error handling are is initialized from :c:member:`PyConfig." +"stdio_encoding` and :c:member:`PyConfig.stdio_errors`." +msgstr "" +"Кодування та обробка помилок ініціалізуються з :c:member:`PyConfig." +"stdio_encoding` і :c:member:`PyConfig.stdio_errors`." + +msgid "" +"On Windows, UTF-8 is used for the console device. Non-character devices " +"such as disk files and pipes use the system locale encoding (i.e. the ANSI " +"codepage). Non-console character devices such as NUL (i.e. where " +"``isatty()`` returns ``True``) use the value of the console input and output " +"codepages at startup, respectively for stdin and stdout/stderr. This " +"defaults to the system :term:`locale encoding` if the process is not " +"initially attached to a console." +msgstr "" +"У Windows для консольного пристрою використовується UTF-8. Несимвольні " +"пристрої, такі як дискові файли та канали, використовують системне кодування " +"локалі (тобто кодову сторінку ANSI). Неконсольні символьні пристрої, такі як " +"NUL (тобто де ``isatty()`` повертає ``True``), використовують значення " +"кодових сторінок консолі вводу та виводу під час запуску відповідно для " +"stdin та stdout/stderr. За замовчуванням використовується системне :term:" +"`locale encoding`, якщо процес спочатку не приєднано до консолі." + +msgid "" +"The special behaviour of the console can be overridden by setting the " +"environment variable PYTHONLEGACYWINDOWSSTDIO before starting Python. In " +"that case, the console codepages are used as for any other character device." +msgstr "" +"Спеціальну поведінку консолі можна змінити, встановивши змінну середовища " +"PYTHONLEGACYWINDOWSSTDIO перед запуском Python. У цьому випадку кодові " +"сторінки консолі використовуються як для будь-якого іншого символьного " +"пристрою." + +msgid "" +"Under all platforms, you can override the character encoding by setting the :" +"envvar:`PYTHONIOENCODING` environment variable before starting Python or by " +"using the new :option:`-X` ``utf8`` command line option and :envvar:" +"`PYTHONUTF8` environment variable. However, for the Windows console, this " +"only applies when :envvar:`PYTHONLEGACYWINDOWSSTDIO` is also set." +msgstr "" +"На всіх платформах ви можете змінити кодування символів, встановивши змінну " +"середовища :envvar:`PYTHONIOENCODING` перед запуском Python або " +"використовуючи новий параметр командного рядка :option:`-X` ``utf8`` і :" +"envvar:`PYTHONUTF8` змінна середовища. Однак для консолі Windows це " +"стосується лише коли :envvar:`PYTHONLEGACYWINDOWSSTDIO` також встановлено." + +msgid "" +"When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " +"block-buffered like regular text files. The ``stderr`` stream is line-" +"buffered in both cases. You can make both streams unbuffered by passing " +"the :option:`-u` command-line option or setting the :envvar:" +"`PYTHONUNBUFFERED` environment variable." +msgstr "" +"У інтерактивному режимі потік ``stdout`` буферизується в рядках. В іншому " +"випадку він буферизується блоками, як звичайні текстові файли. Потік " +"``stderr`` буферизується в обох випадках. Ви можете зробити обидва потоки " +"небуферизованими, передавши параметр командного рядка :option:`-u` або " +"встановивши змінну середовища :envvar:`PYTHONUNBUFFERED`." + +msgid "" +"Non-interactive ``stderr`` is now line-buffered instead of fully buffered." +msgstr "" +"Неінтерактивний ``stderr`` тепер буферизується рядками замість повної " +"буферизації." + +msgid "" +"To write or read binary data from/to the standard streams, use the " +"underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " +"write bytes to :data:`stdout`, use ``sys.stdout.buffer.write(b'abc')``." +msgstr "" +"Щоб записати або прочитати двійкові дані з/до стандартних потоків, " +"використовуйте базовий двійковий об’єкт :data:`~io.TextIOBase.buffer`. " +"Наприклад, щоб записати байти в :data:`stdout`, використовуйте ``sys.stdout." +"buffer.write(b'abc')``." + +msgid "" +"However, if you are writing a library (and do not control in which context " +"its code will be executed), be aware that the standard streams may be " +"replaced with file-like objects like :class:`io.StringIO` which do not " +"support the :attr:`~io.BufferedIOBase.buffer` attribute." +msgstr "" +"Однак, якщо ви пишете бібліотеку (і не контролюєте, у якому контексті " +"виконуватиметься її код), майте на увазі, що стандартні потоки можуть бути " +"замінені файлоподібними об’єктами, такими як :class:`io.StringIO`, які не " +"підтримують атрибут :attr:`~io.BufferedIOBase.buffer`." + +msgid "" +"These objects contain the original values of ``stdin``, ``stderr`` and " +"``stdout`` at the start of the program. They are used during finalization, " +"and could be useful to print to the actual standard stream no matter if the " +"``sys.std*`` object has been redirected." +msgstr "" +"Ці об’єкти містять вихідні значення ``stdin``, ``stderr`` і ``stdout`` на " +"початку програми. Вони використовуються під час фіналізації та можуть бути " +"корисними для друку у фактичний стандартний потік незалежно від того, чи " +"було перенаправлено об’єкт ``sys.std*``." + +msgid "" +"It can also be used to restore the actual files to known working file " +"objects in case they have been overwritten with a broken object. However, " +"the preferred way to do this is to explicitly save the previous stream " +"before replacing it, and restore the saved object." +msgstr "" +"Його також можна використовувати для відновлення фактичних файлів до відомих " +"робочих файлових об’єктів, якщо вони були перезаписані зламаним об’єктом. " +"Однак кращим способом зробити це є явне збереження попереднього потоку перед " +"його заміною та відновлення збереженого об’єкта." + +msgid "" +"Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " +"original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " +"``None``. It is usually the case for Windows GUI apps that aren't connected " +"to a console and Python apps started with :program:`pythonw`." +msgstr "" +"За деяких умов ``stdin``, ``stdout`` і ``stderr``, а також вихідні значення " +"``__stdin__``, ``__stdout__`` і ``__stderr__`` можуть бути ``None`` . " +"Зазвичай це стосується програм графічного інтерфейсу Windows, які не " +"підключені до консолі, і програм Python, запущених за допомогою :program:" +"`pythonw`." + +msgid "" +"A frozenset of strings containing the names of standard library modules." +msgstr "" +"Заморожений набір рядків, що містять назви модулів стандартної бібліотеки." + +msgid "" +"It is the same on all platforms. Modules which are not available on some " +"platforms and modules disabled at Python build are also listed. All module " +"kinds are listed: pure Python, built-in, frozen and extension modules. Test " +"modules are excluded." +msgstr "" +"Це однаково на всіх платформах. Також перераховано модулі, які недоступні на " +"деяких платформах, і модулі, вимкнені під час збірки Python. Перераховано " +"всі види модулів: чистий Python, вбудовані, заморожені та модулі розширення. " +"Тестові модулі не включені." + +msgid "" +"For packages, only the main package is listed: sub-packages and sub-modules " +"are not listed. For example, the ``email`` package is listed, but the " +"``email.mime`` sub-package and the ``email.message`` sub-module are not " +"listed." +msgstr "" +"Для пакетів вказано лише основний пакет: підпакети та підмодулі не вказані. " +"Наприклад, у списку є пакет ``email``, але підпакет ``email.mime`` і " +"підмодуль ``email.message`` відсутні." + +msgid "See also the :attr:`sys.builtin_module_names` list." +msgstr "Дивіться також список :attr:`sys.builtin_module_names`." + +msgid "" +"A :term:`named tuple` holding information about the thread implementation." +msgstr ":term:`named tuple`, що містить інформацію про реалізацію потоку." + +msgid ":const:`name`" +msgstr ":const:`name`" + +msgid "Name of the thread implementation:" +msgstr "Назва реалізації потоку:" + +msgid "``'nt'``: Windows threads" +msgstr "``'nt''``: потоки Windows" + +msgid "``'pthread'``: POSIX threads" +msgstr "``'pthread'``: потоки POSIX" + +msgid "" +"``'pthread-stubs'``: stub POSIX threads (on WebAssembly platforms without " +"threading support)" +msgstr "" + +msgid "``'solaris'``: Solaris threads" +msgstr "``'solaris'``: потоки Solaris" + +msgid ":const:`lock`" +msgstr ":const:`lock`" + +msgid "Name of the lock implementation:" +msgstr "Назва реалізації блокування:" + +msgid "``'semaphore'``: a lock uses a semaphore" +msgstr "``'semaphore'``: блокування використовує семафор" + +msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" +msgstr "``'mutex+cond'``: блокування використовує м'ютекс і змінну умови" + +msgid "``None`` if this information is unknown" +msgstr "``None``, якщо ця інформація невідома" + +msgid ":const:`version`" +msgstr ":const:`version`" + +msgid "" +"Name and version of the thread library. It is a string, or ``None`` if this " +"information is unknown." +msgstr "" +"Назва та версія бібліотеки потоків. Це рядок або ``None``, якщо ця " +"інформація невідома." + +msgid "" +"When this variable is set to an integer value, it determines the maximum " +"number of levels of traceback information printed when an unhandled " +"exception occurs. The default is ``1000``. When set to ``0`` or less, all " +"traceback information is suppressed and only the exception type and value " +"are printed." +msgstr "" +"Якщо для цієї змінної встановлено ціле число, вона визначає максимальну " +"кількість рівнів інформації про відстеження, що друкується, коли виникає " +"необроблена виняткова ситуація. Типовим значенням є ``1000``. Якщо " +"встановлено значення ``0`` або менше, уся інформація зворотного відстеження " +"пригнічується, і друкуються лише тип винятку та значення." + +msgid "Handle an unraisable exception." +msgstr "Обробляти неможливий виняток." + +msgid "" +"Called when an exception has occurred but there is no way for Python to " +"handle it. For example, when a destructor raises an exception or during " +"garbage collection (:func:`gc.collect`)." +msgstr "" +"Викликається, коли сталася виняткова ситуація, але Python не може її " +"впоратися. Наприклад, коли деструктор викликає виняток або під час збирання " +"сміття (:func:`gc.collect`)." + +msgid "The *unraisable* argument has the following attributes:" +msgstr "Аргумент *unraisable* має такі атрибути:" + +msgid "*exc_type*: Exception type." +msgstr "*exc_type*: Тип винятку." + +msgid "*exc_value*: Exception value, can be ``None``." +msgstr "*exc_value*: значення винятку, може бути ``None``." + +msgid "*exc_traceback*: Exception traceback, can be ``None``." +msgstr "*exc_traceback*: Зворотне відстеження винятків, може бути ``None``." + +msgid "*err_msg*: Error message, can be ``None``." +msgstr "*err_msg*: повідомлення про помилку, може бути ``None``." + +msgid "*object*: Object causing the exception, can be ``None``." +msgstr "*object*: Об’єкт, що викликає виняток, може бути ``None``." + +msgid "" +"The default hook formats *err_msg* and *object* as: ``f'{err_msg}: {object!" +"r}'``; use \"Exception ignored in\" error message if *err_msg* is ``None``." +msgstr "" +"Типовий хук форматує *err_msg* і *object* як: ``f'{err_msg}: {object!r}''``; " +"використовуйте повідомлення про помилку \"Виняток проігноровано\", якщо " +"*err_msg* має значення ``None``." + +msgid "" +":func:`sys.unraisablehook` can be overridden to control how unraisable " +"exceptions are handled." +msgstr "" +":func:`sys.unraisablehook` можна перевизначити, щоб керувати обробкою " +"винятків, які не підлягають виклику." + +msgid "" +"Storing *exc_value* using a custom hook can create a reference cycle. It " +"should be cleared explicitly to break the reference cycle when the exception " +"is no longer needed." +msgstr "" +"Зберігання *exc_value* за допомогою спеціального хука може створити " +"еталонний цикл. Його слід явно очистити, щоб розірвати цикл посилання, коли " +"виняток більше не потрібен." + +msgid "" +"Storing *object* using a custom hook can resurrect it if it is set to an " +"object which is being finalized. Avoid storing *object* after the custom " +"hook completes to avoid resurrecting objects." +msgstr "" +"Зберігання *об’єкта* за допомогою спеціального хука може воскресити його, " +"якщо для нього встановлено об’єкт, який завершується. Уникайте зберігання " +"*object* після завершення власного хука, щоб уникнути відновлення об’єктів." + +msgid "See also :func:`excepthook` which handles uncaught exceptions." +msgstr "" +"Дивіться також :func:`excepthook`, який обробляє неперехоплені винятки." + +msgid "" +"Raises an :ref:`auditing event ` ``sys.unraisablehook`` with " +"arguments ``hook``, ``unraisable``." +msgstr "" + +msgid "" +"Raise an auditing event ``sys.unraisablehook`` with arguments ``hook``, " +"``unraisable`` when an exception that cannot be handled occurs. The " +"``unraisable`` object is the same as what will be passed to the hook. If no " +"hook has been set, ``hook`` may be ``None``." +msgstr "" +"Викликати подію аудиту ``sys.unraisablehook`` з аргументами ``hook``, " +"``unraisable``, коли виникає виняткова ситуація, яку неможливо обробити. " +"Об’єкт ``unraisable`` є таким самим, як і те, що буде передано в гачок. Якщо " +"хук не встановлено, ``hook`` може мати значення ``None``." + +msgid "" +"A string containing the version number of the Python interpreter plus " +"additional information on the build number and compiler used. This string " +"is displayed when the interactive interpreter is started. Do not extract " +"version information out of it, rather, use :data:`version_info` and the " +"functions provided by the :mod:`platform` module." +msgstr "" +"Рядок, що містить номер версії інтерпретатора Python, а також додаткову " +"інформацію про номер збірки та використаний компілятор. Цей рядок " +"відображається під час запуску інтерактивного інтерпретатора. Не витягуйте з " +"нього інформацію про версію, скоріше використовуйте :data:`version_info` і " +"функції, надані модулем :mod:`platform`." + +msgid "" +"The C API version for this interpreter. Programmers may find this useful " +"when debugging version conflicts between Python and extension modules." +msgstr "" +"Версія C API для цього інтерпретатора. Програмісти можуть вважати це " +"корисним під час усунення конфліктів версій між Python і модулями розширення." + +msgid "" +"A tuple containing the five components of the version number: *major*, " +"*minor*, *micro*, *releaselevel*, and *serial*. All values except " +"*releaselevel* are integers; the release level is ``'alpha'``, ``'beta'``, " +"``'candidate'``, or ``'final'``. The ``version_info`` value corresponding " +"to the Python version 2.0 is ``(2, 0, 0, 'final', 0)``. The components can " +"also be accessed by name, so ``sys.version_info[0]`` is equivalent to ``sys." +"version_info.major`` and so on." +msgstr "" +"Кортеж, що містить п’ять компонентів номера версії: *major*, *minor*, " +"*micro*, *releaselevel* і *serial*. Усі значення, крім *releaselevel*, є " +"цілими числами; рівень випуску - ``'альфа'``, ``'бета'``, ``'кандидат'`` або " +"``'фінальний'``. Значення ``version_info``, що відповідає версії Python 2.0, " +"є ``(2, 0, 0, 'final', 0)``. До компонентів також можна отримати доступ за " +"іменем, тому ``sys.version_info[0]`` еквівалентно ``sys.version_info.major`` " +"і так далі." + +msgid "Added named component attributes." +msgstr "Додано іменовані атрибути компонента." + +msgid "" +"This is an implementation detail of the warnings framework; do not modify " +"this value. Refer to the :mod:`warnings` module for more information on the " +"warnings framework." +msgstr "" +"Це деталь реалізації структури попереджень; не змінюйте це значення. " +"Зверніться до модуля :mod:`warnings`, щоб дізнатися більше про структуру " +"попереджень." + +msgid "" +"The version number used to form registry keys on Windows platforms. This is " +"stored as string resource 1000 in the Python DLL. The value is normally the " +"first three characters of :const:`version`. It is provided in the :mod:" +"`sys` module for informational purposes; modifying this value has no effect " +"on the registry keys used by Python." +msgstr "" +"Номер версії, який використовується для формування розділів реєстру на " +"платформах Windows. Це зберігається як рядковий ресурс 1000 у DLL Python. " +"Зазвичай значенням є перші три символи :const:`version`. Він надається в " +"модулі :mod:`sys` з інформаційною метою; зміна цього значення не впливає на " +"ключі реєстру, які використовує Python." + +msgid "" +"A dictionary of the various implementation-specific flags passed through " +"the :option:`-X` command-line option. Option names are either mapped to " +"their values, if given explicitly, or to :const:`True`. Example:" +msgstr "" +"Словник різних прапорів, що стосуються реалізації, що передаються через " +"параметр командного рядка :option:`-X`. Назви параметрів або зіставляються з " +"їхніми значеннями, якщо вказано явно, або з :const:`True`. приклад:" + +msgid "" +"This is a CPython-specific way of accessing options passed through :option:`-" +"X`. Other implementations may export them through other means, or not at " +"all." +msgstr "" +"Це специфічний для CPython спосіб доступу до параметрів, що передаються " +"через :option:`-X`. Інші реалізації можуть експортувати їх іншими засобами " +"або взагалі не експортувати." + +msgid "Citations" +msgstr "Цитування" + +msgid "" +"ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " +"standard is available at https://www.open-std.org/jtc1/sc22/wg14/www/docs/" +"n1256.pdf\\ ." +msgstr "" diff --git a/library/sys_path_init.po b/library/sys_path_init.po new file mode 100644 index 000000000..44fa8b737 --- /dev/null +++ b/library/sys_path_init.po @@ -0,0 +1,169 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2022-11-05 19:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The initialization of the :data:`sys.path` module search path" +msgstr "" + +msgid "" +"A module search path is initialized when Python starts. This module search " +"path may be accessed at :data:`sys.path`." +msgstr "" + +msgid "" +"The first entry in the module search path is the directory that contains the " +"input script, if there is one. Otherwise, the first entry is the current " +"directory, which is the case when executing the interactive shell, a :option:" +"`-c` command, or :option:`-m` module." +msgstr "" + +msgid "" +"The :envvar:`PYTHONPATH` environment variable is often used to add " +"directories to the search path. If this environment variable is found then " +"the contents are added to the module search path." +msgstr "" + +msgid "" +":envvar:`PYTHONPATH` will affect all installed Python versions/environments. " +"Be wary of setting this in your shell profile or global environment " +"variables. The :mod:`site` module offers more nuanced techniques as " +"mentioned below." +msgstr "" + +msgid "" +"The next items added are the directories containing standard Python modules " +"as well as any :term:`extension module`\\s that these modules depend on. " +"Extension modules are ``.pyd`` files on Windows and ``.so`` files on other " +"platforms. The directory with the platform-independent Python modules is " +"called ``prefix``. The directory with the extension modules is called " +"``exec_prefix``." +msgstr "" + +msgid "" +"The :envvar:`PYTHONHOME` environment variable may be used to set the " +"``prefix`` and ``exec_prefix`` locations. Otherwise these directories are " +"found by using the Python executable as a starting point and then looking " +"for various 'landmark' files and directories. Note that any symbolic links " +"are followed so the real Python executable location is used as the search " +"starting point. The Python executable location is called ``home``." +msgstr "" + +msgid "" +"Once ``home`` is determined, the ``prefix`` directory is found by first " +"looking for :file:`python{majorversion}{minorversion}.zip` (``python311." +"zip``). On Windows the zip archive is searched for in ``home`` and on Unix " +"the archive is expected to be in :file:`lib`. Note that the expected zip " +"archive location is added to the module search path even if the archive does " +"not exist. If no archive was found, Python on Windows will continue the " +"search for ``prefix`` by looking for :file:`Lib\\\\os.py`. Python on Unix " +"will look for :file:`lib/python{majorversion}.{minorversion}/os.py` (``lib/" +"python3.11/os.py``). On Windows ``prefix`` and ``exec_prefix`` are the same, " +"however on other platforms :file:`lib/python{majorversion}.{minorversion}/" +"lib-dynload` (``lib/python3.11/lib-dynload``) is searched for and used as an " +"anchor for ``exec_prefix``. On some platforms :file:`lib` may be :file:" +"`lib64` or another value, see :data:`sys.platlibdir` and :envvar:" +"`PYTHONPLATLIBDIR`." +msgstr "" + +msgid "" +"Once found, ``prefix`` and ``exec_prefix`` are available at :data:`sys." +"prefix` and :data:`sys.exec_prefix` respectively." +msgstr "" + +msgid "" +"Finally, the :mod:`site` module is processed and :file:`site-packages` " +"directories are added to the module search path. A common way to customize " +"the search path is to create :mod:`sitecustomize` or :mod:`usercustomize` " +"modules as described in the :mod:`site` module documentation." +msgstr "" + +msgid "" +"Certain command line options may further affect path calculations. See :" +"option:`-E`, :option:`-I`, :option:`-s` and :option:`-S` for further details." +msgstr "" + +msgid "Virtual environments" +msgstr "Віртуальні середовища" + +msgid "" +"If Python is run in a virtual environment (as described at :ref:`tut-venv`) " +"then ``prefix`` and ``exec_prefix`` are specific to the virtual environment." +msgstr "" + +msgid "" +"If a ``pyvenv.cfg`` file is found alongside the main executable, or in the " +"directory one level above the executable, the following variations apply:" +msgstr "" + +msgid "" +"If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " +"path is used instead of the path to the main executable when deducing " +"``prefix`` and ``exec_prefix``." +msgstr "" + +msgid "_pth files" +msgstr "" + +msgid "" +"To completely override :data:`sys.path` create a ``._pth`` file with the " +"same name as the shared library or executable (``python._pth`` or " +"``python311._pth``). The shared library path is always known on Windows, " +"however it may not be available on other platforms. In the ``._pth`` file " +"specify one line for each path to add to :data:`sys.path`. The file based on " +"the shared library name overrides the one based on the executable, which " +"allows paths to be restricted for any program loading the runtime if desired." +msgstr "" + +msgid "" +"When the file exists, all registry and environment variables are ignored, " +"isolated mode is enabled, and :mod:`site` is not imported unless one line in " +"the file specifies ``import site``. Blank paths and lines starting with " +"``#`` are ignored. Each path may be absolute or relative to the location of " +"the file. Import statements other than to ``site`` are not permitted, and " +"arbitrary code cannot be specified." +msgstr "" + +msgid "" +"Note that ``.pth`` files (without leading underscore) will be processed " +"normally by the :mod:`site` module when ``import site`` has been specified." +msgstr "" + +msgid "Embedded Python" +msgstr "" + +msgid "" +"If Python is embedded within another application :c:func:" +"`Py_InitializeFromConfig` and the :c:type:`PyConfig` structure can be used " +"to initialize Python. The path specific details are described at :ref:`init-" +"path-config`. Alternatively the older :c:func:`Py_SetPath` can be used to " +"bypass the initialization of the module search path." +msgstr "" + +msgid ":ref:`windows_finding_modules` for detailed Windows notes." +msgstr "" + +msgid ":ref:`using-on-unix` for Unix details." +msgstr "" diff --git a/library/sysconfig.po b/library/sysconfig.po new file mode 100644 index 000000000..867f68a7e --- /dev/null +++ b/library/sysconfig.po @@ -0,0 +1,498 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "" +":mod:`sysconfig` --- Provide access to Python's configuration information" +msgstr ":mod:`sysconfig` --- Надає доступ до конфігураційної інформації Python" + +msgid "**Source code:** :source:`Lib/sysconfig.py`" +msgstr "**Вихідний код:** :source:`Lib/sysconfig.py`" + +msgid "" +"The :mod:`sysconfig` module provides access to Python's configuration " +"information like the list of installation paths and the configuration " +"variables relevant for the current platform." +msgstr "" +"Модуль :mod:`sysconfig` надає доступ до конфігураційної інформації Python, " +"наприклад до списку шляхів інсталяції та змінних конфігурації, що стосуються " +"поточної платформи." + +msgid "Configuration variables" +msgstr "Конфігураційні змінні" + +msgid "" +"A Python distribution contains a :file:`Makefile` and a :file:`pyconfig.h` " +"header file that are necessary to build both the Python binary itself and " +"third-party C extensions compiled using :mod:`distutils`." +msgstr "" +"Дистрибутив Python містить :file:`Makefile` і файл заголовка :file:`pyconfig." +"h`, які необхідні для створення як самого двійкового файлу Python, так і " +"сторонніх розширень C, скомпільованих за допомогою :mod:`distutils`." + +msgid "" +":mod:`sysconfig` puts all variables found in these files in a dictionary " +"that can be accessed using :func:`get_config_vars` or :func:`get_config_var`." +msgstr "" +":mod:`sysconfig` поміщає всі змінні, знайдені в цих файлах, у словник, до " +"якого можна отримати доступ за допомогою :func:`get_config_vars` або :func:" +"`get_config_var`." + +msgid "Notice that on Windows, it's a much smaller set." +msgstr "Зверніть увагу, що в Windows це набагато менший набір." + +msgid "" +"With no arguments, return a dictionary of all configuration variables " +"relevant for the current platform." +msgstr "" +"Без аргументів повертає словник усіх змінних конфігурації, що стосуються " +"поточної платформи." + +msgid "" +"With arguments, return a list of values that result from looking up each " +"argument in the configuration variable dictionary." +msgstr "" +"За допомогою аргументів повертає список значень, які є результатом пошуку " +"кожного аргументу в словнику змінних конфігурації." + +msgid "For each argument, if the value is not found, return ``None``." +msgstr "Для кожного аргументу, якщо значення не знайдено, поверніть ``None``." + +msgid "" +"Return the value of a single variable *name*. Equivalent to " +"``get_config_vars().get(name)``." +msgstr "" +"Повертає значення однієї змінної *name*. Еквівалент ``get_config_vars()." +"get(name)``." + +msgid "If *name* is not found, return ``None``." +msgstr "Якщо *ім’я* не знайдено, поверніть ``None``." + +msgid "Example of usage::" +msgstr "Приклад використання::" + +msgid "Installation paths" +msgstr "Шляхи встановлення" + +msgid "" +"Python uses an installation scheme that differs depending on the platform " +"and on the installation options. These schemes are stored in :mod:" +"`sysconfig` under unique identifiers based on the value returned by :const:" +"`os.name`." +msgstr "" +"Python використовує схему встановлення, яка відрізняється залежно від " +"платформи та параметрів встановлення. Ці схеми зберігаються в :mod:" +"`sysconfig` під унікальними ідентифікаторами на основі значення, яке " +"повертає :const:`os.name`." + +msgid "" +"Every new component that is installed using :mod:`distutils` or a Distutils-" +"based system will follow the same scheme to copy its file in the right " +"places." +msgstr "" +"Кожний новий компонент, встановлений за допомогою :mod:`distutils` або " +"системи на основі Distutils, дотримуватиметься тієї ж схеми, щоб скопіювати " +"свій файл у потрібних місцях." + +msgid "Python currently supports nine schemes:" +msgstr "" + +msgid "" +"*posix_prefix*: scheme for POSIX platforms like Linux or macOS. This is the " +"default scheme used when Python or a component is installed." +msgstr "" +"*posix_prefix*: схема для платформ POSIX, таких як Linux або macOS. Це " +"типова схема, яка використовується, коли встановлено Python або компонент." + +msgid "" +"*posix_home*: scheme for POSIX platforms used when a *home* option is used " +"upon installation. This scheme is used when a component is installed " +"through Distutils with a specific home prefix." +msgstr "" +"*posix_home*: схема для платформ POSIX, яка використовується, коли під час " +"встановлення використовується опція *home*. Ця схема використовується, коли " +"компонент встановлюється через Distutils із певним префіксом home." + +msgid "" +"*posix_user*: scheme for POSIX platforms used when a component is installed " +"through Distutils and the *user* option is used. This scheme defines paths " +"located under the user home directory." +msgstr "" +"*posix_user*: схема для платформ POSIX, яка використовується, коли компонент " +"встановлено через Distutils і використовується параметр *user*. Ця схема " +"визначає шляхи, розташовані в домашньому каталозі користувача." + +msgid "" +"*posix_venv*: scheme for :mod:`Python virtual environments ` on POSIX " +"platforms; by default it is the same as *posix_prefix* ." +msgstr "" + +msgid "*nt*: scheme for NT platforms like Windows." +msgstr "*nt*: схема для платформ NT, таких як Windows." + +msgid "*nt_user*: scheme for NT platforms, when the *user* option is used." +msgstr "" +"*nt_user*: схема для платформ NT, коли використовується параметр *user*." + +msgid "" +"*nt_venv*: scheme for :mod:`Python virtual environments ` on NT " +"platforms; by default it is the same as *nt* ." +msgstr "" + +msgid "" +"*venv*: a scheme with values from ether *posix_venv* or *nt_venv* depending " +"on the platform Python runs on" +msgstr "" + +msgid "*osx_framework_user*: scheme for macOS, when the *user* option is used." +msgstr "" +"*osx_framework_user*: схема для macOS, коли використовується параметр *user*." + +msgid "" +"Each scheme is itself composed of a series of paths and each path has a " +"unique identifier. Python currently uses eight paths:" +msgstr "" +"Кожна схема сама по собі складається з серії шляхів, і кожен шлях має " +"унікальний ідентифікатор. Зараз Python використовує вісім шляхів:" + +msgid "" +"*stdlib*: directory containing the standard Python library files that are " +"not platform-specific." +msgstr "" +"*stdlib*: каталог, що містить файли стандартної бібліотеки Python, які не " +"залежать від платформи." + +msgid "" +"*platstdlib*: directory containing the standard Python library files that " +"are platform-specific." +msgstr "" +"*platstdlib*: каталог, що містить файли стандартної бібліотеки Python, які " +"залежать від платформи." + +msgid "*platlib*: directory for site-specific, platform-specific files." +msgstr "*platlib*: каталог для файлів, що стосуються сайту та платформи." + +msgid "*purelib*: directory for site-specific, non-platform-specific files." +msgstr "" +"*purelib*: каталог для файлів, що стосуються певних сайтів і не залежать від " +"платформи." + +msgid "" +"*include*: directory for non-platform-specific header files for the Python C-" +"API." +msgstr "" + +msgid "" +"*platinclude*: directory for platform-specific header files for the Python C-" +"API." +msgstr "" + +msgid "*scripts*: directory for script files." +msgstr "*scripts*: каталог для файлів сценаріїв." + +msgid "*data*: directory for data files." +msgstr "*data*: каталог для файлів даних." + +msgid ":mod:`sysconfig` provides some functions to determine these paths." +msgstr ":mod:`sysconfig` надає деякі функції для визначення цих шляхів." + +msgid "" +"Return a tuple containing all schemes currently supported in :mod:" +"`sysconfig`." +msgstr "" +"Повертає кортеж, що містить усі схеми, які наразі підтримуються в :mod:" +"`sysconfig`." + +msgid "Return the default scheme name for the current platform." +msgstr "Повернути назву схеми за замовчуванням для поточної платформи." + +msgid "" +"This function was previously named ``_get_default_scheme()`` and considered " +"an implementation detail." +msgstr "" +"Ця функція раніше називалася ``_get_default_scheme()`` і вважалася деталлю " +"реалізації." + +msgid "" +"When Python runs from a virtual environment, the *venv* scheme is returned." +msgstr "" + +msgid "" +"Return a preferred scheme name for an installation layout specified by *key*." +msgstr "" +"Повертає бажану назву схеми для макета встановлення, визначеного *ключом*." + +msgid "*key* must be either ``\"prefix\"``, ``\"home\"``, or ``\"user\"``." +msgstr "*key* має бути ``\"prefix\"``, ``\"home\"`` або ``\"user\"``." + +msgid "" +"The return value is a scheme name listed in :func:`get_scheme_names`. It can " +"be passed to :mod:`sysconfig` functions that take a *scheme* argument, such " +"as :func:`get_paths`." +msgstr "" +"Поверненим значенням є назва схеми, указана в :func:`get_scheme_names`. Його " +"можна передати до функцій :mod:`sysconfig`, які приймають аргумент *scheme*, " +"наприклад :func:`get_paths`." + +msgid "" +"When Python runs from a virtual environment and ``key=\"prefix\"``, the " +"*venv* scheme is returned." +msgstr "" + +msgid "" +"Return a dict containing preferred scheme names on the current platform. " +"Python implementers and redistributors may add their preferred schemes to " +"the ``_INSTALL_SCHEMES`` module-level global value, and modify this function " +"to return those scheme names, to e.g. provide different schemes for system " +"and language package managers to use, so packages installed by either do not " +"mix with those by the other." +msgstr "" +"Повертає dict, що містить бажані назви схем на поточній платформі. " +"Розробники та розповсюджувачі Python можуть додати бажані схеми до " +"глобального значення рівня модуля ``_INSTALL_SCHEMES`` і змінити цю функцію, " +"щоб повернути ці назви схем, наприклад. забезпечують різні схеми для " +"використання системними та мовними менеджерами пакунків, тому пакунки, " +"встановлені одним із них, не змішуються з пакетами іншого." + +msgid "" +"End users should not use this function, but :func:`get_default_scheme` and :" +"func:`get_preferred_scheme()` instead." +msgstr "" +"Кінцеві користувачі не повинні використовувати цю функцію, а :func:" +"`get_default_scheme` і :func:`get_preferred_scheme()` замість неї." + +msgid "" +"Return a tuple containing all path names currently supported in :mod:" +"`sysconfig`." +msgstr "" +"Повертає кортеж, що містить усі назви шляхів, які зараз підтримуються в :mod:" +"`sysconfig`." + +msgid "" +"Return an installation path corresponding to the path *name*, from the " +"install scheme named *scheme*." +msgstr "" +"Повертає шлях встановлення, що відповідає шляху *ім’я* зі схеми встановлення " +"під назвою *схема*." + +msgid "" +"*name* has to be a value from the list returned by :func:`get_path_names`." +msgstr "" +"*name* має бути значенням зі списку, який повертає :func:`get_path_names`." + +msgid "" +":mod:`sysconfig` stores installation paths corresponding to each path name, " +"for each platform, with variables to be expanded. For instance the *stdlib* " +"path for the *nt* scheme is: ``{base}/Lib``." +msgstr "" +":mod:`sysconfig` зберігає шляхи встановлення, що відповідають кожному імені " +"шляху, для кожної платформи, зі змінними, які можна розширити. Наприклад, " +"шлях *stdlib* для схеми *nt* такий: ``{base}/Lib``." + +msgid "" +":func:`get_path` will use the variables returned by :func:`get_config_vars` " +"to expand the path. All variables have default values for each platform so " +"one may call this function and get the default value." +msgstr "" +":func:`get_path` використовуватиме змінні, які повертає :func:" +"`get_config_vars`, щоб розширити шлях. Усі змінні мають значення за " +"замовчуванням для кожної платформи, тому можна викликати цю функцію та " +"отримати значення за замовчуванням." + +msgid "" +"If *scheme* is provided, it must be a value from the list returned by :func:" +"`get_scheme_names`. Otherwise, the default scheme for the current platform " +"is used." +msgstr "" +"Якщо вказано *схему*, це має бути значення зі списку, який повертає :func:" +"`get_scheme_names`. В іншому випадку використовується схема за замовчуванням " +"для поточної платформи." + +msgid "" +"If *vars* is provided, it must be a dictionary of variables that will update " +"the dictionary return by :func:`get_config_vars`." +msgstr "" +"Якщо надано *vars*, це має бути словник змінних, який оновлюватиме словник, " +"що повертається за допомогою :func:`get_config_vars`." + +msgid "" +"If *expand* is set to ``False``, the path will not be expanded using the " +"variables." +msgstr "" +"Якщо *expand* має значення ``False``, шлях не буде розгортатися за допомогою " +"змінних." + +msgid "If *name* is not found, raise a :exc:`KeyError`." +msgstr "Якщо *name* не знайдено, викликайте :exc:`KeyError`." + +msgid "" +"Return a dictionary containing all installation paths corresponding to an " +"installation scheme. See :func:`get_path` for more information." +msgstr "" +"Повертає словник, що містить усі шляхи встановлення, що відповідають схемі " +"встановлення. Дивіться :func:`get_path` для отримання додаткової інформації." + +msgid "" +"If *scheme* is not provided, will use the default scheme for the current " +"platform." +msgstr "" +"Якщо *схема* не вказана, використовуватиметься схема за замовчуванням для " +"поточної платформи." + +msgid "" +"If *vars* is provided, it must be a dictionary of variables that will update " +"the dictionary used to expand the paths." +msgstr "" +"Якщо надано *vars*, це має бути словник змінних, який оновлюватиме словник, " +"що використовується для розширення шляхів." + +msgid "If *expand* is set to false, the paths will not be expanded." +msgstr "Якщо *expand* має значення false, шляхи не розгортатимуться." + +msgid "" +"If *scheme* is not an existing scheme, :func:`get_paths` will raise a :exc:" +"`KeyError`." +msgstr "" +"Якщо *scheme* не є існуючою схемою, :func:`get_paths` викличе :exc:" +"`KeyError`." + +msgid "Other functions" +msgstr "Інші функції" + +msgid "" +"Return the ``MAJOR.MINOR`` Python version number as a string. Similar to " +"``'%d.%d' % sys.version_info[:2]``." +msgstr "" +"Повертає ``MAJOR.MINOR`` номер версії Python у вигляді рядка. Подібно до " +"``'%d.%d' % sys.version_info[:2]``." + +msgid "Return a string that identifies the current platform." +msgstr "Повертає рядок, що ідентифікує поточну платформу." + +msgid "" +"This is used mainly to distinguish platform-specific build directories and " +"platform-specific built distributions. Typically includes the OS name and " +"version and the architecture (as supplied by 'os.uname()'), although the " +"exact information included depends on the OS; e.g., on Linux, the kernel " +"version isn't particularly important." +msgstr "" +"Це використовується в основному для того, щоб розрізнити каталоги збірок для " +"певної платформи та побудовані дистрибутиви для конкретної платформи. " +"Зазвичай включає назву та версію ОС та архітектуру (як надає 'os.uname()'), " +"хоча точна включена інформація залежить від ОС; наприклад, у Linux версія " +"ядра не особливо важлива." + +msgid "Examples of returned values:" +msgstr "Приклади повернених значень:" + +msgid "linux-i586" +msgstr "linux-i586" + +msgid "linux-alpha (?)" +msgstr "linux-alpha (?)" + +msgid "solaris-2.6-sun4u" +msgstr "solaris-2.6-sun4u" + +msgid "Windows will return one of:" +msgstr "Windows поверне одне з:" + +msgid "win-amd64 (64bit Windows on AMD64, aka x86_64, Intel64, and EM64T)" +msgstr "" +"win-amd64 (64-розрядна Windows на AMD64, також x86_64, Intel64 і EM64T)" + +msgid "win32 (all others - specifically, sys.platform is returned)" +msgstr "win32 (усі інші - зокрема повертається sys.platform)" + +msgid "macOS can return:" +msgstr "macOS може повертати:" + +msgid "macosx-10.6-ppc" +msgstr "macosx-10.6-ppc" + +msgid "macosx-10.4-ppc64" +msgstr "macosx-10.4-ppc64" + +msgid "macosx-10.3-i386" +msgstr "macosx-10.3-i386" + +msgid "macosx-10.4-fat" +msgstr "macosx-10.4-жир" + +msgid "" +"For other non-POSIX platforms, currently just returns :data:`sys.platform`." +msgstr "" +"Для інших платформ, відмінних від POSIX, наразі повертає лише :data:`sys." +"platform`." + +msgid "" +"Return ``True`` if the running Python interpreter was built from source and " +"is being run from its built location, and not from a location resulting from " +"e.g. running ``make install`` or installing via a binary installer." +msgstr "" +"Повертає ``True``, якщо запущений інтерпретатор Python був зібраний із " +"вихідного коду та запускається зі свого зібраного розташування, а не з " +"розташування, яке є результатом, наприклад, запуск ``make install`` або " +"встановлення через бінарний інсталятор." + +msgid "Parse a :file:`config.h`\\-style file." +msgstr "Проаналізуйте файл у стилі :file:`config.h`\\." + +msgid "" +"*fp* is a file-like object pointing to the :file:`config.h`\\-like file." +msgstr "" +"*fp* — це файлоподібний об’єкт, що вказує на :file:`config.h`\\подібний файл." + +msgid "" +"A dictionary containing name/value pairs is returned. If an optional " +"dictionary is passed in as the second argument, it is used instead of a new " +"dictionary, and updated with the values read in the file." +msgstr "" +"Повертається словник, що містить пари ім’я/значення. Якщо додатковий словник " +"передається як другий аргумент, він використовується замість нового словника " +"та оновлюється значеннями, зчитаними у файлі." + +msgid "Return the path of :file:`pyconfig.h`." +msgstr "Повертає шлях до :file:`pyconfig.h`." + +msgid "Return the path of :file:`Makefile`." +msgstr "Повертає шлях до :file:`Makefile`." + +msgid "Using :mod:`sysconfig` as a script" +msgstr "Використання :mod:`sysconfig` як сценарію" + +msgid "You can use :mod:`sysconfig` as a script with Python's *-m* option:" +msgstr "" +"Ви можете використовувати :mod:`sysconfig` як сценарій з опцією Python *-m*:" + +msgid "" +"This call will print in the standard output the information returned by :" +"func:`get_platform`, :func:`get_python_version`, :func:`get_path` and :func:" +"`get_config_vars`." +msgstr "" +"Цей виклик виводить у стандартний вихід інформацію, яку повертають :func:" +"`get_platform`, :func:`get_python_version`, :func:`get_path` і :func:" +"`get_config_vars`." diff --git a/library/syslog.po b/library/syslog.po new file mode 100644 index 000000000..53051fa61 --- /dev/null +++ b/library/syslog.po @@ -0,0 +1,234 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`syslog` --- Unix syslog library routines" +msgstr ":mod:`syslog` --- Процедури бібліотеки системного журналу Unix" + +msgid "" +"This module provides an interface to the Unix ``syslog`` library routines. " +"Refer to the Unix manual pages for a detailed description of the ``syslog`` " +"facility." +msgstr "" +"Цей модуль забезпечує інтерфейс для процедур бібліотеки ``syslog`` Unix. " +"Зверніться до довідкових сторінок Unix для детального опису засобу " +"``syslog``." + +msgid "" +"This module wraps the system ``syslog`` family of routines. A pure Python " +"library that can speak to a syslog server is available in the :mod:`logging." +"handlers` module as :class:`SysLogHandler`." +msgstr "" +"Цей модуль обгортає групу системних процедур ``syslog``. Чиста бібліотека " +"Python, яка може спілкуватися з сервером syslog, доступна в модулі :mod:" +"`logging.handlers` як :class:`SysLogHandler`." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The module defines the following functions:" +msgstr "Модуль визначає такі функції:" + +msgid "" +"Send the string *message* to the system logger. A trailing newline is added " +"if necessary. Each message is tagged with a priority composed of a " +"*facility* and a *level*. The optional *priority* argument, which defaults " +"to :const:`LOG_INFO`, determines the message priority. If the facility is " +"not encoded in *priority* using logical-or (``LOG_INFO | LOG_USER``), the " +"value given in the :func:`openlog` call is used." +msgstr "" +"Надішліть рядок *повідомлення* системному реєстратору. За необхідності " +"додається символ нового рядка. Кожне повідомлення позначено тегом " +"пріоритету, що складається з *засобу* та *рівня*. Додатковий аргумент " +"*priority*, який за замовчуванням має значення :const:`LOG_INFO`, визначає " +"пріоритет повідомлення. Якщо засіб не закодовано в *пріоритеті* за допомогою " +"логічного або (``LOG_INFO | LOG_USER``), використовується значення, указане " +"у виклику :func:`openlog`." + +msgid "" +"If :func:`openlog` has not been called prior to the call to :func:`syslog`, :" +"func:`openlog` will be called with no arguments." +msgstr "" + +msgid "" +"Raises an :ref:`auditing event ` ``syslog.syslog`` with arguments " +"``priority``, ``message``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.syslog`` з аргументами " +"``priority``, ``message``." + +msgid "" +"In previous versions, :func:`openlog` would not be called automatically if " +"it wasn't called prior to the call to :func:`syslog`, deferring to the " +"syslog implementation to call ``openlog()``." +msgstr "" + +msgid "" +"Logging options of subsequent :func:`syslog` calls can be set by calling :" +"func:`openlog`. :func:`syslog` will call :func:`openlog` with no arguments " +"if the log is not currently open." +msgstr "" +"Параметри журналювання наступних викликів :func:`syslog` можна встановити за " +"допомогою виклику :func:`openlog`. :func:`syslog` викличе :func:`openlog` " +"без аргументів, якщо журнал наразі не відкритий." + +msgid "" +"The optional *ident* keyword argument is a string which is prepended to " +"every message, and defaults to ``sys.argv[0]`` with leading path components " +"stripped. The optional *logoption* keyword argument (default is 0) is a bit " +"field -- see below for possible values to combine. The optional *facility* " +"keyword argument (default is :const:`LOG_USER`) sets the default facility " +"for messages which do not have a facility explicitly encoded." +msgstr "" +"Необов’язковий аргумент ключового слова *ident* — це рядок, який додається " +"до кожного повідомлення та за замовчуванням має значення ``sys.argv[0]`` з " +"видаленими компонентами початкового шляху. Додатковий аргумент ключового " +"слова *logoption* (за замовчуванням 0) є бітовим полем. Нижче наведено " +"можливі значення для об’єднання. Необов’язковий аргумент ключового слова " +"*facility* (за замовчуванням: :const:`LOG_USER`) встановлює функцію за " +"замовчуванням для повідомлень, які не мають явно закодованої можливості." + +msgid "" +"Raises an :ref:`auditing event ` ``syslog.openlog`` with arguments " +"``ident``, ``logoption``, ``facility``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.openlog`` з аргументами " +"``ident``, ``logoption``, ``facility``." + +msgid "" +"In previous versions, keyword arguments were not allowed, and *ident* was " +"required." +msgstr "" + +msgid "" +"Reset the syslog module values and call the system library ``closelog()``." +msgstr "" +"Скиньте значення модуля syslog і викличте системну бібліотеку ``closelog()``." + +msgid "" +"This causes the module to behave as it does when initially imported. For " +"example, :func:`openlog` will be called on the first :func:`syslog` call " +"(if :func:`openlog` hasn't already been called), and *ident* and other :func:" +"`openlog` parameters are reset to defaults." +msgstr "" +"Це змушує модуль поводитись так само, як і під час початкового імпорту. " +"Наприклад, :func:`openlog` буде викликано під час першого виклику :func:" +"`syslog` (якщо :func:`openlog` ще не було викликано), а *ident* та інші :" +"func:`openlog` параметри скидаються до значень за замовчуванням." + +msgid "" +"Raises an :ref:`auditing event ` ``syslog.closelog`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.closelog`` без аргументів." + +msgid "" +"Set the priority mask to *maskpri* and return the previous mask value. " +"Calls to :func:`syslog` with a priority level not set in *maskpri* are " +"ignored. The default is to log all priorities. The function " +"``LOG_MASK(pri)`` calculates the mask for the individual priority *pri*. " +"The function ``LOG_UPTO(pri)`` calculates the mask for all priorities up to " +"and including *pri*." +msgstr "" +"Встановіть маску пріоритету на *maskpri* та поверніть попереднє значення " +"маски. Виклики до :func:`syslog` з рівнем пріоритету, не встановленим у " +"*maskpri*, ігноруються. За умовчанням реєструються всі пріоритети. Функція " +"``LOG_MASK(pri)`` обчислює маску для індивідуального пріоритету *pri*. " +"Функція ``LOG_UPTO(pri)`` обчислює маску для всіх пріоритетів до *pri* " +"включно." + +msgid "" +"Raises an :ref:`auditing event ` ``syslog.setlogmask`` with " +"argument ``maskpri``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``syslog.setlogmask`` з аргументом " +"``maskpri``." + +msgid "The module defines the following constants:" +msgstr "Модуль визначає такі константи:" + +msgid "Priority levels (high to low):" +msgstr "Рівні пріоритету (від високого до низького):" + +msgid "" +":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:" +"`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" +"const:`LOG_DEBUG`." +msgstr "" +":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:" +"`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" +"const:`LOG_DEBUG`." + +msgid "Facilities:" +msgstr "Зручності:" + +msgid "" +":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:" +"`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:" +"`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` to :" +"const:`LOG_LOCAL7`, and, if defined in ````, :const:`LOG_AUTHPRIV`." +msgstr "" +":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:" +"`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:" +"`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` до :" +"const:`LOG_LOCAL7`, і, якщо визначено в ````, :const:" +"`LOG_AUTHPRIV`." + +msgid "Log options:" +msgstr "Параметри журналу:" + +msgid "" +":const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, and, if defined in " +"````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, and :const:" +"`LOG_PERROR`." +msgstr "" +":const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY` і, якщо визначено в " +"````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT` і :const:" +"`LOG_PERROR`." + +msgid "Examples" +msgstr "Приклади" + +msgid "Simple example" +msgstr "Простий приклад" + +msgid "A simple set of examples::" +msgstr "Простий набір прикладів:" + +msgid "" +"An example of setting some log options, these would include the process ID " +"in logged messages, and write the messages to the destination facility used " +"for mail logging::" +msgstr "" +"Приклад налаштування деяких параметрів журналу, які включатимуть " +"ідентифікатор процесу в зареєстрованих повідомленнях і запис повідомлень до " +"засобу призначення, який використовується для журналювання пошти:" diff --git a/library/tabnanny.po b/library/tabnanny.po new file mode 100644 index 000000000..dec9de0d4 --- /dev/null +++ b/library/tabnanny.po @@ -0,0 +1,98 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tabnanny` --- Detection of ambiguous indentation" +msgstr ":mod:`tabnanny` --- Виявлення неоднозначного відступу" + +msgid "**Source code:** :source:`Lib/tabnanny.py`" +msgstr "**Вихідний код:** :source:`Lib/tabnanny.py`" + +msgid "" +"For the time being this module is intended to be called as a script. However " +"it is possible to import it into an IDE and use the function :func:`check` " +"described below." +msgstr "" +"На даний момент цей модуль призначений для виклику як скрипт. Однак його " +"можна імпортувати в IDE та використовувати функцію :func:`check`, описану " +"нижче." + +msgid "" +"The API provided by this module is likely to change in future releases; such " +"changes may not be backward compatible." +msgstr "" +"API, наданий цим модулем, імовірно, зміниться в наступних версіях; такі " +"зміни можуть не бути зворотно сумісними." + +msgid "" +"If *file_or_dir* is a directory and not a symbolic link, then recursively " +"descend the directory tree named by *file_or_dir*, checking all :file:`.py` " +"files along the way. If *file_or_dir* is an ordinary Python source file, it " +"is checked for whitespace related problems. The diagnostic messages are " +"written to standard output using the :func:`print` function." +msgstr "" +"Якщо *file_or_dir* є каталогом, а не символічним посиланням, тоді рекурсивно " +"перейдіть за деревом каталогів, названим *file_or_dir*, перевіряючи всі " +"файли :file:`.py`. Якщо *file_or_dir* є звичайним вихідним файлом Python, " +"він перевіряється на наявність проблем, пов’язаних з пробілами. Діагностичні " +"повідомлення записуються до стандартного виводу за допомогою функції :func:" +"`print`." + +msgid "" +"Flag indicating whether to print verbose messages. This is incremented by " +"the ``-v`` option if called as a script." +msgstr "" +"Прапорець, що вказує, чи друкувати докладні повідомлення. Це збільшується " +"опцією ``-v``, якщо викликається як сценарій." + +msgid "" +"Flag indicating whether to print only the filenames of files containing " +"whitespace related problems. This is set to true by the ``-q`` option if " +"called as a script." +msgstr "" +"Прапорець, що вказує, чи потрібно друкувати лише назви файлів, які містять " +"проблеми, пов’язані з пробілами. Параметр ``-q`` встановлює значення true, " +"якщо викликається як сценарій." + +msgid "" +"Raised by :func:`process_tokens` if detecting an ambiguous indent. Captured " +"and handled in :func:`check`." +msgstr "" +"Викликається :func:`process_tokens`, якщо виявлено неоднозначний відступ. " +"Зберігається та обробляється в :func:`check`." + +msgid "" +"This function is used by :func:`check` to process tokens generated by the :" +"mod:`tokenize` module." +msgstr "" +"Ця функція використовується :func:`check` для обробки токенів, згенерованих " +"модулем :mod:`tokenize`." + +msgid "Module :mod:`tokenize`" +msgstr "Модуль :mod:`tokenize`" + +msgid "Lexical scanner for Python source code." +msgstr "Лексичний сканер вихідного коду Python." diff --git a/library/tarfile.po b/library/tarfile.po new file mode 100644 index 000000000..84496c588 --- /dev/null +++ b/library/tarfile.po @@ -0,0 +1,1201 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tarfile` --- Read and write tar archive files" +msgstr ":mod:`tarfile` --- Читання та запис архівних файлів tar" + +msgid "**Source code:** :source:`Lib/tarfile.py`" +msgstr "**Вихідний код:** :source:`Lib/tarfile.py`" + +msgid "" +"The :mod:`tarfile` module makes it possible to read and write tar archives, " +"including those using gzip, bz2 and lzma compression. Use the :mod:`zipfile` " +"module to read or write :file:`.zip` files, or the higher-level functions " +"in :ref:`shutil `." +msgstr "" +"Модуль :mod:`tarfile` дає змогу читати та записувати архіви tar, у тому " +"числі ті, що використовують стиснення gzip, bz2 та lzma. Використовуйте " +"модуль :mod:`zipfile` для читання або запису файлів :file:`.zip` або функції " +"вищого рівня в :ref:`shutil `." + +msgid "Some facts and figures:" +msgstr "Деякі факти та цифри:" + +msgid "" +"reads and writes :mod:`gzip`, :mod:`bz2` and :mod:`lzma` compressed archives " +"if the respective modules are available." +msgstr "" +"читає та записує стислі архіви :mod:`gzip`, :mod:`bz2` і :mod:`lzma`, якщо " +"доступні відповідні модулі." + +msgid "read/write support for the POSIX.1-1988 (ustar) format." +msgstr "підтримка читання/запису для формату POSIX.1-1988 (ustar)." + +msgid "" +"read/write support for the GNU tar format including *longname* and " +"*longlink* extensions, read-only support for all variants of the *sparse* " +"extension including restoration of sparse files." +msgstr "" +"підтримка читання/запису для формату GNU tar, включаючи розширення " +"*longname* і *longlink*, підтримка лише читання для всіх варіантів " +"розширення *sparse*, включаючи відновлення розріджених файлів." + +msgid "read/write support for the POSIX.1-2001 (pax) format." +msgstr "підтримка читання/запису для формату POSIX.1-2001 (pax)." + +msgid "" +"handles directories, regular files, hardlinks, symbolic links, fifos, " +"character devices and block devices and is able to acquire and restore file " +"information like timestamp, access permissions and owner." +msgstr "" +"обробляє каталоги, звичайні файли, жорсткі посилання, символічні посилання, " +"FIFO, символьні пристрої та блокові пристрої, а також може отримувати та " +"відновлювати інформацію про файл, як-от мітку часу, права доступу та " +"власника." + +msgid "Added support for :mod:`lzma` compression." +msgstr "Додано підтримку стиснення :mod:`lzma`." + +msgid "" +"Return a :class:`TarFile` object for the pathname *name*. For detailed " +"information on :class:`TarFile` objects and the keyword arguments that are " +"allowed, see :ref:`tarfile-objects`." +msgstr "" +"Повертає об’єкт :class:`TarFile` для шляху *name*. Для отримання детальної " +"інформації про об’єкти :class:`TarFile` та дозволені ключові аргументи " +"дивіться :ref:`tarfile-objects`." + +msgid "" +"*mode* has to be a string of the form ``'filemode[:compression]'``, it " +"defaults to ``'r'``. Here is a full list of mode combinations:" +msgstr "" +"*mode* має бути рядком у формі ``'filemode[:compression]'``, за " +"замовчуванням це ``'r'``. Ось повний список комбінацій режимів:" + +msgid "mode" +msgstr "режим" + +msgid "action" +msgstr "дію" + +msgid "``'r' or 'r:*'``" +msgstr "``'r' або 'r:*'``" + +msgid "Open for reading with transparent compression (recommended)." +msgstr "Відкрити для читання з прозорим стисненням (рекомендовано)." + +msgid "``'r:'``" +msgstr "``'r:''``" + +msgid "Open for reading exclusively without compression." +msgstr "Відкритий виключно для читання без стиснення." + +msgid "``'r:gz'``" +msgstr "``'r:gz''``" + +msgid "Open for reading with gzip compression." +msgstr "Відкрити для читання зі стисненням gzip." + +msgid "``'r:bz2'``" +msgstr "``'r:bz2'``" + +msgid "Open for reading with bzip2 compression." +msgstr "Відкрити для читання зі стисненням bzip2." + +msgid "``'r:xz'``" +msgstr "``'r:xz''``" + +msgid "Open for reading with lzma compression." +msgstr "Відкритий для читання зі стисненням lzma." + +msgid "``'x'`` or ``'x:'``" +msgstr "``'x''`` або ``'x:''``" + +msgid "" +"Create a tarfile exclusively without compression. Raise a :exc:" +"`FileExistsError` exception if it already exists." +msgstr "" + +msgid "``'x:gz'``" +msgstr "``'x:gz''``" + +msgid "" +"Create a tarfile with gzip compression. Raise a :exc:`FileExistsError` " +"exception if it already exists." +msgstr "" + +msgid "``'x:bz2'``" +msgstr "``'x:bz2''``" + +msgid "" +"Create a tarfile with bzip2 compression. Raise a :exc:`FileExistsError` " +"exception if it already exists." +msgstr "" + +msgid "``'x:xz'``" +msgstr "``'x:xz''``" + +msgid "" +"Create a tarfile with lzma compression. Raise a :exc:`FileExistsError` " +"exception if it already exists." +msgstr "" + +msgid "``'a' or 'a:'``" +msgstr "``'a' або 'a:'``" + +msgid "" +"Open for appending with no compression. The file is created if it does not " +"exist." +msgstr "" +"Відкритий для додавання без стиснення. Файл створюється, якщо він не існує." + +msgid "``'w' or 'w:'``" +msgstr "``'w' або 'w:'``" + +msgid "Open for uncompressed writing." +msgstr "Відкритий для запису без стиснення." + +msgid "``'w:gz'``" +msgstr "``'w:gz''``" + +msgid "Open for gzip compressed writing." +msgstr "Відкритий для стисненого запису gzip." + +msgid "``'w:bz2'``" +msgstr "``'w:bz2''``" + +msgid "Open for bzip2 compressed writing." +msgstr "Відкритий для стисненого запису bzip2." + +msgid "``'w:xz'``" +msgstr "``'w:xz''``" + +msgid "Open for lzma compressed writing." +msgstr "Відкритий для стисненого запису lzma." + +msgid "" +"Note that ``'a:gz'``, ``'a:bz2'`` or ``'a:xz'`` is not possible. If *mode* " +"is not suitable to open a certain (compressed) file for reading, :exc:" +"`ReadError` is raised. Use *mode* ``'r'`` to avoid this. If a compression " +"method is not supported, :exc:`CompressionError` is raised." +msgstr "" +"Зауважте, що ``'a:gz'``, ``'a:bz2'`` або ``'a:xz'`` неможливі. Якщо *режим* " +"не підходить для відкриття певного (стислого) файлу для читання, виникає :" +"exc:`ReadError`. Щоб уникнути цього, використовуйте *mode* ``'r'``. Якщо " +"метод стиснення не підтримується, виникає :exc:`CompressionError`." + +msgid "" +"If *fileobj* is specified, it is used as an alternative to a :term:`file " +"object` opened in binary mode for *name*. It is supposed to be at position 0." +msgstr "" +"Якщо вказано *fileobj*, він використовується як альтернатива :term:`file " +"object`, відкритому в двійковому режимі для *name*. Він має бути в позиції 0." + +msgid "" +"For modes ``'w:gz'``, ``'r:gz'``, ``'w:bz2'``, ``'r:bz2'``, ``'x:gz'``, ``'x:" +"bz2'``, :func:`tarfile.open` accepts the keyword argument *compresslevel* " +"(default ``9``) to specify the compression level of the file." +msgstr "" +"Для режимів ``'w:gz'``, ``'r:gz'``, ``'w:bz2'``, ``'r:bz2'``, ``'x:gz'``, " +"``'x:bz2'``, :func:`tarfile.open` приймає аргумент ключового слова " +"*compresslevel* (за замовчуванням ``9``), щоб визначити рівень стиснення " +"файлу." + +msgid "" +"For modes ``'w:xz'`` and ``'x:xz'``, :func:`tarfile.open` accepts the " +"keyword argument *preset* to specify the compression level of the file." +msgstr "" +"Для режимів ``'w:xz'`` і ``'x:xz'`` :func:`tarfile.open` приймає аргумент " +"ключового слова *preset* для визначення рівня стиснення файлу." + +msgid "" +"For special purposes, there is a second format for *mode*: ``'filemode|" +"[compression]'``. :func:`tarfile.open` will return a :class:`TarFile` " +"object that processes its data as a stream of blocks. No random seeking " +"will be done on the file. If given, *fileobj* may be any object that has a :" +"meth:`read` or :meth:`write` method (depending on the *mode*). *bufsize* " +"specifies the blocksize and defaults to ``20 * 512`` bytes. Use this variant " +"in combination with e.g. ``sys.stdin``, a socket :term:`file object` or a " +"tape device. However, such a :class:`TarFile` object is limited in that it " +"does not allow random access, see :ref:`tar-examples`. The currently " +"possible modes:" +msgstr "" +"Для спеціальних цілей існує другий формат для *mode*: ``'filemode|" +"[стиснення]'``. :func:`tarfile.open` поверне об’єкт :class:`TarFile`, який " +"обробляє свої дані як потік блоків. Довільний пошук файлу не " +"виконуватиметься. Якщо вказано, *fileobj* може бути будь-яким об’єктом, який " +"має метод :meth:`read` або :meth:`write` (залежно від *mode*). *bufsize* " +"вказує розмір блоку та за замовчуванням ``20 * 512`` байт. Використовуйте " +"цей варіант у поєднанні з напр. ``sys.stdin``, сокет :term:`file object` або " +"стрічковий пристрій. Однак такий об’єкт :class:`TarFile` обмежений тим, що " +"він не дозволяє довільний доступ, див. :ref:`tar-examples`. Наразі можливі " +"режими:" + +msgid "Mode" +msgstr "Режим" + +msgid "Action" +msgstr "Дія" + +msgid "``'r|*'``" +msgstr "``'r|*'``" + +msgid "Open a *stream* of tar blocks for reading with transparent compression." +msgstr "Відкрийте *потік* блоків tar для читання з прозорим стисненням." + +msgid "``'r|'``" +msgstr "``'r|''``" + +msgid "Open a *stream* of uncompressed tar blocks for reading." +msgstr "Відкрийте *потік* нестиснутих блоків tar для читання." + +msgid "``'r|gz'``" +msgstr "``'r|gz''``" + +msgid "Open a gzip compressed *stream* for reading." +msgstr "Відкрийте *потік*, стиснутий gzip, для читання." + +msgid "``'r|bz2'``" +msgstr "``'r|bz2''``" + +msgid "Open a bzip2 compressed *stream* for reading." +msgstr "Відкрийте *потік*, стиснений bzip2, для читання." + +msgid "``'r|xz'``" +msgstr "``'r|xz''``" + +msgid "Open an lzma compressed *stream* for reading." +msgstr "Відкрийте стислий *потік* lzma для читання." + +msgid "``'w|'``" +msgstr "``'w|''``" + +msgid "Open an uncompressed *stream* for writing." +msgstr "Відкрийте нестиснений *потік* для запису." + +msgid "``'w|gz'``" +msgstr "``'w|gz''``" + +msgid "Open a gzip compressed *stream* for writing." +msgstr "Відкрийте стиснутий *потік* gzip для запису." + +msgid "``'w|bz2'``" +msgstr "``'w|bz2''``" + +msgid "Open a bzip2 compressed *stream* for writing." +msgstr "Відкрийте *потік*, стиснений bzip2, для запису." + +msgid "``'w|xz'``" +msgstr "``'w|xz''``" + +msgid "Open an lzma compressed *stream* for writing." +msgstr "Відкрийте стислий *потік* lzma для запису." + +msgid "The ``'x'`` (exclusive creation) mode was added." +msgstr "Додано режим ``'x`` (ексклюзивне створення)." + +msgid "The *name* parameter accepts a :term:`path-like object`." +msgstr "Параметр *name* приймає :term:`path-like object`." + +msgid "" +"Class for reading and writing tar archives. Do not use this class directly: " +"use :func:`tarfile.open` instead. See :ref:`tarfile-objects`." +msgstr "" +"Клас для читання та запису архівів tar. Не використовуйте цей клас " +"безпосередньо: використовуйте замість нього :func:`tarfile.open`. Див. :ref:" +"`tarfile-objects`." + +msgid "" +"Return :const:`True` if *name* is a tar archive file, that the :mod:" +"`tarfile` module can read. *name* may be a :class:`str`, file, or file-like " +"object." +msgstr "" +"Повертає :const:`True`, якщо *name* є архівним файлом tar, який може " +"прочитати модуль :mod:`tarfile`. *name* може бути :class:`str`, файлом або " +"файлоподібним об’єктом." + +msgid "Support for file and file-like objects." +msgstr "Підтримка файлів і файлоподібних об'єктів." + +msgid "The :mod:`tarfile` module defines the following exceptions:" +msgstr "Модуль :mod:`tarfile` визначає такі винятки:" + +msgid "Base class for all :mod:`tarfile` exceptions." +msgstr "Базовий клас для всіх винятків :mod:`tarfile`." + +msgid "" +"Is raised when a tar archive is opened, that either cannot be handled by " +"the :mod:`tarfile` module or is somehow invalid." +msgstr "" +"Виникає, коли відкривається архів tar, який або не може бути оброблений " +"модулем :mod:`tarfile`, або якимось чином недійсний." + +msgid "" +"Is raised when a compression method is not supported or when the data cannot " +"be decoded properly." +msgstr "" +"Виникає, коли метод стиснення не підтримується або дані не можуть бути " +"правильно декодовані." + +msgid "" +"Is raised for the limitations that are typical for stream-like :class:" +"`TarFile` objects." +msgstr "" +"Викликається через обмеження, типові для потокових об’єктів :class:`TarFile`." + +msgid "" +"Is raised for *non-fatal* errors when using :meth:`TarFile.extract`, but " +"only if :attr:`TarFile.errorlevel`\\ ``== 2``." +msgstr "" +"Викликається для *нефатальних* помилок під час використання :meth:`TarFile." +"extract`, але лише якщо :attr:`TarFile.errorlevel`\\ ``== 2``." + +msgid "Is raised by :meth:`TarInfo.frombuf` if the buffer it gets is invalid." +msgstr "Викликається :meth:`TarInfo.frombuf`, якщо отриманий буфер недійсний." + +msgid "The following constants are available at the module level:" +msgstr "Наступні константи доступні на рівні модуля:" + +msgid "" +"The default character encoding: ``'utf-8'`` on Windows, the value returned " +"by :func:`sys.getfilesystemencoding` otherwise." +msgstr "" +"Кодування символів за замовчуванням: ``'utf-8'`` у Windows, значення " +"повертає :func:`sys.getfilesystemencoding` в інших випадках." + +msgid "" +"Each of the following constants defines a tar archive format that the :mod:" +"`tarfile` module is able to create. See section :ref:`tar-formats` for " +"details." +msgstr "" +"Кожна з наступних констант визначає формат архіву tar, який може створити " +"модуль :mod:`tarfile`. Перегляньте розділ :ref:`tar-formats` для деталей." + +msgid "POSIX.1-1988 (ustar) format." +msgstr "Формат POSIX.1-1988 (ustar)." + +msgid "GNU tar format." +msgstr "Формат GNU tar." + +msgid "POSIX.1-2001 (pax) format." +msgstr "Формат POSIX.1-2001 (pax)." + +msgid "" +"The default format for creating archives. This is currently :const:" +"`PAX_FORMAT`." +msgstr "" +"Стандартний формат для створення архівів. Зараз це :const:`PAX_FORMAT`." + +msgid "" +"The default format for new archives was changed to :const:`PAX_FORMAT` from :" +"const:`GNU_FORMAT`." +msgstr "" +"Стандартний формат для нових архівів було змінено на :const:`PAX_FORMAT` з :" +"const:`GNU_FORMAT`." + +msgid "Module :mod:`zipfile`" +msgstr "Модуль :mod:`zipfile`" + +msgid "Documentation of the :mod:`zipfile` standard module." +msgstr "Документація стандартного модуля :mod:`zipfile`." + +msgid ":ref:`archiving-operations`" +msgstr ":ref:`archiving-operations`" + +msgid "" +"Documentation of the higher-level archiving facilities provided by the " +"standard :mod:`shutil` module." +msgstr "" +"Документація засобів архівування вищого рівня, які надає стандартний модуль :" +"mod:`shutil`." + +msgid "" +"`GNU tar manual, Basic Tar Format `_" +msgstr "" +"`Посібник GNU tar, базовий формат Tar `_" + +msgid "Documentation for tar archive files, including GNU tar extensions." +msgstr "Документація для архівних файлів tar, включаючи розширення GNU tar." + +msgid "TarFile Objects" +msgstr "Об’єкти TarFile" + +msgid "" +"The :class:`TarFile` object provides an interface to a tar archive. A tar " +"archive is a sequence of blocks. An archive member (a stored file) is made " +"up of a header block followed by data blocks. It is possible to store a file " +"in a tar archive several times. Each archive member is represented by a :" +"class:`TarInfo` object, see :ref:`tarinfo-objects` for details." +msgstr "" +"Об’єкт :class:`TarFile` надає інтерфейс до архіву tar. Архів tar — це " +"послідовність блоків. Член архіву (збережений файл) складається з блоку " +"заголовка, за яким слідують блоки даних. Можна зберігати файл в архіві tar " +"кілька разів. Кожен член архіву представлений об’єктом :class:`TarInfo`, " +"подробиці див. у :ref:`tarinfo-objects`." + +msgid "" +"A :class:`TarFile` object can be used as a context manager in a :keyword:" +"`with` statement. It will automatically be closed when the block is " +"completed. Please note that in the event of an exception an archive opened " +"for writing will not be finalized; only the internally used file object will " +"be closed. See the :ref:`tar-examples` section for a use case." +msgstr "" +"Об’єкт :class:`TarFile` можна використовувати як менеджер контексту в " +"операторі :keyword:`with`. Він автоматично закриється, коли блок буде " +"завершено. Зверніть увагу, що у випадку винятку архів, відкритий для запису, " +"не буде завершено; буде закрито лише внутрішньо використовуваний файловий " +"об’єкт. Перегляньте розділ :ref:`tar-examples` для прикладу використання." + +msgid "Added support for the context management protocol." +msgstr "Додано підтримку протоколу керування контекстом." + +msgid "" +"All following arguments are optional and can be accessed as instance " +"attributes as well." +msgstr "" +"Усі наступні аргументи є необов’язковими, і до них також можна отримати " +"доступ як до атрибутів екземпляра." + +msgid "" +"*name* is the pathname of the archive. *name* may be a :term:`path-like " +"object`. It can be omitted if *fileobj* is given. In this case, the file " +"object's :attr:`name` attribute is used if it exists." +msgstr "" +"*ім’я* — шлях до архіву. *name* може бути :term:`path-like object`. Його " +"можна опустити, якщо вказано *fileobj*. У цьому випадку використовується " +"атрибут :attr:`name` об’єкта файлу, якщо він існує." + +msgid "" +"*mode* is either ``'r'`` to read from an existing archive, ``'a'`` to append " +"data to an existing file, ``'w'`` to create a new file overwriting an " +"existing one, or ``'x'`` to create a new file only if it does not already " +"exist." +msgstr "" +"*режим* — це або ``'r'`` для читання з існуючого архіву, ``'a'`` для " +"додавання даних до існуючого файлу, ``'w'`` для створення нового файлу, " +"перезаписуючого існуючий , або ``'x''``, щоб створити новий файл, лише якщо " +"він ще не існує." + +msgid "" +"If *fileobj* is given, it is used for reading or writing data. If it can be " +"determined, *mode* is overridden by *fileobj*'s mode. *fileobj* will be used " +"from position 0." +msgstr "" +"Якщо вказано *fileobj*, він використовується для читання або запису даних. " +"Якщо це можна визначити, *mode* замінюється режимом *fileobj*. *fileobj* " +"використовуватиметься з позиції 0." + +msgid "*fileobj* is not closed, when :class:`TarFile` is closed." +msgstr "*fileobj* не закривається, коли :class:`TarFile` закрито." + +msgid "" +"*format* controls the archive format for writing. It must be one of the " +"constants :const:`USTAR_FORMAT`, :const:`GNU_FORMAT` or :const:`PAX_FORMAT` " +"that are defined at module level. When reading, format will be automatically " +"detected, even if different formats are present in a single archive." +msgstr "" +"*format* контролює формат архіву для запису. Це має бути одна з констант :" +"const:`USTAR_FORMAT`, :const:`GNU_FORMAT` або :const:`PAX_FORMAT`, " +"визначених на рівні модуля. Під час читання формат буде автоматично " +"визначено, навіть якщо в одному архіві присутні різні формати." + +msgid "" +"The *tarinfo* argument can be used to replace the default :class:`TarInfo` " +"class with a different one." +msgstr "" +"Аргумент *tarinfo* можна використати для заміни стандартного класу :class:" +"`TarInfo` на інший." + +msgid "" +"If *dereference* is :const:`False`, add symbolic and hard links to the " +"archive. If it is :const:`True`, add the content of the target files to the " +"archive. This has no effect on systems that do not support symbolic links." +msgstr "" +"Якщо *розіменування* має значення :const:`False`, додайте символічні та " +"жорсткі посилання до архіву. Якщо це :const:`True`, додайте вміст цільових " +"файлів до архіву. Це не впливає на системи, які не підтримують символічні " +"посилання." + +msgid "" +"If *ignore_zeros* is :const:`False`, treat an empty block as the end of the " +"archive. If it is :const:`True`, skip empty (and invalid) blocks and try to " +"get as many members as possible. This is only useful for reading " +"concatenated or damaged archives." +msgstr "" +"Якщо *ignore_zeros* дорівнює :const:`False`, розглядайте порожній блок як " +"кінець архіву. Якщо це :const:`True`, пропускайте порожні (і недійсні) блоки " +"та намагайтеся отримати якомога більше учасників. Це корисно лише для " +"читання об’єднаних або пошкоджених архівів." + +msgid "" +"*debug* can be set from ``0`` (no debug messages) up to ``3`` (all debug " +"messages). The messages are written to ``sys.stderr``." +msgstr "" +"*debug* можна встановити від ``0`` (без повідомлень налагодження) до ``3`` " +"(усі повідомлення налагодження). Повідомлення записуються в ``sys.stderr``." + +msgid "" +"If *errorlevel* is ``0``, all errors are ignored when using :meth:`TarFile." +"extract`. Nevertheless, they appear as error messages in the debug output, " +"when debugging is enabled. If ``1``, all *fatal* errors are raised as :exc:" +"`OSError` exceptions. If ``2``, all *non-fatal* errors are raised as :exc:" +"`TarError` exceptions as well." +msgstr "" +"Якщо *errorlevel* дорівнює ``0``, усі помилки ігноруються під час " +"використання :meth:`TarFile.extract`. Незважаючи на це, вони відображаються " +"як повідомлення про помилку у вихідних даних налагодження, коли налагодження " +"ввімкнено. Якщо ``1``, усі *фатальні* помилки викликаються як винятки :exc:" +"`OSError`. Якщо ``2``, усі *нефатальні* помилки також викликаються як " +"винятки :exc:`TarError`." + +msgid "" +"The *encoding* and *errors* arguments define the character encoding to be " +"used for reading or writing the archive and how conversion errors are going " +"to be handled. The default settings will work for most users. See section :" +"ref:`tar-unicode` for in-depth information." +msgstr "" +"Аргументи *encoding* і *errors* визначають кодування символів, яке буде " +"використовуватися для читання або запису архіву, і спосіб обробки помилок " +"перетворення. Налаштування за замовчуванням працюватимуть для більшості " +"користувачів. Дивіться розділ :ref:`tar-unicode` для отримання детальної " +"інформації." + +msgid "" +"The *pax_headers* argument is an optional dictionary of strings which will " +"be added as a pax global header if *format* is :const:`PAX_FORMAT`." +msgstr "" +"Аргумент *pax_headers* — це необов’язковий словник рядків, який буде додано " +"як глобальний заголовок pax, якщо *format* має значення :const:`PAX_FORMAT`." + +msgid "Use ``'surrogateescape'`` as the default for the *errors* argument." +msgstr "" +"Використовуйте ``'surrogateescape'`` як типове значення для аргументу " +"*errors*." + +msgid "" +"Alternative constructor. The :func:`tarfile.open` function is actually a " +"shortcut to this classmethod." +msgstr "" +"Альтернативний конструктор. Функція :func:`tarfile.open` насправді є ярликом " +"цього методу класу." + +msgid "" +"Return a :class:`TarInfo` object for member *name*. If *name* can not be " +"found in the archive, :exc:`KeyError` is raised." +msgstr "" +"Повертає об’єкт :class:`TarInfo` для *ім’я* члена. Якщо *name* не вдається " +"знайти в архіві, виникає :exc:`KeyError`." + +msgid "" +"If a member occurs more than once in the archive, its last occurrence is " +"assumed to be the most up-to-date version." +msgstr "" +"Якщо член зустрічається в архіві більше одного разу, вважається, що його " +"остання зустріч є найновішою версією." + +msgid "" +"Return the members of the archive as a list of :class:`TarInfo` objects. The " +"list has the same order as the members in the archive." +msgstr "" +"Повернути членів архіву як список об’єктів :class:`TarInfo`. Список має той " +"самий порядок, що й учасники в архіві." + +msgid "" +"Return the members as a list of their names. It has the same order as the " +"list returned by :meth:`getmembers`." +msgstr "" +"Повернути учасників у вигляді списку їхніх імен. Він має той самий порядок, " +"що й список, який повертає :meth:`getmembers`." + +msgid "" +"Print a table of contents to ``sys.stdout``. If *verbose* is :const:`False`, " +"only the names of the members are printed. If it is :const:`True`, output " +"similar to that of :program:`ls -l` is produced. If optional *members* is " +"given, it must be a subset of the list returned by :meth:`getmembers`." +msgstr "" +"Надрукуйте зміст у ``sys.stdout``. Якщо *verbose* має значення :const:" +"`False`, друкуються лише імена учасників. Якщо це :const:`True`, буде " +"створено вихід, схожий на той, який виконує :program:`ls -l`. Якщо вказано " +"необов’язковий *members*, він має бути підмножиною списку, який повертає :" +"meth:`getmembers`." + +msgid "Added the *members* parameter." +msgstr "Додано параметр *члени*." + +msgid "" +"Return the next member of the archive as a :class:`TarInfo` object, when :" +"class:`TarFile` is opened for reading. Return :const:`None` if there is no " +"more available." +msgstr "" +"Повертає наступний елемент архіву як об’єкт :class:`TarInfo`, коли :class:" +"`TarFile` відкрито для читання. Повернути :const:`None`, якщо більше немає " +"доступних." + +msgid "" +"Extract all members from the archive to the current working directory or " +"directory *path*. If optional *members* is given, it must be a subset of the " +"list returned by :meth:`getmembers`. Directory information like owner, " +"modification time and permissions are set after all members have been " +"extracted. This is done to work around two problems: A directory's " +"modification time is reset each time a file is created in it. And, if a " +"directory's permissions do not allow writing, extracting files to it will " +"fail." +msgstr "" +"Витягніть усі члени з архіву в поточний робочий каталог або *шлях* до " +"каталогу. Якщо вказано необов’язковий *members*, він має бути підмножиною " +"списку, який повертає :meth:`getmembers`. Інформація про каталог, як-от " +"власник, час зміни та дозволи, встановлюється після вилучення всіх " +"учасників. Це зроблено, щоб вирішити дві проблеми: Час модифікації каталогу " +"скидається кожного разу, коли в ньому створюється файл. І якщо дозволи " +"каталогу не дозволяють записувати, видобути файли в нього не вдасться." + +msgid "" +"If *numeric_owner* is :const:`True`, the uid and gid numbers from the " +"tarfile are used to set the owner/group for the extracted files. Otherwise, " +"the named values from the tarfile are used." +msgstr "" +"Якщо *numeric_owner* має значення :const:`True`, номери uid і gid з tar-" +"файлу використовуються для встановлення власника/групи для вилучених файлів. " +"В іншому випадку використовуються іменовані значення з tarfile." + +msgid "" +"Never extract archives from untrusted sources without prior inspection. It " +"is possible that files are created outside of *path*, e.g. members that have " +"absolute filenames starting with ``\"/\"`` or filenames with two dots ``\".." +"\"``." +msgstr "" +"Ніколи не витягуйте архіви з ненадійних джерел без попередньої перевірки. " +"Цілком можливо, що файли створюються поза *шляхом*, напр. члени, які мають " +"абсолютні імена файлів, що починаються з ``\"/\"`` або імена файлів з двома " +"крапками ``\"..\"``." + +msgid "Added the *numeric_owner* parameter." +msgstr "Додано параметр *numeric_owner*." + +msgid "The *path* parameter accepts a :term:`path-like object`." +msgstr "Параметр *path* приймає :term:`path-like object`." + +msgid "" +"Extract a member from the archive to the current working directory, using " +"its full name. Its file information is extracted as accurately as possible. " +"*member* may be a filename or a :class:`TarInfo` object. You can specify a " +"different directory using *path*. *path* may be a :term:`path-like object`. " +"File attributes (owner, mtime, mode) are set unless *set_attrs* is false." +msgstr "" +"Розпакуйте учасника з архіву в поточний робочий каталог, використовуючи його " +"повне ім’я. Інформація про його файл витягується якомога точніше. *member* " +"може бути назвою файлу або об’єктом :class:`TarInfo`. Ви можете вказати " +"інший каталог за допомогою *шляху*. *path* може бути :term:`path-like " +"object`. Атрибути файлу (власник, mtime, режим) встановлено, якщо " +"*set_attrs* не має значення false." + +msgid "" +"The :meth:`extract` method does not take care of several extraction issues. " +"In most cases you should consider using the :meth:`extractall` method." +msgstr "" +"Метод :meth:`extract` не вирішує деякі проблеми вилучення. У більшості " +"випадків вам слід розглянути можливість використання методу :meth:" +"`extractall`." + +msgid "See the warning for :meth:`extractall`." +msgstr "Перегляньте попередження для :meth:`extractall`." + +msgid "Added the *set_attrs* parameter." +msgstr "Додано параметр *set_attrs*." + +msgid "" +"Extract a member from the archive as a file object. *member* may be a " +"filename or a :class:`TarInfo` object. If *member* is a regular file or a " +"link, an :class:`io.BufferedReader` object is returned. For all other " +"existing members, :const:`None` is returned. If *member* does not appear in " +"the archive, :exc:`KeyError` is raised." +msgstr "" +"Витягти член з архіву як файловий об’єкт. *member* може бути назвою файлу " +"або об’єктом :class:`TarInfo`. Якщо *member* є звичайним файлом або " +"посиланням, повертається об’єкт :class:`io.BufferedReader`. Для всіх інших " +"існуючих учасників повертається :const:`None`. Якщо *member* не " +"відображається в архіві, виникає :exc:`KeyError`." + +msgid "Return an :class:`io.BufferedReader` object." +msgstr "Повертає об’єкт :class:`io.BufferedReader`." + +msgid "" +"Add the file *name* to the archive. *name* may be any type of file " +"(directory, fifo, symbolic link, etc.). If given, *arcname* specifies an " +"alternative name for the file in the archive. Directories are added " +"recursively by default. This can be avoided by setting *recursive* to :const:" +"`False`. Recursion adds entries in sorted order. If *filter* is given, it " +"should be a function that takes a :class:`TarInfo` object argument and " +"returns the changed :class:`TarInfo` object. If it instead returns :const:" +"`None` the :class:`TarInfo` object will be excluded from the archive. See :" +"ref:`tar-examples` for an example." +msgstr "" +"Додайте *ім'я* файлу в архів. *ім’я* може бути будь-яким типом файлу " +"(каталог, FIFO, символьне посилання тощо). Якщо задано, *arcname* визначає " +"альтернативне ім’я для файлу в архіві. За замовчуванням каталоги додаються " +"рекурсивно. Цього можна уникнути, встановивши *recursive* на :const:`False`. " +"Рекурсія додає записи у відсортованому порядку. Якщо вказано *фільтр*, це " +"має бути функція, яка приймає аргумент об’єкта :class:`TarInfo` і повертає " +"змінений об’єкт :class:`TarInfo`. Якщо замість цього він повертає :const:" +"`None`, об’єкт :class:`TarInfo` буде виключено з архіву. Перегляньте :ref:" +"`tar-examples` для прикладу." + +msgid "Added the *filter* parameter." +msgstr "Додано параметр *фільтр*." + +msgid "Recursion adds entries in sorted order." +msgstr "Рекурсія додає записи у відсортованому порядку." + +msgid "" +"Add the :class:`TarInfo` object *tarinfo* to the archive. If *fileobj* is " +"given, it should be a :term:`binary file`, and ``tarinfo.size`` bytes are " +"read from it and added to the archive. You can create :class:`TarInfo` " +"objects directly, or by using :meth:`gettarinfo`." +msgstr "" +"Додайте об'єкт :class:`TarInfo` *tarinfo* до архіву. Якщо вказано *fileobj*, " +"це має бути :term:`binary file`, а байти ``tarinfo.size`` зчитуються з нього " +"та додаються до архіву. Ви можете створювати об’єкти :class:`TarInfo` " +"безпосередньо або за допомогою :meth:`gettarinfo`." + +msgid "" +"Create a :class:`TarInfo` object from the result of :func:`os.stat` or " +"equivalent on an existing file. The file is either named by *name*, or " +"specified as a :term:`file object` *fileobj* with a file descriptor. *name* " +"may be a :term:`path-like object`. If given, *arcname* specifies an " +"alternative name for the file in the archive, otherwise, the name is taken " +"from *fileobj*’s :attr:`~io.FileIO.name` attribute, or the *name* argument. " +"The name should be a text string." +msgstr "" +"Створіть об’єкт :class:`TarInfo` з результату :func:`os.stat` або " +"еквівалентного в існуючому файлі. Файл або має назву *name*, або вказується " +"як :term:`file object` *fileobj* з дескриптором файлу. *name* може бути :" +"term:`path-like object`. Якщо задано, *arcname* визначає альтернативне ім’я " +"для файлу в архіві, інакше ім’я береться з атрибута *fileobj* :attr:`~io." +"FileIO.name` або аргументу *name*. Назва має бути текстовим рядком." + +msgid "" +"You can modify some of the :class:`TarInfo`’s attributes before you add it " +"using :meth:`addfile`. If the file object is not an ordinary file object " +"positioned at the beginning of the file, attributes such as :attr:`~TarInfo." +"size` may need modifying. This is the case for objects such as :class:" +"`~gzip.GzipFile`. The :attr:`~TarInfo.name` may also be modified, in which " +"case *arcname* could be a dummy string." +msgstr "" +"Ви можете змінити деякі атрибути :class:`TarInfo` перед тим, як додати його " +"за допомогою :meth:`addfile`. Якщо файловий об’єкт не є звичайним файловим " +"об’єктом, розміщеним на початку файлу, можливо, потрібно буде змінити " +"атрибути, такі як :attr:`~TarInfo.size`. Це стосується таких об’єктів, як :" +"class:`~gzip.GzipFile`. :attr:`~TarInfo.name` також можна змінити, у цьому " +"випадку *arcname* може бути фіктивним рядком." + +msgid "" +"Close the :class:`TarFile`. In write mode, two finishing zero blocks are " +"appended to the archive." +msgstr "" +"Закрийте :class:`TarFile`. У режимі запису до архіву додаються два " +"завершальних нульових блоки." + +msgid "A dictionary containing key-value pairs of pax global headers." +msgstr "Словник, що містить пари ключ-значення глобальних заголовків pax." + +msgid "TarInfo Objects" +msgstr "Об'єкти TarInfo" + +msgid "" +"A :class:`TarInfo` object represents one member in a :class:`TarFile`. Aside " +"from storing all required attributes of a file (like file type, size, time, " +"permissions, owner etc.), it provides some useful methods to determine its " +"type. It does *not* contain the file's data itself." +msgstr "" +"Об’єкт :class:`TarInfo` представляє один член у :class:`TarFile`. Окрім " +"зберігання всіх необхідних атрибутів файлу (наприклад, типу файлу, розміру, " +"часу, дозволів, власника тощо), він надає деякі корисні методи визначення " +"його типу. Він *не* містить дані самого файлу." + +msgid "" +":class:`TarInfo` objects are returned by :class:`TarFile`'s methods :meth:" +"`getmember`, :meth:`getmembers` and :meth:`gettarinfo`." +msgstr "" +"Об’єкти :class:`TarInfo` повертаються методами :class:`TarFile` :meth:" +"`getmember`, :meth:`getmembers` і :meth:`gettarinfo`." + +msgid "Create a :class:`TarInfo` object." +msgstr "Створіть об’єкт :class:`TarInfo`." + +msgid "Create and return a :class:`TarInfo` object from string buffer *buf*." +msgstr "" +"Створіть і поверніть об’єкт :class:`TarInfo` із рядкового буфера *buf*." + +msgid "Raises :exc:`HeaderError` if the buffer is invalid." +msgstr "Викликає :exc:`HeaderError`, якщо буфер недійсний." + +msgid "" +"Read the next member from the :class:`TarFile` object *tarfile* and return " +"it as a :class:`TarInfo` object." +msgstr "" +"Прочитайте наступний елемент з об’єкта :class:`TarFile` *tarfile* і " +"поверніть його як об’єкт :class:`TarInfo`." + +msgid "" +"Create a string buffer from a :class:`TarInfo` object. For information on " +"the arguments see the constructor of the :class:`TarFile` class." +msgstr "" +"Створіть рядковий буфер із об’єкта :class:`TarInfo`. Щоб отримати інформацію " +"про аргументи, перегляньте конструктор класу :class:`TarFile`." + +msgid "A ``TarInfo`` object has the following public data attributes:" +msgstr "Об’єкт ``TarInfo`` має такі загальнодоступні атрибути даних:" + +msgid "Name of the archive member." +msgstr "ПІБ учасника архіву." + +msgid "Size in bytes." +msgstr "Розмір у байтах." + +msgid "Time of last modification." +msgstr "Час останньої модифікації." + +msgid "Permission bits." +msgstr "Біти дозволу." + +msgid "" +"File type. *type* is usually one of these constants: :const:`REGTYPE`, :" +"const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, :" +"const:`FIFOTYPE`, :const:`CONTTYPE`, :const:`CHRTYPE`, :const:`BLKTYPE`, :" +"const:`GNUTYPE_SPARSE`. To determine the type of a :class:`TarInfo` object " +"more conveniently, use the ``is*()`` methods below." +msgstr "" +"Тип файлу. *type* зазвичай є однією з таких констант: :const:`REGTYPE`, :" +"const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, :" +"const:`FIFOTYPE`, :const:`CONTTYPE`, :const:`CHRTYPE`, :const:`BLKTYPE`, :" +"const:`GNUTYPE_SPARSE`. Щоб зручніше визначити тип об’єкта :class:`TarInfo`, " +"скористайтеся наведеними нижче методами ``is*()``." + +msgid "" +"Name of the target file name, which is only present in :class:`TarInfo` " +"objects of type :const:`LNKTYPE` and :const:`SYMTYPE`." +msgstr "" +"Ім’я імені цільового файлу, яке присутнє лише в об’єктах :class:`TarInfo` " +"типу :const:`LNKTYPE` і :const:`SYMTYPE`." + +msgid "User ID of the user who originally stored this member." +msgstr "Ідентифікатор користувача, який спочатку зберіг цього учасника." + +msgid "Group ID of the user who originally stored this member." +msgstr "Ідентифікатор групи користувача, який спочатку зберіг цього учасника." + +msgid "User name." +msgstr "Ім'я користувача." + +msgid "Group name." +msgstr "Назва групи." + +msgid "" +"A dictionary containing key-value pairs of an associated pax extended header." +msgstr "" +"Словник, що містить пари ключ-значення пов’язаного розширеного заголовка pax." + +msgid "A :class:`TarInfo` object also provides some convenient query methods:" +msgstr "Об’єкт :class:`TarInfo` також надає деякі зручні методи запиту:" + +msgid "Return :const:`True` if the :class:`Tarinfo` object is a regular file." +msgstr "" +"Повертає :const:`True`, якщо об’єкт :class:`Tarinfo` є звичайним файлом." + +msgid "Same as :meth:`isfile`." +msgstr "Те саме, що :meth:`isfile`." + +msgid "Return :const:`True` if it is a directory." +msgstr "Повертає :const:`True`, якщо це каталог." + +msgid "Return :const:`True` if it is a symbolic link." +msgstr "Повертає :const:`True`, якщо це символічне посилання." + +msgid "Return :const:`True` if it is a hard link." +msgstr "Повертає :const:`True`, якщо це жорстке посилання." + +msgid "Return :const:`True` if it is a character device." +msgstr "Повертає :const:`True`, якщо це символьний пристрій." + +msgid "Return :const:`True` if it is a block device." +msgstr "Повертає :const:`True`, якщо це блоковий пристрій." + +msgid "Return :const:`True` if it is a FIFO." +msgstr "Повертає :const:`True`, якщо це FIFO." + +msgid "" +"Return :const:`True` if it is one of character device, block device or FIFO." +msgstr "" +"Повертає :const:`True`, якщо це символьний пристрій, блоковий пристрій або " +"FIFO." + +msgid "Command-Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The :mod:`tarfile` module provides a simple command-line interface to " +"interact with tar archives." +msgstr "" +"Модуль :mod:`tarfile` забезпечує простий інтерфейс командного рядка для " +"взаємодії з архівами tar." + +msgid "" +"If you want to create a new tar archive, specify its name after the :option:" +"`-c` option and then list the filename(s) that should be included:" +msgstr "" +"Якщо ви хочете створити новий архів tar, вкажіть його назву після параметра :" +"option:`-c`, а потім перелічіть імена файлів, які потрібно включити:" + +msgid "Passing a directory is also acceptable:" +msgstr "Передача каталогу також прийнятна:" + +msgid "" +"If you want to extract a tar archive into the current directory, use the :" +"option:`-e` option:" +msgstr "" +"Якщо ви хочете розпакувати архів tar у поточний каталог, скористайтеся " +"параметром :option:`-e`:" + +msgid "" +"You can also extract a tar archive into a different directory by passing the " +"directory's name:" +msgstr "" +"Ви також можете розпакувати архів tar в інший каталог, передавши назву " +"каталогу:" + +msgid "For a list of the files in a tar archive, use the :option:`-l` option:" +msgstr "" +"Щоб отримати список файлів у архіві tar, використовуйте параметр :option:`-" +"l`:" + +msgid "Command-line options" +msgstr "Параметри командного рядка" + +msgid "List files in a tarfile." +msgstr "Список файлів у tar-файлі." + +msgid "Create tarfile from source files." +msgstr "Створення tarfile з вихідних файлів." + +msgid "" +"Extract tarfile into the current directory if *output_dir* is not specified." +msgstr "Розпакуйте tarfile у поточний каталог, якщо *output_dir* не вказано." + +msgid "Test whether the tarfile is valid or not." +msgstr "Перевірте, чи дійсний tarfile чи ні." + +msgid "Verbose output." +msgstr "Детальний висновок." + +msgid "Examples" +msgstr "Приклади" + +msgid "How to extract an entire tar archive to the current working directory::" +msgstr "Як розпакувати цілий архів tar до поточного робочого каталогу::" + +msgid "" +"How to extract a subset of a tar archive with :meth:`TarFile.extractall` " +"using a generator function instead of a list::" +msgstr "" +"Як розпакувати підмножину архіву tar за допомогою :meth:`TarFile.extractall` " +"за допомогою функції генератора замість списку::" + +msgid "How to create an uncompressed tar archive from a list of filenames::" +msgstr "Як створити нестиснений архів tar зі списку імен файлів::" + +msgid "The same example using the :keyword:`with` statement::" +msgstr "Той самий приклад із використанням оператора :keyword:`with`::" + +msgid "" +"How to read a gzip compressed tar archive and display some member " +"information::" +msgstr "" +"Як прочитати архів tar, стиснений gzip, і відобразити інформацію про " +"учасників:" + +msgid "" +"How to create an archive and reset the user information using the *filter* " +"parameter in :meth:`TarFile.add`::" +msgstr "" +"Як створити архів і скинути інформацію про користувача за допомогою " +"параметра *filter* у :meth:`TarFile.add`::" + +msgid "Supported tar formats" +msgstr "Підтримувані формати tar" + +msgid "" +"There are three tar formats that can be created with the :mod:`tarfile` " +"module:" +msgstr "" +"Існує три формати tar, які можна створити за допомогою модуля :mod:`tarfile`:" + +msgid "" +"The POSIX.1-1988 ustar format (:const:`USTAR_FORMAT`). It supports filenames " +"up to a length of at best 256 characters and linknames up to 100 characters. " +"The maximum file size is 8 GiB. This is an old and limited but widely " +"supported format." +msgstr "" +"Формат POSIX.1-1988 ustar (:const:`USTAR_FORMAT`). Він підтримує назви " +"файлів довжиною щонайбільше 256 символів і назви посилань довжиною до 100 " +"символів. Максимальний розмір файлу становить 8 ГіБ. Це старий і обмежений, " +"але широко підтримуваний формат." + +msgid "" +"The GNU tar format (:const:`GNU_FORMAT`). It supports long filenames and " +"linknames, files bigger than 8 GiB and sparse files. It is the de facto " +"standard on GNU/Linux systems. :mod:`tarfile` fully supports the GNU tar " +"extensions for long names, sparse file support is read-only." +msgstr "" +"Формат GNU tar (:const:`GNU_FORMAT`). Він підтримує довгі імена файлів та " +"імена посилань, файли розміром понад 8 ГіБ і розріджені файли. Це стандарт " +"де-факто для систем GNU/Linux. :mod:`tarfile` повністю підтримує розширення " +"GNU tar для довгих імен, підтримка розріджених файлів доступна лише для " +"читання." + +msgid "" +"The POSIX.1-2001 pax format (:const:`PAX_FORMAT`). It is the most flexible " +"format with virtually no limits. It supports long filenames and linknames, " +"large files and stores pathnames in a portable way. Modern tar " +"implementations, including GNU tar, bsdtar/libarchive and star, fully " +"support extended *pax* features; some old or unmaintained libraries may not, " +"but should treat *pax* archives as if they were in the universally supported " +"*ustar* format. It is the current default format for new archives." +msgstr "" + +msgid "" +"It extends the existing *ustar* format with extra headers for information " +"that cannot be stored otherwise. There are two flavours of pax headers: " +"Extended headers only affect the subsequent file header, global headers are " +"valid for the complete archive and affect all following files. All the data " +"in a pax header is encoded in *UTF-8* for portability reasons." +msgstr "" +"Він розширює існуючий формат *ustar* додатковими заголовками для інформації, " +"яку неможливо зберегти іншим способом. Є два варіанти заголовків pax: " +"розширені заголовки впливають лише на наступний заголовок файлу, глобальні " +"заголовки дійсні для всього архіву та впливають на всі наступні файли. Усі " +"дані в заголовку pax закодовано в *UTF-8* з міркувань переносимості." + +msgid "" +"There are some more variants of the tar format which can be read, but not " +"created:" +msgstr "" +"Є ще кілька варіантів формату tar, які можна читати, але не створювати:" + +msgid "" +"The ancient V7 format. This is the first tar format from Unix Seventh " +"Edition, storing only regular files and directories. Names must not be " +"longer than 100 characters, there is no user/group name information. Some " +"archives have miscalculated header checksums in case of fields with non-" +"ASCII characters." +msgstr "" +"Старовинний формат V7. Це перший формат tar із Unix Seventh Edition, який " +"зберігає лише звичайні файли та каталоги. Імена не повинні бути довшими за " +"100 символів, інформація про ім’я користувача/групи відсутня. Деякі архіви " +"мають неправильно обчислені контрольні суми заголовків у випадку полів із " +"символами, відмінними від ASCII." + +msgid "" +"The SunOS tar extended format. This format is a variant of the POSIX.1-2001 " +"pax format, but is not compatible." +msgstr "" +"Розширений формат SunOS tar. Цей формат є варіантом формату POSIX.1-2001 " +"pax, але він не сумісний." + +msgid "Unicode issues" +msgstr "Проблеми з Unicode" + +msgid "" +"The tar format was originally conceived to make backups on tape drives with " +"the main focus on preserving file system information. Nowadays tar archives " +"are commonly used for file distribution and exchanging archives over " +"networks. One problem of the original format (which is the basis of all " +"other formats) is that there is no concept of supporting different character " +"encodings. For example, an ordinary tar archive created on a *UTF-8* system " +"cannot be read correctly on a *Latin-1* system if it contains non-*ASCII* " +"characters. Textual metadata (like filenames, linknames, user/group names) " +"will appear damaged. Unfortunately, there is no way to autodetect the " +"encoding of an archive. The pax format was designed to solve this problem. " +"It stores non-ASCII metadata using the universal character encoding *UTF-8*." +msgstr "" +"Формат tar спочатку був задуманий для створення резервних копій на " +"стрічкових накопичувачах з основним фокусом на збереженні інформації про " +"файлову систему. Зараз архіви tar широко використовуються для розповсюдження " +"файлів та обміну архівами в мережах. Однією з проблем вихідного формату " +"(який є основою всіх інших форматів) є відсутність концепції підтримки " +"різних кодувань символів. Наприклад, звичайний архів tar, створений у " +"системі *UTF-8*, не може бути правильно прочитаний у системі *Latin-1*, якщо " +"він містить символи, відмінні від *ASCII*. Текстові метадані (як-от імена " +"файлів, імена посилань, імена користувачів/груп) відображатимуться " +"пошкодженими. На жаль, немає способу автоматичного визначення кодування " +"архіву. Формат pax був розроблений для вирішення цієї проблеми. Він зберігає " +"метадані, відмінні від ASCII, використовуючи універсальне кодування символів " +"*UTF-8*." + +msgid "" +"The details of character conversion in :mod:`tarfile` are controlled by the " +"*encoding* and *errors* keyword arguments of the :class:`TarFile` class." +msgstr "" +"Деталі перетворення символів у :mod:`tarfile` контролюються ключовими " +"аргументами *encoding* і *errors* класу :class:`TarFile`." + +msgid "" +"*encoding* defines the character encoding to use for the metadata in the " +"archive. The default value is :func:`sys.getfilesystemencoding` or " +"``'ascii'`` as a fallback. Depending on whether the archive is read or " +"written, the metadata must be either decoded or encoded. If *encoding* is " +"not set appropriately, this conversion may fail." +msgstr "" +"*encoding* визначає кодування символів для метаданих в архіві. Значення за " +"замовчуванням — :func:`sys.getfilesystemencoding` або ``'ascii'`` як " +"запасний варіант. Залежно від того, читається чи записується архів, метадані " +"повинні бути або декодовані, або закодовані. Якщо *кодування* не встановлено " +"належним чином, це перетворення може не вдатися." + +msgid "" +"The *errors* argument defines how characters are treated that cannot be " +"converted. Possible values are listed in section :ref:`error-handlers`. The " +"default scheme is ``'surrogateescape'`` which Python also uses for its file " +"system calls, see :ref:`os-filenames`." +msgstr "" +"Аргумент *errors* визначає, як обробляються символи, які не можна " +"перетворити. Можливі значення перераховані в розділі :ref:`error-handlers`. " +"Типовою схемою є ``'surrogateescape'``, яку Python також використовує для " +"викликів своєї файлової системи, див. :ref:`os-filenames`." + +msgid "" +"For :const:`PAX_FORMAT` archives (the default), *encoding* is generally not " +"needed because all the metadata is stored using *UTF-8*. *encoding* is only " +"used in the rare cases when binary pax headers are decoded or when strings " +"with surrogate characters are stored." +msgstr "" +"Для архівів :const:`PAX_FORMAT` (за замовчуванням) *кодування* зазвичай не " +"потрібне, оскільки всі метадані зберігаються за допомогою *UTF-8*. " +"*кодування* використовується лише в рідкісних випадках, коли двійкові " +"заголовки pax декодуються або коли зберігаються рядки із сурогатними " +"символами." diff --git a/library/telnetlib.po b/library/telnetlib.po new file mode 100644 index 000000000..ca0061b22 --- /dev/null +++ b/library/telnetlib.po @@ -0,0 +1,344 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`telnetlib` --- Telnet client" +msgstr ":mod:`telnetlib` --- клієнт Telnet" + +msgid "**Source code:** :source:`Lib/telnetlib.py`" +msgstr "**Вихідний код:** :source:`Lib/telnetlib.py`" + +msgid "" +"The :mod:`telnetlib` module is deprecated (see :pep:`PEP 594 " +"<594#telnetlib>` for details and alternatives)." +msgstr "" +"Модуль :mod:`telnetlib` є застарілим (перегляньте :pep:`PEP 594 " +"<594#telnetlib>` для деталей та альтернатив)." + +msgid "" +"The :mod:`telnetlib` module provides a :class:`Telnet` class that implements " +"the Telnet protocol. See :rfc:`854` for details about the protocol. In " +"addition, it provides symbolic constants for the protocol characters (see " +"below), and for the telnet options. The symbolic names of the telnet options " +"follow the definitions in ``arpa/telnet.h``, with the leading ``TELOPT_`` " +"removed. For symbolic names of options which are traditionally not included " +"in ``arpa/telnet.h``, see the module source itself." +msgstr "" +"Модуль :mod:`telnetlib` надає клас :class:`Telnet`, який реалізує протокол " +"Telnet. Дивіться :rfc:`854`, щоб дізнатися більше про протокол. Крім того, " +"він надає символічні константи для символів протоколу (див. нижче) і " +"параметрів telnet. Символічні назви параметрів telnet відповідають " +"визначенням у ``arpa/telnet.h``, з видаленим першим ``TELOPT_``. Щоб " +"отримати символічні назви параметрів, які традиційно не входять до ``arpa/" +"telnet.h``, дивіться сам вихідний код модуля." + +msgid "" +"The symbolic constants for the telnet commands are: IAC, DONT, DO, WONT, " +"WILL, SE (Subnegotiation End), NOP (No Operation), DM (Data Mark), BRK " +"(Break), IP (Interrupt process), AO (Abort output), AYT (Are You There), EC " +"(Erase Character), EL (Erase Line), GA (Go Ahead), SB (Subnegotiation Begin)." +msgstr "" +"Символьними константами для команд telnet є: IAC, DONT, DO, WONT, WILL, SE " +"(завершення підузгодження), NOP (без операції), DM (марка даних), BRK " +"(перерва), IP (переривання процесу), AO ( Перервати виведення), AYT (Ви " +"там), EC (Стерти символ), EL (Стерти рядок), GA (Продовжити), SB (Початок " +"субузгодження)." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +":class:`Telnet` represents a connection to a Telnet server. The instance is " +"initially not connected by default; the :meth:`~Telnet.open` method must be " +"used to establish a connection. Alternatively, the host name and optional " +"port number can be passed to the constructor too, in which case the " +"connection to the server will be established before the constructor " +"returns. The optional *timeout* parameter specifies a timeout in seconds " +"for blocking operations like the connection attempt (if not specified, the " +"global default timeout setting will be used)." +msgstr "" +":class:`Telnet` представляє підключення до сервера Telnet. Примірник " +"спочатку не підключений за замовчуванням; метод :meth:`~Telnet.open` " +"необхідно використовувати для встановлення з’єднання. Крім того, ім’я хоста " +"та необов’язковий номер порту також можна передати конструктору, і в цьому " +"випадку з’єднання з сервером буде встановлено до повернення конструктора. " +"Необов’язковий параметр *timeout* визначає час очікування в секундах для " +"блокування таких операцій, як спроба підключення (якщо не вказано, буде " +"використано глобальне налаштування часу очікування за умовчанням)." + +msgid "Do not reopen an already connected instance." +msgstr "Не відкривайте повторно вже підключений екземпляр." + +msgid "" +"This class has many :meth:`read_\\*` methods. Note that some of them " +"raise :exc:`EOFError` when the end of the connection is read, because they " +"can return an empty string for other reasons. See the individual " +"descriptions below." +msgstr "" +"Цей клас має багато методів :meth:`read_\\*`. Зауважте, що деякі з них " +"викликають :exc:`EOFError`, коли читається кінець з’єднання, оскільки вони " +"можуть повертати порожній рядок з інших причин. Перегляньте окремі описи " +"нижче." + +msgid "" +"A :class:`Telnet` object is a context manager and can be used in a :keyword:" +"`with` statement. When the :keyword:`!with` block ends, the :meth:`close` " +"method is called::" +msgstr "" +"Об’єкт :class:`Telnet` є менеджером контексту і може використовуватися в " +"операторі :keyword:`with`. Коли блок :keyword:`!with` завершується, " +"викликається метод :meth:`close`::" + +msgid "Context manager support added" +msgstr "Додано підтримку менеджера контексту" + +msgid ":rfc:`854` - Telnet Protocol Specification" +msgstr ":rfc:`854` - Специфікація протоколу Telnet" + +msgid "Definition of the Telnet protocol." +msgstr "Визначення протоколу Telnet." + +msgid "Telnet Objects" +msgstr "Об'єкти Telnet" + +msgid ":class:`Telnet` instances have the following methods:" +msgstr "Екземпляри :class:`Telnet` мають такі методи:" + +msgid "" +"Read until a given byte string, *expected*, is encountered or until " +"*timeout* seconds have passed." +msgstr "" +"Читати, доки не буде знайдено заданий рядок байтів, *очікуваний*, або доки " +"не мине *тайм-аут* секунд." + +msgid "" +"When no match is found, return whatever is available instead, possibly empty " +"bytes. Raise :exc:`EOFError` if the connection is closed and no cooked data " +"is available." +msgstr "" +"Якщо збігів не знайдено, поверніть усе, що є, натомість, можливо, порожні " +"байти. Викликайте :exc:`EOFError`, якщо з’єднання закрито і немає готових " +"даних." + +msgid "Read all data until EOF as bytes; block until connection closed." +msgstr "" +"Читати всі дані до EOF як байти; блокувати, доки з'єднання не буде закрито." + +msgid "" +"Read at least one byte of cooked data unless EOF is hit. Return ``b''`` if " +"EOF is hit. Block if no data is immediately available." +msgstr "" +"Зчитувати принаймні один байт готових даних, якщо EOF не влучено. Повертає " +"``b''``, якщо EOF досягнуто. Блокувати, якщо дані не доступні відразу." + +msgid "Read everything that can be without blocking in I/O (eager)." +msgstr "Читати все, що можна без блокування в I/O (охоче)." + +msgid "" +"Raise :exc:`EOFError` if connection closed and no cooked data available. " +"Return ``b''`` if no cooked data available otherwise. Do not block unless in " +"the midst of an IAC sequence." +msgstr "" +"Викликати :exc:`EOFError`, якщо з’єднання закрито і немає готових даних. " +"Повертає ``b''``, якщо в іншому випадку готові дані недоступні. Не блокуйте, " +"якщо це не в середині послідовності IAC." + +msgid "Read readily available data." +msgstr "Прочитайте доступні дані." + +msgid "Process and return data already in the queues (lazy)." +msgstr "Обробляти та повертати дані вже в чергах (лінь)." + +msgid "" +"Raise :exc:`EOFError` if connection closed and no data available. Return " +"``b''`` if no cooked data available otherwise. Do not block unless in the " +"midst of an IAC sequence." +msgstr "" +"Викликати :exc:`EOFError`, якщо з’єднання закрито і дані відсутні. Повертає " +"``b''``, якщо в іншому випадку готові дані недоступні. Не блокуйте, якщо це " +"не в середині послідовності IAC." + +msgid "Return any data available in the cooked queue (very lazy)." +msgstr "Повернути будь-які дані, доступні в вареній черзі (дуже лінь)." + +msgid "" +"Raise :exc:`EOFError` if connection closed and no data available. Return " +"``b''`` if no cooked data available otherwise. This method never blocks." +msgstr "" +"Викликати :exc:`EOFError`, якщо з’єднання закрито і дані відсутні. Повертає " +"``b''``, якщо в іншому випадку готові дані недоступні. Цей метод ніколи не " +"блокується." + +msgid "" +"Return the data collected between a SB/SE pair (suboption begin/end). The " +"callback should access these data when it was invoked with a ``SE`` command. " +"This method never blocks." +msgstr "" +"Повертає дані, зібрані між парою SB/SE (підпараметр початок/кінець). " +"Зворотний виклик має отримати доступ до цих даних, коли його було викликано " +"командою ``SE``. Цей метод ніколи не блокується." + +msgid "" +"Connect to a host. The optional second argument is the port number, which " +"defaults to the standard Telnet port (23). The optional *timeout* parameter " +"specifies a timeout in seconds for blocking operations like the connection " +"attempt (if not specified, the global default timeout setting will be used)." +msgstr "" +"Підключіться до хосту. Необов’язковим другим аргументом є номер порту, який " +"за замовчуванням є стандартним портом Telnet (23). Необов’язковий параметр " +"*timeout* визначає час очікування в секундах для блокування таких операцій, " +"як спроба підключення (якщо не вказано, буде використано глобальне " +"налаштування часу очікування за умовчанням)." + +msgid "Do not try to reopen an already connected instance." +msgstr "Не намагайтеся повторно відкрити вже підключений екземпляр." + +msgid "" +"Raises an :ref:`auditing event ` ``telnetlib.Telnet.open`` with " +"arguments ``self``, ``host``, ``port``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``telnetlib.Telnet.open`` з " +"аргументами ``self``, ``host``, ``port``." + +msgid "" +"Print a debug message when the debug level is ``>`` 0. If extra arguments " +"are present, they are substituted in the message using the standard string " +"formatting operator." +msgstr "" +"Друкувати повідомлення налагодження, коли рівень налагодження ``>`` 0. Якщо " +"присутні додаткові аргументи, вони замінюються в повідомленні за допомогою " +"стандартного оператора форматування рядка." + +msgid "" +"Set the debug level. The higher the value of *debuglevel*, the more debug " +"output you get (on ``sys.stdout``)." +msgstr "" +"Встановіть рівень налагодження. Чим вище значення *debuglevel*, тим більше " +"результатів налагодження ви отримаєте (на ``sys.stdout``)." + +msgid "Close the connection." +msgstr "Закрийте з'єднання." + +msgid "Return the socket object used internally." +msgstr "Повернути об’єкт сокета, який використовується внутрішньо." + +msgid "Return the file descriptor of the socket object used internally." +msgstr "" +"Повертає дескриптор файлу об'єкта сокета, який використовується внутрішньо." + +msgid "" +"Write a byte string to the socket, doubling any IAC characters. This can " +"block if the connection is blocked. May raise :exc:`OSError` if the " +"connection is closed." +msgstr "" +"Запишіть рядок байтів у сокет, подвоюючи будь-які символи IAC. Це може " +"заблокувати, якщо з’єднання заблоковано. Може викликати :exc:`OSError`, якщо " +"з’єднання закрито." + +msgid "" +"Raises an :ref:`auditing event ` ``telnetlib.Telnet.write`` with " +"arguments ``self``, ``buffer``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``telnetlib.Telnet.write`` з " +"аргументами ``self``, ``buffer``." + +msgid "" +"This method used to raise :exc:`socket.error`, which is now an alias of :exc:" +"`OSError`." +msgstr "" +"Цей метод використовувався для виклику :exc:`socket.error`, який тепер є " +"псевдонімом :exc:`OSError`." + +msgid "Interaction function, emulates a very dumb Telnet client." +msgstr "Функція взаємодії, емулює дуже дурний клієнт Telnet." + +msgid "Multithreaded version of :meth:`interact`." +msgstr "Багатопотокова версія :meth:`interact`." + +msgid "Read until one from a list of a regular expressions matches." +msgstr "Читайте, доки не знайдеться один зі списку регулярних виразів." + +msgid "" +"The first argument is a list of regular expressions, either compiled (:ref:" +"`regex objects `) or uncompiled (byte strings). The optional " +"second argument is a timeout, in seconds; the default is to block " +"indefinitely." +msgstr "" +"Перший аргумент — це список регулярних виразів, скомпільованих (:ref:`regex-" +"об’єкти `) або нескомпільованих (байтові рядки). Необов’язковим " +"другим аргументом є час очікування в секундах; за замовчуванням блокується " +"на невизначений термін." + +msgid "" +"Return a tuple of three items: the index in the list of the first regular " +"expression that matches; the match object returned; and the bytes read up " +"till and including the match." +msgstr "" +"Повертає кортеж із трьох елементів: індекс у списку першого регулярного " +"виразу, який відповідає; повернутий об'єкт відповідності; і байти читаються " +"до збігу включно." + +msgid "" +"If end of file is found and no bytes were read, raise :exc:`EOFError`. " +"Otherwise, when nothing matches, return ``(-1, None, data)`` where *data* is " +"the bytes received so far (may be empty bytes if a timeout happened)." +msgstr "" +"Якщо кінець файлу знайдено, а байти не було прочитано, підніміть :exc:" +"`EOFError`. Інакше, якщо нічого не збігається, повертається ``(-1, None, " +"data)``, де *data* — отримані на даний момент байти (можуть бути порожніми " +"байтами, якщо стався тайм-аут)." + +msgid "" +"If a regular expression ends with a greedy match (such as ``.*``) or if more " +"than one expression can match the same input, the results are non-" +"deterministic, and may depend on the I/O timing." +msgstr "" +"Якщо регулярний вираз закінчується жадібним збігом (наприклад, ``.*``) або " +"якщо кілька виразів можуть відповідати одному вводу, результати не є " +"детермінованими та можуть залежати від часу введення-виведення." + +msgid "" +"Each time a telnet option is read on the input flow, this *callback* (if " +"set) is called with the following parameters: callback(telnet socket, " +"command (DO/DONT/WILL/WONT), option). No other action is done afterwards by " +"telnetlib." +msgstr "" +"Щоразу, коли параметр telnet зчитується у вхідному потоці, цей *callback* " +"(якщо встановлено) викликається з такими параметрами: callback(telnet " +"socket, command (DO/DONT/WILL/WONT), option). Після цього telnetlib не " +"виконує жодних інших дій." + +msgid "Telnet Example" +msgstr "Приклад Telnet" + +msgid "A simple example illustrating typical use::" +msgstr "Простий приклад, що ілюструє типове використання:" diff --git a/library/tempfile.po b/library/tempfile.po new file mode 100644 index 000000000..4bdc3e096 --- /dev/null +++ b/library/tempfile.po @@ -0,0 +1,579 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tempfile` --- Generate temporary files and directories" +msgstr ":mod:`tempfile` --- Створення тимчасових файлів і каталогів" + +msgid "**Source code:** :source:`Lib/tempfile.py`" +msgstr "**Вихідний код:** :source:`Lib/tempfile.py`" + +msgid "" +"This module creates temporary files and directories. It works on all " +"supported platforms. :class:`TemporaryFile`, :class:`NamedTemporaryFile`, :" +"class:`TemporaryDirectory`, and :class:`SpooledTemporaryFile` are high-level " +"interfaces which provide automatic cleanup and can be used as context " +"managers. :func:`mkstemp` and :func:`mkdtemp` are lower-level functions " +"which require manual cleanup." +msgstr "" +"Цей модуль створює тимчасові файли та каталоги. Він працює на всіх " +"підтримуваних платформах. :class:`TemporaryFile`, :class:" +"`NamedTemporaryFile`, :class:`TemporaryDirectory` і :class:" +"`SpooledTemporaryFile` є інтерфейсами високого рівня, які забезпечують " +"автоматичне очищення та можуть використовуватися як контекстні менеджери. :" +"func:`mkstemp` і :func:`mkdtemp` є функціями нижчого рівня, які потребують " +"ручного очищення." + +msgid "" +"All the user-callable functions and constructors take additional arguments " +"which allow direct control over the location and name of temporary files and " +"directories. Files names used by this module include a string of random " +"characters which allows those files to be securely created in shared " +"temporary directories. To maintain backward compatibility, the argument " +"order is somewhat odd; it is recommended to use keyword arguments for " +"clarity." +msgstr "" +"Усі функції та конструктори, що викликаються користувачем, приймають " +"додаткові аргументи, які дозволяють безпосередньо контролювати розташування " +"та назву тимчасових файлів і каталогів. Імена файлів, які використовує цей " +"модуль, включають рядок випадкових символів, що дозволяє безпечно створювати " +"ці файли в спільних тимчасових каталогах. Щоб зберегти зворотну сумісність, " +"порядок аргументів дещо дивний; для ясності рекомендується використовувати " +"ключові аргументи." + +msgid "The module defines the following user-callable items:" +msgstr "Модуль визначає наступні елементи, викликані користувачем:" + +msgid "" +"Return a :term:`file-like object` that can be used as a temporary storage " +"area. The file is created securely, using the same rules as :func:`mkstemp`. " +"It will be destroyed as soon as it is closed (including an implicit close " +"when the object is garbage collected). Under Unix, the directory entry for " +"the file is either not created at all or is removed immediately after the " +"file is created. Other platforms do not support this; your code should not " +"rely on a temporary file created using this function having or not having a " +"visible name in the file system." +msgstr "" +"Повертає :term:`file-like object`, який можна використовувати як тимчасову " +"область зберігання. Файл створюється безпечно за тими ж правилами, що й :" +"func:`mkstemp`. Його буде знищено, як тільки його закриють (включно з " +"неявним закриттям, коли об’єкт збирають сміття). В Unix запис каталогу для " +"файлу або не створюється взагалі, або видаляється одразу після створення " +"файлу. Інші платформи не підтримують це; ваш код не повинен покладатися на " +"тимчасовий файл, створений за допомогою цієї функції, який має або не має " +"видимого імені у файловій системі." + +msgid "" +"The resulting object can be used as a context manager (see :ref:`tempfile-" +"examples`). On completion of the context or destruction of the file object " +"the temporary file will be removed from the filesystem." +msgstr "" +"Отриманий об’єкт можна використовувати як менеджер контексту (див. :ref:" +"`tempfile-examples`). Після завершення створення контексту або знищення " +"файлового об’єкта тимчасовий файл буде видалено з файлової системи." + +msgid "" +"The *mode* parameter defaults to ``'w+b'`` so that the file created can be " +"read and written without being closed. Binary mode is used so that it " +"behaves consistently on all platforms without regard for the data that is " +"stored. *buffering*, *encoding*, *errors* and *newline* are interpreted as " +"for :func:`open`." +msgstr "" +"Параметр *mode* за умовчанням має значення ``'w+b'``, щоб створений файл " +"можна було читати та записувати без закриття. Двійковий режим " +"використовується для того, щоб він працював узгоджено на всіх платформах, " +"незалежно від даних, які зберігаються. *буферизація*, *кодування*, *помилки* " +"та *новий рядок* інтерпретуються як для :func:`open`." + +msgid "" +"The *dir*, *prefix* and *suffix* parameters have the same meaning and " +"defaults as with :func:`mkstemp`." +msgstr "" +"Параметри *dir*, *prefix* і *suffix* мають те саме значення та значення за " +"замовчуванням, що й :func:`mkstemp`." + +msgid "" +"The returned object is a true file object on POSIX platforms. On other " +"platforms, it is a file-like object whose :attr:`!file` attribute is the " +"underlying true file object." +msgstr "" +"Повернений об’єкт є справжнім файловим об’єктом на платформах POSIX. На " +"інших платформах це файлоподібний об’єкт, чий атрибут :attr:`!file` є " +"справжнім файловим об’єктом." + +msgid "" +"The :py:data:`os.O_TMPFILE` flag is used if it is available and works (Linux-" +"specific, requires Linux kernel 3.11 or later)." +msgstr "" +"Прапор :py:data:`os.O_TMPFILE` використовується, якщо він доступний і працює " +"(для Linux, потрібне ядро Linux 3.11 або новішої версії)." + +msgid "" +"On platforms that are neither Posix nor Cygwin, TemporaryFile is an alias " +"for NamedTemporaryFile." +msgstr "" +"На платформах, які не є ні Posix, ні Cygwin, TemporaryFile є псевдонімом для " +"NamedTemporaryFile." + +msgid "" +"Raises an :ref:`auditing event ` ``tempfile.mkstemp`` with " +"argument ``fullpath``." +msgstr "" +"Викликає :ref:`подію перевірки ` ``tempfile.mkstemp`` з аргументом " +"``fullpath``." + +msgid "The :py:data:`os.O_TMPFILE` flag is now used if available." +msgstr "" +"Тепер використовується прапорець :py:data:`os.O_TMPFILE`, якщо він доступний." + +msgid "Added *errors* parameter." +msgstr "Додано параметр *помилки*." + +msgid "" +"This function operates exactly as :func:`TemporaryFile` does, except that " +"the file is guaranteed to have a visible name in the file system (on Unix, " +"the directory entry is not unlinked). That name can be retrieved from the :" +"attr:`name` attribute of the returned file-like object. Whether the name " +"can be used to open the file a second time, while the named temporary file " +"is still open, varies across platforms (it can be so used on Unix; it cannot " +"on Windows). If *delete* is true (the default), the file is deleted as soon " +"as it is closed. The returned object is always a file-like object whose :" +"attr:`!file` attribute is the underlying true file object. This file-like " +"object can be used in a :keyword:`with` statement, just like a normal file." +msgstr "" +"Ця функція працює точно так само, як :func:`TemporaryFile`, за винятком " +"того, що файл гарантовано матиме видиме ім’я у файловій системі (в Unix " +"запис каталогу не від’єднується). Цю назву можна отримати з атрибута :attr:" +"`name` повернутого файлоподібного об’єкта. Чи можна використати це ім’я для " +"повторного відкриття файлу, коли названий тимчасовий файл все ще відкритий, " +"залежить від платформи (воно може використовуватися в Unix; воно не може " +"використовуватися в Windows). Якщо *delete* має значення true (за " +"замовчуванням), файл видаляється, щойно його закривають. Повернений об’єкт " +"завжди є файлоподібним об’єктом, чий атрибут :attr:`!file` є справжнім " +"файловим об’єктом, що лежить в основі. Цей файлоподібний об’єкт можна " +"використовувати в операторі :keyword:`with`, як і звичайний файл." + +msgid "" +"On POSIX (only), a process that is terminated abruptly with SIGKILL cannot " +"automatically delete any NamedTemporaryFiles it created." +msgstr "" + +msgid "" +"This class operates exactly as :func:`TemporaryFile` does, except that data " +"is spooled in memory until the file size exceeds *max_size*, or until the " +"file's :func:`fileno` method is called, at which point the contents are " +"written to disk and operation proceeds as with :func:`TemporaryFile`." +msgstr "" +"Цей клас працює точно так само, як і :func:`TemporaryFile`, за винятком " +"того, що дані буферизуються в пам’яті, доки розмір файлу не перевищить " +"*max_size*, або поки не буде викликано метод :func:`fileno` файлу, після " +"чого записується вміст на диск і робота продовжується як із :func:" +"`TemporaryFile`." + +msgid "" +"The resulting file has one additional method, :func:`rollover`, which causes " +"the file to roll over to an on-disk file regardless of its size." +msgstr "" +"Отриманий файл має один додатковий метод, :func:`rollover`, який змушує файл " +"перейти до файлу на диску незалежно від його розміру." + +msgid "" +"The returned object is a file-like object whose :attr:`_file` attribute is " +"either an :class:`io.BytesIO` or :class:`io.TextIOWrapper` object (depending " +"on whether binary or text *mode* was specified) or a true file object, " +"depending on whether :func:`rollover` has been called. This file-like " +"object can be used in a :keyword:`with` statement, just like a normal file." +msgstr "" +"Повернений об’єкт є файлоподібним об’єктом, чий атрибут :attr:`_file` є " +"об’єктом :class:`io.BytesIO` або :class:`io.TextIOWrapper` (залежно від " +"того, двійковий або текстовий *режим* було зазначено ) або справжній " +"файловий об’єкт, залежно від того, чи було викликано :func:`rollover`. Цей " +"файлоподібний об’єкт можна використовувати в операторі :keyword:`with`, як і " +"звичайний файл." + +msgid "the truncate method now accepts a ``size`` argument." +msgstr "метод truncate тепер приймає аргумент ``size``." + +msgid "" +"Fully implements the :class:`io.BufferedIOBase` and :class:`io.TextIOBase` " +"abstract base classes (depending on whether binary or text *mode* was " +"specified)." +msgstr "" + +msgid "" +"This class securely creates a temporary directory using the same rules as :" +"func:`mkdtemp`. The resulting object can be used as a context manager (see :" +"ref:`tempfile-examples`). On completion of the context or destruction of " +"the temporary directory object, the newly created temporary directory and " +"all its contents are removed from the filesystem." +msgstr "" +"Цей клас безпечно створює тимчасовий каталог, використовуючи ті самі " +"правила, що й :func:`mkdtemp`. Отриманий об’єкт можна використовувати як " +"менеджер контексту (див. :ref:`tempfile-examples`). Після завершення " +"створення контексту або знищення об’єкта тимчасового каталогу новостворений " +"тимчасовий каталог і весь його вміст видаляються з файлової системи." + +msgid "" +"The directory name can be retrieved from the :attr:`name` attribute of the " +"returned object. When the returned object is used as a context manager, " +"the :attr:`name` will be assigned to the target of the :keyword:`!as` clause " +"in the :keyword:`with` statement, if there is one." +msgstr "" +"Ім’я каталогу можна отримати з атрибута :attr:`name` повернутого об’єкта. " +"Коли повернутий об’єкт використовується як менеджер контексту, :attr:`name` " +"буде призначено цільовому об’єкту :keyword:`!as` в операторі :keyword:" +"`with`, якщо він є." + +msgid "" +"The directory can be explicitly cleaned up by calling the :func:`cleanup` " +"method. If *ignore_cleanup_errors* is true, any unhandled exceptions during " +"explicit or implicit cleanup (such as a :exc:`PermissionError` removing open " +"files on Windows) will be ignored, and the remaining removable items deleted " +"on a \"best-effort\" basis. Otherwise, errors will be raised in whatever " +"context cleanup occurs (the :func:`cleanup` call, exiting the context " +"manager, when the object is garbage-collected or during interpreter " +"shutdown)." +msgstr "" +"Каталог можна явно очистити, викликавши метод :func:`cleanup`. Якщо " +"*ignore_cleanup_errors* має значення true, будь-які необроблені винятки під " +"час явного чи неявного очищення (такі як :exc:`PermissionError`, що видаляє " +"відкриті файли в Windows) ігноруватимуться, а решта знімних елементів " +"видалятиметься за принципом \"найкращих зусиль\". Інакше під час будь-якого " +"очищення контексту (виклик :func:`cleanup`, вихід із контекстного менеджера, " +"коли об’єкт збирається сміття або під час вимкнення інтерпретатора) " +"виникатимуть помилки." + +msgid "" +"Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with " +"argument ``fullpath``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``tempfile.mkdtemp`` з аргументом " +"``fullpath``." + +msgid "Added *ignore_cleanup_errors* parameter." +msgstr "Додано параметр *ignore_cleanup_errors*." + +msgid "" +"Creates a temporary file in the most secure manner possible. There are no " +"race conditions in the file's creation, assuming that the platform properly " +"implements the :const:`os.O_EXCL` flag for :func:`os.open`. The file is " +"readable and writable only by the creating user ID. If the platform uses " +"permission bits to indicate whether a file is executable, the file is " +"executable by no one. The file descriptor is not inherited by child " +"processes." +msgstr "" +"Створює тимчасовий файл у максимально безпечний спосіб. Під час створення " +"файлу немає умов змагання, припускаючи, що платформа правильно реалізує " +"прапор :const:`os.O_EXCL` для :func:`os.open`. Файл доступний для читання та " +"запису лише ідентифікатором користувача, який його створив. Якщо платформа " +"використовує біти дозволу, щоб вказати, чи є файл виконуваним, цей файл " +"ніким не виконуваний. Файловий дескриптор не успадковується дочірніми " +"процесами." + +msgid "" +"Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for " +"deleting the temporary file when done with it." +msgstr "" +"На відміну від :func:`TemporaryFile`, користувач :func:`mkstemp` несе " +"відповідальність за видалення тимчасового файлу після завершення роботи з " +"ним." + +msgid "" +"If *suffix* is not ``None``, the file name will end with that suffix, " +"otherwise there will be no suffix. :func:`mkstemp` does not put a dot " +"between the file name and the suffix; if you need one, put it at the " +"beginning of *suffix*." +msgstr "" +"Якщо *суфікс* не ``None``, назва файлу закінчуватиметься цим суфіксом, " +"інакше суфікса не буде. :func:`mkstemp` не ставить крапку між назвою файлу " +"та суфіксом; якщо він вам потрібен, поставте його на початку *суфікса*." + +msgid "" +"If *prefix* is not ``None``, the file name will begin with that prefix; " +"otherwise, a default prefix is used. The default is the return value of :" +"func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." +msgstr "" +"Якщо *префікс* не є ``None``, ім'я файлу починатиметься з цього префікса; " +"інакше використовується префікс за умовчанням. За замовчуванням повертається " +"значення :func:`gettempprefix` або :func:`gettempprefixb`, відповідно." + +msgid "" +"If *dir* is not ``None``, the file will be created in that directory; " +"otherwise, a default directory is used. The default directory is chosen " +"from a platform-dependent list, but the user of the application can control " +"the directory location by setting the *TMPDIR*, *TEMP* or *TMP* environment " +"variables. There is thus no guarantee that the generated filename will have " +"any nice properties, such as not requiring quoting when passed to external " +"commands via ``os.popen()``." +msgstr "" +"Якщо *dir* не ``None``, файл буде створено в цьому каталозі; інакше " +"використовується каталог за замовчуванням. Каталог за замовчуванням " +"вибирається зі списку, що залежить від платформи, але користувач програми " +"може керувати розташуванням каталогу, установивши змінні середовища " +"*TMPDIR*, *TEMP* або *TMP*. Таким чином, немає жодної гарантії, що " +"згенероване ім’я файлу матиме якісь приємні властивості, наприклад, не " +"вимагатиме цитування під час передачі зовнішнім командам через ``os." +"popen()``." + +msgid "" +"If any of *suffix*, *prefix*, and *dir* are not ``None``, they must be the " +"same type. If they are bytes, the returned name will be bytes instead of " +"str. If you want to force a bytes return value with otherwise default " +"behavior, pass ``suffix=b''``." +msgstr "" +"Якщо будь-які з *суфікса*, *префікса* та *dir* не є ``None``, вони мають " +"бути одного типу. Якщо це байти, повернена назва буде байтами замість str. " +"Якщо ви хочете примусово повернути значення байтів із поведінкою за " +"замовчуванням, передайте ``suffix=b''``." + +msgid "" +"If *text* is specified and true, the file is opened in text mode. Otherwise, " +"(the default) the file is opened in binary mode." +msgstr "" +"Якщо вказано *текст* і встановлено значення true, файл відкривається в " +"текстовому режимі. В іншому випадку (за замовчуванням) файл відкривається у " +"двійковому режимі." + +msgid "" +":func:`mkstemp` returns a tuple containing an OS-level handle to an open " +"file (as would be returned by :func:`os.open`) and the absolute pathname of " +"that file, in that order." +msgstr "" +":func:`mkstemp` повертає кортеж, що містить дескриптор рівня ОС до " +"відкритого файлу (як би повернув :func:`os.open`) і абсолютний шлях до цього " +"файлу в такому порядку." + +msgid "" +"*suffix*, *prefix*, and *dir* may now be supplied in bytes in order to " +"obtain a bytes return value. Prior to this, only str was allowed. *suffix* " +"and *prefix* now accept and default to ``None`` to cause an appropriate " +"default value to be used." +msgstr "" +"*suffix*, *prefix* і *dir* тепер можна вказувати в байтах, щоб отримати " +"значення, що повертається. До цього дозволявся лише str. *Суфікс* і " +"*префікс* тепер приймаються та за замовчуванням ``None``, щоб " +"використовувати відповідне значення за замовчуванням." + +msgid "The *dir* parameter now accepts a :term:`path-like object`." +msgstr "Параметр *dir* тепер приймає :term:`path-like object`." + +msgid "" +"Creates a temporary directory in the most secure manner possible. There are " +"no race conditions in the directory's creation. The directory is readable, " +"writable, and searchable only by the creating user ID." +msgstr "" +"Створює тимчасовий каталог у найбезпечніший спосіб. У створенні каталогу " +"немає умов гонки. Каталог доступний для читання, запису та пошуку лише за " +"ідентифікатором користувача, який створює." + +msgid "" +"The user of :func:`mkdtemp` is responsible for deleting the temporary " +"directory and its contents when done with it." +msgstr "" +"Користувач :func:`mkdtemp` несе відповідальність за видалення тимчасового " +"каталогу та його вмісту після завершення роботи з ним." + +msgid "" +"The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" +"`mkstemp`." +msgstr "" +"Аргументи *prefix*, *suffix* і *dir* такі самі, як і для :func:`mkstemp`." + +msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." +msgstr ":func:`mkdtemp` повертає абсолютний шлях до нового каталогу." + +msgid "" +"Return the name of the directory used for temporary files. This defines the " +"default value for the *dir* argument to all functions in this module." +msgstr "" +"Повертає назву каталогу, який використовується для тимчасових файлів. Це " +"визначає значення за умовчанням для аргументу *dir* для всіх функцій у цьому " +"модулі." + +msgid "" +"Python searches a standard list of directories to find one which the calling " +"user can create files in. The list is:" +msgstr "" +"Python шукає стандартний список каталогів, щоб знайти той, у якому " +"користувач, що викликає, може створювати файли. Список такий:" + +msgid "The directory named by the :envvar:`TMPDIR` environment variable." +msgstr "Каталог, названий змінною середовища :envvar:`TMPDIR`." + +msgid "The directory named by the :envvar:`TEMP` environment variable." +msgstr "Каталог, назва якого змінна середовища :envvar:`TEMP`." + +msgid "The directory named by the :envvar:`TMP` environment variable." +msgstr "Каталог, названий змінною середовища :envvar:`TMP`." + +msgid "A platform-specific location:" +msgstr "Розташування на платформі:" + +msgid "" +"On Windows, the directories :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" +"\\TEMP`, and :file:`\\\\TMP`, in that order." +msgstr "" +"У Windows – каталоги :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\\\TEMP` " +"і :file:`\\\\TMP` у такому порядку." + +msgid "" +"On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" +"file:`/usr/tmp`, in that order." +msgstr "" +"На всіх інших платформах каталоги :file:`/tmp`, :file:`/var/tmp` і :file:`/" +"usr/tmp` у такому порядку." + +msgid "As a last resort, the current working directory." +msgstr "В крайньому випадку, поточний робочий каталог." + +msgid "" +"The result of this search is cached, see the description of :data:`tempdir` " +"below." +msgstr "" +"Результат цього пошуку зберігається в кеші, див. опис :data:`tempdir` нижче." + +msgid "" +"Always returns a str. Previously it would return any :data:`tempdir` value " +"regardless of type so long as it was not ``None``." +msgstr "" +"Завжди повертає str. Раніше він повертав будь-яке значення :data:`tempdir` " +"незалежно від типу, якщо воно не було ``None``." + +msgid "Same as :func:`gettempdir` but the return value is in bytes." +msgstr "Те саме, що :func:`gettempdir`, але повертається значення в байтах." + +msgid "" +"Return the filename prefix used to create temporary files. This does not " +"contain the directory component." +msgstr "" +"Повертає префікс імені файлу, який використовується для створення тимчасових " +"файлів. Це не містить компонент каталогу." + +msgid "Same as :func:`gettempprefix` but the return value is in bytes." +msgstr "Те саме, що :func:`gettempprefix`, але повертається значення в байтах." + +msgid "" +"The module uses a global variable to store the name of the directory used " +"for temporary files returned by :func:`gettempdir`. It can be set directly " +"to override the selection process, but this is discouraged. All functions in " +"this module take a *dir* argument which can be used to specify the " +"directory. This is the recommended approach that does not surprise other " +"unsuspecting code by changing global API behavior." +msgstr "" +"Модуль використовує глобальну змінну для зберігання назви каталогу, що " +"використовується для тимчасових файлів, які повертає :func:`gettempdir`. " +"Його можна налаштувати безпосередньо для перевизначення процесу вибору, але " +"це не рекомендується. Усі функції в цьому модулі приймають аргумент *dir*, " +"який можна використовувати для визначення каталогу. Це рекомендований " +"підхід, який не дивує інший нічого не підозрюючий код, змінюючи глобальну " +"поведінку API." + +msgid "" +"When set to a value other than ``None``, this variable defines the default " +"value for the *dir* argument to the functions defined in this module, " +"including its type, bytes or str. It cannot be a :term:`path-like object`." +msgstr "" +"Якщо встановлено значення, відмінне від ``None``, ця змінна визначає " +"значення за замовчуванням для аргументу *dir* для функцій, визначених у " +"цьому модулі, включаючи його тип, bytes або str. Це не може бути :term:`path-" +"like object`." + +msgid "" +"If ``tempdir`` is ``None`` (the default) at any call to any of the above " +"functions except :func:`gettempprefix` it is initialized following the " +"algorithm described in :func:`gettempdir`." +msgstr "" +"Якщо ``tempdir`` має значення ``None`` (за замовчуванням) під час будь-якого " +"виклику будь-якої з наведених вище функцій, крім :func:`gettempprefix`, вона " +"ініціалізується відповідно до алгоритму, описаного в :func:`gettempdir`." + +msgid "" +"Beware that if you set ``tempdir`` to a bytes value, there is a nasty side " +"effect: The global default return type of :func:`mkstemp` and :func:" +"`mkdtemp` changes to bytes when no explicit ``prefix``, ``suffix``, or " +"``dir`` arguments of type str are supplied. Please do not write code " +"expecting or depending on this. This awkward behavior is maintained for " +"compatibility with the historical implementation." +msgstr "" +"Пам’ятайте, що якщо ви встановите ``tempdir`` у значення байтів, виникне " +"неприємний побічний ефект: глобальний тип повернення за замовчуванням :func:" +"`mkstemp` і :func:`mkdtemp` змінюється на байти, якщо немає явного " +"``префікса ``, ``suffix`` або ``dir`` аргументи типу str. Будь ласка, не " +"пишіть код, очікуючи або залежно від цього. Ця незручна поведінка " +"зберігається для сумісності з історичною реалізацією." + +msgid "Examples" +msgstr "Приклади" + +msgid "Here are some examples of typical usage of the :mod:`tempfile` module::" +msgstr "Ось декілька прикладів типового використання модуля :mod:`tempfile`::" + +msgid "Deprecated functions and variables" +msgstr "Застарілі функції та змінні" + +msgid "" +"A historical way to create temporary files was to first generate a file name " +"with the :func:`mktemp` function and then create a file using this name. " +"Unfortunately this is not secure, because a different process may create a " +"file with this name in the time between the call to :func:`mktemp` and the " +"subsequent attempt to create the file by the first process. The solution is " +"to combine the two steps and create the file immediately. This approach is " +"used by :func:`mkstemp` and the other functions described above." +msgstr "" +"Історичний спосіб створення тимчасових файлів полягав у тому, щоб спочатку " +"створити ім’я файлу за допомогою функції :func:`mktemp`, а потім створити " +"файл із цим ім’ям. На жаль, це небезпечно, оскільки інший процес може " +"створити файл із таким ім’ям у час між викликом :func:`mktemp` і наступною " +"спробою створити файл першим процесом. Рішення полягає в тому, щоб поєднати " +"два кроки та негайно створити файл. Цей підхід використовується :func:" +"`mkstemp` та іншими функціями, описаними вище." + +msgid "Use :func:`mkstemp` instead." +msgstr "Натомість використовуйте :func:`mkstemp`." + +msgid "" +"Return an absolute pathname of a file that did not exist at the time the " +"call is made. The *prefix*, *suffix*, and *dir* arguments are similar to " +"those of :func:`mkstemp`, except that bytes file names, ``suffix=None`` and " +"``prefix=None`` are not supported." +msgstr "" +"Повертає абсолютний шлях до файлу, який не існував на момент виклику. " +"Аргументи *prefix*, *suffix* і *dir* подібні до аргументів :func:`mkstemp`, " +"за винятком того, що байтові імена файлів, ``suffix=None`` і ``prefix=None`` " +"не підтримуються ." + +msgid "" +"Use of this function may introduce a security hole in your program. By the " +"time you get around to doing anything with the file name it returns, someone " +"else may have beaten you to the punch. :func:`mktemp` usage can be replaced " +"easily with :func:`NamedTemporaryFile`, passing it the ``delete=False`` " +"parameter::" +msgstr "" +"Використання цієї функції може створити дірку в безпеці вашої програми. До " +"того часу, коли ви встигнете щось зробити з іменем файлу, яке він повертає, " +"хтось інший може обігнати вас. Використання :func:`mktemp` можна легко " +"замінити на :func:`NamedTemporaryFile`, передавши йому параметр " +"``delete=False``::" diff --git a/library/termios.po b/library/termios.po new file mode 100644 index 000000000..f42111a6a --- /dev/null +++ b/library/termios.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`termios` --- POSIX style tty control" +msgstr ":mod:`termios` --- елемент управління tty у стилі POSIX" + +msgid "" +"This module provides an interface to the POSIX calls for tty I/O control. " +"For a complete description of these calls, see :manpage:`termios(3)` Unix " +"manual page. It is only available for those Unix versions that support " +"POSIX *termios* style tty I/O control configured during installation." +msgstr "" +"Цей модуль надає інтерфейс для викликів POSIX для керування tty I/O. Щоб " +"отримати повний опис цих викликів, перегляньте :manpage:`termios(3)` " +"сторінку посібника Unix. Він доступний лише для тих версій Unix, які " +"підтримують POSIX *termios* стиль tty I/O control, налаштований під час " +"встановлення." + +msgid "" +"All functions in this module take a file descriptor *fd* as their first " +"argument. This can be an integer file descriptor, such as returned by ``sys." +"stdin.fileno()``, or a :term:`file object`, such as ``sys.stdin`` itself." +msgstr "" +"Усі функції в цьому модулі приймають файловий дескриптор *fd* як перший " +"аргумент. Це може бути цілочисельний дескриптор файлу, наприклад, повернутий " +"``sys.stdin.fileno()``, або :term:`file object`, наприклад ``sys.stdin``." + +msgid "" +"This module also defines all the constants needed to work with the functions " +"provided here; these have the same name as their counterparts in C. Please " +"refer to your system documentation for more information on using these " +"terminal control interfaces." +msgstr "" +"Цей модуль також визначає всі константи, необхідні для роботи з наданими тут " +"функціями; вони мають ті самі назви, що й відповідники на C. Будь ласка, " +"зверніться до системної документації, щоб дізнатися більше про використання " +"цих інтерфейсів керування терміналами." + +msgid "The module defines the following functions:" +msgstr "Модуль визначає такі функції:" + +msgid "" +"Return a list containing the tty attributes for file descriptor *fd*, as " +"follows: ``[iflag, oflag, cflag, lflag, ispeed, ospeed, cc]`` where *cc* is " +"a list of the tty special characters (each a string of length 1, except the " +"items with indices :const:`VMIN` and :const:`VTIME`, which are integers when " +"these fields are defined). The interpretation of the flags and the speeds " +"as well as the indexing in the *cc* array must be done using the symbolic " +"constants defined in the :mod:`termios` module." +msgstr "" +"Повертає список, що містить атрибути tty для файлового дескриптора *fd*, " +"таким чином: ``[iflag, oflag, cflag, lflag, ispeed, ospeed, cc]``, де *cc* — " +"це список спеціальних символів tty (кожен рядок довжиною 1, за винятком " +"елементів з індексами :const:`VMIN` і :const:`VTIME`, які є цілими числами, " +"коли ці поля визначені). Інтерпретація прапорів і швидкостей, а також " +"індексування в масиві *cc* мають виконуватися за допомогою символічних " +"констант, визначених у модулі :mod:`termios`." + +msgid "" +"Set the tty attributes for file descriptor *fd* from the *attributes*, which " +"is a list like the one returned by :func:`tcgetattr`. The *when* argument " +"determines when the attributes are changed: :const:`TCSANOW` to change " +"immediately, :const:`TCSADRAIN` to change after transmitting all queued " +"output, or :const:`TCSAFLUSH` to change after transmitting all queued output " +"and discarding all queued input." +msgstr "" +"Установіть атрибути tty для файлового дескриптора *fd* зі списку " +"*attributes*, який є списком, подібним до того, який повертає :func:" +"`tcgetattr`. Аргумент *when* визначає, коли змінюються атрибути: :const:" +"`TCSANOW` для негайної зміни, :const:`TCSADRAIN` для зміни після передачі " +"всього виводу в черзі або :const:`TCSAFLUSH` для зміни після передачі всього " +"виводу в черзі і відкидаючи всі введення в черзі." + +msgid "" +"Send a break on file descriptor *fd*. A zero *duration* sends a break for " +"0.25--0.5 seconds; a nonzero *duration* has a system dependent meaning." +msgstr "" +"Надіслати перерву на файловий дескриптор *fd*. Нульова *тривалість* посилає " +"перерву на 0,25--0,5 секунди; ненульова *тривалість* має системно-залежне " +"значення." + +msgid "" +"Wait until all output written to file descriptor *fd* has been transmitted." +msgstr "" +"Зачекайте, доки не буде передано весь вихід, записаний у файловий дескриптор " +"*fd*." + +msgid "" +"Discard queued data on file descriptor *fd*. The *queue* selector specifies " +"which queue: :const:`TCIFLUSH` for the input queue, :const:`TCOFLUSH` for " +"the output queue, or :const:`TCIOFLUSH` for both queues." +msgstr "" +"Відкинути дані з черги на файловий дескриптор *fd*. Селектор *queue* вказує, " +"яка черга: :const:`TCIFLUSH` для черги введення, :const:`TCOFLUSH` для черги " +"виведення або :const:`TCIOFLUSH` для обох черг." + +msgid "" +"Suspend or resume input or output on file descriptor *fd*. The *action* " +"argument can be :const:`TCOOFF` to suspend output, :const:`TCOON` to restart " +"output, :const:`TCIOFF` to suspend input, or :const:`TCION` to restart input." +msgstr "" +"Призупинити або відновити введення або виведення на файловий дескриптор " +"*fd*. Аргументом *action* може бути :const:`TCOOFF`, щоб призупинити " +"виведення, :const:`TCOON`, щоб перезапустити виведення, :const:`TCIOFF`, щоб " +"призупинити введення, або :const:`TCION`, щоб перезапустити введення." + +msgid "" +"Return a tuple ``(ws_row, ws_col)`` containing the tty window size for file " +"descriptor *fd*. Requires :const:`termios.TIOCGWINSZ` or :const:`termios." +"TIOCGSIZE`." +msgstr "" + +msgid "" +"Set the tty window size for file descriptor *fd* from *winsize*, which is a " +"two-item tuple ``(ws_row, ws_col)`` like the one returned by :func:" +"`tcgetwinsize`. Requires at least one of the pairs (:const:`termios." +"TIOCGWINSZ`, :const:`termios.TIOCSWINSZ`); (:const:`termios.TIOCGSIZE`, :" +"const:`termios.TIOCSSIZE`) to be defined." +msgstr "" + +msgid "Module :mod:`tty`" +msgstr "Модуль :mod:`tty`" + +msgid "Convenience functions for common terminal control operations." +msgstr "Функції зручності для звичайних операцій керування терміналом." + +msgid "Example" +msgstr "приклад" + +msgid "" +"Here's a function that prompts for a password with echoing turned off. Note " +"the technique using a separate :func:`tcgetattr` call and a :keyword:" +"`try` ... :keyword:`finally` statement to ensure that the old tty attributes " +"are restored exactly no matter what happens::" +msgstr "" +"Ось функція, яка запитує пароль із вимкненим відлунням. Зверніть увагу на " +"техніку використання окремого виклику :func:`tcgetattr` і оператора :keyword:" +"`try` ... :keyword:`finally`, щоб переконатися, що старі атрибути tty точно " +"відновлюються незалежно від того, що трапиться::" diff --git a/library/test.po b/library/test.po new file mode 100644 index 000000000..c3ba06be8 --- /dev/null +++ b/library/test.po @@ -0,0 +1,2060 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:14+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`test` --- Regression tests package for Python" +msgstr ":mod:`test` --- Пакет регресійних тестів для Python" + +msgid "" +"The :mod:`test` package is meant for internal use by Python only. It is " +"documented for the benefit of the core developers of Python. Any use of this " +"package outside of Python's standard library is discouraged as code " +"mentioned here can change or be removed without notice between releases of " +"Python." +msgstr "" +"Пакет :mod:`test` призначений лише для внутрішнього використання Python. Це " +"задокументовано на користь основних розробників Python. Будь-яке " +"використання цього пакета поза стандартною бібліотекою Python не " +"рекомендується, оскільки код, згаданий тут, може змінюватися або бути " +"видалений без попередження між випусками Python." + +msgid "" +"The :mod:`test` package contains all regression tests for Python as well as " +"the modules :mod:`test.support` and :mod:`test.regrtest`. :mod:`test." +"support` is used to enhance your tests while :mod:`test.regrtest` drives the " +"testing suite." +msgstr "" +"Пакет :mod:`test` містить усі регресійні тести для Python, а також модулі :" +"mod:`test.support` і :mod:`test.regrtest`. :mod:`test.support` " +"використовується для вдосконалення ваших тестів, а :mod:`test.regrtest` " +"керує набором тестів." + +msgid "" +"Each module in the :mod:`test` package whose name starts with ``test_`` is a " +"testing suite for a specific module or feature. All new tests should be " +"written using the :mod:`unittest` or :mod:`doctest` module. Some older " +"tests are written using a \"traditional\" testing style that compares output " +"printed to ``sys.stdout``; this style of test is considered deprecated." +msgstr "" +"Кожен модуль у пакеті :mod:`test`, назва якого починається з ``test_``, є " +"набором тестів для певного модуля або функції. Усі нові тести слід писати за " +"допомогою модуля :mod:`unittest` або :mod:`doctest`. Деякі старіші тести " +"написані з використанням \"традиційного\" стилю тестування, який порівнює " +"виведені дані з ``sys.stdout``; цей стиль тесту вважається застарілим." + +msgid "Module :mod:`unittest`" +msgstr "Модуль :mod:`unittest`" + +msgid "Writing PyUnit regression tests." +msgstr "Написання регресійних тестів PyUnit." + +msgid "Module :mod:`doctest`" +msgstr "Модуль :mod:`doctest`" + +msgid "Tests embedded in documentation strings." +msgstr "Тести, вбудовані в рядки документації." + +msgid "Writing Unit Tests for the :mod:`test` package" +msgstr "Написання модульних тестів для пакета :mod:`test`" + +msgid "" +"It is preferred that tests that use the :mod:`unittest` module follow a few " +"guidelines. One is to name the test module by starting it with ``test_`` and " +"end it with the name of the module being tested. The test methods in the " +"test module should start with ``test_`` and end with a description of what " +"the method is testing. This is needed so that the methods are recognized by " +"the test driver as test methods. Also, no documentation string for the " +"method should be included. A comment (such as ``# Tests function returns " +"only True or False``) should be used to provide documentation for test " +"methods. This is done because documentation strings get printed out if they " +"exist and thus what test is being run is not stated." +msgstr "" +"Бажано, щоб тести, які використовують модуль :mod:`unittest`, дотримувалися " +"кількох вказівок. Один із них – назвати тестовий модуль, починаючи його з " +"``test_`` і закінчуючи назвою модуля, що тестується. Методи тестування в " +"модулі тестування мають починатися з ``test_`` і закінчуватися описом того, " +"що метод тестує. Це потрібно для того, щоб методи розпізнавались тестовим " +"драйвером як методи тестування. Також не слід включати рядок документації " +"для методу. Коментар (наприклад, ``# Функція тестів повертає лише True або " +"False``) слід використовувати для надання документації щодо методів " +"тестування. Це робиться тому, що рядки документації роздруковуються, якщо " +"вони існують, і тому не вказується, який тест виконується." + +msgid "A basic boilerplate is often used::" +msgstr "Часто використовується базовий шаблон:" + +msgid "" +"This code pattern allows the testing suite to be run by :mod:`test." +"regrtest`, on its own as a script that supports the :mod:`unittest` CLI, or " +"via the ``python -m unittest`` CLI." +msgstr "" +"Цей шаблон коду дозволяє запускати набір тестів за допомогою :mod:`test." +"regrtest` окремо як сценарій, який підтримує :mod:`unittest` CLI, або через " +"``python -m unittest`` CLI." + +msgid "" +"The goal for regression testing is to try to break code. This leads to a few " +"guidelines to be followed:" +msgstr "" +"Мета регресійного тестування — спробувати зламати код. Це призводить до " +"кількох вказівок, яких слід дотримуватися:" + +msgid "" +"The testing suite should exercise all classes, functions, and constants. " +"This includes not just the external API that is to be presented to the " +"outside world but also \"private\" code." +msgstr "" +"Набір для тестування повинен використовувати всі класи, функції та " +"константи. Це включає не лише зовнішній API, який має бути представлений " +"зовнішньому світу, а й \"приватний\" код." + +msgid "" +"Whitebox testing (examining the code being tested when the tests are being " +"written) is preferred. Blackbox testing (testing only the published user " +"interface) is not complete enough to make sure all boundary and edge cases " +"are tested." +msgstr "" +"Тестування Whitebox (вивчення коду, що тестується під час написання тестів) " +"є кращим. Тестування Blackbox (тестування лише опублікованого інтерфейсу " +"користувача) недостатньо повне, щоб перевірити всі граничні та крайові " +"випадки." + +msgid "" +"Make sure all possible values are tested including invalid ones. This makes " +"sure that not only all valid values are acceptable but also that improper " +"values are handled correctly." +msgstr "" +"Переконайтеся, що перевірено всі можливі значення, включно з недійсними. Це " +"гарантує, що не тільки всі дійсні значення є прийнятними, але й неправильні " +"значення обробляються правильно." + +msgid "" +"Exhaust as many code paths as possible. Test where branching occurs and thus " +"tailor input to make sure as many different paths through the code are taken." +msgstr "" +"Вичерпайте якомога більше шляхів коду. Перевірте, де відбувається " +"розгалуження, і таким чином адаптуйте вхідні дані, щоб переконатися, що в " +"коді використовується якомога більше різних шляхів." + +msgid "" +"Add an explicit test for any bugs discovered for the tested code. This will " +"make sure that the error does not crop up again if the code is changed in " +"the future." +msgstr "" +"Додайте явний тест для будь-яких помилок, виявлених у перевіреному коді. Це " +"гарантує, що помилка не виникне знову, якщо код буде змінено в майбутньому." + +msgid "" +"Make sure to clean up after your tests (such as close and remove all " +"temporary files)." +msgstr "" +"Обов’язково очистіть після тестів (наприклад, закрийте та видаліть усі " +"тимчасові файли)." + +msgid "" +"If a test is dependent on a specific condition of the operating system then " +"verify the condition already exists before attempting the test." +msgstr "" +"Якщо тест залежить від конкретного стану операційної системи, то перед " +"спробою перевірки переконайтеся, що умова вже існує." + +msgid "" +"Import as few modules as possible and do it as soon as possible. This " +"minimizes external dependencies of tests and also minimizes possible " +"anomalous behavior from side-effects of importing a module." +msgstr "" +"Імпортуйте якомога менше модулів і робіть це якомога швидше. Це мінімізує " +"зовнішні залежності тестів, а також мінімізує можливу аномальну поведінку " +"через побічні ефекти імпортування модуля." + +msgid "" +"Try to maximize code reuse. On occasion, tests will vary by something as " +"small as what type of input is used. Minimize code duplication by " +"subclassing a basic test class with a class that specifies the input::" +msgstr "" +"Спробуйте максимізувати повторне використання коду. Інколи тести " +"відрізнятимуться дещо настільки незначним, як тип введення, що " +"використовується. Мінімізуйте дублювання коду шляхом створення підкласу " +"базового тестового класу з класом, який визначає вхідні дані:" + +msgid "" +"When using this pattern, remember that all classes that inherit from :class:" +"`unittest.TestCase` are run as tests. The :class:`Mixin` class in the " +"example above does not have any data and so can't be run by itself, thus it " +"does not inherit from :class:`unittest.TestCase`." +msgstr "" +"Використовуючи цей шаблон, пам’ятайте, що всі класи, які успадковують :class:" +"`unittest.TestCase`, виконуються як тести. Клас :class:`Mixin` у наведеному " +"вище прикладі не має жодних даних і тому не може запускатися сам по собі, " +"тому він не успадковує :class:`unittest.TestCase`." + +msgid "Test Driven Development" +msgstr "Розробка, орієнтована на тестування" + +msgid "A book by Kent Beck on writing tests before code." +msgstr "Книга Кента Бека про написання тестів перед кодом." + +msgid "Running tests using the command-line interface" +msgstr "Виконання тестів за допомогою інтерфейсу командного рядка" + +msgid "" +"The :mod:`test` package can be run as a script to drive Python's regression " +"test suite, thanks to the :option:`-m` option: :program:`python -m test`. " +"Under the hood, it uses :mod:`test.regrtest`; the call :program:`python -m " +"test.regrtest` used in previous Python versions still works. Running the " +"script by itself automatically starts running all regression tests in the :" +"mod:`test` package. It does this by finding all modules in the package whose " +"name starts with ``test_``, importing them, and executing the function :func:" +"`test_main` if present or loading the tests via unittest.TestLoader." +"loadTestsFromModule if ``test_main`` does not exist. The names of tests to " +"execute may also be passed to the script. Specifying a single regression " +"test (:program:`python -m test test_spam`) will minimize output and only " +"print whether the test passed or failed." +msgstr "" +"Пакет :mod:`test` можна запустити як сценарій для запуску набору регресійних " +"тестів Python завдяки параметру :option:`-m`: :program:`python -m test`. Під " +"капотом він використовує :mod:`test.regrtest`; виклик :program:`python -m " +"test.regrtest`, який використовувався в попередніх версіях Python, все ще " +"працює. Запуск сценарію сам по собі автоматично запускає всі регресійні " +"тести в пакеті :mod:`test`. Він робить це, знаходячи всі модулі в пакеті, " +"ім’я яких починається з ``test_``, імпортує їх і виконує функцію :func:" +"`test_main`, якщо вона присутня, або завантажує тести через unittest." +"TestLoader.loadTestsFromModule, якщо ``test_main`` не існує. Назви тестів " +"для виконання також можуть бути передані в сценарій. Якщо вказати єдиний " +"регресійний тест (:program:`python -m test test_spam`), буде мінімізовано " +"вихідні дані та виведено лише те, чи пройдено тест чи не пройдено." + +msgid "" +"Running :mod:`test` directly allows what resources are available for tests " +"to use to be set. You do this by using the ``-u`` command-line option. " +"Specifying ``all`` as the value for the ``-u`` option enables all possible " +"resources: :program:`python -m test -uall`. If all but one resource is " +"desired (a more common case), a comma-separated list of resources that are " +"not desired may be listed after ``all``. The command :program:`python -m " +"test -uall,-audio,-largefile` will run :mod:`test` with all resources except " +"the ``audio`` and ``largefile`` resources. For a list of all resources and " +"more command-line options, run :program:`python -m test -h`." +msgstr "" +"Запуск :mod:`test` безпосередньо дозволяє встановити, які ресурси доступні " +"для використання тестами. Це можна зробити за допомогою параметра командного " +"рядка ``-u``. Якщо вказати ``all`` як значення параметра ``-u``, усі можливі " +"ресурси будуть активовані: :program:`python -m test -uall`. Якщо потрібні " +"всі ресурси, окрім одного (частіший випадок), список непотрібних ресурсів, " +"розділених комами, може бути перераховано після ``всі``. Команда :program:" +"`python -m test -uall,-audio,-largefile` запустить :mod:`test` з усіма " +"ресурсами, крім ресурсів ``audio`` і ``largefile``. Щоб отримати список усіх " +"ресурсів і більше параметрів командного рядка, запустіть :program:`python -m " +"test -h`." + +msgid "" +"Some other ways to execute the regression tests depend on what platform the " +"tests are being executed on. On Unix, you can run :program:`make test` at " +"the top-level directory where Python was built. On Windows, executing :" +"program:`rt.bat` from your :file:`PCbuild` directory will run all regression " +"tests." +msgstr "" +"Деякі інші способи виконання регресійних тестів залежать від того, на якій " +"платформі виконуються тести. В Unix ви можете запустити :program:`make test` " +"у каталозі верхнього рівня, де було зібрано Python. У Windows виконання :" +"program:`rt.bat` з вашого каталогу :file:`PCbuild` запустить усі регресійні " +"тести." + +msgid ":mod:`test.support` --- Utilities for the Python test suite" +msgstr ":mod:`test.support` --- Утиліти для набору тестів Python" + +msgid "" +"The :mod:`test.support` module provides support for Python's regression test " +"suite." +msgstr "" +"Модуль :mod:`test.support` забезпечує підтримку набору регресійних тестів " +"Python." + +msgid "" +":mod:`test.support` is not a public module. It is documented here to help " +"Python developers write tests. The API of this module is subject to change " +"without backwards compatibility concerns between releases." +msgstr "" +":mod:`test.support` не є публічним модулем. Це задокументовано тут, щоб " +"допомогти розробникам Python писати тести. API цього модуля може бути " +"змінений без проблем із зворотною сумісністю між випусками." + +msgid "This module defines the following exceptions:" +msgstr "Цей модуль визначає такі винятки:" + +msgid "" +"Exception to be raised when a test fails. This is deprecated in favor of :" +"mod:`unittest`\\ -based tests and :class:`unittest.TestCase`'s assertion " +"methods." +msgstr "" +"Виняток, який виникає, коли тест проходить невдало. Це застаріло на користь " +"тестів на основі :mod:`unittest`\\ і методів підтвердження :class:`unittest." +"TestCase`." + +msgid "" +"Subclass of :exc:`unittest.SkipTest`. Raised when a resource (such as a " +"network connection) is not available. Raised by the :func:`requires` " +"function." +msgstr "" +"Підклас :exc:`unittest.SkipTest`. Викликається, коли ресурс (наприклад, " +"підключення до мережі) недоступний. Викликається функцією :func:`requires`." + +msgid "The :mod:`test.support` module defines the following constants:" +msgstr "Модуль :mod:`test.support` визначає такі константи:" + +msgid "" +"``True`` when verbose output is enabled. Should be checked when more " +"detailed information is desired about a running test. *verbose* is set by :" +"mod:`test.regrtest`." +msgstr "" +"``True``, коли ввімкнено докладний вивід. Слід перевірити, якщо потрібна " +"більш детальна інформація про поточний тест. *verbose* встановлюється :mod:" +"`test.regrtest`." + +msgid "``True`` if the running interpreter is Jython." +msgstr "``True``, якщо запущеним інтерпретатором є Jython." + +msgid "``True`` if the system is Android." +msgstr "``True``, якщо системою є Android." + +msgid "Path for shell if not on Windows; otherwise ``None``." +msgstr "Шлях для оболонки, якщо не в Windows; інакше ``Жодного``." + +msgid "" +"Timeout in seconds for tests using a network server listening on the network " +"local loopback interface like ``127.0.0.1``." +msgstr "" +"Тайм-аут у секундах для тестів із використанням мережевого сервера, який " +"прослуховує інтерфейс локальної петлі, як-от ``127.0.0.1``." + +msgid "" +"The timeout is long enough to prevent test failure: it takes into account " +"that the client and the server can run in different threads or even " +"different processes." +msgstr "" +"Час очікування достатньо довгий, щоб запобігти помилці тесту: він враховує, " +"що клієнт і сервер можуть працювати в різних потоках або навіть різних " +"процесах." + +msgid "" +"The timeout should be long enough for :meth:`~socket.socket.connect`, :meth:" +"`~socket.socket.recv` and :meth:`~socket.socket.send` methods of :class:" +"`socket.socket`." +msgstr "" +"Час очікування має бути достатнім для методів :meth:`~socket.socket." +"connect`, :meth:`~socket.socket.recv` і :meth:`~socket.socket.send` :class:" +"`socket. розетка`." + +msgid "Its default value is 5 seconds." +msgstr "Його значення за замовчуванням становить 5 секунд." + +msgid "See also :data:`INTERNET_TIMEOUT`." +msgstr "Дивіться також :data:`INTERNET_TIMEOUT`." + +msgid "Timeout in seconds for network requests going to the internet." +msgstr "Тайм-аут у секундах для мережевих запитів, що надходять до Інтернету." + +msgid "" +"The timeout is short enough to prevent a test to wait for too long if the " +"internet request is blocked for whatever reason." +msgstr "" +"Тайм-аут досить короткий, щоб запобігти надто довгому очікуванню тесту, якщо " +"інтернет-запит заблоковано з будь-якої причини." + +msgid "" +"Usually, a timeout using :data:`INTERNET_TIMEOUT` should not mark a test as " +"failed, but skip the test instead: see :func:`~test.support.socket_helper." +"transient_internet`." +msgstr "" +"Зазвичай тайм-аут за допомогою :data:`INTERNET_TIMEOUT` не повинен позначати " +"тест як невдалий, а натомість пропускати тест: див. :func:`~test.support." +"socket_helper.transient_internet`." + +msgid "Its default value is 1 minute." +msgstr "Його значення за умовчанням становить 1 хвилину." + +msgid "See also :data:`LOOPBACK_TIMEOUT`." +msgstr "Дивіться також :data:`LOOPBACK_TIMEOUT`." + +msgid "" +"Timeout in seconds to mark a test as failed if the test takes \"too long\"." +msgstr "" +"Тайм-аут у секундах для позначення тесту як невдалого, якщо тест триває " +"\"занадто довго\"." + +msgid "" +"The timeout value depends on the regrtest ``--timeout`` command line option." +msgstr "" +"Значення часу очікування залежить від параметра командного рядка regrtest " +"``--timeout``." + +msgid "" +"If a test using :data:`SHORT_TIMEOUT` starts to fail randomly on slow " +"buildbots, use :data:`LONG_TIMEOUT` instead." +msgstr "" +"Якщо тест із використанням :data:`SHORT_TIMEOUT` починає випадково зазнавати " +"помилок на повільних роботах для збірки, використовуйте натомість :data:" +"`LONG_TIMEOUT`." + +msgid "Its default value is 30 seconds." +msgstr "Його значення за замовчуванням становить 30 секунд." + +msgid "Timeout in seconds to detect when a test hangs." +msgstr "Час очікування в секундах для виявлення зависання тесту." + +msgid "" +"It is long enough to reduce the risk of test failure on the slowest Python " +"buildbots. It should not be used to mark a test as failed if the test takes " +"\"too long\". The timeout value depends on the regrtest ``--timeout`` " +"command line option." +msgstr "" +"Його достатньо, щоб зменшити ризик невдачі тесту на найповільніших роботах " +"для збірки Python. Його не слід використовувати для позначення тесту як " +"невдалого, якщо тест триває \"занадто довго\". Значення часу очікування " +"залежить від параметра командного рядка regrtest ``--timeout``." + +msgid "Its default value is 5 minutes." +msgstr "Його значення за замовчуванням становить 5 хвилин." + +msgid "" +"See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` and :data:" +"`SHORT_TIMEOUT`." +msgstr "" +"Дивіться також :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` і :data:" +"`SHORT_TIMEOUT`." + +msgid "Set when tests can be skipped when they are not useful for PGO." +msgstr "Встановіть, коли тести можна пропускати, якщо вони не корисні для PGO." + +msgid "" +"A constant that is likely larger than the underlying OS pipe buffer size, to " +"make writes blocking." +msgstr "" +"Константа, яка, ймовірно, більша за розмір основного буфера каналу ОС, щоб " +"блокувати запис." + +msgid "" +"A constant that is likely larger than the underlying OS socket buffer size, " +"to make writes blocking." +msgstr "" +"Константа, яка, імовірно, більша за розмір буфера основного сокета ОС, щоб " +"блокувати запис." + +msgid "Set to the top level directory that contains :mod:`test.support`." +msgstr "Встановіть каталог верхнього рівня, який містить :mod:`test.support`." + +msgid "Set to the top level directory for the test package." +msgstr "Встановіть каталог верхнього рівня для тестового пакета." + +msgid "Set to the ``data`` directory within the test package." +msgstr "Встановіть каталог ``data`` в тестовому пакеті." + +msgid "Set to :data:`sys.maxsize` for big memory tests." +msgstr "Встановіть значення :data:`sys.maxsize` для великих тестів пам’яті." + +msgid "" +"Set by :func:`set_memlimit` as the memory limit for big memory tests. " +"Limited by :data:`MAX_Py_ssize_t`." +msgstr "" +"Встановлено :func:`set_memlimit` як обмеження пам’яті для великих тестів " +"пам’яті. Обмежено :data:`MAX_Py_ssize_t`." + +msgid "" +"Set by :func:`set_memlimit` as the memory limit for big memory tests. Not " +"limited by :data:`MAX_Py_ssize_t`." +msgstr "" +"Встановлено :func:`set_memlimit` як обмеження пам’яті для великих тестів " +"пам’яті. Не обмежено :data:`MAX_Py_ssize_t`." + +msgid "" +"Set to ``True`` if Python is built without docstrings (the :c:macro:" +"`WITH_DOC_STRINGS` macro is not defined). See the :option:`configure --" +"without-doc-strings <--without-doc-strings>` option." +msgstr "" +"Установіть значення ``True``, якщо Python створено без рядків документації " +"(макрос :c:macro:`WITH_DOC_STRINGS` не визначено). Перегляньте параметр :" +"option:`configure --without-doc-strings <--without-doc-strings>`." + +msgid "See also the :data:`HAVE_DOCSTRINGS` variable." +msgstr "Перегляньте також змінну :data:`HAVE_DOCSTRINGS`." + +msgid "" +"Set to ``True`` if function docstrings are available. See the :option:" +"`python -OO <-O>` option, which strips docstrings of functions implemented " +"in Python." +msgstr "" +"Установіть значення ``True``, якщо доступні рядки документації функцій. " +"Перегляньте параметр :option:`python -OO <-O>`, який видаляє рядки " +"документів функцій, реалізованих у Python." + +msgid "See also the :data:`MISSING_C_DOCSTRINGS` variable." +msgstr "Перегляньте також змінну :data:`MISSING_C_DOCSTRINGS`." + +msgid "Define the URL of a dedicated HTTP server for the network tests." +msgstr "Визначте URL-адресу виділеного HTTP-сервера для мережевих тестів." + +msgid "Object that is equal to anything. Used to test mixed type comparison." +msgstr "" +"Об'єкт, який дорівнює будь-чому. Використовується для перевірки порівняння " +"змішаного типу." + +msgid "" +"Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " +"test mixed type comparison." +msgstr "" +"Об’єкт, який нічому не дорівнює (навіть :data:`ALWAYS_EQ`). Використовується " +"для перевірки порівняння змішаного типу." + +msgid "" +"Object that is greater than anything (except itself). Used to test mixed " +"type comparison." +msgstr "" +"Об'єкт, який є більшим за все (крім самого себе). Використовується для " +"перевірки порівняння змішаного типу." + +msgid "" +"Object that is less than anything (except itself). Used to test mixed type " +"comparison." +msgstr "" +"Об'єкт, який є меншим за все (крім себе). Використовується для перевірки " +"порівняння змішаного типу." + +msgid "The :mod:`test.support` module defines the following functions:" +msgstr "Модуль :mod:`test.support` визначає такі функції:" + +msgid "" +"Return ``True`` if *resource* is enabled and available. The list of " +"available resources is only set when :mod:`test.regrtest` is executing the " +"tests." +msgstr "" +"Повертає ``True``, якщо *ресурс* увімкнено та доступний. Список доступних " +"ресурсів встановлюється лише тоді, коли :mod:`test.regrtest` виконує тести." + +msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." +msgstr "Повертає ``True``, якщо Python не було зібрано з ``-O0`` або ``-Og``." + +msgid "Return :data:`_testcapi.WITH_PYMALLOC`." +msgstr "Повернути :data:`_testcapi.WITH_PYMALLOC`." + +msgid "" +"Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " +"argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " +"if called by a function whose ``__name__`` is ``'__main__'``. Used when " +"tests are executed by :mod:`test.regrtest`." +msgstr "" +"Підніміть :exc:`ResourceDenied`, якщо *ресурс* недоступний. *msg* є " +"аргументом для :exc:`ResourceDenied`, якщо він викликаний. Завжди повертає " +"``True``, якщо викликається функцією, ``__name__`` якої є ``'__main__''``. " +"Використовується, коли тести виконуються :mod:`test.regrtest`." + +msgid "Return a repr of *dict* with keys sorted." +msgstr "Повертає повтор *dict* із відсортованими ключами." + +msgid "" +"Return the path to the file named *filename*. If no match is found " +"*filename* is returned. This does not equal a failure since it could be the " +"path to the file." +msgstr "" +"Поверніть шлях до файлу з назвою *filename*. Якщо збігів не знайдено, " +"повертається *ім’я файлу*. Це не означає помилку, оскільки це може бути шлях " +"до файлу." + +msgid "" +"Setting *subdir* indicates a relative path to use to find the file rather " +"than looking directly in the path directories." +msgstr "" +"Параметр *subdir* вказує на відносний шлях для пошуку файлу, а не шукати " +"безпосередньо в каталогах шляхів." + +msgid "" +"Determine whether *test* matches the patterns set in :func:`set_match_tests`." +msgstr "" +"Визначте, чи *test* відповідає шаблонам, встановленим у :func:" +"`set_match_tests`." + +msgid "" +"Define match patterns on test filenames and test method names for filtering " +"tests." +msgstr "" +"Визначте шаблони відповідності для імен тестових файлів і імен тестових " +"методів для фільтрації тестів." + +msgid "" +"Execute :class:`unittest.TestCase` subclasses passed to the function. The " +"function scans the classes for methods starting with the prefix ``test_`` " +"and executes the tests individually." +msgstr "" +"Виконати підкласи :class:`unittest.TestCase`, передані функції. Функція " +"сканує класи на наявність методів, що починаються з префікса ``test_``, і " +"виконує тести окремо." + +msgid "" +"It is also legal to pass strings as parameters; these should be keys in " +"``sys.modules``. Each associated module will be scanned by ``unittest." +"TestLoader.loadTestsFromModule()``. This is usually seen in the following :" +"func:`test_main` function::" +msgstr "" +"Також допустимо передавати рядки як параметри; це мають бути ключі в ``sys." +"modules``. Кожен пов’язаний модуль буде скановано за допомогою ``unittest." +"TestLoader.loadTestsFromModule()``. Зазвичай це видно у такій функції :func:" +"`test_main`::" + +msgid "This will run all tests defined in the named module." +msgstr "Це запустить усі тести, визначені у названому модулі." + +msgid "" +"Run :func:`doctest.testmod` on the given *module*. Return ``(failure_count, " +"test_count)``." +msgstr "" +"Запустіть :func:`doctest.testmod` на заданому *модулі*. Повернення " +"``(failure_count, test_count)``." + +msgid "" +"If *verbosity* is ``None``, :func:`doctest.testmod` is run with verbosity " +"set to :data:`verbose`. Otherwise, it is run with verbosity set to " +"``None``. *optionflags* is passed as ``optionflags`` to :func:`doctest." +"testmod`." +msgstr "" +"Якщо *detality* має значення ``None``, :func:`doctest.testmod` запускається " +"з детальністю, встановленою на :data:`verbose`. В іншому випадку він " +"запускається з параметром детальності, встановленим на ``None``. " +"*optionflags* передається як ``optionflags`` до :func:`doctest.testmod`." + +msgid "" +"Set the :func:`sys.setswitchinterval` to the given *interval*. Defines a " +"minimum interval for Android systems to prevent the system from hanging." +msgstr "" +"Установіть :func:`sys.setswitchinterval` на заданий *інтервал*. Визначає " +"мінімальний інтервал для систем Android, щоб запобігти зависанню системи." + +msgid "" +"Use this check to guard CPython's implementation-specific tests or to run " +"them only on the implementations guarded by the arguments. This function " +"returns ``True`` or ``False`` depending on the host platform. Example usage::" +msgstr "" +"Використовуйте цю перевірку, щоб захистити специфічні для реалізації тести " +"CPython або запустити їх лише на реалізаціях, які захищені аргументами. Ця " +"функція повертає ``True`` або ``False`` залежно від хост-платформи. Приклад " +"використання::" + +msgid "" +"Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " +"memory tests." +msgstr "" +"Установіть значення для :data:`max_memuse` і :data:`real_max_memuse` для " +"великих тестів пам’яті." + +msgid "" +"Store the value from *stdout*. It is meant to hold the stdout at the time " +"the regrtest began." +msgstr "" +"Збережіть значення з *stdout*. Він призначений для утримання стандартного " +"виводу під час початку перевірки." + +msgid "" +"Return the original stdout set by :func:`record_original_stdout` or ``sys." +"stdout`` if it's not set." +msgstr "" +"Повертає оригінальний stdout, встановлений :func:`record_original_stdout` " +"або ``sys.stdout``, якщо він не встановлений." + +msgid "" +"Return a list of command line arguments reproducing the current settings in " +"``sys.flags`` and ``sys.warnoptions``." +msgstr "" +"Повертає список аргументів командного рядка, що відтворюють поточні " +"параметри в ``sys.flags`` і ``sys.warnoptions``." + +msgid "" +"Return a list of command line arguments reproducing the current optimization " +"settings in ``sys.flags``." +msgstr "" +"Повертає список аргументів командного рядка, що відтворюють поточні " +"параметри оптимізації в ``sys.flags``." + +msgid "" +"A context managers that temporarily replaces the named stream with :class:" +"`io.StringIO` object." +msgstr "" +"Менеджер контексту, який тимчасово замінює названий потік на об’єкт :class:" +"`io.StringIO`." + +msgid "Example use with output streams::" +msgstr "Приклад використання з вихідними потоками::" + +msgid "Example use with input stream::" +msgstr "Приклад використання з вхідним потоком::" + +msgid "A context manager that temporary disables :mod:`faulthandler`." +msgstr "Контекстний менеджер, який тимчасово вимикає :mod:`faulthandler`." + +msgid "" +"Force as many objects as possible to be collected. This is needed because " +"timely deallocation is not guaranteed by the garbage collector. This means " +"that ``__del__`` methods may be called later than expected and weakrefs may " +"remain alive for longer than expected." +msgstr "" +"Змусьте зібрати якомога більше предметів. Це необхідно, тому що своєчасне " +"звільнення не гарантується збирачем сміття. Це означає, що методи " +"``__del__`` можуть викликатися пізніше, ніж очікувалося, а слабкі посилання " +"можуть залишатися активними довше, ніж очікувалося." + +msgid "" +"A context manager that disables the garbage collector on entry. On exit, the " +"garbage collector is restored to its prior state." +msgstr "" +"Менеджер контексту, який вимикає збирач сміття під час входу. Після виходу " +"збирач сміття відновлюється до попереднього стану." + +msgid "Context manager to swap out an attribute with a new object." +msgstr "Менеджер контексту для заміни атрибута на новий об’єкт." + +msgid "Usage::" +msgstr "Використання::" + +msgid "" +"This will set ``obj.attr`` to 5 for the duration of the ``with`` block, " +"restoring the old value at the end of the block. If ``attr`` doesn't exist " +"on ``obj``, it will be created and then deleted at the end of the block." +msgstr "" +"Це встановить для ``obj.attr`` значення 5 протягом блоку ``with``, " +"відновлюючи старе значення в кінці блоку. Якщо ``attr`` не існує в ``obj``, " +"його буде створено, а потім видалено в кінці блоку." + +msgid "" +"The old value (or ``None`` if it doesn't exist) will be assigned to the " +"target of the \"as\" clause, if there is one." +msgstr "" +"Старе значення (або ``None``, якщо воно не існує) буде призначено цільовому " +"об’єкту \"as\", якщо воно є." + +msgid "Context manager to swap out an item with a new object." +msgstr "Менеджер контексту для заміни елемента новим об’єктом." + +msgid "" +"This will set ``obj[\"item\"]`` to 5 for the duration of the ``with`` block, " +"restoring the old value at the end of the block. If ``item`` doesn't exist " +"on ``obj``, it will be created and then deleted at the end of the block." +msgstr "" +"Це встановить для ``obj[\"item\"]`` значення 5 протягом блоку ``with``, " +"відновлюючи старе значення в кінці блоку. Якщо ``item`` не існує в ``obj``, " +"його буде створено, а потім видалено в кінці блоку." + +msgid "" +"Call the ``flush()`` method on :data:`sys.stdout` and then on :data:`sys." +"stderr`. It can be used to make sure that the logs order is consistent " +"before writing into stderr." +msgstr "" + +msgid "" +"Print a warning into :data:`sys.__stderr__`. Format the message as: ``f" +"\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add ``\"Warning " +"-- \"`` prefix to each line." +msgstr "" +"Надрукуйте попередження в :data:`sys.__stderr__`. Відформатуйте повідомлення " +"так: ``f\"Попередження -- {msg}\"``. Якщо *повідомлення* складається з " +"кількох рядків, додайте до кожного рядка префікс \"Попередження --\"." + +msgid "" +"Wait until process *pid* completes and check that the process exit code is " +"*exitcode*." +msgstr "" +"Зачекайте, поки процес *pid* завершиться, і переконайтеся, що код виходу " +"процесу *exitcode*." + +msgid "" +"Raise an :exc:`AssertionError` if the process exit code is not equal to " +"*exitcode*." +msgstr "" +"Викликати :exc:`AssertionError`, якщо код виходу процесу не дорівнює " +"*exitcode*." + +msgid "" +"If the process runs longer than *timeout* seconds (:data:`SHORT_TIMEOUT` by " +"default), kill the process and raise an :exc:`AssertionError`. The timeout " +"feature is not available on Windows." +msgstr "" +"Якщо процес виконується довше *timeout* секунд (:data:`SHORT_TIMEOUT` за " +"замовчуванням), завершіть процес і викликайте :exc:`AssertionError`. Функція " +"тайм-ауту недоступна в Windows." + +msgid "" +"Return the size of the :c:type:`PyObject` whose structure members are " +"defined by *fmt*. The returned value includes the size of the Python object " +"header and alignment." +msgstr "" +"Повертає розмір :c:type:`PyObject`, члени структури якого визначені *fmt*. " +"Повернене значення включає розмір заголовка об’єкта Python і вирівнювання." + +msgid "" +"Return the size of the :c:type:`PyVarObject` whose structure members are " +"defined by *fmt*. The returned value includes the size of the Python object " +"header and alignment." +msgstr "" +"Повертає розмір :c:type:`PyVarObject`, члени структури якого визначено " +"*fmt*. Повернене значення включає розмір заголовка об’єкта Python і " +"вирівнювання." + +msgid "" +"For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " +"header size equals *size*." +msgstr "" +"Для тестового випадку *test* переконайтеся, що ``sys.getsizeof`` для *o* " +"плюс розмір заголовка GC дорівнює *size*." + +msgid "" +"A decorator to conditionally mark tests with :func:`unittest." +"expectedFailure`. Any use of this decorator should have an associated " +"comment identifying the relevant tracker issue." +msgstr "" +"Декоратор для умовного позначення тестів :func:`unittest.expectedFailure`. " +"Будь-яке використання цього декоратора повинно мати відповідний коментар, що " +"визначає відповідну проблему трекера." + +msgid "" +"A decorator that skips the decorated test on TLS certification validation " +"failures." +msgstr "" +"Декоратор, який пропускає декорований тест на помилки перевірки сертифікації " +"TLS." + +msgid "" +"A decorator for running a function in a different locale, correctly " +"resetting it after it has finished. *catstr* is the locale category as a " +"string (for example ``\"LC_ALL\"``). The *locales* passed will be tried " +"sequentially, and the first valid locale will be used." +msgstr "" +"Декоратор для запуску функції в іншій локалі, правильно скидаючи її після " +"завершення. *catstr* — це категорія локалі у вигляді рядка (наприклад, ``" +"\"LC_ALL\"``). Передані *локалі* перевірятимуться послідовно, і " +"використовуватиметься перша дійсна локаль." + +msgid "" +"A decorator for running a function in a specific timezone, correctly " +"resetting it after it has finished." +msgstr "" +"Декоратор для запуску функції в певному часовому поясі, правильно скидаючи " +"її після завершення." + +msgid "" +"Decorator for the minimum version when running test on FreeBSD. If the " +"FreeBSD version is less than the minimum, the test is skipped." +msgstr "" +"Декоратор для мінімальної версії під час виконання тесту на FreeBSD. Якщо " +"версія FreeBSD нижча за мінімальну, тест пропускається." + +msgid "" +"Decorator for the minimum version when running test on Linux. If the Linux " +"version is less than the minimum, the test is skipped." +msgstr "" +"Декоратор для мінімальної версії під час виконання тесту в Linux. Якщо " +"версія Linux нижча за мінімальну, тест пропускається." + +msgid "" +"Decorator for the minimum version when running test on macOS. If the macOS " +"version is less than the minimum, the test is skipped." +msgstr "" +"Декоратор для мінімальної версії під час виконання тесту на macOS. Якщо " +"версія macOS нижча за мінімальну, тест пропускається." + +msgid "Decorator for skipping tests on non-IEEE 754 platforms." +msgstr "Декоратор для пропуску тестів на платформах не IEEE 754." + +msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." +msgstr "Декоратор для пропуску тестів, якщо :mod:`zlib` не існує." + +msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." +msgstr "Декоратор для пропуску тестів, якщо :mod:`gzip` не існує." + +msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." +msgstr "Декоратор для пропуску тестів, якщо :mod:`bz2` не існує." + +msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." +msgstr "Декоратор для пропуску тестів, якщо :mod:`lzma` не існує." + +msgid "Decorator for skipping tests if *resource* is not available." +msgstr "Декоратор для пропуску тестів, якщо *ресурс* недоступний." + +msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." +msgstr "Декоратор лише для запуску тесту, якщо :data:`HAVE_DOCSTRINGS`." + +msgid "Decorator for tests only applicable to CPython." +msgstr "Декоратор для тестів, застосовний лише до CPython." + +msgid "" +"Decorator for invoking :func:`check_impl_detail` on *guards*. If that " +"returns ``False``, then uses *msg* as the reason for skipping the test." +msgstr "" +"Декоратор для виклику :func:`check_impl_detail` на *guards*. Якщо це " +"повертає ``False``, тоді використовується *msg* як причина для пропуску " +"тесту." + +msgid "Decorator to temporarily turn off tracing for the duration of the test." +msgstr "Декоратор тимчасово вимикає трасування на час тесту." + +msgid "" +"Decorator for tests which involve reference counting. The decorator does " +"not run the test if it is not run by CPython. Any trace function is unset " +"for the duration of the test to prevent unexpected refcounts caused by the " +"trace function." +msgstr "" +"Декоратор для тестів, які включають підрахунок посилань. Декоратор не " +"запускає тест, якщо його не запускає CPython. Будь-яка функція трасування не " +"налаштована на час тесту, щоб запобігти неочікуваним повторним підрахункам, " +"викликаним функцією трасування." + +msgid "Decorator for bigmem tests." +msgstr "Декоратор для тестів bigmem." + +msgid "" +"*size* is a requested size for the test (in arbitrary, test-interpreted " +"units.) *memuse* is the number of bytes per unit for the test, or a good " +"estimate of it. For example, a test that needs two byte buffers, of 4 GiB " +"each, could be decorated with ``@bigmemtest(size=_4G, memuse=2)``." +msgstr "" +"*size* — це запитуваний розмір для тесту (у довільних, інтерпретованих " +"тестом одиницях). *memuse* — це кількість байтів на одиницю для тесту або її " +"хороша оцінка. Наприклад, тест, який потребує двох байтових буферів, по 4 " +"ГіБ кожен, можна прикрасити ``@bigmemtest(size=_4G, memuse=2)``." + +msgid "" +"The *size* argument is normally passed to the decorated test method as an " +"extra argument. If *dry_run* is ``True``, the value passed to the test " +"method may be less than the requested value. If *dry_run* is ``False``, it " +"means the test doesn't support dummy runs when ``-M`` is not specified." +msgstr "" +"Аргумент *size* зазвичай передається декорованому тестовому методу як " +"додатковий аргумент. Якщо *dry_run* має значення ``True``, значення, " +"передане в метод тестування, може бути меншим за запитуване значення. Якщо " +"*dry_run* має значення ``False``, це означає, що тест не підтримує фіктивні " +"запуски, якщо ``-M`` не вказано." + +msgid "Decorator for tests that fill the address space." +msgstr "Декоратор для тестів, які заповнюють адресний простір." + +msgid "" +"Test for syntax errors in *statement* by attempting to compile *statement*. " +"*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " +"regular expression which should match the string representation of the " +"raised :exc:`SyntaxError`. If *lineno* is not ``None``, compares to the " +"line of the exception. If *offset* is not ``None``, compares to the offset " +"of the exception." +msgstr "" +"Перевірте синтаксичні помилки в *операторі*, спробувавши скомпілювати " +"*оператор*. *testcase* — це екземпляр :mod:`unittest` для тесту. *errtext* — " +"це регулярний вираз, який має відповідати рядковому представленню " +"викликаної :exc:`SyntaxError`. Якщо *lineno* не є ``None``, порівнюється з " +"рядком винятку. Якщо *offset* не є ``None``, порівнюється зі зміщенням " +"винятку." + +msgid "Open *url*. If open fails, raises :exc:`TestFailed`." +msgstr "" +"Відкрийте *url*. Якщо відкрити не вдається, викликає :exc:`TestFailed`." + +msgid "" +"Use this at the end of ``test_main`` whenever sub-processes are started. " +"This will help ensure that no extra children (zombies) stick around to hog " +"resources and create problems when looking for refleaks." +msgstr "" +"Використовуйте це в кінці ``test_main`` кожного разу, коли запускаються " +"підпроцеси. Це допоможе гарантувати, що жодні зайві діти (зомбі) не " +"залишаться, щоб витягнути ресурси та створювати проблеми під час пошуку " +"рефлексів." + +msgid "" +"Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " +"is raised." +msgstr "" +"Отримати атрибут, викликаючи :exc:`unittest.SkipTest`, якщо виникає :exc:" +"`AttributeError`." + +msgid "" +"Context manager catching unraisable exception using :func:`sys." +"unraisablehook`." +msgstr "" +"Менеджер контексту перехоплює виняток, який неможливо викликати, " +"використовуючи :func:`sys.unraisablehook`." + +msgid "" +"Storing the exception value (``cm.unraisable.exc_value``) creates a " +"reference cycle. The reference cycle is broken explicitly when the context " +"manager exits." +msgstr "" +"Зберігання значення винятку (``cm.unraisable.exc_value``) створює еталонний " +"цикл. Посилальний цикл явно розривається, коли контекстний менеджер виходить." + +msgid "" +"Storing the object (``cm.unraisable.object``) can resurrect it if it is set " +"to an object which is being finalized. Exiting the context manager clears " +"the stored object." +msgstr "" +"Зберігання об’єкта (``cm.unraisable.object``) може воскресити його, якщо для " +"нього встановлено об’єкт, який завершується. Вихід із менеджера контексту " +"очищає збережений об’єкт." + +msgid "" +"Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " +"use in test packages. *pkg_dir* is the root directory of the package; " +"*loader*, *standard_tests*, and *pattern* are the arguments expected by " +"``load_tests``. In simple cases, the test package's ``__init__.py`` can be " +"the following::" +msgstr "" +"Загальна реалізація протоколу :mod:`unittest` ``load_tests`` для " +"використання в тестових пакетах. *pkg_dir* — кореневий каталог пакета; " +"*loader*, *standard_tests* і *pattern* є аргументами, які очікуються для " +"``load_tests``. У простих випадках тестовий пакет ``__init__.py`` може бути " +"наступним:" + +msgid "" +"Returns the set of attributes, functions or methods of *ref_api* not found " +"on *other_api*, except for a defined list of items to be ignored in this " +"check specified in *ignore*." +msgstr "" +"Повертає набір атрибутів, функцій або методів *ref_api*, яких немає в " +"*other_api*, за винятком визначеного списку елементів, які слід ігнорувати в " +"цій перевірці, указаній у *ignore*." + +msgid "" +"By default this skips private attributes beginning with '_' but includes all " +"magic methods, i.e. those starting and ending in '__'." +msgstr "" +"За замовчуванням це пропускає приватні атрибути, що починаються з \"_\", але " +"включає всі магічні методи, тобто ті, що починаються та закінчуються на \"__" +"\"." + +msgid "" +"Override *object_to_patch.attr_name* with *new_value*. Also add cleanup " +"procedure to *test_instance* to restore *object_to_patch* for *attr_name*. " +"The *attr_name* should be a valid attribute for *object_to_patch*." +msgstr "" +"Замініть *object_to_patch.attr_name* на *new_value*. Також додайте процедуру " +"очищення до *test_instance*, щоб відновити *object_to_patch* для " +"*attr_name*. *attr_name* має бути дійсним атрибутом для *object_to_patch*." + +msgid "" +"Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if :mod:" +"`tracemalloc` is enabled." +msgstr "" +"Запустіть *код* у субінтерпретаторі. Підніміть :exc:`unittest.SkipTest`, " +"якщо :mod:`tracemalloc` увімкнено." + +msgid "Assert instances of *cls* are deallocated after iterating." +msgstr "Екземпляри Assert *cls* звільняються після ітерації." + +msgid "" +"Check for the existence of the compiler executables whose names are listed " +"in *cmd_names* or all the compiler executables when *cmd_names* is empty and " +"return the first missing executable or ``None`` when none is found missing." +msgstr "" +"Перевірте наявність виконуваних файлів компілятора, імена яких указано в " +"*cmd_names*, або всіх виконуваних файлів компілятора, якщо *cmd_names* " +"порожній, і поверніть перший відсутній виконуваний файл або ``None``, якщо " +"жоден відсутній." + +msgid "" +"Assert that the ``__all__`` variable of *module* contains all public names." +msgstr "" +"Переконайтеся, що змінна ``__all__`` *module* містить усі публічні імена." + +msgid "" +"The module's public names (its API) are detected automatically based on " +"whether they match the public name convention and were defined in *module*." +msgstr "" +"Загальнодоступні імена модуля (його API) визначаються автоматично залежно " +"від того, чи відповідають вони загальнодоступним іменам і чи були визначені " +"в *module*." + +msgid "" +"The *name_of_module* argument can specify (as a string or tuple thereof) " +"what module(s) an API could be defined in order to be detected as a public " +"API. One case for this is when *module* imports part of its public API from " +"other modules, possibly a C backend (like ``csv`` and its ``_csv``)." +msgstr "" +"Аргумент *name_of_module* може вказувати (як рядок або його кортеж), який(і) " +"модуль(и) API може бути визначений, щоб бути визначеним як публічний API. " +"Одним із випадків цього є те, що *module* імпортує частину свого " +"загальнодоступного API з інших модулів, можливо, серверної частини C " +"(наприклад, ``csv`` і його ``_csv``)." + +msgid "" +"The *extra* argument can be a set of names that wouldn't otherwise be " +"automatically detected as \"public\", like objects without a proper " +"``__module__`` attribute. If provided, it will be added to the automatically " +"detected ones." +msgstr "" +"Аргументом *extra* може бути набір імен, які інакше не були б автоматично " +"визначені як \"загальнодоступні\", як об’єкти без належного атрибута " +"``__module__``. Якщо вказано, його буде додано до автоматично виявлених." + +msgid "" +"The *not_exported* argument can be a set of names that must not be treated " +"as part of the public API even though their names indicate otherwise." +msgstr "" +"Аргумент *not_exported* може бути набором імен, які не можна розглядати як " +"частину загальнодоступного API, навіть якщо їхні імена вказують на інше." + +msgid "Example use::" +msgstr "Приклад використання::" + +msgid "" +"Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if " +"there is no available semaphore implementation, or if creating a lock raises " +"an :exc:`OSError`." +msgstr "" +"Пропустіть тести, якщо модуль :mod:`multiprocessing.synchronize` відсутній, " +"якщо немає доступної реалізації семафора або якщо створення блокування " +"викликає :exc:`OSError`." + +msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." +msgstr "" +"Стверджуйте, що тип *tp* не може бути створений за допомогою *args* і *kwds*." + +msgid "" +"This function returns a context manager that will change the global :func:" +"`sys.set_int_max_str_digits` setting for the duration of the context to " +"allow execution of test code that needs a different limit on the number of " +"digits when converting between an integer and string." +msgstr "" + +msgid "The :mod:`test.support` module defines the following classes:" +msgstr "Модуль :mod:`test.support` визначає такі класи:" + +msgid "" +"A context manager used to try to prevent crash dialog popups on tests that " +"are expected to crash a subprocess." +msgstr "" +"Менеджер контексту, який використовується для запобігання діалоговим вікнам " +"збою під час тестів, які, як очікується, призведуть до збою підпроцесу." + +msgid "" +"On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " +"`_." +msgstr "" +"У Windows він вимикає діалогові вікна звітів про помилки Windows за " +"допомогою `SetErrorMode `_." + +msgid "" +"On UNIX, :func:`resource.setrlimit` is used to set :attr:`resource." +"RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." +msgstr "" +"В UNIX :func:`resource.setrlimit` використовується для встановлення м’якого " +"обмеження :attr:`resource.RLIMIT_CORE` на 0, щоб запобігти створенню файлу " +"coredump." + +msgid "On both platforms, the old value is restored by :meth:`__exit__`." +msgstr "" +"На обох платформах старе значення відновлюється за допомогою :meth:" +"`__exit__`." + +msgid "" +"Class to save and restore signal handlers registered by the Python signal " +"handler." +msgstr "" +"Клас для збереження та відновлення обробників сигналів, зареєстрованих " +"обробником сигналів Python." + +msgid "" +"Save the signal handlers to a dictionary mapping signal numbers to the " +"current signal handler." +msgstr "" +"Збережіть обробники сигналів у словнику, зіставляючи номери сигналів із " +"поточним обробником сигналів." + +msgid "" +"Set the signal numbers from the :meth:`save` dictionary to the saved handler." +msgstr "" +"Установіть номери сигналів зі словника :meth:`save` для збереженого " +"обробника." + +msgid "Try to match a single dict with the supplied arguments." +msgstr "Спробуйте зіставити один диктовок із наданими аргументами." + +msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." +msgstr "" +"Спробуйте зіставити одне збережене значення (*dv*) із наданим значенням " +"(*v*)." + +msgid "Run *test* and return the result." +msgstr "Запустіть *test* і поверніть результат." + +msgid ":mod:`test.support.socket_helper` --- Utilities for socket tests" +msgstr ":mod:`test.support.socket_helper` --- Утиліти для тестування сокетів" + +msgid "" +"The :mod:`test.support.socket_helper` module provides support for socket " +"tests." +msgstr "" +"Модуль :mod:`test.support.socket_helper` забезпечує підтримку тестів сокетів." + +msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." +msgstr "" +"Встановіть ``True``, якщо IPv6 увімкнено на цьому хості, ``False`` інакше." + +msgid "" +"Returns an unused port that should be suitable for binding. This is " +"achieved by creating a temporary socket with the same family and type as the " +"``sock`` parameter (default is :const:`~socket.AF_INET`, :const:`~socket." +"SOCK_STREAM`), and binding it to the specified host address (defaults to " +"``0.0.0.0``) with the port set to 0, eliciting an unused ephemeral port from " +"the OS. The temporary socket is then closed and deleted, and the ephemeral " +"port is returned." +msgstr "" +"Повертає невикористаний порт, який має бути придатним для зв’язування. Це " +"досягається шляхом створення тимчасового сокета з тим самим сімейством і " +"типом, що й параметр ``sock`` (за замовчуванням: :const:`~socket.AF_INET`, :" +"const:`~socket.SOCK_STREAM`), і прив’язування його до указана адреса хоста " +"(за замовчуванням ``0.0.0.0``) з портом, встановленим на 0, виявляючи " +"невикористаний тимчасовий порт з ОС. Потім тимчасовий сокет закривається та " +"видаляється, а тимчасовий порт повертається." + +msgid "" +"Either this method or :func:`bind_port` should be used for any tests where a " +"server socket needs to be bound to a particular port for the duration of the " +"test. Which one to use depends on whether the calling code is creating a " +"Python socket, or if an unused port needs to be provided in a constructor or " +"passed to an external program (i.e. the ``-accept`` argument to openssl's " +"s_server mode). Always prefer :func:`bind_port` over :func:" +"`find_unused_port` where possible. Using a hard coded port is discouraged " +"since it can make multiple instances of the test impossible to run " +"simultaneously, which is a problem for buildbots." +msgstr "" +"Або цей метод, або :func:`bind_port` слід використовувати для будь-яких " +"тестів, де серверний сокет потрібно прив’язати до певного порту на час " +"тесту. Який з них використовувати залежить від того, чи код виклику створює " +"сокет Python, чи потрібно надати невикористаний порт у конструкторі чи " +"передати зовнішній програмі (тобто аргумент ``-accept`` для режиму s_server " +"openssl). Завжди віддавайте перевагу :func:`bind_port` над :func:" +"`find_unused_port`, де це можливо. Не рекомендується використовувати жорстко " +"закодований порт, оскільки це може зробити неможливим одночасний запуск " +"кількох екземплярів тесту, що є проблемою для buildbots." + +msgid "" +"Bind the socket to a free port and return the port number. Relies on " +"ephemeral ports in order to ensure we are using an unbound port. This is " +"important as many tests may be running simultaneously, especially in a " +"buildbot environment. This method raises an exception if the ``sock." +"family`` is :const:`~socket.AF_INET` and ``sock.type`` is :const:`~socket." +"SOCK_STREAM`, and the socket has :const:`~socket.SO_REUSEADDR` or :const:" +"`~socket.SO_REUSEPORT` set on it. Tests should never set these socket " +"options for TCP/IP sockets. The only case for setting these options is " +"testing multicasting via multiple UDP sockets." +msgstr "" +"Прив’яжіть сокет до вільного порту та поверніть номер порту. Покладається на " +"тимчасові порти, щоб переконатися, що ми використовуємо незв’язаний порт. Це " +"важливо, оскільки багато тестів можуть виконуватися одночасно, особливо в " +"середовищі buildbot. Цей метод викликає виняток, якщо ``sock.family`` має " +"значення :const:`~socket.AF_INET` і ``sock.type`` має значення :const:" +"`~socket.SOCK_STREAM`, і сокет має На ньому встановлено :const:`~socket." +"SO_REUSEADDR` або :const:`~socket.SO_REUSEPORT`. Тести ніколи не повинні " +"встановлювати ці параметри сокетів для сокетів TCP/IP. Єдиним випадком " +"встановлення цих параметрів є тестування багатоадресної розсилки через " +"кілька сокетів UDP." + +msgid "" +"Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " +"available (i.e. on Windows), it will be set on the socket. This will " +"prevent anyone else from binding to our host/port for the duration of the " +"test." +msgstr "" +"Крім того, якщо опція сокета :const:`~socket.SO_EXCLUSIVEADDRUSE` доступна " +"(тобто у Windows), вона буде встановлена на сокеті. Це не дозволить будь-" +"кому іншому підключитися до нашого хосту/порту на час тестування." + +msgid "" +"Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:" +"`PermissionError` is raised." +msgstr "" + +msgid "" +"A decorator for running tests that require a functional ``bind()`` for Unix " +"sockets." +msgstr "" +"Декоратор для запуску тестів, які потребують функціонального ``bind()`` для " +"сокетів Unix." + +msgid "" +"A context manager that raises :exc:`~test.support.ResourceDenied` when " +"various issues with the internet connection manifest themselves as " +"exceptions." +msgstr "" +"Контекстний менеджер, який викликає :exc:`~test.support.ResourceDenied`, " +"коли різні проблеми з підключенням до Інтернету проявляються як винятки." + +msgid "" +":mod:`test.support.script_helper` --- Utilities for the Python execution " +"tests" +msgstr "" +":mod:`test.support.script_helper` --- Утиліти для тестів виконання Python" + +msgid "" +"The :mod:`test.support.script_helper` module provides support for Python's " +"script execution tests." +msgstr "" +"Модуль :mod:`test.support.script_helper` забезпечує підтримку тестів " +"виконання сценаріїв Python." + +msgid "" +"Return ``True`` if ``sys.executable interpreter`` requires environment " +"variables in order to be able to run at all." +msgstr "" +"Повертає ``True``, якщо ``sys.executable інтерпретатор`` вимагає змінних " +"середовища, щоб взагалі мати можливість працювати." + +msgid "" +"This is designed to be used with ``@unittest.skipIf()`` to annotate tests " +"that need to use an ``assert_python*()`` function to launch an isolated mode " +"(``-I``) or no environment mode (``-E``) sub-interpreter process." +msgstr "" +"Це призначено для використання з ``@unittest.skipIf()`` для анотування " +"тестів, які потребують використання функції ``assert_python*()`` для запуску " +"ізольованого режиму (``-I``) або без середовища процес підінтерпретатора " +"режиму (``-E``)." + +msgid "" +"A normal build & test does not run into this situation but it can happen " +"when trying to run the standard library test suite from an interpreter that " +"doesn't have an obvious home with Python's current home finding logic." +msgstr "" +"Звичайна збірка та тестування не стикаються з такою ситуацією, але це може " +"трапитися під час спроби запустити набір тестів стандартної бібліотеки з " +"інтерпретатора, який не має очевидної початкової точки з поточною логікою " +"пошуку початкової точки Python." + +msgid "" +"Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " +"in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " +"other common environment variables that might impact whether or not the " +"interpreter can start." +msgstr "" +"Налаштування :envvar:`PYTHONHOME` є одним із способів запустити більшу " +"частину набору тестів у цій ситуації. :envvar:`PYTHONPATH` або :envvar:" +"`PYTHONUSERSITE` — це інші загальні змінні середовища, які можуть впливати " +"на те, чи може запускатися інтерпретатор." + +msgid "" +"Set up the environment based on *env_vars* for running the interpreter in a " +"subprocess. The values can include ``__isolated``, ``__cleanenv``, " +"``__cwd``, and ``TERM``." +msgstr "" +"Налаштуйте середовище на основі *env_vars* для запуску інтерпретатора в " +"підпроцесі. Значення можуть включати ``__isolated``, ``__cleanenv``, " +"``__cwd`` і ``TERM``." + +msgid "The function no longer strips whitespaces from *stderr*." +msgstr "Ця функція більше не видаляє пробіли з *stderr*." + +msgid "" +"Assert that running the interpreter with *args* and optional environment " +"variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " +"stdout, stderr)`` tuple." +msgstr "" +"Стверджуйте, що запуск інтерпретатора з *args* і необов’язковими змінними " +"середовища *env_vars* успішний (``rc == 0``) і повертає кортеж ``(код " +"повернення, stdout, stderr)``." + +msgid "" +"If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " +"fresh environment." +msgstr "" +"Якщо встановлено параметр лише для ключового слова *__cleanenv*, *env_vars* " +"використовується як нове середовище." + +msgid "" +"Python is started in isolated mode (command line option ``-I``), except if " +"the *__isolated* keyword-only parameter is set to ``False``." +msgstr "" +"Python запускається в ізольованому режимі (параметр командного рядка ``-" +"I``), за винятком випадків, коли для параметра *__isolated* тільки ключове " +"слово встановлено значення ``False``." + +msgid "" +"Assert that running the interpreter with *args* and optional environment " +"variables *env_vars* fails (``rc != 0``) and return a ``(return code, " +"stdout, stderr)`` tuple." +msgstr "" +"Стверджуйте, що запуск інтерпретатора з *args* і необов’язковими змінними " +"середовища *env_vars* не вдається (``rc != 0``), і повертайте кортеж ``(код " +"повернення, stdout, stderr)``." + +msgid "See :func:`assert_python_ok` for more options." +msgstr "" +"Перегляньте :func:`assert_python_ok` для отримання додаткових параметрів." + +msgid "Run a Python subprocess with the given arguments." +msgstr "Запустіть підпроцес Python із заданими аргументами." + +msgid "" +"*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" +"class:`subprocess.Popen` object." +msgstr "" +"*kw* — додаткові аргументи ключового слова, які потрібно передати в :func:" +"`subprocess.Popen`. Повертає об’єкт :class:`subprocess.Popen`." + +msgid "" +"Run the given :class:`subprocess.Popen` process until completion and return " +"stdout." +msgstr "" +"Запустіть заданий процес :class:`subprocess.Popen` до завершення та " +"поверніть stdout." + +msgid "" +"Create script containing *source* in path *script_dir* and " +"*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " +"name. Return the full script path." +msgstr "" +"Створіть сценарій, що містить *source* у шляху *script_dir* і " +"*script_basename*. Якщо *omit_suffix* має значення ``False``, додайте ``." +"py`` до імені. Повернути повний шлях до сценарію." + +msgid "" +"Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which " +"contains the files in *script_name*. *name_in_zip* is the archive name. " +"Return a tuple containing ``(full path, full path of archive name)``." +msgstr "" +"Створіть файл zip за адресами *zip_dir* і *zip_basename* із розширенням " +"``zip``, який містить файли в *script_name*. *name_in_zip* — назва архіву. " +"Повертає кортеж, що містить ``(повний шлях, повний шлях до імені архіву)``." + +msgid "" +"Create a directory named *pkg_dir* containing an ``__init__`` file with " +"*init_source* as its contents." +msgstr "" +"Створіть каталог з назвою *pkg_dir*, що містить файл ``__init__`` із вмістом " +"*init_source*." + +msgid "" +"Create a zip package directory with a path of *zip_dir* and *zip_basename* " +"containing an empty ``__init__`` file and a file *script_basename* " +"containing the *source*. If *compiled* is ``True``, both source files will " +"be compiled and added to the zip package. Return a tuple of the full zip " +"path and the archive name for the zip file." +msgstr "" +"Створіть каталог пакетів zip із шляхом *zip_dir* і *zip_basename*, що " +"містить порожній файл ``__init__`` і файл *script_basename*, що містить " +"*джерело*. Якщо *compiled* має значення ``True``, обидва вихідні файли буде " +"скомпільовано та додано до пакета zip. Повертає кортеж повного шляху до " +"архіву та ім’я архіву для файлу." + +msgid "" +":mod:`test.support.bytecode_helper` --- Support tools for testing correct " +"bytecode generation" +msgstr "" +":mod:`test.support.bytecode_helper` --- Інструменти підтримки для тестування " +"правильної генерації байт-коду" + +msgid "" +"The :mod:`test.support.bytecode_helper` module provides support for testing " +"and inspecting bytecode generation." +msgstr "" +"Модуль :mod:`test.support.bytecode_helper` забезпечує підтримку для " +"тестування та перевірки генерації байт-коду." + +msgid "The module defines the following class:" +msgstr "Модуль визначає наступний клас:" + +msgid "This class has custom assertion methods for inspecting bytecode." +msgstr "У цьому класі є власні методи твердження для перевірки байт-коду." + +msgid "Return the disassembly of *co* as string." +msgstr "Повернути розбирання *co* як рядок." + +msgid "" +"Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." +msgstr "" +"Повертає instr, якщо *opname* знайдено, інакше видає :exc:`AssertionError`." + +msgid "Throws :exc:`AssertionError` if *opname* is found." +msgstr "Видає :exc:`AssertionError`, якщо знайдено *opname*." + +msgid ":mod:`test.support.threading_helper` --- Utilities for threading tests" +msgstr ":mod:`test.support.threading_helper` --- Утиліти для потокових тестів" + +msgid "" +"The :mod:`test.support.threading_helper` module provides support for " +"threading tests." +msgstr "" +"Модуль :mod:`test.support.threading_helper` забезпечує підтримку потокових " +"тестів." + +msgid "" +"Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " +"is still alive after *timeout* seconds." +msgstr "" +"Приєднайтеся до *ланцюжка* протягом *часу очікування*. Викликати :exc:" +"`AssertionError`, якщо потік все ще активний після *часу очікування* секунд." + +msgid "Decorator to ensure the threads are cleaned up even if the test fails." +msgstr "" +"Декоратор, щоб переконатися, що нитки очищені, навіть якщо тест провалиться." + +msgid "" +"Context manager to start *threads*, which is a sequence of threads. *unlock* " +"is a function called after the threads are started, even if an exception was " +"raised; an example would be :meth:`threading.Event.set`. ``start_threads`` " +"will attempt to join the started threads upon exit." +msgstr "" +"Менеджер контексту для запуску *потоків*, який є послідовністю потоків. " +"*unlock* — це функція, яка викликається після запуску потоків, навіть якщо " +"було викликано виняткову ситуацію; прикладом може бути :meth:`threading." +"Event.set`. ``start_threads`` спробує приєднатися до розпочатих потоків " +"після виходу." + +msgid "" +"Cleanup up threads not specified in *original_values*. Designed to emit a " +"warning if a test leaves running threads in the background." +msgstr "" +"Очистити потоки, не вказані в *original_values*. Призначений для видачі " +"попередження, якщо тест залишає запущені потоки у фоновому режимі." + +msgid "Return current thread count and copy of dangling threads." +msgstr "Повертає поточну кількість потоків і копію завислих потоків." + +msgid "" +"Context manager to wait until all threads created in the ``with`` statement " +"exit." +msgstr "" +"Менеджер контексту для очікування завершення роботи всіх потоків, створених " +"у операторі ``with``." + +msgid "" +"Context manager catching :class:`threading.Thread` exception using :func:" +"`threading.excepthook`." +msgstr "" +"Менеджер контексту перехоплює виняток :class:`threading.Thread` за " +"допомогою :func:`threading.excepthook`." + +msgid "Attributes set when an exception is caught:" +msgstr "Атрибути, які встановлюються, коли виявляється виняток:" + +msgid "``exc_type``" +msgstr "``exc_type``" + +msgid "``exc_value``" +msgstr "``exc_value``" + +msgid "``exc_traceback``" +msgstr "``exc_traceback``" + +msgid "``thread``" +msgstr "``потік``" + +msgid "See :func:`threading.excepthook` documentation." +msgstr "Перегляньте документацію :func:`threading.excepthook`." + +msgid "These attributes are deleted at the context manager exit." +msgstr "Ці атрибути видаляються при виході з контекстного менеджера." + +msgid ":mod:`test.support.os_helper` --- Utilities for os tests" +msgstr ":mod:`test.support.os_helper` --- Утиліти для тестування ОС" + +msgid "The :mod:`test.support.os_helper` module provides support for os tests." +msgstr "Модуль :mod:`test.support.os_helper` забезпечує підтримку тестів ОС." + +msgid "A non-ASCII character encodable by :func:`os.fsencode`." +msgstr "Символ не-ASCII, який можна кодувати за допомогою :func:`os.fsencode`." + +msgid "Set to :func:`os.getcwd`." +msgstr "Установіть значення :func:`os.getcwd`." + +msgid "" +"Set to a name that is safe to use as the name of a temporary file. Any " +"temporary file that is created should be closed and unlinked (removed)." +msgstr "" +"Встановіть назву, яку можна безпечно використовувати як назву тимчасового " +"файлу. Будь-який створений тимчасовий файл має бути закритий і від’єднаний " +"(видалений)." + +msgid "" +"Set to a filename containing the :data:`FS_NONASCII` character, if it " +"exists. This guarantees that if the filename exists, it can be encoded and " +"decoded with the default filesystem encoding. This allows tests that require " +"a non-ASCII filename to be easily skipped on platforms where they can't work." +msgstr "" +"Встановіть назву файлу, яка містить символ :data:`FS_NONASCII`, якщо він " +"існує. Це гарантує, що якщо ім’я файлу існує, його можна закодувати та " +"декодувати за допомогою стандартного кодування файлової системи. Це дозволяє " +"легко пропускати тести, які вимагають імені файлу, відмінного від ASCII, на " +"платформах, де вони не можуть працювати." + +msgid "" +"Set to a filename (str type) that should not be able to be encoded by file " +"system encoding in strict mode. It may be ``None`` if it's not possible to " +"generate such a filename." +msgstr "" +"Встановіть ім’я файлу (тип str), яке не можна закодувати за допомогою " +"кодування файлової системи в строгому режимі. Це може бути ``None``, якщо " +"неможливо згенерувати таку назву файлу." + +msgid "" +"Set to a filename (bytes type) that should not be able to be decoded by file " +"system encoding in strict mode. It may be ``None`` if it's not possible to " +"generate such a filename." +msgstr "" +"Встановіть назву файлу (тип байтів), яку не можна буде розшифрувати за " +"допомогою кодування файлової системи в строгому режимі. Це може бути " +"``None``, якщо неможливо згенерувати таку назву файлу." + +msgid "Set to a non-ASCII name for a temporary file." +msgstr "Встановіть назву, відмінну від ASCII, для тимчасового файлу." + +msgid "" +"Class used to temporarily set or unset environment variables. Instances can " +"be used as a context manager and have a complete dictionary interface for " +"querying/modifying the underlying ``os.environ``. After exit from the " +"context manager all changes to environment variables done through this " +"instance will be rolled back." +msgstr "" +"Клас, який використовується для тимчасового встановлення або вимкнення " +"змінних середовища. Екземпляри можна використовувати як контекстний менеджер " +"і мати повний інтерфейс словника для запитів/модифікації основного ``os." +"environ``. Після виходу з диспетчера контексту всі зміни змінних середовища, " +"внесені через цей екземпляр, буде відкочено." + +msgid "Added dictionary interface." +msgstr "Додано інтерфейс словника." + +msgid "" +"Simple :term:`path-like object`. It implements the :meth:`__fspath__` " +"method which just returns the *path* argument. If *path* is an exception, " +"it will be raised in :meth:`!__fspath__`." +msgstr "" +"Простий :term:`path-like object`. Він реалізує метод :meth:`__fspath__`, " +"який просто повертає аргумент *path*. Якщо *path* є винятком, він буде " +"викликаний у :meth:`!__fspath__`." + +msgid "" +"Temporarily set the environment variable ``envvar`` to the value of " +"``value``." +msgstr "" +"Тимчасово встановіть для змінної середовища ``envvar`` значення ``value``." + +msgid "Temporarily unset the environment variable ``envvar``." +msgstr "Тимчасово вимкнути змінну середовища ``envvar``." + +msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." +msgstr "" +"Повертає ``True``, якщо ОС підтримує символічні посилання, ``False`` інакше." + +msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." +msgstr "Повертає ``True``, якщо ОС підтримує xattr, ``False`` інакше." + +msgid "" +"A context manager that temporarily changes the current working directory to " +"*path* and yields the directory." +msgstr "" +"Менеджер контексту, який тимчасово змінює поточний робочий каталог на *шлях* " +"і повертає каталог." + +msgid "" +"If *quiet* is ``False``, the context manager raises an exception on error. " +"Otherwise, it issues only a warning and keeps the current working directory " +"the same." +msgstr "" +"Якщо *quiet* має значення ``False``, менеджер контексту створює виняток у " +"разі помилки. В іншому випадку він видає лише попередження та зберігає " +"поточний робочий каталог незмінним." + +msgid "" +"Create an empty file with *filename*. If it already exists, truncate it." +msgstr "Створіть порожній файл із *ім’ям*. Якщо він уже існує, обріжте його." + +msgid "Count the number of open file descriptors." +msgstr "Підрахуйте кількість відкритих файлових дескрипторів." + +msgid "Return ``True`` if the file system for *directory* is case-insensitive." +msgstr "" +"Повертає ``True``, якщо файлова система для *каталогу* нечутлива до регістру." + +msgid "" +"Create an invalid file descriptor by opening and closing a temporary file, " +"and returning its descriptor." +msgstr "" +"Створіть недійсний дескриптор файлу, відкривши та закриваючи тимчасовий файл " +"і повертаючи його дескриптор." + +msgid "" +"Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " +"with a wait loop that checks for the existence of the file, which is needed " +"due to antivirus programs that can hold files open and prevent deletion." +msgstr "" +"Викличте :func:`os.rmdir` на *назві файлу*. На платформах Windows це " +"обернено циклом очікування, який перевіряє існування файлу, що необхідно " +"через антивірусні програми, які можуть утримувати файли відкритими та " +"запобігати видаленню." + +msgid "" +"Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." +"rmdir` to remove a path and its contents. As with :func:`rmdir`, on Windows " +"platforms this is wrapped with a wait loop that checks for the existence of " +"the files." +msgstr "" +"Викличте :func:`shutil.rmtree` на *path* або викличте :func:`os.lstat` і :" +"func:`os.rmdir`, щоб видалити шлях і його вміст. Як і у випадку з :func:" +"`rmdir`, на платформах Windows це обертається циклом очікування, який " +"перевіряє існування файлів." + +msgid "A decorator for running tests that require support for symbolic links." +msgstr "" +"Декоратор для запуску тестів, які потребують підтримки символьних посилань." + +msgid "A decorator for running tests that require support for xattr." +msgstr "Декоратор для запуску тестів, які потребують підтримки xattr." + +msgid "" +"A context manager that temporarily creates a new directory and changes the " +"current working directory (CWD)." +msgstr "" +"Менеджер контексту, який тимчасово створює новий каталог і змінює поточний " +"робочий каталог (CWD)." + +msgid "" +"The context manager creates a temporary directory in the current directory " +"with name *name* before temporarily changing the current working directory. " +"If *name* is ``None``, the temporary directory is created using :func:" +"`tempfile.mkdtemp`." +msgstr "" +"Менеджер контексту створює тимчасовий каталог у поточному каталозі з назвою " +"*name* перед тим, як тимчасово змінити поточний робочий каталог. Якщо *name* " +"має значення ``None``, тимчасовий каталог створюється за допомогою :func:" +"`tempfile.mkdtemp`." + +msgid "" +"If *quiet* is ``False`` and it is not possible to create or change the CWD, " +"an error is raised. Otherwise, only a warning is raised and the original " +"CWD is used." +msgstr "" +"Якщо *quiet* має значення ``False`` і неможливо створити або змінити CWD, " +"виникає помилка. В іншому випадку виводиться лише попередження та " +"використовується оригінальний CWD." + +msgid "" +"A context manager that creates a temporary directory at *path* and yields " +"the directory." +msgstr "" +"Менеджер контексту, який створює тимчасовий каталог за *шляхом* і дає " +"каталог." + +msgid "" +"If *path* is ``None``, the temporary directory is created using :func:" +"`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " +"exception on error. Otherwise, if *path* is specified and cannot be " +"created, only a warning is issued." +msgstr "" +"Якщо *path* має значення ``None``, тимчасовий каталог створюється за " +"допомогою :func:`tempfile.mkdtemp`. Якщо *quiet* має значення ``False``, " +"менеджер контексту створює виняток у разі помилки. В іншому випадку, якщо " +"вказано *шлях* і його неможливо створити, видається лише попередження." + +msgid "A context manager that temporarily sets the process umask." +msgstr "Менеджер контексту, який тимчасово встановлює umask процесу." + +msgid "" +"Call :func:`os.unlink` on *filename*. As with :func:`rmdir`, on Windows " +"platforms, this is wrapped with a wait loop that checks for the existence of " +"the file." +msgstr "" +"Виклик :func:`os.unlink` на *назві файлу*. Як і у випадку з :func:`rmdir`, " +"на платформах Windows це обернуто циклом очікування, який перевіряє " +"існування файлу." + +msgid ":mod:`test.support.import_helper` --- Utilities for import tests" +msgstr ":mod:`test.support.import_helper` --- Утиліти для імпортування тестів" + +msgid "" +"The :mod:`test.support.import_helper` module provides support for import " +"tests." +msgstr "" +"Модуль :mod:`test.support.import_helper` забезпечує підтримку тестів імпорту." + +msgid "" +"Remove the module named *module_name* from ``sys.modules`` and delete any " +"byte-compiled files of the module." +msgstr "" +"Видаліть модуль із назвою *module_name* із ``sys.modules`` і видаліть усі " +"скомпільовані файли модуля." + +msgid "" +"This function imports and returns a fresh copy of the named Python module by " +"removing the named module from ``sys.modules`` before doing the import. Note " +"that unlike :func:`reload`, the original module is not affected by this " +"operation." +msgstr "" +"Ця функція імпортує та повертає нову копію названого модуля Python, " +"видаливши названий модуль із ``sys.modules`` перед виконанням імпорту. " +"Зауважте, що на відміну від :func:`reload`, ця операція не впливає на " +"вихідний модуль." + +msgid "" +"*fresh* is an iterable of additional module names that are also removed from " +"the ``sys.modules`` cache before doing the import." +msgstr "" +"*fresh* — це ітерація додаткових назв модулів, які також видаляються з кешу " +"``sys.modules`` перед виконанням імпорту." + +msgid "" +"*blocked* is an iterable of module names that are replaced with ``None`` in " +"the module cache during the import to ensure that attempts to import them " +"raise :exc:`ImportError`." +msgstr "" +"*blocked* — це ітерація імен модулів, які замінюються на ``None`` у кеші " +"модуля під час імпорту, щоб гарантувати, що спроби їх імпортувати " +"викликають :exc:`ImportError`." + +msgid "" +"The named module and any modules named in the *fresh* and *blocked* " +"parameters are saved before starting the import and then reinserted into " +"``sys.modules`` when the fresh import is complete." +msgstr "" +"Названий модуль і будь-які модулі, названі в параметрах *fresh* і *blocked*, " +"зберігаються перед початком імпорту, а потім знову вставляються в ``sys." +"modules``, коли новий імпорт буде завершено." + +msgid "" +"Module and package deprecation messages are suppressed during this import if " +"*deprecated* is ``True``." +msgstr "" +"Повідомлення про застарілі модулі та пакети пригнічуються під час цього " +"імпорту, якщо *deprecated* має значення ``True``." + +msgid "" +"This function will raise :exc:`ImportError` if the named module cannot be " +"imported." +msgstr "" +"Ця функція викличе :exc:`ImportError`, якщо вказаний модуль неможливо " +"імпортувати." + +msgid "" +"This function imports and returns the named module. Unlike a normal import, " +"this function raises :exc:`unittest.SkipTest` if the module cannot be " +"imported." +msgstr "" +"Ця функція імпортує та повертає названий модуль. На відміну від звичайного " +"імпорту, ця функція викликає :exc:`unittest.SkipTest`, якщо модуль неможливо " +"імпортувати." + +msgid "" +"Module and package deprecation messages are suppressed during this import if " +"*deprecated* is ``True``. If a module is required on a platform but " +"optional for others, set *required_on* to an iterable of platform prefixes " +"which will be compared against :data:`sys.platform`." +msgstr "" +"Повідомлення про застарілі модулі та пакети пригнічуються під час цього " +"імпорту, якщо *deprecated* має значення ``True``. Якщо модуль потрібен на " +"платформі, але необов’язковий для інших, установіть *required_on* на " +"ітерацію префіксів платформи, які порівнюватимуться з :data:`sys.platform`." + +msgid "Return a copy of :data:`sys.modules`." +msgstr "Повернути копію :data:`sys.modules`." + +msgid "" +"Remove modules except for *oldmodules* and ``encodings`` in order to " +"preserve internal cache." +msgstr "" +"Видаліть модулі, за винятком *oldmodules* і ``encoding``, щоб зберегти " +"внутрішній кеш." + +msgid "Delete *name* from ``sys.modules``." +msgstr "Видалити *name* з ``sys.modules``." + +msgid "" +"Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return " +"the file system path to the legacy pyc file. The *source* value is the file " +"system path to the source file. It does not need to exist, however the PEP " +"3147/488 pyc file must exist." +msgstr "" +"Перемістіть :pep:`3147`/:pep:`488` файл pyc до його застарілого розташування " +"pyc і поверніть шлях файлової системи до застарілого pyc-файлу. Значення " +"*source* — це шлях файлової системи до вихідного файлу. Він не обов’язково " +"існує, однак файл PEP 3147/488 pyc має існувати." + +msgid "" +"A context manager to force import to return a new module reference. This is " +"useful for testing module-level behaviors, such as the emission of a :exc:" +"`DeprecationWarning` on import. Example usage::" +msgstr "" +"Менеджер контексту для примусового імпортування для повернення нового " +"посилання на модуль. Це корисно для тестування поведінки на рівні модуля, " +"наприклад виведення :exc:`DeprecationWarning` під час імпорту. Приклад " +"використання::" + +msgid "A context manager to temporarily add directories to :data:`sys.path`." +msgstr "" +"Менеджер контексту для тимчасового додавання каталогів до :data:`sys.path`." + +msgid "" +"This makes a copy of :data:`sys.path`, appends any directories given as " +"positional arguments, then reverts :data:`sys.path` to the copied settings " +"when the context ends." +msgstr "" +"Це створює копію :data:`sys.path`, додає будь-які каталоги, надані як " +"позиційні аргументи, а потім повертає :data:`sys.path` скопійовані " +"налаштування, коли контекст закінчується." + +msgid "" +"Note that *all* :data:`sys.path` modifications in the body of the context " +"manager, including replacement of the object, will be reverted at the end of " +"the block." +msgstr "" +"Зауважте, що *всі* :data:`sys.path` зміни в тілі контекстного менеджера, " +"включаючи заміну об’єкта, буде скасовано в кінці блоку." + +msgid ":mod:`test.support.warnings_helper` --- Utilities for warnings tests" +msgstr "" +":mod:`test.support.warnings_helper` --- Утиліти для перевірки попереджень" + +msgid "" +"The :mod:`test.support.warnings_helper` module provides support for warnings " +"tests." +msgstr "" +"Модуль :mod:`test.support.warnings_helper` забезпечує підтримку тестів " +"попереджень." + +msgid "" +"Context manager to check that no :exc:`ResourceWarning` was raised. You " +"must remove the object which may emit :exc:`ResourceWarning` before the end " +"of the context manager." +msgstr "" +"Менеджер контексту для перевірки відсутності :exc:`ResourceWarning`. Ви " +"повинні видалити об’єкт, який може видати :exc:`ResourceWarning` перед " +"завершенням контекстного менеджера." + +msgid "" +"Test for syntax warning in *statement* by attempting to compile *statement*. " +"Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " +"will be converted to a :exc:`SyntaxError` when turned into error. *testcase* " +"is the :mod:`unittest` instance for the test. *errtext* is the regular " +"expression which should match the string representation of the emitted :exc:" +"`SyntaxWarning` and raised :exc:`SyntaxError`. If *lineno* is not ``None``, " +"compares to the line of the warning and exception. If *offset* is not " +"``None``, compares to the offset of the exception." +msgstr "" +"Перевірте синтаксичне попередження в *операторі*, спробувавши скомпілювати " +"*оператор*. Перевірте також, що :exc:`SyntaxWarning` видається лише один " +"раз, і що воно буде перетворено на :exc:`SyntaxError`, коли перетвориться на " +"помилку. *testcase* — це екземпляр :mod:`unittest` для тесту. *errtext* — це " +"регулярний вираз, який має відповідати рядковому представленню випущеного :" +"exc:`SyntaxWarning` і викликаного :exc:`SyntaxError`. Якщо *lineno* не є " +"``None``, порівнюється з рядком попередження та винятку. Якщо *offset* не є " +"``None``, порівнюється зі зміщенням винятку." + +msgid "" +"A convenience wrapper for :func:`warnings.catch_warnings()` that makes it " +"easier to test that a warning was correctly raised. It is approximately " +"equivalent to calling ``warnings.catch_warnings(record=True)`` with :meth:" +"`warnings.simplefilter` set to ``always`` and with the option to " +"automatically validate the results that are recorded." +msgstr "" +"Зручна оболонка для :func:`warnings.catch_warnings()`, яка полегшує " +"перевірку правильності виклику попередження. Це приблизно еквівалентно " +"виклику ``warnings.catch_warnings(record=True)`` з :meth:`warnings." +"simplefilter`, встановленим на ``always`` і з опцією автоматичної перевірки " +"результатів, які записуються." + +msgid "" +"``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " +"WarningCategory)`` as positional arguments. If one or more *filters* are " +"provided, or if the optional keyword argument *quiet* is ``False``, it " +"checks to make sure the warnings are as expected: each specified filter " +"must match at least one of the warnings raised by the enclosed code or the " +"test fails, and if any warnings are raised that do not match any of the " +"specified filters the test fails. To disable the first of these checks, set " +"*quiet* to ``True``." +msgstr "" +"``check_warnings`` приймає 2-кортежі форми ``(\"message regexp\", " +"WarningCategory)`` як позиційні аргументи. Якщо надано один або більше " +"*фільтрів*, або якщо необов’язковий аргумент ключового слова *quiet* має " +"значення ``False``, він перевіряє, щоб переконатися, що попередження " +"відповідають очікуванням: кожен вказаний фільтр повинен відповідати " +"принаймні одному з попереджень, викликаних вкладений код або тест не " +"вдається, і якщо виникають попередження, які не відповідають жодному з " +"указаних фільтрів, тест не вдається. Щоб вимкнути першу з цих перевірок, " +"установіть *quiet* на ``True``." + +msgid "If no arguments are specified, it defaults to::" +msgstr "Якщо аргументи не вказано, за замовчуванням::" + +msgid "In this case all warnings are caught and no errors are raised." +msgstr "У цьому випадку всі попередження вловлюються, а помилки не виникають." + +msgid "" +"On entry to the context manager, a :class:`WarningRecorder` instance is " +"returned. The underlying warnings list from :func:`~warnings.catch_warnings` " +"is available via the recorder object's :attr:`warnings` attribute. As a " +"convenience, the attributes of the object representing the most recent " +"warning can also be accessed directly through the recorder object (see " +"example below). If no warning has been raised, then any of the attributes " +"that would otherwise be expected on an object representing a warning will " +"return ``None``." +msgstr "" +"Після входу в контекстний менеджер повертається екземпляр :class:" +"`WarningRecorder`. Базовий список попереджень із :func:`~warnings." +"catch_warnings` доступний через атрибут :attr:`warnings` об’єкта запису. Для " +"зручності атрибути об’єкта, що представляє останнє попередження, також можна " +"отримати безпосередньо через об’єкт запису (див. приклад нижче). Якщо " +"попередження не було викликано, тоді будь-який з атрибутів, які в іншому " +"випадку очікувалися б для об’єкта, що представляє попередження, поверне " +"``None``." + +msgid "" +"The recorder object also has a :meth:`reset` method, which clears the " +"warnings list." +msgstr "" +"Об’єкт recorder також має метод :meth:`reset`, який очищає список " +"попереджень." + +msgid "The context manager is designed to be used like this::" +msgstr "Контекстний менеджер призначений для використання таким чином:" + +msgid "" +"In this case if either warning was not raised, or some other warning was " +"raised, :func:`check_warnings` would raise an error." +msgstr "" +"У цьому випадку, якщо попередження не було викликано, або якесь інше " +"попередження було викликано, :func:`check_warnings` викличе помилку." + +msgid "" +"When a test needs to look more deeply into the warnings, rather than just " +"checking whether or not they occurred, code like this can be used::" +msgstr "" +"Коли під час тестування потрібно глибше вивчити попередження, а не просто " +"перевірити, чи вони виникли чи ні, можна використати такий код:" + +msgid "" +"Here all warnings will be caught, and the test code tests the captured " +"warnings directly." +msgstr "" +"Тут будуть перехоплені всі попередження, а тестовий код безпосередньо " +"перевірить захоплені попередження." + +msgid "New optional arguments *filters* and *quiet*." +msgstr "Нові необов'язкові аргументи *фільтри* та *тихий*." + +msgid "" +"Class used to record warnings for unit tests. See documentation of :func:" +"`check_warnings` above for more details." +msgstr "" +"Клас, який використовується для запису попереджень для модульних тестів. " +"Перегляньте документацію :func:`check_warnings` вище, щоб дізнатися більше." diff --git a/library/text.po b/library/text.po new file mode 100644 index 000000000..82e6a3202 --- /dev/null +++ b/library/text.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Text Processing Services" +msgstr "Послуги обробки тексту" + +msgid "" +"The modules described in this chapter provide a wide range of string " +"manipulation operations and other text processing services." +msgstr "" +"Модулі, описані в цьому розділі, забезпечують широкий спектр операцій " +"обробки рядків та інших служб обробки тексту." + +msgid "" +"The :mod:`codecs` module described under :ref:`binaryservices` is also " +"highly relevant to text processing. In addition, see the documentation for " +"Python's built-in string type in :ref:`textseq`." +msgstr "" +"Модуль :mod:`codecs`, описаний у розділі :ref:`binaryservices`, також дуже " +"актуальний для обробки тексту. Крім того, перегляньте документацію щодо " +"вбудованого рядкового типу Python у :ref:`textseq`." diff --git a/library/textwrap.po b/library/textwrap.po new file mode 100644 index 000000000..95a45d5d8 --- /dev/null +++ b/library/textwrap.po @@ -0,0 +1,406 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`textwrap` --- Text wrapping and filling" +msgstr ":mod:`textwrap` --- Обтікання та заповнення текстом" + +msgid "**Source code:** :source:`Lib/textwrap.py`" +msgstr "**Вихідний код:** :source:`Lib/textwrap.py`" + +msgid "" +"The :mod:`textwrap` module provides some convenience functions, as well as :" +"class:`TextWrapper`, the class that does all the work. If you're just " +"wrapping or filling one or two text strings, the convenience functions " +"should be good enough; otherwise, you should use an instance of :class:" +"`TextWrapper` for efficiency." +msgstr "" +"Модуль :mod:`textwrap` надає деякі зручні функції, а також :class:" +"`TextWrapper`, клас, який виконує всю роботу. Якщо ви просто обтікаєте або " +"заповнюєте один або два текстові рядки, зручні функції мають бути достатньо " +"хорошими; інакше вам слід використовувати екземпляр :class:`TextWrapper` для " +"ефективності." + +msgid "" +"Wraps the single paragraph in *text* (a string) so every line is at most " +"*width* characters long. Returns a list of output lines, without final " +"newlines." +msgstr "" +"Обертає один абзац у *текст* (рядок), щоб кожен рядок містив щонайбільше " +"*width* символів. Повертає список вихідних рядків без кінцевих нових рядків." + +msgid "" +"Optional keyword arguments correspond to the instance attributes of :class:" +"`TextWrapper`, documented below." +msgstr "" +"Необов’язкові аргументи ключового слова відповідають атрибутам екземпляра :" +"class:`TextWrapper`, задокументованим нижче." + +msgid "" +"See the :meth:`TextWrapper.wrap` method for additional details on how :func:" +"`wrap` behaves." +msgstr "" +"Перегляньте метод :meth:`TextWrapper.wrap`, щоб дізнатися більше про те, як " +"поводиться :func:`wrap`." + +msgid "" +"Wraps the single paragraph in *text*, and returns a single string containing " +"the wrapped paragraph. :func:`fill` is shorthand for ::" +msgstr "" +"Переносить окремий абзац у *текст* і повертає один рядок, що містить " +"перенесений абзац. :func:`fill` є скороченням для ::" + +msgid "" +"In particular, :func:`fill` accepts exactly the same keyword arguments as :" +"func:`wrap`." +msgstr "" +"Зокрема, :func:`fill` приймає ті самі ключові аргументи, що й :func:`wrap`." + +msgid "Collapse and truncate the given *text* to fit in the given *width*." +msgstr "" +"Згорніть і скоротіть заданий *текст*, щоб відповідати заданій *ширині*." + +msgid "" +"First the whitespace in *text* is collapsed (all whitespace is replaced by " +"single spaces). If the result fits in the *width*, it is returned. " +"Otherwise, enough words are dropped from the end so that the remaining words " +"plus the :attr:`placeholder` fit within :attr:`width`::" +msgstr "" +"Спочатку пробіли в *тексті* згортаються (усі пробіли замінюються одинарними " +"пробілами). Якщо результат відповідає *ширині*, він повертається. В іншому " +"випадку з кінця буде відкинуто достатню кількість слів, щоб решта слів і :" +"attr:`placeholder` помістилися в :attr:`width`::" + +msgid "" +"Optional keyword arguments correspond to the instance attributes of :class:" +"`TextWrapper`, documented below. Note that the whitespace is collapsed " +"before the text is passed to the :class:`TextWrapper` :meth:`fill` function, " +"so changing the value of :attr:`.tabsize`, :attr:`.expand_tabs`, :attr:`." +"drop_whitespace`, and :attr:`.replace_whitespace` will have no effect." +msgstr "" +"Необов’язкові аргументи ключового слова відповідають атрибутам екземпляра :" +"class:`TextWrapper`, задокументованим нижче. Зауважте, що пробіли " +"згортаються перед тим, як текст передається до функції :class:`TextWrapper` :" +"meth:`fill`, тому змінюється значення :attr:`.tabsize`, :attr:`." +"expand_tabs`, :attr:`.drop_whitespace` і :attr:`.replace_whitespace` не " +"матимуть ефекту." + +msgid "Remove any common leading whitespace from every line in *text*." +msgstr "Видаліть усі загальні пробіли на початку кожного рядка в *тексті*." + +msgid "" +"This can be used to make triple-quoted strings line up with the left edge of " +"the display, while still presenting them in the source code in indented form." +msgstr "" +"Це можна використовувати для того, щоб рядки в потрійних лапках " +"вирівнювалися з лівим краєм дисплея, водночас представляючи їх у вихідному " +"коді у формі відступу." + +msgid "" +"Note that tabs and spaces are both treated as whitespace, but they are not " +"equal: the lines ``\" hello\"`` and ``\"\\thello\"`` are considered to have " +"no common leading whitespace." +msgstr "" +"Зауважте, що табуляції та пробіли розглядаються як пробіли, але вони не " +"однакові: рядки ``\" hello\"`` і ``\"\\thello\"`` вважаються такими, що не " +"мають спільних пробілів на початку." + +msgid "" +"Lines containing only whitespace are ignored in the input and normalized to " +"a single newline character in the output." +msgstr "" +"Рядки, що містять лише пробіли, ігноруються у вхідних даних і нормалізуються " +"до одного символу нового рядка у вихідних даних." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "Add *prefix* to the beginning of selected lines in *text*." +msgstr "Додати *префікс* до початку виділених рядків у *тексті*." + +msgid "Lines are separated by calling ``text.splitlines(True)``." +msgstr "Рядки розділяються викликом ``text.splitlines(True)``." + +msgid "" +"By default, *prefix* is added to all lines that do not consist solely of " +"whitespace (including any line endings)." +msgstr "" +"За замовчуванням *префікс* додається до всіх рядків, які не складаються лише " +"з пробілів (включаючи будь-які закінчення рядків)." + +msgid "" +"The optional *predicate* argument can be used to control which lines are " +"indented. For example, it is easy to add *prefix* to even empty and " +"whitespace-only lines::" +msgstr "" +"Необов'язковий аргумент *предикат* може використовуватися для контролю того, " +"які рядки мають відступ. Наприклад, можна легко додати *префікс* навіть до " +"порожніх рядків із пробілами::" + +msgid "" +":func:`wrap`, :func:`fill` and :func:`shorten` work by creating a :class:" +"`TextWrapper` instance and calling a single method on it. That instance is " +"not reused, so for applications that process many text strings using :func:" +"`wrap` and/or :func:`fill`, it may be more efficient to create your own :" +"class:`TextWrapper` object." +msgstr "" +":func:`wrap`, :func:`fill` і :func:`shorten` працюють, створюючи екземпляр :" +"class:`TextWrapper` і викликаючи для нього один метод. Цей екземпляр не " +"використовується повторно, тому для програм, які обробляють багато текстових " +"рядків за допомогою :func:`wrap` та/або :func:`fill`, може бути ефективнішим " +"створити власний об’єкт :class:`TextWrapper`." + +msgid "" +"Text is preferably wrapped on whitespaces and right after the hyphens in " +"hyphenated words; only then will long words be broken if necessary, unless :" +"attr:`TextWrapper.break_long_words` is set to false." +msgstr "" +"Текст бажано розміщувати через пробіли та одразу після дефісів у словах із " +"переносами; лише тоді довгі слова будуть розбиті, якщо необхідно, якщо :attr:" +"`TextWrapper.break_long_words` не встановлено на false." + +msgid "" +"The :class:`TextWrapper` constructor accepts a number of optional keyword " +"arguments. Each keyword argument corresponds to an instance attribute, so " +"for example ::" +msgstr "" +"Конструктор :class:`TextWrapper` приймає декілька необов’язкових ключових " +"аргументів. Кожен аргумент ключового слова відповідає атрибуту екземпляра, " +"тому, наприклад, ::" + +msgid "is the same as ::" +msgstr "те саме, що ::" + +msgid "" +"You can re-use the same :class:`TextWrapper` object many times, and you can " +"change any of its options through direct assignment to instance attributes " +"between uses." +msgstr "" +"Ви можете повторно використовувати той самий об’єкт :class:`TextWrapper` " +"багато разів, і ви можете змінити будь-який із його параметрів шляхом " +"прямого призначення атрибутам екземпляра між використаннями." + +msgid "" +"The :class:`TextWrapper` instance attributes (and keyword arguments to the " +"constructor) are as follows:" +msgstr "" +"Атрибути екземпляра :class:`TextWrapper` (та ключові аргументи конструктора) " +"такі:" + +msgid "" +"(default: ``70``) The maximum length of wrapped lines. As long as there are " +"no individual words in the input text longer than :attr:`width`, :class:" +"`TextWrapper` guarantees that no output line will be longer than :attr:" +"`width` characters." +msgstr "" +"(за замовчуванням: ``70``) Максимальна довжина перенесених рядків. Поки у " +"вхідному тексті немає окремих слів, довші за :attr:`width`, :class:" +"`TextWrapper` гарантує, що жоден вихідний рядок не буде довшим за :attr:" +"`width` символів." + +msgid "" +"(default: ``True``) If true, then all tab characters in *text* will be " +"expanded to spaces using the :meth:`expandtabs` method of *text*." +msgstr "" +"(за замовчуванням: ``True``). Якщо істинно, то всі символи табуляції в " +"*text* будуть розгорнуті на пробіли за допомогою методу :meth:`expandtabs` " +"*text*." + +msgid "" +"(default: ``8``) If :attr:`expand_tabs` is true, then all tab characters in " +"*text* will be expanded to zero or more spaces, depending on the current " +"column and the given tab size." +msgstr "" +"(за замовчуванням: ``8``) Якщо :attr:`expand_tabs` має значення true, тоді " +"всі символи табуляції в *тексті* буде розгорнуто до нуля або більше " +"пробілів, залежно від поточного стовпця та заданого розміру табуляції." + +msgid "" +"(default: ``True``) If true, after tab expansion but before wrapping, the :" +"meth:`wrap` method will replace each whitespace character with a single " +"space. The whitespace characters replaced are as follows: tab, newline, " +"vertical tab, formfeed, and carriage return (``'\\t\\n\\v\\f\\r'``)." +msgstr "" +"(за замовчуванням: ``True``). Якщо істинно, після розгортання табуляції, але " +"перед обтіканням, метод :meth:`wrap` замінить кожен пробільний символ на " +"один пробіл. Замінені пробіли: символи табуляції, нового рядка, вертикальної " +"табуляції, переходу форми та повернення каретки (``'\\t\\n\\v\\f\\r'``)." + +msgid "" +"If :attr:`expand_tabs` is false and :attr:`replace_whitespace` is true, each " +"tab character will be replaced by a single space, which is *not* the same as " +"tab expansion." +msgstr "" +"Якщо :attr:`expand_tabs` має значення false і :attr:`replace_whitespace` має " +"значення true, кожен символ табуляції буде замінено одним пробілом, що *не* " +"те саме, що розширення табуляції." + +msgid "" +"If :attr:`replace_whitespace` is false, newlines may appear in the middle of " +"a line and cause strange output. For this reason, text should be split into " +"paragraphs (using :meth:`str.splitlines` or similar) which are wrapped " +"separately." +msgstr "" +"Якщо :attr:`replace_whitespace` має значення false, новий рядок може " +"з’являтися в середині рядка та викликати дивний результат. З цієї причини " +"текст має бути розділений на абзаци (за допомогою :meth:`str.splitlines` або " +"подібного), які переносять окремо." + +msgid "" +"(default: ``True``) If true, whitespace at the beginning and ending of every " +"line (after wrapping but before indenting) is dropped. Whitespace at the " +"beginning of the paragraph, however, is not dropped if non-whitespace " +"follows it. If whitespace being dropped takes up an entire line, the whole " +"line is dropped." +msgstr "" +"(за замовчуванням: ``True``). Якщо true, пробіли на початку та в кінці " +"кожного рядка (після обтікання, але перед відступом) видаляються. Проте " +"пробіли на початку абзацу не видаляються, якщо за ними слідують непробіли. " +"Якщо відкинутий пробіл займає весь рядок, весь рядок буде відкинуто." + +msgid "" +"(default: ``''``) String that will be prepended to the first line of wrapped " +"output. Counts towards the length of the first line. The empty string is " +"not indented." +msgstr "" +"(за замовчуванням: ``''``) Рядок, який буде додано до першого рядка " +"обгорнутого виводу. Зараховується до довжини першого рядка. Порожній рядок " +"не має відступу." + +msgid "" +"(default: ``''``) String that will be prepended to all lines of wrapped " +"output except the first. Counts towards the length of each line except the " +"first." +msgstr "" +"(за замовчуванням: ``''``) Рядок, який буде додано до всіх рядків " +"обгорнутого виводу, крім першого. Враховується в довжину кожного рядка, крім " +"першого." + +msgid "" +"(default: ``False``) If true, :class:`TextWrapper` attempts to detect " +"sentence endings and ensure that sentences are always separated by exactly " +"two spaces. This is generally desired for text in a monospaced font. " +"However, the sentence detection algorithm is imperfect: it assumes that a " +"sentence ending consists of a lowercase letter followed by one of ``'.'``, " +"``'!'``, or ``'?'``, possibly followed by one of ``'\"'`` or ``\"'\"``, " +"followed by a space. One problem with this is algorithm is that it is " +"unable to detect the difference between \"Dr.\" in ::" +msgstr "" +"(за замовчуванням: ``False``) Якщо true, :class:`TextWrapper` намагається " +"виявити закінчення речень і гарантувати, що речення завжди розділені рівно " +"двома пробілами. Зазвичай це бажано для тексту моноширинним шрифтом. Однак " +"алгоритм виявлення речення недосконалий: він припускає, що закінчення " +"речення складається з малої літери, за якою слідує одна з \"``\".''``, " +"``'!''`` або ``'?''``, можливо за яким іде одне з ``'\"'`` або ``\"'\"``, " +"після чого йде пробіл. Однією з проблем цього алгоритму є те, що він не може " +"виявити різницю між \"доктором\" у ::" + +msgid "and \"Spot.\" in ::" +msgstr "і \"Пляма\". в ::" + +msgid ":attr:`fix_sentence_endings` is false by default." +msgstr ":attr:`fix_sentence_endings` за замовчуванням має значення false." + +msgid "" +"Since the sentence detection algorithm relies on ``string.lowercase`` for " +"the definition of \"lowercase letter\", and a convention of using two spaces " +"after a period to separate sentences on the same line, it is specific to " +"English-language texts." +msgstr "" +"Оскільки алгоритм виявлення речень покладається на ``string.lowercase`` для " +"визначення \"маленької літери\" та умовність використання двох пробілів " +"після крапки для розділення речень в одному рядку, він є специфічним для " +"англомовних текстів." + +msgid "" +"(default: ``True``) If true, then words longer than :attr:`width` will be " +"broken in order to ensure that no lines are longer than :attr:`width`. If " +"it is false, long words will not be broken, and some lines may be longer " +"than :attr:`width`. (Long words will be put on a line by themselves, in " +"order to minimize the amount by which :attr:`width` is exceeded.)" +msgstr "" +"(за замовчуванням: ``True``). Якщо значення true, то слова, довші за :attr:" +"`width`, будуть розбиті, щоб переконатися, що жоден рядок не буде довшим за :" +"attr:`width`. Якщо значення false, довгі слова не будуть розбиті, а деякі " +"рядки можуть бути довшими за :attr:`width`. (Довгі слова будуть розміщені в " +"рядку самостійно, щоб мінімізувати кількість перевищень :attr:`width`.)" + +msgid "" +"(default: ``True``) If true, wrapping will occur preferably on whitespaces " +"and right after hyphens in compound words, as it is customary in English. If " +"false, only whitespaces will be considered as potentially good places for " +"line breaks, but you need to set :attr:`break_long_words` to false if you " +"want truly insecable words. Default behaviour in previous versions was to " +"always allow breaking hyphenated words." +msgstr "" +"(за замовчуванням: ``True``). Якщо істинно, перенесення відбуватиметься " +"переважно через пробіли та одразу після дефісів у складних словах, як це " +"прийнято в англійській мові. Якщо false, лише пробіли вважатимуться " +"потенційно хорошими місцями для розриву рядків, але вам потрібно встановити :" +"attr:`break_long_words` на false, якщо ви хочете справді нероздільні слова. " +"Поведінка за замовчуванням у попередніх версіях полягала в тому, що завжди " +"дозволялося розривати слова через дефіс." + +msgid "" +"(default: ``None``) If not ``None``, then the output will contain at most " +"*max_lines* lines, with *placeholder* appearing at the end of the output." +msgstr "" +"(за замовчуванням: ``None``). Якщо не ``None``, то вихідні дані міститимуть " +"щонайбільше *max_lines* рядків із *заповнювачем* у кінці виведення." + +msgid "" +"(default: ``' [...]'``) String that will appear at the end of the output " +"text if it has been truncated." +msgstr "" +"(за замовчуванням: ``' [...]'``) Рядок, який відображатиметься в кінці " +"вихідного тексту, якщо його було скорочено." + +msgid "" +":class:`TextWrapper` also provides some public methods, analogous to the " +"module-level convenience functions:" +msgstr "" +":class:`TextWrapper` також надає деякі публічні методи, аналогічні зручним " +"функціям на рівні модуля:" + +msgid "" +"Wraps the single paragraph in *text* (a string) so every line is at most :" +"attr:`width` characters long. All wrapping options are taken from instance " +"attributes of the :class:`TextWrapper` instance. Returns a list of output " +"lines, without final newlines. If the wrapped output has no content, the " +"returned list is empty." +msgstr "" +"Переносить окремий абзац у *текст* (рядок), щоб кожен рядок містив " +"щонайбільше :attr:`width` символів. Усі параметри обтікання беруться з " +"атрибутів екземпляра екземпляра :class:`TextWrapper`. Повертає список " +"вихідних рядків без кінцевих нових рядків. Якщо обернутий результат не має " +"вмісту, повернутий список порожній." + +msgid "" +"Wraps the single paragraph in *text*, and returns a single string containing " +"the wrapped paragraph." +msgstr "" +"Переносить один абзац у *текст* і повертає один рядок, що містить " +"перенесений абзац." diff --git a/library/threading.po b/library/threading.po new file mode 100644 index 000000000..85c180373 --- /dev/null +++ b/library/threading.po @@ -0,0 +1,1741 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`threading` --- Thread-based parallelism" +msgstr ":mod:`threading` --- Паралелізм на основі потоків" + +msgid "**Source code:** :source:`Lib/threading.py`" +msgstr "**Вихідний код:** :source:`Lib/threading.py`" + +msgid "" +"This module constructs higher-level threading interfaces on top of the lower " +"level :mod:`_thread` module." +msgstr "" + +msgid "This module used to be optional, it is now always available." +msgstr "Раніше цей модуль був необов’язковим, тепер він доступний завжди." + +msgid "" +":class:`concurrent.futures.ThreadPoolExecutor` offers a higher level " +"interface to push tasks to a background thread without blocking execution of " +"the calling thread, while still being able to retrieve their results when " +"needed." +msgstr "" + +msgid "" +":mod:`queue` provides a thread-safe interface for exchanging data between " +"running threads." +msgstr "" + +msgid "" +":mod:`asyncio` offers an alternative approach to achieving task level " +"concurrency without requiring the use of multiple operating system threads." +msgstr "" + +msgid "" +"In the Python 2.x series, this module contained ``camelCase`` names for some " +"methods and functions. These are deprecated as of Python 3.10, but they are " +"still supported for compatibility with Python 2.5 and lower." +msgstr "" +"У серії Python 2.x цей модуль містив назви ``camelCase`` для деяких методів " +"і функцій. Вони застаріли з Python 3.10, але вони все ще підтримуються для " +"сумісності з Python 2.5 і старішими." + +msgid "" +"In CPython, due to the :term:`Global Interpreter Lock `, only one thread can execute Python code at once (even though certain " +"performance-oriented libraries might overcome this limitation). If you want " +"your application to make better use of the computational resources of multi-" +"core machines, you are advised to use :mod:`multiprocessing` or :class:" +"`concurrent.futures.ProcessPoolExecutor`. However, threading is still an " +"appropriate model if you want to run multiple I/O-bound tasks simultaneously." +msgstr "" +"У CPython, завдяки :term:`Global Interpreter Lock `, лише один потік може виконувати код Python одночасно (навіть якщо " +"певні бібліотеки, орієнтовані на продуктивність, можуть подолати це " +"обмеження). Якщо ви хочете, щоб ваша програма краще використовувала " +"обчислювальні ресурси багатоядерних машин, радимо використовувати :mod:" +"`multiprocessing` або :class:`concurrent.futures.ProcessPoolExecutor`. Однак " +"потокова розв’язка все ще є відповідною моделлю, якщо ви хочете одночасно " +"запускати кілька завдань, пов’язаних із вводом-виводом." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "This module defines the following functions:" +msgstr "Цей модуль визначає такі функції:" + +msgid "" +"Return the number of :class:`Thread` objects currently alive. The returned " +"count is equal to the length of the list returned by :func:`.enumerate`." +msgstr "" +"Повертає кількість активних об’єктів :class:`Thread`. Повернена кількість " +"дорівнює довжині списку, повернутого :func:`.enumerate`." + +msgid "The function ``activeCount`` is a deprecated alias for this function." +msgstr "Функція ``activeCount`` є застарілим псевдонімом для цієї функції." + +msgid "" +"Return the current :class:`Thread` object, corresponding to the caller's " +"thread of control. If the caller's thread of control was not created " +"through the :mod:`threading` module, a dummy thread object with limited " +"functionality is returned." +msgstr "" +"Повертає поточний об’єкт :class:`Thread`, що відповідає потоку керування " +"абонента. Якщо потік керування викликаючого не було створено за допомогою " +"модуля :mod:`threading`, повертається фіктивний об’єкт потоку з обмеженою " +"функціональністю." + +msgid "The function ``currentThread`` is a deprecated alias for this function." +msgstr "Функція ``currentThread`` є застарілим псевдонімом для цієї функції." + +msgid "Handle uncaught exception raised by :func:`Thread.run`." +msgstr "Обробляти неперехоплений виняток, викликаний :func:`Thread.run`." + +msgid "The *args* argument has the following attributes:" +msgstr "Аргумент *args* має такі атрибути:" + +msgid "*exc_type*: Exception type." +msgstr "*exc_type*: Тип винятку." + +msgid "*exc_value*: Exception value, can be ``None``." +msgstr "*exc_value*: значення винятку, може бути ``None``." + +msgid "*exc_traceback*: Exception traceback, can be ``None``." +msgstr "*exc_traceback*: Зворотне відстеження винятків, може бути ``None``." + +msgid "*thread*: Thread which raised the exception, can be ``None``." +msgstr "*потік*: Потік, який викликав виняток, може бути ``None``." + +msgid "" +"If *exc_type* is :exc:`SystemExit`, the exception is silently ignored. " +"Otherwise, the exception is printed out on :data:`sys.stderr`." +msgstr "" +"Якщо *exc_type* дорівнює :exc:`SystemExit`, виняток мовчки ігнорується. В " +"іншому випадку виняток друкується на :data:`sys.stderr`." + +msgid "" +"If this function raises an exception, :func:`sys.excepthook` is called to " +"handle it." +msgstr "" +"Якщо ця функція викликає виняткову ситуацію, для її обробки викликається :" +"func:`sys.excepthook`." + +msgid "" +":func:`threading.excepthook` can be overridden to control how uncaught " +"exceptions raised by :func:`Thread.run` are handled." +msgstr "" +":func:`threading.excepthook` можна перевизначити, щоб контролювати, як " +"обробляються неперехоплені винятки, викликані :func:`Thread.run`." + +msgid "" +"Storing *exc_value* using a custom hook can create a reference cycle. It " +"should be cleared explicitly to break the reference cycle when the exception " +"is no longer needed." +msgstr "" +"Зберігання *exc_value* за допомогою спеціального хука може створити " +"еталонний цикл. Його слід явно очистити, щоб розірвати цикл посилання, коли " +"виняток більше не потрібен." + +msgid "" +"Storing *thread* using a custom hook can resurrect it if it is set to an " +"object which is being finalized. Avoid storing *thread* after the custom " +"hook completes to avoid resurrecting objects." +msgstr "" +"Зберігання *потоку* за допомогою спеціального хука може відновити його, якщо " +"він встановлений для об’єкта, який завершується. Уникайте зберігання " +"*thread* після завершення власного хука, щоб уникнути відновлення об’єктів." + +msgid ":func:`sys.excepthook` handles uncaught exceptions." +msgstr ":func:`sys.excepthook` обробляє неперехоплені винятки." + +msgid "" +"Holds the original value of :func:`threading.excepthook`. It is saved so " +"that the original value can be restored in case they happen to get replaced " +"with broken or alternative objects." +msgstr "" +"Зберігає вихідне значення :func:`threading.excepthook`. Він зберігається, " +"щоб можна було відновити початкове значення у випадку, якщо вони заміняться " +"зламаними або альтернативними об’єктами." + +msgid "" +"Return the 'thread identifier' of the current thread. This is a nonzero " +"integer. Its value has no direct meaning; it is intended as a magic cookie " +"to be used e.g. to index a dictionary of thread-specific data. Thread " +"identifiers may be recycled when a thread exits and another thread is " +"created." +msgstr "" +"Повертає \"ідентифікатор потоку\" поточного потоку. Це ненульове ціле число. " +"Його значення не має прямого значення; воно призначене як магічне печиво, " +"яке можна використовувати, наприклад. щоб індексувати словник даних, що " +"стосуються потоку. Ідентифікатори потоку можуть бути перероблені, коли потік " +"завершується та створюється інший." + +msgid "" +"Return the native integral Thread ID of the current thread assigned by the " +"kernel. This is a non-negative integer. Its value may be used to uniquely " +"identify this particular thread system-wide (until the thread terminates, " +"after which the value may be recycled by the OS)." +msgstr "" +"Повертає власний інтегральний ідентифікатор потоку поточного потоку, " +"призначеного ядром. Це невід’ємне ціле число. Його значення може " +"використовуватися для однозначної ідентифікації цього конкретного потоку в " +"системі (до завершення роботи потоку, після чого значення може бути повторно " +"використано ОС)." + +msgid "" +":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " +"NetBSD, AIX." +msgstr "" +":ref:`Наявність `: Windows, FreeBSD, Linux, macOS, OpenBSD, " +"NetBSD, AIX." + +msgid "" +"Return a list of all :class:`Thread` objects currently active. The list " +"includes daemonic threads and dummy thread objects created by :func:" +"`current_thread`. It excludes terminated threads and threads that have not " +"yet been started. However, the main thread is always part of the result, " +"even when terminated." +msgstr "" +"Повертає список усіх активних наразі об’єктів :class:`Thread`. Список " +"включає демонічні потоки та об’єкти-фіктивні потоки, створені :func:" +"`current_thread`. Він виключає завершені потоки та потоки, які ще не " +"розпочато. Однак основний потік завжди є частиною результату, навіть якщо " +"він завершується." + +msgid "" +"Return the main :class:`Thread` object. In normal conditions, the main " +"thread is the thread from which the Python interpreter was started." +msgstr "" +"Повертає головний об’єкт :class:`Thread`. У нормальних умовах основний потік " +"— це потік, з якого було запущено інтерпретатор Python." + +msgid "" +"Set a trace function for all threads started from the :mod:`threading` " +"module. The *func* will be passed to :func:`sys.settrace` for each thread, " +"before its :meth:`~Thread.run` method is called." +msgstr "" +"Встановити функцію трасування для всіх потоків, запущених з модуля :mod:" +"`threading`. *func* буде передано до :func:`sys.settrace` для кожного потоку " +"перед викликом його методу :meth:`~Thread.run`." + +msgid "Get the trace function as set by :func:`settrace`." +msgstr "Отримайте функцію трасування, встановлену :func:`settrace`." + +msgid "" +"Set a profile function for all threads started from the :mod:`threading` " +"module. The *func* will be passed to :func:`sys.setprofile` for each " +"thread, before its :meth:`~Thread.run` method is called." +msgstr "" +"Встановіть функцію профілю для всіх потоків, запущених із модуля :mod:" +"`threading`. *func* буде передано до :func:`sys.setprofile` для кожного " +"потоку перед викликом його методу :meth:`~Thread.run`." + +msgid "Get the profiler function as set by :func:`setprofile`." +msgstr "Отримайте функцію профайлера, встановлену :func:`setprofile`." + +msgid "" +"Return the thread stack size used when creating new threads. The optional " +"*size* argument specifies the stack size to be used for subsequently created " +"threads, and must be 0 (use platform or configured default) or a positive " +"integer value of at least 32,768 (32 KiB). If *size* is not specified, 0 is " +"used. If changing the thread stack size is unsupported, a :exc:" +"`RuntimeError` is raised. If the specified stack size is invalid, a :exc:" +"`ValueError` is raised and the stack size is unmodified. 32 KiB is " +"currently the minimum supported stack size value to guarantee sufficient " +"stack space for the interpreter itself. Note that some platforms may have " +"particular restrictions on values for the stack size, such as requiring a " +"minimum stack size > 32 KiB or requiring allocation in multiples of the " +"system memory page size - platform documentation should be referred to for " +"more information (4 KiB pages are common; using multiples of 4096 for the " +"stack size is the suggested approach in the absence of more specific " +"information)." +msgstr "" +"Повертає розмір стека потоків, який використовувався під час створення нових " +"потоків. Необов’язковий аргумент *size* визначає розмір стека, який буде " +"використовуватися для згодом створених потоків, і має дорівнювати 0 " +"(використовувати платформу або налаштоване за замовчуванням) або додатне " +"ціле значення принаймні 32 768 (32 КіБ). Якщо *size* не вказано, " +"використовується 0. Якщо зміна розміру стека потоку не підтримується, " +"виникає :exc:`RuntimeError`. Якщо вказаний розмір стека недійсний, виникає " +"помилка :exc:`ValueError` і розмір стека не змінюється. 32 КіБ наразі є " +"мінімальним підтримуваним значенням розміру стеку, щоб гарантувати достатній " +"простір стеку для самого інтерпретатора. Зауважте, що деякі платформи можуть " +"мати певні обмеження щодо значень розміру стека, як-от вимагати мінімальний " +"розмір стека > 32 КБ або вимагати виділення кратного розміру сторінки " +"системної пам’яті – для отримання додаткової інформації слід звернутися до " +"документації платформи (сторінки 4 КБ є поширеними; використання кратних " +"4096 для розміру стека є запропонованим підходом за відсутності більш " +"конкретної інформації)." + +msgid ":ref:`Availability `: Windows, pthreads." +msgstr "" + +msgid "Unix platforms with POSIX threads support." +msgstr "" + +msgid "This module also defines the following constant:" +msgstr "Цей модуль також визначає таку константу:" + +msgid "" +"The maximum value allowed for the *timeout* parameter of blocking functions " +"(:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.). " +"Specifying a timeout greater than this value will raise an :exc:" +"`OverflowError`." +msgstr "" +"Максимально допустиме значення для параметра *timeout* функцій блокування (:" +"meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait` тощо). " +"Якщо вказати час очікування, більший за це значення, виникне :exc:" +"`OverflowError`." + +msgid "" +"This module defines a number of classes, which are detailed in the sections " +"below." +msgstr "Цей модуль визначає ряд класів, які детально описані в розділах нижче." + +msgid "" +"The design of this module is loosely based on Java's threading model. " +"However, where Java makes locks and condition variables basic behavior of " +"every object, they are separate objects in Python. Python's :class:`Thread` " +"class supports a subset of the behavior of Java's Thread class; currently, " +"there are no priorities, no thread groups, and threads cannot be destroyed, " +"stopped, suspended, resumed, or interrupted. The static methods of Java's " +"Thread class, when implemented, are mapped to module-level functions." +msgstr "" +"Конструкція цього модуля базується на моделі потоків Java. Однак, коли Java " +"робить блокування та змінні умови базовою поведінкою кожного об’єкта, у " +"Python вони є окремими об’єктами. Клас :class:`Thread` Python підтримує " +"підмножину поведінки класу Thread Java; на даний момент немає пріоритетів, " +"немає груп потоків, і потоки не можна знищити, зупинити, призупинити, " +"відновити або перервати. Статичні методи класу Thread Java, коли вони " +"реалізовані, відображаються на функції рівня модуля." + +msgid "All of the methods described below are executed atomically." +msgstr "Усі методи, описані нижче, виконуються атомарно." + +msgid "Thread-Local Data" +msgstr "Локальні дані потоку" + +msgid "" +"Thread-local data is data whose values are thread specific. To manage " +"thread-local data, just create an instance of :class:`local` (or a subclass) " +"and store attributes on it::" +msgstr "" +"Локальні дані потоку — це дані, значення яких залежать від потоку. Щоб " +"керувати локальними даними потоку, просто створіть екземпляр :class:`local` " +"(або підклас) і збережіть у ньому атрибути::" + +msgid "The instance's values will be different for separate threads." +msgstr "Значення екземпляра будуть різними для окремих потоків." + +msgid "A class that represents thread-local data." +msgstr "Клас, який представляє дані локального потоку." + +msgid "" +"For more details and extensive examples, see the documentation string of " +"the :mod:`_threading_local` module." +msgstr "" +"Щоб отримати додаткові відомості та докладні приклади, перегляньте рядок " +"документації модуля :mod:`_threading_local`." + +msgid "Thread Objects" +msgstr "Об'єкти потоку" + +msgid "" +"The :class:`Thread` class represents an activity that is run in a separate " +"thread of control. There are two ways to specify the activity: by passing a " +"callable object to the constructor, or by overriding the :meth:`~Thread.run` " +"method in a subclass. No other methods (except for the constructor) should " +"be overridden in a subclass. In other words, *only* override the :meth:" +"`~Thread.__init__` and :meth:`~Thread.run` methods of this class." +msgstr "" +"Клас :class:`Thread` представляє дію, яка виконується в окремому потоці " +"керування. Існує два способи вказати дію: шляхом передачі викликаного " +"об’єкта конструктору або перевизначення методу :meth:`~Thread.run` у " +"підкласі. Жодні інші методи (за винятком конструктора) не повинні " +"перевизначатися в підкласі. Іншими словами, *тільки* замінити методи :meth:" +"`~Thread.__init__` і :meth:`~Thread.run` цього класу." + +msgid "" +"Once a thread object is created, its activity must be started by calling the " +"thread's :meth:`~Thread.start` method. This invokes the :meth:`~Thread.run` " +"method in a separate thread of control." +msgstr "" +"Після створення об’єкта потоку його діяльність має бути запущена викликом " +"методу потоку :meth:`~Thread.start`. Це викликає метод :meth:`~Thread.run` в " +"окремому потоці керування." + +msgid "" +"Once the thread's activity is started, the thread is considered 'alive'. It " +"stops being alive when its :meth:`~Thread.run` method terminates -- either " +"normally, or by raising an unhandled exception. The :meth:`~Thread." +"is_alive` method tests whether the thread is alive." +msgstr "" +"Коли активність потоку розпочато, він вважається \"живим\". Він перестає " +"бути живим, коли його метод :meth:`~Thread.run` завершує роботу - або " +"звичайним способом, або шляхом виклику необробленого винятку. Метод :meth:" +"`~Thread.is_alive` перевіряє, чи живий потік." + +msgid "" +"Other threads can call a thread's :meth:`~Thread.join` method. This blocks " +"the calling thread until the thread whose :meth:`~Thread.join` method is " +"called is terminated." +msgstr "" +"Інші потоки можуть викликати метод потоку :meth:`~Thread.join`. Це блокує " +"потік, що викликає, доки не буде завершено потік, чий метод :meth:`~Thread." +"join` викликається." + +msgid "" +"A thread has a name. The name can be passed to the constructor, and read or " +"changed through the :attr:`~Thread.name` attribute." +msgstr "" +"Нитка має назву. Ім’я можна передати конструктору та прочитати або змінити " +"за допомогою атрибута :attr:`~Thread.name`." + +msgid "" +"If the :meth:`~Thread.run` method raises an exception, :func:`threading." +"excepthook` is called to handle it. By default, :func:`threading.excepthook` " +"ignores silently :exc:`SystemExit`." +msgstr "" +"Якщо метод :meth:`~Thread.run` викликає виняток, для його обробки " +"викликається :func:`threading.excepthook`. За замовчуванням :func:`threading." +"excepthook` мовчки ігнорує :exc:`SystemExit`." + +msgid "" +"A thread can be flagged as a \"daemon thread\". The significance of this " +"flag is that the entire Python program exits when only daemon threads are " +"left. The initial value is inherited from the creating thread. The flag " +"can be set through the :attr:`~Thread.daemon` property or the *daemon* " +"constructor argument." +msgstr "" +"Потік можна позначити як \"потік демона\". Значення цього прапорця полягає в " +"тому, що вся програма Python завершує роботу, коли залишаються лише потоки " +"демона. Початкове значення успадковується від потоку створення. Прапор можна " +"встановити через властивість :attr:`~Thread.daemon` або аргумент " +"конструктора *daemon*." + +msgid "" +"Daemon threads are abruptly stopped at shutdown. Their resources (such as " +"open files, database transactions, etc.) may not be released properly. If " +"you want your threads to stop gracefully, make them non-daemonic and use a " +"suitable signalling mechanism such as an :class:`Event`." +msgstr "" +"Потоки демона раптово зупиняються під час завершення роботи. Їхні ресурси " +"(такі як відкриті файли, транзакції бази даних тощо) можуть не вивільнятися " +"належним чином. Якщо ви хочете, щоб ваші потоки зупинялися акуратно, зробіть " +"їх недемонічними та використовуйте відповідний механізм сигналізації, такий " +"як :class:`Event`." + +msgid "" +"There is a \"main thread\" object; this corresponds to the initial thread of " +"control in the Python program. It is not a daemon thread." +msgstr "" +"Є об’єкт \"основний потік\"; це відповідає початковому потоку керування в " +"програмі Python. Це не потік демона." + +msgid "" +"There is the possibility that \"dummy thread objects\" are created. These " +"are thread objects corresponding to \"alien threads\", which are threads of " +"control started outside the threading module, such as directly from C code. " +"Dummy thread objects have limited functionality; they are always considered " +"alive and daemonic, and cannot be :ref:`joined `. They " +"are never deleted, since it is impossible to detect the termination of alien " +"threads." +msgstr "" + +msgid "" +"This constructor should always be called with keyword arguments. Arguments " +"are:" +msgstr "" +"Цей конструктор слід завжди викликати з ключовими аргументами. Аргументами є:" + +msgid "" +"*group* should be ``None``; reserved for future extension when a :class:" +"`ThreadGroup` class is implemented." +msgstr "" +"*group* має бути ``None``; зарезервовано для майбутнього розширення, коли " +"буде реалізовано клас :class:`ThreadGroup`." + +msgid "" +"*target* is the callable object to be invoked by the :meth:`run` method. " +"Defaults to ``None``, meaning nothing is called." +msgstr "" +"*target* — об’єкт, який викликається методом :meth:`run`. За замовчуванням " +"``None``, тобто нічого не викликається." + +msgid "" +"*name* is the thread name. By default, a unique name is constructed of the " +"form \"Thread-*N*\" where *N* is a small decimal number, or \"Thread-*N* " +"(target)\" where \"target\" is ``target.__name__`` if the *target* argument " +"is specified." +msgstr "" +"*ім’я* – це ім’я потоку. За замовчуванням унікальне ім’я створюється у формі " +"\"Thread-*N*\", де *N* — маленьке десяткове число, або \"Thread-*N* " +"(target)\", де \"target\" — це ``target.__name__`` якщо вказано аргумент " +"*target*." + +msgid "" +"*args* is a list or tuple of arguments for the target invocation. Defaults " +"to ``()``." +msgstr "" + +msgid "" +"*kwargs* is a dictionary of keyword arguments for the target invocation. " +"Defaults to ``{}``." +msgstr "" +"*kwargs* — це словник ключових аргументів для цільового виклику. За " +"замовчуванням ``{}``." + +msgid "" +"If not ``None``, *daemon* explicitly sets whether the thread is daemonic. If " +"``None`` (the default), the daemonic property is inherited from the current " +"thread." +msgstr "" +"Якщо не ``None``, *daemon* явно встановлює, чи є потік демонічним. Якщо " +"``None`` (за замовчуванням), демонічна властивість успадковується з " +"поточного потоку." + +msgid "" +"If the subclass overrides the constructor, it must make sure to invoke the " +"base class constructor (``Thread.__init__()``) before doing anything else to " +"the thread." +msgstr "" +"Якщо підклас перевизначає конструктор, він повинен обов’язково викликати " +"конструктор базового класу (``Thread.__init__()``), перш ніж робити щось " +"інше з потоком." + +msgid "Use the *target* name if *name* argument is omitted." +msgstr "Використовуйте назву *ціль*, якщо аргумент *ім’я* пропущено." + +msgid "Added the *daemon* argument." +msgstr "Додано аргумент *daemon*." + +msgid "Start the thread's activity." +msgstr "Розпочати діяльність потоку." + +msgid "" +"It must be called at most once per thread object. It arranges for the " +"object's :meth:`~Thread.run` method to be invoked in a separate thread of " +"control." +msgstr "" +"Він має бути викликаний щонайбільше один раз на об’єкт потоку. Він " +"організовує виклик методу :meth:`~Thread.run` об’єкта в окремому потоці " +"керування." + +msgid "" +"This method will raise a :exc:`RuntimeError` if called more than once on the " +"same thread object." +msgstr "" +"Цей метод викличе :exc:`RuntimeError`, якщо викликати кілька разів для того " +"самого об’єкта потоку." + +msgid "Method representing the thread's activity." +msgstr "Метод, що представляє діяльність потоку." + +msgid "" +"You may override this method in a subclass. The standard :meth:`run` method " +"invokes the callable object passed to the object's constructor as the " +"*target* argument, if any, with positional and keyword arguments taken from " +"the *args* and *kwargs* arguments, respectively." +msgstr "" +"Ви можете перевизначити цей метод у підкласі. Стандартний метод :meth:`run` " +"викликає викликаний об’єкт, який передається конструктору об’єкта як " +"аргумент *target*, якщо такий є, з позиційними аргументами та ключовими " +"аргументами, взятими з аргументів *args* і *kwargs* відповідно." + +msgid "" +"Using list or tuple as the *args* argument which passed to the :class:" +"`Thread` could achieve the same effect." +msgstr "" + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"Wait until the thread terminates. This blocks the calling thread until the " +"thread whose :meth:`~Thread.join` method is called terminates -- either " +"normally or through an unhandled exception -- or until the optional timeout " +"occurs." +msgstr "" +"Зачекайте, поки потік завершиться. Це блокує потік, що викликає, доки потік, " +"чий метод :meth:`~Thread.join` викликається, не завершиться (звичайно або " +"через необроблений виняток), або доки не настане додатковий час очікування." + +msgid "" +"When the *timeout* argument is present and not ``None``, it should be a " +"floating point number specifying a timeout for the operation in seconds (or " +"fractions thereof). As :meth:`~Thread.join` always returns ``None``, you " +"must call :meth:`~Thread.is_alive` after :meth:`~Thread.join` to decide " +"whether a timeout happened -- if the thread is still alive, the :meth:" +"`~Thread.join` call timed out." +msgstr "" +"Якщо присутній аргумент *timeout*, а не ``None``, це має бути число з " +"плаваючою комою, що вказує час очікування для операції в секундах (або їх " +"частках). Оскільки :meth:`~Thread.join` завжди повертає ``None``, ви повинні " +"викликати :meth:`~Thread.is_alive` після :meth:`~Thread.join`, щоб вирішити, " +"чи стався тайм-аут – якщо потік все ще живий, виклик :meth:`~Thread.join` " +"минув." + +msgid "" +"When the *timeout* argument is not present or ``None``, the operation will " +"block until the thread terminates." +msgstr "" +"Якщо аргумент *timeout* відсутній або ``None``, операція буде заблокована до " +"завершення потоку." + +msgid "A thread can be joined many times." +msgstr "" + +msgid "" +":meth:`~Thread.join` raises a :exc:`RuntimeError` if an attempt is made to " +"join the current thread as that would cause a deadlock. It is also an error " +"to :meth:`~Thread.join` a thread before it has been started and attempts to " +"do so raise the same exception." +msgstr "" +":meth:`~Thread.join` викликає :exc:`RuntimeError`, якщо робиться спроба " +"приєднатися до поточного потоку, оскільки це призведе до взаємоблокування. " +"Також є помилкою :meth:`~Thread.join` потоку до того, як він був запущений, " +"і спроби зробити це викликають той самий виняток." + +msgid "" +"A string used for identification purposes only. It has no semantics. " +"Multiple threads may be given the same name. The initial name is set by the " +"constructor." +msgstr "" +"Рядок, який використовується лише для ідентифікації. Він не має семантики. " +"Декільком потокам можна присвоїти однакові назви. Початкове ім'я задається " +"конструктором." + +msgid "" +"Deprecated getter/setter API for :attr:`~Thread.name`; use it directly as a " +"property instead." +msgstr "" +"Застарілий API отримання/налаштування для :attr:`~Thread.name`; " +"використовуйте його безпосередньо як властивість." + +msgid "" +"The 'thread identifier' of this thread or ``None`` if the thread has not " +"been started. This is a nonzero integer. See the :func:`get_ident` " +"function. Thread identifiers may be recycled when a thread exits and " +"another thread is created. The identifier is available even after the " +"thread has exited." +msgstr "" +"\"Ідентифікатор потоку\" цього потоку або \"Немає\", якщо потік не було " +"запущено. Це ненульове ціле число. Перегляньте функцію :func:`get_ident`. " +"Ідентифікатори потоку можуть бути перероблені, коли потік завершується та " +"створюється інший. Ідентифікатор доступний навіть після завершення потоку." + +msgid "" +"The Thread ID (``TID``) of this thread, as assigned by the OS (kernel). This " +"is a non-negative integer, or ``None`` if the thread has not been started. " +"See the :func:`get_native_id` function. This value may be used to uniquely " +"identify this particular thread system-wide (until the thread terminates, " +"after which the value may be recycled by the OS)." +msgstr "" +"Ідентифікатор потоку (``TID``) цього потоку, призначений ОС (ядром). Це " +"невід’ємне ціле число або ``None``, якщо потік не було запущено. Перегляньте " +"функцію :func:`get_native_id`. Це значення може використовуватися для " +"унікальної ідентифікації цього конкретного потоку в усій системі (доки потік " +"не завершиться, після чого значення може бути повторно використано ОС)." + +msgid "" +"Similar to Process IDs, Thread IDs are only valid (guaranteed unique system-" +"wide) from the time the thread is created until the thread has been " +"terminated." +msgstr "" +"Подібно до ідентифікаторів процесів, ідентифікатори потоків дійсні " +"(гарантовано унікальні для всієї системи) лише з моменту створення потоку до " +"його завершення." + +msgid "" +":ref:`Availability `: Windows, FreeBSD, Linux, macOS, OpenBSD, " +"NetBSD, AIX, DragonFlyBSD." +msgstr "" + +msgid "Return whether the thread is alive." +msgstr "Повернути, чи живий потік." + +msgid "" +"This method returns ``True`` just before the :meth:`~Thread.run` method " +"starts until just after the :meth:`~Thread.run` method terminates. The " +"module function :func:`.enumerate` returns a list of all alive threads." +msgstr "" +"Цей метод повертає ``True`` безпосередньо перед запуском методу :meth:" +"`~Thread.run` до завершення роботи методу :meth:`~Thread.run`. Функція " +"модуля :func:`.enumerate` повертає список усіх активних потоків." + +msgid "" +"A boolean value indicating whether this thread is a daemon thread (``True``) " +"or not (``False``). This must be set before :meth:`~Thread.start` is " +"called, otherwise :exc:`RuntimeError` is raised. Its initial value is " +"inherited from the creating thread; the main thread is not a daemon thread " +"and therefore all threads created in the main thread default to :attr:" +"`~Thread.daemon` = ``False``." +msgstr "" +"Логічне значення, яке вказує, чи є цей потік потоком демона (``True``) чи ні " +"(``False``). Це має бути встановлено перед викликом :meth:`~Thread.start`, " +"інакше виникає :exc:`RuntimeError`. Його початкове значення успадковується " +"від потоку створення; основний потік не є потоком демона, тому всі потоки, " +"створені в основному потоці, за замовчуванням мають :attr:`~Thread.daemon` = " +"``False``." + +msgid "" +"The entire Python program exits when no alive non-daemon threads are left." +msgstr "" +"Уся програма Python завершує роботу, якщо не залишиться активних потоків, " +"які не є демонами." + +msgid "" +"Deprecated getter/setter API for :attr:`~Thread.daemon`; use it directly as " +"a property instead." +msgstr "" +"Застарілий API отримання/налаштування для :attr:`~Thread.daemon`; " +"використовуйте його безпосередньо як властивість." + +msgid "Lock Objects" +msgstr "Блокування об'єктів" + +msgid "" +"A primitive lock is a synchronization primitive that is not owned by a " +"particular thread when locked. In Python, it is currently the lowest level " +"synchronization primitive available, implemented directly by the :mod:" +"`_thread` extension module." +msgstr "" +"Примітивне блокування — це примітив синхронізації, який не належить певному " +"потоку, коли він заблокований. У Python наразі це найнижчий доступний " +"примітив синхронізації рівня, реалізований безпосередньо модулем розширення :" +"mod:`_thread`." + +msgid "" +"A primitive lock is in one of two states, \"locked\" or \"unlocked\". It is " +"created in the unlocked state. It has two basic methods, :meth:`~Lock." +"acquire` and :meth:`~Lock.release`. When the state is unlocked, :meth:" +"`~Lock.acquire` changes the state to locked and returns immediately. When " +"the state is locked, :meth:`~Lock.acquire` blocks until a call to :meth:" +"`~Lock.release` in another thread changes it to unlocked, then the :meth:" +"`~Lock.acquire` call resets it to locked and returns. The :meth:`~Lock." +"release` method should only be called in the locked state; it changes the " +"state to unlocked and returns immediately. If an attempt is made to release " +"an unlocked lock, a :exc:`RuntimeError` will be raised." +msgstr "" +"Примітивний замок знаходиться в одному з двох станів: \"заблоковано\" або " +"\"розблоковано\". Створюється в розблокованому стані. Він має два основні " +"методи: :meth:`~Lock.acquire` і :meth:`~Lock.release`. Коли стан " +"розблоковано, :meth:`~Lock.acquire` змінює стан на заблокований і повертає " +"негайно. Коли стан заблоковано, :meth:`~Lock.acquire` блокується, доки " +"виклик :meth:`~Lock.release` в іншому потоці не змінить його на " +"розблокований, після чого виклик :meth:`~Lock.acquire` скидається він " +"блокується та повертається. Метод :meth:`~Lock.release` слід викликати лише " +"в заблокованому стані; він змінює стан на розблокований і негайно " +"повертається. Якщо буде зроблена спроба зняти розблоковане блокування, буде " +"викликано :exc:`RuntimeError`." + +msgid "Locks also support the :ref:`context management protocol `." +msgstr "" +"Блокування також підтримують :ref:`протокол управління контекстом `." + +msgid "" +"When more than one thread is blocked in :meth:`~Lock.acquire` waiting for " +"the state to turn to unlocked, only one thread proceeds when a :meth:`~Lock." +"release` call resets the state to unlocked; which one of the waiting threads " +"proceeds is not defined, and may vary across implementations." +msgstr "" +"Якщо в :meth:`~Lock.acquire` заблоковано більше одного потоку, який очікує, " +"поки стан стане розблокованим, лише один потік продовжує роботу, коли " +"виклик :meth:`~Lock.release` скидає стан до розблокованого; який із потоків, " +"що очікують, продовжується, не визначено та може відрізнятися в різних " +"реалізаціях." + +msgid "All methods are executed atomically." +msgstr "Усі методи виконуються атомарно." + +msgid "" +"The class implementing primitive lock objects. Once a thread has acquired a " +"lock, subsequent attempts to acquire it block, until it is released; any " +"thread may release it." +msgstr "" +"Клас, що реалізує примітивні об’єкти блокування. Після того, як потік " +"отримав блокування, наступні спроби отримати його блокуються, доки він не " +"буде звільнений; будь-який потік може його звільнити." + +msgid "" +"Note that ``Lock`` is actually a factory function which returns an instance " +"of the most efficient version of the concrete Lock class that is supported " +"by the platform." +msgstr "" +"Зверніть увагу, що ``Lock`` насправді є фабричною функцією, яка повертає " +"екземпляр найефективнішої версії конкретного класу Lock, який підтримується " +"платформою." + +msgid "Acquire a lock, blocking or non-blocking." +msgstr "Отримайте блокування, блокування або неблокування." + +msgid "" +"When invoked with the *blocking* argument set to ``True`` (the default), " +"block until the lock is unlocked, then set it to locked and return ``True``." +msgstr "" +"При виклику з аргументом *blocking*, встановленим на ``True`` (за " +"замовчуванням), блокувати, доки блокування не буде розблоковано, потім " +"установіть його на locked і поверніть ``True``." + +msgid "" +"When invoked with the *blocking* argument set to ``False``, do not block. If " +"a call with *blocking* set to ``True`` would block, return ``False`` " +"immediately; otherwise, set the lock to locked and return ``True``." +msgstr "" +"При виклику з аргументом *blocking*, встановленим на ``False``, не " +"блокувати. Якщо виклик із *блокуванням*, встановленим на ``True``, заблокує, " +"негайно поверніть ``False``; інакше встановіть блокування на locked і " +"поверніть ``True``." + +msgid "" +"When invoked with the floating-point *timeout* argument set to a positive " +"value, block for at most the number of seconds specified by *timeout* and as " +"long as the lock cannot be acquired. A *timeout* argument of ``-1`` " +"specifies an unbounded wait. It is forbidden to specify a *timeout* when " +"*blocking* is ``False``." +msgstr "" +"Під час виклику з плаваючою комою *timeout* аргументу встановлено додатне " +"значення, блокувати щонайбільше на кількість секунд, визначену *timeout*, і " +"до тих пір, поки блокування не може бути отримано. Аргумент *timeout*, " +"рівний ``-1``, визначає необмежену очікування. Заборонено вказувати *тайм-" +"аут*, якщо *блокування* має значення ``False``." + +msgid "" +"The return value is ``True`` if the lock is acquired successfully, ``False`` " +"if not (for example if the *timeout* expired)." +msgstr "" +"Поверненим значенням є ``True``, якщо блокування отримано успішно, " +"``False``, якщо ні (наприклад, якщо минув *тайм-аут*)." + +msgid "The *timeout* parameter is new." +msgstr "Параметр *timeout* є новим." + +msgid "" +"Lock acquisition can now be interrupted by signals on POSIX if the " +"underlying threading implementation supports it." +msgstr "" +"Отримання блокування тепер може бути перервано сигналами на POSIX, якщо це " +"підтримує базова реалізація потоків." + +msgid "" +"Release a lock. This can be called from any thread, not only the thread " +"which has acquired the lock." +msgstr "" +"Відпустіть блокування. Це можна викликати з будь-якого потоку, а не лише з " +"потоку, який отримав блокування." + +msgid "" +"When the lock is locked, reset it to unlocked, and return. If any other " +"threads are blocked waiting for the lock to become unlocked, allow exactly " +"one of them to proceed." +msgstr "" +"Коли замок заблоковано, скиньте його до розблокованого та поверніться. Якщо " +"будь-які інші потоки заблоковано в очікуванні розблокування блокування, " +"дозвольте рівно одному з них продовжити." + +msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." +msgstr "" +"Під час виклику для розблокованого блокування виникає :exc:`RuntimeError`." + +msgid "There is no return value." +msgstr "Поверненого значення немає." + +msgid "Return ``True`` if the lock is acquired." +msgstr "Повертає ``True``, якщо блокування отримано." + +msgid "RLock Objects" +msgstr "Об'єкти RLock" + +msgid "" +"A reentrant lock is a synchronization primitive that may be acquired " +"multiple times by the same thread. Internally, it uses the concepts of " +"\"owning thread\" and \"recursion level\" in addition to the locked/unlocked " +"state used by primitive locks. In the locked state, some thread owns the " +"lock; in the unlocked state, no thread owns it." +msgstr "" +"Блокування повторного входу — це примітив синхронізації, який може бути " +"отриманий кілька разів одним потоком. Внутрішньо він використовує поняття " +"\"володіння потоком\" і \"рівень рекурсії\" на додаток до заблокованого/" +"розблокованого стану, який використовується примітивними блокуваннями. У " +"заблокованому стані деякий потік володіє блокуванням; у розблокованому стані " +"жоден потік не володіє ним." + +msgid "" +"To lock the lock, a thread calls its :meth:`~RLock.acquire` method; this " +"returns once the thread owns the lock. To unlock the lock, a thread calls " +"its :meth:`~Lock.release` method. :meth:`~Lock.acquire`/:meth:`~Lock." +"release` call pairs may be nested; only the final :meth:`~Lock.release` " +"(the :meth:`~Lock.release` of the outermost pair) resets the lock to " +"unlocked and allows another thread blocked in :meth:`~Lock.acquire` to " +"proceed." +msgstr "" +"Щоб заблокувати блокування, потік викликає свій метод :meth:`~RLock." +"acquire`; це повертається, коли потік володіє блокуванням. Щоб розблокувати " +"блокування, потік викликає свій метод :meth:`~Lock.release`. :meth:`~Lock." +"acquire`/:meth:`~Lock.release` пари викликів можуть бути вкладеними; лише " +"останній :meth:`~Lock.release` (:meth:`~Lock.release` крайньої пари) скидає " +"блокування до розблокованого та дозволяє продовжити інший потік, " +"заблокований у :meth:`~Lock.acquire` ." + +msgid "" +"Reentrant locks also support the :ref:`context management protocol `." +msgstr "" +"Повторне блокування також підтримує :ref:`протокол керування контекстом " +"`." + +msgid "" +"This class implements reentrant lock objects. A reentrant lock must be " +"released by the thread that acquired it. Once a thread has acquired a " +"reentrant lock, the same thread may acquire it again without blocking; the " +"thread must release it once for each time it has acquired it." +msgstr "" +"Цей клас реалізує об’єкти повторного входу. Блокування повторного входу має " +"бути звільнено потоком, який його отримав. Як тільки потік отримав " +"блокування повторного входу, той самий потік може отримати його знову без " +"блокування; потік повинен звільнити його один раз за кожен раз, коли він " +"його отримав." + +msgid "" +"Note that ``RLock`` is actually a factory function which returns an instance " +"of the most efficient version of the concrete RLock class that is supported " +"by the platform." +msgstr "" +"Зауважте, що ``RLock`` насправді є фабричною функцією, яка повертає " +"екземпляр найефективнішої версії конкретного класу RLock, який підтримується " +"платформою." + +msgid "" +"When invoked without arguments: if this thread already owns the lock, " +"increment the recursion level by one, and return immediately. Otherwise, if " +"another thread owns the lock, block until the lock is unlocked. Once the " +"lock is unlocked (not owned by any thread), then grab ownership, set the " +"recursion level to one, and return. If more than one thread is blocked " +"waiting until the lock is unlocked, only one at a time will be able to grab " +"ownership of the lock. There is no return value in this case." +msgstr "" +"При виклику без аргументів: якщо цей потік уже володіє блокуванням, збільште " +"рівень рекурсії на одиницю та негайно поверніться. В іншому випадку, якщо " +"інший потік володіє блокуванням, блокуйте, доки блокування не буде " +"розблоковано. Після того, як блокування розблоковано (не належить жодному " +"потоку), тоді захопіть право власності, встановіть рівень рекурсії на один і " +"поверніться. Якщо більше одного потоку заблоковано в очікуванні " +"розблокування блокування, лише один за раз зможе отримати право власності на " +"блокування. У цьому випадку не повертається значення." + +msgid "" +"When invoked with the *blocking* argument set to ``True``, do the same thing " +"as when called without arguments, and return ``True``." +msgstr "" +"Під час виклику з аргументом *blocking*, встановленим у значення ``True``, " +"виконуйте те ж саме, що й під час виклику без аргументів, і повертайте " +"``True``." + +msgid "" +"When invoked with the *blocking* argument set to ``False``, do not block. " +"If a call without an argument would block, return ``False`` immediately; " +"otherwise, do the same thing as when called without arguments, and return " +"``True``." +msgstr "" +"При виклику з аргументом *blocking*, встановленим на ``False``, не " +"блокувати. Якщо виклик без аргументу буде заблокований, негайно поверніть " +"``False``; інакше виконайте те ж саме, що й під час виклику без аргументів, " +"і поверніть ``True``." + +msgid "" +"When invoked with the floating-point *timeout* argument set to a positive " +"value, block for at most the number of seconds specified by *timeout* and as " +"long as the lock cannot be acquired. Return ``True`` if the lock has been " +"acquired, ``False`` if the timeout has elapsed." +msgstr "" +"Під час виклику з плаваючою комою аргумент *timeout* має додатне значення, " +"блокувати щонайбільше на кількість секунд, визначену *timeout*, і до тих " +"пір, поки не вдасться отримати блокування. Повертає ``True``, якщо " +"блокування отримано, ``False``, якщо час очікування минув." + +msgid "" +"Release a lock, decrementing the recursion level. If after the decrement it " +"is zero, reset the lock to unlocked (not owned by any thread), and if any " +"other threads are blocked waiting for the lock to become unlocked, allow " +"exactly one of them to proceed. If after the decrement the recursion level " +"is still nonzero, the lock remains locked and owned by the calling thread." +msgstr "" +"Зніміть блокування, зменшивши рівень рекурсії. Якщо після декремента він " +"дорівнює нулю, скиньте блокування до розблокованого (не належить жодному " +"потоку), і якщо будь-які інші потоки заблоковані в очікуванні розблокування " +"блокування, дозвольте рівно одному з них продовжити. Якщо після декременту " +"рівень рекурсії все ще ненульовий, блокування залишається заблокованим і " +"належить потоку, що викликає." + +msgid "" +"Only call this method when the calling thread owns the lock. A :exc:" +"`RuntimeError` is raised if this method is called when the lock is unlocked." +msgstr "" +"Викликайте цей метод лише тоді, коли потік, що викликає, володіє " +"блокуванням. Помилка :exc:`RuntimeError` виникає, якщо цей метод " +"викликається, коли блокування розблоковано." + +msgid "Condition Objects" +msgstr "Об'єкти стану" + +msgid "" +"A condition variable is always associated with some kind of lock; this can " +"be passed in or one will be created by default. Passing one in is useful " +"when several condition variables must share the same lock. The lock is part " +"of the condition object: you don't have to track it separately." +msgstr "" +"Змінна умови завжди асоціюється з якимось блокуванням; це можна передати, " +"або він буде створений за замовчуванням. Передача одного корисна, коли " +"кілька змінних умови повинні використовувати один і той же блокування. " +"Блокування є частиною об’єкта умови: вам не потрібно відстежувати його " +"окремо." + +msgid "" +"A condition variable obeys the :ref:`context management protocol `: using the ``with`` statement acquires the associated lock for the " +"duration of the enclosed block. The :meth:`~Condition.acquire` and :meth:" +"`~Condition.release` methods also call the corresponding methods of the " +"associated lock." +msgstr "" +"Змінна умови підпорядковується :ref:`протоколу керування контекстом `: використання оператора ``with`` отримує пов’язане блокування " +"протягом тривалості включеного блоку. Методи :meth:`~Condition.acquire` і :" +"meth:`~Condition.release` також викликають відповідні методи пов’язаного " +"блокування." + +msgid "" +"Other methods must be called with the associated lock held. The :meth:" +"`~Condition.wait` method releases the lock, and then blocks until another " +"thread awakens it by calling :meth:`~Condition.notify` or :meth:`~Condition." +"notify_all`. Once awakened, :meth:`~Condition.wait` re-acquires the lock " +"and returns. It is also possible to specify a timeout." +msgstr "" +"Інші методи повинні викликатися з відповідним блокуванням. Метод :meth:" +"`~Condition.wait` знімає блокування, а потім блокує, доки інший потік не " +"розбудить його, викликавши :meth:`~Condition.notify` або :meth:`~Condition." +"notify_all`. Після пробудження :meth:`~Condition.wait` знову отримує " +"блокування та повертається. Також можна вказати тайм-аут." + +msgid "" +"The :meth:`~Condition.notify` method wakes up one of the threads waiting for " +"the condition variable, if any are waiting. The :meth:`~Condition." +"notify_all` method wakes up all threads waiting for the condition variable." +msgstr "" +"Метод :meth:`~Condition.notify` активує один із потоків, які очікують на " +"змінну умови, якщо такі очікують. Метод :meth:`~Condition.notify_all` " +"активує всі потоки, які очікують на змінну умови." + +msgid "" +"Note: the :meth:`~Condition.notify` and :meth:`~Condition.notify_all` " +"methods don't release the lock; this means that the thread or threads " +"awakened will not return from their :meth:`~Condition.wait` call " +"immediately, but only when the thread that called :meth:`~Condition.notify` " +"or :meth:`~Condition.notify_all` finally relinquishes ownership of the lock." +msgstr "" +"Примітка: методи :meth:`~Condition.notify` і :meth:`~Condition.notify_all` " +"не знімають блокування; це означає, що активований потік або потоки не " +"повернеться зі свого виклику :meth:`~Condition.wait` негайно, а лише тоді, " +"коли потік, який викликав :meth:`~Condition.notify` або :meth:`~Condition." +"notify_all` остаточно відмовляється від власності на замок." + +msgid "" +"The typical programming style using condition variables uses the lock to " +"synchronize access to some shared state; threads that are interested in a " +"particular change of state call :meth:`~Condition.wait` repeatedly until " +"they see the desired state, while threads that modify the state call :meth:" +"`~Condition.notify` or :meth:`~Condition.notify_all` when they change the " +"state in such a way that it could possibly be a desired state for one of the " +"waiters. For example, the following code is a generic producer-consumer " +"situation with unlimited buffer capacity::" +msgstr "" +"Типовий стиль програмування з використанням умовних змінних використовує " +"блокування для синхронізації доступу до деякого спільного стану; потоки, які " +"зацікавлені в певній зміні стану, викликають :meth:`~Condition.wait` " +"неодноразово, доки не побачать бажаний стан, тоді як потоки, які змінюють " +"стан, викликають :meth:`~Condition.notify` або :meth:`~Condition." +"notify_all`, коли вони змінюють стан таким чином, що це може бути бажаним " +"станом для одного з офіціантів. Наприклад, наступний код є загальною " +"ситуацією виробник-споживач з необмеженою ємністю буфера:" + +msgid "" +"The ``while`` loop checking for the application's condition is necessary " +"because :meth:`~Condition.wait` can return after an arbitrary long time, and " +"the condition which prompted the :meth:`~Condition.notify` call may no " +"longer hold true. This is inherent to multi-threaded programming. The :" +"meth:`~Condition.wait_for` method can be used to automate the condition " +"checking, and eases the computation of timeouts::" +msgstr "" +"Цикл ``while`` для перевірки умови програми необхідний, оскільки :meth:" +"`~Condition.wait` може повернутися через довільний тривалий час, а умова, " +"яка спонукала до виклику :meth:`~Condition.notify`, може не довше " +"зберігаються. Це властиво багатопоточному програмуванню. Метод :meth:" +"`~Condition.wait_for` можна використовувати для автоматизації перевірки умов " +"і полегшує обчислення тайм-аутів::" + +msgid "" +"To choose between :meth:`~Condition.notify` and :meth:`~Condition." +"notify_all`, consider whether one state change can be interesting for only " +"one or several waiting threads. E.g. in a typical producer-consumer " +"situation, adding one item to the buffer only needs to wake up one consumer " +"thread." +msgstr "" +"Щоб вибрати між :meth:`~Condition.notify` і :meth:`~Condition.notify_all`, " +"подумайте, чи одна зміна стану може бути цікавою лише для одного чи кількох " +"потоків, що очікують. наприклад у типовій ситуації виробник-споживач " +"додавання одного елемента до буфера потребує лише пробудження одного потоку " +"споживача." + +msgid "" +"This class implements condition variable objects. A condition variable " +"allows one or more threads to wait until they are notified by another thread." +msgstr "" +"Цей клас реалізує об’єкти умовної змінної. Змінна умови дозволяє одному або " +"декільком потокам чекати, поки вони не будуть сповіщені іншим потоком." + +msgid "" +"If the *lock* argument is given and not ``None``, it must be a :class:`Lock` " +"or :class:`RLock` object, and it is used as the underlying lock. Otherwise, " +"a new :class:`RLock` object is created and used as the underlying lock." +msgstr "" +"Якщо вказано аргумент *lock*, а не ``None``, це має бути об’єкт :class:" +"`Lock` або :class:`RLock`, і він використовується як основний блокування. В " +"іншому випадку створюється новий об’єкт :class:`RLock`, який " +"використовується як основний блокування." + +msgid "changed from a factory function to a class." +msgstr "змінено з функції фабрики на клас." + +msgid "" +"Acquire the underlying lock. This method calls the corresponding method on " +"the underlying lock; the return value is whatever that method returns." +msgstr "" +"Отримайте основний замок. Цей метод викликає відповідний метод основного " +"блокування; значення, що повертається, є тим, що повертає цей метод." + +msgid "" +"Release the underlying lock. This method calls the corresponding method on " +"the underlying lock; there is no return value." +msgstr "" +"Звільніть базовий замок. Цей метод викликає відповідний метод основного " +"блокування; немає зворотного значення." + +msgid "" +"Wait until notified or until a timeout occurs. If the calling thread has not " +"acquired the lock when this method is called, a :exc:`RuntimeError` is " +"raised." +msgstr "" +"Зачекайте, поки не буде сповіщено або поки не настане час очікування. Якщо " +"потік, що викликає, не отримав блокування під час виклику цього методу, " +"виникає :exc:`RuntimeError`." + +msgid "" +"This method releases the underlying lock, and then blocks until it is " +"awakened by a :meth:`notify` or :meth:`notify_all` call for the same " +"condition variable in another thread, or until the optional timeout occurs. " +"Once awakened or timed out, it re-acquires the lock and returns." +msgstr "" +"Цей метод знімає основне блокування, а потім блокує, доки його не розбудить " +"виклик :meth:`notify` або :meth:`notify_all` для тієї самої змінної умови в " +"іншому потоці, або доки не настане додатковий тайм-аут. Після пробудження " +"або вичерпання часу блокування знову блокується та повертається." + +msgid "" +"When the *timeout* argument is present and not ``None``, it should be a " +"floating point number specifying a timeout for the operation in seconds (or " +"fractions thereof)." +msgstr "" +"Якщо присутній аргумент *timeout*, а не ``None``, це має бути число з " +"плаваючою комою, що вказує час очікування для операції в секундах (або їх " +"частках)." + +msgid "" +"When the underlying lock is an :class:`RLock`, it is not released using its :" +"meth:`release` method, since this may not actually unlock the lock when it " +"was acquired multiple times recursively. Instead, an internal interface of " +"the :class:`RLock` class is used, which really unlocks it even when it has " +"been recursively acquired several times. Another internal interface is then " +"used to restore the recursion level when the lock is reacquired." +msgstr "" +"Якщо основним блокуванням є :class:`RLock`, він не звільняється за допомогою " +"свого методу :meth:`release`, оскільки це може не розблокувати блокування, " +"якщо його було отримано кілька разів рекурсивно. Замість цього " +"використовується внутрішній інтерфейс класу :class:`RLock`, який справді " +"розблоковує його, навіть якщо він був рекурсивно отриманий кілька разів. " +"Інший внутрішній інтерфейс потім використовується для відновлення рівня " +"рекурсії, коли блокування знову отримано." + +msgid "" +"The return value is ``True`` unless a given *timeout* expired, in which case " +"it is ``False``." +msgstr "" +"Поверненим значенням є ``True``, якщо не минув заданий *тайм-аут*, у такому " +"випадку воно має значення ``False``." + +msgid "Previously, the method always returned ``None``." +msgstr "Раніше метод завжди повертав ``None``." + +msgid "" +"Wait until a condition evaluates to true. *predicate* should be a callable " +"which result will be interpreted as a boolean value. A *timeout* may be " +"provided giving the maximum time to wait." +msgstr "" +"Зачекайте, поки умова оціниться як істинна. *предикат* має бути викликаним, " +"результат якого буде інтерпретуватися як логічне значення. Може бути надано " +"*тайм-аут*, що дає максимальний час очікування." + +msgid "" +"This utility method may call :meth:`wait` repeatedly until the predicate is " +"satisfied, or until a timeout occurs. The return value is the last return " +"value of the predicate and will evaluate to ``False`` if the method timed " +"out." +msgstr "" +"Цей допоміжний метод може викликати :meth:`wait` неодноразово, доки предикат " +"не буде задоволено або поки не настане час очікування. Значення, що " +"повертається, є останнім значенням, що повертається предикатом, і оцінюється " +"як ``False``, якщо час очікування методу минув." + +msgid "" +"Ignoring the timeout feature, calling this method is roughly equivalent to " +"writing::" +msgstr "" +"Ігноруючи функцію тайм-ауту, виклик цього методу приблизно еквівалентний " +"написанню::" + +msgid "" +"Therefore, the same rules apply as with :meth:`wait`: The lock must be held " +"when called and is re-acquired on return. The predicate is evaluated with " +"the lock held." +msgstr "" +"Таким чином, застосовуються ті самі правила, що й для :meth:`wait`: " +"блокування має бути утримано під час виклику та повторно отримане після " +"повернення. Предикат обчислюється з утриманим блокуванням." + +msgid "" +"By default, wake up one thread waiting on this condition, if any. If the " +"calling thread has not acquired the lock when this method is called, a :exc:" +"`RuntimeError` is raised." +msgstr "" +"За замовчуванням активувати один потік, який очікує за цієї умови, якщо " +"такий є. Якщо потік, що викликає, не отримав блокування під час виклику " +"цього методу, виникає :exc:`RuntimeError`." + +msgid "" +"This method wakes up at most *n* of the threads waiting for the condition " +"variable; it is a no-op if no threads are waiting." +msgstr "" +"Цей метод активує щонайбільше *n* потоків, які очікують змінної умови; це " +"безопераційний режим, якщо немає потоків, що очікують." + +msgid "" +"The current implementation wakes up exactly *n* threads, if at least *n* " +"threads are waiting. However, it's not safe to rely on this behavior. A " +"future, optimized implementation may occasionally wake up more than *n* " +"threads." +msgstr "" +"Поточна реалізація активує рівно *n* потоків, якщо принаймні *n* потоків " +"очікують. Однак покладатися на таку поведінку небезпечно. Майбутня " +"оптимізована реалізація може час від часу запускати більше ніж *n* потоків." + +msgid "" +"Note: an awakened thread does not actually return from its :meth:`wait` call " +"until it can reacquire the lock. Since :meth:`notify` does not release the " +"lock, its caller should." +msgstr "" +"Примітка: пробуджений потік фактично не повертається після свого виклику :" +"meth:`wait`, доки він не зможе повторно отримати блокування. Оскільки :meth:" +"`notify` не знімає блокування, його виклик повинен це зробити." + +msgid "" +"Wake up all threads waiting on this condition. This method acts like :meth:" +"`notify`, but wakes up all waiting threads instead of one. If the calling " +"thread has not acquired the lock when this method is called, a :exc:" +"`RuntimeError` is raised." +msgstr "" +"Розбудити всі потоки, що очікують за цією умовою. Цей метод діє як :meth:" +"`notify`, але активує всі потоки, що очікують, а не один. Якщо потік, що " +"викликає, не отримав блокування під час виклику цього методу, виникає :exc:" +"`RuntimeError`." + +msgid "The method ``notifyAll`` is a deprecated alias for this method." +msgstr "Метод ``notifyAll`` є застарілим псевдонімом для цього методу." + +msgid "Semaphore Objects" +msgstr "Об'єкти семафора" + +msgid "" +"This is one of the oldest synchronization primitives in the history of " +"computer science, invented by the early Dutch computer scientist Edsger W. " +"Dijkstra (he used the names ``P()`` and ``V()`` instead of :meth:`~Semaphore." +"acquire` and :meth:`~Semaphore.release`)." +msgstr "" +"Це один із найстаріших примітивів синхронізації в історії інформатики, " +"винайдений першим голландським комп’ютерним науковцем Едсгером В. Дейкстрою " +"(він використовував імена ``P()`` і ``V()`` замість :meth:`~Semaphore." +"acquire` і :meth:`~Semaphore.release`)." + +msgid "" +"A semaphore manages an internal counter which is decremented by each :meth:" +"`~Semaphore.acquire` call and incremented by each :meth:`~Semaphore.release` " +"call. The counter can never go below zero; when :meth:`~Semaphore.acquire` " +"finds that it is zero, it blocks, waiting until some other thread calls :" +"meth:`~Semaphore.release`." +msgstr "" +"Семафор керує внутрішнім лічильником, який зменшується при кожному виклику :" +"meth:`~Semaphore.acquire` і збільшується при кожному виклику :meth:" +"`~Semaphore.release`. Лічильник ніколи не може опускатися нижче нуля; коли :" +"meth:`~Semaphore.acquire` виявляє, що він дорівнює нулю, він блокується, " +"чекаючи, поки інший потік викличе :meth:`~Semaphore.release`." + +msgid "" +"Semaphores also support the :ref:`context management protocol `." +msgstr "" +"Семафори також підтримують :ref:`протокол управління контекстом `." + +msgid "" +"This class implements semaphore objects. A semaphore manages an atomic " +"counter representing the number of :meth:`release` calls minus the number " +"of :meth:`acquire` calls, plus an initial value. The :meth:`acquire` method " +"blocks if necessary until it can return without making the counter negative. " +"If not given, *value* defaults to 1." +msgstr "" +"Цей клас реалізує семафорні об’єкти. Семафор керує атомарним лічильником, " +"який представляє кількість викликів :meth:`release` мінус кількість " +"викликів :meth:`acquire` плюс початкове значення. Метод :meth:`acquire` " +"блокує, якщо необхідно, доки не зможе повернутися, не зробивши лічильник " +"негативним. Якщо не вказано, *значення* за замовчуванням дорівнює 1." + +msgid "" +"The optional argument gives the initial *value* for the internal counter; it " +"defaults to ``1``. If the *value* given is less than 0, :exc:`ValueError` is " +"raised." +msgstr "" +"Необов'язковий аргумент дає початкове *значення* для внутрішнього " +"лічильника; за замовчуванням ``1``. Якщо задане *значення* менше 0, виникає :" +"exc:`ValueError`." + +msgid "Acquire a semaphore." +msgstr "Придбайте семафор." + +msgid "When invoked without arguments:" +msgstr "При виклику без аргументів:" + +msgid "" +"If the internal counter is larger than zero on entry, decrement it by one " +"and return ``True`` immediately." +msgstr "" +"Якщо внутрішній лічильник більше нуля під час входу, зменште його на одиницю " +"та негайно поверніть ``True``." + +msgid "" +"If the internal counter is zero on entry, block until awoken by a call to :" +"meth:`~Semaphore.release`. Once awoken (and the counter is greater than 0), " +"decrement the counter by 1 and return ``True``. Exactly one thread will be " +"awoken by each call to :meth:`~Semaphore.release`. The order in which " +"threads are awoken should not be relied on." +msgstr "" +"Якщо внутрішній лічильник дорівнює нулю під час входу, блокуйте, доки не " +"пробудите виклик :meth:`~Semaphore.release`. Після пробудження (і лічильник " +"більше 0), зменшіть лічильник на 1 і поверніть ``True``. Кожен виклик :meth:" +"`~Semaphore.release` пробуджуватиме рівно один потік. Не слід покладатися на " +"порядок, у якому пробуджуються потоки." + +msgid "" +"When invoked with *blocking* set to ``False``, do not block. If a call " +"without an argument would block, return ``False`` immediately; otherwise, do " +"the same thing as when called without arguments, and return ``True``." +msgstr "" +"При виклику з *blocking* встановленим на ``False`` не блокувати. Якщо виклик " +"без аргументу буде заблокований, негайно поверніть ``False``; в іншому " +"випадку виконайте те ж саме, що й під час виклику без аргументів, і " +"поверніть ``True``." + +msgid "" +"When invoked with a *timeout* other than ``None``, it will block for at most " +"*timeout* seconds. If acquire does not complete successfully in that " +"interval, return ``False``. Return ``True`` otherwise." +msgstr "" +"При виклику з *timeout*, відмінним від ``None``, він блокуватиметься " +"щонайбільше на *timeout* секунд. Якщо отримання не завершується успішно " +"протягом цього інтервалу, повертається ``False``. В іншому випадку поверніть " +"``True``." + +msgid "" +"Release a semaphore, incrementing the internal counter by *n*. When it was " +"zero on entry and other threads are waiting for it to become larger than " +"zero again, wake up *n* of those threads." +msgstr "" +"Відпустіть семафор, збільшивши внутрішній лічильник на *n*. Коли він був " +"нульовим під час входу, а інші потоки чекають, коли він знову стане більшим " +"за нуль, розбудіть *n* з цих потоків." + +msgid "Added the *n* parameter to release multiple waiting threads at once." +msgstr "" +"Додано параметр *n*, щоб одночасно звільнити кілька потоків, що очікують." + +msgid "" +"Class implementing bounded semaphore objects. A bounded semaphore checks to " +"make sure its current value doesn't exceed its initial value. If it does, :" +"exc:`ValueError` is raised. In most situations semaphores are used to guard " +"resources with limited capacity. If the semaphore is released too many " +"times it's a sign of a bug. If not given, *value* defaults to 1." +msgstr "" +"Клас, що реалізує обмежені семафорні об’єкти. Обмежений семафор перевіряє, " +"чи його поточне значення не перевищує початкове значення. Якщо це так, " +"виникає :exc:`ValueError`. У більшості ситуацій семафори використовуються " +"для захисту ресурсів з обмеженою ємністю. Якщо семафор запускається занадто " +"багато разів, це ознака помилки. Якщо не вказано, *значення* за " +"замовчуванням дорівнює 1." + +msgid ":class:`Semaphore` Example" +msgstr ":class:`Semaphore` Приклад" + +msgid "" +"Semaphores are often used to guard resources with limited capacity, for " +"example, a database server. In any situation where the size of the resource " +"is fixed, you should use a bounded semaphore. Before spawning any worker " +"threads, your main thread would initialize the semaphore::" +msgstr "" +"Семафори часто використовуються для захисту ресурсів з обмеженою потужністю, " +"наприклад, сервера бази даних. У будь-якій ситуації, коли розмір ресурсу " +"фіксований, ви повинні використовувати обмежений семафор. Перед створенням " +"будь-яких робочих потоків ваш головний потік ініціалізує семафор::" + +msgid "" +"Once spawned, worker threads call the semaphore's acquire and release " +"methods when they need to connect to the server::" +msgstr "" +"Після створення робочі потоки викликають методи отримання та випуску " +"семафора, коли їм потрібно підключитися до сервера::" + +msgid "" +"The use of a bounded semaphore reduces the chance that a programming error " +"which causes the semaphore to be released more than it's acquired will go " +"undetected." +msgstr "" +"Використання обмеженого семафора зменшує ймовірність того, що програмна " +"помилка, через яку семафор буде звільнено більше, ніж отримано, залишиться " +"непоміченою." + +msgid "Event Objects" +msgstr "Об'єкти подій" + +msgid "" +"This is one of the simplest mechanisms for communication between threads: " +"one thread signals an event and other threads wait for it." +msgstr "" +"Це один із найпростіших механізмів зв’язку між потоками: один потік " +"сигналізує про подію, а інші потоки чекають її." + +msgid "" +"An event object manages an internal flag that can be set to true with the :" +"meth:`~Event.set` method and reset to false with the :meth:`~Event.clear` " +"method. The :meth:`~Event.wait` method blocks until the flag is true." +msgstr "" +"Об’єкт події керує внутрішнім прапором, який можна встановити на true за " +"допомогою методу :meth:`~Event.set` і скинути на false за допомогою методу :" +"meth:`~Event.clear`. Метод :meth:`~Event.wait` блокує, доки прапор не стане " +"істинним." + +msgid "" +"Class implementing event objects. An event manages a flag that can be set " +"to true with the :meth:`~Event.set` method and reset to false with the :meth:" +"`clear` method. The :meth:`wait` method blocks until the flag is true. The " +"flag is initially false." +msgstr "" +"Клас, що реалізує об'єкти подій. Подія керує прапором, який можна встановити " +"на true за допомогою методу :meth:`~Event.set` і скинути на false за " +"допомогою методу :meth:`clear`. Метод :meth:`wait` блокує, доки прапор не " +"стане істинним. Прапор спочатку фальшивий." + +msgid "Return ``True`` if and only if the internal flag is true." +msgstr "" +"Повертає ``True`` тоді і тільки тоді, коли внутрішній прапор має значення " +"true." + +msgid "The method ``isSet`` is a deprecated alias for this method." +msgstr "Метод ``isSet`` є застарілим псевдонімом для цього методу." + +msgid "" +"Set the internal flag to true. All threads waiting for it to become true are " +"awakened. Threads that call :meth:`wait` once the flag is true will not " +"block at all." +msgstr "" +"Встановіть для внутрішнього прапора значення true. Усі нитки, які чекають, " +"коли це стане правдою, пробуджуються. Потоки, які викликають :meth:`wait`, " +"коли прапор встановлено як true, взагалі не блокуватимуться." + +msgid "" +"Reset the internal flag to false. Subsequently, threads calling :meth:`wait` " +"will block until :meth:`.set` is called to set the internal flag to true " +"again." +msgstr "" +"Скиньте внутрішній прапор на false. Згодом потоки, що викликають :meth:" +"`wait`, блокуватимуться, доки не буде викликано :meth:`.set`, щоб знову " +"встановити внутрішній прапор на true." + +msgid "" +"Block until the internal flag is true. If the internal flag is true on " +"entry, return immediately. Otherwise, block until another thread calls :" +"meth:`.set` to set the flag to true, or until the optional timeout occurs." +msgstr "" +"Блокувати, доки внутрішній прапор не стане істинним. Якщо внутрішній прапор " +"істинний під час входу, поверніться негайно. В іншому випадку блокуйте, доки " +"інший потік не викличе :meth:`.set`, щоб установити прапор у значення true, " +"або доки не настане необов’язковий тайм-аут." + +msgid "" +"When the timeout argument is present and not ``None``, it should be a " +"floating point number specifying a timeout for the operation in seconds (or " +"fractions thereof)." +msgstr "" +"Якщо аргумент timeout присутній, а не ``None``, це має бути число з " +"плаваючою комою, що вказує час очікування для операції в секундах (або їх " +"частках)." + +msgid "" +"This method returns ``True`` if and only if the internal flag has been set " +"to true, either before the wait call or after the wait starts, so it will " +"always return ``True`` except if a timeout is given and the operation times " +"out." +msgstr "" +"Цей метод повертає ``True`` тоді і тільки тоді, коли внутрішній прапор " +"встановлений на true, або перед викликом очікування, або після початку " +"очікування, тому він завжди повертатиме ``True``, за винятком випадків, коли " +"встановлено тайм-аут і час очікування операції." + +msgid "Timer Objects" +msgstr "Об'єкти таймера" + +msgid "" +"This class represents an action that should be run only after a certain " +"amount of time has passed --- a timer. :class:`Timer` is a subclass of :" +"class:`Thread` and as such also functions as an example of creating custom " +"threads." +msgstr "" +"Цей клас представляє дію, яку слід запускати лише після того, як мине певний " +"час --- таймер. :class:`Timer` є підкласом :class:`Thread` і як такий також " +"функціонує як приклад створення власних потоків." + +msgid "" +"Timers are started, as with threads, by calling their :meth:`~Timer.start` " +"method. The timer can be stopped (before its action has begun) by calling " +"the :meth:`~Timer.cancel` method. The interval the timer will wait before " +"executing its action may not be exactly the same as the interval specified " +"by the user." +msgstr "" +"Таймери запускаються, як і потоки, викликом їх методу :meth:`~Timer.start`. " +"Таймер можна зупинити (до початку його дії), викликавши метод :meth:`~Timer." +"cancel`. Інтервал, який таймер чекатиме перед виконанням своєї дії, може не " +"збігатися з інтервалом, указаним користувачем." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"Create a timer that will run *function* with arguments *args* and keyword " +"arguments *kwargs*, after *interval* seconds have passed. If *args* is " +"``None`` (the default) then an empty list will be used. If *kwargs* is " +"``None`` (the default) then an empty dict will be used." +msgstr "" +"Створіть таймер, який запускатиме *функцію* з аргументами *args* і " +"аргументами ключового слова *kwargs* після закінчення *інтервалу* секунд. " +"Якщо *args* має значення ``None`` (за замовчуванням), тоді " +"використовуватиметься порожній список. Якщо *kwargs* має значення ``None`` " +"(за замовчуванням), тоді використовуватиметься порожній dict." + +msgid "" +"Stop the timer, and cancel the execution of the timer's action. This will " +"only work if the timer is still in its waiting stage." +msgstr "" +"Зупиніть таймер і скасуйте виконання дії таймера. Це спрацює, лише якщо " +"таймер все ще перебуває в стадії очікування." + +msgid "Barrier Objects" +msgstr "Загороджувальні об'єкти" + +msgid "" +"This class provides a simple synchronization primitive for use by a fixed " +"number of threads that need to wait for each other. Each of the threads " +"tries to pass the barrier by calling the :meth:`~Barrier.wait` method and " +"will block until all of the threads have made their :meth:`~Barrier.wait` " +"calls. At this point, the threads are released simultaneously." +msgstr "" +"Цей клас забезпечує простий примітив синхронізації для використання " +"фіксованою кількістю потоків, які повинні чекати один одного. Кожен із " +"потоків намагається подолати бар’єр, викликаючи метод :meth:`~Barrier.wait` " +"і блокуватиметься, доки всі потоки не виконають свої виклики :meth:`~Barrier." +"wait`. У цей момент потоки звільняються одночасно." + +msgid "" +"The barrier can be reused any number of times for the same number of threads." +msgstr "" +"Бар'єр можна повторно використовувати будь-яку кількість разів для однакової " +"кількості потоків." + +msgid "" +"As an example, here is a simple way to synchronize a client and server " +"thread::" +msgstr "" +"Як приклад, ось простий спосіб синхронізації потоку клієнта та сервера:" + +msgid "" +"Create a barrier object for *parties* number of threads. An *action*, when " +"provided, is a callable to be called by one of the threads when they are " +"released. *timeout* is the default timeout value if none is specified for " +"the :meth:`wait` method." +msgstr "" +"Створіть бар'єрний об'єкт для *сторон* кількості потоків. *Action*, якщо " +"надається, є викликом, який викликається одним із потоків, коли вони " +"звільняються. *timeout* — це значення часу очікування за замовчуванням, якщо " +"для методу :meth:`wait` його не вказано." + +msgid "" +"Pass the barrier. When all the threads party to the barrier have called " +"this function, they are all released simultaneously. If a *timeout* is " +"provided, it is used in preference to any that was supplied to the class " +"constructor." +msgstr "" +"Пройти шлагбаум. Коли всі потоки, які є стороною бар’єру, викличуть цю " +"функцію, усі вони звільняються одночасно. Якщо надається *тайм-аут*, він " +"використовується замість будь-якого, який було надано конструктору класу." + +msgid "" +"The return value is an integer in the range 0 to *parties* -- 1, different " +"for each thread. This can be used to select a thread to do some special " +"housekeeping, e.g.::" +msgstr "" +"Повернене значення є цілим числом у діапазоні від 0 до *parties* -- 1, різне " +"для кожного потоку. Це можна використати для вибору потоку для виконання " +"деяких спеціальних завдань, наприклад::" + +msgid "" +"If an *action* was provided to the constructor, one of the threads will have " +"called it prior to being released. Should this call raise an error, the " +"barrier is put into the broken state." +msgstr "" +"Якщо *дія* була надана конструктору, один із потоків викликатиме її до того, " +"як буде звільнено. Якщо цей виклик викликає помилку, шлагбаум переходить у " +"несправний стан." + +msgid "If the call times out, the barrier is put into the broken state." +msgstr "Якщо виклик закінчився, шлагбаум переходить у несправний стан." + +msgid "" +"This method may raise a :class:`BrokenBarrierError` exception if the barrier " +"is broken or reset while a thread is waiting." +msgstr "" +"Цей метод може викликати виключення :class:`BrokenBarrierError`, якщо бар’єр " +"зламано або скинуто під час очікування потоку." + +msgid "" +"Return the barrier to the default, empty state. Any threads waiting on it " +"will receive the :class:`BrokenBarrierError` exception." +msgstr "" +"Поверніть бар'єр до стандартного порожнього стану. Будь-які потоки, які " +"очікують на нього, отримають виняток :class:`BrokenBarrierError`." + +msgid "" +"Note that using this function may require some external synchronization if " +"there are other threads whose state is unknown. If a barrier is broken it " +"may be better to just leave it and create a new one." +msgstr "" +"Зауважте, що використання цієї функції може потребувати певної зовнішньої " +"синхронізації, якщо існують інші потоки, стан яких невідомий. Якщо бар’єр " +"зламано, можливо, краще залишити його та створити новий." + +msgid "" +"Put the barrier into a broken state. This causes any active or future calls " +"to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for " +"example if one of the threads needs to abort, to avoid deadlocking the " +"application." +msgstr "" +"Переведіть шлагбаум в зламаний стан. Це призводить до того, що будь-які " +"активні або майбутні виклики :meth:`wait` завершуються помилкою з :class:" +"`BrokenBarrierError`. Використовуйте це, наприклад, якщо один із потоків " +"потрібно перервати, щоб уникнути блокування програми." + +msgid "" +"It may be preferable to simply create the barrier with a sensible *timeout* " +"value to automatically guard against one of the threads going awry." +msgstr "" +"Можливо, буде краще просто створити бар’єр із розумним значенням *timeout*, " +"щоб автоматично захистити один із потоків від збою." + +msgid "The number of threads required to pass the barrier." +msgstr "Кількість потоків, необхідних для проходження бар'єру." + +msgid "The number of threads currently waiting in the barrier." +msgstr "Кількість потоків, які зараз очікують у бар'єрі." + +msgid "A boolean that is ``True`` if the barrier is in the broken state." +msgstr "" +"Логічне значення, яке має значення ``True``, якщо бар’єр знаходиться в " +"зламаному стані." + +msgid "" +"This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" +"`Barrier` object is reset or broken." +msgstr "" +"Цей виняток, підклас :exc:`RuntimeError`, виникає, коли об’єкт :class:" +"`Barrier` скидається або зламано." + +msgid "" +"Using locks, conditions, and semaphores in the :keyword:`!with` statement" +msgstr "Використання блокувань, умов і семафорів у операторі :keyword:`!with`" + +msgid "" +"All of the objects provided by this module that have :meth:`acquire` and :" +"meth:`release` methods can be used as context managers for a :keyword:`with` " +"statement. The :meth:`acquire` method will be called when the block is " +"entered, and :meth:`release` will be called when the block is exited. " +"Hence, the following snippet::" +msgstr "" +"Усі об’єкти, надані цим модулем, які мають методи :meth:`acquire` і :meth:" +"`release`, можна використовувати як менеджери контексту для оператора :" +"keyword:`with`. Метод :meth:`acquire` буде викликаний під час входу в блок, " +"а :meth:`release` — під час виходу з блоку. Отже, наступний фрагмент::" + +msgid "is equivalent to::" +msgstr "еквівалентно::" + +msgid "" +"Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:" +"`Semaphore`, and :class:`BoundedSemaphore` objects may be used as :keyword:" +"`with` statement context managers." +msgstr "" +"Наразі об’єкти :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:" +"`Semaphore` і :class:`BoundedSemaphore` можна використовувати як контекст " +"оператора :keyword:`with` менеджери." diff --git a/library/time.po b/library/time.po new file mode 100644 index 000000000..5374307c7 --- /dev/null +++ b/library/time.po @@ -0,0 +1,1443 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`time` --- Time access and conversions" +msgstr ":mod:`time` --- Час доступу та перетворення" + +msgid "" +"This module provides various time-related functions. For related " +"functionality, see also the :mod:`datetime` and :mod:`calendar` modules." +msgstr "" +"Цей модуль забезпечує різні функції, пов’язані з часом. Для пов’язаних " +"функцій перегляньте також модулі :mod:`datetime` і :mod:`calendar`." + +msgid "" +"Although this module is always available, not all functions are available on " +"all platforms. Most of the functions defined in this module call platform C " +"library functions with the same name. It may sometimes be helpful to " +"consult the platform documentation, because the semantics of these functions " +"varies among platforms." +msgstr "" +"Хоча цей модуль завжди доступний, не всі функції доступні на всіх " +"платформах. Більшість функцій, визначених у цьому модулі, викликають функції " +"бібліотеки платформи C з однаковою назвою. Інколи може бути корисним " +"ознайомитися з документацією платформи, оскільки семантика цих функцій " +"відрізняється на різних платформах." + +msgid "An explanation of some terminology and conventions is in order." +msgstr "Доречно пояснення деяких термінів і умовностей." + +msgid "" +"The :dfn:`epoch` is the point where the time starts, the return value of " +"``time.gmtime(0)``. It is January 1, 1970, 00:00:00 (UTC) on all platforms." +msgstr "" + +msgid "" +"The term :dfn:`seconds since the epoch` refers to the total number of " +"elapsed seconds since the epoch, typically excluding `leap seconds`_. Leap " +"seconds are excluded from this total on all POSIX-compliant platforms." +msgstr "" +"Термін :dfn:`seconds since the epoch` відноситься до загальної кількості " +"секунд, що минули з епохи, як правило, за винятком високосних секунд (`leap " +"seconds`_). Секунди високосного значення виключаються з цієї суми на всіх " +"POSIX-сумісних платформах." + +msgid "" +"The functions in this module may not handle dates and times before the " +"epoch_ or far in the future. The cut-off point in the future is determined " +"by the C library; for 32-bit systems, it is typically in 2038." +msgstr "" + +msgid "" +"Function :func:`strptime` can parse 2-digit years when given ``%y`` format " +"code. When 2-digit years are parsed, they are converted according to the " +"POSIX and ISO C standards: values 69--99 are mapped to 1969--1999, and " +"values 0--68 are mapped to 2000--2068." +msgstr "" +"Функція :func:`strptime` може аналізувати 2-значні роки, якщо надається код " +"формату ``%y``. Коли 2-значні роки аналізуються, вони перетворюються " +"відповідно до стандартів POSIX та ISO C: значення 69--99 відображаються на " +"1969--1999, а значення 0--68 – у 2000--2068." + +msgid "" +"UTC is Coordinated Universal Time (formerly known as Greenwich Mean Time, or " +"GMT). The acronym UTC is not a mistake but a compromise between English and " +"French." +msgstr "" +"UTC — всесвітній координований час (раніше відомий як час за Гринвічем або " +"GMT). Акронім UTC — це не помилка, а компроміс між англійською та " +"французькою мовами." + +msgid "" +"DST is Daylight Saving Time, an adjustment of the timezone by (usually) one " +"hour during part of the year. DST rules are magic (determined by local law) " +"and can change from year to year. The C library has a table containing the " +"local rules (often it is read from a system file for flexibility) and is the " +"only source of True Wisdom in this respect." +msgstr "" +"DST – це літній час, зміна часового поясу (зазвичай) на одну годину протягом " +"частини року. Правила літнього часу є чарівними (визначаються місцевим " +"законодавством) і можуть змінюватися з року в рік. Бібліотека C має таблицю, " +"що містить локальні правила (часто її зчитують із системного файлу для " +"гнучкості) і є єдиним джерелом справжньої мудрості в цьому відношенні." + +msgid "" +"The precision of the various real-time functions may be less than suggested " +"by the units in which their value or argument is expressed. E.g. on most " +"Unix systems, the clock \"ticks\" only 50 or 100 times a second." +msgstr "" +"Точність різних функцій реального часу може бути нижчою, ніж передбачається " +"одиницями, у яких виражено їх значення або аргумент. наприклад у більшості " +"систем Unix годинник \"тикає\" лише 50 або 100 разів на секунду." + +msgid "" +"On the other hand, the precision of :func:`.time` and :func:`sleep` is " +"better than their Unix equivalents: times are expressed as floating point " +"numbers, :func:`.time` returns the most accurate time available (using Unix :" +"c:func:`gettimeofday` where available), and :func:`sleep` will accept a time " +"with a nonzero fraction (Unix :c:func:`select` is used to implement this, " +"where available)." +msgstr "" +"З іншого боку, точність :func:`.time` і :func:`sleep` краща, ніж їхні " +"еквіваленти Unix: час виражається як числа з плаваючою комою, :func:`.time` " +"повертає найточніший доступний час. (з використанням Unix :c:func:" +"`gettimeofday`, де доступно), і :func:`sleep` прийматиме час із ненульовою " +"часткою (Unix :c:func:`select` використовується для реалізації цього, де " +"доступно)." + +msgid "" +"The time value as returned by :func:`gmtime`, :func:`localtime`, and :func:" +"`strptime`, and accepted by :func:`asctime`, :func:`mktime` and :func:" +"`strftime`, is a sequence of 9 integers. The return values of :func:" +"`gmtime`, :func:`localtime`, and :func:`strptime` also offer attribute names " +"for individual fields." +msgstr "" +"Значення часу, що повертається :func:`gmtime`, :func:`localtime` і :func:" +"`strptime` і приймається :func:`asctime`, :func:`mktime` і :func:`strftime`, " +"є послідовністю з 9 цілих чисел. Повернуті значення :func:`gmtime`, :func:" +"`localtime` і :func:`strptime` також пропонують імена атрибутів для окремих " +"полів." + +msgid "See :class:`struct_time` for a description of these objects." +msgstr "Перегляньте :class:`struct_time` для опису цих об’єктів." + +msgid "" +"The :class:`struct_time` type was extended to provide the :attr:`tm_gmtoff` " +"and :attr:`tm_zone` attributes when platform supports corresponding ``struct " +"tm`` members." +msgstr "" +"Тип :class:`struct_time` було розширено, щоб забезпечити атрибути :attr:" +"`tm_gmtoff` і :attr:`tm_zone`, якщо платформа підтримує відповідні члени " +"``struct tm``." + +msgid "" +"The :class:`struct_time` attributes :attr:`tm_gmtoff` and :attr:`tm_zone` " +"are now available on all platforms." +msgstr "" +"Атрибути :class:`struct_time` :attr:`tm_gmtoff` і :attr:`tm_zone` тепер " +"доступні на всіх платформах." + +msgid "Use the following functions to convert between time representations:" +msgstr "Використовуйте такі функції для перетворення між представленнями часу:" + +msgid "From" +msgstr "Від" + +msgid "To" +msgstr "до" + +msgid "Use" +msgstr "використання" + +msgid "seconds since the epoch" +msgstr "секунд від епохи" + +msgid ":class:`struct_time` in UTC" +msgstr ":class:`struct_time` в UTC" + +msgid ":func:`gmtime`" +msgstr ":func:`gmtime`" + +msgid ":class:`struct_time` in local time" +msgstr ":class:`struct_time` за місцевим часом" + +msgid ":func:`localtime`" +msgstr ":func:`localtime`" + +msgid ":func:`calendar.timegm`" +msgstr ":func:`calendar.timegm`" + +msgid ":func:`mktime`" +msgstr ":func:`mktime`" + +msgid "Functions" +msgstr "Функції" + +msgid "" +"Convert a tuple or :class:`struct_time` representing a time as returned by :" +"func:`gmtime` or :func:`localtime` to a string of the following form: ``'Sun " +"Jun 20 23:21:05 1993'``. The day field is two characters long and is space " +"padded if the day is a single digit, e.g.: ``'Wed Jun 9 04:26:40 1993'``." +msgstr "" +"Перетворіть кортеж або :class:`struct_time`, який представляє час, " +"повернутий :func:`gmtime` або :func:`localtime`, на рядок такої форми: " +"``'Sun Jun 20 23:21:05 1993'``. Поле дня складається з двох символів і " +"доповнюється пробілом, якщо день складається з однієї цифри, наприклад: " +"``'Wed Jun 9 04:26:40 1993'``." + +msgid "" +"If *t* is not provided, the current time as returned by :func:`localtime` is " +"used. Locale information is not used by :func:`asctime`." +msgstr "" +"Якщо *t* не вказано, використовується поточний час, який повертає :func:" +"`localtime`. Інформація про мову не використовується :func:`asctime`." + +msgid "" +"Unlike the C function of the same name, :func:`asctime` does not add a " +"trailing newline." +msgstr "" +"На відміну від однойменної функції C, :func:`asctime` не додає кінцевий " +"новий рядок." + +msgid "" +"Return the *clk_id* of the thread-specific CPU-time clock for the specified " +"*thread_id*." +msgstr "" +"Повертає *clk_id* специфічного для потоку годинника ЦП для вказаного " +"*thread_id*." + +msgid "" +"Use :func:`threading.get_ident` or the :attr:`~threading.Thread.ident` " +"attribute of :class:`threading.Thread` objects to get a suitable value for " +"*thread_id*." +msgstr "" +"Використовуйте :func:`threading.get_ident` або атрибут :attr:`~threading." +"Thread.ident` об’єктів :class:`threading.Thread`, щоб отримати відповідне " +"значення для *thread_id*." + +msgid "" +"Passing an invalid or expired *thread_id* may result in undefined behavior, " +"such as segmentation fault." +msgstr "" +"Передача недійсного або простроченого *thread_id* може призвести до " +"невизначеної поведінки, наприклад до помилки сегментації." + +msgid ":ref:`Availability `: Unix" +msgstr ":ref:`Наявність `: Unix" + +msgid "" +"See the man page for :manpage:`pthread_getcpuclockid(3)` for further " +"information." +msgstr "" + +msgid "" +"Return the resolution (precision) of the specified clock *clk_id*. Refer " +"to :ref:`time-clock-id-constants` for a list of accepted values for *clk_id*." +msgstr "" +"Повертає роздільну здатність (точність) указаного годинника *clk_id*. " +"Перегляньте :ref:`time-clock-id-constants` список допустимих значень для " +"*clk_id*." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "" +"Return the time of the specified clock *clk_id*. Refer to :ref:`time-clock-" +"id-constants` for a list of accepted values for *clk_id*." +msgstr "" +"Повертає час указаного годинника *clk_id*. Зверніться до :ref:`time-clock-id-" +"constants` для списку прийнятних значень для *clk_id*." + +msgid "" +"Use :func:`clock_gettime_ns` to avoid the precision loss caused by the :" +"class:`float` type." +msgstr "" +"Використовуйте :func:`clock_gettime_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." + +msgid "Similar to :func:`clock_gettime` but return time as nanoseconds." +msgstr "Подібно до :func:`clock_gettime`, але повертає час у наносекундах." + +msgid "" +"Set the time of the specified clock *clk_id*. Currently, :data:" +"`CLOCK_REALTIME` is the only accepted value for *clk_id*." +msgstr "" +"Встановіть час зазначеного годинника *clk_id*. Наразі :data:`CLOCK_REALTIME` " +"є єдиним прийнятним значенням для *clk_id*." + +msgid "" +"Use :func:`clock_settime_ns` to avoid the precision loss caused by the :" +"class:`float` type." +msgstr "" +"Використовуйте :func:`clock_settime_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." + +msgid "Similar to :func:`clock_settime` but set time with nanoseconds." +msgstr "Подібно до :func:`clock_settime`, але встановлює час у наносекундах." + +msgid "" +"Convert a time expressed in seconds since the epoch_ to a string of a form: " +"``'Sun Jun 20 23:21:05 1993'`` representing local time. The day field is two " +"characters long and is space padded if the day is a single digit, e.g.: " +"``'Wed Jun 9 04:26:40 1993'``." +msgstr "" + +msgid "" +"If *secs* is not provided or :const:`None`, the current time as returned by :" +"func:`.time` is used. ``ctime(secs)`` is equivalent to " +"``asctime(localtime(secs))``. Locale information is not used by :func:" +"`ctime`." +msgstr "" +"Якщо *secs* не вказано або :const:`None`, використовується поточний час, " +"який повертає :func:`.time`. ``ctime(secs)`` еквівалентний " +"``asctime(localtime(secs))``. Інформація про мову не використовується :func:" +"`ctime`." + +msgid "" +"Get information on the specified clock as a namespace object. Supported " +"clock names and the corresponding functions to read their value are:" +msgstr "" +"Отримати інформацію про вказаний годинник як об’єкт простору імен. " +"Підтримувані назви годинника та відповідні функції для читання їх значення:" + +msgid "``'monotonic'``: :func:`time.monotonic`" +msgstr "``'монотонний'``: :func:`time.monotonic`" + +msgid "``'perf_counter'``: :func:`time.perf_counter`" +msgstr "``'perf_counter'``: :func:`time.perf_counter`" + +msgid "``'process_time'``: :func:`time.process_time`" +msgstr "``'process_time'``: :func:`time.process_time`" + +msgid "``'thread_time'``: :func:`time.thread_time`" +msgstr "``'thread_time'``: :func:`time.thread_time`" + +msgid "``'time'``: :func:`time.time`" +msgstr "``'час'``: :func:`time.time`" + +msgid "The result has the following attributes:" +msgstr "Результат має такі атрибути:" + +msgid "" +"*adjustable*: ``True`` if the clock can be changed automatically (e.g. by a " +"NTP daemon) or manually by the system administrator, ``False`` otherwise" +msgstr "" +"*регульований*: ``True``, якщо годинник можна змінити автоматично " +"(наприклад, демоном NTP) або вручну системним адміністратором, ``False`` " +"інакше" + +msgid "" +"*implementation*: The name of the underlying C function used to get the " +"clock value. Refer to :ref:`time-clock-id-constants` for possible values." +msgstr "" +"*реалізація*: назва основної функції C, яка використовується для отримання " +"значення тактової частоти. Зверніться до :ref:`time-clock-id-constants` щодо " +"можливих значень." + +msgid "" +"*monotonic*: ``True`` if the clock cannot go backward, ``False`` otherwise" +msgstr "" +"*монотонний*: ``True``, якщо годинник не може повернутися назад, ``False`` " +"інакше" + +msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)" +msgstr "" +"*resolution*: роздільна здатність годинника в секундах (:class:`float`)" + +msgid "" +"Convert a time expressed in seconds since the epoch_ to a :class:" +"`struct_time` in UTC in which the dst flag is always zero. If *secs* is not " +"provided or :const:`None`, the current time as returned by :func:`.time` is " +"used. Fractions of a second are ignored. See above for a description of " +"the :class:`struct_time` object. See :func:`calendar.timegm` for the inverse " +"of this function." +msgstr "" + +msgid "" +"Like :func:`gmtime` but converts to local time. If *secs* is not provided " +"or :const:`None`, the current time as returned by :func:`.time` is used. " +"The dst flag is set to ``1`` when DST applies to the given time." +msgstr "" +"Як :func:`gmtime`, але перетворює на місцевий час. Якщо *secs* не вказано " +"або :const:`None`, використовується поточний час, який повертає :func:`." +"time`. Прапор DST встановлюється на ``1``, коли літній час застосовується до " +"даного часу." + +msgid "" +":func:`localtime` may raise :exc:`OverflowError`, if the timestamp is " +"outside the range of values supported by the platform C :c:func:`localtime` " +"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` or :" +"c:func:`gmtime` failure. It's common for this to be restricted to years " +"between 1970 and 2038." +msgstr "" +":func:`localtime` може викликати :exc:`OverflowError`, якщо позначка часу " +"виходить за межі діапазону значень, які підтримують функції :c:func:" +"`localtime` або :c:func:`gmtime` платформи, і :exc:`OSError` під час " +"помилки :c:func:`localtime` або :c:func:`gmtime`. Зазвичай це обмежується " +"роками між 1970 і 2038 роками." + +msgid "" +"This is the inverse function of :func:`localtime`. Its argument is the :" +"class:`struct_time` or full 9-tuple (since the dst flag is needed; use " +"``-1`` as the dst flag if it is unknown) which expresses the time in *local* " +"time, not UTC. It returns a floating point number, for compatibility with :" +"func:`.time`. If the input value cannot be represented as a valid time, " +"either :exc:`OverflowError` or :exc:`ValueError` will be raised (which " +"depends on whether the invalid value is caught by Python or the underlying C " +"libraries). The earliest date for which it can generate a time is platform-" +"dependent." +msgstr "" +"Це обернена функція :func:`localtime`. Його аргументом є :class:" +"`struct_time` або повний 9-кортеж (оскільки потрібен прапор dst; " +"використовуйте ``-1`` як прапор dst, якщо він невідомий), який виражає час у " +"*місцевому* часі, а не UTC. Він повертає число з плаваючою комою для " +"сумісності з :func:`.time`. Якщо вхідне значення не може бути представлено " +"як дійсний час, буде викликано :exc:`OverflowError` або :exc:`ValueError` " +"(що залежить від того, чи недійсне значення перехоплено Python або базовими " +"бібліотеками C). Найраніша дата, для якої він може згенерувати час, залежить " +"від платформи." + +msgid "" +"Return the value (in fractional seconds) of a monotonic clock, i.e. a clock " +"that cannot go backwards. The clock is not affected by system clock " +"updates. The reference point of the returned value is undefined, so that " +"only the difference between the results of two calls is valid." +msgstr "" +"Повертає значення (у частках секунд) монотонного годинника, тобто годинника, " +"який не може повертатися назад. Оновлення системного годинника не впливають " +"на годинник. Точка відліку повернутого значення не визначена, тому дійсна " +"лише різниця між результатами двох викликів." + +msgid "" +"Use :func:`monotonic_ns` to avoid the precision loss caused by the :class:" +"`float` type." +msgstr "" +"Використовуйте :func:`monotonic_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." + +msgid "The function is now always available and always system-wide." +msgstr "Функція тепер доступна завжди і завжди для всієї системи." + +msgid "On macOS, the function is now system-wide." +msgstr "У macOS ця функція тепер доступна для всієї системи." + +msgid "Similar to :func:`monotonic`, but return time as nanoseconds." +msgstr "Подібно до :func:`monotonic`, але повертає час у наносекундах." + +msgid "" +"Return the value (in fractional seconds) of a performance counter, i.e. a " +"clock with the highest available resolution to measure a short duration. It " +"does include time elapsed during sleep and is system-wide. The reference " +"point of the returned value is undefined, so that only the difference " +"between the results of two calls is valid." +msgstr "" +"Повертає значення (у частках секунд) лічильника продуктивності, тобто " +"годинник із найвищою доступною роздільною здатністю для вимірювання короткої " +"тривалості. Він включає час, що минув під час сну, і є загальносистемним. " +"Точка відліку повернутого значення не визначена, тому дійсна лише різниця " +"між результатами двох викликів." + +msgid "" +"Use :func:`perf_counter_ns` to avoid the precision loss caused by the :class:" +"`float` type." +msgstr "" +"Використовуйте :func:`perf_counter_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." + +msgid "On Windows, the function is now system-wide." +msgstr "У Windows ця функція тепер доступна для всієї системи." + +msgid "Similar to :func:`perf_counter`, but return time as nanoseconds." +msgstr "Подібно до :func:`perf_counter`, але повертає час у наносекундах." + +msgid "" +"Return the value (in fractional seconds) of the sum of the system and user " +"CPU time of the current process. It does not include time elapsed during " +"sleep. It is process-wide by definition. The reference point of the " +"returned value is undefined, so that only the difference between the results " +"of two calls is valid." +msgstr "" +"Повертає значення (у частках секунд) суми часу процесора системи та " +"користувача поточного процесу. Він не включає час, що минув під час сну. За " +"визначенням це стосується всього процесу. Точка відліку повернутого значення " +"не визначена, тому дійсна лише різниця між результатами двох викликів." + +msgid "" +"Use :func:`process_time_ns` to avoid the precision loss caused by the :class:" +"`float` type." +msgstr "" +"Використовуйте :func:`process_time_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." + +msgid "Similar to :func:`process_time` but return time as nanoseconds." +msgstr "Подібно до :func:`process_time`, але повертає час у наносекундах." + +msgid "" +"Suspend execution of the calling thread for the given number of seconds. The " +"argument may be a floating point number to indicate a more precise sleep " +"time." +msgstr "" + +msgid "" +"If the sleep is interrupted by a signal and no exception is raised by the " +"signal handler, the sleep is restarted with a recomputed timeout." +msgstr "" + +msgid "" +"The suspension time may be longer than requested by an arbitrary amount, " +"because of the scheduling of other activity in the system." +msgstr "" + +msgid "" +"On Windows, if *secs* is zero, the thread relinquishes the remainder of its " +"time slice to any other thread that is ready to run. If there are no other " +"threads ready to run, the function returns immediately, and the thread " +"continues execution. On Windows 8.1 and newer the implementation uses a " +"`high-resolution timer `_ which provides resolution of 100 " +"nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." +msgstr "" + +msgid "Unix implementation:" +msgstr "" + +msgid "Use ``clock_nanosleep()`` if available (resolution: 1 nanosecond);" +msgstr "" + +msgid "Or use ``nanosleep()`` if available (resolution: 1 nanosecond);" +msgstr "" + +msgid "Or use ``select()`` (resolution: 1 microsecond)." +msgstr "" + +msgid "" +"On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now " +"used if available. On Windows, a waitable timer is now used." +msgstr "" + +msgid "" +"The function now sleeps at least *secs* even if the sleep is interrupted by " +"a signal, except if the signal handler raises an exception (see :pep:`475` " +"for the rationale)." +msgstr "" +"Функція тепер перебуває в режимі сну принаймні *секунд*, навіть якщо сон " +"переривається сигналом, за винятком випадків, коли обробник сигналу викликає " +"виняток (перегляньте :pep:`475` для обґрунтування)." + +msgid "" +"Convert a tuple or :class:`struct_time` representing a time as returned by :" +"func:`gmtime` or :func:`localtime` to a string as specified by the *format* " +"argument. If *t* is not provided, the current time as returned by :func:" +"`localtime` is used. *format* must be a string. :exc:`ValueError` is " +"raised if any field in *t* is outside of the allowed range." +msgstr "" +"Перетворіть кортеж або :class:`struct_time`, що представляє час, який " +"повертає :func:`gmtime` або :func:`localtime`, на рядок, як зазначено в " +"аргументі *format*. Якщо *t* не вказано, використовується поточний час, який " +"повертає :func:`localtime`. *format* має бути рядком. :exc:`ValueError` " +"виникає, якщо будь-яке поле в *t* виходить за межі дозволеного діапазону." + +msgid "" +"0 is a legal argument for any position in the time tuple; if it is normally " +"illegal the value is forced to a correct one." +msgstr "" +"0 є допустимим аргументом для будь-якої позиції в часовому кортежі; якщо " +"зазвичай це нелегально, значення примусово має бути правильним." + +msgid "" +"The following directives can be embedded in the *format* string. They are " +"shown without the optional field width and precision specification, and are " +"replaced by the indicated characters in the :func:`strftime` result:" +msgstr "" +"Наступні директиви можуть бути вбудовані в рядок *format*. Вони " +"відображаються без додаткової специфікації ширини поля та точності та " +"замінюються вказаними символами в результаті :func:`strftime`:" + +msgid "Directive" +msgstr "Директива" + +msgid "Meaning" +msgstr "Значення" + +msgid "Notes" +msgstr "Примітки" + +msgid "``%a``" +msgstr "``%a``" + +msgid "Locale's abbreviated weekday name." +msgstr "Скорочена назва дня тижня в локалі." + +msgid "``%A``" +msgstr "``%A``" + +msgid "Locale's full weekday name." +msgstr "Повна назва робочого дня локалі." + +msgid "``%b``" +msgstr "``%b``" + +msgid "Locale's abbreviated month name." +msgstr "Скорочена назва місяця в локалі." + +msgid "``%B``" +msgstr "``%B``" + +msgid "Locale's full month name." +msgstr "Повна назва місяця." + +msgid "``%c``" +msgstr "``%c``" + +msgid "Locale's appropriate date and time representation." +msgstr "Відповідне представлення дати та часу локалі." + +msgid "``%d``" +msgstr "``%d``" + +msgid "Day of the month as a decimal number [01,31]." +msgstr "День місяця у вигляді десяткового числа [01,31]." + +msgid "``%H``" +msgstr "``%H``" + +msgid "Hour (24-hour clock) as a decimal number [00,23]." +msgstr "Година (24-годинний формат) як десяткове число [00,23]." + +msgid "``%I``" +msgstr "``%I``" + +msgid "Hour (12-hour clock) as a decimal number [01,12]." +msgstr "Година (12-годинний годинник) як десяткове число [01,12]." + +msgid "``%j``" +msgstr "``%j``" + +msgid "Day of the year as a decimal number [001,366]." +msgstr "День року як десяткове число [001,366]." + +msgid "``%m``" +msgstr "``%m``" + +msgid "Month as a decimal number [01,12]." +msgstr "Місяць як десяткове число [01,12]." + +msgid "``%M``" +msgstr "``%M``" + +msgid "Minute as a decimal number [00,59]." +msgstr "Хвилина як десяткове число [00,59]." + +msgid "``%p``" +msgstr "``%p``" + +msgid "Locale's equivalent of either AM or PM." +msgstr "Локальний еквівалент AM або PM." + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``%S``" +msgstr "``%S``" + +msgid "Second as a decimal number [00,61]." +msgstr "Секунда як десяткове число [00,61]." + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "``%U``" +msgstr "``%U``" + +msgid "" +"Week number of the year (Sunday as the first day of the week) as a decimal " +"number [00,53]. All days in a new year preceding the first Sunday are " +"considered to be in week 0." +msgstr "" +"Номер тижня року (неділя як перший день тижня) у вигляді десяткового числа " +"[00,53]. Усі дні в новому році, що передують першій неділі, вважаються " +"нульовим тижнем." + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "``%w``" +msgstr "``%w``" + +msgid "Weekday as a decimal number [0(Sunday),6]." +msgstr "День тижня як десяткове число [0(неділя),6]." + +msgid "``%W``" +msgstr "``%W``" + +msgid "" +"Week number of the year (Monday as the first day of the week) as a decimal " +"number [00,53]. All days in a new year preceding the first Monday are " +"considered to be in week 0." +msgstr "" +"Номер тижня року (понеділок як перший день тижня) у вигляді десяткового " +"числа [00,53]. Усі дні в новому році, що передують першому понеділку, " +"вважаються нульовим тижнем." + +msgid "``%x``" +msgstr "``%x``" + +msgid "Locale's appropriate date representation." +msgstr "Відповідне представлення дати в локалі." + +msgid "``%X``" +msgstr "``%X``" + +msgid "Locale's appropriate time representation." +msgstr "Відповідне представлення часу локалі." + +msgid "``%y``" +msgstr "``%y``" + +msgid "Year without century as a decimal number [00,99]." +msgstr "Рік без століття як десяткове число [00,99]." + +msgid "``%Y``" +msgstr "``%Y``" + +msgid "Year with century as a decimal number." +msgstr "Рік із століттям як десяткове число." + +msgid "``%z``" +msgstr "``%z``" + +msgid "" +"Time zone offset indicating a positive or negative time difference from UTC/" +"GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M " +"represents decimal minute digits [-23:59, +23:59]. [1]_" +msgstr "" +"Зміщення часового поясу, що вказує на додатну або від’ємну різницю в часі " +"від UTC/GMT у формі +ГГММ або -ГГММ, де H означає десяткові цифри години, а " +"M – десяткові цифри хвилин [-23:59, +23:59]. [1]_" + +msgid "``%Z``" +msgstr "``%Z``" + +msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_" +msgstr "" +"Назва часового поясу (без символів, якщо часовий пояс не існує). Застаріле. " +"[1]_" + +msgid "``%%``" +msgstr "``%%``" + +msgid "A literal ``'%'`` character." +msgstr "Буквальний символ ``'%''``." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"When used with the :func:`strptime` function, the ``%p`` directive only " +"affects the output hour field if the ``%I`` directive is used to parse the " +"hour." +msgstr "" +"При використанні з функцією :func:`strptime` директива ``%p`` впливає на " +"поле вихідних годин, лише якщо директива ``%I`` використовується для аналізу " +"години." + +msgid "" +"The range really is ``0`` to ``61``; value ``60`` is valid in timestamps " +"representing `leap seconds`_ and value ``61`` is supported for historical " +"reasons." +msgstr "" +"Діапазон насправді становить від ``0`` до ``61``; значення ``60`` є дійсним " +"у мітках часу, що представляють високосні секунди (`leap seconds`_), а " +"значення ``61`` підтримується з історичних причин." + +msgid "" +"When used with the :func:`strptime` function, ``%U`` and ``%W`` are only " +"used in calculations when the day of the week and the year are specified." +msgstr "" +"При використанні з функцією :func:`strptime`, ``%U`` і ``%W`` " +"використовуються в обчисленнях лише тоді, коли вказано день тижня та рік." + +msgid "" +"Here is an example, a format for dates compatible with that specified in " +"the :rfc:`2822` Internet email standard. [1]_ ::" +msgstr "" +"Ось приклад формату дат, сумісного з указаним у стандарті електронної пошти " +"Інтернету :rfc:`2822`. [1]_ ::" + +msgid "" +"Additional directives may be supported on certain platforms, but only the " +"ones listed here have a meaning standardized by ANSI C. To see the full set " +"of format codes supported on your platform, consult the :manpage:" +"`strftime(3)` documentation." +msgstr "" +"Додаткові директиви можуть підтримуватися на певних платформах, але лише " +"перелічені тут мають значення, стандартизовані ANSI C. Щоб побачити повний " +"набір кодів формату, які підтримуються на вашій платформі, зверніться до " +"документації :manpage:`strftime(3)`." + +msgid "" +"On some platforms, an optional field width and precision specification can " +"immediately follow the initial ``'%'`` of a directive in the following " +"order; this is also not portable. The field width is normally 2 except for ``" +"%j`` where it is 3." +msgstr "" +"На деяких платформах необов’язкова ширина поля та специфікація точності " +"можуть відразу слідувати за початковим ``'%'`` директиви в наступному " +"порядку; це також не портативно. Ширина поля зазвичай дорівнює 2, за " +"винятком ``%j``, де вона дорівнює 3." + +msgid "" +"Parse a string representing a time according to a format. The return value " +"is a :class:`struct_time` as returned by :func:`gmtime` or :func:`localtime`." +msgstr "" +"Проаналізуйте рядок, що представляє час, відповідно до формату. Поверненим " +"значенням є :class:`struct_time`, яке повертає :func:`gmtime` або :func:" +"`localtime`." + +msgid "" +"The *format* parameter uses the same directives as those used by :func:" +"`strftime`; it defaults to ``\"%a %b %d %H:%M:%S %Y\"`` which matches the " +"formatting returned by :func:`ctime`. If *string* cannot be parsed according " +"to *format*, or if it has excess data after parsing, :exc:`ValueError` is " +"raised. The default values used to fill in any missing data when more " +"accurate values cannot be inferred are ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. " +"Both *string* and *format* must be strings." +msgstr "" +"Параметр *format* використовує ті самі директиви, що й :func:`strftime`; за " +"замовчуванням ``\"%a %b %d %H:%M:%S %Y\"``, що відповідає форматуванню, яке " +"повертає :func:`ctime`. Якщо *рядок* не може бути розібраний відповідно до " +"*формату*, або якщо він має зайві дані після аналізу, виникає :exc:" +"`ValueError`. Значення за замовчуванням, які використовуються для заповнення " +"будь-яких відсутніх даних, коли точніші значення неможливо отримати, це " +"``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. І *string*, і *format* мають бути " +"рядками." + +msgid "For example:" +msgstr "Наприклад:" + +msgid "" +"Support for the ``%Z`` directive is based on the values contained in " +"``tzname`` and whether ``daylight`` is true. Because of this, it is " +"platform-specific except for recognizing UTC and GMT which are always known " +"(and are considered to be non-daylight savings timezones)." +msgstr "" +"Підтримка директиви ``%Z`` базується на значеннях, що містяться в " +"``tzname``, і тому, чи ``daylight`` є істинним. Через це він залежить від " +"платформи, за винятком розпізнавання UTC і GMT, які завжди відомі (і " +"вважаються не літніми часовими поясами)." + +msgid "" +"Only the directives specified in the documentation are supported. Because " +"``strftime()`` is implemented per platform it can sometimes offer more " +"directives than those listed. But ``strptime()`` is independent of any " +"platform and thus does not necessarily support all directives available that " +"are not documented as supported." +msgstr "" +"Підтримуються лише директиви, зазначені в документації. Оскільки " +"``strftime()`` реалізовано на кожній платформі, іноді він може пропонувати " +"більше директив, ніж перераховано. Але ``strptime()`` не залежить від будь-" +"якої платформи і тому не обов’язково підтримує всі доступні директиви, які " +"не задокументовані як підтримувані." + +msgid "" +"The type of the time value sequence returned by :func:`gmtime`, :func:" +"`localtime`, and :func:`strptime`. It is an object with a :term:`named " +"tuple` interface: values can be accessed by index and by attribute name. " +"The following values are present:" +msgstr "" +"Тип послідовності значень часу, яку повертають :func:`gmtime`, :func:" +"`localtime` і :func:`strptime`. Це об’єкт із інтерфейсом :term:`named " +"tuple`: доступ до значень можна отримати за індексом та назвою атрибута. " +"Присутні такі значення:" + +msgid "Index" +msgstr "Індекс" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Values" +msgstr "Цінності" + +msgid "0" +msgstr "0" + +msgid ":attr:`tm_year`" +msgstr ":attr:`tm_year`" + +msgid "(for example, 1993)" +msgstr "(наприклад, 1993 р.)" + +msgid "1" +msgstr "1" + +msgid ":attr:`tm_mon`" +msgstr ":attr:`tm_mon`" + +msgid "range [1, 12]" +msgstr "діапазон [1, 12]" + +msgid "2" +msgstr "2" + +msgid ":attr:`tm_mday`" +msgstr ":attr:`tm_mday`" + +msgid "range [1, 31]" +msgstr "діапазон [1, 31]" + +msgid "3" +msgstr "3" + +msgid ":attr:`tm_hour`" +msgstr ":attr:`tm_hour`" + +msgid "range [0, 23]" +msgstr "діапазон [0, 23]" + +msgid "4" +msgstr "4" + +msgid ":attr:`tm_min`" +msgstr ":attr:`tm_min`" + +msgid "range [0, 59]" +msgstr "діапазон [0, 59]" + +msgid "5" +msgstr "5" + +msgid ":attr:`tm_sec`" +msgstr ":attr:`tm_sec`" + +msgid "range [0, 61]; see **(2)** in :func:`strftime` description" +msgstr "діапазон [0, 61]; див. **(2)** в описі :func:`strftime`" + +msgid "6" +msgstr "6" + +msgid ":attr:`tm_wday`" +msgstr ":attr:`tm_wday`" + +msgid "range [0, 6], Monday is 0" +msgstr "діапазон [0, 6], понеділок дорівнює 0" + +msgid "7" +msgstr "7" + +msgid ":attr:`tm_yday`" +msgstr ":attr:`tm_yday`" + +msgid "range [1, 366]" +msgstr "діапазон [1, 366]" + +msgid "8" +msgstr "8" + +msgid ":attr:`tm_isdst`" +msgstr ":attr:`tm_isdst`" + +msgid "0, 1 or -1; see below" +msgstr "0, 1 або -1; Дивіться нижче" + +msgid "N/A" +msgstr "N/A" + +msgid ":attr:`tm_zone`" +msgstr ":attr:`tm_zone`" + +msgid "abbreviation of timezone name" +msgstr "абревіатура назви часового поясу" + +msgid ":attr:`tm_gmtoff`" +msgstr ":attr:`tm_gmtoff`" + +msgid "offset east of UTC in seconds" +msgstr "зміщення на схід від UTC у секундах" + +msgid "" +"Note that unlike the C structure, the month value is a range of [1, 12], not " +"[0, 11]." +msgstr "" +"Зверніть увагу, що на відміну від структури C, значення місяця є діапазоном " +"[1, 12], а не [0, 11]." + +msgid "" +"In calls to :func:`mktime`, :attr:`tm_isdst` may be set to 1 when daylight " +"savings time is in effect, and 0 when it is not. A value of -1 indicates " +"that this is not known, and will usually result in the correct state being " +"filled in." +msgstr "" +"У викликах :func:`mktime` :attr:`tm_isdst` може бути встановлено на 1, коли " +"літній час діє, і на 0, коли він не діє. Значення -1 вказує на те, що це " +"невідомо, і зазвичай призводить до заповнення правильного стану." + +msgid "" +"When a tuple with an incorrect length is passed to a function expecting a :" +"class:`struct_time`, or having elements of the wrong type, a :exc:" +"`TypeError` is raised." +msgstr "" +"Коли кортеж із неправильною довжиною передається до функції, яка очікує :" +"class:`struct_time`, або містить елементи неправильного типу, виникає :exc:" +"`TypeError`." + +msgid "" +"Return the time in seconds since the epoch_ as a floating point number. The " +"handling of `leap seconds`_ is platform dependent. On Windows and most Unix " +"systems, the leap seconds are not counted towards the time in seconds since " +"the epoch_. This is commonly referred to as `Unix time `_." +msgstr "" + +msgid "" +"Note that even though the time is always returned as a floating point " +"number, not all systems provide time with a better precision than 1 second. " +"While this function normally returns non-decreasing values, it can return a " +"lower value than a previous call if the system clock has been set back " +"between the two calls." +msgstr "" +"Зауважте, що незважаючи на те, що час завжди повертається як число з " +"плаваючою комою, не всі системи надають час із кращою точністю, ніж 1 " +"секунда. Хоча ця функція зазвичай повертає значення, що не зменшуються, вона " +"може повернути нижче значення, ніж попередній виклик, якщо системний " +"годинник було встановлено назад між двома викликами." + +msgid "" +"The number returned by :func:`.time` may be converted into a more common " +"time format (i.e. year, month, day, hour, etc...) in UTC by passing it to :" +"func:`gmtime` function or in local time by passing it to the :func:" +"`localtime` function. In both cases a :class:`struct_time` object is " +"returned, from which the components of the calendar date may be accessed as " +"attributes." +msgstr "" +"Число, яке повертає :func:`.time`, можна перетворити на більш поширений " +"формат часу (тобто рік, місяць, день, година тощо) у UTC, передавши його " +"функції :func:`gmtime` або в місцевий час, передавши його функції :func:" +"`localtime`. В обох випадках повертається об’єкт :class:`struct_time`, з " +"якого можна отримати доступ до компонентів календарної дати як атрибутів." + +msgid "" +"Use :func:`time_ns` to avoid the precision loss caused by the :class:`float` " +"type." +msgstr "" +"Використовуйте :func:`time_ns`, щоб уникнути втрати точності, викликаної " +"типом :class:`float`." + +msgid "" +"Similar to :func:`~time.time` but returns time as an integer number of " +"nanoseconds since the epoch_." +msgstr "" +"Подібно до :func:`~time.time`, але повертає час як ціле число наносекунд з " +"епохи_." + +msgid "" +"Return the value (in fractional seconds) of the sum of the system and user " +"CPU time of the current thread. It does not include time elapsed during " +"sleep. It is thread-specific by definition. The reference point of the " +"returned value is undefined, so that only the difference between the results " +"of two calls in the same thread is valid." +msgstr "" +"Повертає значення (у частках секунд) суми часу процесора системи та " +"користувача поточного потоку. Він не включає час, що минув під час сну. За " +"визначенням це залежить від потоку. Точка відліку поверненого значення не " +"визначена, тому дійсна лише різниця між результатами двох викликів в одному " +"потоці." + +msgid "" +"Use :func:`thread_time_ns` to avoid the precision loss caused by the :class:" +"`float` type." +msgstr "" +"Використовуйте :func:`thread_time_ns`, щоб уникнути втрати точності, " +"викликаної типом :class:`float`." + +msgid ":ref:`Availability `: Linux, Unix, Windows." +msgstr "" + +msgid "Unix systems supporting ``CLOCK_THREAD_CPUTIME_ID``." +msgstr "" + +msgid "Similar to :func:`thread_time` but return time as nanoseconds." +msgstr "Подібно до :func:`thread_time`, але повертає час у наносекундах." + +msgid "" +"Reset the time conversion rules used by the library routines. The " +"environment variable :envvar:`TZ` specifies how this is done. It will also " +"set the variables ``tzname`` (from the :envvar:`TZ` environment variable), " +"``timezone`` (non-DST seconds West of UTC), ``altzone`` (DST seconds west of " +"UTC) and ``daylight`` (to 0 if this timezone does not have any daylight " +"saving time rules, or to nonzero if there is a time, past, present or future " +"when daylight saving time applies)." +msgstr "" +"Скинути правила перетворення часу, які використовуються підпрограмами " +"бібліотеки. Змінна середовища :envvar:`TZ` визначає, як це робиться. Він " +"також встановить змінні ``tzname`` (зі змінної середовища :envvar:`TZ`), " +"``timezone`` (не літній час, секунди на захід від UTC), ``altzone`` (літній " +"час, секунди на захід від UTC ) і ``daylight`` (до 0, якщо цей часовий пояс " +"не має правил переходу на літній час, або до відмінного від нуля, якщо існує " +"час, минулий, теперішній або майбутній, коли застосовується літній час)." + +msgid "" +"Although in many cases, changing the :envvar:`TZ` environment variable may " +"affect the output of functions like :func:`localtime` without calling :func:" +"`tzset`, this behavior should not be relied on." +msgstr "" +"Хоча в багатьох випадках зміна змінної середовища :envvar:`TZ` може вплинути " +"на вихід таких функцій, як :func:`localtime` без виклику :func:`tzset`, не " +"слід покладатися на таку поведінку." + +msgid "The :envvar:`TZ` environment variable should contain no whitespace." +msgstr "Змінна середовища :envvar:`TZ` не повинна містити пробілів." + +msgid "" +"The standard format of the :envvar:`TZ` environment variable is (whitespace " +"added for clarity)::" +msgstr "" +"Стандартний формат змінної середовища :envvar:`TZ` такий (для ясності додано " +"пробіли):" + +msgid "Where the components are:" +msgstr "Де компоненти:" + +msgid "``std`` and ``dst``" +msgstr "``std`` і ``dst``" + +msgid "" +"Three or more alphanumerics giving the timezone abbreviations. These will be " +"propagated into time.tzname" +msgstr "" +"Три або більше алфавітно-цифрових абревіатур часового поясу. Вони будуть " +"поширені у time.tzname" + +msgid "``offset``" +msgstr "``зсув``" + +msgid "" +"The offset has the form: ``± hh[:mm[:ss]]``. This indicates the value added " +"the local time to arrive at UTC. If preceded by a '-', the timezone is east " +"of the Prime Meridian; otherwise, it is west. If no offset follows dst, " +"summer time is assumed to be one hour ahead of standard time." +msgstr "" +"Зміщення має вигляд: ``± hh[:mm[:ss]]``. Це вказує на додане значення " +"місцевого часу для прибуття до UTC. Якщо перед ним стоїть \"-\", часовий " +"пояс розташований на схід від початкового меридіана; інакше це захід. Якщо " +"після літнього часу немає зміщення, вважається, що літній час на одну годину " +"випереджає стандартний час." + +msgid "``start[/time], end[/time]``" +msgstr "``початок[/час], кінець[/час]``" + +msgid "" +"Indicates when to change to and back from DST. The format of the start and " +"end dates are one of the following:" +msgstr "" +"Вказує, коли переходити на літній час і повертатися з нього. Початкова та " +"кінцева дати мають один із наведених нижче форматів." + +msgid ":samp:`J{n}`" +msgstr ":samp:`J{n}`" + +msgid "" +"The Julian day *n* (1 <= *n* <= 365). Leap days are not counted, so in all " +"years February 28 is day 59 and March 1 is day 60." +msgstr "" +"Юліанський день *n* (1 <= *n* <= 365). Високосні дні не враховуються, тому в " +"усіх роках 28 лютого — це 59 день, а 1 березня — 60 день." + +msgid ":samp:`{n}`" +msgstr ":samp:`{n}`" + +msgid "" +"The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " +"is possible to refer to February 29." +msgstr "" +"Юліанський день від нуля (0 <= *n* <= 365). Високосні дні враховуються, і " +"можна відноситися до 29 лютого." + +msgid ":samp:`M{m}.{n}.{d}`" +msgstr ":samp:`M{m}.{n}.{d}`" + +msgid "" +"The *d*'th day (0 <= *d* <= 6) of week *n* of month *m* of the year (1 <= " +"*n* <= 5, 1 <= *m* <= 12, where week 5 means \"the last *d* day in month *m*" +"\" which may occur in either the fourth or the fifth week). Week 1 is the " +"first week in which the *d*'th day occurs. Day zero is a Sunday." +msgstr "" +"*d*'-й день (0 <= *d* <= 6) тижня *n* місяця *m* року (1 <= *n* <= 5, 1 <= " +"*m* <= 12, де тиждень 5 означає \"останній *d* день місяця *m*\", який може " +"відбуватися як на четвертому, так і на п’ятому тижні). Тиждень 1 – це перший " +"тиждень, на якому настає *d*-й день. Нульовий день - неділя." + +msgid "" +"``time`` has the same format as ``offset`` except that no leading sign ('-' " +"or '+') is allowed. The default, if time is not given, is 02:00:00." +msgstr "" +"``час`` має той самий формат, що ``зсув``, за винятком того, що не " +"допускається початок знака ('-' або '+'). За умовчанням, якщо час не " +"вказано, це 02:00:00." + +msgid "" +"On many Unix systems (including \\*BSD, Linux, Solaris, and Darwin), it is " +"more convenient to use the system's zoneinfo (:manpage:`tzfile(5)`) " +"database to specify the timezone rules. To do this, set the :envvar:`TZ` " +"environment variable to the path of the required timezone datafile, " +"relative to the root of the systems 'zoneinfo' timezone database, usually " +"located at :file:`/usr/share/zoneinfo`. For example, ``'US/Eastern'``, " +"``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. ::" +msgstr "" +"У багатьох системах Unix (включаючи \\*BSD, Linux, Solaris і Darwin) " +"зручніше використовувати системну базу даних zoneinfo (:manpage:`tzfile(5)`) " +"для визначення правил часового поясу. Для цього встановіть змінну " +"середовища :envvar:`TZ` на шлях необхідного файлу даних часового поясу " +"відносно кореня системної бази даних часових поясів 'zoneinfo', яка зазвичай " +"знаходиться в :file:`/usr/share/zoneinfo` . Наприклад, \"США/Схід\", " +"\"Австралія/Мельбурн\", \"Єгипет\" або \"Європа/Амстердам\". ::" + +msgid "Clock ID Constants" +msgstr "Константи ID годинника" + +msgid "" +"These constants are used as parameters for :func:`clock_getres` and :func:" +"`clock_gettime`." +msgstr "" +"Ці константи використовуються як параметри для :func:`clock_getres` і :func:" +"`clock_gettime`." + +msgid "" +"Identical to :data:`CLOCK_MONOTONIC`, except it also includes any time that " +"the system is suspended." +msgstr "" +"Ідентичний :data:`CLOCK_MONOTONIC`, за винятком того, що він також включає " +"будь-який час призупинення системи." + +msgid "" +"This allows applications to get a suspend-aware monotonic clock without " +"having to deal with the complications of :data:`CLOCK_REALTIME`, which may " +"have discontinuities if the time is changed using ``settimeofday()`` or " +"similar." +msgstr "" +"Це дозволяє програмам отримувати монотонний годинник з підтримкою " +"призупинення без необхідності мати справу з ускладненнями :data:" +"`CLOCK_REALTIME`, які можуть мати розриви, якщо час змінюється за допомогою " +"``settimeofday()`` або подібного." + +msgid ":ref:`Availability `: Linux >= 2.6.39." +msgstr "" + +msgid "" +"The Solaris OS has a ``CLOCK_HIGHRES`` timer that attempts to use an optimal " +"hardware source, and may give close to nanosecond resolution. " +"``CLOCK_HIGHRES`` is the nonadjustable, high-resolution clock." +msgstr "" +"ОС Solaris має таймер ``CLOCK_HIGHRES``, який намагається використовувати " +"оптимальне апаратне джерело та може давати роздільну здатність, близьку до " +"наносекунд. ``CLOCK_HIGHRES`` - це нерегульований годинник з високою " +"роздільною здатністю." + +msgid ":ref:`Availability `: Solaris." +msgstr ":ref:`Наявність `: Solaris." + +msgid "" +"Clock that cannot be set and represents monotonic time since some " +"unspecified starting point." +msgstr "" +"Годинник, який не можна налаштувати та відображає монотонний час із деякої " +"невизначеної початкової точки." + +msgid "" +"Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" +"based time that is not subject to NTP adjustments." +msgstr "" +"Подібно до :data:`CLOCK_MONOTONIC`, але надає доступ до необробленого " +"апаратного часу, який не підлягає коригуванням NTP." + +msgid ":ref:`Availability `: Linux >= 2.6.28, macOS >= 10.12." +msgstr "" + +msgid "High-resolution per-process timer from the CPU." +msgstr "Таймер високої роздільної здатності для кожного процесу від ЦП." + +msgid ":ref:`Availability `: FreeBSD, NetBSD >= 7, OpenBSD." +msgstr "" + +msgid "" +"`International Atomic Time `_" +msgstr "" +"`Міжнародний атомний час `_" + +msgid "" +"The system must have a current leap second table in order for this to give " +"the correct answer. PTP or NTP software can maintain a leap second table." +msgstr "" +"Система повинна мати поточну таблицю високосних секунд, щоб це дало " +"правильну відповідь. Програмне забезпечення PTP або NTP може підтримувати " +"таблицю високосної секунди." + +msgid ":ref:`Availability `: Linux." +msgstr ":ref:`Наявність `: Linux." + +msgid "Thread-specific CPU-time clock." +msgstr "Годинник процесорного часу, що залежить від потоку." + +msgid "" +"Time whose absolute value is the time the system has been running and not " +"suspended, providing accurate uptime measurement, both absolute and interval." +msgstr "" +"Час, абсолютне значення якого — це час роботи системи без призупинення, що " +"забезпечує точне вимірювання часу безвідмовної роботи, як абсолютного, так і " +"інтервального." + +msgid ":ref:`Availability `: FreeBSD, OpenBSD >= 5.5." +msgstr "" + +msgid "" +"Clock that increments monotonically, tracking the time since an arbitrary " +"point, unaffected by frequency or time adjustments and not incremented while " +"the system is asleep." +msgstr "" +"Годинник, який монотонно збільшується, відстежує час з довільної точки, не " +"залежить від коригування частоти чи часу та не збільшується, коли система " +"сплячої системи." + +msgid ":ref:`Availability `: macOS >= 10.12." +msgstr "" + +msgid "" +"The following constant is the only parameter that can be sent to :func:" +"`clock_settime`." +msgstr "" +"Наступна константа є єдиним параметром, який можна надіслати до :func:" +"`clock_settime`." + +msgid "" +"System-wide real-time clock. Setting this clock requires appropriate " +"privileges." +msgstr "" +"Загальносистемний годинник реального часу. Щоб налаштувати цей годинник, " +"потрібні відповідні привілеї." + +msgid "Timezone Constants" +msgstr "Константи часового поясу" + +msgid "" +"The offset of the local DST timezone, in seconds west of UTC, if one is " +"defined. This is negative if the local DST timezone is east of UTC (as in " +"Western Europe, including the UK). Only use this if ``daylight`` is " +"nonzero. See note below." +msgstr "" +"Зсув місцевого часового поясу літнього часу в секундах на захід від UTC, " +"якщо такий визначено. Це негативно, якщо місцевий часовий пояс на літній час " +"знаходиться на схід від UTC (як у Західній Європі, включаючи " +"Великобританію). Використовуйте це, лише якщо ``денне світло`` не дорівнює " +"нулю. Див. примітку нижче." + +msgid "Nonzero if a DST timezone is defined. See note below." +msgstr "" +"Ненульове значення, якщо визначено часовий пояс літнього часу. Див. примітку " +"нижче." + +msgid "" +"The offset of the local (non-DST) timezone, in seconds west of UTC (negative " +"in most of Western Europe, positive in the US, zero in the UK). See note " +"below." +msgstr "" +"Зсув місцевого (не літнього) часового поясу в секундах на захід від UTC " +"(негативний у більшості країн Західної Європи, додатний у США, нуль у " +"Великобританії). Див. примітку нижче." + +msgid "" +"A tuple of two strings: the first is the name of the local non-DST timezone, " +"the second is the name of the local DST timezone. If no DST timezone is " +"defined, the second string should not be used. See note below." +msgstr "" +"Кортеж із двох рядків: перший — це назва місцевого часового поясу, який не " +"працює на літній час, а другий — це назва місцевого часового поясу. Якщо " +"часовий пояс літнього часу не визначено, другий рядок не слід " +"використовувати. Див. примітку нижче." + +msgid "" +"For the above Timezone constants (:data:`altzone`, :data:`daylight`, :data:" +"`timezone`, and :data:`tzname`), the value is determined by the timezone " +"rules in effect at module load time or the last time :func:`tzset` is called " +"and may be incorrect for times in the past. It is recommended to use the :" +"attr:`tm_gmtoff` and :attr:`tm_zone` results from :func:`localtime` to " +"obtain timezone information." +msgstr "" +"Для наведених вище констант часового поясу (:data:`altzone`, :data:" +"`daylight`, :data:`timezone` і :data:`tzname`) значення визначається " +"правилами часового поясу, що діють під час завантаження модуля або час " +"останнього виклику :func:`tzset` і може бути неправильним для часів у " +"минулому. Рекомендується використовувати результати :attr:`tm_gmtoff` і :" +"attr:`tm_zone` з :func:`localtime` для отримання інформації про часовий пояс." + +msgid "Module :mod:`datetime`" +msgstr "Модуль :mod:`datetime`" + +msgid "More object-oriented interface to dates and times." +msgstr "Більш об’єктно-орієнтований інтерфейс для дат і часу." + +msgid "Module :mod:`locale`" +msgstr "Модуль :mod:`locale`" + +msgid "" +"Internationalization services. The locale setting affects the " +"interpretation of many format specifiers in :func:`strftime` and :func:" +"`strptime`." +msgstr "" +"Послуги інтернаціоналізації. Параметр локалі впливає на інтерпретацію " +"багатьох специфікаторів формату в :func:`strftime` і :func:`strptime`." + +msgid "Module :mod:`calendar`" +msgstr "Модуль :mod:`calendar`" + +msgid "" +"General calendar-related functions. :func:`~calendar.timegm` is the " +"inverse of :func:`gmtime` from this module." +msgstr "" +"Загальні функції, пов’язані з календарем. :func:`~calendar.timegm` є " +"зворотним до :func:`gmtime` з цього модуля." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to " +"the preferred hour/minute offset is not supported by all ANSI C libraries. " +"Also, a strict reading of the original 1982 :rfc:`822` standard calls for a " +"two-digit year (``%y`` rather than ``%Y``), but practice moved to 4-digit " +"years long before the year 2000. After that, :rfc:`822` became obsolete and " +"the 4-digit year has been first recommended by :rfc:`1123` and then mandated " +"by :rfc:`2822`." +msgstr "" +"Використання ``%Z`` тепер застаріле, але ``%z`` екранування, яке " +"розширюється до бажаного зміщення годин/хвилин, підтримується не всіма " +"бібліотеками ANSI C. Крім того, суворе читання оригінального стандарту 1982 :" +"rfc:`822` вимагає двозначного року (``%y``, а не ``%Y``), але практика " +"перейшла на 4-значний рік задовго до 2000 рік. Після цього :rfc:`822` став " +"застарілим, і 4-значний рік був спочатку рекомендований :rfc:`1123`, а потім " +"дозволений :rfc:`2822`." diff --git a/library/timeit.po b/library/timeit.po new file mode 100644 index 000000000..922b0df25 --- /dev/null +++ b/library/timeit.po @@ -0,0 +1,397 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`timeit` --- Measure execution time of small code snippets" +msgstr ":mod:`timeit` --- Вимірювання часу виконання невеликих фрагментів коду" + +msgid "**Source code:** :source:`Lib/timeit.py`" +msgstr "**Вихідний код:** :source:`Lib/timeit.py`" + +msgid "" +"This module provides a simple way to time small bits of Python code. It has " +"both a :ref:`timeit-command-line-interface` as well as a :ref:`callable " +"` one. It avoids a number of common traps for measuring " +"execution times. See also Tim Peters' introduction to the \"Algorithms\" " +"chapter in the second edition of *Python Cookbook*, published by O'Reilly." +msgstr "" +"Цей модуль забезпечує простий спосіб вимірювання часу невеликих фрагментів " +"коду Python. Він має як :ref:`timeit-command-line-interface`, так і :ref:" +"`callable `. Це дозволяє уникнути ряду типових пасток для " +"вимірювання часу виконання. Дивіться також вступ Тіма Пітерса до розділу " +"\"Алгоритми\" у другому виданні *Python Cookbook*, опублікованому O'Reilly." + +msgid "Basic Examples" +msgstr "Основні приклади" + +msgid "" +"The following example shows how the :ref:`timeit-command-line-interface` can " +"be used to compare three different expressions:" +msgstr "" +"У наступному прикладі показано, як :ref:`timeit-command-line-interface` " +"можна використовувати для порівняння трьох різних виразів:" + +msgid "This can be achieved from the :ref:`python-interface` with::" +msgstr "" +"Цього можна досягти за допомогою :ref:`python-interface` за допомогою::" + +msgid "A callable can also be passed from the :ref:`python-interface`::" +msgstr "Викликається також можна передати з :ref:`python-interface`::" + +msgid "" +"Note however that :func:`.timeit` will automatically determine the number of " +"repetitions only when the command-line interface is used. In the :ref:" +"`timeit-examples` section you can find more advanced examples." +msgstr "" +"Зауважте, однак, що :func:`.timeit` автоматично визначатиме кількість " +"повторень, лише якщо використовується інтерфейс командного рядка. У розділі :" +"ref:`timeit-examples` ви можете знайти більш складні приклади." + +msgid "Python Interface" +msgstr "Інтерфейс Python" + +msgid "The module defines three convenience functions and a public class:" +msgstr "Модуль визначає три зручні функції та публічний клас:" + +msgid "" +"Create a :class:`Timer` instance with the given statement, *setup* code and " +"*timer* function and run its :meth:`.timeit` method with *number* " +"executions. The optional *globals* argument specifies a namespace in which " +"to execute the code." +msgstr "" +"Створіть екземпляр :class:`Timer` із заданим оператором, кодом *setup* і " +"функцією *timer* і запустіть його метод :meth:`.timeit` з *кількістю* " +"виконань. Необов’язковий аргумент *globals* визначає простір імен, у якому " +"виконуватиметься код." + +msgid "The optional *globals* parameter was added." +msgstr "Додано необов’язковий параметр *globals*." + +msgid "" +"Create a :class:`Timer` instance with the given statement, *setup* code and " +"*timer* function and run its :meth:`.repeat` method with the given *repeat* " +"count and *number* executions. The optional *globals* argument specifies a " +"namespace in which to execute the code." +msgstr "" +"Створіть екземпляр :class:`Timer` із заданим оператором, кодом *setup* і " +"функцією *timer* і запустіть його метод :meth:`.repeat` із заданою кількістю " +"*repeat* і *кількістю* виконань. Необов’язковий аргумент *globals* визначає " +"простір імен, у якому виконуватиметься код." + +msgid "Default value of *repeat* changed from 3 to 5." +msgstr "Значення *repeat* за замовчуванням змінено з 3 на 5." + +msgid "The default timer, which is always :func:`time.perf_counter`." +msgstr "Таймер за умовчанням, яким завжди є :func:`time.perf_counter`." + +msgid ":func:`time.perf_counter` is now the default timer." +msgstr ":func:`time.perf_counter` тепер є таймером за умовчанням." + +msgid "Class for timing execution speed of small code snippets." +msgstr "Клас швидкості виконання невеликих фрагментів коду." + +msgid "" +"The constructor takes a statement to be timed, an additional statement used " +"for setup, and a timer function. Both statements default to ``'pass'``; the " +"timer function is platform-dependent (see the module doc string). *stmt* and " +"*setup* may also contain multiple statements separated by ``;`` or newlines, " +"as long as they don't contain multi-line string literals. The statement " +"will by default be executed within timeit's namespace; this behavior can be " +"controlled by passing a namespace to *globals*." +msgstr "" +"Конструктор приймає інструкцію для визначення часу, додаткову інструкцію, " +"яка використовується для налаштування, і функцію таймера. Обидва оператори " +"за замовчуванням ``'pass'``; функція таймера залежить від платформи " +"(дивіться рядок документа модуля). *stmt* і *setup* також можуть містити " +"кілька операторів, розділених символами ``;`` або символами нового рядка, за " +"умови, що вони не містять багаторядкових рядкових літералів. Оператор за " +"замовчуванням виконуватиметься в межах простору імен timeit; цією поведінкою " +"можна керувати, передавши простір імен у *globals*." + +msgid "" +"To measure the execution time of the first statement, use the :meth:`." +"timeit` method. The :meth:`.repeat` and :meth:`.autorange` methods are " +"convenience methods to call :meth:`.timeit` multiple times." +msgstr "" +"Щоб виміряти час виконання першого оператора, використовуйте метод :meth:`." +"timeit`. Методи :meth:`.repeat` і :meth:`.autorange` є зручними для виклику :" +"meth:`.timeit` кілька разів." + +msgid "" +"The execution time of *setup* is excluded from the overall timed execution " +"run." +msgstr "Час виконання *setup* виключається із загального часу виконання." + +msgid "" +"The *stmt* and *setup* parameters can also take objects that are callable " +"without arguments. This will embed calls to them in a timer function that " +"will then be executed by :meth:`.timeit`. Note that the timing overhead is " +"a little larger in this case because of the extra function calls." +msgstr "" +"Параметри *stmt* і *setup* також можуть приймати об’єкти, які можна " +"викликати без аргументів. Це вбудує виклики до них у функцію таймера, яка " +"потім буде виконана :meth:`.timeit`. Зверніть увагу, що накладні витрати " +"часу трохи більші в цьому випадку через додаткові виклики функцій." + +msgid "" +"Time *number* executions of the main statement. This executes the setup " +"statement once, and then returns the time it takes to execute the main " +"statement a number of times, measured in seconds as a float. The argument is " +"the number of times through the loop, defaulting to one million. The main " +"statement, the setup statement and the timer function to be used are passed " +"to the constructor." +msgstr "" +"Час *кількість* виконання основного оператора. Це виконує оператор " +"налаштування один раз, а потім повертає час, необхідний для виконання " +"основного оператора кілька разів, виміряний у секундах як число з плаваючою " +"точкою. Аргументом є кількість проходжень циклу, за замовчуванням один " +"мільйон. Основний оператор, оператор налаштування та функція таймера, які " +"будуть використані, передаються конструктору." + +msgid "" +"By default, :meth:`.timeit` temporarily turns off :term:`garbage collection` " +"during the timing. The advantage of this approach is that it makes " +"independent timings more comparable. The disadvantage is that GC may be an " +"important component of the performance of the function being measured. If " +"so, GC can be re-enabled as the first statement in the *setup* string. For " +"example::" +msgstr "" +"За замовчуванням :meth:`.timeit` тимчасово вимикає :term:`garbage " +"collection` протягом часу. Перевага цього підходу полягає в тому, що він " +"робить незалежні таймінги більш порівнянними. Недоліком є те, що GC може " +"бути важливим компонентом продуктивності вимірюваної функції. Якщо так, GC " +"можна повторно ввімкнути як перший оператор у рядку *setup*. Наприклад::" + +msgid "Automatically determine how many times to call :meth:`.timeit`." +msgstr "Автоматично визначати, скільки разів викликати :meth:`.timeit`." + +msgid "" +"This is a convenience function that calls :meth:`.timeit` repeatedly so that " +"the total time >= 0.2 second, returning the eventual (number of loops, time " +"taken for that number of loops). It calls :meth:`.timeit` with increasing " +"numbers from the sequence 1, 2, 5, 10, 20, 50, ... until the time taken is " +"at least 0.2 second." +msgstr "" +"Це зручна функція, яка викликає :meth:`.timeit` неодноразово, щоб загальний " +"час становив >= 0,2 секунди, повертаючи остаточне значення (кількість " +"циклів, час, витрачений на цю кількість циклів). Він викликає :meth:`." +"timeit` із зростаючими числами з послідовності 1, 2, 5, 10, 20, 50, ... до " +"тих пір, поки витрачений час не становитиме принаймні 0,2 секунди." + +msgid "" +"If *callback* is given and is not ``None``, it will be called after each " +"trial with two arguments: ``callback(number, time_taken)``." +msgstr "" +"Якщо надано *callback*, а не ``None``, його буде викликано після кожного " +"випробування з двома аргументами: ``callback(number, time_taken)``." + +msgid "Call :meth:`.timeit` a few times." +msgstr "Викличте :meth:`.timeit` кілька разів." + +msgid "" +"This is a convenience function that calls the :meth:`.timeit` repeatedly, " +"returning a list of results. The first argument specifies how many times to " +"call :meth:`.timeit`. The second argument specifies the *number* argument " +"for :meth:`.timeit`." +msgstr "" +"Це зручна функція, яка багаторазово викликає :meth:`.timeit`, повертаючи " +"список результатів. Перший аргумент визначає, скільки разів викликати :meth:" +"`.timeit`. Другий аргумент визначає аргумент *число* для :meth:`.timeit`." + +msgid "" +"It's tempting to calculate mean and standard deviation from the result " +"vector and report these. However, this is not very useful. In a typical " +"case, the lowest value gives a lower bound for how fast your machine can run " +"the given code snippet; higher values in the result vector are typically not " +"caused by variability in Python's speed, but by other processes interfering " +"with your timing accuracy. So the :func:`min` of the result is probably the " +"only number you should be interested in. After that, you should look at the " +"entire vector and apply common sense rather than statistics." +msgstr "" +"Спокусливо обчислити середнє та стандартне відхилення від вектора результату " +"та повідомити про це. Однак це не дуже корисно. У типовому випадку найнижче " +"значення дає нижню межу того, наскільки швидко ваша машина може запускати " +"заданий фрагмент коду; більш високі значення у векторі результату зазвичай " +"спричинені не мінливістю швидкості Python, а іншими процесами, які заважають " +"вашій точності синхронізації. Тож :func:`min` результату, ймовірно, єдине " +"число, яке вас має цікавити. Після цього вам слід переглянути весь вектор і " +"застосувати здоровий глузд, а не статистику." + +msgid "Helper to print a traceback from the timed code." +msgstr "Помічник для друку зворотного відстеження з часового коду." + +msgid "Typical use::" +msgstr "Типове використання::" + +msgid "" +"The advantage over the standard traceback is that source lines in the " +"compiled template will be displayed. The optional *file* argument directs " +"where the traceback is sent; it defaults to :data:`sys.stderr`." +msgstr "" +"Перевага перед стандартним трасуванням полягає в тому, що вихідні рядки у " +"скомпільованому шаблоні відображатимуться. Необов'язковий аргумент *file* " +"вказує, куди надсилається відстеження; за замовчуванням :data:`sys.stderr`." + +msgid "Command-Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"When called as a program from the command line, the following form is used::" +msgstr "При виклику програми з командного рядка використовується така форма:" + +msgid "Where the following options are understood:" +msgstr "Де розуміються такі варіанти:" + +msgid "how many times to execute 'statement'" +msgstr "скільки разів виконати 'оператор'" + +msgid "how many times to repeat the timer (default 5)" +msgstr "скільки разів повторити таймер (за замовчуванням 5)" + +msgid "statement to be executed once initially (default ``pass``)" +msgstr "оператор, який буде виконано один раз (за замовчуванням ``pass``)" + +msgid "" +"measure process time, not wallclock time, using :func:`time.process_time` " +"instead of :func:`time.perf_counter`, which is the default" +msgstr "" +"вимірювати час процесу, а не час настінного годинника, використовуючи :func:" +"`time.process_time` замість :func:`time.perf_counter`, який є типовим" + +msgid "" +"specify a time unit for timer output; can select ``nsec``, ``usec``, " +"``msec``, or ``sec``" +msgstr "" + +msgid "print raw timing results; repeat for more digits precision" +msgstr "" +"друк необроблених результатів синхронізації; повторіть для більшої точності " +"цифр" + +msgid "print a short usage message and exit" +msgstr "надрукувати коротке повідомлення про використання та вийти" + +msgid "" +"A multi-line statement may be given by specifying each line as a separate " +"statement argument; indented lines are possible by enclosing an argument in " +"quotes and using leading spaces. Multiple :option:`-s` options are treated " +"similarly." +msgstr "" +"Багаторядковий оператор може бути заданий шляхом визначення кожного рядка як " +"окремого аргументу оператора; рядки з відступом можливі, якщо взяти аргумент " +"у лапки та використовувати пробіли на початку. Кілька параметрів :option:`-" +"s` обробляються аналогічно." + +msgid "" +"If :option:`-n` is not given, a suitable number of loops is calculated by " +"trying increasing numbers from the sequence 1, 2, 5, 10, 20, 50, ... until " +"the total time is at least 0.2 seconds." +msgstr "" +"Якщо :option:`-n` не вказано, відповідна кількість циклів обчислюється " +"шляхом спроб збільшення чисел із послідовності 1, 2, 5, 10, 20, 50, ... доки " +"загальний час не становитиме принаймні 0,2 секунди ." + +msgid "" +":func:`default_timer` measurements can be affected by other programs running " +"on the same machine, so the best thing to do when accurate timing is " +"necessary is to repeat the timing a few times and use the best time. The :" +"option:`-r` option is good for this; the default of 5 repetitions is " +"probably enough in most cases. You can use :func:`time.process_time` to " +"measure CPU time." +msgstr "" +" На вимірювання :func:`default_timer` можуть впливати інші програми, " +"запущені на тій же машині, тому найкраще, що можна зробити, коли потрібен " +"точний час, це повторити відлік часу кілька разів і використовувати " +"найкращий час. Опція :option:`-r` підходить для цього; 5 повторень за " +"замовчуванням, ймовірно, достатньо в більшості випадків. Ви можете " +"використовувати :func:`time.process_time` для вимірювання часу ЦП." + +msgid "" +"There is a certain baseline overhead associated with executing a pass " +"statement. The code here doesn't try to hide it, but you should be aware of " +"it. The baseline overhead can be measured by invoking the program without " +"arguments, and it might differ between Python versions." +msgstr "" +"Існує певна базова накладна вартість, пов’язана з виконанням оператора " +"проходу. Код тут не намагається це приховати, але ви повинні про це знати. " +"Базові накладні витрати можна виміряти, викликавши програму без аргументів, " +"і вони можуть відрізнятися в різних версіях Python." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"It is possible to provide a setup statement that is executed only once at " +"the beginning:" +msgstr "" +"Можна надати оператор налаштування, який виконується лише один раз на " +"початку:" + +msgid "" +"In the output, there are three fields. The loop count, which tells you how " +"many times the statement body was run per timing loop repetition. The " +"repetition count ('best of 5') which tells you how many times the timing " +"loop was repeated, and finally the time the statement body took on average " +"within the best repetition of the timing loop. That is, the time the fastest " +"repetition took divided by the loop count." +msgstr "" +"У вихідних даних є три поля. Кількість циклів, яка повідомляє вам, скільки " +"разів було виконано тіло оператора за повторення циклу синхронізації. " +"Кількість повторів (\"найкраще з 5\"), яка повідомляє вам, скільки разів " +"цикл синхронізації повторювався, і, нарешті, час, який у середньому " +"витрачено на тіло оператора протягом найкращого повторення циклу " +"синхронізації. Тобто час найшвидшого повторення, поділений на кількість " +"циклів." + +msgid "The same can be done using the :class:`Timer` class and its methods::" +msgstr "" +"Те саме можна зробити за допомогою класу :class:`Timer` та його методів:" + +msgid "" +"The following examples show how to time expressions that contain multiple " +"lines. Here we compare the cost of using :func:`hasattr` vs. :keyword:`try`/:" +"keyword:`except` to test for missing and present object attributes:" +msgstr "" +"У наведених нижче прикладах показано, як визначити час для виразів, які " +"містять кілька рядків. Тут ми порівнюємо вартість використання :func:" +"`hasattr` і :keyword:`try`/:keyword:`except` для перевірки відсутніх і " +"присутніх атрибутів об’єкта:" + +msgid "" +"To give the :mod:`timeit` module access to functions you define, you can " +"pass a *setup* parameter which contains an import statement::" +msgstr "" +"Щоб надати модулю :mod:`timeit` доступ до визначених вами функцій, ви можете " +"передати параметр *setup*, який містить оператор імпорту::" + +msgid "" +"Another option is to pass :func:`globals` to the *globals* parameter, which " +"will cause the code to be executed within your current global namespace. " +"This can be more convenient than individually specifying imports::" +msgstr "" +"Іншим варіантом є передача :func:`globals` у параметр *globals*, що " +"спричинить виконання коду у вашому поточному глобальному просторі імен. Це " +"може бути зручніше, ніж індивідуальне визначення імпорту:" diff --git a/library/tk.po b/library/tk.po new file mode 100644 index 000000000..6f23bdbe8 --- /dev/null +++ b/library/tk.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Graphical User Interfaces with Tk" +msgstr "Графічний інтерфейс користувача з Tk" + +msgid "" +"Tk/Tcl has long been an integral part of Python. It provides a robust and " +"platform independent windowing toolkit, that is available to Python " +"programmers using the :mod:`tkinter` package, and its extension, the :mod:" +"`tkinter.tix` and the :mod:`tkinter.ttk` modules." +msgstr "" +"Tk/Tcl вже давно є невід’ємною частиною Python. Він надає надійний і " +"незалежний від платформи набір інструментів для роботи з вікнами, який " +"доступний програмістам Python за допомогою пакета :mod:`tkinter` і його " +"розширення, модулів :mod:`tkinter.tix` і :mod:`tkinter.ttk` ." + +msgid "" +"The :mod:`tkinter` package is a thin object-oriented layer on top of Tcl/Tk. " +"To use :mod:`tkinter`, you don't need to write Tcl code, but you will need " +"to consult the Tk documentation, and occasionally the Tcl documentation. :" +"mod:`tkinter` is a set of wrappers that implement the Tk widgets as Python " +"classes." +msgstr "" +"Пакет :mod:`tkinter` — це тонкий об’єктно-орієнтований шар поверх Tcl/Tk. " +"Щоб використовувати :mod:`tkinter`, вам не потрібно писати код Tcl, але вам " +"потрібно буде проконсультуватися з документацією Tk, а іноді і з " +"документацією Tcl. :mod:`tkinter` — це набір оболонок, які реалізують " +"віджети Tk як класи Python." + +msgid "" +":mod:`tkinter`'s chief virtues are that it is fast, and that it usually " +"comes bundled with Python. Although its standard documentation is weak, good " +"material is available, which includes: references, tutorials, a book and " +"others. :mod:`tkinter` is also famous for having an outdated look and feel, " +"which has been vastly improved in Tk 8.5. Nevertheless, there are many other " +"GUI libraries that you could be interested in. The Python wiki lists several " +"alternative `GUI frameworks and tools `_." +msgstr "" +" Головна перевага :mod:`tkinter` полягає в тому, що він швидкий і зазвичай " +"постачається разом із Python. Хоча його стандартна документація слабка, " +"доступний хороший матеріал, який включає: посилання, підручники, книгу та " +"інші. :mod:`tkinter` також відомий своїм застарілим зовнішнім виглядом, який " +"було значно покращено в Tk 8.5. Тим не менш, існує багато інших бібліотек " +"графічного інтерфейсу користувача, які можуть вас зацікавити. У вікі Python " +"наведено кілька альтернативних `фреймворків графічного інтерфейсу " +"користувача та інструментів `_." diff --git a/library/tkinter.po b/library/tkinter.po new file mode 100644 index 000000000..3ef5c6a52 --- /dev/null +++ b/library/tkinter.po @@ -0,0 +1,1925 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter` --- Python interface to Tcl/Tk" +msgstr ":mod:`tkinter` --- Інтерфейс Python до Tcl/Tk" + +msgid "**Source code:** :source:`Lib/tkinter/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/__init__.py`" + +msgid "" +"The :mod:`tkinter` package (\"Tk interface\") is the standard Python " +"interface to the Tcl/Tk GUI toolkit. Both Tk and :mod:`tkinter` are " +"available on most Unix platforms, including macOS, as well as on Windows " +"systems." +msgstr "" +"Пакет :mod:`tkinter` (\"інтерфейс Tk\") є стандартним інтерфейсом Python до " +"інструментарію GUI Tcl/Tk. І Tk, і :mod:`tkinter` доступні на більшості " +"платформ Unix, включаючи macOS, а також у системах Windows." + +msgid "" +"Running ``python -m tkinter`` from the command line should open a window " +"demonstrating a simple Tk interface, letting you know that :mod:`tkinter` is " +"properly installed on your system, and also showing what version of Tcl/Tk " +"is installed, so you can read the Tcl/Tk documentation specific to that " +"version." +msgstr "" +"Запуск ``python -m tkinter`` з командного рядка має відкрити вікно, яке " +"демонструє простий інтерфейс Tk, повідомляючи, що :mod:`tkinter` правильно " +"встановлено у вашій системі, а також показує, яка версія Tcl/Tk встановлено, " +"тому ви можете прочитати документацію Tcl/Tk, що стосується цієї версії." + +msgid "" +"Tkinter supports a range of Tcl/Tk versions, built either with or without " +"thread support. The official Python binary release bundles Tcl/Tk 8.6 " +"threaded. See the source code for the :mod:`_tkinter` module for more " +"information about supported versions." +msgstr "" +"Tkinter підтримує низку версій Tcl/Tk, створених із підтримкою потоків або " +"без неї. Офіційний двійковий випуск Python включає в себе Tcl/Tk 8.6. " +"Перегляньте вихідний код для модуля :mod:`_tkinter`, щоб дізнатися більше " +"про підтримувані версії." + +msgid "" +"Tkinter is not a thin wrapper, but adds a fair amount of its own logic to " +"make the experience more pythonic. This documentation will concentrate on " +"these additions and changes, and refer to the official Tcl/Tk documentation " +"for details that are unchanged." +msgstr "" +"Tkinter не є тонкою обгорткою, але додає достатню кількість власної логіки, " +"щоб зробити досвід більш пітонічним. Ця документація зосереджуватиметься на " +"цих доповненнях і змінах, а подробиці, які не змінилися, див. в офіційній " +"документації Tcl/Tk." + +msgid "" +"Tcl/Tk 8.5 (2007) introduced a modern set of themed user interface " +"components along with a new API to use them. Both old and new APIs are still " +"available. Most documentation you will find online still uses the old API " +"and can be woefully outdated." +msgstr "" +"Tcl/Tk 8.5 (2007) представив сучасний набір тематичних компонентів " +"інтерфейсу користувача разом із новим API для їх використання. І старі, і " +"нові API все ще доступні. Більшість документації, яку ви знайдете в " +"Інтернеті, все ще використовує старий API і може бути дуже застарілим." + +msgid "`TkDocs `_" +msgstr "" + +msgid "" +"Extensive tutorial on creating user interfaces with Tkinter. Explains key " +"concepts, and illustrates recommended approaches using the modern API." +msgstr "" +"Розширений підручник зі створення інтерфейсів користувача за допомогою " +"Tkinter. Пояснює ключові концепції та ілюструє рекомендовані підходи за " +"допомогою сучасного API." + +msgid "" +"`Tkinter 8.5 reference: a GUI for Python `_" +msgstr "" +"`Довідник Tkinter 8.5: графічний інтерфейс для Python `_" + +msgid "" +"Reference documentation for Tkinter 8.5 detailing available classes, " +"methods, and options." +msgstr "" +"Довідкова документація для Tkinter 8.5 із детальним описом доступних класів, " +"методів і параметрів." + +msgid "Tcl/Tk Resources:" +msgstr "Ресурси Tcl/Tk:" + +msgid "`Tk commands `_" +msgstr "`Tk команди `_" + +msgid "" +"Comprehensive reference to each of the underlying Tcl/Tk commands used by " +"Tkinter." +msgstr "" +"Вичерпне посилання на кожну з базових команд Tcl/Tk, що використовуються " +"Tkinter." + +msgid "`Tcl/Tk Home Page `_" +msgstr "`Домашня сторінка Tcl/Tk `_" + +msgid "Additional documentation, and links to Tcl/Tk core development." +msgstr "Додаткова документація та посилання на розробку ядра Tcl/Tk." + +msgid "Books:" +msgstr "Книги:" + +msgid "" +"`Modern Tkinter for Busy Python Developers `_" +msgstr "" +"`Сучасний Tkinter для зайнятих розробників Python `_" + +msgid "By Mark Roseman. (ISBN 978-1999149567)" +msgstr "Автор: Марк Розман. (ISBN 978-1999149567)" + +msgid "" +"`Python and Tkinter Programming `_" +msgstr "" +"`Програмування на Python і Tkinter `_" + +msgid "By Alan Moore. (ISBN 978-1788835886)" +msgstr "Автор: Алан Мур. (ISBN 978-1788835886)" + +msgid "`Programming Python `_" +msgstr "" + +msgid "By Mark Lutz; has excellent coverage of Tkinter. (ISBN 978-0596158101)" +msgstr "Марк Лутц; має чудове покриття Tkinter. (ISBN 978-0596158101)" + +msgid "" +"`Tcl and the Tk Toolkit (2nd edition) `_" +msgstr "" +"`Tcl і Tk Toolkit (2-е видання) `_" + +msgid "" +"By John Ousterhout, inventor of Tcl/Tk, and Ken Jones; does not cover " +"Tkinter. (ISBN 978-0321336330)" +msgstr "" +"Джон Остерхаут, винахідник Tcl/Tk, і Кен Джонс; не охоплює Tkinter. (ISBN " +"978-0321336330)" + +msgid "Architecture" +msgstr "Архітектура" + +msgid "" +"Tcl/Tk is not a single library but rather consists of a few distinct " +"modules, each with separate functionality and its own official " +"documentation. Python's binary releases also ship an add-on module together " +"with it." +msgstr "" +"Tcl/Tk не є окремою бібліотекою, а складається з кількох окремих модулів, " +"кожен з яких має окремі функції та власну офіційну документацію. Двійкові " +"випуски Python також постачають додатковий модуль разом із ним." + +msgid "Tcl" +msgstr "Tcl" + +msgid "" +"Tcl is a dynamic interpreted programming language, just like Python. Though " +"it can be used on its own as a general-purpose programming language, it is " +"most commonly embedded into C applications as a scripting engine or an " +"interface to the Tk toolkit. The Tcl library has a C interface to create and " +"manage one or more instances of a Tcl interpreter, run Tcl commands and " +"scripts in those instances, and add custom commands implemented in either " +"Tcl or C. Each interpreter has an event queue, and there are facilities to " +"send events to it and process them. Unlike Python, Tcl's execution model is " +"designed around cooperative multitasking, and Tkinter bridges this " +"difference (see `Threading model`_ for details)." +msgstr "" +"Tcl — це динамічна інтерпретована мова програмування, як і Python. Хоча його " +"можна використовувати самостійно як мову програмування загального " +"призначення, найчастіше його вбудовують у додатки C як механізм сценаріїв " +"або інтерфейс до набору інструментів Tk. Бібліотека Tcl має інтерфейс C для " +"створення та керування одним або декількома екземплярами інтерпретатора Tcl, " +"запуску команд і сценаріїв Tcl у цих екземплярах і додавання спеціальних " +"команд, реалізованих у Tcl або C. Кожен інтерпретатор має чергу подій, а " +"також є засоби для надсилання до нього подій та їх обробки. На відміну від " +"Python, модель виконання Tcl розроблена навколо кооперативної " +"багатозадачності, і Tkinter усуває цю різницю (докладніше див. `Модель " +"потоків`_)." + +msgid "Tk" +msgstr "Тк" + +msgid "" +"Tk is a `Tcl package `_ implemented in C " +"that adds custom commands to create and manipulate GUI widgets. Each :class:" +"`Tk` object embeds its own Tcl interpreter instance with Tk loaded into it. " +"Tk's widgets are very customizable, though at the cost of a dated " +"appearance. Tk uses Tcl's event queue to generate and process GUI events." +msgstr "" + +msgid "Ttk" +msgstr "Ттк" + +msgid "" +"Themed Tk (Ttk) is a newer family of Tk widgets that provide a much better " +"appearance on different platforms than many of the classic Tk widgets. Ttk " +"is distributed as part of Tk, starting with Tk version 8.5. Python bindings " +"are provided in a separate module, :mod:`tkinter.ttk`." +msgstr "" +"Тематичний Tk (Ttk) — це новіша сімейство віджетів Tk, які забезпечують " +"набагато кращий вигляд на різних платформах, ніж багато класичних віджетів " +"Tk. Ttk поширюється як частина Tk, починаючи з Tk версії 8.5. Прив’язки " +"Python надаються в окремому модулі, :mod:`tkinter.ttk`." + +msgid "" +"Internally, Tk and Ttk use facilities of the underlying operating system, i." +"e., Xlib on Unix/X11, Cocoa on macOS, GDI on Windows." +msgstr "" +"Внутрішньо Tk і Ttk використовують засоби базової операційної системи, тобто " +"Xlib на Unix/X11, Cocoa на macOS, GDI на Windows." + +msgid "" +"When your Python application uses a class in Tkinter, e.g., to create a " +"widget, the :mod:`tkinter` module first assembles a Tcl/Tk command string. " +"It passes that Tcl command string to an internal :mod:`_tkinter` binary " +"module, which then calls the Tcl interpreter to evaluate it. The Tcl " +"interpreter will then call into the Tk and/or Ttk packages, which will in " +"turn make calls to Xlib, Cocoa, or GDI." +msgstr "" +"Коли ваша програма Python використовує клас у Tkinter, наприклад, для " +"створення віджета, модуль :mod:`tkinter` спочатку збирає рядок команди Tcl/" +"Tk. Він передає цей командний рядок Tcl до внутрішнього двійкового модуля :" +"mod:`_tkinter`, який потім викликає інтерпретатор Tcl для його оцінки. Потім " +"інтерпретатор Tcl звернеться до пакетів Tk та/або Ttk, які, у свою чергу, " +"звернуться до Xlib, Cocoa або GDI." + +msgid "Tkinter Modules" +msgstr "Модулі Tkinter" + +msgid "" +"Support for Tkinter is spread across several modules. Most applications will " +"need the main :mod:`tkinter` module, as well as the :mod:`tkinter.ttk` " +"module, which provides the modern themed widget set and API::" +msgstr "" +"Підтримка Tkinter розподілена на кілька модулів. Для більшості програм " +"знадобиться головний модуль :mod:`tkinter`, а також модуль :mod:`tkinter." +"ttk`, який надає сучасний тематичний набір віджетів і API:" + +msgid "" +"Construct a toplevel Tk widget, which is usually the main window of an " +"application, and initialize a Tcl interpreter for this widget. Each " +"instance has its own associated Tcl interpreter." +msgstr "" +"Створіть віджет Tk верхнього рівня, який зазвичай є головним вікном " +"програми, та ініціалізуйте інтерпретатор Tcl для цього віджета. Кожен " +"екземпляр має власний асоційований інтерпретатор Tcl." + +msgid "" +"The :class:`Tk` class is typically instantiated using all default values. " +"However, the following keyword arguments are currently recognized:" +msgstr "" +"Клас :class:`Tk` зазвичай створюється з використанням усіх значень за " +"замовчуванням. Однак наразі розпізнаються такі аргументи ключових слів:" + +msgid "*screenName*" +msgstr "*screenName*" + +msgid "" +"When given (as a string), sets the :envvar:`DISPLAY` environment variable. " +"(X11 only)" +msgstr "" +"Якщо задано (у вигляді рядка), установлює змінну середовища :envvar:" +"`DISPLAY`. (лише X11)" + +msgid "*baseName*" +msgstr "*базова назва*" + +msgid "" +"Name of the profile file. By default, *baseName* is derived from the " +"program name (``sys.argv[0]``)." +msgstr "" +"Ім'я файлу профілю. За замовчуванням *baseName* походить від назви програми " +"(``sys.argv[0]``)." + +msgid "*className*" +msgstr "*назва класу*" + +msgid "" +"Name of the widget class. Used as a profile file and also as the name with " +"which Tcl is invoked (*argv0* in *interp*)." +msgstr "" +"Назва класу віджетів. Використовується як файл профілю, а також як ім’я, з " +"яким викликається Tcl (*argv0* у *interp*)." + +msgid "*useTk*" +msgstr "*useTk*" + +msgid "" +"If ``True``, initialize the Tk subsystem. The :func:`tkinter.Tcl() ` " +"function sets this to ``False``." +msgstr "" +"Якщо ``True``, ініціалізувати підсистему Tk. Функція :func:`tkinter.Tcl() " +"` встановлює значення ``False``." + +msgid "*sync*" +msgstr "*синхронізація*" + +msgid "" +"If ``True``, execute all X server commands synchronously, so that errors are " +"reported immediately. Can be used for debugging. (X11 only)" +msgstr "" +"Якщо ``True``, виконувати всі команди X-сервера синхронно, щоб повідомляти " +"про помилки негайно. Можна використовувати для налагодження. (лише X11)" + +msgid "*use*" +msgstr "*використання*" + +msgid "" +"Specifies the *id* of the window in which to embed the application, instead " +"of it being created as an independent toplevel window. *id* must be " +"specified in the same way as the value for the -use option for toplevel " +"widgets (that is, it has a form like that returned by :meth:`winfo_id`)." +msgstr "" +"Визначає *id* вікна, у яке потрібно вставити програму, замість того, щоб " +"воно створювалося як незалежне вікно верхнього рівня. *id* потрібно вказати " +"так само, як значення параметра -use для віджетів верхнього рівня (тобто " +"воно має форму, подібну до тієї, яку повертає :meth:`winfo_id`)." + +msgid "" +"Note that on some platforms this will only work correctly if *id* refers to " +"a Tk frame or toplevel that has its -container option enabled." +msgstr "" +"Зауважте, що на деяких платформах це працюватиме належним чином, лише якщо " +"*id* посилається на фрейм Tk або верхній рівень, для якого ввімкнено " +"параметр -container." + +msgid "" +":class:`Tk` reads and interprets profile files, named :file:`.{className}." +"tcl` and :file:`.{baseName}.tcl`, into the Tcl interpreter and calls :func:" +"`exec` on the contents of :file:`.{className}.py` and :file:`.{baseName}." +"py`. The path for the profile files is the :envvar:`HOME` environment " +"variable or, if that isn't defined, then :attr:`os.curdir`." +msgstr "" +":class:`Tk` читає та інтерпретує файли профілю з іменами :file:`.{className}." +"tcl` і :file:`.{baseName}.tcl` в інтерпретатор Tcl і викликає :func:`exec` " +"на вміст файлів :file:`.{className}.py` і :file:`.{baseName}.py`. Шляхом до " +"файлів профілю є змінна середовища :envvar:`HOME` або, якщо вона не " +"визначена, то :attr:`os.curdir`." + +msgid "" +"The Tk application object created by instantiating :class:`Tk`. This " +"provides access to the Tcl interpreter. Each widget that is attached the " +"same instance of :class:`Tk` has the same value for its :attr:`tk` attribute." +msgstr "" +"Об’єкт програми Tk, створений шляхом створення екземпляра :class:`Tk`. Це " +"забезпечує доступ до інтерпретатора Tcl. Кожен віджет, до якого приєднано " +"той самий екземпляр :class:`Tk`, має однакове значення для свого атрибута :" +"attr:`tk`." + +msgid "" +"The widget object that contains this widget. For :class:`Tk`, the *master* " +"is :const:`None` because it is the main window. The terms *master* and " +"*parent* are similar and sometimes used interchangeably as argument names; " +"however, calling :meth:`winfo_parent` returns a string of the widget name " +"whereas :attr:`master` returns the object. *parent*/*child* reflects the " +"tree-like relationship while *master*/*slave* reflects the container " +"structure." +msgstr "" +"Об’єкт віджета, який містить цей віджет. Для :class:`Tk`, *master* є :const:" +"`None`, оскільки це головне вікно. Терміни *master* і *parent* подібні та " +"іноді використовуються як взаємозамінні назви аргументів; однак виклик :meth:" +"`winfo_parent` повертає рядок назви віджета, тоді як :attr:`master` повертає " +"об’єкт. *parent*/*child* відображає деревоподібний зв’язок, тоді як *master*/" +"*slave* відображає структуру контейнера." + +msgid "" +"The immediate descendants of this widget as a :class:`dict` with the child " +"widget names as the keys and the child instance objects as the values." +msgstr "" +"Безпосередні нащадки цього віджета як :class:`dict` з іменами дочірніх " +"віджетів як ключі та дочірні об’єкти екземплярів як значення." + +msgid "" +"The :func:`Tcl` function is a factory function which creates an object much " +"like that created by the :class:`Tk` class, except that it does not " +"initialize the Tk subsystem. This is most often useful when driving the Tcl " +"interpreter in an environment where one doesn't want to create extraneous " +"toplevel windows, or where one cannot (such as Unix/Linux systems without an " +"X server). An object created by the :func:`Tcl` object can have a Toplevel " +"window created (and the Tk subsystem initialized) by calling its :meth:" +"`loadtk` method." +msgstr "" +"Функція :func:`Tcl` є фабричною функцією, яка створює об’єкт, подібний до " +"створеного класом :class:`Tk`, за винятком того, що вона не ініціалізує " +"підсистему Tk. Це найчастіше корисно, коли керуєте інтерпретатором Tcl у " +"середовищі, де не потрібно створювати сторонні вікна верхнього рівня або де " +"це неможливо (наприклад, системи Unix/Linux без X-сервера). Для об’єкта, " +"створеного об’єктом :func:`Tcl`, можна створити вікно верхнього рівня (та " +"ініціалізувати підсистему Tk), викликавши його метод :meth:`loadtk`." + +msgid "The modules that provide Tk support include:" +msgstr "Модулі, які забезпечують підтримку Tk, включають:" + +msgid ":mod:`tkinter`" +msgstr ":mod:`tkinter`" + +msgid "Main Tkinter module." +msgstr "Головний модуль Tkinter." + +msgid ":mod:`tkinter.colorchooser`" +msgstr ":mod:`tkinter.colorchooser`" + +msgid "Dialog to let the user choose a color." +msgstr "Діалогове вікно, у якому користувач може вибрати колір." + +msgid ":mod:`tkinter.commondialog`" +msgstr ":mod:`tkinter.commondialog`" + +msgid "Base class for the dialogs defined in the other modules listed here." +msgstr "" +"Базовий клас для діалогових вікон, визначених в інших модулях, перелічених " +"тут." + +msgid ":mod:`tkinter.filedialog`" +msgstr ":mod:`tkinter.filedialog`" + +msgid "Common dialogs to allow the user to specify a file to open or save." +msgstr "" +"Загальні діалоги, які дозволяють користувачеві вказати файл для відкриття " +"або збереження." + +msgid ":mod:`tkinter.font`" +msgstr ":mod:`tkinter.font`" + +msgid "Utilities to help work with fonts." +msgstr "Утиліти для допомоги в роботі зі шрифтами." + +msgid ":mod:`tkinter.messagebox`" +msgstr ":mod:`tkinter.messagebox`" + +msgid "Access to standard Tk dialog boxes." +msgstr "Доступ до стандартних діалогових вікон Tk." + +msgid ":mod:`tkinter.scrolledtext`" +msgstr ":mod:`tkinter.scrolledtext`" + +msgid "Text widget with a vertical scroll bar built in." +msgstr "Текстовий віджет із вбудованою вертикальною смугою прокручування." + +msgid ":mod:`tkinter.simpledialog`" +msgstr ":mod:`tkinter.simpledialog`" + +msgid "Basic dialogs and convenience functions." +msgstr "Основні діалоги та функції зручності." + +msgid ":mod:`tkinter.ttk`" +msgstr ":mod:`tkinter.ttk`" + +msgid "" +"Themed widget set introduced in Tk 8.5, providing modern alternatives for " +"many of the classic widgets in the main :mod:`tkinter` module." +msgstr "" +"Тематичний набір віджетів, представлений у Tk 8.5, надає сучасні " +"альтернативи для багатьох класичних віджетів у головному модулі :mod:" +"`tkinter`." + +msgid "Additional modules:" +msgstr "Додаткові модулі:" + +msgid ":mod:`_tkinter`" +msgstr ":mod:`_tkinter`" + +msgid "" +"A binary module that contains the low-level interface to Tcl/Tk. It is " +"automatically imported by the main :mod:`tkinter` module, and should never " +"be used directly by application programmers. It is usually a shared library " +"(or DLL), but might in some cases be statically linked with the Python " +"interpreter." +msgstr "" +"Двійковий модуль, який містить низькорівневий інтерфейс для Tcl/Tk. Він " +"автоматично імпортується головним модулем :mod:`tkinter` і ніколи не повинен " +"використовуватися безпосередньо програмістами додатків. Зазвичай це спільна " +"бібліотека (або DLL), але в деяких випадках може бути статично пов’язана з " +"інтерпретатором Python." + +msgid ":mod:`idlelib`" +msgstr ":mod:`idlelib`" + +msgid "" +"Python's Integrated Development and Learning Environment (IDLE). Based on :" +"mod:`tkinter`." +msgstr "" +"Інтегроване середовище розробки та навчання Python (IDLE). На основі :mod:" +"`tkinter`." + +msgid ":mod:`tkinter.constants`" +msgstr ":mod:`tkinter.constants`" + +msgid "" +"Symbolic constants that can be used in place of strings when passing various " +"parameters to Tkinter calls. Automatically imported by the main :mod:" +"`tkinter` module." +msgstr "" +"Символічні константи, які можна використовувати замість рядків під час " +"передачі різних параметрів викликам Tkinter. Автоматично імпортується " +"основним модулем :mod:`tkinter`." + +msgid ":mod:`tkinter.dnd`" +msgstr ":mod:`tkinter.dnd`" + +msgid "" +"(experimental) Drag-and-drop support for :mod:`tkinter`. This will become " +"deprecated when it is replaced with the Tk DND." +msgstr "" +"(експериментальний) Підтримка перетягування для :mod:`tkinter`. Це стане " +"застарілим, коли його буде замінено на Tk DND." + +msgid ":mod:`tkinter.tix`" +msgstr ":mod:`tkinter.tix`" + +msgid "" +"(deprecated) An older third-party Tcl/Tk package that adds several new " +"widgets. Better alternatives for most can be found in :mod:`tkinter.ttk`." +msgstr "" +"(застаріло) Старіший сторонній пакет Tcl/Tk, який додає кілька нових " +"віджетів. Кращі альтернативи для більшості можна знайти в :mod:`tkinter.ttk`." + +msgid ":mod:`turtle`" +msgstr ":mod:`turtle`" + +msgid "Turtle graphics in a Tk window." +msgstr "Графіка Turtle у вікні Tk." + +msgid "Tkinter Life Preserver" +msgstr "Tkinter Life Preserver" + +msgid "" +"This section is not designed to be an exhaustive tutorial on either Tk or " +"Tkinter. For that, refer to one of the external resources noted earlier. " +"Instead, this section provides a very quick orientation to what a Tkinter " +"application looks like, identifies foundational Tk concepts, and explains " +"how the Tkinter wrapper is structured." +msgstr "" +"Цей розділ не призначений для вичерпного підручника з Tk або Tkinter. Для " +"цього зверніться до одного із зовнішніх ресурсів, згаданих раніше. Натомість " +"цей розділ надає дуже швидку орієнтацію щодо того, як виглядає програма " +"Tkinter, визначає основні концепції Tk і пояснює, як структурована оболонка " +"Tkinter." + +msgid "" +"The remainder of this section will help you to identify the classes, " +"methods, and options you'll need in your Tkinter application, and where to " +"find more detailed documentation on them, including in the official Tcl/Tk " +"reference manual." +msgstr "" +"Решта цього розділу допоможе вам визначити класи, методи та параметри, які " +"вам знадобляться у вашій програмі Tkinter, і де знайти більш детальну " +"документацію щодо них, у тому числі в офіційному довідковому посібнику Tcl/" +"Tk." + +msgid "A Hello World Program" +msgstr "Програма \"Привіт, світ\"." + +msgid "" +"We'll start by walking through a \"Hello World\" application in Tkinter. " +"This isn't the smallest one we could write, but has enough to illustrate " +"some key concepts you'll need to know." +msgstr "" +"Ми почнемо з огляду програми \"Hello World\" у Tkinter. Це не найменше, що " +"ми можемо написати, але достатньо, щоб проілюструвати деякі ключові поняття, " +"які вам потрібно знати." + +msgid "" +"After the imports, the next line creates an instance of the :class:`Tk` " +"class, which initializes Tk and creates its associated Tcl interpreter. It " +"also creates a toplevel window, known as the root window, which serves as " +"the main window of the application." +msgstr "" +"Після імпорту в наступному рядку створюється екземпляр класу :class:`Tk`, " +"який ініціалізує Tk і створює пов’язаний з ним інтерпретатор Tcl. Він також " +"створює вікно верхнього рівня, відоме як кореневе вікно, яке служить " +"головним вікном програми." + +msgid "" +"The following line creates a frame widget, which in this case will contain a " +"label and a button we'll create next. The frame is fit inside the root " +"window." +msgstr "" +"Наступний рядок створює рамковий віджет, який у цьому випадку міститиме " +"мітку та кнопку, яку ми створимо далі. Рама встановлюється всередині вікна." + +msgid "" +"The next line creates a label widget holding a static text string. The :meth:" +"`grid` method is used to specify the relative layout (position) of the label " +"within its containing frame widget, similar to how tables in HTML work." +msgstr "" +"Наступний рядок створює віджет мітки, що містить статичний текстовий рядок. " +"Метод :meth:`grid` використовується для вказівки відносного розташування " +"(положення) мітки всередині віджета кадру, що містить її, подібно до того, " +"як працюють таблиці в HTML." + +msgid "" +"A button widget is then created, and placed to the right of the label. When " +"pressed, it will call the :meth:`destroy` method of the root window." +msgstr "" +"Потім створюється віджет кнопки, який розміщується праворуч від мітки. При " +"натисканні викличе метод :meth:`destroy` кореневого вікна." + +msgid "" +"Finally, the :meth:`mainloop` method puts everything on the display, and " +"responds to user input until the program terminates." +msgstr "" +"Нарешті, метод :meth:`mainloop` виводить все на дисплей і реагує на введення " +"користувача, доки програма не завершить роботу." + +msgid "Important Tk Concepts" +msgstr "Важливі поняття Tk" + +msgid "Even this simple program illustrates the following key Tk concepts:" +msgstr "Навіть ця проста програма ілюструє такі ключові концепції Tk:" + +msgid "widgets" +msgstr "віджети" + +msgid "" +"A Tkinter user interface is made up of individual *widgets*. Each widget is " +"represented as a Python object, instantiated from classes like :class:`ttk." +"Frame`, :class:`ttk.Label`, and :class:`ttk.Button`." +msgstr "" +"Інтерфейс користувача Tkinter складається з окремих *віджетів*. Кожен віджет " +"представлено як об’єкт Python, створений із таких класів, як :class:`ttk." +"Frame`, :class:`ttk.Label` і :class:`ttk.Button`." + +msgid "widget hierarchy" +msgstr "ієрархія віджетів" + +msgid "" +"Widgets are arranged in a *hierarchy*. The label and button were contained " +"within a frame, which in turn was contained within the root window. When " +"creating each *child* widget, its *parent* widget is passed as the first " +"argument to the widget constructor." +msgstr "" +"Віджети впорядковані в *ієрархію*. Мітка та кнопка містилися у фреймі, який, " +"у свою чергу, містився в кореневому вікні. Під час створення кожного " +"*дочірнього* віджета його *батьківський* віджет передається як перший " +"аргумент конструктору віджетів." + +msgid "configuration options" +msgstr "параметри конфігурації" + +msgid "" +"Widgets have *configuration options*, which modify their appearance and " +"behavior, such as the text to display in a label or button. Different " +"classes of widgets will have different sets of options." +msgstr "" +"Віджети мають *параметри конфігурації*, які змінюють їхній зовнішній вигляд " +"і поведінку, наприклад текст для відображення в мітці або кнопці. Різні " +"класи віджетів матимуть різні набори параметрів." + +msgid "geometry management" +msgstr "управління геометрією" + +msgid "" +"Widgets aren't automatically added to the user interface when they are " +"created. A *geometry manager* like ``grid`` controls where in the user " +"interface they are placed." +msgstr "" +"Віджети не додаються автоматично до інтерфейсу користувача під час їх " +"створення. *Менеджер геометрії*, як-от ``grid``, контролює, де в інтерфейсі " +"користувача вони розміщені." + +msgid "event loop" +msgstr "цикл подій" + +msgid "" +"Tkinter reacts to user input, changes from your program, and even refreshes " +"the display only when actively running an *event loop*. If your program " +"isn't running the event loop, your user interface won't update." +msgstr "" +"Tkinter реагує на введення користувача, зміни вашої програми та навіть " +"оновлює дисплей лише під час активного запуску *циклу подій*. Якщо ваша " +"програма не запускає цикл подій, ваш інтерфейс користувача не " +"оновлюватиметься." + +msgid "Understanding How Tkinter Wraps Tcl/Tk" +msgstr "Розуміння того, як Tkinter обертає Tcl/Tk" + +msgid "" +"When your application uses Tkinter's classes and methods, internally Tkinter " +"is assembling strings representing Tcl/Tk commands, and executing those " +"commands in the Tcl interpreter attached to your applicaton's :class:`Tk` " +"instance." +msgstr "" +"Коли ваша програма використовує класи та методи Tkinter, внутрішньо Tkinter " +"збирає рядки, що представляють команди Tcl/Tk, і виконує ці команди в " +"інтерпретаторі Tcl, приєднаному до екземпляра :class:`Tk` вашої програми." + +msgid "" +"Whether it's trying to navigate reference documentation, trying to find the " +"right method or option, adapting some existing code, or debugging your " +"Tkinter application, there are times that it will be useful to understand " +"what those underlying Tcl/Tk commands look like." +msgstr "" +"Незалежно від того, чи це спроба навігації по довідковій документації, " +"спроба знайти правильний метод або параметр, адаптація деякого існуючого " +"коду або налагодження вашої програми Tkinter, іноді буде корисно зрозуміти, " +"як виглядають ці основні команди Tcl/Tk." + +msgid "" +"To illustrate, here is the Tcl/Tk equivalent of the main part of the Tkinter " +"script above." +msgstr "" +"Для ілюстрації, ось еквівалент Tcl/Tk основної частини сценарію Tkinter вище." + +msgid "" +"Tcl's syntax is similar to many shell languages, where the first word is the " +"command to be executed, with arguments to that command following it, " +"separated by spaces. Without getting into too many details, notice the " +"following:" +msgstr "" +"Синтаксис Tcl подібний до багатьох мов оболонки, де першим словом є команда, " +"яка має бути виконана, а аргументи цієї команди йдуть за нею, розділені " +"пробілами. Не вдаючись у подробиці, зауважте наступне:" + +msgid "" +"The commands used to create widgets (like ``ttk::frame``) correspond to " +"widget classes in Tkinter." +msgstr "" +"Команди, які використовуються для створення віджетів (наприклад, ``ttk::" +"frame``), відповідають класам віджетів у Tkinter." + +msgid "" +"Tcl widget options (like ``-text``) correspond to keyword arguments in " +"Tkinter." +msgstr "" +"Параметри віджета Tcl (наприклад, ``-text``) відповідають аргументам " +"ключових слів у Tkinter." + +msgid "" +"Widgets are referred to by a *pathname* in Tcl (like ``.frm.btn``), whereas " +"Tkinter doesn't use names but object references." +msgstr "" +"Віджети посилаються за *шляхом* у Tcl (наприклад, ``.frm.btn``), тоді як " +"Tkinter використовує не імена, а посилання на об’єкти." + +msgid "" +"A widget's place in the widget hierarchy is encoded in its (hierarchical) " +"pathname, which uses a ``.`` (dot) as a path separator. The pathname for the " +"root window is just ``.`` (dot). In Tkinter, the hierarchy is defined not by " +"pathname but by specifying the parent widget when creating each child widget." +msgstr "" +"Місце віджета в ієрархії віджетів закодовано в його (ієрархічному) шляху, " +"який використовує ``.`` (точку) як роздільник шляху. Ім'я шляху для " +"кореневого вікна - це просто ``.`` (крапка). У Tkinter ієрархія визначається " +"не шляхом, а вказівкою батьківського віджета під час створення кожного " +"дочірнього віджета." + +msgid "" +"Operations which are implemented as separate *commands* in Tcl (like " +"``grid`` or ``destroy``) are represented as *methods* on Tkinter widget " +"objects. As you'll see shortly, at other times Tcl uses what appear to be " +"method calls on widget objects, which more closely mirror what would is used " +"in Tkinter." +msgstr "" +"Операції, які реалізовані як окремі *команди* в Tcl (наприклад, ``grid`` або " +"``destroy``), представлені як *методи* в об’єктах віджетів Tkinter. Як ви " +"незабаром побачите, в інших випадках Tcl використовує те, що здається " +"викликами методів для об’єктів віджетів, які більш точно відображають те, що " +"використовується в Tkinter." + +msgid "How do I...? What option does...?" +msgstr "Як мені...? Який варіант робить...?" + +msgid "" +"If you're not sure how to do something in Tkinter, and you can't immediately " +"find it in the tutorial or reference documentation you're using, there are a " +"few strategies that can be helpful." +msgstr "" +"Якщо ви не впевнені, як щось зробити в Tkinter, і не можете відразу знайти " +"це в підручнику чи довідковій документації, яку використовуєте, є кілька " +"стратегій, які можуть бути корисними." + +msgid "" +"First, remember that the details of how individual widgets work may vary " +"across different versions of both Tkinter and Tcl/Tk. If you're searching " +"documentation, make sure it corresponds to the Python and Tcl/Tk versions " +"installed on your system." +msgstr "" +"По-перше, пам’ятайте, що деталі роботи окремих віджетів можуть відрізнятися " +"в різних версіях як Tkinter, так і Tcl/Tk. Якщо ви шукаєте документацію, " +"переконайтеся, що вона відповідає версіям Python і Tcl/Tk, встановленим у " +"вашій системі." + +msgid "" +"When searching for how to use an API, it helps to know the exact name of the " +"class, option, or method that you're using. Introspection, either in an " +"interactive Python shell or with :func:`print`, can help you identify what " +"you need." +msgstr "" +"Коли ви шукаєте, як використовувати API, корисно знати точну назву класу, " +"опції або методу, який ви використовуєте. Самоаналіз в інтерактивній " +"оболонці Python або за допомогою :func:`print` може допомогти вам визначити, " +"що вам потрібно." + +msgid "" +"To find out what configuration options are available on any widget, call " +"its :meth:`configure` method, which returns a dictionary containing a " +"variety of information about each object, including its default and current " +"values. Use :meth:`keys` to get just the names of each option." +msgstr "" +"Щоб дізнатися, які параметри конфігурації доступні для будь-якого віджета, " +"викличте його метод :meth:`configure`, який повертає словник, що містить " +"різноманітну інформацію про кожен об’єкт, включаючи його типові та поточні " +"значення. Використовуйте :meth:`keys`, щоб отримати лише назви кожного " +"параметра." + +msgid "" +"As most widgets have many configuration options in common, it can be useful " +"to find out which are specific to a particular widget class. Comparing the " +"list of options to that of a simpler widget, like a frame, is one way to do " +"that." +msgstr "" +"Оскільки більшість віджетів мають багато спільних параметрів конфігурації, " +"може бути корисно дізнатися, які є специфічними для певного класу віджетів. " +"Порівняння списку опцій зі списком простіших віджетів, як-от рамка, є одним " +"із способів зробити це." + +msgid "" +"Similarly, you can find the available methods for a widget object using the " +"standard :func:`dir` function. If you try it, you'll see there are over 200 " +"common widget methods, so again identifying those specific to a widget class " +"is helpful." +msgstr "" +"Так само ви можете знайти доступні методи для об’єкта віджета за допомогою " +"стандартної функції :func:`dir`. Якщо ви спробуєте це, ви побачите, що існує " +"понад 200 поширених методів віджетів, тому знову ж таки буде корисно " +"визначити ті, які є специфічними для класу віджетів." + +msgid "Navigating the Tcl/Tk Reference Manual" +msgstr "Навігація довідковим посібником Tcl/Tk" + +msgid "" +"As noted, the official `Tk commands `_ reference manual (man pages) is often the most accurate " +"description of what specific operations on widgets do. Even when you know " +"the name of the option or method that you need, you may still have a few " +"places to look." +msgstr "" +"Як зазначалося, офіційний довідковий посібник `Tk commands `_ (сторінки довідок) часто є найточнішим " +"описом того, що виконують конкретні операції з віджетами. Навіть якщо ви " +"знаєте назву потрібного вам параметра або методу, у вас все одно може бути " +"кілька місць, де слід шукати." + +msgid "" +"While all operations in Tkinter are implemented as method calls on widget " +"objects, you've seen that many Tcl/Tk operations appear as commands that " +"take a widget pathname as its first parameter, followed by optional " +"parameters, e.g." +msgstr "" +"Хоча всі операції в Tkinter реалізовані як виклики методів для об’єктів " +"віджетів, ви бачили, що багато операцій Tcl/Tk відображаються як команди, " +"які приймають шлях до віджета як свій перший параметр, за яким слідують " +"додаткові параметри, напр." + +msgid "" +"Others, however, look more like methods called on a widget object (in fact, " +"when you create a widget in Tcl/Tk, it creates a Tcl command with the name " +"of the widget pathname, with the first parameter to that command being the " +"name of a method to call)." +msgstr "" +"Інші, однак, більше схожі на методи, викликані об’єктом віджета (насправді, " +"коли ви створюєте віджет у Tcl/Tk, він створює команду Tcl з іменем шляху до " +"віджета, причому першим параметром цієї команди є ім’я методу для виклику)." + +msgid "" +"In the official Tcl/Tk reference documentation, you'll find most operations " +"that look like method calls on the man page for a specific widget (e.g., " +"you'll find the :meth:`invoke` method on the `ttk::button `_ man page), while functions that take a " +"widget as a parameter often have their own man page (e.g., `grid `_)." +msgstr "" +"В офіційній довідковій документації Tcl/Tk ви знайдете більшість операцій, " +"які виглядають як виклики методів на сторінці довідки для певного віджета " +"(наприклад, ви знайдете метод :meth:`invoke` на кнопці `ttk::button). " +"`_ сторінка довідки), " +"тоді як функції, які приймають віджет як параметр, часто мають власну " +"сторінку довідки (наприклад, `grid `_)." + +msgid "" +"You'll find many common options and methods in the `options `_ or `ttk::widget `_ man pages, while others are found in the man " +"page for a specific widget class." +msgstr "" +"Ви знайдете багато поширених параметрів і методів на сторінках довідки " +"`options `_ або `ttk::" +"widget `_, а інші можна " +"знайти на сторінці довідки для певного класу віджетів." + +msgid "" +"You'll also find that many Tkinter methods have compound names, e.g., :func:" +"`winfo_x`, :func:`winfo_height`, :func:`winfo_viewable`. You'd find " +"documentation for all of these in the `winfo `_ man page." +msgstr "" +"Ви також побачите, що багато методів Tkinter мають складені імена, " +"наприклад, :func:`winfo_x`, :func:`winfo_height`, :func:`winfo_viewable`. Ви " +"знайдете документацію для всього цього на сторінці довідки `winfo `_." + +msgid "" +"Somewhat confusingly, there are also methods on all Tkinter widgets that " +"don't actually operate on the widget, but operate at a global scope, " +"independent of any widget. Examples are methods for accessing the clipboard " +"or the system bell. (They happen to be implemented as methods in the base :" +"class:`Widget` class that all Tkinter widgets inherit from)." +msgstr "" +"Дещо збентежує те, що у всіх віджетах Tkinter також є методи, які фактично " +"не працюють з віджетом, а працюють у глобальному масштабі, незалежно від " +"будь-якого віджета. Прикладами є методи доступу до буфера обміну або " +"системного дзвінка. (Вони реалізовані як методи в базовому класі :class:" +"`Widget`, від якого успадковуються всі віджети Tkinter)." + +msgid "Threading model" +msgstr "Модель різьблення" + +msgid "" +"Python and Tcl/Tk have very different threading models, which :mod:`tkinter` " +"tries to bridge. If you use threads, you may need to be aware of this." +msgstr "" +"Python і Tcl/Tk мають дуже різні моделі потоків, які :mod:`tkinter` " +"намагається поєднати. Якщо ви використовуєте потоки, вам, можливо, потрібно " +"це знати." + +msgid "" +"A Python interpreter may have many threads associated with it. In Tcl, " +"multiple threads can be created, but each thread has a separate Tcl " +"interpreter instance associated with it. Threads can also create more than " +"one interpreter instance, though each interpreter instance can be used only " +"by the one thread that created it." +msgstr "" +"Інтерпретатор Python може мати багато потоків, пов’язаних із ним. У Tcl " +"можна створити кілька потоків, але кожен потік має окремий екземпляр " +"інтерпретатора Tcl, пов’язаний з ним. Потоки також можуть створювати більше " +"одного екземпляра інтерпретатора, хоча кожен екземпляр інтерпретатора може " +"використовуватися лише тим потоком, який його створив." + +msgid "" +"Each :class:`Tk` object created by :mod:`tkinter` contains a Tcl " +"interpreter. It also keeps track of which thread created that interpreter. " +"Calls to :mod:`tkinter` can be made from any Python thread. Internally, if a " +"call comes from a thread other than the one that created the :class:`Tk` " +"object, an event is posted to the interpreter's event queue, and when " +"executed, the result is returned to the calling Python thread." +msgstr "" +"Кожен об’єкт :class:`Tk`, створений :mod:`tkinter`, містить інтерпретатор " +"Tcl. Він також відстежує, який потік створив цей інтерпретатор. Виклики :mod:" +"`tkinter` можна здійснювати з будь-якого потоку Python. Внутрішньо, якщо " +"виклик надходить з потоку, відмінного від того, який створив об’єкт :class:" +"`Tk`, подія публікується в черзі подій інтерпретатора, і після виконання " +"результат повертається до викликаного потоку Python." + +msgid "" +"Tcl/Tk applications are normally event-driven, meaning that after " +"initialization, the interpreter runs an event loop (i.e. :func:`Tk." +"mainloop`) and responds to events. Because it is single-threaded, event " +"handlers must respond quickly, otherwise they will block other events from " +"being processed. To avoid this, any long-running computations should not run " +"in an event handler, but are either broken into smaller pieces using timers, " +"or run in another thread. This is different from many GUI toolkits where the " +"GUI runs in a completely separate thread from all application code including " +"event handlers." +msgstr "" +"Програми Tcl/Tk зазвичай керуються подіями, тобто після ініціалізації " +"інтерпретатор запускає цикл подій (тобто :func:`Tk.mainloop`) і відповідає " +"на події. Оскільки він однопотоковий, обробники подій повинні реагувати " +"швидко, інакше вони заблокують обробку інших подій. Щоб уникнути цього, будь-" +"які тривалі обчислення не повинні виконуватися в обробнику подій, а " +"розбиваються на менші частини за допомогою таймерів або виконуються в іншому " +"потоці. Це відрізняється від багатьох наборів інструментів графічного " +"інтерфейсу, де графічний інтерфейс працює в повністю окремому потоці від " +"усього коду програми, включаючи обробники подій." + +msgid "" +"If the Tcl interpreter is not running the event loop and processing events, " +"any :mod:`tkinter` calls made from threads other than the one running the " +"Tcl interpreter will fail." +msgstr "" +"Якщо інтерпретатор Tcl не запускає цикл подій і не обробляє події, будь-які " +"виклики :mod:`tkinter`, здійснені з потоків, відмінних від того, що запускає " +"інтерпретатор Tcl, не вдасться." + +msgid "A number of special cases exist:" +msgstr "Існує ряд особливих випадків:" + +msgid "" +"Tcl/Tk libraries can be built so they are not thread-aware. In this case, :" +"mod:`tkinter` calls the library from the originating Python thread, even if " +"this is different than the thread that created the Tcl interpreter. A global " +"lock ensures only one call occurs at a time." +msgstr "" +"Бібліотеки Tcl/Tk можна створити таким чином, щоб вони не розпізнавали " +"потоки. У цьому випадку :mod:`tkinter` викликає бібліотеку з початкового " +"потоку Python, навіть якщо він відрізняється від потоку, який створив " +"інтерпретатор Tcl. Глобальне блокування забезпечує лише один виклик за один " +"раз." + +msgid "" +"While :mod:`tkinter` allows you to create more than one instance of a :class:" +"`Tk` object (with its own interpreter), all interpreters that are part of " +"the same thread share a common event queue, which gets ugly fast. In " +"practice, don't create more than one instance of :class:`Tk` at a time. " +"Otherwise, it's best to create them in separate threads and ensure you're " +"running a thread-aware Tcl/Tk build." +msgstr "" +"У той час як :mod:`tkinter` дозволяє створювати більше ніж один екземпляр " +"об’єкта :class:`Tk` (з власним інтерпретатором), усі інтерпретатори, які є " +"частиною одного потоку, спільно використовують спільну чергу подій, яка " +"швидко стає жахливою . На практиці не створюйте більше одного екземпляра :" +"class:`Tk` одночасно. В іншому випадку найкраще створити їх в окремих " +"потоках і переконатися, що ви використовуєте збірку Tcl/Tk з підтримкою " +"потоків." + +msgid "" +"Blocking event handlers are not the only way to prevent the Tcl interpreter " +"from reentering the event loop. It is even possible to run multiple nested " +"event loops or abandon the event loop entirely. If you're doing anything " +"tricky when it comes to events or threads, be aware of these possibilities." +msgstr "" +"Блокування обробників подій — не єдиний спосіб запобігти повторному входу " +"інтерпретатора Tcl у цикл подій. Можна навіть запустити кілька вкладених " +"циклів подій або повністю відмовитися від циклу подій. Якщо ви робите щось " +"складне, коли йдеться про події чи ланцюжки, пам’ятайте про ці можливості." + +msgid "" +"There are a few select :mod:`tkinter` functions that presently work only " +"when called from the thread that created the Tcl interpreter." +msgstr "" +"Є кілька вибраних функцій :mod:`tkinter`, які зараз працюють лише тоді, коли " +"викликаються з потоку, який створив інтерпретатор Tcl." + +msgid "Handy Reference" +msgstr "Зручний довідник" + +msgid "Setting Options" +msgstr "Параметри налаштування" + +msgid "" +"Options control things like the color and border width of a widget. Options " +"can be set in three ways:" +msgstr "" +"Параметри контролюють такі речі, як колір і ширина рамки віджета. Параметри " +"можна встановити трьома способами:" + +msgid "At object creation time, using keyword arguments" +msgstr "Під час створення об’єкта, використовуючи ключові аргументи" + +msgid "After object creation, treating the option name like a dictionary index" +msgstr "" +"Після створення об’єкта назва параметра розглядається як індекс словника" + +msgid "" +"Use the config() method to update multiple attrs subsequent to object " +"creation" +msgstr "" +"Використовуйте метод config() для оновлення кількох атрибутів після " +"створення об’єкта" + +msgid "" +"For a complete explanation of a given option and its behavior, see the Tk " +"man pages for the widget in question." +msgstr "" +"Щоб отримати повне пояснення даного параметра та його поведінки, перегляньте " +"сторінки довідки Tk для відповідного віджета." + +msgid "" +"Note that the man pages list \"STANDARD OPTIONS\" and \"WIDGET SPECIFIC " +"OPTIONS\" for each widget. The former is a list of options that are common " +"to many widgets, the latter are the options that are idiosyncratic to that " +"particular widget. The Standard Options are documented on the :manpage:" +"`options(3)` man page." +msgstr "" +"Зауважте, що на довідкових сторінках перераховано \"СТАНДАРТНІ ПАРАМЕТРИ\" " +"та \"СПЕЦИФІЧНІ ПАРАМЕТРИ ВІДЖЕТА\" для кожного віджета. Перший — це список " +"параметрів, які є спільними для багатьох віджетів, другий — параметри, які є " +"ідіосинкратичними для цього конкретного віджета. Стандартні параметри " +"задокументовані на сторінці довідки :manpage:`options(3)`." + +msgid "" +"No distinction between standard and widget-specific options is made in this " +"document. Some options don't apply to some kinds of widgets. Whether a " +"given widget responds to a particular option depends on the class of the " +"widget; buttons have a ``command`` option, labels do not." +msgstr "" +"У цьому документі не робиться різниці між стандартними параметрами та " +"параметрами, що стосуються окремих віджетів. Деякі параметри не " +"застосовуються до деяких типів віджетів. Чи відповідає даний віджет певній " +"опції, залежить від класу віджета; кнопки мають параметр ``команда``, а " +"мітки — ні." + +msgid "" +"The options supported by a given widget are listed in that widget's man " +"page, or can be queried at runtime by calling the :meth:`config` method " +"without arguments, or by calling the :meth:`keys` method on that widget. " +"The return value of these calls is a dictionary whose key is the name of the " +"option as a string (for example, ``'relief'``) and whose values are 5-tuples." +msgstr "" +"Параметри, які підтримує певний віджет, перераховані на сторінці довідки " +"цього віджета, або їх можна запитати під час виконання, викликавши метод :" +"meth:`config` без аргументів або викликавши метод :meth:`keys` у цьому " +"віджеті. Поверненим значенням цих викликів є словник, ключем якого є ім’я " +"опції у вигляді рядка (наприклад, ``'relief'``), а значеннями є 5-ти кортежі." + +msgid "" +"Some options, like ``bg`` are synonyms for common options with long names " +"(``bg`` is shorthand for \"background\"). Passing the ``config()`` method " +"the name of a shorthand option will return a 2-tuple, not 5-tuple. The 2-" +"tuple passed back will contain the name of the synonym and the \"real\" " +"option (such as ``('bg', 'background')``)." +msgstr "" +"Деякі параметри, як-от ``bg``, є синонімами поширених параметрів із довгими " +"назвами (``bg`` є скороченням від \"фон\"). Передача методу ``config()`` " +"імені скороченого параметра поверне 2-кортеж, а не 5-кортеж. 2-кортеж, " +"переданий назад, міститиме назву синоніму та \"справжній\" параметр " +"(наприклад, ``('bg', 'background')``)." + +msgid "Index" +msgstr "Індекс" + +msgid "Meaning" +msgstr "Значення" + +msgid "Example" +msgstr "приклад" + +msgid "0" +msgstr "0" + +msgid "option name" +msgstr "назва опції" + +msgid "``'relief'``" +msgstr "``''рельєф'``" + +msgid "1" +msgstr "1" + +msgid "option name for database lookup" +msgstr "назва параметра для пошуку в базі даних" + +msgid "2" +msgstr "2" + +msgid "option class for database lookup" +msgstr "клас параметрів для пошуку в базі даних" + +msgid "``'Relief'``" +msgstr "``'Рельєф'``" + +msgid "3" +msgstr "3" + +msgid "default value" +msgstr "значення за замовчуванням" + +msgid "``'raised'``" +msgstr "``'піднятий''``" + +msgid "4" +msgstr "4" + +msgid "current value" +msgstr "поточне значення" + +msgid "``'groove'``" +msgstr "``'канавки'``" + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"Of course, the dictionary printed will include all the options available and " +"their values. This is meant only as an example." +msgstr "" +"Звичайно, надрукований словник міститиме всі доступні варіанти та їхні " +"значення. Це лише як приклад." + +msgid "The Packer" +msgstr "Пакувальник" + +msgid "" +"The packer is one of Tk's geometry-management mechanisms. Geometry " +"managers are used to specify the relative positioning of widgets within " +"their container - their mutual *master*. In contrast to the more cumbersome " +"*placer* (which is used less commonly, and we do not cover here), the packer " +"takes qualitative relationship specification - *above*, *to the left of*, " +"*filling*, etc - and works everything out to determine the exact placement " +"coordinates for you." +msgstr "" +"Пакер є одним із механізмів управління геометрією Tk. Менеджери геометрії " +"використовуються для вказівки відносного розташування віджетів у їхньому " +"контейнері - їхньому спільному *master*. На відміну від більш громіздкого " +"*розсипу* (який використовується рідше, і ми не розглядаємо його тут), " +"пакувальник бере якісну специфікацію зв’язку – *вгорі*, *ліворуч*, " +"*заповнення* тощо – і працює все, щоб визначити для вас точні координати " +"розміщення." + +msgid "" +"The size of any *master* widget is determined by the size of the \"slave " +"widgets\" inside. The packer is used to control where slave widgets appear " +"inside the master into which they are packed. You can pack widgets into " +"frames, and frames into other frames, in order to achieve the kind of layout " +"you desire. Additionally, the arrangement is dynamically adjusted to " +"accommodate incremental changes to the configuration, once it is packed." +msgstr "" +"Розмір будь-якого *головного* віджета визначається розміром \"підлеглих " +"віджетів\" усередині. Пакувальник використовується для керування тим, де " +"підпорядковані віджети з’являються всередині головного, у який вони " +"упаковані. Ви можете запакувати віджети у фрейми, а фрейми – в інші фрейми, " +"щоб отримати потрібний вам макет. Крім того, компонування динамічно " +"налаштовується для врахування поступових змін конфігурації після того, як " +"воно упаковане." + +msgid "" +"Note that widgets do not appear until they have had their geometry specified " +"with a geometry manager. It's a common early mistake to leave out the " +"geometry specification, and then be surprised when the widget is created but " +"nothing appears. A widget will appear only after it has had, for example, " +"the packer's :meth:`pack` method applied to it." +msgstr "" +"Зауважте, що віджети не з’являться, доки їхню геометрію не буде визначено за " +"допомогою менеджера геометрії. Поширеною ранньою помилкою є пропуск " +"специфікації геометрії, а потім дивуватися, коли віджет створено, але нічого " +"не з’явиться. Віджет з’явиться лише після того, як до нього буде " +"застосовано, наприклад, метод пакувальника :meth:`pack`." + +msgid "" +"The pack() method can be called with keyword-option/value pairs that control " +"where the widget is to appear within its container, and how it is to behave " +"when the main application window is resized. Here are some examples::" +msgstr "" +"Метод pack() можна викликати за допомогою пар ключове слово-параметр/" +"значення, які визначають, де віджет має з’являтися в своєму контейнері та як " +"він має поводитися, коли змінюється розмір головного вікна програми. Ось " +"кілька прикладів:" + +msgid "Packer Options" +msgstr "Опції пакувальника" + +msgid "" +"For more extensive information on the packer and the options that it can " +"take, see the man pages and page 183 of John Ousterhout's book." +msgstr "" +"Щоб отримати докладнішу інформацію про пакувальник і параметри, які він може " +"приймати, перегляньте сторінки довідки та сторінку 183 книги Джона " +"Оустерхаута." + +msgid "anchor" +msgstr "якір" + +msgid "" +"Anchor type. Denotes where the packer is to place each slave in its parcel." +msgstr "" +"Якірний тип. Позначає, де пакувальник має розмістити кожного підлеглого у " +"своїй посилці." + +msgid "expand" +msgstr "розширити" + +msgid "Boolean, ``0`` or ``1``." +msgstr "Логічне значення, ``0`` або ``1``." + +msgid "fill" +msgstr "заповнити" + +msgid "Legal values: ``'x'``, ``'y'``, ``'both'``, ``'none'``." +msgstr "Правильні значення: ``'x'``, ``'y'``, ``'both'``, ``'none'``." + +msgid "ipadx and ipady" +msgstr "ipadx і ipady" + +msgid "" +"A distance - designating internal padding on each side of the slave widget." +msgstr "" +"Відстань — позначення внутрішнього відступу з кожного боку підлеглого " +"віджета." + +msgid "padx and pady" +msgstr "padx і pady" + +msgid "" +"A distance - designating external padding on each side of the slave widget." +msgstr "" +"Відстань — позначення зовнішніх відступів з кожного боку підлеглого віджета." + +msgid "side" +msgstr "бік" + +msgid "Legal values are: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." +msgstr "Допустимі значення: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." + +msgid "Coupling Widget Variables" +msgstr "З’єднання змінних віджетів" + +msgid "" +"The current-value setting of some widgets (like text entry widgets) can be " +"connected directly to application variables by using special options. These " +"options are ``variable``, ``textvariable``, ``onvalue``, ``offvalue``, and " +"``value``. This connection works both ways: if the variable changes for any " +"reason, the widget it's connected to will be updated to reflect the new " +"value." +msgstr "" +"Налаштування поточного значення деяких віджетів (наприклад, віджетів для " +"введення тексту) можна підключити безпосередньо до змінних програми за " +"допомогою спеціальних параметрів. Ці параметри: ``variable``, " +"``textvariable``, ``onvalue``, ``offvalue`` і ``value``. Це підключення " +"працює в обох напрямках: якщо змінна змінюється з будь-якої причини, віджет, " +"до якого вона підключена, буде оновлено, щоб відобразити нове значення." + +msgid "" +"Unfortunately, in the current implementation of :mod:`tkinter` it is not " +"possible to hand over an arbitrary Python variable to a widget through a " +"``variable`` or ``textvariable`` option. The only kinds of variables for " +"which this works are variables that are subclassed from a class called " +"Variable, defined in :mod:`tkinter`." +msgstr "" +"На жаль, у поточній реалізації :mod:`tkinter` неможливо передати довільну " +"змінну Python у віджет за допомогою опції ``variable`` або ``textvariable``. " +"Єдині типи змінних, для яких це працює, це змінні, які є підкласами класу " +"під назвою Variable, визначеного в :mod:`tkinter`." + +msgid "" +"There are many useful subclasses of Variable already defined: :class:" +"`StringVar`, :class:`IntVar`, :class:`DoubleVar`, and :class:`BooleanVar`. " +"To read the current value of such a variable, call the :meth:`get` method on " +"it, and to change its value you call the :meth:`!set` method. If you follow " +"this protocol, the widget will always track the value of the variable, with " +"no further intervention on your part." +msgstr "" +"Уже визначено багато корисних підкласів Variable: :class:`StringVar`, :class:" +"`IntVar`, :class:`DoubleVar` і :class:`BooleanVar`. Щоб прочитати поточне " +"значення такої змінної, викличте для неї метод :meth:`get`, а щоб змінити її " +"значення, викличте метод :meth:`!set`. Якщо ви дотримуєтеся цього протоколу, " +"віджет завжди відстежуватиме значення змінної без подальшого втручання з " +"вашого боку." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "The Window Manager" +msgstr "Менеджер вікон" + +msgid "" +"In Tk, there is a utility command, ``wm``, for interacting with the window " +"manager. Options to the ``wm`` command allow you to control things like " +"titles, placement, icon bitmaps, and the like. In :mod:`tkinter`, these " +"commands have been implemented as methods on the :class:`Wm` class. " +"Toplevel widgets are subclassed from the :class:`Wm` class, and so can call " +"the :class:`Wm` methods directly." +msgstr "" +"У Tk є службова команда ``wm`` для взаємодії з менеджером вікон. Параметри " +"команди ``wm`` дозволяють керувати такими речами, як заголовки, " +"розташування, растрові зображення піктограм тощо. У :mod:`tkinter` ці " +"команди реалізовано як методи класу :class:`Wm`. Віджети верхнього рівня є " +"підкласами класу :class:`Wm`, тому можуть безпосередньо викликати методи :" +"class:`Wm`." + +msgid "" +"To get at the toplevel window that contains a given widget, you can often " +"just refer to the widget's master. Of course if the widget has been packed " +"inside of a frame, the master won't represent a toplevel window. To get at " +"the toplevel window that contains an arbitrary widget, you can call the :" +"meth:`_root` method. This method begins with an underscore to denote the " +"fact that this function is part of the implementation, and not an interface " +"to Tk functionality." +msgstr "" +"Щоб отримати доступ до вікна верхнього рівня, яке містить даний віджет, ви " +"часто можете просто звернутися до майстра віджета. Звичайно, якщо віджет " +"було упаковано всередину фрейму, майстер не представлятиме вікно верхнього " +"рівня. Щоб отримати доступ до вікна верхнього рівня, яке містить довільний " +"віджет, ви можете викликати метод :meth:`_root`. Цей метод починається з " +"підкреслення, щоб позначити той факт, що ця функція є частиною реалізації, а " +"не інтерфейсом до функціональності Tk." + +msgid "Here are some examples of typical usage::" +msgstr "Ось кілька прикладів типового використання:" + +msgid "Tk Option Data Types" +msgstr "Типи даних параметрів Tk" + +msgid "" +"Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``" +"\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also ``\"center" +"\"``." +msgstr "" +"Правовими значеннями є точки компаса: ``\"n\"``, ``\"ne\"``, ``\"e\"``, ``" +"\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, а також ``\"center" +"\"``." + +msgid "bitmap" +msgstr "растрове зображення" + +msgid "" +"There are eight built-in, named bitmaps: ``'error'``, ``'gray25'``, " +"``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, " +"``'warning'``. To specify an X bitmap filename, give the full path to the " +"file, preceded with an ``@``, as in ``\"@/usr/contrib/bitmap/gumby.bit\"``." +msgstr "" +"Є вісім вбудованих іменованих растрових зображень: ``'error'``, " +"``'gray25'``, ``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, " +"``'питання'``, ``'попередження''``. Щоб вказати ім’я файлу растрового " +"зображення X, укажіть повний шлях до файлу, перед яким стоїть ``@``, як у ``" +"\"@/usr/contrib/bitmap/gumby.bit\"``." + +msgid "boolean" +msgstr "логічний" + +msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." +msgstr "" +"Ви можете передати цілі числа 0 або 1 або рядки ``\"yes\"`` чи ``\"no\"``." + +msgid "callback" +msgstr "зворотній дзвінок" + +msgid "This is any Python function that takes no arguments. For example::" +msgstr "Це будь-яка функція Python, яка не приймає аргументів. Наприклад::" + +msgid "color" +msgstr "колір" + +msgid "" +"Colors can be given as the names of X colors in the rgb.txt file, or as " +"strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: ``\"#RRGGBB" +"\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: ``\"#RRRRGGGGBBBB\"`` ranges, " +"where R,G,B here represent any legal hex digit. See page 160 of " +"Ousterhout's book for details." +msgstr "" +"Кольори можна вказати як назви кольорів X у файлі rgb.txt або як рядки, що " +"представляють значення RGB у 4 бітах: ``\"#RGB\"``, 8 бітах: ``\"#RRGGBB" +"\"``, 12 бітах : ``\"#RRRGGGBBB\"``, або 16 біт: ``\"#RRRRGGGBBBB\"`` " +"діапазони, де R, G, B тут представляють будь-яку допустиму шістнадцяткову " +"цифру. Подробиці дивіться на сторінці 160 книги Оустерхаута." + +msgid "cursor" +msgstr "курсор" + +msgid "" +"The standard X cursor names from :file:`cursorfont.h` can be used, without " +"the ``XC_`` prefix. For example to get a hand cursor (:const:`XC_hand2`), " +"use the string ``\"hand2\"``. You can also specify a bitmap and mask file " +"of your own. See page 179 of Ousterhout's book." +msgstr "" +"Можна використовувати стандартні імена курсорів X із :file:`cursorfont.h` " +"без префікса ``XC_``. Наприклад, щоб отримати курсор руки (:const:" +"`XC_hand2`), використовуйте рядок ``\"hand2\"``. Ви також можете вказати " +"власний растровий файл і файл маски. Дивіться сторінку 179 книги Оустерхаута." + +msgid "distance" +msgstr "відстань" + +msgid "" +"Screen distances can be specified in either pixels or absolute distances. " +"Pixels are given as numbers and absolute distances as strings, with the " +"trailing character denoting units: ``c`` for centimetres, ``i`` for inches, " +"``m`` for millimetres, ``p`` for printer's points. For example, 3.5 inches " +"is expressed as ``\"3.5i\"``." +msgstr "" +"Відстань до екрана можна вказати як у пікселях, так і в абсолютних " +"відстанях. Пікселі подаються у вигляді чисел, а абсолютні відстані – у " +"вигляді рядків із кінцевим символом, що позначає одиниці: ``c`` для " +"сантиметрів, ``i`` для дюймів, ``m`` для міліметрів, ``p`` для точок " +"принтера . Наприклад, 3,5 дюйма виражається як ``\"3,5i\"``." + +msgid "font" +msgstr "шрифт" + +msgid "" +"Tk uses a list font name format, such as ``{courier 10 bold}``. Font sizes " +"with positive numbers are measured in points; sizes with negative numbers " +"are measured in pixels." +msgstr "" +"Tk використовує формат назви шрифту списку, наприклад ``{courier 10 bold}``. " +"Розмір шрифту з додатними числами вимірюється в пунктах; розміри з " +"від’ємними числами вимірюються в пікселях." + +msgid "geometry" +msgstr "геометрія" + +msgid "" +"This is a string of the form ``widthxheight``, where width and height are " +"measured in pixels for most widgets (in characters for widgets displaying " +"text). For example: ``fred[\"geometry\"] = \"200x100\"``." +msgstr "" +"Це рядок у формі ``ширинаxвисота``, де ширина та висота вимірюються в " +"пікселях для більшості віджетів (у символах для віджетів, що відображають " +"текст). Наприклад: ``fred[\"geometry\"] = \"200x100\"``." + +msgid "justify" +msgstr "виправдати" + +msgid "" +"Legal values are the strings: ``\"left\"``, ``\"center\"``, ``\"right\"``, " +"and ``\"fill\"``." +msgstr "" +"Правильними значеннями є рядки: ``\"left\"``, ``\"center\"``, ``\"right\"`` " +"і ``\"fill\"``." + +msgid "region" +msgstr "область" + +msgid "" +"This is a string with four space-delimited elements, each of which is a " +"legal distance (see above). For example: ``\"2 3 4 5\"`` and ``\"3i 2i 4.5i " +"2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all legal regions." +msgstr "" +"Це рядок із чотирма розділеними пробілами елементами, кожен із яких є " +"допустимою відстанню (див. вище). Наприклад: ``\"2 3 4 5\"`` і ``\"3i 2i " +"4.5i 2i\"`` і ``\"3c 2c 4c 10.43c\"`` є законними регіонами." + +msgid "relief" +msgstr "полегшення" + +msgid "" +"Determines what the border style of a widget will be. Legal values are: ``" +"\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, and ``\"ridge" +"\"``." +msgstr "" +"Визначає, яким буде стиль межі віджета. Допустимі значення: ``\"піднятий" +"\"``, ``\"заглиблений\"``, ``\"плоский\"``, ``\"канавка\"`` і ``\"гребінь" +"\"``." + +msgid "scrollcommand" +msgstr "команда прокручування" + +msgid "" +"This is almost always the :meth:`!set` method of some scrollbar widget, but " +"can be any widget method that takes a single argument." +msgstr "" +"Це майже завжди метод :meth:`!set` якогось віджета смуги прокрутки, але це " +"може бути будь-який метод віджета, який приймає один аргумент." + +msgid "wrap" +msgstr "загорнути" + +msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." +msgstr "Має бути одне з: ``\"none\"``, ``\"char\"`` або ``\"word\"``." + +msgid "Bindings and Events" +msgstr "Прив'язки та події" + +msgid "" +"The bind method from the widget command allows you to watch for certain " +"events and to have a callback function trigger when that event type occurs. " +"The form of the bind method is::" +msgstr "" +"Метод прив’язки з команди віджета дозволяє спостерігати за певними подіями " +"та запускати функцію зворотного виклику, коли відбувається подія такого " +"типу. Форма методу прив’язки:" + +msgid "where:" +msgstr "де:" + +msgid "sequence" +msgstr "послідовність" + +msgid "" +"is a string that denotes the target kind of event. (See the :manpage:" +"`bind(3tk)` man page, and page 201 of John Ousterhout's book, :title-" +"reference:`Tcl and the Tk Toolkit (2nd edition)`, for details)." +msgstr "" +"це рядок, який позначає цільовий тип події. (Докладніше див. сторінку " +"довідки :manpage:`bind(3tk)` і сторінку 201 книги Джона Оустерхаута :title-" +"reference:`Tcl and the Tk Toolkit (2nd edition)`)." + +msgid "func" +msgstr "функц" + +msgid "" +"is a Python function, taking one argument, to be invoked when the event " +"occurs. An Event instance will be passed as the argument. (Functions " +"deployed this way are commonly known as *callbacks*.)" +msgstr "" +"це функція Python, яка приймає один аргумент, який викликається, коли " +"відбувається подія. Екземпляр події буде передано як аргумент. (Функції, " +"розгорнуті таким чином, широко відомі як *зворотні виклики*.)" + +msgid "add" +msgstr "додати" + +msgid "" +"is optional, either ``''`` or ``'+'``. Passing an empty string denotes that " +"this binding is to replace any other bindings that this event is associated " +"with. Passing a ``'+'`` means that this function is to be added to the list " +"of functions bound to this event type." +msgstr "" +"є необов’язковим, або ``''`` або ``'+'``. Передача порожнього рядка означає, " +"що ця прив’язка має замінити будь-які інші прив’язки, з якими пов’язана ця " +"подія. Передача ``'+'`` означає, що цю функцію потрібно додати до списку " +"функцій, пов’язаних із цим типом події." + +msgid "" +"Notice how the widget field of the event is being accessed in the " +"``turn_red()`` callback. This field contains the widget that caught the X " +"event. The following table lists the other event fields you can access, and " +"how they are denoted in Tk, which can be useful when referring to the Tk man " +"pages." +msgstr "" +"Зверніть увагу, як у зворотному виклику ``turn_red()`` здійснюється доступ " +"до поля віджета події. Це поле містить віджет, який перехопив подію X. У " +"наведеній нижче таблиці перераховано інші поля подій, до яких ви можете " +"отримати доступ, і те, як вони позначаються в Tk, що може бути корисним під " +"час звернення до довідкових сторінок Tk." + +msgid "Tkinter Event Field" +msgstr "Поле подій Tkinter" + +msgid "%f" +msgstr "%f" + +msgid "focus" +msgstr "фокус" + +msgid "%A" +msgstr "%A" + +msgid "char" +msgstr "char" + +msgid "%h" +msgstr "%h" + +msgid "height" +msgstr "висота" + +msgid "%E" +msgstr "%E" + +msgid "send_event" +msgstr "send_event" + +msgid "%k" +msgstr "%k" + +msgid "keycode" +msgstr "код ключа" + +msgid "%K" +msgstr "%K" + +msgid "keysym" +msgstr "keysym" + +msgid "%s" +msgstr "%s" + +msgid "state" +msgstr "стан" + +msgid "%N" +msgstr "%N" + +msgid "keysym_num" +msgstr "keysym_num" + +msgid "%t" +msgstr "%t" + +msgid "time" +msgstr "час" + +msgid "%T" +msgstr "%T" + +msgid "type" +msgstr "типу" + +msgid "%w" +msgstr "%w" + +msgid "width" +msgstr "ширина" + +msgid "%W" +msgstr "%W" + +msgid "widget" +msgstr "віджет" + +msgid "%x" +msgstr "%x" + +msgid "x" +msgstr "x" + +msgid "%X" +msgstr "%X" + +msgid "x_root" +msgstr "x_root" + +msgid "%y" +msgstr "%y" + +msgid "y" +msgstr "р" + +msgid "%Y" +msgstr "%Y" + +msgid "y_root" +msgstr "y_root" + +msgid "The index Parameter" +msgstr "Параметр індексу" + +msgid "" +"A number of widgets require \"index\" parameters to be passed. These are " +"used to point at a specific place in a Text widget, or to particular " +"characters in an Entry widget, or to particular menu items in a Menu widget." +msgstr "" +"Кілька віджетів потребують передачі параметрів \"index\". Вони " +"використовуються для вказівки на певне місце у віджеті \"Текст\", або на " +"певні символи у віджеті \"Вхід\", або на певні пункти меню у віджеті \"Меню" +"\"." + +msgid "Entry widget indexes (index, view index, etc.)" +msgstr "Індекси віджетів запису (індекс, індекс перегляду тощо)" + +msgid "" +"Entry widgets have options that refer to character positions in the text " +"being displayed. You can use these :mod:`tkinter` functions to access these " +"special points in text widgets:" +msgstr "" +"Віджети запису мають параметри, які стосуються позицій символів у тексті, що " +"відображається. Ви можете використовувати ці функції :mod:`tkinter` для " +"доступу до цих спеціальних пунктів у текстових віджетах:" + +msgid "Text widget indexes" +msgstr "Індекси текстових віджетів" + +msgid "" +"The index notation for Text widgets is very rich and is best described in " +"the Tk man pages." +msgstr "" +"Нотація покажчика для текстових віджетів дуже багата і найкраще описана на " +"сторінках керівництва Tk." + +msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" +msgstr "Індекси меню (menu.invoke(), menu.entryconfig() тощо)" + +msgid "" +"Some options and methods for menus manipulate specific menu entries. Anytime " +"a menu index is needed for an option or a parameter, you may pass in:" +msgstr "" +"Деякі параметри та методи для меню маніпулюють певними записами меню. " +"Щоразу, коли для опції чи параметра потрібен індекс меню, ви можете передати:" + +msgid "" +"an integer which refers to the numeric position of the entry in the widget, " +"counted from the top, starting with 0;" +msgstr "" +"ціле число, яке відноситься до числової позиції запису у віджеті, починаючи " +"з 0;" + +msgid "" +"the string ``\"active\"``, which refers to the menu position that is " +"currently under the cursor;" +msgstr "" +"рядок ``\"active\"``, який посилається на позицію меню, яка зараз " +"знаходиться під курсором;" + +msgid "the string ``\"last\"`` which refers to the last menu item;" +msgstr "рядок ``\"last\"``, який посилається на останній пункт меню;" + +msgid "" +"An integer preceded by ``@``, as in ``@6``, where the integer is interpreted " +"as a y pixel coordinate in the menu's coordinate system;" +msgstr "" +"Ціле число, якому передує ``@``, як у ``@6``, де ціле число інтерпретується " +"як координата y пікселя в системі координат меню;" + +msgid "" +"the string ``\"none\"``, which indicates no menu entry at all, most often " +"used with menu.activate() to deactivate all entries, and finally," +msgstr "" +"рядок ``\"none\"``, який вказує на те, що в меню взагалі немає запису, " +"найчастіше використовується з menu.activate(), щоб дезактивувати всі записи, " +"і, нарешті," + +msgid "" +"a text string that is pattern matched against the label of the menu entry, " +"as scanned from the top of the menu to the bottom. Note that this index " +"type is considered after all the others, which means that matches for menu " +"items labelled ``last``, ``active``, or ``none`` may be interpreted as the " +"above literals, instead." +msgstr "" +"текстовий рядок, який зіставляється з міткою запису меню, відсканований від " +"верхньої частини меню донизу. Зауважте, що цей тип індексу розглядається " +"після всіх інших, що означає, що збіги для пунктів меню, позначених як " +"``останній``, ``активний`` або ``жоден``, замість цього можуть " +"інтерпретуватися як наведені вище літерали." + +msgid "Images" +msgstr "Зображення" + +msgid "" +"Images of different formats can be created through the corresponding " +"subclass of :class:`tkinter.Image`:" +msgstr "" +"Зображення різних форматів можна створювати за допомогою відповідного " +"підкласу :class:`tkinter.Image`:" + +msgid ":class:`BitmapImage` for images in XBM format." +msgstr ":class:`BitmapImage` для зображень у форматі XBM." + +msgid "" +":class:`PhotoImage` for images in PGM, PPM, GIF and PNG formats. The latter " +"is supported starting with Tk 8.6." +msgstr "" +":class:`PhotoImage` для зображень у форматах PGM, PPM, GIF і PNG. Останній " +"підтримується, починаючи з Tk 8.6." + +msgid "" +"Either type of image is created through either the ``file`` or the ``data`` " +"option (other options are available as well)." +msgstr "" +"Будь-який тип зображення створюється за допомогою параметра ``file`` або " +"``data`` (інші параметри також доступні)." + +msgid "" +"The image object can then be used wherever an ``image`` option is supported " +"by some widget (e.g. labels, buttons, menus). In these cases, Tk will not " +"keep a reference to the image. When the last Python reference to the image " +"object is deleted, the image data is deleted as well, and Tk will display an " +"empty box wherever the image was used." +msgstr "" +"Потім об’єкт зображення можна використовувати скрізь, де параметр ``image`` " +"підтримується деяким віджетом (наприклад, мітки, кнопки, меню). У цих " +"випадках Tk не зберігатиме посилання на зображення. Коли останнє посилання " +"Python на об’єкт зображення видаляється, дані зображення також видаляються, " +"і Tk відображатиме порожнє поле, де б зображення не використовувалося." + +msgid "" +"The `Pillow `_ package adds support for formats " +"such as BMP, JPEG, TIFF, and WebP, among others." +msgstr "" + +msgid "File Handlers" +msgstr "Обробники файлів" + +msgid "" +"Tk allows you to register and unregister a callback function which will be " +"called from the Tk mainloop when I/O is possible on a file descriptor. Only " +"one handler may be registered per file descriptor. Example code::" +msgstr "" +"Tk дозволяє вам зареєструвати та скасувати реєстрацію функції зворотного " +"виклику, яка буде викликана з основного циклу Tk, коли введення/виведення " +"можливе для дескриптора файлу. Для кожного дескриптора файлу можна " +"зареєструвати лише один обробник. Приклад коду::" + +msgid "This feature is not available on Windows." +msgstr "Ця функція недоступна в Windows." + +msgid "" +"Since you don't know how many bytes are available for reading, you may not " +"want to use the :class:`~io.BufferedIOBase` or :class:`~io.TextIOBase` :meth:" +"`~io.BufferedIOBase.read` or :meth:`~io.IOBase.readline` methods, since " +"these will insist on reading a predefined number of bytes. For sockets, the :" +"meth:`~socket.socket.recv` or :meth:`~socket.socket.recvfrom` methods will " +"work fine; for other files, use raw reads or ``os.read(file.fileno(), " +"maxbytecount)``." +msgstr "" +"Оскільки ви не знаєте, скільки байтів доступно для читання, ви можете не " +"використовувати :class:`~io.BufferedIOBase` або :class:`~io.TextIOBase` :" +"meth:`~io.BufferedIOBase.read` або :meth:`~io.IOBase.readline` методи, " +"оскільки вони наполягатимуть на читанні заздалегідь визначеної кількості " +"байтів. Для сокетів добре працюватимуть методи :meth:`~socket.socket.recv` " +"або :meth:`~socket.socket.recvfrom`; для інших файлів використовуйте " +"необроблені читання або ``os.read(file.fileno(), maxbytecount)``." + +msgid "" +"Registers the file handler callback function *func*. The *file* argument may " +"either be an object with a :meth:`~io.IOBase.fileno` method (such as a file " +"or socket object), or an integer file descriptor. The *mask* argument is an " +"ORed combination of any of the three constants below. The callback is called " +"as follows::" +msgstr "" +"Реєструє функцію зворотного виклику обробника файлів *func*. Аргумент *file* " +"може бути або об’єктом із методом :meth:`~io.IOBase.fileno` (наприклад, " +"об’єкт файл або сокет), або цілочисельним дескриптором файлу. Аргумент " +"*mask* — це комбінація будь-якої з трьох констант, наведених нижче. " +"Зворотний виклик викликається наступним чином:" + +msgid "Unregisters a file handler." +msgstr "Скасовує реєстрацію обробника файлів." + +msgid "Constants used in the *mask* arguments." +msgstr "Константи, що використовуються в аргументах *mask*." diff --git a/library/tkinter_colorchooser.po b/library/tkinter_colorchooser.po new file mode 100644 index 000000000..bafde530e --- /dev/null +++ b/library/tkinter_colorchooser.po @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.colorchooser` --- Color choosing dialog" +msgstr ":mod:`tkinter.colorchooser` --- Діалогове вікно вибору кольору" + +msgid "**Source code:** :source:`Lib/tkinter/colorchooser.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/colorchooser.py`" + +msgid "" +"The :mod:`tkinter.colorchooser` module provides the :class:`Chooser` class " +"as an interface to the native color picker dialog. ``Chooser`` implements a " +"modal color choosing dialog window. The ``Chooser`` class inherits from the :" +"class:`~tkinter.commondialog.Dialog` class." +msgstr "" +"Модуль :mod:`tkinter.colorchooser` надає клас :class:`Chooser` як інтерфейс " +"до рідного діалогового вікна вибору кольорів. ``Chooser`` реалізує модальне " +"діалогове вікно вибору кольору. Клас ``Chooser`` успадковує клас :class:" +"`~tkinter.commondialog.Dialog`." + +msgid "" +"Create a color choosing dialog. A call to this method will show the window, " +"wait for the user to make a selection, and return the selected color (or " +"``None``) to the caller." +msgstr "" +"Створіть діалогове вікно вибору кольору. Виклик цього методу покаже вікно, " +"зачекає, доки користувач зробить вибір, і поверне вибраний колір (або " +"``None``) абоненту." + +msgid "Module :mod:`tkinter.commondialog`" +msgstr "Модуль :mod:`tkinter.commondialog`" + +msgid "Tkinter standard dialog module" +msgstr "Стандартний діалоговий модуль Tkinter" diff --git a/library/tkinter_dnd.po b/library/tkinter_dnd.po new file mode 100644 index 000000000..425f6f051 --- /dev/null +++ b/library/tkinter_dnd.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.dnd` --- Drag and drop support" +msgstr ":mod:`tkinter.dnd` --- Підтримка перетягування" + +msgid "**Source code:** :source:`Lib/tkinter/dnd.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/dnd.py`" + +msgid "" +"This is experimental and due to be deprecated when it is replaced with the " +"Tk DND." +msgstr "" +"Це є експериментальним і має бути застарілим, коли його буде замінено на Tk " +"DND." + +msgid "" +"The :mod:`tkinter.dnd` module provides drag-and-drop support for objects " +"within a single application, within the same window or between windows. To " +"enable an object to be dragged, you must create an event binding for it that " +"starts the drag-and-drop process. Typically, you bind a ButtonPress event to " +"a callback function that you write (see :ref:`Bindings-and-Events`). The " +"function should call :func:`dnd_start`, where 'source' is the object to be " +"dragged, and 'event' is the event that invoked the call (the argument to " +"your callback function)." +msgstr "" +"Модуль :mod:`tkinter.dnd` забезпечує підтримку перетягування об’єктів в " +"одній програмі, в одному вікні або між вікнами. Щоб увімкнути перетягування " +"об’єкта, необхідно створити для нього прив’язку події, яка запускає процес " +"перетягування. Як правило, ви прив’язуєте подію ButtonPress до функції " +"зворотного виклику, яку ви пишете (див. :ref:`Bindings-and-Events`). Функція " +"має викликати :func:`dnd_start`, де \"source\" — це об’єкт, який потрібно " +"перетягнути, а \"event\" — це подія, яка викликала виклик (аргумент вашої " +"функції зворотного виклику)." + +msgid "Selection of a target object occurs as follows:" +msgstr "Вибір цільового об'єкта відбувається наступним чином:" + +msgid "Top-down search of area under mouse for target widget" +msgstr "Пошук зверху вниз області під курсором миші для цільового віджета" + +msgid "Target widget should have a callable *dnd_accept* attribute" +msgstr "" +"Цільовий віджет повинен мати атрибут *dnd_accept*, який можна викликати" + +msgid "" +"If *dnd_accept* is not present or returns None, search moves to parent widget" +msgstr "" +"Якщо *dnd_accept* відсутній або повертає None, пошук переходить до " +"батьківського віджета" + +msgid "If no target widget is found, then the target object is None" +msgstr "Якщо цільовий віджет не знайдено, то цільовим об’єктом є None" + +msgid "Call to *.dnd_leave(source, event)*" +msgstr "Виклик * .dnd_leave(джерело, подія)*" + +msgid "Call to *.dnd_enter(source, event)*" +msgstr "Виклик * .dnd_enter(джерело, подія)*" + +msgid "Call to *.dnd_commit(source, event)* to notify of drop" +msgstr "" +"Зателефонуйте на номер * .dnd_commit(джерело, подія)*, щоб " +"повідомити про скидання" + +msgid "" +"Call to *.dnd_end(target, event)* to signal end of drag-and-drop" +msgstr "" +"Виклик * .dnd_end(target, event)*, щоб повідомити про закінчення " +"перетягування" + +msgid "" +"The *DndHandler* class handles drag-and-drop events tracking Motion and " +"ButtonRelease events on the root of the event widget." +msgstr "" +"Клас *DndHandler* обробляє події перетягування та відстеження подій Motion і " +"ButtonRelease у корені віджета події." + +msgid "Cancel the drag-and-drop process." +msgstr "Скасуйте процес перетягування." + +msgid "Execute end of drag-and-drop functions." +msgstr "Виконати кінець функцій перетягування." + +msgid "Inspect area below mouse for target objects while drag is performed." +msgstr "" +"Під час перетягування перевірте область під мишею на наявність цільових " +"об’єктів." + +msgid "Signal end of drag when the release pattern is triggered." +msgstr "Сигнал про кінець перетягування, коли спрацьовує схема випуску." + +msgid "Factory function for drag-and-drop process." +msgstr "Заводська функція для процесу перетягування." + +msgid ":ref:`Bindings-and-Events`" +msgstr ":ref:`Bindings-and-Events`" diff --git a/library/tkinter_font.po b/library/tkinter_font.po new file mode 100644 index 000000000..ccd400e6b --- /dev/null +++ b/library/tkinter_font.po @@ -0,0 +1,156 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.font` --- Tkinter font wrapper" +msgstr ":mod:`tkinter.font` --- оболонка шрифту Tkinter" + +msgid "**Source code:** :source:`Lib/tkinter/font.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/font.py`" + +msgid "" +"The :mod:`tkinter.font` module provides the :class:`Font` class for creating " +"and using named fonts." +msgstr "" +"Модуль :mod:`tkinter.font` надає клас :class:`Font` для створення та " +"використання іменованих шрифтів." + +msgid "The different font weights and slants are:" +msgstr "Різні щільність і нахил шрифту:" + +msgid "" +"The :class:`Font` class represents a named font. *Font* instances are given " +"unique names and can be specified by their family, size, and style " +"configuration. Named fonts are Tk's method of creating and identifying fonts " +"as a single object, rather than specifying a font by its attributes with " +"each occurrence." +msgstr "" +"Клас :class:`Font` представляє іменований шрифт. Екземплярам *Font* " +"присвоюються унікальні імена, і їх можна вказати за їх сімейством, розміром " +"і конфігурацією стилю. Іменовані шрифти — це метод Tk для створення та " +"ідентифікації шрифтів як єдиного об’єкта, а не визначення шрифту за його " +"атрибутами при кожному входженні." + +msgid "arguments:" +msgstr "аргументи:" + +msgid "*font* - font specifier tuple (family, size, options)" +msgstr "*font* - кортеж специфікатора шрифту (сімейство, розмір, параметри)" + +msgid "*name* - unique font name" +msgstr "*name* - унікальна назва шрифту" + +msgid "*exists* - self points to existing named font if true" +msgstr "*exists* - сам вказує на існуючий іменований шрифт, якщо істинно" + +msgid "additional keyword options (ignored if *font* is specified):" +msgstr "" +"додаткові параметри ключового слова (ігноруються, якщо вказано *font*):" + +msgid "*family* - font family i.e. Courier, Times" +msgstr "*сімейство* - сімейство шрифтів, наприклад Courier, Times" + +msgid "*size* - font size" +msgstr "*size* - розмір шрифту" + +msgid "If *size* is positive it is interpreted as size in points." +msgstr "Якщо *size* є додатним, це інтерпретується як розмір у балах." + +msgid "If *size* is a negative number its absolute value is treated" +msgstr "Якщо *розмір* є від’ємним числом, обробляється його абсолютне значення" + +msgid "as size in pixels." +msgstr "як розмір у пікселях." + +msgid "*weight* - font emphasis (NORMAL, BOLD)" +msgstr "*вага* - виділення шрифту (NORMAL, BOLD)" + +msgid "*slant* - ROMAN, ITALIC" +msgstr "*нахил* - РИМСЬКИЙ, КУРСИВ" + +msgid "*underline* - font underlining (0 - none, 1 - underline)" +msgstr "*підкреслення* - підкреслення шрифту (0 - немає, 1 - підкреслення)" + +msgid "*overstrike* - font strikeout (0 - none, 1 - strikeout)" +msgstr "*overstrike* - закреслення шрифту (0 - немає, 1 - закреслення)" + +msgid "Return the attributes of the font." +msgstr "Повертає атрибути шрифту." + +msgid "Retrieve an attribute of the font." +msgstr "Отримати атрибут шрифту." + +msgid "Modify attributes of the font." +msgstr "Змінити атрибути шрифту." + +msgid "Return new instance of the current font." +msgstr "Повернути новий екземпляр поточного шрифту." + +msgid "" +"Return amount of space the text would occupy on the specified display when " +"formatted in the current font. If no display is specified then the main " +"application window is assumed." +msgstr "" +"Повертає обсяг простору, який текст займав би на вказаному дисплеї за умови " +"форматування поточним шрифтом. Якщо дисплей не вказано, передбачається, що " +"головне вікно програми." + +msgid "Return font-specific data. Options include:" +msgstr "Повертає дані про шрифт. Опції включають:" + +msgid "*ascent* - distance between baseline and highest point that a" +msgstr "*підйом* - відстань між базовою лінією та найвищою точкою, що a" + +msgid "character of the font can occupy" +msgstr "символ шрифту може займати" + +msgid "*descent* - distance between baseline and lowest point that a" +msgstr "*спуск* - відстань між базовою лінією та найнижчою точкою, що a" + +msgid "*linespace* - minimum vertical separation necessary between any two" +msgstr "" +"*linespace* - мінімальний вертикальний відрив, необхідний між будь-якими " +"двома" + +msgid "characters of the font that ensures no vertical overlap between lines." +msgstr "" +"символи шрифту, який забезпечує відсутність вертикального перекриття між " +"рядками." + +msgid "*fixed* - 1 if font is fixed-width else 0" +msgstr "*фіксований* - 1, якщо шрифт має фіксовану ширину, інакше 0" + +msgid "Return the different font families." +msgstr "Повернути різні сімейства шрифтів." + +msgid "Return the names of defined fonts." +msgstr "Повертає назви визначених шрифтів." + +msgid "Return a :class:`Font` representation of a tk named font." +msgstr "Повертає :class:`Font` представлення tk названого шрифту." + +msgid "The *root* parameter was added." +msgstr "Додано параметр *root*." diff --git a/library/tkinter_messagebox.po b/library/tkinter_messagebox.po new file mode 100644 index 000000000..e301c347e --- /dev/null +++ b/library/tkinter_messagebox.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.messagebox` --- Tkinter message prompts" +msgstr ":mod:`tkinter.messagebox` --- підказки повідомлення Tkinter" + +msgid "**Source code:** :source:`Lib/tkinter/messagebox.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/messagebox.py`" + +msgid "" +"The :mod:`tkinter.messagebox` module provides a template base class as well " +"as a variety of convenience methods for commonly used configurations. The " +"message boxes are modal and will return a subset of (True, False, OK, None, " +"Yes, No) based on the user's selection. Common message box styles and " +"layouts include but are not limited to:" +msgstr "" +"Модуль :mod:`tkinter.messagebox` надає базовий клас шаблону, а також низку " +"зручних методів для типових конфігурацій. Вікна повідомлень є модальними та " +"повертатимуть підмножину (Істина, Неправда, Добре, Ні, Так, Ні) на основі " +"вибору користувача. Загальні стилі та макети вікон повідомлень включають, " +"але не обмежуються:" + +msgid "Create a default information message box." +msgstr "Створіть стандартне вікно інформаційного повідомлення." + +msgid "**Information message box**" +msgstr "**Вікно інформаційного повідомлення**" + +msgid "**Warning message boxes**" +msgstr "**Вікна попереджувальних повідомлень**" + +msgid "**Question message boxes**" +msgstr "**Вікна запитань**" diff --git a/library/tkinter_scrolledtext.po b/library/tkinter_scrolledtext.po new file mode 100644 index 000000000..cca9503ea --- /dev/null +++ b/library/tkinter_scrolledtext.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.scrolledtext` --- Scrolled Text Widget" +msgstr ":mod:`tkinter.scrolledtext` --- Віджет прокрученого тексту" + +msgid "**Source code:** :source:`Lib/tkinter/scrolledtext.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/scrolledtext.py`" + +msgid "" +"The :mod:`tkinter.scrolledtext` module provides a class of the same name " +"which implements a basic text widget which has a vertical scroll bar " +"configured to do the \"right thing.\" Using the :class:`ScrolledText` class " +"is a lot easier than setting up a text widget and scroll bar directly." +msgstr "" +"Модуль :mod:`tkinter.scrolledtext` надає однойменний клас, який реалізує " +"базовий текстовий віджет, який має вертикальну смугу прокручування, " +"налаштовану на \"правильну дію\". Використовувати клас :class:`ScrolledText` " +"набагато легше, ніж безпосередньо налаштовувати текстовий віджет і смугу " +"прокрутки." + +msgid "" +"The text widget and scrollbar are packed together in a :class:`Frame`, and " +"the methods of the :class:`Grid` and :class:`Pack` geometry managers are " +"acquired from the :class:`Frame` object. This allows the :class:" +"`ScrolledText` widget to be used directly to achieve most normal geometry " +"management behavior." +msgstr "" +"Текстовий віджет і смуга прокрутки упаковані разом у :class:`Frame`, а " +"методи менеджерів геометрії :class:`Grid` і :class:`Pack` отримані з " +"об’єкта :class:`Frame`. Це дозволяє безпосередньо використовувати віджет :" +"class:`ScrolledText` для досягнення найбільш нормальної поведінки керування " +"геометрією." + +msgid "" +"Should more specific control be necessary, the following attributes are " +"available:" +msgstr "Якщо потрібен більш конкретний контроль, доступні такі атрибути:" + +msgid "The frame which surrounds the text and scroll bar widgets." +msgstr "Рамка, яка оточує текст і віджети смуги прокрутки." + +msgid "The scroll bar widget." +msgstr "Віджет смуги прокрутки." diff --git a/library/tkinter_tix.po b/library/tkinter_tix.po new file mode 100644 index 000000000..b1791b17d --- /dev/null +++ b/library/tkinter_tix.po @@ -0,0 +1,532 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.tix` --- Extension widgets for Tk" +msgstr ":mod:`tkinter.tix` --- Віджети розширення для Tk" + +msgid "**Source code:** :source:`Lib/tkinter/tix.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/tix.py`" + +msgid "" +"This Tk extension is unmaintained and should not be used in new code. Use :" +"mod:`tkinter.ttk` instead." +msgstr "" +"Це розширення Tk не підтримується, і його не слід використовувати в новому " +"коді. Замість цього використовуйте :mod:`tkinter.ttk`." + +msgid "" +"The :mod:`tkinter.tix` (Tk Interface Extension) module provides an " +"additional rich set of widgets. Although the standard Tk library has many " +"useful widgets, they are far from complete. The :mod:`tkinter.tix` library " +"provides most of the commonly needed widgets that are missing from standard " +"Tk: :class:`HList`, :class:`ComboBox`, :class:`Control` (a.k.a. SpinBox) and " +"an assortment of scrollable widgets. :mod:`tkinter.tix` also includes many " +"more widgets that are generally useful in a wide range of applications: :" +"class:`NoteBook`, :class:`FileEntry`, :class:`PanedWindow`, etc; there are " +"more than 40 of them." +msgstr "" +"Модуль :mod:`tkinter.tix` (розширення інтерфейсу Tk) надає додатковий " +"багатий набір віджетів. Хоча стандартна бібліотека Tk має багато корисних " +"віджетів, вони далеко не повні. Бібліотека :mod:`tkinter.tix` містить " +"більшість поширених віджетів, яких немає в стандартному Tk: :class:`HList`, :" +"class:`ComboBox`, :class:`Control` (він же SpinBox) і асортимент " +"прокручуваних віджетів. :mod:`tkinter.tix` також містить багато інших " +"віджетів, які зазвичай корисні в широкому діапазоні програм: :class:" +"`NoteBook`, :class:`FileEntry`, :class:`PanedWindow` тощо; їх більше 40." + +msgid "" +"With all these new widgets, you can introduce new interaction techniques " +"into applications, creating more useful and more intuitive user interfaces. " +"You can design your application by choosing the most appropriate widgets to " +"match the special needs of your application and users." +msgstr "" +"З усіма цими новими віджетами ви можете запроваджувати нові методи взаємодії " +"в програмах, створюючи більш корисні та інтуїтивно зрозумілі інтерфейси " +"користувача. Ви можете створити свою програму, вибравши найбільш відповідні " +"віджети відповідно до особливих потреб вашої програми та користувачів." + +msgid "`Tix Homepage `_" +msgstr "" + +msgid "" +"The home page for :mod:`Tix`. This includes links to additional " +"documentation and downloads." +msgstr "" +"Домашня сторінка для :mod:`Tix`. Це включає посилання на додаткову " +"документацію та завантаження." + +msgid "`Tix Man Pages `_" +msgstr "" + +msgid "On-line version of the man pages and reference material." +msgstr "Он-лайн версія сторінок керівництва та довідкових матеріалів." + +msgid "" +"`Tix Programming Guide `_" +msgstr "" + +msgid "On-line version of the programmer's reference material." +msgstr "Он-лайн версія довідкового матеріалу програміста." + +msgid "" +"`Tix Development Applications `_" +msgstr "" + +msgid "" +"Tix applications for development of Tix and Tkinter programs. Tide " +"applications work under Tk or Tkinter, and include :program:`TixInspect`, an " +"inspector to remotely modify and debug Tix/Tk/Tkinter applications." +msgstr "" +"Додатки Tix для розробки програм Tix і Tkinter. Програми Tide працюють під " +"Tk або Tkinter і включають :program:`TixInspect`, інспектор для віддаленої " +"зміни та налагодження програм Tix/Tk/Tkinter." + +msgid "Using Tix" +msgstr "Використання Tix" + +msgid "" +"Toplevel widget of Tix which represents mostly the main window of an " +"application. It has an associated Tcl interpreter." +msgstr "" +"Віджет верхнього рівня Tix, який представляє переважно головне вікно " +"програми. Він має асоційований інтерпретатор Tcl." + +msgid "" +"Classes in the :mod:`tkinter.tix` module subclasses the classes in the :mod:" +"`tkinter`. The former imports the latter, so to use :mod:`tkinter.tix` with " +"Tkinter, all you need to do is to import one module. In general, you can " +"just import :mod:`tkinter.tix`, and replace the toplevel call to :class:" +"`tkinter.Tk` with :class:`tix.Tk`::" +msgstr "" +"Класи в модулі :mod:`tkinter.tix` є підкласами класів у :mod:`tkinter`. " +"Перший імпортує другий, тому, щоб використовувати :mod:`tkinter.tix` з " +"Tkinter, усе, що вам потрібно зробити, це імпортувати один модуль. Загалом, " +"ви можете просто імпортувати :mod:`tkinter.tix` і замінити виклик верхнього " +"рівня до :class:`tkinter.Tk` на :class:`tix.Tk`::" + +msgid "" +"To use :mod:`tkinter.tix`, you must have the Tix widgets installed, usually " +"alongside your installation of the Tk widgets. To test your installation, " +"try the following::" +msgstr "" +"Щоб використовувати :mod:`tkinter.tix`, у вас повинні бути встановлені " +"віджети Tix, як правило, разом із встановленням віджетів Tk. Щоб перевірити " +"інсталяцію, спробуйте наступне:" + +msgid "Tix Widgets" +msgstr "Віджети Tix" + +msgid "" +"`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` repertoire." +msgstr "" + +msgid "Basic Widgets" +msgstr "Основні віджети" + +msgid "" +"A `Balloon `_ that pops up over a widget to provide help. When the user " +"moves the cursor inside a widget to which a Balloon widget has been bound, a " +"small pop-up window with a descriptive message will be shown on the screen." +msgstr "" + +msgid "" +"The `ButtonBox `_ widget creates a box of buttons, such as is commonly " +"used for ``Ok Cancel``." +msgstr "" + +msgid "" +"The `ComboBox `_ widget is similar to the combo box control in MS Windows. " +"The user can select a choice by either typing in the entry subwidget or " +"selecting from the listbox subwidget." +msgstr "" + +msgid "" +"The `Control `_ widget is also known as the :class:`SpinBox` widget. The " +"user can adjust the value by pressing the two arrow buttons or by entering " +"the value directly into the entry. The new value will be checked against the " +"user-defined upper and lower limits." +msgstr "" + +msgid "" +"The `LabelEntry `_ widget packages an entry widget and a label into one " +"mega widget. It can be used to simplify the creation of \"entry-form\" type " +"of interface." +msgstr "" + +msgid "" +"The `LabelFrame `_ widget packages a frame widget and a label into one " +"mega widget. To create widgets inside a LabelFrame widget, one creates the " +"new widgets relative to the :attr:`frame` subwidget and manage them inside " +"the :attr:`frame` subwidget." +msgstr "" + +msgid "" +"The `Meter `_ widget can be used to show the progress of a background job " +"which may take a long time to execute." +msgstr "" + +msgid "" +"The `OptionMenu `_ creates a menu button of options." +msgstr "" + +msgid "" +"The `PopupMenu `_ widget can be used as a replacement of the ``tk_popup`` " +"command. The advantage of the :mod:`Tix` :class:`PopupMenu` widget is it " +"requires less application code to manipulate." +msgstr "" + +msgid "" +"The `Select `_ widget is a container of button subwidgets. It can be used " +"to provide radio-box or check-box style of selection options for the user." +msgstr "" + +msgid "" +"The `StdButtonBox `_ widget is a group of standard buttons for Motif-like " +"dialog boxes." +msgstr "" + +msgid "File Selectors" +msgstr "Селектори файлів" + +msgid "" +"The `DirList `_ widget displays a list view of a directory, its previous " +"directories and its sub-directories. The user can choose one of the " +"directories displayed in the list or change to another directory." +msgstr "" + +msgid "" +"The `DirTree `_ widget displays a tree view of a directory, its previous " +"directories and its sub-directories. The user can choose one of the " +"directories displayed in the list or change to another directory." +msgstr "" + +msgid "" +"The `DirSelectDialog `_ widget presents the directories in the file " +"system in a dialog window. The user can use this dialog window to navigate " +"through the file system to select the desired directory." +msgstr "" + +msgid "" +"The :class:`DirSelectBox` is similar to the standard Motif(TM) directory-" +"selection box. It is generally used for the user to choose a directory. " +"DirSelectBox stores the directories mostly recently selected into a ComboBox " +"widget so that they can be quickly selected again." +msgstr "" +":class:`DirSelectBox` подібний до стандартного вікна вибору каталогу " +"Motif(TM). Зазвичай він використовується для вибору користувачем каталогу. " +"DirSelectBox зберігає в основному нещодавно вибрані каталоги у віджеті " +"ComboBox, щоб їх можна було швидко вибрати знову." + +msgid "" +"The `ExFileSelectBox `_ widget is usually embedded in a " +"tixExFileSelectDialog widget. It provides a convenient method for the user " +"to select files. The style of the :class:`ExFileSelectBox` widget is very " +"similar to the standard file dialog on MS Windows 3.1." +msgstr "" + +msgid "" +"The `FileSelectBox `_ is similar to the standard Motif(TM) file-selection " +"box. It is generally used for the user to choose a file. FileSelectBox " +"stores the files mostly recently selected into a :class:`ComboBox` widget so " +"that they can be quickly selected again." +msgstr "" + +msgid "" +"The `FileEntry `_ widget can be used to input a filename. The user can " +"type in the filename manually. Alternatively, the user can press the button " +"widget that sits next to the entry, which will bring up a file selection " +"dialog." +msgstr "" + +msgid "Hierarchical ListBox" +msgstr "Ієрархічний ListBox" + +msgid "" +"The `HList `_ widget can be used to display any data that have a " +"hierarchical structure, for example, file system directory trees. The list " +"entries are indented and connected by branch lines according to their places " +"in the hierarchy." +msgstr "" + +msgid "" +"The `CheckList `_ widget displays a list of items to be selected by the " +"user. CheckList acts similarly to the Tk checkbutton or radiobutton widgets, " +"except it is capable of handling many more items than checkbuttons or " +"radiobuttons." +msgstr "" + +msgid "" +"The `Tree `_ widget can be used to display hierarchical data in a tree form. The " +"user can adjust the view of the tree by opening or closing parts of the tree." +msgstr "" + +msgid "Tabular ListBox" +msgstr "Табличний ListBox" + +msgid "" +"The `TList `_ widget can be used to display data in a tabular format. The " +"list entries of a :class:`TList` widget are similar to the entries in the Tk " +"listbox widget. The main differences are (1) the :class:`TList` widget can " +"display the list entries in a two dimensional format and (2) you can use " +"graphical images as well as multiple colors and fonts for the list entries." +msgstr "" + +msgid "Manager Widgets" +msgstr "Віджети менеджера" + +msgid "" +"The `PanedWindow `_ widget allows the user to interactively manipulate the " +"sizes of several panes. The panes can be arranged either vertically or " +"horizontally. The user changes the sizes of the panes by dragging the " +"resize handle between two panes." +msgstr "" + +msgid "" +"The `ListNoteBook `_ widget is very similar to the :class:`TixNoteBook` " +"widget: it can be used to display many windows in a limited space using a " +"notebook metaphor. The notebook is divided into a stack of pages (windows). " +"At one time only one of these pages can be shown. The user can navigate " +"through these pages by choosing the name of the desired page in the :attr:" +"`hlist` subwidget." +msgstr "" + +msgid "" +"The `NoteBook `_ widget can be used to display many windows in a limited " +"space using a notebook metaphor. The notebook is divided into a stack of " +"pages. At one time only one of these pages can be shown. The user can " +"navigate through these pages by choosing the visual \"tabs\" at the top of " +"the NoteBook widget." +msgstr "" + +msgid "Image Types" +msgstr "Типи зображень" + +msgid "The :mod:`tkinter.tix` module adds:" +msgstr "Модуль :mod:`tkinter.tix` додає:" + +msgid "" +"`pixmap `_ capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` widgets to " +"create color images from XPM files." +msgstr "" + +msgid "" +"`Compound `_ image types can be used to create images that consists of multiple " +"horizontal lines; each line is composed of a series of items (texts, " +"bitmaps, images or spaces) arranged from left to right. For example, a " +"compound image can be used to display a bitmap and a text string " +"simultaneously in a Tk :class:`Button` widget." +msgstr "" + +msgid "Miscellaneous Widgets" +msgstr "Різні віджети" + +msgid "" +"The `InputOnly `_ widgets are to accept inputs from the user, which can be " +"done with the ``bind`` command (Unix only)." +msgstr "" + +msgid "Form Geometry Manager" +msgstr "Менеджер геометрії форм" + +msgid "In addition, :mod:`tkinter.tix` augments :mod:`tkinter` by providing:" +msgstr "Крім того, :mod:`tkinter.tix` доповнює :mod:`tkinter`, надаючи:" + +msgid "" +"The `Form `_ geometry manager based on attachment rules for all Tk widgets." +msgstr "" + +msgid "Tix Commands" +msgstr "Команди Tix" + +msgid "" +"The `tix commands `_ provide access to miscellaneous elements of :mod:`Tix`'s internal " +"state and the :mod:`Tix` application context. Most of the information " +"manipulated by these methods pertains to the application as a whole, or to a " +"screen or display, rather than to a particular window." +msgstr "" + +msgid "To view the current settings, the common usage is::" +msgstr "Для перегляду поточних налаштувань зазвичай використовується:" + +msgid "" +"Query or modify the configuration options of the Tix application context. If " +"no option is specified, returns a dictionary all of the available options. " +"If option is specified with no value, then the method returns a list " +"describing the one named option (this list will be identical to the " +"corresponding sublist of the value returned if no option is specified). If " +"one or more option-value pairs are specified, then the method modifies the " +"given option(s) to have the given value(s); in this case the method returns " +"an empty string. Option may be any of the configuration options." +msgstr "" +"Запитайте або змініть параметри конфігурації контексту програми Tix. Якщо " +"параметр не вказано, повертає словник усіх доступних параметрів. Якщо " +"параметр вказано без значення, тоді метод повертає список, що описує один " +"названий параметр (цей список буде ідентичним відповідному підсписку " +"повернутого значення, якщо параметр не вказано). Якщо вказано одну або " +"більше пар опція-значення, тоді метод змінює надану опцію(-и), щоб мати " +"задане значення(-а); у цьому випадку метод повертає порожній рядок. Опція " +"може бути будь-якою з опцій конфігурації." + +msgid "" +"Returns the current value of the configuration option given by *option*. " +"Option may be any of the configuration options." +msgstr "" +"Повертає поточне значення параметра конфігурації, заданого *option*. Опція " +"може бути будь-якою з опцій конфігурації." + +msgid "" +"Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the " +"bitmap directories (see the :meth:`tix_addbitmapdir` method). By using :" +"meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the bitmap " +"files in your application. When successful, it returns the complete pathname " +"of the bitmap file, prefixed with the character ``@``. The returned value " +"can be used to configure the ``bitmap`` option of the Tk and Tix widgets." +msgstr "" +"Знаходить растровий файл із назвою ``name.xpm`` або ``name`` в одному з " +"каталогів бітового зображення (див. метод :meth:`tix_addbitmapdir`). " +"Використовуючи :meth:`tix_getbitmap`, ви можете уникнути жорсткого кодування " +"шляхів файлів растрових зображень у вашій програмі. У разі успіху повертає " +"повний шлях до растрового файлу з префіксом ``@``. Повернене значення можна " +"використовувати для налаштування опції ``bitmap`` віджетів Tk і Tix." + +msgid "" +"Tix maintains a list of directories under which the :meth:`tix_getimage` " +"and :meth:`tix_getbitmap` methods will search for image files. The standard " +"bitmap directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:" +"`tix_addbitmapdir` method adds *directory* into this list. By using this " +"method, the image files of an applications can also be located using the :" +"meth:`tix_getimage` or :meth:`tix_getbitmap` method." +msgstr "" +"Tix підтримує список каталогів, у яких методи :meth:`tix_getimage` і :meth:" +"`tix_getbitmap` шукатимуть файли зображень. Стандартним каталогом растрових " +"зображень є :file:`$TIX_LIBRARY/bitmaps`. Метод :meth:`tix_addbitmapdir` " +"додає *каталог* до цього списку. За допомогою цього методу файли зображень " +"програм також можна знайти за допомогою методу :meth:`tix_getimage` або :" +"meth:`tix_getbitmap`." + +msgid "" +"Returns the file selection dialog that may be shared among different calls " +"from this application. This method will create a file selection dialog " +"widget when it is called the first time. This dialog will be returned by all " +"subsequent calls to :meth:`tix_filedialog`. An optional dlgclass parameter " +"can be passed as a string to specified what type of file selection dialog " +"widget is desired. Possible options are ``tix``, ``FileSelectDialog`` or " +"``tixExFileSelectDialog``." +msgstr "" +"Повертає діалогове вікно вибору файлу, який може використовуватися різними " +"викликами цієї програми. Цей метод створить віджет діалогового вікна вибору " +"файлів під час першого виклику. Це діалогове вікно повертатиметься під час " +"усіх наступних викликів :meth:`tix_filedialog`. Додатковий параметр dlgclass " +"можна передати як рядок, щоб визначити, який тип віджета діалогового вікна " +"вибору файлу потрібний. Можливі параметри: ``tix``, ``FileSelectDialog`` або " +"``tixExFileSelectDialog``." + +msgid "" +"Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or :" +"file:`name.ppm` in one of the bitmap directories (see the :meth:" +"`tix_addbitmapdir` method above). If more than one file with the same name " +"(but different extensions) exist, then the image type is chosen according to " +"the depth of the X display: xbm images are chosen on monochrome displays and " +"color images are chosen on color displays. By using :meth:`tix_getimage`, " +"you can avoid hard coding the pathnames of the image files in your " +"application. When successful, this method returns the name of the newly " +"created image, which can be used to configure the ``image`` option of the Tk " +"and Tix widgets." +msgstr "" +"Знаходить файл зображення з назвою :file:`name.xpm`, :file:`name.xbm` або :" +"file:`name.ppm` в одному з каталогів растрових зображень (див. метод :meth:" +"`tix_addbitmapdir` вище ). Якщо існує більше одного файлу з однаковою назвою " +"(але різними розширеннями), тип зображення вибирається відповідно до глибини " +"дисплея X: зображення xbm вибираються на монохромних дисплеях, а кольорові " +"зображення – на кольорових. Використовуючи :meth:`tix_getimage`, ви можете " +"уникнути жорсткого кодування шляхів до файлів зображень у вашій програмі. У " +"разі успіху цей метод повертає ім’я щойно створеного зображення, яке можна " +"використовувати для налаштування опції ``image`` віджетів Tk і Tix." + +msgid "Gets the options maintained by the Tix scheme mechanism." +msgstr "Отримує параметри, які підтримуються механізмом схеми Tix." + +msgid "" +"Resets the scheme and fontset of the Tix application to *newScheme* and " +"*newFontSet*, respectively. This affects only those widgets created after " +"this call. Therefore, it is best to call the resetoptions method before the " +"creation of any widgets in a Tix application." +msgstr "" +"Скидає схему та набір шрифтів програми Tix до *newScheme* та *newFontSet* " +"відповідно. Це впливає лише на віджети, створені після цього виклику. Тому " +"найкраще викликати метод resetoptions перед створенням будь-яких віджетів у " +"програмі Tix." + +msgid "" +"The optional parameter *newScmPrio* can be given to reset the priority level " +"of the Tk options set by the Tix schemes." +msgstr "" +"Додатковий параметр *newScmPrio* можна надати для скидання рівня пріоритету " +"параметрів Tk, встановлених схемами Tix." + +msgid "" +"Because of the way Tk handles the X option database, after Tix has been has " +"imported and inited, it is not possible to reset the color schemes and font " +"sets using the :meth:`tix_config` method. Instead, the :meth:" +"`tix_resetoptions` method must be used." +msgstr "" +"Через те, як Tk обробляє базу даних параметрів X, після того, як Tix було " +"імпортовано та запущено, неможливо скинути схеми кольорів і набори шрифтів " +"за допомогою методу :meth:`tix_config`. Замість цього слід використовувати " +"метод :meth:`tix_resetoptions`." diff --git a/library/tkinter_ttk.po b/library/tkinter_ttk.po new file mode 100644 index 000000000..7957a9f06 --- /dev/null +++ b/library/tkinter_ttk.po @@ -0,0 +1,2204 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tkinter.ttk` --- Tk themed widgets" +msgstr ":mod:`tkinter.ttk` --- Тематичні віджети Tk" + +msgid "**Source code:** :source:`Lib/tkinter/ttk.py`" +msgstr "**Вихідний код:** :source:`Lib/tkinter/ttk.py`" + +msgid "" +"The :mod:`tkinter.ttk` module provides access to the Tk themed widget set, " +"introduced in Tk 8.5. It provides additional benefits including anti-aliased " +"font rendering under X11 and window transparency (requiring a composition " +"window manager on X11)." +msgstr "" + +msgid "" +"The basic idea for :mod:`tkinter.ttk` is to separate, to the extent " +"possible, the code implementing a widget's behavior from the code " +"implementing its appearance." +msgstr "" +"Основна ідея :mod:`tkinter.ttk` полягає в тому, щоб відокремити, наскільки " +"це можливо, код, що реалізує поведінку віджета, від коду, що реалізує його " +"вигляд." + +msgid "" +"`Tk Widget Styling Support `_" +msgstr "" +"`Tk Widget Styling Support `_" + +msgid "A document introducing theming support for Tk" +msgstr "Документ, який представляє підтримку тем для Tk" + +msgid "Using Ttk" +msgstr "Використання Ttk" + +msgid "To start using Ttk, import its module::" +msgstr "Щоб почати використовувати Ttk, імпортуйте його модуль::" + +msgid "" +"To override the basic Tk widgets, the import should follow the Tk import::" +msgstr "Щоб замінити базові віджети Tk, імпорт має слідувати за імпортом Tk::" + +msgid "" +"That code causes several :mod:`tkinter.ttk` widgets (:class:`Button`, :class:" +"`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:" +"`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:" +"`Radiobutton`, :class:`Scale` and :class:`Scrollbar`) to automatically " +"replace the Tk widgets." +msgstr "" +"Цей код викликає кілька віджетів :mod:`tkinter.ttk` (:class:`Button`, :class:" +"`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:" +"`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:" +"`Radiobutton`, :class:`Scale` і :class:`Scrollbar`) для автоматичної заміни " +"віджетів Tk." + +msgid "" +"This has the direct benefit of using the new widgets which gives a better " +"look and feel across platforms; however, the replacement widgets are not " +"completely compatible. The main difference is that widget options such as " +"\"fg\", \"bg\" and others related to widget styling are no longer present in " +"Ttk widgets. Instead, use the :class:`ttk.Style` class for improved " +"styling effects." +msgstr "" +"Це має безпосередню користь від використання нових віджетів, які надають " +"кращий вигляд і відчуття на різних платформах; однак замінні віджети не є " +"повністю сумісними. Основна відмінність полягає в тому, що параметри " +"віджетів, такі як \"fg\", \"bg\" та інші, пов'язані зі стилями віджетів, " +"більше не присутні у віджетах Ttk. Замість цього використовуйте клас :class:" +"`ttk.Style` для покращення ефектів стилю." + +msgid "" +"`Converting existing applications to use Tile widgets `_" +msgstr "" + +msgid "" +"A monograph (using Tcl terminology) about differences typically encountered " +"when moving applications to use the new widgets." +msgstr "" +"Монографія (з використанням термінології Tcl) про відмінності, які зазвичай " +"виникають під час переміщення програм на використання нових віджетів." + +msgid "Ttk Widgets" +msgstr "Віджети Ttk" + +msgid "" +"Ttk comes with 18 widgets, twelve of which already existed in tkinter: :" +"class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:" +"`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :" +"class:`Radiobutton`, :class:`Scale`, :class:`Scrollbar`, and :class:" +"`Spinbox`. The other six are new: :class:`Combobox`, :class:`Notebook`, :" +"class:`Progressbar`, :class:`Separator`, :class:`Sizegrip` and :class:" +"`Treeview`. And all them are subclasses of :class:`Widget`." +msgstr "" +"Ttk поставляється з 18 віджетами, дванадцять із яких уже існували в " +"tkinter: :class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:" +"`Frame`, :class:`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:" +"`PanedWindow`, :class:`Radiobutton`, :class:`Scale`, :class:`Scrollbar` і :" +"class:`Spinbox`. Інші шість нові: :class:`Combobox`, :class:`Notebook`, :" +"class:`Progressbar`, :class:`Separator`, :class:`Sizegrip` і :class:" +"`Treeview`. І всі вони є підкласами :class:`Widget`." + +msgid "" +"Using the Ttk widgets gives the application an improved look and feel. As " +"discussed above, there are differences in how the styling is coded." +msgstr "" +"Використання віджетів Ttk покращує зовнішній вигляд програми. Як " +"обговорювалося вище, існують відмінності в тому, як кодується стиль." + +msgid "Tk code::" +msgstr "Tk код::" + +msgid "Ttk code::" +msgstr "Код Ttk::" + +msgid "" +"For more information about TtkStyling_, see the :class:`Style` class " +"documentation." +msgstr "" +"Щоб дізнатися більше про TtkStyling_, перегляньте документацію класу :class:" +"`Style`." + +msgid "Widget" +msgstr "Віджет" + +msgid "" +":class:`ttk.Widget` defines standard options and methods supported by Tk " +"themed widgets and is not supposed to be directly instantiated." +msgstr "" +":class:`ttk.Widget` визначає стандартні опції та методи, які підтримуються " +"віджетами на тему Tk, і не передбачається безпосередньо створювати " +"екземпляри." + +msgid "Standard Options" +msgstr "Стандартні параметри" + +msgid "All the :mod:`ttk` Widgets accepts the following options:" +msgstr "Усі віджети :mod:`ttk` приймають такі параметри:" + +msgid "Option" +msgstr "Варіант" + +msgid "Description" +msgstr "опис" + +msgid "class" +msgstr "клас" + +msgid "" +"Specifies the window class. The class is used when querying the option " +"database for the window's other options, to determine the default bindtags " +"for the window, and to select the widget's default layout and style. This " +"option is read-only, and may only be specified when the window is created." +msgstr "" +"Визначає клас вікна. Клас використовується під час запиту бази даних " +"параметрів щодо інших параметрів вікна, щоб визначити теги прив’язки за " +"замовчуванням для вікна та вибрати типовий макет і стиль віджета. Цей " +"параметр доступний лише для читання, і його можна вказати лише під час " +"створення вікна." + +msgid "cursor" +msgstr "курсор" + +msgid "" +"Specifies the mouse cursor to be used for the widget. If set to the empty " +"string (the default), the cursor is inherited for the parent widget." +msgstr "" +"Визначає курсор миші, який буде використовуватися для віджета. Якщо " +"встановлено порожній рядок (за замовчуванням), курсор успадковується для " +"батьківського віджета." + +msgid "takefocus" +msgstr "зосередитися" + +msgid "" +"Determines whether the window accepts the focus during keyboard traversal. " +"0, 1 or an empty string is returned. If 0 is returned, it means that the " +"window should be skipped entirely during keyboard traversal. If 1, it means " +"that the window should receive the input focus as long as it is viewable. " +"And an empty string means that the traversal scripts make the decision about " +"whether or not to focus on the window." +msgstr "" +"Визначає, чи вікно приймає фокус під час обходу клавіатури. Повертається 0, " +"1 або порожній рядок. Якщо повертається 0, це означає, що вікно слід " +"повністю пропустити під час обходу клавіатури. Якщо 1, це означає, що вікно " +"має отримувати фокус введення, поки воно доступне для перегляду. А порожній " +"рядок означає, що сценарії обходу приймають рішення про те, фокусуватись на " +"вікні чи ні." + +msgid "style" +msgstr "стиль" + +msgid "May be used to specify a custom widget style." +msgstr "Може використовуватися для визначення власного стилю віджета." + +msgid "Scrollable Widget Options" +msgstr "Параметри віджета з можливістю прокручування" + +msgid "" +"The following options are supported by widgets that are controlled by a " +"scrollbar." +msgstr "" +"Наступні параметри підтримуються віджетами, якими керує смуга прокрутки." + +msgid "xscrollcommand" +msgstr "xscrollcommand" + +msgid "Used to communicate with horizontal scrollbars." +msgstr "Використовується для зв’язку з горизонтальними смугами прокручування." + +msgid "" +"When the view in the widget's window change, the widget will generate a Tcl " +"command based on the scrollcommand." +msgstr "" +"Коли вид у вікні віджета змінюється, віджет генеруватиме команду Tcl на " +"основі команди прокручування." + +msgid "" +"Usually this option consists of the method :meth:`Scrollbar.set` of some " +"scrollbar. This will cause the scrollbar to be updated whenever the view in " +"the window changes." +msgstr "" +"Зазвичай цей параметр складається з методу :meth:`Scrollbar.set` деякої " +"смуги прокрутки. Це призведе до того, що смуга прокрутки оновлюватиметься " +"щоразу, коли змінюватиметься вікно." + +msgid "yscrollcommand" +msgstr "yscrollcommand" + +msgid "" +"Used to communicate with vertical scrollbars. For some more information, see " +"above." +msgstr "" +"Використовується для зв’язку з вертикальними смугами прокручування. " +"Додаткову інформацію див. вище." + +msgid "Label Options" +msgstr "Параметри етикетки" + +msgid "" +"The following options are supported by labels, buttons and other button-like " +"widgets." +msgstr "" +"Наступні параметри підтримуються мітками, кнопками та іншими кнопкоподібними " +"віджетами." + +msgid "text" +msgstr "текст" + +msgid "Specifies a text string to be displayed inside the widget." +msgstr "Визначає текстовий рядок, який буде відображатися всередині віджета." + +msgid "textvariable" +msgstr "текстова змінна" + +msgid "" +"Specifies a name whose value will be used in place of the text option " +"resource." +msgstr "" +"Визначає ім’я, значення якого використовуватиметься замість текстового " +"параметра ресурсу." + +msgid "underline" +msgstr "підкреслити" + +msgid "" +"If set, specifies the index (0-based) of a character to underline in the " +"text string. The underline character is used for mnemonic activation." +msgstr "" +"Якщо встановлено, вказує індекс (від 0) символу, який потрібно підкреслити в " +"текстовому рядку. Символ підкреслення використовується для мнемонічної " +"активації." + +msgid "image" +msgstr "зображення" + +msgid "" +"Specifies an image to display. This is a list of 1 or more elements. The " +"first element is the default image name. The rest of the list if a sequence " +"of statespec/value pairs as defined by :meth:`Style.map`, specifying " +"different images to use when the widget is in a particular state or a " +"combination of states. All images in the list should have the same size." +msgstr "" +"Визначає зображення для відображення. Це список з 1 або більше елементів. " +"Першим елементом є назва зображення за замовчуванням. Решта списку — це " +"послідовність пар станів/значення, як визначено :meth:`Style.map`, із " +"зазначенням різних зображень для використання, коли віджет перебуває в " +"певному стані або комбінації станів. Усі зображення в списку повинні мати " +"однаковий розмір." + +msgid "compound" +msgstr "з'єднання" + +msgid "" +"Specifies how to display the image relative to the text, in the case both " +"text and images options are present. Valid values are:" +msgstr "" +"Визначає спосіб відображення зображення відносно тексту, якщо присутні " +"параметри як тексту, так і зображень. Допустимі значення:" + +msgid "text: display text only" +msgstr "текст: відображати лише текст" + +msgid "image: display image only" +msgstr "зображення: відображати лише зображення" + +msgid "" +"top, bottom, left, right: display image above, below, left of, or right of " +"the text, respectively." +msgstr "" +"зверху, знизу, зліва, справа: відображення зображення вище, нижче, ліворуч " +"або праворуч від тексту відповідно." + +msgid "none: the default. display the image if present, otherwise the text." +msgstr "" +"немає: за замовчуванням. відобразити зображення, якщо воно є, інакше текст." + +msgid "width" +msgstr "ширина" + +msgid "" +"If greater than zero, specifies how much space, in character widths, to " +"allocate for the text label, if less than zero, specifies a minimum width. " +"If zero or unspecified, the natural width of the text label is used." +msgstr "" +"Якщо значення більше нуля, указує, скільки місця (у ширині символів) " +"потрібно виділити для текстової мітки, якщо значення менше нуля, указує " +"мінімальну ширину. Якщо дорівнює нулю або не вказано, використовується " +"природна ширина текстової мітки." + +msgid "Compatibility Options" +msgstr "Параметри сумісності" + +msgid "state" +msgstr "стан" + +msgid "" +"May be set to \"normal\" or \"disabled\" to control the \"disabled\" state " +"bit. This is a write-only option: setting it changes the widget state, but " +"the :meth:`Widget.state` method does not affect this option." +msgstr "" +"Може бути встановлено на \"normal\" або \"disabled\" для керування бітом " +"стану \"disabled\". Це параметр лише для запису: його встановлення змінює " +"стан віджета, але метод :meth:`Widget.state` не впливає на цей параметр." + +msgid "Widget States" +msgstr "Віджети держав" + +msgid "The widget state is a bitmap of independent state flags." +msgstr "Стан віджета - це растрова карта незалежних прапорів стану." + +msgid "Flag" +msgstr "Прапор" + +msgid "active" +msgstr "активний" + +msgid "" +"The mouse cursor is over the widget and pressing a mouse button will cause " +"some action to occur" +msgstr "" +"Курсор миші знаходиться над віджетом, і натискання кнопки миші призведе до " +"виконання певної дії" + +msgid "disabled" +msgstr "вимкнено" + +msgid "Widget is disabled under program control" +msgstr "Віджет вимкнено під керуванням програми" + +msgid "focus" +msgstr "фокус" + +msgid "Widget has keyboard focus" +msgstr "Віджет має фокус клавіатури" + +msgid "pressed" +msgstr "натиснутий" + +msgid "Widget is being pressed" +msgstr "Віджет натискається" + +msgid "selected" +msgstr "вибрано" + +msgid "" +"\"On\", \"true\", or \"current\" for things like Checkbuttons and " +"radiobuttons" +msgstr "" +"\"Увімкнено\", \"справжнє\" або \"поточне\" для таких речей, як Checkbuttons " +"і радіокнопки" + +msgid "background" +msgstr "фон" + +msgid "" +"Windows and Mac have a notion of an \"active\" or foreground window. The " +"*background* state is set for widgets in a background window, and cleared " +"for those in the foreground window" +msgstr "" +"Windows і Mac мають поняття \"активного\" або вікна переднього плану. " +"*Фоновий* стан встановлено для віджетів у фоновому вікні та знято для " +"віджетів у вікні переднього плану" + +msgid "readonly" +msgstr "лише для читання" + +msgid "Widget should not allow user modification" +msgstr "Віджет не повинен дозволяти змінювати користувач" + +msgid "alternate" +msgstr "чергувати" + +msgid "A widget-specific alternate display format" +msgstr "Альтернативний формат відображення для віджетів" + +msgid "invalid" +msgstr "недійсний" + +msgid "The widget's value is invalid" +msgstr "Значення віджета недійсне" + +msgid "" +"A state specification is a sequence of state names, optionally prefixed with " +"an exclamation point indicating that the bit is off." +msgstr "" +"Специфікація стану — це послідовність назв станів, необов’язково із знаком " +"оклику, який вказує, що біт вимкнено." + +msgid "ttk.Widget" +msgstr "ttk.Віджет" + +msgid "" +"Besides the methods described below, the :class:`ttk.Widget` supports the " +"methods :meth:`tkinter.Widget.cget` and :meth:`tkinter.Widget.configure`." +msgstr "" +"Окрім методів, описаних нижче, :class:`ttk.Widget` підтримує методи :meth:" +"`tkinter.Widget.cget` і :meth:`tkinter.Widget.configure`." + +msgid "" +"Returns the name of the element at position *x* *y*, or the empty string if " +"the point does not lie within any element." +msgstr "" +"Повертає назву елемента в позиції *x* *y* або порожній рядок, якщо точка не " +"лежить у жодному елементі." + +msgid "*x* and *y* are pixel coordinates relative to the widget." +msgstr "*x* і *y* — координати пікселів відносно віджета." + +msgid "" +"Test the widget's state. If a callback is not specified, returns ``True`` if " +"the widget state matches *statespec* and ``False`` otherwise. If callback is " +"specified then it is called with args if widget state matches *statespec*." +msgstr "" +"Перевірте стан віджета. Якщо зворотний виклик не вказано, повертає ``True``, " +"якщо стан віджета відповідає *statespec*, і ``False`` в іншому випадку. Якщо " +"вказано зворотний виклик, він викликається з аргументами, якщо стан віджета " +"відповідає *statespec*." + +msgid "" +"Modify or inquire widget state. If *statespec* is specified, sets the widget " +"state according to it and return a new *statespec* indicating which flags " +"were changed. If *statespec* is not specified, returns the currently enabled " +"state flags." +msgstr "" + +msgid "*statespec* will usually be a list or a tuple." +msgstr "*statespec* зазвичай буде списком або кортежем." + +msgid "Combobox" +msgstr "Комбінований список" + +msgid "" +"The :class:`ttk.Combobox` widget combines a text field with a pop-down list " +"of values. This widget is a subclass of :class:`Entry`." +msgstr "" +"Віджет :class:`ttk.Combobox` поєднує в собі текстове поле з розкривним " +"списком значень. Цей віджет є підкласом :class:`Entry`." + +msgid "" +"Besides the methods inherited from :class:`Widget`: :meth:`Widget.cget`, :" +"meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " +"and :meth:`Widget.state`, and the following inherited from :class:`Entry`: :" +"meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry." +"index`, :meth:`Entry.insert`, :meth:`Entry.selection`, :meth:`Entry.xview`, " +"it has some other methods, described at :class:`ttk.Combobox`." +msgstr "" +"Окрім методів, успадкованих від :class:`Widget`: :meth:`Widget.cget`, :meth:" +"`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` і :meth:" +"`Widget.state`, а також наступне, успадковане від :class:`Entry`: :meth:" +"`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry." +"index`, :meth:`Entry.insert`, :meth:`Entry.selection`, :meth:`Entry.xview`, " +"він має деякі інші методи, описані в :class:`ttk.Combobox`." + +msgid "Options" +msgstr "Опції" + +msgid "This widget accepts the following specific options:" +msgstr "Цей віджет підтримує такі конкретні параметри:" + +msgid "exportselection" +msgstr "експортний вибір" + +msgid "" +"Boolean value. If set, the widget selection is linked to the Window Manager " +"selection (which can be returned by invoking Misc.selection_get, for " +"example)." +msgstr "" +"Логічне значення. Якщо встановлено, вибір віджета пов’язується з диспетчером " +"вікон (який можна повернути, наприклад, викликом Misc.selection_get)." + +msgid "justify" +msgstr "виправдати" + +msgid "" +"Specifies how the text is aligned within the widget. One of \"left\", " +"\"center\", or \"right\"." +msgstr "" +"Визначає спосіб вирівнювання тексту у віджеті. Один із \"лівих\", " +"\"центральних\" або \"правих\"." + +msgid "height" +msgstr "висота" + +msgid "Specifies the height of the pop-down listbox, in rows." +msgstr "Визначає висоту розкривного списку в рядках." + +msgid "postcommand" +msgstr "посткоманд" + +msgid "" +"A script (possibly registered with Misc.register) that is called immediately " +"before displaying the values. It may specify which values to display." +msgstr "" +"Сценарій (можливо, зареєстрований у Misc.register), який викликається " +"безпосередньо перед відображенням значень. Він може вказувати, які значення " +"відображати." + +msgid "" +"One of \"normal\", \"readonly\", or \"disabled\". In the \"readonly\" state, " +"the value may not be edited directly, and the user can only selection of the " +"values from the dropdown list. In the \"normal\" state, the text field is " +"directly editable. In the \"disabled\" state, no interaction is possible." +msgstr "" +"Один із варіантів: \"звичайний\", \"лише для читання\" або \"відключений\". " +"У стані \"лише читання\" значення не можна редагувати безпосередньо, і " +"користувач може лише вибрати значення зі спадного списку. У \"нормальному\" " +"стані текстове поле можна редагувати безпосередньо. У стані \"вимкнено\" " +"взаємодія неможлива." + +msgid "" +"Specifies a name whose value is linked to the widget value. Whenever the " +"value associated with that name changes, the widget value is updated, and " +"vice versa. See :class:`tkinter.StringVar`." +msgstr "" +"Визначає ім’я, значення якого пов’язане зі значенням віджета. Щоразу, коли " +"змінюється значення, пов’язане з цією назвою, значення віджета оновлюється, " +"і навпаки. Див. :class:`tkinter.StringVar`." + +msgid "values" +msgstr "значення" + +msgid "Specifies the list of values to display in the drop-down listbox." +msgstr "Визначає список значень для відображення у розкривному списку." + +msgid "" +"Specifies an integer value indicating the desired width of the entry window, " +"in average-size characters of the widget's font." +msgstr "" +"Визначає ціле число, що вказує бажану ширину вікна введення, у середніх " +"символах шрифту віджета." + +msgid "Virtual events" +msgstr "Віртуальні події" + +msgid "" +"The combobox widgets generates a **<>** virtual event when " +"the user selects an element from the list of values." +msgstr "" +"Віджети зі списком генерують віртуальну подію **<>**, коли " +"користувач вибирає елемент зі списку значень." + +msgid "ttk.Combobox" +msgstr "ttk.Combobox" + +msgid "" +"If *newindex* is specified, sets the combobox value to the element position " +"*newindex*. Otherwise, returns the index of the current value or -1 if the " +"current value is not in the values list." +msgstr "" +"Якщо вказано *newindex*, встановлює значення поля зі списком на позицію " +"елемента *newindex*. В іншому випадку повертає індекс поточного значення або " +"-1, якщо поточного значення немає в списку значень." + +msgid "Returns the current value of the combobox." +msgstr "Повертає поточне значення поля зі списком." + +msgid "Sets the value of the combobox to *value*." +msgstr "Встановлює для поля зі списком значення *value*." + +msgid "Spinbox" +msgstr "Spinbox" + +msgid "" +"The :class:`ttk.Spinbox` widget is a :class:`ttk.Entry` enhanced with " +"increment and decrement arrows. It can be used for numbers or lists of " +"string values. This widget is a subclass of :class:`Entry`." +msgstr "" +"Віджет :class:`ttk.Spinbox` — це :class:`ttk.Entry`, доповнений стрілками " +"збільшення та зменшення. Його можна використовувати для чисел або списків " +"рядкових значень. Цей віджет є підкласом :class:`Entry`." + +msgid "" +"Besides the methods inherited from :class:`Widget`: :meth:`Widget.cget`, :" +"meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " +"and :meth:`Widget.state`, and the following inherited from :class:`Entry`: :" +"meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry." +"index`, :meth:`Entry.insert`, :meth:`Entry.xview`, it has some other " +"methods, described at :class:`ttk.Spinbox`." +msgstr "" +"Окрім методів, успадкованих від :class:`Widget`: :meth:`Widget.cget`, :meth:" +"`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` і :meth:" +"`Widget.state` і наступне, успадковане від :class:`Entry`: :meth:`Entry." +"bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry.index`, :" +"meth:`Entry.insert`, :meth:`Entry.xview`, він має деякі інші методи, описані " +"в :class:`ttk.Spinbox`." + +msgid "from" +msgstr "від" + +msgid "" +"Float value. If set, this is the minimum value to which the decrement " +"button will decrement. Must be spelled as ``from_`` when used as an " +"argument, since ``from`` is a Python keyword." +msgstr "" +"Плаваюче значення. Якщо встановлено, це мінімальне значення, до якого " +"зменшуватиметься кнопка зменшення. Має бути написано як ``from_``, коли " +"використовується як аргумент, оскільки ``from`` є ключовим словом Python." + +msgid "to" +msgstr "до" + +msgid "" +"Float value. If set, this is the maximum value to which the increment " +"button will increment." +msgstr "" +"Плаваюче значення. Якщо встановлено, це максимальне значення, до якого " +"збільшиться кнопка збільшення." + +msgid "increment" +msgstr "приріст" + +msgid "" +"Float value. Specifies the amount which the increment/decrement buttons " +"change the value. Defaults to 1.0." +msgstr "" +"Плаваюче значення. Визначає величину, на яку кнопки збільшення/зменшення " +"змінюють значення. За замовчуванням 1.0." + +msgid "" +"Sequence of string or float values. If specified, the increment/decrement " +"buttons will cycle through the items in this sequence rather than " +"incrementing or decrementing numbers." +msgstr "" +"Послідовність рядкових чи плаваючих значень. Якщо вказано, кнопки збільшення/" +"зменшення перемикатимуть елементи в цій послідовності, а не збільшуватимуть " +"чи зменшуватимуть числа." + +msgid "wrap" +msgstr "загорнути" + +msgid "" +"Boolean value. If ``True``, increment and decrement buttons will cycle from " +"the ``to`` value to the ``from`` value or the ``from`` value to the ``to`` " +"value, respectively." +msgstr "" +"Логічне значення. Якщо ``True``, кнопки збільшення та зменшення циклічно " +"переключатимуться від значення ``до`` до значення ``від`` або значення " +"``від`` до значення ``до`` відповідно." + +msgid "format" +msgstr "формат" + +msgid "" +"String value. This specifies the format of numbers set by the increment/" +"decrement buttons. It must be in the form \"%W.Pf\", where W is the padded " +"width of the value, P is the precision, and '%' and 'f' are literal." +msgstr "" +"Рядкове значення. Це визначає формат чисел, встановлений кнопками збільшення/" +"зменшення. Він має бути у формі \"%W.Pf\", де W — доповнена ширина значення, " +"P — точність, а \"%\" і \"f\" — літерали." + +msgid "command" +msgstr "команда" + +msgid "" +"Python callable. Will be called with no arguments whenever either of the " +"increment or decrement buttons are pressed." +msgstr "" +"Можливість виклику Python. Викликатиметься без аргументів щоразу, коли " +"натиснуто одну з кнопок збільшення чи зменшення." + +msgid "" +"The spinbox widget generates an **<>** virtual event when the " +"user presses , and a **<>** virtual event when the user " +"presses ." +msgstr "" +"Віджет Spinbox генерує віртуальну подію **<>**, коли користувач " +"натискає , і віртуальну подію **<>**, коли користувач " +"натискає ." + +msgid "ttk.Spinbox" +msgstr "ttk.Spinbox" + +msgid "Returns the current value of the spinbox." +msgstr "Повертає поточне значення поля обертання." + +msgid "Sets the value of the spinbox to *value*." +msgstr "Встановлює для поля обертання значення *value*." + +msgid "Notebook" +msgstr "Ноутбук" + +msgid "" +"Ttk Notebook widget manages a collection of windows and displays a single " +"one at a time. Each child window is associated with a tab, which the user " +"may select to change the currently displayed window." +msgstr "" + +msgid "" +"If present and greater than zero, specifies the desired height of the pane " +"area (not including internal padding or tabs). Otherwise, the maximum height " +"of all panes is used." +msgstr "" +"Якщо присутнє та більше нуля, визначає бажану висоту області панелі (не " +"враховуючи внутрішні відступи чи вкладки). В іншому випадку використовується " +"максимальна висота всіх панелей." + +msgid "padding" +msgstr "оббивка" + +msgid "" +"Specifies the amount of extra space to add around the outside of the " +"notebook. The padding is a list up to four length specifications left top " +"right bottom. If fewer than four elements are specified, bottom defaults to " +"top, right defaults to left, and top defaults to left." +msgstr "" +"Визначає обсяг додаткового простору, який потрібно додати навколо зовнішньої " +"сторони блокнота. Відступ — це список до чотирьох специфікацій довжини зліва " +"зверху справа знизу. Якщо вказано менше чотирьох елементів, нижній за " +"замовчуванням — верхній, правий — лівий, верхній — лівий." + +msgid "" +"If present and greater than zero, specified the desired width of the pane " +"area (not including internal padding). Otherwise, the maximum width of all " +"panes is used." +msgstr "" +"Якщо присутня та більша за нуль, указується бажана ширина області панелі (не " +"враховуючи внутрішні відступи). В іншому випадку використовується " +"максимальна ширина всіх панелей." + +msgid "Tab Options" +msgstr "Параметри вкладки" + +msgid "There are also specific options for tabs:" +msgstr "Існують також спеціальні параметри для вкладок:" + +msgid "" +"Either \"normal\", \"disabled\" or \"hidden\". If \"disabled\", then the tab " +"is not selectable. If \"hidden\", then the tab is not shown." +msgstr "" +"Або \"нормальний\", \"відключений\" або \"прихований\". Якщо \"вимкнуто\", " +"вкладка не доступна для вибору. Якщо \"приховано\", вкладка не " +"відображається." + +msgid "sticky" +msgstr "липкий" + +msgid "" +"Specifies how the child window is positioned within the pane area. Value is " +"a string containing zero or more of the characters \"n\", \"s\", \"e\" or \"w" +"\". Each letter refers to a side (north, south, east or west) that the child " +"window will stick to, as per the :meth:`grid` geometry manager." +msgstr "" +"Визначає, як дочірнє вікно розташовується в області панелі. Значення - це " +"рядок, що містить нуль або більше символів \"n\", \"s\", \"e\" або \"w\". " +"Кожна літера вказує на сторону (північ, південь, схід або захід), якої " +"дочірнє вікно дотримуватиметься відповідно до менеджера геометрії :meth:" +"`grid`." + +msgid "" +"Specifies the amount of extra space to add between the notebook and this " +"pane. Syntax is the same as for the option padding used by this widget." +msgstr "" +"Визначає обсяг додаткового простору, який потрібно додати між блокнотом і " +"цією панеллю. Синтаксис такий самий, як і для параметра padding, який " +"використовується цим віджетом." + +msgid "Specifies a text to be displayed in the tab." +msgstr "Визначає текст для відображення на вкладці." + +msgid "" +"Specifies an image to display in the tab. See the option image described in :" +"class:`Widget`." +msgstr "" +"Визначає зображення для відображення на вкладці. Перегляньте зображення " +"опції, описане у :class:`Widget`." + +msgid "" +"Specifies how to display the image relative to the text, in the case both " +"options text and image are present. See `Label Options`_ for legal values." +msgstr "" +"Визначає спосіб відображення зображення відносно тексту, якщо присутні " +"обидва параметри – текст і зображення. Перегляньте `Label Options`_ для " +"правових значень." + +msgid "" +"Specifies the index (0-based) of a character to underline in the text " +"string. The underlined character is used for mnemonic activation if :meth:" +"`Notebook.enable_traversal` is called." +msgstr "" +"Визначає індекс (від нуля) символу, який потрібно підкреслити в текстовому " +"рядку. Підкреслений символ використовується для мнемонічної активації, якщо " +"викликається :meth:`Notebook.enable_traversal`." + +msgid "Tab Identifiers" +msgstr "Ідентифікатори вкладок" + +msgid "" +"The tab_id present in several methods of :class:`ttk.Notebook` may take any " +"of the following forms:" +msgstr "" +"Tab_id, присутній у кількох методах :class:`ttk.Notebook`, може мати будь-" +"яку з наступних форм:" + +msgid "An integer between zero and the number of tabs" +msgstr "Ціле число від нуля до кількості вкладок" + +msgid "The name of a child window" +msgstr "Ім'я дочірнього вікна" + +msgid "" +"A positional specification of the form \"@x,y\", which identifies the tab" +msgstr "Позиційна специфікація у формі \"@x,y\", яка ідентифікує вкладку" + +msgid "" +"The literal string \"current\", which identifies the currently selected tab" +msgstr "" + +msgid "" +"The literal string \"end\", which returns the number of tabs (only valid " +"for :meth:`Notebook.index`)" +msgstr "" +"Рядок літералу \"end\", який повертає кількість вкладок (дійсно лише для :" +"meth:`Notebook.index`)" + +msgid "Virtual Events" +msgstr "Віртуальні події" + +msgid "" +"This widget generates a **<>** virtual event after a new " +"tab is selected." +msgstr "" +"Цей віджет генерує віртуальну подію **<>** після вибору " +"нової вкладки." + +msgid "ttk.Notebook" +msgstr "ттк.Зошит" + +msgid "Adds a new tab to the notebook." +msgstr "Додає нову вкладку до блокнота." + +msgid "" +"If window is currently managed by the notebook but hidden, it is restored to " +"its previous position." +msgstr "" +"Якщо вікно наразі керується блокнотом, але приховано, воно повертається до " +"попереднього положення." + +msgid "See `Tab Options`_ for the list of available options." +msgstr "" +"Перегляньте Параметри вкладки (`Tab Options`_), щоб переглянути список " +"доступних параметрів." + +msgid "" +"Removes the tab specified by *tab_id*, unmaps and unmanages the associated " +"window." +msgstr "" +"Видаляє вкладку, визначену *tab_id*, скасовує відповідне вікно та скасовує " +"керування ним." + +msgid "Hides the tab specified by *tab_id*." +msgstr "Приховує вкладку, визначену *tab_id*." + +msgid "" +"The tab will not be displayed, but the associated window remains managed by " +"the notebook and its configuration remembered. Hidden tabs may be restored " +"with the :meth:`add` command." +msgstr "" +"Вкладка не відображатиметься, але пов’язане вікно й надалі керуватиметься " +"ноутбуком, а його конфігурація буде збережена. Приховані вкладки можна " +"відновити за допомогою команди :meth:`add`." + +msgid "" +"Returns the name of the tab element at position *x*, *y*, or the empty " +"string if none." +msgstr "" +"Повертає назву елемента вкладки в позиції *x*, *y* або порожній рядок, якщо " +"його немає." + +msgid "" +"Returns the numeric index of the tab specified by *tab_id*, or the total " +"number of tabs if *tab_id* is the string \"end\"." +msgstr "" +"Повертає числовий індекс вкладки, визначеної *tab_id*, або загальну " +"кількість вкладок, якщо *tab_id* є рядком \"end\"." + +msgid "Inserts a pane at the specified position." +msgstr "Вставляє панель у вказане місце." + +msgid "" +"*pos* is either the string \"end\", an integer index, or the name of a " +"managed child. If *child* is already managed by the notebook, moves it to " +"the specified position." +msgstr "" +"*pos* — це рядок \"end\", цілочисельний індекс або ім’я керованого " +"дочірнього елемента. Якщо *child* вже керується блокнотом, переміщує його у " +"вказане положення." + +msgid "Selects the specified *tab_id*." +msgstr "Вибирає вказаний *tab_id*." + +msgid "" +"The associated child window will be displayed, and the previously selected " +"window (if different) is unmapped. If *tab_id* is omitted, returns the " +"widget name of the currently selected pane." +msgstr "" + +msgid "Query or modify the options of the specific *tab_id*." +msgstr "Запитайте або змініть параметри конкретного *tab_id*." + +msgid "" +"If *kw* is not given, returns a dictionary of the tab option values. If " +"*option* is specified, returns the value of that *option*. Otherwise, sets " +"the options to the corresponding values." +msgstr "" +"Якщо *kw* не вказано, повертає словник значень параметрів вкладки. Якщо " +"вказано *option*, повертає значення цього *option*. В іншому випадку " +"встановіть параметрам відповідні значення." + +msgid "Returns a list of windows managed by the notebook." +msgstr "Повертає список вікон, якими керує блокнот." + +msgid "" +"Enable keyboard traversal for a toplevel window containing this notebook." +msgstr "" +"Увімкнути обхід клавіатури для вікна верхнього рівня, що містить цей блокнот." + +msgid "" +"This will extend the bindings for the toplevel window containing the " +"notebook as follows:" +msgstr "" +"Це розширить прив’язки для вікна верхнього рівня, що містить блокнот, " +"наступним чином:" + +msgid "" +":kbd:`Control-Tab`: selects the tab following the currently selected one." +msgstr ":kbd:`Control-Tab`: вибирає вкладку, наступну за поточною." + +msgid "" +":kbd:`Shift-Control-Tab`: selects the tab preceding the currently selected " +"one." +msgstr "" +":kbd:`Shift-Control-Tab`: вибирає вкладку, що передує поточній вибраній." + +msgid "" +":kbd:`Alt-K`: where *K* is the mnemonic (underlined) character of any tab, " +"will select that tab." +msgstr "" +":kbd:`Alt-K`: де *K* — мнемонічний (підкреслений) символ будь-якої вкладки, " +"вибере цю вкладку." + +msgid "" +"Multiple notebooks in a single toplevel may be enabled for traversal, " +"including nested notebooks. However, notebook traversal only works properly " +"if all panes have the notebook they are in as master." +msgstr "" +"Кілька блокнотів на одному верхньому рівні можуть бути активовані для " +"обходу, включаючи вкладені блокноти. Однак обхід блокнота працює належним " +"чином, лише якщо на всіх панелях є блокнот, у якому вони знаходяться, як " +"головний." + +msgid "Progressbar" +msgstr "Індикатор виконання" + +msgid "" +"The :class:`ttk.Progressbar` widget shows the status of a long-running " +"operation. It can operate in two modes: 1) the determinate mode which shows " +"the amount completed relative to the total amount of work to be done and 2) " +"the indeterminate mode which provides an animated display to let the user " +"know that work is progressing." +msgstr "" +"Віджет :class:`ttk.Progressbar` показує статус тривалої операції. Він може " +"працювати в двох режимах: 1) визначений режим, який показує обсяг виконаної " +"роботи по відношенню до загального обсягу роботи, яку потрібно виконати, і " +"2) невизначений режим, який забезпечує анімований дисплей, щоб повідомити " +"користувачеві, що робота просувається." + +msgid "orient" +msgstr "схід" + +msgid "" +"One of \"horizontal\" or \"vertical\". Specifies the orientation of the " +"progress bar." +msgstr "" +"Один із \"горизонтальних\" або \"вертикальних\". Визначає орієнтацію " +"індикатора виконання." + +msgid "length" +msgstr "довжина" + +msgid "" +"Specifies the length of the long axis of the progress bar (width if " +"horizontal, height if vertical)." +msgstr "" +"Визначає довжину довгої осі індикатора перебігу (ширина, якщо горизонтальна, " +"висота, якщо вертикальна)." + +msgid "mode" +msgstr "режим" + +msgid "One of \"determinate\" or \"indeterminate\"." +msgstr "Один із \"визначених\" або \"невизначених\"." + +msgid "maximum" +msgstr "максимум" + +msgid "A number specifying the maximum value. Defaults to 100." +msgstr "Число, що визначає максимальне значення. За замовчуванням 100." + +msgid "value" +msgstr "значення" + +msgid "" +"The current value of the progress bar. In \"determinate\" mode, this " +"represents the amount of work completed. In \"indeterminate\" mode, it is " +"interpreted as modulo *maximum*; that is, the progress bar completes one " +"\"cycle\" when its value increases by *maximum*." +msgstr "" +"Поточне значення індикатора виконання. У \"визначеному\" режимі це означає " +"обсяг виконаної роботи. У \"невизначеному\" режимі воно інтерпретується як " +"*максимум* за модулем; тобто індикатор прогресу завершує один \"цикл\", коли " +"його значення збільшується на *максимум*." + +msgid "variable" +msgstr "змінна" + +msgid "" +"A name which is linked to the option value. If specified, the value of the " +"progress bar is automatically set to the value of this name whenever the " +"latter is modified." +msgstr "" +"Ім'я, пов'язане зі значенням опції. Якщо вказано, значення індикатора " +"виконання автоматично встановлюється на значення цього імені щоразу, коли " +"останнє змінюється." + +msgid "phase" +msgstr "фаза" + +msgid "" +"Read-only option. The widget periodically increments the value of this " +"option whenever its value is greater than 0 and, in determinate mode, less " +"than maximum. This option may be used by the current theme to provide " +"additional animation effects." +msgstr "" +"Опція лише для читання. Віджет періодично збільшує значення цього параметра " +"щоразу, коли його значення перевищує 0, а в режимі визначення менше " +"максимального. Цей параметр може використовуватися поточною темою для " +"надання додаткових ефектів анімації." + +msgid "ttk.Progressbar" +msgstr "ttk.Прогрессбар" + +msgid "" +"Begin autoincrement mode: schedules a recurring timer event that calls :meth:" +"`Progressbar.step` every *interval* milliseconds. If omitted, *interval* " +"defaults to 50 milliseconds." +msgstr "" +"Почати режим автоінкременту: планує повторювану подію таймера, яка викликає :" +"meth:`Progressbar.step` кожні *інтервал* мілісекунд. Якщо опущено, " +"*інтервал* за замовчуванням становить 50 мілісекунд." + +msgid "Increments the progress bar's value by *amount*." +msgstr "Збільшує значення індикатора виконання на *кількість*." + +msgid "*amount* defaults to 1.0 if omitted." +msgstr "*кількість* за замовчуванням дорівнює 1,0, якщо опущено." + +msgid "" +"Stop autoincrement mode: cancels any recurring timer event initiated by :" +"meth:`Progressbar.start` for this progress bar." +msgstr "" +"Зупинити режим автозбільшення: скасовує будь-яку повторювану подію таймера, " +"ініційовану :meth:`Progressbar.start` для цього рядка виконання." + +msgid "Separator" +msgstr "Роздільник" + +msgid "" +"The :class:`ttk.Separator` widget displays a horizontal or vertical " +"separator bar." +msgstr "" +"Віджет :class:`ttk.Separator` відображає горизонтальну або вертикальну " +"роздільну панель." + +msgid "" +"It has no other methods besides the ones inherited from :class:`ttk.Widget`." +msgstr "Він не має інших методів, крім успадкованих від :class:`ttk.Widget`." + +msgid "This widget accepts the following specific option:" +msgstr "Цей віджет підтримує такі конкретні параметри:" + +msgid "" +"One of \"horizontal\" or \"vertical\". Specifies the orientation of the " +"separator." +msgstr "" +"Один із \"горизонтальних\" або \"вертикальних\". Визначає орієнтацію " +"роздільника." + +msgid "Sizegrip" +msgstr "Sizegrip" + +msgid "" +"The :class:`ttk.Sizegrip` widget (also known as a grow box) allows the user " +"to resize the containing toplevel window by pressing and dragging the grip." +msgstr "" +"Віджет :class:`ttk.Sizegrip` (також відомий як вікно зростання) дозволяє " +"користувачеві змінювати розмір вікна верхнього рівня, натискаючи та " +"перетягуючи ручку." + +msgid "" +"This widget has neither specific options nor specific methods, besides the " +"ones inherited from :class:`ttk.Widget`." +msgstr "" +"Цей віджет не має ані спеціальних параметрів, ані спеціальних методів, окрім " +"успадкованих від :class:`ttk.Widget`." + +msgid "Platform-specific notes" +msgstr "Примітки щодо платформи" + +msgid "" +"On macOS, toplevel windows automatically include a built-in size grip by " +"default. Adding a :class:`Sizegrip` is harmless, since the built-in grip " +"will just mask the widget." +msgstr "" +"У macOS вікна верхнього рівня автоматично містять вбудовану ручку розміру за " +"замовчуванням. Додавання :class:`Sizegrip` нешкідливо, оскільки вбудована " +"рукоятка лише маскує віджет." + +msgid "Bugs" +msgstr "помилки" + +msgid "" +"If the containing toplevel's position was specified relative to the right or " +"bottom of the screen (e.g. ....), the :class:`Sizegrip` widget will not " +"resize the window." +msgstr "" +"Якщо положення верхнього рівня вмісту було вказано відносно правого або " +"нижнього краю екрана (наприклад, ...), віджет :class:`Sizegrip` не " +"змінюватиме розмір вікна." + +msgid "This widget supports only \"southeast\" resizing." +msgstr "Цей віджет підтримує зміну розміру лише на \"південний схід\"." + +msgid "Treeview" +msgstr "Treeview" + +msgid "" +"The :class:`ttk.Treeview` widget displays a hierarchical collection of " +"items. Each item has a textual label, an optional image, and an optional " +"list of data values. The data values are displayed in successive columns " +"after the tree label." +msgstr "" +"Віджет :class:`ttk.Treeview` відображає ієрархічну колекцію елементів. Кожен " +"елемент має текстову позначку, необов’язкове зображення та необов’язковий " +"список значень даних. Значення даних відображаються в послідовних стовпцях " +"після мітки дерева." + +msgid "" +"The order in which data values are displayed may be controlled by setting " +"the widget option ``displaycolumns``. The tree widget can also display " +"column headings. Columns may be accessed by number or symbolic names listed " +"in the widget option columns. See `Column Identifiers`_." +msgstr "" +"Порядок, у якому відображаються значення даних, можна контролювати за " +"допомогою параметра віджета ``displaycolumns``. Віджет дерева також може " +"відображати заголовки стовпців. Доступ до стовпців можна отримати за " +"номерами або символьними іменами, указаними в стовпцях параметрів віджета. " +"Перегляньте Ідентифікатори стовпців (`Column Identifiers`_)." + +msgid "" +"Each item is identified by a unique name. The widget will generate item IDs " +"if they are not supplied by the caller. There is a distinguished root item, " +"named ``{}``. The root item itself is not displayed; its children appear at " +"the top level of the hierarchy." +msgstr "" +"Кожен елемент ідентифікується унікальною назвою. Віджет генеруватиме " +"ідентифікатори елементів, якщо вони не надані абонентом. Існує виділений " +"кореневий елемент під назвою ``{}``. Сам кореневий елемент не " +"відображається; його діти з'являються на верхньому рівні ієрархії." + +msgid "" +"Each item also has a list of tags, which can be used to associate event " +"bindings with individual items and control the appearance of the item." +msgstr "" +"Кожен елемент також має список тегів, які можна використовувати для " +"пов’язування прив’язок подій до окремих елементів і керування зовнішнім " +"виглядом елемента." + +msgid "" +"The Treeview widget supports horizontal and vertical scrolling, according to " +"the options described in `Scrollable Widget Options`_ and the methods :meth:" +"`Treeview.xview` and :meth:`Treeview.yview`." +msgstr "" +"Віджет Treeview підтримує горизонтальне та вертикальне прокручування " +"відповідно до параметрів, описаних у розділі `Параметри прокручуваних " +"віджетів`_, і методів :meth:`Treeview.xview` і :meth:`Treeview.yview`." + +msgid "columns" +msgstr "колонки" + +msgid "" +"A list of column identifiers, specifying the number of columns and their " +"names." +msgstr "" +"Список ідентифікаторів стовпців із зазначенням кількості стовпців та їхніх " +"імен." + +msgid "displaycolumns" +msgstr "відображення стовпців" + +msgid "" +"A list of column identifiers (either symbolic or integer indices) specifying " +"which data columns are displayed and the order in which they appear, or the " +"string \"#all\"." +msgstr "" +"Список ідентифікаторів стовпців (символічних або цілочисельних індексів), що " +"вказують, які стовпці даних відображаються та порядок, у якому вони " +"з’являються, або рядок \"#all\"." + +msgid "" +"Specifies the number of rows which should be visible. Note: the requested " +"width is determined from the sum of the column widths." +msgstr "" +"Визначає кількість рядків, які мають бути видимими. Примітка: необхідна " +"ширина визначається із суми ширин стовпців." + +msgid "" +"Specifies the internal padding for the widget. The padding is a list of up " +"to four length specifications." +msgstr "" +"Визначає внутрішнє доповнення для віджета. Заповнення — це список із до " +"чотирьох специфікацій довжини." + +msgid "selectmode" +msgstr "selectmode" + +msgid "" +"Controls how the built-in class bindings manage the selection. One of " +"\"extended\", \"browse\" or \"none\". If set to \"extended\" (the default), " +"multiple items may be selected. If \"browse\", only a single item will be " +"selected at a time. If \"none\", the selection will not be changed." +msgstr "" +"Керує тим, як вбудовані зв’язки класів керують виділенням. Один із " +"варіантів: \"розширений\", \"перегляд\" або \"немає\". Якщо встановлено " +"значення \"розширений\" (за замовчуванням), можна вибрати кілька елементів. " +"Якщо вибрати \"перегляд\", одночасно буде вибрано лише один елемент. Якщо " +"\"немає\", вибір не буде змінено." + +msgid "" +"Note that the application code and tag bindings can set the selection " +"however they wish, regardless of the value of this option." +msgstr "" +"Зауважте, що код програми та прив’язки тегів можуть налаштовувати вибір як " +"завгодно, незалежно від значення цього параметра." + +msgid "show" +msgstr "шоу" + +msgid "" +"A list containing zero or more of the following values, specifying which " +"elements of the tree to display." +msgstr "" +"Список, що містить нуль або більше з наведених нижче значень, що визначає, " +"які елементи дерева відображати." + +msgid "tree: display tree labels in column #0." +msgstr "дерево: відображати мітки дерева в стовпці №0." + +msgid "headings: display the heading row." +msgstr "заголовки: відображення рядка заголовка." + +msgid "The default is \"tree headings\", i.e., show all elements." +msgstr "Типовим є \"заголовки дерева\", тобто показувати всі елементи." + +msgid "" +"**Note**: Column #0 always refers to the tree column, even if show=\"tree\" " +"is not specified." +msgstr "" +"**Примітка**: стовпець №0 завжди стосується стовпця дерева, навіть якщо show=" +"\"tree\" не вказано." + +msgid "Item Options" +msgstr "Параметри предмета" + +msgid "" +"The following item options may be specified for items in the insert and item " +"widget commands." +msgstr "" +"Наведені нижче параметри можна вказати для елементів у командах віджета " +"вставки та елемента." + +msgid "The textual label to display for the item." +msgstr "Текстова мітка для відображення елемента." + +msgid "A Tk Image, displayed to the left of the label." +msgstr "Зображення Tk, що відображається ліворуч від мітки." + +msgid "The list of values associated with the item." +msgstr "Список значень, пов’язаних з елементом." + +msgid "" +"Each item should have the same number of values as the widget option " +"columns. If there are fewer values than columns, the remaining values are " +"assumed empty. If there are more values than columns, the extra values are " +"ignored." +msgstr "" +"Кожен елемент має мати таку ж кількість значень, як і стовпці параметрів " +"віджета. Якщо значень менше, ніж стовпців, решта значень вважатиметься " +"порожніми. Якщо значень більше, ніж стовпців, додаткові значення ігноруються." + +msgid "open" +msgstr "ВІДЧИНЕНО" + +msgid "" +"``True``/``False`` value indicating whether the item's children should be " +"displayed or hidden." +msgstr "" +"Значення ``True``/``False``, що вказує, чи потрібно відображати або " +"приховувати дочірні елементи елемента." + +msgid "tags" +msgstr "теги" + +msgid "A list of tags associated with this item." +msgstr "Список тегів, пов’язаних із цим елементом." + +msgid "Tag Options" +msgstr "Параметри тегів" + +msgid "The following options may be specified on tags:" +msgstr "На тегах можуть бути вказані такі параметри:" + +msgid "foreground" +msgstr "передній план" + +msgid "Specifies the text foreground color." +msgstr "Визначає колір переднього плану тексту." + +msgid "Specifies the cell or item background color." +msgstr "Визначає колір тла клітинки або елемента." + +msgid "font" +msgstr "шрифт" + +msgid "Specifies the font to use when drawing text." +msgstr "Визначає шрифт для малювання тексту." + +msgid "Specifies the item image, in case the item's image option is empty." +msgstr "" +"Визначає зображення елемента, якщо параметр зображення елемента порожній." + +msgid "Column Identifiers" +msgstr "Ідентифікатори стовпців" + +msgid "Column identifiers take any of the following forms:" +msgstr "Ідентифікатори стовпців приймають будь-яку з таких форм:" + +msgid "A symbolic name from the list of columns option." +msgstr "Символічне ім'я зі списку параметрів стовпців." + +msgid "An integer n, specifying the nth data column." +msgstr "Ціле число n, що визначає n-й стовпець даних." + +msgid "" +"A string of the form #n, where n is an integer, specifying the nth display " +"column." +msgstr "" +"Рядок у формі #n, де n — ціле число, що визначає n-й стовпець відображення." + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"Item's option values may be displayed in a different order than the order in " +"which they are stored." +msgstr "" +"Значення параметрів елемента можуть відображатися в іншому порядку, ніж " +"порядок, у якому вони зберігаються." + +msgid "" +"Column #0 always refers to the tree column, even if show=\"tree\" is not " +"specified." +msgstr "" +"Стовпець #0 завжди відноситься до стовпця дерева, навіть якщо show=\"tree\" " +"не вказано." + +msgid "" +"A data column number is an index into an item's option values list; a " +"display column number is the column number in the tree where the values are " +"displayed. Tree labels are displayed in column #0. If option displaycolumns " +"is not set, then data column n is displayed in column #n+1. Again, **column " +"#0 always refers to the tree column**." +msgstr "" +"Номер стовпця даних є індексом у списку значень параметрів елемента; номер " +"стовпця відображення — це номер стовпця в дереві, де відображаються " +"значення. Мітки дерева відображаються у стовпці №0. Якщо параметр " +"displaycolumns не встановлено, стовпець даних n відображається в стовпці #n" +"+1. Знову ж таки, **стовпець №0 завжди відноситься до стовпця дерева**." + +msgid "The Treeview widget generates the following virtual events." +msgstr "Віджет Treeview генерує такі віртуальні події." + +msgid "Event" +msgstr "Подія" + +msgid "<>" +msgstr " <>" + +msgid "Generated whenever the selection changes." +msgstr "Генерується кожного разу, коли вибір змінюється." + +msgid "<>" +msgstr " <>" + +msgid "Generated just before settings the focus item to open=True." +msgstr "" +"Створено безпосередньо перед налаштуванням елемента фокусу для " +"відкриття=True." + +msgid "<>" +msgstr " <>" + +msgid "Generated just after setting the focus item to open=False." +msgstr "" +"Згенеровано одразу після встановлення для елемента фокусу значення " +"open=False." + +msgid "" +"The :meth:`Treeview.focus` and :meth:`Treeview.selection` methods can be " +"used to determine the affected item or items." +msgstr "" +"Методи :meth:`Treeview.focus` і :meth:`Treeview.selection` можна " +"використовувати для визначення постраждалого елемента або елементів." + +msgid "ttk.Treeview" +msgstr "ttk.Treeview" + +msgid "" +"Returns the bounding box (relative to the treeview widget's window) of the " +"specified *item* in the form (x, y, width, height)." +msgstr "" +"Повертає обмежувальну рамку (відносно вікна віджета перегляду дерева) " +"зазначеного *елемента* у формі (x, y, ширина, висота)." + +msgid "" +"If *column* is specified, returns the bounding box of that cell. If the " +"*item* is not visible (i.e., if it is a descendant of a closed item or is " +"scrolled offscreen), returns an empty string." +msgstr "" +"Якщо вказано *стовпець*, повертає обмежувальну рамку цієї клітинки. Якщо " +"*елемент* невидимий (тобто якщо він є нащадком закритого елемента або " +"прокручується поза екраном), повертає порожній рядок." + +msgid "Returns the list of children belonging to *item*." +msgstr "Повертає список дітей, що належать до *item*." + +msgid "If *item* is not specified, returns root children." +msgstr "Якщо *item* не вказано, повертає кореневих дітей." + +msgid "Replaces *item*'s child with *newchildren*." +msgstr "Замінює дочірній елемент *item* на *newchildren*." + +msgid "" +"Children present in *item* that are not present in *newchildren* are " +"detached from the tree. No items in *newchildren* may be an ancestor of " +"*item*. Note that not specifying *newchildren* results in detaching *item*'s " +"children." +msgstr "" +"Діти, присутні в *item*, яких немає в *newchilders*, від’єднуються від " +"дерева. Жоден елемент у *newchildren* не може бути предком *item*. Зауважте, " +"що якщо не вказати *newchilders*, дочірні елементи *item* будуть від’єднані." + +msgid "Query or modify the options for the specified *column*." +msgstr "Запитайте або змініть параметри для вказаного *стовпця*." + +msgid "" +"If *kw* is not given, returns a dict of the column option values. If " +"*option* is specified then the value for that *option* is returned. " +"Otherwise, sets the options to the corresponding values." +msgstr "" +"Якщо *kw* не вказано, повертає dict значень параметрів стовпця. Якщо вказано " +"*опцію*, повертається значення для цієї *опції*. В іншому випадку встановіть " +"параметрам відповідні значення." + +msgid "The valid options/values are:" +msgstr "Допустимі параметри/значення:" + +msgid "id" +msgstr "id" + +msgid "Returns the column name. This is a read-only option." +msgstr "Повертає назву стовпця. Це опція лише для читання." + +msgid "anchor: One of the standard Tk anchor values." +msgstr "anchor: одне зі стандартних значень прив’язки Tk." + +msgid "" +"Specifies how the text in this column should be aligned with respect to the " +"cell." +msgstr "" +"Визначає, як має бути вирівняний текст у цьому стовпці відносно клітинки." + +msgid "minwidth: width" +msgstr "minwidth: ширина" + +msgid "" +"The minimum width of the column in pixels. The treeview widget will not make " +"the column any smaller than specified by this option when the widget is " +"resized or the user drags a column." +msgstr "" +"Мінімальна ширина стовпця в пікселях. Віджет перегляду дерева не зробить " +"стовпець меншим, ніж визначено цією опцією, коли розмір віджета змінюється " +"або користувач перетягує стовпець." + +msgid "stretch: ``True``/``False``" +msgstr "stretch: ``True``/``False``" + +msgid "" +"Specifies whether the column's width should be adjusted when the widget is " +"resized." +msgstr "" +"Визначає, чи слід регулювати ширину стовпця під час зміни розміру віджета." + +msgid "width: width" +msgstr "ширина: ширина" + +msgid "The width of the column in pixels." +msgstr "Ширина стовпця в пікселях." + +msgid "To configure the tree column, call this with column = \"#0\"" +msgstr "" +"Щоб налаштувати стовпець дерева, викличте його за допомогою column = \"#0\"" + +msgid "Delete all specified *items* and all their descendants." +msgstr "Видалити всі вказані *елементи* та всіх їхніх нащадків." + +msgid "The root item may not be deleted." +msgstr "Кореневий елемент не можна видалити." + +msgid "Unlinks all of the specified *items* from the tree." +msgstr "Від’єднує всі вказані *елементи* від дерева." + +msgid "" +"The items and all of their descendants are still present, and may be " +"reinserted at another point in the tree, but will not be displayed." +msgstr "" +"Елементи та всі їхні нащадки все ще присутні та можуть бути повторно " +"вставлені в іншу точку дерева, але не відображатимуться." + +msgid "The root item may not be detached." +msgstr "Кореневий елемент не можна від’єднувати." + +msgid "Returns ``True`` if the specified *item* is present in the tree." +msgstr "Повертає ``True``, якщо вказаний *елемент* присутній у дереві." + +msgid "" +"If *item* is specified, sets the focus item to *item*. Otherwise, returns " +"the current focus item, or '' if there is none." +msgstr "" +"Якщо вказано *item*, встановлює елемент фокуса на *item*. В іншому випадку " +"повертає поточний елемент фокусу або '', якщо його немає." + +msgid "Query or modify the heading options for the specified *column*." +msgstr "Запитайте або змініть параметри заголовка для вказаного *стовпця*." + +msgid "" +"If *kw* is not given, returns a dict of the heading option values. If " +"*option* is specified then the value for that *option* is returned. " +"Otherwise, sets the options to the corresponding values." +msgstr "" +"Якщо *kw* не вказано, повертає dict значень опції заголовка. Якщо вказано " +"*параметр*, повертається значення для цього *параметра*. В іншому випадку " +"встановіть параметрам відповідні значення." + +msgid "text: text" +msgstr "текст: текст" + +msgid "The text to display in the column heading." +msgstr "Текст для відображення в заголовку стовпця." + +msgid "image: imageName" +msgstr "зображення: ім'я зображення" + +msgid "Specifies an image to display to the right of the column heading." +msgstr "" +"Визначає зображення, яке відображатиметься праворуч від заголовка стовпця." + +msgid "anchor: anchor" +msgstr "якір: якір" + +msgid "" +"Specifies how the heading text should be aligned. One of the standard Tk " +"anchor values." +msgstr "" +"Визначає, як має бути вирівняний текст заголовка. Одне зі стандартних " +"значень прив’язки Tk." + +msgid "command: callback" +msgstr "команда: зворотний виклик" + +msgid "A callback to be invoked when the heading label is pressed." +msgstr "Зворотний виклик, що викликається, коли натискається мітка заголовка." + +msgid "To configure the tree column heading, call this with column = \"#0\"." +msgstr "" +"Щоб налаштувати заголовок стовпця дерева, викличте його за допомогою column " +"= \"#0\"." + +msgid "" +"Returns a description of the specified *component* under the point given by " +"*x* and *y*, or the empty string if no such *component* is present at that " +"position." +msgstr "" +"Повертає опис зазначеного *компонента* під точкою, заданою *x* та *y*, або " +"порожній рядок, якщо такого *компонента* немає в цій позиції." + +msgid "Returns the item ID of the item at position *y*." +msgstr "Повертає ідентифікатор елемента в позиції *y*." + +msgid "Returns the data column identifier of the cell at position *x*." +msgstr "Повертає ідентифікатор стовпця даних клітинки в позиції *x*." + +msgid "The tree column has ID #0." +msgstr "Стовпець дерева має ID #0." + +msgid "Returns one of:" +msgstr "Повертає одне з:" + +msgid "region" +msgstr "область" + +msgid "meaning" +msgstr "значення" + +msgid "heading" +msgstr "заголовок" + +msgid "Tree heading area." +msgstr "Область заголовка дерева." + +msgid "separator" +msgstr "сепаратор" + +msgid "Space between two columns headings." +msgstr "Пробіл між заголовками двох стовпців." + +msgid "tree" +msgstr "дерево" + +msgid "The tree area." +msgstr "Зона дерев." + +msgid "cell" +msgstr "клітина" + +msgid "A data cell." +msgstr "Комірка даних." + +msgid "Availability: Tk 8.6." +msgstr "Наявність: Tk 8.6." + +msgid "Returns the element at position *x*, *y*." +msgstr "Повертає елемент у позиції *x*, *y*." + +msgid "" +"Returns the integer index of *item* within its parent's list of children." +msgstr "" +"Повертає цілочисельний індекс *item* у батьківському списку дочірніх " +"елементів." + +msgid "" +"Creates a new item and returns the item identifier of the newly created item." +msgstr "" +"Створює новий елемент і повертає ідентифікатор елемента щойно створеного " +"елемента." + +msgid "" +"*parent* is the item ID of the parent item, or the empty string to create a " +"new top-level item. *index* is an integer, or the value \"end\", specifying " +"where in the list of parent's children to insert the new item. If *index* is " +"less than or equal to zero, the new node is inserted at the beginning; if " +"*index* is greater than or equal to the current number of children, it is " +"inserted at the end. If *iid* is specified, it is used as the item " +"identifier; *iid* must not already exist in the tree. Otherwise, a new " +"unique identifier is generated." +msgstr "" +"*parent* — це ідентифікатор елемента батьківського елемента або порожній " +"рядок для створення нового елемента верхнього рівня. *index* — це ціле число " +"або значення \"end\", що вказує, куди в списку дочірніх елементів потрібно " +"вставити новий елемент. Якщо *index* менше або дорівнює нулю, новий вузол " +"вставляється на початку; якщо *index* більше або дорівнює поточній кількості " +"дітей, він вставляється в кінці. Якщо вказано *iid*, він використовується як " +"ідентифікатор елемента; *iid* не повинен існувати в дереві. В іншому випадку " +"генерується новий унікальний ідентифікатор." + +msgid "See `Item Options`_ for the list of available points." +msgstr "" +"Перегляньте Параметри предметів (`Item Options`_), щоб переглянути список " +"доступних точок." + +msgid "Query or modify the options for the specified *item*." +msgstr "Запитайте або змініть параметри для вказаного *елементу*." + +msgid "" +"If no options are given, a dict with options/values for the item is " +"returned. If *option* is specified then the value for that option is " +"returned. Otherwise, sets the options to the corresponding values as given " +"by *kw*." +msgstr "" +"Якщо параметри не задано, повертається dict із параметрами/значеннями для " +"елемента. Якщо вказано *параметр*, повертається значення для цього " +"параметра. В іншому випадку встановлює параметри на відповідні значення, " +"задані *kw*." + +msgid "Moves *item* to position *index* in *parent*'s list of children." +msgstr "" +"Переміщує *item* на позицію *index* у списку дочірніх елементів *батька*." + +msgid "" +"It is illegal to move an item under one of its descendants. If *index* is " +"less than or equal to zero, *item* is moved to the beginning; if greater " +"than or equal to the number of children, it is moved to the end. If *item* " +"was detached it is reattached." +msgstr "" +"Незаконно переміщувати елемент під одним із його нащадків. Якщо *index* " +"менше або дорівнює нулю, *item* переміщується на початок; якщо більше або " +"дорівнює кількості дітей, воно переміщується в кінець. Якщо *елемент* був " +"від’єднаний, він знову приєднується." + +msgid "" +"Returns the identifier of *item*'s next sibling, or '' if *item* is the last " +"child of its parent." +msgstr "" +"Повертає ідентифікатор наступного брата *item* або '', якщо *item* є " +"останнім дочірнім елементом свого батька." + +msgid "" +"Returns the ID of the parent of *item*, or '' if *item* is at the top level " +"of the hierarchy." +msgstr "" +"Повертає ідентифікатор батьківського елемента *item* або '', якщо *item* " +"знаходиться на верхньому рівні ієрархії." + +msgid "" +"Returns the identifier of *item*'s previous sibling, or '' if *item* is the " +"first child of its parent." +msgstr "" +"Повертає ідентифікатор попереднього брата *item* або '', якщо *item* є " +"першим дочірнім елементом свого батька." + +msgid "An alias for :meth:`Treeview.move`." +msgstr "Псевдонім для :meth:`Treeview.move`." + +msgid "Ensure that *item* is visible." +msgstr "Переконайтеся, що *елемент* видно." + +msgid "" +"Sets all of *item*'s ancestors open option to ``True``, and scrolls the " +"widget if necessary so that *item* is within the visible portion of the tree." +msgstr "" +"Встановлює параметр відкриття всіх предків *item* на ``True`` і прокручує " +"віджет, якщо необхідно, щоб *item* знаходився у видимій частині дерева." + +msgid "Returns a tuple of selected items." +msgstr "Повертає кортеж вибраних елементів." + +msgid "" +"``selection()`` no longer takes arguments. For changing the selection state " +"use the following selection methods." +msgstr "" +"``selection()`` більше не приймає аргументи. Для зміни стану вибору " +"використовуйте наступні методи вибору." + +msgid "*items* becomes the new selection." +msgstr "*предмети* стають новим вибором." + +msgid "" +"*items* can be passed as separate arguments, not just as a single tuple." +msgstr "" +"*items* можна передавати як окремі аргументи, а не просто як один кортеж." + +msgid "Add *items* to the selection." +msgstr "Додайте *предмети* до вибору." + +msgid "Remove *items* from the selection." +msgstr "Видалити *предмети* з вибору." + +msgid "Toggle the selection state of each item in *items*." +msgstr "Перемикайте стан вибору кожного елемента в *items*." + +msgid "" +"With one argument, returns a dictionary of column/value pairs for the " +"specified *item*. With two arguments, returns the current value of the " +"specified *column*. With three arguments, sets the value of given *column* " +"in given *item* to the specified *value*." +msgstr "" +"З одним аргументом повертає словник пар стовпець/значення для вказаного " +"*елемента*. З двома аргументами повертає поточне значення вказаного " +"*стовпця*. З трьома аргументами встановлює значення заданого *стовпця* в " +"заданому *елементі* на вказане *значення*." + +msgid "" +"Bind a callback for the given event *sequence* to the tag *tagname*. When an " +"event is delivered to an item, the callbacks for each of the item's tags " +"option are called." +msgstr "" +"Прив’яжіть зворотний виклик для даної *послідовності* події до тегу " +"*tagname*. Коли подія доставляється до елемента, викликаються зворотні " +"виклики для кожного параметра тегів елемента." + +msgid "Query or modify the options for the specified *tagname*." +msgstr "Запитайте або змініть параметри для вказаного *тегу*." + +msgid "" +"If *kw* is not given, returns a dict of the option settings for *tagname*. " +"If *option* is specified, returns the value for that *option* for the " +"specified *tagname*. Otherwise, sets the options to the corresponding values " +"for the given *tagname*." +msgstr "" +"Якщо *kw* не вказано, повертає dict налаштувань опції для *tagname*. Якщо " +"вказано *опцію*, повертає значення цієї *опції* для вказаного *тегу*. В " +"іншому випадку встановлює параметри на відповідні значення для даного *тегу*." + +msgid "" +"If *item* is specified, returns 1 or 0 depending on whether the specified " +"*item* has the given *tagname*. Otherwise, returns a list of all items that " +"have the specified tag." +msgstr "" +"Якщо вказано *item*, повертає 1 або 0 залежно від того, чи має вказаний " +"*item* заданий *тег*. В іншому випадку повертає список усіх елементів, які " +"мають вказаний тег." + +msgid "Availability: Tk 8.6" +msgstr "Наявність: Tk 8.6" + +msgid "Query or modify horizontal position of the treeview." +msgstr "Запитайте або змініть горизонтальне положення дерева." + +msgid "Query or modify vertical position of the treeview." +msgstr "Запитайте або змініть вертикальне положення дерева." + +msgid "Ttk Styling" +msgstr "Ttk Стайлінг" + +msgid "" +"Each widget in :mod:`ttk` is assigned a style, which specifies the set of " +"elements making up the widget and how they are arranged, along with dynamic " +"and default settings for element options. By default the style name is the " +"same as the widget's class name, but it may be overridden by the widget's " +"style option. If you don't know the class name of a widget, use the method :" +"meth:`Misc.winfo_class` (somewidget.winfo_class())." +msgstr "" +"Кожному віджету в :mod:`ttk` призначається стиль, який визначає набір " +"елементів, що входять до складу віджета, і те, як вони впорядковані, а також " +"динамічні параметри та налаштування за замовчуванням для параметрів " +"елемента. За замовчуванням ім’я стилю збігається з ім’ям класу віджета, але " +"його може замінити параметр стилю віджета. Якщо ви не знаєте назву класу " +"віджета, скористайтеся методом :meth:`Misc.winfo_class` (somewidget." +"winfo_class())." + +msgid "" +"`Tcl'2004 conference presentation `_" +msgstr "" + +msgid "This document explains how the theme engine works" +msgstr "У цьому документі пояснюється, як працює тематичний механізм" + +msgid "This class is used to manipulate the style database." +msgstr "Цей клас використовується для роботи з базою даних стилів." + +msgid "Query or set the default value of the specified option(s) in *style*." +msgstr "" +"Запитайте або встановіть значення за замовчуванням для вказаних параметрів у " +"*стилі*." + +msgid "" +"Each key in *kw* is an option and each value is a string identifying the " +"value for that option." +msgstr "" +"Кожен ключ у *kw* є опцією, а кожне значення є рядком, що визначає значення " +"цієї опції." + +msgid "" +"For example, to change every default button to be a flat button with some " +"padding and a different background color::" +msgstr "" +"Наприклад, щоб змінити кожну кнопку за замовчуванням на плоску кнопку з " +"відступом і іншим кольором фону:" + +msgid "Query or sets dynamic values of the specified option(s) in *style*." +msgstr "" +"Запит або встановлення динамічних значень указаних параметрів у *стилі*." + +msgid "" +"Each key in *kw* is an option and each value should be a list or a tuple " +"(usually) containing statespecs grouped in tuples, lists, or some other " +"preference. A statespec is a compound of one or more states and then a value." +msgstr "" +"Кожен ключ у *kw* є опцією, і кожне значення має бути списком або кортежем " +"(зазвичай), що містить специфікації станів, згруповані в кортежі, списки або " +"інші параметри. Специфікація стану — це сукупність одного чи кількох станів, " +"а потім значення." + +msgid "An example may make it more understandable::" +msgstr "Приклад може зробити це більш зрозумілим:" + +msgid "" +"Note that the order of the (states, value) sequences for an option does " +"matter, if the order is changed to ``[('active', 'blue'), ('pressed', " +"'red')]`` in the foreground option, for example, the result would be a blue " +"foreground when the widget were in active or pressed states." +msgstr "" +"Зауважте, що порядок послідовностей (станів, значень) для опції має " +"значення, якщо порядок змінено на ``[('активний', 'синій'), ('натиснутий', " +"'червоний')]`` у опція переднього плану, наприклад, результатом буде синій " +"передній план, коли віджет буде активним або натиснутим." + +msgid "Returns the value specified for *option* in *style*." +msgstr "Повертає значення, указане для *option* у *style*." + +msgid "" +"If *state* is specified, it is expected to be a sequence of one or more " +"states. If the *default* argument is set, it is used as a fallback value in " +"case no specification for option is found." +msgstr "" +"Якщо вказано *state*, очікується, що це буде послідовність з одного або " +"кількох станів. Якщо встановлено аргумент *за замовчуванням*, він " +"використовується як резервне значення, якщо не знайдено специфікації " +"параметра." + +msgid "To check what font a Button uses by default::" +msgstr "Щоб перевірити, який шрифт кнопка використовує за замовчуванням:" + +msgid "" +"Define the widget layout for given *style*. If *layoutspec* is omitted, " +"return the layout specification for given style." +msgstr "" +"Визначте макет віджета для даного *стилю*. Якщо *layoutspec* пропущено, " +"повертається специфікація макета для заданого стилю." + +msgid "" +"*layoutspec*, if specified, is expected to be a list or some other sequence " +"type (excluding strings), where each item should be a tuple and the first " +"item is the layout name and the second item should have the format described " +"in `Layouts`_." +msgstr "" +"*layoutspec*, якщо вказано, має бути списком або іншим типом послідовності " +"(за винятком рядків), де кожен елемент має бути кортежем, а перший елемент — " +"це ім’я макета, а другий — мати формат, описаний у розділі `Layouts`_." + +msgid "" +"To understand the format, see the following example (it is not intended to " +"do anything useful)::" +msgstr "" +"Щоб зрозуміти формат, перегляньте наведений нижче приклад (він не має на " +"меті зробити щось корисне):" + +msgid "" +"Create a new element in the current theme, of the given *etype* which is " +"expected to be either \"image\", \"from\" or \"vsapi\". The latter is only " +"available in Tk 8.6a for Windows XP and Vista and is not described here." +msgstr "" +"Створіть новий елемент у поточній темі заданого *etype*, який має бути " +"\"image\", \"from\" або \"vsapi\". Останній доступний лише в Tk 8.6a для " +"Windows XP і Vista і тут не описаний." + +msgid "" +"If \"image\" is used, *args* should contain the default image name followed " +"by statespec/value pairs (this is the imagespec), and *kw* may have the " +"following options:" +msgstr "" +"Якщо використовується \"image\", *args* має містити назву зображення за " +"замовчуванням, за якою слідують пари стану/значення (це специфікація " +"зображення), а *kw* може мати такі параметри:" + +msgid "border=padding" +msgstr "border=padding" + +msgid "" +"padding is a list of up to four integers, specifying the left, top, right, " +"and bottom borders, respectively." +msgstr "" +"padding — це список із чотирьох цілих чисел, які визначають ліву, верхню, " +"праву та нижню межі відповідно." + +msgid "height=height" +msgstr "висота=висота" + +msgid "" +"Specifies a minimum height for the element. If less than zero, the base " +"image's height is used as a default." +msgstr "" +"Визначає мінімальну висоту елемента. Якщо значення менше нуля, за " +"замовчуванням використовується висота базового зображення." + +msgid "padding=padding" +msgstr "padding=заповнення" + +msgid "" +"Specifies the element's interior padding. Defaults to border's value if not " +"specified." +msgstr "" +"Визначає внутрішнє доповнення елемента. За умовчанням використовується " +"значення рамки, якщо не вказано." + +msgid "sticky=spec" +msgstr "sticky=спец" + +msgid "" +"Specifies how the image is placed within the final parcel. spec contains " +"zero or more characters \"n\", \"s\", \"w\", or \"e\"." +msgstr "" +"Визначає, як зображення розміщується в кінцевій посилці. spec містить нуль " +"або більше символів \"n\", \"s\", \"w\" або \"e\"." + +msgid "width=width" +msgstr "ширина=ширина" + +msgid "" +"Specifies a minimum width for the element. If less than zero, the base " +"image's width is used as a default." +msgstr "" +"Визначає мінімальну ширину для елемента. Якщо значення менше нуля, за " +"замовчуванням використовується ширина базового зображення." + +msgid "" +"If \"from\" is used as the value of *etype*, :meth:`element_create` will " +"clone an existing element. *args* is expected to contain a themename, from " +"which the element will be cloned, and optionally an element to clone from. " +"If this element to clone from is not specified, an empty element will be " +"used. *kw* is discarded." +msgstr "" +"Якщо \"from\" використовується як значення *etype*, :meth:`element_create` " +"клонує існуючий елемент. Очікується, що *args* міститиме ім’я теми, з якої " +"буде клоновано елемент, і, за бажанням, елемент для клонування. Якщо цей " +"елемент для клонування не вказано, буде використано порожній елемент. *kw* " +"відкидається." + +msgid "Returns the list of elements defined in the current theme." +msgstr "Повертає список елементів, визначених у поточній темі." + +msgid "Returns the list of *elementname*'s options." +msgstr "Повертає список параметрів *elementname*." + +msgid "Create a new theme." +msgstr "Створіть нову тему." + +msgid "" +"It is an error if *themename* already exists. If *parent* is specified, the " +"new theme will inherit styles, elements and layouts from the parent theme. " +"If *settings* are present they are expected to have the same syntax used " +"for :meth:`theme_settings`." +msgstr "" +"Це помилка, якщо *themenaname* вже існує. Якщо вказано *parent*, нова тема " +"успадкує стилі, елементи та макети від батьківської теми. Якщо присутні " +"*параметри*, очікується, що вони матимуть той самий синтаксис, який " +"використовується для :meth:`theme_settings`." + +msgid "" +"Temporarily sets the current theme to *themename*, apply specified " +"*settings* and then restore the previous theme." +msgstr "" +"Тимчасово встановлює поточну тему на *themenaname*, застосовує вказані " +"*налаштування*, а потім відновлює попередню тему." + +msgid "" +"Each key in *settings* is a style and each value may contain the keys " +"'configure', 'map', 'layout' and 'element create' and they are expected to " +"have the same format as specified by the methods :meth:`Style.configure`, :" +"meth:`Style.map`, :meth:`Style.layout` and :meth:`Style.element_create` " +"respectively." +msgstr "" +"Кожен ключ у *settings* є стилем, і кожне значення може містити ключі " +"'configure', 'map', 'layout' і 'element create', і очікується, що вони " +"матимуть той самий формат, який визначено методами :meth:`Style.configure`, :" +"meth:`Style.map`, :meth:`Style.layout` і :meth:`Style.element_create` " +"відповідно." + +msgid "As an example, let's change the Combobox for the default theme a bit::" +msgstr "Як приклад, давайте трохи змінимо Combobox для теми за замовчуванням::" + +msgid "Returns a list of all known themes." +msgstr "Повертає список усіх відомих тем." + +msgid "" +"If *themename* is not given, returns the theme in use. Otherwise, sets the " +"current theme to *themename*, refreshes all widgets and emits a " +"<> event." +msgstr "" +"Якщо *themename* не вказано, повертає тему, що використовується. В іншому " +"випадку встановлює поточну тему на *themenaname*, оновлює всі віджети та " +"видає подію <>." + +msgid "Layouts" +msgstr "Макети" + +msgid "" +"A layout can be just ``None``, if it takes no options, or a dict of options " +"specifying how to arrange the element. The layout mechanism uses a " +"simplified version of the pack geometry manager: given an initial cavity, " +"each element is allocated a parcel. Valid options/values are:" +msgstr "" +"Макет може бути просто ``None``, якщо він не має параметрів, або набір " +"параметрів, що вказує, як розташувати елемент. Механізм компонування " +"використовує спрощену версію менеджера геометрії упаковки: з урахуванням " +"початкової порожнини кожному елементу виділяється ділянка. Допустимі " +"параметри/значення:" + +msgid "side: whichside" +msgstr "сторона: з якого боку" + +msgid "" +"Specifies which side of the cavity to place the element; one of top, right, " +"bottom or left. If omitted, the element occupies the entire cavity." +msgstr "" +"Визначає, з якого боку порожнини розмістити елемент; зверху, справа, знизу " +"або зліва. Якщо опущено, елемент займає всю порожнину." + +msgid "sticky: nswe" +msgstr "липкий: nswe" + +msgid "Specifies where the element is placed inside its allocated parcel." +msgstr "Визначає місце розміщення елемента всередині його виділеної ділянки." + +msgid "unit: 0 or 1" +msgstr "одиниця: 0 або 1" + +msgid "" +"If set to 1, causes the element and all of its descendants to be treated as " +"a single element for the purposes of :meth:`Widget.identify` et al. It's " +"used for things like scrollbar thumbs with grips." +msgstr "" +"Якщо встановлено значення 1, елемент і всі його нащадки розглядатимуться як " +"єдиний елемент для цілей :meth:`Widget.identify` та ін. Він використовується " +"для таких речей, як смуги прокрутки з ручками." + +msgid "children: [sublayout... ]" +msgstr "діти: [підрозділ... ]" + +msgid "" +"Specifies a list of elements to place inside the element. Each element is a " +"tuple (or other sequence type) where the first item is the layout name, and " +"the other is a `Layout`_." +msgstr "" +"Визначає список елементів для розміщення всередині елемента. Кожен елемент — " +"це кортеж (або інший тип послідовності), де перший елемент — це назва " +"макета, а інший — `Layout`_." diff --git a/library/token.po b/library/token.po new file mode 100644 index 000000000..50af82bcd --- /dev/null +++ b/library/token.po @@ -0,0 +1,278 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:15+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`token` --- Constants used with Python parse trees" +msgstr "" +":mod:`token` --- Константи, що використовуються з деревами аналізу Python" + +msgid "**Source code:** :source:`Lib/token.py`" +msgstr "**Вихідний код:** :source:`Lib/token.py`" + +msgid "" +"This module provides constants which represent the numeric values of leaf " +"nodes of the parse tree (terminal tokens). Refer to the file :file:`Grammar/" +"Tokens` in the Python distribution for the definitions of the names in the " +"context of the language grammar. The specific numeric values which the " +"names map to may change between Python versions." +msgstr "" +"Цей модуль надає константи, які представляють числові значення листових " +"вузлів дерева розбору (термінальні маркери). Зверніться до файлу :file:" +"`Grammar/Tokens` у дистрибутиві Python для визначення імен у контексті " +"граматики мови. Конкретні числові значення, на які зіставляються імена, " +"можуть змінюватися між версіями Python." + +msgid "" +"The module also provides a mapping from numeric codes to names and some " +"functions. The functions mirror definitions in the Python C header files." +msgstr "" +"Модуль також забезпечує відображення числових кодів імен і деяких функцій. " +"Функції відображають визначення у файлах заголовків Python C." + +msgid "" +"Dictionary mapping the numeric values of the constants defined in this " +"module back to name strings, allowing more human-readable representation of " +"parse trees to be generated." +msgstr "" +"Словник відображає числові значення констант, визначених у цьому модулі, на " +"рядки імен, що дозволяє створити більш зрозуміле для людини представлення " +"дерев розбору." + +msgid "Return ``True`` for terminal token values." +msgstr "Повертає ``True`` для значень термінальних маркерів." + +msgid "Return ``True`` for non-terminal token values." +msgstr "Повертає ``True`` для нетермінальних значень токенів." + +msgid "Return ``True`` if *x* is the marker indicating the end of input." +msgstr "Повертає ``True``, якщо *x* є маркером кінця введення." + +msgid "The token constants are:" +msgstr "Константи маркера:" + +msgid "Token value for ``\"(\"``." +msgstr "Значення маркера для ``\"(\"``." + +msgid "Token value for ``\")\"``." +msgstr "Значення маркера для ``)\"``." + +msgid "Token value for ``\"[\"``." +msgstr "Значення маркера для ``\"[\"``." + +msgid "Token value for ``\"]\"``." +msgstr "Значення маркера для ``\"]\"``." + +msgid "Token value for ``\":\"``." +msgstr "Значення маркера для ``\":\"``." + +msgid "Token value for ``\",\"``." +msgstr "Значення маркера для ``\",\"``." + +msgid "Token value for ``\";\"``." +msgstr "Значення маркера для ``\";\"``." + +msgid "Token value for ``\"+\"``." +msgstr "Значення маркера для ``\"+\"``." + +msgid "Token value for ``\"-\"``." +msgstr "Значення маркера для ``\"-\"``." + +msgid "Token value for ``\"*\"``." +msgstr "Значення маркера для ``\"*\"``." + +msgid "Token value for ``\"/\"``." +msgstr "Значення маркера для ``\"/\"``." + +msgid "Token value for ``\"|\"``." +msgstr "Значення маркера для ``\"|\"``." + +msgid "Token value for ``\"&\"``." +msgstr "Значення маркера для ``\"&\"``." + +msgid "Token value for ``\"<\"``." +msgstr "Значення маркера для ``\"<\"``." + +msgid "Token value for ``\">\"``." +msgstr "Значення маркера для ``\">\"``." + +msgid "Token value for ``\"=\"``." +msgstr "Значення маркера для ``\"=\"``." + +msgid "Token value for ``\".\"``." +msgstr "Значення маркера для ``\".\"``." + +msgid "Token value for ``\"%\"``." +msgstr "Значення маркера для ``\"%\"``." + +msgid "Token value for ``\"{\"``." +msgstr "Значення маркера для ``\"{\"``." + +msgid "Token value for ``\"}\"``." +msgstr "Значення маркера для ``\"}\"``." + +msgid "Token value for ``\"==\"``." +msgstr "Значення маркера для ``\"==\"``." + +msgid "Token value for ``\"!=\"``." +msgstr "Значення маркера для ``\"!=\"``." + +msgid "Token value for ``\"<=\"``." +msgstr "Значення маркера для ``\"<=\"``." + +msgid "Token value for ``\">=\"``." +msgstr "Значення маркера для ``\">=\"``." + +msgid "Token value for ``\"~\"``." +msgstr "Значення маркера для ``\"~\"``." + +msgid "Token value for ``\"^\"``." +msgstr "Значення маркера для ``\"^\"``." + +msgid "Token value for ``\"<<\"``." +msgstr "Значення маркера для ``\"<<\"``." + +msgid "Token value for ``\">>\"``." +msgstr "Значення маркера для ``\">>\"``." + +msgid "Token value for ``\"**\"``." +msgstr "Значення маркера для ``\"**\"``." + +msgid "Token value for ``\"+=\"``." +msgstr "Значення маркера для ``\"+=\"``." + +msgid "Token value for ``\"-=\"``." +msgstr "Значення маркера для ``\"-=\"``." + +msgid "Token value for ``\"*=\"``." +msgstr "Значення маркера для ``\"*=\"``." + +msgid "Token value for ``\"/=\"``." +msgstr "Значення маркера для ``\"/=\"``." + +msgid "Token value for ``\"%=\"``." +msgstr "Значення маркера для ``\"%=\"``." + +msgid "Token value for ``\"&=\"``." +msgstr "Значення маркера для ``\"&=\"``." + +msgid "Token value for ``\"|=\"``." +msgstr "Значення маркера для ``\"|=\"``." + +msgid "Token value for ``\"^=\"``." +msgstr "Значення маркера для ``\"^=\"``." + +msgid "Token value for ``\"<<=\"``." +msgstr "Значення маркера для ``\"<<=\"``." + +msgid "Token value for ``\">>=\"``." +msgstr "Значення маркера для ``\">>=\"``." + +msgid "Token value for ``\"**=\"``." +msgstr "Значення маркера для ``\"**=\"``." + +msgid "Token value for ``\"//\"``." +msgstr "Значення маркера для ``\"//\"``." + +msgid "Token value for ``\"//=\"``." +msgstr "Значення маркера для ``\"//=\"``." + +msgid "Token value for ``\"@\"``." +msgstr "Значення маркера для ``\"@\"``." + +msgid "Token value for ``\"@=\"``." +msgstr "Значення маркера для ``\"@=\"``." + +msgid "Token value for ``\"->\"``." +msgstr "Значення маркера для ``\"->\"``." + +msgid "Token value for ``\"...\"``." +msgstr "Значення маркера для ``\"....\"``." + +msgid "Token value for ``\":=\"``." +msgstr "Значення маркера для ``\":=\"``." + +msgid "" +"The following token type values aren't used by the C tokenizer but are " +"needed for the :mod:`tokenize` module." +msgstr "" +"Наступні значення типу маркера не використовуються токенізатором C, але " +"потрібні для модуля :mod:`tokenize`." + +msgid "Token value used to indicate a comment." +msgstr "Значення маркера, що використовується для позначення коментаря." + +msgid "" +"Token value used to indicate a non-terminating newline. The :data:`NEWLINE` " +"token indicates the end of a logical line of Python code; ``NL`` tokens are " +"generated when a logical line of code is continued over multiple physical " +"lines." +msgstr "" +"Значення маркера, яке використовується для вказівки незавершеного нового " +"рядка. Маркер :data:`NEWLINE` вказує на кінець логічного рядка коду Python; " +"Токени ``NL`` генеруються, коли логічний рядок коду продовжується на кількох " +"фізичних рядках." + +msgid "" +"Token value that indicates the encoding used to decode the source bytes into " +"text. The first token returned by :func:`tokenize.tokenize` will always be " +"an ``ENCODING`` token." +msgstr "" +"Значення маркера, яке вказує на кодування, яке використовується для " +"декодування вихідних байтів у текст. Перший маркер, який повертає :func:" +"`tokenize.tokenize`, завжди буде маркером ``ENCODING``." + +msgid "" +"Token value indicating that a type comment was recognized. Such tokens are " +"only produced when :func:`ast.parse()` is invoked with " +"``type_comments=True``." +msgstr "" +"Значення маркера, яке вказує, що коментар типу було розпізнано. Такі маркери " +"створюються лише тоді, коли :func:`ast.parse()` викликається з " +"``type_comments=True``." + +msgid "Added :data:`AWAIT` and :data:`ASYNC` tokens." +msgstr "Додано маркери :data:`AWAIT` і :data:`ASYNC`." + +msgid "Added :data:`COMMENT`, :data:`NL` and :data:`ENCODING` tokens." +msgstr "Додано маркери :data:`COMMENT`, :data:`NL` і :data:`ENCODING`." + +msgid "" +"Removed :data:`AWAIT` and :data:`ASYNC` tokens. \"async\" and \"await\" are " +"now tokenized as :data:`NAME` tokens." +msgstr "" +"Видалено маркери :data:`AWAIT` і :data:`ASYNC`. \"async\" і \"await\" тепер " +"позначено як маркери :data:`NAME`." + +msgid "" +"Added :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. Added :" +"data:`AWAIT` and :data:`ASYNC` tokens back (they're needed to support " +"parsing older Python versions for :func:`ast.parse` with ``feature_version`` " +"set to 6 or lower)." +msgstr "" +"Додано :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. " +"Повернуто маркери :data:`AWAIT` і :data:`ASYNC` (вони потрібні для підтримки " +"розбору старих версій Python для :func:`ast.parse` з ``feature_version``, " +"встановленим на 6 або нижче)." diff --git a/library/tokenize.po b/library/tokenize.po new file mode 100644 index 000000000..de9603ecc --- /dev/null +++ b/library/tokenize.po @@ -0,0 +1,319 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tokenize` --- Tokenizer for Python source" +msgstr ":mod:`tokenize` --- Токенізатор для джерела Python" + +msgid "**Source code:** :source:`Lib/tokenize.py`" +msgstr "**Вихідний код:** :source:`Lib/tokenize.py`" + +msgid "" +"The :mod:`tokenize` module provides a lexical scanner for Python source " +"code, implemented in Python. The scanner in this module returns comments as " +"tokens as well, making it useful for implementing \"pretty-printers\", " +"including colorizers for on-screen displays." +msgstr "" +"Модуль :mod:`tokenize` забезпечує лексичний сканер вихідного коду Python, " +"реалізований на Python. Сканер у цьому модулі також повертає коментарі як " +"токени, що робить його корисним для реалізації \"красивих принтерів\", " +"включаючи розфарбовувачі для екранних дисплеїв." + +msgid "" +"To simplify token stream handling, all :ref:`operator ` and :ref:" +"`delimiter ` tokens and :data:`Ellipsis` are returned using the " +"generic :data:`~token.OP` token type. The exact type can be determined by " +"checking the ``exact_type`` property on the :term:`named tuple` returned " +"from :func:`tokenize.tokenize`." +msgstr "" +"Щоб спростити обробку потоку маркерів, усі маркери :ref:`operator " +"` і :ref:`delimiter ` і :data:`Ellipsis` повертаються " +"за допомогою загального типу токена :data:`~token.OP`. Точний тип можна " +"визначити, перевіривши властивість ``exact_type`` кортежу :term:`named " +"tuple`, який повертається з :func:`tokenize.tokenize`." + +msgid "Tokenizing Input" +msgstr "Токенізований вхід" + +msgid "The primary entry point is a :term:`generator`:" +msgstr "Основною точкою входу є :term:`generator`:" + +msgid "" +"The :func:`.tokenize` generator requires one argument, *readline*, which " +"must be a callable object which provides the same interface as the :meth:`io." +"IOBase.readline` method of file objects. Each call to the function should " +"return one line of input as bytes." +msgstr "" +"Для генератора :func:`.tokenize` потрібен один аргумент, *readline*, який " +"має бути викликаним об’єктом, який забезпечує той самий інтерфейс, що й " +"метод :meth:`io.IOBase.readline` файлових об’єктів. Кожен виклик функції має " +"повертати один рядок введення у вигляді байтів." + +msgid "" +"The generator produces 5-tuples with these members: the token type; the " +"token string; a 2-tuple ``(srow, scol)`` of ints specifying the row and " +"column where the token begins in the source; a 2-tuple ``(erow, ecol)`` of " +"ints specifying the row and column where the token ends in the source; and " +"the line on which the token was found. The line passed (the last tuple item) " +"is the *physical* line. The 5 tuple is returned as a :term:`named tuple` " +"with the field names: ``type string start end line``." +msgstr "" +"Генератор створює 5-кортежі з такими членами: тип маркера; рядок маркера; 2-" +"кортеж ``(srow, scol)`` int, що визначає рядок і стовпець, де починається " +"маркер у джерелі; 2-кортеж ``(erow, ecol)`` int, що визначає рядок і " +"стовпець, де закінчується маркер у джерелі; і рядок, на якому було знайдено " +"маркер. Пропущений рядок (останній елемент кортежу) є *фізичним* рядком. " +"Кортеж 5 повертається як :term:`named tuple` з іменами полів: ``type string " +"start end line``." + +msgid "" +"The returned :term:`named tuple` has an additional property named " +"``exact_type`` that contains the exact operator type for :data:`~token.OP` " +"tokens. For all other token types ``exact_type`` equals the named tuple " +"``type`` field." +msgstr "" +"Повернений кортеж :term:`named tuple` має додаткову властивість під назвою " +"``exact_type``, яка містить точний тип оператора для токенів :data:`~token." +"OP`. Для всіх інших типів токенів ``точний_тип`` дорівнює іменованому полю " +"``тип`` кортежу." + +msgid "Added support for named tuples." +msgstr "Додано підтримку іменованих кортежів." + +msgid "Added support for ``exact_type``." +msgstr "Додано підтримку ``exact_type``." + +msgid "" +":func:`.tokenize` determines the source encoding of the file by looking for " +"a UTF-8 BOM or encoding cookie, according to :pep:`263`." +msgstr "" +":func:`.tokenize` визначає вихідне кодування файлу, шукаючи специфікацію " +"UTF-8 або кодування cookie, відповідно до :pep:`263`." + +msgid "Tokenize a source reading unicode strings instead of bytes." +msgstr "Токенізуйте джерело, яке читає рядки Unicode замість байтів." + +msgid "" +"Like :func:`.tokenize`, the *readline* argument is a callable returning a " +"single line of input. However, :func:`generate_tokens` expects *readline* to " +"return a str object rather than bytes." +msgstr "" +"Як і :func:`.tokenize`, аргумент *readline* є викликом, що повертає один " +"рядок введення. Однак :func:`generate_tokens` очікує, що *readline* " +"повертатиме об’єкт str, а не байти." + +msgid "" +"The result is an iterator yielding named tuples, exactly like :func:`." +"tokenize`. It does not yield an :data:`~token.ENCODING` token." +msgstr "" +"Результатом є ітератор, який видає іменовані кортежі, точно як :func:`." +"tokenize`. Він не дає маркер :data:`~token.ENCODING`." + +msgid "" +"All constants from the :mod:`token` module are also exported from :mod:" +"`tokenize`." +msgstr "" +"Усі константи з модуля :mod:`token` також експортуються з :mod:`tokenize`." + +msgid "" +"Another function is provided to reverse the tokenization process. This is " +"useful for creating tools that tokenize a script, modify the token stream, " +"and write back the modified script." +msgstr "" +"Ще одна функція передбачена для зворотного процесу токенізації. Це корисно " +"для створення інструментів, які токенізують сценарій, змінюють потік " +"маркерів і записують назад змінений сценарій." + +msgid "" +"Converts tokens back into Python source code. The *iterable* must return " +"sequences with at least two elements, the token type and the token string. " +"Any additional sequence elements are ignored." +msgstr "" +"Перетворює маркери назад у вихідний код Python. *iterable* має повертати " +"послідовності принаймні з двома елементами, типом маркера та рядком маркера. " +"Будь-які додаткові елементи послідовності ігноруються." + +msgid "" +"The reconstructed script is returned as a single string. The result is " +"guaranteed to tokenize back to match the input so that the conversion is " +"lossless and round-trips are assured. The guarantee applies only to the " +"token type and token string as the spacing between tokens (column positions) " +"may change." +msgstr "" +"Реконструйований сценарій повертається як один рядок. Результат гарантовано " +"токенізуватиметься назад, щоб відповідати вхідним даним, так що перетворення " +"буде без втрат і зворотні передачі будуть забезпечені. Гарантія поширюється " +"лише на тип маркера та рядок маркера, оскільки відстань між маркерами " +"(позиції стовпців) може змінюватися." + +msgid "" +"It returns bytes, encoded using the :data:`~token.ENCODING` token, which is " +"the first token sequence output by :func:`.tokenize`. If there is no " +"encoding token in the input, it returns a str instead." +msgstr "" +"Він повертає байти, закодовані за допомогою маркера :data:`~token.ENCODING`, " +"який є першою послідовністю маркерів, виведеною :func:`.tokenize`. Якщо у " +"вхідних даних немає маркера кодування, натомість повертається str." + +msgid "" +":func:`.tokenize` needs to detect the encoding of source files it tokenizes. " +"The function it uses to do this is available:" +msgstr "" +":func:`.tokenize` має визначити кодування вихідних файлів, які він " +"токенізує. Доступна функція, яку він використовує для цього:" + +msgid "" +"The :func:`detect_encoding` function is used to detect the encoding that " +"should be used to decode a Python source file. It requires one argument, " +"readline, in the same way as the :func:`.tokenize` generator." +msgstr "" +"Функція :func:`detect_encoding` використовується для визначення кодування, " +"яке слід використовувати для декодування вихідного файлу Python. Для нього " +"потрібен один аргумент, readline, так само, як і генератор :func:`.tokenize`." + +msgid "" +"It will call readline a maximum of twice, and return the encoding used (as a " +"string) and a list of any lines (not decoded from bytes) it has read in." +msgstr "" +"Він викличе readline щонайбільше двічі та поверне використане кодування (як " +"рядок) і список будь-яких рядків (не декодованих із байтів), які він " +"прочитав." + +msgid "" +"It detects the encoding from the presence of a UTF-8 BOM or an encoding " +"cookie as specified in :pep:`263`. If both a BOM and a cookie are present, " +"but disagree, a :exc:`SyntaxError` will be raised. Note that if the BOM is " +"found, ``'utf-8-sig'`` will be returned as an encoding." +msgstr "" +"Він визначає кодування за наявністю специфікації UTF-8 або файлу cookie " +"кодування, як зазначено в :pep:`263`. Якщо і специфікація, і файл cookie " +"присутні, але не узгоджуються, виникне :exc:`SyntaxError`. Зауважте, що якщо " +"специфікацію буде знайдено, як кодування буде повернуто ``'utf-8-sig``." + +msgid "" +"If no encoding is specified, then the default of ``'utf-8'`` will be " +"returned." +msgstr "" +"Якщо кодування не вказано, буде повернено значення за замовчуванням " +"``'utf-8``." + +msgid "" +"Use :func:`.open` to open Python source files: it uses :func:" +"`detect_encoding` to detect the file encoding." +msgstr "" +"Використовуйте :func:`.open` для відкриття вихідних файлів Python: він " +"використовує :func:`detect_encoding` для визначення кодування файлу." + +msgid "" +"Open a file in read only mode using the encoding detected by :func:" +"`detect_encoding`." +msgstr "" +"Відкрийте файл у режимі лише для читання, використовуючи кодування, " +"визначене :func:`detect_encoding`." + +msgid "" +"Raised when either a docstring or expression that may be split over several " +"lines is not completed anywhere in the file, for example::" +msgstr "" +"Викликається, коли рядок документа або вираз, які можуть бути розділені на " +"кілька рядків, не завершені ніде у файлі, наприклад::" + +msgid "or::" +msgstr "або::" + +msgid "" +"Note that unclosed single-quoted strings do not cause an error to be raised. " +"They are tokenized as :data:`~token.ERRORTOKEN`, followed by the " +"tokenization of their contents." +msgstr "" +"Зауважте, що незакриті рядки в одинарних лапках не викликають помилки. Вони " +"токенізуються як :data:`~token.ERRORTOKEN`, після чого відбувається " +"токенізація їхнього вмісту." + +msgid "Command-Line Usage" +msgstr "Використання командного рядка" + +msgid "" +"The :mod:`tokenize` module can be executed as a script from the command " +"line. It is as simple as:" +msgstr "" +"Модуль :mod:`tokenize` можна запустити як скрипт із командного рядка. Це так " +"просто:" + +msgid "The following options are accepted:" +msgstr "Приймаються такі варіанти:" + +msgid "show this help message and exit" +msgstr "показати це довідкове повідомлення та вийти" + +msgid "display token names using the exact type" +msgstr "відображати імена токенів, використовуючи точний тип" + +msgid "" +"If :file:`filename.py` is specified its contents are tokenized to stdout. " +"Otherwise, tokenization is performed on stdin." +msgstr "" +"Якщо вказано :file:`filename.py`, його вміст токенізується до stdout. В " +"іншому випадку токенізація виконується на stdin." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Example of a script rewriter that transforms float literals into Decimal " +"objects::" +msgstr "" +"Приклад сценарію переписувача, який перетворює плаваючі літерали в десяткові " +"об’єкти::" + +msgid "Example of tokenizing from the command line. The script::" +msgstr "Приклад токенізації з командного рядка. Сценарій::" + +msgid "" +"will be tokenized to the following output where the first column is the " +"range of the line/column coordinates where the token is found, the second " +"column is the name of the token, and the final column is the value of the " +"token (if any)" +msgstr "" +"буде токенизовано до наступного виводу, де перший стовпець — діапазон " +"координат рядка/стовпця, де знайдено маркер, другий стовпець — ім’я маркера, " +"а останній стовпець — значення маркера (якщо є)" + +msgid "" +"The exact token type names can be displayed using the :option:`-e` option:" +msgstr "" +"Точні назви типів маркерів можна відобразити за допомогою параметра :option:" +"`-e`:" + +msgid "" +"Example of tokenizing a file programmatically, reading unicode strings " +"instead of bytes with :func:`generate_tokens`::" +msgstr "" +"Приклад токенізації файлу програмним шляхом, зчитування рядків Unicode " +"замість байтів за допомогою :func:`generate_tokens`::" + +msgid "Or reading bytes directly with :func:`.tokenize`::" +msgstr "Або читання байтів безпосередньо за допомогою :func:`.tokenize`::" diff --git a/library/tomllib.po b/library/tomllib.po new file mode 100644 index 000000000..b3c5d28d8 --- /dev/null +++ b/library/tomllib.po @@ -0,0 +1,164 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2022-11-05 19:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tomllib` --- Parse TOML files" +msgstr "" + +msgid "**Source code:** :source:`Lib/tomllib`" +msgstr "" + +msgid "" +"This module provides an interface for parsing TOML (Tom's Obvious Minimal " +"Language, `https://toml.io `_). This module does not " +"support writing TOML." +msgstr "" + +msgid "" +"The `Tomli-W package `__ is a TOML writer " +"that can be used in conjunction with this module, providing a write API " +"familiar to users of the standard library :mod:`marshal` and :mod:`pickle` " +"modules." +msgstr "" + +msgid "" +"The `TOML Kit package `__ is a style-" +"preserving TOML library with both read and write capability. It is a " +"recommended replacement for this module for editing already existing TOML " +"files." +msgstr "" + +msgid "This module defines the following functions:" +msgstr "Цей модуль визначає такі функції:" + +msgid "" +"Read a TOML file. The first argument should be a readable and binary file " +"object. Return a :class:`dict`. Convert TOML types to Python using this :ref:" +"`conversion table `." +msgstr "" + +msgid "" +"*parse_float* will be called with the string of every TOML float to be " +"decoded. By default, this is equivalent to ``float(num_str)``. This can be " +"used to use another datatype or parser for TOML floats (e.g. :class:`decimal." +"Decimal`). The callable must not return a :class:`dict` or a :class:`list`, " +"else a :exc:`ValueError` is raised." +msgstr "" + +msgid "A :exc:`TOMLDecodeError` will be raised on an invalid TOML document." +msgstr "" + +msgid "" +"Load TOML from a :class:`str` object. Return a :class:`dict`. Convert TOML " +"types to Python using this :ref:`conversion table `. The " +"*parse_float* argument has the same meaning as in :func:`load`." +msgstr "" + +msgid "The following exceptions are available:" +msgstr "" + +msgid "Subclass of :exc:`ValueError`." +msgstr "" + +msgid "Examples" +msgstr "Приклади" + +msgid "Parsing a TOML file::" +msgstr "" + +msgid "Parsing a TOML string::" +msgstr "" + +msgid "Conversion Table" +msgstr "" + +msgid "TOML" +msgstr "" + +msgid "Python" +msgstr "Python" + +msgid "table" +msgstr "" + +msgid "dict" +msgstr "дикт" + +msgid "string" +msgstr "рядок" + +msgid "str" +msgstr "вул" + +msgid "integer" +msgstr "ціле число" + +msgid "int" +msgstr "int" + +msgid "float" +msgstr "плавати" + +msgid "float (configurable with *parse_float*)" +msgstr "" + +msgid "boolean" +msgstr "логічний" + +msgid "bool" +msgstr "bool" + +msgid "offset date-time" +msgstr "" + +msgid "" +"datetime.datetime (``tzinfo`` attribute set to an instance of ``datetime." +"timezone``)" +msgstr "" + +msgid "local date-time" +msgstr "" + +msgid "datetime.datetime (``tzinfo`` attribute set to ``None``)" +msgstr "" + +msgid "local date" +msgstr "" + +msgid "datetime.date" +msgstr "" + +msgid "local time" +msgstr "" + +msgid "datetime.time" +msgstr "" + +msgid "array" +msgstr "масив" + +msgid "list" +msgstr "список" diff --git a/library/trace.po b/library/trace.po new file mode 100644 index 000000000..6e8b85a7a --- /dev/null +++ b/library/trace.po @@ -0,0 +1,278 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`trace` --- Trace or track Python statement execution" +msgstr "" +":mod:`trace` --- Відстеження або відстеження виконання оператора Python" + +msgid "**Source code:** :source:`Lib/trace.py`" +msgstr "**Вихідний код:** :source:`Lib/trace.py`" + +msgid "" +"The :mod:`trace` module allows you to trace program execution, generate " +"annotated statement coverage listings, print caller/callee relationships and " +"list functions executed during a program run. It can be used in another " +"program or from the command line." +msgstr "" +"Модуль :mod:`trace` дозволяє вам відстежувати виконання програми, генерувати " +"списки охоплення анотованих інструкцій, друкувати зв’язки між викликами та " +"функціями списку, що виконуються під час виконання програми. Його можна " +"використовувати в іншій програмі або з командного рядка." + +msgid "`Coverage.py `_" +msgstr "`Coverage.py `_" + +msgid "" +"A popular third-party coverage tool that provides HTML output along with " +"advanced features such as branch coverage." +msgstr "" +"Популярний сторонній інструмент покриття, який забезпечує виведення HTML " +"разом із розширеними функціями, такими як покриття гілок." + +msgid "Command-Line Usage" +msgstr "Використання командного рядка" + +msgid "" +"The :mod:`trace` module can be invoked from the command line. It can be as " +"simple as ::" +msgstr "" +"Модуль :mod:`trace` можна викликати з командного рядка. Це може бути так " +"просто::" + +msgid "" +"The above will execute :file:`somefile.py` and generate annotated listings " +"of all Python modules imported during the execution into the current " +"directory." +msgstr "" +"Вищезазначене виконає :file:`somefile.py` і створить анотовані списки всіх " +"модулів Python, імпортованих під час виконання в поточний каталог." + +msgid "Display usage and exit." +msgstr "Показ використання та вихід." + +msgid "Display the version of the module and exit." +msgstr "Відображення версії модуля та вихід." + +msgid "Added ``--module`` option that allows to run an executable module." +msgstr "" +"Додано параметр ``--module``, який дозволяє запускати виконуваний модуль." + +msgid "Main options" +msgstr "Основні параметри" + +msgid "" +"At least one of the following options must be specified when invoking :mod:" +"`trace`. The :option:`--listfuncs <-l>` option is mutually exclusive with " +"the :option:`--trace <-t>` and :option:`--count <-c>` options. When :option:" +"`--listfuncs <-l>` is provided, neither :option:`--count <-c>` nor :option:" +"`--trace <-t>` are accepted, and vice versa." +msgstr "" +"Під час виклику :mod:`trace` необхідно вказати принаймні одну з наступних " +"опцій. Опція :option:`--listfuncs <-l>` є взаємовиключною з опціями :option:" +"`--trace <-t>` і :option:`--count <-c>`. Коли надається :option:`--listfuncs " +"<-l>`, ні :option:`--count <-c>`, ні :option:`--trace <-t>` не приймаються, " +"і навпаки." + +msgid "" +"Produce a set of annotated listing files upon program completion that shows " +"how many times each statement was executed. See also :option:`--coverdir <-" +"C>`, :option:`--file <-f>` and :option:`--no-report <-R>` below." +msgstr "" +"Після завершення програми створити набір анотованих файлів списку, який " +"показує, скільки разів було виконано кожен оператор. Дивіться також :option:" +"`--coverdir <-C>`, :option:`--file <-f>` і :option:`--no-report <-R>` нижче." + +msgid "Display lines as they are executed." +msgstr "Відображення рядків у міру їх виконання." + +msgid "Display the functions executed by running the program." +msgstr "Відображення функцій, які виконуються під час запуску програми." + +msgid "" +"Produce an annotated list from an earlier program run that used the :option:" +"`--count <-c>` and :option:`--file <-f>` option. This does not execute any " +"code." +msgstr "" +"Створіть анотований список із попередньої програми, яка використовувала " +"параметри :option:`--count <-c>` і :option:`--file <-f>`. Це не виконує " +"жодного коду." + +msgid "Display the calling relationships exposed by running the program." +msgstr "Відображення зв’язків викликів, відкритих під час запуску програми." + +msgid "Modifiers" +msgstr "Модифікатори" + +msgid "" +"Name of a file to accumulate counts over several tracing runs. Should be " +"used with the :option:`--count <-c>` option." +msgstr "" +"Ім'я файлу для накопичення підрахунків протягом кількох трасування. Слід " +"використовувати з параметром :option:`--count <-c>`." + +msgid "" +"Directory where the report files go. The coverage report for ``package." +"module`` is written to file :file:`{dir}/{package}/{module}.cover`." +msgstr "" +"Каталог, куди зберігаються файли звіту. Звіт про покриття для ``package." +"module`` записується у файл :file:`{dir}/{package}/{module}.cover`." + +msgid "" +"When generating annotated listings, mark lines which were not executed with " +"``>>>>>>``." +msgstr "" +"Під час створення анотованих списків позначайте рядки, які не були виконані, " +"``>>>>>>``." + +msgid "" +"When using :option:`--count <-c>` or :option:`--report <-r>`, write a brief " +"summary to stdout for each file processed." +msgstr "" +"Якщо використовується :option:`--count <-c>` або :option:`--report <-r>`, " +"напишіть короткий підсумок у stdout для кожного обробленого файлу." + +msgid "" +"Do not generate annotated listings. This is useful if you intend to make " +"several runs with :option:`--count <-c>`, and then produce a single set of " +"annotated listings at the end." +msgstr "" +"Не створюйте анотовані списки. Це корисно, якщо ви маєте намір зробити " +"кілька запусків за допомогою :option:`--count <-c>`, а потім створити єдиний " +"набір анотованих списків у кінці." + +msgid "" +"Prefix each line with the time since the program started. Only used while " +"tracing." +msgstr "" +"Перед кожним рядком додайте час із моменту запуску програми. " +"Використовується лише під час трасування." + +msgid "Filters" +msgstr "Фільтри" + +msgid "These options may be repeated multiple times." +msgstr "Ці параметри можна повторювати кілька разів." + +msgid "" +"Ignore each of the given module names and its submodules (if it is a " +"package). The argument can be a list of names separated by a comma." +msgstr "" +"Ігноруйте кожне з указаних імен модулів і його підмодулів (якщо це пакет). " +"Аргументом може бути список імен, розділених комою." + +msgid "" +"Ignore all modules and packages in the named directory and subdirectories. " +"The argument can be a list of directories separated by :data:`os.pathsep`." +msgstr "" +"Ігноруйте всі модулі та пакунки в названому каталозі та підкаталогах. " +"Аргументом може бути список каталогів, розділених :data:`os.pathsep`." + +msgid "Programmatic Interface" +msgstr "Програмний інтерфейс" + +msgid "" +"Create an object to trace execution of a single statement or expression. " +"All parameters are optional. *count* enables counting of line numbers. " +"*trace* enables line execution tracing. *countfuncs* enables listing of the " +"functions called during the run. *countcallers* enables call relationship " +"tracking. *ignoremods* is a list of modules or packages to ignore. " +"*ignoredirs* is a list of directories whose modules or packages should be " +"ignored. *infile* is the name of the file from which to read stored count " +"information. *outfile* is the name of the file in which to write updated " +"count information. *timing* enables a timestamp relative to when tracing " +"was started to be displayed." +msgstr "" +"Створіть об’єкт для відстеження виконання окремого оператора або виразу. Усі " +"параметри є необов’язковими. *count* дозволяє підрахувати номери рядків. " +"*trace* дозволяє відстежувати виконання рядків. *countfuncs* дозволяє " +"відобразити список функцій, викликаних під час виконання. *countcallers* дає " +"змогу відстежувати взаємозв’язок викликів. *ignoremods* — це список модулів " +"або пакетів, які потрібно ігнорувати. *ignoredirs* — це список каталогів, " +"модулі чи пакунки яких слід ігнорувати. *infile* — це ім’я файлу, з якого " +"читається збережена інформація про кількість. *outfile* — це ім’я файлу, у " +"який потрібно записати оновлену інформацію про кількість. *час* дозволяє " +"відображати мітку часу щодо початку трасування." + +msgid "" +"Execute the command and gather statistics from the execution with the " +"current tracing parameters. *cmd* must be a string or code object, suitable " +"for passing into :func:`exec`." +msgstr "" +"Виконайте команду та зберіть статистику виконання з поточними параметрами " +"трасування. *cmd* має бути рядком або кодовим об’єктом, придатним для " +"передачі в :func:`exec`." + +msgid "" +"Execute the command and gather statistics from the execution with the " +"current tracing parameters, in the defined global and local environments. " +"If not defined, *globals* and *locals* default to empty dictionaries." +msgstr "" +"Виконайте команду та зберіть статистику виконання з поточними параметрами " +"трасування у визначених глобальних і локальних середовищах. Якщо не " +"визначено, *globals* і *locals* за замовчуванням порожні словники." + +msgid "" +"Call *func* with the given arguments under control of the :class:`Trace` " +"object with the current tracing parameters." +msgstr "" +"Викликати *func* із заданими аргументами під керуванням об’єкта :class:" +"`Trace` із поточними параметрами трасування." + +msgid "" +"Return a :class:`CoverageResults` object that contains the cumulative " +"results of all previous calls to ``run``, ``runctx`` and ``runfunc`` for the " +"given :class:`Trace` instance. Does not reset the accumulated trace results." +msgstr "" +"Повертає об’єкт :class:`CoverageResults`, який містить сукупні результати " +"всіх попередніх викликів ``run``, ``runctx`` і ``runfunc`` для даного " +"екземпляра :class:`Trace`. Не скидає накопичені результати трасування." + +msgid "" +"A container for coverage results, created by :meth:`Trace.results`. Should " +"not be created directly by the user." +msgstr "" +"Контейнер для результатів покриття, створений :meth:`Trace.results`. Не має " +"створюватися безпосередньо користувачем." + +msgid "Merge in data from another :class:`CoverageResults` object." +msgstr "Об’єднати дані з іншого об’єкта :class:`CoverageResults`." + +msgid "" +"Write coverage results. Set *show_missing* to show lines that had no hits. " +"Set *summary* to include in the output the coverage summary per module. " +"*coverdir* specifies the directory into which the coverage result files will " +"be output. If ``None``, the results for each source file are placed in its " +"directory." +msgstr "" +"Напишіть результати покриття. Встановіть *show_missing*, щоб показувати " +"рядки, які не мали збігів. Встановіть *summary*, щоб включити до вихідних " +"даних підсумок покриття для кожного модуля. *coverdir* вказує каталог, у " +"який будуть виведені файли результатів покриття. Якщо ``None``, результати " +"для кожного вихідного файлу розміщуються в його каталозі." + +msgid "A simple example demonstrating the use of the programmatic interface::" +msgstr "Простий приклад, що демонструє використання програмного інтерфейсу:" diff --git a/library/traceback.po b/library/traceback.po new file mode 100644 index 000000000..b376ec92b --- /dev/null +++ b/library/traceback.po @@ -0,0 +1,545 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`traceback` --- Print or retrieve a stack traceback" +msgstr "" +":mod:`traceback` --- Надрукувати або отримати зворотне трасування стека" + +msgid "**Source code:** :source:`Lib/traceback.py`" +msgstr "**Вихідний код:** :source:`Lib/traceback.py`" + +msgid "" +"This module provides a standard interface to extract, format and print stack " +"traces of Python programs. It exactly mimics the behavior of the Python " +"interpreter when it prints a stack trace. This is useful when you want to " +"print stack traces under program control, such as in a \"wrapper\" around " +"the interpreter." +msgstr "" +"Цей модуль надає стандартний інтерфейс для вилучення, форматування та друку " +"трасування стека програм Python. Він точно імітує поведінку інтерпретатора " +"Python, коли він друкує трасування стека. Це корисно, коли ви хочете " +"надрукувати трасування стека під керуванням програми, наприклад, у \"обгортці" +"\" навколо інтерпретатора." + +msgid "" +"The module uses traceback objects --- this is the object type that is stored " +"in the :data:`sys.last_traceback` variable and returned as the third item " +"from :func:`sys.exc_info`." +msgstr "" +"Модуль використовує об’єкти трасування --- це тип об’єкта, який зберігається " +"у змінній :data:`sys.last_traceback` і повертається як третій елемент із :" +"func:`sys.exc_info`." + +msgid "The module defines the following functions:" +msgstr "Модуль визначає такі функції:" + +msgid "" +"Print up to *limit* stack trace entries from traceback object *tb* (starting " +"from the caller's frame) if *limit* is positive. Otherwise, print the last " +"``abs(limit)`` entries. If *limit* is omitted or ``None``, all entries are " +"printed. If *file* is omitted or ``None``, the output goes to ``sys." +"stderr``; otherwise it should be an open file or file-like object to receive " +"the output." +msgstr "" +"Друкувати до *limit* записів трасування стека з об’єкта відстеження *tb* " +"(починаючи з фрейму абонента), якщо *limit* є позитивним. В іншому випадку " +"надрукуйте останні записи ``abs(limit)``. Якщо *limit* пропущено або " +"``None``, друкуються всі записи. Якщо *file* пропущено або ``None``, вивід " +"надходить до ``sys.stderr``; інакше це має бути відкритий файл або " +"файлоподібний об’єкт, щоб отримати вивід." + +msgid "Added negative *limit* support." +msgstr "Додано підтримку негативного *ліміту*." + +msgid "" +"Print exception information and stack trace entries from traceback object " +"*tb* to *file*. This differs from :func:`print_tb` in the following ways:" +msgstr "" +"Друк інформації про винятки та стек записів трасування з об’єкта трасування " +"*tb* до *файлу*. Це відрізняється від :func:`print_tb` наступним чином:" + +msgid "" +"if *tb* is not ``None``, it prints a header ``Traceback (most recent call " +"last):``" +msgstr "" +"якщо *tb* не є ``None``, він друкує заголовок ``Traceback (останній останній " +"виклик):``" + +msgid "it prints the exception type and *value* after the stack trace" +msgstr "він друкує тип винятку та *значення* після трасування стека" + +msgid "" +"if *type(value)* is :exc:`SyntaxError` and *value* has the appropriate " +"format, it prints the line where the syntax error occurred with a caret " +"indicating the approximate position of the error." +msgstr "" +"якщо *type(value)* дорівнює :exc:`SyntaxError` і *value* має відповідний " +"формат, він друкує рядок, у якому сталася синтаксична помилка, із кареткою, " +"що вказує на приблизну позицію помилки." + +msgid "" +"Since Python 3.10, instead of passing *value* and *tb*, an exception object " +"can be passed as the first argument. If *value* and *tb* are provided, the " +"first argument is ignored in order to provide backwards compatibility." +msgstr "" +"Починаючи з Python 3.10, замість передачі *value* і *tb* об’єкт винятку " +"можна передати як перший аргумент. Якщо надано *value* і *tb*, перший " +"аргумент ігнорується, щоб забезпечити зворотну сумісність." + +msgid "" +"The optional *limit* argument has the same meaning as for :func:`print_tb`. " +"If *chain* is true (the default), then chained exceptions (the :attr:" +"`__cause__` or :attr:`__context__` attributes of the exception) will be " +"printed as well, like the interpreter itself does when printing an unhandled " +"exception." +msgstr "" +"Необов’язковий аргумент *limit* має те саме значення, що й для :func:" +"`print_tb`. Якщо *chain* має значення true (за замовчуванням), то ланцюгові " +"винятки (атрибути винятку :attr:`__cause__` або :attr:`__context__`) також " +"будуть надруковані, як це робить сам інтерпретатор під час друку " +"необробленого винятку ." + +msgid "The *etype* argument is ignored and inferred from the type of *value*." +msgstr "Аргумент *etype* ігнорується та виводиться з типу *value*." + +msgid "" +"The *etype* parameter has been renamed to *exc* and is now positional-only." +msgstr "" +"Параметр *etype* було перейменовано на *exc* і тепер є лише позиційним." + +msgid "" +"This is a shorthand for ``print_exception(*sys.exc_info(), limit, file, " +"chain)``." +msgstr "" +"Це скорочення для ``print_exception(*sys.exc_info(), limit, file, chain)``." + +msgid "" +"This is a shorthand for ``print_exception(sys.last_type, sys.last_value, sys." +"last_traceback, limit, file, chain)``. In general it will work only after " +"an exception has reached an interactive prompt (see :data:`sys.last_type`)." +msgstr "" +"Це скорочення для ``print_exception(sys.last_type, sys.last_value, sys." +"last_traceback, limit, file, chain)``. Загалом це працюватиме лише після " +"того, як виняткова ситуація досягне інтерактивної підказки (див. :data:`sys." +"last_type`)." + +msgid "" +"Print up to *limit* stack trace entries (starting from the invocation point) " +"if *limit* is positive. Otherwise, print the last ``abs(limit)`` entries. " +"If *limit* is omitted or ``None``, all entries are printed. The optional *f* " +"argument can be used to specify an alternate stack frame to start. The " +"optional *file* argument has the same meaning as for :func:`print_tb`." +msgstr "" +"Друкувати до *limit* записів трасування стека (починаючи з точки виклику), " +"якщо *limit* позитивне. В іншому випадку надрукуйте останні записи " +"``abs(limit)``. Якщо *limit* пропущено або ``None``, друкуються всі записи. " +"Необов’язковий аргумент *f* можна використовувати для вказівки " +"альтернативного кадру стека для запуску. Необов’язковий аргумент *file* має " +"те саме значення, що й для :func:`print_tb`." + +msgid "" +"Return a :class:`StackSummary` object representing a list of \"pre-processed" +"\" stack trace entries extracted from the traceback object *tb*. It is " +"useful for alternate formatting of stack traces. The optional *limit* " +"argument has the same meaning as for :func:`print_tb`. A \"pre-processed\" " +"stack trace entry is a :class:`FrameSummary` object containing attributes :" +"attr:`~FrameSummary.filename`, :attr:`~FrameSummary.lineno`, :attr:" +"`~FrameSummary.name`, and :attr:`~FrameSummary.line` representing the " +"information that is usually printed for a stack trace. The :attr:" +"`~FrameSummary.line` is a string with leading and trailing whitespace " +"stripped; if the source is not available it is ``None``." +msgstr "" +"Повертає об’єкт :class:`StackSummary`, що представляє список \"попередньо " +"оброблених\" записів трасування стека, отриманих з об’єкта трасування *tb*. " +"Це корисно для альтернативного форматування трасування стека. Необов’язковий " +"аргумент *limit* має те саме значення, що й для :func:`print_tb`. " +"\"Попередньо оброблений\" запис трасування стека — це об’єкт :class:" +"`FrameSummary`, що містить атрибути :attr:`~FrameSummary.filename`, :attr:" +"`~FrameSummary.lineno`, :attr:`~FrameSummary.name`, і :attr:`~FrameSummary." +"line`, що представляє інформацію, яка зазвичай друкується для трасування " +"стека. :attr:`~FrameSummary.line` — це рядок із видаленими пробілами на " +"початку та в кінці; якщо джерело недоступне, це ``None``." + +msgid "" +"Extract the raw traceback from the current stack frame. The return value " +"has the same format as for :func:`extract_tb`. The optional *f* and *limit* " +"arguments have the same meaning as for :func:`print_stack`." +msgstr "" +"Витягніть необроблену трасування з поточного кадру стека. Повернене значення " +"має той самий формат, що й для :func:`extract_tb`. Необов’язкові аргументи " +"*f* і *limit* мають те саме значення, що й для :func:`print_stack`." + +msgid "" +"Given a list of tuples or :class:`FrameSummary` objects as returned by :func:" +"`extract_tb` or :func:`extract_stack`, return a list of strings ready for " +"printing. Each string in the resulting list corresponds to the item with " +"the same index in the argument list. Each string ends in a newline; the " +"strings may contain internal newlines as well, for those items whose source " +"text line is not ``None``." +msgstr "" +"За наявності списку кортежів або об’єктів :class:`FrameSummary`, які " +"повертає :func:`extract_tb` або :func:`extract_stack`, повертає список " +"рядків, готових до друку. Кожен рядок у результуючому списку відповідає " +"елементу з таким же індексом у списку аргументів. Кожен рядок закінчується " +"символом нового рядка; рядки також можуть містити внутрішні символи нового " +"рядка для тих елементів, вихідний текстовий рядок яких не ``None``." + +msgid "" +"Format the exception part of a traceback using an exception value such as " +"given by ``sys.last_value``. The return value is a list of strings, each " +"ending in a newline. Normally, the list contains a single string; however, " +"for :exc:`SyntaxError` exceptions, it contains several lines that (when " +"printed) display detailed information about where the syntax error occurred. " +"The message indicating which exception occurred is the always last string in " +"the list." +msgstr "" +"Відформатуйте частину винятку зворотного відстеження, використовуючи " +"значення винятку, як-от задане ``sys.last_value``. Повернене значення — це " +"список рядків, кожен із яких закінчується символом нового рядка. Зазвичай " +"список містить один рядок; однак для винятків :exc:`SyntaxError` він містить " +"кілька рядків, які (під час друку) відображають детальну інформацію про те, " +"де сталася синтаксична помилка. Повідомлення, яке вказує на виняток, завжди " +"є останнім рядком у списку." + +msgid "" +"Since Python 3.10, instead of passing *value*, an exception object can be " +"passed as the first argument. If *value* is provided, the first argument is " +"ignored in order to provide backwards compatibility." +msgstr "" +"Починаючи з Python 3.10, замість передачі *значення* як перший аргумент " +"можна передати об’єкт винятку. Якщо вказано *значення*, перший аргумент " +"ігнорується, щоб забезпечити зворотну сумісність." + +msgid "" +"Format a stack trace and the exception information. The arguments have the " +"same meaning as the corresponding arguments to :func:`print_exception`. The " +"return value is a list of strings, each ending in a newline and some " +"containing internal newlines. When these lines are concatenated and " +"printed, exactly the same text is printed as does :func:`print_exception`." +msgstr "" +"Відформатуйте трасування стека та інформацію про винятки. Аргументи мають те " +"саме значення, що й відповідні аргументи :func:`print_exception`. Повернене " +"значення — це список рядків, кожен із яких закінчується знаком нового рядка, " +"а деякі містять внутрішні нові рядки. Коли ці рядки об’єднуються та " +"друкуються, друкується точно такий же текст, як і :func:`print_exception`." + +msgid "" +"This function's behavior and signature were modified to match :func:" +"`print_exception`." +msgstr "" +"Поведінку та підпис цієї функції було змінено відповідно до :func:" +"`print_exception`." + +msgid "" +"This is like ``print_exc(limit)`` but returns a string instead of printing " +"to a file." +msgstr "" +"Це схоже на ``print_exc(limit)``, але повертає рядок замість друку у файл." + +msgid "A shorthand for ``format_list(extract_tb(tb, limit))``." +msgstr "Скорочення для ``format_list(extract_tb(tb, limit))``." + +msgid "A shorthand for ``format_list(extract_stack(f, limit))``." +msgstr "Скорочення для ``format_list(extract_stack(f, limit))``." + +msgid "" +"Clears the local variables of all the stack frames in a traceback *tb* by " +"calling the :meth:`clear` method of each frame object." +msgstr "" +"Очищає локальні змінні всіх фреймів стека в *tb*, викликаючи метод :meth:" +"`clear` кожного об’єкта фрейму." + +msgid "" +"Walk a stack following ``f.f_back`` from the given frame, yielding the frame " +"and line number for each frame. If *f* is ``None``, the current stack is " +"used. This helper is used with :meth:`StackSummary.extract`." +msgstr "" +"Пройти стек після ``f.f_back`` від даного кадру, даючи кадр і номер рядка " +"для кожного кадру. Якщо *f* має значення ``None``, використовується поточний " +"стек. Цей помічник використовується з :meth:`StackSummary.extract`." + +msgid "" +"Walk a traceback following ``tb_next`` yielding the frame and line number " +"for each frame. This helper is used with :meth:`StackSummary.extract`." +msgstr "" +"Пройдіть зворотне відстеження після ``tb_next``, даючи кадр і номер рядка " +"для кожного кадру. Цей помічник використовується з :meth:`StackSummary." +"extract`." + +msgid "The module also defines the following classes:" +msgstr "Модуль також визначає такі класи:" + +msgid ":class:`TracebackException` Objects" +msgstr ":class:`TracebackException` Об’єкти" + +msgid "" +":class:`TracebackException` objects are created from actual exceptions to " +"capture data for later printing in a lightweight fashion." +msgstr "" +"Об’єкти :class:`TracebackException` створюються з фактичних винятків, щоб " +"отримати дані для подальшого друку в спрощеному вигляді." + +msgid "" +"Capture an exception for later rendering. *limit*, *lookup_lines* and " +"*capture_locals* are as for the :class:`StackSummary` class." +msgstr "" +"Зафіксуйте виняток для подальшого рендерингу. *limit*, *lookup_lines* і " +"*capture_locals* такі ж, як і для класу :class:`StackSummary`." + +msgid "" +"If *compact* is true, only data that is required by :class:" +"`TracebackException`'s ``format`` method is saved in the class attributes. " +"In particular, the ``__context__`` field is calculated only if ``__cause__`` " +"is ``None`` and ``__suppress_context__`` is false." +msgstr "" +"Якщо *compact* має значення true, лише дані, необхідні для методу " +"``format`` :class:`TracebackException`, зберігаються в атрибутах класу. " +"Зокрема, поле ``__context__`` обчислюється, лише якщо ``__cause__`` має " +"значення ``None``, а ``__suppress_context__`` має значення false." + +msgid "" +"Note that when locals are captured, they are also shown in the traceback." +msgstr "" +"Зауважте, що коли місцеві жителі захоплені, вони також відображаються в " +"трасуванні." + +msgid "A :class:`TracebackException` of the original ``__cause__``." +msgstr ":class:`TracebackException` оригінального ``__cause__``." + +msgid "A :class:`TracebackException` of the original ``__context__``." +msgstr ":class:`TracebackException` вихідного ``__context__``." + +msgid "The ``__suppress_context__`` value from the original exception." +msgstr "Значення ``__suppress_context__`` з оригінального винятку." + +msgid "" +"The ``__notes__`` value from the original exception, or ``None`` if the " +"exception does not have any notes. If it is not ``None`` is it formatted in " +"the traceback after the exception string." +msgstr "" + +msgid "A :class:`StackSummary` representing the traceback." +msgstr ":class:`StackSummary`, що представляє відстеження." + +msgid "The class of the original traceback." +msgstr "Клас оригінального трасування." + +msgid "For syntax errors - the file name where the error occurred." +msgstr "Для синтаксичних помилок - ім'я файлу, де сталася помилка." + +msgid "For syntax errors - the line number where the error occurred." +msgstr "Для синтаксичних помилок - номер рядка, де сталася помилка." + +msgid "For syntax errors - the text where the error occurred." +msgstr "Для синтаксичних помилок - текст, де сталася помилка." + +msgid "For syntax errors - the offset into the text where the error occurred." +msgstr "Для синтаксичних помилок - зміщення в тексті, де сталася помилка." + +msgid "For syntax errors - the compiler error message." +msgstr "Для синтаксичних помилок - повідомлення про помилку компілятора." + +msgid "" +"Print to *file* (default ``sys.stderr``) the exception information returned " +"by :meth:`format`." +msgstr "" + +msgid "Format the exception." +msgstr "Відформатувати виняток." + +msgid "" +"If *chain* is not ``True``, ``__cause__`` and ``__context__`` will not be " +"formatted." +msgstr "" +"Якщо *chain* не має значення ``True``, ``__cause__`` і ``__context__`` не " +"будуть відформатовані." + +msgid "" +"The return value is a generator of strings, each ending in a newline and " +"some containing internal newlines. :func:`~traceback.print_exception` is a " +"wrapper around this method which just prints the lines to a file." +msgstr "" +"Повернене значення є генератором рядків, кожен із яких закінчується символом " +"нового рядка, а деякі містять внутрішні нові рядки. :func:`~traceback." +"print_exception` є обгорткою цього методу, яка просто друкує рядки у файл." + +msgid "" +"The message indicating which exception occurred is always the last string in " +"the output." +msgstr "" +"Повідомлення, яке вказує на виняток, завжди є останнім рядком у виводі." + +msgid "Format the exception part of the traceback." +msgstr "Відформатуйте частину винятку зворотного відстеження." + +msgid "The return value is a generator of strings, each ending in a newline." +msgstr "" +"Повернене значення є генератором рядків, кожен із яких закінчується символом " +"нового рядка." + +msgid "" +"Normally, the generator emits a single string; however, for :exc:" +"`SyntaxError` exceptions, it emits several lines that (when printed) display " +"detailed information about where the syntax error occurred." +msgstr "" +"Зазвичай генератор випромінює один рядок; однак для винятків :exc:" +"`SyntaxError` видає кілька рядків, які (під час друку) відображають детальну " +"інформацію про те, де сталася синтаксична помилка." + +msgid "Added the *compact* parameter." +msgstr "Додано параметр *compact*." + +msgid ":class:`StackSummary` Objects" +msgstr ":class:`StackSummary` Об’єкти" + +msgid "" +":class:`StackSummary` objects represent a call stack ready for formatting." +msgstr "" +"Об'єкти :class:`StackSummary` представляють стек викликів, готовий до " +"форматування." + +msgid "" +"Construct a :class:`StackSummary` object from a frame generator (such as is " +"returned by :func:`~traceback.walk_stack` or :func:`~traceback.walk_tb`)." +msgstr "" +"Створіть об’єкт :class:`StackSummary` з генератора кадрів (наприклад, " +"повертається :func:`~traceback.walk_stack` або :func:`~traceback.walk_tb`)." + +msgid "" +"If *limit* is supplied, only this many frames are taken from *frame_gen*. If " +"*lookup_lines* is ``False``, the returned :class:`FrameSummary` objects will " +"not have read their lines in yet, making the cost of creating the :class:" +"`StackSummary` cheaper (which may be valuable if it may not actually get " +"formatted). If *capture_locals* is ``True`` the local variables in each :" +"class:`FrameSummary` are captured as object representations." +msgstr "" +"Якщо вказано *limit*, лише ця кількість кадрів береться з *frame_gen*. Якщо " +"*lookup_lines* має значення ``False``, повернуті об’єкти :class:" +"`FrameSummary` ще не прочитають свої рядки, що здешевлює вартість створення :" +"class:`StackSummary` (що може бути цінним, якщо це може фактично не " +"форматується). Якщо *capture_locals* має значення ``True``, локальні змінні " +"в кожному :class:`FrameSummary` фіксуються як представлення об’єктів." + +msgid "" +"Construct a :class:`StackSummary` object from a supplied list of :class:" +"`FrameSummary` objects or old-style list of tuples. Each tuple should be a " +"4-tuple with filename, lineno, name, line as the elements." +msgstr "" +"Створіть об’єкт :class:`StackSummary` із наданого списку об’єктів :class:" +"`FrameSummary` або старого списку кортежів. Кожен кортеж має бути 4-кортежем " +"з елементами filename, lineno, name, line." + +msgid "" +"Returns a list of strings ready for printing. Each string in the resulting " +"list corresponds to a single frame from the stack. Each string ends in a " +"newline; the strings may contain internal newlines as well, for those items " +"with source text lines." +msgstr "" +"Повертає список рядків, готових до друку. Кожен рядок у результуючому списку " +"відповідає одному кадру зі стеку. Кожен рядок закінчується символом нового " +"рядка; рядки також можуть містити внутрішні символи нового рядка для " +"елементів із рядками вихідного тексту." + +msgid "" +"For long sequences of the same frame and line, the first few repetitions are " +"shown, followed by a summary line stating the exact number of further " +"repetitions." +msgstr "" +"Для довгих послідовностей того самого кадру та рядка відображаються перші " +"кілька повторів, за якими йде підсумковий рядок із зазначенням точної " +"кількості подальших повторень." + +msgid "Long sequences of repeated frames are now abbreviated." +msgstr "Довгі послідовності повторюваних кадрів тепер скорочуються." + +msgid "" +"Returns a string for printing one of the frames involved in the stack. This " +"method is called for each :class:`FrameSummary` object to be printed by :" +"meth:`StackSummary.format`. If it returns ``None``, the frame is omitted " +"from the output." +msgstr "" + +msgid ":class:`FrameSummary` Objects" +msgstr ":class:`FrameSummary` Об’єкти" + +msgid "" +"A :class:`FrameSummary` object represents a single frame in a traceback." +msgstr "" + +msgid "" +"Represent a single frame in the traceback or stack that is being formatted " +"or printed. It may optionally have a stringified version of the frames " +"locals included in it. If *lookup_line* is ``False``, the source code is not " +"looked up until the :class:`FrameSummary` has the :attr:`~FrameSummary.line` " +"attribute accessed (which also happens when casting it to a tuple). :attr:" +"`~FrameSummary.line` may be directly provided, and will prevent line lookups " +"happening at all. *locals* is an optional local variable dictionary, and if " +"supplied the variable representations are stored in the summary for later " +"display." +msgstr "" +"Представляє один кадр у зворотній трасуванні або стеку, який форматується " +"або друкується. Додатково він може містити рядкову версію локальних фреймів, " +"включених до нього. Якщо *lookup_line* має значення ``False``, вихідний код " +"не шукається, доки :class:`FrameSummary` не отримає доступ до атрибута :attr:" +"`~FrameSummary.line` (що також трапляється під час приведення його до " +"кортежу) . :attr:`~FrameSummary.line` може бути надано безпосередньо, і це " +"взагалі запобігатиме пошуку рядків. *locals* — це необов’язковий локальний " +"словник змінних, і якщо його надати, представлення змінних зберігаються в " +"підсумку для подальшого відображення." + +msgid "Traceback Examples" +msgstr "Приклади відстеження" + +msgid "" +"This simple example implements a basic read-eval-print loop, similar to (but " +"less useful than) the standard Python interactive interpreter loop. For a " +"more complete implementation of the interpreter loop, refer to the :mod:" +"`code` module. ::" +msgstr "" +"Цей простий приклад реалізує базовий цикл читання-оцінки-друку, подібний " +"(але менш корисний, ніж) стандартний інтерактивний цикл інтерпретатора " +"Python. Для більш повної реалізації циклу інтерпретатора зверніться до " +"модуля :mod:`code`. ::" + +msgid "" +"The following example demonstrates the different ways to print and format " +"the exception and traceback:" +msgstr "" +"У наступному прикладі демонструються різні способи друку та форматування " +"винятку та зворотного відстеження:" + +msgid "The output for the example would look similar to this:" +msgstr "Вихід для прикладу виглядатиме приблизно так:" + +msgid "" +"The following example shows the different ways to print and format the " +"stack::" +msgstr "" +"У наступному прикладі показано різні способи друку та форматування стосу:" + +msgid "This last example demonstrates the final few formatting functions:" +msgstr "Цей останній приклад демонструє кілька останніх функцій форматування:" diff --git a/library/tracemalloc.po b/library/tracemalloc.po new file mode 100644 index 000000000..fb4f54e92 --- /dev/null +++ b/library/tracemalloc.po @@ -0,0 +1,864 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tracemalloc` --- Trace memory allocations" +msgstr ":mod:`tracemalloc` --- Трасування виділення пам'яті" + +msgid "**Source code:** :source:`Lib/tracemalloc.py`" +msgstr "**Вихідний код:** :source:`Lib/tracemalloc.py`" + +msgid "" +"The tracemalloc module is a debug tool to trace memory blocks allocated by " +"Python. It provides the following information:" +msgstr "" +"Модуль tracemalloc — це інструмент налагодження для відстеження блоків " +"пам’яті, виділених Python. Він надає таку інформацію:" + +msgid "Traceback where an object was allocated" +msgstr "Зворотне відстеження місця розміщення об’єкта" + +msgid "" +"Statistics on allocated memory blocks per filename and per line number: " +"total size, number and average size of allocated memory blocks" +msgstr "" +"Статистика виділених блоків пам'яті на ім'я файлу та номер рядка: загальний " +"розмір, кількість і середній розмір виділених блоків пам'яті" + +msgid "Compute the differences between two snapshots to detect memory leaks" +msgstr "Обчисліть різницю між двома знімками, щоб виявити витоки пам’яті" + +msgid "" +"To trace most memory blocks allocated by Python, the module should be " +"started as early as possible by setting the :envvar:`PYTHONTRACEMALLOC` " +"environment variable to ``1``, or by using :option:`-X` ``tracemalloc`` " +"command line option. The :func:`tracemalloc.start` function can be called at " +"runtime to start tracing Python memory allocations." +msgstr "" +"Для відстеження більшості блоків пам’яті, виділених Python, модуль слід " +"запускати якомога раніше, встановивши змінну середовища :envvar:" +"`PYTHONTRACEMALLOC` на ``1`` або використовуючи :option:`-X` ``tracemalloc`` " +"параметр командного рядка. Функцію :func:`tracemalloc.start` можна викликати " +"під час виконання, щоб розпочати відстеження розподілу пам’яті Python." + +msgid "" +"By default, a trace of an allocated memory block only stores the most recent " +"frame (1 frame). To store 25 frames at startup: set the :envvar:" +"`PYTHONTRACEMALLOC` environment variable to ``25``, or use the :option:`-X` " +"``tracemalloc=25`` command line option." +msgstr "" +"За замовчуванням трасування виділеного блоку пам’яті зберігає лише останній " +"кадр (1 кадр). Щоб зберегти 25 кадрів під час запуску: установіть для " +"змінної середовища :envvar:`PYTHONTRACEMALLOC` значення ``25`` або " +"скористайтеся параметром командного рядка :option:`-X` ``tracemalloc=25``." + +msgid "Examples" +msgstr "Приклади" + +msgid "Display the top 10" +msgstr "Покажіть 10 найкращих" + +msgid "Display the 10 files allocating the most memory::" +msgstr "Відобразити 10 файлів, які виділяють найбільше пам'яті:" + +msgid "Example of output of the Python test suite::" +msgstr "Приклад результату набору тестів Python::" + +msgid "" +"We can see that Python loaded ``4855 KiB`` data (bytecode and constants) " +"from modules and that the :mod:`collections` module allocated ``244 KiB`` to " +"build :class:`~collections.namedtuple` types." +msgstr "" +"Ми бачимо, що Python завантажив дані ``4855 KiB`` (байт-код і константи) з " +"модулів і що модуль :mod:`collections` виділив ``244 KiB`` для створення " +"типів :class:`~collections.namedtuple`." + +msgid "See :meth:`Snapshot.statistics` for more options." +msgstr "" +"Перегляньте :meth:`Snapshot.statistics` для отримання додаткових параметрів." + +msgid "Compute differences" +msgstr "Обчислити відмінності" + +msgid "Take two snapshots and display the differences::" +msgstr "Зробіть два знімки та покажіть відмінності:" + +msgid "" +"Example of output before/after running some tests of the Python test suite::" +msgstr "" +"Приклад результату до/після виконання деяких тестів набору тестів Python::" + +msgid "" +"We can see that Python has loaded ``8173 KiB`` of module data (bytecode and " +"constants), and that this is ``4428 KiB`` more than had been loaded before " +"the tests, when the previous snapshot was taken. Similarly, the :mod:" +"`linecache` module has cached ``940 KiB`` of Python source code to format " +"tracebacks, all of it since the previous snapshot." +msgstr "" +"Ми бачимо, що Python завантажив ``8173 KiB`` даних модуля (байт-код і " +"константи), і що це на ``4428 KiB`` більше, ніж було завантажено до тестів, " +"коли було зроблено попередній знімок. Подібним чином модуль :mod:`linecache` " +"кешував ``940 КіБ`` вихідного коду Python для форматування відстеження, усе " +"це з попереднього знімка." + +msgid "" +"If the system has little free memory, snapshots can be written on disk using " +"the :meth:`Snapshot.dump` method to analyze the snapshot offline. Then use " +"the :meth:`Snapshot.load` method reload the snapshot." +msgstr "" +"Якщо в системі мало вільної пам’яті, знімки можна записати на диск за " +"допомогою методу :meth:`Snapshot.dump` для аналізу знімка в автономному " +"режимі. Потім скористайтеся методом :meth:`Snapshot.load`, перезавантажте " +"знімок." + +msgid "Get the traceback of a memory block" +msgstr "Отримати відстеження блоку пам'яті" + +msgid "Code to display the traceback of the biggest memory block::" +msgstr "" +"Код для відображення зворотного відстеження найбільшого блоку пам'яті::" + +msgid "" +"Example of output of the Python test suite (traceback limited to 25 frames)::" +msgstr "" +"Приклад результату набору тестів Python (зворотне відстеження обмежено 25 " +"кадрами):" + +msgid "" +"We can see that the most memory was allocated in the :mod:`importlib` module " +"to load data (bytecode and constants) from modules: ``870.1 KiB``. The " +"traceback is where the :mod:`importlib` loaded data most recently: on the " +"``import pdb`` line of the :mod:`doctest` module. The traceback may change " +"if a new module is loaded." +msgstr "" +"Ми бачимо, що найбільше пам’яті було виділено в модулі :mod:`importlib` для " +"завантаження даних (байт-код і константи) з модулів: ``870.1 KiB``. " +"Трасування – це місце, де :mod:`importlib` завантажував дані останнім часом: " +"у рядку ``import pdb`` модуля :mod:`doctest`. Трасування може змінитися, " +"якщо завантажується новий модуль." + +msgid "Pretty top" +msgstr "Досить топ" + +msgid "" +"Code to display the 10 lines allocating the most memory with a pretty " +"output, ignoring ```` and ```` files::" +msgstr "" +"Код для відображення 10 рядків, які виділяють найбільшу кількість пам’яті, з " +"гарним виведенням, ігноруючи файли ```` і " +"````::" + +msgid "Record the current and peak size of all traced memory blocks" +msgstr "Запис поточного та пікового розміру всіх відстежених блоків пам’яті" + +msgid "" +"The following code computes two sums like ``0 + 1 + 2 + ...`` inefficiently, " +"by creating a list of those numbers. This list consumes a lot of memory " +"temporarily. We can use :func:`get_traced_memory` and :func:`reset_peak` to " +"observe the small memory usage after the sum is computed as well as the peak " +"memory usage during the computations::" +msgstr "" +"Наступний код неефективно обчислює дві суми, такі як ``0 + 1 + 2 + ...``, " +"створюючи список цих чисел. Цей список тимчасово займає багато пам’яті. Ми " +"можемо використовувати :func:`get_traced_memory` і :func:`reset_peak`, щоб " +"спостерігати за малим використанням пам’яті після обчислення суми, а також " +"за максимальним використанням пам’яті під час обчислень:" + +msgid "Output::" +msgstr "Вихід::" + +msgid "" +"Using :func:`reset_peak` ensured we could accurately record the peak during " +"the computation of ``small_sum``, even though it is much smaller than the " +"overall peak size of memory blocks since the :func:`start` call. Without the " +"call to :func:`reset_peak`, ``second_peak`` would still be the peak from the " +"computation ``large_sum`` (that is, equal to ``first_peak``). In this case, " +"both peaks are much higher than the final memory usage, and which suggests " +"we could optimise (by removing the unnecessary call to :class:`list`, and " +"writing ``sum(range(...))``)." +msgstr "" +"Використання :func:`reset_peak` гарантувало, що ми можемо точно записати пік " +"під час обчислення ``small_sum``, навіть якщо він набагато менший, ніж " +"загальний піковий розмір блоків пам’яті після виклику :func:`start`. Без " +"виклику :func:`reset_peak`, ``second_peak`` все одно буде піком з обчислення " +"``large_sum`` (тобто рівним ``first_peak``). У цьому випадку обидва піки " +"значно перевищують остаточне використання пам’яті, і це означає, що ми могли " +"б оптимізувати (вилучивши непотрібний виклик :class:`list` і написавши " +"``sum(range(...))`` )." + +msgid "API" +msgstr "API" + +msgid "Functions" +msgstr "Функції" + +msgid "Clear traces of memory blocks allocated by Python." +msgstr "Очистити сліди блоків пам'яті, виділених Python." + +msgid "See also :func:`stop`." +msgstr "Дивіться також :func:`stop`." + +msgid "" +"Get the traceback where the Python object *obj* was allocated. Return a :" +"class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module is " +"not tracing memory allocations or did not trace the allocation of the object." +msgstr "" +"Отримати зворотне відстеження, де було виділено об’єкт Python *obj*. " +"Повертає екземпляр :class:`Traceback` або ``None``, якщо модуль :mod:" +"`tracemalloc` не відстежує виділення пам’яті або не відстежує виділення " +"об’єкта." + +msgid "See also :func:`gc.get_referrers` and :func:`sys.getsizeof` functions." +msgstr "" +"Дивіться також функції :func:`gc.get_referrers` і :func:`sys.getsizeof`." + +msgid "Get the maximum number of frames stored in the traceback of a trace." +msgstr "" +"Отримайте максимальну кількість кадрів, що зберігаються в зворотній трасі." + +msgid "" +"The :mod:`tracemalloc` module must be tracing memory allocations to get the " +"limit, otherwise an exception is raised." +msgstr "" +"Модуль :mod:`tracemalloc` має відстежувати виділення пам’яті, щоб отримати " +"обмеження, інакше виникає виняткова ситуація." + +msgid "The limit is set by the :func:`start` function." +msgstr "Обмеження встановлюється функцією :func:`start`." + +msgid "" +"Get the current size and peak size of memory blocks traced by the :mod:" +"`tracemalloc` module as a tuple: ``(current: int, peak: int)``." +msgstr "" +"Отримайте поточний розмір і максимальний розмір блоків пам’яті, які " +"відстежуються модулем :mod:`tracemalloc`, як кортеж: ``(current: int, peak: " +"int)``." + +msgid "" +"Set the peak size of memory blocks traced by the :mod:`tracemalloc` module " +"to the current size." +msgstr "" +"Установіть максимальний розмір блоків пам’яті, які відстежуються модулем :" +"mod:`tracemalloc`, на поточний розмір." + +msgid "" +"Do nothing if the :mod:`tracemalloc` module is not tracing memory " +"allocations." +msgstr "" +"Нічого не робити, якщо модуль :mod:`tracemalloc` не відстежує виділення " +"пам’яті." + +msgid "" +"This function only modifies the recorded peak size, and does not modify or " +"clear any traces, unlike :func:`clear_traces`. Snapshots taken with :func:" +"`take_snapshot` before a call to :func:`reset_peak` can be meaningfully " +"compared to snapshots taken after the call." +msgstr "" +"Ця функція лише змінює розмір записаного піку, але не змінює та не очищає " +"жодні траси, на відміну від :func:`clear_traces`. Знімки, зроблені за " +"допомогою :func:`take_snapshot` перед викликом :func:`reset_peak`, можна " +"змістовно порівняти зі знімками, зробленими після виклику." + +msgid "See also :func:`get_traced_memory`." +msgstr "Дивіться також :func:`get_traced_memory`." + +msgid "" +"Get the memory usage in bytes of the :mod:`tracemalloc` module used to store " +"traces of memory blocks. Return an :class:`int`." +msgstr "" +"Отримати дані про використання пам’яті в байтах модуля :mod:`tracemalloc`, " +"який використовується для зберігання слідів блоків пам’яті. Повертає :class:" +"`int`." + +msgid "" +"``True`` if the :mod:`tracemalloc` module is tracing Python memory " +"allocations, ``False`` otherwise." +msgstr "" +"``True``, якщо модуль :mod:`tracemalloc` відстежує виділення пам’яті Python, " +"``False`` інакше." + +msgid "See also :func:`start` and :func:`stop` functions." +msgstr "Дивіться також функції :func:`start` і :func:`stop`." + +msgid "" +"Start tracing Python memory allocations: install hooks on Python memory " +"allocators. Collected tracebacks of traces will be limited to *nframe* " +"frames. By default, a trace of a memory block only stores the most recent " +"frame: the limit is ``1``. *nframe* must be greater or equal to ``1``." +msgstr "" +"Почніть відстежувати виділення пам’яті Python: установіть перехоплювачі на " +"розподільниках пам’яті Python. Зібрані зворотні трасування трасувань будуть " +"обмежені кадрами *nframe*. За замовчуванням трасування блоку пам’яті " +"зберігає лише останній кадр: обмеження становить ``1``. *nframe* має бути " +"більше або дорівнювати ``1``." + +msgid "" +"You can still read the original number of total frames that composed the " +"traceback by looking at the :attr:`Traceback.total_nframe` attribute." +msgstr "" +"Ви все ще можете прочитати вихідну загальну кількість кадрів, які склали " +"відстеження, переглянувши атрибут :attr:`Traceback.total_nframe`." + +msgid "" +"Storing more than ``1`` frame is only useful to compute statistics grouped " +"by ``'traceback'`` or to compute cumulative statistics: see the :meth:" +"`Snapshot.compare_to` and :meth:`Snapshot.statistics` methods." +msgstr "" +"Зберігання більш ніж 1 кадру корисне лише для обчислення статистики, " +"згрупованої за ``'traceback'`` або для обчислення сукупної статистики: " +"перегляньте методи :meth:`Snapshot.compare_to` і :meth:`Snapshot." +"statistics` ." + +msgid "" +"Storing more frames increases the memory and CPU overhead of the :mod:" +"`tracemalloc` module. Use the :func:`get_tracemalloc_memory` function to " +"measure how much memory is used by the :mod:`tracemalloc` module." +msgstr "" +"Зберігання більшої кількості кадрів збільшує навантаження на пам’ять і ЦП " +"модуля :mod:`tracemalloc`. Використовуйте функцію :func:" +"`get_tracemalloc_memory`, щоб виміряти, скільки пам’яті використовується " +"модулем :mod:`tracemalloc`." + +msgid "" +"The :envvar:`PYTHONTRACEMALLOC` environment variable " +"(``PYTHONTRACEMALLOC=NFRAME``) and the :option:`-X` ``tracemalloc=NFRAME`` " +"command line option can be used to start tracing at startup." +msgstr "" +"Змінну середовища :envvar:`PYTHONTRACEMALLOC` (``PYTHONTRACEMALLOC=NFRAME``) " +"і параметр командного рядка :option:`-X` ``tracemalloc=NFRAME`` можна " +"використовувати для запуску трасування під час запуску." + +msgid "" +"See also :func:`stop`, :func:`is_tracing` and :func:`get_traceback_limit` " +"functions." +msgstr "" +"Дивіться також функції :func:`stop`, :func:`is_tracing` і :func:" +"`get_traceback_limit`." + +msgid "" +"Stop tracing Python memory allocations: uninstall hooks on Python memory " +"allocators. Also clears all previously collected traces of memory blocks " +"allocated by Python." +msgstr "" +"Зупиніть відстеження розподілу пам’яті Python: видаліть перехоплювачі " +"розподільників пам’яті Python. Також очищає всі раніше зібрані сліди блоків " +"пам’яті, виділених Python." + +msgid "" +"Call :func:`take_snapshot` function to take a snapshot of traces before " +"clearing them." +msgstr "" +"Викличте функцію :func:`take_snapshot`, щоб зробити знімок слідів перед їх " +"очищенням." + +msgid "" +"See also :func:`start`, :func:`is_tracing` and :func:`clear_traces` " +"functions." +msgstr "" +"Дивіться також функції :func:`start`, :func:`is_tracing` і :func:" +"`clear_traces`." + +msgid "" +"Take a snapshot of traces of memory blocks allocated by Python. Return a " +"new :class:`Snapshot` instance." +msgstr "" +"Зробіть знімок слідів блоків пам’яті, виділених Python. Повернути новий " +"екземпляр :class:`Snapshot`." + +msgid "" +"The snapshot does not include memory blocks allocated before the :mod:" +"`tracemalloc` module started to trace memory allocations." +msgstr "" +"Знімок не включає блоки пам’яті, виділені до того, як модуль :mod:" +"`tracemalloc` почав відстежувати виділення пам’яті." + +msgid "" +"Tracebacks of traces are limited to :func:`get_traceback_limit` frames. Use " +"the *nframe* parameter of the :func:`start` function to store more frames." +msgstr "" +"Відстеження трасування обмежено кадрами :func:`get_traceback_limit`. Щоб " +"зберегти більше кадрів, використовуйте параметр *nframe* функції :func:" +"`start`." + +msgid "" +"The :mod:`tracemalloc` module must be tracing memory allocations to take a " +"snapshot, see the :func:`start` function." +msgstr "" +"Модуль :mod:`tracemalloc` повинен відстежувати виділення пам’яті, щоб " +"зробити знімок, дивіться функцію :func:`start`." + +msgid "See also the :func:`get_object_traceback` function." +msgstr "Дивіться також функцію :func:`get_object_traceback`." + +msgid "DomainFilter" +msgstr "DomainFilter" + +msgid "Filter traces of memory blocks by their address space (domain)." +msgstr "Фільтрувати сліди блоків пам'яті за їх адресним простором (доменом)." + +msgid "" +"If *inclusive* is ``True`` (include), match memory blocks allocated in the " +"address space :attr:`domain`." +msgstr "" +"Якщо *inclusive* має значення ``True`` (include), збігаються блоки пам’яті, " +"виділені в адресному просторі :attr:`domain`." + +msgid "" +"If *inclusive* is ``False`` (exclude), match memory blocks not allocated in " +"the address space :attr:`domain`." +msgstr "" +"Якщо *inclusive* має значення ``False`` (виключити), збігаються блоки " +"пам’яті, не виділені в адресному просторі :attr:`domain`." + +msgid "Address space of a memory block (``int``). Read-only property." +msgstr "" +"Адресний простір блоку пам'яті (``int``). Властивість лише для читання." + +msgid "Filter" +msgstr "фільтр" + +msgid "Filter on traces of memory blocks." +msgstr "Фільтрувати сліди блоків пам'яті." + +msgid "" +"See the :func:`fnmatch.fnmatch` function for the syntax of " +"*filename_pattern*. The ``'.pyc'`` file extension is replaced with ``'.py'``." +msgstr "" +"Перегляньте функцію :func:`fnmatch.fnmatch`, щоб дізнатися про синтаксис " +"*шаблон_назви_файлу*. Розширення файлу ``'.pyc'`` замінено на ``'.py'``." + +msgid "Examples:" +msgstr "приклади:" + +msgid "" +"``Filter(True, subprocess.__file__)`` only includes traces of the :mod:" +"`subprocess` module" +msgstr "" +"``Filter(True, subprocess.__file__)`` містить лише сліди модуля :mod:" +"`subprocess`" + +msgid "" +"``Filter(False, tracemalloc.__file__)`` excludes traces of the :mod:" +"`tracemalloc` module" +msgstr "" +"``Filter(False, tracemalloc.__file__)`` виключає сліди модуля :mod:" +"`tracemalloc`" + +msgid "``Filter(False, \"\")`` excludes empty tracebacks" +msgstr "``Filter(False, \"\")`` виключає порожні відстеження" + +msgid "The ``'.pyo'`` file extension is no longer replaced with ``'.py'``." +msgstr "Розширення файлу ``'.pyo'`` більше не замінюється на ``'.py'``." + +msgid "Added the :attr:`domain` attribute." +msgstr "Додано атрибут :attr:`domain`." + +msgid "Address space of a memory block (``int`` or ``None``)." +msgstr "Адресний простір блоку пам'яті (``int`` або ``None``)." + +msgid "" +"tracemalloc uses the domain ``0`` to trace memory allocations made by " +"Python. C extensions can use other domains to trace other resources." +msgstr "" +"tracemalloc використовує домен ``0`` для відстеження розподілу пам’яті, " +"зробленого Python. Розширення C можуть використовувати інші домени для " +"відстеження інших ресурсів." + +msgid "" +"If *inclusive* is ``True`` (include), only match memory blocks allocated in " +"a file with a name matching :attr:`filename_pattern` at line number :attr:" +"`lineno`." +msgstr "" +"Якщо *inclusive* має значення ``True`` (include), збігаються лише блоки " +"пам’яті, виділені у файлі з іменем, яке відповідає :attr:`filename_pattern` " +"у номері рядка :attr:`lineno`." + +msgid "" +"If *inclusive* is ``False`` (exclude), ignore memory blocks allocated in a " +"file with a name matching :attr:`filename_pattern` at line number :attr:" +"`lineno`." +msgstr "" +"Якщо *inclusive* має значення ``False`` (виключити), ігнорувати блоки " +"пам’яті, виділені у файлі з іменем, яке відповідає :attr:`filename_pattern` " +"у номері рядка :attr:`lineno`." + +msgid "" +"Line number (``int``) of the filter. If *lineno* is ``None``, the filter " +"matches any line number." +msgstr "" +"Номер рядка (``int``) фільтра. Якщо *lineno* має значення ``None``, фільтр " +"відповідає будь-якому номеру рядка." + +msgid "Filename pattern of the filter (``str``). Read-only property." +msgstr "Шаблон імені файлу фільтра (``str``). Властивість лише для читання." + +msgid "" +"If *all_frames* is ``True``, all frames of the traceback are checked. If " +"*all_frames* is ``False``, only the most recent frame is checked." +msgstr "" +"Якщо *all_frames* має значення ``True``, перевіряються всі кадри зворотного " +"відстеження. Якщо *all_frames* має значення ``False``, перевіряється лише " +"останній кадр." + +msgid "" +"This attribute has no effect if the traceback limit is ``1``. See the :func:" +"`get_traceback_limit` function and :attr:`Snapshot.traceback_limit` " +"attribute." +msgstr "" +"Цей атрибут не діє, якщо обмеження зворотного відстеження дорівнює ``1``. " +"Перегляньте функцію :func:`get_traceback_limit` і атрибут :attr:`Snapshot." +"traceback_limit`." + +msgid "Frame" +msgstr "рамка" + +msgid "Frame of a traceback." +msgstr "Рамка трасування." + +msgid "The :class:`Traceback` class is a sequence of :class:`Frame` instances." +msgstr "Клас :class:`Traceback` — це послідовність екземплярів :class:`Frame`." + +msgid "Filename (``str``)." +msgstr "Ім'я файлу (``str``)." + +msgid "Line number (``int``)." +msgstr "Номер рядка (``int``)." + +msgid "Snapshot" +msgstr "знімок" + +msgid "Snapshot of traces of memory blocks allocated by Python." +msgstr "Знімок слідів блоків пам'яті, виділених Python." + +msgid "The :func:`take_snapshot` function creates a snapshot instance." +msgstr "Функція :func:`take_snapshot` створює екземпляр знімка." + +msgid "" +"Compute the differences with an old snapshot. Get statistics as a sorted " +"list of :class:`StatisticDiff` instances grouped by *key_type*." +msgstr "" +"Обчисліть різницю за старим знімком. Отримати статистику як відсортований " +"список екземплярів :class:`StatisticDiff`, згрупованих за *key_type*." + +msgid "" +"See the :meth:`Snapshot.statistics` method for *key_type* and *cumulative* " +"parameters." +msgstr "" +"Перегляньте метод :meth:`Snapshot.statistics` для параметрів *key_type* і " +"*cumulative*." + +msgid "" +"The result is sorted from the biggest to the smallest by: absolute value of :" +"attr:`StatisticDiff.size_diff`, :attr:`StatisticDiff.size`, absolute value " +"of :attr:`StatisticDiff.count_diff`, :attr:`Statistic.count` and then by :" +"attr:`StatisticDiff.traceback`." +msgstr "" +"Результат сортується від найбільшого до найменшого за: абсолютним значенням :" +"attr:`StatisticDiff.size_diff`, :attr:`StatisticDiff.size`, абсолютним " +"значенням :attr:`StatisticDiff.count_diff`, :attr:`Statistic .count`, а " +"потім :attr:`StatisticDiff.traceback`." + +msgid "Write the snapshot into a file." +msgstr "Запишіть знімок у файл." + +msgid "Use :meth:`load` to reload the snapshot." +msgstr "Використовуйте :meth:`load`, щоб перезавантажити знімок." + +msgid "" +"Create a new :class:`Snapshot` instance with a filtered :attr:`traces` " +"sequence, *filters* is a list of :class:`DomainFilter` and :class:`Filter` " +"instances. If *filters* is an empty list, return a new :class:`Snapshot` " +"instance with a copy of the traces." +msgstr "" +"Створіть новий екземпляр :class:`Snapshot` із відфільтрованою послідовністю :" +"attr:`traces`, *filters* — це список екземплярів :class:`DomainFilter` і :" +"class:`Filter`. Якщо *filters* є порожнім списком, поверніть новий " +"екземпляр :class:`Snapshot` із копією трасувань." + +msgid "" +"All inclusive filters are applied at once, a trace is ignored if no " +"inclusive filters match it. A trace is ignored if at least one exclusive " +"filter matches it." +msgstr "" +"Усі включені фільтри застосовуються одразу, трасування ігнорується, якщо " +"жодні включені фільтри не відповідають йому. Трасування ігнорується, якщо " +"йому відповідає хоча б один ексклюзивний фільтр." + +msgid ":class:`DomainFilter` instances are now also accepted in *filters*." +msgstr "Екземпляри :class:`DomainFilter` тепер також приймаються в *filters*." + +msgid "Load a snapshot from a file." +msgstr "Завантажте знімок із файлу." + +msgid "See also :meth:`dump`." +msgstr "Дивіться також :meth:`dump`." + +msgid "" +"Get statistics as a sorted list of :class:`Statistic` instances grouped by " +"*key_type*:" +msgstr "" +"Отримати статистику як відсортований список екземплярів :class:`Statistic`, " +"згрупованих за *key_type*:" + +msgid "key_type" +msgstr "key_type" + +msgid "description" +msgstr "опис" + +msgid "``'filename'``" +msgstr "``'ім'я файлу'``" + +msgid "filename" +msgstr "ім'я файлу" + +msgid "``'lineno'``" +msgstr "``''лінено'``" + +msgid "filename and line number" +msgstr "ім'я файлу та номер рядка" + +msgid "``'traceback'``" +msgstr "``'відстеження''``" + +msgid "traceback" +msgstr "простежити" + +msgid "" +"If *cumulative* is ``True``, cumulate size and count of memory blocks of all " +"frames of the traceback of a trace, not only the most recent frame. The " +"cumulative mode can only be used with *key_type* equals to ``'filename'`` " +"and ``'lineno'``." +msgstr "" +"Якщо *cumulative* має значення ``True``, кумулювати розмір і кількість " +"блоків пам’яті всіх кадрів зворотного відстеження трасування, а не лише " +"останнього кадру. Кумулятивний режим можна використовувати лише з " +"*key_type*, що дорівнює ``'filename'`` і ``'lineno'``." + +msgid "" +"The result is sorted from the biggest to the smallest by: :attr:`Statistic." +"size`, :attr:`Statistic.count` and then by :attr:`Statistic.traceback`." +msgstr "" +"Результат сортується від найбільшого до найменшого за: :attr:`Statistic." +"size`, :attr:`Statistic.count`, а потім за :attr:`Statistic.traceback`." + +msgid "" +"Maximum number of frames stored in the traceback of :attr:`traces`: result " +"of the :func:`get_traceback_limit` when the snapshot was taken." +msgstr "" +"Максимальна кількість кадрів, що зберігаються у зворотній трасуванні :attr:" +"`traces`: результату :func:`get_traceback_limit` під час створення знімка." + +msgid "" +"Traces of all memory blocks allocated by Python: sequence of :class:`Trace` " +"instances." +msgstr "" +"Трасування всіх блоків пам’яті, виділених Python: послідовність екземплярів :" +"class:`Trace`." + +msgid "" +"The sequence has an undefined order. Use the :meth:`Snapshot.statistics` " +"method to get a sorted list of statistics." +msgstr "" +"Послідовність має невизначений порядок. Використовуйте метод :meth:`Snapshot." +"statistic`, щоб отримати відсортований список статистики." + +msgid "Statistic" +msgstr "статистика" + +msgid "Statistic on memory allocations." +msgstr "Статистика виділення пам'яті." + +msgid "" +":func:`Snapshot.statistics` returns a list of :class:`Statistic` instances." +msgstr "" +":func:`Snapshot.statistics` повертає список екземплярів :class:`Statistic`." + +msgid "See also the :class:`StatisticDiff` class." +msgstr "Дивіться також клас :class:`StatisticDiff`." + +msgid "Number of memory blocks (``int``)." +msgstr "Кількість блоків пам'яті (``int``)." + +msgid "Total size of memory blocks in bytes (``int``)." +msgstr "Загальний розмір блоків пам'яті в байтах (``int``)." + +msgid "" +"Traceback where the memory block was allocated, :class:`Traceback` instance." +msgstr "" +"Зворотне відстеження, де було виділено блок пам’яті, екземпляр :class:" +"`Traceback`." + +msgid "StatisticDiff" +msgstr "StatisticDiff" + +msgid "" +"Statistic difference on memory allocations between an old and a new :class:" +"`Snapshot` instance." +msgstr "" +"Різниця в статистиці виділення пам’яті між старим і новим екземплярами :" +"class:`Snapshot`." + +msgid "" +":func:`Snapshot.compare_to` returns a list of :class:`StatisticDiff` " +"instances. See also the :class:`Statistic` class." +msgstr "" +":func:`Snapshot.compare_to` повертає список екземплярів :class:" +"`StatisticDiff`. Дивіться також клас :class:`Statistic`." + +msgid "" +"Number of memory blocks in the new snapshot (``int``): ``0`` if the memory " +"blocks have been released in the new snapshot." +msgstr "" +"Кількість блоків пам’яті в новому знімку (``int``): ``0``, якщо блоки " +"пам’яті було звільнено в новому знімку." + +msgid "" +"Difference of number of memory blocks between the old and the new snapshots " +"(``int``): ``0`` if the memory blocks have been allocated in the new " +"snapshot." +msgstr "" +"Різниця кількості блоків пам’яті між старим і новим знімками (``int``): " +"``0``, якщо блоки пам’яті були виділені в новому знімку." + +msgid "" +"Total size of memory blocks in bytes in the new snapshot (``int``): ``0`` if " +"the memory blocks have been released in the new snapshot." +msgstr "" +"Загальний розмір блоків пам’яті в байтах у новому знімку (``int``): ``0``, " +"якщо блоки пам’яті було звільнено в новому знімку." + +msgid "" +"Difference of total size of memory blocks in bytes between the old and the " +"new snapshots (``int``): ``0`` if the memory blocks have been allocated in " +"the new snapshot." +msgstr "" +"Різниця загального розміру блоків пам’яті в байтах між старим і новим " +"знімками (``int``): ``0``, якщо блоки пам’яті були виділені в новому знімку." + +msgid "" +"Traceback where the memory blocks were allocated, :class:`Traceback` " +"instance." +msgstr "" +"Зворотне відстеження, де було виділено блоки пам’яті, екземпляр :class:" +"`Traceback`." + +msgid "Trace" +msgstr "Слід" + +msgid "Trace of a memory block." +msgstr "Трасування блоку пам'яті." + +msgid "" +"The :attr:`Snapshot.traces` attribute is a sequence of :class:`Trace` " +"instances." +msgstr "" +"Атрибут :attr:`Snapshot.traces` — це послідовність екземплярів :class:" +"`Trace`." + +msgid "Size of the memory block in bytes (``int``)." +msgstr "Розмір блоку пам'яті в байтах (``int``)." + +msgid "Traceback" +msgstr "Простежити" + +msgid "" +"Sequence of :class:`Frame` instances sorted from the oldest frame to the " +"most recent frame." +msgstr "" +"Послідовність екземплярів :class:`Frame`, відсортованих від найстарішого " +"кадру до останнього." + +msgid "" +"A traceback contains at least ``1`` frame. If the ``tracemalloc`` module " +"failed to get a frame, the filename ``\"\"`` at line number ``0`` " +"is used." +msgstr "" +"Трасування містить принаймні ``1`` кадр. Якщо модулю ``tracemalloc`` не " +"вдалося отримати кадр, використовується ім’я файлу ``\"\"`` під " +"номером рядка ``0``." + +msgid "" +"When a snapshot is taken, tracebacks of traces are limited to :func:" +"`get_traceback_limit` frames. See the :func:`take_snapshot` function. The " +"original number of frames of the traceback is stored in the :attr:`Traceback." +"total_nframe` attribute. That allows to know if a traceback has been " +"truncated by the traceback limit." +msgstr "" +"Коли робиться знімок, зворотне трасування трасування обмежується кадрами :" +"func:`get_traceback_limit`. Перегляньте функцію :func:`take_snapshot`. " +"Вихідна кількість кадрів зворотного відстеження зберігається в атрибуті :" +"attr:`Traceback.total_nframe`. Це дозволяє дізнатися, чи зворотне " +"відстеження було скорочено обмеженням відстеження." + +msgid "" +"The :attr:`Trace.traceback` attribute is an instance of :class:`Traceback` " +"instance." +msgstr "" +"Атрибут :attr:`Trace.traceback` є екземпляром екземпляра :class:`Traceback`." + +msgid "" +"Frames are now sorted from the oldest to the most recent, instead of most " +"recent to oldest." +msgstr "" +"Кадри тепер сортуються від найстаріших до найновіших, а не від останніх до " +"найстаріших." + +msgid "" +"Total number of frames that composed the traceback before truncation. This " +"attribute can be set to ``None`` if the information is not available." +msgstr "" +"Загальна кількість кадрів, які складали зворотне трасування до скорочення. " +"Для цього атрибута можна встановити значення ``None``, якщо інформація " +"недоступна." + +msgid "The :attr:`Traceback.total_nframe` attribute was added." +msgstr "Додано атрибут :attr:`Traceback.total_nframe`." + +msgid "" +"Format the traceback as a list of lines. Use the :mod:`linecache` module to " +"retrieve lines from the source code. If *limit* is set, format the *limit* " +"most recent frames if *limit* is positive. Otherwise, format the " +"``abs(limit)`` oldest frames. If *most_recent_first* is ``True``, the order " +"of the formatted frames is reversed, returning the most recent frame first " +"instead of last." +msgstr "" +"Відформатуйте трасування як список рядків. Використовуйте модуль :mod:" +"`linecache`, щоб отримати рядки з вихідного коду. Якщо встановлено *ліміт*, " +"відформатуйте *ліміт* останніх кадрів, якщо *ліміт* додатний. В іншому " +"випадку відформатуйте найстаріші кадри ``abs(limit)``. Якщо " +"*most_recent_first* має значення ``True``, порядок відформатованих кадрів " +"змінюється на протилежний, повертаючи останній кадр першим, а не останнім." + +msgid "" +"Similar to the :func:`traceback.format_tb` function, except that :meth:`." +"format` does not include newlines." +msgstr "" +"Подібно до функції :func:`traceback.format_tb`, за винятком того, що :meth:`." +"format` не містить символів нового рядка." + +msgid "Example::" +msgstr "Приклад::" diff --git a/library/tty.po b/library/tty.po new file mode 100644 index 000000000..ecee90c65 --- /dev/null +++ b/library/tty.po @@ -0,0 +1,71 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`tty` --- Terminal control functions" +msgstr ":mod:`tty` --- Функції керування терміналом" + +msgid "**Source code:** :source:`Lib/tty.py`" +msgstr "**Вихідний код:** :source:`Lib/tty.py`" + +msgid "" +"The :mod:`tty` module defines functions for putting the tty into cbreak and " +"raw modes." +msgstr "" +"Модуль :mod:`tty` визначає функції для переведення tty в режими cbreak і raw." + +msgid "" +"Because it requires the :mod:`termios` module, it will work only on Unix." +msgstr "" +"Оскільки для цього потрібен модуль :mod:`termios`, він працюватиме лише в " +"Unix." + +msgid "The :mod:`tty` module defines the following functions:" +msgstr "Модуль :mod:`tty` визначає такі функції:" + +msgid "" +"Change the mode of the file descriptor *fd* to raw. If *when* is omitted, it " +"defaults to :const:`termios.TCSAFLUSH`, and is passed to :func:`termios." +"tcsetattr`." +msgstr "" +"Змініть режим файлового дескриптора *fd* на raw. Якщо *when* опущено, за " +"замовчуванням використовується :const:`termios.TCSAFLUSH` і передається в :" +"func:`termios.tcsetattr`." + +msgid "" +"Change the mode of file descriptor *fd* to cbreak. If *when* is omitted, it " +"defaults to :const:`termios.TCSAFLUSH`, and is passed to :func:`termios." +"tcsetattr`." +msgstr "" +"Змініть режим файлового дескриптора *fd* на cbreak. Якщо *when* опущено, за " +"замовчуванням використовується :const:`termios.TCSAFLUSH` і передається в :" +"func:`termios.tcsetattr`." + +msgid "Module :mod:`termios`" +msgstr "Модуль :mod:`termios`" + +msgid "Low-level terminal control interface." +msgstr "Низькорівневий інтерфейс керування терміналом." diff --git a/library/turtle.po b/library/turtle.po new file mode 100644 index 000000000..131823b31 --- /dev/null +++ b/library/turtle.po @@ -0,0 +1,2521 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`turtle` --- Turtle graphics" +msgstr ":mod:`turtle` --- Графіка черепахи" + +msgid "**Source code:** :source:`Lib/turtle.py`" +msgstr "**Вихідний код:** :source:`Lib/turtle.py`" + +msgid "Introduction" +msgstr "Вступ" + +msgid "" +"Turtle graphics is a popular way for introducing programming to kids. It " +"was part of the original Logo programming language developed by Wally " +"Feurzeig, Seymour Papert and Cynthia Solomon in 1967." +msgstr "" +"Черепаша графіки є популярним способом знайомства з програмуванням для " +"дітей. Він був частиною оригінальної мови програмування Logo, розробленої " +"Уоллі Фьорцайгом, Сеймуром Пепертом і Синтією Соломон у 1967 році." + +msgid "" +"Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an " +"``import turtle``, give it the command ``turtle.forward(15)``, and it moves " +"(on-screen!) 15 pixels in the direction it is facing, drawing a line as it " +"moves. Give it the command ``turtle.right(25)``, and it rotates in-place 25 " +"degrees clockwise." +msgstr "" +"Уявіть собі роботизовану черепаху, що починається в (0, 0) у площині x-y. " +"Після ``імпорту черепахи`` дайте їй команду ``turtle.forward(15)``, і вона " +"переміститься (на екрані!) на 15 пікселів у напрямку, куди дивиться, малюючи " +"лінію під час руху. Дайте йому команду ``turtle.right(25)``, і він " +"повернеться на місці на 25 градусів за годинниковою стрілкою." + +msgid "" +"Turtle can draw intricate shapes using programs that repeat simple moves." +msgstr "" +"Turtle може малювати складні фігури за допомогою програм, які повторюють " +"прості рухи." + +msgid "" +"By combining together these and similar commands, intricate shapes and " +"pictures can easily be drawn." +msgstr "" +"Поєднуючи разом ці та подібні команди, можна легко малювати складні фігури " +"та малюнки." + +msgid "" +"The :mod:`turtle` module is an extended reimplementation of the same-named " +"module from the Python standard distribution up to version Python 2.5." +msgstr "" +"Модуль :mod:`turtle` — це розширена повторна реалізація однойменного модуля " +"зі стандартного дистрибутива Python до версії Python 2.5." + +msgid "" +"It tries to keep the merits of the old turtle module and to be (nearly) 100% " +"compatible with it. This means in the first place to enable the learning " +"programmer to use all the commands, classes and methods interactively when " +"using the module from within IDLE run with the ``-n`` switch." +msgstr "" +"Він намагається зберегти переваги старого модуля Turtle і бути (майже) на " +"100% сумісним з ним. Це означає, насамперед, надання можливості програмісту, " +"який навчається, використовувати всі команди, класи та методи в " +"інтерактивному режимі під час використання модуля всередині IDLE запуску з " +"перемикачем ``-n``." + +msgid "" +"The turtle module provides turtle graphics primitives, in both object-" +"oriented and procedure-oriented ways. Because it uses :mod:`tkinter` for " +"the underlying graphics, it needs a version of Python installed with Tk " +"support." +msgstr "" +"Модуль черепахи надає графічні примітиви черепахи як об’єктно-орієнтованим, " +"так і процедурно-орієнтованим способом. Оскільки він використовує :mod:" +"`tkinter` для основної графіки, йому потрібна версія Python, встановлена з " +"підтримкою Tk." + +msgid "The object-oriented interface uses essentially two+two classes:" +msgstr "Об’єктно-орієнтований інтерфейс використовує два+два класи:" + +msgid "" +"The :class:`TurtleScreen` class defines graphics windows as a playground for " +"the drawing turtles. Its constructor needs a :class:`tkinter.Canvas` or a :" +"class:`ScrolledCanvas` as argument. It should be used when :mod:`turtle` is " +"used as part of some application." +msgstr "" +"Клас :class:`TurtleScreen` визначає графічні вікна як майданчик для " +"малювання черепах. Його конструктор потребує :class:`tkinter.Canvas` або :" +"class:`ScrolledCanvas` як аргумент. Його слід використовувати, коли :mod:" +"`turtle` використовується як частина програми." + +msgid "" +"The function :func:`Screen` returns a singleton object of a :class:" +"`TurtleScreen` subclass. This function should be used when :mod:`turtle` is " +"used as a standalone tool for doing graphics. As a singleton object, " +"inheriting from its class is not possible." +msgstr "" +"Функція :func:`Screen` повертає єдиний об’єкт підкласу :class:" +"`TurtleScreen`. Цю функцію слід використовувати, коли :mod:`turtle` " +"використовується як окремий інструмент для створення графіки. Оскільки " +"об’єкт є єдиним елементом, успадкування від його класу неможливе." + +msgid "" +"All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " +"the procedure-oriented interface." +msgstr "" +"Усі методи TurtleScreen/Screen також існують як функції, тобто як частина " +"процедурно-орієнтованого інтерфейсу." + +msgid "" +":class:`RawTurtle` (alias: :class:`RawPen`) defines Turtle objects which " +"draw on a :class:`TurtleScreen`. Its constructor needs a Canvas, " +"ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know " +"where to draw." +msgstr "" +":class:`RawTurtle` (псевдонім: :class:`RawPen`) визначає об’єкти Turtle, які " +"малюють на :class:`TurtleScreen`. Його конструктор потребує Canvas, " +"ScrolledCanvas або TurtleScreen як аргумент, щоб об’єкти RawTurtle знали, де " +"малювати." + +msgid "" +"Derived from RawTurtle is the subclass :class:`Turtle` (alias: :class:" +"`Pen`), which draws on \"the\" :class:`Screen` instance which is " +"automatically created, if not already present." +msgstr "" +"Похідним від RawTurtle є підклас :class:`Turtle` (псевдонім: :class:`Pen`), " +"який малює \"примірник\" :class:`Screen`, який створюється автоматично, якщо " +"його ще немає." + +msgid "" +"All methods of RawTurtle/Turtle also exist as functions, i.e. part of the " +"procedure-oriented interface." +msgstr "" +"Усі методи RawTurtle/Turtle також існують як функції, тобто як частина " +"процедурно-орієнтованого інтерфейсу." + +msgid "" +"The procedural interface provides functions which are derived from the " +"methods of the classes :class:`Screen` and :class:`Turtle`. They have the " +"same names as the corresponding methods. A screen object is automatically " +"created whenever a function derived from a Screen method is called. An " +"(unnamed) turtle object is automatically created whenever any of the " +"functions derived from a Turtle method is called." +msgstr "" +"Процедурний інтерфейс надає функції, які є похідними від методів класів :" +"class:`Screen` і :class:`Turtle`. Вони мають такі ж назви, як і відповідні " +"методи. Екранний об’єкт створюється автоматично щоразу, коли викликається " +"функція, похідна від методу Екран. Об’єкт черепахи (без назви) створюється " +"автоматично щоразу, коли викликається будь-яка функція, похідна від методу " +"черепашки." + +msgid "" +"To use multiple turtles on a screen one has to use the object-oriented " +"interface." +msgstr "" +"Щоб використовувати декілька черепашок на екрані, потрібно використовувати " +"об’єктно-орієнтований інтерфейс." + +msgid "" +"In the following documentation the argument list for functions is given. " +"Methods, of course, have the additional first argument *self* which is " +"omitted here." +msgstr "" +"У наступній документації подано список аргументів для функцій. Методи, " +"звичайно, мають додатковий перший аргумент *self*, який тут опущено." + +msgid "Overview of available Turtle and Screen methods" +msgstr "Огляд доступних методів Turtle та Screen" + +msgid "Turtle methods" +msgstr "Методи черепахи" + +msgid "Turtle motion" +msgstr "Рух черепахи" + +msgid "Move and draw" +msgstr "Рухайтесь і малюйте" + +msgid ":func:`forward` | :func:`fd`" +msgstr ":func:`forward` | :func:`fd`" + +msgid ":func:`backward` | :func:`bk` | :func:`back`" +msgstr ":func:`backward` | :func:`bk` | :func:`back`" + +msgid ":func:`right` | :func:`rt`" +msgstr ":func:`right` | :func:`rt`" + +msgid ":func:`left` | :func:`lt`" +msgstr ":func:`left` | :func:`lt`" + +msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" +msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" + +msgid ":func:`setx`" +msgstr ":func:`setx`" + +msgid ":func:`sety`" +msgstr ":func:`sety`" + +msgid ":func:`setheading` | :func:`seth`" +msgstr ":func:`setheading` | :func:`seth`" + +msgid ":func:`home`" +msgstr ":func:`home`" + +msgid ":func:`circle`" +msgstr ":func:`circle`" + +msgid ":func:`dot`" +msgstr ":func:`dot`" + +msgid ":func:`stamp`" +msgstr ":func:`stamp`" + +msgid ":func:`clearstamp`" +msgstr ":func:`clearstamp`" + +msgid ":func:`clearstamps`" +msgstr ":func:`clearstamps`" + +msgid ":func:`undo`" +msgstr ":func:`undo`" + +msgid ":func:`speed`" +msgstr ":func:`speed`" + +msgid "Tell Turtle's state" +msgstr "Розкажіть про стан Черепахи" + +msgid ":func:`position` | :func:`pos`" +msgstr ":func:`position` | :func:`pos`" + +msgid ":func:`towards`" +msgstr ":func:`towards`" + +msgid ":func:`xcor`" +msgstr ":func:`xcor`" + +msgid ":func:`ycor`" +msgstr ":func:`ycor`" + +msgid ":func:`heading`" +msgstr ":func:`heading`" + +msgid ":func:`distance`" +msgstr ":func:`distance`" + +msgid "Setting and measurement" +msgstr "Налаштування та вимірювання" + +msgid ":func:`degrees`" +msgstr ":func:`degrees`" + +msgid ":func:`radians`" +msgstr ":func:`radians`" + +msgid "Pen control" +msgstr "Керування пером" + +msgid "Drawing state" +msgstr "Стан малюнка" + +msgid ":func:`pendown` | :func:`pd` | :func:`down`" +msgstr ":func:`pendown` | :func:`pd` | :func:`down`" + +msgid ":func:`penup` | :func:`pu` | :func:`up`" +msgstr ":func:`penup` | :func:`pu` | :func:`up`" + +msgid ":func:`pensize` | :func:`width`" +msgstr ":func:`pensize` | :func:`width`" + +msgid ":func:`pen`" +msgstr ":func:`pen`" + +msgid ":func:`isdown`" +msgstr ":func:`isdown`" + +msgid "Color control" +msgstr "Контроль кольору" + +msgid ":func:`color`" +msgstr ":func:`color`" + +msgid ":func:`pencolor`" +msgstr ":func:`pencolor`" + +msgid ":func:`fillcolor`" +msgstr ":func:`fillcolor`" + +msgid "Filling" +msgstr "Наповнення" + +msgid ":func:`filling`" +msgstr ":func:`filling`" + +msgid ":func:`begin_fill`" +msgstr ":func:`begin_fill`" + +msgid ":func:`end_fill`" +msgstr ":func:`end_fill`" + +msgid "More drawing control" +msgstr "Більше контролю малювання" + +msgid ":func:`reset`" +msgstr ":func:`reset`" + +msgid ":func:`clear`" +msgstr ":func:`clear`" + +msgid ":func:`write`" +msgstr ":func:`write`" + +msgid "Turtle state" +msgstr "Держава черепахи" + +msgid "Visibility" +msgstr "Видимість" + +msgid ":func:`showturtle` | :func:`st`" +msgstr ":func:`showturtle` | :func:`st`" + +msgid ":func:`hideturtle` | :func:`ht`" +msgstr ":func:`hideturtle` | :func:`ht`" + +msgid ":func:`isvisible`" +msgstr ":func:`isvisible`" + +msgid "Appearance" +msgstr "Зовнішній вигляд" + +msgid ":func:`shape`" +msgstr ":func:`shape`" + +msgid ":func:`resizemode`" +msgstr ":func:`resizemode`" + +msgid ":func:`shapesize` | :func:`turtlesize`" +msgstr ":func:`shapesize` | :func:`turtlesize`" + +msgid ":func:`shearfactor`" +msgstr ":func:`shearfactor`" + +msgid ":func:`settiltangle`" +msgstr ":func:`settiltangle`" + +msgid ":func:`tiltangle`" +msgstr ":func:`tiltangle`" + +msgid ":func:`tilt`" +msgstr ":func:`tilt`" + +msgid ":func:`shapetransform`" +msgstr ":func:`shapetransform`" + +msgid ":func:`get_shapepoly`" +msgstr ":func:`get_shapepoly`" + +msgid "Using events" +msgstr "Використання подій" + +msgid ":func:`onclick`" +msgstr ":func:`onclick`" + +msgid ":func:`onrelease`" +msgstr ":func:`onrelease`" + +msgid ":func:`ondrag`" +msgstr ":func:`ondrag`" + +msgid "Special Turtle methods" +msgstr "Спеціальні методи Черепахи" + +msgid ":func:`begin_poly`" +msgstr ":func:`begin_poly`" + +msgid ":func:`end_poly`" +msgstr ":func:`end_poly`" + +msgid ":func:`get_poly`" +msgstr ":func:`get_poly`" + +msgid ":func:`clone`" +msgstr ":func:`clone`" + +msgid ":func:`getturtle` | :func:`getpen`" +msgstr ":func:`getturtle` | :func:`getpen`" + +msgid ":func:`getscreen`" +msgstr ":func:`getscreen`" + +msgid ":func:`setundobuffer`" +msgstr ":func:`setundobuffer`" + +msgid ":func:`undobufferentries`" +msgstr ":func:`undobufferentries`" + +msgid "Methods of TurtleScreen/Screen" +msgstr "Методи TurtleScreen/Screen" + +msgid "Window control" +msgstr "Віконний контроль" + +msgid ":func:`bgcolor`" +msgstr ":func:`bgcolor`" + +msgid ":func:`bgpic`" +msgstr ":func:`bgpic`" + +msgid ":func:`clearscreen`" +msgstr ":func:`clearscreen`" + +msgid ":func:`resetscreen`" +msgstr ":func:`resetscreen`" + +msgid ":func:`screensize`" +msgstr ":func:`screensize`" + +msgid ":func:`setworldcoordinates`" +msgstr ":func:`setworldcoordinates`" + +msgid "Animation control" +msgstr "Керування анімацією" + +msgid ":func:`delay`" +msgstr ":func:`delay`" + +msgid ":func:`tracer`" +msgstr ":func:`tracer`" + +msgid ":func:`update`" +msgstr ":func:`update`" + +msgid "Using screen events" +msgstr "Використання екранних подій" + +msgid ":func:`listen`" +msgstr ":func:`listen`" + +msgid ":func:`onkey` | :func:`onkeyrelease`" +msgstr ":func:`onkey` | :func:`onkeyrelease`" + +msgid ":func:`onkeypress`" +msgstr ":func:`onkeypress`" + +msgid ":func:`onclick` | :func:`onscreenclick`" +msgstr ":func:`onclick` | :func:`onscreenclick`" + +msgid ":func:`ontimer`" +msgstr ":func:`ontimer`" + +msgid ":func:`mainloop` | :func:`done`" +msgstr ":func:`mainloop` | :func:`done`" + +msgid "Settings and special methods" +msgstr "Налаштування та спеціальні методи" + +msgid ":func:`mode`" +msgstr ":func:`mode`" + +msgid ":func:`colormode`" +msgstr ":func:`colormode`" + +msgid ":func:`getcanvas`" +msgstr ":func:`getcanvas`" + +msgid ":func:`getshapes`" +msgstr ":func:`getshapes`" + +msgid ":func:`register_shape` | :func:`addshape`" +msgstr ":func:`register_shape` | :func:`addshape`" + +msgid ":func:`turtles`" +msgstr ":func:`turtles`" + +msgid ":func:`window_height`" +msgstr ":func:`висота_вікна`" + +msgid ":func:`window_width`" +msgstr ":func:`ширина_вікна`" + +msgid "Input methods" +msgstr "Методи введення" + +msgid ":func:`textinput`" +msgstr ":func:`textinput`" + +msgid ":func:`numinput`" +msgstr ":func:`numinput`" + +msgid "Methods specific to Screen" +msgstr "Методи, специфічні для Screen" + +msgid ":func:`bye`" +msgstr ":func:`bye`" + +msgid ":func:`exitonclick`" +msgstr ":func:`exitonclick`" + +msgid ":func:`setup`" +msgstr ":func:`setup`" + +msgid ":func:`title`" +msgstr ":func:`title`" + +msgid "Methods of RawTurtle/Turtle and corresponding functions" +msgstr "Методи RawTurtle/Turtle та відповідні функції" + +msgid "" +"Most of the examples in this section refer to a Turtle instance called " +"``turtle``." +msgstr "" +"Більшість прикладів у цьому розділі стосуються екземпляра Turtle під назвою " +"``turtle``." + +msgid "Parameters" +msgstr "Параметри" + +msgid "a number (integer or float)" +msgstr "число (ціле чи з плаваючою точкою)" + +msgid "" +"Move the turtle forward by the specified *distance*, in the direction the " +"turtle is headed." +msgstr "" +"Перемістіть черепаху вперед на вказану *відстань*, у напрямку, куди прямує " +"черепаха." + +msgid "a number" +msgstr "число" + +msgid "" +"Move the turtle backward by *distance*, opposite to the direction the turtle " +"is headed. Do not change the turtle's heading." +msgstr "" +"Перемістіть черепаху назад на *відстань*, протилежну напрямку руху черепахи. " +"Не змінюйте напрямок черепахи." + +msgid "" +"Turn turtle right by *angle* units. (Units are by default degrees, but can " +"be set via the :func:`degrees` and :func:`radians` functions.) Angle " +"orientation depends on the turtle mode, see :func:`mode`." +msgstr "" +"Поверніть черепаху праворуч на одиниці *кут*. (За замовчуванням одиницями є " +"градуси, але їх можна встановити за допомогою функцій :func:`degrees` і :" +"func:`radians`.) Кутова орієнтація залежить від режиму черепахи, див. :func:" +"`mode`." + +msgid "" +"Turn turtle left by *angle* units. (Units are by default degrees, but can " +"be set via the :func:`degrees` and :func:`radians` functions.) Angle " +"orientation depends on the turtle mode, see :func:`mode`." +msgstr "" +"Поверніть черепаху ліворуч на *кут*. (За замовчуванням одиницями є градуси, " +"але їх можна встановити за допомогою функцій :func:`degrees` і :func:" +"`radians`.) Кутова орієнтація залежить від режиму черепахи, див. :func:" +"`mode`." + +msgid "a number or a pair/vector of numbers" +msgstr "число або пара/вектор чисел" + +msgid "a number or ``None``" +msgstr "число або ``Жодного``" + +msgid "" +"If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." +"g. as returned by :func:`pos`)." +msgstr "" +"Якщо *y* має значення ``None``, *x* має бути парою координат або :class:" +"`Vec2D` (наприклад, як повернуто :func:`pos`)." + +msgid "" +"Move turtle to an absolute position. If the pen is down, draw line. Do not " +"change the turtle's orientation." +msgstr "" +"Перемістіть черепаху в абсолютне положення. Якщо ручка опущена, намалюйте " +"лінію. Не змінюйте орієнтацію черепахи." + +msgid "" +"Set the turtle's first coordinate to *x*, leave second coordinate unchanged." +msgstr "Встановіть першу координату черепахи на *x*, другу залиште без змін." + +msgid "" +"Set the turtle's second coordinate to *y*, leave first coordinate unchanged." +msgstr "" +"Встановіть другу координату черепахи на *y*, залиште першу координату без " +"змін." + +msgid "" +"Set the orientation of the turtle to *to_angle*. Here are some common " +"directions in degrees:" +msgstr "" +"Встановіть орієнтацію черепахи на *to_angle*. Ось кілька поширених напрямків " +"у градусах:" + +msgid "standard mode" +msgstr "стандартний режим" + +msgid "logo mode" +msgstr "режим логотипу" + +msgid "0 - east" +msgstr "0 - схід" + +msgid "0 - north" +msgstr "0 - північ" + +msgid "90 - north" +msgstr "90 - півн" + +msgid "90 - east" +msgstr "90 - сх" + +msgid "180 - west" +msgstr "180 - зах" + +msgid "180 - south" +msgstr "180 - півд" + +msgid "270 - south" +msgstr "270 - півд" + +msgid "270 - west" +msgstr "270 - зах" + +msgid "" +"Move turtle to the origin -- coordinates (0,0) -- and set its heading to its " +"start-orientation (which depends on the mode, see :func:`mode`)." +msgstr "" +"Перемістіть черепаху в початкову точку -- координати (0,0) -- і встановіть " +"її напрям на початкову орієнтацію (яка залежить від режиму, див. :func:" +"`mode`)." + +msgid "a number (or ``None``)" +msgstr "число (або ``Жодного``)" + +msgid "an integer (or ``None``)" +msgstr "ціле число (або ``Жодного``)" + +msgid "" +"Draw a circle with given *radius*. The center is *radius* units left of the " +"turtle; *extent* -- an angle -- determines which part of the circle is " +"drawn. If *extent* is not given, draw the entire circle. If *extent* is " +"not a full circle, one endpoint of the arc is the current pen position. " +"Draw the arc in counterclockwise direction if *radius* is positive, " +"otherwise in clockwise direction. Finally the direction of the turtle is " +"changed by the amount of *extent*." +msgstr "" +"Накресліть коло із заданим *радіусом*. Центр — *радіус* одиниць ліворуч від " +"черепахи; *протяжність* -- кут -- визначає, яка частина кола буде " +"намальована. Якщо *протяжність* не вказано, намалюйте все коло. Якщо " +"*протяжність* не є повним колом, одна кінцева точка дуги є поточною позицією " +"пера. Намалюйте дугу проти годинникової стрілки, якщо *радіус* додатний, " +"інакше – за годинниковою стрілкою. Нарешті, напрямок черепахи змінюється на " +"величину *протяжності*." + +msgid "" +"As the circle is approximated by an inscribed regular polygon, *steps* " +"determines the number of steps to use. If not given, it will be calculated " +"automatically. May be used to draw regular polygons." +msgstr "" +"Оскільки коло апроксимується вписаним правильним багатокутником, *кроки* " +"визначають кількість кроків для використання. Якщо не вказано, воно буде " +"розраховано автоматично. Можна використовувати для малювання правильних " +"багатокутників." + +msgid "an integer >= 1 (if given)" +msgstr "ціле число >= 1 (якщо задано)" + +msgid "a colorstring or a numeric color tuple" +msgstr "рядок кольорів або числовий кортеж кольорів" + +msgid "" +"Draw a circular dot with diameter *size*, using *color*. If *size* is not " +"given, the maximum of pensize+4 and 2*pensize is used." +msgstr "" +"Намалюйте круглу точку діаметром *розмір*, використовуючи *колір*. Якщо " +"*size* не вказано, використовується максимальний розмір pensize+4 і " +"2*pensize." + +msgid "" +"Stamp a copy of the turtle shape onto the canvas at the current turtle " +"position. Return a stamp_id for that stamp, which can be used to delete it " +"by calling ``clearstamp(stamp_id)``." +msgstr "" +"Виштампуйте копію фігури черепахи на полотні в поточній позиції черепахи. " +"Повертає stamp_id для цього штампа, який можна використати для його " +"видалення, викликавши ``clearstamp(stamp_id)``." + +msgid "an integer, must be return value of previous :func:`stamp` call" +msgstr "" +"ціле число, має бути значенням, що повертається попереднім викликом :func:" +"`stamp`" + +msgid "Delete stamp with given *stampid*." +msgstr "Видалити штамп із заданим *stampid*." + +msgid "" +"Delete all or first/last *n* of turtle's stamps. If *n* is ``None``, delete " +"all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " +"*n* stamps." +msgstr "" +"Видалити всі або перші/останні *n* штампів черепахи. Якщо *n* має значення " +"``None``, видаліть усі позначки, якщо *n* > 0 видаліть перші *n* позначок, " +"інакше, якщо *n* < 0, видаліть останні *n* позначок." + +msgid "" +"Undo (repeatedly) the last turtle action(s). Number of available undo " +"actions is determined by the size of the undobuffer." +msgstr "" +"Скасувати (кілька разів) останні дії черепахи. Кількість доступних дій " +"скасування визначається розміром буфера скасування." + +msgid "an integer in the range 0..10 or a speedstring (see below)" +msgstr "ціле число в діапазоні 0..10 або швидкісний рядок (див. нижче)" + +msgid "" +"Set the turtle's speed to an integer value in the range 0..10. If no " +"argument is given, return current speed." +msgstr "" +"Встановіть швидкість черепахи на ціле число в діапазоні 0..10. Якщо аргумент " +"не вказано, повертає поточну швидкість." + +msgid "" +"If input is a number greater than 10 or smaller than 0.5, speed is set to " +"0. Speedstrings are mapped to speedvalues as follows:" +msgstr "" +"Якщо введення є числом, більшим за 10 або меншим за 0,5, швидкість " +"встановлюється на 0. Рядки швидкості зіставляються зі значеннями швидкості " +"таким чином:" + +msgid "\"fastest\": 0" +msgstr "\"найшвидший\": 0" + +msgid "\"fast\": 10" +msgstr "\"швидко\": 10" + +msgid "\"normal\": 6" +msgstr "\"нормальний\": 6" + +msgid "\"slow\": 3" +msgstr "\"повільно\": 3" + +msgid "\"slowest\": 1" +msgstr "\"найповільніший\": 1" + +msgid "" +"Speeds from 1 to 10 enforce increasingly faster animation of line drawing " +"and turtle turning." +msgstr "" +"Швидкості від 1 до 10 забезпечують дедалі швидшу анімацію малювання ліній і " +"обертання черепахи." + +msgid "" +"Attention: *speed* = 0 means that *no* animation takes place. forward/back " +"makes turtle jump and likewise left/right make the turtle turn instantly." +msgstr "" +"Увага: *швидкість* = 0 означає, що *немає* анімації. вперед/назад змушує " +"черепаху стрибати, а ліворуч/праворуч змушує черепаху миттєво повертатися." + +msgid "" +"Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." +msgstr "" +"Повертає поточне розташування черепахи (x,y) (як вектор :class:`Vec2D`)." + +msgid "a number or a pair/vector of numbers or a turtle instance" +msgstr "число або пара/вектор чисел або екземпляр черепахи" + +msgid "a number if *x* is a number, else ``None``" +msgstr "число, якщо *x* є числом, інакше ``None``" + +msgid "" +"Return the angle between the line from turtle position to position specified " +"by (x,y), the vector or the other turtle. This depends on the turtle's " +"start orientation which depends on the mode - \"standard\"/\"world\" or " +"\"logo\"." +msgstr "" +"Повертає кут між лінією від положення черепахи до положення, визначеного (x," +"y), вектором або іншою черепахою. Це залежить від початкової орієнтації " +"черепахи, яка залежить від режиму - \"стандартний\"/\"світ\" або \"логотип\"." + +msgid "Return the turtle's x coordinate." +msgstr "Поверніть координату x черепахи." + +msgid "Return the turtle's y coordinate." +msgstr "Поверніть координату y черепахи." + +msgid "" +"Return the turtle's current heading (value depends on the turtle mode, see :" +"func:`mode`)." +msgstr "" +"Повертає поточний заголовок черепахи (значення залежить від режиму черепахи, " +"див. :func:`mode`)." + +msgid "" +"Return the distance from the turtle to (x,y), the given vector, or the given " +"other turtle, in turtle step units." +msgstr "" +"Повертає відстань від черепахи до (x,y), даного вектора або даної іншої " +"черепахи в одиницях кроку черепахи." + +msgid "Settings for measurement" +msgstr "Налаштування для вимірювання" + +msgid "" +"Set angle measurement units, i.e. set number of \"degrees\" for a full " +"circle. Default value is 360 degrees." +msgstr "" +"Встановіть одиниці вимірювання кута, тобто встановіть кількість \"градусів\" " +"для повного кола. Значення за замовчуванням – 360 градусів." + +msgid "" +"Set the angle measurement units to radians. Equivalent to ``degrees(2*math." +"pi)``." +msgstr "" +"Установіть одиниці вимірювання кута в радіанах. Еквівалент ``градусів(2*math." +"pi)``." + +msgid "Pull the pen down -- drawing when moving." +msgstr "Потягніть ручку вниз -- малюйте під час руху." + +msgid "Pull the pen up -- no drawing when moving." +msgstr "Потягніть ручку вгору - під час руху не буде малюнка." + +msgid "a positive number" +msgstr "позитивне число" + +msgid "" +"Set the line thickness to *width* or return it. If resizemode is set to " +"\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " +"line thickness. If no argument is given, the current pensize is returned." +msgstr "" +"Встановіть товщину лінії на *width* або поверніть її. Якщо для параметра " +"resizemode встановлено значення \"auto\" і turtleshape є багатокутником, цей " +"багатокутник малюється з тією самою товщиною лінії. Якщо аргумент не задано, " +"повертається поточний розмір пенсії." + +msgid "a dictionary with some or all of the below listed keys" +msgstr "словник з деякими або всіма перерахованими нижче ключами" + +msgid "one or more keyword-arguments with the below listed keys as keywords" +msgstr "" +"один або більше ключових аргументів із зазначеними нижче ключами як " +"ключовими словами" + +msgid "" +"Return or set the pen's attributes in a \"pen-dictionary\" with the " +"following key/value pairs:" +msgstr "" +"Повертайте або встановлюйте атрибути пера в \"словнику пера\" з такими " +"парами ключ/значення:" + +msgid "\"shown\": True/False" +msgstr "\"показано\": Правда/Невірно" + +msgid "\"pendown\": True/False" +msgstr "\"pendown\": Правда/Невірно" + +msgid "\"pencolor\": color-string or color-tuple" +msgstr "\"pencolor\": кольоровий рядок або колірний кортеж" + +msgid "\"fillcolor\": color-string or color-tuple" +msgstr "\"fillcolor\": кольоровий рядок або колірний кортеж" + +msgid "\"pensize\": positive number" +msgstr "\"pensize\": позитивне число" + +msgid "\"speed\": number in range 0..10" +msgstr "\"швидкість\": число в діапазоні 0..10" + +msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" +msgstr "\"resizemode\": \"auto\" або \"user\" або \"noresize\"" + +msgid "\"stretchfactor\": (positive number, positive number)" +msgstr "\"stretchfactor\": (додатне число, додатне число)" + +msgid "\"outline\": positive number" +msgstr "\"контур\": позитивне число" + +msgid "\"tilt\": number" +msgstr "\"нахил\": число" + +msgid "" +"This dictionary can be used as argument for a subsequent call to :func:`pen` " +"to restore the former pen-state. Moreover one or more of these attributes " +"can be provided as keyword-arguments. This can be used to set several pen " +"attributes in one statement." +msgstr "" +"Цей словник можна використовувати як аргумент для наступного виклику :func:" +"`pen` для відновлення попереднього стану пера. Крім того, один або декілька " +"з цих атрибутів можна надати як ключові аргументи. Це можна використовувати " +"для встановлення кількох атрибутів пера в одному операторі." + +msgid "Return ``True`` if pen is down, ``False`` if it's up." +msgstr "Повертає ``True``, якщо ручка опущена, ``False``, якщо вона піднята." + +msgid "Return or set the pencolor." +msgstr "Повернути або встановити колір пера." + +msgid "Four input formats are allowed:" +msgstr "Дозволено чотири формати введення:" + +msgid "``pencolor()``" +msgstr "``pencolor()``" + +msgid "" +"Return the current pencolor as color specification string or as a tuple (see " +"example). May be used as input to another color/pencolor/fillcolor call." +msgstr "" +"Повертає поточний колір пера як рядок специфікації кольору або як кортеж " +"(див. приклад). Може використовуватися як вхідні дані для іншого виклику " +"color/pencolor/fillcolor." + +msgid "``pencolor(colorstring)``" +msgstr "pencolor(кольоровий рядок)." + +msgid "" +"Set pencolor to *colorstring*, which is a Tk color specification string, " +"such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." +msgstr "" +"Встановіть колір пера на *colorstring*, який є рядком специфікації кольору " +"Tk, наприклад ``\"red\"``, ``\"yellow\"`` або ``\"#33cc8c\"``." + +msgid "``pencolor((r, g, b))``" +msgstr "`` pencolor ((r, g, b))``" + +msgid "" +"Set pencolor to the RGB color represented by the tuple of *r*, *g*, and " +"*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " +"colormode is either 1.0 or 255 (see :func:`colormode`)." +msgstr "" +"Встановіть колір пера на колір RGB, представлений кортежем *r*, *g* і *b*. " +"Кожне з *r*, *g* і *b* має бути в діапазоні 0..colormode, де colormode " +"дорівнює 1,0 або 255 (див. :func:`colormode`)." + +msgid "``pencolor(r, g, b)``" +msgstr "``колір пера(r, g, b)``" + +msgid "" +"Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " +"*r*, *g*, and *b* must be in the range 0..colormode." +msgstr "" +"Встановіть колір пера на колір RGB, представлений *r*, *g* і *b*. Кожне з " +"*r*, *g* і *b* має бути в діапазоні 0..colormode." + +msgid "" +"If turtleshape is a polygon, the outline of that polygon is drawn with the " +"newly set pencolor." +msgstr "" +"Якщо turtleshape є багатокутником, контур цього багатокутника малюється " +"щойно встановленим кольором пера." + +msgid "Return or set the fillcolor." +msgstr "Повернути або встановити колір заливки." + +msgid "``fillcolor()``" +msgstr "``fillcolor()``" + +msgid "" +"Return the current fillcolor as color specification string, possibly in " +"tuple format (see example). May be used as input to another color/pencolor/" +"fillcolor call." +msgstr "" +"Повертає поточний колір заливки як рядок специфікації кольору, можливо, у " +"форматі кортежу (див. приклад). Може використовуватися як вхідні дані для " +"іншого виклику color/pencolor/fillcolor." + +msgid "``fillcolor(colorstring)``" +msgstr "``fillcolor(colorstring)``" + +msgid "" +"Set fillcolor to *colorstring*, which is a Tk color specification string, " +"such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." +msgstr "" +"Встановіть колір заливки на *colorstring*, який є рядком специфікації " +"кольору Tk, наприклад ``\"red\"``, ``\"yellow\"`` або ``\"#33cc8c\"``." + +msgid "``fillcolor((r, g, b))``" +msgstr "``fillcolor((r, g, b))``" + +msgid "" +"Set fillcolor to the RGB color represented by the tuple of *r*, *g*, and " +"*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " +"colormode is either 1.0 or 255 (see :func:`colormode`)." +msgstr "" +"Встановіть колір заливки на колір RGB, представлений кортежем *r*, *g* і " +"*b*. Кожне з *r*, *g* і *b* має бути в діапазоні 0..colormode, де colormode " +"дорівнює 1,0 або 255 (див. :func:`colormode`)." + +msgid "``fillcolor(r, g, b)``" +msgstr "``fillcolor(r, g, b)``" + +msgid "" +"Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " +"*r*, *g*, and *b* must be in the range 0..colormode." +msgstr "" +"Встановіть колір заливки на колір RGB, представлений *r*, *g* і *b*. Кожне з " +"*r*, *g* і *b* має бути в діапазоні 0..colormode." + +msgid "" +"If turtleshape is a polygon, the interior of that polygon is drawn with the " +"newly set fillcolor." +msgstr "" +"Якщо turtleshape є багатокутником, внутрішня частина цього багатокутника " +"буде намальована новим кольором заливки." + +msgid "Return or set pencolor and fillcolor." +msgstr "Повернути або встановити колір пера та колір заливки." + +msgid "" +"Several input formats are allowed. They use 0 to 3 arguments as follows:" +msgstr "" +"Допускається кілька форматів введення. Вони використовують від 0 до 3 " +"аргументів наступним чином:" + +msgid "``color()``" +msgstr "``колір()``" + +msgid "" +"Return the current pencolor and the current fillcolor as a pair of color " +"specification strings or tuples as returned by :func:`pencolor` and :func:" +"`fillcolor`." +msgstr "" +"Повертає поточний колір пера та поточний колір заливки як пару рядків " +"специфікації кольору або кортежів, які повертає :func:`pencolor` і :func:" +"`fillcolor`." + +msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" +msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" + +msgid "" +"Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " +"given value." +msgstr "" +"Вхідні дані, як у :func:`pencolor`, встановіть для обох, заливки та кольору " +"пера, вказане значення." + +msgid "" +"``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" +msgstr "" +"``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" + +msgid "" +"Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and " +"analogously if the other input format is used." +msgstr "" +"Еквівалент ``pencolor(colorstring1)`` і ``fillcolor(colorstring2)`` і " +"аналогічно, якщо використовується інший формат введення." + +msgid "" +"If turtleshape is a polygon, outline and interior of that polygon is drawn " +"with the newly set colors." +msgstr "" +"Якщо turtleshape є багатокутником, контур і внутрішня частина цього " +"багатокутника малюються новими кольорами." + +msgid "See also: Screen method :func:`colormode`." +msgstr "Дивіться також: Екранний метод :func:`colormode`." + +msgid "Return fillstate (``True`` if filling, ``False`` else)." +msgstr "Повернути fillstate (``True``, якщо заповнення, ``False`` інакше)." + +msgid "To be called just before drawing a shape to be filled." +msgstr "" +"Викликається безпосередньо перед малюванням форми, яку потрібно заповнити." + +msgid "Fill the shape drawn after the last call to :func:`begin_fill`." +msgstr "" +"Заповніть форму, намальовану після останнього виклику :func:`begin_fill`." + +msgid "" +"Whether or not overlap regions for self-intersecting polygons or multiple " +"shapes are filled depends on the operating system graphics, type of overlap, " +"and number of overlaps. For example, the Turtle star above may be either " +"all yellow or have some white regions." +msgstr "" +"Чи заповнюються області перекриття для багатокутників, що перетинаються між " +"собою, або кількох фігур, залежить від графіки операційної системи, типу " +"перекриття та кількості перекривань. Наприклад, зірка Черепахи вище може " +"бути або повністю жовтою, або мати деякі білі області." + +msgid "" +"Delete the turtle's drawings from the screen, re-center the turtle and set " +"variables to the default values." +msgstr "" +"Видаліть малюнки черепахи з екрана, знову відцентруйте черепаху та " +"встановіть для змінних значення за замовчуванням." + +msgid "" +"Delete the turtle's drawings from the screen. Do not move turtle. State " +"and position of the turtle as well as drawings of other turtles are not " +"affected." +msgstr "" +"Видаліть малюнки черепахи з екрана. Не рухай черепаху. Стан і положення " +"черепахи, а також малюнки інших черепах не впливають." + +msgid "object to be written to the TurtleScreen" +msgstr "об’єкт для запису на TurtleScreen" + +msgid "True/False" +msgstr "Правда/Неправда" + +msgid "one of the strings \"left\", \"center\" or right\"" +msgstr "один із рядків \"зліва\", \"по центру\" або справа\"" + +msgid "a triple (fontname, fontsize, fonttype)" +msgstr "трійка (назва шрифту, розмір шрифту, тип шрифту)" + +msgid "" +"Write text - the string representation of *arg* - at the current turtle " +"position according to *align* (\"left\", \"center\" or \"right\") and with " +"the given font. If *move* is true, the pen is moved to the bottom-right " +"corner of the text. By default, *move* is ``False``." +msgstr "" +"Напишіть текст - рядкове представлення *arg* - у поточній позиції черепашки " +"відповідно до *align* (\"left\", \"center\" або \"right\") і з указаним " +"шрифтом. Якщо *move* має значення true, перо переміщується в нижній правий " +"кут тексту. За замовчуванням *move* має значення ``False``." + +msgid "" +"Make the turtle invisible. It's a good idea to do this while you're in the " +"middle of doing some complex drawing, because hiding the turtle speeds up " +"the drawing observably." +msgstr "" +"Зробіть черепаху невидимою. Бажано робити це, поки ви виконуєте якийсь " +"складний малюнок, тому що приховання черепахи значно прискорює малювання." + +msgid "Make the turtle visible." +msgstr "Зробіть черепаху видимою." + +msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." +msgstr "" +"Повертає ``True``, якщо черепаха показана, ``False``, якщо вона прихована." + +msgid "a string which is a valid shapename" +msgstr "рядок, який є дійсним іменем форми" + +msgid "" +"Set turtle shape to shape with given *name* or, if name is not given, return " +"name of current shape. Shape with *name* must exist in the TurtleScreen's " +"shape dictionary. Initially there are the following polygon shapes: \"arrow" +"\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". To learn " +"about how to deal with shapes see Screen method :func:`register_shape`." +msgstr "" +"Установити фігуру черепахи у форму з заданим *ім’ям* або, якщо ім’я не " +"вказано, повернути назву поточної форми. Фігура з *ім’ям* має існувати в " +"словнику форм TurtleScreen. Спочатку є такі форми багатокутників: \"стрілка" +"\", \"черепаха\", \"коло\", \"квадрат\", \"трикутник\", \"класика\". Щоб " +"дізнатися про те, як працювати з фігурами, перегляньте метод екрану :func:" +"`register_shape`." + +msgid "one of the strings \"auto\", \"user\", \"noresize\"" +msgstr "один із рядків \"auto\", \"user\", \"noresize\"" + +msgid "" +"Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If " +"*rmode* is not given, return current resizemode. Different resizemodes have " +"the following effects:" +msgstr "" +"Встановіть для режиму зміни розміру одне зі значень: \"авто\", \"користувач" +"\", \"норесайз\". Якщо *rmode* не вказано, повертає поточний режим зміни " +"розміру. Різні режими зміни розміру мають такі ефекти:" + +msgid "" +"\"auto\": adapts the appearance of the turtle corresponding to the value of " +"pensize." +msgstr "" +"\"авто\": адаптує зовнішній вигляд черепахи відповідно до значення pensize." + +msgid "" +"\"user\": adapts the appearance of the turtle according to the values of " +"stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." +msgstr "" +"\"user\": адаптує зовнішній вигляд черепахи відповідно до значень " +"stretchfactor і outlinewidth (контур), які встановлюються :func:`shapesize`." + +msgid "\"noresize\": no adaption of the turtle's appearance takes place." +msgstr "\"noresize\": адаптація зовнішнього вигляду черепахи не відбувається." + +msgid "" +"``resizemode(\"user\")`` is called by :func:`shapesize` when used with " +"arguments." +msgstr "" +"``resizemode(\"user\")`` викликається :func:`shapesize` при використанні з " +"аргументами." + +msgid "positive number" +msgstr "позитивне число" + +msgid "" +"Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " +"resizemode to \"user\". If and only if resizemode is set to \"user\", the " +"turtle will be displayed stretched according to its stretchfactors: " +"*stretch_wid* is stretchfactor perpendicular to its orientation, " +"*stretch_len* is stretchfactor in direction of its orientation, *outline* " +"determines the width of the shapes's outline." +msgstr "" +"Повернути або встановити атрибути пера x/y-фактори розтягування та/або " +"контур. Встановіть режим зміни розміру на \"користувач\". Якщо і тільки якщо " +"resizemode встановлено на \"user\", черепаха відображатиметься розтягнутою " +"відповідно до її коефіцієнтів розтягування: *stretch_wid* — це коефіцієнт " +"розтягування, перпендикулярний до її орієнтації, *stretch_len* — це " +"коефіцієнт розтягування в напрямку її орієнтації, *outline* визначає ширину " +"контурів фігур." + +msgid "number (optional)" +msgstr "номер (необов'язково)" + +msgid "" +"Set or return the current shearfactor. Shear the turtleshape according to " +"the given shearfactor shear, which is the tangent of the shear angle. Do " +"*not* change the turtle's heading (direction of movement). If shear is not " +"given: return the current shearfactor, i. e. the tangent of the shear angle, " +"by which lines parallel to the heading of the turtle are sheared." +msgstr "" +"Встановити або повернути поточний коефіцієнт зсуву. Зрізайте форму черепахи " +"відповідно до заданого коефіцієнта зсуву, який є тангенсом кута зсуву. *Не* " +"змінюйте курс (напрямок руху) черепахи. Якщо зсув не вказано: повернути " +"поточний коефіцієнт зсуву, тобто. д. тангенс кута зсуву, за яким зрізаються " +"лінії, паралельні курсу черепахи." + +msgid "" +"Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " +"change the turtle's heading (direction of movement)." +msgstr "" +"Поверніть форму черепахи на *кут* від її поточного кута нахилу, але *не* " +"змінюйте напрям черепахи (напрямок руху)." + +msgid "" +"Rotate the turtleshape to point in the direction specified by *angle*, " +"regardless of its current tilt-angle. *Do not* change the turtle's heading " +"(direction of movement)." +msgstr "" +"Обертайте фігуру черепахи, щоб вона вказувала в напрямку, визначеному " +"*кутом*, незалежно від її поточного кута нахилу. *Не* змінюйте курс " +"(напрямок руху) черепахи." + +msgid "a number (optional)" +msgstr "число (необов'язково)" + +msgid "" +"Set or return the current tilt-angle. If angle is given, rotate the " +"turtleshape to point in the direction specified by angle, regardless of its " +"current tilt-angle. Do *not* change the turtle's heading (direction of " +"movement). If angle is not given: return the current tilt-angle, i. e. the " +"angle between the orientation of the turtleshape and the heading of the " +"turtle (its direction of movement)." +msgstr "" +"Встановити або повернути поточний кут нахилу. Якщо задано кут, обертайте " +"фігуру черепахи в напрямку, визначеному кутом, незалежно від її поточного " +"кута нахилу. *Не* змінюйте курс (напрямок руху) черепахи. Якщо кут не " +"вказано: повернути поточний кут нахилу, тобто. д. кут між орієнтацією фігури " +"черепахи та курсом черепахи (напрямок її руху)." + +msgid "Set or return the current transformation matrix of the turtle shape." +msgstr "Встановити або повернути поточну матрицю перетворення фігури черепахи." + +msgid "" +"If none of the matrix elements are given, return the transformation matrix " +"as a tuple of 4 elements. Otherwise set the given elements and transform the " +"turtleshape according to the matrix consisting of first row t11, t12 and " +"second row t21, t22. The determinant t11 * t22 - t12 * t21 must not be zero, " +"otherwise an error is raised. Modify stretchfactor, shearfactor and " +"tiltangle according to the given matrix." +msgstr "" +"Якщо жоден з елементів матриці не задано, поверніть матрицю перетворення як " +"кортеж із 4 елементів. В іншому випадку встановіть задані елементи та " +"перетворіть форму черепахи відповідно до матриці, що складається з першого " +"рядка t11, t12 і другого рядка t21, t22. Визначник t11 * t22 - t12 * t21 не " +"повинен дорівнювати нулю, інакше виникає помилка. Змініть коефіцієнт " +"розтягування, коефіцієнт зсуву та кут нахилу відповідно до заданої матриці." + +msgid "" +"Return the current shape polygon as tuple of coordinate pairs. This can be " +"used to define a new shape or components of a compound shape." +msgstr "" +"Повертає поточний полігон форми як кортеж пар координат. Це можна " +"використовувати для визначення нової форми або компонентів складеної форми." + +msgid "" +"a function with two arguments which will be called with the coordinates of " +"the clicked point on the canvas" +msgstr "" +"функція з двома аргументами, яка буде викликана з координатами вибраної " +"точки на полотні" + +msgid "number of the mouse-button, defaults to 1 (left mouse button)" +msgstr "номер кнопки миші, за замовчуванням 1 (ліва кнопка миші)" + +msgid "" +"``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " +"it will replace a former binding" +msgstr "" +"``True`` або ``False`` - якщо ``True``, буде додано нове прив'язування, " +"інакше воно замінить попереднє прив'язування" + +msgid "" +"Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " +"existing bindings are removed. Example for the anonymous turtle, i.e. the " +"procedural way:" +msgstr "" +"Прив’яжіть *fun* до подій клацання миші на цій черепахі. Якщо *fun* має " +"значення ``None``, існуючі прив’язки видаляються. Приклад для анонімної " +"черепахи, тобто процедурний спосіб:" + +msgid "" +"Bind *fun* to mouse-button-release events on this turtle. If *fun* is " +"``None``, existing bindings are removed." +msgstr "" +"Прив’яжіть *fun* до подій натискання кнопки миші на цій черепашці. Якщо " +"*fun* має значення ``None``, існуючі прив’язки видаляються." + +msgid "" +"Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " +"existing bindings are removed." +msgstr "" +"Прив’яжіть *fun* до подій руху миші на цій черепахі. Якщо *fun* має значення " +"``None``, існуючі прив’язки видаляються." + +msgid "" +"Remark: Every sequence of mouse-move-events on a turtle is preceded by a " +"mouse-click event on that turtle." +msgstr "" +"Примітка: кожній послідовності подій переміщення миші на черепахі передує " +"подія клацання миші на цій черепашці." + +msgid "" +"Subsequently, clicking and dragging the Turtle will move it across the " +"screen thereby producing handdrawings (if pen is down)." +msgstr "" +"Згодом, клацання та перетягування Черепахи переміщуватиме її по екрану, " +"таким чином створюючи малюнки (якщо ручка опущена)." + +msgid "" +"Start recording the vertices of a polygon. Current turtle position is first " +"vertex of polygon." +msgstr "" +"Почніть записувати вершини багатокутника. Поточна позиція черепахи є першою " +"вершиною багатокутника." + +msgid "" +"Stop recording the vertices of a polygon. Current turtle position is last " +"vertex of polygon. This will be connected with the first vertex." +msgstr "" +"Припинення запису вершин багатокутника. Поточна позиція черепахи є останньою " +"вершиною багатокутника. Це буде пов'язано з першою вершиною." + +msgid "Return the last recorded polygon." +msgstr "Повернути останній записаний багатокутник." + +msgid "" +"Create and return a clone of the turtle with same position, heading and " +"turtle properties." +msgstr "" +"Створити та повернути клон черепахи з такими ж властивостями положення, " +"заголовка та черепахи." + +msgid "" +"Return the Turtle object itself. Only reasonable use: as a function to " +"return the \"anonymous turtle\":" +msgstr "" +"Поверніть сам об'єкт Черепаха. Лише розумне використання: як функція для " +"повернення \"анонімної черепахи\":" + +msgid "" +"Return the :class:`TurtleScreen` object the turtle is drawing on. " +"TurtleScreen methods can then be called for that object." +msgstr "" +"Повертає об’єкт :class:`TurtleScreen`, на якому малює черепаха. Тоді для " +"цього об’єкта можна викликати методи TurtleScreen." + +msgid "an integer or ``None``" +msgstr "ціле число або ``Жодного``" + +msgid "" +"Set or disable undobuffer. If *size* is an integer, an empty undobuffer of " +"given size is installed. *size* gives the maximum number of turtle actions " +"that can be undone by the :func:`undo` method/function. If *size* is " +"``None``, the undobuffer is disabled." +msgstr "" +"Встановити або вимкнути undobuffer. Якщо *size* є цілим числом, " +"встановлюється порожній undobuffer заданого розміру. *size* визначає " +"максимальну кількість дій черепахи, які можна скасувати за допомогою методу/" +"функції :func:`undo`. Якщо *size* має значення ``None``, undobuffer вимкнено." + +msgid "Return number of entries in the undobuffer." +msgstr "Повертає кількість записів у undobuffer." + +msgid "Compound shapes" +msgstr "Складені форми" + +msgid "" +"To use compound turtle shapes, which consist of several polygons of " +"different color, you must use the helper class :class:`Shape` explicitly as " +"described below:" +msgstr "" +"Щоб використовувати складені форми черепахи, які складаються з кількох " +"багатокутників різного кольору, ви повинні використовувати допоміжний клас :" +"class:`Shape` явно, як описано нижче:" + +msgid "Create an empty Shape object of type \"compound\"." +msgstr "Створіть порожній об'єкт Shape типу \"compound\"." + +msgid "" +"Add as many components to this object as desired, using the :meth:" +"`addcomponent` method." +msgstr "" +"Додайте скільки завгодно компонентів до цього об’єкта за допомогою методу :" +"meth:`addcomponent`." + +msgid "For example:" +msgstr "Наприклад:" + +msgid "Now add the Shape to the Screen's shapelist and use it:" +msgstr "Тепер додайте форму до списку форм екрана та використовуйте її:" + +msgid "" +"The :class:`Shape` class is used internally by the :func:`register_shape` " +"method in different ways. The application programmer has to deal with the " +"Shape class *only* when using compound shapes like shown above!" +msgstr "" +"Клас :class:`Shape` використовується внутрішньо методом :func:" +"`register_shape` різними способами. Програміст прикладної програми має " +"працювати з класом Shape *тільки* під час використання складених фігур, як " +"показано вище!" + +msgid "Methods of TurtleScreen/Screen and corresponding functions" +msgstr "Методи TurtleScreen/Screen та відповідні функції" + +msgid "" +"Most of the examples in this section refer to a TurtleScreen instance called " +"``screen``." +msgstr "" +"Більшість прикладів у цьому розділі стосуються екземпляра TurtleScreen під " +"назвою ``screen``." + +msgid "" +"a color string or three numbers in the range 0..colormode or a 3-tuple of " +"such numbers" +msgstr "" +"кольоровий рядок або три числа в діапазоні 0..colormode або 3-кортеж таких " +"чисел" + +msgid "Set or return background color of the TurtleScreen." +msgstr "Встановити або повернути фоновий колір TurtleScreen." + +msgid "a string, name of a gif-file or ``\"nopic\"``, or ``None``" +msgstr "рядок, назва gif-файлу або ``\"nopic\"``, або ``None``" + +msgid "" +"Set background image or return name of current backgroundimage. If " +"*picname* is a filename, set the corresponding image as background. If " +"*picname* is ``\"nopic\"``, delete background image, if present. If " +"*picname* is ``None``, return the filename of the current backgroundimage. ::" +msgstr "" +"Установити фонове зображення або повернути назву поточного фонового " +"зображення. Якщо *picname* є назвою файлу, встановіть відповідне зображення " +"як фонове зображення. Якщо *picname* має значення ``\"nopic\"``, видаліть " +"фонове зображення, якщо воно є. Якщо *picname* має значення ``None``, " +"повертає назву файлу поточного фонового зображення. ::" + +msgid "" +"This TurtleScreen method is available as a global function only under the " +"name ``clearscreen``. The global function ``clear`` is a different one " +"derived from the Turtle method ``clear``." +msgstr "" +"Цей метод TurtleScreen доступний як глобальна функція лише під назвою " +"``clearscreen``. Глобальна функція ``clear`` є іншою, похідною від методу " +"Turtle ``clear``." + +msgid "" +"Delete all drawings and all turtles from the TurtleScreen. Reset the now " +"empty TurtleScreen to its initial state: white background, no background " +"image, no event bindings and tracing on." +msgstr "" +"Видаліть усі малюнки та всіх черепах із TurtleScreen. Скиньте тепер порожній " +"TurtleScreen до початкового стану: білий фон, без фонового зображення, без " +"прив’язок подій і трасування." + +msgid "" +"This TurtleScreen method is available as a global function only under the " +"name ``resetscreen``. The global function ``reset`` is another one derived " +"from the Turtle method ``reset``." +msgstr "" +"Цей метод TurtleScreen доступний як глобальна функція лише під назвою " +"``resetscreen``. Глобальна функція ``reset`` є ще однією похідною від методу " +"Turtle ``reset``." + +msgid "Reset all Turtles on the Screen to their initial state." +msgstr "Скинути всіх Черепашок на екрані до початкового стану." + +msgid "positive integer, new width of canvas in pixels" +msgstr "додатне ціле число, нова ширина полотна в пікселях" + +msgid "positive integer, new height of canvas in pixels" +msgstr "натуральне число, нова висота полотна в пікселях" + +msgid "colorstring or color-tuple, new background color" +msgstr "рядок кольорів або кортеж кольорів, новий колір тла" + +msgid "" +"If no arguments are given, return current (canvaswidth, canvasheight). Else " +"resize the canvas the turtles are drawing on. Do not alter the drawing " +"window. To observe hidden parts of the canvas, use the scrollbars. With " +"this method, one can make visible those parts of a drawing which were " +"outside the canvas before." +msgstr "" +"Якщо аргументи не вказано, повертає поточний (ширина полотна, висота " +"полотна). Інакше змініть розмір полотна, на якому малюють черепахи. Не " +"змінюйте вікно малювання. Щоб спостерігати за прихованими частинами полотна, " +"використовуйте смуги прокрутки. За допомогою цього методу можна зробити " +"видимими ті частини малюнка, які раніше були за межами полотна." + +msgid "e.g. to search for an erroneously escaped turtle ;-)" +msgstr "напр. шукати черепаху, яка помилково втекла ;-)" + +msgid "a number, x-coordinate of lower left corner of canvas" +msgstr "число, х-координата нижнього лівого кута полотна" + +msgid "a number, y-coordinate of lower left corner of canvas" +msgstr "число, y-координата нижнього лівого кута полотна" + +msgid "a number, x-coordinate of upper right corner of canvas" +msgstr "число, х-координата верхнього правого кута полотна" + +msgid "a number, y-coordinate of upper right corner of canvas" +msgstr "число, y-координата верхнього правого кута полотна" + +msgid "" +"Set up user-defined coordinate system and switch to mode \"world\" if " +"necessary. This performs a ``screen.reset()``. If mode \"world\" is " +"already active, all drawings are redrawn according to the new coordinates." +msgstr "" +"Налаштуйте визначену користувачем систему координат і за необхідності " +"перейдіть у режим \"світ\". Це виконує ``screen.reset()``. Якщо режим \"світ" +"\" вже активний, то всі малюнки перемальовуються відповідно до нових " +"координат." + +msgid "" +"**ATTENTION**: in user-defined coordinate systems angles may appear " +"distorted." +msgstr "" +"**УВАГА**: у визначених користувачем системах координат кути можуть " +"виглядати спотвореними." + +msgid "positive integer" +msgstr "натуральне число" + +msgid "" +"Set or return the drawing *delay* in milliseconds. (This is approximately " +"the time interval between two consecutive canvas updates.) The longer the " +"drawing delay, the slower the animation." +msgstr "" +"Встановити або повернути *затримку* малювання в мілісекундах. (Це приблизно " +"інтервал часу між двома послідовними оновленнями полотна.) Що довша затримка " +"малювання, то повільніша анімація." + +msgid "Optional argument:" +msgstr "Необов'язковий аргумент:" + +msgid "nonnegative integer" +msgstr "ціле невід’ємне число" + +msgid "" +"Turn turtle animation on/off and set delay for update drawings. If *n* is " +"given, only each n-th regular screen update is really performed. (Can be " +"used to accelerate the drawing of complex graphics.) When called without " +"arguments, returns the currently stored value of n. Second argument sets " +"delay value (see :func:`delay`)." +msgstr "" +"Увімкніть/вимкніть анімацію черепахи та встановіть затримку для оновлення " +"малюнків. Якщо задано *n*, дійсно виконується лише кожне n-е регулярне " +"оновлення екрана. (Можна використовувати для прискорення малювання складної " +"графіки.) При виклику без аргументів повертає поточне збережене значення n. " +"Другий аргумент встановлює значення затримки (див. :func:`delay`)." + +msgid "Perform a TurtleScreen update. To be used when tracer is turned off." +msgstr "" +"Виконайте оновлення TurtleScreen. Використовується, коли трасувальник " +"вимкнено." + +msgid "See also the RawTurtle/Turtle method :func:`speed`." +msgstr "Дивіться також метод RawTurtle/Turtle :func:`speed`." + +msgid "" +"Set focus on TurtleScreen (in order to collect key-events). Dummy arguments " +"are provided in order to be able to pass :func:`listen` to the onclick " +"method." +msgstr "" +"Встановити фокус на TurtleScreen (щоб збирати ключові події). Фіктивні " +"аргументи надаються, щоб можна було передати :func:`listen` методу onclick." + +msgid "a function with no arguments or ``None``" +msgstr "функція без аргументів або ``None``" + +msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" +msgstr "" +"рядок: клавіша (наприклад, \"a\") або клавіша-символ (наприклад, \"пробіл\")" + +msgid "" +"Bind *fun* to key-release event of key. If *fun* is ``None``, event " +"bindings are removed. Remark: in order to be able to register key-events, " +"TurtleScreen must have the focus. (See method :func:`listen`.)" +msgstr "" +"Прив’яжіть *fun* до події звільнення ключа ключа. Якщо *fun* має значення " +"``None``, прив’язки подій видаляються. Примітка: щоб мати можливість " +"реєструвати ключові події, TurtleScreen повинен мати фокус. (Див. метод :" +"func:`listen`.)" + +msgid "" +"Bind *fun* to key-press event of key if key is given, or to any key-press-" +"event if no key is given. Remark: in order to be able to register key-" +"events, TurtleScreen must have focus. (See method :func:`listen`.)" +msgstr "" +"Прив’яжіть *fun* до події натискання клавіші key, якщо клавішу вказано, або " +"до будь-якої події натискання клавіші, якщо клавіша не вказана. Примітка: " +"щоб мати можливість реєструвати ключові події, TurtleScreen повинен мати " +"фокус. (Див. метод :func:`listen`.)" + +msgid "" +"Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " +"existing bindings are removed." +msgstr "" +"Прив’яжіть *fun* до подій клацання миші на цьому екрані. Якщо *fun* має " +"значення ``None``, існуючі прив’язки видаляються." + +msgid "" +"Example for a TurtleScreen instance named ``screen`` and a Turtle instance " +"named ``turtle``:" +msgstr "" +"Приклад екземпляра TurtleScreen під назвою ``screen`` і примірника Turtle " +"під назвою ``turtle``:" + +msgid "" +"This TurtleScreen method is available as a global function only under the " +"name ``onscreenclick``. The global function ``onclick`` is another one " +"derived from the Turtle method ``onclick``." +msgstr "" +"Цей метод TurtleScreen доступний як глобальна функція лише під назвою " +"``onscreenclick``. Глобальна функція ``onclick`` є ще однією похідною від " +"методу Turtle ``onclick``." + +msgid "a function with no arguments" +msgstr "функція без аргументів" + +msgid "a number >= 0" +msgstr "число >= 0" + +msgid "Install a timer that calls *fun* after *t* milliseconds." +msgstr "Встановіть таймер, який викликає *fun* через *t* мілісекунд." + +msgid "" +"Starts event loop - calling Tkinter's mainloop function. Must be the last " +"statement in a turtle graphics program. Must *not* be used if a script is " +"run from within IDLE in -n mode (No subprocess) - for interactive use of " +"turtle graphics. ::" +msgstr "" +"Запускає цикл подій - виклик функції основного циклу Tkinter. Має бути " +"останнім оператором у графічній програмі Turtle. Його *не* можна " +"використовувати, якщо сценарій запускається з IDLE у режимі -n (без " +"підпроцесу) — для інтерактивного використання черепахової графіки. ::" + +msgid "string" +msgstr "рядок" + +msgid "" +"Pop up a dialog window for input of a string. Parameter title is the title " +"of the dialog window, prompt is a text mostly describing what information to " +"input. Return the string input. If the dialog is canceled, return " +"``None``. ::" +msgstr "" +"Відкрити діалогове вікно для введення рядка. Заголовок параметра — це " +"заголовок діалогового вікна, підказка — це текст, який переважно описує, яку " +"інформацію потрібно ввести. Повернути введений рядок. Якщо діалогове вікно " +"скасовано, поверніть ``None``. ::" + +msgid "" +"Pop up a dialog window for input of a number. title is the title of the " +"dialog window, prompt is a text mostly describing what numerical information " +"to input. default: default value, minval: minimum value for input, maxval: " +"maximum value for input. The number input must be in the range minval .. " +"maxval if these are given. If not, a hint is issued and the dialog remains " +"open for correction. Return the number input. If the dialog is canceled, " +"return ``None``. ::" +msgstr "" + +msgid "one of the strings \"standard\", \"logo\" or \"world\"" +msgstr "один із рядків \"standard\", \"logo\" або \"world\"" + +msgid "" +"Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " +"mode is not given, current mode is returned." +msgstr "" +"Встановіть режим черепахи (\"стандартний\", \"логотип\" або \"світ\") і " +"виконайте скидання. Якщо режим не вказано, повертається поточний режим." + +msgid "" +"Mode \"standard\" is compatible with old :mod:`turtle`. Mode \"logo\" is " +"compatible with most Logo turtle graphics. Mode \"world\" uses user-defined " +"\"world coordinates\". **Attention**: in this mode angles appear distorted " +"if ``x/y`` unit-ratio doesn't equal 1." +msgstr "" +"Режим \"стандартний\" сумісний зі старим :mod:`turtle`. Режим \"логотип\" " +"сумісний із більшістю зображень логотипів черепахи. Режим \"світ\" " +"використовує визначені користувачем \"світові координати\". **Увага**: у " +"цьому режимі кути виглядають спотвореними, якщо одиничне співвідношення ``x/" +"y`` не дорівнює 1." + +msgid "Mode" +msgstr "Режим" + +msgid "Initial turtle heading" +msgstr "Початковий курс черепахи" + +msgid "positive angles" +msgstr "позитивні кути" + +msgid "\"standard\"" +msgstr "\"стандарт\"" + +msgid "to the right (east)" +msgstr "праворуч (схід)" + +msgid "counterclockwise" +msgstr "проти годинникової стрілки" + +msgid "\"logo\"" +msgstr "\"логотип\"" + +msgid "upward (north)" +msgstr "вгору (на північ)" + +msgid "clockwise" +msgstr "за годинниковою стрілкою" + +msgid "one of the values 1.0 or 255" +msgstr "одне зі значень 1,0 або 255" + +msgid "" +"Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " +"values of color triples have to be in the range 0..*cmode*." +msgstr "" + +msgid "" +"Return the Canvas of this TurtleScreen. Useful for insiders who know what " +"to do with a Tkinter Canvas." +msgstr "" +"Поверніть Canvas цього TurtleScreen. Корисно для інсайдерів, які знають, що " +"робити з Tkinter Canvas." + +msgid "Return a list of names of all currently available turtle shapes." +msgstr "Повертає список імен усіх наявних на даний момент форм черепахи." + +msgid "There are three different ways to call this function:" +msgstr "Існує три різні способи виклику цієї функції:" + +msgid "" +"*name* is the name of a gif-file and *shape* is ``None``: Install the " +"corresponding image shape. ::" +msgstr "" +"*name* — це ім’я gif-файлу, а *shape* — ``None``: установіть відповідну " +"форму зображення. ::" + +msgid "" +"Image shapes *do not* rotate when turning the turtle, so they do not display " +"the heading of the turtle!" +msgstr "" +"Фігури зображень *не* обертаються під час повороту черепахи, тому вони не " +"відображають напрямок черепахи!" + +msgid "" +"*name* is an arbitrary string and *shape* is a tuple of pairs of " +"coordinates: Install the corresponding polygon shape." +msgstr "" +"*name* — це довільний рядок, а *shape* — кортеж пар координат: установіть " +"відповідну форму багатокутника." + +msgid "" +"*name* is an arbitrary string and *shape* is a (compound) :class:`Shape` " +"object: Install the corresponding compound shape." +msgstr "" + +msgid "" +"Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " +"shapes can be used by issuing the command ``shape(shapename)``." +msgstr "" +"Додайте форму черепахи до списку форм TurtleScreen. Тільки таким чином " +"зареєстровані форми можна використовувати за допомогою команди " +"``shape(shapename)``." + +msgid "Return the list of turtles on the screen." +msgstr "Поверніть список черепах на екран." + +msgid "Return the height of the turtle window. ::" +msgstr "Поверніть висоту вікна черепахи. ::" + +msgid "Return the width of the turtle window. ::" +msgstr "Поверніть ширину вікна черепахи. ::" + +msgid "Methods specific to Screen, not inherited from TurtleScreen" +msgstr "Методи, специфічні для Screen, не успадковані від TurtleScreen" + +msgid "Shut the turtlegraphics window." +msgstr "Закрийте вікно turtlegraphics." + +msgid "Bind ``bye()`` method to mouse clicks on the Screen." +msgstr "Прив’яжіть метод ``bye()`` до клацань миші на екрані." + +msgid "" +"If the value \"using_IDLE\" in the configuration dictionary is ``False`` " +"(default value), also enter mainloop. Remark: If IDLE with the ``-n`` " +"switch (no subprocess) is used, this value should be set to ``True`` in :" +"file:`turtle.cfg`. In this case IDLE's own mainloop is active also for the " +"client script." +msgstr "" +"Якщо значення \"using_IDLE\" у словнику конфігурації має значення ``False`` " +"(значення за замовчуванням), також введіть mainloop. Примітка: якщо " +"використовується IDLE з перемикачем ``-n`` (без підпроцесу), це значення має " +"бути встановлено на ``True`` у :file:`turtle.cfg`. У цьому випадку основний " +"цикл IDLE також активний для клієнтського сценарію." + +msgid "" +"Set the size and position of the main window. Default values of arguments " +"are stored in the configuration dictionary and can be changed via a :file:" +"`turtle.cfg` file." +msgstr "" +"Встановіть розмір і положення головного вікна. Стандартні значення " +"аргументів зберігаються у словнику конфігурації та можуть бути змінені за " +"допомогою файлу :file:`turtle.cfg`." + +msgid "" +"if an integer, a size in pixels, if a float, a fraction of the screen; " +"default is 50% of screen" +msgstr "" +"якщо ціле число, то розмір у пікселях, якщо число з плаваючою точкою, то " +"частка екрана; за замовчуванням 50% екрана" + +msgid "" +"if an integer, the height in pixels, if a float, a fraction of the screen; " +"default is 75% of screen" +msgstr "" +"якщо ціле число, то висота в пікселях, якщо число з плаваючою точкою, то " +"частка екрана; за замовчуванням 75% екрана" + +msgid "" +"if positive, starting position in pixels from the left edge of the screen, " +"if negative from the right edge, if ``None``, center window horizontally" +msgstr "" +"якщо позитивне, початкова позиція в пікселях від лівого краю екрана, якщо " +"негативне від правого краю, якщо ``None``, центр вікна по горизонталі" + +msgid "" +"if positive, starting position in pixels from the top edge of the screen, if " +"negative from the bottom edge, if ``None``, center window vertically" +msgstr "" +"якщо додатне, початкова позиція в пікселях від верхнього краю екрана, якщо " +"негативне від нижнього краю, якщо ``None``, центр вікна по вертикалі" + +msgid "a string that is shown in the titlebar of the turtle graphics window" +msgstr "рядок, який відображається в рядку заголовка графічного вікна Turtle" + +msgid "Set title of turtle window to *titlestring*." +msgstr "Встановіть назву вікна Turtle на *titlestring*." + +msgid "Public classes" +msgstr "Публічні заняття" + +msgid "" +"a :class:`tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" +"`TurtleScreen`" +msgstr "" +":class:`tkinter.Canvas`, :class:`ScrolledCanvas` або :class:`TurtleScreen`" + +msgid "" +"Create a turtle. The turtle has all methods described above as \"methods of " +"Turtle/RawTurtle\"." +msgstr "" +"Створіть черепаху. Черепаха має всі методи, описані вище як \"методи Turtle/" +"RawTurtle\"." + +msgid "" +"Subclass of RawTurtle, has the same interface but draws on a default :class:" +"`Screen` object created automatically when needed for the first time." +msgstr "" +"Підклас RawTurtle має той самий інтерфейс, але використовує стандартний " +"об’єкт :class:`Screen`, створений автоматично, коли це потрібно вперше." + +msgid "a :class:`tkinter.Canvas`" +msgstr "a :class:`tkinter.Canvas`" + +msgid "" +"Provides screen oriented methods like :func:`setbg` etc. that are described " +"above." +msgstr "" +"Надає екранно-орієнтовані методи, як-от :func:`setbg` тощо, описані вище." + +msgid "" +"Subclass of TurtleScreen, with :ref:`four methods added `." +msgstr "" +"Підклас TurtleScreen із :ref:`чотирма доданими методами `." + +msgid "" +"some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " +"with scrollbars added" +msgstr "" +"деякий віджет Tkinter, який містить ScrolledCanvas, тобто Tkinter-полотно з " +"доданими смугами прокрутки" + +msgid "" +"Used by class Screen, which thus automatically provides a ScrolledCanvas as " +"playground for the turtles." +msgstr "" +"Використовується класом Screen, який таким чином автоматично надає " +"ScrolledCanvas як ігровий майданчик для черепах." + +msgid "one of the strings \"polygon\", \"image\", \"compound\"" +msgstr "один із рядків \"polygon\", \"image\", \"compound\"" + +msgid "" +"Data structure modeling shapes. The pair ``(type_, data)`` must follow this " +"specification:" +msgstr "" +"Форми моделювання структури даних. Пара ``(тип_, дані)`` має відповідати цій " +"специфікації:" + +msgid "*type_*" +msgstr "*тип_*" + +msgid "*data*" +msgstr "*дані*" + +msgid "\"polygon\"" +msgstr "\"багатокутник\"" + +msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" +msgstr "полігон-кортеж, тобто кортеж пар координат" + +msgid "\"image\"" +msgstr "\"зображення\"" + +msgid "an image (in this form only used internally!)" +msgstr "зображення (у цій формі використовується лише внутрішньо!)" + +msgid "\"compound\"" +msgstr "\"з'єднання\"" + +msgid "" +"``None`` (a compound shape has to be constructed using the :meth:" +"`addcomponent` method)" +msgstr "" +"``None`` (складена форма має бути створена за допомогою методу :meth:" +"`addcomponent`)" + +msgid "a polygon, i.e. a tuple of pairs of numbers" +msgstr "багатокутник, тобто кортеж пар чисел" + +msgid "a color the *poly* will be filled with" +msgstr "колір, яким буде заповнено *poly*" + +msgid "a color for the poly's outline (if given)" +msgstr "колір контуру поля (якщо вказано)" + +msgid "Example:" +msgstr "приклад:" + +msgid "See :ref:`compoundshapes`." +msgstr "Дивіться :ref:`compoundshapes`." + +msgid "" +"A two-dimensional vector class, used as a helper class for implementing " +"turtle graphics. May be useful for turtle graphics programs too. Derived " +"from tuple, so a vector is a tuple!" +msgstr "" +"Двовимірний векторний клас, який використовується як допоміжний клас для " +"реалізації графіки черепахи. Також може бути корисним для графічних програм " +"черепах. Походить від кортежу, тому вектор є кортежем!" + +msgid "Provides (for *a*, *b* vectors, *k* number):" +msgstr "Надає (для *a*, *b* векторів, *k* числа):" + +msgid "``a + b`` vector addition" +msgstr "``a + b`` додавання вектора" + +msgid "``a - b`` vector subtraction" +msgstr "Віднімання вектора ``a - b``" + +msgid "``a * b`` inner product" +msgstr "``a * b`` скалярний добуток" + +msgid "``k * a`` and ``a * k`` multiplication with scalar" +msgstr "Множення ``k * a`` і ``a * k`` на скаляр" + +msgid "``abs(a)`` absolute value of a" +msgstr "``abs(a)`` абсолютне значення a" + +msgid "``a.rotate(angle)`` rotation" +msgstr "``a.rotate(angle)`` обертання" + +msgid "Help and configuration" +msgstr "Допомога та налаштування" + +msgid "How to use help" +msgstr "Як користуватися довідкою" + +msgid "" +"The public methods of the Screen and Turtle classes are documented " +"extensively via docstrings. So these can be used as online-help via the " +"Python help facilities:" +msgstr "" +"Загальнодоступні методи класів Screen і Turtle широко задокументовані в " +"рядках документації. Тож їх можна використовувати як онлайн-довідку через " +"засоби довідки Python:" + +msgid "" +"When using IDLE, tooltips show the signatures and first lines of the " +"docstrings of typed in function-/method calls." +msgstr "" +"Під час використання IDLE підказки показують підписи та перші рядки рядків " +"документації введених викликів функцій/методів." + +msgid "Calling :func:`help` on methods or functions displays the docstrings::" +msgstr "" +"Виклик :func:`help` для методів або функцій відображає рядки документів::" + +msgid "" +"The docstrings of the functions which are derived from methods have a " +"modified form::" +msgstr "" +"Документаційні рядки функцій, які є похідними від методів, мають змінену " +"форму:" + +msgid "" +"These modified docstrings are created automatically together with the " +"function definitions that are derived from the methods at import time." +msgstr "" +"Ці змінені рядки документації створюються автоматично разом із визначеннями " +"функцій, отриманими з методів під час імпорту." + +msgid "Translation of docstrings into different languages" +msgstr "Переклад рядків документів різними мовами" + +msgid "" +"There is a utility to create a dictionary the keys of which are the method " +"names and the values of which are the docstrings of the public methods of " +"the classes Screen and Turtle." +msgstr "" +"Існує утиліта для створення словника, ключами якого є імена методів, а " +"значеннями яких є рядки документів відкритих методів класів Screen і Turtle." + +msgid "a string, used as filename" +msgstr "рядок, який використовується як ім'я файлу" + +msgid "" +"Create and write docstring-dictionary to a Python script with the given " +"filename. This function has to be called explicitly (it is not used by the " +"turtle graphics classes). The docstring dictionary will be written to the " +"Python script :file:`{filename}.py`. It is intended to serve as a template " +"for translation of the docstrings into different languages." +msgstr "" +"Створіть і запишіть docstring-dictionary у сценарій Python із вказаною " +"назвою файлу. Цю функцію потрібно викликати явно (вона не використовується " +"графічними класами turtle). Словник рядків документів буде записаний у " +"сценарій Python :file:`{filename}.py`. Він призначений для того, щоб служити " +"шаблоном для перекладу рядків документів різними мовами." + +msgid "" +"If you (or your students) want to use :mod:`turtle` with online help in your " +"native language, you have to translate the docstrings and save the resulting " +"file as e.g. :file:`turtle_docstringdict_german.py`." +msgstr "" +"Якщо ви (або ваші студенти) бажаєте використовувати :mod:`turtle` з онлайн-" +"довідкою вашою рідною мовою, вам потрібно перекласти рядки документації та " +"зберегти отриманий файл як, напр. :file:`turtle_docstringdict_german.py`." + +msgid "" +"If you have an appropriate entry in your :file:`turtle.cfg` file this " +"dictionary will be read in at import time and will replace the original " +"English docstrings." +msgstr "" +"Якщо у вашому файлі :file:`turtle.cfg` є відповідний запис, цей словник буде " +"зчитано під час імпортування та замінить оригінальні англійські рядки " +"документів." + +msgid "" +"At the time of this writing there are docstring dictionaries in German and " +"in Italian. (Requests please to glingl@aon.at.)" +msgstr "" +"На момент написання цієї статті існують словники docstring німецькою та " +"італійською мовами. (Запити надсилайте на glingl@aon.at.)" + +msgid "How to configure Screen and Turtles" +msgstr "Як налаштувати екран і черепахи" + +msgid "" +"The built-in default configuration mimics the appearance and behaviour of " +"the old turtle module in order to retain best possible compatibility with it." +msgstr "" +"Вбудована конфігурація за замовчуванням імітує зовнішній вигляд і поведінку " +"старого модуля Turtle, щоб зберегти найкращу сумісність із ним." + +msgid "" +"If you want to use a different configuration which better reflects the " +"features of this module or which better fits to your needs, e.g. for use in " +"a classroom, you can prepare a configuration file ``turtle.cfg`` which will " +"be read at import time and modify the configuration according to its " +"settings." +msgstr "" +"Якщо ви хочете використовувати іншу конфігурацію, яка краще відображає " +"функції цього модуля або яка краще відповідає вашим потребам, напр. для " +"використання в класі ви можете підготувати файл конфігурації ``turtle.cfg``, " +"який буде прочитано під час імпорту та змінено конфігурацію відповідно до " +"його параметрів." + +msgid "" +"The built in configuration would correspond to the following turtle.cfg::" +msgstr "Вбудована конфігурація відповідатиме наступному turtle.cfg::" + +msgid "Short explanation of selected entries:" +msgstr "Коротке пояснення вибраних записів:" + +msgid "" +"The first four lines correspond to the arguments of the :meth:`Screen.setup` " +"method." +msgstr "" +"Перші чотири рядки відповідають аргументам методу :meth:`Screen.setup`." + +msgid "" +"Line 5 and 6 correspond to the arguments of the method :meth:`Screen." +"screensize`." +msgstr "Рядки 5 і 6 відповідають аргументам методу :meth:`Screen.screensize`." + +msgid "" +"*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " +"more info try ``help(shape)``." +msgstr "" +"*shape* може бути будь-якою вбудованою формою, наприклад: стрілка, черепаха " +"тощо. Щоб дізнатися більше, спробуйте ``help(shape)``." + +msgid "" +"If you want to use no fillcolor (i.e. make the turtle transparent), you have " +"to write ``fillcolor = \"\"`` (but all nonempty strings must not have quotes " +"in the cfg-file)." +msgstr "" +"Якщо ви не хочете використовувати колір заливки (тобто зробити черепаху " +"прозорою), вам потрібно написати ``fillcolor = \"\"`` (але всі непорожні " +"рядки не повинні містити лапок у файлі cfg)." + +msgid "" +"If you want to reflect the turtle its state, you have to use ``resizemode = " +"auto``." +msgstr "" +"Якщо ви хочете відобразити черепаху в її стані, ви повинні використовувати " +"``resizemode = auto``." + +msgid "" +"If you set e.g. ``language = italian`` the docstringdict :file:" +"`turtle_docstringdict_italian.py` will be loaded at import time (if present " +"on the import path, e.g. in the same directory as :mod:`turtle`)." +msgstr "" + +msgid "" +"The entries *exampleturtle* and *examplescreen* define the names of these " +"objects as they occur in the docstrings. The transformation of method-" +"docstrings to function-docstrings will delete these names from the " +"docstrings." +msgstr "" +"Записи *exampleturtle* і *examplescreen* визначають імена цих об’єктів, як " +"вони зустрічаються в рядках документації. Трансформація method-docstrings у " +"function-docstrings видалить ці імена з docstrings." + +msgid "" +"*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its " +"``-n`` switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " +"enter the mainloop." +msgstr "" + +msgid "" +"There can be a :file:`turtle.cfg` file in the directory where :mod:`turtle` " +"is stored and an additional one in the current working directory. The " +"latter will override the settings of the first one." +msgstr "" +"У каталозі, де зберігається :mod:`turtle`, може бути файл :file:`turtle.cfg` " +"і додатковий у поточному робочому каталозі. Останній замінить налаштування " +"першого." + +msgid "" +"The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " +"You can study it as an example and see its effects when running the demos " +"(preferably not from within the demo-viewer)." +msgstr "" +"Каталог :file:`Lib/turtledemo` містить файл :file:`turtle.cfg`. Ви можете " +"вивчити його як приклад і побачити його вплив під час запуску демонстрацій " +"(бажано не з програми перегляду демонстрацій)." + +msgid ":mod:`turtledemo` --- Demo scripts" +msgstr ":mod:`turtledemo` --- Демонстраційні скрипти" + +msgid "" +"The :mod:`turtledemo` package includes a set of demo scripts. These scripts " +"can be run and viewed using the supplied demo viewer as follows::" +msgstr "" +"Пакет :mod:`turtledemo` містить набір демонстраційних скриптів. Ці сценарії " +"можна запускати та переглядати за допомогою демонстраційного засобу " +"перегляду, що входить до комплекту, наступним чином:" + +msgid "" +"Alternatively, you can run the demo scripts individually. For example, ::" +msgstr "" +"Крім того, ви можете запускати демонстраційні сценарії окремо. Наприклад, ::" + +msgid "The :mod:`turtledemo` package directory contains:" +msgstr "Каталог пакунків :mod:`turtledemo` містить:" + +msgid "" +"A demo viewer :file:`__main__.py` which can be used to view the sourcecode " +"of the scripts and run them at the same time." +msgstr "" +"Демо-переглядач :file:`__main__.py`, який можна використовувати для " +"перегляду вихідного коду сценаріїв і запуску їх одночасно." + +msgid "" +"Multiple scripts demonstrating different features of the :mod:`turtle` " +"module. Examples can be accessed via the Examples menu. They can also be " +"run standalone." +msgstr "" +"Кілька сценаріїв, що демонструють різні функції модуля :mod:`turtle`. Доступ " +"до прикладів можна отримати через меню \"Приклади\". Їх також можна " +"запускати автономно." + +msgid "" +"A :file:`turtle.cfg` file which serves as an example of how to write and use " +"such files." +msgstr "" +"Файл :file:`turtle.cfg`, який служить прикладом того, як писати та " +"використовувати такі файли." + +msgid "The demo scripts are:" +msgstr "Демонстраційні сценарії:" + +msgid "Name" +msgstr "Ім'я" + +msgid "Description" +msgstr "опис" + +msgid "Features" +msgstr "особливості" + +msgid "bytedesign" +msgstr "bytedesign" + +msgid "complex classical turtle graphics pattern" +msgstr "складний класичний графічний візерунок черепахи" + +msgid ":func:`tracer`, delay, :func:`update`" +msgstr ":func:`tracer`, затримка, :func:`update`" + +msgid "chaos" +msgstr "хаос" + +msgid "" +"graphs Verhulst dynamics, shows that computer's computations can generate " +"results sometimes against the common sense expectations" +msgstr "" +"графіки динаміки Верхульста показують, що комп’ютерні обчислення можуть " +"генерувати результати, іноді проти очікувань здорового глузду" + +msgid "world coordinates" +msgstr "світові координати" + +msgid "clock" +msgstr "годинник" + +msgid "analog clock showing time of your computer" +msgstr "аналоговий годинник, який показує час вашого комп'ютера" + +msgid "turtles as clock's hands, ontimer" +msgstr "черепахи як стрілки годинника, онтаймер" + +msgid "colormixer" +msgstr "colormixer" + +msgid "experiment with r, g, b" +msgstr "дослід з r, g, b" + +msgid "forest" +msgstr "ліс" + +msgid "3 breadth-first trees" +msgstr "3 дерева в ширину" + +msgid "randomization" +msgstr "рандомізація" + +msgid "fractalcurves" +msgstr "фрактальні криві" + +msgid "Hilbert & Koch curves" +msgstr "Криві Гільберта і Коха" + +msgid "recursion" +msgstr "рекурсія" + +msgid "lindenmayer" +msgstr "лінденмайер" + +msgid "ethnomathematics (indian kolams)" +msgstr "етноматематика (індійські колами)" + +msgid "L-System" +msgstr "L-система" + +msgid "minimal_hanoi" +msgstr "minimal_hanoi" + +msgid "Towers of Hanoi" +msgstr "Ханойські вежі" + +msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" +msgstr "Прямокутні черепахи як ханойські диски (форма, розмір)" + +msgid "nim" +msgstr "нім" + +msgid "" +"play the classical nim game with three heaps of sticks against the computer." +msgstr "грати в класичну гру nim з трьома купами палиць проти комп'ютера." + +msgid "turtles as nimsticks, event driven (mouse, keyboard)" +msgstr "черепахи як німки, керовані подіями (миша, клавіатура)" + +msgid "paint" +msgstr "фарба" + +msgid "super minimalistic drawing program" +msgstr "супер мінімалістична програма для малювання" + +msgid "peace" +msgstr "мир" + +msgid "elementary" +msgstr "елементарний" + +msgid "turtle: appearance and animation" +msgstr "черепаха: зовнішній вигляд і анімація" + +msgid "penrose" +msgstr "Пенроуз" + +msgid "aperiodic tiling with kites and darts" +msgstr "аперіодичне укладання з повітряними зміями та дротиками" + +msgid "planet_and_moon" +msgstr "планета_і_місяць" + +msgid "simulation of gravitational system" +msgstr "моделювання гравітаційної системи" + +msgid "compound shapes, :class:`Vec2D`" +msgstr "складені форми, :class:`Vec2D`" + +msgid "round_dance" +msgstr "хоровод" + +msgid "dancing turtles rotating pairwise in opposite direction" +msgstr "танцюючі черепахи, що обертаються попарно в протилежному напрямку" + +msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" +msgstr "складені форми, клон shapesize, нахил, get_shapepoly, оновлення" + +msgid "sorting_animate" +msgstr "sorting_animate" + +msgid "visual demonstration of different sorting methods" +msgstr "наочна демонстрація різних методів сортування" + +msgid "simple alignment, randomization" +msgstr "просте вирівнювання, рандомізація" + +msgid "tree" +msgstr "дерево" + +msgid "a (graphical) breadth first tree (using generators)" +msgstr "(графічне) дерево в ширину (з використанням генераторів)" + +msgid "two_canvases" +msgstr "два_полотна" + +msgid "simple design" +msgstr "простий дизайн" + +msgid "turtles on two canvases" +msgstr "черепахи на двох полотнах" + +msgid "wikipedia" +msgstr "вікіпедія" + +msgid "a pattern from the wikipedia article on turtle graphics" +msgstr "зразок зі статті у Вікіпедії про черепахову графіку" + +msgid ":func:`clone`, :func:`undo`" +msgstr ":func:`clone`, :func:`undo`" + +msgid "yinyang" +msgstr "Інь Янь" + +msgid "another elementary example" +msgstr "ще один елементарний приклад" + +msgid "Have fun!" +msgstr "весело провести час!" + +msgid "Changes since Python 2.6" +msgstr "Зміни з Python 2.6" + +msgid "" +"The methods :meth:`Turtle.tracer`, :meth:`Turtle.window_width` and :meth:" +"`Turtle.window_height` have been eliminated. Methods with these names and " +"functionality are now available only as methods of :class:`Screen`. The " +"functions derived from these remain available. (In fact already in Python " +"2.6 these methods were merely duplications of the corresponding :class:" +"`TurtleScreen`/:class:`Screen`-methods.)" +msgstr "" +"Методи :meth:`Turtle.tracer`, :meth:`Turtle.window_width` і :meth:`Turtle." +"window_height` було видалено. Методи з такими назвами та функціями тепер " +"доступні лише як методи :class:`Screen`. Похідні від них функції залишаються " +"доступними. (Насправді вже в Python 2.6 ці методи були просто дублікатами " +"відповідних методів :class:`TurtleScreen`/:class:`Screen`.)" + +msgid "" +"The method :meth:`Turtle.fill` has been eliminated. The behaviour of :meth:" +"`begin_fill` and :meth:`end_fill` have changed slightly: now every filling-" +"process must be completed with an ``end_fill()`` call." +msgstr "" +"Метод :meth:`Turtle.fill` було видалено. Поведінка :meth:`begin_fill` і :" +"meth:`end_fill` дещо змінилася: тепер кожен процес заповнення має " +"завершуватися викликом ``end_fill()``." + +msgid "" +"A method :meth:`Turtle.filling` has been added. It returns a boolean value: " +"``True`` if a filling process is under way, ``False`` otherwise. This " +"behaviour corresponds to a ``fill()`` call without arguments in Python 2.6." +msgstr "" +"Додано метод :meth:`Turtle.filling`. Він повертає логічне значення: " +"``True``, якщо триває процес заповнення, ``False`` інакше. Така поведінка " +"відповідає виклику ``fill()`` без аргументів у Python 2.6." + +msgid "Changes since Python 3.0" +msgstr "Зміни з Python 3.0" + +msgid "" +"The methods :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` and :" +"meth:`Turtle.get_shapepoly` have been added. Thus the full range of regular " +"linear transforms is now available for transforming turtle shapes. :meth:" +"`Turtle.tiltangle` has been enhanced in functionality: it now can be used to " +"get or set the tiltangle. :meth:`Turtle.settiltangle` has been deprecated." +msgstr "" +"Додано методи :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` і :" +"meth:`Turtle.get_shapepoly`. Таким чином, для трансформації фігур черепахи " +"тепер доступний повний набір звичайних лінійних перетворень. " +"Функціональність :meth:`Turtle.tiltangle` покращено: тепер його можна " +"використовувати для отримання або встановлення tiltangle. :meth:`Turtle." +"settiltangle` застаріло." + +msgid "" +"The method :meth:`Screen.onkeypress` has been added as a complement to :meth:" +"`Screen.onkey` which in fact binds actions to the keyrelease event. " +"Accordingly the latter has got an alias: :meth:`Screen.onkeyrelease`." +msgstr "" +"Метод :meth:`Screen.onkeypress` додано як доповнення до :meth:`Screen." +"onkey`, який фактично прив’язує дії до події keyrelease. Відповідно, " +"останній отримав псевдонім: :meth:`Screen.onkeyrelease`." + +msgid "" +"The method :meth:`Screen.mainloop` has been added. So when working only " +"with Screen and Turtle objects one must not additionally import :func:" +"`mainloop` anymore." +msgstr "" +"Додано метод :meth:`Screen.mainloop`. Таким чином, коли ви працюєте лише з " +"об’єктами Screen і Turtle, більше не потрібно додатково імпортувати :func:" +"`mainloop`." + +msgid "" +"Two input methods has been added :meth:`Screen.textinput` and :meth:`Screen." +"numinput`. These popup input dialogs and return strings and numbers " +"respectively." +msgstr "" +"Додано два методи введення: :meth:`Screen.textinput` і :meth:`Screen." +"numinput`. Ці спливаючі діалогові вікна введення та повертають рядки та " +"числа відповідно." + +msgid "" +"Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py` " +"have been added to the :file:`Lib/turtledemo` directory." +msgstr "" +"Два приклади сценаріїв :file:`tdemo_nim.py` і :file:`tdemo_round_dance.py` " +"додано до каталогу :file:`Lib/turtledemo`." diff --git a/library/types.po b/library/types.po new file mode 100644 index 000000000..201904518 --- /dev/null +++ b/library/types.po @@ -0,0 +1,616 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`types` --- Dynamic type creation and names for built-in types" +msgstr "" +":mod:`types` --- Динамічне створення типів і назви для вбудованих типів" + +msgid "**Source code:** :source:`Lib/types.py`" +msgstr "**Вихідний код:** :source:`Lib/types.py`" + +msgid "" +"This module defines utility functions to assist in dynamic creation of new " +"types." +msgstr "" +"Цей модуль визначає службові функції, які допомагають у динамічному " +"створенні нових типів." + +msgid "" +"It also defines names for some object types that are used by the standard " +"Python interpreter, but not exposed as builtins like :class:`int` or :class:" +"`str` are." +msgstr "" +"Він також визначає імена для деяких типів об’єктів, які використовуються " +"стандартним інтерпретатором Python, але не представлені у вигляді вбудованих " +"елементів, таких як :class:`int` або :class:`str`." + +msgid "" +"Finally, it provides some additional type-related utility classes and " +"functions that are not fundamental enough to be builtins." +msgstr "" +"Нарешті, він надає деякі додаткові пов’язані з типами службові класи та " +"функції, які недостатньо фундаментальні, щоб бути вбудованими." + +msgid "Dynamic Type Creation" +msgstr "Динамічне створення типів" + +msgid "Creates a class object dynamically using the appropriate metaclass." +msgstr "Динамічно створює об’єкт класу за допомогою відповідного метакласу." + +msgid "" +"The first three arguments are the components that make up a class definition " +"header: the class name, the base classes (in order), the keyword arguments " +"(such as ``metaclass``)." +msgstr "" +"Перші три аргументи є компонентами, які складають заголовок визначення " +"класу: ім’я класу, базові класи (по порядку), ключові аргументи (такі як " +"``метаклас``)." + +msgid "" +"The *exec_body* argument is a callback that is used to populate the freshly " +"created class namespace. It should accept the class namespace as its sole " +"argument and update the namespace directly with the class contents. If no " +"callback is provided, it has the same effect as passing in ``lambda ns: " +"None``." +msgstr "" +"Аргумент *exec_body* є зворотним викликом, який використовується для " +"заповнення щойно створеного простору імен класу. Він повинен приймати " +"простір імен класу як єдиний аргумент і оновлювати простір імен " +"безпосередньо вмістом класу. Якщо зворотний виклик не надано, це матиме той " +"самий ефект, що й передача ``lambda ns: None``." + +msgid "Calculates the appropriate metaclass and creates the class namespace." +msgstr "Обчислює відповідний метаклас і створює простір імен класу." + +msgid "" +"The arguments are the components that make up a class definition header: the " +"class name, the base classes (in order) and the keyword arguments (such as " +"``metaclass``)." +msgstr "" +"Аргументи — це компоненти, які складають заголовок визначення класу: ім’я " +"класу, базові класи (по порядку) і ключові аргументи (такі як ``метаклас``)." + +msgid "The return value is a 3-tuple: ``metaclass, namespace, kwds``" +msgstr "Повернене значення є кортежем із трьох: ``metaclass, namespace, kwds``" + +msgid "" +"*metaclass* is the appropriate metaclass, *namespace* is the prepared class " +"namespace and *kwds* is an updated copy of the passed in *kwds* argument " +"with any ``'metaclass'`` entry removed. If no *kwds* argument is passed in, " +"this will be an empty dict." +msgstr "" +"*metaclass* — відповідний метаклас, *namespace* — це підготовлений простір " +"імен класу, а *kwds* — це оновлена копія переданого аргументу *kwds* із " +"видаленням будь-якого запису ``'metaclass'``. Якщо аргумент *kwds* не " +"передано, це буде порожній dict." + +msgid "" +"The default value for the ``namespace`` element of the returned tuple has " +"changed. Now an insertion-order-preserving mapping is used when the " +"metaclass does not have a ``__prepare__`` method." +msgstr "" +"Значення за замовчуванням для елемента ``простір імен`` повернутого кортежу " +"змінено. Тепер відображення збереження порядку вставки використовується, " +"коли метаклас не має методу ``__prepare__``." + +msgid ":ref:`metaclasses`" +msgstr ":ref:`metaclasses`" + +msgid "Full details of the class creation process supported by these functions" +msgstr "Повні відомості про процес створення класу, який підтримує ці функції" + +msgid ":pep:`3115` - Metaclasses in Python 3000" +msgstr ":pep:`3115` - Метакласи в Python 3000" + +msgid "Introduced the ``__prepare__`` namespace hook" +msgstr "Представлено хук простору імен ``__prepare__``" + +msgid "Resolve MRO entries dynamically as specified by :pep:`560`." +msgstr "Динамічно вирішувати записи MRO, як зазначено :pep:`560`." + +msgid "" +"This function looks for items in *bases* that are not instances of :class:" +"`type`, and returns a tuple where each such object that has an " +"``__mro_entries__`` method is replaced with an unpacked result of calling " +"this method. If a *bases* item is an instance of :class:`type`, or it " +"doesn't have an ``__mro_entries__`` method, then it is included in the " +"return tuple unchanged." +msgstr "" +"Ця функція шукає елементи в *базах*, які не є екземплярами :class:`type`, і " +"повертає кортеж, у якому кожен такий об’єкт, що має метод " +"``__mro_entries__``, замінюється розпакованим результатом виклику цього " +"методу. Якщо елемент *bases* є екземпляром :class:`type` або він не має " +"методу ``__mro_entries__``, тоді він включається в кортеж повернення без " +"змін." + +msgid ":pep:`560` - Core support for typing module and generic types" +msgstr ":pep:`560` - Основна підтримка модуля введення та загальних типів" + +msgid "Standard Interpreter Types" +msgstr "Типи стандартних інтерпретаторів" + +msgid "" +"This module provides names for many of the types that are required to " +"implement a Python interpreter. It deliberately avoids including some of the " +"types that arise only incidentally during processing such as the " +"``listiterator`` type." +msgstr "" +"Цей модуль надає назви для багатьох типів, необхідних для реалізації " +"інтерпретатора Python. Він навмисно уникає включення деяких типів, які " +"виникають лише випадково під час обробки, таких як тип ``listiterator``." + +msgid "" +"Typical use of these names is for :func:`isinstance` or :func:`issubclass` " +"checks." +msgstr "" +"Зазвичай ці імена використовуються для перевірок :func:`isinstance` або :" +"func:`issubclass`." + +msgid "" +"If you instantiate any of these types, note that signatures may vary between " +"Python versions." +msgstr "" +"Якщо ви створюєте екземпляр будь-якого з цих типів, зауважте, що підписи " +"можуть відрізнятися в різних версіях Python." + +msgid "Standard names are defined for the following types:" +msgstr "Стандартні імена визначені для таких типів:" + +msgid "The type of :data:`None`." +msgstr "Тип :data:`None`." + +msgid "" +"The type of user-defined functions and functions created by :keyword:" +"`lambda` expressions." +msgstr "" +"Тип визначених користувачем функцій і функцій, створених виразами :keyword:" +"`lambda`." + +msgid "" +"Raises an :ref:`auditing event ` ``function.__new__`` with " +"argument ``code``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``function.__new__`` з аргументом " +"``code``." + +msgid "" +"The audit event only occurs for direct instantiation of function objects, " +"and is not raised for normal compilation." +msgstr "" +"Подія аудиту виникає лише для прямого створення екземплярів функціональних " +"об’єктів і не виникає для звичайної компіляції." + +msgid "" +"The type of :term:`generator`-iterator objects, created by generator " +"functions." +msgstr "" +"Тип об’єктів :term:`generator`-iterator, створених функціями генератора." + +msgid "" +"The type of :term:`coroutine` objects, created by :keyword:`async def` " +"functions." +msgstr "" +"Тип об’єктів :term:`coroutine`, створених функціями :keyword:`async def`." + +msgid "" +"The type of :term:`asynchronous generator`-iterator objects, created by " +"asynchronous generator functions." +msgstr "" +"Тип об’єктів :term:`asynchronous generator`-iterator, створених функціями " +"асинхронного генератора." + +msgid "The type for code objects such as returned by :func:`compile`." +msgstr "Тип для об’єктів коду, таких як повернутий :func:`compile`." + +msgid "" +"Raises an :ref:`auditing event ` ``code.__new__`` with arguments " +"``code``, ``filename``, ``name``, ``argcount``, ``posonlyargcount``, " +"``kwonlyargcount``, ``nlocals``, ``stacksize``, ``flags``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``code.__new__`` з аргументами " +"``code``, ``filename``, ``name``, ``argcount``, ``posonlyargcount``," +"``kwonlyargcount``, ``nlocals``, ``stacksize``, ``flags``." + +msgid "" +"Note that the audited arguments may not match the names or positions " +"required by the initializer. The audit event only occurs for direct " +"instantiation of code objects, and is not raised for normal compilation." +msgstr "" +"Зауважте, що перевірені аргументи можуть не відповідати іменам або позиціям, " +"які вимагає ініціалізатор. Подія аудиту виникає лише для прямого створення " +"екземпляра об’єктів коду та не виникає для звичайної компіляції." + +msgid "" +"Return a copy of the code object with new values for the specified fields." +msgstr "Повернути копію об’єкта коду з новими значеннями для вказаних полів." + +msgid "" +"The type for cell objects: such objects are used as containers for a " +"function's free variables." +msgstr "" +"Тип для об’єктів комірки: такі об’єкти використовуються як контейнери для " +"вільних змінних функції." + +msgid "The type of methods of user-defined class instances." +msgstr "Тип методів екземплярів класу, визначеного користувачем." + +msgid "" +"The type of built-in functions like :func:`len` or :func:`sys.exit`, and " +"methods of built-in classes. (Here, the term \"built-in\" means \"written " +"in C\".)" +msgstr "" +"Тип вбудованих функцій, таких як :func:`len` або :func:`sys.exit`, і методи " +"вбудованих класів. (Тут термін \"вбудований\" означає \"написаний на C\".)" + +msgid "" +"The type of methods of some built-in data types and base classes such as :" +"meth:`object.__init__` or :meth:`object.__lt__`." +msgstr "" +"Тип методів деяких вбудованих типів даних і базових класів, таких як :meth:" +"`object.__init__` або :meth:`object.__lt__`." + +msgid "" +"The type of *bound* methods of some built-in data types and base classes. " +"For example it is the type of :code:`object().__str__`." +msgstr "" +"Тип *зв'язаних* методів деяких вбудованих типів даних і базових класів. " +"Наприклад, це тип :code:`object().__str__`." + +msgid "The type of :data:`NotImplemented`." +msgstr "Тип :data:`NotImplemented`." + +msgid "" +"The type of methods of some built-in data types such as :meth:`str.join`." +msgstr "Тип методів деяких вбудованих типів даних, таких як :meth:`str.join`." + +msgid "" +"The type of *unbound* class methods of some built-in data types such as " +"``dict.__dict__['fromkeys']``." +msgstr "" +"Тип *незв’язаних* методів класу деяких вбудованих типів даних, таких як " +"``dict.__dict__['fromkeys']``." + +msgid "" +"The type of :term:`modules `. The constructor takes the name of the " +"module to be created and optionally its :term:`docstring`." +msgstr "" +"Тип :term:`modules `. Конструктор приймає назву модуля, який буде " +"створено, і, за бажанням, його :term:`docstring`." + +msgid "" +"Use :func:`importlib.util.module_from_spec` to create a new module if you " +"wish to set the various import-controlled attributes." +msgstr "" +"Використовуйте :func:`importlib.util.module_from_spec`, щоб створити новий " +"модуль, якщо ви бажаєте встановити різні атрибути, керовані імпортом." + +msgid "The :term:`docstring` of the module. Defaults to ``None``." +msgstr ":term:`docstring` модуля. За замовчуванням ``None``." + +msgid "The :term:`loader` which loaded the module. Defaults to ``None``." +msgstr ":term:`loader`, який завантажив модуль. За замовчуванням ``None``." + +msgid "" +"This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader` as " +"stored in the :attr:`__spec__` object." +msgstr "" + +msgid "" +"A future version of Python may stop setting this attribute by default. To " +"guard against this potential change, preferably read from the :attr:" +"`__spec__` attribute instead or use ``getattr(module, \"__loader__\", " +"None)`` if you explicitly need to use this attribute." +msgstr "" +"Майбутня версія Python може припинити встановлення цього атрибута за " +"замовчуванням. Щоб захиститися від цієї потенційної зміни, бажано читати з " +"атрибута :attr:`__spec__` або використовувати ``getattr(module, \"__loader__" +"\", None)``, якщо вам явно потрібно використовувати цей атрибут." + +msgid "Defaults to ``None``. Previously the attribute was optional." +msgstr "За замовчуванням ``None``. Раніше атрибут був необов’язковим." + +msgid "" +"The name of the module. Expected to match :attr:`importlib.machinery." +"ModuleSpec.name`." +msgstr "" +"Назва модуля. Очікується відповідність :attr:`importlib.machinery.ModuleSpec." +"name`." + +msgid "" +"Which :term:`package` a module belongs to. If the module is top-level (i.e. " +"not a part of any specific package) then the attribute should be set to " +"``''``, else it should be set to the name of the package (which can be :attr:" +"`__name__` if the module is a package itself). Defaults to ``None``." +msgstr "" +"До якого :term:`package` належить модуль. Якщо модуль верхнього рівня (тобто " +"не є частиною будь-якого конкретного пакета), тоді для атрибута має бути " +"встановлено значення ``''``, інакше для нього має бути встановлено назву " +"пакета (яке може бути :attr:`__name__`, якщо модуль сам є пакетом). За " +"замовчуванням ``None``." + +msgid "" +"This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent` as " +"stored in the :attr:`__spec__` object." +msgstr "" + +msgid "" +"A future version of Python may stop setting this attribute by default. To " +"guard against this potential change, preferably read from the :attr:" +"`__spec__` attribute instead or use ``getattr(module, \"__package__\", " +"None)`` if you explicitly need to use this attribute." +msgstr "" +"Майбутня версія Python може припинити встановлення цього атрибута за " +"замовчуванням. Щоб захиститися від цієї потенційної зміни, бажано читати з " +"атрибута :attr:`__spec__` або використовувати ``getattr(module, \"__package__" +"\", None)``, якщо вам явно потрібно використовувати цей атрибут." + +msgid "" +"A record of the module's import-system-related state. Expected to be an " +"instance of :class:`importlib.machinery.ModuleSpec`." +msgstr "" +"Запис стану модуля, пов’язаного з системою імпорту. Очікується, що це буде " +"екземпляр :class:`importlib.machinery.ModuleSpec`." + +msgid "The type of :data:`Ellipsis`." +msgstr "Тип :data:`Ellipsis`." + +msgid "" +"The type of :ref:`parameterized generics ` such as " +"``list[int]``." +msgstr "" +"Тип :ref:`параметризованих генериків `, наприклад " +"``list[int]``." + +msgid "" +"``t_origin`` should be a non-parameterized generic class, such as ``list``, " +"``tuple`` or ``dict``. ``t_args`` should be a :class:`tuple` (possibly of " +"length 1) of types which parameterize ``t_origin``::" +msgstr "" +"``t_origin`` має бути непараметризованим загальним класом, таким як " +"``list``, ``tuple`` або ``dict``. ``t_args`` має бути :class:`tuple` " +"(можливо, довжиною 1) типів, які параметризують ``t_origin``::" + +msgid "This type can now be subclassed." +msgstr "Цей тип тепер може бути підкласом." + +msgid "The type of :ref:`union type expressions`." +msgstr "Тип :ref:`виразів типу union `." + +msgid "The type of traceback objects such as found in ``sys.exc_info()[2]``." +msgstr "Тип об’єктів трасування, таких як знайдені в ``sys.exc_info()[2]``." + +msgid "" +"See :ref:`the language reference ` for details of the " +"available attributes and operations, and guidance on creating tracebacks " +"dynamically." +msgstr "" +"Перегляньте :ref:`мовну довідку `, щоб отримати детальну " +"інформацію про доступні атрибути та операції, а також вказівки щодо " +"динамічного створення трасування." + +msgid "" +"The type of frame objects such as found in ``tb.tb_frame`` if ``tb`` is a " +"traceback object." +msgstr "" +"Тип об’єктів фрейму, таких як знайдені в ``tb.tb_frame``, якщо ``tb`` є " +"об’єктом трасування." + +msgid "" +"See :ref:`the language reference ` for details of the " +"available attributes and operations." +msgstr "" +"Перегляньте :ref:`мовну довідку `, щоб дізнатися більше про " +"доступні атрибути та операції." + +msgid "" +"The type of objects defined in extension modules with ``PyGetSetDef``, such " +"as ``FrameType.f_locals`` or ``array.array.typecode``. This type is used as " +"descriptor for object attributes; it has the same purpose as the :class:" +"`property` type, but for classes defined in extension modules." +msgstr "" +"Тип об’єктів, визначених у модулях розширення за допомогою ``PyGetSetDef``, " +"наприклад ``FrameType.f_locals`` або ``array.array.typecode``. Цей тип " +"використовується як дескриптор для атрибутів об'єкта; він має те саме " +"призначення, що й тип :class:`property`, але для класів, визначених у " +"модулях розширення." + +msgid "" +"The type of objects defined in extension modules with ``PyMemberDef``, such " +"as ``datetime.timedelta.days``. This type is used as descriptor for simple " +"C data members which use standard conversion functions; it has the same " +"purpose as the :class:`property` type, but for classes defined in extension " +"modules." +msgstr "" +"Тип об’єктів, визначених у модулях розширення за допомогою ``PyMemberDef``, " +"наприклад ``datetime.timedelta.days``. Цей тип використовується як " +"дескриптор для простих елементів даних C, які використовують стандартні " +"функції перетворення; він має те саме призначення, що й тип :class:" +"`property`, але для класів, визначених у модулях розширення." + +msgid "" +"In other implementations of Python, this type may be identical to " +"``GetSetDescriptorType``." +msgstr "" +"В інших реалізаціях Python цей тип може бути ідентичним " +"``GetSetDescriptorType``." + +msgid "" +"Read-only proxy of a mapping. It provides a dynamic view on the mapping's " +"entries, which means that when the mapping changes, the view reflects these " +"changes." +msgstr "" +"Проксі зіставлення лише для читання. Він забезпечує динамічний перегляд " +"записів відображення, що означає, що коли відображення змінюється, подання " +"відображає ці зміни." + +msgid "" +"Updated to support the new union (``|``) operator from :pep:`584`, which " +"simply delegates to the underlying mapping." +msgstr "" +"Оновлено для підтримки нового оператора об’єднання (``|``) з :pep:`584`, " +"який просто делегує базове відображення." + +msgid "" +"Return ``True`` if the underlying mapping has a key *key*, else ``False``." +msgstr "" +"Повертає ``True``, якщо базове зіставлення має ключ *key*, інакше ``False``." + +msgid "" +"Return the item of the underlying mapping with key *key*. Raises a :exc:" +"`KeyError` if *key* is not in the underlying mapping." +msgstr "" +"Поверніть елемент основного відображення за допомогою ключа *key*. Викликає :" +"exc:`KeyError`, якщо *key* не в базовому відображенні." + +msgid "" +"Return an iterator over the keys of the underlying mapping. This is a " +"shortcut for ``iter(proxy.keys())``." +msgstr "" +"Повертає ітератор над ключами основного відображення. Це ярлик для " +"``iter(proxy.keys())``." + +msgid "Return the number of items in the underlying mapping." +msgstr "Повертає кількість елементів у базовому відображенні." + +msgid "Return a shallow copy of the underlying mapping." +msgstr "Повернути поверхневу копію основного відображення." + +msgid "" +"Return the value for *key* if *key* is in the underlying mapping, else " +"*default*. If *default* is not given, it defaults to ``None``, so that this " +"method never raises a :exc:`KeyError`." +msgstr "" +"Повертає значення для *key*, якщо *key* є в базовому відображенні, інакше " +"*за замовчуванням*. Якщо *default* не вказано, за замовчуванням буде " +"``None``, тому цей метод ніколи не викликає :exc:`KeyError`." + +msgid "" +"Return a new view of the underlying mapping's items (``(key, value)`` pairs)." +msgstr "" +"Повертає нове подання базових елементів зіставлення (пар \"(ключ, " +"значення)\")." + +msgid "Return a new view of the underlying mapping's keys." +msgstr "Повернути нове подання ключів основного зіставлення." + +msgid "Return a new view of the underlying mapping's values." +msgstr "Повернути нове подання значень основного зіставлення." + +msgid "Return a reverse iterator over the keys of the underlying mapping." +msgstr "Повертає зворотний ітератор над ключами основного відображення." + +msgid "Additional Utility Classes and Functions" +msgstr "Додаткові корисні класи та функції" + +msgid "" +"A simple :class:`object` subclass that provides attribute access to its " +"namespace, as well as a meaningful repr." +msgstr "" +"Простий підклас :class:`object`, який забезпечує доступ атрибутів до свого " +"простору імен, а також значуще відображення." + +msgid "" +"Unlike :class:`object`, with ``SimpleNamespace`` you can add and remove " +"attributes. If a ``SimpleNamespace`` object is initialized with keyword " +"arguments, those are directly added to the underlying namespace." +msgstr "" +"На відміну від :class:`object`, за допомогою ``SimpleNamespace`` ви можете " +"додавати та видаляти атрибути. Якщо об’єкт ``SimpleNamespace`` " +"ініціалізовано ключовими аргументами, вони безпосередньо додаються до " +"основного простору імен." + +msgid "The type is roughly equivalent to the following code::" +msgstr "Тип приблизно еквівалентний такому коду::" + +msgid "" +"``SimpleNamespace`` may be useful as a replacement for ``class NS: pass``. " +"However, for a structured record type use :func:`~collections.namedtuple` " +"instead." +msgstr "" +"``SimpleNamespace`` може бути корисним як заміна ``class NS: pass``. Однак " +"для структурованого типу запису замість цього використовуйте :func:" +"`~collections.namedtuple`." + +msgid "" +"Attribute order in the repr changed from alphabetical to insertion (like " +"``dict``)." +msgstr "" +"Порядок атрибутів у відображенні змінено з алфавітного на вставлення " +"(наприклад, ``dict``)." + +msgid "Route attribute access on a class to __getattr__." +msgstr "Направте доступ до атрибутів класу до __getattr__." + +msgid "" +"This is a descriptor, used to define attributes that act differently when " +"accessed through an instance and through a class. Instance access remains " +"normal, but access to an attribute through a class will be routed to the " +"class's __getattr__ method; this is done by raising AttributeError." +msgstr "" +"Це дескриптор, який використовується для визначення атрибутів, які діють по-" +"різному при доступі через примірник і через клас. Доступ до екземпляра " +"залишається звичайним, але доступ до атрибута через клас буде направлено до " +"методу __getattr__ класу; це робиться шляхом виклику AttributeError." + +msgid "" +"This allows one to have properties active on an instance, and have virtual " +"attributes on the class with the same name (see :class:`enum.Enum` for an " +"example)." +msgstr "" +"Це дозволяє мати активні властивості в екземплярі та мати віртуальні " +"атрибути в класі з таким же іменем (див. :class:`enum.Enum` для прикладу)." + +msgid "Coroutine Utility Functions" +msgstr "Корисні функції співпрограми" + +msgid "" +"This function transforms a :term:`generator` function into a :term:" +"`coroutine function` which returns a generator-based coroutine. The " +"generator-based coroutine is still a :term:`generator iterator`, but is also " +"considered to be a :term:`coroutine` object and is :term:`awaitable`. " +"However, it may not necessarily implement the :meth:`__await__` method." +msgstr "" +"Ця функція перетворює функцію :term:`generator` на функцію :term:" +"`coroutine`, яка повертає співпрограму на основі генератора. Співпрограма на " +"основі генератора все ще є генераторним ітератором (:term:`generator " +"iterator`), але також вважається об’єктом :term:`coroutine` і :term:" +"`awaitable`. Однак він не обов’язково може реалізовувати метод :meth:" +"`__await__`." + +msgid "If *gen_func* is a generator function, it will be modified in-place." +msgstr "Якщо *gen_func* є функцією генератора, її буде змінено на місці." + +msgid "" +"If *gen_func* is not a generator function, it will be wrapped. If it returns " +"an instance of :class:`collections.abc.Generator`, the instance will be " +"wrapped in an *awaitable* proxy object. All other types of objects will be " +"returned as is." +msgstr "" +"Якщо *gen_func* не є функцією генератора, її буде загорнуто. Якщо він " +"повертає екземпляр :class:`collections.abc.Generator`, екземпляр буде " +"загорнутий в *очікуваний* проксі-об’єкт. Усі інші типи об’єктів буде " +"повернено як є." diff --git a/library/typing.po b/library/typing.po new file mode 100644 index 000000000..0cadae00b --- /dev/null +++ b/library/typing.po @@ -0,0 +1,2865 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# hellowfacey, 2022 +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`typing` --- Support for type hints" +msgstr ":mod:`typing` --- Підтримка підказок типу" + +msgid "**Source code:** :source:`Lib/typing.py`" +msgstr "**Вихідний код:** :source:`Lib/typing.py`" + +msgid "" +"The Python runtime does not enforce function and variable type annotations. " +"They can be used by third party tools such as type checkers, IDEs, linters, " +"etc." +msgstr "" +"Середовище виконання Python не використовує анотації типів функцій чи " +"змінних. Вони можуть використовуватися сторонніми інструментами, на кшталт " +"аналізаторів типів, IDE, лінтерів тощо." + +msgid "" +"This module provides runtime support for type hints. The most fundamental " +"support consists of the types :data:`Any`, :data:`Union`, :data:`Callable`, :" +"class:`TypeVar`, and :class:`Generic`. For a full specification, please see :" +"pep:`484`. For a simplified introduction to type hints, see :pep:`483`." +msgstr "" +"Цей модуль впроваджує підтримку підказок типу під час виконання. Найбільш " +"фундаментальна підтримка складається з типів :data:`Any`, :data:`Union`, :" +"data:`Callable`, :class:`TypeVar` і :class:`Generic`. Повну специфікацію " +"див. :pep:`484`. Для спрощеного вступу до підказок типу див. :pep:`483`." + +msgid "" +"The function below takes and returns a string and is annotated as follows::" +msgstr "" +"Наведена нижче функція приймає та повертає рядок і анотується таким чином:" + +msgid "" +"In the function ``greeting``, the argument ``name`` is expected to be of " +"type :class:`str` and the return type :class:`str`. Subtypes are accepted as " +"arguments." +msgstr "" +"У функції ``greeting`` аргумент ``name`` має мати тип :class:`str` і тип " +"повернення :class:`str`. Підтипи приймаються як аргументи." + +msgid "" +"New features are frequently added to the ``typing`` module. The " +"`typing_extensions `_ package " +"provides backports of these new features to older versions of Python." +msgstr "" +"До модуля ``введення`` часто додаються нові функції. Пакет " +"`typing_extensions `_ " +"забезпечує зворотні порти цих нових функцій для старіших версій Python." + +msgid "" +"For a summary of deprecated features and a deprecation timeline, please see " +"`Deprecation Timeline of Major Features`_." +msgstr "" + +msgid "" +"The documentation at https://typing.readthedocs.io/ serves as useful " +"reference for type system features, useful typing related tools and typing " +"best practices." +msgstr "" + +msgid "Relevant PEPs" +msgstr "PEP'и за темою" + +msgid "" +"Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a " +"number of PEPs have modified and enhanced Python's framework for type " +"annotations. These include:" +msgstr "" +"З моменту появи підказок типів у :pep:`484` і :pep:`483` низка PEP'ів " +"змінили та покращили структуру Python для анотацій типів. Серед них:" + +msgid ":pep:`526`: Syntax for Variable Annotations" +msgstr ":pep:`526`: Синтаксис для анотацій змінних" + +msgid "" +"*Introducing* syntax for annotating variables outside of function " +"definitions, and :data:`ClassVar`" +msgstr "" +"*Представляємо* синтаксис для анотування змінних поза визначеннями функцій " +"і :data:`ClassVar`" + +msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)" +msgstr ":pep:`544`: Протоколи: структурне підтипування (статичне типування)" + +msgid "" +"*Introducing* :class:`Protocol` and the :func:" +"`@runtime_checkable` decorator" +msgstr "" +"*Представляємо* :class:`Protocol` і декоратор :func:`@runtime_checkable " +"`" + +msgid ":pep:`585`: Type Hinting Generics In Standard Collections" +msgstr ":pep:`585`: Підказки узагальнень для стандартних колекцій" + +msgid "" +"*Introducing* :class:`types.GenericAlias` and the ability to use standard " +"library classes as :ref:`generic types`" +msgstr "" +"*Представляємо* :class:`types.GenericAlias` і можливість використовувати " +"стандартні бібліотечні класи як :ref:` узагальнені типи `" + +msgid ":pep:`586`: Literal Types" +msgstr ":pep:`586`: Літеральні типи" + +msgid "*Introducing* :data:`Literal`" +msgstr "*Представляємо* :data:`Literal`" + +msgid "" +":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys" +msgstr "" +":pep:`589`: TypedDict: Підказки типів для словників з фіксованим набором " +"ключів" + +msgid "*Introducing* :class:`TypedDict`" +msgstr "*Представляємо* :class:`TypedDict`" + +msgid ":pep:`591`: Adding a final qualifier to typing" +msgstr ":pep:`591`: Додавання кінцевого кваліфікатора до введення" + +msgid "*Introducing* :data:`Final` and the :func:`@final` decorator" +msgstr "*Представляємо* :data:`Final` і декоратор :func:`@final `" + +msgid ":pep:`593`: Flexible function and variable annotations" +msgstr ":pep:`593`: Гнучкі анотації функцій та змінних" + +msgid "*Introducing* :data:`Annotated`" +msgstr "*Представляємо* :data:`Annotated`" + +msgid ":pep:`604`: Allow writing union types as ``X | Y``" +msgstr ":pep:`604`: Дозволити запис типів об’єднань як ``X | Y``" + +msgid "" +"*Introducing* :data:`types.UnionType` and the ability to use the binary-or " +"operator ``|`` to signify a :ref:`union of types`" +msgstr "" +"*Представляємо* :data:`types.UnionType` і можливість використовувати " +"двійковий оператор ``|`` для позначення :ref:`об’єднання типів `" + +msgid ":pep:`612`: Parameter Specification Variables" +msgstr ":pep:`612`: Змінні специфікації параметрів" + +msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`" +msgstr "*Представляємо* :class:`ParamSpec` і :data:`Concatenate`" + +msgid ":pep:`613`: Explicit Type Aliases" +msgstr ":pep:`613`: Явні псевдоніми типу" + +msgid "*Introducing* :data:`TypeAlias`" +msgstr "*Представляємо* :data:`TypeAlias`" + +msgid ":pep:`646`: Variadic Generics" +msgstr "" + +msgid "*Introducing* :data:`TypeVarTuple`" +msgstr "" + +msgid ":pep:`647`: User-Defined Type Guards" +msgstr ":pep:`647`: Охоронці типу, визначені користувачем" + +msgid "*Introducing* :data:`TypeGuard`" +msgstr "*Представляємо* :data:`TypeGuard`" + +msgid "" +":pep:`655`: Marking individual TypedDict items as required or potentially " +"missing" +msgstr "" + +msgid "*Introducing* :data:`Required` and :data:`NotRequired`" +msgstr "" + +msgid ":pep:`673`: Self type" +msgstr "" + +msgid "*Introducing* :data:`Self`" +msgstr "" + +msgid ":pep:`675`: Arbitrary Literal String Type" +msgstr "" + +msgid "*Introducing* :data:`LiteralString`" +msgstr "" + +msgid ":pep:`681`: Data Class Transforms" +msgstr "" + +msgid "" +"*Introducing* the :func:`@dataclass_transform` decorator" +msgstr "" + +msgid "Type aliases" +msgstr "Псевдоніми типів" + +msgid "" +"A type alias is defined by assigning the type to the alias. In this example, " +"``Vector`` and ``list[float]`` will be treated as interchangeable synonyms::" +msgstr "" +"Псевдонім типу визначається шляхом призначення типу псевдоніму. У цьому " +"прикладі ``Вектор`` і ``список[float]`` розглядатимуться як взаємозамінні " +"синоніми:" + +msgid "" +"Type aliases are useful for simplifying complex type signatures. For " +"example::" +msgstr "" +"Псевдоніми типів корисні для спрощення анотацій складних типів. Наприклад::" + +msgid "" +"Note that ``None`` as a type hint is a special case and is replaced by " +"``type(None)``." +msgstr "" +"Зауважте, що ``None`` як підказка типу є окремим випадком і замінюється " +"``type(None)``." + +msgid "NewType" +msgstr "NewType" + +msgid "Use the :class:`NewType` helper to create distinct types::" +msgstr "Використовуйте помічник :class:`NewType` для створення різних типів::" + +msgid "" +"The static type checker will treat the new type as if it were a subclass of " +"the original type. This is useful in helping catch logical errors::" +msgstr "" +"Аналізатор типів розглядатиме новий тип як підклас вихідного типу. Це " +"корисно для виявлення логічних помилок:" + +msgid "" +"You may still perform all ``int`` operations on a variable of type " +"``UserId``, but the result will always be of type ``int``. This lets you " +"pass in a ``UserId`` wherever an ``int`` might be expected, but will prevent " +"you from accidentally creating a ``UserId`` in an invalid way::" +msgstr "" +"Ви все ще можете виконувати всі операції ``int`` зі змінною типу ``UserId``, " +"але результат завжди матиме тип ``int``. Це дозволяє передавати ``UserId`` " +"усюди, де можна очікувати ``int``, але запобігає випадковому створенню " +"``UserId`` недійсним способом::" + +msgid "" +"Note that these checks are enforced only by the static type checker. At " +"runtime, the statement ``Derived = NewType('Derived', Base)`` will make " +"``Derived`` a callable that immediately returns whatever parameter you pass " +"it. That means the expression ``Derived(some_value)`` does not create a new " +"class or introduce much overhead beyond that of a regular function call." +msgstr "" +"Зауважте, що ці перевірки виконуються лише засобом перевірки статичного " +"типу. Під час виконання оператор ``Derived = NewType('Derived', Base)`` " +"зробить ``Derived`` викликом, який негайно повертає будь-який параметр, який " +"ви йому передаєте. Це означає, що вираз ``Derived(some_value)`` не створює " +"нового класу і не вносить багато додаткових витрат, крім звичайного виклику " +"функції." + +msgid "" +"More precisely, the expression ``some_value is Derived(some_value)`` is " +"always true at runtime." +msgstr "" +"Точніше, вираз ``some_value is Derived(some_value)`` завжди вірний під час " +"виконання." + +msgid "It is invalid to create a subtype of ``Derived``::" +msgstr "Неможливо створити підтип ``Derived``::" + +msgid "" +"However, it is possible to create a :class:`NewType` based on a 'derived' " +"``NewType``::" +msgstr "" +"Однак можна створити :class:`NewType` на основі \"похідного\" ``NewType``::" + +msgid "and typechecking for ``ProUserId`` will work as expected." +msgstr "і аналіз типів для ``ProUserId`` працюватиме належним чином." + +msgid "See :pep:`484` for more details." +msgstr "Дивіться :pep:`484` для більш детальної інформації." + +msgid "" +"Recall that the use of a type alias declares two types to be *equivalent* to " +"one another. Doing ``Alias = Original`` will make the static type checker " +"treat ``Alias`` as being *exactly equivalent* to ``Original`` in all cases. " +"This is useful when you want to simplify complex type signatures." +msgstr "" +"Зверніть увагу, що використання псевдоніма типу оголошує два типи " +"*еквівалентними* один одному. Виконання ``Alias = Original`` змусить засіб " +"перевірки статичного типу розглядати ``Alias`` як *точно еквівалентний* " +"``Original`` у будь-якому випадку. Це корисно, коли ви хочете спростити " +"анотації складних типів." + +msgid "" +"In contrast, ``NewType`` declares one type to be a *subtype* of another. " +"Doing ``Derived = NewType('Derived', Original)`` will make the static type " +"checker treat ``Derived`` as a *subclass* of ``Original``, which means a " +"value of type ``Original`` cannot be used in places where a value of type " +"``Derived`` is expected. This is useful when you want to prevent logic " +"errors with minimal runtime cost." +msgstr "" +"На відміну, ``NewType`` оголошує один тип як *підтип* іншого. Якщо виконати " +"``Derived = NewType('Derived', Original)``, аналізатор типів розглядатиме " +"``Derived`` як *підклас* ``Original``, що означає значення типу ``Original`` " +"не можна використовувати там, де очікується значення типу ``Derived``. Це " +"корисно, коли ви хочете запобігти логічним помилкам з мінімальними витратами " +"на виконання." + +msgid "" +"``NewType`` is now a class rather than a function. There is some additional " +"runtime cost when calling ``NewType`` over a regular function. However, " +"this cost will be reduced in 3.11.0." +msgstr "" +"``NewType`` тепер є класом, а не функцією. Під час виклику ``NewType`` через " +"звичайну функцію виникає додаткова вартість виконання. Однак ця вартість " +"буде зменшена в 3.11.0." + +msgid "Callable" +msgstr "Викличний" + +msgid "" +"Frameworks expecting callback functions of specific signatures might be type " +"hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." +msgstr "" +"Фреймворки, які очікують функцій-колбеків з певною сигнатурою, можуть " +"вказати цю підказку типу за допомогою ``Callable[[Arg1Type, Arg2Type], " +"ReturnType]``." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"It is possible to declare the return type of a callable without specifying " +"the call signature by substituting a literal ellipsis for the list of " +"arguments in the type hint: ``Callable[..., ReturnType]``." +msgstr "" +"Можна оголосити тип повернення викликаного без вказівки підпису виклику, " +"замінивши літеральний еліпс на список аргументів у підказці типу: " +"``Callable[..., ReturnType]``." + +msgid "" +"Callables which take other callables as arguments may indicate that their " +"parameter types are dependent on each other using :class:`ParamSpec`. " +"Additionally, if that callable adds or removes arguments from other " +"callables, the :data:`Concatenate` operator may be used. They take the form " +"``Callable[ParamSpecVariable, ReturnType]`` and " +"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " +"ReturnType]`` respectively." +msgstr "" +"Викликаються, які приймають інші викликані як аргументи, можуть вказувати, " +"що їхні типи параметрів залежать один від одного за допомогою :class:" +"`ParamSpec`. Крім того, якщо цей виклик додає або видаляє аргументи з інших " +"викликів, можна використовувати оператор :data:`Concatenate`. Вони приймають " +"форму ``Callable[ParamSpecVariable, ReturnType]`` і " +"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " +"ReturnType]`` відповідно." + +msgid "" +"``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :" +"pep:`612` for more details." +msgstr "" + +msgid "" +"The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " +"examples of usage in ``Callable``." +msgstr "" +"Документація для :class:`ParamSpec` і :class:`Concatenate` містить приклади " +"використання в ``Callable``." + +msgid "Generics" +msgstr "Узагальнення" + +msgid "" +"Since type information about objects kept in containers cannot be statically " +"inferred in a generic way, abstract base classes have been extended to " +"support subscription to denote expected types for container elements." +msgstr "" +"Оскільки інформація про тип об’єктів, що зберігається в контейнерах, не може " +"бути статично виведена загальним способом, абстрактні базові класи були " +"розширені для підтримки підписки для позначення очікуваних типів для " +"елементів контейнера." + +msgid "" +"Generics can be parameterized by using a factory available in typing called :" +"class:`TypeVar`." +msgstr "" +"Універсали можна параметризувати за допомогою фабрики, доступної в типі, яка " +"називається :class:`TypeVar`." + +msgid "User-defined generic types" +msgstr "Визначені користувачем загальні типи" + +msgid "A user-defined class can be defined as a generic class." +msgstr "Визначений користувачем клас можна визначити як загальний клас." + +msgid "" +"``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a " +"single type parameter ``T`` . This also makes ``T`` valid as a type within " +"the class body." +msgstr "" +"``Generic[T]`` як базовий клас визначає, що клас ``LoggedVar`` приймає один " +"параметр типу ``T``. Це також робить ``T`` дійсним як тип у тілі класу." + +msgid "" +"The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so " +"that ``LoggedVar[T]`` is valid as a type::" +msgstr "" + +msgid "" +"A generic type can have any number of type variables. All varieties of :" +"class:`TypeVar` are permissible as parameters for a generic type::" +msgstr "" +"Загальний тип може мати будь-яку кількість змінних типу. Усі різновиди :" +"class:`TypeVar` допустимі як параметри для загального типу::" + +msgid "" +"Each type variable argument to :class:`Generic` must be distinct. This is " +"thus invalid::" +msgstr "" +"Кожен аргумент змінної типу для :class:`Generic` має бути окремим. Таким " +"чином, це недійсно::" + +msgid "You can use multiple inheritance with :class:`Generic`::" +msgstr "Ви можете використовувати множинне успадкування з :class:`Generic`::" + +msgid "" +"When inheriting from generic classes, some type variables could be fixed::" +msgstr "" +"При успадкуванні від загальних класів деякі змінні типу можуть бути " +"виправлені:" + +msgid "In this case ``MyDict`` has a single parameter, ``T``." +msgstr "У цьому випадку ``MyDict`` має єдиний параметр, ``T``." + +msgid "" +"Using a generic class without specifying type parameters assumes :data:`Any` " +"for each position. In the following example, ``MyIterable`` is not generic " +"but implicitly inherits from ``Iterable[Any]``::" +msgstr "" +"Використання загального класу без зазначення параметрів типу передбачає :" +"data:`Any` для кожної позиції. У наступному прикладі ``MyIterable`` не є " +"загальним, але неявно успадковує ``Iterable[Any]``::" + +msgid "User defined generic type aliases are also supported. Examples::" +msgstr "" +"Також підтримуються визначені користувачем псевдоніми загального типу. " +"Приклади::" + +msgid ":class:`Generic` no longer has a custom metaclass." +msgstr ":class:`Generic` більше не має спеціального метакласу." + +msgid "" +"User-defined generics for parameter expressions are also supported via " +"parameter specification variables in the form ``Generic[P]``. The behavior " +"is consistent with type variables' described above as parameter " +"specification variables are treated by the typing module as a specialized " +"type variable. The one exception to this is that a list of types can be " +"used to substitute a :class:`ParamSpec`::" +msgstr "" +"Визначені користувачем генерики для виразів параметрів також підтримуються " +"через змінні специфікації параметрів у формі ``Generic[P]``. Поведінка " +"узгоджується зі змінними типу, описаними вище, оскільки змінні специфікації " +"параметрів обробляються модулем типізації як спеціалізована змінна типу. " +"Єдиним винятком із цього є те, що список типів можна використовувати для " +"заміни :class:`ParamSpec`::" + +msgid "" +"Furthermore, a generic with only one parameter specification variable will " +"accept parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also " +"``X[Type1, Type2, ...]`` for aesthetic reasons. Internally, the latter is " +"converted to the former, so the following are equivalent::" +msgstr "" +"Крім того, універсал із лише однією змінною специфікації параметра " +"прийматиме списки параметрів у формах ``X[[Type1, Type2, ...]]``, а також " +"``X[Type1, Type2, ...]`` для естетичні причини. Внутрішньо остання " +"перетворюється на першу, тому наступні еквівалентні:" + +msgid "" +"Do note that generics with :class:`ParamSpec` may not have correct " +"``__parameters__`` after substitution in some cases because they are " +"intended primarily for static type checking." +msgstr "" +"Зауважте, що генерики з :class:`ParamSpec` можуть не мати правильних " +"``__parameters__`` після заміни в деяких випадках, оскільки вони призначені " +"в основному для перевірки статичних типів." + +msgid "" +":class:`Generic` can now be parameterized over parameter expressions. See :" +"class:`ParamSpec` and :pep:`612` for more details." +msgstr "" +":class:`Generic` тепер можна параметризувати над виразами параметрів. " +"Дивіться :class:`ParamSpec` і :pep:`612` для отримання додаткової інформації." + +msgid "" +"A user-defined generic class can have ABCs as base classes without a " +"metaclass conflict. Generic metaclasses are not supported. The outcome of " +"parameterizing generics is cached, and most types in the typing module are " +"hashable and comparable for equality." +msgstr "" +"Визначений користувачем загальний клас може мати ABC як базові класи без " +"конфлікту метакласів. Загальні метакласи не підтримуються. Результат " +"параметризації генериків кешується, і більшість типів у модулі введення " +"можна хешувати та порівняти на рівність." + +msgid "The :data:`Any` type" +msgstr "Тип :data:`Any`" + +msgid "" +"A special kind of type is :data:`Any`. A static type checker will treat " +"every type as being compatible with :data:`Any` and :data:`Any` as being " +"compatible with every type." +msgstr "" +"Особливий вид типу — :data:`Any`. Засіб перевірки статичних типів " +"розглядатиме кожен тип як сумісний із :data:`Any` і :data:`Any` як сумісні з " +"кожним типом." + +msgid "" +"This means that it is possible to perform any operation or method call on a " +"value of type :data:`Any` and assign it to any variable::" +msgstr "" +"Це означає, що можна виконати будь-яку операцію або викликати метод над " +"значенням типу :data:`Any` і призначити його будь-якій змінній::" + +msgid "" +"Notice that no type checking is performed when assigning a value of type :" +"data:`Any` to a more precise type. For example, the static type checker did " +"not report an error when assigning ``a`` to ``s`` even though ``s`` was " +"declared to be of type :class:`str` and receives an :class:`int` value at " +"runtime!" +msgstr "" + +msgid "" +"Furthermore, all functions without a return type or parameter types will " +"implicitly default to using :data:`Any`::" +msgstr "" +"Крім того, усі функції без типу повернення або типів параметрів неявно " +"використовуватимуть за умовчанням :data:`Any`::" + +msgid "" +"This behavior allows :data:`Any` to be used as an *escape hatch* when you " +"need to mix dynamically and statically typed code." +msgstr "" +"Така поведінка дозволяє :data:`Any` використовувати як *вихідний люк*, коли " +"вам потрібно змішати динамічний і статичний код." + +msgid "" +"Contrast the behavior of :data:`Any` with the behavior of :class:`object`. " +"Similar to :data:`Any`, every type is a subtype of :class:`object`. However, " +"unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a " +"subtype of every other type." +msgstr "" +"Порівняйте поведінку :data:`Any` з поведінкою :class:`object`. Подібно до :" +"data:`Any`, кожен тип є підтипом :class:`object`. Однак, на відміну від :" +"data:`Any`, зворотне не вірно: :class:`object` *не* є підтипом будь-якого " +"іншого типу." + +msgid "" +"That means when the type of a value is :class:`object`, a type checker will " +"reject almost all operations on it, and assigning it to a variable (or using " +"it as a return value) of a more specialized type is a type error. For " +"example::" +msgstr "" +"Це означає, що коли тип значення :class:`object`, засіб перевірки типів " +"відхилить майже всі операції над ним, а присвоєння його змінній (або " +"використання її як значення, що повертається) більш спеціалізованого типу є " +"типом помилка. Наприклад::" + +msgid "" +"Use :class:`object` to indicate that a value could be any type in a typesafe " +"manner. Use :data:`Any` to indicate that a value is dynamically typed." +msgstr "" +"Використовуйте :class:`object`, щоб вказати, що значення може мати будь-який " +"тип у безпечний спосіб. Використовуйте :data:`Any`, щоб вказати, що значення " +"вводиться динамічно." + +msgid "Nominal vs structural subtyping" +msgstr "Номінальний проти структурного підтипу" + +msgid "" +"Initially :pep:`484` defined the Python static type system as using *nominal " +"subtyping*. This means that a class ``A`` is allowed where a class ``B`` is " +"expected if and only if ``A`` is a subclass of ``B``." +msgstr "" +"Спочатку :pep:`484` визначив систему статичних типів Python як таку, що " +"використовує *номінальний підтип*. Це означає, що клас ``A`` дозволений там, " +"де очікується клас ``B``, якщо і тільки якщо ``A`` є підкласом ``B``." + +msgid "" +"This requirement previously also applied to abstract base classes, such as :" +"class:`~collections.abc.Iterable`. The problem with this approach is that a " +"class had to be explicitly marked to support them, which is unpythonic and " +"unlike what one would normally do in idiomatic dynamically typed Python " +"code. For example, this conforms to :pep:`484`::" +msgstr "" +"Ця вимога раніше також застосовувалася до абстрактних базових класів, таких " +"як :class:`~collections.abc.Iterable`. Проблема з цим підходом полягає в " +"тому, що клас повинен бути явно позначений для їх підтримки, що не є " +"пітонічним і не схожим на те, що зазвичай робили б у ідіоматичному динамічно " +"введеному коді Python. Наприклад, це відповідає :pep:`484`::" + +msgid "" +":pep:`544` allows to solve this problem by allowing users to write the above " +"code without explicit base classes in the class definition, allowing " +"``Bucket`` to be implicitly considered a subtype of both ``Sized`` and " +"``Iterable[int]`` by static type checkers. This is known as *structural " +"subtyping* (or static duck-typing)::" +msgstr "" +":pep:`544` дозволяє вирішити цю проблему, дозволяючи користувачам писати " +"наведений вище код без явних базових класів у визначенні класу, дозволяючи " +"``Bucket`` неявно вважатися підтипом як ``Sized``, так і ``Iterable[int]`` " +"засобами перевірки статичних типів. Це відоме як *структурне підтипування* " +"(або статичне качине типування):" + +msgid "" +"Moreover, by subclassing a special class :class:`Protocol`, a user can " +"define new custom protocols to fully enjoy structural subtyping (see " +"examples below)." +msgstr "" +"Крім того, створивши підклас спеціального класу :class:`Protocol`, " +"користувач може визначати нові користувальницькі протоколи, щоб повною мірою " +"користуватися структурними підтипами (див. приклади нижче)." + +msgid "Module contents" +msgstr "Зміст модуля" + +msgid "The module defines the following classes, functions and decorators." +msgstr "Модуль визначає наступні класи, функції та декоратори." + +msgid "" +"This module defines several types that are subclasses of pre-existing " +"standard library classes which also extend :class:`Generic` to support type " +"variables inside ``[]``. These types became redundant in Python 3.9 when the " +"corresponding pre-existing classes were enhanced to support ``[]``." +msgstr "" +"Цей модуль визначає кілька типів, які є підкласами вже існуючих класів " +"стандартної бібліотеки, які також розширюють :class:`Generic` для підтримки " +"змінних типу всередині ``[]``. Ці типи стали надлишковими в Python 3.9, коли " +"відповідні існуючі класи були вдосконалені для підтримки ``[]``." + +msgid "" +"The redundant types are deprecated as of Python 3.9 but no deprecation " +"warnings will be issued by the interpreter. It is expected that type " +"checkers will flag the deprecated types when the checked program targets " +"Python 3.9 or newer." +msgstr "" +"Надлишкові типи застаріли, починаючи з Python 3.9, але інтерпретатор не " +"видасть попереджень про застаріння. Очікується, що засоби перевірки типів " +"позначатимуть застарілі типи, якщо перевірена програма призначена для Python " +"3.9 або новішої версії." + +msgid "" +"The deprecated types will be removed from the :mod:`typing` module in the " +"first Python version released 5 years after the release of Python 3.9.0. See " +"details in :pep:`585`—*Type Hinting Generics In Standard Collections*." +msgstr "" +"Застарілі типи буде видалено з модуля :mod:`typing` у першій версії Python, " +"випущеній через 5 років після випуску Python 3.9.0. Див. подробиці в :pep:" +"`585`—*Універсальні підказки типів у стандартних колекціях*." + +msgid "Special typing primitives" +msgstr "Спеціальні примітиви типізації" + +msgid "Special types" +msgstr "Особливі види" + +msgid "These can be used as types in annotations and do not support ``[]``." +msgstr "" +"Вони можуть використовуватися як типи в анотаціях і не підтримують ``[]``." + +msgid "Special type indicating an unconstrained type." +msgstr "Спеціальний тип, що вказує на необмежений тип." + +msgid "Every type is compatible with :data:`Any`." +msgstr "Кожен тип сумісний з :data:`Any`." + +msgid ":data:`Any` is compatible with every type." +msgstr ":data:`Any` сумісний з усіма типами." + +msgid "" +":data:`Any` can now be used as a base class. This can be useful for avoiding " +"type checker errors with classes that can duck type anywhere or are highly " +"dynamic." +msgstr "" + +msgid "" +"Special type that includes only literal strings. A string literal is " +"compatible with ``LiteralString``, as is another ``LiteralString``, but an " +"object typed as just ``str`` is not. A string created by composing " +"``LiteralString``-typed objects is also acceptable as a ``LiteralString``." +msgstr "" + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"This is useful for sensitive APIs where arbitrary user-generated strings " +"could generate problems. For example, the two cases above that generate type " +"checker errors could be vulnerable to an SQL injection attack." +msgstr "" + +msgid "See :pep:`675` for more details." +msgstr "" + +msgid "" +"The `bottom type `_, a type that " +"has no members." +msgstr "" + +msgid "" +"This can be used to define a function that should never be called, or a " +"function that never returns::" +msgstr "" + +msgid "" +"On older Python versions, :data:`NoReturn` may be used to express the same " +"concept. ``Never`` was added to make the intended meaning more explicit." +msgstr "" + +msgid "Special type indicating that a function never returns. For example::" +msgstr "" +"Спеціальний тип, який вказує, що функція ніколи не повертається. Наприклад::" + +msgid "" +"``NoReturn`` can also be used as a `bottom type `_, a type that has no values. Starting in Python 3.11, " +"the :data:`Never` type should be used for this concept instead. Type " +"checkers should treat the two equivalently." +msgstr "" + +msgid "Special type to represent the current enclosed class. For example::" +msgstr "" + +msgid "" +"This annotation is semantically equivalent to the following, albeit in a " +"more succinct fashion::" +msgstr "" + +msgid "In general if something currently follows the pattern of::" +msgstr "" + +msgid "" +"You should use :data:`Self` as calls to ``SubclassOfFoo.return_self`` would " +"have ``Foo`` as the return type and not ``SubclassOfFoo``." +msgstr "" + +msgid "Other common use cases include:" +msgstr "" + +msgid "" +":class:`classmethod`\\s that are used as alternative constructors and return " +"instances of the ``cls`` parameter." +msgstr "" + +msgid "Annotating an :meth:`~object.__enter__` method which returns self." +msgstr "" + +msgid "See :pep:`673` for more details." +msgstr "" + +msgid "" +"Special annotation for explicitly declaring a :ref:`type alias `. For example::" +msgstr "" +"Спеціальна анотація для явного оголошення псевдоніма :ref:`типу `. Наприклад::" + +msgid "See :pep:`613` for more details about explicit type aliases." +msgstr "" +"Перегляньте :pep:`613` для отримання додаткової інформації про явні " +"псевдоніми типів." + +msgid "Special forms" +msgstr "Спеціальні форми" + +msgid "" +"These can be used as types in annotations using ``[]``, each having a unique " +"syntax." +msgstr "" +"Їх можна використовувати як типи в анотаціях за допомогою ``[]``, кожен з " +"яких має унікальний синтаксис." + +msgid "" +"Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the " +"first item of type X and the second of type Y. The type of the empty tuple " +"can be written as ``Tuple[()]``." +msgstr "" +"Тип кортежу; ``Tuple[X, Y]`` — це тип кортежу з двох елементів з першим " +"елементом типу X, а другим — типу Y. Тип порожнього кортежу можна записати " +"як ``Tuple[()]``." + +msgid "" +"Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type " +"variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an int, a " +"float and a string." +msgstr "" +"Приклад: ``Tuple[T1, T2]`` — це кортеж із двох елементів, що відповідають " +"змінним типу T1 і T2. ``Tuple[int, float, str]`` – це кортеж із int, float і " +"рядка." + +msgid "" +"To specify a variable-length tuple of homogeneous type, use literal " +"ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to " +"``Tuple[Any, ...]``, and in turn to :class:`tuple`." +msgstr "" +"Щоб указати кортеж змінної довжини однорідного типу, використовуйте " +"літеральний еліпсис, наприклад. ``Tuple[int, ...]``. Звичайний :data:`Tuple` " +"еквівалентний ``Tuple[Any, ...]`` і, у свою чергу, :class:`tuple`." + +msgid "" +":class:`builtins.tuple ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"Union type; ``Union[X, Y]`` is equivalent to ``X | Y`` and means either X or " +"Y." +msgstr "тип союзу; ``Union[X, Y]`` еквівалентно ``X | Y`` і означає X або Y." + +msgid "" +"To define a union, use e.g. ``Union[int, str]`` or the shorthand ``int | " +"str``. Using that shorthand is recommended. Details:" +msgstr "" +"Щоб визначити об’єднання, використовуйте, наприклад, ``Union[int, str]`` або " +"скорочення ``int | str``. Рекомендується використовувати це скорочення. " +"Подробиці:" + +msgid "The arguments must be types and there must be at least one." +msgstr "Аргументи мають бути типами і має бути принаймні один." + +msgid "Unions of unions are flattened, e.g.::" +msgstr "Союзи союзів зведені, наприклад::" + +msgid "Unions of a single argument vanish, e.g.::" +msgstr "Союзи одного аргументу зникають, наприклад::" + +msgid "Redundant arguments are skipped, e.g.::" +msgstr "Зайві аргументи пропускаються, наприклад::" + +msgid "When comparing unions, the argument order is ignored, e.g.::" +msgstr "" +"Під час порівняння об’єднань порядок аргументів ігнорується, наприклад::" + +msgid "You cannot subclass or instantiate a ``Union``." +msgstr "Ви не можете створювати підкласи або екземпляри ``Union``." + +msgid "You cannot write ``Union[X][Y]``." +msgstr "Ви не можете писати ``Union[X][Y]``." + +msgid "Don't remove explicit subclasses from unions at runtime." +msgstr "Не видаляйте явні підкласи з об’єднань під час виконання." + +msgid "" +"Unions can now be written as ``X | Y``. See :ref:`union type " +"expressions`." +msgstr "" +"Об’єднання тепер можна записати як ``X | Y``. Див. :ref:`вирази типу union " +"`." + +msgid "Optional type." +msgstr "Необов'язковий тип." + +msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)." +msgstr "``Optional[X]`` еквівалентно ``X | None`` (або ``Union[X, None]``)." + +msgid "" +"Note that this is not the same concept as an optional argument, which is one " +"that has a default. An optional argument with a default does not require " +"the ``Optional`` qualifier on its type annotation just because it is " +"optional. For example::" +msgstr "" +"Зауважте, що це не те саме поняття, що необов’язковий аргумент, який має " +"значення за умовчанням. Необов’язковий аргумент із значенням за " +"замовчуванням не потребує кваліфікатора ``Optional`` в анотації свого типу " +"лише тому, що він є необов’язковим. Наприклад::" + +msgid "" +"On the other hand, if an explicit value of ``None`` is allowed, the use of " +"``Optional`` is appropriate, whether the argument is optional or not. For " +"example::" +msgstr "" +"З іншого боку, якщо дозволено явне значення ``None``, використання " +"``Optional`` є доречним, незалежно від того, чи є аргумент необов’язковим. " +"Наприклад::" + +msgid "" +"Optional can now be written as ``X | None``. See :ref:`union type " +"expressions`." +msgstr "" +"Необов’язковий тепер можна записати як ``X | None``. Див. :ref:`вирази типу " +"union `." + +msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." +msgstr "Викличний тип; ``Callable[[int], str]`` є функцією (int) -> str." + +msgid "" +"The subscription syntax must always be used with exactly two values: the " +"argument list and the return type. The argument list must be a list of " +"types or an ellipsis; the return type must be a single type." +msgstr "" +"Синтаксис підписки завжди має використовуватися рівно з двома значеннями: " +"список аргументів і тип повернення. Список аргументів має бути списком типів " +"або крапкою; тип повернення має бути одним типом." + +msgid "" +"There is no syntax to indicate optional or keyword arguments; such function " +"types are rarely used as callback types. ``Callable[..., ReturnType]`` " +"(literal ellipsis) can be used to type hint a callable taking any number of " +"arguments and returning ``ReturnType``. A plain :data:`Callable` is " +"equivalent to ``Callable[..., Any]``, and in turn to :class:`collections.abc." +"Callable`." +msgstr "" +"Немає синтаксису для позначення необов’язкових або ключових аргументів; такі " +"типи функцій рідко використовуються як типи зворотного виклику. " +"``Callable[..., ReturnType]`` (буквальний еліпс) можна використовувати для " +"введення підказки викликаного, що приймає будь-яку кількість аргументів і " +"повертає ``ReturnType``. Звичайний :data:`Callable` еквівалентний " +"``Callable[..., Any]`` і, у свою чергу, :class:`collections.abc.Callable`." + +msgid "" +":class:`collections.abc.Callable` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " +"examples of usage with ``Callable``." +msgstr "" +"Документація для :class:`ParamSpec` і :class:`Concatenate` містить приклади " +"використання з ``Callable``." + +msgid "" +"Used with :data:`Callable` and :class:`ParamSpec` to type annotate a higher " +"order callable which adds, removes, or transforms parameters of another " +"callable. Usage is in the form ``Concatenate[Arg1Type, Arg2Type, ..., " +"ParamSpecVariable]``. ``Concatenate`` is currently only valid when used as " +"the first argument to a :data:`Callable`. The last parameter to " +"``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``)." +msgstr "" + +msgid "" +"For example, to annotate a decorator ``with_lock`` which provides a :class:" +"`threading.Lock` to the decorated function, ``Concatenate`` can be used to " +"indicate that ``with_lock`` expects a callable which takes in a ``Lock`` as " +"the first argument, and returns a callable with a different type signature. " +"In this case, the :class:`ParamSpec` indicates that the returned callable's " +"parameter types are dependent on the parameter types of the callable being " +"passed in::" +msgstr "" +"Наприклад, щоб анотувати декоратор ``with_lock``, який надає :class:" +"`threading.Lock` декорованій функції, ``Concatenate`` можна використовувати, " +"щоб вказати, що ``with_lock`` очікує виклик, який приймає в ``Lock`` як " +"перший аргумент і повертає виклик із сигнатурою іншого типу. У цьому " +"випадку :class:`ParamSpec` вказує, що типи параметрів викликаного об’єкта, " +"що повертається, залежать від типів параметрів об’єкта виклику, який " +"передається в::" + +msgid "" +":pep:`612` -- Parameter Specification Variables (the PEP which introduced " +"``ParamSpec`` and ``Concatenate``)." +msgstr "" +":pep:`612` -- Змінні специфікації параметрів (PEP, який представив " +"``ParamSpec`` і ``Concatenate``)." + +msgid ":class:`ParamSpec` and :class:`Callable`." +msgstr ":class:`ParamSpec` і :class:`Callable`." + +msgid "" +"A variable annotated with ``C`` may accept a value of type ``C``. In " +"contrast, a variable annotated with ``Type[C]`` may accept values that are " +"classes themselves -- specifically, it will accept the *class object* of " +"``C``. For example::" +msgstr "" +"Змінна з анотацією ``C`` може приймати значення типу ``C``. На відміну від " +"цього, змінна, анотована ``Type[C]``, може приймати значення, які самі по " +"собі є класами - зокрема, вона прийматиме *об’єкт класу* ``C``. Наприклад::" + +msgid "Note that ``Type[C]`` is covariant::" +msgstr "Зауважте, що ``Type[C]`` є коваріантним::" + +msgid "" +"The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` " +"should implement the same constructor signature and class method signatures " +"as ``C``. The type checker should flag violations of this, but should also " +"allow constructor calls in subclasses that match the constructor calls in " +"the indicated base class. How the type checker is required to handle this " +"particular case may change in future revisions of :pep:`484`." +msgstr "" +"Той факт, що ``Type[C]`` є коваріантним, означає, що всі підкласи ``C`` " +"повинні реалізовувати ту саму сигнатуру конструктора та сигнатури методу " +"класу, що й ``C``. Перевірка типів повинна позначати порушення цього, але " +"також повинна дозволяти виклики конструкторів у підкласах, які відповідають " +"викликам конструкторів у вказаному базовому класі. Те, як перевірка типів " +"потрібна для обробки цього конкретного випадку, може змінитися в майбутніх " +"версіях :pep:`484`." + +msgid "" +"The only legal parameters for :class:`Type` are classes, :data:`Any`, :ref:" +"`type variables `, and unions of any of these types. For example::" +msgstr "" +"Єдиними допустимими параметрами для :class:`Type` є класи, :data:`Any`, :ref:" +"`змінні типу `, а також об’єднання будь-якого з цих типів. " +"Наприклад::" + +msgid "" +"``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to " +"``type``, which is the root of Python's metaclass hierarchy." +msgstr "" +"``Type[Any]`` еквівалентний ``Type``, який, у свою чергу, еквівалентний " +"``type``, який є коренем ієрархії метакласів Python." + +msgid "" +":class:`builtins.type ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"A type that can be used to indicate to type checkers that the corresponding " +"variable or function parameter has a value equivalent to the provided " +"literal (or one of several literals). For example::" +msgstr "" +"Тип, який можна використовувати для вказівки перевіряючим типам того, що " +"відповідна змінна або параметр функції має значення, еквівалентне наданому " +"літералу (або одному з кількох літералів). Наприклад::" + +msgid "" +"``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is " +"allowed as type argument to ``Literal[...]``, but type checkers may impose " +"restrictions. See :pep:`586` for more details about literal types." +msgstr "" +"``Літерал[...]`` не може бути підкласом. Під час виконання довільне значення " +"допускається як аргумент типу для ``Literal[...]``, але засоби перевірки " +"типу можуть накладати обмеження. Дивіться :pep:`586` для отримання " +"додаткової інформації про літеральні типи." + +msgid "" +"``Literal`` now de-duplicates parameters. Equality comparisons of " +"``Literal`` objects are no longer order dependent. ``Literal`` objects will " +"now raise a :exc:`TypeError` exception during equality comparisons if one of " +"their parameters are not :term:`hashable`." +msgstr "" +"``Літерал`` тепер усуває дублікати параметрів. Порівняння рівності об’єктів " +"``Literal`` більше не залежить від порядку. Об’єкти ``Literal`` тепер " +"створюватимуть виняток :exc:`TypeError` під час порівняння рівності, якщо " +"один із їхніх параметрів не є :term:`hashable`." + +msgid "Special type construct to mark class variables." +msgstr "Конструкція спеціального типу для позначення змінних класу." + +msgid "" +"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " +"indicates that a given attribute is intended to be used as a class variable " +"and should not be set on instances of that class. Usage::" +msgstr "" +"Як представлено в :pep:`526`, анотація змінної, загорнена в ClassVar, вказує " +"на те, що даний атрибут призначений для використання як змінна класу і не " +"повинен встановлюватися для екземплярів цього класу. Використання::" + +msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." +msgstr ":data:`ClassVar` приймає лише типи і не може бути підписаний далі." + +msgid "" +":data:`ClassVar` is not a class itself, and should not be used with :func:" +"`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python " +"runtime behavior, but it can be used by third-party type checkers. For " +"example, a type checker might flag the following code as an error::" +msgstr "" +":data:`ClassVar` сам по собі не є класом і не повинен використовуватися з :" +"func:`isinstance` або :func:`issubclass`. :data:`ClassVar` не змінює " +"поведінку Python під час виконання, але його можуть використовувати сторонні " +"засоби перевірки типу. Наприклад, засіб перевірки типу може позначити " +"наступний код як помилку:" + +msgid "" +"A special typing construct to indicate to type checkers that a name cannot " +"be re-assigned or overridden in a subclass. For example::" +msgstr "" +"Спеціальна конструкція типізації, яка вказує перевіряючим типам, що ім’я не " +"може бути повторно призначено або перевизначено в підкласі. Наприклад::" + +msgid "" +"There is no runtime checking of these properties. See :pep:`591` for more " +"details." +msgstr "" +"Немає жодної перевірки цих властивостей під час виконання. Дивіться :pep:" +"`591` для більш детальної інформації." + +msgid "" +"Special typing constructs that mark individual keys of a :class:`TypedDict` " +"as either required or non-required respectively." +msgstr "" + +msgid "See :class:`TypedDict` and :pep:`655` for more details." +msgstr "" + +msgid "" +"A type, introduced in :pep:`593` (``Flexible function and variable " +"annotations``), to decorate existing types with context-specific metadata " +"(possibly multiple pieces of it, as ``Annotated`` is variadic). " +"Specifically, a type ``T`` can be annotated with metadata ``x`` via the " +"typehint ``Annotated[T, x]``. This metadata can be used for either static " +"analysis or at runtime. If a library (or tool) encounters a typehint " +"``Annotated[T, x]`` and has no special logic for metadata ``x``, it should " +"ignore it and simply treat the type as ``T``. Unlike the ``no_type_check`` " +"functionality that currently exists in the ``typing`` module which " +"completely disables typechecking annotations on a function or a class, the " +"``Annotated`` type allows for both static typechecking of ``T`` (which can " +"safely ignore ``x``) together with runtime access to ``x`` within a specific " +"application." +msgstr "" +"Тип, представлений у :pep:`593` (``Гнучка функція та анотації змінних``), " +"щоб прикрасити існуючі типи контекстно-залежними метаданими (можливо, " +"кількома їх частинами, оскільки ``Анотований`` є варіативним). Зокрема, тип " +"``T`` може бути анотований метаданими ``x`` за допомогою підказки типу " +"``Annotated[T, x]``. Ці метадані можна використовувати для статичного " +"аналізу або під час виконання. Якщо бібліотека (або інструмент) зустрічає " +"підказку типу ``Annotated[T, x]`` і не має спеціальної логіки для метаданих " +"``x``, їй слід ігнорувати це та просто розглядати тип як ``T``. На відміну " +"від функціональності ``no_type_check``, яка наразі існує в модулі " +"``typing``, який повністю вимикає анотації перевірки типу для функції або " +"класу, тип ``Annotated`` дозволяє як статичну перевірку типу ``T`` ( який " +"може безпечно ігнорувати ``x``) разом із доступом під час виконання до ``x`` " +"у певній програмі." + +msgid "" +"Ultimately, the responsibility of how to interpret the annotations (if at " +"all) is the responsibility of the tool or library encountering the " +"``Annotated`` type. A tool or library encountering an ``Annotated`` type can " +"scan through the annotations to determine if they are of interest (e.g., " +"using ``isinstance()``)." +msgstr "" +"Зрештою, відповідальність за те, як інтерпретувати анотації (якщо взагалі " +"є), відповідає інструмент або бібліотека, які стикаються з типом " +"``Анотований``. Інструмент або бібліотека, які стикаються з типом " +"``Анотований``, можуть сканувати анотації, щоб визначити, чи представляють " +"вони інтерес (наприклад, за допомогою ``isinstance()``)." + +msgid "" +"When a tool or a library does not support annotations or encounters an " +"unknown annotation it should just ignore it and treat annotated type as the " +"underlying type." +msgstr "" +"Якщо інструмент або бібліотека не підтримує анотації або зустрічає невідому " +"анотацію, їм слід просто ігнорувати її та розглядати анотований тип як " +"базовий тип." + +msgid "" +"It's up to the tool consuming the annotations to decide whether the client " +"is allowed to have several annotations on one type and how to merge those " +"annotations." +msgstr "" +"Інструмент, який використовує анотації, вирішує, чи дозволено клієнту мати " +"кілька анотацій одного типу та як об’єднати ці анотації." + +msgid "" +"Since the ``Annotated`` type allows you to put several annotations of the " +"same (or different) type(s) on any node, the tools or libraries consuming " +"those annotations are in charge of dealing with potential duplicates. For " +"example, if you are doing value range analysis you might allow this::" +msgstr "" +"Оскільки тип ``Анотований`` дозволяє розміщувати кілька анотацій одного (або " +"іншого) типу на будь-якому вузлі, інструменти або бібліотеки, які " +"використовують ці анотації, відповідають за роботу з потенційними " +"дублікатами. Наприклад, якщо ви виконуєте аналіз діапазону значень, ви " +"можете дозволити це:" + +msgid "" +"Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " +"the extra annotations at runtime." +msgstr "" +"Передача ``include_extras=True`` до :func:`get_type_hints` дозволяє отримати " +"доступ до додаткових анотацій під час виконання." + +msgid "The details of the syntax:" +msgstr "Подробиці синтаксису:" + +msgid "The first argument to ``Annotated`` must be a valid type" +msgstr "Перший аргумент ``Анотований`` має бути дійсного типу" + +msgid "" +"Multiple type annotations are supported (``Annotated`` supports variadic " +"arguments)::" +msgstr "" +"Підтримуються анотації кількох типів (``Annotated`` підтримує різні " +"аргументи):" + +msgid "" +"``Annotated`` must be called with at least two arguments " +"( ``Annotated[int]`` is not valid)" +msgstr "" +"``Annotated`` потрібно викликати принаймні з двома аргументами " +"(``Annotated[int]`` недійсний)" + +msgid "" +"The order of the annotations is preserved and matters for equality checks::" +msgstr "Порядок анотацій зберігається і має значення для перевірки рівності:" + +msgid "" +"Nested ``Annotated`` types are flattened, with metadata ordered starting " +"with the innermost annotation::" +msgstr "" +"Вкладені ``Анотовані`` типи зведені, метадані впорядковані, починаючи з " +"внутрішньої анотації::" + +msgid "Duplicated annotations are not removed::" +msgstr "Дубльовані анотації не видаляються:" + +msgid "``Annotated`` can be used with nested and generic aliases::" +msgstr "" +"``Анотований`` можна використовувати з вкладеними та загальними псевдонімами:" + +msgid "" +"Special typing form used to annotate the return type of a user-defined type " +"guard function. ``TypeGuard`` only accepts a single type argument. At " +"runtime, functions marked this way should return a boolean." +msgstr "" +"Спеціальна форма введення, яка використовується для анотації типу повернення " +"визначеної користувачем функції захисту типу. ``TypeGuard`` приймає лише " +"один аргумент типу. Під час виконання функції, позначені таким чином, " +"повинні повертати логічне значення." + +msgid "" +"``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static " +"type checkers to determine a more precise type of an expression within a " +"program's code flow. Usually type narrowing is done by analyzing " +"conditional code flow and applying the narrowing to a block of code. The " +"conditional expression here is sometimes referred to as a \"type guard\"::" +msgstr "" +"``TypeGuard`` має на меті скористатися *звуженням типу* — технікою, яка " +"використовується засобами перевірки статичних типів для визначення більш " +"точного типу виразу в потоці коду програми. Зазвичай звуження типу " +"виконується шляхом аналізу умовного потоку коду та застосування звуження до " +"блоку коду. Умовний вираз тут іноді називають \"захисним типом\"::" + +msgid "" +"Sometimes it would be convenient to use a user-defined boolean function as a " +"type guard. Such a function should use ``TypeGuard[...]`` as its return " +"type to alert static type checkers to this intention." +msgstr "" +"Іноді було б зручно використовувати логічну функцію, визначену користувачем, " +"як захист типу. Така функція повинна використовувати ``TypeGuard[...]`` як " +"тип повернення, щоб попередити засоби перевірки статичних типів про цей " +"намір." + +msgid "" +"Using ``-> TypeGuard`` tells the static type checker that for a given " +"function:" +msgstr "" +"Використання ``-> TypeGuard`` повідомляє засобу перевірки статичного типу, " +"що для даної функції:" + +msgid "The return value is a boolean." +msgstr "Повернене значення є логічним." + +msgid "" +"If the return value is ``True``, the type of its argument is the type inside " +"``TypeGuard``." +msgstr "" +"Якщо повертається значення ``True``, тип його аргументу є типом у " +"``TypeGuard``." + +msgid "" +"If ``is_str_list`` is a class or instance method, then the type in " +"``TypeGuard`` maps to the type of the second parameter after ``cls`` or " +"``self``." +msgstr "" +"Якщо ``is_str_list`` є методом класу або екземпляра, тоді тип у " +"``TypeGuard`` відображає тип другого параметра після ``cls`` або ``self``." + +msgid "" +"In short, the form ``def foo(arg: TypeA) -> TypeGuard[TypeB]: ...``, means " +"that if ``foo(arg)`` returns ``True``, then ``arg`` narrows from ``TypeA`` " +"to ``TypeB``." +msgstr "" +"Коротше кажучи, форма ``def foo(arg: TypeA) -> TypeGuard[TypeB]: ...`` " +"означає, що якщо ``foo(arg)`` повертає ``True``, то ``arg`` звужується від " +"``TypeA`` до ``TypeB``." + +msgid "" +"``TypeB`` need not be a narrower form of ``TypeA`` -- it can even be a wider " +"form. The main reason is to allow for things like narrowing ``list[object]`` " +"to ``list[str]`` even though the latter is not a subtype of the former, " +"since ``list`` is invariant. The responsibility of writing type-safe type " +"guards is left to the user." +msgstr "" + +msgid "" +"``TypeGuard`` also works with type variables. See :pep:`647` for more " +"details." +msgstr "" + +msgid "Building generic types" +msgstr "Побудова загальних типів" + +msgid "" +"These are not used in annotations. They are building blocks for creating " +"generic types." +msgstr "" +"Вони не використовуються в анотаціях. Вони є будівельними блоками для " +"створення загальних типів." + +msgid "Abstract base class for generic types." +msgstr "Абстрактний базовий клас для загальних типів." + +msgid "" +"A generic type is typically declared by inheriting from an instantiation of " +"this class with one or more type variables. For example, a generic mapping " +"type might be defined as::" +msgstr "" +"Загальний тип зазвичай оголошується шляхом успадкування екземпляра цього " +"класу з однією або декількома змінними типу. Наприклад, загальний тип " +"відображення може бути визначений як:" + +msgid "This class can then be used as follows::" +msgstr "Потім цей клас можна використовувати наступним чином:" + +msgid "Type variable." +msgstr "Тип змінної." + +msgid "Usage::" +msgstr "Використання::" + +msgid "" +"Type variables exist primarily for the benefit of static type checkers. " +"They serve as the parameters for generic types as well as for generic " +"function definitions. See :class:`Generic` for more information on generic " +"types. Generic functions work as follows::" +msgstr "" +"Змінні типу існують, перш за все, на користь засобів перевірки статичних " +"типів. Вони служать параметрами для загальних типів, а також для визначення " +"загальних функцій. Перегляньте :class:`Generic` для отримання додаткової " +"інформації про загальні типи. Загальні функції працюють наступним чином:" + +msgid "" +"Note that type variables can be *bound*, *constrained*, or neither, but " +"cannot be both bound *and* constrained." +msgstr "" +"Зауважте, що змінні типу можуть бути *зв’язаними*, *обмеженими* або жодними " +"з них, але не можуть бути одночасно зв’язаними *і* обмеженими." + +msgid "" +"Bound type variables and constrained type variables have different semantics " +"in several important ways. Using a *bound* type variable means that the " +"``TypeVar`` will be solved using the most specific type possible::" +msgstr "" + +msgid "" +"Type variables can be bound to concrete types, abstract types (ABCs or " +"protocols), and even unions of types::" +msgstr "" +"Змінні типу можна прив’язувати до конкретних типів, абстрактних типів (ABC " +"або протоколів) і навіть об’єднань типів::" + +msgid "" +"Using a *constrained* type variable, however, means that the ``TypeVar`` can " +"only ever be solved as being exactly one of the constraints given::" +msgstr "" + +msgid "" +"At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" +"func:`isinstance` and :func:`issubclass` should not be used with types." +msgstr "" +"Під час виконання ``isinstance(x, T)`` викличе :exc:`TypeError`. Загалом, :" +"func:`isinstance` і :func:`issubclass` не слід використовувати з типами." + +msgid "" +"Type variables may be marked covariant or contravariant by passing " +"``covariant=True`` or ``contravariant=True``. See :pep:`484` for more " +"details. By default, type variables are invariant." +msgstr "" +"Змінні типу можна позначити коваріантними або контраваріантними шляхом " +"передачі ``covariant=True`` або ``contravariant=True``. Дивіться :pep:`484` " +"для більш детальної інформації. За замовчуванням змінні типу є інваріантними." + +msgid "" +"Type variable tuple. A specialized form of :class:`type variable ` " +"that enables *variadic* generics." +msgstr "" + +msgid "" +"A normal type variable enables parameterization with a single type. A type " +"variable tuple, in contrast, allows parameterization with an *arbitrary* " +"number of types by acting like an *arbitrary* number of type variables " +"wrapped in a tuple. For example::" +msgstr "" + +msgid "" +"Note the use of the unpacking operator ``*`` in ``tuple[T, *Ts]``. " +"Conceptually, you can think of ``Ts`` as a tuple of type variables ``(T1, " +"T2, ...)``. ``tuple[T, *Ts]`` would then become ``tuple[T, *(T1, " +"T2, ...)]``, which is equivalent to ``tuple[T, T1, T2, ...]``. (Note that in " +"older versions of Python, you might see this written using :data:`Unpack " +"` instead, as ``Unpack[Ts]``.)" +msgstr "" + +msgid "" +"Type variable tuples must *always* be unpacked. This helps distinguish type " +"variable types from normal type variables::" +msgstr "" + +msgid "" +"Type variable tuples can be used in the same contexts as normal type " +"variables. For example, in class definitions, arguments, and return types::" +msgstr "" + +msgid "" +"Type variable tuples can be happily combined with normal type variables::" +msgstr "" + +msgid "" +"However, note that at most one type variable tuple may appear in a single " +"list of type arguments or type parameters::" +msgstr "" + +msgid "" +"Finally, an unpacked type variable tuple can be used as the type annotation " +"of ``*args``::" +msgstr "" + +msgid "" +"In contrast to non-unpacked annotations of ``*args`` - e.g. ``*args: int``, " +"which would specify that *all* arguments are ``int`` - ``*args: *Ts`` " +"enables reference to the types of the *individual* arguments in ``*args``. " +"Here, this allows us to ensure the types of the ``*args`` passed to " +"``call_soon`` match the types of the (positional) arguments of ``callback``." +msgstr "" + +msgid "See :pep:`646` for more details on type variable tuples." +msgstr "" + +msgid "" +"A typing operator that conceptually marks an object as having been unpacked. " +"For example, using the unpack operator ``*`` on a :class:`type variable " +"tuple ` is equivalent to using ``Unpack`` to mark the type " +"variable tuple as having been unpacked::" +msgstr "" + +msgid "" +"In fact, ``Unpack`` can be used interchangeably with ``*`` in the context of " +"types. You might see ``Unpack`` being used explicitly in older versions of " +"Python, where ``*`` couldn't be used in certain places::" +msgstr "" + +msgid "" +"Parameter specification variable. A specialized version of :class:`type " +"variables `." +msgstr "" +"Змінна специфікації параметра. Спеціалізована версія :class:`типу змінних " +"`." + +msgid "" +"Parameter specification variables exist primarily for the benefit of static " +"type checkers. They are used to forward the parameter types of one callable " +"to another callable -- a pattern commonly found in higher order functions " +"and decorators. They are only valid when used in ``Concatenate``, or as the " +"first argument to ``Callable``, or as parameters for user-defined Generics. " +"See :class:`Generic` for more information on generic types." +msgstr "" +"Змінні специфікації параметрів існують насамперед для використання засобів " +"перевірки статичних типів. Вони використовуються для пересилання типів " +"параметрів одного викликаного до іншого викликаного — шаблон, який зазвичай " +"зустрічається у функціях вищого порядку та декораторах. Вони дійсні лише " +"тоді, коли використовуються в ``Concatenate``, або як перший аргумент " +"``Callable``, або як параметри для визначених користувачем Generics. " +"Перегляньте :class:`Generic` для отримання додаткової інформації про " +"загальні типи." + +msgid "" +"For example, to add basic logging to a function, one can create a decorator " +"``add_logging`` to log function calls. The parameter specification variable " +"tells the type checker that the callable passed into the decorator and the " +"new callable returned by it have inter-dependent type parameters::" +msgstr "" +"Наприклад, щоб додати базове журналювання до функції, можна створити " +"декоратор ``add_logging`` для журналювання викликів функцій. Змінна " +"специфікації параметра повідомляє перевіряльнику типу, що викликаний, " +"переданий декоратору, і новий викликаний, повернутий ним, мають " +"взаємозалежні параметри типу:" + +msgid "" +"Without ``ParamSpec``, the simplest way to annotate this previously was to " +"use a :class:`TypeVar` with bound ``Callable[..., Any]``. However this " +"causes two problems:" +msgstr "" +"Без ``ParamSpec`` найпростішим способом анотації цього раніше було " +"використання :class:`TypeVar` із прив’язкою ``Callable[..., Any]``. Однак це " +"викликає дві проблеми:" + +msgid "" +"The type checker can't type check the ``inner`` function because ``*args`` " +"and ``**kwargs`` have to be typed :data:`Any`." +msgstr "" +"Перевірка типу не може перевірити тип функції ``inner``, тому що ``*args`` і " +"``**kwargs`` мають бути введені :data:`Any`." + +msgid "" +":func:`~cast` may be required in the body of the ``add_logging`` decorator " +"when returning the ``inner`` function, or the static type checker must be " +"told to ignore the ``return inner``." +msgstr "" +":func:`~cast` може знадобитися в тілі декоратора ``add_logging`` під час " +"повернення функції ``inner``, або засіб перевірки статичного типу повинен " +"ігнорувати ``return inner``." + +msgid "" +"Since ``ParamSpec`` captures both positional and keyword parameters, ``P." +"args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its " +"components. ``P.args`` represents the tuple of positional parameters in a " +"given call and should only be used to annotate ``*args``. ``P.kwargs`` " +"represents the mapping of keyword parameters to their values in a given " +"call, and should be only be used to annotate ``**kwargs``. Both attributes " +"require the annotated parameter to be in scope. At runtime, ``P.args`` and " +"``P.kwargs`` are instances respectively of :class:`ParamSpecArgs` and :class:" +"`ParamSpecKwargs`." +msgstr "" +"Оскільки ``ParamSpec`` фіксує як позиційні параметри, так і параметри " +"ключових слів, ``P.args`` і ``P.kwargs`` можна використовувати для поділу " +"``ParamSpec`` на його компоненти. ``P.args`` представляє кортеж позиційних " +"параметрів у заданому виклику, і його слід використовувати лише для анотації " +"``*args``. ``P.kwargs`` представляє зіставлення параметрів ключового слова з " +"їхніми значеннями в заданому виклику, і його слід використовувати лише для " +"анотації ``**kwargs``. Обидва атрибути вимагають, щоб анотований параметр " +"був у межах. Під час виконання ``P.args`` і ``P.kwargs`` є екземплярами " +"відповідно :class:`ParamSpecArgs` і :class:`ParamSpecKwargs`." + +msgid "" +"Parameter specification variables created with ``covariant=True`` or " +"``contravariant=True`` can be used to declare covariant or contravariant " +"generic types. The ``bound`` argument is also accepted, similar to :class:" +"`TypeVar`. However the actual semantics of these keywords are yet to be " +"decided." +msgstr "" +"Змінні специфікації параметрів, створені за допомогою ``covariant=True`` або " +"``contravariant=True``, можна використовувати для оголошення коваріантних " +"або контраваріантних загальних типів. Аргумент ``bound`` також приймається, " +"подібно до :class:`TypeVar`. Однак фактичну семантику цих ключових слів ще " +"належить визначити." + +msgid "" +"Only parameter specification variables defined in global scope can be " +"pickled." +msgstr "" +"Вибирати можна лише змінні специфікації параметрів, визначені в глобальній " +"області видимості." + +msgid ":class:`Callable` and :class:`Concatenate`." +msgstr ":class:`Callable` і :class:`Concatenate`." + +msgid "" +"Arguments and keyword arguments attributes of a :class:`ParamSpec`. The ``P." +"args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``, and " +"``P.kwargs`` is an instance of ``ParamSpecKwargs``. They are intended for " +"runtime introspection and have no special meaning to static type checkers." +msgstr "" +"Аргументи та атрибути ключових аргументів :class:`ParamSpec`. Атрибут ``P." +"args`` ``ParamSpec`` є екземпляром ``ParamSpecArgs``, а ``P.kwargs`` є " +"екземпляром ``ParamSpecKwargs``. Вони призначені для інтроспекції під час " +"виконання і не мають особливого значення для перевірки статичних типів." + +msgid "" +"Calling :func:`get_origin` on either of these objects will return the " +"original ``ParamSpec``::" +msgstr "" +"Виклик :func:`get_origin` для будь-якого з цих об’єктів поверне оригінальний " +"``ParamSpec``::" + +msgid "" +"``AnyStr`` is a :class:`constrained type variable ` defined as " +"``AnyStr = TypeVar('AnyStr', str, bytes)``." +msgstr "" +"``AnyStr`` — це :class:`обмежена змінна типу `, визначена як " +"``AnyStr = TypeVar('AnyStr', str, bytes)``." + +msgid "" +"It is meant to be used for functions that may accept any kind of string " +"without allowing different kinds of strings to mix. For example::" +msgstr "" +"Він призначений для використання для функцій, які можуть приймати будь-які " +"типи рядків, не допускаючи змішування різних типів рядків. Наприклад::" + +msgid "" +"Base class for protocol classes. Protocol classes are defined like this::" +msgstr "Базовий клас для класів протоколу. Класи протоколів визначаються так:" + +msgid "" +"Such classes are primarily used with static type checkers that recognize " +"structural subtyping (static duck-typing), for example::" +msgstr "" +"Такі класи в основному використовуються із засобами перевірки статичних " +"типів, які розпізнають структурні підтипи (статичне типування), наприклад:" + +msgid "" +"See :pep:`544` for more details. Protocol classes decorated with :func:" +"`runtime_checkable` (described later) act as simple-minded runtime protocols " +"that check only the presence of given attributes, ignoring their type " +"signatures." +msgstr "" + +msgid "Protocol classes can be generic, for example::" +msgstr "Класи протоколів можуть бути загальними, наприклад:" + +msgid "Mark a protocol class as a runtime protocol." +msgstr "Позначте клас протоколу як протокол виконання." + +msgid "" +"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " +"This raises :exc:`TypeError` when applied to a non-protocol class. This " +"allows a simple-minded structural check, very similar to \"one trick ponies" +"\" in :mod:`collections.abc` such as :class:`~collections.abc.Iterable`. " +"For example::" +msgstr "" +"Такий протокол можна використовувати з :func:`isinstance` і :func:" +"`issubclass`. Це викликає :exc:`TypeError`, коли застосовується до " +"непротокольного класу. Це дозволяє здійснити просту структурну перевірку, " +"дуже схожу на \"поні з одним трюком\" у :mod:`collections.abc`, наприклад :" +"class:`~collections.abc.Iterable`. Наприклад::" + +msgid "" +":func:`runtime_checkable` will check only the presence of the required " +"methods, not their type signatures. For example, :class:`ssl.SSLObject` is a " +"class, therefore it passes an :func:`issubclass` check against :data:" +"`Callable`. However, the :meth:`ssl.SSLObject.__init__` method exists only " +"to raise a :exc:`TypeError` with a more informative message, therefore " +"making it impossible to call (instantiate) :class:`ssl.SSLObject`." +msgstr "" +":func:`runtime_checkable` перевірятиме лише наявність необхідних методів, а " +"не їхні сигнатури типів. Наприклад, :class:`ssl.SSLObject` є класом, тому " +"він проходить перевірку :func:`issubclass` на :data:`Callable`. Однак метод :" +"meth:`ssl.SSLObject.__init__` існує лише для того, щоб викликати :exc:" +"`TypeError` з більш інформативним повідомленням, отже, унеможливлюючи виклик " +"(інстанціювання) :class:`ssl.SSLObject`." + +msgid "Other special directives" +msgstr "Інші спеціальні директиви" + +msgid "" +"These are not used in annotations. They are building blocks for declaring " +"types." +msgstr "" +"Вони не використовуються в анотаціях. Вони є будівельними блоками для " +"оголошення типів." + +msgid "Typed version of :func:`collections.namedtuple`." +msgstr "Введена версія :func:`collections.namedtuple`." + +msgid "This is equivalent to::" +msgstr "Це еквівалентно::" + +msgid "" +"To give a field a default value, you can assign to it in the class body::" +msgstr "" +"Щоб надати полю значення за замовчуванням, ви можете призначити йому в тілі " +"класу::" + +msgid "" +"Fields with a default value must come after any fields without a default." +msgstr "" +"Поля зі значенням за замовчуванням мають бути після будь-яких полів без " +"значення за замовчуванням." + +msgid "" +"The resulting class has an extra attribute ``__annotations__`` giving a dict " +"that maps the field names to the field types. (The field names are in the " +"``_fields`` attribute and the default values are in the ``_field_defaults`` " +"attribute, both of which are part of the :func:`~collections.namedtuple` " +"API.)" +msgstr "" +"Отриманий клас має додатковий атрибут ``__annotations__``, що дає диктофон, " +"який зіставляє назви полів із типами полів. (Імена полів містяться в " +"атрибуті ``_fields``, а значення за замовчуванням — в атрибуті " +"``_field_defaults``, обидва з яких є частиною API :func:`~collections." +"namedtuple`.)" + +msgid "``NamedTuple`` subclasses can also have docstrings and methods::" +msgstr "" +"Підкласи ``NamedTuple`` також можуть мати рядки документації та методи:" + +msgid "``NamedTuple`` subclasses can be generic::" +msgstr "" + +msgid "Backward-compatible usage::" +msgstr "Зворотно сумісне використання::" + +msgid "Added support for :pep:`526` variable annotation syntax." +msgstr "Додано підтримку синтаксису анотації змінної :pep:`526`." + +msgid "Added support for default values, methods, and docstrings." +msgstr "Додано підтримку стандартних значень, методів і рядків документів." + +msgid "" +"The ``_field_types`` and ``__annotations__`` attributes are now regular " +"dictionaries instead of instances of ``OrderedDict``." +msgstr "" +"Атрибути ``_field_types`` і ``__annotations__`` тепер є звичайними " +"словниками замість екземплярів ``OrderedDict``." + +msgid "" +"Removed the ``_field_types`` attribute in favor of the more standard " +"``__annotations__`` attribute which has the same information." +msgstr "" +"Видалено атрибут ``_field_types`` на користь стандартнішого атрибута " +"``__annotations__``, який містить ту саму інформацію." + +msgid "Added support for generic namedtuples." +msgstr "" + +msgid "" +"A helper class to indicate a distinct type to a typechecker, see :ref:" +"`distinct`. At runtime it returns an object that returns its argument when " +"called. Usage::" +msgstr "" +"Допоміжний клас для вказівки окремого типу для перевірки типів див. :ref:" +"`distinct`. Під час виконання він повертає об’єкт, який повертає свій " +"аргумент під час виклику. Використання::" + +msgid "``NewType`` is now a class rather than a function." +msgstr "``NewType`` тепер є класом, а не функцією." + +msgid "" +"Special construct to add type hints to a dictionary. At runtime it is a " +"plain :class:`dict`." +msgstr "" +"Спеціальна конструкція для додавання підказок типу до словника. Під час " +"виконання це звичайний :class:`dict`." + +msgid "" +"``TypedDict`` declares a dictionary type that expects all of its instances " +"to have a certain set of keys, where each key is associated with a value of " +"a consistent type. This expectation is not checked at runtime but is only " +"enforced by type checkers. Usage::" +msgstr "" +"``TypedDict`` оголошує тип словника, який очікує, що всі його екземпляри " +"матимуть певний набір ключів, де кожен ключ пов’язаний зі значенням " +"узгодженого типу. Це очікування не перевіряється під час виконання, а " +"виконується лише засобами перевірки типів. Використання::" + +msgid "" +"To allow using this feature with older versions of Python that do not " +"support :pep:`526`, ``TypedDict`` supports two additional equivalent " +"syntactic forms:" +msgstr "" + +msgid "Using a literal :class:`dict` as the second argument::" +msgstr "" + +msgid "Using keyword arguments::" +msgstr "" + +msgid "" +"The keyword-argument syntax is deprecated in 3.11 and will be removed in " +"3.13. It may also be unsupported by static type checkers." +msgstr "" + +msgid "" +"The functional syntax should also be used when any of the keys are not " +"valid :ref:`identifiers `, for example because they are " +"keywords or contain hyphens. Example::" +msgstr "" +"Функціональний синтаксис також слід використовувати, коли будь-який із " +"ключів недійсний :ref:`identifiers `, наприклад тому, що він є " +"ключовим словом або містить дефіс. Приклад::" + +msgid "" +"By default, all keys must be present in a ``TypedDict``. It is possible to " +"mark individual keys as non-required using :data:`NotRequired`::" +msgstr "" + +msgid "" +"This means that a ``Point2D`` ``TypedDict`` can have the ``label`` key " +"omitted." +msgstr "" + +msgid "" +"It is also possible to mark all keys as non-required by default by " +"specifying a totality of ``False``::" +msgstr "" + +msgid "" +"This means that a ``Point2D`` ``TypedDict`` can have any of the keys " +"omitted. A type checker is only expected to support a literal ``False`` or " +"``True`` as the value of the ``total`` argument. ``True`` is the default, " +"and makes all items defined in the class body required." +msgstr "" +"Це означає, що в ``Point2D`` ``TypedDict`` може бути пропущений будь-який із " +"ключів. Очікується, що засіб перевірки типів підтримуватиме лише літерали " +"``False`` або ``True`` як значення аргументу ``total``. ``True`` є типовим і " +"робить обов’язковими всі елементи, визначені в тілі класу." + +msgid "" +"Individual keys of a ``total=False`` ``TypedDict`` can be marked as required " +"using :data:`Required`::" +msgstr "" + +msgid "" +"It is possible for a ``TypedDict`` type to inherit from one or more other " +"``TypedDict`` types using the class-based syntax. Usage::" +msgstr "" +"Тип ``TypedDict`` може успадкувати від одного або кількох інших типів " +"``TypedDict`` за допомогою синтаксису на основі класу. Використання::" + +msgid "" +"``Point3D`` has three items: ``x``, ``y`` and ``z``. It is equivalent to " +"this definition::" +msgstr "" +"``Point3D`` має три елементи: ``x``, ``y`` і ``z``. Це еквівалентно цьому " +"визначенню::" + +msgid "" +"A ``TypedDict`` cannot inherit from a non-\\ ``TypedDict`` class, except " +"for :class:`Generic`. For example::" +msgstr "" + +msgid "A ``TypedDict`` can be generic::" +msgstr "" + +msgid "" +"A ``TypedDict`` can be introspected via annotations dicts (see :ref:" +"`annotations-howto` for more information on annotations best practices), :" +"attr:`__total__`, :attr:`__required_keys__`, and :attr:`__optional_keys__`." +msgstr "" +"``TypedDict`` можна інтроспективно за допомогою dicts анотацій (перегляньте :" +"ref:`annotations-howto` для отримання додаткової інформації про найкращі " +"практики анотацій), :attr:`__total__`, :attr:`__required_keys__` та :attr:" +"`__додаткові_ключі__`." + +msgid "" +"``Point2D.__total__`` gives the value of the ``total`` argument. Example::" +msgstr "``Point2D.__total__`` надає значення аргументу ``total``. Приклад::" + +msgid "" +"``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` return :" +"class:`frozenset` objects containing required and non-required keys, " +"respectively." +msgstr "" + +msgid "" +"Keys marked with :data:`Required` will always appear in " +"``__required_keys__`` and keys marked with :data:`NotRequired` will always " +"appear in ``__optional_keys__``." +msgstr "" + +msgid "" +"For backwards compatibility with Python 3.10 and below, it is also possible " +"to use inheritance to declare both required and non-required keys in the " +"same ``TypedDict`` . This is done by declaring a ``TypedDict`` with one " +"value for the ``total`` argument and then inheriting from it in another " +"``TypedDict`` with a different value for ``total``::" +msgstr "" + +msgid "" +"See :pep:`589` for more examples and detailed rules of using ``TypedDict``." +msgstr "" +"Перегляньте :pep:`589` більше прикладів і детальних правил використання " +"``TypedDict``." + +msgid "" +"Added support for marking individual keys as :data:`Required` or :data:" +"`NotRequired`. See :pep:`655`." +msgstr "" + +msgid "Added support for generic ``TypedDict``\\ s." +msgstr "" + +msgid "Generic concrete collections" +msgstr "Типові бетонні колекції" + +msgid "Corresponding to built-in types" +msgstr "Відповідає вбудованим типам" + +msgid "" +"A generic version of :class:`dict`. Useful for annotating return types. To " +"annotate arguments it is preferred to use an abstract collection type such " +"as :class:`Mapping`." +msgstr "" +"Загальна версія :class:`dict`. Корисно для анотування типів повернення. Щоб " +"анотувати аргументи, бажано використовувати абстрактний тип колекції, такий " +"як :class:`Mapping`." + +msgid "This type can be used as follows::" +msgstr "Цей тип можна використовувати наступним чином:" + +msgid "" +":class:`builtins.dict ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"Generic version of :class:`list`. Useful for annotating return types. To " +"annotate arguments it is preferred to use an abstract collection type such " +"as :class:`Sequence` or :class:`Iterable`." +msgstr "" +"Загальна версія :class:`list`. Корисно для анотування типів повернення. Щоб " +"анотувати аргументи, бажано використовувати абстрактний тип колекції, " +"наприклад :class:`Sequence` або :class:`Iterable`." + +msgid "This type may be used as follows::" +msgstr "Цей тип можна використовувати наступним чином:" + +msgid "" +":class:`builtins.list ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"A generic version of :class:`builtins.set `. Useful for annotating " +"return types. To annotate arguments it is preferred to use an abstract " +"collection type such as :class:`AbstractSet`." +msgstr "" +"Загальна версія :class:`builtins.set `. Корисно для анотування типів " +"повернення. Щоб анотувати аргументи, бажано використовувати абстрактний тип " +"колекції, такий як :class:`AbstractSet`." + +msgid "" +":class:`builtins.set ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`builtins.frozenset `." +msgstr "Загальна версія :class:`builtins.frozenset `." + +msgid "" +":class:`builtins.frozenset ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid ":data:`Tuple` is a special form." +msgstr ":data:`Tuple` — це спеціальна форма." + +msgid "Corresponding to types in :mod:`collections`" +msgstr "Відповідає типам у :mod:`collections`" + +msgid "A generic version of :class:`collections.defaultdict`." +msgstr "Загальна версія :class:`collections.defaultdict`." + +msgid "" +":class:`collections.defaultdict` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.OrderedDict`." +msgstr "Загальна версія :class:`collections.OrderedDict`." + +msgid "" +":class:`collections.OrderedDict` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.ChainMap`." +msgstr "Загальна версія :class:`collections.ChainMap`." + +msgid "" +":class:`collections.ChainMap` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.Counter`." +msgstr "Загальна версія :class:`collections.Counter`." + +msgid "" +":class:`collections.Counter` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.deque`." +msgstr "Загальна версія :class:`collections.deque`." + +msgid "" +":class:`collections.deque` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "Other concrete types" +msgstr "Інші види бетону" + +msgid "" +"Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " +"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned " +"by :func:`open`." +msgstr "" +"Загальний тип ``IO[AnyStr]`` і його підкласи ``TextIO(IO[str])`` і " +"``BinaryIO(IO[bytes])`` представляють типи потоків вводу/виводу, такі як " +"повертаються :func:`open`." + +msgid "" +"The ``typing.io`` namespace is deprecated and will be removed. These types " +"should be directly imported from ``typing`` instead." +msgstr "" +"Простір імен ``typing.io`` застаріло та буде видалено. Натомість ці типи " +"слід імпортувати безпосередньо з ``typing``." + +msgid "" +"These type aliases correspond to the return types from :func:`re.compile` " +"and :func:`re.match`. These types (and the corresponding functions) are " +"generic in ``AnyStr`` and can be made specific by writing ``Pattern[str]``, " +"``Pattern[bytes]``, ``Match[str]``, or ``Match[bytes]``." +msgstr "" +"Ці псевдоніми типів відповідають типам повернення з :func:`re.compile` і :" +"func:`re.match`. Ці типи (і відповідні функції) є загальними в ``AnyStr`` і " +"можуть бути специфічними, написавши ``Pattern[str]``, ``Pattern[bytes]``, " +"``Match[str]``, або ``Збіг [байтів]``." + +msgid "" +"The ``typing.re`` namespace is deprecated and will be removed. These types " +"should be directly imported from ``typing`` instead." +msgstr "" +"Простір імен ``typing.re`` застаріло та буде видалено. Натомість ці типи " +"слід імпортувати безпосередньо з ``typing``." + +msgid "" +"Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" +"Класи ``Pattern`` і ``Match`` від :mod:`re` тепер підтримують ``[]``. Див. :" +"pep:`585` і :ref:`types-genericalias`." + +msgid "" +"``Text`` is an alias for ``str``. It is provided to supply a forward " +"compatible path for Python 2 code: in Python 2, ``Text`` is an alias for " +"``unicode``." +msgstr "" +"``Текст`` є псевдонімом для ``str``. Він надається для надання прямого " +"сумісного шляху для коду Python 2: у Python 2 \"Текст\" є псевдонімом для " +"\"юнікоду\"." + +msgid "" +"Use ``Text`` to indicate that a value must contain a unicode string in a " +"manner that is compatible with both Python 2 and Python 3::" +msgstr "" +"Використовуйте ``Текст``, щоб вказати, що значення має містити рядок Юнікод " +"у спосіб, сумісний як з Python 2, так і з Python 3::" + +msgid "" +"Python 2 is no longer supported, and most type checkers also no longer " +"support type checking Python 2 code. Removal of the alias is not currently " +"planned, but users are encouraged to use :class:`str` instead of ``Text`` " +"wherever possible." +msgstr "" + +msgid "Abstract Base Classes" +msgstr "Абстрактні базові класи" + +msgid "Corresponding to collections in :mod:`collections.abc`" +msgstr "Відповідає колекціям у :mod:`collections.abc`" + +msgid "A generic version of :class:`collections.abc.Set`." +msgstr "Загальна версія :class:`collections.abc.Set`." + +msgid "" +":class:`collections.abc.Set` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.ByteString`." +msgstr "Загальна версія :class:`collections.abc.ByteString`." + +msgid "" +"This type represents the types :class:`bytes`, :class:`bytearray`, and :" +"class:`memoryview` of byte sequences." +msgstr "" +"Цей тип представляє типи :class:`bytes`, :class:`bytearray` і :class:" +"`memoryview` послідовностей байтів." + +msgid "" +"As a shorthand for this type, :class:`bytes` can be used to annotate " +"arguments of any of the types mentioned above." +msgstr "" +"Як скорочення для цього типу, :class:`bytes` можна використовувати для " +"анотації аргументів будь-якого типу, згаданого вище." + +msgid "" +":class:`collections.abc.ByteString` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.Collection`" +msgstr "Загальна версія :class:`collections.abc.Collection`" + +msgid "" +":class:`collections.abc.Collection` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.Container`." +msgstr "Загальна версія :class:`collections.abc.Container`." + +msgid "" +":class:`collections.abc.Container` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.ItemsView`." +msgstr "Загальна версія :class:`collections.abc.ItemsView`." + +msgid "" +":class:`collections.abc.ItemsView` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.KeysView`." +msgstr "Загальна версія :class:`collections.abc.KeysView`." + +msgid "" +":class:`collections.abc.KeysView` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"A generic version of :class:`collections.abc.Mapping`. This type can be used " +"as follows::" +msgstr "" +"Загальна версія :class:`collections.abc.Mapping`. Цей тип можна " +"використовувати наступним чином:" + +msgid "" +":class:`collections.abc.Mapping` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.MappingView`." +msgstr "Загальна версія :class:`collections.abc.MappingView`." + +msgid "" +":class:`collections.abc.MappingView` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.MutableMapping`." +msgstr "Загальна версія :class:`collections.abc.MutableMapping`." + +msgid "" +":class:`collections.abc.MutableMapping` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.MutableSequence`." +msgstr "Загальна версія :class:`collections.abc.MutableSequence`." + +msgid "" +":class:`collections.abc.MutableSequence` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.MutableSet`." +msgstr "Загальна версія :class:`collections.abc.MutableSet`." + +msgid "" +":class:`collections.abc.MutableSet` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.Sequence`." +msgstr "Загальна версія :class:`collections.abc.Sequence`." + +msgid "" +":class:`collections.abc.Sequence` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.ValuesView`." +msgstr "Загальна версія :class:`collections.abc.ValuesView`." + +msgid "" +":class:`collections.abc.ValuesView` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "Corresponding to other types in :mod:`collections.abc`" +msgstr "Відповідає іншим типам у :mod:`collections.abc`" + +msgid "A generic version of :class:`collections.abc.Iterable`." +msgstr "Загальна версія :class:`collections.abc.Iterable`." + +msgid "" +":class:`collections.abc.Iterable` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.Iterator`." +msgstr "Загальна версія :class:`collections.abc.Iterator`." + +msgid "" +":class:`collections.abc.Iterator` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"A generator can be annotated by the generic type ``Generator[YieldType, " +"SendType, ReturnType]``. For example::" +msgstr "" +"Генератор може бути анотований загальним типом ``Generator[YieldType, " +"SendType, ReturnType]``. Наприклад::" + +msgid "" +"Note that unlike many other generics in the typing module, the ``SendType`` " +"of :class:`Generator` behaves contravariantly, not covariantly or " +"invariantly." +msgstr "" +"Зауважте, що на відміну від багатьох інших загальних засобів у модулі " +"введення, ``SendType`` :class:`Generator` поводиться контраваріантно, а не " +"коваріантно чи інваріантно." + +msgid "" +"If your generator will only yield values, set the ``SendType`` and " +"``ReturnType`` to ``None``::" +msgstr "" +"Якщо ваш генератор видаватиме лише значення, встановіть для ``SendType`` і " +"``ReturnType`` значення ``None``::" + +msgid "" +"Alternatively, annotate your generator as having a return type of either " +"``Iterable[YieldType]`` or ``Iterator[YieldType]``::" +msgstr "" +"Крім того, позначте свій генератор як такий, що має тип повернення " +"``Iterable[YieldType]`` або ``Iterator[YieldType]``::" + +msgid "" +":class:`collections.abc.Generator` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "An alias to :class:`collections.abc.Hashable`." +msgstr "Псевдонім :class:`collections.abc.Hashable`." + +msgid "A generic version of :class:`collections.abc.Reversible`." +msgstr "Загальна версія :class:`collections.abc.Reversible`." + +msgid "" +":class:`collections.abc.Reversible` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "An alias to :class:`collections.abc.Sized`." +msgstr "Псевдонім :class:`collections.abc.Sized`." + +msgid "Asynchronous programming" +msgstr "Асинхронне програмування" + +msgid "" +"A generic version of :class:`collections.abc.Coroutine`. The variance and " +"order of type variables correspond to those of :class:`Generator`, for " +"example::" +msgstr "" +"Загальна версія :class:`collections.abc.Coroutine`. Дисперсія та порядок " +"змінних типу відповідають змінним :class:`Generator`, наприклад::" + +msgid "" +":class:`collections.abc.Coroutine` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "" +"An async generator can be annotated by the generic type " +"``AsyncGenerator[YieldType, SendType]``. For example::" +msgstr "" +"Асинхронний генератор може бути анотований загальним типом " +"``AsyncGenerator[YieldType, SendType]``. Наприклад::" + +msgid "" +"Unlike normal generators, async generators cannot return a value, so there " +"is no ``ReturnType`` type parameter. As with :class:`Generator`, the " +"``SendType`` behaves contravariantly." +msgstr "" +"На відміну від звичайних генераторів, асинхронні генератори не можуть " +"повертати значення, тому немає параметра типу ``ReturnType``. Як і :class:" +"`Generator`, ``SendType`` поводиться протилежно." + +msgid "" +"If your generator will only yield values, set the ``SendType`` to ``None``::" +msgstr "" +"Якщо ваш генератор видаватиме лише значення, встановіть для ``SendType`` " +"значення ``None``::" + +msgid "" +"Alternatively, annotate your generator as having a return type of either " +"``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" +msgstr "" +"Крім того, позначте свій генератор як такий, що має тип повернення " +"``AsyncIterable[YieldType]`` або ``AsyncIterator[YieldType]``::" + +msgid "" +":class:`collections.abc.AsyncGenerator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.AsyncIterable`." +msgstr "Загальна версія :class:`collections.abc.AsyncIterable`." + +msgid "" +":class:`collections.abc.AsyncIterable` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.AsyncIterator`." +msgstr "Загальна версія :class:`collections.abc.AsyncIterator`." + +msgid "" +":class:`collections.abc.AsyncIterator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`collections.abc.Awaitable`." +msgstr "Загальна версія :class:`collections.abc.Awaitable`." + +msgid "" +":class:`collections.abc.Awaitable` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "Context manager types" +msgstr "Типи контекстного менеджера" + +msgid "A generic version of :class:`contextlib.AbstractContextManager`." +msgstr "Загальна версія :class:`contextlib.AbstractContextManager`." + +msgid "" +":class:`contextlib.AbstractContextManager` now supports subscripting " +"(``[]``). See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." +msgstr "Загальна версія :class:`contextlib.AbstractAsyncContextManager`." + +msgid "" +":class:`contextlib.AbstractAsyncContextManager` now supports subscripting " +"(``[]``). See :pep:`585` and :ref:`types-genericalias`." +msgstr "" + +msgid "Protocols" +msgstr "Протоколи" + +msgid "These protocols are decorated with :func:`runtime_checkable`." +msgstr "Ці протоколи прикрашені :func:`runtime_checkable`." + +msgid "" +"An ABC with one abstract method ``__abs__`` that is covariant in its return " +"type." +msgstr "" +"ABC з одним абстрактним методом ``__abs__``, який є коваріантним у своєму " +"типі повернення." + +msgid "An ABC with one abstract method ``__bytes__``." +msgstr "ABC з одним абстрактним методом ``__bytes__``." + +msgid "An ABC with one abstract method ``__complex__``." +msgstr "ABC з одним абстрактним методом ``__complex__``." + +msgid "An ABC with one abstract method ``__float__``." +msgstr "ABC з одним абстрактним методом ``__float__``." + +msgid "An ABC with one abstract method ``__index__``." +msgstr "ABC з одним абстрактним методом ``__index__``." + +msgid "An ABC with one abstract method ``__int__``." +msgstr "ABC з одним абстрактним методом ``__int__``." + +msgid "" +"An ABC with one abstract method ``__round__`` that is covariant in its " +"return type." +msgstr "" +"ABC з одним абстрактним методом ``__round__``, який є коваріантним у своєму " +"типі повернення." + +msgid "Functions and decorators" +msgstr "Функції та декоратори" + +msgid "Cast a value to a type." +msgstr "Приведення значення до типу." + +msgid "" +"This returns the value unchanged. To the type checker this signals that the " +"return value has the designated type, but at runtime we intentionally don't " +"check anything (we want this to be as fast as possible)." +msgstr "" +"Це повертає значення без змін. Для засобу перевірки типів це означає, що " +"значення, що повертається, має визначений тип, але під час виконання ми " +"навмисно нічого не перевіряємо (ми хочемо, щоб це було якомога швидше)." + +msgid "" +"Ask a static type checker to confirm that *val* has an inferred type of " +"*typ*." +msgstr "" + +msgid "" +"When the type checker encounters a call to ``assert_type()``, it emits an " +"error if the value is not of the specified type::" +msgstr "" + +msgid "" +"At runtime this returns the first argument unchanged with no side effects." +msgstr "" + +msgid "" +"This function is useful for ensuring the type checker's understanding of a " +"script is in line with the developer's intentions::" +msgstr "" + +msgid "" +"Ask a static type checker to confirm that a line of code is unreachable." +msgstr "" + +msgid "" +"Here, the annotations allow the type checker to infer that the last case can " +"never execute, because ``arg`` is either an :class:`int` or a :class:`str`, " +"and both options are covered by earlier cases. If a type checker finds that " +"a call to ``assert_never()`` is reachable, it will emit an error. For " +"example, if the type annotation for ``arg`` was instead ``int | str | " +"float``, the type checker would emit an error pointing out that " +"``unreachable`` is of type :class:`float`. For a call to ``assert_never`` to " +"pass type checking, the inferred type of the argument passed in must be the " +"bottom type, :data:`Never`, and nothing else." +msgstr "" + +msgid "At runtime, this throws an exception when called." +msgstr "" + +msgid "" +"`Unreachable Code and Exhaustiveness Checking `__ has more information about " +"exhaustiveness checking with static typing." +msgstr "" + +msgid "Reveal the inferred static type of an expression." +msgstr "" + +msgid "" +"When a static type checker encounters a call to this function, it emits a " +"diagnostic with the type of the argument. For example::" +msgstr "" + +msgid "" +"This can be useful when you want to debug how your type checker handles a " +"particular piece of code." +msgstr "" + +msgid "" +"The function returns its argument unchanged, which allows using it within an " +"expression::" +msgstr "" + +msgid "" +"Most type checkers support ``reveal_type()`` anywhere, even if the name is " +"not imported from ``typing``. Importing the name from ``typing`` allows your " +"code to run without runtime errors and communicates intent more clearly." +msgstr "" + +msgid "" +"At runtime, this function prints the runtime type of its argument to stderr " +"and returns it unchanged::" +msgstr "" + +msgid "" +":data:`~typing.dataclass_transform` may be used to decorate a class, " +"metaclass, or a function that is itself a decorator. The presence of " +"``@dataclass_transform()`` tells a static type checker that the decorated " +"object performs runtime \"magic\" that transforms a class, giving it :func:" +"`dataclasses.dataclass`-like behaviors." +msgstr "" + +msgid "Example usage with a decorator function::" +msgstr "" + +msgid "On a base class::" +msgstr "" + +msgid "On a metaclass::" +msgstr "" + +msgid "" +"The ``CustomerModel`` classes defined above will be treated by type checkers " +"similarly to classes created with :func:`@dataclasses.dataclass `. For example, type checkers will assume these classes have " +"``__init__`` methods that accept ``id`` and ``name``." +msgstr "" + +msgid "" +"The decorated class, metaclass, or function may accept the following bool " +"arguments which type checkers will assume have the same effect as they would " +"have on the :func:`@dataclasses.dataclass` decorator: " +"``init``, ``eq``, ``order``, ``unsafe_hash``, ``frozen``, ``match_args``, " +"``kw_only``, and ``slots``. It must be possible for the value of these " +"arguments (``True`` or ``False``) to be statically evaluated." +msgstr "" + +msgid "" +"The arguments to the ``dataclass_transform`` decorator can be used to " +"customize the default behaviors of the decorated class, metaclass, or " +"function:" +msgstr "" + +msgid "" +"``eq_default`` indicates whether the ``eq`` parameter is assumed to be " +"``True`` or ``False`` if it is omitted by the caller." +msgstr "" + +msgid "" +"``order_default`` indicates whether the ``order`` parameter is assumed to be " +"True or False if it is omitted by the caller." +msgstr "" + +msgid "" +"``kw_only_default`` indicates whether the ``kw_only`` parameter is assumed " +"to be True or False if it is omitted by the caller." +msgstr "" + +msgid "" +"``field_specifiers`` specifies a static list of supported classes or " +"functions that describe fields, similar to ``dataclasses.field()``." +msgstr "" + +msgid "" +"Arbitrary other keyword arguments are accepted in order to allow for " +"possible future extensions." +msgstr "" + +msgid "" +"Type checkers recognize the following optional arguments on field specifiers:" +msgstr "" + +msgid "" +"``init`` indicates whether the field should be included in the synthesized " +"``__init__`` method. If unspecified, ``init`` defaults to ``True``." +msgstr "" + +msgid "``default`` provides the default value for the field." +msgstr "" + +msgid "" +"``default_factory`` provides a runtime callback that returns the default " +"value for the field. If neither ``default`` nor ``default_factory`` are " +"specified, the field is assumed to have no default value and must be " +"provided a value when the class is instantiated." +msgstr "" + +msgid "``factory`` is an alias for ``default_factory``." +msgstr "" + +msgid "" +"``kw_only`` indicates whether the field should be marked as keyword-only. If " +"``True``, the field will be keyword-only. If ``False``, it will not be " +"keyword-only. If unspecified, the value of the ``kw_only`` parameter on the " +"object decorated with ``dataclass_transform`` will be used, or if that is " +"unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " +"will be used." +msgstr "" + +msgid "" +"``alias`` provides an alternative name for the field. This alternative name " +"is used in the synthesized ``__init__`` method." +msgstr "" + +msgid "" +"At runtime, this decorator records its arguments in the " +"``__dataclass_transform__`` attribute on the decorated object. It has no " +"other runtime effect." +msgstr "" + +msgid "See :pep:`681` for more details." +msgstr "" + +msgid "" +"The ``@overload`` decorator allows describing functions and methods that " +"support multiple different combinations of argument types. A series of " +"``@overload``-decorated definitions must be followed by exactly one non-" +"``@overload``-decorated definition (for the same function/method). The " +"``@overload``-decorated definitions are for the benefit of the type checker " +"only, since they will be overwritten by the non-``@overload``-decorated " +"definition, while the latter is used at runtime but should be ignored by a " +"type checker. At runtime, calling a ``@overload``-decorated function " +"directly will raise :exc:`NotImplementedError`. An example of overload that " +"gives a more precise type than can be expressed using a union or a type " +"variable::" +msgstr "" +"Декоратор ``@overload`` дозволяє описувати функції та методи, які " +"підтримують кілька різних комбінацій типів аргументів. Після серії " +"визначень, прикрашених ``@overload``, має слідувати точно одне визначення, " +"не прикрашене ``@overload`` (для тієї самої функції/методу). Визначення, " +"прикрашені ``@overload``, призначені лише для перевірки типів, оскільки вони " +"будуть перезаписані визначенням, не прикрашеним ``@overload``, тоді як " +"останнє використовується під час виконання, але його слід ігнорувати за " +"допомогою перевірки типу. Під час виконання прямий виклик функції, " +"декорованої ``@overload``, викличе :exc:`NotImplementedError`. Приклад " +"перевантаження, який дає більш точний тип, ніж можна виразити за допомогою " +"об’єднання або змінної типу::" + +msgid "" +"See :pep:`484` for more details and comparison with other typing semantics." +msgstr "" + +msgid "" +"Overloaded functions can now be introspected at runtime using :func:" +"`get_overloads`." +msgstr "" + +msgid "" +"Return a sequence of :func:`@overload `-decorated definitions for " +"*func*. *func* is the function object for the implementation of the " +"overloaded function. For example, given the definition of ``process`` in the " +"documentation for :func:`@overload `, ``get_overloads(process)`` " +"will return a sequence of three function objects for the three defined " +"overloads. If called on a function with no overloads, ``get_overloads()`` " +"returns an empty sequence." +msgstr "" + +msgid "" +"``get_overloads()`` can be used for introspecting an overloaded function at " +"runtime." +msgstr "" + +msgid "" +"Clear all registered overloads in the internal registry. This can be used to " +"reclaim the memory used by the registry." +msgstr "" + +msgid "" +"A decorator to indicate to type checkers that the decorated method cannot be " +"overridden, and the decorated class cannot be subclassed. For example::" +msgstr "" +"Декоратор, який вказує засобам перевірки типу, що декорований метод не може " +"бути перевизначений, а декорований клас не може бути підкласом. Наприклад::" + +msgid "" +"The decorator will now set the ``__final__`` attribute to ``True`` on the " +"decorated object. Thus, a check like ``if getattr(obj, \"__final__\", " +"False)`` can be used at runtime to determine whether an object ``obj`` has " +"been marked as final. If the decorated object does not support setting " +"attributes, the decorator returns the object unchanged without raising an " +"exception." +msgstr "" + +msgid "Decorator to indicate that annotations are not type hints." +msgstr "Декоратор, щоб вказати, що анотації не є підказками типу." + +msgid "" +"This works as class or function :term:`decorator`. With a class, it applies " +"recursively to all methods and classes defined in that class (but not to " +"methods defined in its superclasses or subclasses)." +msgstr "" + +msgid "This mutates the function(s) in place." +msgstr "Це змінює діючу функцію(и)." + +msgid "Decorator to give another decorator the :func:`no_type_check` effect." +msgstr "Декоратор, щоб надати іншому декоратору ефект :func:`no_type_check`." + +msgid "" +"This wraps the decorator with something that wraps the decorated function " +"in :func:`no_type_check`." +msgstr "" +"Це обертає декоратор чимось, що обертає декоровану функцію в :func:" +"`no_type_check`." + +msgid "Decorator to mark a class or function to be unavailable at runtime." +msgstr "" +"Декоратор для позначення класу або функції як недоступні під час виконання." + +msgid "" +"This decorator is itself not available at runtime. It is mainly intended to " +"mark classes that are defined in type stub files if an implementation " +"returns an instance of a private class::" +msgstr "" +"Сам цей декоратор недоступний під час виконання. В основному він призначений " +"для позначення класів, визначених у файлах-заглушках типу, якщо реалізація " +"повертає екземпляр приватного класу::" + +msgid "" +"Note that returning instances of private classes is not recommended. It is " +"usually preferable to make such classes public." +msgstr "" +"Зауважте, що повертати екземпляри приватних класів не рекомендується. " +"Зазвичай бажано зробити такі заняття публічними." + +msgid "Introspection helpers" +msgstr "Помічники в самоаналізі" + +msgid "" +"Return a dictionary containing type hints for a function, method, module or " +"class object." +msgstr "" +"Повертає словник, що містить підказки типу для функції, методу, модуля або " +"об’єкта класу." + +msgid "" +"This is often the same as ``obj.__annotations__``. In addition, forward " +"references encoded as string literals are handled by evaluating them in " +"``globals`` and ``locals`` namespaces. For a class ``C``, return a " +"dictionary constructed by merging all the ``__annotations__`` along ``C." +"__mro__`` in reverse order." +msgstr "" + +msgid "" +"The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " +"unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " +"more information). For example::" +msgstr "" +"Функція рекурсивно замінює всі ``Annotated[T, ...]`` на ``T``, якщо " +"``include_extras`` не встановлено на ``True`` (перегляньте :class:" +"`Annotated` для отримання додаткової інформації) . Наприклад::" + +msgid "" +":func:`get_type_hints` does not work with imported :ref:`type aliases ` that include forward references. Enabling postponed evaluation of " +"annotations (:pep:`563`) may remove the need for most forward references." +msgstr "" +":func:`get_type_hints` не працює з імпортованими :ref:`псевдонімами типу " +"`, які містять прямі посилання. Увімкнення відкладеної оцінки " +"анотацій (:pep:`563`) може позбавити потреби в більшості посилань." + +msgid "Added ``include_extras`` parameter as part of :pep:`593`." +msgstr "Додано параметр ``include_extras`` як частину :pep:`593`." + +msgid "" +"Previously, ``Optional[t]`` was added for function and method annotations if " +"a default value equal to ``None`` was set. Now the annotation is returned " +"unchanged." +msgstr "" + +msgid "Provide basic introspection for generic types and special typing forms." +msgstr "" +"Забезпечити базову самоаналіз для загальних типів і спеціальних форм набору " +"тексту." + +msgid "" +"For a typing object of the form ``X[Y, Z, ...]`` these functions return " +"``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" +"`collections` class, it gets normalized to the original class. If ``X`` is a " +"union or :class:`Literal` contained in another generic type, the order of " +"``(Y, Z, ...)`` may be different from the order of the original arguments " +"``[Y, Z, ...]`` due to type caching. For unsupported objects return ``None`` " +"and ``()`` correspondingly. Examples::" +msgstr "" +"Для об’єкта типу ``X[Y, Z, ...]`` ці функції повертають ``X`` і ``(Y, " +"Z, ...)``. Якщо ``X`` є загальним псевдонімом для вбудованого класу або :mod:" +"`collections` класу, він нормалізується до оригінального класу. Якщо ``X`` є " +"об’єднанням або :class:`Literal`, що міститься в іншому загальному типі, " +"порядок ``(Y, Z, ...)`` може відрізнятися від порядку вихідних аргументів " +"``[Y, Z, ...]`` через кешування типів. Для непідтримуваних об’єктів " +"поверніть ``None`` і ``()`` відповідно. Приклади::" + +msgid "Check if a type is a :class:`TypedDict`." +msgstr "Перевірте, чи є тип :class:`TypedDict`." + +msgid "" +"A class used for internal typing representation of string forward " +"references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " +"into ``List[ForwardRef(\"SomeClass\")]``. This class should not be " +"instantiated by a user, but may be used by introspection tools." +msgstr "" +"Клас, який використовується для внутрішнього представлення типізації " +"посилань на рядок. Наприклад, ``List[\"SomeClass\"]`` неявно перетворюється " +"на ``List[ForwardRef(\"SomeClass\")]``. Цей клас не повинен створюватися " +"користувачем, але може використовуватися інструментами самоаналізу." + +msgid "" +":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be " +"implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " +"will not automatically resolve to ``list[SomeClass]``." +msgstr "" +":pep:`585` загальні типи, такі як ``list[\"SomeClass\"]``, не будуть неявно " +"перетворені в ``list[ForwardRef(\"SomeClass\")]`` і, таким чином, не будуть " +"автоматично перетворені в ``list[ SomeClass]``." + +msgid "Constant" +msgstr "Постійний" + +msgid "" +"A special constant that is assumed to be ``True`` by 3rd party static type " +"checkers. It is ``False`` at runtime. Usage::" +msgstr "" +"Спеціальна константа, яка вважається ``True`` сторонніми засобами перевірки " +"статичного типу. Це ``False`` під час виконання. Використання::" + +msgid "" +"The first type annotation must be enclosed in quotes, making it a \"forward " +"reference\", to hide the ``expensive_mod`` reference from the interpreter " +"runtime. Type annotations for local variables are not evaluated, so the " +"second annotation does not need to be enclosed in quotes." +msgstr "" +"Анотація першого типу має бути взята в лапки, що робить її \"прямим " +"посиланням\", щоб приховати посилання ``expensive_mod`` від середовища " +"виконання інтерпретатора. Анотації типу для локальних змінних не оцінюються, " +"тому другу анотацію не потрібно брати в лапки." + +msgid "" +"If ``from __future__ import annotations`` is used, annotations are not " +"evaluated at function definition time. Instead, they are stored as strings " +"in ``__annotations__``. This makes it unnecessary to use quotes around the " +"annotation (see :pep:`563`)." +msgstr "" +"Якщо використовується ``from __future__ import annotations``, анотації не " +"оцінюються під час визначення функції. Натомість вони зберігаються як рядки " +"в ``__annotations__``. Це робить непотрібним використання лапок навколо " +"анотації (див. :pep:`563`)." + +msgid "Deprecation Timeline of Major Features" +msgstr "" + +msgid "" +"Certain features in ``typing`` are deprecated and may be removed in a future " +"version of Python. The following table summarizes major deprecations for " +"your convenience. This is subject to change, and not all deprecations are " +"listed." +msgstr "" + +msgid "Feature" +msgstr "" + +msgid "Deprecated in" +msgstr "" + +msgid "Projected removal" +msgstr "" + +msgid "PEP/issue" +msgstr "" + +msgid "``typing.io`` and ``typing.re`` submodules" +msgstr "" + +msgid "3.8" +msgstr "" + +msgid "3.13" +msgstr "" + +msgid ":issue:`38291`" +msgstr "" + +msgid "``typing`` versions of standard collections" +msgstr "" + +msgid "3.9" +msgstr "" + +msgid "Undecided" +msgstr "" + +msgid ":pep:`585`" +msgstr "" + +msgid "``typing.Text``" +msgstr "" + +msgid "3.11" +msgstr "" + +msgid ":gh:`92332`" +msgstr "" diff --git a/library/undoc.po b/library/undoc.po new file mode 100644 index 000000000..dd63ae297 --- /dev/null +++ b/library/undoc.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2021, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-29 12:56+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Undocumented Modules" +msgstr "Незадокументовані модулі" + +msgid "" +"Here's a quick listing of modules that are currently undocumented, but that " +"should be documented. Feel free to contribute documentation for them! " +"(Send via email to docs@python.org.)" +msgstr "" +"Ось короткий перелік модулів, які наразі не задокументовані, але які слід " +"задокументувати. Не соромтеся надсилати для них документацію! (Надішліть " +"електронною поштою на docs@python.org.)" + +msgid "" +"The idea and original contents for this chapter were taken from a posting by " +"Fredrik Lundh; the specific contents of this chapter have been substantially " +"revised." +msgstr "" +"Ідея та оригінальний зміст цього розділу були взяті з допису Fredrik Lundh; " +"конкретний зміст цієї глави було суттєво переглянуто." + +msgid "Platform specific modules" +msgstr "Платформо-специфічні модулі" + +msgid "" +"These modules are used to implement the :mod:`os.path` module, and are not " +"documented beyond this mention. There's little need to document these." +msgstr "" +"Ці модулі використовуються для реалізації модуля :mod:`os.path` і не " +"документуються крім цього. Це не потрібно документувати." + +msgid ":mod:`ntpath`" +msgstr ":mod:`ntpath`" + +msgid "--- Implementation of :mod:`os.path` on Win32 and Win64 platforms." +msgstr "--- Реалізація :mod:`os.path` на платформах Win32 і Win64." + +msgid ":mod:`posixpath`" +msgstr ":mod:`posixpath`" + +msgid "--- Implementation of :mod:`os.path` on POSIX." +msgstr "--- Реалізація :mod:`os.path` на POSIX." diff --git a/library/unicodedata.po b/library/unicodedata.po new file mode 100644 index 000000000..d889b58ae --- /dev/null +++ b/library/unicodedata.po @@ -0,0 +1,231 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`unicodedata` --- Unicode Database" +msgstr ":mod:`unicodedata` --- База даних Unicode" + +msgid "" +"This module provides access to the Unicode Character Database (UCD) which " +"defines character properties for all Unicode characters. The data contained " +"in this database is compiled from the `UCD version 14.0.0 `_." +msgstr "" + +msgid "" +"The module uses the same names and symbols as defined by Unicode Standard " +"Annex #44, `\"Unicode Character Database\" `_. It defines the following functions:" +msgstr "" +"Модуль використовує ті самі назви та символи, як визначено в стандартному " +"додатку Юнікод №44, `\"База даних символів Юнікоду\" `_. Він визначає такі функції:" + +msgid "" +"Look up character by name. If a character with the given name is found, " +"return the corresponding character. If not found, :exc:`KeyError` is raised." +msgstr "" +"Шукайте персонажа по імені. Якщо символ із заданим іменем знайдено, повертає " +"відповідний символ. Якщо не знайдено, виникає :exc:`KeyError`." + +msgid "Support for name aliases [#]_ and named sequences [#]_ has been added." +msgstr "" +"Додано підтримку псевдонімів імен [#]_ та іменованих послідовностей [#]_." + +msgid "" +"Returns the name assigned to the character *chr* as a string. If no name is " +"defined, *default* is returned, or, if not given, :exc:`ValueError` is " +"raised." +msgstr "" +"Повертає ім’я, призначене символу *chr* у вигляді рядка. Якщо ім’я не " +"визначено, повертається *default* або, якщо не вказано, виникає :exc:" +"`ValueError`." + +msgid "" +"Returns the decimal value assigned to the character *chr* as integer. If no " +"such value is defined, *default* is returned, or, if not given, :exc:" +"`ValueError` is raised." +msgstr "" +"Повертає десяткове значення, призначене символу *chr* як ціле число. Якщо " +"таке значення не визначено, повертається *default* або, якщо не вказано, " +"виникає :exc:`ValueError`." + +msgid "" +"Returns the digit value assigned to the character *chr* as integer. If no " +"such value is defined, *default* is returned, or, if not given, :exc:" +"`ValueError` is raised." +msgstr "" +"Повертає цифрове значення, призначене символу *chr* як ціле число. Якщо таке " +"значення не визначено, повертається *default* або, якщо не вказано, виникає :" +"exc:`ValueError`." + +msgid "" +"Returns the numeric value assigned to the character *chr* as float. If no " +"such value is defined, *default* is returned, or, if not given, :exc:" +"`ValueError` is raised." +msgstr "" +"Повертає числове значення, призначене символу *chr* як float. Якщо таке " +"значення не визначено, повертається *default* або, якщо не вказано, виникає :" +"exc:`ValueError`." + +msgid "Returns the general category assigned to the character *chr* as string." +msgstr "Повертає загальну категорію, призначену символу *chr* як рядок." + +msgid "" +"Returns the bidirectional class assigned to the character *chr* as string. " +"If no such value is defined, an empty string is returned." +msgstr "" +"Повертає двонаправлений клас, призначений символу *chr* як рядок. Якщо таке " +"значення не визначено, повертається порожній рядок." + +msgid "" +"Returns the canonical combining class assigned to the character *chr* as " +"integer. Returns ``0`` if no combining class is defined." +msgstr "" +"Повертає канонічний клас об’єднання, призначений символу *chr* як ціле " +"число. Повертає ``0``, якщо клас об'єднання не визначено." + +msgid "Returns the east asian width assigned to the character *chr* as string." +msgstr "Повертає східноазіатську ширину, призначену символу *chr* як рядку." + +msgid "" +"Returns the mirrored property assigned to the character *chr* as integer. " +"Returns ``1`` if the character has been identified as a \"mirrored\" " +"character in bidirectional text, ``0`` otherwise." +msgstr "" +"Повертає віддзеркалену властивість, призначену символу *chr* як ціле число. " +"Повертає ``1``, якщо символ було визначено як \"віддзеркалений\" символ у " +"двонаправленому тексті, ``0`` інакше." + +msgid "" +"Returns the character decomposition mapping assigned to the character *chr* " +"as string. An empty string is returned in case no such mapping is defined." +msgstr "" +"Повертає відображення розкладання символів, призначене символу *chr* як " +"рядок. Якщо таке відображення не визначено, повертається порожній рядок." + +msgid "" +"Return the normal form *form* for the Unicode string *unistr*. Valid values " +"for *form* are 'NFC', 'NFKC', 'NFD', and 'NFKD'." +msgstr "" +"Повертає звичайну форму *form* для рядка Unicode *unistr*. Дійсні значення " +"для *форми*: \"NFC\", \"NFKC\", \"NFD\" і \"NFKD\"." + +msgid "" +"The Unicode standard defines various normalization forms of a Unicode " +"string, based on the definition of canonical equivalence and compatibility " +"equivalence. In Unicode, several characters can be expressed in various way. " +"For example, the character U+00C7 (LATIN CAPITAL LETTER C WITH CEDILLA) can " +"also be expressed as the sequence U+0043 (LATIN CAPITAL LETTER C) U+0327 " +"(COMBINING CEDILLA)." +msgstr "" +"Стандарт Unicode визначає різні форми нормалізації рядка Unicode на основі " +"визначення канонічної еквівалентності та еквівалентності сумісності. У " +"Unicode декілька символів можуть бути виражені різними способами. Наприклад, " +"символ U+00C7 (ВЕЛИКА ЛАТИНСЬКА ЛІТЕРА C ІЗ СЕДІЛЛОЮ) також можна виразити " +"як послідовність U+0043 (ВЕЛИКА ЛАТИНСЬКА ЛІТЕРА C) U+0327 (ПОЄДНАННЯ " +"СЕДІЛЛИ)." + +msgid "" +"For each character, there are two normal forms: normal form C and normal " +"form D. Normal form D (NFD) is also known as canonical decomposition, and " +"translates each character into its decomposed form. Normal form C (NFC) " +"first applies a canonical decomposition, then composes pre-combined " +"characters again." +msgstr "" +"Для кожного символу є дві нормальні форми: нормальна форма C і нормальна " +"форма D. Нормальна форма D (NFD) також відома як канонічна декомпозиція та " +"переводить кожен символ у його розкладену форму. Нормальна форма C (NFC) " +"спочатку застосовує канонічну декомпозицію, а потім знову створює попередньо " +"об’єднані символи." + +msgid "" +"In addition to these two forms, there are two additional normal forms based " +"on compatibility equivalence. In Unicode, certain characters are supported " +"which normally would be unified with other characters. For example, U+2160 " +"(ROMAN NUMERAL ONE) is really the same thing as U+0049 (LATIN CAPITAL LETTER " +"I). However, it is supported in Unicode for compatibility with existing " +"character sets (e.g. gb2312)." +msgstr "" +"На додаток до цих двох форм існують ще дві додаткові нормальні форми, " +"засновані на еквівалентності сумісності. У Unicode підтримуються певні " +"символи, які зазвичай уніфікуються з іншими символами. Наприклад, U+2160 " +"(РИМСЬКА ЦИФРА ОДИН) насправді те саме, що U+0049 (ЛАТИНСЬКА ВЕЛИКА ЛІТЕРА " +"I). Однак він підтримується в Unicode для сумісності з існуючими наборами " +"символів (наприклад, gb2312)." + +msgid "" +"The normal form KD (NFKD) will apply the compatibility decomposition, i.e. " +"replace all compatibility characters with their equivalents. The normal form " +"KC (NFKC) first applies the compatibility decomposition, followed by the " +"canonical composition." +msgstr "" +"Нормальна форма KD (NFKD) застосує декомпозицію сумісності, тобто замінить " +"усі символи сумісності їхніми еквівалентами. Нормальна форма KC (NFKC) " +"спочатку застосовує розкладання сумісності, а потім канонічний склад." + +msgid "" +"Even if two unicode strings are normalized and look the same to a human " +"reader, if one has combining characters and the other doesn't, they may not " +"compare equal." +msgstr "" +"Навіть якщо два рядки Unicode нормалізовані та виглядають однаково для " +"людини, яка читає, якщо в одному є символи комбінування, а в іншому немає, " +"вони можуть не порівнюватися." + +msgid "" +"Return whether the Unicode string *unistr* is in the normal form *form*. " +"Valid values for *form* are 'NFC', 'NFKC', 'NFD', and 'NFKD'." +msgstr "" +"Повертає, чи рядок Unicode *unistr* має звичайну форму *form*. Дійсні " +"значення для *форми*: \"NFC\", \"NFKC\", \"NFD\" і \"NFKD\"." + +msgid "In addition, the module exposes the following constant:" +msgstr "Крім того, модуль надає таку константу:" + +msgid "The version of the Unicode database used in this module." +msgstr "Версія бази даних Unicode, що використовується в цьому модулі." + +msgid "" +"This is an object that has the same methods as the entire module, but uses " +"the Unicode database version 3.2 instead, for applications that require this " +"specific version of the Unicode database (such as IDNA)." +msgstr "" +"Це об’єкт, який має ті самі методи, що й увесь модуль, але замість цього " +"використовує базу даних Unicode версії 3.2 для програм, які потребують цієї " +"конкретної версії бази даних Unicode (наприклад, IDNA)." + +msgid "Examples:" +msgstr "приклади:" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "https://www.unicode.org/Public/14.0.0/ucd/NameAliases.txt" +msgstr "" + +msgid "https://www.unicode.org/Public/14.0.0/ucd/NamedSequences.txt" +msgstr "" diff --git a/library/unittest.po b/library/unittest.po new file mode 100644 index 000000000..84b160181 --- /dev/null +++ b/library/unittest.po @@ -0,0 +1,3557 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`unittest` --- Unit testing framework" +msgstr ":mod:`unittest` --- Інфраструктура модульного тестування" + +msgid "**Source code:** :source:`Lib/unittest/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/unittest/__init__.py`" + +msgid "" +"(If you are already familiar with the basic concepts of testing, you might " +"want to skip to :ref:`the list of assert methods `.)" +msgstr "" +"(Якщо ви вже знайомі з основними концепціями тестування, ви можете перейти " +"до :ref:`списку методів assert `.)" + +msgid "" +"The :mod:`unittest` unit testing framework was originally inspired by JUnit " +"and has a similar flavor as major unit testing frameworks in other " +"languages. It supports test automation, sharing of setup and shutdown code " +"for tests, aggregation of tests into collections, and independence of the " +"tests from the reporting framework." +msgstr "" +"Фреймворк модульного тестування :mod:`unittest` спочатку був натхненний " +"JUnit і має подібний смак, як основні фреймворки модульного тестування " +"іншими мовами. Він підтримує автоматизацію тестування, спільне використання " +"коду налаштування та завершення тестів, об’єднання тестів у колекції та " +"незалежність тестів від структури звітування." + +msgid "" +"To achieve this, :mod:`unittest` supports some important concepts in an " +"object-oriented way:" +msgstr "" +"Щоб досягти цього, :mod:`unittest` підтримує деякі важливі концепції в " +"об’єктно-орієнтований спосіб:" + +msgid "test fixture" +msgstr "тестове пристосування" + +msgid "" +"A :dfn:`test fixture` represents the preparation needed to perform one or " +"more tests, and any associated cleanup actions. This may involve, for " +"example, creating temporary or proxy databases, directories, or starting a " +"server process." +msgstr "" +":dfn:`test fixture` представляє підготовку, необхідну для виконання одного " +"або кількох тестів і будь-яких пов’язаних дій очищення. Це може включати, " +"наприклад, створення тимчасових або проксі-баз даних, каталогів або запуск " +"серверного процесу." + +msgid "test case" +msgstr "тестовий випадок" + +msgid "" +"A :dfn:`test case` is the individual unit of testing. It checks for a " +"specific response to a particular set of inputs. :mod:`unittest` provides a " +"base class, :class:`TestCase`, which may be used to create new test cases." +msgstr "" +":dfn:`test case` — це окрема одиниця тестування. Він перевіряє конкретну " +"відповідь на певний набір вхідних даних. :mod:`unittest` надає базовий " +"клас, :class:`TestCase`, який можна використовувати для створення нових " +"тестів." + +msgid "test suite" +msgstr "набір тестів" + +msgid "" +"A :dfn:`test suite` is a collection of test cases, test suites, or both. It " +"is used to aggregate tests that should be executed together." +msgstr "" +":dfn:`test suite` — це набір тестів, наборів тестів або обох. Він " +"використовується для агрегування тестів, які слід виконувати разом." + +msgid "test runner" +msgstr "тестовий бігун" + +msgid "" +"A :dfn:`test runner` is a component which orchestrates the execution of " +"tests and provides the outcome to the user. The runner may use a graphical " +"interface, a textual interface, or return a special value to indicate the " +"results of executing the tests." +msgstr "" +":dfn:`test runner` — це компонент, який керує виконанням тестів і надає " +"результат користувачеві. Виконувач може використовувати графічний інтерфейс, " +"текстовий інтерфейс або повертати спеціальне значення для вказівки " +"результатів виконання тестів." + +msgid "Module :mod:`doctest`" +msgstr "Модуль :mod:`doctest`" + +msgid "Another test-support module with a very different flavor." +msgstr "Ще один модуль підтримки тестування з зовсім іншим смаком." + +msgid "" +"`Simple Smalltalk Testing: With Patterns `_" +msgstr "" +"`Просте тестування Smalltalk: із шаблонами `_" + +msgid "" +"Kent Beck's original paper on testing frameworks using the pattern shared " +"by :mod:`unittest`." +msgstr "" +"Оригінальна стаття Кента Бека про тестування фреймворків за шаблоном, яким " +"поділився :mod:`unittest`." + +msgid "`pytest `_" +msgstr "`pytest `_" + +msgid "" +"Third-party unittest framework with a lighter-weight syntax for writing " +"tests. For example, ``assert func(10) == 42``." +msgstr "" +"Фреймворк модульного тестування третьої сторони зі спрощеним синтаксисом для " +"написання тестів. Наприклад, ``assert func(10) == 42``." + +msgid "" +"`The Python Testing Tools Taxonomy `_" +msgstr "" +"`Таксономія інструментів тестування Python `_" + +msgid "" +"An extensive list of Python testing tools including functional testing " +"frameworks and mock object libraries." +msgstr "" +"Широкий список інструментів тестування Python, включаючи фреймворки " +"функціонального тестування та бібліотеки макетів об’єктів." + +msgid "" +"`Testing in Python Mailing List `_" +msgstr "" +"`Тестування в списку розсилки Python `_" + +msgid "" +"A special-interest-group for discussion of testing, and testing tools, in " +"Python." +msgstr "" +"Група спеціальних інтересів для обговорення тестування та інструментів " +"тестування на Python." + +msgid "" +"The script :file:`Tools/unittestgui/unittestgui.py` in the Python source " +"distribution is a GUI tool for test discovery and execution. This is " +"intended largely for ease of use for those new to unit testing. For " +"production environments it is recommended that tests be driven by a " +"continuous integration system such as `Buildbot `_, " +"`Jenkins `_, `GitHub Actions `_, or `AppVeyor `_." +msgstr "" + +msgid "Basic example" +msgstr "Базовий приклад" + +msgid "" +"The :mod:`unittest` module provides a rich set of tools for constructing and " +"running tests. This section demonstrates that a small subset of the tools " +"suffice to meet the needs of most users." +msgstr "" +"Модуль :mod:`unittest` надає багатий набір інструментів для побудови та " +"виконання тестів. У цьому розділі показано, що невеликого набору " +"інструментів достатньо для задоволення потреб більшості користувачів." + +msgid "Here is a short script to test three string methods::" +msgstr "Ось короткий скрипт для перевірки трьох методів рядків:" + +msgid "" +"A testcase is created by subclassing :class:`unittest.TestCase`. The three " +"individual tests are defined with methods whose names start with the letters " +"``test``. This naming convention informs the test runner about which " +"methods represent tests." +msgstr "" +"Тестовий приклад створюється підкласом :class:`unittest.TestCase`. Три " +"окремі тести визначаються методами, назви яких починаються з літер ``test``. " +"Ця домовленість про найменування інформує виконавця тестів про те, які " +"методи представляють тести." + +msgid "" +"The crux of each test is a call to :meth:`~TestCase.assertEqual` to check " +"for an expected result; :meth:`~TestCase.assertTrue` or :meth:`~TestCase." +"assertFalse` to verify a condition; or :meth:`~TestCase.assertRaises` to " +"verify that a specific exception gets raised. These methods are used " +"instead of the :keyword:`assert` statement so the test runner can accumulate " +"all test results and produce a report." +msgstr "" +"Суть кожного тесту полягає у виклику :meth:`~TestCase.assertEqual` для " +"перевірки очікуваного результату; :meth:`~TestCase.assertTrue` або :meth:" +"`~TestCase.assertFalse` для перевірки умови; або :meth:`~TestCase." +"assertRaises`, щоб перевірити, чи виникає певний виняток. Ці методи " +"використовуються замість оператора :keyword:`assert`, щоб виконавець тесту " +"міг накопичувати всі результати тестування та створювати звіт." + +msgid "" +"The :meth:`~TestCase.setUp` and :meth:`~TestCase.tearDown` methods allow you " +"to define instructions that will be executed before and after each test " +"method. They are covered in more detail in the section :ref:`organizing-" +"tests`." +msgstr "" +"Методи :meth:`~TestCase.setUp` і :meth:`~TestCase.tearDown` дозволяють " +"визначати інструкції, які виконуватимуться до і після кожного методу " +"тестування. Більш детально вони описані в розділі :ref:`organizing-tests`." + +msgid "" +"The final block shows a simple way to run the tests. :func:`unittest.main` " +"provides a command-line interface to the test script. When run from the " +"command line, the above script produces an output that looks like this::" +msgstr "" +"Останній блок показує простий спосіб виконання тестів. :func:`unittest.main` " +"надає інтерфейс командного рядка для тестового сценарію. Під час запуску з " +"командного рядка наведений вище сценарій створює вихідні дані, які " +"виглядають так:" + +msgid "" +"Passing the ``-v`` option to your test script will instruct :func:`unittest." +"main` to enable a higher level of verbosity, and produce the following " +"output::" +msgstr "" +"Передача параметра ``-v`` у ваш тестовий сценарій вказує :func:`unittest." +"main` увімкнути вищий рівень докладності та створить такий вихід:" + +msgid "" +"The above examples show the most commonly used :mod:`unittest` features " +"which are sufficient to meet many everyday testing needs. The remainder of " +"the documentation explores the full feature set from first principles." +msgstr "" +"Наведені вище приклади показують найпоширеніші функції :mod:`unittest`, яких " +"достатньо для задоволення багатьох щоденних потреб тестування. У решті " +"документації розглядається повний набір функцій із перших принципів." + +msgid "" +"The behavior of returning a value from a test method (other than the default " +"``None`` value), is now deprecated." +msgstr "" + +msgid "Command-Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The unittest module can be used from the command line to run tests from " +"modules, classes or even individual test methods::" +msgstr "" +"Модуль unittest можна використовувати з командного рядка для запуску тестів " +"із модулів, класів або навіть окремих методів тестування:" + +msgid "" +"You can pass in a list with any combination of module names, and fully " +"qualified class or method names." +msgstr "" +"Ви можете передати список із будь-якою комбінацією імен модулів і повних " +"імен класів або методів." + +msgid "Test modules can be specified by file path as well::" +msgstr "Тестові модулі також можна вказати шляхом до файлу:" + +msgid "" +"This allows you to use the shell filename completion to specify the test " +"module. The file specified must still be importable as a module. The path is " +"converted to a module name by removing the '.py' and converting path " +"separators into '.'. If you want to execute a test file that isn't " +"importable as a module you should execute the file directly instead." +msgstr "" +"Це дозволяє використовувати завершення назви файлу оболонки для визначення " +"тестового модуля. Зазначений файл усе ще має бути імпортованим як модуль. " +"Шлях перетворюється на назву модуля шляхом видалення \".py\" та перетворення " +"роздільників шляху на \".\". Якщо ви хочете виконати тестовий файл, який не " +"можна імпортувати як модуль, вам слід виконати цей файл безпосередньо." + +msgid "" +"You can run tests with more detail (higher verbosity) by passing in the -v " +"flag::" +msgstr "" +"Ви можете запустити тести з більшою деталізацією (вищою детальністю), " +"передавши прапор -v::" + +msgid "" +"When executed without arguments :ref:`unittest-test-discovery` is started::" +msgstr "" +"При виконанні без аргументів :ref:`unittest-test-discovery` запускається::" + +msgid "For a list of all the command-line options::" +msgstr "Список усіх параметрів командного рядка:" + +msgid "" +"In earlier versions it was only possible to run individual test methods and " +"not modules or classes." +msgstr "" +"У попередніх версіях було можливо запускати лише окремі методи тестування, а " +"не модулі чи класи." + +msgid "Command-line options" +msgstr "Параметри командного рядка" + +msgid ":program:`unittest` supports these command-line options:" +msgstr ":program:`unittest` підтримує такі параметри командного рядка:" + +msgid "" +"The standard output and standard error streams are buffered during the test " +"run. Output during a passing test is discarded. Output is echoed normally on " +"test fail or error and is added to the failure messages." +msgstr "" +"Стандартний вихід і стандартні потоки помилок буферизуються під час " +"виконання тесту. Вихідні дані під час проходження тесту відкидаються. " +"Вихідні дані зазвичай відтворюються у разі невдачі тесту або помилки та " +"додаються до повідомлень про помилки." + +msgid "" +":kbd:`Control-C` during the test run waits for the current test to end and " +"then reports all the results so far. A second :kbd:`Control-C` raises the " +"normal :exc:`KeyboardInterrupt` exception." +msgstr "" +":kbd:`Control-C` під час тестового запуску чекає завершення поточного тесту, " +"а потім повідомляє всі результати. Другий :kbd:`Control-C` викликає " +"звичайний виняток :exc:`KeyboardInterrupt`." + +msgid "" +"See `Signal Handling`_ for the functions that provide this functionality." +msgstr "" +"Перегляньте Обробка сигналів (`Signal Handling`_) для функцій, які " +"забезпечують цю функціональність." + +msgid "Stop the test run on the first error or failure." +msgstr "Зупиніть тестовий запуск при першій помилці або невдачі." + +msgid "" +"Only run test methods and classes that match the pattern or substring. This " +"option may be used multiple times, in which case all test cases that match " +"any of the given patterns are included." +msgstr "" +"Запускайте лише тестові методи та класи, які відповідають шаблону або " +"підрядку. Цю опцію можна використовувати кілька разів, і в цьому випадку " +"будуть включені всі тестові випадки, які відповідають будь-якому із заданих " +"шаблонів." + +msgid "" +"Patterns that contain a wildcard character (``*``) are matched against the " +"test name using :meth:`fnmatch.fnmatchcase`; otherwise simple case-sensitive " +"substring matching is used." +msgstr "" +"Шаблони, які містять символ підстановки (``*``), зіставляються з назвою " +"тесту за допомогою :meth:`fnmatch.fnmatchcase`; інакше використовується " +"просте зіставлення підрядка з урахуванням регістру." + +msgid "" +"Patterns are matched against the fully qualified test method name as " +"imported by the test loader." +msgstr "" +"Шаблони зіставляються з повною назвою методу тестування, імпортованою " +"завантажувачем тестів." + +msgid "" +"For example, ``-k foo`` matches ``foo_tests.SomeTest.test_something``, " +"``bar_tests.SomeTest.test_foo``, but not ``bar_tests.FooTest." +"test_something``." +msgstr "" +"Наприклад, ``-k foo`` відповідає ``foo_tests.SomeTest.test_something``, " +"``bar_tests.SomeTest.test_something``, але не ``bar_tests.FooTest." +"test_something``." + +msgid "Show local variables in tracebacks." +msgstr "Показати локальні змінні в трасуваннях." + +msgid "The command-line options ``-b``, ``-c`` and ``-f`` were added." +msgstr "Додано параметри командного рядка ``-b``, ``-c`` і ``-f``." + +msgid "The command-line option ``--locals``." +msgstr "Параметр командного рядка ``--locals``." + +msgid "The command-line option ``-k``." +msgstr "Параметр командного рядка ``-k``." + +msgid "" +"The command line can also be used for test discovery, for running all of the " +"tests in a project or just a subset." +msgstr "" +"Командний рядок також можна використовувати для виявлення тестів, для " +"запуску всіх тестів у проекті або лише підмножини." + +msgid "Test Discovery" +msgstr "Тестове відкриття" + +msgid "" +"Unittest supports simple test discovery. In order to be compatible with test " +"discovery, all of the test files must be :ref:`modules ` or :" +"ref:`packages ` importable from the top-level directory of the " +"project (this means that their filenames must be valid :ref:`identifiers " +"`)." +msgstr "" + +msgid "" +"Test discovery is implemented in :meth:`TestLoader.discover`, but can also " +"be used from the command line. The basic command-line usage is::" +msgstr "" +"Виявлення тесту реалізовано в :meth:`TestLoader.discover`, але його також " +"можна використовувати з командного рядка. Основне використання командного " +"рядка:" + +msgid "" +"As a shortcut, ``python -m unittest`` is the equivalent of ``python -m " +"unittest discover``. If you want to pass arguments to test discovery the " +"``discover`` sub-command must be used explicitly." +msgstr "" +"Як скорочення, ``python -m unittest`` є еквівалентом ``python -m unittest " +"discover``. Якщо ви хочете передати аргументи для перевірки виявлення, " +"підкоманду ``discover`` слід використовувати явно." + +msgid "The ``discover`` sub-command has the following options:" +msgstr "Підкоманда ``discover`` має такі параметри:" + +msgid "Verbose output" +msgstr "Детальний висновок" + +msgid "Directory to start discovery (``.`` default)" +msgstr "Каталог для початку виявлення (``.`` за замовчуванням)" + +msgid "Pattern to match test files (``test*.py`` default)" +msgstr "" +"Шаблон для відповідності тестовим файлам (``test*.py`` за замовчуванням)" + +msgid "Top level directory of project (defaults to start directory)" +msgstr "" +"Каталог верхнього рівня проекту (за замовчуванням це початковий каталог)" + +msgid "" +"The :option:`-s`, :option:`-p`, and :option:`-t` options can be passed in as " +"positional arguments in that order. The following two command lines are " +"equivalent::" +msgstr "" +"Параметри :option:`-s`, :option:`-p` і :option:`-t` можна передати як " +"позиційні аргументи в такому порядку. Наступні два командні рядки " +"еквівалентні:" + +msgid "" +"As well as being a path it is possible to pass a package name, for example " +"``myproject.subpackage.test``, as the start directory. The package name you " +"supply will then be imported and its location on the filesystem will be used " +"as the start directory." +msgstr "" +"Окрім шляху, можна передати назву пакета, наприклад ``myproject.subpackage." +"test``, як початковий каталог. Указане вами ім’я пакета буде імпортовано, а " +"його розташування у файловій системі використовуватиметься як початковий " +"каталог." + +msgid "" +"Test discovery loads tests by importing them. Once test discovery has found " +"all the test files from the start directory you specify it turns the paths " +"into package names to import. For example :file:`foo/bar/baz.py` will be " +"imported as ``foo.bar.baz``." +msgstr "" +"Відкриття тестів завантажує тести, імпортуючи їх. Після того як тестове " +"виявлення знайде всі тестові файли з початкового каталогу, який ви вкажете, " +"воно перетворює шляхи на імена пакетів для імпорту. Наприклад, :file:`foo/" +"bar/baz.py` буде імпортовано як ``foo.bar.baz``." + +msgid "" +"If you have a package installed globally and attempt test discovery on a " +"different copy of the package then the import *could* happen from the wrong " +"place. If this happens test discovery will warn you and exit." +msgstr "" +"Якщо у вас глобально встановлено пакет, і ви намагаєтеся виявити тест на " +"іншій копії пакета, то імпорт *може* відбутися не з того місця. Якщо це " +"станеться, тестове виявлення попередить вас і вийде." + +msgid "" +"If you supply the start directory as a package name rather than a path to a " +"directory then discover assumes that whichever location it imports from is " +"the location you intended, so you will not get the warning." +msgstr "" +"Якщо ви вказуєте початковий каталог як назву пакета, а не як шлях до " +"каталогу, тоді виявлення припускає, що будь-яке місце, з якого він імпортує, " +"є тим розташуванням, яке ви хотіли, тому ви не отримаєте попередження." + +msgid "" +"Test modules and packages can customize test loading and discovery by " +"through the `load_tests protocol`_." +msgstr "" +"Тестові модулі та пакети можуть налаштувати тестове завантаження та " +"виявлення за допомогою `load_tests protocol`_." + +msgid "" +"Test discovery supports :term:`namespace packages ` for " +"the start directory. Note that you need to specify the top level directory " +"too (e.g. ``python -m unittest discover -s root/namespace -t root``)." +msgstr "" +"Тестове виявлення підтримує :term:`пакети простору імен ` " +"для початкового каталогу. Зауважте, що вам також потрібно вказати каталог " +"верхнього рівня (наприклад, ``python -m unittest discover -s root/namespace -" +"t root``)." + +msgid "" +"Python 3.11 dropped the :term:`namespace packages ` " +"support. It has been broken since Python 3.7. Start directory and " +"subdirectories containing tests must be regular package that have ``__init__." +"py`` file." +msgstr "" + +msgid "" +"Directories containing start directory still can be a namespace package. In " +"this case, you need to specify start directory as dotted package name, and " +"target directory explicitly. For example::" +msgstr "" + +msgid "Organizing test code" +msgstr "Організація тестового коду" + +msgid "" +"The basic building blocks of unit testing are :dfn:`test cases` --- single " +"scenarios that must be set up and checked for correctness. In :mod:" +"`unittest`, test cases are represented by :class:`unittest.TestCase` " +"instances. To make your own test cases you must write subclasses of :class:" +"`TestCase` or use :class:`FunctionTestCase`." +msgstr "" +"Основними будівельними блоками модульного тестування є :dfn:`test cases` --- " +"окремі сценарії, які необхідно налаштувати та перевірити на правильність. У :" +"mod:`unittest` тестові випадки представлені екземплярами :class:`unittest." +"TestCase`. Щоб створити власні тестові випадки, ви повинні написати " +"підкласи :class:`TestCase` або використати :class:`FunctionTestCase`." + +msgid "" +"The testing code of a :class:`TestCase` instance should be entirely self " +"contained, such that it can be run either in isolation or in arbitrary " +"combination with any number of other test cases." +msgstr "" +"Тестовий код екземпляра :class:`TestCase` має бути повністю самостійним, щоб " +"його можна було запускати окремо або в довільній комбінації з будь-якою " +"кількістю інших тестів." + +msgid "" +"The simplest :class:`TestCase` subclass will simply implement a test method " +"(i.e. a method whose name starts with ``test``) in order to perform specific " +"testing code::" +msgstr "" +"Найпростіший підклас :class:`TestCase` просто реалізує тестовий метод (тобто " +"метод, назва якого починається з ``test``), щоб виконати певний код " +"тестування:" + +msgid "" +"Note that in order to test something, we use one of the :meth:`assert\\*` " +"methods provided by the :class:`TestCase` base class. If the test fails, an " +"exception will be raised with an explanatory message, and :mod:`unittest` " +"will identify the test case as a :dfn:`failure`. Any other exceptions will " +"be treated as :dfn:`errors`." +msgstr "" +"Зауважте, що для того, щоб перевірити щось, ми використовуємо один із " +"методів :meth:`assert\\*`, наданих базовим класом :class:`TestCase`. Якщо " +"тест не вдасться, буде створено виняток із пояснювальним повідомленням, і :" +"mod:`unittest` ідентифікує тестовий випадок як :dfn:`failure`. Будь-які інші " +"винятки розглядатимуться як :dfn:`errors`." + +msgid "" +"Tests can be numerous, and their set-up can be repetitive. Luckily, we can " +"factor out set-up code by implementing a method called :meth:`~TestCase." +"setUp`, which the testing framework will automatically call for every single " +"test we run::" +msgstr "" +"Тестів може бути багато, а їх налаштування можуть повторюватися. На щастя, " +"ми можемо виключити код налаштування, реалізувавши метод під назвою :meth:" +"`~TestCase.setUp`, який система тестування автоматично викличе для кожного " +"тесту, який ми виконуємо:" + +msgid "" +"The order in which the various tests will be run is determined by sorting " +"the test method names with respect to the built-in ordering for strings." +msgstr "" +"Порядок, у якому виконуватимуться різні тести, визначається сортуванням назв " +"методів тестування відповідно до вбудованого порядку для рядків." + +msgid "" +"If the :meth:`~TestCase.setUp` method raises an exception while the test is " +"running, the framework will consider the test to have suffered an error, and " +"the test method will not be executed." +msgstr "" +"Якщо метод :meth:`~TestCase.setUp` викликає виняток під час виконання тесту, " +"фреймворк вважатиме, що тест зазнав помилки, і метод тесту не буде виконано." + +msgid "" +"Similarly, we can provide a :meth:`~TestCase.tearDown` method that tidies up " +"after the test method has been run::" +msgstr "" +"Подібним чином ми можемо надати метод :meth:`~TestCase.tearDown`, який " +"наводить порядок після виконання тестового методу:" + +msgid "" +"If :meth:`~TestCase.setUp` succeeded, :meth:`~TestCase.tearDown` will be run " +"whether the test method succeeded or not." +msgstr "" +"Якщо :meth:`~TestCase.setUp` виконано успішно, :meth:`~TestCase.tearDown` " +"буде запущено незалежно від того, чи вдався метод тестування." + +msgid "" +"Such a working environment for the testing code is called a :dfn:`test " +"fixture`. A new TestCase instance is created as a unique test fixture used " +"to execute each individual test method. Thus :meth:`~TestCase.setUp`, :meth:" +"`~TestCase.tearDown`, and :meth:`~TestCase.__init__` will be called once per " +"test." +msgstr "" +"Таке робоче середовище для коду тестування називається :dfn:`test fixture`. " +"Новий екземпляр TestCase створюється як унікальний тестовий прилад, який " +"використовується для виконання кожного окремого методу тестування. Таким " +"чином, :meth:`~TestCase.setUp`, :meth:`~TestCase.tearDown` і :meth:" +"`~TestCase.__init__` буде викликано один раз на тест." + +msgid "" +"It is recommended that you use TestCase implementations to group tests " +"together according to the features they test. :mod:`unittest` provides a " +"mechanism for this: the :dfn:`test suite`, represented by :mod:`unittest`'s :" +"class:`TestSuite` class. In most cases, calling :func:`unittest.main` will " +"do the right thing and collect all the module's test cases for you and " +"execute them." +msgstr "" +"Рекомендується використовувати реалізації TestCase для групування тестів " +"відповідно до функцій, які вони тестують. :mod:`unittest` забезпечує " +"механізм для цього: :dfn:`test suite`, представлений :mod:`unittest` класом :" +"class:`TestSuite`. У більшості випадків виклик :func:`unittest.main` зробить " +"правильну річ і збере для вас усі тестові приклади модуля та виконає їх." + +msgid "" +"However, should you want to customize the building of your test suite, you " +"can do it yourself::" +msgstr "" +"Однак, якщо ви хочете налаштувати збірку свого набору тестів, ви можете " +"зробити це самостійно:" + +msgid "" +"You can place the definitions of test cases and test suites in the same " +"modules as the code they are to test (such as :file:`widget.py`), but there " +"are several advantages to placing the test code in a separate module, such " +"as :file:`test_widget.py`:" +msgstr "" +"Ви можете розмістити визначення тестів і наборів тестів у тих самих модулях, " +"що й код, який вони мають тестувати (наприклад, :file:`widget.py`), але є " +"кілька переваг розміщення тестового коду в окремому модулі, наприклад :file:" +"`test_widget.py`:" + +msgid "The test module can be run standalone from the command line." +msgstr "Тестовий модуль можна запускати автономно з командного рядка." + +msgid "The test code can more easily be separated from shipped code." +msgstr "Тестовий код можна легше відокремити від надісланого коду." + +msgid "" +"There is less temptation to change test code to fit the code it tests " +"without a good reason." +msgstr "" +"Менше спокуси змінити тестовий код, щоб відповідати коду, який він тестує, " +"без вагомої причини." + +msgid "" +"Test code should be modified much less frequently than the code it tests." +msgstr "Тестовий код слід змінювати набагато рідше, ніж код, який він тестує." + +msgid "Tested code can be refactored more easily." +msgstr "Перевірений код можна легше рефакторингувати." + +msgid "" +"Tests for modules written in C must be in separate modules anyway, so why " +"not be consistent?" +msgstr "" +"Тести для модулів, написаних мовою C, у будь-якому разі повинні бути " +"окремими модулями, то чому б не бути послідовними?" + +msgid "" +"If the testing strategy changes, there is no need to change the source code." +msgstr "" +"Якщо стратегія тестування змінюється, немає необхідності змінювати вихідний " +"код." + +msgid "Re-using old test code" +msgstr "Повторне використання старого тестового коду" + +msgid "" +"Some users will find that they have existing test code that they would like " +"to run from :mod:`unittest`, without converting every old test function to " +"a :class:`TestCase` subclass." +msgstr "" +"Деякі користувачі виявлять, що у них є тестовий код, який вони хотіли б " +"запустити з :mod:`unittest`, не перетворюючи кожну стару тестову функцію на " +"підклас :class:`TestCase`." + +msgid "" +"For this reason, :mod:`unittest` provides a :class:`FunctionTestCase` class. " +"This subclass of :class:`TestCase` can be used to wrap an existing test " +"function. Set-up and tear-down functions can also be provided." +msgstr "" +"З цієї причини :mod:`unittest` надає клас :class:`FunctionTestCase`. Цей " +"підклас :class:`TestCase` можна використовувати для обгортання існуючої " +"тестової функції. Також можуть бути передбачені функції налаштування та " +"демонтажу." + +msgid "Given the following test function::" +msgstr "Дано таку тестову функцію:" + +msgid "" +"one can create an equivalent test case instance as follows, with optional " +"set-up and tear-down methods::" +msgstr "" +"можна створити еквівалентний екземпляр тестового сценарію наступним чином із " +"додатковими методами налаштування та демонтажу:" + +msgid "" +"Even though :class:`FunctionTestCase` can be used to quickly convert an " +"existing test base over to a :mod:`unittest`\\ -based system, this approach " +"is not recommended. Taking the time to set up proper :class:`TestCase` " +"subclasses will make future test refactorings infinitely easier." +msgstr "" +"Незважаючи на те, що :class:`FunctionTestCase` можна використовувати для " +"швидкого перетворення наявної тестової бази на систему на основі :mod:" +"`unittest`\\, цей підхід не рекомендується. Витративши час на налаштування " +"належних підкласів :class:`TestCase`, ви значно спростите рефакторинг " +"майбутніх тестів." + +msgid "" +"In some cases, the existing tests may have been written using the :mod:" +"`doctest` module. If so, :mod:`doctest` provides a :class:`DocTestSuite` " +"class that can automatically build :class:`unittest.TestSuite` instances " +"from the existing :mod:`doctest`\\ -based tests." +msgstr "" +"У деяких випадках існуючі тести могли бути написані за допомогою модуля :mod:" +"`doctest`. Якщо так, :mod:`doctest` надає клас :class:`DocTestSuite`, який " +"може автоматично створювати екземпляри :class:`unittest.TestSuite` з " +"існуючих тестів на основі :mod:`doctest`\\." + +msgid "Skipping tests and expected failures" +msgstr "Пропуск тестів і очікувані невдачі" + +msgid "" +"Unittest supports skipping individual test methods and even whole classes of " +"tests. In addition, it supports marking a test as an \"expected failure,\" " +"a test that is broken and will fail, but shouldn't be counted as a failure " +"on a :class:`TestResult`." +msgstr "" +"Unittest підтримує пропуски окремих методів тестування і навіть цілих класів " +"тестів. Крім того, він підтримує позначення тесту як \"очікуваної помилки\", " +"тобто тесту, який зламано і буде невдалим, але його не слід вважати помилкою " +"в :class:`TestResult`." + +msgid "" +"Skipping a test is simply a matter of using the :func:`skip` :term:" +"`decorator` or one of its conditional variants, calling :meth:`TestCase." +"skipTest` within a :meth:`~TestCase.setUp` or test method, or raising :exc:" +"`SkipTest` directly." +msgstr "" +"Пропуск тесту – це просто використання :func:`skip` :term:`decorator` або " +"одного з його умовних варіантів, виклик :meth:`TestCase.skipTest` у :meth:" +"`~TestCase.setUp` або тестовий метод або безпосередньо підняти :exc:" +"`SkipTest`." + +msgid "Basic skipping looks like this::" +msgstr "Базовий пропуск виглядає так::" + +msgid "This is the output of running the example above in verbose mode::" +msgstr "Це результат виконання наведеного вище прикладу в докладному режимі:" + +msgid "Classes can be skipped just like methods::" +msgstr "Класи можна пропускати, як і методи:" + +msgid "" +":meth:`TestCase.setUp` can also skip the test. This is useful when a " +"resource that needs to be set up is not available." +msgstr "" +":meth:`TestCase.setUp` також може пропустити тест. Це корисно, коли ресурс, " +"який потрібно налаштувати, недоступний." + +msgid "Expected failures use the :func:`expectedFailure` decorator. ::" +msgstr "Очікувані помилки використовують декоратор :func:`expectedFailure`. ::" + +msgid "" +"It's easy to roll your own skipping decorators by making a decorator that " +"calls :func:`skip` on the test when it wants it to be skipped. This " +"decorator skips the test unless the passed object has a certain attribute::" +msgstr "" +"Легко запустити власні декоратори пропуску, створивши декоратор, який " +"викликає :func:`skip` у тесті, коли хоче, щоб його було пропущено. Цей " +"декоратор пропускає перевірку, якщо переданий об’єкт не має певного " +"атрибута::" + +msgid "" +"The following decorators and exception implement test skipping and expected " +"failures:" +msgstr "" +"Наступні декоратори та винятки реалізують пропуск тесту та очікувані помилки:" + +msgid "" +"Unconditionally skip the decorated test. *reason* should describe why the " +"test is being skipped." +msgstr "" +"Беззастережно пропустіть оформлений тест. *причина* має описувати, чому тест " +"пропускається." + +msgid "Skip the decorated test if *condition* is true." +msgstr "Пропустіть декорований тест, якщо *умова* істинна." + +msgid "Skip the decorated test unless *condition* is true." +msgstr "Пропустіть оформлений тест, якщо *умова* не виконується." + +msgid "" +"Mark the test as an expected failure or error. If the test fails or errors " +"in the test function itself (rather than in one of the :dfn:`test fixture` " +"methods) then it will be considered a success. If the test passes, it will " +"be considered a failure." +msgstr "" +"Позначте тест як очікувану невдачу або помилку. Якщо тест зазнає невдачі або " +"помилки в самій тестовій функції (а не в одному з методів :dfn:`test " +"fixture`), тоді він вважатиметься успішним. Якщо тест буде пройдений, він " +"буде вважатися невдалим." + +msgid "This exception is raised to skip a test." +msgstr "Цей виняток створюється, щоб пропустити тест." + +msgid "" +"Usually you can use :meth:`TestCase.skipTest` or one of the skipping " +"decorators instead of raising this directly." +msgstr "" +"Зазвичай ви можете використовувати :meth:`TestCase.skipTest` або один із " +"декораторів пропуску замість того, щоб піднімати це безпосередньо." + +msgid "" +"Skipped tests will not have :meth:`~TestCase.setUp` or :meth:`~TestCase." +"tearDown` run around them. Skipped classes will not have :meth:`~TestCase." +"setUpClass` or :meth:`~TestCase.tearDownClass` run. Skipped modules will not " +"have :func:`setUpModule` or :func:`tearDownModule` run." +msgstr "" +"Пропущені тести не запускатимуть :meth:`~TestCase.setUp` або :meth:" +"`~TestCase.tearDown`. Пропущені класи не виконуватимуться :meth:`~TestCase." +"setUpClass` або :meth:`~TestCase.tearDownClass`. Пропущені модулі не " +"запускатимуть :func:`setUpModule` або :func:`tearDownModule`." + +msgid "Distinguishing test iterations using subtests" +msgstr "Розрізнення тестових ітерацій за допомогою субтестів" + +msgid "" +"When there are very small differences among your tests, for instance some " +"parameters, unittest allows you to distinguish them inside the body of a " +"test method using the :meth:`~TestCase.subTest` context manager." +msgstr "" +"Якщо між вашими тестами є дуже невеликі відмінності, наприклад деякі " +"параметри, unittest дозволяє розрізняти їх у тілі тестового методу за " +"допомогою контекстного менеджера :meth:`~TestCase.subTest`." + +msgid "For example, the following test::" +msgstr "Наприклад, такий тест:" + +msgid "will produce the following output::" +msgstr "виведе наступний вихід:" + +msgid "" +"Without using a subtest, execution would stop after the first failure, and " +"the error would be less easy to diagnose because the value of ``i`` wouldn't " +"be displayed::" +msgstr "" +"Без використання підтесту виконання зупинилося б після першої помилки, а " +"помилку було б важче діагностувати, оскільки значення ``i`` не відображалося " +"б::" + +msgid "Classes and functions" +msgstr "Класи та функції" + +msgid "This section describes in depth the API of :mod:`unittest`." +msgstr "У цьому розділі докладно описано API :mod:`unittest`." + +msgid "Test cases" +msgstr "Тестові випадки" + +msgid "" +"Instances of the :class:`TestCase` class represent the logical test units in " +"the :mod:`unittest` universe. This class is intended to be used as a base " +"class, with specific tests being implemented by concrete subclasses. This " +"class implements the interface needed by the test runner to allow it to " +"drive the tests, and methods that the test code can use to check for and " +"report various kinds of failure." +msgstr "" +"Екземпляри класу :class:`TestCase` представляють логічні тестові одиниці у " +"всесвіті :mod:`unittest`. Цей клас призначений для використання в якості " +"базового класу з конкретними тестами, реалізованими конкретними підкласами. " +"Цей клас реалізує інтерфейс, необхідний виконавцю тестів, щоб дозволити йому " +"керувати тестами, і методи, які тестовий код може використовувати для " +"перевірки та звітування про різні види помилок." + +msgid "" +"Each instance of :class:`TestCase` will run a single base method: the method " +"named *methodName*. In most uses of :class:`TestCase`, you will neither " +"change the *methodName* nor reimplement the default ``runTest()`` method." +msgstr "" +"Кожен екземпляр :class:`TestCase` запускатиме один базовий метод: метод під " +"назвою *methodName*. У більшості випадків використання :class:`TestCase` ви " +"не змінюєте *methodName* і не реалізуєте метод за замовчуванням " +"``runTest()``." + +msgid "" +":class:`TestCase` can be instantiated successfully without providing a " +"*methodName*. This makes it easier to experiment with :class:`TestCase` from " +"the interactive interpreter." +msgstr "" +":class:`TestCase` можна успішно створити без надання *methodName*. Це " +"полегшує експерименти з :class:`TestCase` з інтерактивного інтерпретатора." + +msgid "" +":class:`TestCase` instances provide three groups of methods: one group used " +"to run the test, another used by the test implementation to check conditions " +"and report failures, and some inquiry methods allowing information about the " +"test itself to be gathered." +msgstr "" +"Екземпляри :class:`TestCase` забезпечують три групи методів: одна група " +"використовується для запуску тесту, інша використовується реалізацією тесту " +"для перевірки умов і звітування про помилки, а також деякі методи запиту, " +"які дозволяють збирати інформацію про сам тест." + +msgid "Methods in the first group (running the test) are:" +msgstr "Методи першої групи (проведення тесту) це:" + +msgid "" +"Method called to prepare the test fixture. This is called immediately " +"before calling the test method; other than :exc:`AssertionError` or :exc:" +"`SkipTest`, any exception raised by this method will be considered an error " +"rather than a test failure. The default implementation does nothing." +msgstr "" +"Метод, який називається для підготовки випробувального матеріалу. Це " +"викликається безпосередньо перед викликом тестового методу; крім :exc:" +"`AssertionError` або :exc:`SkipTest`, будь-який виняток, викликаний цим " +"методом, вважатиметься помилкою, а не помилкою тесту. Стандартна реалізація " +"нічого не робить." + +msgid "" +"Method called immediately after the test method has been called and the " +"result recorded. This is called even if the test method raised an " +"exception, so the implementation in subclasses may need to be particularly " +"careful about checking internal state. Any exception, other than :exc:" +"`AssertionError` or :exc:`SkipTest`, raised by this method will be " +"considered an additional error rather than a test failure (thus increasing " +"the total number of reported errors). This method will only be called if " +"the :meth:`setUp` succeeds, regardless of the outcome of the test method. " +"The default implementation does nothing." +msgstr "" +"Метод викликається відразу після виклику тестового методу та запису " +"результату. Це викликається, навіть якщо метод тестування викликав виняток, " +"тому реалізація в підкласах може потребувати особливої обережності щодо " +"перевірки внутрішнього стану. Будь-які винятки, окрім :exc:`AssertionError` " +"або :exc:`SkipTest`, викликані цим методом, вважатимуться додатковою " +"помилкою, а не помилкою тесту (таким чином збільшуючи загальну кількість " +"повідомлених помилок). Цей метод буде викликано, лише якщо :meth:`setUp` " +"завершиться успішно, незалежно від результату тестового методу. Стандартна " +"реалізація нічого не робить." + +msgid "" +"A class method called before tests in an individual class are run. " +"``setUpClass`` is called with the class as the only argument and must be " +"decorated as a :func:`classmethod`::" +msgstr "" +"Метод класу, який викликається перед виконанням тестів в окремому класі. " +"``setUpClass`` викликається з класом як єдиним аргументом і має бути " +"оформлений як :func:`classmethod`::" + +msgid "See `Class and Module Fixtures`_ for more details." +msgstr "Додаткову інформацію див. у розділі `Class and Module Fixtures`_." + +msgid "" +"A class method called after tests in an individual class have run. " +"``tearDownClass`` is called with the class as the only argument and must be " +"decorated as a :meth:`classmethod`::" +msgstr "" +"Метод класу, який викликається після виконання тестів в окремому класі. " +"``tearDownClass`` викликається з класом як єдиним аргументом і має бути " +"оформлений як :meth:`classmethod`::" + +msgid "" +"Run the test, collecting the result into the :class:`TestResult` object " +"passed as *result*. If *result* is omitted or ``None``, a temporary result " +"object is created (by calling the :meth:`defaultTestResult` method) and " +"used. The result object is returned to :meth:`run`'s caller." +msgstr "" +"Запустіть тест, зібравши результат в об’єкт :class:`TestResult`, переданий " +"як *result*. Якщо *результат* пропущено або ``None``, створюється та " +"використовується тимчасовий об’єкт результату (викликом методу :meth:" +"`defaultTestResult`). Об’єкт результату повертається до виклику :meth:`run`." + +msgid "" +"The same effect may be had by simply calling the :class:`TestCase` instance." +msgstr "" +"Такого ж ефекту можна отримати, просто викликавши екземпляр :class:" +"`TestCase`." + +msgid "" +"Previous versions of ``run`` did not return the result. Neither did calling " +"an instance." +msgstr "" +"Попередні версії ``run`` не повертали результат. Також не викликав інстанції." + +msgid "" +"Calling this during a test method or :meth:`setUp` skips the current test. " +"See :ref:`unittest-skipping` for more information." +msgstr "" +"Виклик цього під час тестового методу або :meth:`setUp` пропускає поточний " +"тест. Перегляньте :ref:`unittest-skipping` для отримання додаткової " +"інформації." + +msgid "" +"Return a context manager which executes the enclosed code block as a " +"subtest. *msg* and *params* are optional, arbitrary values which are " +"displayed whenever a subtest fails, allowing you to identify them clearly." +msgstr "" +"Повертає контекстний менеджер, який виконує вкладений блок коду як підтест. " +"*msg* і *params* є необов’язковими, довільними значеннями, які " +"відображаються щоразу, коли субтест проходить невдало, що дозволяє їх чітко " +"ідентифікувати." + +msgid "" +"A test case can contain any number of subtest declarations, and they can be " +"arbitrarily nested." +msgstr "" +"Тестовий приклад може містити будь-яку кількість оголошень субтесту, і вони " +"можуть бути довільно вкладеними." + +msgid "See :ref:`subtests` for more information." +msgstr "Перегляньте :ref:`subtests` для отримання додаткової інформації." + +msgid "" +"Run the test without collecting the result. This allows exceptions raised " +"by the test to be propagated to the caller, and can be used to support " +"running tests under a debugger." +msgstr "" +"Виконайте тест без отримання результату. Це дозволяє поширювати винятки, " +"викликані тестом, до викликаючого, і може бути використано для підтримки " +"запуску тестів під налагоджувачем." + +msgid "" +"The :class:`TestCase` class provides several assert methods to check for and " +"report failures. The following table lists the most commonly used methods " +"(see the tables below for more assert methods):" +msgstr "" +"Клас :class:`TestCase` надає кілька методів підтвердження для перевірки " +"помилок і звітування про них. У наведеній нижче таблиці перераховано " +"найпоширеніші методи (перегляньте таблиці нижче, щоб отримати більше методів " +"підтвердження):" + +msgid "Method" +msgstr "метод" + +msgid "Checks that" +msgstr "Перевіряє це" + +msgid "New in" +msgstr "Нове в" + +msgid ":meth:`assertEqual(a, b) `" +msgstr ":meth:`assertEqual(a, b) `" + +msgid "``a == b``" +msgstr "``a == b``" + +msgid ":meth:`assertNotEqual(a, b) `" +msgstr ":meth:`assertNotEqual(a, b) `" + +msgid "``a != b``" +msgstr "``a != b``" + +msgid ":meth:`assertTrue(x) `" +msgstr ":meth:`assertTrue(x) `" + +msgid "``bool(x) is True``" +msgstr "``bool(x) має значення True``" + +msgid ":meth:`assertFalse(x) `" +msgstr ":meth:`assertFalse(x) `" + +msgid "``bool(x) is False``" +msgstr "``bool(x) є False``" + +msgid ":meth:`assertIs(a, b) `" +msgstr ":meth:`assertIs(a, b) `" + +msgid "``a is b``" +msgstr "``a є b``" + +msgid "3.1" +msgstr "3.1" + +msgid ":meth:`assertIsNot(a, b) `" +msgstr ":meth:`assertIsNot(a, b) `" + +msgid "``a is not b``" +msgstr "``a не є b``" + +msgid ":meth:`assertIsNone(x) `" +msgstr ":meth:`assertIsNone(x) `" + +msgid "``x is None``" +msgstr "``x не має значення``" + +msgid ":meth:`assertIsNotNone(x) `" +msgstr ":meth:`assertIsNotNone(x) `" + +msgid "``x is not None``" +msgstr "``x не є None``" + +msgid ":meth:`assertIn(a, b) `" +msgstr ":meth:`assertIn(a, b) `" + +msgid "``a in b``" +msgstr "``a в b``" + +msgid ":meth:`assertNotIn(a, b) `" +msgstr ":meth:`assertNotIn(a, b) `" + +msgid "``a not in b``" +msgstr "``a не в b``" + +msgid ":meth:`assertIsInstance(a, b) `" +msgstr ":meth:`assertIsInstance(a, b) `" + +msgid "``isinstance(a, b)``" +msgstr "``isinstance(a, b)``" + +msgid "3.2" +msgstr "3.2" + +msgid ":meth:`assertNotIsInstance(a, b) `" +msgstr ":meth:`assertNotIsInstance(a, b) `" + +msgid "``not isinstance(a, b)``" +msgstr "``не екземпляр(a, b)``" + +msgid "" +"All the assert methods accept a *msg* argument that, if specified, is used " +"as the error message on failure (see also :data:`longMessage`). Note that " +"the *msg* keyword argument can be passed to :meth:`assertRaises`, :meth:" +"`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` only when " +"they are used as a context manager." +msgstr "" +"Усі методи assert приймають аргумент *msg*, який, якщо вказано, " +"використовується як повідомлення про помилку у разі помилки (див. також :" +"data:`longMessage`). Зауважте, що аргумент ключового слова *msg* можна " +"передати до :meth:`assertRaises`, :meth:`assertRaisesRegex`, :meth:" +"`assertWarns`, :meth:`assertWarnsRegex` лише тоді, коли вони " +"використовуються як менеджер контексту." + +msgid "" +"Test that *first* and *second* are equal. If the values do not compare " +"equal, the test will fail." +msgstr "" +"Перевірте, що *перше* і *друге* рівні. Якщо порівняльні значення не " +"однакові, тест буде невдалим." + +msgid "" +"In addition, if *first* and *second* are the exact same type and one of " +"list, tuple, dict, set, frozenset or str or any type that a subclass " +"registers with :meth:`addTypeEqualityFunc` the type-specific equality " +"function will be called in order to generate a more useful default error " +"message (see also the :ref:`list of type-specific methods `)." +msgstr "" +"Крім того, якщо *first* і *second* мають той самий тип і один із list, " +"tuple, dict, set, frozenset або str або будь-який тип, який підклас реєструє " +"за допомогою :meth:`addTypeEqualityFunc`, специфічна для типу функція " +"рівності буде викликано, щоб створити більш корисне повідомлення про помилку " +"за замовчуванням (див. також :ref:`список специфічних для типу методів `)." + +msgid "Added the automatic calling of type-specific equality function." +msgstr "Додано автоматичний виклик функції рівності для певного типу." + +msgid "" +":meth:`assertMultiLineEqual` added as the default type equality function for " +"comparing strings." +msgstr "" +":meth:`assertMultiLineEqual` додано як функцію рівності типів за умовчанням " +"для порівняння рядків." + +msgid "" +"Test that *first* and *second* are not equal. If the values do compare " +"equal, the test will fail." +msgstr "" +"Перевірте, що *перше* і *друге* не рівні. Якщо порівняльні значення " +"однакові, тест буде невдалим." + +msgid "Test that *expr* is true (or false)." +msgstr "Перевірте, що *expr* є істинним (або хибним)." + +msgid "" +"Note that this is equivalent to ``bool(expr) is True`` and not to ``expr is " +"True`` (use ``assertIs(expr, True)`` for the latter). This method should " +"also be avoided when more specific methods are available (e.g. " +"``assertEqual(a, b)`` instead of ``assertTrue(a == b)``), because they " +"provide a better error message in case of failure." +msgstr "" +"Зауважте, що це еквівалентно ``bool(expr) is True``, а не ``expr is True`` " +"(використовуйте ``assertIs(expr, True)`` для останнього). Також слід уникати " +"цього методу, якщо доступні більш специфічні методи (наприклад, " +"``assertEqual(a, b)`` замість ``assertTrue(a == b)``), тому що вони надають " +"краще повідомлення про помилку в разі невдачі ." + +msgid "Test that *first* and *second* are (or are not) the same object." +msgstr "Перевірте, чи *перший* і *другий* є (чи не є) одним і тим же об’єктом." + +msgid "Test that *expr* is (or is not) ``None``." +msgstr "Перевірте, що *expr* є (чи не є) ``None``." + +msgid "Test that *member* is (or is not) in *container*." +msgstr "Перевірте, чи *член* є (чи ні) у *контейнері*." + +msgid "" +"Test that *obj* is (or is not) an instance of *cls* (which can be a class or " +"a tuple of classes, as supported by :func:`isinstance`). To check for the " +"exact type, use :func:`assertIs(type(obj), cls) `." +msgstr "" +"Перевірте, що *obj* є (або не є) екземпляром *cls* (який може бути класом " +"або кортежем класів, як підтримується :func:`isinstance`). Щоб перевірити " +"точний тип, використовуйте :func:`assertIs(type(obj), cls) `." + +msgid "" +"It is also possible to check the production of exceptions, warnings, and log " +"messages using the following methods:" +msgstr "" +"Також можна перевірити створення винятків, попереджень і повідомлень журналу " +"за допомогою таких методів:" + +msgid ":meth:`assertRaises(exc, fun, *args, **kwds) `" +msgstr ":meth:`assertRaises(exc, fun, *args, **kwds) `" + +msgid "``fun(*args, **kwds)`` raises *exc*" +msgstr "``fun(*args, **kwds)`` підвищує *exc*" + +msgid "" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" +msgstr "" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" + +msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" +msgstr "" +"``fun(*args, **kwds)`` викликає *exc* і повідомлення відповідає регулярному " +"виразу *r*" + +msgid ":meth:`assertWarns(warn, fun, *args, **kwds) `" +msgstr ":meth:`assertWarns(warn, fun, *args, **kwds) `" + +msgid "``fun(*args, **kwds)`` raises *warn*" +msgstr "``fun(*args, **kwds)`` викликає *попередження*" + +msgid "" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" +msgstr "" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" + +msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" +msgstr "" +"``fun(*args, **kwds)`` викликає *warn* і повідомлення відповідає регулярному " +"виразу *r*" + +msgid ":meth:`assertLogs(logger, level) `" +msgstr ":meth:`assertLogs(реєстратор, рівень) `" + +msgid "The ``with`` block logs on *logger* with minimum *level*" +msgstr "Блок ``with`` реєструє *реєстратор* з мінімальним *рівнем*" + +msgid "3.4" +msgstr "3.4" + +msgid ":meth:`assertNoLogs(logger, level) `" +msgstr ":meth:`assertNoLogs(реєстратор, рівень) `" + +msgid "The ``with`` block does not log on" +msgstr "Блок ``with`` не входить в систему" + +msgid "*logger* with minimum *level*" +msgstr "*логгер* з мінімальним *рівнем*" + +msgid "3.10" +msgstr "3.10" + +msgid "" +"Test that an exception is raised when *callable* is called with any " +"positional or keyword arguments that are also passed to :meth:" +"`assertRaises`. The test passes if *exception* is raised, is an error if " +"another exception is raised, or fails if no exception is raised. To catch " +"any of a group of exceptions, a tuple containing the exception classes may " +"be passed as *exception*." +msgstr "" +"Перевірте, чи виникає виняток, коли *callable* викликається з будь-якими " +"позиційними або ключовими аргументами, які також передаються в :meth:" +"`assertRaises`. Перевірка проходить, якщо виникає *виняток*, вважається " +"помилкою, якщо викликається інший виняток, або не виконується, якщо винятку " +"не виникає. Щоб перехопити будь-яку групу винятків, кортеж, що містить класи " +"винятків, можна передати як *виняток*." + +msgid "" +"If only the *exception* and possibly the *msg* arguments are given, return a " +"context manager so that the code under test can be written inline rather " +"than as a function::" +msgstr "" +"Якщо подано лише аргументи *exception* і, можливо, *msg*, поверніть " +"диспетчер контексту, щоб тестований код можна було записати вбудовано, а не " +"як функцію::" + +msgid "" +"When used as a context manager, :meth:`assertRaises` accepts the additional " +"keyword argument *msg*." +msgstr "" +"У разі використання як менеджера контексту :meth:`assertRaises` приймає " +"додатковий аргумент ключового слова *msg*." + +msgid "" +"The context manager will store the caught exception object in its :attr:" +"`exception` attribute. This can be useful if the intention is to perform " +"additional checks on the exception raised::" +msgstr "" +"Менеджер контексту збереже спійманий об’єкт винятку в своєму атрибуті :attr:" +"`exception`. Це може бути корисним, якщо планується виконати додаткові " +"перевірки викликаного винятку:" + +msgid "Added the ability to use :meth:`assertRaises` as a context manager." +msgstr "" +"Додано можливість використовувати :meth:`assertRaises` як контекстний " +"менеджер." + +msgid "Added the :attr:`exception` attribute." +msgstr "Додано атрибут :attr:`exception`." + +msgid "Added the *msg* keyword argument when used as a context manager." +msgstr "" +"Додано аргумент ключового слова *msg*, коли він використовується як менеджер " +"контексту." + +msgid "" +"Like :meth:`assertRaises` but also tests that *regex* matches on the string " +"representation of the raised exception. *regex* may be a regular expression " +"object or a string containing a regular expression suitable for use by :func:" +"`re.search`. Examples::" +msgstr "" +"Подібно до :meth:`assertRaises`, але також перевіряє, що *regex* відповідає " +"рядковому представленню викликаного винятку. *regex* може бути об’єктом " +"регулярного виразу або рядком, що містить регулярний вираз, придатний для " +"використання :func:`re.search`. Приклади::" + +msgid "or::" +msgstr "або::" + +msgid "Added under the name ``assertRaisesRegexp``." +msgstr "Додано під назвою ``assertRaisesRegexp``." + +msgid "Renamed to :meth:`assertRaisesRegex`." +msgstr "Перейменовано на :meth:`assertRaisesRegex`." + +msgid "" +"Test that a warning is triggered when *callable* is called with any " +"positional or keyword arguments that are also passed to :meth:" +"`assertWarns`. The test passes if *warning* is triggered and fails if it " +"isn't. Any exception is an error. To catch any of a group of warnings, a " +"tuple containing the warning classes may be passed as *warnings*." +msgstr "" +"Перевірте, чи спрацьовує попередження, коли *callable* викликається з будь-" +"якими позиційними або ключовими аргументами, які також передаються до :meth:" +"`assertWarns`. Тест проходить, якщо спрацьовує *попередження*, і не " +"виконується, якщо ні. Будь-який виняток є помилкою. Щоб перехопити будь-яку " +"групу попереджень, кортеж, що містить класи попереджень, можна передати як " +"*попередження*." + +msgid "" +"If only the *warning* and possibly the *msg* arguments are given, return a " +"context manager so that the code under test can be written inline rather " +"than as a function::" +msgstr "" +"Якщо надано лише аргументи *попередження* і, можливо, *повідомлення*, " +"поверніть диспетчер контексту, щоб тестований код можна було записати " +"вбудовано, а не як функцію::" + +msgid "" +"When used as a context manager, :meth:`assertWarns` accepts the additional " +"keyword argument *msg*." +msgstr "" +"У разі використання як менеджера контексту :meth:`assertWarns` приймає " +"додатковий аргумент ключового слова *msg*." + +msgid "" +"The context manager will store the caught warning object in its :attr:" +"`warning` attribute, and the source line which triggered the warnings in " +"the :attr:`filename` and :attr:`lineno` attributes. This can be useful if " +"the intention is to perform additional checks on the warning caught::" +msgstr "" +"Менеджер контексту збереже спійманий об’єкт попередження в атрибуті :attr:" +"`warning`, а вихідний рядок, який викликав попередження, в атрибутах :attr:" +"`filename` і :attr:`lineno`. Це може бути корисним, якщо планується виконати " +"додаткові перевірки виявленого попередження:" + +msgid "" +"This method works regardless of the warning filters in place when it is " +"called." +msgstr "" +"Цей метод працює незалежно від фільтрів попереджень під час його виклику." + +msgid "" +"Like :meth:`assertWarns` but also tests that *regex* matches on the message " +"of the triggered warning. *regex* may be a regular expression object or a " +"string containing a regular expression suitable for use by :func:`re." +"search`. Example::" +msgstr "" +"Подібно до :meth:`assertWarns`, але також перевіряє відповідність *regex* у " +"повідомленні викликаного попередження. *regex* може бути об’єктом " +"регулярного виразу або рядком, що містить регулярний вираз, придатний для " +"використання :func:`re.search`. Приклад::" + +msgid "" +"A context manager to test that at least one message is logged on the " +"*logger* or one of its children, with at least the given *level*." +msgstr "" +"Менеджер контексту для перевірки того, що принаймні одне повідомлення " +"зареєстровано в *реєстраторі* або одному з його дочірніх елементів, " +"принаймні з заданим *рівнем*." + +msgid "" +"If given, *logger* should be a :class:`logging.Logger` object or a :class:" +"`str` giving the name of a logger. The default is the root logger, which " +"will catch all messages that were not blocked by a non-propagating " +"descendent logger." +msgstr "" +"Якщо задано, *logger* має бути об’єктом :class:`logging.Logger` або :class:" +"`str`, що вказує назву реєстратора. За замовчуванням використовується " +"кореневий реєстратор, який фіксуватиме всі повідомлення, які не були " +"заблоковані нащадковим реєстратором без розповсюдження." + +msgid "" +"If given, *level* should be either a numeric logging level or its string " +"equivalent (for example either ``\"ERROR\"`` or :attr:`logging.ERROR`). The " +"default is :attr:`logging.INFO`." +msgstr "" +"Якщо задано, *level* має бути або числовим рівнем журналювання, або його " +"еквівалентом у рядку (наприклад, ``\"ERROR\"`` або :attr:`logging.ERROR`). " +"Типовим є :attr:`logging.INFO`." + +msgid "" +"The test passes if at least one message emitted inside the ``with`` block " +"matches the *logger* and *level* conditions, otherwise it fails." +msgstr "" +"Тест проходить, якщо принаймні одне повідомлення, видане всередині блоку " +"``with``, відповідає умовам *logger* і *level*, в іншому випадку він не " +"виконується." + +msgid "" +"The object returned by the context manager is a recording helper which keeps " +"tracks of the matching log messages. It has two attributes:" +msgstr "" +"Об’єкт, який повертає менеджер контексту, є помічником запису, який " +"відстежує відповідні повідомлення журналу. Він має два атрибути:" + +msgid "" +"A list of :class:`logging.LogRecord` objects of the matching log messages." +msgstr "" +"Список об’єктів :class:`logging.LogRecord` відповідних повідомлень журналу." + +msgid "" +"A list of :class:`str` objects with the formatted output of matching " +"messages." +msgstr "" +"Список об’єктів :class:`str` із відформатованим виведенням відповідних " +"повідомлень." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"A context manager to test that no messages are logged on the *logger* or one " +"of its children, with at least the given *level*." +msgstr "" +"Менеджер контексту для перевірки того, що жодні повідомлення не реєструються " +"в *реєстраторі* або одному з його дочірніх елементів, принаймні з заданим " +"*рівнем*." + +msgid "" +"If given, *logger* should be a :class:`logging.Logger` object or a :class:" +"`str` giving the name of a logger. The default is the root logger, which " +"will catch all messages." +msgstr "" +"Якщо задано, *logger* має бути об’єктом :class:`logging.Logger` або :class:" +"`str`, що вказує назву реєстратора. Типовим є кореневий реєстратор, який " +"фіксуватиме всі повідомлення." + +msgid "" +"Unlike :meth:`assertLogs`, nothing will be returned by the context manager." +msgstr "" +"На відміну від :meth:`assertLogs`, контекстний менеджер нічого не " +"повертатиме." + +msgid "" +"There are also other methods used to perform more specific checks, such as:" +msgstr "" +"Існують також інші методи, які використовуються для виконання більш " +"конкретних перевірок, наприклад:" + +msgid ":meth:`assertAlmostEqual(a, b) `" +msgstr ":meth:`assertAlmostEqual(a, b) `" + +msgid "``round(a-b, 7) == 0``" +msgstr "``round(a-b, 7) == 0``" + +msgid ":meth:`assertNotAlmostEqual(a, b) `" +msgstr ":meth:`assertNotAlmostEqual(a, b) `" + +msgid "``round(a-b, 7) != 0``" +msgstr "``округлення(a-b, 7) != 0``" + +msgid ":meth:`assertGreater(a, b) `" +msgstr ":meth:`assertGreater(a, b) `" + +msgid "``a > b``" +msgstr "``a > b``" + +msgid ":meth:`assertGreaterEqual(a, b) `" +msgstr ":meth:`assertGreaterEqual(a, b) `" + +msgid "``a >= b``" +msgstr "``a >= b``" + +msgid ":meth:`assertLess(a, b) `" +msgstr ":meth:`assertLess(a, b) `" + +msgid "``a < b``" +msgstr "``a < b``" + +msgid ":meth:`assertLessEqual(a, b) `" +msgstr ":meth:`assertLessEqual(a, b) `" + +msgid "``a <= b``" +msgstr "``a <= b``" + +msgid ":meth:`assertRegex(s, r) `" +msgstr ":meth:`assertRegex(s, r) `" + +msgid "``r.search(s)``" +msgstr "``r.search(s)``" + +msgid ":meth:`assertNotRegex(s, r) `" +msgstr ":meth:`assertNotRegex(s, r) `" + +msgid "``not r.search(s)``" +msgstr "``не r.search(s)``" + +msgid ":meth:`assertCountEqual(a, b) `" +msgstr ":meth:`assertCountEqual(a, b) `" + +msgid "" +"*a* and *b* have the same elements in the same number, regardless of their " +"order." +msgstr "" +"*a* і *b* містять однакові елементи в однаковій кількості, незалежно від їх " +"порядку." + +msgid "" +"Test that *first* and *second* are approximately (or not approximately) " +"equal by computing the difference, rounding to the given number of decimal " +"*places* (default 7), and comparing to zero. Note that these methods round " +"the values to the given number of *decimal places* (i.e. like the :func:" +"`round` function) and not *significant digits*." +msgstr "" +"Перевірте, що *перший* і *другий* приблизно (чи не приблизно) рівні, " +"обчислюючи різницю, округляючи до вказаної кількості десяткових *розрядів* " +"(за замовчуванням 7) і порівнюючи з нулем. Зауважте, що ці методи округлюють " +"значення до заданої кількості *десяткових знаків* (тобто як функція :func:" +"`round`), а не до *значущих цифр*." + +msgid "" +"If *delta* is supplied instead of *places* then the difference between " +"*first* and *second* must be less or equal to (or greater than) *delta*." +msgstr "" +"Якщо замість *розрядів* вказано *delta*, тоді різниця між *першим* і " +"*другим* має бути менше або дорівнювати (або більше) *delta*." + +msgid "Supplying both *delta* and *places* raises a :exc:`TypeError`." +msgstr "Надання *delta* і *places* викликає :exc:`TypeError`." + +msgid "" +":meth:`assertAlmostEqual` automatically considers almost equal objects that " +"compare equal. :meth:`assertNotAlmostEqual` automatically fails if the " +"objects compare equal. Added the *delta* keyword argument." +msgstr "" +":meth:`assertAlmostEqual` автоматично вважає майже рівні об’єкти, які " +"порівнюються рівними. :meth:`assertNotAlmostEqual` автоматично не " +"виконується, якщо об’єкти порівнюються. Додано аргумент ключового слова " +"*дельта*." + +msgid "" +"Test that *first* is respectively >, >=, < or <= than *second* depending on " +"the method name. If not, the test will fail::" +msgstr "" +"Перевірте, що *first* відповідно >, >=, < або <= ніж *second* залежно від " +"назви методу. Якщо ні, тест не пройде:" + +msgid "" +"Test that a *regex* search matches (or does not match) *text*. In case of " +"failure, the error message will include the pattern and the *text* (or the " +"pattern and the part of *text* that unexpectedly matched). *regex* may be a " +"regular expression object or a string containing a regular expression " +"suitable for use by :func:`re.search`." +msgstr "" +"Перевірте, чи *регулярний вираз* пошуку відповідає (або не відповідає) " +"*тексту*. У разі помилки повідомлення про помилку міститиме шаблон і *текст* " +"(або шаблон і частину *тексту*, які неочікувано збіглися). *regex* може бути " +"об’єктом регулярного виразу або рядком, що містить регулярний вираз, " +"придатний для використання :func:`re.search`." + +msgid "Added under the name ``assertRegexpMatches``." +msgstr "Додано під назвою ``assertRegexpMatches``." + +msgid "" +"The method ``assertRegexpMatches()`` has been renamed to :meth:`." +"assertRegex`." +msgstr "" +"Метод ``assertRegexpMatches()`` було перейменовано на :meth:`.assertRegex`." + +msgid ":meth:`.assertNotRegex`." +msgstr ":meth:`.assertNotRegex`." + +msgid "" +"The name ``assertNotRegexpMatches`` is a deprecated alias for :meth:`." +"assertNotRegex`." +msgstr "" +"Назва ``assertNotRegexpMatches`` є застарілим псевдонімом для :meth:`." +"assertNotRegex`." + +msgid "" +"Test that sequence *first* contains the same elements as *second*, " +"regardless of their order. When they don't, an error message listing the " +"differences between the sequences will be generated." +msgstr "" +"Перевірте, чи послідовність *first* містить ті самі елементи, що й *second*, " +"незалежно від їх порядку. Якщо цього не зробити, буде згенеровано " +"повідомлення про помилку з переліком відмінностей між послідовностями." + +msgid "" +"Duplicate elements are *not* ignored when comparing *first* and *second*. It " +"verifies whether each element has the same count in both sequences. " +"Equivalent to: ``assertEqual(Counter(list(first)), Counter(list(second)))`` " +"but works with sequences of unhashable objects as well." +msgstr "" +"Повторювані елементи *не* ігноруються під час порівняння *першого* та " +"*другого*. Він перевіряє, чи кожен елемент має однакову кількість в обох " +"послідовностях. Еквівалент: ``assertEqual(Counter(list(first)), " +"Counter(list(second)))``, але також працює з послідовностями нехешованих " +"об’єктів." + +msgid "" +"The :meth:`assertEqual` method dispatches the equality check for objects of " +"the same type to different type-specific methods. These methods are already " +"implemented for most of the built-in types, but it's also possible to " +"register new methods using :meth:`addTypeEqualityFunc`:" +msgstr "" +"Метод :meth:`assertEqual` надсилає перевірку рівності для об’єктів одного " +"типу до різних методів, що залежать від типу. Ці методи вже реалізовано для " +"більшості вбудованих типів, але також можна зареєструвати нові методи за " +"допомогою :meth:`addTypeEqualityFunc`:" + +msgid "" +"Registers a type-specific method called by :meth:`assertEqual` to check if " +"two objects of exactly the same *typeobj* (not subclasses) compare equal. " +"*function* must take two positional arguments and a third msg=None keyword " +"argument just as :meth:`assertEqual` does. It must raise :data:`self." +"failureException(msg) ` when inequality between the first " +"two parameters is detected -- possibly providing useful information and " +"explaining the inequalities in details in the error message." +msgstr "" +"Реєструє специфічний для типу метод, викликаний :meth:`assertEqual`, щоб " +"перевірити, чи порівнюються два об’єкти абсолютно однакового *typeobj* (не " +"підкласи). *функція* має приймати два позиційних аргументи та третій " +"аргумент ключового слова msg=None так само, як це робить :meth:" +"`assertEqual`. Він повинен викликати :data:`self.failureException(msg) " +"`, коли виявлено нерівність між першими двома параметрами " +"— можливо, надаючи корисну інформацію та докладно пояснюючи нерівності в " +"повідомленні про помилку." + +msgid "" +"The list of type-specific methods automatically used by :meth:`~TestCase." +"assertEqual` are summarized in the following table. Note that it's usually " +"not necessary to invoke these methods directly." +msgstr "" +"Список специфічних для типу методів, які автоматично використовує :meth:" +"`~TestCase.assertEqual`, підсумовано в наступній таблиці. Зауважте, що " +"зазвичай не потрібно безпосередньо викликати ці методи." + +msgid "Used to compare" +msgstr "Використовується для порівняння" + +msgid ":meth:`assertMultiLineEqual(a, b) `" +msgstr ":meth:`assertMultiLineEqual(a, b) `" + +msgid "strings" +msgstr "рядки" + +msgid ":meth:`assertSequenceEqual(a, b) `" +msgstr ":meth:`assertSequenceEqual(a, b) `" + +msgid "sequences" +msgstr "послідовності" + +msgid ":meth:`assertListEqual(a, b) `" +msgstr ":meth:`assertListEqual(a, b) `" + +msgid "lists" +msgstr "списки" + +msgid ":meth:`assertTupleEqual(a, b) `" +msgstr ":meth:`assertTupleEqual(a, b) `" + +msgid "tuples" +msgstr "кортежі" + +msgid ":meth:`assertSetEqual(a, b) `" +msgstr ":meth:`assertSetEqual(a, b) `" + +msgid "sets or frozensets" +msgstr "набори або заморожені набори" + +msgid ":meth:`assertDictEqual(a, b) `" +msgstr ":meth:`assertDictEqual(a, b) `" + +msgid "dicts" +msgstr "дикт" + +msgid "" +"Test that the multiline string *first* is equal to the string *second*. When " +"not equal a diff of the two strings highlighting the differences will be " +"included in the error message. This method is used by default when comparing " +"strings with :meth:`assertEqual`." +msgstr "" +"Перевірте, чи багаторядковий рядок *перший* дорівнює рядку *другий*. Якщо " +"відмінність двох рядків не дорівнює, у повідомленні про помилку буде " +"включено виділення відмінностей. Цей метод використовується за замовчуванням " +"під час порівняння рядків із :meth:`assertEqual`." + +msgid "" +"Tests that two sequences are equal. If a *seq_type* is supplied, both " +"*first* and *second* must be instances of *seq_type* or a failure will be " +"raised. If the sequences are different an error message is constructed that " +"shows the difference between the two." +msgstr "" +"Перевіряє рівність двох послідовностей. Якщо вказано *seq_type*, і *first*, " +"і *second* мають бути екземплярами *seq_type*, інакше виникне помилка. Якщо " +"послідовності відрізняються, створюється повідомлення про помилку, яке " +"показує різницю між ними." + +msgid "" +"This method is not called directly by :meth:`assertEqual`, but it's used to " +"implement :meth:`assertListEqual` and :meth:`assertTupleEqual`." +msgstr "" +"Цей метод не викликається безпосередньо :meth:`assertEqual`, але він " +"використовується для реалізації :meth:`assertListEqual` і :meth:" +"`assertTupleEqual`." + +msgid "" +"Tests that two lists or tuples are equal. If not, an error message is " +"constructed that shows only the differences between the two. An error is " +"also raised if either of the parameters are of the wrong type. These methods " +"are used by default when comparing lists or tuples with :meth:`assertEqual`." +msgstr "" +"Перевіряє рівність двох списків або кортежів. Якщо ні, створюється " +"повідомлення про помилку, яке показує лише відмінності між ними. Помилка " +"також виникає, якщо один із параметрів має неправильний тип. Ці методи " +"використовуються за замовчуванням під час порівняння списків або кортежів " +"із :meth:`assertEqual`." + +msgid "" +"Tests that two sets are equal. If not, an error message is constructed that " +"lists the differences between the sets. This method is used by default when " +"comparing sets or frozensets with :meth:`assertEqual`." +msgstr "" +"Перевіряє рівність двох наборів. Якщо ні, створюється повідомлення про " +"помилку, яке містить перелік відмінностей між наборами. Цей метод " +"використовується за замовчуванням під час порівняння наборів або заморожених " +"наборів за допомогою :meth:`assertEqual`." + +msgid "" +"Fails if either of *first* or *second* does not have a :meth:`set." +"difference` method." +msgstr "" +"Помилка, якщо *first* або *second* не має методу :meth:`set.difference`." + +msgid "" +"Test that two dictionaries are equal. If not, an error message is " +"constructed that shows the differences in the dictionaries. This method will " +"be used by default to compare dictionaries in calls to :meth:`assertEqual`." +msgstr "" +"Перевірте рівність двох словників. Якщо ні, створюється повідомлення про " +"помилку, яке показує відмінності в словниках. Цей метод " +"використовуватиметься за умовчанням для порівняння словників у викликах :" +"meth:`assertEqual`." + +msgid "" +"Finally the :class:`TestCase` provides the following methods and attributes:" +msgstr "Нарешті, :class:`TestCase` надає такі методи та атрибути:" + +msgid "" +"Signals a test failure unconditionally, with *msg* or ``None`` for the error " +"message." +msgstr "" +"Безумовно сигналізує про помилку тесту за допомогою *msg* або ``None`` для " +"повідомлення про помилку." + +msgid "" +"This class attribute gives the exception raised by the test method. If a " +"test framework needs to use a specialized exception, possibly to carry " +"additional information, it must subclass this exception in order to \"play " +"fair\" with the framework. The initial value of this attribute is :exc:" +"`AssertionError`." +msgstr "" +"Цей атрибут класу дає виняток, викликаний методом тестування. Якщо тестова " +"структура потребує використання спеціалізованого винятку, можливо, для " +"передачі додаткової інформації, вона повинна створити підклас цього винятку, " +"щоб \"грати чесно\" з структурою. Початковим значенням цього атрибута є :exc:" +"`AssertionError`." + +msgid "" +"This class attribute determines what happens when a custom failure message " +"is passed as the msg argument to an assertXYY call that fails. ``True`` is " +"the default value. In this case, the custom message is appended to the end " +"of the standard failure message. When set to ``False``, the custom message " +"replaces the standard message." +msgstr "" +"Цей атрибут класу визначає, що відбувається, коли настроюване повідомлення " +"про помилку передається як аргумент msg для виклику assertXYY, який " +"завершується помилкою. ``True`` - значення за умовчанням. У цьому випадку " +"спеціальне повідомлення додається в кінець стандартного повідомлення про " +"помилку. Якщо встановлено значення ``False``, спеціальне повідомлення " +"замінює стандартне повідомлення." + +msgid "" +"The class setting can be overridden in individual test methods by assigning " +"an instance attribute, self.longMessage, to ``True`` or ``False`` before " +"calling the assert methods." +msgstr "" +"Налаштування класу можна перевизначити в окремих методах тестування, " +"призначивши атрибуту екземпляра self.longMessage значення ``True`` або " +"``False`` перед викликом методів assert." + +msgid "The class setting gets reset before each test call." +msgstr "Налаштування класу скидається перед кожним тестовим викликом." + +msgid "" +"This attribute controls the maximum length of diffs output by assert methods " +"that report diffs on failure. It defaults to 80*8 characters. Assert methods " +"affected by this attribute are :meth:`assertSequenceEqual` (including all " +"the sequence comparison methods that delegate to it), :meth:" +"`assertDictEqual` and :meth:`assertMultiLineEqual`." +msgstr "" +"Цей атрибут контролює максимальну довжину виведення відмінностей методами " +"assert, які повідомляють про відмінності у разі помилки. За замовчуванням " +"80*8 символів. Методи підтвердження, на які впливає цей атрибут: :meth:" +"`assertSequenceEqual` (включно з усіма методами порівняння послідовностей, " +"які йому делегують), :meth:`assertDictEqual` і :meth:`assertMultiLineEqual`." + +msgid "" +"Setting ``maxDiff`` to ``None`` means that there is no maximum length of " +"diffs." +msgstr "" +"Встановлення ``maxDiff`` на ``None`` означає, що не існує максимальної " +"довжини відмінностей." + +msgid "" +"Testing frameworks can use the following methods to collect information on " +"the test:" +msgstr "" +"Платформи тестування можуть використовувати такі методи для збору інформації " +"про тест:" + +msgid "" +"Return the number of tests represented by this test object. For :class:" +"`TestCase` instances, this will always be ``1``." +msgstr "" +"Повертає кількість тестів, представлених цим тестовим об’єктом. Для " +"екземплярів :class:`TestCase` це завжди буде ``1``." + +msgid "" +"Return an instance of the test result class that should be used for this " +"test case class (if no other result instance is provided to the :meth:`run` " +"method)." +msgstr "" +"Повертає екземпляр класу результатів тесту, який слід використовувати для " +"цього класу тестів (якщо для методу :meth:`run` не надано інший екземпляр " +"результату)." + +msgid "" +"For :class:`TestCase` instances, this will always be an instance of :class:" +"`TestResult`; subclasses of :class:`TestCase` should override this as " +"necessary." +msgstr "" +"Для екземплярів :class:`TestCase` це завжди буде екземпляр :class:" +"`TestResult`; підкласи :class:`TestCase` мають замінити це, якщо необхідно." + +msgid "" +"Return a string identifying the specific test case. This is usually the " +"full name of the test method, including the module and class name." +msgstr "" +"Повертає рядок, що ідентифікує конкретний тест. Зазвичай це повна назва " +"тестового методу, включаючи назву модуля та класу." + +msgid "" +"Returns a description of the test, or ``None`` if no description has been " +"provided. The default implementation of this method returns the first line " +"of the test method's docstring, if available, or ``None``." +msgstr "" +"Повертає опис тесту або ``None``, якщо опис не надано. Реалізація цього " +"методу за замовчуванням повертає перший рядок документації тестового методу, " +"якщо доступний, або ``None``." + +msgid "" +"In 3.1 this was changed to add the test name to the short description even " +"in the presence of a docstring. This caused compatibility issues with " +"unittest extensions and adding the test name was moved to the :class:" +"`TextTestResult` in Python 3.2." +msgstr "" +"У 3.1 це було змінено, щоб додати назву тесту до короткого опису навіть за " +"наявності рядка документації. Це викликало проблеми сумісності з " +"розширеннями unittest, і додавання назви тесту було перенесено до :class:" +"`TextTestResult` у Python 3.2." + +msgid "" +"Add a function to be called after :meth:`tearDown` to cleanup resources used " +"during the test. Functions will be called in reverse order to the order they " +"are added (:abbr:`LIFO (last-in, first-out)`). They are called with any " +"arguments and keyword arguments passed into :meth:`addCleanup` when they are " +"added." +msgstr "" +"Додайте функцію, яка буде викликатися після :meth:`tearDown` для очищення " +"ресурсів, використаних під час тесту. Функції будуть викликані в порядку, " +"зворотному порядку їх додавання (:abbr:`LIFO (останній прийшов, перший " +"вийшов)`). Вони викликаються з будь-якими аргументами та ключовими " +"аргументами, які передаються в :meth:`addCleanup` під час їх додавання." + +msgid "" +"If :meth:`setUp` fails, meaning that :meth:`tearDown` is not called, then " +"any cleanup functions added will still be called." +msgstr "" +"Якщо :meth:`setUp` не вдається, тобто :meth:`tearDown` не викликається, тоді " +"будь-які додані функції очищення все одно будуть викликані." + +msgid "" +"Enter the supplied :term:`context manager`. If successful, also add its :" +"meth:`~object.__exit__` method as a cleanup function by :meth:`addCleanup` " +"and return the result of the :meth:`~object.__enter__` method." +msgstr "" + +msgid "" +"This method is called unconditionally after :meth:`tearDown`, or after :meth:" +"`setUp` if :meth:`setUp` raises an exception." +msgstr "" +"Цей метод викликається безумовно після :meth:`tearDown` або після :meth:" +"`setUp`, якщо :meth:`setUp` викликає виняткову ситуацію." + +msgid "" +"It is responsible for calling all the cleanup functions added by :meth:" +"`addCleanup`. If you need cleanup functions to be called *prior* to :meth:" +"`tearDown` then you can call :meth:`doCleanups` yourself." +msgstr "" +"Він відповідає за виклик усіх функцій очищення, доданих :meth:`addCleanup`. " +"Якщо вам потрібно, щоб функції очищення викликалися *перед* :meth:" +"`tearDown`, ви можете викликати :meth:`doCleanups` самостійно." + +msgid "" +":meth:`doCleanups` pops methods off the stack of cleanup functions one at a " +"time, so it can be called at any time." +msgstr "" +":meth:`doCleanups` витягує методи зі стеку функцій очищення по одному, тому " +"їх можна викликати будь-коли." + +msgid "" +"Add a function to be called after :meth:`tearDownClass` to cleanup resources " +"used during the test class. Functions will be called in reverse order to the " +"order they are added (:abbr:`LIFO (last-in, first-out)`). They are called " +"with any arguments and keyword arguments passed into :meth:`addClassCleanup` " +"when they are added." +msgstr "" +"Додайте функцію, яка буде викликатися після :meth:`tearDownClass` до " +"ресурсів очищення, використаних під час тестового класу. Функції будуть " +"викликані в порядку, зворотному порядку їх додавання (:abbr:`LIFO (останній " +"прийшов, перший вийшов)`). Вони викликаються з будь-якими аргументами та " +"ключовими аргументами, які передаються в :meth:`addClassCleanup` під час їх " +"додавання." + +msgid "" +"If :meth:`setUpClass` fails, meaning that :meth:`tearDownClass` is not " +"called, then any cleanup functions added will still be called." +msgstr "" +"Якщо :meth:`setUpClass` не вдається, тобто :meth:`tearDownClass` не " +"викликається, тоді будь-які додані функції очищення все одно будуть " +"викликані." + +msgid "" +"Enter the supplied :term:`context manager`. If successful, also add its :" +"meth:`~object.__exit__` method as a cleanup function by :meth:" +"`addClassCleanup` and return the result of the :meth:`~object.__enter__` " +"method." +msgstr "" + +msgid "" +"This method is called unconditionally after :meth:`tearDownClass`, or after :" +"meth:`setUpClass` if :meth:`setUpClass` raises an exception." +msgstr "" +"Цей метод викликається безумовно після :meth:`tearDownClass` або після :meth:" +"`setUpClass`, якщо :meth:`setUpClass` викликає виняток." + +msgid "" +"It is responsible for calling all the cleanup functions added by :meth:" +"`addClassCleanup`. If you need cleanup functions to be called *prior* to :" +"meth:`tearDownClass` then you can call :meth:`doClassCleanups` yourself." +msgstr "" +"Він відповідає за виклик усіх функцій очищення, доданих :meth:" +"`addClassCleanup`. Якщо вам потрібно, щоб функції очищення викликалися " +"*перед* :meth:`tearDownClass`, ви можете викликати :meth:`doClassCleanups` " +"самостійно." + +msgid "" +":meth:`doClassCleanups` pops methods off the stack of cleanup functions one " +"at a time, so it can be called at any time." +msgstr "" +":meth:`doClassCleanups` витягує методи зі стеку функцій очищення по одному, " +"тому їх можна викликати будь-коли." + +msgid "" +"This class provides an API similar to :class:`TestCase` and also accepts " +"coroutines as test functions." +msgstr "" +"Цей клас надає API, подібний до :class:`TestCase`, а також приймає " +"співпрограми як тестові функції." + +msgid "" +"Method called to prepare the test fixture. This is called after :meth:" +"`setUp`. This is called immediately before calling the test method; other " +"than :exc:`AssertionError` or :exc:`SkipTest`, any exception raised by this " +"method will be considered an error rather than a test failure. The default " +"implementation does nothing." +msgstr "" +"Метод, який називається для підготовки випробувального матеріалу. Це " +"викликається після :meth:`setUp`. Це викликається безпосередньо перед " +"викликом тестового методу; крім :exc:`AssertionError` або :exc:`SkipTest`, " +"будь-який виняток, викликаний цим методом, вважатиметься помилкою, а не " +"помилкою тесту. Стандартна реалізація нічого не робить." + +msgid "" +"Method called immediately after the test method has been called and the " +"result recorded. This is called before :meth:`tearDown`. This is called " +"even if the test method raised an exception, so the implementation in " +"subclasses may need to be particularly careful about checking internal " +"state. Any exception, other than :exc:`AssertionError` or :exc:`SkipTest`, " +"raised by this method will be considered an additional error rather than a " +"test failure (thus increasing the total number of reported errors). This " +"method will only be called if the :meth:`asyncSetUp` succeeds, regardless of " +"the outcome of the test method. The default implementation does nothing." +msgstr "" +"Метод викликається відразу після виклику тестового методу та запису " +"результату. Це викликається перед :meth:`tearDown`. Це викликається, навіть " +"якщо метод тестування викликав виняток, тому реалізація в підкласах може " +"потребувати особливої обережності щодо перевірки внутрішнього стану. Будь-" +"які винятки, окрім :exc:`AssertionError` або :exc:`SkipTest`, викликані цим " +"методом, вважатимуться додатковою помилкою, а не помилкою тесту (таким чином " +"збільшуючи загальну кількість повідомлених помилок). Цей метод буде " +"викликано, лише якщо :meth:`asyncSetUp` завершиться успішно, незалежно від " +"результату тестового методу. Стандартна реалізація нічого не робить." + +msgid "This method accepts a coroutine that can be used as a cleanup function." +msgstr "" +"Цей метод приймає співпрограму, яку можна використовувати як функцію " +"очищення." + +msgid "" +"Enter the supplied :term:`asynchronous context manager`. If successful, " +"also add its :meth:`~object.__aexit__` method as a cleanup function by :meth:" +"`addAsyncCleanup` and return the result of the :meth:`~object.__aenter__` " +"method." +msgstr "" + +msgid "" +"Sets up a new event loop to run the test, collecting the result into the :" +"class:`TestResult` object passed as *result*. If *result* is omitted or " +"``None``, a temporary result object is created (by calling the :meth:" +"`defaultTestResult` method) and used. The result object is returned to :meth:" +"`run`'s caller. At the end of the test all the tasks in the event loop are " +"cancelled." +msgstr "" +"Встановлює новий цикл подій для запуску тесту, збираючи результат в об’єкт :" +"class:`TestResult`, переданий як *результат*. Якщо *результат* пропущено або " +"``None``, створюється та використовується тимчасовий об’єкт результату " +"(викликом методу :meth:`defaultTestResult`). Об’єкт результату повертається " +"до виклику :meth:`run`. Після закінчення тесту всі завдання в циклі подій " +"скасовуються." + +msgid "An example illustrating the order::" +msgstr "Приклад, що ілюструє порядок::" + +msgid "" +"After running the test, ``events`` would contain ``[\"setUp\", \"asyncSetUp" +"\", \"test_response\", \"asyncTearDown\", \"tearDown\", \"cleanup\"]``." +msgstr "" +"Після виконання тесту ``події`` міститимуть ``[\"setUp\", \"asyncSetUp\", " +"\"test_response\", \"asyncTearDown\", \"tearDown\", \"cleanup\"]``." + +msgid "" +"This class implements the portion of the :class:`TestCase` interface which " +"allows the test runner to drive the test, but does not provide the methods " +"which test code can use to check and report errors. This is used to create " +"test cases using legacy test code, allowing it to be integrated into a :mod:" +"`unittest`-based test framework." +msgstr "" +"Цей клас реалізує частину інтерфейсу :class:`TestCase`, яка дозволяє " +"виконавцю тесту управляти тестом, але не надає методів, які тестовий код " +"може використовувати для перевірки та звітування про помилки. Це " +"використовується для створення тестів із використанням застарілого тестового " +"коду, що дозволяє інтегрувати його в тестову структуру на основі :mod:" +"`unittest`." + +msgid "Deprecated aliases" +msgstr "Застарілі псевдоніми" + +msgid "" +"For historical reasons, some of the :class:`TestCase` methods had one or " +"more aliases that are now deprecated. The following table lists the correct " +"names along with their deprecated aliases:" +msgstr "" +"З історичних причин деякі з методів :class:`TestCase` мали один або більше " +"псевдонімів, які зараз застаріли. У наведеній нижче таблиці наведено " +"правильні імена разом із їхніми застарілими псевдонімами:" + +msgid "Method Name" +msgstr "Назва методу" + +msgid "Deprecated alias" +msgstr "Застарілий псевдонім" + +msgid ":meth:`.assertEqual`" +msgstr ":meth:`.assertEqual`" + +msgid "failUnlessEqual" +msgstr "failUnlessEqual" + +msgid "assertEquals" +msgstr "assertEquals" + +msgid ":meth:`.assertNotEqual`" +msgstr ":meth:`.assertNotEqual`" + +msgid "failIfEqual" +msgstr "failIfEqual" + +msgid "assertNotEquals" +msgstr "assertNotEquals" + +msgid ":meth:`.assertTrue`" +msgstr ":meth:`.assertTrue`" + +msgid "failUnless" +msgstr "failUnless" + +msgid "assert\\_" +msgstr "стверджувати\\_" + +msgid ":meth:`.assertFalse`" +msgstr ":meth:`.assertFalse`" + +msgid "failIf" +msgstr "failIf" + +msgid ":meth:`.assertRaises`" +msgstr ":meth:`.assertRaises`" + +msgid "failUnlessRaises" +msgstr "failUnlessRaises" + +msgid ":meth:`.assertAlmostEqual`" +msgstr ":meth:`.assertAlmostEqual`" + +msgid "failUnlessAlmostEqual" +msgstr "failUnlessAlmostEqual" + +msgid "assertAlmostEquals" +msgstr "assertAlmostEquals" + +msgid ":meth:`.assertNotAlmostEqual`" +msgstr ":meth:`.assertNotAlmostEqual`" + +msgid "failIfAlmostEqual" +msgstr "failIfAlmostEqual" + +msgid "assertNotAlmostEquals" +msgstr "assertNotAlmostEquals" + +msgid ":meth:`.assertRegex`" +msgstr ":meth:`.assertRegex`" + +msgid "assertRegexpMatches" +msgstr "assertRegexpMatches" + +msgid ":meth:`.assertNotRegex`" +msgstr ":meth:`.assertNotRegex`" + +msgid "assertNotRegexpMatches" +msgstr "assertNotRegexpMatches" + +msgid ":meth:`.assertRaisesRegex`" +msgstr ":meth:`.assertRaisesRegex`" + +msgid "assertRaisesRegexp" +msgstr "assertRaisesRegexp" + +msgid "The fail* aliases listed in the second column have been deprecated." +msgstr "Псевдоніми fail*, перелічені у другому стовпці, застаріли." + +msgid "The assert* aliases listed in the third column have been deprecated." +msgstr "Псевдоніми assert*, перелічені в третьому стовпці, застаріли." + +msgid "" +"``assertRegexpMatches`` and ``assertRaisesRegexp`` have been renamed to :" +"meth:`.assertRegex` and :meth:`.assertRaisesRegex`." +msgstr "" +"``assertRegexpMatches`` і ``assertRaisesRegexp`` було перейменовано на :meth:" +"`.assertRegex` і :meth:`.assertRaisesRegex`." + +msgid "" +"The ``assertNotRegexpMatches`` name is deprecated in favor of :meth:`." +"assertNotRegex`." +msgstr "" +"Назва ``assertNotRegexpMatches`` застаріла на користь :meth:`." +"assertNotRegex`." + +msgid "Grouping tests" +msgstr "Групування тестів" + +msgid "" +"This class represents an aggregation of individual test cases and test " +"suites. The class presents the interface needed by the test runner to allow " +"it to be run as any other test case. Running a :class:`TestSuite` instance " +"is the same as iterating over the suite, running each test individually." +msgstr "" +"Цей клас представляє сукупність окремих тестових випадків і наборів тестів. " +"Клас представляє інтерфейс, необхідний виконавцю тесту, щоб дозволити йому " +"запускатися як будь-який інший тестовий приклад. Запуск екземпляра :class:" +"`TestSuite` — це те саме, що ітерація по набору, запускаючи кожен тест " +"окремо." + +msgid "" +"If *tests* is given, it must be an iterable of individual test cases or " +"other test suites that will be used to build the suite initially. Additional " +"methods are provided to add test cases and suites to the collection later on." +msgstr "" +"Якщо надано *тести*, це має бути ітерація окремих тестових випадків або " +"інших наборів тестів, які будуть використані для створення набору спочатку. " +"Додаткові методи надаються для додавання тестів і пакетів до колекції " +"пізніше." + +msgid "" +":class:`TestSuite` objects behave much like :class:`TestCase` objects, " +"except they do not actually implement a test. Instead, they are used to " +"aggregate tests into groups of tests that should be run together. Some " +"additional methods are available to add tests to :class:`TestSuite` " +"instances:" +msgstr "" +"Об’єкти :class:`TestSuite` поводяться так само, як об’єкти :class:" +"`TestCase`, за винятком того, що вони насправді не реалізують тест. " +"Натомість вони використовуються для агрегування тестів у групи тестів, які " +"слід виконувати разом. Деякі додаткові методи доступні для додавання тестів " +"до екземплярів :class:`TestSuite`:" + +msgid "Add a :class:`TestCase` or :class:`TestSuite` to the suite." +msgstr "Додайте :class:`TestCase` або :class:`TestSuite` до набору." + +msgid "" +"Add all the tests from an iterable of :class:`TestCase` and :class:" +"`TestSuite` instances to this test suite." +msgstr "" +"Додайте всі тести з ітерації екземплярів :class:`TestCase` і :class:" +"`TestSuite` до цього набору тестів." + +msgid "" +"This is equivalent to iterating over *tests*, calling :meth:`addTest` for " +"each element." +msgstr "" +"Це еквівалентно повторенню *тестів*, виклику :meth:`addTest` для кожного " +"елемента." + +msgid ":class:`TestSuite` shares the following methods with :class:`TestCase`:" +msgstr "" +":class:`TestSuite` використовує такі методи спільно з :class:`TestCase`:" + +msgid "" +"Run the tests associated with this suite, collecting the result into the " +"test result object passed as *result*. Note that unlike :meth:`TestCase." +"run`, :meth:`TestSuite.run` requires the result object to be passed in." +msgstr "" +"Запустіть тести, пов’язані з цим набором, зібравши результат в об’єкт " +"результату тесту, переданий як *результат*. Зауважте, що на відміну від :" +"meth:`TestCase.run`, :meth:`TestSuite.run` вимагає передачі об’єкта " +"результату." + +msgid "" +"Run the tests associated with this suite without collecting the result. This " +"allows exceptions raised by the test to be propagated to the caller and can " +"be used to support running tests under a debugger." +msgstr "" +"Виконуйте тести, пов’язані з цим пакетом, без збору результатів. Це дозволяє " +"поширювати винятки, викликані тестом, до абонента та може використовуватися " +"для підтримки запуску тестів під налагоджувачем." + +msgid "" +"Return the number of tests represented by this test object, including all " +"individual tests and sub-suites." +msgstr "" +"Повертає кількість тестів, представлених цим тестовим об’єктом, включаючи " +"всі окремі тести та піднабори." + +msgid "" +"Tests grouped by a :class:`TestSuite` are always accessed by iteration. " +"Subclasses can lazily provide tests by overriding :meth:`__iter__`. Note " +"that this method may be called several times on a single suite (for example " +"when counting tests or comparing for equality) so the tests returned by " +"repeated iterations before :meth:`TestSuite.run` must be the same for each " +"call iteration. After :meth:`TestSuite.run`, callers should not rely on the " +"tests returned by this method unless the caller uses a subclass that " +"overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." +msgstr "" +"Тести, згруповані за :class:`TestSuite`, завжди доступні за допомогою " +"ітерації. Підкласи можуть ліниво надавати тести, перевизначаючи :meth:" +"`__iter__`. Зверніть увагу, що цей метод може бути викликаний кілька разів в " +"одному пакеті (наприклад, під час підрахунку тестів або порівняння на " +"рівність), тому тести, повернуті повторними ітераціями перед :meth:" +"`TestSuite.run`, мають бути однаковими для кожної ітерації виклику. Після :" +"meth:`TestSuite.run` абоненти не повинні покладатися на тести, повернуті цим " +"методом, якщо тільки виклик не використовує підклас, який замінює :meth:" +"`TestSuite._removeTestAtIndex` для збереження посилань на тести." + +msgid "" +"In earlier versions the :class:`TestSuite` accessed tests directly rather " +"than through iteration, so overriding :meth:`__iter__` wasn't sufficient for " +"providing tests." +msgstr "" +"У попередніх версіях :class:`TestSuite` отримував доступ до тестів напряму, " +"а не через ітерацію, тому перевизначення :meth:`__iter__` було недостатньо " +"для надання тестів." + +msgid "" +"In earlier versions the :class:`TestSuite` held references to each :class:" +"`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " +"by overriding :meth:`TestSuite._removeTestAtIndex`." +msgstr "" +"У попередніх версіях :class:`TestSuite` містив посилання на кожен :class:" +"`TestCase` після :meth:`TestSuite.run`. Підкласи можуть відновити цю " +"поведінку, замінивши :meth:`TestSuite._removeTestAtIndex`." + +msgid "" +"In the typical usage of a :class:`TestSuite` object, the :meth:`run` method " +"is invoked by a :class:`TestRunner` rather than by the end-user test harness." +msgstr "" +"У типовому використанні об’єкта :class:`TestSuite` метод :meth:`run` " +"викликається :class:`TestRunner`, а не тестовим пакетом кінцевого " +"користувача." + +msgid "Loading and running tests" +msgstr "Завантаження та виконання тестів" + +msgid "" +"The :class:`TestLoader` class is used to create test suites from classes and " +"modules. Normally, there is no need to create an instance of this class; " +"the :mod:`unittest` module provides an instance that can be shared as :data:" +"`unittest.defaultTestLoader`. Using a subclass or instance, however, allows " +"customization of some configurable properties." +msgstr "" +"Клас :class:`TestLoader` використовується для створення наборів тестів із " +"класів і модулів. Зазвичай немає необхідності створювати екземпляр цього " +"класу; модуль :mod:`unittest` надає екземпляр, який можна використовувати " +"як :data:`unittest.defaultTestLoader`. Однак використання підкласу або " +"екземпляра дозволяє налаштувати деякі настроювані властивості." + +msgid ":class:`TestLoader` objects have the following attributes:" +msgstr ":class:`TestLoader` об’єкти мають такі атрибути:" + +msgid "" +"A list of the non-fatal errors encountered while loading tests. Not reset by " +"the loader at any point. Fatal errors are signalled by the relevant method " +"raising an exception to the caller. Non-fatal errors are also indicated by a " +"synthetic test that will raise the original error when run." +msgstr "" + +msgid ":class:`TestLoader` objects have the following methods:" +msgstr "Об’єкти :class:`TestLoader` мають такі методи:" + +msgid "" +"Return a suite of all test cases contained in the :class:`TestCase`\\ -" +"derived :class:`testCaseClass`." +msgstr "" +"Повертає набір усіх тестів, що містяться в :class:`TestCase`\\ -похідному :" +"class:`testCaseClass`." + +msgid "" +"A test case instance is created for each method named by :meth:" +"`getTestCaseNames`. By default these are the method names beginning with " +"``test``. If :meth:`getTestCaseNames` returns no methods, but the :meth:" +"`runTest` method is implemented, a single test case is created for that " +"method instead." +msgstr "" +"Екземпляр тестового випадку створюється для кожного методу, названого :meth:" +"`getTestCaseNames`. За замовчуванням це імена методів, які починаються з " +"``test``. Якщо :meth:`getTestCaseNames` не повертає жодних методів, але " +"реалізовано метод :meth:`runTest`, натомість для цього методу створюється " +"один тестовий приклад." + +msgid "" +"Return a suite of all test cases contained in the given module. This method " +"searches *module* for classes derived from :class:`TestCase` and creates an " +"instance of the class for each test method defined for the class." +msgstr "" +"Повертає набір усіх тестів, що містяться в даному модулі. Цей метод шукає в " +"*module* класи, похідні від :class:`TestCase`, і створює екземпляр класу для " +"кожного тестового методу, визначеного для класу." + +msgid "" +"While using a hierarchy of :class:`TestCase`\\ -derived classes can be " +"convenient in sharing fixtures and helper functions, defining test methods " +"on base classes that are not intended to be instantiated directly does not " +"play well with this method. Doing so, however, can be useful when the " +"fixtures are different and defined in subclasses." +msgstr "" +"Хоча використання ієрархії похідних класів :class:`TestCase`\\ може бути " +"зручним для спільного використання фікстур і допоміжних функцій, визначення " +"методів тестування на базових класах, які не призначені для безпосереднього " +"створення екземплярів, не підходить для цього методу. Однак це може бути " +"корисним, коли прилади різні та визначені в підкласах." + +msgid "" +"If a module provides a ``load_tests`` function it will be called to load the " +"tests. This allows modules to customize test loading. This is the " +"`load_tests protocol`_. The *pattern* argument is passed as the third " +"argument to ``load_tests``." +msgstr "" +"Якщо модуль надає функцію ``load_tests``, її буде викликано для завантаження " +"тестів. Це дозволяє модулям налаштовувати тестове завантаження. Це протокол " +"`load_tests`_. Аргумент *pattern* передається як третій аргумент у " +"``load_tests``." + +msgid "Support for ``load_tests`` added." +msgstr "Додано підтримку ``load_tests``." + +msgid "" +"The undocumented and unofficial *use_load_tests* default argument is " +"deprecated and ignored, although it is still accepted for backward " +"compatibility. The method also now accepts a keyword-only argument " +"*pattern* which is passed to ``load_tests`` as the third argument." +msgstr "" +"Недокументований і неофіційний аргумент *use_load_tests* за замовчуванням " +"застарів і ігнорується, хоча він все ще приймається для зворотної " +"сумісності. Метод також тепер приймає аргумент *pattern*, що містить лише " +"ключове слово, який передається в ``load_tests`` як третій аргумент." + +msgid "Return a suite of all test cases given a string specifier." +msgstr "Повертає набір усіх тестів із специфікатором рядка." + +msgid "" +"The specifier *name* is a \"dotted name\" that may resolve either to a " +"module, a test case class, a test method within a test case class, a :class:" +"`TestSuite` instance, or a callable object which returns a :class:`TestCase` " +"or :class:`TestSuite` instance. These checks are applied in the order " +"listed here; that is, a method on a possible test case class will be picked " +"up as \"a test method within a test case class\", rather than \"a callable " +"object\"." +msgstr "" +"Специфікатор *name* — це \"ім’я з крапками\", яке може перетворюватися на " +"модуль, клас тестового прикладу, метод тестування в класі тестового випадку, " +"екземпляр :class:`TestSuite` або викликаний об’єкт, який повертає: " +"екземпляр :class:`TestCase` або :class:`TestSuite`. Ці перевірки " +"застосовуються в зазначеному тут порядку; тобто метод у можливому класі " +"тестового випадку буде вибрано як \"метод тестування в класі тестового " +"випадку\", а не як \"об'єкт, який можна викликати\"." + +msgid "" +"For example, if you have a module :mod:`SampleTests` containing a :class:" +"`TestCase`\\ -derived class :class:`SampleTestCase` with three test methods " +"(:meth:`test_one`, :meth:`test_two`, and :meth:`test_three`), the specifier " +"``'SampleTests.SampleTestCase'`` would cause this method to return a suite " +"which will run all three test methods. Using the specifier ``'SampleTests." +"SampleTestCase.test_two'`` would cause it to return a test suite which will " +"run only the :meth:`test_two` test method. The specifier can refer to " +"modules and packages which have not been imported; they will be imported as " +"a side-effect." +msgstr "" +"Наприклад, якщо у вас є модуль :mod:`SampleTests`, який містить :class:" +"`TestCase`\\ -похідний клас :class:`SampleTestCase` із трьома методами " +"тестування (:meth:`test_one`, :meth:`test_two` і :meth:`test_three`), " +"специфікатор ``'SampleTests.SampleTestCase'`` призведе до того, що цей метод " +"повертатиме набір, який виконуватиме всі три методи тестування. Використання " +"специфікатора ``'SampleTests.SampleTestCase.test_two`` призведе до " +"повернення набору тестів, який запускатиме лише метод тестування :meth:" +"`test_two`. Специфікатор може посилатися на модулі та пакунки, які не були " +"імпортовані; вони будуть імпортовані як побічний ефект." + +msgid "The method optionally resolves *name* relative to the given *module*." +msgstr "Метод необов’язково розпізнає *ім’я* відносно даного *модуля*." + +msgid "" +"If an :exc:`ImportError` or :exc:`AttributeError` occurs while traversing " +"*name* then a synthetic test that raises that error when run will be " +"returned. These errors are included in the errors accumulated by self.errors." +msgstr "" +"Якщо :exc:`ImportError` або :exc:`AttributeError` виникає під час обходу " +"*name*, тоді буде повернено синтетичний тест, який викликає цю помилку під " +"час запуску. Ці помилки включено до помилок, накопичених self.errors." + +msgid "" +"Similar to :meth:`loadTestsFromName`, but takes a sequence of names rather " +"than a single name. The return value is a test suite which supports all the " +"tests defined for each name." +msgstr "" +"Подібно до :meth:`loadTestsFromName`, але приймає послідовність імен, а не " +"одне ім’я. Повернене значення — це набір тестів, який підтримує всі тести, " +"визначені для кожного імені." + +msgid "" +"Return a sorted sequence of method names found within *testCaseClass*; this " +"should be a subclass of :class:`TestCase`." +msgstr "" +"Повертає відсортовану послідовність імен методів, знайдених у " +"*testCaseClass*; це має бути підклас :class:`TestCase`." + +msgid "" +"Find all the test modules by recursing into subdirectories from the " +"specified start directory, and return a TestSuite object containing them. " +"Only test files that match *pattern* will be loaded. (Using shell style " +"pattern matching.) Only module names that are importable (i.e. are valid " +"Python identifiers) will be loaded." +msgstr "" +"Знайдіть усі тестові модулі, перейшовши до підкаталогів із зазначеного " +"початкового каталогу, і поверніть об’єкт TestSuite, що містить їх. Будуть " +"завантажені лише тестові файли, які відповідають *шаблону*. (Використовуючи " +"зіставлення шаблону стилю оболонки.) Завантажуватимуться лише імена модулів, " +"які можна імпортувати (тобто є дійсними ідентифікаторами Python)." + +msgid "" +"All test modules must be importable from the top level of the project. If " +"the start directory is not the top level directory then the top level " +"directory must be specified separately." +msgstr "" +"Усі тестові модулі мають бути імпортованими з верхнього рівня проекту. Якщо " +"початковий каталог не є каталогом верхнього рівня, тоді каталог верхнього " +"рівня потрібно вказати окремо." + +msgid "" +"If importing a module fails, for example due to a syntax error, then this " +"will be recorded as a single error and discovery will continue. If the " +"import failure is due to :exc:`SkipTest` being raised, it will be recorded " +"as a skip instead of an error." +msgstr "" +"Якщо імпортувати модуль не вдалося, наприклад, через синтаксичну помилку, це " +"буде записано як одну помилку, і виявлення продовжиться. Якщо помилка " +"імпорту спричинена викликом :exc:`SkipTest`, це буде записано як пропуск " +"замість помилки." + +msgid "" +"If a package (a directory containing a file named :file:`__init__.py`) is " +"found, the package will be checked for a ``load_tests`` function. If this " +"exists then it will be called ``package.load_tests(loader, tests, " +"pattern)``. Test discovery takes care to ensure that a package is only " +"checked for tests once during an invocation, even if the load_tests function " +"itself calls ``loader.discover``." +msgstr "" +"Якщо пакунок (каталог, що містить файл із назвою :file:`__init__.py`) " +"знайдено, пакунок буде перевірено на наявність функції ``load_tests``. Якщо " +"він існує, він називатиметься ``package.load_tests(loader, tests, " +"pattern)``. Тестове виявлення піклується про те, щоб пакет перевірявся на " +"наявність тестів лише один раз під час виклику, навіть якщо сама функція " +"load_tests викликає ``loader.discover``." + +msgid "" +"If ``load_tests`` exists then discovery does *not* recurse into the package, " +"``load_tests`` is responsible for loading all tests in the package." +msgstr "" +"Якщо ``load_tests`` існує, виявлення *не* рекурсує в пакунок, ``load_tests`` " +"відповідає за завантаження всіх тестів у пакунок." + +msgid "" +"The pattern is deliberately not stored as a loader attribute so that " +"packages can continue discovery themselves. *top_level_dir* is stored so " +"``load_tests`` does not need to pass this argument in to ``loader." +"discover()``." +msgstr "" +"Шаблон навмисно не зберігається як атрибут завантажувача, щоб пакунки могли " +"самостійно продовжувати пошук. *top_level_dir* зберігається, тому " +"``load_tests`` не потрібно передавати цей аргумент у ``loader.discover()``." + +msgid "*start_dir* can be a dotted module name as well as a directory." +msgstr "*start_dir* може бути назвою модуля з крапками, а також каталогом." + +msgid "" +"Modules that raise :exc:`SkipTest` on import are recorded as skips, not " +"errors." +msgstr "" +"Модулі, які викликають :exc:`SkipTest` під час імпорту, записуються як " +"пропуски, а не як помилки." + +msgid "*start_dir* can be a :term:`namespace packages `." +msgstr "" +"*start_dir* може бути :term:`пакети простору імен `." + +msgid "" +"Paths are sorted before being imported so that execution order is the same " +"even if the underlying file system's ordering is not dependent on file name." +msgstr "" +"Шляхи сортуються перед імпортом, щоб порядок виконання був однаковим, навіть " +"якщо порядок базової файлової системи не залежить від імені файлу." + +msgid "" +"Found packages are now checked for ``load_tests`` regardless of whether " +"their path matches *pattern*, because it is impossible for a package name to " +"match the default pattern." +msgstr "" +"Знайдені пакунки тепер перевіряються на ``load_tests`` незалежно від того, " +"чи відповідає їхній шлях *шаблону*, оскільки назва пакета не може " +"відповідати шаблону за замовчуванням." + +msgid "" +"*start_dir* can not be a :term:`namespace packages `. It " +"has been broken since Python 3.7 and Python 3.11 officially remove it." +msgstr "" + +msgid "" +"The following attributes of a :class:`TestLoader` can be configured either " +"by subclassing or assignment on an instance:" +msgstr "" +"Наступні атрибути :class:`TestLoader` можуть бути налаштовані за допомогою " +"підкласу або призначення для екземпляра:" + +msgid "" +"String giving the prefix of method names which will be interpreted as test " +"methods. The default value is ``'test'``." +msgstr "" +"Рядок із префіксом імен методів, які будуть інтерпретуватися як тестові " +"методи. Значення за замовчуванням - ``'test'``." + +msgid "" +"This affects :meth:`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` " +"methods." +msgstr "" +"Це впливає на :meth:`getTestCaseNames` і всі методи :meth:`loadTestsFrom\\*`." + +msgid "" +"Function to be used to compare method names when sorting them in :meth:" +"`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` methods." +msgstr "" +"Функція для порівняння назв методів під час їх сортування в :meth:" +"`getTestCaseNames` та всіх методах :meth:`loadTestsFrom\\*`." + +msgid "" +"Callable object that constructs a test suite from a list of tests. No " +"methods on the resulting object are needed. The default value is the :class:" +"`TestSuite` class." +msgstr "" +"Викликаний об’єкт, який створює набір тестів зі списку тестів. Жодних " +"методів для отриманого об’єкта не потрібно. Стандартним значенням є клас :" +"class:`TestSuite`." + +msgid "This affects all the :meth:`loadTestsFrom\\*` methods." +msgstr "Це впливає на всі методи :meth:`loadTestsFrom\\*`." + +msgid "" +"List of Unix shell-style wildcard test name patterns that test methods have " +"to match to be included in test suites (see ``-v`` option)." +msgstr "" +"Список шаблонів назв тестів зі символами узагальнення в стилі оболонки Unix, " +"яким мають відповідати методи тестування, щоб їх було включено до наборів " +"тестів (див. опцію ``-v``)." + +msgid "" +"If this attribute is not ``None`` (the default), all test methods to be " +"included in test suites must match one of the patterns in this list. Note " +"that matches are always performed using :meth:`fnmatch.fnmatchcase`, so " +"unlike patterns passed to the ``-v`` option, simple substring patterns will " +"have to be converted using ``*`` wildcards." +msgstr "" +"Якщо цей атрибут не ``None`` (за замовчуванням), усі методи тестування, які " +"будуть включені до наборів тестів, повинні відповідати одному із шаблонів у " +"цьому списку. Зауважте, що збіги завжди виконуються за допомогою :meth:" +"`fnmatch.fnmatchcase`, тому, на відміну від шаблонів, переданих параметром " +"``-v``, прості шаблони підрядків потрібно буде перетворити за допомогою " +"символів узагальнення ``*``." + +msgid "" +"This class is used to compile information about which tests have succeeded " +"and which have failed." +msgstr "" +"Цей клас використовується для компіляції інформації про те, які тести були " +"успішними, а які невдалими." + +msgid "" +"A :class:`TestResult` object stores the results of a set of tests. The :" +"class:`TestCase` and :class:`TestSuite` classes ensure that results are " +"properly recorded; test authors do not need to worry about recording the " +"outcome of tests." +msgstr "" +"Об’єкт :class:`TestResult` зберігає результати набору тестів. Класи :class:" +"`TestCase` і :class:`TestSuite` забезпечують належний запис результатів; " +"авторам тестів не потрібно турбуватися про запис результатів тестів." + +msgid "" +"Testing frameworks built on top of :mod:`unittest` may want access to the :" +"class:`TestResult` object generated by running a set of tests for reporting " +"purposes; a :class:`TestResult` instance is returned by the :meth:" +"`TestRunner.run` method for this purpose." +msgstr "" +"Фреймворки тестування, створені на основі :mod:`unittest`, можуть " +"потребувати доступу до об’єкта :class:`TestResult`, згенерованого за " +"допомогою виконання набору тестів для цілей звітування; екземпляр :class:" +"`TestResult` повертається методом :meth:`TestRunner.run` для цієї мети." + +msgid "" +":class:`TestResult` instances have the following attributes that will be of " +"interest when inspecting the results of running a set of tests:" +msgstr "" +"Екземпляри :class:`TestResult` мають такі атрибути, які будуть цікавими під " +"час перевірки результатів виконання набору тестів:" + +msgid "" +"A list containing 2-tuples of :class:`TestCase` instances and strings " +"holding formatted tracebacks. Each tuple represents a test which raised an " +"unexpected exception." +msgstr "" +"Список, що містить 2 кортежі екземплярів :class:`TestCase` і рядки, що " +"містять відформатовані відстеження. Кожен кортеж представляє тест, який " +"викликав несподіваний виняток." + +msgid "" +"A list containing 2-tuples of :class:`TestCase` instances and strings " +"holding formatted tracebacks. Each tuple represents a test where a failure " +"was explicitly signalled using the :meth:`TestCase.assert\\*` methods." +msgstr "" +"Список, що містить 2 кортежі екземплярів :class:`TestCase` і рядки, що " +"містять відформатовані відстеження. Кожен кортеж представляє тест, де " +"помилка була явно повідомлена за допомогою методів :meth:`TestCase.assert" +"\\*`." + +msgid "" +"A list containing 2-tuples of :class:`TestCase` instances and strings " +"holding the reason for skipping the test." +msgstr "" +"Список, що містить 2 кортежі екземплярів :class:`TestCase` і рядки з " +"причиною пропуску тесту." + +msgid "" +"A list containing 2-tuples of :class:`TestCase` instances and strings " +"holding formatted tracebacks. Each tuple represents an expected failure or " +"error of the test case." +msgstr "" +"Список, що містить 2 кортежі екземплярів :class:`TestCase` і рядки, що " +"містять відформатовані відстеження. Кожен кортеж представляє очікуваний збій " +"або помилку тестового випадку." + +msgid "" +"A list containing :class:`TestCase` instances that were marked as expected " +"failures, but succeeded." +msgstr "" +"Список, що містить екземпляри :class:`TestCase`, які були позначені як " +"очікувані помилки, але були успішними." + +msgid "" +"Set to ``True`` when the execution of tests should stop by :meth:`stop`." +msgstr "" +"Установіть значення ``True``, коли виконання тестів має зупинятися на :meth:" +"`stop`." + +msgid "The total number of tests run so far." +msgstr "Загальна кількість проведених тестів." + +msgid "" +"If set to true, ``sys.stdout`` and ``sys.stderr`` will be buffered in " +"between :meth:`startTest` and :meth:`stopTest` being called. Collected " +"output will only be echoed onto the real ``sys.stdout`` and ``sys.stderr`` " +"if the test fails or errors. Any output is also attached to the failure / " +"error message." +msgstr "" +"Якщо встановлено значення true, ``sys.stdout`` і ``sys.stderr`` будуть " +"буферизовані між викликами :meth:`startTest` і :meth:`stopTest`. Зібраний " +"вихід буде відображено на справжній ``sys.stdout`` і ``sys.stderr`` лише у " +"разі невдачі тесту або помилок. Будь-який вихід також додається до " +"повідомлення про збій/помилку." + +msgid "" +"If set to true :meth:`stop` will be called on the first failure or error, " +"halting the test run." +msgstr "" +"Якщо встановлено значення true, :meth:`stop` буде викликано при першій " +"невдачі або помилці, зупиняючи тестовий запуск." + +msgid "If set to true then local variables will be shown in tracebacks." +msgstr "" +"Якщо встановлено значення true, то локальні змінні відображатимуться у " +"відстеженнях." + +msgid "" +"Return ``True`` if all tests run so far have passed, otherwise returns " +"``False``." +msgstr "" +"Повертає ``True``, якщо всі тести, запущені до цього моменту, пройдено, " +"інакше повертає ``False``." + +msgid "" +"Returns ``False`` if there were any :attr:`unexpectedSuccesses` from tests " +"marked with the :func:`expectedFailure` decorator." +msgstr "" +"Повертає ``False``, якщо були будь-які :attr:`unexpectedSuccesses` від " +"тестів, позначених декоратором :func:`expectedFailure`." + +msgid "" +"This method can be called to signal that the set of tests being run should " +"be aborted by setting the :attr:`shouldStop` attribute to ``True``. :class:" +"`TestRunner` objects should respect this flag and return without running any " +"additional tests." +msgstr "" +"Цей метод можна викликати, щоб повідомити про те, що набір запущених тестів " +"має бути перервано, встановивши атрибут :attr:`shouldStop` на ``True``. " +"Об’єкти :class:`TestRunner` мають поважати цей прапор і повертатися без " +"виконання додаткових тестів." + +msgid "" +"For example, this feature is used by the :class:`TextTestRunner` class to " +"stop the test framework when the user signals an interrupt from the " +"keyboard. Interactive tools which provide :class:`TestRunner` " +"implementations can use this in a similar manner." +msgstr "" +"Наприклад, ця функція використовується класом :class:`TextTestRunner`, щоб " +"зупинити тестову структуру, коли користувач сигналізує про переривання з " +"клавіатури. Інтерактивні інструменти, які забезпечують реалізації :class:" +"`TestRunner`, можуть використовувати це подібним чином." + +msgid "" +"The following methods of the :class:`TestResult` class are used to maintain " +"the internal data structures, and may be extended in subclasses to support " +"additional reporting requirements. This is particularly useful in building " +"tools which support interactive reporting while tests are being run." +msgstr "" +"Наступні методи класу :class:`TestResult` використовуються для підтримки " +"внутрішніх структур даних і можуть бути розширені в підкласах для підтримки " +"додаткових вимог до звітності. Це особливо корисно для створення " +"інструментів, які підтримують інтерактивне звітування під час виконання " +"тестів." + +msgid "Called when the test case *test* is about to be run." +msgstr "Викликається, коли тестовий приклад *test* збирається запустити." + +msgid "" +"Called after the test case *test* has been executed, regardless of the " +"outcome." +msgstr "Викликається після виконання тесту *test*, незалежно від результату." + +msgid "Called once before any tests are executed." +msgstr "Викликається один раз перед виконанням будь-яких тестів." + +msgid "Called once after all tests are executed." +msgstr "Викликається один раз після виконання всіх тестів." + +msgid "" +"Called when the test case *test* raises an unexpected exception. *err* is a " +"tuple of the form returned by :func:`sys.exc_info`: ``(type, value, " +"traceback)``." +msgstr "" +"Викликається, коли тестовий приклад *test* викликає несподіваний виняток. " +"*err* — це кортеж у формі, яку повертає :func:`sys.exc_info`: ``(тип, " +"значення, відстеження)``." + +msgid "" +"The default implementation appends a tuple ``(test, formatted_err)`` to the " +"instance's :attr:`errors` attribute, where *formatted_err* is a formatted " +"traceback derived from *err*." +msgstr "" +"Реалізація за замовчуванням додає кортеж ``(test, formatted_err)`` до " +"атрибута екземпляра :attr:`errors`, де *formatted_err* є відформатованим " +"зворотним трасуванням, отриманим від *err*." + +msgid "" +"Called when the test case *test* signals a failure. *err* is a tuple of the " +"form returned by :func:`sys.exc_info`: ``(type, value, traceback)``." +msgstr "" +"Викликається, коли тестовий приклад *test* сигналізує про помилку. *err* — " +"це кортеж у формі, яку повертає :func:`sys.exc_info`: ``(тип, значення, " +"відстеження)``." + +msgid "" +"The default implementation appends a tuple ``(test, formatted_err)`` to the " +"instance's :attr:`failures` attribute, where *formatted_err* is a formatted " +"traceback derived from *err*." +msgstr "" +"Реалізація за замовчуванням додає кортеж ``(test, formatted_err)`` до " +"атрибута екземпляра :attr:`failures`, де *formatted_err* є відформатованим " +"зворотним трасуванням, отриманим від *err*." + +msgid "Called when the test case *test* succeeds." +msgstr "Викликається, коли тестовий приклад *test* виконується успішно." + +msgid "The default implementation does nothing." +msgstr "Стандартна реалізація нічого не робить." + +msgid "" +"Called when the test case *test* is skipped. *reason* is the reason the " +"test gave for skipping." +msgstr "" +"Викликається, коли тестовий приклад *test* пропускається. *причина* — " +"причина пропуску тесту." + +msgid "" +"The default implementation appends a tuple ``(test, reason)`` to the " +"instance's :attr:`skipped` attribute." +msgstr "" +"Реалізація за замовчуванням додає кортеж ``(test, reason)`` до атрибута " +"екземпляра :attr:`skipped`." + +msgid "" +"Called when the test case *test* fails or errors, but was marked with the :" +"func:`expectedFailure` decorator." +msgstr "" +"Викликається, коли тестовий приклад *test* зазнає невдачі або помилки, але " +"його позначено декоратором :func:`expectedFailure`." + +msgid "" +"The default implementation appends a tuple ``(test, formatted_err)`` to the " +"instance's :attr:`expectedFailures` attribute, where *formatted_err* is a " +"formatted traceback derived from *err*." +msgstr "" +"Реалізація за замовчуванням додає кортеж ``(test, formatted_err)`` до " +"атрибута екземпляра :attr:`expectedFailures`, де *formatted_err* є " +"відформатованим зворотним трасуванням, отриманим від *err*." + +msgid "" +"Called when the test case *test* was marked with the :func:`expectedFailure` " +"decorator, but succeeded." +msgstr "" +"Викликається, коли тестовий приклад *test* був позначений декоратором :func:" +"`expectedFailure`, але завершився успішно." + +msgid "" +"The default implementation appends the test to the instance's :attr:" +"`unexpectedSuccesses` attribute." +msgstr "" +"Стандартна реалізація додає тест до атрибута екземпляра :attr:" +"`unexpectedSuccesses`." + +msgid "" +"Called when a subtest finishes. *test* is the test case corresponding to " +"the test method. *subtest* is a custom :class:`TestCase` instance " +"describing the subtest." +msgstr "" +"Викликається після завершення підтесту. *test* — тестовий приклад, що " +"відповідає методу тестування. *subtest* — це спеціальний екземпляр :class:" +"`TestCase`, який описує субтест." + +msgid "" +"If *outcome* is :const:`None`, the subtest succeeded. Otherwise, it failed " +"with an exception where *outcome* is a tuple of the form returned by :func:" +"`sys.exc_info`: ``(type, value, traceback)``." +msgstr "" +"Якщо *результат* :const:`None`, субтест пройшов успішно. В іншому випадку це " +"не вдалося за винятком, коли *результат* є кортежем форми, яку повертає :" +"func:`sys.exc_info`: ``(тип, значення, відстеження)``." + +msgid "" +"The default implementation does nothing when the outcome is a success, and " +"records subtest failures as normal failures." +msgstr "" +"Реалізація за замовчуванням не робить нічого, якщо результат є успішним, і " +"записує помилки підтесту як звичайні помилки." + +msgid "" +"A concrete implementation of :class:`TestResult` used by the :class:" +"`TextTestRunner`." +msgstr "" +"Конкретна реалізація :class:`TestResult`, яка використовується :class:" +"`TextTestRunner`." + +msgid "" +"This class was previously named ``_TextTestResult``. The old name still " +"exists as an alias but is deprecated." +msgstr "" +"Цей клас раніше називався ``_TextTestResult``. Стара назва все ще існує як " +"псевдонім, але не підтримується." + +msgid "" +"Instance of the :class:`TestLoader` class intended to be shared. If no " +"customization of the :class:`TestLoader` is needed, this instance can be " +"used instead of repeatedly creating new instances." +msgstr "" +"Примірник класу :class:`TestLoader` призначений для спільного використання. " +"Якщо налаштування :class:`TestLoader` не потрібні, цей екземпляр можна " +"використовувати замість повторного створення нових екземплярів." + +msgid "" +"A basic test runner implementation that outputs results to a stream. If " +"*stream* is ``None``, the default, :data:`sys.stderr` is used as the output " +"stream. This class has a few configurable parameters, but is essentially " +"very simple. Graphical applications which run test suites should provide " +"alternate implementations. Such implementations should accept ``**kwargs`` " +"as the interface to construct runners changes when features are added to " +"unittest." +msgstr "" +"Базова реалізація програми виконання тестів, яка виводить результати в " +"потік. Якщо *stream* має значення ``None``, стандартний :data:`sys.stderr` " +"використовується як вихідний потік. Цей клас має декілька настроюваних " +"параметрів, але по суті дуже простий. Графічні програми, які запускають " +"набори тестів, повинні надавати альтернативні реалізації. Такі реалізації " +"повинні приймати ``**kwargs``, оскільки інтерфейс для створення бігунів " +"змінюється, коли функції додаються до unittest." + +msgid "" +"By default this runner shows :exc:`DeprecationWarning`, :exc:" +"`PendingDeprecationWarning`, :exc:`ResourceWarning` and :exc:`ImportWarning` " +"even if they are :ref:`ignored by default `. Deprecation " +"warnings caused by :ref:`deprecated unittest methods ` " +"are also special-cased and, when the warning filters are ``'default'`` or " +"``'always'``, they will appear only once per-module, in order to avoid too " +"many warning messages. This behavior can be overridden using Python's :" +"option:`!-Wd` or :option:`!-Wa` options (see :ref:`Warning control `) and leaving *warnings* to ``None``." +msgstr "" +"За умовчанням цей бігун показує :exc:`DeprecationWarning`, :exc:" +"`PendingDeprecationWarning`, :exc:`ResourceWarning` та :exc:`ImportWarning`, " +"навіть якщо вони :ref:`ігноруються за умовчанням `. " +"Попередження про застарілу дію, викликані :ref:`застарілими методами " +"unittest `, також мають особливий регістр, і, коли " +"фільтри попереджень є ``'за замовчуванням`` або ``''завжди'``, вони " +"з’являтимуться лише один раз на модуль, щоб уникнути надто великої кількості " +"попереджень. Цю поведінку можна змінити за допомогою параметрів Python :" +"option:`!-Wd` або :option:`!-Wa` (див. :ref:`Контроль попередження `) і залишити *попередження* на ``None``." + +msgid "Added the ``warnings`` argument." +msgstr "Додано аргумент ``попередження``." + +msgid "" +"The default stream is set to :data:`sys.stderr` at instantiation time rather " +"than import time." +msgstr "" +"Потік за замовчуванням встановлено на :data:`sys.stderr` під час створення " +"екземпляра, а не під час імпорту." + +msgid "Added the tb_locals parameter." +msgstr "Додано параметр tb_locals." + +msgid "" +"This method returns the instance of ``TestResult`` used by :meth:`run`. It " +"is not intended to be called directly, but can be overridden in subclasses " +"to provide a custom ``TestResult``." +msgstr "" +"Цей метод повертає екземпляр ``TestResult``, який використовується :meth:" +"`run`. Він не призначений для безпосереднього виклику, але може бути " +"замінений у підкласах, щоб надати спеціальний ``TestResult``." + +msgid "" +"``_makeResult()`` instantiates the class or callable passed in the " +"``TextTestRunner`` constructor as the ``resultclass`` argument. It defaults " +"to :class:`TextTestResult` if no ``resultclass`` is provided. The result " +"class is instantiated with the following arguments::" +msgstr "" +"``_makeResult()`` створює екземпляр класу або виклику, переданого в " +"конструкторі ``TextTestRunner`` як аргумент ``resultclass``. За " +"замовчуванням :class:`TextTestResult`, якщо не надано ``resultclass``. Клас " +"результату створюється з такими аргументами:" + +msgid "" +"This method is the main public interface to the ``TextTestRunner``. This " +"method takes a :class:`TestSuite` or :class:`TestCase` instance. A :class:" +"`TestResult` is created by calling :func:`_makeResult` and the test(s) are " +"run and the results printed to stdout." +msgstr "" +"Цей метод є основним публічним інтерфейсом для ``TextTestRunner``. Цей метод " +"приймає екземпляр :class:`TestSuite` або :class:`TestCase`. :class:" +"`TestResult` створюється шляхом виклику :func:`_makeResult`, і тест(и) " +"запускаються, а результати виводяться на stdout." + +msgid "" +"A command-line program that loads a set of tests from *module* and runs " +"them; this is primarily for making test modules conveniently executable. The " +"simplest use for this function is to include the following line at the end " +"of a test script::" +msgstr "" +"Програма командного рядка, яка завантажує набір тестів із *модуля* та " +"запускає їх; це насамперед для того, щоб зробити тестові модулі зручними для " +"виконання. Найпростішим використанням цієї функції є додавання такого рядка " +"в кінці тестового сценарію::" + +msgid "" +"You can run tests with more detailed information by passing in the verbosity " +"argument::" +msgstr "" +"Ви можете запустити тести з більш детальною інформацією, передавши аргумент " +"verbosity::" + +msgid "" +"The *defaultTest* argument is either the name of a single test or an " +"iterable of test names to run if no test names are specified via *argv*. If " +"not specified or ``None`` and no test names are provided via *argv*, all " +"tests found in *module* are run." +msgstr "" +"Аргумент *defaultTest* — це або назва окремого тесту, або ітерація імен " +"тестів для запуску, якщо жодні імена тестів не вказані через *argv*. Якщо не " +"вказано або ``None``, а імена тестів не надаються через *argv*, запускаються " +"всі тести, знайдені в *module*." + +msgid "" +"The *argv* argument can be a list of options passed to the program, with the " +"first element being the program name. If not specified or ``None``, the " +"values of :data:`sys.argv` are used." +msgstr "" +"Аргумент *argv* може бути списком параметрів, переданих програмі, з першим " +"елементом, який є назвою програми. Якщо не вказано або ``None``, " +"використовуються значення :data:`sys.argv`." + +msgid "" +"The *testRunner* argument can either be a test runner class or an already " +"created instance of it. By default ``main`` calls :func:`sys.exit` with an " +"exit code indicating success or failure of the tests run." +msgstr "" +"Аргумент *testRunner* може бути або класом запуску тестів, або його вже " +"створеним екземпляром. За замовчуванням ``main`` викликає :func:`sys.exit` з " +"кодом виходу, що вказує на успішне або невдале виконання тестів." + +msgid "" +"The *testLoader* argument has to be a :class:`TestLoader` instance, and " +"defaults to :data:`defaultTestLoader`." +msgstr "" +"Аргумент *testLoader* має бути екземпляром :class:`TestLoader` і за " +"умовчанням має значення :data:`defaultTestLoader`." + +msgid "" +"``main`` supports being used from the interactive interpreter by passing in " +"the argument ``exit=False``. This displays the result on standard output " +"without calling :func:`sys.exit`::" +msgstr "" +"``main`` підтримує використання з інтерактивного інтерпретатора шляхом " +"передачі аргументу ``exit=False``. Це відображає результат у стандартному " +"виводі без виклику :func:`sys.exit`::" + +msgid "" +"The *failfast*, *catchbreak* and *buffer* parameters have the same effect as " +"the same-name `command-line options`_." +msgstr "" +"Параметри *failfast*, *catchbreak* і *buffer* мають той самий ефект, що й " +"одноіменні параметри командного рядка (`command-line options`_)." + +msgid "" +"The *warnings* argument specifies the :ref:`warning filter ` " +"that should be used while running the tests. If it's not specified, it will " +"remain ``None`` if a :option:`!-W` option is passed to :program:`python` " +"(see :ref:`Warning control `), otherwise it will be set " +"to ``'default'``." +msgstr "" +"Аргумент *попередження* вказує :ref:`фільтр попереджень `, " +"який слід використовувати під час виконання тестів. Якщо його не вказано, " +"він залишатиметься ``None``, якщо параметр :option:`!-W` передано :program:" +"`python` (див. :ref:`Контроль попередження `), інакше він " +"буде встановлений на ``'за замовчуванням``." + +msgid "" +"Calling ``main`` actually returns an instance of the ``TestProgram`` class. " +"This stores the result of the tests run as the ``result`` attribute." +msgstr "" +"Виклик ``main`` фактично повертає екземпляр класу ``TestProgram``. Це " +"зберігає результат виконання тестів як атрибут ``result``." + +msgid "The *exit* parameter was added." +msgstr "Додано параметр *exit*." + +msgid "" +"The *verbosity*, *failfast*, *catchbreak*, *buffer* and *warnings* " +"parameters were added." +msgstr "" +"Додано параметри *verbosity*, *failfast*, *catchbreak*, *buffer* і " +"*warnings*." + +msgid "" +"The *defaultTest* parameter was changed to also accept an iterable of test " +"names." +msgstr "" +"Параметр *defaultTest* було змінено, щоб також приймати ітерацію імен тестів." + +msgid "load_tests Protocol" +msgstr "протокол load_tests" + +msgid "" +"Modules or packages can customize how tests are loaded from them during " +"normal test runs or test discovery by implementing a function called " +"``load_tests``." +msgstr "" +"Модулі або пакунки можуть налаштувати спосіб завантаження тестів з них під " +"час звичайних тестових прогонів або виявлення тестів, реалізувавши функцію " +"під назвою ``load_tests``." + +msgid "" +"If a test module defines ``load_tests`` it will be called by :meth:" +"`TestLoader.loadTestsFromModule` with the following arguments::" +msgstr "" +"Якщо тестовий модуль визначає ``load_tests``, він буде викликаний :meth:" +"`TestLoader.loadTestsFromModule` з такими аргументами::" + +msgid "" +"where *pattern* is passed straight through from ``loadTestsFromModule``. It " +"defaults to ``None``." +msgstr "" +"де *шаблон* передається безпосередньо з ``loadTestsFromModule``. За " +"замовчуванням ``None``." + +msgid "It should return a :class:`TestSuite`." +msgstr "Він має повернути :class:`TestSuite`." + +msgid "" +"*loader* is the instance of :class:`TestLoader` doing the loading. " +"*standard_tests* are the tests that would be loaded by default from the " +"module. It is common for test modules to only want to add or remove tests " +"from the standard set of tests. The third argument is used when loading " +"packages as part of test discovery." +msgstr "" +"*loader* — це екземпляр :class:`TestLoader`, який виконує завантаження. " +"*standard_tests* — це тести, які за замовчуванням завантажуватимуться з " +"модуля. Зазвичай тестові модулі хочуть лише додавати або видаляти тести зі " +"стандартного набору тестів. Третій аргумент використовується під час " +"завантаження пакетів у рамках виявлення тесту." + +msgid "" +"A typical ``load_tests`` function that loads tests from a specific set of :" +"class:`TestCase` classes may look like::" +msgstr "" +"Типова функція ``load_tests``, яка завантажує тести з певного набору класів :" +"class:`TestCase`, може виглядати так:" + +msgid "" +"If discovery is started in a directory containing a package, either from the " +"command line or by calling :meth:`TestLoader.discover`, then the package :" +"file:`__init__.py` will be checked for ``load_tests``. If that function " +"does not exist, discovery will recurse into the package as though it were " +"just another directory. Otherwise, discovery of the package's tests will be " +"left up to ``load_tests`` which is called with the following arguments::" +msgstr "" +"Якщо відкриття розпочато в каталозі, що містить пакет, або з командного " +"рядка, або викликом :meth:`TestLoader.discover`, тоді пакет :file:`__init__." +"py` буде перевірено на ``load_tests``. Якщо ця функція не існує, виявлення " +"повториться в пакунку так, ніби це просто інший каталог. В іншому випадку " +"виявлення тестів пакета буде залишено до ``load_tests``, який викликається з " +"такими аргументами::" + +msgid "" +"This should return a :class:`TestSuite` representing all the tests from the " +"package. (``standard_tests`` will only contain tests collected from :file:" +"`__init__.py`.)" +msgstr "" +"Це має повернути :class:`TestSuite`, що представляє всі тести з пакета. " +"(``standard_tests`` міститиме лише тести, зібрані з :file:`__init__.py`.)" + +msgid "" +"Because the pattern is passed into ``load_tests`` the package is free to " +"continue (and potentially modify) test discovery. A 'do nothing' " +"``load_tests`` function for a test package would look like::" +msgstr "" +"Оскільки шаблон передається в ``load_tests``, пакунок може продовжувати (і " +"потенційно змінювати) пошук тестів. Функція ``load_tests`` 'нічого не " +"робити' для тестового пакета виглядатиме так:" + +msgid "" +"Discovery no longer checks package names for matching *pattern* due to the " +"impossibility of package names matching the default pattern." +msgstr "" +"Discovery більше не перевіряє назви пакетів на відповідність *шаблону* через " +"те, що назви пакетів не відповідають шаблону за замовчуванням." + +msgid "Class and Module Fixtures" +msgstr "Фікстури класів і модулів" + +msgid "" +"Class and module level fixtures are implemented in :class:`TestSuite`. When " +"the test suite encounters a test from a new class then :meth:`tearDownClass` " +"from the previous class (if there is one) is called, followed by :meth:" +"`setUpClass` from the new class." +msgstr "" +"Фікстури рівня класу та модуля реалізовано в :class:`TestSuite`. Коли набір " +"тестів зустрічає тест з нового класу, викликається :meth:`tearDownClass` з " +"попереднього класу (якщо він є), а потім :meth:`setUpClass` з нового класу." + +msgid "" +"Similarly if a test is from a different module from the previous test then " +"``tearDownModule`` from the previous module is run, followed by " +"``setUpModule`` from the new module." +msgstr "" +"Подібним чином, якщо тест виконується з модуля, відмінного від попереднього, " +"тоді запускається ``tearDownModule`` з попереднього модуля, а потім " +"``setUpModule`` з нового модуля." + +msgid "" +"After all the tests have run the final ``tearDownClass`` and " +"``tearDownModule`` are run." +msgstr "" +"Після виконання всіх тестів запускаються остаточні ``tearDownClass`` і " +"``tearDownModule``." + +msgid "" +"Note that shared fixtures do not play well with [potential] features like " +"test parallelization and they break test isolation. They should be used with " +"care." +msgstr "" +"Зауважте, що спільні прилади погано працюють із [потенційними] функціями, " +"такими як розпаралелювання тестів, і вони порушують ізоляцію тестів. Їх слід " +"використовувати обережно." + +msgid "" +"The default ordering of tests created by the unittest test loaders is to " +"group all tests from the same modules and classes together. This will lead " +"to ``setUpClass`` / ``setUpModule`` (etc) being called exactly once per " +"class and module. If you randomize the order, so that tests from different " +"modules and classes are adjacent to each other, then these shared fixture " +"functions may be called multiple times in a single test run." +msgstr "" +"Стандартний порядок тестів, створених завантажувачами тестів unittest, " +"полягає в тому, щоб групувати всі тести з однакових модулів і класів разом. " +"Це призведе до виклику ``setUpClass`` / ``setUpModule`` (і т.д.) рівно один " +"раз для кожного класу та модуля. Якщо ви рандомізуєте порядок, щоб тести з " +"різних модулів і класів були суміжними один з одним, тоді ці спільні функції " +"фікстури можуть викликатися кілька разів під час одного запуску тесту." + +msgid "" +"Shared fixtures are not intended to work with suites with non-standard " +"ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to " +"support shared fixtures." +msgstr "" +"Спільні світильники не призначені для роботи з комплектами з нестандартним " +"упорядкуванням. ``BaseTestSuite`` все ще існує для фреймворків, які не " +"хочуть підтримувати спільні фікстури." + +msgid "" +"If there are any exceptions raised during one of the shared fixture " +"functions the test is reported as an error. Because there is no " +"corresponding test instance an ``_ErrorHolder`` object (that has the same " +"interface as a :class:`TestCase`) is created to represent the error. If you " +"are just using the standard unittest test runner then this detail doesn't " +"matter, but if you are a framework author it may be relevant." +msgstr "" +"Якщо є будь-які винятки, викликані під час однієї зі спільних функцій " +"приладу, тест повідомляється як помилка. Оскільки немає відповідного " +"екземпляра тесту, для представлення помилки створюється об’єкт " +"``_ErrorHolder`` (який має той самий інтерфейс, що й :class:`TestCase`). " +"Якщо ви просто використовуєте стандартний модуль тестування, ця деталь не " +"має значення, але якщо ви є автором фреймворку, вона може бути актуальною." + +msgid "setUpClass and tearDownClass" +msgstr "setUpClass і tearDownClass" + +msgid "These must be implemented as class methods::" +msgstr "Вони повинні бути реалізовані як методи класу:" + +msgid "" +"If you want the ``setUpClass`` and ``tearDownClass`` on base classes called " +"then you must call up to them yourself. The implementations in :class:" +"`TestCase` are empty." +msgstr "" +"Якщо ви хочете викликати ``setUpClass`` і ``tearDownClass`` базових класів, " +"ви повинні викликати їх самостійно. Реалізації в :class:`TestCase` порожні." + +msgid "" +"If an exception is raised during a ``setUpClass`` then the tests in the " +"class are not run and the ``tearDownClass`` is not run. Skipped classes will " +"not have ``setUpClass`` or ``tearDownClass`` run. If the exception is a :exc:" +"`SkipTest` exception then the class will be reported as having been skipped " +"instead of as an error." +msgstr "" +"Якщо під час ``setUpClass`` виникає виняток, то тести в класі не " +"запускаються, а ``tearDownClass`` не запускається. Пропущені класи не " +"запускатимуть ``setUpClass`` або ``tearDownClass``. Якщо виняток є винятком :" +"exc:`SkipTest`, тоді клас буде повідомлено як пропущений, а не як помилку." + +msgid "setUpModule and tearDownModule" +msgstr "setUpModule і tearDownModule" + +msgid "These should be implemented as functions::" +msgstr "Вони повинні бути реалізовані як функції:" + +msgid "" +"If an exception is raised in a ``setUpModule`` then none of the tests in the " +"module will be run and the ``tearDownModule`` will not be run. If the " +"exception is a :exc:`SkipTest` exception then the module will be reported as " +"having been skipped instead of as an error." +msgstr "" +"Якщо в ``setUpModule`` виникає виняток, тоді жоден із тестів у модулі не " +"буде запущено, а ``tearDownModule`` не буде запущено. Якщо виняток є " +"винятком :exc:`SkipTest`, тоді модуль буде повідомлено як пропущений, а не " +"як помилку." + +msgid "" +"To add cleanup code that must be run even in the case of an exception, use " +"``addModuleCleanup``:" +msgstr "" +"Щоб додати код очищення, який потрібно запускати навіть у випадку винятку, " +"використовуйте ``addModuleCleanup``:" + +msgid "" +"Add a function to be called after :func:`tearDownModule` to cleanup " +"resources used during the test class. Functions will be called in reverse " +"order to the order they are added (:abbr:`LIFO (last-in, first-out)`). They " +"are called with any arguments and keyword arguments passed into :meth:" +"`addModuleCleanup` when they are added." +msgstr "" +"Додайте функцію, яка буде викликатися після :func:`tearDownModule` для " +"очищення ресурсів, використаних під час тестового класу. Функції будуть " +"викликані в порядку, зворотному порядку їх додавання (:abbr:`LIFO (останній " +"прийшов, перший вийшов)`). Вони викликаються з будь-якими аргументами та " +"ключовими аргументами, які передаються в :meth:`addModuleCleanup` під час їх " +"додавання." + +msgid "" +"If :meth:`setUpModule` fails, meaning that :func:`tearDownModule` is not " +"called, then any cleanup functions added will still be called." +msgstr "" +"Якщо :meth:`setUpModule` не вдається, тобто :func:`tearDownModule` не " +"викликається, тоді будь-які додані функції очищення все одно будуть " +"викликані." + +msgid "" +"Enter the supplied :term:`context manager`. If successful, also add its :" +"meth:`~object.__exit__` method as a cleanup function by :func:" +"`addModuleCleanup` and return the result of the :meth:`~object.__enter__` " +"method." +msgstr "" + +msgid "" +"This function is called unconditionally after :func:`tearDownModule`, or " +"after :func:`setUpModule` if :func:`setUpModule` raises an exception." +msgstr "" +"Ця функція викликається безумовно після :func:`tearDownModule` або після :" +"func:`setUpModule`, якщо :func:`setUpModule` викликає виняткову ситуацію." + +msgid "" +"It is responsible for calling all the cleanup functions added by :func:" +"`addModuleCleanup`. If you need cleanup functions to be called *prior* to :" +"func:`tearDownModule` then you can call :func:`doModuleCleanups` yourself." +msgstr "" +"Він відповідає за виклик усіх функцій очищення, доданих :func:" +"`addModuleCleanup`. Якщо вам потрібно, щоб функції очищення викликалися " +"*перед* :func:`tearDownModule`, ви можете викликати :func:`doModuleCleanups` " +"самостійно." + +msgid "" +":func:`doModuleCleanups` pops methods off the stack of cleanup functions one " +"at a time, so it can be called at any time." +msgstr "" +":func:`doModuleCleanups` витягує методи зі стеку функцій очищення по одному, " +"тому їх можна викликати будь-коли." + +msgid "Signal Handling" +msgstr "Обробка сигналів" + +msgid "" +"The :option:`-c/--catch ` command-line option to unittest, " +"along with the ``catchbreak`` parameter to :func:`unittest.main()`, provide " +"more friendly handling of control-C during a test run. With catch break " +"behavior enabled control-C will allow the currently running test to " +"complete, and the test run will then end and report all the results so far. " +"A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." +msgstr "" +"Параметр командного рядка :option:`-c/--catch ` для unittest " +"разом із параметром ``catchbreak`` для :func:`unittest.main()` забезпечують " +"більш зручну обробку control-C під час пробний запуск. Якщо ввімкнути " +"поведінку catch break, Control-C дозволить завершити поточний тест, після " +"чого тестовий запуск завершиться та повідомить усі результати. Другий " +"control-c викличе :exc:`KeyboardInterrupt` у звичайний спосіб." + +msgid "" +"The control-c handling signal handler attempts to remain compatible with " +"code or tests that install their own :const:`signal.SIGINT` handler. If the " +"``unittest`` handler is called but *isn't* the installed :const:`signal." +"SIGINT` handler, i.e. it has been replaced by the system under test and " +"delegated to, then it calls the default handler. This will normally be the " +"expected behavior by code that replaces an installed handler and delegates " +"to it. For individual tests that need ``unittest`` control-c handling " +"disabled the :func:`removeHandler` decorator can be used." +msgstr "" +"Обробник сигналів обробки control-c намагається залишатися сумісним із кодом " +"або тестами, які встановлюють власний обробник :const:`signal.SIGINT`. Якщо " +"обробник ``unittest`` викликається, але *не* встановлений обробник :const:" +"`signal.SIGINT`, тобто він був замінений тестованою системою та делегований, " +"тоді він викликає обробник за замовчуванням. Зазвичай це буде очікувана " +"поведінка коду, який замінює встановлений обробник і делегує йому. Для " +"окремих тестів, які потребують вимкнення обробки ``unittest`` control-c, " +"можна використовувати декоратор :func:`removeHandler`." + +msgid "" +"There are a few utility functions for framework authors to enable control-c " +"handling functionality within test frameworks." +msgstr "" +"Існує кілька службових функцій для авторів фреймворків, щоб увімкнути " +"функціональність обробки control-c у тестових фреймворках." + +msgid "" +"Install the control-c handler. When a :const:`signal.SIGINT` is received " +"(usually in response to the user pressing control-c) all registered results " +"have :meth:`~TestResult.stop` called." +msgstr "" +"Встановіть обробник control-c. Коли отримано :const:`signal.SIGINT` " +"(зазвичай у відповідь на натискання користувачем control-c), усі " +"зареєстровані результати викликають :meth:`~TestResult.stop`." + +msgid "" +"Register a :class:`TestResult` object for control-c handling. Registering a " +"result stores a weak reference to it, so it doesn't prevent the result from " +"being garbage collected." +msgstr "" +"Зареєструйте об’єкт :class:`TestResult` для обробки control-c. Реєстрація " +"результату зберігає слабке посилання на нього, тому це не запобігає збиранню " +"сміття результату." + +msgid "" +"Registering a :class:`TestResult` object has no side-effects if control-c " +"handling is not enabled, so test frameworks can unconditionally register all " +"results they create independently of whether or not handling is enabled." +msgstr "" +"Реєстрація об’єкта :class:`TestResult` не має побічних ефектів, якщо обробку " +"control-c не ввімкнено, тому тестові фреймворки можуть беззастережно " +"реєструвати всі створені ними результати незалежно від того, увімкнено " +"обробку чи ні." + +msgid "" +"Remove a registered result. Once a result has been removed then :meth:" +"`~TestResult.stop` will no longer be called on that result object in " +"response to a control-c." +msgstr "" +"Видалити зареєстрований результат. Після видалення результату :meth:" +"`~TestResult.stop` більше не викликатиметься для цього об’єкта результату у " +"відповідь на control-c." + +msgid "" +"When called without arguments this function removes the control-c handler if " +"it has been installed. This function can also be used as a test decorator to " +"temporarily remove the handler while the test is being executed::" +msgstr "" +"При виклику без аргументів ця функція видаляє обробник control-c, якщо він " +"був встановлений. Цю функцію також можна використовувати як декоратор тесту " +"для тимчасового видалення обробника під час виконання тесту:" diff --git a/library/unittest_mock-examples.po b/library/unittest_mock-examples.po new file mode 100644 index 000000000..3060d01e7 --- /dev/null +++ b/library/unittest_mock-examples.po @@ -0,0 +1,1305 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`unittest.mock` --- getting started" +msgstr ":mod:`unittest.mock` --- початок роботи" + +msgid "Using Mock" +msgstr "Використання Mock" + +msgid "Mock Patching Methods" +msgstr "Імітаційні методи виправлення" + +msgid "Common uses for :class:`Mock` objects include:" +msgstr "Загальні випадки використання об’єктів :class:`Mock` включають:" + +msgid "Patching methods" +msgstr "Методи латання" + +msgid "Recording method calls on objects" +msgstr "Виклики методів запису на об'єктах" + +msgid "" +"You might want to replace a method on an object to check that it is called " +"with the correct arguments by another part of the system:" +msgstr "" +"Можливо, ви захочете замінити метод на об’єкті, щоб перевірити, чи " +"викликається він із правильними аргументами іншою частиною системи:" + +msgid "" +"Once our mock has been used (``real.method`` in this example) it has methods " +"and attributes that allow you to make assertions about how it has been used." +msgstr "" +"Після того, як наш макет був використаний (``real.method`` у цьому " +"прикладі), він має методи та атрибути, які дозволяють робити твердження про " +"те, як він використовувався." + +msgid "" +"In most of these examples the :class:`Mock` and :class:`MagicMock` classes " +"are interchangeable. As the ``MagicMock`` is the more capable class it makes " +"a sensible one to use by default." +msgstr "" +"У більшості цих прикладів класи :class:`Mock` і :class:`MagicMock` " +"взаємозамінні. Оскільки ``MagicMock`` є більш потужним класом, його доцільно " +"використовувати за замовчуванням." + +msgid "" +"Once the mock has been called its :attr:`~Mock.called` attribute is set to " +"``True``. More importantly we can use the :meth:`~Mock.assert_called_with` " +"or :meth:`~Mock.assert_called_once_with` method to check that it was called " +"with the correct arguments." +msgstr "" +"Після виклику макета його атрибут :attr:`~Mock. called` має значення " +"``True``. Що ще важливіше, ми можемо використовувати метод :meth:`~Mock." +"assert_ called_with` або :meth:`~Mock.assert_ called_once_with`, щоб " +"перевірити, чи його було викликано з правильними аргументами." + +msgid "" +"This example tests that calling ``ProductionClass().method`` results in a " +"call to the ``something`` method:" +msgstr "" +"Цей приклад перевіряє, що виклик ``ProductionClass().method`` призводить до " +"виклику ``something`` методу:" + +msgid "Mock for Method Calls on an Object" +msgstr "Макет для викликів методів об’єкта" + +msgid "" +"In the last example we patched a method directly on an object to check that " +"it was called correctly. Another common use case is to pass an object into a " +"method (or some part of the system under test) and then check that it is " +"used in the correct way." +msgstr "" +"В останньому прикладі ми патчили метод безпосередньо на об’єкті, щоб " +"перевірити, чи правильно його викликали. Іншим поширеним випадком " +"використання є передача об’єкта в метод (або деяку частину тестованої " +"системи), а потім перевірка його правильного використання." + +msgid "" +"The simple ``ProductionClass`` below has a ``closer`` method. If it is " +"called with an object then it calls ``close`` on it." +msgstr "" +"Простий ``ProductionClass`` нижче має метод ``closer``. Якщо він " +"викликається з об’єктом, він викликає для нього ``close``." + +msgid "" +"So to test it we need to pass in an object with a ``close`` method and check " +"that it was called correctly." +msgstr "" +"Отже, щоб перевірити його, нам потрібно передати об’єкт за допомогою методу " +"``close`` і перевірити, чи він правильно викликаний." + +msgid "" +"We don't have to do any work to provide the 'close' method on our mock. " +"Accessing close creates it. So, if 'close' hasn't already been called then " +"accessing it in the test will create it, but :meth:`~Mock." +"assert_called_with` will raise a failure exception." +msgstr "" +"Нам не потрібно нічого робити, щоб забезпечити метод \"close\" у нашому " +"макеті. Доступ до close створює його. Отже, якщо 'close' ще не було " +"викликано, тоді доступ до нього в тесті створить його, але :meth:`~Mock." +"assert_ called_with` викличе виняток помилки." + +msgid "Mocking Classes" +msgstr "Знущальні класи" + +msgid "" +"A common use case is to mock out classes instantiated by your code under " +"test. When you patch a class, then that class is replaced with a mock. " +"Instances are created by *calling the class*. This means you access the " +"\"mock instance\" by looking at the return value of the mocked class." +msgstr "" +"Поширений випадок використання - це макетування класів, створених вашим " +"тестованим кодом. Коли ви виправляєте клас, цей клас замінюється макетом. " +"Екземпляри створюються шляхом *виклику класу*. Це означає, що ви отримуєте " +"доступ до \"макетного екземпляра\", дивлячись на значення, що повертається " +"імітованим класом." + +msgid "" +"In the example below we have a function ``some_function`` that instantiates " +"``Foo`` and calls a method on it. The call to :func:`patch` replaces the " +"class ``Foo`` with a mock. The ``Foo`` instance is the result of calling the " +"mock, so it is configured by modifying the mock :attr:`~Mock." +"return_value`. ::" +msgstr "" +"У наведеному нижче прикладі ми маємо функцію ``some_function``, яка створює " +"екземпляр ``Foo`` і викликає на ньому метод. Виклик :func:`patch` замінює " +"клас ``Foo`` на макет. Екземпляр ``Foo`` є результатом виклику mock, тому " +"він налаштовується шляхом модифікації mock :attr:`~Mock.return_value`. ::" + +msgid "Naming your mocks" +msgstr "Називання своїх макетів" + +msgid "" +"It can be useful to give your mocks a name. The name is shown in the repr of " +"the mock and can be helpful when the mock appears in test failure messages. " +"The name is also propagated to attributes or methods of the mock:" +msgstr "" +"Може бути корисно дати своїм макетам назву. Ім’я відображається у " +"відображенні макета та може бути корисним, коли макет з’являється в " +"повідомленнях про помилку тесту. Назва також поширюється на атрибути або " +"методи макета:" + +msgid "Tracking all Calls" +msgstr "Відстеження всіх дзвінків" + +msgid "" +"Often you want to track more than a single call to a method. The :attr:" +"`~Mock.mock_calls` attribute records all calls to child attributes of the " +"mock - and also to their children." +msgstr "" +"Часто потрібно відстежувати більше ніж один виклик методу. Атрибут :attr:" +"`~Mock.mock_calls` записує всі виклики дочірніх атрибутів mock, а також до " +"їхніх дочірніх атрибутів." + +msgid "" +"If you make an assertion about ``mock_calls`` and any unexpected methods " +"have been called, then the assertion will fail. This is useful because as " +"well as asserting that the calls you expected have been made, you are also " +"checking that they were made in the right order and with no additional calls:" +msgstr "" +"Якщо ви робите твердження щодо ``mock_calls`` і були викликані будь-які " +"неочікувані методи, тоді твердження не вдасться. Це корисно, оскільки ви не " +"тільки стверджуєте, що дзвінки, які ви очікували, були здійснені, але й " +"перевіряєте, що вони були здійснені в правильному порядку та без додаткових " +"дзвінків:" + +msgid "" +"You use the :data:`call` object to construct lists for comparing with " +"``mock_calls``:" +msgstr "" +"Ви використовуєте об’єкт :data:`call` для створення списків для порівняння з " +"``mock_calls``:" + +msgid "" +"However, parameters to calls that return mocks are not recorded, which means " +"it is not possible to track nested calls where the parameters used to create " +"ancestors are important:" +msgstr "" +"Однак параметри викликів, які повертають імітації, не записуються, що " +"означає, що неможливо відстежувати вкладені виклики, де важливі параметри, " +"які використовуються для створення предків:" + +msgid "Setting Return Values and Attributes" +msgstr "Налаштування повернених значень і атрибутів" + +msgid "Setting the return values on a mock object is trivially easy:" +msgstr "" +"Встановлення повернених значень для макетного об’єкта тривіально легко:" + +msgid "Of course you can do the same for methods on the mock:" +msgstr "Звичайно, ви можете зробити те саме для методів на mock:" + +msgid "The return value can also be set in the constructor:" +msgstr "Повернене значення також можна встановити в конструкторі:" + +msgid "If you need an attribute setting on your mock, just do it:" +msgstr "Якщо вам потрібне налаштування атрибута на макеті, просто зробіть це:" + +msgid "" +"Sometimes you want to mock up a more complex situation, like for example " +"``mock.connection.cursor().execute(\"SELECT 1\")``. If we wanted this call " +"to return a list, then we have to configure the result of the nested call." +msgstr "" +"Іноді потрібно змакувати складнішу ситуацію, як, наприклад, ``mock." +"connection.cursor().execute(\"SELECT 1\")``. Якщо ми хочемо, щоб цей виклик " +"повертав список, ми повинні налаштувати результат вкладеного виклику." + +msgid "" +"We can use :data:`call` to construct the set of calls in a \"chained call\" " +"like this for easy assertion afterwards:" +msgstr "" +"Ми можемо використовувати :data:`call`, щоб створити набір викликів у " +"\"ланцюжковому виклику\", подібному до цього для легкого твердження згодом:" + +msgid "" +"It is the call to ``.call_list()`` that turns our call object into a list of " +"calls representing the chained calls." +msgstr "" +"Саме виклик ``.call_list()`` перетворює наш об’єкт виклику на список " +"викликів, що представляють ланцюгові виклики." + +msgid "Raising exceptions with mocks" +msgstr "Створення винятків за допомогою моків" + +msgid "" +"A useful attribute is :attr:`~Mock.side_effect`. If you set this to an " +"exception class or instance then the exception will be raised when the mock " +"is called." +msgstr "" +"Корисним атрибутом є :attr:`~Mock.side_effect`. Якщо ви встановите це як " +"клас винятку або екземпляр, тоді виняток буде викликано під час виклику " +"макета." + +msgid "Side effect functions and iterables" +msgstr "Функції побічних ефектів та ітерації" + +msgid "" +"``side_effect`` can also be set to a function or an iterable. The use case " +"for ``side_effect`` as an iterable is where your mock is going to be called " +"several times, and you want each call to return a different value. When you " +"set ``side_effect`` to an iterable every call to the mock returns the next " +"value from the iterable:" +msgstr "" +"``side_effect`` також може бути встановлено як функція або iterable. Варіант " +"використання ``side_effect`` як ітерації полягає в тому, що ваш макет буде " +"викликатися кілька разів, і ви хочете, щоб кожен виклик повертав інше " +"значення. Коли ви встановлюєте ``side_effect`` на iterable, кожен виклик " +"mock повертає наступне значення з iterable:" + +msgid "" +"For more advanced use cases, like dynamically varying the return values " +"depending on what the mock is called with, ``side_effect`` can be a " +"function. The function will be called with the same arguments as the mock. " +"Whatever the function returns is what the call returns:" +msgstr "" +"Для більш складних випадків використання, як-от динамічне змінення " +"повернених значень залежно від того, з чим викликається макет, " +"``side_effect`` може бути функцією. Функція буде викликана з тими самими " +"аргументами, що й макет. Усе, що повертає функція, повертає виклик:" + +msgid "Mocking asynchronous iterators" +msgstr "Знущання над асинхронними ітераторами" + +msgid "" +"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to mock :ref:" +"`async-iterators` through ``__aiter__``. The :attr:`~Mock.return_value` " +"attribute of ``__aiter__`` can be used to set the return values to be used " +"for iteration." +msgstr "" +"Починаючи з Python 3.8, ``AsyncMock`` і ``MagicMock`` підтримують імітацію :" +"ref:`async-iterators` через ``__aiter__``. Атрибут :attr:`~Mock." +"return_value` ``__aiter__`` можна використовувати для встановлення " +"повернених значень, які будуть використовуватися для ітерації." + +msgid "Mocking asynchronous context manager" +msgstr "Знущання над асинхронним контекстним менеджером" + +msgid "" +"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to mock :ref:" +"`async-context-managers` through ``__aenter__`` and ``__aexit__``. By " +"default, ``__aenter__`` and ``__aexit__`` are ``AsyncMock`` instances that " +"return an async function." +msgstr "" +"Починаючи з Python 3.8, ``AsyncMock`` і ``MagicMock`` підтримують імітацію :" +"ref:`async-context-managers` через ``__aenter__`` і ``__aexit__``. За " +"замовчуванням ``__aenter__`` і ``__aexit__`` є екземплярами ``AsyncMock``, " +"які повертають асинхронну функцію." + +msgid "Creating a Mock from an Existing Object" +msgstr "Створення макету з існуючого об’єкта" + +msgid "" +"One problem with over use of mocking is that it couples your tests to the " +"implementation of your mocks rather than your real code. Suppose you have a " +"class that implements ``some_method``. In a test for another class, you " +"provide a mock of this object that *also* provides ``some_method``. If later " +"you refactor the first class, so that it no longer has ``some_method`` - " +"then your tests will continue to pass even though your code is now broken!" +msgstr "" +"Однією з проблем із надмірним використанням mocking є те, що воно поєднує " +"ваші тести з реалізацією ваших mocks, а не з вашим реальним кодом. " +"Припустімо, у вас є клас, який реалізує ``some_method``. У тесті для іншого " +"класу ви надаєте макет цього об’єкта, який *також* надає ``some_method``. " +"Якщо пізніше ви переробите перший клас, щоб він більше не мав " +"``some_method``, тоді ваші тести продовжуватимуть проходити, навіть якщо ваш " +"код зараз зламаний!" + +msgid "" +":class:`Mock` allows you to provide an object as a specification for the " +"mock, using the *spec* keyword argument. Accessing methods / attributes on " +"the mock that don't exist on your specification object will immediately " +"raise an attribute error. If you change the implementation of your " +"specification, then tests that use that class will start failing immediately " +"without you having to instantiate the class in those tests." +msgstr "" +":class:`Mock` дозволяє вам надати об’єкт як специфікацію для mock, " +"використовуючи аргумент ключового слова *spec*. Доступ до методів/атрибутів " +"у макеті, які не існують у вашому об’єкті специфікації, негайно призведе до " +"помилки атрибута. Якщо ви зміните реалізацію вашої специфікації, тоді тести, " +"які використовують цей клас, негайно почнуть виходити з ладу без " +"необхідності створення екземпляра класу в цих тестах." + +msgid "" +"Using a specification also enables a smarter matching of calls made to the " +"mock, regardless of whether some parameters were passed as positional or " +"named arguments::" +msgstr "" +"Використання специфікації також дає змогу розумніше зіставляти виклики, " +"зроблені для mock, незалежно від того, чи були деякі параметри передані як " +"позиційні чи іменовані аргументи:" + +msgid "" +"If you want this smarter matching to also work with method calls on the " +"mock, you can use :ref:`auto-speccing `." +msgstr "" +"Якщо ви бажаєте, щоб ця розумніша відповідність також працювала з викликами " +"методів на mock, ви можете використовувати :ref:`auto-speccing `." + +msgid "" +"If you want a stronger form of specification that prevents the setting of " +"arbitrary attributes as well as the getting of them then you can use " +"*spec_set* instead of *spec*." +msgstr "" +"Якщо вам потрібна сильніша форма специфікації, яка запобігає встановленню " +"довільних атрибутів, а також їх отриманню, ви можете використовувати " +"*spec_set* замість *spec*." + +msgid "Patch Decorators" +msgstr "Декоратори патчів" + +msgid "" +"With :func:`patch` it matters that you patch objects in the namespace where " +"they are looked up. This is normally straightforward, but for a quick guide " +"read :ref:`where to patch `." +msgstr "" +"З :func:`patch` важливо, щоб ви латали об’єкти в просторі імен, де вони " +"шукаються. Зазвичай це просто, але для короткого посібника прочитайте :ref:" +"`де патч `." + +msgid "" +"A common need in tests is to patch a class attribute or a module attribute, " +"for example patching a builtin or patching a class in a module to test that " +"it is instantiated. Modules and classes are effectively global, so patching " +"on them has to be undone after the test or the patch will persist into other " +"tests and cause hard to diagnose problems." +msgstr "" +"Загальною потребою в тестах є виправлення атрибута класу або атрибута " +"модуля, наприклад, виправлення вбудованого модуля або виправлення класу в " +"модулі, щоб перевірити, чи створено його екземпляр. Модулі та класи фактично " +"є глобальними, тому після тесту потрібно скасувати їх виправлення, інакше " +"виправлення збережеться в інших тестах і спричинить проблеми, які важко " +"діагностувати." + +msgid "" +"mock provides three convenient decorators for this: :func:`patch`, :func:" +"`patch.object` and :func:`patch.dict`. ``patch`` takes a single string, of " +"the form ``package.module.Class.attribute`` to specify the attribute you are " +"patching. It also optionally takes a value that you want the attribute (or " +"class or whatever) to be replaced with. 'patch.object' takes an object and " +"the name of the attribute you would like patched, plus optionally the value " +"to patch it with." +msgstr "" +"mock надає для цього три зручні декоратори: :func:`patch`, :func:`patch." +"object` і :func:`patch.dict`. ``patch`` приймає один рядок у формі ``package." +"module.Class.attribute``, щоб визначити атрибут, який ви виправляєте. Він " +"також необов’язково приймає значення, яким ви бажаєте замінити атрибут (або " +"клас чи щось інше). 'patch.object' приймає об'єкт і ім'я атрибута, який ви " +"бажаєте виправити, а також необов'язково значення, з яким його потрібно " +"виправити." + +msgid "``patch.object``::" +msgstr "``patch.object``::" + +msgid "" +"If you are patching a module (including :mod:`builtins`) then use :func:" +"`patch` instead of :func:`patch.object`:" +msgstr "" +"Якщо ви виправляєте модуль (включаючи :mod:`builtins`), використовуйте :func:" +"`patch` замість :func:`patch.object`:" + +msgid "" +"The module name can be 'dotted', in the form ``package.module`` if needed::" +msgstr "" +"Ім’я модуля може бути розділене крапкою у формі ``package.module``, якщо " +"необхідно:" + +msgid "A nice pattern is to actually decorate test methods themselves:" +msgstr "Хороший зразок — це фактично прикрасити самі методи тестування:" + +msgid "" +"If you want to patch with a Mock, you can use :func:`patch` with only one " +"argument (or :func:`patch.object` with two arguments). The mock will be " +"created for you and passed into the test function / method:" +msgstr "" +"Якщо ви хочете виправити за допомогою Mock, ви можете використовувати :func:" +"`patch` лише з одним аргументом (або :func:`patch.object` з двома " +"аргументами). Макет буде створено для вас і передано в тестову функцію/метод:" + +msgid "You can stack up multiple patch decorators using this pattern::" +msgstr "" +"Ви можете скласти кілька декораторів патчів, використовуючи цей шаблон:" + +msgid "" +"When you nest patch decorators the mocks are passed in to the decorated " +"function in the same order they applied (the normal *Python* order that " +"decorators are applied). This means from the bottom up, so in the example " +"above the mock for ``test_module.ClassName2`` is passed in first." +msgstr "" +"Коли ви вкладаєте декоратори латок, макети передаються до декорованої " +"функції в тому ж порядку, в якому вони застосовані (звичайний *Python* " +"порядок застосування декораторів). Це означає знизу вгору, тому у наведеному " +"вище прикладі спочатку передається макет для ``test_module.ClassName2``." + +msgid "" +"There is also :func:`patch.dict` for setting values in a dictionary just " +"during a scope and restoring the dictionary to its original state when the " +"test ends:" +msgstr "" +"Існує також :func:`patch.dict` для встановлення значень у словнику лише під " +"час області видимості та відновлення словника до вихідного стану після " +"завершення тесту:" + +msgid "" +"``patch``, ``patch.object`` and ``patch.dict`` can all be used as context " +"managers." +msgstr "" +"``patch``, ``patch.object`` і ``patch.dict`` можна використовувати як " +"контекстні менеджери." + +msgid "" +"Where you use :func:`patch` to create a mock for you, you can get a " +"reference to the mock using the \"as\" form of the with statement:" +msgstr "" +"Там, де ви використовуєте :func:`patch` для створення макету, ви можете " +"отримати посилання на макет за допомогою форми \"as\" оператора with:" + +msgid "" +"As an alternative ``patch``, ``patch.object`` and ``patch.dict`` can be used " +"as class decorators. When used in this way it is the same as applying the " +"decorator individually to every method whose name starts with \"test\"." +msgstr "" +"Як альтернативу ``patch``, ``patch.object`` і ``patch.dict`` можна " +"використовувати як декоратори класів. При такому використанні це те саме, що " +"застосувати декоратор окремо до кожного методу, назва якого починається з " +"\"test\"." + +msgid "Further Examples" +msgstr "Подальші приклади" + +msgid "Here are some more examples for some slightly more advanced scenarios." +msgstr "Ось ще кілька прикладів для деяких трохи складніших сценаріїв." + +msgid "Mocking chained calls" +msgstr "Знущальні ланцюгові дзвінки" + +msgid "" +"Mocking chained calls is actually straightforward with mock once you " +"understand the :attr:`~Mock.return_value` attribute. When a mock is called " +"for the first time, or you fetch its ``return_value`` before it has been " +"called, a new :class:`Mock` is created." +msgstr "" +"Висмішувати ланцюгові виклики насправді просто за допомогою mock, коли ви " +"розумієте атрибут :attr:`~Mock.return_value`. Коли макет викликається вперше " +"або ви отримуєте його ``return_value`` до його виклику, створюється новий :" +"class:`Mock`." + +msgid "" +"This means that you can see how the object returned from a call to a mocked " +"object has been used by interrogating the ``return_value`` mock:" +msgstr "" +"Це означає, що ви можете побачити, як об’єкт, повернутий викликом " +"імітованого об’єкта, використовувався, запитуючи макет ``return_value``:" + +msgid "" +"From here it is a simple step to configure and then make assertions about " +"chained calls. Of course another alternative is writing your code in a more " +"testable way in the first place..." +msgstr "" +"Звідси це простий крок, щоб налаштувати та зробити твердження щодо " +"ланцюжкових викликів. Звісно, іншою альтернативою є написання коду більш " +"придатним для перевірки способом..." + +msgid "So, suppose we have some code that looks a little bit like this:" +msgstr "Отже, припустімо, що ми маємо код, який виглядає приблизно так:" + +msgid "" +"Assuming that ``BackendProvider`` is already well tested, how do we test " +"``method()``? Specifically, we want to test that the code section ``# more " +"code`` uses the response object in the correct way." +msgstr "" +"Якщо припустити, що ``BackendProvider`` вже добре перевірено, як ми " +"перевіримо ``method()``? Зокрема, ми хочемо перевірити, чи розділ коду ``# " +"more code`` правильно використовує об’єкт відповіді." + +msgid "" +"As this chain of calls is made from an instance attribute we can monkey " +"patch the ``backend`` attribute on a ``Something`` instance. In this " +"particular case we are only interested in the return value from the final " +"call to ``start_call`` so we don't have much configuration to do. Let's " +"assume the object it returns is 'file-like', so we'll ensure that our " +"response object uses the builtin :func:`open` as its ``spec``." +msgstr "" +"Оскільки цей ланцюжок викликів здійснюється з атрибута екземпляра, ми можемо " +"виправити атрибут ``backend`` на екземплярі ``Something``. У цьому " +"конкретному випадку нас цікавить лише значення, яке повертає останній виклик " +"``start_call``, тому нам не потрібно робити багато налаштувань. Припустімо, " +"що об’єкт, який він повертає, є \"файлоподібним\", тому ми переконаємося, що " +"наш об’єкт відповіді використовує вбудований :func:`open` як свою " +"``специфікацію``." + +msgid "" +"To do this we create a mock instance as our mock backend and create a mock " +"response object for it. To set the response as the return value for that " +"final ``start_call`` we could do this::" +msgstr "" +"Для цього ми створюємо макет екземпляра як наш макет бекенда та створюємо " +"для нього об’єкт імітації відповіді. Щоб встановити відповідь як значення, " +"що повертається для цього останнього ``start_call``, ми можемо зробити так:" + +msgid "" +"We can do that in a slightly nicer way using the :meth:`~Mock." +"configure_mock` method to directly set the return value for us::" +msgstr "" +"Ми можемо зробити це трохи зручнішим способом, використовуючи метод :meth:" +"`~Mock.configure_mock`, щоб напряму встановити значення, що повертається:" + +msgid "" +"With these we monkey patch the \"mock backend\" in place and can make the " +"real call::" +msgstr "" +"За допомогою них ми, як мавпи, виправляємо \"імітацію бекенда\" на місці та " +"можемо зробити справжній виклик:" + +msgid "" +"Using :attr:`~Mock.mock_calls` we can check the chained call with a single " +"assert. A chained call is several calls in one line of code, so there will " +"be several entries in ``mock_calls``. We can use :meth:`call.call_list` to " +"create this list of calls for us::" +msgstr "" +"Використовуючи :attr:`~Mock.mock_calls`, ми можемо перевірити ланцюжковий " +"виклик за допомогою одного твердження. Зв’язаний виклик — це кілька викликів " +"в одному рядку коду, тому в ``mock_calls`` буде кілька записів. Ми можемо " +"використовувати :meth:`call.call_list`, щоб створити цей список дзвінків для " +"нас::" + +msgid "Partial mocking" +msgstr "Часткове глузування" + +msgid "" +"In some tests I wanted to mock out a call to :meth:`datetime.date.today` to " +"return a known date, but I didn't want to prevent the code under test from " +"creating new date objects. Unfortunately :class:`datetime.date` is written " +"in C, and so I couldn't just monkey-patch out the static :meth:`date.today` " +"method." +msgstr "" +"У деяких тестах я хотів імітувати виклик :meth:`datetime.date.today` для " +"повернення відомої дати, але я не хотів перешкоджати тестованому коду " +"створювати нові об’єкти дати. На жаль, :class:`datetime.date` написаний на " +"C, тому я не міг просто виправити статичний метод :meth:`date.today`." + +msgid "" +"I found a simple way of doing this that involved effectively wrapping the " +"date class with a mock, but passing through calls to the constructor to the " +"real class (and returning real instances)." +msgstr "" +"Я знайшов простий спосіб зробити це, який передбачав ефективне обгортання " +"класу дати макетом, але передачу викликів конструктору до реального класу (і " +"повернення реальних екземплярів)." + +msgid "" +"The :func:`patch decorator ` is used here to mock out the ``date`` " +"class in the module under test. The :attr:`side_effect` attribute on the " +"mock date class is then set to a lambda function that returns a real date. " +"When the mock date class is called a real date will be constructed and " +"returned by ``side_effect``. ::" +msgstr "" +":func:`decorator patch ` використовується тут, щоб імітувати клас " +"``date`` у тестованому модулі. Атрибут :attr:`side_effect` класу фіктивної " +"дати потім встановлюється на лямбда-функцію, яка повертає справжню дату. " +"Коли клас фіктивної дати викликається, справжня дата буде створена та " +"повернена ``side_effect``. ::" + +msgid "" +"Note that we don't patch :class:`datetime.date` globally, we patch ``date`` " +"in the module that *uses* it. See :ref:`where to patch `." +msgstr "" +"Зверніть увагу, що ми не виправляємо :class:`datetime.date` глобально, ми " +"виправляємо ``date`` в модулі, який *використовує* його. Дивіться :ref:`де " +"виправити `." + +msgid "" +"When ``date.today()`` is called a known date is returned, but calls to the " +"``date(...)`` constructor still return normal dates. Without this you can " +"find yourself having to calculate an expected result using exactly the same " +"algorithm as the code under test, which is a classic testing anti-pattern." +msgstr "" +"Коли викликається ``date.today()``, повертається відома дата, але виклики " +"конструктора ``date(...)`` повертають звичайні дати. Без цього вам може " +"знадобитися розрахувати очікуваний результат, використовуючи точно такий " +"самий алгоритм, як і тестовий код, який є класичним тестовим антишаблоном." + +msgid "" +"Calls to the date constructor are recorded in the ``mock_date`` attributes " +"(``call_count`` and friends) which may also be useful for your tests." +msgstr "" +"Виклики конструктора дат записуються в атрибутах mock_date (call_count і " +"friends), що також може бути корисним для ваших тестів." + +msgid "" +"An alternative way of dealing with mocking dates, or other builtin classes, " +"is discussed in `this blog entry `_." +msgstr "" +"Альтернативний спосіб роботи з імітаційними датами або іншими вбудованими " +"класами обговорюється в `цьому записі блогу `_." + +msgid "Mocking a Generator Method" +msgstr "Висміювання методу генератора" + +msgid "" +"A Python generator is a function or method that uses the :keyword:`yield` " +"statement to return a series of values when iterated over [#]_." +msgstr "" +"Генератор Python — це функція або метод, який використовує оператор :keyword:" +"`yield` для повернення ряду значень під час ітерації [#]_." + +msgid "" +"A generator method / function is called to return the generator object. It " +"is the generator object that is then iterated over. The protocol method for " +"iteration is :meth:`~container.__iter__`, so we can mock this using a :class:" +"`MagicMock`." +msgstr "" +"Метод/функція генератора викликається для повернення об’єкта генератора. Це " +"об’єкт генератора, який потім повторюється. Методом протоколу для ітерації " +"є :meth:`~container.__iter__`, тому ми можемо імітувати це за допомогою :" +"class:`MagicMock`." + +msgid "" +"Here's an example class with an \"iter\" method implemented as a generator:" +msgstr "Ось приклад класу з методом \"iter\", реалізованим як генератор:" + +msgid "How would we mock this class, and in particular its \"iter\" method?" +msgstr "Як би ми висміювали цей клас, і зокрема його метод \"iter\"?" + +msgid "" +"To configure the values returned from the iteration (implicit in the call " +"to :class:`list`), we need to configure the object returned by the call to " +"``foo.iter()``." +msgstr "" +"Щоб налаштувати значення, що повертаються з ітерації (неявно у виклику :" +"class:`list`), нам потрібно налаштувати об’єкт, що повертається викликом " +"``foo.iter()``." + +msgid "" +"There are also generator expressions and more `advanced uses `_ of generators, but we aren't concerned " +"about them here. A very good introduction to generators and how powerful " +"they are is: `Generator Tricks for Systems Programmers `_." +msgstr "" +"Існують також вирази-генератори та більш `просунуті способи використання " +"`_ генераторів, але вони тут " +"нас не хвилюють. Дуже гарний вступ до генераторів і їхньої потужності: " +"`Трюки генераторів для системних програмістів `_." + +msgid "Applying the same patch to every test method" +msgstr "Застосування того самого патча до кожного методу тестування" + +msgid "" +"If you want several patches in place for multiple test methods the obvious " +"way is to apply the patch decorators to every method. This can feel like " +"unnecessary repetition. Instead, you can use :func:`patch` (in all its " +"various forms) as a class decorator. This applies the patches to all test " +"methods on the class. A test method is identified by methods whose names " +"start with ``test``::" +msgstr "" + +msgid "" +"An alternative way of managing patches is to use the :ref:`start-and-stop`. " +"These allow you to move the patching into your ``setUp`` and ``tearDown`` " +"methods. ::" +msgstr "" +"Альтернативним способом керування патчами є використання :ref:`start-and-" +"stop`. Це дозволяє вам перемістити виправлення у ваші методи ``setUp`` і " +"``tearDown``. ::" + +msgid "" +"If you use this technique you must ensure that the patching is \"undone\" by " +"calling ``stop``. This can be fiddlier than you might think, because if an " +"exception is raised in the setUp then tearDown is not called. :meth:" +"`unittest.TestCase.addCleanup` makes this easier::" +msgstr "" +"Якщо ви використовуєте цю техніку, ви повинні переконатися, що виправлення " +"\"скасовано\", викликавши ``stop``. Це може бути складніше, ніж ви могли б " +"подумати, тому що якщо виняток виникає в SetUp, tearDown не викликається. :" +"meth:`unittest.TestCase.addCleanup` полегшує це::" + +msgid "Mocking Unbound Methods" +msgstr "Висміювання незв'язаних методів" + +msgid "" +"Whilst writing tests today I needed to patch an *unbound method* (patching " +"the method on the class rather than on the instance). I needed self to be " +"passed in as the first argument because I want to make asserts about which " +"objects were calling this particular method. The issue is that you can't " +"patch with a mock for this, because if you replace an unbound method with a " +"mock it doesn't become a bound method when fetched from the instance, and so " +"it doesn't get self passed in. The workaround is to patch the unbound method " +"with a real function instead. The :func:`patch` decorator makes it so simple " +"to patch out methods with a mock that having to create a real function " +"becomes a nuisance." +msgstr "" +"Сьогодні під час написання тестів мені потрібно було виправити *незв’язаний " +"метод* (виправити метод у класі, а не в екземплярі). Мені потрібно було " +"передати self як перший аргумент, оскільки я хочу зробити твердження про те, " +"які об’єкти викликають цей конкретний метод. Проблема полягає в тому, що ви " +"не можете виправити за допомогою макету для цього, тому що якщо ви заміните " +"неприв’язаний метод на макет, він не стане зв’язаним методом під час " +"отримання з примірника, і тому він не передається самостійно. Обхідним " +"шляхом є заміна незв’язаного методу реальною функцією. Декоратор :func:" +"`patch` робить так простим виправлення методів за допомогою макету, що " +"створення справжньої функції стає незручністю." + +msgid "" +"If you pass ``autospec=True`` to patch then it does the patching with a " +"*real* function object. This function object has the same signature as the " +"one it is replacing, but delegates to a mock under the hood. You still get " +"your mock auto-created in exactly the same way as before. What it means " +"though, is that if you use it to patch out an unbound method on a class the " +"mocked function will be turned into a bound method if it is fetched from an " +"instance. It will have ``self`` passed in as the first argument, which is " +"exactly what I wanted:" +msgstr "" +"Якщо ви передаєте ``autospec=True`` для виправлення, тоді він виконує " +"виправлення за допомогою *реального* функціонального об’єкта. Цей " +"функціональний об’єкт має таку саму сигнатуру, як і той, який він замінює, " +"але делегує макет під капотом. Ви все ще автоматично створюєте свій макет " +"точно так само, як і раніше. Однак це означає, що якщо ви використовуєте " +"його для виправлення незв’язаного методу в класі, імітована функція буде " +"перетворена на зв’язаний метод, якщо її буде отримано з екземпляра. Першим " +"аргументом буде передано ``self``, а це саме те, що я хотів:" + +msgid "" +"If we don't use ``autospec=True`` then the unbound method is patched out " +"with a Mock instance instead, and isn't called with ``self``." +msgstr "" +"Якщо ми не використовуємо ``autospec=True``, тоді неприв’язаний метод " +"замість цього виправляється за допомогою екземпляра Mock і не викликається " +"за допомогою ``self``." + +msgid "Checking multiple calls with mock" +msgstr "Перевірка кількох викликів за допомогою імітації" + +msgid "" +"mock has a nice API for making assertions about how your mock objects are " +"used." +msgstr "" +"mock має гарний API для створення тверджень про те, як використовуються ваші " +"макетні об’єкти." + +msgid "" +"If your mock is only being called once you can use the :meth:" +"`assert_called_once_with` method that also asserts that the :attr:" +"`call_count` is one." +msgstr "" +"Якщо ваш макет викликається лише один раз, ви можете використати метод :meth:" +"`assert_ called_once_with`, який також підтверджує, що :attr:`call_count` " +"дорівнює одиниці." + +msgid "" +"Both ``assert_called_with`` and ``assert_called_once_with`` make assertions " +"about the *most recent* call. If your mock is going to be called several " +"times, and you want to make assertions about *all* those calls you can use :" +"attr:`~Mock.call_args_list`:" +msgstr "" +"І ``assert_ called_with``, і ``assert_ called_once_with`` створюють " +"твердження щодо *останнього* виклику. Якщо ваш макет буде викликано кілька " +"разів, і ви хочете зробити твердження щодо *всіх* цих викликів, ви можете " +"використовувати :attr:`~Mock.call_args_list`:" + +msgid "" +"The :data:`call` helper makes it easy to make assertions about these calls. " +"You can build up a list of expected calls and compare it to " +"``call_args_list``. This looks remarkably similar to the repr of the " +"``call_args_list``:" +msgstr "" +"Помічник :data:`call` полегшує створення тверджень щодо цих викликів. Ви " +"можете створити список очікуваних викликів і порівняти його з " +"``call_args_list``. Це виглядає надзвичайно схожим на відображення ``списку " +"викликів_аргів``:" + +msgid "Coping with mutable arguments" +msgstr "Робота зі змінними аргументами" + +msgid "" +"Another situation is rare, but can bite you, is when your mock is called " +"with mutable arguments. ``call_args`` and ``call_args_list`` store " +"*references* to the arguments. If the arguments are mutated by the code " +"under test then you can no longer make assertions about what the values were " +"when the mock was called." +msgstr "" +"Інша ситуація рідкісна, але може вас вкусити, коли вашу імітацію викликають " +"зі змінними аргументами. ``call_args`` і ``call_args_list`` зберігають " +"*посилання* на аргументи. Якщо аргументи змінено кодом, що тестується, ви " +"більше не зможете робити твердження про те, якими були значення під час " +"виклику макету." + +msgid "" +"Here's some example code that shows the problem. Imagine the following " +"functions defined in 'mymodule'::" +msgstr "" +"Ось приклад коду, який показує проблему. Уявіть собі такі функції, визначені " +"в 'mymodule'::" + +msgid "" +"When we try to test that ``grob`` calls ``frob`` with the correct argument " +"look what happens::" +msgstr "" +"Коли ми намагаємося перевірити, що ``grob`` викликає ``frob`` з правильним " +"аргументом, подивіться, що відбувається:" + +msgid "" +"One possibility would be for mock to copy the arguments you pass in. This " +"could then cause problems if you do assertions that rely on object identity " +"for equality." +msgstr "" +"Однією з можливостей було б імітаційне копіювання аргументів, які ви " +"передаєте. Це може спричинити проблеми, якщо ви робите твердження, які " +"покладаються на ідентичність об’єкта для рівності." + +msgid "" +"Here's one solution that uses the :attr:`side_effect` functionality. If you " +"provide a ``side_effect`` function for a mock then ``side_effect`` will be " +"called with the same args as the mock. This gives us an opportunity to copy " +"the arguments and store them for later assertions. In this example I'm using " +"*another* mock to store the arguments so that I can use the mock methods for " +"doing the assertion. Again a helper function sets this up for me. ::" +msgstr "" +"Ось одне рішення, яке використовує функцію :attr:`side_effect`. Якщо ви " +"надасте функцію ``side_effect`` для макета, то ``side_effect`` буде " +"викликано з тими самими аргументами, що й макет. Це дає нам можливість " +"скопіювати аргументи та зберегти їх для подальших тверджень. У цьому " +"прикладі я використовую *інший* макет для зберігання аргументів, щоб я міг " +"використовувати макетні методи для виконання твердження. Знову допоміжна " +"функція встановлює це для мене. ::" + +msgid "" +"``copy_call_args`` is called with the mock that will be called. It returns a " +"new mock that we do the assertion on. The ``side_effect`` function makes a " +"copy of the args and calls our ``new_mock`` with the copy." +msgstr "" +"``copy_call_args`` викликається з макетом, який буде викликано. Він повертає " +"новий макет, на основі якого ми виконуємо твердження. Функція " +"``side_effect`` створює копію аргументів і викликає наш ``new_mock`` разом " +"із копією." + +msgid "" +"If your mock is only going to be used once there is an easier way of " +"checking arguments at the point they are called. You can simply do the " +"checking inside a ``side_effect`` function." +msgstr "" +"Якщо ваш макет використовуватиметься лише один раз, є простіший спосіб " +"перевірити аргументи в момент їх виклику. Ви можете просто зробити перевірку " +"всередині функції ``side_effect``." + +msgid "" +"An alternative approach is to create a subclass of :class:`Mock` or :class:" +"`MagicMock` that copies (using :func:`copy.deepcopy`) the arguments. Here's " +"an example implementation:" +msgstr "" +"Альтернативним підходом є створення підкласу :class:`Mock` або :class:" +"`MagicMock`, який копіює (за допомогою :func:`copy.deepcopy`) аргументи. Ось " +"приклад реалізації:" + +msgid "" +"When you subclass ``Mock`` or ``MagicMock`` all dynamically created " +"attributes, and the ``return_value`` will use your subclass automatically. " +"That means all children of a ``CopyingMock`` will also have the type " +"``CopyingMock``." +msgstr "" +"Коли ви створюєте підклас ``Mock`` або ``MagicMock``, усі динамічно створені " +"атрибути та ``return_value`` автоматично використовуватимуть ваш підклас. Це " +"означає, що всі нащадки ``CopyingMock`` також матимуть тип ``CopyingMock``." + +msgid "Nesting Patches" +msgstr "Патчі гніздування" + +msgid "" +"Using patch as a context manager is nice, but if you do multiple patches you " +"can end up with nested with statements indenting further and further to the " +"right::" +msgstr "" +"Використовувати patch як менеджер контексту добре, але якщо ви робите кілька " +"патчів, ви можете отримати вкладені з операторами відступи все далі й далі " +"праворуч::" + +msgid "" +"With unittest ``cleanup`` functions and the :ref:`start-and-stop` we can " +"achieve the same effect without the nested indentation. A simple helper " +"method, ``create_patch``, puts the patch in place and returns the created " +"mock for us::" +msgstr "" +"За допомогою функцій очищення unittest і :ref:`start-and-stop` ми можемо " +"досягти того самого ефекту без вкладеного відступу. Простий допоміжний " +"метод, ``create_patch``, ставить патч на місце та повертає створений макет " +"для нас::" + +msgid "Mocking a dictionary with MagicMock" +msgstr "Знущання над словником за допомогою MagicMock" + +msgid "" +"You may want to mock a dictionary, or other container object, recording all " +"access to it whilst having it still behave like a dictionary." +msgstr "" +"Можливо, ви захочете імітувати словник або інший об’єкт-контейнер, записуючи " +"всі доступи до нього, водночас залишаючи його поведінку як словник." + +msgid "" +"We can do this with :class:`MagicMock`, which will behave like a dictionary, " +"and using :data:`~Mock.side_effect` to delegate dictionary access to a real " +"underlying dictionary that is under our control." +msgstr "" +"Ми можемо зробити це за допомогою :class:`MagicMock`, який поводитиметься як " +"словник, і за допомогою :data:`~Mock.side_effect` для делегування доступу до " +"словника справжньому базовому словнику, який знаходиться під нашим контролем." + +msgid "" +"When the :meth:`__getitem__` and :meth:`__setitem__` methods of our " +"``MagicMock`` are called (normal dictionary access) then ``side_effect`` is " +"called with the key (and in the case of ``__setitem__`` the value too). We " +"can also control what is returned." +msgstr "" +"Коли викликаються методи :meth:`__getitem__` і :meth:`__setitem__` нашого " +"``MagicMock`` (звичайний доступ до словника), тоді ``side_effect`` " +"викликається з ключем (а у випадку ``__setitem__`` значення також). Ми також " +"можемо контролювати те, що повертається." + +msgid "" +"After the ``MagicMock`` has been used we can use attributes like :data:" +"`~Mock.call_args_list` to assert about how the dictionary was used:" +msgstr "" +"Після використання ``MagicMock`` ми можемо використовувати такі атрибути, " +"як :data:`~Mock.call_args_list`, щоб підтвердити, як використовувався " +"словник:" + +msgid "" +"An alternative to using ``MagicMock`` is to use ``Mock`` and *only* provide " +"the magic methods you specifically want:" +msgstr "" +"Альтернативою використанню ``MagicMock`` є використання ``Mock`` і *лише* " +"надання магічних методів, які вам потрібні:" + +msgid "" +"A *third* option is to use ``MagicMock`` but passing in ``dict`` as the " +"*spec* (or *spec_set*) argument so that the ``MagicMock`` created only has " +"dictionary magic methods available:" +msgstr "" +"*Третій* варіант — використовувати ``MagicMock``, але передаючи ``dict`` як " +"аргумент *spec* (або *spec_set*), щоб створений ``MagicMock`` мав доступні " +"лише магічні методи словника:" + +msgid "" +"With these side effect functions in place, the ``mock`` will behave like a " +"normal dictionary but recording the access. It even raises a :exc:`KeyError` " +"if you try to access a key that doesn't exist." +msgstr "" +"З цими функціями побічних ефектів ``мокет`` поводитиметься як звичайний " +"словник, але записуватиме доступ. Він навіть викликає :exc:`KeyError`, якщо " +"ви намагаєтеся отримати доступ до ключа, якого не існує." + +msgid "" +"After it has been used you can make assertions about the access using the " +"normal mock methods and attributes:" +msgstr "" +"Після його використання ви можете робити твердження щодо доступу за " +"допомогою звичайних методів і атрибутів:" + +msgid "Mock subclasses and their attributes" +msgstr "Макетні підкласи та їхні атрибути" + +msgid "" +"There are various reasons why you might want to subclass :class:`Mock`. One " +"reason might be to add helper methods. Here's a silly example:" +msgstr "" +"Існують різні причини, чому ви можете створити підклас :class:`Mock`. Однією " +"з причин може бути додавання допоміжних методів. Ось дурний приклад:" + +msgid "" +"The standard behaviour for ``Mock`` instances is that attributes and the " +"return value mocks are of the same type as the mock they are accessed on. " +"This ensures that ``Mock`` attributes are ``Mocks`` and ``MagicMock`` " +"attributes are ``MagicMocks`` [#]_. So if you're subclassing to add helper " +"methods then they'll also be available on the attributes and return value " +"mock of instances of your subclass." +msgstr "" +"Стандартна поведінка екземплярів ``Mock`` полягає в тому, що атрибути та " +"значення, що повертаються mocks, мають той самий тип, що й макет, з якого до " +"них здійснюється доступ. Це гарантує, що атрибути ``Mock`` є ``Mocks``, а " +"``MagicMock`` атрибути ``MagicMocks`` [#]_. Отже, якщо ви створюєте підкласи " +"для додавання допоміжних методів, вони також будуть доступні в атрибутах і " +"повертаються значеннях екземплярів вашого підкласу." + +msgid "" +"Sometimes this is inconvenient. For example, `one user `_ is subclassing mock to created a `Twisted " +"adaptor `_. Having this applied to attributes too actually causes " +"errors." +msgstr "" +"Іноді це незручно. Наприклад, `один користувач `_ створює підклас, щоб створити `Twisted adapter " +"`_. Застосування цього до атрибутів також спричиняє помилки." + +msgid "" +"``Mock`` (in all its flavours) uses a method called ``_get_child_mock`` to " +"create these \"sub-mocks\" for attributes and return values. You can prevent " +"your subclass being used for attributes by overriding this method. The " +"signature is that it takes arbitrary keyword arguments (``**kwargs``) which " +"are then passed onto the mock constructor:" +msgstr "" +"``Mock`` (у всіх його варіантах) використовує метод під назвою " +"``_get_child_mock``, щоб створити ці \"під-моки\" для атрибутів і " +"повертаються значень. Ви можете запобігти використанню вашого підкласу для " +"атрибутів, замінивши цей метод. Підпис полягає в тому, що він приймає " +"довільні аргументи ключового слова (``**kwargs``), які потім передаються в " +"макетний конструктор:" + +msgid "" +"An exception to this rule are the non-callable mocks. Attributes use the " +"callable variant because otherwise non-callable mocks couldn't have callable " +"methods." +msgstr "" +"Винятком із цього правила є невикликані моки. Атрибути використовують " +"викликаючий варіант, оскільки інакше невикликані макети не могли б мати " +"викликані методи." + +msgid "Mocking imports with patch.dict" +msgstr "Знущання над імпортом за допомогою patch.dict" + +msgid "" +"One situation where mocking can be hard is where you have a local import " +"inside a function. These are harder to mock because they aren't using an " +"object from the module namespace that we can patch out." +msgstr "" +"Одна ситуація, коли насмішка може бути важкою, це коли у вас є локальний " +"імпорт всередині функції. Їх важче висміяти, оскільки вони не використовують " +"об’єкт із простору імен модуля, який ми можемо виправити." + +msgid "" +"Generally local imports are to be avoided. They are sometimes done to " +"prevent circular dependencies, for which there is *usually* a much better " +"way to solve the problem (refactor the code) or to prevent \"up front costs" +"\" by delaying the import. This can also be solved in better ways than an " +"unconditional local import (store the module as a class or module attribute " +"and only do the import on first use)." +msgstr "" +"Загалом слід уникати місцевого імпорту. Іноді їх роблять, щоб запобігти " +"циклічним залежностям, для яких *зазвичай* існує набагато кращий спосіб " +"вирішити проблему (рефакторити код) або запобігти \"попереднім витратам\" " +"шляхом затримки імпорту. Це також можна вирішити кращим способом, ніж " +"безумовний локальний імпорт (зберігайте модуль як клас або атрибут модуля та " +"виконуйте імпорт лише під час першого використання)." + +msgid "" +"That aside there is a way to use ``mock`` to affect the results of an " +"import. Importing fetches an *object* from the :data:`sys.modules` " +"dictionary. Note that it fetches an *object*, which need not be a module. " +"Importing a module for the first time results in a module object being put " +"in ``sys.modules``, so usually when you import something you get a module " +"back. This need not be the case however." +msgstr "" + +msgid "" +"This means you can use :func:`patch.dict` to *temporarily* put a mock in " +"place in :data:`sys.modules`. Any imports whilst this patch is active will " +"fetch the mock. When the patch is complete (the decorated function exits, " +"the with statement body is complete or ``patcher.stop()`` is called) then " +"whatever was there previously will be restored safely." +msgstr "" +"Це означає, що ви можете використовувати :func:`patch.dict`, щоб *тимчасово* " +"розмістити макет на місці в :data:`sys.modules`. Будь-який імпорт, поки цей " +"патч активний, отримуватиме макет. Коли виправлення завершено (декорована " +"функція завершує роботу, тіло оператора with завершено або викликається " +"``patcher.stop()``), тоді все, що було раніше, буде безпечно відновлено." + +msgid "Here's an example that mocks out the 'fooble' module." +msgstr "Ось приклад, який висміює модуль \"fooble\"." + +msgid "" +"As you can see the ``import fooble`` succeeds, but on exit there is no " +"'fooble' left in :data:`sys.modules`." +msgstr "" +"Як ви бачите, ``імпорт fooble`` вдається, але після виходу в :data:`sys." +"modules` не залишилося жодного 'fooble'." + +msgid "This also works for the ``from module import name`` form:" +msgstr "Це також працює для форми ``from module import name``:" + +msgid "With slightly more work you can also mock package imports:" +msgstr "" +"Доклавши трохи більше зусиль, ви також можете імітувати імпорт пакетів:" + +msgid "Tracking order of calls and less verbose call assertions" +msgstr "Відстеження порядку викликів і менш докладні підтвердження викликів" + +msgid "" +"The :class:`Mock` class allows you to track the *order* of method calls on " +"your mock objects through the :attr:`~Mock.method_calls` attribute. This " +"doesn't allow you to track the order of calls between separate mock objects, " +"however we can use :attr:`~Mock.mock_calls` to achieve the same effect." +msgstr "" +"Клас :class:`Mock` дозволяє вам відстежувати *порядок* викликів методів " +"ваших фіктивних об’єктів за допомогою атрибута :attr:`~Mock.method_calls`. " +"Це не дозволяє відстежувати порядок викликів між окремими макетними " +"об’єктами, однак ми можемо використовувати :attr:`~Mock.mock_calls` для " +"досягнення того самого ефекту." + +msgid "" +"Because mocks track calls to child mocks in ``mock_calls``, and accessing an " +"arbitrary attribute of a mock creates a child mock, we can create our " +"separate mocks from a parent one. Calls to those child mock will then all be " +"recorded, in order, in the ``mock_calls`` of the parent:" +msgstr "" +"Оскільки mocks відстежують виклики дочірніх mocks у ``mock_calls``, а доступ " +"до довільного атрибута mock створює дочірній mock, ми можемо створювати " +"окремі моки від батьківського. Виклики цих дочірніх маніпуляцій будуть " +"записані по порядку в ``mock_calls`` батьківського:" + +msgid "" +"We can then assert about the calls, including the order, by comparing with " +"the ``mock_calls`` attribute on the manager mock:" +msgstr "" +"Потім ми можемо стверджувати про виклики, включаючи порядок, порівнюючи з " +"атрибутом ``mock_calls`` макет менеджера:" + +msgid "" +"If ``patch`` is creating, and putting in place, your mocks then you can " +"attach them to a manager mock using the :meth:`~Mock.attach_mock` method. " +"After attaching calls will be recorded in ``mock_calls`` of the manager. ::" +msgstr "" +"Якщо ``patch`` створює та розміщує ваші макети, ви можете прикріпити їх до " +"макета менеджера за допомогою методу :meth:`~Mock.attach_mock`. Після " +"прикріплення виклики будуть записані в ``mock_calls`` менеджера. ::" + +msgid "" +"If many calls have been made, but you're only interested in a particular " +"sequence of them then an alternative is to use the :meth:`~Mock." +"assert_has_calls` method. This takes a list of calls (constructed with the :" +"data:`call` object). If that sequence of calls are in :attr:`~Mock." +"mock_calls` then the assert succeeds." +msgstr "" +"Якщо було зроблено багато викликів, але вас цікавить лише певна їх " +"послідовність, альтернативою є використання методу :meth:`~Mock." +"assert_has_calls`. Це бере список викликів (створений за допомогою об’єкта :" +"data:`call`). Якщо ця послідовність викликів міститься в :attr:`~Mock." +"mock_calls`, тоді твердження буде успішним." + +msgid "" +"Even though the chained call ``m.one().two().three()`` aren't the only calls " +"that have been made to the mock, the assert still succeeds." +msgstr "" +"Незважаючи на те, що зв’язаний виклик ``m.one().two().three()`` не єдиний " +"виклик, який було зроблено для mock, твердження все одно успішне." + +msgid "" +"Sometimes a mock may have several calls made to it, and you are only " +"interested in asserting about *some* of those calls. You may not even care " +"about the order. In this case you can pass ``any_order=True`` to " +"``assert_has_calls``:" +msgstr "" +"Іноді макет може мати кілька звернень до нього, і ви зацікавлені лише в " +"підтвердженні *деяких* із цих викликів. Ви можете навіть не дбати про " +"порядок. У цьому випадку ви можете передати ``any_order=True`` до " +"``assert_has_calls``:" + +msgid "More complex argument matching" +msgstr "Складніше зіставлення аргументів" + +msgid "" +"Using the same basic concept as :data:`ANY` we can implement matchers to do " +"more complex assertions on objects used as arguments to mocks." +msgstr "" +"Використовуючи ту саму основну концепцію, що й :data:`ANY`, ми можемо " +"реалізувати збіги для більш складних тверджень щодо об’єктів, які " +"використовуються як аргументи для імітації." + +msgid "" +"Suppose we expect some object to be passed to a mock that by default " +"compares equal based on object identity (which is the Python default for " +"user defined classes). To use :meth:`~Mock.assert_called_with` we would need " +"to pass in the exact same object. If we are only interested in some of the " +"attributes of this object then we can create a matcher that will check these " +"attributes for us." +msgstr "" +"Припустімо, ми очікуємо, що якийсь об’єкт буде передано макету, який за " +"замовчуванням порівнює рівність на основі ідентичності об’єкта (що є " +"стандартним значенням Python для визначених користувачем класів). Щоб " +"використовувати :meth:`~Mock.assert_ called_with`, нам потрібно буде " +"передати той самий об’єкт. Якщо нас цікавлять лише деякі атрибути цього " +"об’єкта, ми можемо створити відповідник, який перевірить ці атрибути для нас." + +msgid "" +"You can see in this example how a 'standard' call to ``assert_called_with`` " +"isn't sufficient:" +msgstr "" +"У цьому прикладі ви можете побачити, як \"стандартного\" виклику ``assert_ " +"called_with`` недостатньо:" + +msgid "" +"A comparison function for our ``Foo`` class might look something like this:" +msgstr "" +"Функція порівняння для нашого класу ``Foo`` може виглядати приблизно так:" + +msgid "" +"And a matcher object that can use comparison functions like this for its " +"equality operation would look something like this:" +msgstr "" +"І об’єкт відповідності, який може використовувати такі функції порівняння " +"для своєї операції рівності, виглядатиме приблизно так:" + +msgid "Putting all this together:" +msgstr "Зібравши все це разом:" + +msgid "" +"The ``Matcher`` is instantiated with our compare function and the ``Foo`` " +"object we want to compare against. In ``assert_called_with`` the ``Matcher`` " +"equality method will be called, which compares the object the mock was " +"called with against the one we created our matcher with. If they match then " +"``assert_called_with`` passes, and if they don't an :exc:`AssertionError` is " +"raised:" +msgstr "" +"Екземпляр ``Matcher`` створюється нашою функцією порівняння та об’єктом " +"``Foo``, з яким ми хочемо порівняти. У ``assert_ called_with`` буде " +"викликаний метод рівності ``Matcher``, який порівнює об’єкт, з яким було " +"викликано макет, з тим, з яким ми створили наш збігувач. Якщо вони " +"збігаються, ``assert_ called_with`` пропускається, а якщо вони не " +"збігаються, виникає :exc:`AssertionError`:" + +msgid "" +"With a bit of tweaking you could have the comparison function raise the :exc:" +"`AssertionError` directly and provide a more useful failure message." +msgstr "" +"Трохи налаштувавши функцію порівняння, ви могли б безпосередньо викликати :" +"exc:`AssertionError` і надавати більш корисне повідомлення про помилку." + +msgid "" +"As of version 1.5, the Python testing library `PyHamcrest `_ provides similar functionality, that may be " +"useful here, in the form of its equality matcher (`hamcrest.library." +"integration.match_equality `_)." +msgstr "" +"Починаючи з версії 1.5, тестова бібліотека Python `PyHamcrest `_ надає подібну функціональність, яка може бути " +"корисною тут, у формі її відповідника рівності (`hamcrest.library." +"integration.match_equality `_)." diff --git a/library/unittest_mock.po b/library/unittest_mock.po new file mode 100644 index 000000000..cfd7af567 --- /dev/null +++ b/library/unittest_mock.po @@ -0,0 +1,2882 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`unittest.mock` --- mock object library" +msgstr ":mod:`unittest.mock` --- бібліотека макетів об'єктів" + +msgid "**Source code:** :source:`Lib/unittest/mock.py`" +msgstr "**Вихідний код:** :source:`Lib/unittest/mock.py`" + +msgid "" +":mod:`unittest.mock` is a library for testing in Python. It allows you to " +"replace parts of your system under test with mock objects and make " +"assertions about how they have been used." +msgstr "" +":mod:`unittest.mock` — це бібліотека для тестування на Python. Це дозволяє " +"вам замінити частини вашої тестованої системи на фіктивні об’єкти та зробити " +"твердження про те, як вони використовувалися." + +msgid "" +":mod:`unittest.mock` provides a core :class:`Mock` class removing the need " +"to create a host of stubs throughout your test suite. After performing an " +"action, you can make assertions about which methods / attributes were used " +"and arguments they were called with. You can also specify return values and " +"set needed attributes in the normal way." +msgstr "" +":mod:`unittest.mock` надає базовий клас :class:`Mock`, який усуває " +"необхідність створювати безліч заглушок у вашому наборі тестів. Після " +"виконання дії ви можете зробити твердження про те, які методи/атрибути були " +"використані та аргументи, з якими вони були викликані. Ви також можете " +"вказати значення, що повертаються, і встановити необхідні атрибути звичайним " +"способом." + +msgid "" +"Additionally, mock provides a :func:`patch` decorator that handles patching " +"module and class level attributes within the scope of a test, along with :" +"const:`sentinel` for creating unique objects. See the `quick guide`_ for " +"some examples of how to use :class:`Mock`, :class:`MagicMock` and :func:" +"`patch`." +msgstr "" +"Крім того, mock надає декоратор :func:`patch`, який обробляє модуль " +"виправлення та атрибути рівня класу в межах тесту, а також :const:`sentinel` " +"для створення унікальних об’єктів. Перегляньте короткий посібник (`quick " +"guide`_) для деяких прикладів використання :class:`Mock`, :class:`MagicMock` " +"і :func:`patch`." + +msgid "" +"Mock is designed for use with :mod:`unittest` and is based on the 'action -> " +"assertion' pattern instead of 'record -> replay' used by many mocking " +"frameworks." +msgstr "" +"Mock розроблений для використання з :mod:`unittest` і базується на шаблоні " +"\"action -> assertion\" замість \"record -> replay\", який використовується " +"багатьма фреймворками мокінгу." + +msgid "" +"There is a backport of :mod:`unittest.mock` for earlier versions of Python, " +"available as `mock on PyPI `_." +msgstr "" +"Існує бекпорт :mod:`unittest.mock` для попередніх версій Python, доступний " +"як `mock on PyPI `_." + +msgid "Quick Guide" +msgstr "Короткий посібник" + +msgid "" +":class:`Mock` and :class:`MagicMock` objects create all attributes and " +"methods as you access them and store details of how they have been used. You " +"can configure them, to specify return values or limit what attributes are " +"available, and then make assertions about how they have been used:" +msgstr "" +"Об’єкти :class:`Mock` і :class:`MagicMock` створюють усі атрибути та методи " +"під час доступу до них і зберігають відомості про те, як вони " +"використовувалися. Ви можете налаштувати їх, щоб указати значення, що " +"повертаються, або обмежити доступність атрибутів, а потім зробити твердження " +"про те, як вони використовувалися:" + +msgid "" +":attr:`side_effect` allows you to perform side effects, including raising an " +"exception when a mock is called:" +msgstr "" +":attr:`side_effect` дозволяє виконувати побічні ефекти, включно з викликом " +"винятку під час виклику макету:" + +msgid "" +"Mock has many other ways you can configure it and control its behaviour. For " +"example the *spec* argument configures the mock to take its specification " +"from another object. Attempting to access attributes or methods on the mock " +"that don't exist on the spec will fail with an :exc:`AttributeError`." +msgstr "" +"Mock має багато інших способів налаштувати його та контролювати його " +"поведінку. Наприклад, аргумент *spec* налаштовує макет на отримання " +"специфікації з іншого об’єкта. Спроба отримати доступ до атрибутів або " +"методів у макеті, які не існують у специфікації, закінчиться помилкою з :exc:" +"`AttributeError`." + +msgid "" +"The :func:`patch` decorator / context manager makes it easy to mock classes " +"or objects in a module under test. The object you specify will be replaced " +"with a mock (or other object) during the test and restored when the test " +"ends::" +msgstr "" +"Декоратор/менеджер контексту :func:`patch` дозволяє легко імітувати класи чи " +"об’єкти в тестованому модулі. Вказаний вами об’єкт буде замінено макетом " +"(або іншим об’єктом) під час тесту та відновлено після завершення тесту:" + +msgid "" +"When you nest patch decorators the mocks are passed in to the decorated " +"function in the same order they applied (the normal *Python* order that " +"decorators are applied). This means from the bottom up, so in the example " +"above the mock for ``module.ClassName1`` is passed in first." +msgstr "" +"Коли ви вкладаєте декоратори латок, макети передаються до декорованої " +"функції в тому ж порядку, в якому вони застосовані (звичайний *Python* " +"порядок застосування декораторів). Це означає знизу вгору, тому у наведеному " +"вище прикладі спочатку передається макет для ``module.ClassName1``." + +msgid "" +"With :func:`patch` it matters that you patch objects in the namespace where " +"they are looked up. This is normally straightforward, but for a quick guide " +"read :ref:`where to patch `." +msgstr "" +"З :func:`patch` важливо, щоб ви латали об’єкти в просторі імен, де вони " +"шукаються. Зазвичай це просто, але для короткого посібника прочитайте :ref:" +"`де патч `." + +msgid "" +"As well as a decorator :func:`patch` can be used as a context manager in a " +"with statement:" +msgstr "" +"Як і декоратор :func:`patch` можна використовувати як менеджер контексту в " +"операторі with:" + +msgid "" +"There is also :func:`patch.dict` for setting values in a dictionary just " +"during a scope and restoring the dictionary to its original state when the " +"test ends:" +msgstr "" +"Існує також :func:`patch.dict` для встановлення значень у словнику лише під " +"час області видимості та відновлення словника до початкового стану після " +"завершення тесту:" + +msgid "" +"Mock supports the mocking of Python :ref:`magic methods `. " +"The easiest way of using magic methods is with the :class:`MagicMock` class. " +"It allows you to do things like:" +msgstr "" +"Mock підтримує знущання над Python :ref:`магічні методи `. " +"Найпростіший спосіб використання магічних методів — це клас :class:" +"`MagicMock`. Це дозволяє вам робити такі речі, як:" + +msgid "" +"Mock allows you to assign functions (or other Mock instances) to magic " +"methods and they will be called appropriately. The :class:`MagicMock` class " +"is just a Mock variant that has all of the magic methods pre-created for you " +"(well, all the useful ones anyway)." +msgstr "" +"Mock дозволяє вам призначати функції (або інші екземпляри Mock) магічним " +"методам, і вони будуть викликані належним чином. Клас :class:`MagicMock` — " +"це просто варіант Mock, який містить усі магічні методи, попередньо створені " +"для вас (ну, у всякому разі, всі корисні)." + +msgid "" +"The following is an example of using magic methods with the ordinary Mock " +"class:" +msgstr "" +"Нижче наведено приклад використання магічних методів із звичайним класом " +"Mock:" + +msgid "" +"For ensuring that the mock objects in your tests have the same api as the " +"objects they are replacing, you can use :ref:`auto-speccing `. Auto-speccing can be done through the *autospec* argument to " +"patch, or the :func:`create_autospec` function. Auto-speccing creates mock " +"objects that have the same attributes and methods as the objects they are " +"replacing, and any functions and methods (including constructors) have the " +"same call signature as the real object." +msgstr "" +"Щоб переконатися, що макетні об’єкти у ваших тестах мають той самий API, що " +"й об’єкти, які вони замінюють, ви можете використати :ref:`auto-speccing " +"`. Автоматичну специфікацію можна виконати за допомогою " +"аргументу *autospec* для виправлення або функції :func:`create_autospec`. " +"Автоматична специфікація створює макетні об’єкти, які мають ті самі атрибути " +"та методи, що й об’єкти, які вони замінюють, а будь-які функції та методи " +"(включаючи конструктори) мають ту саму сигнатуру виклику, що й реальний " +"об’єкт." + +msgid "" +"This ensures that your mocks will fail in the same way as your production " +"code if they are used incorrectly:" +msgstr "" +"Це гарантує, що ваші макети не працюватимуть так само, як і ваш робочий код, " +"якщо вони використовуються неправильно:" + +msgid "" +":func:`create_autospec` can also be used on classes, where it copies the " +"signature of the ``__init__`` method, and on callable objects where it " +"copies the signature of the ``__call__`` method." +msgstr "" +":func:`create_autospec` також можна використовувати в класах, де він копіює " +"сигнатуру методу ``__init__``, і на викликаних об’єктах, де він копіює " +"сигнатуру ``__call__`` методу." + +msgid "The Mock Class" +msgstr "Імітаційний клас" + +msgid "" +":class:`Mock` is a flexible mock object intended to replace the use of stubs " +"and test doubles throughout your code. Mocks are callable and create " +"attributes as new mocks when you access them [#]_. Accessing the same " +"attribute will always return the same mock. Mocks record how you use them, " +"allowing you to make assertions about what your code has done to them." +msgstr "" +":class:`Mock` — це гнучкий макет об’єкта, призначений для заміни " +"використання заглушок і тестових дублів у вашому коді. Макети можна " +"викликати та створювати атрибути як нові макети під час доступу до них [#]_. " +"Доступ до того самого атрибута завжди повертатиме той самий макет. Mocks " +"записують, як ви їх використовуєте, дозволяючи вам робити твердження про те, " +"що з ними зробив ваш код." + +msgid "" +":class:`MagicMock` is a subclass of :class:`Mock` with all the magic methods " +"pre-created and ready to use. There are also non-callable variants, useful " +"when you are mocking out objects that aren't callable: :class:" +"`NonCallableMock` and :class:`NonCallableMagicMock`" +msgstr "" +":class:`MagicMock` є підкласом :class:`Mock` з усіма магічними методами, " +"попередньо створеними та готовими до використання. Існують також варіанти " +"без можливості виклику, корисні, коли ви знущаєтеся над об’єктами, які не " +"можна викликати: :class:`NonCallableMock` і :class:`NonCallableMagicMock`" + +msgid "" +"The :func:`patch` decorators makes it easy to temporarily replace classes in " +"a particular module with a :class:`Mock` object. By default :func:`patch` " +"will create a :class:`MagicMock` for you. You can specify an alternative " +"class of :class:`Mock` using the *new_callable* argument to :func:`patch`." +msgstr "" +"Декоратори :func:`patch` дозволяють легко тимчасово замінити класи в певному " +"модулі на об’єкт :class:`Mock`. За умовчанням :func:`patch` створить для " +"вас :class:`MagicMock`. Ви можете вказати альтернативний клас :class:`Mock` " +"за допомогою аргументу *new_callable* для :func:`patch`." + +msgid "" +"Create a new :class:`Mock` object. :class:`Mock` takes several optional " +"arguments that specify the behaviour of the Mock object:" +msgstr "" +"Створіть новий об’єкт :class:`Mock`. :class:`Mock` приймає кілька додаткових " +"аргументів, які визначають поведінку об’єкта Mock:" + +msgid "" +"*spec*: This can be either a list of strings or an existing object (a class " +"or instance) that acts as the specification for the mock object. If you pass " +"in an object then a list of strings is formed by calling dir on the object " +"(excluding unsupported magic attributes and methods). Accessing any " +"attribute not in this list will raise an :exc:`AttributeError`." +msgstr "" +"*spec*: це може бути або список рядків, або існуючий об’єкт (клас або " +"екземпляр), який діє як специфікація для макетного об’єкта. Якщо ви " +"передаєте об’єкт, тоді список рядків формується шляхом виклику dir для " +"об’єкта (за винятком непідтримуваних магічних атрибутів і методів). Доступ " +"до будь-якого атрибута, якого немає в цьому списку, викличе :exc:" +"`AttributeError`." + +msgid "" +"If *spec* is an object (rather than a list of strings) then :attr:`~instance." +"__class__` returns the class of the spec object. This allows mocks to pass :" +"func:`isinstance` tests." +msgstr "" +"Якщо *spec* є об’єктом (а не списком рядків), тоді :attr:`~instance." +"__class__` повертає клас специфікаційного об’єкта. Це дозволяє макетам " +"проходити тести :func:`isinstance`." + +msgid "" +"*spec_set*: A stricter variant of *spec*. If used, attempting to *set* or " +"get an attribute on the mock that isn't on the object passed as *spec_set* " +"will raise an :exc:`AttributeError`." +msgstr "" +"*spec_set*: суворіший варіант *spec*. У разі використання спроба " +"*встановити* або отримати атрибут у макеті, якого немає в об’єкті, " +"переданому як *spec_set*, викличе :exc:`AttributeError`." + +msgid "" +"*side_effect*: A function to be called whenever the Mock is called. See the :" +"attr:`~Mock.side_effect` attribute. Useful for raising exceptions or " +"dynamically changing return values. The function is called with the same " +"arguments as the mock, and unless it returns :data:`DEFAULT`, the return " +"value of this function is used as the return value." +msgstr "" +"*side_effect*: функція, яка викликається щоразу, коли викликається Mock. " +"Перегляньте атрибут :attr:`~Mock.side_effect`. Корисно для створення " +"винятків або динамічної зміни повернених значень. Функція викликається з " +"тими самими аргументами, що й макет, і якщо вона не повертає :data:" +"`DEFAULT`, значення, що повертається цією функцією, використовується як " +"значення, що повертається." + +msgid "" +"Alternatively *side_effect* can be an exception class or instance. In this " +"case the exception will be raised when the mock is called." +msgstr "" +"Крім того, *side_effect* може бути класом винятків або екземпляром. У цьому " +"випадку виняток буде викликано під час виклику макета." + +msgid "" +"If *side_effect* is an iterable then each call to the mock will return the " +"next value from the iterable." +msgstr "" +"Якщо *side_effect* є iterable, тоді кожен виклик mock повертатиме наступне " +"значення з iterable." + +msgid "A *side_effect* can be cleared by setting it to ``None``." +msgstr "" +"*Побічний_ефект* можна очистити, встановивши для нього значення ``None``." + +msgid "" +"*return_value*: The value returned when the mock is called. By default this " +"is a new Mock (created on first access). See the :attr:`return_value` " +"attribute." +msgstr "" +"*return_value*: значення, що повертається під час виклику макета. За " +"замовчуванням це новий макет (створений під час першого доступу). " +"Перегляньте атрибут :attr:`return_value`." + +msgid "" +"*unsafe*: By default, accessing any attribute whose name starts with " +"*assert*, *assret*, *asert*, *aseert* or *assrt* will raise an :exc:" +"`AttributeError`. Passing ``unsafe=True`` will allow access to these " +"attributes." +msgstr "" + +msgid "" +"*wraps*: Item for the mock object to wrap. If *wraps* is not ``None`` then " +"calling the Mock will pass the call through to the wrapped object (returning " +"the real result). Attribute access on the mock will return a Mock object " +"that wraps the corresponding attribute of the wrapped object (so attempting " +"to access an attribute that doesn't exist will raise an :exc:" +"`AttributeError`)." +msgstr "" +"*wraps*: Елемент для обгортання фіктивного об’єкта. Якщо *wraps* не " +"``None``, тоді виклик Mock передасть виклик оберненому об’єкту (повертаючи " +"реальний результат). Доступ до атрибутів у макеті поверне об’єкт Mock, який " +"обгортає відповідний атрибут упакованого об’єкта (тому спроба отримати " +"доступ до атрибута, якого не існує, викличе :exc:`AttributeError`)." + +msgid "" +"If the mock has an explicit *return_value* set then calls are not passed to " +"the wrapped object and the *return_value* is returned instead." +msgstr "" +"Якщо макет має явний набір *return_value*, тоді виклики не передаються до " +"упакованого об’єкта, а замість нього повертається *return_value*." + +msgid "" +"*name*: If the mock has a name then it will be used in the repr of the mock. " +"This can be useful for debugging. The name is propagated to child mocks." +msgstr "" +"*ім’я*: якщо макет має ім’я, воно використовуватиметься у відтворенні " +"макета. Це може бути корисним для налагодження. Ім'я поширюється на дитячі " +"глузування." + +msgid "" +"Mocks can also be called with arbitrary keyword arguments. These will be " +"used to set attributes on the mock after it is created. See the :meth:" +"`configure_mock` method for details." +msgstr "" +"Mocks також можна викликати з довільними ключовими аргументами. Вони " +"використовуватимуться для встановлення атрибутів макета після його " +"створення. Дивіться метод :meth:`configure_mock` для отримання детальної " +"інформації." + +msgid "Assert that the mock was called at least once." +msgstr "Стверджуйте, що макет був викликаний принаймні один раз." + +msgid "Assert that the mock was called exactly once." +msgstr "Стверджуйте, що макет був викликаний рівно один раз." + +msgid "" +"This method is a convenient way of asserting that the last call has been " +"made in a particular way:" +msgstr "" +"Цей метод є зручним способом підтвердження того, що останній виклик було " +"зроблено певним чином:" + +msgid "" +"Assert that the mock was called exactly once and that call was with the " +"specified arguments." +msgstr "" +"Стверджуйте, що макет був викликаний рівно один раз і цей виклик був із " +"зазначеними аргументами." + +msgid "assert the mock has been called with the specified arguments." +msgstr "стверджувати, що макет був викликаний із зазначеними аргументами." + +msgid "" +"The assert passes if the mock has *ever* been called, unlike :meth:" +"`assert_called_with` and :meth:`assert_called_once_with` that only pass if " +"the call is the most recent one, and in the case of :meth:" +"`assert_called_once_with` it must also be the only call." +msgstr "" +"Твердження проходить, якщо макет *колись* викликався, на відміну від :meth:" +"`assert_ called_with` і :meth:`assert_ called_once_with`, які проходять, " +"лише якщо виклик є останнім, і у випадку :meth:`assert_ called_once_with` це " +"також має бути єдиний виклик." + +msgid "" +"assert the mock has been called with the specified calls. The :attr:" +"`mock_calls` list is checked for the calls." +msgstr "" +"стверджувати, що макет було викликано за допомогою вказаних викликів. " +"Список :attr:`mock_calls` перевіряється на наявність викликів." + +msgid "" +"If *any_order* is false then the calls must be sequential. There can be " +"extra calls before or after the specified calls." +msgstr "" +"Якщо *any_order* має значення false, виклики мають бути послідовними. До або " +"після вказаних викликів можуть бути додаткові дзвінки." + +msgid "" +"If *any_order* is true then the calls can be in any order, but they must all " +"appear in :attr:`mock_calls`." +msgstr "" +"Якщо *any_order* має значення true, виклики можуть бути в будь-якому " +"порядку, але всі вони мають відображатися в :attr:`mock_calls`." + +msgid "Assert the mock was never called." +msgstr "Стверджуйте, що макет ніколи не викликався." + +msgid "The reset_mock method resets all the call attributes on a mock object:" +msgstr "Метод reset_mock скидає всі атрибути виклику на макетному об’єкті:" + +msgid "Added two keyword only argument to the reset_mock function." +msgstr "До функції reset_mock додано два аргументи лише для ключових слів." + +msgid "" +"This can be useful where you want to make a series of assertions that reuse " +"the same object. Note that :meth:`reset_mock` *doesn't* clear the return " +"value, :attr:`side_effect` or any child attributes you have set using normal " +"assignment by default. In case you want to reset *return_value* or :attr:" +"`side_effect`, then pass the corresponding parameter as ``True``. Child " +"mocks and the return value mock (if any) are reset as well." +msgstr "" +"Це може бути корисним, якщо ви хочете зробити серію тверджень, які повторно " +"використовують той самий об’єкт. Зауважте, що :meth:`reset_mock` *не* очищає " +"повернуте значення, :attr:`side_effect` або будь-які дочірні атрибути, які " +"ви встановили за умовчанням за допомогою звичайного призначення. Якщо ви " +"хочете скинути *return_value* або :attr:`side_effect`, передайте відповідний " +"параметр як ``True``. Дочірні імітації та макет повертаного значення (якщо " +"є) також скидаються." + +msgid "*return_value*, and :attr:`side_effect` are keyword only argument." +msgstr "" +"*повернене_значення* та :attr:`side_effect` є аргументом лише для ключового " +"слова." + +msgid "" +"Add a spec to a mock. *spec* can either be an object or a list of strings. " +"Only attributes on the *spec* can be fetched as attributes from the mock." +msgstr "" +"Додайте специфікацію до макета. *spec* може бути або об’єктом, або списком " +"рядків. Лише атрибути в *специфікації* можна отримати як атрибути з макета." + +msgid "If *spec_set* is true then only attributes on the spec can be set." +msgstr "" +"Якщо *spec_set* має значення true, можна встановити лише атрибути " +"специфікації." + +msgid "" +"Attach a mock as an attribute of this one, replacing its name and parent. " +"Calls to the attached mock will be recorded in the :attr:`method_calls` and :" +"attr:`mock_calls` attributes of this one." +msgstr "" +"Додайте макет як атрибут цього, замінивши його ім’я та батьківський елемент. " +"Виклики вкладеного макету будуть записані в атрибутах :attr:`method_calls` " +"і :attr:`mock_calls` цього." + +msgid "Set attributes on the mock through keyword arguments." +msgstr "Встановіть атрибути макета за допомогою аргументів ключових слів." + +msgid "" +"Attributes plus return values and side effects can be set on child mocks " +"using standard dot notation and unpacking a dictionary in the method call:" +msgstr "" +"Атрибути плюс значення, що повертаються, і побічні ефекти можуть бути " +"встановлені на дочірніх моделях за допомогою стандартної нотації з крапками " +"та розпакування словника під час виклику методу:" + +msgid "The same thing can be achieved in the constructor call to mocks:" +msgstr "Те саме можна досягти у виклику конструктора mocks:" + +msgid "" +":meth:`configure_mock` exists to make it easier to do configuration after " +"the mock has been created." +msgstr "" +":meth:`configure_mock` існує, щоб полегшити налаштування після створення " +"макету." + +msgid "" +":class:`Mock` objects limit the results of ``dir(some_mock)`` to useful " +"results. For mocks with a *spec* this includes all the permitted attributes " +"for the mock." +msgstr "" +"Об’єкти :class:`Mock` обмежують результати ``dir(some_mock)`` корисними " +"результатами. Для макетів із *специфікацією* це включає всі дозволені " +"атрибути для макету." + +msgid "" +"See :data:`FILTER_DIR` for what this filtering does, and how to switch it " +"off." +msgstr "" +"Перегляньте :data:`FILTER_DIR`, щоб дізнатися, що робить це фільтрування та " +"як його вимкнути." + +msgid "" +"Create the child mocks for attributes and return value. By default child " +"mocks will be the same type as the parent. Subclasses of Mock may want to " +"override this to customize the way child mocks are made." +msgstr "" +"Створіть дочірні макети для атрибутів і повертайте значення. За " +"замовчуванням дочірні макети будуть того самого типу, що й батьківські. " +"Підкласи Mock можуть захотіти перевизначити це, щоб налаштувати спосіб " +"створення дочірніх моків." + +msgid "" +"For non-callable mocks the callable variant will be used (rather than any " +"custom subclass)." +msgstr "" +"Для макетів, які не підлягають виклику, використовуватиметься варіант, який " +"можна викликати (а не будь-який настроюваний підклас)." + +msgid "A boolean representing whether or not the mock object has been called:" +msgstr "Логічне значення, яке вказує, чи було викликано макетний об’єкт:" + +msgid "An integer telling you how many times the mock object has been called:" +msgstr "" +"Ціле число, яке повідомляє вам, скільки разів був викликаний макетний об’єкт:" + +msgid "Set this to configure the value returned by calling the mock:" +msgstr "" +"Встановіть це, щоб налаштувати значення, що повертається викликом mock:" + +msgid "" +"The default return value is a mock object and you can configure it in the " +"normal way:" +msgstr "" +"Типовим значенням, що повертається, є макет об’єкта, і ви можете налаштувати " +"його звичайним способом:" + +msgid ":attr:`return_value` can also be set in the constructor:" +msgstr ":attr:`return_value` також можна встановити в конструкторі:" + +msgid "" +"This can either be a function to be called when the mock is called, an " +"iterable or an exception (class or instance) to be raised." +msgstr "" +"Це може бути або функція, яку потрібно викликати під час виклику макета, " +"ітерація або виняток (клас або екземпляр), який потрібно викликати." + +msgid "" +"If you pass in a function it will be called with same arguments as the mock " +"and unless the function returns the :data:`DEFAULT` singleton the call to " +"the mock will then return whatever the function returns. If the function " +"returns :data:`DEFAULT` then the mock will return its normal value (from " +"the :attr:`return_value`)." +msgstr "" +"Якщо ви передаєте функцію, вона буде викликана з тими самими аргументами, що " +"й макет, і якщо функція не повертає синглтон :data:`DEFAULT`, виклик макету " +"поверне те, що повертає функція. Якщо функція повертає :data:`DEFAULT`, " +"макет поверне своє нормальне значення (з :attr:`return_value`)." + +msgid "" +"If you pass in an iterable, it is used to retrieve an iterator which must " +"yield a value on every call. This value can either be an exception instance " +"to be raised, or a value to be returned from the call to the mock (:data:" +"`DEFAULT` handling is identical to the function case)." +msgstr "" +"Якщо ви передаєте ітератор, він використовується для отримання ітератора, " +"який повинен видавати значення під час кожного виклику. Це значення може " +"бути або екземпляром винятку, який буде створено, або значенням, яке буде " +"повернуто викликом mock (обробка :data:`DEFAULT` ідентична функції case)." + +msgid "" +"An example of a mock that raises an exception (to test exception handling of " +"an API):" +msgstr "" +"Приклад макету, який викликає виняткову ситуацію (для перевірки обробки " +"винятків API):" + +msgid "Using :attr:`side_effect` to return a sequence of values:" +msgstr "Використання :attr:`side_effect` для повернення послідовності значень:" + +msgid "Using a callable:" +msgstr "Використання виклику:" + +msgid "" +":attr:`side_effect` can be set in the constructor. Here's an example that " +"adds one to the value the mock is called with and returns it:" +msgstr "" +":attr:`side_effect` можна встановити в конструкторі. Ось приклад, який додає " +"одиницю до значення, з яким викликається макет, і повертає його:" + +msgid "Setting :attr:`side_effect` to ``None`` clears it:" +msgstr "Встановлення :attr:`side_effect` на ``None`` очищає його:" + +msgid "" +"This is either ``None`` (if the mock hasn't been called), or the arguments " +"that the mock was last called with. This will be in the form of a tuple: the " +"first member, which can also be accessed through the ``args`` property, is " +"any ordered arguments the mock was called with (or an empty tuple) and the " +"second member, which can also be accessed through the ``kwargs`` property, " +"is any keyword arguments (or an empty dictionary)." +msgstr "" +"Це або ``None`` (якщо макет не було викликано), або аргументи, з якими макет " +"було викликано востаннє. Це буде у формі кортежу: перший член, до якого " +"також можна отримати доступ через властивість ``args``, — це будь-які " +"впорядковані аргументи, з якими було викликано макет (або порожній кортеж), " +"а другий член, який може доступ також через властивість ``kwargs``, це будь-" +"які ключові аргументи (або порожній словник)." + +msgid "" +":attr:`call_args`, along with members of the lists :attr:`call_args_list`, :" +"attr:`method_calls` and :attr:`mock_calls` are :data:`call` objects. These " +"are tuples, so they can be unpacked to get at the individual arguments and " +"make more complex assertions. See :ref:`calls as tuples `." +msgstr "" +":attr:`call_args` разом із членами списків :attr:`call_args_list`, :attr:" +"`method_calls` і :attr:`mock_calls` є об’єктами :data:`call`. Це кортежі, " +"тому їх можна розпакувати, щоб отримати окремі аргументи та зробити " +"складніші твердження. Перегляньте :ref:`виклики як кортежі `." + +msgid "Added ``args`` and ``kwargs`` properties." +msgstr "Додано властивості ``args`` і ``kwargs``." + +msgid "" +"This is a list of all the calls made to the mock object in sequence (so the " +"length of the list is the number of times it has been called). Before any " +"calls have been made it is an empty list. The :data:`call` object can be " +"used for conveniently constructing lists of calls to compare with :attr:" +"`call_args_list`." +msgstr "" +"Це список усіх послідовних викликів макетного об’єкта (тому довжина списку — " +"це кількість викликів до нього). До здійснення будь-яких викликів це " +"порожній список. Об’єкт :data:`call` можна використовувати для зручного " +"створення списків викликів для порівняння з :attr:`call_args_list`." + +msgid "" +"Members of :attr:`call_args_list` are :data:`call` objects. These can be " +"unpacked as tuples to get at the individual arguments. See :ref:`calls as " +"tuples `." +msgstr "" +"Члени :attr:`call_args_list` є об’єктами :data:`call`. Їх можна розпакувати " +"як кортежі, щоб отримати окремі аргументи. Перегляньте :ref:`виклики як " +"кортежі `." + +msgid "" +"As well as tracking calls to themselves, mocks also track calls to methods " +"and attributes, and *their* methods and attributes:" +msgstr "" +"Крім відстеження викликів самих себе, mocks також відстежують виклики " +"методів і атрибутів, а також *їх* методів і атрибутів:" + +msgid "" +"Members of :attr:`method_calls` are :data:`call` objects. These can be " +"unpacked as tuples to get at the individual arguments. See :ref:`calls as " +"tuples `." +msgstr "" +"Члени :attr:`method_calls` є об’єктами :data:`call`. Їх можна розпакувати як " +"кортежі, щоб отримати окремі аргументи. Перегляньте :ref:`виклики як кортежі " +"`." + +msgid "" +":attr:`mock_calls` records *all* calls to the mock object, its methods, " +"magic methods *and* return value mocks." +msgstr "" +":attr:`mock_calls` записує *всі* виклики макетного об’єкта, його методи, " +"чарівні методи *та* імітації значення, що повертається." + +msgid "" +"Members of :attr:`mock_calls` are :data:`call` objects. These can be " +"unpacked as tuples to get at the individual arguments. See :ref:`calls as " +"tuples `." +msgstr "" +"Члени :attr:`mock_calls` є об’єктами :data:`call`. Їх можна розпакувати як " +"кортежі, щоб отримати окремі аргументи. Перегляньте :ref:`виклики як кортежі " +"`." + +msgid "" +"The way :attr:`mock_calls` are recorded means that where nested calls are " +"made, the parameters of ancestor calls are not recorded and so will always " +"compare equal:" +msgstr "" +"Спосіб запису :attr:`mock_calls` означає, що там, де здійснюються вкладені " +"виклики, параметри викликів предків не записуються, тому порівняння завжди " +"буде рівним:" + +msgid "" +"Normally the :attr:`__class__` attribute of an object will return its type. " +"For a mock object with a :attr:`spec`, ``__class__`` returns the spec class " +"instead. This allows mock objects to pass :func:`isinstance` tests for the " +"object they are replacing / masquerading as:" +msgstr "" +"Зазвичай атрибут :attr:`__class__` об’єкта повертає його тип. Для фіктивного " +"об’єкта зі специфікацією :attr:`spec` ``__class__`` замість цього повертає " +"клас специфікації. Це дозволяє фіктивним об’єктам проходити тести :func:" +"`isinstance` для об’єкта, який вони замінюють/маскують під:" + +msgid "" +":attr:`__class__` is assignable to, this allows a mock to pass an :func:" +"`isinstance` check without forcing you to use a spec:" +msgstr "" +":attr:`__class__` можна призначити, це дозволяє макету проходити перевірку :" +"func:`isinstance`, не змушуючи вас використовувати специфікацію:" + +msgid "" +"A non-callable version of :class:`Mock`. The constructor parameters have the " +"same meaning of :class:`Mock`, with the exception of *return_value* and " +"*side_effect* which have no meaning on a non-callable mock." +msgstr "" +"Версія :class:`Mock`, яка не викликається. Параметри конструктора мають те " +"саме значення, що й :class:`Mock`, за винятком *return_value* і " +"*side_effect*, які не мають значення для макету, який не викликається." + +msgid "" +"Mock objects that use a class or an instance as a :attr:`spec` or :attr:" +"`spec_set` are able to pass :func:`isinstance` tests:" +msgstr "" +"Макетні об’єкти, які використовують клас або екземпляр як :attr:`spec` або :" +"attr:`spec_set`, можуть проходити :func:`isinstance` тести:" + +msgid "" +"The :class:`Mock` classes have support for mocking magic methods. See :ref:" +"`magic methods ` for the full details." +msgstr "" +"Класи :class:`Mock` підтримують методи насміхуватої магії. Дивіться :ref:" +"`магічні методи ` для повної інформації." + +msgid "" +"The mock classes and the :func:`patch` decorators all take arbitrary keyword " +"arguments for configuration. For the :func:`patch` decorators the keywords " +"are passed to the constructor of the mock being created. The keyword " +"arguments are for configuring attributes of the mock:" +msgstr "" +"Імітаційні класи та декоратори :func:`patch` приймають довільні ключові " +"аргументи для налаштування. Для декораторів :func:`patch` ключові слова " +"передаються до конструктора макета, який створюється. Ключові аргументи " +"призначені для налаштування атрибутів макета:" + +msgid "" +"The return value and side effect of child mocks can be set in the same way, " +"using dotted notation. As you can't use dotted names directly in a call you " +"have to create a dictionary and unpack it using ``**``:" +msgstr "" +"Повернене значення та побічний ефект дочірніх імітацій можна встановити " +"таким же чином, використовуючи позначення з крапками. Оскільки ви не можете " +"використовувати імена з крапками безпосередньо у виклику, вам потрібно " +"створити словник і розпакувати його за допомогою ``**``:" + +msgid "" +"A callable mock which was created with a *spec* (or a *spec_set*) will " +"introspect the specification object's signature when matching calls to the " +"mock. Therefore, it can match the actual call's arguments regardless of " +"whether they were passed positionally or by name::" +msgstr "" +"Викликаний макет, створений за допомогою *spec* (або *spec_set*), перевіряє " +"підпис об’єкта специфікації під час зіставлення викликів з макетом. Таким " +"чином, він може відповідати фактичним аргументам виклику незалежно від того, " +"чи були вони передані позиційно чи за назвою::" + +msgid "" +"This applies to :meth:`~Mock.assert_called_with`, :meth:`~Mock." +"assert_called_once_with`, :meth:`~Mock.assert_has_calls` and :meth:`~Mock." +"assert_any_call`. When :ref:`auto-speccing`, it will also apply to method " +"calls on the mock object." +msgstr "" +"Це стосується :meth:`~Mock.assert_ called_with`, :meth:`~Mock.assert_ " +"called_once_with`, :meth:`~Mock.assert_has_calls` і :meth:`~Mock." +"assert_any_call`. Коли :ref:`auto-speccing`, це також застосовуватиметься до " +"викликів методів фіктивного об’єкта." + +msgid "Added signature introspection on specced and autospecced mock objects." +msgstr "" +"Додано авторську перевірку підпису на специфіковані та автоматично " +"специфіковані макетні об’єкти." + +msgid "" +"A mock intended to be used as a property, or other descriptor, on a class. :" +"class:`PropertyMock` provides :meth:`__get__` and :meth:`__set__` methods so " +"you can specify a return value when it is fetched." +msgstr "" +"Макет, призначений для використання як властивість або інший дескриптор " +"класу. :class:`PropertyMock` надає методи :meth:`__get__` і :meth:`__set__`, " +"щоб ви могли вказати повертане значення під час його отримання." + +msgid "" +"Fetching a :class:`PropertyMock` instance from an object calls the mock, " +"with no args. Setting it calls the mock with the value being set. ::" +msgstr "" +"Отримання екземпляра :class:`PropertyMock` з об’єкта викликає макет без " +"аргументів. Його встановлення викликає макет із встановленим значенням. ::" + +msgid "" +"Because of the way mock attributes are stored you can't directly attach a :" +"class:`PropertyMock` to a mock object. Instead you can attach it to the mock " +"type object::" +msgstr "" +"Через те, як зберігаються макетні атрибути, ви не можете безпосередньо " +"прикріпити :class:`PropertyMock` до макетного об’єкта. Замість цього ви " +"можете прикріпити його до об’єкта макетного типу::" + +msgid "" +"An asynchronous version of :class:`MagicMock`. The :class:`AsyncMock` object " +"will behave so the object is recognized as an async function, and the result " +"of a call is an awaitable." +msgstr "" +"Асинхронна версія :class:`MagicMock`. Об’єкт :class:`AsyncMock` " +"поводитиметься таким чином, що об’єкт розпізнається як асинхронна функція, а " +"результат виклику є очікуваним." + +msgid "" +"The result of ``mock()`` is an async function which will have the outcome of " +"``side_effect`` or ``return_value`` after it has been awaited:" +msgstr "" +"Результатом ``mock()`` є асинхронна функція, яка матиме результат " +"``side_effect`` або ``return_value`` після очікування:" + +msgid "" +"if ``side_effect`` is a function, the async function will return the result " +"of that function," +msgstr "" +"якщо ``side_effect`` є функцією, асинхронна функція поверне результат цієї " +"функції," + +msgid "" +"if ``side_effect`` is an exception, the async function will raise the " +"exception," +msgstr "якщо ``side_effect`` є винятком, функція async викличе виняток," + +msgid "" +"if ``side_effect`` is an iterable, the async function will return the next " +"value of the iterable, however, if the sequence of result is exhausted, " +"``StopAsyncIteration`` is raised immediately," +msgstr "" +"якщо ``side_effect`` є ітерованим, функція async поверне наступне значення " +"ітерованого, однак, якщо послідовність результатів вичерпана, " +"``StopAsyncIteration`` викликається негайно," + +msgid "" +"if ``side_effect`` is not defined, the async function will return the value " +"defined by ``return_value``, hence, by default, the async function returns a " +"new :class:`AsyncMock` object." +msgstr "" +"якщо ``side_effect`` не визначено, функція async поверне значення, визначене " +"``return_value``, отже, за замовчуванням функція async повертає новий " +"об’єкт :class:`AsyncMock`." + +msgid "" +"Setting the *spec* of a :class:`Mock` or :class:`MagicMock` to an async " +"function will result in a coroutine object being returned after calling." +msgstr "" +"Встановлення *специфікації* :class:`Mock` або :class:`MagicMock` на " +"асинхронну функцію призведе до повернення об’єкта співпрограми після виклику." + +msgid "" +"Setting the *spec* of a :class:`Mock`, :class:`MagicMock`, or :class:" +"`AsyncMock` to a class with asynchronous and synchronous functions will " +"automatically detect the synchronous functions and set them as :class:" +"`MagicMock` (if the parent mock is :class:`AsyncMock` or :class:`MagicMock`) " +"or :class:`Mock` (if the parent mock is :class:`Mock`). All asynchronous " +"functions will be :class:`AsyncMock`." +msgstr "" +"Встановлення *специфікації* :class:`Mock`, :class:`MagicMock` або :class:" +"`AsyncMock` для класу з асинхронними та синхронними функціями автоматично " +"визначить синхронні функції та встановить їх як :class:`MagicMock` (якщо " +"батьківським макетом є :class:`AsyncMock` або :class:`MagicMock`) або :class:" +"`Mock` (якщо батьківським макетом є :class:`Mock`). Усі асинхронні функції " +"будуть :class:`AsyncMock`." + +msgid "" +"Assert that the mock was awaited at least once. Note that this is separate " +"from the object having been called, the ``await`` keyword must be used:" +msgstr "" +"Стверджуйте, що макету чекали хоча б раз. Зауважте, що це окремо від " +"викликаного об’єкта, необхідно використовувати ключове слово ``await``:" + +msgid "Assert that the mock was awaited exactly once." +msgstr "Стверджують, що макет чекали рівно один раз." + +msgid "Assert that the last await was with the specified arguments." +msgstr "" +"Підтвердження того, що останнє очікування було з указаними аргументами." + +msgid "" +"Assert that the mock was awaited exactly once and with the specified " +"arguments." +msgstr "" +"Стверджуйте, що макет очікувався рівно один раз і з вказаними аргументами." + +msgid "Assert the mock has ever been awaited with the specified arguments." +msgstr "" +"Стверджуйте, що макет коли-небудь був очікуваний із зазначеними аргументами." + +msgid "" +"Assert the mock has been awaited with the specified calls. The :attr:" +"`await_args_list` list is checked for the awaits." +msgstr "" +"Стверджувати, що макет очікувався з указаними викликами. Список :attr:" +"`await_args_list` перевіряється на наявність очікувань." + +msgid "" +"If *any_order* is false then the awaits must be sequential. There can be " +"extra calls before or after the specified awaits." +msgstr "" +"Якщо *any_order* має значення false, очікування мають бути послідовними. " +"Можуть бути додаткові виклики до або після вказаних очікувань." + +msgid "" +"If *any_order* is true then the awaits can be in any order, but they must " +"all appear in :attr:`await_args_list`." +msgstr "" +"Якщо *any_order* має значення true, очікування можуть бути в будь-якому " +"порядку, але всі вони мають відображатися в :attr:`await_args_list`." + +msgid "Assert that the mock was never awaited." +msgstr "Стверджують, що макет так і не дочекався." + +msgid "" +"See :func:`Mock.reset_mock`. Also sets :attr:`await_count` to 0, :attr:" +"`await_args` to None, and clears the :attr:`await_args_list`." +msgstr "" +"Перегляньте :func:`Mock.reset_mock`. Також встановлює :attr:`await_count` на " +"0, :attr:`await_args` на None і очищає :attr:`await_args_list`." + +msgid "" +"An integer keeping track of how many times the mock object has been awaited." +msgstr "Ціле число, яке відстежує, скільки разів очікувався макетний об’єкт." + +msgid "" +"This is either ``None`` (if the mock hasn’t been awaited), or the arguments " +"that the mock was last awaited with. Functions the same as :attr:`Mock." +"call_args`." +msgstr "" +"Це або ``None`` (якщо макет не був очікуваний), або аргументи, з якими макет " +"було очікувано востаннє. Функціонує так само, як :attr:`Mock.call_args`." + +msgid "" +"This is a list of all the awaits made to the mock object in sequence (so the " +"length of the list is the number of times it has been awaited). Before any " +"awaits have been made it is an empty list." +msgstr "" +"Це список усіх очікувань, зроблених для макетного об’єкта в послідовності " +"(тому довжина списку — це кількість разів, коли його очікували). Перш ніж " +"було зроблено будь-які очікування, це порожній список." + +msgid "Calling" +msgstr "Дзвінок" + +msgid "" +"Mock objects are callable. The call will return the value set as the :attr:" +"`~Mock.return_value` attribute. The default return value is a new Mock " +"object; it is created the first time the return value is accessed (either " +"explicitly or by calling the Mock) - but it is stored and the same one " +"returned each time." +msgstr "" +"Фіктивні об'єкти можна викликати. Виклик поверне значення, встановлене як " +"атрибут :attr:`~Mock.return_value`. Типовим значенням, що повертається, є " +"новий об’єкт Mock; воно створюється під час першого доступу до значення, що " +"повертається (явним чином або шляхом виклику Mock), але воно зберігається й " +"кожного разу повертається те саме." + +msgid "" +"Calls made to the object will be recorded in the attributes like :attr:" +"`~Mock.call_args` and :attr:`~Mock.call_args_list`." +msgstr "" +"Виклики, здійснені до об’єкта, будуть записані в такі атрибути, як :attr:" +"`~Mock.call_args` і :attr:`~Mock.call_args_list`." + +msgid "" +"If :attr:`~Mock.side_effect` is set then it will be called after the call " +"has been recorded, so if :attr:`side_effect` raises an exception the call is " +"still recorded." +msgstr "" +"Якщо встановлено :attr:`~Mock.side_effect`, він буде викликаний після запису " +"виклику, отже, якщо :attr:`side_effect` викликає виняток, виклик усе одно " +"записується." + +msgid "" +"The simplest way to make a mock raise an exception when called is to make :" +"attr:`~Mock.side_effect` an exception class or instance:" +msgstr "" +"Найпростіший спосіб змусити макет викликати виняток під час виклику — це " +"зробити :attr:`~Mock.side_effect` класом або екземпляром виключення:" + +msgid "" +"If :attr:`side_effect` is a function then whatever that function returns is " +"what calls to the mock return. The :attr:`side_effect` function is called " +"with the same arguments as the mock. This allows you to vary the return " +"value of the call dynamically, based on the input:" +msgstr "" +"Якщо :attr:`side_effect` є функцією, то те, що повертає ця функція, викликає " +"імітацію повернення. Функція :attr:`side_effect` викликається з тими самими " +"аргументами, що й макет. Це дозволяє динамічно змінювати значення, що " +"повертається викликом, на основі вхідних даних:" + +msgid "" +"If you want the mock to still return the default return value (a new mock), " +"or any set return value, then there are two ways of doing this. Either " +"return :attr:`mock.return_value` from inside :attr:`side_effect`, or return :" +"data:`DEFAULT`:" +msgstr "" +"Якщо ви хочете, щоб макет усе ще повертав типове значення, що повертається " +"(новий макет), або будь-яке встановлене повертається значення, то є два " +"способи зробити це. Або поверніть :attr:`mock.return_value` зсередини :attr:" +"`side_effect`, або поверніть :data:`DEFAULT`:" + +msgid "" +"To remove a :attr:`side_effect`, and return to the default behaviour, set " +"the :attr:`side_effect` to ``None``:" +msgstr "" +"Щоб видалити :attr:`side_effect` і повернутися до типової поведінки, " +"установіть :attr:`side_effect` значення ``None``:" + +msgid "" +"The :attr:`side_effect` can also be any iterable object. Repeated calls to " +"the mock will return values from the iterable (until the iterable is " +"exhausted and a :exc:`StopIteration` is raised):" +msgstr "" +":attr:`side_effect` також може бути будь-яким ітерованим об’єктом. Повторні " +"виклики mock повертатимуть значення з iterable (поки iterable не буде " +"вичерпано та не буде викликано :exc:`StopIteration`):" + +msgid "" +"If any members of the iterable are exceptions they will be raised instead of " +"returned::" +msgstr "" +"Якщо будь-які члени iterable є винятками, вони будуть викликані замість " +"повернення::" + +msgid "Deleting Attributes" +msgstr "Видалення атрибутів" + +msgid "" +"Mock objects create attributes on demand. This allows them to pretend to be " +"objects of any type." +msgstr "" +"Макетні об’єкти створюють атрибути на вимогу. Це дозволяє їм видавати себе " +"за об’єкти будь-якого типу." + +msgid "" +"You may want a mock object to return ``False`` to a :func:`hasattr` call, or " +"raise an :exc:`AttributeError` when an attribute is fetched. You can do this " +"by providing an object as a :attr:`spec` for a mock, but that isn't always " +"convenient." +msgstr "" +"Ви можете захотіти, щоб імітаційний об’єкт повертав ``False`` виклику :func:" +"`hasattr` або викликав :exc:`AttributeError`, коли атрибут отримується. Ви " +"можете зробити це, надавши об’єкт як :attr:`spec` для макету, але це не " +"завжди зручно." + +msgid "" +"You \"block\" attributes by deleting them. Once deleted, accessing an " +"attribute will raise an :exc:`AttributeError`." +msgstr "" +"Ви \"блокуєте\" атрибути, видаляючи їх. Після видалення доступ до атрибута " +"викличе :exc:`AttributeError`." + +msgid "Mock names and the name attribute" +msgstr "Макетні назви та атрибут name" + +msgid "" +"Since \"name\" is an argument to the :class:`Mock` constructor, if you want " +"your mock object to have a \"name\" attribute you can't just pass it in at " +"creation time. There are two alternatives. One option is to use :meth:`~Mock." +"configure_mock`::" +msgstr "" +"Оскільки \"name\" є аргументом конструктора :class:`Mock`, якщо ви хочете, " +"щоб ваш макетний об’єкт мав атрибут \"name\", ви не можете просто передати " +"його під час створення. Є дві альтернативи. Одним із варіантів є " +"використання :meth:`~Mock.configure_mock`::" + +msgid "" +"A simpler option is to simply set the \"name\" attribute after mock " +"creation::" +msgstr "" +"Простішим варіантом є просто встановити атрибут \"name\" після створення " +"макета::" + +msgid "Attaching Mocks as Attributes" +msgstr "Додавання макетів як атрибутів" + +msgid "" +"When you attach a mock as an attribute of another mock (or as the return " +"value) it becomes a \"child\" of that mock. Calls to the child are recorded " +"in the :attr:`~Mock.method_calls` and :attr:`~Mock.mock_calls` attributes of " +"the parent. This is useful for configuring child mocks and then attaching " +"them to the parent, or for attaching mocks to a parent that records all " +"calls to the children and allows you to make assertions about the order of " +"calls between mocks:" +msgstr "" +"Коли ви додаєте макет як атрибут іншого макету (або як значення, що " +"повертається), він стає \"дочірнім\" для цього макету. Виклики дочірнього " +"елемента записуються в атрибутах :attr:`~Mock.method_calls` і :attr:`~Mock." +"mock_calls` батьківського. Це корисно для конфігурації дочірніх імітацій, а " +"потім прикріплення їх до батьківського, або для прикріплення імітацій до " +"батьківського, який записує всі виклики до нащадків і дозволяє вам робити " +"твердження щодо порядку викликів між імітаціями:" + +msgid "" +"The exception to this is if the mock has a name. This allows you to prevent " +"the \"parenting\" if for some reason you don't want it to happen." +msgstr "" +"Винятком є випадки, коли макет має назву. Це дозволяє запобігти \"батьківству" +"\", якщо з якихось причин ви цього не хочете." + +msgid "" +"Mocks created for you by :func:`patch` are automatically given names. To " +"attach mocks that have names to a parent you use the :meth:`~Mock." +"attach_mock` method::" +msgstr "" +"Макети, створені для вас :func:`patch`, автоматично отримують імена. Щоб " +"приєднати імена до батьківського елемента, ви використовуєте метод :meth:" +"`~Mock.attach_mock`::" + +msgid "" +"The only exceptions are magic methods and attributes (those that have " +"leading and trailing double underscores). Mock doesn't create these but " +"instead raises an :exc:`AttributeError`. This is because the interpreter " +"will often implicitly request these methods, and gets *very* confused to get " +"a new Mock object when it expects a magic method. If you need magic method " +"support see :ref:`magic methods `." +msgstr "" +"Єдиний виняток становлять магічні методи та атрибути (ті, що мають на " +"початку та в кінці подвійне підкреслення). Mock не створює їх, а натомість " +"викликає :exc:`AttributeError`. Це пояснюється тим, що інтерпретатор часто " +"неявно запитує ці методи і *дуже* плутається, коли отримує новий об’єкт " +"Mock, коли очікує чарівний метод. Якщо вам потрібна підтримка магічних " +"методів, перегляньте :ref:`магічні методи `." + +msgid "The patchers" +msgstr "Патчери" + +msgid "" +"The patch decorators are used for patching objects only within the scope of " +"the function they decorate. They automatically handle the unpatching for " +"you, even if exceptions are raised. All of these functions can also be used " +"in with statements or as class decorators." +msgstr "" +"Декоратори латок використовуються для латання об’єктів лише в межах функції, " +"яку вони декорують. Вони автоматично виконують видалення виправлень за вас, " +"навіть якщо виникають винятки. Усі ці функції також можна використовувати в " +"операторах або як декоратори класів." + +msgid "patch" +msgstr "патч" + +msgid "" +"The key is to do the patching in the right namespace. See the section `where " +"to patch`_." +msgstr "" +"Головне — виконати виправлення у правильному просторі імен. Дивіться розділ " +"`where to patch`_." + +msgid "" +":func:`patch` acts as a function decorator, class decorator or a context " +"manager. Inside the body of the function or with statement, the *target* is " +"patched with a *new* object. When the function/with statement exits the " +"patch is undone." +msgstr "" +":func:`patch` діє як декоратор функції, декоратор класу або менеджер " +"контексту. Усередині тіла функції або оператора *ціль* додається до *нового* " +"об’єкта. Коли оператор function/with завершує роботу, патч скасовується." + +msgid "" +"If *new* is omitted, then the target is replaced with an :class:`AsyncMock` " +"if the patched object is an async function or a :class:`MagicMock` " +"otherwise. If :func:`patch` is used as a decorator and *new* is omitted, the " +"created mock is passed in as an extra argument to the decorated function. " +"If :func:`patch` is used as a context manager the created mock is returned " +"by the context manager." +msgstr "" +"Якщо *new* пропущено, ціль замінюється на :class:`AsyncMock`, якщо " +"виправлений об’єкт є асинхронною функцією, або :class:`MagicMock` інакше. " +"Якщо :func:`patch` використовується як декоратор, а *new* опущено, створений " +"макет передається як додатковий аргумент до декорованої функції. Якщо :func:" +"`patch` використовується як менеджер контексту, створений макет повертається " +"менеджером контексту." + +msgid "" +"*target* should be a string in the form ``'package.module.ClassName'``. The " +"*target* is imported and the specified object replaced with the *new* " +"object, so the *target* must be importable from the environment you are " +"calling :func:`patch` from. The target is imported when the decorated " +"function is executed, not at decoration time." +msgstr "" +"*ціль* має бути рядком у формі ``'package.module.ClassName``. *Ціль* " +"імпортується, а вказаний об’єкт замінюється на *новий* об’єкт, тому *ціль* " +"має бути імпортованою із середовища, з якого ви викликаєте :func:`patch`. " +"Ціль імпортується під час виконання декорованої функції, а не під час " +"декорування." + +msgid "" +"The *spec* and *spec_set* keyword arguments are passed to the :class:" +"`MagicMock` if patch is creating one for you." +msgstr "" +"Ключові аргументи *spec* і *spec_set* передаються в :class:`MagicMock`, якщо " +"patch створює його для вас." + +msgid "" +"In addition you can pass ``spec=True`` or ``spec_set=True``, which causes " +"patch to pass in the object being mocked as the spec/spec_set object." +msgstr "" +"Крім того, ви можете передати ``spec=True`` або ``spec_set=True``, що " +"спричиняє передачу латки в об’єкті, який імітується, як об’єкт spec/spec_set." + +msgid "" +"*new_callable* allows you to specify a different class, or callable object, " +"that will be called to create the *new* object. By default :class:" +"`AsyncMock` is used for async functions and :class:`MagicMock` for the rest." +msgstr "" +"*new_callable* дозволяє вказати інший клас або викликаний об’єкт, який буде " +"викликано для створення *нового* об’єкта. За замовчуванням :class:" +"`AsyncMock` використовується для асинхронних функцій, а :class:`MagicMock` " +"для решти." + +msgid "" +"A more powerful form of *spec* is *autospec*. If you set ``autospec=True`` " +"then the mock will be created with a spec from the object being replaced. " +"All attributes of the mock will also have the spec of the corresponding " +"attribute of the object being replaced. Methods and functions being mocked " +"will have their arguments checked and will raise a :exc:`TypeError` if they " +"are called with the wrong signature. For mocks replacing a class, their " +"return value (the 'instance') will have the same spec as the class. See the :" +"func:`create_autospec` function and :ref:`auto-speccing`." +msgstr "" +"Більш потужною формою *spec* є *autospec*. Якщо ви встановите " +"``autospec=True``, макет буде створено зі специфікацією об’єкта, який " +"замінюється. Усі атрибути макета також матимуть специфікацію відповідного " +"атрибута об’єкта, який замінюється. Методи та функції, які знущаються, " +"перевірятимуть аргументи та викличуть :exc:`TypeError`, якщо вони викликані " +"з неправильним підписом. Для моків, які замінюють клас, їх значення, що " +"повертається (\"екземпляр\") матиме ту саму специфікацію, що й клас. " +"Перегляньте функцію :func:`create_autospec` і :ref:`auto-speccing`." + +msgid "" +"Instead of ``autospec=True`` you can pass ``autospec=some_object`` to use an " +"arbitrary object as the spec instead of the one being replaced." +msgstr "" +"Замість ``autospec=True`` ви можете передати ``autospec=some_object``, щоб " +"використовувати довільний об’єкт як специфікацію замість того, що " +"замінюється." + +msgid "" +"By default :func:`patch` will fail to replace attributes that don't exist. " +"If you pass in ``create=True``, and the attribute doesn't exist, patch will " +"create the attribute for you when the patched function is called, and delete " +"it again after the patched function has exited. This is useful for writing " +"tests against attributes that your production code creates at runtime. It is " +"off by default because it can be dangerous. With it switched on you can " +"write passing tests against APIs that don't actually exist!" +msgstr "" +"За замовчуванням :func:`patch` не зможе замінити атрибути, яких не існує. " +"Якщо ви передаєте ``create=True``, а атрибут не існує, patch створить " +"атрибут для вас під час виклику виправленої функції та видалить його знову " +"після завершення виправленої функції. Це корисно для написання тестів щодо " +"атрибутів, які ваш робочий код створює під час виконання. За умовчанням його " +"вимкнено, оскільки це може бути небезпечно. Якщо його ввімкнути, ви можете " +"писати тести проходження проти API, яких насправді не існує!" + +msgid "" +"If you are patching builtins in a module then you don't need to pass " +"``create=True``, it will be added by default." +msgstr "" +"Якщо ви виправляєте вбудовані компоненти в модулі, вам не потрібно " +"передавати ``create=True``, він буде доданий за замовчуванням." + +msgid "" +"Patch can be used as a :class:`TestCase` class decorator. It works by " +"decorating each test method in the class. This reduces the boilerplate code " +"when your test methods share a common patchings set. :func:`patch` finds " +"tests by looking for method names that start with ``patch.TEST_PREFIX``. By " +"default this is ``'test'``, which matches the way :mod:`unittest` finds " +"tests. You can specify an alternative prefix by setting ``patch." +"TEST_PREFIX``." +msgstr "" +"Патч можна використовувати як декоратор класу :class:`TestCase`. Він працює, " +"прикрашаючи кожен метод тестування в класі. Це зменшує шаблонний код, коли " +"ваші методи тестування мають загальний набір виправлень. :func:`patch` " +"знаходить тести, шукаючи назви методів, які починаються з ``patch." +"TEST_PREFIX``. За замовчуванням це ``'test'``, що відповідає способу, яким :" +"mod:`unittest` знаходить тести. Ви можете вказати альтернативний префікс, " +"встановивши ``patch.TEST_PREFIX``." + +msgid "" +"Patch can be used as a context manager, with the with statement. Here the " +"patching applies to the indented block after the with statement. If you use " +"\"as\" then the patched object will be bound to the name after the \"as\"; " +"very useful if :func:`patch` is creating a mock object for you." +msgstr "" +"Патч можна використовувати як менеджер контексту за допомогою оператора " +"with. Тут виправлення застосовується до блоку з відступом після оператора " +"with. Якщо ви використовуєте \"as\", тоді виправлений об’єкт буде " +"прив’язаний до імені після \"as\"; дуже корисно, якщо :func:`patch` створює " +"для вас макет об’єкта." + +msgid "" +":func:`patch` takes arbitrary keyword arguments. These will be passed to :" +"class:`AsyncMock` if the patched object is asynchronous, to :class:" +"`MagicMock` otherwise or to *new_callable* if specified." +msgstr "" +":func:`patch` приймає довільні ключові аргументи. Вони будуть передані до :" +"class:`AsyncMock`, якщо виправлений об’єкт є асинхронним, до :class:" +"`MagicMock` інакше або до *new_callable*, якщо вказано." + +msgid "" +"``patch.dict(...)``, ``patch.multiple(...)`` and ``patch.object(...)`` are " +"available for alternate use-cases." +msgstr "" +"``patch.dict(...)``, ``patch.multiple(...)`` і ``patch.object(...)`` " +"доступні для альтернативних варіантів використання." + +msgid "" +":func:`patch` as function decorator, creating the mock for you and passing " +"it into the decorated function::" +msgstr "" +":func:`patch` як декоратор функції, створює макет для вас і передає його в " +"декоровану функцію::" + +msgid "" +"Patching a class replaces the class with a :class:`MagicMock` *instance*. If " +"the class is instantiated in the code under test then it will be the :attr:" +"`~Mock.return_value` of the mock that will be used." +msgstr "" +"Виправлення класу замінює клас на *екземпляр* :class:`MagicMock`. Якщо " +"екземпляр класу створено в тестованому коді, тоді використовуватиметься :" +"attr:`~Mock.return_value` макету." + +msgid "" +"If the class is instantiated multiple times you could use :attr:`~Mock." +"side_effect` to return a new mock each time. Alternatively you can set the " +"*return_value* to be anything you want." +msgstr "" +"Якщо екземпляр класу створюється кілька разів, ви можете використовувати :" +"attr:`~Mock.side_effect`, щоб щоразу повертати новий макет. Крім того, ви " +"можете встановити *return_value* як будь-яке значення." + +msgid "" +"To configure return values on methods of *instances* on the patched class " +"you must do this on the :attr:`return_value`. For example::" +msgstr "" +"Щоб налаштувати значення, що повертаються для методів *екземплярів* у " +"виправленому класі, ви повинні зробити це в :attr:`return_value`. Наприклад::" + +msgid "" +"If you use *spec* or *spec_set* and :func:`patch` is replacing a *class*, " +"then the return value of the created mock will have the same spec. ::" +msgstr "" +"Якщо ви використовуєте *spec* або *spec_set* і :func:`patch` замінює *клас*, " +"тоді значення, що повертається створеним макетом, матиме ту саму " +"специфікацію. ::" + +msgid "" +"The *new_callable* argument is useful where you want to use an alternative " +"class to the default :class:`MagicMock` for the created mock. For example, " +"if you wanted a :class:`NonCallableMock` to be used::" +msgstr "" +"Аргумент *new_callable* корисний, якщо ви хочете використовувати клас, " +"альтернативний типовому :class:`MagicMock` для створеного макету. Наприклад, " +"якщо ви хочете використовувати :class:`NonCallableMock`:" + +msgid "" +"Another use case might be to replace an object with an :class:`io.StringIO` " +"instance::" +msgstr "" +"Іншим варіантом використання може бути заміна об’єкта екземпляром :class:`io." +"StringIO`::" + +msgid "" +"When :func:`patch` is creating a mock for you, it is common that the first " +"thing you need to do is to configure the mock. Some of that configuration " +"can be done in the call to patch. Any arbitrary keywords you pass into the " +"call will be used to set attributes on the created mock::" +msgstr "" +"Коли :func:`patch` створює для вас макет, зазвичай перше, що вам потрібно " +"зробити, це налаштувати макет. Частину цієї конфігурації можна виконати під " +"час виклику patch. Будь-які довільні ключові слова, які ви передаєте у " +"виклик, використовуватимуться для встановлення атрибутів створеного mock::" + +msgid "" +"As well as attributes on the created mock attributes, like the :attr:`~Mock." +"return_value` and :attr:`~Mock.side_effect`, of child mocks can also be " +"configured. These aren't syntactically valid to pass in directly as keyword " +"arguments, but a dictionary with these as keys can still be expanded into a :" +"func:`patch` call using ``**``::" +msgstr "" +"Крім атрибутів у створених макетних атрибутах, таких як :attr:`~Mock." +"return_value` і :attr:`~Mock.side_effect`, дочірніх макетів також можна " +"налаштувати. Вони не є синтаксично дійсними для безпосередньої передачі як " +"аргументи ключового слова, але словник із ними як ключами все одно можна " +"розгорнути у виклик :func:`patch` за допомогою ``**``::" + +msgid "" +"By default, attempting to patch a function in a module (or a method or an " +"attribute in a class) that does not exist will fail with :exc:" +"`AttributeError`::" +msgstr "" +"За замовчуванням спроба виправити функцію в модулі (або метод чи атрибут у " +"класі), який не існує, закінчиться помилкою з :exc:`AttributeError`::" + +msgid "" +"but adding ``create=True`` in the call to :func:`patch` will make the " +"previous example work as expected::" +msgstr "" +"але додавання ``create=True`` до виклику :func:`patch` змусить попередній " +"приклад працювати належним чином::" + +msgid "" +":func:`patch` now returns an :class:`AsyncMock` if the target is an async " +"function." +msgstr "" +":func:`patch` тепер повертає :class:`AsyncMock`, якщо метою є асинхронна " +"функція." + +msgid "patch.object" +msgstr "patch.object" + +msgid "" +"patch the named member (*attribute*) on an object (*target*) with a mock " +"object." +msgstr "" +"заправити названий член (*атрибут*) на об’єкті (*ціль*) за допомогою " +"макетного об’єкта." + +msgid "" +":func:`patch.object` can be used as a decorator, class decorator or a " +"context manager. Arguments *new*, *spec*, *create*, *spec_set*, *autospec* " +"and *new_callable* have the same meaning as for :func:`patch`. Like :func:" +"`patch`, :func:`patch.object` takes arbitrary keyword arguments for " +"configuring the mock object it creates." +msgstr "" +":func:`patch.object` можна використовувати як декоратор, декоратор класу або " +"менеджер контексту. Аргументи *new*, *spec*, *create*, *spec_set*, " +"*autospec* і *new_callable* мають те саме значення, що й для :func:`patch`. " +"Подібно до :func:`patch`, :func:`patch.object` приймає довільні ключові " +"аргументи для налаштування макетного об’єкта, який він створює." + +msgid "" +"When used as a class decorator :func:`patch.object` honours ``patch." +"TEST_PREFIX`` for choosing which methods to wrap." +msgstr "" +"При використанні як декоратора класу :func:`patch.object` враховує ``patch." +"TEST_PREFIX`` для вибору методів для обгортання." + +msgid "" +"You can either call :func:`patch.object` with three arguments or two " +"arguments. The three argument form takes the object to be patched, the " +"attribute name and the object to replace the attribute with." +msgstr "" +"Ви можете викликати :func:`patch.object` з трьома або двома аргументами. " +"Форма з трьома аргументами містить об’єкт, який потрібно виправити, ім’я " +"атрибута та об’єкт, на який потрібно замінити атрибут." + +msgid "" +"When calling with the two argument form you omit the replacement object, and " +"a mock is created for you and passed in as an extra argument to the " +"decorated function:" +msgstr "" +"Під час виклику з формою з двома аргументами ви пропускаєте об’єкт заміни, і " +"для вас створюється макет, який передається як додатковий аргумент до " +"декорованої функції:" + +msgid "" +"*spec*, *create* and the other arguments to :func:`patch.object` have the " +"same meaning as they do for :func:`patch`." +msgstr "" +"*spec*, *create* та інші аргументи для :func:`patch.object` мають те саме " +"значення, що й для :func:`patch`." + +msgid "patch.dict" +msgstr "patch.dict" + +msgid "" +"Patch a dictionary, or dictionary like object, and restore the dictionary to " +"its original state after the test." +msgstr "" +"Виправте словник або об’єкт, схожий на словник, і відновіть словник до " +"початкового стану після тесту." + +msgid "" +"*in_dict* can be a dictionary or a mapping like container. If it is a " +"mapping then it must at least support getting, setting and deleting items " +"plus iterating over keys." +msgstr "" +"*in_dict* може бути словником або контейнером, схожим на відображення. Якщо " +"це відображення, то воно повинно принаймні підтримувати отримання, " +"встановлення та видалення елементів, а також ітерацію по ключах." + +msgid "" +"*in_dict* can also be a string specifying the name of the dictionary, which " +"will then be fetched by importing it." +msgstr "" +"*in_dict* також може бути рядком, що визначає назву словника, який потім " +"буде отримано шляхом його імпорту." + +msgid "" +"*values* can be a dictionary of values to set in the dictionary. *values* " +"can also be an iterable of ``(key, value)`` pairs." +msgstr "" +"*values* може бути словником значень для встановлення в словнику. *значення* " +"також можуть бути повторюваними парами ``(ключ, значення)``." + +msgid "" +"If *clear* is true then the dictionary will be cleared before the new values " +"are set." +msgstr "" +"Якщо *clear* має значення true, словник буде очищено перед встановленням " +"нових значень." + +msgid "" +":func:`patch.dict` can also be called with arbitrary keyword arguments to " +"set values in the dictionary." +msgstr "" +":func:`patch.dict` також можна викликати з довільними ключовими аргументами " +"для встановлення значень у словнику." + +msgid "" +":func:`patch.dict` now returns the patched dictionary when used as a context " +"manager." +msgstr "" +":func:`patch.dict` тепер повертає виправлений словник, коли використовується " +"як менеджер контексту." + +msgid "" +":func:`patch.dict` can be used as a context manager, decorator or class " +"decorator:" +msgstr "" +":func:`patch.dict` можна використовувати як контекстний менеджер, декоратор " +"або декоратор класу:" + +msgid "" +"When used as a class decorator :func:`patch.dict` honours ``patch." +"TEST_PREFIX`` (default to ``'test'``) for choosing which methods to wrap:" +msgstr "" +"Коли використовується як декоратор класу, :func:`patch.dict` враховує " +"``patch.TEST_PREFIX`` (за замовчуванням ``'test'``) для вибору методів для " +"обгортання:" + +msgid "" +"If you want to use a different prefix for your test, you can inform the " +"patchers of the different prefix by setting ``patch.TEST_PREFIX``. For more " +"details about how to change the value of see :ref:`test-prefix`." +msgstr "" +"Якщо ви хочете використовувати інший префікс для свого тесту, ви можете " +"повідомити патчерів про інший префікс, встановивши ``patch.TEST_PREFIX``. " +"Докладніше про те, як змінити значення див. :ref:`test-prefix`." + +msgid "" +":func:`patch.dict` can be used to add members to a dictionary, or simply let " +"a test change a dictionary, and ensure the dictionary is restored when the " +"test ends." +msgstr "" +":func:`patch.dict` можна використовувати для додавання членів до словника " +"або просто дозволити тесту змінити словник і переконатися, що словник буде " +"відновлено після завершення тесту." + +msgid "" +"Keywords can be used in the :func:`patch.dict` call to set values in the " +"dictionary:" +msgstr "" +"Ключові слова можна використовувати у виклику :func:`patch.dict` для " +"встановлення значень у словнику:" + +msgid "" +":func:`patch.dict` can be used with dictionary like objects that aren't " +"actually dictionaries. At the very minimum they must support item getting, " +"setting, deleting and either iteration or membership test. This corresponds " +"to the magic methods :meth:`__getitem__`, :meth:`__setitem__`, :meth:" +"`__delitem__` and either :meth:`__iter__` or :meth:`__contains__`." +msgstr "" +":func:`patch.dict` можна використовувати з об’єктами, подібними до " +"словників, які насправді не є словниками. Як мінімум, вони повинні " +"підтримувати отримання, налаштування, видалення елементів і або ітерацію, " +"або перевірку членства. Це відповідає магічним методам :meth:`__getitem__`, :" +"meth:`__setitem__`, :meth:`__delitem__` і :meth:`__iter__` або :meth:" +"`__contains__`." + +msgid "patch.multiple" +msgstr "patch.multiple" + +msgid "" +"Perform multiple patches in a single call. It takes the object to be patched " +"(either as an object or a string to fetch the object by importing) and " +"keyword arguments for the patches::" +msgstr "" +"Виконайте кілька патчів за один виклик. Він приймає об’єкт, який потрібно " +"виправити (або як об’єкт, або рядок для отримання об’єкта шляхом імпорту), а " +"також ключові аргументи для патчів::" + +msgid "" +"Use :data:`DEFAULT` as the value if you want :func:`patch.multiple` to " +"create mocks for you. In this case the created mocks are passed into a " +"decorated function by keyword, and a dictionary is returned when :func:" +"`patch.multiple` is used as a context manager." +msgstr "" +"Використовуйте :data:`DEFAULT` як значення, якщо ви хочете, щоб :func:`patch." +"multiple` створював для вас макети. У цьому випадку створені макети " +"передаються в декоровану функцію за ключовим словом, а словник повертається, " +"коли :func:`patch.multiple` використовується як менеджер контексту." + +msgid "" +":func:`patch.multiple` can be used as a decorator, class decorator or a " +"context manager. The arguments *spec*, *spec_set*, *create*, *autospec* and " +"*new_callable* have the same meaning as for :func:`patch`. These arguments " +"will be applied to *all* patches done by :func:`patch.multiple`." +msgstr "" +":func:`patch.multiple` можна використовувати як декоратор, декоратор класу " +"або менеджер контексту. Аргументи *spec*, *spec_set*, *create*, *autospec* і " +"*new_callable* мають те саме значення, що й для :func:`patch`. Ці аргументи " +"будуть застосовані до *всіх* патчів, створених :func:`patch.multiple`." + +msgid "" +"When used as a class decorator :func:`patch.multiple` honours ``patch." +"TEST_PREFIX`` for choosing which methods to wrap." +msgstr "" +"При використанні як декоратор класу :func:`patch.multiple` враховує ``patch." +"TEST_PREFIX`` для вибору методів для обгортання." + +msgid "" +"If you want :func:`patch.multiple` to create mocks for you, then you can " +"use :data:`DEFAULT` as the value. If you use :func:`patch.multiple` as a " +"decorator then the created mocks are passed into the decorated function by " +"keyword. ::" +msgstr "" +"Якщо ви хочете, щоб :func:`patch.multiple` створював для вас макети, ви " +"можете використовувати :data:`DEFAULT` як значення. Якщо ви використовуєте :" +"func:`patch.multiple` як декоратор, тоді створені макети передаються в " +"декоровану функцію за ключовим словом. ::" + +msgid "" +":func:`patch.multiple` can be nested with other ``patch`` decorators, but " +"put arguments passed by keyword *after* any of the standard arguments " +"created by :func:`patch`::" +msgstr "" +":func:`patch.multiple` можна вкладати в інші декоратори ``patch``, але " +"розміщувати аргументи, передані ключовим словом *після* будь-яких " +"стандартних аргументів, створених :func:`patch`::" + +msgid "" +"If :func:`patch.multiple` is used as a context manager, the value returned " +"by the context manager is a dictionary where created mocks are keyed by " +"name::" +msgstr "" +"Якщо :func:`patch.multiple` використовується як менеджер контексту, " +"значення, яке повертає менеджер контексту, є словником, у якому створені " +"макети вказуються за назвою::" + +msgid "patch methods: start and stop" +msgstr "методи латання: запуск і зупинка" + +msgid "" +"All the patchers have :meth:`start` and :meth:`stop` methods. These make it " +"simpler to do patching in ``setUp`` methods or where you want to do multiple " +"patches without nesting decorators or with statements." +msgstr "" +"Усі патчери мають методи :meth:`start` і :meth:`stop`. Це спрощує виконання " +"виправлень у методах ``setUp`` або там, де потрібно виконати кілька латок " +"без декораторів вкладення або за допомогою операторів." + +msgid "" +"To use them call :func:`patch`, :func:`patch.object` or :func:`patch.dict` " +"as normal and keep a reference to the returned ``patcher`` object. You can " +"then call :meth:`start` to put the patch in place and :meth:`stop` to undo " +"it." +msgstr "" +"Щоб використати їх, викличте :func:`patch`, :func:`patch.object` або :func:" +"`patch.dict` як зазвичай і збережіть посилання на повернутий об’єкт " +"``patcher``. Потім ви можете викликати :meth:`start`, щоб поставити патч на " +"місце, і :meth:`stop`, щоб скасувати його." + +msgid "" +"If you are using :func:`patch` to create a mock for you then it will be " +"returned by the call to ``patcher.start``. ::" +msgstr "" +"Якщо ви використовуєте :func:`patch` для створення макету, його буде " +"повернено викликом ``patcher.start``. ::" + +msgid "" +"A typical use case for this might be for doing multiple patches in the " +"``setUp`` method of a :class:`TestCase`::" +msgstr "" +"Типовим випадком використання для цього може бути виконання кількох патчів у " +"методі ``setUp`` :class:`TestCase`::" + +msgid "" +"If you use this technique you must ensure that the patching is \"undone\" by " +"calling ``stop``. This can be fiddlier than you might think, because if an " +"exception is raised in the ``setUp`` then ``tearDown`` is not called. :meth:" +"`unittest.TestCase.addCleanup` makes this easier::" +msgstr "" +"Якщо ви використовуєте цю техніку, ви повинні переконатися, що виправлення " +"\"скасовано\", викликавши ``stop``. Це може бути складніше, ніж ви могли б " +"подумати, оскільки якщо в ``setUp`` виникає виняток, ``tearDown`` не " +"викликається. :meth:`unittest.TestCase.addCleanup` полегшує це::" + +msgid "" +"As an added bonus you no longer need to keep a reference to the ``patcher`` " +"object." +msgstr "" +"Як додатковий бонус, вам більше не потрібно зберігати посилання на об’єкт " +"``patcher``." + +msgid "" +"It is also possible to stop all patches which have been started by using :" +"func:`patch.stopall`." +msgstr "" +"Також можна зупинити всі запущені латки за допомогою :func:`patch.stopall`." + +msgid "Stop all active patches. Only stops patches started with ``start``." +msgstr "Зупинити всі активні патчі. Зупиняє лише патчі, розпочаті з ``start``." + +msgid "patch builtins" +msgstr "вбудовані виправлення" + +msgid "" +"You can patch any builtins within a module. The following example patches " +"builtin :func:`ord`::" +msgstr "" +"Ви можете виправляти будь-які вбудовані компоненти в модулі. Наступні " +"приклади патчів вбудовані в :func:`ord`::" + +msgid "TEST_PREFIX" +msgstr "TEST_PREFIX" + +msgid "" +"All of the patchers can be used as class decorators. When used in this way " +"they wrap every test method on the class. The patchers recognise methods " +"that start with ``'test'`` as being test methods. This is the same way that " +"the :class:`unittest.TestLoader` finds test methods by default." +msgstr "" +"Усі патчери можна використовувати як декоратори класів. При такому " +"використанні вони загортають кожен тестовий метод у клас. Патчери " +"розпізнають методи, які починаються з ``'test'``, як методи тестування. " +"Таким же чином :class:`unittest.TestLoader` знаходить тестові методи за " +"замовчуванням." + +msgid "" +"It is possible that you want to use a different prefix for your tests. You " +"can inform the patchers of the different prefix by setting ``patch." +"TEST_PREFIX``::" +msgstr "" +"Можливо, ви хочете використовувати інший префікс для своїх тестів. Ви можете " +"повідомити патчерів про інший префікс, встановивши ``patch.TEST_PREFIX``::" + +msgid "Nesting Patch Decorators" +msgstr "Декоратори вкладених патчів" + +msgid "" +"If you want to perform multiple patches then you can simply stack up the " +"decorators." +msgstr "" +"Якщо ви хочете виконати кілька патчів, ви можете просто скласти декоратори." + +msgid "You can stack up multiple patch decorators using this pattern:" +msgstr "" +"Ви можете скласти кілька декораторів патчів, використовуючи цей шаблон:" + +msgid "" +"Note that the decorators are applied from the bottom upwards. This is the " +"standard way that Python applies decorators. The order of the created mocks " +"passed into your test function matches this order." +msgstr "" +"Зверніть увагу, що декоратори наносяться знизу вгору. Це стандартний спосіб, " +"у який Python застосовує декоратори. Порядок створених макетів, переданих у " +"вашу тестову функцію, відповідає цьому порядку." + +msgid "Where to patch" +msgstr "Де латати" + +msgid "" +":func:`patch` works by (temporarily) changing the object that a *name* " +"points to with another one. There can be many names pointing to any " +"individual object, so for patching to work you must ensure that you patch " +"the name used by the system under test." +msgstr "" +":func:`patch` працює, (тимчасово) змінюючи об’єкт, на який вказує *ім’я*, на " +"інший. Може бути багато імен, які вказують на будь-який окремий об’єкт, " +"тому, щоб виправлення працювало, ви повинні переконатися, що ви виправляєте " +"ім’я, яке використовує тестована система." + +msgid "" +"The basic principle is that you patch where an object is *looked up*, which " +"is not necessarily the same place as where it is defined. A couple of " +"examples will help to clarify this." +msgstr "" +"Основний принцип полягає в тому, що ви виправляєте там, де об’єкт " +"*переглядається*, що не обов’язково є тим самим місцем, де він визначений. " +"Кілька прикладів допоможуть прояснити це." + +msgid "" +"Imagine we have a project that we want to test with the following structure::" +msgstr "" +"Уявіть, що у нас є проект, який ми хочемо перевірити з такою структурою:" + +msgid "" +"Now we want to test ``some_function`` but we want to mock out ``SomeClass`` " +"using :func:`patch`. The problem is that when we import module b, which we " +"will have to do then it imports ``SomeClass`` from module a. If we use :func:" +"`patch` to mock out ``a.SomeClass`` then it will have no effect on our test; " +"module b already has a reference to the *real* ``SomeClass`` and it looks " +"like our patching had no effect." +msgstr "" +"Тепер ми хочемо протестувати ``some_function``, але ми хочемо змакувати " +"``SomeClass`` за допомогою :func:`patch`. Проблема полягає в тому, що коли " +"ми імпортуємо модуль b, що нам доведеться зробити, він імпортує " +"``SomeClass`` з модуля a. Якщо ми використовуємо :func:`patch` для імітації " +"``a.SomeClass``, то це не вплине на наш тест; модуль b уже містить посилання " +"на *справжній* ``SomeClass``, і, схоже, наше виправлення не мало ефекту." + +msgid "" +"The key is to patch out ``SomeClass`` where it is used (or where it is " +"looked up). In this case ``some_function`` will actually look up " +"``SomeClass`` in module b, where we have imported it. The patching should " +"look like::" +msgstr "" +"Головне – виправити ``SomeClass`` там, де він використовується (або де його " +"шукають). У цьому випадку ``some_function`` фактично шукатиме ``SomeClass`` " +"у модулі b, куди ми його імпортували. Виправлення має виглядати:" + +msgid "" +"However, consider the alternative scenario where instead of ``from a import " +"SomeClass`` module b does ``import a`` and ``some_function`` uses ``a." +"SomeClass``. Both of these import forms are common. In this case the class " +"we want to patch is being looked up in the module and so we have to patch " +"``a.SomeClass`` instead::" +msgstr "" +"Однак розглянемо альтернативний сценарій, де замість ``from a import " +"SomeClass`` модуль b виконує ``імпорт a``, а ``some_function`` використовує " +"``a.SomeClass``. Обидві ці форми імпорту поширені. У цьому випадку клас, " +"який ми хочемо виправити, шукається в модулі, тому ми повинні замість цього " +"виправити ``a.SomeClass``::" + +msgid "Patching Descriptors and Proxy Objects" +msgstr "Виправлення дескрипторів і проксі-об’єктів" + +msgid "" +"Both patch_ and patch.object_ correctly patch and restore descriptors: class " +"methods, static methods and properties. You should patch these on the " +"*class* rather than an instance. They also work with *some* objects that " +"proxy attribute access, like the `django settings object `_." +msgstr "" + +msgid "MagicMock and magic method support" +msgstr "Підтримка MagicMock і магічного методу" + +msgid "Mocking Magic Methods" +msgstr "Знущальні магічні методи" + +msgid "" +":class:`Mock` supports mocking the Python protocol methods, also known as " +"\"magic methods\". This allows mock objects to replace containers or other " +"objects that implement Python protocols." +msgstr "" +":class:`Mock` підтримує висміювання методів протоколу Python, також відомих " +"як \"магічні методи\". Це дозволяє фіктивним об’єктам замінювати контейнери " +"чи інші об’єкти, які реалізують протоколи Python." + +msgid "" +"Because magic methods are looked up differently from normal methods [#]_, " +"this support has been specially implemented. This means that only specific " +"magic methods are supported. The supported list includes *almost* all of " +"them. If there are any missing that you need please let us know." +msgstr "" +"Оскільки магічні методи шукаються інакше, ніж звичайні методи [#]_, цю " +"підтримку було реалізовано спеціально. Це означає, що підтримуються лише " +"певні магічні методи. Список підтримуваних включає *майже* всі з них. Якщо " +"вам бракує чогось, повідомте нам." + +msgid "" +"You mock magic methods by setting the method you are interested in to a " +"function or a mock instance. If you are using a function then it *must* take " +"``self`` as the first argument [#]_." +msgstr "" +"Ви імітуєте магічні методи, встановлюючи для методу, який вас цікавить, " +"функцію або імітаційний екземпляр. Якщо ви використовуєте функцію, вона " +"*має* приймати ``self`` як перший аргумент [#]_." + +msgid "" +"One use case for this is for mocking objects used as context managers in a :" +"keyword:`with` statement:" +msgstr "" +"Одним із варіантів використання цього є знущання над об’єктами, що " +"використовуються як менеджери контексту в операторі :keyword:`with`:" + +msgid "" +"Calls to magic methods do not appear in :attr:`~Mock.method_calls`, but they " +"are recorded in :attr:`~Mock.mock_calls`." +msgstr "" +"Виклики магічних методів не відображаються в :attr:`~Mock.method_calls`, але " +"вони записуються в :attr:`~Mock.mock_calls`." + +msgid "" +"If you use the *spec* keyword argument to create a mock then attempting to " +"set a magic method that isn't in the spec will raise an :exc:" +"`AttributeError`." +msgstr "" +"Якщо ви використовуєте аргумент ключового слова *spec* для створення макета, " +"тоді спроба встановити магічний метод, якого немає в специфікації, призведе " +"до появи :exc:`AttributeError`." + +msgid "The full list of supported magic methods is:" +msgstr "Повний список підтримуваних магічних методів:" + +msgid "``__hash__``, ``__sizeof__``, ``__repr__`` and ``__str__``" +msgstr "``__hash__``, ``__sizeof__``, ``__repr__`` і ``__str__``" + +msgid "``__dir__``, ``__format__`` and ``__subclasses__``" +msgstr "``__dir__``, ``__format__`` і ``__subclasses__``" + +msgid "``__round__``, ``__floor__``, ``__trunc__`` and ``__ceil__``" +msgstr "``__round__``, ``__floor__``, ``__trunc__`` і ``__ceil__``" + +msgid "" +"Comparisons: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` and " +"``__ne__``" +msgstr "" +"Порівняння: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` і " +"``__ne__``" + +msgid "" +"Container methods: ``__getitem__``, ``__setitem__``, ``__delitem__``, " +"``__contains__``, ``__len__``, ``__iter__``, ``__reversed__`` and " +"``__missing__``" +msgstr "" +"Методи контейнерів: ``__getitem__``, ``__setitem__``, ``__delitem__``, " +"``__contains__``, ``__len__``, ``__iter__``, ``__reversed__`` і " +"``__missing__``" + +msgid "" +"Context manager: ``__enter__``, ``__exit__``, ``__aenter__`` and " +"``__aexit__``" +msgstr "" +"Менеджер контексту: ``__enter__``, ``__exit__``, ``__aenter__`` і " +"``__aexit__``" + +msgid "Unary numeric methods: ``__neg__``, ``__pos__`` and ``__invert__``" +msgstr "Унарні числові методи: ``__neg__``, ``__pos__`` і ``__invert__``" + +msgid "" +"The numeric methods (including right hand and in-place variants): " +"``__add__``, ``__sub__``, ``__mul__``, ``__matmul__``, ``__truediv__``, " +"``__floordiv__``, ``__mod__``, ``__divmod__``, ``__lshift__``, " +"``__rshift__``, ``__and__``, ``__xor__``, ``__or__``, and ``__pow__``" +msgstr "" + +msgid "" +"Numeric conversion methods: ``__complex__``, ``__int__``, ``__float__`` and " +"``__index__``" +msgstr "" +"Числові методи перетворення: ``__complex__``, ``__int__``, ``__float__`` і " +"``__index__``" + +msgid "Descriptor methods: ``__get__``, ``__set__`` and ``__delete__``" +msgstr "Методи дескриптора: ``__get__``, ``__set__`` і ``__delete__``" + +msgid "" +"Pickling: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " +"``__getnewargs__``, ``__getstate__`` and ``__setstate__``" +msgstr "" +"Травлення: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " +"``__getnewargs__``, ``__getstate__`` і ``__setstate__``" + +msgid "File system path representation: ``__fspath__``" +msgstr "Представлення шляху файлової системи: ``__fspath__``" + +msgid "Asynchronous iteration methods: ``__aiter__`` and ``__anext__``" +msgstr "Асинхронні методи ітерації: ``__aiter__`` і ``__anext__``" + +msgid "Added support for :func:`os.PathLike.__fspath__`." +msgstr "Додано підтримку для :func:`os.PathLike.__fspath__`." + +msgid "" +"Added support for ``__aenter__``, ``__aexit__``, ``__aiter__`` and " +"``__anext__``." +msgstr "" +"Додано підтримку ``__aenter__``, ``__aexit__``, ``__aiter__`` і " +"``__anext__``." + +msgid "" +"The following methods exist but are *not* supported as they are either in " +"use by mock, can't be set dynamically, or can cause problems:" +msgstr "" +"Наступні методи існують, але *не* підтримуються, оскільки вони або " +"використовуються макетом, не можуть бути встановлені динамічно або можуть " +"спричиняти проблеми:" + +msgid "``__getattr__``, ``__setattr__``, ``__init__`` and ``__new__``" +msgstr "``__getattr__``, ``__setattr__``, ``__init__`` і ``__new__``" + +msgid "" +"``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" +msgstr "" +"``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" + +msgid "Magic Mock" +msgstr "Магічний макет" + +msgid "" +"There are two ``MagicMock`` variants: :class:`MagicMock` and :class:" +"`NonCallableMagicMock`." +msgstr "" +"Є два варіанти ``MagicMock``: :class:`MagicMock` і :class:" +"`NonCallableMagicMock`." + +msgid "" +"``MagicMock`` is a subclass of :class:`Mock` with default implementations of " +"most of the magic methods. You can use ``MagicMock`` without having to " +"configure the magic methods yourself." +msgstr "" +"``MagicMock`` є підкласом :class:`Mock` із стандартними реалізаціями " +"більшості магічних методів. Ви можете використовувати ``MagicMock`` без " +"необхідності самостійно налаштовувати магічні методи." + +msgid "The constructor parameters have the same meaning as for :class:`Mock`." +msgstr "Параметри конструктора мають те саме значення, що й для :class:`Mock`." + +msgid "" +"If you use the *spec* or *spec_set* arguments then *only* magic methods that " +"exist in the spec will be created." +msgstr "" +"Якщо ви використовуєте аргументи *spec* або *spec_set*, тоді будуть створені " +"*лише* магічні методи, які існують у специфікації." + +msgid "A non-callable version of :class:`MagicMock`." +msgstr "Версія :class:`MagicMock`, яка не викликається." + +msgid "" +"The constructor parameters have the same meaning as for :class:`MagicMock`, " +"with the exception of *return_value* and *side_effect* which have no meaning " +"on a non-callable mock." +msgstr "" +"Параметри конструктора мають те саме значення, що й для :class:`MagicMock`, " +"за винятком *return_value* і *side_effect*, які не мають значення для " +"макету, який не викликається." + +msgid "" +"The magic methods are setup with :class:`MagicMock` objects, so you can " +"configure them and use them in the usual way:" +msgstr "" +"Магічні методи встановлюються за допомогою об’єктів :class:`MagicMock`, тож " +"ви можете налаштувати їх і використовувати у звичайний спосіб:" + +msgid "" +"By default many of the protocol methods are required to return objects of a " +"specific type. These methods are preconfigured with a default return value, " +"so that they can be used without you having to do anything if you aren't " +"interested in the return value. You can still *set* the return value " +"manually if you want to change the default." +msgstr "" +"За замовчуванням багато методів протоколу потрібні для повернення об’єктів " +"певного типу. Ці методи попередньо налаштовані зі значенням, що повертається " +"за замовчуванням, тому їх можна використовувати без необхідності робити будь-" +"які дії, якщо ви не зацікавлені у значенні, що повертається. Ви все ще " +"можете *встановити* значення, що повертається, вручну, якщо ви хочете " +"змінити значення за замовчуванням." + +msgid "Methods and their defaults:" +msgstr "Методи та їх значення за замовчуванням:" + +msgid "``__lt__``: ``NotImplemented``" +msgstr "``__lt__``: ``Не реалізовано``" + +msgid "``__gt__``: ``NotImplemented``" +msgstr "``__gt__``: ``Не реалізовано``" + +msgid "``__le__``: ``NotImplemented``" +msgstr "``__le__``: ``Не реалізовано``" + +msgid "``__ge__``: ``NotImplemented``" +msgstr "``__ge__``: ``Не реалізовано``" + +msgid "``__int__``: ``1``" +msgstr "``__int__``: ``1``" + +msgid "``__contains__``: ``False``" +msgstr "``__contains__``: ``False``" + +msgid "``__len__``: ``0``" +msgstr "``__len__``: ``0``" + +msgid "``__iter__``: ``iter([])``" +msgstr "``__iter__``: ``iter([])``" + +msgid "``__exit__``: ``False``" +msgstr "``__exit__``: ``False``" + +msgid "``__aexit__``: ``False``" +msgstr "``__aexit__``: ``False``" + +msgid "``__complex__``: ``1j``" +msgstr "``__complex__``: ``1j``" + +msgid "``__float__``: ``1.0``" +msgstr "``__float__``: ``1.0``" + +msgid "``__bool__``: ``True``" +msgstr "``__bool__``: ``Правда``" + +msgid "``__index__``: ``1``" +msgstr "``__index__``: ``1``" + +msgid "``__hash__``: default hash for the mock" +msgstr "``__hash__``: типовий хеш для макета" + +msgid "``__str__``: default str for the mock" +msgstr "``__str__``: рядок за умовчанням для макета" + +msgid "``__sizeof__``: default sizeof for the mock" +msgstr "``__sizeof__``: розмір за замовчуванням для макету" + +msgid "For example:" +msgstr "Наприклад:" + +msgid "" +"The two equality methods, :meth:`__eq__` and :meth:`__ne__`, are special. " +"They do the default equality comparison on identity, using the :attr:`~Mock." +"side_effect` attribute, unless you change their return value to return " +"something else::" +msgstr "" +"Два методи рівності, :meth:`__eq__` і :meth:`__ne__`, є особливими. Вони " +"порівнюють рівність за замовчуванням щодо ідентичності, використовуючи " +"атрибут :attr:`~Mock.side_effect`, якщо ви не зміните їх значення, що " +"повертається, щоб повернути щось інше::" + +msgid "" +"The return value of :meth:`MagicMock.__iter__` can be any iterable object " +"and isn't required to be an iterator:" +msgstr "" +"Повернене значення :meth:`MagicMock.__iter__` може бути будь-яким ітерованим " +"об’єктом і не обов’язково бути ітератором:" + +msgid "" +"If the return value *is* an iterator, then iterating over it once will " +"consume it and subsequent iterations will result in an empty list:" +msgstr "" +"Якщо значення, що повертається, *є* ітератором, одноразове повторення над " +"ним споживатиме його, а наступні ітерації призведуть до порожнього списку:" + +msgid "" +"``MagicMock`` has all of the supported magic methods configured except for " +"some of the obscure and obsolete ones. You can still set these up if you " +"want." +msgstr "" +"У ``MagicMock`` налаштовано всі підтримувані магічні методи, за винятком " +"деяких незрозумілих і застарілих. Ви все ще можете налаштувати їх, якщо " +"хочете." + +msgid "" +"Magic methods that are supported but not setup by default in ``MagicMock`` " +"are:" +msgstr "" +"Магічні методи, які підтримуються, але не налаштовані за замовчуванням у " +"``MagicMock``:" + +msgid "``__subclasses__``" +msgstr "``__subclasses__``" + +msgid "``__dir__``" +msgstr "``__dir__``" + +msgid "``__format__``" +msgstr "``__format__``" + +msgid "``__get__``, ``__set__`` and ``__delete__``" +msgstr "``__get__``, ``__set__`` і ``__delete__``" + +msgid "``__reversed__`` and ``__missing__``" +msgstr "``__reversed__`` і ``__missing__``" + +msgid "" +"``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " +"``__getstate__`` and ``__setstate__``" +msgstr "" +"``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " +"``__getstate__`` і ``__setstate__``" + +msgid "``__getformat__``" +msgstr "" + +msgid "" +"Magic methods *should* be looked up on the class rather than the instance. " +"Different versions of Python are inconsistent about applying this rule. The " +"supported protocol methods should work with all supported versions of Python." +msgstr "" +"Чарівні методи *слід* шукати в класі, а не в екземплярі. Різні версії Python " +"несумісні щодо застосування цього правила. Підтримувані методи протоколу " +"мають працювати з усіма підтримуваними версіями Python." + +msgid "" +"The function is basically hooked up to the class, but each ``Mock`` instance " +"is kept isolated from the others." +msgstr "" +"Функція в основному підключена до класу, але кожен екземпляр ``Mock`` " +"зберігається ізольованим від інших." + +msgid "Helpers" +msgstr "Помічники" + +msgid "sentinel" +msgstr "дозорний" + +msgid "" +"The ``sentinel`` object provides a convenient way of providing unique " +"objects for your tests." +msgstr "" +"Об’єкт ``sentinel`` забезпечує зручний спосіб надання унікальних об’єктів " +"для ваших тестів." + +msgid "" +"Attributes are created on demand when you access them by name. Accessing the " +"same attribute will always return the same object. The objects returned have " +"a sensible repr so that test failure messages are readable." +msgstr "" +"Атрибути створюються на вимогу, коли ви отримуєте доступ до них за іменем. " +"Доступ до того самого атрибуту завжди повертатиме той самий об’єкт. " +"Повернуті об’єкти мають розумне відображення, тому повідомлення про помилку " +"тесту можна прочитати." + +msgid "" +"The ``sentinel`` attributes now preserve their identity when they are :mod:" +"`copied ` or :mod:`pickled `." +msgstr "" +"Атрибути ``sentinel`` тепер зберігають свою ідентичність, коли їх :mod:" +"`скопіюють ` або :mod:`маринують `." + +msgid "" +"Sometimes when testing you need to test that a specific object is passed as " +"an argument to another method, or returned. It can be common to create named " +"sentinel objects to test this. :data:`sentinel` provides a convenient way of " +"creating and testing the identity of objects like this." +msgstr "" +"Іноді під час тестування вам потрібно перевірити, чи певний об’єкт " +"передається як аргумент до іншого методу або повертається. Для перевірки " +"цього може бути звичайним створення іменованих дозорних об’єктів. :data:" +"`sentinel` забезпечує зручний спосіб створення та перевірки ідентичності " +"таких об’єктів." + +msgid "" +"In this example we monkey patch ``method`` to return ``sentinel." +"some_object``:" +msgstr "" +"У цьому прикладі ми використовуємо ``method`` для повернення ``sentinel." +"some_object``:" + +msgid "DEFAULT" +msgstr "ЗА ПРОМОВЧАННЯМ" + +msgid "" +"The :data:`DEFAULT` object is a pre-created sentinel (actually ``sentinel." +"DEFAULT``). It can be used by :attr:`~Mock.side_effect` functions to " +"indicate that the normal return value should be used." +msgstr "" +"Об’єкт :data:`DEFAULT` є попередньо створеним дозорним (насправді ``sentinel." +"DEFAULT``). Його можна використовувати функціями :attr:`~Mock.side_effect`, " +"щоб вказати, що потрібно використовувати звичайне повертане значення." + +msgid "call" +msgstr "виклик" + +msgid "" +":func:`call` is a helper object for making simpler assertions, for comparing " +"with :attr:`~Mock.call_args`, :attr:`~Mock.call_args_list`, :attr:`~Mock." +"mock_calls` and :attr:`~Mock.method_calls`. :func:`call` can also be used " +"with :meth:`~Mock.assert_has_calls`." +msgstr "" +":func:`call` — це допоміжний об’єкт для створення простіших тверджень, для " +"порівняння з :attr:`~Mock.call_args`, :attr:`~Mock.call_args_list`, :attr:" +"`~Mock.mock_calls` і :attr:`~Mock.method_calls`. :func:`call` також можна " +"використовувати з :meth:`~Mock.assert_has_calls`." + +msgid "" +"For a call object that represents multiple calls, :meth:`call_list` returns " +"a list of all the intermediate calls as well as the final call." +msgstr "" +"Для об’єкта виклику, який представляє кілька викликів, :meth:`call_list` " +"повертає список усіх проміжних викликів, а також остаточний виклик." + +msgid "" +"``call_list`` is particularly useful for making assertions on \"chained calls" +"\". A chained call is multiple calls on a single line of code. This results " +"in multiple entries in :attr:`~Mock.mock_calls` on a mock. Manually " +"constructing the sequence of calls can be tedious." +msgstr "" +"``call_list`` особливо корисний для створення тверджень щодо \"ланцюжкових " +"викликів\". Зв’язаний виклик — це кілька викликів в одному рядку коду. Це " +"призводить до кількох записів у :attr:`~Mock.mock_calls` на макеті. Побудова " +"послідовності викликів вручну може бути виснажливою." + +msgid "" +":meth:`~call.call_list` can construct the sequence of calls from the same " +"chained call:" +msgstr "" +":meth:`~call.call_list` може побудувати послідовність викликів з одного " +"ланцюжкового виклику:" + +msgid "" +"A ``call`` object is either a tuple of (positional args, keyword args) or " +"(name, positional args, keyword args) depending on how it was constructed. " +"When you construct them yourself this isn't particularly interesting, but " +"the ``call`` objects that are in the :attr:`Mock.call_args`, :attr:`Mock." +"call_args_list` and :attr:`Mock.mock_calls` attributes can be introspected " +"to get at the individual arguments they contain." +msgstr "" +"Об’єкт ``виклику`` є або кортежем (позиційні аргументи, аргументи ключового " +"слова) або (ім’я, позиційні аргументи, аргументи ключового слова) залежно " +"від того, як він був створений. Коли ви створюєте їх самостійно, це не " +"особливо цікаво, але об’єкти ``call``, які знаходяться в :attr:`Mock." +"call_args`, :attr:`Mock.call_args_list` і :attr:`Mock.mock_calls` атрибути " +"можна перевірити, щоб отримати окремі аргументи, які вони містять." + +msgid "" +"The ``call`` objects in :attr:`Mock.call_args` and :attr:`Mock." +"call_args_list` are two-tuples of (positional args, keyword args) whereas " +"the ``call`` objects in :attr:`Mock.mock_calls`, along with ones you " +"construct yourself, are three-tuples of (name, positional args, keyword " +"args)." +msgstr "" +"Об’єкти ``call`` у :attr:`Mock.call_args` і :attr:`Mock.call_args_list` є " +"двома кортежами (позиційні аргументи, аргументи ключового слова), тоді як " +"об’єкти ``call`` у :attr:`Mock.mock_calls` разом із тими, які ви створюєте " +"самостійно, складаються з трьох кортежів (ім’я, позиційні аргументи, " +"аргументи ключового слова)." + +msgid "" +"You can use their \"tupleness\" to pull out the individual arguments for " +"more complex introspection and assertions. The positional arguments are a " +"tuple (an empty tuple if there are no positional arguments) and the keyword " +"arguments are a dictionary:" +msgstr "" +"Ви можете використовувати їх \"кортеж\", щоб отримати окремі аргументи для " +"більш складного самоаналізу та тверджень. Позиційні аргументи — це кортеж " +"(порожній кортеж, якщо позиційних аргументів немає), а ключові аргументи — " +"це словник:" + +msgid "create_autospec" +msgstr "create_autospec" + +msgid "" +"Create a mock object using another object as a spec. Attributes on the mock " +"will use the corresponding attribute on the *spec* object as their spec." +msgstr "" +"Створіть макет об’єкта, використовуючи інший об’єкт як специфікацію. " +"Атрибути на макеті використовуватимуть відповідний атрибут об’єкта *spec* як " +"свою специфікацію." + +msgid "" +"Functions or methods being mocked will have their arguments checked to " +"ensure that they are called with the correct signature." +msgstr "" +"Аргументи функцій або методів, які висміюються, перевірятимуть, щоб " +"переконатися, що вони викликаються з правильною сигнатурою." + +msgid "" +"If *spec_set* is ``True`` then attempting to set attributes that don't exist " +"on the spec object will raise an :exc:`AttributeError`." +msgstr "" +"Якщо *spec_set* має значення ``True``, тоді спроба встановити атрибути, яких " +"не існує в об’єкті специфікації, призведе до появи :exc:`AttributeError`." + +msgid "" +"If a class is used as a spec then the return value of the mock (the instance " +"of the class) will have the same spec. You can use a class as the spec for " +"an instance object by passing ``instance=True``. The returned mock will only " +"be callable if instances of the mock are callable." +msgstr "" +"Якщо клас використовується як специфікація, тоді значення, що повертається " +"mock (екземпляр класу), матиме ту саму специфікацію. Ви можете " +"використовувати клас як специфікацію для об’єкта екземпляра, передавши " +"``instance=True``. Повернений макет можна буде викликати, лише якщо його " +"екземпляри можна викликати." + +msgid "" +":func:`create_autospec` also takes arbitrary keyword arguments that are " +"passed to the constructor of the created mock." +msgstr "" +":func:`create_autospec` також приймає довільні ключові аргументи, які " +"передаються конструктору створеного макету." + +msgid "" +"See :ref:`auto-speccing` for examples of how to use auto-speccing with :func:" +"`create_autospec` and the *autospec* argument to :func:`patch`." +msgstr "" +"Перегляньте :ref:`auto-speccing` для прикладів використання автоматичної " +"специфікації з :func:`create_autospec` і аргументом *autospec* для :func:" +"`patch`." + +msgid "" +":func:`create_autospec` now returns an :class:`AsyncMock` if the target is " +"an async function." +msgstr "" +":func:`create_autospec` тепер повертає :class:`AsyncMock`, якщо метою є " +"асинхронна функція." + +msgid "ANY" +msgstr "БУДЬ-ЯКИЙ" + +msgid "" +"Sometimes you may need to make assertions about *some* of the arguments in a " +"call to mock, but either not care about some of the arguments or want to " +"pull them individually out of :attr:`~Mock.call_args` and make more complex " +"assertions on them." +msgstr "" +"Іноді вам може знадобитися зробити твердження щодо *деяких* аргументів у " +"виклику mock, але ви або не дбаєте про деякі з аргументів, або хочете " +"вилучити їх окремо з :attr:`~Mock.call_args` і зробити складнішими " +"твердження на них." + +msgid "" +"To ignore certain arguments you can pass in objects that compare equal to " +"*everything*. Calls to :meth:`~Mock.assert_called_with` and :meth:`~Mock." +"assert_called_once_with` will then succeed no matter what was passed in." +msgstr "" +"Щоб ігнорувати певні аргументи, ви можете передати об’єкти, порівняння яких " +"дорівнює *всему*. Виклики :meth:`~Mock.assert_ called_with` і :meth:`~Mock." +"assert_ called_once_with` будуть успішними незалежно від того, що було " +"передано." + +msgid "" +":data:`ANY` can also be used in comparisons with call lists like :attr:" +"`~Mock.mock_calls`:" +msgstr "" +":data:`ANY` також можна використовувати для порівняння зі списками викликів, " +"наприклад :attr:`~Mock.mock_calls`:" + +msgid "FILTER_DIR" +msgstr "FILTER_DIR" + +msgid "" +":data:`FILTER_DIR` is a module level variable that controls the way mock " +"objects respond to :func:`dir`. The default is ``True``, which uses the " +"filtering described below, to only show useful members. If you dislike this " +"filtering, or need to switch it off for diagnostic purposes, then set ``mock." +"FILTER_DIR = False``." +msgstr "" + +msgid "" +"With filtering on, ``dir(some_mock)`` shows only useful attributes and will " +"include any dynamically created attributes that wouldn't normally be shown. " +"If the mock was created with a *spec* (or *autospec* of course) then all the " +"attributes from the original are shown, even if they haven't been accessed " +"yet:" +msgstr "" +"Якщо фільтрацію ввімкнено, ``dir(some_mock)`` показує лише корисні атрибути " +"та включатиме будь-які динамічно створені атрибути, які зазвичай не " +"відображаються. Якщо макет було створено за допомогою *spec* (або " +"*autospec*, звичайно), тоді відображаються всі атрибути з оригіналу, навіть " +"якщо до них ще не було доступу:" + +msgid "" +"Many of the not-very-useful (private to :class:`Mock` rather than the thing " +"being mocked) underscore and double underscore prefixed attributes have been " +"filtered from the result of calling :func:`dir` on a :class:`Mock`. If you " +"dislike this behaviour you can switch it off by setting the module level " +"switch :data:`FILTER_DIR`:" +msgstr "" +"Багато з не дуже корисних (приватних для :class:`Mock`, а не для того, що " +"висміюється) атрибутів підкреслення та подвійного підкреслення з префіксом " +"було відфільтровано з результату виклику :func:`dir` на :class:`Mock`. Якщо " +"вам не подобається така поведінка, ви можете вимкнути її, встановивши " +"перемикач рівня модуля :data:`FILTER_DIR`:" + +msgid "" +"Alternatively you can just use ``vars(my_mock)`` (instance members) and " +"``dir(type(my_mock))`` (type members) to bypass the filtering irrespective " +"of :data:`mock.FILTER_DIR`." +msgstr "" +"Крім того, ви можете просто використати ``vars(my_mock)`` (члени екземпляра) " +"і ``dir(type(my_mock))`` (члени типу), щоб обійти фільтрацію незалежно від :" +"data:`mock.FILTER_DIR`." + +msgid "mock_open" +msgstr "mock_open" + +msgid "" +"A helper function to create a mock to replace the use of :func:`open`. It " +"works for :func:`open` called directly or used as a context manager." +msgstr "" +"Допоміжна функція для створення макету замість використання :func:`open`. Це " +"працює для :func:`open`, що викликається безпосередньо або використовується " +"як контекстний менеджер." + +msgid "" +"The *mock* argument is the mock object to configure. If ``None`` (the " +"default) then a :class:`MagicMock` will be created for you, with the API " +"limited to methods or attributes available on standard file handles." +msgstr "" +"Аргумент *mock* є макетним об’єктом для налаштування. Якщо ``None`` (за " +"замовчуванням), тоді для вас буде створено :class:`MagicMock` з API, " +"обмеженим методами чи атрибутами, доступними для стандартних дескрипторів " +"файлів." + +msgid "" +"*read_data* is a string for the :meth:`~io.IOBase.read`, :meth:`~io.IOBase." +"readline`, and :meth:`~io.IOBase.readlines` methods of the file handle to " +"return. Calls to those methods will take data from *read_data* until it is " +"depleted. The mock of these methods is pretty simplistic: every time the " +"*mock* is called, the *read_data* is rewound to the start. If you need more " +"control over the data that you are feeding to the tested code you will need " +"to customize this mock for yourself. When that is insufficient, one of the " +"in-memory filesystem packages on `PyPI `_ can offer a " +"realistic filesystem for testing." +msgstr "" +"*read_data* — це рядок для методів :meth:`~io.IOBase.read`, :meth:`~io." +"IOBase.readline` і :meth:`~io.IOBase.readlines` дескриптора файлу " +"повернення. Виклики цих методів братимуть дані з *read_data*, доки вони не " +"будуть вичерпані. Макет цих методів досить простий: щоразу, коли " +"викликається *mock*, *read_data* перемотується на початок. Якщо вам потрібен " +"більший контроль над даними, які ви подаєте до перевіреного коду, вам " +"потрібно буде налаштувати цей макет під себе. Якщо цього недостатньо, один " +"із пакетів файлової системи в пам’яті на `PyPI `_ може " +"запропонувати реалістичну файлову систему для тестування." + +msgid "" +"Added :meth:`~io.IOBase.readline` and :meth:`~io.IOBase.readlines` support. " +"The mock of :meth:`~io.IOBase.read` changed to consume *read_data* rather " +"than returning it on each call." +msgstr "" +"Додано підтримку :meth:`~io.IOBase.readline` і :meth:`~io.IOBase.readlines`. " +"Макет :meth:`~io.IOBase.read` змінено, щоб споживати *read_data*, а не " +"повертати їх під час кожного виклику." + +msgid "*read_data* is now reset on each call to the *mock*." +msgstr "*read_data* тепер скидається під час кожного виклику *mock*." + +msgid "" +"Added :meth:`__iter__` to implementation so that iteration (such as in for " +"loops) correctly consumes *read_data*." +msgstr "" +"До реалізації додано :meth:`__iter__`, щоб ітерація (наприклад, у циклах " +"for) правильно споживала *read_data*." + +msgid "" +"Using :func:`open` as a context manager is a great way to ensure your file " +"handles are closed properly and is becoming common::" +msgstr "" +"Використання :func:`open` як контекстного менеджера є чудовим способом " +"переконатися, що ваші дескриптори файлів закриті належним чином, і стає " +"поширеним::" + +msgid "" +"The issue is that even if you mock out the call to :func:`open` it is the " +"*returned object* that is used as a context manager (and has :meth:" +"`__enter__` and :meth:`__exit__` called)." +msgstr "" +"Проблема полягає в тому, що навіть якщо ви імітуєте виклик :func:`open`, це " +"*повернений об’єкт*, який використовується як менеджер контексту (і " +"викликає :meth:`__enter__` і :meth:`__exit__`) ." + +msgid "" +"Mocking context managers with a :class:`MagicMock` is common enough and " +"fiddly enough that a helper function is useful. ::" +msgstr "" +"Знущання над контекстними менеджерами за допомогою :class:`MagicMock` є " +"досить поширеним і досить складним, щоб допоміжна функція була корисною. ::" + +msgid "And for reading files::" +msgstr "І для читання файлів::" + +msgid "Autospeccing" +msgstr "Автоматична специфікація" + +msgid "" +"Autospeccing is based on the existing :attr:`spec` feature of mock. It " +"limits the api of mocks to the api of an original object (the spec), but it " +"is recursive (implemented lazily) so that attributes of mocks only have the " +"same api as the attributes of the spec. In addition mocked functions / " +"methods have the same call signature as the original so they raise a :exc:" +"`TypeError` if they are called incorrectly." +msgstr "" +"Автоматична специфікація базується на існуючій функції :attr:`spec` mock. " +"Він обмежує API mocks до API оригінального об’єкта (специфікації), але він є " +"рекурсивним (реалізується ліниво), тому атрибути mocks мають лише той самий " +"API, що й атрибути специфікації. Крім того, імітовані функції/методи мають " +"таку саму сигнатуру виклику, як і оригінальні, тому вони викликають :exc:" +"`TypeError`, якщо їх викликають неправильно." + +msgid "Before I explain how auto-speccing works, here's why it is needed." +msgstr "" +"Перш ніж пояснювати, як працює автоматична специфікація, ось чому вона " +"потрібна." + +msgid "" +":class:`Mock` is a very powerful and flexible object, but it suffers from " +"two flaws when used to mock out objects from a system under test. One of " +"these flaws is specific to the :class:`Mock` api and the other is a more " +"general problem with using mock objects." +msgstr "" +":class:`Mock` є дуже потужним і гнучким об'єктом, але він страждає від двох " +"недоліків, коли використовується для імітації об'єктів із системи, що " +"тестується. Одна з цих недоліків є специфічною для API :class:`Mock`, а інша " +"є більш загальною проблемою використання фіктивних об’єктів." + +msgid "" +"First the problem specific to :class:`Mock`. :class:`Mock` has two assert " +"methods that are extremely handy: :meth:`~Mock.assert_called_with` and :meth:" +"`~Mock.assert_called_once_with`." +msgstr "" +"Спочатку проблема, специфічна для :class:`Mock`. :class:`Mock` має два " +"надзвичайно зручні методи підтвердження: :meth:`~Mock.assert_ called_with` " +"і :meth:`~Mock.assert_ called_once_with`." + +msgid "" +"Because mocks auto-create attributes on demand, and allow you to call them " +"with arbitrary arguments, if you misspell one of these assert methods then " +"your assertion is gone:" +msgstr "" +"Оскільки висміює автоматичне створення атрибутів на вимогу та дозволяє " +"викликати їх із довільними аргументами, якщо ви неправильно напишете один із " +"цих методів assert, ваше твердження зникне:" + +msgid "Your tests can pass silently and incorrectly because of the typo." +msgstr "Ваші тести можуть проходити мовчки та неправильно через помилку." + +msgid "" +"The second issue is more general to mocking. If you refactor some of your " +"code, rename members and so on, any tests for code that is still using the " +"*old api* but uses mocks instead of the real objects will still pass. This " +"means your tests can all pass even though your code is broken." +msgstr "" +"Друге питання стосується насмішок. Якщо ви переробите частину свого коду, " +"перейменуєте члени тощо, будь-які тести для коду, який все ще використовує " +"*старий api*, але використовує імітації замість реальних об’єктів, усе одно " +"пройдуть. Це означає, що всі ваші тести можуть пройти, навіть якщо ваш код " +"зламано." + +msgid "" +"Note that this is another reason why you need integration tests as well as " +"unit tests. Testing everything in isolation is all fine and dandy, but if " +"you don't test how your units are \"wired together\" there is still lots of " +"room for bugs that tests might have caught." +msgstr "" +"Зауважте, що це ще одна причина, чому вам потрібні інтеграційні тести, а " +"також модульні тести. Тестувати все ізольовано — це чудово, але якщо ви не " +"перевірятимете, як ваші пристрої \"з’єднані між собою\", все ще є багато " +"місця для помилок, які могли виявити тести." + +msgid "" +":mod:`mock` already provides a feature to help with this, called speccing. " +"If you use a class or instance as the :attr:`spec` for a mock then you can " +"only access attributes on the mock that exist on the real class:" +msgstr "" +":mod:`mock` вже надає функцію, яка допоможе з цим, яка називається " +"специфікація. Якщо ви використовуєте клас або екземпляр як :attr:`spec` для " +"макету, ви зможете отримати доступ лише до тих атрибутів макета, які існують " +"у реальному класі:" + +msgid "" +"The spec only applies to the mock itself, so we still have the same issue " +"with any methods on the mock:" +msgstr "" +"Специфікація стосується лише самого макету, тому ми все ще маємо ту саму " +"проблему з будь-якими методами на макеті:" + +msgid "" +"Auto-speccing solves this problem. You can either pass ``autospec=True`` to :" +"func:`patch` / :func:`patch.object` or use the :func:`create_autospec` " +"function to create a mock with a spec. If you use the ``autospec=True`` " +"argument to :func:`patch` then the object that is being replaced will be " +"used as the spec object. Because the speccing is done \"lazily\" (the spec " +"is created as attributes on the mock are accessed) you can use it with very " +"complex or deeply nested objects (like modules that import modules that " +"import modules) without a big performance hit." +msgstr "" +"Автоматична специфікація вирішує цю проблему. Ви можете передати " +"``autospec=True`` в :func:`patch` / :func:`patch.object` або використати " +"функцію :func:`create_autospec`, щоб створити макет зі специфікацією. Якщо " +"ви використовуєте аргумент ``autospec=True`` для :func:`patch`, тоді об’єкт, " +"який замінюється, використовуватиметься як об’єкт специфікації. Оскільки " +"специфікація виконується \"ліниво\" (специфікація створюється під час " +"доступу до атрибутів макету), ви можете використовувати її з дуже складними " +"або глибоко вкладеними об’єктами (як-от модулі, які імпортують модулі, які " +"імпортують модулі) без значного зниження продуктивності." + +msgid "Here's an example of it in use::" +msgstr "Ось приклад його використання::" + +msgid "" +"You can see that :class:`request.Request` has a spec. :class:`request." +"Request` takes two arguments in the constructor (one of which is *self*). " +"Here's what happens if we try to call it incorrectly::" +msgstr "" +"Ви бачите, що :class:`request.Request` має специфікацію. :class:`request." +"Request` приймає два аргументи в конструкторі (один з яких *self*). Ось що " +"станеться, якщо ми спробуємо викликати його неправильно:" + +msgid "" +"The spec also applies to instantiated classes (i.e. the return value of " +"specced mocks)::" +msgstr "" +"Специфікація також стосується екземплярів класів (тобто значення, що " +"повертається specced mocks):" + +msgid "" +":class:`Request` objects are not callable, so the return value of " +"instantiating our mocked out :class:`request.Request` is a non-callable " +"mock. With the spec in place any typos in our asserts will raise the correct " +"error::" +msgstr "" +"Об’єкти :class:`Request` не можна викликати, тому значення, що повертається " +"при створенні екземпляра нашого :class:`request.Request` є макетом, який не " +"можна викликати. Якщо специфікація на місці, будь-які друкарські помилки в " +"наших твердженнях викличуть правильну помилку::" + +msgid "" +"In many cases you will just be able to add ``autospec=True`` to your " +"existing :func:`patch` calls and then be protected against bugs due to typos " +"and api changes." +msgstr "" +"У багатьох випадках ви просто зможете додати ``autospec=True`` до наявних " +"викликів :func:`patch` і тоді захистити себе від помилок через помилки друку " +"та зміни API." + +msgid "" +"As well as using *autospec* through :func:`patch` there is a :func:" +"`create_autospec` for creating autospecced mocks directly:" +msgstr "" +"Окрім використання *autospec* через :func:`patch`, існує :func:" +"`create_autospec` для безпосереднього створення автоспецованих макетів:" + +msgid "" +"This isn't without caveats and limitations however, which is why it is not " +"the default behaviour. In order to know what attributes are available on the " +"spec object, autospec has to introspect (access attributes) the spec. As you " +"traverse attributes on the mock a corresponding traversal of the original " +"object is happening under the hood. If any of your specced objects have " +"properties or descriptors that can trigger code execution then you may not " +"be able to use autospec. On the other hand it is much better to design your " +"objects so that introspection is safe [#]_." +msgstr "" +"Однак це не без застережень і обмежень, тому це не типова поведінка. Щоб " +"дізнатися, які атрибути доступні для об’єкта специфікації, autospec має " +"перевірити специфікацію (отримати доступ до атрибутів). Коли ви обходите " +"атрибути на макеті, відповідний обхід оригінального об’єкта відбувається під " +"капотом. Якщо будь-який з ваших специфікованих об’єктів має властивості або " +"дескриптори, які можуть ініціювати виконання коду, можливо, ви не зможете " +"використовувати автоспец. З іншого боку, набагато краще проектувати ваші " +"об’єкти так, щоб самоаналіз був безпечним [#]_." + +msgid "" +"A more serious problem is that it is common for instance attributes to be " +"created in the :meth:`__init__` method and not to exist on the class at all. " +"*autospec* can't know about any dynamically created attributes and restricts " +"the api to visible attributes. ::" +msgstr "" +"Серйознішою проблемою є те, що атрибути екземпляра зазвичай створюються в " +"методі :meth:`__init__` і взагалі не існують у класі. *autospec* не може " +"знати про жодні динамічно створені атрибути та обмежує API лише видимими " +"атрибутами. ::" + +msgid "" +"There are a few different ways of resolving this problem. The easiest, but " +"not necessarily the least annoying, way is to simply set the required " +"attributes on the mock after creation. Just because *autospec* doesn't allow " +"you to fetch attributes that don't exist on the spec it doesn't prevent you " +"setting them::" +msgstr "" +"Існує кілька способів вирішення цієї проблеми. Найпростіший, але не " +"обов’язково найменш дратуючий спосіб – це просто встановити необхідні " +"атрибути на макет після створення. Просто тому, що *autospec* не дозволяє " +"отримати атрибути, яких немає в специфікації, це не заважає вам налаштувати " +"їх::" + +msgid "" +"There is a more aggressive version of both *spec* and *autospec* that *does* " +"prevent you setting non-existent attributes. This is useful if you want to " +"ensure your code only *sets* valid attributes too, but obviously it prevents " +"this particular scenario:" +msgstr "" +"Існує більш агресивна версія як *spec*, так і *autospec*, яка *не* запобігає " +"встановленню неіснуючих атрибутів. Це корисно, якщо ви хочете, щоб ваш код " +"також *встановлював* дійсні атрибути, але, очевидно, це запобігає цьому " +"конкретному сценарію:" + +msgid "" +"Probably the best way of solving the problem is to add class attributes as " +"default values for instance members initialised in :meth:`__init__`. Note " +"that if you are only setting default attributes in :meth:`__init__` then " +"providing them via class attributes (shared between instances of course) is " +"faster too. e.g." +msgstr "" +"Ймовірно, найкращим способом вирішення проблеми є додавання атрибутів класу " +"як значень за замовчуванням для членів екземпляра, ініціалізованих у :meth:" +"`__init__`. Зауважте, що якщо ви лише встановлюєте атрибути за замовчуванням " +"у :meth:`__init__`, тоді надання їх через атрибути класу (звичайно, спільні " +"для екземплярів) теж швидше. напр." + +msgid "" +"This brings up another issue. It is relatively common to provide a default " +"value of ``None`` for members that will later be an object of a different " +"type. ``None`` would be useless as a spec because it wouldn't let you access " +"*any* attributes or methods on it. As ``None`` is *never* going to be useful " +"as a spec, and probably indicates a member that will normally of some other " +"type, autospec doesn't use a spec for members that are set to ``None``. " +"These will just be ordinary mocks (well - MagicMocks):" +msgstr "" +"Це породжує іншу проблему. Відносно поширеним є надання значення за " +"замовчуванням ``None`` для членів, які пізніше будуть об’єктом іншого типу. " +"``None`` буде марним як специфікація, тому що це не дозволить вам отримати " +"доступ до *будь-яких* атрибутів або методів на ньому. Оскільки ``None`` " +"*ніколи* не буде корисним як специфікація, і, ймовірно, вказує на член, який " +"зазвичай буде іншого типу, autospec не використовує специфікацію для членів, " +"для яких встановлено ``None``. Це будуть просто звичайні макети (добре - " +"MagicMocks):" + +msgid "" +"If modifying your production classes to add defaults isn't to your liking " +"then there are more options. One of these is simply to use an instance as " +"the spec rather than the class. The other is to create a subclass of the " +"production class and add the defaults to the subclass without affecting the " +"production class. Both of these require you to use an alternative object as " +"the spec. Thankfully :func:`patch` supports this - you can simply pass the " +"alternative object as the *autospec* argument::" +msgstr "" +"Якщо вам не до вподоби модифікація виробничих класів для додавання значень " +"за замовчуванням, тоді є більше варіантів. Одним із них є просто " +"використання екземпляра як специфікації, а не класу. Інший полягає у " +"створенні підкласу виробничого класу та додаванні стандартних значень до " +"підкласу, не впливаючи на виробничий клас. Обидва вони вимагають " +"використання альтернативного об’єкта як специфікації. На щастя, :func:" +"`patch` підтримує це — ви можете просто передати альтернативний об’єкт як " +"аргумент *autospec*::" + +msgid "" +"This only applies to classes or already instantiated objects. Calling a " +"mocked class to create a mock instance *does not* create a real instance. It " +"is only attribute lookups - along with calls to :func:`dir` - that are done." +msgstr "" +"Це стосується лише класів або вже створених об’єктів. Виклик фіктивного " +"класу для створення фальшивого екземпляра *не* створює справжній екземпляр. " +"Виконуються лише пошуки атрибутів разом із викликами :func:`dir`." + +msgid "Sealing mocks" +msgstr "Герметизація макетів" + +msgid "" +"Seal will disable the automatic creation of mocks when accessing an " +"attribute of the mock being sealed or any of its attributes that are already " +"mocks recursively." +msgstr "" +"Seal вимкне автоматичне створення макетів під час доступу до атрибута " +"макету, який запечатується, або будь-якого з його атрибутів, які вже є " +"макетами рекурсивно." + +msgid "" +"If a mock instance with a name or a spec is assigned to an attribute it " +"won't be considered in the sealing chain. This allows one to prevent seal " +"from fixing part of the mock object. ::" +msgstr "" +"Якщо атрибуту присвоєно макет екземпляра з іменем або специфікацією, він не " +"враховуватиметься в ланцюжку запечатування. Це дозволяє запобігти фіксації " +"пломбою частини фіктивного об'єкта. ::" diff --git a/library/unix.po b/library/unix.po new file mode 100644 index 000000000..5da9ee432 --- /dev/null +++ b/library/unix.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Unix Specific Services" +msgstr "Спеціальні служби Unix" + +msgid "" +"The modules described in this chapter provide interfaces to features that " +"are unique to the Unix operating system, or in some cases to some or many " +"variants of it. Here's an overview:" +msgstr "" +"Модулі, описані в цій главі, забезпечують інтерфейси для функцій, які є " +"унікальними для операційної системи Unix, або в деяких випадках для деяких " +"чи багатьох її варіантів. Ось огляд:" diff --git a/library/urllib.po b/library/urllib.po new file mode 100644 index 000000000..84c54b116 --- /dev/null +++ b/library/urllib.po @@ -0,0 +1,50 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`urllib` --- URL handling modules" +msgstr ":mod:`urllib` --- модулі обробки URL" + +msgid "**Source code:** :source:`Lib/urllib/`" +msgstr "**Вихідний код:** :source:`Lib/urllib/`" + +msgid "" +"``urllib`` is a package that collects several modules for working with URLs:" +msgstr "``urllib`` - це пакет, який збирає кілька модулів для роботи з URL:" + +msgid ":mod:`urllib.request` for opening and reading URLs" +msgstr ":mod:`urllib.request` для відкриття та читання URL-адрес" + +msgid "" +":mod:`urllib.error` containing the exceptions raised by :mod:`urllib.request`" +msgstr "" +":mod:`urllib.error`, що містить винятки, викликані :mod:`urllib.request`" + +msgid ":mod:`urllib.parse` for parsing URLs" +msgstr ":mod:`urllib.parse` для аналізу URL-адрес" + +msgid ":mod:`urllib.robotparser` for parsing ``robots.txt`` files" +msgstr ":mod:`urllib.robotparser` для аналізу файлів ``robots.txt``" diff --git a/library/urllib_error.po b/library/urllib_error.po new file mode 100644 index 000000000..202e360f0 --- /dev/null +++ b/library/urllib_error.po @@ -0,0 +1,104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:16+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`urllib.error` --- Exception classes raised by urllib.request" +msgstr ":mod:`urllib.error` --- Класи винятків, створені urllib.request" + +msgid "**Source code:** :source:`Lib/urllib/error.py`" +msgstr "**Вихідний код:** :source:`Lib/urllib/error.py`" + +msgid "" +"The :mod:`urllib.error` module defines the exception classes for exceptions " +"raised by :mod:`urllib.request`. The base exception class is :exc:" +"`URLError`." +msgstr "" +"Модуль :mod:`urllib.error` визначає класи винятків для винятків, викликаних :" +"mod:`urllib.request`. Базовим класом винятків є :exc:`URLError`." + +msgid "" +"The following exceptions are raised by :mod:`urllib.error` as appropriate:" +msgstr "Наступні винятки викликаються :mod:`urllib.error` відповідно:" + +msgid "" +"The handlers raise this exception (or derived exceptions) when they run into " +"a problem. It is a subclass of :exc:`OSError`." +msgstr "" +"Обробники викликають цей виняток (або похідні виключення), коли стикаються з " +"проблемою. Це підклас :exc:`OSError`." + +msgid "" +"The reason for this error. It can be a message string or another exception " +"instance." +msgstr "" +"Причина цієї помилки. Це може бути рядок повідомлення або інший виняток." + +msgid "" +":exc:`URLError` has been made a subclass of :exc:`OSError` instead of :exc:" +"`IOError`." +msgstr "" +":exc:`URLError` було зроблено підкласом :exc:`OSError` замість :exc:" +"`IOError`." + +msgid "" +"Though being an exception (a subclass of :exc:`URLError`), an :exc:" +"`HTTPError` can also function as a non-exceptional file-like return value " +"(the same thing that :func:`~urllib.request.urlopen` returns). This is " +"useful when handling exotic HTTP errors, such as requests for authentication." +msgstr "" +"Хоча :exc:`HTTPError` і є винятком (підкласом :exc:`URLError`),він також " +"може функціонувати як невиключне значення, схоже на файл (те саме, що :func:" +"`~urllib.request. urlopen` повертає). Це корисно під час обробки екзотичних " +"помилок HTTP, таких як запити на автентифікацію." + +msgid "" +"An HTTP status code as defined in :rfc:`2616`. This numeric value " +"corresponds to a value found in the dictionary of codes as found in :attr:" +"`http.server.BaseHTTPRequestHandler.responses`." +msgstr "" +"Код статусу HTTP, як визначено в :rfc:`2616`. Це числове значення відповідає " +"значенню, знайденому в словнику кодів у :attr:`http.server." +"BaseHTTPRequestHandler.responses`." + +msgid "This is usually a string explaining the reason for this error." +msgstr "Зазвичай це рядок, що пояснює причину цієї помилки." + +msgid "" +"The HTTP response headers for the HTTP request that caused the :exc:" +"`HTTPError`." +msgstr "" +"Заголовки відповіді HTTP для запиту HTTP, який спричинив :exc:`HTTPError`." + +msgid "" +"This exception is raised when the :func:`~urllib.request.urlretrieve` " +"function detects that the amount of the downloaded data is less than the " +"expected amount (given by the *Content-Length* header). The :attr:`content` " +"attribute stores the downloaded (and supposedly truncated) data." +msgstr "" +"Цей виняток виникає, коли функція :func:`~urllib.request.urlretrieve` " +"виявляє, що обсяг завантажених даних менший за очікуваний обсяг (вказаний у " +"заголовку *Content-Length*). Атрибут :attr:`content` зберігає завантажені (і " +"ймовірно скорочені) дані." diff --git a/library/urllib_parse.po b/library/urllib_parse.po new file mode 100644 index 000000000..b754ab975 --- /dev/null +++ b/library/urllib_parse.po @@ -0,0 +1,1008 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`urllib.parse` --- Parse URLs into components" +msgstr ":mod:`urllib.parse` --- Розберіть URL-адреси на компоненти" + +msgid "**Source code:** :source:`Lib/urllib/parse.py`" +msgstr "**Вихідний код:** :source:`Lib/urllib/parse.py`" + +msgid "" +"This module defines a standard interface to break Uniform Resource Locator " +"(URL) strings up in components (addressing scheme, network location, path " +"etc.), to combine the components back into a URL string, and to convert a " +"\"relative URL\" to an absolute URL given a \"base URL.\"" +msgstr "" +"Цей модуль визначає стандартний інтерфейс для розбиття рядків Uniform " +"Resource Locator (URL) на компоненти (схема адресації, мережеве " +"розташування, шлях тощо), щоб об’єднати компоненти назад у рядок URL-адреси " +"та перетворити \"відносну URL-адресу\" на абсолютна URL-адреса з \"базовою " +"URL-адресою\"." + +msgid "" +"The module has been designed to match the internet RFC on Relative Uniform " +"Resource Locators. It supports the following URL schemes: ``file``, ``ftp``, " +"``gopher``, ``hdl``, ``http``, ``https``, ``imap``, ``mailto``, ``mms``, " +"``news``, ``nntp``, ``prospero``, ``rsync``, ``rtsp``, ``rtspu``, ``sftp``, " +"``shttp``, ``sip``, ``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``, " +"``wais``, ``ws``, ``wss``." +msgstr "" +"Модуль було розроблено відповідно до Інтернет-запиту RFC щодо відносних " +"уніфікованих локаторів ресурсів. Він підтримує такі схеми URL-адрес: " +"``file``, ``ftp``, ``gopher``, ``hdl``, ``http``, ``https``, ``imap``," +"``mailto``, ``mms``, ``news``, ``nntp``, ``prospero``, ``rsync``, ``rtsp``, " +"``rtspu``, ``sftp``, ``shttp``, ``sip``, ``sips``, ``news``, ``svn``, ``svn" +"+ssh``, ``telnet``, ``wais``, ``ws``, ``wss``." + +msgid "" +"The :mod:`urllib.parse` module defines functions that fall into two broad " +"categories: URL parsing and URL quoting. These are covered in detail in the " +"following sections." +msgstr "" +"Модуль :mod:`urllib.parse` визначає функції, які поділяються на дві широкі " +"категорії: аналіз URL-адреси та цитування URL-адреси. Вони детально описані " +"в наступних розділах." + +msgid "URL Parsing" +msgstr "Розбір URL-адрес" + +msgid "" +"The URL parsing functions focus on splitting a URL string into its " +"components, or on combining URL components into a URL string." +msgstr "" +"Функції аналізу URL-адреси зосереджені на розділенні рядка URL-адреси на " +"його компоненти або на об’єднанні компонентів URL-адреси в рядок URL-адреси." + +msgid "" +"Parse a URL into six components, returning a 6-item :term:`named tuple`. " +"This corresponds to the general structure of a URL: ``scheme://netloc/path;" +"parameters?query#fragment``. Each tuple item is a string, possibly empty. " +"The components are not broken up into smaller parts (for example, the " +"network location is a single string), and % escapes are not expanded. The " +"delimiters as shown above are not part of the result, except for a leading " +"slash in the *path* component, which is retained if present. For example:" +msgstr "" +"Розберіть URL-адресу на шість компонентів, повертаючи 6-елементний :term:" +"`named tuple`. Це відповідає загальній структурі URL: ``scheme://netloc/path;" +"parameters?query#fragment``. Кожен елемент кортежу є рядком, можливо " +"порожнім. Компоненти не розбиваються на більш дрібні частини (наприклад, " +"мережеве розташування є одним рядком), а % екранування не розгортається. " +"Роздільники, як показано вище, не є частиною результату, за винятком " +"початкової скісної риски в компоненті *path*, яка зберігається, якщо є. " +"Наприклад:" + +msgid "" +"Following the syntax specifications in :rfc:`1808`, urlparse recognizes a " +"netloc only if it is properly introduced by '//'. Otherwise the input is " +"presumed to be a relative URL and thus to start with a path component." +msgstr "" +"Дотримуючись специфікації синтаксису в :rfc:`1808`, urlparse розпізнає " +"netloc, лише якщо його правильно введено '//'. Інакше введення вважається " +"відносною URL-адресою і, таким чином, починається з компонента шляху." + +msgid "" +"The *scheme* argument gives the default addressing scheme, to be used only " +"if the URL does not specify one. It should be the same type (text or bytes) " +"as *urlstring*, except that the default value ``''`` is always allowed, and " +"is automatically converted to ``b''`` if appropriate." +msgstr "" +"Аргумент *схема* дає схему адресації за замовчуванням, яка використовується, " +"лише якщо її не вказано в URL-адресі. Він має бути того самого типу (текст " +"або байти), що й *urlstring*, за винятком того, що значення за замовчуванням " +"``''`` завжди допускається та автоматично перетворюється на ``b''``, якщо це " +"необхідно." + +msgid "" +"If the *allow_fragments* argument is false, fragment identifiers are not " +"recognized. Instead, they are parsed as part of the path, parameters or " +"query component, and :attr:`fragment` is set to the empty string in the " +"return value." +msgstr "" +"Якщо аргумент *allow_fragments* має значення false, ідентифікатори " +"фрагментів не розпізнаються. Натомість вони аналізуються як частина шляху, " +"параметрів або компонента запиту, а :attr:`fragment` встановлюється як " +"порожній рядок у поверненому значенні." + +msgid "" +"The return value is a :term:`named tuple`, which means that its items can be " +"accessed by index or as named attributes, which are:" +msgstr "" +"Поверненим значенням є :term:`named tuple`, що означає, що до його елементів " +"можна отримати доступ за індексом або як іменовані атрибути, які:" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Index" +msgstr "Індекс" + +msgid "Value" +msgstr "Значення" + +msgid "Value if not present" +msgstr "Значення, якщо його немає" + +msgid ":attr:`scheme`" +msgstr ":attr:`scheme`" + +msgid "0" +msgstr "0" + +msgid "URL scheme specifier" +msgstr "Специфікатор схеми URL" + +msgid "*scheme* parameter" +msgstr "Параметр *схема*" + +msgid ":attr:`netloc`" +msgstr ":attr:`netloc`" + +msgid "1" +msgstr "1" + +msgid "Network location part" +msgstr "Розташування мережі" + +msgid "empty string" +msgstr "порожній рядок" + +msgid ":attr:`path`" +msgstr ":attr:`path`" + +msgid "2" +msgstr "2" + +msgid "Hierarchical path" +msgstr "Ієрархічний шлях" + +msgid ":attr:`params`" +msgstr ":attr:`params`" + +msgid "3" +msgstr "3" + +msgid "Parameters for last path element" +msgstr "" + +msgid ":attr:`query`" +msgstr ":attr:`query`" + +msgid "4" +msgstr "4" + +msgid "Query component" +msgstr "Компонент запиту" + +msgid ":attr:`fragment`" +msgstr ":attr:`fragment`" + +msgid "5" +msgstr "5" + +msgid "Fragment identifier" +msgstr "Ідентифікатор фрагмента" + +msgid ":attr:`username`" +msgstr ":attr:`ім’я користувача`" + +msgid "User name" +msgstr "Ім'я користувача" + +msgid ":const:`None`" +msgstr ":const:`None`" + +msgid ":attr:`password`" +msgstr ":attr:`password`" + +msgid "Password" +msgstr "Пароль" + +msgid ":attr:`hostname`" +msgstr ":attr:`ім'я хоста`" + +msgid "Host name (lower case)" +msgstr "Ім'я хоста (нижній регістр)" + +msgid ":attr:`port`" +msgstr ":attr:`port`" + +msgid "Port number as integer, if present" +msgstr "Номер порту як ціле число, якщо є" + +msgid "" +"Reading the :attr:`port` attribute will raise a :exc:`ValueError` if an " +"invalid port is specified in the URL. See section :ref:`urlparse-result-" +"object` for more information on the result object." +msgstr "" +"Читання атрибута :attr:`port` викличе :exc:`ValueError`, якщо в URL-адресі " +"вказано недійсний порт. Перегляньте розділ :ref:`urlparse-result-object` для " +"отримання додаткової інформації про об’єкт результату." + +msgid "" +"Unmatched square brackets in the :attr:`netloc` attribute will raise a :exc:" +"`ValueError`." +msgstr "" +"Невідповідні квадратні дужки в атрибуті :attr:`netloc` викличуть :exc:" +"`ValueError`." + +msgid "" +"Characters in the :attr:`netloc` attribute that decompose under NFKC " +"normalization (as used by the IDNA encoding) into any of ``/``, ``?``, " +"``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is " +"decomposed before parsing, no error will be raised." +msgstr "" +"Символи в атрибуті :attr:`netloc`, які розкладаються за нормалізацією NFKC " +"(як використовується кодуванням IDNA) на будь-який із ``/``, ``?``, ``#``, " +"``@``, або ``:`` викличе :exc:`ValueError`. Якщо перед синтаксичним аналізом " +"URL-адресу розкладають, помилка не виникне." + +msgid "" +"As is the case with all named tuples, the subclass has a few additional " +"methods and attributes that are particularly useful. One such method is :" +"meth:`_replace`. The :meth:`_replace` method will return a new ParseResult " +"object replacing specified fields with new values." +msgstr "" +"Як і у випадку з усіма іменованими кортежами, підклас має кілька додаткових " +"методів і атрибутів, які є особливо корисними. Одним із таких методів є :" +"meth:`_replace`. Метод :meth:`_replace` поверне новий об’єкт ParseResult, " +"замінюючи вказані поля новими значеннями." + +msgid "Added IPv6 URL parsing capabilities." +msgstr "Додано можливості розбору URL-адрес IPv6." + +msgid "" +"The fragment is now parsed for all URL schemes (unless *allow_fragment* is " +"false), in accordance with :rfc:`3986`. Previously, an allowlist of schemes " +"that support fragments existed." +msgstr "" +"Тепер фрагмент аналізується для всіх схем URL-адрес (якщо *allow_fragment* " +"не має значення false), відповідно до :rfc:`3986`. Раніше існував дозволений " +"список схем, які підтримують фрагменти." + +msgid "" +"Out-of-range port numbers now raise :exc:`ValueError`, instead of returning :" +"const:`None`." +msgstr "" +"Номери портів поза діапазоном тепер викликають :exc:`ValueError` замість " +"повернення :const:`None`." + +msgid "" +"Characters that affect netloc parsing under NFKC normalization will now " +"raise :exc:`ValueError`." +msgstr "" +"Символи, які впливають на аналіз netloc під час нормалізації NFKC, тепер " +"викликатимуть :exc:`ValueError`." + +msgid "" +"Parse a query string given as a string argument (data of type :mimetype:" +"`application/x-www-form-urlencoded`). Data are returned as a dictionary. " +"The dictionary keys are the unique query variable names and the values are " +"lists of values for each name." +msgstr "" +"Проаналізуйте рядок запиту, заданий як аргумент рядка (дані типу :mimetype:" +"`application/x-www-form-urlencoded`). Дані повертаються як словник. Ключі " +"словника — це унікальні імена змінних запиту, а значення — це списки значень " +"для кожного імені." + +msgid "" +"The optional argument *keep_blank_values* is a flag indicating whether blank " +"values in percent-encoded queries should be treated as blank strings. A true " +"value indicates that blanks should be retained as blank strings. The " +"default false value indicates that blank values are to be ignored and " +"treated as if they were not included." +msgstr "" +"Необов’язковий аргумент *keep_blank_values* — це позначка, яка вказує, чи " +"слід порожні значення в запитах із відсотковим кодуванням розглядати як " +"порожні рядки. Справжнє значення вказує на те, що пробіли слід зберігати як " +"порожні рядки. Значення false за замовчуванням вказує на те, що порожні " +"значення слід ігнорувати та розглядати їх так, ніби їх не було включено." + +msgid "" +"The optional argument *strict_parsing* is a flag indicating what to do with " +"parsing errors. If false (the default), errors are silently ignored. If " +"true, errors raise a :exc:`ValueError` exception." +msgstr "" +"Необов’язковий аргумент *strict_parsing* — це позначка, яка вказує, що " +"робити з помилками аналізу. Якщо false (за замовчуванням), помилки мовчки " +"ігноруються. Якщо true, помилки викликають виняток :exc:`ValueError`." + +msgid "" +"The optional *encoding* and *errors* parameters specify how to decode " +"percent-encoded sequences into Unicode characters, as accepted by the :meth:" +"`bytes.decode` method." +msgstr "" +"Необов’язкові параметри *encoding* і *errors* визначають, як декодувати " +"послідовності, закодовані у відсотках, у символи Юнікоду, як це прийнято " +"методом :meth:`bytes.decode`." + +msgid "" +"The optional argument *max_num_fields* is the maximum number of fields to " +"read. If set, then throws a :exc:`ValueError` if there are more than " +"*max_num_fields* fields read." +msgstr "" +"Необов’язковий аргумент *max_num_fields* — це максимальна кількість полів " +"для читання. Якщо встановлено, викидає :exc:`ValueError`, якщо прочитано " +"більше ніж *max_num_fields* полів." + +msgid "" +"The optional argument *separator* is the symbol to use for separating the " +"query arguments. It defaults to ``&``." +msgstr "" +"Необов’язковий аргумент *роздільник* — це символ, який використовується для " +"розділення аргументів запиту. За замовчуванням ``&``." + +msgid "" +"Use the :func:`urllib.parse.urlencode` function (with the ``doseq`` " +"parameter set to ``True``) to convert such dictionaries into query strings." +msgstr "" +"Використовуйте функцію :func:`urllib.parse.urlencode` (з параметром " +"``doseq``, встановленим на ``True``), щоб конвертувати такі словники в рядки " +"запиту." + +msgid "Add *encoding* and *errors* parameters." +msgstr "Додайте параметри *encoding* і *errors*." + +msgid "Added *max_num_fields* parameter." +msgstr "Додано параметр *max_num_fields*." + +msgid "" +"Added *separator* parameter with the default value of ``&``. Python versions " +"earlier than Python 3.10 allowed using both ``;`` and ``&`` as query " +"parameter separator. This has been changed to allow only a single separator " +"key, with ``&`` as the default separator." +msgstr "" +"Додано параметр *роздільник* зі значенням за замовчуванням ``&``. Версії " +"Python, раніші за Python 3.10, дозволяли використовувати як ``;``, так і " +"``&`` як роздільник параметрів запиту. Це було змінено, щоб дозволити лише " +"один роздільний ключ із ``&`` як роздільником за умовчанням." + +msgid "" +"Parse a query string given as a string argument (data of type :mimetype:" +"`application/x-www-form-urlencoded`). Data are returned as a list of name, " +"value pairs." +msgstr "" +"Проаналізуйте рядок запиту, заданий як аргумент рядка (дані типу :mimetype:" +"`application/x-www-form-urlencoded`). Дані повертаються у вигляді списку пар " +"імені та значення." + +msgid "" +"Use the :func:`urllib.parse.urlencode` function to convert such lists of " +"pairs into query strings." +msgstr "" +"Використовуйте функцію :func:`urllib.parse.urlencode`, щоб перетворити такі " +"списки пар у рядки запиту." + +msgid "" +"Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " +"argument can be any six-item iterable. This may result in a slightly " +"different, but equivalent URL, if the URL that was parsed originally had " +"unnecessary delimiters (for example, a ``?`` with an empty query; the RFC " +"states that these are equivalent)." +msgstr "" +"Створіть URL-адресу з кортежу, який повертає ``urlparse()``. Аргумент " +"*parts* може бути будь-яким ітерованим із шести елементів. Це може призвести " +"до дещо іншої, але еквівалентної URL-адреси, якщо спочатку проаналізована " +"URL-адреса мала непотрібні розділювачі (наприклад, ``?`` із порожнім " +"запитом; у RFC зазначено, що вони еквівалентні)." + +msgid "" +"This is similar to :func:`urlparse`, but does not split the params from the " +"URL. This should generally be used instead of :func:`urlparse` if the more " +"recent URL syntax allowing parameters to be applied to each segment of the " +"*path* portion of the URL (see :rfc:`2396`) is wanted. A separate function " +"is needed to separate the path segments and parameters. This function " +"returns a 5-item :term:`named tuple`::" +msgstr "" +"Це схоже на :func:`urlparse`, але не відокремлює параметри від URL-адреси. " +"Загалом це слід використовувати замість :func:`urlparse`, якщо потрібний " +"новіший синтаксис URL-адреси, який дозволяє застосовувати параметри до " +"кожного сегменту частини *path* URL-адреси (див. :rfc:`2396`). Для " +"розділення сегментів шляху та параметрів потрібна окрема функція. Ця функція " +"повертає 5-елементний :term:`named tuple`::" + +msgid "" +"The return value is a :term:`named tuple`, its items can be accessed by " +"index or as named attributes:" +msgstr "" +"Поверненим значенням є :term:`named tuple`, до його елементів можна отримати " +"доступ за індексом або як іменовані атрибути:" + +msgid "" +"Following the `WHATWG spec`_ that updates RFC 3986, ASCII newline ``\\n``, ``" +"\\r`` and tab ``\\t`` characters are stripped from the URL." +msgstr "" +"Відповідно до `WHATWG специфікації`_, яка оновлює RFC 3986, символи нового " +"рядка ASCII ``\\n``, ``\\r`` і табуляції ``\\t`` видаляються з URL-адреси." + +msgid "ASCII newline and tab characters are stripped from the URL." +msgstr "Символи нового рядка та табуляції ASCII видаляються з URL-адреси." + +msgid "" +"Combine the elements of a tuple as returned by :func:`urlsplit` into a " +"complete URL as a string. The *parts* argument can be any five-item " +"iterable. This may result in a slightly different, but equivalent URL, if " +"the URL that was parsed originally had unnecessary delimiters (for example, " +"a ? with an empty query; the RFC states that these are equivalent)." +msgstr "" +"Об’єднайте елементи кортежу, які повертає :func:`urlsplit`, у повну URL-" +"адресу як рядок. Аргументом *parts* може бути будь-який ітерований з п’яти " +"елементів. Це може призвести до дещо іншої, але еквівалентної URL-адреси, " +"якщо спочатку проаналізована URL-адреса мала непотрібні розділювачі " +"(наприклад, ? із порожнім запитом; у RFC зазначено, що вони еквівалентні)." + +msgid "" +"Construct a full (\"absolute\") URL by combining a \"base URL\" (*base*) " +"with another URL (*url*). Informally, this uses components of the base URL, " +"in particular the addressing scheme, the network location and (part of) the " +"path, to provide missing components in the relative URL. For example:" +msgstr "" +"Створіть повну (\"абсолютну\") URL-адресу, об’єднавши \"базову URL-адресу" +"\" (*base*) з іншою URL-адресою (*url*). Неофіційно тут використовуються " +"компоненти базової URL-адреси, зокрема схема адресації, мережеве " +"розташування та (частина) шляху, щоб забезпечити відсутні компоненти у " +"відносній URL-адресі. Наприклад:" + +msgid "" +"The *allow_fragments* argument has the same meaning and default as for :func:" +"`urlparse`." +msgstr "" +"Аргумент *allow_fragments* має те саме значення та типове значення, що й " +"для :func:`urlparse`." + +msgid "" +"If *url* is an absolute URL (that is, it starts with ``//`` or ``scheme://" +"``), the *url*'s hostname and/or scheme will be present in the result. For " +"example:" +msgstr "" +"Якщо *url* є абсолютною URL-адресою (тобто вона починається з ``//`` або " +"``scheme://``), ім'я хосту *url* та/або схема будуть присутні в результаті. " +"Наприклад:" + +msgid "" +"If you do not want that behavior, preprocess the *url* with :func:`urlsplit` " +"and :func:`urlunsplit`, removing possible *scheme* and *netloc* parts." +msgstr "" +"Якщо ви не хочете такої поведінки, попередньо обробіть *url* за допомогою :" +"func:`urlsplit` і :func:`urlunsplit`, видаливши можливі частини *scheme* і " +"*netloc*." + +msgid "Behavior updated to match the semantics defined in :rfc:`3986`." +msgstr "Поведінку оновлено відповідно до семантики, визначеної в :rfc:`3986`." + +msgid "" +"If *url* contains a fragment identifier, return a modified version of *url* " +"with no fragment identifier, and the fragment identifier as a separate " +"string. If there is no fragment identifier in *url*, return *url* " +"unmodified and an empty string." +msgstr "" +"Якщо *url* містить ідентифікатор фрагмента, поверніть модифіковану версію " +"*url* без ідентифікатора фрагмента та ідентифікатор фрагмента як окремий " +"рядок. Якщо в *url* немає ідентифікатора фрагмента, поверніть *url* без змін " +"і порожній рядок." + +msgid ":attr:`url`" +msgstr ":attr:`url`" + +msgid "URL with no fragment" +msgstr "URL без фрагмента" + +msgid "" +"See section :ref:`urlparse-result-object` for more information on the result " +"object." +msgstr "" +"Перегляньте розділ :ref:`urlparse-result-object` для отримання додаткової " +"інформації про об’єкт результату." + +msgid "Result is a structured object rather than a simple 2-tuple." +msgstr "Результат – це структурований об’єкт, а не простий 2-кортеж." + +msgid "" +"Extract the url from a wrapped URL (that is, a string formatted as ````, ````, ``URL:scheme://host/path`` " +"or ``scheme://host/path``). If *url* is not a wrapped URL, it is returned " +"without changes." +msgstr "" +"Витягніть URL-адресу з упакованої URL-адреси (тобто рядка у форматі ````, ````, ``URL:scheme://host/path`` " +"або ``scheme://host/path``). Якщо *url* не є загорнутою URL-адресою, вона " +"повертається без змін." + +msgid "Parsing ASCII Encoded Bytes" +msgstr "Розбір байтів, закодованих ASCII" + +msgid "" +"The URL parsing functions were originally designed to operate on character " +"strings only. In practice, it is useful to be able to manipulate properly " +"quoted and encoded URLs as sequences of ASCII bytes. Accordingly, the URL " +"parsing functions in this module all operate on :class:`bytes` and :class:" +"`bytearray` objects in addition to :class:`str` objects." +msgstr "" +"Функції аналізу URL спочатку були розроблені для роботи лише з рядками " +"символів. На практиці корисно мати можливість маніпулювати правильно " +"цитованими та закодованими URL-адресами як послідовностями байтів ASCII. " +"Відповідно, усі функції аналізу URL-адрес у цьому модулі працюють з " +"об’єктами :class:`bytes` і :class:`bytearray` на додаток до об’єктів :class:" +"`str`." + +msgid "" +"If :class:`str` data is passed in, the result will also contain only :class:" +"`str` data. If :class:`bytes` or :class:`bytearray` data is passed in, the " +"result will contain only :class:`bytes` data." +msgstr "" +"Якщо передано дані :class:`str`, результат також міститиме лише дані :class:" +"`str`. Якщо передано дані :class:`bytes` або :class:`bytearray`, результат " +"міститиме лише дані :class:`bytes`." + +msgid "" +"Attempting to mix :class:`str` data with :class:`bytes` or :class:" +"`bytearray` in a single function call will result in a :exc:`TypeError` " +"being raised, while attempting to pass in non-ASCII byte values will " +"trigger :exc:`UnicodeDecodeError`." +msgstr "" +"Спроба змішати дані :class:`str` із :class:`bytes` або :class:`bytearray` в " +"одному виклику функції призведе до появи :exc:`TypeError` під час спроби " +"передати не-ASCII значення байтів викликатимуть :exc:`UnicodeDecodeError`." + +msgid "" +"To support easier conversion of result objects between :class:`str` and :" +"class:`bytes`, all return values from URL parsing functions provide either " +"an :meth:`encode` method (when the result contains :class:`str` data) or a :" +"meth:`decode` method (when the result contains :class:`bytes` data). The " +"signatures of these methods match those of the corresponding :class:`str` " +"and :class:`bytes` methods (except that the default encoding is ``'ascii'`` " +"rather than ``'utf-8'``). Each produces a value of a corresponding type that " +"contains either :class:`bytes` data (for :meth:`encode` methods) or :class:" +"`str` data (for :meth:`decode` methods)." +msgstr "" +"Для підтримки легшого перетворення об’єктів результату між :class:`str` і :" +"class:`bytes`, усі значення, що повертаються функціями парсингу URL-адреси, " +"надають або метод :meth:`encode` (якщо результат містить :class:`str` data) " +"або метод :meth:`decode` (якщо результат містить дані :class:`bytes`). " +"Сигнатури цих методів збігаються з сигнатурами відповідних методів :class:" +"`str` і :class:`bytes` (за винятком того, що стандартним кодуванням є " +"``'ascii'``, а не ``'utf-8'``) . Кожен створює значення відповідного типу, " +"яке містить або дані :class:`bytes` (для методів :meth:`encode`), або дані :" +"class:`str` (для методів :meth:`decode`)." + +msgid "" +"Applications that need to operate on potentially improperly quoted URLs that " +"may contain non-ASCII data will need to do their own decoding from bytes to " +"characters before invoking the URL parsing methods." +msgstr "" +"Програми, яким потрібно працювати з потенційно неправильно цитованими URL-" +"адресами, які можуть містити дані, відмінні від ASCII, повинні будуть " +"виконати власне декодування з байтів на символи перед тим, як викликати " +"методи аналізу URL-адрес." + +msgid "" +"The behaviour described in this section applies only to the URL parsing " +"functions. The URL quoting functions use their own rules when producing or " +"consuming byte sequences as detailed in the documentation of the individual " +"URL quoting functions." +msgstr "" +"Поведінка, описана в цьому розділі, стосується лише функцій аналізу URL-" +"адреси. Функції цитування URL-адрес використовують власні правила під час " +"створення або споживання послідовностей байтів, як описано в документації " +"окремих функцій цитування URL-адрес." + +msgid "URL parsing functions now accept ASCII encoded byte sequences" +msgstr "" +"Функції аналізу URL-адрес тепер приймають послідовності байтів у кодуванні " +"ASCII" + +msgid "Structured Parse Results" +msgstr "Структуровані результати аналізу" + +msgid "" +"The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" +"`urldefrag` functions are subclasses of the :class:`tuple` type. These " +"subclasses add the attributes listed in the documentation for those " +"functions, the encoding and decoding support described in the previous " +"section, as well as an additional method:" +msgstr "" +"Об’єкти результатів функцій :func:`urlparse`, :func:`urlsplit` і :func:" +"`urldefrag` є підкласами типу :class:`tuple`. Ці підкласи додають атрибути, " +"перелічені в документації для цих функцій, підтримку кодування та " +"декодування, описану в попередньому розділі, а також додатковий метод:" + +msgid "" +"Return the re-combined version of the original URL as a string. This may " +"differ from the original URL in that the scheme may be normalized to lower " +"case and empty components may be dropped. Specifically, empty parameters, " +"queries, and fragment identifiers will be removed." +msgstr "" +"Повертає повторно об’єднану версію вихідної URL-адреси у вигляді рядка. Це " +"може відрізнятися від вихідної URL-адреси тим, що схема може бути " +"нормалізована до нижнього регістру, а порожні компоненти можуть бути " +"видалені. Зокрема, порожні параметри, запити та ідентифікатори фрагментів " +"буде видалено." + +msgid "" +"For :func:`urldefrag` results, only empty fragment identifiers will be " +"removed. For :func:`urlsplit` and :func:`urlparse` results, all noted " +"changes will be made to the URL returned by this method." +msgstr "" +"Для результатів :func:`urldefrag` буде видалено лише порожні ідентифікатори " +"фрагментів. Для результатів :func:`urlsplit` і :func:`urlparse` усі " +"зазначені зміни буде внесено до URL-адреси, яку повертає цей метод." + +msgid "" +"The result of this method remains unchanged if passed back through the " +"original parsing function:" +msgstr "" +"Результат цього методу залишається незмінним, якщо передати його через " +"вихідну функцію аналізу:" + +msgid "" +"The following classes provide the implementations of the structured parse " +"results when operating on :class:`str` objects:" +msgstr "" +"Наступні класи забезпечують реалізацію результатів структурованого аналізу " +"під час роботи з об’єктами :class:`str`:" + +msgid "" +"Concrete class for :func:`urldefrag` results containing :class:`str` data. " +"The :meth:`encode` method returns a :class:`DefragResultBytes` instance." +msgstr "" +"Конкретний клас для результатів :func:`urldefrag`, що містять дані :class:" +"`str`. Метод :meth:`encode` повертає екземпляр :class:`DefragResultBytes`." + +msgid "" +"Concrete class for :func:`urlparse` results containing :class:`str` data. " +"The :meth:`encode` method returns a :class:`ParseResultBytes` instance." +msgstr "" +"Конкретний клас для результатів :func:`urlparse`, що містять дані :class:" +"`str`. Метод :meth:`encode` повертає екземпляр :class:`ParseResultBytes`." + +msgid "" +"Concrete class for :func:`urlsplit` results containing :class:`str` data. " +"The :meth:`encode` method returns a :class:`SplitResultBytes` instance." +msgstr "" +"Конкретний клас для результатів :func:`urlsplit`, що містять дані :class:" +"`str`. Метод :meth:`encode` повертає екземпляр :class:`SplitResultBytes`." + +msgid "" +"The following classes provide the implementations of the parse results when " +"operating on :class:`bytes` or :class:`bytearray` objects:" +msgstr "" +"Наступні класи забезпечують реалізацію результатів аналізу під час роботи з " +"об’єктами :class:`bytes` або :class:`bytearray`:" + +msgid "" +"Concrete class for :func:`urldefrag` results containing :class:`bytes` data. " +"The :meth:`decode` method returns a :class:`DefragResult` instance." +msgstr "" +"Конкретний клас для результатів :func:`urldefrag`, що містять дані :class:" +"`bytes`. Метод :meth:`decode` повертає екземпляр :class:`DefragResult`." + +msgid "" +"Concrete class for :func:`urlparse` results containing :class:`bytes` data. " +"The :meth:`decode` method returns a :class:`ParseResult` instance." +msgstr "" +"Конкретний клас для результатів :func:`urlparse`, що містять дані :class:" +"`bytes`. Метод :meth:`decode` повертає екземпляр :class:`ParseResult`." + +msgid "" +"Concrete class for :func:`urlsplit` results containing :class:`bytes` data. " +"The :meth:`decode` method returns a :class:`SplitResult` instance." +msgstr "" +"Конкретний клас для результатів :func:`urlsplit`, що містять дані :class:" +"`bytes`. Метод :meth:`decode` повертає екземпляр :class:`SplitResult`." + +msgid "URL Quoting" +msgstr "Цитування URL" + +msgid "" +"The URL quoting functions focus on taking program data and making it safe " +"for use as URL components by quoting special characters and appropriately " +"encoding non-ASCII text. They also support reversing these operations to " +"recreate the original data from the contents of a URL component if that task " +"isn't already covered by the URL parsing functions above." +msgstr "" +"Функції цитування URL-адреси зосереджені на тому, щоб отримати програмні " +"дані та зробити їх безпечними для використання як компонентів URL-адреси " +"шляхом цитування спеціальних символів і відповідного кодування тексту, " +"відмінного від ASCII. Вони також підтримують реверсування цих операцій, щоб " +"відтворити вихідні дані з вмісту компонента URL-адреси, якщо це завдання ще " +"не охоплено функціями аналізу URL-адреси вище." + +msgid "" +"Replace special characters in *string* using the ``%xx`` escape. Letters, " +"digits, and the characters ``'_.-~'`` are never quoted. By default, this " +"function is intended for quoting the path section of a URL. The optional " +"*safe* parameter specifies additional ASCII characters that should not be " +"quoted --- its default value is ``'/'``." +msgstr "" +"Замініть спеціальні символи в *рядку*, використовуючи ``%xx`` екранування. " +"Літери, цифри та символи ``'_.-~''`` ніколи не беруться в лапки. За " +"замовчуванням ця функція призначена для цитування розділу шляху URL-адреси. " +"Необов’язковий параметр *safe* визначає додаткові символи ASCII, які не слід " +"брати в лапки --- його значенням за замовчуванням є ``'/'``." + +msgid "*string* may be either a :class:`str` or a :class:`bytes` object." +msgstr "*string* може бути об’єктом :class:`str` або :class:`bytes`." + +msgid "" +"Moved from :rfc:`2396` to :rfc:`3986` for quoting URL strings. \"~\" is now " +"included in the set of unreserved characters." +msgstr "" +"Переміщено з :rfc:`2396` до :rfc:`3986` для цитування рядків URL. \"~\" " +"тепер включено до набору незарезервованих символів." + +msgid "" +"The optional *encoding* and *errors* parameters specify how to deal with non-" +"ASCII characters, as accepted by the :meth:`str.encode` method. *encoding* " +"defaults to ``'utf-8'``. *errors* defaults to ``'strict'``, meaning " +"unsupported characters raise a :class:`UnicodeEncodeError`. *encoding* and " +"*errors* must not be supplied if *string* is a :class:`bytes`, or a :class:" +"`TypeError` is raised." +msgstr "" +"Необов’язкові параметри *encoding* і *errors* вказують, як працювати з " +"символами, відмінними від ASCII, як прийнято методом :meth:`str.encode`. " +"*кодування* за замовчуванням ``'utf-8'``. *errors* за умовчанням має " +"значення ``'strict'``, тобто непідтримувані символи викликають :class:" +"`UnicodeEncodeError`. *кодування* та *помилки* не повинні надаватися, якщо " +"*рядок* є :class:`bytes` або виникає :class:`TypeError`." + +msgid "" +"Note that ``quote(string, safe, encoding, errors)`` is equivalent to " +"``quote_from_bytes(string.encode(encoding, errors), safe)``." +msgstr "" +"Зауважте, що ``quote(string, safe, encoding, errors)`` еквівалентно " +"``quote_from_bytes(string.encode(encoding, errors), safe)``." + +msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." +msgstr "Приклад: ``quote('/El Niño/')`` дає ``'/El%20Ni%C3%B1o/''``." + +msgid "" +"Like :func:`quote`, but also replace spaces with plus signs, as required for " +"quoting HTML form values when building up a query string to go into a URL. " +"Plus signs in the original string are escaped unless they are included in " +"*safe*. It also does not have *safe* default to ``'/'``." +msgstr "" +"Подібно до :func:`quote`, але також замініть пробіли знаками плюса, як це " +"потрібно для цитування значень HTML-форми під час створення рядка запиту для " +"переходу до URL-адреси. Знаки \"плюс\" у вихідному рядку екрануються, якщо " +"вони не включені в *safe*. Він також не має *safe* типового значення ``'/'``." + +msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." +msgstr "Приклад: ``quote_plus('/El Niño/')`` дає ``'%2FEl+Ni%C3%B1o%2F''``." + +msgid "" +"Like :func:`quote`, but accepts a :class:`bytes` object rather than a :class:" +"`str`, and does not perform string-to-bytes encoding." +msgstr "" +"Подібно до :func:`quote`, але приймає об’єкт :class:`bytes`, а не :class:" +"`str`, і не виконує кодування рядок-байт." + +msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." +msgstr "Приклад: ``quote_from_bytes(b'a&\\xef')`` дає ``'a%26%EF''``." + +msgid "" +"Replace ``%xx`` escapes with their single-character equivalent. The optional " +"*encoding* and *errors* parameters specify how to decode percent-encoded " +"sequences into Unicode characters, as accepted by the :meth:`bytes.decode` " +"method." +msgstr "" +"Замініть екрановані символи ``%xx`` їх односимвольним еквівалентом. " +"Необов’язкові параметри *encoding* і *errors* визначають, як декодувати " +"послідовності, закодовані у відсотках, у символи Юнікоду, як це прийнято " +"методом :meth:`bytes.decode`." + +msgid "" +"*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " +"meaning invalid sequences are replaced by a placeholder character." +msgstr "" +"*кодування* за замовчуванням ``'utf-8'``. *errors* за умовчанням має " +"значення ``'replace'``, тобто недійсні послідовності замінюються символом-" +"заповнювачем." + +msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." +msgstr "Приклад: ``unquote('/El%20Ni%C3%B1o/')`` дає ``'/El Niño/''``." + +msgid "" +"*string* parameter supports bytes and str objects (previously only str)." +msgstr "Параметр *string* підтримує об’єкти bytes і str (раніше лише str)." + +msgid "" +"Like :func:`unquote`, but also replace plus signs with spaces, as required " +"for unquoting HTML form values." +msgstr "" +"Подібно до :func:`unquote`, але також замініть знаки \"плюс\" пробілами, як " +"це потрібно для зняття лапок значень форми HTML." + +msgid "*string* must be a :class:`str`." +msgstr "*рядок* має бути :class:`str`." + +msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." +msgstr "Приклад: ``unquote_plus('/El+Ni%C3%B1o/')`` дає ``'/El Niño/''``." + +msgid "" +"Replace ``%xx`` escapes with their single-octet equivalent, and return a :" +"class:`bytes` object." +msgstr "" +"Замініть екрановані символи ``%xx`` їх однооктетним еквівалентом і поверніть " +"об’єкт :class:`bytes`." + +msgid "" +"If it is a :class:`str`, unescaped non-ASCII characters in *string* are " +"encoded into UTF-8 bytes." +msgstr "" +"Якщо це :class:`str`, неекрановані не-ASCII символи в *string* кодуються в " +"UTF-8 байтах." + +msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." +msgstr "Приклад: ``unquote_to_bytes('a%26%EF')`` дає ``b'a&\\xef'``." + +msgid "" +"Convert a mapping object or a sequence of two-element tuples, which may " +"contain :class:`str` or :class:`bytes` objects, to a percent-encoded ASCII " +"text string. If the resultant string is to be used as a *data* for POST " +"operation with the :func:`~urllib.request.urlopen` function, then it should " +"be encoded to bytes, otherwise it would result in a :exc:`TypeError`." +msgstr "" +"Перетворіть об’єкт зіставлення або послідовність двоелементних кортежів, які " +"можуть містити об’єкти :class:`str` або :class:`bytes`, у текстовий рядок " +"ASCII у відсотковому кодуванні. Якщо результуючий рядок має " +"використовуватись як *дані* для операції POST із функцією :func:`~urllib." +"request.urlopen`, тоді його слід закодувати в байти, інакше це призведе до :" +"exc:`TypeError`." + +msgid "" +"The resulting string is a series of ``key=value`` pairs separated by ``'&'`` " +"characters, where both *key* and *value* are quoted using the *quote_via* " +"function. By default, :func:`quote_plus` is used to quote the values, which " +"means spaces are quoted as a ``'+'`` character and '/' characters are " +"encoded as ``%2F``, which follows the standard for GET requests " +"(``application/x-www-form-urlencoded``). An alternate function that can be " +"passed as *quote_via* is :func:`quote`, which will encode spaces as ``%20`` " +"and not encode '/' characters. For maximum control of what is quoted, use " +"``quote`` and specify a value for *safe*." +msgstr "" +"Отриманий рядок є серією пар ``ключ=значення``, розділених символами " +"``'&''``, де *ключ* і *значення* взяті в лапки за допомогою функції " +"*quote_via*. За замовчуванням :func:`quote_plus` використовується для взяття " +"значень у лапки, що означає, що пробіли беруться в лапки як символ ``'+'``, " +"а символи '/' кодуються як ``%2F``, що відповідає стандарту для Запити GET " +"(``application/x-www-form-urlencoded``). Альтернативною функцією, яку можна " +"передати як *quote_via*, є :func:`quote`, яка кодуватиме пробіли як ``%20`` " +"і не кодуватиме символи '/'. Для максимального контролю над тим, що " +"цитується, використовуйте ``quote`` і вкажіть значення для *safe*." + +msgid "" +"When a sequence of two-element tuples is used as the *query* argument, the " +"first element of each tuple is a key and the second is a value. The value " +"element in itself can be a sequence and in that case, if the optional " +"parameter *doseq* evaluates to ``True``, individual ``key=value`` pairs " +"separated by ``'&'`` are generated for each element of the value sequence " +"for the key. The order of parameters in the encoded string will match the " +"order of parameter tuples in the sequence." +msgstr "" +"Коли послідовність двоелементних кортежів використовується як аргумент " +"*запиту*, перший елемент кожного кортежу є ключем, а другий — значенням. " +"Елемент значення сам по собі може бути послідовністю, і в такому випадку, " +"якщо необов’язковий параметр *doseq* оцінюється як ``True``, окремі пари " +"``ключ=значення`` генеруються для кожен елемент послідовності значень для " +"ключа. Порядок параметрів у закодованому рядку відповідатиме порядку " +"кортежів параметрів у послідовності." + +msgid "" +"The *safe*, *encoding*, and *errors* parameters are passed down to " +"*quote_via* (the *encoding* and *errors* parameters are only passed when a " +"query element is a :class:`str`)." +msgstr "" +"Параметри *safe*, *encoding* і *errors* передаються до *quote_via* " +"(параметри *encoding* і *errors* передаються лише тоді, коли елемент запиту " +"є :class:`str`)." + +msgid "" +"To reverse this encoding process, :func:`parse_qs` and :func:`parse_qsl` are " +"provided in this module to parse query strings into Python data structures." +msgstr "" +"Щоб змінити цей процес кодування, у цьому модулі передбачено :func:" +"`parse_qs` і :func:`parse_qsl` для аналізу рядків запиту в структурах даних " +"Python." + +msgid "" +"Refer to :ref:`urllib examples ` to find out how the :func:" +"`urllib.parse.urlencode` method can be used for generating the query string " +"of a URL or data for a POST request." +msgstr "" +"Зверніться до :ref:`urllib examples `, щоб дізнатися, як " +"метод :func:`urllib.parse.urlencode` можна використовувати для генерації " +"рядка запиту URL-адреси або даних для запиту POST." + +msgid "*query* supports bytes and string objects." +msgstr "*query* підтримує байти та рядкові об’єкти." + +msgid "*quote_via* parameter." +msgstr "*quote_via* параметр." + +msgid "`WHATWG`_ - URL Living standard" +msgstr "`WHATWG`_ - URL Життєвий рівень" + +msgid "" +"Working Group for the URL Standard that defines URLs, domains, IP addresses, " +"the application/x-www-form-urlencoded format, and their API." +msgstr "" +"Робоча група для стандарту URL-адрес, яка визначає URL-адреси, домени, IP-" +"адреси, формат application/x-www-form-urlencoded та їх API." + +msgid ":rfc:`3986` - Uniform Resource Identifiers" +msgstr ":rfc:`3986` - Уніфіковані ідентифікатори ресурсів" + +msgid "" +"This is the current standard (STD66). Any changes to urllib.parse module " +"should conform to this. Certain deviations could be observed, which are " +"mostly for backward compatibility purposes and for certain de-facto parsing " +"requirements as commonly observed in major browsers." +msgstr "" +"Це поточний стандарт (STD66). Будь-які зміни в модулі urllib.parse мають " +"відповідати цьому. Можуть спостерігатися певні відхилення, які здебільшого " +"пов’язані з цілями зворотної сумісності та певними де-факто вимогами до " +"аналізу, які зазвичай спостерігаються в основних браузерах." + +msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." +msgstr ":rfc:`2732` - Формат буквальних IPv6-адрес в URL-адресах." + +msgid "This specifies the parsing requirements of IPv6 URLs." +msgstr "Це визначає вимоги до аналізу URL-адрес IPv6." + +msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" +msgstr "" +":rfc:`2396` - Уніфіковані ідентифікатори ресурсів (URI): загальний синтаксис" + +msgid "" +"Document describing the generic syntactic requirements for both Uniform " +"Resource Names (URNs) and Uniform Resource Locators (URLs)." +msgstr "" +"Документ, що описує загальні синтаксичні вимоги як для уніфікованих імен " +"ресурсів (URN), так і для уніфікованих покажчиків ресурсів (URL)." + +msgid ":rfc:`2368` - The mailto URL scheme." +msgstr ":rfc:`2368` - Схема URL-адреси електронної пошти." + +msgid "Parsing requirements for mailto URL schemes." +msgstr "Вимоги до розбору URL-схем mailto." + +msgid ":rfc:`1808` - Relative Uniform Resource Locators" +msgstr ":rfc:`1808` - Відносні уніфіковані локатори ресурсів" + +msgid "" +"This Request For Comments includes the rules for joining an absolute and a " +"relative URL, including a fair number of \"Abnormal Examples\" which govern " +"the treatment of border cases." +msgstr "" +"Цей Запит на коментарі містить правила об’єднання абсолютної та відносної " +"URL-адрес, включаючи чималу кількість \"ненормальних прикладів\", які " +"регулюють обробку прикордонних випадків." + +msgid ":rfc:`1738` - Uniform Resource Locators (URL)" +msgstr ":rfc:`1738` - Уніфіковані покажчики ресурсів (URL)" + +msgid "This specifies the formal syntax and semantics of absolute URLs." +msgstr "Це визначає формальний синтаксис і семантику абсолютних URL-адрес." diff --git a/library/urllib_request.po b/library/urllib_request.po new file mode 100644 index 000000000..dc99da4bd --- /dev/null +++ b/library/urllib_request.po @@ -0,0 +1,2192 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`urllib.request` --- Extensible library for opening URLs" +msgstr "" +":mod:`urllib.request` --- Розширювана бібліотека для відкриття URL-адрес" + +msgid "**Source code:** :source:`Lib/urllib/request.py`" +msgstr "**Вихідний код:** :source:`Lib/urllib/request.py`" + +msgid "" +"The :mod:`urllib.request` module defines functions and classes which help in " +"opening URLs (mostly HTTP) in a complex world --- basic and digest " +"authentication, redirections, cookies and more." +msgstr "" +"Модуль :mod:`urllib.request` визначає функції та класи, які допомагають " +"відкривати URL-адреси (переважно HTTP) у складному світі --- базову та " +"дайджест-автентифікацію, перенаправлення, файли cookie тощо." + +msgid "" +"The `Requests package `_ is " +"recommended for a higher-level HTTP client interface." +msgstr "" +"`Пакет запитів `_ рекомендовано " +"для клієнтського інтерфейсу HTTP вищого рівня." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The :mod:`urllib.request` module defines the following functions:" +msgstr "Модуль :mod:`urllib.request` визначає такі функції:" + +msgid "" +"Open the URL *url*, which can be either a string or a :class:`Request` " +"object." +msgstr "" +"Відкрийте URL *url*, який може бути або рядком, або об’єктом :class:" +"`Request`." + +msgid "" +"*data* must be an object specifying additional data to be sent to the " +"server, or ``None`` if no such data is needed. See :class:`Request` for " +"details." +msgstr "" +"*data* має бути об’єктом, який визначає додаткові дані для надсилання на " +"сервер, або ``None``, якщо такі дані не потрібні. Дивіться :class:`Request` " +"для деталей." + +msgid "" +"urllib.request module uses HTTP/1.1 and includes ``Connection:close`` header " +"in its HTTP requests." +msgstr "" +"Модуль urllib.request використовує HTTP/1.1 і включає заголовок ``Connection:" +"close`` у свої HTTP-запити." + +msgid "" +"The optional *timeout* parameter specifies a timeout in seconds for blocking " +"operations like the connection attempt (if not specified, the global default " +"timeout setting will be used). This actually only works for HTTP, HTTPS and " +"FTP connections." +msgstr "" +"Необов’язковий параметр *timeout* визначає час очікування в секундах для " +"блокування таких операцій, як спроба підключення (якщо не вказано, буде " +"використано глобальне налаштування часу очікування за умовчанням). Насправді " +"це працює лише для з’єднань HTTP, HTTPS і FTP." + +msgid "" +"If *context* is specified, it must be a :class:`ssl.SSLContext` instance " +"describing the various SSL options. See :class:`~http.client." +"HTTPSConnection` for more details." +msgstr "" +"Якщо вказано *контекст*, це має бути екземпляр :class:`ssl.SSLContext`, який " +"описує різні параметри SSL. Перегляньте :class:`~http.client." +"HTTPSConnection` для отримання додаткової інформації." + +msgid "" +"The optional *cafile* and *capath* parameters specify a set of trusted CA " +"certificates for HTTPS requests. *cafile* should point to a single file " +"containing a bundle of CA certificates, whereas *capath* should point to a " +"directory of hashed certificate files. More information can be found in :" +"meth:`ssl.SSLContext.load_verify_locations`." +msgstr "" +"Додаткові параметри *cafile* і *capath* визначають набір довірених " +"сертифікатів ЦС для запитів HTTPS. *cafile* має вказувати на один файл, що " +"містить набір сертифікатів ЦС, тоді як *capath* має вказувати на каталог " +"хешованих файлів сертифікатів. Більше інформації можна знайти в :meth:`ssl." +"SSLContext.load_verify_locations`." + +msgid "The *cadefault* parameter is ignored." +msgstr "Параметр *cadefault* ігнорується." + +msgid "" +"This function always returns an object which can work as a :term:`context " +"manager` and has the properties *url*, *headers*, and *status*. See :class:" +"`urllib.response.addinfourl` for more detail on these properties." +msgstr "" +"Ця функція завжди повертає об’єкт, який може працювати як :term:`context " +"manager` і має властивості *url*, *headers* і *status*. Дивіться :class:" +"`urllib.response.addinfourl`, щоб дізнатися більше про ці властивості." + +msgid "" +"For HTTP and HTTPS URLs, this function returns a :class:`http.client." +"HTTPResponse` object slightly modified. In addition to the three new methods " +"above, the msg attribute contains the same information as the :attr:`~http." +"client.HTTPResponse.reason` attribute --- the reason phrase returned by " +"server --- instead of the response headers as it is specified in the " +"documentation for :class:`~http.client.HTTPResponse`." +msgstr "" +"Для URL-адрес HTTP і HTTPS ця функція повертає дещо змінений об’єкт :class:" +"`http.client.HTTPResponse`. На додаток до трьох нових методів, наведених " +"вище, атрибут msg містить ту саму інформацію, що й атрибут :attr:`~http." +"client.HTTPResponse.reason` --- фразу причини, яку повертає сервер --- " +"замість заголовків відповіді, як це вказано в документації для :class:`~http." +"client.HTTPResponse`." + +msgid "" +"For FTP, file, and data URLs and requests explicitly handled by legacy :" +"class:`URLopener` and :class:`FancyURLopener` classes, this function returns " +"a :class:`urllib.response.addinfourl` object." +msgstr "" +"Для FTP, файлів і URL-адрес даних і запитів, які явно обробляються " +"застарілими класами :class:`URLopener` і :class:`FancyURLopener`, ця функція " +"повертає об’єкт :class:`urllib.response.addinfourl`." + +msgid "Raises :exc:`~urllib.error.URLError` on protocol errors." +msgstr "Викликає :exc:`~urllib.error.URLError` через помилки протоколу." + +msgid "" +"Note that ``None`` may be returned if no handler handles the request (though " +"the default installed global :class:`OpenerDirector` uses :class:" +"`UnknownHandler` to ensure this never happens)." +msgstr "" +"Зауважте, що ``None`` може бути повернуто, якщо жоден обробник не обробляє " +"запит (хоча стандартний встановлений глобальний :class:`OpenerDirector` " +"використовує :class:`UnknownHandler`, щоб гарантувати, що цього ніколи не " +"станеться)." + +msgid "" +"In addition, if proxy settings are detected (for example, when a ``*_proxy`` " +"environment variable like :envvar:`http_proxy` is set), :class:" +"`ProxyHandler` is default installed and makes sure the requests are handled " +"through the proxy." +msgstr "" +"Крім того, якщо виявлено налаштування проксі (наприклад, коли встановлено " +"змінну середовища ``*_proxy``, як-от :envvar:`http_proxy`), :class:" +"`ProxyHandler` встановлено за замовчуванням і гарантує, що запити " +"обробляються через проксі." + +msgid "" +"The legacy ``urllib.urlopen`` function from Python 2.6 and earlier has been " +"discontinued; :func:`urllib.request.urlopen` corresponds to the old " +"``urllib2.urlopen``. Proxy handling, which was done by passing a dictionary " +"parameter to ``urllib.urlopen``, can be obtained by using :class:" +"`ProxyHandler` objects." +msgstr "" +"Застарілу функцію ``urllib.urlopen`` від Python 2.6 і попередніх версій було " +"припинено; :func:`urllib.request.urlopen` відповідає старому ``urllib2." +"urlopen``. Обробку проксі, яку було виконано шляхом передачі параметра " +"словника до ``urllib.urlopen``, можна отримати за допомогою об’єктів :class:" +"`ProxyHandler`." + +msgid "" +"Raises an :ref:`auditing event ` ``urllib.Request`` with arguments " +"``fullurl``, ``data``, ``headers``, ``method``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``urllib.Request`` з аргументами " +"``fullurl``, ``data``, ``headers``, ``method``." + +msgid "" +"The default opener raises an :ref:`auditing event ` ``urllib." +"Request`` with arguments ``fullurl``, ``data``, ``headers``, ``method`` " +"taken from the request object." +msgstr "" +"Відкривач за замовчуванням викликає :ref:`подію аудиту ` ``urllib." +"Request`` з аргументами ``fullurl``, ``data``, ``headers``, ``method``, " +"взяті з об’єкта запиту ." + +msgid "*cafile* and *capath* were added." +msgstr "*cafile* і *capath* були додані." + +msgid "" +"HTTPS virtual hosts are now supported if possible (that is, if :data:`ssl." +"HAS_SNI` is true)." +msgstr "" +"Тепер віртуальні хости HTTPS підтримуються, якщо це можливо (тобто, якщо :" +"data:`ssl.HAS_SNI` має значення true)." + +msgid "*data* can be an iterable object." +msgstr "*data* може бути ітерованим об’єктом." + +msgid "*cadefault* was added." +msgstr "Додано *cadefault*." + +msgid "*context* was added." +msgstr "додано *контекст*." + +msgid "" +"HTTPS connection now send an ALPN extension with protocol indicator " +"``http/1.1`` when no *context* is given. Custom *context* should set ALPN " +"protocols with :meth:`~ssl.SSLContext.set_alpn_protocol`." +msgstr "" +"З’єднання HTTPS тепер надсилає розширення ALPN з індикатором протоколу " +"``http/1.1``, якщо *контексту* не вказано. Спеціальний *контекст* має " +"встановлювати протоколи ALPN за допомогою :meth:`~ssl.SSSLContext." +"set_alpn_protocol`." + +msgid "" +"*cafile*, *capath* and *cadefault* are deprecated in favor of *context*. " +"Please use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." +"create_default_context` select the system's trusted CA certificates for you." +msgstr "" +"*cafile*, *capath* і *cadefault* застаріли на користь *context*. Натомість " +"використовуйте :meth:`ssl.SSLContext.load_cert_chain` або дозвольте :func:" +"`ssl.create_default_context` вибрати для вас надійні сертифікати ЦС системи." + +msgid "" +"Install an :class:`OpenerDirector` instance as the default global opener. " +"Installing an opener is only necessary if you want urlopen to use that " +"opener; otherwise, simply call :meth:`OpenerDirector.open` instead of :func:" +"`~urllib.request.urlopen`. The code does not check for a real :class:" +"`OpenerDirector`, and any class with the appropriate interface will work." +msgstr "" +"Встановіть екземпляр :class:`OpenerDirector` як глобальний засіб відкриття " +"за умовчанням. Встановлення відкривача необхідно, лише якщо ви хочете, щоб " +"urlopen використовував цей відкривач; інакше просто викликайте :meth:" +"`OpenerDirector.open` замість :func:`~urllib.request.urlopen`. Код не " +"перевіряє справжнього :class:`OpenerDirector`, і будь-який клас із " +"відповідним інтерфейсом працюватиме." + +msgid "" +"Return an :class:`OpenerDirector` instance, which chains the handlers in the " +"order given. *handler*\\s can be either instances of :class:`BaseHandler`, " +"or subclasses of :class:`BaseHandler` (in which case it must be possible to " +"call the constructor without any parameters). Instances of the following " +"classes will be in front of the *handler*\\s, unless the *handler*\\s " +"contain them, instances of them or subclasses of them: :class:`ProxyHandler` " +"(if proxy settings are detected), :class:`UnknownHandler`, :class:" +"`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, :class:" +"`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" +"`HTTPErrorProcessor`." +msgstr "" +"Повертає екземпляр :class:`OpenerDirector`, який об’єднує обробники у " +"вказаному порядку. *handler*\\s можуть бути або екземплярами :class:" +"`BaseHandler`, або підкласами :class:`BaseHandler` (у цьому випадку повинна " +"бути можливість викликати конструктор без будь-яких параметрів). Екземпляри " +"наступних класів будуть перед *обробниками*\\s, якщо тільки *обробники*\\ не " +"містять їх, їх екземпляри або їхні підкласи: :class:`ProxyHandler` (якщо " +"виявлено налаштування проксі), :class:`UnknownHandler`, :class:" +"`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, :class:" +"`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" +"`HTTPErrorProcessor`." + +msgid "" +"If the Python installation has SSL support (i.e., if the :mod:`ssl` module " +"can be imported), :class:`HTTPSHandler` will also be added." +msgstr "" +"Якщо встановлення Python підтримує SSL (тобто якщо модуль :mod:`ssl` можна " +"імпортувати), :class:`HTTPSHandler` також буде додано." + +msgid "" +"A :class:`BaseHandler` subclass may also change its :attr:`handler_order` " +"attribute to modify its position in the handlers list." +msgstr "" +"Підклас :class:`BaseHandler` також може змінити свій атрибут :attr:" +"`handler_order`, щоб змінити його позицію в списку обробників." + +msgid "" +"Convert the pathname *path* from the local syntax for a path to the form " +"used in the path component of a URL. This does not produce a complete URL. " +"The return value will already be quoted using the :func:`~urllib.parse." +"quote` function." +msgstr "" +"Перетворіть назву шляху *path* із локального синтаксису шляху на форму, яка " +"використовується в компоненті шляху URL-адреси. Це не створює повну URL-" +"адресу. Повернене значення вже буде взято в лапки за допомогою функції :func:" +"`~urllib.parse.quote`." + +msgid "" +"Convert the path component *path* from a percent-encoded URL to the local " +"syntax for a path. This does not accept a complete URL. This function " +"uses :func:`~urllib.parse.unquote` to decode *path*." +msgstr "" +"Перетворіть компонент шляху *path* із URL-адреси у відсотковому кодуванні на " +"локальний синтаксис для шляху. Це не приймає повну URL-адресу. Ця функція " +"використовує :func:`~urllib.parse.unquote` для декодування *шляху*." + +msgid "" +"This helper function returns a dictionary of scheme to proxy server URL " +"mappings. It scans the environment for variables named ``_proxy``, " +"in a case insensitive approach, for all operating systems first, and when it " +"cannot find it, looks for proxy information from System Configuration for " +"macOS and Windows Systems Registry for Windows. If both lowercase and " +"uppercase environment variables exist (and disagree), lowercase is preferred." +msgstr "" +"Ця допоміжна функція повертає словник схеми зіставлення URL-адрес проксі-" +"сервера. Він сканує середовище на наявність змінних із назвою `` " +"_proxy``, без урахування регістру, для всіх операційних систем спочатку, а " +"якщо не може їх знайти, шукає інформацію про проксі-сервер у системній " +"конфігурації для macOS і системному реєстрі Windows для Windows. Якщо " +"існують (і не узгоджуються) змінні середовища як у нижньому, так і у " +"верхньому регістрах, перевага віддається нижньому регістру." + +msgid "" +"If the environment variable ``REQUEST_METHOD`` is set, which usually " +"indicates your script is running in a CGI environment, the environment " +"variable ``HTTP_PROXY`` (uppercase ``_PROXY``) will be ignored. This is " +"because that variable can be injected by a client using the \"Proxy:\" HTTP " +"header. If you need to use an HTTP proxy in a CGI environment, either use " +"``ProxyHandler`` explicitly, or make sure the variable name is in lowercase " +"(or at least the ``_proxy`` suffix)." +msgstr "" +"Якщо встановлено змінну середовища ``REQUEST_METHOD``, що зазвичай вказує на " +"те, що ваш сценарій працює в середовищі CGI, змінна середовища " +"``HTTP_PROXY`` (великий регістр ``_PROXY``) буде проігноровано. Це " +"пояснюється тим, що ця змінна може бути введена клієнтом за допомогою HTTP-" +"заголовка \"Proxy:\". Якщо вам потрібно використовувати HTTP-проксі в " +"середовищі CGI, або явно використовуйте ``ProxyHandler``, або переконайтеся, " +"що назва змінної написана малими літерами (або принаймні суфікс ``_proxy``)." + +msgid "The following classes are provided:" +msgstr "Передбачені такі заняття:" + +msgid "This class is an abstraction of a URL request." +msgstr "Цей клас є абстракцією URL-запиту." + +msgid "*url* should be a string containing a valid URL." +msgstr "*url* має бути рядком, що містить дійсну URL-адресу." + +msgid "" +"*data* must be an object specifying additional data to send to the server, " +"or ``None`` if no such data is needed. Currently HTTP requests are the only " +"ones that use *data*. The supported object types include bytes, file-like " +"objects, and iterables of bytes-like objects. If no ``Content-Length`` nor " +"``Transfer-Encoding`` header field has been provided, :class:`HTTPHandler` " +"will set these headers according to the type of *data*. ``Content-Length`` " +"will be used to send bytes objects, while ``Transfer-Encoding: chunked`` as " +"specified in :rfc:`7230`, Section 3.3.1 will be used to send files and other " +"iterables." +msgstr "" +"*data* має бути об’єктом, який визначає додаткові дані для надсилання на " +"сервер, або ``None``, якщо такі дані не потрібні. Наразі запити HTTP є " +"єдиними, які використовують *data*. Підтримувані типи об’єктів включають " +"байти, файлоподібні об’єкти та ітерації байтоподібних об’єктів. Якщо поля " +"заголовка ``Content-Length`` або ``Transfer-Encoding`` не надано, :class:" +"`HTTPHandler` встановить ці заголовки відповідно до типу *data*. ``Content-" +"Length`` використовуватиметься для надсилання байтових об’єктів, тоді як " +"``Transfer-Encoding: chunked``, як зазначено в :rfc:`7230`, розділ 3.3.1, " +"використовуватиметься для надсилання файлів та інших ітерацій." + +msgid "" +"For an HTTP POST request method, *data* should be a buffer in the standard :" +"mimetype:`application/x-www-form-urlencoded` format. The :func:`urllib." +"parse.urlencode` function takes a mapping or sequence of 2-tuples and " +"returns an ASCII string in this format. It should be encoded to bytes before " +"being used as the *data* parameter." +msgstr "" +"Для методу запиту HTTP POST *data* має бути буфером у стандартному форматі :" +"mimetype:`application/x-www-form-urlencoded`. Функція :func:`urllib.parse." +"urlencode` приймає відображення або послідовність 2-кортежів і повертає " +"рядок ASCII у цьому форматі. Перш ніж використовувати як параметр *data*, " +"його слід закодувати в байти." + +msgid "" +"*headers* should be a dictionary, and will be treated as if :meth:" +"`add_header` was called with each key and value as arguments. This is often " +"used to \"spoof\" the ``User-Agent`` header value, which is used by a " +"browser to identify itself -- some HTTP servers only allow requests coming " +"from common browsers as opposed to scripts. For example, Mozilla Firefox may " +"identify itself as ``\"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 " +"Firefox/2.0.0.11\"``, while :mod:`urllib`'s default user agent string is ``" +"\"Python-urllib/2.6\"`` (on Python 2.6). All header keys are sent in camel " +"case." +msgstr "" +"*headers* має бути словником і розглядатиметься так, ніби було викликано :" +"meth:`add_header` з кожним ключем і значенням як аргументами. Це часто " +"використовується для \"підробки\" значення заголовка ``User-Agent``, яке " +"використовується браузером для самоідентифікації - деякі HTTP-сервери " +"дозволяють лише запити, що надходять із звичайних браузерів, на відміну від " +"сценаріїв. Наприклад, Mozilla Firefox може ідентифікувати себе як ``" +"\"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11\"``, тоді " +"як рядок агента користувача за замовчуванням :mod:`urllib` є` `\"Python-" +"urllib/2.6\"`` (на Python 2.6). Усі ключі заголовка надсилаються у " +"верблюжому футлярі." + +msgid "" +"An appropriate ``Content-Type`` header should be included if the *data* " +"argument is present. If this header has not been provided and *data* is not " +"None, ``Content-Type: application/x-www-form-urlencoded`` will be added as a " +"default." +msgstr "" +"Відповідний заголовок ``Content-Type`` слід включити, якщо присутній " +"аргумент *data*. Якщо цей заголовок не було надано і *data* не є None, " +"``Content-Type: application/x-www-form-urlencoded`` буде додано за " +"умовчанням." + +msgid "" +"The next two arguments are only of interest for correct handling of third-" +"party HTTP cookies:" +msgstr "" +"Наступні два аргументи цікаві лише для правильної обробки сторонніх файлів " +"cookie HTTP:" + +msgid "" +"*origin_req_host* should be the request-host of the origin transaction, as " +"defined by :rfc:`2965`. It defaults to ``http.cookiejar." +"request_host(self)``. This is the host name or IP address of the original " +"request that was initiated by the user. For example, if the request is for " +"an image in an HTML document, this should be the request-host of the request " +"for the page containing the image." +msgstr "" +"*origin_req_host* має бути хостом запиту вихідної транзакції, як визначено :" +"rfc:`2965`. За замовчуванням ``http.cookiejar.request_host(self)``. Це ім’я " +"хоста або IP-адреса вихідного запиту, ініційованого користувачем. Наприклад, " +"якщо запит стосується зображення в документі HTML, це має бути хост запиту " +"для сторінки, що містить зображення." + +msgid "" +"*unverifiable* should indicate whether the request is unverifiable, as " +"defined by :rfc:`2965`. It defaults to ``False``. An unverifiable request " +"is one whose URL the user did not have the option to approve. For example, " +"if the request is for an image in an HTML document, and the user had no " +"option to approve the automatic fetching of the image, this should be true." +msgstr "" +"*unverifiable* має вказувати, чи є запит неперевіреним, як визначено :rfc:" +"`2965`. За замовчуванням має значення ``False``. Неперевірений запит — це " +"запит, URL-адресу якого користувач не мав можливості схвалити. Наприклад, " +"якщо запит стосується зображення в документі HTML, і користувач не мав " +"можливості підтвердити автоматичне отримання зображення, це має бути правдою." + +msgid "" +"*method* should be a string that indicates the HTTP request method that will " +"be used (e.g. ``'HEAD'``). If provided, its value is stored in the :attr:" +"`~Request.method` attribute and is used by :meth:`get_method()`. The default " +"is ``'GET'`` if *data* is ``None`` or ``'POST'`` otherwise. Subclasses may " +"indicate a different default method by setting the :attr:`~Request.method` " +"attribute in the class itself." +msgstr "" +"*method* має бути рядком, що вказує на метод запиту HTTP, який буде " +"використано (наприклад, ``'HEAD'``). Якщо вказано, його значення " +"зберігається в атрибуті :attr:`~Request.method` і використовується :meth:" +"`get_method()`. Типовим значенням є ``'GET'``, якщо *data* має значення " +"``None`` або ``'POST'`` інакше. Підкласи можуть вказувати інший метод за " +"замовчуванням, встановивши атрибут :attr:`~Request.method` у самому класі." + +msgid "" +"The request will not work as expected if the data object is unable to " +"deliver its content more than once (e.g. a file or an iterable that can " +"produce the content only once) and the request is retried for HTTP redirects " +"or authentication. The *data* is sent to the HTTP server right away after " +"the headers. There is no support for a 100-continue expectation in the " +"library." +msgstr "" +"Запит не працюватиме належним чином, якщо об’єкт даних не зможе доставити " +"свій вміст більше одного разу (наприклад, файл або ітераційний елемент, який " +"може створити вміст лише один раз), і запит повторюється для перенаправлення " +"HTTP або автентифікації. *Дані* надсилаються на сервер HTTP одразу після " +"заголовків. У бібліотеці немає підтримки очікування 100 продовжень." + +msgid ":attr:`Request.method` argument is added to the Request class." +msgstr " Аргумент :attr:`Request.method` додається до класу Request." + +msgid "Default :attr:`Request.method` may be indicated at the class level." +msgstr "Типовий :attr:`Request.method` може бути вказаний на рівні класу." + +msgid "" +"Do not raise an error if the ``Content-Length`` has not been provided and " +"*data* is neither ``None`` nor a bytes object. Fall back to use chunked " +"transfer encoding instead." +msgstr "" +"Не створюйте повідомлення про помилку, якщо ``Content-Length`` не було " +"надано, а *data* не є ні ``None``, ні об'єктом bytes. Поверніться до " +"використання фрагментованого кодування передачі." + +msgid "" +"The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\\ s " +"chained together. It manages the chaining of handlers, and recovery from " +"errors." +msgstr "" +"Клас :class:`OpenerDirector` відкриває URL-адреси через :class:`BaseHandler`" +"\\ об’єднані разом. Він керує ланцюжком обробників і відновленням після " +"помилок." + +msgid "" +"This is the base class for all registered handlers --- and handles only the " +"simple mechanics of registration." +msgstr "" +"Це базовий клас для всіх зареєстрованих обробників --- і обробляє лише " +"просту механіку реєстрації." + +msgid "" +"A class which defines a default handler for HTTP error responses; all " +"responses are turned into :exc:`~urllib.error.HTTPError` exceptions." +msgstr "" +"Клас, який визначає обробник за замовчуванням для відповідей на помилки " +"HTTP; усі відповіді перетворюються на винятки :exc:`~urllib.error.HTTPError`." + +msgid "A class to handle redirections." +msgstr "Клас для обробки переспрямувань." + +msgid "A class to handle HTTP Cookies." +msgstr "Клас для обробки файлів cookie HTTP." + +msgid "" +"Cause requests to go through a proxy. If *proxies* is given, it must be a " +"dictionary mapping protocol names to URLs of proxies. The default is to read " +"the list of proxies from the environment variables ``_proxy``. If " +"no proxy environment variables are set, then in a Windows environment proxy " +"settings are obtained from the registry's Internet Settings section, and in " +"a macOS environment proxy information is retrieved from the System " +"Configuration Framework." +msgstr "" +"Змусити запити проходити через проксі. Якщо вказано *проксі*, це має бути " +"словник, який зіставляє назви протоколів з URL-адресами проксі. За " +"замовчуванням список проксі-серверів читається зі змінних середовища " +"`` _proxy``. Якщо не встановлено жодних змінних середовища проксі, " +"у середовищі Windows параметри проксі-сервера отримуються з розділу " +"параметрів Інтернету реєстру, а в середовищі macOS інформація проксі-сервера " +"отримується з System Configuration Framework." + +msgid "To disable autodetected proxy pass an empty dictionary." +msgstr "" +"Щоб вимкнути автоматичне визначення проксі, передайте порожній словник." + +msgid "" +"The :envvar:`no_proxy` environment variable can be used to specify hosts " +"which shouldn't be reached via proxy; if set, it should be a comma-separated " +"list of hostname suffixes, optionally with ``:port`` appended, for example " +"``cern.ch,ncsa.uiuc.edu,some.host:8080``." +msgstr "" +"Змінну середовища :envvar:`no_proxy` можна використовувати для визначення " +"хостів, до яких не можна звертатися через проксі; якщо встановлено, це має " +"бути розділений комами список суфіксів імен хостів, необов’язково з " +"додаванням ``:port``, наприклад ``cern.ch,ncsa.uiuc.edu,some.host:8080``." + +msgid "" +"``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " +"the documentation on :func:`~urllib.request.getproxies`." +msgstr "" +"``HTTP_PROXY`` ігноруватиметься, якщо встановлено змінну ``REQUEST_METHOD``; " +"перегляньте документацію на :func:`~urllib.request.getproxies`." + +msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." +msgstr "" +"Зберігайте базу даних відповідностей ``(сфера, uri) -> (користувач, " +"пароль)``." + +msgid "" +"Keep a database of ``(realm, uri) -> (user, password)`` mappings. A realm " +"of ``None`` is considered a catch-all realm, which is searched if no other " +"realm fits." +msgstr "" +"Зберігайте базу даних відповідностей ``(сфера, uri) -> (користувач, " +"пароль)``. Сфера ``None`` вважається всеохоплюючою областю, у якій " +"виконується пошук, якщо жодна інша область не підходить." + +msgid "" +"A variant of :class:`HTTPPasswordMgrWithDefaultRealm` that also has a " +"database of ``uri -> is_authenticated`` mappings. Can be used by a " +"BasicAuth handler to determine when to send authentication credentials " +"immediately instead of waiting for a ``401`` response first." +msgstr "" +"Варіант :class:`HTTPPasswordMgrWithDefaultRealm`, який також має базу даних " +"зіставлень ``uri -> is_authenticated``. Може використовуватися обробником " +"BasicAuth, щоб визначити, коли надсилати облікові дані для автентифікації " +"негайно замість очікування відповіді ``401``." + +msgid "" +"This is a mixin class that helps with HTTP authentication, both to the " +"remote host and to a proxy. *password_mgr*, if given, should be something " +"that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" +"`http-password-mgr` for information on the interface that must be " +"supported. If *passwd_mgr* also provides ``is_authenticated`` and " +"``update_authenticated`` methods (see :ref:`http-password-mgr-with-prior-" +"auth`), then the handler will use the ``is_authenticated`` result for a " +"given URI to determine whether or not to send authentication credentials " +"with the request. If ``is_authenticated`` returns ``True`` for the URI, " +"credentials are sent. If ``is_authenticated`` is ``False``, credentials are " +"not sent, and then if a ``401`` response is received the request is re-sent " +"with the authentication credentials. If authentication succeeds, " +"``update_authenticated`` is called to set ``is_authenticated`` ``True`` for " +"the URI, so that subsequent requests to the URI or any of its super-URIs " +"will automatically include the authentication credentials." +msgstr "" +"Це клас mixin, який допомагає з автентифікацією HTTP як на віддаленому " +"хості, так і на проксі. *password_mgr*, якщо надано, має бути чимось " +"сумісним із :class:`HTTPPasswordMgr`; зверніться до розділу :ref:`http-" +"password-mgr` для отримання інформації про інтерфейс, який має " +"підтримуватися. Якщо *passwd_mgr* також надає методи ``is_authenticated`` і " +"``update_authenticated`` (див. :ref:`http-password-mgr-with-prior-auth`), " +"тоді обробник використовуватиме результат ``is_authenticated`` для заданого " +"URI, щоб визначити, чи надсилати облікові дані автентифікації разом із " +"запитом. Якщо ``is_authenticated`` повертає ``True`` для URI, облікові дані " +"надсилаються. Якщо ``is_authenticated`` має значення ``False``, облікові " +"дані не надсилаються, а потім, якщо отримано відповідь ``401``, запит " +"повторно надсилається з обліковими даними автентифікації. Якщо " +"автентифікація проходить успішно, ``update_authenticated`` викликається, щоб " +"встановити ``is_authenticated`` ``True`` для URI, щоб наступні запити до URI " +"або будь-якого з його супер-URI автоматично включали облікові дані " +"автентифікації." + +msgid "Added ``is_authenticated`` support." +msgstr "Додано підтримку ``is_authenticated``." + +msgid "" +"Handle authentication with the remote host. *password_mgr*, if given, should " +"be something that is compatible with :class:`HTTPPasswordMgr`; refer to " +"section :ref:`http-password-mgr` for information on the interface that must " +"be supported. HTTPBasicAuthHandler will raise a :exc:`ValueError` when " +"presented with a wrong Authentication scheme." +msgstr "" +"Керувати автентифікацією на віддаленому хості. *password_mgr*, якщо його " +"вказано, має бути сумісним із :class:`HTTPPasswordMgr`; зверніться до " +"розділу :ref:`http-password-mgr` для отримання інформації про інтерфейс, " +"який має підтримуватися. HTTPBasicAuthHandler викличе помилку :exc:" +"`ValueError`, якщо надано неправильну схему автентифікації." + +msgid "" +"Handle authentication with the proxy. *password_mgr*, if given, should be " +"something that is compatible with :class:`HTTPPasswordMgr`; refer to " +"section :ref:`http-password-mgr` for information on the interface that must " +"be supported." +msgstr "" +"Керувати автентифікацією за допомогою проксі. *password_mgr*, якщо його " +"вказано, має бути сумісним із :class:`HTTPPasswordMgr`; зверніться до " +"розділу :ref:`http-password-mgr` для отримання інформації про інтерфейс, " +"який має підтримуватися." + +msgid "" +"This is a mixin class that helps with HTTP authentication, both to the " +"remote host and to a proxy. *password_mgr*, if given, should be something " +"that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" +"`http-password-mgr` for information on the interface that must be supported." +msgstr "" +"Це клас mixin, який допомагає з автентифікацією HTTP як на віддаленому " +"хості, так і на проксі. *password_mgr*, якщо його вказано, має бути сумісним " +"із :class:`HTTPPasswordMgr`; зверніться до розділу :ref:`http-password-mgr` " +"для отримання інформації про інтерфейс, який має підтримуватися." + +msgid "" +"Handle authentication with the remote host. *password_mgr*, if given, should " +"be something that is compatible with :class:`HTTPPasswordMgr`; refer to " +"section :ref:`http-password-mgr` for information on the interface that must " +"be supported. When both Digest Authentication Handler and Basic " +"Authentication Handler are both added, Digest Authentication is always tried " +"first. If the Digest Authentication returns a 40x response again, it is sent " +"to Basic Authentication handler to Handle. This Handler method will raise " +"a :exc:`ValueError` when presented with an authentication scheme other than " +"Digest or Basic." +msgstr "" +"Керувати автентифікацією на віддаленому хості. *password_mgr*, якщо його " +"вказано, має бути сумісним із :class:`HTTPPasswordMgr`; зверніться до " +"розділу :ref:`http-password-mgr` для отримання інформації про інтерфейс, " +"який має підтримуватися. Якщо додано як обробник дайджест-автентифікації, " +"так і обробник базової автентифікації, дайджест-автентифікація завжди " +"виконується першою. Якщо дайджест автентифікації знову повертає відповідь " +"40x, він надсилається обробнику базової автентифікації для обробки. Цей " +"метод обробника викличе :exc:`ValueError`, коли представлено схему " +"автентифікації, відмінну від Digest або Basic." + +msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." +msgstr "Викликати :exc:`ValueError` на непідтримуваній схемі автентифікації." + +msgid "A class to handle opening of HTTP URLs." +msgstr "Клас для обробки відкриття URL-адрес HTTP." + +msgid "" +"A class to handle opening of HTTPS URLs. *context* and *check_hostname* " +"have the same meaning as in :class:`http.client.HTTPSConnection`." +msgstr "" +"Клас для обробки URL-адрес HTTPS. *context* і *check_hostname* мають те саме " +"значення, що й у :class:`http.client.HTTPSConnection`." + +msgid "*context* and *check_hostname* were added." +msgstr "*context* і *check_hostname* були додані." + +msgid "Open local files." +msgstr "Відкрийте локальні файли." + +msgid "Open data URLs." +msgstr "URL-адреси відкритих даних." + +msgid "Open FTP URLs." +msgstr "Відкрийте URL-адреси FTP." + +msgid "" +"Open FTP URLs, keeping a cache of open FTP connections to minimize delays." +msgstr "" +"Відкриті URL-адреси FTP, зберігаючи кеш відкритих з’єднань FTP, щоб " +"мінімізувати затримки." + +msgid "A catch-all class to handle unknown URLs." +msgstr "Універсальний клас для обробки невідомих URL-адрес." + +msgid "Process HTTP error responses." +msgstr "Обробляти відповіді на помилки HTTP." + +msgid "Request Objects" +msgstr "Об'єкти запиту" + +msgid "" +"The following methods describe :class:`Request`'s public interface, and so " +"all may be overridden in subclasses. It also defines several public " +"attributes that can be used by clients to inspect the parsed request." +msgstr "" +"Наступні методи описують публічний інтерфейс :class:`Request`, тому всі вони " +"можуть бути перевизначені в підкласах. Він також визначає кілька публічних " +"атрибутів, які можуть використовуватися клієнтами для перевірки " +"аналізованого запиту." + +msgid "The original URL passed to the constructor." +msgstr "Вихідна URL-адреса передається конструктору." + +msgid "" +"Request.full_url is a property with setter, getter and a deleter. Getting :" +"attr:`~Request.full_url` returns the original request URL with the fragment, " +"if it was present." +msgstr "" +"Request.full_url — це властивість із установником, отримувачем і видаленням. " +"Отримання :attr:`~Request.full_url` повертає початкову URL-адресу запиту з " +"фрагментом, якщо він був присутній." + +msgid "The URI scheme." +msgstr "Схема URI." + +msgid "" +"The URI authority, typically a host, but may also contain a port separated " +"by a colon." +msgstr "" +"Повноваження URI, як правило, хост, але також може містити порт, розділений " +"двокрапкою." + +msgid "The original host for the request, without port." +msgstr "Оригінальний хост для запиту, без порту." + +msgid "" +"The URI path. If the :class:`Request` uses a proxy, then selector will be " +"the full URL that is passed to the proxy." +msgstr "" +"Шлях URI. Якщо :class:`Request` використовує проксі, тоді селектором буде " +"повна URL-адреса, яка передається проксі." + +msgid "The entity body for the request, or ``None`` if not specified." +msgstr "Тіло сутності для запиту або ``None``, якщо не вказано." + +msgid "" +"Changing value of :attr:`Request.data` now deletes \"Content-Length\" header " +"if it was previously set or calculated." +msgstr "" +"Зміна значення :attr:`Request.data` тепер видаляє заголовок \"Content-Length" +"\", якщо він був раніше встановлений або обчислений." + +msgid "" +"boolean, indicates whether the request is unverifiable as defined by :rfc:" +"`2965`." +msgstr "" +"логічне значення, вказує, чи запит не можна перевірити, як визначено :rfc:" +"`2965`." + +msgid "" +"The HTTP request method to use. By default its value is :const:`None`, " +"which means that :meth:`~Request.get_method` will do its normal computation " +"of the method to be used. Its value can be set (thus overriding the default " +"computation in :meth:`~Request.get_method`) either by providing a default " +"value by setting it at the class level in a :class:`Request` subclass, or by " +"passing a value in to the :class:`Request` constructor via the *method* " +"argument." +msgstr "" +"Метод запиту HTTP для використання. За замовчуванням його значення :const:" +"`None`, що означає, що :meth:`~Request.get_method` виконає звичайне " +"обчислення методу, який буде використано. Його значення можна встановити " +"(таким чином замінюючи обчислення за замовчуванням у :meth:`~Request." +"get_method`) або шляхом надання значення за замовчуванням, установивши його " +"на рівні класу в підкласі :class:`Request`, або передавши значення у " +"конструктор :class:`Request` через аргумент *method*." + +msgid "" +"A default value can now be set in subclasses; previously it could only be " +"set via the constructor argument." +msgstr "" +"Значення за замовчуванням тепер можна встановити в підкласах; раніше його " +"можна було встановити лише через аргумент конструктора." + +msgid "" +"Return a string indicating the HTTP request method. If :attr:`Request." +"method` is not ``None``, return its value, otherwise return ``'GET'`` if :" +"attr:`Request.data` is ``None``, or ``'POST'`` if it's not. This is only " +"meaningful for HTTP requests." +msgstr "" +"Повертає рядок із зазначенням методу запиту HTTP. Якщо :attr:`Request." +"method` не є ``None``, поверніть його значення, інакше поверніть ``'GET'``, " +"якщо :attr:`Request.data` має значення ``None`` або ``' POST''``, якщо це не " +"так. Це має значення лише для запитів HTTP." + +msgid "get_method now looks at the value of :attr:`Request.method`." +msgstr "get_method тепер переглядає значення :attr:`Request.method`." + +msgid "" +"Add another header to the request. Headers are currently ignored by all " +"handlers except HTTP handlers, where they are added to the list of headers " +"sent to the server. Note that there cannot be more than one header with the " +"same name, and later calls will overwrite previous calls in case the *key* " +"collides. Currently, this is no loss of HTTP functionality, since all " +"headers which have meaning when used more than once have a (header-specific) " +"way of gaining the same functionality using only one header. Note that " +"headers added using this method are also added to redirected requests." +msgstr "" +"Додайте інший заголовок до запиту. Наразі заголовки ігноруються всіма " +"обробниками, крім обробників HTTP, де вони додаються до списку заголовків, " +"надісланих на сервер. Зауважте, що не може бути більше одного заголовка з " +"однаковим іменем, і пізніші виклики перезапишуть попередні виклики, якщо " +"*ключ* зіткнеться. Наразі це не втрачає функціональність HTTP, оскільки всі " +"заголовки, які мають значення при повторному використанні, мають " +"(специфічний для заголовка) спосіб отримати ту саму функціональність, " +"використовуючи лише один заголовок. Зауважте, що заголовки, додані за " +"допомогою цього методу, також додаються до перенаправлених запитів." + +msgid "Add a header that will not be added to a redirected request." +msgstr "Додайте заголовок, який не буде додано до переспрямованого запиту." + +msgid "" +"Return whether the instance has the named header (checks both regular and " +"unredirected)." +msgstr "" +"Повертає, чи має екземпляр названий заголовок (перевіряє як звичайний, так і " +"неперенаправлений)." + +msgid "" +"Remove named header from the request instance (both from regular and " +"unredirected headers)." +msgstr "" +"Видаліть іменований заголовок із екземпляра запиту (як зі звичайних, так і з " +"непереспрямованих заголовків)." + +msgid "Return the URL given in the constructor." +msgstr "Повертає URL-адресу, указану в конструкторі." + +msgid "Returns :attr:`Request.full_url`" +msgstr "Повертає :attr:`Request.full_url`" + +msgid "" +"Prepare the request by connecting to a proxy server. The *host* and *type* " +"will replace those of the instance, and the instance's selector will be the " +"original URL given in the constructor." +msgstr "" +"Підготуйте запит, підключившись до проксі-сервера. *host* і *type* замінять " +"параметри екземпляра, а селектор екземпляра буде оригінальною URL-адресою, " +"заданою в конструкторі." + +msgid "" +"Return the value of the given header. If the header is not present, return " +"the default value." +msgstr "" +"Повертає значення заданого заголовка. Якщо заголовок відсутній, поверніть " +"значення за замовчуванням." + +msgid "" +"Return a list of tuples (header_name, header_value) of the Request headers." +msgstr "" +"Повертає список кортежів (header_name, header_value) заголовків запиту." + +msgid "" +"The request methods add_data, has_data, get_data, get_type, get_host, " +"get_selector, get_origin_req_host and is_unverifiable that were deprecated " +"since 3.3 have been removed." +msgstr "" +"Методи запиту add_data, has_data, get_data, get_type, get_host, " +"get_selector, get_origin_req_host і is_unverifiable, які були застарілими з " +"3.3, були видалені." + +msgid "OpenerDirector Objects" +msgstr "Об’єкти OpenerDirector" + +msgid ":class:`OpenerDirector` instances have the following methods:" +msgstr "Екземпляри :class:`OpenerDirector` мають такі методи:" + +msgid "" +"*handler* should be an instance of :class:`BaseHandler`. The following " +"methods are searched, and added to the possible chains (note that HTTP " +"errors are a special case). Note that, in the following, *protocol* should " +"be replaced with the actual protocol to handle, for example :meth:" +"`http_response` would be the HTTP protocol response handler. Also *type* " +"should be replaced with the actual HTTP code, for example :meth:" +"`http_error_404` would handle HTTP 404 errors." +msgstr "" +"*handler* має бути екземпляром :class:`BaseHandler`. Наступні методи " +"шукаються та додаються до можливих ланцюжків (зверніть увагу, що помилки " +"HTTP є окремим випадком). Зауважте, що далі *протокол* слід замінити на " +"фактичний протокол для обробки, наприклад, :meth:`http_response` буде " +"обробником відповіді протоколу HTTP. Також *type* слід замінити фактичним " +"кодом HTTP, наприклад, :meth:`http_error_404` оброблятиме помилки HTTP 404." + +msgid "" +":meth:`_open` --- signal that the handler knows how to open " +"*protocol* URLs." +msgstr "" +":meth:` _open` --- означає, що обробник знає, як відкривати " +"*протокольні* URL-адреси." + +msgid "See |protocol_open|_ for more information." +msgstr "Перегляньте |protocol_open|_ для отримання додаткової інформації." + +msgid "" +":meth:`http_error_\\` --- signal that the handler knows how to " +"handle HTTP errors with HTTP error code *type*." +msgstr "" +":meth:`http_error_\\ ` --- означає, що обробник знає, як обробляти " +"помилки HTTP з кодом помилки HTTP *тип*." + +msgid "See |http_error_nnn|_ for more information." +msgstr "Перегляньте |http_error_nnn|_ для отримання додаткової інформації." + +msgid "" +":meth:`_error` --- signal that the handler knows how to handle " +"errors from (non-\\ ``http``) *protocol*." +msgstr "" +":meth:` _error` --- означає, що обробник знає, як обробляти " +"помилки з (не\\ ``http``) *протоколу*." + +msgid "" +":meth:`_request` --- signal that the handler knows how to pre-" +"process *protocol* requests." +msgstr "" +":meth:` _request` --- означає, що обробник знає, як попередньо " +"обробляти *протокольні* запити." + +msgid "See |protocol_request|_ for more information." +msgstr "Перегляньте |protocol_request|_ для отримання додаткової інформації." + +msgid "" +":meth:`_response` --- signal that the handler knows how to post-" +"process *protocol* responses." +msgstr "" +":meth:` _response` --- означає, що обробник знає, як постобробити " +"*протокольні* відповіді." + +msgid "See |protocol_response|_ for more information." +msgstr "Дивіться |protocol_response|_ для отримання додаткової інформації." + +msgid "" +"Open the given *url* (which can be a request object or a string), optionally " +"passing the given *data*. Arguments, return values and exceptions raised are " +"the same as those of :func:`urlopen` (which simply calls the :meth:`open` " +"method on the currently installed global :class:`OpenerDirector`). The " +"optional *timeout* parameter specifies a timeout in seconds for blocking " +"operations like the connection attempt (if not specified, the global default " +"timeout setting will be used). The timeout feature actually works only for " +"HTTP, HTTPS and FTP connections." +msgstr "" +"Відкрийте вказаний *url* (який може бути об’єктом запиту або рядком), " +"необов’язково передаючи вказані *дані*. Аргументи, значення, що " +"повертаються, і викликані винятки такі самі, як у :func:`urlopen` (який " +"просто викликає метод :meth:`open` у поточному встановленому глобальному :" +"class:`OpenerDirector`). Необов’язковий параметр *timeout* визначає час " +"очікування в секундах для блокування таких операцій, як спроба підключення " +"(якщо не вказано, буде використано глобальне налаштування часу очікування за " +"умовчанням). Функція тайм-ауту фактично працює лише для з’єднань HTTP, HTTPS " +"і FTP." + +msgid "" +"Handle an error of the given protocol. This will call the registered error " +"handlers for the given protocol with the given arguments (which are protocol " +"specific). The HTTP protocol is a special case which uses the HTTP response " +"code to determine the specific error handler; refer to the :meth:`http_error_" +"\\` methods of the handler classes." +msgstr "" +"Обробка помилки заданого протоколу. Це викличе зареєстровані обробники " +"помилок для даного протоколу з заданими аргументами (які є специфічними для " +"протоколу). Протокол HTTP є окремим випадком, який використовує код " +"відповіді HTTP для визначення конкретного обробника помилок; зверніться до " +"методів :meth:`http_error_\\ ` класів обробників." + +msgid "" +"Return values and exceptions raised are the same as those of :func:`urlopen`." +msgstr "" +"Повернуті значення та викликані винятки такі самі, як і для :func:`urlopen`." + +msgid "OpenerDirector objects open URLs in three stages:" +msgstr "Об’єкти OpenerDirector відкривають URL-адреси в три етапи:" + +msgid "" +"The order in which these methods are called within each stage is determined " +"by sorting the handler instances." +msgstr "" +"Порядок, у якому ці методи викликаються на кожному етапі, визначається " +"сортуванням екземплярів обробника." + +msgid "" +"Every handler with a method named like :meth:`_request` has that " +"method called to pre-process the request." +msgstr "" +"Кожен обробник із таким методом, як :meth:` _request` має цей " +"метод, який викликається для попередньої обробки запиту." + +msgid "" +"Handlers with a method named like :meth:`_open` are called to " +"handle the request. This stage ends when a handler either returns a non-\\ :" +"const:`None` value (ie. a response), or raises an exception (usually :exc:" +"`~urllib.error.URLError`). Exceptions are allowed to propagate." +msgstr "" +"Для обробки запиту викликаються обробники з таким методом, як :meth:" +"` _open`. Цей етап закінчується, коли обробник або повертає не\\ :" +"const:`None` значення (тобто відповідь), або викликає виняткову ситуацію " +"(зазвичай :exc:`~urllib.error.URLError`). Винятки дозволені для поширення." + +msgid "" +"In fact, the above algorithm is first tried for methods named :meth:" +"`default_open`. If all such methods return :const:`None`, the algorithm is " +"repeated for methods named like :meth:`_open`. If all such " +"methods return :const:`None`, the algorithm is repeated for methods named :" +"meth:`unknown_open`." +msgstr "" +"Фактично, наведений вище алгоритм спочатку випробувано для методів з іменем :" +"meth:`default_open`. Якщо всі такі методи повертають :const:`None`, алгоритм " +"повторюється для методів із назвами :meth:` _open`. Якщо всі такі " +"методи повертають :const:`None`, алгоритм повторюється для методів з назвою :" +"meth:`unknown_open`." + +msgid "" +"Note that the implementation of these methods may involve calls of the " +"parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` and :" +"meth:`~OpenerDirector.error` methods." +msgstr "" +"Зауважте, що реалізація цих методів може передбачати виклики методів :meth:" +"`~OpenerDirector.open` і :meth:`~OpenerDirector.error` примірника " +"батьківського :class:`OpenerDirector`." + +msgid "" +"Every handler with a method named like :meth:`_response` has that " +"method called to post-process the response." +msgstr "" +"Кожен обробник із таким методом, як :meth:` _response`, має цей " +"метод, який викликається для постобробки відповіді." + +msgid "BaseHandler Objects" +msgstr "Об’єкти BaseHandler" + +msgid "" +":class:`BaseHandler` objects provide a couple of methods that are directly " +"useful, and others that are meant to be used by derived classes. These are " +"intended for direct use:" +msgstr "" +"Об’єкти :class:`BaseHandler` надають кілька методів, які є безпосередньо " +"корисними, а також інші, які призначені для використання похідними класами. " +"Вони призначені для безпосереднього використання:" + +msgid "Add a director as parent." +msgstr "Додати директора як батька." + +msgid "Remove any parents." +msgstr "Видаліть усіх батьків." + +msgid "" +"The following attribute and methods should only be used by classes derived " +"from :class:`BaseHandler`." +msgstr "" +"Наступний атрибут і методи мають використовуватися лише класами, похідними " +"від :class:`BaseHandler`." + +msgid "" +"The convention has been adopted that subclasses defining :meth:" +"`_request` or :meth:`_response` methods are named :class:" +"`\\*Processor`; all others are named :class:`\\*Handler`." +msgstr "" +"Було прийнято, що підкласи, що визначають методи :meth:` _request` " +"або :meth:` _response`, називаються :class:`\\*Processor`; усі " +"інші мають назву :class:`\\*Handler`." + +msgid "" +"A valid :class:`OpenerDirector`, which can be used to open using a different " +"protocol, or handle errors." +msgstr "" +"Дійсний :class:`OpenerDirector`, який можна використовувати для відкриття за " +"допомогою іншого протоколу або обробки помилок." + +msgid "" +"This method is *not* defined in :class:`BaseHandler`, but subclasses should " +"define it if they want to catch all URLs." +msgstr "" +"Цей метод *не* визначено в :class:`BaseHandler`, але підкласи повинні " +"визначити його, якщо вони хочуть перехоплювати всі URL-адреси." + +msgid "" +"This method, if implemented, will be called by the parent :class:" +"`OpenerDirector`. It should return a file-like object as described in the " +"return value of the :meth:`~OpenerDirector.open` method of :class:" +"`OpenerDirector`, or ``None``. It should raise :exc:`~urllib.error." +"URLError`, unless a truly exceptional thing happens (for example, :exc:" +"`MemoryError` should not be mapped to :exc:`URLError`)." +msgstr "" +"Цей метод, якщо він реалізований, буде викликаний батьківським :class:" +"`OpenerDirector`. Він має повертати файлоподібний об’єкт, як описано в " +"поверненому значенні методу :meth:`~OpenerDirector.open` :class:" +"`OpenerDirector` або ``None``. Він повинен викликати :exc:`~urllib.error." +"URLError`, якщо не станеться справді виняткова річ (наприклад, :exc:" +"`MemoryError` не має зіставлятися з :exc:`URLError`)." + +msgid "This method will be called before any protocol-specific open method." +msgstr "Цей метод буде викликано перед будь-яким відкритим методом протоколу." + +msgid "" +"This method is *not* defined in :class:`BaseHandler`, but subclasses should " +"define it if they want to handle URLs with the given protocol." +msgstr "" +"Цей метод *не* визначено в :class:`BaseHandler`, але підкласи повинні " +"визначити його, якщо вони хочуть обробляти URL-адреси за допомогою заданого " +"протоколу." + +msgid "" +"This method, if defined, will be called by the parent :class:" +"`OpenerDirector`. Return values should be the same as for :meth:" +"`default_open`." +msgstr "" +"Цей метод, якщо його визначено, буде викликано батьківським :class:" +"`OpenerDirector`. Повернуті значення мають бути такими ж, як і для :meth:" +"`default_open`." + +msgid "" +"This method is *not* defined in :class:`BaseHandler`, but subclasses should " +"define it if they want to catch all URLs with no specific registered handler " +"to open it." +msgstr "" +"Цей метод *не* визначено в :class:`BaseHandler`, але підкласи повинні " +"визначити його, якщо вони хочуть перехопити всі URL-адреси без спеціального " +"зареєстрованого обробника для його відкриття." + +msgid "" +"This method, if implemented, will be called by the :attr:`parent` :class:" +"`OpenerDirector`. Return values should be the same as for :meth:" +"`default_open`." +msgstr "" +"Цей метод, якщо він реалізований, буде викликаний :attr:`parent` :class:" +"`OpenerDirector`. Повернуті значення мають бути такими ж, як і для :meth:" +"`default_open`." + +msgid "" +"This method is *not* defined in :class:`BaseHandler`, but subclasses should " +"override it if they intend to provide a catch-all for otherwise unhandled " +"HTTP errors. It will be called automatically by the :class:" +"`OpenerDirector` getting the error, and should not normally be called in " +"other circumstances." +msgstr "" +"Цей метод *не* визначено в :class:`BaseHandler`, але підкласи повинні " +"перевизначати його, якщо вони мають намір надати збірку для всіх " +"необроблених помилок HTTP. Він автоматично викликається :class:" +"`OpenerDirector`, який отримує помилку, і зазвичай не повинен викликатися за " +"інших обставин." + +msgid "" +"*req* will be a :class:`Request` object, *fp* will be a file-like object " +"with the HTTP error body, *code* will be the three-digit code of the error, " +"*msg* will be the user-visible explanation of the code and *hdrs* will be a " +"mapping object with the headers of the error." +msgstr "" +"*req* буде об’єктом :class:`Request`, *fp* буде файлоподібним об’єктом із " +"тілом помилки HTTP, *code* буде тризначним кодом помилки, *msg* буде видиме " +"для користувача пояснення коду та *hdrs* буде об’єктом відображення із " +"заголовками помилки." + +msgid "" +"Return values and exceptions raised should be the same as those of :func:" +"`urlopen`." +msgstr "" +"Повернуті значення та викликані винятки мають бути такими самими, як у :func:" +"`urlopen`." + +msgid "" +"*nnn* should be a three-digit HTTP error code. This method is also not " +"defined in :class:`BaseHandler`, but will be called, if it exists, on an " +"instance of a subclass, when an HTTP error with code *nnn* occurs." +msgstr "" +"*nnn* має бути тризначним кодом помилки HTTP. Цей метод також не визначено " +"в :class:`BaseHandler`, але буде викликаний, якщо він існує, на екземплярі " +"підкласу, коли виникає помилка HTTP з кодом *nnn*." + +msgid "Subclasses should override this method to handle specific HTTP errors." +msgstr "" +"Підкласи повинні замінити цей метод для обробки конкретних помилок HTTP." + +msgid "" +"Arguments, return values and exceptions raised should be the same as for :" +"meth:`http_error_default`." +msgstr "" +"Аргументи, значення, що повертаються, і викликані винятки мають бути такими " +"самими, як і для :meth:`http_error_default`." + +msgid "" +"This method is *not* defined in :class:`BaseHandler`, but subclasses should " +"define it if they want to pre-process requests of the given protocol." +msgstr "" +"Цей метод *не* визначено в :class:`BaseHandler`, але підкласи повинні " +"визначити його, якщо вони хочуть попередньо обробляти запити даного " +"протоколу." + +msgid "" +"This method, if defined, will be called by the parent :class:" +"`OpenerDirector`. *req* will be a :class:`Request` object. The return value " +"should be a :class:`Request` object." +msgstr "" +"Цей метод, якщо його визначено, буде викликано батьківським :class:" +"`OpenerDirector`. *req* буде об’єктом :class:`Request`. Поверненим значенням " +"має бути об’єкт :class:`Request`." + +msgid "" +"This method is *not* defined in :class:`BaseHandler`, but subclasses should " +"define it if they want to post-process responses of the given protocol." +msgstr "" +"Цей метод *не* визначено в :class:`BaseHandler`, але підкласи повинні " +"визначити його, якщо вони хочуть постобробити відповіді заданого протоколу." + +msgid "" +"This method, if defined, will be called by the parent :class:" +"`OpenerDirector`. *req* will be a :class:`Request` object. *response* will " +"be an object implementing the same interface as the return value of :func:" +"`urlopen`. The return value should implement the same interface as the " +"return value of :func:`urlopen`." +msgstr "" +"Цей метод, якщо його визначено, буде викликано батьківським :class:" +"`OpenerDirector`. *req* буде об’єктом :class:`Request`. *response* буде " +"об’єктом, який реалізує той самий інтерфейс, що й значення, що повертається :" +"func:`urlopen`. Значення, що повертається, має реалізовувати той самий " +"інтерфейс, що й значення, що повертається :func:`urlopen`." + +msgid "HTTPRedirectHandler Objects" +msgstr "Об’єкти HTTPRedirectHandler" + +msgid "" +"Some HTTP redirections require action from this module's client code. If " +"this is the case, :exc:`~urllib.error.HTTPError` is raised. See :rfc:`2616` " +"for details of the precise meanings of the various redirection codes." +msgstr "" +"Деякі перенаправлення HTTP вимагають дії від клієнтського коду цього модуля. " +"Якщо це так, виникає :exc:`~urllib.error.HTTPError`. Див. :rfc:`2616` для " +"детальної інформації про точні значення різних кодів перенаправлення." + +msgid "" +"An :class:`HTTPError` exception raised as a security consideration if the " +"HTTPRedirectHandler is presented with a redirected URL which is not an HTTP, " +"HTTPS or FTP URL." +msgstr "" +"Виняток :class:`HTTPError` виникає з міркувань безпеки, якщо " +"HTTPRedirectHandler представлено з перенаправленою URL-адресою, яка не є URL-" +"адресою HTTP, HTTPS або FTP." + +msgid "" +"Return a :class:`Request` or ``None`` in response to a redirect. This is " +"called by the default implementations of the :meth:`http_error_30\\*` " +"methods when a redirection is received from the server. If a redirection " +"should take place, return a new :class:`Request` to allow :meth:" +"`http_error_30\\*` to perform the redirect to *newurl*. Otherwise, raise :" +"exc:`~urllib.error.HTTPError` if no other handler should try to handle this " +"URL, or return ``None`` if you can't but another handler might." +msgstr "" +"Повернути :class:`Request` або ``None`` у відповідь на перенаправлення. Це " +"викликається стандартними реалізаціями методів :meth:`http_error_30\\*`, " +"коли перенаправлення отримано від сервера. Якщо має відбутися " +"перенаправлення, поверніть новий :class:`Request`, щоб дозволити :meth:" +"`http_error_30\\*` виконати перенаправлення на *newurl*. В іншому випадку " +"підніміть :exc:`~urllib.error.HTTPError`, якщо жоден інший обробник не " +"намагатиметься обробити цю URL-адресу, або поверніть ``None``, якщо ви не " +"можете, але може інший обробник." + +msgid "" +"The default implementation of this method does not strictly follow :rfc:" +"`2616`, which says that 301 and 302 responses to ``POST`` requests must not " +"be automatically redirected without confirmation by the user. In reality, " +"browsers do allow automatic redirection of these responses, changing the " +"POST to a ``GET``, and the default implementation reproduces this behavior." +msgstr "" +"Стандартна реалізація цього методу не відповідає суворо :rfc:`2616`, яка " +"говорить, що відповіді 301 і 302 на запити ``POST`` не повинні автоматично " +"перенаправлятися без підтвердження користувача. Насправді браузери " +"дозволяють автоматичне перенаправлення цих відповідей, змінюючи POST на " +"``GET``, і реалізація за замовчуванням відтворює цю поведінку." + +msgid "" +"Redirect to the ``Location:`` or ``URI:`` URL. This method is called by the " +"parent :class:`OpenerDirector` when getting an HTTP 'moved permanently' " +"response." +msgstr "" +"Переспрямування на URL-адресу ``Location:`` або ``URI:``. Цей метод " +"викликається батьківським :class:`OpenerDirector` під час отримання HTTP-" +"відповіді \"переміщено назавжди\"." + +msgid "" +"The same as :meth:`http_error_301`, but called for the 'found' response." +msgstr "" +"Те саме, що :meth:`http_error_301`, але викликається відповідь 'знайдено'." + +msgid "" +"The same as :meth:`http_error_301`, but called for the 'see other' response." +msgstr "" +"Те саме, що :meth:`http_error_301`, але викликається відповідь \"переглянути " +"інше\"." + +msgid "" +"The same as :meth:`http_error_301`, but called for the 'temporary redirect' " +"response. It does not allow changing the request method from ``POST`` to " +"``GET``." +msgstr "" + +msgid "" +"The same as :meth:`http_error_301`, but called for the 'permanent redirect' " +"response. It does not allow changing the request method from ``POST`` to " +"``GET``." +msgstr "" + +msgid "HTTPCookieProcessor Objects" +msgstr "Об’єкти HTTPCookieProcessor" + +msgid ":class:`HTTPCookieProcessor` instances have one attribute:" +msgstr "Екземпляри :class:`HTTPCookieProcessor` мають один атрибут:" + +msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." +msgstr ":class:`http.cookiejar.CookieJar`, у якому зберігаються файли cookie." + +msgid "ProxyHandler Objects" +msgstr "Об’єкти ProxyHandler" + +msgid "" +"The :class:`ProxyHandler` will have a method :meth:`_open` for " +"every *protocol* which has a proxy in the *proxies* dictionary given in the " +"constructor. The method will modify requests to go through the proxy, by " +"calling ``request.set_proxy()``, and call the next handler in the chain to " +"actually execute the protocol." +msgstr "" +":class:`ProxyHandler` матиме метод :meth:` _open` для кожного " +"*протоколу*, який має проксі у словнику *proxies*, указаному в конструкторі. " +"Метод змінюватиме запити для проходження через проксі, викликаючи ``request." +"set_proxy()``, і викличе наступний обробник у ланцюжку для фактичного " +"виконання протоколу." + +msgid "HTTPPasswordMgr Objects" +msgstr "Об’єкти HTTPPasswordMgr" + +msgid "" +"These methods are available on :class:`HTTPPasswordMgr` and :class:" +"`HTTPPasswordMgrWithDefaultRealm` objects." +msgstr "" +"Ці методи доступні в об’єктах :class:`HTTPPasswordMgr` і :class:" +"`HTTPPasswordMgrWithDefaultRealm`." + +msgid "" +"*uri* can be either a single URI, or a sequence of URIs. *realm*, *user* and " +"*passwd* must be strings. This causes ``(user, passwd)`` to be used as " +"authentication tokens when authentication for *realm* and a super-URI of any " +"of the given URIs is given." +msgstr "" +"*uri* може бути або одним URI, або послідовністю URI. *realm*, *user* і " +"*passwd* мають бути рядками. Це спричиняє використання ``(user, passwd)`` як " +"маркерів автентифікації, коли надається автентифікація для *сфери* та супер-" +"URI будь-якого з указаних URI." + +msgid "" +"Get user/password for given realm and URI, if any. This method will return " +"``(None, None)`` if there is no matching user/password." +msgstr "" +"Отримайте користувача/пароль для заданої області та URI, якщо є. Цей метод " +"поверне ``(None, None)``, якщо немає відповідного користувача/паролю." + +msgid "" +"For :class:`HTTPPasswordMgrWithDefaultRealm` objects, the realm ``None`` " +"will be searched if the given *realm* has no matching user/password." +msgstr "" +"Для об’єктів :class:`HTTPPasswordMgrWithDefaultRealm` шукатиметься область " +"``None``, якщо дана *сфера* не має відповідного користувача/паролю." + +msgid "HTTPPasswordMgrWithPriorAuth Objects" +msgstr "Об’єкти HTTPPasswordMgrWithPriorAuth" + +msgid "" +"This password manager extends :class:`HTTPPasswordMgrWithDefaultRealm` to " +"support tracking URIs for which authentication credentials should always be " +"sent." +msgstr "" +"Цей менеджер паролів розширює :class:`HTTPPasswordMgrWithDefaultRealm` для " +"підтримки URI відстеження, для яких завжди слід надсилати облікові дані " +"автентифікації." + +msgid "" +"*realm*, *uri*, *user*, *passwd* are as for :meth:`HTTPPasswordMgr." +"add_password`. *is_authenticated* sets the initial value of the " +"``is_authenticated`` flag for the given URI or list of URIs. If " +"*is_authenticated* is specified as ``True``, *realm* is ignored." +msgstr "" +"*realm*, *uri*, *user*, *passwd* такі ж, як для :meth:`HTTPPasswordMgr." +"add_password`. *is_authenticated* встановлює початкове значення прапора " +"``is_authenticated`` для даного URI або списку URI. Якщо *is_authenticated* " +"указано як ``True``, *realm* ігнорується." + +msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" +msgstr "Те саме, що для об’єктів :class:`HTTPPasswordMgrWithDefaultRealm`" + +msgid "" +"Update the ``is_authenticated`` flag for the given *uri* or list of URIs." +msgstr "" +"Оновіть прапорець ``is_authenticated`` для заданого *uri* або списку URI." + +msgid "" +"Returns the current state of the ``is_authenticated`` flag for the given URI." +msgstr "Повертає поточний стан прапора ``is_authenticated`` для вказаного URI." + +msgid "AbstractBasicAuthHandler Objects" +msgstr "Об’єкти AbstractBasicAuthHandler" + +msgid "" +"Handle an authentication request by getting a user/password pair, and re-" +"trying the request. *authreq* should be the name of the header where the " +"information about the realm is included in the request, *host* specifies the " +"URL and path to authenticate for, *req* should be the (failed) :class:" +"`Request` object, and *headers* should be the error headers." +msgstr "" +"Обробіть запит на автентифікацію, отримавши пару користувач/пароль і " +"повторивши запит. *authreq* має бути ім’ям заголовка, де інформація про " +"область включена в запит, *host* визначає URL-адресу та шлях для " +"автентифікації, *req* має бути (не вдалося) об’єктом :class:`Request` , а " +"*headers* мають бути заголовками помилок." + +msgid "" +"*host* is either an authority (e.g. ``\"python.org\"``) or a URL containing " +"an authority component (e.g. ``\"http://python.org/\"``). In either case, " +"the authority must not contain a userinfo component (so, ``\"python.org\"`` " +"and ``\"python.org:80\"`` are fine, ``\"joe:password@python.org\"`` is not)." +msgstr "" +"*host* — це або повноваження (наприклад, ``\"python.org\"``), або URL-" +"адреса, що містить компонент повноважень (наприклад, ``\"http://python.org/" +"\"``). У будь-якому випадку повноваження не повинні містити компонент " +"userinfo (тому ``\"python.org\"`` і ``\"python.org:80\"`` підходять, ``\"joe:" +"password@python.org\"`` не є)." + +msgid "HTTPBasicAuthHandler Objects" +msgstr "Об’єкти HTTPBasicAuthHandler" + +msgid "Retry the request with authentication information, if available." +msgstr "Повторіть запит із інформацією для автентифікації, якщо вона доступна." + +msgid "ProxyBasicAuthHandler Objects" +msgstr "Об’єкти ProxyBasicAuthHandler" + +msgid "AbstractDigestAuthHandler Objects" +msgstr "Об’єкти AbstractDigestAuthHandler" + +msgid "" +"*authreq* should be the name of the header where the information about the " +"realm is included in the request, *host* should be the host to authenticate " +"to, *req* should be the (failed) :class:`Request` object, and *headers* " +"should be the error headers." +msgstr "" +"*authreq* має бути ім’ям заголовка, де інформація про область включена в " +"запит, *host* має бути хостом для автентифікації, *req* має бути (не " +"вдалося) об’єктом :class:`Request`, і *headers* повинні бути заголовками " +"помилок." + +msgid "HTTPDigestAuthHandler Objects" +msgstr "Об’єкти HTTPDigestAuthHandler" + +msgid "ProxyDigestAuthHandler Objects" +msgstr "Об’єкти ProxyDigestAuthHandler" + +msgid "HTTPHandler Objects" +msgstr "Об’єкти HTTPHandler" + +msgid "" +"Send an HTTP request, which can be either GET or POST, depending on ``req." +"has_data()``." +msgstr "" +"Надішліть запит HTTP, який може бути GET або POST, залежно від ``req." +"has_data()``." + +msgid "HTTPSHandler Objects" +msgstr "Об’єкти HTTPSHandler" + +msgid "" +"Send an HTTPS request, which can be either GET or POST, depending on ``req." +"has_data()``." +msgstr "" +"Надішліть запит HTTPS, який може бути GET або POST, залежно від ``req." +"has_data()``." + +msgid "FileHandler Objects" +msgstr "Об’єкти FileHandler" + +msgid "" +"Open the file locally, if there is no host name, or the host name is " +"``'localhost'``." +msgstr "" +"Відкрийте файл локально, якщо немає імені хоста або ім’я хоста " +"``'localhost'``." + +msgid "" +"This method is applicable only for local hostnames. When a remote hostname " +"is given, an :exc:`~urllib.error.URLError` is raised." +msgstr "" +"Цей метод застосовний лише для локальних імен хостів. Коли вказано ім’я " +"віддаленого хоста, виникає :exc:`~urllib.error.URLError`." + +msgid "DataHandler Objects" +msgstr "Об’єкти DataHandler" + +msgid "" +"Read a data URL. This kind of URL contains the content encoded in the URL " +"itself. The data URL syntax is specified in :rfc:`2397`. This implementation " +"ignores white spaces in base64 encoded data URLs so the URL may be wrapped " +"in whatever source file it comes from. But even though some browsers don't " +"mind about a missing padding at the end of a base64 encoded data URL, this " +"implementation will raise an :exc:`ValueError` in that case." +msgstr "" +"Прочитайте URL-адресу даних. Цей вид URL-адреси містить вміст, закодований у " +"самій URL-адресі. Синтаксис URL-адреси даних указано в :rfc:`2397`. Ця " +"реалізація ігнорує пробіли в URL-адресах даних у кодуванні base64, тому URL-" +"адресу можна загорнути в будь-який вихідний файл, з якого вона надходить. " +"Але навіть незважаючи на те, що деякі браузери не заперечують щодо " +"відсутності заповнення в кінці URL-адреси даних у кодуванні base64, у цьому " +"випадку ця реалізація викличе :exc:`ValueError`." + +msgid "FTPHandler Objects" +msgstr "Об’єкти FTPHandler" + +msgid "" +"Open the FTP file indicated by *req*. The login is always done with empty " +"username and password." +msgstr "" +"Відкрийте файл FTP, позначений *req*. Вхід завжди виконується з порожнім " +"іменем користувача та паролем." + +msgid "CacheFTPHandler Objects" +msgstr "Об’єкти CacheFTPHandler" + +msgid "" +":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " +"following additional methods:" +msgstr "" +"Об’єкти :class:`CacheFTPHandler` — це об’єкти :class:`FTPHandler` із такими " +"додатковими методами:" + +msgid "Set timeout of connections to *t* seconds." +msgstr "Встановіть тайм-аут підключень на *t* секунд." + +msgid "Set maximum number of cached connections to *m*." +msgstr "Установіть максимальну кількість кешованих підключень до *m*." + +msgid "UnknownHandler Objects" +msgstr "Об’єкти UnknownHandler" + +msgid "Raise a :exc:`~urllib.error.URLError` exception." +msgstr "Викликати виняток :exc:`~urllib.error.URLError`." + +msgid "HTTPErrorProcessor Objects" +msgstr "Об’єкти HTTPErrorProcessor" + +msgid "For 200 error codes, the response object is returned immediately." +msgstr "Для 200 кодів помилок об’єкт відповіді повертається негайно." + +msgid "" +"For non-200 error codes, this simply passes the job on to the :meth:" +"`http_error_\\` handler methods, via :meth:`OpenerDirector.error`. " +"Eventually, :class:`HTTPDefaultErrorHandler` will raise an :exc:`~urllib." +"error.HTTPError` if no other handler handles the error." +msgstr "" +"Для кодів помилок, відмінних від 200, це просто передає завдання методам " +"обробки :meth:`http_error_\\ ` через :meth:`OpenerDirector.error`. " +"Згодом :class:`HTTPDefaultErrorHandler` викличе :exc:`~urllib.error." +"HTTPError`, якщо жоден інший обробник не обробляє помилку." + +msgid "Process HTTPS error responses." +msgstr "Обробляти відповіді на помилки HTTPS." + +msgid "The behavior is same as :meth:`http_response`." +msgstr "Поведінка така ж, як :meth:`http_response`." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"In addition to the examples below, more examples are given in :ref:`urllib-" +"howto`." +msgstr "" +"Крім наведених нижче прикладів, більше прикладів наведено в :ref:`urllib-" +"howto`." + +msgid "" +"This example gets the python.org main page and displays the first 300 bytes " +"of it. ::" +msgstr "" +"Цей приклад отримує головну сторінку python.org і відображає її перші 300 " +"байт. ::" + +msgid "" +"Note that urlopen returns a bytes object. This is because there is no way " +"for urlopen to automatically determine the encoding of the byte stream it " +"receives from the HTTP server. In general, a program will decode the " +"returned bytes object to string once it determines or guesses the " +"appropriate encoding." +msgstr "" +"Зауважте, що urlopen повертає об’єкт bytes. Це тому, що urlopen не може " +"автоматично визначати кодування потоку байтів, який він отримує від сервера " +"HTTP. Загалом, програма декодує повернутий об’єкт bytes у рядок, як тільки " +"вона визначить або вгадає відповідне кодування." + +msgid "" +"The following W3C document, https://www.w3.org/International/O-charset\\ , " +"lists the various ways in which an (X)HTML or an XML document could have " +"specified its encoding information." +msgstr "" +"У наступному документі W3C, https://www.w3.org/International/O-charset\\, " +"наведено перелік різних способів, якими документ (X)HTML або XML міг би " +"вказати інформацію про кодування." + +msgid "" +"As the python.org website uses *utf-8* encoding as specified in its meta " +"tag, we will use the same for decoding the bytes object. ::" +msgstr "" +"Оскільки веб-сайт python.org використовує кодування *utf-8*, як зазначено в " +"його мета-тегу, ми будемо використовувати те саме для декодування об’єкта " +"bytes. ::" + +msgid "" +"It is also possible to achieve the same result without using the :term:" +"`context manager` approach. ::" +msgstr "" +"Також можна досягти того самого результату, не використовуючи підхід :term:" +"`context manager`. ::" + +msgid "" +"In the following example, we are sending a data-stream to the stdin of a CGI " +"and reading the data it returns to us. Note that this example will only work " +"when the Python installation supports SSL. ::" +msgstr "" +"У наступному прикладі ми надсилаємо потік даних на stdin CGI та зчитуємо " +"дані, які він повертає нам. Зауважте, що цей приклад працюватиме, лише якщо " +"інсталяція Python підтримує SSL. ::" + +msgid "The code for the sample CGI used in the above example is::" +msgstr "Код для прикладу CGI, використаного у наведеному вище прикладі, такий:" + +msgid "Here is an example of doing a ``PUT`` request using :class:`Request`::" +msgstr "Ось приклад виконання запиту ``PUT`` за допомогою :class:`Request`::" + +msgid "Use of Basic HTTP Authentication::" +msgstr "Використання базової автентифікації HTTP::" + +msgid "" +":func:`build_opener` provides many handlers by default, including a :class:" +"`ProxyHandler`. By default, :class:`ProxyHandler` uses the environment " +"variables named ``_proxy``, where ```` is the URL scheme " +"involved. For example, the :envvar:`http_proxy` environment variable is " +"read to obtain the HTTP proxy's URL." +msgstr "" +":func:`build_opener` за умовчанням надає багато обробників, включаючи :class:" +"`ProxyHandler`. За замовчуванням :class:`ProxyHandler` використовує змінні " +"середовища з іменем `` _proxy``, де ```` — це схема URL-" +"адреси. Наприклад, змінна середовища :envvar:`http_proxy` зчитується для " +"отримання URL-адреси HTTP-проксі." + +msgid "" +"This example replaces the default :class:`ProxyHandler` with one that uses " +"programmatically supplied proxy URLs, and adds proxy authorization support " +"with :class:`ProxyBasicAuthHandler`. ::" +msgstr "" + +msgid "Adding HTTP headers:" +msgstr "Додавання заголовків HTTP:" + +msgid "Use the *headers* argument to the :class:`Request` constructor, or::" +msgstr "" +"Використовуйте аргумент *headers* для конструктора :class:`Request` або:" + +msgid "" +":class:`OpenerDirector` automatically adds a :mailheader:`User-Agent` header " +"to every :class:`Request`. To change this::" +msgstr "" +":class:`OpenerDirector` автоматично додає заголовок :mailheader:`User-Agent` " +"до кожного :class:`Request`. Щоб змінити це:" + +msgid "" +"Also, remember that a few standard headers (:mailheader:`Content-Length`, :" +"mailheader:`Content-Type` and :mailheader:`Host`) are added when the :class:" +"`Request` is passed to :func:`urlopen` (or :meth:`OpenerDirector.open`)." +msgstr "" +"Також пам’ятайте, що кілька стандартних заголовків (:mailheader:`Content-" +"Length`, :mailheader:`Content-Type` і :mailheader:`Host`) додаються, коли :" +"class:`Request` передається до :func:`urlopen` (або :meth:`OpenerDirector." +"open`)." + +msgid "" +"Here is an example session that uses the ``GET`` method to retrieve a URL " +"containing parameters::" +msgstr "" +"Ось приклад сеансу, який використовує метод ``GET`` для отримання URL-" +"адреси, що містить параметри:" + +msgid "" +"The following example uses the ``POST`` method instead. Note that params " +"output from urlencode is encoded to bytes before it is sent to urlopen as " +"data::" +msgstr "" +"У наступному прикладі замість цього використовується метод ``POST``. " +"Зауважте, що параметри, виведені з urlencode, кодуються до байтів перед тим, " +"як надсилаються до urlopen як дані::" + +msgid "" +"The following example uses an explicitly specified HTTP proxy, overriding " +"environment settings::" +msgstr "" +"У наступному прикладі використовується явно вказаний проксі-сервер HTTP, " +"який замінює налаштування середовища:" + +msgid "" +"The following example uses no proxies at all, overriding environment " +"settings::" +msgstr "" +"У наступному прикладі проксі-сервери взагалі не використовуються, замінюючи " +"налаштування середовища:" + +msgid "Legacy interface" +msgstr "Застарілий інтерфейс" + +msgid "" +"The following functions and classes are ported from the Python 2 module " +"``urllib`` (as opposed to ``urllib2``). They might become deprecated at " +"some point in the future." +msgstr "" +"Наступні функції та класи перенесено з модуля Python 2 ``urllib`` (на " +"відміну від ``urllib2``). Вони можуть стати застарілими в якийсь момент у " +"майбутньому." + +msgid "" +"Copy a network object denoted by a URL to a local file. If the URL points to " +"a local file, the object will not be copied unless filename is supplied. " +"Return a tuple ``(filename, headers)`` where *filename* is the local file " +"name under which the object can be found, and *headers* is whatever the :" +"meth:`info` method of the object returned by :func:`urlopen` returned (for a " +"remote object). Exceptions are the same as for :func:`urlopen`." +msgstr "" +"Скопіюйте мережевий об’єкт, позначений URL-адресою, у локальний файл. Якщо " +"URL-адреса вказує на локальний файл, об’єкт не буде скопійовано, якщо не " +"буде вказано назву файлу. Повертає кортеж ``(ім’я файлу, заголовки)``, де " +"*ім’я_файлу* — це ім’я локального файлу, під яким можна знайти об’єкт, а " +"*headers* — будь-який метод :meth:`info` об’єкта, який повертає :func:" +"`urlopen` повернуто (для віддаленого об’єкта). Винятки такі ж, як і для :" +"func:`urlopen`." + +msgid "" +"The second argument, if present, specifies the file location to copy to (if " +"absent, the location will be a tempfile with a generated name). The third " +"argument, if present, is a callable that will be called once on " +"establishment of the network connection and once after each block read " +"thereafter. The callable will be passed three arguments; a count of blocks " +"transferred so far, a block size in bytes, and the total size of the file. " +"The third argument may be ``-1`` on older FTP servers which do not return a " +"file size in response to a retrieval request." +msgstr "" +"Другий аргумент, якщо він присутній, визначає розташування файлу, куди " +"потрібно скопіювати (якщо його немає, місцем буде тимчасовий файл зі " +"згенерованою назвою). Третій аргумент, якщо він присутній, є викликом, який " +"буде викликано один раз після встановлення мережевого з’єднання та один раз " +"після кожного блоку, який буде прочитано в подальшому. Викликається буде " +"передано три аргументи; кількість переданих блоків, розмір блоку в байтах і " +"загальний розмір файлу. Третім аргументом може бути ``-1`` на старих FTP-" +"серверах, які не повертають розмір файлу у відповідь на запит на отримання." + +msgid "The following example illustrates the most common usage scenario::" +msgstr "Наступний приклад ілюструє найпоширеніший сценарій використання:" + +msgid "" +"If the *url* uses the :file:`http:` scheme identifier, the optional *data* " +"argument may be given to specify a ``POST`` request (normally the request " +"type is ``GET``). The *data* argument must be a bytes object in standard :" +"mimetype:`application/x-www-form-urlencoded` format; see the :func:`urllib." +"parse.urlencode` function." +msgstr "" +"Якщо *url* використовує ідентифікатор схеми :file:`http:`, можна надати " +"необов’язковий аргумент *data*, щоб визначити запит ``POST`` (зазвичай тип " +"запиту ``GET``). Аргумент *data* має бути об’єктом bytes у стандартному " +"форматі :mimetype:`application/x-www-form-urlencoded`; перегляньте функцію :" +"func:`urllib.parse.urlencode`." + +msgid "" +":func:`urlretrieve` will raise :exc:`ContentTooShortError` when it detects " +"that the amount of data available was less than the expected amount (which " +"is the size reported by a *Content-Length* header). This can occur, for " +"example, when the download is interrupted." +msgstr "" +":func:`urlretrieve` викличе :exc:`ContentTooShortError`, коли виявить, що " +"обсяг доступних даних був меншим за очікуваний обсяг (який є розміром, про " +"який повідомляє заголовок *Content-Length*). Це може статися, наприклад, " +"коли завантаження переривається." + +msgid "" +"The *Content-Length* is treated as a lower bound: if there's more data to " +"read, urlretrieve reads more data, but if less data is available, it raises " +"the exception." +msgstr "" +"*Content-Length* розглядається як нижня межа: якщо є більше даних для " +"читання, urlretrieve зчитує більше даних, але якщо доступних даних менше, " +"виникає виняток." + +msgid "" +"You can still retrieve the downloaded data in this case, it is stored in " +"the :attr:`content` attribute of the exception instance." +msgstr "" +"У цьому випадку ви все ще можете отримати завантажені дані, вони " +"зберігаються в атрибуті :attr:`content` екземпляра винятку." + +msgid "" +"If no *Content-Length* header was supplied, urlretrieve can not check the " +"size of the data it has downloaded, and just returns it. In this case you " +"just have to assume that the download was successful." +msgstr "" +"Якщо заголовок *Content-Length* не надано, urlretrieve не може перевірити " +"розмір завантажених даних і просто повертає їх. У цьому випадку ви просто " +"повинні припустити, що завантаження пройшло успішно." + +msgid "" +"Cleans up temporary files that may have been left behind by previous calls " +"to :func:`urlretrieve`." +msgstr "" +"Очищає тимчасові файли, які могли бути залишені попередніми викликами :func:" +"`urlretrieve`." + +msgid "" +"Base class for opening and reading URLs. Unless you need to support opening " +"objects using schemes other than :file:`http:`, :file:`ftp:`, or :file:`file:" +"`, you probably want to use :class:`FancyURLopener`." +msgstr "" +"Базовий клас для відкриття та читання URL-адрес. Якщо вам не потрібно " +"підтримувати відкриття об’єктів за допомогою схем, відмінних від :file:`http:" +"`, :file:`ftp:`або :file:`file:`, можливо, ви захочете використовувати :" +"class:`FancyURLopener`." + +msgid "" +"By default, the :class:`URLopener` class sends a :mailheader:`User-Agent` " +"header of ``urllib/VVV``, where *VVV* is the :mod:`urllib` version number. " +"Applications can define their own :mailheader:`User-Agent` header by " +"subclassing :class:`URLopener` or :class:`FancyURLopener` and setting the " +"class attribute :attr:`version` to an appropriate string value in the " +"subclass definition." +msgstr "" +"За замовчуванням клас :class:`URLopener` надсилає заголовок :mailheader:" +"`User-Agent` ``urllib/VVV``, де *VVV* — це номер версії :mod:`urllib`. " +"Програми можуть визначати власний заголовок :mailheader:`User-Agent`, " +"створивши підклас :class:`URLopener` або :class:`FancyURLopener` і " +"встановивши атрибуту класу :attr:`version` відповідне значення рядка у " +"визначенні підкласу." + +msgid "" +"The optional *proxies* parameter should be a dictionary mapping scheme names " +"to proxy URLs, where an empty dictionary turns proxies off completely. Its " +"default value is ``None``, in which case environmental proxy settings will " +"be used if present, as discussed in the definition of :func:`urlopen`, above." +msgstr "" +"Необов’язковий параметр *proxies* має бути словником, що зіставляє імена " +"схем із URL-адресами проксі, де порожній словник повністю вимикає проксі. " +"Його значенням за замовчуванням є ``None``, у цьому випадку будуть " +"використані параметри середовища проксі, якщо вони присутні, як " +"обговорювалося у визначенні :func:`urlopen` вище." + +msgid "" +"Additional keyword parameters, collected in *x509*, may be used for " +"authentication of the client when using the :file:`https:` scheme. The " +"keywords *key_file* and *cert_file* are supported to provide an SSL key and " +"certificate; both are needed to support client authentication." +msgstr "" +"Додаткові параметри ключових слів, зібрані в *x509*, можуть " +"використовуватися для автентифікації клієнта під час використання схеми :" +"file:`https:`. Ключові слова *key_file* і *cert_file* підтримуються для " +"надання ключа SSL і сертифіката; обидва потрібні для підтримки " +"автентифікації клієнта." + +msgid "" +":class:`URLopener` objects will raise an :exc:`OSError` exception if the " +"server returns an error code." +msgstr "" +"Об’єкти :class:`URLopener` викличуть виняток :exc:`OSError`, якщо сервер " +"повертає код помилки." + +msgid "" +"Open *fullurl* using the appropriate protocol. This method sets up cache " +"and proxy information, then calls the appropriate open method with its input " +"arguments. If the scheme is not recognized, :meth:`open_unknown` is called. " +"The *data* argument has the same meaning as the *data* argument of :func:" +"`urlopen`." +msgstr "" +"Відкрийте *fullurl* за допомогою відповідного протоколу. Цей метод " +"налаштовує інформацію про кеш і проксі, а потім викликає відповідний " +"відкритий метод із його вхідними аргументами. Якщо схема не розпізнається, " +"викликається :meth:`open_unknown`. Аргумент *data* має те саме значення, що " +"й аргумент *data* :func:`urlopen`." + +msgid "This method always quotes *fullurl* using :func:`~urllib.parse.quote`." +msgstr "" +"Цей метод завжди цитує *fullurl* за допомогою :func:`~urllib.parse.quote`." + +msgid "Overridable interface to open unknown URL types." +msgstr "Перевизначений інтерфейс для відкриття невідомих типів URL." + +msgid "" +"Retrieves the contents of *url* and places it in *filename*. The return " +"value is a tuple consisting of a local filename and either an :class:`email." +"message.Message` object containing the response headers (for remote URLs) or " +"``None`` (for local URLs). The caller must then open and read the contents " +"of *filename*. If *filename* is not given and the URL refers to a local " +"file, the input filename is returned. If the URL is non-local and " +"*filename* is not given, the filename is the output of :func:`tempfile." +"mktemp` with a suffix that matches the suffix of the last path component of " +"the input URL. If *reporthook* is given, it must be a function accepting " +"three numeric parameters: A chunk number, the maximum size chunks are read " +"in and the total size of the download (-1 if unknown). It will be called " +"once at the start and after each chunk of data is read from the network. " +"*reporthook* is ignored for local URLs." +msgstr "" +"Отримує вміст *url* і поміщає його в *filename*. Значення, що повертається, " +"є кортежем, що складається з імені локального файлу та об’єкта :class:`email." +"message.Message`, що містить заголовки відповіді (для віддалених URL-адрес) " +"або ``None`` (для локальних URL-адрес). Потім абонент повинен відкрити та " +"прочитати вміст *filename*. Якщо *ім’я файлу* не вказано, а URL-адреса " +"посилається на локальний файл, повертається ім’я вхідного файлу. Якщо URL-" +"адреса нелокальна і *filename* не вказано, ім’я файлу є результатом :func:" +"`tempfile.mktemp` із суфіксом, який відповідає суфіксу останнього компонента " +"шляху вхідної URL-адреси. Якщо вказано *reporthook*, це має бути функція, " +"яка приймає три числові параметри: номер блоку, максимальний розмір " +"фрагментів, які зчитуються, і загальний розмір завантаження (-1, якщо " +"невідомо). Він буде викликаний один раз на початку та після кожного " +"зчитування даних із мережі. *reporthook* ігнорується для локальних URL-адрес." + +msgid "" +"If the *url* uses the :file:`http:` scheme identifier, the optional *data* " +"argument may be given to specify a ``POST`` request (normally the request " +"type is ``GET``). The *data* argument must in standard :mimetype:" +"`application/x-www-form-urlencoded` format; see the :func:`urllib.parse." +"urlencode` function." +msgstr "" +"Якщо *url* використовує ідентифікатор схеми :file:`http:`, можна надати " +"необов’язковий аргумент *data*, щоб визначити запит ``POST`` (зазвичай тип " +"запиту ``GET``). Аргумент *data* має бути в стандартному форматі :mimetype:" +"`application/x-www-form-urlencoded`; перегляньте функцію :func:`urllib.parse." +"urlencode`." + +msgid "" +"Variable that specifies the user agent of the opener object. To get :mod:" +"`urllib` to tell servers that it is a particular user agent, set this in a " +"subclass as a class variable or in the constructor before calling the base " +"constructor." +msgstr "" +"Змінна, яка вказує агента користувача об’єкта відкривача. Щоб змусити :mod:" +"`urllib` повідомляти серверам, що це певний агент користувача, встановіть це " +"в підкласі як змінну класу або в конструкторі перед викликом базового " +"конструктора." + +msgid "" +":class:`FancyURLopener` subclasses :class:`URLopener` providing default " +"handling for the following HTTP response codes: 301, 302, 303, 307 and 401. " +"For the 30x response codes listed above, the :mailheader:`Location` header " +"is used to fetch the actual URL. For 401 response codes (authentication " +"required), basic HTTP authentication is performed. For the 30x response " +"codes, recursion is bounded by the value of the *maxtries* attribute, which " +"defaults to 10." +msgstr "" +":class:`FancyURLopener` підкласи :class:`URLopener`, що забезпечує обробку " +"за замовчуванням для таких кодів відповіді HTTP: 301, 302, 303, 307 і 401. " +"Для кодів відповіді 30x, наведених вище, заголовок :mailheader:`Location` " +"використовується для отримання фактичної URL-адреси. Для кодів відповіді 401 " +"(потрібна автентифікація) виконується базова автентифікація HTTP. Для кодів " +"відповіді 30x рекурсія обмежена значенням атрибута *maxtries*, яке за " +"замовчуванням дорівнює 10." + +msgid "" +"For all other response codes, the method :meth:`http_error_default` is " +"called which you can override in subclasses to handle the error " +"appropriately." +msgstr "" +"Для всіх інших кодів відповіді викликається метод :meth:" +"`http_error_default`, який ви можете змінити в підкласах, щоб належним чином " +"обробити помилку." + +msgid "" +"According to the letter of :rfc:`2616`, 301 and 302 responses to POST " +"requests must not be automatically redirected without confirmation by the " +"user. In reality, browsers do allow automatic redirection of these " +"responses, changing the POST to a GET, and :mod:`urllib` reproduces this " +"behaviour." +msgstr "" +"Згідно з листом :rfc:`2616`, відповіді 301 і 302 на запити POST не повинні " +"автоматично перенаправлятися без підтвердження користувача. Насправді " +"браузери дозволяють автоматичне перенаправлення цих відповідей, змінюючи " +"POST на GET, і :mod:`urllib` відтворює цю поведінку." + +msgid "" +"The parameters to the constructor are the same as those for :class:" +"`URLopener`." +msgstr "Параметри конструктора такі самі, як і для :class:`URLopener`." + +msgid "" +"When performing basic authentication, a :class:`FancyURLopener` instance " +"calls its :meth:`prompt_user_passwd` method. The default implementation " +"asks the users for the required information on the controlling terminal. A " +"subclass may override this method to support more appropriate behavior if " +"needed." +msgstr "" +"Під час базової автентифікації екземпляр :class:`FancyURLopener` викликає " +"свій метод :meth:`prompt_user_passwd`. Стандартна реалізація запитує у " +"користувачів необхідну інформацію на керуючому терміналі. Підклас може " +"замінити цей метод для підтримки більш відповідної поведінки, якщо це " +"необхідно." + +msgid "" +"The :class:`FancyURLopener` class offers one additional method that should " +"be overloaded to provide the appropriate behavior:" +msgstr "" +"Клас :class:`FancyURLopener` пропонує один додатковий метод, який слід " +"перевантажити, щоб забезпечити належну поведінку:" + +msgid "" +"Return information needed to authenticate the user at the given host in the " +"specified security realm. The return value should be a tuple, ``(user, " +"password)``, which can be used for basic authentication." +msgstr "" +"Повернути інформацію, необхідну для автентифікації користувача на даному " +"хості у вказаній області безпеки. Поверненим значенням має бути кортеж " +"``(користувач, пароль)``, який можна використовувати для базової " +"автентифікації." + +msgid "" +"The implementation prompts for this information on the terminal; an " +"application should override this method to use an appropriate interaction " +"model in the local environment." +msgstr "" +"Реалізація запитує цю інформацію на терміналі; програма повинна замінити цей " +"метод, щоб використовувати відповідну модель взаємодії в локальному " +"середовищі." + +msgid ":mod:`urllib.request` Restrictions" +msgstr ":mod:`urllib.request` Обмеження" + +msgid "" +"Currently, only the following protocols are supported: HTTP (versions 0.9 " +"and 1.0), FTP, local files, and data URLs." +msgstr "" +"Наразі підтримуються лише такі протоколи: HTTP (версії 0.9 і 1.0), FTP, " +"локальні файли та URL-адреси даних." + +msgid "Added support for data URLs." +msgstr "Додано підтримку URL-адрес даних." + +msgid "" +"The caching feature of :func:`urlretrieve` has been disabled until someone " +"finds the time to hack proper processing of Expiration time headers." +msgstr "" +"Функцію кешування :func:`urlretrieve` вимкнено, доки хтось не знайде час " +"зламати правильну обробку заголовків часу закінчення терміну дії." + +msgid "" +"There should be a function to query whether a particular URL is in the cache." +msgstr "Має бути функція для запиту, чи є певна URL-адреса в кеші." + +msgid "" +"For backward compatibility, if a URL appears to point to a local file but " +"the file can't be opened, the URL is re-interpreted using the FTP protocol. " +"This can sometimes cause confusing error messages." +msgstr "" +"Для зворотної сумісності, якщо URL-адреса вказує на локальний файл, але файл " +"не може бути відкритий, URL-адреса повторно інтерпретується за допомогою " +"протоколу FTP. Іноді це може призвести до незрозумілих повідомлень про " +"помилки." + +msgid "" +"The :func:`urlopen` and :func:`urlretrieve` functions can cause arbitrarily " +"long delays while waiting for a network connection to be set up. This means " +"that it is difficult to build an interactive web client using these " +"functions without using threads." +msgstr "" +"Функції :func:`urlopen` і :func:`urlretrieve` можуть спричиняти довільно " +"великі затримки під час очікування встановлення з’єднання з мережею. Це " +"означає, що важко побудувати інтерактивний веб-клієнт за допомогою цих " +"функцій без використання потоків." + +msgid "" +"The data returned by :func:`urlopen` or :func:`urlretrieve` is the raw data " +"returned by the server. This may be binary data (such as an image), plain " +"text or (for example) HTML. The HTTP protocol provides type information in " +"the reply header, which can be inspected by looking at the :mailheader:" +"`Content-Type` header. If the returned data is HTML, you can use the " +"module :mod:`html.parser` to parse it." +msgstr "" +"Дані, які повертає :func:`urlopen` або :func:`urlretrieve`, є необробленими " +"даними, які повертає сервер. Це можуть бути двійкові дані (наприклад, " +"зображення), звичайний текст або (наприклад) HTML. Протокол HTTP надає " +"інформацію про тип у заголовку відповіді, яку можна перевірити, подивившись " +"на заголовок :mailheader:`Content-Type`. Якщо повернуті дані є HTML, ви " +"можете використати модуль :mod:`html.parser` для їх аналізу." + +msgid "" +"The code handling the FTP protocol cannot differentiate between a file and a " +"directory. This can lead to unexpected behavior when attempting to read a " +"URL that points to a file that is not accessible. If the URL ends in a ``/" +"``, it is assumed to refer to a directory and will be handled accordingly. " +"But if an attempt to read a file leads to a 550 error (meaning the URL " +"cannot be found or is not accessible, often for permission reasons), then " +"the path is treated as a directory in order to handle the case when a " +"directory is specified by a URL but the trailing ``/`` has been left off. " +"This can cause misleading results when you try to fetch a file whose read " +"permissions make it inaccessible; the FTP code will try to read it, fail " +"with a 550 error, and then perform a directory listing for the unreadable " +"file. If fine-grained control is needed, consider using the :mod:`ftplib` " +"module, subclassing :class:`FancyURLopener`, or changing *_urlopener* to " +"meet your needs." +msgstr "" +"Код, який обробляє протокол FTP, не може відрізнити файл від каталогу. Це " +"може призвести до неочікуваної поведінки під час спроби прочитати URL-" +"адресу, яка вказує на файл, до якого немає доступу. Якщо URL-адреса " +"закінчується на ``/``, передбачається, що вона посилається на каталог і буде " +"оброблятися відповідно. Але якщо спроба прочитати файл призводить до помилки " +"550 (це означає, що URL-адресу неможливо знайти або вона недоступна, часто " +"через дозвіл), тоді шлях розглядається як каталог, щоб обробити випадок, " +"коли вказано каталог за URL-адресою, але кінцевий символ ``/`` було " +"пропущено. Це може призвести до оманливих результатів, коли ви намагаєтеся " +"отримати файл, дозволи на читання якого роблять його недоступним; код FTP " +"спробує прочитати його, зазнає помилки 550, а потім виконає перелік каталогу " +"для нечитабельного файлу. Якщо потрібен детальний контроль, розгляньте " +"можливість використання модуля :mod:`ftplib`, створення підкласу :class:" +"`FancyURLopener` або зміни *_urlopener* відповідно до ваших потреб." + +msgid ":mod:`urllib.response` --- Response classes used by urllib" +msgstr ":mod:`urllib.response` --- Класи відповідей, які використовує urllib" + +msgid "" +"The :mod:`urllib.response` module defines functions and classes which define " +"a minimal file-like interface, including ``read()`` and ``readline()``. " +"Functions defined by this module are used internally by the :mod:`urllib." +"request` module. The typical response object is a :class:`urllib.response." +"addinfourl` instance:" +msgstr "" +"Модуль :mod:`urllib.response` визначає функції та класи, які визначають " +"мінімальний файлоподібний інтерфейс, включаючи ``read()`` і ``readline()``. " +"Функції, визначені цим модулем, використовуються внутрішньо модулем :mod:" +"`urllib.request`. Типовий об’єкт відповіді – це екземпляр :class:`urllib." +"response.addinfourl`:" + +msgid "" +"URL of the resource retrieved, commonly used to determine if a redirect was " +"followed." +msgstr "" +"URL-адреса отриманого ресурсу, яка зазвичай використовується для визначення " +"того, чи було переспрямовано." + +msgid "" +"Returns the headers of the response in the form of an :class:`~email.message." +"EmailMessage` instance." +msgstr "" +"Повертає заголовки відповіді у формі екземпляра :class:`~email.message." +"EmailMessage`." + +msgid "Status code returned by server." +msgstr "Код статусу, повернутий сервером." + +msgid "Deprecated in favor of :attr:`~addinfourl.url`." +msgstr "Застаріло на користь :attr:`~addinfourl.url`." + +msgid "Deprecated in favor of :attr:`~addinfourl.headers`." +msgstr "Застаріло на користь :attr:`~addinfourl.headers`." + +msgid "Deprecated in favor of :attr:`~addinfourl.status`." +msgstr "Застаріло на користь :attr:`~addinfourl.status`." diff --git a/library/urllib_robotparser.po b/library/urllib_robotparser.po new file mode 100644 index 000000000..f10bcaa81 --- /dev/null +++ b/library/urllib_robotparser.po @@ -0,0 +1,121 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`urllib.robotparser` --- Parser for robots.txt" +msgstr ":mod:`urllib.robotparser` --- Парсер для robots.txt" + +msgid "**Source code:** :source:`Lib/urllib/robotparser.py`" +msgstr "**Вихідний код:** :source:`Lib/urllib/robotparser.py`" + +msgid "" +"This module provides a single class, :class:`RobotFileParser`, which answers " +"questions about whether or not a particular user agent can fetch a URL on " +"the web site that published the :file:`robots.txt` file. For more details " +"on the structure of :file:`robots.txt` files, see http://www.robotstxt.org/" +"orig.html." +msgstr "" +"Цей модуль надає єдиний клас, :class:`RobotFileParser`, який відповідає на " +"питання про те, чи може певний агент користувача отримати URL-адресу на веб-" +"сайті, який опублікував файл :file:`robots.txt`. Щоб отримати докладнішу " +"інформацію про структуру файлів :file:`robots.txt`, див. http://www." +"robotstxt.org/orig.html." + +msgid "" +"This class provides methods to read, parse and answer questions about the :" +"file:`robots.txt` file at *url*." +msgstr "" +"Цей клас надає методи читання, аналізу та відповідей на запитання щодо " +"файлу :file:`robots.txt` за адресою *url*." + +msgid "Sets the URL referring to a :file:`robots.txt` file." +msgstr "Встановлює URL-адресу, яка посилається на файл :file:`robots.txt`." + +msgid "Reads the :file:`robots.txt` URL and feeds it to the parser." +msgstr "" +"Читає URL-адресу :file:`robots.txt` і передає її синтаксичному аналізатору." + +msgid "Parses the lines argument." +msgstr "Розбирає аргумент рядків." + +msgid "" +"Returns ``True`` if the *useragent* is allowed to fetch the *url* according " +"to the rules contained in the parsed :file:`robots.txt` file." +msgstr "" +"Повертає ``True``, якщо *useragent* дозволено отримувати *url* згідно з " +"правилами, що містяться в проаналізованому файлі :file:`robots.txt`." + +msgid "" +"Returns the time the ``robots.txt`` file was last fetched. This is useful " +"for long-running web spiders that need to check for new ``robots.txt`` files " +"periodically." +msgstr "" +"Повертає час останнього отримання файлу ``robots.txt``. Це корисно для " +"тривалих веб-павуків, яким потрібно періодично перевіряти наявність нових " +"файлів ``robots.txt``." + +msgid "" +"Sets the time the ``robots.txt`` file was last fetched to the current time." +msgstr "" +"Встановлює час останнього отримання файлу ``robots.txt`` на поточний час." + +msgid "" +"Returns the value of the ``Crawl-delay`` parameter from ``robots.txt`` for " +"the *useragent* in question. If there is no such parameter or it doesn't " +"apply to the *useragent* specified or the ``robots.txt`` entry for this " +"parameter has invalid syntax, return ``None``." +msgstr "" +"Повертає значення параметра ``Crawl-delay`` з ``robots.txt`` для " +"відповідного *useragent*. Якщо такого параметра немає або він не " +"застосовується до вказаного *useragent* або запис ``robots.txt`` для цього " +"параметра має недійсний синтаксис, поверніть ``None``." + +msgid "" +"Returns the contents of the ``Request-rate`` parameter from ``robots.txt`` " +"as a :term:`named tuple` ``RequestRate(requests, seconds)``. If there is no " +"such parameter or it doesn't apply to the *useragent* specified or the " +"``robots.txt`` entry for this parameter has invalid syntax, return ``None``." +msgstr "" +"Повертає вміст параметра ``Request-rate`` з ``robots.txt`` як :term:`named " +"tuple` ``RequestRate(requests, seconds)``. Якщо такого параметра немає або " +"він не застосовується до вказаного *useragent* або запис ``robots.txt`` для " +"цього параметра має недійсний синтаксис, поверніть ``None``." + +msgid "" +"Returns the contents of the ``Sitemap`` parameter from ``robots.txt`` in the " +"form of a :func:`list`. If there is no such parameter or the ``robots.txt`` " +"entry for this parameter has invalid syntax, return ``None``." +msgstr "" +"Повертає вміст параметра ``Карта сайту`` з ``robots.txt`` у формі :func:" +"`list`. Якщо такого параметра немає або запис ``robots.txt`` для цього " +"параметра має недійсний синтаксис, поверніть ``None``." + +msgid "" +"The following example demonstrates basic use of the :class:`RobotFileParser` " +"class::" +msgstr "" +"Наступний приклад демонструє базове використання класу :class:" +"`RobotFileParser`::" diff --git a/library/uu.po b/library/uu.po new file mode 100644 index 000000000..d2da5c168 --- /dev/null +++ b/library/uu.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`uu` --- Encode and decode uuencode files" +msgstr ":mod:`uu` --- Кодування та декодування файлів uuencode" + +msgid "**Source code:** :source:`Lib/uu.py`" +msgstr "**Вихідний код:** :source:`Lib/uu.py`" + +msgid "" +"The :mod:`uu` module is deprecated (see :pep:`PEP 594 <594#uu-and-the-uu-" +"encoding>` for details). :mod:`base64` is a modern alternative." +msgstr "" +"Модуль :mod:`uu` є застарілим (докладніше див. :pep:`PEP 594 <594#uu-and-the-" +"uu-encoding>`). :mod:`base64` — сучасна альтернатива." + +msgid "" +"This module encodes and decodes files in uuencode format, allowing arbitrary " +"binary data to be transferred over ASCII-only connections. Wherever a file " +"argument is expected, the methods accept a file-like object. For backwards " +"compatibility, a string containing a pathname is also accepted, and the " +"corresponding file will be opened for reading and writing; the pathname " +"``'-'`` is understood to mean the standard input or output. However, this " +"interface is deprecated; it's better for the caller to open the file itself, " +"and be sure that, when required, the mode is ``'rb'`` or ``'wb'`` on Windows." +msgstr "" +"Цей модуль кодує та декодує файли у форматі uuencode, що дозволяє передавати " +"довільні двійкові дані через з’єднання лише ASCII. Скрізь, де очікується " +"аргумент файлу, методи приймають файлоподібний об’єкт. Для зворотної " +"сумісності також приймається рядок, що містить шлях, і відповідний файл буде " +"відкрито для читання та запису; шлях ``'-'`` означає стандартний ввід або " +"вихід. Однак цей інтерфейс застарів; краще, щоб абонент відкрив сам файл і " +"переконався, що за потреби встановлено режим ``'rb'`` або ``'wb'`` у Windows." + +msgid "" +"This code was contributed by Lance Ellinghouse, and modified by Jack Jansen." +msgstr "Цей код надав Ленс Еллінгхаус і змінив Джек Янсен." + +msgid "The :mod:`uu` module defines the following functions:" +msgstr "Модуль :mod:`uu` визначає такі функції:" + +msgid "" +"Uuencode file *in_file* into file *out_file*. The uuencoded file will have " +"the header specifying *name* and *mode* as the defaults for the results of " +"decoding the file. The default defaults are taken from *in_file*, or ``'-'`` " +"and ``0o666`` respectively. If *backtick* is true, zeros are represented by " +"``'`'`` instead of spaces." +msgstr "" +"Uuencode файл *in_file* у файл *out_file*. Файл uuencoded матиме заголовок " +"із зазначенням *name* і *mode* як типових для результатів декодування файлу. " +"Типові значення взято з *in_file* або ``'-'`` і ``0o666`` відповідно. Якщо " +"*backtick* має значення true, нулі позначаються символом ``''`'`` замість " +"пробілів." + +msgid "Added the *backtick* parameter." +msgstr "Додано параметр *backtick*." + +msgid "" +"This call decodes uuencoded file *in_file* placing the result on file " +"*out_file*. If *out_file* is a pathname, *mode* is used to set the " +"permission bits if the file must be created. Defaults for *out_file* and " +"*mode* are taken from the uuencode header. However, if the file specified " +"in the header already exists, a :exc:`uu.Error` is raised." +msgstr "" +"Цей виклик декодує uuencoded файл *in_file*, поміщаючи результат у файл " +"*out_file*. Якщо *out_file* є шляхом, *mode* використовується для " +"встановлення бітів дозволу, якщо файл потрібно створити. Значення за " +"замовчуванням для *out_file* і *mode* беруться із заголовка uuencode. Однак, " +"якщо файл, указаний у заголовку, уже існує, виникає помилка :exc:`uu.Error`." + +msgid "" +":func:`decode` may print a warning to standard error if the input was " +"produced by an incorrect uuencoder and Python could recover from that " +"error. Setting *quiet* to a true value silences this warning." +msgstr "" +":func:`decode` може вивести попередження про стандартну помилку, якщо " +"введення було створено неправильним uuencoder, і Python міг відновити цю " +"помилку. Встановлення *quiet* на справжнє значення вимикає це попередження." + +msgid "" +"Subclass of :exc:`Exception`, this can be raised by :func:`uu.decode` under " +"various situations, such as described above, but also including a badly " +"formatted header, or truncated input file." +msgstr "" +"Підклас :exc:`Exception`, це може бути створено :func:`uu.decode` у різних " +"ситуаціях, таких як описані вище, але також включно з погано відформатованим " +"заголовком або скороченим вхідним файлом." + +msgid "Module :mod:`binascii`" +msgstr "Модуль :mod:`binascii`" + +msgid "" +"Support module containing ASCII-to-binary and binary-to-ASCII conversions." +msgstr "" +"Модуль підтримки, що містить перетворення ASCII у двійковий і двійковий у " +"ASCII." diff --git a/library/uuid.po b/library/uuid.po new file mode 100644 index 000000000..bfef80548 --- /dev/null +++ b/library/uuid.po @@ -0,0 +1,357 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`uuid` --- UUID objects according to :rfc:`4122`" +msgstr ":mod:`uuid` --- об’єкти UUID відповідно до :rfc:`4122`" + +msgid "**Source code:** :source:`Lib/uuid.py`" +msgstr "**Вихідний код:** :source:`Lib/uuid.py`" + +msgid "" +"This module provides immutable :class:`UUID` objects (the :class:`UUID` " +"class) and the functions :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, :func:" +"`uuid5` for generating version 1, 3, 4, and 5 UUIDs as specified in :rfc:" +"`4122`." +msgstr "" +"Цей модуль надає незмінні об’єкти :class:`UUID` (клас :class:`UUID`) і " +"функції :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, :func:`uuid5` для " +"генерації UUID версій 1, 3, 4 і 5, як зазначено в :rfc:`4122`." + +msgid "" +"If all you want is a unique ID, you should probably call :func:`uuid1` or :" +"func:`uuid4`. Note that :func:`uuid1` may compromise privacy since it " +"creates a UUID containing the computer's network address. :func:`uuid4` " +"creates a random UUID." +msgstr "" +"Якщо все, що вам потрібно, це унікальний ідентифікатор, ви, ймовірно, " +"повинні викликати :func:`uuid1` або :func:`uuid4`. Зауважте, що :func:" +"`uuid1` може порушувати конфіденційність, оскільки створює UUID, що містить " +"мережеву адресу комп’ютера. :func:`uuid4` створює випадковий UUID." + +msgid "" +"Depending on support from the underlying platform, :func:`uuid1` may or may " +"not return a \"safe\" UUID. A safe UUID is one which is generated using " +"synchronization methods that ensure no two processes can obtain the same " +"UUID. All instances of :class:`UUID` have an :attr:`is_safe` attribute " +"which relays any information about the UUID's safety, using this enumeration:" +msgstr "" +"Залежно від підтримки базової платформи :func:`uuid1` може повертати або не " +"повертати \"безпечний\" UUID. Безпечний UUID – це той, який генерується за " +"допомогою методів синхронізації, які гарантують, що жодні процеси не можуть " +"отримати однаковий UUID. Усі екземпляри :class:`UUID` мають атрибут :attr:" +"`is_safe`, який передає будь-яку інформацію про безпеку UUID, використовуючи " +"цей перелік:" + +msgid "The UUID was generated by the platform in a multiprocessing-safe way." +msgstr "" +"UUID було створено платформою безпечним для багатьох процесів способом." + +msgid "The UUID was not generated in a multiprocessing-safe way." +msgstr "" +"UUID не було створено безпечним для багатопроцесорної обробки способом." + +msgid "" +"The platform does not provide information on whether the UUID was generated " +"safely or not." +msgstr "" +"Платформа не надає інформацію про те, чи UUID було створено безпечно чи ні." + +msgid "" +"Create a UUID from either a string of 32 hexadecimal digits, a string of 16 " +"bytes in big-endian order as the *bytes* argument, a string of 16 bytes in " +"little-endian order as the *bytes_le* argument, a tuple of six integers (32-" +"bit *time_low*, 16-bit *time_mid*, 16-bit *time_hi_version*, 8-bit " +"*clock_seq_hi_variant*, 8-bit *clock_seq_low*, 48-bit *node*) as the " +"*fields* argument, or a single 128-bit integer as the *int* argument. When a " +"string of hex digits is given, curly braces, hyphens, and a URN prefix are " +"all optional. For example, these expressions all yield the same UUID::" +msgstr "" +"Створіть UUID із рядка з 32 шістнадцяткових цифр, рядка з 16 байтів у " +"порядку старших як аргумент *bytes*, рядка з 16 байтів у порядку старших як " +"аргумент *bytes_le* або кортежу з шести цілі числа (32-біт *time_low*, 16-" +"біт *time_mid*, 16-біт *time_hi_version*, 8-біт *clock_seq_hi_variant*, 8-" +"біт *clock_seq_low*, 48-біт *node*) як аргумент *fields* або одне 128-бітове " +"ціле число як аргумент *int*. Коли вказано рядок шістнадцяткових цифр, " +"фігурні дужки, дефіси та префікс URN є необов’язковими. Наприклад, усі ці " +"вирази дають однаковий UUID::" + +msgid "" +"Exactly one of *hex*, *bytes*, *bytes_le*, *fields*, or *int* must be given. " +"The *version* argument is optional; if given, the resulting UUID will have " +"its variant and version number set according to :rfc:`4122`, overriding bits " +"in the given *hex*, *bytes*, *bytes_le*, *fields*, or *int*." +msgstr "" +"Потрібно вказати точно одне з *hex*, *bytes*, *bytes_le*, *fields* або " +"*int*. Аргумент *version* необов'язковий; якщо задано, кінцевий UUID матиме " +"свій варіант і номер версії, встановлені відповідно до :rfc:`4122`, " +"перекриваючи біти в заданих *hex*, *bytes*, *bytes_le*, *fields* або *int*." + +msgid "" +"Comparison of UUID objects are made by way of comparing their :attr:`UUID." +"int` attributes. Comparison with a non-UUID object raises a :exc:" +"`TypeError`." +msgstr "" +"Порівняння об’єктів UUID здійснюється шляхом порівняння їхніх атрибутів :" +"attr:`UUID.int`. Порівняння з об’єктом, що не є UUID, викликає :exc:" +"`TypeError`." + +msgid "" +"``str(uuid)`` returns a string in the form " +"``12345678-1234-5678-1234-567812345678`` where the 32 hexadecimal digits " +"represent the UUID." +msgstr "" +"``str(uuid)`` повертає рядок у формі " +"``12345678-1234-5678-1234-567812345678``, де 32 шістнадцяткові цифри " +"представляють UUID." + +msgid ":class:`UUID` instances have these read-only attributes:" +msgstr "Екземпляри :class:`UUID` мають ці атрибути лише для читання:" + +msgid "" +"The UUID as a 16-byte string (containing the six integer fields in big-" +"endian byte order)." +msgstr "" +"UUID як 16-байтовий рядок (що містить шість цілих полів у порядку байтів у " +"порядку байтів)." + +msgid "" +"The UUID as a 16-byte string (with *time_low*, *time_mid*, and " +"*time_hi_version* in little-endian byte order)." +msgstr "" +"UUID як 16-байтовий рядок (з *time_low*, *time_mid* і *time_hi_version* у " +"порядку байтів у порядку байтів)." + +msgid "" +"A tuple of the six integer fields of the UUID, which are also available as " +"six individual attributes and two derived attributes:" +msgstr "" +"Кортеж із шести цілих полів UUID, які також доступні як шість окремих " +"атрибутів і два похідних атрибути:" + +msgid "Field" +msgstr "Поле" + +msgid "Meaning" +msgstr "Значення" + +msgid ":attr:`time_low`" +msgstr ":attr:`time_low`" + +msgid "the first 32 bits of the UUID" +msgstr "перші 32 біти UUID" + +msgid ":attr:`time_mid`" +msgstr ":attr:`time_mid`" + +msgid "the next 16 bits of the UUID" +msgstr "наступні 16 бітів UUID" + +msgid ":attr:`time_hi_version`" +msgstr ":attr:`time_hi_version`" + +msgid ":attr:`clock_seq_hi_variant`" +msgstr ":attr:`clock_seq_hi_variant`" + +msgid "the next 8 bits of the UUID" +msgstr "наступні 8 бітів UUID" + +msgid ":attr:`clock_seq_low`" +msgstr ":attr:`clock_seq_low`" + +msgid ":attr:`node`" +msgstr ":attr:`node`" + +msgid "the last 48 bits of the UUID" +msgstr "останні 48 біт UUID" + +msgid ":attr:`time`" +msgstr ":attr:`time`" + +msgid "the 60-bit timestamp" +msgstr "60-бітну позначку часу" + +msgid ":attr:`clock_seq`" +msgstr ":attr:`clock_seq`" + +msgid "the 14-bit sequence number" +msgstr "14-бітний порядковий номер" + +msgid "The UUID as a 32-character lowercase hexadecimal string." +msgstr "UUID як 32-символьний шістнадцятковий рядок у нижньому регістрі." + +msgid "The UUID as a 128-bit integer." +msgstr "UUID як 128-бітне ціле число." + +msgid "The UUID as a URN as specified in :rfc:`4122`." +msgstr "UUID як URN, як зазначено в :rfc:`4122`." + +msgid "" +"The UUID variant, which determines the internal layout of the UUID. This " +"will be one of the constants :const:`RESERVED_NCS`, :const:`RFC_4122`, :" +"const:`RESERVED_MICROSOFT`, or :const:`RESERVED_FUTURE`." +msgstr "" +"Варіант UUID, який визначає внутрішнє розташування UUID. Це буде одна з " +"констант :const:`RESERVED_NCS`, :const:`RFC_4122`, :const:" +"`RESERVED_MICROSOFT` або :const:`RESERVED_FUTURE`." + +msgid "" +"The UUID version number (1 through 5, meaningful only when the variant is :" +"const:`RFC_4122`)." +msgstr "" +"Номер версії UUID (від 1 до 5, має значення лише тоді, коли варіант :const:" +"`RFC_4122`)." + +msgid "" +"An enumeration of :class:`SafeUUID` which indicates whether the platform " +"generated the UUID in a multiprocessing-safe way." +msgstr "" +"Перелік :class:`SafeUUID`, який вказує, чи платформа згенерувала UUID " +"безпечним для багатьох процесів способом." + +msgid "The :mod:`uuid` module defines the following functions:" +msgstr "Модуль :mod:`uuid` визначає такі функції:" + +msgid "" +"Get the hardware address as a 48-bit positive integer. The first time this " +"runs, it may launch a separate program, which could be quite slow. If all " +"attempts to obtain the hardware address fail, we choose a random 48-bit " +"number with the multicast bit (least significant bit of the first octet) set " +"to 1 as recommended in :rfc:`4122`. \"Hardware address\" means the MAC " +"address of a network interface. On a machine with multiple network " +"interfaces, universally administered MAC addresses (i.e. where the second " +"least significant bit of the first octet is *unset*) will be preferred over " +"locally administered MAC addresses, but with no other ordering guarantees." +msgstr "" +"Отримайте апаратну адресу як 48-розрядне позитивне ціле число. Під час " +"першого запуску може запустити окрему програму, яка може працювати досить " +"повільно. Якщо всі спроби отримати апаратну адресу зазнають невдачі, ми " +"вибираємо випадкове 48-бітове число з бітом багатоадресної передачі " +"(молодший значущий біт першого октету), встановленим на 1, як рекомендовано " +"в :rfc:`4122`. \"Апаратна адреса\" означає MAC-адресу мережевого інтерфейсу. " +"На машині з декількома мережевими інтерфейсами MAC-адреси з універсальним " +"адмініструванням (тобто де другий молодший біт першого октету *не " +"встановлено*) матимуть перевагу над MAC-адресами з локальним " +"адмініструванням, але без інших гарантій порядку." + +msgid "" +"Universally administered MAC addresses are preferred over locally " +"administered MAC addresses, since the former are guaranteed to be globally " +"unique, while the latter are not." +msgstr "" +"MAC-адреси з універсальним адмініструванням є кращими перед MAC-адресами з " +"локальним адмініструванням, оскільки перші гарантовано є глобально " +"унікальними, а другі – ні." + +msgid "" +"Generate a UUID from a host ID, sequence number, and the current time. If " +"*node* is not given, :func:`getnode` is used to obtain the hardware address. " +"If *clock_seq* is given, it is used as the sequence number; otherwise a " +"random 14-bit sequence number is chosen." +msgstr "" +"Згенеруйте UUID з ідентифікатора хоста, порядкового номера та поточного " +"часу. Якщо *node* не вказано, :func:`getnode` використовується для отримання " +"апаратної адреси. Якщо задано *clock_seq*, воно використовується як " +"порядковий номер; інакше вибирається випадковий 14-бітний порядковий номер." + +msgid "" +"Generate a UUID based on the MD5 hash of a namespace identifier (which is a " +"UUID) and a name (which is a string)." +msgstr "" +"Створіть UUID на основі хешу MD5 ідентифікатора простору імен (який є UUID) " +"та імені (яке є рядком)." + +msgid "Generate a random UUID." +msgstr "Згенеруйте випадковий UUID." + +msgid "" +"Generate a UUID based on the SHA-1 hash of a namespace identifier (which is " +"a UUID) and a name (which is a string)." +msgstr "" +"Створіть UUID на основі хешу SHA-1 ідентифікатора простору імен (який є " +"UUID) та імені (яке є рядком)." + +msgid "" +"The :mod:`uuid` module defines the following namespace identifiers for use " +"with :func:`uuid3` or :func:`uuid5`." +msgstr "" +"Модуль :mod:`uuid` визначає наступні ідентифікатори простору імен для " +"використання з :func:`uuid3` або :func:`uuid5`." + +msgid "" +"When this namespace is specified, the *name* string is a fully qualified " +"domain name." +msgstr "" + +msgid "When this namespace is specified, the *name* string is a URL." +msgstr "Якщо вказано цей простір імен, рядок *name* є URL-адресою." + +msgid "When this namespace is specified, the *name* string is an ISO OID." +msgstr "Якщо вказано цей простір імен, рядок *name* є ідентифікатором ISO OID." + +msgid "" +"When this namespace is specified, the *name* string is an X.500 DN in DER or " +"a text output format." +msgstr "" +"Якщо вказано цей простір імен, рядок *name* є X.500 DN у DER або текстовому " +"форматі виводу." + +msgid "" +"The :mod:`uuid` module defines the following constants for the possible " +"values of the :attr:`variant` attribute:" +msgstr "" +"Модуль :mod:`uuid` визначає такі константи для можливих значень атрибута :" +"attr:`variant`:" + +msgid "Reserved for NCS compatibility." +msgstr "Зарезервовано для сумісності з NCS." + +msgid "Specifies the UUID layout given in :rfc:`4122`." +msgstr "Визначає макет UUID, указаний у :rfc:`4122`." + +msgid "Reserved for Microsoft compatibility." +msgstr "Зарезервовано для сумісності з Microsoft." + +msgid "Reserved for future definition." +msgstr "Зарезервовано для майбутнього визначення." + +msgid ":rfc:`4122` - A Universally Unique IDentifier (UUID) URN Namespace" +msgstr "" +":rfc:`4122` - простір імен URN універсального унікального ідентифікатора " +"(UUID)" + +msgid "" +"This specification defines a Uniform Resource Name namespace for UUIDs, the " +"internal format of UUIDs, and methods of generating UUIDs." +msgstr "" +"Ця специфікація визначає простір імен Uniform Resource Name для UUID, " +"внутрішній формат UUID і методи генерації UUID." + +msgid "Example" +msgstr "приклад" + +msgid "Here are some examples of typical usage of the :mod:`uuid` module::" +msgstr "Ось декілька прикладів типового використання модуля :mod:`uuid`::" diff --git a/library/venv.po b/library/venv.po new file mode 100644 index 000000000..e6c487c5e --- /dev/null +++ b/library/venv.po @@ -0,0 +1,673 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`venv` --- Creation of virtual environments" +msgstr ":mod:`venv` --- Створення віртуальних середовищ" + +msgid "**Source code:** :source:`Lib/venv/`" +msgstr "**Вихідний код:** :source:`Lib/venv/`" + +msgid "" +"The :mod:`!venv` module supports creating lightweight \"virtual environments" +"\", each with their own independent set of Python packages installed in " +"their :mod:`site` directories. A virtual environment is created on top of an " +"existing Python installation, known as the virtual environment's \"base\" " +"Python, and may optionally be isolated from the packages in the base " +"environment, so only those explicitly installed in the virtual environment " +"are available." +msgstr "" + +msgid "" +"When used from within a virtual environment, common installation tools such " +"as `pip`_ will install Python packages into a virtual environment without " +"needing to be told to do so explicitly." +msgstr "" + +msgid "See :pep:`405` for more background on Python virtual environments." +msgstr "" + +msgid "" +"`Python Packaging User Guide: Creating and using virtual environments " +"`__" +msgstr "" +"`Посібник користувача з пакування Python: Створення та використання " +"віртуальних середовищ `__" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Creating virtual environments" +msgstr "Створення віртуальних середовищ" + +msgid "" +"Creation of :ref:`virtual environments ` is done by executing the " +"command ``venv``::" +msgstr "" +"Створення :ref:`віртуальних середовищ ` виконується за допомогою " +"команди ``venv``::" + +msgid "" +"Running this command creates the target directory (creating any parent " +"directories that don't exist already) and places a ``pyvenv.cfg`` file in it " +"with a ``home`` key pointing to the Python installation from which the " +"command was run (a common name for the target directory is ``.venv``). It " +"also creates a ``bin`` (or ``Scripts`` on Windows) subdirectory containing a " +"copy/symlink of the Python binary/binaries (as appropriate for the platform " +"or arguments used at environment creation time). It also creates an " +"(initially empty) ``lib/pythonX.Y/site-packages`` subdirectory (on Windows, " +"this is ``Lib\\site-packages``). If an existing directory is specified, it " +"will be re-used." +msgstr "" +"Виконання цієї команди створює цільовий каталог (створюючи будь-які " +"батьківські каталоги, які ще не існують) і розміщує в ньому файл ``pyvenv." +"cfg`` з ключем ``home``, що вказує на інсталяцію Python, з якої була команда " +"запустити (загальною назвою цільового каталогу є ``.venv``). Він також " +"створює підкаталог ``bin`` (або ``Scripts`` у Windows), що містить копію/" +"символне посилання двійкового/бінарних файлів Python (відповідно до " +"платформи або аргументів, що використовуються під час створення середовища). " +"Він також створює (спочатку порожній) підкаталог ``lib/pythonX.Y/site-" +"packages`` (у Windows це ``Lib\\site-packages``). Якщо вказано існуючий " +"каталог, він буде використаний повторно." + +msgid "" +"``pyvenv`` was the recommended tool for creating virtual environments for " +"Python 3.3 and 3.4, and is :ref:`deprecated in Python 3.6 `." +msgstr "" + +msgid "" +"The use of ``venv`` is now recommended for creating virtual environments." +msgstr "" +"Тепер для створення віртуальних середовищ рекомендується використовувати " +"``venv``." + +msgid "On Windows, invoke the ``venv`` command as follows::" +msgstr "У Windows викличте команду ``venv`` наступним чином:" + +msgid "" +"Alternatively, if you configured the ``PATH`` and ``PATHEXT`` variables for " +"your :ref:`Python installation `::" +msgstr "" +"Крім того, якщо ви налаштували змінні ``PATH`` і ``PATHEXT`` для вашої :ref:" +"`інсталяції Python `::" + +msgid "The command, if run with ``-h``, will show the available options::" +msgstr "Команда, запущена з ``-h``, покаже доступні параметри::" + +msgid "" +"Add ``--upgrade-deps`` option to upgrade pip + setuptools to the latest on " +"PyPI" +msgstr "" +"Додайте опцію ``--upgrade-deps``, щоб оновити pip + setuptools до останньої " +"версії PyPI" + +msgid "" +"Installs pip by default, added the ``--without-pip`` and ``--copies`` " +"options" +msgstr "" +"Встановлює pip за замовчуванням, додано параметри ``--without-pip`` і ``--" +"copies``" + +msgid "" +"In earlier versions, if the target directory already existed, an error was " +"raised, unless the ``--clear`` or ``--upgrade`` option was provided." +msgstr "" +"У попередніх версіях, якщо цільовий каталог уже існував, виникала помилка, " +"якщо не було надано опцію ``--clear`` або ``--upgrade``." + +msgid "" +"While symlinks are supported on Windows, they are not recommended. Of " +"particular note is that double-clicking ``python.exe`` in File Explorer will " +"resolve the symlink eagerly and ignore the virtual environment." +msgstr "" +"Хоча символічні посилання підтримуються в Windows, їх не рекомендується " +"використовувати. Особливо варто відзначити, що подвійне клацання ``python." +"exe`` у Провіднику файлів швидко розкриє символічне посилання та проігнорує " +"віртуальне середовище." + +msgid "" +"On Microsoft Windows, it may be required to enable the ``Activate.ps1`` " +"script by setting the execution policy for the user. You can do this by " +"issuing the following PowerShell command:" +msgstr "" +"У Microsoft Windows може знадобитися ввімкнути сценарій ``Activate.ps1``, " +"встановивши політику виконання для користувача. Ви можете зробити це, " +"виконавши таку команду PowerShell:" + +msgid "" +"PS C:\\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser" +msgstr "" +"PS C:\\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser" + +msgid "" +"See `About Execution Policies `_ for more information." +msgstr "" +"Додаткову інформацію див. у розділі `\"Про політику виконання `." + +msgid "" +"The created ``pyvenv.cfg`` file also includes the ``include-system-site-" +"packages`` key, set to ``true`` if ``venv`` is run with the ``--system-site-" +"packages`` option, ``false`` otherwise." +msgstr "" +"Створений файл ``pyvenv.cfg`` також містить ключ ``include-system-site-" +"packages``, встановлений на ``true``, якщо ``venv`` запускається з ``--" +"system-site`` -packages`` параметр, ``false`` інакше." + +msgid "" +"Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be " +"invoked to bootstrap ``pip`` into the virtual environment." +msgstr "" +"Якщо не вказано параметр ``--without-pip``, :mod:`ensurepip` буде викликано " +"для завантаження ``pip`` у віртуальне середовище." + +msgid "" +"Multiple paths can be given to ``venv``, in which case an identical virtual " +"environment will be created, according to the given options, at each " +"provided path." +msgstr "" +"Для ``venv`` можна надати кілька шляхів, і в цьому випадку буде створено " +"ідентичне віртуальне середовище, відповідно до заданих параметрів, для " +"кожного наданого шляху." + +msgid "How venvs work" +msgstr "" + +msgid "" +"When a Python interpreter is running from a virtual environment, :data:`sys." +"prefix` and :data:`sys.exec_prefix` point to the directories of the virtual " +"environment, whereas :data:`sys.base_prefix` and :data:`sys." +"base_exec_prefix` point to those of the base Python used to create the " +"environment. It is sufficient to check ``sys.prefix == sys.base_prefix`` to " +"determine if the current interpreter is running from a virtual environment." +msgstr "" + +msgid "" +"A virtual environment may be \"activated\" using a script in its binary " +"directory (``bin`` on POSIX; ``Scripts`` on Windows). This will prepend that " +"directory to your :envvar:`!PATH`, so that running :program:`!python` will " +"invoke the environment's Python interpreter and you can run installed " +"scripts without having to use their full path. The invocation of the " +"activation script is platform-specific (:samp:`{}` must be replaced by " +"the path to the directory containing the virtual environment):" +msgstr "" + +msgid "Platform" +msgstr "Платформа" + +msgid "Shell" +msgstr "оболонка" + +msgid "Command to activate virtual environment" +msgstr "Команда для активації віртуального середовища" + +msgid "POSIX" +msgstr "POSIX" + +msgid "bash/zsh" +msgstr "bash/zsh" + +msgid ":samp:`$ source {}/bin/activate`" +msgstr "" + +msgid "fish" +msgstr "риба" + +msgid ":samp:`$ source {}/bin/activate.fish`" +msgstr "" + +msgid "csh/tcsh" +msgstr "csh/tcsh" + +msgid ":samp:`$ source {}/bin/activate.csh`" +msgstr "" + +msgid "PowerShell" +msgstr "PowerShell" + +msgid ":samp:`$ {}/bin/Activate.ps1`" +msgstr "" + +msgid "Windows" +msgstr "вікна" + +msgid "cmd.exe" +msgstr "cmd.exe" + +msgid ":samp:`C:\\\\> {}\\\\Scripts\\\\activate.bat`" +msgstr "" + +msgid ":samp:`PS C:\\\\> {}\\\\Scripts\\\\Activate.ps1`" +msgstr "" + +msgid ":program:`!fish` and :program:`!csh` activation scripts." +msgstr "" + +msgid "" +"PowerShell activation scripts installed under POSIX for PowerShell Core " +"support." +msgstr "" +"Сценарії активації PowerShell, встановлені під POSIX для підтримки " +"PowerShell Core." + +msgid "" +"You don't specifically *need* to activate a virtual environment, as you can " +"just specify the full path to that environment's Python interpreter when " +"invoking Python. Furthermore, all scripts installed in the environment " +"should be runnable without activating it." +msgstr "" + +msgid "" +"In order to achieve this, scripts installed into virtual environments have a " +"\"shebang\" line which points to the environment's Python interpreter, i.e. :" +"samp:`#!/{}/bin/python`. This means that the script will run " +"with that interpreter regardless of the value of :envvar:`!PATH`. On " +"Windows, \"shebang\" line processing is supported if you have the :ref:" +"`launcher` installed. Thus, double-clicking an installed script in a Windows " +"Explorer window should run it with the correct interpreter without the " +"environment needing to be activated or on the :envvar:`!PATH`." +msgstr "" + +msgid "" +"When a virtual environment has been activated, the :envvar:`!VIRTUAL_ENV` " +"environment variable is set to the path of the environment. Since explicitly " +"activating a virtual environment is not required to use it, :envvar:`!" +"VIRTUAL_ENV` cannot be relied upon to determine whether a virtual " +"environment is being used." +msgstr "" + +msgid "" +"Because scripts installed in environments should not expect the environment " +"to be activated, their shebang lines contain the absolute paths to their " +"environment's interpreters. Because of this, environments are inherently non-" +"portable, in the general case. You should always have a simple means of " +"recreating an environment (for example, if you have a requirements file " +"``requirements.txt``, you can invoke ``pip install -r requirements.txt`` " +"using the environment's ``pip`` to install all of the packages needed by the " +"environment). If for any reason you need to move the environment to a new " +"location, you should recreate it at the desired location and delete the one " +"at the old location. If you move an environment because you moved a parent " +"directory of it, you should recreate the environment in its new location. " +"Otherwise, software installed into the environment may not work as expected." +msgstr "" + +msgid "" +"You can deactivate a virtual environment by typing ``deactivate`` in your " +"shell. The exact mechanism is platform-specific and is an internal " +"implementation detail (typically, a script or shell function will be used)." +msgstr "" + +msgid "API" +msgstr "API" + +msgid "" +"The high-level method described above makes use of a simple API which " +"provides mechanisms for third-party virtual environment creators to " +"customize environment creation according to their needs, the :class:" +"`EnvBuilder` class." +msgstr "" +"Метод високого рівня, описаний вище, використовує простий API, який надає " +"механізми для сторонніх творців віртуального середовища для налаштування " +"створення середовища відповідно до своїх потреб, клас :class:`EnvBuilder`." + +msgid "" +"The :class:`EnvBuilder` class accepts the following keyword arguments on " +"instantiation:" +msgstr "" +"Клас :class:`EnvBuilder` приймає такі ключові аргументи під час створення " +"екземпляра:" + +msgid "" +"``system_site_packages`` -- a Boolean value indicating that the system " +"Python site-packages should be available to the environment (defaults to " +"``False``)." +msgstr "" +"``system_site_packages`` -- логічне значення, яке вказує, що системні пакети " +"сайтів Python мають бути доступними для середовища (за замовчуванням " +"``False``)." + +msgid "" +"``clear`` -- a Boolean value which, if true, will delete the contents of any " +"existing target directory, before creating the environment." +msgstr "" +"``clear`` -- логічне значення, яке, якщо воно істинне, видалить вміст будь-" +"якого існуючого цільового каталогу перед створенням середовища." + +msgid "" +"``symlinks`` -- a Boolean value indicating whether to attempt to symlink the " +"Python binary rather than copying." +msgstr "" +"``symlinks`` -- логічне значення, яке вказує, чи намагатися символічно " +"посилати двійковий файл Python замість копіювання." + +msgid "" +"``upgrade`` -- a Boolean value which, if true, will upgrade an existing " +"environment with the running Python - for use when that Python has been " +"upgraded in-place (defaults to ``False``)." +msgstr "" +"``upgrade`` -- логічне значення, яке, якщо істинне, оновить існуюче " +"середовище з запущеним Python - для використання, коли цей Python було " +"оновлено на місці (за замовчуванням ``False``)." + +msgid "" +"``with_pip`` -- a Boolean value which, if true, ensures pip is installed in " +"the virtual environment. This uses :mod:`ensurepip` with the ``--default-" +"pip`` option." +msgstr "" +"``with_pip`` -- логічне значення, яке, якщо воно істинне, гарантує " +"встановлення pip у віртуальному середовищі. Тут використовується :mod:" +"`ensurepip` з опцією ``--default-pip``." + +msgid "" +"``prompt`` -- a String to be used after virtual environment is activated " +"(defaults to ``None`` which means directory name of the environment would be " +"used). If the special string ``\".\"`` is provided, the basename of the " +"current directory is used as the prompt." +msgstr "" +"``prompt`` -- Рядок, який буде використовуватися після активації " +"віртуального середовища (за замовчуванням ``None``, що означає, що " +"використовуватиметься назва каталогу середовища). Якщо вказано спеціальний " +"рядок ``\".\"``, базова назва поточного каталогу використовується як " +"підказка." + +msgid "``upgrade_deps`` -- Update the base venv modules to the latest on PyPI" +msgstr "" +"``upgrade_deps`` -- Оновіть базові модулі venv до останньої версії на PyPI" + +msgid "Added the ``with_pip`` parameter" +msgstr "Додано параметр ``with_pip``" + +msgid "Added the ``prompt`` parameter" +msgstr "Додано параметр ``prompt``" + +msgid "Added the ``upgrade_deps`` parameter" +msgstr "Додано параметр ``upgrade_deps``" + +msgid "" +"Creators of third-party virtual environment tools will be free to use the " +"provided :class:`EnvBuilder` class as a base class." +msgstr "" +"Творці інструментів віртуального середовища сторонніх розробників зможуть " +"вільно використовувати наданий клас :class:`EnvBuilder` як базовий клас." + +msgid "The returned env-builder is an object which has a method, ``create``:" +msgstr "Повернений env-builder є об’єктом, який має метод ``create``:" + +msgid "" +"Create a virtual environment by specifying the target directory (absolute or " +"relative to the current directory) which is to contain the virtual " +"environment. The ``create`` method will either create the environment in " +"the specified directory, or raise an appropriate exception." +msgstr "" +"Створіть віртуальне середовище, вказавши цільовий каталог (абсолютний або " +"відносний до поточного каталогу), який має містити віртуальне середовище. " +"Метод ``create`` або створить середовище у вказаному каталозі, або викличе " +"відповідний виняток." + +msgid "" +"The ``create`` method of the :class:`EnvBuilder` class illustrates the hooks " +"available for subclass customization::" +msgstr "" +"Метод ``create`` класу :class:`EnvBuilder` ілюструє хуки, доступні для " +"налаштування підкласу::" + +msgid "" +"Each of the methods :meth:`ensure_directories`, :meth:" +"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :" +"meth:`post_setup` can be overridden." +msgstr "" +"Кожен із методів :meth:`ensure_directories`, :meth:`create_configuration`, :" +"meth:`setup_python`, :meth:`setup_scripts` і :meth:`post_setup` можна " +"замінити." + +msgid "" +"Creates the environment directory and all necessary subdirectories that " +"don't already exist, and returns a context object. This context object is " +"just a holder for attributes (such as paths) for use by the other methods. " +"If the :class:`EnvBuilder` is created with the arg ``clear=True``, contents " +"of the environment directory will be cleared and then all necessary " +"subdirectories will be recreated." +msgstr "" + +msgid "" +"The returned context object is a :class:`types.SimpleNamespace` with the " +"following attributes:" +msgstr "" + +msgid "" +"``env_dir`` - The location of the virtual environment. Used for " +"``__VENV_DIR__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" + +msgid "" +"``env_name`` - The name of the virtual environment. Used for " +"``__VENV_NAME__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" + +msgid "" +"``prompt`` - The prompt to be used by the activation scripts. Used for " +"``__VENV_PROMPT__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" + +msgid "" +"``executable`` - The underlying Python executable used by the virtual " +"environment. This takes into account the case where a virtual environment is " +"created from another virtual environment." +msgstr "" + +msgid "``inc_path`` - The include path for the virtual environment." +msgstr "" + +msgid "``lib_path`` - The purelib path for the virtual environment." +msgstr "" + +msgid "``bin_path`` - The script path for the virtual environment." +msgstr "" + +msgid "" +"``bin_name`` - The name of the script path relative to the virtual " +"environment location. Used for ``__VENV_BIN_NAME__`` in activation scripts " +"(see :meth:`install_scripts`)." +msgstr "" + +msgid "" +"``env_exe`` - The name of the Python interpreter in the virtual environment. " +"Used for ``__VENV_PYTHON__`` in activation scripts (see :meth:" +"`install_scripts`)." +msgstr "" + +msgid "" +"``env_exec_cmd`` - The name of the Python interpreter, taking into account " +"filesystem redirections. This can be used to run Python in the virtual " +"environment." +msgstr "" + +msgid "" +"The attribute ``lib_path`` was added to the context, and the context object " +"was documented." +msgstr "" + +msgid "" +"The *venv* :ref:`sysconfig installation scheme ` is used " +"to construct the paths of the created directories." +msgstr "" + +msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." +msgstr "Створює файл конфігурації ``pyvenv.cfg`` у середовищі." + +msgid "" +"Creates a copy or symlink to the Python executable in the environment. On " +"POSIX systems, if a specific executable ``python3.x`` was used, symlinks to " +"``python`` and ``python3`` will be created pointing to that executable, " +"unless files with those names already exist." +msgstr "" +"Створює копію або символічне посилання на виконуваний файл Python у " +"середовищі. У системах POSIX, якщо використовувався певний виконуваний файл " +"``python3.x``, будуть створені символічні посилання на ``python`` і " +"``python3``, які вказуватимуть на цей виконуваний файл, якщо файли з такими " +"назвами вже не існують." + +msgid "" +"Installs activation scripts appropriate to the platform into the virtual " +"environment." +msgstr "" +"Встановлює у віртуальне середовище сценарії активації, які відповідають " +"платформі." + +msgid "" +"Upgrades the core venv dependency packages (currently ``pip`` and " +"``setuptools``) in the environment. This is done by shelling out to the " +"``pip`` executable in the environment." +msgstr "" +"Оновлює основні пакети залежностей venv (наразі ``pip`` і ``setuptools``) у " +"середовищі. Це робиться шляхом виділення виконуваного файлу ``pip`` у " +"середовищі." + +msgid "" +"A placeholder method which can be overridden in third party implementations " +"to pre-install packages in the virtual environment or perform other post-" +"creation steps." +msgstr "" +"Метод заповнювача, який можна замінити в реалізаціях сторонніх розробників, " +"щоб попередньо встановити пакети у віртуальному середовищі або виконати інші " +"кроки після створення." + +msgid "" +"Windows now uses redirector scripts for ``python[w].exe`` instead of copying " +"the actual binaries. In 3.7.2 only :meth:`setup_python` does nothing unless " +"running from a build in the source tree." +msgstr "" +"Windows тепер використовує сценарії перенаправлення для ``python[w].exe`` " +"замість копіювання фактичних двійкових файлів. У 3.7.2 лише :meth:" +"`setup_python` нічого не робить, якщо не запускається зі збірки в дереві " +"вихідних кодів." + +msgid "" +"Windows copies the redirector scripts as part of :meth:`setup_python` " +"instead of :meth:`setup_scripts`. This was not the case in 3.7.2. When using " +"symlinks, the original executables will be linked." +msgstr "" +"Windows копіює сценарії перенаправлення як частину :meth:`setup_python` " +"замість :meth:`setup_scripts`. У 3.7.2 цього не було. У разі використання " +"символічних посилань оригінальні виконувані файли будуть зв’язані." + +msgid "" +"In addition, :class:`EnvBuilder` provides this utility method that can be " +"called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to " +"assist in installing custom scripts into the virtual environment." +msgstr "" +"Крім того, :class:`EnvBuilder` надає цей метод утиліти, який можна викликати " +"з :meth:`setup_scripts` або :meth:`post_setup` у підкласах, щоб допомогти в " +"установці спеціальних сценаріїв у віртуальне середовище." + +msgid "" +"*path* is the path to a directory that should contain subdirectories \"common" +"\", \"posix\", \"nt\", each containing scripts destined for the bin " +"directory in the environment. The contents of \"common\" and the directory " +"corresponding to :data:`os.name` are copied after some text replacement of " +"placeholders:" +msgstr "" +"*шлях* — це шлях до каталогу, який має містити підкаталоги \"common\", " +"\"posix\", \"nt\", кожен із яких містить сценарії, призначені для каталогу " +"bin у середовищі. Вміст \"common\" і каталогу, що відповідає :data:`os." +"name`, копіюються після деякої заміни тексту заповнювачів:" + +msgid "" +"``__VENV_DIR__`` is replaced with the absolute path of the environment " +"directory." +msgstr "" +"``__VENV_DIR__`` замінюється на абсолютний шлях до каталогу середовища." + +msgid "" +"``__VENV_NAME__`` is replaced with the environment name (final path segment " +"of environment directory)." +msgstr "" +"``__VENV_NAME__`` замінюється назвою середовища (останній сегмент шляху " +"каталогу середовища)." + +msgid "" +"``__VENV_PROMPT__`` is replaced with the prompt (the environment name " +"surrounded by parentheses and with a following space)" +msgstr "" +"``__VENV_PROMPT__`` замінюється підказкою (назва середовища в круглих дужках " +"і пробіл після неї)" + +msgid "" +"``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " +"``bin`` or ``Scripts``)." +msgstr "" +"``__VENV_BIN_NAME__`` замінюється назвою каталогу bin (або ``bin``, або " +"``Scripts``)." + +msgid "" +"``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " +"executable." +msgstr "" +"``__VENV_PYTHON__`` замінюється абсолютним шляхом до виконуваного файлу " +"середовища." + +msgid "" +"The directories are allowed to exist (for when an existing environment is " +"being upgraded)." +msgstr "Каталоги можуть існувати (під час оновлення існуючого середовища)." + +msgid "There is also a module-level convenience function:" +msgstr "Також є функція зручності на рівні модуля:" + +msgid "" +"Create an :class:`EnvBuilder` with the given keyword arguments, and call " +"its :meth:`~EnvBuilder.create` method with the *env_dir* argument." +msgstr "" +"Створіть :class:`EnvBuilder` із заданими ключовими аргументами та викличте " +"його метод :meth:`~EnvBuilder.create` з аргументом *env_dir*." + +msgid "An example of extending ``EnvBuilder``" +msgstr "Приклад розширення ``EnvBuilder``" + +msgid "" +"The following script shows how to extend :class:`EnvBuilder` by implementing " +"a subclass which installs setuptools and pip into a created virtual " +"environment::" +msgstr "" +"Наступний сценарій показує, як розширити :class:`EnvBuilder` шляхом " +"впровадження підкласу, який встановлює setuptools і pip у створене " +"віртуальне середовище::" + +msgid "" +"This script is also available for download `online `_." +msgstr "" +"Цей скрипт також доступний для завантаження `online `_." diff --git a/library/warnings.po b/library/warnings.po new file mode 100644 index 000000000..e12739b02 --- /dev/null +++ b/library/warnings.po @@ -0,0 +1,866 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`warnings` --- Warning control" +msgstr ":mod:`warnings` --- Керування попередженнями" + +msgid "**Source code:** :source:`Lib/warnings.py`" +msgstr "**Вихідний код:** :source:`Lib/warnings.py`" + +msgid "" +"Warning messages are typically issued in situations where it is useful to " +"alert the user of some condition in a program, where that condition " +"(normally) doesn't warrant raising an exception and terminating the " +"program. For example, one might want to issue a warning when a program uses " +"an obsolete module." +msgstr "" +"Попереджувальні повідомлення зазвичай видаються в ситуаціях, коли корисно " +"попередити користувача про певну умову в програмі, де ця умова (зазвичай) не " +"вимагає виклику винятку та завершення програми. Наприклад, можна видавати " +"попередження, коли програма використовує застарілий модуль." + +msgid "" +"Python programmers issue warnings by calling the :func:`warn` function " +"defined in this module. (C programmers use :c:func:`PyErr_WarnEx`; see :ref:" +"`exceptionhandling` for details)." +msgstr "" +"Програмісти Python видають попередження, викликаючи функцію :func:`warn`, " +"визначену в цьому модулі. (Програмісти на C використовують :c:func:" +"`PyErr_WarnEx`; подробиці див. :ref:`exceptionhandling`)." + +msgid "" +"Warning messages are normally written to :data:`sys.stderr`, but their " +"disposition can be changed flexibly, from ignoring all warnings to turning " +"them into exceptions. The disposition of warnings can vary based on the :" +"ref:`warning category `, the text of the warning " +"message, and the source location where it is issued. Repetitions of a " +"particular warning for the same source location are typically suppressed." +msgstr "" +"Попереджувальні повідомлення зазвичай записуються в :data:`sys.stderr`, але " +"їх розташування можна гнучко змінити, від ігнорування всіх попереджень до " +"перетворення їх на винятки. Розташування попереджень може змінюватися " +"залежно від :ref:`категорії попередження `, тексту " +"попереджувального повідомлення та джерела, де воно надійшло. Повторення " +"певного попередження для того самого місця джерела зазвичай пригнічується." + +msgid "" +"There are two stages in warning control: first, each time a warning is " +"issued, a determination is made whether a message should be issued or not; " +"next, if a message is to be issued, it is formatted and printed using a user-" +"settable hook." +msgstr "" +"У управлінні попередженням є два етапи: по-перше, кожного разу, коли " +"видається попередження, визначається, чи слід видати повідомлення чи ні; " +"потім, якщо повідомлення має бути видано, воно форматується та друкується за " +"допомогою налаштування користувача." + +msgid "" +"The determination whether to issue a warning message is controlled by the :" +"ref:`warning filter `, which is a sequence of matching rules " +"and actions. Rules can be added to the filter by calling :func:" +"`filterwarnings` and reset to its default state by calling :func:" +"`resetwarnings`." +msgstr "" +"Визначення того, чи потрібно видавати попередження, контролюється :ref:" +"`фільтром попереджень `, який є послідовністю відповідних " +"правил і дій. Правила можна додати до фільтра, викликавши :func:" +"`filterwarnings`, і повернути його до стандартного стану, викликавши :func:" +"`resetwarnings`." + +msgid "" +"The printing of warning messages is done by calling :func:`showwarning`, " +"which may be overridden; the default implementation of this function formats " +"the message by calling :func:`formatwarning`, which is also available for " +"use by custom implementations." +msgstr "" +"Друк попереджувальних повідомлень виконується шляхом виклику :func:" +"`showwarning`, який можна замінити; реалізація цієї функції за замовчуванням " +"форматує повідомлення шляхом виклику :func:`formatwarning`, який також " +"доступний для використання користувальницькими реалізаціями." + +msgid "" +":func:`logging.captureWarnings` allows you to handle all warnings with the " +"standard logging infrastructure." +msgstr "" +":func:`logging.captureWarnings` дозволяє обробляти всі попередження за " +"допомогою стандартної інфраструктури журналювання." + +msgid "Warning Categories" +msgstr "Категорії попереджень" + +msgid "" +"There are a number of built-in exceptions that represent warning categories. " +"This categorization is useful to be able to filter out groups of warnings." +msgstr "" +"Є ряд вбудованих винятків, які представляють категорії попереджень. Ця " +"категоризація корисна, щоб мати можливість відфільтрувати групи попереджень." + +msgid "" +"While these are technically :ref:`built-in exceptions `, they are documented here, because conceptually they belong to " +"the warnings mechanism." +msgstr "" +"Хоча технічно це :ref:`вбудовані винятки `, вони задокументовані тут, оскільки концептуально вони належать " +"до механізму попереджень." + +msgid "" +"User code can define additional warning categories by subclassing one of the " +"standard warning categories. A warning category must always be a subclass " +"of the :exc:`Warning` class." +msgstr "" +"Код користувача може визначати додаткові категорії попереджень шляхом " +"створення підкласу однієї зі стандартних категорій попереджень. Категорія " +"попередження завжди має бути підкласом класу :exc:`Warning`." + +msgid "The following warnings category classes are currently defined:" +msgstr "Наразі визначено такі класи категорій попереджень:" + +msgid "Class" +msgstr "Клас" + +msgid "Description" +msgstr "опис" + +msgid ":exc:`Warning`" +msgstr ":exc:`Warning`" + +msgid "" +"This is the base class of all warning category classes. It is a subclass " +"of :exc:`Exception`." +msgstr "" +"Це базовий клас усіх класів категорій попереджень. Це підклас :exc:" +"`Exception`." + +msgid ":exc:`UserWarning`" +msgstr ":exc:`UserWarning`" + +msgid "The default category for :func:`warn`." +msgstr "Типова категорія для :func:`warn`." + +msgid ":exc:`DeprecationWarning`" +msgstr ":exc:`DeprecationWarning`" + +msgid "" +"Base category for warnings about deprecated features when those warnings are " +"intended for other Python developers (ignored by default, unless triggered " +"by code in ``__main__``)." +msgstr "" +"Базова категорія для попереджень про застарілі функції, якщо ці попередження " +"призначені для інших розробників Python (ігноруються за замовчуванням, якщо " +"не викликано кодом у ``__main__``)." + +msgid ":exc:`SyntaxWarning`" +msgstr ":exc:`SyntaxWarning`" + +msgid "Base category for warnings about dubious syntactic features." +msgstr "Базова категорія для попереджень про сумнівні синтаксичні особливості." + +msgid ":exc:`RuntimeWarning`" +msgstr ":exc:`RuntimeWarning`" + +msgid "Base category for warnings about dubious runtime features." +msgstr "" +"Базова категорія для попереджень про сумнівні функції середовища виконання." + +msgid ":exc:`FutureWarning`" +msgstr ":exc:`FutureWarning`" + +msgid "" +"Base category for warnings about deprecated features when those warnings are " +"intended for end users of applications that are written in Python." +msgstr "" +"Базова категорія для попереджень про застарілі функції, якщо ці попередження " +"призначені для кінцевих користувачів програм, написаних на Python." + +msgid ":exc:`PendingDeprecationWarning`" +msgstr ":exc:`PendingDeprecationWarning`" + +msgid "" +"Base category for warnings about features that will be deprecated in the " +"future (ignored by default)." +msgstr "" +"Базова категорія для попереджень про функції, які в майбутньому будуть " +"припинені (ігноруються за умовчанням)." + +msgid ":exc:`ImportWarning`" +msgstr ":exc:`ImportWarning`" + +msgid "" +"Base category for warnings triggered during the process of importing a " +"module (ignored by default)." +msgstr "" +"Основна категорія для попереджень, що викликаються під час процесу імпорту " +"модуля (ігнорується за умовчанням)." + +msgid ":exc:`UnicodeWarning`" +msgstr ":exc:`Попередження Unicode`" + +msgid "Base category for warnings related to Unicode." +msgstr "Базова категорія для попереджень, пов’язаних із Unicode." + +msgid ":exc:`BytesWarning`" +msgstr ":exc:`BytesWarning`" + +msgid "" +"Base category for warnings related to :class:`bytes` and :class:`bytearray`." +msgstr "" +"Базова категорія для попереджень, пов’язаних із :class:`bytes` і :class:" +"`bytearray`." + +msgid ":exc:`ResourceWarning`" +msgstr ":exc:`ResourceWarning`" + +msgid "" +"Base category for warnings related to resource usage (ignored by default)." +msgstr "" +"Базова категорія для попереджень, пов’язаних із використанням ресурсів " +"(ігнорується за умовчанням)." + +msgid "" +"Previously :exc:`DeprecationWarning` and :exc:`FutureWarning` were " +"distinguished based on whether a feature was being removed entirely or " +"changing its behaviour. They are now distinguished based on their intended " +"audience and the way they're handled by the default warnings filters." +msgstr "" +"Раніше :exc:`DeprecationWarning` і :exc:`FutureWarning` розрізняли залежно " +"від того, видаляється функція повністю чи змінюється її поведінка. Тепер " +"вони розрізняються на основі цільової аудиторії та способу їх обробки за " +"допомогою фільтрів попереджень за замовчуванням." + +msgid "The Warnings Filter" +msgstr "Фільтр попереджень" + +msgid "" +"The warnings filter controls whether warnings are ignored, displayed, or " +"turned into errors (raising an exception)." +msgstr "" +"Фільтр попереджень контролює, чи попередження ігноруються, відображаються чи " +"перетворюються на помилки (створення винятку)." + +msgid "" +"Conceptually, the warnings filter maintains an ordered list of filter " +"specifications; any specific warning is matched against each filter " +"specification in the list in turn until a match is found; the filter " +"determines the disposition of the match. Each entry is a tuple of the form " +"(*action*, *message*, *category*, *module*, *lineno*), where:" +msgstr "" +"Концептуально, фільтр попереджень підтримує впорядкований список " +"специфікацій фільтра; будь-яке конкретне попередження порівнюється з кожною " +"специфікацією фільтра в списку по черзі, доки не буде знайдено збіг; фільтр " +"визначає розташування відповідності. Кожен запис є кортежем у формі (*дія*, " +"*повідомлення*, *категорія*, *модуль*, *lineno*), де:" + +msgid "*action* is one of the following strings:" +msgstr "*action* є одним із таких рядків:" + +msgid "Value" +msgstr "Значення" + +msgid "Disposition" +msgstr "Розпорядження" + +msgid "``\"default\"``" +msgstr "``\"за умовчанням\"``" + +msgid "" +"print the first occurrence of matching warnings for each location (module + " +"line number) where the warning is issued" +msgstr "" +"надрукувати перше повторення відповідних попереджень для кожного місця " +"(модуль + номер рядка), де видається попередження" + +msgid "``\"error\"``" +msgstr "``\"помилка\"``" + +msgid "turn matching warnings into exceptions" +msgstr "перетворити відповідні попередження на винятки" + +msgid "``\"ignore\"``" +msgstr "``\"ігнорувати\"``" + +msgid "never print matching warnings" +msgstr "ніколи не друкувати відповідні попередження" + +msgid "``\"always\"``" +msgstr "``\"завжди\"``" + +msgid "always print matching warnings" +msgstr "завжди друкувати відповідні попередження" + +msgid "``\"module\"``" +msgstr "``\"модуль\"``" + +msgid "" +"print the first occurrence of matching warnings for each module where the " +"warning is issued (regardless of line number)" +msgstr "" +"надрукувати перше повторення відповідних попереджень для кожного модуля, де " +"видається попередження (незалежно від номера рядка)" + +msgid "``\"once\"``" +msgstr "``\"один раз\"``" + +msgid "" +"print only the first occurrence of matching warnings, regardless of location" +msgstr "" +"друкувати лише перше повторення відповідних попереджень, незалежно від " +"розташування" + +msgid "" +"*message* is a string containing a regular expression that the start of the " +"warning message must match, case-insensitively. In :option:`-W` and :envvar:" +"`PYTHONWARNINGS`, *message* is a literal string that the start of the " +"warning message must contain (case-insensitively), ignoring any whitespace " +"at the start or end of *message*." +msgstr "" +"*message* — це рядок, що містить регулярний вираз, якому має відповідати " +"початок попереджувального повідомлення без урахування регістру. У :option:`-" +"W` і :envvar:`PYTHONWARNINGS` *message* — це літеральний рядок, який має " +"містити початок попереджувального повідомлення (незалежно від регістру), " +"ігноруючи пробіли на початку або в кінці *message* ." + +msgid "" +"*category* is a class (a subclass of :exc:`Warning`) of which the warning " +"category must be a subclass in order to match." +msgstr "" +"*category* — це клас (підклас :exc:`Warning`), підкласом якого має бути " +"категорія попередження, щоб відповідати." + +msgid "" +"*module* is a string containing a regular expression that the start of the " +"fully qualified module name must match, case-sensitively. In :option:`-W` " +"and :envvar:`PYTHONWARNINGS`, *module* is a literal string that the fully " +"qualified module name must be equal to (case-sensitively), ignoring any " +"whitespace at the start or end of *module*." +msgstr "" + +msgid "" +"*lineno* is an integer that the line number where the warning occurred must " +"match, or ``0`` to match all line numbers." +msgstr "" +"*lineno* — це ціле число, якому має відповідати номер рядка, у якому виникло " +"попередження, або ``0``, щоб відповідати всім номерам рядків." + +msgid "" +"Since the :exc:`Warning` class is derived from the built-in :exc:`Exception` " +"class, to turn a warning into an error we simply raise ``category(message)``." +msgstr "" +"Оскільки клас :exc:`Warning` походить від вбудованого класу :exc:" +"`Exception`, щоб перетворити попередження на помилку, ми просто піднімаємо " +"``category(message)``." + +msgid "" +"If a warning is reported and doesn't match any registered filter then the " +"\"default\" action is applied (hence its name)." +msgstr "" +"Якщо повідомляється про попередження, яке не відповідає жодному " +"зареєстрованому фільтру, тоді застосовується дія \"за замовчуванням" +"\" (звідси й назва)." + +msgid "Describing Warning Filters" +msgstr "Опис фільтрів попереджень" + +msgid "" +"The warnings filter is initialized by :option:`-W` options passed to the " +"Python interpreter command line and the :envvar:`PYTHONWARNINGS` environment " +"variable. The interpreter saves the arguments for all supplied entries " +"without interpretation in :data:`sys.warnoptions`; the :mod:`warnings` " +"module parses these when it is first imported (invalid options are ignored, " +"after printing a message to :data:`sys.stderr`)." +msgstr "" +"Фільтр попереджень ініціалізується параметрами :option:`-W`, які передаються " +"в командний рядок інтерпретатора Python, і змінною середовища :envvar:" +"`PYTHONWARNINGS`. Інтерпретатор зберігає аргументи для всіх наданих записів " +"без інтерпретації в :data:`sys.warnoptions`; модуль :mod:`warnings` аналізує " +"їх під час першого імпорту (недійсні параметри ігноруються після друку " +"повідомлення до :data:`sys.stderr`)." + +msgid "" +"Individual warnings filters are specified as a sequence of fields separated " +"by colons::" +msgstr "" +"Окремі фільтри попереджень задаються як послідовність полів, розділених " +"двокрапками:" + +msgid "" +"The meaning of each of these fields is as described in :ref:`warning-" +"filter`. When listing multiple filters on a single line (as for :envvar:" +"`PYTHONWARNINGS`), the individual filters are separated by commas and the " +"filters listed later take precedence over those listed before them (as " +"they're applied left-to-right, and the most recently applied filters take " +"precedence over earlier ones)." +msgstr "" +"Значення кожного з цих полів описано в :ref:`warning-filter`. Під час " +"переліку кількох фільтрів в одному рядку (як для :envvar:`PYTHONWARNINGS`), " +"окремі фільтри відокремлюються комами, а фільтри, перелічені пізніше, мають " +"перевагу над тими, що перераховані перед ними (оскільки вони застосовуються " +"зліва направо, і нещодавно застосовані фільтри мають пріоритет над " +"попередніми)." + +msgid "" +"Commonly used warning filters apply to either all warnings, warnings in a " +"particular category, or warnings raised by particular modules or packages. " +"Some examples::" +msgstr "" +"Зазвичай використовувані фільтри попереджень застосовуються до всіх " +"попереджень, попереджень у певній категорії або попереджень, викликаних " +"окремими модулями чи пакетами. Деякі приклади::" + +msgid "Default Warning Filter" +msgstr "Фільтр попереджень за умовчанням" + +msgid "" +"By default, Python installs several warning filters, which can be overridden " +"by the :option:`-W` command-line option, the :envvar:`PYTHONWARNINGS` " +"environment variable and calls to :func:`filterwarnings`." +msgstr "" +"За замовчуванням Python встановлює кілька фільтрів попереджень, які можна " +"замінити параметром командного рядка :option:`-W`, змінною середовища :" +"envvar:`PYTHONWARNINGS` і викликами :func:`filterwarnings`." + +msgid "" +"In regular release builds, the default warning filter has the following " +"entries (in order of precedence)::" +msgstr "" +"У регулярних збірках випусків стандартний фільтр попереджень містить такі " +"записи (у порядку пріоритету):" + +msgid "" +"In a :ref:`debug build `, the list of default warning filters " +"is empty." +msgstr "" +"У :ref:`debug build ` список стандартних фільтрів попереджень " +"порожній." + +msgid "" +":exc:`DeprecationWarning` is now ignored by default in addition to :exc:" +"`PendingDeprecationWarning`." +msgstr "" +":exc:`DeprecationWarning` тепер ігнорується за умовчанням на додаток до :exc:" +"`PendingDeprecationWarning`." + +msgid "" +":exc:`DeprecationWarning` is once again shown by default when triggered " +"directly by code in ``__main__``." +msgstr "" +":exc:`DeprecationWarning` знову відображається за замовчуванням, якщо його " +"запускає безпосередньо код у ``__main__``." + +msgid "" +":exc:`BytesWarning` no longer appears in the default filter list and is " +"instead configured via :data:`sys.warnoptions` when :option:`-b` is " +"specified twice." +msgstr "" +":exc:`BytesWarning` більше не відображається у списку фільтрів за " +"замовчуванням і натомість налаштовується за допомогою :data:`sys." +"warnoptions`, коли :option:`-b` вказано двічі." + +msgid "Overriding the default filter" +msgstr "Заміна фільтра за замовчуванням" + +msgid "" +"Developers of applications written in Python may wish to hide *all* Python " +"level warnings from their users by default, and only display them when " +"running tests or otherwise working on the application. The :data:`sys." +"warnoptions` attribute used to pass filter configurations to the interpreter " +"can be used as a marker to indicate whether or not warnings should be " +"disabled::" +msgstr "" +"Розробники програм, написаних на Python, можуть за замовчуванням приховати " +"*всі* попередження рівня Python від своїх користувачів і відображати їх лише " +"під час виконання тестів або іншої роботи над програмою. Атрибут :data:`sys." +"warnoptions`, який використовується для передачі конфігурацій фільтра " +"інтерпретатору, можна використовувати як маркер, щоб вказати, чи потрібно " +"вимкнути попередження:" + +msgid "" +"Developers of test runners for Python code are advised to instead ensure " +"that *all* warnings are displayed by default for the code under test, using " +"code like::" +msgstr "" +"Розробникам програм для виконання тестів для коду Python рекомендується " +"натомість переконатися, що *всі* попередження відображаються за " +"замовчуванням для коду, що тестується, використовуючи такий код::" + +msgid "" +"Finally, developers of interactive shells that run user code in a namespace " +"other than ``__main__`` are advised to ensure that :exc:`DeprecationWarning` " +"messages are made visible by default, using code like the following (where " +"``user_ns`` is the module used to execute code entered interactively)::" +msgstr "" +"Нарешті, розробникам інтерактивних оболонок, які запускають код користувача " +"в просторі імен, відмінному від ``__main__``, рекомендується переконатися, " +"що повідомлення :exc:`DeprecationWarning` відображаються за замовчуванням, " +"використовуючи такий код (де ``user_ns`` це модуль, який використовується " +"для виконання коду, введеного інтерактивно)::" + +msgid "Temporarily Suppressing Warnings" +msgstr "Тимчасове припинення попереджень" + +msgid "" +"If you are using code that you know will raise a warning, such as a " +"deprecated function, but do not want to see the warning (even when warnings " +"have been explicitly configured via the command line), then it is possible " +"to suppress the warning using the :class:`catch_warnings` context manager::" +msgstr "" +"Якщо ви використовуєте код, який, як ви знаєте, викличе попередження, " +"наприклад застарілу функцію, але не хочете бачити попередження (навіть якщо " +"попередження було явно налаштовано за допомогою командного рядка), тоді " +"можна придушити попередження за допомогою контекстний менеджер :class:" +"`catch_warnings`::" + +msgid "" +"While within the context manager all warnings will simply be ignored. This " +"allows you to use known-deprecated code without having to see the warning " +"while not suppressing the warning for other code that might not be aware of " +"its use of deprecated code. Note: this can only be guaranteed in a single-" +"threaded application. If two or more threads use the :class:`catch_warnings` " +"context manager at the same time, the behavior is undefined." +msgstr "" +"У контекстному менеджері всі попередження просто ігноруватимуться. Це " +"дозволяє використовувати завідомо застарілий код, не переглядаючи " +"попередження, але не приховуючи попередження для іншого коду, який може не " +"знати про використання застарілого коду. Примітка: це можна гарантувати лише " +"в однопотоковій програмі. Якщо два або більше потоків використовують " +"контекстний менеджер :class:`catch_warnings` одночасно, поведінка не " +"визначена." + +msgid "Testing Warnings" +msgstr "Попередження щодо тестування" + +msgid "" +"To test warnings raised by code, use the :class:`catch_warnings` context " +"manager. With it you can temporarily mutate the warnings filter to " +"facilitate your testing. For instance, do the following to capture all " +"raised warnings to check::" +msgstr "" +"Щоб перевірити попередження, викликані кодом, використовуйте контекстний " +"менеджер :class:`catch_warnings`. За допомогою нього ви можете тимчасово " +"змінити фільтр попереджень, щоб полегшити ваше тестування. Наприклад, " +"виконайте такі дії, щоб зафіксувати всі викликані попередження для перевірки:" + +msgid "" +"One can also cause all warnings to be exceptions by using ``error`` instead " +"of ``always``. One thing to be aware of is that if a warning has already " +"been raised because of a ``once``/``default`` rule, then no matter what " +"filters are set the warning will not be seen again unless the warnings " +"registry related to the warning has been cleared." +msgstr "" +"Можна також зробити всі попередження винятками, використовуючи ``error`` " +"замість ``always``. Слід пам’ятати, що якщо попередження вже виникло через " +"правило ``once``/``default``, то незалежно від того, які фільтри " +"встановлено, попередження більше не відображатиметься, якщо тільки " +"попередження не пов’язані з реєстром попереджень. до попередження було " +"видалено." + +msgid "" +"Once the context manager exits, the warnings filter is restored to its state " +"when the context was entered. This prevents tests from changing the warnings " +"filter in unexpected ways between tests and leading to indeterminate test " +"results. The :func:`showwarning` function in the module is also restored to " +"its original value. Note: this can only be guaranteed in a single-threaded " +"application. If two or more threads use the :class:`catch_warnings` context " +"manager at the same time, the behavior is undefined." +msgstr "" +"Після виходу з диспетчера контексту фільтр попереджень відновлюється до " +"свого стану, коли було введено контекст. Це запобігає неочікуваним змінам " +"фільтра попереджень між тестами, що призводить до невизначених результатів " +"тестування. Функція :func:`showwarning` у модулі також відновлюється до " +"початкового значення. Примітка: це можна гарантувати лише в однопотоковій " +"програмі. Якщо два або більше потоків використовують контекстний менеджер :" +"class:`catch_warnings` одночасно, поведінка не визначена." + +msgid "" +"When testing multiple operations that raise the same kind of warning, it is " +"important to test them in a manner that confirms each operation is raising a " +"new warning (e.g. set warnings to be raised as exceptions and check the " +"operations raise exceptions, check that the length of the warning list " +"continues to increase after each operation, or else delete the previous " +"entries from the warnings list before each new operation)." +msgstr "" +"Під час тестування кількох операцій, які викликають попередження того самого " +"типу, важливо перевірити їх таким чином, щоб підтверджувати, що кожна " +"операція викликає нове попередження (наприклад, установіть попередження, що " +"викликаються як винятки, і перевірте, чи операції викликають винятки, " +"перевірте, чи довжина списку попереджень продовжує збільшуватися після " +"кожної операції, або видаляйте попередні записи зі списку попереджень перед " +"кожною новою операцією)." + +msgid "Updating Code For New Versions of Dependencies" +msgstr "Оновлення коду для нових версій залежностей" + +msgid "" +"Warning categories that are primarily of interest to Python developers " +"(rather than end users of applications written in Python) are ignored by " +"default." +msgstr "" +"Категорії попереджень, які в першу чергу цікавлять розробників Python (а не " +"кінцевих користувачів програм, написаних на Python), ігноруються за " +"умовчанням." + +msgid "" +"Notably, this \"ignored by default\" list includes :exc:`DeprecationWarning` " +"(for every module except ``__main__``), which means developers should make " +"sure to test their code with typically ignored warnings made visible in " +"order to receive timely notifications of future breaking API changes " +"(whether in the standard library or third party packages)." +msgstr "" +"Примітно, що цей список \"ігнорується за замовчуванням\" включає :exc:" +"`DeprecationWarning` (для кожного модуля, крім ``__main__``), що означає, що " +"розробники повинні обов’язково перевірити свій код із попередженнями, які " +"зазвичай ігноруються, щоб отримати своєчасні сповіщення. майбутніх критичних " +"змін API (у стандартній бібліотеці чи сторонніх пакетах)." + +msgid "" +"In the ideal case, the code will have a suitable test suite, and the test " +"runner will take care of implicitly enabling all warnings when running tests " +"(the test runner provided by the :mod:`unittest` module does this)." +msgstr "" +"В ідеальному випадку код матиме відповідний набір тестів, а програма " +"виконання тестів подбає про неявне ввімкнення всіх попереджень під час " +"виконання тестів (це виконує програма виконання тестів, надана модулем :mod:" +"`unittest`)." + +msgid "" +"In less ideal cases, applications can be checked for use of deprecated " +"interfaces by passing :option:`-Wd <-W>` to the Python interpreter (this is " +"shorthand for :option:`!-W default`) or setting ``PYTHONWARNINGS=default`` " +"in the environment. This enables default handling for all warnings, " +"including those that are ignored by default. To change what action is taken " +"for encountered warnings you can change what argument is passed to :option:`-" +"W` (e.g. :option:`!-W error`). See the :option:`-W` flag for more details on " +"what is possible." +msgstr "" +"У менш ідеальних випадках програми можна перевірити на використання " +"застарілих інтерфейсів, передавши :option:`-Wd <-W>` інтерпретатору Python " +"(це скорочення :option:`!-W default`) або встановивши " +"``PYTHONWARNINGS=default`` в навколишньому середовищі. Це вмикає обробку за " +"замовчуванням для всіх попереджень, включаючи ті, які ігноруються за " +"замовчуванням. Щоб змінити дії, які виконуються для виявлених попереджень, " +"ви можете змінити аргумент, який передається до :option:`-W` (наприклад, :" +"option:`!-W error`). Перегляньте прапорець :option:`-W`, щоб дізнатися " +"більше про те, що можливо." + +msgid "Available Functions" +msgstr "Доступні функції" + +msgid "" +"Issue a warning, or maybe ignore it or raise an exception. The *category* " +"argument, if given, must be a :ref:`warning category class `; it defaults to :exc:`UserWarning`. Alternatively, *message* " +"can be a :exc:`Warning` instance, in which case *category* will be ignored " +"and ``message.__class__`` will be used. In this case, the message text will " +"be ``str(message)``. This function raises an exception if the particular " +"warning issued is changed into an error by the :ref:`warnings filter " +"`. The *stacklevel* argument can be used by wrapper " +"functions written in Python, like this::" +msgstr "" +"Видайте попередження, або, можливо, проігноруйте його чи створіть виняток. " +"Аргумент *category*, якщо він заданий, має бути :ref:`класом категорії " +"попередження `; за замовчуванням :exc:`UserWarning`. " +"Крім того, *message* може бути екземпляром :exc:`Warning`, у цьому випадку " +"*category* буде проігноровано та використовуватиметься ``message." +"__class__``. У цьому випадку текст повідомлення буде ``str(message)``. Ця " +"функція викликає виняток, якщо :ref:`фільтр попереджень ` " +"змінює конкретне видане попередження на помилку. Аргумент *stacklevel* може " +"використовуватися функціями-обгортками, написаними на Python, наприклад:" + +msgid "" +"This makes the warning refer to :func:`deprecation`'s caller, rather than to " +"the source of :func:`deprecation` itself (since the latter would defeat the " +"purpose of the warning message)." +msgstr "" +"Це змушує попередження посилатися на виклик :func:`deprecation`, а не на " +"джерело самого :func:`deprecation` (оскільки останнє не відповідає меті " +"повідомлення попередження)." + +msgid "" +"*source*, if supplied, is the destroyed object which emitted a :exc:" +"`ResourceWarning`." +msgstr "" +"*джерело*, якщо вказано, це знищений об’єкт, який випустив :exc:" +"`ResourceWarning`." + +msgid "Added *source* parameter." +msgstr "Додано параметр *джерело*." + +msgid "" +"This is a low-level interface to the functionality of :func:`warn`, passing " +"in explicitly the message, category, filename and line number, and " +"optionally the module name and the registry (which should be the " +"``__warningregistry__`` dictionary of the module). The module name defaults " +"to the filename with ``.py`` stripped; if no registry is passed, the warning " +"is never suppressed. *message* must be a string and *category* a subclass " +"of :exc:`Warning` or *message* may be a :exc:`Warning` instance, in which " +"case *category* will be ignored." +msgstr "" +"Це низькорівневий інтерфейс для функціональності :func:`warn`, який явно " +"передає повідомлення, категорію, ім’я файлу та номер рядка, а також, за " +"бажанням, назву модуля та реєстр (який має бути словником " +"``__warningregistry__`` модуля). Ім’я модуля за замовчуванням – це ім’я " +"файлу з видаленим ``.py``; якщо реєстр не передано, попередження ніколи не " +"пригнічується. *message* має бути рядком, а *category* — підкласом :exc:" +"`Warning` або *message* може бути екземпляром :exc:`Warning`, у цьому " +"випадку *category* ігноруватиметься." + +msgid "" +"*module_globals*, if supplied, should be the global namespace in use by the " +"code for which the warning is issued. (This argument is used to support " +"displaying source for modules found in zipfiles or other non-filesystem " +"import sources)." +msgstr "" +"*module_globals*, якщо вказано, має бути глобальним простором імен, який " +"використовується кодом, для якого видається попередження. (Цей аргумент " +"використовується для підтримки відображення вихідного коду для модулів, " +"знайдених у zip-файлах або інших джерелах імпорту, які не належать до " +"файлової системи)." + +msgid "Add the *source* parameter." +msgstr "Додайте параметр *source*." + +msgid "" +"Write a warning to a file. The default implementation calls " +"``formatwarning(message, category, filename, lineno, line)`` and writes the " +"resulting string to *file*, which defaults to :data:`sys.stderr`. You may " +"replace this function with any callable by assigning to ``warnings." +"showwarning``. *line* is a line of source code to be included in the warning " +"message; if *line* is not supplied, :func:`showwarning` will try to read the " +"line specified by *filename* and *lineno*." +msgstr "" +"Записати попередження у файл. Стандартна реалізація викликає " +"``formatwarning(message, category, filename, lineno, line)`` і записує " +"результуючий рядок у *file*, який за замовчуванням має значення :data:`sys." +"stderr`. Ви можете замінити цю функцію будь-якою викликаною, призначивши " +"``warning.showwarning``. *рядок* — це рядок вихідного коду, який буде " +"включено в повідомлення попередження; якщо *рядок* не надано, :func:" +"`showwarning` спробує прочитати рядок, визначений *filename* і *lineno*." + +msgid "" +"Format a warning the standard way. This returns a string which may contain " +"embedded newlines and ends in a newline. *line* is a line of source code to " +"be included in the warning message; if *line* is not supplied, :func:" +"`formatwarning` will try to read the line specified by *filename* and " +"*lineno*." +msgstr "" +"Відформатуйте попередження стандартним способом. Це повертає рядок, який " +"може містити вбудовані символи нового рядка та закінчується символом нового " +"рядка. *рядок* — це рядок вихідного коду, який буде включено в повідомлення " +"попередження; якщо *рядок* не вказано, :func:`formatwarning` спробує " +"прочитати рядок, визначений *filename* і *lineno*." + +msgid "" +"Insert an entry into the list of :ref:`warnings filter specifications " +"`. The entry is inserted at the front by default; if " +"*append* is true, it is inserted at the end. This checks the types of the " +"arguments, compiles the *message* and *module* regular expressions, and " +"inserts them as a tuple in the list of warnings filters. Entries closer to " +"the front of the list override entries later in the list, if both match a " +"particular warning. Omitted arguments default to a value that matches " +"everything." +msgstr "" +"Вставте запис у список :ref:`специфікацій фільтра попереджень `. Запис вставляється спереду за замовчуванням; якщо *append* має " +"значення true, воно вставляється в кінці. Це перевіряє типи аргументів, " +"компілює регулярні вирази *message* і *module* і вставляє їх як кортеж у " +"список фільтрів попереджень. Записи, розташовані ближче до початку списку, " +"замінюють записи, розташовані далі в списку, якщо обидва відповідають " +"певному попередженню. Пропущені аргументи за умовчанням мають значення, яке " +"відповідає всім." + +msgid "" +"Insert a simple entry into the list of :ref:`warnings filter specifications " +"`. The meaning of the function parameters is as for :func:" +"`filterwarnings`, but regular expressions are not needed as the filter " +"inserted always matches any message in any module as long as the category " +"and line number match." +msgstr "" +"Вставте простий запис у список специфікацій фільтра :ref:`попереджень " +"`. Значення параметрів функції таке ж, як і для :func:" +"`filterwarnings`, але регулярні вирази не потрібні, оскільки вставлений " +"фільтр завжди відповідає будь-якому повідомленню в будь-якому модулі, якщо " +"збігаються категорія та номер рядка." + +msgid "" +"Reset the warnings filter. This discards the effect of all previous calls " +"to :func:`filterwarnings`, including that of the :option:`-W` command line " +"options and calls to :func:`simplefilter`." +msgstr "" +"Скинути фільтр попереджень. Це скасовує дію всіх попередніх викликів :func:" +"`filterwarnings`, включаючи параметри командного рядка :option:`-W` і " +"виклики :func:`simplefilter`." + +msgid "Available Context Managers" +msgstr "Доступні менеджери контексту" + +msgid "" +"A context manager that copies and, upon exit, restores the warnings filter " +"and the :func:`showwarning` function. If the *record* argument is :const:" +"`False` (the default) the context manager returns :class:`None` on entry. If " +"*record* is :const:`True`, a list is returned that is progressively " +"populated with objects as seen by a custom :func:`showwarning` function " +"(which also suppresses output to ``sys.stdout``). Each object in the list " +"has attributes with the same names as the arguments to :func:`showwarning`." +msgstr "" +"Контекстний менеджер, який копіює та після виходу відновлює фільтр " +"попереджень і функцію :func:`showwarning`. Якщо аргумент *record* має " +"значення :const:`False` (за замовчуванням), менеджер контексту повертає :" +"class:`None` під час входу. Якщо *record* дорівнює :const:`True`, " +"повертається список, який поступово заповнюється об’єктами, як це бачить " +"спеціальна функція :func:`showwarning` (яка також пригнічує виведення в " +"``sys.stdout``). Кожен об’єкт у списку має атрибути з тими самими іменами, " +"що й аргументи :func:`showwarning`." + +msgid "" +"The *module* argument takes a module that will be used instead of the module " +"returned when you import :mod:`warnings` whose filter will be protected. " +"This argument exists primarily for testing the :mod:`warnings` module itself." +msgstr "" +"Аргумент *module* приймає модуль, який використовуватиметься замість модуля, " +"який повертається під час імпорту :mod:`warnings`, фільтр якого буде " +"захищено. Цей аргумент існує насамперед для тестування самого модуля :mod:" +"`warnings`." + +msgid "" +"If the *action* argument is not ``None``, the remaining arguments are passed " +"to :func:`simplefilter` as if it were called immediately on entering the " +"context." +msgstr "" + +msgid "" +"The :class:`catch_warnings` manager works by replacing and then later " +"restoring the module's :func:`showwarning` function and internal list of " +"filter specifications. This means the context manager is modifying global " +"state and therefore is not thread-safe." +msgstr "" +"Менеджер :class:`catch_warnings` працює, замінюючи, а потім пізніше " +"відновлюючи функцію :func:`showwarning` модуля та внутрішній список " +"специфікацій фільтрів. Це означає, що менеджер контексту змінює глобальний " +"стан і тому не є потоково-безпечним." + +msgid "Added the *action*, *category*, *lineno*, and *append* parameters." +msgstr "" diff --git a/library/wave.po b/library/wave.po new file mode 100644 index 000000000..ce5822f01 --- /dev/null +++ b/library/wave.po @@ -0,0 +1,298 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`wave` --- Read and write WAV files" +msgstr ":mod:`wave` --- Читання та запис файлів WAV" + +msgid "**Source code:** :source:`Lib/wave.py`" +msgstr "**Вихідний код:** :source:`Lib/wave.py`" + +msgid "" +"The :mod:`wave` module provides a convenient interface to the WAV sound " +"format. Only files using ``WAVE_FORMAT_PCM`` are supported. Note that this " +"does not include files using ``WAVE_FORMAT_EXTENSIBLE`` even if the " +"subformat is PCM." +msgstr "" + +msgid "The :mod:`wave` module defines the following function and exception:" +msgstr "Модуль :mod:`wave` визначає таку функцію та виняток:" + +msgid "" +"If *file* is a string, open the file by that name, otherwise treat it as a " +"file-like object. *mode* can be:" +msgstr "" +"Якщо *file* є рядком, відкрийте файл під таким іменем, інакше розглядайте " +"його як файлоподібний об’єкт. *режим* може бути:" + +msgid "``'rb'``" +msgstr "``'rb'``" + +msgid "Read only mode." +msgstr "Режим тільки читання." + +msgid "``'wb'``" +msgstr "``'wb'``" + +msgid "Write only mode." +msgstr "Режим лише запису." + +msgid "Note that it does not allow read/write WAV files." +msgstr "Зауважте, що він не дозволяє читати/записувати файли WAV." + +msgid "" +"A *mode* of ``'rb'`` returns a :class:`Wave_read` object, while a *mode* of " +"``'wb'`` returns a :class:`Wave_write` object. If *mode* is omitted and a " +"file-like object is passed as *file*, ``file.mode`` is used as the default " +"value for *mode*." +msgstr "" +"*Режим* ``'rb'`` повертає об’єкт :class:`Wave_read`, а *режим* ``'wb'`` " +"повертає об’єкт :class:`Wave_write`. Якщо *mode* опущено, а файлоподібний " +"об’єкт передається як *file*, ``file.mode`` використовується як значення за " +"замовчуванням для *mode*." + +msgid "" +"If you pass in a file-like object, the wave object will not close it when " +"its :meth:`close` method is called; it is the caller's responsibility to " +"close the file object." +msgstr "" +"Якщо ви передаєте файлоподібний об’єкт, об’єкт wave не закриє його під час " +"виклику його методу :meth:`close`; закриття файлового об'єкта відповідає " +"абоненту." + +msgid "" +"The :func:`.open` function may be used in a :keyword:`with` statement. When " +"the :keyword:`!with` block completes, the :meth:`Wave_read.close() ` or :meth:`Wave_write.close() ` " +"method is called." +msgstr "" +"Функцію :func:`.open` можна використовувати в операторі :keyword:`with`. " +"Коли блок :keyword:`!with` завершується, викликається метод :meth:`Wave_read." +"close() ` або :meth:`Wave_write.close() `." + +msgid "Added support for unseekable files." +msgstr "Додано підтримку файлів, які неможливо шукати." + +msgid "" +"An error raised when something is impossible because it violates the WAV " +"specification or hits an implementation deficiency." +msgstr "" +"Помилка виникає, коли щось неможливо, оскільки воно порушує специфікацію WAV " +"або стикається з недоліком реалізації." + +msgid "Wave_read Objects" +msgstr "Об’єкти Wave_read" + +msgid "" +"Wave_read objects, as returned by :func:`.open`, have the following methods:" +msgstr "Об’єкти Wave_read, які повертає :func:`.open`, мають такі методи:" + +msgid "" +"Close the stream if it was opened by :mod:`wave`, and make the instance " +"unusable. This is called automatically on object collection." +msgstr "" +"Закрийте потік, якщо його відкрив :mod:`wave`, і зробіть екземпляр " +"непридатним для використання. Це викликається автоматично під час колекції " +"об’єктів." + +msgid "Returns number of audio channels (``1`` for mono, ``2`` for stereo)." +msgstr "Повертає кількість аудіоканалів (``1`` для моно, ``2`` для стерео)." + +msgid "Returns sample width in bytes." +msgstr "Повертає ширину вибірки в байтах." + +msgid "Returns sampling frequency." +msgstr "Повертає частоту вибірки." + +msgid "Returns number of audio frames." +msgstr "Повертає кількість звукових кадрів." + +msgid "Returns compression type (``'NONE'`` is the only supported type)." +msgstr "Повертає тип стиснення (``'NONE'`` є єдиним підтримуваним типом)." + +msgid "" +"Human-readable version of :meth:`getcomptype`. Usually ``'not compressed'`` " +"parallels ``'NONE'``." +msgstr "" +"Зрозуміла для людини версія :meth:`getcomptype`. Зазвичай ``'not " +"compressed'`` паралелі ``'NONE'``." + +msgid "" +"Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " +"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" +"`get\\*` methods." +msgstr "" +"Повертає :func:`~collections.namedtuple` ``(nchannels, sampwidth, framerate, " +"nframes, comptype, compname)``, еквівалентний виводу методів :meth:`get\\*`." + +msgid "" +"Reads and returns at most *n* frames of audio, as a :class:`bytes` object." +msgstr "" +"Читає та повертає щонайбільше *n* кадрів аудіо як об’єкт :class:`bytes`." + +msgid "Rewind the file pointer to the beginning of the audio stream." +msgstr "Перемотайте покажчик файлу на початок аудіопотоку." + +msgid "" +"The following two methods are defined for compatibility with the :mod:`aifc` " +"module, and don't do anything interesting." +msgstr "" +"Наступні два методи визначені для сумісності з модулем :mod:`aifc` і не " +"роблять нічого цікавого." + +msgid "Returns ``None``." +msgstr "Повертає ``None``." + +msgid "Raise an error." +msgstr "Викликати помилку." + +msgid "" +"The following two methods define a term \"position\" which is compatible " +"between them, and is otherwise implementation dependent." +msgstr "" +"Наступні два методи визначають термін \"позиція\", який є сумісним між ними, " +"а в інших випадках залежить від реалізації." + +msgid "Set the file pointer to the specified position." +msgstr "Встановити вказівник файлу у вказане положення." + +msgid "Return current file pointer position." +msgstr "Повернути поточне положення покажчика файлу." + +msgid "Wave_write Objects" +msgstr "Об’єкти Wave_write" + +msgid "" +"For seekable output streams, the ``wave`` header will automatically be " +"updated to reflect the number of frames actually written. For unseekable " +"streams, the *nframes* value must be accurate when the first frame data is " +"written. An accurate *nframes* value can be achieved either by calling :" +"meth:`~Wave_write.setnframes` or :meth:`~Wave_write.setparams` with the " +"number of frames that will be written before :meth:`~Wave_write.close` is " +"called and then using :meth:`~Wave_write.writeframesraw` to write the frame " +"data, or by calling :meth:`~Wave_write.writeframes` with all of the frame " +"data to be written. In the latter case :meth:`~Wave_write.writeframes` will " +"calculate the number of frames in the data and set *nframes* accordingly " +"before writing the frame data." +msgstr "" +"Для доступних для пошуку вихідних потоків заголовок ``wave`` буде " +"автоматично оновлено, щоб відобразити кількість фактично записаних кадрів. " +"Для потоків, які неможливо шукати, значення *nframes* має бути точним під " +"час запису даних першого кадру. Точне значення *nframes* можна отримати, " +"викликавши :meth:`~Wave_write.setnframes` або :meth:`~Wave_write.setparams` " +"із кількістю кадрів, які будуть записані перед :meth:`~Wave_write.close` " +"викликається, а потім використовує :meth:`~Wave_write.writeframesraw` для " +"запису даних кадру або викликає :meth:`~Wave_write.writeframes` з усіма " +"даними кадру, які потрібно записати. В останньому випадку :meth:`~Wave_write." +"writeframes` обчислить кількість кадрів у даних і відповідно встановить " +"*nframes* перед записом даних кадру." + +msgid "" +"Wave_write objects, as returned by :func:`.open`, have the following methods:" +msgstr "Об’єкти Wave_write, які повертає :func:`.open`, мають такі методи:" + +msgid "" +"Make sure *nframes* is correct, and close the file if it was opened by :mod:" +"`wave`. This method is called upon object collection. It will raise an " +"exception if the output stream is not seekable and *nframes* does not match " +"the number of frames actually written." +msgstr "" +"Переконайтеся, що *nframes* правильний, і закрийте файл, якщо його відкрив :" +"mod:`wave`. Цей метод називається колекцією об’єктів. Це викличе виняток, " +"якщо вихідний потік не доступний для пошуку та *nframes* не відповідає " +"кількості фактично записаних кадрів." + +msgid "Set the number of channels." +msgstr "Встановіть кількість каналів." + +msgid "Set the sample width to *n* bytes." +msgstr "Встановіть ширину вибірки на *n* байтів." + +msgid "Set the frame rate to *n*." +msgstr "Встановіть частоту кадрів на *n*." + +msgid "A non-integral input to this method is rounded to the nearest integer." +msgstr "" +"Неінтегральний вхід у цей метод округлюється до найближчого цілого числа." + +msgid "" +"Set the number of frames to *n*. This will be changed later if the number " +"of frames actually written is different (this update attempt will raise an " +"error if the output stream is not seekable)." +msgstr "" +"Встановіть кількість кадрів на *n*. Це буде змінено пізніше, якщо фактично " +"записана кількість кадрів буде іншою (ця спроба оновлення викличе помилку, " +"якщо вихідний потік не доступний для пошуку)." + +msgid "" +"Set the compression type and description. At the moment, only compression " +"type ``NONE`` is supported, meaning no compression." +msgstr "" +"Встановіть тип стиснення та опис. На даний момент підтримується лише тип " +"стиснення ``NONE``, що означає відсутність стиснення." + +msgid "" +"The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " +"compname)``, with values valid for the :meth:`set\\*` methods. Sets all " +"parameters." +msgstr "" +"Кортеж має бути ``(nchannels, sampwidth, framerate, nframes, comptype, " +"compname)`` зі значеннями, дійсними для методів :meth:`set\\*`. Встановлює " +"всі параметри." + +msgid "" +"Return current position in the file, with the same disclaimer for the :meth:" +"`Wave_read.tell` and :meth:`Wave_read.setpos` methods." +msgstr "" +"Повертає поточну позицію у файлі з тим самим застереженням для методів :meth:" +"`Wave_read.tell` і :meth:`Wave_read.setpos`." + +msgid "Write audio frames, without correcting *nframes*." +msgstr "Записуйте аудіокадри, не виправляючи *nframes*." + +msgid "Any :term:`bytes-like object` is now accepted." +msgstr "Тепер приймається будь-який :term:`bytes-like object`." + +msgid "" +"Write audio frames and make sure *nframes* is correct. It will raise an " +"error if the output stream is not seekable and the total number of frames " +"that have been written after *data* has been written does not match the " +"previously set value for *nframes*." +msgstr "" +"Напишіть звукові кадри та переконайтеся, що *nframes* правильний. Це викличе " +"помилку, якщо вихідний потік недоступний для пошуку, а загальна кількість " +"кадрів, які були записані після запису *data*, не збігається з попередньо " +"встановленим значенням для *nframes*." + +msgid "" +"Note that it is invalid to set any parameters after calling :meth:" +"`writeframes` or :meth:`writeframesraw`, and any attempt to do so will " +"raise :exc:`wave.Error`." +msgstr "" +"Зауважте, що не можна встановлювати будь-які параметри після виклику :meth:" +"`writeframes` або :meth:`writeframesraw`, і будь-яка спроба зробити це " +"викличе :exc:`wave.Error`." diff --git a/library/weakref.po b/library/weakref.po new file mode 100644 index 000000000..30d5abc22 --- /dev/null +++ b/library/weakref.po @@ -0,0 +1,705 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`weakref` --- Weak references" +msgstr ":mod:`weakref` --- Слабкі посилання" + +msgid "**Source code:** :source:`Lib/weakref.py`" +msgstr "**Вихідний код:** :source:`Lib/weakref.py`" + +msgid "" +"The :mod:`weakref` module allows the Python programmer to create :dfn:`weak " +"references` to objects." +msgstr "" +"Модуль :mod:`weakref` дозволяє програмісту Python створювати :dfn:`слабкі " +"посилання` на об’єкти." + +msgid "" +"In the following, the term :dfn:`referent` means the object which is " +"referred to by a weak reference." +msgstr "" +"Далі термін :dfn:`referent` означає об’єкт, на який посилається слабке " +"посилання." + +msgid "" +"A weak reference to an object is not enough to keep the object alive: when " +"the only remaining references to a referent are weak references, :term:" +"`garbage collection` is free to destroy the referent and reuse its memory " +"for something else. However, until the object is actually destroyed the " +"weak reference may return the object even if there are no strong references " +"to it." +msgstr "" +"Слабкого посилання на об’єкт недостатньо, щоб зберегти об’єкт живим: коли " +"єдині посилання на референт є слабкими посиланнями, :term:`garbage " +"collection` може знищити референт і використовувати його пам’ять для чогось " +"іншого. Однак, поки об’єкт не буде фактично знищено, слабке посилання може " +"повертати об’єкт, навіть якщо на нього немає сильних посилань." + +msgid "" +"A primary use for weak references is to implement caches or mappings holding " +"large objects, where it's desired that a large object not be kept alive " +"solely because it appears in a cache or mapping." +msgstr "" +"Основним використанням слабких посилань є реалізація кешів або відображень, " +"що містять великі об’єкти, де бажано, щоб великий об’єкт не зберігався живим " +"лише тому, що він з’являється в кеші чи відображенні." + +msgid "" +"For example, if you have a number of large binary image objects, you may " +"wish to associate a name with each. If you used a Python dictionary to map " +"names to images, or images to names, the image objects would remain alive " +"just because they appeared as values or keys in the dictionaries. The :" +"class:`WeakKeyDictionary` and :class:`WeakValueDictionary` classes supplied " +"by the :mod:`weakref` module are an alternative, using weak references to " +"construct mappings that don't keep objects alive solely because they appear " +"in the mapping objects. If, for example, an image object is a value in a :" +"class:`WeakValueDictionary`, then when the last remaining references to that " +"image object are the weak references held by weak mappings, garbage " +"collection can reclaim the object, and its corresponding entries in weak " +"mappings are simply deleted." +msgstr "" +"Наприклад, якщо у вас є кілька великих бінарних об’єктів зображення, ви " +"можете призначити ім’я кожному. Якби ви використовували словник Python для " +"зіставлення імен із зображеннями або зображень з іменами, об’єкти зображення " +"залишалися б живими лише тому, що вони відображалися як значення або ключі в " +"словниках. Класи :class:`WeakKeyDictionary` і :class:`WeakValueDictionary`, " +"що надаються модулем :mod:`weakref`, є альтернативою, використовуючи слабкі " +"посилання для створення відображень, які не зберігають об’єкти лише тому, що " +"вони з’являються в об’єктах відображення . Якщо, наприклад, об’єкт " +"зображення є значенням у :class:`WeakValueDictionary`, тоді, коли останні " +"посилання на цей об’єкт зображення є слабкими посиланнями, утримуваними " +"слабкими відображеннями, збір сміття може відновити об’єкт і його відповідні " +"записи у слабких відображеннях просто видаляються." + +msgid "" +":class:`WeakKeyDictionary` and :class:`WeakValueDictionary` use weak " +"references in their implementation, setting up callback functions on the " +"weak references that notify the weak dictionaries when a key or value has " +"been reclaimed by garbage collection. :class:`WeakSet` implements the :" +"class:`set` interface, but keeps weak references to its elements, just like " +"a :class:`WeakKeyDictionary` does." +msgstr "" +":class:`WeakKeyDictionary` і :class:`WeakValueDictionary` використовують " +"слабкі посилання у своїй реалізації, встановлюючи функції зворотного виклику " +"для слабких посилань, які сповіщають слабкі словники, коли ключ або значення " +"було вилучено під час збирання сміття. :class:`WeakSet` реалізує інтерфейс :" +"class:`set`, але зберігає слабкі посилання на його елементи, як це робить :" +"class:`WeakKeyDictionary`." + +msgid "" +":class:`finalize` provides a straight forward way to register a cleanup " +"function to be called when an object is garbage collected. This is simpler " +"to use than setting up a callback function on a raw weak reference, since " +"the module automatically ensures that the finalizer remains alive until the " +"object is collected." +msgstr "" +":class:`finalize` забезпечує прямий спосіб реєстрації функції очищення, яка " +"буде викликатися під час збирання сміття об’єкта. Це простіше у " +"використанні, ніж налаштування функції зворотного виклику для необробленого " +"слабкого посилання, оскільки модуль автоматично гарантує, що фіналізатор " +"залишається активним, доки об’єкт не буде зібрано." + +msgid "" +"Most programs should find that using one of these weak container types or :" +"class:`finalize` is all they need -- it's not usually necessary to create " +"your own weak references directly. The low-level machinery is exposed by " +"the :mod:`weakref` module for the benefit of advanced uses." +msgstr "" +"Більшість програм має виявити, що використання одного з цих слабких типів " +"контейнерів або :class:`finalize` — це все, що їм потрібно - зазвичай не " +"потрібно безпосередньо створювати власні слабкі посилання. Механізм низького " +"рівня розкривається модулем :mod:`weakref` для розширеного використання." + +msgid "" +"Not all objects can be weakly referenced. Objects which support weak " +"references include class instances, functions written in Python (but not in " +"C), instance methods, sets, frozensets, some :term:`file objects `, :term:`generators `, type objects, sockets, arrays, " +"deques, regular expression pattern objects, and code objects." +msgstr "" + +msgid "Added support for thread.lock, threading.Lock, and code objects." +msgstr "Додано підтримку об’єктів thread.lock, threading.Lock і коду." + +msgid "" +"Several built-in types such as :class:`list` and :class:`dict` do not " +"directly support weak references but can add support through subclassing::" +msgstr "" +"Кілька вбудованих типів, таких як :class:`list` і :class:`dict`, не " +"підтримують безпосередньо слабкі посилання, але можуть додати підтримку " +"через підкласи::" + +msgid "" +"Other built-in types such as :class:`tuple` and :class:`int` do not support " +"weak references even when subclassed." +msgstr "" +"Інші вбудовані типи, такі як :class:`tuple` і :class:`int` не підтримують " +"слабкі посилання, навіть якщо є підкласами." + +msgid "" +"Extension types can easily be made to support weak references; see :ref:" +"`weakref-support`." +msgstr "" +"Типи розширень можна легко створити для підтримки слабких посилань; див. :" +"ref:`weakref-support`." + +msgid "" +"When ``__slots__`` are defined for a given type, weak reference support is " +"disabled unless a ``'__weakref__'`` string is also present in the sequence " +"of strings in the ``__slots__`` declaration. See :ref:`__slots__ " +"documentation ` for details." +msgstr "" +"Коли для даного типу визначено ``__slots__``, підтримку слабких посилань " +"вимкнено, якщо тільки рядок ``'__weakref__`` також не присутній у " +"послідовності рядків у декларації ``__slots__``. Перегляньте :ref:`__slots__ " +"документацію ` для деталей." + +msgid "" +"Return a weak reference to *object*. The original object can be retrieved " +"by calling the reference object if the referent is still alive; if the " +"referent is no longer alive, calling the reference object will cause :const:" +"`None` to be returned. If *callback* is provided and not :const:`None`, and " +"the returned weakref object is still alive, the callback will be called when " +"the object is about to be finalized; the weak reference object will be " +"passed as the only parameter to the callback; the referent will no longer be " +"available." +msgstr "" +"Повернути слабке посилання на *об’єкт*. Вихідний об’єкт можна отримати, " +"викликавши еталонний об’єкт, якщо референт ще живий; якщо референт більше не " +"живий, виклик об’єкта посилання призведе до повернення :const:`None`. Якщо " +"надано *callback*, а не :const:`None`, і повернутий об’єкт weakref все ще " +"живий, зворотний виклик буде викликано, коли об’єкт буде завершено; об'єкт " +"слабкого посилання буде передано як єдиний параметр зворотного виклику; " +"референт більше не буде доступний." + +msgid "" +"It is allowable for many weak references to be constructed for the same " +"object. Callbacks registered for each weak reference will be called from the " +"most recently registered callback to the oldest registered callback." +msgstr "" +"Для одного об’єкта допускається створення багатьох слабких посилань. " +"Зворотні виклики, зареєстровані для кожного слабкого посилання, " +"викликатимуться від останнього зареєстрованого зворотного виклику до " +"найстарішого зареєстрованого зворотного виклику." + +msgid "" +"Exceptions raised by the callback will be noted on the standard error " +"output, but cannot be propagated; they are handled in exactly the same way " +"as exceptions raised from an object's :meth:`__del__` method." +msgstr "" +"Винятки, викликані зворотним викликом, будуть зазначені у стандартному " +"виведенні помилки, але не можуть бути передані; вони обробляються точно так " +"само, як винятки, викликані методом :meth:`__del__` об’єкта." + +msgid "" +"Weak references are :term:`hashable` if the *object* is hashable. They will " +"maintain their hash value even after the *object* was deleted. If :func:" +"`hash` is called the first time only after the *object* was deleted, the " +"call will raise :exc:`TypeError`." +msgstr "" +"Слабкі посилання є :term:`hashable`, якщо *об’єкт* є хешованим. Вони " +"збережуть своє хеш-значення навіть після видалення *об’єкта*. Якщо :func:" +"`hash` викликається вперше лише після того, як *об’єкт* було видалено, " +"виклик викличе :exc:`TypeError`." + +msgid "" +"Weak references support tests for equality, but not ordering. If the " +"referents are still alive, two references have the same equality " +"relationship as their referents (regardless of the *callback*). If either " +"referent has been deleted, the references are equal only if the reference " +"objects are the same object." +msgstr "" +"Слабкі посилання підтримують тести на рівність, але не впорядкування. Якщо " +"референти ще живі, два посилання мають таке ж відношення рівності, що й їхні " +"референти (незалежно від *зворотного виклику*). Якщо будь-який референт було " +"видалено, посилання є рівними, лише якщо об’єкти еталонів є одним і тим же " +"об’єктом." + +msgid "This is a subclassable type rather than a factory function." +msgstr "Це тип підкласу, а не фабрична функція." + +msgid "" +"This read-only attribute returns the callback currently associated to the " +"weakref. If there is no callback or if the referent of the weakref is no " +"longer alive then this attribute will have value ``None``." +msgstr "" +"Цей атрибут лише для читання повертає зворотний виклик, наразі пов’язаний зі " +"слабким посиланням. Якщо зворотного виклику немає або референт слабкого " +"посилання більше не живий, цей атрибут матиме значення ``None``." + +msgid "Added the :attr:`__callback__` attribute." +msgstr "Додано атрибут :attr:`__callback__`." + +msgid "" +"Return a proxy to *object* which uses a weak reference. This supports use " +"of the proxy in most contexts instead of requiring the explicit " +"dereferencing used with weak reference objects. The returned object will " +"have a type of either ``ProxyType`` or ``CallableProxyType``, depending on " +"whether *object* is callable. Proxy objects are not :term:`hashable` " +"regardless of the referent; this avoids a number of problems related to " +"their fundamentally mutable nature, and prevent their use as dictionary " +"keys. *callback* is the same as the parameter of the same name to the :func:" +"`ref` function." +msgstr "" +"Повернути проксі до *об’єкта*, який використовує слабке посилання. Це " +"підтримує використання проксі-сервера в більшості контекстів замість того, " +"щоб вимагати явного розіменування, яке використовується для слабких " +"посилальних об’єктів. Повернений об’єкт матиме тип ``ProxyType`` або " +"``CallableProxyType``, залежно від того, чи можна викликати *об’єкт*. Проксі-" +"об’єкти не :term:`hashable` незалежно від референта; це дозволяє уникнути " +"ряду проблем, пов'язаних з їх фундаментально змінюваною природою, і " +"запобігає їх використанню як ключів словника. *callback* — це те саме, що й " +"однойменний параметр функції :func:`ref`." + +msgid "" +"Accessing an attribute of the proxy object after the referent is garbage " +"collected raises :exc:`ReferenceError`." +msgstr "" + +msgid "" +"Extended the operator support on proxy objects to include the matrix " +"multiplication operators ``@`` and ``@=``." +msgstr "" +"Розширено підтримку операторів на проксі-об’єктах, щоб включити оператори " +"множення матриці ``@`` і ``@=``." + +msgid "" +"Return the number of weak references and proxies which refer to *object*." +msgstr "" +"Повертає кількість слабких посилань і проксі, які посилаються на *об’єкт*." + +msgid "" +"Return a list of all weak reference and proxy objects which refer to " +"*object*." +msgstr "" +"Повертає список усіх слабких посилань і проксі-об’єктів, які посилаються на " +"*об’єкт*." + +msgid "" +"Mapping class that references keys weakly. Entries in the dictionary will " +"be discarded when there is no longer a strong reference to the key. This " +"can be used to associate additional data with an object owned by other parts " +"of an application without adding attributes to those objects. This can be " +"especially useful with objects that override attribute accesses." +msgstr "" +"Клас зіставлення, який слабко посилається на ключі. Записи в словнику буде " +"відкинуто, коли більше немає сильного посилання на ключ. Це можна " +"використовувати для зв’язування додаткових даних з об’єктом, що належить " +"іншим частинам програми, без додавання атрибутів до цих об’єктів. Це може " +"бути особливо корисним для об’єктів, які перевизначають доступ до атрибутів." + +msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." +msgstr "Додано підтримку операторів ``|`` і ``|=``, указаних у :pep:`584`." + +msgid "" +":class:`WeakKeyDictionary` objects have an additional method that exposes " +"the internal references directly. The references are not guaranteed to be " +"\"live\" at the time they are used, so the result of calling the references " +"needs to be checked before being used. This can be used to avoid creating " +"references that will cause the garbage collector to keep the keys around " +"longer than needed." +msgstr "" +"Об’єкти :class:`WeakKeyDictionary` мають додатковий метод, який " +"безпосередньо відкриває внутрішні посилання. Не гарантується, що посилання " +"будуть \"живими\" під час їх використання, тому результат виклику посилань " +"потрібно перевірити перед використанням. Це можна використовувати, щоб " +"уникнути створення посилань, через які збирач сміття зберігатиме ключі " +"довше, ніж потрібно." + +msgid "Return an iterable of the weak references to the keys." +msgstr "Повертає ітерацію слабких посилань на ключі." + +msgid "" +"Mapping class that references values weakly. Entries in the dictionary will " +"be discarded when no strong reference to the value exists any more." +msgstr "" +"Клас зіставлення, який слабко посилається на значення. Записи в словнику " +"буде відкинуто, якщо більше не існує сильного посилання на значення." + +msgid "" +"Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`." +msgstr "Додано підтримку операторів ``|`` і ``|=``, як зазначено в :pep:`584`." + +msgid "" +":class:`WeakValueDictionary` objects have an additional method that has the " +"same issues as the :meth:`keyrefs` method of :class:`WeakKeyDictionary` " +"objects." +msgstr "" +"Об’єкти :class:`WeakValueDictionary` мають додатковий метод, який має ті " +"самі проблеми, що й метод :meth:`keyrefs` об’єктів :class:" +"`WeakKeyDictionary`." + +msgid "Return an iterable of the weak references to the values." +msgstr "Повертає ітерацію слабких посилань на значення." + +msgid "" +"Set class that keeps weak references to its elements. An element will be " +"discarded when no strong reference to it exists any more." +msgstr "" +"Клас набору, який зберігає слабкі посилання на свої елементи. Елемент буде " +"відкинуто, якщо на нього більше не буде сильних посилань." + +msgid "" +"A custom :class:`ref` subclass which simulates a weak reference to a bound " +"method (i.e., a method defined on a class and looked up on an instance). " +"Since a bound method is ephemeral, a standard weak reference cannot keep " +"hold of it. :class:`WeakMethod` has special code to recreate the bound " +"method until either the object or the original function dies::" +msgstr "" +"Спеціальний підклас :class:`ref`, який імітує слабке посилання на зв’язаний " +"метод (тобто метод, визначений у класі та шуканий у екземплярі). Оскільки " +"зв’язаний метод є ефемерним, стандартне слабке посилання не може втримати " +"його. :class:`WeakMethod` має спеціальний код для відтворення зв’язаного " +"методу, доки об’єкт або вихідна функція не помре::" + +msgid "" +"Return a callable finalizer object which will be called when *obj* is " +"garbage collected. Unlike an ordinary weak reference, a finalizer will " +"always survive until the reference object is collected, greatly simplifying " +"lifecycle management." +msgstr "" +"Повертає викликаний об’єкт фіналізатора, який буде викликаний, коли *obj* " +"буде зібрано сміття. На відміну від звичайного слабкого посилання, " +"фіналізатор завжди житиме, доки не буде зібрано еталонний об’єкт, що значно " +"спрощує керування життєвим циклом." + +msgid "" +"A finalizer is considered *alive* until it is called (either explicitly or " +"at garbage collection), and after that it is *dead*. Calling a live " +"finalizer returns the result of evaluating ``func(*arg, **kwargs)``, whereas " +"calling a dead finalizer returns :const:`None`." +msgstr "" +"Фіналізатор вважається *живим*, доки його не викликають (явним чином або під " +"час збирання сміття), а після цього він *мертвий*. Виклик активного " +"фіналізатора повертає результат обчислення ``func(*arg, **kwargs)``, тоді як " +"виклик мертвого фіналізатора повертає :const:`None`." + +msgid "" +"Exceptions raised by finalizer callbacks during garbage collection will be " +"shown on the standard error output, but cannot be propagated. They are " +"handled in the same way as exceptions raised from an object's :meth:" +"`__del__` method or a weak reference's callback." +msgstr "" +"Винятки, викликані зворотними викликами фіналізатора під час збирання " +"сміття, відображатимуться у стандартному виведенні помилок, але не можуть " +"поширюватися. Вони обробляються так само, як винятки, викликані методом :" +"meth:`__del__` об’єкта або зворотним викликом слабкого посилання." + +msgid "" +"When the program exits, each remaining live finalizer is called unless its :" +"attr:`atexit` attribute has been set to false. They are called in reverse " +"order of creation." +msgstr "" +"Коли програма завершує роботу, викликається кожен живий фіналізатор, що " +"залишився, якщо його атрибут :attr:`atexit` не має значення false. Вони " +"називаються у зворотному порядку створення." + +msgid "" +"A finalizer will never invoke its callback during the later part of the :" +"term:`interpreter shutdown` when module globals are liable to have been " +"replaced by :const:`None`." +msgstr "" +"Фіналізатор ніколи не викличе свій зворотний виклик протягом наступної " +"частини :term:`interpreter shutdown`, коли глобальні елементи модуля можуть " +"бути замінені на :const:`None`." + +msgid "" +"If *self* is alive then mark it as dead and return the result of calling " +"``func(*args, **kwargs)``. If *self* is dead then return :const:`None`." +msgstr "" +"Якщо *self* живе, позначте його як мертве та поверніть результат виклику " +"``func(*args, **kwargs)``. Якщо *self* мертвий, поверніть :const:`None`." + +msgid "" +"If *self* is alive then mark it as dead and return the tuple ``(obj, func, " +"args, kwargs)``. If *self* is dead then return :const:`None`." +msgstr "" +"Якщо *self* живий, позначте його як мертвий і поверніть кортеж ``(obj, func, " +"args, kwargs)``. Якщо *self* мертвий, поверніть :const:`None`." + +msgid "" +"If *self* is alive then return the tuple ``(obj, func, args, kwargs)``. If " +"*self* is dead then return :const:`None`." +msgstr "" +"Якщо *self* живе, повертає кортеж ``(obj, func, args, kwargs)``. Якщо *self* " +"мертвий, поверніть :const:`None`." + +msgid "Property which is true if the finalizer is alive, false otherwise." +msgstr "" +"Властивість, яка є істинною, якщо фіналізатор активний, і хибною в іншому " +"випадку." + +msgid "" +"A writable boolean property which by default is true. When the program " +"exits, it calls all remaining live finalizers for which :attr:`.atexit` is " +"true. They are called in reverse order of creation." +msgstr "" +"Булева властивість, доступна для запису, яка за замовчуванням має значення " +"true. Коли програма завершує роботу, вона викликає всі поточні фіналізатори, " +"для яких :attr:`.atexit` має значення true. Вони називаються у зворотному " +"порядку створення." + +msgid "" +"It is important to ensure that *func*, *args* and *kwargs* do not own any " +"references to *obj*, either directly or indirectly, since otherwise *obj* " +"will never be garbage collected. In particular, *func* should not be a " +"bound method of *obj*." +msgstr "" +"Важливо переконатися, що *func*, *args* і *kwargs* не мають жодних посилань " +"на *obj*, прямо чи опосередковано, оскільки інакше *obj* ніколи не " +"збиратиметься як сміття. Зокрема, *func* не має бути зв’язаним методом *obj*." + +msgid "The type object for weak references objects." +msgstr "Об’єкт типу для об’єктів слабких посилань." + +msgid "The type object for proxies of objects which are not callable." +msgstr "Об’єкт типу для проксі об’єктів, які не можна викликати." + +msgid "The type object for proxies of callable objects." +msgstr "Об’єкт типу для проксі об’єктів, що викликаються." + +msgid "" +"Sequence containing all the type objects for proxies. This can make it " +"simpler to test if an object is a proxy without being dependent on naming " +"both proxy types." +msgstr "" +"Послідовність, що містить усі об’єкти типу для проксі. Це може спростити " +"перевірку того, чи є об’єкт проксі-сервером, не залежачи від іменування обох " +"типів проксі." + +msgid ":pep:`205` - Weak References" +msgstr ":pep:`205` - Слабкі посилання" + +msgid "" +"The proposal and rationale for this feature, including links to earlier " +"implementations and information about similar features in other languages." +msgstr "" +"Пропозиція та обґрунтування цієї функції, включаючи посилання на попередні " +"реалізації та інформацію про подібні функції іншими мовами." + +msgid "Weak Reference Objects" +msgstr "Слабкі довідкові об’єкти" + +msgid "" +"Weak reference objects have no methods and no attributes besides :attr:`ref." +"__callback__`. A weak reference object allows the referent to be obtained, " +"if it still exists, by calling it:" +msgstr "" +"Слабкі посилальні об’єкти не мають методів і атрибутів, крім :attr:`ref." +"__callback__`. Слабкий посилальний об’єкт дозволяє отримати референт, якщо " +"він все ще існує, викликаючи його:" + +msgid "" +"If the referent no longer exists, calling the reference object returns :" +"const:`None`:" +msgstr "" +"Якщо референт більше не існує, виклик об’єкта посилання повертає :const:" +"`None`:" + +msgid "" +"Testing that a weak reference object is still live should be done using the " +"expression ``ref() is not None``. Normally, application code that needs to " +"use a reference object should follow this pattern::" +msgstr "" +"Перевірку того, що слабкий еталонний об’єкт все ще живий, слід виконувати за " +"допомогою виразу ``ref() is not None``. Зазвичай код програми, який потребує " +"використання еталонного об’єкта, має відповідати такому шаблону:" + +msgid "" +"Using a separate test for \"liveness\" creates race conditions in threaded " +"applications; another thread can cause a weak reference to become " +"invalidated before the weak reference is called; the idiom shown above is " +"safe in threaded applications as well as single-threaded applications." +msgstr "" +"Використання окремого тесту на \"жвавість\" створює умови гонки в потокових " +"програмах; інший потік може призвести до того, що слабке посилання стане " +"недійсним до виклику слабкого посилання; ідіома, показана вище, безпечна як " +"у багатопотокових програмах, так і в однопотокових програмах." + +msgid "" +"Specialized versions of :class:`ref` objects can be created through " +"subclassing. This is used in the implementation of the :class:" +"`WeakValueDictionary` to reduce the memory overhead for each entry in the " +"mapping. This may be most useful to associate additional information with a " +"reference, but could also be used to insert additional processing on calls " +"to retrieve the referent." +msgstr "" +"Спеціалізовані версії об’єктів :class:`ref` можна створити за допомогою " +"підкласів. Це використовується в реалізації :class:`WeakValueDictionary`, " +"щоб зменшити витрати пам’яті для кожного запису у відображенні. Це може бути " +"найбільш корисним для пов’язування додаткової інформації з посиланням, але " +"також може використовуватися для вставки додаткової обробки викликів для " +"отримання референту." + +msgid "" +"This example shows how a subclass of :class:`ref` can be used to store " +"additional information about an object and affect the value that's returned " +"when the referent is accessed::" +msgstr "" +"У цьому прикладі показано, як підклас :class:`ref` можна використовувати для " +"зберігання додаткової інформації про об’єкт і впливу на значення, яке " +"повертається під час звернення до референта::" + +msgid "Example" +msgstr "приклад" + +msgid "" +"This simple example shows how an application can use object IDs to retrieve " +"objects that it has seen before. The IDs of the objects can then be used in " +"other data structures without forcing the objects to remain alive, but the " +"objects can still be retrieved by ID if they do." +msgstr "" +"Цей простий приклад показує, як програма може використовувати ідентифікатори " +"об’єктів для отримання об’єктів, які вона бачила раніше. Потім " +"ідентифікатори об’єктів можна використовувати в інших структурах даних, не " +"змушуючи об’єкти залишатися живими, але об’єкти все одно можна отримати за " +"ідентифікатором, якщо вони це роблять." + +msgid "Finalizer Objects" +msgstr "Об’єкти фіналізатора" + +msgid "" +"The main benefit of using :class:`finalize` is that it makes it simple to " +"register a callback without needing to preserve the returned finalizer " +"object. For instance" +msgstr "" +"Основна перевага використання :class:`finalize` полягає в тому, що це " +"спрощує реєстрацію зворотного виклику без необхідності зберігати повернутий " +"об’єкт фіналізатора. Наприклад" + +msgid "" +"The finalizer can be called directly as well. However the finalizer will " +"invoke the callback at most once." +msgstr "" +"Фіналізатор також можна викликати безпосередньо. Однак фіналізатор викличе " +"зворотний виклик щонайбільше один раз." + +msgid "" +"You can unregister a finalizer using its :meth:`~finalize.detach` method. " +"This kills the finalizer and returns the arguments passed to the constructor " +"when it was created." +msgstr "" +"Ви можете скасувати реєстрацію фіналізатора за допомогою його методу :meth:" +"`~finalize.detach`. Це вбиває фіналізатор і повертає аргументи, передані " +"конструктору під час його створення." + +msgid "" +"Unless you set the :attr:`~finalize.atexit` attribute to :const:`False`, a " +"finalizer will be called when the program exits if it is still alive. For " +"instance" +msgstr "" +"Якщо ви не встановили для атрибута :attr:`~finalize.atexit` значення :const:" +"`False`, фіналізатор буде викликаний під час завершення програми, якщо вона " +"все ще жива. Наприклад" + +msgid "Comparing finalizers with :meth:`__del__` methods" +msgstr "Порівняння фіналізаторів із методами :meth:`__del__`" + +msgid "" +"Suppose we want to create a class whose instances represent temporary " +"directories. The directories should be deleted with their contents when the " +"first of the following events occurs:" +msgstr "" +"Припустимо, ми хочемо створити клас, екземпляри якого представляють " +"тимчасові каталоги. Каталоги мають бути видалені разом із їхнім вмістом, " +"коли станеться перша з наступних подій:" + +msgid "the object is garbage collected," +msgstr "об'єкт вивезено сміття," + +msgid "the object's :meth:`remove` method is called, or" +msgstr "викликається метод :meth:`remove` об’єкта або" + +msgid "the program exits." +msgstr "програма виходить." + +msgid "" +"We might try to implement the class using a :meth:`__del__` method as " +"follows::" +msgstr "" +"Ми можемо спробувати реалізувати клас за допомогою методу :meth:`__del__` " +"наступним чином:" + +msgid "" +"Starting with Python 3.4, :meth:`__del__` methods no longer prevent " +"reference cycles from being garbage collected, and module globals are no " +"longer forced to :const:`None` during :term:`interpreter shutdown`. So this " +"code should work without any issues on CPython." +msgstr "" +"Починаючи з Python 3.4, методи :meth:`__del__` більше не перешкоджають " +"збиранню сміття для циклів посилань, а глобальні модулі більше не змушені :" +"const:`None` під час відключення інтерпретатора (:term:`interpreter " +"shutdown`). Таким чином, цей код повинен працювати без проблем на CPython." + +msgid "" +"However, handling of :meth:`__del__` methods is notoriously implementation " +"specific, since it depends on internal details of the interpreter's garbage " +"collector implementation." +msgstr "" +"Однак обробка методів :meth:`__del__`, як відомо, залежить від реалізації, " +"оскільки залежить від внутрішніх деталей реалізації збирача сміття " +"інтерпретатора." + +msgid "" +"A more robust alternative can be to define a finalizer which only references " +"the specific functions and objects that it needs, rather than having access " +"to the full state of the object::" +msgstr "" +"Більш надійною альтернативою може бути визначення фіналізатора, який " +"посилається лише на певні функції та об’єкти, які йому потрібні, а не має " +"доступу до повного стану об’єкта:" + +msgid "" +"Defined like this, our finalizer only receives a reference to the details it " +"needs to clean up the directory appropriately. If the object never gets " +"garbage collected the finalizer will still be called at exit." +msgstr "" +"Визначений таким чином, наш фіналізатор отримує лише посилання на деталі, " +"необхідні для належного очищення каталогу. Якщо об’єкт ніколи не отримує " +"сміття, фіналізатор все одно буде викликаний при виході." + +msgid "" +"The other advantage of weakref based finalizers is that they can be used to " +"register finalizers for classes where the definition is controlled by a " +"third party, such as running code when a module is unloaded::" +msgstr "" +"Інша перевага фіналізаторів на основі слабких рефлексів полягає в тому, що " +"їх можна використовувати для реєстрації фіналізаторів для класів, де " +"визначення контролює третя сторона, наприклад, запуск коду, коли модуль " +"вивантажується:" + +msgid "" +"If you create a finalizer object in a daemonic thread just as the program " +"exits then there is the possibility that the finalizer does not get called " +"at exit. However, in a daemonic thread :func:`atexit.register`, ``try: ... " +"finally: ...`` and ``with: ...`` do not guarantee that cleanup occurs either." +msgstr "" +"Якщо ви створюєте об’єкт фіналізатора в демонічному потоці саме під час " +"виходу з програми, тоді існує ймовірність того, що фіналізатор не буде " +"викликаний під час виходу. Однак у демонічному потоці :func:`atexit." +"register`, ``try: ... finally: ...`` і ``with: ...`` також не гарантують " +"виконання очищення." diff --git a/library/webbrowser.po b/library/webbrowser.po new file mode 100644 index 000000000..ebe8ba7a3 --- /dev/null +++ b/library/webbrowser.po @@ -0,0 +1,434 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`webbrowser` --- Convenient web-browser controller" +msgstr ":mod:`webbrowser` --- Зручний контролер веб-браузера" + +msgid "**Source code:** :source:`Lib/webbrowser.py`" +msgstr "**Вихідний код:** :source:`Lib/webbrowser.py`" + +msgid "" +"The :mod:`webbrowser` module provides a high-level interface to allow " +"displaying web-based documents to users. Under most circumstances, simply " +"calling the :func:`.open` function from this module will do the right thing." +msgstr "" +"Модуль :mod:`webbrowser` забезпечує інтерфейс високого рівня, який дозволяє " +"відображати веб-документи користувачам. У більшості випадків простий виклик " +"функції :func:`.open` з цього модуля буде правильним." + +msgid "" +"Under Unix, graphical browsers are preferred under X11, but text-mode " +"browsers will be used if graphical browsers are not available or an X11 " +"display isn't available. If text-mode browsers are used, the calling " +"process will block until the user exits the browser." +msgstr "" +"В Unix графічні браузери є кращими під X11, але браузери текстового режиму " +"будуть використовуватися, якщо графічні браузери недоступні або дисплей X11 " +"недоступний. Якщо використовуються браузери текстового режиму, процес " +"виклику блокуватиметься, доки користувач не вийде з браузера." + +msgid "" +"If the environment variable :envvar:`BROWSER` exists, it is interpreted as " +"the :data:`os.pathsep`-separated list of browsers to try ahead of the " +"platform defaults. When the value of a list part contains the string ``" +"%s``, then it is interpreted as a literal browser command line to be used " +"with the argument URL substituted for ``%s``; if the part does not contain ``" +"%s``, it is simply interpreted as the name of the browser to launch. [1]_" +msgstr "" +"Якщо змінна середовища :envvar:`BROWSER` існує, вона інтерпретується як " +"розділений :data:`os.pathsep` список браузерів, які слід спробувати перед " +"налаштуваннями платформи за замовчуванням. Якщо значення частини списку " +"містить рядок ``%s``, тоді воно інтерпретується як буквальний командний " +"рядок браузера, який буде використовуватися з аргументом URL, заміненим ``" +"%s``; якщо частина не містить ``%s``, вона просто інтерпретується як назва " +"браузера для запуску. [1]_" + +msgid "" +"For non-Unix platforms, or when a remote browser is available on Unix, the " +"controlling process will not wait for the user to finish with the browser, " +"but allow the remote browser to maintain its own windows on the display. If " +"remote browsers are not available on Unix, the controlling process will " +"launch a new browser and wait." +msgstr "" +"Для платформ, відмінних від Unix, або коли в Unix доступний віддалений " +"браузер, процес керування не чекатиме, поки користувач закінчить роботу з " +"браузером, а дозволить віддаленому браузеру підтримувати власні вікна на " +"дисплеї. Якщо віддалені браузери недоступні в Unix, процес керування " +"запустить новий браузер і зачекає." + +msgid "" +"The script :program:`webbrowser` can be used as a command-line interface for " +"the module. It accepts a URL as the argument. It accepts the following " +"optional parameters: ``-n`` opens the URL in a new browser window, if " +"possible; ``-t`` opens the URL in a new browser page (\"tab\"). The options " +"are, naturally, mutually exclusive. Usage example::" +msgstr "" +"Сценарій :program:`webbrowser` можна використовувати як інтерфейс командного " +"рядка для модуля. Він приймає URL як аргумент. Він приймає наступні " +"додаткові параметри: ``-n`` відкриває URL-адресу в новому вікні браузера, " +"якщо це можливо; ``-t`` відкриває URL-адресу на новій сторінці браузера " +"(\"вкладці\"). Варіанти, природно, взаємовиключні. Приклад використання::" + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "The following exception is defined:" +msgstr "Визначено такий виняток:" + +msgid "Exception raised when a browser control error occurs." +msgstr "Виняток виникає, коли виникає помилка керування браузером." + +msgid "The following functions are defined:" +msgstr "Визначаються такі функції:" + +msgid "" +"Display *url* using the default browser. If *new* is 0, the *url* is opened " +"in the same browser window if possible. If *new* is 1, a new browser window " +"is opened if possible. If *new* is 2, a new browser page (\"tab\") is " +"opened if possible. If *autoraise* is ``True``, the window is raised if " +"possible (note that under many window managers this will occur regardless of " +"the setting of this variable)." +msgstr "" +"Відображати *url* за допомогою браузера за умовчанням. Якщо *new* дорівнює " +"0, *url* відкривається в тому ж вікні браузера, якщо це можливо. Якщо *new* " +"дорівнює 1, відкривається нове вікно браузера, якщо це можливо. Якщо *new* " +"дорівнює 2, за можливості відкривається нова сторінка браузера (\"вкладка" +"\"). Якщо *autoraise* має значення ``True``, вікно відкривається, якщо це " +"можливо (зверніть увагу, що в багатьох віконних менеджерах це " +"відбуватиметься незалежно від налаштування цієї змінної)." + +msgid "" +"Note that on some platforms, trying to open a filename using this function, " +"may work and start the operating system's associated program. However, this " +"is neither supported nor portable." +msgstr "" +"Зауважте, що на деяких платформах спроба відкрити ім’я файлу за допомогою " +"цієї функції може спрацювати та запустити відповідну програму операційної " +"системи. Однак це не підтримується та не переноситься." + +msgid "" +"Raises an :ref:`auditing event ` ``webbrowser.open`` with argument " +"``url``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``webbrowser.open`` з аргументом " +"``url``." + +msgid "" +"Open *url* in a new window of the default browser, if possible, otherwise, " +"open *url* in the only browser window." +msgstr "" +"Відкрийте *url* у новому вікні браузера за замовчуванням, якщо можливо, " +"інакше відкрийте *url* в єдиному вікні браузера." + +msgid "" +"Open *url* in a new page (\"tab\") of the default browser, if possible, " +"otherwise equivalent to :func:`open_new`." +msgstr "" +"Відкрийте *url* на новій сторінці (\"вкладці\") веб-переглядача за " +"умовчанням, якщо це можливо, інакше еквівалентно :func:`open_new`." + +msgid "" +"Return a controller object for the browser type *using*. If *using* is " +"``None``, return a controller for a default browser appropriate to the " +"caller's environment." +msgstr "" +"Повертає об’єкт контролера для типу браузера *using*. Якщо *using* має " +"значення ``None``, поверніть контролер для браузера за замовчуванням, який " +"відповідає середовищу абонента." + +msgid "" +"Register the browser type *name*. Once a browser type is registered, the :" +"func:`get` function can return a controller for that browser type. If " +"*instance* is not provided, or is ``None``, *constructor* will be called " +"without parameters to create an instance when needed. If *instance* is " +"provided, *constructor* will never be called, and may be ``None``." +msgstr "" +"Зареєструйте тип браузера *ім'я*. Після реєстрації типу браузера функція :" +"func:`get` може повернути контролер для цього типу браузера. Якщо " +"*екземпляр* не надано або має значення ``None``, *конструктор* буде " +"викликано без параметрів для створення екземпляра за потреби. Якщо надано " +"*екземпляр*, *конструктор* ніколи не буде викликаний і може бути ``None``." + +msgid "" +"Setting *preferred* to ``True`` makes this browser a preferred result for a :" +"func:`get` call with no argument. Otherwise, this entry point is only " +"useful if you plan to either set the :envvar:`BROWSER` variable or call :" +"func:`get` with a nonempty argument matching the name of a handler you " +"declare." +msgstr "" +"Якщо встановити *preferred* на ``True``, цей браузер стане кращим " +"результатом для виклику :func:`get` без аргументів. В іншому випадку ця " +"точка входу корисна, лише якщо ви плануєте встановити змінну :envvar:" +"`BROWSER` або викликати :func:`get` з непорожнім аргументом, який відповідає " +"імені обробника, який ви оголошуєте." + +msgid "*preferred* keyword-only parameter was added." +msgstr "Додано *переважний* параметр лише для ключового слова." + +msgid "" +"A number of browser types are predefined. This table gives the type names " +"that may be passed to the :func:`get` function and the corresponding " +"instantiations for the controller classes, all defined in this module." +msgstr "" +"Кілька типів браузерів визначено заздалегідь. У цій таблиці наведено назви " +"типів, які можна передати функції :func:`get`, і відповідні екземпляри для " +"класів контролерів, усі визначені в цьому модулі." + +msgid "Type Name" +msgstr "Тип імені" + +msgid "Class Name" +msgstr "Назва класу" + +msgid "Notes" +msgstr "Примітки" + +msgid "``'mozilla'``" +msgstr "``'mozilla'``" + +msgid ":class:`Mozilla('mozilla')`" +msgstr ":class:`Mozilla('mozilla')`" + +msgid "``'firefox'``" +msgstr "``'firefox'``" + +msgid "``'netscape'``" +msgstr "``'netscape'``" + +msgid ":class:`Mozilla('netscape')`" +msgstr ":class:`Mozilla('netscape')`" + +msgid "``'galeon'``" +msgstr "``''галеон'``" + +msgid ":class:`Galeon('galeon')`" +msgstr ":class:`Galeon('galeon')`" + +msgid "``'epiphany'``" +msgstr "``'Богоявлення''``" + +msgid ":class:`Galeon('epiphany')`" +msgstr ":class:`Galeon('epiphany')`" + +msgid "``'skipstone'``" +msgstr "``'скіпстоун''``" + +msgid ":class:`BackgroundBrowser('skipstone')`" +msgstr ":class:`BackgroundBrowser('skipstone')`" + +msgid "``'kfmclient'``" +msgstr "``'kfmclient'``" + +msgid ":class:`Konqueror()`" +msgstr ":class:`Konqueror()`" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``'konqueror'``" +msgstr "``'завойовник'``" + +msgid "``'kfm'``" +msgstr "``'kfm''``" + +msgid "``'mosaic'``" +msgstr "``'мозаїка'``" + +msgid ":class:`BackgroundBrowser('mosaic')`" +msgstr ":class:`BackgroundBrowser('mosaic')`" + +msgid "``'opera'``" +msgstr "``'опера'``" + +msgid ":class:`Opera()`" +msgstr ":class:`Opera()`" + +msgid "``'grail'``" +msgstr "``''грааль'``" + +msgid ":class:`Grail()`" +msgstr ":class:`Grail()`" + +msgid "``'links'``" +msgstr "``'посилання'``" + +msgid ":class:`GenericBrowser('links')`" +msgstr ":class:`GenericBrowser('links')`" + +msgid "``'elinks'``" +msgstr "``'elinks'``" + +msgid ":class:`Elinks('elinks')`" +msgstr ":class:`Elinks('elinks')`" + +msgid "``'lynx'``" +msgstr "``'рись''``" + +msgid ":class:`GenericBrowser('lynx')`" +msgstr ":class:`GenericBrowser('lynx')`" + +msgid "``'w3m'``" +msgstr "``'w3m'``" + +msgid ":class:`GenericBrowser('w3m')`" +msgstr ":class:`GenericBrowser('w3m')`" + +msgid "``'windows-default'``" +msgstr "``'windows-default'``" + +msgid ":class:`WindowsDefault`" +msgstr ":class:`WindowsDefault`" + +msgid "\\(2)" +msgstr "\\(2)" + +msgid "``'macosx'``" +msgstr "``'macosx'``" + +msgid ":class:`MacOSXOSAScript('default')`" +msgstr ":class:`MacOSXOSAScript('default')`" + +msgid "\\(3)" +msgstr "\\(3)" + +msgid "``'safari'``" +msgstr "``''сафарі'``" + +msgid ":class:`MacOSXOSAScript('safari')`" +msgstr ":class:`MacOSXOSAScript('safari')`" + +msgid "``'google-chrome'``" +msgstr "``'google-chrome'``" + +msgid ":class:`Chrome('google-chrome')`" +msgstr ":class:`Chrome('google-chrome')`" + +msgid "``'chrome'``" +msgstr "``'хром''``" + +msgid ":class:`Chrome('chrome')`" +msgstr ":class:`Chrome('chrome')`" + +msgid "``'chromium'``" +msgstr "``'хром''``" + +msgid ":class:`Chromium('chromium')`" +msgstr ":class:`Chromium('chromium')`" + +msgid "``'chromium-browser'``" +msgstr "``'chromium-браузер'``" + +msgid ":class:`Chromium('chromium-browser')`" +msgstr ":class:`Chromium('chromium-browser')`" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "" +"\"Konqueror\" is the file manager for the KDE desktop environment for Unix, " +"and only makes sense to use if KDE is running. Some way of reliably " +"detecting KDE would be nice; the :envvar:`KDEDIR` variable is not " +"sufficient. Note also that the name \"kfm\" is used even when using the :" +"program:`konqueror` command with KDE 2 --- the implementation selects the " +"best strategy for running Konqueror." +msgstr "" +"\"Konqueror\" — це файловий менеджер для робочого середовища KDE для Unix, і " +"його має сенс використовувати, лише якщо запущено KDE. Якийсь спосіб " +"надійного виявлення KDE було б добре; змінної :envvar:`KDEDIR` недостатньо. " +"Зауважте також, що назва \"kfm\" використовується навіть під час " +"використання команди :program:`konqueror` із KDE 2 --- реалізація вибирає " +"найкращу стратегію для запуску Konqueror." + +msgid "Only on Windows platforms." +msgstr "Тільки на платформах Windows." + +msgid "Only on macOS platform." +msgstr "Тільки на платформі macOS." + +msgid "Support for Chrome/Chromium has been added." +msgstr "Додано підтримку Chrome/Chromium." + +msgid ":class:`MacOSX` is deprecated, use :class:`MacOSXOSAScript` instead." +msgstr "" + +msgid "Here are some simple examples::" +msgstr "Ось декілька простих прикладів:" + +msgid "Browser Controller Objects" +msgstr "Об’єкти контролера браузера" + +msgid "" +"Browser controllers provide these methods which parallel three of the module-" +"level convenience functions:" +msgstr "" +"Контролери браузера надають ці методи, які паралельні трьом функціям " +"зручності на рівні модуля:" + +msgid "System-dependent name for the browser." +msgstr "" + +msgid "" +"Display *url* using the browser handled by this controller. If *new* is 1, a " +"new browser window is opened if possible. If *new* is 2, a new browser page " +"(\"tab\") is opened if possible." +msgstr "" +"Відображення *url* за допомогою браузера, керованого цим контролером. Якщо " +"*new* дорівнює 1, відкривається нове вікно браузера, якщо це можливо. Якщо " +"*new* дорівнює 2, за можливості відкривається нова сторінка браузера " +"(\"вкладка\")." + +msgid "" +"Open *url* in a new window of the browser handled by this controller, if " +"possible, otherwise, open *url* in the only browser window. Alias :func:" +"`open_new`." +msgstr "" +"Відкрийте *url* у новому вікні браузера, який обробляє цей контролер, якщо " +"можливо, інакше відкрийте *url* в єдиному вікні браузера. Псевдонім :func:" +"`open_new`." + +msgid "" +"Open *url* in a new page (\"tab\") of the browser handled by this " +"controller, if possible, otherwise equivalent to :func:`open_new`." +msgstr "" +"Відкрийте *url* на новій сторінці (\"вкладці\") браузера, який обробляється " +"цим контролером, якщо можливо, інакше еквівалентно :func:`open_new`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Executables named here without a full path will be searched in the " +"directories given in the :envvar:`PATH` environment variable." +msgstr "" +"Виконувані файли, названі тут без повного шляху, шукатимуть у каталогах, " +"указаних у змінній середовища :envvar:`PATH`." diff --git a/library/windows.po b/library/windows.po new file mode 100644 index 000000000..725a6fad2 --- /dev/null +++ b/library/windows.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "MS Windows Specific Services" +msgstr "Спеціальні служби MS Windows" + +msgid "" +"This chapter describes modules that are only available on MS Windows " +"platforms." +msgstr "" +"У цьому розділі описуються модулі, які доступні лише на платформах MS " +"Windows." diff --git a/library/winreg.po b/library/winreg.po new file mode 100644 index 000000000..10e197398 --- /dev/null +++ b/library/winreg.po @@ -0,0 +1,1005 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`winreg` --- Windows registry access" +msgstr ":mod:`winreg` --- доступ до реєстру Windows" + +msgid "" +"These functions expose the Windows registry API to Python. Instead of using " +"an integer as the registry handle, a :ref:`handle object ` is " +"used to ensure that the handles are closed correctly, even if the programmer " +"neglects to explicitly close them." +msgstr "" +"Ці функції надають Python API реєстру Windows. Замість використання цілого " +"числа як дескриптора реєстру :ref:`об’єкт дескриптора ` " +"використовується для забезпечення правильного закриття дескрипторів, навіть " +"якщо програміст нехтує їх явним закриттям." + +msgid "" +"Several functions in this module used to raise a :exc:`WindowsError`, which " +"is now an alias of :exc:`OSError`." +msgstr "" +"Кілька функцій у цьому модулі викликали помилку :exc:`WindowsError`, яка " +"тепер є псевдонімом :exc:`OSError`." + +msgid "Functions" +msgstr "Функції" + +msgid "This module offers the following functions:" +msgstr "Цей модуль пропонує такі функції:" + +msgid "" +"Closes a previously opened registry key. The *hkey* argument specifies a " +"previously opened key." +msgstr "" +"Закриває раніше відкритий розділ реєстру. Аргумент *hkey* визначає раніше " +"відкритий ключ." + +msgid "" +"If *hkey* is not closed using this method (or via :meth:`hkey.Close() " +"`), it is closed when the *hkey* object is destroyed by Python." +msgstr "" +"Якщо *hkey* не закривається за допомогою цього методу (або через :meth:`hkey." +"Close() `), він закривається, коли об’єкт *hkey* знищується " +"Python." + +msgid "" +"Establishes a connection to a predefined registry handle on another " +"computer, and returns a :ref:`handle object `." +msgstr "" +"Встановлює підключення до попередньо визначеного дескриптора реєстру на " +"іншому комп’ютері та повертає :ref:`об’єкт дескриптора `." + +msgid "" +"*computer_name* is the name of the remote computer, of the form ``r\"\\" +"\\computername\"``. If ``None``, the local computer is used." +msgstr "" +"*ім’я_комп’ютера* — це ім’я віддаленого комп’ютера у формі ``r\"\\\\ім’я " +"комп’ютера``. Якщо ``None``, використовується локальний комп’ютер." + +msgid "*key* is the predefined handle to connect to." +msgstr "*key* — це попередньо визначений маркер для підключення." + +msgid "" +"The return value is the handle of the opened key. If the function fails, an :" +"exc:`OSError` exception is raised." +msgstr "" +"Поверненим значенням є дескриптор відкритого ключа. Якщо функція не " +"виконується, виникає виняток :exc:`OSError`." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.ConnectRegistry`` with " +"arguments ``computer_name``, ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.ConnectRegistry`` з " +"аргументами ``computer_name``, ``key``." + +msgid "See :ref:`above `." +msgstr "Дивіться :ref:`вище `." + +msgid "" +"Creates or opens the specified key, returning a :ref:`handle object `." +msgstr "" +"Створює або відкриває вказаний ключ, повертаючи :ref:`об’єкт дескриптора " +"`." + +msgid "" +"*key* is an already open key, or one of the predefined :ref:`HKEY_* " +"constants `." +msgstr "" +"*key* — це вже відкритий ключ або одна з попередньо визначених :ref:`HKEY_* " +"констант `." + +msgid "*sub_key* is a string that names the key this method opens or creates." +msgstr "" +"*sub_key* — це рядок, який називає ключ, який відкриває або створює цей " +"метод." + +msgid "" +"If *key* is one of the predefined keys, *sub_key* may be ``None``. In that " +"case, the handle returned is the same key handle passed in to the function." +msgstr "" +"Якщо *key* є одним із попередньо визначених ключів, *sub_key* може мати " +"значення ``None``. У цьому випадку повернутий дескриптор є тим самим " +"дескриптором ключа, переданим у функцію." + +msgid "If the key already exists, this function opens the existing key." +msgstr "Якщо ключ уже існує, ця функція відкриває наявний ключ." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.CreateKey`` with " +"arguments ``key``, ``sub_key``, ``access``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.CreateKey`` з аргументами " +"``key``, ``sub_key``, ``access``." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.OpenKey/result`` with " +"argument ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.OpenKey/result`` з " +"аргументом ``key``." + +msgid "" +"*reserved* is a reserved integer, and must be zero. The default is zero." +msgstr "" +"*reserved* є зарезервованим цілим числом і має дорівнювати нулю. За " +"умовчанням дорівнює нулю." + +msgid "" +"*access* is an integer that specifies an access mask that describes the " +"desired security access for the key. Default is :const:`KEY_WRITE`. See :" +"ref:`Access Rights ` for other allowed values." +msgstr "" +"*access* — це ціле число, що вказує маску доступу, яка описує бажаний доступ " +"безпеки для ключа. Типовим є :const:`KEY_WRITE`. Перегляньте :ref:`Права " +"доступу ` для інших дозволених значень." + +msgid "Deletes the specified key." +msgstr "Видаляє вказаний ключ." + +msgid "" +"*sub_key* is a string that must be a subkey of the key identified by the " +"*key* parameter. This value must not be ``None``, and the key may not have " +"subkeys." +msgstr "" +"*sub_key* – це рядок, який має бути підключем ключа, визначеного параметром " +"*key*. Це значення не має бути ``None``, і ключ не може мати підключів." + +msgid "*This method can not delete keys with subkeys.*" +msgstr "*Цей метод не може видалити ключі з підключами.*" + +msgid "" +"If the method succeeds, the entire key, including all of its values, is " +"removed. If the method fails, an :exc:`OSError` exception is raised." +msgstr "" +"Якщо метод завершується успішно, весь ключ, включаючи всі його значення, " +"видаляється. Якщо метод не вдається, виникає виняток :exc:`OSError`." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.DeleteKey`` with " +"arguments ``key``, ``sub_key``, ``access``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.DeleteKey`` з аргументами " +"``key``, ``sub_key``, ``access``." + +msgid "" +"*sub_key* is a string that must be a subkey of the key identified by the " +"*key* parameter. This value must not be ``None``, and the key may not have " +"subkeys." +msgstr "" +"*sub_key* – це рядок, який має бути підключем ключа, визначеного параметром " +"*key*. Це значення не має бути ``None``, і ключ не може мати підключів." + +msgid "" +"*access* is an integer that specifies an access mask that describes the " +"desired security access for the key. Default is :const:`KEY_WOW64_64KEY`. " +"On 32-bit Windows, the WOW64 constants are ignored. See :ref:`Access Rights " +"` for other allowed values." +msgstr "" + +msgid "On unsupported Windows versions, :exc:`NotImplementedError` is raised." +msgstr "У непідтримуваних версіях Windows виникає :exc:`NotImplementedError`." + +msgid "Removes a named value from a registry key." +msgstr "Видаляє назване значення з розділу реєстру." + +msgid "*value* is a string that identifies the value to remove." +msgstr "*value* — це рядок, який визначає значення, яке потрібно видалити." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.DeleteValue`` with " +"arguments ``key``, ``value``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.DeleteValue`` з аргументами " +"``key``, ``value``." + +msgid "Enumerates subkeys of an open registry key, returning a string." +msgstr "Перераховує підрозділи відкритого ключа реєстру, повертаючи рядок." + +msgid "*index* is an integer that identifies the index of the key to retrieve." +msgstr "" +"*index* — це ціле число, яке визначає індекс ключа, який потрібно отримати." + +msgid "" +"The function retrieves the name of one subkey each time it is called. It is " +"typically called repeatedly until an :exc:`OSError` exception is raised, " +"indicating, no more values are available." +msgstr "" +"Функція отримує ім'я одного підключа під час кожного виклику. Зазвичай він " +"викликається неодноразово, доки не виникне виняток :exc:`OSError`, що вказує " +"на відсутність більше доступних значень." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.EnumKey`` with arguments " +"``key``, ``index``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.EnumKey`` з аргументами " +"``key``, ``index``." + +msgid "Enumerates values of an open registry key, returning a tuple." +msgstr "Перераховує значення відкритого ключа реєстру, повертаючи кортеж." + +msgid "" +"*index* is an integer that identifies the index of the value to retrieve." +msgstr "" +"*index* — це ціле число, яке визначає індекс значення, яке потрібно отримати." + +msgid "" +"The function retrieves the name of one subkey each time it is called. It is " +"typically called repeatedly, until an :exc:`OSError` exception is raised, " +"indicating no more values." +msgstr "" +"Функція отримує ім'я одного підключа під час кожного виклику. Зазвичай він " +"викликається неодноразово, доки не буде викликано виняток :exc:`OSError`, що " +"вказує на відсутність більше значень." + +msgid "The result is a tuple of 3 items:" +msgstr "Результатом є кортеж із 3 елементів:" + +msgid "Index" +msgstr "Індекс" + +msgid "Meaning" +msgstr "Значення" + +msgid "``0``" +msgstr "``0``" + +msgid "A string that identifies the value name" +msgstr "Рядок, який ідентифікує назву значення" + +msgid "``1``" +msgstr "``1``" + +msgid "" +"An object that holds the value data, and whose type depends on the " +"underlying registry type" +msgstr "" +"Об’єкт, який містить дані значення, тип якого залежить від базового типу " +"реєстру" + +msgid "``2``" +msgstr "``2``" + +msgid "" +"An integer that identifies the type of the value data (see table in docs " +"for :meth:`SetValueEx`)" +msgstr "" +"Ціле число, яке визначає тип даних значення (див. таблицю в документах для :" +"meth:`SetValueEx`)" + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.EnumValue`` with " +"arguments ``key``, ``index``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.EnumValue`` з аргументами " +"``key``, ``index``." + +msgid "" +"Expands environment variable placeholders ``%NAME%`` in strings like :const:" +"`REG_EXPAND_SZ`::" +msgstr "" +"Розгортає заповнювачі змінної середовища ``%NAME%`` у рядках на зразок :" +"const:`REG_EXPAND_SZ`::" + +msgid "" +"Raises an :ref:`auditing event ` ``winreg." +"ExpandEnvironmentStrings`` with argument ``str``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.ExpandEnvironmentStrings`` " +"з аргументом ``str``." + +msgid "Writes all the attributes of a key to the registry." +msgstr "Записує всі атрибути ключа до реєстру." + +msgid "" +"It is not necessary to call :func:`FlushKey` to change a key. Registry " +"changes are flushed to disk by the registry using its lazy flusher. " +"Registry changes are also flushed to disk at system shutdown. Unlike :func:" +"`CloseKey`, the :func:`FlushKey` method returns only when all the data has " +"been written to the registry. An application should only call :func:" +"`FlushKey` if it requires absolute certainty that registry changes are on " +"disk." +msgstr "" +"Щоб змінити ключ, не потрібно викликати :func:`FlushKey`. Зміни реєстру " +"скидаються на диск реєстром за допомогою відкладеного очищувача. Зміни " +"реєстру також скидаються на диск під час завершення роботи системи. На " +"відміну від :func:`CloseKey`, метод :func:`FlushKey` повертається лише тоді, " +"коли всі дані були записані до реєстру. Програма має викликати :func:" +"`FlushKey`, лише якщо вона вимагає абсолютної впевненості, що зміни реєстру " +"є на диску." + +msgid "" +"If you don't know whether a :func:`FlushKey` call is required, it probably " +"isn't." +msgstr "Якщо ви не знаєте, чи потрібен виклик :func:`FlushKey`, можливо, ні." + +msgid "" +"Creates a subkey under the specified key and stores registration information " +"from a specified file into that subkey." +msgstr "" +"Створює підрозділ у вказаному розділі та зберігає реєстраційну інформацію з " +"указаного файлу в цьому підрозділі." + +msgid "" +"*key* is a handle returned by :func:`ConnectRegistry` or one of the " +"constants :const:`HKEY_USERS` or :const:`HKEY_LOCAL_MACHINE`." +msgstr "" +"*key* — це дескриптор, який повертає :func:`ConnectRegistry` або одна з " +"констант :const:`HKEY_USERS` або :const:`HKEY_LOCAL_MACHINE`." + +msgid "*sub_key* is a string that identifies the subkey to load." +msgstr "*sub_key* — це рядок, який визначає підключ для завантаження." + +msgid "" +"*file_name* is the name of the file to load registry data from. This file " +"must have been created with the :func:`SaveKey` function. Under the file " +"allocation table (FAT) file system, the filename may not have an extension." +msgstr "" +"*ім’я_файлу* — це ім’я файлу, з якого потрібно завантажити дані реєстру. Цей " +"файл має бути створено за допомогою функції :func:`SaveKey`. У файловій " +"системі таблиці розподілу файлів (FAT) назва файлу може не мати розширення." + +msgid "" +"A call to :func:`LoadKey` fails if the calling process does not have the :" +"const:`SE_RESTORE_PRIVILEGE` privilege. Note that privileges are different " +"from permissions -- see the `RegLoadKey documentation `__ for more details." +msgstr "" +"Виклик :func:`LoadKey` завершується помилкою, якщо процес виклику не має " +"привілею :const:`SE_RESTORE_PRIVILEGE`. Зауважте, що привілеї відрізняються " +"від дозволів — див. `документацію RegLoadKey `__ для отримання додаткової " +"інформації." + +msgid "" +"If *key* is a handle returned by :func:`ConnectRegistry`, then the path " +"specified in *file_name* is relative to the remote computer." +msgstr "" +"Якщо *key* — це дескриптор, повернутий :func:`ConnectRegistry`, тоді шлях, " +"указаний у *file_name*, є відносно віддаленого комп’ютера." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.LoadKey`` with arguments " +"``key``, ``sub_key``, ``file_name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.LoadKey`` з аргументами " +"``key``, ``sub_key``, ``file_name``." + +msgid "" +"Opens the specified key, returning a :ref:`handle object `." +msgstr "" +"Відкриває вказаний ключ, повертаючи :ref:`об’єкт дескриптора `." + +msgid "*sub_key* is a string that identifies the sub_key to open." +msgstr "*sub_key* — це рядок, який визначає sub_key, який потрібно відкрити." + +msgid "" +"*reserved* is a reserved integer, and must be zero. The default is zero." +msgstr "" +"*reserved* є зарезервованим цілим числом і має дорівнювати нулю. За " +"умовчанням дорівнює нулю." + +msgid "" +"*access* is an integer that specifies an access mask that describes the " +"desired security access for the key. Default is :const:`KEY_READ`. See :" +"ref:`Access Rights ` for other allowed values." +msgstr "" +"*access* — це ціле число, що вказує маску доступу, яка описує бажаний доступ " +"безпеки для ключа. Типовим є :const:`KEY_READ`. Перегляньте :ref:`Права " +"доступу ` для інших дозволених значень." + +msgid "The result is a new handle to the specified key." +msgstr "Результатом є новий дескриптор зазначеного ключа." + +msgid "If the function fails, :exc:`OSError` is raised." +msgstr "Якщо функція не виконується, виникає :exc:`OSError`." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.OpenKey`` with arguments " +"``key``, ``sub_key``, ``access``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.OpenKey`` з аргументами " +"``key``, ``sub_key``, ``access``." + +msgid "Allow the use of named arguments." +msgstr "Дозволити використання іменованих аргументів." + +msgid "Returns information about a key, as a tuple." +msgstr "Повертає інформацію про ключ у вигляді кортежу." + +msgid "An integer giving the number of sub keys this key has." +msgstr "Ціле число, що вказує кількість підключів, які має цей ключ." + +msgid "An integer giving the number of values this key has." +msgstr "Ціле число, що вказує кількість значень, які має цей ключ." + +msgid "" +"An integer giving when the key was last modified (if available) as 100's of " +"nanoseconds since Jan 1, 1601." +msgstr "" +"Ціле число, яке вказує дату останньої зміни ключа (якщо доступно) як 100 " +"наносекунд з 1 січня 1601 року." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.QueryInfoKey`` with " +"argument ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.QueryInfoKey`` з аргументом " +"``key``." + +msgid "Retrieves the unnamed value for a key, as a string." +msgstr "Отримує безіменне значення для ключа у вигляді рядка." + +msgid "" +"*sub_key* is a string that holds the name of the subkey with which the value " +"is associated. If this parameter is ``None`` or empty, the function " +"retrieves the value set by the :func:`SetValue` method for the key " +"identified by *key*." +msgstr "" +"*sub_key* — це рядок, який містить назву підрозділу, з яким пов’язане " +"значення. Якщо цей параметр ``None`` або порожній, функція отримує значення, " +"встановлене методом :func:`SetValue` для ключа, визначеного *key*." + +msgid "" +"Values in the registry have name, type, and data components. This method " +"retrieves the data for a key's first value that has a ``NULL`` name. But the " +"underlying API call doesn't return the type, so always use :func:" +"`QueryValueEx` if possible." +msgstr "" +"Значення в реєстрі мають назву, тип і компоненти даних. Цей метод отримує " +"дані для першого значення ключа, яке має назву ``NULL``. Але основний виклик " +"API не повертає тип, тому завжди використовуйте :func:`QueryValueEx`, якщо " +"це можливо." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.QueryValue`` with " +"arguments ``key``, ``sub_key``, ``value_name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.QueryValue`` з аргументами " +"``key``, ``sub_key``, ``value_name``." + +msgid "" +"Retrieves the type and data for a specified value name associated with an " +"open registry key." +msgstr "" +"Отримує тип і дані для вказаного імені значення, пов’язаного з відкритим " +"розділом реєстру." + +msgid "*value_name* is a string indicating the value to query." +msgstr "*value_name* — це рядок, що вказує на значення для запиту." + +msgid "The result is a tuple of 2 items:" +msgstr "Результатом є кортеж із 2 елементів:" + +msgid "The value of the registry item." +msgstr "Значення елемента реєстру." + +msgid "" +"An integer giving the registry type for this value (see table in docs for :" +"meth:`SetValueEx`)" +msgstr "" +"Ціле число, що вказує тип реєстру для цього значення (див. таблицю в " +"документах для :meth:`SetValueEx`)" + +msgid "Saves the specified key, and all its subkeys to the specified file." +msgstr "Зберігає вказаний ключ і всі його підключі у вказаний файл." + +msgid "" +"*file_name* is the name of the file to save registry data to. This file " +"cannot already exist. If this filename includes an extension, it cannot be " +"used on file allocation table (FAT) file systems by the :meth:`LoadKey` " +"method." +msgstr "" +"*ім’я_файлу* — це ім’я файлу, у який потрібно зберегти дані реєстру. Цей " +"файл уже не може існувати. Якщо це ім’я файлу містить розширення, його не " +"можна використовувати у файлових системах таблиці розподілу файлів (FAT) " +"методом :meth:`LoadKey`." + +msgid "" +"If *key* represents a key on a remote computer, the path described by " +"*file_name* is relative to the remote computer. The caller of this method " +"must possess the :const:`SeBackupPrivilege` security privilege. Note that " +"privileges are different than permissions -- see the `Conflicts Between User " +"Rights and Permissions documentation `__ for more details." +msgstr "" +"Якщо *key* представляє ключ на віддаленому комп’ютері, шлях, описаний " +"*file_name*, відноситься до віддаленого комп’ютера. Виклик цього методу " +"повинен мати привілей безпеки :const:`SeBackupPrivilege`. Зауважте, що " +"привілеї відрізняються від дозволів — дивіться `Документацію про конфлікти " +"між правами користувача та дозволами `__ для отримання додаткової інформації." + +msgid "This function passes ``NULL`` for *security_attributes* to the API." +msgstr "Ця функція передає ``NULL`` для *security_attributes* в API." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.SaveKey`` with arguments " +"``key``, ``file_name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.SaveKey`` з аргументами " +"``key``, ``file_name``." + +msgid "Associates a value with a specified key." +msgstr "Пов’язує значення з указаним ключем." + +msgid "" +"*sub_key* is a string that names the subkey with which the value is " +"associated." +msgstr "*sub_key* — це рядок, що називає підрозділ, з яким пов’язане значення." + +msgid "" +"*type* is an integer that specifies the type of the data. Currently this " +"must be :const:`REG_SZ`, meaning only strings are supported. Use the :func:" +"`SetValueEx` function for support for other data types." +msgstr "" +"*type* — це ціле число, яке визначає тип даних. Наразі це має бути :const:" +"`REG_SZ`, тобто підтримуються лише рядки. Використовуйте функцію :func:" +"`SetValueEx` для підтримки інших типів даних." + +msgid "*value* is a string that specifies the new value." +msgstr "*value* — це рядок, який визначає нове значення." + +msgid "" +"If the key specified by the *sub_key* parameter does not exist, the SetValue " +"function creates it." +msgstr "" +"Якщо ключ, визначений параметром *sub_key*, не існує, функція SetValue " +"створює його." + +msgid "" +"Value lengths are limited by available memory. Long values (more than 2048 " +"bytes) should be stored as files with the filenames stored in the " +"configuration registry. This helps the registry perform efficiently." +msgstr "" +"Довжина значень обмежена доступною пам'яттю. Довгі значення (понад 2048 " +"байт) слід зберігати як файли з іменами файлів, які зберігаються в реєстрі " +"конфігурації. Це сприяє ефективній роботі реєстру." + +msgid "" +"The key identified by the *key* parameter must have been opened with :const:" +"`KEY_SET_VALUE` access." +msgstr "" +"Ключ, визначений параметром *key*, має бути відкритий із доступом :const:" +"`KEY_SET_VALUE`." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.SetValue`` with " +"arguments ``key``, ``sub_key``, ``type``, ``value``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.SetValue`` з аргументами " +"``key``, ``sub_key``, ``type``, ``value``." + +msgid "Stores data in the value field of an open registry key." +msgstr "Зберігає дані в полі значення відкритого ключа реєстру." + +msgid "" +"*value_name* is a string that names the subkey with which the value is " +"associated." +msgstr "" +"*value_name* — це рядок, що називає підрозділ, з яким пов’язане значення." + +msgid "*reserved* can be anything -- zero is always passed to the API." +msgstr "*reserved* може бути будь-яким - нуль завжди передається в API." + +msgid "" +"*type* is an integer that specifies the type of the data. See :ref:`Value " +"Types ` for the available types." +msgstr "" +"*type* — це ціле число, яке визначає тип даних. Перегляньте :ref:`Типи " +"значень ` для доступних типів." + +msgid "" +"This method can also set additional value and type information for the " +"specified key. The key identified by the key parameter must have been " +"opened with :const:`KEY_SET_VALUE` access." +msgstr "" +"Цей метод також може встановити додаткове значення та інформацію про тип для " +"вказаного ключа. Ключ, визначений параметром ключа, має бути відкрито з " +"доступом :const:`KEY_SET_VALUE`." + +msgid "To open the key, use the :func:`CreateKey` or :func:`OpenKey` methods." +msgstr "" +"Щоб відкрити ключ, використовуйте методи :func:`CreateKey` або :func:" +"`OpenKey`." + +msgid "" +"Disables registry reflection for 32-bit processes running on a 64-bit " +"operating system." +msgstr "" +"Вимикає відображення реєстру для 32-розрядних процесів, запущених у 64-" +"розрядній операційній системі." + +msgid "" +"Will generally raise :exc:`NotImplementedError` if executed on a 32-bit " +"operating system." +msgstr "" +"Зазвичай викликає помилку :exc:`NotImplementedError`, якщо її виконувати в " +"32-розрядній операційній системі." + +msgid "" +"If the key is not on the reflection list, the function succeeds but has no " +"effect. Disabling reflection for a key does not affect reflection of any " +"subkeys." +msgstr "" +"Якщо ключ відсутній у списку відображення, функція виконується успішно, але " +"не має ефекту. Вимкнення відображення для ключа не впливає на відображення " +"будь-яких підключів." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.DisableReflectionKey`` " +"with argument ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.DisableReflectionKey`` з " +"аргументом ``key``." + +msgid "Restores registry reflection for the specified disabled key." +msgstr "Відновлює відображення реєстру для вказаного вимкненого ключа." + +msgid "" +"Restoring reflection for a key does not affect reflection of any subkeys." +msgstr "" +"Відновлення відображення для ключа не впливає на відображення будь-яких " +"підключів." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.EnableReflectionKey`` " +"with argument ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.EnableReflectionKey`` з " +"аргументом ``key``." + +msgid "Determines the reflection state for the specified key." +msgstr "Визначає стан відображення для вказаного ключа." + +msgid "Returns ``True`` if reflection is disabled." +msgstr "Повертає ``True``, якщо відображення вимкнено." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.QueryReflectionKey`` " +"with argument ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.QueryReflectionKey`` з " +"аргументом ``key``." + +msgid "Constants" +msgstr "Константи" + +msgid "" +"The following constants are defined for use in many :mod:`_winreg` functions." +msgstr "" +"Наступні константи визначені для використання в багатьох функціях :mod:" +"`_winreg`." + +msgid "HKEY_* Constants" +msgstr "HKEY_* Константи" + +msgid "" +"Registry entries subordinate to this key define types (or classes) of " +"documents and the properties associated with those types. Shell and COM " +"applications use the information stored under this key." +msgstr "" +"Записи реєстру, підпорядковані цьому ключу, визначають типи (або класи) " +"документів і властивості, пов’язані з цими типами. Додатки Shell і COM " +"використовують інформацію, що зберігається під цим ключем." + +msgid "" +"Registry entries subordinate to this key define the preferences of the " +"current user. These preferences include the settings of environment " +"variables, data about program groups, colors, printers, network connections, " +"and application preferences." +msgstr "" +"Записи реєстру, підпорядковані цьому ключу, визначають уподобання поточного " +"користувача. Ці параметри включають параметри змінних середовища, дані про " +"групи програм, кольори, принтери, мережеві підключення та параметри програми." + +msgid "" +"Registry entries subordinate to this key define the physical state of the " +"computer, including data about the bus type, system memory, and installed " +"hardware and software." +msgstr "" +"Записи реєстру, підпорядковані цьому ключу, визначають фізичний стан " +"комп'ютера, включаючи дані про тип шини, системну пам'ять, а також " +"встановлене обладнання та програмне забезпечення." + +msgid "" +"Registry entries subordinate to this key define the default user " +"configuration for new users on the local computer and the user configuration " +"for the current user." +msgstr "" +"Записи реєстру, підпорядковані цьому розділу, визначають конфігурацію " +"користувача за замовчуванням для нових користувачів на локальному комп’ютері " +"та конфігурацію користувача для поточного користувача." + +msgid "" +"Registry entries subordinate to this key allow you to access performance " +"data. The data is not actually stored in the registry; the registry " +"functions cause the system to collect the data from its source." +msgstr "" +"Записи реєстру, підпорядковані цьому ключу, дозволяють отримати доступ до " +"даних продуктивності. Дані фактично не зберігаються в реєстрі; функції " +"реєстру змушують систему збирати дані з джерела." + +msgid "" +"Contains information about the current hardware profile of the local " +"computer system." +msgstr "" +"Містить інформацію про поточний профіль апаратного забезпечення локальної " +"комп’ютерної системи." + +msgid "This key is not used in versions of Windows after 98." +msgstr "Цей ключ не використовується у версіях Windows після 98." + +msgid "Access Rights" +msgstr "Права доступу" + +msgid "" +"For more information, see `Registry Key Security and Access `__." +msgstr "" +"Щоб отримати додаткові відомості, перегляньте `Безпека ключа реєстру та " +"доступ `__." + +msgid "" +"Combines the STANDARD_RIGHTS_REQUIRED, :const:`KEY_QUERY_VALUE`, :const:" +"`KEY_SET_VALUE`, :const:`KEY_CREATE_SUB_KEY`, :const:" +"`KEY_ENUMERATE_SUB_KEYS`, :const:`KEY_NOTIFY`, and :const:`KEY_CREATE_LINK` " +"access rights." +msgstr "" +"Поєднує права доступу STANDARD_RIGHTS_REQUIRED, :const:`KEY_QUERY_VALUE`, :" +"const:`KEY_SET_VALUE`, :const:`KEY_CREATE_SUB_KEY`, :const:" +"`KEY_ENUMERATE_SUB_KEYS`, :const:`KEY_NOTIFY` і :const:`KEY_CREATE_LINK`." + +msgid "" +"Combines the STANDARD_RIGHTS_WRITE, :const:`KEY_SET_VALUE`, and :const:" +"`KEY_CREATE_SUB_KEY` access rights." +msgstr "" +"Поєднує права доступу STANDARD_RIGHTS_WRITE, :const:`KEY_SET_VALUE` і :const:" +"`KEY_CREATE_SUB_KEY`." + +msgid "" +"Combines the STANDARD_RIGHTS_READ, :const:`KEY_QUERY_VALUE`, :const:" +"`KEY_ENUMERATE_SUB_KEYS`, and :const:`KEY_NOTIFY` values." +msgstr "" +"Поєднує значення STANDARD_RIGHTS_READ, :const:`KEY_QUERY_VALUE`, :const:" +"`KEY_ENUMERATE_SUB_KEYS` і :const:`KEY_NOTIFY`." + +msgid "Equivalent to :const:`KEY_READ`." +msgstr "Еквівалент :const:`KEY_READ`." + +msgid "Required to query the values of a registry key." +msgstr "Необхідний для запиту значень розділу реєстру." + +msgid "Required to create, delete, or set a registry value." +msgstr "Необхідний для створення, видалення або встановлення значення реєстру." + +msgid "Required to create a subkey of a registry key." +msgstr "Необхідний для створення підрозділу розділу реєстру." + +msgid "Required to enumerate the subkeys of a registry key." +msgstr "Необхідний для перерахування підрозділів розділу реєстру." + +msgid "" +"Required to request change notifications for a registry key or for subkeys " +"of a registry key." +msgstr "" +"Необхідний для запиту сповіщень про зміни для розділу реєстру або для " +"підрозділів розділу реєстру." + +msgid "Reserved for system use." +msgstr "Зарезервовано для системного використання." + +msgid "64-bit Specific" +msgstr "Спеціально для 64-біт" + +msgid "" +"For more information, see `Accessing an Alternate Registry View `__." +msgstr "" +"Для отримання додаткової інформації див. `Доступ до альтернативного подання " +"реєстру `__." + +msgid "" +"Indicates that an application on 64-bit Windows should operate on the 64-bit " +"registry view. On 32-bit Windows, this constant is ignored." +msgstr "" + +msgid "" +"Indicates that an application on 64-bit Windows should operate on the 32-bit " +"registry view. On 32-bit Windows, this constant is ignored." +msgstr "" + +msgid "Value Types" +msgstr "Типи значень" + +msgid "" +"For more information, see `Registry Value Types `__." +msgstr "" +"Щоб отримати додаткові відомості, перегляньте `Типи значень реєстру `__." + +msgid "Binary data in any form." +msgstr "Двійкові дані в довільній формі." + +msgid "32-bit number." +msgstr "32-розрядне число." + +msgid "" +"A 32-bit number in little-endian format. Equivalent to :const:`REG_DWORD`." +msgstr "" +"32-розрядне число у форматі little-endian. Еквівалент :const:`REG_DWORD`." + +msgid "A 32-bit number in big-endian format." +msgstr "32-розрядне число у форматі старшого порядку." + +msgid "" +"Null-terminated string containing references to environment variables (``" +"%PATH%``)." +msgstr "" +"Рядок із нульовим завершенням, що містить посилання на змінні середовища (``" +"%PATH%``)." + +msgid "A Unicode symbolic link." +msgstr "Символьне посилання Unicode." + +msgid "" +"A sequence of null-terminated strings, terminated by two null characters. " +"(Python handles this termination automatically.)" +msgstr "" +"Послідовність рядків із закінченням нулем, що завершується двома символами " +"нуль. (Python обробляє це завершення автоматично.)" + +msgid "No defined value type." +msgstr "Немає визначеного типу значення." + +msgid "A 64-bit number." +msgstr "64-розрядне число." + +msgid "" +"A 64-bit number in little-endian format. Equivalent to :const:`REG_QWORD`." +msgstr "" +"64-розрядне число у форматі little-endian. Еквівалент :const:`REG_QWORD`." + +msgid "A device-driver resource list." +msgstr "Список ресурсів драйверів пристроїв." + +msgid "A hardware setting." +msgstr "Налаштування обладнання." + +msgid "A hardware resource list." +msgstr "Список апаратних ресурсів." + +msgid "A null-terminated string." +msgstr "Рядок із закінченням нулем." + +msgid "Registry Handle Objects" +msgstr "Об’єкти обробки реєстру" + +msgid "" +"This object wraps a Windows HKEY object, automatically closing it when the " +"object is destroyed. To guarantee cleanup, you can call either the :meth:" +"`~PyHKEY.Close` method on the object, or the :func:`CloseKey` function." +msgstr "" +"Цей об’єкт огортає об’єкт HKEY Windows, автоматично закриваючи його, коли " +"об’єкт знищується. Щоб гарантувати очищення, ви можете викликати або метод :" +"meth:`~PyHKEY.Close` для об’єкта, або функцію :func:`CloseKey`." + +msgid "All registry functions in this module return one of these objects." +msgstr "Усі функції реєстру в цьому модулі повертають один із цих об’єктів." + +msgid "" +"All registry functions in this module which accept a handle object also " +"accept an integer, however, use of the handle object is encouraged." +msgstr "" +"Усі функції реєстру в цьому модулі, які приймають об’єкт-дескриптор, також " +"приймають ціле число, проте використання об’єкта-дескриптора заохочується." + +msgid "Handle objects provide semantics for :meth:`__bool__` -- thus ::" +msgstr "" +"Об’єкти-дескриптори забезпечують семантику для :meth:`__bool__` -- таким " +"чином:" + +msgid "" +"will print ``Yes`` if the handle is currently valid (has not been closed or " +"detached)." +msgstr "" +"надрукує ``Так``, якщо дескриптор наразі дійсний (не був закритий або " +"від’єднаний)." + +msgid "" +"The object also support comparison semantics, so handle objects will compare " +"true if they both reference the same underlying Windows handle value." +msgstr "" +"Об’єкт також підтримує семантику порівняння, тому об’єкти-дескриптори " +"порівнюватимуться як істинні, якщо вони обидва посилаються на одне базове " +"значення маркера Windows." + +msgid "" +"Handle objects can be converted to an integer (e.g., using the built-in :" +"func:`int` function), in which case the underlying Windows handle value is " +"returned. You can also use the :meth:`~PyHKEY.Detach` method to return the " +"integer handle, and also disconnect the Windows handle from the handle " +"object." +msgstr "" +"Об’єкти дескриптора можна перетворити на ціле число (наприклад, за допомогою " +"вбудованої функції :func:`int`), у цьому випадку повертається базове " +"значення дескриптора Windows. Ви також можете використати метод :meth:" +"`~PyHKEY.Detach`, щоб повернути цілочисельний дескриптор, а також від’єднати " +"дескриптор Windows від об’єкта дескриптора." + +msgid "Closes the underlying Windows handle." +msgstr "Закриває основний маркер Windows." + +msgid "If the handle is already closed, no error is raised." +msgstr "Якщо ручка вже закрита, помилка не виникає." + +msgid "Detaches the Windows handle from the handle object." +msgstr "Від’єднує маркер Windows від об’єкта маркера." + +msgid "" +"The result is an integer that holds the value of the handle before it is " +"detached. If the handle is already detached or closed, this will return " +"zero." +msgstr "" +"Результатом є ціле число, яке містить значення дескриптора до його " +"від’єднання. Якщо ручка вже від'єднана або закрита, це поверне нуль." + +msgid "" +"After calling this function, the handle is effectively invalidated, but the " +"handle is not closed. You would call this function when you need the " +"underlying Win32 handle to exist beyond the lifetime of the handle object." +msgstr "" +"Після виклику цієї функції дескриптор фактично стає недійсним, але " +"дескриптор не закривається. Ви можете викликати цю функцію, якщо вам " +"потрібно, щоб основний дескриптор Win32 існував після закінчення терміну " +"служби об’єкта дескриптора." + +msgid "" +"Raises an :ref:`auditing event ` ``winreg.PyHKEY.Detach`` with " +"argument ``key``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``winreg.PyHKEY.Detach`` з " +"аргументом ``key``." + +msgid "" +"The HKEY object implements :meth:`~object.__enter__` and :meth:`~object." +"__exit__` and thus supports the context protocol for the :keyword:`with` " +"statement::" +msgstr "" +"Об’єкт HKEY реалізує :meth:`~object.__enter__` і :meth:`~object.__exit__` і " +"таким чином підтримує контекстний протокол для оператора :keyword:`with`::" + +msgid "" +"will automatically close *key* when control leaves the :keyword:`with` block." +msgstr "" +"автоматично закриє *key*, коли керування залишить блок :keyword:`with`." diff --git a/library/winsound.po b/library/winsound.po new file mode 100644 index 000000000..e651a394f --- /dev/null +++ b/library/winsound.po @@ -0,0 +1,204 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`winsound` --- Sound-playing interface for Windows" +msgstr ":mod:`winsound` --- Інтерфейс відтворення звуку для Windows" + +msgid "" +"The :mod:`winsound` module provides access to the basic sound-playing " +"machinery provided by Windows platforms. It includes functions and several " +"constants." +msgstr "" +"Модуль :mod:`winsound` надає доступ до основного механізму відтворення " +"звуку, що надається платформами Windows. Він включає функції та декілька " +"констант." + +msgid "" +"Beep the PC's speaker. The *frequency* parameter specifies frequency, in " +"hertz, of the sound, and must be in the range 37 through 32,767. The " +"*duration* parameter specifies the number of milliseconds the sound should " +"last. If the system is not able to beep the speaker, :exc:`RuntimeError` is " +"raised." +msgstr "" +"Подати звуковий сигнал у динамік ПК. Параметр *frequency* визначає частоту " +"звуку в герцах і має бути в діапазоні від 37 до 32 767. Параметр " +"*тривалість* визначає кількість мілісекунд, протягом якої має тривати звук. " +"Якщо система не може подати звуковий сигнал у динамік, виникає :exc:" +"`RuntimeError`." + +msgid "" +"Call the underlying :c:func:`PlaySound` function from the Platform API. The " +"*sound* parameter may be a filename, a system sound alias, audio data as a :" +"term:`bytes-like object`, or ``None``. Its interpretation depends on the " +"value of *flags*, which can be a bitwise ORed combination of the constants " +"described below. If the *sound* parameter is ``None``, any currently playing " +"waveform sound is stopped. If the system indicates an error, :exc:" +"`RuntimeError` is raised." +msgstr "" +"Викличте базову функцію :c:func:`PlaySound` з API платформи. Параметр " +"*sound* може бути назвою файлу, псевдонімом системного звуку, аудіоданими " +"як :term:`bytes-like object` або ``None``. Його інтерпретація залежить від " +"значення *flags*, яке може бути побітовою комбінацією ORed констант, " +"описаних нижче. Якщо параметр *sound* має значення ``None``, будь-який звук, " +"що відтворюється в даний момент, зупиняється. Якщо система вказує на " +"помилку, виникає :exc:`RuntimeError`." + +msgid "" +"Call the underlying :c:func:`MessageBeep` function from the Platform API. " +"This plays a sound as specified in the registry. The *type* argument " +"specifies which sound to play; possible values are ``-1``, " +"``MB_ICONASTERISK``, ``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, " +"``MB_ICONQUESTION``, and ``MB_OK``, all described below. The value ``-1`` " +"produces a \"simple beep\"; this is the final fallback if a sound cannot be " +"played otherwise. If the system indicates an error, :exc:`RuntimeError` is " +"raised." +msgstr "" +"Викличте базову функцію :c:func:`MessageBeep` з API платформи. Це відтворює " +"звук, як зазначено в реєстрі. Аргумент *type* визначає, який звук " +"відтворювати; можливі значення: ``-1``, ``MB_ICONASTERISK``, " +"``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, ``MB_ICONQUESTION`` і ``MB_OK``, " +"усі описані нижче. Значення ``-1`` створює \"простий звуковий сигнал\"; це " +"останній запасний варіант, якщо звук не можна відтворити інакше. Якщо " +"система вказує на помилку, виникає :exc:`RuntimeError`." + +msgid "" +"The *sound* parameter is the name of a WAV file. Do not use with :const:" +"`SND_ALIAS`." +msgstr "" +"Параметр *sound* — це ім'я файлу WAV. Не використовуйте з :const:`SND_ALIAS`." + +msgid "" +"The *sound* parameter is a sound association name from the registry. If the " +"registry contains no such name, play the system default sound unless :const:" +"`SND_NODEFAULT` is also specified. If no default sound is registered, raise :" +"exc:`RuntimeError`. Do not use with :const:`SND_FILENAME`." +msgstr "" +"Параметр *sound* — це ім’я звукової асоціації з реєстру. Якщо реєстр не " +"містить такої назви, відтворюйте системний звук за замовчуванням, якщо також " +"не вказано :const:`SND_NODEFAULT`. Якщо стандартний звук не зареєстровано, " +"викликайте :exc:`RuntimeError`. Не використовуйте з :const:`SND_FILENAME`." + +msgid "" +"All Win32 systems support at least the following; most systems support many " +"more:" +msgstr "" +"Усі системи Win32 підтримують щонайменше наступне; більшість систем " +"підтримують набагато більше:" + +msgid ":func:`PlaySound` *name*" +msgstr ":func:`PlaySound` *назва*" + +msgid "Corresponding Control Panel Sound name" +msgstr "Відповідна назва звуку панелі керування" + +msgid "``'SystemAsterisk'``" +msgstr "``'SystemAsterisk'``" + +msgid "Asterisk" +msgstr "Зірочка" + +msgid "``'SystemExclamation'``" +msgstr "``'SystemExclamation'``" + +msgid "Exclamation" +msgstr "Вигук" + +msgid "``'SystemExit'``" +msgstr "``'Системний вихід'``" + +msgid "Exit Windows" +msgstr "Вийдіть з Windows" + +msgid "``'SystemHand'``" +msgstr "``'SystemHand'``" + +msgid "Critical Stop" +msgstr "Критична зупинка" + +msgid "``'SystemQuestion'``" +msgstr "``'SystemQuestion'``" + +msgid "Question" +msgstr "Питання" + +msgid "For example::" +msgstr "Наприклад::" + +msgid "" +"Play the sound repeatedly. The :const:`SND_ASYNC` flag must also be used to " +"avoid blocking. Cannot be used with :const:`SND_MEMORY`." +msgstr "" +"Повторюйте звук. Прапорець :const:`SND_ASYNC` також слід використовувати, " +"щоб уникнути блокування. Не можна використовувати з :const:`SND_MEMORY`." + +msgid "" +"The *sound* parameter to :func:`PlaySound` is a memory image of a WAV file, " +"as a :term:`bytes-like object`." +msgstr "" +"Параметр *sound* для :func:`PlaySound` — це образ пам’яті файлу WAV, як :" +"term:`bytes-like object`." + +msgid "" +"This module does not support playing from a memory image asynchronously, so " +"a combination of this flag and :const:`SND_ASYNC` will raise :exc:" +"`RuntimeError`." +msgstr "" +"Цей модуль не підтримує асинхронне відтворення з образу пам’яті, тому " +"комбінація цього прапорця та :const:`SND_ASYNC` викличе :exc:`RuntimeError`." + +msgid "Stop playing all instances of the specified sound." +msgstr "Зупинити відтворення всіх екземплярів зазначеного звуку." + +msgid "This flag is not supported on modern Windows platforms." +msgstr "Цей прапорець не підтримується на сучасних платформах Windows." + +msgid "Return immediately, allowing sounds to play asynchronously." +msgstr "Поверніться негайно, дозволяючи звукам відтворюватися асинхронно." + +msgid "" +"If the specified sound cannot be found, do not play the system default sound." +msgstr "" +"Якщо вказаний звук не знайдено, не відтворюйте системний звук за " +"замовчуванням." + +msgid "Do not interrupt sounds currently playing." +msgstr "Не переривати звуки, які зараз відтворюються." + +msgid "Return immediately if the sound driver is busy." +msgstr "Негайно поверніться, якщо звуковий драйвер зайнятий." + +msgid "Play the ``SystemDefault`` sound." +msgstr "Відтворіть звук ``SystemDefault``." + +msgid "Play the ``SystemExclamation`` sound." +msgstr "Відтворіть звук ``SystemExclamation``." + +msgid "Play the ``SystemHand`` sound." +msgstr "Відтворіть звук ``SystemHand``." + +msgid "Play the ``SystemQuestion`` sound." +msgstr "Відтворіть звук ``SystemQuestion``." diff --git a/library/wsgiref.po b/library/wsgiref.po new file mode 100644 index 000000000..4277e54a9 --- /dev/null +++ b/library/wsgiref.po @@ -0,0 +1,1124 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" +msgstr ":mod:`wsgiref` --- Утиліти WSGI та довідкова реалізація" + +msgid "" +"The Web Server Gateway Interface (WSGI) is a standard interface between web " +"server software and web applications written in Python. Having a standard " +"interface makes it easy to use an application that supports WSGI with a " +"number of different web servers." +msgstr "" +"Інтерфейс шлюзу веб-сервера (WSGI) — це стандартний інтерфейс між програмним " +"забезпеченням веб-сервера та веб-додатками, написаними на Python. Наявність " +"стандартного інтерфейсу дозволяє легко використовувати програму, яка " +"підтримує WSGI, з кількома різними веб-серверами." + +msgid "" +"Only authors of web servers and programming frameworks need to know every " +"detail and corner case of the WSGI design. You don't need to understand " +"every detail of WSGI just to install a WSGI application or to write a web " +"application using an existing framework." +msgstr "" +"Лише автори веб-серверів і фреймворків програмування повинні знати кожну " +"деталь і наріжний випадок дизайну WSGI. Вам не потрібно розуміти кожну " +"деталь WSGI, щоб просто встановити програму WSGI або написати веб-програму " +"за допомогою існуючої структури." + +msgid "" +":mod:`wsgiref` is a reference implementation of the WSGI specification that " +"can be used to add WSGI support to a web server or framework. It provides " +"utilities for manipulating WSGI environment variables and response headers, " +"base classes for implementing WSGI servers, a demo HTTP server that serves " +"WSGI applications, types for static type checking, and a validation tool " +"that checks WSGI servers and applications for conformance to the WSGI " +"specification (:pep:`3333`)." +msgstr "" + +msgid "" +"See `wsgi.readthedocs.io `_ for more " +"information about WSGI, and links to tutorials and other resources." +msgstr "" +"Перегляньте `wsgi.readthedocs.io `_ для " +"отримання додаткової інформації про WSGI, а також посилання на навчальні " +"посібники та інші ресурси." + +msgid ":mod:`wsgiref.util` -- WSGI environment utilities" +msgstr ":mod:`wsgiref.util` -- утиліти середовища WSGI" + +msgid "" +"This module provides a variety of utility functions for working with WSGI " +"environments. A WSGI environment is a dictionary containing HTTP request " +"variables as described in :pep:`3333`. All of the functions taking an " +"*environ* parameter expect a WSGI-compliant dictionary to be supplied; " +"please see :pep:`3333` for a detailed specification and :data:`~wsgiref." +"types.WSGIEnvironment` for a type alias that can be used in type annotations." +msgstr "" + +msgid "" +"Return a guess for whether ``wsgi.url_scheme`` should be \"http\" or \"https" +"\", by checking for a ``HTTPS`` environment variable in the *environ* " +"dictionary. The return value is a string." +msgstr "" +"Поверніть припущення щодо того, чи має ``wsgi.url_scheme`` бути \"http\" чи " +"\"https\", перевіривши наявність змінної середовища ``HTTPS`` у словнику " +"*environ*. Поверненим значенням є рядок." + +msgid "" +"This function is useful when creating a gateway that wraps CGI or a CGI-like " +"protocol such as FastCGI. Typically, servers providing such protocols will " +"include a ``HTTPS`` variable with a value of \"1\", \"yes\", or \"on\" when " +"a request is received via SSL. So, this function returns \"https\" if such " +"a value is found, and \"http\" otherwise." +msgstr "" +"Ця функція корисна під час створення шлюзу, який обгортає CGI або CGI-" +"подібний протокол, наприклад FastCGI. Як правило, сервери, що надають такі " +"протоколи, включатимуть змінну ``HTTPS`` зі значенням \"1\", \"yes\" або \"on" +"\", коли запит надходить через SSL. Таким чином, ця функція повертає \"https" +"\", якщо таке значення знайдено, і \"http\" в іншому випадку." + +msgid "" +"Return the full request URI, optionally including the query string, using " +"the algorithm found in the \"URL Reconstruction\" section of :pep:`3333`. " +"If *include_query* is false, the query string is not included in the " +"resulting URI." +msgstr "" +"Поверніть повний URI запиту, необов’язково включаючи рядок запиту, " +"використовуючи алгоритм, знайдений у розділі \"Реконструкція URL-адреси\" :" +"pep:`3333`. Якщо *include_query* має значення false, рядок запиту не " +"включається в отриманий URI." + +msgid "" +"Similar to :func:`request_uri`, except that the ``PATH_INFO`` and " +"``QUERY_STRING`` variables are ignored. The result is the base URI of the " +"application object addressed by the request." +msgstr "" +"Подібно до :func:`request_uri`, за винятком того, що змінні ``PATH_INFO`` і " +"``QUERY_STRING`` ігноруються. Результатом є базовий URI об’єкта програми, " +"адресованого запитом." + +msgid "" +"Shift a single name from ``PATH_INFO`` to ``SCRIPT_NAME`` and return the " +"name. The *environ* dictionary is *modified* in-place; use a copy if you " +"need to keep the original ``PATH_INFO`` or ``SCRIPT_NAME`` intact." +msgstr "" +"Перемістіть одну назву з ``PATH_INFO`` на ``SCRIPT_NAME`` і поверніть назву. " +"Словник *environ* *змінено* на місці; використовуйте копію, якщо вам " +"потрібно зберегти оригінальний ``PATH_INFO`` або ``SCRIPT_NAME`` " +"недоторканим." + +msgid "" +"If there are no remaining path segments in ``PATH_INFO``, ``None`` is " +"returned." +msgstr "Якщо в ``PATH_INFO`` немає сегментів шляху, повертається ``None``." + +msgid "" +"Typically, this routine is used to process each portion of a request URI " +"path, for example to treat the path as a series of dictionary keys. This " +"routine modifies the passed-in environment to make it suitable for invoking " +"another WSGI application that is located at the target URI. For example, if " +"there is a WSGI application at ``/foo``, and the request URI path is ``/foo/" +"bar/baz``, and the WSGI application at ``/foo`` calls :func:" +"`shift_path_info`, it will receive the string \"bar\", and the environment " +"will be updated to be suitable for passing to a WSGI application at ``/foo/" +"bar``. That is, ``SCRIPT_NAME`` will change from ``/foo`` to ``/foo/bar``, " +"and ``PATH_INFO`` will change from ``/bar/baz`` to ``/baz``." +msgstr "" +"Як правило, ця підпрограма використовується для обробки кожної частини шляху " +"URI запиту, наприклад, щоб трактувати шлях як серію ключів словника. Ця " +"процедура змінює передане середовище, щоб зробити його придатним для виклику " +"іншої програми WSGI, яка розташована за цільовим URI. Наприклад, якщо за " +"адресою ``/foo`` є програма WSGI, а шлях URI запиту — ``/foo/bar/baz``, а " +"програма WSGI за адресою ``/foo`` викликає :func:`shift_path_info`, він " +"отримає рядок \"bar\", і середовище буде оновлено, щоб воно було придатним " +"для передачі до програми WSGI за адресою ``/foo/bar``. Тобто ``SCRIPT_NAME`` " +"зміниться з ``/foo`` на ``/foo/bar``, а ``PATH_INFO`` зміниться з ``/bar/" +"baz`` на ``/baz``." + +msgid "" +"When ``PATH_INFO`` is just a \"/\", this routine returns an empty string and " +"appends a trailing slash to ``SCRIPT_NAME``, even though empty path segments " +"are normally ignored, and ``SCRIPT_NAME`` doesn't normally end in a slash. " +"This is intentional behavior, to ensure that an application can tell the " +"difference between URIs ending in ``/x`` from ones ending in ``/x/`` when " +"using this routine to do object traversal." +msgstr "" +"Коли ``PATH_INFO`` є просто \"/\", ця підпрограма повертає порожній рядок і " +"додає кінцеву косу риску до ``SCRIPT_NAME``, навіть якщо порожні сегменти " +"шляху зазвичай ігноруються, а ``SCRIPT_NAME`` зазвичай не закінчуються косою " +"рискою. Це навмисна поведінка, щоб гарантувати, що програма може визначити " +"різницю між URI, що закінчуються на ``/x``, від тих, що закінчуються на ``/x/" +"`` під час використання цієї процедури для обходу об’єктів." + +msgid "Update *environ* with trivial defaults for testing purposes." +msgstr "" +"Оновіть *environ* з тривіальними параметрами за замовчуванням для цілей " +"тестування." + +msgid "" +"This routine adds various parameters required for WSGI, including " +"``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " +"``SCRIPT_NAME``, ``PATH_INFO``, and all of the :pep:`3333`\\ -defined ``wsgi." +"*`` variables. It only supplies default values, and does not replace any " +"existing settings for these variables." +msgstr "" +"Ця процедура додає різноманітні параметри, необхідні для WSGI, зокрема " +"``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " +"``SCRIPT_NAME``, ``PATH_INFO`` та всі :pep:`3333`\\ -визначені змінні ``wsgi." +"*``. Він надає лише значення за замовчуванням і не замінює жодних існуючих " +"параметрів для цих змінних." + +msgid "" +"This routine is intended to make it easier for unit tests of WSGI servers " +"and applications to set up dummy environments. It should NOT be used by " +"actual WSGI servers or applications, since the data is fake!" +msgstr "" +"Ця процедура призначена для полегшення модульних тестів серверів і програм " +"WSGI для налаштування фіктивних середовищ. Його НЕ слід використовувати на " +"справжніх серверах або програмах WSGI, оскільки дані підроблені!" + +msgid "Example usage::" +msgstr "Приклад використання::" + +msgid "" +"In addition to the environment functions above, the :mod:`wsgiref.util` " +"module also provides these miscellaneous utilities:" +msgstr "" +"На додаток до функцій середовища, наведених вище, модуль :mod:`wsgiref.util` " +"також надає такі різноманітні утиліти:" + +msgid "" +"Return ``True`` if 'header_name' is an HTTP/1.1 \"Hop-by-Hop\" header, as " +"defined by :rfc:`2616`." +msgstr "" +"Повертає ``True``, якщо 'header_name' є заголовком HTTP/1.1 \"Hop-by-Hop\", " +"як визначено :rfc:`2616`." + +msgid "" +"A concrete implementation of the :class:`wsgiref.types.FileWrapper` protocol " +"used to convert a file-like object to an :term:`iterator`. The resulting " +"objects are :term:`iterable`\\ s. As the object is iterated over, the " +"optional *blksize* parameter will be repeatedly passed to the *filelike* " +"object's :meth:`read` method to obtain bytestrings to yield. When :meth:" +"`read` returns an empty bytestring, iteration is ended and is not resumable." +msgstr "" + +msgid "" +"If *filelike* has a :meth:`close` method, the returned object will also have " +"a :meth:`close` method, and it will invoke the *filelike* object's :meth:" +"`close` method when called." +msgstr "" +"Якщо *filelike* має метод :meth:`close`, повернутий об’єкт також матиме " +"метод :meth:`close`, і під час виклику він викличе метод :meth:`close` " +"об’єкта *filelike*." + +msgid "Support for :meth:`__getitem__` method has been removed." +msgstr "" + +msgid ":mod:`wsgiref.headers` -- WSGI response header tools" +msgstr ":mod:`wsgiref.headers` -- інструменти заголовків відповідей WSGI" + +msgid "" +"This module provides a single class, :class:`Headers`, for convenient " +"manipulation of WSGI response headers using a mapping-like interface." +msgstr "" +"Цей модуль надає єдиний клас, :class:`Headers`, для зручного керування " +"заголовками відповідей WSGI за допомогою інтерфейсу, схожого на відображення." + +msgid "" +"Create a mapping-like object wrapping *headers*, which must be a list of " +"header name/value tuples as described in :pep:`3333`. The default value of " +"*headers* is an empty list." +msgstr "" +"Створіть *headers* об’єкт, схожий на відображення, який має бути списком " +"кортежів імені/значення заголовка, як описано в :pep:`3333`. Типовим " +"значенням *headers* є порожній список." + +msgid "" +":class:`Headers` objects support typical mapping operations including :meth:" +"`__getitem__`, :meth:`get`, :meth:`__setitem__`, :meth:`setdefault`, :meth:" +"`__delitem__` and :meth:`__contains__`. For each of these methods, the key " +"is the header name (treated case-insensitively), and the value is the first " +"value associated with that header name. Setting a header deletes any " +"existing values for that header, then adds a new value at the end of the " +"wrapped header list. Headers' existing order is generally maintained, with " +"new headers added to the end of the wrapped list." +msgstr "" +"Об’єкти :class:`Headers` підтримують типові операції зіставлення, включаючи :" +"meth:`__getitem__`, :meth:`get`, :meth:`__setitem__`, :meth:`setdefault`, :" +"meth:`__delitem__` і :meth:`__contains__`. Для кожного з цих методів ключем " +"є ім’я заголовка (розглядається без урахування регістру), а значенням є " +"перше значення, пов’язане з цим ім’ям заголовка. Налаштування заголовка " +"видаляє будь-які існуючі значення для цього заголовка, а потім додає нове " +"значення в кінець списку загорнутих заголовків. Існуючий порядок заголовків " +"зазвичай зберігається, а нові заголовки додаються в кінець обгорнутого " +"списку." + +msgid "" +"Unlike a dictionary, :class:`Headers` objects do not raise an error when you " +"try to get or delete a key that isn't in the wrapped header list. Getting a " +"nonexistent header just returns ``None``, and deleting a nonexistent header " +"does nothing." +msgstr "" +"На відміну від словника, об’єкти :class:`Headers` не викликають помилки, " +"коли ви намагаєтеся отримати або видалити ключ, якого немає в списку " +"заголовків. Отримання неіснуючого заголовка просто повертає ``None``, а " +"видалення неіснуючого заголовка нічого не робить." + +msgid "" +":class:`Headers` objects also support :meth:`keys`, :meth:`values`, and :" +"meth:`items` methods. The lists returned by :meth:`keys` and :meth:`items` " +"can include the same key more than once if there is a multi-valued header. " +"The ``len()`` of a :class:`Headers` object is the same as the length of its :" +"meth:`items`, which is the same as the length of the wrapped header list. " +"In fact, the :meth:`items` method just returns a copy of the wrapped header " +"list." +msgstr "" +"Об’єкти :class:`Headers` також підтримують методи :meth:`keys`, :meth:" +"`values` і :meth:`items`. Списки, які повертаються :meth:`keys` і :meth:" +"`items`, можуть містити той самий ключ більше одного разу, якщо є " +"багатозначний заголовок. ``len()`` об’єкта :class:`Headers` дорівнює довжині " +"його :meth:`items`, що дорівнює довжині оберненого списку заголовків. " +"Насправді метод :meth:`items` просто повертає копію загорнутого списку " +"заголовків." + +msgid "" +"Calling ``bytes()`` on a :class:`Headers` object returns a formatted " +"bytestring suitable for transmission as HTTP response headers. Each header " +"is placed on a line with its value, separated by a colon and a space. Each " +"line is terminated by a carriage return and line feed, and the bytestring is " +"terminated with a blank line." +msgstr "" +"Виклик ``bytes()`` для об’єкта :class:`Headers` повертає відформатований " +"байтовий рядок, придатний для передачі як заголовки відповіді HTTP. Кожен " +"заголовок розміщується в рядку зі своїм значенням, розділеним двокрапкою та " +"пробілом. Кожен рядок закінчується символом повернення каретки та переводом " +"рядка, а байтовий рядок завершується порожнім рядком." + +msgid "" +"In addition to their mapping interface and formatting features, :class:" +"`Headers` objects also have the following methods for querying and adding " +"multi-valued headers, and for adding headers with MIME parameters:" +msgstr "" +"Окрім інтерфейсу відображення та функцій форматування, об’єкти :class:" +"`Headers` також мають такі методи для запитів і додавання багатозначних " +"заголовків, а також для додавання заголовків із параметрами MIME:" + +msgid "Return a list of all the values for the named header." +msgstr "Повертає список усіх значень для названого заголовка." + +msgid "" +"The returned list will be sorted in the order they appeared in the original " +"header list or were added to this instance, and may contain duplicates. Any " +"fields deleted and re-inserted are always appended to the header list. If " +"no fields exist with the given name, returns an empty list." +msgstr "" +"Повернений список буде відсортовано в тому порядку, у якому вони з’явилися у " +"вихідному списку заголовків або були додані до цього екземпляра, і може " +"містити дублікати. Будь-які видалені та повторно вставлені поля завжди " +"додаються до списку заголовків. Якщо немає полів із заданим іменем, повертає " +"порожній список." + +msgid "" +"Add a (possibly multi-valued) header, with optional MIME parameters " +"specified via keyword arguments." +msgstr "" +"Додайте (можливо, багатозначний) заголовок із необов’язковими параметрами " +"MIME, указаними через аргументи ключового слова." + +msgid "" +"*name* is the header field to add. Keyword arguments can be used to set " +"MIME parameters for the header field. Each parameter must be a string or " +"``None``. Underscores in parameter names are converted to dashes, since " +"dashes are illegal in Python identifiers, but many MIME parameter names " +"include dashes. If the parameter value is a string, it is added to the " +"header value parameters in the form ``name=\"value\"``. If it is ``None``, " +"only the parameter name is added. (This is used for MIME parameters without " +"a value.) Example usage::" +msgstr "" +"*name* – поле заголовка, яке потрібно додати. Аргументи ключового слова " +"можна використовувати для встановлення параметрів MIME для поля заголовка. " +"Кожен параметр має бути рядком або ``None``. Підкреслення в назвах " +"параметрів перетворюються на тире, оскільки тире заборонені в " +"ідентифікаторах Python, але багато імен параметрів MIME містять тире. Якщо " +"значення параметра є рядком, воно додається до параметрів значення заголовка " +"у формі ``name=\"value\"``. Якщо вибрано ``None``, додається лише назва " +"параметра. (Це використовується для параметрів MIME без значення.) Приклад " +"використання::" + +msgid "The above will add a header that looks like this::" +msgstr "Наведене вище додасть заголовок, який виглядає так::" + +msgid "*headers* parameter is optional." +msgstr "Параметр *headers* необов’язковий." + +msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" +msgstr ":mod:`wsgiref.simple_server` -- простий HTTP-сервер WSGI" + +msgid "" +"This module implements a simple HTTP server (based on :mod:`http.server`) " +"that serves WSGI applications. Each server instance serves a single WSGI " +"application on a given host and port. If you want to serve multiple " +"applications on a single host and port, you should create a WSGI application " +"that parses ``PATH_INFO`` to select which application to invoke for each " +"request. (E.g., using the :func:`shift_path_info` function from :mod:" +"`wsgiref.util`.)" +msgstr "" +"Цей модуль реалізує простий HTTP-сервер (на основі :mod:`http.server`), який " +"обслуговує програми WSGI. Кожен екземпляр сервера обслуговує одну програму " +"WSGI на заданому хості та порту. Якщо ви хочете обслуговувати кілька програм " +"на одному хості та порту, вам слід створити програму WSGI, яка аналізує " +"``PATH_INFO``, щоб вибрати, яку програму викликати для кожного запиту. " +"(Наприклад, за допомогою функції :func:`shift_path_info` з :mod:`wsgiref." +"util`.)" + +msgid "" +"Create a new WSGI server listening on *host* and *port*, accepting " +"connections for *app*. The return value is an instance of the supplied " +"*server_class*, and will process requests using the specified " +"*handler_class*. *app* must be a WSGI application object, as defined by :" +"pep:`3333`." +msgstr "" +"Створіть новий сервер WSGI, який прослуховує *хост* і *порт*, приймаючи " +"з’єднання для *програми*. Повернене значення є екземпляром наданого " +"*server_class* і оброблятиме запити, використовуючи вказаний " +"*handler_class*. *app* має бути об’єктом програми WSGI, як визначено :pep:" +"`3333`." + +msgid "" +"This function is a small but complete WSGI application that returns a text " +"page containing the message \"Hello world!\" and a list of the key/value " +"pairs provided in the *environ* parameter. It's useful for verifying that a " +"WSGI server (such as :mod:`wsgiref.simple_server`) is able to run a simple " +"WSGI application correctly." +msgstr "" +"Ця функція є невеликою, але повною програмою WSGI, яка повертає текстову " +"сторінку, що містить повідомлення \"Hello world!\" і список пар ключ/" +"значення, наданий у параметрі *environ*. Це корисно для перевірки того, що " +"сервер WSGI (наприклад, :mod:`wsgiref.simple_server`) здатний правильно " +"запускати просту програму WSGI." + +msgid "" +"Create a :class:`WSGIServer` instance. *server_address* should be a ``(host," +"port)`` tuple, and *RequestHandlerClass* should be the subclass of :class:" +"`http.server.BaseHTTPRequestHandler` that will be used to process requests." +msgstr "" +"Створіть екземпляр :class:`WSGIServer`. *server_address* має бути кортежем " +"``(host,port)``, а *RequestHandlerClass* має бути підкласом :class:`http." +"server.BaseHTTPRequestHandler`, який використовуватиметься для обробки " +"запитів." + +msgid "" +"You do not normally need to call this constructor, as the :func:" +"`make_server` function can handle all the details for you." +msgstr "" +"Зазвичай вам не потрібно викликати цей конструктор, оскільки функція :func:" +"`make_server` може обробити всі деталі за вас." + +msgid "" +":class:`WSGIServer` is a subclass of :class:`http.server.HTTPServer`, so all " +"of its methods (such as :meth:`serve_forever` and :meth:`handle_request`) " +"are available. :class:`WSGIServer` also provides these WSGI-specific methods:" +msgstr "" +":class:`WSGIServer` є підкласом :class:`http.server.HTTPServer`, тому всі " +"його методи (такі як :meth:`serve_forever` і :meth:`handle_request`) " +"доступні. :class:`WSGIServer` також надає ці спеціальні методи WSGI:" + +msgid "" +"Sets the callable *application* as the WSGI application that will receive " +"requests." +msgstr "" +"Встановлює викликану *програму* як програму WSGI, яка отримуватиме запити." + +msgid "Returns the currently set application callable." +msgstr "" + +msgid "" +"Normally, however, you do not need to use these additional methods, as :meth:" +"`set_app` is normally called by :func:`make_server`, and the :meth:`get_app` " +"exists mainly for the benefit of request handler instances." +msgstr "" +"Однак зазвичай вам не потрібно використовувати ці додаткові методи, " +"оскільки :meth:`set_app` зазвичай викликається :func:`make_server`, а :meth:" +"`get_app` існує в основному для вигоди екземплярів обробника запитів." + +msgid "" +"Create an HTTP handler for the given *request* (i.e. a socket), " +"*client_address* (a ``(host,port)`` tuple), and *server* (:class:" +"`WSGIServer` instance)." +msgstr "" +"Створіть обробник HTTP для вказаного *запиту* (тобто сокета), " +"*client_address* (кортежу ``(host,port)`` і *server* (:class:`WSGIServer` " +"екземпляр)." + +msgid "" +"You do not need to create instances of this class directly; they are " +"automatically created as needed by :class:`WSGIServer` objects. You can, " +"however, subclass this class and supply it as a *handler_class* to the :func:" +"`make_server` function. Some possibly relevant methods for overriding in " +"subclasses:" +msgstr "" +"Вам не потрібно створювати екземпляри цього класу безпосередньо; вони " +"автоматично створюються за потреби об’єктами :class:`WSGIServer`. Однак ви " +"можете створити підклас цього класу та надати його як *handler_class* для " +"функції :func:`make_server`. Деякі можливі релевантні методи перевизначення " +"в підкласах:" + +msgid "" +"Return a :data:`~wsgiref.types.WSGIEnvironment` dictionary for a request. " +"The default implementation copies the contents of the :class:`WSGIServer` " +"object's :attr:`base_environ` dictionary attribute and then adds various " +"headers derived from the HTTP request. Each call to this method should " +"return a new dictionary containing all of the relevant CGI environment " +"variables as specified in :pep:`3333`." +msgstr "" + +msgid "" +"Return the object that should be used as the ``wsgi.errors`` stream. The " +"default implementation just returns ``sys.stderr``." +msgstr "" +"Повертає об’єкт, який слід використовувати як потік ``wsgi.errors``. " +"Реалізація за замовчуванням просто повертає ``sys.stderr``." + +msgid "" +"Process the HTTP request. The default implementation creates a handler " +"instance using a :mod:`wsgiref.handlers` class to implement the actual WSGI " +"application interface." +msgstr "" +"Обробити HTTP-запит. Стандартна реалізація створює екземпляр обробника за " +"допомогою класу :mod:`wsgiref.handlers` для реалізації фактичного інтерфейсу " +"програми WSGI." + +msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" +msgstr ":mod:`wsgiref.validate` --- Перевірка відповідності WSGI" + +msgid "" +"When creating new WSGI application objects, frameworks, servers, or " +"middleware, it can be useful to validate the new code's conformance using :" +"mod:`wsgiref.validate`. This module provides a function that creates WSGI " +"application objects that validate communications between a WSGI server or " +"gateway and a WSGI application object, to check both sides for protocol " +"conformance." +msgstr "" +"Під час створення нових об’єктів програми WSGI, фреймворків, серверів або " +"проміжного програмного забезпечення може бути корисно перевірити " +"відповідність нового коду за допомогою :mod:`wsgiref.validate`. Цей модуль " +"забезпечує функцію, яка створює об’єкти програми WSGI, які перевіряють " +"зв’язок між сервером або шлюзом WSGI та об’єктом програми WSGI, щоб " +"перевірити обидві сторони на відповідність протоколу." + +msgid "" +"Note that this utility does not guarantee complete :pep:`3333` compliance; " +"an absence of errors from this module does not necessarily mean that errors " +"do not exist. However, if this module does produce an error, then it is " +"virtually certain that either the server or application is not 100% " +"compliant." +msgstr "" +"Зауважте, що ця утиліта не гарантує повної відповідності :pep:`3333`; " +"відсутність помилок у цьому модулі не обов'язково означає, що помилок немає. " +"Однак, якщо цей модуль видає помилку, тоді можна з упевненістю сказати, що " +"або сервер, або програма не відповідають вимогам на 100%." + +msgid "" +"This module is based on the :mod:`paste.lint` module from Ian Bicking's " +"\"Python Paste\" library." +msgstr "" +"Цей модуль базується на модулі :mod:`paste.lint` з бібліотеки \"Python Paste" +"\" Яна Бікінга." + +msgid "" +"Wrap *application* and return a new WSGI application object. The returned " +"application will forward all requests to the original *application*, and " +"will check that both the *application* and the server invoking it are " +"conforming to the WSGI specification and to :rfc:`2616`." +msgstr "" +"Оберніть *програму* та поверніть новий об’єкт програми WSGI. Повернена " +"програма перенаправлятиме всі запити до оригінальної *програми* та " +"перевірятиме, чи *програма* та сервер, який її викликає, відповідають " +"специфікації WSGI та :rfc:`2616`." + +msgid "" +"Any detected nonconformance results in an :exc:`AssertionError` being " +"raised; note, however, that how these errors are handled is server-" +"dependent. For example, :mod:`wsgiref.simple_server` and other servers " +"based on :mod:`wsgiref.handlers` (that don't override the error handling " +"methods to do something else) will simply output a message that an error has " +"occurred, and dump the traceback to ``sys.stderr`` or some other error " +"stream." +msgstr "" +"Будь-яка виявлена невідповідність призводить до появи :exc:`AssertionError`; " +"однак зауважте, що спосіб обробки цих помилок залежить від сервера. " +"Наприклад, :mod:`wsgiref.simple_server` та інші сервери, засновані на :mod:" +"`wsgiref.handlers` (які не перевизначають методи обробки помилок, щоб " +"зробити щось інше) просто виведуть повідомлення про те, що сталася помилка, " +"і скиньте трасування до ``sys.stderr`` або іншого потоку помилок." + +msgid "" +"This wrapper may also generate output using the :mod:`warnings` module to " +"indicate behaviors that are questionable but which may not actually be " +"prohibited by :pep:`3333`. Unless they are suppressed using Python command-" +"line options or the :mod:`warnings` API, any such warnings will be written " +"to ``sys.stderr`` (*not* ``wsgi.errors``, unless they happen to be the same " +"object)." +msgstr "" +"Ця обгортка також може генерувати вихідні дані за допомогою модуля :mod:" +"`warnings` для вказівки поведінки, яка є сумнівною, але яка насправді не " +"може бути заборонена :pep:`3333`. Якщо їх не придушено за допомогою " +"параметрів командного рядка Python або API :mod:`warnings`, будь-які такі " +"попередження будуть записані в ``sys.stderr`` (*не* ``wsgi.errors``, якщо " +"вони не стаються з бути тим самим об'єктом)." + +msgid ":mod:`wsgiref.handlers` -- server/gateway base classes" +msgstr ":mod:`wsgiref.handlers` -- базові класи сервера/шлюзу" + +msgid "" +"This module provides base handler classes for implementing WSGI servers and " +"gateways. These base classes handle most of the work of communicating with " +"a WSGI application, as long as they are given a CGI-like environment, along " +"with input, output, and error streams." +msgstr "" +"Цей модуль надає базові класи обробки для реалізації серверів і шлюзів WSGI. " +"Ці базові класи виконують більшу частину роботи зі спілкування з додатком " +"WSGI, якщо їм надано середовище, подібне до CGI, а також потоки введення, " +"виведення та помилок." + +msgid "" +"CGI-based invocation via ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` and " +"``os.environ``. This is useful when you have a WSGI application and want to " +"run it as a CGI script. Simply invoke ``CGIHandler().run(app)``, where " +"``app`` is the WSGI application object you wish to invoke." +msgstr "" +"Виклик на основі CGI через ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` і " +"``os.environ``. Це корисно, якщо у вас є програма WSGI і ви хочете запустити " +"її як сценарій CGI. Просто викличте ``CGIHandler().run(app)``, де ``app`` це " +"об’єкт програми WSGI, який ви хочете викликати." + +msgid "" +"This class is a subclass of :class:`BaseCGIHandler` that sets ``wsgi." +"run_once`` to true, ``wsgi.multithread`` to false, and ``wsgi.multiprocess`` " +"to true, and always uses :mod:`sys` and :mod:`os` to obtain the necessary " +"CGI streams and environment." +msgstr "" +"Цей клас є підкласом :class:`BaseCGIHandler`, який встановлює ``wsgi." +"run_once`` значення true, ``wsgi.multithread`` значення false і ``wsgi." +"multiprocess`` значення true, і завжди використовує :mod:`sys` і :mod:`os` " +"для отримання необхідних потоків CGI та середовища." + +msgid "" +"A specialized alternative to :class:`CGIHandler`, for use when deploying on " +"Microsoft's IIS web server, without having set the config allowPathInfo " +"option (IIS>=7) or metabase allowPathInfoForScriptMappings (IIS<7)." +msgstr "" +"Спеціалізована альтернатива :class:`CGIHandler` для використання під час " +"розгортання на веб-сервері Microsoft IIS без встановлення опції " +"allowPathInfo конфігурації (IIS>=7) або дозволу метабази " +"allowPathInfoForScriptMappings (IIS<7)." + +msgid "" +"By default, IIS gives a ``PATH_INFO`` that duplicates the ``SCRIPT_NAME`` at " +"the front, causing problems for WSGI applications that wish to implement " +"routing. This handler strips any such duplicated path." +msgstr "" +"За замовчуванням IIS надає ``PATH_INFO``, який дублює ``SCRIPT_NAME`` " +"спереду, що спричиняє проблеми для програм WSGI, які бажають реалізувати " +"маршрутизацію. Цей обробник видаляє будь-який такий дубльований шлях." + +msgid "" +"IIS can be configured to pass the correct ``PATH_INFO``, but this causes " +"another bug where ``PATH_TRANSLATED`` is wrong. Luckily this variable is " +"rarely used and is not guaranteed by WSGI. On IIS<7, though, the setting can " +"only be made on a vhost level, affecting all other script mappings, many of " +"which break when exposed to the ``PATH_TRANSLATED`` bug. For this reason " +"IIS<7 is almost never deployed with the fix (Even IIS7 rarely uses it " +"because there is still no UI for it.)." +msgstr "" +"IIS можна налаштувати для передачі правильного ``PATH_INFO``, але це " +"спричиняє ще одну помилку, коли ``PATH_TRANSLATED`` неправильний. На щастя, " +"ця змінна рідко використовується і не гарантується WSGI. Однак у IIS<7 це " +"налаштування можна зробити лише на рівні vhost, впливаючи на всі інші " +"зіставлення сценаріїв, багато з яких ламаються, коли піддаються помилці " +"``PATH_TRANSLATED``. З цієї причини IIS<7 майже ніколи не розгортається з " +"виправленням (навіть IIS7 рідко використовує його, оскільки для нього все ще " +"немає інтерфейсу користувача)." + +msgid "" +"There is no way for CGI code to tell whether the option was set, so a " +"separate handler class is provided. It is used in the same way as :class:" +"`CGIHandler`, i.e., by calling ``IISCGIHandler().run(app)``, where ``app`` " +"is the WSGI application object you wish to invoke." +msgstr "" +"Код CGI не може визначити, чи встановлено параметр, тому надається окремий " +"клас обробника. Він використовується так само, як :class:`CGIHandler`, тобто " +"шляхом виклику ``IISCGIHandler().run(app)``, де ``app`` є об'єктом програми " +"WSGI, який ви хочете викликати." + +msgid "" +"Similar to :class:`CGIHandler`, but instead of using the :mod:`sys` and :mod:" +"`os` modules, the CGI environment and I/O streams are specified explicitly. " +"The *multithread* and *multiprocess* values are used to set the ``wsgi." +"multithread`` and ``wsgi.multiprocess`` flags for any applications run by " +"the handler instance." +msgstr "" +"Подібно до :class:`CGIHandler`, але замість використання модулів :mod:`sys` " +"і :mod:`os` середовище CGI та потоки введення/виведення вказуються явно. " +"Значення *multithread* і *multiprocess* використовуються для встановлення " +"прапорів ``wsgi.multithread`` і ``wsgi.multiprocess`` для будь-яких програм, " +"запущених екземпляром обробника." + +msgid "" +"This class is a subclass of :class:`SimpleHandler` intended for use with " +"software other than HTTP \"origin servers\". If you are writing a gateway " +"protocol implementation (such as CGI, FastCGI, SCGI, etc.) that uses a " +"``Status:`` header to send an HTTP status, you probably want to subclass " +"this instead of :class:`SimpleHandler`." +msgstr "" +"Цей клас є підкласом :class:`SimpleHandler`, призначеного для використання з " +"програмним забезпеченням, відмінним від HTTP-серверів. Якщо ви пишете " +"реалізацію протоколу шлюзу (наприклад, CGI, FastCGI, SCGI тощо), яка " +"використовує заголовок ``Status:`` для надсилання статусу HTTP, можливо, ви " +"захочете створити підклас цього замість :class:`SimpleHandler` ." + +msgid "" +"Similar to :class:`BaseCGIHandler`, but designed for use with HTTP origin " +"servers. If you are writing an HTTP server implementation, you will " +"probably want to subclass this instead of :class:`BaseCGIHandler`." +msgstr "" +"Подібний до :class:`BaseCGIHandler`, але призначений для використання з " +"вихідними серверами HTTP. Якщо ви пишете реалізацію сервера HTTP, ви, " +"ймовірно, захочете створити підклас цього замість :class:`BaseCGIHandler`." + +msgid "" +"This class is a subclass of :class:`BaseHandler`. It overrides the :meth:" +"`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:`add_cgi_vars`, :" +"meth:`_write`, and :meth:`_flush` methods to support explicitly setting the " +"environment and streams via the constructor. The supplied environment and " +"streams are stored in the :attr:`stdin`, :attr:`stdout`, :attr:`stderr`, " +"and :attr:`environ` attributes." +msgstr "" +"Цей клас є підкласом :class:`BaseHandler`. Він замінює методи :meth:" +"`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:`add_cgi_vars`, :" +"meth:`_write` і :meth:`_flush` для підтримки явного налаштування середовище " +"та потоки через конструктор. Надане середовище та потоки зберігаються в " +"атрибутах :attr:`stdin`, :attr:`stdout`, :attr:`stderr` і :attr:`environ`." + +msgid "" +"The :meth:`~io.BufferedIOBase.write` method of *stdout* should write each " +"chunk in full, like :class:`io.BufferedIOBase`." +msgstr "" +"Метод :meth:`~io.BufferedIOBase.write` *stdout* має записувати кожен " +"фрагмент повністю, як :class:`io.BufferedIOBase`." + +msgid "" +"This is an abstract base class for running WSGI applications. Each instance " +"will handle a single HTTP request, although in principle you could create a " +"subclass that was reusable for multiple requests." +msgstr "" +"Це абстрактний базовий клас для запуску програм WSGI. Кожен екземпляр " +"оброблятиме один HTTP-запит, хоча в принципі ви можете створити підклас, " +"який можна повторно використовувати для кількох запитів." + +msgid "" +":class:`BaseHandler` instances have only one method intended for external " +"use:" +msgstr "" +"Екземпляри :class:`BaseHandler` мають лише один метод, призначений для " +"зовнішнього використання:" + +msgid "Run the specified WSGI application, *app*." +msgstr "Запустіть вказану програму WSGI, *app*." + +msgid "" +"All of the other :class:`BaseHandler` methods are invoked by this method in " +"the process of running the application, and thus exist primarily to allow " +"customizing the process." +msgstr "" +"Усі інші методи :class:`BaseHandler` викликаються цим методом у процесі " +"запуску програми, і, отже, існують, перш за все, щоб дозволити налаштувати " +"процес." + +msgid "The following methods MUST be overridden in a subclass:" +msgstr "Наступні методи ПОВИННІ бути замінені в підкласі:" + +msgid "" +"Buffer the bytes *data* for transmission to the client. It's okay if this " +"method actually transmits the data; :class:`BaseHandler` just separates " +"write and flush operations for greater efficiency when the underlying system " +"actually has such a distinction." +msgstr "" +"Буферизуйте байти *data* для передачі клієнту. Це нормально, якщо цей метод " +"дійсно передає дані; :class:`BaseHandler` просто розділяє операції запису та " +"очищення для більшої ефективності, коли основна система насправді має таку " +"відмінність." + +msgid "" +"Force buffered data to be transmitted to the client. It's okay if this " +"method is a no-op (i.e., if :meth:`_write` actually sends the data)." +msgstr "" +"Примусова передача буферизованих даних клієнту. Це нормально, якщо цей метод " +"є безопераційним (тобто якщо :meth:`_write` справді надсилає дані)." + +msgid "" +"Return an object compatible with :class:`~wsgiref.types.InputStream` " +"suitable for use as the ``wsgi.input`` of the request currently being " +"processed." +msgstr "" + +msgid "" +"Return an object compatible with :class:`~wsgiref.types.ErrorStream` " +"suitable for use as the ``wsgi.errors`` of the request currently being " +"processed." +msgstr "" + +msgid "" +"Insert CGI variables for the current request into the :attr:`environ` " +"attribute." +msgstr "Вставте змінні CGI для поточного запиту в атрибут :attr:`environ`." + +msgid "" +"Here are some other methods and attributes you may wish to override. This " +"list is only a summary, however, and does not include every method that can " +"be overridden. You should consult the docstrings and source code for " +"additional information before attempting to create a customized :class:" +"`BaseHandler` subclass." +msgstr "" +"Ось деякі інші методи та атрибути, які ви можете змінити. Однак цей список є " +"лише підсумковим і не включає всі методи, які можна замінити. Перш ніж " +"намагатися створити налаштований підклас :class:`BaseHandler`, вам слід " +"переглянути рядки документації та вихідний код для отримання додаткової " +"інформації." + +msgid "Attributes and methods for customizing the WSGI environment:" +msgstr "Атрибути та методи налаштування середовища WSGI:" + +msgid "" +"The value to be used for the ``wsgi.multithread`` environment variable. It " +"defaults to true in :class:`BaseHandler`, but may have a different default " +"(or be set by the constructor) in the other subclasses." +msgstr "" +"Значення, яке буде використовуватися для змінної середовища ``wsgi." +"multithread``. За замовчуванням у :class:`BaseHandler` він має значення " +"true, але може мати інше значення за замовчуванням (або бути встановленим " +"конструктором) в інших підкласах." + +msgid "" +"The value to be used for the ``wsgi.multiprocess`` environment variable. It " +"defaults to true in :class:`BaseHandler`, but may have a different default " +"(or be set by the constructor) in the other subclasses." +msgstr "" +"Значення, яке буде використовуватися для змінної середовища ``wsgi." +"multiprocess``. За замовчуванням у :class:`BaseHandler` він має значення " +"true, але може мати інше значення за замовчуванням (або бути встановленим " +"конструктором) в інших підкласах." + +msgid "" +"The value to be used for the ``wsgi.run_once`` environment variable. It " +"defaults to false in :class:`BaseHandler`, but :class:`CGIHandler` sets it " +"to true by default." +msgstr "" +"Значення, яке буде використовуватися для змінної середовища ``wsgi." +"run_once``. За замовчуванням у :class:`BaseHandler` встановлено значення " +"false, але :class:`CGIHandler` за замовчуванням встановлює значення true." + +msgid "" +"The default environment variables to be included in every request's WSGI " +"environment. By default, this is a copy of ``os.environ`` at the time that :" +"mod:`wsgiref.handlers` was imported, but subclasses can either create their " +"own at the class or instance level. Note that the dictionary should be " +"considered read-only, since the default value is shared between multiple " +"classes and instances." +msgstr "" +"Змінні середовища за замовчуванням, які будуть включені в середовище WSGI " +"кожного запиту. За замовчуванням це копія ``os.environ`` на момент імпорту :" +"mod:`wsgiref.handlers`, але підкласи можуть створювати власні на рівні класу " +"або екземпляра. Зауважте, що словник слід вважати доступним лише для " +"читання, оскільки значення за замовчуванням використовується між кількома " +"класами та примірниками." + +msgid "" +"If the :attr:`origin_server` attribute is set, this attribute's value is " +"used to set the default ``SERVER_SOFTWARE`` WSGI environment variable, and " +"also to set a default ``Server:`` header in HTTP responses. It is ignored " +"for handlers (such as :class:`BaseCGIHandler` and :class:`CGIHandler`) that " +"are not HTTP origin servers." +msgstr "" +"Якщо встановлено атрибут :attr:`origin_server`, значення цього атрибута " +"використовується для встановлення змінної середовища WSGI за замовчуванням " +"``SERVER_SOFTWARE``, а також для встановлення заголовка ``Server:`` за " +"замовчуванням у відповідях HTTP. Він ігнорується для обробників (таких як :" +"class:`BaseCGIHandler` і :class:`CGIHandler`), які не є вихідними серверами " +"HTTP." + +msgid "" +"The term \"Python\" is replaced with implementation specific term like " +"\"CPython\", \"Jython\" etc." +msgstr "" +"Термін \"Python\" замінено терміном для конкретної реалізації, наприклад " +"\"CPython\", \"Jython\" тощо." + +msgid "" +"Return the URL scheme being used for the current request. The default " +"implementation uses the :func:`guess_scheme` function from :mod:`wsgiref." +"util` to guess whether the scheme should be \"http\" or \"https\", based on " +"the current request's :attr:`environ` variables." +msgstr "" +"Повертає схему URL-адреси, яка використовується для поточного запиту. " +"Реалізація за замовчуванням використовує функцію :func:`guess_scheme` з :mod:" +"`wsgiref.util`, щоб визначити, чи має бути схема \"http\" чи \"https\", на " +"основі змінних :attr:`environ` поточного запиту." + +msgid "" +"Set the :attr:`environ` attribute to a fully populated WSGI environment. " +"The default implementation uses all of the above methods and attributes, " +"plus the :meth:`get_stdin`, :meth:`get_stderr`, and :meth:`add_cgi_vars` " +"methods and the :attr:`wsgi_file_wrapper` attribute. It also inserts a " +"``SERVER_SOFTWARE`` key if not present, as long as the :attr:`origin_server` " +"attribute is a true value and the :attr:`server_software` attribute is set." +msgstr "" + +msgid "Methods and attributes for customizing exception handling:" +msgstr "Методи та атрибути для налаштування обробки винятків:" + +msgid "" +"Log the *exc_info* tuple in the server log. *exc_info* is a ``(type, value, " +"traceback)`` tuple. The default implementation simply writes the traceback " +"to the request's ``wsgi.errors`` stream and flushes it. Subclasses can " +"override this method to change the format or retarget the output, mail the " +"traceback to an administrator, or whatever other action may be deemed " +"suitable." +msgstr "" +"Зареєструйте кортеж *exc_info* у журналі сервера. *exc_info* — це кортеж " +"``(тип, значення, відстеження)``. Реалізація за замовчуванням просто записує " +"трасування в потік ``wsgi.errors`` запиту та очищає його. Підкласи можуть " +"замінити цей метод, щоб змінити формат або перенацілити вивід, надіслати " +"трасування поштою адміністратору або зробити будь-яку іншу дію, яку можна " +"вважати прийнятною." + +msgid "" +"The maximum number of frames to include in tracebacks output by the default :" +"meth:`log_exception` method. If ``None``, all frames are included." +msgstr "" +"Максимальна кількість фреймів, які можна включити у вивід трасування " +"методом :meth:`log_exception` за замовчуванням. Якщо ``None``, усі кадри " +"включені." + +msgid "" +"This method is a WSGI application to generate an error page for the user. " +"It is only invoked if an error occurs before headers are sent to the client." +msgstr "" +"Цей метод є програмою WSGI для створення сторінки помилки для користувача. " +"Він викликається, лише якщо виникає помилка до того, як заголовки будуть " +"надіслані клієнту." + +msgid "" +"This method can access the current error information using ``sys." +"exc_info()``, and should pass that information to *start_response* when " +"calling it (as described in the \"Error Handling\" section of :pep:`3333`)." +msgstr "" +"Цей метод може отримати доступ до поточної інформації про помилку за " +"допомогою ``sys.exc_info()`` і повинен передавати цю інформацію в " +"*start_response* під час його виклику (як описано в розділі \"Обробка помилок" +"\" :pep:`3333`)." + +msgid "" +"The default implementation just uses the :attr:`error_status`, :attr:" +"`error_headers`, and :attr:`error_body` attributes to generate an output " +"page. Subclasses can override this to produce more dynamic error output." +msgstr "" +"Реалізація за замовчуванням просто використовує атрибути :attr:" +"`error_status`, :attr:`error_headers` і :attr:`error_body` для створення " +"сторінки виводу. Підкласи можуть замінити це, щоб створити більш динамічний " +"вихід помилок." + +msgid "" +"Note, however, that it's not recommended from a security perspective to spit " +"out diagnostics to any old user; ideally, you should have to do something " +"special to enable diagnostic output, which is why the default implementation " +"doesn't include any." +msgstr "" +"Однак зауважте, що з точки зору безпеки не рекомендується передавати " +"діагностику старим користувачам; в ідеалі, ви повинні зробити щось особливе, " +"щоб увімкнути діагностичний вихід, тому реалізація за замовчуванням не " +"включає жодного." + +msgid "" +"The HTTP status used for error responses. This should be a status string as " +"defined in :pep:`3333`; it defaults to a 500 code and message." +msgstr "" +"Статус HTTP, який використовується для відповідей на помилки. Це має бути " +"рядок стану, як визначено в :pep:`3333`; за замовчуванням це код і " +"повідомлення 500." + +msgid "" +"The HTTP headers used for error responses. This should be a list of WSGI " +"response headers (``(name, value)`` tuples), as described in :pep:`3333`. " +"The default list just sets the content type to ``text/plain``." +msgstr "" +"Заголовки HTTP, які використовуються для відповідей на помилки. Це має бути " +"список заголовків відповіді WSGI (кортежі ``(ім’я, значення)``), як описано " +"в :pep:`3333`. Список за замовчуванням лише встановлює тип вмісту ``text/" +"plain``." + +msgid "" +"The error response body. This should be an HTTP response body bytestring. " +"It defaults to the plain text, \"A server error occurred. Please contact " +"the administrator.\"" +msgstr "" +"Тіло відповіді на помилку. Це має бути байтовий рядок тіла відповіді HTTP. " +"За замовчуванням це простий текст: \"Сталася помилка сервера. Зверніться до " +"адміністратора\"." + +msgid "" +"Methods and attributes for :pep:`3333`'s \"Optional Platform-Specific File " +"Handling\" feature:" +msgstr "" +"Методи та атрибути для функції :pep:`3333` \"Додаткова обробка файлів на " +"певній платформі\":" + +msgid "" +"A ``wsgi.file_wrapper`` factory, compatible with :class:`wsgiref.types." +"FileWrapper`, or ``None``. The default value of this attribute is the :" +"class:`wsgiref.util.FileWrapper` class." +msgstr "" + +msgid "" +"Override to implement platform-specific file transmission. This method is " +"called only if the application's return value is an instance of the class " +"specified by the :attr:`wsgi_file_wrapper` attribute. It should return a " +"true value if it was able to successfully transmit the file, so that the " +"default transmission code will not be executed. The default implementation " +"of this method just returns a false value." +msgstr "" +"Перевизначення для реалізації передачі файлів на платформі. Цей метод " +"викликається, лише якщо значення, яке повертає програма, є екземпляром " +"класу, указаного атрибутом :attr:`wsgi_file_wrapper`. Він має повернути " +"справжнє значення, якщо вдалося успішно передати файл, щоб код передачі за " +"замовчуванням не виконувався. Стандартна реалізація цього методу просто " +"повертає хибне значення." + +msgid "Miscellaneous methods and attributes:" +msgstr "Різні методи та атрибути:" + +msgid "" +"This attribute should be set to a true value if the handler's :meth:`_write` " +"and :meth:`_flush` are being used to communicate directly to the client, " +"rather than via a CGI-like gateway protocol that wants the HTTP status in a " +"special ``Status:`` header." +msgstr "" +"Для цього атрибута слід встановити справжнє значення, якщо :meth:`_write` і :" +"meth:`_flush` обробника використовуються для безпосереднього зв’язку з " +"клієнтом, а не через CGI-подібний протокол шлюзу, якому потрібен статус HTTP " +"у спеціальний заголовок ``Status:``." + +msgid "" +"This attribute's default value is true in :class:`BaseHandler`, but false " +"in :class:`BaseCGIHandler` and :class:`CGIHandler`." +msgstr "" +"Значення цього атрибута за замовчуванням є true у :class:`BaseHandler`, але " +"false у :class:`BaseCGIHandler` і :class:`CGIHandler`." + +msgid "" +"If :attr:`origin_server` is true, this string attribute is used to set the " +"HTTP version of the response set to the client. It defaults to ``\"1.0\"``." +msgstr "" +"Якщо :attr:`origin_server` має значення true, цей рядковий атрибут " +"використовується для встановлення HTTP-версії набору відповідей для клієнта. " +"За замовчуванням ``\"1.0\"``." + +msgid "" +"Transcode CGI variables from ``os.environ`` to :pep:`3333` \"bytes in unicode" +"\" strings, returning a new dictionary. This function is used by :class:" +"`CGIHandler` and :class:`IISCGIHandler` in place of directly using ``os." +"environ``, which is not necessarily WSGI-compliant on all platforms and web " +"servers using Python 3 -- specifically, ones where the OS's actual " +"environment is Unicode (i.e. Windows), or ones where the environment is " +"bytes, but the system encoding used by Python to decode it is anything other " +"than ISO-8859-1 (e.g. Unix systems using UTF-8)." +msgstr "" +"Транскодує змінні CGI з ``os.environ`` в :pep:`3333` рядки \"байтів у юнікоді" +"\", повертаючи новий словник. Ця функція використовується :class:" +"`CGIHandler` і :class:`IISCGIHandler` замість безпосереднього використання " +"``os.environ``, який не обов’язково є сумісним з WSGI на всіх платформах і " +"веб-серверах, які використовують Python 3, зокрема , де фактичне середовище " +"ОС є Unicode (тобто Windows), або ті, де середовищем є байти, але системне " +"кодування, яке використовує Python для його декодування, є будь-яким іншим, " +"ніж ISO-8859-1 (наприклад, системи Unix використовують UTF-8) ." + +msgid "" +"If you are implementing a CGI-based handler of your own, you probably want " +"to use this routine instead of just copying values out of ``os.environ`` " +"directly." +msgstr "" +"Якщо ви впроваджуєте власний обробник на основі CGI, ви, ймовірно, захочете " +"використовувати цю процедуру замість того, щоб просто копіювати значення " +"безпосередньо з ``os.environ``." + +msgid ":mod:`wsgiref.types` -- WSGI types for static type checking" +msgstr "" + +msgid "" +"This module provides various types for static type checking as described in :" +"pep:`3333`." +msgstr "" + +msgid "" +"A :class:`typing.Protocol` describing `start_response() `_ callables (:pep:`3333`)." +msgstr "" + +msgid "A type alias describing a WSGI environment dictionary." +msgstr "" + +msgid "A type alias describing a WSGI application callable." +msgstr "" + +msgid "" +"A :class:`typing.Protocol` describing a `WSGI Input Stream `_." +msgstr "" + +msgid "" +"A :class:`typing.Protocol` describing a `WSGI Error Stream `_." +msgstr "" + +msgid "" +"A :class:`typing.Protocol` describing a `file wrapper `_. See :class:" +"`wsgiref.util.FileWrapper` for a concrete implementation of this protocol." +msgstr "" + +msgid "Examples" +msgstr "Приклади" + +msgid "This is a working \"Hello World\" WSGI application::" +msgstr "Це робоча програма \"Hello World\" WSGI::" + +msgid "" +"Example of a WSGI application serving the current directory, accept optional " +"directory and port number (default: 8000) on the command line::" +msgstr "" diff --git a/library/xdrlib.po b/library/xdrlib.po new file mode 100644 index 000000000..0ced9aba2 --- /dev/null +++ b/library/xdrlib.po @@ -0,0 +1,344 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:17+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xdrlib` --- Encode and decode XDR data" +msgstr ":mod:`xdrlib` --- Кодування та декодування даних XDR" + +msgid "**Source code:** :source:`Lib/xdrlib.py`" +msgstr "**Вихідний код:** :source:`Lib/xdrlib.py`" + +msgid "" +"The :mod:`xdrlib` module is deprecated (see :pep:`PEP 594 <594#xdrlib>` for " +"details)." +msgstr "" +"Модуль :mod:`xdrlib` є застарілим (докладніше див. :pep:`PEP 594 " +"<594#xdrlib>`)." + +msgid "" +"The :mod:`xdrlib` module supports the External Data Representation Standard " +"as described in :rfc:`1014`, written by Sun Microsystems, Inc. June 1987. " +"It supports most of the data types described in the RFC." +msgstr "" +"Модуль :mod:`xdrlib` підтримує стандарт представлення зовнішніх даних, як " +"описано в :rfc:`1014`, написаному Sun Microsystems, Inc. червень 1987 року. " +"Він підтримує більшість типів даних, описаних у RFC." + +msgid "" +"The :mod:`xdrlib` module defines two classes, one for packing variables into " +"XDR representation, and another for unpacking from XDR representation. " +"There are also two exception classes." +msgstr "" +"Модуль :mod:`xdrlib` визначає два класи: один для пакування змінних у " +"представлення XDR, а інший для розпакування з представлення XDR. Є також два " +"класи винятків." + +msgid "" +":class:`Packer` is the class for packing data into XDR representation. The :" +"class:`Packer` class is instantiated with no arguments." +msgstr "" +":class:`Packer` — це клас для упаковки даних у представлення XDR. Клас :" +"class:`Packer` створюється без аргументів." + +msgid "" +"``Unpacker`` is the complementary class which unpacks XDR data values from a " +"string buffer. The input buffer is given as *data*." +msgstr "" +"``Unpacker`` — це додатковий клас, який розпаковує значення даних XDR із " +"рядкового буфера. Вхідний буфер надається як *дані*." + +msgid ":rfc:`1014` - XDR: External Data Representation Standard" +msgstr ":rfc:`1014` - XDR: стандарт подання зовнішніх даних" + +msgid "" +"This RFC defined the encoding of data which was XDR at the time this module " +"was originally written. It has apparently been obsoleted by :rfc:`1832`." +msgstr "" +"Цей RFC визначив кодування даних, яке було XDR на момент початкового " +"написання цього модуля. Очевидно, він був застарілий :rfc:`1832`." + +msgid ":rfc:`1832` - XDR: External Data Representation Standard" +msgstr ":rfc:`1832` - XDR: стандарт подання зовнішніх даних" + +msgid "Newer RFC that provides a revised definition of XDR." +msgstr "Новіший RFC, який містить переглянуте визначення XDR." + +msgid "Packer Objects" +msgstr "Пакувальник об'єктів" + +msgid ":class:`Packer` instances have the following methods:" +msgstr "Екземпляри :class:`Packer` мають такі методи:" + +msgid "Returns the current pack buffer as a string." +msgstr "Повертає поточний буфер пакета як рядок." + +msgid "Resets the pack buffer to the empty string." +msgstr "Скидає буфер пакета до порожнього рядка." + +msgid "" +"In general, you can pack any of the most common XDR data types by calling " +"the appropriate ``pack_type()`` method. Each method takes a single " +"argument, the value to pack. The following simple data type packing methods " +"are supported: :meth:`pack_uint`, :meth:`pack_int`, :meth:`pack_enum`, :meth:" +"`pack_bool`, :meth:`pack_uhyper`, and :meth:`pack_hyper`." +msgstr "" +"Загалом, ви можете запакувати будь-який із найпоширеніших типів даних XDR, " +"викликавши відповідний метод ``pack_type()``. Кожен метод приймає один " +"аргумент, значення для упаковки. Підтримуються такі прості методи пакування " +"типів даних: :meth:`pack_uint`, :meth:`pack_int`, :meth:`pack_enum`, :meth:" +"`pack_bool`, :meth:`pack_uhyper` і :meth:`pack_hyper`." + +msgid "Packs the single-precision floating point number *value*." +msgstr "Пакує *значення* числа з плаваючою комою одинарної точності." + +msgid "Packs the double-precision floating point number *value*." +msgstr "Пакує *значення* числа з плаваючою комою подвійної точності." + +msgid "The following methods support packing strings, bytes, and opaque data:" +msgstr "" +"Наступні методи підтримують упаковку рядків, байтів і непрозорих даних:" + +msgid "" +"Packs a fixed length string, *s*. *n* is the length of the string but it is " +"*not* packed into the data buffer. The string is padded with null bytes if " +"necessary to guaranteed 4 byte alignment." +msgstr "" +"Пакує рядок фіксованої довжини, *s*. *n* — це довжина рядка, але він *не* " +"упаковується в буфер даних. Рядок доповнюється нульовими байтами, якщо це " +"необхідно для гарантованого вирівнювання 4 байтів." + +msgid "" +"Packs a fixed length opaque data stream, similarly to :meth:`pack_fstring`." +msgstr "" +"Пакує непрозорий потік даних фіксованої довжини, подібно до :meth:" +"`pack_fstring`." + +msgid "" +"Packs a variable length string, *s*. The length of the string is first " +"packed as an unsigned integer, then the string data is packed with :meth:" +"`pack_fstring`." +msgstr "" +"Пакує рядок змінної довжини, *s*. Довжина рядка спочатку упаковується як " +"ціле число без знаку, потім дані рядка упаковуються за допомогою :meth:" +"`pack_fstring`." + +msgid "" +"Packs a variable length opaque data string, similarly to :meth:`pack_string`." +msgstr "" +"Пакує непрозорий рядок даних змінної довжини, подібно до :meth:`pack_string`." + +msgid "Packs a variable length byte stream, similarly to :meth:`pack_string`." +msgstr "Пакує потік байтів змінної довжини, подібно до :meth:`pack_string`." + +msgid "The following methods support packing arrays and lists:" +msgstr "Наступні методи підтримують пакування масивів і списків:" + +msgid "" +"Packs a *list* of homogeneous items. This method is useful for lists with " +"an indeterminate size; i.e. the size is not available until the entire list " +"has been walked. For each item in the list, an unsigned integer ``1`` is " +"packed first, followed by the data value from the list. *pack_item* is the " +"function that is called to pack the individual item. At the end of the " +"list, an unsigned integer ``0`` is packed." +msgstr "" +"Пакує *список* однорідних предметів. Цей метод корисний для списків із " +"невизначеним розміром; тобто розмір недоступний, доки не буде пройдено весь " +"список. Для кожного елемента списку першим упаковується ціле число без знаку " +"``1``, а потім значення даних зі списку. *pack_item* — це функція, яка " +"викликається для упаковки окремого елемента. У кінці списку упаковується " +"ціле число без знаку ``0``." + +msgid "" +"For example, to pack a list of integers, the code might appear like this::" +msgstr "Наприклад, щоб упакувати список цілих чисел, код може виглядати так:" + +msgid "" +"Packs a fixed length list (*array*) of homogeneous items. *n* is the length " +"of the list; it is *not* packed into the buffer, but a :exc:`ValueError` " +"exception is raised if ``len(array)`` is not equal to *n*. As above, " +"*pack_item* is the function used to pack each element." +msgstr "" +"Пакує список фіксованої довжини (*масив*) однорідних елементів. *n* — " +"довжина списку; він *не* упаковується в буфер, але виникає виняток :exc:" +"`ValueError`, якщо ``len(array)`` не дорівнює *n*. Як і вище, *pack_item* — " +"це функція, яка використовується для упаковки кожного елемента." + +msgid "" +"Packs a variable length *list* of homogeneous items. First, the length of " +"the list is packed as an unsigned integer, then each element is packed as " +"in :meth:`pack_farray` above." +msgstr "" +"Пакує *список* різної довжини однорідних елементів. Спочатку довжина списку " +"упаковується як ціле число без знаку, потім кожен елемент упаковується, як " +"у :meth:`pack_farray` вище." + +msgid "Unpacker Objects" +msgstr "Розпаковувач об'єктів" + +msgid "The :class:`Unpacker` class offers the following methods:" +msgstr "Клас :class:`Unpacker` пропонує такі методи:" + +msgid "Resets the string buffer with the given *data*." +msgstr "Скидає рядковий буфер із заданими *даними*." + +msgid "Returns the current unpack position in the data buffer." +msgstr "Повертає поточну позицію розпакування в буфері даних." + +msgid "" +"Sets the data buffer unpack position to *position*. You should be careful " +"about using :meth:`get_position` and :meth:`set_position`." +msgstr "" +"Встановлює для позиції розпакування буфера даних значення *position*. Ви " +"повинні бути обережними з використанням :meth:`get_position` і :meth:" +"`set_position`." + +msgid "Returns the current unpack data buffer as a string." +msgstr "Повертає поточний буфер розпакування даних у вигляді рядка." + +msgid "" +"Indicates unpack completion. Raises an :exc:`Error` exception if all of the " +"data has not been unpacked." +msgstr "" +"Вказує на завершення розпакування. Викликає виняток :exc:`Error`, якщо всі " +"дані не було розпаковано." + +msgid "" +"In addition, every data type that can be packed with a :class:`Packer`, can " +"be unpacked with an :class:`Unpacker`. Unpacking methods are of the form " +"``unpack_type()``, and take no arguments. They return the unpacked object." +msgstr "" +"Крім того, кожен тип даних, який можна запакувати за допомогою :class:" +"`Packer`, можна розпакувати за допомогою :class:`Unpacker`. Методи " +"розпакування мають форму ``unpack_type()`` і не приймають аргументів. " +"Повертають нерозпакований предмет." + +msgid "Unpacks a single-precision floating point number." +msgstr "Розпаковує число з плаваючою комою одинарної точності." + +msgid "" +"Unpacks a double-precision floating point number, similarly to :meth:" +"`unpack_float`." +msgstr "" +"Розпаковує число з плаваючою комою подвійної точності, подібно до :meth:" +"`unpack_float`." + +msgid "" +"In addition, the following methods unpack strings, bytes, and opaque data:" +msgstr "Крім того, такі методи розпаковують рядки, байти та непрозорі дані:" + +msgid "" +"Unpacks and returns a fixed length string. *n* is the number of characters " +"expected. Padding with null bytes to guaranteed 4 byte alignment is assumed." +msgstr "" +"Розпаковує та повертає рядок фіксованої довжини. *n* — очікувана кількість " +"символів. Передбачається доповнення нульовими байтами до гарантованого 4-" +"байтового вирівнювання." + +msgid "" +"Unpacks and returns a fixed length opaque data stream, similarly to :meth:" +"`unpack_fstring`." +msgstr "" +"Розпаковує та повертає непрозорий потік даних фіксованої довжини, подібно " +"до :meth:`unpack_fstring`." + +msgid "" +"Unpacks and returns a variable length string. The length of the string is " +"first unpacked as an unsigned integer, then the string data is unpacked " +"with :meth:`unpack_fstring`." +msgstr "" +"Розпаковує та повертає рядок змінної довжини. Довжина рядка спочатку " +"розпаковується як ціле число без знаку, а потім дані рядка розпаковуються за " +"допомогою :meth:`unpack_fstring`." + +msgid "" +"Unpacks and returns a variable length opaque data string, similarly to :meth:" +"`unpack_string`." +msgstr "" +"Розпаковує та повертає непрозорий рядок даних змінної довжини, подібно до :" +"meth:`unpack_string`." + +msgid "" +"Unpacks and returns a variable length byte stream, similarly to :meth:" +"`unpack_string`." +msgstr "" +"Розпаковує та повертає потік байтів змінної довжини, подібно до :meth:" +"`unpack_string`." + +msgid "The following methods support unpacking arrays and lists:" +msgstr "Наступні методи підтримують розпакування масивів і списків:" + +msgid "" +"Unpacks and returns a list of homogeneous items. The list is unpacked one " +"element at a time by first unpacking an unsigned integer flag. If the flag " +"is ``1``, then the item is unpacked and appended to the list. A flag of " +"``0`` indicates the end of the list. *unpack_item* is the function that is " +"called to unpack the items." +msgstr "" +"Розпаковує та повертає список однорідних предметів. Список розпаковується по " +"одному елементу за раз, спочатку розпаковуючи прапор цілого числа без знаку. " +"Якщо прапорець ``1``, тоді елемент розпаковується та додається до списку. " +"Прапорець ``0`` вказує на кінець списку. *unpack_item* — це функція, яка " +"викликається для розпакування елементів." + +msgid "" +"Unpacks and returns (as a list) a fixed length array of homogeneous items. " +"*n* is number of list elements to expect in the buffer. As above, " +"*unpack_item* is the function used to unpack each element." +msgstr "" +"Розпаковує та повертає (у вигляді списку) масив однорідних елементів " +"фіксованої довжини. *n* — кількість елементів списку, які очікуються в " +"буфері. Як і вище, *unpack_item* — це функція, яка використовується для " +"розпакування кожного елемента." + +msgid "" +"Unpacks and returns a variable length *list* of homogeneous items. First, " +"the length of the list is unpacked as an unsigned integer, then each element " +"is unpacked as in :meth:`unpack_farray` above." +msgstr "" +"Розпаковує та повертає *список* різної довжини однорідних елементів. " +"Спочатку довжина списку розпаковується як ціле число без знаку, потім " +"розпаковується кожен елемент, як у :meth:`unpack_farray` вище." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "Exceptions in this module are coded as class instances:" +msgstr "Винятки в цьому модулі кодуються як екземпляри класу:" + +msgid "" +"The base exception class. :exc:`Error` has a single public attribute :attr:" +"`msg` containing the description of the error." +msgstr "" +"Базовий клас винятків. :exc:`Error` має єдиний публічний атрибут :attr:" +"`msg`, який містить опис помилки." + +msgid "" +"Class derived from :exc:`Error`. Contains no additional instance variables." +msgstr "" +"Клас, похідний від :exc:`Error`. Не містить додаткових змінних екземпляра." + +msgid "Here is an example of how you would catch one of these exceptions::" +msgstr "Ось приклад того, як ви можете зловити один із цих винятків:" diff --git a/library/xml.po b/library/xml.po new file mode 100644 index 000000000..b015732d8 --- /dev/null +++ b/library/xml.po @@ -0,0 +1,278 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "XML Processing Modules" +msgstr "Модулі обробки XML" + +msgid "**Source code:** :source:`Lib/xml/`" +msgstr "**Вихідний код:** :source:`Lib/xml/`" + +msgid "" +"Python's interfaces for processing XML are grouped in the ``xml`` package." +msgstr "Інтерфейси Python для обробки XML згруповані в пакеті ``xml``." + +msgid "" +"The XML modules are not secure against erroneous or maliciously constructed " +"data. If you need to parse untrusted or unauthenticated data see the :ref:" +"`xml-vulnerabilities` and :ref:`defusedxml-package` sections." +msgstr "" +"Модулі XML не захищені від помилкових або зловмисно створених даних. Якщо " +"вам потрібно проаналізувати ненадійні або неавтентифіковані дані, " +"перегляньте розділи :ref:`xml-vulnerabilities` і :ref:`defusedxml-package`." + +msgid "" +"It is important to note that modules in the :mod:`xml` package require that " +"there be at least one SAX-compliant XML parser available. The Expat parser " +"is included with Python, so the :mod:`xml.parsers.expat` module will always " +"be available." +msgstr "" +"Важливо зазначити, що модулі в пакеті :mod:`xml` вимагають наявності " +"принаймні одного XML-аналізатора, сумісного з SAX. Синтаксичний аналізатор " +"Expat включено в Python, тому модуль :mod:`xml.parsers.expat` буде завжди " +"доступним." + +msgid "" +"The documentation for the :mod:`xml.dom` and :mod:`xml.sax` packages are the " +"definition of the Python bindings for the DOM and SAX interfaces." +msgstr "" +"Документація для пакетів :mod:`xml.dom` і :mod:`xml.sax` містить визначення " +"прив’язок Python для інтерфейсів DOM і SAX." + +msgid "The XML handling submodules are:" +msgstr "Субмодулі обробки XML:" + +msgid "" +":mod:`xml.etree.ElementTree`: the ElementTree API, a simple and lightweight " +"XML processor" +msgstr "" +":mod:`xml.etree.ElementTree`: API ElementTree, простий і легкий процесор XML" + +msgid ":mod:`xml.dom`: the DOM API definition" +msgstr ":mod:`xml.dom`: визначення DOM API" + +msgid ":mod:`xml.dom.minidom`: a minimal DOM implementation" +msgstr ":mod:`xml.dom.minidom`: мінімальна реалізація DOM" + +msgid ":mod:`xml.dom.pulldom`: support for building partial DOM trees" +msgstr ":mod:`xml.dom.pulldom`: підтримка створення часткових дерев DOM" + +msgid ":mod:`xml.sax`: SAX2 base classes and convenience functions" +msgstr ":mod:`xml.sax`: Базові класи SAX2 і зручні функції" + +msgid ":mod:`xml.parsers.expat`: the Expat parser binding" +msgstr ":mod:`xml.parsers.expat`: прив’язка аналізатора Expat" + +msgid "XML vulnerabilities" +msgstr "Уразливості XML" + +msgid "" +"The XML processing modules are not secure against maliciously constructed " +"data. An attacker can abuse XML features to carry out denial of service " +"attacks, access local files, generate network connections to other machines, " +"or circumvent firewalls." +msgstr "" +"Модулі обробки XML не захищені від зловмисно створених даних. Зловмисник " +"може зловживати функціями XML для здійснення атак на відмову в " +"обслуговуванні, доступу до локальних файлів, створення мережевих підключень " +"до інших машин або обходу брандмауерів." + +msgid "" +"The following table gives an overview of the known attacks and whether the " +"various modules are vulnerable to them." +msgstr "" +"У наведеній нижче таблиці наведено огляд відомих атак і вразливість різних " +"модулів до них." + +msgid "kind" +msgstr "вид" + +msgid "sax" +msgstr "саксофон" + +msgid "etree" +msgstr "etree" + +msgid "minidom" +msgstr "мінідом" + +msgid "pulldom" +msgstr "тяга" + +msgid "xmlrpc" +msgstr "xmlrpc" + +msgid "billion laughs" +msgstr "мільярд сміху" + +msgid "**Vulnerable** (1)" +msgstr "**Вразливий** (1)" + +msgid "quadratic blowup" +msgstr "квадратичне роздуття" + +msgid "external entity expansion" +msgstr "розширення зовнішньої сутності" + +msgid "Safe (5)" +msgstr "Безпечний (5)" + +msgid "Safe (2)" +msgstr "Безпечний (2)" + +msgid "Safe (3)" +msgstr "Безпечний (3)" + +msgid "Safe (4)" +msgstr "Безпечний (4)" + +msgid "`DTD`_ retrieval" +msgstr "`DTD`_ пошук" + +msgid "Safe" +msgstr "Сейф" + +msgid "decompression bomb" +msgstr "декомпресійна бомба" + +msgid "**Vulnerable**" +msgstr "**Вразливий**" + +msgid "" +"Expat 2.4.1 and newer is not vulnerable to the \"billion laughs\" and " +"\"quadratic blowup\" vulnerabilities. Items still listed as vulnerable due " +"to potential reliance on system-provided libraries. Check :data:`pyexpat." +"EXPAT_VERSION`." +msgstr "" +"Expat 2.4.1 і новіші версії не вразливі до вразливостей \"billion laughs\" і " +"\"quadratic blowup\". Елементи все ще перебувають у списку вразливих через " +"потенційну залежність від наданих системою бібліотек. Перевірте :data:" +"`pyexpat.EXPAT_VERSION`." + +msgid "" +":mod:`xml.etree.ElementTree` doesn't expand external entities and raises a :" +"exc:`ParserError` when an entity occurs." +msgstr "" +":mod:`xml.etree.ElementTree` не розгортає зовнішні сутності та викликає :exc:" +"`ParserError`, коли виникає сутність." + +msgid "" +":mod:`xml.dom.minidom` doesn't expand external entities and simply returns " +"the unexpanded entity verbatim." +msgstr "" +":mod:`xml.dom.minidom` не розгортає зовнішні сутності, а просто повертає " +"нерозгорнуту сутність дослівно." + +msgid ":mod:`xmlrpclib` doesn't expand external entities and omits them." +msgstr ":mod:`xmlrpclib` не розгортає зовнішні сутності та пропускає їх." + +msgid "" +"Since Python 3.7.1, external general entities are no longer processed by " +"default." +msgstr "" +"Починаючи з Python 3.7.1, зовнішні загальні сутності більше не обробляються " +"за замовчуванням." + +msgid "billion laughs / exponential entity expansion" +msgstr "мільярд сміхів / експоненціальне розширення сутності" + +msgid "" +"The `Billion Laughs`_ attack -- also known as exponential entity expansion " +"-- uses multiple levels of nested entities. Each entity refers to another " +"entity several times, and the final entity definition contains a small " +"string. The exponential expansion results in several gigabytes of text and " +"consumes lots of memory and CPU time." +msgstr "" +"Атака `Billion Laughs`_ — також відома як експоненціальне розширення " +"об’єктів — використовує кілька рівнів вкладених об’єктів. Кожна сутність " +"посилається на іншу сутність кілька разів, і остаточне визначення сутності " +"містить невеликий рядок. Експоненціальне розширення призводить до кількох " +"гігабайт тексту та споживає багато пам’яті та часу ЦП." + +msgid "quadratic blowup entity expansion" +msgstr "квадратичне розширення сутності" + +msgid "" +"A quadratic blowup attack is similar to a `Billion Laughs`_ attack; it " +"abuses entity expansion, too. Instead of nested entities it repeats one " +"large entity with a couple of thousand chars over and over again. The attack " +"isn't as efficient as the exponential case but it avoids triggering parser " +"countermeasures that forbid deeply nested entities." +msgstr "" + +msgid "" +"Entity declarations can contain more than just text for replacement. They " +"can also point to external resources or local files. The XML parser accesses " +"the resource and embeds the content into the XML document." +msgstr "" +"Оголошення сутностей можуть містити більше, ніж просто текст для заміни. " +"Вони також можуть вказувати на зовнішні ресурси або локальні файли. " +"Синтаксичний аналізатор XML отримує доступ до ресурсу та вбудовує вміст у " +"документ XML." + +msgid "" +"Some XML libraries like Python's :mod:`xml.dom.pulldom` retrieve document " +"type definitions from remote or local locations. The feature has similar " +"implications as the external entity expansion issue." +msgstr "" +"Деякі бібліотеки XML, такі як :mod:`xml.dom.pulldom` Python, отримують " +"визначення типів документів із віддалених або локальних місць. Ця функція " +"має такі ж наслідки, як і проблема розширення зовнішнього об’єкта." + +msgid "" +"Decompression bombs (aka `ZIP bomb`_) apply to all XML libraries that can " +"parse compressed XML streams such as gzipped HTTP streams or LZMA-compressed " +"files. For an attacker it can reduce the amount of transmitted data by three " +"magnitudes or more." +msgstr "" +"Бомби декомпресії (також відомі як `ZIP-бомба`_) застосовуються до всіх " +"бібліотек XML, які можуть аналізувати стислі потоки XML, такі як потоки " +"HTTP, стиснуті gzip, або файли, стиснуті за допомогою LZMA. Для зловмисника " +"це може зменшити обсяг переданих даних на три або більше величин." + +msgid "" +"The documentation for `defusedxml`_ on PyPI has further information about " +"all known attack vectors with examples and references." +msgstr "" +"Документація для `defusedxml`_ на PyPI містить додаткову інформацію про всі " +"відомі вектори атак із прикладами та посиланнями." + +msgid "The :mod:`defusedxml` Package" +msgstr "Пакет :mod:`defusedxml`" + +msgid "" +"`defusedxml`_ is a pure Python package with modified subclasses of all " +"stdlib XML parsers that prevent any potentially malicious operation. Use of " +"this package is recommended for any server code that parses untrusted XML " +"data. The package also ships with example exploits and extended " +"documentation on more XML exploits such as XPath injection." +msgstr "" +"`defusedxml`_ — це чистий пакет Python зі зміненими підкласами всіх парсерів " +"XML stdlib, які запобігають будь-яким потенційно зловмисним операціям. " +"Використання цього пакета рекомендовано для будь-якого коду сервера, який " +"аналізує ненадійні дані XML. Пакет також постачається з прикладами " +"експлойтів і розширеною документацією щодо інших експлойтів XML, таких як " +"впровадження XPath." diff --git a/library/xml_dom.po b/library/xml_dom.po new file mode 100644 index 000000000..538e07e84 --- /dev/null +++ b/library/xml_dom.po @@ -0,0 +1,1487 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.dom` --- The Document Object Model API" +msgstr ":mod:`xml.dom` --- API об’єктної моделі документа" + +msgid "**Source code:** :source:`Lib/xml/dom/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/dom/__init__.py`" + +msgid "" +"The Document Object Model, or \"DOM,\" is a cross-language API from the " +"World Wide Web Consortium (W3C) for accessing and modifying XML documents. " +"A DOM implementation presents an XML document as a tree structure, or allows " +"client code to build such a structure from scratch. It then gives access to " +"the structure through a set of objects which provided well-known interfaces." +msgstr "" +"Об’єктна модель документа, або \"DOM\", — це міжмовний API Консорціуму " +"Всесвітньої павутини (W3C) для доступу та зміни документів XML. Реалізація " +"DOM представляє XML-документ як структуру дерева або дозволяє коду клієнта " +"створювати таку структуру з нуля. Потім він надає доступ до структури через " +"набір об’єктів, які надають добре відомі інтерфейси." + +msgid "" +"The DOM is extremely useful for random-access applications. SAX only allows " +"you a view of one bit of the document at a time. If you are looking at one " +"SAX element, you have no access to another. If you are looking at a text " +"node, you have no access to a containing element. When you write a SAX " +"application, you need to keep track of your program's position in the " +"document somewhere in your own code. SAX does not do it for you. Also, if " +"you need to look ahead in the XML document, you are just out of luck." +msgstr "" +"DOM надзвичайно корисний для додатків із довільним доступом. SAX дозволяє " +"переглядати лише один біт документа за раз. Якщо ви дивитеся на один елемент " +"SAX, у вас немає доступу до іншого. Якщо ви дивитесь на текстовий вузол, ви " +"не маєте доступу до вмісту елемента. Коли ви пишете програму SAX, вам " +"потрібно відстежувати позицію вашої програми в документі десь у вашому " +"власному коді. SAX не робить це за вас. Крім того, якщо вам потрібно " +"дивитися вперед у документі XML, вам просто не пощастило." + +msgid "" +"Some applications are simply impossible in an event driven model with no " +"access to a tree. Of course you could build some sort of tree yourself in " +"SAX events, but the DOM allows you to avoid writing that code. The DOM is a " +"standard tree representation for XML data." +msgstr "" +"Деякі програми просто неможливі в керованій подіями моделі без доступу до " +"дерева. Звичайно, ви можете самостійно створити якесь дерево в подіях SAX, " +"але DOM дозволяє вам уникнути написання цього коду. DOM — це стандартне " +"представлення дерева для даних XML." + +msgid "" +"The Document Object Model is being defined by the W3C in stages, or \"levels" +"\" in their terminology. The Python mapping of the API is substantially " +"based on the DOM Level 2 recommendation." +msgstr "" +"Об’єктна модель документа визначається W3C поетапно або \"рівнями\" за " +"їхньою термінологією. Відображення Python API в основному базується на " +"рекомендації DOM рівня 2." + +msgid "" +"DOM applications typically start by parsing some XML into a DOM. How this " +"is accomplished is not covered at all by DOM Level 1, and Level 2 provides " +"only limited improvements: There is a :class:`DOMImplementation` object " +"class which provides access to :class:`Document` creation methods, but no " +"way to access an XML reader/parser/Document builder in an implementation-" +"independent way. There is also no well-defined way to access these methods " +"without an existing :class:`Document` object. In Python, each DOM " +"implementation will provide a function :func:`getDOMImplementation`. DOM " +"Level 3 adds a Load/Store specification, which defines an interface to the " +"reader, but this is not yet available in the Python standard library." +msgstr "" +"Програми DOM зазвичай починаються з аналізу деякого XML у DOM. Як це " +"досягається, взагалі не описано в DOM рівня 1, а рівень 2 передбачає лише " +"обмежені покращення: існує клас об’єктів :class:`DOMImplementation`, який " +"надає доступ до методів створення :class:`Document`, але не має можливості " +"отримати доступ до зчитувача/аналізатора XML/конструктора документів у " +"спосіб, незалежний від реалізації. Також немає чітко визначеного способу " +"доступу до цих методів без наявного об’єкта :class:`Document`. У Python " +"кожна реалізація DOM надаватиме функцію :func:`getDOMImplementation`. DOM " +"Level 3 додає специфікацію Load/Store, яка визначає інтерфейс для читача, " +"але це ще не доступно в стандартній бібліотеці Python." + +msgid "" +"Once you have a DOM document object, you can access the parts of your XML " +"document through its properties and methods. These properties are defined " +"in the DOM specification; this portion of the reference manual describes the " +"interpretation of the specification in Python." +msgstr "" +"Якщо у вас є об’єкт документа DOM, ви можете отримати доступ до частин свого " +"документа XML через його властивості та методи. Ці властивості визначені в " +"специфікації DOM; ця частина довідкового посібника описує інтерпретацію " +"специфікації в Python." + +msgid "" +"The specification provided by the W3C defines the DOM API for Java, " +"ECMAScript, and OMG IDL. The Python mapping defined here is based in large " +"part on the IDL version of the specification, but strict compliance is not " +"required (though implementations are free to support the strict mapping from " +"IDL). See section :ref:`dom-conformance` for a detailed discussion of " +"mapping requirements." +msgstr "" +"Специфікація, надана W3C, визначає DOM API для Java, ECMAScript і OMG IDL. " +"Визначене тут відображення Python значною мірою базується на версії " +"специфікації IDL, але сувора відповідність не потрібна (хоча реалізації " +"можуть вільно підтримувати суворе відображення з IDL). Перегляньте розділ :" +"ref:`dom-conformance` для детального обговорення вимог до відображення." + +msgid "" +"`Document Object Model (DOM) Level 2 Specification `_" +msgstr "" +"`Специфікація рівня 2 об’єктної моделі документа (DOM) `_" + +msgid "The W3C recommendation upon which the Python DOM API is based." +msgstr "Рекомендація W3C, на якій базується API Python DOM." + +msgid "" +"`Document Object Model (DOM) Level 1 Specification `_" +msgstr "" +"`Специфікація рівня 1 об’єктної моделі документа (DOM) `_" + +msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`." +msgstr "Рекомендація W3C щодо DOM, що підтримується :mod:`xml.dom.minidom`." + +msgid "" +"`Python Language Mapping Specification `_" +msgstr "" +"`Специфікація відображення мови Python `_" + +msgid "This specifies the mapping from OMG IDL to Python." +msgstr "Це визначає відображення з OMG IDL на Python." + +msgid "Module Contents" +msgstr "Зміст модуля" + +msgid "The :mod:`xml.dom` contains the following functions:" +msgstr ":mod:`xml.dom` містить такі функції:" + +msgid "" +"Register the *factory* function with the name *name*. The factory function " +"should return an object which implements the :class:`DOMImplementation` " +"interface. The factory function can return the same object every time, or a " +"new one for each call, as appropriate for the specific implementation (e.g. " +"if that implementation supports some customization)." +msgstr "" +"Зареєструйте функцію *factory* з іменем *name*. Фабрична функція має " +"повертати об’єкт, який реалізує інтерфейс :class:`DOMImplementation`. " +"Фабрична функція може щоразу повертати той самий об’єкт або новий для " +"кожного виклику, залежно від конкретної реалізації (наприклад, якщо ця " +"реалізація підтримує певні налаштування)." + +msgid "" +"Return a suitable DOM implementation. The *name* is either well-known, the " +"module name of a DOM implementation, or ``None``. If it is not ``None``, " +"imports the corresponding module and returns a :class:`DOMImplementation` " +"object if the import succeeds. If no name is given, and if the environment " +"variable :envvar:`PYTHON_DOM` is set, this variable is used to find the " +"implementation." +msgstr "" +"Поверніть відповідну реалізацію DOM. *Ім’я* є або добре відомим, ім’ям " +"модуля реалізації DOM, або ``None``. Якщо це не ``None``, імпортує " +"відповідний модуль і повертає об’єкт :class:`DOMImplementation`, якщо імпорт " +"вдасться. Якщо ім’я не вказано та встановлено змінну середовища :envvar:" +"`PYTHON_DOM`, ця змінна використовується для пошуку реалізації." + +msgid "" +"If name is not given, this examines the available implementations to find " +"one with the required feature set. If no implementation can be found, raise " +"an :exc:`ImportError`. The features list must be a sequence of ``(feature, " +"version)`` pairs which are passed to the :meth:`hasFeature` method on " +"available :class:`DOMImplementation` objects." +msgstr "" +"Якщо ім’я не вказано, перевіряються доступні реалізації, щоб знайти одну з " +"потрібним набором функцій. Якщо впровадження не знайдено, викликайте :exc:" +"`ImportError`. Список функцій має бути послідовністю пар ``(функція, " +"версія)``, які передаються в метод :meth:`hasFeature` доступних об’єктів :" +"class:`DOMImplementation`." + +msgid "Some convenience constants are also provided:" +msgstr "Також надано деякі зручні константи:" + +msgid "" +"The value used to indicate that no namespace is associated with a node in " +"the DOM. This is typically found as the :attr:`namespaceURI` of a node, or " +"used as the *namespaceURI* parameter to a namespaces-specific method." +msgstr "" +"Значення, яке вказує на те, що простір імен не пов’язано з вузлом у DOM. " +"Зазвичай це можна знайти як :attr:`namespaceURI` вузла або використовувати " +"як параметр *namespaceURI* для методу, специфічного для просторів імен." + +msgid "" +"The namespace URI associated with the reserved prefix ``xml``, as defined by " +"`Namespaces in XML `_ (section 4)." +msgstr "" +"URI простору імен, пов’язаний із зарезервованим префіксом ``xml``, як " +"визначено `Просторами імен у XML `_ " +"(розділ 4)." + +msgid "" +"The namespace URI for namespace declarations, as defined by `Document Object " +"Model (DOM) Level 2 Core Specification `_ (section 1.1.8)." +msgstr "" +"URI простору імен для декларацій простору імен, як визначено `Основною " +"специфікацією рівня 2 об’єктної моделі документа (DOM) `_ (розділ 1.1.8)." + +msgid "" +"The URI of the XHTML namespace as defined by `XHTML 1.0: The Extensible " +"HyperText Markup Language `_ (section 3.1.1)." +msgstr "" +"URI простору імен XHTML, як визначено `XHTML 1.0: розширювана мова розмітки " +"гіпертексту `_ (розділ 3.1.1)." + +msgid "" +"In addition, :mod:`xml.dom` contains a base :class:`Node` class and the DOM " +"exception classes. The :class:`Node` class provided by this module does not " +"implement any of the methods or attributes defined by the DOM specification; " +"concrete DOM implementations must provide those. The :class:`Node` class " +"provided as part of this module does provide the constants used for the :" +"attr:`nodeType` attribute on concrete :class:`Node` objects; they are " +"located within the class rather than at the module level to conform with the " +"DOM specifications." +msgstr "" +"Крім того, :mod:`xml.dom` містить базовий клас :class:`Node` і класи " +"винятків DOM. Клас :class:`Node`, наданий цим модулем, не реалізує жодних " +"методів або атрибутів, визначених специфікацією DOM; конкретні реалізації " +"DOM повинні забезпечувати їх. Клас :class:`Node`, наданий як частина цього " +"модуля, надає константи, які використовуються для атрибута :attr:`nodeType` " +"для конкретних об’єктів :class:`Node`; вони розташовані в межах класу, а не " +"на рівні модуля, щоб відповідати специфікаціям DOM." + +msgid "Objects in the DOM" +msgstr "Об'єкти в DOM" + +msgid "" +"The definitive documentation for the DOM is the DOM specification from the " +"W3C." +msgstr "Основною документацією для DOM є специфікація DOM від W3C." + +msgid "" +"Note that DOM attributes may also be manipulated as nodes instead of as " +"simple strings. It is fairly rare that you must do this, however, so this " +"usage is not yet documented." +msgstr "" +"Зауважте, що атрибути DOM також можна використовувати як вузли, а не як " +"прості рядки. Однак це доводиться робити досить рідко, тому таке " +"використання ще не задокументовано." + +msgid "Interface" +msgstr "Інтерфейс" + +msgid "Section" +msgstr "Розділ" + +msgid "Purpose" +msgstr "призначення" + +msgid ":class:`DOMImplementation`" +msgstr ":class:`DOMIimplementation`" + +msgid ":ref:`dom-implementation-objects`" +msgstr ":ref:`dom-implementation-objects`" + +msgid "Interface to the underlying implementation." +msgstr "Інтерфейс базової реалізації." + +msgid ":class:`Node`" +msgstr ":class:`Node`" + +msgid ":ref:`dom-node-objects`" +msgstr ":ref:`dom-node-objects`" + +msgid "Base interface for most objects in a document." +msgstr "Базовий інтерфейс для більшості об’єктів у документі." + +msgid ":class:`NodeList`" +msgstr ":class:`NodeList`" + +msgid ":ref:`dom-nodelist-objects`" +msgstr ":ref:`dom-nodelist-objects`" + +msgid "Interface for a sequence of nodes." +msgstr "Інтерфейс для послідовності вузлів." + +msgid ":class:`DocumentType`" +msgstr ":class:`DocumentType`" + +msgid ":ref:`dom-documenttype-objects`" +msgstr ":ref:`dom-documenttype-objects`" + +msgid "Information about the declarations needed to process a document." +msgstr "Інформація про декларації, необхідні для оформлення документа." + +msgid ":class:`Document`" +msgstr ":class:`Document`" + +msgid ":ref:`dom-document-objects`" +msgstr ":ref:`dom-document-objects`" + +msgid "Object which represents an entire document." +msgstr "Об'єкт, який представляє весь документ." + +msgid ":class:`Element`" +msgstr ":class:`Element`" + +msgid ":ref:`dom-element-objects`" +msgstr ":ref:`dom-element-objects`" + +msgid "Element nodes in the document hierarchy." +msgstr "Вузли елементів в ієрархії документа." + +msgid ":class:`Attr`" +msgstr ":class:`Attr`" + +msgid ":ref:`dom-attr-objects`" +msgstr ":ref:`dom-attr-objects`" + +msgid "Attribute value nodes on element nodes." +msgstr "Вузли значення атрибута на вузлах елемента." + +msgid ":class:`Comment`" +msgstr ":class:`Comment`" + +msgid ":ref:`dom-comment-objects`" +msgstr ":ref:`dom-comment-objects`" + +msgid "Representation of comments in the source document." +msgstr "Відображення коментарів у вихідному документі." + +msgid ":class:`Text`" +msgstr ":class:`Text`" + +msgid ":ref:`dom-text-objects`" +msgstr ":ref:`dom-text-objects`" + +msgid "Nodes containing textual content from the document." +msgstr "Вузли, що містять текстовий вміст із документа." + +msgid ":class:`ProcessingInstruction`" +msgstr ":class:`ProcessingInstruction`" + +msgid ":ref:`dom-pi-objects`" +msgstr ":ref:`dom-pi-objects`" + +msgid "Processing instruction representation." +msgstr "Представлення інструкцій обробки." + +msgid "" +"An additional section describes the exceptions defined for working with the " +"DOM in Python." +msgstr "Додатковий розділ описує винятки, визначені для роботи з DOM у Python." + +msgid "DOMImplementation Objects" +msgstr "Об’єкти реалізації DOMI" + +msgid "" +"The :class:`DOMImplementation` interface provides a way for applications to " +"determine the availability of particular features in the DOM they are using. " +"DOM Level 2 added the ability to create new :class:`Document` and :class:" +"`DocumentType` objects using the :class:`DOMImplementation` as well." +msgstr "" +"Інтерфейс :class:`DOMImplementation` надає програмам спосіб визначити " +"доступність певних функцій у DOM, який вони використовують. Рівень 2 DOM " +"також додав можливість створювати нові об’єкти :class:`Document` і :class:" +"`DocumentType` за допомогою :class:`DOMImplementation`." + +msgid "" +"Return ``True`` if the feature identified by the pair of strings *feature* " +"and *version* is implemented." +msgstr "" +"Повертає ``True``, якщо функцію, визначену парою рядків *feature* і " +"*version*, реалізовано." + +msgid "" +"Return a new :class:`Document` object (the root of the DOM), with a child :" +"class:`Element` object having the given *namespaceUri* and *qualifiedName*. " +"The *doctype* must be a :class:`DocumentType` object created by :meth:" +"`createDocumentType`, or ``None``. In the Python DOM API, the first two " +"arguments can also be ``None`` in order to indicate that no :class:`Element` " +"child is to be created." +msgstr "" +"Повертає новий об’єкт :class:`Document` (корінь DOM) з дочірнім об’єктом :" +"class:`Element`, який має вказані *namespaceUri* і *qualifiedName*. " +"*doctype* має бути об’єктом :class:`DocumentType`, створеним :meth:" +"`createDocumentType`, або ``None``. В Python DOM API перші два аргументи " +"також можуть бути ``None``, щоб вказати, що дочірній елемент :class:" +"`Element` не створюватиметься." + +msgid "" +"Return a new :class:`DocumentType` object that encapsulates the given " +"*qualifiedName*, *publicId*, and *systemId* strings, representing the " +"information contained in an XML document type declaration." +msgstr "" +"Повертає новий об’єкт :class:`DocumentType`, який інкапсулює задані рядки " +"*qualifiedName*, *publicId* і *systemId*, що представляють інформацію, що " +"міститься в декларації типу документа XML." + +msgid "Node Objects" +msgstr "Об’єкти Node" + +msgid "" +"All of the components of an XML document are subclasses of :class:`Node`." +msgstr "Усі компоненти документа XML є підкласами :class:`Node`." + +msgid "" +"An integer representing the node type. Symbolic constants for the types are " +"on the :class:`Node` object: :const:`ELEMENT_NODE`, :const:" +"`ATTRIBUTE_NODE`, :const:`TEXT_NODE`, :const:`CDATA_SECTION_NODE`, :const:" +"`ENTITY_NODE`, :const:`PROCESSING_INSTRUCTION_NODE`, :const:`COMMENT_NODE`, :" +"const:`DOCUMENT_NODE`, :const:`DOCUMENT_TYPE_NODE`, :const:`NOTATION_NODE`. " +"This is a read-only attribute." +msgstr "" +"Ціле число, що представляє тип вузла. Символічні константи для типів " +"знаходяться в об’єкті :class:`Node`: :const:`ELEMENT_NODE`, :const:" +"`ATTRIBUTE_NODE`, :const:`TEXT_NODE`, :const:`CDATA_SECTION_NODE`, :const:" +"`ENTITY_NODE` , :const:`PROCESSING_INSTRUCTION_NODE`, :const:" +"`COMMENT_NODE`, :const:`DOCUMENT_NODE`, :const:`DOCUMENT_TYPE_NODE`, :const:" +"`NOTATION_NODE`. Це атрибут лише для читання." + +msgid "" +"The parent of the current node, or ``None`` for the document node. The value " +"is always a :class:`Node` object or ``None``. For :class:`Element` nodes, " +"this will be the parent element, except for the root element, in which case " +"it will be the :class:`Document` object. For :class:`Attr` nodes, this is " +"always ``None``. This is a read-only attribute." +msgstr "" +"Батьківський елемент поточного вузла або ``None`` для вузла документа. " +"Значенням завжди є об’єкт :class:`Node` або ``None``. Для вузлів :class:" +"`Element` це буде батьківський елемент, за винятком кореневого елемента, у " +"якому випадку це буде об’єкт :class:`Document`. Для вузлів :class:`Attr` це " +"завжди ``None``. Це атрибут лише для читання." + +msgid "" +"A :class:`NamedNodeMap` of attribute objects. Only elements have actual " +"values for this; others provide ``None`` for this attribute. This is a read-" +"only attribute." +msgstr "" +":class:`NamedNodeMap` об’єктів атрибутів. Тільки елементи мають фактичні " +"значення для цього; інші надають ``None`` для цього атрибута. Це атрибут " +"лише для читання." + +msgid "" +"The node that immediately precedes this one with the same parent. For " +"instance the element with an end-tag that comes just before the *self* " +"element's start-tag. Of course, XML documents are made up of more than just " +"elements so the previous sibling could be text, a comment, or something " +"else. If this node is the first child of the parent, this attribute will be " +"``None``. This is a read-only attribute." +msgstr "" +"Вузол, який безпосередньо передує цьому з тим же батьківським вузлом. " +"Наприклад, елемент із кінцевим тегом, який стоїть безпосередньо перед " +"початковим тегом елемента *self*. Звичайно, XML-документи складаються не " +"лише з елементів, тому попередній брат може бути текстом, коментарем або " +"чимось іншим. Якщо цей вузол є першим дочірнім вузлом батьківського, цей " +"атрибут матиме значення ``None``. Це атрибут лише для читання." + +msgid "" +"The node that immediately follows this one with the same parent. See also :" +"attr:`previousSibling`. If this is the last child of the parent, this " +"attribute will be ``None``. This is a read-only attribute." +msgstr "" +"Вузол, який слідує безпосередньо за цим із тим же батьківським вузлом. " +"Дивіться також :attr:`previousSibling`. Якщо це останній дочірній елемент " +"батьківського елемента, цей атрибут матиме значення ``None``. Це атрибут " +"лише для читання." + +msgid "" +"A list of nodes contained within this node. This is a read-only attribute." +msgstr "" +"Список вузлів, які містяться в цьому вузлі. Це атрибут лише для читання." + +msgid "" +"The first child of the node, if there are any, or ``None``. This is a read-" +"only attribute." +msgstr "" +"Перший дочірній елемент вузла, якщо він є, або ``None``. Це атрибут лише для " +"читання." + +msgid "" +"The last child of the node, if there are any, or ``None``. This is a read-" +"only attribute." +msgstr "" +"Останній дочірній елемент вузла, якщо він є, або ``None``. Це атрибут лише " +"для читання." + +msgid "" +"The part of the :attr:`tagName` following the colon if there is one, else " +"the entire :attr:`tagName`. The value is a string." +msgstr "" +"Частина :attr:`tagName` після двокрапки, якщо вона є, інакше весь :attr:" +"`tagName`. Значенням є рядок." + +msgid "" +"The part of the :attr:`tagName` preceding the colon if there is one, else " +"the empty string. The value is a string, or ``None``." +msgstr "" +"Частина :attr:`tagName` перед двокрапкою, якщо вона є, інакше порожній " +"рядок. Значенням є рядок або ``None``." + +msgid "" +"The namespace associated with the element name. This will be a string or " +"``None``. This is a read-only attribute." +msgstr "" +"Простір імен, пов’язаний з іменем елемента. Це буде рядок або ``None``. Це " +"атрибут лише для читання." + +msgid "" +"This has a different meaning for each node type; see the DOM specification " +"for details. You can always get the information you would get here from " +"another property such as the :attr:`tagName` property for elements or the :" +"attr:`name` property for attributes. For all node types, the value of this " +"attribute will be either a string or ``None``. This is a read-only " +"attribute." +msgstr "" +"Це має різне значення для кожного типу вузла; подробиці див. у специфікації " +"DOM. Ви завжди можете отримати інформацію, яку ви отримали б тут, з іншої " +"властивості, такої як властивість :attr:`tagName` для елементів або " +"властивість :attr:`name` для атрибутів. Для всіх типів вузлів значенням " +"цього атрибута буде рядок або ``None``. Це атрибут лише для читання." + +msgid "" +"This has a different meaning for each node type; see the DOM specification " +"for details. The situation is similar to that with :attr:`nodeName`. The " +"value is a string or ``None``." +msgstr "" +"Це має різне значення для кожного типу вузла; подробиці див. у специфікації " +"DOM. Ситуація схожа на :attr:`nodeName`. Значенням є рядок або ``None``." + +msgid "Return ``True`` if the node has any attributes." +msgstr "Повертає ``True``, якщо вузол має будь-які атрибути." + +msgid "Return ``True`` if the node has any child nodes." +msgstr "Повертає ``True``, якщо вузол має дочірні вузли." + +msgid "" +"Return ``True`` if *other* refers to the same node as this node. This is " +"especially useful for DOM implementations which use any sort of proxy " +"architecture (because more than one object can refer to the same node)." +msgstr "" +"Повертає ``True``, якщо *other* посилається на той самий вузол, що й цей " +"вузол. Це особливо корисно для реалізацій DOM, які використовують будь-яку " +"архітектуру проксі (оскільки більше ніж один об’єкт може посилатися на один " +"вузол)." + +msgid "" +"This is based on a proposed DOM Level 3 API which is still in the \"working " +"draft\" stage, but this particular interface appears uncontroversial. " +"Changes from the W3C will not necessarily affect this method in the Python " +"DOM interface (though any new W3C API for this would also be supported)." +msgstr "" +"Це базується на запропонованому API рівня 3 DOM, який все ще перебуває на " +"стадії \"робочої чернетки\", але цей конкретний інтерфейс не викликає " +"суперечок. Зміни від W3C не обов’язково вплинуть на цей метод в інтерфейсі " +"Python DOM (хоча будь-який новий API W3C для цього також підтримуватиметься)." + +msgid "" +"Add a new child node to this node at the end of the list of children, " +"returning *newChild*. If the node was already in the tree, it is removed " +"first." +msgstr "" +"Додайте новий дочірній вузол до цього вузла в кінці списку дочірніх, " +"повертаючи *newChild*. Якщо вузол уже був у дереві, його спочатку видаляють." + +msgid "" +"Insert a new child node before an existing child. It must be the case that " +"*refChild* is a child of this node; if not, :exc:`ValueError` is raised. " +"*newChild* is returned. If *refChild* is ``None``, it inserts *newChild* at " +"the end of the children's list." +msgstr "" +"Вставте новий дочірній вузол перед існуючим дочірнім вузлом. Має бути так, " +"що *refChild* є дочірнім для цього вузла; якщо ні, виникає :exc:" +"`ValueError`. *newChild* повертається. Якщо *refChild* має значення " +"``None``, він вставляє *newChild* у кінець списку дітей." + +msgid "" +"Remove a child node. *oldChild* must be a child of this node; if not, :exc:" +"`ValueError` is raised. *oldChild* is returned on success. If *oldChild* " +"will not be used further, its :meth:`unlink` method should be called." +msgstr "" +"Видаліть дочірній вузол. *oldChild* має бути дочірнім для цього вузла; якщо " +"ні, виникає :exc:`ValueError`. *oldChild* повертається в разі успіху. Якщо " +"*oldChild* більше не використовуватиметься, слід викликати його метод :meth:" +"`unlink`." + +msgid "" +"Replace an existing node with a new node. It must be the case that " +"*oldChild* is a child of this node; if not, :exc:`ValueError` is raised." +msgstr "" +"Замініть існуючий вузол на новий. Має бути так, що *oldChild* є дочірнім для " +"цього вузла; якщо ні, виникає :exc:`ValueError`." + +msgid "" +"Join adjacent text nodes so that all stretches of text are stored as single :" +"class:`Text` instances. This simplifies processing text from a DOM tree for " +"many applications." +msgstr "" +"Об’єднайте сусідні текстові вузли, щоб усі фрагменти тексту зберігалися як " +"окремі екземпляри :class:`Text`. Це спрощує обробку тексту з дерева DOM для " +"багатьох програм." + +msgid "" +"Clone this node. Setting *deep* means to clone all child nodes as well. " +"This returns the clone." +msgstr "" +"Клонуйте цей вузол. Установка *deep* також означає клонування всіх дочірніх " +"вузлів. Це повертає клон." + +msgid "NodeList Objects" +msgstr "Об’єкти NodeList" + +msgid "" +"A :class:`NodeList` represents a sequence of nodes. These objects are used " +"in two ways in the DOM Core recommendation: an :class:`Element` object " +"provides one as its list of child nodes, and the :meth:" +"`getElementsByTagName` and :meth:`getElementsByTagNameNS` methods of :class:" +"`Node` return objects with this interface to represent query results." +msgstr "" +":class:`NodeList` представляє послідовність вузлів. У рекомендації DOM Core " +"ці об’єкти використовуються двома способами: об’єкт :class:`Element` надає " +"один як свій список дочірніх вузлів, а методи :meth:`getElementsByTagName` " +"і :meth:`getElementsByTagNameNS` :class:`Node` повертає об’єкти з цим " +"інтерфейсом для представлення результатів запиту." + +msgid "" +"The DOM Level 2 recommendation defines one method and one attribute for " +"these objects:" +msgstr "" +"Рекомендація DOM рівня 2 визначає один метод і один атрибут для цих об’єктів:" + +msgid "" +"Return the *i*'th item from the sequence, if there is one, or ``None``. The " +"index *i* is not allowed to be less than zero or greater than or equal to " +"the length of the sequence." +msgstr "" +"Повертає *i*-й елемент із послідовності, якщо він є, або ``None``. Індекс " +"*i* не може бути меншим за нуль або більшим або дорівнювати довжині " +"послідовності." + +msgid "The number of nodes in the sequence." +msgstr "Кількість вузлів у послідовності." + +msgid "" +"In addition, the Python DOM interface requires that some additional support " +"is provided to allow :class:`NodeList` objects to be used as Python " +"sequences. All :class:`NodeList` implementations must include support for :" +"meth:`~object.__len__` and :meth:`~object.__getitem__`; this allows " +"iteration over the :class:`NodeList` in :keyword:`for` statements and proper " +"support for the :func:`len` built-in function." +msgstr "" +"Крім того, для інтерфейсу DOM Python потрібна додаткова підтримка, щоб " +"об’єкти :class:`NodeList` могли використовуватися як послідовності Python. " +"Усі реалізації :class:`NodeList` повинні включати підтримку :meth:`~object." +"__len__` і :meth:`~object.__getitem__`; це дозволяє ітерацію по :class:" +"`NodeList` в :keyword:`for` операторах і належну підтримку для :func:`len` " +"вбудованої функції." + +msgid "" +"If a DOM implementation supports modification of the document, the :class:" +"`NodeList` implementation must also support the :meth:`~object.__setitem__` " +"and :meth:`~object.__delitem__` methods." +msgstr "" +"Якщо реалізація DOM підтримує модифікацію документа, реалізація :class:" +"`NodeList` також повинна підтримувати методи :meth:`~object.__setitem__` і :" +"meth:`~object.__delitem__`." + +msgid "DocumentType Objects" +msgstr "Об’єкти DocumentType" + +msgid "" +"Information about the notations and entities declared by a document " +"(including the external subset if the parser uses it and can provide the " +"information) is available from a :class:`DocumentType` object. The :class:" +"`DocumentType` for a document is available from the :class:`Document` " +"object's :attr:`doctype` attribute; if there is no ``DOCTYPE`` declaration " +"for the document, the document's :attr:`doctype` attribute will be set to " +"``None`` instead of an instance of this interface." +msgstr "" +"Інформація про нотації та сутності, оголошені в документі (включаючи " +"зовнішню підмножину, якщо аналізатор використовує її та може надати " +"інформацію), доступна з об’єкта :class:`DocumentType`. :class:`DocumentType` " +"для документа доступний з атрибута :attr:`doctype` об’єкта :class:" +"`Document`; якщо для документа немає оголошення ``DOCTYPE``, атрибут :attr:" +"`doctype` документа буде встановлено на ``None`` замість екземпляра цього " +"інтерфейсу." + +msgid "" +":class:`DocumentType` is a specialization of :class:`Node`, and adds the " +"following attributes:" +msgstr "" +":class:`DocumentType` є спеціалізацією :class:`Node` і додає такі атрибути:" + +msgid "" +"The public identifier for the external subset of the document type " +"definition. This will be a string or ``None``." +msgstr "" +"Загальнодоступний ідентифікатор для зовнішньої підмножини визначення типу " +"документа. Це буде рядок або ``None``." + +msgid "" +"The system identifier for the external subset of the document type " +"definition. This will be a URI as a string, or ``None``." +msgstr "" +"Системний ідентифікатор для зовнішньої підмножини визначення типу документа. " +"Це буде URI у вигляді рядка або ``None``." + +msgid "" +"A string giving the complete internal subset from the document. This does " +"not include the brackets which enclose the subset. If the document has no " +"internal subset, this should be ``None``." +msgstr "" +"Рядок, що містить повну внутрішню частину документа. Це не включає дужки, " +"які містять підмножину. Якщо документ не має внутрішньої підмножини, це має " +"бути ``None``." + +msgid "" +"The name of the root element as given in the ``DOCTYPE`` declaration, if " +"present." +msgstr "" +"Ім’я кореневого елемента, указане в декларації ``DOCTYPE``, якщо воно є." + +msgid "" +"This is a :class:`NamedNodeMap` giving the definitions of external entities. " +"For entity names defined more than once, only the first definition is " +"provided (others are ignored as required by the XML recommendation). This " +"may be ``None`` if the information is not provided by the parser, or if no " +"entities are defined." +msgstr "" +"Це :class:`NamedNodeMap`, що дає визначення зовнішніх сутностей. Для імен " +"сутностей, визначених більше одного разу, надається лише перше визначення " +"(інші ігноруються відповідно до рекомендацій XML). Це може бути ``None``, " +"якщо інформація не надається синтаксичним аналізатором, або якщо жодні " +"сутності не визначені." + +msgid "" +"This is a :class:`NamedNodeMap` giving the definitions of notations. For " +"notation names defined more than once, only the first definition is provided " +"(others are ignored as required by the XML recommendation). This may be " +"``None`` if the information is not provided by the parser, or if no " +"notations are defined." +msgstr "" +"Це :class:`NamedNodeMap`, що дає визначення нотацій. Для імен нотацій, " +"визначених більше одного разу, надається лише перше визначення (інші " +"ігноруються відповідно до рекомендацій XML). Це може бути ``None``, якщо " +"інформація не надається синтаксичним аналізатором або якщо не визначено " +"нотацій." + +msgid "Document Objects" +msgstr "Об'єкти документа" + +msgid "" +"A :class:`Document` represents an entire XML document, including its " +"constituent elements, attributes, processing instructions, comments etc. " +"Remember that it inherits properties from :class:`Node`." +msgstr "" +":class:`Document` представляє весь XML-документ, включаючи його складові " +"елементи, атрибути, інструкції з обробки, коментарі тощо. Пам’ятайте, що він " +"успадковує властивості від :class:`Node`." + +msgid "The one and only root element of the document." +msgstr "Єдиний кореневий елемент документа." + +msgid "" +"Create and return a new element node. The element is not inserted into the " +"document when it is created. You need to explicitly insert it with one of " +"the other methods such as :meth:`insertBefore` or :meth:`appendChild`." +msgstr "" +"Створити та повернути новий вузол елемента. Елемент не вставляється в " +"документ під час його створення. Вам потрібно явно вставити його за " +"допомогою одного з інших методів, наприклад :meth:`insertBefore` або :meth:" +"`appendChild`." + +msgid "" +"Create and return a new element with a namespace. The *tagName* may have a " +"prefix. The element is not inserted into the document when it is created. " +"You need to explicitly insert it with one of the other methods such as :meth:" +"`insertBefore` or :meth:`appendChild`." +msgstr "" +"Створіть і поверніть новий елемент із простором імен. *tagName* може мати " +"префікс. Елемент не вставляється в документ під час його створення. Вам " +"потрібно явно вставити його за допомогою одного з інших методів, наприклад :" +"meth:`insertBefore` або :meth:`appendChild`." + +msgid "" +"Create and return a text node containing the data passed as a parameter. As " +"with the other creation methods, this one does not insert the node into the " +"tree." +msgstr "" +"Створіть і поверніть текстовий вузол, що містить дані, передані як параметр. " +"Як і в інших методах створення, цей не вставляє вузол у дерево." + +msgid "" +"Create and return a comment node containing the data passed as a parameter. " +"As with the other creation methods, this one does not insert the node into " +"the tree." +msgstr "" +"Створіть і поверніть вузол коментаря, що містить дані, передані як параметр. " +"Як і в інших методах створення, цей не вставляє вузол у дерево." + +msgid "" +"Create and return a processing instruction node containing the *target* and " +"*data* passed as parameters. As with the other creation methods, this one " +"does not insert the node into the tree." +msgstr "" +"Створіть і поверніть вузол інструкцій обробки, що містить *target* і *data*, " +"передані як параметри. Як і в інших методах створення, цей не вставляє вузол " +"у дерево." + +msgid "" +"Create and return an attribute node. This method does not associate the " +"attribute node with any particular element. You must use :meth:" +"`setAttributeNode` on the appropriate :class:`Element` object to use the " +"newly created attribute instance." +msgstr "" +"Створення та повернення вузла атрибута. Цей метод не пов’язує вузол атрибута " +"з будь-яким конкретним елементом. Ви повинні використовувати :meth:" +"`setAttributeNode` у відповідному об’єкті :class:`Element`, щоб " +"використовувати щойно створений екземпляр атрибута." + +msgid "" +"Create and return an attribute node with a namespace. The *tagName* may " +"have a prefix. This method does not associate the attribute node with any " +"particular element. You must use :meth:`setAttributeNode` on the " +"appropriate :class:`Element` object to use the newly created attribute " +"instance." +msgstr "" +"Створіть і поверніть вузол атрибута з простором імен. *tagName* може мати " +"префікс. Цей метод не пов’язує вузол атрибута з будь-яким конкретним " +"елементом. Ви повинні використовувати :meth:`setAttributeNode` у " +"відповідному об’єкті :class:`Element`, щоб використовувати щойно створений " +"екземпляр атрибута." + +msgid "" +"Search for all descendants (direct children, children's children, etc.) with " +"a particular element type name." +msgstr "" +"Пошук усіх нащадків (прямих дітей, дітей дітей тощо) з певним ім’ям типу " +"елемента." + +msgid "" +"Search for all descendants (direct children, children's children, etc.) with " +"a particular namespace URI and localname. The localname is the part of the " +"namespace after the prefix." +msgstr "" +"Пошук усіх нащадків (прямих дітей, дітей дітей тощо) з певним URI простору " +"імен і локальним іменем. Локальна назва - це частина простору імен після " +"префікса." + +msgid "Element Objects" +msgstr "Об'єкти елементів" + +msgid "" +":class:`Element` is a subclass of :class:`Node`, so inherits all the " +"attributes of that class." +msgstr "" +":class:`Element` є підкласом :class:`Node`, тому успадковує всі атрибути " +"цього класу." + +msgid "" +"The element type name. In a namespace-using document it may have colons in " +"it. The value is a string." +msgstr "" +"Назва типу елемента. У документі, що використовує простір імен, у ньому " +"можуть бути двокрапки. Значенням є рядок." + +msgid "Same as equivalent method in the :class:`Document` class." +msgstr "Те саме, що еквівалентний метод у класі :class:`Document`." + +msgid "Return ``True`` if the element has an attribute named by *name*." +msgstr "Повертає ``True``, якщо елемент має атрибут із назвою *name*." + +msgid "" +"Return ``True`` if the element has an attribute named by *namespaceURI* and " +"*localName*." +msgstr "" +"Повертає ``True``, якщо елемент має атрибут, названий *namespaceURI* і " +"*localName*." + +msgid "" +"Return the value of the attribute named by *name* as a string. If no such " +"attribute exists, an empty string is returned, as if the attribute had no " +"value." +msgstr "" +"Повертає значення атрибута з іменем *name* у вигляді рядка. Якщо такий " +"атрибут не існує, повертається порожній рядок, як якщо б атрибут не мав " +"значення." + +msgid "Return the :class:`Attr` node for the attribute named by *attrname*." +msgstr "Повертає вузол :class:`Attr` для атрибута, названого *attrname*." + +msgid "" +"Return the value of the attribute named by *namespaceURI* and *localName* as " +"a string. If no such attribute exists, an empty string is returned, as if " +"the attribute had no value." +msgstr "" +"Повертає значення атрибута з назвою *namespaceURI* і *localName* як рядок. " +"Якщо такий атрибут не існує, повертається порожній рядок, як якщо б атрибут " +"не мав значення." + +msgid "" +"Return an attribute value as a node, given a *namespaceURI* and *localName*." +msgstr "" +"Повертає значення атрибута як вузол із заданим *namespaceURI* і *localName*." + +msgid "" +"Remove an attribute by name. If there is no matching attribute, a :exc:" +"`NotFoundErr` is raised." +msgstr "" +"Видалити атрибут за назвою. Якщо відповідного атрибута немає, виникає " +"помилка :exc:`NotFoundErr`." + +msgid "" +"Remove and return *oldAttr* from the attribute list, if present. If " +"*oldAttr* is not present, :exc:`NotFoundErr` is raised." +msgstr "" +"Видаліть і поверніть *oldAttr* зі списку атрибутів, якщо він є. Якщо " +"*oldAttr* відсутній, виникає помилка :exc:`NotFoundErr`." + +msgid "" +"Remove an attribute by name. Note that it uses a localName, not a qname. " +"No exception is raised if there is no matching attribute." +msgstr "" +"Видалити атрибут за назвою. Зверніть увагу, що він використовує localName, а " +"не qname. Жодного винятку не виникає, якщо немає відповідного атрибута." + +msgid "Set an attribute value from a string." +msgstr "Установіть значення атрибута з рядка." + +msgid "" +"Add a new attribute node to the element, replacing an existing attribute if " +"necessary if the :attr:`name` attribute matches. If a replacement occurs, " +"the old attribute node will be returned. If *newAttr* is already in use, :" +"exc:`InuseAttributeErr` will be raised." +msgstr "" +"Додайте новий вузол атрибута до елемента, замінивши існуючий атрибут, якщо " +"необхідно, якщо атрибут :attr:`name` збігається. Якщо відбудеться заміна, " +"буде повернено старий вузол атрибута. Якщо *newAttr* вже використовується, " +"буде викликано :exc:`InuseAttributeErr`." + +msgid "" +"Add a new attribute node to the element, replacing an existing attribute if " +"necessary if the :attr:`namespaceURI` and :attr:`localName` attributes " +"match. If a replacement occurs, the old attribute node will be returned. If " +"*newAttr* is already in use, :exc:`InuseAttributeErr` will be raised." +msgstr "" +"Додайте новий вузол атрибута до елемента, замінивши існуючий атрибут, якщо " +"необхідно, якщо атрибути :attr:`namespaceURI` і :attr:`localName` " +"збігаються. Якщо відбудеться заміна, буде повернено старий вузол атрибута. " +"Якщо *newAttr* вже використовується, буде викликано :exc:`InuseAttributeErr`." + +msgid "" +"Set an attribute value from a string, given a *namespaceURI* and a *qname*. " +"Note that a qname is the whole attribute name. This is different than above." +msgstr "" +"Установіть значення атрибута з рядка, заданого *namespaceURI* і *qname*. " +"Зауважте, що qname — це повна назва атрибута. Це відрізняється від " +"вищезазначеного." + +msgid "Attr Objects" +msgstr "Об'єкти Attr" + +msgid "" +":class:`Attr` inherits from :class:`Node`, so inherits all its attributes." +msgstr "" +":class:`Attr` успадковує :class:`Node`, тому успадковує всі його атрибути." + +msgid "" +"The attribute name. In a namespace-using document it may include a colon." +msgstr "" +"Назва атрибута. У документі, що використовує простір імен, він може містити " +"двокрапку." + +msgid "" +"The part of the name following the colon if there is one, else the entire " +"name. This is a read-only attribute." +msgstr "" +"Частина назви після двокрапки, якщо вона є, інакше повна назва. Це атрибут " +"лише для читання." + +msgid "" +"The part of the name preceding the colon if there is one, else the empty " +"string." +msgstr "Частина назви перед двокрапкою, якщо вона є, інакше порожній рядок." + +msgid "" +"The text value of the attribute. This is a synonym for the :attr:" +"`nodeValue` attribute." +msgstr "Текстове значення атрибута. Це синонім атрибута :attr:`nodeValue`." + +msgid "NamedNodeMap Objects" +msgstr "Об’єкти NamedNodeMap" + +msgid ":class:`NamedNodeMap` does *not* inherit from :class:`Node`." +msgstr ":class:`NamedNodeMap` *не* успадковує :class:`Node`." + +msgid "The length of the attribute list." +msgstr "Довжина списку атрибутів." + +msgid "" +"Return an attribute with a particular index. The order you get the " +"attributes in is arbitrary but will be consistent for the life of a DOM. " +"Each item is an attribute node. Get its value with the :attr:`value` " +"attribute." +msgstr "" +"Повертає атрибут із певним індексом. Порядок, у якому ви отримуєте атрибути, " +"є довільним, але буде незмінним протягом життя DOM. Кожен елемент є вузлом " +"атрибута. Отримайте його значення за допомогою атрибута :attr:`value`." + +msgid "" +"There are also experimental methods that give this class more mapping " +"behavior. You can use them or you can use the standardized :meth:" +"`getAttribute\\*` family of methods on the :class:`Element` objects." +msgstr "" +"Існують також експериментальні методи, які дають цьому класу більше " +"поведінки відображення. Ви можете використовувати їх або стандартизоване " +"сімейство методів :meth:`getAttribute\\*` для об’єктів :class:`Element`." + +msgid "Comment Objects" +msgstr "Об’єкти коментарів" + +msgid "" +":class:`Comment` represents a comment in the XML document. It is a subclass " +"of :class:`Node`, but cannot have child nodes." +msgstr "" +":class:`Comment` представляє коментар у документі XML. Це підклас :class:" +"`Node`, але не може мати дочірні вузли." + +msgid "" +"The content of the comment as a string. The attribute contains all " +"characters between the leading ````, " +"but does not include them." +msgstr "" +"Вміст коментаря у вигляді рядка. Атрибут містить усі символи між початковими " +"````, але не включає їх." + +msgid "Text and CDATASection Objects" +msgstr "Текст і об’єкти CDATASection" + +msgid "" +"The :class:`Text` interface represents text in the XML document. If the " +"parser and DOM implementation support the DOM's XML extension, portions of " +"the text enclosed in CDATA marked sections are stored in :class:" +"`CDATASection` objects. These two interfaces are identical, but provide " +"different values for the :attr:`nodeType` attribute." +msgstr "" +"Інтерфейс :class:`Text` представляє текст у документі XML. Якщо синтаксичний " +"аналізатор і реалізація DOM підтримують розширення XML DOM, частини тексту, " +"укладені в розділи, позначені CDATA, зберігаються в об’єктах :class:" +"`CDATASection`. Ці два інтерфейси ідентичні, але надають різні значення для " +"атрибута :attr:`nodeType`." + +msgid "" +"These interfaces extend the :class:`Node` interface. They cannot have child " +"nodes." +msgstr "" +"Ці інтерфейси розширюють інтерфейс :class:`Node`. Вони не можуть мати " +"дочірні вузли." + +msgid "The content of the text node as a string." +msgstr "Вміст текстового вузла у вигляді рядка." + +msgid "" +"The use of a :class:`CDATASection` node does not indicate that the node " +"represents a complete CDATA marked section, only that the content of the " +"node was part of a CDATA section. A single CDATA section may be represented " +"by more than one node in the document tree. There is no way to determine " +"whether two adjacent :class:`CDATASection` nodes represent different CDATA " +"marked sections." +msgstr "" +"Використання вузла :class:`CDATASection` не означає, що вузол представляє " +"повний розділ, позначений CDATA, лише те, що вміст вузла був частиною " +"розділу CDATA. Один розділ CDATA може бути представлений декількома вузлами " +"в дереві документів. Немає способу визначити, чи два суміжні вузли :class:" +"`CDATASection` представляють різні розділи, позначені CDATA." + +msgid "ProcessingInstruction Objects" +msgstr "Об’єкти інструкцій обробки" + +msgid "" +"Represents a processing instruction in the XML document; this inherits from " +"the :class:`Node` interface and cannot have child nodes." +msgstr "" +"Представляє інструкцію обробки в документі XML; це успадковує інтерфейс :" +"class:`Node` і не може мати дочірні вузли." + +msgid "" +"The content of the processing instruction up to the first whitespace " +"character. This is a read-only attribute." +msgstr "" +"Вміст інструкції обробки до першого пробілу. Це атрибут лише для читання." + +msgid "" +"The content of the processing instruction following the first whitespace " +"character." +msgstr "Вміст інструкції обробки після першого пробілу." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"The DOM Level 2 recommendation defines a single exception, :exc:" +"`DOMException`, and a number of constants that allow applications to " +"determine what sort of error occurred. :exc:`DOMException` instances carry " +"a :attr:`code` attribute that provides the appropriate value for the " +"specific exception." +msgstr "" +"Рекомендація DOM рівня 2 визначає єдиний виняток, :exc:`DOMException`, і ряд " +"констант, які дозволяють програмам визначити, який тип помилки сталася. " +"Екземпляри :exc:`DOMException` містять атрибут :attr:`code`, який надає " +"відповідне значення для конкретного винятку." + +msgid "" +"The Python DOM interface provides the constants, but also expands the set of " +"exceptions so that a specific exception exists for each of the exception " +"codes defined by the DOM. The implementations must raise the appropriate " +"specific exception, each of which carries the appropriate value for the :" +"attr:`code` attribute." +msgstr "" +"Інтерфейс Python DOM надає константи, але також розширює набір винятків, щоб " +"для кожного з кодів винятків, визначених DOM, існував окремий виняток. " +"Реалізації повинні викликати відповідні специфічні винятки, кожне з яких " +"несе відповідне значення для атрибута :attr:`code`." + +msgid "" +"Base exception class used for all specific DOM exceptions. This exception " +"class cannot be directly instantiated." +msgstr "" +"Базовий клас винятків, який використовується для всіх конкретних винятків " +"DOM. Цей клас винятків не можна створити безпосередньо." + +msgid "" +"Raised when a specified range of text does not fit into a string. This is " +"not known to be used in the Python DOM implementations, but may be received " +"from DOM implementations not written in Python." +msgstr "" +"Викликається, коли вказаний діапазон тексту не вміщується в рядок. Відомо, " +"що це не використовується в реалізаціях Python DOM, але може бути отримано з " +"реалізацій DOM, не написаних на Python." + +msgid "" +"Raised when an attempt is made to insert a node where the node type is not " +"allowed." +msgstr "Викликається під час спроби вставити вузол у недозволений тип вузла." + +msgid "" +"Raised when an index or size parameter to a method is negative or exceeds " +"the allowed values." +msgstr "" +"Викликається, коли параметр індексу або розміру методу від’ємний або " +"перевищує допустимі значення." + +msgid "" +"Raised when an attempt is made to insert an :class:`Attr` node that is " +"already present elsewhere in the document." +msgstr "" +"Викликається, коли робиться спроба вставити вузол :class:`Attr`, який уже " +"присутній в іншому місці документа." + +msgid "" +"Raised if a parameter or an operation is not supported on the underlying " +"object." +msgstr "" +"Викликається, якщо параметр або операція не підтримується на базовому " +"об’єкті." + +msgid "" +"This exception is raised when a string parameter contains a character that " +"is not permitted in the context it's being used in by the XML 1.0 " +"recommendation. For example, attempting to create an :class:`Element` node " +"with a space in the element type name will cause this error to be raised." +msgstr "" +"Цей виняток виникає, коли рядковий параметр містить символ, який заборонено " +"в контексті, у якому він використовується рекомендацією XML 1.0. Наприклад, " +"спроба створити вузол :class:`Element` із пробілом у назві типу елемента " +"призведе до появи цієї помилки." + +msgid "Raised when an attempt is made to modify the type of a node." +msgstr "Викликається під час спроби змінити тип вузла." + +msgid "" +"Raised when an attempt is made to use an object that is not defined or is no " +"longer usable." +msgstr "" +"Викликається, коли робиться спроба використати об’єкт, який не визначено або " +"більше не можна використовувати." + +msgid "" +"If an attempt is made to change any object in a way that is not permitted " +"with regard to the `Namespaces in XML `_ recommendation, this exception is raised." +msgstr "" +"Якщо робиться спроба змінити будь-який об’єкт у спосіб, який заборонено щодо " +"рекомендації `Простори імен у XML `_, " +"виникає цей виняток." + +msgid "" +"Exception when a node does not exist in the referenced context. For " +"example, :meth:`NamedNodeMap.removeNamedItem` will raise this if the node " +"passed in does not exist in the map." +msgstr "" +"Виняток, коли вузол не існує в контексті посилання. Наприклад, :meth:" +"`NamedNodeMap.removeNamedItem` викличе це, якщо переданий вузол не існує на " +"карті." + +msgid "" +"Raised when the implementation does not support the requested type of object " +"or operation." +msgstr "" +"Викликається, коли реалізація не підтримує потрібний тип об’єкта чи операції." + +msgid "" +"This is raised if data is specified for a node which does not support data." +msgstr "Це виникає, якщо дані вказані для вузла, який не підтримує дані." + +msgid "" +"Raised on attempts to modify an object where modifications are not allowed " +"(such as for read-only nodes)." +msgstr "" +"Викликається під час спроб модифікувати об’єкт, де модифікації заборонені " +"(наприклад, для вузлів лише для читання)." + +msgid "Raised when an invalid or illegal string is specified." +msgstr "Викликається, коли вказано недійсний або недопустимий рядок." + +msgid "" +"Raised when a node is inserted in a different document than it currently " +"belongs to, and the implementation does not support migrating the node from " +"one document to the other." +msgstr "" +"Викликається, коли вузол вставляється в документ, відмінний від того, якому " +"він наразі належить, і реалізація не підтримує переміщення вузла з одного " +"документа в інший." + +msgid "" +"The exception codes defined in the DOM recommendation map to the exceptions " +"described above according to this table:" +msgstr "" +"Коди винятків, визначені в рекомендаціях DOM, відповідають описаним вище " +"виняткам відповідно до цієї таблиці:" + +msgid "Constant" +msgstr "Постійний" + +msgid "Exception" +msgstr "Виняток" + +msgid ":const:`DOMSTRING_SIZE_ERR`" +msgstr ":const:`DOMSTRING_SIZE_ERR`" + +msgid ":exc:`DomstringSizeErr`" +msgstr ":exc:`DomstringSizeErr`" + +msgid ":const:`HIERARCHY_REQUEST_ERR`" +msgstr ":const:`HIERARCHY_REQUEST_ERR`" + +msgid ":exc:`HierarchyRequestErr`" +msgstr ":exc:`HierarchyRequestErr`" + +msgid ":const:`INDEX_SIZE_ERR`" +msgstr ":const:`INDEX_SIZE_ERR`" + +msgid ":exc:`IndexSizeErr`" +msgstr ":exc:`IndexSizeErr`" + +msgid ":const:`INUSE_ATTRIBUTE_ERR`" +msgstr ":const:`INUSE_ATTRIBUTE_ERR`" + +msgid ":exc:`InuseAttributeErr`" +msgstr ":exc:`InuseAttributeErr`" + +msgid ":const:`INVALID_ACCESS_ERR`" +msgstr ":const:`INVALID_ACCESS_ERR`" + +msgid ":exc:`InvalidAccessErr`" +msgstr ":exc:`InvalidAccessErr`" + +msgid ":const:`INVALID_CHARACTER_ERR`" +msgstr ":const:`INVALID_CHARACTER_ERR`" + +msgid ":exc:`InvalidCharacterErr`" +msgstr ":exc:`InvalidCharacterErr`" + +msgid ":const:`INVALID_MODIFICATION_ERR`" +msgstr ":const:`INVALID_MODIFICATION_ERR`" + +msgid ":exc:`InvalidModificationErr`" +msgstr ":exc:`InvalidModificationErr`" + +msgid ":const:`INVALID_STATE_ERR`" +msgstr ":const:`INVALID_STATE_ERR`" + +msgid ":exc:`InvalidStateErr`" +msgstr ":exc:`InvalidStateErr`" + +msgid ":const:`NAMESPACE_ERR`" +msgstr ":const:`NAMESPACE_ERR`" + +msgid ":exc:`NamespaceErr`" +msgstr ":exc:`NamespaceErr`" + +msgid ":const:`NOT_FOUND_ERR`" +msgstr ":const:`NOT_FOUND_ERR`" + +msgid ":exc:`NotFoundErr`" +msgstr ":exc:`NotFoundErr`" + +msgid ":const:`NOT_SUPPORTED_ERR`" +msgstr ":const:`NOT_SUPPORTED_ERR`" + +msgid ":exc:`NotSupportedErr`" +msgstr ":exc:`NotSupportedErr`" + +msgid ":const:`NO_DATA_ALLOWED_ERR`" +msgstr ":const:`NO_DATA_ALLOWED_ERR`" + +msgid ":exc:`NoDataAllowedErr`" +msgstr ":exc:`NoDataAllowedErr`" + +msgid ":const:`NO_MODIFICATION_ALLOWED_ERR`" +msgstr ":const:`NO_MODIFICATION_ALLOWED_ERR`" + +msgid ":exc:`NoModificationAllowedErr`" +msgstr ":exc:`NoModificationAllowedErr`" + +msgid ":const:`SYNTAX_ERR`" +msgstr ":const:`SYNTAX_ERR`" + +msgid ":exc:`SyntaxErr`" +msgstr ":exc:`SyntaxErr`" + +msgid ":const:`WRONG_DOCUMENT_ERR`" +msgstr ":const:`WRONG_DOCUMENT_ERR`" + +msgid ":exc:`WrongDocumentErr`" +msgstr ":exc:`WrongDocumentErr`" + +msgid "Conformance" +msgstr "Відповідність" + +msgid "" +"This section describes the conformance requirements and relationships " +"between the Python DOM API, the W3C DOM recommendations, and the OMG IDL " +"mapping for Python." +msgstr "" +"У цьому розділі описано вимоги до відповідності та зв’язки між Python DOM " +"API, рекомендаціями W3C DOM і відображенням OMG IDL для Python." + +msgid "Type Mapping" +msgstr "Відображення типу" + +msgid "" +"The IDL types used in the DOM specification are mapped to Python types " +"according to the following table." +msgstr "" +"Типи IDL, які використовуються в специфікації DOM, зіставляються з типами " +"Python відповідно до наступної таблиці." + +msgid "IDL Type" +msgstr "Тип IDL" + +msgid "Python Type" +msgstr "Тип Python" + +msgid "``boolean``" +msgstr "``логічний``" + +msgid "``bool`` or ``int``" +msgstr "``bool`` або ``int``" + +msgid "``int``" +msgstr "``int``" + +msgid "``long int``" +msgstr "``long int``" + +msgid "``unsigned int``" +msgstr "``unsigned int``" + +msgid "``DOMString``" +msgstr "``DOMString``" + +msgid "``str`` or ``bytes``" +msgstr "``str`` або ``bytes``" + +msgid "``null``" +msgstr "``нуль``" + +msgid "``None``" +msgstr "``Жодного``" + +msgid "Accessor Methods" +msgstr "Методи доступу" + +msgid "" +"The mapping from OMG IDL to Python defines accessor functions for IDL " +"``attribute`` declarations in much the way the Java mapping does. Mapping " +"the IDL declarations ::" +msgstr "" +"Відображення з OMG IDL на Python визначає функції доступу для оголошень " +"``атрибутів`` IDL майже так само, як це робить відображення Java. " +"Відображення декларацій IDL ::" + +msgid "" +"yields three accessor functions: a \"get\" method for :attr:`someValue` (:" +"meth:`_get_someValue`), and \"get\" and \"set\" methods for :attr:" +"`anotherValue` (:meth:`_get_anotherValue` and :meth:`_set_anotherValue`). " +"The mapping, in particular, does not require that the IDL attributes are " +"accessible as normal Python attributes: ``object.someValue`` is *not* " +"required to work, and may raise an :exc:`AttributeError`." +msgstr "" +"дає три функції доступу: метод \"get\" для :attr:`someValue` (:meth:" +"`_get_someValue`) і методи \"get\" і \"set\" для :attr:`anotherValue` (:meth:" +"`_get_anotherValue` і :meth:`_set_anotherValue`). Відображення, зокрема, не " +"вимагає, щоб атрибути IDL були доступні як звичайні атрибути Python: " +"``object.someValue`` *не* обов’язковий для роботи, і може викликати :exc:" +"`AttributeError`." + +msgid "" +"The Python DOM API, however, *does* require that normal attribute access " +"work. This means that the typical surrogates generated by Python IDL " +"compilers are not likely to work, and wrapper objects may be needed on the " +"client if the DOM objects are accessed via CORBA. While this does require " +"some additional consideration for CORBA DOM clients, the implementers with " +"experience using DOM over CORBA from Python do not consider this a problem. " +"Attributes that are declared ``readonly`` may not restrict write access in " +"all DOM implementations." +msgstr "" +"Однак Python DOM API *не* вимагає, щоб звичайний доступ до атрибутів " +"працював. Це означає, що типові сурогати, згенеровані компіляторами Python " +"IDL, навряд чи працюватимуть, і об’єкти-огортки можуть знадобитися на " +"клієнті, якщо доступ до об’єктів DOM здійснюється через CORBA. Хоча для " +"клієнтів CORBA DOM це вимагає додаткового розгляду, розробники з досвідом " +"використання DOM поверх CORBA з Python не вважають це проблемою. Атрибути, " +"оголошені лише для читання, можуть не обмежувати доступ для запису в усіх " +"реалізаціях DOM." + +msgid "" +"In the Python DOM API, accessor functions are not required. If provided, " +"they should take the form defined by the Python IDL mapping, but these " +"methods are considered unnecessary since the attributes are accessible " +"directly from Python. \"Set\" accessors should never be provided for " +"``readonly`` attributes." +msgstr "" +"В Python DOM API функції доступу не потрібні. Якщо вони надані, вони мають " +"приймати форму, визначену відображенням Python IDL, але ці методи вважаються " +"непотрібними, оскільки атрибути доступні безпосередньо з Python. Аксесори " +"\"Set\" ніколи не повинні надаватися для атрибутів \"лише для читання\"." + +msgid "" +"The IDL definitions do not fully embody the requirements of the W3C DOM API, " +"such as the notion of certain objects, such as the return value of :meth:" +"`getElementsByTagName`, being \"live\". The Python DOM API does not require " +"implementations to enforce such requirements." +msgstr "" +"Визначення IDL не повністю втілюють вимоги W3C DOM API, такі як поняття " +"певних об’єктів, таких як значення, що повертається :meth:" +"`getElementsByTagName`, бути \"живими\". Python DOM API не вимагає " +"реалізацій для виконання таких вимог." diff --git a/library/xml_dom_minidom.po b/library/xml_dom_minidom.po new file mode 100644 index 000000000..de9bc12ee --- /dev/null +++ b/library/xml_dom_minidom.po @@ -0,0 +1,436 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.dom.minidom` --- Minimal DOM implementation" +msgstr ":mod:`xml.dom.minidom` --- Мінімальна реалізація DOM" + +msgid "**Source code:** :source:`Lib/xml/dom/minidom.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/dom/minidom.py`" + +msgid "" +":mod:`xml.dom.minidom` is a minimal implementation of the Document Object " +"Model interface, with an API similar to that in other languages. It is " +"intended to be simpler than the full DOM and also significantly smaller. " +"Users who are not already proficient with the DOM should consider using the :" +"mod:`xml.etree.ElementTree` module for their XML processing instead." +msgstr "" +":mod:`xml.dom.minidom` — це мінімальна реалізація інтерфейсу об’єктної " +"моделі документа з API, подібним до того, що є в інших мовах. Він має бути " +"простішим, ніж повний DOM, а також значно меншим. Користувачам, які ще не " +"володіють DOM, варто розглянути можливість використання модуля :mod:`xml." +"etree.ElementTree` для обробки XML." + +msgid "" +"The :mod:`xml.dom.minidom` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data " +"see :ref:`xml-vulnerabilities`." +msgstr "" +"Модуль :mod:`xml.dom.minidom` не захищений від зловмисно створених даних. " +"Якщо вам потрібно проаналізувати ненадійні або неавтентифіковані дані, " +"перегляньте :ref:`xml-vulnerabilities`." + +msgid "" +"DOM applications typically start by parsing some XML into a DOM. With :mod:" +"`xml.dom.minidom`, this is done through the parse functions::" +msgstr "" +"Програми DOM зазвичай починаються з аналізу деякого XML у DOM. З :mod:`xml." +"dom.minidom` це робиться через функції аналізу::" + +msgid "" +"The :func:`parse` function can take either a filename or an open file object." +msgstr "" +"Функція :func:`parse` може приймати ім’я файлу або відкритий файловий об’єкт." + +msgid "" +"Return a :class:`Document` from the given input. *filename_or_file* may be " +"either a file name, or a file-like object. *parser*, if given, must be a " +"SAX2 parser object. This function will change the document handler of the " +"parser and activate namespace support; other parser configuration (like " +"setting an entity resolver) must have been done in advance." +msgstr "" +"Повертає :class:`Document` із заданого введення. *filename_or_file* може " +"бути ім’ям файлу або файлоподібним об’єктом. *parser*, якщо задано, має бути " +"об’єктом аналізатора SAX2. Ця функція змінить обробник документів " +"аналізатора та активує підтримку простору імен; іншу конфігурацію " +"синтаксичного аналізатора (наприклад, налаштування розпізнавача сутностей) " +"потрібно було виконати заздалегідь." + +msgid "" +"If you have XML in a string, you can use the :func:`parseString` function " +"instead:" +msgstr "" +"Якщо у вас є XML у рядку, ви можете використовувати замість нього функцію :" +"func:`parseString`:" + +msgid "" +"Return a :class:`Document` that represents the *string*. This method creates " +"an :class:`io.StringIO` object for the string and passes that on to :func:" +"`parse`." +msgstr "" +"Повертає :class:`Document`, який представляє *рядок*. Цей метод створює " +"об’єкт :class:`io.StringIO` для рядка та передає його до :func:`parse`." + +msgid "" +"Both functions return a :class:`Document` object representing the content of " +"the document." +msgstr "" +"Обидві функції повертають об’єкт :class:`Document`, що представляє вміст " +"документа." + +msgid "" +"What the :func:`parse` and :func:`parseString` functions do is connect an " +"XML parser with a \"DOM builder\" that can accept parse events from any SAX " +"parser and convert them into a DOM tree. The name of the functions are " +"perhaps misleading, but are easy to grasp when learning the interfaces. The " +"parsing of the document will be completed before these functions return; " +"it's simply that these functions do not provide a parser implementation " +"themselves." +msgstr "" +"Функції :func:`parse` і :func:`parseString` з’єднують синтаксичний " +"аналізатор XML із \"конструктором DOM\", який може приймати події аналізу " +"від будь-якого аналізатора SAX і перетворювати їх у дерево DOM. Назви " +"функцій, можливо, вводять в оману, але їх легко зрозуміти, вивчаючи " +"інтерфейси. Розбір документа буде завершено до повернення цих функцій; " +"просто ці функції самі по собі не забезпечують реалізацію аналізатора." + +msgid "" +"You can also create a :class:`Document` by calling a method on a \"DOM " +"Implementation\" object. You can get this object either by calling the :" +"func:`getDOMImplementation` function in the :mod:`xml.dom` package or the :" +"mod:`xml.dom.minidom` module. Once you have a :class:`Document`, you can " +"add child nodes to it to populate the DOM::" +msgstr "" +"Ви також можете створити :class:`Document`, викликавши метод в об’єкті " +"\"Реалізація DOM\". Ви можете отримати цей об’єкт, викликавши функцію :func:" +"`getDOMImplementation` в пакеті :mod:`xml.dom` або через модуль :mod:`xml." +"dom.minidom`. Коли у вас є :class:`Document`, ви можете додати до нього " +"дочірні вузли для заповнення DOM::" + +msgid "" +"Once you have a DOM document object, you can access the parts of your XML " +"document through its properties and methods. These properties are defined " +"in the DOM specification. The main property of the document object is the :" +"attr:`documentElement` property. It gives you the main element in the XML " +"document: the one that holds all others. Here is an example program::" +msgstr "" +"Якщо у вас є об’єкт документа DOM, ви можете отримати доступ до частин свого " +"документа XML через його властивості та методи. Ці властивості визначені в " +"специфікації DOM. Основною властивістю об’єкта документа є властивість :attr:" +"`documentElement`. Це дає вам головний елемент у документі XML: той, який " +"містить усі інші. Ось приклад програми::" + +msgid "" +"When you are finished with a DOM tree, you may optionally call the :meth:" +"`unlink` method to encourage early cleanup of the now-unneeded objects. :" +"meth:`unlink` is an :mod:`xml.dom.minidom`\\ -specific extension to the DOM " +"API that renders the node and its descendants essentially useless. " +"Otherwise, Python's garbage collector will eventually take care of the " +"objects in the tree." +msgstr "" + +msgid "" +"`Document Object Model (DOM) Level 1 Specification `_" +msgstr "" +"`Специфікація рівня 1 об’єктної моделі документа (DOM) `_" + +msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`." +msgstr "Рекомендація W3C щодо DOM, що підтримується :mod:`xml.dom.minidom`." + +msgid "DOM Objects" +msgstr "Об'єкти DOM" + +msgid "" +"The definition of the DOM API for Python is given as part of the :mod:`xml." +"dom` module documentation. This section lists the differences between the " +"API and :mod:`xml.dom.minidom`." +msgstr "" +"Визначення DOM API для Python надається як частина документації модуля :mod:" +"`xml.dom`. У цьому розділі наведено відмінності між API та :mod:`xml.dom." +"minidom`." + +msgid "" +"Break internal references within the DOM so that it will be garbage " +"collected on versions of Python without cyclic GC. Even when cyclic GC is " +"available, using this can make large amounts of memory available sooner, so " +"calling this on DOM objects as soon as they are no longer needed is good " +"practice. This only needs to be called on the :class:`Document` object, but " +"may be called on child nodes to discard children of that node." +msgstr "" +"Розбийте внутрішні посилання в DOM, щоб у версіях Python без циклічного " +"збирання сміття було зібрано сміття. Навіть якщо циклічний GC доступний, " +"використання цього може зробити великі обсяги пам’яті доступними раніше, " +"тому виклик цього для об’єктів DOM, як тільки вони більше не потрібні, є " +"хорошою практикою. Його потрібно викликати лише для об’єкта :class:" +"`Document`, але його можна викликати на дочірніх вузлах, щоб відкинути " +"дочірні елементи цього вузла." + +msgid "" +"You can avoid calling this method explicitly by using the :keyword:`with` " +"statement. The following code will automatically unlink *dom* when the :" +"keyword:`!with` block is exited::" +msgstr "" +"Ви можете уникнути явного виклику цього методу, використовуючи оператор :" +"keyword:`with`. Наступний код автоматично від’єднає *dom*, коли блок :" +"keyword:`!with` буде вимкнено::" + +msgid "" +"Write XML to the writer object. The writer receives texts but not bytes as " +"input, it should have a :meth:`write` method which matches that of the file " +"object interface. The *indent* parameter is the indentation of the current " +"node. The *addindent* parameter is the incremental indentation to use for " +"subnodes of the current one. The *newl* parameter specifies the string to " +"use to terminate newlines." +msgstr "" +"Запишіть XML в об’єкт запису. Записувач отримує тексти, але не байти як " +"вхідні дані, він повинен мати метод :meth:`write`, який відповідає методу " +"інтерфейсу файлового об’єкта. Параметр *indent* — це відступ поточного " +"вузла. Параметр *addindent* є поступовим відступом для використання " +"підвузлів поточного. Параметр *newl* визначає рядок, який " +"використовуватиметься для завершення символів нового рядка." + +msgid "" +"For the :class:`Document` node, an additional keyword argument *encoding* " +"can be used to specify the encoding field of the XML header." +msgstr "" +"Для вузла :class:`Document` можна використовувати додатковий аргумент " +"ключового слова *encoding* для визначення поля кодування заголовка XML." + +msgid "" +"Similarly, explicitly stating the *standalone* argument causes the " +"standalone document declarations to be added to the prologue of the XML " +"document. If the value is set to ``True``, ``standalone=\"yes\"`` is added, " +"otherwise it is set to ``\"no\"``. Not stating the argument will omit the " +"declaration from the document." +msgstr "" + +msgid "" +"The :meth:`writexml` method now preserves the attribute order specified by " +"the user." +msgstr "" +"Метод :meth:`writexml` тепер зберігає порядок атрибутів, указаний " +"користувачем." + +msgid "The *standalone* parameter was added." +msgstr "Додано параметр *standalone*." + +msgid "" +"Return a string or byte string containing the XML represented by the DOM " +"node." +msgstr "" +"Повертає рядок або рядок байтів, що містить XML, представлений вузлом DOM." + +msgid "" +"With an explicit *encoding* [1]_ argument, the result is a byte string in " +"the specified encoding. With no *encoding* argument, the result is a Unicode " +"string, and the XML declaration in the resulting string does not specify an " +"encoding. Encoding this string in an encoding other than UTF-8 is likely " +"incorrect, since UTF-8 is the default encoding of XML." +msgstr "" +"З явним аргументом *encoding* [1]_ результатом буде рядок байтів у вказаному " +"кодуванні. Без аргументу *encoding* результатом є рядок Unicode, а " +"оголошення XML у результуючому рядку не вказує кодування. Кодування цього " +"рядка в кодуванні, відмінному від UTF-8, імовірно, є неправильним, оскільки " +"UTF-8 є стандартним кодуванням XML." + +msgid "The *standalone* argument behaves exactly as in :meth:`writexml`." +msgstr "" +"Аргумент *standalone* поводиться точно так само, як у :meth:`writexml`." + +msgid "" +"The :meth:`toxml` method now preserves the attribute order specified by the " +"user." +msgstr "" +"Метод :meth:`toxml` тепер зберігає порядок атрибутів, указаний користувачем." + +msgid "" +"Return a pretty-printed version of the document. *indent* specifies the " +"indentation string and defaults to a tabulator; *newl* specifies the string " +"emitted at the end of each line and defaults to ``\\n``." +msgstr "" +"Поверніть роздруковану версію документа. *indent* визначає рядок відступів і " +"за замовчуванням є табулятором; *newl* визначає рядок, що виводиться в кінці " +"кожного рядка, і за замовчуванням має значення ``\\n``." + +msgid "" +"The *encoding* argument behaves like the corresponding argument of :meth:" +"`toxml`." +msgstr "Аргумент *encoding* поводиться як відповідний аргумент :meth:`toxml`." + +msgid "" +"The :meth:`toprettyxml` method now preserves the attribute order specified " +"by the user." +msgstr "" +"Метод :meth:`toprettyxml` тепер зберігає порядок атрибутів, указаний " +"користувачем." + +msgid "DOM Example" +msgstr "Приклад DOM" + +msgid "" +"This example program is a fairly realistic example of a simple program. In " +"this particular case, we do not take much advantage of the flexibility of " +"the DOM." +msgstr "" +"Цей приклад програми є досить реалістичним прикладом простої програми. У " +"цьому конкретному випадку ми не дуже використовуємо переваги гнучкості DOM." + +msgid "minidom and the DOM standard" +msgstr "minidom і стандарт DOM" + +msgid "" +"The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM " +"with some DOM 2 features (primarily namespace features)." +msgstr "" +"Модуль :mod:`xml.dom.minidom` по суті є DOM-сумісним DOM 1.0 з деякими " +"функціями DOM 2 (переважно функціями простору імен)." + +msgid "" +"Usage of the DOM interface in Python is straight-forward. The following " +"mapping rules apply:" +msgstr "" +"Використання інтерфейсу DOM у Python є простим. Застосовуються наступні " +"правила відображення:" + +msgid "" +"Interfaces are accessed through instance objects. Applications should not " +"instantiate the classes themselves; they should use the creator functions " +"available on the :class:`Document` object. Derived interfaces support all " +"operations (and attributes) from the base interfaces, plus any new " +"operations." +msgstr "" +"Доступ до інтерфейсів здійснюється через об’єкти екземплярів. Програми не " +"повинні створювати екземпляри класів самі; вони повинні використовувати " +"функції створення, доступні в об’єкті :class:`Document`. Похідні інтерфейси " +"підтримують усі операції (та атрибути) базових інтерфейсів, а також будь-які " +"нові операції." + +msgid "" +"Operations are used as methods. Since the DOM uses only :keyword:`in` " +"parameters, the arguments are passed in normal order (from left to right). " +"There are no optional arguments. ``void`` operations return ``None``." +msgstr "" +"Як методи використовуються операції. Оскільки DOM використовує лише " +"параметри :keyword:`in`, аргументи передаються у звичайному порядку (зліва " +"направо). Немає необов'язкових аргументів. Операції ``void`` повертають " +"``None``." + +msgid "" +"IDL attributes map to instance attributes. For compatibility with the OMG " +"IDL language mapping for Python, an attribute ``foo`` can also be accessed " +"through accessor methods :meth:`_get_foo` and :meth:`_set_foo`. " +"``readonly`` attributes must not be changed; this is not enforced at runtime." +msgstr "" +"Атрибути IDL відображаються на атрибути екземпляра. Для сумісності з " +"відображенням мови OMG IDL для Python доступ до атрибута ``foo`` також можна " +"отримати через методи доступу :meth:`_get_foo` і :meth:`_set_foo`. атрибути " +"``readonly`` не можна змінювати; це не застосовується під час виконання." + +msgid "" +"The types ``short int``, ``unsigned int``, ``unsigned long long``, and " +"``boolean`` all map to Python integer objects." +msgstr "" +"Усі типи ``short int``, ``unsigned int``, ``unsigned long long`` і " +"``boolean`` відображаються на цілі об’єкти Python." + +msgid "" +"The type ``DOMString`` maps to Python strings. :mod:`xml.dom.minidom` " +"supports either bytes or strings, but will normally produce strings. Values " +"of type ``DOMString`` may also be ``None`` where allowed to have the IDL " +"``null`` value by the DOM specification from the W3C." +msgstr "" +"Тип ``DOMString`` відображає рядки Python. :mod:`xml.dom.minidom` підтримує " +"байти або рядки, але зазвичай створює рядки. Значення типу ``DOMString`` " +"також можуть бути ``None``, якщо дозволено мати значення IDL ``null`` " +"відповідно до специфікації DOM від W3C." + +msgid "" +"``const`` declarations map to variables in their respective scope (e.g. " +"``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be " +"changed." +msgstr "" +"Оголошення ``const`` відображаються на змінні у відповідній області " +"(наприклад, ``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); їх не " +"можна змінювати." + +msgid "" +"``DOMException`` is currently not supported in :mod:`xml.dom.minidom`. " +"Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such as :exc:" +"`TypeError` and :exc:`AttributeError`." +msgstr "" +"``DOMException`` наразі не підтримується в :mod:`xml.dom.minidom`. " +"Натомість :mod:`xml.dom.minidom` використовує стандартні винятки Python, " +"такі як :exc:`TypeError` і :exc:`AttributeError`." + +msgid "" +":class:`NodeList` objects are implemented using Python's built-in list type. " +"These objects provide the interface defined in the DOM specification, but " +"with earlier versions of Python they do not support the official API. They " +"are, however, much more \"Pythonic\" than the interface defined in the W3C " +"recommendations." +msgstr "" +"Об'єкти :class:`NodeList` реалізовані за допомогою вбудованого типу списку " +"Python. Ці об’єкти забезпечують інтерфейс, визначений у специфікації DOM, " +"але в попередніх версіях Python вони не підтримують офіційний API. Однак " +"вони набагато більш \"пітонічні\", ніж інтерфейс, визначений у рекомендаціях " +"W3C." + +msgid "" +"The following interfaces have no implementation in :mod:`xml.dom.minidom`:" +msgstr "Наступні інтерфейси не мають реалізації в :mod:`xml.dom.minidom`:" + +msgid ":class:`DOMTimeStamp`" +msgstr ":class:`DOMTimeStamp`" + +msgid ":class:`EntityReference`" +msgstr ":class:`EntityReference`" + +msgid "" +"Most of these reflect information in the XML document that is not of general " +"utility to most DOM users." +msgstr "" +"Більшість із них відображає інформацію в XML-документі, яка не є загальною " +"корисністю для більшості користувачів DOM." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The encoding name included in the XML output should conform to the " +"appropriate standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not " +"valid in an XML document's declaration, even though Python accepts it as an " +"encoding name. See https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-" +"EncodingDecl and https://www.iana.org/assignments/character-sets/character-" +"sets.xhtml." +msgstr "" +"Ім’я кодування, включене у вивід XML, має відповідати відповідним " +"стандартам. Наприклад, \"UTF-8\" є дійсним, але \"UTF8\" не є дійсним в " +"декларації документа XML, навіть якщо Python приймає його як назву " +"кодування. Див. https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-" +"EncodingDecl і https://www.iana.org/assignments/character-sets/character-" +"sets.xhtml." diff --git a/library/xml_dom_pulldom.po b/library/xml_dom_pulldom.po new file mode 100644 index 000000000..736d7ca6e --- /dev/null +++ b/library/xml_dom_pulldom.po @@ -0,0 +1,187 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.dom.pulldom` --- Support for building partial DOM trees" +msgstr ":mod:`xml.dom.pulldom` --- Підтримка створення часткових дерев DOM" + +msgid "**Source code:** :source:`Lib/xml/dom/pulldom.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/dom/pulldom.py`" + +msgid "" +"The :mod:`xml.dom.pulldom` module provides a \"pull parser\" which can also " +"be asked to produce DOM-accessible fragments of the document where " +"necessary. The basic concept involves pulling \"events\" from a stream of " +"incoming XML and processing them. In contrast to SAX which also employs an " +"event-driven processing model together with callbacks, the user of a pull " +"parser is responsible for explicitly pulling events from the stream, looping " +"over those events until either processing is finished or an error condition " +"occurs." +msgstr "" +"Модуль :mod:`xml.dom.pulldom` забезпечує \"аналізатор витягування\", який " +"також може бути запрошений створити доступні для DOM фрагменти документа, де " +"це необхідно. Основна концепція передбачає вилучення \"подій\" із потоку " +"вхідного XML та їх обробку. На відміну від SAX, який також використовує " +"керовану подіями модель обробки разом із зворотними викликами, користувач " +"аналізатора вилучення відповідає за явне отримання подій із потоку, циклюючи " +"ці події, доки обробка не завершиться або не виникне помилка." + +msgid "" +"The :mod:`xml.dom.pulldom` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data " +"see :ref:`xml-vulnerabilities`." +msgstr "" +"Модуль :mod:`xml.dom.pulldom` не захищений від зловмисно створених даних. " +"Якщо вам потрібно проаналізувати ненадійні або неавтентифіковані дані, " +"перегляньте :ref:`xml-vulnerabilities`." + +msgid "" +"The SAX parser no longer processes general external entities by default to " +"increase security by default. To enable processing of external entities, " +"pass a custom parser instance in::" +msgstr "" +"Синтаксичний аналізатор SAX більше не обробляє загальні зовнішні сутності за " +"замовчуванням, щоб підвищити рівень безпеки за замовчуванням. Щоб увімкнути " +"обробку зовнішніх об’єктів, передайте настроюваний екземпляр аналізатора в::" + +msgid "Example::" +msgstr "Приклад::" + +msgid "``event`` is a constant and can be one of:" +msgstr "``подія`` є константою і може бути одним із:" + +msgid ":data:`START_ELEMENT`" +msgstr ":data:`START_ELEMENT`" + +msgid ":data:`END_ELEMENT`" +msgstr ":data:`END_ELEMENT`" + +msgid ":data:`COMMENT`" +msgstr ":data:`COMMENT`" + +msgid ":data:`START_DOCUMENT`" +msgstr ":data:`START_DOCUMENT`" + +msgid ":data:`END_DOCUMENT`" +msgstr ":data:`END_DOCUMENT`" + +msgid ":data:`CHARACTERS`" +msgstr ":data:`CHARACTERS`" + +msgid ":data:`PROCESSING_INSTRUCTION`" +msgstr ":data:`INSTRUCTION_PROCESSING_INSTRUCTION`" + +msgid ":data:`IGNORABLE_WHITESPACE`" +msgstr ":data:`IGNORABLE_WHITESPACE`" + +msgid "" +"``node`` is an object of type :class:`xml.dom.minidom.Document`, :class:`xml." +"dom.minidom.Element` or :class:`xml.dom.minidom.Text`." +msgstr "" +"``вузол`` є об’єктом типу :class:`xml.dom.minidom.Document`, :class:`xml.dom." +"minidom.Element` або :class:`xml.dom.minidom.Text`." + +msgid "" +"Since the document is treated as a \"flat\" stream of events, the document " +"\"tree\" is implicitly traversed and the desired elements are found " +"regardless of their depth in the tree. In other words, one does not need to " +"consider hierarchical issues such as recursive searching of the document " +"nodes, although if the context of elements were important, one would either " +"need to maintain some context-related state (i.e. remembering where one is " +"in the document at any given point) or to make use of the :func:" +"`DOMEventStream.expandNode` method and switch to DOM-related processing." +msgstr "" +"Оскільки документ розглядається як \"плоский\" потік подій, \"дерево\" " +"документа обходиться неявно, і потрібні елементи знаходять незалежно від їх " +"глибини в дереві. Іншими словами, не потрібно розглядати ієрархічні " +"проблеми, такі як рекурсивний пошук вузлів документа, хоча, якби контекст " +"елементів був важливим, потрібно було б підтримувати певний контекстно-" +"пов’язаний стан (тобто запам’ятовувати, де ви знаходитесь у документі) у " +"будь-який момент) або використати метод :func:`DOMEventStream.expandNode` і " +"перейти до обробки, пов’язаної з DOM." + +msgid "Subclass of :class:`xml.sax.handler.ContentHandler`." +msgstr "Підклас :class:`xml.sax.handler.ContentHandler`." + +msgid "" +"Return a :class:`DOMEventStream` from the given input. *stream_or_string* " +"may be either a file name, or a file-like object. *parser*, if given, must " +"be an :class:`~xml.sax.xmlreader.XMLReader` object. This function will " +"change the document handler of the parser and activate namespace support; " +"other parser configuration (like setting an entity resolver) must have been " +"done in advance." +msgstr "" +"Повертає :class:`DOMEventStream` із заданого введення. *stream_or_string* " +"може бути ім’ям файлу або файлоподібним об’єктом. *parser*, якщо задано, має " +"бути об’єктом :class:`~xml.sax.xmlreader.XMLReader`. Ця функція змінить " +"обробник документів аналізатора та активує підтримку простору імен; іншу " +"конфігурацію синтаксичного аналізатора (наприклад, налаштування розв’язувача " +"сутностей) потрібно було виконати заздалегідь." + +msgid "" +"If you have XML in a string, you can use the :func:`parseString` function " +"instead:" +msgstr "" +"Якщо у вас є XML у рядку, ви можете використовувати замість нього функцію :" +"func:`parseString`:" + +msgid "" +"Return a :class:`DOMEventStream` that represents the (Unicode) *string*." +msgstr "Повертає :class:`DOMEventStream`, який представляє *рядок* (Unicode)." + +msgid "Default value for the *bufsize* parameter to :func:`parse`." +msgstr "Значення за замовчуванням для параметра *bufsize* — :func:`parse`." + +msgid "" +"The value of this variable can be changed before calling :func:`parse` and " +"the new value will take effect." +msgstr "" +"Значення цієї змінної можна змінити перед викликом :func:`parse`, і нове " +"значення набуде чинності." + +msgid "DOMEventStream Objects" +msgstr "Об’єкти DOMEventStream" + +msgid "Support for :meth:`__getitem__` method has been removed." +msgstr "" + +msgid "" +"Return a tuple containing *event* and the current *node* as :class:`xml.dom." +"minidom.Document` if event equals :data:`START_DOCUMENT`, :class:`xml.dom." +"minidom.Element` if event equals :data:`START_ELEMENT` or :data:" +"`END_ELEMENT` or :class:`xml.dom.minidom.Text` if event equals :data:" +"`CHARACTERS`. The current node does not contain information about its " +"children, unless :func:`expandNode` is called." +msgstr "" +"Повертає кортеж, що містить *подію* та поточний *вузол* як :class:`xml.dom." +"minidom.Document`, якщо подія дорівнює :data:`START_DOCUMENT`, :class:`xml." +"dom.minidom.Element`, якщо подія дорівнює :data:`START_ELEMENT` або :data:" +"`END_ELEMENT` або :class:`xml.dom.minidom.Text`, якщо подія дорівнює :data:" +"`CHARACTERS`. Поточний вузол не містить інформації про своїх дочірніх " +"вузлів, якщо не викликати :func:`expandNode`." + +msgid "Expands all children of *node* into *node*. Example::" +msgstr "Розгортає всі дочірні елементи *node* у *node*. Приклад::" diff --git a/library/xml_etree_elementtree.po b/library/xml_etree_elementtree.po new file mode 100644 index 000000000..4b7aed1a3 --- /dev/null +++ b/library/xml_etree_elementtree.po @@ -0,0 +1,1781 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.etree.ElementTree` --- The ElementTree XML API" +msgstr ":mod:`xml.etree.ElementTree` --- XML API ElementTree" + +msgid "**Source code:** :source:`Lib/xml/etree/ElementTree.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/etree/ElementTree.py`" + +msgid "" +"The :mod:`xml.etree.ElementTree` module implements a simple and efficient " +"API for parsing and creating XML data." +msgstr "" +"Модуль :mod:`xml.etree.ElementTree` реалізує простий і ефективний API для " +"аналізу та створення даних XML." + +msgid "This module will use a fast implementation whenever available." +msgstr "Цей модуль використовуватиме швидку реалізацію, якщо вона доступна." + +msgid "The :mod:`xml.etree.cElementTree` module is deprecated." +msgstr "Модуль :mod:`xml.etree.cElementTree` застарів." + +msgid "" +"The :mod:`xml.etree.ElementTree` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data " +"see :ref:`xml-vulnerabilities`." +msgstr "" +"Модуль :mod:`xml.etree.ElementTree` не захищений від зловмисно створених " +"даних. Якщо вам потрібно проаналізувати ненадійні або неавтентифіковані " +"дані, перегляньте :ref:`xml-vulnerabilities`." + +msgid "Tutorial" +msgstr "Підручник" + +msgid "" +"This is a short tutorial for using :mod:`xml.etree.ElementTree` (``ET`` in " +"short). The goal is to demonstrate some of the building blocks and basic " +"concepts of the module." +msgstr "" +"Це короткий посібник із використання :mod:`xml.etree.ElementTree` (коротко " +"``ET``). Мета полягає в тому, щоб продемонструвати деякі будівельні блоки та " +"основні концепції модуля." + +msgid "XML tree and elements" +msgstr "Дерево та елементи XML" + +msgid "" +"XML is an inherently hierarchical data format, and the most natural way to " +"represent it is with a tree. ``ET`` has two classes for this purpose - :" +"class:`ElementTree` represents the whole XML document as a tree, and :class:" +"`Element` represents a single node in this tree. Interactions with the " +"whole document (reading and writing to/from files) are usually done on the :" +"class:`ElementTree` level. Interactions with a single XML element and its " +"sub-elements are done on the :class:`Element` level." +msgstr "" +"XML за своєю суттю є ієрархічним форматом даних, і найприроднішим способом " +"його представлення є дерево. ``ET`` має два класи для цієї мети - :class:" +"`ElementTree` представляє весь XML-документ у вигляді дерева, а :class:" +"`Element` представляє окремий вузол у цьому дереві. Взаємодія з усім " +"документом (читання та запис до/з файлів) зазвичай здійснюється на рівні :" +"class:`ElementTree`. Взаємодія з одним елементом XML і його піделементами " +"здійснюється на рівні :class:`Element`." + +msgid "Parsing XML" +msgstr "Розбір XML" + +msgid "" +"We'll be using the following XML document as the sample data for this " +"section:" +msgstr "" +"Ми будемо використовувати такий XML-документ як зразки даних для цього " +"розділу:" + +msgid "We can import this data by reading from a file::" +msgstr "Ми можемо імпортувати ці дані, зчитуючи з файлу::" + +msgid "Or directly from a string::" +msgstr "Або безпосередньо з рядка::" + +msgid "" +":func:`fromstring` parses XML from a string directly into an :class:" +"`Element`, which is the root element of the parsed tree. Other parsing " +"functions may create an :class:`ElementTree`. Check the documentation to be " +"sure." +msgstr "" +":func:`fromstring` аналізує XML із рядка безпосередньо в :class:`Element`, " +"який є кореневим елементом проаналізованого дерева. Інші функції аналізу " +"можуть створити :class:`ElementTree`. Перевірте документацію, щоб " +"переконатися." + +msgid "" +"As an :class:`Element`, ``root`` has a tag and a dictionary of attributes::" +msgstr "Як :class:`Element`, ``root`` має тег і словник атрибутів::" + +msgid "It also has children nodes over which we can iterate::" +msgstr "Він також має дочірні вузли, по яких ми можемо повторювати:" + +msgid "Children are nested, and we can access specific child nodes by index::" +msgstr "" +"Дочірні вузли є вкладеними, і ми можемо отримати доступ до певних дочірніх " +"вузлів за індексом::" + +msgid "" +"Not all elements of the XML input will end up as elements of the parsed " +"tree. Currently, this module skips over any XML comments, processing " +"instructions, and document type declarations in the input. Nevertheless, " +"trees built using this module's API rather than parsing from XML text can " +"have comments and processing instructions in them; they will be included " +"when generating XML output. A document type declaration may be accessed by " +"passing a custom :class:`TreeBuilder` instance to the :class:`XMLParser` " +"constructor." +msgstr "" +"Не всі елементи XML-введення стануть елементами проаналізованого дерева. " +"Наразі цей модуль пропускає будь-які коментарі XML, інструкції з обробки та " +"оголошення типу документів у вхідних даних. Тим не менш, дерева, створені за " +"допомогою API цього модуля, а не синтаксичного аналізу тексту XML, можуть " +"містити коментарі та інструкції з обробки; вони будуть включені під час " +"генерації вихідних даних XML. Оголошення типу документа можна отримати, " +"передавши спеціальний екземпляр :class:`TreeBuilder` конструктору :class:" +"`XMLParser`." + +msgid "Pull API for non-blocking parsing" +msgstr "Pull API для неблокуючого аналізу" + +msgid "" +"Most parsing functions provided by this module require the whole document to " +"be read at once before returning any result. It is possible to use an :" +"class:`XMLParser` and feed data into it incrementally, but it is a push API " +"that calls methods on a callback target, which is too low-level and " +"inconvenient for most needs. Sometimes what the user really wants is to be " +"able to parse XML incrementally, without blocking operations, while enjoying " +"the convenience of fully constructed :class:`Element` objects." +msgstr "" +"Більшість функцій синтаксичного аналізу, наданих цим модулем, вимагають " +"одночасного читання всього документа перед поверненням будь-якого " +"результату. Можна використовувати :class:`XMLParser` і подавати дані в нього " +"поступово, але це API push, який викликає методи в цілі зворотного виклику, " +"що є надто низьким рівнем і незручним для більшості потреб. Іноді користувач " +"справді хоче мати можливість поступово аналізувати XML без блокування " +"операцій, насолоджуючись при цьому зручністю повністю сконструйованих " +"об’єктів :class:`Element`." + +msgid "" +"The most powerful tool for doing this is :class:`XMLPullParser`. It does " +"not require a blocking read to obtain the XML data, and is instead fed with " +"data incrementally with :meth:`XMLPullParser.feed` calls. To get the parsed " +"XML elements, call :meth:`XMLPullParser.read_events`. Here is an example::" +msgstr "" +"Найпотужнішим інструментом для цього є :class:`XMLPullParser`. Він не " +"потребує блокуючого читання для отримання XML-даних, натомість дані " +"подаються поступово за допомогою викликів :meth:`XMLPullParser.feed`. Щоб " +"отримати проаналізовані елементи XML, викличте :meth:`XMLPullParser." +"read_events`. Ось приклад::" + +msgid "" +"The obvious use case is applications that operate in a non-blocking fashion " +"where the XML data is being received from a socket or read incrementally " +"from some storage device. In such cases, blocking reads are unacceptable." +msgstr "" +"Очевидним варіантом використання є додатки, які працюють без блокування, " +"коли XML-дані надходять із сокета або зчитуються поступово з якогось " +"пристрою зберігання даних. У таких випадках блокування читання неприпустимо." + +msgid "" +"Because it's so flexible, :class:`XMLPullParser` can be inconvenient to use " +"for simpler use-cases. If you don't mind your application blocking on " +"reading XML data but would still like to have incremental parsing " +"capabilities, take a look at :func:`iterparse`. It can be useful when " +"you're reading a large XML document and don't want to hold it wholly in " +"memory." +msgstr "" +"Оскільки він дуже гнучкий, :class:`XMLPullParser` може бути незручним у " +"використанні для простіших випадків використання. Якщо ви не заперечуєте, що " +"ваша програма блокує читання XML-даних, але все одно хочете мати можливості " +"поступового аналізу, подивіться на :func:`iterparse`. Це може бути корисно, " +"коли ви читаєте великий XML-документ і не хочете повністю тримати його в " +"пам’яті." + +msgid "Finding interesting elements" +msgstr "Пошук цікавих елементів" + +msgid "" +":class:`Element` has some useful methods that help iterate recursively over " +"all the sub-tree below it (its children, their children, and so on). For " +"example, :meth:`Element.iter`::" +msgstr "" +":class:`Element` має кілька корисних методів, які допомагають рекурсивно " +"перебирати все піддерево під ним (його дочірні елементи, їхні дочірні " +"елементи тощо). Наприклад, :meth:`Element.iter`::" + +msgid "" +":meth:`Element.findall` finds only elements with a tag which are direct " +"children of the current element. :meth:`Element.find` finds the *first* " +"child with a particular tag, and :attr:`Element.text` accesses the element's " +"text content. :meth:`Element.get` accesses the element's attributes::" +msgstr "" +":meth:`Element.findall` знаходить лише елементи з тегом, які є прямими " +"дочірніми елементами поточного елемента. :meth:`Element.find` знаходить " +"*перший* дочірній елемент із певним тегом, а :attr:`Element.text` отримує " +"доступ до текстового вмісту елемента. :meth:`Element.get` отримує доступ до " +"атрибутів елемента::" + +msgid "" +"More sophisticated specification of which elements to look for is possible " +"by using :ref:`XPath `." +msgstr "" +"Більш складна специфікація того, які елементи шукати, можлива за допомогою :" +"ref:`XPath `." + +msgid "Modifying an XML File" +msgstr "Змінення файлу XML" + +msgid "" +":class:`ElementTree` provides a simple way to build XML documents and write " +"them to files. The :meth:`ElementTree.write` method serves this purpose." +msgstr "" +":class:`ElementTree` забезпечує простий спосіб створювати XML-документи та " +"записувати їх у файли. Метод :meth:`ElementTree.write` служить для цієї мети." + +msgid "" +"Once created, an :class:`Element` object may be manipulated by directly " +"changing its fields (such as :attr:`Element.text`), adding and modifying " +"attributes (:meth:`Element.set` method), as well as adding new children (for " +"example with :meth:`Element.append`)." +msgstr "" +"Після створення об’єктом :class:`Element` можна маніпулювати, безпосередньо " +"змінюючи його поля (наприклад, :attr:`Element.text`), додаючи та змінюючи " +"атрибути (метод :meth:`Element.set`), а також як додавання нових дітей " +"(наприклад, за допомогою :meth:`Element.append`)." + +msgid "" +"Let's say we want to add one to each country's rank, and add an ``updated`` " +"attribute to the rank element::" +msgstr "" +"Припустімо, ми хочемо додати один до рейтингу кожної країни та додати " +"атрибут ``updated`` до елемента rank:" + +msgid "Our XML now looks like this:" +msgstr "Тепер наш XML виглядає так:" + +msgid "" +"We can remove elements using :meth:`Element.remove`. Let's say we want to " +"remove all countries with a rank higher than 50::" +msgstr "" +"Ми можемо видалити елементи за допомогою :meth:`Element.remove`. Скажімо, ми " +"хочемо видалити всі країни з рейтингом вище 50::" + +msgid "" +"Note that concurrent modification while iterating can lead to problems, just " +"like when iterating and modifying Python lists or dicts. Therefore, the " +"example first collects all matching elements with ``root.findall()``, and " +"only then iterates over the list of matches." +msgstr "" +"Зверніть увагу, що одночасна модифікація під час ітерації може призвести до " +"проблем, як і під час ітерації та модифікації списків Python або dicts. " +"Таким чином, приклад спочатку збирає всі відповідні елементи за допомогою " +"``root.findall()``, а лише потім повторює список збігів." + +msgid "Building XML documents" +msgstr "Створення документів XML" + +msgid "" +"The :func:`SubElement` function also provides a convenient way to create new " +"sub-elements for a given element::" +msgstr "" +"Функція :func:`SubElement` також забезпечує зручний спосіб створення нових " +"піделементів для певного елемента:" + +msgid "Parsing XML with Namespaces" +msgstr "Розбір XML з просторами імен" + +msgid "" +"If the XML input has `namespaces `__, tags and attributes with prefixes in the form ``prefix:" +"sometag`` get expanded to ``{uri}sometag`` where the *prefix* is replaced by " +"the full *URI*. Also, if there is a `default namespace `__, that full URI gets prepended to all of the non-" +"prefixed tags." +msgstr "" +"Якщо вхідні дані XML містять `простори імен `__, теги й атрибути з префіксами у формі ``prefix:sometag`` " +"розширюються до ``{uri}sometag``, де *префікс* замінюється повним *URI* . " +"Крім того, якщо існує `простір імен за замовчуванням `__, цей повний URI додається до всіх тегів без " +"префіксів." + +msgid "" +"Here is an XML example that incorporates two namespaces, one with the prefix " +"\"fictional\" and the other serving as the default namespace:" +msgstr "" +"Ось приклад XML, який містить два простори імен, один із префіксом " +"\"вигаданий\", а інший — простір імен за умовчанням:" + +msgid "" +"One way to search and explore this XML example is to manually add the URI to " +"every tag or attribute in the xpath of a :meth:`~Element.find` or :meth:" +"`~Element.findall`::" +msgstr "" +"Один із способів пошуку та вивчення цього прикладу XML — це вручну додати " +"URI до кожного тегу чи атрибута в xpath :meth:`~Element.find` або :meth:" +"`~Element.findall`::" + +msgid "" +"A better way to search the namespaced XML example is to create a dictionary " +"with your own prefixes and use those in the search functions::" +msgstr "" +"Кращий спосіб пошуку у прикладі XML із простором імен — створити словник із " +"власними префіксами та використовувати їх у функціях пошуку:" + +msgid "These two approaches both output::" +msgstr "Ці два підходи виводять:" + +msgid "XPath support" +msgstr "Підтримка XPath" + +msgid "" +"This module provides limited support for `XPath expressions `_ for locating elements in a tree. The goal is to support a " +"small subset of the abbreviated syntax; a full XPath engine is outside the " +"scope of the module." +msgstr "" +"Цей модуль забезпечує обмежену підтримку виразів `XPath `_ для пошуку елементів у дереві. Метою є підтримка невеликої " +"підмножини скороченого синтаксису; повний механізм XPath виходить за рамки " +"модуля." + +msgid "Example" +msgstr "приклад" + +msgid "" +"Here's an example that demonstrates some of the XPath capabilities of the " +"module. We'll be using the ``countrydata`` XML document from the :ref:" +"`Parsing XML ` section::" +msgstr "" +"Ось приклад, який демонструє деякі можливості модуля XPath. Ми будемо " +"використовувати XML-документ ``countrydata`` з розділу :ref:`Parsing XML " +"`::" + +msgid "" +"For XML with namespaces, use the usual qualified ``{namespace}tag`` " +"notation::" +msgstr "" +"Для XML із просторами імен використовуйте звичайну нотацію ``{namespace}" +"tag``::" + +msgid "Supported XPath syntax" +msgstr "Підтримуваний синтаксис XPath" + +msgid "Syntax" +msgstr "Синтаксис" + +msgid "Meaning" +msgstr "Значення" + +msgid "``tag``" +msgstr "``тег``" + +msgid "" +"Selects all child elements with the given tag. For example, ``spam`` selects " +"all child elements named ``spam``, and ``spam/egg`` selects all " +"grandchildren named ``egg`` in all children named ``spam``. ``{namespace}" +"*`` selects all tags in the given namespace, ``{*}spam`` selects tags named " +"``spam`` in any (or no) namespace, and ``{}*`` only selects tags that are " +"not in a namespace." +msgstr "" +"Вибирає всі дочірні елементи з заданим тегом. Наприклад, ``spam`` вибирає " +"всі дочірні елементи з іменем ``spam``, а ``spam/egg`` вибирає всіх онуків з " +"іменем ``egg`` у всіх дочірніх елементах з іменем ``spam``. ``{namespace}*`` " +"вибирає всі теги в заданому просторі імен, ``{*}spam`` вибирає теги з назвою " +"``spam`` у будь-якому просторі імен (або без нього), а ``{}*`` лише вибирає " +"теги, які не знаходяться в просторі імен." + +msgid "Support for star-wildcards was added." +msgstr "Додано підтримку символів підстановки зірок." + +msgid "``*``" +msgstr "``*``" + +msgid "" +"Selects all child elements, including comments and processing instructions. " +"For example, ``*/egg`` selects all grandchildren named ``egg``." +msgstr "" +"Вибирає всі дочірні елементи, включаючи коментарі та інструкції з обробки. " +"Наприклад, ``*/egg`` вибирає всіх онуків з іменем ``egg``." + +msgid "``.``" +msgstr "``.``" + +msgid "" +"Selects the current node. This is mostly useful at the beginning of the " +"path, to indicate that it's a relative path." +msgstr "" +"Вибирає поточний вузол. Це здебільшого корисно на початку шляху, щоб " +"вказати, що це відносний шлях." + +msgid "``//``" +msgstr "``//``" + +msgid "" +"Selects all subelements, on all levels beneath the current element. For " +"example, ``.//egg`` selects all ``egg`` elements in the entire tree." +msgstr "" +"Вибирає всі піделементи на всіх рівнях під поточним елементом. Наприклад, " +"``.//egg`` вибирає всі елементи ``egg`` у всьому дереві." + +msgid "``..``" +msgstr "``..``" + +msgid "" +"Selects the parent element. Returns ``None`` if the path attempts to reach " +"the ancestors of the start element (the element ``find`` was called on)." +msgstr "" +"Вибирає батьківський елемент. Повертає ``None``, якщо шлях намагається " +"досягти предків початкового елемента (був викликаний елемент ``find``)." + +msgid "``[@attrib]``" +msgstr "``[@attrib]``" + +msgid "Selects all elements that have the given attribute." +msgstr "Вибирає всі елементи, які мають заданий атрибут." + +msgid "``[@attrib='value']``" +msgstr "``[@attrib='value']``" + +msgid "" +"Selects all elements for which the given attribute has the given value. The " +"value cannot contain quotes." +msgstr "" +"Вибирає всі елементи, для яких даний атрибут має задане значення. Значення " +"не може містити лапки." + +msgid "``[@attrib!='value']``" +msgstr "``[@attrib!='value']``" + +msgid "" +"Selects all elements for which the given attribute does not have the given " +"value. The value cannot contain quotes." +msgstr "" +"Вибирає всі елементи, для яких даний атрибут не має заданого значення. " +"Значення не може містити лапки." + +msgid "``[tag]``" +msgstr "``[тег]``" + +msgid "" +"Selects all elements that have a child named ``tag``. Only immediate " +"children are supported." +msgstr "" +"Вибирає всі елементи, які мають дочірні елементи з іменем ``tag``. " +"Утримуються лише найближчі діти." + +msgid "``[.='text']``" +msgstr "``[.='текст']``" + +msgid "" +"Selects all elements whose complete text content, including descendants, " +"equals the given ``text``." +msgstr "" +"Вибирає всі елементи, повний текстовий вміст яких, включаючи нащадків, " +"дорівнює заданому ``тексту``." + +msgid "``[.!='text']``" +msgstr "``[.!='текст']``" + +msgid "" +"Selects all elements whose complete text content, including descendants, " +"does not equal the given ``text``." +msgstr "" +"Вибирає всі елементи, повний текстовий вміст яких, включно з нащадками, не " +"відповідає заданому ``тексту``." + +msgid "``[tag='text']``" +msgstr "``[tag='text']``" + +msgid "" +"Selects all elements that have a child named ``tag`` whose complete text " +"content, including descendants, equals the given ``text``." +msgstr "" +"Вибирає всі елементи, які мають дочірні елементи з назвою ``tag``, повний " +"текстовий вміст яких, включаючи нащадків, дорівнює заданому ``text``." + +msgid "``[tag!='text']``" +msgstr "``[tag!='text']``" + +msgid "" +"Selects all elements that have a child named ``tag`` whose complete text " +"content, including descendants, does not equal the given ``text``." +msgstr "" +"Вибирає всі елементи, які мають дочірні елементи з іменем ``tag``, повний " +"текстовий вміст яких, включаючи нащадків, не збігається з заданим ``text``." + +msgid "``[position]``" +msgstr "``[позиція]``" + +msgid "" +"Selects all elements that are located at the given position. The position " +"can be either an integer (1 is the first position), the expression " +"``last()`` (for the last position), or a position relative to the last " +"position (e.g. ``last()-1``)." +msgstr "" +"Вибирає всі елементи, які розташовані на заданій позиції. Позиція може бути " +"цілим числом (1 — перша позиція), виразом ``last()`` (для останньої позиції) " +"або позицією відносно останньої позиції (наприклад, ``last()-1`` )." + +msgid "" +"Predicates (expressions within square brackets) must be preceded by a tag " +"name, an asterisk, or another predicate. ``position`` predicates must be " +"preceded by a tag name." +msgstr "" +"Предикати (вирази в квадратних дужках) мають передувати назві тегу, зірочці " +"або іншому предикату. Предикатам ``position`` має передувати ім’я тегу." + +msgid "Reference" +msgstr "довідка" + +msgid "Functions" +msgstr "Функції" + +msgid "`C14N 2.0 `_ transformation function." +msgstr "`C14N 2.0 `_ функція перетворення." + +msgid "" +"Canonicalization is a way to normalise XML output in a way that allows byte-" +"by-byte comparisons and digital signatures. It reduced the freedom that XML " +"serializers have and instead generates a more constrained XML " +"representation. The main restrictions regard the placement of namespace " +"declarations, the ordering of attributes, and ignorable whitespace." +msgstr "" +"Канонізація — це спосіб нормалізації XML-виводу таким чином, щоб уможливити " +"побайтове порівняння та цифрові підписи. Це зменшило свободу, яку мають " +"серіалізатори XML, і натомість генерувало більш обмежене представлення XML. " +"Основні обмеження стосуються розміщення оголошень простору імен, " +"упорядкування атрибутів і пропусків, які можна ігнорувати." + +msgid "" +"This function takes an XML data string (*xml_data*) or a file path or file-" +"like object (*from_file*) as input, converts it to the canonical form, and " +"writes it out using the *out* file(-like) object, if provided, or returns it " +"as a text string if not. The output file receives text, not bytes. It " +"should therefore be opened in text mode with ``utf-8`` encoding." +msgstr "" +"Ця функція приймає рядок XML-даних (*xml_data*) або шлях до файлу або " +"файлоподібний об’єкт (*from_file*) як вхідні дані, перетворює їх у канонічну " +"форму та записує за допомогою *out* file(-like) об’єкт, якщо він наданий, " +"або повертає його як текстовий рядок, якщо ні. Вихідний файл отримує текст, " +"а не байти. Тому його слід відкривати в текстовому режимі з кодуванням " +"``utf-8``." + +msgid "Typical uses::" +msgstr "Типове використання::" + +msgid "The configuration *options* are as follows:" +msgstr "*Параметри* конфігурації такі:" + +msgid "*with_comments*: set to true to include comments (default: false)" +msgstr "" +"*with_comments*: установіть значення true, щоб включити коментарі (за " +"замовчуванням: false)" + +msgid "" +"*strip_text*: set to true to strip whitespace before and after text content" +msgstr "" +"*strip_text*: установіть значення true, щоб видалити пробіли перед і після " +"текстового вмісту" + +msgid "(default: false)" +msgstr "(за замовчуванням: false)" + +msgid "" +"*rewrite_prefixes*: set to true to replace namespace prefixes by " +"\"n{number}\"" +msgstr "" +"*rewrite_prefixes*: встановлено значення true, щоб замінити префікси " +"простору імен на \"n{number}\"" + +msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" +msgstr "*qname_aware_tags*: набір імен тегів qname, у яких префікси" + +msgid "should be replaced in text content (default: empty)" +msgstr "слід замінити в текстовому вмісті (за замовчуванням: пусто)" + +msgid "" +"*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" +msgstr "" +"*qname_aware_attrs*: набір імен атрибутів, що підтримують qname, у яких " +"префікси" + +msgid "*exclude_attrs*: a set of attribute names that should not be serialised" +msgstr "" +"*exclude_attrs*: набір імен атрибутів, які не повинні бути серіалізовані" + +msgid "*exclude_tags*: a set of tag names that should not be serialised" +msgstr "*exclude_tags*: набір імен тегів, які не повинні бути серіалізовані" + +msgid "" +"In the option list above, \"a set\" refers to any collection or iterable of " +"strings, no ordering is expected." +msgstr "" +"У наведеному вище списку параметрів \"набір\" відноситься до будь-якої " +"колекції або ітерації рядків, упорядкування не очікується." + +msgid "" +"Comment element factory. This factory function creates a special element " +"that will be serialized as an XML comment by the standard serializer. The " +"comment string can be either a bytestring or a Unicode string. *text* is a " +"string containing the comment string. Returns an element instance " +"representing a comment." +msgstr "" +"Фабрика елементів коментарів. Ця фабрична функція створює спеціальний " +"елемент, який буде серіалізовано як коментар XML стандартним серіалізатором. " +"Рядок коментаря може бути байтовим рядком або рядком Unicode. *text* – це " +"рядок, що містить рядок коментаря. Повертає екземпляр елемента, що " +"представляє коментар." + +msgid "" +"Note that :class:`XMLParser` skips over comments in the input instead of " +"creating comment objects for them. An :class:`ElementTree` will only contain " +"comment nodes if they have been inserted into to the tree using one of the :" +"class:`Element` methods." +msgstr "" +"Зауважте, що :class:`XMLParser` пропускає коментарі у вхідних даних замість " +"того, щоб створювати для них об’єкти коментарів. :class:`ElementTree` " +"міститиме лише вузли коментарів, якщо вони були вставлені в дерево за " +"допомогою одного з методів :class:`Element`." + +msgid "" +"Writes an element tree or element structure to sys.stdout. This function " +"should be used for debugging only." +msgstr "" +"Записує дерево елементів або структуру елементів у sys.stdout. Цю функцію " +"слід використовувати лише для налагодження." + +msgid "" +"The exact output format is implementation dependent. In this version, it's " +"written as an ordinary XML file." +msgstr "" +"Точний вихідний формат залежить від реалізації. У цій версії він написаний " +"як звичайний файл XML." + +msgid "*elem* is an element tree or an individual element." +msgstr "*elem* — дерево елементів або окремий елемент." + +msgid "" +"The :func:`dump` function now preserves the attribute order specified by the " +"user." +msgstr "" +"Функція :func:`dump` тепер зберігає порядок атрибутів, указаний користувачем." + +msgid "" +"Parses an XML section from a string constant. Same as :func:`XML`. *text* " +"is a string containing XML data. *parser* is an optional parser instance. " +"If not given, the standard :class:`XMLParser` parser is used. Returns an :" +"class:`Element` instance." +msgstr "" +"Розбирає розділ XML із константи рядка. Те саме, що :func:`XML`. *текст* — " +"це рядок, що містить дані XML. *parser* є необов’язковим екземпляром " +"парсера. Якщо не вказано, використовується стандартний аналізатор :class:" +"`XMLParser`. Повертає екземпляр :class:`Element`." + +msgid "" +"Parses an XML document from a sequence of string fragments. *sequence* is a " +"list or other sequence containing XML data fragments. *parser* is an " +"optional parser instance. If not given, the standard :class:`XMLParser` " +"parser is used. Returns an :class:`Element` instance." +msgstr "" +"Розбирає XML-документ із послідовності фрагментів рядків. *послідовність* — " +"це список або інша послідовність, що містить фрагменти даних XML. *parser* є " +"необов’язковим екземпляром парсера. Якщо не вказано, використовується " +"стандартний аналізатор :class:`XMLParser`. Повертає екземпляр :class:" +"`Element`." + +msgid "" +"Appends whitespace to the subtree to indent the tree visually. This can be " +"used to generate pretty-printed XML output. *tree* can be an Element or " +"ElementTree. *space* is the whitespace string that will be inserted for " +"each indentation level, two space characters by default. For indenting " +"partial subtrees inside of an already indented tree, pass the initial " +"indentation level as *level*." +msgstr "" +"До піддерева додає пробіли для візуального відступу дерева. Це можна " +"використати для генерації красивого друкованого виводу XML. *дерево* може " +"бути елементом або деревом елементів. *пробіл* — це пробільний рядок, який " +"буде вставлено для кожного рівня відступу, два символи пробілу за " +"замовчуванням. Для відступу часткових піддерев усередині дерева з відступами " +"передайте початковий рівень відступу як *level*." + +msgid "" +"Check if an object appears to be a valid element object. *element* is an " +"element instance. Return ``True`` if this is an element object." +msgstr "" +"Перевірте, чи об’єкт є дійсним об’єктом елемента. *element* — екземпляр " +"елемента. Повертає ``True``, якщо це об’єкт елемента." + +msgid "" +"Parses an XML section into an element tree incrementally, and reports what's " +"going on to the user. *source* is a filename or :term:`file object` " +"containing XML data. *events* is a sequence of events to report back. The " +"supported events are the strings ``\"start\"``, ``\"end\"``, ``\"comment" +"\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the \"ns\" events are " +"used to get detailed namespace information). If *events* is omitted, only ``" +"\"end\"`` events are reported. *parser* is an optional parser instance. If " +"not given, the standard :class:`XMLParser` parser is used. *parser* must be " +"a subclass of :class:`XMLParser` and can only use the default :class:" +"`TreeBuilder` as a target. Returns an :term:`iterator` providing ``(event, " +"elem)`` pairs." +msgstr "" +"Поступово розбирає розділ XML у дерево елементів і повідомляє про те, що " +"відбувається користувачеві. *джерело* — це ім’я файлу або :term:`file " +"object`, що містить дані XML. *події* — це послідовність подій, про які " +"потрібно повідомити. Підтримуваними подіями є рядки ``\"start\"``, ``\"end" +"\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` і ``\"end-ns\"`` (події " +"\"ns\" використовуються для отримання детальної інформації про простір " +"імен). Якщо *events* опущено, повідомляються лише події ``\"end\"``. " +"*parser* є необов’язковим екземпляром парсера. Якщо не вказано, " +"використовується стандартний аналізатор :class:`XMLParser`. *parser* має " +"бути підкласом :class:`XMLParser` і може використовувати лише типовий :class:" +"`TreeBuilder` як ціль. Повертає :term:`iterator`, що забезпечує пари " +"``(event, elem)``." + +msgid "" +"Note that while :func:`iterparse` builds the tree incrementally, it issues " +"blocking reads on *source* (or the file it names). As such, it's unsuitable " +"for applications where blocking reads can't be made. For fully non-blocking " +"parsing, see :class:`XMLPullParser`." +msgstr "" +"Зауважте, що хоча :func:`iterparse` будує дерево поступово, він блокує " +"читання *source* (або файлу, який він називає). Таким чином, він не " +"підходить для додатків, де блокування зчитування неможливе. Повністю " +"неблокуючий аналіз див. :class:`XMLPullParser`." + +msgid "" +":func:`iterparse` only guarantees that it has seen the \">\" character of a " +"starting tag when it emits a \"start\" event, so the attributes are defined, " +"but the contents of the text and tail attributes are undefined at that " +"point. The same applies to the element children; they may or may not be " +"present." +msgstr "" +":func:`iterparse` лише гарантує, що він побачив символ \">\" початкового " +"тегу, коли він випромінює подію \"start\", тому атрибути визначені, але " +"вміст атрибутів text і tail на цьому етапі не визначено . Те саме стосується " +"елемента діти; вони можуть бути або не бути присутніми." + +msgid "If you need a fully populated element, look for \"end\" events instead." +msgstr "" +"Якщо вам потрібен повністю заповнений елемент, шукайте події \"кінець\"." + +msgid "The *parser* argument." +msgstr "Аргумент *parser*." + +msgid "The ``comment`` and ``pi`` events were added." +msgstr "Додано події ``comment`` і ``pi``." + +msgid "" +"Parses an XML section into an element tree. *source* is a filename or file " +"object containing XML data. *parser* is an optional parser instance. If " +"not given, the standard :class:`XMLParser` parser is used. Returns an :" +"class:`ElementTree` instance." +msgstr "" +"Розбирає розділ XML у дерево елементів. *джерело* — це ім’я файлу або об’єкт " +"файлу, що містить дані XML. *parser* є необов’язковим екземпляром парсера. " +"Якщо не вказано, використовується стандартний аналізатор :class:`XMLParser`. " +"Повертає екземпляр :class:`ElementTree`." + +msgid "" +"PI element factory. This factory function creates a special element that " +"will be serialized as an XML processing instruction. *target* is a string " +"containing the PI target. *text* is a string containing the PI contents, if " +"given. Returns an element instance, representing a processing instruction." +msgstr "" +"Завод ПІ-елементів. Ця фабрична функція створює спеціальний елемент, який " +"буде серіалізовано як інструкцію обробки XML. *target* — це рядок, що " +"містить ціль PI. *текст* — це рядок, що містить вміст PI, якщо його вказано. " +"Повертає екземпляр елемента, що представляє інструкцію обробки." + +msgid "" +"Note that :class:`XMLParser` skips over processing instructions in the input " +"instead of creating comment objects for them. An :class:`ElementTree` will " +"only contain processing instruction nodes if they have been inserted into to " +"the tree using one of the :class:`Element` methods." +msgstr "" +"Зауважте, що :class:`XMLParser` пропускає інструкції обробки у вхідних даних " +"замість того, щоб створювати для них об’єкти коментарів. :class:" +"`ElementTree` міститиме лише вузли інструкцій обробки, якщо їх було " +"вставлено в дерево за допомогою одного з методів :class:`Element`." + +msgid "" +"Registers a namespace prefix. The registry is global, and any existing " +"mapping for either the given prefix or the namespace URI will be removed. " +"*prefix* is a namespace prefix. *uri* is a namespace uri. Tags and " +"attributes in this namespace will be serialized with the given prefix, if at " +"all possible." +msgstr "" +"Реєструє префікс простору імен. Реєстр є глобальним, і будь-яке існуюче " +"відображення для заданого префікса або URI простору імен буде видалено. " +"*префікс* — це префікс простору імен. *uri* — це uri простору імен. Теги й " +"атрибути в цьому просторі імен будуть серіалізовані з заданим префіксом, " +"якщо це взагалі можливо." + +msgid "" +"Subelement factory. This function creates an element instance, and appends " +"it to an existing element." +msgstr "" +"Піделементний завод. Ця функція створює екземпляр елемента та додає його до " +"існуючого елемента." + +msgid "" +"The element name, attribute names, and attribute values can be either " +"bytestrings or Unicode strings. *parent* is the parent element. *tag* is " +"the subelement name. *attrib* is an optional dictionary, containing element " +"attributes. *extra* contains additional attributes, given as keyword " +"arguments. Returns an element instance." +msgstr "" +"Ім’я елемента, назви атрибутів і значення атрибутів можуть бути байтовими " +"рядками або рядками Unicode. *parent* є батьківським елементом. *тег* — це " +"назва піделемента. *attrib* — необов’язковий словник, що містить атрибути " +"елемента. *extra* містить додаткові атрибути, надані як аргументи ключових " +"слів. Повертає екземпляр елемента." + +msgid "" +"Generates a string representation of an XML element, including all " +"subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " +"the output encoding (default is US-ASCII). Use ``encoding=\"unicode\"`` to " +"generate a Unicode string (otherwise, a bytestring is generated). *method* " +"is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is ``\"xml" +"\"``). *xml_declaration*, *default_namespace* and *short_empty_elements* has " +"the same meaning as in :meth:`ElementTree.write`. Returns an (optionally) " +"encoded string containing the XML data." +msgstr "" +"Створює рядкове представлення елемента XML, включаючи всі піделементи. " +"*element* є екземпляром :class:`Element`. *кодування* [1]_ — вихідне " +"кодування (за замовчуванням — US-ASCII). Використовуйте ``encoding=\"unicode" +"\"``, щоб створити рядок Юнікод (інакше буде згенеровано байтовий рядок). " +"*method* — це ``\"xml\"``, ``\"html\"`` або ``\"text\"`` (за замовчуванням ``" +"\"xml\"``). *xml_declaration*, *default_namespace* і *short_empty_elements* " +"мають те саме значення, що й у :meth:`ElementTree.write`. Повертає " +"(необов’язково) закодований рядок, що містить дані XML." + +msgid "The *short_empty_elements* parameter." +msgstr "Параметр *short_empty_elements*." + +msgid "The *xml_declaration* and *default_namespace* parameters." +msgstr "Параметри *xml_declaration* і *default_namespace*." + +msgid "" +"The :func:`tostring` function now preserves the attribute order specified by " +"the user." +msgstr "" +"Функція :func:`tostring` тепер зберігає порядок атрибутів, указаний " +"користувачем." + +msgid "" +"Generates a string representation of an XML element, including all " +"subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " +"the output encoding (default is US-ASCII). Use ``encoding=\"unicode\"`` to " +"generate a Unicode string (otherwise, a bytestring is generated). *method* " +"is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is ``\"xml" +"\"``). *xml_declaration*, *default_namespace* and *short_empty_elements* has " +"the same meaning as in :meth:`ElementTree.write`. Returns a list of " +"(optionally) encoded strings containing the XML data. It does not guarantee " +"any specific sequence, except that ``b\"\".join(tostringlist(element)) == " +"tostring(element)``." +msgstr "" +"Створює рядкове представлення елемента XML, включаючи всі піделементи. " +"*element* є екземпляром :class:`Element`. *кодування* [1]_ — вихідне " +"кодування (за замовчуванням — US-ASCII). Використовуйте ``encoding=\"unicode" +"\"``, щоб створити рядок Юнікод (інакше буде згенеровано байтовий рядок). " +"*method* — це ``\"xml\"``, ``\"html\"`` або ``\"text\"`` (за замовчуванням ``" +"\"xml\"``). *xml_declaration*, *default_namespace* і *short_empty_elements* " +"мають те саме значення, що й у :meth:`ElementTree.write`. Повертає список " +"(необов’язково) закодованих рядків, що містять дані XML. Це не гарантує " +"жодної конкретної послідовності, за винятком того, що ``b\"\"." +"join(tostringlist(element)) == tostring(element)``." + +msgid "" +"The :func:`tostringlist` function now preserves the attribute order " +"specified by the user." +msgstr "" +"Функція :func:`tostringlist` тепер зберігає порядок атрибутів, указаний " +"користувачем." + +msgid "" +"Parses an XML section from a string constant. This function can be used to " +"embed \"XML literals\" in Python code. *text* is a string containing XML " +"data. *parser* is an optional parser instance. If not given, the standard :" +"class:`XMLParser` parser is used. Returns an :class:`Element` instance." +msgstr "" +"Розбирає розділ XML із константи рядка. Цю функцію можна використовувати для " +"вбудовування \"XML-літералів\" у код Python. *текст* — це рядок, що містить " +"дані XML. *parser* є необов’язковим екземпляром парсера. Якщо не вказано, " +"використовується стандартний аналізатор :class:`XMLParser`. Повертає " +"екземпляр :class:`Element`." + +msgid "" +"Parses an XML section from a string constant, and also returns a dictionary " +"which maps from element id:s to elements. *text* is a string containing XML " +"data. *parser* is an optional parser instance. If not given, the standard :" +"class:`XMLParser` parser is used. Returns a tuple containing an :class:" +"`Element` instance and a dictionary." +msgstr "" +"Розбирає розділ XML із константи рядка, а також повертає словник, який " +"відображає ідентифікатори елемента: елементи. *текст* — це рядок, що містить " +"дані XML. *parser* є необов’язковим екземпляром парсера. Якщо не вказано, " +"використовується стандартний аналізатор :class:`XMLParser`. Повертає кортеж, " +"що містить екземпляр :class:`Element` і словник." + +msgid "XInclude support" +msgstr "XInclude підтримка" + +msgid "" +"This module provides limited support for `XInclude directives `_, via the :mod:`xml.etree.ElementInclude` helper " +"module. This module can be used to insert subtrees and text strings into " +"element trees, based on information in the tree." +msgstr "" +"Цей модуль надає обмежену підтримку для `XInclude директив `_ через допоміжний модуль :mod:`xml.etree.ElementInclude`. " +"Цей модуль можна використовувати для вставки піддерев і текстових рядків у " +"дерева елементів на основі інформації в дереві." + +msgid "" +"Here's an example that demonstrates use of the XInclude module. To include " +"an XML document in the current document, use the ``{http://www.w3.org/2001/" +"XInclude}include`` element and set the **parse** attribute to ``\"xml\"``, " +"and use the **href** attribute to specify the document to include." +msgstr "" +"Ось приклад, який демонструє використання модуля XInclude. Щоб включити XML-" +"документ у поточний документ, використовуйте елемент ``{http://www.w3." +"org/2001/XInclude}include`` і встановіть атрибут **parse** на ``\"xml\"`` і " +"використовуйте атрибут **href**, щоб указати документ, який потрібно " +"включити." + +msgid "" +"By default, the **href** attribute is treated as a file name. You can use " +"custom loaders to override this behaviour. Also note that the standard " +"helper does not support XPointer syntax." +msgstr "" +"За замовчуванням атрибут **href** розглядається як ім’я файлу. Ви можете " +"використовувати спеціальні завантажувачі, щоб змінити цю поведінку. Також " +"зауважте, що стандартний помічник не підтримує синтаксис XPointer." + +msgid "" +"To process this file, load it as usual, and pass the root element to the :" +"mod:`xml.etree.ElementTree` module:" +msgstr "" +"Щоб обробити цей файл, завантажте його як зазвичай і передайте кореневий " +"елемент модулю :mod:`xml.etree.ElementTree`:" + +msgid "" +"The ElementInclude module replaces the ``{http://www.w3.org/2001/XInclude}" +"include`` element with the root element from the **source.xml** document. " +"The result might look something like this:" +msgstr "" +"Модуль ElementInclude замінює елемент ``{http://www.w3.org/2001/XInclude}" +"include`` на кореневий елемент із документа **source.xml**. Результат може " +"виглядати приблизно так:" + +msgid "" +"If the **parse** attribute is omitted, it defaults to \"xml\". The href " +"attribute is required." +msgstr "" +"Якщо атрибут **parse** пропущено, за замовчуванням він має значення \"xml\". " +"Потрібен атрибут href." + +msgid "" +"To include a text document, use the ``{http://www.w3.org/2001/XInclude}" +"include`` element, and set the **parse** attribute to \"text\":" +msgstr "" +"Щоб включити текстовий документ, використовуйте елемент ``{http://www.w3." +"org/2001/XInclude}include`` і встановіть атрибут **parse** на \"text\":" + +msgid "The result might look something like:" +msgstr "Результат може виглядати приблизно так:" + +msgid "" +"Default loader. This default loader reads an included resource from disk. " +"*href* is a URL. *parse* is for parse mode either \"xml\" or \"text\". " +"*encoding* is an optional text encoding. If not given, encoding is " +"``utf-8``. Returns the expanded resource. If the parse mode is ``\"xml" +"\"``, this is an ElementTree instance. If the parse mode is \"text\", this " +"is a Unicode string. If the loader fails, it can return None or raise an " +"exception." +msgstr "" +"Завантажувач за замовчуванням. Цей завантажувач за замовчуванням читає " +"включений ресурс із диска. *href* – це URL-адреса. *parse* для режиму " +"аналізу \"xml\" або \"text\". *кодування* — необов’язкове кодування тексту. " +"Якщо не вказано, кодування ``utf-8``. Повертає розгорнутий ресурс. Якщо " +"режим аналізу ``\"xml\"``, це екземпляр ElementTree. Якщо режим аналізу " +"\"текстовий\", це рядок Юнікоду. Якщо завантажувач виходить з ладу, він може " +"повернути None або викликати виняток." + +msgid "" +"This function expands XInclude directives. *elem* is the root element. " +"*loader* is an optional resource loader. If omitted, it defaults to :func:" +"`default_loader`. If given, it should be a callable that implements the same " +"interface as :func:`default_loader`. *base_url* is base URL of the original " +"file, to resolve relative include file references. *max_depth* is the " +"maximum number of recursive inclusions. Limited to reduce the risk of " +"malicious content explosion. Pass a negative value to disable the limitation." +msgstr "" +"Ця функція розширює директиви XInclude. *elem* є кореневим елементом. " +"*loader* є додатковим завантажувачем ресурсів. Якщо опущено, за " +"замовчуванням :func:`default_loader`. Якщо задано, це має бути виклик, який " +"реалізує той самий інтерфейс, що й :func:`default_loader`. *base_url* — це " +"базова URL-адреса оригінального файлу, щоб вирішити відносні посилання на " +"файли включення. *max_depth* — максимальна кількість рекурсивних включень. " +"Обмежено, щоб зменшити ризик вибуху шкідливого вмісту. Передайте від’ємне " +"значення, щоб вимкнути обмеження." + +msgid "" +"Returns the expanded resource. If the parse mode is ``\"xml\"``, this is an " +"ElementTree instance. If the parse mode is \"text\", this is a Unicode " +"string. If the loader fails, it can return None or raise an exception." +msgstr "" +"Повертає розгорнутий ресурс. Якщо режим аналізу ``\"xml\"``, це екземпляр " +"ElementTree. Якщо режим аналізу \"текстовий\", це рядок Юнікоду. Якщо " +"завантажувач виходить з ладу, він може повернути None або викликати виняток." + +msgid "The *base_url* and *max_depth* parameters." +msgstr "Параметри *base_url* і *max_depth*." + +msgid "Element Objects" +msgstr "Об'єкти елементів" + +msgid "" +"Element class. This class defines the Element interface, and provides a " +"reference implementation of this interface." +msgstr "" +"Клас елемента. Цей клас визначає інтерфейс Element і забезпечує еталонну " +"реалізацію цього інтерфейсу." + +msgid "" +"The element name, attribute names, and attribute values can be either " +"bytestrings or Unicode strings. *tag* is the element name. *attrib* is an " +"optional dictionary, containing element attributes. *extra* contains " +"additional attributes, given as keyword arguments." +msgstr "" +"Ім’я елемента, назви атрибутів і значення атрибутів можуть бути байтовими " +"рядками або рядками Unicode. *тег* — це назва елемента. *attrib* — " +"необов’язковий словник, що містить атрибути елемента. *extra* містить " +"додаткові атрибути, надані як аргументи ключового слова." + +msgid "" +"A string identifying what kind of data this element represents (the element " +"type, in other words)." +msgstr "" +"Рядок, що визначає, який тип даних представляє цей елемент (іншими словами, " +"тип елемента)." + +msgid "" +"These attributes can be used to hold additional data associated with the " +"element. Their values are usually strings but may be any application-" +"specific object. If the element is created from an XML file, the *text* " +"attribute holds either the text between the element's start tag and its " +"first child or end tag, or ``None``, and the *tail* attribute holds either " +"the text between the element's end tag and the next tag, or ``None``. For " +"the XML data" +msgstr "" +"Ці атрибути можна використовувати для зберігання додаткових даних, " +"пов’язаних з елементом. Їх значення зазвичай є рядками, але можуть бути будь-" +"якими об’єктами, що стосуються конкретної програми. Якщо елемент створено з " +"файлу XML, атрибут *text* містить або текст між початковим тегом елемента та " +"його першим дочірнім або кінцевим тегом, або ``None``, а атрибут *tail* " +"містить або текст між кінцевий тег елемента та наступний тег або ``None``. " +"Для даних XML" + +msgid "" +"the *a* element has ``None`` for both *text* and *tail* attributes, the *b* " +"element has *text* ``\"1\"`` and *tail* ``\"4\"``, the *c* element has " +"*text* ``\"2\"`` and *tail* ``None``, and the *d* element has *text* " +"``None`` and *tail* ``\"3\"``." +msgstr "" +"елемент *a* має ``None`` як для атрибутів *text*, так і для *tail*, елемент " +"*b* має *text* ``\"1\"`` і *tail* ``\"4\"``, елемент *c* має *text* ``" +"\"2\"`` і *tail* ``None``, а елемент *d* має *text* ``None`` і *tail* ``" +"\"3\"``." + +msgid "" +"To collect the inner text of an element, see :meth:`itertext`, for example ``" +"\"\".join(element.itertext())``." +msgstr "" +"Щоб зібрати внутрішній текст елемента, перегляньте :meth:`itertext`, " +"наприклад ``\"\".join(element.itertext())``." + +msgid "Applications may store arbitrary objects in these attributes." +msgstr "Програми можуть зберігати довільні об’єкти в цих атрибутах." + +msgid "" +"A dictionary containing the element's attributes. Note that while the " +"*attrib* value is always a real mutable Python dictionary, an ElementTree " +"implementation may choose to use another internal representation, and create " +"the dictionary only if someone asks for it. To take advantage of such " +"implementations, use the dictionary methods below whenever possible." +msgstr "" +"Словник, що містить атрибути елемента. Зауважте, що хоча значення *attrib* " +"завжди є справжнім змінним словником Python, реалізація ElementTree може " +"використовувати інше внутрішнє представлення та створювати словник, лише " +"якщо хтось про це попросить. Щоб скористатися перевагами таких реалізацій, " +"використовуйте наведені нижче методи словника, коли це можливо." + +msgid "The following dictionary-like methods work on the element attributes." +msgstr "Наступні методи, подібні до словника, працюють з атрибутами елемента." + +msgid "" +"Resets an element. This function removes all subelements, clears all " +"attributes, and sets the text and tail attributes to ``None``." +msgstr "" +"Скидає елемент. Ця функція видаляє всі піделементи, очищає всі атрибути та " +"встановлює для атрибутів text і tail значення ``None``." + +msgid "Gets the element attribute named *key*." +msgstr "Отримує атрибут елемента з назвою *key*." + +msgid "" +"Returns the attribute value, or *default* if the attribute was not found." +msgstr "Повертає значення атрибута або *default*, якщо атрибут не знайдено." + +msgid "" +"Returns the element attributes as a sequence of (name, value) pairs. The " +"attributes are returned in an arbitrary order." +msgstr "" +"Повертає атрибути елемента як послідовність пар (ім’я, значення). Атрибути " +"повертаються в довільному порядку." + +msgid "" +"Returns the elements attribute names as a list. The names are returned in " +"an arbitrary order." +msgstr "" +"Повертає назви атрибутів елементів у вигляді списку. Імена повертаються в " +"довільному порядку." + +msgid "Set the attribute *key* on the element to *value*." +msgstr "Установіть для атрибута *key* елемента значення *value*." + +msgid "The following methods work on the element's children (subelements)." +msgstr "Наступні методи працюють над дочірніми елементами (піделементами)." + +msgid "" +"Adds the element *subelement* to the end of this element's internal list of " +"subelements. Raises :exc:`TypeError` if *subelement* is not an :class:" +"`Element`." +msgstr "" +"Додає елемент *subelement* у кінець внутрішнього списку піделементів цього " +"елемента. Викликає :exc:`TypeError`, якщо *subelement* не є :class:`Element`." + +msgid "" +"Appends *subelements* from a sequence object with zero or more elements. " +"Raises :exc:`TypeError` if a subelement is not an :class:`Element`." +msgstr "" +"Додає *піделементи* з об’єкта послідовності з нулем або більше елементами. " +"Викликає :exc:`TypeError`, якщо піделемент не є :class:`Element`." + +msgid "" +"Finds the first subelement matching *match*. *match* may be a tag name or " +"a :ref:`path `. Returns an element instance or " +"``None``. *namespaces* is an optional mapping from namespace prefix to full " +"name. Pass ``''`` as prefix to move all unprefixed tag names in the " +"expression into the given namespace." +msgstr "" +"Знаходить перший піделемент, що відповідає *match*. *match* може бути назвою " +"тегу або :ref:`шляхом `. Повертає екземпляр елемента або " +"``None``. *простори імен* — це необов’язкове відображення префікса простору " +"імен на повне ім’я. Передайте ``''`` як префікс, щоб перемістити всі імена " +"тегів без префіксів у виразі до вказаного простору імен." + +msgid "" +"Finds all matching subelements, by tag name or :ref:`path `. Returns a list containing all matching elements in document " +"order. *namespaces* is an optional mapping from namespace prefix to full " +"name. Pass ``''`` as prefix to move all unprefixed tag names in the " +"expression into the given namespace." +msgstr "" +"Знаходить усі відповідні піделементи за назвою тегу або :ref:`шляхом " +"`. Повертає список, що містить усі відповідні елементи в " +"порядку документа. *простори імен* — це необов’язкове відображення префікса " +"простору імен на повне ім’я. Передайте ``''`` як префікс, щоб перемістити " +"всі імена тегів без префіксів у виразі до вказаного простору імен." + +msgid "" +"Finds text for the first subelement matching *match*. *match* may be a tag " +"name or a :ref:`path `. Returns the text content of the " +"first matching element, or *default* if no element was found. Note that if " +"the matching element has no text content an empty string is returned. " +"*namespaces* is an optional mapping from namespace prefix to full name. " +"Pass ``''`` as prefix to move all unprefixed tag names in the expression " +"into the given namespace." +msgstr "" +"Знаходить текст для першого піделемента, який відповідає *match*. *match* " +"може бути назвою тегу або :ref:`шляхом `. Повертає " +"текстовий вміст першого відповідного елемента або *за замовчуванням*, якщо " +"елемент не знайдено. Зауважте, що якщо відповідний елемент не має текстового " +"вмісту, повертається порожній рядок. *простори імен* — це необов’язкове " +"відображення префікса простору імен на повне ім’я. Передайте ``''`` як " +"префікс, щоб перемістити всі імена тегів без префіксів у виразі до вказаного " +"простору імен." + +msgid "" +"Inserts *subelement* at the given position in this element. Raises :exc:" +"`TypeError` if *subelement* is not an :class:`Element`." +msgstr "" +"Вставляє *піделемент* у задану позицію цього елемента. Викликає :exc:" +"`TypeError`, якщо *subelement* не є :class:`Element`." + +msgid "" +"Creates a tree :term:`iterator` with the current element as the root. The " +"iterator iterates over this element and all elements below it, in document " +"(depth first) order. If *tag* is not ``None`` or ``'*'``, only elements " +"whose tag equals *tag* are returned from the iterator. If the tree " +"structure is modified during iteration, the result is undefined." +msgstr "" +"Створює дерево :term:`iterator` з поточним елементом як коренем. Ітератор " +"повторює цей елемент і всі елементи під ним у порядку документа (спочатку " +"глибина). Якщо *tag* не є ``None`` або ``'*'``, ітератор повертає лише " +"елементи, тег яких дорівнює *tag*. Якщо структуру дерева змінено під час " +"ітерації, результат буде невизначеним." + +msgid "" +"Finds all matching subelements, by tag name or :ref:`path `. Returns an iterable yielding all matching elements in document " +"order. *namespaces* is an optional mapping from namespace prefix to full " +"name." +msgstr "" +"Знаходить усі відповідні піделементи за назвою тегу або :ref:`шляхом " +"`. Повертає iterable, що дає всі відповідні елементи в " +"порядку документа. *простори імен* — це необов’язкове відображення префікса " +"простору імен на повне ім’я." + +msgid "" +"Creates a text iterator. The iterator loops over this element and all " +"subelements, in document order, and returns all inner text." +msgstr "" +"Створює текстовий ітератор. Ітератор проходить по цьому елементу та всім " +"піделементам у порядку документа та повертає весь внутрішній текст." + +msgid "" +"Creates a new element object of the same type as this element. Do not call " +"this method, use the :func:`SubElement` factory function instead." +msgstr "" +"Створює новий об’єкт елемента того самого типу, що й цей елемент. Не " +"викликайте цей метод, замість цього використовуйте фабричну функцію :func:" +"`SubElement`." + +msgid "" +"Removes *subelement* from the element. Unlike the find\\* methods this " +"method compares elements based on the instance identity, not on tag value or " +"contents." +msgstr "" +"Видаляє *піделемент* з елемента. На відміну від методів find\\*, цей метод " +"порівнює елементи на основі ідентичності екземпляра, а не на основі значення " +"тегу чи вмісту." + +msgid "" +":class:`Element` objects also support the following sequence type methods " +"for working with subelements: :meth:`~object.__delitem__`, :meth:`~object." +"__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." +msgstr "" +"Об’єкти :class:`Element` також підтримують такі методи типу послідовності " +"для роботи з піделементами: :meth:`~object.__delitem__`, :meth:`~object." +"__getitem__`, :meth:`~object.__setitem__`, :meth:`~об’єкт.__len__`." + +msgid "" +"Caution: Elements with no subelements will test as ``False``. This behavior " +"will change in future versions. Use specific ``len(elem)`` or ``elem is " +"None`` test instead. ::" +msgstr "" +"Застереження: елементи без піделементів перевірятимуться як ``False``. Ця " +"поведінка зміниться в наступних версіях. Натомість використовуйте " +"спеціальний тест ``len(elem)`` або ``elem is None``. ::" + +msgid "" +"Prior to Python 3.8, the serialisation order of the XML attributes of " +"elements was artificially made predictable by sorting the attributes by " +"their name. Based on the now guaranteed ordering of dicts, this arbitrary " +"reordering was removed in Python 3.8 to preserve the order in which " +"attributes were originally parsed or created by user code." +msgstr "" +"До Python 3.8 порядок серіалізації XML-атрибутів елементів штучно робили " +"передбачуваним шляхом сортування атрибутів за їх назвою. Базуючись на тепер " +"гарантованому порядку диктовок, цей довільний порядок було вилучено в Python " +"3.8, щоб зберегти порядок, у якому атрибути були спочатку проаналізовані або " +"створені кодом користувача." + +msgid "" +"In general, user code should try not to depend on a specific ordering of " +"attributes, given that the `XML Information Set `_ explicitly excludes the attribute order from conveying " +"information. Code should be prepared to deal with any ordering on input. In " +"cases where deterministic XML output is required, e.g. for cryptographic " +"signing or test data sets, canonical serialisation is available with the :" +"func:`canonicalize` function." +msgstr "" +"Загалом код користувача має намагатися не залежати від певного порядку " +"атрибутів, враховуючи, що `Набір інформації XML `_ явно виключає порядок атрибутів із передачі інформації. Код має " +"бути готовий до будь-якого впорядкування вхідних даних. У випадках, коли " +"потрібен детермінований вивід XML, напр. для криптографічного підпису або " +"тестових наборів даних доступна канонічна серіалізація за допомогою функції :" +"func:`canonicalize`." + +msgid "" +"In cases where canonical output is not applicable but a specific attribute " +"order is still desirable on output, code should aim for creating the " +"attributes directly in the desired order, to avoid perceptual mismatches for " +"readers of the code. In cases where this is difficult to achieve, a recipe " +"like the following can be applied prior to serialisation to enforce an order " +"independently from the Element creation::" +msgstr "" +"У випадках, коли канонічний вивід незастосовний, але певний порядок " +"атрибутів все ще бажаний на виводі, код повинен прагнути створювати атрибути " +"безпосередньо в бажаному порядку, щоб уникнути невідповідності сприйняття " +"для читачів коду. У випадках, коли цього важко досягти, перед серіалізацією " +"можна застосувати такий рецепт, як наведений нижче, щоб забезпечити " +"виконання порядку незалежно від створення Елемента:" + +msgid "ElementTree Objects" +msgstr "Об’єкти ElementTree" + +msgid "" +"ElementTree wrapper class. This class represents an entire element " +"hierarchy, and adds some extra support for serialization to and from " +"standard XML." +msgstr "" +"Клас обгортки ElementTree. Цей клас представляє всю ієрархію елементів і " +"додає деяку додаткову підтримку для серіалізації в і з стандартного XML." + +msgid "" +"*element* is the root element. The tree is initialized with the contents of " +"the XML *file* if given." +msgstr "" +"*element* є кореневим елементом. Дерево ініціалізується вмістом *файлу* XML, " +"якщо його надано." + +msgid "" +"Replaces the root element for this tree. This discards the current contents " +"of the tree, and replaces it with the given element. Use with care. " +"*element* is an element instance." +msgstr "" +"Замінює кореневий елемент для цього дерева. Це відкидає поточний вміст " +"дерева та замінює його вказаним елементом. Використовуйте з обережністю. " +"*element* — екземпляр елемента." + +msgid "Same as :meth:`Element.find`, starting at the root of the tree." +msgstr "Те саме, що :meth:`Element.find`, починаючи з кореня дерева." + +msgid "Same as :meth:`Element.findall`, starting at the root of the tree." +msgstr "Те саме, що :meth:`Element.findall`, починаючи з кореня дерева." + +msgid "Same as :meth:`Element.findtext`, starting at the root of the tree." +msgstr "Те саме, що :meth:`Element.findtext`, починаючи з кореня дерева." + +msgid "Returns the root element for this tree." +msgstr "Повертає кореневий елемент для цього дерева." + +msgid "" +"Creates and returns a tree iterator for the root element. The iterator " +"loops over all elements in this tree, in section order. *tag* is the tag to " +"look for (default is to return all elements)." +msgstr "" +"Створює та повертає ітератор дерева для кореневого елемента. Ітератор " +"перебирає всі елементи в цьому дереві в порядку секцій. *тег* — це тег, який " +"потрібно шукати (за замовчуванням повертаються всі елементи)." + +msgid "Same as :meth:`Element.iterfind`, starting at the root of the tree." +msgstr "Те саме, що :meth:`Element.iterfind`, починаючи з кореня дерева." + +msgid "" +"Loads an external XML section into this element tree. *source* is a file " +"name or :term:`file object`. *parser* is an optional parser instance. If " +"not given, the standard :class:`XMLParser` parser is used. Returns the " +"section root element." +msgstr "" +"Завантажує зовнішній розділ XML у це дерево елементів. *джерело* — це ім’я " +"файлу або :term:`file object`. *parser* є необов’язковим екземпляром " +"парсера. Якщо не вказано, використовується стандартний аналізатор :class:" +"`XMLParser`. Повертає кореневий елемент розділу." + +msgid "" +"Writes the element tree to a file, as XML. *file* is a file name, or a :" +"term:`file object` opened for writing. *encoding* [1]_ is the output " +"encoding (default is US-ASCII). *xml_declaration* controls if an XML " +"declaration should be added to the file. Use ``False`` for never, ``True`` " +"for always, ``None`` for only if not US-ASCII or UTF-8 or Unicode (default " +"is ``None``). *default_namespace* sets the default XML namespace (for \"xmlns" +"\"). *method* is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default " +"is ``\"xml\"``). The keyword-only *short_empty_elements* parameter controls " +"the formatting of elements that contain no content. If ``True`` (the " +"default), they are emitted as a single self-closed tag, otherwise they are " +"emitted as a pair of start/end tags." +msgstr "" +"Записує дерево елементів у файл як XML. *file* — це ім’я файлу або :term:" +"`file object`, відкритий для запису. *кодування* [1]_ — вихідне кодування " +"(за замовчуванням — US-ASCII). *xml_declaration* визначає, чи слід додавати " +"XML-декларацію до файлу. Використовуйте ``False`` для ніколи, ``True`` для " +"завжди, ``None`` тільки якщо не US-ASCII або UTF-8 або Unicode (за " +"замовчуванням ``None``). *default_namespace* встановлює простір імен XML за " +"умовчанням (для \"xmlns\"). *method* — це ``\"xml\"``, ``\"html\"`` або ``" +"\"text\"`` (за замовчуванням ``\"xml\"``). Параметр *short_empty_elements*, " +"що містить лише ключове слово, керує форматуванням елементів, які не містять " +"вмісту. Якщо ``True`` (за замовчуванням), вони випускаються як один " +"самозакритий тег, інакше вони випускаються як пара початкових/кінцевих тегів." + +msgid "" +"The output is either a string (:class:`str`) or binary (:class:`bytes`). " +"This is controlled by the *encoding* argument. If *encoding* is ``\"unicode" +"\"``, the output is a string; otherwise, it's binary. Note that this may " +"conflict with the type of *file* if it's an open :term:`file object`; make " +"sure you do not try to write a string to a binary stream and vice versa." +msgstr "" +"Результатом буде рядок (:class:`str`) або двійковий (:class:`bytes`). Це " +"контролюється аргументом *encoding*. Якщо *кодування* є ``\"юнікодом\"``, " +"результатом є рядок; інакше це двійковий файл. Зауважте, що це може " +"конфліктувати з типом *file*, якщо це відкритий :term:`file object`; " +"переконайтеся, що ви не намагаєтесь записати рядок у двійковий потік і " +"навпаки." + +msgid "" +"The :meth:`write` method now preserves the attribute order specified by the " +"user." +msgstr "" +"Метод :meth:`write` тепер зберігає порядок атрибутів, указаний користувачем." + +msgid "This is the XML file that is going to be manipulated::" +msgstr "Це XML-файл, яким буде маніпулювати:" + +msgid "" +"Example of changing the attribute \"target\" of every link in first " +"paragraph::" +msgstr "Приклад зміни атрибута \"target\" кожного посилання в першому абзаці::" + +msgid "QName Objects" +msgstr "Об'єкти QName" + +msgid "" +"QName wrapper. This can be used to wrap a QName attribute value, in order " +"to get proper namespace handling on output. *text_or_uri* is a string " +"containing the QName value, in the form {uri}local, or, if the tag argument " +"is given, the URI part of a QName. If *tag* is given, the first argument is " +"interpreted as a URI, and this argument is interpreted as a local name. :" +"class:`QName` instances are opaque." +msgstr "" +"Обгортка QName. Це можна використовувати для обгортання значення атрибута " +"QName, щоб отримати правильну обробку простору імен на виході. *text_or_uri* " +"— це рядок, що містить значення QName у формі {uri}local або, якщо вказано " +"аргумент тегу, частину URI QName. Якщо вказано *тег*, перший аргумент " +"інтерпретується як URI, а цей аргумент інтерпретується як локальне ім’я. " +"Екземпляри :class:`QName` є непрозорими." + +msgid "TreeBuilder Objects" +msgstr "Об’єкти TreeBuilder" + +msgid "" +"Generic element structure builder. This builder converts a sequence of " +"start, data, end, comment and pi method calls to a well-formed element " +"structure. You can use this class to build an element structure using a " +"custom XML parser, or a parser for some other XML-like format." +msgstr "" +"Загальний конструктор структур елемента. Цей конструктор перетворює " +"послідовність викликів методу початку, даних, кінця, коментаря та pi у добре " +"сформовану структуру елементів. Ви можете використовувати цей клас, щоб " +"побудувати структуру елемента за допомогою спеціального синтаксичного " +"аналізатора XML або іншого XML-подібного формату." + +msgid "" +"*element_factory*, when given, must be a callable accepting two positional " +"arguments: a tag and a dict of attributes. It is expected to return a new " +"element instance." +msgstr "" +"*element_factory*, якщо задано, має бути викликом, що приймає два позиційні " +"аргументи: тег і dict атрибутів. Очікується, що він поверне новий екземпляр " +"елемента." + +msgid "" +"The *comment_factory* and *pi_factory* functions, when given, should behave " +"like the :func:`Comment` and :func:`ProcessingInstruction` functions to " +"create comments and processing instructions. When not given, the default " +"factories will be used. When *insert_comments* and/or *insert_pis* is true, " +"comments/pis will be inserted into the tree if they appear within the root " +"element (but not outside of it)." +msgstr "" +"Функції *comment_factory* і *pi_factory*, якщо їх надано, повинні поводитися " +"як функції :func:`Comment` і :func:`ProcessingInstruction` для створення " +"коментарів і інструкцій з обробки. Якщо не вказано, будуть використані " +"фабрики за замовчуванням. Якщо *insert_comments* і/або *insert_pis* має " +"значення true, коментарі/pis буде вставлено в дерево, якщо вони з’являться в " +"кореневому елементі (але не поза ним)." + +msgid "" +"Flushes the builder buffers, and returns the toplevel document element. " +"Returns an :class:`Element` instance." +msgstr "" +"Очищає буфери конструктора та повертає елемент документа верхнього рівня. " +"Повертає екземпляр :class:`Element`." + +msgid "" +"Adds text to the current element. *data* is a string. This should be " +"either a bytestring, or a Unicode string." +msgstr "" +"Додає текст до поточного елемента. *data* — це рядок. Це має бути байтовий " +"рядок або рядок Unicode." + +msgid "" +"Closes the current element. *tag* is the element name. Returns the closed " +"element." +msgstr "" +"Закриває поточний елемент. *тег* — це назва елемента. Повертає закритий " +"елемент." + +msgid "" +"Opens a new element. *tag* is the element name. *attrs* is a dictionary " +"containing element attributes. Returns the opened element." +msgstr "" +"Відкриває новий елемент. *тег* — це назва елемента. *attrs* — це словник, що " +"містить атрибути елементів. Повертає відкритий елемент." + +msgid "" +"Creates a comment with the given *text*. If ``insert_comments`` is true, " +"this will also add it to the tree." +msgstr "" +"Створює коментар із заданим *текстом*. Якщо ``insert_comments`` має значення " +"true, це також додасть його до дерева." + +msgid "" +"Creates a comment with the given *target* name and *text*. If " +"``insert_pis`` is true, this will also add it to the tree." +msgstr "" +"Створює коментар із заданою *цільовою* назвою та *текстом*. Якщо " +"``insert_pis`` має значення true, це також додасть його до дерева." + +msgid "" +"In addition, a custom :class:`TreeBuilder` object can provide the following " +"methods:" +msgstr "" +"Крім того, спеціальний об’єкт :class:`TreeBuilder` може надавати такі методи:" + +msgid "" +"Handles a doctype declaration. *name* is the doctype name. *pubid* is the " +"public identifier. *system* is the system identifier. This method does not " +"exist on the default :class:`TreeBuilder` class." +msgstr "" +"Обробляє оголошення doctype. *name* — це ім’я типу документа. *pubid* є " +"публічним ідентифікатором. *system* — це ідентифікатор системи. Цей метод не " +"існує в класі :class:`TreeBuilder` за замовчуванням." + +msgid "" +"Is called whenever the parser encounters a new namespace declaration, before " +"the ``start()`` callback for the opening element that defines it. *prefix* " +"is ``''`` for the default namespace and the declared namespace prefix name " +"otherwise. *uri* is the namespace URI." +msgstr "" +"Викликається кожного разу, коли синтаксичний аналізатор зустрічає нове " +"оголошення простору імен перед зворотним викликом ``start()`` для " +"початкового елемента, який його визначає. *префікс* — це ``''`` для простору " +"імен за замовчуванням, а в інших випадках – оголошене ім’я префікса простору " +"імен. *uri* — URI простору імен." + +msgid "" +"Is called after the ``end()`` callback of an element that declared a " +"namespace prefix mapping, with the name of the *prefix* that went out of " +"scope." +msgstr "" +"Викликається після зворотного виклику ``end()`` елемента, який оголосив " +"відображення префікса простору імен, з назвою *префікса*, який вийшов за " +"межі області видимості." + +msgid "" +"A `C14N 2.0 `_ writer. Arguments are the " +"same as for the :func:`canonicalize` function. This class does not build a " +"tree but translates the callback events directly into a serialised form " +"using the *write* function." +msgstr "" +"Письменник `C14N 2.0 `_. Аргументи такі ж, " +"як і для функції :func:`canonicalize`. Цей клас не створює дерево, а " +"перетворює події зворотного виклику безпосередньо в серіалізовану форму за " +"допомогою функції *write*." + +msgid "XMLParser Objects" +msgstr "Об’єкти XMLParser" + +msgid "" +"This class is the low-level building block of the module. It uses :mod:`xml." +"parsers.expat` for efficient, event-based parsing of XML. It can be fed XML " +"data incrementally with the :meth:`feed` method, and parsing events are " +"translated to a push API - by invoking callbacks on the *target* object. If " +"*target* is omitted, the standard :class:`TreeBuilder` is used. If " +"*encoding* [1]_ is given, the value overrides the encoding specified in the " +"XML file." +msgstr "" +"Цей клас є будівельним блоком низького рівня модуля. Він використовує :mod:" +"`xml.parsers.expat` для ефективного аналізу XML на основі подій. Він може " +"передавати XML-дані поетапно за допомогою методу :meth:`feed`, а події " +"синтаксичного аналізу транслюються в push API шляхом виклику зворотних " +"викликів для об’єкта *target*. Якщо *target* опущено, використовується " +"стандартний :class:`TreeBuilder`. Якщо вказано *кодування* [1]_, значення " +"має перевагу над кодуванням, указаним у файлі XML." + +msgid "" +"Parameters are now :ref:`keyword-only `. The *html* " +"argument no longer supported." +msgstr "" +"Параметри тепер :ref:`лише ключове слово `. Аргумент " +"*html* більше не підтримується." + +msgid "" +"Finishes feeding data to the parser. Returns the result of calling the " +"``close()`` method of the *target* passed during construction; by default, " +"this is the toplevel document element." +msgstr "" +"Завершує подачу даних до аналізатора. Повертає результат виклику методу " +"``close()`` *target*, переданого під час створення; за замовчуванням це " +"елемент документа верхнього рівня." + +msgid "Feeds data to the parser. *data* is encoded data." +msgstr "Подає дані в аналізатор. *data* — це закодовані дані." + +msgid "" +":meth:`XMLParser.feed` calls *target*\\'s ``start(tag, attrs_dict)`` method " +"for each opening tag, its ``end(tag)`` method for each closing tag, and data " +"is processed by method ``data(data)``. For further supported callback " +"methods, see the :class:`TreeBuilder` class. :meth:`XMLParser.close` calls " +"*target*\\'s method ``close()``. :class:`XMLParser` can be used not only for " +"building a tree structure. This is an example of counting the maximum depth " +"of an XML file::" +msgstr "" +":meth:`XMLParser.feed` викликає метод *target* ``start(tag, attrs_dict)`` " +"для кожного початкового тегу, його метод ``end(tag)`` для кожного " +"закриваючого тегу, і дані обробляються методом ``дані(дані)``. Інші " +"підтримувані методи зворотного виклику див. у класі :class:`TreeBuilder`. :" +"meth:`XMLParser.close` викликає метод *target*\\``close()``. :class:" +"`XMLParser` можна використовувати не тільки для побудови деревовидної " +"структури. Це приклад підрахунку максимальної глибини файлу XML:" + +msgid "XMLPullParser Objects" +msgstr "Об’єкти XMLPullParser" + +msgid "" +"A pull parser suitable for non-blocking applications. Its input-side API is " +"similar to that of :class:`XMLParser`, but instead of pushing calls to a " +"callback target, :class:`XMLPullParser` collects an internal list of parsing " +"events and lets the user read from it. *events* is a sequence of events to " +"report back. The supported events are the strings ``\"start\"``, ``\"end" +"\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the " +"\"ns\" events are used to get detailed namespace information). If *events* " +"is omitted, only ``\"end\"`` events are reported." +msgstr "" +"Синтаксичний аналізатор, що підходить для неблокуючих програм. Його API на " +"стороні введення схожий на API :class:`XMLParser`, але замість того, щоб " +"надсилати виклики до цілі зворотного виклику, :class:`XMLPullParser` збирає " +"внутрішній список подій аналізу та дозволяє користувачеві читати з нього. " +"*події* — це послідовність подій, про які потрібно повідомити. " +"Підтримуваними подіями є рядки ``\"start\"``, ``\"end\"``, ``\"comment\"``, " +"``\"pi\"``, ``\"start-ns\"`` і ``\"end-ns\"`` (події \"ns\" використовуються " +"для отримання детальної інформації про простір імен). Якщо *events* опущено, " +"повідомляються лише події ``\"end\"``." + +msgid "Feed the given bytes data to the parser." +msgstr "Передайте надані дані в байтах аналізатору." + +msgid "" +"Signal the parser that the data stream is terminated. Unlike :meth:" +"`XMLParser.close`, this method always returns :const:`None`. Any events not " +"yet retrieved when the parser is closed can still be read with :meth:" +"`read_events`." +msgstr "" +"Сигналізуйте синтаксичному аналізатору, що потік даних завершено. На відміну " +"від :meth:`XMLParser.close`, цей метод завжди повертає :const:`None`. Будь-" +"які події, які ще не були отримані, коли синтаксичний аналізатор закрито, " +"все ще можна прочитати за допомогою :meth:`read_events`." + +msgid "" +"Return an iterator over the events which have been encountered in the data " +"fed to the parser. The iterator yields ``(event, elem)`` pairs, where " +"*event* is a string representing the type of event (e.g. ``\"end\"``) and " +"*elem* is the encountered :class:`Element` object, or other context value as " +"follows." +msgstr "" +"Повертає ітератор над подіями, які зустрічаються в даних, переданих до " +"аналізатора. Ітератор видає пари ``(event, elem)``, де *event* — рядок, що " +"представляє тип події (наприклад, ``\"end\"``), а *elem* — це знайдений " +"об’єкт :class:`Element` або інше значення контексту, як показано нижче." + +msgid "``start``, ``end``: the current Element." +msgstr "``start``, ``end``: поточний елемент." + +msgid "``comment``, ``pi``: the current comment / processing instruction" +msgstr "``comment``, ``pi``: поточний коментар / інструкція обробки" + +msgid "" +"``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " +"mapping." +msgstr "" +"``start-ns``: кортеж ``(prefix, uri)``, який іменує оголошене відображення " +"простору імен." + +msgid "``end-ns``: :const:`None` (this may change in a future version)" +msgstr "``end-ns``: :const:`None` (це може змінитися в наступній версії)" + +msgid "" +"Events provided in a previous call to :meth:`read_events` will not be " +"yielded again. Events are consumed from the internal queue only when they " +"are retrieved from the iterator, so multiple readers iterating in parallel " +"over iterators obtained from :meth:`read_events` will have unpredictable " +"results." +msgstr "" +"Події, надані в попередньому виклику :meth:`read_events`, не будуть видані " +"знову. Події споживаються з внутрішньої черги лише тоді, коли вони отримані " +"з ітератора, тому кілька читачів, які паралельно повторюють ітератори, " +"отримані з :meth:`read_events`, матимуть непередбачувані результати." + +msgid "" +":class:`XMLPullParser` only guarantees that it has seen the \">\" character " +"of a starting tag when it emits a \"start\" event, so the attributes are " +"defined, but the contents of the text and tail attributes are undefined at " +"that point. The same applies to the element children; they may or may not " +"be present." +msgstr "" +":class:`XMLPullParser` лише гарантує, що він побачив символ \">\" " +"початкового тегу, коли він випромінює подію \"start\", тому атрибути " +"визначені, але вміст атрибутів text і tail на той момент не визначено . Те " +"саме стосується елемента діти; вони можуть бути або не бути присутніми." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"XML parse error, raised by the various parsing methods in this module when " +"parsing fails. The string representation of an instance of this exception " +"will contain a user-friendly error message. In addition, it will have the " +"following attributes available:" +msgstr "" +"Помилка аналізу XML, викликана різними методами аналізу в цьому модулі, коли " +"аналіз не вдається. Рядкове представлення екземпляра цього винятку міститиме " +"зручне повідомлення про помилку. Крім того, він матиме такі доступні " +"атрибути:" + +msgid "" +"A numeric error code from the expat parser. See the documentation of :mod:" +"`xml.parsers.expat` for the list of error codes and their meanings." +msgstr "" +"Числовий код помилки від аналізатора expat. Перегляньте документацію :mod:" +"`xml.parsers.expat`, щоб переглянути список кодів помилок та їх значення." + +msgid "" +"A tuple of *line*, *column* numbers, specifying where the error occurred." +msgstr "Кортеж чисел *рядка*, *стовпця*, що вказує, де сталася помилка." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The encoding string included in XML output should conform to the appropriate " +"standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See " +"https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://" +"www.iana.org/assignments/character-sets/character-sets.xhtml." +msgstr "" +"Рядок кодування, включений у вивід XML, має відповідати відповідним " +"стандартам. Наприклад, \"UTF-8\" дійсний, а \"UTF8\" – ні. Див. https://www." +"w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl і https://www.iana.org/" +"assignments/character-sets/character-sets.xhtml." diff --git a/library/xml_sax.po b/library/xml_sax.po new file mode 100644 index 000000000..09e70d514 --- /dev/null +++ b/library/xml_sax.po @@ -0,0 +1,277 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.sax` --- Support for SAX2 parsers" +msgstr ":mod:`xml.sax` --- Підтримка парсерів SAX2" + +msgid "**Source code:** :source:`Lib/xml/sax/__init__.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/sax/__init__.py`" + +msgid "" +"The :mod:`xml.sax` package provides a number of modules which implement the " +"Simple API for XML (SAX) interface for Python. The package itself provides " +"the SAX exceptions and the convenience functions which will be most used by " +"users of the SAX API." +msgstr "" +"Пакет :mod:`xml.sax` містить кілька модулів, які реалізують інтерфейс Simple " +"API for XML (SAX) для Python. Сам пакет надає винятки SAX і зручні функції, " +"якими найчастіше користуватимуться користувачі SAX API." + +msgid "" +"The :mod:`xml.sax` module is not secure against maliciously constructed " +"data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" +"vulnerabilities`." +msgstr "" +"Модуль :mod:`xml.sax` не захищений від зловмисно створених даних. Якщо вам " +"потрібно проаналізувати ненадійні або неавтентифіковані дані, перегляньте :" +"ref:`xml-vulnerabilities`." + +msgid "" +"The SAX parser no longer processes general external entities by default to " +"increase security. Before, the parser created network connections to fetch " +"remote files or loaded local files from the file system for DTD and " +"entities. The feature can be enabled again with method :meth:`~xml.sax." +"xmlreader.XMLReader.setFeature` on the parser object and argument :data:" +"`~xml.sax.handler.feature_external_ges`." +msgstr "" +"Синтаксичний аналізатор SAX більше не обробляє загальні зовнішні сутності за " +"замовчуванням для підвищення безпеки. Раніше аналізатор створював мережеві " +"підключення для отримання віддалених файлів або завантажував локальні файли " +"з файлової системи для DTD і об’єктів. Цю функцію можна знову ввімкнути за " +"допомогою методу :meth:`~xml.sax.xmlreader.XMLReader.setFeature` в об’єкті " +"аналізатора та аргументі :data:`~xml.sax.handler.feature_external_ges`." + +msgid "The convenience functions are:" +msgstr "Функції зручності:" + +msgid "" +"Create and return a SAX :class:`~xml.sax.xmlreader.XMLReader` object. The " +"first parser found will be used. If *parser_list* is provided, it must be " +"an iterable of strings which name modules that have a function named :func:" +"`create_parser`. Modules listed in *parser_list* will be used before " +"modules in the default list of parsers." +msgstr "" +"Створіть і поверніть об’єкт SAX :class:`~xml.sax.xmlreader.XMLReader`. Буде " +"використано перший знайдений парсер. Якщо надається *parser_list*, це має " +"бути ітерація рядків, які іменують модулі, які мають функцію з назвою :func:" +"`create_parser`. Модулі, перелічені в *parser_list*, використовуватимуться " +"перед модулями в стандартному списку аналізаторів." + +msgid "The *parser_list* argument can be any iterable, not just a list." +msgstr "" +"Аргумент *parser_list* може бути будь-яким ітерованим, а не просто списком." + +msgid "" +"Create a SAX parser and use it to parse a document. The document, passed in " +"as *filename_or_stream*, can be a filename or a file object. The *handler* " +"parameter needs to be a SAX :class:`~handler.ContentHandler` instance. If " +"*error_handler* is given, it must be a SAX :class:`~handler.ErrorHandler` " +"instance; if omitted, :exc:`SAXParseException` will be raised on all " +"errors. There is no return value; all work must be done by the *handler* " +"passed in." +msgstr "" +"Створіть аналізатор SAX і використовуйте його для аналізу документа. " +"Документ, переданий як *filename_or_stream*, може бути ім’ям файлу або " +"об’єктом файлу. Параметр *handler* має бути екземпляром SAX :class:`~handler." +"ContentHandler`. Якщо задано *error_handler*, це має бути екземпляр SAX :" +"class:`~handler.ErrorHandler`; якщо опущено, :exc:`SAXParseException` буде " +"викликано для всіх помилок. Немає значення, що повертається; усю роботу має " +"виконувати переданий *обробник*." + +msgid "" +"Similar to :func:`parse`, but parses from a buffer *string* received as a " +"parameter. *string* must be a :class:`str` instance or a :term:`bytes-like " +"object`." +msgstr "" +"Подібно до :func:`parse`, але аналізує з *рядка* буфера, отриманого як " +"параметр. *рядок* має бути екземпляром :class:`str` або :term:`bytes-like " +"object`." + +msgid "Added support of :class:`str` instances." +msgstr "Додано підтримку екземплярів :class:`str`." + +msgid "" +"A typical SAX application uses three kinds of objects: readers, handlers and " +"input sources. \"Reader\" in this context is another term for parser, i.e. " +"some piece of code that reads the bytes or characters from the input source, " +"and produces a sequence of events. The events then get distributed to the " +"handler objects, i.e. the reader invokes a method on the handler. A SAX " +"application must therefore obtain a reader object, create or open the input " +"sources, create the handlers, and connect these objects all together. As " +"the final step of preparation, the reader is called to parse the input. " +"During parsing, methods on the handler objects are called based on " +"structural and syntactic events from the input data." +msgstr "" +"Типова програма SAX використовує три види об'єктів: читачі, обробники та " +"джерела введення. У цьому контексті \"зчитувач\" — це ще один термін для " +"парсера, тобто деякого фрагмента коду, який зчитує байти або символи з " +"джерела вхідних даних і створює послідовність подій. Потім події " +"розподіляються на об’єкти обробника, тобто читач викликає метод обробника. " +"Таким чином, програма SAX повинна отримати об’єкт читача, створити або " +"відкрити джерела введення, створити обробники та з’єднати ці об’єкти разом. " +"На останньому етапі підготовки читач викликається для аналізу введених " +"даних. Під час синтаксичного аналізу методи об’єктів-обробників викликаються " +"на основі структурних і синтаксичних подій із вхідних даних." + +msgid "" +"For these objects, only the interfaces are relevant; they are normally not " +"instantiated by the application itself. Since Python does not have an " +"explicit notion of interface, they are formally introduced as classes, but " +"applications may use implementations which do not inherit from the provided " +"classes. The :class:`~xml.sax.xmlreader.InputSource`, :class:`~xml.sax." +"xmlreader.Locator`, :class:`~xml.sax.xmlreader.Attributes`, :class:`~xml.sax." +"xmlreader.AttributesNS`, and :class:`~xml.sax.xmlreader.XMLReader` " +"interfaces are defined in the module :mod:`xml.sax.xmlreader`. The handler " +"interfaces are defined in :mod:`xml.sax.handler`. For convenience, :class:" +"`~xml.sax.xmlreader.InputSource` (which is often instantiated directly) and " +"the handler classes are also available from :mod:`xml.sax`. These " +"interfaces are described below." +msgstr "" +"Для цих об'єктів актуальні лише інтерфейси; вони зазвичай не створюються " +"самою програмою. Оскільки Python не має явного поняття інтерфейсу, вони " +"формально представлені як класи, але програми можуть використовувати " +"реалізації, які не успадковуються від наданих класів. :class:`~xml.sax." +"xmlreader.InputSource`, :class:`~xml.sax.xmlreader.Locator`, :class:`~xml." +"sax.xmlreader.Attributes`, :class:`~xml. Інтерфейси sax.xmlreader." +"AttributesNS` та :class:`~xml.sax.xmlreader.XMLReader` визначені в модулі :" +"mod:`xml.sax.xmlreader`. Інтерфейси обробника визначені в :mod:`xml.sax." +"handler`. Для зручності :class:`~xml.sax.xmlreader.InputSource` (який часто " +"створюється безпосередньо) і класи обробників також доступні з :mod:`xml." +"sax`. Ці інтерфейси описані нижче." + +msgid "" +"In addition to these classes, :mod:`xml.sax` provides the following " +"exception classes." +msgstr "" +"На додаток до цих класів, :mod:`xml.sax` надає наступні класи винятків." + +msgid "" +"Encapsulate an XML error or warning. This class can contain basic error or " +"warning information from either the XML parser or the application: it can be " +"subclassed to provide additional functionality or to add localization. Note " +"that although the handlers defined in the :class:`~xml.sax.handler." +"ErrorHandler` interface receive instances of this exception, it is not " +"required to actually raise the exception --- it is also useful as a " +"container for information." +msgstr "" +"Інкапсулювати помилку XML або попередження. Цей клас може містити основну " +"інформацію про помилку або попередження від синтаксичного аналізатора XML " +"або програми: його можна розділити на підкласи, щоб забезпечити додаткові " +"функції або додати локалізацію. Зауважте, що незважаючи на те, що обробники, " +"визначені в інтерфейсі :class:`~xml.sax.handler.ErrorHandler`, отримують " +"екземпляри цього винятку, не обов’язково створювати виняток --- він також " +"корисний як контейнер для інформації." + +msgid "" +"When instantiated, *msg* should be a human-readable description of the " +"error. The optional *exception* parameter, if given, should be ``None`` or " +"an exception that was caught by the parsing code and is being passed along " +"as information." +msgstr "" +"Після створення *msg* має бути зрозумілим для людини описом помилки. " +"Необов’язковий параметр *exception*, якщо його надано, має бути ``None`` або " +"винятком, який був перехоплений кодом аналізу та передається як інформація." + +msgid "This is the base class for the other SAX exception classes." +msgstr "Це базовий клас для інших класів винятків SAX." + +msgid "" +"Subclass of :exc:`SAXException` raised on parse errors. Instances of this " +"class are passed to the methods of the SAX :class:`~xml.sax.handler." +"ErrorHandler` interface to provide information about the parse error. This " +"class supports the SAX :class:`~xml.sax.xmlreader.Locator` interface as well " +"as the :class:`SAXException` interface." +msgstr "" +"Підклас :exc:`SAXException` викликаний помилками аналізу. Екземпляри цього " +"класу передаються методам інтерфейсу SAX :class:`~xml.sax.handler." +"ErrorHandler` для надання інформації про помилку аналізу. Цей клас підтримує " +"інтерфейс SAX :class:`~xml.sax.xmlreader.Locator`, а також інтерфейс :class:" +"`SAXException`." + +msgid "" +"Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." +"XMLReader` is confronted with an unrecognized feature or property. SAX " +"applications and extensions may use this class for similar purposes." +msgstr "" +"Підклас :exc:`SAXException` викликається, коли SAX :class:`~xml.sax." +"xmlreader.XMLReader` стикається з нерозпізнаною функцією або властивістю. " +"Програми та розширення SAX можуть використовувати цей клас для подібних " +"цілей." + +msgid "" +"Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." +"XMLReader` is asked to enable a feature that is not supported, or to set a " +"property to a value that the implementation does not support. SAX " +"applications and extensions may use this class for similar purposes." +msgstr "" +"Підклас :exc:`SAXException` викликається, коли SAX :class:`~xml.sax." +"xmlreader.XMLReader` просять увімкнути функцію, яка не підтримується, або " +"встановити для властивості значення, яке реалізація не підтримує . Програми " +"та розширення SAX можуть використовувати цей клас для подібних цілей." + +msgid "`SAX: The Simple API for XML `_" +msgstr "`SAX: простий API для XML `_" + +msgid "" +"This site is the focal point for the definition of the SAX API. It provides " +"a Java implementation and online documentation. Links to implementations " +"and historical information are also available." +msgstr "" +"Цей сайт є центром для визначення SAX API. Він надає реалізацію Java та " +"онлайн-документацію. Також доступні посилання на впровадження та історичну " +"інформацію." + +msgid "Module :mod:`xml.sax.handler`" +msgstr "Модуль :mod:`xml.sax.handler`" + +msgid "Definitions of the interfaces for application-provided objects." +msgstr "Визначення інтерфейсів для об'єктів, що надаються програмою." + +msgid "Module :mod:`xml.sax.saxutils`" +msgstr "Модуль :mod:`xml.sax.saxutils`" + +msgid "Convenience functions for use in SAX applications." +msgstr "Функції зручності для використання в програмах SAX." + +msgid "Module :mod:`xml.sax.xmlreader`" +msgstr "Модуль :mod:`xml.sax.xmlreader`" + +msgid "Definitions of the interfaces for parser-provided objects." +msgstr "Визначення інтерфейсів для об’єктів, що надаються парсером." + +msgid "SAXException Objects" +msgstr "Об’єкти SAXException" + +msgid "" +"The :class:`SAXException` exception class supports the following methods:" +msgstr "Клас винятків :class:`SAXException` підтримує такі методи:" + +msgid "Return a human-readable message describing the error condition." +msgstr "Повернути зрозуміле для людини повідомлення з описом стану помилки." + +msgid "Return an encapsulated exception object, or ``None``." +msgstr "Повертає інкапсульований об’єкт винятку або ``None``." diff --git a/library/xml_sax_handler.po b/library/xml_sax_handler.po new file mode 100644 index 000000000..b5844b152 --- /dev/null +++ b/library/xml_sax_handler.po @@ -0,0 +1,689 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.sax.handler` --- Base classes for SAX handlers" +msgstr ":mod:`xml.sax.handler` --- Базові класи для обробників SAX" + +msgid "**Source code:** :source:`Lib/xml/sax/handler.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/sax/handler.py`" + +msgid "" +"The SAX API defines five kinds of handlers: content handlers, DTD handlers, " +"error handlers, entity resolvers and lexical handlers. Applications normally " +"only need to implement those interfaces whose events they are interested in; " +"they can implement the interfaces in a single object or in multiple objects. " +"Handler implementations should inherit from the base classes provided in the " +"module :mod:`xml.sax.handler`, so that all methods get default " +"implementations." +msgstr "" +"SAX API визначає п’ять типів обробників: обробники вмісту, обробники DTD, " +"обробники помилок, розв’язувачі сутностей і лексичні обробники. Додаткам " +"зазвичай потрібно лише реалізувати ті інтерфейси, події яких їх цікавлять; " +"вони можуть реалізувати інтерфейси в одному об’єкті або в кількох об’єктах. " +"Реалізації обробників мають успадковувати базові класи, надані в модулі :mod:" +"`xml.sax.handler`, щоб усі методи отримували реалізації за замовчуванням." + +msgid "" +"This is the main callback interface in SAX, and the one most important to " +"applications. The order of events in this interface mirrors the order of the " +"information in the document." +msgstr "" +"Це основний інтерфейс зворотного виклику в SAX і найважливіший для програм. " +"Порядок подій у цьому інтерфейсі відображає порядок інформації в документі." + +msgid "Handle DTD events." +msgstr "Обробляти події DTD." + +msgid "" +"This interface specifies only those DTD events required for basic parsing " +"(unparsed entities and attributes)." +msgstr "" +"Цей інтерфейс визначає лише ті події DTD, необхідні для базового аналізу " +"(нерозібрані сутності та атрибути)." + +msgid "" +"Basic interface for resolving entities. If you create an object implementing " +"this interface, then register the object with your Parser, the parser will " +"call the method in your object to resolve all external entities." +msgstr "" +"Базовий інтерфейс для вирішення сутностей. Якщо ви створюєте об’єкт, що " +"реалізує цей інтерфейс, а потім зареєструєте об’єкт у своєму парсері, " +"синтаксичний аналізатор викличе метод у вашому об’єкті для вирішення всіх " +"зовнішніх об’єктів." + +msgid "" +"Interface used by the parser to present error and warning messages to the " +"application. The methods of this object control whether errors are " +"immediately converted to exceptions or are handled in some other way." +msgstr "" +"Інтерфейс, який використовується синтаксичним аналізатором для надання " +"повідомлень про помилки та попереджень програмі. Методи цього об’єкта " +"контролюють, чи помилки негайно перетворюються на винятки чи обробляються " +"іншим способом." + +msgid "" +"Interface used by the parser to represent low frequency events which may not " +"be of interest to many applications." +msgstr "" +"Інтерфейс, який використовується синтаксичним аналізатором для представлення " +"низькочастотних подій, які можуть бути нецікавими для багатьох програм." + +msgid "" +"In addition to these classes, :mod:`xml.sax.handler` provides symbolic " +"constants for the feature and property names." +msgstr "" +"На додаток до цих класів, :mod:`xml.sax.handler` надає символічні константи " +"для імен функцій і властивостей." + +msgid "value: ``\"http://xml.org/sax/features/namespaces\"``" +msgstr "значення: ``\"http://xml.org/sax/features/namespaces\"``" + +msgid "true: Perform Namespace processing." +msgstr "true: виконати обробку простору імен." + +msgid "" +"false: Optionally do not perform Namespace processing (implies namespace-" +"prefixes; default)." +msgstr "" +"false: за бажанням не виконувати обробку простору імен (передбачає префікси " +"простору імен; за замовчуванням)." + +msgid "access: (parsing) read-only; (not parsing) read/write" +msgstr "доступ: (розбір) лише для читання; (без аналізу) читання/запис" + +msgid "value: ``\"http://xml.org/sax/features/namespace-prefixes\"``" +msgstr "значення: ``\"http://xml.org/sax/features/namespace-prefixes\"``" + +msgid "" +"true: Report the original prefixed names and attributes used for Namespace " +"declarations." +msgstr "" +"true: Повідомити про оригінальні префіксовані імена та атрибути, які " +"використовуються для декларацій простору імен." + +msgid "" +"false: Do not report attributes used for Namespace declarations, and " +"optionally do not report original prefixed names (default)." +msgstr "" +"false: не повідомляти про атрибути, які використовуються для декларацій " +"простору імен, і, за бажанням, не повідомляти про оригінальні імена з " +"префіксами (за замовчуванням)." + +msgid "value: ``\"http://xml.org/sax/features/string-interning\"``" +msgstr "значення: ``\"http://xml.org/sax/features/string-interning\"``" + +msgid "" +"true: All element names, prefixes, attribute names, Namespace URIs, and " +"local names are interned using the built-in intern function." +msgstr "" +"true: усі назви елементів, префікси, назви атрибутів, URI простору імен і " +"локальні імена інтернуються за допомогою вбудованої функції intern." + +msgid "" +"false: Names are not necessarily interned, although they may be (default)." +msgstr "" +"false: імена не обов’язково інтерновані, хоча вони можуть бути (за " +"замовчуванням)." + +msgid "value: ``\"http://xml.org/sax/features/validation\"``" +msgstr "значення: ``\"http://xml.org/sax/features/validation\"``" + +msgid "" +"true: Report all validation errors (implies external-general-entities and " +"external-parameter-entities)." +msgstr "" +"true: повідомляти про всі помилки перевірки (передбачається зовнішні " +"загальні сутності та зовнішні параметри)." + +msgid "false: Do not report validation errors." +msgstr "false: не повідомляти про помилки перевірки." + +msgid "value: ``\"http://xml.org/sax/features/external-general-entities\"``" +msgstr "" +"значення: ``\"http://xml.org/sax/features/external-general-entities\"``" + +msgid "true: Include all external general (text) entities." +msgstr "true: включати всі зовнішні загальні (текстові) сутності." + +msgid "false: Do not include external general entities." +msgstr "false: не включати зовнішні загальні сутності." + +msgid "value: ``\"http://xml.org/sax/features/external-parameter-entities\"``" +msgstr "" +"значення: ``\"http://xml.org/sax/features/external-parameter-entities\"``" + +msgid "" +"true: Include all external parameter entities, including the external DTD " +"subset." +msgstr "" +"true: включати всі зовнішні параметри, включаючи підмножину зовнішнього DTD." + +msgid "" +"false: Do not include any external parameter entities, even the external DTD " +"subset." +msgstr "" +"false: не включайте жодних зовнішніх сутностей параметрів, навіть зовнішньої " +"підмножини DTD." + +msgid "List of all features." +msgstr "Список усіх функцій." + +msgid "value: ``\"http://xml.org/sax/properties/lexical-handler\"``" +msgstr "значення: ``\"http://xml.org/sax/properties/lexical-handler\"``" + +msgid "data type: xml.sax.handler.LexicalHandler (not supported in Python 2)" +msgstr "" +"тип даних: xml.sax.handler.LexicalHandler (не підтримується в Python 2)" + +msgid "" +"description: An optional extension handler for lexical events like comments." +msgstr "" +"опис: додатковий обробник розширення для лексичних подій, таких як коментарі." + +msgid "access: read/write" +msgstr "доступ: читання/запис" + +msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``" +msgstr "значення: ``\"http://xml.org/sax/properties/declaration-handler\"``" + +msgid "data type: xml.sax.sax2lib.DeclHandler (not supported in Python 2)" +msgstr "тип даних: xml.sax.sax2lib.DeclHandler (не підтримується в Python 2)" + +msgid "" +"description: An optional extension handler for DTD-related events other than " +"notations and unparsed entities." +msgstr "" +"опис: необов’язковий обробник розширення для подій, пов’язаних із DTD, крім " +"нотацій і нерозібраних об’єктів." + +msgid "value: ``\"http://xml.org/sax/properties/dom-node\"``" +msgstr "значення: ``\"http://xml.org/sax/properties/dom-node\"``" + +msgid "data type: org.w3c.dom.Node (not supported in Python 2)" +msgstr "тип даних: org.w3c.dom.Node (не підтримується в Python 2)" + +msgid "" +"description: When parsing, the current DOM node being visited if this is a " +"DOM iterator; when not parsing, the root DOM node for iteration." +msgstr "" +"опис: під час аналізу поточний відвідуваний вузол DOM, якщо це ітератор DOM; " +"якщо не аналізується, кореневий вузол DOM для ітерації." + +msgid "value: ``\"http://xml.org/sax/properties/xml-string\"``" +msgstr "значення: ``\"http://xml.org/sax/properties/xml-string\"``" + +msgid "data type: Bytes" +msgstr "тип даних: байти" + +msgid "" +"description: The literal string of characters that was the source for the " +"current event." +msgstr "" +"опис: літеральний рядок символів, який був джерелом для поточної події." + +msgid "access: read-only" +msgstr "доступ: тільки для читання" + +msgid "List of all known property names." +msgstr "Список усіх відомих назв властивостей." + +msgid "ContentHandler Objects" +msgstr "Об’єкти ContentHandler" + +msgid "" +"Users are expected to subclass :class:`ContentHandler` to support their " +"application. The following methods are called by the parser on the " +"appropriate events in the input document:" +msgstr "" +"Очікується, що користувачі створять підклас :class:`ContentHandler` для " +"підтримки своєї програми. Наступні методи викликаються аналізатором для " +"відповідних подій у вхідному документі:" + +msgid "" +"Called by the parser to give the application a locator for locating the " +"origin of document events." +msgstr "" +"Викликається аналізатором, щоб надати програмі локатор для визначення місця " +"походження подій документа." + +msgid "" +"SAX parsers are strongly encouraged (though not absolutely required) to " +"supply a locator: if it does so, it must supply the locator to the " +"application by invoking this method before invoking any of the other methods " +"in the DocumentHandler interface." +msgstr "" +"Синтаксичним аналізаторам SAX настійно рекомендується (хоча це не є " +"абсолютно обов’язковим) надавати локатор: якщо він це робить, він повинен " +"надати локатор додатку, викликавши цей метод перед викликом будь-якого " +"іншого методу в інтерфейсі DocumentHandler." + +msgid "" +"The locator allows the application to determine the end position of any " +"document-related event, even if the parser is not reporting an error. " +"Typically, the application will use this information for reporting its own " +"errors (such as character content that does not match an application's " +"business rules). The information returned by the locator is probably not " +"sufficient for use with a search engine." +msgstr "" +"Локатор дозволяє програмі визначати кінцеву позицію будь-якої події, " +"пов’язаної з документом, навіть якщо аналізатор не повідомляє про помилку. " +"Як правило, програма використовуватиме цю інформацію для звітування про " +"власні помилки (наприклад, вміст символів, який не відповідає бізнес-" +"правилам програми). Інформації, яку повертає локатор, можливо, недостатньо " +"для використання з пошуковою системою." + +msgid "" +"Note that the locator will return correct information only during the " +"invocation of the events in this interface. The application should not " +"attempt to use it at any other time." +msgstr "" +"Зауважте, що локатор поверне правильну інформацію лише під час виклику подій " +"у цьому інтерфейсі. Програма не повинна намагатися використовувати її в будь-" +"який інший час." + +msgid "Receive notification of the beginning of a document." +msgstr "Отримувати сповіщення про початок документа." + +msgid "" +"The SAX parser will invoke this method only once, before any other methods " +"in this interface or in DTDHandler (except for :meth:`setDocumentLocator`)." +msgstr "" +"Синтаксичний аналізатор SAX викличе цей метод лише один раз перед будь-якими " +"іншими методами в цьому інтерфейсі або в DTDHandler (за винятком :meth:" +"`setDocumentLocator`)." + +msgid "Receive notification of the end of a document." +msgstr "Отримувати сповіщення про закінчення документа." + +msgid "" +"The SAX parser will invoke this method only once, and it will be the last " +"method invoked during the parse. The parser shall not invoke this method " +"until it has either abandoned parsing (because of an unrecoverable error) or " +"reached the end of input." +msgstr "" +"Синтаксичний аналізатор SAX викличе цей метод лише один раз, і це буде " +"останній метод, викликаний під час аналізу. Синтаксичний аналізатор не " +"повинен викликати цей метод, доки він не припинить аналіз (через невиправну " +"помилку) або не досягне кінця введення." + +msgid "Begin the scope of a prefix-URI Namespace mapping." +msgstr "Почніть область відображення простору імен префікс-URI." + +msgid "" +"The information from this event is not necessary for normal Namespace " +"processing: the SAX XML reader will automatically replace prefixes for " +"element and attribute names when the ``feature_namespaces`` feature is " +"enabled (the default)." +msgstr "" +"Інформація з цієї події не потрібна для нормальної обробки простору імен: " +"читач SAX XML автоматично замінить префікси для імен елементів і атрибутів, " +"коли функцію ``feature_namespaces`` увімкнено (за замовчуванням)." + +msgid "" +"There are cases, however, when applications need to use prefixes in " +"character data or in attribute values, where they cannot safely be expanded " +"automatically; the :meth:`startPrefixMapping` and :meth:`endPrefixMapping` " +"events supply the information to the application to expand prefixes in those " +"contexts itself, if necessary." +msgstr "" +"Однак бувають випадки, коли програмам потрібно використовувати префікси в " +"символьних даних або значеннях атрибутів, де їх неможливо безпечно " +"розгорнути автоматично; Події :meth:`startPrefixMapping` і :meth:" +"`endPrefixMapping` надають інформацію програмі для розширення префіксів у " +"цих контекстах, якщо необхідно." + +msgid "" +"Note that :meth:`startPrefixMapping` and :meth:`endPrefixMapping` events are " +"not guaranteed to be properly nested relative to each-other: all :meth:" +"`startPrefixMapping` events will occur before the corresponding :meth:" +"`startElement` event, and all :meth:`endPrefixMapping` events will occur " +"after the corresponding :meth:`endElement` event, but their order is not " +"guaranteed." +msgstr "" +"Зауважте, що події :meth:`startPrefixMapping` і :meth:`endPrefixMapping` не " +"гарантовано належним чином вкладені одна в одну: усі події :meth:" +"`startPrefixMapping` відбуватимуться перед відповідною подією :meth:" +"`startElement`, і всі події :meth:`endPrefixMapping` відбуватимуться після " +"відповідної події :meth:`endElement`, але їх порядок не гарантується." + +msgid "End the scope of a prefix-URI mapping." +msgstr "Завершення області зіставлення префікс-URI." + +msgid "" +"See :meth:`startPrefixMapping` for details. This event will always occur " +"after the corresponding :meth:`endElement` event, but the order of :meth:" +"`endPrefixMapping` events is not otherwise guaranteed." +msgstr "" +"Дивіться :meth:`startPrefixMapping` для деталей. Ця подія завжди " +"відбуватиметься після відповідної події :meth:`endElement`, але порядок " +"подій :meth:`endPrefixMapping` інакше не гарантується." + +msgid "Signals the start of an element in non-namespace mode." +msgstr "Сигналізує про початок елемента в режимі без простору імен." + +msgid "" +"The *name* parameter contains the raw XML 1.0 name of the element type as a " +"string and the *attrs* parameter holds an object of the :class:`~xml.sax." +"xmlreader.Attributes` interface (see :ref:`attributes-objects`) containing " +"the attributes of the element. The object passed as *attrs* may be re-used " +"by the parser; holding on to a reference to it is not a reliable way to keep " +"a copy of the attributes. To keep a copy of the attributes, use the :meth:" +"`copy` method of the *attrs* object." +msgstr "" +"Параметр *name* містить необроблену назву типу елемента XML 1.0 у вигляді " +"рядка, а параметр *attrs* містить об’єкт інтерфейсу :class:`~xml.sax." +"xmlreader.Attributes` (див. :ref:`attributes-objects`), що містить атрибути " +"елемента. Об’єкт, переданий як *attrs*, може бути повторно використаний " +"аналізатором; збереження посилання на нього не є надійним способом зберегти " +"копію атрибутів. Щоб зберегти копію атрибутів, використовуйте метод :meth:" +"`copy` об’єкта *attrs*." + +msgid "Signals the end of an element in non-namespace mode." +msgstr "Сигналізує кінець елемента в режимі без простору імен." + +msgid "" +"The *name* parameter contains the name of the element type, just as with " +"the :meth:`startElement` event." +msgstr "" +"Параметр *name* містить назву типу елемента, як і подія :meth:`startElement`." + +msgid "Signals the start of an element in namespace mode." +msgstr "Сигналізує про початок елемента в режимі простору імен." + +msgid "" +"The *name* parameter contains the name of the element type as a ``(uri, " +"localname)`` tuple, the *qname* parameter contains the raw XML 1.0 name used " +"in the source document, and the *attrs* parameter holds an instance of the :" +"class:`~xml.sax.xmlreader.AttributesNS` interface (see :ref:`attributes-ns-" +"objects`) containing the attributes of the element. If no namespace is " +"associated with the element, the *uri* component of *name* will be " +"``None``. The object passed as *attrs* may be re-used by the parser; " +"holding on to a reference to it is not a reliable way to keep a copy of the " +"attributes. To keep a copy of the attributes, use the :meth:`copy` method " +"of the *attrs* object." +msgstr "" +"Параметр *name* містить ім’я типу елемента як кортеж ``(uri, localname)``, " +"параметр *qname* містить необроблене ім’я XML 1.0, яке використовується у " +"вихідному документі, а параметр *attrs* містить екземпляр інтерфейсу :class:" +"`~xml.sax.xmlreader.AttributesNS` (див. :ref:`attributes-ns-objects`), що " +"містить атрибути елемента. Якщо простір імен не пов’язано з елементом, " +"компонент *uri* *name* матиме значення ``None``. Об’єкт, переданий як " +"*attrs*, може бути повторно використаний аналізатором; збереження посилання " +"на нього не є надійним способом зберегти копію атрибутів. Щоб зберегти копію " +"атрибутів, використовуйте метод :meth:`copy` об’єкта *attrs*." + +msgid "" +"Parsers may set the *qname* parameter to ``None``, unless the " +"``feature_namespace_prefixes`` feature is activated." +msgstr "" +"Парсери можуть встановити для параметра *qname* значення ``None``, якщо " +"функція ``feature_namespace_prefixes`` не активована." + +msgid "Signals the end of an element in namespace mode." +msgstr "Сигналізує кінець елемента в режимі простору імен." + +msgid "" +"The *name* parameter contains the name of the element type, just as with " +"the :meth:`startElementNS` method, likewise the *qname* parameter." +msgstr "" +"Параметр *name* містить ім’я типу елемента, як і метод :meth:" +"`startElementNS`, так само як і параметр *qname*." + +msgid "Receive notification of character data." +msgstr "Отримувати сповіщення про символьні дані." + +msgid "" +"The Parser will call this method to report each chunk of character data. SAX " +"parsers may return all contiguous character data in a single chunk, or they " +"may split it into several chunks; however, all of the characters in any " +"single event must come from the same external entity so that the Locator " +"provides useful information." +msgstr "" +"Синтаксичний аналізатор викличе цей метод, щоб повідомити про кожну порцію " +"символьних даних. Синтаксичні аналізатори SAX можуть повертати всі суміжні " +"символьні дані в одному фрагменті або вони можуть розділити його на кілька " +"фрагментів; однак усі символи будь-якої окремої події мають походити від " +"однієї зовнішньої сутності, щоб Локатор надавав корисну інформацію." + +msgid "" +"*content* may be a string or bytes instance; the ``expat`` reader module " +"always produces strings." +msgstr "" +"*content* може бути рядком або байтом; модуль читання ``expat`` завжди " +"створює рядки." + +msgid "" +"The earlier SAX 1 interface provided by the Python XML Special Interest " +"Group used a more Java-like interface for this method. Since most parsers " +"used from Python did not take advantage of the older interface, the simpler " +"signature was chosen to replace it. To convert old code to the new " +"interface, use *content* instead of slicing content with the old *offset* " +"and *length* parameters." +msgstr "" +"Попередній інтерфейс SAX 1, наданий Python XML Special Interest Group, " +"використовував для цього методу інтерфейс, більш схожий на Java. Оскільки " +"більшість синтаксичних аналізаторів, що використовуються з Python, не " +"використовували переваги старішого інтерфейсу, замість нього було обрано " +"простіший підпис. Щоб перетворити старий код на новий інтерфейс, " +"використовуйте *content* замість розділення вмісту зі старими параметрами " +"*offset* і *length*." + +msgid "Receive notification of ignorable whitespace in element content." +msgstr "Отримувати сповіщення про ігноровані пробіли у вмісті елемента." + +msgid "" +"Validating Parsers must use this method to report each chunk of ignorable " +"whitespace (see the W3C XML 1.0 recommendation, section 2.10): non-" +"validating parsers may also use this method if they are capable of parsing " +"and using content models." +msgstr "" +"Перевіряючі аналізатори повинні використовувати цей метод, щоб повідомляти " +"про кожну частину ігнорованого пробілу (див. рекомендацію W3C XML 1.0, " +"розділ 2.10): неперевіряючі аналізатори також можуть використовувати цей " +"метод, якщо вони здатні аналізувати та використовувати моделі вмісту." + +msgid "" +"SAX parsers may return all contiguous whitespace in a single chunk, or they " +"may split it into several chunks; however, all of the characters in any " +"single event must come from the same external entity, so that the Locator " +"provides useful information." +msgstr "" +"Синтаксичні аналізатори SAX можуть повертати всі безперервні пробіли в " +"одному фрагменті або вони можуть розділити його на кілька фрагментів; однак " +"усі символи будь-якої окремої події мають походити від однієї зовнішньої " +"сутності, щоб Локатор надавав корисну інформацію." + +msgid "Receive notification of a processing instruction." +msgstr "Отримати повідомлення про інструкцію з обробки." + +msgid "" +"The Parser will invoke this method once for each processing instruction " +"found: note that processing instructions may occur before or after the main " +"document element." +msgstr "" +"Синтаксичний аналізатор викличе цей метод один раз для кожної знайденої " +"інструкції обробки: зауважте, що інструкції обробки можуть з’являтися до або " +"після основного елемента документа." + +msgid "" +"A SAX parser should never report an XML declaration (XML 1.0, section 2.8) " +"or a text declaration (XML 1.0, section 4.3.1) using this method." +msgstr "" +"Синтаксичний аналізатор SAX ніколи не повинен повідомляти про оголошення XML " +"(XML 1.0, розділ 2.8) або текстове оголошення (XML 1.0, розділ 4.3.1) за " +"допомогою цього методу." + +msgid "Receive notification of a skipped entity." +msgstr "Отримати сповіщення про пропущену сутність." + +msgid "" +"The Parser will invoke this method once for each entity skipped. Non-" +"validating processors may skip entities if they have not seen the " +"declarations (because, for example, the entity was declared in an external " +"DTD subset). All processors may skip external entities, depending on the " +"values of the ``feature_external_ges`` and the ``feature_external_pes`` " +"properties." +msgstr "" +"Парсер викличе цей метод один раз для кожної пропущеної сутності. Процесори, " +"які не перевіряють, можуть пропускати сутності, якщо вони не бачили " +"декларацій (оскільки, наприклад, сутність було оголошено у зовнішній " +"підмножині DTD). Усі процесори можуть пропускати зовнішні сутності залежно " +"від значень властивостей ``feature_external_ges`` і ``feature_external_pes``." + +msgid "DTDHandler Objects" +msgstr "Об’єкти DTDHandler" + +msgid ":class:`DTDHandler` instances provide the following methods:" +msgstr "Екземпляри :class:`DTDHandler` надають такі методи:" + +msgid "Handle a notation declaration event." +msgstr "Обробляти подію оголошення нотації." + +msgid "Handle an unparsed entity declaration event." +msgstr "Обробляти подію оголошення нерозібраної сутності." + +msgid "EntityResolver Objects" +msgstr "Об’єкти EntityResolver" + +msgid "" +"Resolve the system identifier of an entity and return either the system " +"identifier to read from as a string, or an InputSource to read from. The " +"default implementation returns *systemId*." +msgstr "" +"Вирішіть системний ідентифікатор сутності та поверніть системний " +"ідентифікатор для читання у вигляді рядка або джерело введення для читання. " +"Реалізація за замовчуванням повертає *systemId*." + +msgid "ErrorHandler Objects" +msgstr "Об’єкти ErrorHandler" + +msgid "" +"Objects with this interface are used to receive error and warning " +"information from the :class:`~xml.sax.xmlreader.XMLReader`. If you create " +"an object that implements this interface, then register the object with " +"your :class:`~xml.sax.xmlreader.XMLReader`, the parser will call the methods " +"in your object to report all warnings and errors. There are three levels of " +"errors available: warnings, (possibly) recoverable errors, and unrecoverable " +"errors. All methods take a :exc:`SAXParseException` as the only parameter. " +"Errors and warnings may be converted to an exception by raising the passed-" +"in exception object." +msgstr "" +"Об’єкти з цим інтерфейсом використовуються для отримання інформації про " +"помилки та попередження від :class:`~xml.sax.xmlreader.XMLReader`. Якщо ви " +"створите об’єкт, який реалізує цей інтерфейс, а потім зареєструєте об’єкт у " +"своєму :class:`~xml.sax.xmlreader.XMLReader`, аналізатор викличе методи у " +"вашому об’єкті, щоб повідомити про всі попередження та помилки. Доступні три " +"рівні помилок: попередження, (можливо) виправні помилки та невиправні " +"помилки. Усі методи приймають :exc:`SAXParseException` як єдиний параметр. " +"Помилки та попередження можна перетворити на виняток шляхом підвищення " +"переданого об’єкта виключення." + +msgid "" +"Called when the parser encounters a recoverable error. If this method does " +"not raise an exception, parsing may continue, but further document " +"information should not be expected by the application. Allowing the parser " +"to continue may allow additional errors to be discovered in the input " +"document." +msgstr "" +"Викликається, коли аналізатор стикається з помилкою, яку можна виправити. " +"Якщо цей метод не викликає винятку, аналіз може продовжуватися, але програма " +"не повинна очікувати подальшої інформації про документ. Якщо дозволити " +"синтаксичному аналізатору продовжити роботу, у вхідному документі можуть " +"бути виявлені додаткові помилки." + +msgid "" +"Called when the parser encounters an error it cannot recover from; parsing " +"is expected to terminate when this method returns." +msgstr "" +"Викликається, коли аналізатор стикається з помилкою, яку не може відновити; " +"Очікується, що розбір завершиться, коли цей метод повернеться." + +msgid "" +"Called when the parser presents minor warning information to the " +"application. Parsing is expected to continue when this method returns, and " +"document information will continue to be passed to the application. Raising " +"an exception in this method will cause parsing to end." +msgstr "" +"Викликається, коли синтаксичний аналізатор надає додатку незначну " +"попереджувальну інформацію. Очікується, що синтаксичний аналіз продовжиться, " +"коли цей метод повернеться, а інформація про документ продовжуватиме " +"передаватись до програми. Створення винятку в цьому методі призведе до " +"завершення аналізу." + +msgid "LexicalHandler Objects" +msgstr "Об’єкти LexicalHandler" + +msgid "Optional SAX2 handler for lexical events." +msgstr "Додатковий обробник SAX2 для лексичних подій." + +msgid "" +"This handler is used to obtain lexical information about an XML document. " +"Lexical information includes information describing the document encoding " +"used and XML comments embedded in the document, as well as section " +"boundaries for the DTD and for any CDATA sections. The lexical handlers are " +"used in the same manner as content handlers." +msgstr "" +"Цей обробник використовується для отримання лексичної інформації про XML-" +"документ. Лексична інформація включає інформацію, що описує кодування " +"документа, що використовується, і коментарі XML, вбудовані в документ, а " +"також межі розділів для DTD і будь-яких розділів CDATA. Лексичні обробники " +"використовуються так само, як і обробники вмісту." + +msgid "" +"Set the LexicalHandler of an XMLReader by using the setProperty method with " +"the property identifier ``'http://xml.org/sax/properties/lexical-handler'``." +msgstr "" +"Встановіть LexicalHandler для XMLReader за допомогою методу setProperty з " +"ідентифікатором властивості ``'http://xml.org/sax/properties/lexical-" +"handler``." + +msgid "" +"Reports a comment anywhere in the document (including the DTD and outside " +"the document element)." +msgstr "" +"Повідомляє про коментар будь-де в документі (включаючи DTD і поза елементом " +"документа)." + +msgid "" +"Reports the start of the DTD declarations if the document has an associated " +"DTD." +msgstr "" +"Повідомляє про початок декларацій DTD, якщо документ має пов’язаний DTD." + +msgid "Reports the end of DTD declaration." +msgstr "Повідомляє про закінчення декларації DTD." + +msgid "Reports the start of a CDATA marked section." +msgstr "Повідомляє про початок позначеного розділу CDATA." + +msgid "" +"The contents of the CDATA marked section will be reported through the " +"characters handler." +msgstr "Вміст позначеного розділу CDATA буде передано через обробник символів." + +msgid "Reports the end of a CDATA marked section." +msgstr "Повідомляє про кінець позначеного розділу CDATA." diff --git a/library/xml_sax_reader.po b/library/xml_sax_reader.po new file mode 100644 index 000000000..b0b50737b --- /dev/null +++ b/library/xml_sax_reader.po @@ -0,0 +1,473 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.sax.xmlreader` --- Interface for XML parsers" +msgstr ":mod:`xml.sax.xmlreader` --- Інтерфейс для парсерів XML" + +msgid "**Source code:** :source:`Lib/xml/sax/xmlreader.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/sax/xmlreader.py`" + +msgid "" +"SAX parsers implement the :class:`XMLReader` interface. They are implemented " +"in a Python module, which must provide a function :func:`create_parser`. " +"This function is invoked by :func:`xml.sax.make_parser` with no arguments " +"to create a new parser object." +msgstr "" +"Парсери SAX реалізують інтерфейс :class:`XMLReader`. Вони реалізовані в " +"модулі Python, який повинен надавати функцію :func:`create_parser`. Ця " +"функція викликається :func:`xml.sax.make_parser` без аргументів для " +"створення нового об’єкта аналізатора." + +msgid "Base class which can be inherited by SAX parsers." +msgstr "Базовий клас, який може бути успадкований аналізаторами SAX." + +msgid "" +"In some cases, it is desirable not to parse an input source at once, but to " +"feed chunks of the document as they get available. Note that the reader will " +"normally not read the entire file, but read it in chunks as well; still :" +"meth:`parse` won't return until the entire document is processed. So these " +"interfaces should be used if the blocking behaviour of :meth:`parse` is not " +"desirable." +msgstr "" +"У деяких випадках бажано не аналізувати джерело введення відразу, а подавати " +"фрагменти документа, коли вони стають доступними. Зауважте, що читач " +"зазвичай читатиме не весь файл, а також його частини; все одно :meth:`parse` " +"не повернеться, доки не буде оброблено весь документ. Тому ці інтерфейси " +"слід використовувати, якщо блокуюча поведінка :meth:`parse` є небажаною." + +msgid "" +"When the parser is instantiated it is ready to begin accepting data from the " +"feed method immediately. After parsing has been finished with a call to " +"close the reset method must be called to make the parser ready to accept new " +"data, either from feed or using the parse method." +msgstr "" +"Коли аналізатор створено, він готовий негайно почати приймати дані з методу " +"каналу. Після завершення синтаксичного аналізу з викликом для закриття " +"потрібно викликати метод reset, щоб зробити аналізатор готовим приймати нові " +"дані, або з каналу, або за допомогою методу аналізу." + +msgid "" +"Note that these methods must *not* be called during parsing, that is, after " +"parse has been called and before it returns." +msgstr "" +"Зауважте, що ці методи *не* можна викликати під час синтаксичного аналізу, " +"тобто після виклику аналізу та до його повернення." + +msgid "" +"By default, the class also implements the parse method of the XMLReader " +"interface using the feed, close and reset methods of the IncrementalParser " +"interface as a convenience to SAX 2.0 driver writers." +msgstr "" +"За замовчуванням клас також реалізує метод синтаксичного аналізу інтерфейсу " +"XMLReader за допомогою методів feed, close і reset інтерфейсу " +"IncrementalParser для зручності авторів драйверів SAX 2.0." + +msgid "" +"Interface for associating a SAX event with a document location. A locator " +"object will return valid results only during calls to DocumentHandler " +"methods; at any other time, the results are unpredictable. If information is " +"not available, methods may return ``None``." +msgstr "" +"Інтерфейс для зв’язування події SAX із розташуванням документа. Об’єкт " +"локатора поверне дійсні результати лише під час викликів методів " +"DocumentHandler; в будь-який інший час результати непередбачувані. Якщо " +"інформація недоступна, методи можуть повернути ``None``." + +msgid "" +"Encapsulation of the information needed by the :class:`XMLReader` to read " +"entities." +msgstr "" +"Інкапсуляція інформації, необхідної :class:`XMLReader` для читання сутностей." + +msgid "" +"This class may include information about the public identifier, system " +"identifier, byte stream (possibly with character encoding information) and/" +"or the character stream of an entity." +msgstr "" +"Цей клас може містити інформацію про загальнодоступний ідентифікатор, " +"ідентифікатор системи, потік байтів (можливо, з інформацією про кодування " +"символів) та/або потік символів сутності." + +msgid "" +"Applications will create objects of this class for use in the :meth:" +"`XMLReader.parse` method and for returning from EntityResolver.resolveEntity." +msgstr "" +"Програми створюватимуть об’єкти цього класу для використання в методі :meth:" +"`XMLReader.parse` і для повернення з EntityResolver.resolveEntity." + +msgid "" +"An :class:`InputSource` belongs to the application, the :class:`XMLReader` " +"is not allowed to modify :class:`InputSource` objects passed to it from the " +"application, although it may make copies and modify those." +msgstr "" +":class:`InputSource` належить програмі, :class:`XMLReader` не дозволяється " +"змінювати об’єкти :class:`InputSource`, передані йому з програми, хоча він " +"може робити копії та змінювати їх." + +msgid "" +"This is an implementation of the :class:`Attributes` interface (see section :" +"ref:`attributes-objects`). This is a dictionary-like object which " +"represents the element attributes in a :meth:`startElement` call. In " +"addition to the most useful dictionary operations, it supports a number of " +"other methods as described by the interface. Objects of this class should be " +"instantiated by readers; *attrs* must be a dictionary-like object containing " +"a mapping from attribute names to attribute values." +msgstr "" +"Це реалізація інтерфейсу :class:`Attributes` (див. розділ :ref:`attributes-" +"objects`). Це об’єкт, схожий на словник, який представляє атрибути елемента " +"у виклику :meth:`startElement`. Окрім найкорисніших операцій зі словником, " +"він підтримує низку інших методів, як описано в інтерфейсі. Об'єкти цього " +"класу повинні створюватися читачами; *attrs* має бути об’єктом, подібним до " +"словника, який містить відображення імен атрибутів у значення атрибутів." + +msgid "" +"Namespace-aware variant of :class:`AttributesImpl`, which will be passed to :" +"meth:`startElementNS`. It is derived from :class:`AttributesImpl`, but " +"understands attribute names as two-tuples of *namespaceURI* and *localname*. " +"In addition, it provides a number of methods expecting qualified names as " +"they appear in the original document. This class implements the :class:" +"`AttributesNS` interface (see section :ref:`attributes-ns-objects`)." +msgstr "" +"Варіант :class:`AttributesImpl` з урахуванням простору імен, який буде " +"передано в :meth:`startElementNS`. Він походить від :class:`AttributesImpl`, " +"але розуміє імена атрибутів як два кортежі *namespaceURI* і *localname*. " +"Крім того, він надає низку методів очікування кваліфікованих імен, як вони " +"з’являються в оригінальному документі. Цей клас реалізує інтерфейс :class:" +"`AttributesNS` (див. розділ :ref:`attributes-ns-objects`)." + +msgid "XMLReader Objects" +msgstr "Об’єкти XMLReader" + +msgid "The :class:`XMLReader` interface supports the following methods:" +msgstr "Інтерфейс :class:`XMLReader` підтримує такі методи:" + +msgid "" +"Process an input source, producing SAX events. The *source* object can be a " +"system identifier (a string identifying the input source -- typically a file " +"name or a URL), a :class:`pathlib.Path` or :term:`path-like ` object, or an :class:`InputSource` object. When :meth:`parse` " +"returns, the input is completely processed, and the parser object can be " +"discarded or reset." +msgstr "" +"Обробляти джерело вхідних даних, створюючи події SAX. Об’єкт *джерело* може " +"бути системним ідентифікатором (рядок, що ідентифікує джерело вхідних даних " +"– зазвичай це ім’я файлу або URL-адреса), об’єктом :class:`pathlib.Path` " +"або :term:`path-like ` або об’єкт :class:`InputSource`. " +"Коли :meth:`parse` повертається, введення повністю оброблено, а об’єкт " +"парсера можна відкинути або скинути." + +msgid "Added support of character streams." +msgstr "Додано підтримку потоків символів." + +msgid "Added support of path-like objects." +msgstr "Додано підтримку шляхоподібних об'єктів." + +msgid "Return the current :class:`~xml.sax.handler.ContentHandler`." +msgstr "Повертає поточний :class:`~xml.sax.handler.ContentHandler`." + +msgid "" +"Set the current :class:`~xml.sax.handler.ContentHandler`. If no :class:" +"`~xml.sax.handler.ContentHandler` is set, content events will be discarded." +msgstr "" +"Установіть поточний :class:`~xml.sax.handler.ContentHandler`. Якщо :class:" +"`~xml.sax.handler.ContentHandler` не встановлено, події вмісту буде " +"відхилено." + +msgid "Return the current :class:`~xml.sax.handler.DTDHandler`." +msgstr "Повертає поточний :class:`~xml.sax.handler.DTDHandler`." + +msgid "" +"Set the current :class:`~xml.sax.handler.DTDHandler`. If no :class:`~xml." +"sax.handler.DTDHandler` is set, DTD events will be discarded." +msgstr "" +"Установіть поточний :class:`~xml.sax.handler.DTDHandler`. Якщо :class:`~xml." +"sax.handler.DTDHandler` не встановлено, події DTD будуть відхилені." + +msgid "Return the current :class:`~xml.sax.handler.EntityResolver`." +msgstr "Повертає поточний :class:`~xml.sax.handler.EntityResolver`." + +msgid "" +"Set the current :class:`~xml.sax.handler.EntityResolver`. If no :class:" +"`~xml.sax.handler.EntityResolver` is set, attempts to resolve an external " +"entity will result in opening the system identifier for the entity, and fail " +"if it is not available." +msgstr "" +"Установіть поточний :class:`~xml.sax.handler.EntityResolver`. Якщо :class:" +"`~xml.sax.handler.EntityResolver` не встановлено, спроби розпізнати зовнішню " +"сутність призведуть до відкриття системного ідентифікатора для цієї сутності " +"та завершаться помилкою, якщо він недоступний." + +msgid "Return the current :class:`~xml.sax.handler.ErrorHandler`." +msgstr "Повертає поточний :class:`~xml.sax.handler.ErrorHandler`." + +msgid "" +"Set the current error handler. If no :class:`~xml.sax.handler.ErrorHandler` " +"is set, errors will be raised as exceptions, and warnings will be printed." +msgstr "" +"Встановити поточний обробник помилок. Якщо :class:`~xml.sax.handler." +"ErrorHandler` не встановлено, помилки будуть викликані як винятки, а " +"попередження будуть надруковані." + +msgid "Allow an application to set the locale for errors and warnings." +msgstr "Дозволити програмі встановлювати мову для помилок і попереджень." + +msgid "" +"SAX parsers are not required to provide localization for errors and " +"warnings; if they cannot support the requested locale, however, they must " +"raise a SAX exception. Applications may request a locale change in the " +"middle of a parse." +msgstr "" +"Синтаксичним аналізаторам SAX не потрібно забезпечувати локалізацію помилок " +"і попереджень; однак, якщо вони не можуть підтримувати запитану локаль, вони " +"повинні викликати виняток SAX. Програми можуть запитувати зміну локалі в " +"середині аналізу." + +msgid "" +"Return the current setting for feature *featurename*. If the feature is not " +"recognized, :exc:`SAXNotRecognizedException` is raised. The well-known " +"featurenames are listed in the module :mod:`xml.sax.handler`." +msgstr "" +"Повернути поточне налаштування для функції *назва функції*. Якщо функція не " +"розпізнається, виникає :exc:`SAXNotRecognizedException`. Добре відомі назви " +"функцій перераховані в модулі :mod:`xml.sax.handler`." + +msgid "" +"Set the *featurename* to *value*. If the feature is not recognized, :exc:" +"`SAXNotRecognizedException` is raised. If the feature or its setting is not " +"supported by the parser, *SAXNotSupportedException* is raised." +msgstr "" +"Встановіть *назва функції* на *значення*. Якщо функція не розпізнається, " +"виникає :exc:`SAXNotRecognizedException`. Якщо функція або її параметри не " +"підтримуються аналізатором, виникає *SAXNotSupportedException*." + +msgid "" +"Return the current setting for property *propertyname*. If the property is " +"not recognized, a :exc:`SAXNotRecognizedException` is raised. The well-known " +"propertynames are listed in the module :mod:`xml.sax.handler`." +msgstr "" +"Повернути поточне налаштування властивості *propertyname*. Якщо властивість " +"не розпізнається, виникає :exc:`SAXNotRecognizedException`. Добре відомі " +"назви властивостей перераховані в модулі :mod:`xml.sax.handler`." + +msgid "" +"Set the *propertyname* to *value*. If the property is not recognized, :exc:" +"`SAXNotRecognizedException` is raised. If the property or its setting is not " +"supported by the parser, *SAXNotSupportedException* is raised." +msgstr "" +"Установіть *propertyname* на *value*. Якщо властивість не розпізнається, " +"виникає :exc:`SAXNotRecognizedException`. Якщо властивість або її " +"налаштування не підтримується аналізатором, виникає " +"*SAXNotSupportedException*." + +msgid "IncrementalParser Objects" +msgstr "Інкрементальний аналізатор об’єктів" + +msgid "" +"Instances of :class:`IncrementalParser` offer the following additional " +"methods:" +msgstr "" +"Екземпляри :class:`IncrementalParser` пропонують такі додаткові методи:" + +msgid "Process a chunk of *data*." +msgstr "Обробити фрагмент *даних*." + +msgid "" +"Assume the end of the document. That will check well-formedness conditions " +"that can be checked only at the end, invoke handlers, and may clean up " +"resources allocated during parsing." +msgstr "" +"Припустимо кінець документа. Це перевірить правильно сформовані умови, які " +"можна перевірити лише в кінці, викличе обробники та може очистити ресурси, " +"виділені під час аналізу." + +msgid "" +"This method is called after close has been called to reset the parser so " +"that it is ready to parse new documents. The results of calling parse or " +"feed after close without calling reset are undefined." +msgstr "" +"Цей метод викликається після виклику close, щоб скинути синтаксичний " +"аналізатор, щоб він був готовий аналізувати нові документи. Результати " +"виклику parse або feed після закриття без виклику reset не визначені." + +msgid "Locator Objects" +msgstr "Локатор об'єктів" + +msgid "Instances of :class:`Locator` provide these methods:" +msgstr "Екземпляри :class:`Locator` надають ці методи:" + +msgid "Return the column number where the current event begins." +msgstr "Повертає номер стовпця, де починається поточна подія." + +msgid "Return the line number where the current event begins." +msgstr "Повертає номер рядка, де починається поточна подія." + +msgid "Return the public identifier for the current event." +msgstr "Повернути публічний ідентифікатор для поточної події." + +msgid "Return the system identifier for the current event." +msgstr "Повертає ідентифікатор системи для поточної події." + +msgid "InputSource Objects" +msgstr "Об’єкти InputSource" + +msgid "Sets the public identifier of this :class:`InputSource`." +msgstr "Встановлює публічний ідентифікатор цього :class:`InputSource`." + +msgid "Returns the public identifier of this :class:`InputSource`." +msgstr "Повертає публічний ідентифікатор цього :class:`InputSource`." + +msgid "Sets the system identifier of this :class:`InputSource`." +msgstr "Встановлює системний ідентифікатор цього :class:`InputSource`." + +msgid "Returns the system identifier of this :class:`InputSource`." +msgstr "Повертає системний ідентифікатор цього :class:`InputSource`." + +msgid "Sets the character encoding of this :class:`InputSource`." +msgstr "Встановлює кодування символів цього :class:`InputSource`." + +msgid "" +"The encoding must be a string acceptable for an XML encoding declaration " +"(see section 4.3.3 of the XML recommendation)." +msgstr "" +"Кодування має бути рядком, прийнятним для декларації кодування XML (див. " +"розділ 4.3.3 рекомендації XML)." + +msgid "" +"The encoding attribute of the :class:`InputSource` is ignored if the :class:" +"`InputSource` also contains a character stream." +msgstr "" +"Атрибут кодування :class:`InputSource` ігнорується, якщо :class:" +"`InputSource` також містить потік символів." + +msgid "Get the character encoding of this InputSource." +msgstr "Отримайте кодування символів цього InputSource." + +msgid "Set the byte stream (a :term:`binary file`) for this input source." +msgstr "" +"Установіть потік байтів (:term:`binary file`) для цього джерела вхідних " +"даних." + +msgid "" +"The SAX parser will ignore this if there is also a character stream " +"specified, but it will use a byte stream in preference to opening a URI " +"connection itself." +msgstr "" +"Синтаксичний аналізатор SAX ігноруватиме це, якщо також буде вказано потік " +"символів, але він використовуватиме потік байтів замість відкриття самого " +"URI-з’єднання." + +msgid "" +"If the application knows the character encoding of the byte stream, it " +"should set it with the setEncoding method." +msgstr "" +"Якщо програма знає кодування символів потоку байтів, вона повинна встановити " +"її за допомогою методу setEncoding." + +msgid "Get the byte stream for this input source." +msgstr "Отримайте потік байтів для цього джерела вхідних даних." + +msgid "" +"The getEncoding method will return the character encoding for this byte " +"stream, or ``None`` if unknown." +msgstr "" +"Метод getEncoding поверне кодування символів для цього потоку байтів або " +"``None``, якщо невідомо." + +msgid "Set the character stream (a :term:`text file`) for this input source." +msgstr "" +"Установіть потік символів (:term:`text file`) для цього джерела введення." + +msgid "" +"If there is a character stream specified, the SAX parser will ignore any " +"byte stream and will not attempt to open a URI connection to the system " +"identifier." +msgstr "" +"Якщо вказано потік символів, аналізатор SAX ігноруватиме будь-який потік " +"байтів і не намагатиметься відкрити з’єднання URI із системним " +"ідентифікатором." + +msgid "Get the character stream for this input source." +msgstr "Отримайте потік символів для цього джерела введення." + +msgid "The :class:`Attributes` Interface" +msgstr "Інтерфейс :class:`Attributes`" + +msgid "" +":class:`Attributes` objects implement a portion of the :term:`mapping " +"protocol `, including the methods :meth:`~collections.abc.Mapping." +"copy`, :meth:`~collections.abc.Mapping.get`, :meth:`~object.__contains__`, :" +"meth:`~collections.abc.Mapping.items`, :meth:`~collections.abc.Mapping." +"keys`, and :meth:`~collections.abc.Mapping.values`. The following methods " +"are also provided:" +msgstr "" +"Об’єкти :class:`Attributes` реалізують частину :term:`протоколу відображення " +"`, включаючи методи :meth:`~collections.abc.Mapping.copy`, :meth:" +"`~collections.abc.Mapping.get`, :meth:`~object.__contains__`, :meth:" +"`~collections.abc.Mapping.items`, :meth:`~collections.abc.Mapping.keys` і :" +"meth:`~collections.abc. Mapping.values`. Також передбачені такі методи:" + +msgid "Return the number of attributes." +msgstr "Повертає кількість атрибутів." + +msgid "Return the names of the attributes." +msgstr "Повернути назви атрибутів." + +msgid "" +"Returns the type of the attribute *name*, which is normally ``'CDATA'``." +msgstr "Повертає тип атрибута *name*, який зазвичай є ``'CDATA'``." + +msgid "Return the value of attribute *name*." +msgstr "Повертає значення атрибута *name*." + +msgid "The :class:`AttributesNS` Interface" +msgstr "Інтерфейс :class:`AttributesNS`" + +msgid "" +"This interface is a subtype of the :class:`Attributes` interface (see " +"section :ref:`attributes-objects`). All methods supported by that interface " +"are also available on :class:`AttributesNS` objects." +msgstr "" +"Цей інтерфейс є підтипом інтерфейсу :class:`Attributes` (див. розділ :ref:" +"`attributes-objects`). Усі методи, які підтримує цей інтерфейс, також " +"доступні в об’єктах :class:`AttributesNS`." + +msgid "The following methods are also available:" +msgstr "Також доступні такі методи:" + +msgid "Return the value for a qualified name." +msgstr "Повертає значення для кваліфікованого імені." + +msgid "Return the ``(namespace, localname)`` pair for a qualified *name*." +msgstr "" +"Повертає пару ``(простір імен, локальне ім’я)`` для кваліфікованого *назви*." + +msgid "Return the qualified name for a ``(namespace, localname)`` pair." +msgstr "" +"Повертає кваліфіковане ім’я для пари ``(простір імен, локальне ім’я)``." + +msgid "Return the qualified names of all attributes." +msgstr "Повертає кваліфіковані імена всіх атрибутів." diff --git a/library/xml_sax_utils.po b/library/xml_sax_utils.po new file mode 100644 index 000000000..b54eadf1b --- /dev/null +++ b/library/xml_sax_utils.po @@ -0,0 +1,150 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xml.sax.saxutils` --- SAX Utilities" +msgstr ":mod:`xml.sax.saxutils` --- Утиліти SAX" + +msgid "**Source code:** :source:`Lib/xml/sax/saxutils.py`" +msgstr "**Вихідний код:** :source:`Lib/xml/sax/saxutils.py`" + +msgid "" +"The module :mod:`xml.sax.saxutils` contains a number of classes and " +"functions that are commonly useful when creating SAX applications, either in " +"direct use, or as base classes." +msgstr "" +"Модуль :mod:`xml.sax.saxutils` містить низку класів і функцій, які зазвичай " +"корисні під час створення програм SAX, або для прямого використання, або як " +"базові класи." + +msgid "Escape ``'&'``, ``'<'``, and ``'>'`` in a string of data." +msgstr "Escape ``'&''``, ``' <'``, and ``'> ''`` у рядку даних." + +msgid "" +"You can escape other strings of data by passing a dictionary as the optional " +"*entities* parameter. The keys and values must all be strings; each key " +"will be replaced with its corresponding value. The characters ``'&'``, " +"``'<'`` and ``'>'`` are always escaped, even if *entities* is provided." +msgstr "" +"Ви можете уникнути інших рядків даних, передавши словник як необов’язковий " +"параметр *entities*. Усі ключі та значення мають бути рядками; кожен ключ " +"буде замінено відповідним значенням. Символи ``'&'``, ``' <'`` and ``'> ''`` " +"завжди екрануються, навіть якщо вказано *entities*." + +msgid "Unescape ``'&'``, ``'<'``, and ``'>'`` in a string of data." +msgstr "" +"Скасуйте екранування ``'&''``, ``'<''`` і ``'>''`` у рядку даних." + +msgid "" +"You can unescape other strings of data by passing a dictionary as the " +"optional *entities* parameter. The keys and values must all be strings; " +"each key will be replaced with its corresponding value. ``'&'``, " +"``'<'``, and ``'>'`` are always unescaped, even if *entities* is " +"provided." +msgstr "" +"Ви можете скасувати екранування інших рядків даних, передавши словник як " +"необов’язковий параметр *entities*. Усі ключі та значення мають бути " +"рядками; кожен ключ буде замінено відповідним значенням. ``'&'``, " +"``'<'`` і ``'>''`` завжди не екрануються, навіть якщо надано " +"*entities*." + +msgid "" +"Similar to :func:`escape`, but also prepares *data* to be used as an " +"attribute value. The return value is a quoted version of *data* with any " +"additional required replacements. :func:`quoteattr` will select a quote " +"character based on the content of *data*, attempting to avoid encoding any " +"quote characters in the string. If both single- and double-quote characters " +"are already in *data*, the double-quote characters will be encoded and " +"*data* will be wrapped in double-quotes. The resulting string can be used " +"directly as an attribute value::" +msgstr "" +"Подібно до :func:`escape`, але також готує *data* для використання як " +"значення атрибута. Повернене значення — це версія *data* у лапках із будь-" +"якими додатковими необхідними замінами. :func:`quoteattr` вибере символ " +"лапок на основі вмісту *data*, намагаючись уникнути кодування будь-яких " +"символів лапок у рядку. Якщо в *data* вже є символи одинарних і подвійних " +"лапок, символи подвійних лапок буде закодовано, а *data* буде взято в " +"подвійні лапки. Отриманий рядок можна використовувати безпосередньо як " +"значення атрибута::" + +msgid "" +"This function is useful when generating attribute values for HTML or any " +"SGML using the reference concrete syntax." +msgstr "" +"Ця функція корисна під час генерування значень атрибутів для HTML або будь-" +"якого SGML за допомогою еталонного конкретного синтаксису." + +msgid "" +"This class implements the :class:`~xml.sax.handler.ContentHandler` interface " +"by writing SAX events back into an XML document. In other words, using an :" +"class:`XMLGenerator` as the content handler will reproduce the original " +"document being parsed. *out* should be a file-like object which will default " +"to *sys.stdout*. *encoding* is the encoding of the output stream which " +"defaults to ``'iso-8859-1'``. *short_empty_elements* controls the formatting " +"of elements that contain no content: if ``False`` (the default) they are " +"emitted as a pair of start/end tags, if set to ``True`` they are emitted as " +"a single self-closed tag." +msgstr "" +"Цей клас реалізує інтерфейс :class:`~xml.sax.handler.ContentHandler`, " +"записуючи події SAX назад у документ XML. Іншими словами, використання :" +"class:`XMLGenerator` як обробника вмісту відтворить вихідний документ, що " +"аналізується. *out* має бути файлоподібним об’єктом, який за умовчанням " +"матиме *sys.stdout*. *кодування* — це кодування вихідного потоку, яке за " +"умовчанням має значення ``'iso-8859-1'``. *short_empty_elements* контролює " +"форматування елементів, які не містять вмісту: якщо ``False`` (за " +"замовчуванням), вони випромінюються як пара початкових/кінцевих тегів, якщо " +"встановлено ``True``, вони випромінюються як один сам - закритий тег." + +msgid "The *short_empty_elements* parameter." +msgstr "Параметр *short_empty_elements*." + +msgid "" +"This class is designed to sit between an :class:`~xml.sax.xmlreader." +"XMLReader` and the client application's event handlers. By default, it does " +"nothing but pass requests up to the reader and events on to the handlers " +"unmodified, but subclasses can override specific methods to modify the event " +"stream or the configuration requests as they pass through." +msgstr "" +"Цей клас призначений для розташування між :class:`~xml.sax.xmlreader." +"XMLReader` і обробниками подій клієнтської програми. За замовчуванням він не " +"робить нічого, крім передачі запитів до читача та подій до обробників без " +"змін, але підкласи можуть перевизначати певні методи для зміни потоку подій " +"або запитів конфігурації під час їх проходження." + +msgid "" +"This function takes an input source and an optional base URL and returns a " +"fully resolved :class:`~xml.sax.xmlreader.InputSource` object ready for " +"reading. The input source can be given as a string, a file-like object, or " +"an :class:`~xml.sax.xmlreader.InputSource` object; parsers will use this " +"function to implement the polymorphic *source* argument to their :meth:" +"`parse` method." +msgstr "" +"Ця функція приймає джерело введення та необов’язкову базову URL-адресу та " +"повертає готовий для читання повністю розв’язаний об’єкт :class:`~xml.sax." +"xmlreader.InputSource`. Джерело вхідних даних може бути задано як рядок, " +"файлоподібний об’єкт або об’єкт :class:`~xml.sax.xmlreader.InputSource`; " +"синтаксичні аналізатори використовуватимуть цю функцію, щоб реалізувати " +"поліморфний аргумент *джерело* для свого методу :meth:`parse`." diff --git a/library/xmlrpc.po b/library/xmlrpc.po new file mode 100644 index 000000000..246a181ae --- /dev/null +++ b/library/xmlrpc.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xmlrpc` --- XMLRPC server and client modules" +msgstr ":mod:`xmlrpc` --- серверні та клієнтські модулі XMLRPC" + +msgid "" +"XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a " +"transport. With it, a client can call methods with parameters on a remote " +"server (the server is named by a URI) and get back structured data." +msgstr "" +"XML-RPC — це метод віддаленого виклику процедури, який використовує XML, що " +"передається через HTTP, як транспорт. З його допомогою клієнт може викликати " +"методи з параметрами на віддаленому сервері (сервер має назву URI) і " +"отримати назад структуровані дані." + +msgid "" +"``xmlrpc`` is a package that collects server and client modules implementing " +"XML-RPC. The modules are:" +msgstr "" +"``xmlrpc`` — це пакет, який збирає серверні та клієнтські модулі, що " +"реалізують XML-RPC. Модулі:" + +msgid ":mod:`xmlrpc.client`" +msgstr ":mod:`xmlrpc.client`" + +msgid ":mod:`xmlrpc.server`" +msgstr ":mod:`xmlrpc.server`" diff --git a/library/xmlrpc_client.po b/library/xmlrpc_client.po new file mode 100644 index 000000000..98e5eee36 --- /dev/null +++ b/library/xmlrpc_client.po @@ -0,0 +1,680 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xmlrpc.client` --- XML-RPC client access" +msgstr ":mod:`xmlrpc.client` --- клієнтський доступ XML-RPC" + +msgid "**Source code:** :source:`Lib/xmlrpc/client.py`" +msgstr "**Вихідний код:** :source:`Lib/xmlrpc/client.py`" + +msgid "" +"XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP(S) " +"as a transport. With it, a client can call methods with parameters on a " +"remote server (the server is named by a URI) and get back structured data. " +"This module supports writing XML-RPC client code; it handles all the details " +"of translating between conformable Python objects and XML on the wire." +msgstr "" +"XML-RPC — це метод віддаленого виклику процедури, який використовує XML, що " +"передається через HTTP(S) як транспорт. З його допомогою клієнт може " +"викликати методи з параметрами на віддаленому сервері (сервер має назву URI) " +"і отримати назад структуровані дані. Цей модуль підтримує написання " +"клієнтського коду XML-RPC; він обробляє всі деталі перекладу між " +"відповідними об’єктами Python і XML на дроті." + +msgid "" +"The :mod:`xmlrpc.client` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data " +"see :ref:`xml-vulnerabilities`." +msgstr "" +"Модуль :mod:`xmlrpc.client` не захищений від зловмисно створених даних. Якщо " +"вам потрібно проаналізувати ненадійні або неавтентифіковані дані, " +"перегляньте :ref:`xml-vulnerabilities`." + +msgid "" +"For HTTPS URIs, :mod:`xmlrpc.client` now performs all the necessary " +"certificate and hostname checks by default." +msgstr "" +"Для HTTPS URI :mod:`xmlrpc.client` тепер виконує всі необхідні перевірки " +"сертифікатів і імен хостів за умовчанням." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"A :class:`ServerProxy` instance is an object that manages communication with " +"a remote XML-RPC server. The required first argument is a URI (Uniform " +"Resource Indicator), and will normally be the URL of the server. The " +"optional second argument is a transport factory instance; by default it is " +"an internal :class:`SafeTransport` instance for https: URLs and an internal " +"HTTP :class:`Transport` instance otherwise. The optional third argument is " +"an encoding, by default UTF-8. The optional fourth argument is a debugging " +"flag." +msgstr "" +"Екземпляр :class:`ServerProxy` — це об’єкт, який керує зв’язком із " +"віддаленим сервером XML-RPC. Обов’язковим першим аргументом є URI " +"(уніфікований індикатор ресурсу), і зазвичай це URL-адреса сервера. " +"Необов'язковий другий аргумент - екземпляр транспортної фабрики; за " +"замовчуванням це внутрішній екземпляр :class:`SafeTransport` для https: URL-" +"адрес і внутрішній екземпляр HTTP :class:`Transport` в інших випадках. " +"Необов’язковий третій аргумент – це кодування, за умовчанням UTF-8. " +"Необов'язковий четвертий аргумент - це позначка налагодження." + +msgid "" +"The following parameters govern the use of the returned proxy instance. If " +"*allow_none* is true, the Python constant ``None`` will be translated into " +"XML; the default behaviour is for ``None`` to raise a :exc:`TypeError`. This " +"is a commonly used extension to the XML-RPC specification, but isn't " +"supported by all clients and servers; see `http://ontosys.com/xml-rpc/" +"extensions.php `_ for a description. The *use_builtin_types* " +"flag can be used to cause date/time values to be presented as :class:" +"`datetime.datetime` objects and binary data to be presented as :class:" +"`bytes` objects; this flag is false by default. :class:`datetime.datetime`, :" +"class:`bytes` and :class:`bytearray` objects may be passed to calls. The " +"*headers* parameter is an optional sequence of HTTP headers to send with " +"each request, expressed as a sequence of 2-tuples representing the header " +"name and value. (e.g. ``[('Header-Name', 'value')]``). The obsolete " +"*use_datetime* flag is similar to *use_builtin_types* but it applies only to " +"date/time values." +msgstr "" + +msgid "The *use_builtin_types* flag was added." +msgstr "Додано прапорець *use_builtin_types*." + +msgid "The *headers* parameter was added." +msgstr "Додано параметр *headers*." + +msgid "" +"Both the HTTP and HTTPS transports support the URL syntax extension for HTTP " +"Basic Authentication: ``http://user:pass@host:port/path``. The ``user:" +"pass`` portion will be base64-encoded as an HTTP 'Authorization' header, and " +"sent to the remote server as part of the connection process when invoking an " +"XML-RPC method. You only need to use this if the remote server requires a " +"Basic Authentication user and password. If an HTTPS URL is provided, " +"*context* may be :class:`ssl.SSLContext` and configures the SSL settings of " +"the underlying HTTPS connection." +msgstr "" +"Обидва транспорти HTTP і HTTPS підтримують розширення синтаксису URL для " +"базової автентифікації HTTP: ``http://user:pass@host:port/path``. Частина " +"``user:pass`` буде закодована в base64 як HTTP-заголовок \"Authorization\" і " +"надіслана на віддалений сервер як частина процесу підключення під час " +"виклику методу XML-RPC. Використовувати це потрібно, лише якщо віддалений " +"сервер потребує користувача та пароль базової автентифікації. Якщо надано " +"URL-адресу HTTPS, *context* може бути :class:`ssl.SSLContext` і налаштовує " +"параметри SSL основного з’єднання HTTPS." + +msgid "" +"The returned instance is a proxy object with methods that can be used to " +"invoke corresponding RPC calls on the remote server. If the remote server " +"supports the introspection API, the proxy can also be used to query the " +"remote server for the methods it supports (service discovery) and fetch " +"other server-associated metadata." +msgstr "" +"Повернений екземпляр — це проксі-об’єкт із методами, які можна " +"використовувати для виклику відповідних викликів RPC на віддаленому сервері. " +"Якщо віддалений сервер підтримує API інтроспекції, проксі також можна " +"використовувати для запиту віддаленого сервера щодо методів, які він " +"підтримує (виявлення служби), і отримання інших пов’язаних із сервером " +"метаданих." + +msgid "" +"Types that are conformable (e.g. that can be marshalled through XML), " +"include the following (and except where noted, they are unmarshalled as the " +"same Python type):" +msgstr "" +"Типи, які є сумісними (наприклад, які можна маршалізувати через XML), " +"включають наступне (і, якщо не зазначено, вони не маршалізуються як той " +"самий тип Python):" + +msgid "XML-RPC type" +msgstr "Тип XML-RPC" + +msgid "Python type" +msgstr "Тип Python" + +msgid "``boolean``" +msgstr "``логічний``" + +msgid ":class:`bool`" +msgstr ":class:`bool`" + +msgid "``int``, ``i1``, ``i2``, ``i4``, ``i8`` or ``biginteger``" +msgstr "``int``, ``i1``, ``i2``, ``i4``, ``i8`` або ``biginteger``" + +msgid "" +":class:`int` in range from -2147483648 to 2147483647. Values get the " +"```` tag." +msgstr "" +":class:`int` в діапазоні від -2147483648 до 2147483647. Значення отримують " +"тег ````." + +msgid "``double`` or ``float``" +msgstr "``double`` або ``float``" + +msgid ":class:`float`. Values get the ```` tag." +msgstr ":class:`float`. Значення отримують тег ````." + +msgid "``string``" +msgstr "``рядок``" + +msgid ":class:`str`" +msgstr ":class:`str`" + +msgid "``array``" +msgstr "``array``" + +msgid "" +":class:`list` or :class:`tuple` containing conformable elements. Arrays are " +"returned as :class:`lists `." +msgstr "" +":class:`list` або :class:`tuple`, що містять відповідні елементи. Масиви " +"повертаються як :class:`lists `." + +msgid "``struct``" +msgstr "``структура``" + +msgid "" +":class:`dict`. Keys must be strings, values may be any conformable type. " +"Objects of user-defined classes can be passed in; only their :attr:`~object." +"__dict__` attribute is transmitted." +msgstr "" +":class:`dict`. Ключі мають бути рядками, значення можуть мати будь-який " +"відповідний тип. Можна передати об’єкти визначених користувачем класів; " +"передається лише їхній атрибут :attr:`~object.__dict__`." + +msgid "``dateTime.iso8601``" +msgstr "``dateTime.iso8601``" + +msgid "" +":class:`DateTime` or :class:`datetime.datetime`. Returned type depends on " +"values of *use_builtin_types* and *use_datetime* flags." +msgstr "" +":class:`DateTime` або :class:`datetime.datetime`. Повернений тип залежить " +"від значень прапорців *use_builtin_types* і *use_datetime*." + +msgid "``base64``" +msgstr "``base64``" + +msgid "" +":class:`Binary`, :class:`bytes` or :class:`bytearray`. Returned type " +"depends on the value of the *use_builtin_types* flag." +msgstr "" +":class:`Binary`, :class:`bytes` або :class:`bytearray`. Повернений тип " +"залежить від значення прапорця *use_builtin_types*." + +msgid "``nil``" +msgstr "``нуль``" + +msgid "" +"The ``None`` constant. Passing is allowed only if *allow_none* is true." +msgstr "" +"Константа ``None``. Передача дозволена, лише якщо *allow_none* має значення " +"true." + +msgid "``bigdecimal``" +msgstr "``великий десятковий``" + +msgid ":class:`decimal.Decimal`. Returned type only." +msgstr ":class:`decimal.Decimal`. Тільки повернутий тип." + +msgid "" +"This is the full set of data types supported by XML-RPC. Method calls may " +"also raise a special :exc:`Fault` instance, used to signal XML-RPC server " +"errors, or :exc:`ProtocolError` used to signal an error in the HTTP/HTTPS " +"transport layer. Both :exc:`Fault` and :exc:`ProtocolError` derive from a " +"base class called :exc:`Error`. Note that the xmlrpc client module " +"currently does not marshal instances of subclasses of built-in types." +msgstr "" +"Це повний набір типів даних, які підтримує XML-RPC. Виклики методів також " +"можуть викликати спеціальний екземпляр :exc:`Fault`, який використовується " +"для сигналізації про помилки сервера XML-RPC, або :exc:`ProtocolError`, який " +"використовується для сигналізації про помилку на транспортному рівні HTTP/" +"HTTPS. І :exc:`Fault`, і :exc:`ProtocolError` походять від базового класу " +"під назвою :exc:`Error`. Зауважте, що клієнтський модуль xmlrpc наразі не " +"маршалює екземпляри підкласів вбудованих типів." + +msgid "" +"When passing strings, characters special to XML such as ``<``, ``>``, and " +"``&`` will be automatically escaped. However, it's the caller's " +"responsibility to ensure that the string is free of characters that aren't " +"allowed in XML, such as the control characters with ASCII values between 0 " +"and 31 (except, of course, tab, newline and carriage return); failing to do " +"this will result in an XML-RPC request that isn't well-formed XML. If you " +"have to pass arbitrary bytes via XML-RPC, use :class:`bytes` or :class:" +"`bytearray` classes or the :class:`Binary` wrapper class described below." +msgstr "" +"Під час передачі рядків спеціальні символи XML, такі як ``<``, ``>`` і " +"``&``, будуть автоматично екрановані. Однак відповідальністю абонента є " +"переконатися, що рядок вільний від символів, які не дозволені в XML, таких " +"як контрольні символи зі значеннями ASCII від 0 до 31 (за винятком, " +"звичайно, табуляції, нового рядка та повернення каретки); якщо цього не " +"зробити, запит XML-RPC не є правильно сформованим XML. Якщо вам потрібно " +"передати довільні байти через XML-RPC, використовуйте класи :class:`bytes` " +"або :class:`bytearray` або клас-оболонку :class:`Binary`, описаний нижче." + +msgid "" +":class:`Server` is retained as an alias for :class:`ServerProxy` for " +"backwards compatibility. New code should use :class:`ServerProxy`." +msgstr "" +":class:`Server` зберігається як псевдонім для :class:`ServerProxy` для " +"зворотної сумісності. Новий код має використовувати :class:`ServerProxy`." + +msgid "Added the *context* argument." +msgstr "Додано аргумент *контекст*." + +msgid "" +"Added support of type tags with prefixes (e.g. ``ex:nil``). Added support of " +"unmarshalling additional types used by Apache XML-RPC implementation for " +"numerics: ``i1``, ``i2``, ``i8``, ``biginteger``, ``float`` and " +"``bigdecimal``. See https://ws.apache.org/xmlrpc/types.html for a " +"description." +msgstr "" + +msgid "`XML-RPC HOWTO `_" +msgstr "" + +msgid "" +"A good description of XML-RPC operation and client software in several " +"languages. Contains pretty much everything an XML-RPC client developer needs " +"to know." +msgstr "" +"Гарний опис роботи XML-RPC і клієнтського програмного забезпечення кількома " +"мовами. Містить практично все, що потрібно знати розробнику клієнта XML-RPC." + +msgid "" +"`XML-RPC Introspection `_" +msgstr "" + +msgid "Describes the XML-RPC protocol extension for introspection." +msgstr "Описує розширення протоколу XML-RPC для самоаналізу." + +msgid "`XML-RPC Specification `_" +msgstr "`Специфікація XML-RPC `_" + +msgid "The official specification." +msgstr "Офіційна специфікація." + +msgid "ServerProxy Objects" +msgstr "Об’єкти ServerProxy" + +msgid "" +"A :class:`ServerProxy` instance has a method corresponding to each remote " +"procedure call accepted by the XML-RPC server. Calling the method performs " +"an RPC, dispatched by both name and argument signature (e.g. the same method " +"name can be overloaded with multiple argument signatures). The RPC finishes " +"by returning a value, which may be either returned data in a conformant type " +"or a :class:`Fault` or :class:`ProtocolError` object indicating an error." +msgstr "" +"Екземпляр :class:`ServerProxy` має метод, що відповідає кожному виклику " +"віддаленої процедури, прийнятому сервером XML-RPC. Виклик методу виконує " +"RPC, відправляється як за назвою, так і за підписом аргументу (наприклад, те " +"саме ім’я методу може бути перевантажено декількома підписами аргументів). " +"RPC завершується поверненням значення, яке може бути або повернутими даними " +"відповідного типу, або об’єктом :class:`Fault` чи :class:`ProtocolError`, що " +"вказує на помилку." + +msgid "" +"Servers that support the XML introspection API support some common methods " +"grouped under the reserved :attr:`~ServerProxy.system` attribute:" +msgstr "" +"Сервери, які підтримують API інтроспекції XML, підтримують деякі загальні " +"методи, згруповані в зарезервованому атрибуті :attr:`~ServerProxy.system`:" + +msgid "" +"This method returns a list of strings, one for each (non-system) method " +"supported by the XML-RPC server." +msgstr "" +"Цей метод повертає список рядків, по одному для кожного (несистемного) " +"методу, який підтримує сервер XML-RPC." + +msgid "" +"This method takes one parameter, the name of a method implemented by the XML-" +"RPC server. It returns an array of possible signatures for this method. A " +"signature is an array of types. The first of these types is the return type " +"of the method, the rest are parameters." +msgstr "" +"Цей метод приймає один параметр, назву методу, реалізованого сервером XML-" +"RPC. Він повертає масив можливих підписів для цього методу. Підпис — це " +"масив типів. Перший із цих типів є типом повернення методу, решта є " +"параметрами." + +msgid "" +"Because multiple signatures (ie. overloading) is permitted, this method " +"returns a list of signatures rather than a singleton." +msgstr "" +"Оскільки дозволено кілька підписів (тобто перевантаження), цей метод " +"повертає список підписів, а не одиночний." + +msgid "" +"Signatures themselves are restricted to the top level parameters expected by " +"a method. For instance if a method expects one array of structs as a " +"parameter, and it returns a string, its signature is simply \"string, array" +"\". If it expects three integers and returns a string, its signature is " +"\"string, int, int, int\"." +msgstr "" +"Самі підписи обмежені параметрами верхнього рівня, очікуваними методом. " +"Наприклад, якщо метод очікує один масив структур як параметр і повертає " +"рядок, його підпис буде просто \"рядок, масив\". Якщо він очікує три цілі " +"числа та повертає рядок, його підписом є \"рядок, int, int, int\"." + +msgid "" +"If no signature is defined for the method, a non-array value is returned. In " +"Python this means that the type of the returned value will be something " +"other than list." +msgstr "" +"Якщо для методу не визначено підпису, повертається немасивне значення. У " +"Python це означає, що типом поверненого значення буде щось інше, ніж список." + +msgid "" +"This method takes one parameter, the name of a method implemented by the XML-" +"RPC server. It returns a documentation string describing the use of that " +"method. If no such string is available, an empty string is returned. The " +"documentation string may contain HTML markup." +msgstr "" +"Цей метод приймає один параметр, назву методу, реалізованого сервером XML-" +"RPC. Він повертає рядок документації, що описує використання цього методу. " +"Якщо такий рядок недоступний, повертається порожній рядок. Рядок " +"документації може містити розмітку HTML." + +msgid "" +"Instances of :class:`ServerProxy` support the :term:`context manager` " +"protocol for closing the underlying transport." +msgstr "" +"Екземпляри :class:`ServerProxy` підтримують протокол :term:`context manager` " +"для закриття основного транспорту." + +msgid "A working example follows. The server code::" +msgstr "Нижче наведено робочий приклад. Код сервера::" + +msgid "The client code for the preceding server::" +msgstr "Код клієнта для попереднього сервера::" + +msgid "DateTime Objects" +msgstr "Об’єкти DateTime" + +msgid "" +"This class may be initialized with seconds since the epoch, a time tuple, an " +"ISO 8601 time/date string, or a :class:`datetime.datetime` instance. It has " +"the following methods, supported mainly for internal use by the marshalling/" +"unmarshalling code:" +msgstr "" +"Цей клас може бути ініціалізований секундами з епохи, кортежем часу, рядком " +"часу/дати ISO 8601 або екземпляром :class:`datetime.datetime`. Він має такі " +"методи, які підтримуються головним чином для внутрішнього використання кодом " +"маршалінгу/демаршалінгу:" + +msgid "Accept a string as the instance's new time value." +msgstr "Прийняти рядок як нове значення часу екземпляра." + +msgid "" +"Write the XML-RPC encoding of this :class:`DateTime` item to the *out* " +"stream object." +msgstr "" +"Запишіть кодування XML-RPC цього елемента :class:`DateTime` в об’єкт потоку " +"*out*." + +msgid "" +"It also supports certain of Python's built-in operators through rich " +"comparison and :meth:`__repr__` methods." +msgstr "" +"Він також підтримує певні вбудовані оператори Python через розширене " +"порівняння та методи :meth:`__repr__`." + +msgid "Binary Objects" +msgstr "Двійкові об'єкти" + +msgid "" +"This class may be initialized from bytes data (which may include NULs). The " +"primary access to the content of a :class:`Binary` object is provided by an " +"attribute:" +msgstr "" +"Цей клас може бути ініціалізований з даних байтів (які можуть включати NUL). " +"Основний доступ до вмісту об’єкта :class:`Binary` забезпечується атрибутом:" + +msgid "" +"The binary data encapsulated by the :class:`Binary` instance. The data is " +"provided as a :class:`bytes` object." +msgstr "" +"Двійкові дані, інкапсульовані екземпляром :class:`Binary`. Дані надаються як " +"об’єкт :class:`bytes`." + +msgid "" +":class:`Binary` objects have the following methods, supported mainly for " +"internal use by the marshalling/unmarshalling code:" +msgstr "" +":class:`Binary` об’єкти мають такі методи, які підтримуються переважно для " +"внутрішнього використання кодом маршалінгу/демаршалінгу:" + +msgid "" +"Accept a base64 :class:`bytes` object and decode it as the instance's new " +"data." +msgstr "" +"Прийміть об’єкт base64 :class:`bytes` і декодуйте його як нові дані " +"екземпляра." + +msgid "" +"Write the XML-RPC base 64 encoding of this binary item to the *out* stream " +"object." +msgstr "" +"Запишіть кодування XML-RPC base 64 цього бінарного елемента в об’єкт потоку " +"*out*." + +msgid "" +"The encoded data will have newlines every 76 characters as per :rfc:`RFC " +"2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64 " +"specification when the XML-RPC spec was written." +msgstr "" +"Закодовані дані матимуть символи нового рядка через кожні 76 символів " +"відповідно до :rfc:`RFC 2045, розділ 6.8 <2045#section-6.8>`, який був де-" +"факто стандартною специфікацією base64 на момент написання специфікації XML-" +"RPC." + +msgid "" +"It also supports certain of Python's built-in operators through :meth:" +"`__eq__` and :meth:`__ne__` methods." +msgstr "" +"Він також підтримує певні вбудовані оператори Python через методи :meth:" +"`__eq__` і :meth:`__ne__`." + +msgid "" +"Example usage of the binary objects. We're going to transfer an image over " +"XMLRPC::" +msgstr "" +"Приклад використання бінарних об'єктів. Ми збираємося передати зображення " +"через XMLRPC::" + +msgid "The client gets the image and saves it to a file::" +msgstr "Клієнт отримує зображення та зберігає його у файл::" + +msgid "Fault Objects" +msgstr "Об'єкти несправності" + +msgid "" +"A :class:`Fault` object encapsulates the content of an XML-RPC fault tag. " +"Fault objects have the following attributes:" +msgstr "" +"Об’єкт :class:`Fault` інкапсулює вміст тегу помилки XML-RPC. Об'єкти " +"несправностей мають такі атрибути:" + +msgid "An int indicating the fault type." +msgstr "Int, що вказує на тип помилки." + +msgid "A string containing a diagnostic message associated with the fault." +msgstr "Рядок, що містить діагностичне повідомлення, пов’язане з несправністю." + +msgid "" +"In the following example we're going to intentionally cause a :exc:`Fault` " +"by returning a complex type object. The server code::" +msgstr "" +"У наступному прикладі ми навмисно спричинимо :exc:`Fault`, повернувши об’єкт " +"складного типу. Код сервера::" + +msgid "ProtocolError Objects" +msgstr "Об’єкти ProtocolError" + +msgid "" +"A :class:`ProtocolError` object describes a protocol error in the underlying " +"transport layer (such as a 404 'not found' error if the server named by the " +"URI does not exist). It has the following attributes:" +msgstr "" +"Об’єкт :class:`ProtocolError` описує помилку протоколу на базовому " +"транспортному рівні (наприклад, помилку 404 \"не знайдено\", якщо сервер, " +"названий URI, не існує). Він має такі атрибути:" + +msgid "The URI or URL that triggered the error." +msgstr "URI або URL-адреса, яка викликала помилку." + +msgid "The error code." +msgstr "Код помилки." + +msgid "The error message or diagnostic string." +msgstr "Повідомлення про помилку або діагностичний рядок." + +msgid "" +"A dict containing the headers of the HTTP/HTTPS request that triggered the " +"error." +msgstr "Dict, що містить заголовки запиту HTTP/HTTPS, який викликав помилку." + +msgid "" +"In the following example we're going to intentionally cause a :exc:" +"`ProtocolError` by providing an invalid URI::" +msgstr "" +"У наступному прикладі ми навмисно спричинимо :exc:`ProtocolError`, вказавши " +"недійсний URI::" + +msgid "MultiCall Objects" +msgstr "Об’єкти MultiCall" + +msgid "" +"The :class:`MultiCall` object provides a way to encapsulate multiple calls " +"to a remote server into a single request [#]_." +msgstr "" +"Об’єкт :class:`MultiCall` забезпечує спосіб інкапсулювати кілька викликів до " +"віддаленого сервера в один запит [#]_." + +msgid "" +"Create an object used to boxcar method calls. *server* is the eventual " +"target of the call. Calls can be made to the result object, but they will " +"immediately return ``None``, and only store the call name and parameters in " +"the :class:`MultiCall` object. Calling the object itself causes all stored " +"calls to be transmitted as a single ``system.multicall`` request. The result " +"of this call is a :term:`generator`; iterating over this generator yields " +"the individual results." +msgstr "" +"Створіть об’єкт, який використовується для викликів методу boxcar. *сервер* " +"є кінцевою метою виклику. Виклики можна здійснювати до об’єкта результату, " +"але вони негайно повертатимуть ``None`` і зберігають лише назву виклику та " +"параметри в об’єкті :class:`MultiCall`. Виклик самого об’єкта призводить до " +"того, що всі збережені виклики передаються як єдиний запит ``system." +"multicall``. Результатом цього виклику є :term:`generator`; ітерація по " +"цьому генератору дає окремі результати." + +msgid "A usage example of this class follows. The server code::" +msgstr "Нижче наведено приклад використання цього класу. Код сервера::" + +msgid "Convenience Functions" +msgstr "Функції зручності" + +msgid "" +"Convert *params* into an XML-RPC request. or into a response if " +"*methodresponse* is true. *params* can be either a tuple of arguments or an " +"instance of the :exc:`Fault` exception class. If *methodresponse* is true, " +"only a single value can be returned, meaning that *params* must be of length " +"1. *encoding*, if supplied, is the encoding to use in the generated XML; the " +"default is UTF-8. Python's :const:`None` value cannot be used in standard " +"XML-RPC; to allow using it via an extension, provide a true value for " +"*allow_none*." +msgstr "" +"Перетворіть *params* на запит XML-RPC. або у відповідь, якщо " +"*methodresponse* має значення true. *params* може бути або кортежем " +"аргументів, або екземпляром класу винятків :exc:`Fault`. Якщо " +"*methodresponse* має значення true, можна повернути лише одне значення, " +"тобто *params* має мати довжину 1. *encoding*, якщо вказано, це кодування, " +"яке буде використовуватися у створеному XML; типовим є UTF-8. Значення " +"Python :const:`None` не можна використовувати в стандартному XML-RPC; щоб " +"дозволити використовувати його через розширення, надайте справжнє значення " +"*allow_none*." + +msgid "" +"Convert an XML-RPC request or response into Python objects, a ``(params, " +"methodname)``. *params* is a tuple of argument; *methodname* is a string, " +"or ``None`` if no method name is present in the packet. If the XML-RPC " +"packet represents a fault condition, this function will raise a :exc:`Fault` " +"exception. The *use_builtin_types* flag can be used to cause date/time " +"values to be presented as :class:`datetime.datetime` objects and binary data " +"to be presented as :class:`bytes` objects; this flag is false by default." +msgstr "" +"Перетворення запиту чи відповіді XML-RPC на об’єкти Python, ``(params, " +"methodname)``. *params* — це кортеж аргументів; *methodname* — це рядок або " +"``None``, якщо в пакеті немає імені методу. Якщо пакет XML-RPC представляє " +"стан помилки, ця функція викличе виняток :exc:`Fault`. Прапор " +"*use_builtin_types* можна використовувати, щоб значення дати/часу " +"відображалися як об’єкти :class:`datetime.datetime`, а двійкові дані — як " +"об’єкти :class:`bytes`; цей прапор за замовчуванням false." + +msgid "" +"The obsolete *use_datetime* flag is similar to *use_builtin_types* but it " +"applies only to date/time values." +msgstr "" +"Застарілий прапор *use_datetime* подібний до *use_builtin_types*, але він " +"застосовується лише до значень дати/часу." + +msgid "Example of Client Usage" +msgstr "Приклад використання клієнта" + +msgid "" +"To access an XML-RPC server through a HTTP proxy, you need to define a " +"custom transport. The following example shows how::" +msgstr "" +"Щоб отримати доступ до сервера XML-RPC через проксі-сервер HTTP, вам " +"потрібно визначити настроюваний транспорт. У наступному прикладі показано, " +"як:" + +msgid "Example of Client and Server Usage" +msgstr "Приклад використання клієнта та сервера" + +msgid "See :ref:`simplexmlrpcserver-example`." +msgstr "Див. :ref:`simplexmlrpcserver-example`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"This approach has been first presented in `a discussion on xmlrpc.com " +"`_." +msgstr "" +"Цей підхід вперше було представлено в `обговоренні на xmlrpc.com `_." diff --git a/library/xmlrpc_server.po b/library/xmlrpc_server.po new file mode 100644 index 000000000..703533536 --- /dev/null +++ b/library/xmlrpc_server.po @@ -0,0 +1,430 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`xmlrpc.server` --- Basic XML-RPC servers" +msgstr ":mod:`xmlrpc.server` --- Базові сервери XML-RPC" + +msgid "**Source code:** :source:`Lib/xmlrpc/server.py`" +msgstr "**Вихідний код:** :source:`Lib/xmlrpc/server.py`" + +msgid "" +"The :mod:`xmlrpc.server` module provides a basic server framework for XML-" +"RPC servers written in Python. Servers can either be free standing, using :" +"class:`SimpleXMLRPCServer`, or embedded in a CGI environment, using :class:" +"`CGIXMLRPCRequestHandler`." +msgstr "" +"Модуль :mod:`xmlrpc.server` надає базову серверну структуру для серверів XML-" +"RPC, написаних на Python. Сервери можуть бути автономними, використовуючи :" +"class:`SimpleXMLRPCServer`, або вбудованими в середовище CGI, " +"використовуючи :class:`CGIXMLRPCRequestHandler`." + +msgid "" +"The :mod:`xmlrpc.server` module is not secure against maliciously " +"constructed data. If you need to parse untrusted or unauthenticated data " +"see :ref:`xml-vulnerabilities`." +msgstr "" +"Модуль :mod:`xmlrpc.server` не захищений від зловмисно створених даних. Якщо " +"вам потрібно проаналізувати ненадійні або неавтентифіковані дані, " +"перегляньте :ref:`xml-vulnerabilities`." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "" +"Create a new server instance. This class provides methods for registration " +"of functions that can be called by the XML-RPC protocol. The " +"*requestHandler* parameter should be a factory for request handler " +"instances; it defaults to :class:`SimpleXMLRPCRequestHandler`. The *addr* " +"and *requestHandler* parameters are passed to the :class:`socketserver." +"TCPServer` constructor. If *logRequests* is true (the default), requests " +"will be logged; setting this parameter to false will turn off logging. The " +"*allow_none* and *encoding* parameters are passed on to :mod:`xmlrpc.client` " +"and control the XML-RPC responses that will be returned from the server. The " +"*bind_and_activate* parameter controls whether :meth:`server_bind` and :meth:" +"`server_activate` are called immediately by the constructor; it defaults to " +"true. Setting it to false allows code to manipulate the " +"*allow_reuse_address* class variable before the address is bound. The " +"*use_builtin_types* parameter is passed to the :func:`~xmlrpc.client.loads` " +"function and controls which types are processed when date/times values or " +"binary data are received; it defaults to false." +msgstr "" +"Створіть новий екземпляр сервера. Цей клас надає методи для реєстрації " +"функцій, які можуть бути викликані протоколом XML-RPC. Параметр " +"*requestHandler* має бути фабрикою для екземплярів обробника запитів; за " +"замовчуванням :class:`SimpleXMLRPCRequestHandler`. Параметри *addr* і " +"*requestHandler* передаються до конструктора :class:`socketserver." +"TCPServer`. Якщо *logRequests* має значення true (за замовчуванням), запити " +"реєструватимуться; встановлення цього параметра на false вимкне " +"журналювання. Параметри *allow_none* і *encoding* передаються до :mod:" +"`xmlrpc.client` і контролюють відповіді XML-RPC, які повертаються з сервера. " +"Параметр *bind_and_activate* контролює, чи :meth:`server_bind` і :meth:" +"`server_activate` негайно викликаються конструктором; за замовчуванням " +"значення true. Встановлення значення false дозволяє коду маніпулювати " +"змінною класу *allow_reuse_address* до того, як адресу буде зв’язано. " +"Параметр *use_builtin_types* передається до функції :func:`~xmlrpc.client." +"loads` і контролює, які типи обробляються під час отримання значень дати/" +"часу або двійкових даних; за замовчуванням значення false." + +msgid "The *use_builtin_types* flag was added." +msgstr "Додано прапорець *use_builtin_types*." + +msgid "" +"Create a new instance to handle XML-RPC requests in a CGI environment. The " +"*allow_none* and *encoding* parameters are passed on to :mod:`xmlrpc.client` " +"and control the XML-RPC responses that will be returned from the server. The " +"*use_builtin_types* parameter is passed to the :func:`~xmlrpc.client.loads` " +"function and controls which types are processed when date/times values or " +"binary data are received; it defaults to false." +msgstr "" +"Створіть новий екземпляр для обробки запитів XML-RPC у середовищі CGI. " +"Параметри *allow_none* і *encoding* передаються до :mod:`xmlrpc.client` і " +"контролюють відповіді XML-RPC, які повертаються з сервера. Параметр " +"*use_builtin_types* передається до функції :func:`~xmlrpc.client.loads` і " +"контролює, які типи обробляються під час отримання значень дати/часу або " +"двійкових даних; за замовчуванням значення false." + +msgid "" +"Create a new request handler instance. This request handler supports " +"``POST`` requests and modifies logging so that the *logRequests* parameter " +"to the :class:`SimpleXMLRPCServer` constructor parameter is honored." +msgstr "" +"Створіть новий екземпляр обробника запитів. Цей обробник запитів підтримує " +"запити ``POST`` і змінює журналювання таким чином, щоб параметр " +"*logRequests* для параметра конструктора :class:`SimpleXMLRPCServer` " +"враховувався." + +msgid "SimpleXMLRPCServer Objects" +msgstr "Об’єкти SimpleXMLRPCServer" + +msgid "" +"The :class:`SimpleXMLRPCServer` class is based on :class:`socketserver." +"TCPServer` and provides a means of creating simple, stand alone XML-RPC " +"servers." +msgstr "" +"Клас :class:`SimpleXMLRPCServer` заснований на :class:`socketserver." +"TCPServer` і надає засоби для створення простих автономних серверів XML-RPC." + +msgid "" +"Register a function that can respond to XML-RPC requests. If *name* is " +"given, it will be the method name associated with *function*, otherwise " +"``function.__name__`` will be used. *name* is a string, and may contain " +"characters not legal in Python identifiers, including the period character." +msgstr "" +"Зареєструйте функцію, яка може відповідати на запити XML-RPC. Якщо вказано " +"*ім’я*, це буде ім’я методу, пов’язане з *функцією*, інакше " +"використовуватиметься ``function.__name__``. *ім’я* є рядком і може містити " +"символи, які не є допустимими в ідентифікаторах Python, включно з символом " +"крапки." + +msgid "" +"This method can also be used as a decorator. When used as a decorator, " +"*name* can only be given as a keyword argument to register *function* under " +"*name*. If no *name* is given, ``function.__name__`` will be used." +msgstr "" +"Також цей спосіб можна використовувати як декоратор. Якщо використовувати як " +"декоратор, *name* можна надати лише як ключовий аргумент для реєстрації " +"*функції* під *name*. Якщо *ім’я* не вказано, буде використано ``function." +"__name__``." + +msgid ":meth:`register_function` can be used as a decorator." +msgstr ":meth:`register_function` можна використовувати як декоратор." + +msgid "" +"Register an object which is used to expose method names which have not been " +"registered using :meth:`register_function`. If *instance* contains a :meth:" +"`_dispatch` method, it is called with the requested method name and the " +"parameters from the request. Its API is ``def _dispatch(self, method, " +"params)`` (note that *params* does not represent a variable argument list). " +"If it calls an underlying function to perform its task, that function is " +"called as ``func(*params)``, expanding the parameter list. The return value " +"from :meth:`_dispatch` is returned to the client as the result. If " +"*instance* does not have a :meth:`_dispatch` method, it is searched for an " +"attribute matching the name of the requested method." +msgstr "" +"Зареєструйте об’єкт, який використовується для надання імен методів, які не " +"були зареєстровані за допомогою :meth:`register_function`. Якщо *екземпляр* " +"містить метод :meth:`_dispatch`, він викликається із запитаною назвою методу " +"та параметрами із запиту. Його API — ``def _dispatch(self, method, params)`` " +"(зверніть увагу, що *params* не представляє список змінних аргументів). Якщо " +"вона викликає базову функцію для виконання свого завдання, ця функція " +"викликається як ``func(*params)``, розширюючи список параметрів. Повернене " +"значення від :meth:`_dispatch` повертається клієнту як результат. Якщо " +"*екземпляр* не має методу :meth:`_dispatch`, він шукається за атрибутом, " +"який відповідає назві запитаного методу." + +msgid "" +"If the optional *allow_dotted_names* argument is true and the instance does " +"not have a :meth:`_dispatch` method, then if the requested method name " +"contains periods, each component of the method name is searched for " +"individually, with the effect that a simple hierarchical search is " +"performed. The value found from this search is then called with the " +"parameters from the request, and the return value is passed back to the " +"client." +msgstr "" +"Якщо необов’язковий аргумент *allow_dotted_names* має значення true і " +"екземпляр не має методу :meth:`_dispatch`, тоді, якщо запитане ім’я методу " +"містить крапки, кожен компонент імені методу шукається окремо, з ефектом " +"простого виконується ієрархічний пошук. Значення, знайдене в результаті " +"цього пошуку, потім викликається з параметрами із запиту, а повернуте " +"значення передається назад клієнту." + +msgid "" +"Enabling the *allow_dotted_names* option allows intruders to access your " +"module's global variables and may allow intruders to execute arbitrary code " +"on your machine. Only use this option on a secure, closed network." +msgstr "" +"Увімкнення опції *allow_dotted_names* дозволяє зловмисникам отримати доступ " +"до глобальних змінних вашого модуля та може дозволити зловмисникам " +"виконувати довільний код на вашій машині. Використовуйте цей параметр лише в " +"безпечній закритій мережі." + +msgid "" +"Registers the XML-RPC introspection functions ``system.listMethods``, " +"``system.methodHelp`` and ``system.methodSignature``." +msgstr "" +"Реєструє функції інтроспекції XML-RPC ``system.listMethods``, ``system." +"methodHelp`` і ``system.methodSignature``." + +msgid "Registers the XML-RPC multicall function system.multicall." +msgstr "Реєструє функцію багаторазового виклику XML-RPC system.multicall." + +msgid "" +"An attribute value that must be a tuple listing valid path portions of the " +"URL for receiving XML-RPC requests. Requests posted to other paths will " +"result in a 404 \"no such page\" HTTP error. If this tuple is empty, all " +"paths will be considered valid. The default value is ``('/', '/RPC2')``." +msgstr "" +"Значення атрибута, яке має бути кортежем із переліком дійсних частин шляху " +"URL-адреси для отримання запитів XML-RPC. Запити, опубліковані на інших " +"шляхах, призведуть до помилки HTTP 404 \"немає такої сторінки\". Якщо цей " +"кортеж порожній, усі шляхи вважатимуться дійсними. Значення за замовчуванням " +"– ``('/', '/RPC2')``." + +msgid "SimpleXMLRPCServer Example" +msgstr "Приклад SimpleXMLRPCServer" + +msgid "Server code::" +msgstr "Код сервера ::" + +msgid "" +"The following client code will call the methods made available by the " +"preceding server::" +msgstr "Наступний код клієнта викличе методи, доступні попереднім сервером:" + +msgid "" +":meth:`register_function` can also be used as a decorator. The previous " +"server example can register functions in a decorator way::" +msgstr "" +":meth:`register_function` також можна використовувати як декоратор. " +"Попередній приклад сервера може реєструвати функції у спосіб декоратора:" + +msgid "" +"The following example included in the :file:`Lib/xmlrpc/server.py` module " +"shows a server allowing dotted names and registering a multicall function." +msgstr "" +"У наступному прикладі, включеному в модуль :file:`Lib/xmlrpc/server.py`, " +"показано сервер, який дозволяє використовувати імена з крапками та реєструє " +"функцію багаторазового виклику." + +msgid "" +"Enabling the *allow_dotted_names* option allows intruders to access your " +"module's global variables and may allow intruders to execute arbitrary code " +"on your machine. Only use this example only within a secure, closed network." +msgstr "" +"Увімкнення опції *allow_dotted_names* дозволяє зловмисникам отримати доступ " +"до глобальних змінних вашого модуля та може дозволити зловмисникам " +"виконувати довільний код на вашій машині. Використовуйте цей приклад лише в " +"безпечній закритій мережі." + +msgid "This ExampleService demo can be invoked from the command line::" +msgstr "Цю демо-версію ExampleService можна викликати з командного рядка::" + +msgid "" +"The client that interacts with the above server is included in ``Lib/xmlrpc/" +"client.py``::" +msgstr "" + +msgid "" +"This client which interacts with the demo XMLRPC server can be invoked as::" +msgstr "" +"Цей клієнт, який взаємодіє з демонстраційним сервером XMLRPC, можна " +"викликати як:" + +msgid "CGIXMLRPCRequestHandler" +msgstr "CGIXMLRPCRequestHandler" + +msgid "" +"The :class:`CGIXMLRPCRequestHandler` class can be used to handle XML-RPC " +"requests sent to Python CGI scripts." +msgstr "" +"Клас :class:`CGIXMLRPCRequestHandler` можна використовувати для обробки " +"запитів XML-RPC, надісланих до сценаріїв Python CGI." + +msgid "" +"Register an object which is used to expose method names which have not been " +"registered using :meth:`register_function`. If instance contains a :meth:" +"`_dispatch` method, it is called with the requested method name and the " +"parameters from the request; the return value is returned to the client as " +"the result. If instance does not have a :meth:`_dispatch` method, it is " +"searched for an attribute matching the name of the requested method; if the " +"requested method name contains periods, each component of the method name " +"is searched for individually, with the effect that a simple hierarchical " +"search is performed. The value found from this search is then called with " +"the parameters from the request, and the return value is passed back to " +"the client." +msgstr "" +"Зареєструйте об’єкт, який використовується для надання імен методів, які не " +"були зареєстровані за допомогою :meth:`register_function`. Якщо екземпляр " +"містить метод :meth:`_dispatch`, він викликається із запитаною назвою методу " +"та параметрами із запиту; повертається значення повертається клієнту як " +"результат. Якщо екземпляр не має методу :meth:`_dispatch`, він шукається за " +"атрибутом, який відповідає назві запитуваного методу; якщо запитане ім'я " +"методу містить крапки, кожен компонент імені методу шукається окремо, в " +"результаті чого виконується простий ієрархічний пошук. Значення, знайдене в " +"результаті цього пошуку, потім викликається з параметрами із запиту, а " +"повернуте значення передається назад клієнту." + +msgid "" +"Register the XML-RPC introspection functions ``system.listMethods``, " +"``system.methodHelp`` and ``system.methodSignature``." +msgstr "" +"Зареєструйте функції інтроспекції XML-RPC ``system.listMethods``, ``system." +"methodHelp`` і ``system.methodSignature``." + +msgid "Register the XML-RPC multicall function ``system.multicall``." +msgstr "" +"Зареєструйте функцію багаторазового виклику XML-RPC ``system.multicall``." + +msgid "" +"Handle an XML-RPC request. If *request_text* is given, it should be the POST " +"data provided by the HTTP server, otherwise the contents of stdin will be " +"used." +msgstr "" +"Обробляти запит XML-RPC. Якщо задано *request_text*, це мають бути дані " +"POST, надані HTTP-сервером, інакше буде використано вміст stdin." + +msgid "Example::" +msgstr "Приклад::" + +msgid "Documenting XMLRPC server" +msgstr "Документування сервера XMLRPC" + +msgid "" +"These classes extend the above classes to serve HTML documentation in " +"response to HTTP GET requests. Servers can either be free standing, using :" +"class:`DocXMLRPCServer`, or embedded in a CGI environment, using :class:" +"`DocCGIXMLRPCRequestHandler`." +msgstr "" +"Ці класи розширюють наведені вище класи для обслуговування документації HTML " +"у відповідь на запити HTTP GET. Сервери можуть бути автономними, " +"використовуючи :class:`DocXMLRPCServer`, або вбудованими в середовище CGI, " +"використовуючи :class:`DocCGIXMLRPCRequestHandler`." + +msgid "" +"Create a new server instance. All parameters have the same meaning as for :" +"class:`SimpleXMLRPCServer`; *requestHandler* defaults to :class:" +"`DocXMLRPCRequestHandler`." +msgstr "" +"Створіть новий екземпляр сервера. Усі параметри мають те саме значення, що й " +"для :class:`SimpleXMLRPCServer`; *requestHandler* за умовчанням має " +"значення :class:`DocXMLRPCRequestHandler`." + +msgid "Create a new instance to handle XML-RPC requests in a CGI environment." +msgstr "Створіть новий екземпляр для обробки запитів XML-RPC у середовищі CGI." + +msgid "" +"Create a new request handler instance. This request handler supports XML-RPC " +"POST requests, documentation GET requests, and modifies logging so that the " +"*logRequests* parameter to the :class:`DocXMLRPCServer` constructor " +"parameter is honored." +msgstr "" +"Створіть новий екземпляр обробника запитів. Цей обробник запитів підтримує " +"запити POST XML-RPC, запити GET документації та змінює журналювання таким " +"чином, щоб параметр *logRequests* для параметра конструктора :class:" +"`DocXMLRPCServer` враховувався." + +msgid "DocXMLRPCServer Objects" +msgstr "Об’єкти DocXMLRPCServer" + +msgid "" +"The :class:`DocXMLRPCServer` class is derived from :class:" +"`SimpleXMLRPCServer` and provides a means of creating self-documenting, " +"stand alone XML-RPC servers. HTTP POST requests are handled as XML-RPC " +"method calls. HTTP GET requests are handled by generating pydoc-style HTML " +"documentation. This allows a server to provide its own web-based " +"documentation." +msgstr "" +"Клас :class:`DocXMLRPCServer` походить від :class:`SimpleXMLRPCServer` і " +"забезпечує засоби для створення самодокументованих автономних серверів XML-" +"RPC. Запити HTTP POST обробляються як виклики методів XML-RPC. Запити HTTP " +"GET обробляються шляхом створення документації HTML у стилі pydoc. Це " +"дозволяє серверу надавати власну веб-документацію." + +msgid "" +"Set the title used in the generated HTML documentation. This title will be " +"used inside the HTML \"title\" element." +msgstr "" +"Встановіть заголовок, який використовується у створеній документації HTML. " +"Цей заголовок використовуватиметься всередині елемента HTML \"title\"." + +msgid "" +"Set the name used in the generated HTML documentation. This name will appear " +"at the top of the generated documentation inside a \"h1\" element." +msgstr "" +"Встановіть назву, яка використовується у створеній документації HTML. Це " +"ім’я з’явиться у верхній частині створеної документації всередині елемента " +"\"h1\"." + +msgid "" +"Set the description used in the generated HTML documentation. This " +"description will appear as a paragraph, below the server name, in the " +"documentation." +msgstr "" +"Встановіть опис, який використовується у створеній документації HTML. Цей " +"опис відображатиметься як абзац під назвою сервера в документації." + +msgid "DocCGIXMLRPCRequestHandler" +msgstr "DocCGIXMLRPCRequestHandler" + +msgid "" +"The :class:`DocCGIXMLRPCRequestHandler` class is derived from :class:" +"`CGIXMLRPCRequestHandler` and provides a means of creating self-documenting, " +"XML-RPC CGI scripts. HTTP POST requests are handled as XML-RPC method calls. " +"HTTP GET requests are handled by generating pydoc-style HTML documentation. " +"This allows a server to provide its own web-based documentation." +msgstr "" +"Клас :class:`DocCGIXMLRPCRequestHandler` походить від :class:" +"`CGIXMLRPCRequestHandler` і надає засоби для створення самодокументованих " +"сценаріїв XML-RPC CGI. Запити HTTP POST обробляються як виклики методів XML-" +"RPC. Запити HTTP GET обробляються шляхом створення документації HTML у стилі " +"pydoc. Це дозволяє серверу надавати власну веб-документацію." diff --git a/library/zipapp.po b/library/zipapp.po new file mode 100644 index 000000000..c2accd6df --- /dev/null +++ b/library/zipapp.po @@ -0,0 +1,670 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`zipapp` --- Manage executable Python zip archives" +msgstr ":mod:`zipapp` --- Керування виконуваними zip-архівами Python" + +msgid "**Source code:** :source:`Lib/zipapp.py`" +msgstr "**Вихідний код:** :source:`Lib/zipapp.py`" + +msgid "" +"This module provides tools to manage the creation of zip files containing " +"Python code, which can be :ref:`executed directly by the Python interpreter " +"`. The module provides both a :ref:`zipapp-" +"command-line-interface` and a :ref:`zipapp-python-api`." +msgstr "" +"Цей модуль надає інструменти для керування створенням zip-файлів, що містять " +"код Python, який можна :ref:`виконувати безпосередньо інтерпретатором Python " +"`. Модуль забезпечує як :ref:`zipapp-command-" +"line-interface`, так і :ref:`zipapp-python-api`." + +msgid "Basic Example" +msgstr "Базовий приклад" + +msgid "" +"The following example shows how the :ref:`zipapp-command-line-interface` can " +"be used to create an executable archive from a directory containing Python " +"code. When run, the archive will execute the ``main`` function from the " +"module ``myapp`` in the archive." +msgstr "" +"У наступному прикладі показано, як :ref:`zipapp-command-line-interface` " +"можна використовувати для створення виконуваного архіву з каталогу, що " +"містить код Python. Під час запуску архів виконає функцію ``main`` з модуля " +"``myapp`` в архіві." + +msgid "Command-Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"When called as a program from the command line, the following form is used:" +msgstr "При виклику програми з командного рядка використовується така форма:" + +msgid "" +"If *source* is a directory, this will create an archive from the contents of " +"*source*. If *source* is a file, it should be an archive, and it will be " +"copied to the target archive (or the contents of its shebang line will be " +"displayed if the --info option is specified)." +msgstr "" +"Якщо *source* є каталогом, буде створено архів із вмісту *source*. Якщо " +"*джерело* є файлом, це має бути архів, і його буде скопійовано до цільового " +"архіву (або буде показано вміст його рядка shebang, якщо вказано параметр --" +"info)." + +msgid "The following options are understood:" +msgstr "Розуміються такі варіанти:" + +msgid "" +"Write the output to a file named *output*. If this option is not specified, " +"the output filename will be the same as the input *source*, with the " +"extension ``.pyz`` added. If an explicit filename is given, it is used as " +"is (so a ``.pyz`` extension should be included if required)." +msgstr "" +"Запишіть вихідні дані у файл з назвою *output*. Якщо цей параметр не " +"вказано, ім’я вихідного файлу буде таким самим, як і вхідне *джерело*, із " +"доданим розширенням ``.pyz``. Якщо вказано явне ім’я файлу, воно " +"використовується як є (тому за потреби слід включити розширення ``.pyz``)." + +msgid "" +"An output filename must be specified if the *source* is an archive (and in " +"that case, *output* must not be the same as *source*)." +msgstr "" +"Необхідно вказати ім’я вихідного файлу, якщо *джерело* є архівом (і в такому " +"випадку *вихід* не має збігатися з *джерелом*)." + +msgid "" +"Add a ``#!`` line to the archive specifying *interpreter* as the command to " +"run. Also, on POSIX, make the archive executable. The default is to write " +"no ``#!`` line, and not make the file executable." +msgstr "" +"Додайте рядок ``#!`` до архіву, вказавши *interpreter* як команду для " +"виконання. Крім того, на POSIX зробіть архів виконуваним. За замовчуванням " +"рядок ``#!`` не записується, і файл не робиться виконуваним." + +msgid "" +"Write a ``__main__.py`` file to the archive that executes *mainfn*. The " +"*mainfn* argument should have the form \"pkg.mod:fn\", where \"pkg.mod\" is " +"a package/module in the archive, and \"fn\" is a callable in the given " +"module. The ``__main__.py`` file will execute that callable." +msgstr "" +"Запишіть файл ``__main__.py`` в архів, який виконує *mainfn*. Аргумент " +"*mainfn* повинен мати вигляд \"pkg.mod:fn\", де \"pkg.mod\" — це пакет/" +"модуль в архіві, а \"fn\" — це виклик у даному модулі. Файл ``__main__.py`` " +"виконає цей виклик." + +msgid ":option:`--main` cannot be specified when copying an archive." +msgstr ":option:`--main` не можна вказати під час копіювання архіву." + +msgid "" +"Compress files with the deflate method, reducing the size of the output " +"file. By default, files are stored uncompressed in the archive." +msgstr "" +"Стискайте файли за допомогою методу deflate, зменшуючи розмір вихідного " +"файлу. За замовчуванням файли зберігаються в архіві без стиснення." + +msgid ":option:`--compress` has no effect when copying an archive." +msgstr ":option:`--compress` не діє під час копіювання архіву." + +msgid "" +"Display the interpreter embedded in the archive, for diagnostic purposes. " +"In this case, any other options are ignored and SOURCE must be an archive, " +"not a directory." +msgstr "" +"Відобразити інтерпретатор, вбудований в архів, для діагностичних цілей. У " +"цьому випадку будь-які інші параметри ігноруються, а SOURCE має бути " +"архівом, а не каталогом." + +msgid "Print a short usage message and exit." +msgstr "Надрукуйте коротке повідомлення про використання та вийдіть." + +msgid "Python API" +msgstr "API Python" + +msgid "The module defines two convenience functions:" +msgstr "Модуль визначає дві функції зручності:" + +msgid "" +"Create an application archive from *source*. The source can be any of the " +"following:" +msgstr "" +"Створіть архів програми з *джерела*. Джерелом може бути будь-яке з " +"наступного:" + +msgid "" +"The name of a directory, or a :term:`path-like object` referring to a " +"directory, in which case a new application archive will be created from the " +"content of that directory." +msgstr "" +"Ім’я каталогу або :term:`path-like object`, що посилається на каталог, у " +"цьому випадку новий архів програми буде створено з вмісту цього каталогу." + +msgid "" +"The name of an existing application archive file, or a :term:`path-like " +"object` referring to such a file, in which case the file is copied to the " +"target (modifying it to reflect the value given for the *interpreter* " +"argument). The file name should include the ``.pyz`` extension, if required." +msgstr "" +"Ім’я існуючого архівного файлу програми або :term:`path-like object`, що " +"посилається на такий файл, у такому випадку файл копіюється в ціль (з його " +"зміною, щоб відобразити значення, задане для аргументу *interpreter* ). Якщо " +"потрібно, ім’я файлу має містити розширення ``.pyz``." + +msgid "" +"A file object open for reading in bytes mode. The content of the file " +"should be an application archive, and the file object is assumed to be " +"positioned at the start of the archive." +msgstr "" +"Файловий об'єкт, відкритий для читання в байтовому режимі. Вмістом файлу має " +"бути архів програми, а об’єкт файлу має бути розташований на початку архіву." + +msgid "" +"The *target* argument determines where the resulting archive will be written:" +msgstr "Аргумент *target* визначає, куди буде записаний отриманий архів:" + +msgid "" +"If it is the name of a file, or a :term:`path-like object`, the archive will " +"be written to that file." +msgstr "" +"Якщо це ім’я файлу або :term:`path-like object`, архів буде записаний у цей " +"файл." + +msgid "" +"If it is an open file object, the archive will be written to that file " +"object, which must be open for writing in bytes mode." +msgstr "" +"Якщо це відкритий файловий об’єкт, архів буде записаний у цей файловий " +"об’єкт, який має бути відкритим для запису в байтовому режимі." + +msgid "" +"If the target is omitted (or ``None``), the source must be a directory and " +"the target will be a file with the same name as the source, with a ``.pyz`` " +"extension added." +msgstr "" +"Якщо ціль пропущено (або ``None``), джерело має бути каталогом, а ціль буде " +"файлом із такою самою назвою, як і джерело, із доданим розширенням ``.pyz``." + +msgid "" +"The *interpreter* argument specifies the name of the Python interpreter with " +"which the archive will be executed. It is written as a \"shebang\" line at " +"the start of the archive. On POSIX, this will be interpreted by the OS, and " +"on Windows it will be handled by the Python launcher. Omitting the " +"*interpreter* results in no shebang line being written. If an interpreter " +"is specified, and the target is a filename, the executable bit of the target " +"file will be set." +msgstr "" +"Аргумент *інтерпретатор* визначає ім'я інтерпретатора Python, за допомогою " +"якого буде виконуватися архів. Він записується як рядок \"shebang\" на " +"початку архіву. У POSIX це буде інтерпретовано ОС, а в Windows це " +"оброблятиметься програмою запуску Python. Пропуск *інтерпретатора* " +"призводить до того, що рядок shebang не записується. Якщо вказано " +"інтерпретатор, а метою є ім’я файлу, буде встановлено виконуваний біт " +"цільового файлу." + +msgid "" +"The *main* argument specifies the name of a callable which will be used as " +"the main program for the archive. It can only be specified if the source is " +"a directory, and the source does not already contain a ``__main__.py`` " +"file. The *main* argument should take the form \"pkg.module:callable\" and " +"the archive will be run by importing \"pkg.module\" and executing the given " +"callable with no arguments. It is an error to omit *main* if the source is " +"a directory and does not contain a ``__main__.py`` file, as otherwise the " +"resulting archive would not be executable." +msgstr "" +"Аргумент *main* вказує назву викликаної програми, яка буде використана як " +"основна програма для архіву. Його можна вказати, лише якщо джерелом є " +"каталог, і джерело ще не містить файл ``__main__.py``. Аргумент *main* має " +"мати вигляд \"pkg.module:callable\", і архів буде запущено шляхом імпорту " +"\"pkg.module\" і виконання заданого callable без аргументів. Пропускати " +"*main* буде помилкою, якщо джерело є каталогом і не містить файлу ``__main__." +"py``, інакше отриманий архів не буде виконуваним." + +msgid "" +"The optional *filter* argument specifies a callback function that is passed " +"a Path object representing the path to the file being added (relative to the " +"source directory). It should return ``True`` if the file is to be added." +msgstr "" +"Необов’язковий аргумент *filter* визначає функцію зворотного виклику, якій " +"передається об’єкт Path, що представляє шлях до доданого файлу (відносно " +"вихідного каталогу). Він має повернути ``True``, якщо файл потрібно додати." + +msgid "" +"The optional *compressed* argument determines whether files are compressed. " +"If set to ``True``, files in the archive are compressed with the deflate " +"method; otherwise, files are stored uncompressed. This argument has no " +"effect when copying an existing archive." +msgstr "" +"Додатковий аргумент *compressed* визначає, чи стискаються файли. Якщо " +"встановлено значення ``True``, файли в архіві стискаються за допомогою " +"методу deflate; інакше файли зберігаються нестисненими. Цей аргумент не діє " +"під час копіювання існуючого архіву." + +msgid "" +"If a file object is specified for *source* or *target*, it is the caller's " +"responsibility to close it after calling create_archive." +msgstr "" +"Якщо для *source* або *target* указано файловий об’єкт, закрити його після " +"виклику create_archive несе абонент, що викликає." + +msgid "" +"When copying an existing archive, file objects supplied only need ``read`` " +"and ``readline``, or ``write`` methods. When creating an archive from a " +"directory, if the target is a file object it will be passed to the ``zipfile." +"ZipFile`` class, and must supply the methods needed by that class." +msgstr "" +"Під час копіювання існуючого архіву наданим файловим об’єктам потрібні лише " +"методи ``read`` і ``readline`` або ``write``. Під час створення архіву з " +"каталогу, якщо метою є файловий об’єкт, він буде переданий до класу " +"``zipfile.ZipFile`` і повинен надати методи, необхідні цьому класу." + +msgid "Added the *filter* and *compressed* arguments." +msgstr "Додано аргументи *filter* і *compressed*." + +msgid "" +"Return the interpreter specified in the ``#!`` line at the start of the " +"archive. If there is no ``#!`` line, return :const:`None`. The *archive* " +"argument can be a filename or a file-like object open for reading in bytes " +"mode. It is assumed to be at the start of the archive." +msgstr "" +"Повертає інтерпретатор, указаний у рядку ``#!`` на початку архіву. Якщо " +"рядка ``#!`` немає, поверніть :const:`None`. Аргументом *archive* може бути " +"назва файлу або файлоподібний об’єкт, відкритий для читання в байтовому " +"режимі. Передбачається, що він знаходиться на початку архіву." + +msgid "Examples" +msgstr "Приклади" + +msgid "Pack up a directory into an archive, and run it." +msgstr "Запакуйте каталог в архів і запустіть його." + +msgid "The same can be done using the :func:`create_archive` function::" +msgstr "Те саме можна зробити за допомогою функції :func:`create_archive`::" + +msgid "" +"To make the application directly executable on POSIX, specify an interpreter " +"to use." +msgstr "" +"Щоб зробити програму безпосередньо виконуваною на POSIX, вкажіть " +"інтерпретатор для використання." + +msgid "" +"To replace the shebang line on an existing archive, create a modified " +"archive using the :func:`create_archive` function::" +msgstr "" +"Щоб замінити рядок shebang в існуючому архіві, створіть модифікований архів " +"за допомогою функції :func:`create_archive`::" + +msgid "" +"To update the file in place, do the replacement in memory using a :class:" +"`BytesIO` object, and then overwrite the source afterwards. Note that there " +"is a risk when overwriting a file in place that an error will result in the " +"loss of the original file. This code does not protect against such errors, " +"but production code should do so. Also, this method will only work if the " +"archive fits in memory::" +msgstr "" +"Щоб оновити файл на місці, виконайте заміну в пам’яті за допомогою об’єкта :" +"class:`BytesIO`, а потім перезапишіть джерело. Зауважте, що під час " +"перезапису файлу на місці існує ризик того, що помилка призведе до втрати " +"вихідного файлу. Цей код не захищає від таких помилок, але робочий код " +"повинен це робити. Крім того, цей метод буде працювати тільки якщо архів " +"поміщається в пам'яті:" + +msgid "Specifying the Interpreter" +msgstr "Вказівка Інтерпретатора" + +msgid "" +"Note that if you specify an interpreter and then distribute your application " +"archive, you need to ensure that the interpreter used is portable. The " +"Python launcher for Windows supports most common forms of POSIX ``#!`` line, " +"but there are other issues to consider:" +msgstr "" +"Зауважте, що якщо ви вказуєте інтерпретатор, а потім розповсюджуєте свій " +"архів програми, вам потрібно переконатися, що використовуваний інтерпретатор " +"є портативним. Засіб запуску Python для Windows підтримує більшість " +"поширених форм рядка POSIX ``#!``, але є інші проблеми, які слід враховувати:" + +msgid "" +"If you use \"/usr/bin/env python\" (or other forms of the \"python\" " +"command, such as \"/usr/bin/python\"), you need to consider that your users " +"may have either Python 2 or Python 3 as their default, and write your code " +"to work under both versions." +msgstr "" +"Якщо ви використовуєте \"/usr/bin/env python\" (або інші форми команди " +"\"python\", такі як \"/usr/bin/python\"), вам потрібно враховувати, що ваші " +"користувачі можуть мати або Python 2, або Python 3 за замовчуванням і " +"напишіть свій код для роботи в обох версіях." + +msgid "" +"If you use an explicit version, for example \"/usr/bin/env python3\" your " +"application will not work for users who do not have that version. (This may " +"be what you want if you have not made your code Python 2 compatible)." +msgstr "" +"Якщо ви використовуєте явну версію, наприклад \"/usr/bin/env python3\", ваша " +"програма не працюватиме для користувачів, які не мають цієї версії. (Це може " +"бути те, що вам потрібно, якщо ви не зробили свій код сумісним з Python 2)." + +msgid "" +"There is no way to say \"python X.Y or later\", so be careful of using an " +"exact version like \"/usr/bin/env python3.4\" as you will need to change " +"your shebang line for users of Python 3.5, for example." +msgstr "" +"Немає способу сказати \"python X.Y або пізніша\", тому будьте обережні, " +"використовуючи точну версію, наприклад \"/usr/bin/env python3.4\", оскільки " +"вам потрібно буде змінити рядок shebang для користувачів Python 3.5, " +"наприклад ." + +msgid "" +"Typically, you should use an \"/usr/bin/env python2\" or \"/usr/bin/env " +"python3\", depending on whether your code is written for Python 2 or 3." +msgstr "" +"Як правило, ви повинні використовувати \"/usr/bin/env python2\" або \"/usr/" +"bin/env python3\", залежно від того, чи ваш код написаний для Python 2 чи 3." + +msgid "Creating Standalone Applications with zipapp" +msgstr "Створення автономних програм за допомогою zipap" + +msgid "" +"Using the :mod:`zipapp` module, it is possible to create self-contained " +"Python programs, which can be distributed to end users who only need to have " +"a suitable version of Python installed on their system. The key to doing " +"this is to bundle all of the application's dependencies into the archive, " +"along with the application code." +msgstr "" +"Використовуючи модуль :mod:`zipapp`, можна створювати самодостатні програми " +"Python, які можна розповсюджувати серед кінцевих користувачів, яким потрібно " +"лише встановити відповідну версію Python у своїй системі. Ключ до цього " +"полягає в тому, щоб об’єднати всі залежності програми в архів разом із кодом " +"програми." + +msgid "The steps to create a standalone archive are as follows:" +msgstr "Щоб створити окремий архів, виконайте наведені нижче дії." + +msgid "" +"Create your application in a directory as normal, so you have a ``myapp`` " +"directory containing a ``__main__.py`` file, and any supporting application " +"code." +msgstr "" +"Створіть свою програму в каталозі як зазвичай, щоб у вас був каталог " +"``myapp``, що містить файл ``__main__.py`` і будь-який допоміжний код " +"програми." + +msgid "" +"Install all of your application's dependencies into the ``myapp`` directory, " +"using pip:" +msgstr "" +"Встановіть усі залежності вашої програми в каталог ``myapp`` за допомогою " +"pip:" + +msgid "" +"(this assumes you have your project requirements in a ``requirements.txt`` " +"file - if not, you can just list the dependencies manually on the pip " +"command line)." +msgstr "" +"(це припускає, що у вас є вимоги до проекту у файлі ``requirements.txt`` - " +"якщо ні, ви можете просто вручну перерахувати залежності в командному рядку " +"pip)." + +msgid "" +"Optionally, delete the ``.dist-info`` directories created by pip in the " +"``myapp`` directory. These hold metadata for pip to manage the packages, and " +"as you won't be making any further use of pip they aren't required - " +"although it won't do any harm if you leave them." +msgstr "" +"За бажанням видаліть каталоги ``.dist-info``, створені pip у каталозі " +"``myapp``. Вони зберігають метадані для pip для керування пакунками, і " +"оскільки ви більше не використовуватимете pip, вони не потрібні, хоча це не " +"зашкодить, якщо ви їх залишите." + +msgid "Package the application using:" +msgstr "Упакуйте програму за допомогою:" + +msgid "" +"This will produce a standalone executable, which can be run on any machine " +"with the appropriate interpreter available. See :ref:`zipapp-specifying-the-" +"interpreter` for details. It can be shipped to users as a single file." +msgstr "" +"Це створить окремий виконуваний файл, який можна буде запустити на будь-якій " +"машині з доступним відповідним інтерпретатором. Дивіться :ref:`zipapp-" +"specifying-the-interpreter` для деталей. Його можна надіслати користувачам " +"як один файл." + +msgid "" +"On Unix, the ``myapp.pyz`` file is executable as it stands. You can rename " +"the file to remove the ``.pyz`` extension if you prefer a \"plain\" command " +"name. On Windows, the ``myapp.pyz[w]`` file is executable by virtue of the " +"fact that the Python interpreter registers the ``.pyz`` and ``.pyzw`` file " +"extensions when installed." +msgstr "" +"В Unix файл ``myapp.pyz`` є виконуваним у тому вигляді, в якому він є. Ви " +"можете перейменувати файл, щоб видалити розширення ``.pyz``, якщо ви " +"віддаєте перевагу \"простій\" назві команди. У Windows файл ``myapp.pyz[w]`` " +"є виконуваним через те, що інтерпретатор Python реєструє розширення файлів " +"``.pyz`` і ``.pyzw`` під час встановлення." + +msgid "Making a Windows executable" +msgstr "Створення виконуваного файлу Windows" + +msgid "" +"On Windows, registration of the ``.pyz`` extension is optional, and " +"furthermore, there are certain places that don't recognise registered " +"extensions \"transparently\" (the simplest example is that ``subprocess." +"run(['myapp'])`` won't find your application - you need to explicitly " +"specify the extension)." +msgstr "" +"У Windows реєстрація розширення ``.pyz`` необов’язкова, і крім того, є певні " +"місця, які не розпізнають зареєстровані розширення \"прозоро\" (найпростішим " +"прикладом є ``subprocess.run(['myapp'] )`` не знайде вашу програму – вам " +"потрібно явно вказати розширення)." + +msgid "" +"On Windows, therefore, it is often preferable to create an executable from " +"the zipapp. This is relatively easy, although it does require a C " +"compiler. The basic approach relies on the fact that zipfiles can have " +"arbitrary data prepended, and Windows exe files can have arbitrary data " +"appended. So by creating a suitable launcher and tacking the ``.pyz`` file " +"onto the end of it, you end up with a single-file executable that runs your " +"application." +msgstr "" +"Тому в Windows часто краще створювати виконуваний файл із zip-програми. Це " +"відносно легко, хоча для цього потрібен компілятор C. Основний підхід " +"ґрунтується на тому факті, що файли zip можуть мати довільні дані, а файли " +"Windows exe можуть мати довільні дані. Отже, створивши відповідний засіб " +"запуску та прикріпивши файл ``.pyz`` до його кінця, ви отримаєте " +"однофайловий виконуваний файл, який запускає вашу програму." + +msgid "A suitable launcher can be as simple as the following::" +msgstr "Відповідна програма запуску може бути такою простою:" + +msgid "" +"If you define the ``WINDOWS`` preprocessor symbol, this will generate a GUI " +"executable, and without it, a console executable." +msgstr "" +"Якщо ви визначите символ препроцесора ``WINDOWS``, це створить виконуваний " +"файл GUI, а без нього — виконуваний файл консолі." + +msgid "" +"To compile the executable, you can either just use the standard MSVC command " +"line tools, or you can take advantage of the fact that distutils knows how " +"to compile Python source::" +msgstr "" +"Щоб скомпілювати виконуваний файл, ви можете або просто скористатися " +"стандартними інструментами командного рядка MSVC, або ви можете скористатися " +"тим фактом, що distutils знає, як скомпілювати джерело Python::" + +msgid "" +"The resulting launcher uses the \"Limited ABI\", so it will run unchanged " +"with any version of Python 3.x. All it needs is for Python (``python3." +"dll``) to be on the user's ``PATH``." +msgstr "" +"Отриманий засіб запуску використовує \"Обмежений ABI\", тому він працюватиме " +"без змін з будь-якою версією Python 3.x. Все, що йому потрібно, це щоб " +"Python (``python3.dll``) знаходився на ``PATH`` користувача." + +msgid "" +"For a fully standalone distribution, you can distribute the launcher with " +"your application appended, bundled with the Python \"embedded\" " +"distribution. This will run on any PC with the appropriate architecture (32 " +"bit or 64 bit)." +msgstr "" +"Для повністю автономного дистрибутива ви можете розповсюджувати програму " +"запуску з доданою програмою разом із \"вбудованим\" дистрибутивом Python. " +"Він працюватиме на будь-якому ПК з відповідною архітектурою (32- або 64-" +"розрядною)." + +msgid "Caveats" +msgstr "Застереження" + +msgid "" +"There are some limitations to the process of bundling your application into " +"a single file. In most, if not all, cases they can be addressed without " +"needing major changes to your application." +msgstr "" +"Існують певні обмеження щодо процесу об’єднання програми в один файл. У " +"більшості, якщо не у всіх, випадках їх можна вирішити без необхідності " +"серйозних змін у вашій заявці." + +msgid "" +"If your application depends on a package that includes a C extension, that " +"package cannot be run from a zip file (this is an OS limitation, as " +"executable code must be present in the filesystem for the OS loader to load " +"it). In this case, you can exclude that dependency from the zipfile, and " +"either require your users to have it installed, or ship it alongside your " +"zipfile and add code to your ``__main__.py`` to include the directory " +"containing the unzipped module in ``sys.path``. In this case, you will need " +"to make sure to ship appropriate binaries for your target architecture(s) " +"(and potentially pick the correct version to add to ``sys.path`` at runtime, " +"based on the user's machine)." +msgstr "" +"Якщо ваша програма залежить від пакета, який містить розширення C, цей пакет " +"не можна запустити з zip-файлу (це обмеження ОС, оскільки виконуваний код " +"має бути присутнім у файловій системі, щоб завантажувач ОС міг його " +"завантажити). У цьому випадку ви можете виключити цю залежність із zip-файлу " +"та вимагати, щоб ваші користувачі встановили його, або надіслати його разом " +"із zip-файлом і додати код до свого ``__main__.py``, щоб включити каталог, " +"що містить розархівований модуль, у ``sys.path``. У цьому випадку вам " +"потрібно буде переконатися, що надіслано відповідні двійкові файли для вашої " +"цільової архітектури (і, можливо, вибрати правильну версію для додавання до " +"``sys.path`` під час виконання, на основі комп’ютера користувача)." + +msgid "" +"If you are shipping a Windows executable as described above, you either need " +"to ensure that your users have ``python3.dll`` on their PATH (which is not " +"the default behaviour of the installer) or you should bundle your " +"application with the embedded distribution." +msgstr "" +"Якщо ви надсилаєте виконуваний файл Windows, як описано вище, вам потрібно " +"переконатися, що ваші користувачі мають ``python3.dll`` у своєму ШЛЯХУ (що " +"не є поведінкою інсталятора за замовчуванням), або ви повинні об’єднати свою " +"програму з вбудованим розподіл." + +msgid "" +"The suggested launcher above uses the Python embedding API. This means that " +"in your application, ``sys.executable`` will be your application, and *not* " +"a conventional Python interpreter. Your code and its dependencies need to " +"be prepared for this possibility. For example, if your application uses " +"the :mod:`multiprocessing` module, it will need to call :func:" +"`multiprocessing.set_executable` to let the module know where to find the " +"standard Python interpreter." +msgstr "" +"Запропонований вище засіб запуску використовує API вбудовування Python. Це " +"означає, що у вашій програмі ``sys.executable`` буде вашою програмою, а *не* " +"звичайним інтерпретатором Python. Ваш код і його залежності мають бути " +"готові до такої можливості. Наприклад, якщо ваша програма використовує " +"модуль :mod:`multiprocessing`, їй потрібно буде викликати :func:" +"`multiprocessing.set_executable`, щоб повідомити модулю, де знайти " +"стандартний інтерпретатор Python." + +msgid "The Python Zip Application Archive Format" +msgstr "Формат архіву програми Python Zip" + +msgid "" +"Python has been able to execute zip files which contain a ``__main__.py`` " +"file since version 2.6. In order to be executed by Python, an application " +"archive simply has to be a standard zip file containing a ``__main__.py`` " +"file which will be run as the entry point for the application. As usual for " +"any Python script, the parent of the script (in this case the zip file) will " +"be placed on :data:`sys.path` and thus further modules can be imported from " +"the zip file." +msgstr "" +"З версії 2.6 Python може виконувати файли zip, які містять файл ``__main__." +"py``. Для виконання Python архів програми просто має бути стандартним zip-" +"файлом, що містить файл ``__main__.py``, який буде запущено як точка входу " +"для програми. Як зазвичай для будь-якого сценарію Python, батьківський " +"сценарій (у цьому випадку zip-файл) буде розміщено в :data:`sys.path` і, " +"таким чином, інші модулі можуть бути імпортовані з zip-файлу." + +msgid "" +"The zip file format allows arbitrary data to be prepended to a zip file. " +"The zip application format uses this ability to prepend a standard POSIX " +"\"shebang\" line to the file (``#!/path/to/interpreter``)." +msgstr "" +"Формат файлу zip дозволяє додавати довільні дані до файлу zip. Формат " +"програми zip використовує цю можливість для додавання до файлу стандартного " +"рядка POSIX \"shebang\" (``#!/path/to/interpreter``)." + +msgid "Formally, the Python zip application format is therefore:" +msgstr "Формально формат програми Python zip є таким:" + +msgid "" +"An optional shebang line, containing the characters ``b'#!'`` followed by an " +"interpreter name, and then a newline (``b'\\n'``) character. The " +"interpreter name can be anything acceptable to the OS \"shebang\" " +"processing, or the Python launcher on Windows. The interpreter should be " +"encoded in UTF-8 on Windows, and in :func:`sys.getfilesystemencoding()` on " +"POSIX." +msgstr "" +"Додатковий рядок shebang, що містить символи ``b'#!'``, за якими йде ім'я " +"інтерпретатора, а потім символ нового рядка (``b'\\n'``). Ім’я " +"інтерпретатора може бути будь-яким, прийнятним для обробки \"shebang\" ОС " +"або засобу запуску Python у Windows. Інтерпретатор має бути закодований у " +"UTF-8 у Windows та у :func:`sys.getfilesystemencoding()` у POSIX." + +msgid "" +"Standard zipfile data, as generated by the :mod:`zipfile` module. The " +"zipfile content *must* include a file called ``__main__.py`` (which must be " +"in the \"root\" of the zipfile - i.e., it cannot be in a subdirectory). The " +"zipfile data can be compressed or uncompressed." +msgstr "" +"Стандартні дані файлу zip, згенеровані модулем :mod:`zipfile`. Вміст zip-" +"файлу *має* включати файл під назвою ``__main__.py`` (який має бути в " +"\"корені\" zip-файлу, тобто не може бути у підкаталозі). Дані файлу zip " +"можна стиснути або розпакувати." + +msgid "" +"If an application archive has a shebang line, it may have the executable bit " +"set on POSIX systems, to allow it to be executed directly." +msgstr "" +"Якщо в архіві програми є рядок shebang, він може мати біт виконуваного " +"файлу, встановлений у системах POSIX, щоб дозволити його виконання " +"безпосередньо." + +msgid "" +"There is no requirement that the tools in this module are used to create " +"application archives - the module is a convenience, but archives in the " +"above format created by any means are acceptable to Python." +msgstr "" +"Немає вимог, щоб інструменти в цьому модулі використовувалися для створення " +"архівів програми - модуль є зручним, але архіви у вищезазначеному форматі, " +"створені будь-якими засобами, прийнятні для Python." diff --git a/library/zipfile.po b/library/zipfile.po new file mode 100644 index 000000000..5c0187c96 --- /dev/null +++ b/library/zipfile.po @@ -0,0 +1,1203 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`zipfile` --- Work with ZIP archives" +msgstr ":mod:`zipfile` --- Робота з ZIP-архівами" + +msgid "**Source code:** :source:`Lib/zipfile.py`" +msgstr "**Вихідний код:** :source:`Lib/zipfile.py`" + +msgid "" +"The ZIP file format is a common archive and compression standard. This " +"module provides tools to create, read, write, append, and list a ZIP file. " +"Any advanced use of this module will require an understanding of the format, " +"as defined in `PKZIP Application Note`_." +msgstr "" +"Формат файлу ZIP є загальним стандартом архівування та стиснення. Цей модуль " +"надає інструменти для створення, читання, запису, додавання та списку ZIP-" +"файлів. Будь-яке розширене використання цього модуля вимагатиме розуміння " +"формату, як визначено в `Примітці до програми PKZIP`_." + +msgid "" +"This module does not currently handle multi-disk ZIP files. It can handle " +"ZIP files that use the ZIP64 extensions (that is ZIP files that are more " +"than 4 GiB in size). It supports decryption of encrypted files in ZIP " +"archives, but it currently cannot create an encrypted file. Decryption is " +"extremely slow as it is implemented in native Python rather than C." +msgstr "" +"Цей модуль наразі не обробляє багатодискові файли ZIP. Він може обробляти " +"ZIP-файли, які використовують розширення ZIP64 (тобто ZIP-файли розміром " +"понад 4 ГБ). Він підтримує розшифровку зашифрованих файлів у ZIP-архівах, " +"але наразі не може створити зашифрований файл. Дешифрування надзвичайно " +"повільне, оскільки воно реалізовано на рідному Python, а не на C." + +msgid "The module defines the following items:" +msgstr "Модуль визначає такі елементи:" + +msgid "The error raised for bad ZIP files." +msgstr "Помилка виникає через погані файли ZIP." + +msgid "" +"Alias of :exc:`BadZipFile`, for compatibility with older Python versions." +msgstr "" +"Псевдонім :exc:`BadZipFile` для сумісності зі старішими версіями Python." + +msgid "" +"The error raised when a ZIP file would require ZIP64 functionality but that " +"has not been enabled." +msgstr "" +"Помилка виникає, коли ZIP-файл вимагає функції ZIP64, але її не ввімкнено." + +msgid "" +"The class for reading and writing ZIP files. See section :ref:`zipfile-" +"objects` for constructor details." +msgstr "" +"Клас для читання та запису ZIP-файлів. Перегляньте розділ :ref:`zipfile-" +"objects` для деталей конструктора." + +msgid "" +"A pathlib-compatible wrapper for zip files. See section :ref:`path-objects` " +"for details." +msgstr "" +"Сумісна з pathlib оболонка для zip-файлів. Перегляньте розділ :ref:`path-" +"objects` для деталей." + +msgid "Class for creating ZIP archives containing Python libraries." +msgstr "Клас для створення ZIP-архівів, що містять бібліотеки Python." + +msgid "" +"Class used to represent information about a member of an archive. Instances " +"of this class are returned by the :meth:`.getinfo` and :meth:`.infolist` " +"methods of :class:`ZipFile` objects. Most users of the :mod:`zipfile` " +"module will not need to create these, but only use those created by this " +"module. *filename* should be the full name of the archive member, and " +"*date_time* should be a tuple containing six fields which describe the time " +"of the last modification to the file; the fields are described in section :" +"ref:`zipinfo-objects`." +msgstr "" +"Клас, який використовується для представлення інформації про члена архіву. " +"Екземпляри цього класу повертаються методами :meth:`.getinfo` і :meth:`." +"infolist` об’єктів :class:`ZipFile`. Більшості користувачів модуля :mod:" +"`zipfile` не потрібно їх створювати, а використовувати лише ті, що створені " +"цим модулем. *filename* має бути повним ім’ям члена архіву, а *date_time* " +"має бути кортежем, що містить шість полів, які описують час останньої зміни " +"файлу; поля описані в розділі :ref:`zipinfo-objects`." + +msgid "" +"Returns ``True`` if *filename* is a valid ZIP file based on its magic " +"number, otherwise returns ``False``. *filename* may be a file or file-like " +"object too." +msgstr "" +"Повертає ``True``, якщо *filename* є дійсним ZIP-файлом на основі його " +"магічного числа, інакше повертає ``False``. *ім’я файлу* також може бути " +"файлом або файлоподібним об’єктом." + +msgid "Support for file and file-like objects." +msgstr "Підтримка файлів і файлоподібних об'єктів." + +msgid "The numeric constant for an uncompressed archive member." +msgstr "Числова константа для нестисненого члена архіву." + +msgid "" +"The numeric constant for the usual ZIP compression method. This requires " +"the :mod:`zlib` module." +msgstr "" +"Числова константа для звичайного методу стиснення ZIP. Для цього потрібен " +"модуль :mod:`zlib`." + +msgid "" +"The numeric constant for the BZIP2 compression method. This requires the :" +"mod:`bz2` module." +msgstr "" +"Числова константа для методу стиснення BZIP2. Для цього потрібен модуль :mod:" +"`bz2`." + +msgid "" +"The numeric constant for the LZMA compression method. This requires the :" +"mod:`lzma` module." +msgstr "" +"Числова константа для методу стиснення LZMA. Для цього потрібен модуль :mod:" +"`lzma`." + +msgid "" +"The ZIP file format specification has included support for bzip2 compression " +"since 2001, and for LZMA compression since 2006. However, some tools " +"(including older Python releases) do not support these compression methods, " +"and may either refuse to process the ZIP file altogether, or fail to extract " +"individual files." +msgstr "" +"Специфікація формату файлу ZIP включає підтримку стиснення bzip2 з 2001 року " +"та стиснення LZMA з 2006 року. Однак деякі інструменти (включаючи старіші " +"випуски Python) не підтримують ці методи стиснення та можуть взагалі " +"відмовитися обробляти файл ZIP або не вдається видобути окремі файли." + +msgid "`PKZIP Application Note`_" +msgstr "`Примітка до програми PKZIP`_" + +msgid "" +"Documentation on the ZIP file format by Phil Katz, the creator of the format " +"and algorithms used." +msgstr "" +"Документація щодо формату файлу ZIP від Філа Каца, творця формату та " +"використаних алгоритмів." + +msgid "`Info-ZIP Home Page `_" +msgstr "`Домашня сторінка Info-ZIP `_" + +msgid "" +"Information about the Info-ZIP project's ZIP archive programs and " +"development libraries." +msgstr "" +"Інформація про програми ZIP-архівів та бібліотеки розробки проекту Info-ZIP." + +msgid "ZipFile Objects" +msgstr "Об’єкти ZipFile" + +msgid "" +"Open a ZIP file, where *file* can be a path to a file (a string), a file-" +"like object or a :term:`path-like object`." +msgstr "" +"Відкрийте файл ZIP, де *file* може бути шляхом до файлу (рядком), " +"файлоподібним об’єктом або :term:`path-like object`." + +msgid "" +"The *mode* parameter should be ``'r'`` to read an existing file, ``'w'`` to " +"truncate and write a new file, ``'a'`` to append to an existing file, or " +"``'x'`` to exclusively create and write a new file. If *mode* is ``'x'`` and " +"*file* refers to an existing file, a :exc:`FileExistsError` will be raised. " +"If *mode* is ``'a'`` and *file* refers to an existing ZIP file, then " +"additional files are added to it. If *file* does not refer to a ZIP file, " +"then a new ZIP archive is appended to the file. This is meant for adding a " +"ZIP archive to another file (such as :file:`python.exe`). If *mode* is " +"``'a'`` and the file does not exist at all, it is created. If *mode* is " +"``'r'`` or ``'a'``, the file should be seekable." +msgstr "" +"Параметр *mode* має бути ``'r'`` для читання існуючого файлу, ``'w'`` для " +"скорочення та запису нового файлу, ``'a'`` для додавання до існуючого файлу " +"або ``'x''``, щоб створити та записати новий файл виключно. Якщо *mode* має " +"значення ``'x'`` і *file* посилається на існуючий файл, буде викликано :exc:" +"`FileExistsError`. Якщо *mode* має значення ``'a'`` і *file* посилається на " +"існуючий ZIP-файл, то до нього додаються додаткові файли. Якщо *файл* не " +"відноситься до файлу ZIP, тоді до файлу додається новий архів ZIP. Це " +"призначено для додавання архіву ZIP до іншого файлу (наприклад, :file:" +"`python.exe`). Якщо *mode* має значення ``'a'`` і файл взагалі не існує, він " +"буде створений. Якщо *mode* має значення ``'r'`` або ``'a'``, файл має бути " +"доступним для пошуку." + +msgid "" +"*compression* is the ZIP compression method to use when writing the archive, " +"and should be :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " +"or :const:`ZIP_LZMA`; unrecognized values will cause :exc:" +"`NotImplementedError` to be raised. If :const:`ZIP_DEFLATED`, :const:" +"`ZIP_BZIP2` or :const:`ZIP_LZMA` is specified but the corresponding module (:" +"mod:`zlib`, :mod:`bz2` or :mod:`lzma`) is not available, :exc:`RuntimeError` " +"is raised. The default is :const:`ZIP_STORED`." +msgstr "" +"*стиснення* — це метод стиснення ZIP, який використовується під час запису " +"архіву, і має бути :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:" +"`ZIP_BZIP2` або :const:`ZIP_LZMA`; нерозпізнані значення призведуть до " +"появи :exc:`NotImplementedError`. Якщо вказано :const:`ZIP_DEFLATED`, :const:" +"`ZIP_BZIP2` або :const:`ZIP_LZMA`, але відповідний модуль (:mod:`zlib`, :mod:" +"`bz2` або :mod:`lzma`) недоступний, виникає :exc:`RuntimeError`. Типовим є :" +"const:`ZIP_STORED`." + +msgid "" +"If *allowZip64* is ``True`` (the default) zipfile will create ZIP files that " +"use the ZIP64 extensions when the zipfile is larger than 4 GiB. If it is " +"``false`` :mod:`zipfile` will raise an exception when the ZIP file would " +"require ZIP64 extensions." +msgstr "" +"Якщо *allowZip64* має значення ``True`` (за замовчуванням), zipfile " +"створюватиме ZIP-файли з розширеннями ZIP64, якщо розмір zip-файлу перевищує " +"4 ГБ. Якщо значення ``false``, :mod:`zipfile` викличе виняток, коли файл ZIP " +"вимагатиме розширення ZIP64." + +msgid "" +"The *compresslevel* parameter controls the compression level to use when " +"writing files to the archive. When using :const:`ZIP_STORED` or :const:" +"`ZIP_LZMA` it has no effect. When using :const:`ZIP_DEFLATED` integers ``0`` " +"through ``9`` are accepted (see :class:`zlib ` for more " +"information). When using :const:`ZIP_BZIP2` integers ``1`` through ``9`` are " +"accepted (see :class:`bz2 ` for more information)." +msgstr "" +"Параметр *compresslevel* керує рівнем стиснення, який використовується під " +"час запису файлів до архіву. Якщо використовується :const:`ZIP_STORED` або :" +"const:`ZIP_LZMA`, це не впливає. При використанні :const:`ZIP_DEFLATED` " +"приймаються цілі числа від ``0`` до ``9`` (див. :class:`zlib ` для отримання додаткової інформації). При використанні :const:" +"`ZIP_BZIP2` приймаються цілі числа від ``1`` до ``9`` (див. :class:`bz2 ` для отримання додаткової інформації)." + +msgid "" +"The *strict_timestamps* argument, when set to ``False``, allows to zip files " +"older than 1980-01-01 at the cost of setting the timestamp to 1980-01-01. " +"Similar behavior occurs with files newer than 2107-12-31, the timestamp is " +"also set to the limit." +msgstr "" +"Аргумент *strict_timestamps*, коли встановлено значення ``False``, дозволяє " +"заархівувати файли, старіші за 1980-01-01, ціною встановлення позначки часу " +"на 1980-01-01. Подібна поведінка відбувається з файлами, новішими за " +"2107-12-31, мітка часу також встановлена на обмеження." + +msgid "" +"When mode is ``'r'``, *metadata_encoding* may be set to the name of a codec, " +"which will be used to decode metadata such as the names of members and ZIP " +"comments." +msgstr "" + +msgid "" +"If the file is created with mode ``'w'``, ``'x'`` or ``'a'`` and then :meth:" +"`closed ` without adding any files to the archive, the appropriate " +"ZIP structures for an empty archive will be written to the file." +msgstr "" +"Якщо файл створено в режимі ``'w'``, ``'x'`` або ``'a'``, а потім :meth:" +"`закрив ` без додавання файлів до архіву, відповідний ZIP структури " +"для порожнього архіву будуть записані у файл." + +msgid "" +"ZipFile is also a context manager and therefore supports the :keyword:`with` " +"statement. In the example, *myzip* is closed after the :keyword:`!with` " +"statement's suite is finished---even if an exception occurs::" +msgstr "" +"ZipFile також є контекстним менеджером і тому підтримує оператор :keyword:" +"`with`. У цьому прикладі *myzip* закривається після завершення набору " +"операторів :keyword:`!with` --- навіть якщо виникає виняток:" + +msgid "" +"*metadata_encoding* is an instance-wide setting for the ZipFile. It is not " +"currently possible to set this on a per-member basis." +msgstr "" + +msgid "" +"This attribute is a workaround for legacy implementations which produce " +"archives with names in the current locale encoding or code page (mostly on " +"Windows). According to the .ZIP standard, the encoding of metadata may be " +"specified to be either IBM code page (default) or UTF-8 by a flag in the " +"archive header. That flag takes precedence over *metadata_encoding*, which " +"is a Python-specific extension." +msgstr "" + +msgid "Added the ability to use :class:`ZipFile` as a context manager." +msgstr "" +"Додано можливість використовувати :class:`ZipFile` як контекстний менеджер." + +msgid "Added support for :mod:`bzip2 ` and :mod:`lzma` compression." +msgstr "Додано підтримку стиснення :mod:`bzip2 ` і :mod:`lzma`." + +msgid "ZIP64 extensions are enabled by default." +msgstr "Розширення ZIP64 увімкнено за замовчуванням." + +msgid "" +"Added support for writing to unseekable streams. Added support for the " +"``'x'`` mode." +msgstr "" +"Додано підтримку запису в потоки, які неможливо шукати. Додано підтримку " +"режиму ``'x''``." + +msgid "" +"Previously, a plain :exc:`RuntimeError` was raised for unrecognized " +"compression values." +msgstr "" +"Раніше звичайна помилка :exc:`RuntimeError` виникала для нерозпізнаних " +"значень стиснення." + +msgid "The *file* parameter accepts a :term:`path-like object`." +msgstr "Параметр *file* приймає :term:`path-like object`." + +msgid "Add the *compresslevel* parameter." +msgstr "Додайте параметр *compresslevel*." + +msgid "The *strict_timestamps* keyword-only argument" +msgstr "Аргумент *strict_timestamps* лише для ключового слова" + +msgid "" +"Added support for specifying member name encoding for reading metadata in " +"the zipfile's directory and file headers." +msgstr "" + +msgid "" +"Close the archive file. You must call :meth:`close` before exiting your " +"program or essential records will not be written." +msgstr "" +"Закрийте архівний файл. Ви повинні викликати :meth:`close` перед виходом із " +"програми, інакше важливі записи не будуть записані." + +msgid "" +"Return a :class:`ZipInfo` object with information about the archive member " +"*name*. Calling :meth:`getinfo` for a name not currently contained in the " +"archive will raise a :exc:`KeyError`." +msgstr "" +"Повертає об’єкт :class:`ZipInfo` з інформацією про *ім’я* члена архіву. " +"Виклик :meth:`getinfo` для імені, яке наразі не міститься в архіві, викличе :" +"exc:`KeyError`." + +msgid "" +"Return a list containing a :class:`ZipInfo` object for each member of the " +"archive. The objects are in the same order as their entries in the actual " +"ZIP file on disk if an existing archive was opened." +msgstr "" +"Повертає список, що містить об’єкт :class:`ZipInfo` для кожного члена " +"архіву. Об’єкти розташовані в тому самому порядку, що й їхні записи у " +"фактичному файлі ZIP на диску, якщо було відкрито існуючий архів." + +msgid "Return a list of archive members by name." +msgstr "Повернути список учасників архіву за іменами." + +msgid "" +"Access a member of the archive as a binary file-like object. *name* can be " +"either the name of a file within the archive or a :class:`ZipInfo` object. " +"The *mode* parameter, if included, must be ``'r'`` (the default) or " +"``'w'``. *pwd* is the password used to decrypt encrypted ZIP files." +msgstr "" +"Доступ до члена архіву як до бінарного файлоподібного об’єкта. *name* може " +"бути або назвою файлу в архіві, або об’єктом :class:`ZipInfo`. Параметр " +"*mode*, якщо його включено, має бути ``'r'`` (за замовчуванням) або ``'w'``. " +"*pwd* — це пароль, який використовується для розшифровки зашифрованих файлів " +"ZIP." + +msgid "" +":meth:`~ZipFile.open` is also a context manager and therefore supports the :" +"keyword:`with` statement::" +msgstr "" +":meth:`~ZipFile.open` також є контекстним менеджером і тому підтримує " +"оператор :keyword:`with`::" + +msgid "" +"With *mode* ``'r'`` the file-like object (``ZipExtFile``) is read-only and " +"provides the following methods: :meth:`~io.BufferedIOBase.read`, :meth:`~io." +"IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io.IOBase.seek`, :" +"meth:`~io.IOBase.tell`, :meth:`__iter__`, :meth:`~iterator.__next__`. These " +"objects can operate independently of the ZipFile." +msgstr "" +"У *mode* ``'r'`` файлоподібний об'єкт (``ZipExtFile``) доступний лише для " +"читання та надає такі методи: :meth:`~io.BufferedIOBase.read`, :meth:`~io." +"IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io.IOBase.seek`, :" +"meth:`~io.IOBase.tell`, :meth:`__iter__`, :meth:`~iterator.__next__`. Ці " +"об’єкти можуть працювати незалежно від ZipFile." + +msgid "" +"With ``mode='w'``, a writable file handle is returned, which supports the :" +"meth:`~io.BufferedIOBase.write` method. While a writable file handle is " +"open, attempting to read or write other files in the ZIP file will raise a :" +"exc:`ValueError`." +msgstr "" +"За допомогою ``mode='w'`` повертається записуваний дескриптор файлу, який " +"підтримує метод :meth:`~io.BufferedIOBase.write`. Поки дескриптор файлу з " +"доступом до запису відкритий, спроба прочитати або записати інші файли в ZIP-" +"файл викличе :exc:`ValueError`." + +msgid "" +"When writing a file, if the file size is not known in advance but may exceed " +"2 GiB, pass ``force_zip64=True`` to ensure that the header format is capable " +"of supporting large files. If the file size is known in advance, construct " +"a :class:`ZipInfo` object with :attr:`~ZipInfo.file_size` set, and use that " +"as the *name* parameter." +msgstr "" +"Під час запису файлу, якщо розмір файлу невідомий заздалегідь, але може " +"перевищувати 2 ГіБ, передайте ``force_zip64=True``, щоб переконатися, що " +"формат заголовка підтримує великі файли. Якщо розмір файлу відомий " +"заздалегідь, створіть об’єкт :class:`ZipInfo` з набором :attr:`~ZipInfo." +"file_size` і використовуйте це як параметр *name*." + +msgid "" +"The :meth:`.open`, :meth:`read` and :meth:`extract` methods can take a " +"filename or a :class:`ZipInfo` object. You will appreciate this when trying " +"to read a ZIP file that contains members with duplicate names." +msgstr "" +"Методи :meth:`.open`, :meth:`read` і :meth:`extract` можуть приймати назву " +"файлу або об’єкт :class:`ZipInfo`. Ви оціните це, коли спробуєте прочитати " +"ZIP-файл, який містить учасників із повторюваними іменами." + +msgid "" +"Removed support of ``mode='U'``. Use :class:`io.TextIOWrapper` for reading " +"compressed text files in :term:`universal newlines` mode." +msgstr "" +"Вилучено підтримку ``mode='U'``. Використовуйте :class:`io.TextIOWrapper` " +"для читання стиснених текстових файлів у режимі :term:`universal newlines`." + +msgid "" +":meth:`ZipFile.open` can now be used to write files into the archive with " +"the ``mode='w'`` option." +msgstr "" +":meth:`ZipFile.open` тепер можна використовувати для запису файлів в архів " +"за допомогою параметра ``mode='w'``." + +msgid "" +"Calling :meth:`.open` on a closed ZipFile will raise a :exc:`ValueError`. " +"Previously, a :exc:`RuntimeError` was raised." +msgstr "" +"Виклик :meth:`.open` для закритого ZipFile викличе :exc:`ValueError`. Раніше " +"виникала помилка :exc:`RuntimeError`." + +msgid "" +"Extract a member from the archive to the current working directory; *member* " +"must be its full name or a :class:`ZipInfo` object. Its file information is " +"extracted as accurately as possible. *path* specifies a different directory " +"to extract to. *member* can be a filename or a :class:`ZipInfo` object. " +"*pwd* is the password used for encrypted files." +msgstr "" +"Витягти член з архіву в поточний робочий каталог; *member* має бути його " +"повним ім’ям або об’єктом :class:`ZipInfo`. Інформація про його файл " +"витягується якомога точніше. *шлях* вказує інший каталог, куди потрібно " +"розпакувати. *member* може бути назвою файлу або об’єктом :class:`ZipInfo`. " +"*pwd* — це пароль для зашифрованих файлів." + +msgid "Returns the normalized path created (a directory or new file)." +msgstr "Повертає створений нормалізований шлях (каталог або новий файл)." + +msgid "" +"If a member filename is an absolute path, a drive/UNC sharepoint and leading " +"(back)slashes will be stripped, e.g.: ``///foo/bar`` becomes ``foo/bar`` on " +"Unix, and ``C:\\foo\\bar`` becomes ``foo\\bar`` on Windows. And all ``\".." +"\"`` components in a member filename will be removed, e.g.: ``../../foo../../" +"ba..r`` becomes ``foo../ba..r``. On Windows illegal characters (``:``, " +"``<``, ``>``, ``|``, ``\"``, ``?``, and ``*``) replaced by underscore " +"(``_``)." +msgstr "" +"Якщо ім’я файлу-члена є абсолютним шляхом, точку спільного використання " +"диска/UNC і початкові (зворотні) скісні риски буде видалено, наприклад: ``///" +"foo/bar`` стане ``foo/bar`` в Unix, а ``C:\\foo\\bar`` стає ``foo\\bar`` у " +"Windows. І всі компоненти ``\"..\"`` в імені файлу-члена буде видалено, " +"наприклад: ``../../foo../../ba..r`` стане ``foo../ba ..r``. У Windows " +"неприпустимі символи (``:``, ``<``, ``>``, ``|``, ``\"``, ``?`` і ``*``) " +"замінено підкресленням (``_``)." + +msgid "" +"Calling :meth:`extract` on a closed ZipFile will raise a :exc:`ValueError`. " +"Previously, a :exc:`RuntimeError` was raised." +msgstr "" +"Виклик :meth:`extract` для закритого ZipFile викличе :exc:`ValueError`. " +"Раніше виникала помилка :exc:`RuntimeError`." + +msgid "The *path* parameter accepts a :term:`path-like object`." +msgstr "Параметр *path* приймає :term:`path-like object`." + +msgid "" +"Extract all members from the archive to the current working directory. " +"*path* specifies a different directory to extract to. *members* is optional " +"and must be a subset of the list returned by :meth:`namelist`. *pwd* is the " +"password used for encrypted files." +msgstr "" +"Витягніть усіх учасників з архіву в поточний робочий каталог. *шлях* вказує " +"інший каталог, куди потрібно розпакувати. *members* є необов’язковим і має " +"бути підмножиною списку, який повертає :meth:`namelist`. *pwd* — це пароль " +"для зашифрованих файлів." + +msgid "" +"Never extract archives from untrusted sources without prior inspection. It " +"is possible that files are created outside of *path*, e.g. members that have " +"absolute filenames starting with ``\"/\"`` or filenames with two dots ``\".." +"\"``. This module attempts to prevent that. See :meth:`extract` note." +msgstr "" +"Ніколи не витягуйте архіви з ненадійних джерел без попередньої перевірки. " +"Цілком можливо, що файли створюються поза *шляхом*, напр. члени, які мають " +"абсолютні імена файлів, що починаються з ``\"/\"`` або імена файлів з двома " +"крапками ``\"..\"``. Цей модуль намагається запобігти цьому. Дивіться " +"примітку :meth:`extract`." + +msgid "" +"Calling :meth:`extractall` on a closed ZipFile will raise a :exc:" +"`ValueError`. Previously, a :exc:`RuntimeError` was raised." +msgstr "" +"Виклик :meth:`extractall` для закритого ZipFile викличе :exc:`ValueError`. " +"Раніше виникала помилка :exc:`RuntimeError`." + +msgid "Print a table of contents for the archive to ``sys.stdout``." +msgstr "Роздрукуйте зміст архіву в ``sys.stdout``." + +msgid "Set *pwd* as default password to extract encrypted files." +msgstr "" +"Встановіть *pwd* як пароль за умовчанням для видобування зашифрованих файлів." + +msgid "" +"Return the bytes of the file *name* in the archive. *name* is the name of " +"the file in the archive, or a :class:`ZipInfo` object. The archive must be " +"open for read or append. *pwd* is the password used for encrypted files " +"and, if specified, it will override the default password set with :meth:" +"`setpassword`. Calling :meth:`read` on a ZipFile that uses a compression " +"method other than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:" +"`ZIP_BZIP2` or :const:`ZIP_LZMA` will raise a :exc:`NotImplementedError`. An " +"error will also be raised if the corresponding compression module is not " +"available." +msgstr "" +"Повернути байти *назви* файлу в архіві. *name* — це ім’я файлу в архіві або " +"об’єкт :class:`ZipInfo`. Архів має бути відкритим для читання або додавання. " +"*pwd* — це пароль, який використовується для зашифрованих файлів. Якщо його " +"вказати, він замінить пароль за замовчуванням, установлений за допомогою :" +"meth:`setpassword`. Виклик :meth:`read` для ZipFile, який використовує метод " +"стиснення, відмінний від :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:" +"`ZIP_BZIP2` або :const:`ZIP_LZMA`, призведе до появи :exc:" +"`NotImplementedError`. Помилка також виникне, якщо відповідний модуль " +"стиснення недоступний." + +msgid "" +"Calling :meth:`read` on a closed ZipFile will raise a :exc:`ValueError`. " +"Previously, a :exc:`RuntimeError` was raised." +msgstr "" +"Виклик :meth:`read` для закритого ZipFile викличе :exc:`ValueError`. Раніше " +"виникала помилка :exc:`RuntimeError`." + +msgid "" +"Read all the files in the archive and check their CRC's and file headers. " +"Return the name of the first bad file, or else return ``None``." +msgstr "" +"Прочитайте всі файли в архіві та перевірте їх CRC і заголовки файлів. " +"Повертає назву першого несправного файлу або повертає ``None``." + +msgid "" +"Calling :meth:`testzip` on a closed ZipFile will raise a :exc:`ValueError`. " +"Previously, a :exc:`RuntimeError` was raised." +msgstr "" +"Виклик :meth:`testzip` для закритого ZipFile викличе :exc:`ValueError`. " +"Раніше виникала помилка :exc:`RuntimeError`." + +msgid "" +"Write the file named *filename* to the archive, giving it the archive name " +"*arcname* (by default, this will be the same as *filename*, but without a " +"drive letter and with leading path separators removed). If given, " +"*compress_type* overrides the value given for the *compression* parameter to " +"the constructor for the new entry. Similarly, *compresslevel* will override " +"the constructor if given. The archive must be open with mode ``'w'``, " +"``'x'`` or ``'a'``." +msgstr "" +"Запишіть файл із назвою *filename* в архів, присвоївши йому ім’я архіву " +"*arcname* (за замовчуванням це буде те саме, що *filename*, але без літери " +"диска та з видаленими роздільниками шляху на початку). Якщо задано, " +"*compress_type* замінює значення, надане для параметра *compression* у " +"конструкторі для нового запису. Подібним чином *compresslevel* замінить " +"конструктор, якщо він заданий. Архів має бути відкритий у режимі ``'w'``, " +"``'x'`` або ``'a'``." + +msgid "" +"The ZIP file standard historically did not specify a metadata encoding, but " +"strongly recommended CP437 (the original IBM PC encoding) for " +"interoperability. Recent versions allow use of UTF-8 (only). In this " +"module, UTF-8 will automatically be used to write the member names if they " +"contain any non-ASCII characters. It is not possible to write member names " +"in any encoding other than ASCII or UTF-8." +msgstr "" + +msgid "" +"Archive names should be relative to the archive root, that is, they should " +"not start with a path separator." +msgstr "" +"Імена архівів мають бути відносними до кореня архіву, тобто вони не повинні " +"починатися з роздільника шляху." + +msgid "" +"If ``arcname`` (or ``filename``, if ``arcname`` is not given) contains a " +"null byte, the name of the file in the archive will be truncated at the null " +"byte." +msgstr "" +"Якщо ``arcname`` (або ``filename``, якщо ``arcname`` не вказано) містить " +"нульовий байт, ім’я файлу в архіві буде скорочено на нульовий байт." + +msgid "" +"A leading slash in the filename may lead to the archive being impossible to " +"open in some zip programs on Windows systems." +msgstr "" +"Слеш на початку назви файлу може призвести до того, що архів буде неможливо " +"відкрити в деяких програмах zip у системах Windows." + +msgid "" +"Calling :meth:`write` on a ZipFile created with mode ``'r'`` or a closed " +"ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " +"was raised." +msgstr "" +"Виклик :meth:`write` для ZipFile, створеного в режимі ``'r'``, або закритого " +"ZipFile призведе до :exc:`ValueError`. Раніше виникала помилка :exc:" +"`RuntimeError`." + +msgid "" +"Write a file into the archive. The contents is *data*, which may be either " +"a :class:`str` or a :class:`bytes` instance; if it is a :class:`str`, it is " +"encoded as UTF-8 first. *zinfo_or_arcname* is either the file name it will " +"be given in the archive, or a :class:`ZipInfo` instance. If it's an " +"instance, at least the filename, date, and time must be given. If it's a " +"name, the date and time is set to the current date and time. The archive " +"must be opened with mode ``'w'``, ``'x'`` or ``'a'``." +msgstr "" +"Записати файл в архів. Вмістом є *дані*, які можуть бути екземпляром :class:" +"`str` або :class:`bytes`; якщо це :class:`str`, він спочатку кодується як " +"UTF-8. *zinfo_or_arcname* — це ім’я файлу, яке буде надано в архіві, або " +"екземпляр :class:`ZipInfo`. Якщо це екземпляр, потрібно вказати принаймні " +"назву файлу, дату та час. Якщо це ім’я, дата й час встановлюються на поточну " +"дату й час. Архів необхідно відкрити в режимі ``'w'``, ``'x'`` або ``'a'``." + +msgid "" +"If given, *compress_type* overrides the value given for the *compression* " +"parameter to the constructor for the new entry, or in the *zinfo_or_arcname* " +"(if that is a :class:`ZipInfo` instance). Similarly, *compresslevel* will " +"override the constructor if given." +msgstr "" +"Якщо задано, *compress_type* перевизначає значення, надане для параметра " +"*compression* у конструкторі для нового запису або в *zinfo_or_arcname* " +"(якщо це екземпляр :class:`ZipInfo`). Подібним чином *compresslevel* " +"замінить конструктор, якщо він заданий." + +msgid "" +"When passing a :class:`ZipInfo` instance as the *zinfo_or_arcname* " +"parameter, the compression method used will be that specified in the " +"*compress_type* member of the given :class:`ZipInfo` instance. By default, " +"the :class:`ZipInfo` constructor sets this member to :const:`ZIP_STORED`." +msgstr "" +"Під час передачі екземпляра :class:`ZipInfo` як параметра *zinfo_or_arcname* " +"буде використовуватися метод стиснення, указаний у члені *compress_type* " +"даного екземпляра :class:`ZipInfo`. За замовчуванням конструктор :class:" +"`ZipInfo` встановлює для цього елемента :const:`ZIP_STORED`." + +msgid "The *compress_type* argument." +msgstr "Аргумент *compress_type*." + +msgid "" +"Calling :meth:`writestr` on a ZipFile created with mode ``'r'`` or a closed " +"ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " +"was raised." +msgstr "" +"Виклик :meth:`writestr` для ZipFile, створеного в режимі ``'r'``, або " +"закритого ZipFile призведе до :exc:`ValueError`. Раніше виникала помилка :" +"exc:`RuntimeError`." + +msgid "" +"Create a directory inside the archive. If *zinfo_or_directory* is a string, " +"a directory is created inside the archive with the mode that is specified in " +"the *mode* argument. If, however, *zinfo_or_directory* is a :class:`ZipInfo` " +"instance then the *mode* argument is ignored." +msgstr "" + +msgid "The archive must be opened with mode ``'w'``, ``'x'`` or ``'a'``." +msgstr "" + +msgid "The following data attributes are also available:" +msgstr "Також доступні такі атрибути даних:" + +msgid "Name of the ZIP file." +msgstr "Назва ZIP-файлу." + +msgid "" +"The level of debug output to use. This may be set from ``0`` (the default, " +"no output) to ``3`` (the most output). Debugging information is written to " +"``sys.stdout``." +msgstr "" +"Рівень вихідних даних налагодження для використання. Це значення можна " +"встановити від ``0`` (за замовчуванням, без виводу) до ``3`` (найбільший " +"вивід). Інформація про налагодження записується в ``sys.stdout``." + +msgid "" +"The comment associated with the ZIP file as a :class:`bytes` object. If " +"assigning a comment to a :class:`ZipFile` instance created with mode " +"``'w'``, ``'x'`` or ``'a'``, it should be no longer than 65535 bytes. " +"Comments longer than this will be truncated." +msgstr "" +"Коментар, пов’язаний із ZIP-файлом як об’єкт :class:`bytes`. Якщо призначати " +"коментар екземпляру :class:`ZipFile`, створеному в режимі ``'w'``, ``'x'`` " +"або ``'a'``, він не повинен бути довшим за 65535 байт. Коментарі, довші за " +"цей, буде скорочено." + +msgid "Path Objects" +msgstr "Об'єкти шляху" + +msgid "" +"Construct a Path object from a ``root`` zipfile (which may be a :class:" +"`ZipFile` instance or ``file`` suitable for passing to the :class:`ZipFile` " +"constructor)." +msgstr "" +"Створіть об’єкт Path із ``кореневого`` zip-файлу (який може бути " +"екземпляром :class:`ZipFile` або ``file``, придатним для передачі в " +"конструктор :class:`ZipFile`)." + +msgid "" +"``at`` specifies the location of this Path within the zipfile, e.g. 'dir/" +"file.txt', 'dir/', or ''. Defaults to the empty string, indicating the root." +msgstr "" +"``at`` визначає розташування цього Шляху в zip-файлі, напр. 'dir/file.txt', " +"'dir/' або ''. За замовчуванням порожній рядок із зазначенням кореня." + +msgid "" +"Path objects expose the following features of :mod:`pathlib.Path` objects:" +msgstr "Об’єкти Path надають такі особливості об’єктів :mod:`pathlib.Path`:" + +msgid "Path objects are traversable using the ``/`` operator or ``joinpath``." +msgstr "" +"Об’єкти шляху можна пройти за допомогою оператора ``/`` або ``joinpath``." + +msgid "The final path component." +msgstr "Остаточний компонент шляху." + +msgid "" +"Invoke :meth:`ZipFile.open` on the current path. Allows opening for read or " +"write, text or binary through supported modes: 'r', 'w', 'rb', 'wb'. " +"Positional and keyword arguments are passed through to :class:`io." +"TextIOWrapper` when opened as text and ignored otherwise. ``pwd`` is the " +"``pwd`` parameter to :meth:`ZipFile.open`." +msgstr "" +"Викликати :meth:`ZipFile.open` на поточному шляху. Дозволяє відкривати для " +"читання чи запису, текстового чи двійкового файлу за допомогою підтримуваних " +"режимів: \"r\", \"w\", \"rb\", \"wb\". Позиційні та ключові аргументи " +"передаються до :class:`io.TextIOWrapper`, коли відкриваються як текст, і " +"ігноруються в інших випадках. ``pwd`` — це параметр ``pwd`` для :meth:" +"`ZipFile.open`." + +msgid "" +"Added support for text and binary modes for open. Default mode is now text." +msgstr "" +"Додано підтримку текстового та бінарного режимів для відкритого. Типовим " +"режимом тепер є текст." + +msgid "Enumerate the children of the current directory." +msgstr "Перелічіть дочірні елементи поточного каталогу." + +msgid "Return ``True`` if the current context references a directory." +msgstr "Повертає ``True``, якщо поточний контекст посилається на каталог." + +msgid "Return ``True`` if the current context references a file." +msgstr "Повертає ``True``, якщо поточний контекст посилається на файл." + +msgid "" +"Return ``True`` if the current context references a file or directory in the " +"zip file." +msgstr "" +"Повертає ``True``, якщо поточний контекст посилається на файл або каталог у " +"файлі zip." + +msgid "The file extension of the final component." +msgstr "" + +msgid "Added :data:`Path.suffix` property." +msgstr "" + +msgid "The final path component, without its suffix." +msgstr "" + +msgid "Added :data:`Path.stem` property." +msgstr "" + +msgid "A list of the path’s file extensions." +msgstr "" + +msgid "Added :data:`Path.suffixes` property." +msgstr "" + +msgid "" +"Read the current file as unicode text. Positional and keyword arguments are " +"passed through to :class:`io.TextIOWrapper` (except ``buffer``, which is " +"implied by the context)." +msgstr "" +"Читати поточний файл як текст Юнікод. Позиційні та ключові аргументи " +"передаються до :class:`io.TextIOWrapper` (за винятком ``buffer``, який " +"передбачається контекстом)." + +msgid "Read the current file as bytes." +msgstr "Читати поточний файл як байти." + +msgid "" +"Return a new Path object with each of the *other* arguments joined. The " +"following are equivalent::" +msgstr "" +"Повертає новий об’єкт Path із об’єднаними аргументами *other*. Наступні " +"еквівалентні:" + +msgid "" +"Prior to 3.10, ``joinpath`` was undocumented and accepted exactly one " +"parameter." +msgstr "" +"До 3.10 ``joinpath`` був незадокументованим і приймав лише один параметр." + +msgid "" +"The `zipp `_ project provides backports of " +"the latest path object functionality to older Pythons. Use ``zipp.Path`` in " +"place of ``zipfile.Path`` for early access to changes." +msgstr "" + +msgid "PyZipFile Objects" +msgstr "Об’єкти PyZipFile" + +msgid "" +"The :class:`PyZipFile` constructor takes the same parameters as the :class:" +"`ZipFile` constructor, and one additional parameter, *optimize*." +msgstr "" +"Конструктор :class:`PyZipFile` приймає ті самі параметри, що й конструктор :" +"class:`ZipFile`, і один додатковий параметр, *optimize*." + +msgid "The *optimize* parameter." +msgstr "Параметр *optimize*." + +msgid "" +"Instances have one method in addition to those of :class:`ZipFile` objects:" +msgstr "" +"Екземпляри мають один метод на додаток до методів об’єктів :class:`ZipFile`:" + +msgid "" +"Search for files :file:`\\*.py` and add the corresponding file to the " +"archive." +msgstr "Знайдіть файли :file:`\\*.py` і додайте відповідний файл до архіву." + +msgid "" +"If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, " +"the corresponding file is a :file:`\\*.pyc` file, compiling if necessary." +msgstr "" +"Якщо параметр *optimize* для :class:`PyZipFile` не було надано або ``-1``, " +"відповідний файл є файлом :file:`\\*.pyc`, який компілюється за потреби." + +msgid "" +"If the *optimize* parameter to :class:`PyZipFile` was ``0``, ``1`` or ``2``, " +"only files with that optimization level (see :func:`compile`) are added to " +"the archive, compiling if necessary." +msgstr "" +"Якщо параметр *optimize* для :class:`PyZipFile` був ``0``, ``1`` або ``2``, " +"лише файли з таким рівнем оптимізації (див. :func:`compile`) додаються до " +"архів, компілюючи при необхідності." + +msgid "" +"If *pathname* is a file, the filename must end with :file:`.py`, and just " +"the (corresponding :file:`\\*.pyc`) file is added at the top level (no path " +"information). If *pathname* is a file that does not end with :file:`.py`, " +"a :exc:`RuntimeError` will be raised. If it is a directory, and the " +"directory is not a package directory, then all the files :file:`\\*.pyc` are " +"added at the top level. If the directory is a package directory, then all :" +"file:`\\*.pyc` are added under the package name as a file path, and if any " +"subdirectories are package directories, all of these are added recursively " +"in sorted order." +msgstr "" +"Якщо *pathname* є файлом, ім’я файлу має закінчуватися на :file:`.py`, і " +"лише (відповідний :file:`\\*.pyc`) файл додається на верхньому рівні (без " +"інформації про шлях). Якщо *pathname* — це файл, який не закінчується на :" +"file:`.py`, виникне :exc:`RuntimeError`. Якщо це каталог, а каталог не є " +"каталогом пакунків, тоді всі файли :file:`\\*.pyc` додаються на верхньому " +"рівні. Якщо каталог є каталогом пакунків, то всі файли :file:`\\*.pyc` " +"додаються під назвою пакета як шлях до файлу, і якщо будь-які підкаталоги є " +"каталогами пакетів, усі вони додаються рекурсивно в порядку сортування." + +msgid "*basename* is intended for internal use only." +msgstr "*basename* призначено лише для внутрішнього використання." + +msgid "" +"*filterfunc*, if given, must be a function taking a single string argument. " +"It will be passed each path (including each individual full file path) " +"before it is added to the archive. If *filterfunc* returns a false value, " +"the path will not be added, and if it is a directory its contents will be " +"ignored. For example, if our test files are all either in ``test`` " +"directories or start with the string ``test_``, we can use a *filterfunc* to " +"exclude them::" +msgstr "" +"*filterfunc*, якщо задано, має бути функцією, яка приймає один рядковий " +"аргумент. Перед додаванням до архіву буде передано кожен шлях (включно з " +"кожним окремим повним шляхом до файлу). Якщо *filterfunc* повертає хибне " +"значення, шлях не буде додано, а якщо це каталог, його вміст " +"ігноруватиметься. Наприклад, якщо всі наші тестові файли знаходяться або в " +"каталогах ``test``, або починаються з рядка ``test_``, ми можемо використати " +"*filterfunc*, щоб виключити їх:" + +msgid "The :meth:`writepy` method makes archives with file names like this::" +msgstr "Метод :meth:`writepy` створює архіви з такими назвами файлів:" + +msgid "The *filterfunc* parameter." +msgstr "Параметр *filterfunc*." + +msgid "The *pathname* parameter accepts a :term:`path-like object`." +msgstr "Параметр *pathname* приймає :term:`path-like object`." + +msgid "Recursion sorts directory entries." +msgstr "Рекурсія сортує записи каталогу." + +msgid "ZipInfo Objects" +msgstr "Об'єкти ZipInfo" + +msgid "" +"Instances of the :class:`ZipInfo` class are returned by the :meth:`.getinfo` " +"and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " +"stores information about a single member of the ZIP archive." +msgstr "" +"Екземпляри класу :class:`ZipInfo` повертаються методами :meth:`.getinfo` і :" +"meth:`.infolist` об’єктів :class:`ZipFile`. Кожен об’єкт зберігає інформацію " +"про один член ZIP-архіву." + +msgid "" +"There is one classmethod to make a :class:`ZipInfo` instance for a " +"filesystem file:" +msgstr "" +"Існує один метод класу для створення екземпляра :class:`ZipInfo` для файлу " +"файлової системи:" + +msgid "" +"Construct a :class:`ZipInfo` instance for a file on the filesystem, in " +"preparation for adding it to a zip file." +msgstr "" +"Створіть екземпляр :class:`ZipInfo` для файлу у файловій системі, готуючись " +"до додавання його до файлу zip." + +msgid "*filename* should be the path to a file or directory on the filesystem." +msgstr "*ім’я файлу* має бути шляхом до файлу або каталогу у файловій системі." + +msgid "" +"If *arcname* is specified, it is used as the name within the archive. If " +"*arcname* is not specified, the name will be the same as *filename*, but " +"with any drive letter and leading path separators removed." +msgstr "" +"Якщо вказано *arcname*, воно використовується як ім’я в архіві. Якщо " +"*arcname* не вказано, ім’я буде таким самим, як *filename*, але з усією " +"літерою диска та роздільниками шляху на початку." + +msgid "The *filename* parameter accepts a :term:`path-like object`." +msgstr "Параметр *filename* приймає :term:`path-like object`." + +msgid "Instances have the following methods and attributes:" +msgstr "Екземпляри мають такі методи та атрибути:" + +msgid "Return ``True`` if this archive member is a directory." +msgstr "Повертає ``True``, якщо цей елемент архіву є каталогом." + +msgid "This uses the entry's name: directories should always end with ``/``." +msgstr "" +"Тут використовується назва запису: каталоги завжди мають закінчуватися на ``/" +"``." + +msgid "Name of the file in the archive." +msgstr "Назва файлу в архіві." + +msgid "" +"The time and date of the last modification to the archive member. This is a " +"tuple of six values:" +msgstr "" +"Час і дата останньої зміни учасника архіву. Це кортеж із шести значень:" + +msgid "Index" +msgstr "Індекс" + +msgid "Value" +msgstr "Значення" + +msgid "``0``" +msgstr "``0``" + +msgid "Year (>= 1980)" +msgstr "Рік (>= 1980)" + +msgid "``1``" +msgstr "``1``" + +msgid "Month (one-based)" +msgstr "Місяць (один)" + +msgid "``2``" +msgstr "``2``" + +msgid "Day of month (one-based)" +msgstr "День місяця (за першою основою)" + +msgid "``3``" +msgstr "``3``" + +msgid "Hours (zero-based)" +msgstr "Години (від нуля)" + +msgid "``4``" +msgstr "``4``" + +msgid "Minutes (zero-based)" +msgstr "Хвилини (від нуля)" + +msgid "``5``" +msgstr "``5``" + +msgid "Seconds (zero-based)" +msgstr "Секунди (від нуля)" + +msgid "The ZIP file format does not support timestamps before 1980." +msgstr "Формат файлу ZIP не підтримує мітки часу до 1980 року." + +msgid "Type of compression for the archive member." +msgstr "Тип стиснення для елемента архіву." + +msgid "Comment for the individual archive member as a :class:`bytes` object." +msgstr "Коментар для окремого елемента архіву як об’єкт :class:`bytes`." + +msgid "" +"Expansion field data. The `PKZIP Application Note`_ contains some comments " +"on the internal structure of the data contained in this :class:`bytes` " +"object." +msgstr "" +"Дані поля розширення. `Примітка до програми PKZIP`_ містить деякі коментарі " +"щодо внутрішньої структури даних, що містяться в цьому об'єкті :class:" +"`bytes`." + +msgid "System which created ZIP archive." +msgstr "Система, яка створила ZIP-архів." + +msgid "PKZIP version which created ZIP archive." +msgstr "Версія PKZIP, яка створила архів ZIP." + +msgid "PKZIP version needed to extract archive." +msgstr "Для розпакування архіву потрібна версія PKZIP." + +msgid "Must be zero." +msgstr "Має бути нуль." + +msgid "ZIP flag bits." +msgstr "Біти прапора ZIP." + +msgid "Volume number of file header." +msgstr "Номер тому заголовка файлу." + +msgid "Internal attributes." +msgstr "Внутрішні атрибути." + +msgid "External file attributes." +msgstr "Атрибути зовнішнього файлу." + +msgid "Byte offset to the file header." +msgstr "Байтовий зсув до заголовка файлу." + +msgid "CRC-32 of the uncompressed file." +msgstr "CRC-32 нестисненого файлу." + +msgid "Size of the compressed data." +msgstr "Розмір стислих даних." + +msgid "Size of the uncompressed file." +msgstr "Розмір нестиснутого файлу." + +msgid "Command-Line Interface" +msgstr "Інтерфейс командного рядка" + +msgid "" +"The :mod:`zipfile` module provides a simple command-line interface to " +"interact with ZIP archives." +msgstr "" +"Модуль :mod:`zipfile` забезпечує простий інтерфейс командного рядка для " +"взаємодії з ZIP-архівами." + +msgid "" +"If you want to create a new ZIP archive, specify its name after the :option:" +"`-c` option and then list the filename(s) that should be included:" +msgstr "" +"Якщо ви хочете створити новий ZIP-архів, укажіть його назву після параметра :" +"option:`-c`, а потім перелічіть імена файлів, які потрібно включити:" + +msgid "Passing a directory is also acceptable:" +msgstr "Передача каталогу також прийнятна:" + +msgid "" +"If you want to extract a ZIP archive into the specified directory, use the :" +"option:`-e` option:" +msgstr "" +"Якщо ви хочете розпакувати ZIP-архів у вказаний каталог, скористайтеся " +"параметром :option:`-e`:" + +msgid "For a list of the files in a ZIP archive, use the :option:`-l` option:" +msgstr "" +"Щоб отримати список файлів у ZIP-архіві, використовуйте параметр :option:`-" +"l`:" + +msgid "Command-line options" +msgstr "Параметри командного рядка" + +msgid "List files in a zipfile." +msgstr "Список файлів у zip-файлі." + +msgid "Create zipfile from source files." +msgstr "Створіть zip-файл із вихідних файлів." + +msgid "Extract zipfile into target directory." +msgstr "Розпакуйте zip-файл у цільовий каталог." + +msgid "Test whether the zipfile is valid or not." +msgstr "Перевірте, чи дійсний файл zip." + +msgid "" +"Specify encoding of member names for :option:`-l`, :option:`-e` and :option:" +"`-t`." +msgstr "" + +msgid "Decompression pitfalls" +msgstr "Підводні камені декомпресії" + +msgid "" +"The extraction in zipfile module might fail due to some pitfalls listed " +"below." +msgstr "" +"Видобуток у модулі zipfile може завершитися помилкою через деякі помилки, " +"перелічені нижче." + +msgid "From file itself" +msgstr "З самого файлу" + +msgid "" +"Decompression may fail due to incorrect password / CRC checksum / ZIP format " +"or unsupported compression method / decryption." +msgstr "" +"Декомпресія може не вдатися через неправильний пароль/контрольну суму CRC/" +"формат ZIP або непідтримуваний метод стиснення/дешифрування." + +msgid "File System limitations" +msgstr "Обмеження файлової системи" + +msgid "" +"Exceeding limitations on different file systems can cause decompression " +"failed. Such as allowable characters in the directory entries, length of the " +"file name, length of the pathname, size of a single file, and number of " +"files, etc." +msgstr "" +"Перевищення обмежень на різні файлові системи може призвести до збою " +"декомпресії. Наприклад, допустимі символи в записах каталогу, довжина імені " +"файлу, довжина шляху, розмір окремого файлу та кількість файлів тощо." + +msgid "Resources limitations" +msgstr "Обмеження ресурсів" + +msgid "" +"The lack of memory or disk volume would lead to decompression failed. For " +"example, decompression bombs (aka `ZIP bomb`_) apply to zipfile library that " +"can cause disk volume exhaustion." +msgstr "" +"Відсутність пам'яті або об'єму диска може призвести до збою декомпресії. " +"Наприклад, бомби декомпресії (також `ZIP-бомба`_) застосовуються до " +"бібліотеки zip-файлів, що може спричинити виснаження обсягу диска." + +msgid "Interruption" +msgstr "Переривання" + +msgid "" +"Interruption during the decompression, such as pressing control-C or killing " +"the decompression process may result in incomplete decompression of the " +"archive." +msgstr "" +"Переривання під час декомпресії, наприклад натискання клавіш Control-C або " +"припинення процесу декомпресії, може призвести до неповного розпакування " +"архіву." + +msgid "Default behaviors of extraction" +msgstr "Типова поведінка вилучення" + +msgid "" +"Not knowing the default extraction behaviors can cause unexpected " +"decompression results. For example, when extracting the same archive twice, " +"it overwrites files without asking." +msgstr "" +"Незнання поведінки вилучення за замовчуванням може призвести до неочікуваних " +"результатів декомпресії. Наприклад, якщо двічі розпаковувати той самий " +"архів, він перезаписує файли без запиту." diff --git a/library/zipimport.po b/library/zipimport.po new file mode 100644 index 000000000..a22f0cd62 --- /dev/null +++ b/library/zipimport.po @@ -0,0 +1,269 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`zipimport` --- Import modules from Zip archives" +msgstr ":mod:`zipimport` --- Імпортувати модулі з архівів Zip" + +msgid "**Source code:** :source:`Lib/zipimport.py`" +msgstr "**Вихідний код:** :source:`Lib/zipimport.py`" + +msgid "" +"This module adds the ability to import Python modules (:file:`\\*.py`, :file:" +"`\\*.pyc`) and packages from ZIP-format archives. It is usually not needed " +"to use the :mod:`zipimport` module explicitly; it is automatically used by " +"the built-in :keyword:`import` mechanism for :data:`sys.path` items that are " +"paths to ZIP archives." +msgstr "" +"Цей модуль додає можливість імпортувати модулі Python (:file:`\\*.py`, :file:" +"`\\*.pyc`) і пакети з архівів у форматі ZIP. Зазвичай явно не потрібно " +"використовувати модуль :mod:`zipimport`; він автоматично використовується " +"вбудованим механізмом :keyword:`import` для елементів :data:`sys.path`, які " +"є шляхами до архівів ZIP." + +msgid "" +"Typically, :data:`sys.path` is a list of directory names as strings. This " +"module also allows an item of :data:`sys.path` to be a string naming a ZIP " +"file archive. The ZIP archive can contain a subdirectory structure to " +"support package imports, and a path within the archive can be specified to " +"only import from a subdirectory. For example, the path :file:`example.zip/" +"lib/` would only import from the :file:`lib/` subdirectory within the " +"archive." +msgstr "" +"Як правило, :data:`sys.path` — це список імен каталогів у вигляді рядків. " +"Цей модуль також дозволяє елементу :data:`sys.path` бути рядком, що називає " +"архів ZIP-файлу. Архів ZIP може містити структуру підкаталогів для підтримки " +"імпорту пакунків, а шлях усередині архіву можна вказати лише для імпорту з " +"підкаталогу. Наприклад, шлях :file:`example.zip/lib/` імпортуватиметься лише " +"з підкаталогу :file:`lib/` в архіві." + +msgid "" +"Any files may be present in the ZIP archive, but importers are only invoked " +"for :file:`.py` and :file:`.pyc` files. ZIP import of dynamic modules (:" +"file:`.pyd`, :file:`.so`) is disallowed. Note that if an archive only " +"contains :file:`.py` files, Python will not attempt to modify the archive by " +"adding the corresponding :file:`.pyc` file, meaning that if a ZIP archive " +"doesn't contain :file:`.pyc` files, importing may be rather slow." +msgstr "" +"Будь-які файли можуть бути присутніми в ZIP-архіві, але імпортери " +"викликаються лише для файлів :file:`.py` і :file:`.pyc`. ZIP-імпорт " +"динамічних модулів (:file:`.pyd`, :file:`.so`) заборонено. Зауважте, що якщо " +"архів містить лише файли :file:`.py`, Python не намагатиметься змінити " +"архів, додавши відповідний файл :file:`.pyc`, тобто якщо архів ZIP не " +"містить :file:`.pyc` файли, імпортування може бути досить повільним." + +msgid "Previously, ZIP archives with an archive comment were not supported." +msgstr "Раніше ZIP-архіви з архівним коментарем не підтримувалися." + +msgid "" +"`PKZIP Application Note `_" +msgstr "" +"`Примітка до програми PKZIP `_" + +msgid "" +"Documentation on the ZIP file format by Phil Katz, the creator of the format " +"and algorithms used." +msgstr "" +"Документація щодо формату файлу ZIP від Філа Каца, творця формату та " +"використаних алгоритмів." + +msgid ":pep:`273` - Import Modules from Zip Archives" +msgstr ":pep:`273` - імпортувати модулі з Zip-архівів" + +msgid "" +"Written by James C. Ahlstrom, who also provided an implementation. Python " +"2.3 follows the specification in :pep:`273`, but uses an implementation " +"written by Just van Rossum that uses the import hooks described in :pep:" +"`302`." +msgstr "" +"Написав Джеймс К. Алстром, який також забезпечив реалізацію. Python 2.3 " +"відповідає специфікації в :pep:`273`, але використовує реалізацію, написану " +"Джастом ван Россумом, яка використовує хуки імпорту, описані в :pep:`302`." + +msgid ":mod:`importlib` - The implementation of the import machinery" +msgstr ":mod:`importlib` - Реалізація механізму імпорту" + +msgid "" +"Package providing the relevant protocols for all importers to implement." +msgstr "Пакет із відповідними протоколами для впровадження всім імпортерам." + +msgid "This module defines an exception:" +msgstr "Цей модуль визначає виняток:" + +msgid "" +"Exception raised by zipimporter objects. It's a subclass of :exc:" +"`ImportError`, so it can be caught as :exc:`ImportError`, too." +msgstr "" +"Виняток викликано об’єктами zipimporter. Це підклас :exc:`ImportError`, тому " +"його також можна перехопити як :exc:`ImportError`." + +msgid "zipimporter Objects" +msgstr "Об'єкти zipimporter" + +msgid ":class:`zipimporter` is the class for importing ZIP files." +msgstr ":class:`zipimporter` — це клас для імпорту ZIP-файлів." + +msgid "" +"Create a new zipimporter instance. *archivepath* must be a path to a ZIP " +"file, or to a specific path within a ZIP file. For example, an " +"*archivepath* of :file:`foo/bar.zip/lib` will look for modules in the :file:" +"`lib` directory inside the ZIP file :file:`foo/bar.zip` (provided that it " +"exists)." +msgstr "" +"Створіть новий екземпляр zipimporter. *архівний шлях* має бути шляхом до ZIP-" +"файлу або до певного шляху в ZIP-файлі. Наприклад, *архівний шлях* :file:" +"`foo/bar.zip/lib` шукатиме модулі в каталозі :file:`lib` всередині ZIP-" +"файлу :file:`foo/bar.zip` (за умови, що воно існує)." + +msgid "" +":exc:`ZipImportError` is raised if *archivepath* doesn't point to a valid " +"ZIP archive." +msgstr "" +":exc:`ZipImportError` виникає, якщо *архівний шлях* не вказує на дійсний " +"архів ZIP." + +msgid "" +"Implementation of :meth:`importlib.abc.Loader.create_module` that returns :" +"const:`None` to explicitly request the default semantics." +msgstr "" +"Реалізація :meth:`importlib.abc.Loader.create_module`, яка повертає :const:" +"`None` для явного запиту семантики за замовчуванням." + +msgid "Implementation of :meth:`importlib.abc.Loader.exec_module`." +msgstr "Реалізація :meth:`importlib.abc.Loader.exec_module`." + +msgid "An implementation of :meth:`importlib.abc.PathEntryFinder.find_loader`." +msgstr "Реалізація :meth:`importlib.abc.PathEntryFinder.find_loader`." + +msgid "Use :meth:`find_spec` instead." +msgstr "Замість цього використовуйте :meth:`find_spec`." + +msgid "" +"Search for a module specified by *fullname*. *fullname* must be the fully " +"qualified (dotted) module name. It returns the zipimporter instance itself " +"if the module was found, or :const:`None` if it wasn't. The optional *path* " +"argument is ignored---it's there for compatibility with the importer " +"protocol." +msgstr "" +"Шукайте модуль, указаний за *повним ім’ям*. *повне ім’я* має бути повним " +"ім’ям модуля (з крапками). Він повертає сам екземпляр zipimporter, якщо " +"модуль знайдено, або :const:`None`, якщо він не був знайдений. " +"Необов’язковий аргумент *path* ігнорується --- він існує для сумісності з " +"протоколом імпортера." + +msgid "An implementation of :meth:`importlib.abc.PathEntryFinder.find_spec`." +msgstr "Реалізація :meth:`importlib.abc.PathEntryFinder.find_spec`." + +msgid "" +"Return the code object for the specified module. Raise :exc:`ZipImportError` " +"if the module couldn't be imported." +msgstr "" +"Повертає об’єкт коду для зазначеного модуля. Викликати :exc:" +"`ZipImportError`, якщо модуль не вдалося імпортувати." + +msgid "" +"Return the data associated with *pathname*. Raise :exc:`OSError` if the file " +"wasn't found." +msgstr "" +"Повертає дані, пов’язані з *шляхом*. Викликати :exc:`OSError`, якщо файл не " +"знайдено." + +msgid ":exc:`IOError` used to be raised instead of :exc:`OSError`." +msgstr "Раніше викликалося :exc:`IOError` замість :exc:`OSError`." + +msgid "" +"Return the value ``__file__`` would be set to if the specified module was " +"imported. Raise :exc:`ZipImportError` if the module couldn't be imported." +msgstr "" +"Повернути значення ``__file__`` було б встановлено, якби вказаний модуль " +"було імпортовано. Викликати :exc:`ZipImportError`, якщо модуль не вдалося " +"імпортувати." + +msgid "" +"Return the source code for the specified module. Raise :exc:`ZipImportError` " +"if the module couldn't be found, return :const:`None` if the archive does " +"contain the module, but has no source for it." +msgstr "" +"Повернути вихідний код для вказаного модуля. Викликати :exc:" +"`ZipImportError`, якщо модуль не вдалося знайти, повернути :const:`None`, " +"якщо архів містить модуль, але не має джерела для нього." + +msgid "" +"Return ``True`` if the module specified by *fullname* is a package. Raise :" +"exc:`ZipImportError` if the module couldn't be found." +msgstr "" +"Повертає ``True``, якщо модуль, визначений *повним ім’ям*, є пакетом. " +"Викликати :exc:`ZipImportError`, якщо модуль не вдалося знайти." + +msgid "" +"Load the module specified by *fullname*. *fullname* must be the fully " +"qualified (dotted) module name. Returns the imported module on success, " +"raises :exc:`ZipImportError` on failure." +msgstr "" +"Завантажте модуль, указаний *повним ім’ям*. *повне ім’я* має бути повним " +"ім’ям модуля (з крапками). Повертає імпортований модуль у разі успіху, " +"викликає :exc:`ZipImportError` у разі невдачі." + +msgid "Use :meth:`exec_module` instead." +msgstr "Замість цього використовуйте :meth:`exec_module`." + +msgid "" +"Clear out the internal cache of information about files found within the ZIP " +"archive." +msgstr "Очистіть внутрішній кеш інформації про файли, знайдені в архіві ZIP." + +msgid "" +"The file name of the importer's associated ZIP file, without a possible " +"subpath." +msgstr "Ім’я пов’язаного ZIP-файлу імпортера без можливого підшляху." + +msgid "" +"The subpath within the ZIP file where modules are searched. This is the " +"empty string for zipimporter objects which point to the root of the ZIP file." +msgstr "" +"Підшлях у ZIP-файлі, де здійснюється пошук модулів. Це порожній рядок для " +"об’єктів zipimporter, які вказують на корінь ZIP-файлу." + +msgid "" +"The :attr:`archive` and :attr:`prefix` attributes, when combined with a " +"slash, equal the original *archivepath* argument given to the :class:" +"`zipimporter` constructor." +msgstr "" +"Атрибути :attr:`archive` і :attr:`prefix` у поєднанні з косою рискою " +"дорівнюють оригінальному аргументу *archivepath*, наданому конструктору :" +"class:`zipimporter`." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Here is an example that imports a module from a ZIP archive - note that the :" +"mod:`zipimport` module is not explicitly used." +msgstr "" +"Ось приклад імпорту модуля з ZIP-архіву - зауважте, що модуль :mod:" +"`zipimport` не використовується явно." diff --git a/library/zlib.po b/library/zlib.po new file mode 100644 index 000000000..42687b4b7 --- /dev/null +++ b/library/zlib.po @@ -0,0 +1,560 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:18+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`zlib` --- Compression compatible with :program:`gzip`" +msgstr ":mod:`zlib` --- Стиснення сумісне з :program:`gzip`" + +msgid "" +"For applications that require data compression, the functions in this module " +"allow compression and decompression, using the zlib library. The zlib " +"library has its own home page at https://www.zlib.net. There are known " +"incompatibilities between the Python module and versions of the zlib library " +"earlier than 1.1.3; 1.1.3 has a `security vulnerability `_, so we recommend using 1.1.4 or later." +msgstr "" +"Для програм, які вимагають стиснення даних, функції цього модуля дозволяють " +"стискати та розпаковувати за допомогою бібліотеки zlib. Бібліотека zlib має " +"власну домашню сторінку за адресою https://www.zlib.net. Відомі несумісності " +"між модулем Python і версіями бібліотеки zlib, ранішими за 1.1.3; 1.1.3 має " +"`вразливість безпеки `_, тому ми " +"рекомендуємо використовувати 1.1.4 або новішу версію." + +msgid "" +"zlib's functions have many options and often need to be used in a particular " +"order. This documentation doesn't attempt to cover all of the permutations; " +"consult the zlib manual at http://www.zlib.net/manual.html for authoritative " +"information." +msgstr "" +"Функції zlib мають багато параметрів і часто їх потрібно використовувати в " +"певному порядку. Ця документація не намагається охопити всі перестановки; " +"зверніться до посібника з zlib на http://www.zlib.net/manual.html для " +"отримання достовірної інформації." + +msgid "For reading and writing ``.gz`` files see the :mod:`gzip` module." +msgstr "Для читання та запису файлів ``.gz`` перегляньте модуль :mod:`gzip`." + +msgid "The available exception and functions in this module are:" +msgstr "Доступні винятки та функції в цьому модулі:" + +msgid "Exception raised on compression and decompression errors." +msgstr "Винятком є помилки стиснення та декомпресії." + +msgid "" +"Computes an Adler-32 checksum of *data*. (An Adler-32 checksum is almost as " +"reliable as a CRC32 but can be computed much more quickly.) The result is " +"an unsigned 32-bit integer. If *value* is present, it is used as the " +"starting value of the checksum; otherwise, a default value of 1 is used. " +"Passing in *value* allows computing a running checksum over the " +"concatenation of several inputs. The algorithm is not cryptographically " +"strong, and should not be used for authentication or digital signatures. " +"Since the algorithm is designed for use as a checksum algorithm, it is not " +"suitable for use as a general hash algorithm." +msgstr "" +"Обчислює контрольну суму Adler-32 для *даних*. (Контрольна сума Adler-32 " +"майже така ж надійна, як CRC32, але її можна обчислити набагато швидше.) " +"Результатом є 32-розрядне ціле число без знаку. Якщо присутнє *значення*, " +"воно використовується як початкове значення контрольної суми; інакше " +"використовується значення за замовчуванням 1. Передача *value* дозволяє " +"обчислити поточну контрольну суму для конкатенації кількох вхідних даних. " +"Алгоритм не є криптографічно надійним, тому його не слід використовувати для " +"автентифікації чи цифрових підписів. Оскільки алгоритм розроблено для " +"використання як алгоритм контрольної суми, він не підходить для використання " +"як загальний алгоритм хешування." + +msgid "The result is always unsigned." +msgstr "" + +msgid "" +"Compresses the bytes in *data*, returning a bytes object containing " +"compressed data. *level* is an integer from ``0`` to ``9`` or ``-1`` " +"controlling the level of compression; ``1`` (Z_BEST_SPEED) is fastest and " +"produces the least compression, ``9`` (Z_BEST_COMPRESSION) is slowest and " +"produces the most. ``0`` (Z_NO_COMPRESSION) is no compression. The default " +"value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a " +"default compromise between speed and compression (currently equivalent to " +"level 6)." +msgstr "" + +msgid "" +"The *wbits* argument controls the size of the history buffer (or the " +"\"window size\") used when compressing data, and whether a header and " +"trailer is included in the output. It can take several ranges of values, " +"defaulting to ``15`` (MAX_WBITS):" +msgstr "" +"Аргумент *wbits* контролює розмір буфера історії (або \"розмір вікна\"), " +"який використовується під час стиснення даних, а також те, чи включено " +"заголовок і трейлер у вивід. Він може приймати кілька діапазонів значень, за " +"замовчуванням ``15`` (MAX_WBITS):" + +msgid "" +"+9 to +15: The base-two logarithm of the window size, which therefore ranges " +"between 512 and 32768. Larger values produce better compression at the " +"expense of greater memory usage. The resulting output will include a zlib-" +"specific header and trailer." +msgstr "" +"Від +9 до +15: логарифм розміру вікна за основою два, який коливається між " +"512 і 32768. Більші значення забезпечують краще стиснення за рахунок " +"більшого використання пам’яті. Отриманий результат включатиме специфічний " +"для zlib заголовок і трейлер." + +msgid "" +"−9 to −15: Uses the absolute value of *wbits* as the window size logarithm, " +"while producing a raw output stream with no header or trailing checksum." +msgstr "" +"Від −9 до −15: використовує абсолютне значення *wbits* як логарифм розміру " +"вікна, водночас створюючи необроблений вихідний потік без заголовка чи " +"контрольної суми в кінці." + +msgid "" +"+25 to +31 = 16 + (9 to 15): Uses the low 4 bits of the value as the window " +"size logarithm, while including a basic :program:`gzip` header and trailing " +"checksum in the output." +msgstr "" +"Від +25 до +31 = 16 + (від 9 до 15): використовує молодші 4 біти значення як " +"логарифм розміру вікна, в той час як базовий заголовок :program:`gzip` і " +"контрольну суму в кінці виводяться." + +msgid "Raises the :exc:`error` exception if any error occurs." +msgstr "" + +msgid "*level* can now be used as a keyword parameter." +msgstr "*level* тепер можна використовувати як параметр ключового слова." + +msgid "" +"The *wbits* parameter is now available to set window bits and compression " +"type." +msgstr "" + +msgid "" +"Returns a compression object, to be used for compressing data streams that " +"won't fit into memory at once." +msgstr "" +"Повертає об’єкт стиснення для стиснення потоків даних, які не вміщаються в " +"пам’ять одразу." + +msgid "" +"*level* is the compression level -- an integer from ``0`` to ``9`` or " +"``-1``. A value of ``1`` (Z_BEST_SPEED) is fastest and produces the least " +"compression, while a value of ``9`` (Z_BEST_COMPRESSION) is slowest and " +"produces the most. ``0`` (Z_NO_COMPRESSION) is no compression. The default " +"value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a " +"default compromise between speed and compression (currently equivalent to " +"level 6)." +msgstr "" +"*level* — це рівень стиснення -- ціле число від ``0`` до ``9`` або ``-1``. " +"Значення \"1\" (Z_BEST_SPEED) є найшвидшим і забезпечує найменше стиснення, " +"тоді як значення \"9\" (Z_BEST_COMPRESSION) є найповільнішим і забезпечує " +"найбільше. ``0`` (Z_NO_COMPRESSION) не стискає. Значення за замовчуванням – " +"``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION представляє " +"стандартний компроміс між швидкістю та стисненням (на даний момент " +"еквівалентно рівню 6)." + +msgid "" +"*method* is the compression algorithm. Currently, the only supported value " +"is :const:`DEFLATED`." +msgstr "" +"*метод* — це алгоритм стиснення. Наразі єдиним підтримуваним значенням є :" +"const:`DEFLATED`." + +msgid "" +"The *wbits* parameter controls the size of the history buffer (or the " +"\"window size\"), and what header and trailer format will be used. It has " +"the same meaning as `described for compress() <#compress-wbits>`__." +msgstr "" + +msgid "" +"The *memLevel* argument controls the amount of memory used for the internal " +"compression state. Valid values range from ``1`` to ``9``. Higher values use " +"more memory, but are faster and produce smaller output." +msgstr "" +"Аргумент *memLevel* контролює обсяг пам’яті, який використовується для стану " +"внутрішнього стиснення. Діапазон допустимих значень від \"1\" до \"9\". Вищі " +"значення використовують більше пам’яті, але є швидшими та дають менший " +"результат." + +msgid "" +"*strategy* is used to tune the compression algorithm. Possible values are :" +"const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :" +"const:`Z_RLE` (zlib 1.2.0.1) and :const:`Z_FIXED` (zlib 1.2.2.2)." +msgstr "" +"*стратегія* використовується для налаштування алгоритму стиснення. Можливі " +"значення: :const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:" +"`Z_HUFFMAN_ONLY`, :const:`Z_RLE` (zlib 1.2.0.1) і :const:`Z_FIXED` (zlib " +"1.2.2.2)." + +msgid "" +"*zdict* is a predefined compression dictionary. This is a sequence of bytes " +"(such as a :class:`bytes` object) containing subsequences that are expected " +"to occur frequently in the data that is to be compressed. Those subsequences " +"that are expected to be most common should come at the end of the dictionary." +msgstr "" +"*zdict* — це попередньо визначений словник стиснення. Це послідовність " +"байтів (наприклад, об’єкт :class:`bytes`), що містить підпослідовності, які, " +"як очікується, часто траплятимуться в даних, які потрібно стиснути. Ті " +"підпослідовності, які, як очікується, будуть найбільш поширеними, повинні " +"бути в кінці словника." + +msgid "Added the *zdict* parameter and keyword argument support." +msgstr "Додано підтримку параметра *zdict* і ключового слова." + +msgid "" +"Computes a CRC (Cyclic Redundancy Check) checksum of *data*. The result is " +"an unsigned 32-bit integer. If *value* is present, it is used as the " +"starting value of the checksum; otherwise, a default value of 0 is used. " +"Passing in *value* allows computing a running checksum over the " +"concatenation of several inputs. The algorithm is not cryptographically " +"strong, and should not be used for authentication or digital signatures. " +"Since the algorithm is designed for use as a checksum algorithm, it is not " +"suitable for use as a general hash algorithm." +msgstr "" +"Обчислює контрольну суму CRC (перевірка циклічної надлишковості) *даних*. " +"Результатом є 32-розрядне ціле число без знаку. Якщо присутнє *значення*, " +"воно використовується як початкове значення контрольної суми; інакше " +"використовується значення за замовчуванням 0. Передача *value* дозволяє " +"обчислити поточну контрольну суму для конкатенації кількох вхідних даних. " +"Алгоритм не є криптографічно надійним, тому його не слід використовувати для " +"автентифікації чи цифрових підписів. Оскільки алгоритм розроблено для " +"використання як алгоритм контрольної суми, він не підходить для використання " +"як загальний алгоритм хешування." + +msgid "" +"Decompresses the bytes in *data*, returning a bytes object containing the " +"uncompressed data. The *wbits* parameter depends on the format of *data*, " +"and is discussed further below. If *bufsize* is given, it is used as the " +"initial size of the output buffer. Raises the :exc:`error` exception if any " +"error occurs." +msgstr "" +"Розпаковує байти в *data*, повертаючи об’єкт bytes, що містить нестиснуті " +"дані. Параметр *wbits* залежить від формату *data* і обговорюється нижче. " +"Якщо вказано *bufsize*, він використовується як початковий розмір вихідного " +"буфера. Викликає виняток :exc:`error`, якщо виникає будь-яка помилка." + +msgid "" +"The *wbits* parameter controls the size of the history buffer (or \"window " +"size\"), and what header and trailer format is expected. It is similar to " +"the parameter for :func:`compressobj`, but accepts more ranges of values:" +msgstr "" +"Параметр *wbits* керує розміром буфера історії (або \"розміром вікна\"), а " +"також очікуваним форматом заголовка та трейлера. Він схожий на параметр для :" +"func:`compressobj`, але приймає більше діапазонів значень:" + +msgid "" +"+8 to +15: The base-two logarithm of the window size. The input must " +"include a zlib header and trailer." +msgstr "" +"Від +8 до +15: два логарифми розміру вікна. Вхідні дані повинні містити " +"заголовок і трейлер zlib." + +msgid "" +"0: Automatically determine the window size from the zlib header. Only " +"supported since zlib 1.2.3.5." +msgstr "" +"0: Автоматично визначати розмір вікна із заголовка zlib. Підтримується лише " +"з zlib 1.2.3.5." + +msgid "" +"−8 to −15: Uses the absolute value of *wbits* as the window size logarithm. " +"The input must be a raw stream with no header or trailer." +msgstr "" +"Від −8 до −15: використовує абсолютне значення *wbits* як логарифм розміру " +"вікна. Вхід має бути необробленим потоком без заголовка чи трейлера." + +msgid "" +"+24 to +31 = 16 + (8 to 15): Uses the low 4 bits of the value as the window " +"size logarithm. The input must include a gzip header and trailer." +msgstr "" +"Від +24 до +31 = 16 + (від 8 до 15): використовуються молодші 4 біти " +"значення як логарифм розміру вікна. Вхідні дані мають містити заголовок gzip " +"і трейлер." + +msgid "" +"+40 to +47 = 32 + (8 to 15): Uses the low 4 bits of the value as the window " +"size logarithm, and automatically accepts either the zlib or gzip format." +msgstr "" +"Від +40 до +47 = 32 + (від 8 до 15): використовує молодші 4 біти значення як " +"логарифм розміру вікна та автоматично приймає формат zlib або gzip." + +msgid "" +"When decompressing a stream, the window size must not be smaller than the " +"size originally used to compress the stream; using a too-small value may " +"result in an :exc:`error` exception. The default *wbits* value corresponds " +"to the largest window size and requires a zlib header and trailer to be " +"included." +msgstr "" +"Під час декомпресії потоку розмір вікна не повинен бути меншим за розмір, " +"який спочатку використовувався для стиснення потоку; використання занадто " +"малого значення може призвести до виключення :exc:`error`. Значення *wbits* " +"за замовчуванням відповідає найбільшому розміру вікна та вимагає включення " +"заголовка та трейлера zlib." + +msgid "" +"*bufsize* is the initial size of the buffer used to hold decompressed data. " +"If more space is required, the buffer size will be increased as needed, so " +"you don't have to get this value exactly right; tuning it will only save a " +"few calls to :c:func:`malloc`." +msgstr "" +"*bufsize* — початковий розмір буфера, який використовується для зберігання " +"розпакованих даних. Якщо потрібно більше місця, розмір буфера буде збільшено " +"за потреби, тому вам не потрібно отримувати це значення точно; його " +"налаштування заощадить лише кілька викликів :c:func:`malloc`." + +msgid "*wbits* and *bufsize* can be used as keyword arguments." +msgstr "*wbits* і *bufsize* можна використовувати як ключові аргументи." + +msgid "" +"Returns a decompression object, to be used for decompressing data streams " +"that won't fit into memory at once." +msgstr "" +"Повертає об’єкт декомпресії, який буде використано для декомпресії потоків " +"даних, які не вміщуються в пам’ять одразу." + +msgid "" +"The *wbits* parameter controls the size of the history buffer (or the " +"\"window size\"), and what header and trailer format is expected. It has " +"the same meaning as `described for decompress() <#decompress-wbits>`__." +msgstr "" +"Параметр *wbits* керує розміром буфера історії (або \"розміром вікна\"), а " +"також очікуваним форматом заголовка та трейлера. Він має те саме значення, " +"що й `описане для decompress() <#decompress-wbits>`__." + +msgid "" +"The *zdict* parameter specifies a predefined compression dictionary. If " +"provided, this must be the same dictionary as was used by the compressor " +"that produced the data that is to be decompressed." +msgstr "" +"Параметр *zdict* визначає попередньо визначений словник стиснення. Якщо " +"надано, це має бути той самий словник, який використовувався компресором, " +"який створив дані, які потрібно розпакувати." + +msgid "" +"If *zdict* is a mutable object (such as a :class:`bytearray`), you must not " +"modify its contents between the call to :func:`decompressobj` and the first " +"call to the decompressor's ``decompress()`` method." +msgstr "" +"Якщо *zdict* є змінним об’єктом (наприклад, :class:`bytearray`), ви не " +"повинні змінювати його вміст між викликом :func:`decompressobj` і першим " +"викликом ``decompress()`` декомпресора. метод." + +msgid "Added the *zdict* parameter." +msgstr "Додано параметр *zdict*." + +msgid "Compression objects support the following methods:" +msgstr "Об’єкти стиснення підтримують такі методи:" + +msgid "" +"Compress *data*, returning a bytes object containing compressed data for at " +"least part of the data in *data*. This data should be concatenated to the " +"output produced by any preceding calls to the :meth:`compress` method. Some " +"input may be kept in internal buffers for later processing." +msgstr "" +"Стискати *data*, повертаючи об’єкт bytes, що містить стислі дані принаймні " +"для частини даних у *data*. Ці дані мають бути об’єднані з виводом, " +"створеним будь-якими попередніми викликами методу :meth:`compress`. Деякі " +"вхідні дані можуть зберігатися у внутрішніх буферах для подальшої обробки." + +msgid "" +"All pending input is processed, and a bytes object containing the remaining " +"compressed output is returned. *mode* can be selected from the constants :" +"const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :const:`Z_SYNC_FLUSH`, :const:" +"`Z_FULL_FLUSH`, :const:`Z_BLOCK` (zlib 1.2.3.4), or :const:`Z_FINISH`, " +"defaulting to :const:`Z_FINISH`. Except :const:`Z_FINISH`, all constants " +"allow compressing further bytestrings of data, while :const:`Z_FINISH` " +"finishes the compressed stream and prevents compressing any more data. " +"After calling :meth:`flush` with *mode* set to :const:`Z_FINISH`, the :meth:" +"`compress` method cannot be called again; the only realistic action is to " +"delete the object." +msgstr "" +"Усі вхідні дані, що очікують на розгляд, обробляються, і повертається об’єкт " +"bytes, що містить залишковий стиснутий вихід. *режим* можна вибрати з " +"констант :const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :const:" +"`Z_SYNC_FLUSH`, :const:`Z_FULL_FLUSH`, :const:`Z_BLOCK` (zlib 1.2.3.4), або :" +"const:`Z_FINISH`, за умовчанням :const:`Z_FINISH`. Крім :const:`Z_FINISH`, " +"усі константи дозволяють стискати подальші байтові рядки даних, тоді як :" +"const:`Z_FINISH` завершує стиснутий потік і запобігає подальшому стисненню " +"даних. Після виклику :meth:`flush` з *mode*, встановленим на :const:" +"`Z_FINISH`, метод :meth:`compress` не можна викликати повторно; єдина " +"реалістична дія - це видалити об'єкт." + +msgid "" +"Returns a copy of the compression object. This can be used to efficiently " +"compress a set of data that share a common initial prefix." +msgstr "" +"Повертає копію об’єкта стиснення. Це можна використовувати для ефективного " +"стиснення набору даних, які мають спільний початковий префікс." + +msgid "" +"Added :func:`copy.copy` and :func:`copy.deepcopy` support to compression " +"objects." +msgstr "" +"Додано підтримку :func:`copy.copy` і :func:`copy.deepcopy` для об’єктів " +"стиснення." + +msgid "Decompression objects support the following methods and attributes:" +msgstr "Об’єкти декомпресії підтримують такі методи та атрибути:" + +msgid "" +"A bytes object which contains any bytes past the end of the compressed data. " +"That is, this remains ``b\"\"`` until the last byte that contains " +"compression data is available. If the whole bytestring turned out to " +"contain compressed data, this is ``b\"\"``, an empty bytes object." +msgstr "" +"Об’єкт bytes, який містить будь-які байти після кінця стиснутих даних. Тобто " +"це залишається ``b\"\"``, поки не стане доступним останній байт, який " +"містить дані стиснення. Якщо виявилося, що весь байтовий рядок містить " +"стислі дані, це ``b\"\"``, порожній об'єкт байтів." + +msgid "" +"A bytes object that contains any data that was not consumed by the last :" +"meth:`decompress` call because it exceeded the limit for the uncompressed " +"data buffer. This data has not yet been seen by the zlib machinery, so you " +"must feed it (possibly with further data concatenated to it) back to a " +"subsequent :meth:`decompress` method call in order to get correct output." +msgstr "" +"Об’єкт bytes, який містить будь-які дані, які не були використані останнім " +"викликом :meth:`decompress`, оскільки він перевищив обмеження для буфера " +"нестиснутих даних. Ці дані ще не були розглянуті механізмом zlib, тому ви " +"повинні передати їх (можливо, з додатковими даними, об’єднаними з ними) до " +"наступного виклику методу :meth:`decompress`, щоб отримати правильний " +"результат." + +msgid "" +"A boolean indicating whether the end of the compressed data stream has been " +"reached." +msgstr "" +"Логічне значення, яке вказує, чи досягнуто кінця стисненого потоку даних." + +msgid "" +"This makes it possible to distinguish between a properly formed compressed " +"stream, and an incomplete or truncated one." +msgstr "" + +msgid "" +"Decompress *data*, returning a bytes object containing the uncompressed data " +"corresponding to at least part of the data in *string*. This data should be " +"concatenated to the output produced by any preceding calls to the :meth:" +"`decompress` method. Some of the input data may be preserved in internal " +"buffers for later processing." +msgstr "" +"Розпакуйте *data*, повертаючи об’єкт bytes, що містить нестиснуті дані, що " +"відповідають принаймні частині даних у *string*. Ці дані мають бути " +"об’єднані з виводом, створеним будь-якими попередніми викликами методу :meth:" +"`decompress`. Деякі вхідні дані можуть бути збережені у внутрішніх буферах " +"для подальшої обробки." + +msgid "" +"If the optional parameter *max_length* is non-zero then the return value " +"will be no longer than *max_length*. This may mean that not all of the " +"compressed input can be processed; and unconsumed data will be stored in the " +"attribute :attr:`unconsumed_tail`. This bytestring must be passed to a " +"subsequent call to :meth:`decompress` if decompression is to continue. If " +"*max_length* is zero then the whole input is decompressed, and :attr:" +"`unconsumed_tail` is empty." +msgstr "" +"Якщо необов’язковий параметр *max_length* відмінний від нуля, тоді повернуте " +"значення не буде довшим за *max_length*. Це може означати, що не весь " +"стиснутий вхід може бути оброблений; а неспожиті дані зберігатимуться в " +"атрибуті :attr:`unconsumed_tail`. Цей байтовий рядок необхідно передати " +"наступному виклику :meth:`decompress`, якщо розпакування має продовжуватися. " +"Якщо *max_length* дорівнює нулю, то весь вхід розпаковується, а :attr:" +"`unconsumed_tail` порожній." + +msgid "*max_length* can be used as a keyword argument." +msgstr "*max_length* можна використовувати як аргумент ключового слова." + +msgid "" +"All pending input is processed, and a bytes object containing the remaining " +"uncompressed output is returned. After calling :meth:`flush`, the :meth:" +"`decompress` method cannot be called again; the only realistic action is to " +"delete the object." +msgstr "" +"Усі вхідні дані, що очікують на розгляд, обробляються, і повертається об’єкт " +"bytes, що містить залишковий нестиснутий вихід. Після виклику :meth:`flush` " +"метод :meth:`decompress` не можна викликати знову; єдина реалістична дія - " +"це видалити об'єкт." + +msgid "" +"The optional parameter *length* sets the initial size of the output buffer." +msgstr "" +"Додатковий параметр *length* встановлює початковий розмір вихідного буфера." + +msgid "" +"Returns a copy of the decompression object. This can be used to save the " +"state of the decompressor midway through the data stream in order to speed " +"up random seeks into the stream at a future point." +msgstr "" +"Повертає копію розпакованого об’єкта. Це можна використовувати для " +"збереження стану декомпресора в середині потоку даних, щоб пришвидшити " +"випадковий пошук у потоці в майбутньому." + +msgid "" +"Added :func:`copy.copy` and :func:`copy.deepcopy` support to decompression " +"objects." +msgstr "" +"Додано підтримку :func:`copy.copy` і :func:`copy.deepcopy` для об’єктів " +"декомпресії." + +msgid "" +"Information about the version of the zlib library in use is available " +"through the following constants:" +msgstr "" +"Інформація про версію використовуваної бібліотеки zlib доступна через такі " +"константи:" + +msgid "" +"The version string of the zlib library that was used for building the " +"module. This may be different from the zlib library actually used at " +"runtime, which is available as :const:`ZLIB_RUNTIME_VERSION`." +msgstr "" +"Рядок версії бібліотеки zlib, який використовувався для створення модуля. Це " +"може відрізнятися від бібліотеки zlib, яка фактично використовується під час " +"виконання, яка доступна як :const:`ZLIB_RUNTIME_VERSION`." + +msgid "" +"The version string of the zlib library actually loaded by the interpreter." +msgstr "Рядок версії бібліотеки zlib, фактично завантажений інтерпретатором." + +msgid "Module :mod:`gzip`" +msgstr "Модуль :mod:`gzip`" + +msgid "Reading and writing :program:`gzip`\\ -format files." +msgstr "Читання та запис файлів у форматі :program:`gzip`\\." + +msgid "http://www.zlib.net" +msgstr "http://www.zlib.net" + +msgid "The zlib library home page." +msgstr "Домашня сторінка бібліотеки zlib." + +msgid "http://www.zlib.net/manual.html" +msgstr "http://www.zlib.net/manual.html" + +msgid "" +"The zlib manual explains the semantics and usage of the library's many " +"functions." +msgstr "" +"У посібнику з zlib пояснюється семантика та використання багатьох функцій " +"бібліотеки." diff --git a/library/zoneinfo.po b/library/zoneinfo.po new file mode 100644 index 000000000..db564a211 --- /dev/null +++ b/library/zoneinfo.po @@ -0,0 +1,627 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:19+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid ":mod:`zoneinfo` --- IANA time zone support" +msgstr ":mod:`zoneinfo` --- підтримка часового поясу IANA" + +msgid "" +"The :mod:`zoneinfo` module provides a concrete time zone implementation to " +"support the IANA time zone database as originally specified in :pep:`615`. " +"By default, :mod:`zoneinfo` uses the system's time zone data if available; " +"if no system time zone data is available, the library will fall back to " +"using the first-party `tzdata`_ package available on PyPI." +msgstr "" +"Модуль :mod:`zoneinfo` забезпечує конкретну реалізацію часового поясу для " +"підтримки бази даних часових поясів IANA, як спочатку зазначено в :pep:" +"`615`. За замовчуванням :mod:`zoneinfo` використовує дані часового поясу " +"системи, якщо вони доступні; якщо дані системного часового поясу недоступні, " +"бібліотека повернеться до використання основного пакету `tzdata`_, " +"доступного на PyPI." + +msgid "Module: :mod:`datetime`" +msgstr "Модуль: :mod:`datetime`" + +msgid "" +"Provides the :class:`~datetime.time` and :class:`~datetime.datetime` types " +"with which the :class:`ZoneInfo` class is designed to be used." +msgstr "" +"Надає типи :class:`~datetime.time` і :class:`~datetime.datetime`, з якими " +"призначений клас :class:`ZoneInfo`." + +msgid "Package `tzdata`_" +msgstr "Пакет `tzdata`_" + +msgid "" +"First-party package maintained by the CPython core developers to supply time " +"zone data via PyPI." +msgstr "" +"Пакет першої сторони, який підтримується розробниками ядра CPython для " +"надання даних про часовий пояс через PyPI." + +msgid ":ref:`Availability `: not Emscripten, not WASI." +msgstr "" + +msgid "" +"This module does not work or is not available on WebAssembly platforms " +"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " +"more information." +msgstr "" + +msgid "Using ``ZoneInfo``" +msgstr "Використання ``ZoneInfo``" + +msgid "" +":class:`ZoneInfo` is a concrete implementation of the :class:`datetime." +"tzinfo` abstract base class, and is intended to be attached to ``tzinfo``, " +"either via the constructor, the :meth:`datetime.replace ` method or :meth:`datetime.astimezone `::" +msgstr "" +":class:`ZoneInfo` є конкретною реалізацією :class:`datetime.tzinfo` " +"абстрактного базового класу, який призначений для приєднання до ``tzinfo`` " +"або через конструктор, :meth:`datetime.replace ` " +"метод або :meth:`datetime.astimezone `::" + +msgid "" +"Datetimes constructed in this way are compatible with datetime arithmetic " +"and handle daylight saving time transitions with no further intervention::" +msgstr "" +"Дати, побудовані таким чином, сумісні з арифметикою дат і часу та обробляють " +"переходи на літній час без подальшого втручання:" + +msgid "" +"These time zones also support the :attr:`~datetime.datetime.fold` attribute " +"introduced in :pep:`495`. During offset transitions which induce ambiguous " +"times (such as a daylight saving time to standard time transition), the " +"offset from *before* the transition is used when ``fold=0``, and the offset " +"*after* the transition is used when ``fold=1``, for example::" +msgstr "" +"Ці часові пояси також підтримують атрибут :attr:`~datetime.datetime.fold`, " +"представлений у :pep:`495`. Під час переходів із зміщенням, які спричиняють " +"неоднозначний час (наприклад, перехід із літнього часу на стандартний), зсув " +"від *до* переходу використовується, коли ``fold=0``, а зсув *після* переходу " +"використовується, коли ``fold=1``, наприклад::" + +msgid "" +"When converting from another time zone, the fold will be set to the correct " +"value::" +msgstr "" +"Під час конвертації з іншого часового поясу для згортки буде встановлено " +"правильне значення:" + +msgid "Data sources" +msgstr "Джерела даних" + +msgid "" +"The ``zoneinfo`` module does not directly provide time zone data, and " +"instead pulls time zone information from the system time zone database or " +"the first-party PyPI package `tzdata`_, if available. Some systems, " +"including notably Windows systems, do not have an IANA database available, " +"and so for projects targeting cross-platform compatibility that require time " +"zone data, it is recommended to declare a dependency on tzdata. If neither " +"system data nor tzdata are available, all calls to :class:`ZoneInfo` will " +"raise :exc:`ZoneInfoNotFoundError`." +msgstr "" +"Модуль ``zoneinfo`` безпосередньо не надає даних про часовий пояс, а " +"натомість отримує інформацію про часовий пояс із системної бази даних " +"часових поясів або основного пакету PyPI `tzdata`_, якщо доступний. Деякі " +"системи, зокрема системи Windows, не мають доступної бази даних IANA, тому " +"для проектів, націлених на кросплатформенну сумісність, які вимагають даних " +"часового поясу, рекомендується оголосити залежність від tzdata. Якщо ані " +"системні дані, ані tzdata недоступні, усі виклики :class:`ZoneInfo` " +"викличуть :exc:`ZoneInfoNotFoundError`." + +msgid "Configuring the data sources" +msgstr "Налаштування джерел даних" + +msgid "" +"When ``ZoneInfo(key)`` is called, the constructor first searches the " +"directories specified in :data:`TZPATH` for a file matching ``key``, and on " +"failure looks for a match in the tzdata package. This behavior can be " +"configured in three ways:" +msgstr "" +"Коли викликається ``ZoneInfo(key)``, конструктор спочатку шукає файл, який " +"відповідає ``key``, у каталогах, указаних у :data:`TZPATH`, а в разі помилки " +"шукає відповідність у пакеті tzdata. Цю поведінку можна налаштувати трьома " +"способами:" + +msgid "" +"The default :data:`TZPATH` when not otherwise specified can be configured " +"at :ref:`compile time `." +msgstr "" +"Типовий :data:`TZPATH`, якщо не вказано інше, можна налаштувати під час :ref:" +"`компіляції `." + +msgid "" +":data:`TZPATH` can be configured using :ref:`an environment variable " +"`." +msgstr "" +":data:`TZPATH` можна налаштувати за допомогою :ref:`змінної середовища " +"`." + +msgid "" +"At :ref:`runtime `, the search path can be " +"manipulated using the :func:`reset_tzpath` function." +msgstr "" +"У :ref:`runtime ` шляхом пошуку можна " +"маніпулювати за допомогою функції :func:`reset_tzpath`." + +msgid "Compile-time configuration" +msgstr "Конфігурація під час компіляції" + +msgid "" +"The default :data:`TZPATH` includes several common deployment locations for " +"the time zone database (except on Windows, where there are no \"well-known\" " +"locations for time zone data). On POSIX systems, downstream distributors and " +"those building Python from source who know where their system time zone data " +"is deployed may change the default time zone path by specifying the compile-" +"time option ``TZPATH`` (or, more likely, the :option:`configure flag --with-" +"tzpath <--with-tzpath>`), which should be a string delimited by :data:`os." +"pathsep`." +msgstr "" +"За замовчуванням :data:`TZPATH` містить кілька поширених місць розгортання " +"бази даних часових поясів (за винятком Windows, де немає \"добре відомих\" " +"місць для даних часових поясів). У системах POSIX розповсюджувачі нижньої " +"течії та ті, хто створює Python із джерела, які знають, де розгортаються " +"дані часових поясів у їхній системі, можуть змінити шлях часового поясу за " +"замовчуванням, вказавши параметр під час компіляції ``TZPATH`` (або, що " +"ймовірніше, параметр :option:`configure flag --with-tzpath <--with-" +"tzpath>`), який має бути рядком, розділеним :data:`os.pathsep`." + +msgid "" +"On all platforms, the configured value is available as the ``TZPATH`` key " +"in :func:`sysconfig.get_config_var`." +msgstr "" +"На всіх платформах налаштоване значення доступне як ключ ``TZPATH`` у :func:" +"`sysconfig.get_config_var`." + +msgid "Environment configuration" +msgstr "Конфігурація середовища" + +msgid "" +"When initializing :data:`TZPATH` (either at import time or whenever :func:" +"`reset_tzpath` is called with no arguments), the ``zoneinfo`` module will " +"use the environment variable ``PYTHONTZPATH``, if it exists, to set the " +"search path." +msgstr "" +"Під час ініціалізації :data:`TZPATH` (або під час імпортування, або коли :" +"func:`reset_tzpath` викликається без аргументів), модуль ``zoneinfo`` " +"використовуватиме змінну середовища ``PYTHONTZPATH``, якщо вона існує, щоб " +"встановити шлях пошуку." + +msgid "" +"This is an :data:`os.pathsep`-separated string containing the time zone " +"search path to use. It must consist of only absolute rather than relative " +"paths. Relative components specified in ``PYTHONTZPATH`` will not be used, " +"but otherwise the behavior when a relative path is specified is " +"implementation-defined; CPython will raise :exc:`InvalidTZPathWarning`, but " +"other implementations are free to silently ignore the erroneous component or " +"raise an exception." +msgstr "" +"Це розділений :data:`os.pathsep` рядок, який містить шлях пошуку часового " +"поясу, який слід використовувати. Він має складатися лише з абсолютних, а не " +"відносних шляхів. Відносні компоненти, указані в ``PYTHONTZPATH``, не " +"використовуватимуться, але в інших випадках поведінка, коли вказано " +"відносний шлях, визначається реалізацією; CPython викличе :exc:" +"`InvalidTZPathWarning`, але інші реалізації можуть мовчки ігнорувати " +"помилковий компонент або викликати виняток." + +msgid "" +"To set the system to ignore the system data and use the tzdata package " +"instead, set ``PYTHONTZPATH=\"\"``." +msgstr "" +"Щоб налаштувати систему на ігнорування системних даних і використання " +"замість них пакета tzdata, установіть ``PYTHONTZPATH=\"\"``." + +msgid "Runtime configuration" +msgstr "Конфігурація середовища виконання" + +msgid "" +"The TZ search path can also be configured at runtime using the :func:" +"`reset_tzpath` function. This is generally not an advisable operation, " +"though it is reasonable to use it in test functions that require the use of " +"a specific time zone path (or require disabling access to the system time " +"zones)." +msgstr "" +"Шлях пошуку TZ також можна налаштувати під час виконання за допомогою " +"функції :func:`reset_tzpath`. Зазвичай це не рекомендована операція, хоча її " +"доцільно використовувати в тестових функціях, які вимагають використання " +"певного шляху часового поясу (або вимагають вимкнення доступу до часових " +"поясів системи)." + +msgid "The ``ZoneInfo`` class" +msgstr "Клас ``ZoneInfo``" + +msgid "" +"A concrete :class:`datetime.tzinfo` subclass that represents an IANA time " +"zone specified by the string ``key``. Calls to the primary constructor will " +"always return objects that compare identically; put another way, barring " +"cache invalidation via :meth:`ZoneInfo.clear_cache`, for all values of " +"``key``, the following assertion will always be true:" +msgstr "" +"Конкретний підклас :class:`datetime.tzinfo`, який представляє часовий пояс " +"IANA, визначений рядком ``key``. Виклики первинного конструктора завжди " +"повертатимуть об’єкти, які порівнюються однаково; Іншими словами, за " +"винятком недійсності кешу через :meth:`ZoneInfo.clear_cache`, для всіх " +"значень ``key`` наступне твердження завжди буде вірним:" + +msgid "" +"``key`` must be in the form of a relative, normalized POSIX path, with no up-" +"level references. The constructor will raise :exc:`ValueError` if a non-" +"conforming key is passed." +msgstr "" +"``key`` має бути у формі відносного нормалізованого шляху POSIX без посилань " +"верхнього рівня. Конструктор викличе :exc:`ValueError`, якщо передано " +"невідповідний ключ." + +msgid "" +"If no file matching ``key`` is found, the constructor will raise :exc:" +"`ZoneInfoNotFoundError`." +msgstr "" +"Якщо не знайдено жодного файлу, що відповідає ``ключу``, конструктор " +"викличе :exc:`ZoneInfoNotFoundError`." + +msgid "The ``ZoneInfo`` class has two alternate constructors:" +msgstr "Клас ``ZoneInfo`` має два альтернативних конструктори:" + +msgid "" +"Constructs a ``ZoneInfo`` object from a file-like object returning bytes (e." +"g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike " +"the primary constructor, this always constructs a new object." +msgstr "" +"Створює об’єкт ``ZoneInfo`` з файлоподібного об’єкта, який повертає байти " +"(наприклад, файл, відкритий у двійковому режимі, або об’єкт :class:`io." +"BytesIO`). На відміну від первинного конструктора, це завжди створює новий " +"об’єкт." + +msgid "" +"The ``key`` parameter sets the name of the zone for the purposes of :py:meth:" +"`~object.__str__` and :py:meth:`~object.__repr__`." +msgstr "" +"Параметр ``key`` встановлює назву зони для цілей :py:meth:`~object.__str__` " +"і :py:meth:`~object.__repr__`." + +msgid "" +"Objects created via this constructor cannot be pickled (see `pickling`_)." +msgstr "" +"Об’єкти, створені за допомогою цього конструктора, не можуть бути " +"протравлені (див. `pickling`_)." + +msgid "" +"An alternate constructor that bypasses the constructor's cache. It is " +"identical to the primary constructor, but returns a new object on each call. " +"This is most likely to be useful for testing or demonstration purposes, but " +"it can also be used to create a system with a different cache invalidation " +"strategy." +msgstr "" +"Альтернативний конструктор, який обходить кеш конструктора. Він ідентичний " +"основному конструктору, але повертає новий об’єкт під час кожного виклику. " +"Це, швидше за все, буде корисним для тестування чи демонстрації, але його " +"також можна використовувати для створення системи з іншою стратегією " +"анулювання кешу." + +msgid "" +"Objects created via this constructor will also bypass the cache of a " +"deserializing process when unpickled." +msgstr "" +"Об’єкти, створені за допомогою цього конструктора, також обійдуть кеш " +"процесу десеріалізації, коли їх не буде вибрано." + +msgid "" +"Using this constructor may change the semantics of your datetimes in " +"surprising ways, only use it if you know that you need to." +msgstr "" +"Використання цього конструктора може дивовижним чином змінити семантику " +"ваших дат і часів, використовуйте його, лише якщо ви знаєте, що вам це " +"потрібно." + +msgid "The following class methods are also available:" +msgstr "Також доступні такі методи класу:" + +msgid "" +"A method for invalidating the cache on the ``ZoneInfo`` class. If no " +"arguments are passed, all caches are invalidated and the next call to the " +"primary constructor for each key will return a new instance." +msgstr "" +"Метод анулювання кешу в класі ``ZoneInfo``. Якщо аргументи не передано, усі " +"кеші стають недійсними, а наступний виклик основного конструктора для " +"кожного ключа поверне новий екземпляр." + +msgid "" +"If an iterable of key names is passed to the ``only_keys`` parameter, only " +"the specified keys will be removed from the cache. Keys passed to " +"``only_keys`` but not found in the cache are ignored." +msgstr "" +"Якщо в параметр ``only_keys`` передається ітерація імен ключів, з кешу буде " +"видалено лише вказані ключі. Ключі, передані в ``only_keys``, але не " +"знайдені в кеші, ігноруються." + +msgid "" +"Invoking this function may change the semantics of datetimes using " +"``ZoneInfo`` in surprising ways; this modifies process-wide global state and " +"thus may have wide-ranging effects. Only use it if you know that you need to." +msgstr "" +"Виклик цієї функції може дивовижним чином змінити семантику дати та часу за " +"допомогою ``ZoneInfo``; це змінює глобальний стан усього процесу і, отже, " +"може мати широкий вплив. Використовуйте його, лише якщо знаєте, що вам це " +"потрібно." + +msgid "The class has one attribute:" +msgstr "Клас має один атрибут:" + +msgid "" +"This is a read-only :term:`attribute` that returns the value of ``key`` " +"passed to the constructor, which should be a lookup key in the IANA time " +"zone database (e.g. ``America/New_York``, ``Europe/Paris`` or ``Asia/" +"Tokyo``)." +msgstr "" +"Це лише для читання :term:`attribute`, який повертає значення ``key``, " +"переданого конструктору, який має бути ключем пошуку в базі даних часового " +"поясу IANA (наприклад, ``America/New_York``, ``Європа/Париж`` або ``Азія/" +"Токіо``)." + +msgid "" +"For zones constructed from file without specifying a ``key`` parameter, this " +"will be set to ``None``." +msgstr "" +"Для зон, створених із файлу без зазначення параметра ``key``, буде " +"встановлено ``None``." + +msgid "" +"Although it is a somewhat common practice to expose these to end users, " +"these values are designed to be primary keys for representing the relevant " +"zones and not necessarily user-facing elements. Projects like CLDR (the " +"Unicode Common Locale Data Repository) can be used to get more user-friendly " +"strings from these keys." +msgstr "" +"Хоча надавати їх кінцевим користувачам є досить поширеною практикою, ці " +"значення призначені як первинні ключі для представлення відповідних зон, а " +"не обов’язково для елементів, спрямованих на користувача. Такі проекти, як " +"CLDR (загальне сховище даних Unicode Common Locale Data Repository), можна " +"використовувати для отримання більш зручних рядків із цих ключів." + +msgid "String representations" +msgstr "Рядкові представлення" + +msgid "" +"The string representation returned when calling :py:class:`str` on a :class:" +"`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` attribute (see " +"the note on usage in the attribute documentation)::" +msgstr "" +"Рядкове представлення, що повертається під час виклику :py:class:`str` для " +"об’єкта :class:`ZoneInfo`, за замовчуванням використовує атрибут :attr:" +"`ZoneInfo.key` (див. примітку щодо використання в документації атрибута):" + +msgid "" +"For objects constructed from a file without specifying a ``key`` parameter, " +"``str`` falls back to calling :func:`repr`. ``ZoneInfo``'s ``repr`` is " +"implementation-defined and not necessarily stable between versions, but it " +"is guaranteed not to be a valid ``ZoneInfo`` key." +msgstr "" +"Для об’єктів, створених із файлу без вказівки параметра ``key``, ``str`` " +"повертається до виклику :func:`repr`. ``Repr`` ``ZoneInfo`` визначається " +"реалізацією і не обов’язково є стабільним між версіями, але гарантовано, що " +"він не є дійсним ключем ``ZoneInfo``." + +msgid "Pickle serialization" +msgstr "Серіалізація соління" + +msgid "" +"Rather than serializing all transition data, ``ZoneInfo`` objects are " +"serialized by key, and ``ZoneInfo`` objects constructed from files (even " +"those with a value for ``key`` specified) cannot be pickled." +msgstr "" +"Замість того, щоб серіалізувати всі дані переходу, об’єкти ``ZoneInfo`` " +"серіалізуються за ключем, а об’єкти ``ZoneInfo``, створені з файлів (навіть " +"ті, у яких указано значення ``key``), не можуть бути мариновані." + +msgid "The behavior of a ``ZoneInfo`` file depends on how it was constructed:" +msgstr "Поведінка файлу ``ZoneInfo`` залежить від того, як він був створений:" + +msgid "" +"``ZoneInfo(key)``: When constructed with the primary constructor, a " +"``ZoneInfo`` object is serialized by key, and when deserialized, the " +"deserializing process uses the primary and thus it is expected that these " +"are expected to be the same object as other references to the same time " +"zone. For example, if ``europe_berlin_pkl`` is a string containing a pickle " +"constructed from ``ZoneInfo(\"Europe/Berlin\")``, one would expect the " +"following behavior:" +msgstr "" +"``ZoneInfo(key)``: коли створюється за допомогою первинного конструктора, " +"об’єкт ``ZoneInfo`` серіалізується за ключем, а коли десеріалізується, " +"процес десеріалізації використовує первинний, тому очікується, що вони " +"будуть той самий об’єкт, що й інші посилання на той самий часовий пояс. " +"Наприклад, якщо ``europe_berlin_pkl`` - це рядок, що містить маринований " +"пікле, створений з ``ZoneInfo(\"Europe/Berlin\")``, можна очікувати такої " +"поведінки:" + +msgid "" +"``ZoneInfo.no_cache(key)``: When constructed from the cache-bypassing " +"constructor, the ``ZoneInfo`` object is also serialized by key, but when " +"deserialized, the deserializing process uses the cache bypassing " +"constructor. If ``europe_berlin_pkl_nc`` is a string containing a pickle " +"constructed from ``ZoneInfo.no_cache(\"Europe/Berlin\")``, one would expect " +"the following behavior:" +msgstr "" +"``ZoneInfo.no_cache(key)``: коли створено з конструктора обходу кешу, об’єкт " +"``ZoneInfo`` також серіалізується за ключем, але при десеріалізації процес " +"десеріалізації використовує конструктор обходу кешу. Якщо " +"``europe_berlin_pkl_nc`` - це рядок, що містить маринований пікле, " +"побудований з ``ZoneInfo.no_cache(\"Europe/Berlin\")``, можна очікувати " +"такої поведінки:" + +msgid "" +"``ZoneInfo.from_file(fobj, /, key=None)``: When constructed from a file, the " +"``ZoneInfo`` object raises an exception on pickling. If an end user wants to " +"pickle a ``ZoneInfo`` constructed from a file, it is recommended that they " +"use a wrapper type or a custom serialization function: either serializing by " +"key or storing the contents of the file object and serializing that." +msgstr "" +"``ZoneInfo.from_file(fobj, /, key=None)``: коли створено з файлу, об’єкт " +"``ZoneInfo`` викликає виключення під час травлення. Якщо кінцевий користувач " +"хоче вибрати ``ZoneInfo``, створений з файлу, рекомендується використовувати " +"тип оболонки або спеціальну функцію серіалізації: або серіалізація за " +"ключем, або збереження вмісту об’єкта файлу та його серіалізація." + +msgid "" +"This method of serialization requires that the time zone data for the " +"required key be available on both the serializing and deserializing side, " +"similar to the way that references to classes and functions are expected to " +"exist in both the serializing and deserializing environments. It also means " +"that no guarantees are made about the consistency of results when unpickling " +"a ``ZoneInfo`` pickled in an environment with a different version of the " +"time zone data." +msgstr "" +"Цей метод серіалізації вимагає, щоб дані часового поясу для необхідного " +"ключа були доступні як на стороні серіалізації, так і на стороні " +"десеріалізації, подібно до того, як очікуються посилання на класи та функції " +"в середовищах серіалізації та десеріалізації. Це також означає, що не " +"надається жодних гарантій щодо узгодженості результатів під час видалення " +"``ZoneInfo``, вибраного в середовищі з іншою версією даних часового поясу." + +msgid "Functions" +msgstr "Функції" + +msgid "" +"Get a set containing all the valid keys for IANA time zones available " +"anywhere on the time zone path. This is recalculated on every call to the " +"function." +msgstr "" +"Отримайте набір, що містить усі дійсні ключі для часових поясів IANA, " +"доступних будь-де на шляху часового поясу. Це перераховується під час " +"кожного виклику функції." + +msgid "" +"This function only includes canonical zone names and does not include " +"\"special\" zones such as those under the ``posix/`` and ``right/`` " +"directories, or the ``posixrules`` zone." +msgstr "" +"Ця функція включає лише канонічні назви зон і не включає \"спеціальні\" " +"зони, такі як ті, що знаходяться в каталогах ``posix/`` і ``right/`` або " +"зона ``posixrules``." + +msgid "" +"This function may open a large number of files, as the best way to determine " +"if a file on the time zone path is a valid time zone is to read the \"magic " +"string\" at the beginning." +msgstr "" +"Ця функція може відкрити велику кількість файлів, оскільки найкращий спосіб " +"визначити, чи є файл на шляху до часового поясу дійсним часовим поясом, це " +"прочитати \"магічний рядок\" на початку." + +msgid "" +"These values are not designed to be exposed to end-users; for user facing " +"elements, applications should use something like CLDR (the Unicode Common " +"Locale Data Repository) to get more user-friendly strings. See also the " +"cautionary note on :attr:`ZoneInfo.key`." +msgstr "" +"Ці значення не призначені для надання кінцевим користувачам; для елементів, " +"які відкриваються користувачам, програми повинні використовувати щось на " +"зразок CLDR (сховище даних Unicode Common Locale), щоб отримати більш зручні " +"рядки. Дивіться також застереження щодо :attr:`ZoneInfo.key`." + +msgid "" +"Sets or resets the time zone search path (:data:`TZPATH`) for the module. " +"When called with no arguments, :data:`TZPATH` is set to the default value." +msgstr "" +"Встановлює або скидає шлях пошуку часового поясу (:data:`TZPATH`) для " +"модуля. При виклику без аргументів :data:`TZPATH` встановлюється на значення " +"за замовчуванням." + +msgid "" +"Calling ``reset_tzpath`` will not invalidate the :class:`ZoneInfo` cache, " +"and so calls to the primary ``ZoneInfo`` constructor will only use the new " +"``TZPATH`` in the case of a cache miss." +msgstr "" +"Виклик ``reset_tzpath`` не призведе до недійсності :class:`ZoneInfo` кешу, " +"тому виклики основного ``ZoneInfo`` конструктора використовуватимуть новий " +"``TZPATH`` лише у випадку промаху кешу." + +msgid "" +"The ``to`` parameter must be a :term:`sequence` of strings or :class:`os." +"PathLike` and not a string, all of which must be absolute paths. :exc:" +"`ValueError` will be raised if something other than an absolute path is " +"passed." +msgstr "" +"Параметр ``to`` має бути :term:`sequence` рядків або :class:`os.PathLike`, а " +"не рядком, усі вони мають бути абсолютними шляхами. :exc:`ValueError` буде " +"викликано, якщо передано щось інше, ніж абсолютний шлях." + +msgid "Globals" +msgstr "Глобальні" + +msgid "" +"A read-only sequence representing the time zone search path -- when " +"constructing a ``ZoneInfo`` from a key, the key is joined to each entry in " +"the ``TZPATH``, and the first file found is used." +msgstr "" +"Послідовність лише для читання, що представляє шлях пошуку часового поясу – " +"під час створення ``ZoneInfo`` з ключа, ключ приєднується до кожного запису " +"в ``TZPATH``, і використовується перший знайдений файл." + +msgid "" +"``TZPATH`` may contain only absolute paths, never relative paths, regardless " +"of how it is configured." +msgstr "" +"``TZPATH`` може містити лише абсолютні шляхи, а не відносні, незалежно від " +"того, як його налаштовано." + +msgid "" +"The object that ``zoneinfo.TZPATH`` points to may change in response to a " +"call to :func:`reset_tzpath`, so it is recommended to use ``zoneinfo." +"TZPATH`` rather than importing ``TZPATH`` from ``zoneinfo`` or assigning a " +"long-lived variable to ``zoneinfo.TZPATH``." +msgstr "" +"Об’єкт, на який вказує ``zoneinfo.TZPATH``, може змінитися у відповідь на " +"виклик :func:`reset_tzpath`, тому рекомендується використовувати ``zoneinfo." +"TZPATH``, а не імпортувати ``TZPATH`` з ``zoneinfo`` або присвоєння тривалої " +"змінної ``zoneinfo.TZPATH``." + +msgid "" +"For more information on configuring the time zone search path, see :ref:" +"`zoneinfo_data_configuration`." +msgstr "" +"Додаткову інформацію про налаштування шляху пошуку часового поясу див. у :" +"ref:`zoneinfo_data_configuration`." + +msgid "Exceptions and warnings" +msgstr "Винятки та попередження" + +msgid "" +"Raised when construction of a :class:`ZoneInfo` object fails because the " +"specified key could not be found on the system. This is a subclass of :exc:" +"`KeyError`." +msgstr "" +"Викликається, коли створення об’єкта :class:`ZoneInfo` не вдається, оскільки " +"вказаний ключ не знайдено в системі. Це підклас :exc:`KeyError`." + +msgid "" +"Raised when :envvar:`PYTHONTZPATH` contains an invalid component that will " +"be filtered out, such as a relative path." +msgstr "" +"Викликається, коли :envvar:`PYTHONTZPATH` містить недійсний компонент, який " +"буде відфільтровано, наприклад відносний шлях." diff --git a/license.po b/license.po new file mode 100644 index 000000000..66a1a60a9 --- /dev/null +++ b/license.po @@ -0,0 +1,451 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (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 "" +"Python створив на початку 1990-х років Guido van Rossum у Stichting " +"Mathematisch Centrum (CWI, див. https://www.cwi.nl/) у Нідерландах, як " +"наступник мови під назвою ABC. Гвідо залишається головним автором Python, " +"хоча є багато внесків інших людей." + +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 "" +"У 1995 році Гвідо продовжив роботу над Python у Корпорації національних " +"дослідницьких ініціатив (CNRI, див. https://www.cnri.reston.va.us/) у " +"Рестоні, штат Вірджинія, де він випустив кілька версій програмного " +"забезпечення." + +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 (now Zope Corporation; see " +"https://www.zope.org/). 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 " +"is a sponsoring member of the PSF." +msgstr "" +"У травні 2000 року Гвідо та команда розробників ядра Python переїхали на " +"BeOpen.com, щоб створити команду BeOpen PythonLabs. У жовтні того ж року " +"команда PythonLabs перейшла до Digital Creations (нині Zope Corporation; " +"див. https://www.zope.org/). У 2001 році було створено Python Software " +"Foundation (PSF, див. https://www.python.org/psf/), некомерційну " +"організацію, створену спеціально для володіння інтелектуальною власністю, " +"пов’язаною з Python. Корпорація Zope є членом-спонсором PSF." + +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 "" +"Усі випуски Python є відкритими (визначення відкритого вихідного коду див. " +"на https://opensource.org/). Історично більшість, але не всі випуски Python " +"також були GPL-сумісними; таблиця нижче підсумовує різні випуски." + +msgid "Release" +msgstr "Реліз" + +msgid "Derived from" +msgstr "Походить з" + +msgid "Year" +msgstr "Рік" + +msgid "Owner" +msgstr "Власник" + +msgid "GPL compatible?" +msgstr "GPL сумісний?" + +msgid "0.9.0 thru 1.2" +msgstr "з 0.9.0 до 1.2" + +msgid "n/a" +msgstr "н/в" + +msgid "1991-1995" +msgstr "1991-1995" + +msgid "CWI" +msgstr "CWI" + +msgid "yes" +msgstr "так" + +msgid "1.3 thru 1.5.2" +msgstr "з 1.3 по 1.5.2" + +msgid "1.2" +msgstr "1.2" + +msgid "1995-1999" +msgstr "1995-1999" + +msgid "CNRI" +msgstr "CNRI" + +msgid "1.6" +msgstr "1.6" + +msgid "1.5.2" +msgstr "1.5.2" + +msgid "2000" +msgstr "2000" + +msgid "no" +msgstr "ні" + +msgid "2.0" +msgstr "2.0" + +msgid "BeOpen.com" +msgstr "BeOpen.com" + +msgid "1.6.1" +msgstr "1.6.1" + +msgid "2001" +msgstr "2001" + +msgid "2.1" +msgstr "2.1" + +msgid "2.0+1.6.1" +msgstr "2,0+1,6,1" + +msgid "PSF" +msgstr "PSF" + +msgid "2.0.1" +msgstr "2.0.1" + +msgid "2.1.1" +msgstr "2.1.1" + +msgid "2.1+2.0.1" +msgstr "2,1+2,0,1" + +msgid "2.1.2" +msgstr "2.1.2" + +msgid "2002" +msgstr "2002" + +msgid "2.1.3" +msgstr "2.1.3" + +msgid "2.2 and above" +msgstr "2.2 і вище" + +msgid "2001-now" +msgstr "2001-дотепер" + +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 "" +"GPL-сумісність не означає, що ми розповсюджуємо Python під GPL. Усі ліцензії " +"Python, на відміну від GPL, дозволяють розповсюджувати модифіковану версію " +"без створення змін у відкритому коді. Ліцензії, сумісні з GPL, дають змогу " +"поєднувати Python з іншим програмним забезпеченням, яке випускається під " +"GPL; інші ні." + +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 "Умови доступу або іншого використання Python" + +msgid "" +"Python software and documentation are licensed under the :ref:`PSF License " +"Agreement `." +msgstr "" +"Програмне забезпечення та документація Python надаються згідно з :ref:" +"`Ліцензійною угодою PSF `." + +msgid "" +"Starting with Python 3.8.6, examples, recipes, and other code in the " +"documentation are dual licensed under the PSF License Agreement and the :ref:" +"`Zero-Clause BSD license `." +msgstr "" +"Починаючи з Python 3.8.6, приклади, посібники та інший код у документації " +"мають подвійну ліцензію згідно з Ліцензійною угодою PSF і :ref:`ліцензією " +"Zero-Clause BSD `." + +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 "" +"Деякі програми, інтегровані в Python, знаходяться під іншими ліцензіями. " +"Ліцензії перераховані з кодом, що підпадає під цю ліцензію. Перегляньте :ref:" +"`OtherLicenses` для неповного списку цих ліцензій." + +msgid "PSF LICENSE AGREEMENT FOR PYTHON |release|" +msgstr "ЛІЦЕНЗІЙНА УГОДА PSF ДЛЯ |release| PYTHON" + +msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" +msgstr "ЛІЦЕНЗІЙНА УГОДА BEOPEN.COM ДЛЯ PYTHON 2.0" + +msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" +msgstr "ЛІЦЕНЗІЙНА УГОДА BEOPEN PYTHON ВЕРСІЯ 1" + +msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" +msgstr "ЛІЦЕНЗІЙНА УГОДА CNRI ДЛЯ PYTHON 1.6.1" + +msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" +msgstr "ЛІЦЕНЗІЙНА УГОДА CWI ДЛЯ PYTHON 0.9.0 ЧЕРЗ 1.2" + +msgid "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON |release| DOCUMENTATION" +msgstr "ЛІЦЕНЗІЯ BSD БЕЗ ЗАСТЕРЕЖЕНЬ ДЛЯ КОДУ В PYTHON |release| ДОКУМЕНТАЦІЯ" + +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 "" +"Цей розділ є неповним, але постійно зростаючим списком ліцензій і " +"підтверджень стороннього програмного забезпечення, включеного в дистрибутив " +"Python." + +msgid "Mersenne Twister" +msgstr "Mersenne Twister" + +msgid "" +"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 "" +"Модуль :mod:`_random` включає код, заснований на завантаженні з http://www." +"math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. Нижче наведено " +"дослівні коментарі з оригінального коду:" + +msgid "Sockets" +msgstr "Сокети" + +msgid "" +"The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and :func:" +"`getnameinfo`, which are coded in separate source files from the WIDE " +"Project, https://www.wide.ad.jp/. ::" +msgstr "" + +msgid "Asynchronous socket services" +msgstr "Сервіси асинхронних сокетів" + +msgid "" +"The :mod:`asynchat` and :mod:`asyncore` modules contain the following " +"notice::" +msgstr "Модулі :mod:`asynchat` і :mod:`asyncore` містять таке застереження:" + +msgid "Cookie management" +msgstr "Керування файлами cookie" + +msgid "The :mod:`http.cookies` module contains the following notice::" +msgstr "Модуль :mod:`http.cookies` містить таке повідомлення:" + +msgid "Execution tracing" +msgstr "Відстеження виконання" + +msgid "The :mod:`trace` module contains the following notice::" +msgstr "Модуль :mod:`trace` містить таке застереження:" + +msgid "UUencode and UUdecode functions" +msgstr "Функції UUencode та UUdecode" + +msgid "The :mod:`uu` module contains the following notice::" +msgstr "Модуль :mod:`uu` містить таке застереження:" + +msgid "XML Remote Procedure Calls" +msgstr "Виклики віддалених процедур XML" + +msgid "The :mod:`xmlrpc.client` module contains the following notice::" +msgstr "Модуль :mod:`xmlrpc.client` містить таке застереження:" + +msgid "test_epoll" +msgstr "test_epoll" + +msgid "The :mod:`test_epoll` module contains the following notice::" +msgstr "Модуль :mod:`test_epoll` містить таке застереження:" + +msgid "Select kqueue" +msgstr "Виберіть kqueue" + +msgid "" +"The :mod:`select` module contains the following notice for the kqueue " +"interface::" +msgstr "Модуль :mod:`select` містить таке застереження для інтерфейсу kqueue:" + +msgid "SipHash24" +msgstr "SipHash24" + +msgid "" +"The file :file:`Python/pyhash.c` contains Marek Majkowski' implementation of " +"Dan Bernstein's SipHash24 algorithm. It contains the following note::" +msgstr "" +"Файл :file:`Python/pyhash.c` містить реалізацію Мареком Майковським " +"алгоритму SipHash24 Дена Бернштейна. Він містить таку примітку:" + +msgid "strtod and dtoa" +msgstr "strtod і dtoa" + +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 "OpenSSL" +msgstr "OpenSSL" + +msgid "" +"The modules :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` 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::" +msgstr "" +"Модулі :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` використовують " +"бібліотеку OpenSSL для підвищення продуктивності, якщо вона доступна " +"операційною системою. Крім того, інсталятори Windows і macOS для Python " +"можуть містити копію бібліотек OpenSSL, тому ми додаємо копію ліцензії " +"OpenSSL тут:" + +msgid "expat" +msgstr "expat" + +msgid "" +"The :mod:`pyexpat` extension is built using an included copy of the expat " +"sources unless the build is configured ``--with-system-expat``::" +msgstr "" +"Розширення :mod:`pyexpat` створено з використанням включеної копії вихідних " +"кодів експату, якщо збірка не налаштована ``--with-system-expat``::" + +msgid "libffi" +msgstr "libffi" + +msgid "" +"The :mod:`_ctypes` extension is built using an included copy of the libffi " +"sources unless the build is configured ``--with-system-libffi``::" +msgstr "" +"Розширення :mod:`_ctypes` створено з використанням включеної копії вихідних " +"кодів libffi, якщо збірка не налаштована ``--with-system-libffi``::" + +msgid "zlib" +msgstr "zlib" + +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 "" +"Розширення :mod:`zlib` створюється з використанням включеної копії вихідних " +"кодів zlib, якщо версія zlib, знайдена в системі, надто стара, щоб " +"використовувати її для збірки::" + +msgid "cfuhash" +msgstr "cfuhash" + +msgid "" +"The implementation of the hash table used by the :mod:`tracemalloc` is based " +"on the cfuhash project::" +msgstr "" +"Реалізація хеш-таблиці, яку використовує :mod:`tracemalloc`, базується на " +"проекті cfuhash::" + +msgid "libmpdec" +msgstr "libmpdec" + +msgid "" +"The :mod:`_decimal` module is built using an included copy of the libmpdec " +"library unless the build is configured ``--with-system-libmpdec``::" +msgstr "" +"Модуль :mod:`_decimal` створено з використанням включеної копії бібліотеки " +"libmpdec, якщо збірка не налаштована ``--with-system-libmpdec``::" + +msgid "W3C C14N test suite" +msgstr "Набір тестів W3C C14N" + +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 "" +"Набір тестів C14N 2.0 у пакеті :mod:`test` (``Lib/test/xmltestdata/c14n-20/" +"``) було отримано з веб-сайту W3C за адресою https://www.w3.org/TR/xml-c14n2-" +"testcases/ і розповсюджується за ліцензією BSD із трьох пунктів:" + +msgid "Audioop" +msgstr "" + +msgid "" +"The audioop module uses the code base in g771.c file of the SoX project::" +msgstr "" + +msgid "" +"Programming the AdLib/Sound Blaster FM Music Chips Version 2.0 (24 Feb 1992) " +"Copyright (c) 1991, 1992 by Jeffrey S. Lee jlee@smylex.uucp Warranty and " +"Copyright Policy This document is provided on an \"as-is\" basis, and its " +"author makes no warranty or representation, express or implied, with respect " +"to its quality performance or fitness for a particular purpose. In no event " +"will the author of this document be liable for direct, indirect, special, " +"incidental, or consequential damages arising out of the use or inability to " +"use the information contained within. Use of this document is at your own " +"risk. This file may be used and copied freely so long as the applicable " +"copyright notices are retained, and no modifications are made to the text of " +"the document. No money shall be charged for its distribution beyond " +"reasonable shipping, handling and duplication costs, nor shall proprietary " +"changes be made to this document so that it cannot be distributed freely. " +"This document may not be included in published material or commercial " +"packages without the written consent of its author." +msgstr "" diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po new file mode 100644 index 000000000..4180cf659 --- /dev/null +++ b/reference/compound_stmts.po @@ -0,0 +1,2003 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:19+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Compound statements" +msgstr "Складені висловлювання" + +msgid "" +"Compound statements contain (groups of) other statements; they affect or " +"control the execution of those other statements in some way. In general, " +"compound statements span multiple lines, although in simple incarnations a " +"whole compound statement may be contained in one line." +msgstr "" +"Складені висловлювання містять (групи) інші висловлювання; вони певним чином " +"впливають або контролюють виконання цих інших операторів. Загалом складені " +"висловлювання охоплюють кілька рядків, хоча в простих варіантах ціле " +"складене висловлювання може міститися в одному рядку." + +msgid "" +"The :keyword:`if`, :keyword:`while` and :keyword:`for` statements implement " +"traditional control flow constructs. :keyword:`try` specifies exception " +"handlers and/or cleanup code for a group of statements, while the :keyword:" +"`with` statement allows the execution of initialization and finalization " +"code around a block of code. Function and class definitions are also " +"syntactically compound statements." +msgstr "" +"Оператори :keyword:`if`, :keyword:`while` і :keyword:`for` реалізують " +"традиційні конструкції потоку керування. :keyword:`try` визначає обробники " +"винятків та/або код очищення для групи операторів, тоді як оператор :keyword:" +"`with` дозволяє виконувати код ініціалізації та фіналізації навколо блоку " +"коду. Визначення функцій і класів також є синтаксично складеними " +"висловлюваннями." + +msgid "" +"A compound statement consists of one or more 'clauses.' A clause consists " +"of a header and a 'suite.' The clause headers of a particular compound " +"statement are all at the same indentation level. Each clause header begins " +"with a uniquely identifying keyword and ends with a colon. A suite is a " +"group of statements controlled by a clause. A suite can be one or more " +"semicolon-separated simple statements on the same line as the header, " +"following the header's colon, or it can be one or more indented statements " +"on subsequent lines. Only the latter form of a suite can contain nested " +"compound statements; the following is illegal, mostly because it wouldn't be " +"clear to which :keyword:`if` clause a following :keyword:`else` clause would " +"belong::" +msgstr "" +"Складений оператор складається з одного або кількох \"речень\". Речення " +"складається із заголовка та \"набору\". Усі заголовки речень певного " +"складеного оператора мають однаковий рівень відступу. Кожен заголовок " +"пропозиції починається з унікального ключового слова та закінчується " +"двокрапкою. Набір — це група висловлювань, керованих реченням. Набір може " +"складатися з одного або кількох простих операторів, розділених крапкою з " +"комою, у тому самому рядку, що й заголовок, після двокрапки заголовка, або " +"це може бути один чи більше операторів із відступом у наступних рядках. Лише " +"остання форма набору може містити вкладені складені оператори; наступне є " +"незаконним, здебільшого тому, що було б незрозуміло, до якого пункту :" +"keyword:`if` належало б таке положення :keyword:`else`::" + +msgid "" +"Also note that the semicolon binds tighter than the colon in this context, " +"so that in the following example, either all or none of the :func:`print` " +"calls are executed::" +msgstr "" +"Також зауважте, що в цьому контексті крапка з комою зв’язується сильніше, " +"ніж двокрапка, тому в наступному прикладі виконуються або всі, або жоден із " +"викликів :func:`print`::" + +msgid "Summarizing:" +msgstr "Підведення підсумків:" + +msgid "" +"Note that statements always end in a ``NEWLINE`` possibly followed by a " +"``DEDENT``. Also note that optional continuation clauses always begin with " +"a keyword that cannot start a statement, thus there are no ambiguities (the " +"'dangling :keyword:`else`' problem is solved in Python by requiring nested :" +"keyword:`if` statements to be indented)." +msgstr "" +"Зауважте, що оператори завжди закінчуються на ``NEWLINE``, після якого, " +"можливо, йде ``DEDENT``. Також зауважте, що необов’язкові речення " +"продовження завжди починаються з ключового слова, яке не може розпочинати " +"оператор, тому немає ніяких двозначностей (проблему \"висячих :keyword:`else`" +"\" вирішено в Python, вимагаючи вкладених операторів :keyword:`if` з " +"відступом)." + +msgid "" +"The formatting of the grammar rules in the following sections places each " +"clause on a separate line for clarity." +msgstr "" +"Форматування правил граматики в наступних розділах розміщує кожне речення в " +"окремому рядку для ясності." + +msgid "The :keyword:`!if` statement" +msgstr "Оператор :keyword:`!if`" + +msgid "The :keyword:`if` statement is used for conditional execution:" +msgstr "Оператор :keyword:`if` використовується для умовного виконання:" + +msgid "" +"It selects exactly one of the suites by evaluating the expressions one by " +"one until one is found to be true (see section :ref:`booleans` for the " +"definition of true and false); then that suite is executed (and no other " +"part of the :keyword:`if` statement is executed or evaluated). If all " +"expressions are false, the suite of the :keyword:`else` clause, if present, " +"is executed." +msgstr "" +"Він вибирає точно один із наборів, обчислюючи вирази один за іншим, доки " +"один не буде визнаний істинним (див. розділ :ref:`booleans` для визначення " +"істинного та хибного); тоді цей набір виконується (і жодна інша частина " +"оператора :keyword:`if` не виконується і не оцінюється). Якщо всі вирази " +"хибні, виконується набір пропозиції :keyword:`else`, якщо вона є." + +msgid "The :keyword:`!while` statement" +msgstr "Оператор :keyword:`!while`" + +msgid "" +"The :keyword:`while` statement is used for repeated execution as long as an " +"expression is true:" +msgstr "" +"Інструкція :keyword:`while` використовується для повторного виконання, доки " +"вираз є істинним:" + +msgid "" +"This repeatedly tests the expression and, if it is true, executes the first " +"suite; if the expression is false (which may be the first time it is tested) " +"the suite of the :keyword:`!else` clause, if present, is executed and the " +"loop terminates." +msgstr "" +"Це багаторазово перевіряє вираз і, якщо воно вірне, виконує перший набір; " +"якщо вираз є хибним (що може бути першим, коли його перевіряють), набір " +"пропозиції :keyword:`!else` виконується, і цикл припиняється." + +msgid "" +"A :keyword:`break` statement executed in the first suite terminates the loop " +"without executing the :keyword:`!else` clause's suite. A :keyword:" +"`continue` statement executed in the first suite skips the rest of the suite " +"and goes back to testing the expression." +msgstr "" +"Інструкція :keyword:`break`, виконана в першому наборі, завершує цикл без " +"виконання набору речень :keyword:`!else`. Інструкція :keyword:`continue`, " +"виконана в першому наборі, пропускає решту пакета і повертається до " +"перевірки виразу." + +msgid "The :keyword:`!for` statement" +msgstr "Оператор :keyword:`!for`" + +msgid "" +"The :keyword:`for` statement is used to iterate over the elements of a " +"sequence (such as a string, tuple or list) or other iterable object:" +msgstr "" +"Оператор :keyword:`for` використовується для повторення елементів " +"послідовності (таких як рядок, кортеж або список) або іншого ітерованого " +"об’єкта:" + +msgid "" +"The ``starred_list`` expression is evaluated once; it should yield an :term:" +"`iterable` object. An :term:`iterator` is created for that iterable. The " +"first item provided by the iterator is then assigned to the target list " +"using the standard rules for assignments (see :ref:`assignment`), and the " +"suite is executed. This repeats for each item provided by the iterator. " +"When the iterator is exhausted, the suite in the :keyword:`!else` clause, if " +"present, is executed, and the loop terminates." +msgstr "" + +msgid "" +"A :keyword:`break` statement executed in the first suite terminates the loop " +"without executing the :keyword:`!else` clause's suite. A :keyword:" +"`continue` statement executed in the first suite skips the rest of the suite " +"and continues with the next item, or with the :keyword:`!else` clause if " +"there is no next item." +msgstr "" +"Інструкція :keyword:`break`, виконана в першому наборі, завершує цикл без " +"виконання набору речень :keyword:`!else`. Інструкція :keyword:`continue`, " +"виконана в першому наборі, пропускає решту набору і продовжує з наступним " +"елементом або з пропозицією :keyword:`!else`, якщо наступного елемента немає." + +msgid "" +"The for-loop makes assignments to the variables in the target list. This " +"overwrites all previous assignments to those variables including those made " +"in the suite of the for-loop::" +msgstr "" +"Цикл for виконує призначення змінним у цільовому списку. Це перезаписує всі " +"попередні призначення цим змінним, включаючи ті, що зроблені в наборі циклу " +"for::" + +msgid "" +"Names in the target list are not deleted when the loop is finished, but if " +"the sequence is empty, they will not have been assigned to at all by the " +"loop. Hint: the built-in function :func:`range` returns an iterator of " +"integers suitable to emulate the effect of Pascal's ``for i := a to b do``; " +"e.g., ``list(range(3))`` returns the list ``[0, 1, 2]``." +msgstr "" +"Імена в цільовому списку не видаляються після завершення циклу, але якщо " +"послідовність порожня, вони взагалі не будуть призначені циклом. Підказка: " +"вбудована функція :func:`range` повертає ітератор цілих чисел, придатний для " +"імітації ефекту Pascal ``for i := a to b do``; наприклад, ``list(range(3))`` " +"повертає список ``[0, 1, 2]``." + +msgid "Starred elements are now allowed in the expression list." +msgstr "" + +msgid "The :keyword:`!try` statement" +msgstr "Оператор :keyword:`!try`" + +msgid "" +"The :keyword:`!try` statement specifies exception handlers and/or cleanup " +"code for a group of statements:" +msgstr "" + +msgid "" +"Additional information on exceptions can be found in section :ref:" +"`exceptions`, and information on using the :keyword:`raise` statement to " +"generate exceptions may be found in section :ref:`raise`." +msgstr "" +"Додаткову інформацію про винятки можна знайти в розділі :ref:`exceptions`, а " +"інформацію про використання оператора :keyword:`raise` для створення " +"винятків можна знайти в розділі :ref:`raise`." + +msgid ":keyword:`!except` clause" +msgstr "" + +msgid "" +"The :keyword:`!except` clause(s) specify one or more exception handlers. " +"When no exception occurs in the :keyword:`try` clause, no exception handler " +"is executed. When an exception occurs in the :keyword:`!try` suite, a search " +"for an exception handler is started. This search inspects the :keyword:`!" +"except` clauses in turn until one is found that matches the exception. An " +"expression-less :keyword:`!except` clause, if present, must be last; it " +"matches any exception. For an :keyword:`!except` clause with an expression, " +"that expression is evaluated, and the clause matches the exception if the " +"resulting object is \"compatible\" with the exception. An object is " +"compatible with an exception if the object is the class or a :term:`non-" +"virtual base class ` of the exception object, or a " +"tuple containing an item that is the class or a non-virtual base class of " +"the exception object." +msgstr "" + +msgid "" +"If no :keyword:`!except` clause matches the exception, the search for an " +"exception handler continues in the surrounding code and on the invocation " +"stack. [#]_" +msgstr "" + +msgid "" +"If the evaluation of an expression in the header of an :keyword:`!except` " +"clause raises an exception, the original search for a handler is canceled " +"and a search starts for the new exception in the surrounding code and on the " +"call stack (it is treated as if the entire :keyword:`try` statement raised " +"the exception)." +msgstr "" + +msgid "" +"When a matching :keyword:`!except` clause is found, the exception is " +"assigned to the target specified after the :keyword:`!as` keyword in that :" +"keyword:`!except` clause, if present, and the :keyword:`!except` clause's " +"suite is executed. All :keyword:`!except` clauses must have an executable " +"block. When the end of this block is reached, execution continues normally " +"after the entire :keyword:`try` statement. (This means that if two nested " +"handlers exist for the same exception, and the exception occurs in the :" +"keyword:`!try` clause of the inner handler, the outer handler will not " +"handle the exception.)" +msgstr "" + +msgid "" +"When an exception has been assigned using ``as target``, it is cleared at " +"the end of the :keyword:`!except` clause. This is as if ::" +msgstr "" + +msgid "was translated to ::" +msgstr "було перекладено на::" + +msgid "" +"This means the exception must be assigned to a different name to be able to " +"refer to it after the :keyword:`!except` clause. Exceptions are cleared " +"because with the traceback attached to them, they form a reference cycle " +"with the stack frame, keeping all locals in that frame alive until the next " +"garbage collection occurs." +msgstr "" + +msgid "" +"Before an :keyword:`!except` clause's suite is executed, details about the " +"exception are stored in the :mod:`sys` module and can be accessed via :func:" +"`sys.exc_info`. :func:`sys.exc_info` returns a 3-tuple consisting of the " +"exception class, the exception instance and a traceback object (see section :" +"ref:`types`) identifying the point in the program where the exception " +"occurred. The details about the exception accessed via :func:`sys.exc_info` " +"are restored to their previous values when leaving an exception handler::" +msgstr "" + +msgid ":keyword:`!except*` clause" +msgstr "" + +msgid "" +"The :keyword:`!except*` clause(s) are used for handling :exc:`ExceptionGroup`" +"\\s. The exception type for matching is interpreted as in the case of :" +"keyword:`except`, but in the case of exception groups we can have partial " +"matches when the type matches some of the exceptions in the group. This " +"means that multiple :keyword:`!except*` clauses can execute, each handling " +"part of the exception group. Each clause executes at most once and handles " +"an exception group of all matching exceptions. Each exception in the group " +"is handled by at most one :keyword:`!except*` clause, the first that matches " +"it. ::" +msgstr "" + +msgid "" +"Any remaining exceptions that were not handled by any :keyword:`!except*` " +"clause are re-raised at the end, combined into an exception group along with " +"all exceptions that were raised from within :keyword:`!except*` clauses." +msgstr "" + +msgid "" +"If the raised exception is not an exception group and its type matches one " +"of the :keyword:`!except*` clauses, it is caught and wrapped by an exception " +"group with an empty message string. ::" +msgstr "" + +msgid "" +"An :keyword:`!except*` clause must have a matching type, and this type " +"cannot be a subclass of :exc:`BaseExceptionGroup`. It is not possible to " +"mix :keyword:`except` and :keyword:`!except*` in the same :keyword:`try`. :" +"keyword:`break`, :keyword:`continue` and :keyword:`return` cannot appear in " +"an :keyword:`!except*` clause." +msgstr "" + +msgid ":keyword:`!else` clause" +msgstr "" + +msgid "" +"The optional :keyword:`!else` clause is executed if the control flow leaves " +"the :keyword:`try` suite, no exception was raised, and no :keyword:" +"`return`, :keyword:`continue`, or :keyword:`break` statement was executed. " +"Exceptions in the :keyword:`!else` clause are not handled by the preceding :" +"keyword:`except` clauses." +msgstr "" +"Необов’язкова пропозиція :keyword:`!else` виконується, якщо потік керування " +"виходить із набору :keyword:`try`, не було викликано винятків і немає :" +"keyword:`return`, :keyword:`continue` або Інструкція :keyword:`break` була " +"виконана. Винятки в пункті :keyword:`!else` не обробляються попередніми " +"пунктами :keyword:`except`." + +msgid ":keyword:`!finally` clause" +msgstr "" + +msgid "" +"If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The :" +"keyword:`try` clause is executed, including any :keyword:`except` and :" +"keyword:`else` clauses. If an exception occurs in any of the clauses and is " +"not handled, the exception is temporarily saved. The :keyword:`!finally` " +"clause is executed. If there is a saved exception it is re-raised at the " +"end of the :keyword:`!finally` clause. If the :keyword:`!finally` clause " +"raises another exception, the saved exception is set as the context of the " +"new exception. If the :keyword:`!finally` clause executes a :keyword:" +"`return`, :keyword:`break` or :keyword:`continue` statement, the saved " +"exception is discarded::" +msgstr "" + +msgid "" +"The exception information is not available to the program during execution " +"of the :keyword:`!finally` clause." +msgstr "" + +msgid "" +"When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement " +"is executed in the :keyword:`try` suite of a :keyword:`!try`...\\ :keyword:`!" +"finally` statement, the :keyword:`!finally` clause is also executed 'on the " +"way out.'" +msgstr "" + +msgid "" +"The return value of a function is determined by the last :keyword:`return` " +"statement executed. Since the :keyword:`!finally` clause always executes, " +"a :keyword:`!return` statement executed in the :keyword:`!finally` clause " +"will always be the last one executed::" +msgstr "" + +msgid "" +"Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" +"keyword:`!finally` clause due to a problem with the implementation." +msgstr "" + +msgid "The :keyword:`!with` statement" +msgstr "Оператор :keyword:`!with`" + +msgid "" +"The :keyword:`with` statement is used to wrap the execution of a block with " +"methods defined by a context manager (see section :ref:`context-managers`). " +"This allows common :keyword:`try`...\\ :keyword:`except`...\\ :keyword:" +"`finally` usage patterns to be encapsulated for convenient reuse." +msgstr "" +"Оператор :keyword:`with` використовується для обгортання виконання блоку " +"методами, визначеними контекстним менеджером (див. розділ :ref:`context-" +"managers`). Це дозволяє інкапсулювати загальні :keyword:`try`...\\ :keyword:" +"`except`...\\ :keyword:`finally` моделі використання для зручного повторного " +"використання." + +msgid "" +"The execution of the :keyword:`with` statement with one \"item\" proceeds as " +"follows:" +msgstr "" +"Виконання оператора :keyword:`with` з одним \"елементом\" відбувається " +"наступним чином:" + +msgid "" +"The context expression (the expression given in the :token:`~python-grammar:" +"with_item`) is evaluated to obtain a context manager." +msgstr "" +"Контекстний вираз (вираз, поданий у :token:`~python-grammar:with_item`) " +"обчислюється для отримання контекстного менеджера." + +msgid "The context manager's :meth:`__enter__` is loaded for later use." +msgstr "" +"Менеджер контексту :meth:`__enter__` завантажується для подальшого " +"використання." + +msgid "The context manager's :meth:`__exit__` is loaded for later use." +msgstr "" +"Менеджер контексту :meth:`__exit__` завантажується для подальшого " +"використання." + +msgid "The context manager's :meth:`__enter__` method is invoked." +msgstr "Викликається метод :meth:`__enter__` контекстного менеджера." + +msgid "" +"If a target was included in the :keyword:`with` statement, the return value " +"from :meth:`__enter__` is assigned to it." +msgstr "" +"Якщо мета була включена в оператор :keyword:`with`, їй призначається " +"значення, що повертається з :meth:`__enter__`." + +msgid "" +"The :keyword:`with` statement guarantees that if the :meth:`__enter__` " +"method returns without an error, then :meth:`__exit__` will always be " +"called. Thus, if an error occurs during the assignment to the target list, " +"it will be treated the same as an error occurring within the suite would be. " +"See step 6 below." +msgstr "" +"Оператор :keyword:`with` гарантує, що якщо метод :meth:`__enter__` повертає " +"без помилки, то :meth:`__exit__` завжди буде викликатися. Таким чином, якщо " +"під час призначення цільового списку виникає помилка, вона розглядатиметься " +"так само, як і помилка, яка сталася в наборі. Дивіться крок 6 нижче." + +msgid "The suite is executed." +msgstr "Сюїта виконана." + +msgid "" +"The context manager's :meth:`__exit__` method is invoked. If an exception " +"caused the suite to be exited, its type, value, and traceback are passed as " +"arguments to :meth:`__exit__`. Otherwise, three :const:`None` arguments are " +"supplied." +msgstr "" +"Викликається метод :meth:`__exit__` контекстного менеджера. Якщо виняткова " +"ситуація призвела до виходу з набору, його тип, значення та відстеження " +"передаються як аргументи :meth:`__exit__`. В іншому випадку надається три " +"аргументи :const:`None`." + +msgid "" +"If the suite was exited due to an exception, and the return value from the :" +"meth:`__exit__` method was false, the exception is reraised. If the return " +"value was true, the exception is suppressed, and execution continues with " +"the statement following the :keyword:`with` statement." +msgstr "" +"Якщо набір було закрито через виняток, а значення, яке повертає метод :meth:" +"`__exit__`, було false, виняток створюється повторно. Якщо повернене " +"значення було істинним, виняток пригнічується, і виконання продовжується з " +"оператором, наступним за оператором :keyword:`with`." + +msgid "" +"If the suite was exited for any reason other than an exception, the return " +"value from :meth:`__exit__` is ignored, and execution proceeds at the normal " +"location for the kind of exit that was taken." +msgstr "" +"Якщо вихід із набору було завершено з будь-якої причини, крім винятку, " +"значення, що повертається з :meth:`__exit__`, ігнорується, і виконання " +"продовжується у звичайному місці для того виду виходу, який було зроблено." + +msgid "The following code::" +msgstr "Наступний код::" + +msgid "is semantically equivalent to::" +msgstr "семантично еквівалентний::" + +msgid "" +"With more than one item, the context managers are processed as if multiple :" +"keyword:`with` statements were nested::" +msgstr "" +"З більш ніж одним елементом менеджери контексту обробляються так, ніби " +"кілька операторів :keyword:`with` були вкладеними::" + +msgid "" +"You can also write multi-item context managers in multiple lines if the " +"items are surrounded by parentheses. For example::" +msgstr "" +"Ви також можете писати багатоелементні контекстні менеджери в кілька рядків, " +"якщо елементи оточені дужками. Наприклад::" + +msgid "Support for multiple context expressions." +msgstr "Підтримка кількох контекстних виразів." + +msgid "" +"Support for using grouping parentheses to break the statement in multiple " +"lines." +msgstr "" +"Підтримка використання групування дужок для розбиття оператора на кілька " +"рядків." + +msgid ":pep:`343` - The \"with\" statement" +msgstr ":pep:`343` - оператор \"з\"." + +msgid "" +"The specification, background, and examples for the Python :keyword:`with` " +"statement." +msgstr "Специфікація, передумови та приклади оператора Python :keyword:`with`." + +msgid "The :keyword:`!match` statement" +msgstr "Оператор :keyword:`!match`" + +msgid "The match statement is used for pattern matching. Syntax:" +msgstr "Оператор match використовується для зіставлення шаблону. Синтаксис:" + +msgid "" +"This section uses single quotes to denote :ref:`soft keywords `." +msgstr "" +"У цьому розділі використовуються одинарні лапки для позначення :ref:`м’яких " +"ключових слів `." + +msgid "" +"Pattern matching takes a pattern as input (following ``case``) and a subject " +"value (following ``match``). The pattern (which may contain subpatterns) is " +"matched against the subject value. The outcomes are:" +msgstr "" +"Зіставлення шаблону приймає шаблон як вхідні дані (після ``case``) і " +"значення теми (після ``match``). Шаблон (який може містити підшаблони) " +"зіставляється зі значенням теми. Результати:" + +msgid "A match success or failure (also termed a pattern success or failure)." +msgstr "" +"Успіх або невдача збігу (також називається успішним або невдалим шаблоном)." + +msgid "" +"Possible binding of matched values to a name. The prerequisites for this " +"are further discussed below." +msgstr "" +"Можливе прив’язування відповідних значень до імені. Передумови для цього " +"обговорюються нижче." + +msgid "" +"The ``match`` and ``case`` keywords are :ref:`soft keywords `." +msgstr "" +"Ключові слова ``match`` і ``case`` є :ref:`м'якими ключовими словами `." + +msgid ":pep:`634` -- Structural Pattern Matching: Specification" +msgstr ":pep:`634` -- Зіставлення структурних шаблонів: Специфікація" + +msgid ":pep:`636` -- Structural Pattern Matching: Tutorial" +msgstr ":pep:`636` -- Зіставлення структурних шаблонів: підручник" + +msgid "Overview" +msgstr "Огляд" + +msgid "Here's an overview of the logical flow of a match statement:" +msgstr "Ось огляд логічної послідовності оператора збігу:" + +msgid "" +"The subject expression ``subject_expr`` is evaluated and a resulting subject " +"value obtained. If the subject expression contains a comma, a tuple is " +"constructed using :ref:`the standard rules `." +msgstr "" +"Вираз суб’єкта ``subject_expr`` обчислюється та отримується результуюче " +"значення предмета. Якщо вираз теми містить кому, кортеж створюється за " +"допомогою :ref:`стандартних правил `." + +msgid "" +"Each pattern in a ``case_block`` is attempted to match with the subject " +"value. The specific rules for success or failure are described below. The " +"match attempt can also bind some or all of the standalone names within the " +"pattern. The precise pattern binding rules vary per pattern type and are " +"specified below. **Name bindings made during a successful pattern match " +"outlive the executed block and can be used after the match statement**." +msgstr "" +"Кожен шаблон у ``case_block`` намагається зіставити зі значенням теми. " +"Конкретні правила успіху чи невдачі описані нижче. Спроба збігу також може " +"пов’язати деякі або всі окремі імена в шаблоні. Точні правила зв’язування " +"шаблону залежать від типу шаблону та вказані нижче. **Прив’язки імен, " +"зроблені під час успішного збігу шаблону, переживають виконаний блок і " +"можуть використовуватися після оператора збігу**." + +msgid "" +"During failed pattern matches, some subpatterns may succeed. Do not rely on " +"bindings being made for a failed match. Conversely, do not rely on " +"variables remaining unchanged after a failed match. The exact behavior is " +"dependent on implementation and may vary. This is an intentional decision " +"made to allow different implementations to add optimizations." +msgstr "" +"Під час невдалих збігів шаблонів деякі підшаблони можуть бути успішними. Не " +"покладайтеся на прив’язки, зроблені для невдалого матчу. І навпаки, не " +"покладайтеся на те, що змінні залишаться незмінними після невдалого збігу. " +"Точна поведінка залежить від реалізації та може відрізнятися. Це навмисне " +"рішення, яке дозволяє оптимізувати різні реалізації." + +msgid "" +"If the pattern succeeds, the corresponding guard (if present) is evaluated. " +"In this case all name bindings are guaranteed to have happened." +msgstr "" +"Якщо шаблон успішний, відповідний охоронець (якщо присутній) оцінюється. У " +"цьому випадку всі прив’язки імен гарантовано відбулися." + +msgid "" +"If the guard evaluates as true or is missing, the ``block`` inside " +"``case_block`` is executed." +msgstr "" +"Якщо guard оцінює як true або відсутній, виконується ``block`` всередині " +"``case_block``." + +msgid "Otherwise, the next ``case_block`` is attempted as described above." +msgstr "Інакше виконується спроба наступного ``case_block``, як описано вище." + +msgid "If there are no further case blocks, the match statement is completed." +msgstr "Якщо немає інших блоків регістру, оператор збігу завершується." + +msgid "" +"Users should generally never rely on a pattern being evaluated. Depending " +"on implementation, the interpreter may cache values or use other " +"optimizations which skip repeated evaluations." +msgstr "" +"Зазвичай користувачі ніколи не повинні покладатися на шаблон, що оцінюється. " +"Залежно від реалізації, інтерпретатор може кешувати значення або " +"використовувати інші оптимізації, які пропускають повторні оцінки." + +msgid "A sample match statement::" +msgstr "Зразок заяви про відповідність::" + +msgid "" +"In this case, ``if flag`` is a guard. Read more about that in the next " +"section." +msgstr "" +"У цьому випадку ``if flag`` є охороною. Докладніше про це читайте в " +"наступному розділі." + +msgid "Guards" +msgstr "Охоронці" + +msgid "" +"A ``guard`` (which is part of the ``case``) must succeed for code inside the " +"``case`` block to execute. It takes the form: :keyword:`if` followed by an " +"expression." +msgstr "" +"``guard`` (який є частиною ``case``) має бути успішним для виконання коду " +"всередині блоку ``case``. Він приймає форму: :keyword:`if`, після якого йде " +"вираз." + +msgid "The logical flow of a ``case`` block with a ``guard`` follows:" +msgstr "Логічний послідовність блоку ``case`` з ``guard`` наступна:" + +msgid "" +"Check that the pattern in the ``case`` block succeeded. If the pattern " +"failed, the ``guard`` is not evaluated and the next ``case`` block is " +"checked." +msgstr "" +"Переконайтеся, що шаблон у блоці ``case`` виконано успішно. Якщо шаблон не " +"вдається, ``guard`` не оцінюється, і перевіряється наступний ``case`` блок." + +msgid "If the pattern succeeded, evaluate the ``guard``." +msgstr "Якщо шаблон вдався, оцініть ``guard``." + +msgid "" +"If the ``guard`` condition evaluates as true, the case block is selected." +msgstr "Якщо умова ``guard`` оцінюється як істинна, вибирається блок регістру." + +msgid "" +"If the ``guard`` condition evaluates as false, the case block is not " +"selected." +msgstr "Якщо умова ``guard`` оцінюється як false, блок регістру не вибрано." + +msgid "" +"If the ``guard`` raises an exception during evaluation, the exception " +"bubbles up." +msgstr "" +"Якщо ``охоронець`` викликає виняток під час оцінки, виняток з'являється." + +msgid "" +"Guards are allowed to have side effects as they are expressions. Guard " +"evaluation must proceed from the first to the last case block, one at a " +"time, skipping case blocks whose pattern(s) don't all succeed. (I.e., guard " +"evaluation must happen in order.) Guard evaluation must stop once a case " +"block is selected." +msgstr "" +"Охоронцям дозволено мати побічні ефекти, оскільки вони є виразами. Оцінка " +"Guard повинна проходити від першого до останнього блоку регістрів, по " +"одному, пропускаючи блоки регістрів, шаблон(и) яких не всі є успішними. " +"(Тобто оцінка охорони має відбуватися в порядку.) Оцінка охорони має " +"припинитися, коли вибрано блок справи." + +msgid "Irrefutable Case Blocks" +msgstr "Незаперечні блоки випадків" + +msgid "" +"An irrefutable case block is a match-all case block. A match statement may " +"have at most one irrefutable case block, and it must be last." +msgstr "" +"Незаперечний блок регістрів — це блок регістрів, що відповідає всім " +"регістрам. Інструкція збігу може мати щонайбільше один неспростовний блок " +"регістру, і він має бути останнім." + +msgid "" +"A case block is considered irrefutable if it has no guard and its pattern is " +"irrefutable. A pattern is considered irrefutable if we can prove from its " +"syntax alone that it will always succeed. Only the following patterns are " +"irrefutable:" +msgstr "" +"Блок футляра вважається незаперечним, якщо він не має захисного елемента і " +"його візерунок є неспростовним. Патерн вважається неспростовним, якщо ми " +"можемо довести лише з його синтаксису, що він завжди матиме успіх. " +"Незаперечними є лише такі закономірності:" + +msgid ":ref:`as-patterns` whose left-hand side is irrefutable" +msgstr ":ref:`as-patterns`, ліва сторона якого неспростовна" + +msgid ":ref:`or-patterns` containing at least one irrefutable pattern" +msgstr ":ref:`or-patterns`, що містить принаймні один неспростовний шаблон" + +msgid ":ref:`capture-patterns`" +msgstr ":ref:`capture-patterns`" + +msgid ":ref:`wildcard-patterns`" +msgstr ":ref:`wildcard-patterns`" + +msgid "parenthesized irrefutable patterns" +msgstr "в дужках неспростовні закономірності" + +msgid "Patterns" +msgstr "Візерунки" + +msgid "This section uses grammar notations beyond standard EBNF:" +msgstr "" +"У цьому розділі використовуються граматичні нотації поза стандартними EBNF:" + +msgid "the notation ``SEP.RULE+`` is shorthand for ``RULE (SEP RULE)*``" +msgstr "позначення ``SEP.RULE+`` є скороченням для ``RULE (SEP RULE)*``" + +msgid "the notation ``!RULE`` is shorthand for a negative lookahead assertion" +msgstr "" +"нотація ``!RULE`` є скороченням для негативного твердження попереднього " +"перегляду" + +msgid "The top-level syntax for ``patterns`` is:" +msgstr "Синтаксис верхнього рівня для ``патернів`` такий:" + +msgid "" +"The descriptions below will include a description \"in simple terms\" of " +"what a pattern does for illustration purposes (credits to Raymond Hettinger " +"for a document that inspired most of the descriptions). Note that these " +"descriptions are purely for illustration purposes and **may not** reflect " +"the underlying implementation. Furthermore, they do not cover all valid " +"forms." +msgstr "" +"Наведені нижче описи включатимуть опис \"у простих термінах\" того, що " +"робить шаблон для цілей ілюстрації (заслуга Реймонда Геттінгера за документ, " +"який надихнув більшість описів). Зауважте, що ці описи наведено лише для " +"ілюстрації та **можуть** не відображати базову реалізацію. Крім того, вони " +"не охоплюють усіх дійсних форм." + +msgid "OR Patterns" +msgstr "АБО Шаблони" + +msgid "" +"An OR pattern is two or more patterns separated by vertical bars ``|``. " +"Syntax:" +msgstr "" +"Шаблон АБО — це два або більше шаблонів, розділених вертикальними рисками ``|" +"``. Синтаксис:" + +msgid "" +"Only the final subpattern may be :ref:`irrefutable `, and " +"each subpattern must bind the same set of names to avoid ambiguity." +msgstr "" +"Лише остаточний підшаблон може бути :ref:`irrefutable `, і " +"кожен підшаблон повинен пов’язувати однаковий набір імен, щоб уникнути " +"двозначності." + +msgid "" +"An OR pattern matches each of its subpatterns in turn to the subject value, " +"until one succeeds. The OR pattern is then considered successful. " +"Otherwise, if none of the subpatterns succeed, the OR pattern fails." +msgstr "" +"Шаблон АБО зіставляє кожен зі своїх підшаблонів по черзі зі значенням " +"суб’єкта, поки один не досягне успіху. Потім шаблон АБО вважається успішним. " +"В іншому випадку, якщо жоден із підшаблонів не вдасться, шаблон АБО буде " +"невдалим." + +msgid "" +"In simple terms, ``P1 | P2 | ...`` will try to match ``P1``, if it fails it " +"will try to match ``P2``, succeeding immediately if any succeeds, failing " +"otherwise." +msgstr "" +"Простіше кажучи, ``P1 | P2 | ...`` намагатиметься знайти відповідність " +"``P1``, якщо це не вдасться, вона спробує знайти ``P2``, успішно негайно, " +"якщо будь-який з них вдасться, інакше не вдасться." + +msgid "AS Patterns" +msgstr "AS Patterns" + +msgid "" +"An AS pattern matches an OR pattern on the left of the :keyword:`as` keyword " +"against a subject. Syntax:" +msgstr "" +"Шаблон AS відповідає шаблону АБО ліворуч від ключового слова :keyword:`as` " +"щодо теми. Синтаксис:" + +msgid "" +"If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern " +"binds the subject to the name on the right of the as keyword and succeeds. " +"``capture_pattern`` cannot be a a ``_``." +msgstr "" +"Якщо шаблон АБО не працює, шаблон AS не працює. В іншому випадку шаблон AS " +"прив’язує тему до імені праворуч від ключового слова as і виконується " +"успішно. ``capture_pattern`` не може бути ``_``." + +msgid "" +"In simple terms ``P as NAME`` will match with ``P``, and on success it will " +"set ``NAME = ``." +msgstr "" +"Простіше кажучи, ``P as NAME`` співпадатиме з ``P``, і в разі успіху буде " +"встановлено ``NAME = ``." + +msgid "Literal Patterns" +msgstr "Літеральні візерунки" + +msgid "" +"A literal pattern corresponds to most :ref:`literals ` in Python. " +"Syntax:" +msgstr "" +"Шаблон літералів відповідає більшості :ref:`літералів ` у Python. " +"Синтаксис:" + +msgid "" +"The rule ``strings`` and the token ``NUMBER`` are defined in the :doc:" +"`standard Python grammar <./grammar>`. Triple-quoted strings are " +"supported. Raw strings and byte strings are supported. :ref:`f-strings` " +"are not supported." +msgstr "" +"Правило ``рядки`` і токен ``ЧИСЛО`` визначено в :doc:`стандартній граматиці " +"Python <./grammar>`. Підтримуються рядки в потрійних лапках. Підтримуються " +"необроблені рядки та рядки байтів. :ref:`f-strings` не підтримуються." + +msgid "" +"The forms ``signed_number '+' NUMBER`` and ``signed_number '-' NUMBER`` are " +"for expressing :ref:`complex numbers `; they require a real " +"number on the left and an imaginary number on the right. E.g. ``3 + 4j``." +msgstr "" +"Форми ``число_знак '+' ЧИСЛО`` і ``число_знак '-' ЧИСЛО`` призначені для " +"вираження :ref:`комплексних чисел `; вони вимагають дійсного " +"числа зліва та уявного числа справа. наприклад ``3 + 4j``." + +msgid "" +"In simple terms, ``LITERAL`` will succeed only if `` == LITERAL``. " +"For the singletons ``None``, ``True`` and ``False``, the :keyword:`is` " +"operator is used." +msgstr "" +"Простіше кажучи, ``LITERAL`` буде успішним, лише якщо `` == " +"LITERAL``. Для синглтонів ``None``, ``True`` і ``False`` використовується " +"оператор :keyword:`is`." + +msgid "Capture Patterns" +msgstr "Захоплення шаблонів" + +msgid "A capture pattern binds the subject value to a name. Syntax:" +msgstr "Шаблон захоплення прив’язує значення теми до імені. Синтаксис:" + +msgid "" +"A single underscore ``_`` is not a capture pattern (this is what ``!'_'`` " +"expresses). It is instead treated as a :token:`~python-grammar:" +"wildcard_pattern`." +msgstr "" +"Одне підкреслення ``_`` не є шаблоном захоплення (це те, що ``!'_''`` " +"виражає). Натомість він розглядається як :token:`~python-grammar:" +"wildcard_pattern`." + +msgid "" +"In a given pattern, a given name can only be bound once. E.g. ``case x, " +"x: ...`` is invalid while ``case [x] | x: ...`` is allowed." +msgstr "" +"У заданому шаблоні дане ім’я може бути пов’язане лише один раз. наприклад " +"``case x, x: ...`` недійсний, тоді як ``case [x] | x: ...`` дозволено." + +msgid "" +"Capture patterns always succeed. The binding follows scoping rules " +"established by the assignment expression operator in :pep:`572`; the name " +"becomes a local variable in the closest containing function scope unless " +"there's an applicable :keyword:`global` or :keyword:`nonlocal` statement." +msgstr "" +"Захоплення шаблонів завжди вдається. Зв’язування відповідає правилам області " +"видимості, встановленим оператором виразу присвоєння в :pep:`572`; ім'я стає " +"локальною змінною в найближчій області видимості функції, якщо немає " +"відповідного оператора :keyword:`global` або :keyword:`nonlocal`." + +msgid "" +"In simple terms ``NAME`` will always succeed and it will set ``NAME = " +"``." +msgstr "" +"Простіше кажучи, ``NAME`` завжди матиме успіх і встановлюватиме ``NAME = " +"``." + +msgid "Wildcard Patterns" +msgstr "Шаблони підстановок" + +msgid "" +"A wildcard pattern always succeeds (matches anything) and binds no name. " +"Syntax:" +msgstr "" +"Шаблон підстановки завжди успішний (відповідає будь-чому) і не прив’язує " +"жодного імені. Синтаксис:" + +msgid "" +"``_`` is a :ref:`soft keyword ` within any pattern, but only " +"within patterns. It is an identifier, as usual, even within ``match`` " +"subject expressions, ``guard``\\ s, and ``case`` blocks." +msgstr "" +"``_`` є :ref:`м'яким ключовим словом ` у будь-якому шаблоні, " +"але лише всередині шаблонів. Це ідентифікатор, як зазвичай, навіть у виразах " +"теми ``match``, ``guard``\\ s і ``case`` блоків." + +msgid "In simple terms, ``_`` will always succeed." +msgstr "Простіше кажучи, ``_`` завжди матиме успіх." + +msgid "Value Patterns" +msgstr "Шаблони цінностей" + +msgid "A value pattern represents a named value in Python. Syntax:" +msgstr "Шаблон значення представляє іменоване значення в Python. Синтаксис:" + +msgid "" +"The dotted name in the pattern is looked up using standard Python :ref:`name " +"resolution rules `. The pattern succeeds if the value found " +"compares equal to the subject value (using the ``==`` equality operator)." +msgstr "" +"Пунктирна назва в шаблоні шукається за допомогою стандартних Python :ref:" +"`правил розпізнавання імен `. Шаблон виконується успішно, " +"якщо знайдене значення порівнюється зі значенням предмета (з використанням " +"оператора рівності ``==``)." + +msgid "" +"In simple terms ``NAME1.NAME2`` will succeed only if `` == NAME1." +"NAME2``" +msgstr "" +"Простіше кажучи, ``NAME1.NAME2`` буде успішним, лише якщо `` == " +"NAME1.NAME2``" + +msgid "" +"If the same value occurs multiple times in the same match statement, the " +"interpreter may cache the first value found and reuse it rather than repeat " +"the same lookup. This cache is strictly tied to a given execution of a " +"given match statement." +msgstr "" +"Якщо те саме значення зустрічається кілька разів у тому самому операторі " +"збігу, інтерпретатор може кешувати перше знайдене значення та " +"використовувати його повторно, а не повторювати той самий пошук. Цей кеш " +"суворо прив’язаний до заданого виконання даного оператора відповідності." + +msgid "Group Patterns" +msgstr "Шаблони груп" + +msgid "" +"A group pattern allows users to add parentheses around patterns to emphasize " +"the intended grouping. Otherwise, it has no additional syntax. Syntax:" +msgstr "" +"Груповий шаблон дозволяє користувачам додавати дужки навколо шаблонів, щоб " +"підкреслити передбачуване групування. В іншому випадку він не має " +"додаткового синтаксису. Синтаксис:" + +msgid "In simple terms ``(P)`` has the same effect as ``P``." +msgstr "Простіше кажучи, ``(P)`` має той самий ефект, що ``P``." + +msgid "Sequence Patterns" +msgstr "Шаблони послідовності" + +msgid "" +"A sequence pattern contains several subpatterns to be matched against " +"sequence elements. The syntax is similar to the unpacking of a list or tuple." +msgstr "" +"Шаблон послідовності містить кілька підшаблонів, які потрібно зіставити з " +"елементами послідовності. Синтаксис подібний до розпакування списку або " +"кортежу." + +msgid "" +"There is no difference if parentheses or square brackets are used for " +"sequence patterns (i.e. ``(...)`` vs ``[...]`` )." +msgstr "" +"Немає різниці, якщо дужки або квадратні дужки використовуються для шаблонів " +"послідовності (тобто ``(...)`` проти ``[...]`` )." + +msgid "" +"A single pattern enclosed in parentheses without a trailing comma (e.g. ``(3 " +"| 4)``) is a :ref:`group pattern `. While a single pattern " +"enclosed in square brackets (e.g. ``[3 | 4]``) is still a sequence pattern." +msgstr "" +"Один шаблон, укладений у дужки без кінцевої коми (наприклад, ``(3 | 4)``), " +"є :ref:`груповим шаблоном `. У той час як один шаблон, " +"укладений у квадратні дужки (наприклад, ``[3 | 4]``), все ще є шаблоном " +"послідовності." + +msgid "" +"At most one star subpattern may be in a sequence pattern. The star " +"subpattern may occur in any position. If no star subpattern is present, the " +"sequence pattern is a fixed-length sequence pattern; otherwise it is a " +"variable-length sequence pattern." +msgstr "" +"Щонайбільше один зірковий підшаблон може бути в шаблоні послідовності. " +"Підшаблон зірки може з’являтися в будь-якій позиції. Якщо підшаблон зірки " +"відсутній, шаблон послідовності є шаблоном послідовності фіксованої довжини; " +"інакше це шаблон послідовності змінної довжини." + +msgid "" +"The following is the logical flow for matching a sequence pattern against a " +"subject value:" +msgstr "" +"Нижче наведено логічний потік для зіставлення шаблону послідовності зі " +"значенням предмета:" + +msgid "" +"If the subject value is not a sequence [#]_, the sequence pattern fails." +msgstr "" +"Якщо значення теми не є послідовністю [#]_, шаблон послідовності не " +"виконується." + +msgid "" +"If the subject value is an instance of ``str``, ``bytes`` or ``bytearray`` " +"the sequence pattern fails." +msgstr "" +"Якщо значення теми є екземпляром ``str``, ``bytes`` або ``bytearray``, " +"шаблон послідовності не виконується." + +msgid "" +"The subsequent steps depend on whether the sequence pattern is fixed or " +"variable-length." +msgstr "" +"Подальші кроки залежать від того, чи є шаблон послідовності фіксованою чи " +"змінною довжиною." + +msgid "If the sequence pattern is fixed-length:" +msgstr "Якщо шаблон послідовності має фіксовану довжину:" + +msgid "" +"If the length of the subject sequence is not equal to the number of " +"subpatterns, the sequence pattern fails" +msgstr "" +"Якщо довжина предметної послідовності не дорівнює кількості підшаблонів, " +"шаблон послідовності не вдається" + +msgid "" +"Subpatterns in the sequence pattern are matched to their corresponding items " +"in the subject sequence from left to right. Matching stops as soon as a " +"subpattern fails. If all subpatterns succeed in matching their " +"corresponding item, the sequence pattern succeeds." +msgstr "" +"Підшаблони в шаблоні послідовності зіставляються з відповідними елементами в " +"послідовності предметів зліва направо. Зіставлення припиняється, як тільки " +"підшаблон не вдається. Якщо всі підшаблони успішно відповідають їхньому " +"відповідному елементу, шаблон послідовності вдається." + +msgid "Otherwise, if the sequence pattern is variable-length:" +msgstr "В іншому випадку, якщо шаблон послідовності має змінну довжину:" + +msgid "" +"If the length of the subject sequence is less than the number of non-star " +"subpatterns, the sequence pattern fails." +msgstr "" +"Якщо довжина предметної послідовності менша за кількість незіркових " +"підшаблонів, шаблон послідовності не вдається." + +msgid "" +"The leading non-star subpatterns are matched to their corresponding items as " +"for fixed-length sequences." +msgstr "" +"Провідні незіркові підшаблони зіставляються з відповідними елементами, як " +"для послідовностей фіксованої довжини." + +msgid "" +"If the previous step succeeds, the star subpattern matches a list formed of " +"the remaining subject items, excluding the remaining items corresponding to " +"non-star subpatterns following the star subpattern." +msgstr "" +"Якщо попередній крок виконано успішно, підшаблон зірочки збігається зі " +"списком, сформованим із решти предметних елементів, за винятком решти " +"елементів, що відповідають підшаблонам без зірочки, які слідують за " +"підшаблоном зірочки." + +msgid "" +"Remaining non-star subpatterns are matched to their corresponding subject " +"items, as for a fixed-length sequence." +msgstr "" +"Решта підшаблонів без зірок зіставляються з відповідними предметними " +"елементами, як для послідовності фіксованої довжини." + +msgid "" +"The length of the subject sequence is obtained via :func:`len` (i.e. via " +"the :meth:`__len__` protocol). This length may be cached by the interpreter " +"in a similar manner as :ref:`value patterns `." +msgstr "" +"Довжина предметної послідовності визначається через :func:`len` (тобто " +"через :meth:`__len__` протокол). Ця довжина може бути кешована " +"інтерпретатором подібним чином, як :ref:`шаблони значень `." + +msgid "" +"In simple terms ``[P1, P2, P3,`` ... ``, P]`` matches only if all the " +"following happens:" +msgstr "" +"Простіше кажучи, ``[P1, P2, P3,`` ... ``, P ]`` збігається, лише якщо " +"відбувається все наступне:" + +msgid "check ```` is a sequence" +msgstr "перевірка ```` є послідовністю" + +msgid "``len(subject) == ``" +msgstr "``len(subject) == ``" + +msgid "" +"``P1`` matches ``[0]`` (note that this match can also bind names)" +msgstr "" +"``P1`` відповідає `` [0]`` (зауважте, що цей збіг також може " +"пов’язувати імена)" + +msgid "" +"``P2`` matches ``[1]`` (note that this match can also bind names)" +msgstr "" +"``P2`` відповідає `` [1]`` (зауважте, що цей збіг також може " +"пов’язувати імена)" + +msgid "... and so on for the corresponding pattern/element." +msgstr "... і так далі для відповідного шаблону/елемента." + +msgid "Mapping Patterns" +msgstr "Шаблони відображення" + +msgid "" +"A mapping pattern contains one or more key-value patterns. The syntax is " +"similar to the construction of a dictionary. Syntax:" +msgstr "" +"Шаблон зіставлення містить один або кілька шаблонів ключ-значення. Синтаксис " +"подібний до побудови словника. Синтаксис:" + +msgid "" +"At most one double star pattern may be in a mapping pattern. The double " +"star pattern must be the last subpattern in the mapping pattern." +msgstr "" +"Щонайбільше один шаблон подвійної зірки може бути в шаблоні відображення. " +"Шаблон подвійної зірки має бути останнім підшаблоном у шаблоні відображення." + +msgid "" +"Duplicate keys in mapping patterns are disallowed. Duplicate literal keys " +"will raise a :exc:`SyntaxError`. Two keys that otherwise have the same value " +"will raise a :exc:`ValueError` at runtime." +msgstr "" +"Дублікати ключів у шаблонах зіставлення заборонені. Повторювані ключі " +"літералів викличуть :exc:`SyntaxError`. Два ключі, які інакше мають однакові " +"значення, викликають :exc:`ValueError` під час виконання." + +msgid "" +"The following is the logical flow for matching a mapping pattern against a " +"subject value:" +msgstr "" +"Нижче наведено логічний потік для зіставлення шаблону зіставлення зі " +"значенням предмета:" + +msgid "If the subject value is not a mapping [#]_,the mapping pattern fails." +msgstr "" +"Якщо значення предмета не є відображенням [#]_, шаблон відображення не " +"виконується." + +msgid "" +"If every key given in the mapping pattern is present in the subject mapping, " +"and the pattern for each key matches the corresponding item of the subject " +"mapping, the mapping pattern succeeds." +msgstr "" +"Якщо кожен ключ, поданий у шаблоні відображення, присутній у відображенні " +"предмета, і шаблон для кожного ключа збігається з відповідним елементом " +"відображення предмета, шаблон відображення є успішним." + +msgid "" +"If duplicate keys are detected in the mapping pattern, the pattern is " +"considered invalid. A :exc:`SyntaxError` is raised for duplicate literal " +"values; or a :exc:`ValueError` for named keys of the same value." +msgstr "" +"Якщо в шаблоні відображення виявлено повторювані ключі, шаблон вважається " +"недійсним. :exc:`SyntaxError` виникає для повторюваних літеральних значень; " +"або :exc:`ValueError` для іменованих ключів з тим самим значенням." + +msgid "" +"Key-value pairs are matched using the two-argument form of the mapping " +"subject's ``get()`` method. Matched key-value pairs must already be present " +"in the mapping, and not created on-the-fly via :meth:`__missing__` or :meth:" +"`__getitem__`." +msgstr "" +"Пари ключ-значення зіставляються за допомогою форми з двома аргументами " +"методу get() суб’єкта зіставлення. Зібрані пари ключ-значення мають уже бути " +"присутніми у відображенні, а не створюватися на льоту за допомогою :meth:" +"`__missing__` або :meth:`__getitem__`." + +msgid "" +"In simple terms ``{KEY1: P1, KEY2: P2, ... }`` matches only if all the " +"following happens:" +msgstr "" +"Простіше кажучи, ``{KEY1: P1, KEY2: P2, ... }`` відповідає, лише якщо " +"відбувається все наступне:" + +msgid "check ```` is a mapping" +msgstr "перевірка ```` є відображенням" + +msgid "``KEY1 in ``" +msgstr "``KEY1 in ``" + +msgid "``P1`` matches ``[KEY1]``" +msgstr "``P1`` відповідає ``[KEY1]``" + +msgid "... and so on for the corresponding KEY/pattern pair." +msgstr "... і так далі для відповідної пари КЛЮЧ/шаблон." + +msgid "Class Patterns" +msgstr "Шаблони класів" + +msgid "" +"A class pattern represents a class and its positional and keyword arguments " +"(if any). Syntax:" +msgstr "" +"Шаблон класу представляє клас і його позиційні та ключові аргументи (якщо " +"такі є). Синтаксис:" + +msgid "The same keyword should not be repeated in class patterns." +msgstr "Те саме ключове слово не повинно повторюватися в шаблонах класів." + +msgid "" +"The following is the logical flow for matching a class pattern against a " +"subject value:" +msgstr "" +"Нижче наведено логічний потік для зіставлення шаблону класу зі значенням " +"предмета:" + +msgid "" +"If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise :" +"exc:`TypeError`." +msgstr "" +"Якщо ``name_or_attr`` не є екземпляром вбудованого :class:`type` , " +"викликати :exc:`TypeError`." + +msgid "" +"If the subject value is not an instance of ``name_or_attr`` (tested via :" +"func:`isinstance`), the class pattern fails." +msgstr "" +"Якщо значення теми не є екземпляром ``name_or_attr`` (перевірено через :func:" +"`isinstance`), шаблон класу не вдається." + +msgid "" +"If no pattern arguments are present, the pattern succeeds. Otherwise, the " +"subsequent steps depend on whether keyword or positional argument patterns " +"are present." +msgstr "" +"Якщо аргументи шаблону відсутні, шаблон виконується успішно. В іншому " +"випадку наступні кроки залежать від того, чи присутні шаблони ключових слів " +"або позиційних аргументів." + +msgid "" +"For a number of built-in types (specified below), a single positional " +"subpattern is accepted which will match the entire subject; for these types " +"keyword patterns also work as for other types." +msgstr "" +"Для ряду вбудованих типів (зазначених нижче) приймається один позиційний " +"підшаблон, який відповідатиме всьому об’єкту; для цих типів шаблони ключових " +"слів також працюють, як і для інших типів." + +msgid "" +"If only keyword patterns are present, they are processed as follows, one by " +"one:" +msgstr "" +"Якщо присутні лише шаблони ключових слів, вони обробляються таким чином, " +"один за іншим:" + +msgid "I. The keyword is looked up as an attribute on the subject." +msgstr "I. Ключове слово шукається як атрибут теми." + +msgid "" +"If this raises an exception other than :exc:`AttributeError`, the exception " +"bubbles up." +msgstr "" +"Якщо це викликає виняток, відмінний від :exc:`AttributeError`, виняток " +"з’являється." + +msgid "If this raises :exc:`AttributeError`, the class pattern has failed." +msgstr "" +"Якщо це викликає помилку :exc:`AttributeError`, шаблон класу стався невдало." + +msgid "" +"Else, the subpattern associated with the keyword pattern is matched against " +"the subject's attribute value. If this fails, the class pattern fails; if " +"this succeeds, the match proceeds to the next keyword." +msgstr "" +"В іншому випадку підшаблон, пов’язаний із шаблоном ключового слова, " +"зіставляється зі значенням атрибута суб’єкта. Якщо це не вдається, шаблон " +"класу не працює; якщо це вдається, відповідність переходить до наступного " +"ключового слова." + +msgid "II. If all keyword patterns succeed, the class pattern succeeds." +msgstr "II. Якщо всі шаблони ключових слів успішні, шаблон класу успішний." + +msgid "" +"If any positional patterns are present, they are converted to keyword " +"patterns using the :data:`~object.__match_args__` attribute on the class " +"``name_or_attr`` before matching:" +msgstr "" +"Якщо присутні будь-які позиційні шаблони, вони перетворюються на шаблони " +"ключових слів за допомогою атрибута :data:`~object.__match_args__` класу " +"``name_or_attr`` перед відповідністю:" + +msgid "" +"I. The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." +msgstr "I. Викликається еквівалент ``getattr(cls, \"__match_args__\", ())``." + +msgid "If this raises an exception, the exception bubbles up." +msgstr "Якщо це викликає виняток, виняток з’являється." + +msgid "" +"If the returned value is not a tuple, the conversion fails and :exc:" +"`TypeError` is raised." +msgstr "" +"Якщо повернуте значення не є кортежем, перетворення не вдається, і виникає :" +"exc:`TypeError`." + +msgid "" +"If there are more positional patterns than ``len(cls.__match_args__)``, :exc:" +"`TypeError` is raised." +msgstr "" +"Якщо є більше позиційних шаблонів, ніж ``len(cls.__match_args__)``, виникає :" +"exc:`TypeError`." + +msgid "" +"Otherwise, positional pattern ``i`` is converted to a keyword pattern using " +"``__match_args__[i]`` as the keyword. ``__match_args__[i]`` must be a " +"string; if not :exc:`TypeError` is raised." +msgstr "" +"В іншому випадку позиційний шаблон ``i`` перетворюється на шаблон ключового " +"слова з використанням ``__match_args__[i]`` як ключове слово. " +"``__match_args__[i]`` має бути рядком; якщо ні, виникає :exc:`TypeError`." + +msgid "If there are duplicate keywords, :exc:`TypeError` is raised." +msgstr "Якщо є повторювані ключові слова, виникає :exc:`TypeError`." + +msgid ":ref:`class-pattern-matching`" +msgstr ":ref:`class-pattern-matching`" + +msgid "" +"II. Once all positional patterns have been converted to keyword patterns," +msgstr "II. Коли всі позиційні моделі буде перетворено на ключові слова," + +msgid "the match proceeds as if there were only keyword patterns." +msgstr "відповідність відбувається так, якби були лише шаблони ключових слів." + +msgid "" +"For the following built-in types the handling of positional subpatterns is " +"different:" +msgstr "" +"Для наступних вбудованих типів обробка позиційних підшаблонів відрізняється:" + +msgid ":class:`bool`" +msgstr ":class:`bool`" + +msgid ":class:`bytearray`" +msgstr ":class:`bytearray`" + +msgid ":class:`bytes`" +msgstr ":class:`bytes`" + +msgid ":class:`dict`" +msgstr ":class:`dict`" + +msgid ":class:`float`" +msgstr ":class:`float`" + +msgid ":class:`frozenset`" +msgstr ":class:`frozenset`" + +msgid ":class:`int`" +msgstr ":class:`int`" + +msgid ":class:`list`" +msgstr ":class:`list`" + +msgid ":class:`set`" +msgstr ":class:`set`" + +msgid ":class:`str`" +msgstr ":class:`str`" + +msgid ":class:`tuple`" +msgstr ":class:`tuple`" + +msgid "" +"These classes accept a single positional argument, and the pattern there is " +"matched against the whole object rather than an attribute. For example " +"``int(0|1)`` matches the value ``0``, but not the value ``0.0``." +msgstr "" + +msgid "" +"In simple terms ``CLS(P1, attr=P2)`` matches only if the following happens:" +msgstr "" +"Простіше кажучи, ``CLS(P1, attr=P2)`` збігається, лише якщо відбувається " +"таке:" + +msgid "``isinstance(, CLS)``" +msgstr "``isinstance( , CLS)``" + +msgid "convert ``P1`` to a keyword pattern using ``CLS.__match_args__``" +msgstr "" +"перетворити ``P1`` на шаблон ключового слова за допомогою ``CLS." +"__match_args__``" + +msgid "For each keyword argument ``attr=P2``:" +msgstr "Для кожного аргументу ключового слова ``attr=P2``:" + +msgid "``hasattr(, \"attr\")``" +msgstr "``hasattr( , \"attr\")``" + +msgid "``P2`` matches ``.attr``" +msgstr "``P2`` відповідає `` .attr``" + +msgid "... and so on for the corresponding keyword argument/pattern pair." +msgstr "... і так далі для відповідної пари ключового слова аргумент/шаблон." + +msgid "Function definitions" +msgstr "Визначення функцій" + +msgid "" +"A function definition defines a user-defined function object (see section :" +"ref:`types`):" +msgstr "" +"Визначення функції визначає об’єкт функції, визначений користувачем (див. " +"розділ :ref:`types`):" + +msgid "" +"A function definition is an executable statement. Its execution binds the " +"function name in the current local namespace to a function object (a wrapper " +"around the executable code for the function). This function object contains " +"a reference to the current global namespace as the global namespace to be " +"used when the function is called." +msgstr "" +"Визначення функції - це виконуваний оператор. Його виконання прив’язує назву " +"функції в поточному локальному просторі імен до об’єкта функції (обгортка " +"навколо виконуваного коду для функції). Цей об’єкт функції містить посилання " +"на поточний глобальний простір імен як глобальний простір імен, який буде " +"використано під час виклику функції." + +msgid "" +"The function definition does not execute the function body; this gets " +"executed only when the function is called. [#]_" +msgstr "" +"Визначення функції не виконує тіло функції; це виконується лише під час " +"виклику функції. [#]_" + +msgid "" +"A function definition may be wrapped by one or more :term:`decorator` " +"expressions. Decorator expressions are evaluated when the function is " +"defined, in the scope that contains the function definition. The result " +"must be a callable, which is invoked with the function object as the only " +"argument. The returned value is bound to the function name instead of the " +"function object. Multiple decorators are applied in nested fashion. For " +"example, the following code ::" +msgstr "" +"Визначення функції може бути обгорнуте одним або кількома виразами :term:" +"`decorator`. Вирази декоратора обчислюються, коли функція визначена в " +"області видимості, яка містить визначення функції. Результат має бути " +"викликаним, який викликається з об’єктом функції як єдиним аргументом. " +"Повернене значення прив’язується до імені функції замість об’єкта функції. " +"Кілька декораторів застосовуються вкладеним способом. Наприклад, такий код::" + +msgid "is roughly equivalent to ::" +msgstr "приблизно еквівалентно ::" + +msgid "" +"except that the original function is not temporarily bound to the name " +"``func``." +msgstr "" +"за винятком того, що вихідна функція тимчасово не прив’язана до імені " +"``func``." + +msgid "" +"Functions may be decorated with any valid :token:`~python-grammar:" +"assignment_expression`. Previously, the grammar was much more restrictive; " +"see :pep:`614` for details." +msgstr "" +"Функції можуть бути прикрашені будь-яким дійсним :token:`~python-grammar:" +"assignment_expression`. Раніше граматика була набагато більш обмежувальною; " +"подробиці див. :pep:`614`." + +msgid "" +"When one or more :term:`parameters ` have the form *parameter* " +"``=`` *expression*, the function is said to have \"default parameter values." +"\" For a parameter with a default value, the corresponding :term:`argument` " +"may be omitted from a call, in which case the parameter's default value is " +"substituted. If a parameter has a default value, all following parameters " +"up until the \"``*``\" must also have a default value --- this is a " +"syntactic restriction that is not expressed by the grammar." +msgstr "" +"Коли один або більше :term:`параметрів ` мають форму *параметр* " +"``=`` *вираз*, кажуть, що функція має \"значення параметрів за замовчуванням" +"\". Для параметра зі значенням за замовчуванням відповідний :term:`argument` " +"може бути пропущений у виклику, у цьому випадку значення параметра за " +"замовчуванням замінюється. Якщо параметр має значення за замовчуванням, усі " +"наступні параметри до \"``*``\" також повинні мати значення за замовчуванням " +"--- це синтаксичне обмеження, яке не виражається граматикою." + +msgid "" +"**Default parameter values are evaluated from left to right when the " +"function definition is executed.** This means that the expression is " +"evaluated once, when the function is defined, and that the same \"pre-" +"computed\" value is used for each call. This is especially important to " +"understand when a default parameter value is a mutable object, such as a " +"list or a dictionary: if the function modifies the object (e.g. by appending " +"an item to a list), the default parameter value is in effect modified. This " +"is generally not what was intended. A way around this is to use ``None`` as " +"the default, and explicitly test for it in the body of the function, e.g.::" +msgstr "" +"**Значення параметрів за замовчуванням обчислюються зліва направо, коли " +"виконується визначення функції.** Це означає, що вираз обчислюється один " +"раз, коли визначається функція, і що те саме \"попередньо обчислене\" " +"значення використовується для кожного виклику . Це особливо важливо " +"розуміти, коли значення параметра за замовчуванням є змінним об’єктом, таким " +"як список або словник: якщо функція змінює об’єкт (наприклад, шляхом " +"додавання елемента до списку), значення параметра за замовчуванням фактично " +"змінюється. Загалом це не те, що передбачалося. Щоб обійти це, використайте " +"``None`` за умовчанням і явним чином перевірте його в тілі функції, " +"наприклад::" + +msgid "" +"Function call semantics are described in more detail in section :ref:" +"`calls`. A function call always assigns values to all parameters mentioned " +"in the parameter list, either from positional arguments, from keyword " +"arguments, or from default values. If the form \"``*identifier``\" is " +"present, it is initialized to a tuple receiving any excess positional " +"parameters, defaulting to the empty tuple. If the form \"``**identifier``\" " +"is present, it is initialized to a new ordered mapping receiving any excess " +"keyword arguments, defaulting to a new empty mapping of the same type. " +"Parameters after \"``*``\" or \"``*identifier``\" are keyword-only " +"parameters and may only be passed by keyword arguments. Parameters before " +"\"``/``\" are positional-only parameters and may only be passed by " +"positional arguments." +msgstr "" +"Більш детально семантика виклику функції описана в розділі :ref:`calls`. " +"Виклик функції завжди призначає значення всім параметрам, згаданим у списку " +"параметрів, або з позиційних аргументів, з ключових аргументів, або зі " +"значень за замовчуванням. Якщо присутня форма \"``*identifier``\", вона " +"ініціалізується кортежем, що отримує будь-які надлишкові позиційні " +"параметри, за умовчанням порожній кортеж. Якщо присутня форма " +"\"``*identifier``\", вона ініціалізується новим упорядкованим відображенням, " +"отримуючи будь-які надлишкові аргументи ключового слова, за умовчанням до " +"нового порожнього відображення того самого типу. Параметри після \"``*``\" " +"або \"``*identifier``\" є параметрами лише для ключових слів і можуть " +"передаватися лише аргументами ключових слів. Параметри перед \"``/``\" є " +"лише позиційними параметрами і можуть передаватися лише позиційними " +"аргументами." + +msgid "" +"The ``/`` function parameter syntax may be used to indicate positional-only " +"parameters. See :pep:`570` for details." +msgstr "" +"Синтаксис параметра функції ``/`` може використовуватися для позначення лише " +"позиційних параметрів. Подробиці див. :pep:`570`." + +msgid "" +"Parameters may have an :term:`annotation ` of the form " +"\"``: expression``\" following the parameter name. Any parameter may have " +"an annotation, even those of the form ``*identifier`` or ``**identifier``. " +"Functions may have \"return\" annotation of the form \"``-> expression``\" " +"after the parameter list. These annotations can be any valid Python " +"expression. The presence of annotations does not change the semantics of a " +"function. The annotation values are available as values of a dictionary " +"keyed by the parameters' names in the :attr:`__annotations__` attribute of " +"the function object. If the ``annotations`` import from :mod:`__future__` " +"is used, annotations are preserved as strings at runtime which enables " +"postponed evaluation. Otherwise, they are evaluated when the function " +"definition is executed. In this case annotations may be evaluated in a " +"different order than they appear in the source code." +msgstr "" +"Параметри можуть мати :term:`анотацію ` у формі \"``:" +"вираз``\" після імені параметра. Будь-який параметр може мати анотацію, " +"навіть у формі ``*ідентифікатор`` або ``**ідентифікатор``. Функції можуть " +"мати анотацію \"повернення\" у формі \"``-> вираз``\" після списку " +"параметрів. Ці анотації можуть бути будь-яким дійсним виразом Python. " +"Наявність анотацій не змінює семантику функції. Значення анотацій доступні " +"як значення словника, ключ якого містить імена параметрів в атрибуті :attr:" +"`__annotations__` об’єкта функції. Якщо використовується імпорт ``анотацій`` " +"із :mod:`__future__`, анотації зберігаються як рядки під час виконання, що " +"дає змогу відкласти оцінку. В іншому випадку вони оцінюються під час " +"виконання визначення функції. У цьому випадку анотації можуть оцінюватися в " +"іншому порядку, ніж у вихідному коді." + +msgid "" +"It is also possible to create anonymous functions (functions not bound to a " +"name), for immediate use in expressions. This uses lambda expressions, " +"described in section :ref:`lambda`. Note that the lambda expression is " +"merely a shorthand for a simplified function definition; a function defined " +"in a \":keyword:`def`\" statement can be passed around or assigned to " +"another name just like a function defined by a lambda expression. The \":" +"keyword:`!def`\" form is actually more powerful since it allows the " +"execution of multiple statements and annotations." +msgstr "" +"Також можна створювати анонімні функції (функції, не прив’язані до імені) " +"для негайного використання у виразах. Тут використовуються лямбда-вирази, " +"описані в розділі :ref:`lambda`. Зауважте, що лямбда-вираз — це лише " +"скорочення спрощеного визначення функції; функція, визначена в операторі \":" +"keyword:`def`\", може бути передана або присвоєна іншому імені так само, як " +"функція, визначена лямбда-виразом. Форма \":keyword:`!def`\" насправді є " +"потужнішою, оскільки вона дозволяє виконувати кілька операторів і анотацій." + +msgid "" +"**Programmer's note:** Functions are first-class objects. A \"``def``\" " +"statement executed inside a function definition defines a local function " +"that can be returned or passed around. Free variables used in the nested " +"function can access the local variables of the function containing the def. " +"See section :ref:`naming` for details." +msgstr "" +"**Примітка програміста:** Функції є об’єктами першого класу. Оператор " +"\"``def``\", який виконується всередині визначення функції, визначає " +"локальну функцію, яку можна повертати або передавати. Вільні змінні, які " +"використовуються у вкладеній функції, можуть отримати доступ до локальних " +"змінних функції, що містить def. Перегляньте розділ :ref:`naming` для " +"деталей." + +msgid ":pep:`3107` - Function Annotations" +msgstr ":pep:`3107` - Анотації функцій" + +msgid "The original specification for function annotations." +msgstr "Оригінальна специфікація для анотацій функцій." + +msgid ":pep:`484` - Type Hints" +msgstr ":pep:`484` - підказки типу" + +msgid "Definition of a standard meaning for annotations: type hints." +msgstr "Визначення стандартного значення для анотацій: тип підказок." + +msgid ":pep:`526` - Syntax for Variable Annotations" +msgstr ":pep:`526` - Синтаксис для анотацій змінних" + +msgid "" +"Ability to type hint variable declarations, including class variables and " +"instance variables" +msgstr "" +"Можливість вводити оголошення змінних підказок, включаючи змінні класу та " +"змінні екземпляра" + +msgid ":pep:`563` - Postponed Evaluation of Annotations" +msgstr ":pep:`563` - Відкладена оцінка анотацій" + +msgid "" +"Support for forward references within annotations by preserving annotations " +"in a string form at runtime instead of eager evaluation." +msgstr "" +"Підтримка прямих посилань в анотаціях завдяки збереженню анотацій у формі " +"рядка під час виконання замість нетерплячої оцінки." + +msgid "Class definitions" +msgstr "Визначення класів" + +msgid "A class definition defines a class object (see section :ref:`types`):" +msgstr "Визначення класу визначає об’єкт класу (див. розділ :ref:`types`):" + +msgid "" +"A class definition is an executable statement. The inheritance list usually " +"gives a list of base classes (see :ref:`metaclasses` for more advanced " +"uses), so each item in the list should evaluate to a class object which " +"allows subclassing. Classes without an inheritance list inherit, by " +"default, from the base class :class:`object`; hence, ::" +msgstr "" +"Визначення класу є виконуваним оператором. Список успадкування зазвичай " +"надає список базових класів (див. :ref:`metaclasses` для більш просунутого " +"використання), тому кожен елемент у списку повинен оцінюватися як об’єкт " +"класу, який дозволяє створювати підкласи. Класи без списку успадкування " +"успадковують, за замовчуванням, від базового класу :class:`object`; отже, ::" + +msgid "is equivalent to ::" +msgstr "еквівалентно ::" + +msgid "" +"The class's suite is then executed in a new execution frame (see :ref:" +"`naming`), using a newly created local namespace and the original global " +"namespace. (Usually, the suite contains mostly function definitions.) When " +"the class's suite finishes execution, its execution frame is discarded but " +"its local namespace is saved. [#]_ A class object is then created using the " +"inheritance list for the base classes and the saved local namespace for the " +"attribute dictionary. The class name is bound to this class object in the " +"original local namespace." +msgstr "" +"Потім набір класів виконується в новому фреймі виконання (див. :ref:" +"`naming`), використовуючи щойно створений локальний простір імен і " +"оригінальний глобальний простір імен. (Зазвичай набір містить в основному " +"визначення функцій.) Коли набір класу завершує виконання, його кадр " +"виконання відкидається, але його локальний простір імен зберігається. [#]_ " +"Потім створюється об’єкт класу з використанням списку успадкування для " +"базових класів і збереженого локального простору імен для словника " +"атрибутів. Ім'я класу прив'язане до цього об'єкта класу в оригінальному " +"локальному просторі імен." + +msgid "" +"The order in which attributes are defined in the class body is preserved in " +"the new class's ``__dict__``. Note that this is reliable only right after " +"the class is created and only for classes that were defined using the " +"definition syntax." +msgstr "" +"Порядок, у якому атрибути визначені в тілі класу, зберігається в " +"``__dict__`` нового класу. Зауважте, що це надійно лише відразу після " +"створення класу та лише для класів, які були визначені за допомогою " +"синтаксису визначення." + +msgid "" +"Class creation can be customized heavily using :ref:`metaclasses " +"`." +msgstr "" +"Створення класів можна значно налаштувати за допомогою :ref:`metaclasses " +"`." + +msgid "Classes can also be decorated: just like when decorating functions, ::" +msgstr "Класи також можна декорувати: як і при декоруванні функцій, ::" + +msgid "" +"The evaluation rules for the decorator expressions are the same as for " +"function decorators. The result is then bound to the class name." +msgstr "" +"Правила оцінки для виразів декоратора такі ж, як і для декораторів функцій. " +"Потім результат прив’язується до імені класу." + +msgid "" +"Classes may be decorated with any valid :token:`~python-grammar:" +"assignment_expression`. Previously, the grammar was much more restrictive; " +"see :pep:`614` for details." +msgstr "" +"Класи можуть бути прикрашені будь-яким дійсним :token:`~python-grammar:" +"assignment_expression`. Раніше граматика була набагато більш обмежувальною; " +"подробиці див. :pep:`614`." + +msgid "" +"**Programmer's note:** Variables defined in the class definition are class " +"attributes; they are shared by instances. Instance attributes can be set in " +"a method with ``self.name = value``. Both class and instance attributes are " +"accessible through the notation \"``self.name``\", and an instance attribute " +"hides a class attribute with the same name when accessed in this way. Class " +"attributes can be used as defaults for instance attributes, but using " +"mutable values there can lead to unexpected results. :ref:`Descriptors " +"` can be used to create instance variables with different " +"implementation details." +msgstr "" +"**Примітка програміста:** Змінні, визначені у визначенні класу, є атрибутами " +"класу; їх ділять інстанції. Атрибути екземпляра можна встановити в методі за " +"допомогою ``self.name = value``. Як атрибути класу, так і атрибути " +"екземпляра доступні через нотацію \"``self.name``\", а атрибут екземпляра " +"приховує атрибут класу з таким самим іменем, коли до нього звертаються таким " +"чином. Атрибути класу можна використовувати як значення за замовчуванням для " +"атрибутів екземплярів, але використання там змінних значень може призвести " +"до неочікуваних результатів. :ref:`Дескриптори ` можна " +"використовувати для створення змінних екземпляра з різними деталями " +"реалізації." + +msgid ":pep:`3115` - Metaclasses in Python 3000" +msgstr ":pep:`3115` - Метакласи в Python 3000" + +msgid "" +"The proposal that changed the declaration of metaclasses to the current " +"syntax, and the semantics for how classes with metaclasses are constructed." +msgstr "" +"Пропозиція, яка змінила оголошення метакласів на поточний синтаксис і " +"семантику того, як будуються класи з метакласами." + +msgid ":pep:`3129` - Class Decorators" +msgstr ":pep:`3129` - Декоратори класу" + +msgid "" +"The proposal that added class decorators. Function and method decorators " +"were introduced in :pep:`318`." +msgstr "" +"Пропозиція, яка додала декоратори класу. Декоратори функцій і методів були " +"представлені в :pep:`318`." + +msgid "Coroutines" +msgstr "Співпрограми" + +msgid "Coroutine function definition" +msgstr "Визначення функції співпрограми" + +msgid "" +"Execution of Python coroutines can be suspended and resumed at many points " +"(see :term:`coroutine`). :keyword:`await` expressions, :keyword:`async for` " +"and :keyword:`async with` can only be used in the body of a coroutine " +"function." +msgstr "" +"Виконання співпрограм Python можна призупинити та відновити в багатьох " +"точках (див. :term:`coroutine`). Вирази :keyword:`await`, :keyword:`async " +"for` і :keyword:`async with` можна використовувати лише в тілі функції " +"співпрограми." + +msgid "" +"Functions defined with ``async def`` syntax are always coroutine functions, " +"even if they do not contain ``await`` or ``async`` keywords." +msgstr "" +"Функції, визначені за допомогою синтаксису ``async def``, завжди є функціями " +"співпрограми, навіть якщо вони не містять ключових слів ``await`` або " +"``async``." + +msgid "" +"It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the " +"body of a coroutine function." +msgstr "" +"Використання виразу ``yield from`` всередині тіла функції співпрограми є :" +"exc:`SyntaxError`." + +msgid "An example of a coroutine function::" +msgstr "Приклад функції співпрограми::" + +msgid "" +"``await`` and ``async`` are now keywords; previously they were only treated " +"as such inside the body of a coroutine function." +msgstr "" +"``await`` і ``async`` тепер є ключовими словами; раніше вони розглядалися як " +"такі лише всередині тіла співпрограми." + +msgid "The :keyword:`!async for` statement" +msgstr "Оператор :keyword:`!async for`" + +msgid "" +"An :term:`asynchronous iterable` provides an ``__aiter__`` method that " +"directly returns an :term:`asynchronous iterator`, which can call " +"asynchronous code in its ``__anext__`` method." +msgstr "" +":term:`asynchronous iterable` надає метод ``__aiter__``, який безпосередньо " +"повертає :term:`asynchronous iterator`, який може викликати асинхронний код " +"у своєму методі ``__anext__``." + +msgid "" +"The ``async for`` statement allows convenient iteration over asynchronous " +"iterables." +msgstr "" +"Оператор ``async for`` дозволяє зручно виконувати ітерації над асинхронними " +"ітераціями." + +msgid "Is semantically equivalent to::" +msgstr "Семантично еквівалентний::" + +msgid "" +"See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details." +msgstr "" + +msgid "" +"It is a :exc:`SyntaxError` to use an ``async for`` statement outside the " +"body of a coroutine function." +msgstr "" +"Це :exc:`SyntaxError`, якщо використовувати оператор ``async for`` поза " +"тілом функції співпрограми." + +msgid "The :keyword:`!async with` statement" +msgstr "Оператор :keyword:`!async with`" + +msgid "" +"An :term:`asynchronous context manager` is a :term:`context manager` that is " +"able to suspend execution in its *enter* and *exit* methods." +msgstr "" +"Асинхронний менеджер контексту (:term:`asynchronous context manager`) — це " +"менеджер контексту (:term:`context manager`),який може призупинити виконання " +"своїх методів *enter* і *exit*." + +msgid "" +"See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " +"details." +msgstr "" + +msgid "" +"It is a :exc:`SyntaxError` to use an ``async with`` statement outside the " +"body of a coroutine function." +msgstr "" +"Це :exc:`SyntaxError`, якщо використовувати оператор ``async with`` поза " +"тілом функції співпрограми." + +msgid ":pep:`492` - Coroutines with async and await syntax" +msgstr ":pep:`492` - Співпрограми з синтаксисом async і await" + +msgid "" +"The proposal that made coroutines a proper standalone concept in Python, and " +"added supporting syntax." +msgstr "" +"Пропозиція, яка зробила співпрограми справжньою автономною концепцією в " +"Python і додала допоміжний синтаксис." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"The exception is propagated to the invocation stack unless there is a :" +"keyword:`finally` clause which happens to raise another exception. That new " +"exception causes the old one to be lost." +msgstr "" +"Виняток поширюється на стек викликів, якщо немає пункту :keyword:`finally`, " +"який викликає інший виняток. Цей новий виняток призводить до втрати старого." + +msgid "In pattern matching, a sequence is defined as one of the following:" +msgstr "" +"У відповідності за зразком послідовність визначається як одне з наступного:" + +msgid "a class that inherits from :class:`collections.abc.Sequence`" +msgstr "клас, який успадковує :class:`collections.abc.Sequence`" + +msgid "" +"a Python class that has been registered as :class:`collections.abc.Sequence`" +msgstr "клас Python, зареєстрований як :class:`collections.abc.Sequence`" + +msgid "" +"a builtin class that has its (CPython) :data:`Py_TPFLAGS_SEQUENCE` bit set" +msgstr "" +"вбудований клас, який має встановлений біт (CPython) :data:" +"`Py_TPFLAGS_SEQUENCE`" + +msgid "a class that inherits from any of the above" +msgstr "клас, який успадковує будь-який з перерахованих вище" + +msgid "The following standard library classes are sequences:" +msgstr "Наступні стандартні бібліотечні класи є послідовностями:" + +msgid ":class:`array.array`" +msgstr ":class:`array.array`" + +msgid ":class:`collections.deque`" +msgstr ":class:`collections.deque`" + +msgid ":class:`memoryview`" +msgstr ":class:`memoryview`" + +msgid ":class:`range`" +msgstr ":class:`range`" + +msgid "" +"Subject values of type ``str``, ``bytes``, and ``bytearray`` do not match " +"sequence patterns." +msgstr "" +"Значення суб’єктів типу ``str``, ``bytes`` і ``bytearray`` не відповідають " +"шаблонам послідовності." + +msgid "In pattern matching, a mapping is defined as one of the following:" +msgstr "" +"У відповідності за шаблоном відображення визначається як одне з наступного:" + +msgid "a class that inherits from :class:`collections.abc.Mapping`" +msgstr "клас, який успадковує :class:`collections.abc.Mapping`" + +msgid "" +"a Python class that has been registered as :class:`collections.abc.Mapping`" +msgstr "клас Python, зареєстрований як :class:`collections.abc.Mapping`" + +msgid "" +"a builtin class that has its (CPython) :data:`Py_TPFLAGS_MAPPING` bit set" +msgstr "" +"вбудований клас, який має встановлений біт (CPython) :data:" +"`Py_TPFLAGS_MAPPING`" + +msgid "" +"The standard library classes :class:`dict` and :class:`types." +"MappingProxyType` are mappings." +msgstr "" +"Класи стандартної бібліотеки :class:`dict` і :class:`types.MappingProxyType` " +"є відображеннями." + +msgid "" +"A string literal appearing as the first statement in the function body is " +"transformed into the function's ``__doc__`` attribute and therefore the " +"function's :term:`docstring`." +msgstr "" +"Рядковий літерал, який з’являється як перший оператор у тілі функції, " +"перетворюється на атрибут функції ``__doc__`` і, отже, функцію :term:" +"`docstring`." + +msgid "" +"A string literal appearing as the first statement in the class body is " +"transformed into the namespace's ``__doc__`` item and therefore the class's :" +"term:`docstring`." +msgstr "" +"Рядковий літерал, що з’являється як перший оператор у тілі класу, " +"перетворюється на елемент простору імен ``__doc__`` і, отже, на :term:" +"`docstring` класу." diff --git a/reference/datamodel.po b/reference/datamodel.po new file mode 100644 index 000000000..578afea8d --- /dev/null +++ b/reference/datamodel.po @@ -0,0 +1,4379 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:19+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Data model" +msgstr "Модель даних" + +msgid "Objects, values and types" +msgstr "Об'єкти, значення та типи" + +msgid "" +":dfn:`Objects` are Python's abstraction for data. All data in a Python " +"program is represented by objects or by relations between objects. (In a " +"sense, and in conformance to Von Neumann's model of a \"stored program " +"computer\", code is also represented by objects.)" +msgstr "" +":dfn:`Об’єкти` — це абстракція Python для даних. Усі дані в програмі Python " +"представлені об’єктами або зв’язками між об’єктами. (У певному сенсі та " +"відповідно до моделі фон Неймана \"комп’ютера зі збереженою програмою\" код " +"також представлений об’єктами.)" + +msgid "" +"Every object has an identity, a type and a value. An object's *identity* " +"never changes once it has been created; you may think of it as the object's " +"address in memory. The ':keyword:`is`' operator compares the identity of " +"two objects; the :func:`id` function returns an integer representing its " +"identity." +msgstr "" +"Кожен об’єкт має ідентифікатор, тип і значення. *Ідентичність* об'єкта " +"ніколи не змінюється після його створення; ви можете думати про це як про " +"адресу об'єкта в пам'яті. Оператор ':keyword:`is`' порівнює ідентичність " +"двох об'єктів; функція :func:`id` повертає ціле число, що представляє його " +"ідентифікатор." + +msgid "For CPython, ``id(x)`` is the memory address where ``x`` is stored." +msgstr "Для CPython ``id(x)`` — це адреса пам’яті, де зберігається ``x``." + +msgid "" +"An object's type determines the operations that the object supports (e.g., " +"\"does it have a length?\") and also defines the possible values for objects " +"of that type. The :func:`type` function returns an object's type (which is " +"an object itself). Like its identity, an object's :dfn:`type` is also " +"unchangeable. [#]_" +msgstr "" +"Тип об’єкта визначає операції, які об’єкт підтримує (наприклад, \"чи має він " +"довжину?\"), а також визначає можливі значення для об’єктів цього типу. " +"Функція :func:`type` повертає тип об’єкта (який сам є об’єктом). Як і його " +"ідентифікатор, :dfn:`type` об’єкта також не змінюється. [#]_" + +msgid "" +"The *value* of some objects can change. Objects whose value can change are " +"said to be *mutable*; objects whose value is unchangeable once they are " +"created are called *immutable*. (The value of an immutable container object " +"that contains a reference to a mutable object can change when the latter's " +"value is changed; however the container is still considered immutable, " +"because the collection of objects it contains cannot be changed. So, " +"immutability is not strictly the same as having an unchangeable value, it is " +"more subtle.) An object's mutability is determined by its type; for " +"instance, numbers, strings and tuples are immutable, while dictionaries and " +"lists are mutable." +msgstr "" +"*Значення* деяких об'єктів може змінюватися. Об'єкти, чиє значення може " +"змінюватися, називаються *змінними*; об'єкти, значення яких не змінюються " +"після їх створення, називаються *незмінними*. (Значення незмінного об’єкта-" +"контейнера, що містить посилання на змінний об’єкт, може змінюватися, коли " +"змінюється значення останнього; однак контейнер усе ще вважається незмінним, " +"оскільки набір об’єктів, який він містить, не можна змінити. Таким чином, " +"незмінність не є строго те саме, що має незмінне значення, воно більш " +"тонке.) Змінність об'єкта визначається його типом; наприклад, числа, рядки " +"та кортежі незмінні, тоді як словники та списки змінні." + +msgid "" +"Objects are never explicitly destroyed; however, when they become " +"unreachable they may be garbage-collected. An implementation is allowed to " +"postpone garbage collection or omit it altogether --- it is a matter of " +"implementation quality how garbage collection is implemented, as long as no " +"objects are collected that are still reachable." +msgstr "" +"Об'єкти ніколи не знищуються явно; однак, коли вони стають недоступними, " +"вони можуть бути зібрані сміттям. Реалізації дозволено відкладати збирання " +"сміття або взагалі опускати його --- це питання якості реалізації, як " +"реалізовано збирання сміття, доки не збираються об’єкти, які все ще доступні." + +msgid "" +"CPython currently uses a reference-counting scheme with (optional) delayed " +"detection of cyclically linked garbage, which collects most objects as soon " +"as they become unreachable, but is not guaranteed to collect garbage " +"containing circular references. See the documentation of the :mod:`gc` " +"module for information on controlling the collection of cyclic garbage. " +"Other implementations act differently and CPython may change. Do not depend " +"on immediate finalization of objects when they become unreachable (so you " +"should always close files explicitly)." +msgstr "" +"Наразі CPython використовує схему підрахунку посилань із (необов’язковим) " +"відкладеним виявленням циклічно пов’язаного сміття, яка збирає більшість " +"об’єктів, щойно вони стають недоступними, але не гарантовано збирає сміття, " +"що містить циклічні посилання. Перегляньте документацію модуля :mod:`gc` для " +"отримання інформації про керування збиранням циклічного сміття. Інші " +"реалізації діють інакше, і CPython може змінитися. Не покладайтеся на " +"негайну фіналізацію об’єктів, коли вони стають недоступними (тому ви завжди " +"повинні явно закривати файли)." + +msgid "" +"Note that the use of the implementation's tracing or debugging facilities " +"may keep objects alive that would normally be collectable. Also note that " +"catching an exception with a ':keyword:`try`...\\ :keyword:`except`' " +"statement may keep objects alive." +msgstr "" +"Зауважте, що використання засобів трасування або налагодження реалізації " +"може зберегти живими об’єкти, які зазвичай можна зібрати. Також зауважте, що " +"перехоплення винятку за допомогою оператора ':keyword:`try`...\\ :keyword:" +"`except`' може зберегти об'єкти живими." + +msgid "" +"Some objects contain references to \"external\" resources such as open files " +"or windows. It is understood that these resources are freed when the object " +"is garbage-collected, but since garbage collection is not guaranteed to " +"happen, such objects also provide an explicit way to release the external " +"resource, usually a :meth:`close` method. Programs are strongly recommended " +"to explicitly close such objects. The ':keyword:`try`...\\ :keyword:" +"`finally`' statement and the ':keyword:`with`' statement provide convenient " +"ways to do this." +msgstr "" +"Деякі об’єкти містять посилання на \"зовнішні\" ресурси, такі як відкриті " +"файли або вікна. Зрозуміло, що ці ресурси звільняються, коли об’єкт збирає " +"сміття, але оскільки збір сміття не гарантовано відбудеться, такі об’єкти " +"також надають явний спосіб звільнити зовнішній ресурс, як правило, метод :" +"meth:`close`. Програмам настійно рекомендується явно закривати такі об’єкти. " +"Оператор ':keyword:`try`...\\ :keyword:`finally`' і оператор ':keyword:" +"`with`' пропонують зручні способи зробити це." + +msgid "" +"Some objects contain references to other objects; these are called " +"*containers*. Examples of containers are tuples, lists and dictionaries. " +"The references are part of a container's value. In most cases, when we talk " +"about the value of a container, we imply the values, not the identities of " +"the contained objects; however, when we talk about the mutability of a " +"container, only the identities of the immediately contained objects are " +"implied. So, if an immutable container (like a tuple) contains a reference " +"to a mutable object, its value changes if that mutable object is changed." +msgstr "" +"Деякі об'єкти містять посилання на інші об'єкти; вони називаються " +"*контейнерами*. Прикладами контейнерів є кортежі, списки та словники. " +"Посилання є частиною значення контейнера. У більшості випадків, коли ми " +"говоримо про значення контейнера, ми маємо на увазі значення, а не " +"ідентифікацію об’єктів, що містяться; однак, коли ми говоримо про мінливість " +"контейнера, мається на увазі лише ідентичність об’єктів, які безпосередньо " +"містяться. Отже, якщо незмінний контейнер (наприклад, кортеж) містить " +"посилання на змінний об’єкт, його значення змінюється, якщо змінюється цей " +"змінний об’єкт." + +msgid "" +"Types affect almost all aspects of object behavior. Even the importance of " +"object identity is affected in some sense: for immutable types, operations " +"that compute new values may actually return a reference to any existing " +"object with the same type and value, while for mutable objects this is not " +"allowed. E.g., after ``a = 1; b = 1``, ``a`` and ``b`` may or may not refer " +"to the same object with the value one, depending on the implementation, but " +"after ``c = []; d = []``, ``c`` and ``d`` are guaranteed to refer to two " +"different, unique, newly created empty lists. (Note that ``c = d = []`` " +"assigns the same object to both ``c`` and ``d``.)" +msgstr "" +"Типи впливають майже на всі аспекти поведінки об'єктів. Навіть важливість " +"ідентичності об’єкта в певному сенсі вплинула: для незмінних типів операції, " +"які обчислюють нові значення, можуть фактично повернути посилання на будь-" +"який існуючий об’єкт з тим самим типом і значенням, тоді як для змінних " +"об’єктів це неприпустимо. Наприклад, після ``a = 1; b = 1``, ``a`` і ``b`` " +"можуть або не можуть посилатися на той самий об’єкт зі значенням один, " +"залежно від реалізації, але після ``c = []; d = []``, ``c`` і ``d`` " +"гарантовано посилаються на два різні, унікальні, щойно створені порожні " +"списки. (Зверніть увагу, що ``c = d = []`` призначає той самий об’єкт як " +"``c``, так і ``d``.)" + +msgid "The standard type hierarchy" +msgstr "Стандартна ієрархія типів" + +msgid "" +"Below is a list of the types that are built into Python. Extension modules " +"(written in C, Java, or other languages, depending on the implementation) " +"can define additional types. Future versions of Python may add types to the " +"type hierarchy (e.g., rational numbers, efficiently stored arrays of " +"integers, etc.), although such additions will often be provided via the " +"standard library instead." +msgstr "" +"Нижче наведено список типів, вбудованих у Python. Модулі розширення " +"(написані мовами C, Java або іншими мовами, залежно від реалізації) можуть " +"визначати додаткові типи. Майбутні версії Python можуть додавати типи до " +"ієрархії типів (наприклад, раціональні числа, ефективно збережені масиви " +"цілих чисел тощо), хоча такі доповнення часто надаватимуться через " +"стандартну бібліотеку." + +msgid "" +"Some of the type descriptions below contain a paragraph listing 'special " +"attributes.' These are attributes that provide access to the implementation " +"and are not intended for general use. Their definition may change in the " +"future." +msgstr "" +"Деякі з наведених нижче описів типів містять абзац із переліком " +"\"спеціальних атрибутів\". Це атрибути, які надають доступ до реалізації і " +"не призначені для загального використання. У майбутньому їх визначення може " +"змінитися." + +msgid "None" +msgstr "Жодного" + +msgid "" +"This type has a single value. There is a single object with this value. " +"This object is accessed through the built-in name ``None``. It is used to " +"signify the absence of a value in many situations, e.g., it is returned from " +"functions that don't explicitly return anything. Its truth value is false." +msgstr "" +"Цей тип має єдине значення. Існує єдиний об’єкт із таким значенням. Доступ " +"до цього об’єкта здійснюється через вбудоване ім’я ``None``. Він " +"використовується для позначення відсутності значення в багатьох ситуаціях, " +"наприклад, його повертають функції, які явно нічого не повертають. Його " +"значення істинності є хибним." + +msgid "NotImplemented" +msgstr "Не впроваджений" + +msgid "" +"This type has a single value. There is a single object with this value. " +"This object is accessed through the built-in name ``NotImplemented``. " +"Numeric methods and rich comparison methods should return this value if they " +"do not implement the operation for the operands provided. (The interpreter " +"will then try the reflected operation, or some other fallback, depending on " +"the operator.) It should not be evaluated in a boolean context." +msgstr "" +"Цей тип має єдине значення. Існує єдиний об’єкт із таким значенням. Доступ " +"до цього об’єкта здійснюється через вбудовану назву ``NotImplemented``. " +"Числові методи та методи насиченого порівняння повинні повертати це " +"значення, якщо вони не реалізують операцію для наданих операндів. (Тоді " +"інтерпретатор спробує відображену операцію або інший резервний варіант, " +"залежно від оператора.) Його не слід оцінювати в логічному контексті." + +msgid "See :ref:`implementing-the-arithmetic-operations` for more details." +msgstr "" +"Перегляньте :ref:`implementing-the-arithmetic-operations` для отримання " +"додаткової інформації." + +msgid "" +"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it " +"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " +"will raise a :exc:`TypeError` in a future version of Python." +msgstr "" +"Оцінка ``NotImplemented`` у логічному контексті застаріла. Хоча наразі він " +"оцінюється як істинний, він видасть :exc:`DeprecationWarning`. Це викличе :" +"exc:`TypeError` у наступній версії Python." + +msgid "Ellipsis" +msgstr "Еліпсис" + +msgid "" +"This type has a single value. There is a single object with this value. " +"This object is accessed through the literal ``...`` or the built-in name " +"``Ellipsis``. Its truth value is true." +msgstr "" +"Цей тип має єдине значення. Існує єдиний об’єкт із таким значенням. Доступ " +"до цього об’єкта здійснюється за допомогою літералу ``...`` або вбудованої " +"назви ``Ellipsis``. Його істинна цінність є істинною." + +msgid ":class:`numbers.Number`" +msgstr ":class:`numbers.Number`" + +msgid "" +"These are created by numeric literals and returned as results by arithmetic " +"operators and arithmetic built-in functions. Numeric objects are immutable; " +"once created their value never changes. Python numbers are of course " +"strongly related to mathematical numbers, but subject to the limitations of " +"numerical representation in computers." +msgstr "" +"Вони створюються за допомогою числових літералів і повертаються як " +"результати арифметичними операторами та арифметичними вбудованими функціями. " +"Числові об'єкти незмінні; після створення їхня цінність ніколи не " +"змінюється. Числа Python, звичайно, тісно пов’язані з математичними числами, " +"але підлягають обмеженням числового представлення в комп’ютерах." + +msgid "" +"The string representations of the numeric classes, computed by :meth:" +"`~object.__repr__` and :meth:`~object.__str__`, have the following " +"properties:" +msgstr "" +"Рядкові представлення числових класів, обчислені за допомогою :meth:`~object." +"__repr__` і :meth:`~object.__str__`, мають такі властивості:" + +msgid "" +"They are valid numeric literals which, when passed to their class " +"constructor, produce an object having the value of the original numeric." +msgstr "" +"Це дійсні числові літерали, які, коли їх передають конструктору класу, " +"створюють об’єкт, що має значення вихідного числа." + +msgid "The representation is in base 10, when possible." +msgstr "Представлення в базі 10, коли це можливо." + +msgid "" +"Leading zeros, possibly excepting a single zero before a decimal point, are " +"not shown." +msgstr "" +"Початкові нулі, можливо, за винятком одного нуля перед десятковою комою, не " +"показані." + +msgid "" +"Trailing zeros, possibly excepting a single zero after a decimal point, are " +"not shown." +msgstr "" +"Кінцеві нулі, можливо, за винятком одного нуля після коми, не відображаються." + +msgid "A sign is shown only when the number is negative." +msgstr "Знак відображається лише тоді, коли число від’ємне." + +msgid "" +"Python distinguishes between integers, floating point numbers, and complex " +"numbers:" +msgstr "" +"Python розрізняє цілі числа, числа з плаваючою комою та комплексні числа:" + +msgid ":class:`numbers.Integral`" +msgstr ":class:`числа.Інтеграл`" + +msgid "" +"These represent elements from the mathematical set of integers (positive and " +"negative)." +msgstr "" +"Вони представляють елементи з математичного набору цілих чисел (додатних і " +"від’ємних)." + +msgid "There are two types of integers:" +msgstr "Є два типи цілих чисел:" + +msgid "Integers (:class:`int`)" +msgstr "Цілі числа (:class:`int`)" + +msgid "" +"These represent numbers in an unlimited range, subject to available " +"(virtual) memory only. For the purpose of shift and mask operations, a " +"binary representation is assumed, and negative numbers are represented in a " +"variant of 2's complement which gives the illusion of an infinite string of " +"sign bits extending to the left." +msgstr "" +"Вони представляють числа в необмеженому діапазоні, що залежить лише від " +"доступної (віртуальної) пам’яті. Для цілей операцій зсуву та маски " +"передбачається двійкове представлення, а від’ємні числа представлені у " +"варіанті доповнення до 2, що створює ілюзію нескінченного рядка знакових " +"бітів, що тягнеться вліво." + +msgid "Booleans (:class:`bool`)" +msgstr "Логічні значення (:class:`bool`)" + +msgid "" +"These represent the truth values False and True. The two objects " +"representing the values ``False`` and ``True`` are the only Boolean objects. " +"The Boolean type is a subtype of the integer type, and Boolean values behave " +"like the values 0 and 1, respectively, in almost all contexts, the exception " +"being that when converted to a string, the strings ``\"False\"`` or ``\"True" +"\"`` are returned, respectively." +msgstr "" +"Вони представляють істинні значення False і True. Два об’єкти, що " +"представляють значення ``False`` і ``True``, є єдиними логічними об’єктами. " +"Логічний тип є підтипом цілочисельного типу, а логічні значення поводяться " +"як значення 0 і 1 відповідно майже в усіх контекстах, за винятком того, що " +"при перетворенні на рядок рядки ``\"False\"`` або ``\"True\"`` повертаються " +"відповідно." + +msgid "" +"The rules for integer representation are intended to give the most " +"meaningful interpretation of shift and mask operations involving negative " +"integers." +msgstr "" +"Правила подання цілих чисел мають на меті дати найбільш змістовну " +"інтерпретацію операцій зсуву та маски, що включають від’ємні цілі числа." + +msgid ":class:`numbers.Real` (:class:`float`)" +msgstr ":class:`numbers.Real` (:class:`float`)" + +msgid "" +"These represent machine-level double precision floating point numbers. You " +"are at the mercy of the underlying machine architecture (and C or Java " +"implementation) for the accepted range and handling of overflow. Python does " +"not support single-precision floating point numbers; the savings in " +"processor and memory usage that are usually the reason for using these are " +"dwarfed by the overhead of using objects in Python, so there is no reason to " +"complicate the language with two kinds of floating point numbers." +msgstr "" +"Вони представляють числа з плаваючою комою подвійної точності на рівні " +"машини. Ви залежите від базової архітектури машини (і реалізації C або Java) " +"щодо прийнятного діапазону та обробки переповнення. Python не підтримує " +"числа з плаваючою комою одинарної точності; економія використання процесора " +"та пам’яті, яка зазвичай є причиною їх використання, є меншою за накладні " +"витрати на використання об’єктів у Python, тому немає причин ускладнювати " +"мову двома видами чисел з плаваючою комою." + +msgid ":class:`numbers.Complex` (:class:`complex`)" +msgstr ":class:`numbers.Complex` (:class:`complex`)" + +msgid "" +"These represent complex numbers as a pair of machine-level double precision " +"floating point numbers. The same caveats apply as for floating point " +"numbers. The real and imaginary parts of a complex number ``z`` can be " +"retrieved through the read-only attributes ``z.real`` and ``z.imag``." +msgstr "" +"Вони представляють комплексні числа як пару чисел з плаваючою комою " +"подвійної точності на рівні машини. Застосовуються ті самі застереження, що " +"й для чисел з плаваючою комою. Дійсні та уявні частини комплексного числа " +"``z`` можна отримати за допомогою атрибутів ``z.real`` і ``z.imag``, " +"доступних лише для читання." + +msgid "Sequences" +msgstr "Послідовності" + +msgid "" +"These represent finite ordered sets indexed by non-negative numbers. The " +"built-in function :func:`len` returns the number of items of a sequence. " +"When the length of a sequence is *n*, the index set contains the numbers 0, " +"1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``." +msgstr "" +"Вони представляють скінченні впорядковані набори, проіндексовані " +"невід’ємними числами. Вбудована функція :func:`len` повертає кількість " +"елементів послідовності. Якщо довжина послідовності дорівнює *n*, набір " +"індексів містить числа 0, 1, ..., *n*-1. Елемент *i* послідовності *a* " +"вибрано за допомогою ``a[i]``." + +msgid "" +"Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " +"such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " +"a sequence of the same type. This implies that the index set is renumbered " +"so that it starts at 0." +msgstr "" +"Послідовності також підтримують нарізку: ``a[i:j]`` вибирає всі елементи з " +"індексом *k* так, що *i* ``<=`` *k* ``<`` *j*. Коли використовується як " +"вираз, фрагмент є послідовністю одного типу. Це означає, що набір індексів " +"перенумеровано так, що він починається з 0." + +msgid "" +"Some sequences also support \"extended slicing\" with a third \"step\" " +"parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " +"i + n*k``, *n* ``>=`` ``0`` and *i* ``<=`` *x* ``<`` *j*." +msgstr "" +"Деякі послідовності також підтримують \"розширене нарізання\" з третім " +"параметром \"кроку\": ``a[i:j:k]`` вибирає всі елементи *a* з індексом *x*, " +"де ``x = i + n*k ``, *n* ``>=`` ``0`` і *i* ``<=`` *x* ``<`` *j*." + +msgid "Sequences are distinguished according to their mutability:" +msgstr "Послідовності розрізняють відповідно до їх мінливості:" + +msgid "Immutable sequences" +msgstr "Незмінні послідовності" + +msgid "" +"An object of an immutable sequence type cannot change once it is created. " +"(If the object contains references to other objects, these other objects may " +"be mutable and may be changed; however, the collection of objects directly " +"referenced by an immutable object cannot change.)" +msgstr "" +"Об’єкт типу незмінної послідовності не може змінюватися після створення. " +"(Якщо об’єкт містить посилання на інші об’єкти, ці інші об’єкти можуть бути " +"змінними та змінюватися; однак набір об’єктів, на який безпосередньо " +"посилається незмінний об’єкт, не може змінитися.)" + +msgid "The following types are immutable sequences:" +msgstr "Наступні типи є незмінними послідовностями:" + +msgid "Strings" +msgstr "рядки" + +msgid "" +"A string is a sequence of values that represent Unicode code points. All the " +"code points in the range ``U+0000 - U+10FFFF`` can be represented in a " +"string. Python doesn't have a :c:expr:`char` type; instead, every code " +"point in the string is represented as a string object with length ``1``. " +"The built-in function :func:`ord` converts a code point from its string form " +"to an integer in the range ``0 - 10FFFF``; :func:`chr` converts an integer " +"in the range ``0 - 10FFFF`` to the corresponding length ``1`` string " +"object. :meth:`str.encode` can be used to convert a :class:`str` to :class:" +"`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " +"to achieve the opposite." +msgstr "" + +msgid "Tuples" +msgstr "Кортежі" + +msgid "" +"The items of a tuple are arbitrary Python objects. Tuples of two or more " +"items are formed by comma-separated lists of expressions. A tuple of one " +"item (a 'singleton') can be formed by affixing a comma to an expression (an " +"expression by itself does not create a tuple, since parentheses must be " +"usable for grouping of expressions). An empty tuple can be formed by an " +"empty pair of parentheses." +msgstr "" +"Елементи кортежу є довільними об’єктами Python. Кортежі з двох або більше " +"елементів утворюються списками виразів, розділених комами. Кортеж з одного " +"елемента (\"синглтон\") може бути сформований шляхом додавання коми до " +"виразу (вираз сам по собі не створює кортеж, оскільки дужки повинні " +"використовуватися для групування виразів). Порожній кортеж може бути " +"утворений пустою парою круглих дужок." + +msgid "Bytes" +msgstr "Байти" + +msgid "" +"A bytes object is an immutable array. The items are 8-bit bytes, " +"represented by integers in the range 0 <= x < 256. Bytes literals (like " +"``b'abc'``) and the built-in :func:`bytes()` constructor can be used to " +"create bytes objects. Also, bytes objects can be decoded to strings via " +"the :meth:`~bytes.decode` method." +msgstr "" +"Об’єкт bytes є незмінним масивом. Елементи є 8-бітовими байтами, " +"представленими цілими числами в діапазоні 0 <= x < 256. Байтові літерали " +"(наприклад, ``b'abc``) і вбудований конструктор :func:`bytes()` можуть бути " +"використовується для створення об'єктів bytes. Крім того, об’єкти bytes " +"можна декодувати в рядки за допомогою методу :meth:`~bytes.decode`." + +msgid "Mutable sequences" +msgstr "Змінні послідовності" + +msgid "" +"Mutable sequences can be changed after they are created. The subscription " +"and slicing notations can be used as the target of assignment and :keyword:" +"`del` (delete) statements." +msgstr "" +"Змінні послідовності можна змінювати після їх створення. Нотації підписки та " +"зрізу можна використовувати як ціль операторів призначення та :keyword:`del` " +"(видалити)." + +msgid "There are currently two intrinsic mutable sequence types:" +msgstr "На даний момент існує два типи внутрішніх змінних послідовностей:" + +msgid "Lists" +msgstr "списки" + +msgid "" +"The items of a list are arbitrary Python objects. Lists are formed by " +"placing a comma-separated list of expressions in square brackets. (Note that " +"there are no special cases needed to form lists of length 0 or 1.)" +msgstr "" +"Елементи списку є довільними об’єктами Python. Списки формуються шляхом " +"розміщення списку виразів, розділених комами, у квадратних дужках. " +"(Зауважте, що для формування списків довжиною 0 або 1 не потрібні особливі " +"випадки.)" + +msgid "Byte Arrays" +msgstr "Байтові масиви" + +msgid "" +"A bytearray object is a mutable array. They are created by the built-in :" +"func:`bytearray` constructor. Aside from being mutable (and hence " +"unhashable), byte arrays otherwise provide the same interface and " +"functionality as immutable :class:`bytes` objects." +msgstr "" +"Об’єкт bytearray є змінним масивом. Вони створюються за допомогою " +"вбудованого конструктора :func:`bytearray`. Крім того, що байтові масиви є " +"змінними (і, отже, нехешованими), байтові масиви забезпечують той самий " +"інтерфейс і функціональність, що й незмінні об’єкти :class:`bytes`." + +msgid "" +"The extension module :mod:`array` provides an additional example of a " +"mutable sequence type, as does the :mod:`collections` module." +msgstr "" +"Модуль розширення :mod:`array` надає додатковий приклад змінного типу " +"послідовності, як і модуль :mod:`collections`." + +msgid "Set types" +msgstr "Встановити типи" + +msgid "" +"These represent unordered, finite sets of unique, immutable objects. As " +"such, they cannot be indexed by any subscript. However, they can be iterated " +"over, and the built-in function :func:`len` returns the number of items in a " +"set. Common uses for sets are fast membership testing, removing duplicates " +"from a sequence, and computing mathematical operations such as intersection, " +"union, difference, and symmetric difference." +msgstr "" +"Вони представляють невпорядковані, кінцеві набори унікальних, незмінних " +"об’єктів. Таким чином, вони не можуть бути індексовані жодним індексом. " +"Однак їх можна повторювати, а вбудована функція :func:`len` повертає " +"кількість елементів у наборі. Набори зазвичай використовують для швидкого " +"тестування членства, видалення дублікатів із послідовності та обчислення " +"математичних операцій, таких як перетин, об’єднання, різниця та симетрична " +"різниця." + +msgid "" +"For set elements, the same immutability rules apply as for dictionary keys. " +"Note that numeric types obey the normal rules for numeric comparison: if two " +"numbers compare equal (e.g., ``1`` and ``1.0``), only one of them can be " +"contained in a set." +msgstr "" +"Для елементів набору застосовуються ті ж правила незмінності, що й для " +"ключів словника. Зауважте, що числові типи підкоряються звичайним правилам " +"числового порівняння: якщо два числа порівнюються (наприклад, ``1`` і " +"``1.0``), лише одне з них може міститися в наборі." + +msgid "There are currently two intrinsic set types:" +msgstr "Наразі існує два типи внутрішніх наборів:" + +msgid "Sets" +msgstr "Набори" + +msgid "" +"These represent a mutable set. They are created by the built-in :func:`set` " +"constructor and can be modified afterwards by several methods, such as :meth:" +"`~set.add`." +msgstr "" +"Вони представляють змінний набір. Вони створюються за допомогою вбудованого " +"конструктора :func:`set` і можуть бути змінені згодом кількома методами, " +"наприклад :meth:`~set.add`." + +msgid "Frozen sets" +msgstr "Заморожені набори" + +msgid "" +"These represent an immutable set. They are created by the built-in :func:" +"`frozenset` constructor. As a frozenset is immutable and :term:`hashable`, " +"it can be used again as an element of another set, or as a dictionary key." +msgstr "" +"Вони являють собою незмінний набір. Вони створюються за допомогою " +"вбудованого конструктора :func:`frozenset`. Оскільки заморожений набір є " +"незмінним і :term:`hashable`, його можна знову використовувати як елемент " +"іншого набору або як ключ словника." + +msgid "Mappings" +msgstr "Відображення" + +msgid "" +"These represent finite sets of objects indexed by arbitrary index sets. The " +"subscript notation ``a[k]`` selects the item indexed by ``k`` from the " +"mapping ``a``; this can be used in expressions and as the target of " +"assignments or :keyword:`del` statements. The built-in function :func:`len` " +"returns the number of items in a mapping." +msgstr "" +"Вони представляють кінцеві набори об'єктів, індексованих довільними наборами " +"індексів. Підрядкова нотація ``a[k]`` вибирає елемент з індексом ``k`` із " +"відображення ``a``; це можна використовувати у виразах і як ціль присвоєння " +"або операторів :keyword:`del`. Вбудована функція :func:`len` повертає " +"кількість елементів у відображенні." + +msgid "There is currently a single intrinsic mapping type:" +msgstr "Наразі існує єдиний внутрішній тип відображення:" + +msgid "Dictionaries" +msgstr "словники" + +msgid "" +"These represent finite sets of objects indexed by nearly arbitrary values. " +"The only types of values not acceptable as keys are values containing lists " +"or dictionaries or other mutable types that are compared by value rather " +"than by object identity, the reason being that the efficient implementation " +"of dictionaries requires a key's hash value to remain constant. Numeric " +"types used for keys obey the normal rules for numeric comparison: if two " +"numbers compare equal (e.g., ``1`` and ``1.0``) then they can be used " +"interchangeably to index the same dictionary entry." +msgstr "" +"Вони представляють кінцеві набори об'єктів, індексованих майже довільними " +"значеннями. Єдиними типами значень, неприйнятними як ключі, є значення, що " +"містять списки, словники чи інші змінні типи, які порівнюються за значенням, " +"а не за ідентичністю об’єкта, тому що для ефективної реалізації словників " +"необхідно, щоб хеш-значення ключа залишалося постійним. Числові типи, що " +"використовуються для ключів, підкоряються звичайним правилам для числового " +"порівняння: якщо два числа порівнюються (наприклад, ``1`` і ``1.0``), тоді " +"їх можна використовувати як взаємозамінні для індексування тієї самої статті " +"словника." + +msgid "" +"Dictionaries preserve insertion order, meaning that keys will be produced in " +"the same order they were added sequentially over the dictionary. Replacing " +"an existing key does not change the order, however removing a key and re-" +"inserting it will add it to the end instead of keeping its old place." +msgstr "" +"Словники зберігають порядок вставки, тобто ключі створюватимуться в тому " +"самому порядку, у якому вони були послідовно додані до словника. Заміна " +"існуючого ключа не змінює порядок, однак видалення ключа та його повторне " +"вставлення додасть його в кінець замість збереження старого місця." + +msgid "" +"Dictionaries are mutable; they can be created by the ``{...}`` notation (see " +"section :ref:`dict`)." +msgstr "" +"Словники змінні; їх можна створити за допомогою нотації ``{...}`` (див. " +"розділ :ref:`dict`)." + +msgid "" +"The extension modules :mod:`dbm.ndbm` and :mod:`dbm.gnu` provide additional " +"examples of mapping types, as does the :mod:`collections` module." +msgstr "" +"Модулі розширення :mod:`dbm.ndbm` і :mod:`dbm.gnu` надають додаткові " +"приклади типів зіставлення, як і модуль :mod:`collections`." + +msgid "" +"Dictionaries did not preserve insertion order in versions of Python before " +"3.6. In CPython 3.6, insertion order was preserved, but it was considered an " +"implementation detail at that time rather than a language guarantee." +msgstr "" +"Словники не зберігали порядок вставки у версіях Python до 3.6. У CPython 3.6 " +"порядок вставки було збережено, але в той час це вважалося деталлю " +"реалізації, а не гарантією мови." + +msgid "Callable types" +msgstr "Викличні типи" + +msgid "" +"These are the types to which the function call operation (see section :ref:" +"`calls`) can be applied:" +msgstr "" +"Це типи, до яких можна застосувати операцію виклику функції (див. розділ :" +"ref:`calls`):" + +msgid "User-defined functions" +msgstr "Визначені користувачем функції" + +msgid "" +"A user-defined function object is created by a function definition (see " +"section :ref:`function`). It should be called with an argument list " +"containing the same number of items as the function's formal parameter list." +msgstr "" +"Визначений користувачем об’єкт функції створюється визначенням функції (див. " +"розділ :ref:`function`). Її слід викликати зі списком аргументів, що містить " +"таку саму кількість елементів, як і формальний список параметрів функції." + +msgid "Special attributes:" +msgstr "Особливі атрибути:" + +msgid "Attribute" +msgstr "Атрибут" + +msgid "Meaning" +msgstr "Значення" + +msgid ":attr:`__doc__`" +msgstr ":attr:`__doc__`" + +msgid "" +"The function's documentation string, or ``None`` if unavailable; not " +"inherited by subclasses." +msgstr "" +"Рядок документації функції або ``None``, якщо недоступний; не успадковується " +"підкласами." + +msgid "Writable" +msgstr "Можливість запису" + +msgid ":attr:`~definition.\\ __name__`" +msgstr ":attr:`~визначення.\\ __ім'я__`" + +msgid "The function's name." +msgstr "Ім'я функції." + +msgid ":attr:`~definition.\\ __qualname__`" +msgstr ":attr:`~визначення.\\ __qualname__`" + +msgid "The function's :term:`qualified name`." +msgstr ":term:`qualified name` функції." + +msgid ":attr:`__module__`" +msgstr ":attr:`__module__`" + +msgid "" +"The name of the module the function was defined in, or ``None`` if " +"unavailable." +msgstr "" +"Назва модуля, у якому була визначена функція, або \"Немає\", якщо вона " +"недоступна." + +msgid ":attr:`__defaults__`" +msgstr ":attr:`__defaults__`" + +msgid "" +"A tuple containing default argument values for those arguments that have " +"defaults, or ``None`` if no arguments have a default value." +msgstr "" +"Кортеж, що містить значення аргументів за замовчуванням для тих аргументів, " +"які мають значення за замовчуванням, або ``None``, якщо жоден аргумент не " +"має значення за замовчуванням." + +msgid ":attr:`__code__`" +msgstr ":attr:`__code__`" + +msgid "The code object representing the compiled function body." +msgstr "Об’єкт коду, що представляє скомпільоване тіло функції." + +msgid ":attr:`__globals__`" +msgstr ":attr:`__globals__`" + +msgid "" +"A reference to the dictionary that holds the function's global variables --- " +"the global namespace of the module in which the function was defined." +msgstr "" +"Посилання на словник, який містить глобальні змінні функції --- глобальний " +"простір імен модуля, у якому було визначено функцію." + +msgid "Read-only" +msgstr "Лише для читання" + +msgid ":attr:`~object.__dict__`" +msgstr ":attr:`~об’єкт.__dict__`" + +msgid "The namespace supporting arbitrary function attributes." +msgstr "Простір імен, що підтримує довільні атрибути функції." + +msgid ":attr:`__closure__`" +msgstr ":attr:`__closure__`" + +msgid "" +"``None`` or a tuple of cells that contain bindings for the function's free " +"variables. See below for information on the ``cell_contents`` attribute." +msgstr "" +"``None`` або кортеж клітинок, які містять зв’язки для вільних змінних " +"функції. Дивіться нижче інформацію про атрибут ``cell_contents``." + +msgid ":attr:`__annotations__`" +msgstr ":attr:`__annotations__`" + +msgid "" +"A dict containing annotations of parameters. The keys of the dict are the " +"parameter names, and ``'return'`` for the return annotation, if provided. " +"For more information on working with this attribute, see :ref:`annotations-" +"howto`." +msgstr "" +"Dict, що містить анотації параметрів. Ключі dict — це назви параметрів і " +"``'return'`` для анотації повернення, якщо є. Для отримання додаткової " +"інформації про роботу з цим атрибутом перегляньте :ref:`annotations-howto`." + +msgid ":attr:`__kwdefaults__`" +msgstr ":attr:`__kwdefaults__`" + +msgid "A dict containing defaults for keyword-only parameters." +msgstr "Dict, що містить параметри за замовчуванням лише для ключових слів." + +msgid "" +"Most of the attributes labelled \"Writable\" check the type of the assigned " +"value." +msgstr "" +"Більшість атрибутів із позначкою \"Writable\" перевіряють тип присвоєного " +"значення." + +msgid "" +"Function objects also support getting and setting arbitrary attributes, " +"which can be used, for example, to attach metadata to functions. Regular " +"attribute dot-notation is used to get and set such attributes. *Note that " +"the current implementation only supports function attributes on user-defined " +"functions. Function attributes on built-in functions may be supported in the " +"future.*" +msgstr "" +"Функціональні об’єкти також підтримують отримання та встановлення довільних " +"атрибутів, які можна використовувати, наприклад, для додавання метаданих до " +"функцій. Для отримання та встановлення таких атрибутів використовується " +"звичайна крапкова нотація. *Зауважте, що поточна реалізація підтримує лише " +"атрибути функцій для визначених користувачем функцій. Атрибути вбудованих " +"функцій можуть підтримуватися в майбутньому.*" + +msgid "" +"A cell object has the attribute ``cell_contents``. This can be used to get " +"the value of the cell, as well as set the value." +msgstr "" +"Об’єкт клітинки має атрибут ``cell_contents``. Це можна використовувати для " +"отримання значення комірки, а також для встановлення значення." + +msgid "" +"Additional information about a function's definition can be retrieved from " +"its code object; see the description of internal types below. The :data:" +"`cell ` type can be accessed in the :mod:`types` module." +msgstr "" +"Додаткову інформацію про визначення функції можна отримати з її об’єкта " +"коду; дивіться опис внутрішніх типів нижче. Доступ до типу :data:`cell " +"` можна отримати в модулі :mod:`types`." + +msgid "Instance methods" +msgstr "Методи екземплярів" + +msgid "" +"An instance method object combines a class, a class instance and any " +"callable object (normally a user-defined function)." +msgstr "" +"Об’єкт методу екземпляра поєднує в собі клас, екземпляр класу та будь-який " +"об’єкт, що викликається (зазвичай це функція, визначена користувачем)." + +msgid "" +"Special read-only attributes: :attr:`__self__` is the class instance " +"object, :attr:`__func__` is the function object; :attr:`__doc__` is the " +"method's documentation (same as ``__func__.__doc__``); :attr:`~definition." +"__name__` is the method name (same as ``__func__.__name__``); :attr:" +"`__module__` is the name of the module the method was defined in, or " +"``None`` if unavailable." +msgstr "" +"Спеціальні атрибути лише для читання: :attr:`__self__` — об’єкт екземпляра " +"класу, :attr:`__func__` — об’єкт функції; :attr:`__doc__` — це документація " +"методу (те саме, що ``__func__.__doc__``); :attr:`~definition.__name__` — " +"назва методу (те саме, що ``__func__.__name__``); :attr:`__module__` — це " +"назва модуля, у якому було визначено метод, або ``None``, якщо воно " +"недоступне." + +msgid "" +"Methods also support accessing (but not setting) the arbitrary function " +"attributes on the underlying function object." +msgstr "" +"Методи також підтримують доступ (але не встановлення) довільних атрибутів " +"функції на базовому об’єкті функції." + +msgid "" +"User-defined method objects may be created when getting an attribute of a " +"class (perhaps via an instance of that class), if that attribute is a user-" +"defined function object or a class method object." +msgstr "" +"Визначені користувачем об’єкти методу можуть бути створені під час отримання " +"атрибута класу (можливо, через екземпляр цього класу), якщо цей атрибут є " +"визначеним користувачем об’єктом функції або об’єктом методу класу." + +msgid "" +"When an instance method object is created by retrieving a user-defined " +"function object from a class via one of its instances, its :attr:`__self__` " +"attribute is the instance, and the method object is said to be bound. The " +"new method's :attr:`__func__` attribute is the original function object." +msgstr "" +"Коли об’єкт методу екземпляра створюється шляхом отримання визначеного " +"користувачем об’єкта функції з класу через один із його екземплярів, його " +"атрибут :attr:`__self__` є екземпляром, а об’єкт методу вважається " +"зв’язаним. Атрибут :attr:`__func__` нового методу є оригінальним об’єктом " +"функції." + +msgid "" +"When an instance method object is created by retrieving a class method " +"object from a class or instance, its :attr:`__self__` attribute is the class " +"itself, and its :attr:`__func__` attribute is the function object underlying " +"the class method." +msgstr "" +"Коли об’єкт методу екземпляра створюється шляхом отримання об’єкта методу " +"класу з класу або екземпляра, його атрибут :attr:`__self__` є самим класом, " +"а його атрибут :attr:`__func__` є об’єктом функції, що лежить в основі " +"методу класу." + +msgid "" +"When an instance method object is called, the underlying function (:attr:" +"`__func__`) is called, inserting the class instance (:attr:`__self__`) in " +"front of the argument list. For instance, when :class:`C` is a class which " +"contains a definition for a function :meth:`f`, and ``x`` is an instance of :" +"class:`C`, calling ``x.f(1)`` is equivalent to calling ``C.f(x, 1)``." +msgstr "" +"Коли викликається об’єкт методу екземпляра, викликається базова функція (:" +"attr:`__func__`), вставляючи екземпляр класу (:attr:`__self__`) перед " +"списком аргументів. Наприклад, коли :class:`C` є класом, який містить " +"визначення для функції :meth:`f`, а ``x`` є екземпляром :class:`C`, виклик " +"``x.f(1 )`` еквівалентно виклику ``C.f(x, 1)``." + +msgid "" +"When an instance method object is derived from a class method object, the " +"\"class instance\" stored in :attr:`__self__` will actually be the class " +"itself, so that calling either ``x.f(1)`` or ``C.f(1)`` is equivalent to " +"calling ``f(C,1)`` where ``f`` is the underlying function." +msgstr "" +"Коли об’єкт методу екземпляра походить від об’єкта методу класу, \"примірник " +"класу\", який зберігається в :attr:`__self__`, фактично буде самим класом, " +"тому виклик x.f(1) або C.f( 1)`` еквівалентно виклику ``f(C,1)``, де ``f`` є " +"основною функцією." + +msgid "" +"Note that the transformation from function object to instance method object " +"happens each time the attribute is retrieved from the instance. In some " +"cases, a fruitful optimization is to assign the attribute to a local " +"variable and call that local variable. Also notice that this transformation " +"only happens for user-defined functions; other callable objects (and all non-" +"callable objects) are retrieved without transformation. It is also " +"important to note that user-defined functions which are attributes of a " +"class instance are not converted to bound methods; this *only* happens when " +"the function is an attribute of the class." +msgstr "" +"Зауважте, що перетворення з об’єкта функції в об’єкт методу екземпляра " +"відбувається щоразу, коли атрибут отримується з екземпляра. У деяких " +"випадках плідною оптимізацією є призначення атрибута локальній змінній і " +"виклик цієї локальної змінної. Також зауважте, що це перетворення " +"відбувається лише для визначених користувачем функцій; інші викликані " +"об'єкти (і всі невикликові об'єкти) витягуються без перетворення. Також " +"важливо відзначити, що визначені користувачем функції, які є атрибутами " +"примірника класу, не перетворюються на зв’язані методи; це *тільки* " +"трапляється, коли функція є атрибутом класу." + +msgid "Generator functions" +msgstr "Функції генератора" + +msgid "" +"A function or method which uses the :keyword:`yield` statement (see section :" +"ref:`yield`) is called a :dfn:`generator function`. Such a function, when " +"called, always returns an :term:`iterator` object which can be used to " +"execute the body of the function: calling the iterator's :meth:`iterator." +"__next__` method will cause the function to execute until it provides a " +"value using the :keyword:`!yield` statement. When the function executes a :" +"keyword:`return` statement or falls off the end, a :exc:`StopIteration` " +"exception is raised and the iterator will have reached the end of the set of " +"values to be returned." +msgstr "" +"Функція або метод, який використовує оператор :keyword:`yield` (див. розділ :" +"ref:`yield`), називається :dfn:`функцією-генератором`. Під час виклику така " +"функція завжди повертає об’єкт :term:`iterator`, який можна використовувати " +"для виконання тіла функції: виклик методу :meth:`iterator.__next__` " +"ітератора призведе до виконання функції, доки вона не надасть значення за " +"допомогою оператора :keyword:`!yield`. Коли функція виконує оператор :" +"keyword:`return` або виходить з кінця, виникає виняток :exc:`StopIteration`, " +"і ітератор досягне кінця набору значень, які потрібно повернути." + +msgid "Coroutine functions" +msgstr "Функції співпрограми" + +msgid "" +"A function or method which is defined using :keyword:`async def` is called " +"a :dfn:`coroutine function`. Such a function, when called, returns a :term:" +"`coroutine` object. It may contain :keyword:`await` expressions, as well " +"as :keyword:`async with` and :keyword:`async for` statements. See also the :" +"ref:`coroutine-objects` section." +msgstr "" +"Функція або метод, визначений за допомогою :keyword:`async def`, " +"називається :dfn:`coroutine function`. Така функція під час виклику повертає " +"об’єкт :term:`coroutine`. Він може містити вирази :keyword:`await`, а також " +"оператори :keyword:`async with` і :keyword:`async for`. Дивіться також " +"розділ :ref:`coroutine-objects`." + +msgid "Asynchronous generator functions" +msgstr "Функції асинхронного генератора" + +msgid "" +"A function or method which is defined using :keyword:`async def` and which " +"uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator " +"function`. Such a function, when called, returns an :term:`asynchronous " +"iterator` object which can be used in an :keyword:`async for` statement to " +"execute the body of the function." +msgstr "" +"Функція або метод, визначений за допомогою :keyword:`async def` і який " +"використовує оператор :keyword:`yield`, називається :dfn:`функцією " +"асинхронного генератора`. Під час виклику така функція повертає об’єкт :term:" +"`asynchronous iterator`, який можна використовувати в операторі :keyword:" +"`async for` для виконання тіла функції." + +msgid "" +"Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will " +"execute until it provides a value using the :keyword:`yield` expression. " +"When the function executes an empty :keyword:`return` statement or falls off " +"the end, a :exc:`StopAsyncIteration` exception is raised and the " +"asynchronous iterator will have reached the end of the set of values to be " +"yielded." +msgstr "" +"Виклик методу :meth:`aiterator.__anext__ ` асинхронного " +"ітератора поверне :term:`awaitable`, який у разі очікування " +"виконуватиметься, доки не надасть значення за допомогою виразу :keyword:" +"`yield`. Коли функція виконує порожній оператор :keyword:`return` або " +"виходить за межі кінця, виникає виняткова ситуація :exc:" +"`StopAsyncIteration`, і асинхронний ітератор досягне кінця набору значень, " +"які потрібно отримати." + +msgid "Built-in functions" +msgstr "Вбудовані функції" + +msgid "" +"A built-in function object is a wrapper around a C function. Examples of " +"built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a " +"standard built-in module). The number and type of the arguments are " +"determined by the C function. Special read-only attributes: :attr:`__doc__` " +"is the function's documentation string, or ``None`` if unavailable; :attr:" +"`~definition.__name__` is the function's name; :attr:`__self__` is set to " +"``None`` (but see the next item); :attr:`__module__` is the name of the " +"module the function was defined in or ``None`` if unavailable." +msgstr "" +"Вбудований об’єкт функції є оболонкою навколо функції C. Прикладами " +"вбудованих функцій є :func:`len` і :func:`math.sin` (:mod:`math` є " +"стандартним вбудованим модулем). Кількість і тип аргументів визначається " +"функцією C. Спеціальні атрибути лише для читання: :attr:`__doc__` — рядок " +"документації функції або ``None``, якщо він недоступний; :attr:`~definition." +"__name__` це ім'я функції; :attr:`__self__` має значення ``None`` (але " +"дивіться наступний пункт); :attr:`__module__` — це ім’я модуля, у якому була " +"визначена функція, або ``None``, якщо воно недоступне." + +msgid "Built-in methods" +msgstr "Вбудовані методи" + +msgid "" +"This is really a different disguise of a built-in function, this time " +"containing an object passed to the C function as an implicit extra " +"argument. An example of a built-in method is ``alist.append()``, assuming " +"*alist* is a list object. In this case, the special read-only attribute :" +"attr:`__self__` is set to the object denoted by *alist*." +msgstr "" +"Це дійсно інше маскування вбудованої функції, цього разу містить об’єкт, " +"переданий у функцію C як неявний додатковий аргумент. Прикладом вбудованого " +"методу є ``alist.append()``, припускаючи, що *alist* є об’єктом списку. У " +"цьому випадку спеціальний атрибут лише для читання :attr:`__self__` " +"встановлюється для об’єкта, позначеного *alist*." + +msgid "Classes" +msgstr "Заняття" + +msgid "" +"Classes are callable. These objects normally act as factories for new " +"instances of themselves, but variations are possible for class types that " +"override :meth:`~object.__new__`. The arguments of the call are passed to :" +"meth:`__new__` and, in the typical case, to :meth:`~object.__init__` to " +"initialize the new instance." +msgstr "" +"Заняття викликні. Ці об’єкти зазвичай діють як фабрики для нових екземплярів " +"самих себе, але можливі варіанти для типів класів, які перевизначають :meth:" +"`~object.__new__`. Аргументи виклику передаються до :meth:`__new__` і, у " +"типовому випадку, до :meth:`~object.__init__` для ініціалізації нового " +"екземпляра." + +msgid "Class Instances" +msgstr "Екземпляри класу" + +msgid "" +"Instances of arbitrary classes can be made callable by defining a :meth:" +"`~object.__call__` method in their class." +msgstr "" +"Екземпляри довільних класів можна зробити викликаними, визначивши метод :" +"meth:`~object.__call__` у їхньому класі." + +msgid "Modules" +msgstr "Модулі" + +msgid "" +"Modules are a basic organizational unit of Python code, and are created by " +"the :ref:`import system ` as invoked either by the :keyword:" +"`import` statement, or by calling functions such as :func:`importlib." +"import_module` and built-in :func:`__import__`. A module object has a " +"namespace implemented by a dictionary object (this is the dictionary " +"referenced by the ``__globals__`` attribute of functions defined in the " +"module). Attribute references are translated to lookups in this dictionary, " +"e.g., ``m.x`` is equivalent to ``m.__dict__[\"x\"]``. A module object does " +"not contain the code object used to initialize the module (since it isn't " +"needed once the initialization is done)." +msgstr "" +"Модулі є основною організаційною одиницею коду Python і створюються :ref:" +"`системою імпорту `, яка викликається оператором :keyword:" +"`import` або викликом функцій, таких як :func:`importlib.import_module` і " +"вбудований :func:`__import__`. Об’єкт модуля має простір імен, реалізований " +"об’єктом словника (це словник, на який посилається атрибут ``__globals__`` " +"функцій, визначених у модулі). Посилання на атрибути перекладено на пошуки в " +"цьому словнику, наприклад, ``m.x`` еквівалентно ``m.__dict__[\"x\"]``. " +"Об’єкт модуля не містить об’єкт коду, який використовується для " +"ініціалізації модуля (оскільки він не потрібен після завершення " +"ініціалізації)." + +msgid "" +"Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " +"= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." +msgstr "" +"Призначення атрибутів оновлює словник простору імен модуля, наприклад, ``m.x " +"= 1`` еквівалентно ``m.__dict__[\"x\"] = 1``." + +msgid "Predefined (writable) attributes:" +msgstr "Попередньо визначені (записувані) атрибути:" + +msgid ":attr:`__name__`" +msgstr ":attr:`__name__`" + +msgid "The module's name." +msgstr "Назва модуля." + +msgid "The module's documentation string, or ``None`` if unavailable." +msgstr "Рядок документації модуля або ``None``, якщо він недоступний." + +msgid ":attr:`__file__`" +msgstr ":attr:`__file__`" + +msgid "" +"The pathname of the file from which the module was loaded, if it was loaded " +"from a file. The :attr:`__file__` attribute may be missing for certain types " +"of modules, such as C modules that are statically linked into the " +"interpreter. For extension modules loaded dynamically from a shared " +"library, it's the pathname of the shared library file." +msgstr "" +"Шлях до файлу, з якого було завантажено модуль, якщо він був завантажений із " +"файлу. Атрибут :attr:`__file__` може бути відсутнім для певних типів " +"модулів, таких як модулі C, які статично пов’язані з інтерпретатором. Для " +"модулів розширення, які динамічно завантажуються зі спільної бібліотеки, це " +"шлях до файлу спільної бібліотеки." + +msgid "" +"A dictionary containing :term:`variable annotations ` " +"collected during module body execution. For best practices on working with :" +"attr:`__annotations__`, please see :ref:`annotations-howto`." +msgstr "" +"Словник, що містить :term:`анотації змінних `, зібрані " +"під час виконання тіла модуля. Найкращі методи роботи з :attr:" +"`__annotations__` див. :ref:`annotations-howto`." + +msgid "" +"Special read-only attribute: :attr:`~object.__dict__` is the module's " +"namespace as a dictionary object." +msgstr "" +"Спеціальний атрибут лише для читання: :attr:`~object.__dict__` — це простір " +"імен модуля як об’єкт словника." + +msgid "" +"Because of the way CPython clears module dictionaries, the module dictionary " +"will be cleared when the module falls out of scope even if the dictionary " +"still has live references. To avoid this, copy the dictionary or keep the " +"module around while using its dictionary directly." +msgstr "" +"Через те, як CPython очищає словники модулів, словник модуля буде очищено, " +"коли модуль виходить із області видимості, навіть якщо в словнику все ще є " +"живі посилання. Щоб уникнути цього, скопіюйте словник або збережіть модуль, " +"використовуючи його словник безпосередньо." + +msgid "Custom classes" +msgstr "Спеціальні заняття" + +msgid "" +"Custom class types are typically created by class definitions (see section :" +"ref:`class`). A class has a namespace implemented by a dictionary object. " +"Class attribute references are translated to lookups in this dictionary, e." +"g., ``C.x`` is translated to ``C.__dict__[\"x\"]`` (although there are a " +"number of hooks which allow for other means of locating attributes). When " +"the attribute name is not found there, the attribute search continues in the " +"base classes. This search of the base classes uses the C3 method resolution " +"order which behaves correctly even in the presence of 'diamond' inheritance " +"structures where there are multiple inheritance paths leading back to a " +"common ancestor. Additional details on the C3 MRO used by Python can be " +"found in the documentation accompanying the 2.3 release at https://www." +"python.org/download/releases/2.3/mro/." +msgstr "" +"Спеціальні типи класів зазвичай створюються визначеннями класів (див. " +"розділ :ref:`class`). Клас має простір імен, реалізований об’єктом словника. " +"Посилання на атрибути класу перекладаються на пошуки в цьому словнику, " +"наприклад, ``C.x`` перекладається на ``C.__dict__[\"x\"]`` (хоча є ряд " +"хуків, які дозволяють інші способи пошуку атрибутів) . Якщо ім'я атрибута " +"там не знайдено, пошук атрибута продовжується в базових класах. Цей пошук " +"базових класів використовує порядок розв’язання методів C3, який поводиться " +"правильно навіть за наявності \"діамантових\" структур успадкування, де є " +"кілька шляхів успадкування, що ведуть до спільного предка. Додаткову " +"інформацію про C3 MRO, який використовує Python, можна знайти в " +"документації, що супроводжує випуск 2.3, за адресою https://www.python.org/" +"download/releases/2.3/mro/." + +msgid "" +"When a class attribute reference (for class :class:`C`, say) would yield a " +"class method object, it is transformed into an instance method object whose :" +"attr:`__self__` attribute is :class:`C`. When it would yield a static " +"method object, it is transformed into the object wrapped by the static " +"method object. See section :ref:`descriptors` for another way in which " +"attributes retrieved from a class may differ from those actually contained " +"in its :attr:`~object.__dict__`." +msgstr "" +"Коли посилання на атрибут класу (наприклад, для класу :class:`C`) дає об’єкт " +"методу класу, воно перетворюється на об’єкт методу екземпляра, чий атрибут :" +"attr:`__self__` є :class:`C`. Коли він дає об’єкт статичного методу, він " +"перетворюється на об’єкт, обгорнутий об’єктом статичного методу. Перегляньте " +"розділ :ref:`descriptors` щодо іншого способу, яким атрибути, отримані з " +"класу, можуть відрізнятися від тих, що насправді містяться в його :attr:" +"`~object.__dict__`." + +msgid "" +"Class attribute assignments update the class's dictionary, never the " +"dictionary of a base class." +msgstr "" +"Призначення атрибутів класу оновлює словник класу, а не словник базового " +"класу." + +msgid "" +"A class object can be called (see above) to yield a class instance (see " +"below)." +msgstr "" +"Об’єкт класу можна викликати (див. вище), щоб створити екземпляр класу (див. " +"нижче)." + +msgid ":attr:`~definition.__name__`" +msgstr ":attr:`~definition.__name__`" + +msgid "The class name." +msgstr "Назва класу." + +msgid "The name of the module in which the class was defined." +msgstr "Ім'я модуля, в якому було визначено клас." + +msgid "The dictionary containing the class's namespace." +msgstr "Словник, що містить простір імен класу." + +msgid ":attr:`~class.__bases__`" +msgstr ":attr:`~class.__bases__`" + +msgid "" +"A tuple containing the base classes, in the order of their occurrence in the " +"base class list." +msgstr "" +"Кортеж, що містить базові класи в порядку їх появи в списку базових класів." + +msgid "The class's documentation string, or ``None`` if undefined." +msgstr "Рядок документації класу або ``None``, якщо не визначено." + +msgid "" +"A dictionary containing :term:`variable annotations ` " +"collected during class body execution. For best practices on working with :" +"attr:`__annotations__`, please see :ref:`annotations-howto`." +msgstr "" +"Словник, що містить :term:`анотації змінних `, зібрані " +"під час виконання тіла класу. Найкращі методи роботи з :attr:" +"`__annotations__` див. :ref:`annotations-howto`." + +msgid "Class instances" +msgstr "Екземпляри класу" + +msgid "" +"A class instance is created by calling a class object (see above). A class " +"instance has a namespace implemented as a dictionary which is the first " +"place in which attribute references are searched. When an attribute is not " +"found there, and the instance's class has an attribute by that name, the " +"search continues with the class attributes. If a class attribute is found " +"that is a user-defined function object, it is transformed into an instance " +"method object whose :attr:`__self__` attribute is the instance. Static " +"method and class method objects are also transformed; see above under " +"\"Classes\". See section :ref:`descriptors` for another way in which " +"attributes of a class retrieved via its instances may differ from the " +"objects actually stored in the class's :attr:`~object.__dict__`. If no " +"class attribute is found, and the object's class has a :meth:`~object." +"__getattr__` method, that is called to satisfy the lookup." +msgstr "" +"Екземпляр класу створюється шляхом виклику об’єкта класу (див. вище). " +"Екземпляр класу має простір імен, реалізований як словник, який є першим " +"місцем, у якому здійснюється пошук посилань на атрибути. Якщо атрибут там не " +"знайдено, а клас екземпляра має атрибут із таким іменем, пошук продовжується " +"з атрибутами класу. Якщо знайдено атрибут класу, який є визначеним " +"користувачем об’єктом функції, він перетворюється на об’єкт методу " +"екземпляра, атрибут :attr:`__self__` якого є екземпляром. Статичний метод і " +"об’єкти методу класу також трансформуються; див. вище в розділі \"Класи\". " +"Перегляньте розділ :ref:`descriptors` щодо іншого способу, яким атрибути " +"класу, отримані через його екземпляри, можуть відрізнятися від об’єктів, які " +"насправді зберігаються в :attr:`~object.__dict__` класу. Якщо атрибут класу " +"не знайдено, а клас об’єкта має метод :meth:`~object.__getattr__`, який " +"викликається для виконання пошуку." + +msgid "" +"Attribute assignments and deletions update the instance's dictionary, never " +"a class's dictionary. If the class has a :meth:`~object.__setattr__` or :" +"meth:`~object.__delattr__` method, this is called instead of updating the " +"instance dictionary directly." +msgstr "" +"Призначення та видалення атрибутів оновлюють словник екземпляра, а не " +"словник класу. Якщо клас має метод :meth:`~object.__setattr__` або :meth:" +"`~object.__delattr__`, він викликається замість безпосереднього оновлення " +"словника примірника." + +msgid "" +"Class instances can pretend to be numbers, sequences, or mappings if they " +"have methods with certain special names. See section :ref:`specialnames`." +msgstr "" +"Екземпляри класу можуть видавати себе за числа, послідовності або " +"відображення, якщо вони мають методи з певними спеціальними назвами. " +"Дивіться розділ :ref:`specialnames`." + +msgid "" +"Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" +"attr:`~instance.__class__` is the instance's class." +msgstr "" +"Спеціальні атрибути: :attr:`~object.__dict__` — це словник атрибутів; :attr:" +"`~instance.__class__` є класом екземпляра." + +msgid "I/O objects (also known as file objects)" +msgstr "Об’єкти введення-виведення (також відомі як файлові об’єкти)" + +msgid "" +"A :term:`file object` represents an open file. Various shortcuts are " +"available to create file objects: the :func:`open` built-in function, and " +"also :func:`os.popen`, :func:`os.fdopen`, and the :meth:`~socket.socket." +"makefile` method of socket objects (and perhaps by other functions or " +"methods provided by extension modules)." +msgstr "" +":term:`file object` представляє відкритий файл. Для створення файлових " +"об’єктів доступні різні ярлики: вбудована функція :func:`open`, а також :" +"func:`os.popen`, :func:`os.fdopen` і :meth:`~socket. socket.makefile` метод " +"об’єктів сокета (і, можливо, за допомогою інших функцій або методів, наданих " +"модулями розширення)." + +msgid "" +"The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized " +"to file objects corresponding to the interpreter's standard input, output " +"and error streams; they are all open in text mode and therefore follow the " +"interface defined by the :class:`io.TextIOBase` abstract class." +msgstr "" +"Об'єкти ``sys.stdin``, ``sys.stdout`` і ``sys.stderr`` ініціалізуються " +"об'єктами файлів, що відповідають стандартним потокам введення, виведення та " +"помилок інтерпретатора; усі вони відкриті в текстовому режимі, тому " +"відповідають інтерфейсу, визначеному :class:`io.TextIOBase` абстрактним " +"класом." + +msgid "Internal types" +msgstr "Внутрішні типи" + +msgid "" +"A few types used internally by the interpreter are exposed to the user. " +"Their definitions may change with future versions of the interpreter, but " +"they are mentioned here for completeness." +msgstr "" +"Кілька типів, які використовуються внутрішньо інтерпретатором, доступні " +"користувачеві. Їх визначення можуть змінюватися в майбутніх версіях " +"інтерпретатора, але вони згадуються тут для повноти." + +msgid "Code objects" +msgstr "Об'єкти коду" + +msgid "" +"Code objects represent *byte-compiled* executable Python code, or :term:" +"`bytecode`. The difference between a code object and a function object is " +"that the function object contains an explicit reference to the function's " +"globals (the module in which it was defined), while a code object contains " +"no context; also the default argument values are stored in the function " +"object, not in the code object (because they represent values calculated at " +"run-time). Unlike function objects, code objects are immutable and contain " +"no references (directly or indirectly) to mutable objects." +msgstr "" +"Об’єкти коду представляють *байт-скомпільований* виконуваний код Python або :" +"term:`bytecode`. Різниця між об’єктом коду та об’єктом функції полягає в " +"тому, що об’єкт функції містить явне посилання на глобальні елементи функції " +"(модуль, у якому вона була визначена), тоді як об’єкт коду не містить " +"контексту; також значення аргументів за замовчуванням зберігаються в об’єкті " +"функції, а не в об’єкті коду (оскільки вони представляють значення, " +"обчислені під час виконання). На відміну від функціональних об’єктів, " +"об’єкти коду є незмінними і не містять посилань (прямих чи опосередкованих) " +"на змінні об’єкти." + +msgid "" +"Special read-only attributes: :attr:`co_name` gives the function name; :attr:" +"`co_qualname` gives the fully qualified function name; :attr:`co_argcount` " +"is the total number of positional arguments (including positional-only " +"arguments and arguments with default values); :attr:`co_posonlyargcount` is " +"the number of positional-only arguments (including arguments with default " +"values); :attr:`co_kwonlyargcount` is the number of keyword-only arguments " +"(including arguments with default values); :attr:`co_nlocals` is the number " +"of local variables used by the function (including arguments); :attr:" +"`co_varnames` is a tuple containing the names of the local variables " +"(starting with the argument names); :attr:`co_cellvars` is a tuple " +"containing the names of local variables that are referenced by nested " +"functions; :attr:`co_freevars` is a tuple containing the names of free " +"variables; :attr:`co_code` is a string representing the sequence of bytecode " +"instructions; :attr:`co_consts` is a tuple containing the literals used by " +"the bytecode; :attr:`co_names` is a tuple containing the names used by the " +"bytecode; :attr:`co_filename` is the filename from which the code was " +"compiled; :attr:`co_firstlineno` is the first line number of the function; :" +"attr:`co_lnotab` is a string encoding the mapping from bytecode offsets to " +"line numbers (for details see the source code of the interpreter); :attr:" +"`co_stacksize` is the required stack size; :attr:`co_flags` is an integer " +"encoding a number of flags for the interpreter." +msgstr "" + +msgid "" +"The following flag bits are defined for :attr:`co_flags`: bit ``0x04`` is " +"set if the function uses the ``*arguments`` syntax to accept an arbitrary " +"number of positional arguments; bit ``0x08`` is set if the function uses the " +"``**keywords`` syntax to accept arbitrary keyword arguments; bit ``0x20`` is " +"set if the function is a generator." +msgstr "" +"Для :attr:`co_flags` визначено такі біти прапорів: біт ``0x04`` " +"встановлюється, якщо функція використовує синтаксис ``*arguments`` для " +"прийняття довільної кількості позиційних аргументів; біт ``0x08`` " +"встановлено, якщо функція використовує синтаксис ``**keywords`` для " +"прийняття довільних ключових аргументів; біт ``0x20`` встановлено, якщо " +"функція є генератором." + +msgid "" +"Future feature declarations (``from __future__ import division``) also use " +"bits in :attr:`co_flags` to indicate whether a code object was compiled with " +"a particular feature enabled: bit ``0x2000`` is set if the function was " +"compiled with future division enabled; bits ``0x10`` and ``0x1000`` were " +"used in earlier versions of Python." +msgstr "" +"Оголошення майбутніх функцій (``from __future__ import division``) також " +"використовують біти в :attr:`co_flags`, щоб вказати, чи був об’єкт коду " +"скомпільовано з певною функцією: біт ``0x2000`` встановлюється, якщо функція " +"була скомпільована з увімкненим майбутнім поділом; біти ``0x10`` і " +"``0x1000`` використовувалися в попередніх версіях Python." + +msgid "Other bits in :attr:`co_flags` are reserved for internal use." +msgstr "" +"Інші біти в :attr:`co_flags` зарезервовані для внутрішнього використання." + +msgid "" +"If a code object represents a function, the first item in :attr:`co_consts` " +"is the documentation string of the function, or ``None`` if undefined." +msgstr "" +"Якщо об’єкт коду представляє функцію, перший елемент у :attr:`co_conts` — це " +"рядок документації функції або ``None``, якщо не визначено." + +msgid "" +"Returns an iterable over the source code positions of each bytecode " +"instruction in the code object." +msgstr "" + +msgid "" +"The iterator returns tuples containing the ``(start_line, end_line, " +"start_column, end_column)``. The *i-th* tuple corresponds to the position of " +"the source code that compiled to the *i-th* instruction. Column information " +"is 0-indexed utf-8 byte offsets on the given source line." +msgstr "" + +msgid "" +"This positional information can be missing. A non-exhaustive lists of cases " +"where this may happen:" +msgstr "" + +msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." +msgstr "" + +msgid "" +"Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." +msgstr "" + +msgid "Position tuples corresponding to artificial instructions." +msgstr "" + +msgid "" +"Line and column numbers that can't be represented due to implementation " +"specific limitations." +msgstr "" + +msgid "" +"When this occurs, some or all of the tuple elements can be :const:`None`." +msgstr "" + +msgid "" +"This feature requires storing column positions in code objects which may " +"result in a small increase of disk usage of compiled Python files or " +"interpreter memory usage. To avoid storing the extra information and/or " +"deactivate printing the extra traceback information, the :option:`-X` " +"``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` " +"environment variable can be used." +msgstr "" + +msgid "Frame objects" +msgstr "Рамкові об'єкти" + +msgid "" +"Frame objects represent execution frames. They may occur in traceback " +"objects (see below), and are also passed to registered trace functions." +msgstr "" +"Об’єкти фрейму представляють кадри виконання. Вони можуть виникнути в " +"об’єктах трасування (див. нижче), а також передаються зареєстрованим " +"функціям трасування." + +msgid "" +"Special read-only attributes: :attr:`f_back` is to the previous stack frame " +"(towards the caller), or ``None`` if this is the bottom stack frame; :attr:" +"`f_code` is the code object being executed in this frame; :attr:`f_locals` " +"is the dictionary used to look up local variables; :attr:`f_globals` is used " +"for global variables; :attr:`f_builtins` is used for built-in (intrinsic) " +"names; :attr:`f_lasti` gives the precise instruction (this is an index into " +"the bytecode string of the code object)." +msgstr "" +"Спеціальні атрибути лише для читання: :attr:`f_back` до попереднього фрейму " +"стека (до абонента), або ``None``, якщо це нижній фрейм стека; :attr:" +"`f_code` - об'єкт коду, який виконується в цьому кадрі; :attr:`f_locals` - " +"це словник, який використовується для пошуку локальних змінних; :attr:" +"`f_globals` використовується для глобальних змінних; :attr:`f_builtins` " +"використовується для вбудованих (внутрішніх) імен; :attr:`f_lasti` дає точну " +"інструкцію (це індекс у рядку байт-коду об’єкта коду)." + +msgid "" +"Accessing ``f_code`` raises an :ref:`auditing event ` ``object." +"__getattr__`` with arguments ``obj`` and ``\"f_code\"``." +msgstr "" +"Доступ до ``f_code`` викликає :ref:`подію аудиту ` ``object." +"__getattr__`` з аргументами ``obj`` і ``\"f_code\"``." + +msgid "" +"Special writable attributes: :attr:`f_trace`, if not ``None``, is a function " +"called for various events during code execution (this is used by the " +"debugger). Normally an event is triggered for each new source line - this " +"can be disabled by setting :attr:`f_trace_lines` to :const:`False`." +msgstr "" +"Спеціальні атрибути, доступні для запису: :attr:`f_trace`, якщо не ``None``, " +"це функція, яка викликається для різних подій під час виконання коду (вона " +"використовується налагоджувачем). Зазвичай подія запускається для кожного " +"нового вихідного рядка - це можна вимкнути, встановивши :attr:" +"`f_trace_lines` на :const:`False`." + +msgid "" +"Implementations *may* allow per-opcode events to be requested by setting :" +"attr:`f_trace_opcodes` to :const:`True`. Note that this may lead to " +"undefined interpreter behaviour if exceptions raised by the trace function " +"escape to the function being traced." +msgstr "" +"Реалізації *можуть* дозволити надсилати запит на події кожного коду " +"операції, встановивши для :attr:`f_trace_opcodes` значення :const:`True`. " +"Зауважте, що це може призвести до невизначеної поведінки інтерпретатора, " +"якщо винятки, викликані функцією трасування, переходять до функції, що " +"трасується." + +msgid "" +":attr:`f_lineno` is the current line number of the frame --- writing to this " +"from within a trace function jumps to the given line (only for the bottom-" +"most frame). A debugger can implement a Jump command (aka Set Next " +"Statement) by writing to f_lineno." +msgstr "" +":attr:`f_lineno` — поточний номер рядка кадру --- запис у нього з функції " +"трасування переходить до заданого рядка (лише для самого нижнього кадру). " +"Налагоджувач може реалізувати команду Jump (така ж Set Next Statement), " +"записавши f_lineno." + +msgid "Frame objects support one method:" +msgstr "Об’єкти фрейму підтримують один метод:" + +msgid "" +"This method clears all references to local variables held by the frame. " +"Also, if the frame belonged to a generator, the generator is finalized. " +"This helps break reference cycles involving frame objects (for example when " +"catching an exception and storing its traceback for later use)." +msgstr "" +"Цей метод очищає всі посилання на локальні змінні, які містяться у кадрі. " +"Крім того, якщо кадр належав генератору, генератор завершується. Це " +"допомагає розірвати цикли посилань, пов’язані з об’єктами фрейму (наприклад, " +"під час перехоплення винятку та збереження його трасування для подальшого " +"використання)." + +msgid ":exc:`RuntimeError` is raised if the frame is currently executing." +msgstr ":exc:`RuntimeError` виникає, якщо кадр зараз виконується." + +msgid "Traceback objects" +msgstr "Об'єкти відстеження" + +msgid "" +"Traceback objects represent a stack trace of an exception. A traceback " +"object is implicitly created when an exception occurs, and may also be " +"explicitly created by calling :class:`types.TracebackType`." +msgstr "" +"Об'єкти Traceback представляють трасування стека виняткової ситуації. Об’єкт " +"трасування неявно створюється, коли виникає виняткова ситуація, а також може " +"бути явно створений викликом :class:`types.TracebackType`." + +msgid "" +"For implicitly created tracebacks, when the search for an exception handler " +"unwinds the execution stack, at each unwound level a traceback object is " +"inserted in front of the current traceback. When an exception handler is " +"entered, the stack trace is made available to the program. (See section :ref:" +"`try`.) It is accessible as the third item of the tuple returned by ``sys." +"exc_info()``, and as the ``__traceback__`` attribute of the caught exception." +msgstr "" +"Для неявно створених трасування, коли пошук обробника винятків розгортає " +"стек виконання, на кожному розкрученому рівні об’єкт трасування вставляється " +"перед поточним трасуванням. Коли вводиться обробник винятків, трасування " +"стека стає доступним для програми. (Див. розділ :ref:`try`.) Він доступний " +"як третій елемент кортежу, який повертає ``sys.exc_info()``, і як атрибут " +"``__traceback__`` перехопленого винятку." + +msgid "" +"When the program contains no suitable handler, the stack trace is written " +"(nicely formatted) to the standard error stream; if the interpreter is " +"interactive, it is also made available to the user as ``sys.last_traceback``." +msgstr "" +"Якщо програма не містить відповідного обробника, трасування стека " +"записується (добре відформатована) у стандартний потік помилок; якщо " +"інтерпретатор є інтерактивним, він також стає доступним для користувача як " +"``sys.last_traceback``." + +msgid "" +"For explicitly created tracebacks, it is up to the creator of the traceback " +"to determine how the ``tb_next`` attributes should be linked to form a full " +"stack trace." +msgstr "" +"Для явно створених зворотних трасувань автор повинен визначити, як атрибути " +"``tb_next`` повинні бути пов’язані, щоб сформувати повну трасування стека." + +msgid "" +"Special read-only attributes: :attr:`tb_frame` points to the execution frame " +"of the current level; :attr:`tb_lineno` gives the line number where the " +"exception occurred; :attr:`tb_lasti` indicates the precise instruction. The " +"line number and last instruction in the traceback may differ from the line " +"number of its frame object if the exception occurred in a :keyword:`try` " +"statement with no matching except clause or with a finally clause." +msgstr "" +"Спеціальні атрибути лише для читання: :attr:`tb_frame` вказує на кадр " +"виконання поточного рівня; :attr:`tb_lineno` вказує номер рядка, де сталася " +"виняток; :attr:`tb_lasti` вказує на точну інструкцію. Номер рядка та остання " +"інструкція в трасуванні можуть відрізнятися від номера рядка його об’єкта " +"фрейму, якщо виняток стався в операторі :keyword:`try` без відповідного " +"пункту крім або з пунктом finally." + +msgid "" +"Accessing ``tb_frame`` raises an :ref:`auditing event ` ``object." +"__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." +msgstr "" +"Доступ до tb_frame викликає :ref:`подію аудиту ` ``object." +"__getattr__`` з аргументами ``obj`` і ``\"tb_frame\"``." + +msgid "" +"Special writable attribute: :attr:`tb_next` is the next level in the stack " +"trace (towards the frame where the exception occurred), or ``None`` if there " +"is no next level." +msgstr "" +"Спеціальний атрибут, доступний для запису: :attr:`tb_next` — це наступний " +"рівень трасування стека (до кадру, де сталася виняток), або ``None``, якщо " +"наступного рівня немає." + +msgid "" +"Traceback objects can now be explicitly instantiated from Python code, and " +"the ``tb_next`` attribute of existing instances can be updated." +msgstr "" +"Об’єкти відстеження тепер можна явно створювати з коду Python, а атрибут " +"``tb_next`` існуючих екземплярів можна оновлювати." + +msgid "Slice objects" +msgstr "Розрізати об'єкти" + +msgid "" +"Slice objects are used to represent slices for :meth:`~object.__getitem__` " +"methods. They are also created by the built-in :func:`slice` function." +msgstr "" +"Об’єкти фрагментів використовуються для представлення фрагментів для " +"методів :meth:`~object.__getitem__`. Вони також створюються за допомогою " +"вбудованої функції :func:`slice`." + +msgid "" +"Special read-only attributes: :attr:`~slice.start` is the lower bound; :attr:" +"`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " +"each is ``None`` if omitted. These attributes can have any type." +msgstr "" +"Спеціальні атрибути лише для читання: :attr:`~slice.start` нижня межа; :attr:" +"`~slice.stop` є верхньою межею; :attr:`~slice.step` — значення кроку; якщо " +"опущено, кожен має значення ``None``. Ці атрибути можуть мати будь-який тип." + +msgid "Slice objects support one method:" +msgstr "Об'єкти Slice підтримують один метод:" + +msgid "" +"This method takes a single integer argument *length* and computes " +"information about the slice that the slice object would describe if applied " +"to a sequence of *length* items. It returns a tuple of three integers; " +"respectively these are the *start* and *stop* indices and the *step* or " +"stride length of the slice. Missing or out-of-bounds indices are handled in " +"a manner consistent with regular slices." +msgstr "" +"Цей метод приймає єдиний цілочисельний аргумент *length* і обчислює " +"інформацію про зріз, який описав би об’єкт slice, якщо його застосувати до " +"послідовності елементів *length*. Він повертає кортеж із трьох цілих чисел; " +"відповідно, це індекси *start* і *stop* і *крок* або довжина кроку зрізу. " +"Відсутні індекси або індекси, що виходять за межі, обробляються відповідно " +"до звичайних фрагментів." + +msgid "Static method objects" +msgstr "Об’єкти статичних методів" + +msgid "" +"Static method objects provide a way of defeating the transformation of " +"function objects to method objects described above. A static method object " +"is a wrapper around any other object, usually a user-defined method object. " +"When a static method object is retrieved from a class or a class instance, " +"the object actually returned is the wrapped object, which is not subject to " +"any further transformation. Static method objects are also callable. Static " +"method objects are created by the built-in :func:`staticmethod` constructor." +msgstr "" +"Об’єкти статичних методів забезпечують спосіб відмови від перетворення " +"об’єктів функції в об’єкти методів, описані вище. Статичний об’єкт методу є " +"обгорткою навколо будь-якого іншого об’єкта, зазвичай об’єкта методу, " +"визначеного користувачем. Коли об’єкт статичного методу отримується з класу " +"або екземпляра класу, фактично повернутий об’єкт є об’єктом-огорткою, який " +"не підлягає подальшому перетворенню. Об’єкти статичних методів також можна " +"викликати. Об’єкти статичних методів створюються за допомогою вбудованого " +"конструктора :func:`staticmethod`." + +msgid "Class method objects" +msgstr "Об’єкти методу класу" + +msgid "" +"A class method object, like a static method object, is a wrapper around " +"another object that alters the way in which that object is retrieved from " +"classes and class instances. The behaviour of class method objects upon such " +"retrieval is described above, under \"User-defined methods\". Class method " +"objects are created by the built-in :func:`classmethod` constructor." +msgstr "" +"Об’єкт методу класу, як і статичний об’єкт методу, є оболонкою навколо " +"іншого об’єкта, яка змінює спосіб, у який цей об’єкт отримується з класів та " +"екземплярів класу. Поведінка об’єктів методу класу після такого отримання " +"описана вище, у розділі \"Визначені користувачем методи\". Об’єкти методу " +"класу створюються за допомогою вбудованого конструктора :func:`classmethod`." + +msgid "Special method names" +msgstr "Назви спеціальних методів" + +msgid "" +"A class can implement certain operations that are invoked by special syntax " +"(such as arithmetic operations or subscripting and slicing) by defining " +"methods with special names. This is Python's approach to :dfn:`operator " +"overloading`, allowing classes to define their own behavior with respect to " +"language operators. For instance, if a class defines a method named :meth:" +"`~object.__getitem__`, and ``x`` is an instance of this class, then ``x[i]`` " +"is roughly equivalent to ``type(x).__getitem__(x, i)``. Except where " +"mentioned, attempts to execute an operation raise an exception when no " +"appropriate method is defined (typically :exc:`AttributeError` or :exc:" +"`TypeError`)." +msgstr "" +"Клас може реалізувати певні операції, які викликаються спеціальним " +"синтаксисом (такі як арифметичні операції або індексування та зрізання), " +"визначаючи методи зі спеціальними іменами. Це підхід Python до :dfn:" +"`operator overloading`, що дозволяє класам визначати власну поведінку щодо " +"операторів мови. Наприклад, якщо клас визначає метод із назвою :meth:" +"`~object.__getitem__`, а ``x`` є екземпляром цього класу, то ``x[i]`` " +"приблизно еквівалентний ``type( x).__getitem__(x, i)``. Якщо не зазначено " +"вище, спроби виконати операцію викликають виняток, якщо відповідний метод не " +"визначено (зазвичай :exc:`AttributeError` або :exc:`TypeError`)." + +msgid "" +"Setting a special method to ``None`` indicates that the corresponding " +"operation is not available. For example, if a class sets :meth:`~object." +"__iter__` to ``None``, the class is not iterable, so calling :func:`iter` on " +"its instances will raise a :exc:`TypeError` (without falling back to :meth:" +"`~object.__getitem__`). [#]_" +msgstr "" +"Встановлення для спеціального методу значення ``None`` означає, що " +"відповідна операція недоступна. Наприклад, якщо клас встановлює :meth:" +"`~object.__iter__` на ``None``, клас не піддається ітерації, тому виклик :" +"func:`iter` у його екземплярах викличе :exc:`TypeError` ( не повертаючись " +"до :meth:`~object.__getitem__`). [#]_" + +msgid "" +"When implementing a class that emulates any built-in type, it is important " +"that the emulation only be implemented to the degree that it makes sense for " +"the object being modelled. For example, some sequences may work well with " +"retrieval of individual elements, but extracting a slice may not make " +"sense. (One example of this is the :class:`~xml.dom.NodeList` interface in " +"the W3C's Document Object Model.)" +msgstr "" +"При реалізації класу, який емулює будь-який вбудований тип, важливо, щоб " +"емуляція була реалізована лише в тій мірі, в якій це має сенс для об’єкта, " +"що моделюється. Наприклад, деякі послідовності можуть добре працювати з " +"отриманням окремих елементів, але вилучення фрагмента може не мати сенсу. " +"(Одним із прикладів цього є інтерфейс :class:`~xml.dom.NodeList` в об’єктній " +"моделі документа W3C.)" + +msgid "Basic customization" +msgstr "Базове налаштування" + +msgid "" +"Called to create a new instance of class *cls*. :meth:`__new__` is a static " +"method (special-cased so you need not declare it as such) that takes the " +"class of which an instance was requested as its first argument. The " +"remaining arguments are those passed to the object constructor expression " +"(the call to the class). The return value of :meth:`__new__` should be the " +"new object instance (usually an instance of *cls*)." +msgstr "" +"Викликається для створення нового екземпляра класу *cls*. :meth:`__new__` — " +"це статичний метод (з особливим регістром, тому вам не потрібно оголошувати " +"його як такий), який приймає клас, екземпляр якого був запитаний, як свій " +"перший аргумент. Решта аргументів передаються у вираз конструктора об’єкта " +"(виклик класу). Поверненим значенням :meth:`__new__` має бути новий " +"екземпляр об’єкта (зазвичай це екземпляр *cls*)." + +msgid "" +"Typical implementations create a new instance of the class by invoking the " +"superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " +"with appropriate arguments and then modifying the newly created instance as " +"necessary before returning it." +msgstr "" + +msgid "" +"If :meth:`__new__` is invoked during object construction and it returns an " +"instance of *cls*, then the new instance’s :meth:`__init__` method will be " +"invoked like ``__init__(self[, ...])``, where *self* is the new instance and " +"the remaining arguments are the same as were passed to the object " +"constructor." +msgstr "" +"Якщо :meth:`__new__` викликається під час побудови об’єкта і повертає " +"екземпляр *cls*, тоді новий метод :meth:`__init__` буде викликано як " +"``__init__(self[, ...])``, де *self* — це новий екземпляр, а решта " +"аргументів ті самі, що були передані конструктору об’єкта." + +msgid "" +"If :meth:`__new__` does not return an instance of *cls*, then the new " +"instance's :meth:`__init__` method will not be invoked." +msgstr "" +"Якщо :meth:`__new__` не повертає екземпляр *cls*, то метод :meth:`__init__` " +"нового екземпляра не буде викликано." + +msgid "" +":meth:`__new__` is intended mainly to allow subclasses of immutable types " +"(like int, str, or tuple) to customize instance creation. It is also " +"commonly overridden in custom metaclasses in order to customize class " +"creation." +msgstr "" +":meth:`__new__` призначений головним чином для того, щоб дозволити підкласам " +"незмінних типів (наприклад, int, str або tuple) налаштовувати створення " +"екземплярів. Його також зазвичай перевизначають у власних метакласах, щоб " +"налаштувати створення класу." + +msgid "" +"Called after the instance has been created (by :meth:`__new__`), but before " +"it is returned to the caller. The arguments are those passed to the class " +"constructor expression. If a base class has an :meth:`__init__` method, the " +"derived class's :meth:`__init__` method, if any, must explicitly call it to " +"ensure proper initialization of the base class part of the instance; for " +"example: ``super().__init__([args...])``." +msgstr "" +"Викликається після створення екземпляра (за допомогою :meth:`__new__`), але " +"до того, як його буде повернено до викликаючого. Аргументи передаються у " +"вираз конструктора класу. Якщо базовий клас має метод :meth:`__init__`, " +"метод :meth:`__init__` похідного класу, якщо такий є, повинен явно викликати " +"його, щоб забезпечити правильну ініціалізацію частини базового класу " +"примірника; наприклад: ``super().__init__([args...])``." + +msgid "" +"Because :meth:`__new__` and :meth:`__init__` work together in constructing " +"objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " +"it), no non-``None`` value may be returned by :meth:`__init__`; doing so " +"will cause a :exc:`TypeError` to be raised at runtime." +msgstr "" +"Оскільки :meth:`__new__` і :meth:`__init__` працюють разом у створенні " +"об’єктів (:meth:`__new__`, щоб створити його, і :meth:`__init__`, щоб " +"налаштувати його), немає не-``None`` значення може повертати :meth:" +"`__init__`; це призведе до появи :exc:`TypeError` під час виконання." + +msgid "" +"Called when the instance is about to be destroyed. This is also called a " +"finalizer or (improperly) a destructor. If a base class has a :meth:" +"`__del__` method, the derived class's :meth:`__del__` method, if any, must " +"explicitly call it to ensure proper deletion of the base class part of the " +"instance." +msgstr "" +"Викликається, коли примірник збирається знищити. Це також називається " +"фіналізатором або (неправильно) деструктором. Якщо базовий клас має метод :" +"meth:`__del__`, метод :meth:`__del__` похідного класу, якщо такий є, повинен " +"явно викликати його, щоб забезпечити належне видалення частини базового " +"класу екземпляра." + +msgid "" +"It is possible (though not recommended!) for the :meth:`__del__` method to " +"postpone destruction of the instance by creating a new reference to it. " +"This is called object *resurrection*. It is implementation-dependent " +"whether :meth:`__del__` is called a second time when a resurrected object is " +"about to be destroyed; the current :term:`CPython` implementation only calls " +"it once." +msgstr "" +"Метод :meth:`__del__` може (хоча і не рекомендується!) відкласти знищення " +"екземпляра шляхом створення нового посилання на нього. Це називається " +"*воскресіння* об'єкта. Це залежить від реалізації, чи :meth:`__del__` " +"викликається вдруге, коли воскреслий об’єкт збирається знищити; поточна " +"реалізація :term:`CPython` викликає його лише один раз." + +msgid "" +"It is not guaranteed that :meth:`__del__` methods are called for objects " +"that still exist when the interpreter exits." +msgstr "" +"Не гарантується, що методи :meth:`__del__` викликаються для об’єктів, які " +"все ще існують, коли інтерпретатор завершує роботу." + +msgid "" +"``del x`` doesn't directly call ``x.__del__()`` --- the former decrements " +"the reference count for ``x`` by one, and the latter is only called when " +"``x``'s reference count reaches zero." +msgstr "" +"``del x`` не викликає напряму ``x.__del__()`` --- перший зменшує кількість " +"посилань для ``x`` на одиницю, а останній викликається лише тоді, коли ``x`` " +"кількість посилань досягає нуля." + +msgid "" +"It is possible for a reference cycle to prevent the reference count of an " +"object from going to zero. In this case, the cycle will be later detected " +"and deleted by the :term:`cyclic garbage collector `. A " +"common cause of reference cycles is when an exception has been caught in a " +"local variable. The frame's locals then reference the exception, which " +"references its own traceback, which references the locals of all frames " +"caught in the traceback." +msgstr "" + +msgid "Documentation for the :mod:`gc` module." +msgstr "Документація для модуля :mod:`gc`." + +msgid "" +"Due to the precarious circumstances under which :meth:`__del__` methods are " +"invoked, exceptions that occur during their execution are ignored, and a " +"warning is printed to ``sys.stderr`` instead. In particular:" +msgstr "" +"Через ненадійні обставини, за яких викликаються методи :meth:`__del__`, " +"винятки, що виникають під час їх виконання, ігноруються, а попередження " +"друкується в ``sys.stderr``. Зокрема:" + +msgid "" +":meth:`__del__` can be invoked when arbitrary code is being executed, " +"including from any arbitrary thread. If :meth:`__del__` needs to take a " +"lock or invoke any other blocking resource, it may deadlock as the resource " +"may already be taken by the code that gets interrupted to execute :meth:" +"`__del__`." +msgstr "" +":meth:`__del__` можна викликати, коли виконується довільний код, у тому " +"числі з будь-якого довільного потоку. Якщо :meth:`__del__` потрібно " +"заблокувати або викликати будь-який інший блокуючий ресурс, це може " +"призвести до блокування, оскільки ресурс може вже бути зайнятий кодом, який " +"переривається для виконання :meth:`__del__`." + +msgid "" +":meth:`__del__` can be executed during interpreter shutdown. As a " +"consequence, the global variables it needs to access (including other " +"modules) may already have been deleted or set to ``None``. Python guarantees " +"that globals whose name begins with a single underscore are deleted from " +"their module before other globals are deleted; if no other references to " +"such globals exist, this may help in assuring that imported modules are " +"still available at the time when the :meth:`__del__` method is called." +msgstr "" +":meth:`__del__` можна виконати під час завершення роботи інтерпретатора. Як " +"наслідок, глобальні змінні, до яких він має отримати доступ (включно з " +"іншими модулями), можливо, уже були видалені або встановлені на ``None``. " +"Python гарантує, що глобальні елементи, ім’я яких починається з одного " +"підкреслення, будуть видалені з їхнього модуля перед видаленням інших " +"глобальних елементів; якщо немає інших посилань на такі глобали, це може " +"допомогти впевнитися, що імпортовані модулі все ще доступні під час виклику " +"методу :meth:`__del__`." + +msgid "" +"Called by the :func:`repr` built-in function to compute the \"official\" " +"string representation of an object. If at all possible, this should look " +"like a valid Python expression that could be used to recreate an object with " +"the same value (given an appropriate environment). If this is not possible, " +"a string of the form ``<...some useful description...>`` should be returned. " +"The return value must be a string object. If a class defines :meth:" +"`__repr__` but not :meth:`__str__`, then :meth:`__repr__` is also used when " +"an \"informal\" string representation of instances of that class is required." +msgstr "" +"Викликається вбудованою функцією :func:`repr` для обчислення \"офіційного\" " +"рядкового представлення об’єкта. Якщо це взагалі можливо, це має виглядати " +"як дійсний вираз Python, який можна використати для відтворення об’єкта з " +"тим самим значенням (за умови відповідного середовища). Якщо це неможливо, " +"слід повернути рядок у формі ``<...some useful description...>``. Повернене " +"значення має бути рядковим об’єктом. Якщо клас визначає :meth:`__repr__`, " +"але не :meth:`__str__`, тоді :meth:`__repr__` також використовується, коли " +"потрібне \"неформальне\" рядкове представлення екземплярів цього класу." + +msgid "" +"This is typically used for debugging, so it is important that the " +"representation is information-rich and unambiguous." +msgstr "" +"Це зазвичай використовується для налагодження, тому важливо, щоб " +"представлення було насиченим інформацією та однозначним." + +msgid "" +"Called by :func:`str(object) ` and the built-in functions :func:" +"`format` and :func:`print` to compute the \"informal\" or nicely printable " +"string representation of an object. The return value must be a :ref:`string " +"` object." +msgstr "" +"Викликається :func:`str(object) ` і вбудованими функціями :func:" +"`format` і :func:`print` для обчислення \"неформального\" або зручного для " +"друку рядкового представлення об’єкта. Повернене значення має бути об’єктом :" +"ref:`string `." + +msgid "" +"This method differs from :meth:`object.__repr__` in that there is no " +"expectation that :meth:`__str__` return a valid Python expression: a more " +"convenient or concise representation can be used." +msgstr "" +"Цей метод відрізняється від :meth:`object.__repr__` тим, що не очікується, " +"що :meth:`__str__` поверне дійсний вираз Python: можна використовувати більш " +"зручне або стисле представлення." + +msgid "" +"The default implementation defined by the built-in type :class:`object` " +"calls :meth:`object.__repr__`." +msgstr "" +"Стандартна реалізація, визначена вбудованим типом :class:`object`, викликає :" +"meth:`object.__repr__`." + +msgid "" +"Called by :ref:`bytes ` to compute a byte-string representation " +"of an object. This should return a :class:`bytes` object." +msgstr "" +"Викликається :ref:`bytes ` для обчислення байтового " +"представлення об’єкта. Це має повернути об’єкт :class:`bytes`." + +msgid "" +"Called by the :func:`format` built-in function, and by extension, evaluation " +"of :ref:`formatted string literals ` and the :meth:`str.format` " +"method, to produce a \"formatted\" string representation of an object. The " +"*format_spec* argument is a string that contains a description of the " +"formatting options desired. The interpretation of the *format_spec* argument " +"is up to the type implementing :meth:`__format__`, however most classes will " +"either delegate formatting to one of the built-in types, or use a similar " +"formatting option syntax." +msgstr "" +"Викликається вбудованою функцією :func:`format` і за допомогою розширення " +"обчислення :ref:`форматованих рядкових літералів ` і методу :meth:" +"`str.format`, щоб створити \"відформатований\" рядковий представлення " +"об'єкт. Аргумент *format_spec* — це рядок, який містить опис бажаних " +"параметрів форматування. Інтерпретація аргументу *format_spec* залежить від " +"типу, що реалізує :meth:`__format__`, проте більшість класів або делегують " +"форматування одному з вбудованих типів, або використовують подібний " +"синтаксис параметрів форматування." + +msgid "" +"See :ref:`formatspec` for a description of the standard formatting syntax." +msgstr "" +"Перегляньте :ref:`formatspec` для опису стандартного синтаксису форматування." + +msgid "The return value must be a string object." +msgstr "Повернене значення має бути рядковим об’єктом." + +msgid "" +"The __format__ method of ``object`` itself raises a :exc:`TypeError` if " +"passed any non-empty string." +msgstr "" +"Сам метод __format__ ``object`` викликає :exc:`TypeError`, якщо передати " +"будь-який непорожній рядок." + +msgid "" +"``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " +"``format(str(x), '')``." +msgstr "" +"``object.__format__(x, '')`` тепер еквівалентний ``str(x)``, а не " +"``format(str(x), '')``." + +msgid "" +"These are the so-called \"rich comparison\" methods. The correspondence " +"between operator symbols and method names is as follows: ``xy`` calls ``x.__gt__(y)``, and ``x>=y`` " +"calls ``x.__ge__(y)``." +msgstr "" +"Це так звані методи \"багатого порівняння\". Відповідність між символами " +"оператора та назвами методів така: ``x y`` викликає ``x.__gt__(y)``, а ``x>=y`` викликає ``x." +"__ge__(y)``." + +msgid "" +"A rich comparison method may return the singleton ``NotImplemented`` if it " +"does not implement the operation for a given pair of arguments. By " +"convention, ``False`` and ``True`` are returned for a successful comparison. " +"However, these methods can return any value, so if the comparison operator " +"is used in a Boolean context (e.g., in the condition of an ``if`` " +"statement), Python will call :func:`bool` on the value to determine if the " +"result is true or false." +msgstr "" +"Розширений метод порівняння може повертати синглтон ``NotImplemented``, якщо " +"він не реалізує операцію для заданої пари аргументів. Згідно з домовленістю, " +"для успішного порівняння повертаються ``False`` і ``True``. Однак ці методи " +"можуть повертати будь-яке значення, тому, якщо оператор порівняння " +"використовується в логічному контексті (наприклад, в умові оператора if), " +"Python викличе :func:`bool` для значення, щоб визначити якщо результат " +"істинний або хибний." + +msgid "" +"By default, ``object`` implements :meth:`__eq__` by using ``is``, returning " +"``NotImplemented`` in the case of a false comparison: ``True if x is y else " +"NotImplemented``. For :meth:`__ne__`, by default it delegates to :meth:" +"`__eq__` and inverts the result unless it is ``NotImplemented``. There are " +"no other implied relationships among the comparison operators or default " +"implementations; for example, the truth of ``(x.__hash__``." +msgstr "" +"Якщо клас, який перевизначає :meth:`__eq__`, потребує збереження реалізації :" +"meth:`__hash__` від батьківського класу, інтерпретатор має бути повідомлений " +"про це явно, встановивши ``__hash__ = .__hash__``." + +msgid "" +"If a class that does not override :meth:`__eq__` wishes to suppress hash " +"support, it should include ``__hash__ = None`` in the class definition. A " +"class which defines its own :meth:`__hash__` that explicitly raises a :exc:" +"`TypeError` would be incorrectly identified as hashable by an " +"``isinstance(obj, collections.abc.Hashable)`` call." +msgstr "" +"Якщо клас, який не перевизначає :meth:`__eq__`, бажає придушити підтримку " +"хешу, він повинен включити ``__hash__ = None`` у визначення класу. Клас, " +"який визначає власний :meth:`__hash__`, який явно викликає :exc:`TypeError`, " +"буде неправильно ідентифікований як хешований викликом ``isinstance(obj, " +"collections.abc.Hashable)``." + +msgid "" +"By default, the :meth:`__hash__` values of str and bytes objects are \"salted" +"\" with an unpredictable random value. Although they remain constant within " +"an individual Python process, they are not predictable between repeated " +"invocations of Python." +msgstr "" +"За замовчуванням значення :meth:`__hash__` об’єктів str і bytes " +"\"підсолюються\" непередбачуваним випадковим значенням. Хоча вони " +"залишаються незмінними в окремому процесі Python, вони не передбачувані між " +"повторними викликами Python." + +msgid "" +"This is intended to provide protection against a denial-of-service caused by " +"carefully chosen inputs that exploit the worst case performance of a dict " +"insertion, O(n\\ :sup:`2`) complexity. See http://www.ocert.org/advisories/" +"ocert-2011-003.html for details." +msgstr "" + +msgid "" +"Changing hash values affects the iteration order of sets. Python has never " +"made guarantees about this ordering (and it typically varies between 32-bit " +"and 64-bit builds)." +msgstr "" +"Зміна хеш-значень впливає на порядок ітерацій наборів. Python ніколи не " +"надавав гарантій щодо такого порядку (і він зазвичай варіюється між 32-" +"бітними та 64-бітними збірками)." + +msgid "See also :envvar:`PYTHONHASHSEED`." +msgstr "Дивіться також :envvar:`PYTHONHASHSEED`." + +msgid "Hash randomization is enabled by default." +msgstr "Хеш-рандомізація ввімкнена за замовчуванням." + +msgid "" +"Called to implement truth value testing and the built-in operation " +"``bool()``; should return ``False`` or ``True``. When this method is not " +"defined, :meth:`__len__` is called, if it is defined, and the object is " +"considered true if its result is nonzero. If a class defines neither :meth:" +"`__len__` nor :meth:`__bool__`, all its instances are considered true." +msgstr "" +"Викликається для реалізації перевірки значення істинності та вбудованої " +"операції ``bool()``; має повертати ``False`` або ``True``. Коли цей метод не " +"визначено, викликається :meth:`__len__`, якщо він визначений, і об’єкт " +"вважається істинним, якщо його результат ненульовий. Якщо клас не визначає " +"ані :meth:`__len__`, ані :meth:`__bool__`, усі його екземпляри вважаються " +"істинними." + +msgid "Customizing attribute access" +msgstr "Налаштування доступу до атрибутів" + +msgid "" +"The following methods can be defined to customize the meaning of attribute " +"access (use of, assignment to, or deletion of ``x.name``) for class " +"instances." +msgstr "" +"Наступні методи можна визначити для налаштування значення доступу до " +"атрибутів (використання, призначення або видалення ``x.name``) для " +"екземплярів класу." + +msgid "" +"Called when the default attribute access fails with an :exc:`AttributeError` " +"(either :meth:`__getattribute__` raises an :exc:`AttributeError` because " +"*name* is not an instance attribute or an attribute in the class tree for " +"``self``; or :meth:`__get__` of a *name* property raises :exc:" +"`AttributeError`). This method should either return the (computed) " +"attribute value or raise an :exc:`AttributeError` exception." +msgstr "" +"Викликається, коли доступ до атрибута за замовчуванням не вдається через :" +"exc:`AttributeError` (будь-який :meth:`__getattribute__` викликає :exc:" +"`AttributeError`, оскільки *name* не є атрибутом екземпляра або атрибутом у " +"дереві класів для ``self``; або :meth:`__get__` властивості *name* викликає :" +"exc:`AttributeError`). Цей метод має повертати (обчислене) значення атрибута " +"або викликати виняток :exc:`AttributeError`." + +msgid "" +"Note that if the attribute is found through the normal mechanism, :meth:" +"`__getattr__` is not called. (This is an intentional asymmetry between :" +"meth:`__getattr__` and :meth:`__setattr__`.) This is done both for " +"efficiency reasons and because otherwise :meth:`__getattr__` would have no " +"way to access other attributes of the instance. Note that at least for " +"instance variables, you can fake total control by not inserting any values " +"in the instance attribute dictionary (but instead inserting them in another " +"object). See the :meth:`__getattribute__` method below for a way to " +"actually get total control over attribute access." +msgstr "" +"Зауважте, що якщо атрибут знайдено за допомогою звичайного механізму, :meth:" +"`__getattr__` не викликається. (Це навмисна асиметрія між :meth:" +"`__getattr__` і :meth:`__setattr__`.) Це зроблено як з міркувань " +"ефективності, так і тому, що інакше :meth:`__getattr__` не матиме доступу до " +"інших атрибутів примірника. Зауважте, що принаймні для змінних екземпляра ви " +"можете імітувати повний контроль, не вставляючи жодних значень у словник " +"атрибутів екземпляра (а натомість вставляючи їх в інший об’єкт). Перегляньте " +"метод :meth:`__getattribute__` нижче, щоб дізнатися, як фактично отримати " +"повний контроль над доступом до атрибутів." + +msgid "" +"Called unconditionally to implement attribute accesses for instances of the " +"class. If the class also defines :meth:`__getattr__`, the latter will not be " +"called unless :meth:`__getattribute__` either calls it explicitly or raises " +"an :exc:`AttributeError`. This method should return the (computed) attribute " +"value or raise an :exc:`AttributeError` exception. In order to avoid " +"infinite recursion in this method, its implementation should always call the " +"base class method with the same name to access any attributes it needs, for " +"example, ``object.__getattribute__(self, name)``." +msgstr "" +"Викликається безумовно для реалізації доступу до атрибутів для екземплярів " +"класу. Якщо клас також визначає :meth:`__getattr__`, останній не буде " +"викликаний, якщо :meth:`__getattribute__` не викличе його явно або не " +"викличе :exc:`AttributeError`. Цей метод має повертати (обчислене) значення " +"атрибута або викликати виняток :exc:`AttributeError`. Щоб уникнути " +"нескінченної рекурсії в цьому методі, його реалізація повинна завжди " +"викликати метод базового класу з тим самим іменем для доступу до будь-яких " +"необхідних атрибутів, наприклад, ``object.__getattribute__(self, name)``." + +msgid "" +"This method may still be bypassed when looking up special methods as the " +"result of implicit invocation via language syntax or built-in functions. " +"See :ref:`special-lookup`." +msgstr "" +"Цей метод все ще можна обійти під час пошуку спеціальних методів у " +"результаті неявного виклику через синтаксис мови або вбудовані функції. " +"Перегляньте :ref:`special-lookup`." + +msgid "" +"Raises an :ref:`auditing event ` ``object.__getattr__`` with " +"arguments ``obj``, ``name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``object.__getattr__`` з аргументами " +"``obj``, ``name``." + +msgid "" +"For certain sensitive attribute accesses, raises an :ref:`auditing event " +"` ``object.__getattr__`` with arguments ``obj`` and ``name``." +msgstr "" +"Для доступу до певних конфіденційних атрибутів викликає :ref:`подію аудиту " +"` ``object.__getattr__`` з аргументами ``obj`` і ``name``." + +msgid "" +"Called when an attribute assignment is attempted. This is called instead of " +"the normal mechanism (i.e. store the value in the instance dictionary). " +"*name* is the attribute name, *value* is the value to be assigned to it." +msgstr "" +"Викликається під час спроби призначення атрибута. Це викликається замість " +"звичайного механізму (тобто збереження значення в словнику екземпляра). " +"*name* — ім’я атрибута, *value* — значення, яке йому буде присвоєно." + +msgid "" +"If :meth:`__setattr__` wants to assign to an instance attribute, it should " +"call the base class method with the same name, for example, ``object." +"__setattr__(self, name, value)``." +msgstr "" +"Якщо :meth:`__setattr__` хоче призначити атрибут екземпляра, він повинен " +"викликати метод базового класу з такою самою назвою, наприклад, ``object." +"__setattr__(self, name, value)``." + +msgid "" +"Raises an :ref:`auditing event ` ``object.__setattr__`` with " +"arguments ``obj``, ``name``, ``value``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``object.__setattr__`` з аргументами " +"``obj``, ``name``, ``value``." + +msgid "" +"For certain sensitive attribute assignments, raises an :ref:`auditing event " +"` ``object.__setattr__`` with arguments ``obj``, ``name``, " +"``value``." +msgstr "" +"Для певних конфіденційних призначень атрибутів створює :ref:`подію аудиту " +"` ``object.__setattr__`` з аргументами ``obj``, ``name``, " +"``value``." + +msgid "" +"Like :meth:`__setattr__` but for attribute deletion instead of assignment. " +"This should only be implemented if ``del obj.name`` is meaningful for the " +"object." +msgstr "" +"Як :meth:`__setattr__`, але для видалення атрибута замість призначення. Це " +"слід застосовувати, лише якщо ``del obj.name`` має значення для об’єкта." + +msgid "" +"Raises an :ref:`auditing event ` ``object.__delattr__`` with " +"arguments ``obj``, ``name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``object.__delattr__`` з аргументами " +"``obj``, ``name``." + +msgid "" +"For certain sensitive attribute deletions, raises an :ref:`auditing event " +"` ``object.__delattr__`` with arguments ``obj`` and ``name``." +msgstr "" +"Для певних видалень конфіденційних атрибутів викликає :ref:`подію аудиту " +"` ``object.__delattr__`` з аргументами ``obj`` і ``name``." + +msgid "" +"Called when :func:`dir` is called on the object. A sequence must be " +"returned. :func:`dir` converts the returned sequence to a list and sorts it." +msgstr "" +"Викликається, коли :func:`dir` викликається для об’єкта. Необхідно повернути " +"послідовність. :func:`dir` перетворює повернуту послідовність на список і " +"сортує його." + +msgid "Customizing module attribute access" +msgstr "Налаштування доступу до атрибутів модуля" + +msgid "" +"Special names ``__getattr__`` and ``__dir__`` can be also used to customize " +"access to module attributes. The ``__getattr__`` function at the module " +"level should accept one argument which is the name of an attribute and " +"return the computed value or raise an :exc:`AttributeError`. If an attribute " +"is not found on a module object through the normal lookup, i.e. :meth:" +"`object.__getattribute__`, then ``__getattr__`` is searched in the module " +"``__dict__`` before raising an :exc:`AttributeError`. If found, it is called " +"with the attribute name and the result is returned." +msgstr "" +"Спеціальні імена ``__getattr__`` і ``__dir__`` також можна використовувати " +"для налаштування доступу до атрибутів модуля. Функція ``__getattr__`` на " +"рівні модуля повинна приймати один аргумент, який є назвою атрибута, і " +"повертати обчислене значення або викликати :exc:`AttributeError`. Якщо " +"атрибут не знайдено в об’єкті модуля за допомогою звичайного пошуку, тобто :" +"meth:`object.__getattribute__`, тоді ``__getattr__`` шукається в модулі " +"``__dict__`` перед тим, як викликати :exc:`AttributeError` . Якщо знайдено, " +"воно викликається з назвою атрибута та повертає результат." + +msgid "" +"The ``__dir__`` function should accept no arguments, and return a sequence " +"of strings that represents the names accessible on module. If present, this " +"function overrides the standard :func:`dir` search on a module." +msgstr "" +"Функція ``__dir__`` не повинна приймати аргументів і повертати послідовність " +"рядків, яка представляє імена, доступні в модулі. Якщо присутня, ця функція " +"замінює стандартний пошук :func:`dir` у модулі." + +msgid "" +"For a more fine grained customization of the module behavior (setting " +"attributes, properties, etc.), one can set the ``__class__`` attribute of a " +"module object to a subclass of :class:`types.ModuleType`. For example::" +msgstr "" +"Для більш точного налаштування поведінки модуля (встановлення атрибутів, " +"властивостей тощо) можна встановити атрибут ``__class__`` об’єкта модуля до " +"підкласу :class:`types.ModuleType`. Наприклад::" + +msgid "" +"Defining module ``__getattr__`` and setting module ``__class__`` only affect " +"lookups made using the attribute access syntax -- directly accessing the " +"module globals (whether by code within the module, or via a reference to the " +"module's globals dictionary) is unaffected." +msgstr "" +"Визначення модуля ``__getattr__`` і налаштування модуля ``__class__`` " +"впливають лише на пошуки, зроблені за допомогою синтаксису доступу до " +"атрибутів – прямий доступ до глобалів модуля (чи то за допомогою коду в " +"модулі, чи через посилання на словник глобалів модуля) не впливає." + +msgid "``__class__`` module attribute is now writable." +msgstr "Атрибут модуля ``__class__`` тепер доступний для запису." + +msgid "``__getattr__`` and ``__dir__`` module attributes." +msgstr "Атрибути модуля ``__getattr__`` і ``__dir__``." + +msgid ":pep:`562` - Module __getattr__ and __dir__" +msgstr ":pep:`562` - Модуль __getattr__ і __dir__" + +msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." +msgstr "Описує функції ``__getattr__`` і ``__dir__`` для модулів." + +msgid "Implementing Descriptors" +msgstr "Реалізація дескрипторів" + +msgid "" +"The following methods only apply when an instance of the class containing " +"the method (a so-called *descriptor* class) appears in an *owner* class (the " +"descriptor must be in either the owner's class dictionary or in the class " +"dictionary for one of its parents). In the examples below, \"the attribute" +"\" refers to the attribute whose name is the key of the property in the " +"owner class' :attr:`~object.__dict__`." +msgstr "" +"Наступні методи застосовуються лише тоді, коли екземпляр класу, що містить " +"метод (так званий клас *descriptor*), з’являється в класі *owner* " +"(дескриптор має бути або в словнику класу власника, або в словнику класу для " +"одного з його батьки). У наведених нижче прикладах \"атрибут\" відноситься " +"до атрибута, ім’я якого є ключем властивості в класі власника :attr:`~object." +"__dict__`." + +msgid "" +"Called to get the attribute of the owner class (class attribute access) or " +"of an instance of that class (instance attribute access). The optional " +"*owner* argument is the owner class, while *instance* is the instance that " +"the attribute was accessed through, or ``None`` when the attribute is " +"accessed through the *owner*." +msgstr "" +"Викликається, щоб отримати атрибут класу власника (доступ до атрибуту класу) " +"або екземпляра цього класу (доступ до атрибуту екземпляра). Необов’язковий " +"аргумент *owner* — це клас власника, тоді як *instance* — це екземпляр, " +"через який був доступ до атрибута, або ``None``, коли доступ до атрибута " +"здійснюється через *owner*." + +msgid "" +"This method should return the computed attribute value or raise an :exc:" +"`AttributeError` exception." +msgstr "" +"Цей метод має повертати обчислене значення атрибута або викликати виняток :" +"exc:`AttributeError`." + +msgid "" +":PEP:`252` specifies that :meth:`__get__` is callable with one or two " +"arguments. Python's own built-in descriptors support this specification; " +"however, it is likely that some third-party tools have descriptors that " +"require both arguments. Python's own :meth:`__getattribute__` " +"implementation always passes in both arguments whether they are required or " +"not." +msgstr "" +":PEP:`252` вказує, що :meth:`__get__` можна викликати за допомогою одного " +"або двох аргументів. Власні вбудовані дескриптори Python підтримують цю " +"специфікацію; проте ймовірно, що деякі інструменти сторонніх розробників " +"мають дескриптори, які потребують обох аргументів. Власна реалізація :meth:" +"`__getattribute__` Python завжди передає обидва аргументи незалежно від " +"того, потрібні вони чи ні." + +msgid "" +"Called to set the attribute on an instance *instance* of the owner class to " +"a new value, *value*." +msgstr "" +"Викликається, щоб встановити атрибуту екземпляра *екземпляру* класу власника " +"нове значення *value*." + +msgid "" +"Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " +"descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " +"more details." +msgstr "" +"Зверніть увагу: додавання :meth:`__set__` або :meth:`__delete__` змінює тип " +"дескриптора на \"дескриптор даних\". Перегляньте :ref:`descriptor-" +"invocation` для отримання додаткової інформації." + +msgid "" +"Called to delete the attribute on an instance *instance* of the owner class." +msgstr "" +"Викликається для видалення атрибута екземпляра *екземпляра* класу власника." + +msgid "" +"The attribute :attr:`__objclass__` is interpreted by the :mod:`inspect` " +"module as specifying the class where this object was defined (setting this " +"appropriately can assist in runtime introspection of dynamic class " +"attributes). For callables, it may indicate that an instance of the given " +"type (or a subclass) is expected or required as the first positional " +"argument (for example, CPython sets this attribute for unbound methods that " +"are implemented in C)." +msgstr "" +"Атрибут :attr:`__objclass__` інтерпретується модулем :mod:`inspect` як " +"визначення класу, де було визначено цей об’єкт (встановлення цього належним " +"чином може допомогти під час інтроспекції динамічних атрибутів класу). Для " +"callables це може вказувати на те, що екземпляр заданого типу (або підкласу) " +"очікується або вимагається як перший позиційний аргумент (наприклад, CPython " +"встановлює цей атрибут для незв’язаних методів, реалізованих у C)." + +msgid "Invoking Descriptors" +msgstr "Виклик дескрипторів" + +msgid "" +"In general, a descriptor is an object attribute with \"binding behavior\", " +"one whose attribute access has been overridden by methods in the descriptor " +"protocol: :meth:`~object.__get__`, :meth:`~object.__set__`, and :meth:" +"`~object.__delete__`. If any of those methods are defined for an object, it " +"is said to be a descriptor." +msgstr "" +"Загалом, дескриптор — це атрибут об’єкта з \"зв’язуючою поведінкою\", доступ " +"до атрибутів якого перевизначено методами в протоколі дескриптора: :meth:" +"`~object.__get__`, :meth:`~object.__set__` і :meth:`~object.__delete__`. " +"Якщо будь-який із цих методів визначено для об’єкта, він називається " +"дескриптором." + +msgid "" +"The default behavior for attribute access is to get, set, or delete the " +"attribute from an object's dictionary. For instance, ``a.x`` has a lookup " +"chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and " +"continuing through the base classes of ``type(a)`` excluding metaclasses." +msgstr "" +"Поведінка за умовчанням для доступу до атрибутів полягає в отриманні, " +"установці або видаленні атрибута зі словника об’єкта. Наприклад, ``a.x`` має " +"ланцюжок пошуку, який починається з ``a.__dict__['x']``, потім ``type(a)." +"__dict__['x']`` і продовжується через базові класи типу ``type(a)``, за " +"винятком метакласів." + +msgid "" +"However, if the looked-up value is an object defining one of the descriptor " +"methods, then Python may override the default behavior and invoke the " +"descriptor method instead. Where this occurs in the precedence chain " +"depends on which descriptor methods were defined and how they were called." +msgstr "" +"Проте, якщо шукане значення є об’єктом, що визначає один із методів " +"дескриптора, тоді Python може замінити поведінку за замовчуванням і замість " +"цього викликати метод дескриптора. Де це відбувається в ланцюжку " +"пріоритетів, залежить від того, які методи дескриптора були визначені та як " +"вони були викликані." + +msgid "" +"The starting point for descriptor invocation is a binding, ``a.x``. How the " +"arguments are assembled depends on ``a``:" +msgstr "" +"Початковою точкою для виклику дескриптора є прив’язка, ``a.x``. Спосіб " +"збирання аргументів залежить від ``a``:" + +msgid "Direct Call" +msgstr "Прямий дзвінок" + +msgid "" +"The simplest and least common call is when user code directly invokes a " +"descriptor method: ``x.__get__(a)``." +msgstr "" +"Найпростіший і найменш поширений виклик — це коли код користувача " +"безпосередньо викликає метод дескриптора: ``x.__get__(a)``." + +msgid "Instance Binding" +msgstr "Прив'язка екземпляра" + +msgid "" +"If binding to an object instance, ``a.x`` is transformed into the call: " +"``type(a).__dict__['x'].__get__(a, type(a))``." +msgstr "" +"У разі прив’язки до екземпляра об’єкта ``a.x`` перетворюється на виклик: " +"``type(a).__dict__['x'].__get__(a, type(a))``." + +msgid "Class Binding" +msgstr "Прив'язка класу" + +msgid "" +"If binding to a class, ``A.x`` is transformed into the call: ``A." +"__dict__['x'].__get__(None, A)``." +msgstr "" +"Якщо прив’язується до класу, ``A.x`` перетворюється на виклик: ``A." +"__dict__['x'].__get__(None, A)``." + +msgid "Super Binding" +msgstr "Супер прив'язка" + +msgid "" +"A dotted lookup such as ``super(A, a).x`` searches ``a.__class__.__mro__`` " +"for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." +"__get__(a, A)``. If not a descriptor, ``x`` is returned unchanged." +msgstr "" + +msgid "" +"For instance bindings, the precedence of descriptor invocation depends on " +"which descriptor methods are defined. A descriptor can define any " +"combination of :meth:`~object.__get__`, :meth:`~object.__set__` and :meth:" +"`~object.__delete__`. If it does not define :meth:`__get__`, then accessing " +"the attribute will return the descriptor object itself unless there is a " +"value in the object's instance dictionary. If the descriptor defines :meth:" +"`__set__` and/or :meth:`__delete__`, it is a data descriptor; if it defines " +"neither, it is a non-data descriptor. Normally, data descriptors define " +"both :meth:`__get__` and :meth:`__set__`, while non-data descriptors have " +"just the :meth:`__get__` method. Data descriptors with :meth:`__get__` and :" +"meth:`__set__` (and/or :meth:`__delete__`) defined always override a " +"redefinition in an instance dictionary. In contrast, non-data descriptors " +"can be overridden by instances." +msgstr "" +"Наприклад, прив’язки, пріоритет виклику дескриптора залежить від того, які " +"методи дескриптора визначено. Дескриптор може визначати будь-яку комбінацію :" +"meth:`~object.__get__`, :meth:`~object.__set__` та :meth:`~object." +"__delete__`. Якщо він не визначає :meth:`__get__`, тоді доступ до атрибута " +"поверне сам об’єкт дескриптора, якщо немає значення в словнику екземплярів " +"об’єкта. Якщо дескриптор визначає :meth:`__set__` та/або :meth:`__delete__`, " +"це дескриптор даних; якщо він не визначає жодного, це дескриптор не даних. " +"Зазвичай дескриптори даних визначають і :meth:`__get__`, і :meth:`__set__`, " +"тоді як дескриптори без даних мають лише метод :meth:`__get__`. Дескриптори " +"даних із визначеними :meth:`__get__` і :meth:`__set__` (і/або :meth:" +"`__delete__`) завжди замінюють перевизначення в словнику екземпляра. " +"Навпаки, дескриптори, не пов’язані з даними, можуть бути перевизначені " +"екземплярами." + +msgid "" +"Python methods (including those decorated with :func:`@staticmethod " +"` and :func:`@classmethod `) are implemented as " +"non-data descriptors. Accordingly, instances can redefine and override " +"methods. This allows individual instances to acquire behaviors that differ " +"from other instances of the same class." +msgstr "" +"Методи Python (включаючи ті, що прикрашені :func:`@staticmethod " +"` і :func:`@classmethod `) реалізовані як " +"дескриптори не даних. Відповідно, екземпляри можуть перевизначати та " +"замінювати методи. Це дозволяє окремим примірникам набувати поведінки, яка " +"відрізняється від інших примірників того самого класу." + +msgid "" +"The :func:`property` function is implemented as a data descriptor. " +"Accordingly, instances cannot override the behavior of a property." +msgstr "" +"Функція :func:`property` реалізована як дескриптор даних. Відповідно, " +"екземпляри не можуть перевизначати поведінку властивості." + +msgid "__slots__" +msgstr "__slots__" + +msgid "" +"*__slots__* allow us to explicitly declare data members (like properties) " +"and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " +"explicitly declared in *__slots__* or available in a parent.)" +msgstr "" +"*__slots__* дозволяє нам явно оголошувати елементи даних (наприклад, " +"властивості) і забороняти створення :attr:`~object.__dict__` і *__weakref__* " +"(якщо це явно не оголошено в *__slots__* або доступно в батьківському)." + +msgid "" +"The space saved over using :attr:`~object.__dict__` can be significant. " +"Attribute lookup speed can be significantly improved as well." +msgstr "" +"Місце, збережене за допомогою :attr:`~object.__dict__` може бути значним. " +"Швидкість пошуку атрибутів також можна значно покращити." + +msgid "" +"This class variable can be assigned a string, iterable, or sequence of " +"strings with variable names used by instances. *__slots__* reserves space " +"for the declared variables and prevents the automatic creation of :attr:" +"`~object.__dict__` and *__weakref__* for each instance." +msgstr "" +"Цій змінній класу можна призначити рядок, ітерацію або послідовність рядків " +"з іменами змінних, які використовуються екземплярами. *__slots__* резервує " +"місце для оголошених змінних і запобігає автоматичному створенню :attr:" +"`~object.__dict__` і *__weakref__* для кожного екземпляра." + +msgid "Notes on using *__slots__*" +msgstr "Примітки щодо використання *__slots__*" + +msgid "" +"When inheriting from a class without *__slots__*, the :attr:`~object." +"__dict__` and *__weakref__* attribute of the instances will always be " +"accessible." +msgstr "" +"При успадкуванні від класу без *__slots__* атрибути :attr:`~object.__dict__` " +"і *__weakref__* екземплярів завжди будуть доступними." + +msgid "" +"Without a :attr:`~object.__dict__` variable, instances cannot be assigned " +"new variables not listed in the *__slots__* definition. Attempts to assign " +"to an unlisted variable name raises :exc:`AttributeError`. If dynamic " +"assignment of new variables is desired, then add ``'__dict__'`` to the " +"sequence of strings in the *__slots__* declaration." +msgstr "" +"Без змінної :attr:`~object.__dict__` екземплярам не можна призначати нові " +"змінні, не вказані у визначенні *__slots__*. Спроби призначити змінній, яка " +"не вказана в списку, викликають помилку :exc:`AttributeError`. Якщо потрібне " +"динамічне призначення нових змінних, тоді додайте ``'__dict__'`` до " +"послідовності рядків у декларації *__slots__*." + +msgid "" +"Without a *__weakref__* variable for each instance, classes defining " +"*__slots__* do not support :mod:`weak references ` to its " +"instances. If weak reference support is needed, then add ``'__weakref__'`` " +"to the sequence of strings in the *__slots__* declaration." +msgstr "" +"Без змінної *__weakref__* для кожного екземпляра класи, що визначають " +"*__slots__*, не підтримують :mod:`слабкі посилання ` на його " +"екземпляри. Якщо необхідна підтримка слабких посилань, додайте " +"``'__weakref__'`` до послідовності рядків у декларації *__slots__*." + +msgid "" +"*__slots__* are implemented at the class level by creating :ref:`descriptors " +"` for each variable name. As a result, class attributes cannot " +"be used to set default values for instance variables defined by *__slots__*; " +"otherwise, the class attribute would overwrite the descriptor assignment." +msgstr "" +"*__slots__* реалізуються на рівні класу шляхом створення :ref:`дескрипторів " +"` для кожної назви змінної. Як результат, атрибути класу не " +"можна використовувати для встановлення значень за замовчуванням для змінних " +"екземплярів, визначених *__slots__*; інакше атрибут класу перезапише " +"призначення дескриптора." + +msgid "" +"The action of a *__slots__* declaration is not limited to the class where it " +"is defined. *__slots__* declared in parents are available in child classes. " +"However, child subclasses will get a :attr:`~object.__dict__` and " +"*__weakref__* unless they also define *__slots__* (which should only contain " +"names of any *additional* slots)." +msgstr "" +"Дія оголошення *__slots__* не обмежується класом, де воно визначено. " +"*__slots__*, оголошені в батьківських класах, доступні в дочірніх класах. " +"Однак дочірні підкласи отримають :attr:`~object.__dict__` і *__weakref__*, " +"якщо вони також не визначають *__slots__* (які мають містити лише назви будь-" +"яких *додаткових* слотів)." + +msgid "" +"If a class defines a slot also defined in a base class, the instance " +"variable defined by the base class slot is inaccessible (except by " +"retrieving its descriptor directly from the base class). This renders the " +"meaning of the program undefined. In the future, a check may be added to " +"prevent this." +msgstr "" +"Якщо клас визначає слот, також визначений у базовому класі, змінна " +"екземпляра, визначена слотом базового класу, недоступна (за винятком " +"отримання її дескриптора безпосередньо з базового класу). Це робить значення " +"програми невизначеним. У майбутньому для запобігання цьому може бути додана " +"перевірка." + +msgid "" +"Nonempty *__slots__* does not work for classes derived from \"variable-length" +"\" built-in types such as :class:`int`, :class:`bytes` and :class:`tuple`." +msgstr "" +"Nonempty *__slots__* не працює для класів, похідних від вбудованих типів " +"\"змінної довжини\", таких як :class:`int`, :class:`bytes` і :class:`tuple`." + +msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." +msgstr "" +"Будь-який нерядковий :term:`iterable` може бути призначений *__slots__*." + +msgid "" +"If a :class:`dictionary ` is used to assign *__slots__*, the " +"dictionary keys will be used as the slot names. The values of the dictionary " +"can be used to provide per-attribute docstrings that will be recognised by :" +"func:`inspect.getdoc` and displayed in the output of :func:`help`." +msgstr "" +"Якщо :class:`dictionary ` використовується для призначення " +"*__slots__*, ключі словника будуть використані як імена слотів. Значення " +"словника можна використовувати для надання рядків документів для кожного " +"атрибута, які розпізнаються :func:`inspect.getdoc` і відображаються у " +"виводі :func:`help`." + +msgid "" +":attr:`~instance.__class__` assignment works only if both classes have the " +"same *__slots__*." +msgstr "" +":attr:`~instance.__class__` призначення працює, лише якщо обидва класи мають " +"однакові *__slots__*." + +msgid "" +":ref:`Multiple inheritance ` with multiple slotted parent " +"classes can be used, but only one parent is allowed to have attributes " +"created by slots (the other bases must have empty slot layouts) - violations " +"raise :exc:`TypeError`." +msgstr "" +":ref:`Множинне успадкування ` з кількома батьківськими класами " +"зі слотами можна використовувати, але лише одному з батьківських класів " +"дозволено мати атрибути, створені слотами (інші бази повинні мати порожні " +"макети слотів) - порушення викликають :exc:`TypeError`." + +msgid "" +"If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " +"created for each of the iterator's values. However, the *__slots__* " +"attribute will be an empty iterator." +msgstr "" +"Якщо :term:`iterator` використовується для *__slots__*, то :term:" +"`descriptor` створюється для кожного значення ітератора. Однак атрибут " +"*__slots__* буде порожнім ітератором." + +msgid "Customizing class creation" +msgstr "Налаштування створення класу" + +msgid "" +"Whenever a class inherits from another class, :meth:`~object." +"__init_subclass__` is called on the parent class. This way, it is possible " +"to write classes which change the behavior of subclasses. This is closely " +"related to class decorators, but where class decorators only affect the " +"specific class they're applied to, ``__init_subclass__`` solely applies to " +"future subclasses of the class defining the method." +msgstr "" +"Щоразу, коли клас успадковує інший клас, :meth:`~object.__init_subclass__` " +"викликається в батьківському класі. Таким чином можна писати класи, які " +"змінюють поведінку підкласів. Це тісно пов’язане з декораторами класів, але " +"де декоратори класів впливають лише на конкретний клас, до якого вони " +"застосовані, ``__init_subclass__`` застосовується виключно до майбутніх " +"підкласів класу, що визначає метод." + +msgid "" +"This method is called whenever the containing class is subclassed. *cls* is " +"then the new subclass. If defined as a normal instance method, this method " +"is implicitly converted to a class method." +msgstr "" +"Цей метод викликається кожного разу, коли клас, що містить, є підкласом. " +"Тоді *cls* є новим підкласом. Якщо визначено як звичайний метод екземпляра, " +"цей метод неявно перетворюється на метод класу." + +msgid "" +"Keyword arguments which are given to a new class are passed to the parent's " +"class ``__init_subclass__``. For compatibility with other classes using " +"``__init_subclass__``, one should take out the needed keyword arguments and " +"pass the others over to the base class, as in::" +msgstr "" +"Аргументи ключових слів, надані новому класу, передаються до батьківського " +"класу ``__init_subclass__``. Для сумісності з іншими класами, які " +"використовують ``__init_subclass__``, слід вилучити необхідні ключові " +"аргументи та передати інші до базового класу, як у::" + +msgid "" +"The default implementation ``object.__init_subclass__`` does nothing, but " +"raises an error if it is called with any arguments." +msgstr "" +"Реалізація за замовчуванням ``object.__init_subclass__`` нічого не робить, " +"але викликає помилку, якщо вона викликається з будь-якими аргументами." + +msgid "" +"The metaclass hint ``metaclass`` is consumed by the rest of the type " +"machinery, and is never passed to ``__init_subclass__`` implementations. The " +"actual metaclass (rather than the explicit hint) can be accessed as " +"``type(cls)``." +msgstr "" +"Підказка метакласу ``metaclass`` споживається рештою механізму типів і " +"ніколи не передається реалізаціям ``__init_subclass__``. Фактичний метаклас " +"(а не явна підказка) можна отримати як ``type(cls)``." + +msgid "" +"When a class is created, :meth:`type.__new__` scans the class variables and " +"makes callbacks to those with a :meth:`~object.__set_name__` hook." +msgstr "" +"Коли клас створюється, :meth:`type.__new__` сканує змінні класу та виконує " +"зворотні виклики до тих, що мають хук :meth:`~object.__set_name__`." + +msgid "" +"Automatically called at the time the owning class *owner* is created. The " +"object has been assigned to *name* in that class::" +msgstr "" +"Автоматично викликається під час створення класу власника *owner*. Об’єкту " +"було призначено *name* у цьому класі::" + +msgid "" +"If the class variable is assigned after the class is created, :meth:" +"`__set_name__` will not be called automatically. If needed, :meth:" +"`__set_name__` can be called directly::" +msgstr "" +"Якщо змінна класу призначається після створення класу, :meth:`__set_name__` " +"не буде викликатися автоматично. За потреби :meth:`__set_name__` можна " +"викликати безпосередньо::" + +msgid "See :ref:`class-object-creation` for more details." +msgstr "" +"Дивіться :ref:`class-object-creation` для отримання додаткової інформації." + +msgid "Metaclasses" +msgstr "Метакласи" + +msgid "" +"By default, classes are constructed using :func:`type`. The class body is " +"executed in a new namespace and the class name is bound locally to the " +"result of ``type(name, bases, namespace)``." +msgstr "" +"За замовчуванням класи створюються за допомогою :func:`type`. Тіло класу " +"виконується в новому просторі імен, а ім’я класу прив’язується локально до " +"результату ``type(name, bases, namespace)``." + +msgid "" +"The class creation process can be customized by passing the ``metaclass`` " +"keyword argument in the class definition line, or by inheriting from an " +"existing class that included such an argument. In the following example, " +"both ``MyClass`` and ``MySubclass`` are instances of ``Meta``::" +msgstr "" +"Процес створення класу можна налаштувати, передавши аргумент ключового слова " +"``metaclass`` у рядку визначення класу або успадкувавши від існуючого класу, " +"який містив такий аргумент. У наступному прикладі і ``MyClass``, і " +"``MySubclass`` є екземплярами ``Meta``::" + +msgid "" +"Any other keyword arguments that are specified in the class definition are " +"passed through to all metaclass operations described below." +msgstr "" +"Будь-які інші ключові аргументи, указані у визначенні класу, передаються до " +"всіх операцій метакласу, описаних нижче." + +msgid "When a class definition is executed, the following steps occur:" +msgstr "Коли виконується визначення класу, відбуваються наступні кроки:" + +msgid "MRO entries are resolved;" +msgstr "Записи MRO вирішено;" + +msgid "the appropriate metaclass is determined;" +msgstr "визначається відповідний метаклас;" + +msgid "the class namespace is prepared;" +msgstr "підготовлено простір імен класу;" + +msgid "the class body is executed;" +msgstr "виконується тіло класу;" + +msgid "the class object is created." +msgstr "створюється об'єкт класу." + +msgid "Resolving MRO entries" +msgstr "Вирішення записів MRO" + +msgid "" +"If a base that appears in class definition is not an instance of :class:" +"`type`, then an ``__mro_entries__`` method is searched on it. If found, it " +"is called with the original bases tuple. This method must return a tuple of " +"classes that will be used instead of this base. The tuple may be empty, in " +"such case the original base is ignored." +msgstr "" +"Якщо база, яка з’являється у визначенні класу, не є екземпляром :class:" +"`type`, тоді на ній виконується пошук методу ``__mro_entries__``. Якщо " +"знайдено, воно викликається з вихідним базовим кортежем. Цей метод повинен " +"повертати кортеж класів, які будуть використовуватися замість цієї бази. " +"Кортеж може бути порожнім, у такому випадку вихідна база ігнорується." + +msgid ":pep:`560` - Core support for typing module and generic types" +msgstr ":pep:`560` - Основна підтримка модуля введення та загальних типів" + +msgid "Determining the appropriate metaclass" +msgstr "Визначення відповідного метакласу" + +msgid "" +"The appropriate metaclass for a class definition is determined as follows:" +msgstr "Відповідний метаклас для визначення класу визначається таким чином:" + +msgid "" +"if no bases and no explicit metaclass are given, then :func:`type` is used;" +msgstr "" +"якщо не вказано жодних баз і явного метакласу, то використовується :func:" +"`type`;" + +msgid "" +"if an explicit metaclass is given and it is *not* an instance of :func:" +"`type`, then it is used directly as the metaclass;" +msgstr "" +"якщо задано явний метаклас і він *не* є екземпляром :func:`type`, тоді він " +"використовується безпосередньо як метаклас;" + +msgid "" +"if an instance of :func:`type` is given as the explicit metaclass, or bases " +"are defined, then the most derived metaclass is used." +msgstr "" +"якщо екземпляр :func:`type` задано як явний метаклас або визначено основи, " +"то використовується найбільш похідний метаклас." + +msgid "" +"The most derived metaclass is selected from the explicitly specified " +"metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " +"base classes. The most derived metaclass is one which is a subtype of *all* " +"of these candidate metaclasses. If none of the candidate metaclasses meets " +"that criterion, then the class definition will fail with ``TypeError``." +msgstr "" +"Найбільш похідний метаклас вибирається з явно визначеного метакласу (якщо " +"такий є) і метакласів (тобто ``type(cls)``) усіх указаних базових класів. " +"Найбільш похідним метакласом є той, який є підтипом *усіх* цих метакласів-" +"кандидатів. Якщо жоден із метакласів-кандидатів не відповідає цьому " +"критерію, визначення класу буде невдалим із ``TypeError``." + +msgid "Preparing the class namespace" +msgstr "Підготовка простору імен класу" + +msgid "" +"Once the appropriate metaclass has been identified, then the class namespace " +"is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " +"as ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (where the " +"additional keyword arguments, if any, come from the class definition). The " +"``__prepare__`` method should be implemented as a :func:`classmethod " +"`. The namespace returned by ``__prepare__`` is passed in to " +"``__new__``, but when the final class object is created the namespace is " +"copied into a new ``dict``." +msgstr "" +"Після визначення відповідного метакласу готується простір імен класу. Якщо " +"метаклас має атрибут ``__prepare__``, він викликається як ``namespace = " +"metaclass.__prepare__(name, bases, **kwds)`` (де додаткові ключові " +"аргументи, якщо такі є, надходять із визначення класу) . Метод " +"``__prepare__`` має бути реалізований як :func:`classmethod `. " +"Простір імен, повернутий ``__prepare__``, передається в ``__new__``, але " +"коли створюється останній об’єкт класу, простір імен копіюється в новий " +"``dict``." + +msgid "" +"If the metaclass has no ``__prepare__`` attribute, then the class namespace " +"is initialised as an empty ordered mapping." +msgstr "" +"Якщо метаклас не має атрибута ``__prepare__``, тоді простір імен класу " +"ініціалізується як порожнє впорядковане відображення." + +msgid ":pep:`3115` - Metaclasses in Python 3000" +msgstr ":pep:`3115` - Метакласи в Python 3000" + +msgid "Introduced the ``__prepare__`` namespace hook" +msgstr "Представлено хук простору імен ``__prepare__``" + +msgid "Executing the class body" +msgstr "Виконання тіла класу" + +msgid "" +"The class body is executed (approximately) as ``exec(body, globals(), " +"namespace)``. The key difference from a normal call to :func:`exec` is that " +"lexical scoping allows the class body (including any methods) to reference " +"names from the current and outer scopes when the class definition occurs " +"inside a function." +msgstr "" +"Тіло класу виконується (приблизно) як ``exec(body, globals(), namespace)``. " +"Ключова відмінність від звичайного виклику :func:`exec` полягає в тому, що " +"лексична область видимості дозволяє тілу класу (включаючи будь-які методи) " +"посилатися на імена з поточної та зовнішньої областей, коли визначення класу " +"відбувається всередині функції." + +msgid "" +"However, even when the class definition occurs inside the function, methods " +"defined inside the class still cannot see names defined at the class scope. " +"Class variables must be accessed through the first parameter of instance or " +"class methods, or through the implicit lexically scoped ``__class__`` " +"reference described in the next section." +msgstr "" +"Однак, навіть коли визначення класу відбувається всередині функції, методи, " +"визначені всередині класу, все одно не можуть бачити імена, визначені в " +"області класу. Доступ до змінних класу має здійснюватися через перший " +"параметр екземпляра або методів класу, або через неявне посилання " +"``__class__`` з лексичною областю, описане в наступному розділі." + +msgid "Creating the class object" +msgstr "Створення об'єкта класу" + +msgid "" +"Once the class namespace has been populated by executing the class body, the " +"class object is created by calling ``metaclass(name, bases, namespace, " +"**kwds)`` (the additional keywords passed here are the same as those passed " +"to ``__prepare__``)." +msgstr "" +"Коли простір імен класу заповнено виконанням тіла класу, об’єкт класу " +"створюється шляхом виклику ``metaclass(name, bases, namespace, **kwds)`` " +"(додаткові ключові слова, передані тут, такі самі, як ті, що передані` " +"`__prepare__``)." + +msgid "" +"This class object is the one that will be referenced by the zero-argument " +"form of :func:`super`. ``__class__`` is an implicit closure reference " +"created by the compiler if any methods in a class body refer to either " +"``__class__`` or ``super``. This allows the zero argument form of :func:" +"`super` to correctly identify the class being defined based on lexical " +"scoping, while the class or instance that was used to make the current call " +"is identified based on the first argument passed to the method." +msgstr "" +"Цей об’єкт класу є тим, на який посилатиметься форма :func:`super` з " +"нульовим аргументом. ``__class__`` — це неявне посилання на закриття, " +"створене компілятором, якщо будь-які методи в тілі класу посилаються на " +"``__class__`` або ``super``. Це дозволяє формі нульового аргументу :func:" +"`super` правильно ідентифікувати клас, який визначається на основі " +"лексичного визначення, тоді як клас або екземпляр, який використовувався для " +"здійснення поточного виклику, ідентифікується на основі першого аргументу, " +"переданого методу." + +msgid "" +"In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " +"as a ``__classcell__`` entry in the class namespace. If present, this must " +"be propagated up to the ``type.__new__`` call in order for the class to be " +"initialised correctly. Failing to do so will result in a :exc:`RuntimeError` " +"in Python 3.8." +msgstr "" +"У CPython 3.6 і пізніших версіях клітинка ``__class__`` передається " +"метакласу як запис ``__classcell__`` у просторі імен класу. Якщо є, це має " +"бути передано до виклику ``type.__new__`` для правильної ініціалізації " +"класу. Якщо цього не зробити, у Python 3.8 виникне :exc:`RuntimeError`." + +msgid "" +"When using the default metaclass :class:`type`, or any metaclass that " +"ultimately calls ``type.__new__``, the following additional customization " +"steps are invoked after creating the class object:" +msgstr "" +"При використанні метакласу за замовчуванням :class:`type` або будь-якого " +"метакласу, який остаточно викликає ``type.__new__``, наступні додаткові " +"кроки налаштування викликаються після створення об’єкта класу:" + +msgid "" +"The ``type.__new__`` method collects all of the attributes in the class " +"namespace that define a :meth:`~object.__set_name__` method;" +msgstr "" +"Метод ``type.__new__`` збирає всі атрибути в просторі імен класу, які " +"визначають метод :meth:`~object.__set_name__`;" + +msgid "" +"Those ``__set_name__`` methods are called with the class being defined and " +"the assigned name of that particular attribute;" +msgstr "" +"Ці методи ``__set_name__`` викликаються з визначеним класом і присвоєною " +"назвою цього конкретного атрибута;" + +msgid "" +"The :meth:`~object.__init_subclass__` hook is called on the immediate parent " +"of the new class in its method resolution order." +msgstr "" +"Хук :meth:`~object.__init_subclass__` викликається на безпосередньому " +"батькові нового класу в порядку вирішення методів." + +msgid "" +"After the class object is created, it is passed to the class decorators " +"included in the class definition (if any) and the resulting object is bound " +"in the local namespace as the defined class." +msgstr "" +"Після того, як об’єкт класу створено, він передається до декораторів класу, " +"включених у визначення класу (якщо такі є), і отриманий об’єкт зв’язується в " +"локальному просторі імен як визначений клас." + +msgid "" +"When a new class is created by ``type.__new__``, the object provided as the " +"namespace parameter is copied to a new ordered mapping and the original " +"object is discarded. The new copy is wrapped in a read-only proxy, which " +"becomes the :attr:`~object.__dict__` attribute of the class object." +msgstr "" +"Коли новий клас створюється за допомогою ``type.__new__``, об’єкт, наданий " +"як параметр простору імен, копіюється до нового впорядкованого відображення, " +"а вихідний об’єкт відкидається. Нову копію загортають у проксі-сервер лише " +"для читання, який стає атрибутом :attr:`~object.__dict__` об’єкта класу." + +msgid ":pep:`3135` - New super" +msgstr ":pep:`3135` - Новий супер" + +msgid "Describes the implicit ``__class__`` closure reference" +msgstr "Описує неявне посилання на закриття ``__class__``" + +msgid "Uses for metaclasses" +msgstr "Використання для метакласів" + +msgid "" +"The potential uses for metaclasses are boundless. Some ideas that have been " +"explored include enum, logging, interface checking, automatic delegation, " +"automatic property creation, proxies, frameworks, and automatic resource " +"locking/synchronization." +msgstr "" +"Можливості використання метакласів безмежні. Деякі ідеї, які були " +"досліджені, включають enum, журналювання, перевірку інтерфейсу, автоматичне " +"делегування, автоматичне створення властивостей, проксі, фреймворки та " +"автоматичне блокування/синхронізацію ресурсів." + +msgid "Customizing instance and subclass checks" +msgstr "Налаштування перевірок екземплярів і підкласів" + +msgid "" +"The following methods are used to override the default behavior of the :func:" +"`isinstance` and :func:`issubclass` built-in functions." +msgstr "" +"Наступні методи використовуються для заміни типової поведінки вбудованих " +"функцій :func:`isinstance` і :func:`issubclass`." + +msgid "" +"In particular, the metaclass :class:`abc.ABCMeta` implements these methods " +"in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " +"base classes\" to any class or type (including built-in types), including " +"other ABCs." +msgstr "" +"Зокрема, метаклас :class:`abc.ABCMeta` реалізує ці методи, щоб дозволити " +"додавання абстрактних базових класів (ABC) як \"віртуальних базових класів\" " +"до будь-якого класу або типу (включно з вбудованими типами), включаючи інші " +"Азбука." + +msgid "" +"Return true if *instance* should be considered a (direct or indirect) " +"instance of *class*. If defined, called to implement ``isinstance(instance, " +"class)``." +msgstr "" +"Повертає true, якщо *екземпляр* слід вважати (прямим чи непрямим) " +"екземпляром *класу*. Якщо визначено, викликається для реалізації " +"``isinstance(instance, class)``." + +msgid "" +"Return true if *subclass* should be considered a (direct or indirect) " +"subclass of *class*. If defined, called to implement ``issubclass(subclass, " +"class)``." +msgstr "" +"Повертає true, якщо *підклас* слід вважати (прямим чи непрямим) підкласом " +"*класу*. Якщо визначено, викликається для реалізації ``issubclass(subclass, " +"class)``." + +msgid "" +"Note that these methods are looked up on the type (metaclass) of a class. " +"They cannot be defined as class methods in the actual class. This is " +"consistent with the lookup of special methods that are called on instances, " +"only in this case the instance is itself a class." +msgstr "" +"Зауважте, що ці методи шукаються за типом (метакласом) класу. Вони не можуть " +"бути визначені як методи класу в реальному класі. Це узгоджується з пошуком " +"спеціальних методів, які викликаються для екземплярів, тільки в цьому " +"випадку екземпляр сам по собі є класом." + +msgid ":pep:`3119` - Introducing Abstract Base Classes" +msgstr ":pep:`3119` - Представляємо абстрактні базові класи" + +msgid "" +"Includes the specification for customizing :func:`isinstance` and :func:" +"`issubclass` behavior through :meth:`~class.__instancecheck__` and :meth:" +"`~class.__subclasscheck__`, with motivation for this functionality in the " +"context of adding Abstract Base Classes (see the :mod:`abc` module) to the " +"language." +msgstr "" +"Включає специфікацію для налаштування поведінки :func:`isinstance` і :func:" +"`issubclass` через :meth:`~class.__instancecheck__` і :meth:`~class." +"__subclasscheck__` з мотивацією для цієї функції в контексті додавання " +"Абстрактні базові класи (див. модуль :mod:`abc`) до мови." + +msgid "Emulating generic types" +msgstr "Емуляція загальних типів" + +msgid "" +"When using :term:`type annotations`, it is often useful to " +"*parameterize* a :term:`generic type` using Python's square-brackets " +"notation. For example, the annotation ``list[int]`` might be used to signify " +"a :class:`list` in which all the elements are of type :class:`int`." +msgstr "" +"Використовуючи :term:`анотації типу `, часто корисно " +"*параметризувати* загальний тип (:term:`generic type`) за допомогою нотації " +"Python у квадратних дужках. Наприклад, анотацію ``list[int]`` можна " +"використовувати для позначення :class:`list`, у якому всі елементи мають " +"тип :class:`int`." + +msgid ":pep:`484` - Type Hints" +msgstr ":pep:`484` - підказки типу" + +msgid "Introducing Python's framework for type annotations" +msgstr "Представляємо структуру Python для анотацій типів" + +msgid ":ref:`Generic Alias Types`" +msgstr ":ref:`Загальні типи псевдонімів `" + +msgid "Documentation for objects representing parameterized generic classes" +msgstr "" +"Документація для об'єктів, що представляють параметризовані загальні класи" + +msgid "" +":ref:`Generics`, :ref:`user-defined generics` and :" +"class:`typing.Generic`" +msgstr "" +":ref:`Generics`, :ref:`визначені користувачем узагальнення ` і :class:`typing.Generic`" + +msgid "" +"Documentation on how to implement generic classes that can be parameterized " +"at runtime and understood by static type-checkers." +msgstr "" +"Документація про те, як реалізувати загальні класи, які можна " +"параметризувати під час виконання та розуміти статичними засобами перевірки " +"типів." + +msgid "" +"A class can *generally* only be parameterized if it defines the special " +"class method ``__class_getitem__()``." +msgstr "" +"*Зазвичай* клас може бути параметризований, лише якщо він визначає " +"спеціальний метод класу ``__class_getitem__()``." + +msgid "" +"Return an object representing the specialization of a generic class by type " +"arguments found in *key*." +msgstr "" +"Повертає об’єкт, який представляє спеціалізацію загального класу за " +"аргументами типу, знайденими в *key*." + +msgid "" +"When defined on a class, ``__class_getitem__()`` is automatically a class " +"method. As such, there is no need for it to be decorated with :func:" +"`@classmethod` when it is defined." +msgstr "" +"Коли визначено в класі, ``__class_getitem__()`` автоматично стає методом " +"класу. Таким чином, немає необхідності прикрашати його :func:`@classmethod " +"`, коли він визначений." + +msgid "The purpose of *__class_getitem__*" +msgstr "Мета *__class_getitem__*" + +msgid "" +"The purpose of :meth:`~object.__class_getitem__` is to allow runtime " +"parameterization of standard-library generic classes in order to more easily " +"apply :term:`type hints` to these classes." +msgstr "" +"Метою :meth:`~object.__class_getitem__` є можливість параметризації " +"загальних класів стандартної бібліотеки під час виконання, щоб легше " +"застосовувати :term:`підказки типу ` до цих класів." + +msgid "" +"To implement custom generic classes that can be parameterized at runtime and " +"understood by static type-checkers, users should either inherit from a " +"standard library class that already implements :meth:`~object." +"__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " +"own implementation of ``__class_getitem__()``." +msgstr "" +"Щоб реалізувати користувальницькі загальні класи, які можна параметризувати " +"під час виконання та розуміти статичними засобами перевірки типів, " +"користувачі повинні або успадкувати від класу стандартної бібліотеки, яка " +"вже реалізує :meth:`~object.__class_getitem__`, або успадкувати від :class:" +"`typing. Generic`, який має власну реалізацію ``__class_getitem__()``." + +msgid "" +"Custom implementations of :meth:`~object.__class_getitem__` on classes " +"defined outside of the standard library may not be understood by third-party " +"type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " +"purposes other than type hinting is discouraged." +msgstr "" +"Спеціальні реалізації :meth:`~object.__class_getitem__` у класах, визначених " +"за межами стандартної бібліотеки, можуть бути не зрозумілі сторонніми " +"засобами перевірки типів, такими як mypy. Не рекомендується використовувати " +"``__class_getitem__()`` для будь-якого класу для цілей, відмінних від " +"підказки типу." + +msgid "*__class_getitem__* versus *__getitem__*" +msgstr "*__class_getitem__* проти *__getitem__*" + +msgid "" +"Usually, the :ref:`subscription` of an object using square " +"brackets will call the :meth:`~object.__getitem__` instance method defined " +"on the object's class. However, if the object being subscribed is itself a " +"class, the class method :meth:`~object.__class_getitem__` may be called " +"instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." +msgstr "" +"Зазвичай :ref:`підписка ` об’єкта з використанням квадратних " +"дужок викликає метод екземпляра :meth:`~object.__getitem__`, визначений у " +"класі об’єкта. Проте, якщо об’єкт, на який підписується, сам є класом, " +"замість нього можна викликати метод класу :meth:`~object.__class_getitem__`. " +"``__class_getitem__()`` має повертати об’єкт :ref:`GenericAlias `, якщо він правильно визначений." + +msgid "" +"Presented with the :term:`expression` ``obj[x]``, the Python interpreter " +"follows something like the following process to decide whether :meth:" +"`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" +msgstr "" +"Представлений у вигляді :term:`expression` ``obj[x]``, інтерпретатор Python " +"виконує щось на зразок наступного процесу, щоб вирішити, чи слід :meth:" +"`~object.__getitem__` або :meth:`~object.__class_getitem__` бути викликаним::" + +msgid "" +"In Python, all classes are themselves instances of other classes. The class " +"of a class is known as that class's :term:`metaclass`, and most classes have " +"the :class:`type` class as their metaclass. :class:`type` does not define :" +"meth:`~object.__getitem__`, meaning that expressions such as ``list[int]``, " +"``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." +"__class_getitem__` being called::" +msgstr "" +"У Python усі класи самі є екземплярами інших класів. Клас класу відомий як :" +"term:`metaclass` цього класу, і більшість класів мають клас :class:`type` як " +"метаклас. :class:`type` не визначає :meth:`~object.__getitem__`, тобто такі " +"вирази, як ``list[int]``, ``dict[str, float]`` і ``tuple[str, bytes]`` все " +"призводить до виклику :meth:`~object.__class_getitem__`::" + +msgid "" +"However, if a class has a custom metaclass that defines :meth:`~object." +"__getitem__`, subscribing the class may result in different behaviour. An " +"example of this can be found in the :mod:`enum` module::" +msgstr "" +"Однак, якщо клас має спеціальний метаклас, який визначає :meth:`~object." +"__getitem__`, підписка на клас може призвести до іншої поведінки. Приклад " +"цього можна знайти в модулі :mod:`enum`::" + +msgid ":pep:`560` - Core Support for typing module and generic types" +msgstr "" +":pep:`560` - Основна підтримка модуля введення тексту та загальних типів" + +msgid "" +"Introducing :meth:`~object.__class_getitem__`, and outlining when a :ref:" +"`subscription` results in ``__class_getitem__()`` being " +"called instead of :meth:`~object.__getitem__`" +msgstr "" +"Представляємо :meth:`~object.__class_getitem__` і пояснюємо, коли :ref:" +"`підписка ` призводить до виклику ``__class_getitem__()`` " +"замість :meth:`~object.__getitem__`" + +msgid "Emulating callable objects" +msgstr "Емуляція викликаних об'єктів" + +msgid "" +"Called when the instance is \"called\" as a function; if this method is " +"defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " +"arg1, ...)``." +msgstr "" +"Викликається, коли екземпляр \"викликається\" як функція; якщо цей метод " +"визначено, ``x(arg1, arg2, ...)`` приблизно перекладається як ``type(x)." +"__call__(x, arg1, ...)``." + +msgid "Emulating container types" +msgstr "Емуляція типів контейнерів" + +msgid "" +"The following methods can be defined to implement container objects. " +"Containers usually are :term:`sequences ` (such as :class:`lists " +"` or :class:`tuples `) or :term:`mappings ` (like :" +"class:`dictionaries `), but can represent other containers as well. " +"The first set of methods is used either to emulate a sequence or to emulate " +"a mapping; the difference is that for a sequence, the allowable keys should " +"be the integers *k* for which ``0 <= k < N`` where *N* is the length of the " +"sequence, or :class:`slice` objects, which define a range of items. It is " +"also recommended that mappings provide the methods :meth:`keys`, :meth:" +"`values`, :meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :" +"meth:`pop`, :meth:`popitem`, :meth:`!copy`, and :meth:`update` behaving " +"similar to those for Python's standard :class:`dictionary ` objects. " +"The :mod:`collections.abc` module provides a :class:`~collections.abc." +"MutableMapping` :term:`abstract base class` to help create those methods " +"from a base set of :meth:`~object.__getitem__`, :meth:`~object." +"__setitem__`, :meth:`~object.__delitem__`, and :meth:`keys`. Mutable " +"sequences should provide methods :meth:`append`, :meth:`count`, :meth:" +"`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:" +"`reverse` and :meth:`sort`, like Python standard :class:`list` objects. " +"Finally, sequence types should implement addition (meaning concatenation) " +"and multiplication (meaning repetition) by defining the methods :meth:" +"`~object.__add__`, :meth:`~object.__radd__`, :meth:`~object.__iadd__`, :meth:" +"`~object.__mul__`, :meth:`~object.__rmul__` and :meth:`~object.__imul__` " +"described below; they should not define other numerical operators. It is " +"recommended that both mappings and sequences implement the :meth:`~object." +"__contains__` method to allow efficient use of the ``in`` operator; for " +"mappings, ``in`` should search the mapping's keys; for sequences, it should " +"search through the values. It is further recommended that both mappings and " +"sequences implement the :meth:`~object.__iter__` method to allow efficient " +"iteration through the container; for mappings, :meth:`__iter__` should " +"iterate through the object's keys; for sequences, it should iterate through " +"the values." +msgstr "" +"Наступні методи можуть бути визначені для реалізації контейнерних об’єктів. " +"Зазвичай контейнерами є :term:`послідовності ` (такі як :class:" +"`списки ` або :class:`кортежі `) або :term:`відображення " +"` (наприклад, :class:`словник `), але його представляють " +"також інші контейнери. Перший набір методів використовується або для " +"емуляції послідовності, або для емуляції відображення; різниця полягає в " +"тому, що для послідовності дозволеними ключами мають бути цілі числа *k*, " +"для яких ``0 <= k < N``, де *N* — довжина послідовності, або об’єкти :class:" +"`slice`, які визначають діапазон предметів. Також рекомендується, щоб " +"зіставлення передбачало методи :meth:`keys`, :meth:`values`, :meth:`items`, :" +"meth:`get`, :meth:`clear`, :meth:`setdefault` , :meth:`pop`, :meth:" +"`popitem`, :meth:`!copy` і :meth:`update` поводяться подібно до об’єктів " +"стандарту Python :class:`dictionary `. Модуль :mod:`collections.abc` " +"надає :class:`~collections.abc.MutableMapping` :term:`abstract base class`, " +"щоб допомогти створити ці методи з базового набору :meth:`~object." +"__getitem__` , :meth:`~object.__setitem__`, :meth:`~object.__delitem__` і :" +"meth:`keys`. Змінні послідовності повинні надавати методи: :meth:`append`, :" +"meth:`count`, :meth:`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :" +"meth:`remove`, :meth:`reverse` і :meth:`sort`, як стандартні об’єкти Python :" +"class:`list`. Нарешті, типи послідовностей повинні реалізовувати додавання " +"(що означає конкатенацію) і множення (що означає повторення) шляхом " +"визначення методів :meth:`~object.__add__`, :meth:`~object.__radd__`, :meth:" +"`~object.__iadd__` , :meth:`~object.__mul__`, :meth:`~object.__rmul__` і :" +"meth:`~object.__imul__`, описані нижче; вони не повинні визначати інші " +"числові оператори. Рекомендується, щоб і відображення, і послідовності " +"реалізовували метод :meth:`~object.__contains__`, щоб забезпечити ефективне " +"використання оператора ``in``; для відображень ``in`` має шукати ключі " +"відображення; для послідовностей слід шукати значення. Крім того, " +"рекомендується, щоб і відображення, і послідовності реалізовували метод :" +"meth:`~object.__iter__`, щоб забезпечити ефективну ітерацію через контейнер; " +"для відображень :meth:`__iter__` має виконувати ітерацію по ключах об’єкта; " +"для послідовностей він повинен перебирати значення." + +msgid "" +"Called to implement the built-in function :func:`len`. Should return the " +"length of the object, an integer ``>=`` 0. Also, an object that doesn't " +"define a :meth:`__bool__` method and whose :meth:`__len__` method returns " +"zero is considered to be false in a Boolean context." +msgstr "" +"Викликається для реалізації вбудованої функції :func:`len`. Має повертати " +"довжину об’єкта, ціле число ``>=`` 0. Крім того, об’єкт, який не визначає " +"метод :meth:`__bool__` і чий метод :meth:`__len__` повертає нуль, вважається " +"false у логічному контексті." + +msgid "" +"In CPython, the length is required to be at most :attr:`sys.maxsize`. If the " +"length is larger than :attr:`!sys.maxsize` some features (such as :func:" +"`len`) may raise :exc:`OverflowError`. To prevent raising :exc:`!" +"OverflowError` by truth value testing, an object must define a :meth:" +"`__bool__` method." +msgstr "" +"У CPython довжина не повинна перевищувати :attr:`sys.maxsize`. Якщо довжина " +"більша за :attr:`!sys.maxsize`, деякі функції (такі як :func:`len`) можуть " +"викликати :exc:`OverflowError`. Щоб запобігти виникненню :exc:`!" +"OverflowError` шляхом перевірки значення істинності, об’єкт повинен " +"визначити метод :meth:`__bool__`." + +msgid "" +"Called to implement :func:`operator.length_hint`. Should return an estimated " +"length for the object (which may be greater or less than the actual length). " +"The length must be an integer ``>=`` 0. The return value may also be :const:" +"`NotImplemented`, which is treated the same as if the ``__length_hint__`` " +"method didn't exist at all. This method is purely an optimization and is " +"never required for correctness." +msgstr "" +"Викликається для реалізації :func:`operator.length_hint`. Має повернути " +"приблизну довжину об’єкта (яка може бути більшою або меншою за фактичну). " +"Довжина має бути цілим числом ``>=`` 0. Поверненим значенням також може " +"бути :const:`NotImplemented`, яке обробляється так само, як якби метод " +"``__length_hint__`` взагалі не існував. Цей метод є виключно оптимізаційним " +"і ніколи не потрібен для коректності." + +msgid "" +"Slicing is done exclusively with the following three methods. A call like ::" +msgstr "Нарізка виконується виключно трьома способами. Дзвінок типу ::" + +msgid "is translated to ::" +msgstr "перекладається на ::" + +msgid "and so forth. Missing slice items are always filled in with ``None``." +msgstr "і так далі. Відсутні елементи фрагмента завжди заповнюються ``None``." + +msgid "" +"Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " +"the accepted keys should be integers and slice objects. Note that the " +"special interpretation of negative indexes (if the class wishes to emulate " +"a :term:`sequence` type) is up to the :meth:`__getitem__` method. If *key* " +"is of an inappropriate type, :exc:`TypeError` may be raised; if of a value " +"outside the set of indexes for the sequence (after any special " +"interpretation of negative values), :exc:`IndexError` should be raised. For :" +"term:`mapping` types, if *key* is missing (not in the container), :exc:" +"`KeyError` should be raised." +msgstr "" +"Викликається для реалізації оцінки ``self[key]``. Для типів :term:`sequence` " +"прийнятними ключами мають бути цілі числа та об’єкти зрізу. Зверніть увагу, " +"що спеціальна інтерпретація негативних індексів (якщо клас бажає емулювати " +"тип :term:`sequence`) залежить від методу :meth:`__getitem__`. Якщо *key* " +"має невідповідний тип, може виникнути :exc:`TypeError`; якщо значення " +"знаходиться за межами набору індексів для послідовності (після будь-якої " +"спеціальної інтерпретації від’ємних значень), має бути викликано :exc:" +"`IndexError`. Для типів :term:`mapping`, якщо *key* відсутній (не в " +"контейнері), слід викликати :exc:`KeyError`." + +msgid "" +":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " +"illegal indexes to allow proper detection of the end of the sequence." +msgstr "" +":keyword:`for` цикли очікують, що :exc:`IndexError` буде викликано для " +"недопустимих індексів, щоб забезпечити належне виявлення кінця послідовності." + +msgid "" +"When :ref:`subscripting` a *class*, the special class method :" +"meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " +"See :ref:`classgetitem-versus-getitem` for more details." +msgstr "" +"Коли :ref:`індексує ` *клас*, спеціальний метод класу :meth:" +"`~object.__class_getitem__` може викликатися замість ``__getitem__()``. " +"Перегляньте :ref:`classgetitem-versus-getitem` для отримання додаткової " +"інформації." + +msgid "" +"Called to implement assignment to ``self[key]``. Same note as for :meth:" +"`__getitem__`. This should only be implemented for mappings if the objects " +"support changes to the values for keys, or if new keys can be added, or for " +"sequences if elements can be replaced. The same exceptions should be raised " +"for improper *key* values as for the :meth:`__getitem__` method." +msgstr "" +"Викликається для реалізації призначення ``self[key]``. Така сама примітка, " +"як і для :meth:`__getitem__`. Це має бути реалізовано лише для відображень, " +"якщо об’єкти підтримують зміни значень для ключів, або якщо можна додати " +"нові ключі, або для послідовностей, якщо елементи можна замінити. Для " +"неправильних значень *key* мають бути викликані ті самі винятки, що й для " +"методу :meth:`__getitem__`." + +msgid "" +"Called to implement deletion of ``self[key]``. Same note as for :meth:" +"`__getitem__`. This should only be implemented for mappings if the objects " +"support removal of keys, or for sequences if elements can be removed from " +"the sequence. The same exceptions should be raised for improper *key* " +"values as for the :meth:`__getitem__` method." +msgstr "" +"Викликається для реалізації видалення ``self[key]``. Така сама примітка, як " +"і для :meth:`__getitem__`. Це слід застосовувати лише для відображень, якщо " +"об’єкти підтримують видалення ключів, або для послідовностей, якщо елементи " +"можна видалити з послідовності. Для неправильних значень *key* мають бути " +"викликані ті самі винятки, що й для методу :meth:`__getitem__`." + +msgid "" +"Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " +"for dict subclasses when key is not in the dictionary." +msgstr "" +"Викликається :class:`dict`\\ .\\ :meth:`__getitem__` для реалізації " +"``self[key]`` для підкласів dict, коли ключа немає в словнику." + +msgid "" +"This method is called when an :term:`iterator` is required for a container. " +"This method should return a new iterator object that can iterate over all " +"the objects in the container. For mappings, it should iterate over the keys " +"of the container." +msgstr "" +"Цей метод викликається, коли для контейнера потрібен :term:`iterator`. Цей " +"метод має повертати новий об’єкт-ітератор, який може виконувати ітерацію по " +"всіх об’єктах у контейнері. Для зіставлення він повинен перебирати ключі " +"контейнера." + +msgid "" +"Called (if present) by the :func:`reversed` built-in to implement reverse " +"iteration. It should return a new iterator object that iterates over all " +"the objects in the container in reverse order." +msgstr "" +"Викликається (якщо є) вбудованим :func:`reversed` для реалізації зворотної " +"ітерації. Він має повернути новий об’єкт-ітератор, який обходить усі об’єкти " +"в контейнері у зворотному порядку." + +msgid "" +"If the :meth:`__reversed__` method is not provided, the :func:`reversed` " +"built-in will fall back to using the sequence protocol (:meth:`__len__` and :" +"meth:`__getitem__`). Objects that support the sequence protocol should only " +"provide :meth:`__reversed__` if they can provide an implementation that is " +"more efficient than the one provided by :func:`reversed`." +msgstr "" +"Якщо метод :meth:`__reversed__` не надано, вбудований :func:`reversed` " +"повернеться до використання протоколу послідовності (:meth:`__len__` і :meth:" +"`__getitem__`). Об’єкти, які підтримують протокол послідовності, повинні " +"надавати лише :meth:`__reversed__`, якщо вони можуть забезпечити ефективнішу " +"реалізацію, ніж та, яку надає :func:`reversed`." + +msgid "" +"The membership test operators (:keyword:`in` and :keyword:`not in`) are " +"normally implemented as an iteration through a container. However, container " +"objects can supply the following special method with a more efficient " +"implementation, which also does not require the object be iterable." +msgstr "" +"Оператори перевірки членства (:keyword:`in` і :keyword:`not in`) зазвичай " +"реалізуються як ітерація через контейнер. Однак об’єкти-контейнери можуть " +"надавати наступний спеціальний метод з більш ефективною реалізацією, яка " +"також не вимагає, щоб об’єкт був повторюваним." + +msgid "" +"Called to implement membership test operators. Should return true if *item* " +"is in *self*, false otherwise. For mapping objects, this should consider " +"the keys of the mapping rather than the values or the key-item pairs." +msgstr "" +"Викликано реалізувати оператори перевірки членства. Має повертати true, якщо " +"*item* знаходиться в *self*, і false в іншому випадку. Для відображення " +"об’єктів це має враховувати ключі відображення, а не значення або пари ключ-" +"елемент." + +msgid "" +"For objects that don't define :meth:`__contains__`, the membership test " +"first tries iteration via :meth:`__iter__`, then the old sequence iteration " +"protocol via :meth:`__getitem__`, see :ref:`this section in the language " +"reference `." +msgstr "" +"Для об’єктів, які не визначають :meth:`__contains__`, тест на приналежність " +"спочатку намагається виконати ітерацію через :meth:`__iter__`, потім старий " +"протокол ітерації послідовності через :meth:`__getitem__`, див. :ref:`цей " +"розділ у посилання на мову `." + +msgid "Emulating numeric types" +msgstr "Емуляція числових типів" + +msgid "" +"The following methods can be defined to emulate numeric objects. Methods " +"corresponding to operations that are not supported by the particular kind of " +"number implemented (e.g., bitwise operations for non-integral numbers) " +"should be left undefined." +msgstr "" +"Наступні методи можна визначити для емуляції числових об’єктів. Методи, що " +"відповідають операціям, які не підтримуються конкретним видом реалізованого " +"числа (наприклад, побітові операції для нецілісних чисел), слід залишити " +"невизначеними." + +msgid "" +"These methods are called to implement the binary arithmetic operations (``" +"+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:`pow`, " +"``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). For instance, to evaluate the " +"expression ``x + y``, where *x* is an instance of a class that has an :meth:" +"`__add__` method, ``type(x).__add__(x, y)`` is called. The :meth:" +"`__divmod__` method should be the equivalent to using :meth:`__floordiv__` " +"and :meth:`__mod__`; it should not be related to :meth:`__truediv__`. Note " +"that :meth:`__pow__` should be defined to accept an optional third argument " +"if the ternary version of the built-in :func:`pow` function is to be " +"supported." +msgstr "" + +msgid "" +"If one of those methods does not support the operation with the supplied " +"arguments, it should return ``NotImplemented``." +msgstr "" +"Якщо один із цих методів не підтримує операцію з наданими аргументами, він " +"має повернути ``NotImplemented``." + +msgid "" +"These methods are called to implement the binary arithmetic operations (``" +"+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:`pow`, " +"``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) with reflected (swapped) " +"operands. These functions are only called if the left operand does not " +"support the corresponding operation [#]_ and the operands are of different " +"types. [#]_ For instance, to evaluate the expression ``x - y``, where *y* is " +"an instance of a class that has an :meth:`__rsub__` method, ``type(y)." +"__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns " +"*NotImplemented*." +msgstr "" + +msgid "" +"Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " +"coercion rules would become too complicated)." +msgstr "" +"Зауважте, що тернарний :func:`pow` не намагатиметься викликати :meth:" +"`__rpow__` (правила примусу стануть надто складними)." + +msgid "" +"If the right operand's type is a subclass of the left operand's type and " +"that subclass provides a different implementation of the reflected method " +"for the operation, this method will be called before the left operand's non-" +"reflected method. This behavior allows subclasses to override their " +"ancestors' operations." +msgstr "" +"Якщо тип правого операнда є підкласом типу лівого операнда і цей підклас " +"забезпечує іншу реалізацію відображеного методу для операції, цей метод буде " +"викликаний перед невідображеним методом лівого операнда. Така поведінка " +"дозволяє підкласам перевизначати операції своїх предків." + +msgid "" +"These methods are called to implement the augmented arithmetic assignments " +"(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " +"``>>=``, ``&=``, ``^=``, ``|=``). These methods should attempt to do the " +"operation in-place (modifying *self*) and return the result (which could be, " +"but does not have to be, *self*). If a specific method is not defined, the " +"augmented assignment falls back to the normal methods. For instance, if *x* " +"is an instance of a class with an :meth:`__iadd__` method, ``x += y`` is " +"equivalent to ``x = x.__iadd__(y)`` . Otherwise, ``x.__add__(y)`` and ``y." +"__radd__(x)`` are considered, as with the evaluation of ``x + y``. In " +"certain situations, augmented assignment can result in unexpected errors " +"(see :ref:`faq-augmented-assignment-tuple-error`), but this behavior is in " +"fact part of the data model." +msgstr "" +"Ці методи викликаються для реалізації розширених арифметичних присвоювань (``" +"+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``// =``, ``%=``, ``**=``, ``<<=``, " +"``>>=``, ``&=``, ``^=``, ``|=``). Ці методи мають спробувати виконати " +"операцію на місці (змінюючи *self*) і повернути результат (який може бути, " +"але не обов’язково, *self*). Якщо конкретний метод не визначено, доповнене " +"призначення повертається до звичайних методів. Наприклад, якщо *x* є " +"екземпляром класу з методом :meth:`__iadd__`, ``x += y`` еквівалентно ``x = " +"x.__iadd__(y)``. В іншому випадку ``x.__add__(y)`` і ``y.__radd__(x)`` " +"розглядаються, як і з оцінкою ``x + y``. У певних ситуаціях доповнене " +"призначення може призвести до неочікуваних помилок (див. :ref:`faq-augmented-" +"assignment-tuple-error`), але така поведінка насправді є частиною моделі " +"даних." + +msgid "" +"Called to implement the unary arithmetic operations (``-``, ``+``, :func:" +"`abs` and ``~``)." +msgstr "" +"Викликається для реалізації унарних арифметичних операцій (``-``, ``+``, :" +"func:`abs` і ``~``)." + +msgid "" +"Called to implement the built-in functions :func:`complex`, :func:`int` and :" +"func:`float`. Should return a value of the appropriate type." +msgstr "" +"Викликається для реалізації вбудованих функцій :func:`complex`, :func:`int` " +"і :func:`float`. Має повертати значення відповідного типу." + +msgid "" +"Called to implement :func:`operator.index`, and whenever Python needs to " +"losslessly convert the numeric object to an integer object (such as in " +"slicing, or in the built-in :func:`bin`, :func:`hex` and :func:`oct` " +"functions). Presence of this method indicates that the numeric object is an " +"integer type. Must return an integer." +msgstr "" +"Викликається для реалізації :func:`operator.index` і кожного разу, коли " +"Python потребує без втрат перетворити числовий об’єкт у цілочисельний об’єкт " +"(наприклад, у зрізі або у вбудованих :func:`bin`, :func:`hex` і :func:" +"`oct`). Наявність цього методу вказує на те, що числовий об'єкт є цілим " +"типом. Має повертати ціле число." + +msgid "" +"If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " +"defined then corresponding built-in functions :func:`int`, :func:`float` " +"and :func:`complex` fall back to :meth:`__index__`." +msgstr "" +"Якщо :meth:`__int__`, :meth:`__float__` і :meth:`__complex__` не визначено, " +"то відповідні вбудовані функції :func:`int`, :func:`float` і :func:`complex` " +"повернутися до :meth:`__index__`." + +msgid "" +"Called to implement the built-in function :func:`round` and :mod:`math` " +"functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " +"Unless *ndigits* is passed to :meth:`!__round__` all these methods should " +"return the value of the object truncated to an :class:`~numbers.Integral` " +"(typically an :class:`int`)." +msgstr "" +"Викликається для реалізації вбудованої функції :func:`round` і :mod:`math` " +"функції :func:`~math.trunc`, :func:`~math.floor` і :func:`~math.ceil`. Якщо " +"*ndigits* не передано в :meth:`!__round__`, усі ці методи повинні повертати " +"значення об’єкта, усічене до :class:`~numbers.Integral` (зазвичай :class:" +"`int`)." + +msgid "" +"The built-in function :func:`int` falls back to :meth:`__trunc__` if " +"neither :meth:`__int__` nor :meth:`__index__` is defined." +msgstr "" +"Вбудована функція :func:`int` повертається до :meth:`__trunc__`, якщо не " +"визначено ні :meth:`__int__`, ні :meth:`__index__`." + +msgid "The delegation of :func:`int` to :meth:`__trunc__` is deprecated." +msgstr "" + +msgid "With Statement Context Managers" +msgstr "З менеджерами контексту операторів" + +msgid "" +"A :dfn:`context manager` is an object that defines the runtime context to be " +"established when executing a :keyword:`with` statement. The context manager " +"handles the entry into, and the exit from, the desired runtime context for " +"the execution of the block of code. Context managers are normally invoked " +"using the :keyword:`!with` statement (described in section :ref:`with`), but " +"can also be used by directly invoking their methods." +msgstr "" +":dfn:`context manager` — це об’єкт, який визначає контекст виконання, який " +"буде встановлено під час виконання оператора :keyword:`with`. Менеджер " +"контексту керує входом і виходом з потрібного контексту виконання для " +"виконання блоку коду. Менеджери контексту зазвичай викликаються за допомогою " +"оператора :keyword:`!with` (описаного в розділі :ref:`with`), але їх також " +"можна використовувати шляхом безпосереднього виклику їхніх методів." + +msgid "" +"Typical uses of context managers include saving and restoring various kinds " +"of global state, locking and unlocking resources, closing opened files, etc." +msgstr "" +"Типове використання контекстних менеджерів включає збереження та відновлення " +"різних видів глобального стану, блокування та розблокування ресурсів, " +"закриття відкритих файлів тощо." + +msgid "" +"For more information on context managers, see :ref:`typecontextmanager`." +msgstr "" +"Для отримання додаткової інформації про контекстні менеджери див. :ref:" +"`typecontextmanager`." + +msgid "" +"Enter the runtime context related to this object. The :keyword:`with` " +"statement will bind this method's return value to the target(s) specified in " +"the :keyword:`!as` clause of the statement, if any." +msgstr "" +"Введіть контекст виконання, пов’язаний із цим об’єктом. Оператор :keyword:" +"`with` прив’яже значення, що повертається цим методом, до цілей(ів), " +"указаних у пункті :keyword:`!as` оператора, якщо такий є." + +msgid "" +"Exit the runtime context related to this object. The parameters describe the " +"exception that caused the context to be exited. If the context was exited " +"without an exception, all three arguments will be :const:`None`." +msgstr "" +"Вийти з контексту виконання, пов’язаного з цим об’єктом. Параметри описують " +"виняток, який спричинив вихід із контексту. Якщо контекст вийшов без " +"винятку, усі три аргументи будуть :const:`None`." + +msgid "" +"If an exception is supplied, and the method wishes to suppress the exception " +"(i.e., prevent it from being propagated), it should return a true value. " +"Otherwise, the exception will be processed normally upon exit from this " +"method." +msgstr "" +"Якщо надається виняток, і метод хоче придушити виняток (тобто запобігти його " +"розповсюдженню), він повинен повернути істинне значення. В іншому випадку " +"виняток буде оброблено звичайним чином після виходу з цього методу." + +msgid "" +"Note that :meth:`__exit__` methods should not reraise the passed-in " +"exception; this is the caller's responsibility." +msgstr "" +"Зверніть увагу, що методи :meth:`__exit__` не повинні повторно викликати " +"переданий виняток; це відповідальність абонента." + +msgid ":pep:`343` - The \"with\" statement" +msgstr ":pep:`343` - оператор \"з\"." + +msgid "" +"The specification, background, and examples for the Python :keyword:`with` " +"statement." +msgstr "Специфікація, передумови та приклади оператора Python :keyword:`with`." + +msgid "Customizing positional arguments in class pattern matching" +msgstr "Налаштування позиційних аргументів у відповідності шаблону класу" + +msgid "" +"When using a class name in a pattern, positional arguments in the pattern " +"are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " +"without special support in ``MyClass``. To be able to use that kind of " +"patterns, the class needs to define a *__match_args__* attribute." +msgstr "" +"Під час використання назви класу в шаблоні позиційні аргументи в шаблоні не " +"дозволені за замовчуванням, тобто ``case MyClass(x, y)`` зазвичай недійсний " +"без спеціальної підтримки в ``MyClass``. Щоб мати можливість використовувати " +"такі шаблони, клас повинен визначити атрибут *__match_args__*." + +msgid "" +"This class variable can be assigned a tuple of strings. When this class is " +"used in a class pattern with positional arguments, each positional argument " +"will be converted into a keyword argument, using the corresponding value in " +"*__match_args__* as the keyword. The absence of this attribute is equivalent " +"to setting it to ``()``." +msgstr "" +"Цій змінній класу можна призначити кортеж рядків. Коли цей клас " +"використовується в шаблоні класу з позиційними аргументами, кожен позиційний " +"аргумент буде перетворено в аргумент ключового слова, використовуючи " +"відповідне значення в *__match_args__* як ключове слово. Відсутність цього " +"атрибута еквівалентна встановленню для нього значення ``()``." + +msgid "" +"For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " +"\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " +"MyClass(left=x, center=y)``. Note that the number of arguments in the " +"pattern must be smaller than or equal to the number of elements in " +"*__match_args__*; if it is larger, the pattern match attempt will raise a :" +"exc:`TypeError`." +msgstr "" +"Наприклад, якщо ``MyClass.__match_args__`` є ``(\"left\", \"center\", \"right" +"\")``, це означає, що ``case MyClass(x, y)`` еквівалентний ``case MyClass " +"(ліворуч=x, центр=y)``. Зверніть увагу, що кількість аргументів у шаблоні " +"має бути меншою або дорівнювати кількості елементів у *__match_args__*; якщо " +"він більший, спроба збігу шаблону викличе :exc:`TypeError`." + +msgid ":pep:`634` - Structural Pattern Matching" +msgstr ":pep:`634` - зіставлення структурних шаблонів" + +msgid "The specification for the Python ``match`` statement." +msgstr "Специфікація оператора ``match`` Python." + +msgid "Special method lookup" +msgstr "Спеціальний метод пошуку" + +msgid "" +"For custom classes, implicit invocations of special methods are only " +"guaranteed to work correctly if defined on an object's type, not in the " +"object's instance dictionary. That behaviour is the reason why the " +"following code raises an exception::" +msgstr "" +"Для користувальницьких класів неявні виклики спеціальних методів гарантовано " +"працюють правильно, лише якщо вони визначені для типу об’єкта, а не в " +"словнику екземплярів об’єкта. Така поведінка є причиною того, що наступний " +"код викликає виняток::" + +msgid "" +"The rationale behind this behaviour lies with a number of special methods " +"such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " +"implemented by all objects, including type objects. If the implicit lookup " +"of these methods used the conventional lookup process, they would fail when " +"invoked on the type object itself::" +msgstr "" +"Обґрунтування такої поведінки полягає в ряді спеціальних методів, таких як :" +"meth:`~object.__hash__` і :meth:`~object.__repr__`, які реалізуються всіма " +"об’єктами, включаючи об’єкти типу. Якби неявний пошук цих методів " +"використовував звичайний процес пошуку, вони зазнали б помилки під час " +"виклику в самому об’єкті типу:" + +msgid "" +"Incorrectly attempting to invoke an unbound method of a class in this way is " +"sometimes referred to as 'metaclass confusion', and is avoided by bypassing " +"the instance when looking up special methods::" +msgstr "" +"Неправильна спроба викликати незв’язаний метод класу таким чином іноді " +"називається \"плутаниною метакласу\", і її можна уникнути шляхом обходу " +"екземпляра під час пошуку спеціальних методів:" + +msgid "" +"In addition to bypassing any instance attributes in the interest of " +"correctness, implicit special method lookup generally also bypasses the :" +"meth:`~object.__getattribute__` method even of the object's metaclass::" +msgstr "" +"Окрім обходу будь-яких атрибутів екземпляра в інтересах коректності, неявний " +"пошук спеціального методу зазвичай також обходить метод :meth:`~object." +"__getattribute__` навіть метакласу об’єкта::" + +msgid "" +"Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " +"provides significant scope for speed optimisations within the interpreter, " +"at the cost of some flexibility in the handling of special methods (the " +"special method *must* be set on the class object itself in order to be " +"consistently invoked by the interpreter)." +msgstr "" +"Обхід механізму :meth:`~object.__getattribute__` у такий спосіб забезпечує " +"значні можливості для оптимізації швидкості в інтерпретаторі за рахунок " +"певної гнучкості в обробці спеціальних методів (спеціальний метод *має* бути " +"встановлений на об’єкті класу сам для того, щоб бути послідовно викликаним " +"інтерпретатором)." + +msgid "Coroutines" +msgstr "Співпрограми" + +msgid "Awaitable Objects" +msgstr "Очікувані об'єкти" + +msgid "" +"An :term:`awaitable` object generally implements an :meth:`~object." +"__await__` method. :term:`Coroutine objects ` returned from :" +"keyword:`async def` functions are awaitable." +msgstr "" +"Об’єкт :term:`awaitable` зазвичай реалізує метод :meth:`~object.__await__`. :" +"term:`Очікуються об’єкти співпрограми `, повернуті функціями :" +"keyword:`async def`." + +msgid "" +"The :term:`generator iterator` objects returned from generators decorated " +"with :func:`types.coroutine` are also awaitable, but they do not implement :" +"meth:`~object.__await__`." +msgstr "" + +msgid "" +"Must return an :term:`iterator`. Should be used to implement :term:" +"`awaitable` objects. For instance, :class:`asyncio.Future` implements this " +"method to be compatible with the :keyword:`await` expression." +msgstr "" +"Має повертати :term:`iterator`. Слід використовувати для реалізації " +"об’єктів :term:`awaitable`. Наприклад, :class:`asyncio.Future` реалізує цей " +"метод для сумісності з виразом :keyword:`await`." + +msgid ":pep:`492` for additional information about awaitable objects." +msgstr ":pep:`492` для додаткової інформації про очікувані об’єкти." + +msgid "Coroutine Objects" +msgstr "Об’єкти співпрограми" + +msgid "" +":term:`Coroutine objects ` are :term:`awaitable` objects. A " +"coroutine's execution can be controlled by calling :meth:`~object.__await__` " +"and iterating over the result. When the coroutine has finished executing " +"and returns, the iterator raises :exc:`StopIteration`, and the exception's :" +"attr:`~StopIteration.value` attribute holds the return value. If the " +"coroutine raises an exception, it is propagated by the iterator. Coroutines " +"should not directly raise unhandled :exc:`StopIteration` exceptions." +msgstr "" +":term:`Об’єкти співпрограми ` є :term:`awaitable` об’єктами. " +"Виконання співпрограми можна контролювати викликом :meth:`~object.__await__` " +"і повторенням результату. Коли співпрограма завершує виконання та " +"повертається, ітератор викликає :exc:`StopIteration`, а атрибут винятку :" +"attr:`~StopIteration.value` зберігає значення, що повертається. Якщо " +"співпрограма викликає виключення, воно поширюється ітератором. Співпрограми " +"не повинні безпосередньо викликати необроблені винятки :exc:`StopIteration`." + +msgid "" +"Coroutines also have the methods listed below, which are analogous to those " +"of generators (see :ref:`generator-methods`). However, unlike generators, " +"coroutines do not directly support iteration." +msgstr "" +"Співпрограми також мають наведені нижче методи, аналогічні генераторам " +"(див. :ref:`generator-methods`). Однак, на відміну від генераторів, " +"співпрограми безпосередньо не підтримують ітерацію." + +msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." +msgstr "" +"Це :exc:`RuntimeError`, якщо очікувати в співпрограмі більше одного разу." + +msgid "" +"Starts or resumes execution of the coroutine. If *value* is ``None``, this " +"is equivalent to advancing the iterator returned by :meth:`~object." +"__await__`. If *value* is not ``None``, this method delegates to the :meth:" +"`~generator.send` method of the iterator that caused the coroutine to " +"suspend. The result (return value, :exc:`StopIteration`, or other " +"exception) is the same as when iterating over the :meth:`__await__` return " +"value, described above." +msgstr "" +"Починає або відновлює виконання співпрограми. Якщо *value* дорівнює " +"``None``, це еквівалентно просуванню ітератора, який повертає :meth:`~object." +"__await__`. Якщо *value* не є ``None``, цей метод делегує метод :meth:" +"`~generator.send` ітератора, який викликав призупинення співпрограми. " +"Результат (повернене значення, :exc:`StopIteration` або інший виняток) такий " +"самий, як і під час ітерації по поверненому значенню :meth:`__await__`, " +"описаному вище." + +msgid "" +"Raises the specified exception in the coroutine. This method delegates to " +"the :meth:`~generator.throw` method of the iterator that caused the " +"coroutine to suspend, if it has such a method. Otherwise, the exception is " +"raised at the suspension point. The result (return value, :exc:" +"`StopIteration`, or other exception) is the same as when iterating over the :" +"meth:`~object.__await__` return value, described above. If the exception is " +"not caught in the coroutine, it propagates back to the caller." +msgstr "" +"Викликає вказаний виняток у співпрограмі. Цей метод делегує метод :meth:" +"`~generator.throw` ітератора, який викликав призупинення співпрограми, якщо " +"він має такий метод. В іншому випадку виняток виникає в точці призупинення. " +"Результат (повернене значення, :exc:`StopIteration` або інший виняток) такий " +"самий, як і під час ітерації по поверненому значенню :meth:`~object." +"__await__`, описаному вище. Якщо виняток не перехоплюється співпрограмою, " +"він поширюється назад до абонента." + +msgid "" +"Causes the coroutine to clean itself up and exit. If the coroutine is " +"suspended, this method first delegates to the :meth:`~generator.close` " +"method of the iterator that caused the coroutine to suspend, if it has such " +"a method. Then it raises :exc:`GeneratorExit` at the suspension point, " +"causing the coroutine to immediately clean itself up. Finally, the coroutine " +"is marked as having finished executing, even if it was never started." +msgstr "" +"Примушує співпрограму самоочиститися та завершити роботу. Якщо співпрограму " +"призупинено, цей метод спочатку делегує метод :meth:`~generator.close` " +"ітератора, який викликав призупинення співпрограми, якщо він має такий " +"метод. Потім він викликає :exc:`GeneratorExit` у точці призупинення, " +"змушуючи співпрограму негайно очищатися. Нарешті, співпрограма позначається " +"як завершена, навіть якщо вона ніколи не запускалася." + +msgid "" +"Coroutine objects are automatically closed using the above process when they " +"are about to be destroyed." +msgstr "" +"Об’єкти співпрограми автоматично закриваються за допомогою описаного вище " +"процесу, коли їх збираються знищити." + +msgid "Asynchronous Iterators" +msgstr "Асинхронні ітератори" + +msgid "" +"An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " +"method." +msgstr "" +"*Асинхронний ітератор* може викликати асинхронний код у своєму методі " +"``__anext__``." + +msgid "" +"Asynchronous iterators can be used in an :keyword:`async for` statement." +msgstr "" +"Асинхронні ітератори можна використовувати в операторі :keyword:`async for`." + +msgid "Must return an *asynchronous iterator* object." +msgstr "Має повертати об’єкт *асинхронного ітератора*." + +msgid "" +"Must return an *awaitable* resulting in a next value of the iterator. " +"Should raise a :exc:`StopAsyncIteration` error when the iteration is over." +msgstr "" +"Має повернути *waitable*, що призводить до наступного значення ітератора. " +"Має викликати помилку :exc:`StopAsyncIteration` після завершення ітерації." + +msgid "An example of an asynchronous iterable object::" +msgstr "Приклад асинхронного ітерованого об'єкта::" + +msgid "" +"Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " +"that would resolve to an :term:`asynchronous iterator `." +msgstr "" +"До Python 3.7 :meth:`~object.__aiter__` міг повертати *waitable*, який " +"перетворювався на :term:`асинхронний ітератор `." + +msgid "" +"Starting with Python 3.7, :meth:`~object.__aiter__` must return an " +"asynchronous iterator object. Returning anything else will result in a :exc:" +"`TypeError` error." +msgstr "" +"Починаючи з Python 3.7, :meth:`~object.__aiter__` має повертати об’єкт " +"асинхронного ітератора. Повернення чогось іншого призведе до помилки :exc:" +"`TypeError`." + +msgid "Asynchronous Context Managers" +msgstr "Менеджери асинхронного контексту" + +msgid "" +"An *asynchronous context manager* is a *context manager* that is able to " +"suspend execution in its ``__aenter__`` and ``__aexit__`` methods." +msgstr "" +"*Асинхронний контекстний менеджер* — це *контекстний менеджер*, який може " +"призупинити виконання своїх методів ``__aenter__`` і ``__aexit__``." + +msgid "" +"Asynchronous context managers can be used in an :keyword:`async with` " +"statement." +msgstr "" +"Асинхронні менеджери контексту можна використовувати в операторі :keyword:" +"`async with`." + +msgid "" +"Semantically similar to :meth:`__enter__`, the only difference being that it " +"must return an *awaitable*." +msgstr "" +"Семантично подібний до :meth:`__enter__`, єдина відмінність полягає в тому, " +"що він повинен повертати *waitable*." + +msgid "" +"Semantically similar to :meth:`__exit__`, the only difference being that it " +"must return an *awaitable*." +msgstr "" +"Семантично подібний до :meth:`__exit__`, єдина відмінність полягає в тому, " +"що він повинен повертати *waitable*." + +msgid "An example of an asynchronous context manager class::" +msgstr "Приклад класу диспетчера асинхронного контексту::" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"It *is* possible in some cases to change an object's type, under certain " +"controlled conditions. It generally isn't a good idea though, since it can " +"lead to some very strange behaviour if it is handled incorrectly." +msgstr "" +"У деяких випадках *можливо* змінити тип об’єкта за певних контрольованих " +"умов. Загалом це не дуже гарна ідея, оскільки це може призвести до дуже " +"дивної поведінки, якщо з ним поводитись неправильно." + +msgid "" +"The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." +"__reversed__`, and :meth:`~object.__contains__` methods have special " +"handling for this; others will still raise a :exc:`TypeError`, but may do so " +"by relying on the behavior that ``None`` is not callable." +msgstr "" +"Методи :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." +"__reversed__` і :meth:`~object.__contains__` мають спеціальну обробку для " +"цього; інші все одно викличуть :exc:`TypeError`, але можуть зробити це, " +"покладаючись на поведінку, що ``None`` не викликається." + +msgid "" +"\"Does not support\" here means that the class has no such method, or the " +"method returns ``NotImplemented``. Do not set the method to ``None`` if you " +"want to force fallback to the right operand's reflected method—that will " +"instead have the opposite effect of explicitly *blocking* such fallback." +msgstr "" +"\"Не підтримує\" тут означає, що клас не має такого методу, або метод " +"повертає ``NotImplemented``. Не встановлюйте для методу значення ``None``, " +"якщо ви хочете примусово повернутися до відображеного методу правого " +"операнда — це натомість матиме протилежний ефект явного *блокування* такого " +"резерву." + +msgid "" +"For operands of the same type, it is assumed that if the non-reflected " +"method -- such as :meth:`~object.__add__` -- fails then the overall " +"operation is not supported, which is why the reflected method is not called." +msgstr "" +"Для операндів одного типу передбачається, що якщо невідбитий метод, " +"наприклад :meth:`~object.__add__`, завершується помилкою, тоді загальна " +"операція не підтримується, тому відображений метод не викликається ." diff --git a/reference/executionmodel.po b/reference/executionmodel.po new file mode 100644 index 000000000..2cc8118cd --- /dev/null +++ b/reference/executionmodel.po @@ -0,0 +1,437 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:19+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Execution model" +msgstr "Модель виконання" + +msgid "Structure of a program" +msgstr "Структура програми" + +msgid "" +"A Python program is constructed from code blocks. A :dfn:`block` is a piece " +"of Python program text that is executed as a unit. The following are blocks: " +"a module, a function body, and a class definition. Each command typed " +"interactively is a block. A script file (a file given as standard input to " +"the interpreter or specified as a command line argument to the interpreter) " +"is a code block. A script command (a command specified on the interpreter " +"command line with the :option:`-c` option) is a code block. A module run as " +"a top level script (as module ``__main__``) from the command line using a :" +"option:`-m` argument is also a code block. The string argument passed to the " +"built-in functions :func:`eval` and :func:`exec` is a code block." +msgstr "" +"Програма Python складається з блоків коду. :dfn:`block` — це частина тексту " +"програми Python, яка виконується як одиниця. Це блоки: модуль, тіло функції " +"та визначення класу. Кожна команда, введена в інтерактивному режимі, є " +"блоком. Файл сценарію (файл, наданий інтерпретатору як стандартний ввід або " +"вказаний як аргумент командного рядка для інтерпретатора) є блоком коду. " +"Команда сценарію (команда, указана в командному рядку інтерпретатора з " +"опцією :option:`-c`) — це блок коду. Модуль, запущений як сценарій верхнього " +"рівня (як модуль ``__main__``) з командного рядка за допомогою аргументу :" +"option:`-m`, також є блоком коду. Рядковий аргумент, який передається до " +"вбудованих функцій :func:`eval` і :func:`exec`, є блоком коду." + +msgid "" +"A code block is executed in an :dfn:`execution frame`. A frame contains " +"some administrative information (used for debugging) and determines where " +"and how execution continues after the code block's execution has completed." +msgstr "" +"Блок коду виконується у :dfn:`execution frame`. Кадр містить деяку " +"адміністративну інформацію (використовується для налагодження) і визначає, " +"де і як виконання продовжується після завершення виконання блоку коду." + +msgid "Naming and binding" +msgstr "Називання та зв'язування" + +msgid "Binding of names" +msgstr "Прив'язка імен" + +msgid "" +":dfn:`Names` refer to objects. Names are introduced by name binding " +"operations." +msgstr "" +":dfn:`Names` стосуються об'єктів. Імена вводяться за допомогою операцій " +"зв’язування імен." + +msgid "The following constructs bind names:" +msgstr "Наступні конструкції зв'язують імена:" + +msgid "formal parameters to functions," +msgstr "формальні параметри функцій," + +msgid "class definitions," +msgstr "визначення класів," + +msgid "function definitions," +msgstr "визначення функцій," + +msgid "assignment expressions," +msgstr "вирази присвоєння," + +msgid "" +":ref:`targets ` that are identifiers if occurring in an " +"assignment:" +msgstr "" +":ref:`targets `, які є ідентифікаторами, якщо зустрічаються у " +"призначенні:" + +msgid ":keyword:`for` loop header," +msgstr ":keyword:`for` заголовок циклу," + +msgid "" +"after :keyword:`!as` in a :keyword:`with` statement, :keyword:`except` " +"clause, :keyword:`except* ` clause, or in the as-pattern in " +"structural pattern matching," +msgstr "" + +msgid "in a capture pattern in structural pattern matching" +msgstr "у шаблоні захоплення в зіставленні структурного шаблону" + +msgid ":keyword:`import` statements." +msgstr ":keyword:`import` оператори." + +msgid "" +"The :keyword:`!import` statement of the form ``from ... import *`` binds all " +"names defined in the imported module, except those beginning with an " +"underscore. This form may only be used at the module level." +msgstr "" +"Оператор :keyword:`!import` у формі ``from ... import *`` прив’язує всі " +"імена, визначені в імпортованому модулі, за винятком тих, що починаються з " +"підкреслення. Цю форму можна використовувати лише на рівні модуля." + +msgid "" +"A target occurring in a :keyword:`del` statement is also considered bound " +"for this purpose (though the actual semantics are to unbind the name)." +msgstr "" +"Ціль, що зустрічається в операторі :keyword:`del`, також вважається " +"зв’язаною для цієї мети (хоча фактична семантика полягає в тому, щоб " +"роз’єднати ім’я)." + +msgid "" +"Each assignment or import statement occurs within a block defined by a class " +"or function definition or at the module level (the top-level code block)." +msgstr "" +"Кожен оператор призначення або імпорту відбувається в блоці, визначеному " +"визначенням класу чи функції, або на рівні модуля (блок коду верхнього " +"рівня)." + +msgid "" +"If a name is bound in a block, it is a local variable of that block, unless " +"declared as :keyword:`nonlocal` or :keyword:`global`. If a name is bound at " +"the module level, it is a global variable. (The variables of the module " +"code block are local and global.) If a variable is used in a code block but " +"not defined there, it is a :dfn:`free variable`." +msgstr "" +"Якщо ім’я прив’язане до блоку, воно є локальною змінною цього блоку, якщо не " +"оголошено як :keyword:`nonlocal` або :keyword:`global`. Якщо ім’я прив’язане " +"на рівні модуля, воно є глобальною змінною. (Змінні блоку коду модуля є " +"локальними та глобальними.) Якщо змінна використовується в блоці коду, але " +"не визначена там, це :dfn:`free variable`." + +msgid "" +"Each occurrence of a name in the program text refers to the :dfn:`binding` " +"of that name established by the following name resolution rules." +msgstr "" +"Кожне входження імені в текст програми посилається на :dfn:`binding` цього " +"імені, встановлене наступними правилами розпізнавання імен." + +msgid "Resolution of names" +msgstr "Розділення імен" + +msgid "" +"A :dfn:`scope` defines the visibility of a name within a block. If a local " +"variable is defined in a block, its scope includes that block. If the " +"definition occurs in a function block, the scope extends to any blocks " +"contained within the defining one, unless a contained block introduces a " +"different binding for the name." +msgstr "" +":dfn:`scope` визначає видимість імені в блоці. Якщо локальна змінна " +"визначена в блоці, її область включає цей блок. Якщо визначення міститься у " +"функціональному блоці, область поширюється на будь-які блоки, що містяться в " +"визначальному, якщо тільки блок не вводить іншу прив’язку для імені." + +msgid "" +"When a name is used in a code block, it is resolved using the nearest " +"enclosing scope. The set of all such scopes visible to a code block is " +"called the block's :dfn:`environment`." +msgstr "" +"Коли ім’я використовується в блоці коду, воно розпізнається за допомогою " +"найближчої охоплюючої області. Набір усіх таких областей, видимих для блоку " +"коду, називається :dfn:`environment` блоку." + +msgid "" +"When a name is not found at all, a :exc:`NameError` exception is raised. If " +"the current scope is a function scope, and the name refers to a local " +"variable that has not yet been bound to a value at the point where the name " +"is used, an :exc:`UnboundLocalError` exception is raised. :exc:" +"`UnboundLocalError` is a subclass of :exc:`NameError`." +msgstr "" +"Якщо ім’я взагалі не знайдено, виникає виняток :exc:`NameError`. Якщо " +"поточна область є областю функції, а ім’я посилається на локальну змінну, " +"яка ще не прив’язана до значення в точці, де використовується ім’я, виникає " +"виняток :exc:`UnboundLocalError`. :exc:`UnboundLocalError` є підкласом :exc:" +"`NameError`." + +msgid "" +"If a name binding operation occurs anywhere within a code block, all uses of " +"the name within the block are treated as references to the current block. " +"This can lead to errors when a name is used within a block before it is " +"bound. This rule is subtle. Python lacks declarations and allows name " +"binding operations to occur anywhere within a code block. The local " +"variables of a code block can be determined by scanning the entire text of " +"the block for name binding operations." +msgstr "" +"Якщо операція зв’язування імені відбувається будь-де в блоці коду, усі " +"використання імені в блоці розглядаються як посилання на поточний блок. Це " +"може призвести до помилок, коли ім’я використовується в блоці до його " +"зв’язування. Це правило є тонким. Python не має декларацій і дозволяє " +"виконувати операції зв’язування імен у будь-якому місці блоку коду. Локальні " +"змінні блоку коду можна визначити шляхом сканування всього тексту блоку для " +"операцій зв’язування імен." + +msgid "" +"If the :keyword:`global` statement occurs within a block, all uses of the " +"names specified in the statement refer to the bindings of those names in the " +"top-level namespace. Names are resolved in the top-level namespace by " +"searching the global namespace, i.e. the namespace of the module containing " +"the code block, and the builtins namespace, the namespace of the module :mod:" +"`builtins`. The global namespace is searched first. If the names are not " +"found there, the builtins namespace is searched. The :keyword:`!global` " +"statement must precede all uses of the listed names." +msgstr "" +"Якщо оператор :keyword:`global` зустрічається в блоці, усі використання " +"імен, указаних у цьому операторі, посилаються на прив’язки цих імен у " +"просторі імен верхнього рівня. Імена розпізнаються в просторі імен верхнього " +"рівня шляхом пошуку в глобальному просторі імен, тобто в просторі імен " +"модуля, що містить блок коду, і вбудованому просторі імен, просторі імен " +"модуля :mod:`builtins`. Спочатку виконується пошук у глобальному просторі " +"імен. Якщо імена там не знайдено, пошук здійснюється у вбудованому просторі " +"імен. Оператор :keyword:`!global` має передувати всім використанням " +"наведених імен." + +msgid "" +"The :keyword:`global` statement has the same scope as a name binding " +"operation in the same block. If the nearest enclosing scope for a free " +"variable contains a global statement, the free variable is treated as a " +"global." +msgstr "" +"Оператор :keyword:`global` має ту саму область дії, що й операція прив’язки " +"імені в тому самому блоці. Якщо найближча охоплююча область для вільної " +"змінної містить глобальний оператор, вільна змінна розглядається як " +"глобальна." + +msgid "" +"The :keyword:`nonlocal` statement causes corresponding names to refer to " +"previously bound variables in the nearest enclosing function scope. :exc:" +"`SyntaxError` is raised at compile time if the given name does not exist in " +"any enclosing function scope." +msgstr "" +"Оператор :keyword:`nonlocal` змушує відповідні імена посилатися на раніше " +"зв’язані змінні в найближчій охоплюючій області функції. :exc:`SyntaxError` " +"викликається під час компіляції, якщо задане ім’я не існує в жодній " +"охоплюючій області функції." + +msgid "" +"The namespace for a module is automatically created the first time a module " +"is imported. The main module for a script is always called :mod:`__main__`." +msgstr "" +"Простір імен для модуля створюється автоматично під час першого імпорту " +"модуля. Основний модуль для сценарію завжди називається :mod:`__main__`." + +msgid "" +"Class definition blocks and arguments to :func:`exec` and :func:`eval` are " +"special in the context of name resolution. A class definition is an " +"executable statement that may use and define names. These references follow " +"the normal rules for name resolution with an exception that unbound local " +"variables are looked up in the global namespace. The namespace of the class " +"definition becomes the attribute dictionary of the class. The scope of names " +"defined in a class block is limited to the class block; it does not extend " +"to the code blocks of methods -- this includes comprehensions and generator " +"expressions since they are implemented using a function scope. This means " +"that the following will fail::" +msgstr "" +"Блоки визначення класу та аргументи для :func:`exec` і :func:`eval` є " +"спеціальними в контексті розпізнавання імен. Визначення класу - це " +"виконуваний оператор, який може використовувати та визначати імена. Ці " +"посилання відповідають звичайним правилам розпізнавання імен, за винятком " +"того, що незв’язані локальні змінні шукаються в глобальному просторі імен. " +"Простір імен визначення класу стає словником атрибутів класу. Область імен, " +"визначених у блоці класу, обмежена блоком класу; він не поширюється на блоки " +"коду методів -- це включає в себе розуміння та вирази генератора, оскільки " +"вони реалізовані за допомогою області видимості функції. Це означає, що не " +"вийде:" + +msgid "Builtins and restricted execution" +msgstr "Вбудоване та обмежене виконання" + +msgid "" +"Users should not touch ``__builtins__``; it is strictly an implementation " +"detail. Users wanting to override values in the builtins namespace should :" +"keyword:`import` the :mod:`builtins` module and modify its attributes " +"appropriately." +msgstr "" +"Користувачі не повинні торкатися ``__builtins__``; це суто деталь " +"реалізації. Користувачі, які хочуть змінити значення у просторі імен " +"вбудованих модулів, повинні :keyword:`import` модуль :mod:`builtins` і " +"відповідним чином змінити його атрибути." + +msgid "" +"The builtins namespace associated with the execution of a code block is " +"actually found by looking up the name ``__builtins__`` in its global " +"namespace; this should be a dictionary or a module (in the latter case the " +"module's dictionary is used). By default, when in the :mod:`__main__` " +"module, ``__builtins__`` is the built-in module :mod:`builtins`; when in any " +"other module, ``__builtins__`` is an alias for the dictionary of the :mod:" +"`builtins` module itself." +msgstr "" +"Простір вбудованих імен, пов’язаний із виконанням блоку коду, фактично можна " +"знайти шляхом пошуку назви ``__builtins__`` у його глобальному просторі " +"імен; це має бути словник або модуль (в останньому випадку використовується " +"словник модуля). За замовчуванням у модулі :mod:`__main__` ``__builtins__`` " +"є вбудованим модулем :mod:`builtins`; у будь-якому іншому модулі " +"``__builtins__`` є псевдонімом для словника самого модуля :mod:`builtins`." + +msgid "Interaction with dynamic features" +msgstr "Взаємодія з динамічними функціями" + +msgid "" +"Name resolution of free variables occurs at runtime, not at compile time. " +"This means that the following code will print 42::" +msgstr "" +"Розділення імен вільних змінних відбувається під час виконання, а не під час " +"компіляції. Це означає, що наступний код виведе 42::" + +msgid "" +"The :func:`eval` and :func:`exec` functions do not have access to the full " +"environment for resolving names. Names may be resolved in the local and " +"global namespaces of the caller. Free variables are not resolved in the " +"nearest enclosing namespace, but in the global namespace. [#]_ The :func:" +"`exec` and :func:`eval` functions have optional arguments to override the " +"global and local namespace. If only one namespace is specified, it is used " +"for both." +msgstr "" +"Функції :func:`eval` і :func:`exec` не мають доступу до повного середовища " +"для розпізнавання імен. Імена можуть бути дозволені в локальному та " +"глобальному просторах імен абонента. Вільні змінні вирішуються не в " +"найближчому охоплюючому просторі імен, а в глобальному просторі імен. [#]_ " +"Функції :func:`exec` і :func:`eval` мають додаткові аргументи для заміни " +"глобального та локального простору імен. Якщо вказано лише один простір " +"імен, він використовується для обох." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"Exceptions are a means of breaking out of the normal flow of control of a " +"code block in order to handle errors or other exceptional conditions. An " +"exception is *raised* at the point where the error is detected; it may be " +"*handled* by the surrounding code block or by any code block that directly " +"or indirectly invoked the code block where the error occurred." +msgstr "" +"Винятки — це засіб виходу зі звичайного потоку керування блоком коду для " +"обробки помилок або інших виняткових умов. Виняток *викликається* в точці, " +"де виявлено помилку; вона може *оброблятися* навколишнім блоком коду або " +"будь-яким блоком коду, який прямо чи опосередковано викликав блок коду, де " +"сталася помилка." + +msgid "" +"The Python interpreter raises an exception when it detects a run-time error " +"(such as division by zero). A Python program can also explicitly raise an " +"exception with the :keyword:`raise` statement. Exception handlers are " +"specified with the :keyword:`try` ... :keyword:`except` statement. The :" +"keyword:`finally` clause of such a statement can be used to specify cleanup " +"code which does not handle the exception, but is executed whether an " +"exception occurred or not in the preceding code." +msgstr "" +"Інтерпретатор Python викликає виняток, коли виявляє помилку під час " +"виконання (наприклад, ділення на нуль). Програма на Python також може явно " +"викликати виняток за допомогою оператора :keyword:`raise`. Обробники " +"винятків визначаються оператором :keyword:`try` ... :keyword:`except`. " +"Речення :keyword:`finally` такого оператора можна використовувати для " +"визначення коду очищення, який не обробляє виняток, але виконується " +"незалежно від того, чи виникла виняток у попередньому коді." + +msgid "" +"Python uses the \"termination\" model of error handling: an exception " +"handler can find out what happened and continue execution at an outer level, " +"but it cannot repair the cause of the error and retry the failing operation " +"(except by re-entering the offending piece of code from the top)." +msgstr "" +"Python використовує модель \"припинення\" обробки помилок: обробник винятків " +"може дізнатися, що сталося, і продовжити виконання на зовнішньому рівні, але " +"він не може виправити причину помилки та повторити невдалу операцію (за " +"винятком повторного введення несправної частини коду зверху)." + +msgid "" +"When an exception is not handled at all, the interpreter terminates " +"execution of the program, or returns to its interactive main loop. In " +"either case, it prints a stack traceback, except when the exception is :exc:" +"`SystemExit`." +msgstr "" +"Якщо виняток взагалі не обробляється, інтерпретатор припиняє виконання " +"програми або повертається до основного інтерактивного циклу. У будь-якому " +"випадку він друкує зворотне трасування стека, за винятком випадків, коли " +"винятком є :exc:`SystemExit`." + +msgid "" +"Exceptions are identified by class instances. The :keyword:`except` clause " +"is selected depending on the class of the instance: it must reference the " +"class of the instance or a :term:`non-virtual base class ` thereof. The instance can be received by the handler and can carry " +"additional information about the exceptional condition." +msgstr "" +"Винятки визначаються екземплярами класу. Речення :keyword:`except` " +"вибирається залежно від класу примірника: воно має посилатися на клас " +"примірника або його :term:`невіртуальний базовий клас `. Примірник може бути отриманий обробником і може містити додаткову " +"інформацію про винятковий стан." + +msgid "" +"Exception messages are not part of the Python API. Their contents may " +"change from one version of Python to the next without warning and should not " +"be relied on by code which will run under multiple versions of the " +"interpreter." +msgstr "" +"Повідомлення про винятки не є частиною API Python. Їх вміст може змінюватися " +"від однієї версії Python до іншої без попередження, і на нього не слід " +"покладатися кодом, який працюватиме під кількома версіями інтерпретатора." + +msgid "" +"See also the description of the :keyword:`try` statement in section :ref:" +"`try` and :keyword:`raise` statement in section :ref:`raise`." +msgstr "" +"Дивіться також опис оператора :keyword:`try` у розділі :ref:`try` та " +"оператора :keyword:`raise` у розділі :ref:`raise`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"This limitation occurs because the code that is executed by these operations " +"is not available at the time the module is compiled." +msgstr "" +"Це обмеження виникає через те, що код, який виконується цими операціями, " +"недоступний під час компіляції модуля." diff --git a/reference/expressions.po b/reference/expressions.po new file mode 100644 index 000000000..6d847c034 --- /dev/null +++ b/reference/expressions.po @@ -0,0 +1,2703 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Expressions" +msgstr "Вирази" + +msgid "" +"This chapter explains the meaning of the elements of expressions in Python." +msgstr "У цьому розділі пояснюється значення елементів виразів у Python." + +msgid "" +"**Syntax Notes:** In this and the following chapters, extended BNF notation " +"will be used to describe syntax, not lexical analysis. When (one " +"alternative of) a syntax rule has the form" +msgstr "" +"**Примітки до синтаксису:** У цьому та наступних розділах для опису " +"синтаксису буде використано розширену нотацію BNF, а не лексичний аналіз. " +"Коли (одна альтернатива) синтаксичне правило має форму" + +msgid "" +"and no semantics are given, the semantics of this form of ``name`` are the " +"same as for ``othername``." +msgstr "" +"і семантика не вказана, семантика цієї форми ``name`` така сама, як і " +"``othername``." + +msgid "Arithmetic conversions" +msgstr "Арифметичні перетворення" + +msgid "" +"When a description of an arithmetic operator below uses the phrase \"the " +"numeric arguments are converted to a common type\", this means that the " +"operator implementation for built-in types works as follows:" +msgstr "" +"Коли в описі арифметичного оператора нижче використовується фраза \"числові " +"аргументи перетворюються на загальний тип\", це означає, що реалізація " +"оператора для вбудованих типів працює наступним чином:" + +msgid "" +"If either argument is a complex number, the other is converted to complex;" +msgstr "" +"Якщо будь-який аргумент є комплексним числом, інший перетворюється на " +"комплексне;" + +msgid "" +"otherwise, if either argument is a floating point number, the other is " +"converted to floating point;" +msgstr "" +"інакше, якщо будь-який аргумент є числом з плаваючою комою, інший " +"перетворюється на число з плаваючою комою;" + +msgid "otherwise, both must be integers and no conversion is necessary." +msgstr "інакше обидва мають бути цілими числами, і перетворення не потрібне." + +msgid "" +"Some additional rules apply for certain operators (e.g., a string as a left " +"argument to the '%' operator). Extensions must define their own conversion " +"behavior." +msgstr "" +"Деякі додаткові правила застосовуються до певних операторів (наприклад, " +"рядок як лівий аргумент для оператора \"%\"). Розширення мають визначати " +"власну поведінку перетворення." + +msgid "Atoms" +msgstr "Атоми" + +msgid "" +"Atoms are the most basic elements of expressions. The simplest atoms are " +"identifiers or literals. Forms enclosed in parentheses, brackets or braces " +"are also categorized syntactically as atoms. The syntax for atoms is:" +msgstr "" +"Атоми є основними елементами виразів. Найпростішими атомами є ідентифікатори " +"або літерали. Форми, укладені в дужки, дужки або дужки, також класифікуються " +"синтаксично як атоми. Синтаксис для атомів:" + +msgid "Identifiers (Names)" +msgstr "Ідентифікатори (імена)" + +msgid "" +"An identifier occurring as an atom is a name. See section :ref:" +"`identifiers` for lexical definition and section :ref:`naming` for " +"documentation of naming and binding." +msgstr "" +"Ідентифікатор, що зустрічається як атом, є ім'ям. Перегляньте розділ :ref:" +"`identifiers` для лексичного визначення та розділ :ref:`naming` для " +"документації іменування та прив’язки." + +msgid "" +"When the name is bound to an object, evaluation of the atom yields that " +"object. When a name is not bound, an attempt to evaluate it raises a :exc:" +"`NameError` exception." +msgstr "" +"Коли ім’я пов’язане з об’єктом, оцінка атома дає цей об’єкт. Коли ім’я не " +"прив’язане, спроба його оцінити викликає виняток :exc:`NameError`." + +msgid "" +"**Private name mangling:** When an identifier that textually occurs in a " +"class definition begins with two or more underscore characters and does not " +"end in two or more underscores, it is considered a :dfn:`private name` of " +"that class. Private names are transformed to a longer form before code is " +"generated for them. The transformation inserts the class name, with leading " +"underscores removed and a single underscore inserted, in front of the name. " +"For example, the identifier ``__spam`` occurring in a class named ``Ham`` " +"will be transformed to ``_Ham__spam``. This transformation is independent " +"of the syntactical context in which the identifier is used. If the " +"transformed name is extremely long (longer than 255 characters), " +"implementation defined truncation may happen. If the class name consists " +"only of underscores, no transformation is done." +msgstr "" +"**Приватне спотворення імені:** Якщо ідентифікатор, який текстово " +"зустрічається у визначенні класу, починається з двох або більше символів " +"підкреслення і не закінчується двома або більше підкресленнями, він " +"вважається :dfn:`приватним ім’ям` цього класу. Приватні імена перетворюються " +"на довшу форму перед тим, як для них буде згенеровано код. Трансформація " +"вставляє ім’я класу з видаленням початкового підкреслення та вставленням " +"одного підкреслення перед ім’ям. Наприклад, ідентифікатор ``__spam``, що " +"зустрічається в класі з назвою ``Ham``, буде перетворено на ``_Ham__spam``. " +"Це перетворення не залежить від синтаксичного контексту, у якому " +"використовується ідентифікатор. Якщо перетворене ім’я надзвичайно довге " +"(більше 255 символів), може статися скорочення, визначене реалізацією. Якщо " +"ім'я класу складається лише з підкреслення, перетворення не виконується." + +msgid "Literals" +msgstr "Літерали" + +msgid "Python supports string and bytes literals and various numeric literals:" +msgstr "" +"Python підтримує рядкові та байтові літерали та різні числові літерали:" + +msgid "" +"Evaluation of a literal yields an object of the given type (string, bytes, " +"integer, floating point number, complex number) with the given value. The " +"value may be approximated in the case of floating point and imaginary " +"(complex) literals. See section :ref:`literals` for details." +msgstr "" +"Обчислення літералу дає об’єкт заданого типу (рядок, байти, ціле число, " +"число з плаваючою комою, комплексне число) із заданим значенням. Значення " +"може бути наближено у випадку плаваючої коми та уявних (комплексних) " +"літералів. Перегляньте розділ :ref:`literals` для деталей." + +msgid "" +"All literals correspond to immutable data types, and hence the object's " +"identity is less important than its value. Multiple evaluations of literals " +"with the same value (either the same occurrence in the program text or a " +"different occurrence) may obtain the same object or a different object with " +"the same value." +msgstr "" +"Усі літерали відповідають незмінним типам даних, і, отже, ідентичність " +"об’єкта менш важлива, ніж його значення. Кілька обчислень літералів з " +"однаковим значенням (або те саме входження в текст програми, або інше " +"входження) можуть отримати той самий об’єкт або інший об’єкт з тим самим " +"значенням." + +msgid "Parenthesized forms" +msgstr "Форми в дужках" + +msgid "" +"A parenthesized form is an optional expression list enclosed in parentheses:" +msgstr "Форма в дужках – це необов’язковий список виразів, укладений у дужки:" + +msgid "" +"A parenthesized expression list yields whatever that expression list yields: " +"if the list contains at least one comma, it yields a tuple; otherwise, it " +"yields the single expression that makes up the expression list." +msgstr "" +"Список виразів у дужках дає все, що дає цей список виразів: якщо список " +"містить принаймні одну кому, він дає кортеж; інакше він дає єдиний вираз, " +"який складає список виразів." + +msgid "" +"An empty pair of parentheses yields an empty tuple object. Since tuples are " +"immutable, the same rules as for literals apply (i.e., two occurrences of " +"the empty tuple may or may not yield the same object)." +msgstr "" +"Порожня пара круглих дужок дає порожній об’єкт кортежу. Оскільки кортежі є " +"незмінними, застосовуються ті ж правила, що й для літералів (тобто два " +"входження порожнього кортежу можуть або не можуть давати той самий об’єкт)." + +msgid "" +"Note that tuples are not formed by the parentheses, but rather by use of the " +"comma. The exception is the empty tuple, for which parentheses *are* " +"required --- allowing unparenthesized \"nothing\" in expressions would cause " +"ambiguities and allow common typos to pass uncaught." +msgstr "" + +msgid "Displays for lists, sets and dictionaries" +msgstr "Відображення списків, наборів і словників" + +msgid "" +"For constructing a list, a set or a dictionary Python provides special " +"syntax called \"displays\", each of them in two flavors:" +msgstr "" +"Для побудови списку, набору або словника Python надає спеціальний синтаксис, " +"званий \"дисплеями\", кожен з яких у двох варіантах:" + +msgid "either the container contents are listed explicitly, or" +msgstr "або вміст контейнера перераховано явно, або" + +msgid "" +"they are computed via a set of looping and filtering instructions, called a :" +"dfn:`comprehension`." +msgstr "" +"вони обчислюються за допомогою набору інструкцій циклу та фільтрації, які " +"називаються :dfn:`comprehension`." + +msgid "Common syntax elements for comprehensions are:" +msgstr "Загальні синтаксичні елементи для розуміння:" + +msgid "" +"The comprehension consists of a single expression followed by at least one :" +"keyword:`!for` clause and zero or more :keyword:`!for` or :keyword:`!if` " +"clauses. In this case, the elements of the new container are those that " +"would be produced by considering each of the :keyword:`!for` or :keyword:`!" +"if` clauses a block, nesting from left to right, and evaluating the " +"expression to produce an element each time the innermost block is reached." +msgstr "" +"Розуміння складається з одного виразу, за яким слідує принаймні одна " +"пропозиція :keyword:`!for` і нуль або більше пропозицій :keyword:`!for` або :" +"keyword:`!if`. У цьому випадку елементи нового контейнера — це ті, які були " +"б створені шляхом розгляду кожного з пропозицій :keyword:`!for` або :keyword:" +"`!if` блоку, вкладення зліва направо та оцінювання виразу створювати елемент " +"кожного разу, коли досягнуто внутрішнього блоку." + +msgid "" +"However, aside from the iterable expression in the leftmost :keyword:`!for` " +"clause, the comprehension is executed in a separate implicitly nested scope. " +"This ensures that names assigned to in the target list don't \"leak\" into " +"the enclosing scope." +msgstr "" +"Однак, окрім ітераційного виразу в крайньому лівому реченні :keyword:`!for`, " +"розуміння виконується в окремій неявно вкладеній області. Це гарантує, що " +"імена, призначені в цільовому списку, не \"просочуються\" в охоплюючу " +"область." + +msgid "" +"The iterable expression in the leftmost :keyword:`!for` clause is evaluated " +"directly in the enclosing scope and then passed as an argument to the " +"implicitly nested scope. Subsequent :keyword:`!for` clauses and any filter " +"condition in the leftmost :keyword:`!for` clause cannot be evaluated in the " +"enclosing scope as they may depend on the values obtained from the leftmost " +"iterable. For example: ``[x*y for x in range(10) for y in range(x, x+10)]``." +msgstr "" +"Ітераційний вираз у крайньому лівому реченні :keyword:`!for` обчислюється " +"безпосередньо в охоплюючій області, а потім передається як аргумент до " +"неявно вкладеної області. Наступні пропозиції :keyword:`!for` і будь-яка " +"умова фільтра в крайньому лівому пункті :keyword:`!for` не можуть бути " +"оцінені в охоплюючій області, оскільки вони можуть залежати від значень, " +"отриманих від крайнього лівого ітератора. Наприклад: ``[x*y для x в " +"діапазоні (10) для y в діапазоні (x, x+10)]``." + +msgid "" +"To ensure the comprehension always results in a container of the appropriate " +"type, ``yield`` and ``yield from`` expressions are prohibited in the " +"implicitly nested scope." +msgstr "" +"Щоб гарантувати, що розуміння завжди призводить до контейнера відповідного " +"типу, вирази ``yield`` і ``yield from`` заборонені в неявно вкладеній " +"області." + +msgid "" +"Since Python 3.6, in an :keyword:`async def` function, an :keyword:`!async " +"for` clause may be used to iterate over a :term:`asynchronous iterator`. A " +"comprehension in an :keyword:`!async def` function may consist of either a :" +"keyword:`!for` or :keyword:`!async for` clause following the leading " +"expression, may contain additional :keyword:`!for` or :keyword:`!async for` " +"clauses, and may also use :keyword:`await` expressions. If a comprehension " +"contains either :keyword:`!async for` clauses or :keyword:`!await` " +"expressions or other asynchronous comprehensions it is called an :dfn:" +"`asynchronous comprehension`. An asynchronous comprehension may suspend the " +"execution of the coroutine function in which it appears. See also :pep:`530`." +msgstr "" + +msgid "Asynchronous comprehensions were introduced." +msgstr "Були введені асинхронні розуміння." + +msgid "``yield`` and ``yield from`` prohibited in the implicitly nested scope." +msgstr "``yield`` і ``yield from`` заборонені в неявно вкладеній області." + +msgid "" +"Asynchronous comprehensions are now allowed inside comprehensions in " +"asynchronous functions. Outer comprehensions implicitly become asynchronous." +msgstr "" + +msgid "List displays" +msgstr "Відображається список" + +msgid "" +"A list display is a possibly empty series of expressions enclosed in square " +"brackets:" +msgstr "" +"Відображення списку – це, можливо, порожня серія виразів, укладених у " +"квадратні дужки:" + +msgid "" +"A list display yields a new list object, the contents being specified by " +"either a list of expressions or a comprehension. When a comma-separated " +"list of expressions is supplied, its elements are evaluated from left to " +"right and placed into the list object in that order. When a comprehension " +"is supplied, the list is constructed from the elements resulting from the " +"comprehension." +msgstr "" +"Відображення списку дає новий об’єкт списку, вміст якого визначається або " +"списком виразів, або розумінням. Коли надається список виразів, розділених " +"комами, його елементи обчислюються зліва направо та розміщуються в об’єкті " +"списку в такому порядку. Коли надається розуміння, список складається з " +"елементів, отриманих у результаті розуміння." + +msgid "Set displays" +msgstr "Встановити дисплеї" + +msgid "" +"A set display is denoted by curly braces and distinguishable from dictionary " +"displays by the lack of colons separating keys and values:" +msgstr "" +"Відображення набору позначається фігурними дужками та відрізняється від " +"відображення словника відсутністю двокрапки, що розділяє ключі та значення:" + +msgid "" +"A set display yields a new mutable set object, the contents being specified " +"by either a sequence of expressions or a comprehension. When a comma-" +"separated list of expressions is supplied, its elements are evaluated from " +"left to right and added to the set object. When a comprehension is " +"supplied, the set is constructed from the elements resulting from the " +"comprehension." +msgstr "" +"Відображення набору дає новий змінний об’єкт набору, вміст якого " +"визначається або послідовністю виразів, або розумінням. Коли надається " +"список виразів, розділених комами, його елементи обчислюються зліва направо " +"та додаються до набору об’єктів. Коли надається розуміння, набір будується з " +"елементів, отриманих у результаті розуміння." + +msgid "" +"An empty set cannot be constructed with ``{}``; this literal constructs an " +"empty dictionary." +msgstr "" +"Порожній набір не можна створити за допомогою ``{}``; цей літерал створює " +"порожній словник." + +msgid "Dictionary displays" +msgstr "Відображення словника" + +msgid "" +"A dictionary display is a possibly empty series of key/datum pairs enclosed " +"in curly braces:" +msgstr "" +"Відображення словника – це, можливо, порожня серія пар ключ/дата, укладена у " +"фігурні дужки:" + +msgid "A dictionary display yields a new dictionary object." +msgstr "Відображення словника дає новий об’єкт словника." + +msgid "" +"If a comma-separated sequence of key/datum pairs is given, they are " +"evaluated from left to right to define the entries of the dictionary: each " +"key object is used as a key into the dictionary to store the corresponding " +"datum. This means that you can specify the same key multiple times in the " +"key/datum list, and the final dictionary's value for that key will be the " +"last one given." +msgstr "" +"Якщо подано розділену комами послідовність пар ключ/дані, вони оцінюються " +"зліва направо, щоб визначити записи словника: кожен ключовий об’єкт " +"використовується як ключ у словнику для збереження відповідних даних. Це " +"означає, що ви можете вказати той самий ключ кілька разів у списку ключів/" +"даних, і остаточне значення словника для цього ключа буде останнім наданим." + +msgid "" +"A double asterisk ``**`` denotes :dfn:`dictionary unpacking`. Its operand " +"must be a :term:`mapping`. Each mapping item is added to the new " +"dictionary. Later values replace values already set by earlier key/datum " +"pairs and earlier dictionary unpackings." +msgstr "" +"Подвійна зірочка ``**`` позначає :dfn:`dictionary unpacking`. Його операнд " +"має бути :term:`mapping`. Кожен елемент зіставлення додається до нового " +"словника. Пізніші значення замінюють значення, уже встановлені попередніми " +"парами ключ/дані та попередніми розпакуваннями словника." + +msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." +msgstr "" +"Розпакування у словникові відображення, спочатку запропоноване :pep:`448`." + +msgid "" +"A dict comprehension, in contrast to list and set comprehensions, needs two " +"expressions separated with a colon followed by the usual \"for\" and \"if\" " +"clauses. When the comprehension is run, the resulting key and value elements " +"are inserted in the new dictionary in the order they are produced." +msgstr "" +"Розуміння dict, на відміну від списків і набору, потребує двох виразів, " +"розділених двокрапкою, за якими слідують звичайні пропозиції \"for\" і \"if" +"\". Коли виконується розуміння, отримані елементи ключа та значення " +"вставляються в новий словник у тому порядку, в якому вони створені." + +msgid "" +"Restrictions on the types of the key values are listed earlier in section :" +"ref:`types`. (To summarize, the key type should be :term:`hashable`, which " +"excludes all mutable objects.) Clashes between duplicate keys are not " +"detected; the last datum (textually rightmost in the display) stored for a " +"given key value prevails." +msgstr "" +"Обмеження щодо типів значень ключів перелічені раніше в розділі :ref:" +"`types`. (Підсумовуючи, тип ключа має бути :term:`hashable`, що виключає всі " +"змінні об’єкти.) Конфлікти між повторюваними ключами не виявляються; " +"переважає остання дата (текстово крайня права на дисплеї), збережена для " +"заданого значення ключа." + +msgid "" +"Prior to Python 3.8, in dict comprehensions, the evaluation order of key and " +"value was not well-defined. In CPython, the value was evaluated before the " +"key. Starting with 3.8, the key is evaluated before the value, as proposed " +"by :pep:`572`." +msgstr "" +"До Python 3.8 у розуміннях dict порядок оцінки ключа та значення не був " +"чітко визначений. У CPython значення було обчислено перед ключем. Починаючи " +"з 3.8, ключ оцінюється перед значенням, як запропоновано :pep:`572`." + +msgid "Generator expressions" +msgstr "Генератор виразів" + +msgid "A generator expression is a compact generator notation in parentheses:" +msgstr "Генеруючий вираз — це компактний генераторний запис у круглих дужках:" + +msgid "" +"A generator expression yields a new generator object. Its syntax is the " +"same as for comprehensions, except that it is enclosed in parentheses " +"instead of brackets or curly braces." +msgstr "" +"Генеруючий вираз дає новий генераторний об’єкт. Його синтаксис такий самий, " +"як і для розуміння, за винятком того, що він узятий у дужки замість дужок " +"або фігурних дужок." + +msgid "" +"Variables used in the generator expression are evaluated lazily when the :" +"meth:`~generator.__next__` method is called for the generator object (in the " +"same fashion as normal generators). However, the iterable expression in the " +"leftmost :keyword:`!for` clause is immediately evaluated, so that an error " +"produced by it will be emitted at the point where the generator expression " +"is defined, rather than at the point where the first value is retrieved. " +"Subsequent :keyword:`!for` clauses and any filter condition in the leftmost :" +"keyword:`!for` clause cannot be evaluated in the enclosing scope as they may " +"depend on the values obtained from the leftmost iterable. For example: " +"``(x*y for x in range(10) for y in range(x, x+10))``." +msgstr "" +"Змінні, які використовуються у виразі генератора, обчислюються ліниво, коли " +"метод :meth:`~generator.__next__` викликається для об’єкта генератора (так " +"само, як і звичайні генератори). Однак ітераційний вираз у крайньому лівому " +"реченні :keyword:`!for` негайно обчислюється, тому помилка, створена ним, " +"буде видана в точці, де визначено вираз генератора, а не в точці, де перше " +"значення відновлено. Наступні пропозиції :keyword:`!for` і будь-яка умова " +"фільтра в крайньому лівому пункті :keyword:`!for` не можуть бути оцінені в " +"охоплюючій області, оскільки вони можуть залежати від значень, отриманих від " +"крайнього лівого ітератора. Наприклад: ``(x*y для x в діапазоні (10) для y в " +"діапазоні (x, x+10))``." + +msgid "" +"The parentheses can be omitted on calls with only one argument. See " +"section :ref:`calls` for details." +msgstr "" +"У викликах лише з одним аргументом дужки можна опускати. Подробиці див. у " +"розділі :ref:`calls`." + +msgid "" +"To avoid interfering with the expected operation of the generator expression " +"itself, ``yield`` and ``yield from`` expressions are prohibited in the " +"implicitly defined generator." +msgstr "" +"Щоб уникнути перешкоджання очікуваній роботі самого виразу генератора, " +"вирази ``yield`` і ``yield from`` заборонені в неявно визначеному генераторі." + +msgid "" +"If a generator expression contains either :keyword:`!async for` clauses or :" +"keyword:`await` expressions it is called an :dfn:`asynchronous generator " +"expression`. An asynchronous generator expression returns a new " +"asynchronous generator object, which is an asynchronous iterator (see :ref:" +"`async-iterators`)." +msgstr "" +"Якщо вираз генератора містить пропозиції :keyword:`!async for` або вирази :" +"keyword:`await`, це називається :dfn:`asynchronous generator expression`. " +"Вираз асинхронного генератора повертає новий об’єкт асинхронного генератора, " +"який є асинхронним ітератором (див. :ref:`async-iterators`)." + +msgid "Asynchronous generator expressions were introduced." +msgstr "Було введено асинхронні генераторні вирази." + +msgid "" +"Prior to Python 3.7, asynchronous generator expressions could only appear " +"in :keyword:`async def` coroutines. Starting with 3.7, any function can use " +"asynchronous generator expressions." +msgstr "" +"До Python 3.7 вирази асинхронного генератора могли з’являтися лише в " +"співпрограмах :keyword:`async def`. Починаючи з 3.7, будь-яка функція може " +"використовувати вирази асинхронного генератора." + +msgid "Yield expressions" +msgstr "Вирази дохідності" + +msgid "" +"The yield expression is used when defining a :term:`generator` function or " +"an :term:`asynchronous generator` function and thus can only be used in the " +"body of a function definition. Using a yield expression in a function's " +"body causes that function to be a generator function, and using it in an :" +"keyword:`async def` function's body causes that coroutine function to be an " +"asynchronous generator function. For example::" +msgstr "" +"Вираз yield використовується під час визначення функції :term:`generator` " +"або функції :term:`asynchronous generator` і тому може використовуватися " +"лише в тілі визначення функції. Використання виразу yield у тілі функції " +"робить цю функцію функцією-генератором, а використання його в тілі функції :" +"keyword:`async def` призводить до того, що функція співпрограми стає " +"асинхронною функцією-генератором. Наприклад::" + +msgid "" +"Due to their side effects on the containing scope, ``yield`` expressions are " +"not permitted as part of the implicitly defined scopes used to implement " +"comprehensions and generator expressions." +msgstr "" +"Через їхній побічний вплив на область, що містить, вирази ``yield`` не " +"дозволені як частина неявно визначених областей, які використовуються для " +"реалізації розуміння та виразів генератора." + +msgid "" +"Yield expressions prohibited in the implicitly nested scopes used to " +"implement comprehensions and generator expressions." +msgstr "" +"Вирази yield, заборонені в неявно вкладених областях, що використовуються " +"для реалізації виразів розуміння та генератора." + +msgid "" +"Generator functions are described below, while asynchronous generator " +"functions are described separately in section :ref:`asynchronous-generator-" +"functions`." +msgstr "" +"Функції генератора описані нижче, тоді як функції асинхронного генератора " +"описані окремо в розділі :ref:`asynchronous-generator-functions`." + +msgid "" +"When a generator function is called, it returns an iterator known as a " +"generator. That generator then controls the execution of the generator " +"function. The execution starts when one of the generator's methods is " +"called. At that time, the execution proceeds to the first yield expression, " +"where it is suspended again, returning the value of :token:`~python-grammar:" +"expression_list` to the generator's caller. By suspended, we mean that all " +"local state is retained, including the current bindings of local variables, " +"the instruction pointer, the internal evaluation stack, and the state of any " +"exception handling. When the execution is resumed by calling one of the " +"generator's methods, the function can proceed exactly as if the yield " +"expression were just another external call. The value of the yield " +"expression after resuming depends on the method which resumed the " +"execution. If :meth:`~generator.__next__` is used (typically via either a :" +"keyword:`for` or the :func:`next` builtin) then the result is :const:" +"`None`. Otherwise, if :meth:`~generator.send` is used, then the result will " +"be the value passed in to that method." +msgstr "" +"Коли функція генератора викликається, вона повертає ітератор, відомий як " +"генератор. Потім цей генератор керує виконанням функції генератора. " +"Виконання починається при виклику одного з методів генератора. У цей час " +"виконання переходить до першого виразу yield, де воно знову призупиняється, " +"повертаючи значення :token:`~python-grammar:expression_list` до викликаючого " +"генератора. Під призупиненням ми маємо на увазі, що весь локальний стан " +"зберігається, включаючи поточні прив’язки локальних змінних, вказівник " +"інструкцій, внутрішній стек оцінки та стан будь-якої обробки винятків. Коли " +"виконання відновлюється викликом одного з методів генератора, функція може " +"продовжувати роботу точно так, якби вираз yield був ще одним зовнішнім " +"викликом. Значення виразу yield після відновлення залежить від методу, який " +"відновив виконання. Якщо :meth:`~generator.__next__` використовується " +"(зазвичай через :keyword:`for` або вбудований :func:`next`), тоді " +"результатом буде :const:`None`. В іншому випадку, якщо :meth:`~generator." +"send` використовується, результатом буде значення, передане цьому методу." + +msgid "" +"All of this makes generator functions quite similar to coroutines; they " +"yield multiple times, they have more than one entry point and their " +"execution can be suspended. The only difference is that a generator " +"function cannot control where the execution should continue after it yields; " +"the control is always transferred to the generator's caller." +msgstr "" +"Усе це робить функції генератора досить схожими на співпрограми; вони " +"поступаються кілька разів, вони мають більше однієї точки входу, і їхнє " +"виконання може бути призупинено. Єдина відмінність полягає в тому, що " +"функція-генератор не може контролювати, де має продовжуватися виконання " +"після того, як вона виходить; керування завжди передається абоненту " +"генератора." + +msgid "" +"Yield expressions are allowed anywhere in a :keyword:`try` construct. If " +"the generator is not resumed before it is finalized (by reaching a zero " +"reference count or by being garbage collected), the generator-iterator's :" +"meth:`~generator.close` method will be called, allowing any pending :keyword:" +"`finally` clauses to execute." +msgstr "" +"Вирази yield дозволені будь-де в конструкції :keyword:`try`. Якщо генератор " +"не відновлено до його завершення (досягнувши нульової кількості посилань або " +"збираючи сміття), буде викликано метод :meth:`~generator.close` генератора-" +"ітератора, дозволяючи будь-які очікуючі :keyword:`finally` пропозиції для " +"виконання." + +msgid "" +"When ``yield from `` is used, the supplied expression must be an " +"iterable. The values produced by iterating that iterable are passed directly " +"to the caller of the current generator's methods. Any values passed in with :" +"meth:`~generator.send` and any exceptions passed in with :meth:`~generator." +"throw` are passed to the underlying iterator if it has the appropriate " +"methods. If this is not the case, then :meth:`~generator.send` will raise :" +"exc:`AttributeError` or :exc:`TypeError`, while :meth:`~generator.throw` " +"will just raise the passed in exception immediately." +msgstr "" +"Коли використовується ``yield from ``, наданий вираз має бути " +"повторюваним. Значення, отримані шляхом ітерації цього ітерованого, " +"передаються безпосередньо до виклику методів поточного генератора. Будь-які " +"значення, передані за допомогою :meth:`~generator.send`, і будь-які винятки, " +"передані за допомогою :meth:`~generator.throw`, передаються базовому " +"ітератору, якщо він має відповідні методи. Якщо це не так, то :meth:" +"`~generator.send` викличе :exc:`AttributeError` або :exc:`TypeError`, а :" +"meth:`~generator.throw` просто викличе переданий виняток негайно." + +msgid "" +"When the underlying iterator is complete, the :attr:`~StopIteration.value` " +"attribute of the raised :exc:`StopIteration` instance becomes the value of " +"the yield expression. It can be either set explicitly when raising :exc:" +"`StopIteration`, or automatically when the subiterator is a generator (by " +"returning a value from the subgenerator)." +msgstr "" +"Коли основний ітератор завершено, атрибут :attr:`~StopIteration.value` " +"піднятого екземпляра :exc:`StopIteration` стає значенням виразу yield. Його " +"можна встановити явно під час виклику :exc:`StopIteration` або автоматично, " +"коли субітератор є генератором (шляхом повернення значення з субгенератора)." + +msgid "Added ``yield from `` to delegate control flow to a subiterator." +msgstr "" +"Додано ``yield from `` для делегування потоку керування субітератору." + +msgid "" +"The parentheses may be omitted when the yield expression is the sole " +"expression on the right hand side of an assignment statement." +msgstr "" +"Дужки можуть бути опущені, якщо вираз yield є єдиним виразом у правій " +"частині оператора призначення." + +msgid ":pep:`255` - Simple Generators" +msgstr ":pep:`255` - Прості генератори" + +msgid "" +"The proposal for adding generators and the :keyword:`yield` statement to " +"Python." +msgstr "" +"Пропозиція щодо додавання генераторів і оператора :keyword:`yield` до Python." + +msgid ":pep:`342` - Coroutines via Enhanced Generators" +msgstr ":pep:`342` - Співпрограми через розширені генератори" + +msgid "" +"The proposal to enhance the API and syntax of generators, making them usable " +"as simple coroutines." +msgstr "" +"Пропозиція покращити API та синтаксис генераторів, зробивши їх придатними " +"для використання як простих співпрограм." + +msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" +msgstr ":pep:`380` - Синтаксис для делегування підгенератору" + +msgid "" +"The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " +"making delegation to subgenerators easy." +msgstr "" +"Пропозиція запровадити синтаксис :token:`~python-grammar:yield_from`, що " +"спрощує делегування субгенераторам." + +msgid ":pep:`525` - Asynchronous Generators" +msgstr ":pep:`525` - Асинхронні генератори" + +msgid "" +"The proposal that expanded on :pep:`492` by adding generator capabilities to " +"coroutine functions." +msgstr "" +"Пропозиція, яка розширила :pep:`492` шляхом додавання можливостей генератора " +"до функцій співпрограми." + +msgid "Generator-iterator methods" +msgstr "Методи генератор-ітератор" + +msgid "" +"This subsection describes the methods of a generator iterator. They can be " +"used to control the execution of a generator function." +msgstr "" +"У цьому підрозділі описано методи ітератора генератора. Вони можуть " +"використовуватися для керування виконанням функції генератора." + +msgid "" +"Note that calling any of the generator methods below when the generator is " +"already executing raises a :exc:`ValueError` exception." +msgstr "" +"Зауважте, що виклик будь-якого з наведених нижче методів генератора, коли " +"генератор уже виконується, викликає виняткову ситуацію :exc:`ValueError`." + +msgid "" +"Starts the execution of a generator function or resumes it at the last " +"executed yield expression. When a generator function is resumed with a :" +"meth:`~generator.__next__` method, the current yield expression always " +"evaluates to :const:`None`. The execution then continues to the next yield " +"expression, where the generator is suspended again, and the value of the :" +"token:`~python-grammar:expression_list` is returned to :meth:`__next__`'s " +"caller. If the generator exits without yielding another value, a :exc:" +"`StopIteration` exception is raised." +msgstr "" +"Починає виконання функції генератора або відновлює його після останнього " +"виконаного виразу yield. Коли функцію генератора відновлено за допомогою " +"методу :meth:`~generator.__next__`, поточний вираз yield завжди оцінюється " +"як :const:`None`. Потім виконання продовжується до наступного виразу yield, " +"де генератор знову призупиняється, а значення :token:`~python-grammar:" +"expression_list` повертається до викликаючого :meth:`__next__`. Якщо " +"генератор завершує роботу, не видаючи іншого значення, виникає виняток :exc:" +"`StopIteration`." + +msgid "" +"This method is normally called implicitly, e.g. by a :keyword:`for` loop, or " +"by the built-in :func:`next` function." +msgstr "" +"Цей метод зазвичай викликається неявно, напр. за допомогою циклу :keyword:" +"`for` або за допомогою вбудованої функції :func:`next`." + +msgid "" +"Resumes the execution and \"sends\" a value into the generator function. " +"The *value* argument becomes the result of the current yield expression. " +"The :meth:`send` method returns the next value yielded by the generator, or " +"raises :exc:`StopIteration` if the generator exits without yielding another " +"value. When :meth:`send` is called to start the generator, it must be " +"called with :const:`None` as the argument, because there is no yield " +"expression that could receive the value." +msgstr "" +"Відновлює виконання та \"надсилає\" значення у функцію генератора. Аргумент " +"*value* стає результатом поточного виразу yield. Метод :meth:`send` повертає " +"наступне значення, отримане генератором, або викликає :exc:`StopIteration`, " +"якщо генератор завершує роботу, не видаючи іншого значення. Коли :meth:" +"`send` викликається для запуску генератора, його потрібно викликати з :const:" +"`None` як аргументом, оскільки немає виразу yield, який міг би отримати " +"значення." + +msgid "" +"Raises an exception at the point where the generator was paused, and returns " +"the next value yielded by the generator function. If the generator exits " +"without yielding another value, a :exc:`StopIteration` exception is raised. " +"If the generator function does not catch the passed-in exception, or raises " +"a different exception, then that exception propagates to the caller." +msgstr "" +"Викликає виняток у точці, де генератор було призупинено, і повертає наступне " +"значення, отримане функцією генератора. Якщо генератор завершує роботу, не " +"видаючи іншого значення, виникає виняток :exc:`StopIteration`. Якщо функція " +"генератора не перехоплює переданий виняток або викликає інший виняток, тоді " +"цей виняток поширюється на виклик." + +msgid "" +"In typical use, this is called with a single exception instance similar to " +"the way the :keyword:`raise` keyword is used." +msgstr "" +"У типовому використанні це викликається з одним винятком, подібним до того, " +"як використовується ключове слово :keyword:`raise`." + +msgid "" +"For backwards compatibility, however, the second signature is supported, " +"following a convention from older versions of Python. The *type* argument " +"should be an exception class, and *value* should be an exception instance. " +"If the *value* is not provided, the *type* constructor is called to get an " +"instance. If *traceback* is provided, it is set on the exception, otherwise " +"any existing :attr:`~BaseException.__traceback__` attribute stored in " +"*value* may be cleared." +msgstr "" + +msgid "" +"Raises a :exc:`GeneratorExit` at the point where the generator function was " +"paused. If the generator function then exits gracefully, is already closed, " +"or raises :exc:`GeneratorExit` (by not catching the exception), close " +"returns to its caller. If the generator yields a value, a :exc:" +"`RuntimeError` is raised. If the generator raises any other exception, it " +"is propagated to the caller. :meth:`close` does nothing if the generator " +"has already exited due to an exception or normal exit." +msgstr "" +"Викликає :exc:`GeneratorExit` у точці, де функцію генератора було " +"призупинено. Якщо функція-генератор завершує роботу належним чином, уже " +"закрита або викликає :exc:`GeneratorExit` (не перехоплюючи виняток), close " +"повертається до свого виклику. Якщо генератор видає значення, виникає :exc:" +"`RuntimeError`. Якщо генератор викликає будь-який інший виняток, він " +"передається до абонента. :meth:`close` нічого не робить, якщо генератор уже " +"завершив роботу через виняток або нормальний вихід." + +msgid "Examples" +msgstr "Приклади" + +msgid "" +"Here is a simple example that demonstrates the behavior of generators and " +"generator functions::" +msgstr "" +"Ось простий приклад, який демонструє поведінку генераторів і функцій " +"генератора:" + +msgid "" +"For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " +"Python.\"" +msgstr "" +"Приклади використання ``yield from`` див. :ref:`pep-380` у розділі \"Що " +"нового в Python\"." + +msgid "Asynchronous generator functions" +msgstr "Функції асинхронного генератора" + +msgid "" +"The presence of a yield expression in a function or method defined using :" +"keyword:`async def` further defines the function as an :term:`asynchronous " +"generator` function." +msgstr "" +"Наявність виразу yield у функції чи методі, визначеному за допомогою :" +"keyword:`async def`, далі визначає функцію як функцію :term:`asynchronous " +"generator`." + +msgid "" +"When an asynchronous generator function is called, it returns an " +"asynchronous iterator known as an asynchronous generator object. That object " +"then controls the execution of the generator function. An asynchronous " +"generator object is typically used in an :keyword:`async for` statement in a " +"coroutine function analogously to how a generator object would be used in a :" +"keyword:`for` statement." +msgstr "" +"Коли викликається функція асинхронного генератора, вона повертає асинхронний " +"ітератор, відомий як об’єкт асинхронного генератора. Потім цей об’єкт керує " +"виконанням функції генератора. Асинхронний об’єкт генератора зазвичай " +"використовується в операторі :keyword:`async for` у функції співпрограми " +"аналогічно тому, як об’єкт генератора використовувався б у операторі :" +"keyword:`for`." + +msgid "" +"Calling one of the asynchronous generator's methods returns an :term:" +"`awaitable` object, and the execution starts when this object is awaited on. " +"At that time, the execution proceeds to the first yield expression, where it " +"is suspended again, returning the value of :token:`~python-grammar:" +"expression_list` to the awaiting coroutine. As with a generator, suspension " +"means that all local state is retained, including the current bindings of " +"local variables, the instruction pointer, the internal evaluation stack, and " +"the state of any exception handling. When the execution is resumed by " +"awaiting on the next object returned by the asynchronous generator's " +"methods, the function can proceed exactly as if the yield expression were " +"just another external call. The value of the yield expression after resuming " +"depends on the method which resumed the execution. If :meth:`~agen." +"__anext__` is used then the result is :const:`None`. Otherwise, if :meth:" +"`~agen.asend` is used, then the result will be the value passed in to that " +"method." +msgstr "" +"Виклик одного з методів асинхронного генератора повертає об’єкт :term:" +"`awaitable`, і виконання починається, коли цей об’єкт очікується. У цей час " +"виконання переходить до першого виразу yield, де воно знову призупиняється, " +"повертаючи значення :token:`~python-grammar:expression_list` до співпрограми " +"очікування. Як і у випадку з генератором, призупинення означає, що весь " +"локальний стан зберігається, включаючи поточні прив’язки локальних змінних, " +"покажчик інструкцій, внутрішній стек оцінки та стан будь-якої обробки " +"винятків. Коли виконання відновлюється шляхом очікування наступного об’єкта, " +"повернутого методами асинхронного генератора, функція може продовжувати " +"роботу точно так, якби вираз yield був просто ще одним зовнішнім викликом. " +"Значення виразу yield після відновлення залежить від методу, який відновив " +"виконання. Якщо використано :meth:`~agen.__anext__`, результатом буде :const:" +"`None`. В іншому випадку, якщо :meth:`~agen.asend` використовується, " +"результатом буде значення, передане цьому методу." + +msgid "" +"If an asynchronous generator happens to exit early by :keyword:`break`, the " +"caller task being cancelled, or other exceptions, the generator's async " +"cleanup code will run and possibly raise exceptions or access context " +"variables in an unexpected context--perhaps after the lifetime of tasks it " +"depends, or during the event loop shutdown when the async-generator garbage " +"collection hook is called. To prevent this, the caller must explicitly close " +"the async generator by calling :meth:`~agen.aclose` method to finalize the " +"generator and ultimately detach it from the event loop." +msgstr "" +"Якщо асинхронний генератор завершує роботу раніше через :keyword:`break`, " +"скасування завдання виклику або інші винятки, запуститься асинхронний код " +"очищення генератора та, можливо, викличе винятки або отримає доступ до " +"змінних контексту в неочікуваному контексті — можливо, після час життя " +"завдань залежить від цього, або під час завершення циклу подій, коли " +"викликається хук збирання сміття асинхронного генератора. Щоб запобігти " +"цьому, абонент повинен явно закрити асинхронний генератор, викликавши метод :" +"meth:`~agen.aclose`, щоб завершити генератор і остаточно від’єднати його від " +"циклу подій." + +msgid "" +"In an asynchronous generator function, yield expressions are allowed " +"anywhere in a :keyword:`try` construct. However, if an asynchronous " +"generator is not resumed before it is finalized (by reaching a zero " +"reference count or by being garbage collected), then a yield expression " +"within a :keyword:`!try` construct could result in a failure to execute " +"pending :keyword:`finally` clauses. In this case, it is the responsibility " +"of the event loop or scheduler running the asynchronous generator to call " +"the asynchronous generator-iterator's :meth:`~agen.aclose` method and run " +"the resulting coroutine object, thus allowing any pending :keyword:`!" +"finally` clauses to execute." +msgstr "" +"У функції асинхронного генератора вирази yield дозволені будь-де в " +"конструкції :keyword:`try`. Однак, якщо асинхронний генератор не відновлено " +"до його завершення (досягнувши нульового підрахунку посилань або збираючи " +"сміття), тоді вираз yield у конструкції :keyword:`!try` може призвести до " +"збою виконання очікуваного :keyword:`finally`. У цьому випадку цикл подій " +"або планувальник, який запускає асинхронний генератор, відповідає за виклик " +"методу :meth:`~agen.aclose` асинхронного генератора-ітератора та запуск " +"отриманого об’єкта співпрограми, таким чином дозволяючи будь-які очікуючі :" +"keyword:`!finally` для виконання." + +msgid "" +"To take care of finalization upon event loop termination, an event loop " +"should define a *finalizer* function which takes an asynchronous generator-" +"iterator and presumably calls :meth:`~agen.aclose` and executes the " +"coroutine. This *finalizer* may be registered by calling :func:`sys." +"set_asyncgen_hooks`. When first iterated over, an asynchronous generator-" +"iterator will store the registered *finalizer* to be called upon " +"finalization. For a reference example of a *finalizer* method see the " +"implementation of ``asyncio.Loop.shutdown_asyncgens`` in :source:`Lib/" +"asyncio/base_events.py`." +msgstr "" +"Щоб подбати про фіналізацію після завершення циклу подій, цикл подій має " +"визначати функцію *finalizer*, яка приймає асинхронний генератор-ітератор і, " +"ймовірно, викликає :meth:`~agen.aclose` і виконує співпрограму. Цей " +"*фіналізатор* можна зареєструвати, викликавши :func:`sys." +"set_asyncgen_hooks`. Під час першого повторення асинхронний генератор-" +"ітератор зберігатиме зареєстрований *фіналізатор*, який буде викликаний під " +"час фіналізації. Для довідкового прикладу методу *finalizer* перегляньте " +"реалізацію ``asyncio.Loop.shutdown_asyncgens`` у :source:`Lib/asyncio/" +"base_events.py`." + +msgid "" +"The expression ``yield from `` is a syntax error when used in an " +"asynchronous generator function." +msgstr "" +"Вираз ``yield from `` є синтаксичною помилкою під час використання у " +"функції асинхронного генератора." + +msgid "Asynchronous generator-iterator methods" +msgstr "Методи асинхронного генератора-ітератора" + +msgid "" +"This subsection describes the methods of an asynchronous generator iterator, " +"which are used to control the execution of a generator function." +msgstr "" +"У цьому підрозділі описано методи ітератора асинхронного генератора, які " +"використовуються для керування виконанням функції генератора." + +msgid "" +"Returns an awaitable which when run starts to execute the asynchronous " +"generator or resumes it at the last executed yield expression. When an " +"asynchronous generator function is resumed with an :meth:`~agen.__anext__` " +"method, the current yield expression always evaluates to :const:`None` in " +"the returned awaitable, which when run will continue to the next yield " +"expression. The value of the :token:`~python-grammar:expression_list` of the " +"yield expression is the value of the :exc:`StopIteration` exception raised " +"by the completing coroutine. If the asynchronous generator exits without " +"yielding another value, the awaitable instead raises a :exc:" +"`StopAsyncIteration` exception, signalling that the asynchronous iteration " +"has completed." +msgstr "" +"Повертає awaitable, який під час запуску починає виконувати асинхронний " +"генератор або відновлює його після останнього виконаного виразу yield. Коли " +"функцію асинхронного генератора відновлено за допомогою методу :meth:`~agen." +"__anext__`, поточний вираз yield завжди обчислюється як :const:`None` у " +"поверненому очікуваному, який під час виконання продовжиться до наступного " +"виразу yield. Значення :token:`~python-grammar:expression_list` виразу yield " +"є значенням винятку :exc:`StopIteration`, викликаного завершальною " +"співпрограмою. Якщо асинхронний генератор завершує роботу, не видаючи іншого " +"значення, awaitable натомість викликає виняток :exc:`StopAsyncIteration`, " +"сигналізуючи, що асинхронну ітерацію завершено." + +msgid "" +"This method is normally called implicitly by a :keyword:`async for` loop." +msgstr "Цей метод зазвичай викликається неявно циклом :keyword:`async for`." + +msgid "" +"Returns an awaitable which when run resumes the execution of the " +"asynchronous generator. As with the :meth:`~generator.send()` method for a " +"generator, this \"sends\" a value into the asynchronous generator function, " +"and the *value* argument becomes the result of the current yield expression. " +"The awaitable returned by the :meth:`asend` method will return the next " +"value yielded by the generator as the value of the raised :exc:" +"`StopIteration`, or raises :exc:`StopAsyncIteration` if the asynchronous " +"generator exits without yielding another value. When :meth:`asend` is " +"called to start the asynchronous generator, it must be called with :const:" +"`None` as the argument, because there is no yield expression that could " +"receive the value." +msgstr "" +"Повертає awaitable, який після запуску відновлює виконання асинхронного " +"генератора. Як і у випадку з методом :meth:`~generator.send()` для " +"генератора, це \"надсилає\" значення у функцію асинхронного генератора, а " +"аргумент *value* стає результатом поточного виразу yield. Awaitable, " +"повернений методом :meth:`asend`, поверне наступне значення, отримане " +"генератором, як значення підвищеної :exc:`StopIteration`, або підвищить :exc:" +"`StopAsyncIteration`, якщо асинхронний генератор завершує роботу, не даючи " +"іншого. значення. Коли :meth:`asend` викликається для запуску асинхронного " +"генератора, його потрібно викликати з :const:`None` як аргументом, оскільки " +"немає виразу yield, який міг би отримати значення." + +msgid "" +"Returns an awaitable that raises an exception of type ``type`` at the point " +"where the asynchronous generator was paused, and returns the next value " +"yielded by the generator function as the value of the raised :exc:" +"`StopIteration` exception. If the asynchronous generator exits without " +"yielding another value, a :exc:`StopAsyncIteration` exception is raised by " +"the awaitable. If the generator function does not catch the passed-in " +"exception, or raises a different exception, then when the awaitable is run " +"that exception propagates to the caller of the awaitable." +msgstr "" +"Повертає awaitable, який викликає виняток типу ``type`` у точці, де " +"асинхронний генератор було призупинено, і повертає наступне значення, " +"отримане функцією генератора як значення викликаного винятку :exc:" +"`StopIteration`. Якщо асинхронний генератор завершує роботу, не видаючи " +"іншого значення, очікуваний виклик викликає виняток :exc:" +"`StopAsyncIteration`. Якщо функція генератора не перехоплює переданий " +"виняток або викликає інший виняток, тоді, коли виконується очікуваний, цей " +"виняток поширюється на виклик очікуваного." + +msgid "" +"Returns an awaitable that when run will throw a :exc:`GeneratorExit` into " +"the asynchronous generator function at the point where it was paused. If the " +"asynchronous generator function then exits gracefully, is already closed, or " +"raises :exc:`GeneratorExit` (by not catching the exception), then the " +"returned awaitable will raise a :exc:`StopIteration` exception. Any further " +"awaitables returned by subsequent calls to the asynchronous generator will " +"raise a :exc:`StopAsyncIteration` exception. If the asynchronous generator " +"yields a value, a :exc:`RuntimeError` is raised by the awaitable. If the " +"asynchronous generator raises any other exception, it is propagated to the " +"caller of the awaitable. If the asynchronous generator has already exited " +"due to an exception or normal exit, then further calls to :meth:`aclose` " +"will return an awaitable that does nothing." +msgstr "" +"Повертає awaitable, який під час виконання видає :exc:`GeneratorExit` у " +"функцію асинхронного генератора в точці, де її було призупинено. Якщо " +"функція асинхронного генератора завершує роботу належним чином, уже закрита " +"або викликає :exc:`GeneratorExit` (не перехоплюючи виняток), тоді повернутий " +"awaitable викличе виняток :exc:`StopIteration`. Будь-які подальші " +"очікування, повернуті наступними викликами асинхронного генератора, " +"викличуть виняток :exc:`StopAsyncIteration`. Якщо асинхронний генератор " +"видає значення, awaitable викликає :exc:`RuntimeError`. Якщо асинхронний " +"генератор викликає будь-який інший виняток, він поширюється на виклик " +"очікуваного. Якщо асинхронний генератор уже завершив роботу через виняток " +"або звичайний вихід, тоді подальші виклики :meth:`aclose` повернуть " +"очікуваний, який нічого не робить." + +msgid "Primaries" +msgstr "Праймеріз" + +msgid "" +"Primaries represent the most tightly bound operations of the language. Their " +"syntax is:" +msgstr "" +"Основні представляють найбільш тісно зв'язані операції мови. Їх синтаксис:" + +msgid "Attribute references" +msgstr "Посилання на атрибути" + +msgid "An attribute reference is a primary followed by a period and a name:" +msgstr "Посилання на атрибут є основним, за яким йдуть крапка та ім’я:" + +msgid "" +"The primary must evaluate to an object of a type that supports attribute " +"references, which most objects do. This object is then asked to produce the " +"attribute whose name is the identifier. This production can be customized " +"by overriding the :meth:`__getattr__` method. If this attribute is not " +"available, the exception :exc:`AttributeError` is raised. Otherwise, the " +"type and value of the object produced is determined by the object. Multiple " +"evaluations of the same attribute reference may yield different objects." +msgstr "" +"Первинний має обчислювати об’єкт типу, який підтримує посилання на атрибути, " +"що більшість об’єктів підтримує. Потім цього об’єкта просять створити " +"атрибут, ім’я якого є ідентифікатором. Цю продукцію можна налаштувати, " +"замінивши метод :meth:`__getattr__`. Якщо цей атрибут недоступний, виникає " +"виняток :exc:`AttributeError`. В іншому випадку тип і вартість виробленого " +"об'єкта визначаються об'єктом. Кілька оцінок одного посилання на атрибути " +"можуть давати різні об’єкти." + +msgid "Subscriptions" +msgstr "Підписки" + +msgid "" +"The subscription of an instance of a :ref:`container class ` " +"will generally select an element from the container. The subscription of a :" +"term:`generic class ` will generally return a :ref:" +"`GenericAlias ` object." +msgstr "" +"Підписка екземпляра :ref:`класу контейнера ` зазвичай " +"вибирає елемент із контейнера. Підписка :term:`загального класу ` зазвичай повертатиме об’єкт :ref:`GenericAlias `." + +msgid "" +"When an object is subscripted, the interpreter will evaluate the primary and " +"the expression list." +msgstr "" +"Коли об’єкт має індекс, інтерпретатор обчислить основний і список виразів." + +msgid "" +"The primary must evaluate to an object that supports subscription. An object " +"may support subscription through defining one or both of :meth:`~object." +"__getitem__` and :meth:`~object.__class_getitem__`. When the primary is " +"subscripted, the evaluated result of the expression list will be passed to " +"one of these methods. For more details on when ``__class_getitem__`` is " +"called instead of ``__getitem__``, see :ref:`classgetitem-versus-getitem`." +msgstr "" +"Основний має обчислювати об’єкт, який підтримує підписку. Об’єкт може " +"підтримувати підписку через визначення одного або обох :meth:`~object." +"__getitem__` і :meth:`~object.__class_getitem__`. Коли основний має індекс, " +"обчислений результат списку виразів буде передано одному з цих методів. Щоб " +"дізнатися більше про те, коли ``__class_getitem__`` викликається замість " +"``__getitem__``, перегляньте :ref:`classgetitem-versus-getitem`." + +msgid "" +"If the expression list contains at least one comma, it will evaluate to a :" +"class:`tuple` containing the items of the expression list. Otherwise, the " +"expression list will evaluate to the value of the list's sole member." +msgstr "" +"Якщо список виразів містить принаймні одну кому, він обчислиться як :class:" +"`tuple`, що містить елементи списку виразів. В іншому випадку список виразів " +"обчислюватиметься значенням єдиного члена списку." + +msgid "" +"For built-in objects, there are two types of objects that support " +"subscription via :meth:`~object.__getitem__`:" +msgstr "" +"Для вбудованих об’єктів є два типи об’єктів, які підтримують підписку через :" +"meth:`~object.__getitem__`:" + +msgid "" +"Mappings. If the primary is a :term:`mapping`, the expression list must " +"evaluate to an object whose value is one of the keys of the mapping, and the " +"subscription selects the value in the mapping that corresponds to that key. " +"An example of a builtin mapping class is the :class:`dict` class." +msgstr "" +"Відображення. Якщо основним є :term:`mapping`, список виразів має " +"обчислювати об’єкт, значення якого є одним із ключів відображення, а " +"підписка вибирає значення у відображенні, яке відповідає цьому ключу. " +"Прикладом вбудованого класу відображення є клас :class:`dict`." + +msgid "" +"Sequences. If the primary is a :term:`sequence`, the expression list must " +"evaluate to an :class:`int` or a :class:`slice` (as discussed in the " +"following section). Examples of builtin sequence classes include the :class:" +"`str`, :class:`list` and :class:`tuple` classes." +msgstr "" +"Послідовності. Якщо основним є :term:`sequence`, список виразів має " +"обчислюватися як :class:`int` або :class:`slice` (як описано в наступному " +"розділі). Приклади вбудованих класів послідовності включають класи :class:" +"`str`, :class:`list` і :class:`tuple`." + +msgid "" +"The formal syntax makes no special provision for negative indices in :term:" +"`sequences `. However, built-in sequences all provide a :meth:" +"`~object.__getitem__` method that interprets negative indices by adding the " +"length of the sequence to the index so that, for example, ``x[-1]`` selects " +"the last item of ``x``. The resulting value must be a nonnegative integer " +"less than the number of items in the sequence, and the subscription selects " +"the item whose index is that value (counting from zero). Since the support " +"for negative indices and slicing occurs in the object's :meth:`__getitem__` " +"method, subclasses overriding this method will need to explicitly add that " +"support." +msgstr "" +"Формальний синтаксис не містить спеціальних положень щодо від’ємних індексів " +"у :term:`послідовностях `. Однак усі вбудовані послідовності " +"забезпечують метод :meth:`~object.__getitem__`, який інтерпретує негативні " +"індекси, додаючи довжину послідовності до індексу, щоб, наприклад, ``x[-1]`` " +"вибирати останній елемент ``x``. Отримане значення має бути невід’ємним " +"цілим числом, меншим за кількість елементів у послідовності, і підписка " +"вибирає елемент, індекс якого є цим значенням (відлік від нуля). Оскільки " +"підтримка негативних індексів і нарізки відбувається в методі :meth:" +"`__getitem__` об’єкта, підкласи, які замінюють цей метод, повинні будуть " +"явно додати цю підтримку." + +msgid "" +"A :class:`string ` is a special kind of sequence whose items are " +"*characters*. A character is not a separate data type but a string of " +"exactly one character." +msgstr "" +":class:`string ` — це особливий вид послідовності, елементами якої є " +"*символи*. Символ — це не окремий тип даних, а рядок із рівно одного символу." + +msgid "Slicings" +msgstr "Нарізки" + +msgid "" +"A slicing selects a range of items in a sequence object (e.g., a string, " +"tuple or list). Slicings may be used as expressions or as targets in " +"assignment or :keyword:`del` statements. The syntax for a slicing:" +msgstr "" +"Нарізка вибирає діапазон елементів в об’єкті послідовності (наприклад, " +"рядок, кортеж або список). Зрізи можуть використовуватися як вирази або як " +"цілі в операторах призначення або :keyword:`del`. Синтаксис нарізки:" + +msgid "" +"There is ambiguity in the formal syntax here: anything that looks like an " +"expression list also looks like a slice list, so any subscription can be " +"interpreted as a slicing. Rather than further complicating the syntax, this " +"is disambiguated by defining that in this case the interpretation as a " +"subscription takes priority over the interpretation as a slicing (this is " +"the case if the slice list contains no proper slice)." +msgstr "" +"Тут існує неоднозначність у формальному синтаксисі: все, що виглядає як " +"список виразів, також виглядає як список фрагментів, тому будь-яку підписку " +"можна інтерпретувати як фрагмент. Замість подальшого ускладнення синтаксису, " +"це усувається визначенням того, що в цьому випадку інтерпретація як підписка " +"має пріоритет над інтерпретацією як нарізка (це випадок, якщо список зрізів " +"не містить належного зрізу)." + +msgid "" +"The semantics for a slicing are as follows. The primary is indexed (using " +"the same :meth:`__getitem__` method as normal subscription) with a key that " +"is constructed from the slice list, as follows. If the slice list contains " +"at least one comma, the key is a tuple containing the conversion of the " +"slice items; otherwise, the conversion of the lone slice item is the key. " +"The conversion of a slice item that is an expression is that expression. " +"The conversion of a proper slice is a slice object (see section :ref:" +"`types`) whose :attr:`~slice.start`, :attr:`~slice.stop` and :attr:`~slice." +"step` attributes are the values of the expressions given as lower bound, " +"upper bound and stride, respectively, substituting ``None`` for missing " +"expressions." +msgstr "" +"Семантика нарізки така. Основний індексується (використовуючи той самий " +"метод :meth:`__getitem__`, що й звичайна підписка) за допомогою ключа, " +"створеного зі списку фрагментів, як показано нижче. Якщо список фрагментів " +"містить принаймні одну кому, ключ є кортежем, що містить перетворення " +"елементів фрагмента; в іншому випадку ключовим є перетворення елемента " +"окремого фрагмента. Перетворення елемента фрагмента, який є виразом, є цим " +"виразом. Перетворення правильного фрагмента є об’єктом фрагмента (див. " +"розділ :ref:`types`), у якого :attr:`~slice.start`, :attr:`~slice.stop` і :" +"attr:`~slice.step` Атрибути — це значення виразів, поданих як нижня межа, " +"верхня межа та крок, відповідно, замінюючи відсутні вирази на ``None``." + +msgid "Calls" +msgstr "Дзвінки" + +msgid "" +"A call calls a callable object (e.g., a :term:`function`) with a possibly " +"empty series of :term:`arguments `:" +msgstr "" +"Виклик викликає об’єкт, який можна викликати (наприклад, :term:`function`) з " +"можливо порожньою серією :term:`аргументів `:" + +msgid "" +"An optional trailing comma may be present after the positional and keyword " +"arguments but does not affect the semantics." +msgstr "" +"Необов’язкова кінцева кома може бути присутнім після позиційних і ключових " +"аргументів, але не впливає на семантику." + +msgid "" +"The primary must evaluate to a callable object (user-defined functions, " +"built-in functions, methods of built-in objects, class objects, methods of " +"class instances, and all objects having a :meth:`__call__` method are " +"callable). All argument expressions are evaluated before the call is " +"attempted. Please refer to section :ref:`function` for the syntax of " +"formal :term:`parameter` lists." +msgstr "" +"Основний має обчислювати об’єкт, який можна викликати (визначені " +"користувачем функції, вбудовані функції, методи вбудованих об’єктів, об’єкти " +"класу, методи екземплярів класу та всі об’єкти, що мають метод :meth:" +"`__call__`, є викликаними). Усі вирази аргументів оцінюються перед спробою " +"виклику. Зверніться до розділу :ref:`function` щодо синтаксису формальних " +"списків :term:`parameter`." + +msgid "" +"If keyword arguments are present, they are first converted to positional " +"arguments, as follows. First, a list of unfilled slots is created for the " +"formal parameters. If there are N positional arguments, they are placed in " +"the first N slots. Next, for each keyword argument, the identifier is used " +"to determine the corresponding slot (if the identifier is the same as the " +"first formal parameter name, the first slot is used, and so on). If the " +"slot is already filled, a :exc:`TypeError` exception is raised. Otherwise, " +"the argument is placed in the slot, filling it (even if the expression is " +"``None``, it fills the slot). When all arguments have been processed, the " +"slots that are still unfilled are filled with the corresponding default " +"value from the function definition. (Default values are calculated, once, " +"when the function is defined; thus, a mutable object such as a list or " +"dictionary used as default value will be shared by all calls that don't " +"specify an argument value for the corresponding slot; this should usually be " +"avoided.) If there are any unfilled slots for which no default value is " +"specified, a :exc:`TypeError` exception is raised. Otherwise, the list of " +"filled slots is used as the argument list for the call." +msgstr "" + +msgid "" +"An implementation may provide built-in functions whose positional parameters " +"do not have names, even if they are 'named' for the purpose of " +"documentation, and which therefore cannot be supplied by keyword. In " +"CPython, this is the case for functions implemented in C that use :c:func:" +"`PyArg_ParseTuple` to parse their arguments." +msgstr "" +"Реалізація може надавати вбудовані функції, чиї позиційні параметри не мають " +"імен, навіть якщо вони \"іменовані\" з метою документації, і які, отже, не " +"можуть бути надані за ключовими словами. У CPython це стосується функцій, " +"реалізованих у C, які використовують :c:func:`PyArg_ParseTuple` для аналізу " +"своїх аргументів." + +msgid "" +"If there are more positional arguments than there are formal parameter " +"slots, a :exc:`TypeError` exception is raised, unless a formal parameter " +"using the syntax ``*identifier`` is present; in this case, that formal " +"parameter receives a tuple containing the excess positional arguments (or an " +"empty tuple if there were no excess positional arguments)." +msgstr "" +"Якщо позиційних аргументів більше, ніж слотів формальних параметрів, виникає " +"виняток :exc:`TypeError`, якщо не існує формального параметра, що " +"використовує синтаксис ``*identifier``; у цьому випадку формальний параметр " +"отримує кортеж, що містить зайві позиційні аргументи (або порожній кортеж, " +"якщо надлишкових позиційних аргументів не було)." + +msgid "" +"If any keyword argument does not correspond to a formal parameter name, a :" +"exc:`TypeError` exception is raised, unless a formal parameter using the " +"syntax ``**identifier`` is present; in this case, that formal parameter " +"receives a dictionary containing the excess keyword arguments (using the " +"keywords as keys and the argument values as corresponding values), or a " +"(new) empty dictionary if there were no excess keyword arguments." +msgstr "" +"Якщо будь-який аргумент ключового слова не відповідає офіційній назві " +"параметра, виникає виняток :exc:`TypeError`, якщо не існує формального " +"параметра, що використовує синтаксис ``**ідентифікатор``; у цьому випадку " +"формальний параметр отримує словник, що містить надлишкові аргументи " +"ключового слова (з використанням ключових слів як ключів і значень " +"аргументів як відповідних значень), або (новий) порожній словник, якщо не " +"було надлишкових аргументів ключового слова." + +msgid "" +"If the syntax ``*expression`` appears in the function call, ``expression`` " +"must evaluate to an :term:`iterable`. Elements from these iterables are " +"treated as if they were additional positional arguments. For the call " +"``f(x1, x2, *y, x3, x4)``, if *y* evaluates to a sequence *y1*, ..., *yM*, " +"this is equivalent to a call with M+4 positional arguments *x1*, *x2*, " +"*y1*, ..., *yM*, *x3*, *x4*." +msgstr "" +"Якщо у виклику функції з’являється синтаксис ``*expression``, ``expression`` " +"має обчислюватися як :term:`iterable`. Елементи з цих ітерованих елементів " +"розглядаються як додаткові позиційні аргументи. Для виклику ``f(x1, x2, *y, " +"x3, x4)``, якщо *y* обчислюється як послідовність *y1*, ..., *yM*, це " +"еквівалентно виклику з M+ 4 позиційні аргументи *x1*, *x2*, *y1*, ..., *yM*, " +"*x3*, *x4*." + +msgid "" +"A consequence of this is that although the ``*expression`` syntax may appear " +"*after* explicit keyword arguments, it is processed *before* the keyword " +"arguments (and any ``**expression`` arguments -- see below). So::" +msgstr "" +"Наслідком цього є те, що хоча синтаксис ``*виразу`` може з’явитися *після* " +"явних аргументів ключового слова, він обробляється *перед* аргументами " +"ключового слова (та будь-якими аргументами ``**виразу`` – див. нижче). Тому::" + +msgid "" +"It is unusual for both keyword arguments and the ``*expression`` syntax to " +"be used in the same call, so in practice this confusion does not often arise." +msgstr "" + +msgid "" +"If the syntax ``**expression`` appears in the function call, ``expression`` " +"must evaluate to a :term:`mapping`, the contents of which are treated as " +"additional keyword arguments. If a parameter matching a key has already been " +"given a value (by an explicit keyword argument, or from another unpacking), " +"a :exc:`TypeError` exception is raised." +msgstr "" + +msgid "" +"When ``**expression`` is used, each key in this mapping must be a string. " +"Each value from the mapping is assigned to the first formal parameter " +"eligible for keyword assignment whose name is equal to the key. A key need " +"not be a Python identifier (e.g. ``\"max-temp °F\"`` is acceptable, although " +"it will not match any formal parameter that could be declared). If there is " +"no match to a formal parameter the key-value pair is collected by the ``**`` " +"parameter, if there is one, or if there is not, a :exc:`TypeError` exception " +"is raised." +msgstr "" + +msgid "" +"Formal parameters using the syntax ``*identifier`` or ``**identifier`` " +"cannot be used as positional argument slots or as keyword argument names." +msgstr "" +"Формальні параметри, що використовують синтаксис ``*ідентифікатор`` або " +"``**ідентифікатор``, не можуть використовуватися як слоти позиційних " +"аргументів або як імена аргументів ключових слів." + +msgid "" +"Function calls accept any number of ``*`` and ``**`` unpackings, positional " +"arguments may follow iterable unpackings (``*``), and keyword arguments may " +"follow dictionary unpackings (``**``). Originally proposed by :pep:`448`." +msgstr "" +"Виклики функцій приймають будь-яку кількість розпакувань ``*`` і ``**``, " +"позиційні аргументи можуть слідувати за ітерованими розпакуваннями (``*``), " +"а аргументи ключових слів можуть слідувати за розпакуваннями словника " +"(``**``). Спочатку запропоновано :pep:`448`." + +msgid "" +"A call always returns some value, possibly ``None``, unless it raises an " +"exception. How this value is computed depends on the type of the callable " +"object." +msgstr "" +"Виклик завжди повертає певне значення, можливо, ``None``, якщо тільки це не " +"викликає виняткову ситуацію. Спосіб обчислення цього значення залежить від " +"типу викликаного об’єкта." + +msgid "If it is---" +msgstr "Якщо це---" + +msgid "a user-defined function:" +msgstr "функція, визначена користувачем:" + +msgid "" +"The code block for the function is executed, passing it the argument list. " +"The first thing the code block will do is bind the formal parameters to the " +"arguments; this is described in section :ref:`function`. When the code " +"block executes a :keyword:`return` statement, this specifies the return " +"value of the function call." +msgstr "" +"Блок коду для функції виконується, передаючи їй список аргументів. Перше, що " +"зробить блок коду, це прив’яже формальні параметри до аргументів; це описано " +"в розділі :ref:`function`. Коли блок коду виконує оператор :keyword:" +"`return`, це визначає значення, що повертається викликом функції." + +msgid "a built-in function or method:" +msgstr "вбудована функція або метод:" + +msgid "" +"The result is up to the interpreter; see :ref:`built-in-funcs` for the " +"descriptions of built-in functions and methods." +msgstr "" +"Результат залежить від перекладача; див. :ref:`built-in-funcs` для опису " +"вбудованих функцій і методів." + +msgid "a class object:" +msgstr "об'єкт класу:" + +msgid "A new instance of that class is returned." +msgstr "Повертається новий екземпляр цього класу." + +msgid "a class instance method:" +msgstr "метод екземпляра класу:" + +msgid "" +"The corresponding user-defined function is called, with an argument list " +"that is one longer than the argument list of the call: the instance becomes " +"the first argument." +msgstr "" +"Викликається відповідна функція, визначена користувачем, зі списком " +"аргументів, який на один довший за список аргументів виклику: екземпляр стає " +"першим аргументом." + +msgid "a class instance:" +msgstr "екземпляр класу:" + +msgid "" +"The class must define a :meth:`__call__` method; the effect is then the same " +"as if that method was called." +msgstr "" +"Клас повинен визначати метод :meth:`__call__`; тоді ефект буде таким самим, " +"якби цей метод був викликаний." + +msgid "Await expression" +msgstr "Очікуйте вираження" + +msgid "" +"Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " +"Can only be used inside a :term:`coroutine function`." +msgstr "" +"Призупинити виконання :term:`coroutine` на об’єкті :term:`awaitable`. Можна " +"використовувати лише всередині функції співпрограми (:term:`coroutine " +"function`)." + +msgid "The power operator" +msgstr "Оператор енергетики" + +msgid "" +"The power operator binds more tightly than unary operators on its left; it " +"binds less tightly than unary operators on its right. The syntax is:" +msgstr "" +"Потужний оператор прив’язується сильніше, ніж унарні оператори зліва; він " +"зв'язується менш тісно, ніж унарні оператори справа. Синтаксис:" + +msgid "" +"Thus, in an unparenthesized sequence of power and unary operators, the " +"operators are evaluated from right to left (this does not constrain the " +"evaluation order for the operands): ``-1**2`` results in ``-1``." +msgstr "" +"Таким чином, у послідовності степеневих і унарних операторів без дужок " +"оператори обчислюються справа наліво (це не обмежує порядок обчислення для " +"операндів): ``-1**2`` призводить до ``-1`` ." + +msgid "" +"The power operator has the same semantics as the built-in :func:`pow` " +"function, when called with two arguments: it yields its left argument raised " +"to the power of its right argument. The numeric arguments are first " +"converted to a common type, and the result is of that type." +msgstr "" +"Оператор ступеня має таку саму семантику, як і вбудована функція :func:" +"`pow`, коли викликається з двома аргументами: він повертає свій лівий " +"аргумент, зведений до степеня правого аргументу. Числові аргументи спочатку " +"перетворюються на загальний тип, і результат має відповідний тип." + +msgid "" +"For int operands, the result has the same type as the operands unless the " +"second argument is negative; in that case, all arguments are converted to " +"float and a float result is delivered. For example, ``10**2`` returns " +"``100``, but ``10**-2`` returns ``0.01``." +msgstr "" +"Для операндів int результат має той самий тип, що й операнди, якщо другий " +"аргумент не є від’ємним; у цьому випадку всі аргументи перетворюються на " +"значення float і видає результат float. Наприклад, ``10**2`` повертає " +"``100``, а ``10**-2`` повертає ``0,01``." + +msgid "" +"Raising ``0.0`` to a negative power results in a :exc:`ZeroDivisionError`. " +"Raising a negative number to a fractional power results in a :class:" +"`complex` number. (In earlier versions it raised a :exc:`ValueError`.)" +msgstr "" +"Піднесення ``0.0`` до негативного степеня призводить до :exc:" +"`ZeroDivisionError`. Зведення від’ємного числа до дробового степеня " +"призводить до :class:`complex` числа. (У попередніх версіях це викликало :" +"exc:`ValueError`.)" + +msgid "" +"This operation can be customized using the special :meth:`__pow__` method." +msgstr "" +"Цю операцію можна налаштувати за допомогою спеціального методу :meth:" +"`__pow__`." + +msgid "Unary arithmetic and bitwise operations" +msgstr "Унарні арифметичні та порозрядні операції" + +msgid "All unary arithmetic and bitwise operations have the same priority:" +msgstr "" +"Усі унарні арифметичні та порозрядні операції мають однаковий пріоритет:" + +msgid "" +"The unary ``-`` (minus) operator yields the negation of its numeric " +"argument; the operation can be overridden with the :meth:`__neg__` special " +"method." +msgstr "" +"Унарний оператор ``-`` (мінус) дає заперечення свого числового аргументу; " +"операцію можна перевизначити спеціальним методом :meth:`__neg__`." + +msgid "" +"The unary ``+`` (plus) operator yields its numeric argument unchanged; the " +"operation can be overridden with the :meth:`__pos__` special method." +msgstr "" +"Унарний оператор ``+`` (плюс) повертає свій числовий аргумент без змін; " +"операцію можна перевизначити спеціальним методом :meth:`__pos__`." + +msgid "" +"The unary ``~`` (invert) operator yields the bitwise inversion of its " +"integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " +"It only applies to integral numbers or to custom objects that override the :" +"meth:`__invert__` special method." +msgstr "" +"Унарний оператор ``~`` (інвертування) дає порозрядну інверсію свого " +"цілочисельного аргументу. Побітова інверсія ``x`` визначається як ``-(x" +"+1)``. Це стосується лише цілих чисел або користувацьких об’єктів, які " +"замінюють спеціальний метод :meth:`__invert__`." + +msgid "" +"In all three cases, if the argument does not have the proper type, a :exc:" +"`TypeError` exception is raised." +msgstr "" +"В усіх трьох випадках, якщо аргумент не має належного типу, виникає виняток :" +"exc:`TypeError`." + +msgid "Binary arithmetic operations" +msgstr "Двійкові арифметичні операції" + +msgid "" +"The binary arithmetic operations have the conventional priority levels. " +"Note that some of these operations also apply to certain non-numeric types. " +"Apart from the power operator, there are only two levels, one for " +"multiplicative operators and one for additive operators:" +msgstr "" +"Двійкові арифметичні операції мають загальноприйняті рівні пріоритету. " +"Зверніть увагу, що деякі з цих операцій також застосовуються до певних " +"нечислових типів. Окрім оператора степеня, існує лише два рівні: один для " +"мультиплікативних операторів і один для адитивних операторів:" + +msgid "" +"The ``*`` (multiplication) operator yields the product of its arguments. " +"The arguments must either both be numbers, or one argument must be an " +"integer and the other must be a sequence. In the former case, the numbers " +"are converted to a common type and then multiplied together. In the latter " +"case, sequence repetition is performed; a negative repetition factor yields " +"an empty sequence." +msgstr "" +"Оператор ``*`` (множення) повертає добуток своїх аргументів. Обидва " +"аргументи мають бути числами, або один аргумент має бути цілим числом, а " +"інший — послідовністю. У першому випадку числа перетворюються на загальний " +"тип, а потім перемножуються. В останньому випадку виконується повторення " +"послідовності; негативний коефіцієнт повторення дає порожню послідовність." + +msgid "" +"This operation can be customized using the special :meth:`__mul__` and :meth:" +"`__rmul__` methods." +msgstr "" +"Цю операцію можна налаштувати за допомогою спеціальних методів :meth:" +"`__mul__` і :meth:`__rmul__`." + +msgid "" +"The ``@`` (at) operator is intended to be used for matrix multiplication. " +"No builtin Python types implement this operator." +msgstr "" +"Оператор ``@`` (at) призначений для використання для множення матриці. Жодні " +"вбудовані типи Python не реалізують цей оператор." + +msgid "" +"The ``/`` (division) and ``//`` (floor division) operators yield the " +"quotient of their arguments. The numeric arguments are first converted to a " +"common type. Division of integers yields a float, while floor division of " +"integers results in an integer; the result is that of mathematical division " +"with the 'floor' function applied to the result. Division by zero raises " +"the :exc:`ZeroDivisionError` exception." +msgstr "" +"Оператори ``/`` (поділ) і ``//`` (поділ на поверх) видають приватне своїх " +"аргументів. Числові аргументи спочатку перетворюються на загальний тип. " +"Ділення цілих чисел дає значення з плаваючою точкою, а поділення цілих чисел " +"дає ціле число; результатом є математичне ділення із застосованою до " +"результату функцією \"підлога\". Ділення на нуль викликає виключення :exc:" +"`ZeroDivisionError`." + +msgid "" +"This operation can be customized using the special :meth:`__truediv__` and :" +"meth:`__floordiv__` methods." +msgstr "" +"Цю операцію можна налаштувати за допомогою спеціальних методів :meth:" +"`__truediv__` і :meth:`__floordiv__`." + +msgid "" +"The ``%`` (modulo) operator yields the remainder from the division of the " +"first argument by the second. The numeric arguments are first converted to " +"a common type. A zero right argument raises the :exc:`ZeroDivisionError` " +"exception. The arguments may be floating point numbers, e.g., ``3.14%0.7`` " +"equals ``0.34`` (since ``3.14`` equals ``4*0.7 + 0.34``.) The modulo " +"operator always yields a result with the same sign as its second operand (or " +"zero); the absolute value of the result is strictly smaller than the " +"absolute value of the second operand [#]_." +msgstr "" +"Оператор ``%`` (по модулю) дає залишок від ділення першого аргументу на " +"другий. Числові аргументи спочатку перетворюються на загальний тип. Нульовий " +"правий аргумент викликає виняток :exc:`ZeroDivisionError`. Аргументи можуть " +"бути числами з плаваючою комою, наприклад, \"3,14%0,7\" дорівнює " +"\"0,34\" (оскільки \"3,14\" дорівнює \"4*0,7 + 0,34\"). Оператор модуля " +"завжди дає результат із той же знак, що і його другий операнд (або нуль); " +"абсолютне значення результату строго менше, ніж абсолютне значення другого " +"операнда [#]_." + +msgid "" +"The floor division and modulo operators are connected by the following " +"identity: ``x == (x//y)*y + (x%y)``. Floor division and modulo are also " +"connected with the built-in function :func:`divmod`: ``divmod(x, y) == (x//" +"y, x%y)``. [#]_." +msgstr "" +"Оператори поділу поверху та модульні оператори з’єднані такою тотожністю: " +"``x == (x//y)*y + (x%y)``. Поділ на поверх і модуль також пов’язані з " +"вбудованою функцією :func:`divmod`: ``divmod(x, y) == (x//y, x%y)``. [#]_." + +msgid "" +"In addition to performing the modulo operation on numbers, the ``%`` " +"operator is also overloaded by string objects to perform old-style string " +"formatting (also known as interpolation). The syntax for string formatting " +"is described in the Python Library Reference, section :ref:`old-string-" +"formatting`." +msgstr "" +"На додаток до виконання операції за модулем над числами, оператор ``%`` " +"також перевантажується рядковими об’єктами для виконання старого " +"форматування рядків (також відомого як інтерполяція). Синтаксис для " +"форматування рядків описано в Довіднику з бібліотеки Python, розділ :ref:" +"`old-string-formatting`." + +msgid "" +"The *modulo* operation can be customized using the special :meth:`__mod__` " +"method." +msgstr "" +"Операцію *modulo* можна налаштувати за допомогою спеціального методу :meth:" +"`__mod__`." + +msgid "" +"The floor division operator, the modulo operator, and the :func:`divmod` " +"function are not defined for complex numbers. Instead, convert to a " +"floating point number using the :func:`abs` function if appropriate." +msgstr "" +"Оператор поверхового ділення, оператор модуля та функція :func:`divmod` не " +"визначені для комплексних чисел. Замість цього перетворіть на число з " +"плаваючою комою за допомогою функції :func:`abs`, якщо потрібно." + +msgid "" +"The ``+`` (addition) operator yields the sum of its arguments. The " +"arguments must either both be numbers or both be sequences of the same " +"type. In the former case, the numbers are converted to a common type and " +"then added together. In the latter case, the sequences are concatenated." +msgstr "" +"Оператор ``+`` (додавання) повертає суму своїх аргументів. Обидва аргументи " +"мають бути числами або обома послідовностями одного типу. У першому випадку " +"числа перетворюються на загальний тип, а потім сумуються. В останньому " +"випадку послідовності об’єднані." + +msgid "" +"This operation can be customized using the special :meth:`__add__` and :meth:" +"`__radd__` methods." +msgstr "" +"Цю операцію можна налаштувати за допомогою спеціальних методів :meth:" +"`__add__` і :meth:`__radd__`." + +msgid "" +"The ``-`` (subtraction) operator yields the difference of its arguments. " +"The numeric arguments are first converted to a common type." +msgstr "" +"Оператор ``-`` (віднімання) повертає різницю своїх аргументів. Числові " +"аргументи спочатку перетворюються на загальний тип." + +msgid "" +"This operation can be customized using the special :meth:`__sub__` method." +msgstr "" +"Цю операцію можна налаштувати за допомогою спеціального методу :meth:" +"`__sub__`." + +msgid "Shifting operations" +msgstr "Змінні операції" + +msgid "" +"The shifting operations have lower priority than the arithmetic operations:" +msgstr "Операції зсуву мають нижчий пріоритет, ніж арифметичні операції:" + +msgid "" +"These operators accept integers as arguments. They shift the first argument " +"to the left or right by the number of bits given by the second argument." +msgstr "" +"Ці оператори приймають цілі числа як аргументи. Вони зсувають перший " +"аргумент вліво або вправо на кількість бітів, задану другим аргументом." + +msgid "" +"This operation can be customized using the special :meth:`__lshift__` and :" +"meth:`__rshift__` methods." +msgstr "" +"Цю операцію можна налаштувати за допомогою спеціальних методів :meth:" +"`__lshift__` і :meth:`__rshift__`." + +msgid "" +"A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " +"left shift by *n* bits is defined as multiplication with ``pow(2,n)``." +msgstr "" +"Зсув праворуч на *n* бітів визначається як нижнє ділення на ``pow(2,n)``. " +"Зсув ліворуч на *n* бітів визначається як множення на ``pow(2,n)``." + +msgid "Binary bitwise operations" +msgstr "Бінарні побітові операції" + +msgid "Each of the three bitwise operations has a different priority level:" +msgstr "Кожна з трьох побітових операцій має різний рівень пріоритету:" + +msgid "" +"The ``&`` operator yields the bitwise AND of its arguments, which must be " +"integers or one of them must be a custom object overriding :meth:`__and__` " +"or :meth:`__rand__` special methods." +msgstr "" +"Оператор ``&`` повертає порозрядне І своїх аргументів, які мають бути цілими " +"числами або один із них має бути спеціальним об’єктом, що перекриває " +"спеціальні методи :meth:`__and__` або :meth:`__rand__`." + +msgid "" +"The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " +"which must be integers or one of them must be a custom object overriding :" +"meth:`__xor__` or :meth:`__rxor__` special methods." +msgstr "" +"Оператор ``^`` повертає порозрядне XOR (виключаюче АБО) своїх аргументів, " +"які мають бути цілими числами або один із них має бути спеціальним об’єктом, " +"що перекриває спеціальні методи :meth:`__xor__` або :meth:`__rxor__`." + +msgid "" +"The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " +"must be integers or one of them must be a custom object overriding :meth:" +"`__or__` or :meth:`__ror__` special methods." +msgstr "" +"Оператор ``|`` повертає порозрядне (включне) АБО своїх аргументів, які мають " +"бути цілими числами або один із них має бути спеціальним об’єктом, що " +"перекриває спеціальні методи :meth:`__or__` або :meth:`__ror__`." + +msgid "Comparisons" +msgstr "Порівняння" + +msgid "" +"Unlike C, all comparison operations in Python have the same priority, which " +"is lower than that of any arithmetic, shifting or bitwise operation. Also " +"unlike C, expressions like ``a < b < c`` have the interpretation that is " +"conventional in mathematics:" +msgstr "" +"На відміну від C, усі операції порівняння в Python мають однаковий " +"пріоритет, який нижчий, ніж у будь-якої арифметичної операції, операції " +"зсуву чи побітової операції. Крім того, на відміну від C, такі вирази, як " +"``a < b < c``, мають тлумачення, яке є звичайним у математиці:" + +msgid "" +"Comparisons yield boolean values: ``True`` or ``False``. Custom :dfn:`rich " +"comparison methods` may return non-boolean values. In this case Python will " +"call :func:`bool` on such value in boolean contexts." +msgstr "" +"Порівняння дають логічні значення: ``True`` або ``False``. Спеціальні :dfn:" +"`rich comparison methods` можуть повертати не логічні значення. У цьому " +"випадку Python викличе :func:`bool` для такого значення в логічних " +"контекстах." + +msgid "" +"Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent " +"to ``x < y and y <= z``, except that ``y`` is evaluated only once (but in " +"both cases ``z`` is not evaluated at all when ``x < y`` is found to be " +"false)." +msgstr "" +"Порівняння можна довільно об’єднати в ланцюжок, наприклад, ``x < y <= z`` " +"еквівалентно ``x < y і y <= z``, за винятком того, що ``y`` обчислюється " +"лише один раз (але в обох випадках ``z`` взагалі не обчислюється, якщо ``x < " +"y`` виявляється хибним)." + +msgid "" +"Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, " +"*op2*, ..., *opN* are comparison operators, then ``a op1 b op2 c ... y opN " +"z`` is equivalent to ``a op1 b and b op2 c and ... y opN z``, except that " +"each expression is evaluated at most once." +msgstr "" +"Формально, якщо *a*, *b*, *c*, ..., *y*, *z* є виразами, а *op1*, " +"*op2*, ..., *opN* є операторами порівняння, тоді ``a op1 b op2 c ... y opN " +"z`` еквівалентний ``a op1 b і b op2 c і ... y opN z``, за винятком того, що " +"кожен вираз обчислюється щонайбільше один раз." + +msgid "" +"Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a* " +"and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not " +"pretty)." +msgstr "" +"Зауважте, що ``a op1 b op2 c`` не передбачає жодного порівняння між *a* і " +"*c*, тому, наприклад, ``x < y > z`` є абсолютно законним (хоча, можливо, не " +"дуже)." + +msgid "Value comparisons" +msgstr "Порівняння цінностей" + +msgid "" +"The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " +"values of two objects. The objects do not need to have the same type." +msgstr "" +"Оператори ``<``, ``>``, ``==``, ``>=``, ``<=`` і ``!=`` порівнюють значення " +"двох об’єктів. Об’єкти не обов’язково мають однаковий тип." + +msgid "" +"Chapter :ref:`objects` states that objects have a value (in addition to type " +"and identity). The value of an object is a rather abstract notion in " +"Python: For example, there is no canonical access method for an object's " +"value. Also, there is no requirement that the value of an object should be " +"constructed in a particular way, e.g. comprised of all its data attributes. " +"Comparison operators implement a particular notion of what the value of an " +"object is. One can think of them as defining the value of an object " +"indirectly, by means of their comparison implementation." +msgstr "" +"У розділі :ref:`objects` зазначено, що об’єкти мають значення (крім типу та " +"ідентичності). Значення об’єкта є досить абстрактним поняттям у Python: " +"наприклад, не існує канонічного методу доступу до значення об’єкта. Крім " +"того, немає вимоги, щоб значення об’єкта було сконструйовано певним чином, " +"напр. складається з усіх своїх атрибутів даних. Оператори порівняння " +"реалізують певне уявлення про цінність об’єкта. Можна думати про них як про " +"визначення значення об’єкта опосередковано, за допомогою реалізації " +"порівняння." + +msgid "" +"Because all types are (direct or indirect) subtypes of :class:`object`, they " +"inherit the default comparison behavior from :class:`object`. Types can " +"customize their comparison behavior by implementing :dfn:`rich comparison " +"methods` like :meth:`__lt__`, described in :ref:`customization`." +msgstr "" +"Оскільки всі типи є (прямими чи непрямими) підтипами :class:`object`, вони " +"успадковують типову поведінку порівняння від :class:`object`. Типи можуть " +"налаштувати свою поведінку порівняння, реалізувавши :dfn:`багаті методи " +"порівняння`, такі як :meth:`__lt__`, описані в :ref:`customization`." + +msgid "" +"The default behavior for equality comparison (``==`` and ``!=``) is based on " +"the identity of the objects. Hence, equality comparison of instances with " +"the same identity results in equality, and equality comparison of instances " +"with different identities results in inequality. A motivation for this " +"default behavior is the desire that all objects should be reflexive (i.e. " +"``x is y`` implies ``x == y``)." +msgstr "" +"Поведінка за умовчанням для порівняння рівності (``==`` і ``!=``) базується " +"на ідентичності об’єктів. Отже, порівняння рівності екземплярів з однаковою " +"тотожністю призводить до рівності, а порівняння рівності екземплярів з " +"різними ідентичністями призводить до нерівності. Мотивацією такої поведінки " +"за замовчуванням є бажання, щоб усі об’єкти були рефлексивними (тобто ``x є " +"y`` означає ``x == y``)." + +msgid "" +"A default order comparison (``<``, ``>``, ``<=``, and ``>=``) is not " +"provided; an attempt raises :exc:`TypeError`. A motivation for this default " +"behavior is the lack of a similar invariant as for equality." +msgstr "" +"Порівняння порядку за замовчуванням (``<``, ``>``, ``<=``, and ``> =``) не " +"надається; спроба викликає :exc:`TypeError`. Мотивацією такої поведінки за " +"замовчуванням є відсутність аналогічного інваріанта, як для рівності." + +msgid "" +"The behavior of the default equality comparison, that instances with " +"different identities are always unequal, may be in contrast to what types " +"will need that have a sensible definition of object value and value-based " +"equality. Such types will need to customize their comparison behavior, and " +"in fact, a number of built-in types have done that." +msgstr "" +"Поведінка порівняння рівності за замовчуванням, тобто екземпляри з різними " +"ідентифікаторами завжди нерівні, може відрізнятися від того, які типи " +"потребуватимуть розумного визначення значення об’єкта та рівності на основі " +"значення. Таким типам потрібно буде налаштувати свою поведінку порівняння, і " +"насправді це зробили кілька вбудованих типів." + +msgid "" +"The following list describes the comparison behavior of the most important " +"built-in types." +msgstr "" +"У наведеному нижче списку описано поведінку порівняння найважливіших " +"вбудованих типів." + +msgid "" +"Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " +"library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " +"be compared within and across their types, with the restriction that complex " +"numbers do not support order comparison. Within the limits of the types " +"involved, they compare mathematically (algorithmically) correct without loss " +"of precision." +msgstr "" +"Числа вбудованих числових типів (:ref:`typesnumeric`) і стандартних " +"бібліотечних типів :class:`fractions.Fraction` і :class:`decimal.Decimal` " +"можна порівнювати всередині та між типами, з обмеженням що комплексні числа " +"не підтримують порівняння порядку. У межах залучених типів вони порівнюють " +"математично (алгоритмічно) правильно без втрати точності." + +msgid "" +"The not-a-number values ``float('NaN')`` and ``decimal.Decimal('NaN')`` are " +"special. Any ordered comparison of a number to a not-a-number value is " +"false. A counter-intuitive implication is that not-a-number values are not " +"equal to themselves. For example, if ``x = float('NaN')``, ``3 < x``, ``x < " +"3`` and ``x == x`` are all false, while ``x != x`` is true. This behavior " +"is compliant with IEEE 754." +msgstr "" +"Нечислові значення ``float('NaN')`` і ``decimal.Decimal('NaN')`` є " +"спеціальними. Будь-яке впорядковане порівняння числа з нечисловим значенням " +"є хибним. Протиінтуїтивний висновок полягає в тому, що нечислові значення не " +"дорівнюють самі собі. Наприклад, якщо ``x = float('NaN')``, ``3 < x``, ``x < " +"3`` і ``x == x`` є помилковими, тоді як ``x ! = x`` вірно. Така поведінка " +"відповідає стандарту IEEE 754." + +msgid "" +"``None`` and ``NotImplemented`` are singletons. :PEP:`8` advises that " +"comparisons for singletons should always be done with ``is`` or ``is not``, " +"never the equality operators." +msgstr "" +"``None`` і ``NotImplemented`` є одиночними елементами. :PEP:`8` радить, що " +"порівняння одиночних елементів завжди слід виконувати за допомогою ``is`` " +"або ``is not``, а не операторів рівності." + +msgid "" +"Binary sequences (instances of :class:`bytes` or :class:`bytearray`) can be " +"compared within and across their types. They compare lexicographically " +"using the numeric values of their elements." +msgstr "" +"Двійкові послідовності (екземпляри :class:`bytes` або :class:`bytearray`) " +"можна порівнювати всередині та між типами. Вони порівнюють лексикографічно, " +"використовуючи числові значення своїх елементів." + +msgid "" +"Strings (instances of :class:`str`) compare lexicographically using the " +"numerical Unicode code points (the result of the built-in function :func:" +"`ord`) of their characters. [#]_" +msgstr "" +"Рядки (примірники :class:`str`) порівнюються лексикографічно за допомогою " +"числових кодових точок Unicode (результат вбудованої функції :func:`ord`) " +"їхніх символів. [#]_" + +msgid "Strings and binary sequences cannot be directly compared." +msgstr "Рядки та двійкові послідовності не можна безпосередньо порівнювати." + +msgid "" +"Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " +"can be compared only within each of their types, with the restriction that " +"ranges do not support order comparison. Equality comparison across these " +"types results in inequality, and ordering comparison across these types " +"raises :exc:`TypeError`." +msgstr "" +"Послідовності (екземпляри :class:`tuple`, :class:`list` або :class:`range`) " +"можна порівнювати лише в межах кожного зі своїх типів, з обмеженням, що " +"діапазони не підтримують порівняння порядку. Порівняння рівності між цими " +"типами призводить до нерівності, а впорядковане порівняння між цими типами " +"викликає :exc:`TypeError`." + +msgid "" +"Sequences compare lexicographically using comparison of corresponding " +"elements. The built-in containers typically assume identical objects are " +"equal to themselves. That lets them bypass equality tests for identical " +"objects to improve performance and to maintain their internal invariants." +msgstr "" +"Послідовності порівнюють лексикографічно за допомогою порівняння відповідних " +"елементів. Вбудовані контейнери зазвичай припускають, що ідентичні об’єкти " +"рівні самі собі. Це дозволяє їм обійти тести на рівність для ідентичних " +"об’єктів, щоб підвищити продуктивність і зберегти свої внутрішні інваріанти." + +msgid "" +"Lexicographical comparison between built-in collections works as follows:" +msgstr "" +"Лексикографічне порівняння між вбудованими колекціями працює таким чином:" + +msgid "" +"For two collections to compare equal, they must be of the same type, have " +"the same length, and each pair of corresponding elements must compare equal " +"(for example, ``[1,2] == (1,2)`` is false because the type is not the same)." +msgstr "" +"Щоб дві колекції порівнювалися однаково, вони повинні бути одного типу, мати " +"однакову довжину, і кожна пара відповідних елементів має порівнюватися " +"однаковими (наприклад, ``[1,2] == (1,2)`` false, оскільки тип не той самий)." + +msgid "" +"Collections that support order comparison are ordered the same as their " +"first unequal elements (for example, ``[1,2,x] <= [1,2,y]`` has the same " +"value as ``x <= y``). If a corresponding element does not exist, the " +"shorter collection is ordered first (for example, ``[1,2] < [1,2,3]`` is " +"true)." +msgstr "" +"Колекції, які підтримують порівняння порядку, упорядковуються так само, як і " +"їхні перші нерівні елементи (наприклад, ``[1,2,x] <= [1,2,y]`` має те саме " +"значення, що ``x <= y``). Якщо відповідний елемент не існує, коротша " +"колекція впорядковується першою (наприклад, ``[1,2] < [1,2,3]`` є істинним)." + +msgid "" +"Mappings (instances of :class:`dict`) compare equal if and only if they have " +"equal ``(key, value)`` pairs. Equality comparison of the keys and values " +"enforces reflexivity." +msgstr "" + +msgid "" +"Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." +msgstr "" +"Порівняння порядку (``<``, ``>``, ``<=``, and ``> =``) викликає :exc:" +"`TypeError`." + +msgid "" +"Sets (instances of :class:`set` or :class:`frozenset`) can be compared " +"within and across their types." +msgstr "" +"Набори (екземпляри :class:`set` або :class:`frozenset`) можна порівнювати " +"всередині та між типами." + +msgid "" +"They define order comparison operators to mean subset and superset tests. " +"Those relations do not define total orderings (for example, the two sets " +"``{1,2}`` and ``{2,3}`` are not equal, nor subsets of one another, nor " +"supersets of one another). Accordingly, sets are not appropriate arguments " +"for functions which depend on total ordering (for example, :func:`min`, :" +"func:`max`, and :func:`sorted` produce undefined results given a list of " +"sets as inputs)." +msgstr "" +"Вони визначають оператори порівняння порядку, щоб означати тести підмножини " +"та надмножини. Ці відносини не визначають загальних порядків (наприклад, дві " +"множини ``{1,2}`` і ``{2,3}`` не є рівними, ані підмножини одна одної, ані " +"надмножини одна одної). Відповідно, набори не є відповідними аргументами для " +"функцій, які залежать від загального порядку (наприклад, :func:`min`, :func:" +"`max` і :func:`sorted` дають невизначені результати, якщо ввести список " +"наборів як вхідні дані) ." + +msgid "Comparison of sets enforces reflexivity of its elements." +msgstr "Порівняння множин посилює рефлексивність її елементів." + +msgid "" +"Most other built-in types have no comparison methods implemented, so they " +"inherit the default comparison behavior." +msgstr "" +"Більшість інших вбудованих типів не мають реалізованих методів порівняння, " +"тому вони успадковують типову поведінку порівняння." + +msgid "" +"User-defined classes that customize their comparison behavior should follow " +"some consistency rules, if possible:" +msgstr "" +"Визначені користувачем класи, які налаштовують свою поведінку порівняння, " +"повинні дотримуватися деяких правил узгодженості, якщо це можливо:" + +msgid "" +"Equality comparison should be reflexive. In other words, identical objects " +"should compare equal:" +msgstr "" +"Порівняння рівності має бути рефлексивним. Іншими словами, ідентичні об'єкти " +"повинні порівнюватися рівними:" + +msgid "``x is y`` implies ``x == y``" +msgstr "``x є y`` означає ``x == y``" + +msgid "" +"Comparison should be symmetric. In other words, the following expressions " +"should have the same result:" +msgstr "" +"Порівняння має бути симетричним. Іншими словами, наступні вирази повинні " +"мати однаковий результат:" + +msgid "``x == y`` and ``y == x``" +msgstr "``x == y`` і ``y == x``" + +msgid "``x != y`` and ``y != x``" +msgstr "``x != y`` і ``y != x``" + +msgid "``x < y`` and ``y > x``" +msgstr "``x < y`` and ``y > x``" + +msgid "``x <= y`` and ``y >= x``" +msgstr "``x <= y`` and ``y > = x``" + +msgid "" +"Comparison should be transitive. The following (non-exhaustive) examples " +"illustrate that:" +msgstr "" +"Порівняння має бути транзитивним. Наступні (невичерпні) приклади ілюструють " +"це:" + +msgid "``x > y and y > z`` implies ``x > z``" +msgstr "``x > y і y > z`` передбачає ``x > z``" + +msgid "``x < y and y <= z`` implies ``x < z``" +msgstr "``x < y і y <= z`` передбачає ``x < z``" + +msgid "" +"Inverse comparison should result in the boolean negation. In other words, " +"the following expressions should have the same result:" +msgstr "" +"Зворотне порівняння має призвести до логічного заперечення. Іншими словами, " +"наступні вирази повинні мати однаковий результат:" + +msgid "``x == y`` and ``not x != y``" +msgstr "``x == y`` і ``не x != y``" + +msgid "``x < y`` and ``not x >= y`` (for total ordering)" +msgstr "``x < y`` and ``not x > = y`` (для загального впорядкування)" + +msgid "``x > y`` and ``not x <= y`` (for total ordering)" +msgstr "``x > y`` і ``not x <= y`` (для загального порядку)" + +msgid "" +"The last two expressions apply to totally ordered collections (e.g. to " +"sequences, but not to sets or mappings). See also the :func:`~functools." +"total_ordering` decorator." +msgstr "" +"Останні два вирази застосовуються до повністю впорядкованих колекцій " +"(наприклад, до послідовностей, але не до наборів чи відображень). Дивіться " +"також декоратор :func:`~functools.total_ordering`." + +msgid "" +"The :func:`hash` result should be consistent with equality. Objects that are " +"equal should either have the same hash value, or be marked as unhashable." +msgstr "" +"Результат :func:`hash` має відповідати рівності. Рівні об’єкти повинні або " +"мати однакове хеш-значення, або бути позначеними як нехешовані." + +msgid "" +"Python does not enforce these consistency rules. In fact, the not-a-number " +"values are an example for not following these rules." +msgstr "" +"Python не забезпечує виконання цих правил узгодженості. Фактично, нечислові " +"значення є прикладом недотримання цих правил." + +msgid "Membership test operations" +msgstr "Тестові операції членства" + +msgid "" +"The operators :keyword:`in` and :keyword:`not in` test for membership. ``x " +"in s`` evaluates to ``True`` if *x* is a member of *s*, and ``False`` " +"otherwise. ``x not in s`` returns the negation of ``x in s``. All built-in " +"sequences and set types support this as well as dictionary, for which :" +"keyword:`!in` tests whether the dictionary has a given key. For container " +"types such as list, tuple, set, frozenset, dict, or collections.deque, the " +"expression ``x in y`` is equivalent to ``any(x is e or x == e for e in y)``." +msgstr "" +"Оператори :keyword:`in` і :keyword:`not in` перевіряють членство. ``x in s`` " +"обчислюється як ``True``, якщо *x* є членом *s*, і ``False`` в іншому " +"випадку. ``x not in s`` повертає заперечення ``x in s``. Усі вбудовані " +"послідовності та типи наборів підтримують це, а також словник, для якого :" +"keyword:`!in` перевіряє, чи має словник заданий ключ. Для типів контейнерів, " +"таких як список, кортеж, набір, frozenset, dict або collections.deque, вираз " +"``x in y`` еквівалентний ``any(x is e or x == e for e in y)``." + +msgid "" +"For the string and bytes types, ``x in y`` is ``True`` if and only if *x* is " +"a substring of *y*. An equivalent test is ``y.find(x) != -1``. Empty " +"strings are always considered to be a substring of any other string, so ``" +"\"\" in \"abc\"`` will return ``True``." +msgstr "" +"Для типів рядків і байтів ``x в y`` є ``True`` тоді і тільки тоді, коли *x* " +"є підрядком *y*. Еквівалентним тестом є ``y.find(x) != -1``. Порожні рядки " +"завжди вважаються підрядками будь-яких інших рядків, тому ``\"\" у \"abc`` " +"поверне ``True``." + +msgid "" +"For user-defined classes which define the :meth:`__contains__` method, ``x " +"in y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and " +"``False`` otherwise." +msgstr "" +"Для визначених користувачем класів, які визначають метод :meth:" +"`__contains__`, ``x in y`` повертає ``True``, якщо ``y.__contains__(x)`` " +"повертає істинне значення, і ``False`` інакше." + +msgid "" +"For user-defined classes which do not define :meth:`__contains__` but do " +"define :meth:`__iter__`, ``x in y`` is ``True`` if some value ``z``, for " +"which the expression ``x is z or x == z`` is true, is produced while " +"iterating over ``y``. If an exception is raised during the iteration, it is " +"as if :keyword:`in` raised that exception." +msgstr "" +"Для визначених користувачем класів, які не визначають :meth:`__contains__`, " +"але визначають :meth:`__iter__`, ``x в y`` є ``True``, якщо деяке значення " +"``z``, для якого вираз ``x є z або x == z`` є істинним, створюється під час " +"повторення ``y``. Якщо під час ітерації виникає виняток, це ніби :keyword:" +"`in` викликав цей виняток." + +msgid "" +"Lastly, the old-style iteration protocol is tried: if a class defines :meth:" +"`__getitem__`, ``x in y`` is ``True`` if and only if there is a non-negative " +"integer index *i* such that ``x is y[i] or x == y[i]``, and no lower integer " +"index raises the :exc:`IndexError` exception. (If any other exception is " +"raised, it is as if :keyword:`in` raised that exception)." +msgstr "" +"Нарешті, випробувано старий протокол ітерації: якщо клас визначає :meth:" +"`__getitem__`, ``x in y`` є ``True`` тоді і тільки тоді, коли існує " +"невід’ємне ціле число *i* таким чином, що ``x є y[i] або x == y[i]``, і " +"жоден нижній цілий індекс не викликає виключення :exc:`IndexError`. (Якщо " +"виникає будь-який інший виняток, це ніби :keyword:`in` викликав цей виняток)." + +msgid "" +"The operator :keyword:`not in` is defined to have the inverse truth value " +"of :keyword:`in`." +msgstr "" +"Оператор :keyword:`not in` визначено таким, що має зворотне значення " +"істинності :keyword:`in`." + +msgid "Identity comparisons" +msgstr "Порівняння тотожності" + +msgid "" +"The operators :keyword:`is` and :keyword:`is not` test for an object's " +"identity: ``x is y`` is true if and only if *x* and *y* are the same " +"object. An Object's identity is determined using the :meth:`id` function. " +"``x is not y`` yields the inverse truth value. [#]_" +msgstr "" +"Оператори :keyword:`is` і :keyword:`is not` перевіряють ідентичність " +"об’єкта: ``x is y`` є істинним тоді і тільки тоді, коли *x* і *y* є одним і " +"тим же об’єктом. Ідентичність об’єкта визначається за допомогою функції :" +"meth:`id`. \"x не є y\" дає зворотне значення істинності. [#]_" + +msgid "Boolean operations" +msgstr "Логічні операції" + +msgid "" +"In the context of Boolean operations, and also when expressions are used by " +"control flow statements, the following values are interpreted as false: " +"``False``, ``None``, numeric zero of all types, and empty strings and " +"containers (including strings, tuples, lists, dictionaries, sets and " +"frozensets). All other values are interpreted as true. User-defined " +"objects can customize their truth value by providing a :meth:`__bool__` " +"method." +msgstr "" +"У контексті логічних операцій, а також коли вирази використовуються " +"операторами потоку керування, такі значення інтерпретуються як false: " +"``False``, ``None``, числові нулі всіх типів, а також порожні рядки та " +"контейнери ( включаючи рядки, кортежі, списки, словники, набори та " +"заморожені набори). Усі інші значення інтерпретуються як істинні. Визначені " +"користувачем об’єкти можуть налаштувати своє значення істинності, надаючи " +"метод :meth:`__bool__`." + +msgid "" +"The operator :keyword:`not` yields ``True`` if its argument is false, " +"``False`` otherwise." +msgstr "" +"Оператор :keyword:`not` видає ``True``, якщо його аргумент false, ``False`` " +"в іншому випадку." + +msgid "" +"The expression ``x and y`` first evaluates *x*; if *x* is false, its value " +"is returned; otherwise, *y* is evaluated and the resulting value is returned." +msgstr "" +"Вираз ``x і y`` спочатку обчислює *x*; якщо *x* false, повертається його " +"значення; інакше обчислюється *y* і повертається отримане значення." + +msgid "" +"The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " +"returned; otherwise, *y* is evaluated and the resulting value is returned." +msgstr "" +"Вираз ``x або y`` спочатку обчислює *x*; якщо *x* істинне, повертається його " +"значення; інакше обчислюється *y* і повертається отримане значення." + +msgid "" +"Note that neither :keyword:`and` nor :keyword:`or` restrict the value and " +"type they return to ``False`` and ``True``, but rather return the last " +"evaluated argument. This is sometimes useful, e.g., if ``s`` is a string " +"that should be replaced by a default value if it is empty, the expression " +"``s or 'foo'`` yields the desired value. Because :keyword:`not` has to " +"create a new value, it returns a boolean value regardless of the type of its " +"argument (for example, ``not 'foo'`` produces ``False`` rather than ``''``.)" +msgstr "" +"Зауважте, що ані :keyword:`and`, ані :keyword:`or` не обмежують значення та " +"тип, які вони повертають, значеннями ``False`` і ``True``, а радше " +"повертають останній оцінений аргумент. Це іноді корисно, наприклад, якщо " +"``s`` є рядком, який слід замінити значенням за замовчуванням, якщо він " +"порожній, вираз ``s або 'foo'`` дає потрібне значення. Оскільки :keyword:" +"`not` має створити нове значення, воно повертає логічне значення незалежно " +"від типу свого аргументу (наприклад, ``not 'foo'`` створює ``False``, а не " +"``''`` .)" + +msgid "Assignment expressions" +msgstr "Вирази присвоєння" + +msgid "" +"An assignment expression (sometimes also called a \"named expression\" or " +"\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:" +"`~python-grammar:identifier`, while also returning the value of the :token:" +"`~python-grammar:expression`." +msgstr "" +"Вираз присвоєння (іноді його також називають \"іменованим виразом\" або " +"\"моржем\") призначає :token:`~python-grammar:expression` :token:`~python-" +"grammar:identifier`, а також повертає значення :token:`~python-grammar:" +"expression`." + +msgid "One common use case is when handling matched regular expressions:" +msgstr "" +"Одним із поширених випадків використання є обробка зіставлених регулярних " +"виразів:" + +msgid "Or, when processing a file stream in chunks:" +msgstr "Або при обробці потоку файлів у частинах:" + +msgid "" +"Assignment expressions must be surrounded by parentheses when used as sub-" +"expressions in slicing, conditional, lambda, keyword-argument, and " +"comprehension-if expressions and in ``assert`` and ``with`` statements. In " +"all other places where they can be used, parentheses are not required, " +"including in ``if`` and ``while`` statements." +msgstr "" + +msgid "See :pep:`572` for more details about assignment expressions." +msgstr "" +"Перегляньте :pep:`572` для отримання додаткової інформації про вирази " +"присвоєння." + +msgid "Conditional expressions" +msgstr "Умовні вирази" + +msgid "" +"Conditional expressions (sometimes called a \"ternary operator\") have the " +"lowest priority of all Python operations." +msgstr "" +"Умовні вирази (іноді їх називають \"потрійним оператором\") мають найнижчий " +"пріоритет з усіх операцій Python." + +msgid "" +"The expression ``x if C else y`` first evaluates the condition, *C* rather " +"than *x*. If *C* is true, *x* is evaluated and its value is returned; " +"otherwise, *y* is evaluated and its value is returned." +msgstr "" +"Вираз x if C else y спочатку обчислює умову *C*, а не *x*. Якщо *C* істинне, " +"*x* обчислюється і повертається його значення; інакше обчислюється *y* і " +"повертається його значення." + +msgid "See :pep:`308` for more details about conditional expressions." +msgstr "" +"Перегляньте :pep:`308` для отримання додаткової інформації про умовні вирази." + +msgid "Lambdas" +msgstr "Лямбда" + +msgid "" +"Lambda expressions (sometimes called lambda forms) are used to create " +"anonymous functions. The expression ``lambda parameters: expression`` yields " +"a function object. The unnamed object behaves like a function object " +"defined with:" +msgstr "" +"Лямбда-вирази (іноді їх називають лямбда-формами) використовуються для " +"створення анонімних функцій. Вираз ``параметри лямбда: вираз`` дає об’єкт " +"функції. Безіменний об’єкт поводиться як об’єкт-функція, визначений за " +"допомогою:" + +msgid "" +"See section :ref:`function` for the syntax of parameter lists. Note that " +"functions created with lambda expressions cannot contain statements or " +"annotations." +msgstr "" +"Перегляньте розділ :ref:`function` для синтаксису списків параметрів. " +"Зауважте, що функції, створені за допомогою лямбда-виразів, не можуть " +"містити оператори чи анотації." + +msgid "Expression lists" +msgstr "Списки виразів" + +msgid "" +"Except when part of a list or set display, an expression list containing at " +"least one comma yields a tuple. The length of the tuple is the number of " +"expressions in the list. The expressions are evaluated from left to right." +msgstr "" +"За винятком випадків, коли є частиною списку або відображення набору, список " +"виразів, що містить принаймні одну кому, дає кортеж. Довжина кортежу — це " +"кількість виразів у списку. Вирази обчислюються зліва направо." + +msgid "" +"An asterisk ``*`` denotes :dfn:`iterable unpacking`. Its operand must be " +"an :term:`iterable`. The iterable is expanded into a sequence of items, " +"which are included in the new tuple, list, or set, at the site of the " +"unpacking." +msgstr "" +"Зірочка ``*`` позначає :dfn:`iterable unpacking`. Його операнд має бути :" +"term:`iterable`. Ітерація розгортається в послідовність елементів, які " +"включені в новий кортеж, список або набір на місці розпакування." + +msgid "" +"Iterable unpacking in expression lists, originally proposed by :pep:`448`." +msgstr "" +"Ітераційне розпакування в списках виразів, спочатку запропоноване :pep:`448`." + +msgid "" +"The trailing comma is required only to create a single tuple (a.k.a. a " +"*singleton*); it is optional in all other cases. A single expression " +"without a trailing comma doesn't create a tuple, but rather yields the value " +"of that expression. (To create an empty tuple, use an empty pair of " +"parentheses: ``()``.)" +msgstr "" +"Кінцева кома потрібна лише для створення одного кортежу (він же " +"*singleton*); у всіх інших випадках це необов'язково. Один вираз без " +"кінцевої коми не створює кортеж, а скоріше видає значення цього виразу. (Щоб " +"створити порожній кортеж, використовуйте порожню пару круглих дужок: ``()``.)" + +msgid "Evaluation order" +msgstr "Порядок оцінювання" + +msgid "" +"Python evaluates expressions from left to right. Notice that while " +"evaluating an assignment, the right-hand side is evaluated before the left-" +"hand side." +msgstr "" +"Python обчислює вирази зліва направо. Зауважте, що під час оцінювання " +"завдання права частина оцінюється перед лівою." + +msgid "" +"In the following lines, expressions will be evaluated in the arithmetic " +"order of their suffixes::" +msgstr "" +"У наступних рядках вирази обчислюватимуться в арифметичному порядку їх " +"суфіксів:" + +msgid "Operator precedence" +msgstr "Пріоритет оператора" + +msgid "" +"The following table summarizes the operator precedence in Python, from " +"highest precedence (most binding) to lowest precedence (least binding). " +"Operators in the same box have the same precedence. Unless the syntax is " +"explicitly given, operators are binary. Operators in the same box group " +"left to right (except for exponentiation and conditional expressions, which " +"group from right to left)." +msgstr "" + +msgid "" +"Note that comparisons, membership tests, and identity tests, all have the " +"same precedence and have a left-to-right chaining feature as described in " +"the :ref:`comparisons` section." +msgstr "" +"Зауважте, що порівняння, тести на приналежність і тести ідентичності мають " +"однаковий пріоритет і функцію ланцюжка зліва направо, як описано в розділі :" +"ref:`comparisons`." + +msgid "Operator" +msgstr "Оператор" + +msgid "Description" +msgstr "опис" + +msgid "``(expressions...)``," +msgstr "``(вирази...)``," + +msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" +msgstr "``[вирази...]``, ``{ключ: значення...}``, ``{вирази...}``" + +msgid "" +"Binding or parenthesized expression, list display, dictionary display, set " +"display" +msgstr "" +"Прив’язка або вираз у дужках, відображення списку, відображення словника, " +"відображення набору" + +msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" +msgstr "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" + +msgid "Subscription, slicing, call, attribute reference" +msgstr "Підписка, нарізка, виклик, посилання на атрибути" + +msgid ":keyword:`await x `" +msgstr ":keyword:`await x `" + +msgid "``**``" +msgstr "``**``" + +msgid "Exponentiation [#]_" +msgstr "Піднесення до степеня [#]_" + +msgid "``+x``, ``-x``, ``~x``" +msgstr "``+x``, ``-x``, ``~x``" + +msgid "Positive, negative, bitwise NOT" +msgstr "Позитивне, негативне, побітове НІ" + +msgid "``*``, ``@``, ``/``, ``//``, ``%``" +msgstr "``*``, ``@``, ``/``, ``//``, ``%``" + +msgid "" +"Multiplication, matrix multiplication, division, floor division, remainder " +"[#]_" +msgstr "Множення, матричне множення, ділення, поверхове ділення, залишок [#]_" + +msgid "``+``, ``-``" +msgstr "``+``, ``-``" + +msgid "Addition and subtraction" +msgstr "Додавання і віднімання" + +msgid "``<<``, ``>>``" +msgstr "``<<``, ``>>``" + +msgid "Shifts" +msgstr "Зміни" + +msgid "``&``" +msgstr "``&``" + +msgid "Bitwise AND" +msgstr "Побітове І" + +msgid "``^``" +msgstr "``^``" + +msgid "Bitwise XOR" +msgstr "Побітове XOR" + +msgid "``|``" +msgstr "``|``" + +msgid "Bitwise OR" +msgstr "Порозрядне АБО" + +msgid "" +":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " +"``<=``, ``>``, ``>=``, ``!=``, ``==``" +msgstr "" +":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " +"``<=``, ``>``, ``>=``, ``!=``, ``==``" + +msgid "Comparisons, including membership tests and identity tests" +msgstr "Порівняння, включаючи тести на приналежність і тести на ідентифікацію" + +msgid ":keyword:`not x `" +msgstr ":keyword:`not x `" + +msgid "Boolean NOT" +msgstr "Логічне НІ" + +msgid ":keyword:`and`" +msgstr ":keyword:`and`" + +msgid "Boolean AND" +msgstr "Логічне І" + +msgid ":keyword:`or`" +msgstr ":keyword:`or`" + +msgid "Boolean OR" +msgstr "Логічне АБО" + +msgid ":keyword:`if ` -- :keyword:`!else`" +msgstr ":keyword:`if ` -- :keyword:`!else`" + +msgid "Conditional expression" +msgstr "Умовний вираз" + +msgid ":keyword:`lambda`" +msgstr ":keyword:`lambda`" + +msgid "Lambda expression" +msgstr "Лямбда-вираз" + +msgid "``:=``" +msgstr "``:=``" + +msgid "Assignment expression" +msgstr "Вираз присвоєння" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"While ``abs(x%y) < abs(y)`` is true mathematically, for floats it may not be " +"true numerically due to roundoff. For example, and assuming a platform on " +"which a Python float is an IEEE 754 double-precision number, in order that " +"``-1e-100 % 1e100`` have the same sign as ``1e100``, the computed result is " +"``-1e-100 + 1e100``, which is numerically exactly equal to ``1e100``. The " +"function :func:`math.fmod` returns a result whose sign matches the sign of " +"the first argument instead, and so returns ``-1e-100`` in this case. Which " +"approach is more appropriate depends on the application." +msgstr "" +"У той час як ``abs(x%y) < abs(y)`` є істинним математично, для чисельних " +"чисел це може не бути істинним через округлення. Наприклад, якщо припустити, " +"що платформа Python з плаваючою точкою є числом подвійної точності IEEE 754, " +"для того, щоб ``-1e-100 % 1e100`` мали той самий знак, що ``1e100``, " +"обчислений результат буде ``-1e-100 + 1e100``, що чисельно точно дорівнює " +"``1e100``. Функція :func:`math.fmod` повертає результат, знак якого " +"збігається зі знаком першого аргументу, і тому в цьому випадку повертає " +"``-1e-100``. Який підхід є більш доцільним, залежить від програми." + +msgid "" +"If x is very close to an exact integer multiple of y, it's possible for ``x//" +"y`` to be one larger than ``(x-x%y)//y`` due to rounding. In such cases, " +"Python returns the latter result, in order to preserve that ``divmod(x,y)[0] " +"* y + x % y`` be very close to ``x``." +msgstr "" +"Якщо x дуже близький до точного цілого числа, кратного y, через округлення " +"``x//y`` може бути на одиницю більшим за ``(x-x%y)//y``. У таких випадках " +"Python повертає останній результат, щоб зберегти те, що ``divmod(x,y)[0] * y " +"+ x % y`` буде дуже близьким до ``x``." + +msgid "" +"The Unicode standard distinguishes between :dfn:`code points` (e.g. U+0041) " +"and :dfn:`abstract characters` (e.g. \"LATIN CAPITAL LETTER A\"). While most " +"abstract characters in Unicode are only represented using one code point, " +"there is a number of abstract characters that can in addition be represented " +"using a sequence of more than one code point. For example, the abstract " +"character \"LATIN CAPITAL LETTER C WITH CEDILLA\" can be represented as a " +"single :dfn:`precomposed character` at code position U+00C7, or as a " +"sequence of a :dfn:`base character` at code position U+0043 (LATIN CAPITAL " +"LETTER C), followed by a :dfn:`combining character` at code position U+0327 " +"(COMBINING CEDILLA)." +msgstr "" +"Стандарт Unicode розрізняє :dfn:`code points` (наприклад, U+0041) і :dfn:" +"`abstract characters` (наприклад, \"ЛАТИНСЬКА ВЕЛИКА ЛІТЕРА A\"). У той час " +"як більшість абстрактних символів у Unicode представлено лише за допомогою " +"однієї кодової точки, існує ряд абстрактних символів, які, крім того, можуть " +"бути представлені за допомогою послідовності з кількох кодових точок. " +"Наприклад, абстрактний символ \"ВЕЛИКА ЛАТИНСЬКА ЛІТЕРА C З ЦЕДІЛЬЄЮ\" може " +"бути представлений як один :dfn:`precomposed character` у позиції коду U" +"+00C7 або як послідовність :dfn:`base character` у позиції коду U+0043 " +"(ВЕЛИКА ЛАТИНСЬКА ЛІТЕРА C), за якою йде :dfn:`combining character` у " +"позиції коду U+0327 (КОМБІНУЮЧА CEDILLA)." + +msgid "" +"The comparison operators on strings compare at the level of Unicode code " +"points. This may be counter-intuitive to humans. For example, ``\"\\u00C7\" " +"== \"\\u0043\\u0327\"`` is ``False``, even though both strings represent the " +"same abstract character \"LATIN CAPITAL LETTER C WITH CEDILLA\"." +msgstr "" +"Оператори порівняння рядків порівнюються на рівні кодових точок Unicode. " +"Людям це може бути не зрозуміло. Наприклад, ``\"\\u00C7\" == " +"\"\\u0043\\u0327\"`` є ``False``, навіть якщо обидва рядки представляють той " +"самий абстрактний символ \"ЛАТИНСЬКА ВЕЛИКА ЛІТЕРА C З ЦЕДІЛЬЄЮ\"." + +msgid "" +"To compare strings at the level of abstract characters (that is, in a way " +"intuitive to humans), use :func:`unicodedata.normalize`." +msgstr "" +"Щоб порівняти рядки на рівні абстрактних символів (тобто інтуїтивно " +"зрозумілим людям), використовуйте :func:`unicodedata.normalize`." + +msgid "" +"Due to automatic garbage-collection, free lists, and the dynamic nature of " +"descriptors, you may notice seemingly unusual behaviour in certain uses of " +"the :keyword:`is` operator, like those involving comparisons between " +"instance methods, or constants. Check their documentation for more info." +msgstr "" +"Завдяки автоматичному збиранню сміття, вільним спискам і динамічній природі " +"дескрипторів ви можете помітити, здавалося б, незвичайну поведінку в певних " +"випадках використання оператора :keyword:`is`, як-от порівняння між методами " +"екземплярів або константами. Щоб дізнатися більше, перегляньте їхню " +"документацію." + +msgid "" +"The power operator ``**`` binds less tightly than an arithmetic or bitwise " +"unary operator on its right, that is, ``2**-1`` is ``0.5``." +msgstr "" +"Оператор степені ``**`` прив’язує менш тісно, ніж арифметичний або " +"порозрядний унарний оператор справа, тобто ``2**-1`` дорівнює ``0,5``." + +msgid "" +"The ``%`` operator is also used for string formatting; the same precedence " +"applies." +msgstr "" +"Оператор ``%`` також використовується для форматування рядків; " +"застосовується той самий пріоритет." diff --git a/reference/grammar.po b/reference/grammar.po new file mode 100644 index 000000000..f3b4fd3ed --- /dev/null +++ b/reference/grammar.po @@ -0,0 +1,50 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Full Grammar specification" +msgstr "Повна граматична специфікація" + +msgid "" +"This is the full Python grammar, derived directly from the grammar used to " +"generate the CPython parser (see :source:`Grammar/python.gram`). The version " +"here omits details related to code generation and error recovery." +msgstr "" +"Це повна граматика Python, отримана безпосередньо з граматики, яка " +"використовувалася для генерації аналізатора CPython (див. :source:`Grammar/" +"python.gram`). Версія тут не містить деталей, пов’язаних із створенням коду " +"та відновленням помилок." + +msgid "" +"The notation is a mixture of `EBNF `_ and `PEG `_. In particular, ``&`` followed by a symbol, " +"token or parenthesized group indicates a positive lookahead (i.e., is " +"required to match but not consumed), while ``!`` indicates a negative " +"lookahead (i.e., is required *not* to match). We use the ``|`` separator to " +"mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG " +"grammars). See :pep:`617` for more details on the grammar's syntax." +msgstr "" diff --git a/reference/import.po b/reference/import.po new file mode 100644 index 000000000..408b974c8 --- /dev/null +++ b/reference/import.po @@ -0,0 +1,1812 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The import system" +msgstr "Система імпорту" + +msgid "" +"Python code in one :term:`module` gains access to the code in another module " +"by the process of :term:`importing` it. The :keyword:`import` statement is " +"the most common way of invoking the import machinery, but it is not the only " +"way. Functions such as :func:`importlib.import_module` and built-in :func:" +"`__import__` can also be used to invoke the import machinery." +msgstr "" +"Код Python в одному :term:`module` отримує доступ до коду в іншому модулі " +"шляхом процесу :term:`importing` його. Інструкція :keyword:`import` є " +"найпоширенішим способом виклику механізму імпорту, але це не єдиний спосіб. " +"Такі функції, як :func:`importlib.import_module` і вбудований :func:" +"`__import__` також можна використовувати для виклику механізму імпорту." + +msgid "" +"The :keyword:`import` statement combines two operations; it searches for the " +"named module, then it binds the results of that search to a name in the " +"local scope. The search operation of the :keyword:`!import` statement is " +"defined as a call to the :func:`__import__` function, with the appropriate " +"arguments. The return value of :func:`__import__` is used to perform the " +"name binding operation of the :keyword:`!import` statement. See the :" +"keyword:`!import` statement for the exact details of that name binding " +"operation." +msgstr "" +"Оператор :keyword:`import` поєднує дві операції; він шукає названий модуль, " +"а потім прив’язує результати цього пошуку до імені в локальній області. " +"Операція пошуку оператора :keyword:`!import` визначається як виклик функції :" +"func:`__import__` з відповідними аргументами. Значення, що повертається :" +"func:`__import__`, використовується для виконання операції зв’язування імені " +"оператора :keyword:`!import`. Перегляньте оператор :keyword:`!import` для " +"отримання точних деталей цієї операції зв’язування імені." + +msgid "" +"A direct call to :func:`__import__` performs only the module search and, if " +"found, the module creation operation. While certain side-effects may occur, " +"such as the importing of parent packages, and the updating of various caches " +"(including :data:`sys.modules`), only the :keyword:`import` statement " +"performs a name binding operation." +msgstr "" +"Прямий виклик :func:`__import__` виконує лише пошук модуля та, якщо " +"знайдено, операцію створення модуля. Хоча можуть виникнути певні побічні " +"ефекти, такі як імпортування батьківських пакетів і оновлення різних кешів " +"(включаючи :data:`sys.modules`), тільки оператор :keyword:`import` виконує " +"операцію зв’язування імені." + +msgid "" +"When an :keyword:`import` statement is executed, the standard builtin :func:" +"`__import__` function is called. Other mechanisms for invoking the import " +"system (such as :func:`importlib.import_module`) may choose to bypass :func:" +"`__import__` and use their own solutions to implement import semantics." +msgstr "" +"Коли виконується оператор :keyword:`import`, викликається стандартна " +"вбудована функція :func:`__import__`. Інші механізми для виклику системи " +"імпорту (такі як :func:`importlib.import_module`) можуть вибрати обхід :func:" +"`__import__` і використовувати власні рішення для реалізації семантики " +"імпорту." + +msgid "" +"When a module is first imported, Python searches for the module and if " +"found, it creates a module object [#fnmo]_, initializing it. If the named " +"module cannot be found, a :exc:`ModuleNotFoundError` is raised. Python " +"implements various strategies to search for the named module when the import " +"machinery is invoked. These strategies can be modified and extended by " +"using various hooks described in the sections below." +msgstr "" +"Коли модуль імпортовано вперше, Python шукає модуль і, якщо знайдено, " +"створює об’єкт модуля [#fnmo]_, ініціалізуючи його. Якщо вказаний модуль не " +"знайдено, виникає помилка :exc:`ModuleNotFoundError`. Python реалізує різні " +"стратегії для пошуку названого модуля під час виклику механізму імпорту. Ці " +"стратегії можна модифікувати та розширювати за допомогою різноманітних " +"хуків, описаних у розділах нижче." + +msgid "" +"The import system has been updated to fully implement the second phase of :" +"pep:`302`. There is no longer any implicit import machinery - the full " +"import system is exposed through :data:`sys.meta_path`. In addition, native " +"namespace package support has been implemented (see :pep:`420`)." +msgstr "" +"Систему імпорту оновлено для повної реалізації другої фази :pep:`302`. " +"Більше немає механізму неявного імпорту – повна система імпорту доступна " +"через :data:`sys.meta_path`. Крім того, була реалізована підтримка рідного " +"пакету простору імен (див. :pep:`420`)." + +msgid ":mod:`importlib`" +msgstr ":mod:`importlib`" + +msgid "" +"The :mod:`importlib` module provides a rich API for interacting with the " +"import system. For example :func:`importlib.import_module` provides a " +"recommended, simpler API than built-in :func:`__import__` for invoking the " +"import machinery. Refer to the :mod:`importlib` library documentation for " +"additional detail." +msgstr "" +"Модуль :mod:`importlib` надає багатий API для взаємодії із системою імпорту. " +"Наприклад, :func:`importlib.import_module` надає рекомендований простіший " +"API, ніж вбудований :func:`__import__` для виклику механізму імпорту. " +"Зверніться до документації бібліотеки :mod:`importlib` для отримання " +"додаткової інформації." + +msgid "Packages" +msgstr "пакети" + +msgid "" +"Python has only one type of module object, and all modules are of this type, " +"regardless of whether the module is implemented in Python, C, or something " +"else. To help organize modules and provide a naming hierarchy, Python has a " +"concept of :term:`packages `." +msgstr "" +"Python має лише один тип об’єкта модуля, і всі модулі належать до цього " +"типу, незалежно від того, чи реалізовано модуль на Python, C чи в чомусь " +"іншому. Щоб допомогти організувати модулі та забезпечити ієрархію імен, " +"Python має концепцію :term:`packages `." + +msgid "" +"You can think of packages as the directories on a file system and modules as " +"files within directories, but don't take this analogy too literally since " +"packages and modules need not originate from the file system. For the " +"purposes of this documentation, we'll use this convenient analogy of " +"directories and files. Like file system directories, packages are organized " +"hierarchically, and packages may themselves contain subpackages, as well as " +"regular modules." +msgstr "" +"Ви можете розглядати пакети як каталоги у файловій системі, а модулі як " +"файли в каталогах, але не сприймайте цю аналогію надто буквально, оскільки " +"пакети та модулі не обов’язково походять із файлової системи. Для цілей цієї " +"документації ми будемо використовувати цю зручну аналогію каталогів і " +"файлів. Як і каталоги файлової системи, пакунки організовані ієрархічно, і " +"самі пакунки можуть містити підпакети, а також звичайні модулі." + +msgid "" +"It's important to keep in mind that all packages are modules, but not all " +"modules are packages. Or put another way, packages are just a special kind " +"of module. Specifically, any module that contains a ``__path__`` attribute " +"is considered a package." +msgstr "" +"Важливо мати на увазі, що всі пакети є модулями, але не всі модулі є " +"пакетами. Або інакше кажучи, пакунки - це просто особливий вид модулів. " +"Зокрема, будь-який модуль, який містить атрибут ``__path__``, вважається " +"пакетом." + +msgid "" +"All modules have a name. Subpackage names are separated from their parent " +"package name by a dot, akin to Python's standard attribute access syntax. " +"Thus you might have a package called :mod:`email`, which in turn has a " +"subpackage called :mod:`email.mime` and a module within that subpackage " +"called :mod:`email.mime.text`." +msgstr "" +"Усі модулі мають назву. Назви підпакетів відокремлюються від назви " +"батьківського пакета крапкою, подібно до стандартного синтаксису доступу до " +"атрибутів Python. Таким чином, у вас може бути пакет під назвою :mod:" +"`email`, який, у свою чергу, має підпакет під назвою :mod:`email.mime` і " +"модуль у цьому підпакеті під назвою :mod:`email.mime.text`." + +msgid "Regular packages" +msgstr "Звичайні пакети" + +msgid "" +"Python defines two types of packages, :term:`regular packages ` and :term:`namespace packages `. Regular " +"packages are traditional packages as they existed in Python 3.2 and earlier. " +"A regular package is typically implemented as a directory containing an " +"``__init__.py`` file. When a regular package is imported, this ``__init__." +"py`` file is implicitly executed, and the objects it defines are bound to " +"names in the package's namespace. The ``__init__.py`` file can contain the " +"same Python code that any other module can contain, and Python will add some " +"additional attributes to the module when it is imported." +msgstr "" +"Python визначає два типи пакетів: :term:`звичайні пакунки ` " +"і :term:`пакети простору імен `. Звичайні пакунки — це " +"традиційні пакунки, які існували в Python 3.2 і раніше. Звичайний пакет " +"зазвичай реалізується як каталог, що містить файл ``__init__.py``. Коли " +"імпортується звичайний пакет, цей файл ``__init__.py`` виконується неявно, а " +"об’єкти, які він визначає, прив’язуються до імен у просторі імен пакета. " +"Файл ``__init__.py`` може містити той самий код Python, який може містити " +"будь-який інший модуль, і Python додасть деякі додаткові атрибути до модуля " +"під час його імпорту." + +msgid "" +"For example, the following file system layout defines a top level ``parent`` " +"package with three subpackages::" +msgstr "" +"Наприклад, наведений нижче макет файлової системи визначає \"батьківський\" " +"пакет верхнього рівня з трьома підпакетами:" + +msgid "" +"Importing ``parent.one`` will implicitly execute ``parent/__init__.py`` and " +"``parent/one/__init__.py``. Subsequent imports of ``parent.two`` or " +"``parent.three`` will execute ``parent/two/__init__.py`` and ``parent/three/" +"__init__.py`` respectively." +msgstr "" +"Імпорт ``parent.one`` неявно виконає ``parent/__init__.py`` і ``parent/one/" +"__init__.py``. Наступні імпорти ``parent.two`` або ``parent.three`` " +"виконають ``parent/two/__init__.py`` та ``parent/three/__init__.py`` " +"відповідно." + +msgid "Namespace packages" +msgstr "Пакети простору імен" + +msgid "" +"A namespace package is a composite of various :term:`portions `, " +"where each portion contributes a subpackage to the parent package. Portions " +"may reside in different locations on the file system. Portions may also be " +"found in zip files, on the network, or anywhere else that Python searches " +"during import. Namespace packages may or may not correspond directly to " +"objects on the file system; they may be virtual modules that have no " +"concrete representation." +msgstr "" +"Пакет простору імен — це сукупність різноманітних :term:`частин `, " +"де кожна частина додає підпакет до батьківського пакета. Частини можуть " +"знаходитися в різних місцях файлової системи. Частини також можна знайти в " +"zip-файлах, у мережі чи будь-де ще, де Python шукає під час імпорту. Пакети " +"простору імен можуть або не можуть відповідати безпосередньо об'єктам у " +"файловій системі; вони можуть бути віртуальними модулями, які не мають " +"конкретного представлення." + +msgid "" +"Namespace packages do not use an ordinary list for their ``__path__`` " +"attribute. They instead use a custom iterable type which will automatically " +"perform a new search for package portions on the next import attempt within " +"that package if the path of their parent package (or :data:`sys.path` for a " +"top level package) changes." +msgstr "" +"Пакунки простору імен не використовують звичайний список для свого атрибута " +"``__path__``. Натомість вони використовують настроюваний ітерований тип, " +"який автоматично виконає новий пошук частин пакета під час наступної спроби " +"імпорту в цьому пакеті, якщо шлях до їх батьківського пакета (або :data:`sys." +"path` для пакета верхнього рівня) зміниться." + +msgid "" +"With namespace packages, there is no ``parent/__init__.py`` file. In fact, " +"there may be multiple ``parent`` directories found during import search, " +"where each one is provided by a different portion. Thus ``parent/one`` may " +"not be physically located next to ``parent/two``. In this case, Python will " +"create a namespace package for the top-level ``parent`` package whenever it " +"or one of its subpackages is imported." +msgstr "" +"У пакетах простору імен немає файлу ``parent/__init__.py``. Насправді під " +"час пошуку імпорту може бути знайдено кілька ``батьківських`` каталогів, де " +"кожен надається окремою частиною. Таким чином, ``батьківський/один`` може " +"фізично не знаходитися поруч із ``батьківським/два``. У цьому випадку Python " +"створюватиме пакет простору імен для ``батьківського`` пакета верхнього " +"рівня кожного разу, коли він або один із його підпакетів імпортується." + +msgid "See also :pep:`420` for the namespace package specification." +msgstr "Дивіться також :pep:`420` для специфікації пакета простору імен." + +msgid "Searching" +msgstr "Пошук" + +msgid "" +"To begin the search, Python needs the :term:`fully qualified ` name of the module (or package, but for the purposes of this " +"discussion, the difference is immaterial) being imported. This name may " +"come from various arguments to the :keyword:`import` statement, or from the " +"parameters to the :func:`importlib.import_module` or :func:`__import__` " +"functions." +msgstr "" +"Щоб розпочати пошук, Python потребує :term:`повної ` назви " +"модуля (або пакета, але для цілей цього обговорення різниця несуттєва), який " +"імпортується. Це ім’я може походити з різних аргументів оператора :keyword:" +"`import` або з параметрів функцій :func:`importlib.import_module` або :func:" +"`__import__`." + +msgid "" +"This name will be used in various phases of the import search, and it may be " +"the dotted path to a submodule, e.g. ``foo.bar.baz``. In this case, Python " +"first tries to import ``foo``, then ``foo.bar``, and finally ``foo.bar." +"baz``. If any of the intermediate imports fail, a :exc:`ModuleNotFoundError` " +"is raised." +msgstr "" +"Ця назва використовуватиметься на різних етапах пошуку імпорту, і це може " +"бути пунктирний шлях до підмодуля, напр. ``foo.bar.baz``. У цьому випадку " +"Python спочатку намагається імпортувати ``foo``, потім ``foo.bar`` і, " +"нарешті, ``foo.bar.baz``. Якщо будь-який із проміжних імпортів не вдається, " +"виникає помилка :exc:`ModuleNotFoundError`." + +msgid "The module cache" +msgstr "Кеш модуля" + +msgid "" +"The first place checked during import search is :data:`sys.modules`. This " +"mapping serves as a cache of all modules that have been previously imported, " +"including the intermediate paths. So if ``foo.bar.baz`` was previously " +"imported, :data:`sys.modules` will contain entries for ``foo``, ``foo.bar``, " +"and ``foo.bar.baz``. Each key will have as its value the corresponding " +"module object." +msgstr "" +"Перше місце, яке перевіряється під час пошуку імпорту, це :data:`sys." +"modules`. Це відображення служить кеш-пам’яттю всіх модулів, які були раніше " +"імпортовані, включаючи проміжні шляхи. Отже, якщо ``foo.bar.baz`` був раніше " +"імпортований, :data:`sys.modules` міститиме записи для ``foo``, ``foo.bar`` " +"і ``foo.bar.baz``. Кожен ключ матиме значення відповідного об’єкта модуля." + +msgid "" +"During import, the module name is looked up in :data:`sys.modules` and if " +"present, the associated value is the module satisfying the import, and the " +"process completes. However, if the value is ``None``, then a :exc:" +"`ModuleNotFoundError` is raised. If the module name is missing, Python will " +"continue searching for the module." +msgstr "" +"Під час імпорту ім’я модуля шукається в :data:`sys.modules` і, якщо воно " +"присутнє, пов’язане значення означає модуль, який задовольняє імпорт, і " +"процес завершується. Однак, якщо значенням є ``None``, тоді виникає :exc:" +"`ModuleNotFoundError`. Якщо ім’я модуля відсутнє, Python продовжить пошук " +"модуля." + +msgid "" +":data:`sys.modules` is writable. Deleting a key may not destroy the " +"associated module (as other modules may hold references to it), but it will " +"invalidate the cache entry for the named module, causing Python to search " +"anew for the named module upon its next import. The key can also be assigned " +"to ``None``, forcing the next import of the module to result in a :exc:" +"`ModuleNotFoundError`." +msgstr "" +":data:`sys.modules` доступний для запису. Видалення ключа може не знищити " +"пов’язаний модуль (оскільки інші модулі можуть містити посилання на нього), " +"але це зробить недійсним запис кешу для названого модуля, змусивши Python " +"знову шукати названий модуль під час наступного імпорту. Ключ також може " +"бути призначений як ``None``, змушуючи наступний імпорт модуля призводити " +"до :exc:`ModuleNotFoundError`." + +msgid "" +"Beware though, as if you keep a reference to the module object, invalidate " +"its cache entry in :data:`sys.modules`, and then re-import the named module, " +"the two module objects will *not* be the same. By contrast, :func:`importlib." +"reload` will reuse the *same* module object, and simply reinitialise the " +"module contents by rerunning the module's code." +msgstr "" +"Але будьте обережні: якби ви зберегли посилання на об’єкт модуля, зробили " +"недійсним запис кешу в :data:`sys.modules`, а потім повторно імпортували " +"названий модуль, два об’єкти модуля *не* будуть однаковими. Навпаки, :func:" +"`importlib.reload` повторно використовуватиме *той самий* об’єкт модуля та " +"просто повторно ініціалізує вміст модуля, повторно запускаючи код модуля." + +msgid "Finders and loaders" +msgstr "Шукачі та вантажники" + +msgid "" +"If the named module is not found in :data:`sys.modules`, then Python's " +"import protocol is invoked to find and load the module. This protocol " +"consists of two conceptual objects, :term:`finders ` and :term:" +"`loaders `. A finder's job is to determine whether it can find the " +"named module using whatever strategy it knows about. Objects that implement " +"both of these interfaces are referred to as :term:`importers ` - " +"they return themselves when they find that they can load the requested " +"module." +msgstr "" +"Якщо названий модуль не знайдено в :data:`sys.modules`, тоді для пошуку та " +"завантаження модуля викликається протокол імпорту Python. Цей протокол " +"складається з двох концептуальних об’єктів, :term:`finders ` і :term:" +"`loaders `. Робота шукача полягає в тому, щоб визначити, чи зможе " +"він знайти названий модуль, використовуючи ту стратегію, про яку він знає. " +"Об’єкти, які реалізують обидва ці інтерфейси, називаються :term:`імпортерами " +"` — вони повертаються самі, коли виявляють, що можуть завантажити " +"запитаний модуль." + +msgid "" +"Python includes a number of default finders and importers. The first one " +"knows how to locate built-in modules, and the second knows how to locate " +"frozen modules. A third default finder searches an :term:`import path` for " +"modules. The :term:`import path` is a list of locations that may name file " +"system paths or zip files. It can also be extended to search for any " +"locatable resource, such as those identified by URLs." +msgstr "" +"Python містить ряд засобів пошуку та імпорту за замовчуванням. Перший знає, " +"як знайти вбудовані модулі, а другий знає, як знайти заморожені модулі. " +"Третій засіб пошуку за умовчанням шукає модулі в :term:`шляху імпорту " +"`. :term:`шлях імпорту ` — це список розташувань, " +"які можуть іменувати шляхи файлової системи або файли zip. Його також можна " +"розширити для пошуку будь-якого ресурсу, який можна знайти, наприклад, " +"ідентифікованого за URL-адресами." + +msgid "" +"The import machinery is extensible, so new finders can be added to extend " +"the range and scope of module searching." +msgstr "" +"Механізм імпорту можна розширювати, тому можна додавати нові шукачі, щоб " +"розширити діапазон і обсяг пошуку модулів." + +msgid "" +"Finders do not actually load modules. If they can find the named module, " +"they return a :dfn:`module spec`, an encapsulation of the module's import-" +"related information, which the import machinery then uses when loading the " +"module." +msgstr "" +"Шукачі фактично не завантажують модулі. Якщо їм вдається знайти названий " +"модуль, вони повертають :dfn:`module spec`, інкапсуляцію інформації, " +"пов’язаної з імпортом модуля, яку потім використовує механізм імпорту під " +"час завантаження модуля." + +msgid "" +"The following sections describe the protocol for finders and loaders in more " +"detail, including how you can create and register new ones to extend the " +"import machinery." +msgstr "" +"У наступних розділах більш детально описано протоколи для шукачів і " +"завантажувачів, зокрема те, як ви можете створити та зареєструвати нові " +"протоколи для розширення механізму імпорту." + +msgid "" +"In previous versions of Python, finders returned :term:`loaders ` " +"directly, whereas now they return module specs which *contain* loaders. " +"Loaders are still used during import but have fewer responsibilities." +msgstr "" +"У попередніх версіях Python шукачі повертали :term:`loaders ` " +"безпосередньо, тоді як тепер вони повертають специфікації модулів, які " +"*містять* завантажувачі. Завантажувачі все ще використовуються під час " +"імпорту, але мають менше обов’язків." + +msgid "Import hooks" +msgstr "Імпортні гачки" + +msgid "" +"The import machinery is designed to be extensible; the primary mechanism for " +"this are the *import hooks*. There are two types of import hooks: *meta " +"hooks* and *import path hooks*." +msgstr "" +"Імпортна техніка розрахована на розширення; основним механізмом для цього є " +"*перехоплення імпорту*. Існує два типи хуків імпорту: *мета-хуки* та *хуки " +"шляху імпорту*." + +msgid "" +"Meta hooks are called at the start of import processing, before any other " +"import processing has occurred, other than :data:`sys.modules` cache look " +"up. This allows meta hooks to override :data:`sys.path` processing, frozen " +"modules, or even built-in modules. Meta hooks are registered by adding new " +"finder objects to :data:`sys.meta_path`, as described below." +msgstr "" +"Мета-хуки викликаються на початку обробки імпорту, до того, як відбулася " +"будь-яка інша обробка імпорту, окрім пошуку кешу :data:`sys.modules`. Це " +"дозволяє мета-хукам перевизначати :data:`sys.path` обробку, заморожені " +"модулі або навіть вбудовані модулі. Мета-хуки реєструються шляхом додавання " +"нових об’єктів пошуку до :data:`sys.meta_path`, як описано нижче." + +msgid "" +"Import path hooks are called as part of :data:`sys.path` (or ``package." +"__path__``) processing, at the point where their associated path item is " +"encountered. Import path hooks are registered by adding new callables to :" +"data:`sys.path_hooks` as described below." +msgstr "" +"Перехоплювачі шляхів імпорту викликаються як частина обробки :data:`sys." +"path` (або ``package.__path__``) у точці, де зустрічається пов’язаний з ними " +"елемент шляху. Хуки шляхів імпорту реєструються шляхом додавання нових " +"викликів до :data:`sys.path_hooks`, як описано нижче." + +msgid "The meta path" +msgstr "Меташлях" + +msgid "" +"When the named module is not found in :data:`sys.modules`, Python next " +"searches :data:`sys.meta_path`, which contains a list of meta path finder " +"objects. These finders are queried in order to see if they know how to " +"handle the named module. Meta path finders must implement a method called :" +"meth:`~importlib.abc.MetaPathFinder.find_spec()` which takes three " +"arguments: a name, an import path, and (optionally) a target module. The " +"meta path finder can use any strategy it wants to determine whether it can " +"handle the named module or not." +msgstr "" +"Якщо вказаний модуль не знайдено в :data:`sys.modules`, Python далі шукає :" +"data:`sys.meta_path`, який містить список об’єктів пошуку мета-шляху. Ці " +"шукачі запитуються, щоб побачити, чи знають вони, як працювати з названим " +"модулем. Шукачі меташляхів повинні реалізувати метод під назвою :meth:" +"`~importlib.abc.MetaPathFinder.find_spec()`, який приймає три аргументи: " +"ім’я, шлях імпорту та (необов’язково) цільовий модуль. Шукач меташляху може " +"використовувати будь-яку стратегію, щоб визначити, чи може він обробляти " +"названий модуль чи ні." + +msgid "" +"If the meta path finder knows how to handle the named module, it returns a " +"spec object. If it cannot handle the named module, it returns ``None``. " +"If :data:`sys.meta_path` processing reaches the end of its list without " +"returning a spec, then a :exc:`ModuleNotFoundError` is raised. Any other " +"exceptions raised are simply propagated up, aborting the import process." +msgstr "" +"Якщо засіб пошуку меташляху знає, як обробляти названий модуль, він повертає " +"специфікаційний об’єкт. Якщо він не може обробити названий модуль, він " +"повертає ``None``. Якщо обробка :data:`sys.meta_path` досягає кінця свого " +"списку без повернення специфікації, тоді виникає :exc:`ModuleNotFoundError`. " +"Будь-які інші викликані винятки просто поширюються, перериваючи процес " +"імпорту." + +msgid "" +"The :meth:`~importlib.abc.MetaPathFinder.find_spec()` method of meta path " +"finders is called with two or three arguments. The first is the fully " +"qualified name of the module being imported, for example ``foo.bar.baz``. " +"The second argument is the path entries to use for the module search. For " +"top-level modules, the second argument is ``None``, but for submodules or " +"subpackages, the second argument is the value of the parent package's " +"``__path__`` attribute. If the appropriate ``__path__`` attribute cannot be " +"accessed, a :exc:`ModuleNotFoundError` is raised. The third argument is an " +"existing module object that will be the target of loading later. The import " +"system passes in a target module only during reload." +msgstr "" +"Метод :meth:`~importlib.abc.MetaPathFinder.find_spec()` засобів пошуку " +"меташляху викликається з двома або трьома аргументами. Перше — це повна " +"назва модуля, який імпортується, наприклад ``foo.bar.baz``. Другим " +"аргументом є записи шляху, які слід використовувати для пошуку модулів. Для " +"модулів верхнього рівня другим аргументом є ``None``, але для підмодулів або " +"підпакетів другим аргументом є значення атрибута ``__path__`` батьківського " +"пакета. Якщо неможливо отримати доступ до відповідного атрибута " +"``__path__``, виникає :exc:`ModuleNotFoundError`. Третій аргумент — це " +"існуючий об’єкт модуля, який буде метою завантаження пізніше. Система " +"імпорту передає цільовий модуль лише під час перезавантаження." + +msgid "" +"The meta path may be traversed multiple times for a single import request. " +"For example, assuming none of the modules involved has already been cached, " +"importing ``foo.bar.baz`` will first perform a top level import, calling " +"``mpf.find_spec(\"foo\", None, None)`` on each meta path finder (``mpf``). " +"After ``foo`` has been imported, ``foo.bar`` will be imported by traversing " +"the meta path a second time, calling ``mpf.find_spec(\"foo.bar\", foo." +"__path__, None)``. Once ``foo.bar`` has been imported, the final traversal " +"will call ``mpf.find_spec(\"foo.bar.baz\", foo.bar.__path__, None)``." +msgstr "" +"Мета-шлях може проходити кілька разів для одного запиту на імпорт. " +"Наприклад, якщо припустити, що жоден із задіяних модулів уже не кешовано, " +"імпорт ``foo.bar.baz`` спочатку виконає імпорт верхнього рівня, викликаючи " +"``mpf.find_spec(\"foo\", None, None)`` на шукач кожного меташляху (``mpf``). " +"Після того, як ``foo`` було імпортовано, ``foo.bar`` буде імпортовано шляхом " +"проходження меташляху вдруге, викликавши ``mpf.find_spec(\"foo.bar\", foo." +"__path__, None)`` . Після того, як ``foo.bar`` буде імпортовано, остаточний " +"обхід викличе ``mpf.find_spec(\"foo.bar.baz\", foo.bar.__path__, None)``." + +msgid "" +"Some meta path finders only support top level imports. These importers will " +"always return ``None`` when anything other than ``None`` is passed as the " +"second argument." +msgstr "" +"Деякі засоби пошуку меташляхів підтримують лише імпорт верхнього рівня. Ці " +"імпортери завжди повертатимуть ``None``, якщо будь-що інше, ніж ``None``, " +"передається як другий аргумент." + +msgid "" +"Python's default :data:`sys.meta_path` has three meta path finders, one that " +"knows how to import built-in modules, one that knows how to import frozen " +"modules, and one that knows how to import modules from an :term:`import " +"path` (i.e. the :term:`path based finder`)." +msgstr "" +"За замовчуванням :data:`sys.meta_path` Python має три засоби пошуку " +"меташляху: один, який знає, як імпортувати вбудовані модулі, інший, який " +"знає, як імпортувати заморожені модулі, і інший, який знає, як імпортувати " +"модулі зі шляху імпорту (:term:`import path`, тобто :term:`path based " +"finder`)." + +msgid "" +"The :meth:`~importlib.abc.MetaPathFinder.find_spec` method of meta path " +"finders replaced :meth:`~importlib.abc.MetaPathFinder.find_module`, which is " +"now deprecated. While it will continue to work without change, the import " +"machinery will try it only if the finder does not implement ``find_spec()``." +msgstr "" +"Метод :meth:`~importlib.abc.MetaPathFinder.find_spec` для пошуку меташляхів " +"замінив :meth:`~importlib.abc.MetaPathFinder.find_module`, який зараз не " +"підтримується. Хоча він продовжуватиме працювати без змін, механізм імпорту " +"спробує його, лише якщо шукач не реалізує ``find_spec()``." + +msgid "" +"Use of :meth:`~importlib.abc.MetaPathFinder.find_module` by the import " +"system now raises :exc:`ImportWarning`." +msgstr "" +"Використання :meth:`~importlib.abc.MetaPathFinder.find_module` системою " +"імпорту тепер викликає :exc:`ImportWarning`." + +msgid "Loading" +msgstr "Завантаження" + +msgid "" +"If and when a module spec is found, the import machinery will use it (and " +"the loader it contains) when loading the module. Here is an approximation " +"of what happens during the loading portion of import::" +msgstr "" +"Якщо специфікація модуля буде знайдена, механізм імпорту використовуватиме " +"її (і завантажувач, який вона містить) під час завантаження модуля. Ось " +"приблизно те, що відбувається під час завантаження частини імпорту:" + +msgid "Note the following details:" +msgstr "Зверніть увагу на такі деталі:" + +msgid "" +"If there is an existing module object with the given name in :data:`sys." +"modules`, import will have already returned it." +msgstr "" +"Якщо в :data:`sys.modules` є існуючий об’єкт модуля з вказаною назвою, " +"імпортування його вже повернуло." + +msgid "" +"The module will exist in :data:`sys.modules` before the loader executes the " +"module code. This is crucial because the module code may (directly or " +"indirectly) import itself; adding it to :data:`sys.modules` beforehand " +"prevents unbounded recursion in the worst case and multiple loading in the " +"best." +msgstr "" +"Модуль існуватиме в :data:`sys.modules` до того, як завантажувач виконає код " +"модуля. Це важливо, оскільки код модуля може (прямо чи опосередковано) " +"імпортувати сам себе; додавання його до :data:`sys.modules` заздалегідь " +"запобігає необмеженій рекурсії в гіршому випадку та багаторазовому " +"завантаженню в найкращому." + +msgid "" +"If loading fails, the failing module -- and only the failing module -- gets " +"removed from :data:`sys.modules`. Any module already in the :data:`sys." +"modules` cache, and any module that was successfully loaded as a side-" +"effect, must remain in the cache. This contrasts with reloading where even " +"the failing module is left in :data:`sys.modules`." +msgstr "" +"Якщо завантаження не вдасться, модуль із помилкою -- і тільки модуль із " +"помилкою -- видаляється з :data:`sys.modules`. Будь-який модуль, який уже " +"знаходиться в кеші :data:`sys.modules`, і будь-який модуль, який було " +"успішно завантажено як побічний ефект, повинні залишатися в кеші. Це " +"контрастує з перезавантаженням, коли навіть несправний модуль залишається в :" +"data:`sys.modules`." + +msgid "" +"After the module is created but before execution, the import machinery sets " +"the import-related module attributes (\"_init_module_attrs\" in the pseudo-" +"code example above), as summarized in a :ref:`later section `." +msgstr "" +"Після створення модуля, але перед його виконанням, механізм імпорту " +"встановлює пов’язані з імпортом атрибути модуля (\"_init_module_attrs\" у " +"наведеному вище прикладі псевдокоду), як підсумовано в :ref:`пізнішому " +"розділі `." + +msgid "" +"Module execution is the key moment of loading in which the module's " +"namespace gets populated. Execution is entirely delegated to the loader, " +"which gets to decide what gets populated and how." +msgstr "" +"Виконання модуля є ключовим моментом завантаження, під час якого простір " +"імен модуля заповнюється. Виконання повністю делеговано завантажувачу, який " +"вирішує, що заповнювати і як." + +msgid "" +"The module created during loading and passed to exec_module() may not be the " +"one returned at the end of import [#fnlo]_." +msgstr "" +"Модуль, створений під час завантаження та переданий у exec_module(), може не " +"бути тим, що повертається в кінці імпорту [#fnlo]_." + +msgid "" +"The import system has taken over the boilerplate responsibilities of " +"loaders. These were previously performed by the :meth:`importlib.abc.Loader." +"load_module` method." +msgstr "" +"Система імпорту взяла на себе шаблонні обов’язки вантажників. Раніше вони " +"виконувалися методом :meth:`importlib.abc.Loader.load_module`." + +msgid "Loaders" +msgstr "Вантажники" + +msgid "" +"Module loaders provide the critical function of loading: module execution. " +"The import machinery calls the :meth:`importlib.abc.Loader.exec_module` " +"method with a single argument, the module object to execute. Any value " +"returned from :meth:`~importlib.abc.Loader.exec_module` is ignored." +msgstr "" +"Завантажувачі модулів забезпечують критичну функцію завантаження: виконання " +"модуля. Механізм імпорту викликає метод :meth:`importlib.abc.Loader." +"exec_module` з одним аргументом, об’єктом модуля, який потрібно виконати. " +"Будь-яке значення, повернуте з :meth:`~importlib.abc.Loader.exec_module` " +"ігнорується." + +msgid "Loaders must satisfy the following requirements:" +msgstr "Вантажники повинні відповідати таким вимогам:" + +msgid "" +"If the module is a Python module (as opposed to a built-in module or a " +"dynamically loaded extension), the loader should execute the module's code " +"in the module's global name space (``module.__dict__``)." +msgstr "" +"Якщо модуль є модулем Python (на відміну від вбудованого модуля або " +"динамічно завантажуваного розширення), завантажувач повинен виконати код " +"модуля в глобальному просторі імен модуля (``module.__dict__``)." + +msgid "" +"If the loader cannot execute the module, it should raise an :exc:" +"`ImportError`, although any other exception raised during :meth:`~importlib." +"abc.Loader.exec_module` will be propagated." +msgstr "" +"Якщо завантажувач не може виконати модуль, він має викликати :exc:" +"`ImportError`, хоча будь-які інші винятки, викликані під час :meth:" +"`~importlib.abc.Loader.exec_module`, будуть поширені." + +msgid "" +"In many cases, the finder and loader can be the same object; in such cases " +"the :meth:`~importlib.abc.MetaPathFinder.find_spec` method would just return " +"a spec with the loader set to ``self``." +msgstr "" +"У багатьох випадках шукач і завантажувач можуть бути одним і тим же " +"об'єктом; у таких випадках метод :meth:`~importlib.abc.MetaPathFinder." +"find_spec` просто повертатиме специфікацію із завантажувачем, встановленим " +"на ``self``." + +msgid "" +"Module loaders may opt in to creating the module object during loading by " +"implementing a :meth:`~importlib.abc.Loader.create_module` method. It takes " +"one argument, the module spec, and returns the new module object to use " +"during loading. ``create_module()`` does not need to set any attributes on " +"the module object. If the method returns ``None``, the import machinery " +"will create the new module itself." +msgstr "" +"Завантажувачі модулів можуть вибрати створення об’єкта модуля під час " +"завантаження, реалізувавши метод :meth:`~importlib.abc.Loader." +"create_module`. Він приймає один аргумент, специфікацію модуля, і повертає " +"новий об’єкт модуля для використання під час завантаження. " +"``create_module()`` не потребує встановлення жодних атрибутів для об’єкта " +"модуля. Якщо метод повертає ``None``, механізм імпорту створить новий модуль " +"сам." + +msgid "The :meth:`~importlib.abc.Loader.create_module` method of loaders." +msgstr "Метод завантажувачів :meth:`~importlib.abc.Loader.create_module`." + +msgid "" +"The :meth:`~importlib.abc.Loader.load_module` method was replaced by :meth:" +"`~importlib.abc.Loader.exec_module` and the import machinery assumed all the " +"boilerplate responsibilities of loading." +msgstr "" +"Метод :meth:`~importlib.abc.Loader.load_module` було замінено на :meth:" +"`~importlib.abc.Loader.exec_module`, а механізм імпорту взяв на себе всі " +"шаблонні обов’язки щодо завантаження." + +msgid "" +"For compatibility with existing loaders, the import machinery will use the " +"``load_module()`` method of loaders if it exists and the loader does not " +"also implement ``exec_module()``. However, ``load_module()`` has been " +"deprecated and loaders should implement ``exec_module()`` instead." +msgstr "" +"Для сумісності з існуючими завантажувачами механізм імпорту " +"використовуватиме метод завантажувачів ``load_module()``, якщо він існує, а " +"завантажувач також не реалізує ``exec_module()``. Однак ``load_module()`` " +"застаріло, і завантажувачі повинні використовувати ``exec_module()`` замість " +"нього." + +msgid "" +"The ``load_module()`` method must implement all the boilerplate loading " +"functionality described above in addition to executing the module. All the " +"same constraints apply, with some additional clarification:" +msgstr "" +"Метод ``load_module()`` має реалізовувати всі стандартні функції " +"завантаження, описані вище, на додаток до виконання модуля. Застосовуються " +"ті самі обмеження з деякими додатковими уточненнями:" + +msgid "" +"If there is an existing module object with the given name in :data:`sys." +"modules`, the loader must use that existing module. (Otherwise, :func:" +"`importlib.reload` will not work correctly.) If the named module does not " +"exist in :data:`sys.modules`, the loader must create a new module object and " +"add it to :data:`sys.modules`." +msgstr "" +"Якщо в :data:`sys.modules` є існуючий об’єкт модуля з вказаною назвою, " +"завантажувач повинен використати цей існуючий модуль. (Інакше :func:" +"`importlib.reload` не працюватиме належним чином.) Якщо названий модуль не " +"існує в :data:`sys.modules`, завантажувач має створити новий об’єкт модуля " +"та додати його до :data:`sys.modules`." + +msgid "" +"The module *must* exist in :data:`sys.modules` before the loader executes " +"the module code, to prevent unbounded recursion or multiple loading." +msgstr "" +"Модуль *має* існувати в :data:`sys.modules` до того, як завантажувач виконає " +"код модуля, щоб запобігти необмеженій рекурсії або багаторазовому " +"завантаженню." + +msgid "" +"If loading fails, the loader must remove any modules it has inserted into :" +"data:`sys.modules`, but it must remove **only** the failing module(s), and " +"only if the loader itself has loaded the module(s) explicitly." +msgstr "" +"Якщо завантаження не вдається, завантажувач повинен видалити будь-які " +"модулі, які він вставив у :data:`sys.modules`, але він повинен видалити " +"**лише** модуль(и) з помилкою, і лише якщо завантажувач сам завантажив " +"модуль( s) явно." + +msgid "" +"A :exc:`DeprecationWarning` is raised when ``exec_module()`` is defined but " +"``create_module()`` is not." +msgstr "" +":exc:`DeprecationWarning` виникає, коли ``exec_module()`` визначено, а " +"``create_module()`` ні." + +msgid "" +"An :exc:`ImportError` is raised when ``exec_module()`` is defined but " +"``create_module()`` is not." +msgstr "" +"Помилка :exc:`ImportError` виникає, коли ``exec_module()`` визначено, а " +"``create_module()`` ні." + +msgid "Use of ``load_module()`` will raise :exc:`ImportWarning`." +msgstr "Використання ``load_module()`` призведе до :exc:`ImportWarning`." + +msgid "Submodules" +msgstr "Підмодулі" + +msgid "" +"When a submodule is loaded using any mechanism (e.g. ``importlib`` APIs, the " +"``import`` or ``import-from`` statements, or built-in ``__import__()``) a " +"binding is placed in the parent module's namespace to the submodule object. " +"For example, if package ``spam`` has a submodule ``foo``, after importing " +"``spam.foo``, ``spam`` will have an attribute ``foo`` which is bound to the " +"submodule. Let's say you have the following directory structure::" +msgstr "" +"Коли підмодуль завантажується за допомогою будь-якого механізму (наприклад, " +"``importlib`` API, ``import`` або ``import-from`` оператори, або вбудований " +"``__import__()``), прив’язка розміщується в простір імен батьківського " +"модуля до об’єкта підмодуля. Наприклад, якщо пакет ``spam`` має підмодуль " +"``foo``, після імпорту ``spam.foo``, ``spam`` матиме атрибут ``foo``, який " +"прив’язаний до підмодуля. Скажімо, у вас є така структура каталогів:" + +msgid "and ``spam/__init__.py`` has the following line in it::" +msgstr "а ``spam/__init__.py`` містить такий рядок::" + +msgid "" +"then executing the following puts name bindings for ``foo`` and ``Foo`` in " +"the ``spam`` module::" +msgstr "" +"потім виконання наступного ставить прив’язки імен для ``foo`` і ``Foo`` в " +"``spam`` модуль::" + +msgid "" +"Given Python's familiar name binding rules this might seem surprising, but " +"it's actually a fundamental feature of the import system. The invariant " +"holding is that if you have ``sys.modules['spam']`` and ``sys.modules['spam." +"foo']`` (as you would after the above import), the latter must appear as the " +"``foo`` attribute of the former." +msgstr "" +"Враховуючи знайомі правила прив’язки імен Python, це може здатися дивним, " +"але насправді це фундаментальна функція системи імпорту. Незмінним є те, що " +"якщо у вас є ``sys.modules['spam']`` і ``sys.modules['spam.foo']`` (як після " +"імпорту вище), останній повинен відображатися як атрибут ``foo`` першого." + +msgid "Module spec" +msgstr "Специфікація модуля" + +msgid "" +"The import machinery uses a variety of information about each module during " +"import, especially before loading. Most of the information is common to all " +"modules. The purpose of a module's spec is to encapsulate this import-" +"related information on a per-module basis." +msgstr "" +"Механізм імпорту використовує різноманітну інформацію про кожен модуль під " +"час імпорту, особливо перед завантаженням. Більшість інформації є спільною " +"для всіх модулів. Метою специфікації модуля є інкапсуляція цієї інформації, " +"пов’язаної з імпортом, на основі кожного модуля." + +msgid "" +"Using a spec during import allows state to be transferred between import " +"system components, e.g. between the finder that creates the module spec and " +"the loader that executes it. Most importantly, it allows the import " +"machinery to perform the boilerplate operations of loading, whereas without " +"a module spec the loader had that responsibility." +msgstr "" +"Використання специфікації під час імпорту дозволяє передавати стан між " +"компонентами системи імпорту, наприклад. між шукачем, який створює " +"специфікацію модуля, і завантажувачем, який його виконує. Найважливіше те, " +"що це дозволяє імпортним механізмам виконувати стандартні операції " +"завантаження, тоді як без специфікації модуля цю відповідальність несе " +"завантажувач." + +msgid "" +"The module's spec is exposed as the ``__spec__`` attribute on a module " +"object. See :class:`~importlib.machinery.ModuleSpec` for details on the " +"contents of the module spec." +msgstr "" +"Специфікація модуля представлена як атрибут ``__spec__`` в об’єкті модуля. " +"Дивіться :class:`~importlib.machinery.ModuleSpec`, щоб дізнатися більше про " +"вміст специфікації модуля." + +msgid "Import-related module attributes" +msgstr "Атрибути модуля, пов’язані з імпортом" + +msgid "" +"The import machinery fills in these attributes on each module object during " +"loading, based on the module's spec, before the loader executes the module." +msgstr "" +"Механізм імпорту заповнює ці атрибути кожного об’єкта модуля під час " +"завантаження на основі специфікації модуля, перш ніж завантажувач виконає " +"модуль." + +msgid "" +"The ``__name__`` attribute must be set to the fully qualified name of the " +"module. This name is used to uniquely identify the module in the import " +"system." +msgstr "" + +msgid "" +"The ``__loader__`` attribute must be set to the loader object that the " +"import machinery used when loading the module. This is mostly for " +"introspection, but can be used for additional loader-specific functionality, " +"for example getting data associated with a loader." +msgstr "" +"Атрибут ``__loader__`` повинен бути встановлений на об’єкт завантажувача, " +"який імпорт використовував під час завантаження модуля. Це здебільшого для " +"самоаналізу, але може використовуватися для додаткових функцій " +"завантажувача, наприклад для отримання даних, пов’язаних із завантажувачем." + +msgid "" +"The module's ``__package__`` attribute must be set. Its value must be a " +"string, but it can be the same value as its ``__name__``. When the module " +"is a package, its ``__package__`` value should be set to its ``__name__``. " +"When the module is not a package, ``__package__`` should be set to the empty " +"string for top-level modules, or for submodules, to the parent package's " +"name. See :pep:`366` for further details." +msgstr "" +"Необхідно встановити атрибут ``__package__`` модуля. Його значення має бути " +"рядком, але воно може збігатися з його ``__name__``. Якщо модуль є пакетом, " +"його значення ``__package__`` має бути встановлено на його ``__name__``. " +"Якщо модуль не є пакетом, для ``__package__`` має бути встановлено порожній " +"рядок для модулів верхнього рівня або для підмодулів — ім’я батьківського " +"пакета. Додаткові відомості див. :pep:`366`." + +msgid "" +"This attribute is used instead of ``__name__`` to calculate explicit " +"relative imports for main modules, as defined in :pep:`366`. It is expected " +"to have the same value as ``__spec__.parent``." +msgstr "" +"Цей атрибут використовується замість ``__name__`` для обчислення явного " +"відносного імпорту для основних модулів, як визначено в :pep:`366`. " +"Очікується, що він матиме те саме значення, що й ``__spec__.parent``." + +msgid "" +"The value of ``__package__`` is expected to be the same as ``__spec__." +"parent``." +msgstr "" +"Очікується, що значення ``__package__`` буде таким самим, як ``__spec__." +"parent``." + +msgid "" +"The ``__spec__`` attribute must be set to the module spec that was used when " +"importing the module. Setting ``__spec__`` appropriately applies equally to :" +"ref:`modules initialized during interpreter startup `. The one " +"exception is ``__main__``, where ``__spec__`` is :ref:`set to None in some " +"cases `." +msgstr "" +"Атрибут ``__spec__`` має бути встановлений на специфікацію модуля, яка " +"використовувалася під час імпорту модуля. Налаштування ``__spec__`` належним " +"чином застосовується до :ref:`модулів, ініціалізованих під час запуску " +"інтерпретатора `. Єдиним винятком є ``__main__``, де ``__spec__`` :" +"ref:`встановлено на None у деяких випадках `." + +msgid "" +"When ``__package__`` is not defined, ``__spec__.parent`` is used as a " +"fallback." +msgstr "" +"Якщо ``__package__`` не визначено, ``__spec__.parent`` використовується як " +"запасний варіант." + +msgid "" +"``__spec__.parent`` is used as a fallback when ``__package__`` is not " +"defined." +msgstr "" +"``__spec__.parent`` використовується як запасний варіант, коли " +"``__package__`` не визначено." + +msgid "" +"If the module is a package (either regular or namespace), the module " +"object's ``__path__`` attribute must be set. The value must be iterable, " +"but may be empty if ``__path__`` has no further significance. If " +"``__path__`` is not empty, it must produce strings when iterated over. More " +"details on the semantics of ``__path__`` are given :ref:`below `." +msgstr "" +"Якщо модуль є пакетом (звичайним або простором імен), необхідно встановити " +"атрибут ``__path__`` об’єкта модуля. Значення має бути повторюваним, але " +"може бути порожнім, якщо ``__path__`` не має подальшого значення. Якщо " +"``__path__`` не порожній, він повинен створювати рядки під час повторення. " +"Детальніше про семантику ``__path__`` наведено :ref:`нижче `." + +msgid "Non-package modules should not have a ``__path__`` attribute." +msgstr "Непакетні модулі не повинні мати атрибут ``__path__``." + +msgid "" +"``__file__`` is optional (if set, value must be a string). It indicates the " +"pathname of the file from which the module was loaded (if loaded from a " +"file), or the pathname of the shared library file for extension modules " +"loaded dynamically from a shared library. It might be missing for certain " +"types of modules, such as C modules that are statically linked into the " +"interpreter, and the import system may opt to leave it unset if it has no " +"semantic meaning (e.g. a module loaded from a database)." +msgstr "" + +msgid "" +"If ``__file__`` is set then the ``__cached__`` attribute might also be set, " +"which is the path to any compiled version of the code (e.g. byte-compiled " +"file). The file does not need to exist to set this attribute; the path can " +"simply point to where the compiled file would exist (see :pep:`3147`)." +msgstr "" + +msgid "" +"Note that ``__cached__`` may be set even if ``__file__`` is not set. " +"However, that scenario is quite atypical. Ultimately, the loader is what " +"makes use of the module spec provided by the finder (from which ``__file__`` " +"and ``__cached__`` are derived). So if a loader can load from a cached " +"module but otherwise does not load from a file, that atypical scenario may " +"be appropriate." +msgstr "" + +msgid "module.__path__" +msgstr "module.__path__" + +msgid "" +"By definition, if a module has a ``__path__`` attribute, it is a package." +msgstr "За визначенням, якщо модуль має атрибут ``__path__``, це пакет." + +msgid "" +"A package's ``__path__`` attribute is used during imports of its " +"subpackages. Within the import machinery, it functions much the same as :" +"data:`sys.path`, i.e. providing a list of locations to search for modules " +"during import. However, ``__path__`` is typically much more constrained " +"than :data:`sys.path`." +msgstr "" +"Атрибут ``__path__`` пакета використовується під час імпорту його " +"підпакетів. У механізмі імпорту він функціонує майже так само, як :data:`sys." +"path`, тобто надає список місць для пошуку модулів під час імпорту. Однак " +"``__path__`` зазвичай набагато більш обмежений, ніж :data:`sys.path`." + +msgid "" +"``__path__`` must be an iterable of strings, but it may be empty. The same " +"rules used for :data:`sys.path` also apply to a package's ``__path__``, and :" +"data:`sys.path_hooks` (described below) are consulted when traversing a " +"package's ``__path__``." +msgstr "" +"``__path__`` має бути повторюваним рядком, але він може бути порожнім. Ті " +"самі правила, що використовуються для :data:`sys.path`, також застосовуються " +"до ``__path__`` пакета, а :data:`sys.path_hooks` (описані нижче) звертаються " +"під час проходження ``__path__`` пакета." + +msgid "" +"A package's ``__init__.py`` file may set or alter the package's ``__path__`` " +"attribute, and this was typically the way namespace packages were " +"implemented prior to :pep:`420`. With the adoption of :pep:`420`, namespace " +"packages no longer need to supply ``__init__.py`` files containing only " +"``__path__`` manipulation code; the import machinery automatically sets " +"``__path__`` correctly for the namespace package." +msgstr "" +"Файл ``__init__.py`` пакета може встановлювати або змінювати атрибут " +"``__path__`` пакета, і це був типовий спосіб реалізації пакетів простору " +"імен до :pep:`420`. Із застосуванням :pep:`420` пакетам простору імен більше " +"не потрібно надавати файли ``__init__.py``, що містять лише ``__path__`` код " +"маніпуляції; механізм імпорту автоматично встановлює ``__path__`` правильно " +"для пакета простору імен." + +msgid "Module reprs" +msgstr "Репрезентація модуля" + +msgid "" +"By default, all modules have a usable repr, however depending on the " +"attributes set above, and in the module's spec, you can more explicitly " +"control the repr of module objects." +msgstr "" +"За замовчуванням усі модулі мають придатне для використання відображення, " +"однак, залежно від атрибутів, налаштованих вище, і в специфікації модуля ви " +"можете чіткіше керувати відтворенням об’єктів модуля." + +msgid "" +"If the module has a spec (``__spec__``), the import machinery will try to " +"generate a repr from it. If that fails or there is no spec, the import " +"system will craft a default repr using whatever information is available on " +"the module. It will try to use the ``module.__name__``, ``module." +"__file__``, and ``module.__loader__`` as input into the repr, with defaults " +"for whatever information is missing." +msgstr "" +"Якщо модуль має специфікацію (``__spec__``), механізм імпорту спробує " +"згенерувати з неї repr. Якщо це не вдається або немає специфікації, система " +"імпорту створить відображення за замовчуванням, використовуючи будь-яку " +"інформацію, доступну в модулі. Він намагатиметься використати ``module." +"__name__``, ``module.__file__`` і ``module.__loader__`` як вхідні дані в " +"repr, із значеннями за замовчуванням для будь-якої інформації, якої немає." + +msgid "Here are the exact rules used:" +msgstr "Ось точні правила, які використовуються:" + +msgid "" +"If the module has a ``__spec__`` attribute, the information in the spec is " +"used to generate the repr. The \"name\", \"loader\", \"origin\", and " +"\"has_location\" attributes are consulted." +msgstr "" +"Якщо модуль має атрибут ``__spec__``, інформація в специфікації " +"використовується для створення repr. Переглядаються атрибути \"name\", " +"\"loader\", \"origin\" і \"has_location\"." + +msgid "" +"If the module has a ``__file__`` attribute, this is used as part of the " +"module's repr." +msgstr "" +"Якщо модуль має атрибут ``__file__``, він використовується як частина repr " +"модуля." + +msgid "" +"If the module has no ``__file__`` but does have a ``__loader__`` that is not " +"``None``, then the loader's repr is used as part of the module's repr." +msgstr "" +"Якщо модуль не має ``__file__``, але має ``__loader__``, який не є ``None``, " +"тоді repr завантажувача використовується як частина repr модуля." + +msgid "Otherwise, just use the module's ``__name__`` in the repr." +msgstr "В іншому випадку просто використовуйте ``__name__`` модуля в repr." + +msgid "" +"Use of :meth:`loader.module_repr() ` has " +"been deprecated and the module spec is now used by the import machinery to " +"generate a module repr." +msgstr "" +"Використання :meth:`loader.module_repr() ` " +"застаріло, і тепер специфікація модуля використовується механізмом імпорту " +"для створення модуля repr." + +msgid "" +"For backward compatibility with Python 3.3, the module repr will be " +"generated by calling the loader's :meth:`~importlib.abc.Loader.module_repr` " +"method, if defined, before trying either approach described above. However, " +"the method is deprecated." +msgstr "" +"Для зворотної сумісності з Python 3.3 модуль repr буде згенеровано шляхом " +"виклику методу :meth:`~importlib.abc.Loader.module_repr` завантажувача, якщо " +"він визначений, перед спробою будь-якого з описаних вище підходів. Однак " +"метод застарів." + +msgid "" +"Calling :meth:`~importlib.abc.Loader.module_repr` now occurs after trying to " +"use a module's ``__spec__`` attribute but before falling back on " +"``__file__``. Use of :meth:`~importlib.abc.Loader.module_repr` is slated to " +"stop in Python 3.12." +msgstr "" +"Виклик :meth:`~importlib.abc.Loader.module_repr` тепер відбувається після " +"спроби використати атрибут ``__spec__`` модуля, але перед поверненням до " +"``__file__``. Використання :meth:`~importlib.abc.Loader.module_repr` " +"планується припинити в Python 3.12." + +msgid "Cached bytecode invalidation" +msgstr "Анулювання кешованого байт-коду" + +msgid "" +"Before Python loads cached bytecode from a ``.pyc`` file, it checks whether " +"the cache is up-to-date with the source ``.py`` file. By default, Python " +"does this by storing the source's last-modified timestamp and size in the " +"cache file when writing it. At runtime, the import system then validates the " +"cache file by checking the stored metadata in the cache file against the " +"source's metadata." +msgstr "" +"Перед тим, як Python завантажить кешований байт-код із файлу ``.pyc``, він " +"перевіряє, чи оновлений кеш із вихідним файлом ``.py``. За замовчуванням " +"Python робить це, зберігаючи мітку часу останньої зміни джерела та розмір у " +"файлі кешу під час його запису. Під час виконання система імпорту потім " +"перевіряє кеш-файл, перевіряючи збережені в кеш-файлі метадані з метаданими " +"джерела." + +msgid "" +"Python also supports \"hash-based\" cache files, which store a hash of the " +"source file's contents rather than its metadata. There are two variants of " +"hash-based ``.pyc`` files: checked and unchecked. For checked hash-based ``." +"pyc`` files, Python validates the cache file by hashing the source file and " +"comparing the resulting hash with the hash in the cache file. If a checked " +"hash-based cache file is found to be invalid, Python regenerates it and " +"writes a new checked hash-based cache file. For unchecked hash-based ``." +"pyc`` files, Python simply assumes the cache file is valid if it exists. " +"Hash-based ``.pyc`` files validation behavior may be overridden with the :" +"option:`--check-hash-based-pycs` flag." +msgstr "" +"Python також підтримує кеш-файли на основі хешів, які зберігають хеш вмісту " +"вихідного файлу, а не його метаданих. Існує два варіанти хеш-файлів ``." +"pyc``: позначений і не позначений. Для перевірених хеш-файлів ``.pyc`` " +"Python перевіряє файл кешу, хешуючи вихідний файл і порівнюючи отриманий хеш " +"із хешем у файлі кешу. Якщо перевірений файл кешу на основі хешу виявляється " +"недійсним, Python повторно генерує його та записує новий перевірений файл " +"кешу на основі хешу. Для неперевірених файлів ``.pyc`` на основі хешу Python " +"просто припускає, що файл кешу дійсний, якщо він існує. Поведінка перевірки " +"файлів ``.pyc`` на основі хешу може бути замінена прапором :option:`--check-" +"hash-based-pycs`." + +msgid "" +"Added hash-based ``.pyc`` files. Previously, Python only supported timestamp-" +"based invalidation of bytecode caches." +msgstr "" +"Додано файли ``.pyc`` на основі хешу. Раніше Python підтримував лише " +"недійсність кешів байт-кодів на основі часових позначок." + +msgid "The Path Based Finder" +msgstr "Пошук на основі шляху" + +msgid "" +"As mentioned previously, Python comes with several default meta path " +"finders. One of these, called the :term:`path based finder` (:class:" +"`~importlib.machinery.PathFinder`), searches an :term:`import path`, which " +"contains a list of :term:`path entries `. Each path entry names " +"a location to search for modules." +msgstr "" +"Як згадувалося раніше, Python поставляється з декількома типовими засобами " +"пошуку меташляхів. Один із них, який називається :term:`пошук на основі " +"шляху` (:class:`~importlib.machinery.PathFinder`), шукає :term:`шлях " +"імпорту`, який містить список :term:`записів шляху `. Кожен " +"запис шляху називає розташування для пошуку модулів." + +msgid "" +"The path based finder itself doesn't know how to import anything. Instead, " +"it traverses the individual path entries, associating each of them with a " +"path entry finder that knows how to handle that particular kind of path." +msgstr "" +"Сам шукач на основі шляху не знає, як нічого імпортувати. Замість цього він " +"проходить окремі записи шляху, пов’язуючи кожен із них із інструментом " +"пошуку записів шляху, який знає, як обробляти цей конкретний шлях." + +msgid "" +"The default set of path entry finders implement all the semantics for " +"finding modules on the file system, handling special file types such as " +"Python source code (``.py`` files), Python byte code (``.pyc`` files) and " +"shared libraries (e.g. ``.so`` files). When supported by the :mod:" +"`zipimport` module in the standard library, the default path entry finders " +"also handle loading all of these file types (other than shared libraries) " +"from zipfiles." +msgstr "" +"Стандартний набір засобів пошуку шляхів реалізує всю семантику для пошуку " +"модулів у файловій системі, обробки спеціальних типів файлів, таких як " +"вихідний код Python (файли ``.py``), байт-код Python (файли ``.pyc``) і " +"спільні бібліотеки (наприклад, файли ``.so``). Якщо підтримується модулем :" +"mod:`zipimport` у стандартній бібліотеці, засоби пошуку шляхів за " +"замовчуванням також обробляють завантаження всіх цих типів файлів (окрім " +"спільних бібліотек) із файлів zip." + +msgid "" +"Path entries need not be limited to file system locations. They can refer " +"to URLs, database queries, or any other location that can be specified as a " +"string." +msgstr "" +"Записи шляху не повинні обмежуватися розташуванням файлової системи. Вони " +"можуть посилатися на URL-адреси, запити до бази даних або будь-яке інше " +"розташування, яке можна вказати як рядок." + +msgid "" +"The path based finder provides additional hooks and protocols so that you " +"can extend and customize the types of searchable path entries. For example, " +"if you wanted to support path entries as network URLs, you could write a " +"hook that implements HTTP semantics to find modules on the web. This hook " +"(a callable) would return a :term:`path entry finder` supporting the " +"protocol described below, which was then used to get a loader for the module " +"from the web." +msgstr "" +"Шукач на основі шляху надає додаткові перехоплювачі та протоколи, щоб ви " +"могли розширювати та налаштовувати типи записів шляху для пошуку. Наприклад, " +"якщо ви хочете підтримувати записи шляху як мережеві URL-адреси, ви можете " +"написати хук, який реалізує семантику HTTP для пошуку модулів в Інтернеті. " +"Цей хук (об’єкт виклику) повертав би :term:`path entry finder`, що підтримує " +"описаний нижче протокол, який потім використовувався для отримання " +"завантажувача для модуля з Інтернету." + +msgid "" +"A word of warning: this section and the previous both use the term *finder*, " +"distinguishing between them by using the terms :term:`meta path finder` and :" +"term:`path entry finder`. These two types of finders are very similar, " +"support similar protocols, and function in similar ways during the import " +"process, but it's important to keep in mind that they are subtly different. " +"In particular, meta path finders operate at the beginning of the import " +"process, as keyed off the :data:`sys.meta_path` traversal." +msgstr "" +"Попередження: у цьому та попередньому розділах використовується термін " +"*finder*, розрізняючи їх за допомогою термінів :term:`meta path finder` і :" +"term:`path entry finder`. Ці два типи шукачів дуже схожі, підтримують схожі " +"протоколи та функціонують однаково під час процесу імпорту, але важливо мати " +"на увазі, що вони дещо відрізняються. Зокрема, шукачі меташляху працюють на " +"початку процесу імпорту, як ключ від обходу :data:`sys.meta_path`." + +msgid "" +"By contrast, path entry finders are in a sense an implementation detail of " +"the path based finder, and in fact, if the path based finder were to be " +"removed from :data:`sys.meta_path`, none of the path entry finder semantics " +"would be invoked." +msgstr "" +"Навпаки, засоби пошуку запису шляху є в певному сенсі деталлю реалізації " +"засобу пошуку шляху, і фактично, якби засіб пошуку шляху було вилучено з :" +"data:`sys.meta_path`, жодна семантика засобу пошуку шляху не буде " +"викликатися." + +msgid "Path entry finders" +msgstr "Шукачі входу в шлях" + +msgid "" +"The :term:`path based finder` is responsible for finding and loading Python " +"modules and packages whose location is specified with a string :term:`path " +"entry`. Most path entries name locations in the file system, but they need " +"not be limited to this." +msgstr "" +":term:`path based finder` відповідає за пошук і завантаження модулів і " +"пакетів Python, розташування яких вказано за допомогою рядка :term:`path " +"entry`. Більшість записів шляхів іменують розташування у файловій системі, " +"але вони не повинні обмежуватися цим." + +msgid "" +"As a meta path finder, the :term:`path based finder` implements the :meth:" +"`~importlib.abc.MetaPathFinder.find_spec` protocol previously described, " +"however it exposes additional hooks that can be used to customize how " +"modules are found and loaded from the :term:`import path`." +msgstr "" +"Як мета-пошук шляху, :term:`пошук на основі шляху ` " +"реалізує :meth:`~importlib.abc.MetaPathFinder.find_spec` протокол, описаний " +"раніше, однак він надає додаткові перехоплювачі, які можна використовувати " +"для налаштування способу пошуку модулів і завантажується з :term:`шляху " +"імпорту `." + +msgid "" +"Three variables are used by the :term:`path based finder`, :data:`sys." +"path`, :data:`sys.path_hooks` and :data:`sys.path_importer_cache`. The " +"``__path__`` attributes on package objects are also used. These provide " +"additional ways that the import machinery can be customized." +msgstr "" +"Три змінні використовуються :term:`path based finder`, :data:`sys.path`, :" +"data:`sys.path_hooks` і :data:`sys.path_importer_cache`. Також " +"використовуються атрибути ``__path__`` об’єктів пакета. Це надає додаткові " +"способи налаштування імпортного обладнання." + +msgid "" +":data:`sys.path` contains a list of strings providing search locations for " +"modules and packages. It is initialized from the :data:`PYTHONPATH` " +"environment variable and various other installation- and implementation-" +"specific defaults. Entries in :data:`sys.path` can name directories on the " +"file system, zip files, and potentially other \"locations\" (see the :mod:" +"`site` module) that should be searched for modules, such as URLs, or " +"database queries. Only strings should be present on :data:`sys.path`; all " +"other data types are ignored." +msgstr "" + +msgid "" +"The :term:`path based finder` is a :term:`meta path finder`, so the import " +"machinery begins the :term:`import path` search by calling the path based " +"finder's :meth:`~importlib.machinery.PathFinder.find_spec` method as " +"described previously. When the ``path`` argument to :meth:`~importlib." +"machinery.PathFinder.find_spec` is given, it will be a list of string paths " +"to traverse - typically a package's ``__path__`` attribute for an import " +"within that package. If the ``path`` argument is ``None``, this indicates a " +"top level import and :data:`sys.path` is used." +msgstr "" +":term:`пошук на основі шляху ` є :term:`метапошуком шляху " +"`, тому механізм імпорту починає пошук :term:`шляху " +"імпорту `, викликаючи :meth:`~importlib.machinery.PathFinder " +"засобу пошуку на основі шляху метод .find_spec, як описано раніше. Коли " +"вказано аргумент ``path`` для :meth:`~importlib.machinery.PathFinder." +"find_spec`, це буде список шляхів до рядків, які потрібно пройти - зазвичай " +"атрибут ``__path__`` пакета для імпорту в цьому пакет. Якщо аргумент " +"``path`` має значення ``None``, це вказує на імпорт верхнього рівня та :data:" +"`sys.path` використовується." + +msgid "" +"The path based finder iterates over every entry in the search path, and for " +"each of these, looks for an appropriate :term:`path entry finder` (:class:" +"`~importlib.abc.PathEntryFinder`) for the path entry. Because this can be " +"an expensive operation (e.g. there may be ``stat()`` call overheads for this " +"search), the path based finder maintains a cache mapping path entries to " +"path entry finders. This cache is maintained in :data:`sys." +"path_importer_cache` (despite the name, this cache actually stores finder " +"objects rather than being limited to :term:`importer` objects). In this way, " +"the expensive search for a particular :term:`path entry` location's :term:" +"`path entry finder` need only be done once. User code is free to remove " +"cache entries from :data:`sys.path_importer_cache` forcing the path based " +"finder to perform the path entry search again [#fnpic]_." +msgstr "" + +msgid "" +"If the path entry is not present in the cache, the path based finder " +"iterates over every callable in :data:`sys.path_hooks`. Each of the :term:" +"`path entry hooks ` in this list is called with a single " +"argument, the path entry to be searched. This callable may either return a :" +"term:`path entry finder` that can handle the path entry, or it may raise :" +"exc:`ImportError`. An :exc:`ImportError` is used by the path based finder " +"to signal that the hook cannot find a :term:`path entry finder` for that :" +"term:`path entry`. The exception is ignored and :term:`import path` " +"iteration continues. The hook should expect either a string or bytes " +"object; the encoding of bytes objects is up to the hook (e.g. it may be a " +"file system encoding, UTF-8, or something else), and if the hook cannot " +"decode the argument, it should raise :exc:`ImportError`." +msgstr "" +"Якщо запису шляху немає в кеші, пошук на основі шляху повторює кожен виклик " +"у :data:`sys.path_hooks`. Кожен із :term:`перехоплювачів запису шляху ` у цьому списку викликається з одним аргументом, записом шляху, " +"який потрібно шукати. Цей виклик може повертати :term:`пошук запису шляху " +"`, який може обробити запис шляху, або може викликати :" +"exc:`ImportError`. Помилка :exc:`ImportError` використовується шукачем на " +"основі шляху, щоб сигналізувати про те, що хук не може знайти :term:`пошук " +"запису шляху ` для цього :term:`запису шляху `. Виняток ігнорується, і повторення :term:`шляху імпорту ` продовжується. Хук повинен очікувати об'єкт string або bytes; " +"кодування об’єктів bytes залежить від хука (наприклад, це може бути " +"кодування файлової системи, UTF-8 або щось інше), і якщо хук не може " +"декодувати аргумент, він має викликати :exc:`ImportError`." + +msgid "" +"If :data:`sys.path_hooks` iteration ends with no :term:`path entry finder` " +"being returned, then the path based finder's :meth:`~importlib.machinery." +"PathFinder.find_spec` method will store ``None`` in :data:`sys." +"path_importer_cache` (to indicate that there is no finder for this path " +"entry) and return ``None``, indicating that this :term:`meta path finder` " +"could not find the module." +msgstr "" +"Якщо :data:`sys.path_hooks` ітерація закінчується без повернення :term:`path " +"entry finder`, тоді метод пошуку на основі шляху :meth:`~importlib.machinery." +"PathFinder.find_spec` зберігатиме ``None`` у :data:`sys.path_importer_cache` " +"(щоб вказати, що немає засобу пошуку для цього запису шляху) і повернути " +"``None``, вказуючи, що цей :term:`meta path finder` не зміг знайти модуль." + +msgid "" +"If a :term:`path entry finder` *is* returned by one of the :term:`path entry " +"hook` callables on :data:`sys.path_hooks`, then the following protocol is " +"used to ask the finder for a module spec, which is then used when loading " +"the module." +msgstr "" +"Якщо :term:`path entry finder` *повертається* одним із викликів :term:`path " +"entry hook` на :data:`sys.path_hooks`, тоді використовується наступний " +"протокол, щоб запитати модуль на пошуковик spec, який потім використовується " +"під час завантаження модуля." + +msgid "" +"The current working directory -- denoted by an empty string -- is handled " +"slightly differently from other entries on :data:`sys.path`. First, if the " +"current working directory is found to not exist, no value is stored in :data:" +"`sys.path_importer_cache`. Second, the value for the current working " +"directory is looked up fresh for each module lookup. Third, the path used " +"for :data:`sys.path_importer_cache` and returned by :meth:`importlib." +"machinery.PathFinder.find_spec` will be the actual current working directory " +"and not the empty string." +msgstr "" +"Поточний робочий каталог, позначений порожнім рядком, обробляється дещо " +"інакше, ніж інші записи в :data:`sys.path`. По-перше, якщо поточний робочий " +"каталог не існує, жодне значення не зберігається в :data:`sys." +"path_importer_cache`. По-друге, значення для поточного робочого каталогу " +"оновлюється для кожного пошуку модуля. По-третє, шлях, який використовується " +"для :data:`sys.path_importer_cache` і повертається :meth:`importlib." +"machinery.PathFinder.find_spec`, буде фактичним поточним робочим каталогом, " +"а не порожнім рядком." + +msgid "Path entry finder protocol" +msgstr "Протокол пошуку входу шляху" + +msgid "" +"In order to support imports of modules and initialized packages and also to " +"contribute portions to namespace packages, path entry finders must implement " +"the :meth:`~importlib.abc.PathEntryFinder.find_spec` method." +msgstr "" +"Для того, щоб підтримувати імпорт модулів та ініціалізованих пакетів, а " +"також вносити частини до пакетів простору імен, засоби пошуку запису шляху " +"повинні реалізувати метод :meth:`~importlib.abc.PathEntryFinder.find_spec`." + +msgid "" +":meth:`~importlib.abc.PathEntryFinder.find_spec` takes two arguments: the " +"fully qualified name of the module being imported, and the (optional) target " +"module. ``find_spec()`` returns a fully populated spec for the module. This " +"spec will always have \"loader\" set (with one exception)." +msgstr "" +":meth:`~importlib.abc.PathEntryFinder.find_spec` приймає два аргументи: " +"повне ім’я модуля, який імпортується, і (необов’язковий) цільовий модуль. " +"``find_spec()`` повертає повністю заповнену специфікацію для модуля. Ця " +"специфікація завжди матиме встановлений \"завантажувач\" (за одним винятком)." + +msgid "" +"To indicate to the import machinery that the spec represents a namespace :" +"term:`portion`, the path entry finder sets \"submodule_search_locations\" to " +"a list containing the portion." +msgstr "" +"Щоб вказати механізму імпорту, що специфікація представляє простір імен :" +"term:`portion`, засіб пошуку записів шляху встановлює " +"\"submodule_search_locations\" у список, що містить цю частину." + +msgid "" +":meth:`~importlib.abc.PathEntryFinder.find_spec` replaced :meth:`~importlib." +"abc.PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." +"find_module`, both of which are now deprecated, but will be used if " +"``find_spec()`` is not defined." +msgstr "" +":meth:`~importlib.abc.PathEntryFinder.find_spec` замінив :meth:`~importlib." +"abc.PathEntryFinder.find_loader` і :meth:`~importlib.abc.PathEntryFinder." +"find_module`, обидва з яких тепер застаріли, але використовуватиметься, якщо " +"``find_spec()`` не визначено." + +msgid "" +"Older path entry finders may implement one of these two deprecated methods " +"instead of ``find_spec()``. The methods are still respected for the sake of " +"backward compatibility. However, if ``find_spec()`` is implemented on the " +"path entry finder, the legacy methods are ignored." +msgstr "" +"Старіші засоби пошуку запису шляху можуть використовувати один із цих двох " +"застарілих методів замість ``find_spec()``. Методи досі поважаються заради " +"зворотної сумісності. Однак, якщо ``find_spec()`` реалізовано в пошуку " +"запису шляху, застарілі методи ігноруються." + +msgid "" +":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, the " +"fully qualified name of the module being imported. ``find_loader()`` " +"returns a 2-tuple where the first item is the loader and the second item is " +"a namespace :term:`portion`." +msgstr "" +":meth:`~importlib.abc.PathEntryFinder.find_loader` приймає один аргумент, " +"повну назву модуля, який імпортується. ``find_loader()`` повертає 2-кортеж, " +"де перший елемент є завантажувачем, а другий — простором імен :term:" +"`portion`." + +msgid "" +"For backwards compatibility with other implementations of the import " +"protocol, many path entry finders also support the same, traditional " +"``find_module()`` method that meta path finders support. However path entry " +"finder ``find_module()`` methods are never called with a ``path`` argument " +"(they are expected to record the appropriate path information from the " +"initial call to the path hook)." +msgstr "" +"Для зворотної сумісності з іншими реалізаціями протоколу імпорту багато " +"засобів пошуку шляхів також підтримують той самий традиційний метод " +"``find_module()``, який підтримують засоби пошуку меташляхів. Однак методи " +"Find_module() засобу пошуку записів шляху ніколи не викликаються з " +"аргументом ``path`` (вони мають записати відповідну інформацію про шлях від " +"початкового виклику до перехоплення шляху)." + +msgid "" +"The ``find_module()`` method on path entry finders is deprecated, as it does " +"not allow the path entry finder to contribute portions to namespace " +"packages. If both ``find_loader()`` and ``find_module()`` exist on a path " +"entry finder, the import system will always call ``find_loader()`` in " +"preference to ``find_module()``." +msgstr "" +"Метод ``find_module()`` для засобів пошуку записів шляху застарів, оскільки " +"він не дозволяє засобу пошуку записів шляху вносити частини до пакетів " +"простору імен. Якщо і \"find_loader()\", і \"find_module()\" існують у " +"пошуку запису шляху, система імпорту завжди викличе \"find_loader()\", а не " +"\"find_module()\"." + +msgid "" +"Calls to :meth:`~importlib.abc.PathEntryFinder.find_module` and :meth:" +"`~importlib.abc.PathEntryFinder.find_loader` by the import system will " +"raise :exc:`ImportWarning`." +msgstr "" +"Виклики :meth:`~importlib.abc.PathEntryFinder.find_module` і :meth:" +"`~importlib.abc.PathEntryFinder.find_loader` системою імпорту викликають :" +"exc:`ImportWarning`." + +msgid "Replacing the standard import system" +msgstr "Заміна стандартної системи імпорту" + +msgid "" +"The most reliable mechanism for replacing the entire import system is to " +"delete the default contents of :data:`sys.meta_path`, replacing them " +"entirely with a custom meta path hook." +msgstr "" +"Найнадійнішим механізмом заміни всієї системи імпорту є видалення вмісту за " +"замовчуванням :data:`sys.meta_path`, повністю замінивши його спеціальним " +"хуком мета-шляху." + +msgid "" +"If it is acceptable to only alter the behaviour of import statements without " +"affecting other APIs that access the import system, then replacing the " +"builtin :func:`__import__` function may be sufficient. This technique may " +"also be employed at the module level to only alter the behaviour of import " +"statements within that module." +msgstr "" +"Якщо прийнятно лише змінювати поведінку операторів імпорту, не впливаючи на " +"інші API, які отримують доступ до системи імпорту, тоді заміни вбудованої " +"функції :func:`__import__` може бути достатньо. Цю техніку також можна " +"використовувати на рівні модуля лише для зміни поведінки операторів імпорту " +"в цьому модулі." + +msgid "" +"To selectively prevent the import of some modules from a hook early on the " +"meta path (rather than disabling the standard import system entirely), it is " +"sufficient to raise :exc:`ModuleNotFoundError` directly from :meth:" +"`~importlib.abc.MetaPathFinder.find_spec` instead of returning ``None``. The " +"latter indicates that the meta path search should continue, while raising an " +"exception terminates it immediately." +msgstr "" +"Щоб вибірково запобігти імпорту деяких модулів із хука на ранній стадії " +"меташляху (замість повного відключення стандартної системи імпорту), " +"достатньо викликати :exc:`ModuleNotFoundError` безпосередньо з :meth:" +"`~importlib.abc.MetaPathFinder .find_spec` замість повернення ``None``. " +"Останнє вказує на те, що пошук меташляху має продовжуватися, тоді як виклик " +"винятку негайно припиняє його." + +msgid "Package Relative Imports" +msgstr "Відносний імпорт пакетів" + +msgid "" +"Relative imports use leading dots. A single leading dot indicates a relative " +"import, starting with the current package. Two or more leading dots indicate " +"a relative import to the parent(s) of the current package, one level per dot " +"after the first. For example, given the following package layout::" +msgstr "" +"Для відносного імпорту використовуються крапки на початку. Одна крапка на " +"початку вказує на відносний імпорт, починаючи з поточного пакета. Дві або " +"більше крапок на початку вказують на відносний імпорт до батьківського(их) " +"пакета(ів) поточного пакета, один рівень на кожну крапку після першого. " +"Наприклад, враховуючи такий макет пакета:" + +msgid "" +"In either ``subpackage1/moduleX.py`` or ``subpackage1/__init__.py``, the " +"following are valid relative imports::" +msgstr "" +"У ``subpackage1/moduleX.py`` або ``subpackage1/__init__.py`` наступні дійсні " +"відносні імпорти:" + +msgid "" +"Absolute imports may use either the ``import <>`` or ``from <> import <>`` " +"syntax, but relative imports may only use the second form; the reason for " +"this is that::" +msgstr "" +"Абсолютний імпорт може використовувати або синтаксис ``import <>`` або " +"``from <> import <>``, але відносний імпорт може використовувати лише другу " +"форму; причина цього в тому, що::" + +msgid "" +"should expose ``XXX.YYY.ZZZ`` as a usable expression, but .moduleY is not a " +"valid expression." +msgstr "" +"має показувати ``XXX.YYY.ZZZ`` як придатний вираз, але .moduleY не є дійсним " +"виразом." + +msgid "Special considerations for __main__" +msgstr "Особливі міркування для __main__" + +msgid "" +"The :mod:`__main__` module is a special case relative to Python's import " +"system. As noted :ref:`elsewhere `, the ``__main__`` module is " +"directly initialized at interpreter startup, much like :mod:`sys` and :mod:" +"`builtins`. However, unlike those two, it doesn't strictly qualify as a " +"built-in module. This is because the manner in which ``__main__`` is " +"initialized depends on the flags and other options with which the " +"interpreter is invoked." +msgstr "" +"Модуль :mod:`__main__` є окремим випадком щодо системи імпорту Python. Як " +"зазначено :ref:`в іншому місці `, модуль ``__main__`` " +"безпосередньо ініціалізується під час запуску інтерпретатора, подібно до :" +"mod:`sys` і :mod:`builtins`. Однак, на відміну від цих двох, він не " +"кваліфікується як вбудований модуль. Це пояснюється тим, що спосіб " +"ініціалізації ``__main__`` залежить від прапорів та інших параметрів, з " +"якими викликається інтерпретатор." + +msgid "__main__.__spec__" +msgstr "__main__.__spec__" + +msgid "" +"Depending on how :mod:`__main__` is initialized, ``__main__.__spec__`` gets " +"set appropriately or to ``None``." +msgstr "" +"Залежно від того, як :mod:`__main__` ініціалізовано, ``__main__.__spec__`` " +"встановлюється відповідним чином або має значення ``None``." + +msgid "" +"When Python is started with the :option:`-m` option, ``__spec__`` is set to " +"the module spec of the corresponding module or package. ``__spec__`` is also " +"populated when the ``__main__`` module is loaded as part of executing a " +"directory, zipfile or other :data:`sys.path` entry." +msgstr "" +"Коли Python запускається з параметром :option:`-m`, ``__spec__`` " +"встановлюється на специфікацію модуля відповідного модуля або пакета. " +"``__spec__`` також заповнюється, коли модуль ``__main__`` завантажується як " +"частина виконання каталогу, zip-файлу або іншого запису :data:`sys.path`." + +msgid "" +"In :ref:`the remaining cases ` ``__main__." +"__spec__`` is set to ``None``, as the code used to populate the :mod:" +"`__main__` does not correspond directly with an importable module:" +msgstr "" +"У :ref:`решті випадків ` ``__main__.__spec__`` " +"встановлено на ``None``, оскільки код, який використовується для заповнення :" +"mod:`__main__`, не відповідає безпосередньо імпортованому модулю:" + +msgid "interactive prompt" +msgstr "інтерактивна підказка" + +msgid ":option:`-c` option" +msgstr "Параметр :option:`-c`" + +msgid "running from stdin" +msgstr "працює з stdin" + +msgid "running directly from a source or bytecode file" +msgstr "працює безпосередньо з джерела або файлу байт-коду" + +msgid "" +"Note that ``__main__.__spec__`` is always ``None`` in the last case, *even " +"if* the file could technically be imported directly as a module instead. Use " +"the :option:`-m` switch if valid module metadata is desired in :mod:" +"`__main__`." +msgstr "" +"Зауважте, що ``__main__.__spec__`` завжди має значення ``None`` в останньому " +"випадку, *навіть якщо* технічно файл можна імпортувати безпосередньо як " +"модуль. Використовуйте перемикач :option:`-m`, якщо потрібні дійсні метадані " +"модуля в :mod:`__main__`." + +msgid "" +"Note also that even when ``__main__`` corresponds with an importable module " +"and ``__main__.__spec__`` is set accordingly, they're still considered " +"*distinct* modules. This is due to the fact that blocks guarded by ``if " +"__name__ == \"__main__\":`` checks only execute when the module is used to " +"populate the ``__main__`` namespace, and not during normal import." +msgstr "" +"Зауважте також, що навіть якщо ``__main__`` відповідає імпортованому модулю, " +"а ``__main__.__spec__`` встановлено відповідно, вони все одно вважаються " +"*окремими* модулями. Це пов’язано з тим, що блоки, які захищаються " +"перевірками ``if __name__ == \"__main__\":``, виконуються лише тоді, коли " +"модуль використовується для заповнення простору імен ``__main__``, а не під " +"час звичайного імпорту." + +msgid "References" +msgstr "Список літератури" + +msgid "" +"The import machinery has evolved considerably since Python's early days. " +"The original `specification for packages `_ is still available to read, although some details have changed " +"since the writing of that document." +msgstr "" +"Механізм імпорту значно розвинувся з перших днів Python. Оригінальна " +"`специфікація пакетів `_ все ще " +"доступна для читання, хоча деякі деталі змінилися з моменту написання цього " +"документа." + +msgid "" +"The original specification for :data:`sys.meta_path` was :pep:`302`, with " +"subsequent extension in :pep:`420`." +msgstr "" +"Початкова специфікація для :data:`sys.meta_path` була :pep:`302` з подальшим " +"розширенням у :pep:`420`." + +msgid "" +":pep:`420` introduced :term:`namespace packages ` for " +"Python 3.3. :pep:`420` also introduced the :meth:`find_loader` protocol as " +"an alternative to :meth:`find_module`." +msgstr "" +":pep:`420` представлено :term:`пакети простору імен ` для " +"Python 3.3. :pep:`420` також представив протокол :meth:`find_loader` як " +"альтернативу :meth:`find_module`." + +msgid "" +":pep:`366` describes the addition of the ``__package__`` attribute for " +"explicit relative imports in main modules." +msgstr "" +":pep:`366` описує додавання атрибута ``__package__`` для явного відносного " +"імпорту в основні модулі." + +msgid "" +":pep:`328` introduced absolute and explicit relative imports and initially " +"proposed ``__name__`` for semantics :pep:`366` would eventually specify for " +"``__package__``." +msgstr "" +":pep:`328` ввів абсолютний і явний відносний імпорт і спочатку запропонував " +"``__name__`` для семантики :pep:`366` згодом вказав би для ``__package__``." + +msgid ":pep:`338` defines executing modules as scripts." +msgstr ":pep:`338` визначає модулі виконання як скрипти." + +msgid "" +":pep:`451` adds the encapsulation of per-module import state in spec " +"objects. It also off-loads most of the boilerplate responsibilities of " +"loaders back onto the import machinery. These changes allow the deprecation " +"of several APIs in the import system and also addition of new methods to " +"finders and loaders." +msgstr "" +":pep:`451` додає інкапсуляцію стану імпорту кожного модуля в специфікаційні " +"об’єкти. Це також перекладає більшість шаблонних обов’язків вантажників " +"назад на імпортну техніку. Ці зміни дозволяють припинити підтримку кількох " +"API у системі імпорту, а також додати нові методи до засобів пошуку та " +"завантаження." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "See :class:`types.ModuleType`." +msgstr "Див. :class:`types.ModuleType`." + +msgid "" +"The importlib implementation avoids using the return value directly. " +"Instead, it gets the module object by looking the module name up in :data:" +"`sys.modules`. The indirect effect of this is that an imported module may " +"replace itself in :data:`sys.modules`. This is implementation-specific " +"behavior that is not guaranteed to work in other Python implementations." +msgstr "" +"Реалізація importlib уникає безпосереднього використання значення, що " +"повертається. Натомість він отримує об’єкт module, шукаючи ім’я модуля в :" +"data:`sys.modules`. Непрямим наслідком цього є те, що імпортований модуль " +"може замінити себе в :data:`sys.modules`. Це специфічна поведінка " +"реалізації, яка не гарантовано працюватиме в інших реалізаціях Python." + +msgid "" +"In legacy code, it is possible to find instances of :class:`imp." +"NullImporter` in the :data:`sys.path_importer_cache`. It is recommended " +"that code be changed to use ``None`` instead. See :ref:`portingpythoncode` " +"for more details." +msgstr "" +"У застарілому коді можна знайти екземпляри :class:`imp.NullImporter` в :data:" +"`sys.path_importer_cache`. Рекомендується змінити код, щоб замість нього " +"використовувати ``None``. Додаткову інформацію див. у :ref:" +"`portingpythoncode`." diff --git a/reference/index.po b/reference/index.po new file mode 100644 index 000000000..2ac90dbb9 --- /dev/null +++ b/reference/index.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The Python Language Reference" +msgstr "Довідник з мови Python" + +msgid "" +"This reference manual describes the syntax and \"core semantics\" of the " +"language. It is terse, but attempts to be exact and complete. The semantics " +"of non-essential built-in object types and of the built-in functions and " +"modules are described in :ref:`library-index`. For an informal introduction " +"to the language, see :ref:`tutorial-index`. For C or C++ programmers, two " +"additional manuals exist: :ref:`extending-index` describes the high-level " +"picture of how to write a Python extension module, and the :ref:`c-api-" +"index` describes the interfaces available to C/C++ programmers in detail." +msgstr "" +"Цей довідковий посібник описує синтаксис і \"основну семантику\" мови. Він " +"стислий, але намагається бути точним і повним. Семантика несуттєвих " +"вбудованих типів об’єктів і вбудованих функцій і модулів описана в :ref:" +"`library-index`. Для неформального ознайомлення з мовою див. :ref:`tutorial-" +"index`. Для програмістів C або C++ існують два додаткові посібники: :ref:" +"`extending-index` описує загальну картину того, як написати модуль " +"розширення Python, а :ref:`c-api-index` описує доступні інтерфейси " +"програмістам C/C++ детально." diff --git a/reference/introduction.po b/reference/introduction.po new file mode 100644 index 000000000..331110983 --- /dev/null +++ b/reference/introduction.po @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"This reference manual describes the Python programming language. It is not " +"intended as a tutorial." +msgstr "" +"Цей довідковий посібник описує мову програмування Python. Він не призначений " +"як підручник." + +msgid "" +"While I am trying to be as precise as possible, I chose to use English " +"rather than formal specifications for everything except syntax and lexical " +"analysis. This should make the document more understandable to the average " +"reader, but will leave room for ambiguities. Consequently, if you were " +"coming from Mars and tried to re-implement Python from this document alone, " +"you might have to guess things and in fact you would probably end up " +"implementing quite a different language. On the other hand, if you are using " +"Python and wonder what the precise rules about a particular area of the " +"language are, you should definitely be able to find them here. If you would " +"like to see a more formal definition of the language, maybe you could " +"volunteer your time --- or invent a cloning machine :-)." +msgstr "" +"Хоча я намагаюся бути максимально точним, я вирішив використовувати " +"англійську, а не формальні специфікації для всього, крім синтаксису та " +"лексичного аналізу. Це повинно зробити документ більш зрозумілим для " +"пересічного читача, але залишить місце для неоднозначностей. Отже, якби ви " +"прилетіли з Марса й спробували повторно впровадити Python лише з цього " +"документу, вам, можливо, доведеться щось здогадуватися, і насправді ви, " +"ймовірно, закінчили б впровадженням зовсім іншої мови. З іншого боку, якщо " +"ви використовуєте Python і вам цікаво, якими є точні правила щодо певної " +"області мови, ви точно зможете знайти їх тут. Якщо ви бажаєте побачити більш " +"формальне визначення мови, можливо, ви можете приділити свій час --- або " +"винайти машину для клонування :-)." + +msgid "" +"It is dangerous to add too many implementation details to a language " +"reference document --- the implementation may change, and other " +"implementations of the same language may work differently. On the other " +"hand, CPython is the one Python implementation in widespread use (although " +"alternate implementations continue to gain support), and its particular " +"quirks are sometimes worth being mentioned, especially where the " +"implementation imposes additional limitations. Therefore, you'll find short " +"\"implementation notes\" sprinkled throughout the text." +msgstr "" +"Небезпечно додавати забагато деталей реалізації до довідкового документа про " +"мову -- реалізація може змінитися, а інші реалізації тієї самої мови можуть " +"працювати по-різному. З іншого боку, CPython є єдиною реалізацією Python, " +"яка широко використовується (хоча альтернативні реалізації продовжують " +"отримувати підтримку), і іноді варто згадати його особливості, особливо якщо " +"реалізація накладає додаткові обмеження. Таким чином, ви знайдете короткі " +"\"нотатки щодо реалізації\", розкидані по всьому тексту." + +msgid "" +"Every Python implementation comes with a number of built-in and standard " +"modules. These are documented in :ref:`library-index`. A few built-in " +"modules are mentioned when they interact in a significant way with the " +"language definition." +msgstr "" +"Кожна реалізація Python має низку вбудованих і стандартних модулів. Вони " +"задокументовані в :ref:`library-index`. Кілька вбудованих модулів " +"згадуються, коли вони суттєво взаємодіють із визначенням мови." + +msgid "Alternate Implementations" +msgstr "Альтернативні реалізації" + +msgid "" +"Though there is one Python implementation which is by far the most popular, " +"there are some alternate implementations which are of particular interest to " +"different audiences." +msgstr "" +"Хоча існує одна реалізація Python, яка на сьогоднішній день є " +"найпопулярнішою, є кілька альтернативних реалізацій, які становлять " +"особливий інтерес для різних аудиторій." + +msgid "Known implementations include:" +msgstr "Відомі реалізації включають:" + +msgid "CPython" +msgstr "CPython" + +msgid "" +"This is the original and most-maintained implementation of Python, written " +"in C. New language features generally appear here first." +msgstr "" +"Це оригінальна і найбільш підтримувана реалізація Python, написана мовою C. " +"Нові функції мови зазвичай з’являються тут першими." + +msgid "Jython" +msgstr "Jython" + +msgid "" +"Python implemented in Java. This implementation can be used as a scripting " +"language for Java applications, or can be used to create applications using " +"the Java class libraries. It is also often used to create tests for Java " +"libraries. More information can be found at `the Jython website `_." +msgstr "" + +msgid "Python for .NET" +msgstr "Python для .NET" + +msgid "" +"This implementation actually uses the CPython implementation, but is a " +"managed .NET application and makes .NET libraries available. It was created " +"by Brian Lloyd. For more information, see the `Python for .NET home page " +"`_." +msgstr "" +"Ця реалізація фактично використовує реалізацію CPython, але є керованою " +"програмою .NET і робить доступними бібліотеки .NET. Його створив Браян " +"Ллойд. Щоб отримати додаткові відомості, перегляньте `домашню сторінку " +"Python для .NET `_." + +msgid "IronPython" +msgstr "IronPython" + +msgid "" +"An alternate Python for .NET. Unlike Python.NET, this is a complete Python " +"implementation that generates IL, and compiles Python code directly to .NET " +"assemblies. It was created by Jim Hugunin, the original creator of Jython. " +"For more information, see `the IronPython website `_." +msgstr "" + +msgid "PyPy" +msgstr "PyPy" + +msgid "" +"An implementation of Python written completely in Python. It supports " +"several advanced features not found in other implementations like stackless " +"support and a Just in Time compiler. One of the goals of the project is to " +"encourage experimentation with the language itself by making it easier to " +"modify the interpreter (since it is written in Python). Additional " +"information is available on `the PyPy project's home page `_." +msgstr "" + +msgid "" +"Each of these implementations varies in some way from the language as " +"documented in this manual, or introduces specific information beyond what's " +"covered in the standard Python documentation. Please refer to the " +"implementation-specific documentation to determine what else you need to " +"know about the specific implementation you're using." +msgstr "" +"Кожна з цих реалізацій певним чином відрізняється від мови, задокументованої " +"в цьому посібнику, або вводить певну інформацію, окрім того, що описано в " +"стандартній документації Python. Зверніться до документації щодо реалізації, " +"щоб визначити, що ще вам потрібно знати про конкретну реалізацію, яку ви " +"використовуєте." + +msgid "Notation" +msgstr "Позначення" + +msgid "" +"The descriptions of lexical analysis and syntax use a modified BNF grammar " +"notation. This uses the following style of definition:" +msgstr "" +"В описах лексичного аналізу та синтаксису використовується модифікована " +"нотація граматики BNF. Тут використовується такий стиль визначення:" + +msgid "" +"The first line says that a ``name`` is an ``lc_letter`` followed by a " +"sequence of zero or more ``lc_letter``\\ s and underscores. An " +"``lc_letter`` in turn is any of the single characters ``'a'`` through " +"``'z'``. (This rule is actually adhered to for the names defined in lexical " +"and grammar rules in this document.)" +msgstr "" +"Перший рядок говорить, що ``name`` є ``lc_letter``, за яким слідує " +"послідовність нуля або більше ``lc_letter``\\ і підкреслення. ``lc_letter``, " +"у свою чергу, є будь-яким із окремих символів ``'a'`` до ``'z'``. (Це " +"правило фактично дотримується для імен, визначених у лексичних і граматичних " +"правилах у цьому документі.)" + +msgid "" +"Each rule begins with a name (which is the name defined by the rule) and ``::" +"=``. A vertical bar (``|``) is used to separate alternatives; it is the " +"least binding operator in this notation. A star (``*``) means zero or more " +"repetitions of the preceding item; likewise, a plus (``+``) means one or " +"more repetitions, and a phrase enclosed in square brackets (``[ ]``) means " +"zero or one occurrences (in other words, the enclosed phrase is optional). " +"The ``*`` and ``+`` operators bind as tightly as possible; parentheses are " +"used for grouping. Literal strings are enclosed in quotes. White space is " +"only meaningful to separate tokens. Rules are normally contained on a single " +"line; rules with many alternatives may be formatted alternatively with each " +"line after the first beginning with a vertical bar." +msgstr "" +"Кожне правило починається з назви (яка є назвою, визначеною правилом) і ``::" +"=``. Вертикальна риска (``|``) використовується для розділення альтернатив; " +"це найменш обов'язковий оператор у цій нотації. Зірочка (``*``) означає нуль " +"або більше повторень попереднього елемента; аналогічно, плюс (``+``) означає " +"одне або більше повторень, а фраза, взята в квадратні дужки (``[ ]``), " +"означає нуль або одне повторення (іншими словами, фраза всередині є " +"необов’язковою). Оператори ``*`` і ``+`` прив'язуються якомога тісніше; " +"дужки використовуються для групування. Літеральні рядки беруться в лапки. " +"Пробіл має значення лише для розділення токенів. Зазвичай правила містяться " +"в одному рядку; правила з багатьма альтернативами можуть бути відформатовані " +"альтернативно, коли кожен рядок після першого починається з вертикальної " +"смуги." + +msgid "" +"In lexical definitions (as the example above), two more conventions are " +"used: Two literal characters separated by three dots mean a choice of any " +"single character in the given (inclusive) range of ASCII characters. A " +"phrase between angular brackets (``<...>``) gives an informal description of " +"the symbol defined; e.g., this could be used to describe the notion of " +"'control character' if needed." +msgstr "" +"У лексичних визначеннях (як у прикладі вище) використовуються ще дві " +"конвенції: два літеральні символи, розділені трьома крапками, означають " +"вибір будь-якого окремого символу в заданому (включно) діапазоні символів " +"ASCII. Фраза в кутових дужках (``<...>``) дає неформальний опис визначеного " +"символу; наприклад, це можна використовувати для опису поняття \"керуючий " +"характер\", якщо це необхідно." + +msgid "" +"Even though the notation used is almost the same, there is a big difference " +"between the meaning of lexical and syntactic definitions: a lexical " +"definition operates on the individual characters of the input source, while " +"a syntax definition operates on the stream of tokens generated by the " +"lexical analysis. All uses of BNF in the next chapter (\"Lexical Analysis\") " +"are lexical definitions; uses in subsequent chapters are syntactic " +"definitions." +msgstr "" +"Незважаючи на те, що використана нотація майже однакова, існує велика " +"різниця між значенням лексичних і синтаксичних визначень: лексичне " +"визначення працює з окремими символами джерела вхідних даних, тоді як " +"визначення синтаксису працює з потоком лексем, згенерованих лексичний " +"аналіз. Усі використання BNF у наступному розділі (\"Лексичний аналіз\") є " +"лексичними визначеннями; використання в наступних розділах є синтаксичними " +"визначеннями." diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po new file mode 100644 index 000000000..f67c2423a --- /dev/null +++ b/reference/lexical_analysis.po @@ -0,0 +1,1274 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Lexical analysis" +msgstr "Лексичний аналіз" + +msgid "" +"A Python program is read by a *parser*. Input to the parser is a stream of " +"*tokens*, generated by the *lexical analyzer*. This chapter describes how " +"the lexical analyzer breaks a file into tokens." +msgstr "" +"Програма Python читається *парсером*. Вхідними даними для аналізатора є " +"потік *токенів*, згенерованих *лексичним аналізатором*. У цьому розділі " +"описано, як лексичний аналізатор розбиває файл на токени." + +msgid "" +"Python reads program text as Unicode code points; the encoding of a source " +"file can be given by an encoding declaration and defaults to UTF-8, see :pep:" +"`3120` for details. If the source file cannot be decoded, a :exc:" +"`SyntaxError` is raised." +msgstr "" +"Python читає текст програми як кодові точки Unicode; кодування вихідного " +"файлу може бути задано декларацією кодування та за замовчуванням UTF-8, " +"подробиці див. :pep:`3120`. Якщо вихідний файл не може бути декодований, " +"виникає :exc:`SyntaxError`." + +msgid "Line structure" +msgstr "Лінійна структура" + +msgid "A Python program is divided into a number of *logical lines*." +msgstr "Програма Python розділена на кілька *логічних рядків*." + +msgid "Logical lines" +msgstr "Логічні лінії" + +msgid "" +"The end of a logical line is represented by the token NEWLINE. Statements " +"cannot cross logical line boundaries except where NEWLINE is allowed by the " +"syntax (e.g., between statements in compound statements). A logical line is " +"constructed from one or more *physical lines* by following the explicit or " +"implicit *line joining* rules." +msgstr "" +"Кінець логічного рядка представлено маркером NEWLINE. Інструкції не можуть " +"перетинати межі логічного рядка, за винятком випадків, коли синтаксис " +"дозволяє NEWLINE (наприклад, між операторами в складених операторах). " +"Логічна лінія складається з однієї або кількох *фізичних ліній* за " +"дотриманням явних або неявних правил *об’єднання ліній*." + +msgid "Physical lines" +msgstr "Фізичні лінії" + +msgid "" +"A physical line is a sequence of characters terminated by an end-of-line " +"sequence. In source files and strings, any of the standard platform line " +"termination sequences can be used - the Unix form using ASCII LF (linefeed), " +"the Windows form using the ASCII sequence CR LF (return followed by " +"linefeed), or the old Macintosh form using the ASCII CR (return) character. " +"All of these forms can be used equally, regardless of platform. The end of " +"input also serves as an implicit terminator for the final physical line." +msgstr "" +"Фізичний рядок — це послідовність символів, що завершується послідовністю в " +"кінці рядка. У вихідних файлах і рядках можна використовувати будь-яку зі " +"стандартних послідовностей завершення рядків платформи – форму Unix із " +"використанням ASCII LF (переведення рядка), форму Windows із використанням " +"послідовності ASCII CR LF (повернення з наступним переходом рядка) або стару " +"форму Macintosh із використанням символ ASCII CR (повернення). Усі ці форми " +"можна використовувати однаково, незалежно від платформи. Кінець введення " +"також служить неявним термінатором для останнього фізичного рядка." + +msgid "" +"When embedding Python, source code strings should be passed to Python APIs " +"using the standard C conventions for newline characters (the ``\\n`` " +"character, representing ASCII LF, is the line terminator)." +msgstr "" +"Під час вбудовування Python рядки вихідного коду слід передавати в API " +"Python, використовуючи стандартні угоди C для символів нового рядка (символ " +"``\\n``, що представляє ASCII LF, є символом закінчення рядка)." + +msgid "Comments" +msgstr "Коментарі" + +msgid "" +"A comment starts with a hash character (``#``) that is not part of a string " +"literal, and ends at the end of the physical line. A comment signifies the " +"end of the logical line unless the implicit line joining rules are invoked. " +"Comments are ignored by the syntax." +msgstr "" +"Коментар починається з символу решетки (``#``), який не є частиною рядкового " +"літералу, і закінчується в кінці фізичного рядка. Коментар означає кінець " +"логічного рядка, якщо не викликаються неявні правила з’єднання рядків. " +"Коментарі ігноруються синтаксисом." + +msgid "Encoding declarations" +msgstr "Оголошення кодування" + +msgid "" +"If a comment in the first or second line of the Python script matches the " +"regular expression ``coding[=:]\\s*([-\\w.]+)``, this comment is processed " +"as an encoding declaration; the first group of this expression names the " +"encoding of the source code file. The encoding declaration must appear on a " +"line of its own. If it is the second line, the first line must also be a " +"comment-only line. The recommended forms of an encoding expression are ::" +msgstr "" +"Якщо коментар у першому чи другому рядку сценарію Python відповідає " +"регулярному виразу ``coding[=:]\\s*([-\\w.]+)``, цей коментар обробляється " +"як оголошення кодування; перша група цього виразу називає кодування файлу " +"вихідного коду. Оголошення кодування має з’являтися в окремому рядку. Якщо " +"це другий рядок, перший рядок також має бути рядком лише для коментарів. " +"Рекомендовані форми виразу кодування:" + +msgid "which is recognized also by GNU Emacs, and ::" +msgstr "який також розпізнається GNU Emacs і ::" + +msgid "which is recognized by Bram Moolenaar's VIM." +msgstr "який розпізнається VIM Брема Муленаара." + +msgid "" +"If no encoding declaration is found, the default encoding is UTF-8. In " +"addition, if the first bytes of the file are the UTF-8 byte-order mark " +"(``b'\\xef\\xbb\\xbf'``), the declared file encoding is UTF-8 (this is " +"supported, among others, by Microsoft's :program:`notepad`)." +msgstr "" +"Якщо кодування не знайдено, кодуванням за замовчуванням є UTF-8. Крім того, " +"якщо перші байти файлу є позначкою порядку байтів UTF-8 (``b'\\xef\\xbb" +"\\xbf''``), заявленим кодуванням файлу є UTF-8 (це підтримується, серед " +"інших :program:`notepad` від Microsoft)." + +msgid "" +"If an encoding is declared, the encoding name must be recognized by Python " +"(see :ref:`standard-encodings`). The encoding is used for all lexical " +"analysis, including string literals, comments and identifiers." +msgstr "" +"Якщо оголошено кодування, Python має розпізнавати назву кодування (див. :ref:" +"`standard-encodings`). Кодування використовується для всього лексичного " +"аналізу, включаючи рядкові літерали, коментарі та ідентифікатори." + +msgid "Explicit line joining" +msgstr "Явне з'єднання рядків" + +msgid "" +"Two or more physical lines may be joined into logical lines using backslash " +"characters (``\\``), as follows: when a physical line ends in a backslash " +"that is not part of a string literal or comment, it is joined with the " +"following forming a single logical line, deleting the backslash and the " +"following end-of-line character. For example::" +msgstr "" +"Два або більше фізичних рядків можна об’єднати в логічні рядки за допомогою " +"символів зворотної похилої риски (``\\``), таким чином: коли фізичний рядок " +"закінчується зворотною похилою рискою, яка не є частиною рядкового літералу " +"чи коментаря, він об’єднується за допомогою наступного: утворюючи один " +"логічний рядок, видаляючи зворотну косу риску та наступний символ кінця " +"рядка. Наприклад::" + +msgid "" +"A line ending in a backslash cannot carry a comment. A backslash does not " +"continue a comment. A backslash does not continue a token except for string " +"literals (i.e., tokens other than string literals cannot be split across " +"physical lines using a backslash). A backslash is illegal elsewhere on a " +"line outside a string literal." +msgstr "" +"Рядок, який закінчується зворотною скісною рискою, не може містити " +"коментаря. Зворотна коса риска не продовжує коментар. Зворотний слеш не " +"продовжує лексему, за винятком рядкових літералів (тобто лексеми, окрім " +"рядкових літералів, не можна розділити на фізичні рядки за допомогою " +"зворотної похилої риски). Зворотний слеш неприпустимий в іншому місці рядка " +"за межами рядкового літералу." + +msgid "Implicit line joining" +msgstr "Неявне з'єднання ліній" + +msgid "" +"Expressions in parentheses, square brackets or curly braces can be split " +"over more than one physical line without using backslashes. For example::" +msgstr "" +"Вирази в дужках, квадратних або фігурних дужках можна розділити на кілька " +"фізичних рядків без використання зворотних скісних риск. Наприклад::" + +msgid "" +"Implicitly continued lines can carry comments. The indentation of the " +"continuation lines is not important. Blank continuation lines are allowed. " +"There is no NEWLINE token between implicit continuation lines. Implicitly " +"continued lines can also occur within triple-quoted strings (see below); in " +"that case they cannot carry comments." +msgstr "" +"Неявно продовжені рядки можуть містити коментарі. Відступ рядків продовження " +"не важливий. Допускаються порожні рядки продовження. Немає маркера NEWLINE " +"між рядками неявного продовження. Неявно продовжені рядки також можуть " +"зустрічатися в рядках із потрійними лапками (див. нижче); у цьому випадку " +"вони не можуть нести коментарі." + +msgid "Blank lines" +msgstr "Порожні рядки" + +msgid "" +"A logical line that contains only spaces, tabs, formfeeds and possibly a " +"comment, is ignored (i.e., no NEWLINE token is generated). During " +"interactive input of statements, handling of a blank line may differ " +"depending on the implementation of the read-eval-print loop. In the " +"standard interactive interpreter, an entirely blank logical line (i.e. one " +"containing not even whitespace or a comment) terminates a multi-line " +"statement." +msgstr "" +"Логічний рядок, який містить лише пробіли, табуляції, канали форми та, " +"можливо, коментар, ігнорується (тобто маркер NEWLINE не генерується). Під " +"час інтерактивного введення операторів обробка порожнього рядка може " +"відрізнятися залежно від реалізації циклу читання-оцінки-друку. У " +"стандартному інтерактивному інтерпретаторі повністю порожній логічний рядок " +"(тобто такий, що не містить навіть пробілів або коментаря) завершує " +"багаторядковий оператор." + +msgid "Indentation" +msgstr "Відступ" + +msgid "" +"Leading whitespace (spaces and tabs) at the beginning of a logical line is " +"used to compute the indentation level of the line, which in turn is used to " +"determine the grouping of statements." +msgstr "" +"Пробіли (пробіли та табуляції) на початку логічного рядка використовуються " +"для обчислення рівня відступу рядка, який, у свою чергу, використовується " +"для визначення групування операторів." + +msgid "" +"Tabs are replaced (from left to right) by one to eight spaces such that the " +"total number of characters up to and including the replacement is a multiple " +"of eight (this is intended to be the same rule as used by Unix). The total " +"number of spaces preceding the first non-blank character then determines the " +"line's indentation. Indentation cannot be split over multiple physical " +"lines using backslashes; the whitespace up to the first backslash determines " +"the indentation." +msgstr "" +"Табуляції замінюються (зліва направо) на один-вісім пробілів, щоб загальна " +"кількість символів до заміни включно була кратною восьми (це те саме " +"правило, яке використовується в Unix). Тоді загальна кількість пробілів " +"перед першим символом, що не є пробілом, визначає відступ рядка. Відступи не " +"можна розділити на кілька фізичних рядків за допомогою зворотної косої " +"риски; пробіл до першої зворотної скісної риски визначає відступ." + +msgid "" +"Indentation is rejected as inconsistent if a source file mixes tabs and " +"spaces in a way that makes the meaning dependent on the worth of a tab in " +"spaces; a :exc:`TabError` is raised in that case." +msgstr "" +"Відступи відхиляються як непослідовні, якщо вихідний файл змішує табуляції " +"та пробіли таким чином, що робить значення залежним від цінності табуляції в " +"пробілах; У цьому випадку виникає :exc:`TabError`." + +msgid "" +"**Cross-platform compatibility note:** because of the nature of text editors " +"on non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for " +"the indentation in a single source file. It should also be noted that " +"different platforms may explicitly limit the maximum indentation level." +msgstr "" +"**Примітка щодо крос-платформної сумісності:** через характер текстових " +"редакторів на платформах, відмінних від UNIX, нерозумно використовувати " +"суміш пробілів і табуляції для відступу в одному вихідному файлі. Слід також " +"зазначити, що різні платформи можуть явно обмежувати максимальний рівень " +"відступу." + +msgid "" +"A formfeed character may be present at the start of the line; it will be " +"ignored for the indentation calculations above. Formfeed characters " +"occurring elsewhere in the leading whitespace have an undefined effect (for " +"instance, they may reset the space count to zero)." +msgstr "" +"Символ переходу форми може бути присутнім на початку рядка; він буде " +"проігнорований для обчислень відступів вище. Символи передачі форми, що " +"зустрічаються в інших місцях у першому пробілі, мають невизначений ефект " +"(наприклад, вони можуть скинути кількість пробілів до нуля)." + +msgid "" +"The indentation levels of consecutive lines are used to generate INDENT and " +"DEDENT tokens, using a stack, as follows." +msgstr "" +"Рівні відступів послідовних рядків використовуються для створення токенів " +"INDENT і DEDENT за допомогою стека, як показано нижче." + +msgid "" +"Before the first line of the file is read, a single zero is pushed on the " +"stack; this will never be popped off again. The numbers pushed on the stack " +"will always be strictly increasing from bottom to top. At the beginning of " +"each logical line, the line's indentation level is compared to the top of " +"the stack. If it is equal, nothing happens. If it is larger, it is pushed on " +"the stack, and one INDENT token is generated. If it is smaller, it *must* " +"be one of the numbers occurring on the stack; all numbers on the stack that " +"are larger are popped off, and for each number popped off a DEDENT token is " +"generated. At the end of the file, a DEDENT token is generated for each " +"number remaining on the stack that is larger than zero." +msgstr "" +"Перш ніж буде зчитано перший рядок файлу, у стек вставляється один нуль; це " +"ніколи більше не вискочить. Числа в стеку завжди суворо зростатимуть знизу " +"вгору. На початку кожного логічного рядка рівень відступу рядка порівнюється " +"з верхньою частиною стека. Якщо воно рівне, нічого не відбувається. Якщо він " +"більший, він поміщається в стек і генерується один токен INDENT. Якщо воно " +"менше, воно *повинно* бути одним із чисел, які зустрічаються в стеку; усі " +"номери зі стеку, які є більшими, вилучаються, і для кожного числа, що " +"виривається, генерується маркер DEDENT. У кінці файлу генерується маркер " +"DEDENT для кожного числа, що залишилося в стеку і є більшим за нуль." + +msgid "" +"Here is an example of a correctly (though confusingly) indented piece of " +"Python code::" +msgstr "" +"Ось приклад правильного (хоча і заплутаного) фрагмента коду Python з " +"відступом:" + +msgid "The following example shows various indentation errors::" +msgstr "У наступному прикладі показано різні помилки відступів:" + +msgid "" +"(Actually, the first three errors are detected by the parser; only the last " +"error is found by the lexical analyzer --- the indentation of ``return r`` " +"does not match a level popped off the stack.)" +msgstr "" +"(Насправді, перші три помилки виявляються синтаксичним аналізатором; лише " +"остання помилка знаходить лексичний аналізатор --- відступ ``return r`` не " +"відповідає рівню, витягненому зі стеку.)" + +msgid "Whitespace between tokens" +msgstr "Пробіли між маркерами" + +msgid "" +"Except at the beginning of a logical line or in string literals, the " +"whitespace characters space, tab and formfeed can be used interchangeably to " +"separate tokens. Whitespace is needed between two tokens only if their " +"concatenation could otherwise be interpreted as a different token (e.g., ab " +"is one token, but a b is two tokens)." +msgstr "" +"За винятком початку логічного рядка або в рядкових літералах, символи " +"пропуску, символи табуляції та переходу форми можуть використовуватися як " +"взаємозамінні для розділення токенів. Пробіл потрібен між двома лексемами, " +"лише якщо їх конкатенація інакше може бути інтерпретована як інша лексема " +"(наприклад, ab — одна лексема, а b — це дві лексеми)." + +msgid "Other tokens" +msgstr "Інші жетони" + +msgid "" +"Besides NEWLINE, INDENT and DEDENT, the following categories of tokens " +"exist: *identifiers*, *keywords*, *literals*, *operators*, and *delimiters*. " +"Whitespace characters (other than line terminators, discussed earlier) are " +"not tokens, but serve to delimit tokens. Where ambiguity exists, a token " +"comprises the longest possible string that forms a legal token, when read " +"from left to right." +msgstr "" +"Окрім NEWLINE, INDENT і DEDENT, існують такі категорії токенів: " +"*ідентифікатори*, *ключові слова*, *літерали*, *оператори* та *роздільники*. " +"Пробільні символи (окрім символів закінчення рядків, які обговорювалися " +"раніше) не є маркерами, але служать для розмежування маркерів. Якщо існує " +"неоднозначність, токен містить найдовший можливий рядок, який утворює " +"законний токен, коли читається зліва направо." + +msgid "Identifiers and keywords" +msgstr "Ідентифікатори та ключові слова" + +msgid "" +"Identifiers (also referred to as *names*) are described by the following " +"lexical definitions." +msgstr "" +"Ідентифікатори (також згадувані як *імена*) описуються наступними лексичними " +"визначеннями." + +msgid "" +"The syntax of identifiers in Python is based on the Unicode standard annex " +"UAX-31, with elaboration and changes as defined below; see also :pep:`3131` " +"for further details." +msgstr "" +"Синтаксис ідентифікаторів у Python базується на стандартному додатку Unicode " +"UAX-31 із уточненнями та змінами, як визначено нижче; див. також :pep:`3131` " +"для отримання додаткової інформації." + +msgid "" +"Within the ASCII range (U+0001..U+007F), the valid characters for " +"identifiers are the same as in Python 2.x: the uppercase and lowercase " +"letters ``A`` through ``Z``, the underscore ``_`` and, except for the first " +"character, the digits ``0`` through ``9``." +msgstr "" +"У діапазоні ASCII (U+0001..U+007F) дійсні символи для ідентифікаторів такі " +"ж, як і в Python 2.x: великі та малі літери від ``A`` до ``Z``, символ " +"підкреслення ``_`` і, за винятком першого символу, цифри ``0`` до ``9``." + +msgid "" +"Python 3.0 introduces additional characters from outside the ASCII range " +"(see :pep:`3131`). For these characters, the classification uses the " +"version of the Unicode Character Database as included in the :mod:" +"`unicodedata` module." +msgstr "" +"Python 3.0 представляє додаткові символи поза межами діапазону ASCII (див. :" +"pep:`3131`). Для цих символів у класифікації використовується версія бази " +"даних символів Unicode, яка включена в модуль :mod:`unicodedata`." + +msgid "Identifiers are unlimited in length. Case is significant." +msgstr "Довжина ідентифікаторів необмежена. Справа знакова." + +msgid "The Unicode category codes mentioned above stand for:" +msgstr "Зазначені вище коди категорій Unicode означають:" + +msgid "*Lu* - uppercase letters" +msgstr "*Lu* - великі літери" + +msgid "*Ll* - lowercase letters" +msgstr "*Ll* - малі літери" + +msgid "*Lt* - titlecase letters" +msgstr "*Lt* - заголовні літери" + +msgid "*Lm* - modifier letters" +msgstr "*Lm* - літери-модифікатори" + +msgid "*Lo* - other letters" +msgstr "*Lo* - інші букви" + +msgid "*Nl* - letter numbers" +msgstr "*Nl* - цифри літер" + +msgid "*Mn* - nonspacing marks" +msgstr "*Mn* - непробільні знаки" + +msgid "*Mc* - spacing combining marks" +msgstr "*Mc* - знаки поєднання інтервалів" + +msgid "*Nd* - decimal numbers" +msgstr "*Nd* - десяткові числа" + +msgid "*Pc* - connector punctuations" +msgstr "*Pc* - розділові знаки сполучника" + +msgid "" +"*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " +"compatibility" +msgstr "" + +msgid "*Other_ID_Continue* - likewise" +msgstr "*Other_ID_Continue* - так само" + +msgid "" +"All identifiers are converted into the normal form NFKC while parsing; " +"comparison of identifiers is based on NFKC." +msgstr "" +"Під час синтаксичного аналізу всі ідентифікатори перетворюються в нормальну " +"форму NFKC; порівняння ідентифікаторів базується на NFKC." + +msgid "" +"A non-normative HTML file listing all valid identifier characters for " +"Unicode 14.0.0 can be found at https://www.unicode.org/Public/14.0.0/ucd/" +"DerivedCoreProperties.txt" +msgstr "" + +msgid "Keywords" +msgstr "Ключові слова" + +msgid "" +"The following identifiers are used as reserved words, or *keywords* of the " +"language, and cannot be used as ordinary identifiers. They must be spelled " +"exactly as written here:" +msgstr "" +"Наступні ідентифікатори використовуються як зарезервовані слова або *ключові " +"слова* мови, і їх не можна використовувати як звичайні ідентифікатори. Вони " +"мають бути написані точно так, як тут написано:" + +msgid "Soft Keywords" +msgstr "М'які ключові слова" + +msgid "" +"Some identifiers are only reserved under specific contexts. These are known " +"as *soft keywords*. The identifiers ``match``, ``case`` and ``_`` can " +"syntactically act as keywords in contexts related to the pattern matching " +"statement, but this distinction is done at the parser level, not when " +"tokenizing." +msgstr "" +"Деякі ідентифікатори зарезервовані лише в певних контекстах. Вони відомі як " +"*м’які ключові слова*. Ідентифікатори ``match``, ``case`` і ``_`` можуть " +"синтаксично діяти як ключові слова в контекстах, пов’язаних із оператором " +"відповідності шаблону, але це розрізнення виконується на рівні аналізатора, " +"а не під час токенізації." + +msgid "" +"As soft keywords, their use with pattern matching is possible while still " +"preserving compatibility with existing code that uses ``match``, ``case`` " +"and ``_`` as identifier names." +msgstr "" +"Як м’які ключові слова, їх використання зі збігом шаблонів можливе, " +"зберігаючи сумісність із існуючим кодом, який використовує ``match``, " +"``case`` і ``_`` як імена ідентифікаторів." + +msgid "Reserved classes of identifiers" +msgstr "Зарезервовані класи ідентифікаторів" + +msgid "" +"Certain classes of identifiers (besides keywords) have special meanings. " +"These classes are identified by the patterns of leading and trailing " +"underscore characters:" +msgstr "" +"Певні класи ідентифікаторів (крім ключових слів) мають спеціальні значення. " +"Ці класи ідентифікуються шаблонами початкових і кінцевих символів " +"підкреслення:" + +msgid "``_*``" +msgstr "``_*``" + +msgid "Not imported by ``from module import *``." +msgstr "Не імпортовано ``з імпорту модуля *``." + +msgid "``_``" +msgstr "``_``" + +msgid "" +"In a ``case`` pattern within a :keyword:`match` statement, ``_`` is a :ref:" +"`soft keyword ` that denotes a :ref:`wildcard `." +msgstr "" +"У шаблоні ``case`` в операторі :keyword:`match`, ``_`` є :ref:`м'яким " +"ключовим словом `, яке позначає :ref:`знак підстановки " +"`." + +msgid "" +"Separately, the interactive interpreter makes the result of the last " +"evaluation available in the variable ``_``. (It is stored in the :mod:" +"`builtins` module, alongside built-in functions like ``print``.)" +msgstr "" +"Окремо інтерактивний інтерпретатор робить результат останньої оцінки " +"доступним у змінній ``_``. (Він зберігається в модулі :mod:`builtins` разом " +"із вбудованими функціями, такими як ``print``.)" + +msgid "" +"Elsewhere, ``_`` is a regular identifier. It is often used to name \"special" +"\" items, but it is not special to Python itself." +msgstr "" +"В інших місцях ``_`` є звичайним ідентифікатором. Його часто використовують " +"для назви \"особливих\" елементів, але це не є особливим для самого Python." + +msgid "" +"The name ``_`` is often used in conjunction with internationalization; refer " +"to the documentation for the :mod:`gettext` module for more information on " +"this convention." +msgstr "" +"Назва ``_`` часто використовується в поєднанні з інтернаціоналізацією; " +"зверніться до документації для модуля :mod:`gettext` для отримання " +"додаткової інформації про цю угоду." + +msgid "It is also commonly used for unused variables." +msgstr "Він також зазвичай використовується для невикористаних змінних." + +msgid "``__*__``" +msgstr "``__*__``" + +msgid "" +"System-defined names, informally known as \"dunder\" names. These names are " +"defined by the interpreter and its implementation (including the standard " +"library). Current system names are discussed in the :ref:`specialnames` " +"section and elsewhere. More will likely be defined in future versions of " +"Python. *Any* use of ``__*__`` names, in any context, that does not follow " +"explicitly documented use, is subject to breakage without warning." +msgstr "" +"Імена, визначені системою, неофіційно відомі як імена \"дундерів\". Ці імена " +"визначаються інтерпретатором і його реалізацією (включаючи стандартну " +"бібліотеку). Поточні назви систем обговорюються в розділі :ref:" +"`specialnames` та в інших місцях. Більше можливо буде визначено в майбутніх " +"версіях Python. *Будь-яке* використання імен ``__*__`` у будь-якому " +"контексті, яке не відповідає явно задокументованому використанню, може бути " +"порушено без попередження." + +msgid "``__*``" +msgstr "``__*``" + +msgid "" +"Class-private names. Names in this category, when used within the context " +"of a class definition, are re-written to use a mangled form to help avoid " +"name clashes between \"private\" attributes of base and derived classes. See " +"section :ref:`atom-identifiers`." +msgstr "" +"Приватні імена класів. Імена в цій категорії, якщо вони використовуються в " +"контексті визначення класу, переписуються, щоб використовувати спотворену " +"форму, щоб уникнути зіткнень імен між \"приватними\" атрибутами базового та " +"похідних класів. Дивіться розділ :ref:`atom-identifiers`." + +msgid "Literals" +msgstr "Літерали" + +msgid "Literals are notations for constant values of some built-in types." +msgstr "Літерали — це позначення постійних значень деяких вбудованих типів." + +msgid "String and Bytes literals" +msgstr "Рядкові та байтові літерали" + +msgid "String literals are described by the following lexical definitions:" +msgstr "Рядкові літерали описуються такими лексичними визначеннями:" + +msgid "" +"One syntactic restriction not indicated by these productions is that " +"whitespace is not allowed between the :token:`~python-grammar:stringprefix` " +"or :token:`~python-grammar:bytesprefix` and the rest of the literal. The " +"source character set is defined by the encoding declaration; it is UTF-8 if " +"no encoding declaration is given in the source file; see section :ref:" +"`encodings`." +msgstr "" +"Одне синтаксичне обмеження, яке не вказується цими продуктами, полягає в " +"тому, що пробіли не допускаються між :token:`~python-grammar:stringprefix` " +"або :token:`~python-grammar:bytesprefix` та рештою літералу. Вихідний набір " +"символів визначається оголошенням кодування; це UTF-8, якщо у вихідному " +"файлі не вказано кодування; див. розділ :ref:`encodings`." + +msgid "" +"In plain English: Both types of literals can be enclosed in matching single " +"quotes (``'``) or double quotes (``\"``). They can also be enclosed in " +"matching groups of three single or double quotes (these are generally " +"referred to as *triple-quoted strings*). The backslash (``\\``) character " +"is used to escape characters that otherwise have a special meaning, such as " +"newline, backslash itself, or the quote character." +msgstr "" + +msgid "" +"Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an " +"instance of the :class:`bytes` type instead of the :class:`str` type. They " +"may only contain ASCII characters; bytes with a numeric value of 128 or " +"greater must be expressed with escapes." +msgstr "" +"Байтові літерали завжди мають префікс ``'b'`` або ``'B'``; вони створюють " +"екземпляр типу :class:`bytes` замість типу :class:`str`. Вони можуть містити " +"лише символи ASCII; байти з числовим значенням 128 або більше повинні бути " +"виражені за допомогою екранованих символів." + +msgid "" +"Both string and bytes literals may optionally be prefixed with a letter " +"``'r'`` or ``'R'``; such strings are called :dfn:`raw strings` and treat " +"backslashes as literal characters. As a result, in string literals, " +"``'\\U'`` and ``'\\u'`` escapes in raw strings are not treated specially. " +"Given that Python 2.x's raw unicode literals behave differently than Python " +"3.x's the ``'ur'`` syntax is not supported." +msgstr "" +"І рядкові, і байтові літерали можуть додатково мати префікс ``'r'`` або " +"``'R'``; такі рядки називаються :dfn:`raw strings` і розглядають зворотні " +"косі риски як буквальні символи. Як наслідок, у рядкових літералах " +"екранування ``'\\U'`` і ``'\\u'`` у необроблених рядках не обробляються " +"спеціально. Враховуючи те, що необроблені літерали Unicode Python 2.x " +"поводяться інакше, ніж Python 3.x, синтаксис ``'ur'`` не підтримується." + +msgid "" +"The ``'rb'`` prefix of raw bytes literals has been added as a synonym of " +"``'br'``." +msgstr "" +"Префікс ``'rb`` до літералів із необробленими байтами було додано як синонім " +"``'br'``." + +msgid "" +"Support for the unicode legacy literal (``u'value'``) was reintroduced to " +"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:" +"`414` for more information." +msgstr "" +"Підтримку застарілого літералу Unicode (``u'value``) було знову запроваджено " +"для спрощення обслуговування подвійних кодових баз Python 2.x і 3.x. " +"Перегляньте :pep:`414` для отримання додаткової інформації." + +msgid "" +"A string literal with ``'f'`` or ``'F'`` in its prefix is a :dfn:`formatted " +"string literal`; see :ref:`f-strings`. The ``'f'`` may be combined with " +"``'r'``, but not with ``'b'`` or ``'u'``, therefore raw formatted strings " +"are possible, but formatted bytes literals are not." +msgstr "" +"Рядковий літерал із ``'f''`` або ``'F''`` у своєму префіксі є :dfn:" +"`formatted string literal`; див. :ref:`f-strings`. ``'f'`` можна поєднувати " +"з ``'r'``, але не з ``'b''`` або ``'u''``, тому можливі необроблені " +"форматовані рядки, але форматовані байтові літерали не є." + +msgid "" +"In triple-quoted literals, unescaped newlines and quotes are allowed (and " +"are retained), except that three unescaped quotes in a row terminate the " +"literal. (A \"quote\" is the character used to open the literal, i.e. " +"either ``'`` or ``\"``.)" +msgstr "" +"У літералах із потрійними лапками дозволені (і зберігаються) неекрановані " +"нові рядки та лапки, за винятком того, що три неекрановані лапки поспіль " +"завершують літерал. (\"Лапка\" - це символ, який використовується для " +"відкриття літералу, тобто ``'`` або ``\"``.)" + +msgid "" +"Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string " +"and bytes literals are interpreted according to rules similar to those used " +"by Standard C. The recognized escape sequences are:" +msgstr "" +"Якщо немає префікса ``'r'`` або ``'R'``, керуючі послідовності в рядкових і " +"байтових літералах інтерпретуються відповідно до правил, подібних до тих, що " +"використовуються стандартом C. Розпізнаними керуючими послідовностями є:" + +msgid "Escape Sequence" +msgstr "Ескейп-послідовність" + +msgid "Meaning" +msgstr "Значення" + +msgid "Notes" +msgstr "Примітки" + +msgid "``\\``\\ " +msgstr "" + +msgid "Backslash and newline ignored" +msgstr "Зворотна коса риска та новий рядок ігноруються" + +msgid "\\(1)" +msgstr "\\(1)" + +msgid "``\\\\``" +msgstr "``\\\\``" + +msgid "Backslash (``\\``)" +msgstr "Зворотна коса риска (``\\``)" + +msgid "``\\'``" +msgstr "``\\''``" + +msgid "Single quote (``'``)" +msgstr "Одинарні лапки (``'``)" + +msgid "``\\\"``" +msgstr "``\\\"``" + +msgid "Double quote (``\"``)" +msgstr "Подвійні лапки (``\"``)" + +msgid "``\\a``" +msgstr "``\\a``" + +msgid "ASCII Bell (BEL)" +msgstr "ASCII Bell (BEL)" + +msgid "``\\b``" +msgstr "``\\b``" + +msgid "ASCII Backspace (BS)" +msgstr "ASCII Backspace (BS)" + +msgid "``\\f``" +msgstr "``\\f``" + +msgid "ASCII Formfeed (FF)" +msgstr "ASCII Formfeed (FF)" + +msgid "``\\n``" +msgstr "``\\n``" + +msgid "ASCII Linefeed (LF)" +msgstr "ASCII Linefeed (LF)" + +msgid "``\\r``" +msgstr "``\\r``" + +msgid "ASCII Carriage Return (CR)" +msgstr "ASCII повернення каретки (CR)" + +msgid "``\\t``" +msgstr "``\\t``" + +msgid "ASCII Horizontal Tab (TAB)" +msgstr "Горизонтальна вкладка ASCII (TAB)" + +msgid "``\\v``" +msgstr "``\\v``" + +msgid "ASCII Vertical Tab (VT)" +msgstr "Вертикальна вкладка ASCII (VT)" + +msgid "``\\ooo``" +msgstr "``\\ооо``" + +msgid "Character with octal value *ooo*" +msgstr "Символ із вісімковим значенням *ooo*" + +msgid "(2,4)" +msgstr "" + +msgid "``\\xhh``" +msgstr "``\\xhh``" + +msgid "Character with hex value *hh*" +msgstr "Символ із шістнадцятковим значенням *hh*" + +msgid "(3,4)" +msgstr "" + +msgid "Escape sequences only recognized in string literals are:" +msgstr "Екран-послідовності, розпізнані лише в рядкових літералах:" + +msgid "``\\N{name}``" +msgstr "``\\N{name}``" + +msgid "Character named *name* in the Unicode database" +msgstr "Символ із назвою *name* у базі даних Unicode" + +msgid "\\(5)" +msgstr "\\(5)" + +msgid "``\\uxxxx``" +msgstr "``\\uxxxx``" + +msgid "Character with 16-bit hex value *xxxx*" +msgstr "Символ із 16-бітним шістнадцятковим значенням *xxxx*" + +msgid "\\(6)" +msgstr "\\(6)" + +msgid "``\\Uxxxxxxxx``" +msgstr "``\\Uxxxxxxxxx``" + +msgid "Character with 32-bit hex value *xxxxxxxx*" +msgstr "Символ із 32-розрядним шістнадцятковим значенням *xxxxxxx*" + +msgid "\\(7)" +msgstr "\\(7)" + +msgid "Notes:" +msgstr "Примітки:" + +msgid "A backslash can be added at the end of a line to ignore the newline::" +msgstr "" + +msgid "" +"The same result can be achieved using :ref:`triple-quoted strings " +"`, or parentheses and :ref:`string literal concatenation `." +msgstr "" + +msgid "As in Standard C, up to three octal digits are accepted." +msgstr "Як і в стандарті C, допускається до трьох вісімкових цифр." + +msgid "" +"Octal escapes with value larger than ``0o377`` produce a :exc:" +"`DeprecationWarning`. In a future Python version they will be a :exc:" +"`SyntaxWarning` and eventually a :exc:`SyntaxError`." +msgstr "" + +msgid "Unlike in Standard C, exactly two hex digits are required." +msgstr "На відміну від стандарту C, потрібні рівно дві шістнадцяткові цифри." + +msgid "" +"In a bytes literal, hexadecimal and octal escapes denote the byte with the " +"given value. In a string literal, these escapes denote a Unicode character " +"with the given value." +msgstr "" +"У байтовому літералі шістнадцяткове та вісімкове екранування позначають байт " +"із заданим значенням. У рядковому літералі ці екрановані символи позначають " +"символ Unicode із заданим значенням." + +msgid "Support for name aliases [#]_ has been added." +msgstr "Додано підтримку псевдонімів [#]_." + +msgid "Exactly four hex digits are required." +msgstr "Потрібні рівно чотири шістнадцяткові цифри." + +msgid "" +"Any Unicode character can be encoded this way. Exactly eight hex digits are " +"required." +msgstr "" +"Таким чином можна закодувати будь-який символ Unicode. Необхідно рівно вісім " +"шістнадцяткових цифр." + +msgid "" +"Unlike Standard C, all unrecognized escape sequences are left in the string " +"unchanged, i.e., *the backslash is left in the result*. (This behavior is " +"useful when debugging: if an escape sequence is mistyped, the resulting " +"output is more easily recognized as broken.) It is also important to note " +"that the escape sequences only recognized in string literals fall into the " +"category of unrecognized escapes for bytes literals." +msgstr "" +"На відміну від стандартного C, усі нерозпізнані керуючі послідовності " +"залишаються в рядку без змін, тобто *зворотний слеш залишається в " +"результаті*. (Ця поведінка корисна під час налагодження: якщо escape-" +"послідовність введена неправильно, результат легше розпізнати як " +"несправний.) Важливо також зазначити, що escape-послідовності, розпізнані " +"лише в рядкових літералах, належать до категорії нерозпізнаних escape-" +"сигналів для байтів. літерали." + +msgid "" +"Unrecognized escape sequences produce a :exc:`DeprecationWarning`. In a " +"future Python version they will be a :exc:`SyntaxWarning` and eventually a :" +"exc:`SyntaxError`." +msgstr "" +"Нерозпізнані керуючі послідовності створюють :exc:`DeprecationWarning`. У " +"майбутній версії Python вони будуть :exc:`SyntaxWarning` і, зрештою, :exc:" +"`SyntaxError`." + +msgid "" +"Even in a raw literal, quotes can be escaped with a backslash, but the " +"backslash remains in the result; for example, ``r\"\\\"\"`` is a valid " +"string literal consisting of two characters: a backslash and a double quote; " +"``r\"\\\"`` is not a valid string literal (even a raw string cannot end in " +"an odd number of backslashes). Specifically, *a raw literal cannot end in a " +"single backslash* (since the backslash would escape the following quote " +"character). Note also that a single backslash followed by a newline is " +"interpreted as those two characters as part of the literal, *not* as a line " +"continuation." +msgstr "" +"Навіть у необробленому літералі лапки можна екранувати за допомогою " +"зворотної косої риски, але зворотна коса риска залишається в результаті; " +"наприклад, ``r\"\\\"\"`` є дійсним рядковим літералом, що складається з двох " +"символів: зворотної косої риски та подвійних лапок; ``r\"\\\"`` не є дійсним " +"рядковим літералом (навіть необроблений рядок не може закінчуватися у " +"непарній кількості зворотних скісних рисок). Зокрема, *необроблений літерал " +"не може закінчуватися однією зворотною скісною рискою* (оскільки зворотна " +"скісна риска виключатиме наступний символ лапок). Зауважте також, що одна " +"зворотна скісна риска, за якою йде новий рядок, інтерпретується як ці два " +"символи як частина літералу, *не* як продовження рядка." + +msgid "String literal concatenation" +msgstr "Конкатенація рядкового літералу" + +msgid "" +"Multiple adjacent string or bytes literals (delimited by whitespace), " +"possibly using different quoting conventions, are allowed, and their meaning " +"is the same as their concatenation. Thus, ``\"hello\" 'world'`` is " +"equivalent to ``\"helloworld\"``. This feature can be used to reduce the " +"number of backslashes needed, to split long strings conveniently across long " +"lines, or even to add comments to parts of strings, for example::" +msgstr "" +"Кілька суміжних рядкових або байтових літералів (розмежованих пробілами), " +"можливо, з використанням різних угод про цитування, дозволено, і їхнє " +"значення таке ж, як і їх об’єднання. Таким чином, ``\"hello\" 'world'`` " +"еквівалентно ``\"helloworld\"``. Цю функцію можна використати, щоб зменшити " +"кількість потрібних зворотних похилих рис, щоб зручно розділити довгі рядки " +"на довгі рядки або навіть додати коментарі до частин рядків, наприклад::" + +msgid "" +"Note that this feature is defined at the syntactical level, but implemented " +"at compile time. The '+' operator must be used to concatenate string " +"expressions at run time. Also note that literal concatenation can use " +"different quoting styles for each component (even mixing raw strings and " +"triple quoted strings), and formatted string literals may be concatenated " +"with plain string literals." +msgstr "" +"Зауважте, що ця функція визначена на синтаксичному рівні, але реалізована " +"під час компіляції. Для об’єднання рядкових виразів під час виконання " +"необхідно використовувати оператор \"+\". Також зауважте, що конкатенація " +"літералів може використовувати різні стилі лапок для кожного компонента " +"(навіть змішування необроблених рядків і рядків у потрійних лапках), а " +"форматовані рядкові літерали можуть бути об’єднані з простими рядковими " +"літералами." + +msgid "Formatted string literals" +msgstr "Відформатовані рядкові літерали" + +msgid "" +"A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " +"that is prefixed with ``'f'`` or ``'F'``. These strings may contain " +"replacement fields, which are expressions delimited by curly braces ``{}``. " +"While other string literals always have a constant value, formatted strings " +"are really expressions evaluated at run time." +msgstr "" +":dfn:`formatted string literal` або :dfn:`f-string` — це рядковий літерал, " +"який має префікс ``'f'`` або ``'F'``. Ці рядки можуть містити поля заміни, " +"які є виразами, розділеними фігурними дужками ``{}``. Хоча інші рядкові " +"літерали завжди мають постійне значення, форматовані рядки насправді є " +"виразами, які обчислюються під час виконання." + +msgid "" +"Escape sequences are decoded like in ordinary string literals (except when a " +"literal is also marked as a raw string). After decoding, the grammar for " +"the contents of the string is:" +msgstr "" +"Екран-послідовності декодуються як у звичайних рядкових літералах (за " +"винятком випадків, коли літерал також позначено як необроблений рядок). " +"Після декодування граматика вмісту рядка така:" + +msgid "" +"The parts of the string outside curly braces are treated literally, except " +"that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " +"corresponding single curly brace. A single opening curly bracket ``'{'`` " +"marks a replacement field, which starts with a Python expression. To display " +"both the expression text and its value after evaluation, (useful in " +"debugging), an equal sign ``'='`` may be added after the expression. A " +"conversion field, introduced by an exclamation point ``'!'`` may follow. A " +"format specifier may also be appended, introduced by a colon ``':'``. A " +"replacement field ends with a closing curly bracket ``'}'``." +msgstr "" +"Частини рядка поза фігурними дужками трактуються буквально, за винятком " +"того, що будь-які подвоєні фігурні дужки ``'{{'`` або ``'}}'`` замінюються " +"відповідною одинарною фігурною дужкою. Одна відкривна фігурна дужка ``'{'`` " +"позначає поле заміни, яке починається з виразу Python. Щоб відобразити як " +"текст виразу, так і його значення після оцінки (корисно під час " +"налагодження), після виразу можна додати знак рівності ``'='``. Поле " +"перетворення, введене знаком оклику ``'!'`` може слідувати за ним. " +"Специфікатор формату також може бути доданий двокрапкою ``':''``. Поле " +"заміни закінчується фігурною дужкою, що закривається, ``'}''``." + +msgid "" +"Expressions in formatted string literals are treated like regular Python " +"expressions surrounded by parentheses, with a few exceptions. An empty " +"expression is not allowed, and both :keyword:`lambda` and assignment " +"expressions ``:=`` must be surrounded by explicit parentheses. Replacement " +"expressions can contain line breaks (e.g. in triple-quoted strings), but " +"they cannot contain comments. Each expression is evaluated in the context " +"where the formatted string literal appears, in order from left to right." +msgstr "" +"Вирази у форматованих рядкових літералах розглядаються як звичайні вирази " +"Python, оточені дужками, за кількома винятками. Порожній вираз не " +"дозволяється, і як :keyword:`lambda`, так і вирази присвоєння ``:=`` мають " +"бути оточені явними дужками. Вирази заміни можуть містити розриви рядків " +"(наприклад, у рядках у потрійних лапках), але вони не можуть містити " +"коментарів. Кожен вираз обчислюється в контексті, де з’являється " +"відформатований рядковий літерал, у порядку зліва направо." + +msgid "" +"Prior to Python 3.7, an :keyword:`await` expression and comprehensions " +"containing an :keyword:`async for` clause were illegal in the expressions in " +"formatted string literals due to a problem with the implementation." +msgstr "" +"До Python 3.7 вираз :keyword:`await` і розуміння, що містять пропозицію :" +"keyword:`async for`, були незаконними у виразах у форматованих рядкових " +"літералах через проблему з реалізацією." + +msgid "" +"When the equal sign ``'='`` is provided, the output will have the expression " +"text, the ``'='`` and the evaluated value. Spaces after the opening brace " +"``'{'``, within the expression and after the ``'='`` are all retained in the " +"output. By default, the ``'='`` causes the :func:`repr` of the expression to " +"be provided, unless there is a format specified. When a format is specified " +"it defaults to the :func:`str` of the expression unless a conversion ``'!" +"r'`` is declared." +msgstr "" +"Якщо вказано знак рівності ``'='``, вихідні дані матимуть текст виразу, " +"``'='`` і обчислене значення. Пробіли після відкриваючої фігурної дужки " +"``'{'`` у виразі та після ``'='`` зберігаються у виводі. За замовчуванням " +"``'='`` надає :func:`repr` виразу, якщо не вказано формат. Коли вказано " +"формат, за замовчуванням використовується :func:`str` виразу, якщо не " +"оголошено перетворення ``'!r''``." + +msgid "The equal sign ``'='``." +msgstr "Знак рівності ``'='``." + +msgid "" +"If a conversion is specified, the result of evaluating the expression is " +"converted before formatting. Conversion ``'!s'`` calls :func:`str` on the " +"result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`." +msgstr "" +"Якщо вказано перетворення, результат обчислення виразу перетворюється перед " +"форматуванням. Перетворення ``'!s'`` викликає :func:`str` результату, ``'!" +"r''`` викликає :func:`repr`, а ``'!a'`` викликає :func:`ascii`." + +msgid "" +"The result is then formatted using the :func:`format` protocol. The format " +"specifier is passed to the :meth:`__format__` method of the expression or " +"conversion result. An empty string is passed when the format specifier is " +"omitted. The formatted result is then included in the final value of the " +"whole string." +msgstr "" +"Потім результат форматується за допомогою протоколу :func:`format`. " +"Специфікатор формату передається в метод :meth:`__format__` виразу або " +"результату перетворення. Порожній рядок передається, якщо специфікатор " +"формату опущено. Потім відформатований результат включається в кінцеве " +"значення всього рядка." + +msgid "" +"Top-level format specifiers may include nested replacement fields. These " +"nested fields may include their own conversion fields and :ref:`format " +"specifiers `, but may not include more deeply nested replacement " +"fields. The :ref:`format specifier mini-language ` is the same " +"as that used by the :meth:`str.format` method." +msgstr "" + +msgid "" +"Formatted string literals may be concatenated, but replacement fields cannot " +"be split across literals." +msgstr "" +"Відформатовані рядкові літерали можуть бути об’єднані, але поля заміни не " +"можуть бути розділені на літерали." + +msgid "Some examples of formatted string literals::" +msgstr "Деякі приклади відформатованих рядкових літералів::" + +msgid "" +"A consequence of sharing the same syntax as regular string literals is that " +"characters in the replacement fields must not conflict with the quoting used " +"in the outer formatted string literal::" +msgstr "" +"Наслідком спільного використання такого ж синтаксису, як і звичайні рядкові " +"літерали, є те, що символи в полях заміни не повинні конфліктувати з " +"лапками, які використовуються у зовнішньому форматованому рядковому " +"літералі::" + +msgid "" +"Backslashes are not allowed in format expressions and will raise an error::" +msgstr "" +"Зворотні скісні риски не дозволені у виразах формату та призведуть до " +"помилки::" + +msgid "" +"To include a value in which a backslash escape is required, create a " +"temporary variable." +msgstr "" +"Щоб включити значення, у якому необхідний символ зворотної скісної риски, " +"створіть тимчасову змінну." + +msgid "" +"Formatted string literals cannot be used as docstrings, even if they do not " +"include expressions." +msgstr "" +"Відформатовані рядкові літерали не можна використовувати як рядки " +"документації, навіть якщо вони не містять виразів." + +msgid "" +"See also :pep:`498` for the proposal that added formatted string literals, " +"and :meth:`str.format`, which uses a related format string mechanism." +msgstr "" +"Дивіться також :pep:`498` для пропозиції, яка додала відформатовані рядкові " +"літерали, і :meth:`str.format`, який використовує пов’язаний механізм " +"форматування рядків." + +msgid "Numeric literals" +msgstr "Числові літерали" + +msgid "" +"There are three types of numeric literals: integers, floating point numbers, " +"and imaginary numbers. There are no complex literals (complex numbers can " +"be formed by adding a real number and an imaginary number)." +msgstr "" +"Існує три типи числових літералів: цілі числа, числа з плаваючою комою та " +"уявні числа. Комплексних літералів немає (комплексні числа можна утворити " +"додаванням дійсного числа та уявного числа)." + +msgid "" +"Note that numeric literals do not include a sign; a phrase like ``-1`` is " +"actually an expression composed of the unary operator '``-``' and the " +"literal ``1``." +msgstr "" +"Зауважте, що числові літерали не містять знака; така фраза, як ``-1``, " +"насправді є виразом, що складається з унарного оператора '``-``' і літерала " +"``1``." + +msgid "Integer literals" +msgstr "Цілі літерали" + +msgid "Integer literals are described by the following lexical definitions:" +msgstr "Цілі літерали описуються такими лексичними визначеннями:" + +msgid "" +"There is no limit for the length of integer literals apart from what can be " +"stored in available memory." +msgstr "" +"Немає обмежень щодо довжини цілочисельних літералів, крім того, що може " +"зберігатися у доступній пам’яті." + +msgid "" +"Underscores are ignored for determining the numeric value of the literal. " +"They can be used to group digits for enhanced readability. One underscore " +"can occur between digits, and after base specifiers like ``0x``." +msgstr "" +"Підкреслення ігноруються для визначення числового значення літералу. Їх " +"можна використовувати для групування цифр для кращої читабельності. Одне " +"підкреслення може бути між цифрами та після основних специфікаторів, таких " +"як ``0x``." + +msgid "" +"Note that leading zeros in a non-zero decimal number are not allowed. This " +"is for disambiguation with C-style octal literals, which Python used before " +"version 3.0." +msgstr "" +"Зауважте, що нулі на початку ненульового десяткового числа не допускаються. " +"Це для усунення неоднозначності з вісімковими літералами у стилі C, які " +"Python використовував до версії 3.0." + +msgid "Some examples of integer literals::" +msgstr "Деякі приклади цілих літералів::" + +msgid "Underscores are now allowed for grouping purposes in literals." +msgstr "Підкреслення тепер дозволено для цілей групування в літералах." + +msgid "Floating point literals" +msgstr "Літерали з плаваючою комою" + +msgid "" +"Floating point literals are described by the following lexical definitions:" +msgstr "Літерали з плаваючою комою описуються такими лексичними визначеннями:" + +msgid "" +"Note that the integer and exponent parts are always interpreted using radix " +"10. For example, ``077e010`` is legal, and denotes the same number as " +"``77e10``. The allowed range of floating point literals is implementation-" +"dependent. As in integer literals, underscores are supported for digit " +"grouping." +msgstr "" +"Зауважте, що ціла та експонента завжди інтерпретуються з використанням " +"основи 10. Наприклад, ``077e010`` є допустимим і позначає те саме число, що " +"``77e10``. Дозволений діапазон літералів із плаваючою комою залежить від " +"реалізації. Як і в цілих літералах, підкреслення підтримуються для " +"групування цифр." + +msgid "Some examples of floating point literals::" +msgstr "Деякі приклади літералів з плаваючою комою::" + +msgid "Imaginary literals" +msgstr "Уявні літерали" + +msgid "Imaginary literals are described by the following lexical definitions:" +msgstr "Уявні літерали описуються такими лексичними визначеннями:" + +msgid "" +"An imaginary literal yields a complex number with a real part of 0.0. " +"Complex numbers are represented as a pair of floating point numbers and have " +"the same restrictions on their range. To create a complex number with a " +"nonzero real part, add a floating point number to it, e.g., ``(3+4j)``. " +"Some examples of imaginary literals::" +msgstr "" +"Уявний літерал дає комплексне число з дійсною частиною 0,0. Комплексні числа " +"представлені у вигляді пари чисел з плаваючою комою та мають однакові " +"обмеження щодо свого діапазону. Щоб створити комплексне число з ненульовою " +"дійсною частиною, додайте до нього число з плаваючою комою, наприклад, " +"``(3+4j)``. Деякі приклади уявних літералів:" + +msgid "Operators" +msgstr "Оператори" + +msgid "The following tokens are operators:" +msgstr "Наступні токени є операторами:" + +msgid "Delimiters" +msgstr "Роздільники" + +msgid "The following tokens serve as delimiters in the grammar:" +msgstr "Наступні лексеми служать роздільниками в граматиці:" + +msgid "" +"The period can also occur in floating-point and imaginary literals. A " +"sequence of three periods has a special meaning as an ellipsis literal. The " +"second half of the list, the augmented assignment operators, serve lexically " +"as delimiters, but also perform an operation." +msgstr "" +"Крапка також може зустрічатися в літералах із плаваючою комою та уявних " +"літералах. Послідовність із трьох періодів має особливе значення як літерали " +"еліпсису. Друга половина списку, розширені оператори присвоєння, лексично " +"служать роздільниками, але також виконують операції." + +msgid "" +"The following printing ASCII characters have special meaning as part of " +"other tokens or are otherwise significant to the lexical analyzer:" +msgstr "" +"Наступні друковані символи ASCII мають спеціальне значення як частина інших " +"токенів або іншим чином важливі для лексичного аналізатора:" + +msgid "" +"The following printing ASCII characters are not used in Python. Their " +"occurrence outside string literals and comments is an unconditional error:" +msgstr "" +"Наступні друковані символи ASCII не використовуються в Python. Їх поява поза " +"рядковими літералами та коментарями є безумовною помилкою:" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" +msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po new file mode 100644 index 000000000..09d4cb074 --- /dev/null +++ b/reference/simple_stmts.po @@ -0,0 +1,1297 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Simple statements" +msgstr "Прості твердження" + +msgid "" +"A simple statement is comprised within a single logical line. Several simple " +"statements may occur on a single line separated by semicolons. The syntax " +"for simple statements is:" +msgstr "" +"Просте твердження міститься в одному логічному рядку. В одному рядку, " +"розділених крапкою з комою, може бути кілька простих операторів. Синтаксис " +"простих операторів такий:" + +msgid "Expression statements" +msgstr "Вирази" + +msgid "" +"Expression statements are used (mostly interactively) to compute and write a " +"value, or (usually) to call a procedure (a function that returns no " +"meaningful result; in Python, procedures return the value ``None``). Other " +"uses of expression statements are allowed and occasionally useful. The " +"syntax for an expression statement is:" +msgstr "" +"Інструкції-вирази використовуються (здебільшого в інтерактивному режимі) для " +"обчислення та запису значення або (зазвичай) для виклику процедури (функції, " +"яка не повертає значущого результату; у Python процедури повертають значення " +"``None``). Інші способи використання операторів-виразів дозволені та інколи " +"корисні. Синтаксис оператора виразу:" + +msgid "" +"An expression statement evaluates the expression list (which may be a single " +"expression)." +msgstr "" +"Оператор виразу обчислює список виразів (який може бути одним виразом)." + +msgid "" +"In interactive mode, if the value is not ``None``, it is converted to a " +"string using the built-in :func:`repr` function and the resulting string is " +"written to standard output on a line by itself (except if the result is " +"``None``, so that procedure calls do not cause any output.)" +msgstr "" +"В інтерактивному режимі, якщо значення не є ``None``, воно перетворюється на " +"рядок за допомогою вбудованої функції :func:`repr`, а отриманий рядок " +"записується до стандартного виводу в окремому рядку (крім випадків, коли " +"результатом є ``None``, так що виклики процедур не викликають жодних " +"виводів.)" + +msgid "Assignment statements" +msgstr "Заяви про призначення" + +msgid "" +"Assignment statements are used to (re)bind names to values and to modify " +"attributes or items of mutable objects:" +msgstr "" +"Оператори присвоєння використовуються для (повторного) прив’язування імен до " +"значень і для зміни атрибутів або елементів змінних об’єктів:" + +msgid "" +"(See section :ref:`primaries` for the syntax definitions for *attributeref*, " +"*subscription*, and *slicing*.)" +msgstr "" +"(Див. розділ :ref:`primaries` для визначення синтаксису для *attributeref*, " +"*subscription* і *slicing*.)" + +msgid "" +"An assignment statement evaluates the expression list (remember that this " +"can be a single expression or a comma-separated list, the latter yielding a " +"tuple) and assigns the single resulting object to each of the target lists, " +"from left to right." +msgstr "" +"Інструкція присвоєння оцінює список виразів (пам’ятайте, що це може бути " +"один вираз або список, розділений комами, останній дає кортеж) і призначає " +"єдиний результуючий об’єкт кожному з цільових списків зліва направо." + +msgid "" +"Assignment is defined recursively depending on the form of the target " +"(list). When a target is part of a mutable object (an attribute reference, " +"subscription or slicing), the mutable object must ultimately perform the " +"assignment and decide about its validity, and may raise an exception if the " +"assignment is unacceptable. The rules observed by various types and the " +"exceptions raised are given with the definition of the object types (see " +"section :ref:`types`)." +msgstr "" +"Присвоєння визначається рекурсивно залежно від форми цілі (списку). Коли " +"ціль є частиною змінного об’єкта (посилання на атрибут, підписка або зріз), " +"змінний об’єкт повинен остаточно виконати призначення та прийняти рішення " +"про його достовірність і може викликати виняток, якщо призначення є " +"неприйнятним. Правила, яких дотримуються різні типи, і винятки, які " +"виникають, наведені разом із визначенням типів об’єктів (див. розділ :ref:" +"`types`)." + +msgid "" +"Assignment of an object to a target list, optionally enclosed in parentheses " +"or square brackets, is recursively defined as follows." +msgstr "" +"Призначення об’єкта цільовому списку, необов’язково укладеному в круглі або " +"квадратні дужки, рекурсивно визначається наступним чином." + +msgid "" +"If the target list is a single target with no trailing comma, optionally in " +"parentheses, the object is assigned to that target." +msgstr "" +"Якщо цільовий список є одним цільовим об’єктом без кінцевої коми, " +"необов’язково в дужках, об’єкт призначається цій цільовій цілі." + +msgid "Else:" +msgstr "ще:" + +msgid "" +"If the target list contains one target prefixed with an asterisk, called a " +"\"starred\" target: The object must be an iterable with at least as many " +"items as there are targets in the target list, minus one. The first items " +"of the iterable are assigned, from left to right, to the targets before the " +"starred target. The final items of the iterable are assigned to the targets " +"after the starred target. A list of the remaining items in the iterable is " +"then assigned to the starred target (the list can be empty)." +msgstr "" +"Якщо цільовий список містить одну ціль із префіксом зірочки, це називається " +"ціль із зірочкою: об’єкт має бути ітерованим із принаймні такою кількістю " +"елементів, скільки цілей у списку цілей, мінус один. Перші елементи iterable " +"призначаються, зліва направо, цілям перед ціллю, позначеною зірочкою. " +"Останні елементи iterable призначаються цілям після цілі, позначеної " +"зірочкою. Список елементів, що залишилися в iterable, потім призначається " +"позначеній цілі (список може бути порожнім)." + +msgid "" +"Else: The object must be an iterable with the same number of items as there " +"are targets in the target list, and the items are assigned, from left to " +"right, to the corresponding targets." +msgstr "" +"Інакше: об’єкт має бути ітерованим із такою ж кількістю елементів, як цілей " +"у списку цілей, а елементи призначаються зліва направо відповідним цілям." + +msgid "" +"Assignment of an object to a single target is recursively defined as follows." +msgstr "" +"Призначення об'єкта одній меті рекурсивно визначається наступним чином." + +msgid "If the target is an identifier (name):" +msgstr "Якщо метою є ідентифікатор (ім’я):" + +msgid "" +"If the name does not occur in a :keyword:`global` or :keyword:`nonlocal` " +"statement in the current code block: the name is bound to the object in the " +"current local namespace." +msgstr "" +"Якщо ім’я не зустрічається в операторі :keyword:`global` або :keyword:" +"`nonlocal` у поточному блоці коду: ім’я прив’язується до об’єкта в поточному " +"локальному просторі імен." + +msgid "" +"Otherwise: the name is bound to the object in the global namespace or the " +"outer namespace determined by :keyword:`nonlocal`, respectively." +msgstr "" +"Інакше: ім’я прив’язується до об’єкта в глобальному просторі імен або " +"зовнішньому просторі імен, визначеному :keyword:`nonlocal` відповідно." + +msgid "" +"The name is rebound if it was already bound. This may cause the reference " +"count for the object previously bound to the name to reach zero, causing the " +"object to be deallocated and its destructor (if it has one) to be called." +msgstr "" +"Ім'я повертається, якщо воно вже було зв'язане. Це може призвести до того, " +"що кількість посилань для об’єкта, раніше прив’язаного до імені, досягне " +"нуля, що призведе до звільнення об’єкта та виклику його деструктора (якщо " +"він є)." + +msgid "" +"If the target is an attribute reference: The primary expression in the " +"reference is evaluated. It should yield an object with assignable " +"attributes; if this is not the case, :exc:`TypeError` is raised. That " +"object is then asked to assign the assigned object to the given attribute; " +"if it cannot perform the assignment, it raises an exception (usually but not " +"necessarily :exc:`AttributeError`)." +msgstr "" +"Якщо метою є посилання на атрибут: обчислюється основний вираз у посиланні. " +"Він повинен давати об’єкт із присвоюваними атрибутами; якщо це не так, " +"виникає :exc:`TypeError`. Тоді цей об’єкт запитується призначити призначений " +"об’єкт даному атрибуту; якщо він не може виконати призначення, він викликає " +"виняток (зазвичай, але не обов’язково :exc:`AttributeError`)." + +msgid "" +"Note: If the object is a class instance and the attribute reference occurs " +"on both sides of the assignment operator, the right-hand side expression, " +"``a.x`` can access either an instance attribute or (if no instance attribute " +"exists) a class attribute. The left-hand side target ``a.x`` is always set " +"as an instance attribute, creating it if necessary. Thus, the two " +"occurrences of ``a.x`` do not necessarily refer to the same attribute: if " +"the right-hand side expression refers to a class attribute, the left-hand " +"side creates a new instance attribute as the target of the assignment::" +msgstr "" +"Примітка. Якщо об’єкт є екземпляром класу, а посилання на атрибут міститься " +"з обох сторін оператора присвоєння, вираз у правому боці ``a.x`` може " +"отримати доступ або до атрибута екземпляра, або (якщо атрибут екземпляра не " +"існує) до класу атрибут. Ліва ціль ``a.x`` завжди встановлюється як атрибут " +"екземпляра, створюючи його за необхідності. Таким чином, два входження ``a." +"x`` не обов’язково посилаються на той самий атрибут: якщо правий вираз " +"посилається на атрибут класу, ліва частина створює новий атрибут екземпляра " +"як ціль призначення: :" + +msgid "" +"This description does not necessarily apply to descriptor attributes, such " +"as properties created with :func:`property`." +msgstr "" +"Цей опис не обов’язково стосується атрибутів дескрипторів, таких як " +"властивості, створені за допомогою :func:`property`." + +msgid "" +"If the target is a subscription: The primary expression in the reference is " +"evaluated. It should yield either a mutable sequence object (such as a " +"list) or a mapping object (such as a dictionary). Next, the subscript " +"expression is evaluated." +msgstr "" +"Якщо метою є підписка: обчислюється основний вираз у посиланні. Він повинен " +"давати або об’єкт змінної послідовності (наприклад, список), або об’єкт " +"відображення (наприклад, словник). Далі обчислюється нижній індекс." + +msgid "" +"If the primary is a mutable sequence object (such as a list), the subscript " +"must yield an integer. If it is negative, the sequence's length is added to " +"it. The resulting value must be a nonnegative integer less than the " +"sequence's length, and the sequence is asked to assign the assigned object " +"to its item with that index. If the index is out of range, :exc:" +"`IndexError` is raised (assignment to a subscripted sequence cannot add new " +"items to a list)." +msgstr "" +"Якщо основний об’єкт є змінним об’єктом послідовності (наприклад, список), " +"нижній індекс повинен давати ціле число. Якщо він від’ємний, до нього " +"додається довжина послідовності. Отримане значення має бути невід’ємним " +"цілим числом, меншим за довжину послідовності, і послідовності пропонується " +"призначити призначений об’єкт своєму елементу з цим індексом. Якщо індекс " +"виходить за межі діапазону, виникає :exc:`IndexError` (присвоєння " +"послідовності з індексом не може додавати нові елементи до списку)." + +msgid "" +"If the primary is a mapping object (such as a dictionary), the subscript " +"must have a type compatible with the mapping's key type, and the mapping is " +"then asked to create a key/datum pair which maps the subscript to the " +"assigned object. This can either replace an existing key/value pair with " +"the same key value, or insert a new key/value pair (if no key with the same " +"value existed)." +msgstr "" +"Якщо основним є об’єкт відображення (наприклад, словник), нижній індекс " +"повинен мати тип, сумісний із типом ключа відображення, а потім відображення " +"запитується створити пару ключ/дані, яка відображає підіндекс у призначений " +"об’єкт. Це може або замінити наявну пару ключ/значення тим самим значенням " +"ключа, або вставити нову пару ключ/значення (якщо ключа з таким самим " +"значенням не існує)." + +msgid "" +"For user-defined objects, the :meth:`__setitem__` method is called with " +"appropriate arguments." +msgstr "" +"Для об’єктів, визначених користувачем, метод :meth:`__setitem__` " +"викликається з відповідними аргументами." + +msgid "" +"If the target is a slicing: The primary expression in the reference is " +"evaluated. It should yield a mutable sequence object (such as a list). The " +"assigned object should be a sequence object of the same type. Next, the " +"lower and upper bound expressions are evaluated, insofar they are present; " +"defaults are zero and the sequence's length. The bounds should evaluate to " +"integers. If either bound is negative, the sequence's length is added to " +"it. The resulting bounds are clipped to lie between zero and the sequence's " +"length, inclusive. Finally, the sequence object is asked to replace the " +"slice with the items of the assigned sequence. The length of the slice may " +"be different from the length of the assigned sequence, thus changing the " +"length of the target sequence, if the target sequence allows it." +msgstr "" +"Якщо метою є нарізка: обчислюється основний вираз у посиланні. Він повинен " +"давати змінний об’єкт послідовності (наприклад, список). Призначений об’єкт " +"має бути об’єктом послідовності того самого типу. Далі обчислюються вирази " +"нижньої та верхньої межі, якщо вони присутні; за замовчуванням нуль і " +"довжина послідовності. Межі повинні обчислюватися як цілі числа. Якщо будь-" +"яка межа негативна, до неї додається довжина послідовності. Отримані межі " +"обрізаються між нулем і довжиною послідовності включно. Нарешті, об’єкту " +"послідовності пропонується замінити зріз елементами призначеної " +"послідовності. Довжина зрізу може відрізнятися від довжини призначеної " +"послідовності, таким чином змінюючи довжину цільової послідовності, якщо це " +"дозволяє цільова послідовність." + +msgid "" +"In the current implementation, the syntax for targets is taken to be the " +"same as for expressions, and invalid syntax is rejected during the code " +"generation phase, causing less detailed error messages." +msgstr "" +"У поточній реалізації синтаксис для цілей вважається таким самим, як і для " +"виразів, а недійсний синтаксис відхиляється під час фази генерації коду, " +"викликаючи менш докладні повідомлення про помилки." + +msgid "" +"Although the definition of assignment implies that overlaps between the left-" +"hand side and the right-hand side are 'simultaneous' (for example ``a, b = " +"b, a`` swaps two variables), overlaps *within* the collection of assigned-to " +"variables occur left-to-right, sometimes resulting in confusion. For " +"instance, the following program prints ``[0, 2]``::" +msgstr "" +"Хоча визначення присвоєння передбачає, що збіги між лівою та правою " +"сторонами є \"одночасними\" (наприклад, ``a, b = b, a`` міняє місцями дві " +"змінні), збіги *в* колекції присвоєні змінним відбуваються зліва направо, що " +"іноді призводить до плутанини. Наприклад, наступна програма друкує ``[0, " +"2]``::" + +msgid ":pep:`3132` - Extended Iterable Unpacking" +msgstr ":pep:`3132` - Розширене ітераційне розпакування" + +msgid "The specification for the ``*target`` feature." +msgstr "Специфікація функції ``*target``." + +msgid "Augmented assignment statements" +msgstr "Доповнені заяви про призначення" + +msgid "" +"Augmented assignment is the combination, in a single statement, of a binary " +"operation and an assignment statement:" +msgstr "" +"Розширене присвоєння — це комбінація в одному операторі двійкової операції " +"та оператора присвоєння:" + +msgid "" +"(See section :ref:`primaries` for the syntax definitions of the last three " +"symbols.)" +msgstr "" +"(Див. розділ :ref:`primaries` для визначення синтаксису останніх трьох " +"символів.)" + +msgid "" +"An augmented assignment evaluates the target (which, unlike normal " +"assignment statements, cannot be an unpacking) and the expression list, " +"performs the binary operation specific to the type of assignment on the two " +"operands, and assigns the result to the original target. The target is only " +"evaluated once." +msgstr "" +"Розширене призначення оцінює ціль (яка, на відміну від звичайних операторів " +"призначення, не може бути розпаковуванням) і список виразів, виконує " +"двійкову операцію, специфічну для типу призначення над двома операндами, і " +"призначає результат вихідній цільовій цілі. Ціль оцінюється лише один раз." + +msgid "" +"An augmented assignment expression like ``x += 1`` can be rewritten as ``x = " +"x + 1`` to achieve a similar, but not exactly equal effect. In the augmented " +"version, ``x`` is only evaluated once. Also, when possible, the actual " +"operation is performed *in-place*, meaning that rather than creating a new " +"object and assigning that to the target, the old object is modified instead." +msgstr "" +"Вираз розширеного присвоєння, як-от ``x += 1``, можна переписати як ``x = x " +"+ 1``, щоб досягти подібного, але не зовсім рівного ефекту. У доповненій " +"версії ``x`` обчислюється лише один раз. Крім того, якщо можливо, фактична " +"операція виконується *на місці*, тобто замість створення нового об’єкта та " +"призначення його цільовому об’єкту змінюється старий об’єкт." + +msgid "" +"Unlike normal assignments, augmented assignments evaluate the left-hand side " +"*before* evaluating the right-hand side. For example, ``a[i] += f(x)`` " +"first looks-up ``a[i]``, then it evaluates ``f(x)`` and performs the " +"addition, and lastly, it writes the result back to ``a[i]``." +msgstr "" +"На відміну від звичайних завдань, розширені завдання оцінюють ліву сторону " +"*перед* оцінкою правої сторони. Наприклад, ``a[i] += f(x)`` спочатку шукає " +"``a[i]``, потім обчислює ``f(x)`` і виконує додавання, і, нарешті, він " +"записує результат назад до ``a[i]``." + +msgid "" +"With the exception of assigning to tuples and multiple targets in a single " +"statement, the assignment done by augmented assignment statements is handled " +"the same way as normal assignments. Similarly, with the exception of the " +"possible *in-place* behavior, the binary operation performed by augmented " +"assignment is the same as the normal binary operations." +msgstr "" +"За винятком призначення кортежам і декільком цілям в одному операторі, " +"призначення, виконане доповненими операторами призначення, обробляється так " +"само, як і звичайні призначення. Подібним чином, за винятком можливої " +"поведінки *на місці*, двійкова операція, що виконується розширеним " +"призначенням, є такою самою, як і звичайні двійкові операції." + +msgid "" +"For targets which are attribute references, the same :ref:`caveat about " +"class and instance attributes ` applies as for regular " +"assignments." +msgstr "" +"Для цілей, які є посиланнями на атрибути, застосовується те саме :ref:" +"`застереження щодо атрибутів класу та екземпляра `, що й " +"для звичайних призначень." + +msgid "Annotated assignment statements" +msgstr "Анотовані заяви про призначення" + +msgid "" +":term:`Annotation ` assignment is the combination, in a " +"single statement, of a variable or attribute annotation and an optional " +"assignment statement:" +msgstr "" +":term:`Анотація ` присвоєння — це комбінація в одному " +"операторі анотації змінної або атрибута та необов’язкового оператора " +"призначення:" + +msgid "" +"The difference from normal :ref:`assignment` is that only a single target is " +"allowed." +msgstr "" + +msgid "" +"For simple names as assignment targets, if in class or module scope, the " +"annotations are evaluated and stored in a special class or module attribute :" +"attr:`__annotations__` that is a dictionary mapping from variable names " +"(mangled if private) to evaluated annotations. This attribute is writable " +"and is automatically created at the start of class or module body execution, " +"if annotations are found statically." +msgstr "" +"Для простих імен як цілей призначення, якщо вони знаходяться в області класу " +"або модуля, анотації оцінюються та зберігаються в спеціальному атрибуті " +"класу або модуля :attr:`__annotations__`, який є словниковим відображенням " +"імен змінних (спотворених, якщо приватні) до оцінюваних анотацій. Цей " +"атрибут доступний для запису та автоматично створюється на початку виконання " +"класу або тіла модуля, якщо анотації знайдено статично." + +msgid "" +"For expressions as assignment targets, the annotations are evaluated if in " +"class or module scope, but not stored." +msgstr "" +"Для виразів як цілей призначення анотації оцінюються, якщо вони знаходяться " +"в області класу або модуля, але не зберігаються." + +msgid "" +"If a name is annotated in a function scope, then this name is local for that " +"scope. Annotations are never evaluated and stored in function scopes." +msgstr "" +"Якщо ім’я анотовано в області видимості функції, то це ім’я є локальним для " +"цієї області. Анотації ніколи не оцінюються та зберігаються в областях " +"функцій." + +msgid "" +"If the right hand side is present, an annotated assignment performs the " +"actual assignment before evaluating annotations (where applicable). If the " +"right hand side is not present for an expression target, then the " +"interpreter evaluates the target except for the last :meth:`__setitem__` or :" +"meth:`__setattr__` call." +msgstr "" +"Якщо присутня права сторона, анотоване призначення виконує фактичне " +"призначення перед оцінкою анотацій (де це можливо). Якщо права сторона " +"відсутня для цільового виразу, то інтерпретатор оцінює ціль, за винятком " +"останнього виклику :meth:`__setitem__` або :meth:`__setattr__`." + +msgid ":pep:`526` - Syntax for Variable Annotations" +msgstr ":pep:`526` - Синтаксис для анотацій змінних" + +msgid "" +"The proposal that added syntax for annotating the types of variables " +"(including class variables and instance variables), instead of expressing " +"them through comments." +msgstr "" +"Пропозиція, яка додала синтаксис для анотування типів змінних (включаючи " +"змінні класу та змінні екземпляра), замість вираження їх через коментарі." + +msgid ":pep:`484` - Type hints" +msgstr ":pep:`484` - Тип підказок" + +msgid "" +"The proposal that added the :mod:`typing` module to provide a standard " +"syntax for type annotations that can be used in static analysis tools and " +"IDEs." +msgstr "" +"Пропозиція, яка додала модуль :mod:`typing`, щоб забезпечити стандартний " +"синтаксис для анотацій типів, які можна використовувати в інструментах " +"статичного аналізу та IDE." + +msgid "" +"Now annotated assignments allow the same expressions in the right hand side " +"as regular assignments. Previously, some expressions (like un-parenthesized " +"tuple expressions) caused a syntax error." +msgstr "" + +msgid "The :keyword:`!assert` statement" +msgstr "Оператор :keyword:`!assert`" + +msgid "" +"Assert statements are a convenient way to insert debugging assertions into a " +"program:" +msgstr "" +"Оператори Assert — це зручний спосіб вставити в програму твердження " +"налагодження:" + +msgid "The simple form, ``assert expression``, is equivalent to ::" +msgstr "Проста форма, ``assert expression``, еквівалентна ::" + +msgid "" +"The extended form, ``assert expression1, expression2``, is equivalent to ::" +msgstr "Розширена форма, ``assert expression1, expression2``, еквівалентна ::" + +msgid "" +"These equivalences assume that :const:`__debug__` and :exc:`AssertionError` " +"refer to the built-in variables with those names. In the current " +"implementation, the built-in variable :const:`__debug__` is ``True`` under " +"normal circumstances, ``False`` when optimization is requested (command line " +"option :option:`-O`). The current code generator emits no code for an " +"assert statement when optimization is requested at compile time. Note that " +"it is unnecessary to include the source code for the expression that failed " +"in the error message; it will be displayed as part of the stack trace." +msgstr "" +"Ці еквівалентності припускають, що :const:`__debug__` і :exc:" +"`AssertionError` посилаються на вбудовані змінні з цими іменами. У поточній " +"реалізації вбудована змінна :const:`__debug__` має значення ``True`` за " +"звичайних обставин, ``False``, коли запитується оптимізація (параметр " +"командного рядка :option:`-O`). Поточний генератор коду не видає код для " +"оператора assert, коли під час компіляції запитується оптимізація. Зауважте, " +"що немає потреби включати вихідний код для виразу, що не вдалося виконати, у " +"повідомленні про помилку; він буде відображатися як частина трасування стека." + +msgid "" +"Assignments to :const:`__debug__` are illegal. The value for the built-in " +"variable is determined when the interpreter starts." +msgstr "" +"Присвоєння :const:`__debug__` є незаконним. Значення для вбудованої змінної " +"визначається під час запуску інтерпретатора." + +msgid "The :keyword:`!pass` statement" +msgstr "Оператор :keyword:`!pass`" + +msgid "" +":keyword:`pass` is a null operation --- when it is executed, nothing " +"happens. It is useful as a placeholder when a statement is required " +"syntactically, but no code needs to be executed, for example::" +msgstr "" +":keyword:`pass` є нульовою операцією --- коли вона виконується, нічого не " +"відбувається. Це корисно як заповнювач, коли оператор потрібний синтаксично, " +"але не потрібно виконувати код, наприклад::" + +msgid "The :keyword:`!del` statement" +msgstr "Оператор :keyword:`!del`" + +msgid "" +"Deletion is recursively defined very similar to the way assignment is " +"defined. Rather than spelling it out in full details, here are some hints." +msgstr "" +"Видалення рекурсивно визначається дуже подібно до того, як визначається " +"призначення. Замість того, щоб викладати все детально, ось кілька підказок." + +msgid "" +"Deletion of a target list recursively deletes each target, from left to " +"right." +msgstr "Видалення списку цілей рекурсивно видаляє кожну ціль зліва направо." + +msgid "" +"Deletion of a name removes the binding of that name from the local or global " +"namespace, depending on whether the name occurs in a :keyword:`global` " +"statement in the same code block. If the name is unbound, a :exc:" +"`NameError` exception will be raised." +msgstr "" +"Видалення імені видаляє прив’язку цього імені до локального чи глобального " +"простору імен, залежно від того, чи зустрічається ім’я в операторі :keyword:" +"`global` у тому самому блоці коду. Якщо ім’я не зв’язане, буде викликано " +"виняток :exc:`NameError`." + +msgid "" +"Deletion of attribute references, subscriptions and slicings is passed to " +"the primary object involved; deletion of a slicing is in general equivalent " +"to assignment of an empty slice of the right type (but even this is " +"determined by the sliced object)." +msgstr "" +"Видалення посилань на атрибути, підписок і фрагментів передається до " +"основного задіяного об’єкта; Видалення фрагмента загалом еквівалентно " +"присвоєнню порожньому фрагменту потрібного типу (але навіть це визначається " +"об’єктом фрагмента)." + +msgid "" +"Previously it was illegal to delete a name from the local namespace if it " +"occurs as a free variable in a nested block." +msgstr "" +"Раніше було заборонено видаляти ім’я з локального простору імен, якщо воно " +"зустрічається як вільна змінна у вкладеному блоці." + +msgid "The :keyword:`!return` statement" +msgstr "Оператор :keyword:`!return`" + +msgid "" +":keyword:`return` may only occur syntactically nested in a function " +"definition, not within a nested class definition." +msgstr "" +":keyword:`return` може бути лише синтаксично вкладеним у визначення функції, " +"а не у визначенні вкладеного класу." + +msgid "" +"If an expression list is present, it is evaluated, else ``None`` is " +"substituted." +msgstr "" +"Якщо присутній список виразів, він обчислюється, інакше замінюється ``None``." + +msgid "" +":keyword:`return` leaves the current function call with the expression list " +"(or ``None``) as return value." +msgstr "" +":keyword:`return` залишає поточний виклик функції зі списком виразів (або " +"``None``) як значення повернення." + +msgid "" +"When :keyword:`return` passes control out of a :keyword:`try` statement with " +"a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " +"before really leaving the function." +msgstr "" +"Коли :keyword:`return` передає керування оператору :keyword:`try` з " +"пропозицією :keyword:`finally`, ця пропозиція :keyword:`!finally` " +"виконується перед фактичним виходом із функції." + +msgid "" +"In a generator function, the :keyword:`return` statement indicates that the " +"generator is done and will cause :exc:`StopIteration` to be raised. The " +"returned value (if any) is used as an argument to construct :exc:" +"`StopIteration` and becomes the :attr:`StopIteration.value` attribute." +msgstr "" +"У функції генератора оператор :keyword:`return` вказує на те, що генератор " +"завершено та спричинить виклик :exc:`StopIteration`. Повернене значення (за " +"наявності) використовується як аргумент для створення :exc:`StopIteration` і " +"стає атрибутом :attr:`StopIteration.value`." + +msgid "" +"In an asynchronous generator function, an empty :keyword:`return` statement " +"indicates that the asynchronous generator is done and will cause :exc:" +"`StopAsyncIteration` to be raised. A non-empty :keyword:`!return` statement " +"is a syntax error in an asynchronous generator function." +msgstr "" +"У функції асинхронного генератора порожній оператор :keyword:`return` вказує " +"на те, що асинхронний генератор завершено та призведе до виклику :exc:" +"`StopAsyncIteration`. Непорожній оператор :keyword:`!return` є синтаксичною " +"помилкою у функції асинхронного генератора." + +msgid "The :keyword:`!yield` statement" +msgstr "Оператор :keyword:`!yield`" + +msgid "" +"A :keyword:`yield` statement is semantically equivalent to a :ref:`yield " +"expression `. The yield statement can be used to omit the " +"parentheses that would otherwise be required in the equivalent yield " +"expression statement. For example, the yield statements ::" +msgstr "" +"Оператор :keyword:`yield` семантично еквівалентний виразу :ref:`yield " +"`. Оператор yield можна використовувати, щоб опустити дужки, які " +"в іншому випадку були б потрібні в еквівалентному операторі виразу yield. " +"Наприклад, оператори yield::" + +msgid "are equivalent to the yield expression statements ::" +msgstr "еквівалентні операторам виразу yield ::" + +msgid "" +"Yield expressions and statements are only used when defining a :term:" +"`generator` function, and are only used in the body of the generator " +"function. Using yield in a function definition is sufficient to cause that " +"definition to create a generator function instead of a normal function." +msgstr "" +"Вирази й оператори yield використовуються лише під час визначення функції :" +"term:`generator` і лише в тілі функції-генератора. Використання yield у " +"визначенні функції достатньо, щоб це визначення створювало функцію-генератор " +"замість звичайної функції." + +msgid "" +"For full details of :keyword:`yield` semantics, refer to the :ref:" +"`yieldexpr` section." +msgstr "" +"Щоб отримати повну інформацію про семантику :keyword:`yield`, зверніться до " +"розділу :ref:`yieldexpr`." + +msgid "The :keyword:`!raise` statement" +msgstr "Оператор :keyword:`!raise`" + +msgid "" +"If no expressions are present, :keyword:`raise` re-raises the exception that " +"is currently being handled, which is also known as the *active exception*. " +"If there isn't currently an active exception, a :exc:`RuntimeError` " +"exception is raised indicating that this is an error." +msgstr "" +"Якщо виразів немає, :keyword:`raise` повторно викликає виняток, який зараз " +"обробляється, який також відомий як *активний виняток*. Якщо наразі немає " +"активного винятку, виникає виняток :exc:`RuntimeError`, який вказує на те, " +"що це помилка." + +msgid "" +"Otherwise, :keyword:`raise` evaluates the first expression as the exception " +"object. It must be either a subclass or an instance of :class:" +"`BaseException`. If it is a class, the exception instance will be obtained " +"when needed by instantiating the class with no arguments." +msgstr "" +"В іншому випадку :keyword:`raise` обчислює перший вираз як об’єкт винятку. " +"Це має бути або підклас, або екземпляр :class:`BaseException`. Якщо це клас, " +"екземпляр винятку буде отримано за потреби шляхом створення екземпляра класу " +"без аргументів." + +msgid "" +"The :dfn:`type` of the exception is the exception instance's class, the :dfn:" +"`value` is the instance itself." +msgstr "" +":dfn:`type` винятку — це клас екземпляра винятку, :dfn:`value` — це сам " +"екземпляр." + +msgid "" +"A traceback object is normally created automatically when an exception is " +"raised and attached to it as the :attr:`__traceback__` attribute, which is " +"writable. You can create an exception and set your own traceback in one step " +"using the :meth:`~BaseException.with_traceback` exception method (which " +"returns the same exception instance, with its traceback set to its " +"argument), like so::" +msgstr "" +"Об’єкт трасування зазвичай створюється автоматично, коли виникає виняток і " +"додається до нього як атрибут :attr:`__traceback__`, який доступний для " +"запису. Ви можете створити виняток і встановити власну трасування одним " +"кроком за допомогою методу винятку :meth:`~BaseException.with_traceback` " +"(який повертає той самий екземпляр винятку, з його трасуванням, встановленим " +"для його аргументу), наприклад:" + +msgid "" +"The ``from`` clause is used for exception chaining: if given, the second " +"*expression* must be another exception class or instance. If the second " +"expression is an exception instance, it will be attached to the raised " +"exception as the :attr:`__cause__` attribute (which is writable). If the " +"expression is an exception class, the class will be instantiated and the " +"resulting exception instance will be attached to the raised exception as " +"the :attr:`__cause__` attribute. If the raised exception is not handled, " +"both exceptions will be printed::" +msgstr "" +"Речення ``from`` використовується для ланцюжка винятків: якщо задано, другий " +"*вираз* має бути іншим класом винятків або екземпляром. Якщо другий вираз є " +"екземпляром винятку, його буде приєднано до викликаного винятку як атрибут :" +"attr:`__cause__` (який доступний для запису). Якщо вираз є класом винятку, " +"екземпляр класу буде створено, а отриманий екземпляр винятку буде додано до " +"викликаного винятку як атрибут :attr:`__cause__`. Якщо викликаний виняток не " +"оброблено, обидва виключення будуть надруковані::" + +msgid "" +"A similar mechanism works implicitly if a new exception is raised when an " +"exception is already being handled. An exception may be handled when an :" +"keyword:`except` or :keyword:`finally` clause, or a :keyword:`with` " +"statement, is used. The previous exception is then attached as the new " +"exception's :attr:`__context__` attribute::" +msgstr "" +"Подібний механізм працює неявно, якщо виникає новий виняток, коли виняток " +"уже обробляється. Виняток може бути оброблено, коли використовується " +"речення :keyword:`except` або :keyword:`finally` або оператор :keyword:" +"`with`. Потім попередній виняток додається як атрибут :attr:`__context__` " +"нового винятку::" + +msgid "" +"Exception chaining can be explicitly suppressed by specifying :const:`None` " +"in the ``from`` clause::" +msgstr "" +"Ланцюжки винятків можна явно придушити, вказавши :const:`None` у пункті " +"``from``::" + +msgid "" +"Additional information on exceptions can be found in section :ref:" +"`exceptions`, and information about handling exceptions is in section :ref:" +"`try`." +msgstr "" +"Додаткову інформацію про винятки можна знайти в розділі :ref:`exceptions`, а " +"інформацію про обробку винятків — у розділі :ref:`try`." + +msgid ":const:`None` is now permitted as ``Y`` in ``raise X from Y``." +msgstr ":const:`None` тепер дозволено як ``Y`` у ``raise X from Y``." + +msgid "" +"The ``__suppress_context__`` attribute to suppress automatic display of the " +"exception context." +msgstr "" +"Атрибут ``__suppress_context__`` для придушення автоматичного відображення " +"контексту винятку." + +msgid "" +"If the traceback of the active exception is modified in an :keyword:`except` " +"clause, a subsequent ``raise`` statement re-raises the exception with the " +"modified traceback. Previously, the exception was re-raised with the " +"traceback it had when it was caught." +msgstr "" + +msgid "The :keyword:`!break` statement" +msgstr "Оператор :keyword:`!break`" + +msgid "" +":keyword:`break` may only occur syntactically nested in a :keyword:`for` or :" +"keyword:`while` loop, but not nested in a function or class definition " +"within that loop." +msgstr "" +":keyword:`break` може бути лише синтаксично вкладеним у циклі :keyword:`for` " +"або :keyword:`while`, але не вкладеним у визначення функції чи класу в цьому " +"циклі." + +msgid "" +"It terminates the nearest enclosing loop, skipping the optional :keyword:`!" +"else` clause if the loop has one." +msgstr "" +"Він завершує найближчий охоплюючий цикл, пропускаючи необов’язкову " +"пропозицію :keyword:`!else`, якщо вона є в циклі." + +msgid "" +"If a :keyword:`for` loop is terminated by :keyword:`break`, the loop control " +"target keeps its current value." +msgstr "" +"Якщо цикл :keyword:`for` завершується :keyword:`break`, мета керування " +"циклом зберігає своє поточне значення." + +msgid "" +"When :keyword:`break` passes control out of a :keyword:`try` statement with " +"a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " +"before really leaving the loop." +msgstr "" +"Коли :keyword:`break` передає керування оператору :keyword:`try` з " +"пропозицією :keyword:`finally`, ця пропозиція :keyword:`!finally` " +"виконується перед тим, як фактично вийти з циклу." + +msgid "The :keyword:`!continue` statement" +msgstr "Оператор :keyword:`!continue`" + +msgid "" +":keyword:`continue` may only occur syntactically nested in a :keyword:`for` " +"or :keyword:`while` loop, but not nested in a function or class definition " +"within that loop. It continues with the next cycle of the nearest enclosing " +"loop." +msgstr "" +":keyword:`continue` може бути лише синтаксично вкладеним у циклі :keyword:" +"`for` або :keyword:`while`, але не вкладеним у визначення функції чи класу в " +"цьому циклі. Він продовжується наступним циклом найближчого охоплюючого " +"циклу." + +msgid "" +"When :keyword:`continue` passes control out of a :keyword:`try` statement " +"with a :keyword:`finally` clause, that :keyword:`!finally` clause is " +"executed before really starting the next loop cycle." +msgstr "" +"Коли :keyword:`continue` передає керування оператору :keyword:`try` з " +"пропозицією :keyword:`finally`, ця пропозиція :keyword:`!finally` " +"виконується перед тим, як справді розпочнеться наступний цикл циклу." + +msgid "The :keyword:`!import` statement" +msgstr "Оператор :keyword:`!import`" + +msgid "" +"The basic import statement (no :keyword:`from` clause) is executed in two " +"steps:" +msgstr "" +"Базовий оператор імпорту (без пропозиції :keyword:`from`) виконується у два " +"кроки:" + +msgid "find a module, loading and initializing it if necessary" +msgstr "знайти модуль, завантаживши та ініціалізувавши його, якщо необхідно" + +msgid "" +"define a name or names in the local namespace for the scope where the :" +"keyword:`import` statement occurs." +msgstr "" +"визначте ім’я або імена в локальному просторі імен для області, де виникає " +"оператор :keyword:`import`." + +msgid "" +"When the statement contains multiple clauses (separated by commas) the two " +"steps are carried out separately for each clause, just as though the clauses " +"had been separated out into individual import statements." +msgstr "" +"Якщо оператор містить кілька пунктів (розділених комами), два кроки " +"виконуються окремо для кожного пункту, так само, як якщо б пункти були " +"розділені на окремі оператори імпорту." + +msgid "" +"The details of the first step, finding and loading modules, are described in " +"greater detail in the section on the :ref:`import system `, " +"which also describes the various types of packages and modules that can be " +"imported, as well as all the hooks that can be used to customize the import " +"system. Note that failures in this step may indicate either that the module " +"could not be located, *or* that an error occurred while initializing the " +"module, which includes execution of the module's code." +msgstr "" + +msgid "" +"If the requested module is retrieved successfully, it will be made available " +"in the local namespace in one of three ways:" +msgstr "" +"Якщо запитуваний модуль успішно отримано, він стане доступним у локальному " +"просторі імен одним із трьох способів:" + +msgid "" +"If the module name is followed by :keyword:`!as`, then the name following :" +"keyword:`!as` is bound directly to the imported module." +msgstr "" +"Якщо ім’я модуля супроводжується :keyword:`!as`, тоді ім’я після :keyword:`!" +"as` прив’язується безпосередньо до імпортованого модуля." + +msgid "" +"If no other name is specified, and the module being imported is a top level " +"module, the module's name is bound in the local namespace as a reference to " +"the imported module" +msgstr "" +"Якщо інше ім’я не вказано, а імпортований модуль є модулем верхнього рівня, " +"ім’я модуля зв’язується в локальному просторі імен як посилання на " +"імпортований модуль" + +msgid "" +"If the module being imported is *not* a top level module, then the name of " +"the top level package that contains the module is bound in the local " +"namespace as a reference to the top level package. The imported module must " +"be accessed using its full qualified name rather than directly" +msgstr "" +"Якщо імпортований модуль *не* є модулем верхнього рівня, тоді ім’я пакета " +"верхнього рівня, який містить модуль, прив’язується до локального простору " +"імен як посилання на пакет верхнього рівня. Доступ до імпортованого модуля " +"потрібно отримати, використовуючи його повне кваліфіковане ім’я, а не " +"безпосередньо" + +msgid "The :keyword:`from` form uses a slightly more complex process:" +msgstr "Форма :keyword:`from` використовує дещо складніший процес:" + +msgid "" +"find the module specified in the :keyword:`from` clause, loading and " +"initializing it if necessary;" +msgstr "" +"знайти модуль, указаний у пункті :keyword:`from`, завантажуючи та " +"ініціалізуючи його, якщо необхідно;" + +msgid "for each of the identifiers specified in the :keyword:`import` clauses:" +msgstr "для кожного з ідентифікаторів, указаних у пунктах :keyword:`import`:" + +msgid "check if the imported module has an attribute by that name" +msgstr "перевірте, чи імпортований модуль має атрибут із таким іменем" + +msgid "" +"if not, attempt to import a submodule with that name and then check the " +"imported module again for that attribute" +msgstr "" +"якщо ні, спробуйте імпортувати підмодуль із такою назвою, а потім знову " +"перевірте імпортований модуль на наявність цього атрибута" + +msgid "if the attribute is not found, :exc:`ImportError` is raised." +msgstr "якщо атрибут не знайдено, виникає :exc:`ImportError`." + +msgid "" +"otherwise, a reference to that value is stored in the local namespace, using " +"the name in the :keyword:`!as` clause if it is present, otherwise using the " +"attribute name" +msgstr "" +"інакше посилання на це значення зберігається в локальному просторі імен, " +"використовуючи ім’я в реченні :keyword:`!as`, якщо воно присутнє, інакше " +"використовується ім’я атрибута" + +msgid "Examples::" +msgstr "Приклади::" + +msgid "" +"If the list of identifiers is replaced by a star (``'*'``), all public names " +"defined in the module are bound in the local namespace for the scope where " +"the :keyword:`import` statement occurs." +msgstr "" +"Якщо список ідентифікаторів замінено зірочкою (``'*'``), усі " +"загальнодоступні імена, визначені в модулі, прив’язуються до локального " +"простору імен для області, де виникає оператор :keyword:`import`." + +msgid "" +"The *public names* defined by a module are determined by checking the " +"module's namespace for a variable named ``__all__``; if defined, it must be " +"a sequence of strings which are names defined or imported by that module. " +"The names given in ``__all__`` are all considered public and are required to " +"exist. If ``__all__`` is not defined, the set of public names includes all " +"names found in the module's namespace which do not begin with an underscore " +"character (``'_'``). ``__all__`` should contain the entire public API. It " +"is intended to avoid accidentally exporting items that are not part of the " +"API (such as library modules which were imported and used within the module)." +msgstr "" +"*Відкриті імена*, визначені модулем, визначаються шляхом перевірки простору " +"імен модуля для змінної з назвою ``__all__``; якщо визначено, це має бути " +"послідовність рядків, які є іменами, визначеними або імпортованими цим " +"модулем. Усі назви, наведені в ``__all__``, вважаються загальнодоступними та " +"мають існувати. Якщо ``__all__`` не визначено, набір загальнодоступних імен " +"включає всі імена, знайдені в просторі імен модуля, які не починаються зі " +"символу підкреслення (``'_'``). ``__all__`` має містити весь публічний API. " +"Це призначено для уникнення випадкового експорту елементів, які не є " +"частиною API (наприклад, бібліотечних модулів, які були імпортовані та " +"використані в модулі)." + +msgid "" +"The wild card form of import --- ``from module import *`` --- is only " +"allowed at the module level. Attempting to use it in class or function " +"definitions will raise a :exc:`SyntaxError`." +msgstr "" +"Форма імпорту із символом підстановки --- ``з імпорту модуля *`` --- " +"дозволена лише на рівні модуля. Спроба використати його у визначеннях класу " +"чи функції викличе :exc:`SyntaxError`." + +msgid "" +"When specifying what module to import you do not have to specify the " +"absolute name of the module. When a module or package is contained within " +"another package it is possible to make a relative import within the same top " +"package without having to mention the package name. By using leading dots in " +"the specified module or package after :keyword:`from` you can specify how " +"high to traverse up the current package hierarchy without specifying exact " +"names. One leading dot means the current package where the module making the " +"import exists. Two dots means up one package level. Three dots is up two " +"levels, etc. So if you execute ``from . import mod`` from a module in the " +"``pkg`` package then you will end up importing ``pkg.mod``. If you execute " +"``from ..subpkg2 import mod`` from within ``pkg.subpkg1`` you will import " +"``pkg.subpkg2.mod``. The specification for relative imports is contained in " +"the :ref:`relativeimports` section." +msgstr "" +"Визначаючи, який модуль імпортувати, не потрібно вказувати абсолютну назву " +"модуля. Коли модуль або пакунок міститься в іншому пакунку, можна виконати " +"відносний імпорт у той самий верхній пакунок, не вказуючи назву пакунка. " +"Використовуючи крапки на початку у вказаному модулі чи пакеті після :keyword:" +"`from`, ви можете вказати, наскільки високо потрібно перейти вгору по " +"поточній ієрархії пакету, не вказуючи точні назви. Одна крапка на початку " +"означає поточний пакет, у якому існує модуль, що виконує імпорт. Дві крапки " +"означають підвищення на один рівень пакета. Три крапки — це два рівні вище " +"тощо. Отже, якщо ви виконаєте ``з . імпортуйте mod`` з модуля в пакеті " +"``pkg``, тоді ви імпортуєте ``pkg.mod``. Якщо ви виконаєте ``from ..subpkg2 " +"import mod`` з ``pkg.subpkg1``, ви імпортуєте ``pkg.subpkg2.mod``. " +"Специфікація відносного імпорту міститься в розділі :ref:`relativeimports`." + +msgid "" +":func:`importlib.import_module` is provided to support applications that " +"determine dynamically the modules to be loaded." +msgstr "" +":func:`importlib.import_module` надається для підтримки програм, які " +"динамічно визначають модулі для завантаження." + +msgid "" +"Raises an :ref:`auditing event ` ``import`` with arguments " +"``module``, ``filename``, ``sys.path``, ``sys.meta_path``, ``sys." +"path_hooks``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``import`` з аргументами ``module``, " +"``filename``, ``sys.path``, ``sys.meta_path``, ``sys.path_hooks``." + +msgid "Future statements" +msgstr "Майбутні заяви" + +msgid "" +"A :dfn:`future statement` is a directive to the compiler that a particular " +"module should be compiled using syntax or semantics that will be available " +"in a specified future release of Python where the feature becomes standard." +msgstr "" +":dfn:`future statement` — це вказівка компілятору про те, що певний модуль " +"має бути скомпільовано з використанням синтаксису чи семантики, які будуть " +"доступні у визначеному майбутньому випуску Python, де ця функція стане " +"стандартною." + +msgid "" +"The future statement is intended to ease migration to future versions of " +"Python that introduce incompatible changes to the language. It allows use " +"of the new features on a per-module basis before the release in which the " +"feature becomes standard." +msgstr "" +"Заява майбутнього призначена для полегшення переходу на майбутні версії " +"Python, які вносять несумісні зміни в мову. Це дозволяє використовувати нові " +"функції окремо для кожного модуля до випуску, у якому ця функція стане " +"стандартною." + +msgid "" +"A future statement must appear near the top of the module. The only lines " +"that can appear before a future statement are:" +msgstr "" +"У верхній частині модуля має бути майбутня заява. Єдині рядки, які можуть " +"відображатися перед майбутнім оператором:" + +msgid "the module docstring (if any)," +msgstr "рядок документації модуля (якщо є)," + +msgid "comments," +msgstr "коментарі," + +msgid "blank lines, and" +msgstr "порожні рядки та" + +msgid "other future statements." +msgstr "інші майбутні заяви." + +msgid "" +"The only feature that requires using the future statement is ``annotations`` " +"(see :pep:`563`)." +msgstr "" +"Єдина функція, яка вимагає використання оператора future, це ``анотації`` " +"(див. :pep:`563`)." + +msgid "" +"All historical features enabled by the future statement are still recognized " +"by Python 3. The list includes ``absolute_import``, ``division``, " +"``generators``, ``generator_stop``, ``unicode_literals``, " +"``print_function``, ``nested_scopes`` and ``with_statement``. They are all " +"redundant because they are always enabled, and only kept for backwards " +"compatibility." +msgstr "" +"Python 3 усе ще розпізнає всі історичні функції, увімкнені оператором " +"future. Список включає ``absolute_import``, ``division``, ``generators``, " +"``generator_stop``, ``unicode_literals``, ``print_function``, " +"``nested_scopes`` і ``with_statement``. Усі вони зайві, оскільки завжди " +"ввімкнені та зберігаються лише для зворотної сумісності." + +msgid "" +"A future statement is recognized and treated specially at compile time: " +"Changes to the semantics of core constructs are often implemented by " +"generating different code. It may even be the case that a new feature " +"introduces new incompatible syntax (such as a new reserved word), in which " +"case the compiler may need to parse the module differently. Such decisions " +"cannot be pushed off until runtime." +msgstr "" +"Майбутній оператор розпізнається та обробляється спеціально під час " +"компіляції: зміни в семантиці основних конструкцій часто впроваджуються " +"шляхом генерації іншого коду. Може навіть статися так, що нова функція " +"вводить новий несумісний синтаксис (наприклад, нове зарезервоване слово), і " +"в цьому випадку компілятору може знадобитися розібрати модуль по-іншому. " +"Такі рішення не можуть бути відкладені до часу виконання." + +msgid "" +"For any given release, the compiler knows which feature names have been " +"defined, and raises a compile-time error if a future statement contains a " +"feature not known to it." +msgstr "" +"Для будь-якого конкретного випуску компілятор знає, які назви функцій були " +"визначені, і викликає помилку під час компіляції, якщо майбутній оператор " +"містить функцію, яка йому невідома." + +msgid "" +"The direct runtime semantics are the same as for any import statement: there " +"is a standard module :mod:`__future__`, described later, and it will be " +"imported in the usual way at the time the future statement is executed." +msgstr "" +"Пряма семантика часу виконання така ж, як і для будь-якого оператора " +"імпорту: є стандартний модуль :mod:`__future__`, описаний пізніше, і його " +"буде імпортовано звичайним способом під час виконання оператора майбутнього." + +msgid "" +"The interesting runtime semantics depend on the specific feature enabled by " +"the future statement." +msgstr "" +"Цікава семантика часу виконання залежить від конкретної функції, увімкненої " +"майбутнім оператором." + +msgid "Note that there is nothing special about the statement::" +msgstr "Зауважте, що в заяві немає нічого особливого::" + +msgid "" +"That is not a future statement; it's an ordinary import statement with no " +"special semantics or syntax restrictions." +msgstr "" +"Це не заява про майбутнє; це звичайний оператор імпорту без спеціальних " +"семантичних або синтаксичних обмежень." + +msgid "" +"Code compiled by calls to the built-in functions :func:`exec` and :func:" +"`compile` that occur in a module :mod:`M` containing a future statement " +"will, by default, use the new syntax or semantics associated with the future " +"statement. This can be controlled by optional arguments to :func:`compile` " +"--- see the documentation of that function for details." +msgstr "" +"Код, скомпільований за допомогою викликів вбудованих функцій :func:`exec` і :" +"func:`compile`, які виникають у модулі :mod:`M`, що містить майбутній " +"оператор, за замовчуванням використовуватиме новий пов’язаний синтаксис або " +"семантику з майбутньою заявою. Цим можна керувати необов’язковими " +"аргументами :func:`compile` --- подробиці дивіться в документації цієї " +"функції." + +msgid "" +"A future statement typed at an interactive interpreter prompt will take " +"effect for the rest of the interpreter session. If an interpreter is " +"started with the :option:`-i` option, is passed a script name to execute, " +"and the script includes a future statement, it will be in effect in the " +"interactive session started after the script is executed." +msgstr "" +"Майбутній оператор, набраний у підказці інтерактивного перекладача, матиме " +"чинність до кінця сеансу перекладача. Якщо інтерпретатор запускається з " +"параметром :option:`-i`, йому передається ім’я сценарію для виконання, і " +"сценарій містить майбутній оператор, він діятиме в інтерактивному сеансі, " +"розпочатому після виконання сценарію." + +msgid ":pep:`236` - Back to the __future__" +msgstr ":pep:`236` - Назад у __future__" + +msgid "The original proposal for the __future__ mechanism." +msgstr "Оригінальна пропозиція щодо механізму __future__." + +msgid "The :keyword:`!global` statement" +msgstr "Оператор :keyword:`!global`" + +msgid "" +"The :keyword:`global` statement is a declaration which holds for the entire " +"current code block. It means that the listed identifiers are to be " +"interpreted as globals. It would be impossible to assign to a global " +"variable without :keyword:`!global`, although free variables may refer to " +"globals without being declared global." +msgstr "" +"Оператор :keyword:`global` — це оголошення, яке зберігається для всього " +"поточного блоку коду. Це означає, що перелічені ідентифікатори слід " +"інтерпретувати як глобальні. Було б неможливо призначити глобальну змінну " +"без :keyword:`!global`, хоча вільні змінні можуть посилатися на глобальні, " +"не будучи оголошеними глобальними." + +msgid "" +"Names listed in a :keyword:`global` statement must not be used in the same " +"code block textually preceding that :keyword:`!global` statement." +msgstr "" +"Імена, перелічені в операторі :keyword:`global`, не можна використовувати в " +"тому самому блоці коду, що текстово передує оператору :keyword:`!global`." + +msgid "" +"Names listed in a :keyword:`global` statement must not be defined as formal " +"parameters, or as targets in :keyword:`with` statements or :keyword:`except` " +"clauses, or in a :keyword:`for` target list, :keyword:`class` definition, " +"function definition, :keyword:`import` statement, or variable annotation." +msgstr "" +"Імена, перелічені в операторі :keyword:`global`, не можна визначати як " +"формальні параметри або як цілі в операторах :keyword:`with` або в пунктах :" +"keyword:`except` або в списку цілей :keyword:`for` , визначення :keyword:" +"`class`, визначення функції, оператор :keyword:`import` або анотація змінної." + +msgid "" +"The current implementation does not enforce some of these restrictions, but " +"programs should not abuse this freedom, as future implementations may " +"enforce them or silently change the meaning of the program." +msgstr "" +"Поточна реалізація не передбачає дотримання деяких із цих обмежень, але " +"програми не повинні зловживати цією свободою, оскільки майбутні реалізації " +"можуть посилити їх дотримання або мовчки змінити значення програми." + +msgid "" +"**Programmer's note:** :keyword:`global` is a directive to the parser. It " +"applies only to code parsed at the same time as the :keyword:`!global` " +"statement. In particular, a :keyword:`!global` statement contained in a " +"string or code object supplied to the built-in :func:`exec` function does " +"not affect the code block *containing* the function call, and code contained " +"in such a string is unaffected by :keyword:`!global` statements in the code " +"containing the function call. The same applies to the :func:`eval` and :" +"func:`compile` functions." +msgstr "" +"**Примітка програміста:** :keyword:`global` — це директива для аналізатора. " +"Це стосується лише коду, аналізованого одночасно з оператором :keyword:`!" +"global`. Зокрема, оператор :keyword:`!global`, що міститься в рядку або " +"об’єкті коду, що надається вбудованій функції :func:`exec`, не впливає на " +"блок коду, *що містить* виклик функції, і код, що міститься в таких на рядок " +"не впливають оператори :keyword:`!global` у коді, що містить виклик функції. " +"Те саме стосується функцій :func:`eval` і :func:`compile`." + +msgid "The :keyword:`!nonlocal` statement" +msgstr "Оператор :keyword:`!nonlocal`" + +msgid "" +"The :keyword:`nonlocal` statement causes the listed identifiers to refer to " +"previously bound variables in the nearest enclosing scope excluding globals. " +"This is important because the default behavior for binding is to search the " +"local namespace first. The statement allows encapsulated code to rebind " +"variables outside of the local scope besides the global (module) scope." +msgstr "" +"Оператор :keyword:`nonlocal` змушує перелічені ідентифікатори посилатися на " +"раніше зв’язані змінні в найближчій охоплюючій області, за винятком " +"глобальних. Це важливо, тому що поведінка за замовчуванням для зв’язування " +"полягає в тому, щоб спочатку шукати локальний простір імен. Цей оператор " +"дозволяє інкапсульованому коду перезв’язувати змінні за межами локальної " +"області окрім глобальної (модульної) області." + +msgid "" +"Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :" +"keyword:`global` statement, must refer to pre-existing bindings in an " +"enclosing scope (the scope in which a new binding should be created cannot " +"be determined unambiguously)." +msgstr "" +"Імена, перелічені в операторі :keyword:`nonlocal`, на відміну від тих, що " +"перераховані в операторі :keyword:`global`, мають посилатися на вже існуючі " +"прив’язки в охоплюючій області (область, у якій має бути створено нову " +"прив’язку, не може бути визначена однозначно)." + +msgid "" +"Names listed in a :keyword:`nonlocal` statement must not collide with pre-" +"existing bindings in the local scope." +msgstr "" +"Імена, перелічені в операторі :keyword:`nonlocal`, не повинні конфліктувати " +"з уже існуючими зв’язками в локальній області." + +msgid ":pep:`3104` - Access to Names in Outer Scopes" +msgstr ":pep:`3104` - Доступ до імен у зовнішніх областях" + +msgid "The specification for the :keyword:`nonlocal` statement." +msgstr "Специфікація оператора :keyword:`nonlocal`." diff --git a/reference/toplevel_components.po b/reference/toplevel_components.po new file mode 100644 index 000000000..162817f47 --- /dev/null +++ b/reference/toplevel_components.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Top-level components" +msgstr "Компоненти верхнього рівня" + +msgid "" +"The Python interpreter can get its input from a number of sources: from a " +"script passed to it as standard input or as program argument, typed in " +"interactively, from a module source file, etc. This chapter gives the " +"syntax used in these cases." +msgstr "" +"Інтерпретатор Python може отримувати вхідні дані з кількох джерел: зі " +"сценарію, переданого йому як стандартний ввід, або як аргумент програми, " +"введений інтерактивно, з вихідного файлу модуля тощо. У цій главі наведено " +"синтаксис, який використовується в цих випадках." + +msgid "Complete Python programs" +msgstr "Повні програми на Python" + +msgid "" +"While a language specification need not prescribe how the language " +"interpreter is invoked, it is useful to have a notion of a complete Python " +"program. A complete Python program is executed in a minimally initialized " +"environment: all built-in and standard modules are available, but none have " +"been initialized, except for :mod:`sys` (various system services), :mod:" +"`builtins` (built-in functions, exceptions and ``None``) and :mod:" +"`__main__`. The latter is used to provide the local and global namespace " +"for execution of the complete program." +msgstr "" +"Хоча в специфікації мови не обов’язково вказувати, як викликається " +"інтерпретатор мови, корисно мати уявлення про повну програму Python. Повна " +"програма Python виконується в мінімально ініціалізованому середовищі: усі " +"вбудовані та стандартні модулі доступні, але жоден не ініціалізований, за " +"винятком :mod:`sys` (різні системні служби), :mod:`builtins` (вбудований -in " +"функції, винятки та ``None``) і :mod:`__main__`. Останній використовується " +"для надання локального та глобального простору імен для виконання повної " +"програми." + +msgid "" +"The syntax for a complete Python program is that for file input, described " +"in the next section." +msgstr "" +"Синтаксис повної програми на Python такий же, як і для введення файлів, " +"описаний у наступному розділі." + +msgid "" +"The interpreter may also be invoked in interactive mode; in this case, it " +"does not read and execute a complete program but reads and executes one " +"statement (possibly compound) at a time. The initial environment is " +"identical to that of a complete program; each statement is executed in the " +"namespace of :mod:`__main__`." +msgstr "" +"Інтерпретатор також може бути викликаний в інтерактивному режимі; в цьому " +"випадку він не читає і не виконує повну програму, а читає і виконує один " +"оператор (можливо, складений) за раз. Початкове середовище ідентично повній " +"програмі; кожен оператор виконується в просторі імен :mod:`__main__`." + +msgid "" +"A complete program can be passed to the interpreter in three forms: with " +"the :option:`-c` *string* command line option, as a file passed as the first " +"command line argument, or as standard input. If the file or standard input " +"is a tty device, the interpreter enters interactive mode; otherwise, it " +"executes the file as a complete program." +msgstr "" +"Повну програму можна передати інтерпретатору в трьох формах: за допомогою " +"параметра командного рядка :option:`-c` *string*, як файл, переданий як " +"перший аргумент командного рядка, або як стандартний ввід. Якщо файл або " +"стандартний вхід є пристроєм tty, інтерпретатор переходить в інтерактивний " +"режим; інакше він виконує файл як повну програму." + +msgid "File input" +msgstr "Введення файлу" + +msgid "All input read from non-interactive files has the same form:" +msgstr "" +"Усі вхідні дані, зчитані з неінтерактивних файлів, мають однакову форму:" + +msgid "This syntax is used in the following situations:" +msgstr "Цей синтаксис використовується в таких ситуаціях:" + +msgid "when parsing a complete Python program (from a file or from a string);" +msgstr "при розборі повної програми Python (з файлу або з рядка);" + +msgid "when parsing a module;" +msgstr "при розборі модуля;" + +msgid "when parsing a string passed to the :func:`exec` function;" +msgstr "під час аналізу рядка, переданого функції :func:`exec`;" + +msgid "Interactive input" +msgstr "Інтерактивне введення" + +msgid "Input in interactive mode is parsed using the following grammar:" +msgstr "Введення в інтерактивному режимі аналізується за такою граматикою:" + +msgid "" +"Note that a (top-level) compound statement must be followed by a blank line " +"in interactive mode; this is needed to help the parser detect the end of the " +"input." +msgstr "" +"Зауважте, що в інтерактивному режимі після складеного оператора (вищого " +"рівня) має йти порожній рядок; це потрібно, щоб допомогти аналізатору " +"визначити кінець введення." + +msgid "Expression input" +msgstr "Введення виразу" + +msgid "" +":func:`eval` is used for expression input. It ignores leading whitespace. " +"The string argument to :func:`eval` must have the following form:" +msgstr "" +":func:`eval` використовується для введення виразу. Він ігнорує початкові " +"пробіли. Рядковий аргумент :func:`eval` повинен мати такий вигляд:" diff --git a/sphinx.po b/sphinx.po new file mode 100644 index 000000000..4cbf2fd54 --- /dev/null +++ b/sphinx.po @@ -0,0 +1,232 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 00:47+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "This Page" +msgstr "Ця сторінка" + +msgid "Report a Bug" +msgstr "Повідомити про помилку" + +msgid "Show Source" +msgstr "Показати джерело" + +msgid "CPython implementation detail:" +msgstr "Деталі реалізації CPython:" + +msgid "" +"Deprecated since version {deprecated}, will be removed in version {removed}" +msgstr "Застаріло з версії {deprecated}, буде видалено у версії {removed}" + +msgid "Deprecated since version {deprecated}, removed in version {removed}" +msgstr "Застаріло з версії {deprecated}, видалено у версії {removed}" + +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 "Parts of the documentation:" +msgstr "Частини документації:" + +msgid "What's new in Python %(version)s?" +msgstr "Що нового в Python %(version)s?" + +msgid "" +"or all \"What's new\" documents since 2.0" +msgstr "" +"або усі документи \"Що нового\" " +"починаючи з 2.0" + +msgid "Tutorial" +msgstr "Підручник" + +msgid "start here" +msgstr "почніть тут" + +msgid "Library Reference" +msgstr "Довідка бібліотеки" + +msgid "keep this under your pillow" +msgstr "тримай це під подушкою" + +msgid "Language Reference" +msgstr "Довідник мови" + +msgid "describes syntax and language elements" +msgstr "описує елементи синтаксису та мови" + +msgid "Python Setup and Usage" +msgstr "Налаштування та використання Python" + +msgid "how to use Python on different platforms" +msgstr "як використовувати Python на різних платформах" + +msgid "Python HOWTOs" +msgstr "Python HOWTO" + +msgid "in-depth documents on specific topics" +msgstr "детальні документи з конкретних тем" + +msgid "Installing Python Modules" +msgstr "Встановлення модулів Python" + +msgid "installing from the Python Package Index & other sources" +msgstr "встановлення з індексу пакетів Python & інших джерел" + +msgid "Distributing Python Modules" +msgstr "Розповсюдження модулів Python" + +msgid "publishing modules for installation by others" +msgstr "модулі публікації для встановлення іншими" + +msgid "Extending and Embedding" +msgstr "Розширення та вбудовування" + +msgid "tutorial for C/C++ programmers" +msgstr "підручник для програмістів C/C++" + +msgid "Python/C API" +msgstr "API Python/C" + +msgid "reference for C/C++ programmers" +msgstr "довідник для програмістів C/C++" + +msgid "FAQs" +msgstr "Поширені запитання" + +msgid "frequently asked questions (with answers!)" +msgstr "поширені запитання (з відповідями!)" + +msgid "Indices and tables:" +msgstr "Індекси та таблиці:" + +msgid "Global Module Index" +msgstr "Глобальний індекс модулів" + +msgid "quick access to all modules" +msgstr "швидкий доступ до всіх модулів" + +msgid "General Index" +msgstr "Загальний покажчик" + +msgid "all functions, classes, terms" +msgstr "всі функції, класи, терміни" + +msgid "Glossary" +msgstr "Глосарій" + +msgid "the most important terms explained" +msgstr "пояснення найважливіших термінів" + +msgid "Search page" +msgstr "Сторінка пошуку" + +msgid "search this documentation" +msgstr "шукайте цю документацію" + +msgid "Complete Table of Contents" +msgstr "Повний зміст" + +msgid "lists all sections and subsections" +msgstr "містить список усіх розділів і підрозділів" + +msgid "Meta information:" +msgstr "Метаінформація:" + +msgid "Reporting bugs" +msgstr "Повідомлення про помилки" + +msgid "Contributing to Docs" +msgstr "Внесок у Документацію" + +msgid "About the documentation" +msgstr "Про документацію" + +msgid "History and License of Python" +msgstr "Історія та ліцензія Python" + +msgid "Copyright" +msgstr "Авторське право" + +msgid "Download" +msgstr "Завантажити" + +msgid "Download these documents" +msgstr "Завантажте ці документи" + +msgid "Docs by version" +msgstr "Документи за версіями" + +msgid "Stable" +msgstr "Стабільний" + +msgid "In development" +msgstr "В розробці" + +msgid "All versions" +msgstr "Всі версії" + +msgid "Other resources" +msgstr "Інші ресурси" + +msgid "PEP Index" +msgstr "Індекс PEP" + +msgid "Beginner's Guide" +msgstr "Посібник для початківців" + +msgid "Book List" +msgstr "Список книг" + +msgid "Audio/Visual Talks" +msgstr "Аудіо/візуальні бесіди" + +msgid "Python Developer’s Guide" +msgstr "Посібник розробника Python" + +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 для поточного стабільного релізу" diff --git a/tutorial/appendix.po b/tutorial/appendix.po new file mode 100644 index 000000000..cfa8cd6a6 --- /dev/null +++ b/tutorial/appendix.po @@ -0,0 +1,204 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Olga Tomakhina, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Olga Tomakhina, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Appendix" +msgstr "Додаток" + +msgid "Interactive Mode" +msgstr "Інтерактивний режим" + +msgid "Error Handling" +msgstr "Обробка помилок" + +msgid "" +"When an error occurs, the interpreter prints an error message and a stack " +"trace. In interactive mode, it then returns to the primary prompt; when " +"input came from a file, it exits with a nonzero exit status after printing " +"the stack trace. (Exceptions handled by an :keyword:`except` clause in a :" +"keyword:`try` statement are not errors in this context.) Some errors are " +"unconditionally fatal and cause an exit with a nonzero exit; this applies to " +"internal inconsistencies and some cases of running out of memory. All error " +"messages are written to the standard error stream; normal output from " +"executed commands is written to standard output." +msgstr "" +"Коли виникає помилка, інтерпретатор друкує повідомлення про помилку та " +"трасування стека. В інтерактивному режимі він повертається до основного " +"вікна відладки; коли введення даних йшло з файлу, він виходить із ненульовим " +"статусом виходу після друку трасування стека. (Винятки, які обробляються " +"ключовими словами :keyword:`except` в операторі :keyword:`try`, не є " +"помилками в цьому контексті.) Деякі помилки є безумовно фатальними та " +"викликають вихід із ненульовим результатом; це стосується внутрішніх " +"невідповідностей і деяких випадків нестачі пам'яті. Усі повідомлення про " +"помилки записуються в стандартний потік помилок; звичайний вивід виконаних " +"команд записується в стандартний вивід." + +msgid "" +"Typing the interrupt character (usually :kbd:`Control-C` or :kbd:`Delete`) " +"to the primary or secondary prompt cancels the input and returns to the " +"primary prompt. [#]_ Typing an interrupt while a command is executing raises " +"the :exc:`KeyboardInterrupt` exception, which may be handled by a :keyword:" +"`try` statement." +msgstr "" +"Введення символу переривання (зазвичай :kbd:`Control-C` або :kbd:`Delete`) у " +"основному чи додатковому командному рядку скасовує введення та повертає до " +"основного командного рядка. [#]_ Введення переривання під час виконання " +"команди викликає виключення :exc:`KeyboardInterrupt`, яке може бути " +"оброблено оператором :keyword:`try`." + +msgid "Executable Python Scripts" +msgstr "Виконувані скрипти Python" + +msgid "" +"On BSD'ish Unix systems, Python scripts can be made directly executable, " +"like shell scripts, by putting the line ::" +msgstr "" +"У BSD Unix системах скрипти Python можна зробити безпосередньо виконуваними, " +"як скрипти оболонки, додавши рядок ::" + +msgid "" +"(assuming that the interpreter is on the user's :envvar:`PATH`) at the " +"beginning of the script and giving the file an executable mode. The ``#!`` " +"must be the first two characters of the file. On some platforms, this first " +"line must end with a Unix-style line ending (``'\\n'``), not a Windows " +"(``'\\r\\n'``) line ending. Note that the hash, or pound, character, " +"``'#'``, is used to start a comment in Python." +msgstr "" +"(за умови, що інтерпретатор знаходиться в змінній середовища користувача :" +"envvar:`PATH`) на початку сценарію та надає файлу режим виконання. ``#!`` " +"має бути першими двома символами файлу. На деяких платформах цей перший " +"рядок має закінчуватися закінченням рядка в стилі Unix (``'\\n'``), а не " +"закінченням рядка Windows (``'\\r\\n'``). Зауважте, що для початку коментаря " +"в Python використовується хеш або символ фунта, ``'#'``." + +msgid "" +"The script can be given an executable mode, or permission, using the :" +"program:`chmod` command." +msgstr "" +"Скрипту можна надати режим виконання або дозвіл за допомогою команди :" +"program:`chmod`." + +msgid "" +"On Windows systems, there is no notion of an \"executable mode\". The " +"Python installer automatically associates ``.py`` files with ``python.exe`` " +"so that a double-click on a Python file will run it as a script. The " +"extension can also be ``.pyw``, in that case, the console window that " +"normally appears is suppressed." +msgstr "" +"У системах Windows немає поняття \"виконуваний режим\". Програма " +"встановлення Python автоматично пов’язує файли ``.py`` з ``python.exe``, щоб " +"подвійне клацання файлу Python запускало його як програму. Розширення також " +"може бути ``.pyw``, у цьому випадку вікно консолі, яке в іншому випадку б " +"з’явилось, приховується." + +msgid "The Interactive Startup File" +msgstr "Інтерактивний файл запуску" + +msgid "" +"When you use Python interactively, it is frequently handy to have some " +"standard commands executed every time the interpreter is started. You can " +"do this by setting an environment variable named :envvar:`PYTHONSTARTUP` to " +"the name of a file containing your start-up commands. This is similar to " +"the :file:`.profile` feature of the Unix shells." +msgstr "" +"Коли ви використовуєте Python в інтерактивному режимі, часто зручно мати " +"деякі стандартні команди, які виконуються щоразу, коли запускається " +"інтерпретатор. Ви можете зробити це, встановивши змінну середовища з назвою :" +"envvar:`PYTHONSTARTUP` на назву файлу, що містить ваші команди запуску. Це " +"схоже на функцію :file:`.profile` оболонок Unix." + +msgid "" +"This file is only read in interactive sessions, not when Python reads " +"commands from a script, and not when :file:`/dev/tty` is given as the " +"explicit source of commands (which otherwise behaves like an interactive " +"session). It is executed in the same namespace where interactive commands " +"are executed, so that objects that it defines or imports can be used without " +"qualification in the interactive session. You can also change the prompts " +"``sys.ps1`` and ``sys.ps2`` in this file." +msgstr "" +"Цей файл читається лише під час інтерактивних сеансів, а не тоді, коли " +"Python читає команди зі сценарію, і не коли :file:`/dev/tty` вказано як явне " +"джерело команд (що інакше поводиться як інтерактивний сеанс). Він " +"виконується в тому самому просторі імен, де виконуються інтерактивні " +"команди, тому об’єкти, які він визначає або імпортує, можна використовувати " +"без застережень в інтерактивному сеансі. Ви також можете змінити підказки " +"``sys.ps1`` і ``sys.ps2`` у цьому файлі." + +msgid "" +"If you want to read an additional start-up file from the current directory, " +"you can program this in the global start-up file using code like ``if os." +"path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())``. If you " +"want to use the startup file in a script, you must do this explicitly in the " +"script::" +msgstr "" +"Якщо ви хочете прочитати додатковий файл запуску з поточного каталогу, ви " +"можете запрограмувати це в глобальному файлі запуску за допомогою коду на " +"кшталт ``if os.path.isfile('.pythonrc.py'): exec(open ('.pythonrc.py')." +"read())``. Якщо ви хочете використовувати файл запуску в сценарії, ви " +"повинні зробити це явно в сценарії::" + +msgid "The Customization Modules" +msgstr "Модулі налаштування" + +msgid "" +"Python provides two hooks to let you customize it: :mod:`sitecustomize` and :" +"mod:`usercustomize`. To see how it works, you need first to find the " +"location of your user site-packages directory. Start Python and run this " +"code::" +msgstr "" +"Python надає два хуки, які дозволяють налаштувати його: :mod:`sitecustomize` " +"і :mod:`usercustomize`. Щоб побачити, як це працює, вам потрібно спочатку " +"знайти розташування вашого каталогу пакетів сайту користувача. Запустіть " +"Python і виконайте цей код:" + +msgid "" +"Now you can create a file named :file:`usercustomize.py` in that directory " +"and put anything you want in it. It will affect every invocation of Python, " +"unless it is started with the :option:`-s` option to disable the automatic " +"import." +msgstr "" +"Тепер ви можете створити файл із назвою :file:`usercustomize.py` у цьому " +"каталозі та помістити в нього все, що завгодно. Це впливатиме на кожен " +"виклик Python, якщо його не запущено з параметром :option:`-s` для вимкнення " +"автоматичного імпорту." + +msgid "" +":mod:`sitecustomize` works in the same way, but is typically created by an " +"administrator of the computer in the global site-packages directory, and is " +"imported before :mod:`usercustomize`. See the documentation of the :mod:" +"`site` module for more details." +msgstr "" +":mod:`sitecustomize` працює так само, але зазвичай створюється " +"адміністратором комп’ютера в глобальному каталозі пакетів сайту та " +"імпортується перед :mod:`usercustomize`. Перегляньте документацію модуля :" +"mod:`site` для отримання додаткової інформації." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "A problem with the GNU Readline package may prevent this." +msgstr "Проблема з пакетом GNU Readline може запобігти цьому." diff --git a/tutorial/appetite.po b/tutorial/appetite.po new file mode 100644 index 000000000..4a41dbb2c --- /dev/null +++ b/tutorial/appetite.po @@ -0,0 +1,211 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Nadiia Gorash , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Nadiia Gorash , 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Whetting Your Appetite" +msgstr "Розпалювання апетиту" + +msgid "" +"If you do much work on computers, eventually you find that there's some task " +"you'd like to automate. For example, you may wish to perform a search-and-" +"replace over a large number of text files, or rename and rearrange a bunch " +"of photo files in a complicated way. Perhaps you'd like to write a small " +"custom database, or a specialized GUI application, or a simple game." +msgstr "" +"Якщо ви багато працюєте за комп’ютером, зрештою ви виявите, що є завдання, " +"які ви хотіли б автоматизувати. Наприклад, ви можете виконати пошук і заміну " +"у великій кількості текстових файлів або перейменувати та змінити порядок " +"файлів фотографій у складний спосіб. Можливо, ви захочете написати невелику " +"спеціальну базу даних, або спеціалізований додаток з графічним інтерфейсом " +"користувача, або просту гру." + +msgid "" +"If you're a professional software developer, you may have to work with " +"several C/C++/Java libraries but find the usual write/compile/test/re-" +"compile cycle is too slow. Perhaps you're writing a test suite for such a " +"library and find writing the testing code a tedious task. Or maybe you've " +"written a program that could use an extension language, and you don't want " +"to design and implement a whole new language for your application." +msgstr "" +"Якщо ви професійний розробник програмного забезпечення, можливо, вам " +"доведеться працювати з кількома бібліотеками C/C++/Java, але звичайний цикл " +"запису/компіляції/тестування/повторної компіляції занадто повільний. " +"Можливо, ви пишете набір тестів для такої бібліотеки і вважаєте написання " +"тестового коду виснажливим завданням. Або, можливо, ви написали програму, " +"яка може використовувати мову розширення, і ви не хочете розробляти та " +"впроваджувати абсолютно нову мову для своєї програми." + +msgid "Python is just the language for you." +msgstr "Python — це саме ваша мова." + +msgid "" +"You could write a Unix shell script or Windows batch files for some of these " +"tasks, but shell scripts are best at moving around files and changing text " +"data, not well-suited for GUI applications or games. You could write a C/C++/" +"Java program, but it can take a lot of development time to get even a first-" +"draft program. Python is simpler to use, available on Windows, macOS, and " +"Unix operating systems, and will help you get the job done more quickly." +msgstr "" +"Ви можете написати сценарій оболонки Unix або пакетні файли Windows для " +"деяких із цих завдань, але сценарії оболонки найкраще підходять для " +"переміщення файлів і зміни текстових даних, не дуже підходять для програм із " +"графічним інтерфейсом користувача чи ігор. Ви можете написати програму C/C++/" +"Java, але розробка може зайняти багато часу, щоб отримати навіть першу " +"чернетку програми. Python простіший у використанні, доступний в операційних " +"системах Windows, macOS і Unix і допоможе швидше виконувати роботу." + +msgid "" +"Python is simple to use, but it is a real programming language, offering " +"much more structure and support for large programs than shell scripts or " +"batch files can offer. On the other hand, Python also offers much more " +"error checking than C, and, being a *very-high-level language*, it has high-" +"level data types built in, such as flexible arrays and dictionaries. " +"Because of its more general data types Python is applicable to a much larger " +"problem domain than Awk or even Perl, yet many things are at least as easy " +"in Python as in those languages." +msgstr "" +"Python простий у використанні, але це справжня мова програмування, яка " +"пропонує набагато більше структури та підтримки для великих програм, ніж " +"сценарії оболонки або пакетні файли. З іншого боку, Python також пропонує " +"набагато більше перевірки помилок, ніж C, і, будучи мовою *дуже високого " +"рівня*, він має вбудовані типи даних високого рівня, такі як гнучкі масиви " +"та словники. Завдяки більш загальним типам даних Python застосовний до " +"значно більшої проблемної області, ніж Awk або навіть Perl, але багато речей " +"у Python принаймні так само прості, як і в цих мовах." + +msgid "" +"Python allows you to split your program into modules that can be reused in " +"other Python programs. It comes with a large collection of standard modules " +"that you can use as the basis of your programs --- or as examples to start " +"learning to program in Python. Some of these modules provide things like " +"file I/O, system calls, sockets, and even interfaces to graphical user " +"interface toolkits like Tk." +msgstr "" +"Python дозволяє вам розділити вашу програму на модулі, які можна повторно " +"використовувати в інших програмах Python. Він постачається з великою " +"колекцією стандартних модулів, які ви можете використовувати як основу своїх " +"програм --- або як приклади, щоб розпочати навчання програмуванню на Python. " +"Деякі з цих модулів надають такі речі, як файловий ввід/вивід, системні " +"виклики, сокети та навіть інтерфейси для наборів інструментів графічного " +"інтерфейсу користувача, таких як Tk." + +msgid "" +"Python is an interpreted language, which can save you considerable time " +"during program development because no compilation and linking is necessary. " +"The interpreter can be used interactively, which makes it easy to experiment " +"with features of the language, to write throw-away programs, or to test " +"functions during bottom-up program development. It is also a handy desk " +"calculator." +msgstr "" +"Python — це інтерпретована мова, яка може заощадити вам значний час під час " +"розробки програми, оскільки не потрібні компіляція та зв’язування. " +"Інтерпретатор можна використовувати в інтерактивному режимі, що дозволяє " +"легко експериментувати з особливостями мови, писати одноразові програми або " +"тестувати функції під час розробки програми знизу вгору. Це також зручний " +"настільний калькулятор." + +msgid "" +"Python enables programs to be written compactly and readably. Programs " +"written in Python are typically much shorter than equivalent C, C++, or " +"Java programs, for several reasons:" +msgstr "" +"Python дозволяє писати програми компактно та зрозуміло. Програми, написані " +"на Python, зазвичай набагато коротші, ніж еквівалентні програми на C, C++ " +"або Java, з кількох причин:" + +msgid "" +"the high-level data types allow you to express complex operations in a " +"single statement;" +msgstr "" +"типи даних високого рівня дозволяють виражати складні операції в одному " +"операторі;" + +msgid "" +"statement grouping is done by indentation instead of beginning and ending " +"brackets;" +msgstr "" +"групування тверджень здійснюється за допомогою відступів замість початкових " +"і кінцевих дужок;" + +msgid "no variable or argument declarations are necessary." +msgstr "не потрібні оголошення змінних або аргументів." + +msgid "" +"Python is *extensible*: if you know how to program in C it is easy to add a " +"new built-in function or module to the interpreter, either to perform " +"critical operations at maximum speed, or to link Python programs to " +"libraries that may only be available in binary form (such as a vendor-" +"specific graphics library). Once you are really hooked, you can link the " +"Python interpreter into an application written in C and use it as an " +"extension or command language for that application." +msgstr "" +"Python є *розширюваним*: якщо ви знаєте, як програмувати на C, ви можете " +"легко додати нову вбудовану функцію чи модуль до інтерпретатора, щоб " +"виконувати критичні операції з максимальною швидкістю або пов’язувати " +"програми Python із бібліотеками, які можуть лише бути доступним у двійковій " +"формі (наприклад, графічна бібліотека виробника). Коли ви справді " +"захопитеся, ви зможете зв’язати інтерпретатор Python із програмою, написаною " +"мовою C, і використовувати її як розширення або мову команд для цієї " +"програми." + +msgid "" +"By the way, the language is named after the BBC show \"Monty Python's Flying " +"Circus\" and has nothing to do with reptiles. Making references to Monty " +"Python skits in documentation is not only allowed, it is encouraged!" +msgstr "" +"До речі, мова названа на честь шоу BBC \"Летючий цирк Монті Пайтона\" і не " +"має нічого спільного з рептиліями. Посилання на сценки Monty Python у " +"документації не тільки дозволено, але й заохочується!" + +msgid "" +"Now that you are all excited about Python, you'll want to examine it in some " +"more detail. Since the best way to learn a language is to use it, the " +"tutorial invites you to play with the Python interpreter as you read." +msgstr "" +"Тепер, коли ви всі в захваті від Python, ви захочете вивчити його більш " +"детально. Оскільки найкращий спосіб вивчити мову – це використовувати її, " +"підручник запрошує вас грати з інтерпретатором Python під час читання." + +msgid "" +"In the next chapter, the mechanics of using the interpreter are explained. " +"This is rather mundane information, but essential for trying out the " +"examples shown later." +msgstr "" +"У наступному розділі пояснюється механізм використання інтерпретатора. Це " +"досить повсякденна інформація, але важлива для випробування прикладів, " +"показаних пізніше." + +msgid "" +"The rest of the tutorial introduces various features of the Python language " +"and system through examples, beginning with simple expressions, statements " +"and data types, through functions and modules, and finally touching upon " +"advanced concepts like exceptions and user-defined classes." +msgstr "" +"Решта підручника знайомить із різними функціями мови та системи Python через " +"приклади, починаючи з простих виразів, інструкцій і типів даних, через " +"функції та модулі, і, нарешті, торкаючись розширених концепцій, таких як " +"винятки та визначені користувачем класи." diff --git a/tutorial/classes.po b/tutorial/classes.po new file mode 100644 index 000000000..ebe1d2dd5 --- /dev/null +++ b/tutorial/classes.po @@ -0,0 +1,1227 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Classes" +msgstr "Класи" + +msgid "" +"Classes provide a means of bundling data and functionality together. " +"Creating a new class creates a new *type* of object, allowing new " +"*instances* of that type to be made. Each class instance can have " +"attributes attached to it for maintaining its state. Class instances can " +"also have methods (defined by its class) for modifying its state." +msgstr "" +"Класи надають засоби об’єднання даних і функціональних можливостей. " +"Створення нового класу створює новий *тип* об’єкта, що дозволяє створювати " +"нові *примірники* цього типу. Кожен екземпляр класу може мати атрибути, " +"приєднані до нього для підтримки його стану. Екземпляри класу також можуть " +"мати методи (визначені його класом) для зміни свого стану." + +msgid "" +"Compared with other programming languages, Python's class mechanism adds " +"classes with a minimum of new syntax and semantics. It is a mixture of the " +"class mechanisms found in C++ and Modula-3. Python classes provide all the " +"standard features of Object Oriented Programming: the class inheritance " +"mechanism allows multiple base classes, a derived class can override any " +"methods of its base class or classes, and a method can call the method of a " +"base class with the same name. Objects can contain arbitrary amounts and " +"kinds of data. As is true for modules, classes partake of the dynamic " +"nature of Python: they are created at runtime, and can be modified further " +"after creation." +msgstr "" +"Порівняно з іншими мовами програмування, механізм класів Python додає класи " +"з мінімумом нового синтаксису та семантики. Це суміш механізмів класів, " +"знайдених у C++ і Modula-3. Класи Python забезпечують усі стандартні функції " +"об’єктно-орієнтованого програмування: механізм успадкування класів дозволяє " +"створювати кілька базових класів, похідний клас може перевизначати будь-які " +"методи свого базового класу або класів, а метод може викликати метод " +"базового класу з тим самим іменем. . Об’єкти можуть містити довільні обсяги " +"та типи даних. Як і для модулів, класи мають динамічну природу Python: вони " +"створюються під час виконання та можуть бути змінені далі після створення." + +msgid "" +"In C++ terminology, normally class members (including the data members) are " +"*public* (except see below :ref:`tut-private`), and all member functions are " +"*virtual*. As in Modula-3, there are no shorthands for referencing the " +"object's members from its methods: the method function is declared with an " +"explicit first argument representing the object, which is provided " +"implicitly by the call. As in Smalltalk, classes themselves are objects. " +"This provides semantics for importing and renaming. Unlike C++ and " +"Modula-3, built-in types can be used as base classes for extension by the " +"user. Also, like in C++, most built-in operators with special syntax " +"(arithmetic operators, subscripting etc.) can be redefined for class " +"instances." +msgstr "" +"У термінології C++ зазвичай члени класу (включно з членами даних) є " +"*публічними* (за винятком див. нижче :ref:`tut-private`), а всі функції-" +"члени є *віртуальними*. Як і в Modula-3, немає скорочень для посилань на " +"члени об’єкта з його методів: функція методу оголошується з явним першим " +"аргументом, що представляє об’єкт, який неявно надається викликом. Як і в " +"Smalltalk, класи самі є об'єктами. Це забезпечує семантику для імпортування " +"та перейменування. На відміну від C++ і Modula-3, вбудовані типи можуть " +"використовуватися як базові класи для розширення користувачем. Також, як і в " +"C++, більшість вбудованих операторів зі спеціальним синтаксисом (арифметичні " +"оператори, індексування тощо) можна перевизначати для екземплярів класу." + +msgid "" +"(Lacking universally accepted terminology to talk about classes, I will make " +"occasional use of Smalltalk and C++ terms. I would use Modula-3 terms, " +"since its object-oriented semantics are closer to those of Python than C++, " +"but I expect that few readers have heard of it.)" +msgstr "" +"(Через відсутність загальноприйнятої термінології для розмови про класи, я " +"час від часу використовую терміни Smalltalk і C++. Я б використовував " +"терміни Modula-3, оскільки його об’єктно-орієнтована семантика ближча до " +"семантики Python, ніж C++, але я очікую, що мало читачів чув про це.)" + +msgid "A Word About Names and Objects" +msgstr "Слово про імена та предмети" + +msgid "" +"Objects have individuality, and multiple names (in multiple scopes) can be " +"bound to the same object. This is known as aliasing in other languages. " +"This is usually not appreciated on a first glance at Python, and can be " +"safely ignored when dealing with immutable basic types (numbers, strings, " +"tuples). However, aliasing has a possibly surprising effect on the " +"semantics of Python code involving mutable objects such as lists, " +"dictionaries, and most other types. This is usually used to the benefit of " +"the program, since aliases behave like pointers in some respects. For " +"example, passing an object is cheap since only a pointer is passed by the " +"implementation; and if a function modifies an object passed as an argument, " +"the caller will see the change --- this eliminates the need for two " +"different argument passing mechanisms as in Pascal." +msgstr "" +"Об’єкти мають індивідуальність, і кілька імен (у кількох областях) можуть " +"бути прив’язані до одного об’єкта. Це відоме як псевдонім в інших мовах. Це " +"зазвичай не оцінюється з першого погляду на Python, і його можна сміливо " +"ігнорувати, коли маєте справу з незмінними базовими типами (числа, рядки, " +"кортежі). Однак псевдонім має, можливо, дивовижний ефект на семантику коду " +"Python, що включає змінні об’єкти, такі як списки, словники та більшість " +"інших типів. Зазвичай це використовується на користь програми, оскільки " +"псевдоніми в деяких аспектах поводяться як покажчики. Наприклад, передача " +"об'єкта дешева, оскільки реалізація передає лише покажчик; і якщо функція " +"змінює об’єкт, переданий як аргумент, абонент побачить зміни --- це усуває " +"потребу у двох різних механізмах передачі аргументів, як у Pascal." + +msgid "Python Scopes and Namespaces" +msgstr "Області та простори імен Python" + +msgid "" +"Before introducing classes, I first have to tell you something about " +"Python's scope rules. Class definitions play some neat tricks with " +"namespaces, and you need to know how scopes and namespaces work to fully " +"understand what's going on. Incidentally, knowledge about this subject is " +"useful for any advanced Python programmer." +msgstr "" +"Перш ніж представити класи, я спершу маю розповісти вам дещо про правила " +"видимості Python. Визначення класів грають влучні трюки з просторами імен, і " +"вам потрібно знати, як працюють області та простори імен, щоб повністю " +"зрозуміти, що відбувається. До речі, знання з цієї теми знадобляться будь-" +"якому досвідченому програмісту на Python." + +msgid "Let's begin with some definitions." +msgstr "Почнемо з деяких визначень." + +msgid "" +"A *namespace* is a mapping from names to objects. Most namespaces are " +"currently implemented as Python dictionaries, but that's normally not " +"noticeable in any way (except for performance), and it may change in the " +"future. Examples of namespaces are: the set of built-in names (containing " +"functions such as :func:`abs`, and built-in exception names); the global " +"names in a module; and the local names in a function invocation. In a sense " +"the set of attributes of an object also form a namespace. The important " +"thing to know about namespaces is that there is absolutely no relation " +"between names in different namespaces; for instance, two different modules " +"may both define a function ``maximize`` without confusion --- users of the " +"modules must prefix it with the module name." +msgstr "" +"*Простір імен* — це відображення імен на об’єкти. Більшість просторів імен " +"наразі реалізовано як словники Python, але зазвичай це нічим не помітно (за " +"винятком продуктивності), і це може змінитися в майбутньому. Прикладами " +"просторів імен є: набір вбудованих імен (що містять такі функції, як :func:" +"`abs`, і вбудовані імена винятків); глобальні імена в модулі; і локальні " +"імена під час виклику функції. У певному сенсі набір атрибутів об'єкта також " +"формує простір імен. Важливо знати про простори імен, що між іменами в " +"різних просторах імен немає абсолютно ніякого зв’язку; наприклад, обидва " +"різні модулі можуть визначати функцію ``maximize`` без плутанини --- " +"користувачі модулів повинні додавати перед нею назву модуля." + +msgid "" +"By the way, I use the word *attribute* for any name following a dot --- for " +"example, in the expression ``z.real``, ``real`` is an attribute of the " +"object ``z``. Strictly speaking, references to names in modules are " +"attribute references: in the expression ``modname.funcname``, ``modname`` is " +"a module object and ``funcname`` is an attribute of it. In this case there " +"happens to be a straightforward mapping between the module's attributes and " +"the global names defined in the module: they share the same namespace! [#]_" +msgstr "" +"До речі, я використовую слово *attribute* для будь-якого імені після крапки " +"--- наприклад, у виразі ``z.real``, ``real`` є атрибутом об’єкта ``z`` . " +"Строго кажучи, посилання на імена в модулях є посиланнями на атрибути: у " +"виразі ``modname.funcname``, ``modname`` є об’єктом модуля, а ``funcname`` є " +"його атрибутом. У цьому випадку відбувається пряме відображення між " +"атрибутами модуля та глобальними іменами, визначеними в модулі: вони спільно " +"використовують той самий простір імен! [#]_" + +msgid "" +"Attributes may be read-only or writable. In the latter case, assignment to " +"attributes is possible. Module attributes are writable: you can write " +"``modname.the_answer = 42``. Writable attributes may also be deleted with " +"the :keyword:`del` statement. For example, ``del modname.the_answer`` will " +"remove the attribute :attr:`the_answer` from the object named by ``modname``." +msgstr "" +"Атрибути можуть бути доступними лише для читання або запису. В останньому " +"випадку можливе призначення атрибутів. Атрибути модуля доступні для запису: " +"ви можете написати ``modname.the_answer = 42``. Атрибути, доступні для " +"запису, також можна видалити за допомогою оператора :keyword:`del`. " +"Наприклад, ``del modname.the_answer`` видалить атрибут :attr:`the_answer` з " +"об’єкта, названого ``modname``." + +msgid "" +"Namespaces are created at different moments and have different lifetimes. " +"The namespace containing the built-in names is created when the Python " +"interpreter starts up, and is never deleted. The global namespace for a " +"module is created when the module definition is read in; normally, module " +"namespaces also last until the interpreter quits. The statements executed " +"by the top-level invocation of the interpreter, either read from a script " +"file or interactively, are considered part of a module called :mod:" +"`__main__`, so they have their own global namespace. (The built-in names " +"actually also live in a module; this is called :mod:`builtins`.)" +msgstr "" +"Простори імен створюються в різний момент і мають різний час життя. Простір " +"імен, що містить вбудовані імена, створюється під час запуску інтерпретатора " +"Python і ніколи не видаляється. Глобальний простір імен для модуля " +"створюється, коли зчитується визначення модуля; зазвичай простори імен " +"модулів також зберігаються, доки інтерпретатор не завершить роботу. " +"Інструкції, що виконуються за допомогою виклику інтерпретатора верхнього " +"рівня, або прочитані з файлу сценарію, або в інтерактивному режимі, " +"вважаються частиною модуля під назвою :mod:`__main__`, тому вони мають " +"власний глобальний простір імен. (Вбудовані імена насправді також містяться " +"в модулі; це називається :mod:`builtins`.)" + +msgid "" +"The local namespace for a function is created when the function is called, " +"and deleted when the function returns or raises an exception that is not " +"handled within the function. (Actually, forgetting would be a better way to " +"describe what actually happens.) Of course, recursive invocations each have " +"their own local namespace." +msgstr "" +"Локальний простір імен для функції створюється під час виклику функції та " +"видаляється, коли функція повертає або викликає виняткову ситуацію, яка не " +"обробляється цією функцією. (Насправді, забування було б кращим способом " +"описати те, що насправді відбувається.) Звичайно, кожен рекурсивний виклик " +"має свій власний локальний простір імен." + +msgid "" +"A *scope* is a textual region of a Python program where a namespace is " +"directly accessible. \"Directly accessible\" here means that an unqualified " +"reference to a name attempts to find the name in the namespace." +msgstr "" +"*Область* — це текстова область програми Python, де простір імен доступний " +"безпосередньо. \"Безпосередній доступ\" тут означає, що некваліфіковане " +"посилання на ім’я намагається знайти ім’я в просторі імен." + +msgid "" +"Although scopes are determined statically, they are used dynamically. At any " +"time during execution, there are 3 or 4 nested scopes whose namespaces are " +"directly accessible:" +msgstr "" +"Хоча області визначаються статично, вони використовуються динамічно. У будь-" +"який час під час виконання є 3 або 4 вкладені області, простори імен яких " +"доступні безпосередньо:" + +msgid "the innermost scope, which is searched first, contains the local names" +msgstr "внутрішня область, яка шукається першою, містить локальні назви" + +msgid "" +"the scopes of any enclosing functions, which are searched starting with the " +"nearest enclosing scope, contains non-local, but also non-global names" +msgstr "" +"області будь-яких охоплюючих функцій, які шукаються, починаючи з найближчої " +"охоплюючої області, містить не локальні, але також і неглобальні імена" + +msgid "the next-to-last scope contains the current module's global names" +msgstr "передостання область містить глобальні імена поточного модуля" + +msgid "" +"the outermost scope (searched last) is the namespace containing built-in " +"names" +msgstr "" +"крайня область (шукається останньою) — це простір імен, що містить вбудовані " +"імена" + +msgid "" +"If a name is declared global, then all references and assignments go " +"directly to the middle scope containing the module's global names. To " +"rebind variables found outside of the innermost scope, the :keyword:" +"`nonlocal` statement can be used; if not declared nonlocal, those variables " +"are read-only (an attempt to write to such a variable will simply create a " +"*new* local variable in the innermost scope, leaving the identically named " +"outer variable unchanged)." +msgstr "" +"Якщо ім’я оголошено глобальним, тоді всі посилання та призначення переходять " +"безпосередньо до середньої області, що містить глобальні імена модуля. Щоб " +"повторно прив’язати змінні, знайдені за межами внутрішньої області, можна " +"використати оператор :keyword:`nonlocal`; якщо не оголошено нелокальними, ці " +"змінні доступні лише для читання (спроба запису в таку змінну просто " +"створить *нову* локальну змінну у внутрішній області видимості, залишаючи " +"зовнішню змінну з однаковою назвою без змін)." + +msgid "" +"Usually, the local scope references the local names of the (textually) " +"current function. Outside functions, the local scope references the same " +"namespace as the global scope: the module's namespace. Class definitions " +"place yet another namespace in the local scope." +msgstr "" +"Зазвичай локальна область посилається на локальні імена поточної (текстової) " +"функції. Поза функціями локальна область посилається на той самий простір " +"імен, що й глобальна область: простір імен модуля. Визначення класу " +"розміщують ще один простір імен у локальній області." + +msgid "" +"It is important to realize that scopes are determined textually: the global " +"scope of a function defined in a module is that module's namespace, no " +"matter from where or by what alias the function is called. On the other " +"hand, the actual search for names is done dynamically, at run time --- " +"however, the language definition is evolving towards static name resolution, " +"at \"compile\" time, so don't rely on dynamic name resolution! (In fact, " +"local variables are already determined statically.)" +msgstr "" +"Важливо розуміти, що області визначаються текстово: глобальна область дії " +"функції, визначеної в модулі, є простором імен цього модуля, незалежно від " +"того, звідки чи яким псевдонімом викликається функція. З іншого боку, " +"фактичний пошук імен виконується динамічно, під час виконання --- однак " +"визначення мови розвивається в бік статичного дозволу імен під час " +"\"компіляції\", тому не покладайтеся на динамічне дозвіл імен! (Насправді " +"локальні змінні вже визначені статично.)" + +msgid "" +"A special quirk of Python is that -- if no :keyword:`global` or :keyword:" +"`nonlocal` statement is in effect -- assignments to names always go into the " +"innermost scope. Assignments do not copy data --- they just bind names to " +"objects. The same is true for deletions: the statement ``del x`` removes " +"the binding of ``x`` from the namespace referenced by the local scope. In " +"fact, all operations that introduce new names use the local scope: in " +"particular, :keyword:`import` statements and function definitions bind the " +"module or function name in the local scope." +msgstr "" +"Особлива примха Python полягає в тому, що, якщо не діють оператори :keyword:" +"`global` або :keyword:`nonlocal`, призначення імен завжди потрапляють у " +"найглибшу область видимості. Призначення не копіюють дані --- вони просто " +"прив’язують імена до об’єктів. Те саме стосується видалень: оператор ``del " +"x`` видаляє прив’язку ``x`` із простору імен, на який посилається локальна " +"область видимості. Насправді всі операції, які вводять нові імена, " +"використовують локальну область видимості: зокрема, оператори :keyword:" +"`import` і визначення функцій прив’язують назву модуля або функції в " +"локальній області видимості." + +msgid "" +"The :keyword:`global` statement can be used to indicate that particular " +"variables live in the global scope and should be rebound there; the :keyword:" +"`nonlocal` statement indicates that particular variables live in an " +"enclosing scope and should be rebound there." +msgstr "" +"Інструкція :keyword:`global` може бути використана, щоб вказати, що певні " +"змінні живуть у глобальній області видимості та мають бути перенаправлені " +"туди; оператор :keyword:`nonlocal` вказує на те, що певні змінні живуть в " +"охоплюючій області видимості і мають бути перенаправлені туди." + +msgid "Scopes and Namespaces Example" +msgstr "Приклад областей і просторів імен" + +msgid "" +"This is an example demonstrating how to reference the different scopes and " +"namespaces, and how :keyword:`global` and :keyword:`nonlocal` affect " +"variable binding::" +msgstr "" +"Це приклад, який демонструє, як посилатися на різні області та простори " +"імен, і як :keyword:`global` і :keyword:`nonlocal` впливають на зв’язування " +"змінних::" + +msgid "The output of the example code is:" +msgstr "Результат коду прикладу:" + +msgid "" +"Note how the *local* assignment (which is default) didn't change *scope_test*" +"\\'s binding of *spam*. The :keyword:`nonlocal` assignment changed " +"*scope_test*\\'s binding of *spam*, and the :keyword:`global` assignment " +"changed the module-level binding." +msgstr "" +"Зверніть увагу, що призначення *local* (яке є типовим) не змінило прив’язки " +"*scope_test* до *spam*. Призначення :keyword:`nonlocal` змінило прив’язку " +"*scope_test*\\ до *спаму*, а призначення :keyword:`global` змінило прив’язку " +"на рівні модуля." + +msgid "" +"You can also see that there was no previous binding for *spam* before the :" +"keyword:`global` assignment." +msgstr "" +"Ви також можете побачити, що не було попереднього зв’язування для *spam* " +"перед призначенням :keyword:`global`." + +msgid "A First Look at Classes" +msgstr "Перший погляд на заняття" + +msgid "" +"Classes introduce a little bit of new syntax, three new object types, and " +"some new semantics." +msgstr "" +"Класи представляють трохи нового синтаксису, три нових типи об’єктів і нову " +"семантику." + +msgid "Class Definition Syntax" +msgstr "Синтаксис визначення класу" + +msgid "The simplest form of class definition looks like this::" +msgstr "Найпростіша форма визначення класу виглядає так:" + +msgid "" +"Class definitions, like function definitions (:keyword:`def` statements) " +"must be executed before they have any effect. (You could conceivably place " +"a class definition in a branch of an :keyword:`if` statement, or inside a " +"function.)" +msgstr "" +"Визначення класів, як і визначення функцій (оператори :keyword:`def`), мають " +"бути виконані, перш ніж вони матимуть будь-який ефект. (Імовірно, ви можете " +"розмістити визначення класу в гілці оператора :keyword:`if` або всередині " +"функції.)" + +msgid "" +"In practice, the statements inside a class definition will usually be " +"function definitions, but other statements are allowed, and sometimes useful " +"--- we'll come back to this later. The function definitions inside a class " +"normally have a peculiar form of argument list, dictated by the calling " +"conventions for methods --- again, this is explained later." +msgstr "" +"На практиці оператори всередині визначення класу зазвичай є визначеннями " +"функцій, але допускаються й інші оператори, іноді корисні --- ми повернемося " +"до цього пізніше. Визначення функції всередині класу зазвичай мають особливу " +"форму списку аргументів, продиктовану умовами виклику методів --- знову ж " +"таки, це пояснюється пізніше." + +msgid "" +"When a class definition is entered, a new namespace is created, and used as " +"the local scope --- thus, all assignments to local variables go into this " +"new namespace. In particular, function definitions bind the name of the new " +"function here." +msgstr "" +"Коли вводиться визначення класу, створюється новий простір імен і " +"використовується як локальна область --- таким чином, усі призначення " +"локальним змінним переходять до цього нового простору імен. Зокрема, " +"визначення функції прив’язують тут назву нової функції." + +msgid "" +"When a class definition is left normally (via the end), a *class object* is " +"created. This is basically a wrapper around the contents of the namespace " +"created by the class definition; we'll learn more about class objects in the " +"next section. The original local scope (the one in effect just before the " +"class definition was entered) is reinstated, and the class object is bound " +"here to the class name given in the class definition header (:class:" +"`ClassName` in the example)." +msgstr "" +"Коли визначення класу залишається звичайним способом (через кінець), " +"створюється *об’єкт класу*. По суті, це оболонка навколо вмісту простору " +"імен, створеного визначенням класу; ми дізнаємось більше про об’єкти класу в " +"наступному розділі. Початкова локальна область (та, що діяла безпосередньо " +"перед тим, як було введено визначення класу) відновлюється, а об’єкт класу " +"прив’язується тут до імені класу, указаного в заголовку визначення класу (:" +"class:`ClassName` у прикладі)." + +msgid "Class Objects" +msgstr "Об'єкти класу" + +msgid "" +"Class objects support two kinds of operations: attribute references and " +"instantiation." +msgstr "" +"Об’єкти класу підтримують два типи операцій: посилання на атрибути та " +"інстанціювання." + +msgid "" +"*Attribute references* use the standard syntax used for all attribute " +"references in Python: ``obj.name``. Valid attribute names are all the names " +"that were in the class's namespace when the class object was created. So, " +"if the class definition looked like this::" +msgstr "" +"*Посилання на атрибути* використовують стандартний синтаксис, який " +"використовується для всіх посилань на атрибути в Python: ``obj.name``. " +"Дійсні імена атрибутів — це всі імена, які були в просторі імен класу під " +"час створення об’єкта класу. Отже, якби визначення класу виглядало так::" + +msgid "" +"then ``MyClass.i`` and ``MyClass.f`` are valid attribute references, " +"returning an integer and a function object, respectively. Class attributes " +"can also be assigned to, so you can change the value of ``MyClass.i`` by " +"assignment. :attr:`__doc__` is also a valid attribute, returning the " +"docstring belonging to the class: ``\"A simple example class\"``." +msgstr "" +"тоді ``MyClass.i`` і ``MyClass.f`` є дійсними посиланнями на атрибути, які " +"повертають ціле число та об’єкт функції відповідно. Атрибути класу також " +"можна призначити, тому ви можете змінити значення ``MyClass.i`` шляхом " +"призначення. :attr:`__doc__` також є дійсним атрибутом, який повертає рядок " +"документації, що належить до класу: ``\"Простий приклад класу\"``." + +msgid "" +"Class *instantiation* uses function notation. Just pretend that the class " +"object is a parameterless function that returns a new instance of the class. " +"For example (assuming the above class)::" +msgstr "" +"Клас *instantiation* використовує нотацію функції. Просто уявіть, що об’єкт " +"класу є функцією без параметрів, яка повертає новий екземпляр класу. " +"Наприклад (припускаючи вищезгаданий клас):" + +msgid "" +"creates a new *instance* of the class and assigns this object to the local " +"variable ``x``." +msgstr "" +"створює новий *примірник* класу та призначає цей об’єкт локальній змінній " +"``x``." + +msgid "" +"The instantiation operation (\"calling\" a class object) creates an empty " +"object. Many classes like to create objects with instances customized to a " +"specific initial state. Therefore a class may define a special method named :" +"meth:`__init__`, like this::" +msgstr "" +"Операція інстанціювання (\"виклик\" об’єкта класу) створює порожній об’єкт. " +"Багато класів люблять створювати об’єкти з екземплярами, налаштованими на " +"певний початковий стан. Тому клас може визначати спеціальний метод під " +"назвою :meth:`__init__`, наприклад:" + +msgid "" +"When a class defines an :meth:`__init__` method, class instantiation " +"automatically invokes :meth:`__init__` for the newly created class " +"instance. So in this example, a new, initialized instance can be obtained " +"by::" +msgstr "" + +msgid "" +"Of course, the :meth:`__init__` method may have arguments for greater " +"flexibility. In that case, arguments given to the class instantiation " +"operator are passed on to :meth:`__init__`. For example, ::" +msgstr "" +"Звичайно, метод :meth:`__init__` може мати аргументи для більшої гнучкості. " +"У цьому випадку аргументи, надані оператору інстанції класу, передаються до :" +"meth:`__init__`. Наприклад, ::" + +msgid "Instance Objects" +msgstr "Об’єкти екземпляра" + +msgid "" +"Now what can we do with instance objects? The only operations understood by " +"instance objects are attribute references. There are two kinds of valid " +"attribute names: data attributes and methods." +msgstr "" +"Тепер що ми можемо робити з об’єктами екземплярів? Єдиними операціями, які " +"розуміють об’єкти екземплярів, є посилання на атрибути. Є два типи дійсних " +"імен атрибутів: атрибути даних і методи." + +msgid "" +"*data attributes* correspond to \"instance variables\" in Smalltalk, and to " +"\"data members\" in C++. Data attributes need not be declared; like local " +"variables, they spring into existence when they are first assigned to. For " +"example, if ``x`` is the instance of :class:`MyClass` created above, the " +"following piece of code will print the value ``16``, without leaving a " +"trace::" +msgstr "" +"*атрибути даних* відповідають \"змінним екземплярів\" у Smalltalk і \"членам " +"даних\" у C++. Атрибути даних не потрібно оголошувати; як і локальні змінні, " +"вони виникають, коли їх вперше призначають. Наприклад, якщо ``x`` є " +"екземпляром :class:`MyClass`, створеним вище, наступний фрагмент коду виведе " +"значення ``16``, не залишаючи слідів::" + +msgid "" +"The other kind of instance attribute reference is a *method*. A method is a " +"function that \"belongs to\" an object. (In Python, the term method is not " +"unique to class instances: other object types can have methods as well. For " +"example, list objects have methods called append, insert, remove, sort, and " +"so on. However, in the following discussion, we'll use the term method " +"exclusively to mean methods of class instance objects, unless explicitly " +"stated otherwise.)" +msgstr "" +"Іншим типом посилання на атрибут екземпляра є *метод*. Метод — це функція, " +"яка \"належить\" об’єкту. (У Python термін метод не є унікальним для " +"екземплярів класу: інші типи об’єктів також можуть мати методи. Наприклад, " +"об’єкти списку мають методи, що називаються додаванням, вставкою, " +"видаленням, сортуванням тощо. Однак у наступному обговоренні, ми будемо " +"використовувати термін метод виключно для позначення методів об’єктів " +"екземпляра класу, якщо явно не вказано інше.)" + +msgid "" +"Valid method names of an instance object depend on its class. By " +"definition, all attributes of a class that are function objects define " +"corresponding methods of its instances. So in our example, ``x.f`` is a " +"valid method reference, since ``MyClass.f`` is a function, but ``x.i`` is " +"not, since ``MyClass.i`` is not. But ``x.f`` is not the same thing as " +"``MyClass.f`` --- it is a *method object*, not a function object." +msgstr "" +"Дійсні імена методів екземпляра об’єкта залежать від його класу. За " +"визначенням, усі атрибути класу, які є функціональними об’єктами, визначають " +"відповідні методи його екземплярів. Отже, у нашому прикладі ``x.f`` є " +"дійсним посиланням на метод, оскільки ``MyClass.f`` є функцією, але ``x.i`` " +"ні, оскільки ``MyClass.i`` не є таким. Але ``x.f`` — це не те саме, що " +"``MyClass.f`` --- це *об’єкт методу*, а не об’єкт функції." + +msgid "Method Objects" +msgstr "Об’єкти методу" + +msgid "Usually, a method is called right after it is bound::" +msgstr "Зазвичай метод викликається одразу після його зв’язування::" + +msgid "" +"In the :class:`MyClass` example, this will return the string ``'hello " +"world'``. However, it is not necessary to call a method right away: ``x.f`` " +"is a method object, and can be stored away and called at a later time. For " +"example::" +msgstr "" +"У прикладі :class:`MyClass` це поверне рядок ``'hello world'``. Однак не " +"обов’язково викликати метод одразу: ``x.f`` є об’єктом методу, його можна " +"зберегти та викликати пізніше. Наприклад::" + +msgid "will continue to print ``hello world`` until the end of time." +msgstr "продовжуватиме друкувати ``hello world`` до кінця часу." + +msgid "" +"What exactly happens when a method is called? You may have noticed that ``x." +"f()`` was called without an argument above, even though the function " +"definition for :meth:`f` specified an argument. What happened to the " +"argument? Surely Python raises an exception when a function that requires an " +"argument is called without any --- even if the argument isn't actually " +"used..." +msgstr "" +"Що саме відбувається під час виклику методу? Можливо, ви помітили, що ``x." +"f()`` було викликано без аргументу вище, навіть якщо визначення функції для :" +"meth:`f` вказало аргумент. Що сталося з суперечкою? Звичайно, Python створює " +"виняток, коли функція, яка вимагає аргументу, викликається без будь-якого " +"--- навіть якщо аргумент насправді не використовується..." + +msgid "" +"Actually, you may have guessed the answer: the special thing about methods " +"is that the instance object is passed as the first argument of the " +"function. In our example, the call ``x.f()`` is exactly equivalent to " +"``MyClass.f(x)``. In general, calling a method with a list of *n* arguments " +"is equivalent to calling the corresponding function with an argument list " +"that is created by inserting the method's instance object before the first " +"argument." +msgstr "" +"Насправді, ви, можливо, здогадалися відповідь: особливість методів полягає в " +"тому, що об’єкт екземпляра передається як перший аргумент функції. У нашому " +"прикладі виклик ``x.f()`` точно еквівалентний ``MyClass.f(x)``. Загалом, " +"виклик методу зі списком *n* аргументів еквівалентний виклику відповідної " +"функції зі списком аргументів, який створюється шляхом вставки об’єкта " +"екземпляра методу перед першим аргументом." + +msgid "" +"If you still don't understand how methods work, a look at the implementation " +"can perhaps clarify matters. When a non-data attribute of an instance is " +"referenced, the instance's class is searched. If the name denotes a valid " +"class attribute that is a function object, a method object is created by " +"packing (pointers to) the instance object and the function object just found " +"together in an abstract object: this is the method object. When the method " +"object is called with an argument list, a new argument list is constructed " +"from the instance object and the argument list, and the function object is " +"called with this new argument list." +msgstr "" +"Якщо ви все ще не розумієте, як працюють методи, погляд на реалізацію може " +"прояснити ситуацію. Коли посилається на атрибут екземпляра, що не є даними, " +"виконується пошук у класі екземпляра. Якщо ім’я вказує на дійсний атрибут " +"класу, який є об’єктом функції, об’єкт методу створюється шляхом упаковки " +"(вказівників на) об’єкта екземпляра та об’єкта функції, щойно знайдених " +"разом в абстрактному об’єкті: це об’єкт методу. Коли об’єкт методу " +"викликається зі списком аргументів, новий список аргументів створюється з " +"об’єкта екземпляра та списку аргументів, а об’єкт функції викликається з цим " +"новим списком аргументів." + +msgid "Class and Instance Variables" +msgstr "Змінні класу та екземпляра" + +msgid "" +"Generally speaking, instance variables are for data unique to each instance " +"and class variables are for attributes and methods shared by all instances " +"of the class::" +msgstr "" +"Загалом, змінні екземпляра призначені для даних, унікальних для кожного " +"екземпляра, а змінні класу призначені для атрибутів і методів, спільних для " +"всіх екземплярів класу::" + +msgid "" +"As discussed in :ref:`tut-object`, shared data can have possibly surprising " +"effects with involving :term:`mutable` objects such as lists and " +"dictionaries. For example, the *tricks* list in the following code should " +"not be used as a class variable because just a single list would be shared " +"by all *Dog* instances::" +msgstr "" +"Як обговорювалося в :ref:`tut-object`, спільні дані можуть мати несподіваний " +"ефект із залученням :term:`mutable` об’єктів, таких як списки та словники. " +"Наприклад, список *tricks* у наступному коді не слід використовувати як " +"змінну класу, тому що лише один список буде спільний для всіх екземплярів " +"*Dog*::" + +msgid "Correct design of the class should use an instance variable instead::" +msgstr "" +"Правильний дизайн класу повинен використовувати замість змінної екземпляра::" + +msgid "Random Remarks" +msgstr "Випадкові зауваження" + +msgid "" +"If the same attribute name occurs in both an instance and in a class, then " +"attribute lookup prioritizes the instance::" +msgstr "" +"Якщо однакове ім’я атрибута зустрічається як в екземплярі, так і в класі, " +"пошук атрибутів визначає пріоритет екземпляру::" + +msgid "" +"Data attributes may be referenced by methods as well as by ordinary users " +"(\"clients\") of an object. In other words, classes are not usable to " +"implement pure abstract data types. In fact, nothing in Python makes it " +"possible to enforce data hiding --- it is all based upon convention. (On " +"the other hand, the Python implementation, written in C, can completely hide " +"implementation details and control access to an object if necessary; this " +"can be used by extensions to Python written in C.)" +msgstr "" +"На атрибути даних можуть посилатися як методи, так і звичайні користувачі " +"(\"клієнти\") об'єкта. Іншими словами, класи не можна використовувати для " +"реалізації чистих абстрактних типів даних. Фактично, ніщо в Python не " +"дозволяє примусово приховувати дані --- все базується на конвенції. (З " +"іншого боку, реалізація Python, написана мовою C, може повністю приховати " +"деталі реалізації та контролювати доступ до об’єкта, якщо це необхідно; це " +"можна використовувати розширеннями Python, написаними мовою C.)" + +msgid "" +"Clients should use data attributes with care --- clients may mess up " +"invariants maintained by the methods by stamping on their data attributes. " +"Note that clients may add data attributes of their own to an instance object " +"without affecting the validity of the methods, as long as name conflicts are " +"avoided --- again, a naming convention can save a lot of headaches here." +msgstr "" +"Клієнти повинні використовувати атрибути даних обережно --- клієнти можуть " +"зіпсувати інваріанти, які підтримуються методами, штампуючи свої атрибути " +"даних. Зауважте, що клієнти можуть додавати власні атрибути даних до об’єкта " +"екземпляра, не впливаючи на валідність методів, за умови уникнення " +"конфліктів імен --- знову ж таки, угода про іменування може позбавити тут " +"багато головного болю." + +msgid "" +"There is no shorthand for referencing data attributes (or other methods!) " +"from within methods. I find that this actually increases the readability of " +"methods: there is no chance of confusing local variables and instance " +"variables when glancing through a method." +msgstr "" +"Не існує скорочення для посилання на атрибути даних (або інші методи!) з " +"методів. Я вважаю, що це фактично підвищує читабельність методів: немає " +"жодного шансу сплутати локальні змінні та змінні екземпляра під час " +"перегляду методу." + +msgid "" +"Often, the first argument of a method is called ``self``. This is nothing " +"more than a convention: the name ``self`` has absolutely no special meaning " +"to Python. Note, however, that by not following the convention your code " +"may be less readable to other Python programmers, and it is also conceivable " +"that a *class browser* program might be written that relies upon such a " +"convention." +msgstr "" +"Часто перший аргумент методу називається ``self``. Це не що інше, як " +"конвенція: назва ``self`` не має абсолютно ніякого особливого значення для " +"Python. Зауважте, однак, що через недотримання угоди ваш код може бути менш " +"читабельним для інших програмістів на Python, і також можливо, що програма " +"*браузера класів* може бути написана, яка спирається на таку угоду." + +msgid "" +"Any function object that is a class attribute defines a method for instances " +"of that class. It is not necessary that the function definition is " +"textually enclosed in the class definition: assigning a function object to a " +"local variable in the class is also ok. For example::" +msgstr "" +"Будь-який функціональний об’єкт, який є атрибутом класу, визначає метод для " +"екземплярів цього класу. Не обов’язково, щоб визначення функції було " +"текстово укладено у визначення класу: присвоєння об’єкта функції локальній " +"змінній у класі також є нормальним. Наприклад::" + +msgid "" +"Now ``f``, ``g`` and ``h`` are all attributes of class :class:`C` that refer " +"to function objects, and consequently they are all methods of instances of :" +"class:`C` --- ``h`` being exactly equivalent to ``g``. Note that this " +"practice usually only serves to confuse the reader of a program." +msgstr "" +"Тепер ``f``, ``g`` і ``h`` — усі атрибути класу :class:`C`, які посилаються " +"на функціональні об’єкти, і, отже, всі вони є методами екземплярів :class:" +"`C` --- ``h`` є точним еквівалентом ``g``. Зауважте, що ця практика зазвичай " +"служить лише для того, щоб заплутати читача програми." + +msgid "" +"Methods may call other methods by using method attributes of the ``self`` " +"argument::" +msgstr "" +"Методи можуть викликати інші методи, використовуючи атрибути методу " +"аргументу ``self``::" + +msgid "" +"Methods may reference global names in the same way as ordinary functions. " +"The global scope associated with a method is the module containing its " +"definition. (A class is never used as a global scope.) While one rarely " +"encounters a good reason for using global data in a method, there are many " +"legitimate uses of the global scope: for one thing, functions and modules " +"imported into the global scope can be used by methods, as well as functions " +"and classes defined in it. Usually, the class containing the method is " +"itself defined in this global scope, and in the next section we'll find some " +"good reasons why a method would want to reference its own class." +msgstr "" +"Методи можуть посилатися на глобальні імена так само, як і звичайні функції. " +"Глобальною областю, пов’язаною з методом, є модуль, що містить його " +"визначення. (Клас ніколи не використовується як глобальна область " +"видимості.) Хоча рідко можна зустріти вагому причину для використання " +"глобальних даних у методі, існує багато законних застосувань глобальної " +"області видимості: з одного боку, функції та модулі, імпортовані в глобальну " +"область видимості, можуть використовуватися методами, а також функціями та " +"класами, визначеними в ньому. Зазвичай клас, що містить метод, сам " +"визначений у цій глобальній області видимості, і в наступному розділі ми " +"знайдемо кілька вагомих причин, чому метод хоче посилатися на власний клас." + +msgid "" +"Each value is an object, and therefore has a *class* (also called its " +"*type*). It is stored as ``object.__class__``." +msgstr "" +"Кожне значення є об’єктом і, отже, має *клас* (також називається його " +"*типом*). Він зберігається як ``object.__class__``." + +msgid "Inheritance" +msgstr "Спадщина" + +msgid "" +"Of course, a language feature would not be worthy of the name \"class\" " +"without supporting inheritance. The syntax for a derived class definition " +"looks like this::" +msgstr "" +"Звичайно, функція мови не була б гідною назви \"клас\" без підтримки " +"успадкування. Синтаксис для визначення похідного класу виглядає так:" + +msgid "" +"The name :class:`BaseClassName` must be defined in a scope containing the " +"derived class definition. In place of a base class name, other arbitrary " +"expressions are also allowed. This can be useful, for example, when the " +"base class is defined in another module::" +msgstr "" +"Ім’я :class:`BaseClassName` має бути визначено в області, що містить " +"визначення похідного класу. Замість назви базового класу також допускаються " +"інші довільні вирази. Це може бути корисно, наприклад, коли базовий клас " +"визначено в іншому модулі:" + +msgid "" +"Execution of a derived class definition proceeds the same as for a base " +"class. When the class object is constructed, the base class is remembered. " +"This is used for resolving attribute references: if a requested attribute is " +"not found in the class, the search proceeds to look in the base class. This " +"rule is applied recursively if the base class itself is derived from some " +"other class." +msgstr "" +"Виконання визначення похідного класу відбувається так само, як і для " +"базового класу. Коли об'єкт класу створено, базовий клас запам'ятовується. " +"Це використовується для вирішення посилань на атрибути: якщо запитуваний " +"атрибут не знайдено в класі, пошук продовжується до базового класу. Це " +"правило застосовується рекурсивно, якщо сам базовий клас є похідним від " +"якогось іншого класу." + +msgid "" +"There's nothing special about instantiation of derived classes: " +"``DerivedClassName()`` creates a new instance of the class. Method " +"references are resolved as follows: the corresponding class attribute is " +"searched, descending down the chain of base classes if necessary, and the " +"method reference is valid if this yields a function object." +msgstr "" +"У створенні похідних класів немає нічого особливого: ``DerivedClassName()`` " +"створює новий екземпляр класу. Посилання на метод розв’язуються наступним " +"чином: виконується пошук відповідного атрибута класу, спускаючись вниз по " +"ланцюжку базових класів, якщо необхідно, і посилання на метод є дійсним, " +"якщо це дає об’єкт функції." + +msgid "" +"Derived classes may override methods of their base classes. Because methods " +"have no special privileges when calling other methods of the same object, a " +"method of a base class that calls another method defined in the same base " +"class may end up calling a method of a derived class that overrides it. " +"(For C++ programmers: all methods in Python are effectively ``virtual``.)" +msgstr "" +"Похідні класи можуть перевизначати методи своїх базових класів. Оскільки " +"методи не мають спеціальних привілеїв під час виклику інших методів того " +"самого об’єкта, метод базового класу, який викликає інший метод, визначений " +"у тому самому базовому класі, може призвести до виклику методу похідного " +"класу, який замінює його. (Для програмістів C++: усі методи в Python " +"фактично \"віртуальні\".)" + +msgid "" +"An overriding method in a derived class may in fact want to extend rather " +"than simply replace the base class method of the same name. There is a " +"simple way to call the base class method directly: just call ``BaseClassName." +"methodname(self, arguments)``. This is occasionally useful to clients as " +"well. (Note that this only works if the base class is accessible as " +"``BaseClassName`` in the global scope.)" +msgstr "" +"Перевизначений метод у похідному класі може фактично захотіти розширити, а " +"не просто замінити однойменний метод базового класу. Існує простий спосіб " +"безпосередньо викликати метод базового класу: просто викличте " +"``BaseClassName.methodname(self, arguments)``. Це також іноді корисно для " +"клієнтів. (Зауважте, що це працює, лише якщо базовий клас доступний як " +"``BaseClassName`` у глобальній області.)" + +msgid "Python has two built-in functions that work with inheritance:" +msgstr "Python має дві вбудовані функції, які працюють із успадкуванням:" + +msgid "" +"Use :func:`isinstance` to check an instance's type: ``isinstance(obj, int)`` " +"will be ``True`` only if ``obj.__class__`` is :class:`int` or some class " +"derived from :class:`int`." +msgstr "" +"Використовуйте :func:`isinstance`, щоб перевірити тип екземпляра: " +"``isinstance(obj, int)`` буде ``True`` лише якщо ``obj.__class__`` є :class:" +"`int` або якийсь похідний клас з :class:`int`." + +msgid "" +"Use :func:`issubclass` to check class inheritance: ``issubclass(bool, int)`` " +"is ``True`` since :class:`bool` is a subclass of :class:`int`. However, " +"``issubclass(float, int)`` is ``False`` since :class:`float` is not a " +"subclass of :class:`int`." +msgstr "" +"Використовуйте :func:`issubclass`, щоб перевірити успадкування класу: " +"``issubclass(bool, int)`` має значення ``True``, оскільки :class:`bool` є " +"підкласом :class:`int`. Однак ``issubclass(float, int)`` є ``False``, " +"оскільки :class:`float` не є підкласом :class:`int`." + +msgid "Multiple Inheritance" +msgstr "Множинне успадкування" + +msgid "" +"Python supports a form of multiple inheritance as well. A class definition " +"with multiple base classes looks like this::" +msgstr "" +"Python також підтримує форму множинного успадкування. Визначення класу з " +"кількома базовими класами виглядає так:" + +msgid "" +"For most purposes, in the simplest cases, you can think of the search for " +"attributes inherited from a parent class as depth-first, left-to-right, not " +"searching twice in the same class where there is an overlap in the " +"hierarchy. Thus, if an attribute is not found in :class:`DerivedClassName`, " +"it is searched for in :class:`Base1`, then (recursively) in the base classes " +"of :class:`Base1`, and if it was not found there, it was searched for in :" +"class:`Base2`, and so on." +msgstr "" +"Для більшості цілей, у найпростіших випадках, ви можете думати про пошук " +"атрибутів, успадкованих від батьківського класу, як про пошук у глибину, " +"зліва направо, а не пошук двічі в тому самому класі, де є перекриття в " +"ієрархії. Таким чином, якщо атрибут не знайдено в :class:`DerivedClassName`, " +"він шукається в :class:`Base1`, потім (рекурсивно) в базових класах :class:" +"`Base1`, а якщо він не знайдений там його шукали в :class:`Base2` і так далі." + +msgid "" +"In fact, it is slightly more complex than that; the method resolution order " +"changes dynamically to support cooperative calls to :func:`super`. This " +"approach is known in some other multiple-inheritance languages as call-next-" +"method and is more powerful than the super call found in single-inheritance " +"languages." +msgstr "" +"Насправді це трохи складніше; порядок вирішення методів динамічно змінюється " +"для підтримки кооперативних викликів :func:`super`. Цей підхід відомий у " +"деяких інших мовах із множинним успадкуванням як call-next-method і є " +"потужнішим, ніж супервиклик у мовах з одним успадкуванням." + +msgid "" +"Dynamic ordering is necessary because all cases of multiple inheritance " +"exhibit one or more diamond relationships (where at least one of the parent " +"classes can be accessed through multiple paths from the bottommost class). " +"For example, all classes inherit from :class:`object`, so any case of " +"multiple inheritance provides more than one path to reach :class:`object`. " +"To keep the base classes from being accessed more than once, the dynamic " +"algorithm linearizes the search order in a way that preserves the left-to-" +"right ordering specified in each class, that calls each parent only once, " +"and that is monotonic (meaning that a class can be subclassed without " +"affecting the precedence order of its parents). Taken together, these " +"properties make it possible to design reliable and extensible classes with " +"multiple inheritance. For more detail, see https://www.python.org/download/" +"releases/2.3/mro/." +msgstr "" +"Динамічне впорядкування є необхідним, тому що всі випадки множинного " +"успадкування демонструють один або більше ромбоподібних зв’язків (де " +"принаймні до одного з батьківських класів можна отримати доступ через кілька " +"шляхів із найнижчого класу). Наприклад, усі класи успадковуються від :class:" +"`object`, тому будь-який випадок множинного успадкування забезпечує більше " +"ніж один шлях для досягнення :class:`object`. Щоб запобігти повторному " +"доступу до базових класів, динамічний алгоритм лінеаризує порядок пошуку " +"таким чином, що зберігає порядок зліва направо, визначений у кожному класі, " +"що викликає кожного батьківського елемента лише один раз, і це є монотонним " +"(це означає, що клас може бути підкласом, не впливаючи на порядок пріоритету " +"його батьків). У сукупності ці властивості дозволяють створювати надійні та " +"розширювані класи з множинним успадкуванням. Для отримання додаткової " +"інформації див. https://www.python.org/download/releases/2.3/mro/." + +msgid "Private Variables" +msgstr "Приватні змінні" + +msgid "" +"\"Private\" instance variables that cannot be accessed except from inside an " +"object don't exist in Python. However, there is a convention that is " +"followed by most Python code: a name prefixed with an underscore (e.g. " +"``_spam``) should be treated as a non-public part of the API (whether it is " +"a function, a method or a data member). It should be considered an " +"implementation detail and subject to change without notice." +msgstr "" +"\"Приватні\" змінні екземпляра, до яких можна отримати доступ лише зсередини " +"об’єкта, не існують у Python. Проте існує конвенція, якої дотримується " +"більшість коду Python: ім’я з префіксом підкреслення (наприклад, ``_spam``) " +"має розглядатися як непублічна частина API (незалежно від того, чи це " +"функція, метод чи член даних). Це слід розглядати як деталь впровадження та " +"може бути змінено без попередження." + +msgid "" +"Since there is a valid use-case for class-private members (namely to avoid " +"name clashes of names with names defined by subclasses), there is limited " +"support for such a mechanism, called :dfn:`name mangling`. Any identifier " +"of the form ``__spam`` (at least two leading underscores, at most one " +"trailing underscore) is textually replaced with ``_classname__spam``, where " +"``classname`` is the current class name with leading underscore(s) " +"stripped. This mangling is done without regard to the syntactic position of " +"the identifier, as long as it occurs within the definition of a class." +msgstr "" +"Оскільки існує дійсний варіант використання для приватних членів класу (а " +"саме, щоб уникнути зіткнень імен імен з іменами, визначеними підкласами), " +"існує обмежена підтримка такого механізму, що називається :dfn:`name " +"mangling`. Будь-який ідентифікатор у формі ``__spam`` (принаймні два символи " +"підкреслення на початку, не більше одного символу підкреслення в кінці) " +"текстово замінюється на ``_classname__spam``, де ``classname`` є поточною " +"назвою класу з підкресленням на початку оголений. Це спотворення виконується " +"без урахування синтаксичної позиції ідентифікатора, доки воно трапляється у " +"визначенні класу." + +msgid "" +"Name mangling is helpful for letting subclasses override methods without " +"breaking intraclass method calls. For example::" +msgstr "" +"Викривлення імен корисне для того, щоб дозволити підкласам перевизначати " +"методи, не порушуючи виклики внутрішньокласових методів. Наприклад::" + +msgid "" +"The above example would work even if ``MappingSubclass`` were to introduce a " +"``__update`` identifier since it is replaced with ``_Mapping__update`` in " +"the ``Mapping`` class and ``_MappingSubclass__update`` in the " +"``MappingSubclass`` class respectively." +msgstr "" +"Наведений вище приклад працював би, навіть якби ``MappingSubclass`` вводив " +"ідентифікатор ``__update``, оскільки він замінений на ``_Mapping__update`` у " +"``Mapping`` класі ``_MappingSubclass__update`` у ``Клас MappingSubclass`` " +"відповідно." + +msgid "" +"Note that the mangling rules are designed mostly to avoid accidents; it " +"still is possible to access or modify a variable that is considered " +"private. This can even be useful in special circumstances, such as in the " +"debugger." +msgstr "" +"Зауважте, що правила псування призначені здебільшого для уникнення нещасних " +"випадків; все ще можна отримати доступ або змінити змінну, яка вважається " +"приватною. Це навіть може бути корисним за особливих обставин, наприклад, у " +"налагоджувачі." + +msgid "" +"Notice that code passed to ``exec()`` or ``eval()`` does not consider the " +"classname of the invoking class to be the current class; this is similar to " +"the effect of the ``global`` statement, the effect of which is likewise " +"restricted to code that is byte-compiled together. The same restriction " +"applies to ``getattr()``, ``setattr()`` and ``delattr()``, as well as when " +"referencing ``__dict__`` directly." +msgstr "" +"Зауважте, що код, переданий у ``exec()`` або ``eval()``, не вважає назву " +"класу викликаного класу поточним класом; це схоже на дію оператора " +"``global``, дія якого так само обмежена кодом, який скомпільовано разом. Те " +"саме обмеження стосується getattr(), setattr() і delattr(), а також прямого " +"посилання на __dict__." + +msgid "Odds and Ends" +msgstr "Обривки" + +msgid "" +"Sometimes it is useful to have a data type similar to the Pascal \"record\" " +"or C \"struct\", bundling together a few named data items. An empty class " +"definition will do nicely::" +msgstr "" +"Іноді корисно мати тип даних, схожий на Pascal \"record\" або C \"struct\", " +"об'єднуючи кілька іменованих елементів даних. Порожнє визначення класу " +"підійде:" + +msgid "" +"A piece of Python code that expects a particular abstract data type can " +"often be passed a class that emulates the methods of that data type " +"instead. For instance, if you have a function that formats some data from a " +"file object, you can define a class with methods :meth:`read` and :meth:`!" +"readline` that get the data from a string buffer instead, and pass it as an " +"argument." +msgstr "" +"Фрагмент коду Python, який очікує певний абстрактний тип даних, часто можна " +"передати класу, який емулює методи цього типу даних. Наприклад, якщо у вас є " +"функція, яка форматує деякі дані з файлового об’єкта, ви можете визначити " +"клас за допомогою методів :meth:`read` і :meth:`!readline`, які натомість " +"отримують дані з рядкового буфера та передають це як аргумент." + +msgid "" +"Instance method objects have attributes, too: ``m.__self__`` is the instance " +"object with the method :meth:`m`, and ``m.__func__`` is the function object " +"corresponding to the method." +msgstr "" +"Об’єкти методів екземплярів також мають атрибути: ``m.__self__`` — об’єкт " +"екземпляра з методом :meth:`m`, а ``m.__func__`` — об’єкт функції, що " +"відповідає методу." + +msgid "Iterators" +msgstr "Ітератори" + +msgid "" +"By now you have probably noticed that most container objects can be looped " +"over using a :keyword:`for` statement::" +msgstr "" +"Наразі ви, мабуть, помітили, що більшість об’єктів-контейнерів можна " +"зациклювати за допомогою оператора :keyword:`for`::" + +msgid "" +"This style of access is clear, concise, and convenient. The use of " +"iterators pervades and unifies Python. Behind the scenes, the :keyword:" +"`for` statement calls :func:`iter` on the container object. The function " +"returns an iterator object that defines the method :meth:`~iterator." +"__next__` which accesses elements in the container one at a time. When " +"there are no more elements, :meth:`~iterator.__next__` raises a :exc:" +"`StopIteration` exception which tells the :keyword:`!for` loop to " +"terminate. You can call the :meth:`~iterator.__next__` method using the :" +"func:`next` built-in function; this example shows how it all works::" +msgstr "" +"Цей стиль доступу є зрозумілим, лаконічним і зручним. Використання " +"ітераторів пронизує й уніфікує Python. За лаштунками оператор :keyword:`for` " +"викликає :func:`iter` об’єкта контейнера. Функція повертає об’єкт-ітератор, " +"який визначає метод :meth:`~iterator.__next__`, який отримує доступ до " +"елементів у контейнері по одному. Коли елементів більше немає, :meth:" +"`~iterator.__next__` викликає виняток :exc:`StopIteration`, який повідомляє " +"циклу :keyword:`!for` про завершення. Ви можете викликати метод :meth:" +"`~iterator.__next__` за допомогою вбудованої функції :func:`next`; цей " +"приклад показує, як це все працює:" + +msgid "" +"Having seen the mechanics behind the iterator protocol, it is easy to add " +"iterator behavior to your classes. Define an :meth:`__iter__` method which " +"returns an object with a :meth:`~iterator.__next__` method. If the class " +"defines :meth:`__next__`, then :meth:`__iter__` can just return ``self``::" +msgstr "" +"Побачивши механіку протоколу ітератора, можна легко додати поведінку " +"ітератора до своїх класів. Визначте метод :meth:`__iter__`, який повертає " +"об’єкт за допомогою методу :meth:`~iterator.__next__`. Якщо клас визначає :" +"meth:`__next__`, тоді :meth:`__iter__` може просто повернути ``self``::" + +msgid "Generators" +msgstr "Генератори" + +msgid "" +":term:`Generators ` are a simple and powerful tool for creating " +"iterators. They are written like regular functions but use the :keyword:" +"`yield` statement whenever they want to return data. Each time :func:`next` " +"is called on it, the generator resumes where it left off (it remembers all " +"the data values and which statement was last executed). An example shows " +"that generators can be trivially easy to create::" +msgstr "" +":term:`Generators ` — простий і потужний інструмент для створення " +"ітераторів. Вони написані як звичайні функції, але використовують оператор :" +"keyword:`yield`, коли вони хочуть повернути дані. Кожного разу, коли на " +"ньому викликається :func:`next`, генератор продовжує роботу з того місця, де " +"зупинився (він запам’ятовує всі значення даних і який оператор був виконаний " +"останнім). Приклад показує, що генератори можна тривіально легко створити:" + +msgid "" +"Anything that can be done with generators can also be done with class-based " +"iterators as described in the previous section. What makes generators so " +"compact is that the :meth:`__iter__` and :meth:`~generator.__next__` methods " +"are created automatically." +msgstr "" +"Усе, що можна зробити за допомогою генераторів, також можна зробити за " +"допомогою ітераторів на основі класів, як описано в попередньому розділі. Що " +"робить генератори такими компактними, так це те, що методи :meth:`__iter__` " +"і :meth:`~generator.__next__` створюються автоматично." + +msgid "" +"Another key feature is that the local variables and execution state are " +"automatically saved between calls. This made the function easier to write " +"and much more clear than an approach using instance variables like ``self." +"index`` and ``self.data``." +msgstr "" +"Інша ключова особливість полягає в тому, що локальні змінні та стан " +"виконання автоматично зберігаються між викликами. Це зробило функцію легшою " +"для написання та набагато зрозумілішою, ніж підхід із використанням змінних " +"екземплярів, таких як ``self.index`` і ``self.data``." + +msgid "" +"In addition to automatic method creation and saving program state, when " +"generators terminate, they automatically raise :exc:`StopIteration`. In " +"combination, these features make it easy to create iterators with no more " +"effort than writing a regular function." +msgstr "" +"На додаток до автоматичного створення методу та збереження стану програми, " +"коли генератори завершуються, вони автоматично викликають :exc:" +"`StopIteration`. У поєднанні ці функції дозволяють легко створювати " +"ітератори без зусиль, ніж написання звичайної функції." + +msgid "Generator Expressions" +msgstr "Генератор виразів" + +msgid "" +"Some simple generators can be coded succinctly as expressions using a syntax " +"similar to list comprehensions but with parentheses instead of square " +"brackets. These expressions are designed for situations where the generator " +"is used right away by an enclosing function. Generator expressions are more " +"compact but less versatile than full generator definitions and tend to be " +"more memory friendly than equivalent list comprehensions." +msgstr "" +"Деякі прості генератори можна коротко закодувати як вирази за допомогою " +"синтаксису, схожого на розуміння списків, але з круглими дужками замість " +"квадратних. Ці вирази розроблені для ситуацій, коли генератор " +"використовується одразу функцією охоплення. Вирази генератора є більш " +"компактними, але менш універсальними, ніж повні визначення генераторів, і, " +"як правило, більш зручні для пам’яті, ніж еквівалентні списки." + +msgid "Examples::" +msgstr "Приклади::" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Except for one thing. Module objects have a secret read-only attribute " +"called :attr:`~object.__dict__` which returns the dictionary used to " +"implement the module's namespace; the name :attr:`~object.__dict__` is an " +"attribute but not a global name. Obviously, using this violates the " +"abstraction of namespace implementation, and should be restricted to things " +"like post-mortem debuggers." +msgstr "" +"За винятком одного. Об’єкти модуля мають секретний атрибут лише для читання " +"під назвою :attr:`~object.__dict__`, який повертає словник, використаний для " +"реалізації простору імен модуля; ім'я :attr:`~object.__dict__` є атрибутом, " +"але не глобальним іменем. Очевидно, що використання цього порушує абстракцію " +"реалізації простору імен, і його слід обмежити такими речами, як посмертні " +"відладчики." diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po new file mode 100644 index 000000000..c5e2e0a88 --- /dev/null +++ b/tutorial/controlflow.po @@ -0,0 +1,1194 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "More Control Flow Tools" +msgstr "Більше інструментів керування потоком" + +msgid "" +"Besides the :keyword:`while` statement just introduced, Python uses the " +"usual flow control statements known from other languages, with some twists." +msgstr "" +"Окрім щойно представленого оператора :keyword:`while`, Python використовує " +"звичайні оператори керування потоком, відомі з інших мов, з деякими нюансами." + +msgid ":keyword:`!if` Statements" +msgstr ":keyword:`!if` Інструкції" + +msgid "" +"Perhaps the most well-known statement type is the :keyword:`if` statement. " +"For example::" +msgstr "" +"Мабуть, найвідомішим типом операторів є оператор :keyword:`if`. Наприклад::" + +msgid "" +"There can be zero or more :keyword:`elif` parts, and the :keyword:`else` " +"part is optional. The keyword ':keyword:`!elif`' is short for 'else if', " +"and is useful to avoid excessive indentation. An :keyword:`!if` ... :" +"keyword:`!elif` ... :keyword:`!elif` ... sequence is a substitute for the " +"``switch`` or ``case`` statements found in other languages." +msgstr "" +"Частин :keyword:`elif` може бути нуль або більше, а частина :keyword:`else` " +"необов’язкова. Ключове слово ':keyword:`!elif`' є скороченням від 'else if' " +"і корисне, щоб уникнути надмірних відступів. Послідовність :keyword:`!" +"if` ... :keyword:`!elif` ... :keyword:`!elif` ... є заміною знайдених " +"операторів ``switch`` або ``case`` іншими мовами." + +msgid "" +"If you're comparing the same value to several constants, or checking for " +"specific types or attributes, you may also find the :keyword:`!match` " +"statement useful. For more details see :ref:`tut-match`." +msgstr "" +"Якщо ви порівнюєте те саме значення з декількома константами або перевіряєте " +"певні типи чи атрибути, вам також може бути корисним оператор :keyword:`!" +"match`. Детальніше див. :ref:`tut-match`." + +msgid ":keyword:`!for` Statements" +msgstr ":keyword:`!for` Заяви" + +msgid "" +"The :keyword:`for` statement in Python differs a bit from what you may be " +"used to in C or Pascal. Rather than always iterating over an arithmetic " +"progression of numbers (like in Pascal), or giving the user the ability to " +"define both the iteration step and halting condition (as C), Python's :" +"keyword:`!for` statement iterates over the items of any sequence (a list or " +"a string), in the order that they appear in the sequence. For example (no " +"pun intended):" +msgstr "" +"Оператор :keyword:`for` у Python дещо відрізняється від того, до чого ви " +"звикли в C або Pascal. Замість того, щоб завжди повторювати арифметичну " +"прогресію чисел (як у Паскалі) або давати користувачеві можливість визначати " +"крок ітерації та умову зупинки (як C), оператор Python :keyword:`!for` " +"повторює елементи будь-яка послідовність (список або рядок) у тому порядку, " +"в якому вони з’являються в послідовності. Наприклад (без каламбуру):" + +msgid "" +"Code that modifies a collection while iterating over that same collection " +"can be tricky to get right. Instead, it is usually more straight-forward to " +"loop over a copy of the collection or to create a new collection::" +msgstr "" +"Код, який змінює колекцію під час ітерації над цією ж колекцією, може бути " +"складним для правильного визначення. Замість цього зазвичай простіше " +"виконати цикл по копії колекції або створити нову колекцію:" + +msgid "The :func:`range` Function" +msgstr "Функція :func:`range`" + +msgid "" +"If you do need to iterate over a sequence of numbers, the built-in function :" +"func:`range` comes in handy. It generates arithmetic progressions::" +msgstr "" +"Якщо вам все-таки потрібно виконати ітерацію по послідовності чисел, стане в " +"нагоді вбудована функція :func:`range`. Він створює арифметичні прогресії:" + +msgid "" +"The given end point is never part of the generated sequence; ``range(10)`` " +"generates 10 values, the legal indices for items of a sequence of length " +"10. It is possible to let the range start at another number, or to specify " +"a different increment (even negative; sometimes this is called the 'step')::" +msgstr "" +"Дана кінцева точка ніколи не є частиною згенерованої послідовності; " +"``range(10)`` генерує 10 значень, законних індексів для елементів " +"послідовності довжиною 10. Можна дозволити діапазону починатися з іншого " +"числа або вказати інший крок (навіть від’ємний; іноді це називається \"крок" +"\")::" + +msgid "" +"To iterate over the indices of a sequence, you can combine :func:`range` " +"and :func:`len` as follows::" +msgstr "" +"Щоб перебирати індекси послідовності, ви можете поєднати :func:`range` і :" +"func:`len` таким чином:" + +msgid "" +"In most such cases, however, it is convenient to use the :func:`enumerate` " +"function, see :ref:`tut-loopidioms`." +msgstr "" +"Однак у більшості таких випадків зручно використовувати функцію :func:" +"`enumerate`, див. :ref:`tut-loopidioms`." + +msgid "A strange thing happens if you just print a range::" +msgstr "Дивна річ трапляється, якщо ви просто друкуєте діапазон::" + +msgid "" +"In many ways the object returned by :func:`range` behaves as if it is a " +"list, but in fact it isn't. It is an object which returns the successive " +"items of the desired sequence when you iterate over it, but it doesn't " +"really make the list, thus saving space." +msgstr "" +"Багато в чому об’єкт, який повертає :func:`range`, поводиться так, ніби це " +"список, але насправді це не так. Це об’єкт, який повертає послідовні " +"елементи потрібної послідовності, коли ви перебираєте його, але насправді " +"він не входить до списку, таким чином економлячи місце." + +msgid "" +"We say such an object is :term:`iterable`, that is, suitable as a target for " +"functions and constructs that expect something from which they can obtain " +"successive items until the supply is exhausted. We have seen that the :" +"keyword:`for` statement is such a construct, while an example of a function " +"that takes an iterable is :func:`sum`::" +msgstr "" +"Ми кажемо, що такий об’єкт є :term:`iterable`, тобто придатним як ціль для " +"функцій і конструкцій, які очікують чогось, з чого вони можуть отримувати " +"послідовні елементи, доки запас не буде вичерпано. Ми бачили, що оператор :" +"keyword:`for` є такою конструкцією, тоді як прикладом функції, яка приймає " +"ітерований елемент, є :func:`sum`::" + +msgid "" +"Later we will see more functions that return iterables and take iterables as " +"arguments. In chapter :ref:`tut-structures`, we will discuss in more detail " +"about :func:`list`." +msgstr "" +"Пізніше ми побачимо більше функцій, які повертають iterables і приймають " +"iterables як аргументи. У розділі :ref:`tut-structures` ми більш детально " +"обговоримо :func:`list`." + +msgid "" +":keyword:`!break` and :keyword:`!continue` Statements, and :keyword:`!else` " +"Clauses on Loops" +msgstr "" +":keyword:`!break` і :keyword:`!continue` Інструкції та :keyword:`!else` " +"пропозиції циклів" + +msgid "" +"The :keyword:`break` statement, like in C, breaks out of the innermost " +"enclosing :keyword:`for` or :keyword:`while` loop." +msgstr "" +"Оператор :keyword:`break`, як і в C, виривається з внутрішнього охоплюючого " +"циклу :keyword:`for` або :keyword:`while`." + +msgid "" +"Loop statements may have an :keyword:`!else` clause; it is executed when the " +"loop terminates through exhaustion of the iterable (with :keyword:`for`) or " +"when the condition becomes false (with :keyword:`while`), but not when the " +"loop is terminated by a :keyword:`break` statement. This is exemplified by " +"the following loop, which searches for prime numbers::" +msgstr "" +"Оператори циклу можуть мати пункт :keyword:`!else`; він виконується, коли " +"цикл завершується через вичерпання ітерованого (з :keyword:`for`) або коли " +"умова стає хибною (з :keyword:`while`), але не тоді, коли цикл завершується :" +"keyword:`break` оператор. Прикладом цього є наступний цикл, який шукає " +"прості числа:" + +msgid "" +"(Yes, this is the correct code. Look closely: the ``else`` clause belongs " +"to the :keyword:`for` loop, **not** the :keyword:`if` statement.)" +msgstr "" +"(Так, це правильний код. Подивіться уважно: пропозиція ``else`` належить " +"циклу :keyword:`for`, **не** оператору :keyword:`if`.)" + +msgid "" +"When used with a loop, the ``else`` clause has more in common with the " +"``else`` clause of a :keyword:`try` statement than it does with that of :" +"keyword:`if` statements: a :keyword:`try` statement's ``else`` clause runs " +"when no exception occurs, and a loop's ``else`` clause runs when no " +"``break`` occurs. For more on the :keyword:`!try` statement and exceptions, " +"see :ref:`tut-handling`." +msgstr "" +"При використанні з циклом пропозиція ``else`` має більше спільного з " +"пропозицією ``else`` оператора :keyword:`try`, ніж з пропозицією :keyword:" +"`if`: a : Речення ``else`` інструкції за :keyword:`try` виконується, коли не " +"відбувається винятків, а речення ``else`` циклу виконується, коли не " +"відбувається ``розрив``. Щоб дізнатися більше про оператор :keyword:`!try` " +"та винятки, перегляньте :ref:`tut-handling`." + +msgid "" +"The :keyword:`continue` statement, also borrowed from C, continues with the " +"next iteration of the loop::" +msgstr "" +"Оператор :keyword:`continue`, також запозичений з C, продовжує наступну " +"ітерацію циклу::" + +msgid ":keyword:`!pass` Statements" +msgstr ":keyword:`!pass` Інструкції" + +msgid "" +"The :keyword:`pass` statement does nothing. It can be used when a statement " +"is required syntactically but the program requires no action. For example::" +msgstr "" +"Оператор :keyword:`pass` нічого не робить. Його можна використовувати, коли " +"оператор потрібен синтаксично, але програма не вимагає жодних дій. " +"Наприклад::" + +msgid "This is commonly used for creating minimal classes::" +msgstr "Це зазвичай використовується для створення мінімальних класів:" + +msgid "" +"Another place :keyword:`pass` can be used is as a place-holder for a " +"function or conditional body when you are working on new code, allowing you " +"to keep thinking at a more abstract level. The :keyword:`!pass` is silently " +"ignored::" +msgstr "" +"Інше місце, яке можна використовувати :keyword:`pass`, це як заповнювач для " +"функції або умовного тіла, коли ви працюєте над новим кодом, що дозволяє вам " +"продовжувати мислити на більш абстрактному рівні. :keyword:`!pass` мовчки " +"ігнорується::" + +msgid ":keyword:`!match` Statements" +msgstr ":keyword:`!match` Інструкції" + +msgid "" +"A :keyword:`match` statement takes an expression and compares its value to " +"successive patterns given as one or more case blocks. This is superficially " +"similar to a switch statement in C, Java or JavaScript (and many other " +"languages), but it's more similar to pattern matching in languages like Rust " +"or Haskell. Only the first pattern that matches gets executed and it can " +"also extract components (sequence elements or object attributes) from the " +"value into variables." +msgstr "" + +msgid "" +"The simplest form compares a subject value against one or more literals::" +msgstr "" +"Найпростіша форма порівнює значення предмета з одним або кількома " +"літералами::" + +msgid "" +"Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " +"never fails to match. If no case matches, none of the branches is executed." +msgstr "" +"Зверніть увагу на останній блок: \"ім’я змінної\" ``_`` діє як *знак " +"підстановки* і ніколи не збігається. Якщо жоден регістр не відповідає, жодна " +"з гілок не виконується." + +msgid "" +"You can combine several literals in a single pattern using ``|`` (\"or\")::" +msgstr "" +"Ви можете поєднати кілька літералів в одному шаблоні за допомогою ``|`` " +"(\"або\")::" + +msgid "" +"Patterns can look like unpacking assignments, and can be used to bind " +"variables::" +msgstr "" +"Патерни можуть виглядати як завдання розпакування, і їх можна " +"використовувати для зв’язування змінних::" + +msgid "" +"Study that one carefully! The first pattern has two literals, and can be " +"thought of as an extension of the literal pattern shown above. But the next " +"two patterns combine a literal and a variable, and the variable *binds* a " +"value from the subject (``point``). The fourth pattern captures two values, " +"which makes it conceptually similar to the unpacking assignment ``(x, y) = " +"point``." +msgstr "" +"Вивчіть це уважно! Перший шаблон містить два літерали, і його можна " +"розглядати як розширення літерального шаблону, показаного вище. Але наступні " +"два шаблони поєднують літерал і змінну, а змінна *зв’язує* значення з теми " +"(``точка``). Четвертий шаблон фіксує два значення, що робить його " +"концептуально подібним до призначення розпакування ``(x, y) = point``." + +msgid "" +"If you are using classes to structure your data you can use the class name " +"followed by an argument list resembling a constructor, but with the ability " +"to capture attributes into variables::" +msgstr "" +"Якщо ви використовуєте класи для структурування своїх даних, ви можете " +"використовувати назву класу, за якою слідує список аргументів, схожий на " +"конструктор, але з можливістю запису атрибутів у змінні::" + +msgid "" +"You can use positional parameters with some builtin classes that provide an " +"ordering for their attributes (e.g. dataclasses). You can also define a " +"specific position for attributes in patterns by setting the " +"``__match_args__`` special attribute in your classes. If it's set to (\"x\", " +"\"y\"), the following patterns are all equivalent (and all bind the ``y`` " +"attribute to the ``var`` variable)::" +msgstr "" +"Ви можете використовувати позиційні параметри з деякими вбудованими класами, " +"які забезпечують порядок для своїх атрибутів (наприклад, класи даних). Ви " +"також можете визначити конкретну позицію для атрибутів у шаблонах, " +"встановивши спеціальний атрибут ``__match_args__`` у своїх класах. Якщо для " +"нього встановлено значення (\"x\", \"y\"), усі наступні шаблони еквівалентні " +"(і всі прив'язують атрибут ``y`` до змінної ``var``):" + +msgid "" +"A recommended way to read patterns is to look at them as an extended form of " +"what you would put on the left of an assignment, to understand which " +"variables would be set to what. Only the standalone names (like ``var`` " +"above) are assigned to by a match statement. Dotted names (like ``foo." +"bar``), attribute names (the ``x=`` and ``y=`` above) or class names " +"(recognized by the \"(...)\" next to them like ``Point`` above) are never " +"assigned to." +msgstr "" +"Рекомендований спосіб читання шаблонів — розглядати їх як розширену форму " +"того, що ви розміщуєте ліворуч від призначення, щоб зрозуміти, яким змінним " +"буде встановлено значення. Лише автономні імена (як ``var`` вище) " +"призначаються оператором відповідності. Назви з крапками (наприклад, ``foo." +"bar``), назви атрибутів (``x=`` і ``y=`` вище) або назви класів " +"(розпізнаються за \"(...)\" поруч із ними, як ``Точка`` вище) ніколи не " +"призначаються." + +msgid "" +"Patterns can be arbitrarily nested. For example, if we have a short list of " +"points, we could match it like this::" +msgstr "" +"Візерунки можуть бути довільно вкладеними. Наприклад, якщо у нас є короткий " +"список точок, ми можемо зіставити його так:" + +msgid "" +"We can add an ``if`` clause to a pattern, known as a \"guard\". If the " +"guard is false, ``match`` goes on to try the next case block. Note that " +"value capture happens before the guard is evaluated::" +msgstr "" +"Ми можемо додати умову ``if`` до шаблону, відомого як \"guard\". Якщо guard " +"false, ``match`` переходить до наступного блоку case. Зауважте, що " +"захоплення значення відбувається до оцінки захисника:" + +msgid "Several other key features of this statement:" +msgstr "Кілька інших ключових особливостей цього твердження:" + +msgid "" +"Like unpacking assignments, tuple and list patterns have exactly the same " +"meaning and actually match arbitrary sequences. An important exception is " +"that they don't match iterators or strings." +msgstr "" +"Подібно до завдань розпакування, шаблони кортежу та списку мають однакове " +"значення та фактично відповідають довільним послідовностям. Важливим " +"винятком є те, що вони не відповідають ітераторам або рядкам." + +msgid "" +"Sequence patterns support extended unpacking: ``[x, y, *rest]`` and ``(x, y, " +"*rest)`` work similar to unpacking assignments. The name after ``*`` may " +"also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " +"without binding the remaining items." +msgstr "" +"Шаблони послідовності підтримують розширене розпакування: ``[x, y, *rest]`` " +"і ``(x, y, *rest)`` працюють подібно до призначень розпакування. Ім’я після " +"``*`` також може бути ``_``, тому ``(x, y, *_)`` відповідає послідовності " +"принаймні двох елементів без зв’язування решти елементів." + +msgid "" +"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``" +"\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " +"sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " +"also supported. (But ``**_`` would be redundant, so it is not allowed.)" +msgstr "" +"Шаблони зіставлення: ``{\"bandwidth\": b, \"latency\": l}`` фіксує значення " +"``\"bandwidth\"`` і ``\"latency\"`` зі словника. На відміну від шаблонів " +"послідовності, додаткові ключі ігноруються. Також підтримується розпакування " +"на зразок ``**rest``. (Але ``**_`` буде зайвим, тому це заборонено.)" + +msgid "Subpatterns may be captured using the ``as`` keyword::" +msgstr "Підшаблони можуть бути захоплені за допомогою ключового слова ``as``::" + +msgid "" +"will capture the second element of the input as ``p2`` (as long as the input " +"is a sequence of two points)" +msgstr "" +"захопить другий елемент вхідних даних як ``p2`` (якщо вхідні дані є " +"послідовністю з двох точок)" + +msgid "" +"Most literals are compared by equality, however the singletons ``True``, " +"``False`` and ``None`` are compared by identity." +msgstr "" +"Більшість літералів порівнюються за рівністю, однак синглетони ``True``, " +"``False`` і ``None`` порівнюються за тотожністю." + +msgid "" +"Patterns may use named constants. These must be dotted names to prevent " +"them from being interpreted as capture variable::" +msgstr "" +"Шаблони можуть використовувати іменовані константи. Ці імена мають бути " +"розділені крапками, щоб запобігти їх інтерпретації як змінну захоплення::" + +msgid "" +"For a more detailed explanation and additional examples, you can look into :" +"pep:`636` which is written in a tutorial format." +msgstr "" +"Для більш детального пояснення та додаткових прикладів ви можете " +"переглянути :pep:`636`, який написаний у форматі підручника." + +msgid "Defining Functions" +msgstr "Визначення функцій" + +msgid "" +"We can create a function that writes the Fibonacci series to an arbitrary " +"boundary::" +msgstr "" +"Ми можемо створити функцію, яка записує ряд Фібоначчі до довільної границі:" + +msgid "" +"The keyword :keyword:`def` introduces a function *definition*. It must be " +"followed by the function name and the parenthesized list of formal " +"parameters. The statements that form the body of the function start at the " +"next line, and must be indented." +msgstr "" +"Ключове слово :keyword:`def` вводить *визначення* функції. Після нього має " +"йти ім’я функції та список формальних параметрів у дужках. Оператори, які " +"утворюють тіло функції, починаються з наступного рядка та мають бути з " +"відступом." + +msgid "" +"The first statement of the function body can optionally be a string literal; " +"this string literal is the function's documentation string, or :dfn:" +"`docstring`. (More about docstrings can be found in the section :ref:`tut-" +"docstrings`.) There are tools which use docstrings to automatically produce " +"online or printed documentation, or to let the user interactively browse " +"through code; it's good practice to include docstrings in code that you " +"write, so make a habit of it." +msgstr "" +"Перший оператор тіла функції необов’язково може бути рядковим літералом; цей " +"рядковий літерал є рядком документації функції, або :dfn:`docstring`. " +"(Більше про рядки документів можна знайти в розділі :ref:`tut-docstrings`.) " +"Існують інструменти, які використовують рядки документів для автоматичного " +"створення онлайнової або друкованої документації або для того, щоб " +"користувач міг інтерактивно переглядати код; добре включати рядки " +"документації в код, який ви пишете, тож візьміть це за звичку." + +msgid "" +"The *execution* of a function introduces a new symbol table used for the " +"local variables of the function. More precisely, all variable assignments " +"in a function store the value in the local symbol table; whereas variable " +"references first look in the local symbol table, then in the local symbol " +"tables of enclosing functions, then in the global symbol table, and finally " +"in the table of built-in names. Thus, global variables and variables of " +"enclosing functions cannot be directly assigned a value within a function " +"(unless, for global variables, named in a :keyword:`global` statement, or, " +"for variables of enclosing functions, named in a :keyword:`nonlocal` " +"statement), although they may be referenced." +msgstr "" +"*Виконання* функції вводить нову таблицю символів, яка використовується для " +"локальних змінних функції. Точніше, усі призначення змінних у функції " +"зберігають значення в локальній таблиці символів; тоді як посилання на " +"змінні спочатку шукають у локальній таблиці символів, потім у локальних " +"таблицях символів охоплюючих функцій, потім у глобальній таблиці символів і, " +"нарешті, у таблиці вбудованих імен. Таким чином, глобальним змінним і " +"змінним охоплюючих функцій не можна безпосередньо присвоїти значення в межах " +"функції (якщо для глобальних змінних, названих у операторі :keyword:" +"`global`, або для змінних охоплюючих функцій, названих у :keyword:" +"`nonlocal`), хоча на них можна посилатися." + +msgid "" +"The actual parameters (arguments) to a function call are introduced in the " +"local symbol table of the called function when it is called; thus, arguments " +"are passed using *call by value* (where the *value* is always an object " +"*reference*, not the value of the object). [#]_ When a function calls " +"another function, or calls itself recursively, a new local symbol table is " +"created for that call." +msgstr "" +"Фактичні параметри (аргументи) виклику функції вводяться в локальну таблицю " +"символів викликаної функції під час її виклику; таким чином, аргументи " +"передаються за допомогою *виклику за значенням* (де *значення* завжди є " +"*посиланням* на об’єкт, а не значенням об’єкта). [#]_ Коли функція викликає " +"іншу функцію або рекурсивно викликає саму себе, для цього виклику " +"створюється нова локальна таблиця символів." + +msgid "" +"A function definition associates the function name with the function object " +"in the current symbol table. The interpreter recognizes the object pointed " +"to by that name as a user-defined function. Other names can also point to " +"that same function object and can also be used to access the function::" +msgstr "" +"Визначення функції пов’язує назву функції з об’єктом функції в поточній " +"таблиці символів. Інтерпретатор розпізнає об'єкт, на який вказує це ім'я, як " +"функцію, визначену користувачем. Інші імена також можуть вказувати на той " +"самий об’єкт функції та також можуть використовуватися для доступу до " +"функції::" + +msgid "" +"Coming from other languages, you might object that ``fib`` is not a function " +"but a procedure since it doesn't return a value. In fact, even functions " +"without a :keyword:`return` statement do return a value, albeit a rather " +"boring one. This value is called ``None`` (it's a built-in name). Writing " +"the value ``None`` is normally suppressed by the interpreter if it would be " +"the only value written. You can see it if you really want to using :func:" +"`print`::" +msgstr "" +"Виходячи з інших мов, ви можете заперечити, що ``fib`` — це не функція, а " +"процедура, оскільки вона не повертає значення. Фактично, навіть функції без " +"оператора :keyword:`return` повертають значення, хоча й досить нудне. Це " +"значення називається ``None`` (це вбудоване ім'я). Запис значення ``None`` " +"зазвичай пригнічується інтерпретатором, якщо це буде єдине записане " +"значення. Ви можете побачити це, якщо дійсно хочете використовувати :func:" +"`print`::" + +msgid "" +"It is simple to write a function that returns a list of the numbers of the " +"Fibonacci series, instead of printing it::" +msgstr "" +"Дуже просто написати функцію, яка повертає список чисел ряду Фібоначчі, " +"замість того, щоб друкувати його:" + +msgid "This example, as usual, demonstrates some new Python features:" +msgstr "Цей приклад, як завжди, демонструє деякі нові функції Python:" + +msgid "" +"The :keyword:`return` statement returns with a value from a function. :" +"keyword:`!return` without an expression argument returns ``None``. Falling " +"off the end of a function also returns ``None``." +msgstr "" +"Оператор :keyword:`return` повертає значення з функції. :keyword:`!return` " +"без аргументу-виразу повертає ``None``. Випадання кінця функції також " +"повертає ``None``." + +msgid "" +"The statement ``result.append(a)`` calls a *method* of the list object " +"``result``. A method is a function that 'belongs' to an object and is named " +"``obj.methodname``, where ``obj`` is some object (this may be an " +"expression), and ``methodname`` is the name of a method that is defined by " +"the object's type. Different types define different methods. Methods of " +"different types may have the same name without causing ambiguity. (It is " +"possible to define your own object types and methods, using *classes*, see :" +"ref:`tut-classes`) The method :meth:`append` shown in the example is defined " +"for list objects; it adds a new element at the end of the list. In this " +"example it is equivalent to ``result = result + [a]``, but more efficient." +msgstr "" +"Оператор ``result.append(a)`` викликає *метод* об’єкта списку ``result``. " +"Метод — це функція, яка \"належить\" об’єкту та має назву \"obj.methodname" +"\", де \"obj\" — деякий об’єкт (це може бути вираз), а \"methodname\" — ім’я " +"метод, який визначається типом об'єкта. Різні типи визначають різні методи. " +"Методи різних типів можуть мати однакові назви, не викликаючи двозначності. " +"(Можна визначити власні типи об’єктів і методи, використовуючи *класи*, " +"див. :ref:`tut-classes`) Метод :meth:`append`, показаний у прикладі, " +"визначено для об’єктів списку; він додає новий елемент у кінець списку. У " +"цьому прикладі це еквівалентно ``результат = результат + [a]``, але " +"ефективніше." + +msgid "More on Defining Functions" +msgstr "Докладніше про визначення функцій" + +msgid "" +"It is also possible to define functions with a variable number of arguments. " +"There are three forms, which can be combined." +msgstr "" +"Також можна визначати функції зі змінною кількістю аргументів. Є три форми, " +"які можна комбінувати." + +msgid "Default Argument Values" +msgstr "Значення аргументів за замовчуванням" + +msgid "" +"The most useful form is to specify a default value for one or more " +"arguments. This creates a function that can be called with fewer arguments " +"than it is defined to allow. For example::" +msgstr "" +"Найбільш корисною формою є вказати значення за умовчанням для одного або " +"кількох аргументів. Це створює функцію, яку можна викликати з меншою " +"кількістю аргументів, ніж це дозволено. Наприклад::" + +msgid "This function can be called in several ways:" +msgstr "Цю функцію можна викликати кількома способами:" + +msgid "" +"giving only the mandatory argument: ``ask_ok('Do you really want to quit?')``" +msgstr "" +"вказуючи лише обов’язковий аргумент: ``ask_ok('Ви дійсно хочете вийти?')``" + +msgid "" +"giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " +"2)``" +msgstr "" +"надання одного з необов’язкових аргументів: ``ask_ok('ОК перезаписати " +"файл?', 2)``" + +msgid "" +"or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come " +"on, only yes or no!')``" +msgstr "" +"або навіть надавши всі аргументи: ``ask_ok('Добре перезаписати файл?', 2, " +"'Давай, тільки так чи ні!')``" + +msgid "" +"This example also introduces the :keyword:`in` keyword. This tests whether " +"or not a sequence contains a certain value." +msgstr "" +"У цьому прикладі також представлено ключове слово :keyword:`in`. Це " +"перевіряє, чи містить послідовність певне значення." + +msgid "" +"The default values are evaluated at the point of function definition in the " +"*defining* scope, so that ::" +msgstr "" +"Значення за замовчуванням оцінюються в точці визначення функції в області " +"*defining*, так що:" + +msgid "will print ``5``." +msgstr "надрукує ``5``." + +msgid "" +"**Important warning:** The default value is evaluated only once. This makes " +"a difference when the default is a mutable object such as a list, " +"dictionary, or instances of most classes. For example, the following " +"function accumulates the arguments passed to it on subsequent calls::" +msgstr "" +"**Важливе попередження:** Значення за замовчуванням оцінюється лише один " +"раз. Це має значення, коли за умовчанням є змінний об’єкт, наприклад список, " +"словник або екземпляри більшості класів. Наприклад, наступна функція " +"накопичує аргументи, передані їй під час наступних викликів::" + +msgid "This will print ::" +msgstr "Це надрукує ::" + +msgid "" +"If you don't want the default to be shared between subsequent calls, you can " +"write the function like this instead::" +msgstr "" +"Якщо ви не хочете, щоб значення за замовчуванням використовувалися для " +"наступних викликів, ви можете написати функцію так:" + +msgid "Keyword Arguments" +msgstr "Аргументи ключових слів" + +msgid "" +"Functions can also be called using :term:`keyword arguments ` of the form ``kwarg=value``. For instance, the following " +"function::" +msgstr "" +"Функції також можна викликати за допомогою :term:`аргументів ключового слова " +"` у формі ``kwarg=значення``. Наприклад, така функція::" + +msgid "" +"accepts one required argument (``voltage``) and three optional arguments " +"(``state``, ``action``, and ``type``). This function can be called in any " +"of the following ways::" +msgstr "" +"приймає один обов’язковий аргумент (``напруга``) і три необов’язкові " +"аргументи (``стан``, ``дія`` і ``тип``). Цю функцію можна викликати будь-" +"яким із наведених нижче способів:" + +msgid "but all the following calls would be invalid::" +msgstr "але всі наступні виклики будуть недійсними::" + +msgid "" +"In a function call, keyword arguments must follow positional arguments. All " +"the keyword arguments passed must match one of the arguments accepted by the " +"function (e.g. ``actor`` is not a valid argument for the ``parrot`` " +"function), and their order is not important. This also includes non-" +"optional arguments (e.g. ``parrot(voltage=1000)`` is valid too). No argument " +"may receive a value more than once. Here's an example that fails due to this " +"restriction::" +msgstr "" +"Під час виклику функції ключові аргументи повинні слідувати за позиційними " +"аргументами. Усі передані ключові аргументи мають відповідати одному з " +"аргументів, прийнятих функцією (наприклад, ``actor`` не є дійсним аргументом " +"для ``parrot`` функції), і їх порядок не важливий. Це також включає " +"необов’язкові аргументи (наприклад, ``parrot(voltage=1000)`` також дійсний). " +"Жоден аргумент не може отримати значення більше одного разу. Ось приклад, " +"який не працює через це обмеження::" + +msgid "" +"When a final formal parameter of the form ``**name`` is present, it receives " +"a dictionary (see :ref:`typesmapping`) containing all keyword arguments " +"except for those corresponding to a formal parameter. This may be combined " +"with a formal parameter of the form ``*name`` (described in the next " +"subsection) which receives a :ref:`tuple ` containing the " +"positional arguments beyond the formal parameter list. (``*name`` must " +"occur before ``**name``.) For example, if we define a function like this::" +msgstr "" +"Коли присутній остаточний формальний параметр у формі ``**name``, він " +"отримує словник (див. :ref:`typesmapping`), який містить усі ключові " +"аргументи, за винятком тих, що відповідають формальному параметру. Це можна " +"поєднати з формальним параметром у формі ``*name`` (описано в наступному " +"підрозділі), який отримує :ref:`tuple `, що містить позиційні " +"аргументи поза формальним списком параметрів. (``*name`` має бути перед " +"``**name``.) Наприклад, якщо ми визначимо таку функцію:" + +msgid "It could be called like this::" +msgstr "Це можна назвати так::" + +msgid "and of course it would print:" +msgstr "і, звичайно, він буде друкувати:" + +msgid "" +"Note that the order in which the keyword arguments are printed is guaranteed " +"to match the order in which they were provided in the function call." +msgstr "" +"Зауважте, що порядок друку ключових аргументів гарантовано збігається з " +"порядком, у якому вони були надані під час виклику функції." + +msgid "Special parameters" +msgstr "Спеціальні параметри" + +msgid "" +"By default, arguments may be passed to a Python function either by position " +"or explicitly by keyword. For readability and performance, it makes sense to " +"restrict the way arguments can be passed so that a developer need only look " +"at the function definition to determine if items are passed by position, by " +"position or keyword, or by keyword." +msgstr "" +"За замовчуванням аргументи можуть передаватися функції Python за позицією " +"або явно за ключовим словом. Для зручності читання та продуктивності має " +"сенс обмежити спосіб передачі аргументів, щоб розробнику потрібно було " +"дивитися лише на визначення функції, щоб визначити, чи передаються елементи " +"за позицією, за позицією чи ключовим словом або за ключовим словом." + +msgid "A function definition may look like:" +msgstr "Визначення функції може виглядати так:" + +msgid "" +"where ``/`` and ``*`` are optional. If used, these symbols indicate the kind " +"of parameter by how the arguments may be passed to the function: positional-" +"only, positional-or-keyword, and keyword-only. Keyword parameters are also " +"referred to as named parameters." +msgstr "" +"де ``/`` і ``*`` необов'язкові. Якщо використовуються, ці символи вказують " +"на тип параметра за допомогою того, як аргументи можуть бути передані до " +"функції: лише позиційні, позиційні чи ключові слова та лише ключові слова. " +"Параметри ключових слів також називають іменованими параметрами." + +msgid "Positional-or-Keyword Arguments" +msgstr "Позиційні або ключові аргументи" + +msgid "" +"If ``/`` and ``*`` are not present in the function definition, arguments may " +"be passed to a function by position or by keyword." +msgstr "" +"Якщо ``/`` і ``*`` відсутні у визначенні функції, аргументи можуть бути " +"передані функції за позицією або за ключовим словом." + +msgid "Positional-Only Parameters" +msgstr "Лише позиційні параметри" + +msgid "" +"Looking at this in a bit more detail, it is possible to mark certain " +"parameters as *positional-only*. If *positional-only*, the parameters' order " +"matters, and the parameters cannot be passed by keyword. Positional-only " +"parameters are placed before a ``/`` (forward-slash). The ``/`` is used to " +"logically separate the positional-only parameters from the rest of the " +"parameters. If there is no ``/`` in the function definition, there are no " +"positional-only parameters." +msgstr "" +"Розглянувши це трохи детальніше, можна позначити певні параметри як *тільки " +"позиційні*. Якщо *лише позиційний*, порядок параметрів має значення, і " +"параметри не можуть бути передані за ключовим словом. Лише позиційні " +"параметри розміщуються перед ``/`` (коса риска). ``/`` використовується для " +"логічного відокремлення лише позиційних параметрів від решти параметрів. " +"Якщо у визначенні функції немає ``/``, немає позиційних параметрів." + +msgid "" +"Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" +"only*." +msgstr "" +"Параметри після ``/`` можуть бути *positional-or-keyword* або *keyword-only*." + +msgid "Keyword-Only Arguments" +msgstr "Аргументи лише за ключовими словами" + +msgid "" +"To mark parameters as *keyword-only*, indicating the parameters must be " +"passed by keyword argument, place an ``*`` in the arguments list just before " +"the first *keyword-only* parameter." +msgstr "" +"Щоб позначити параметри як *лише ключове слово*, вказавши, що параметри " +"повинні бути передані аргументом ключового слова, помістіть ``*`` у списку " +"аргументів безпосередньо перед першим параметром *лише ключове*." + +msgid "Function Examples" +msgstr "Приклади функцій" + +msgid "" +"Consider the following example function definitions paying close attention " +"to the markers ``/`` and ``*``::" +msgstr "" +"Розглянемо наступні приклади визначення функцій, звертаючи особливу увагу на " +"маркери ``/`` і ``*``::" + +msgid "" +"The first function definition, ``standard_arg``, the most familiar form, " +"places no restrictions on the calling convention and arguments may be passed " +"by position or keyword::" +msgstr "" +"Перше визначення функції, ``standard_arg``, найвідоміша форма, не накладає " +"обмежень на угоду про виклики, і аргументи можуть передаватися за позицією " +"або ключовим словом::" + +msgid "" +"The second function ``pos_only_arg`` is restricted to only use positional " +"parameters as there is a ``/`` in the function definition::" +msgstr "" +"Друга функція ``pos_only_arg`` обмежена використанням лише позиційних " +"параметрів, оскільки у визначенні функції є ``/``::" + +msgid "" +"The third function ``kwd_only_args`` only allows keyword arguments as " +"indicated by a ``*`` in the function definition::" +msgstr "" +"Третя функція ``kwd_only_args`` дозволяє лише ключові аргументи, як " +"зазначено ``*`` у визначенні функції::" + +msgid "" +"And the last uses all three calling conventions in the same function " +"definition::" +msgstr "" +"І останній використовує всі три угоди про виклики в одному визначенні " +"функції:" + +msgid "" +"Finally, consider this function definition which has a potential collision " +"between the positional argument ``name`` and ``**kwds`` which has ``name`` " +"as a key::" +msgstr "" +"Нарешті, розглянемо це визначення функції, яке має потенційну колізію між " +"позиційним аргументом ``name`` і ``**kwds``, який має ``name`` як ключ::" + +msgid "" +"There is no possible call that will make it return ``True`` as the keyword " +"``'name'`` will always bind to the first parameter. For example::" +msgstr "" +"Немає можливого виклику, який змусить його повернути ``True``, оскільки " +"ключове слово ``'name''`` завжди прив’язуватиметься до першого параметра. " +"Наприклад::" + +msgid "" +"But using ``/`` (positional only arguments), it is possible since it allows " +"``name`` as a positional argument and ``'name'`` as a key in the keyword " +"arguments::" +msgstr "" +"Але використання ``/`` (лише позиційні аргументи) є можливим, оскільки воно " +"дозволяє ``name`` як позиційний аргумент і ``'name'`` як ключ в аргументах " +"ключового слова::" + +msgid "" +"In other words, the names of positional-only parameters can be used in " +"``**kwds`` without ambiguity." +msgstr "" +"Іншими словами, назви лише позиційних параметрів можна використовувати в " +"``**kwds`` без двозначності." + +msgid "Recap" +msgstr "Підведення підсумків" + +msgid "" +"The use case will determine which parameters to use in the function " +"definition::" +msgstr "" +"Варіант використання визначить, які параметри використовувати у визначенні " +"функції:" + +msgid "As guidance:" +msgstr "Як керівництво:" + +msgid "" +"Use positional-only if you want the name of the parameters to not be " +"available to the user. This is useful when parameter names have no real " +"meaning, if you want to enforce the order of the arguments when the function " +"is called or if you need to take some positional parameters and arbitrary " +"keywords." +msgstr "" +"Використовуйте тільки позиційне значення, якщо ви хочете, щоб назва " +"параметрів була недоступна для користувача. Це корисно, коли назви " +"параметрів не мають реального значення, якщо ви хочете забезпечити порядок " +"аргументів під час виклику функції або якщо вам потрібно взяти деякі " +"позиційні параметри та довільні ключові слова." + +msgid "" +"Use keyword-only when names have meaning and the function definition is more " +"understandable by being explicit with names or you want to prevent users " +"relying on the position of the argument being passed." +msgstr "" +"Використовуйте ключові слова лише тоді, коли імена мають значення, а " +"визначення функції є більш зрозумілим через чіткі імена або ви хочете " +"запобігти тому, щоб користувачі покладалися на позицію переданого аргументу." + +msgid "" +"For an API, use positional-only to prevent breaking API changes if the " +"parameter's name is modified in the future." +msgstr "" +"Для API використовуйте тільки позиційний, щоб запобігти несправним змінам " +"API, якщо назву параметра буде змінено в майбутньому." + +msgid "Arbitrary Argument Lists" +msgstr "Списки довільних аргументів" + +msgid "" +"Finally, the least frequently used option is to specify that a function can " +"be called with an arbitrary number of arguments. These arguments will be " +"wrapped up in a tuple (see :ref:`tut-tuples`). Before the variable number " +"of arguments, zero or more normal arguments may occur. ::" +msgstr "" +"Нарешті, найменш часто використовуваний варіант - це вказати, що функція " +"може бути викликана з довільною кількістю аргументів. Ці аргументи будуть " +"загорнуті в кортеж (див. :ref:`tut-tuples`). Перед змінною кількістю " +"аргументів може бути нуль або більше нормальних аргументів. ::" + +msgid "" +"Normally, these *variadic* arguments will be last in the list of formal " +"parameters, because they scoop up all remaining input arguments that are " +"passed to the function. Any formal parameters which occur after the " +"``*args`` parameter are 'keyword-only' arguments, meaning that they can only " +"be used as keywords rather than positional arguments. ::" +msgstr "" +"Зазвичай ці *варіативні* аргументи будуть останніми в списку формальних " +"параметрів, оскільки вони збирають усі вхідні аргументи, що залишилися, які " +"передаються функції. Будь-які формальні параметри, які виникають після " +"параметра ``*args``, є аргументами \"тільки ключового слова\", тобто їх " +"можна використовувати лише як ключові слова, а не як позиційні аргументи. ::" + +msgid "Unpacking Argument Lists" +msgstr "Розпакування списків аргументів" + +msgid "" +"The reverse situation occurs when the arguments are already in a list or " +"tuple but need to be unpacked for a function call requiring separate " +"positional arguments. For instance, the built-in :func:`range` function " +"expects separate *start* and *stop* arguments. If they are not available " +"separately, write the function call with the ``*``\\ -operator to unpack " +"the arguments out of a list or tuple::" +msgstr "" +"Зворотна ситуація виникає, коли аргументи вже є в списку або кортежі, але їх " +"потрібно розпакувати для виклику функції, що потребує окремих позиційних " +"аргументів. Наприклад, вбудована функція :func:`range` очікує окремих " +"аргументів *start* і *stop*. Якщо вони недоступні окремо, напишіть виклик " +"функції з оператором ``*``\\, щоб розпакувати аргументи зі списку або " +"кортежу::" + +msgid "" +"In the same fashion, dictionaries can deliver keyword arguments with the " +"``**``\\ -operator::" +msgstr "" +"Таким же чином словники можуть надавати аргументи ключових слів за допомогою " +"оператора ``**``\\::" + +msgid "Lambda Expressions" +msgstr "Лямбда-вирази" + +msgid "" +"Small anonymous functions can be created with the :keyword:`lambda` keyword. " +"This function returns the sum of its two arguments: ``lambda a, b: a+b``. " +"Lambda functions can be used wherever function objects are required. They " +"are syntactically restricted to a single expression. Semantically, they are " +"just syntactic sugar for a normal function definition. Like nested function " +"definitions, lambda functions can reference variables from the containing " +"scope::" +msgstr "" +"Невеликі анонімні функції можна створювати за допомогою ключового слова :" +"keyword:`lambda`. Ця функція повертає суму своїх двох аргументів: ``лямбда " +"a, b: a+b``. Лямбда-функції можна використовувати скрізь, де потрібні " +"функціональні об’єкти. Вони синтаксично обмежені одним виразом. Семантично " +"вони є лише синтаксичним цукром для нормального визначення функції. Як і " +"визначення вкладених функцій, лямбда-функції можуть посилатися на змінні з " +"області видимості::" + +msgid "" +"The above example uses a lambda expression to return a function. Another " +"use is to pass a small function as an argument::" +msgstr "" +"У наведеному вище прикладі використовується лямбда-вираз для повернення " +"функції. Інше використання - передача невеликої функції як аргумент::" + +msgid "Documentation Strings" +msgstr "Рядки документації" + +msgid "" +"Here are some conventions about the content and formatting of documentation " +"strings." +msgstr "Ось деякі умовності щодо вмісту та форматування рядків документації." + +msgid "" +"The first line should always be a short, concise summary of the object's " +"purpose. For brevity, it should not explicitly state the object's name or " +"type, since these are available by other means (except if the name happens " +"to be a verb describing a function's operation). This line should begin " +"with a capital letter and end with a period." +msgstr "" +"Перший рядок завжди має бути коротким, лаконічним описом призначення " +"об’єкта. Для стислості, він не повинен явно вказувати ім’я чи тип об’єкта, " +"оскільки вони доступні іншими засобами (окрім випадків, коли ім’я є " +"дієсловом, що описує роботу функції). Цей рядок повинен починатися з великої " +"літери і закінчуватися крапкою." + +msgid "" +"If there are more lines in the documentation string, the second line should " +"be blank, visually separating the summary from the rest of the description. " +"The following lines should be one or more paragraphs describing the object's " +"calling conventions, its side effects, etc." +msgstr "" +"Якщо в рядку документації є більше рядків, другий рядок має бути порожнім, " +"візуально відокремлюючи резюме від решти опису. Наступні рядки мають бути " +"одним або декількома абзацами, що описують умови виклику об’єкта, його " +"побічні ефекти тощо." + +msgid "" +"The Python parser does not strip indentation from multi-line string literals " +"in Python, so tools that process documentation have to strip indentation if " +"desired. This is done using the following convention. The first non-blank " +"line *after* the first line of the string determines the amount of " +"indentation for the entire documentation string. (We can't use the first " +"line since it is generally adjacent to the string's opening quotes so its " +"indentation is not apparent in the string literal.) Whitespace \"equivalent" +"\" to this indentation is then stripped from the start of all lines of the " +"string. Lines that are indented less should not occur, but if they occur " +"all their leading whitespace should be stripped. Equivalence of whitespace " +"should be tested after expansion of tabs (to 8 spaces, normally)." +msgstr "" +"Синтаксичний аналізатор Python не видаляє відступи з багаторядкових рядкових " +"літералів у Python, тому інструменти, які обробляють документацію, за " +"бажанням мають видаляти відступи. Це робиться за допомогою наступної угоди. " +"Перший непорожній рядок *після* першого рядка рядка визначає величину " +"відступу для всього рядка документації. (Ми не можемо використати перший " +"рядок, оскільки він зазвичай примикає до початкових лапок рядка, тому його " +"відступ не видно в рядковому літералі.) Пробіли, \"еквівалентні\" цьому " +"відступу, потім видаляються з початку всіх рядків рядка . Рядки з меншим " +"відступом не повинні з’являтися, але якщо вони трапляються, усі їх початкові " +"пробіли мають бути видалені. Еквівалентність пробілів слід перевіряти після " +"розширення табуляції (зазвичай до 8 пробілів)." + +msgid "Here is an example of a multi-line docstring::" +msgstr "Ось приклад багаторядкового документального рядка::" + +msgid "Function Annotations" +msgstr "Анотації до функцій" + +msgid "" +":ref:`Function annotations ` are completely optional metadata " +"information about the types used by user-defined functions (see :pep:`3107` " +"and :pep:`484` for more information)." +msgstr "" +":ref:`Анотації функцій ` є абсолютно необов’язковою інформацією " +"метаданих про типи, які використовуються визначеними користувачем функціями " +"(див. :pep:`3107` і :pep:`484` для отримання додаткової інформації)." + +msgid "" +":term:`Annotations ` are stored in the :attr:" +"`__annotations__` attribute of the function as a dictionary and have no " +"effect on any other part of the function. Parameter annotations are defined " +"by a colon after the parameter name, followed by an expression evaluating to " +"the value of the annotation. Return annotations are defined by a literal ``-" +">``, followed by an expression, between the parameter list and the colon " +"denoting the end of the :keyword:`def` statement. The following example has " +"a required argument, an optional argument, and the return value annotated::" +msgstr "" +":term:`Анотації ` зберігаються в атрибуті :attr:" +"`__annotations__` функції як словник і не впливають на будь-яку іншу частину " +"функції. Анотації параметрів визначаються двокрапкою після назви параметра, " +"за якою слідує вираз, що обчислює значення анотації. Анотації повернення " +"визначаються літералом ``->``, за яким іде вираз між списком параметрів і " +"двокрапкою, що позначає кінець оператора :keyword:`def`. У наступному " +"прикладі є обов’язковий аргумент, необов’язковий аргумент і значення, що " +"повертається, з анотацією::" + +msgid "Intermezzo: Coding Style" +msgstr "Intermezzo: стиль кодування" + +msgid "" +"Now that you are about to write longer, more complex pieces of Python, it is " +"a good time to talk about *coding style*. Most languages can be written (or " +"more concise, *formatted*) in different styles; some are more readable than " +"others. Making it easy for others to read your code is always a good idea, " +"and adopting a nice coding style helps tremendously for that." +msgstr "" +"Тепер, коли ви збираєтеся писати довші, складніші частини Python, саме час " +"поговорити про *стиль кодування*. Більшість мов можуть бути написані (або " +"стисло, *форматовано*) різними стилями; деякі більш читабельні, ніж інші. " +"Полегшити читання вашого коду для інших – це завжди гарна ідея, і " +"застосування гарного стилю кодування надзвичайно допомагає в цьому." + +msgid "" +"For Python, :pep:`8` has emerged as the style guide that most projects " +"adhere to; it promotes a very readable and eye-pleasing coding style. Every " +"Python developer should read it at some point; here are the most important " +"points extracted for you:" +msgstr "" +"Для Python :pep:`8` став керівництвом зі стилю, якого дотримуються більшість " +"проектів; він сприяє дуже читабельному та приємному оку стилю кодування. " +"Кожен розробник Python повинен колись прочитати його; ось найважливіші " +"моменти, виділені для вас:" + +msgid "Use 4-space indentation, and no tabs." +msgstr "Використовуйте відступ із 4 пробілами без табуляції." + +msgid "" +"4 spaces are a good compromise between small indentation (allows greater " +"nesting depth) and large indentation (easier to read). Tabs introduce " +"confusion, and are best left out." +msgstr "" +"4 пробіли є хорошим компромісом між малим відступом (дозволяє більшу глибину " +"вкладення) та великим відступом (легше читати). Вкладки створюють плутанину, " +"тому їх краще не використовувати." + +msgid "Wrap lines so that they don't exceed 79 characters." +msgstr "Переносити рядки так, щоб вони не перевищували 79 символів." + +msgid "" +"This helps users with small displays and makes it possible to have several " +"code files side-by-side on larger displays." +msgstr "" +"Це допомагає користувачам із невеликими дисплеями та дає змогу мати декілька " +"файлів коду поруч на більших дисплеях." + +msgid "" +"Use blank lines to separate functions and classes, and larger blocks of code " +"inside functions." +msgstr "" +"Використовуйте порожні рядки для розділення функцій і класів, а також більші " +"блоки коду всередині функцій." + +msgid "When possible, put comments on a line of their own." +msgstr "Якщо можливо, розмістіть коментарі в окремому рядку." + +msgid "Use docstrings." +msgstr "Використовуйте рядки документів." + +msgid "" +"Use spaces around operators and after commas, but not directly inside " +"bracketing constructs: ``a = f(1, 2) + g(3, 4)``." +msgstr "" +"Використовуйте пробіли навколо операторів і після ком, але не безпосередньо " +"всередині конструкцій у дужках: ``a = f(1, 2) + g(3, 4)``." + +msgid "" +"Name your classes and functions consistently; the convention is to use " +"``UpperCamelCase`` for classes and ``lowercase_with_underscores`` for " +"functions and methods. Always use ``self`` as the name for the first method " +"argument (see :ref:`tut-firstclasses` for more on classes and methods)." +msgstr "" +"Послідовно назвіть свої класи та функції; Угода передбачає використання " +"``UpperCamelCase`` для класів і ``lowercase_with_underscores`` для функцій і " +"методів. Завжди використовуйте ``self`` як назву для першого аргументу " +"методу (перегляньте :ref:`tut-firstclasses` для отримання додаткової " +"інформації про класи та методи)." + +msgid "" +"Don't use fancy encodings if your code is meant to be used in international " +"environments. Python's default, UTF-8, or even plain ASCII work best in any " +"case." +msgstr "" +"Не використовуйте химерні кодування, якщо ваш код призначений для " +"використання в міжнародних середовищах. За замовчуванням Python, UTF-8 або " +"навіть звичайний ASCII найкраще працюють у будь-якому випадку." + +msgid "" +"Likewise, don't use non-ASCII characters in identifiers if there is only the " +"slightest chance people speaking a different language will read or maintain " +"the code." +msgstr "" +"Так само не використовуйте в ідентифікаторах символи, відмінні від ASCII, " +"якщо є лише найменший шанс, що люди, які розмовляють іншою мовою, прочитають " +"або збережуть код." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Actually, *call by object reference* would be a better description, since if " +"a mutable object is passed, the caller will see any changes the callee makes " +"to it (items inserted into a list)." +msgstr "" +"Насправді *виклик за посиланням на об’єкт* був би кращим описом, оскільки " +"якщо передано змінний об’єкт, абонент побачить будь-які зміни, внесені до " +"нього викликаним (елементи, вставлені в список)." diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po new file mode 100644 index 000000000..ae0a9e663 --- /dev/null +++ b/tutorial/datastructures.po @@ -0,0 +1,729 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Data Structures" +msgstr "Структури даних" + +msgid "" +"This chapter describes some things you've learned about already in more " +"detail, and adds some new things as well." +msgstr "" +"У цьому розділі більш детально описано деякі речі, про які ви вже вивчили, а " +"також додано деякі нові речі." + +msgid "More on Lists" +msgstr "Більше про списки" + +msgid "" +"The list data type has some more methods. Here are all of the methods of " +"list objects:" +msgstr "" +"Тип даних списку має ще кілька методів. Ось усі методи об’єктів списку:" + +msgid "" +"Add an item to the end of the list. Equivalent to ``a[len(a):] = [x]``." +msgstr "Додайте елемент у кінець списку. Еквівалент ``a[len(a):] = [x]``." + +msgid "" +"Extend the list by appending all the items from the iterable. Equivalent to " +"``a[len(a):] = iterable``." +msgstr "" +"Розширте список, додавши всі елементи з iterable. Еквівалент ``a[len(a):] = " +"iterable``." + +msgid "" +"Insert an item at a given position. The first argument is the index of the " +"element before which to insert, so ``a.insert(0, x)`` inserts at the front " +"of the list, and ``a.insert(len(a), x)`` is equivalent to ``a.append(x)``." +msgstr "" +"Вставте елемент у задану позицію. Перший аргумент — це індекс елемента, " +"перед яким потрібно вставити, тому ``a.insert(0, x)`` вставляє на початку " +"списку, а ``a.insert(len(a), x)`` еквівалентно ``a.append(x)``." + +msgid "" +"Remove the first item from the list whose value is equal to *x*. It raises " +"a :exc:`ValueError` if there is no such item." +msgstr "" +"Видаліть зі списку перший елемент, значення якого дорівнює *x*. Це викликає :" +"exc:`ValueError`, якщо такого елемента немає." + +msgid "" +"Remove the item at the given position in the list, and return it. If no " +"index is specified, ``a.pop()`` removes and returns the last item in the " +"list. (The square brackets around the *i* in the method signature denote " +"that the parameter is optional, not that you should type square brackets at " +"that position. You will see this notation frequently in the Python Library " +"Reference.)" +msgstr "" +"Видаліть елемент у вказаній позиції у списку та поверніть його. Якщо індекс " +"не вказано, ``a.pop()`` видаляє та повертає останній елемент у списку. " +"(Квадратні дужки навколо *i* в сигнатурі методу означають, що параметр є " +"необов’язковим, а не те, що ви повинні вводити квадратні дужки в цій " +"позиції. Ви часто побачите це позначення в Довіднику з бібліотеки Python.)" + +msgid "Remove all items from the list. Equivalent to ``del a[:]``." +msgstr "Видалити всі елементи зі списку. Еквівалент ``del a[:]``." + +msgid "" +"Return zero-based index in the list of the first item whose value is equal " +"to *x*. Raises a :exc:`ValueError` if there is no such item." +msgstr "" +"Повертає індекс від нуля в списку першого елемента, значення якого дорівнює " +"*x*. Викликає :exc:`ValueError`, якщо такого елемента немає." + +msgid "" +"The optional arguments *start* and *end* are interpreted as in the slice " +"notation and are used to limit the search to a particular subsequence of the " +"list. The returned index is computed relative to the beginning of the full " +"sequence rather than the *start* argument." +msgstr "" +"Необов’язкові аргументи *start* і *end* інтерпретуються так само, як і в " +"нотації фрагментів, і використовуються для обмеження пошуку певною " +"підпослідовністю списку. Повернений індекс обчислюється відносно початку " +"повної послідовності, а не аргументу *start*." + +msgid "Return the number of times *x* appears in the list." +msgstr "Повертає кількість разів *x* у списку." + +msgid "" +"Sort the items of the list in place (the arguments can be used for sort " +"customization, see :func:`sorted` for their explanation)." +msgstr "" +"Відсортуйте елементи списку за місцем (аргументи можна використовувати для " +"налаштування сортування, див. :func:`sorted` для їх пояснення)." + +msgid "Reverse the elements of the list in place." +msgstr "Переверніть елементи списку на місці." + +msgid "Return a shallow copy of the list. Equivalent to ``a[:]``." +msgstr "Поверніть мілку копію списку. Еквівалент ``a[:]``." + +msgid "An example that uses most of the list methods::" +msgstr "Приклад, який використовує більшість методів списку::" + +msgid "" +"You might have noticed that methods like ``insert``, ``remove`` or ``sort`` " +"that only modify the list have no return value printed -- they return the " +"default ``None``. [#]_ This is a design principle for all mutable data " +"structures in Python." +msgstr "" + +msgid "" +"Another thing you might notice is that not all data can be sorted or " +"compared. For instance, ``[None, 'hello', 10]`` doesn't sort because " +"integers can't be compared to strings and *None* can't be compared to other " +"types. Also, there are some types that don't have a defined ordering " +"relation. For example, ``3+4j < 5+7j`` isn't a valid comparison." +msgstr "" +"Інша річ, яку ви можете помітити, це те, що не всі дані можна відсортувати " +"або порівняти. Наприклад, ``[None, 'hello', 10]`` не сортує, оскільки цілі " +"числа не можна порівняти з рядками, а *None* не можна порівняти з іншими " +"типами. Крім того, є деякі типи, які не мають визначеного зв’язку порядку. " +"Наприклад, ``3+4j < 5+7j`` не є дійсним порівнянням." + +msgid "Using Lists as Stacks" +msgstr "Використання списків як стеків" + +msgid "" +"The list methods make it very easy to use a list as a stack, where the last " +"element added is the first element retrieved (\"last-in, first-out\"). To " +"add an item to the top of the stack, use :meth:`append`. To retrieve an " +"item from the top of the stack, use :meth:`pop` without an explicit index. " +"For example::" +msgstr "" +"Методи списку дозволяють дуже легко використовувати список як стек, де " +"останній доданий елемент є першим отриманим елементом (\"останній прийшов, " +"перший вийшов\"). Щоб додати елемент на вершину стека, використовуйте :meth:" +"`append`. Щоб отримати елемент із вершини стека, використовуйте :meth:`pop` " +"без явного індексу. Наприклад::" + +msgid "Using Lists as Queues" +msgstr "Використання списків як черг" + +msgid "" +"It is also possible to use a list as a queue, where the first element added " +"is the first element retrieved (\"first-in, first-out\"); however, lists are " +"not efficient for this purpose. While appends and pops from the end of list " +"are fast, doing inserts or pops from the beginning of a list is slow " +"(because all of the other elements have to be shifted by one)." +msgstr "" +"Також можна використовувати список як чергу, де перший доданий елемент є " +"першим отриманим елементом (\"першим увійшов, першим вийшов\"); однак списки " +"не ефективні для цієї мети. У той час як додавання та висування з кінця " +"списку є швидкими, виконання вставок або висунення з початку списку " +"відбувається повільно (оскільки всі інші елементи мають бути зміщені на " +"одиницю)." + +msgid "" +"To implement a queue, use :class:`collections.deque` which was designed to " +"have fast appends and pops from both ends. For example::" +msgstr "" +"Щоб реалізувати чергу, використовуйте :class:`collections.deque`, який був " +"розроблений для швидкого додавання та висування з обох кінців. Наприклад::" + +msgid "List Comprehensions" +msgstr "Розуміння списку" + +msgid "" +"List comprehensions provide a concise way to create lists. Common " +"applications are to make new lists where each element is the result of some " +"operations applied to each member of another sequence or iterable, or to " +"create a subsequence of those elements that satisfy a certain condition." +msgstr "" +"Розуміння списків забезпечує стислий спосіб створення списків. Загальні " +"застосування полягають у створенні нових списків, де кожен елемент є " +"результатом деяких операцій, застосованих до кожного члена іншої " +"послідовності або ітерації, або створення підпослідовності тих елементів, " +"які задовольняють певну умову." + +msgid "For example, assume we want to create a list of squares, like::" +msgstr "" +"Наприклад, припустимо, що ми хочемо створити список квадратів, наприклад:" + +msgid "" +"Note that this creates (or overwrites) a variable named ``x`` that still " +"exists after the loop completes. We can calculate the list of squares " +"without any side effects using::" +msgstr "" +"Зауважте, що це створює (або перезаписує) змінну з назвою ``x``, яка все ще " +"існує після завершення циклу. Ми можемо обчислити список квадратів без " +"побічних ефектів за допомогою:" + +msgid "or, equivalently::" +msgstr "або, що еквівалентно::" + +msgid "which is more concise and readable." +msgstr "який більш стислий і читабельний." + +msgid "" +"A list comprehension consists of brackets containing an expression followed " +"by a :keyword:`!for` clause, then zero or more :keyword:`!for` or :keyword:`!" +"if` clauses. The result will be a new list resulting from evaluating the " +"expression in the context of the :keyword:`!for` and :keyword:`!if` clauses " +"which follow it. For example, this listcomp combines the elements of two " +"lists if they are not equal::" +msgstr "" +"Розуміння списку складається з дужок, які містять вираз, після якого йде " +"речення :keyword:`!for`, потім нуль або більше речень :keyword:`!for` або :" +"keyword:`!if`. Результатом буде новий список, отриманий в результаті " +"обчислення виразу в контексті речень :keyword:`!for` і :keyword:`!if`, які " +"слідують за ним. Наприклад, цей listcomp поєднує елементи двох списків, якщо " +"вони не рівні:" + +msgid "and it's equivalent to::" +msgstr "і це еквівалентно::" + +msgid "" +"Note how the order of the :keyword:`for` and :keyword:`if` statements is the " +"same in both these snippets." +msgstr "" +"Зверніть увагу, що порядок операторів :keyword:`for` і :keyword:`if` " +"однаковий в обох цих фрагментах." + +msgid "" +"If the expression is a tuple (e.g. the ``(x, y)`` in the previous example), " +"it must be parenthesized. ::" +msgstr "" +"Якщо вираз є кортежем (наприклад, ``(x, y)`` у попередньому прикладі), його " +"потрібно взяти в дужки. ::" + +msgid "" +"List comprehensions can contain complex expressions and nested functions::" +msgstr "Розуміння списків може містити складні вирази та вкладені функції:" + +msgid "Nested List Comprehensions" +msgstr "Розуміння вкладених списків" + +msgid "" +"The initial expression in a list comprehension can be any arbitrary " +"expression, including another list comprehension." +msgstr "" +"Початковим виразом у розуміння списку може бути будь-який довільний вираз, " +"включаючи інший розуміння списку." + +msgid "" +"Consider the following example of a 3x4 matrix implemented as a list of 3 " +"lists of length 4::" +msgstr "" +"Розглянемо наступний приклад матриці 3x4, реалізованої як список із 3 " +"списків довжини 4::" + +msgid "The following list comprehension will transpose rows and columns::" +msgstr "Наступне розуміння списку транспонує рядки та стовпці:" + +msgid "" +"As we saw in the previous section, the inner list comprehension is evaluated " +"in the context of the :keyword:`for` that follows it, so this example is " +"equivalent to::" +msgstr "" + +msgid "which, in turn, is the same as::" +msgstr "що, у свою чергу, те саме, що::" + +msgid "" +"In the real world, you should prefer built-in functions to complex flow " +"statements. The :func:`zip` function would do a great job for this use case::" +msgstr "" +"У реальному світі вам слід віддавати перевагу вбудованим функціям перед " +"складними операторами потоку. Функція :func:`zip` чудово впорається з цим " +"випадком використання::" + +msgid "" +"See :ref:`tut-unpacking-arguments` for details on the asterisk in this line." +msgstr "" +"Перегляньте :ref:`tut-unpacking-arguments`, щоб дізнатися більше про зірочку " +"в цьому рядку." + +msgid "The :keyword:`!del` statement" +msgstr "Оператор :keyword:`!del`" + +msgid "" +"There is a way to remove an item from a list given its index instead of its " +"value: the :keyword:`del` statement. This differs from the :meth:`pop` " +"method which returns a value. The :keyword:`!del` statement can also be " +"used to remove slices from a list or clear the entire list (which we did " +"earlier by assignment of an empty list to the slice). For example::" +msgstr "" +"Існує спосіб видалити елемент зі списку, враховуючи його індекс замість " +"значення: оператор :keyword:`del`. Це відрізняється від методу :meth:`pop`, " +"який повертає значення. Оператор :keyword:`!del` також можна використовувати " +"для видалення фрагментів зі списку або очищення всього списку (що ми зробили " +"раніше, призначивши фрагменту порожній список). Наприклад::" + +msgid ":keyword:`del` can also be used to delete entire variables::" +msgstr "" +":keyword:`del` також можна використовувати для видалення змінних повністю::" + +msgid "" +"Referencing the name ``a`` hereafter is an error (at least until another " +"value is assigned to it). We'll find other uses for :keyword:`del` later." +msgstr "" +"Посилання на назву ``a`` у подальшому є помилкою (принаймні доти, доки їй не " +"буде присвоєно інше значення). Пізніше ми знайдемо інші способи " +"використання :keyword:`del`." + +msgid "Tuples and Sequences" +msgstr "Кортежі та послідовності" + +msgid "" +"We saw that lists and strings have many common properties, such as indexing " +"and slicing operations. They are two examples of *sequence* data types " +"(see :ref:`typesseq`). Since Python is an evolving language, other sequence " +"data types may be added. There is also another standard sequence data type: " +"the *tuple*." +msgstr "" +"Ми побачили, що списки та рядки мають багато спільних властивостей, таких як " +"операції індексування та нарізки. Це два приклади типів даних *sequence* " +"(див. :ref:`typesseq`). Оскільки Python є мовою, що розвивається, можна " +"додавати інші типи даних послідовності. Існує ще один стандартний тип даних " +"послідовності: *кортеж*." + +msgid "" +"A tuple consists of a number of values separated by commas, for instance::" +msgstr "Кортеж складається з кількох значень, розділених комами, наприклад::" + +msgid "" +"As you see, on output tuples are always enclosed in parentheses, so that " +"nested tuples are interpreted correctly; they may be input with or without " +"surrounding parentheses, although often parentheses are necessary anyway (if " +"the tuple is part of a larger expression). It is not possible to assign to " +"the individual items of a tuple, however it is possible to create tuples " +"which contain mutable objects, such as lists." +msgstr "" +"Як ви бачите, на виході кортежі завжди взяті в круглі дужки, так що вкладені " +"кортежі інтерпретуються правильно; вони можуть бути введені з круглими " +"дужками або без них, хоча часто дужки все одно необхідні (якщо кортеж є " +"частиною більшого виразу). Неможливо призначити окремі елементи кортежу, " +"однак можна створити кортежі, які містять змінні об’єкти, наприклад списки." + +msgid "" +"Though tuples may seem similar to lists, they are often used in different " +"situations and for different purposes. Tuples are :term:`immutable`, and " +"usually contain a heterogeneous sequence of elements that are accessed via " +"unpacking (see later in this section) or indexing (or even by attribute in " +"the case of :func:`namedtuples `). Lists are :term:" +"`mutable`, and their elements are usually homogeneous and are accessed by " +"iterating over the list." +msgstr "" +"Хоча кортежі можуть здаватися схожими на списки, вони часто використовуються " +"в різних ситуаціях і для різних цілей. Кортежі є :term:`immutable` і " +"зазвичай містять різнорідну послідовність елементів, доступ до яких " +"здійснюється через розпакування (див. далі в цьому розділі) або індексування " +"(або навіть за атрибутом у випадку :func:`namedtuples `). Списки є :term:`mutable`, і їхні елементи, як правило, є " +"однорідними та доступні за допомогою ітерації по списку." + +msgid "" +"A special problem is the construction of tuples containing 0 or 1 items: the " +"syntax has some extra quirks to accommodate these. Empty tuples are " +"constructed by an empty pair of parentheses; a tuple with one item is " +"constructed by following a value with a comma (it is not sufficient to " +"enclose a single value in parentheses). Ugly, but effective. For example::" +msgstr "" +"Особливою проблемою є побудова кортежів, що містять 0 або 1 елемент: " +"синтаксис має деякі додаткові примхи для їх врахування. Порожні кортежі " +"будуються за допомогою порожньої пари круглих дужок; кортеж з одним " +"елементом створюється шляхом коми після значення (недостатньо взяти одне " +"значення в дужки). Негарно, але ефективно. Наприклад::" + +msgid "" +"The statement ``t = 12345, 54321, 'hello!'`` is an example of *tuple " +"packing*: the values ``12345``, ``54321`` and ``'hello!'`` are packed " +"together in a tuple. The reverse operation is also possible::" +msgstr "" +"Оператор ``t = 12345, 54321, 'hello!'`` є прикладом *упакування кортежів*: " +"значення ``12345``, ``54321`` і ``'hello!''`` упаковуються разом в кортежі. " +"Можлива і зворотна операція:" + +msgid "" +"This is called, appropriately enough, *sequence unpacking* and works for any " +"sequence on the right-hand side. Sequence unpacking requires that there are " +"as many variables on the left side of the equals sign as there are elements " +"in the sequence. Note that multiple assignment is really just a combination " +"of tuple packing and sequence unpacking." +msgstr "" +"Це називається, доречно, *розпакуванням послідовності* і працює для будь-" +"якої послідовності в правій частині. Розпакування послідовності вимагає, щоб " +"ліворуч від знака рівності було стільки змінних, скільки елементів у " +"послідовності. Зауважте, що множинне призначення насправді є лише " +"комбінацією упаковки кортежів і розпакування послідовності." + +msgid "Sets" +msgstr "Набори" + +msgid "" +"Python also includes a data type for *sets*. A set is an unordered " +"collection with no duplicate elements. Basic uses include membership " +"testing and eliminating duplicate entries. Set objects also support " +"mathematical operations like union, intersection, difference, and symmetric " +"difference." +msgstr "" +"Python також містить тип даних для *наборів*. Набір — це невпорядкована " +"колекція без повторюваних елементів. Основні способи використання включають " +"тестування членства та усунення повторюваних записів. Об’єкти множини також " +"підтримують математичні операції, такі як об’єднання, перетин, різниця та " +"симетрична різниця." + +msgid "" +"Curly braces or the :func:`set` function can be used to create sets. Note: " +"to create an empty set you have to use ``set()``, not ``{}``; the latter " +"creates an empty dictionary, a data structure that we discuss in the next " +"section." +msgstr "" +"Для створення наборів можна використовувати фігурні дужки або функцію :func:" +"`set`. Примітка: щоб створити порожній набір, потрібно використовувати " +"``set()``, а не ``{}``; останній створює порожній словник, структуру даних, " +"яку ми обговоримо в наступному розділі." + +msgid "Here is a brief demonstration::" +msgstr "Ось коротка демонстрація:" + +msgid "" +"Similarly to :ref:`list comprehensions `, set comprehensions " +"are also supported::" +msgstr "" +"Подібно до :ref:`списків розуміння `, також підтримуються " +"набір розуміння::" + +msgid "Dictionaries" +msgstr "словники" + +msgid "" +"Another useful data type built into Python is the *dictionary* (see :ref:" +"`typesmapping`). Dictionaries are sometimes found in other languages as " +"\"associative memories\" or \"associative arrays\". Unlike sequences, which " +"are indexed by a range of numbers, dictionaries are indexed by *keys*, which " +"can be any immutable type; strings and numbers can always be keys. Tuples " +"can be used as keys if they contain only strings, numbers, or tuples; if a " +"tuple contains any mutable object either directly or indirectly, it cannot " +"be used as a key. You can't use lists as keys, since lists can be modified " +"in place using index assignments, slice assignments, or methods like :meth:" +"`append` and :meth:`extend`." +msgstr "" +"Іншим корисним типом даних, вбудованим у Python, є *словник* (див. :ref:" +"`typesmapping`). Словники іноді зустрічаються в інших мовах як \"асоціативні " +"пам’яті\" або \"асоціативні масиви\". На відміну від послідовностей, які " +"індексуються діапазоном чисел, словники індексуються *ключами*, які можуть " +"бути будь-якого незмінного типу; рядки та числа завжди можуть бути ключами. " +"Кортежі можна використовувати як ключі, якщо вони містять лише рядки, числа " +"або кортежі; якщо кортеж містить будь-який змінний об'єкт прямо чи " +"опосередковано, його не можна використовувати як ключ. Ви не можете " +"використовувати списки як ключі, оскільки списки можна змінювати на місці за " +"допомогою призначення індексу, призначення фрагментів або таких методів, як :" +"meth:`append` і :meth:`extend`." + +msgid "" +"It is best to think of a dictionary as a set of *key: value* pairs, with the " +"requirement that the keys are unique (within one dictionary). A pair of " +"braces creates an empty dictionary: ``{}``. Placing a comma-separated list " +"of key:value pairs within the braces adds initial key:value pairs to the " +"dictionary; this is also the way dictionaries are written on output." +msgstr "" +"Найкраще думати про словник як про набір пар *ключ:значення* з вимогою, щоб " +"ключі були унікальними (в межах одного словника). Пара фігурних дужок " +"створює порожній словник: ``{}``. Розміщення розділених комами списку пар " +"ключ:значення в фігурних дужках додає початкові пари ключ:значення до " +"словника; це також спосіб написання словників на виході." + +msgid "" +"The main operations on a dictionary are storing a value with some key and " +"extracting the value given the key. It is also possible to delete a key:" +"value pair with ``del``. If you store using a key that is already in use, " +"the old value associated with that key is forgotten. It is an error to " +"extract a value using a non-existent key." +msgstr "" +"Основними операціями зі словником є збереження значення з деяким ключем і " +"вилучення значення з заданим ключем. Також можна видалити пару ключ:значення " +"за допомогою ``del``. Якщо ви зберігаєте за допомогою ключа, який уже " +"використовується, старе значення, пов’язане з цим ключем, забувається. " +"Видобування значення за допомогою неіснуючого ключа є помилкою." + +msgid "" +"Performing ``list(d)`` on a dictionary returns a list of all the keys used " +"in the dictionary, in insertion order (if you want it sorted, just use " +"``sorted(d)`` instead). To check whether a single key is in the dictionary, " +"use the :keyword:`in` keyword." +msgstr "" +"Виконання ``list(d)`` для словника повертає список усіх ключів, використаних " +"у словнику, у порядку вставки (якщо ви хочете, щоб він був відсортований, " +"просто використовуйте ``sorted(d)``). Щоб перевірити, чи є один ключ у " +"словнику, використовуйте ключове слово :keyword:`in`." + +msgid "Here is a small example using a dictionary::" +msgstr "Ось невеликий приклад використання словника::" + +msgid "" +"The :func:`dict` constructor builds dictionaries directly from sequences of " +"key-value pairs::" +msgstr "" +"Конструктор :func:`dict` створює словники безпосередньо з послідовностей пар " +"ключ-значення:" + +msgid "" +"In addition, dict comprehensions can be used to create dictionaries from " +"arbitrary key and value expressions::" +msgstr "" +"Крім того, розуміння dict можна використовувати для створення словників із " +"довільних ключів і виразів значень:" + +msgid "" +"When the keys are simple strings, it is sometimes easier to specify pairs " +"using keyword arguments::" +msgstr "" +"Коли ключі є простими рядками, інколи легше вказати пари за допомогою " +"аргументів ключових слів::" + +msgid "Looping Techniques" +msgstr "Техніка циклу" + +msgid "" +"When looping through dictionaries, the key and corresponding value can be " +"retrieved at the same time using the :meth:`items` method. ::" +msgstr "" +"Під час циклічного перегляду словників ключ і відповідне значення можна " +"отримати одночасно за допомогою методу :meth:`items`. ::" + +msgid "" +"When looping through a sequence, the position index and corresponding value " +"can be retrieved at the same time using the :func:`enumerate` function. ::" +msgstr "" +"Під час циклічного перегляду послідовності індекс позиції та відповідне " +"значення можна отримати одночасно за допомогою функції :func:`enumerate`. ::" + +msgid "" +"To loop over two or more sequences at the same time, the entries can be " +"paired with the :func:`zip` function. ::" +msgstr "" +"Щоб перейти до двох або більше послідовностей одночасно, записи можна " +"поєднати з функцією :func:`zip`. ::" + +msgid "" +"To loop over a sequence in reverse, first specify the sequence in a forward " +"direction and then call the :func:`reversed` function. ::" +msgstr "" +"Щоб виконати цикл у зворотному напрямку, спочатку вкажіть послідовність у " +"прямому напрямку, а потім викличте функцію :func:`reversed`. ::" + +msgid "" +"To loop over a sequence in sorted order, use the :func:`sorted` function " +"which returns a new sorted list while leaving the source unaltered. ::" +msgstr "" +"Щоб перейти до послідовності у відсортованому порядку, використовуйте " +"функцію :func:`sorted`, яка повертає новий відсортований список, залишаючи " +"джерело без змін. ::" + +msgid "" +"Using :func:`set` on a sequence eliminates duplicate elements. The use of :" +"func:`sorted` in combination with :func:`set` over a sequence is an " +"idiomatic way to loop over unique elements of the sequence in sorted " +"order. ::" +msgstr "" +"Використання :func:`set` у послідовності усуває повторювані елементи. " +"Використання :func:`sorted` у поєднанні з :func:`set` над послідовністю є " +"ідіоматичним способом проходження унікальних елементів послідовності в " +"порядку сортування. ::" + +msgid "" +"It is sometimes tempting to change a list while you are looping over it; " +"however, it is often simpler and safer to create a new list instead. ::" +msgstr "" +"Іноді виникає спокуса змінити список, поки ви переглядаєте його; однак часто " +"простіше й безпечніше створити новий список. ::" + +msgid "More on Conditions" +msgstr "Детальніше про умови" + +msgid "" +"The conditions used in ``while`` and ``if`` statements can contain any " +"operators, not just comparisons." +msgstr "" +"Умови, які використовуються в операторах while і if, можуть містити будь-які " +"оператори, а не лише порівняння." + +msgid "" +"The comparison operators ``in`` and ``not in`` are membership tests that " +"determine whether a value is in (or not in) a container. The operators " +"``is`` and ``is not`` compare whether two objects are really the same " +"object. All comparison operators have the same priority, which is lower " +"than that of all numerical operators." +msgstr "" +"Оператори порівняння ``in`` і ``not in`` — це тести на приналежність, які " +"визначають, чи є значення в контейнері (чи ні). Оператори ``is`` і ``is " +"not`` порівнюють, чи дійсно два об’єкти є одним і тим же об’єктом. Усі " +"оператори порівняння мають однаковий пріоритет, який нижчий, ніж у всіх " +"числових операторів." + +msgid "" +"Comparisons can be chained. For example, ``a < b == c`` tests whether ``a`` " +"is less than ``b`` and moreover ``b`` equals ``c``." +msgstr "" +"Порівняння можуть бути ланцюжками. Наприклад, ``a < b == c`` перевіряє, чи " +"``a`` є меншим за ``b`` і, крім того, ``b`` дорівнює ``c``." + +msgid "" +"Comparisons may be combined using the Boolean operators ``and`` and ``or``, " +"and the outcome of a comparison (or of any other Boolean expression) may be " +"negated with ``not``. These have lower priorities than comparison " +"operators; between them, ``not`` has the highest priority and ``or`` the " +"lowest, so that ``A and not B or C`` is equivalent to ``(A and (not B)) or " +"C``. As always, parentheses can be used to express the desired composition." +msgstr "" +"Порівняння можна комбінувати за допомогою логічних операторів ``and`` і " +"``or``, а результат порівняння (або будь-якого іншого логічного виразу) " +"можна заперечувати за допомогою ``not``. Вони мають нижчий пріоритет, ніж " +"оператори порівняння; між ними ``not`` має найвищий пріоритет, а ``or`` " +"найнижчий, так що ``A and not B or C`` еквівалентно ``(A and (not B)) or " +"C`` . Як завжди, дужки можна використовувати для вираження бажаної " +"композиції." + +msgid "" +"The Boolean operators ``and`` and ``or`` are so-called *short-circuit* " +"operators: their arguments are evaluated from left to right, and evaluation " +"stops as soon as the outcome is determined. For example, if ``A`` and ``C`` " +"are true but ``B`` is false, ``A and B and C`` does not evaluate the " +"expression ``C``. When used as a general value and not as a Boolean, the " +"return value of a short-circuit operator is the last evaluated argument." +msgstr "" +"Логічні оператори ``and`` і ``or`` є так званими операторами *короткого " +"замикання*: їхні аргументи обчислюються зліва направо, і обчислення " +"припиняється, щойно визначається результат. Наприклад, якщо ``A`` і ``C`` є " +"істинними, ``B`` є хибними, ``A and B and C`` не обчислює вираз ``C``. Якщо " +"використовується як загальне значення, а не як логічне, значення, що " +"повертається оператором короткого замикання, є останнім обчисленим " +"аргументом." + +msgid "" +"It is possible to assign the result of a comparison or other Boolean " +"expression to a variable. For example, ::" +msgstr "" +"Змінній можна призначити результат порівняння або інший логічний вираз. " +"Наприклад, ::" + +msgid "" +"Note that in Python, unlike C, assignment inside expressions must be done " +"explicitly with the :ref:`walrus operator ` ``:=``. This avoids a common class of problems encountered " +"in C programs: typing ``=`` in an expression when ``==`` was intended." +msgstr "" +"Зауважте, що в Python, на відміну від C, призначення всередині виразів має " +"виконуватися явно за допомогою оператора :ref:`walrus ` ``:=``. Це дозволяє уникнути типових проблем, " +"які виникають у програмах на C: введення ``=`` у виразі, коли передбачалося " +"``==``." + +msgid "Comparing Sequences and Other Types" +msgstr "Порівняння послідовностей та інших типів" + +msgid "" +"Sequence objects typically may be compared to other objects with the same " +"sequence type. The comparison uses *lexicographical* ordering: first the " +"first two items are compared, and if they differ this determines the outcome " +"of the comparison; if they are equal, the next two items are compared, and " +"so on, until either sequence is exhausted. If two items to be compared are " +"themselves sequences of the same type, the lexicographical comparison is " +"carried out recursively. If all items of two sequences compare equal, the " +"sequences are considered equal. If one sequence is an initial sub-sequence " +"of the other, the shorter sequence is the smaller (lesser) one. " +"Lexicographical ordering for strings uses the Unicode code point number to " +"order individual characters. Some examples of comparisons between sequences " +"of the same type::" +msgstr "" +"Об’єкти послідовності зазвичай можна порівнювати з іншими об’єктами того " +"самого типу послідовності. Порівняння використовує *лексикографічне* " +"впорядкування: спочатку порівнюються перші два елементи, і якщо вони " +"відрізняються, це визначає результат порівняння; якщо вони рівні, наступні " +"два елементи порівнюються і так далі, поки будь-яка послідовність не буде " +"вичерпана. Якщо два елементи для порівняння самі є послідовностями одного " +"типу, лексикографічне порівняння виконується рекурсивно. Якщо всі елементи " +"двох послідовностей порівняно однакові, послідовності вважаються рівними. " +"Якщо одна послідовність є початковою підпослідовністю іншої, коротша " +"послідовність є меншою (меншою). Лексикографічне впорядкування для рядків " +"використовує номер кодової точки Unicode для впорядкування окремих символів. " +"Деякі приклади порівнянь між послідовностями одного типу:" + +msgid "" +"Note that comparing objects of different types with ``<`` or ``>`` is legal " +"provided that the objects have appropriate comparison methods. For example, " +"mixed numeric types are compared according to their numeric value, so 0 " +"equals 0.0, etc. Otherwise, rather than providing an arbitrary ordering, " +"the interpreter will raise a :exc:`TypeError` exception." +msgstr "" +"Зауважте, що порівняння об’єктів різних типів за допомогою ``<`` or ``>`` є " +"законним за умови, що об’єкти мають відповідні методи порівняння. Наприклад, " +"змішані числові типи порівнюються відповідно до їхнього числового значення, " +"тому 0 дорівнює 0,0 тощо. В іншому випадку, замість надання довільного " +"порядку, інтерпретатор викличе виняток :exc:`TypeError`." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Other languages may return the mutated object, which allows method chaining, " +"such as ``d->insert(\"a\")->remove(\"b\")->sort();``." +msgstr "" +"Інші мови можуть повертати змінений об’єкт, що дозволяє об’єднувати методи, " +"наприклад ``d->insert(\"a\")->remove(\"b\")->sort();``." diff --git a/tutorial/errors.po b/tutorial/errors.po new file mode 100644 index 000000000..02db4b3b5 --- /dev/null +++ b/tutorial/errors.po @@ -0,0 +1,565 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Nadiia Gorash , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Nadiia Gorash , 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Errors and Exceptions" +msgstr "Помилки та винятки" + +msgid "" +"Until now error messages haven't been more than mentioned, but if you have " +"tried out the examples you have probably seen some. There are (at least) " +"two distinguishable kinds of errors: *syntax errors* and *exceptions*." +msgstr "" +"До цього часу повідомлення про помилки не згадувалися, але якщо ви " +"спробували приклади, ви, ймовірно, бачили деякі. Існує (принаймні) два " +"різновиди помилок: *синтаксичні помилки* та *винятки*." + +msgid "Syntax Errors" +msgstr "Синтаксичні помилки" + +msgid "" +"Syntax errors, also known as parsing errors, are perhaps the most common " +"kind of complaint you get while you are still learning Python::" +msgstr "" +"Синтаксичні помилки, також відомі як помилки синтаксичного аналізу, є, " +"мабуть, найпоширенішим типом скарг, які ви отримуєте, поки вивчаєте Python::" + +msgid "" +"The parser repeats the offending line and displays a little 'arrow' pointing " +"at the earliest point in the line where the error was detected. The error " +"is caused by (or at least detected at) the token *preceding* the arrow: in " +"the example, the error is detected at the function :func:`print`, since a " +"colon (``':'``) is missing before it. File name and line number are printed " +"so you know where to look in case the input came from a script." +msgstr "" +"Синтаксичний аналізатор повторює неправильний рядок і відображає маленьку " +"\"стрілку\", яка вказує на найранішу точку рядка, де було виявлено помилку. " +"Помилка спричинена (або принаймні виявлена) маркером *перед* стрілкою: у " +"прикладі помилка виявлена у функції :func:`print`, оскільки двокрапка " +"(``':'``) перед ним відсутній. Ім'я файлу та номер рядка друкуються, щоб ви " +"знали, де шукати, якщо вхідні дані надійшли зі сценарію." + +msgid "Exceptions" +msgstr "Винятки" + +msgid "" +"Even if a statement or expression is syntactically correct, it may cause an " +"error when an attempt is made to execute it. Errors detected during " +"execution are called *exceptions* and are not unconditionally fatal: you " +"will soon learn how to handle them in Python programs. Most exceptions are " +"not handled by programs, however, and result in error messages as shown " +"here::" +msgstr "" +"Навіть якщо оператор або вираз синтаксично правильний, це може спричинити " +"помилку під час спроби його виконання. Помилки, виявлені під час виконання, " +"називаються *винятками* і не є безумовно фатальними: незабаром ви " +"дізнаєтесь, як їх обробляти в програмах Python. Однак більшість винятків не " +"обробляються програмами, і вони призводять до повідомлень про помилки, як " +"показано тут::" + +msgid "" +"The last line of the error message indicates what happened. Exceptions come " +"in different types, and the type is printed as part of the message: the " +"types in the example are :exc:`ZeroDivisionError`, :exc:`NameError` and :exc:" +"`TypeError`. The string printed as the exception type is the name of the " +"built-in exception that occurred. This is true for all built-in exceptions, " +"but need not be true for user-defined exceptions (although it is a useful " +"convention). Standard exception names are built-in identifiers (not reserved " +"keywords)." +msgstr "" +"Останній рядок повідомлення про помилку вказує на те, що сталося. Винятки " +"бувають різних типів, і тип друкується як частина повідомлення: типи в " +"прикладі: :exc:`ZeroDivisionError`, :exc:`NameError` і :exc:`TypeError`. " +"Рядок, надрукований як тип винятку, є назвою вбудованого винятку, який " +"стався. Це справедливо для всіх вбудованих винятків, але не обов’язково для " +"винятків, визначених користувачем (хоча це корисна угода). Стандартні назви " +"винятків є вбудованими ідентифікаторами (а не зарезервованими ключовими " +"словами)." + +msgid "" +"The rest of the line provides detail based on the type of exception and what " +"caused it." +msgstr "" +"Решта рядка надає деталі на основі типу винятку та причини його виникнення." + +msgid "" +"The preceding part of the error message shows the context where the " +"exception occurred, in the form of a stack traceback. In general it contains " +"a stack traceback listing source lines; however, it will not display lines " +"read from standard input." +msgstr "" +"Попередня частина повідомлення про помилку показує контекст, у якому сталася " +"виняток, у формі зворотного стека. Загалом, він містить зворотне трасування " +"стека зі списком вихідних рядків; однак він не відображатиме рядки, " +"прочитані зі стандартного введення." + +msgid "" +":ref:`bltin-exceptions` lists the built-in exceptions and their meanings." +msgstr "" +":ref:`bltin-exceptions` містить список вбудованих винятків та їх значення." + +msgid "Handling Exceptions" +msgstr "Обробка винятків" + +msgid "" +"It is possible to write programs that handle selected exceptions. Look at " +"the following example, which asks the user for input until a valid integer " +"has been entered, but allows the user to interrupt the program (using :kbd:" +"`Control-C` or whatever the operating system supports); note that a user-" +"generated interruption is signalled by raising the :exc:`KeyboardInterrupt` " +"exception. ::" +msgstr "" +"Можна писати програми, які оброблятимуть вибрані винятки. Подивіться на " +"наступний приклад, який запитує у користувача введення, доки не буде введено " +"дійсне ціле число, але дозволяє користувачеві перервати програму (за " +"допомогою :kbd:`Control-C` або іншого, що підтримується операційною " +"системою); зауважте, що створене користувачем переривання сигналізується за " +"допомогою виклику винятку :exc:`KeyboardInterrupt`. ::" + +msgid "The :keyword:`try` statement works as follows." +msgstr "Оператор :keyword:`try` працює наступним чином." + +msgid "" +"First, the *try clause* (the statement(s) between the :keyword:`try` and :" +"keyword:`except` keywords) is executed." +msgstr "" +"Спочатку виконується пропозиція *try* (вираз(и) між ключовими словами :" +"keyword:`try` і :keyword:`except`)." + +msgid "" +"If no exception occurs, the *except clause* is skipped and execution of the :" +"keyword:`try` statement is finished." +msgstr "" +"Якщо винятків не відбувається, пункт *except* пропускається, і виконання " +"оператора :keyword:`try` завершується." + +msgid "" +"If an exception occurs during execution of the :keyword:`try` clause, the " +"rest of the clause is skipped. Then, if its type matches the exception " +"named after the :keyword:`except` keyword, the *except clause* is executed, " +"and then execution continues after the try/except block." +msgstr "" +"Якщо під час виконання пропозиції :keyword:`try` виникає виняток, решта " +"пропозиції пропускається. Тоді, якщо його тип відповідає винятку, названому " +"за ключовим словом :keyword:`except`, виконується *except*, а потім " +"виконання продовжується після блоку try/except." + +msgid "" +"If an exception occurs which does not match the exception named in the " +"*except clause*, it is passed on to outer :keyword:`try` statements; if no " +"handler is found, it is an *unhandled exception* and execution stops with a " +"message as shown above." +msgstr "" +"Якщо виникає виняток, який не збігається з винятком, названим у *except " +"пункті*, він передається до зовнішніх операторів :keyword:`try`; якщо " +"обробник не знайдено, це *необроблений виняток* і виконання зупиняється з " +"повідомленням, як показано вище." + +msgid "" +"A :keyword:`try` statement may have more than one *except clause*, to " +"specify handlers for different exceptions. At most one handler will be " +"executed. Handlers only handle exceptions that occur in the corresponding " +"*try clause*, not in other handlers of the same :keyword:`!try` statement. " +"An *except clause* may name multiple exceptions as a parenthesized tuple, " +"for example::" +msgstr "" +"Оператор :keyword:`try` може мати більше ніж одне *виключення*, щоб вказати " +"обробники для різних винятків. Буде виконано щонайбільше один обробник. " +"Обробники обробляють лише винятки, які виникають у відповідному *реченні " +"try*, а не в інших обробниках того самого оператора :keyword:`!try`. Речення " +"*except* може називати кілька винятків у вигляді кортежу в дужках, " +"наприклад::" + +msgid "" +"A class in an :keyword:`except` clause is compatible with an exception if it " +"is the same class or a base class thereof (but not the other way around --- " +"an *except clause* listing a derived class is not compatible with a base " +"class). For example, the following code will print B, C, D in that order::" +msgstr "" +"Клас у реченні :keyword:`except` сумісний із винятком, якщо це той самий " +"клас або його базовий клас (але не навпаки --- речення *except* із переліком " +"похідного класу несумісне з базовий клас). Наприклад, наступний код надрукує " +"B, C, D у такому порядку:" + +msgid "" +"Note that if the *except clauses* were reversed (with ``except B`` first), " +"it would have printed B, B, B --- the first matching *except clause* is " +"triggered." +msgstr "" +"Зауважте, що якби *except пункти* були перевернуті (з ``except B`` " +"спочатку), було б надруковано B, B, B --- спрацьовує перше відповідне " +"*except пункт*." + +msgid "" +"When an exception occurs, it may have associated values, also known as the " +"exception's *arguments*. The presence and types of the arguments depend on " +"the exception type." +msgstr "" + +msgid "" +"The *except clause* may specify a variable after the exception name. The " +"variable is bound to the exception instance which typically has an ``args`` " +"attribute that stores the arguments. For convenience, builtin exception " +"types define :meth:`__str__` to print all the arguments without explicitly " +"accessing ``.args``. ::" +msgstr "" + +msgid "" +"The exception's :meth:`__str__` output is printed as the last part " +"('detail') of the message for unhandled exceptions." +msgstr "" + +msgid "" +":exc:`BaseException` is the common base class of all exceptions. One of its " +"subclasses, :exc:`Exception`, is the base class of all the non-fatal " +"exceptions. Exceptions which are not subclasses of :exc:`Exception` are not " +"typically handled, because they are used to indicate that the program should " +"terminate. They include :exc:`SystemExit` which is raised by :meth:`sys." +"exit` and :exc:`KeyboardInterrupt` which is raised when a user wishes to " +"interrupt the program." +msgstr "" + +msgid "" +":exc:`Exception` can be used as a wildcard that catches (almost) everything. " +"However, it is good practice to be as specific as possible with the types of " +"exceptions that we intend to handle, and to allow any unexpected exceptions " +"to propagate on." +msgstr "" + +msgid "" +"The most common pattern for handling :exc:`Exception` is to print or log the " +"exception and then re-raise it (allowing a caller to handle the exception as " +"well)::" +msgstr "" + +msgid "" +"The :keyword:`try` ... :keyword:`except` statement has an optional *else " +"clause*, which, when present, must follow all *except clauses*. It is " +"useful for code that must be executed if the *try clause* does not raise an " +"exception. For example::" +msgstr "" +"Оператор :keyword:`try` ... :keyword:`except` має необов’язкову пропозицію " +"*else*, яка, якщо є, має слідувати за всіма пропозиціями *except*. Це " +"корисно для коду, який потрібно виконати, якщо *речення* try не викликає " +"винятку. Наприклад::" + +msgid "" +"The use of the :keyword:`!else` clause is better than adding additional code " +"to the :keyword:`try` clause because it avoids accidentally catching an " +"exception that wasn't raised by the code being protected by the :keyword:`!" +"try` ... :keyword:`!except` statement." +msgstr "" +"Використання пропозиції :keyword:`!else` краще, ніж додавання додаткового " +"коду до пропозиції :keyword:`try`, оскільки це дозволяє уникнути випадкового " +"перехоплення виняткової ситуації, яка не була викликана кодом, захищеним :" +"keyword:`!try` ... :keyword:`!except` оператор." + +msgid "" +"Exception handlers do not handle only exceptions that occur immediately in " +"the *try clause*, but also those that occur inside functions that are called " +"(even indirectly) in the *try clause*. For example::" +msgstr "" + +msgid "Raising Exceptions" +msgstr "Створення винятків" + +msgid "" +"The :keyword:`raise` statement allows the programmer to force a specified " +"exception to occur. For example::" +msgstr "" +"Оператор :keyword:`raise` дозволяє програмісту примусово викликати певний " +"виняток. Наприклад::" + +msgid "" +"The sole argument to :keyword:`raise` indicates the exception to be raised. " +"This must be either an exception instance or an exception class (a class " +"that derives from :class:`BaseException`, such as :exc:`Exception` or one of " +"its subclasses). If an exception class is passed, it will be implicitly " +"instantiated by calling its constructor with no arguments::" +msgstr "" + +msgid "" +"If you need to determine whether an exception was raised but don't intend to " +"handle it, a simpler form of the :keyword:`raise` statement allows you to re-" +"raise the exception::" +msgstr "" +"Якщо вам потрібно визначити, чи був викликаний виняток, але ви не маєте " +"наміру його обробляти, простіша форма оператора :keyword:`raise` дозволяє " +"повторно викликати виняток::" + +msgid "Exception Chaining" +msgstr "З’єднання винятків" + +msgid "" +"If an unhandled exception occurs inside an :keyword:`except` section, it " +"will have the exception being handled attached to it and included in the " +"error message::" +msgstr "" + +msgid "" +"To indicate that an exception is a direct consequence of another, the :" +"keyword:`raise` statement allows an optional :keyword:`from` clause::" +msgstr "" + +msgid "This can be useful when you are transforming exceptions. For example::" +msgstr "Це може бути корисним, коли ви перетворюєте винятки. Наприклад::" + +msgid "" +"It also allows disabling automatic exception chaining using the ``from " +"None`` idiom::" +msgstr "" + +msgid "" +"For more information about chaining mechanics, see :ref:`bltin-exceptions`." +msgstr "" +"Для отримання додаткової інформації про механіку ланцюжка див. :ref:`bltin-" +"exceptions`." + +msgid "User-defined Exceptions" +msgstr "Винятки, визначені користувачем" + +msgid "" +"Programs may name their own exceptions by creating a new exception class " +"(see :ref:`tut-classes` for more about Python classes). Exceptions should " +"typically be derived from the :exc:`Exception` class, either directly or " +"indirectly." +msgstr "" +"Програми можуть називати свої власні винятки, створюючи новий клас винятків " +"(перегляньте :ref:`tut-classes`, щоб дізнатися більше про класи Python). " +"Винятки зазвичай мають бути похідними від класу :exc:`Exception`, прямо чи " +"опосередковано." + +msgid "" +"Exception classes can be defined which do anything any other class can do, " +"but are usually kept simple, often only offering a number of attributes that " +"allow information about the error to be extracted by handlers for the " +"exception." +msgstr "" +"Можна визначити класи винятків, які роблять усе, що може зробити будь-який " +"інший клас, але зазвичай вони прості, часто пропонують лише ряд атрибутів, " +"які дозволяють обробникам витягувати інформацію про помилку для винятку." + +msgid "" +"Most exceptions are defined with names that end in \"Error\", similar to the " +"naming of the standard exceptions." +msgstr "" +"Більшість винятків визначаються іменами, які закінчуються на \"Помилка\", " +"подібно до назв стандартних винятків." + +msgid "" +"Many standard modules define their own exceptions to report errors that may " +"occur in functions they define." +msgstr "" + +msgid "Defining Clean-up Actions" +msgstr "Визначення дій з очищення" + +msgid "" +"The :keyword:`try` statement has another optional clause which is intended " +"to define clean-up actions that must be executed under all circumstances. " +"For example::" +msgstr "" +"Інструкція :keyword:`try` має інше необов’язкове положення, призначене для " +"визначення дій очищення, які необхідно виконувати за будь-яких обставин. " +"Наприклад::" + +msgid "" +"If a :keyword:`finally` clause is present, the :keyword:`!finally` clause " +"will execute as the last task before the :keyword:`try` statement completes. " +"The :keyword:`!finally` clause runs whether or not the :keyword:`!try` " +"statement produces an exception. The following points discuss more complex " +"cases when an exception occurs:" +msgstr "" +"Якщо присутня пропозиція :keyword:`finally`, пропозиція :keyword:`!finally` " +"виконуватиметься як останнє завдання перед завершенням інструкції :keyword:" +"`try`. Речення :keyword:`!finally` виконується незалежно від того, створює " +"виняток оператор :keyword:`!try` чи ні. У наступних пунктах розглядаються " +"більш складні випадки, коли виникає виняток:" + +msgid "" +"If an exception occurs during execution of the :keyword:`!try` clause, the " +"exception may be handled by an :keyword:`except` clause. If the exception is " +"not handled by an :keyword:`!except` clause, the exception is re-raised " +"after the :keyword:`!finally` clause has been executed." +msgstr "" +"Якщо виняток виникає під час виконання пропозиції :keyword:`!try`, виняток " +"може бути оброблено за допомогою пропозиції :keyword:`except`. Якщо виняток " +"не обробляється пропозицією :keyword:`!except`, виняток виникає повторно " +"після того, як пропозиція :keyword:`!finally` буде виконана." + +msgid "" +"An exception could occur during execution of an :keyword:`!except` or :" +"keyword:`!else` clause. Again, the exception is re-raised after the :keyword:" +"`!finally` clause has been executed." +msgstr "" +"Виняток може статися під час виконання пропозиції :keyword:`!except` або :" +"keyword:`!else`. Знову ж таки, виняток повторно викликається після виконання " +"пункту :keyword:`!finally`." + +msgid "" +"If the :keyword:`!finally` clause executes a :keyword:`break`, :keyword:" +"`continue` or :keyword:`return` statement, exceptions are not re-raised." +msgstr "" +"Якщо пропозиція :keyword:`!finally` виконує оператор :keyword:`break`, :" +"keyword:`continue` або :keyword:`return`, винятки не виникають повторно." + +msgid "" +"If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:" +"`continue` or :keyword:`return` statement, the :keyword:`!finally` clause " +"will execute just prior to the :keyword:`!break`, :keyword:`!continue` or :" +"keyword:`!return` statement's execution." +msgstr "" +"Якщо оператор :keyword:`!try` досягає оператора :keyword:`break`, :keyword:" +"`continue` або :keyword:`return`, пункт :keyword:`!finally` буде виконано " +"безпосередньо перед :keyword:`!break`, :keyword:`!continue` або :keyword:`!" +"return` виконання оператора." + +msgid "" +"If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the " +"returned value will be the one from the :keyword:`!finally` clause's :" +"keyword:`!return` statement, not the value from the :keyword:`!try` " +"clause's :keyword:`!return` statement." +msgstr "" +"Якщо пропозиція :keyword:`!finally` містить інструкцію :keyword:`!return`, " +"поверненим значенням буде значення з інструкції :keyword:`!return` " +"пропозиції :keyword:`!finally`, а не значення з оператора :keyword:`!return` " +"пункту :keyword:`!try`." + +msgid "For example::" +msgstr "Наприклад::" + +msgid "A more complicated example::" +msgstr "Більш складний приклад::" + +msgid "" +"As you can see, the :keyword:`finally` clause is executed in any event. " +"The :exc:`TypeError` raised by dividing two strings is not handled by the :" +"keyword:`except` clause and therefore re-raised after the :keyword:`!" +"finally` clause has been executed." +msgstr "" +"Як бачите, пункт :keyword:`finally` виконується в будь-якій події. Помилка :" +"exc:`TypeError`, викликана розділенням двох рядків, не обробляється " +"пропозицією :keyword:`except` і тому повторно виникає після виконання " +"пропозиції :keyword:`!finally`." + +msgid "" +"In real world applications, the :keyword:`finally` clause is useful for " +"releasing external resources (such as files or network connections), " +"regardless of whether the use of the resource was successful." +msgstr "" +"У додатках реального світу пункт :keyword:`finally` корисний для звільнення " +"зовнішніх ресурсів (таких як файли або мережеві підключення), незалежно від " +"того, чи було використання ресурсу успішним." + +msgid "Predefined Clean-up Actions" +msgstr "Попередньо визначені дії з очищення" + +msgid "" +"Some objects define standard clean-up actions to be undertaken when the " +"object is no longer needed, regardless of whether or not the operation using " +"the object succeeded or failed. Look at the following example, which tries " +"to open a file and print its contents to the screen. ::" +msgstr "" +"Деякі об’єкти визначають стандартні дії з очищення, які необхідно виконати, " +"коли об’єкт більше не потрібний, незалежно від того, чи була операція з " +"використанням об’єкта успішною чи невдалою. Подивіться на наступний приклад, " +"який намагається відкрити файл і вивести його вміст на екран. ::" + +msgid "" +"The problem with this code is that it leaves the file open for an " +"indeterminate amount of time after this part of the code has finished " +"executing. This is not an issue in simple scripts, but can be a problem for " +"larger applications. The :keyword:`with` statement allows objects like files " +"to be used in a way that ensures they are always cleaned up promptly and " +"correctly. ::" +msgstr "" +"Проблема з цим кодом полягає в тому, що він залишає файл відкритим протягом " +"невизначеного періоду часу після завершення виконання цієї частини коду. Це " +"не проблема для простих сценаріїв, але може бути проблемою для великих " +"програм. Оператор :keyword:`with` дозволяє використовувати такі об’єкти, як " +"файли, таким чином, щоб вони завжди були своєчасно та правильно очищені. ::" + +msgid "" +"After the statement is executed, the file *f* is always closed, even if a " +"problem was encountered while processing the lines. Objects which, like " +"files, provide predefined clean-up actions will indicate this in their " +"documentation." +msgstr "" +"Після виконання виразу файл *f* завжди закривається, навіть якщо під час " +"обробки рядків виникла проблема. Об’єкти, які, як і файли, забезпечують " +"попередньо визначені дії очищення, вкажуть це у своїй документації." + +msgid "Raising and Handling Multiple Unrelated Exceptions" +msgstr "" + +msgid "" +"There are situations where it is necessary to report several exceptions that " +"have occurred. This is often the case in concurrency frameworks, when " +"several tasks may have failed in parallel, but there are also other use " +"cases where it is desirable to continue execution and collect multiple " +"errors rather than raise the first exception." +msgstr "" + +msgid "" +"The builtin :exc:`ExceptionGroup` wraps a list of exception instances so " +"that they can be raised together. It is an exception itself, so it can be " +"caught like any other exception. ::" +msgstr "" + +msgid "" +"By using ``except*`` instead of ``except``, we can selectively handle only " +"the exceptions in the group that match a certain type. In the following " +"example, which shows a nested exception group, each ``except*`` clause " +"extracts from the group exceptions of a certain type while letting all other " +"exceptions propagate to other clauses and eventually to be reraised. ::" +msgstr "" + +msgid "" +"Note that the exceptions nested in an exception group must be instances, not " +"types. This is because in practice the exceptions would typically be ones " +"that have already been raised and caught by the program, along the following " +"pattern::" +msgstr "" + +msgid "Enriching Exceptions with Notes" +msgstr "" + +msgid "" +"When an exception is created in order to be raised, it is usually " +"initialized with information that describes the error that has occurred. " +"There are cases where it is useful to add information after the exception " +"was caught. For this purpose, exceptions have a method ``add_note(note)`` " +"that accepts a string and adds it to the exception's notes list. The " +"standard traceback rendering includes all notes, in the order they were " +"added, after the exception. ::" +msgstr "" + +msgid "" +"For example, when collecting exceptions into an exception group, we may want " +"to add context information for the individual errors. In the following each " +"exception in the group has a note indicating when this error has occurred. ::" +msgstr "" diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po new file mode 100644 index 000000000..4e2ef78d1 --- /dev/null +++ b/tutorial/floatingpoint.po @@ -0,0 +1,441 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Floating Point Arithmetic: Issues and Limitations" +msgstr "Арифметика з плаваючою комою: проблеми та обмеження" + +msgid "" +"Floating-point numbers are represented in computer hardware as base 2 " +"(binary) fractions. For example, the **decimal** fraction ``0.125`` has " +"value 1/10 + 2/100 + 5/1000, and in the same way the **binary** fraction " +"``0.001`` has value 0/2 + 0/4 + 1/8. These two fractions have identical " +"values, the only real difference being that the first is written in base 10 " +"fractional notation, and the second in base 2." +msgstr "" + +msgid "" +"Unfortunately, most decimal fractions cannot be represented exactly as " +"binary fractions. A consequence is that, in general, the decimal floating-" +"point numbers you enter are only approximated by the binary floating-point " +"numbers actually stored in the machine." +msgstr "" +"На жаль, більшість десяткових дробів не можна представити точно як двійкові " +"дроби. Наслідком цього є те, що загалом десяткові числа з плаваючою комою, " +"які ви вводите, є лише наближеними до двійкових чисел з плаваючою комою, які " +"фактично зберігаються в машині." + +msgid "" +"The problem is easier to understand at first in base 10. Consider the " +"fraction 1/3. You can approximate that as a base 10 fraction::" +msgstr "" +"Задачу легше зрозуміти спочатку з основою 10. Розглянемо дріб 1/3. Ви можете " +"наблизити це як дріб з основою 10:" + +msgid "or, better, ::" +msgstr "або, краще, ::" + +msgid "" +"and so on. No matter how many digits you're willing to write down, the " +"result will never be exactly 1/3, but will be an increasingly better " +"approximation of 1/3." +msgstr "" +"і так далі. Незалежно від того, скільки цифр ви готові записати, результат " +"ніколи не буде рівно 1/3, а буде дедалі кращим наближенням 1/3." + +msgid "" +"In the same way, no matter how many base 2 digits you're willing to use, the " +"decimal value 0.1 cannot be represented exactly as a base 2 fraction. In " +"base 2, 1/10 is the infinitely repeating fraction ::" +msgstr "" +"Таким же чином, незалежно від того, скільки цифр з основою 2 ви бажаєте " +"використовувати, десяткове значення 0,1 не може бути представлено точно як " +"дріб з основою 2. За основою 2 1/10 — нескінченно повторюваний дріб ::" + +msgid "" +"Stop at any finite number of bits, and you get an approximation. On most " +"machines today, floats are approximated using a binary fraction with the " +"numerator using the first 53 bits starting with the most significant bit and " +"with the denominator as a power of two. In the case of 1/10, the binary " +"fraction is ``3602879701896397 / 2 ** 55`` which is close to but not exactly " +"equal to the true value of 1/10." +msgstr "" +"Зупиніться на будь-якій кінцевій кількості бітів, і ви отримаєте наближення. " +"На більшості сучасних машин числа з плаваючою точкою наближаються за " +"допомогою двійкового дробу з чисельником, використовуючи перші 53 біти, " +"починаючи зі старшого біта, а знаменник – ступінь двійки. У випадку 1/10 " +"двійковий дріб дорівнює ``3602879701896397 / 2 ** 55``, що близько до " +"справжнього значення 1/10, але не зовсім дорівнює йому." + +msgid "" +"Many users are not aware of the approximation because of the way values are " +"displayed. Python only prints a decimal approximation to the true decimal " +"value of the binary approximation stored by the machine. On most machines, " +"if Python were to print the true decimal value of the binary approximation " +"stored for 0.1, it would have to display ::" +msgstr "" +"Багато користувачів не знають про наближення через спосіб відображення " +"значень. Python друкує лише десяткове наближення справжнього десяткового " +"значення двійкового наближення, збереженого машиною. На більшості машин, " +"якби Python друкував справжнє десяткове значення двійкової апроксимації, " +"збережене для 0,1, він мав би відображати:" + +msgid "" +"That is more digits than most people find useful, so Python keeps the number " +"of digits manageable by displaying a rounded value instead ::" +msgstr "" +"Це більше цифр, ніж більшість людей вважають за потрібне, тому Python " +"зберігає кількість цифр керованою, відображаючи натомість округлене значення:" + +msgid "" +"Just remember, even though the printed result looks like the exact value of " +"1/10, the actual stored value is the nearest representable binary fraction." +msgstr "" +"Просто пам’ятайте, навіть якщо надрукований результат виглядає як точне " +"значення 1/10, фактичне збережене значення є найближчим двійковим дрібом, " +"який можна представити." + +msgid "" +"Interestingly, there are many different decimal numbers that share the same " +"nearest approximate binary fraction. For example, the numbers ``0.1`` and " +"``0.10000000000000001`` and " +"``0.1000000000000000055511151231257827021181583404541015625`` are all " +"approximated by ``3602879701896397 / 2 ** 55``. Since all of these decimal " +"values share the same approximation, any one of them could be displayed " +"while still preserving the invariant ``eval(repr(x)) == x``." +msgstr "" +"Цікаво, що існує багато різних десяткових чисел, які мають однаковий " +"найближчий наближений двійковий дріб. Наприклад, числа ``0,1`` і " +"``0,100000000000000001`` і " +"``0,100000000000000005511151231257827021181583404541015625`` наближено до " +"``360287970751596`` Оскільки всі ці десяткові значення мають однакове " +"наближення, будь-яке з них може бути відображено, зберігаючи інваріант " +"``eval(repr(x)) == x``." + +msgid "" +"Historically, the Python prompt and built-in :func:`repr` function would " +"choose the one with 17 significant digits, ``0.10000000000000001``. " +"Starting with Python 3.1, Python (on most systems) is now able to choose the " +"shortest of these and simply display ``0.1``." +msgstr "" +"Історично склалося так, що підказка Python і вбудована функція :func:`repr` " +"вибирали одну з 17 значущих цифр, ``0.10000000000000001``. Починаючи з " +"Python 3.1, Python (у більшості систем) тепер може вибирати найкоротший із " +"них і просто відображати ``0.1``." + +msgid "" +"Note that this is in the very nature of binary floating-point: this is not a " +"bug in Python, and it is not a bug in your code either. You'll see the same " +"kind of thing in all languages that support your hardware's floating-point " +"arithmetic (although some languages may not *display* the difference by " +"default, or in all output modes)." +msgstr "" +"Зауважте, що це в самій природі двійкового числа з плаваючою комою: це не " +"помилка в Python і не є помилкою у вашому коді. Ви побачите те саме на всіх " +"мовах, які підтримують арифметику з плаваючою комою вашого апаратного " +"забезпечення (хоча деякі мови можуть не *відображати* різницю за " +"замовчуванням або в усіх режимах виводу)." + +msgid "" +"For more pleasant output, you may wish to use string formatting to produce a " +"limited number of significant digits::" +msgstr "" +"Для більш приємного виводу ви можете використати форматування рядка для " +"отримання обмеженої кількості значущих цифр::" + +msgid "" +"It's important to realize that this is, in a real sense, an illusion: you're " +"simply rounding the *display* of the true machine value." +msgstr "" +"Важливо усвідомлювати, що насправді це ілюзія: ви просто округлюєте " +"*відображення* справжнього значення машини." + +msgid "" +"One illusion may beget another. For example, since 0.1 is not exactly 1/10, " +"summing three values of 0.1 may not yield exactly 0.3, either::" +msgstr "" +"Одна ілюзія може породити іншу. Наприклад, оскільки 0,1 не є точно 1/10, " +"підсумовування трьох значень 0,1 може не дати точно 0,3:" + +msgid "" +"Also, since the 0.1 cannot get any closer to the exact value of 1/10 and 0.3 " +"cannot get any closer to the exact value of 3/10, then pre-rounding with :" +"func:`round` function cannot help::" +msgstr "" +"Крім того, оскільки 0,1 не може бути ближче до точного значення 1/10, а 0,3 " +"не може бути ближче до точного значення 3/10, то попереднє округлення за " +"допомогою функції :func:`round` не допоможе::" + +msgid "" +"Though the numbers cannot be made closer to their intended exact values, " +"the :func:`round` function can be useful for post-rounding so that results " +"with inexact values become comparable to one another::" +msgstr "" +"Хоча числа неможливо наблизити до запланованих точних значень, функція :func:" +"`round` може бути корисною для подальшого округлення, щоб результати з " +"неточними значеннями стали порівнюваними один з одним:" + +msgid "" +"Binary floating-point arithmetic holds many surprises like this. The " +"problem with \"0.1\" is explained in precise detail below, in the " +"\"Representation Error\" section. See `The Perils of Floating Point " +"`_ for a more complete account of other " +"common surprises." +msgstr "" +"Двійкова арифметика з плаваючою комою містить багато таких сюрпризів. " +"Проблема з \"0.1\" детально описана нижче, у розділі \"Помилка представлення" +"\". Перегляньте `Небезпеки з плаваючою точкою `_ для більш повного опису інших поширених несподіванок." + +msgid "" +"As that says near the end, \"there are no easy answers.\" Still, don't be " +"unduly wary of floating-point! The errors in Python float operations are " +"inherited from the floating-point hardware, and on most machines are on the " +"order of no more than 1 part in 2\\*\\*53 per operation. That's more than " +"adequate for most tasks, but you do need to keep in mind that it's not " +"decimal arithmetic and that every float operation can suffer a new rounding " +"error." +msgstr "" +"Як сказано ближче до кінця, \"простих відповідей немає\". Тим не менш, не " +"будьте надмірно обережні з плаваючою комою! Помилки в операціях з плаваючою " +"комою в Python успадковуються від апаратного забезпечення з плаваючою комою, " +"і на більшості машин вони становлять не більше 1 частини з 2\\*\\*53 на " +"операцію. Цього більш ніж достатньо для більшості завдань, але ви повинні " +"мати на увазі, що це не десяткова арифметика і що кожна операція з плаваючою " +"точкою може зазнати нової помилки округлення." + +msgid "" +"While pathological cases do exist, for most casual use of floating-point " +"arithmetic you'll see the result you expect in the end if you simply round " +"the display of your final results to the number of decimal digits you " +"expect. :func:`str` usually suffices, and for finer control see the :meth:" +"`str.format` method's format specifiers in :ref:`formatstrings`." +msgstr "" +"Хоча патологічні випадки дійсно існують, для більшості випадкового " +"використання арифметики з плаваючою комою ви побачите очікуваний результат, " +"якщо просто округлите відображення кінцевих результатів до очікуваної " +"кількості десяткових цифр. :func:`str` зазвичай достатньо, і для більш " +"точного контролю дивіться специфікатори формату методу :meth:`str.format` у :" +"ref:`formatstrings`." + +msgid "" +"For use cases which require exact decimal representation, try using the :mod:" +"`decimal` module which implements decimal arithmetic suitable for accounting " +"applications and high-precision applications." +msgstr "" +"Для випадків використання, які вимагають точного десяткового представлення, " +"спробуйте використовувати модуль :mod:`decimal`, який реалізує десяткову " +"арифметику, придатну для програм бухгалтерського обліку та програм високої " +"точності." + +msgid "" +"Another form of exact arithmetic is supported by the :mod:`fractions` module " +"which implements arithmetic based on rational numbers (so the numbers like " +"1/3 can be represented exactly)." +msgstr "" +"Інша форма точної арифметики підтримується модулем :mod:`fractions`, який " +"реалізує арифметику на основі раціональних чисел (таким чином числа, такі як " +"1/3, можуть бути представлені точно)." + +msgid "" +"If you are a heavy user of floating point operations you should take a look " +"at the NumPy package and many other packages for mathematical and " +"statistical operations supplied by the SciPy project. See ." +msgstr "" +"Якщо ви активно використовуєте операції з плаваючою комою, вам слід " +"поглянути на пакет NumPy та багато інших пакетів для математичних і " +"статистичних операцій, які надає проект SciPy. Див. ." + +msgid "" +"Python provides tools that may help on those rare occasions when you really " +"*do* want to know the exact value of a float. The :meth:`float." +"as_integer_ratio` method expresses the value of a float as a fraction::" +msgstr "" +"Python надає інструменти, які можуть допомогти в тих рідкісних випадках, " +"коли ви дійсно хочете знати точне значення числа з плаваючою точкою. Метод :" +"meth:`float.as_integer_ratio` виражає значення числа з плаваючою точкою у " +"вигляді дробу::" + +msgid "" +"Since the ratio is exact, it can be used to losslessly recreate the original " +"value::" +msgstr "" +"Оскільки співвідношення є точним, його можна використовувати для відтворення " +"вихідного значення без втрат::" + +msgid "" +"The :meth:`float.hex` method expresses a float in hexadecimal (base 16), " +"again giving the exact value stored by your computer::" +msgstr "" +"Метод :meth:`float.hex` виражає число з плаваючою точкою в шістнадцятковій " +"формі (за основою 16), знову надаючи точне значення, яке зберігає ваш " +"комп’ютер:" + +msgid "" +"This precise hexadecimal representation can be used to reconstruct the float " +"value exactly::" +msgstr "" +"Це точне шістнадцяткове представлення можна використовувати для точної " +"реконструкції значення з плаваючою точкою:" + +msgid "" +"Since the representation is exact, it is useful for reliably porting values " +"across different versions of Python (platform independence) and exchanging " +"data with other languages that support the same format (such as Java and " +"C99)." +msgstr "" +"Оскільки представлення є точним, воно корисне для надійного перенесення " +"значень між різними версіями Python (незалежність від платформи) та обміну " +"даними з іншими мовами, які підтримують той самий формат (такими як Java і " +"C99)." + +msgid "" +"Another helpful tool is the :func:`math.fsum` function which helps mitigate " +"loss-of-precision during summation. It tracks \"lost digits\" as values are " +"added onto a running total. That can make a difference in overall accuracy " +"so that the errors do not accumulate to the point where they affect the " +"final total:" +msgstr "" +"Іншим корисним інструментом є функція :func:`math.fsum`, яка допомагає " +"зменшити втрату точності під час підсумовування. Він відстежує \"втрачені " +"цифри\", коли значення додаються до поточної суми. Це може вплинути на " +"загальну точність, щоб помилки не накопичувалися до точки, коли вони " +"впливали на кінцеву суму:" + +msgid "Representation Error" +msgstr "Помилка представлення" + +msgid "" +"This section explains the \"0.1\" example in detail, and shows how you can " +"perform an exact analysis of cases like this yourself. Basic familiarity " +"with binary floating-point representation is assumed." +msgstr "" +"У цьому розділі детально пояснюється приклад \"0.1\" і показано, як ви " +"можете самостійно виконати точний аналіз подібних випадків. Передбачається " +"базове знайомство з двійковим представленням із плаваючою комою." + +msgid "" +":dfn:`Representation error` refers to the fact that some (most, actually) " +"decimal fractions cannot be represented exactly as binary (base 2) " +"fractions. This is the chief reason why Python (or Perl, C, C++, Java, " +"Fortran, and many others) often won't display the exact decimal number you " +"expect." +msgstr "" +":dfn:`Representation error` стосується того факту, що деякі (насправді " +"більшість) десяткових дробів не можуть бути представлені точно як двійкові " +"(за основою 2) дроби. Це головна причина, чому Python (або Perl, C, C++, " +"Java, Fortran та багато інших) часто не відображає точне десяткове число, " +"яке ви очікуєте." + +msgid "" +"Why is that? 1/10 is not exactly representable as a binary fraction. Almost " +"all machines today (November 2000) use IEEE-754 floating point arithmetic, " +"and almost all platforms map Python floats to IEEE-754 \"double precision" +"\". 754 doubles contain 53 bits of precision, so on input the computer " +"strives to convert 0.1 to the closest fraction it can of the form *J*/2**\\ " +"*N* where *J* is an integer containing exactly 53 bits. Rewriting ::" +msgstr "" +"Чому так? 1/10 не зовсім точно можна представити у вигляді двійкового дробу. " +"Майже всі машини сьогодні (листопад 2000) використовують арифметику з " +"плаваючою комою IEEE-754, і майже всі платформи відображають плаваючі числа " +"Python у IEEE-754 \"подвійної точності\". 754 подвійних числа містять 53 " +"біти точності, тому на вхідних даних комп’ютер намагається перетворити 0,1 у " +"найближчий дріб у формі *J*/2**\\ *N*, де *J* — ціле число, що містить рівно " +"53 біти. Переписування ::" + +msgid "as ::" +msgstr "як ::" + +msgid "" +"and recalling that *J* has exactly 53 bits (is ``>= 2**52`` but ``< " +"2**53``), the best value for *N* is 56::" +msgstr "" +"і нагадуючи, що *J* має рівно 53 біти (це ``>= 2**52``, але ``< 2**53``), " +"найкращим значенням для *N* є 56::" + +msgid "" +"That is, 56 is the only value for *N* that leaves *J* with exactly 53 bits. " +"The best possible value for *J* is then that quotient rounded::" +msgstr "" +"Тобто 56 — це єдине значення для *N*, яке залишає *J* рівно 53 біти. " +"Найкраще можливе значення для *J* — це округлена частка::" + +msgid "" +"Since the remainder is more than half of 10, the best approximation is " +"obtained by rounding up::" +msgstr "" +"Оскільки залишок становить більше половини від 10, найкраще наближення можна " +"отримати шляхом округлення:" + +msgid "" +"Therefore the best possible approximation to 1/10 in 754 double precision " +"is::" +msgstr "Тому найкраще можливе наближення до 1/10 у 754 подвійної точності:" + +msgid "" +"Dividing both the numerator and denominator by two reduces the fraction to::" +msgstr "Ділення чисельника та знаменника на два скорочує дріб до:" + +msgid "" +"Note that since we rounded up, this is actually a little bit larger than " +"1/10; if we had not rounded up, the quotient would have been a little bit " +"smaller than 1/10. But in no case can it be *exactly* 1/10!" +msgstr "" +"Зауважте, що оскільки ми округлили в більшу сторону, це насправді трохи " +"більше, ніж 1/10; якби ми не округляли в більшу сторону, частка була б трохи " +"меншою за 1/10. Але ні в якому разі не може бути *рівно* 1/10!" + +msgid "" +"So the computer never \"sees\" 1/10: what it sees is the exact fraction " +"given above, the best 754 double approximation it can get::" +msgstr "" +"Тому комп’ютер ніколи не \"бачить\" 1/10: він бачить точну частку, наведену " +"вище, найкраще подвійне наближення 754, яке він може отримати:" + +msgid "" +"If we multiply that fraction by 10\\*\\*55, we can see the value out to 55 " +"decimal digits::" +msgstr "" +"Якщо ми помножимо цей дріб на 10\\*\\*55, ми побачимо значення до 55 " +"десяткових цифр:" + +msgid "" +"meaning that the exact number stored in the computer is equal to the decimal " +"value 0.1000000000000000055511151231257827021181583404541015625. Instead of " +"displaying the full decimal value, many languages (including older versions " +"of Python), round the result to 17 significant digits::" +msgstr "" +"це означає, що точне число, яке зберігається в комп’ютері, дорівнює " +"десятковому значенню " +"0,1000000000000000055511151231257827021181583404541015625. Замість " +"відображення повного десяткового значення багато мов (включаючи старі версії " +"Python) округлюють результат до 17 значущих цифр:" + +msgid "" +"The :mod:`fractions` and :mod:`decimal` modules make these calculations " +"easy::" +msgstr "Модулі :mod:`fractions` і :mod:`decimal` полегшують ці обчислення:" diff --git a/tutorial/index.po b/tutorial/index.po new file mode 100644 index 000000000..e1280bf3f --- /dev/null +++ b/tutorial/index.po @@ -0,0 +1,106 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Nadiia Gorash , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Nadiia Gorash , 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "The Python Tutorial" +msgstr "Підручник з Python" + +msgid "" +"Python is an easy to learn, powerful programming language. It has efficient " +"high-level data structures and a simple but effective approach to object-" +"oriented programming. Python's elegant syntax and dynamic typing, together " +"with its interpreted nature, make it an ideal language for scripting and " +"rapid application development in many areas on most platforms." +msgstr "" +"Python — це потужна мова програмування, яка проста у вивченні. Він має " +"ефективні структури даних високого рівня та простий, але ефективний підхід " +"до об’єктно-орієнтованого програмування. Елегантний синтаксис і динамічна " +"типізація Python разом з його інтерпретованим характером роблять його " +"ідеальною мовою для створення сценаріїв і швидкої розробки додатків у " +"багатьох сферах на більшості платформ." + +msgid "" +"The Python interpreter and the extensive standard library are freely " +"available in source or binary form for all major platforms from the Python " +"web site, https://www.python.org/, and may be freely distributed. The same " +"site also contains distributions of and pointers to many free third party " +"Python modules, programs and tools, and additional documentation." +msgstr "" +"Інтерпретатор Python і обширна стандартна бібліотека доступні у вихідному " +"або двійковому вигляді для всіх основних платформ на веб-сайті Python " +"https://www.python.org/ і можуть вільно поширюватися. Цей же сайт також " +"містить дистрибутиви та вказівники на багато безкоштовних сторонніх модулів " +"Python, програм і інструментів, а також додаткову документацію." + +msgid "" +"The Python interpreter is easily extended with new functions and data types " +"implemented in C or C++ (or other languages callable from C). Python is also " +"suitable as an extension language for customizable applications." +msgstr "" +"Інтерпретатор Python легко розширюється за допомогою нових функцій і типів " +"даних, реалізованих у C або C++ (або інших мовах, які можна викликати з C). " +"Python також підходить як мова розширення для настроюваних програм." + +msgid "" +"This tutorial introduces the reader informally to the basic concepts and " +"features of the Python language and system. It helps to have a Python " +"interpreter handy for hands-on experience, but all examples are self-" +"contained, so the tutorial can be read off-line as well." +msgstr "" +"Цей підручник неформально знайомить читача з основними концепціями та " +"функціями мови та системи Python. Вам допоможе мати під рукою інтерпретатор " +"Python для практичного досвіду, але всі приклади є самодостатніми, тому " +"підручник також можна читати офлайн." + +msgid "" +"For a description of standard objects and modules, see :ref:`library-" +"index`. :ref:`reference-index` gives a more formal definition of the " +"language. To write extensions in C or C++, read :ref:`extending-index` and :" +"ref:`c-api-index`. There are also several books covering Python in depth." +msgstr "" +"Опис стандартних об’єктів і модулів див. :ref:`library-index`. :ref:" +"`reference-index` дає більш формальне визначення мови. Щоб написати " +"розширення на C або C++, прочитайте :ref:`extending-index` і :ref:`c-api-" +"index`. Є також кілька книг, які детально описують Python." + +msgid "" +"This tutorial does not attempt to be comprehensive and cover every single " +"feature, or even every commonly used feature. Instead, it introduces many of " +"Python's most noteworthy features, and will give you a good idea of the " +"language's flavor and style. After reading it, you will be able to read and " +"write Python modules and programs, and you will be ready to learn more about " +"the various Python library modules described in :ref:`library-index`." +msgstr "" +"Цей підручник не намагається бути вичерпним і охопити кожну окрему функцію " +"чи навіть кожну функцію, що часто використовується. Натомість він " +"представляє багато найбільш вартих уваги функцій Python і дасть вам гарне " +"уявлення про смак і стиль мови. Прочитавши його, ви зможете читати та писати " +"модулі та програми Python, а також будете готові дізнатися більше про різні " +"модулі бібліотеки Python, описані в :ref:`library-index`." + +msgid "The :ref:`glossary` is also worth going through." +msgstr ":ref:`glossary` також варто переглянути." diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po new file mode 100644 index 000000000..8bd604b35 --- /dev/null +++ b/tutorial/inputoutput.po @@ -0,0 +1,633 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Input and Output" +msgstr "Вхід і вихід" + +msgid "" +"There are several ways to present the output of a program; data can be " +"printed in a human-readable form, or written to a file for future use. This " +"chapter will discuss some of the possibilities." +msgstr "" +"Є кілька способів представити вихідні дані програми; дані можна роздрукувати " +"у формі, зрозумілій людині, або записати у файл для подальшого використання. " +"У цьому розділі будуть розглянуті деякі з можливостей." + +msgid "Fancier Output Formatting" +msgstr "Вишуканіше форматування виводу" + +msgid "" +"So far we've encountered two ways of writing values: *expression statements* " +"and the :func:`print` function. (A third way is using the :meth:`write` " +"method of file objects; the standard output file can be referenced as ``sys." +"stdout``. See the Library Reference for more information on this.)" +msgstr "" +"Поки що ми стикалися з двома способами запису значень: *операторами виразу* " +"та функцією :func:`print`. (Третій спосіб — використання методу :meth:" +"`write` для об’єктів файлу; на стандартний файл виводу можна посилатися як " +"на ``sys.stdout``. Додаткову інформацію про це див. у Довіднику до " +"бібліотеки.)" + +msgid "" +"Often you'll want more control over the formatting of your output than " +"simply printing space-separated values. There are several ways to format " +"output." +msgstr "" +"Часто вам знадобиться більше контролювати форматування вихідних даних, ніж " +"просто друкувати значення, розділені пробілами. Існує кілька способів " +"форматування виводу." + +msgid "" +"To use :ref:`formatted string literals `, begin a string with " +"``f`` or ``F`` before the opening quotation mark or triple quotation mark. " +"Inside this string, you can write a Python expression between ``{`` and ``}" +"`` characters that can refer to variables or literal values." +msgstr "" +"Щоб використовувати :ref:`відформатовані рядкові літерали `, " +"починайте рядок з ``f`` або ``F`` перед лапками, що відкривають або " +"потрійними лапками. Усередині цього рядка можна написати вираз Python між " +"символами ``{`` і ``}``, які можуть посилатися на змінні або літеральні " +"значення." + +msgid "" +"The :meth:`str.format` method of strings requires more manual effort. " +"You'll still use ``{`` and ``}`` to mark where a variable will be " +"substituted and can provide detailed formatting directives, but you'll also " +"need to provide the information to be formatted." +msgstr "" +"Метод рядків :meth:`str.format` вимагає більше ручних зусиль. Ви все одно " +"використовуватимете ``{`` і ``}``, щоб позначити місце заміни змінної, і " +"можете надати детальні директиви форматування, але вам також потрібно буде " +"надати інформацію для форматування." + +msgid "" +"Finally, you can do all the string handling yourself by using string slicing " +"and concatenation operations to create any layout you can imagine. The " +"string type has some methods that perform useful operations for padding " +"strings to a given column width." +msgstr "" +"Нарешті, ви можете виконувати всю обробку рядків самостійно, використовуючи " +"операції зрізання рядків і конкатенації для створення будь-якого макета, " +"який тільки можете собі уявити. Рядковий тип має деякі методи, які виконують " +"корисні операції для доповнення рядків до заданої ширини стовпця." + +msgid "" +"When you don't need fancy output but just want a quick display of some " +"variables for debugging purposes, you can convert any value to a string with " +"the :func:`repr` or :func:`str` functions." +msgstr "" +"Якщо вам не потрібен вигадливий вихід, а просто потрібно швидко відобразити " +"деякі змінні для цілей налагодження, ви можете перетворити будь-яке значення " +"на рядок за допомогою функцій :func:`repr` або :func:`str`." + +msgid "" +"The :func:`str` function is meant to return representations of values which " +"are fairly human-readable, while :func:`repr` is meant to generate " +"representations which can be read by the interpreter (or will force a :exc:" +"`SyntaxError` if there is no equivalent syntax). For objects which don't " +"have a particular representation for human consumption, :func:`str` will " +"return the same value as :func:`repr`. Many values, such as numbers or " +"structures like lists and dictionaries, have the same representation using " +"either function. Strings, in particular, have two distinct representations." +msgstr "" +"Функція :func:`str` призначена для повернення представлень значень, які " +"досить зрозумілі людині, тоді як :func:`repr` призначена для створення " +"представлень, які може читати інтерпретатор (або примусово :exc:" +"`SyntaxError`, якщо немає еквівалентного синтаксису). Для об’єктів, які не " +"мають спеціального представлення для споживання людиною, :func:`str` поверне " +"те саме значення, що й :func:`repr`. Багато значень, наприклад чисел або " +"структур, таких як списки та словники, мають однакове представлення за " +"допомогою будь-якої функції. Рядки, зокрема, мають два різних представлення." + +msgid "Some examples::" +msgstr "Деякі приклади::" + +msgid "" +"The :mod:`string` module contains a :class:`~string.Template` class that " +"offers yet another way to substitute values into strings, using placeholders " +"like ``$x`` and replacing them with values from a dictionary, but offers " +"much less control of the formatting." +msgstr "" +"Модуль :mod:`string` містить клас :class:`~string.Template`, який пропонує " +"ще один спосіб заміни значень у рядки, використовуючи заповнювачі, такі як ``" +"$x``, і замінюючи їх значеннями зі словника, але пропонує набагато менше " +"контролю над форматуванням." + +msgid "Formatted String Literals" +msgstr "Відформатовані рядкові літерали" + +msgid "" +":ref:`Formatted string literals ` (also called f-strings for " +"short) let you include the value of Python expressions inside a string by " +"prefixing the string with ``f`` or ``F`` and writing expressions as " +"``{expression}``." +msgstr "" +":ref:`Форматовані рядкові літерали ` (які також скорочено " +"називаються f-рядками) дозволяють включити значення виразів Python у рядок, " +"додавши до рядка префікс ``f`` або ``F`` і записавши вирази як` `{expression}" +"``." + +msgid "" +"An optional format specifier can follow the expression. This allows greater " +"control over how the value is formatted. The following example rounds pi to " +"three places after the decimal::" +msgstr "" +"За виразом може слідувати необов’язковий специфікатор формату. Це дозволяє " +"краще контролювати форматування значення. У наступному прикладі число pi " +"округлюється до трьох знаків після коми:" + +msgid "" +"Passing an integer after the ``':'`` will cause that field to be a minimum " +"number of characters wide. This is useful for making columns line up. ::" +msgstr "" +"Передача цілого числа після ``':''`` призведе до того, що це поле матиме " +"мінімальну кількість символів. Це корисно для того, щоб вирівняти колони. ::" + +msgid "" +"Other modifiers can be used to convert the value before it is formatted. ``'!" +"a'`` applies :func:`ascii`, ``'!s'`` applies :func:`str`, and ``'!r'`` " +"applies :func:`repr`::" +msgstr "" +"Для перетворення значення перед його форматуванням можна використовувати " +"інші модифікатори. ``'!a''`` застосовується :func:`ascii`, ``'!s''`` " +"застосовується :func:`str`, а ``'!r''`` застосовується :func:`repr`::" + +msgid "" +"The ``=`` specifier can be used to expand an expression to the text of the " +"expression, an equal sign, then the representation of the evaluated " +"expression:" +msgstr "" + +msgid "" +"See :ref:`self-documenting expressions ` for more " +"information on the ``=`` specifier. For a reference on these format " +"specifications, see the reference guide for the :ref:`formatspec`." +msgstr "" + +msgid "The String format() Method" +msgstr "Метод String format()." + +msgid "Basic usage of the :meth:`str.format` method looks like this::" +msgstr "Основне використання методу :meth:`str.format` виглядає так:" + +msgid "" +"The brackets and characters within them (called format fields) are replaced " +"with the objects passed into the :meth:`str.format` method. A number in the " +"brackets can be used to refer to the position of the object passed into the :" +"meth:`str.format` method. ::" +msgstr "" +"Дужки та символи в них (так звані поля форматування) замінюються об’єктами, " +"переданими в метод :meth:`str.format`. Число в дужках можна використовувати " +"для позначення позиції об’єкта, переданого в метод :meth:`str.format`. ::" + +msgid "" +"If keyword arguments are used in the :meth:`str.format` method, their values " +"are referred to by using the name of the argument. ::" +msgstr "" +"Якщо ключові аргументи використовуються в методі :meth:`str.format`, їх " +"значення посилаються за допомогою назви аргументу. ::" + +msgid "Positional and keyword arguments can be arbitrarily combined::" +msgstr "Позиційні та ключові аргументи можна довільно комбінувати:" + +msgid "" +"If you have a really long format string that you don't want to split up, it " +"would be nice if you could reference the variables to be formatted by name " +"instead of by position. This can be done by simply passing the dict and " +"using square brackets ``'[]'`` to access the keys. ::" +msgstr "" +"Якщо у вас є дуже довгий рядок формату, який ви не хочете розділяти, було б " +"непогано, якби ви могли посилатися на змінні, які потрібно відформатувати за " +"назвою, а не за позицією. Це можна зробити, просто передавши dict і " +"використовуючи квадратні дужки ``''[]'`` для доступу до ключів. ::" + +msgid "" +"This could also be done by passing the ``table`` dictionary as keyword " +"arguments with the ``**`` notation. ::" +msgstr "" + +msgid "" +"This is particularly useful in combination with the built-in function :func:" +"`vars`, which returns a dictionary containing all local variables." +msgstr "" +"Це особливо корисно в поєднанні з вбудованою функцією :func:`vars`, яка " +"повертає словник, що містить усі локальні змінні." + +msgid "" +"As an example, the following lines produce a tidily aligned set of columns " +"giving integers and their squares and cubes::" +msgstr "" + +msgid "" +"For a complete overview of string formatting with :meth:`str.format`, see :" +"ref:`formatstrings`." +msgstr "" +"Щоб отримати повний огляд форматування рядка за допомогою :meth:`str." +"format`, перегляньте :ref:`formatstrings`." + +msgid "Manual String Formatting" +msgstr "Ручне форматування рядка" + +msgid "Here's the same table of squares and cubes, formatted manually::" +msgstr "Ось та сама таблиця квадратів і кубів, відформатована вручну:" + +msgid "" +"(Note that the one space between each column was added by the way :func:" +"`print` works: it always adds spaces between its arguments.)" +msgstr "" +"(Зверніть увагу, що один пробіл між кожним стовпцем було додано так, як " +"працює :func:`print`: він завжди додає пробіли між своїми аргументами.)" + +msgid "" +"The :meth:`str.rjust` method of string objects right-justifies a string in a " +"field of a given width by padding it with spaces on the left. There are " +"similar methods :meth:`str.ljust` and :meth:`str.center`. These methods do " +"not write anything, they just return a new string. If the input string is " +"too long, they don't truncate it, but return it unchanged; this will mess up " +"your column lay-out but that's usually better than the alternative, which " +"would be lying about a value. (If you really want truncation you can always " +"add a slice operation, as in ``x.ljust(n)[:n]``.)" +msgstr "" +"Метод :meth:`str.rjust` рядкових об’єктів вирівнює рядок по правому краю в " +"полі заданої ширини, доповнюючи його пробілами зліва. Існують схожі методи :" +"meth:`str.ljust` і :meth:`str.center`. Ці методи нічого не записують, вони " +"просто повертають новий рядок. Якщо вхідний рядок надто довгий, вони не " +"скорочують його, а повертають без змін; це зіпсує ваш макет стовпців, але це " +"зазвичай краще, ніж альтернатива, яка б брехала про значення. (Якщо вам " +"дійсно потрібно скорочення, ви завжди можете додати операцію зрізу, як у ``x." +"ljust(n)[:n]``.)" + +msgid "" +"There is another method, :meth:`str.zfill`, which pads a numeric string on " +"the left with zeros. It understands about plus and minus signs::" +msgstr "" +"Є інший метод, :meth:`str.zfill`, який доповнює числовий рядок зліва нулями. " +"Він розуміє знаки плюс і мінус:" + +msgid "Old string formatting" +msgstr "Старе форматування рядка" + +msgid "" +"The % operator (modulo) can also be used for string formatting. Given " +"``'string' % values``, instances of ``%`` in ``string`` are replaced with " +"zero or more elements of ``values``. This operation is commonly known as " +"string interpolation. For example::" +msgstr "" +"Оператор % (по модулю) також можна використовувати для форматування рядків. " +"З урахуванням % значень ``'string'`` екземпляри ``%`` в ``string`` " +"замінюються нулем або більше елементами ``values``. Ця операція широко " +"відома як інтерполяція рядків. Наприклад::" + +msgid "" +"More information can be found in the :ref:`old-string-formatting` section." +msgstr "Більше інформації можна знайти в розділі :ref:`old-string-formatting`." + +msgid "Reading and Writing Files" +msgstr "Читання та запис файлів" + +msgid "" +":func:`open` returns a :term:`file object`, and is most commonly used with " +"two positional arguments and one keyword argument: ``open(filename, mode, " +"encoding=None)``" +msgstr "" +":func:`open` повертає об’єкт :term:`file object` і найчастіше " +"використовується з двома позиційними аргументами та одним ключовим " +"аргументом: ``open(filename, mode, encoding=None)``" + +msgid "" +"The first argument is a string containing the filename. The second argument " +"is another string containing a few characters describing the way in which " +"the file will be used. *mode* can be ``'r'`` when the file will only be " +"read, ``'w'`` for only writing (an existing file with the same name will be " +"erased), and ``'a'`` opens the file for appending; any data written to the " +"file is automatically added to the end. ``'r+'`` opens the file for both " +"reading and writing. The *mode* argument is optional; ``'r'`` will be " +"assumed if it's omitted." +msgstr "" +"Перший аргумент - це рядок, що містить назву файлу. Другий аргумент — це " +"інший рядок, що містить декілька символів, що описують спосіб використання " +"файлу. *режим* може бути ``'r'``, коли файл буде лише читатися, ``'w''`` " +"лише для запису (існуючий файл із такою ж назвою буде стерто) і ``'a'`` " +"відкриває файл для додавання; будь-які дані, записані у файл, автоматично " +"додаються в кінець. ``'r+'`` відкриває файл як для читання, так і для " +"запису. Аргумент *mode* необов’язковий; ``'r'`` передбачається, якщо його " +"опустити." + +msgid "" +"Normally, files are opened in :dfn:`text mode`, that means, you read and " +"write strings from and to the file, which are encoded in a specific " +"*encoding*. If *encoding* is not specified, the default is platform " +"dependent (see :func:`open`). Because UTF-8 is the modern de-facto standard, " +"``encoding=\"utf-8\"`` is recommended unless you know that you need to use a " +"different encoding. Appending a ``'b'`` to the mode opens the file in :dfn:" +"`binary mode`. Binary mode data is read and written as :class:`bytes` " +"objects. You can not specify *encoding* when opening file in binary mode." +msgstr "" +"Зазвичай файли відкриваються в :dfn:`text mode`, це означає, що ви читаєте " +"та записуєте рядки з і до файлу, які закодовані в певному *кодуванні*. Якщо " +"*кодування* не вказано, типове значення залежить від платформи (див. :func:" +"`open`). Оскільки UTF-8 є сучасним стандартом де-факто, рекомендується " +"``encoding=\"utf-8\"``, якщо ви не знаєте, що вам потрібно використовувати " +"інше кодування. Додавання ``'b'`` до режиму відкриває файл у :dfn:`binary " +"mode`. Дані у двійковому режимі читаються та записуються як об’єкти :class:" +"`bytes`. Ви не можете вказати *кодування* під час відкриття файлу в " +"двійковому режимі." + +msgid "" +"In text mode, the default when reading is to convert platform-specific line " +"endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " +"writing in text mode, the default is to convert occurrences of ``\\n`` back " +"to platform-specific line endings. This behind-the-scenes modification to " +"file data is fine for text files, but will corrupt binary data like that in :" +"file:`JPEG` or :file:`EXE` files. Be very careful to use binary mode when " +"reading and writing such files." +msgstr "" +"У текстовому режимі під час читання за замовчуванням закінчення рядків для " +"певної платформи (``\\n`` в Unix, ``\\r\\n`` у Windows) перетворюються лише " +"на ``\\n``. Під час написання в текстовому режимі за замовчуванням символи ``" +"\\n`` перетворюються на закінчення рядків, що залежать від платформи. Ця " +"закулісна модифікація даних файлу підходить для текстових файлів, але " +"пошкодить двійкові дані, як у файлах :file:`JPEG` або :file:`EXE`. Будьте " +"дуже обережні, використовуйте двійковий режим під час читання та запису " +"таких файлів." + +msgid "" +"It is good practice to use the :keyword:`with` keyword when dealing with " +"file objects. The advantage is that the file is properly closed after its " +"suite finishes, even if an exception is raised at some point. Using :" +"keyword:`!with` is also much shorter than writing equivalent :keyword:`try`" +"\\ -\\ :keyword:`finally` blocks::" +msgstr "" +"Під час роботи з файловими об’єктами корисно використовувати ключове слово :" +"keyword:`with`. Перевагою є те, що файл закривається належним чином після " +"завершення його набору, навіть якщо в якийсь момент виникає виняток. " +"Використання :keyword:`!with` також набагато коротше, ніж написання " +"еквівалента :keyword:`try`\\ -\\ :keyword:`finally` блоків::" + +msgid "" +"If you're not using the :keyword:`with` keyword, then you should call ``f." +"close()`` to close the file and immediately free up any system resources " +"used by it." +msgstr "" +"Якщо ви не використовуєте ключове слово :keyword:`with`, вам слід викликати " +"``f.close()``, щоб закрити файл і негайно звільнити всі системні ресурси, " +"які він використовує." + +msgid "" +"Calling ``f.write()`` without using the :keyword:`!with` keyword or calling " +"``f.close()`` **might** result in the arguments of ``f.write()`` not being " +"completely written to the disk, even if the program exits successfully." +msgstr "" +"Виклик ``f.write()`` без використання ключового слова :keyword:`!with` або " +"виклик ``f.close()`` **може** привести до аргументів ``f.write()`` не " +"повністю записується на диск, навіть якщо програма успішно завершує роботу." + +msgid "" +"After a file object is closed, either by a :keyword:`with` statement or by " +"calling ``f.close()``, attempts to use the file object will automatically " +"fail. ::" +msgstr "" +"Після того, як файловий об’єкт закрито за допомогою оператора :keyword:" +"`with` або виклику ``f.close()``, спроби використати файловий об’єкт " +"автоматично зазнають невдачі. ::" + +msgid "Methods of File Objects" +msgstr "Методи файлових об'єктів" + +msgid "" +"The rest of the examples in this section will assume that a file object " +"called ``f`` has already been created." +msgstr "" +"У решті прикладів у цьому розділі буде припущено, що файловий об’єкт під " +"назвою ``f`` уже створено." + +msgid "" +"To read a file's contents, call ``f.read(size)``, which reads some quantity " +"of data and returns it as a string (in text mode) or bytes object (in binary " +"mode). *size* is an optional numeric argument. When *size* is omitted or " +"negative, the entire contents of the file will be read and returned; it's " +"your problem if the file is twice as large as your machine's memory. " +"Otherwise, at most *size* characters (in text mode) or *size* bytes (in " +"binary mode) are read and returned. If the end of the file has been reached, " +"``f.read()`` will return an empty string (``''``). ::" +msgstr "" +"Щоб прочитати вміст файлу, викличте ``f.read(size)``, який зчитує певну " +"кількість даних і повертає їх як рядок (у текстовому режимі) або об’єкт " +"байтів (у двійковому режимі). *розмір* є необов’язковим числовим аргументом. " +"Якщо *size* пропущений або негативний, весь вміст файлу буде прочитано та " +"повернено; це ваша проблема, якщо розмір файлу вдвічі перевищує пам'ять " +"вашої машини. В іншому випадку зчитуються та повертаються щонайбільше *size* " +"символів (у текстовому режимі) або *size* байтів (у двійковому режимі). Якщо " +"досягнуто кінця файлу, f.read() поверне порожній рядок (``''``). ::" + +msgid "" +"``f.readline()`` reads a single line from the file; a newline character (``" +"\\n``) is left at the end of the string, and is only omitted on the last " +"line of the file if the file doesn't end in a newline. This makes the " +"return value unambiguous; if ``f.readline()`` returns an empty string, the " +"end of the file has been reached, while a blank line is represented by " +"``'\\n'``, a string containing only a single newline. ::" +msgstr "" +"``f.readline()`` читає один рядок із файлу; символ нового рядка (``\\n``) " +"залишається в кінці рядка та пропускається лише в останньому рядку файлу, " +"якщо файл не закінчується символом нового рядка. Це робить значення, що " +"повертається, однозначним; якщо ``f.readline()`` повертає порожній рядок, це " +"означає, що кінець файлу досягнуто, тоді як порожній рядок представлений " +"``'\\n'``, рядок, що містить лише один новий рядок. ::" + +msgid "" +"For reading lines from a file, you can loop over the file object. This is " +"memory efficient, fast, and leads to simple code::" +msgstr "" +"Щоб прочитати рядки з файлу, ви можете виконати цикл по об'єкту файлу. Це " +"ефективне використання пам’яті, швидке та веде до простого коду::" + +msgid "" +"If you want to read all the lines of a file in a list you can also use " +"``list(f)`` or ``f.readlines()``." +msgstr "" +"Якщо ви хочете прочитати всі рядки файлу у списку, ви також можете " +"скористатися ``list(f)`` або ``f.readlines()``." + +msgid "" +"``f.write(string)`` writes the contents of *string* to the file, returning " +"the number of characters written. ::" +msgstr "" +"``f.write(string)`` записує вміст *string* у файл, повертаючи кількість " +"записаних символів. ::" + +msgid "" +"Other types of objects need to be converted -- either to a string (in text " +"mode) or a bytes object (in binary mode) -- before writing them::" +msgstr "" +"Інші типи об’єктів потрібно перетворити — або на рядок (у текстовому " +"режимі), або на об’єкт bytes (у двійковому режимі) — перед їх записом:" + +msgid "" +"``f.tell()`` returns an integer giving the file object's current position in " +"the file represented as number of bytes from the beginning of the file when " +"in binary mode and an opaque number when in text mode." +msgstr "" +"``f.tell()`` повертає ціле число, що вказує поточну позицію файлового " +"об’єкта у файлі, представлену як кількість байтів від початку файлу в " +"двійковому режимі та непрозоре число в текстовому режимі." + +msgid "" +"To change the file object's position, use ``f.seek(offset, whence)``. The " +"position is computed from adding *offset* to a reference point; the " +"reference point is selected by the *whence* argument. A *whence* value of 0 " +"measures from the beginning of the file, 1 uses the current file position, " +"and 2 uses the end of the file as the reference point. *whence* can be " +"omitted and defaults to 0, using the beginning of the file as the reference " +"point. ::" +msgstr "" +"Щоб змінити позицію об’єкта файлу, використовуйте ``f.seek(offset, " +"wherece)``. Положення обчислюється шляхом додавання *зміщення* до опорної " +"точки; опорна точка вибирається аргументом *whence*. Значення *whence* 0 " +"вимірюється від початку файлу, 1 використовує поточну позицію файлу, а 2 " +"використовує кінець файлу як контрольну точку. *whence* можна опустити і за " +"умовчанням дорівнює 0, використовуючи початок файлу як контрольну точку. ::" + +msgid "" +"In text files (those opened without a ``b`` in the mode string), only seeks " +"relative to the beginning of the file are allowed (the exception being " +"seeking to the very file end with ``seek(0, 2)``) and the only valid " +"*offset* values are those returned from the ``f.tell()``, or zero. Any other " +"*offset* value produces undefined behaviour." +msgstr "" +"У текстових файлах (відкритих без ``b`` у рядку режиму) дозволений лише " +"пошук відносно початку файлу (виняток полягає в пошуку до самого кінця файлу " +"за допомогою ``seek(0, 2)``), і єдиними дійсними значеннями *offset* є ті, " +"які повертає ``f.tell()`` або нуль. Будь-яке інше значення *offset* " +"призводить до невизначеної поведінки." + +msgid "" +"File objects have some additional methods, such as :meth:`~file.isatty` and :" +"meth:`~file.truncate` which are less frequently used; consult the Library " +"Reference for a complete guide to file objects." +msgstr "" +"Файлові об’єкти мають деякі додаткові методи, такі як :meth:`~file.isatty` " +"і :meth:`~file.truncate`, які використовуються рідше; зверніться до " +"бібліотечного довідника, щоб отримати повний посібник щодо файлових об’єктів." + +msgid "Saving structured data with :mod:`json`" +msgstr "Збереження структурованих даних за допомогою :mod:`json`" + +msgid "" +"Strings can easily be written to and read from a file. Numbers take a bit " +"more effort, since the :meth:`read` method only returns strings, which will " +"have to be passed to a function like :func:`int`, which takes a string like " +"``'123'`` and returns its numeric value 123. When you want to save more " +"complex data types like nested lists and dictionaries, parsing and " +"serializing by hand becomes complicated." +msgstr "" +"Рядки можна легко записувати та читати з файлу. Числа вимагають трохи більше " +"зусиль, оскільки метод :meth:`read` повертає лише рядки, які потрібно буде " +"передати до функції на зразок :func:`int`, яка приймає рядок типу ``'123'`` " +"і повертає числове значення 123. Якщо ви хочете зберегти складніші типи " +"даних, як-от вкладені списки та словники, розбір і серіалізація вручну " +"ускладнюються." + +msgid "" +"Rather than having users constantly writing and debugging code to save " +"complicated data types to files, Python allows you to use the popular data " +"interchange format called `JSON (JavaScript Object Notation) `_. The standard module called :mod:`json` can take Python data " +"hierarchies, and convert them to string representations; this process is " +"called :dfn:`serializing`. Reconstructing the data from the string " +"representation is called :dfn:`deserializing`. Between serializing and " +"deserializing, the string representing the object may have been stored in a " +"file or data, or sent over a network connection to some distant machine." +msgstr "" + +msgid "" +"The JSON format is commonly used by modern applications to allow for data " +"exchange. Many programmers are already familiar with it, which makes it a " +"good choice for interoperability." +msgstr "" +"Формат JSON зазвичай використовується сучасними програмами для обміну " +"даними. Багато програмістів уже знайомі з ним, що робить його хорошим " +"вибором для сумісності." + +msgid "" +"If you have an object ``x``, you can view its JSON string representation " +"with a simple line of code::" +msgstr "" +"Якщо у вас є об’єкт ``x``, ви можете переглянути його представлення рядка " +"JSON за допомогою простого рядка коду::" + +msgid "" +"Another variant of the :func:`~json.dumps` function, called :func:`~json." +"dump`, simply serializes the object to a :term:`text file`. So if ``f`` is " +"a :term:`text file` object opened for writing, we can do this::" +msgstr "" +"Інший варіант функції :func:`~json.dumps`, який називається :func:`~json." +"dump`, просто серіалізує об’єкт у :term:`text file`. Отже, якщо ``f`` є " +"об'єктом :term:`text file`, відкритим для запису, ми можемо зробити це:" + +msgid "" +"To decode the object again, if ``f`` is a :term:`binary file` or :term:`text " +"file` object which has been opened for reading::" +msgstr "" +"Щоб знову декодувати об’єкт, якщо ``f`` є об’єктом :term:`binary file` або :" +"term:`text file`, який було відкрито для читання::" + +msgid "" +"JSON files must be encoded in UTF-8. Use ``encoding=\"utf-8\"`` when opening " +"JSON file as a :term:`text file` for both of reading and writing." +msgstr "" +"Файли JSON мають бути закодовані в UTF-8. Використовуйте ``encoding=" +"\"utf-8\"``, коли відкриваєте файл JSON як :term:`text file` як для читання, " +"так і для запису." + +msgid "" +"This simple serialization technique can handle lists and dictionaries, but " +"serializing arbitrary class instances in JSON requires a bit of extra " +"effort. The reference for the :mod:`json` module contains an explanation of " +"this." +msgstr "" +"Ця проста техніка серіалізації може працювати зі списками та словниками, але " +"серіалізація довільних екземплярів класу в JSON потребує додаткових зусиль. " +"Посилання на модуль :mod:`json` містить пояснення цього." + +msgid ":mod:`pickle` - the pickle module" +msgstr ":mod:`pickle` - модуль pickle" + +msgid "" +"Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " +"serialization of arbitrarily complex Python objects. As such, it is " +"specific to Python and cannot be used to communicate with applications " +"written in other languages. It is also insecure by default: deserializing " +"pickle data coming from an untrusted source can execute arbitrary code, if " +"the data was crafted by a skilled attacker." +msgstr "" +"На відміну від :ref:`JSON `, *pickle* — це протокол, який дозволяє " +"серіалізувати довільно складні об’єкти Python. Як такий, він специфічний для " +"Python і не може використовуватися для зв’язку з програмами, написаними " +"іншими мовами. Це також небезпечно за замовчуванням: десеріалізація даних " +"pickle, що надходять із ненадійного джерела, може виконувати довільний код, " +"якщо дані були створені кваліфікованим зловмисником." diff --git a/tutorial/interactive.po b/tutorial/interactive.po new file mode 100644 index 000000000..f40014bc4 --- /dev/null +++ b/tutorial/interactive.po @@ -0,0 +1,101 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Interactive Input Editing and History Substitution" +msgstr "Інтерактивне редагування введення та заміна історії" + +msgid "" +"Some versions of the Python interpreter support editing of the current input " +"line and history substitution, similar to facilities found in the Korn shell " +"and the GNU Bash shell. This is implemented using the `GNU Readline`_ " +"library, which supports various styles of editing. This library has its own " +"documentation which we won't duplicate here." +msgstr "" +"Деякі версії інтерпретатора Python підтримують редагування поточного рядка " +"введення та заміну історії, подібно до можливостей оболонки Korn і оболонки " +"GNU Bash. Це реалізовано за допомогою бібліотеки `GNU Readline`_, яка " +"підтримує різні стилі редагування. Ця бібліотека має власну документацію, " +"яку ми не будемо тут дублювати." + +msgid "Tab Completion and History Editing" +msgstr "Доповнення вкладок і редагування історії" + +msgid "" +"Completion of variable and module names is :ref:`automatically enabled " +"` at interpreter startup so that the :kbd:`Tab` key " +"invokes the completion function; it looks at Python statement names, the " +"current local variables, and the available module names. For dotted " +"expressions such as ``string.a``, it will evaluate the expression up to the " +"final ``'.'`` and then suggest completions from the attributes of the " +"resulting object. Note that this may execute application-defined code if an " +"object with a :meth:`__getattr__` method is part of the expression. The " +"default configuration also saves your history into a file named :file:`." +"python_history` in your user directory. The history will be available again " +"during the next interactive interpreter session." +msgstr "" +"Завершення імен змінних і модулів :ref:`автоматично вмикається ` під час запуску інтерпретатора, так що клавіша :kbd:`Tab` викликає " +"функцію завершення; він переглядає імена операторів Python, поточні локальні " +"змінні та доступні імена модулів. Для виразів із крапками, таких як ``string." +"a``, він обчислить вираз до останнього ``'.'``, а потім запропонує " +"завершення з атрибутів отриманого об’єкта. Зауважте, що це може виконувати " +"код, визначений програмою, якщо об’єкт із методом :meth:`__getattr__` є " +"частиною виразу. Конфігурація за замовчуванням також зберігає вашу історію у " +"файлі під назвою :file:`.python_history` у вашому каталозі користувача. " +"Історія знову буде доступна під час наступної сесії інтерактивного " +"перекладача." + +msgid "Alternatives to the Interactive Interpreter" +msgstr "Альтернативи інтерактивному інтерпретатору" + +msgid "" +"This facility is an enormous step forward compared to earlier versions of " +"the interpreter; however, some wishes are left: It would be nice if the " +"proper indentation were suggested on continuation lines (the parser knows if " +"an indent token is required next). The completion mechanism might use the " +"interpreter's symbol table. A command to check (or even suggest) matching " +"parentheses, quotes, etc., would also be useful." +msgstr "" +"Ця можливість є величезним кроком вперед порівняно з попередніми версіями " +"інтерпретатора; проте залишилися деякі побажання: було б чудово, якби " +"належний відступ був запропонований у рядках продовження (аналізатор знає, " +"чи потрібен маркер відступу далі). Механізм завершення може використовувати " +"таблицю символів інтерпретатора. Команда для перевірки (або навіть " +"пропозиції) відповідності дужок, лапок тощо також буде корисною." + +msgid "" +"One alternative enhanced interactive interpreter that has been around for " +"quite some time is IPython_, which features tab completion, object " +"exploration and advanced history management. It can also be thoroughly " +"customized and embedded into other applications. Another similar enhanced " +"interactive environment is bpython_." +msgstr "" +"Одним з альтернативних розширених інтерактивних інтерпретаторів, який існує " +"вже досить давно, є IPython_, який включає завершення вкладок, дослідження " +"об’єктів і розширене керування історією. Його також можна ретельно " +"налаштувати та вбудувати в інші програми. Ще одне подібне розширене " +"інтерактивне середовище — bpython_." diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po new file mode 100644 index 000000000..ad5984ec3 --- /dev/null +++ b/tutorial/interpreter.po @@ -0,0 +1,254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Using the Python Interpreter" +msgstr "Використання інтерпретатора Python" + +msgid "Invoking the Interpreter" +msgstr "Виклик Інтерпретатора" + +msgid "" +"The Python interpreter is usually installed as :file:`/usr/local/bin/" +"python3.11` on those machines where it is available; putting :file:`/usr/" +"local/bin` in your Unix shell's search path makes it possible to start it by " +"typing the command:" +msgstr "" + +msgid "" +"to the shell. [#]_ Since the choice of the directory where the interpreter " +"lives is an installation option, other places are possible; check with your " +"local Python guru or system administrator. (E.g., :file:`/usr/local/python` " +"is a popular alternative location.)" +msgstr "" +"до оболонки. [#]_ Оскільки вибір каталогу, де знаходиться інтерпретатор, є " +"опцією встановлення, можливі інші місця; зверніться до місцевого гуру Python " +"або системного адміністратора. (Наприклад, :file:`/usr/local/python` є " +"популярним альтернативним розташуванням.)" + +msgid "" +"On Windows machines where you have installed Python from the :ref:`Microsoft " +"Store `, the :file:`python3.11` command will be available. If " +"you have the :ref:`py.exe launcher ` installed, you can use the :" +"file:`py` command. See :ref:`setting-envvars` for other ways to launch " +"Python." +msgstr "" + +msgid "" +"Typing an end-of-file character (:kbd:`Control-D` on Unix, :kbd:`Control-Z` " +"on Windows) at the primary prompt causes the interpreter to exit with a zero " +"exit status. If that doesn't work, you can exit the interpreter by typing " +"the following command: ``quit()``." +msgstr "" +"Введення символу кінця файлу (:kbd:`Control-D` в Unix, :kbd:`Control-Z` в " +"Windows) у первинному запиті призводить до виходу інтерпретатора з нульовим " +"статусом виходу. Якщо це не спрацює, ви можете вийти з інтерпретатора, " +"ввівши таку команду: ``quit()``." + +msgid "" +"The interpreter's line-editing features include interactive editing, history " +"substitution and code completion on systems that support the `GNU Readline " +"`_ library. Perhaps " +"the quickest check to see whether command line editing is supported is " +"typing :kbd:`Control-P` to the first Python prompt you get. If it beeps, " +"you have command line editing; see Appendix :ref:`tut-interacting` for an " +"introduction to the keys. If nothing appears to happen, or if ``^P`` is " +"echoed, command line editing isn't available; you'll only be able to use " +"backspace to remove characters from the current line." +msgstr "" +"Функції рядкового редагування інтерпретатора включають інтерактивне " +"редагування, заміну історії та завершення коду в системах, які підтримують " +"бібліотеку `GNU Readline `_. Можливо, найшвидший спосіб перевірити, чи підтримується редагування " +"командного рядка, це ввести :kbd:`Control-P` у перше запрошення Python, яке " +"ви отримаєте. Якщо він подає звуковий сигнал, у вас є редагування командного " +"рядка; дивіться Додаток :ref:`tut-interacting` для ознайомлення з ключами. " +"Якщо нічого не відбувається або відображається ``^P``, редагування " +"командного рядка недоступне; Ви зможете використовувати клавішу Backspace " +"лише для видалення символів із поточного рядка." + +msgid "" +"The interpreter operates somewhat like the Unix shell: when called with " +"standard input connected to a tty device, it reads and executes commands " +"interactively; when called with a file name argument or with a file as " +"standard input, it reads and executes a *script* from that file." +msgstr "" +"Інтерпретатор працює дещо подібно до оболонки Unix: при виклику зі " +"стандартним введенням, підключеним до пристрою tty, він читає та виконує " +"команди в інтерактивному режимі; при виклику з аргументом імені файлу або з " +"файлом як стандартним введенням він читає та виконує *сценарій* із цього " +"файлу." + +msgid "" +"A second way of starting the interpreter is ``python -c command [arg] ...``, " +"which executes the statement(s) in *command*, analogous to the shell's :" +"option:`-c` option. Since Python statements often contain spaces or other " +"characters that are special to the shell, it is usually advised to quote " +"*command* in its entirety." +msgstr "" + +msgid "" +"Some Python modules are also useful as scripts. These can be invoked using " +"``python -m module [arg] ...``, which executes the source file for *module* " +"as if you had spelled out its full name on the command line." +msgstr "" +"Деякі модулі Python також корисні як сценарії. Їх можна викликати за " +"допомогою ``python -m module [arg] ...``, яка виконує вихідний файл для " +"*module* так, ніби ви ввели його повне ім’я в командному рядку." + +msgid "" +"When a script file is used, it is sometimes useful to be able to run the " +"script and enter interactive mode afterwards. This can be done by passing :" +"option:`-i` before the script." +msgstr "" +"Коли використовується файл сценарію, іноді корисно мати можливість запустити " +"сценарій і перейти в інтерактивний режим після цього. Це можна зробити, " +"передавши :option:`-i` перед сценарієм." + +msgid "All command line options are described in :ref:`using-on-general`." +msgstr "Усі параметри командного рядка описані в :ref:`using-on-general`." + +msgid "Argument Passing" +msgstr "Передача аргументу" + +msgid "" +"When known to the interpreter, the script name and additional arguments " +"thereafter are turned into a list of strings and assigned to the ``argv`` " +"variable in the ``sys`` module. You can access this list by executing " +"``import sys``. The length of the list is at least one; when no script and " +"no arguments are given, ``sys.argv[0]`` is an empty string. When the script " +"name is given as ``'-'`` (meaning standard input), ``sys.argv[0]`` is set " +"to ``'-'``. When :option:`-c` *command* is used, ``sys.argv[0]`` is set to " +"``'-c'``. When :option:`-m` *module* is used, ``sys.argv[0]`` is set to " +"the full name of the located module. Options found after :option:`-c` " +"*command* or :option:`-m` *module* are not consumed by the Python " +"interpreter's option processing but left in ``sys.argv`` for the command or " +"module to handle." +msgstr "" +"Якщо ім’я сценарію та додаткові аргументи відомі інтерпретатору, вони " +"перетворюються на список рядків і призначаються змінній ``argv`` у модулі " +"``sys``. Ви можете отримати доступ до цього списку, виконавши ``import " +"sys``. Довжина списку принаймні одна; якщо сценарій і аргументи не задані, " +"sys.argv[0] є порожнім рядком. Якщо ім’я сценарію вказано як ``'-''`` (що " +"означає стандартний ввід), ``sys.argv[0]`` має значення ``'-'``. Коли :" +"option:`-c` *команда* використовується, ``sys.argv[0]`` має значення ``'-" +"c'``. Коли :option:`-m` *module* використовується, ``sys.argv[0]`` " +"встановлюється на повну назву розташованого модуля. Параметри, знайдені " +"після :option:`-c` *command* або :option:`-m` *module*, не використовуються " +"обробкою параметрів інтерпретатора Python, а залишаються в ``sys.argv`` для " +"обробки команди або модуля ." + +msgid "Interactive Mode" +msgstr "Інтерактивний режим" + +msgid "" +"When commands are read from a tty, the interpreter is said to be in " +"*interactive mode*. In this mode it prompts for the next command with the " +"*primary prompt*, usually three greater-than signs (``>>>``); for " +"continuation lines it prompts with the *secondary prompt*, by default three " +"dots (``...``). The interpreter prints a welcome message stating its version " +"number and a copyright notice before printing the first prompt:" +msgstr "" +"Коли команди читаються з tty, кажуть, що інтерпретатор перебуває в " +"*інтерактивному режимі*. У цьому режимі він запитує наступну команду за " +"допомогою *основного підказки*, як правило, трьох знаків \"більше" +"\" (``>>>``); для рядків продовження він запитує *другорядним запитом*, за " +"замовчуванням три крапки (``...``). Інтерпретатор друкує вітальне " +"повідомлення із зазначенням номера версії та повідомлення про авторські " +"права перед друком першого запиту:" + +msgid "" +"Continuation lines are needed when entering a multi-line construct. As an " +"example, take a look at this :keyword:`if` statement::" +msgstr "" +"Під час введення багаторядкової конструкції потрібні рядки продовження. Як " +"приклад, подивіться на цей оператор :keyword:`if`::" + +msgid "For more on interactive mode, see :ref:`tut-interac`." +msgstr "" +"Щоб дізнатися більше про інтерактивний режим, перегляньте :ref:`tut-interac`." + +msgid "The Interpreter and Its Environment" +msgstr "Інтерпретатор і його середовище" + +msgid "Source Code Encoding" +msgstr "Кодування вихідного коду" + +msgid "" +"By default, Python source files are treated as encoded in UTF-8. In that " +"encoding, characters of most languages in the world can be used " +"simultaneously in string literals, identifiers and comments --- although the " +"standard library only uses ASCII characters for identifiers, a convention " +"that any portable code should follow. To display all these characters " +"properly, your editor must recognize that the file is UTF-8, and it must use " +"a font that supports all the characters in the file." +msgstr "" +"За замовчуванням вихідні файли Python розглядаються як закодовані в UTF-8. У " +"цьому кодуванні символи більшості мов світу можуть використовуватися " +"одночасно в рядкових літералах, ідентифікаторах і коментарях --- хоча " +"стандартна бібліотека використовує лише символи ASCII для ідентифікаторів, " +"угоду, якої повинен дотримуватися будь-який портативний код. Щоб правильно " +"відобразити всі ці символи, ваш редактор має розпізнати, що файл має UTF-8, " +"і він має використовувати шрифт, який підтримує всі символи у файлі." + +msgid "" +"To declare an encoding other than the default one, a special comment line " +"should be added as the *first* line of the file. The syntax is as follows::" +msgstr "" +"Щоб оголосити кодування, відмінне від кодування за замовчуванням, слід " +"додати спеціальний рядок коментаря як *перший* рядок файлу. Синтаксис такий::" + +msgid "where *encoding* is one of the valid :mod:`codecs` supported by Python." +msgstr "" +"де *кодування* є одним із дійсних :mod:`codecs`, які підтримуються Python." + +msgid "" +"For example, to declare that Windows-1252 encoding is to be used, the first " +"line of your source code file should be::" +msgstr "" +"Наприклад, щоб оголосити, що потрібно використовувати кодування " +"Windows-1252, перший рядок вашого файлу вихідного коду має бути::" + +msgid "" +"One exception to the *first line* rule is when the source code starts with " +"a :ref:`UNIX \"shebang\" line `. In this case, the encoding " +"declaration should be added as the second line of the file. For example::" +msgstr "" +"Одним винятком із правила *першого рядка* є випадки, коли вихідний код " +"починається з рядка :ref:`UNIX \"shebang\" `. У цьому випадку " +"оголошення кодування має бути додано як другий рядок файлу. Наприклад::" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"On Unix, the Python 3.x interpreter is by default not installed with the " +"executable named ``python``, so that it does not conflict with a " +"simultaneously installed Python 2.x executable." +msgstr "" +"В Unix інтерпретатор Python 3.x за замовчуванням не встановлюється з " +"виконуваним файлом під назвою ``python``, тому він не конфліктує з одночасно " +"встановленим виконуваним файлом Python 2.x." diff --git a/tutorial/introduction.po b/tutorial/introduction.po new file mode 100644 index 000000000..683e5d0b9 --- /dev/null +++ b/tutorial/introduction.po @@ -0,0 +1,569 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "An Informal Introduction to Python" +msgstr "Неформальний вступ до Python" + +msgid "" +"In the following examples, input and output are distinguished by the " +"presence or absence of prompts (:term:`>>>` and :term:`...`): to repeat the " +"example, you must type everything after the prompt, when the prompt appears; " +"lines that do not begin with a prompt are output from the interpreter. Note " +"that a secondary prompt on a line by itself in an example means you must " +"type a blank line; this is used to end a multi-line command." +msgstr "" +"У наступних прикладах вхід і вихід відрізняються наявністю або відсутністю " +"підказок (:term:`>>>` і :term:`...`): щоб повторити приклад, ви повинні " +"ввести все після підказки, коли з'явиться підказка; рядки, які не " +"починаються з підказки, виводяться з інтерпретатора. Зауважте, що другорядна " +"підказка в окремому рядку у прикладі означає, що ви повинні ввести порожній " +"рядок; це використовується для завершення багаторядкової команди." + +msgid "" +"You can toggle the display of prompts and output by clicking on ``>>>`` in " +"the upper-right corner of an example box. If you hide the prompts and " +"output for an example, then you can easily copy and paste the input lines " +"into your interpreter." +msgstr "" +"Ви можете перемкнути відображення підказок і вихід, натиснувши ``>>>`` у " +"верхньому правому куті вікна прикладу. Якщо ви приховаєте підказки та вивід " +"для прикладу, ви зможете легко скопіювати та вставити рядки введення у свій " +"інтерпретатор." + +msgid "" +"Many of the examples in this manual, even those entered at the interactive " +"prompt, include comments. Comments in Python start with the hash character, " +"``#``, and extend to the end of the physical line. A comment may appear at " +"the start of a line or following whitespace or code, but not within a string " +"literal. A hash character within a string literal is just a hash character. " +"Since comments are to clarify code and are not interpreted by Python, they " +"may be omitted when typing in examples." +msgstr "" +"Багато прикладів у цьому посібнику, навіть ті, що вводяться в інтерактивному " +"вікні, містять коментарі. Коментарі в Python починаються з символу решетки " +"``#`` і тягнуться до кінця фізичного рядка. Коментар може з’явитися на " +"початку рядка або після пробілу чи коду, але не в рядковому літералі. Хеш-" +"символ у рядковому літералі є просто хеш-символом. Оскільки коментарі " +"призначені для прояснення коду та не інтерпретуються Python, їх можна " +"опустити під час введення прикладів." + +msgid "Some examples::" +msgstr "Деякі приклади::" + +msgid "Using Python as a Calculator" +msgstr "Використання Python як калькулятора" + +msgid "" +"Let's try some simple Python commands. Start the interpreter and wait for " +"the primary prompt, ``>>>``. (It shouldn't take long.)" +msgstr "" +"Давайте спробуємо кілька простих команд Python. Запустіть інтерпретатор і " +"дочекайтеся первинної підказки ``>>>``. (Це не повинно зайняти багато часу.)" + +msgid "Numbers" +msgstr "Числа" + +msgid "" +"The interpreter acts as a simple calculator: you can type an expression at " +"it and it will write the value. Expression syntax is straightforward: the " +"operators ``+``, ``-``, ``*`` and ``/`` work just like in most other " +"languages (for example, Pascal or C); parentheses (``()``) can be used for " +"grouping. For example::" +msgstr "" +"Інтерпретатор діє як простий калькулятор: ви можете ввести в нього вираз, і " +"він запише значення. Синтаксис виразу простий: оператори ``+``, ``-``, ``*`` " +"і ``/`` працюють так само, як і в більшості інших мов (наприклад, Pascal або " +"C); дужки (``()``) можна використовувати для групування. Наприклад::" + +msgid "" +"The integer numbers (e.g. ``2``, ``4``, ``20``) have type :class:`int`, the " +"ones with a fractional part (e.g. ``5.0``, ``1.6``) have type :class:" +"`float`. We will see more about numeric types later in the tutorial." +msgstr "" +"Цілі числа (наприклад, ``2``, ``4``, ``20``) мають тип :class:`int`, ті з " +"дробовою частиною (наприклад ``5.0``, ``1.6``) мають тип :class:`float`. Ми " +"побачимо більше про числові типи пізніше в підручнику." + +msgid "" +"Division (``/``) always returns a float. To do :term:`floor division` and " +"get an integer result you can use the ``//`` operator; to calculate the " +"remainder you can use ``%``::" +msgstr "" + +msgid "" +"With Python, it is possible to use the ``**`` operator to calculate powers " +"[#]_::" +msgstr "" +"У Python можна використовувати оператор ``**`` для обчислення степенів [#]_::" + +msgid "" +"The equal sign (``=``) is used to assign a value to a variable. Afterwards, " +"no result is displayed before the next interactive prompt::" +msgstr "" +"Знак рівності (``=``) використовується для призначення значення змінній. " +"Після цього результат не відображається до наступного інтерактивного запиту::" + +msgid "" +"If a variable is not \"defined\" (assigned a value), trying to use it will " +"give you an error::" +msgstr "" +"Якщо змінна не \"визначена\" (присвоєно значення), спроба використати її " +"призведе до помилки::" + +msgid "" +"There is full support for floating point; operators with mixed type operands " +"convert the integer operand to floating point::" +msgstr "" +"Є повна підтримка для плаваючої коми; оператори з операндами змішаного типу " +"перетворюють цілий операнд на плаваючу крапку::" + +msgid "" +"In interactive mode, the last printed expression is assigned to the variable " +"``_``. This means that when you are using Python as a desk calculator, it " +"is somewhat easier to continue calculations, for example::" +msgstr "" +"В інтерактивному режимі останній надрукований вираз призначається змінній " +"``_``. Це означає, що коли ви використовуєте Python як настільний " +"калькулятор, продовжувати обчислення дещо легше, наприклад:" + +msgid "" +"This variable should be treated as read-only by the user. Don't explicitly " +"assign a value to it --- you would create an independent local variable with " +"the same name masking the built-in variable with its magic behavior." +msgstr "" +"Користувач має розглядати цю змінну як доступну лише для читання. Не " +"призначайте їй явно значення --- ви створили б незалежну локальну змінну з " +"такою самою назвою, маскуючи вбудовану змінну своєю чарівною поведінкою." + +msgid "" +"In addition to :class:`int` and :class:`float`, Python supports other types " +"of numbers, such as :class:`~decimal.Decimal` and :class:`~fractions." +"Fraction`. Python also has built-in support for :ref:`complex numbers " +"`, and uses the ``j`` or ``J`` suffix to indicate the " +"imaginary part (e.g. ``3+5j``)." +msgstr "" +"Окрім :class:`int` і :class:`float`, Python підтримує інші типи чисел, такі " +"як :class:`~decimal.Decimal` і :class:`~fractions.Fraction`. Python також " +"має вбудовану підтримку :ref:`комплексних чисел ` і " +"використовує ``j`` або ``J`` суфікс для позначення уявної частини " +"(наприклад, ``3+5j``)." + +msgid "Strings" +msgstr "рядки" + +msgid "" +"Besides numbers, Python can also manipulate strings, which can be expressed " +"in several ways. They can be enclosed in single quotes (``'...'``) or " +"double quotes (``\"...\"``) with the same result [#]_. ``\\`` can be used " +"to escape quotes::" +msgstr "" +"Крім чисел, Python також може працювати з рядками, які можна виразити " +"кількома способами. Вони можуть бути взяті в одинарні лапки (``'...'``) або " +"подвійні лапки (``\"...\"``) з однаковим результатом [#]_. ``\\`` можна " +"використовувати для екранування лапок::" + +msgid "" +"In the interactive interpreter, the output string is enclosed in quotes and " +"special characters are escaped with backslashes. While this might sometimes " +"look different from the input (the enclosing quotes could change), the two " +"strings are equivalent. The string is enclosed in double quotes if the " +"string contains a single quote and no double quotes, otherwise it is " +"enclosed in single quotes. The :func:`print` function produces a more " +"readable output, by omitting the enclosing quotes and by printing escaped " +"and special characters::" +msgstr "" +"В інтерактивному інтерпретаторі вихідний рядок береться в лапки, а " +"спеціальні символи екрануються зворотними скісними рисками. Хоча іноді це " +"може відрізнятися від вхідних даних (лапки можуть змінюватися), ці два рядки " +"еквівалентні. Рядок береться в подвійні лапки, якщо рядок містить одинарні " +"лапки та не містить подвійних лапок, інакше він береться в одинарні лапки. " +"Функція :func:`print` створює більш читабельний результат, опускаючи лапки " +"та друкуючи екрановані та спеціальні символи::" + +msgid "" +"If you don't want characters prefaced by ``\\`` to be interpreted as special " +"characters, you can use *raw strings* by adding an ``r`` before the first " +"quote::" +msgstr "" +"Якщо ви не хочете, щоб символи, перед якими стоїть ``\\``, інтерпретувалися " +"як спеціальні символи, ви можете використовувати *необроблені рядки*, " +"додавши ``r`` перед першою лапкою::" + +msgid "" +"String literals can span multiple lines. One way is using triple-quotes: ``" +"\"\"\"...\"\"\"`` or ``'''...'''``. End of lines are automatically included " +"in the string, but it's possible to prevent this by adding a ``\\`` at the " +"end of the line. The following example::" +msgstr "" +"Рядкові літерали можуть займати кілька рядків. Одним із способів є " +"використання потрійних лапок: ``\"\"\"...\"\"\"`` або ``'''...'''``. Кінець " +"рядків автоматично включається в рядок, але можна запобігти цьому, додавши ``" +"\\`` в кінці рядка. Наступний приклад::" + +msgid "" +"produces the following output (note that the initial newline is not " +"included):" +msgstr "" +"створює наступний вихід (зауважте, що початковий новий рядок не включено):" + +msgid "" +"Strings can be concatenated (glued together) with the ``+`` operator, and " +"repeated with ``*``::" +msgstr "" +"Рядки можна об’єднати (склеїти) за допомогою оператора ``+`` і повторити за " +"допомогою ``*``::" + +msgid "" +"Two or more *string literals* (i.e. the ones enclosed between quotes) next " +"to each other are automatically concatenated. ::" +msgstr "" +"Два або більше *рядкових літералів* (тобто ті, що взяті в лапки) поруч один " +"з одним автоматично об’єднуються. ::" + +msgid "" +"This feature is particularly useful when you want to break long strings::" +msgstr "Ця функція особливо корисна, коли ви хочете розірвати довгі рядки::" + +msgid "" +"This only works with two literals though, not with variables or expressions::" +msgstr "Це працює лише з двома літералами, але не зі змінними чи виразами:" + +msgid "" +"If you want to concatenate variables or a variable and a literal, use ``+``::" +msgstr "" +"Якщо ви хочете об’єднати змінні або змінну та літерал, використовуйте ``+``::" + +msgid "" +"Strings can be *indexed* (subscripted), with the first character having " +"index 0. There is no separate character type; a character is simply a string " +"of size one::" +msgstr "" +"Рядки можуть бути *індексованими* (з індексом), при цьому перший символ має " +"індекс 0. Немає окремого типу символу; символ - це просто рядок розміру " +"один::" + +msgid "" +"Indices may also be negative numbers, to start counting from the right::" +msgstr "" +"Індекси також можуть бути від’ємними числами, щоб почати відлік справа:" + +msgid "Note that since -0 is the same as 0, negative indices start from -1." +msgstr "" +"Зауважте, що оскільки -0 дорівнює 0, від'ємні індекси починаються з -1." + +msgid "" +"In addition to indexing, *slicing* is also supported. While indexing is " +"used to obtain individual characters, *slicing* allows you to obtain " +"substring::" +msgstr "" +"Окрім індексування, також підтримується *нарізка*. Хоча індексування " +"використовується для отримання окремих символів, *зрізання* дозволяє " +"отримати підрядок::" + +msgid "" +"Slice indices have useful defaults; an omitted first index defaults to zero, " +"an omitted second index defaults to the size of the string being sliced. ::" +msgstr "" +"Індекси зрізів мають корисні значення за замовчуванням; пропущений перший " +"індекс за замовчуванням дорівнює нулю, пропущений другий індекс за " +"замовчуванням відповідає розміру рядка, що нарізається. ::" + +msgid "" +"Note how the start is always included, and the end always excluded. This " +"makes sure that ``s[:i] + s[i:]`` is always equal to ``s``::" +msgstr "" +"Зверніть увагу, що початок завжди включається, а кінець завжди виключається. " +"Це гарантує, що ``s[:i] + s[i:]`` завжди дорівнює ``s``::" + +msgid "" +"One way to remember how slices work is to think of the indices as pointing " +"*between* characters, with the left edge of the first character numbered 0. " +"Then the right edge of the last character of a string of *n* characters has " +"index *n*, for example::" +msgstr "" +"Один із способів запам’ятати, як працюють зрізи, — уявити собі індекси як " +"такі, що вказують *між* символами, при цьому лівий край першого символу має " +"номер 0. Тоді правий край останнього символу рядка з *n* символів має індекс " +"*n*, наприклад::" + +msgid "" +"The first row of numbers gives the position of the indices 0...6 in the " +"string; the second row gives the corresponding negative indices. The slice " +"from *i* to *j* consists of all characters between the edges labeled *i* and " +"*j*, respectively." +msgstr "" +"Перший рядок чисел задає положення індексів 0...6 у рядку; другий рядок дає " +"відповідні від’ємні індекси. Фрагмент від *i* до *j* складається з усіх " +"символів між краями, позначених *i* та *j* відповідно." + +msgid "" +"For non-negative indices, the length of a slice is the difference of the " +"indices, if both are within bounds. For example, the length of " +"``word[1:3]`` is 2." +msgstr "" +"Для невід’ємних індексів довжина зрізу є різницею індексів, якщо обидва " +"знаходяться в межах. Наприклад, довжина ``word[1:3]`` дорівнює 2." + +msgid "Attempting to use an index that is too large will result in an error::" +msgstr "Спроба використати занадто великий індекс призведе до помилки::" + +msgid "" +"However, out of range slice indexes are handled gracefully when used for " +"slicing::" +msgstr "" +"Однак індекси зрізів поза діапазоном обробляються витончено, коли " +"використовуються для зрізу::" + +msgid "" +"Python strings cannot be changed --- they are :term:`immutable`. Therefore, " +"assigning to an indexed position in the string results in an error::" +msgstr "" +"Рядки Python не можна змінити --- вони :term:`immutable`. Таким чином, " +"призначення індексованої позиції в рядку призводить до помилки::" + +msgid "If you need a different string, you should create a new one::" +msgstr "Якщо вам потрібен інший рядок, вам слід створити новий:" + +msgid "The built-in function :func:`len` returns the length of a string::" +msgstr "Вбудована функція :func:`len` повертає довжину рядка::" + +msgid ":ref:`textseq`" +msgstr ":ref:`textseq`" + +msgid "" +"Strings are examples of *sequence types*, and support the common operations " +"supported by such types." +msgstr "" +"Рядки є прикладами *типів послідовностей* і підтримують загальні операції, " +"які підтримують такі типи." + +msgid ":ref:`string-methods`" +msgstr ":ref:`string-methods`" + +msgid "" +"Strings support a large number of methods for basic transformations and " +"searching." +msgstr "" +"Рядки підтримують велику кількість методів для основних перетворень і пошуку." + +msgid ":ref:`f-strings`" +msgstr ":ref:`f-strings`" + +msgid "String literals that have embedded expressions." +msgstr "Рядкові літерали, які мають вбудовані вирази." + +msgid ":ref:`formatstrings`" +msgstr ":ref:`formatstrings`" + +msgid "Information about string formatting with :meth:`str.format`." +msgstr "Інформація про форматування рядка за допомогою :meth:`str.format`." + +msgid ":ref:`old-string-formatting`" +msgstr ":ref:`old-string-formatting`" + +msgid "" +"The old formatting operations invoked when strings are the left operand of " +"the ``%`` operator are described in more detail here." +msgstr "" +"Старі операції форматування, що викликані, коли рядки є лівим операндом " +"оператора ``%``, описані більш детально тут." + +msgid "Lists" +msgstr "списки" + +msgid "" +"Python knows a number of *compound* data types, used to group together other " +"values. The most versatile is the *list*, which can be written as a list of " +"comma-separated values (items) between square brackets. Lists might contain " +"items of different types, but usually the items all have the same type. ::" +msgstr "" +"Python знає кілька *складених* типів даних, які використовуються для " +"групування інших значень. Найбільш універсальним є *список*, який можна " +"записати як список розділених комами значень (елементів) у квадратних " +"дужках. Списки можуть містити елементи різних типів, але зазвичай усі " +"елементи мають однаковий тип. ::" + +msgid "" +"Like strings (and all other built-in :term:`sequence` types), lists can be " +"indexed and sliced::" +msgstr "" +"Як і рядки (та всі інші вбудовані типи :term:`sequence`), списки можна " +"індексувати та нарізати:" + +msgid "" +"All slice operations return a new list containing the requested elements. " +"This means that the following slice returns a :ref:`shallow copy " +"` of the list::" +msgstr "" +"Усі операції надрізу повертають новий список із запитаними елементами. Це " +"означає, що наступний фрагмент повертає :ref:`неглибоку копію " +"` списку::" + +msgid "Lists also support operations like concatenation::" +msgstr "Списки також підтримують такі операції, як конкатенація::" + +msgid "" +"Unlike strings, which are :term:`immutable`, lists are a :term:`mutable` " +"type, i.e. it is possible to change their content::" +msgstr "" +"На відміну від рядків, які є :term:`immutable`, списки мають тип :term:" +"`mutable`, тобто їх вміст можна змінювати:" + +msgid "" +"You can also add new items at the end of the list, by using the :meth:`~list." +"append` *method* (we will see more about methods later)::" +msgstr "" +"Ви також можете додавати нові елементи в кінець списку, використовуючи :meth:" +"`~list.append` *метод* (ми побачимо більше про методи пізніше)::" + +msgid "" +"Assignment to slices is also possible, and this can even change the size of " +"the list or clear it entirely::" +msgstr "" +"Також можливе призначення фрагментам, і це навіть може змінити розмір списку " +"або повністю його очистити::" + +msgid "The built-in function :func:`len` also applies to lists::" +msgstr "Вбудована функція :func:`len` також застосовується до списків::" + +msgid "" +"It is possible to nest lists (create lists containing other lists), for " +"example::" +msgstr "" +"Можна вкладати списки (створювати списки, що містять інші списки), наприклад:" + +msgid "First Steps Towards Programming" +msgstr "Перші кроки до програмування" + +msgid "" +"Of course, we can use Python for more complicated tasks than adding two and " +"two together. For instance, we can write an initial sub-sequence of the " +"`Fibonacci series `_ as " +"follows::" +msgstr "" +"Звичайно, ми можемо використовувати Python для більш складних завдань, ніж " +"додавання двох і двох. Наприклад, ми можемо записати початкову " +"підпослідовність `ряду Фібоначчі `_ таким чином::" + +msgid "This example introduces several new features." +msgstr "Цей приклад представляє кілька нових функцій." + +msgid "" +"The first line contains a *multiple assignment*: the variables ``a`` and " +"``b`` simultaneously get the new values 0 and 1. On the last line this is " +"used again, demonstrating that the expressions on the right-hand side are " +"all evaluated first before any of the assignments take place. The right-" +"hand side expressions are evaluated from the left to the right." +msgstr "" +"Перший рядок містить *множинне призначення*: змінні ``a`` і ``b`` одночасно " +"отримують нові значення 0 і 1. В останньому рядку це використовується знову, " +"демонструючи, що вирази праворуч усі сторони оцінюються перш ніж виконати " +"будь-яке завдання. Вирази правої частини обчислюються зліва направо." + +msgid "" +"The :keyword:`while` loop executes as long as the condition (here: ``a < " +"10``) remains true. In Python, like in C, any non-zero integer value is " +"true; zero is false. The condition may also be a string or list value, in " +"fact any sequence; anything with a non-zero length is true, empty sequences " +"are false. The test used in the example is a simple comparison. The " +"standard comparison operators are written the same as in C: ``<`` (less " +"than), ``>`` (greater than), ``==`` (equal to), ``<=`` (less than or equal " +"to), ``>=`` (greater than or equal to) and ``!=`` (not equal to)." +msgstr "" +"Цикл :keyword:`while` виконується, доки виконується умова (тут: ``a < 10``) " +"remains true. In Python, like in C, any non-zero integer value is true; " +"zero is false. The condition may also be a string or list value, in fact " +"any sequence; anything with a non-zero length is true, empty sequences are " +"false. The test used in the example is a simple comparison. The standard " +"comparison operators are written the same as in C: ``<`` (less than), ``>`` " +"(більше), ``==`` (дорівнює), ``<=`` (less than or equal to), ``> =`` (більше " +"або дорівнює to) і ``!=`` (не дорівнює)." + +msgid "" +"The *body* of the loop is *indented*: indentation is Python's way of " +"grouping statements. At the interactive prompt, you have to type a tab or " +"space(s) for each indented line. In practice you will prepare more " +"complicated input for Python with a text editor; all decent text editors " +"have an auto-indent facility. When a compound statement is entered " +"interactively, it must be followed by a blank line to indicate completion " +"(since the parser cannot guess when you have typed the last line). Note " +"that each line within a basic block must be indented by the same amount." +msgstr "" +"*Тіло* циклу має *відступ*: відступ — це спосіб групування операторів у " +"Python. У інтерактивному запиті ви повинні ввести табуляцію або пробіл для " +"кожного рядка з відступом. На практиці ви підготуєте складніші введення для " +"Python за допомогою текстового редактора; усі пристойні текстові редактори " +"мають функцію автоматичного відступу. Коли складений оператор вводиться в " +"інтерактивному режимі, після нього має йти порожній рядок, щоб вказати " +"завершення (оскільки аналізатор не може вгадати, коли ви ввели останній " +"рядок). Зауважте, що кожен рядок у базовому блоці має мати однаковий відступ." + +msgid "" +"The :func:`print` function writes the value of the argument(s) it is given. " +"It differs from just writing the expression you want to write (as we did " +"earlier in the calculator examples) in the way it handles multiple " +"arguments, floating point quantities, and strings. Strings are printed " +"without quotes, and a space is inserted between items, so you can format " +"things nicely, like this::" +msgstr "" +"Функція :func:`print` записує значення аргументів, які вона надає. Він " +"відрізняється від простого написання виразу, який ви хочете написати (як ми " +"робили раніше в прикладах калькулятора), тим, як він обробляє кілька " +"аргументів, величини з плаваючою комою та рядки. Рядки друкуються без лапок, " +"а між елементами вставляється пробіл, щоб ви могли гарно форматувати речі, " +"наприклад:" + +msgid "" +"The keyword argument *end* can be used to avoid the newline after the " +"output, or end the output with a different string::" +msgstr "" +"Аргумент ключового слова *end* можна використовувати, щоб уникнути нового " +"рядка після виводу або завершити вивід іншим рядком::" + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"Since ``**`` has higher precedence than ``-``, ``-3**2`` will be interpreted " +"as ``-(3**2)`` and thus result in ``-9``. To avoid this and get ``9``, you " +"can use ``(-3)**2``." +msgstr "" +"Оскільки ``**`` має вищий пріоритет, ніж ``-``, ``-3**2`` буде " +"інтерпретовано як ``-(3**2)`` і, таким чином, призведе до ``-9``. Щоб " +"уникнути цього та отримати ``9``, ви можете використовувати ``(-3)**2``." + +msgid "" +"Unlike other languages, special characters such as ``\\n`` have the same " +"meaning with both single (``'...'``) and double (``\"...\"``) quotes. The " +"only difference between the two is that within single quotes you don't need " +"to escape ``\"`` (but you have to escape ``\\'``) and vice versa." +msgstr "" +"На відміну від інших мов, спеціальні символи, такі як ``\\n``, мають " +"однакове значення з одинарними (``'...'``) і подвійними (``\"...\"``) " +"лапками. Єдина різниця між ними полягає в тому, що в одинарних лапках вам не " +"потрібно екранувати ``\"`` (але вам потрібно екранувати ``\\'``) і навпаки." diff --git a/tutorial/modules.po b/tutorial/modules.po new file mode 100644 index 000000000..a1653b107 --- /dev/null +++ b/tutorial/modules.po @@ -0,0 +1,761 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Modules" +msgstr "Модулі" + +msgid "" +"If you quit from the Python interpreter and enter it again, the definitions " +"you have made (functions and variables) are lost. Therefore, if you want to " +"write a somewhat longer program, you are better off using a text editor to " +"prepare the input for the interpreter and running it with that file as input " +"instead. This is known as creating a *script*. As your program gets " +"longer, you may want to split it into several files for easier maintenance. " +"You may also want to use a handy function that you've written in several " +"programs without copying its definition into each program." +msgstr "" +"Якщо ви вийшли з інтерпретатора Python і ввели його знову, зроблені вами " +"визначення (функції та змінні) буде втрачено. Тому, якщо ви хочете написати " +"дещо довшу програму, вам краще використовувати текстовий редактор, щоб " +"підготувати вхідні дані для інтерпретатора, а замість цього запустити її з " +"цим файлом як вхідними. Це відоме як створення *сценарію*. Коли ваша " +"програма стає довшою, ви можете розділити її на кілька файлів для полегшення " +"обслуговування. Ви також можете використати зручну функцію, яку ви написали " +"в кількох програмах, не копіюючи її визначення в кожну програму." + +msgid "" +"To support this, Python has a way to put definitions in a file and use them " +"in a script or in an interactive instance of the interpreter. Such a file is " +"called a *module*; definitions from a module can be *imported* into other " +"modules or into the *main* module (the collection of variables that you have " +"access to in a script executed at the top level and in calculator mode)." +msgstr "" +"Для підтримки цього Python має спосіб помістити визначення у файл і " +"використовувати їх у сценарії або в інтерактивному екземплярі " +"інтерпретатора. Такий файл називається *модулем*; визначення з модуля можна " +"*імпортувати* в інші модулі або в *головний* модуль (набір змінних, до яких " +"ви маєте доступ у сценарії, що виконується на верхньому рівні та в режимі " +"калькулятора)." + +msgid "" +"A module is a file containing Python definitions and statements. The file " +"name is the module name with the suffix :file:`.py` appended. Within a " +"module, the module's name (as a string) is available as the value of the " +"global variable ``__name__``. For instance, use your favorite text editor " +"to create a file called :file:`fibo.py` in the current directory with the " +"following contents::" +msgstr "" +"Модуль — це файл, що містить визначення та оператори Python. Ім’я файлу — це " +"ім’я модуля з суфіксом :file:`.py`. У межах модуля ім’я модуля (у вигляді " +"рядка) доступне як значення глобальної змінної ``__name__``. Наприклад, " +"скористайтеся своїм улюбленим текстовим редактором, щоб створити файл під " +"назвою :file:`fibo.py` у поточному каталозі з таким вмістом::" + +msgid "" +"Now enter the Python interpreter and import this module with the following " +"command::" +msgstr "" +"Тепер увійдіть до інтерпретатора Python та імпортуйте цей модуль за " +"допомогою наступної команди:" + +msgid "" +"This does not add the names of the functions defined in ``fibo`` directly " +"to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " +"it only adds the module name ``fibo`` there. Using the module name you can " +"access the functions::" +msgstr "" + +msgid "" +"If you intend to use a function often you can assign it to a local name::" +msgstr "" +"Якщо ви маєте намір часто використовувати функцію, ви можете призначити їй " +"локальну назву:" + +msgid "More on Modules" +msgstr "Детальніше про модулі" + +msgid "" +"A module can contain executable statements as well as function definitions. " +"These statements are intended to initialize the module. They are executed " +"only the *first* time the module name is encountered in an import statement. " +"[#]_ (They are also run if the file is executed as a script.)" +msgstr "" +"Модуль може містити виконувані оператори, а також визначення функцій. Ці " +"оператори призначені для ініціалізації модуля. Вони виконуються лише " +"*вперше*, коли ім’я модуля зустрічається в операторі імпорту. [#]_ (Вони " +"також запускаються, якщо файл виконується як сценарій.)" + +msgid "" +"Each module has its own private namespace, which is used as the global " +"namespace by all functions defined in the module. Thus, the author of a " +"module can use global variables in the module without worrying about " +"accidental clashes with a user's global variables. On the other hand, if you " +"know what you are doing you can touch a module's global variables with the " +"same notation used to refer to its functions, ``modname.itemname``." +msgstr "" + +msgid "" +"Modules can import other modules. It is customary but not required to place " +"all :keyword:`import` statements at the beginning of a module (or script, " +"for that matter). The imported module names, if placed at the top level of " +"a module (outside any functions or classes), are added to the module's " +"global namespace." +msgstr "" + +msgid "" +"There is a variant of the :keyword:`import` statement that imports names " +"from a module directly into the importing module's namespace. For example::" +msgstr "" + +msgid "" +"This does not introduce the module name from which the imports are taken in " +"the local namespace (so in the example, ``fibo`` is not defined)." +msgstr "" + +msgid "There is even a variant to import all names that a module defines::" +msgstr "Існує навіть варіант імпорту всіх імен, які визначає модуль:" + +msgid "" +"This imports all names except those beginning with an underscore (``_``). In " +"most cases Python programmers do not use this facility since it introduces " +"an unknown set of names into the interpreter, possibly hiding some things " +"you have already defined." +msgstr "" +"Це імпортує всі імена, крім тих, що починаються з підкреслення (``_``). У " +"більшості випадків програмісти Python не використовують цю можливість, " +"оскільки вона вводить невідомий набір імен в інтерпретатор, можливо, " +"приховуючи деякі речі, які ви вже визначили." + +msgid "" +"Note that in general the practice of importing ``*`` from a module or " +"package is frowned upon, since it often causes poorly readable code. " +"However, it is okay to use it to save typing in interactive sessions." +msgstr "" +"Зауважте, що загалом практика імпортування ``*`` з модуля чи пакету викликає " +"негативне ставлення, оскільки це часто призводить до поганої читабельності " +"коду. Однак його можна використовувати, щоб не вводити текст під час " +"інтерактивних сеансів." + +msgid "" +"If the module name is followed by :keyword:`!as`, then the name following :" +"keyword:`!as` is bound directly to the imported module." +msgstr "" +"Якщо ім’я модуля супроводжується :keyword:`!as`, тоді ім’я після :keyword:`!" +"as` прив’язується безпосередньо до імпортованого модуля." + +msgid "" +"This is effectively importing the module in the same way that ``import " +"fibo`` will do, with the only difference of it being available as ``fib``." +msgstr "" +"Це фактично імпортує модуль таким же чином, як і ``import fibo``, з тією " +"лише різницею, що він доступний як ``fib``." + +msgid "" +"It can also be used when utilising :keyword:`from` with similar effects::" +msgstr "" +"Його також можна використовувати при використанні :keyword:`from` з " +"подібними ефектами::" + +msgid "" +"For efficiency reasons, each module is only imported once per interpreter " +"session. Therefore, if you change your modules, you must restart the " +"interpreter -- or, if it's just one module you want to test interactively, " +"use :func:`importlib.reload`, e.g. ``import importlib; importlib." +"reload(modulename)``." +msgstr "" +"З міркувань ефективності кожен модуль імпортується лише один раз за сеанс " +"інтерпретатора. Таким чином, якщо ви змінюєте свої модулі, ви повинні " +"перезапустити інтерпретатор -- або, якщо це лише один модуль, який ви хочете " +"протестувати в інтерактивному режимі, використайте :func:`importlib.reload`, " +"напр. ``імпорт importlib; importlib.reload(modulename)``." + +msgid "Executing modules as scripts" +msgstr "Виконання модулів у вигляді скриптів" + +msgid "When you run a Python module with ::" +msgstr "Коли ви запускаєте модуль Python з ::" + +msgid "" +"the code in the module will be executed, just as if you imported it, but " +"with the ``__name__`` set to ``\"__main__\"``. That means that by adding " +"this code at the end of your module::" +msgstr "" +"код у модулі буде виконано так само, як якщо б ви його імпортували, але з " +"``__name__`` встановленим на ``\"__main__\"``. Це означає, що додавши цей " +"код у кінці вашого модуля:" + +msgid "" +"you can make the file usable as a script as well as an importable module, " +"because the code that parses the command line only runs if the module is " +"executed as the \"main\" file:" +msgstr "" +"ви можете зробити файл придатним для використання як сценарій, а також як " +"імпортований модуль, оскільки код, який аналізує командний рядок, " +"запускається, лише якщо модуль виконується як \"основний\" файл:" + +msgid "If the module is imported, the code is not run::" +msgstr "Якщо модуль імпортовано, код не виконується::" + +msgid "" +"This is often used either to provide a convenient user interface to a " +"module, or for testing purposes (running the module as a script executes a " +"test suite)." +msgstr "" +"Це часто використовується або для забезпечення зручного інтерфейсу " +"користувача для модуля, або для цілей тестування (запуск модуля як сценарію " +"виконує набір тестів)." + +msgid "The Module Search Path" +msgstr "Шлях пошуку модуля" + +msgid "" +"When a module named :mod:`spam` is imported, the interpreter first searches " +"for a built-in module with that name. These module names are listed in :data:" +"`sys.builtin_module_names`. If not found, it then searches for a file named :" +"file:`spam.py` in a list of directories given by the variable :data:`sys." +"path`. :data:`sys.path` is initialized from these locations:" +msgstr "" +"Коли імпортується модуль із назвою :mod:`spam`, інтерпретатор спочатку шукає " +"вбудований модуль із такою назвою. Назви цих модулів перераховані в :data:" +"`sys.builtin_module_names`. Якщо не знайдено, він шукає файл із назвою :file:" +"`spam.py` у списку каталогів, заданому змінною :data:`sys.path`. :data:`sys." +"path` ініціалізується з цих місць:" + +msgid "" +"The directory containing the input script (or the current directory when no " +"file is specified)." +msgstr "" +"Каталог, що містить вхідний сценарій (або поточний каталог, якщо файл не " +"вказано)." + +msgid "" +":envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the " +"shell variable :envvar:`PATH`)." +msgstr "" +":envvar:`PYTHONPATH` (список імен каталогів із тим самим синтаксисом, що й " +"змінна оболонки :envvar:`PATH`)." + +msgid "" +"The installation-dependent default (by convention including a ``site-" +"packages`` directory, handled by the :mod:`site` module)." +msgstr "" +"Типове значення, що залежить від встановлення (за домовленістю включає " +"каталог ``site-packages``, який обробляється модулем :mod:`site`)." + +msgid "More details are at :ref:`sys-path-init`." +msgstr "" + +msgid "" +"On file systems which support symlinks, the directory containing the input " +"script is calculated after the symlink is followed. In other words the " +"directory containing the symlink is **not** added to the module search path." +msgstr "" +"У файлових системах, які підтримують символічні посилання, каталог, що " +"містить вхідний сценарій, обчислюється після переходу за символічним " +"посиланням. Іншими словами, каталог, що містить символічне посилання, **не** " +"додається до шляху пошуку модуля." + +msgid "" +"After initialization, Python programs can modify :data:`sys.path`. The " +"directory containing the script being run is placed at the beginning of the " +"search path, ahead of the standard library path. This means that scripts in " +"that directory will be loaded instead of modules of the same name in the " +"library directory. This is an error unless the replacement is intended. See " +"section :ref:`tut-standardmodules` for more information." +msgstr "" +"Після ініціалізації програми Python можуть змінювати :data:`sys.path`. " +"Каталог, що містить запущений скрипт, розміщується на початку шляху пошуку, " +"перед стандартним шляхом до бібліотеки. Це означає, що скрипти в цьому " +"каталозі будуть завантажені замість однойменних модулів у каталозі " +"бібліотеки. Це помилка, якщо заміна не призначена. Перегляньте розділ :ref:" +"`tut-standardmodules` для отримання додаткової інформації." + +msgid "\"Compiled\" Python files" +msgstr "\"Компільовані\" файли Python" + +msgid "" +"To speed up loading modules, Python caches the compiled version of each " +"module in the ``__pycache__`` directory under the name :file:`module." +"{version}.pyc`, where the version encodes the format of the compiled file; " +"it generally contains the Python version number. For example, in CPython " +"release 3.3 the compiled version of spam.py would be cached as ``__pycache__/" +"spam.cpython-33.pyc``. This naming convention allows compiled modules from " +"different releases and different versions of Python to coexist." +msgstr "" +"Щоб прискорити завантаження модулів, Python кешує скомпільовану версію " +"кожного модуля в каталозі ``__pycache__`` під назвою :file:`module.{version}." +"pyc`, де версія кодує формат скомпільованого файлу; зазвичай містить номер " +"версії Python. Наприклад, у випуску CPython 3.3 скомпільована версія spam.py " +"буде кешована як ``__pycache__/spam.cpython-33.pyc``. Ця угода про " +"іменування дозволяє співіснувати скомпільованим модулям з різних випусків і " +"різних версій Python." + +msgid "" +"Python checks the modification date of the source against the compiled " +"version to see if it's out of date and needs to be recompiled. This is a " +"completely automatic process. Also, the compiled modules are platform-" +"independent, so the same library can be shared among systems with different " +"architectures." +msgstr "" +"Python порівнює дату модифікації вихідного коду зі скомпільованою версією, " +"щоб перевірити, чи вона застаріла та потребує перекомпіляції. Це повністю " +"автоматичний процес. Крім того, скомпільовані модулі не залежать від " +"платформи, тому одна й та сама бібліотека може використовуватися між " +"системами з різними архітектурами." + +msgid "" +"Python does not check the cache in two circumstances. First, it always " +"recompiles and does not store the result for the module that's loaded " +"directly from the command line. Second, it does not check the cache if " +"there is no source module. To support a non-source (compiled only) " +"distribution, the compiled module must be in the source directory, and there " +"must not be a source module." +msgstr "" +"Python не перевіряє кеш у двох випадках. По-перше, він завжди перекомпілює і " +"не зберігає результат для модуля, який завантажується безпосередньо з " +"командного рядка. По-друге, він не перевіряє кеш, якщо немає вихідного " +"модуля. Щоб підтримувати дистрибутив без вихідного коду (лише " +"скомпільований), скомпільований модуль має бути у вихідному каталозі, а " +"вихідного модуля не повинно бути." + +msgid "Some tips for experts:" +msgstr "Деякі поради експертам:" + +msgid "" +"You can use the :option:`-O` or :option:`-OO` switches on the Python command " +"to reduce the size of a compiled module. The ``-O`` switch removes assert " +"statements, the ``-OO`` switch removes both assert statements and __doc__ " +"strings. Since some programs may rely on having these available, you should " +"only use this option if you know what you're doing. \"Optimized\" modules " +"have an ``opt-`` tag and are usually smaller. Future releases may change " +"the effects of optimization." +msgstr "" +"Ви можете використовувати перемикачі :option:`-O` або :option:`-OO` у " +"команді Python, щоб зменшити розмір скомпільованого модуля. Перемикач ``-O`` " +"видаляє оператори assert, перемикач ``-OO`` видаляє як оператори assert, так " +"і рядки __doc__. Оскільки деякі програми можуть покладатися на їх наявність, " +"вам слід використовувати цей параметр, лише якщо ви знаєте, що робите. " +"\"Оптимізовані\" модулі мають тег ``opt-`` і зазвичай менші. Майбутні " +"випуски можуть змінити результати оптимізації." + +msgid "" +"A program doesn't run any faster when it is read from a ``.pyc`` file than " +"when it is read from a ``.py`` file; the only thing that's faster about ``." +"pyc`` files is the speed with which they are loaded." +msgstr "" +"Програма не працює швидше, коли вона читається з файлу ``.pyc``, ніж коли " +"вона зчитується з файлу ``.py``; єдине, що є швидшим у файлах ``.pyc``, це " +"швидкість, з якою вони завантажуються." + +msgid "" +"The module :mod:`compileall` can create .pyc files for all modules in a " +"directory." +msgstr "" +"Модуль :mod:`compileall` може створювати файли .pyc для всіх модулів у " +"каталозі." + +msgid "" +"There is more detail on this process, including a flow chart of the " +"decisions, in :pep:`3147`." +msgstr "" +"Більш детальну інформацію про цей процес, включаючи блок-схему рішень, можна " +"знайти в :pep:`3147`." + +msgid "Standard Modules" +msgstr "Стандартні модулі" + +msgid "" +"Python comes with a library of standard modules, described in a separate " +"document, the Python Library Reference (\"Library Reference\" hereafter). " +"Some modules are built into the interpreter; these provide access to " +"operations that are not part of the core of the language but are " +"nevertheless built in, either for efficiency or to provide access to " +"operating system primitives such as system calls. The set of such modules " +"is a configuration option which also depends on the underlying platform. " +"For example, the :mod:`winreg` module is only provided on Windows systems. " +"One particular module deserves some attention: :mod:`sys`, which is built " +"into every Python interpreter. The variables ``sys.ps1`` and ``sys.ps2`` " +"define the strings used as primary and secondary prompts::" +msgstr "" +"Python постачається з бібліотекою стандартних модулів, описаних в окремому " +"документі, Довідник бібліотеки Python (далі \"Довідник бібліотеки\"). Деякі " +"модулі вбудовані в інтерпретатор; вони надають доступ до операцій, які не є " +"частиною ядра мови, але, тим не менш, вбудовані, або для ефективності, або " +"для забезпечення доступу до примітивів операційної системи, таких як " +"системні виклики. Набір таких модулів є опцією конфігурації, яка також " +"залежить від базової платформи. Наприклад, модуль :mod:`winreg` доступний " +"лише в системах Windows. Один окремий модуль заслуговує на увагу: :mod:" +"`sys`, який вбудовано в кожен інтерпретатор Python. Змінні ``sys.ps1`` і " +"``sys.ps2`` визначають рядки, які використовуються як первинні та додаткові " +"підказки:" + +msgid "" +"These two variables are only defined if the interpreter is in interactive " +"mode." +msgstr "" +"Ці дві змінні визначені, лише якщо інтерпретатор перебуває в інтерактивному " +"режимі." + +msgid "" +"The variable ``sys.path`` is a list of strings that determines the " +"interpreter's search path for modules. It is initialized to a default path " +"taken from the environment variable :envvar:`PYTHONPATH`, or from a built-in " +"default if :envvar:`PYTHONPATH` is not set. You can modify it using " +"standard list operations::" +msgstr "" +"Змінна ``sys.path`` - це список рядків, який визначає шлях пошуку модулів " +"інтерпретатором. Він ініціалізується шляхом за замовчуванням, взятим із " +"змінної середовища :envvar:`PYTHONPATH`, або з вбудованого за замовчуванням, " +"якщо :envvar:`PYTHONPATH` не встановлено. Ви можете змінити його за " +"допомогою стандартних операцій зі списком:" + +msgid "The :func:`dir` Function" +msgstr "Функція :func:`dir`" + +msgid "" +"The built-in function :func:`dir` is used to find out which names a module " +"defines. It returns a sorted list of strings::" +msgstr "" +"Вбудована функція :func:`dir` використовується, щоб дізнатися, які імена " +"визначає модуль. Він повертає відсортований список рядків::" + +msgid "" +"Without arguments, :func:`dir` lists the names you have defined currently::" +msgstr "" +"Без аргументів :func:`dir` перераховує імена, які ви визначили на даний " +"момент::" + +msgid "" +"Note that it lists all types of names: variables, modules, functions, etc." +msgstr "" +"Зверніть увагу, що в ньому перераховано всі типи імен: змінні, модулі, " +"функції тощо." + +msgid "" +":func:`dir` does not list the names of built-in functions and variables. If " +"you want a list of those, they are defined in the standard module :mod:" +"`builtins`::" +msgstr "" +":func:`dir` не містить списку вбудованих функцій і змінних. Якщо вам " +"потрібен їх список, вони визначені в стандартному модулі :mod:`builtins`::" + +msgid "Packages" +msgstr "пакети" + +msgid "" +"Packages are a way of structuring Python's module namespace by using " +"\"dotted module names\". For example, the module name :mod:`A.B` designates " +"a submodule named ``B`` in a package named ``A``. Just like the use of " +"modules saves the authors of different modules from having to worry about " +"each other's global variable names, the use of dotted module names saves the " +"authors of multi-module packages like NumPy or Pillow from having to worry " +"about each other's module names." +msgstr "" +"Пакети — це спосіб структурування простору імен модулів Python за допомогою " +"\"пунктирних імен модулів\". Наприклад, назва модуля :mod:`A.B` позначає " +"підмодуль під назвою ``B`` у пакеті під назвою ``A``. Подібно до того, як " +"використання модулів позбавляє авторів різних модулів від необхідності " +"турбуватися про глобальні імена змінних один одного, використання пунктирних " +"імен модулів позбавляє авторів багатомодульних пакетів, таких як NumPy або " +"Pillow, від необхідності турбуватися про імена модулів один одного ." + +msgid "" +"Suppose you want to design a collection of modules (a \"package\") for the " +"uniform handling of sound files and sound data. There are many different " +"sound file formats (usually recognized by their extension, for example: :" +"file:`.wav`, :file:`.aiff`, :file:`.au`), so you may need to create and " +"maintain a growing collection of modules for the conversion between the " +"various file formats. There are also many different operations you might " +"want to perform on sound data (such as mixing, adding echo, applying an " +"equalizer function, creating an artificial stereo effect), so in addition " +"you will be writing a never-ending stream of modules to perform these " +"operations. Here's a possible structure for your package (expressed in " +"terms of a hierarchical filesystem):" +msgstr "" +"Припустімо, ви хочете розробити набір модулів (\"пакет\") для однакової " +"обробки звукових файлів і звукових даних. Існує багато різних форматів " +"звукових файлів (зазвичай розпізнаються за їх розширенням, наприклад: :file:" +"`.wav`, :file:`.aiff`, :file:`.au`), тому вам може знадобитися створювати та " +"підтримувати зростаюча колекція модулів для перетворення між різними " +"форматами файлів. Існує також багато різних операцій, які ви можете виконати " +"зі звуковими даними (наприклад, мікшування, додавання відлуння, застосування " +"функції еквалайзера, створення штучного стереоефекту), тож на додаток ви " +"будете писати нескінченний потік модулів для виконання ці операції. Ось " +"можлива структура для вашого пакета (виражена в термінах ієрархічної " +"файлової системи):" + +msgid "" +"When importing the package, Python searches through the directories on ``sys." +"path`` looking for the package subdirectory." +msgstr "" +"Під час імпортування пакета Python шукає підкаталог пакета в каталогах ``sys." +"path``." + +msgid "" +"The :file:`__init__.py` files are required to make Python treat directories " +"containing the file as packages. This prevents directories with a common " +"name, such as ``string``, unintentionally hiding valid modules that occur " +"later on the module search path. In the simplest case, :file:`__init__.py` " +"can just be an empty file, but it can also execute initialization code for " +"the package or set the ``__all__`` variable, described later." +msgstr "" +"Файли :file:`__init__.py` потрібні, щоб Python розглядав каталоги, що " +"містять файл, як пакети. Це запобігає випадковому приховуванню дійсних " +"модулів у каталогах із загальною назвою, як-от ``рядок``, які з’являються " +"пізніше на шляху пошуку модуля. У найпростішому випадку :file:`__init__.py` " +"може бути просто порожнім файлом, але він також може виконувати код " +"ініціалізації для пакета або встановлювати змінну ``__all__``, описану " +"пізніше." + +msgid "" +"Users of the package can import individual modules from the package, for " +"example::" +msgstr "" +"Користувачі пакету можуть імпортувати окремі модулі з пакета, наприклад:" + +msgid "" +"This loads the submodule :mod:`sound.effects.echo`. It must be referenced " +"with its full name. ::" +msgstr "" +"Це завантажує підмодуль :mod:`sound.effects.echo`. На нього має бути повна " +"назва. ::" + +msgid "An alternative way of importing the submodule is::" +msgstr "Альтернативний спосіб імпорту субмодуля:" + +msgid "" +"This also loads the submodule :mod:`echo`, and makes it available without " +"its package prefix, so it can be used as follows::" +msgstr "" +"Це також завантажує підмодуль :mod:`echo` і робить його доступним без " +"префікса пакету, тому його можна використовувати наступним чином::" + +msgid "" +"Yet another variation is to import the desired function or variable " +"directly::" +msgstr "" +"Ще одним варіантом є імпорт потрібної функції або змінної безпосередньо:" + +msgid "" +"Again, this loads the submodule :mod:`echo`, but this makes its function :" +"func:`echofilter` directly available::" +msgstr "" +"Знову ж таки, це завантажує підмодуль :mod:`echo`, але це робить його " +"функцію :func:`echofilter` безпосередньо доступною::" + +msgid "" +"Note that when using ``from package import item``, the item can be either a " +"submodule (or subpackage) of the package, or some other name defined in the " +"package, like a function, class or variable. The ``import`` statement first " +"tests whether the item is defined in the package; if not, it assumes it is a " +"module and attempts to load it. If it fails to find it, an :exc:" +"`ImportError` exception is raised." +msgstr "" +"Зауважте, що при використанні ``з елемента імпорту пакета``, елемент може " +"бути або підмодулем (або підпакетом) пакета, або іншим ім’ям, визначеним у " +"пакеті, як-от функція, клас або змінна. Оператор ``import`` спочатку " +"перевіряє, чи визначено елемент у пакеті; якщо ні, він припускає, що це " +"модуль, і намагається його завантажити. Якщо не вдається знайти його, " +"виникає виняток :exc:`ImportError`." + +msgid "" +"Contrarily, when using syntax like ``import item.subitem.subsubitem``, each " +"item except for the last must be a package; the last item can be a module or " +"a package but can't be a class or function or variable defined in the " +"previous item." +msgstr "" +"Навпаки, при використанні такого синтаксису, як ``import item.subitem." +"subsubitem``, кожен елемент, крім останнього, має бути пакетом; останній " +"елемент може бути модулем або пакетом, але не може бути класом, функцією чи " +"змінною, визначеною в попередньому елементі." + +msgid "Importing \\* From a Package" +msgstr "Імпортування \\* з пакету" + +msgid "" +"Now what happens when the user writes ``from sound.effects import *``? " +"Ideally, one would hope that this somehow goes out to the filesystem, finds " +"which submodules are present in the package, and imports them all. This " +"could take a long time and importing sub-modules might have unwanted side-" +"effects that should only happen when the sub-module is explicitly imported." +msgstr "" +"Тепер що відбувається, коли користувач пише ``from sound.effects import *``? " +"В ідеалі можна було б сподіватися, що це якимось чином переходить до " +"файлової системи, знаходить, які підмодулі присутні в пакунку, і імпортує їх " +"усі. Це може зайняти багато часу, а імпортування субмодулів може мати " +"небажані побічні ефекти, які мають статися лише тоді, коли субмодуль " +"імпортовано явно." + +msgid "" +"The only solution is for the package author to provide an explicit index of " +"the package. The :keyword:`import` statement uses the following convention: " +"if a package's :file:`__init__.py` code defines a list named ``__all__``, it " +"is taken to be the list of module names that should be imported when ``from " +"package import *`` is encountered. It is up to the package author to keep " +"this list up-to-date when a new version of the package is released. Package " +"authors may also decide not to support it, if they don't see a use for " +"importing \\* from their package. For example, the file :file:`sound/" +"effects/__init__.py` could contain the following code::" +msgstr "" +"Єдине рішення полягає в тому, щоб автор пакета надав явний індекс пакета. " +"Інструкція :keyword:`import` використовує таку умову: якщо код :file:" +"`__init__.py` пакета визначає список під назвою ``__all__``, він вважається " +"списком імен модулів, які слід імпортувати, коли Зустрічається ``from " +"package import *``. Автор пакета повинен підтримувати цей список актуальним, " +"коли виходить нова версія пакета. Автори пакетів також можуть вирішити не " +"підтримувати його, якщо вони не бачать користі для імпортування \\* зі свого " +"пакета. Наприклад, файл :file:`sound/effects/__init__.py` може містити такий " +"код:" + +msgid "" +"This would mean that ``from sound.effects import *`` would import the three " +"named submodules of the :mod:`sound.effects` package." +msgstr "" +"Це означатиме, що ``from sound.effects import *`` імпортуватиме три названі " +"підмодулі пакета :mod:`sound.effects`." + +msgid "" +"If ``__all__`` is not defined, the statement ``from sound.effects import *`` " +"does *not* import all submodules from the package :mod:`sound.effects` into " +"the current namespace; it only ensures that the package :mod:`sound.effects` " +"has been imported (possibly running any initialization code in :file:" +"`__init__.py`) and then imports whatever names are defined in the package. " +"This includes any names defined (and submodules explicitly loaded) by :file:" +"`__init__.py`. It also includes any submodules of the package that were " +"explicitly loaded by previous :keyword:`import` statements. Consider this " +"code::" +msgstr "" +"Якщо ``__all__`` не визначено, оператор ``from sound.effects import *`` *не* " +"імпортує всі субмодулі з пакета :mod:`sound.effects` в поточний простір " +"імен; він лише гарантує, що пакунок :mod:`sound.effects` було імпортовано " +"(можливо, запустивши будь-який код ініціалізації в :file:`__init__.py`), а " +"потім імпортує всі імена, визначені в пакунку. Це включає будь-які імена, " +"визначені (і підмодулі, явно завантажені) :file:`__init__.py`. Він також " +"включає будь-які підмодулі пакета, які були явно завантажені попередніми " +"операторами :keyword:`import`. Розгляньте цей код::" + +msgid "" +"In this example, the :mod:`echo` and :mod:`surround` modules are imported in " +"the current namespace because they are defined in the :mod:`sound.effects` " +"package when the ``from...import`` statement is executed. (This also works " +"when ``__all__`` is defined.)" +msgstr "" +"У цьому прикладі модулі :mod:`echo` і :mod:`surround` імпортовано в поточний " +"простір імен, оскільки вони визначені в пакеті :mod:`sound.effects`, коли " +"``from...import`` виконується оператор. (Це також працює, якщо визначено " +"``__all__``.)" + +msgid "" +"Although certain modules are designed to export only names that follow " +"certain patterns when you use ``import *``, it is still considered bad " +"practice in production code." +msgstr "" +"Хоча певні модулі призначені для експорту лише імен, які відповідають певним " +"шаблонам, коли ви використовуєте ``import *``, це все ще вважається поганою " +"практикою у робочому коді." + +msgid "" +"Remember, there is nothing wrong with using ``from package import " +"specific_submodule``! In fact, this is the recommended notation unless the " +"importing module needs to use submodules with the same name from different " +"packages." +msgstr "" +"Пам’ятайте, що немає нічого поганого у використанні ``from package import " +"specific_submodule``! Фактично, це рекомендована нотація, якщо тільки " +"імпортуючому модулю не потрібно використовувати підмодулі з однаковими " +"назвами з різних пакунків." + +msgid "Intra-package References" +msgstr "Внутрішньопакетні посилання" + +msgid "" +"When packages are structured into subpackages (as with the :mod:`sound` " +"package in the example), you can use absolute imports to refer to submodules " +"of siblings packages. For example, if the module :mod:`sound.filters." +"vocoder` needs to use the :mod:`echo` module in the :mod:`sound.effects` " +"package, it can use ``from sound.effects import echo``." +msgstr "" +"Коли пакунки структуровані на підпакунки (як у випадку з пакетом :mod:" +"`sound` у прикладі), ви можете використовувати абсолютний імпорт для " +"посилання на підмодулі пакетів-братів. Наприклад, якщо модуль :mod:`sound." +"filters.vocoder` потребує використання модуля :mod:`echo` у пакунку :mod:" +"`sound.effects`, він може використовувати ``from sound.effects import echo``." + +msgid "" +"You can also write relative imports, with the ``from module import name`` " +"form of import statement. These imports use leading dots to indicate the " +"current and parent packages involved in the relative import. From the :mod:" +"`surround` module for example, you might use::" +msgstr "" +"Ви також можете написати відносні імпорти за допомогою форми оператора " +"імпорту ``from module import name``. У цих імпортах використовуються крапки " +"на початку для позначення поточного та батьківського пакетів, які беруть " +"участь у відносному імпорті. Наприклад, у модулі :mod:`surround` можна " +"використовувати::" + +msgid "" +"Note that relative imports are based on the name of the current module. " +"Since the name of the main module is always ``\"__main__\"``, modules " +"intended for use as the main module of a Python application must always use " +"absolute imports." +msgstr "" +"Зауважте, що відносний імпорт базується на назві поточного модуля. Оскільки " +"назва головного модуля завжди ``\"__main__\"``, модулі, призначені для " +"використання як головного модуля програми Python, повинні завжди " +"використовувати абсолютний імпорт." + +msgid "Packages in Multiple Directories" +msgstr "Пакунки в кількох каталогах" + +msgid "" +"Packages support one more special attribute, :attr:`__path__`. This is " +"initialized to be a list containing the name of the directory holding the " +"package's :file:`__init__.py` before the code in that file is executed. " +"This variable can be modified; doing so affects future searches for modules " +"and subpackages contained in the package." +msgstr "" +"Пакунки підтримують ще один спеціальний атрибут, :attr:`__path__`. Це " +"ініціалізується як список, що містить ім’я каталогу, що містить :file:" +"`__init__.py` пакета перед виконанням коду в цьому файлі. Ця змінна може " +"бути змінена; це впливає на майбутній пошук модулів і підпакетів, що " +"містяться в пакеті." + +msgid "" +"While this feature is not often needed, it can be used to extend the set of " +"modules found in a package." +msgstr "" +"Хоча ця функція не часто потрібна, її можна використовувати для розширення " +"набору модулів, які містяться в пакеті." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"In fact function definitions are also 'statements' that are 'executed'; the " +"execution of a module-level function definition adds the function name to " +"the module's global namespace." +msgstr "" diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po new file mode 100644 index 000000000..f1b191115 --- /dev/null +++ b/tutorial/stdlib.po @@ -0,0 +1,343 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Brief Tour of the Standard Library" +msgstr "Коротка екскурсія Стандартною бібліотекою" + +msgid "Operating System Interface" +msgstr "Інтерфейс операційної системи" + +msgid "" +"The :mod:`os` module provides dozens of functions for interacting with the " +"operating system::" +msgstr "" +"Модуль :mod:`os` надає десятки функцій для взаємодії з операційною системою:" + +msgid "" +"Be sure to use the ``import os`` style instead of ``from os import *``. " +"This will keep :func:`os.open` from shadowing the built-in :func:`open` " +"function which operates much differently." +msgstr "" +"Обов’язково використовуйте стиль ``import os`` замість ``from os import *``. " +"Це не дасть :func:`os.open` затіняти вбудовану функцію :func:`open`, яка " +"працює значно інакше." + +msgid "" +"The built-in :func:`dir` and :func:`help` functions are useful as " +"interactive aids for working with large modules like :mod:`os`::" +msgstr "" +"Вбудовані функції :func:`dir` і :func:`help` корисні як інтерактивні " +"допоміжні засоби для роботи з великими модулями, такими як :mod:`os`::" + +msgid "" +"For daily file and directory management tasks, the :mod:`shutil` module " +"provides a higher level interface that is easier to use::" +msgstr "" +"Для щоденних завдань керування файлами та каталогами модуль :mod:`shutil` " +"надає інтерфейс вищого рівня, який легше використовувати:" + +msgid "File Wildcards" +msgstr "Символи підстановки файлів" + +msgid "" +"The :mod:`glob` module provides a function for making file lists from " +"directory wildcard searches::" +msgstr "" +"Модуль :mod:`glob` надає функцію для створення списків файлів із пошуку в " +"каталозі за символами підстановки:" + +msgid "Command Line Arguments" +msgstr "Аргументи командного рядка" + +msgid "" +"Common utility scripts often need to process command line arguments. These " +"arguments are stored in the :mod:`sys` module's *argv* attribute as a list. " +"For instance the following output results from running ``python demo.py one " +"two three`` at the command line::" +msgstr "" +"Звичайні службові сценарії часто потребують обробки аргументів командного " +"рядка. Ці аргументи зберігаються в атрибуті *argv* модуля :mod:`sys` у " +"вигляді списку. Наприклад, результатом виконання ``python demo.py one two " +"three`` у командному рядку є наступний результат:" + +msgid "" +"The :mod:`argparse` module provides a more sophisticated mechanism to " +"process command line arguments. The following script extracts one or more " +"filenames and an optional number of lines to be displayed::" +msgstr "" +"Модуль :mod:`argparse` забезпечує більш складний механізм обробки аргументів " +"командного рядка. Наступний сценарій витягує одне або кілька імен файлів і " +"необов’язкову кількість рядків для відображення:" + +msgid "" +"When run at the command line with ``python top.py --lines=5 alpha.txt beta." +"txt``, the script sets ``args.lines`` to ``5`` and ``args.filenames`` to " +"``['alpha.txt', 'beta.txt']``." +msgstr "" +"Якщо запустити в командному рядку з ``python top.py --lines=5 alpha.txt beta." +"txt``, сценарій встановлює ``args.lines`` значення ``5`` і ``args." +"filenames`` до ``['alpha.txt', 'beta.txt']``." + +msgid "Error Output Redirection and Program Termination" +msgstr "Перенаправлення виводу помилки та завершення програми" + +msgid "" +"The :mod:`sys` module also has attributes for *stdin*, *stdout*, and " +"*stderr*. The latter is useful for emitting warnings and error messages to " +"make them visible even when *stdout* has been redirected::" +msgstr "" +"Модуль :mod:`sys` також має атрибути для *stdin*, *stdout* і *stderr*. " +"Останній корисний для видачі попереджень і повідомлень про помилки, щоб " +"зробити їх видимими, навіть якщо *stdout* було перенаправлено::" + +msgid "The most direct way to terminate a script is to use ``sys.exit()``." +msgstr "Найпряміший спосіб завершити сценарій – це використати ``sys.exit()``." + +msgid "String Pattern Matching" +msgstr "Відповідність шаблону рядка" + +msgid "" +"The :mod:`re` module provides regular expression tools for advanced string " +"processing. For complex matching and manipulation, regular expressions offer " +"succinct, optimized solutions::" +msgstr "" +"Модуль :mod:`re` надає інструменти регулярних виразів для розширеної обробки " +"рядків. Для складних відповідностей і маніпуляцій регулярні вирази " +"пропонують короткі, оптимізовані рішення:" + +msgid "" +"When only simple capabilities are needed, string methods are preferred " +"because they are easier to read and debug::" +msgstr "" +"Коли потрібні лише прості можливості, краще використовувати рядкові методи, " +"оскільки їх легше читати та налагоджувати:" + +msgid "Mathematics" +msgstr "Математика" + +msgid "" +"The :mod:`math` module gives access to the underlying C library functions " +"for floating point math::" +msgstr "" +"Модуль :mod:`math` надає доступ до базових функцій бібліотеки C для " +"математики з плаваючою комою::" + +msgid "The :mod:`random` module provides tools for making random selections::" +msgstr "Модуль :mod:`random` надає інструменти для випадкового вибору:" + +msgid "" +"The :mod:`statistics` module calculates basic statistical properties (the " +"mean, median, variance, etc.) of numeric data::" +msgstr "" +"Модуль :mod:`statistics` обчислює основні статистичні властивості (середнє, " +"медіана, дисперсія тощо) числових даних:" + +msgid "" +"The SciPy project has many other modules for numerical " +"computations." +msgstr "" +"Проект SciPy має багато інших модулів для чисельних " +"обчислень." + +msgid "Internet Access" +msgstr "Доступ в інтернет" + +msgid "" +"There are a number of modules for accessing the internet and processing " +"internet protocols. Two of the simplest are :mod:`urllib.request` for " +"retrieving data from URLs and :mod:`smtplib` for sending mail::" +msgstr "" +"Існує ряд модулів для доступу до Інтернету та обробки Інтернет-протоколів. " +"Двома найпростішими є :mod:`urllib.request` для отримання даних з URL-адрес " +"і :mod:`smtplib` для надсилання пошти::" + +msgid "(Note that the second example needs a mailserver running on localhost.)" +msgstr "" +"(Зверніть увагу, що для другого прикладу потрібен поштовий сервер, який " +"працює на локальному хості.)" + +msgid "Dates and Times" +msgstr "Дати та час" + +msgid "" +"The :mod:`datetime` module supplies classes for manipulating dates and times " +"in both simple and complex ways. While date and time arithmetic is " +"supported, the focus of the implementation is on efficient member extraction " +"for output formatting and manipulation. The module also supports objects " +"that are timezone aware. ::" +msgstr "" +"Модуль :mod:`datetime` містить класи для обробки дат і часу як простими, так " +"і складними способами. Хоча арифметика дати й часу підтримується, основна " +"увага при реалізації зосереджена на ефективному вилученні членів для " +"форматування виводу та маніпуляції. Модуль також підтримує об’єкти, які " +"знають часовий пояс. ::" + +msgid "Data Compression" +msgstr "Стиснення даних" + +msgid "" +"Common data archiving and compression formats are directly supported by " +"modules including: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:" +"`zipfile` and :mod:`tarfile`. ::" +msgstr "" +"Загальні формати архівування та стиснення даних безпосередньо підтримуються " +"такими модулями, як: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:" +"`zipfile` і :mod:`tarfile`. ::" + +msgid "Performance Measurement" +msgstr "Вимірювання ефективності" + +msgid "" +"Some Python users develop a deep interest in knowing the relative " +"performance of different approaches to the same problem. Python provides a " +"measurement tool that answers those questions immediately." +msgstr "" +"Деякі користувачі Python відчувають глибокий інтерес до знання відносної " +"ефективності різних підходів до однієї проблеми. Python надає інструмент " +"вимірювання, який миттєво відповідає на ці запитання." + +msgid "" +"For example, it may be tempting to use the tuple packing and unpacking " +"feature instead of the traditional approach to swapping arguments. The :mod:" +"`timeit` module quickly demonstrates a modest performance advantage::" +msgstr "" +"Наприклад, може виникнути спокуса використовувати функцію пакування та " +"розпакування кортежів замість традиційного підходу до заміни аргументів. " +"Модуль :mod:`timeit` швидко демонструє помірну перевагу продуктивності:" + +msgid "" +"In contrast to :mod:`timeit`'s fine level of granularity, the :mod:`profile` " +"and :mod:`pstats` modules provide tools for identifying time critical " +"sections in larger blocks of code." +msgstr "" +"На відміну від високого рівня деталізації :mod:`timeit`, модулі :mod:" +"`profile` і :mod:`pstats` надають інструменти для ідентифікації критичних за " +"часом розділів у великих блоках коду." + +msgid "Quality Control" +msgstr "Контроль якості" + +msgid "" +"One approach for developing high quality software is to write tests for each " +"function as it is developed and to run those tests frequently during the " +"development process." +msgstr "" +"Одним із підходів до розробки високоякісного програмного забезпечення є " +"написання тестів для кожної функції в міру її розробки та часте виконання " +"цих тестів у процесі розробки." + +msgid "" +"The :mod:`doctest` module provides a tool for scanning a module and " +"validating tests embedded in a program's docstrings. Test construction is " +"as simple as cutting-and-pasting a typical call along with its results into " +"the docstring. This improves the documentation by providing the user with an " +"example and it allows the doctest module to make sure the code remains true " +"to the documentation::" +msgstr "" +"Модуль :mod:`doctest` надає інструмент для сканування модуля та перевірки " +"тестів, вбудованих у рядки документів програми. Побудова тесту така ж " +"проста, як вирізання та вставлення типового виклику разом із його " +"результатами в рядок документації. Це покращує документацію, надаючи " +"користувачеві приклад, і це дозволяє модулю doctest переконатися, що код " +"залишається вірним документації::" + +msgid "" +"The :mod:`unittest` module is not as effortless as the :mod:`doctest` " +"module, but it allows a more comprehensive set of tests to be maintained in " +"a separate file::" +msgstr "" +"Модуль :mod:`unittest` не такий легкий, як модуль :mod:`doctest`, але він " +"дозволяє підтримувати більш повний набір тестів в окремому файлі::" + +msgid "Batteries Included" +msgstr "Батарейки в комплекті" + +msgid "" +"Python has a \"batteries included\" philosophy. This is best seen through " +"the sophisticated and robust capabilities of its larger packages. For " +"example:" +msgstr "" +"Python має філософію \"батареї включені\". Це найкраще видно через складні " +"та надійні можливості його більших пакетів. Наприклад:" + +msgid "" +"The :mod:`xmlrpc.client` and :mod:`xmlrpc.server` modules make implementing " +"remote procedure calls into an almost trivial task. Despite the modules' " +"names, no direct knowledge or handling of XML is needed." +msgstr "" +"Модулі :mod:`xmlrpc.client` і :mod:`xmlrpc.server` роблять реалізацію " +"викликів віддалених процедур майже тривіальним завданням. Незважаючи на " +"назви модулів, не потрібні прямі знання або робота з XML." + +msgid "" +"The :mod:`email` package is a library for managing email messages, including " +"MIME and other :rfc:`2822`-based message documents. Unlike :mod:`smtplib` " +"and :mod:`poplib` which actually send and receive messages, the email " +"package has a complete toolset for building or decoding complex message " +"structures (including attachments) and for implementing internet encoding " +"and header protocols." +msgstr "" +"Пакет :mod:`email` — це бібліотека для керування повідомленнями електронної " +"пошти, включаючи MIME та інші документи повідомлень на основі :rfc:`2822`. " +"На відміну від :mod:`smtplib` і :mod:`poplib`, які фактично надсилають і " +"отримують повідомлення, пакет електронної пошти має повний набір " +"інструментів для побудови або декодування складних структур повідомлень " +"(включно з вкладеннями) і для реалізації інтернет-кодування та протоколів " +"заголовків." + +msgid "" +"The :mod:`json` package provides robust support for parsing this popular " +"data interchange format. The :mod:`csv` module supports direct reading and " +"writing of files in Comma-Separated Value format, commonly supported by " +"databases and spreadsheets. XML processing is supported by the :mod:`xml." +"etree.ElementTree`, :mod:`xml.dom` and :mod:`xml.sax` packages. Together, " +"these modules and packages greatly simplify data interchange between Python " +"applications and other tools." +msgstr "" +"Пакет :mod:`json` забезпечує надійну підтримку аналізу цього популярного " +"формату обміну даними. Модуль :mod:`csv` підтримує пряме читання та запис " +"файлів у форматі значень, розділених комами, який зазвичай підтримується " +"базами даних і електронними таблицями. Обробка XML підтримується пакетами :" +"mod:`xml.etree.ElementTree`, :mod:`xml.dom` і :mod:`xml.sax`. Разом ці " +"модулі та пакети значно спрощують обмін даними між програмами Python та " +"іншими інструментами." + +msgid "" +"The :mod:`sqlite3` module is a wrapper for the SQLite database library, " +"providing a persistent database that can be updated and accessed using " +"slightly nonstandard SQL syntax." +msgstr "" +"Модуль :mod:`sqlite3` — це оболонка для бібліотеки бази даних SQLite, яка " +"забезпечує постійну базу даних, яку можна оновлювати та отримати до якої " +"можна отримати доступ за допомогою дещо нестандартного синтаксису SQL." + +msgid "" +"Internationalization is supported by a number of modules including :mod:" +"`gettext`, :mod:`locale`, and the :mod:`codecs` package." +msgstr "" +"Інтернаціоналізація підтримується кількома модулями, зокрема :mod:" +"`gettext`, :mod:`locale` і пакетом :mod:`codecs`." diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po new file mode 100644 index 000000000..241a276ad --- /dev/null +++ b/tutorial/stdlib2.po @@ -0,0 +1,403 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Brief Tour of the Standard Library --- Part II" +msgstr "Короткий огляд Стандартної бібліотеки --- Частина II" + +msgid "" +"This second tour covers more advanced modules that support professional " +"programming needs. These modules rarely occur in small scripts." +msgstr "" +"Цей другий тур охоплює більш просунуті модулі, які підтримують потреби " +"професійного програмування. Ці модулі рідко зустрічаються в невеликих " +"сценаріях." + +msgid "Output Formatting" +msgstr "Форматування виводу" + +msgid "" +"The :mod:`reprlib` module provides a version of :func:`repr` customized for " +"abbreviated displays of large or deeply nested containers::" +msgstr "" +"Модуль :mod:`reprlib` надає версію :func:`repr`, налаштовану для скороченого " +"відображення великих або глибоко вкладених контейнерів:" + +msgid "" +"The :mod:`pprint` module offers more sophisticated control over printing " +"both built-in and user defined objects in a way that is readable by the " +"interpreter. When the result is longer than one line, the \"pretty printer\" " +"adds line breaks and indentation to more clearly reveal data structure::" +msgstr "" +"Модуль :mod:`pprint` пропонує більш складний контроль над друком як " +"вбудованих, так і визначених користувачем об’єктів у спосіб, який читається " +"інтерпретатором. Якщо результат довший за один рядок, \"гарний принтер\" " +"додає розриви рядків і відступи, щоб чіткіше показати структуру даних:" + +msgid "" +"The :mod:`textwrap` module formats paragraphs of text to fit a given screen " +"width::" +msgstr "" +"Модуль :mod:`textwrap` форматує абзаци тексту відповідно до заданої ширини " +"екрана:" + +msgid "" +"The :mod:`locale` module accesses a database of culture specific data " +"formats. The grouping attribute of locale's format function provides a " +"direct way of formatting numbers with group separators::" +msgstr "" +"Модуль :mod:`locale` отримує доступ до бази даних форматів даних, " +"специфічних для культури. Атрибут grouping функції форматування locale " +"забезпечує прямий спосіб форматування чисел за допомогою роздільників груп::" + +msgid "Templating" +msgstr "шаблонування" + +msgid "" +"The :mod:`string` module includes a versatile :class:`~string.Template` " +"class with a simplified syntax suitable for editing by end-users. This " +"allows users to customize their applications without having to alter the " +"application." +msgstr "" +"Модуль :mod:`string` містить універсальний клас :class:`~string.Template` зі " +"спрощеним синтаксисом, придатним для редагування кінцевими користувачами. Це " +"дозволяє користувачам налаштовувати свої програми без необхідності змінювати " +"програму." + +msgid "" +"The format uses placeholder names formed by ``$`` with valid Python " +"identifiers (alphanumeric characters and underscores). Surrounding the " +"placeholder with braces allows it to be followed by more alphanumeric " +"letters with no intervening spaces. Writing ``$$`` creates a single escaped " +"``$``::" +msgstr "" +"Формат використовує імена заповнювачів, утворені ``$`` з дійсними " +"ідентифікаторами Python (букви, цифри та підкреслення). Якщо заповнювач " +"оточити фігурними дужками, то після нього буде більше буквено-цифрових літер " +"без проміжних пробілів. Написання ``$$`` створює один екранований ``$``::" + +msgid "" +"The :meth:`~string.Template.substitute` method raises a :exc:`KeyError` when " +"a placeholder is not supplied in a dictionary or a keyword argument. For " +"mail-merge style applications, user supplied data may be incomplete and the :" +"meth:`~string.Template.safe_substitute` method may be more appropriate --- " +"it will leave placeholders unchanged if data is missing::" +msgstr "" +"Метод :meth:`~string.Template.substitute` викликає :exc:`KeyError`, коли " +"покажчик місця заповнення не вказано в словнику або в аргументі ключового " +"слова. Для програм у стилі злиття дані, надані користувачем, можуть бути " +"неповними, і метод :meth:`~string.Template.safe_substitute` може бути більш " +"доцільним --- він залишить заповнювачі незмінними, якщо дані відсутні:" + +msgid "" +"Template subclasses can specify a custom delimiter. For example, a batch " +"renaming utility for a photo browser may elect to use percent signs for " +"placeholders such as the current date, image sequence number, or file " +"format::" +msgstr "" +"Підкласи шаблону можуть визначати власний роздільник. Наприклад, утиліта " +"пакетного перейменування для браузера фотографій може вибрати використання " +"знаків відсотків для заповнювачів, таких як поточна дата, порядковий номер " +"зображення або формат файлу:" + +msgid "" +"Another application for templating is separating program logic from the " +"details of multiple output formats. This makes it possible to substitute " +"custom templates for XML files, plain text reports, and HTML web reports." +msgstr "" +"Іншим застосуванням шаблонів є відокремлення логіки програми від деталей " +"кількох вихідних форматів. Це дає змогу замінювати власні шаблони для XML-" +"файлів, звітів у звичайному тексті та веб-звітів HTML." + +msgid "Working with Binary Data Record Layouts" +msgstr "Робота з макетами записів двійкових даних" + +msgid "" +"The :mod:`struct` module provides :func:`~struct.pack` and :func:`~struct." +"unpack` functions for working with variable length binary record formats. " +"The following example shows how to loop through header information in a ZIP " +"file without using the :mod:`zipfile` module. Pack codes ``\"H\"`` and ``\"I" +"\"`` represent two and four byte unsigned numbers respectively. The ``\"<" +"\"`` indicates that they are standard size and in little-endian byte order::" +msgstr "" +"Модуль :mod:`struct` забезпечує функції :func:`~struct.pack` і :func:" +"`~struct.unpack` для роботи з форматами двійкових записів змінної довжини. У " +"наступному прикладі показано, як прокрутити інформацію заголовка в ZIP-файлі " +"без використання модуля :mod:`zipfile`. Коди упаковки ``\"H\"`` та ``\"I\"`` " +"представляють дво- та чотирибайтові числа без знаку відповідно. ``\"<\"`` " +"вказує, що вони мають стандартний розмір і порядок байтів у порядку байтів::" + +msgid "Multi-threading" +msgstr "Багатопотоковість" + +msgid "" +"Threading is a technique for decoupling tasks which are not sequentially " +"dependent. Threads can be used to improve the responsiveness of " +"applications that accept user input while other tasks run in the " +"background. A related use case is running I/O in parallel with computations " +"in another thread." +msgstr "" +"Потоковість — це техніка для відокремлення завдань, які не є послідовно " +"залежними. Потоки можна використовувати для підвищення швидкості реагування " +"програм, які приймають введення даних від користувача, тоді як інші завдання " +"виконуються у фоновому режимі. Пов’язаний варіант використання — виконання " +"введення-виведення паралельно з обчисленнями в іншому потоці." + +msgid "" +"The following code shows how the high level :mod:`threading` module can run " +"tasks in background while the main program continues to run::" +msgstr "" +"Наступний код показує, як високорівневий модуль :mod:`threading` може " +"виконувати завдання у фоновому режимі, поки основна програма продовжує " +"працювати:" + +msgid "" +"The principal challenge of multi-threaded applications is coordinating " +"threads that share data or other resources. To that end, the threading " +"module provides a number of synchronization primitives including locks, " +"events, condition variables, and semaphores." +msgstr "" +"Головним завданням багатопоточних програм є координація потоків, які спільно " +"використовують дані або інші ресурси. З цією метою модуль потокової обробки " +"надає ряд примітивів синхронізації, включаючи блокування, події, змінні " +"умови та семафори." + +msgid "" +"While those tools are powerful, minor design errors can result in problems " +"that are difficult to reproduce. So, the preferred approach to task " +"coordination is to concentrate all access to a resource in a single thread " +"and then use the :mod:`queue` module to feed that thread with requests from " +"other threads. Applications using :class:`~queue.Queue` objects for inter-" +"thread communication and coordination are easier to design, more readable, " +"and more reliable." +msgstr "" +"Хоча ці інструменти потужні, незначні помилки в проекті можуть призвести до " +"проблем, які важко відтворити. Таким чином, кращий підхід до координації " +"завдань полягає в тому, щоб зосередити весь доступ до ресурсу в одному " +"потоці, а потім використовувати модуль :mod:`queue` для живлення цього " +"потоку запитами з інших потоків. Програми, які використовують об’єкти :class:" +"`~queue.Queue` для міжпотокового зв’язку та координації, легші для розробки, " +"більш читабельні та надійніші." + +msgid "Logging" +msgstr "Лісозаготівля" + +msgid "" +"The :mod:`logging` module offers a full featured and flexible logging " +"system. At its simplest, log messages are sent to a file or to ``sys." +"stderr``::" +msgstr "" +"Модуль :mod:`logging` пропонує повнофункціональну та гнучку систему ведення " +"журналів. У найпростішому вигляді повідомлення журналу надсилаються до файлу " +"або до ``sys.stderr``::" + +msgid "This produces the following output:" +msgstr "Це дає такий результат:" + +msgid "" +"By default, informational and debugging messages are suppressed and the " +"output is sent to standard error. Other output options include routing " +"messages through email, datagrams, sockets, or to an HTTP Server. New " +"filters can select different routing based on message priority: :const:" +"`~logging.DEBUG`, :const:`~logging.INFO`, :const:`~logging.WARNING`, :const:" +"`~logging.ERROR`, and :const:`~logging.CRITICAL`." +msgstr "" +"За замовчуванням інформаційні та налагоджувальні повідомлення пригнічуються, " +"а вихід надсилається до стандартної помилки. Інші варіанти виведення " +"включають маршрутизацію повідомлень через електронну пошту, дейтаграми, " +"сокети або на сервер HTTP. Нові фільтри можуть вибирати іншу маршрутизацію " +"на основі пріоритету повідомлення: :const:`~logging.DEBUG`, :const:`~logging." +"INFO`, :const:`~logging.WARNING`, :const:`~logging.ERROR` і :const:`~logging." +"CRITICAL`." + +msgid "" +"The logging system can be configured directly from Python or can be loaded " +"from a user editable configuration file for customized logging without " +"altering the application." +msgstr "" +"Систему журналювання можна налаштувати безпосередньо з Python або " +"завантажити з редагованого користувачем конфігураційного файлу для " +"індивідуального журналювання без зміни програми." + +msgid "Weak References" +msgstr "Слабкі посилання" + +msgid "" +"Python does automatic memory management (reference counting for most objects " +"and :term:`garbage collection` to eliminate cycles). The memory is freed " +"shortly after the last reference to it has been eliminated." +msgstr "" +"Python виконує автоматичне керування пам’яттю (підрахунок посилань для " +"більшості об’єктів і збирання сміття (:term:`garbage collection`) для " +"усунення циклів). Пам'ять звільняється незабаром після останнього посилання " +"на неї." + +msgid "" +"This approach works fine for most applications but occasionally there is a " +"need to track objects only as long as they are being used by something else. " +"Unfortunately, just tracking them creates a reference that makes them " +"permanent. The :mod:`weakref` module provides tools for tracking objects " +"without creating a reference. When the object is no longer needed, it is " +"automatically removed from a weakref table and a callback is triggered for " +"weakref objects. Typical applications include caching objects that are " +"expensive to create::" +msgstr "" +"Цей підхід добре працює для більшості програм, але іноді виникає потреба " +"відстежувати об’єкти лише до тих пір, поки вони використовуються чимось " +"іншим. На жаль, просте відстеження створює посилання, яке робить їх " +"постійними. Модуль :mod:`weakref` надає інструменти для відстеження об’єктів " +"без створення посилання. Коли об’єкт більше не потрібний, він автоматично " +"видаляється з таблиці weakref, і для об’єктів weakref запускається зворотний " +"виклик. Типові програми включають кешування об’єктів, створення яких є " +"дорогим:" + +msgid "Tools for Working with Lists" +msgstr "Інструменти для роботи зі списками" + +msgid "" +"Many data structure needs can be met with the built-in list type. However, " +"sometimes there is a need for alternative implementations with different " +"performance trade-offs." +msgstr "" +"Багато потреб у структурі даних можна задовольнити за допомогою вбудованого " +"типу списку. Однак іноді виникає потреба в альтернативних реалізаціях з " +"іншими компромісами щодо продуктивності." + +msgid "" +"The :mod:`array` module provides an :class:`~array.array()` object that is " +"like a list that stores only homogeneous data and stores it more compactly. " +"The following example shows an array of numbers stored as two byte unsigned " +"binary numbers (typecode ``\"H\"``) rather than the usual 16 bytes per entry " +"for regular lists of Python int objects::" +msgstr "" +"Модуль :mod:`array` надає об’єкт :class:`~array.array()`, який схожий на " +"список, який зберігає лише однорідні дані та зберігає їх більш компактно. У " +"наступному прикладі показано масив чисел, збережених як двобайтові двійкові " +"числа без знаку (код типу ``\"H\"``), а не звичайні 16 байт на запис для " +"звичайних списків об’єктів Python int:" + +msgid "" +"The :mod:`collections` module provides a :class:`~collections.deque()` " +"object that is like a list with faster appends and pops from the left side " +"but slower lookups in the middle. These objects are well suited for " +"implementing queues and breadth first tree searches::" +msgstr "" +"Модуль :mod:`collections` забезпечує об’єкт :class:`~collections.deque()`, " +"який схожий на список із швидшими додаваннями та вискакуванням з лівого " +"боку, але повільнішим пошуком посередині. Ці об’єкти добре підходять для " +"реалізації черг і пошуку по дереву в ширину:" + +msgid "" +"In addition to alternative list implementations, the library also offers " +"other tools such as the :mod:`bisect` module with functions for manipulating " +"sorted lists::" +msgstr "" +"Окрім альтернативних реалізацій списків, бібліотека також пропонує інші " +"інструменти, такі як модуль :mod:`bisect` із функціями для роботи з " +"відсортованими списками:" + +msgid "" +"The :mod:`heapq` module provides functions for implementing heaps based on " +"regular lists. The lowest valued entry is always kept at position zero. " +"This is useful for applications which repeatedly access the smallest element " +"but do not want to run a full list sort::" +msgstr "" +"Модуль :mod:`heapq` надає функції для реалізації купи на основі звичайних " +"списків. Запис із найменшим значенням завжди зберігається в нульовій " +"позиції. Це корисно для програм, які неодноразово звертаються до найменшого " +"елемента, але не бажають запускати сортування за повним списком::" + +msgid "Decimal Floating Point Arithmetic" +msgstr "Десяткова арифметика з плаваючою комою" + +msgid "" +"The :mod:`decimal` module offers a :class:`~decimal.Decimal` datatype for " +"decimal floating point arithmetic. Compared to the built-in :class:`float` " +"implementation of binary floating point, the class is especially helpful for" +msgstr "" +"Модуль :mod:`decimal` пропонує тип даних :class:`~decimal.Decimal` для " +"десяткової арифметики з плаваючою комою. Порівняно з вбудованою :class:" +"`float` реалізацією двійкового числа з плаваючою комою, цей клас особливо " +"корисний для" + +msgid "" +"financial applications and other uses which require exact decimal " +"representation," +msgstr "" +"фінансові програми та інші види використання, які вимагають точного " +"десяткового представлення," + +msgid "control over precision," +msgstr "контроль над точністю," + +msgid "control over rounding to meet legal or regulatory requirements," +msgstr "контроль за округленням відповідно до правових або нормативних вимог," + +msgid "tracking of significant decimal places, or" +msgstr "відстеження значущих знаків після коми, або" + +msgid "" +"applications where the user expects the results to match calculations done " +"by hand." +msgstr "" +"програми, де користувач очікує, що результати відповідатимуть обчисленням, " +"зробленим вручну." + +msgid "" +"For example, calculating a 5% tax on a 70 cent phone charge gives different " +"results in decimal floating point and binary floating point. The difference " +"becomes significant if the results are rounded to the nearest cent::" +msgstr "" +"Наприклад, обчислення 5% податку на 70 центів за телефонну плату дає різні " +"результати в десятковій і двійковій комах. Різниця стає значною, якщо " +"результати округляються до найближчого цента:" + +msgid "" +"The :class:`~decimal.Decimal` result keeps a trailing zero, automatically " +"inferring four place significance from multiplicands with two place " +"significance. Decimal reproduces mathematics as done by hand and avoids " +"issues that can arise when binary floating point cannot exactly represent " +"decimal quantities." +msgstr "" +"Результат :class:`~decimal.Decimal` зберігає кінцевий нуль, автоматично " +"виводячи чотирирозрядне значення з множників із дворозрядним значенням. " +"Decimal відтворює математику, зроблену вручну, і дозволяє уникнути проблем, " +"які можуть виникнути, коли двійкова плаваюча кома не може точно представити " +"десяткові величини." + +msgid "" +"Exact representation enables the :class:`~decimal.Decimal` class to perform " +"modulo calculations and equality tests that are unsuitable for binary " +"floating point::" +msgstr "" +"Точне представлення дозволяє класу :class:`~decimal.Decimal` виконувати " +"обчислення за модулем і перевіряти рівність, які не підходять для двійкових " +"чисел з плаваючою комою::" + +msgid "" +"The :mod:`decimal` module provides arithmetic with as much precision as " +"needed::" +msgstr "Модуль :mod:`decimal` забезпечує арифметику з необхідною точністю:" diff --git a/tutorial/venv.po b/tutorial/venv.po new file mode 100644 index 000000000..9dd35f91c --- /dev/null +++ b/tutorial/venv.po @@ -0,0 +1,245 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Virtual Environments and Packages" +msgstr "Віртуальні середовища та пакети" + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"Python applications will often use packages and modules that don't come as " +"part of the standard library. Applications will sometimes need a specific " +"version of a library, because the application may require that a particular " +"bug has been fixed or the application may be written using an obsolete " +"version of the library's interface." +msgstr "" +"Програми Python часто використовують пакети та модулі, які не є частиною " +"стандартної бібліотеки. Програмам іноді потрібна конкретна версія " +"бібліотеки, тому що програма може вимагати виправлення певної помилки або " +"програма може бути написана з використанням застарілої версії інтерфейсу " +"бібліотеки." + +msgid "" +"This means it may not be possible for one Python installation to meet the " +"requirements of every application. If application A needs version 1.0 of a " +"particular module but application B needs version 2.0, then the requirements " +"are in conflict and installing either version 1.0 or 2.0 will leave one " +"application unable to run." +msgstr "" +"Це означає, що одна установка Python може не відповідати вимогам кожної " +"програми. Якщо програмі A потрібна версія 1.0 певного модуля, а програмі B " +"потрібна версія 2.0, тоді вимоги суперечать, і встановлення версії 1.0 або " +"2.0 призведе до того, що одна програма не зможе працювати." + +msgid "" +"The solution for this problem is to create a :term:`virtual environment`, a " +"self-contained directory tree that contains a Python installation for a " +"particular version of Python, plus a number of additional packages." +msgstr "" +"Рішенням цієї проблеми є створення :term:`virtual environment`, самостійного " +"дерева каталогів, яке містить інсталяцію Python для певної версії Python, а " +"також низку додаткових пакетів." + +msgid "" +"Different applications can then use different virtual environments. To " +"resolve the earlier example of conflicting requirements, application A can " +"have its own virtual environment with version 1.0 installed while " +"application B has another virtual environment with version 2.0. If " +"application B requires a library be upgraded to version 3.0, this will not " +"affect application A's environment." +msgstr "" +"Тоді різні програми можуть використовувати різні віртуальні середовища. Щоб " +"вирішити попередній приклад суперечливих вимог, програма A може мати власне " +"віртуальне середовище з версією 1.0, а програма B має інше віртуальне " +"середовище з версією 2.0. Якщо програма B потребує оновлення бібліотеки до " +"версії 3.0, це не вплине на середовище програми A." + +msgid "Creating Virtual Environments" +msgstr "Створення віртуальних середовищ" + +msgid "" +"The module used to create and manage virtual environments is called :mod:" +"`venv`. :mod:`venv` will usually install the most recent version of Python " +"that you have available. If you have multiple versions of Python on your " +"system, you can select a specific Python version by running ``python3`` or " +"whichever version you want." +msgstr "" +"Модуль, який використовується для створення та керування віртуальними " +"середовищами, називається :mod:`venv`. :mod:`venv` зазвичай встановлює " +"останню доступну версію Python. Якщо у вас є кілька версій Python у вашій " +"системі, ви можете вибрати конкретну версію Python, запустивши ``python3`` " +"або будь-яку іншу версію." + +msgid "" +"To create a virtual environment, decide upon a directory where you want to " +"place it, and run the :mod:`venv` module as a script with the directory " +"path::" +msgstr "" +"Щоб створити віртуальне середовище, виберіть каталог, куди ви хочете його " +"розмістити, і запустіть модуль :mod:`venv` як сценарій із шляхом до " +"каталогу::" + +msgid "" +"This will create the ``tutorial-env`` directory if it doesn't exist, and " +"also create directories inside it containing a copy of the Python " +"interpreter and various supporting files." +msgstr "" +"Це створить каталог ``tutorial-env``, якщо він не існує, а також створить " +"каталоги всередині нього, що містять копію інтерпретатора Python і різні " +"допоміжні файли." + +msgid "" +"A common directory location for a virtual environment is ``.venv``. This " +"name keeps the directory typically hidden in your shell and thus out of the " +"way while giving it a name that explains why the directory exists. It also " +"prevents clashing with ``.env`` environment variable definition files that " +"some tooling supports." +msgstr "" +"Загальним розташуванням каталогу для віртуального середовища є ``.venv``. Ця " +"назва зберігає каталог, як правило, прихованим у вашій оболонці і, таким " +"чином, не заважаючи, водночас надаючи йому назву, яка пояснює, чому каталог " +"існує. Це також запобігає зіткненню з файлами визначення змінних середовища " +"``.env``, які підтримують деякі інструменти." + +msgid "Once you've created a virtual environment, you may activate it." +msgstr "Створивши віртуальне середовище, ви можете його активувати." + +msgid "On Windows, run::" +msgstr "У Windows запустіть::" + +msgid "On Unix or MacOS, run::" +msgstr "В Unix або MacOS запустіть:" + +msgid "" +"(This script is written for the bash shell. If you use the :program:`csh` " +"or :program:`fish` shells, there are alternate ``activate.csh`` and " +"``activate.fish`` scripts you should use instead.)" +msgstr "" +"(Цей сценарій написаний для оболонки bash. Якщо ви використовуєте оболонки :" +"program:`csh` або :program:`fish`, існують альтернативні сценарії ``activate." +"csh`` і ``activate.fish``, які вам слід використовувати замість цього.)" + +msgid "" +"Activating the virtual environment will change your shell's prompt to show " +"what virtual environment you're using, and modify the environment so that " +"running ``python`` will get you that particular version and installation of " +"Python. For example:" +msgstr "" +"Активація віртуального середовища змінить підказку вашої оболонки, щоб " +"показати, яке віртуальне середовище ви використовуєте, і змінить середовище " +"таким чином, що запуск ``python`` дасть вам цю конкретну версію та " +"інсталяцію Python. Наприклад:" + +msgid "To deactivate a virtual environment, type::" +msgstr "" + +msgid "into the terminal." +msgstr "" + +msgid "Managing Packages with pip" +msgstr "Керування пакетами за допомогою pip" + +msgid "" +"You can install, upgrade, and remove packages using a program called :" +"program:`pip`. By default ``pip`` will install packages from the Python " +"Package Index, . You can browse the Python Package Index " +"by going to it in your web browser." +msgstr "" +"Ви можете встановлювати, оновлювати та видаляти пакунки за допомогою " +"програми під назвою :program:`pip`. За замовчуванням ``pip`` встановить " +"пакунки з індексу пакетів Python, . Ви можете переглянути " +"індекс пакетів Python, перейшовши до нього у своєму веб-браузері." + +msgid "" +"``pip`` has a number of subcommands: \"install\", \"uninstall\", \"freeze\", " +"etc. (Consult the :ref:`installing-index` guide for complete documentation " +"for ``pip``.)" +msgstr "" +"``pip`` має низку підкоманд: \"встановити\", \"видалити\", \"заморозити\" " +"тощо. (Зверніться до посібника :ref:`installing-index`, щоб отримати повну " +"документацію для ``pip``.)" + +msgid "" +"You can install the latest version of a package by specifying a package's " +"name:" +msgstr "Ви можете встановити останню версію пакета, вказавши назву пакета:" + +msgid "" +"You can also install a specific version of a package by giving the package " +"name followed by ``==`` and the version number:" +msgstr "" +"Ви також можете встановити певну версію пакета, вказавши ім’я пакета, а " +"потім ``==`` і номер версії:" + +msgid "" +"If you re-run this command, ``pip`` will notice that the requested version " +"is already installed and do nothing. You can supply a different version " +"number to get that version, or you can run ``python -m pip install --" +"upgrade`` to upgrade the package to the latest version:" +msgstr "" + +msgid "" +"``python -m pip uninstall`` followed by one or more package names will " +"remove the packages from the virtual environment." +msgstr "" + +msgid "" +"``python -m pip show`` will display information about a particular package:" +msgstr "" + +msgid "" +"``python -m pip list`` will display all of the packages installed in the " +"virtual environment:" +msgstr "" + +msgid "" +"``python -m pip freeze`` will produce a similar list of the installed " +"packages, but the output uses the format that ``python -m pip install`` " +"expects. A common convention is to put this list in a ``requirements.txt`` " +"file:" +msgstr "" + +msgid "" +"The ``requirements.txt`` can then be committed to version control and " +"shipped as part of an application. Users can then install all the necessary " +"packages with ``install -r``:" +msgstr "" +"Після цього ``requirements.txt`` можна закріпити для контролю версій і " +"відправити як частину програми. Потім користувачі можуть інсталювати всі " +"необхідні пакети за допомогою ``install -r``:" + +msgid "" +"``pip`` has many more options. Consult the :ref:`installing-index` guide " +"for complete documentation for ``pip``. When you've written a package and " +"want to make it available on the Python Package Index, consult the :ref:" +"`distributing-index` guide." +msgstr "" +"``pip`` має багато інших параметрів. Зверніться до посібника :ref:" +"`installing-index`, щоб отримати повну документацію для ``pip``. Якщо ви " +"написали пакунок і хочете зробити його доступним в індексі пакетів Python, " +"зверніться до посібника :ref:`distributing-index`." diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po new file mode 100644 index 000000000..87522b9ff --- /dev/null +++ b/tutorial/whatnow.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# Nadiia Gorash , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Nadiia Gorash , 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What Now?" +msgstr "Що тепер?" + +msgid "" +"Reading this tutorial has probably reinforced your interest in using Python " +"--- you should be eager to apply Python to solving your real-world problems. " +"Where should you go to learn more?" +msgstr "" +"Читання цього підручника, мабуть, підсилило ваш інтерес до використання " +"Python --- ви повинні бути готові застосувати Python для вирішення ваших " +"реальних проблем. Куди вам звернутися, щоб дізнатися більше?" + +msgid "" +"This tutorial is part of Python's documentation set. Some other documents " +"in the set are:" +msgstr "" +"Цей посібник є частиною набору документації Python. Деякі інші документи в " +"наборі:" + +msgid ":ref:`library-index`:" +msgstr ":ref:`library-index`:" + +msgid "" +"You should browse through this manual, which gives complete (though terse) " +"reference material about types, functions, and the modules in the standard " +"library. The standard Python distribution includes a *lot* of additional " +"code. There are modules to read Unix mailboxes, retrieve documents via HTTP, " +"generate random numbers, parse command-line options, compress data, and many " +"other tasks. Skimming through the Library Reference will give you an idea of " +"what's available." +msgstr "" + +msgid "" +":ref:`installing-index` explains how to install additional modules written " +"by other Python users." +msgstr "" +":ref:`installing-index` пояснює, як встановити додаткові модулі, написані " +"іншими користувачами Python." + +msgid "" +":ref:`reference-index`: A detailed explanation of Python's syntax and " +"semantics. It's heavy reading, but is useful as a complete guide to the " +"language itself." +msgstr "" +":ref:`reference-index`: докладне пояснення синтаксису та семантики Python. " +"Це важке читання, але корисне як повний путівник з самої мови." + +msgid "More Python resources:" +msgstr "Більше ресурсів Python:" + +msgid "" +"https://www.python.org: The major Python web site. It contains code, " +"documentation, and pointers to Python-related pages around the web." +msgstr "" + +msgid "https://docs.python.org: Fast access to Python's documentation." +msgstr "https://docs.python.org: швидкий доступ до документації Python." + +msgid "" +"https://pypi.org: The Python Package Index, previously also nicknamed the " +"Cheese Shop [#]_, is an index of user-created Python modules that are " +"available for download. Once you begin releasing code, you can register it " +"here so that others can find it." +msgstr "" +"https://pypi.org: Індекс пакетів Python, який раніше також називався Cheese " +"Shop [#]_, — це індекс створених користувачами модулів Python, доступних для " +"завантаження. Коли ви почнете випускати код, ви можете зареєструвати його " +"тут, щоб інші могли його знайти." + +msgid "" +"https://code.activestate.com/recipes/langs/python/: The Python Cookbook is a " +"sizable collection of code examples, larger modules, and useful scripts. " +"Particularly notable contributions are collected in a book also titled " +"Python Cookbook (O'Reilly & Associates, ISBN 0-596-00797-3.)" +msgstr "" +"https://code.activestate.com/recipes/langs/python/: Кулінарна книга Python — " +"це значна колекція прикладів коду, більших модулів і корисних сценаріїв. " +"Особливо помітні внески зібрані в книзі, яка також називається Python " +"Cookbook (O'Reilly & Associates, ISBN 0-596-00797-3)." + +msgid "" +"https://pyvideo.org collects links to Python-related videos from conferences " +"and user-group meetings." +msgstr "" + +msgid "" +"https://scipy.org: The Scientific Python project includes modules for fast " +"array computations and manipulations plus a host of packages for such things " +"as linear algebra, Fourier transforms, non-linear solvers, random number " +"distributions, statistical analysis and the like." +msgstr "" +"https://scipy.org: проект Scientific Python включає модулі для швидких " +"обчислень масивів і маніпуляцій, а також безліч пакетів для таких речей, як " +"лінійна алгебра, перетворення Фур’є, нелінійні розв’язувачі, розподіл " +"випадкових чисел, статистичний аналіз тощо." + +msgid "" +"For Python-related questions and problem reports, you can post to the " +"newsgroup :newsgroup:`comp.lang.python`, or send them to the mailing list at " +"python-list@python.org. The newsgroup and mailing list are gatewayed, so " +"messages posted to one will automatically be forwarded to the other. There " +"are hundreds of postings a day, asking (and answering) questions, suggesting " +"new features, and announcing new modules. Mailing list archives are " +"available at https://mail.python.org/pipermail/." +msgstr "" +"Питання та звіти про проблеми, пов’язані з Python, можна опублікувати в " +"групі новин :newsgroup:`comp.lang.python` або надіслати їх до списку " +"розсилки за адресою python-list@python.org. Група новин і список розсилки є " +"шлюзовими, тому повідомлення, опубліковані в одній, автоматично " +"пересилатимуться в іншу. Щодня публікуються сотні повідомлень, які ставлять " +"запитання (і відповідають на них), пропонують нові функції та анонсують нові " +"модулі. Архіви списків розсилки доступні за адресою https://mail.python.org/" +"pipermail/." + +msgid "" +"Before posting, be sure to check the list of :ref:`Frequently Asked " +"Questions ` (also called the FAQ). The FAQ answers many of the " +"questions that come up again and again, and may already contain the solution " +"for your problem." +msgstr "" +"Перш ніж опублікувати, обов’язково перевірте список :ref:`Частих запитань " +"` (також називається FAQ). Поширені запитання відповідають на " +"багато питань, які виникають знову і знову, і, можливо, вже містять рішення " +"вашої проблеми." + +msgid "Footnotes" +msgstr "Виноски" + +msgid "" +"\"Cheese Shop\" is a Monty Python's sketch: a customer enters a cheese shop, " +"but whatever cheese he asks for, the clerk says it's missing." +msgstr "" +"\"Cheese Shop\" — це скетч Монті Пайтона: покупець заходить у сироварню, але " +"який би сир він не просив, продавець каже, що його не вистачає." diff --git a/using/cmdline.po b/using/cmdline.po new file mode 100644 index 000000000..1b7bb0071 --- /dev/null +++ b/using/cmdline.po @@ -0,0 +1,1542 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Command line and environment" +msgstr "Командний рядок і середовище" + +msgid "" +"The CPython interpreter scans the command line and the environment for " +"various settings." +msgstr "" +"Інтерпретатор CPython сканує командний рядок і середовище на наявність " +"різних параметрів." + +msgid "" +"Other implementations' command line schemes may differ. See :ref:" +"`implementations` for further resources." +msgstr "" +"Схеми командного рядка інших реалізацій можуть відрізнятися. Перегляньте :" +"ref:`implementations` для отримання додаткових ресурсів." + +msgid "Command line" +msgstr "Командний рядок" + +msgid "When invoking Python, you may specify any of these options::" +msgstr "Під час виклику Python ви можете вказати будь-який із цих параметрів:" + +msgid "" +"The most common use case is, of course, a simple invocation of a script::" +msgstr "" +"Найпоширенішим випадком використання є, звичайно, простий виклик сценарію::" + +msgid "Interface options" +msgstr "Параметри інтерфейсу" + +msgid "" +"The interpreter interface resembles that of the UNIX shell, but provides " +"some additional methods of invocation:" +msgstr "" +"Інтерфейс інтерпретатора нагадує інтерфейс оболонки UNIX, але надає деякі " +"додаткові методи виклику:" + +msgid "" +"When called with standard input connected to a tty device, it prompts for " +"commands and executes them until an EOF (an end-of-file character, you can " +"produce that with :kbd:`Ctrl-D` on UNIX or :kbd:`Ctrl-Z, Enter` on Windows) " +"is read." +msgstr "" +"Під час виклику за допомогою стандартного введення, підключеного до пристрою " +"tty, він запитує команди та виконує їх до EOF (символ кінця файлу, ви можете " +"створити його за допомогою :kbd:`Ctrl-D` в UNIX або :kbd:`Ctrl-Z, Enter` у " +"Windows)." + +msgid "" +"When called with a file name argument or with a file as standard input, it " +"reads and executes a script from that file." +msgstr "" +"При виклику з аргументом імені файлу або з файлом як стандартним введенням " +"він читає та виконує сценарій із цього файлу." + +msgid "" +"When called with a directory name argument, it reads and executes an " +"appropriately named script from that directory." +msgstr "" +"При виклику з аргументом назви каталогу він читає та виконує сценарій із " +"відповідною назвою з цього каталогу." + +msgid "" +"When called with ``-c command``, it executes the Python statement(s) given " +"as *command*. Here *command* may contain multiple statements separated by " +"newlines. Leading whitespace is significant in Python statements!" +msgstr "" +"При виклику за допомогою команди ``-c`` виконується оператор(и) Python, " +"наданий як *команда*. Тут *команда* може містити декілька операторів, " +"розділених символом нового рядка. Пробіли на початку є важливими в " +"операторах Python!" + +msgid "" +"When called with ``-m module-name``, the given module is located on the " +"Python module path and executed as a script." +msgstr "" +"При виклику за допомогою ``-m назва-модуля`` заданий модуль розташовується " +"на шляху модуля Python і виконується як сценарій." + +msgid "" +"In non-interactive mode, the entire input is parsed before it is executed." +msgstr "У неінтерактивному режимі весь вхід аналізується перед виконанням." + +msgid "" +"An interface option terminates the list of options consumed by the " +"interpreter, all consecutive arguments will end up in :data:`sys.argv` -- " +"note that the first element, subscript zero (``sys.argv[0]``), is a string " +"reflecting the program's source." +msgstr "" +"Опція інтерфейсу завершує список опцій, які використовує інтерпретатор, усі " +"послідовні аргументи закінчаться в :data:`sys.argv` -- зверніть увагу, що " +"перший елемент, індекс нуль (``sys.argv[0]``) , це рядок, що відображає " +"джерело програми." + +msgid "" +"Execute the Python code in *command*. *command* can be one or more " +"statements separated by newlines, with significant leading whitespace as in " +"normal module code." +msgstr "" +"Виконайте код Python у *команді*. *команда* може бути одним або декількома " +"операторами, розділеними символом нового рядка, зі значними пробілами на " +"початку, як у звичайному коді модуля." + +msgid "" +"If this option is given, the first element of :data:`sys.argv` will be ``\"-c" +"\"`` and the current directory will be added to the start of :data:`sys." +"path` (allowing modules in that directory to be imported as top level " +"modules)." +msgstr "" +"Якщо вказано цей параметр, першим елементом :data:`sys.argv` буде ``\"-c" +"\"``, а поточний каталог буде додано до початку :data:`sys.path` (дозволяючи " +"модулі у цьому каталозі, який буде імпортовано як модулі верхнього рівня)." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_command`` with " +"argument ``command``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_command`` з аргументом " +"``command``." + +msgid "" +"Search :data:`sys.path` for the named module and execute its contents as " +"the :mod:`__main__` module." +msgstr "" +"Знайдіть у :data:`sys.path` названий модуль і виконайте його вміст як " +"модуль :mod:`__main__`." + +msgid "" +"Since the argument is a *module* name, you must not give a file extension " +"(``.py``). The module name should be a valid absolute Python module name, " +"but the implementation may not always enforce this (e.g. it may allow you to " +"use a name that includes a hyphen)." +msgstr "" +"Оскільки аргументом є назва *модуля*, ви не повинні вказувати розширення " +"файлу (``.py``). Ім’я модуля має бути дійсним абсолютним ім’ям модуля " +"Python, але реалізація може не завжди забезпечити це (наприклад, вона може " +"дозволити вам використовувати ім’я, яке містить дефіс)." + +msgid "" +"Package names (including namespace packages) are also permitted. When a " +"package name is supplied instead of a normal module, the interpreter will " +"execute ``.__main__`` as the main module. This behaviour is " +"deliberately similar to the handling of directories and zipfiles that are " +"passed to the interpreter as the script argument." +msgstr "" +"Імена пакетів (включаючи пакети простору імен) також дозволені. Якщо замість " +"звичайного модуля вказано назву пакета, інтерпретатор виконає `` ." +"__main__`` як головний модуль. Ця поведінка навмисно подібна до обробки " +"каталогів і zip-файлів, які передаються інтерпретатору як аргумент сценарію." + +msgid "" +"This option cannot be used with built-in modules and extension modules " +"written in C, since they do not have Python module files. However, it can " +"still be used for precompiled modules, even if the original source file is " +"not available." +msgstr "" +"Цей параметр не можна використовувати з вбудованими модулями та модулями " +"розширення, написаними мовою C, оскільки вони не мають файлів модулів " +"Python. Однак його все одно можна використовувати для попередньо " +"скомпільованих модулів, навіть якщо вихідний вихідний файл недоступний." + +msgid "" +"If this option is given, the first element of :data:`sys.argv` will be the " +"full path to the module file (while the module file is being located, the " +"first element will be set to ``\"-m\"``). As with the :option:`-c` option, " +"the current directory will be added to the start of :data:`sys.path`." +msgstr "" +"Якщо вказано цей параметр, перший елемент :data:`sys.argv` буде повним " +"шляхом до файлу модуля (під час пошуку файлу модуля для першого елемента " +"буде встановлено значення ``\"-m\"``). Як і з опцією :option:`-c`, поточний " +"каталог буде додано на початок :data:`sys.path`." + +msgid "" +":option:`-I` option can be used to run the script in isolated mode where :" +"data:`sys.path` contains neither the current directory nor the user's site-" +"packages directory. All :envvar:`PYTHON*` environment variables are ignored, " +"too." +msgstr "" +"Параметр :option:`-I` можна використовувати для запуску сценарію в " +"ізольованому режимі, де :data:`sys.path` не містить ані поточного каталогу, " +"ані каталогу пакетів сайту користувача. Усі змінні середовища :envvar:" +"`PYTHON*` також ігноруються." + +msgid "" +"Many standard library modules contain code that is invoked on their " +"execution as a script. An example is the :mod:`timeit` module::" +msgstr "" +"Багато модулів стандартної бібліотеки містять код, який викликається під час " +"їх виконання як сценарій. Прикладом є модуль :mod:`timeit`::" + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_module`` with " +"argument ``module-name``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_module`` з аргументом " +"``module-name``." + +msgid ":func:`runpy.run_module`" +msgstr ":func:`runpy.run_module`" + +msgid "Equivalent functionality directly available to Python code" +msgstr "Еквівалентна функція, безпосередньо доступна для коду Python" + +msgid ":pep:`338` -- Executing modules as scripts" +msgstr ":pep:`338` -- Виконання модулів як скриптів" + +msgid "Supply the package name to run a ``__main__`` submodule." +msgstr "Укажіть назву пакета для запуску підмодуля ``__main__``." + +msgid "namespace packages are also supported" +msgstr "також підтримуються пакети простору імен" + +msgid "" +"Read commands from standard input (:data:`sys.stdin`). If standard input is " +"a terminal, :option:`-i` is implied." +msgstr "" +"Читання команд зі стандартного введення (:data:`sys.stdin`). Якщо " +"стандартним введенням є термінал, мається на увазі :option:`-i`." + +msgid "" +"If this option is given, the first element of :data:`sys.argv` will be ``\"-" +"\"`` and the current directory will be added to the start of :data:`sys." +"path`." +msgstr "" +"Якщо вказано цей параметр, першим елементом :data:`sys.argv` буде ``\"-\"``, " +"а поточний каталог буде додано до початку :data:`sys.path`." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_stdin`` with no " +"arguments." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_stdin`` без аргументів." + +msgid "" +"Execute the Python code contained in *script*, which must be a filesystem " +"path (absolute or relative) referring to either a Python file, a directory " +"containing a ``__main__.py`` file, or a zipfile containing a ``__main__.py`` " +"file." +msgstr "" +"Виконайте код Python, що міститься в *script*, який має бути шляхом до " +"файлової системи (абсолютним або відносним), що посилається на файл Python, " +"каталог, що містить файл ``__main__.py``, або файл zip, що містить " +"``__main__. файл py``." + +msgid "" +"If this option is given, the first element of :data:`sys.argv` will be the " +"script name as given on the command line." +msgstr "" +"Якщо вказано цей параметр, першим елементом :data:`sys.argv` буде ім’я " +"сценарію, подане в командному рядку." + +msgid "" +"If the script name refers directly to a Python file, the directory " +"containing that file is added to the start of :data:`sys.path`, and the file " +"is executed as the :mod:`__main__` module." +msgstr "" +"Якщо назва сценарію посилається безпосередньо на файл Python, каталог, що " +"містить цей файл, додається до початку :data:`sys.path`, і файл виконується " +"як модуль :mod:`__main__`." + +msgid "" +"If the script name refers to a directory or zipfile, the script name is " +"added to the start of :data:`sys.path` and the ``__main__.py`` file in that " +"location is executed as the :mod:`__main__` module." +msgstr "" +"Якщо назва сценарію посилається на каталог або zip-файл, назва сценарію " +"додається до початку :data:`sys.path`, а файл ``__main__.py`` у цьому місці " +"виконується як :mod:`__main__` модуль." + +msgid "" +":option:`-I` option can be used to run the script in isolated mode where :" +"data:`sys.path` contains neither the script's directory nor the user's site-" +"packages directory. All :envvar:`PYTHON*` environment variables are ignored, " +"too." +msgstr "" +"Параметр :option:`-I` можна використовувати для запуску сценарію в " +"ізольованому режимі, де :data:`sys.path` не містить ані каталогу сценарію, " +"ані каталогу пакетів сайту користувача. Усі змінні середовища :envvar:" +"`PYTHON*` також ігноруються." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_file`` with " +"argument ``filename``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_file`` з аргументом " +"``filename``." + +msgid ":func:`runpy.run_path`" +msgstr ":func:`runpy.run_path`" + +msgid "" +"If no interface option is given, :option:`-i` is implied, ``sys.argv[0]`` is " +"an empty string (``\"\"``) and the current directory will be added to the " +"start of :data:`sys.path`. Also, tab-completion and history editing is " +"automatically enabled, if available on your platform (see :ref:`rlcompleter-" +"config`)." +msgstr "" +"Якщо параметр інтерфейсу не вказано, мається на увазі :option:`-i`, ``sys." +"argv[0]`` є порожнім рядком (``\"\"``), і поточний каталог буде додано на " +"початку :data:`sys.path`. Крім того, автоматично вмикається завершення " +"вкладок і редагування історії, якщо вони доступні на вашій платформі (див. :" +"ref:`rlcompleter-config`)." + +msgid ":ref:`tut-invoking`" +msgstr ":ref:`tut-invoking`" + +msgid "Automatic enabling of tab-completion and history editing." +msgstr "Автоматичне ввімкнення табуляції та редагування історії." + +msgid "Generic options" +msgstr "Загальні варіанти" + +msgid "" +"Print a short description of all command line options and corresponding " +"environment variables and exit." +msgstr "" + +msgid "" +"Print a short description of Python-specific environment variables and exit." +msgstr "" + +msgid "" +"Print a description of implementation-specific :option:`-X` options and exit." +msgstr "" + +msgid "Print complete usage information and exit." +msgstr "" + +msgid "Print the Python version number and exit. Example output could be:" +msgstr "" +"Надрукуйте номер версії Python і вийдіть. Приклад результату може бути таким:" + +msgid "When given twice, print more information about the build, like:" +msgstr "" +"Якщо надати двічі, надрукувати більше інформації про збірку, наприклад:" + +msgid "The ``-VV`` option." +msgstr "Параметр ``-VV``." + +msgid "Miscellaneous options" +msgstr "Різні варіанти" + +msgid "" +"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" +"class:`str` or :class:`bytes` with :class:`int`. Issue an error when the " +"option is given twice (:option:`!-bb`)." +msgstr "" +"Видає попередження, коли порівнює :class:`bytes` або :class:`bytearray` з :" +"class:`str` або :class:`bytes` з :class:`int`. Видає помилку, коли опцію " +"вказано двічі (:option:`!-bb`)." + +msgid "Affects comparisons of :class:`bytes` with :class:`int`." +msgstr "Впливає на порівняння :class:`bytes` з :class:`int`." + +msgid "" +"If given, Python won't try to write ``.pyc`` files on the import of source " +"modules. See also :envvar:`PYTHONDONTWRITEBYTECODE`." +msgstr "" +"Якщо дано, Python не намагатиметься записати файли ``.pyc`` під час імпорту " +"вихідних модулів. Дивіться також :envvar:`PYTHONDONTWRITEBYTECODE`." + +msgid "" +"Control the validation behavior of hash-based ``.pyc`` files. See :ref:`pyc-" +"invalidation`. When set to ``default``, checked and unchecked hash-based " +"bytecode cache files are validated according to their default semantics. " +"When set to ``always``, all hash-based ``.pyc`` files, whether checked or " +"unchecked, are validated against their corresponding source file. When set " +"to ``never``, hash-based ``.pyc`` files are not validated against their " +"corresponding source files." +msgstr "" +"Керуйте поведінкою перевірки файлів ``.pyc`` на основі хешу. Перегляньте :" +"ref:`pyc-invalidation`. Якщо встановлено ``за замовчуванням``, позначені та " +"не позначені файли кешу на основі хеш-коду перевіряються відповідно до їх " +"семантики за замовчуванням. Якщо встановлено значення ``always``, усі файли " +"``.pyc`` на основі хешу, позначені чи не позначені, перевіряються на " +"відповідність їхньому вихідному файлу. Якщо встановлено значення ``never``, " +"файли ``.pyc`` на основі хешу не перевіряються на відповідність відповідним " +"вихідним файлам." + +msgid "" +"The semantics of timestamp-based ``.pyc`` files are unaffected by this " +"option." +msgstr "" +"Цей параметр не впливає на семантику файлів ``.pyc`` на основі часових " +"позначок." + +msgid "" +"Turn on parser debugging output (for expert only, depending on compilation " +"options). See also :envvar:`PYTHONDEBUG`." +msgstr "" +"Увімкніть вихід налагодження аналізатора (лише для експерта, залежно від " +"параметрів компіляції). Дивіться також :envvar:`PYTHONDEBUG`." + +msgid "" +"Ignore all :envvar:`PYTHON*` environment variables, e.g. :envvar:" +"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." +msgstr "" +"Ігноруйте всі змінні середовища :envvar:`PYTHON*`, напр. :envvar:" +"`PYTHONPATH` і :envvar:`PYTHONHOME`, які можуть бути встановлені." + +msgid "See also the :option:`-P` and :option:`-I` (isolated) options." +msgstr "" + +msgid "" +"When a script is passed as first argument or the :option:`-c` option is " +"used, enter interactive mode after executing the script or the command, even " +"when :data:`sys.stdin` does not appear to be a terminal. The :envvar:" +"`PYTHONSTARTUP` file is not read." +msgstr "" +"Якщо сценарій передається як перший аргумент або використовується параметр :" +"option:`-c`, увійдіть в інтерактивний режим після виконання сценарію або " +"команди, навіть якщо :data:`sys.stdin` не виглядає як термінал. Файл :envvar:" +"`PYTHONSTARTUP` не читається." + +msgid "" +"This can be useful to inspect global variables or a stack trace when a " +"script raises an exception. See also :envvar:`PYTHONINSPECT`." +msgstr "" +"Це може бути корисно для перевірки глобальних змінних або трасування стека, " +"коли сценарій викликає виняткову ситуацію. Дивіться також :envvar:" +"`PYTHONINSPECT`." + +msgid "" +"Run Python in isolated mode. This also implies :option:`-E`, :option:`-P` " +"and :option:`-s` options." +msgstr "" + +msgid "" +"In isolated mode :data:`sys.path` contains neither the script's directory " +"nor the user's site-packages directory. All :envvar:`PYTHON*` environment " +"variables are ignored, too. Further restrictions may be imposed to prevent " +"the user from injecting malicious code." +msgstr "" + +msgid "" +"Remove assert statements and any code conditional on the value of :const:" +"`__debug__`. Augment the filename for compiled (:term:`bytecode`) files by " +"adding ``.opt-1`` before the ``.pyc`` extension (see :pep:`488`). See also :" +"envvar:`PYTHONOPTIMIZE`." +msgstr "" +"Видаліть оператори assert і будь-який код, який залежить від значення :const:" +"`__debug__`. Збільште назву файлу для скомпільованих (:term:`bytecode`) " +"файлів, додавши ``.opt-1`` перед розширенням ``.pyc`` (див. :pep:`488`). " +"Дивіться також :envvar:`PYTHONOPTIMIZE`." + +msgid "Modify ``.pyc`` filenames according to :pep:`488`." +msgstr "Змініть назви файлів ``.pyc`` відповідно до :pep:`488`." + +msgid "" +"Do :option:`-O` and also discard docstrings. Augment the filename for " +"compiled (:term:`bytecode`) files by adding ``.opt-2`` before the ``.pyc`` " +"extension (see :pep:`488`)." +msgstr "" +"Виконайте :option:`-O` і також відкиньте рядки документації. Збільште назву " +"файлу для скомпільованих (:term:`bytecode`) файлів, додавши ``.opt-2`` перед " +"розширенням ``.pyc`` (див. :pep:`488`)." + +msgid "Don't prepend a potentially unsafe path to :data:`sys.path`:" +msgstr "" + +msgid "" +"``python -m module`` command line: Don't prepend the current working " +"directory." +msgstr "" + +msgid "" +"``python script.py`` command line: Don't prepend the script's directory. If " +"it's a symbolic link, resolve symbolic links." +msgstr "" + +msgid "" +"``python -c code`` and ``python`` (REPL) command lines: Don't prepend an " +"empty string, which means the current working directory." +msgstr "" + +msgid "" +"See also the :envvar:`PYTHONSAFEPATH` environment variable, and :option:`-E` " +"and :option:`-I` (isolated) options." +msgstr "" + +msgid "" +"Don't display the copyright and version messages even in interactive mode." +msgstr "" +"Не відображайте повідомлення про авторські права та версію навіть в " +"інтерактивному режимі." + +msgid "" +"Turn on hash randomization. This option only has an effect if the :envvar:" +"`PYTHONHASHSEED` environment variable is set to ``0``, since hash " +"randomization is enabled by default." +msgstr "" +"Увімкніть хеш-рандомізацію. Цей параметр діє, лише якщо для змінної " +"середовища :envvar:`PYTHONHASHSEED` встановлено значення ``0``, оскільки " +"рандомізацію хешу ввімкнено за замовчуванням." + +msgid "" +"On previous versions of Python, this option turns on hash randomization, so " +"that the :meth:`__hash__` values of str and bytes objects are \"salted\" " +"with an unpredictable random value. Although they remain constant within an " +"individual Python process, they are not predictable between repeated " +"invocations of Python." +msgstr "" +"У попередніх версіях Python ця опція вмикає рандомізацію хешу, так що " +"значення :meth:`__hash__` об’єктів str і bytes \"підсолюються\" " +"непередбачуваним випадковим значенням. Хоча вони залишаються постійними в " +"окремому процесі Python, вони не передбачувані між повторними викликами " +"Python." + +msgid "" +"Hash randomization is intended to provide protection against a denial-of-" +"service caused by carefully chosen inputs that exploit the worst case " +"performance of a dict construction, O(n\\ :sup:`2`) complexity. See http://" +"www.ocert.org/advisories/ocert-2011-003.html for details." +msgstr "" + +msgid "" +":envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash seed " +"secret." +msgstr "" +":envvar:`PYTHONHASHSEED` дозволяє встановити фіксоване значення для " +"початкового секрету хешу." + +msgid "The option is no longer ignored." +msgstr "Опція більше не ігнорується." + +msgid "" +"Don't add the :data:`user site-packages directory ` to :data:" +"`sys.path`." +msgstr "" +"Не додавайте каталог :data:`user site-packages ` до :data:" +"`sys.path`." + +msgid ":pep:`370` -- Per user site-packages directory" +msgstr ":pep:`370` -- Каталог пакетів сайту для кожного користувача" + +msgid "" +"Disable the import of the module :mod:`site` and the site-dependent " +"manipulations of :data:`sys.path` that it entails. Also disable these " +"manipulations if :mod:`site` is explicitly imported later (call :func:`site." +"main` if you want them to be triggered)." +msgstr "" +"Вимкніть імпорт модуля :mod:`site` і залежні від сайту маніпуляції :data:" +"`sys.path`, які він передбачає. Також вимкніть ці маніпуляції, якщо :mod:" +"`site` буде явно імпортовано пізніше (викличте :func:`site.main`, якщо ви " +"хочете, щоб вони були активовані)." + +msgid "" +"Force the stdout and stderr streams to be unbuffered. This option has no " +"effect on the stdin stream." +msgstr "" +"Примусово розбуферизувати потоки stdout і stderr. Цей параметр не впливає на " +"потік stdin." + +msgid "See also :envvar:`PYTHONUNBUFFERED`." +msgstr "Дивіться також :envvar:`PYTHONUNBUFFERED`." + +msgid "The text layer of the stdout and stderr streams now is unbuffered." +msgstr "Текстовий рівень потоків stdout і stderr тепер не буферизується." + +msgid "" +"Print a message each time a module is initialized, showing the place " +"(filename or built-in module) from which it is loaded. When given twice (:" +"option:`!-vv`), print a message for each file that is checked for when " +"searching for a module. Also provides information on module cleanup at exit." +msgstr "" +"Друкувати повідомлення кожного разу, коли модуль ініціалізовано, із " +"зазначенням місця (ім’я файлу чи вбудованого модуля), з якого він " +"завантажується. Якщо вказано двічі (:option:`!-vv`), вивести повідомлення " +"для кожного файлу, який перевіряється під час пошуку модуля. Також надає " +"інформацію про очищення модуля при виході." + +msgid "" +"The :mod:`site` module reports the site-specific paths and :file:`.pth` " +"files being processed." +msgstr "" +"Модуль :mod:`site` повідомляє про шляхи сайту та файли :file:`.pth`, що " +"обробляються." + +msgid "See also :envvar:`PYTHONVERBOSE`." +msgstr "Дивіться також :envvar:`PYTHONVERBOSE`." + +msgid "" +"Warning control. Python's warning machinery by default prints warning " +"messages to :data:`sys.stderr`." +msgstr "" +"Контроль попередження. Механізм попередження Python за замовчуванням друкує " +"попереджувальні повідомлення до :data:`sys.stderr`." + +msgid "" +"The simplest settings apply a particular action unconditionally to all " +"warnings emitted by a process (even those that are otherwise ignored by " +"default)::" +msgstr "" +"Найпростіші налаштування безумовно застосовують певну дію до всіх " +"попереджень, виданих процесом (навіть до тих, які інакше ігноруються за " +"замовчуванням):" + +msgid "" +"The action names can be abbreviated as desired and the interpreter will " +"resolve them to the appropriate action name. For example, ``-Wi`` is the " +"same as ``-Wignore``." +msgstr "" +"Назви дій можна скоротити за бажанням, і інтерпретатор розведе їх до " +"відповідної назви дії. Наприклад, ``-Wi`` те саме, що ``-Wignore``." + +msgid "The full form of argument is::" +msgstr "Повна форма аргументу:" + +msgid "" +"Empty fields match all values; trailing empty fields may be omitted. For " +"example ``-W ignore::DeprecationWarning`` ignores all DeprecationWarning " +"warnings." +msgstr "" +"Порожні поля відповідають усім значенням; порожні поля в кінці можна " +"опустити. Наприклад, ``-W ignore::DeprecationWarning`` ігнорує всі " +"попередження DeprecationWarning." + +msgid "" +"The *action* field is as explained above but only applies to warnings that " +"match the remaining fields." +msgstr "" +"Поле *action* описано вище, але застосовується лише до попереджень, які " +"відповідають решті полів." + +msgid "" +"The *message* field must match the whole warning message; this match is case-" +"insensitive." +msgstr "" +"Поле *повідомлення* має відповідати всьому попереджувальному повідомленню; " +"цей збіг не залежить від регістру." + +msgid "" +"The *category* field matches the warning category (ex: " +"``DeprecationWarning``). This must be a class name; the match test whether " +"the actual warning category of the message is a subclass of the specified " +"warning category." +msgstr "" +"Поле *category* відповідає категорії попередження (наприклад, " +"``DeprecationWarning``). Це має бути назва класу; перевірка відповідності, " +"чи є фактична категорія попередження повідомлення підкласом зазначеної " +"категорії попередження." + +msgid "" +"The *module* field matches the (fully qualified) module name; this match is " +"case-sensitive." +msgstr "" + +msgid "" +"The *lineno* field matches the line number, where zero matches all line " +"numbers and is thus equivalent to an omitted line number." +msgstr "" +"Поле *lineno* відповідає номеру рядка, де нуль відповідає всім номерам " +"рядків і, отже, еквівалентний пропущеному номеру рядка." + +msgid "" +"Multiple :option:`-W` options can be given; when a warning matches more than " +"one option, the action for the last matching option is performed. Invalid :" +"option:`-W` options are ignored (though, a warning message is printed about " +"invalid options when the first warning is issued)." +msgstr "" +"Можна надати кілька параметрів :option:`-W`; коли попередження відповідає " +"більш ніж одному параметру, виконується дія для останнього відповідного " +"параметра. Недійсні параметри :option:`-W` ігноруються (проте, коли " +"видається перше попередження, друкується попередження про недійсні " +"параметри)." + +msgid "" +"Warnings can also be controlled using the :envvar:`PYTHONWARNINGS` " +"environment variable and from within a Python program using the :mod:" +"`warnings` module. For example, the :func:`warnings.filterwarnings` function " +"can be used to use a regular expression on the warning message." +msgstr "" +"Попередженнями також можна керувати за допомогою змінної середовища :envvar:" +"`PYTHONWARNINGS` і з програми Python за допомогою модуля :mod:`warnings`. " +"Наприклад, функцію :func:`warnings.filterwarnings` можна використовувати для " +"використання регулярного виразу в попередженні." + +msgid "" +"See :ref:`warning-filter` and :ref:`describing-warning-filters` for more " +"details." +msgstr "" +"Перегляньте :ref:`warning-filter` і :ref:`describing-warning-filters` для " +"отримання додаткової інформації." + +msgid "" +"Skip the first line of the source, allowing use of non-Unix forms of ``#!" +"cmd``. This is intended for a DOS specific hack only." +msgstr "" +"Пропустіть перший рядок джерела, дозволяючи використовувати не-Unix форми " +"``#!cmd``. Це призначено лише для спеціального злому DOS." + +msgid "" +"Reserved for various implementation-specific options. CPython currently " +"defines the following possible values:" +msgstr "" +"Зарезервовано для різних варіантів реалізації. Наразі CPython визначає такі " +"можливі значення:" + +msgid "``-X faulthandler`` to enable :mod:`faulthandler`;" +msgstr "``-X faulthandler``, щоб увімкнути :mod:`faulthandler`;" + +msgid "" +"``-X showrefcount`` to output the total reference count and number of used " +"memory blocks when the program finishes or after each statement in the " +"interactive interpreter. This only works on :ref:`debug builds `." +msgstr "" +"``-X showrefcount`` для виведення загальної кількості посилань і кількості " +"використаних блоків пам’яті після завершення програми або після кожного " +"оператора в інтерактивному інтерпретаторі. Це працює лише на :ref:`debug " +"builds `." + +msgid "" +"``-X tracemalloc`` to start tracing Python memory allocations using the :mod:" +"`tracemalloc` module. By default, only the most recent frame is stored in a " +"traceback of a trace. Use ``-X tracemalloc=NFRAME`` to start tracing with a " +"traceback limit of *NFRAME* frames. See the :func:`tracemalloc.start` for " +"more information." +msgstr "" +"``-X tracemalloc``, щоб розпочати відстеження виділення пам’яті Python за " +"допомогою модуля :mod:`tracemalloc`. За замовчуванням лише останній кадр " +"зберігається у зворотній трасі трасування. Використовуйте ``-X " +"tracemalloc=NFRAME``, щоб почати відстеження з обмеженням відстеження кадрів " +"*NFRAME*. Дивіться :func:`tracemalloc.start` для отримання додаткової " +"інформації." + +msgid "" +"``-X int_max_str_digits`` configures the :ref:`integer string conversion " +"length limitation `. See also :envvar:" +"`PYTHONINTMAXSTRDIGITS`." +msgstr "" + +msgid "" +"``-X importtime`` to show how long each import takes. It shows module name, " +"cumulative time (including nested imports) and self time (excluding nested " +"imports). Note that its output may be broken in multi-threaded " +"application. Typical usage is ``python3 -X importtime -c 'import " +"asyncio'``. See also :envvar:`PYTHONPROFILEIMPORTTIME`." +msgstr "" +"``-X importtime``, щоб показати, скільки часу займає кожен імпорт. Він " +"показує назву модуля, сукупний час (включно з вкладеним імпортом) і власний " +"час (за винятком вкладеного імпорту). Зверніть увагу, що його вихід може " +"бути порушений у багатопотоковій програмі. Типовим використанням є ``python3 " +"-X importtime -c 'import asyncio'``. Дивіться також :envvar:" +"`PYTHONPROFILEIMPORTTIME`." + +msgid "" +"``-X dev``: enable :ref:`Python Development Mode `, introducing " +"additional runtime checks that are too expensive to be enabled by default." +msgstr "" +"``-X dev``: увімкнути :ref:`Режим розробки Python `, запроваджуючи " +"додаткові перевірки під час виконання, які надто дорогі, щоб їх увімкнути за " +"замовчуванням." + +msgid "" +"``-X utf8`` enables the :ref:`Python UTF-8 Mode `. ``-X utf8=0`` " +"explicitly disables :ref:`Python UTF-8 Mode ` (even when it would " +"otherwise activate automatically)." +msgstr "" +"``-X utf8`` вмикає режим :ref:`Python UTF-8 `. ``-X utf8=0`` явно " +"вимикає :ref:`Режим Python UTF-8 ` (навіть якщо інакше він " +"активувався б автоматично)." + +msgid "" +"``-X pycache_prefix=PATH`` enables writing ``.pyc`` files to a parallel tree " +"rooted at the given directory instead of to the code tree. See also :envvar:" +"`PYTHONPYCACHEPREFIX`." +msgstr "" +"``-X pycache_prefix=PATH`` дає змогу записувати файли ``.pyc`` до " +"паралельного дерева з коренем у вказаному каталозі замість дерева коду. " +"Дивіться також :envvar:`PYTHONPYCACHEPREFIX`." + +msgid "" +"``-X warn_default_encoding`` issues a :class:`EncodingWarning` when the " +"locale-specific default encoding is used for opening files. See also :envvar:" +"`PYTHONWARNDEFAULTENCODING`." +msgstr "" +"``-X warn_default_encoding`` видає :class:`EncodingWarning`, коли для " +"відкриття файлів використовується кодування за умовчанням, що залежить від " +"локалі. Дивіться також :envvar:`PYTHONWARNDEFAULTENCODING`." + +msgid "" +"``-X no_debug_ranges`` disables the inclusion of the tables mapping extra " +"location information (end line, start column offset and end column offset) " +"to every instruction in code objects. This is useful when smaller code " +"objects and pyc files are desired as well as suppressing the extra visual " +"location indicators when the interpreter displays tracebacks. See also :" +"envvar:`PYTHONNODEBUGRANGES`." +msgstr "" + +msgid "" +"``-X frozen_modules`` determines whether or not frozen modules are ignored " +"by the import machinery. A value of \"on\" means they get imported and \"off" +"\" means they are ignored. The default is \"on\" if this is an installed " +"Python (the normal case). If it's under development (running from the " +"source tree) then the default is \"off\". Note that the \"importlib_bootstrap" +"\" and \"importlib_bootstrap_external\" frozen modules are always used, even " +"if this flag is set to \"off\"." +msgstr "" + +msgid "" +"It also allows passing arbitrary values and retrieving them through the :" +"data:`sys._xoptions` dictionary." +msgstr "" +"Це також дозволяє передавати довільні значення та отримувати їх через " +"словник :data:`sys._xoptions`." + +msgid "The :option:`-X` option was added." +msgstr "Додано параметр :option:`-X`." + +msgid "The ``-X faulthandler`` option." +msgstr "Параметр ``-X faulthandler``." + +msgid "The ``-X showrefcount`` and ``-X tracemalloc`` options." +msgstr "Параметри ``-X showrefcount`` і ``-X tracemalloc``." + +msgid "The ``-X showalloccount`` option." +msgstr "Параметр ``-X showalloccount``." + +msgid "The ``-X importtime``, ``-X dev`` and ``-X utf8`` options." +msgstr "Параметри ``-X importtime``, ``-X dev`` і ``-X utf8``." + +msgid "" +"The ``-X pycache_prefix`` option. The ``-X dev`` option now logs ``close()`` " +"exceptions in :class:`io.IOBase` destructor." +msgstr "" +"Параметр ``-X pycache_prefix``. Параметр ``-X dev`` тепер реєструє винятки " +"``close()`` у деструкторі :class:`io.IOBase`." + +msgid "" +"Using ``-X dev`` option, check *encoding* and *errors* arguments on string " +"encoding and decoding operations." +msgstr "" +"Використовуючи параметр ``-X dev``, перевірте аргументи *encoding* і " +"*errors* в операціях кодування та декодування рядків." + +msgid "The ``-X showalloccount`` option has been removed." +msgstr "Опцію ``-X showalloccount`` видалено." + +msgid "The ``-X warn_default_encoding`` option." +msgstr "Опція ``-X warn_default_encoding``." + +msgid "The ``-X oldparser`` option." +msgstr "Параметр ``-X oldparser``." + +msgid "The ``-X no_debug_ranges`` option." +msgstr "" + +msgid "The ``-X frozen_modules`` option." +msgstr "" + +msgid "The ``-X int_max_str_digits`` option." +msgstr "" + +msgid "Options you shouldn't use" +msgstr "Параметри, якими не варто користуватися" + +msgid "Reserved for use by Jython_." +msgstr "Зарезервовано для використання Jython_." + +msgid "Environment variables" +msgstr "Змінні середовища" + +msgid "" +"These environment variables influence Python's behavior, they are processed " +"before the command-line switches other than -E or -I. It is customary that " +"command-line switches override environmental variables where there is a " +"conflict." +msgstr "" +"Ці змінні середовища впливають на поведінку Python, вони обробляються перед " +"перемикачами командного рядка, відмінними від -E або -I. Зазвичай параметри " +"командного рядка перевизначають змінні середовища, де є конфлікт." + +msgid "" +"Change the location of the standard Python libraries. By default, the " +"libraries are searched in :file:`{prefix}/lib/python{version}` and :file:" +"`{exec_prefix}/lib/python{version}`, where :file:`{prefix}` and :file:" +"`{exec_prefix}` are installation-dependent directories, both defaulting to :" +"file:`/usr/local`." +msgstr "" +"Змініть розташування стандартних бібліотек Python. За замовчуванням " +"бібліотеки шукаються в :file:`{prefix}/lib/python{version}` і :file:" +"`{exec_prefix}/lib/python{version}`, де :file:`{prefix}` та :file:" +"`{exec_prefix}` є каталогами, що залежать від інсталяції, обидва за " +"умовчанням мають :file:`/usr/local`." + +msgid "" +"When :envvar:`PYTHONHOME` is set to a single directory, its value replaces " +"both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different " +"values for these, set :envvar:`PYTHONHOME` to :file:`{prefix}:{exec_prefix}`." +msgstr "" +"Коли для :envvar:`PYTHONHOME` встановлено один каталог, його значення " +"замінює як :file:`{prefix}`, так і :file:`{exec_prefix}`. Щоб указати різні " +"значення для них, установіть :envvar:`PYTHONHOME` на :file:`{prefix}:" +"{exec_prefix}`." + +msgid "" +"Augment the default search path for module files. The format is the same as " +"the shell's :envvar:`PATH`: one or more directory pathnames separated by :" +"data:`os.pathsep` (e.g. colons on Unix or semicolons on Windows). Non-" +"existent directories are silently ignored." +msgstr "" +"Доповніть шлях пошуку за замовчуванням для файлів модулів. Формат такий " +"самий, як і :envvar:`PATH` оболонки: одне або більше імен шляхів до " +"каталогу, розділених :data:`os.pathsep` (наприклад, двокрапка в Unix або " +"крапка з комою в Windows). Неіснуючі каталоги мовчки ігноруються." + +msgid "" +"In addition to normal directories, individual :envvar:`PYTHONPATH` entries " +"may refer to zipfiles containing pure Python modules (in either source or " +"compiled form). Extension modules cannot be imported from zipfiles." +msgstr "" +"На додаток до звичайних каталогів, окремі записи :envvar:`PYTHONPATH` можуть " +"посилатися на zip-файли, що містять чисті модулі Python (у початковій або " +"скомпільованій формі). Модулі розширення не можна імпортувати з zip-файлів." + +msgid "" +"The default search path is installation dependent, but generally begins " +"with :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). " +"It is *always* appended to :envvar:`PYTHONPATH`." +msgstr "" +"Шлях пошуку за умовчанням залежить від встановлення, але зазвичай " +"починається з :file:`{prefix}/lib/python{version}` (див. :envvar:" +"`PYTHONHOME` вище). Він *завжди* додається до :envvar:`PYTHONPATH`." + +msgid "" +"An additional directory will be inserted in the search path in front of :" +"envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" +"options`. The search path can be manipulated from within a Python program as " +"the variable :data:`sys.path`." +msgstr "" +"Додатковий каталог буде вставлено в шлях пошуку перед :envvar:`PYTHONPATH`, " +"як описано вище в розділі :ref:`using-on-interface-options`. Шляхом пошуку " +"можна керувати з програми Python за допомогою змінної :data:`sys.path`." + +msgid "" +"If this is set to a non-empty string, don't prepend a potentially unsafe " +"path to :data:`sys.path`: see the :option:`-P` option for details." +msgstr "" + +msgid "" +"If this is set to a non-empty string, it overrides the :data:`sys." +"platlibdir` value." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, воно перевизначає " +"значення :data:`sys.platlibdir`." + +msgid "" +"If this is the name of a readable file, the Python commands in that file are " +"executed before the first prompt is displayed in interactive mode. The file " +"is executed in the same namespace where interactive commands are executed so " +"that objects defined or imported in it can be used without qualification in " +"the interactive session. You can also change the prompts :data:`sys.ps1` " +"and :data:`sys.ps2` and the hook :data:`sys.__interactivehook__` in this " +"file." +msgstr "" +"Якщо це ім’я файлу, який можна читати, команди Python у цьому файлі " +"виконуються до того, як в інтерактивному режимі відобразиться перше " +"повідомлення. Файл виконується в тому самому просторі імен, де виконуються " +"інтерактивні команди, щоб об’єкти, визначені або імпортовані в ньому, можна " +"було використовувати без застережень в інтерактивному сеансі. Ви також " +"можете змінити підказки :data:`sys.ps1` і :data:`sys.ps2` і хук :data:`sys." +"__interactivehook__` у цьому файлі." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_startup`` with " +"argument ``filename``." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_startup`` з аргументом " +"``filename``." + +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_startup`` with the " +"filename as the argument when called on startup." +msgstr "" +"Викликає :ref:`подію аудиту ` ``cpython.run_startup`` з іменем " +"файлу як аргументом під час виклику під час запуску." + +msgid "" +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-O` option. If set to an integer, it is equivalent to specifying :" +"option:`-O` multiple times." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, це еквівалентно " +"вказівці параметра :option:`-O`. Якщо встановлено ціле число, це " +"еквівалентно вказівці :option:`-O` кілька разів." + +msgid "" +"If this is set, it names a callable using dotted-path notation. The module " +"containing the callable will be imported and then the callable will be run " +"by the default implementation of :func:`sys.breakpointhook` which itself is " +"called by built-in :func:`breakpoint`. If not set, or set to the empty " +"string, it is equivalent to the value \"pdb.set_trace\". Setting this to " +"the string \"0\" causes the default implementation of :func:`sys." +"breakpointhook` to do nothing but return immediately." +msgstr "" +"Якщо це встановлено, він називає виклик, використовуючи позначення шляху з " +"пунктиром. Модуль, що містить виклик, буде імпортований, а потім виклик " +"запускатиметься реалізацією за замовчуванням :func:`sys.breakpointhook`, яка " +"сама викликається вбудованою :func:`breakpoint`. Якщо не встановлено або " +"встановлено порожній рядок, це еквівалентно значенню \"pdb.set_trace\". " +"Встановлення рядка \"0\" призводить до того, що реалізація за замовчуванням :" +"func:`sys.breakpointhook` не робить нічого, крім негайного повернення." + +msgid "" +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-d` option. If set to an integer, it is equivalent to specifying :" +"option:`-d` multiple times." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, це еквівалентно " +"вказівці параметра :option:`-d`. Якщо встановлено ціле число, це " +"еквівалентно вказівці :option:`-d` кілька разів." + +msgid "" +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-i` option." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, це еквівалентно " +"вказуванню параметра :option:`-i`." + +msgid "" +"This variable can also be modified by Python code using :data:`os.environ` " +"to force inspect mode on program termination." +msgstr "" +"Цю змінну також можна змінити за допомогою коду Python за допомогою :data:" +"`os.environ` для примусового режиму перевірки після завершення програми." + +msgid "" +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-u` option." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, це еквівалентно " +"вказівці параметра :option:`-u`." + +msgid "" +"If this is set to a non-empty string it is equivalent to specifying the :" +"option:`-v` option. If set to an integer, it is equivalent to specifying :" +"option:`-v` multiple times." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, це еквівалентно " +"вказівці параметра :option:`-v`. Якщо встановлено ціле число, це " +"еквівалентно вказівці :option:`-v` кілька разів." + +msgid "" +"If this is set, Python ignores case in :keyword:`import` statements. This " +"only works on Windows and macOS." +msgstr "" +"Якщо це встановлено, Python ігнорує регістр у операторах :keyword:`import`. " +"Це працює лише в Windows і macOS." + +msgid "" +"If this is set to a non-empty string, Python won't try to write ``.pyc`` " +"files on the import of source modules. This is equivalent to specifying " +"the :option:`-B` option." +msgstr "" +"Якщо для цього значення встановлено непорожній рядок, Python не " +"намагатиметься записати файли ``.pyc`` під час імпорту вихідних модулів. Це " +"еквівалентно вказівці параметра :option:`-B`." + +msgid "" +"If this is set, Python will write ``.pyc`` files in a mirror directory tree " +"at this path, instead of in ``__pycache__`` directories within the source " +"tree. This is equivalent to specifying the :option:`-X` " +"``pycache_prefix=PATH`` option." +msgstr "" +"Якщо це встановлено, Python записуватиме файли ``.pyc`` у дзеркальному " +"дереві каталогів за цим шляхом, а не в ``__pycache__`` каталогах у вихідному " +"дереві. Це еквівалентно вказівці параметра :option:`-X` " +"``pycache_prefix=PATH``." + +msgid "" +"If this variable is not set or set to ``random``, a random value is used to " +"seed the hashes of str and bytes objects." +msgstr "" +"Якщо ця змінна не встановлена або має значення ``random``, для заповнення " +"хешів об’єктів str і bytes використовується випадкове значення." + +msgid "" +"If :envvar:`PYTHONHASHSEED` is set to an integer value, it is used as a " +"fixed seed for generating the hash() of the types covered by the hash " +"randomization." +msgstr "" +"Якщо :envvar:`PYTHONHASHSEED` має ціле значення, воно використовується як " +"фіксоване початкове значення для генерації hash() типів, охоплених " +"рандомізацією хешу." + +msgid "" +"Its purpose is to allow repeatable hashing, such as for selftests for the " +"interpreter itself, or to allow a cluster of python processes to share hash " +"values." +msgstr "" +"Його мета полягає в тому, щоб дозволити повторюване хешування, наприклад, " +"для самоперевірки для самого інтерпретатора, або дозволити кластеру процесів " +"Python спільно використовувати хеш-значення." + +msgid "" +"The integer must be a decimal number in the range [0,4294967295]. " +"Specifying the value 0 will disable hash randomization." +msgstr "" +"Ціле число має бути десятковим числом у діапазоні [0,4294967295]. Якщо " +"вказати значення 0, рандомізацію хешу буде вимкнено." + +msgid "" +"If this variable is set to an integer, it is used to configure the " +"interpreter's global :ref:`integer string conversion length limitation " +"`." +msgstr "" + +msgid "" +"If this is set before running the interpreter, it overrides the encoding " +"used for stdin/stdout/stderr, in the syntax ``encodingname:errorhandler``. " +"Both the ``encodingname`` and the ``:errorhandler`` parts are optional and " +"have the same meaning as in :func:`str.encode`." +msgstr "" +"Якщо це встановлено перед запуском інтерпретатора, воно замінює кодування, " +"що використовується для stdin/stdout/stderr, у синтаксисі ``encodingname:" +"errorhandler``. Частини ``encodingname`` і ``:errorhandler`` є " +"необов’язковими та мають те ж значення, що й у :func:`str.encode`." + +msgid "" +"For stderr, the ``:errorhandler`` part is ignored; the handler will always " +"be ``'backslashreplace'``." +msgstr "" +"Для stderr частина ``:errorhandler`` ігнорується; обробник завжди буде " +"``'backslashreplace'``." + +msgid "The ``encodingname`` part is now optional." +msgstr "Частина ``назва кодування`` тепер необов'язкова." + +msgid "" +"On Windows, the encoding specified by this variable is ignored for " +"interactive console buffers unless :envvar:`PYTHONLEGACYWINDOWSSTDIO` is " +"also specified. Files and pipes redirected through the standard streams are " +"not affected." +msgstr "" +"У Windows кодування, визначене цією змінною, ігнорується для інтерактивних " +"буферів консолі, якщо також не вказано :envvar:`PYTHONLEGACYWINDOWSSTDIO`. " +"Файли та канали, переспрямовані через стандартні потоки, не впливають." + +msgid "" +"If this is set, Python won't add the :data:`user site-packages directory " +"` to :data:`sys.path`." +msgstr "" +"Якщо це встановлено, Python не додаватиме каталог :data:`user site-packages " +"` до :data:`sys.path`." + +msgid "" +"Defines the :data:`user base directory `, which is used to " +"compute the path of the :data:`user site-packages directory ` and :ref:`Distutils installation paths ` " +"for ``python setup.py install --user``." +msgstr "" +"Визначає :data:`базовий каталог користувача `, який " +"використовується для обчислення шляху до :data:`каталогу пакетів сайту " +"користувача ` та :ref:`шляхів встановлення Distutils ` для ``інсталяції python setup.py --користувач``." + +msgid "" +"If this environment variable is set, ``sys.argv[0]`` will be set to its " +"value instead of the value got through the C runtime. Only works on macOS." +msgstr "" +"Якщо цю змінну середовища встановлено, ``sys.argv[0]`` буде встановлено її " +"значення замість значення, отриманого через середовище виконання C. Працює " +"лише на macOS." + +msgid "" +"This is equivalent to the :option:`-W` option. If set to a comma separated " +"string, it is equivalent to specifying :option:`-W` multiple times, with " +"filters later in the list taking precedence over those earlier in the list." +msgstr "" +"Це еквівалентно параметру :option:`-W`. Якщо встановлено рядок, розділений " +"комами, це еквівалентно вказівці :option:`-W` кілька разів, причому фільтри, " +"розташовані далі в списку, матимуть перевагу над тими, які є раніше в списку." + +msgid "" +"If this environment variable is set to a non-empty string, :func:" +"`faulthandler.enable` is called at startup: install a handler for :const:" +"`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` and :const:" +"`SIGILL` signals to dump the Python traceback. This is equivalent to :" +"option:`-X` ``faulthandler`` option." +msgstr "" +"Якщо для цієї змінної середовища встановлено значення непорожнього рядка, :" +"func:`faulthandler.enable` викликається під час запуску: установіть обробник " +"для :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT` , :const:`SIGBUS` і :" +"const:`SIGILL` сигнали для створення дампу зворотного відстеження Python. Це " +"еквівалентно параметру :option:`-X` ``faulthandler``." + +msgid "" +"If this environment variable is set to a non-empty string, start tracing " +"Python memory allocations using the :mod:`tracemalloc` module. The value of " +"the variable is the maximum number of frames stored in a traceback of a " +"trace. For example, ``PYTHONTRACEMALLOC=1`` stores only the most recent " +"frame. See the :func:`tracemalloc.start` for more information." +msgstr "" +"Якщо для цієї змінної середовища встановлено непорожній рядок, почніть " +"відстежувати виділення пам’яті Python за допомогою модуля :mod:" +"`tracemalloc`. Значення змінної — це максимальна кількість кадрів, що " +"зберігаються в зворотній трасі. Наприклад, ``PYTHONTRACEMALLOC=1`` зберігає " +"лише останній кадр. Дивіться :func:`tracemalloc.start` для отримання " +"додаткової інформації." + +msgid "" +"If this environment variable is set to a non-empty string, Python will show " +"how long each import takes. This is exactly equivalent to setting ``-X " +"importtime`` on the command line." +msgstr "" +"Якщо для цієї змінної середовища встановлено непорожній рядок, Python " +"покаже, скільки часу займає кожен імпорт. Це точно еквівалентно встановленню " +"``-X importtime`` у командному рядку." + +msgid "" +"If this environment variable is set to a non-empty string, enable the :ref:" +"`debug mode ` of the :mod:`asyncio` module." +msgstr "" +"Якщо для цієї змінної середовища встановлено непорожній рядок, увімкніть :" +"ref:`режим налагодження ` модуля :mod:`asyncio`." + +msgid "Set the Python memory allocators and/or install debug hooks." +msgstr "" +"Налаштуйте розподільники пам’яті Python та/або встановіть хуки налагодження." + +msgid "Set the family of memory allocators used by Python:" +msgstr "Встановіть сімейство розподільників пам’яті, яке використовує Python:" + +msgid "" +"``default``: use the :ref:`default memory allocators `." +msgstr "" +"``за замовчуванням``: використовуйте :ref:`розподільники пам'яті за " +"замовчуванням `." + +msgid "" +"``malloc``: use the :c:func:`malloc` function of the C library for all " +"domains (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" +"`PYMEM_DOMAIN_OBJ`)." +msgstr "" +"``malloc``: використовуйте функцію :c:func:`malloc` бібліотеки C для всіх " +"доменів (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" +"`PYMEM_DOMAIN_OBJ`)." + +msgid "" +"``pymalloc``: use the :ref:`pymalloc allocator ` for :c:data:" +"`PYMEM_DOMAIN_MEM` and :c:data:`PYMEM_DOMAIN_OBJ` domains and use the :c:" +"func:`malloc` function for the :c:data:`PYMEM_DOMAIN_RAW` domain." +msgstr "" +"``pymalloc``: використовуйте :ref:`pymalloc allocator ` для " +"доменів :c:data:`PYMEM_DOMAIN_MEM` і :c:data:`PYMEM_DOMAIN_OBJ` і " +"використовуйте функцію :c:func:`malloc` для :c:data:`PYMEM_DOMAIN_RAW` " +"домен." + +msgid "Install :ref:`debug hooks `:" +msgstr "Встановити :ref:`debug hooks `:" + +msgid "" +"``debug``: install debug hooks on top of the :ref:`default memory allocators " +"`." +msgstr "" +"``debug``: установіть хуки налагодження поверх :ref:`розподілювачів пам'яті " +"за замовчуванням `." + +msgid "``malloc_debug``: same as ``malloc`` but also install debug hooks." +msgstr "" +"``malloc_debug``: те саме, що ``malloc``, але також встановлює хуки " +"налагодження." + +msgid "``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks." +msgstr "" +"``pymalloc_debug``: те саме, що ``pymalloc``, але також встановлює хуки " +"налагодження." + +msgid "Added the ``\"default\"`` allocator." +msgstr "Додано розподільник ``\"default\"``." + +msgid "" +"If set to a non-empty string, Python will print statistics of the :ref:" +"`pymalloc memory allocator ` every time a new pymalloc object " +"arena is created, and on shutdown." +msgstr "" +"Якщо встановлено непорожній рядок, Python друкуватиме статистику :ref:" +"`розподільника пам’яті pymalloc ` кожного разу, коли створюється " +"нова арена об’єкта pymalloc, а також після завершення роботи." + +msgid "" +"This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable " +"is used to force the :c:func:`malloc` allocator of the C library, or if " +"Python is configured without ``pymalloc`` support." +msgstr "" +"Ця змінна ігнорується, якщо змінна середовища :envvar:`PYTHONMALLOC` " +"використовується для примусового виділення :c:func:`malloc` бібліотеки C, " +"або якщо Python налаштовано без підтримки ``pymalloc``." + +msgid "" +"This variable can now also be used on Python compiled in release mode. It " +"now has no effect if set to an empty string." +msgstr "" +"Цю змінну тепер також можна використовувати на Python, скомпільованому в " +"режимі випуску. Тепер це не має ефекту, якщо встановлено порожній рядок." + +msgid "" +"If set to a non-empty string, the default :term:`filesystem encoding and " +"error handler` mode will revert to their pre-3.6 values of 'mbcs' and " +"'replace', respectively. Otherwise, the new defaults 'utf-8' and " +"'surrogatepass' are used." +msgstr "" +"Якщо встановлено непорожній рядок, режим :term:`filesystem encoding and " +"error handler` за замовчуванням повернеться до своїх значень 'mbcs' і " +"'replace', які були раніше 3.6, відповідно. В іншому випадку " +"використовуються нові значення за замовчуванням \"utf-8\" і \"surrogatepass" +"\"." + +msgid "" +"This may also be enabled at runtime with :func:`sys." +"_enablelegacywindowsfsencoding()`." +msgstr "" +"Це також можна ввімкнути під час виконання за допомогою :func:`sys." +"_enablelegacywindowsfsencoding()`." + +msgid ":ref:`Availability `: Windows." +msgstr ":ref:`Наявність `: Windows." + +msgid "See :pep:`529` for more details." +msgstr "Дивіться :pep:`529` для більш детальної інформації." + +msgid "" +"If set to a non-empty string, does not use the new console reader and " +"writer. This means that Unicode characters will be encoded according to the " +"active console code page, rather than using utf-8." +msgstr "" +"Якщо встановлено непорожній рядок, новий засіб читання та запису консолі не " +"використовується. Це означає, що символи Unicode кодуватимуться відповідно " +"до активної кодової сторінки консолі, а не за допомогою utf-8." + +msgid "" +"This variable is ignored if the standard streams are redirected (to files or " +"pipes) rather than referring to console buffers." +msgstr "" +"Ця змінна ігнорується, якщо стандартні потоки перенаправляються (до файлів " +"або каналів), а не посилаються на буфери консолі." + +msgid "" +"If set to the value ``0``, causes the main Python command line application " +"to skip coercing the legacy ASCII-based C and POSIX locales to a more " +"capable UTF-8 based alternative." +msgstr "" +"Якщо встановлено значення ``0``, основна програма командного рядка Python " +"пропускає приведення застарілих локалей на основі ASCII C і POSIX до більш " +"дієвої альтернативи на основі UTF-8." + +msgid "" +"If this variable is *not* set (or is set to a value other than ``0``), the " +"``LC_ALL`` locale override environment variable is also not set, and the " +"current locale reported for the ``LC_CTYPE`` category is either the default " +"``C`` locale, or else the explicitly ASCII-based ``POSIX`` locale, then the " +"Python CLI will attempt to configure the following locales for the " +"``LC_CTYPE`` category in the order listed before loading the interpreter " +"runtime:" +msgstr "" +"Якщо цю змінну *не* встановлено (або встановлено значення, відмінне від " +"``0``), змінна середовища ``LC_ALL``, яка замінює локаль, також не " +"встановлена, і поточна локаль повідомляється для ``LC_CTYPE`` категорія є " +"або локаллю ``C`` за замовчуванням, або явно заснованою на ASCII локаллю " +"``POSIX``, тоді Python CLI спробує налаштувати такі мови для категорії " +"``LC_CTYPE`` у зазначеному порядку перед завантаженням середовища виконання " +"інтерпретатора:" + +msgid "``C.UTF-8``" +msgstr "``C.UTF-8``" + +msgid "``C.utf8``" +msgstr "``C.utf8``" + +msgid "``UTF-8``" +msgstr "``UTF-8``" + +msgid "" +"If setting one of these locale categories succeeds, then the ``LC_CTYPE`` " +"environment variable will also be set accordingly in the current process " +"environment before the Python runtime is initialized. This ensures that in " +"addition to being seen by both the interpreter itself and other locale-aware " +"components running in the same process (such as the GNU ``readline`` " +"library), the updated setting is also seen in subprocesses (regardless of " +"whether or not those processes are running a Python interpreter), as well as " +"in operations that query the environment rather than the current C locale " +"(such as Python's own :func:`locale.getdefaultlocale`)." +msgstr "" +"Якщо встановлення однієї з цих категорій локалі вдасться, тоді змінна " +"середовища ``LC_CTYPE`` також буде встановлена відповідним чином у поточному " +"середовищі процесу до ініціалізації середовища виконання Python. Це " +"гарантує, що окрім перегляду як самим інтерпретатором, так і іншими " +"компонентами, що працюють у тому самому процесі (таких як бібліотека GNU " +"``readline``), оновлене налаштування також видно у підпроцесах (незалежно " +"від того, чи не ці процеси запускають інтерпретатор Python), а також в " +"операціях, які запитують середовище, а не поточну локаль C (наприклад, " +"власний :func:`locale.getdefaultlocale` Python)." + +msgid "" +"Configuring one of these locales (either explicitly or via the above " +"implicit locale coercion) automatically enables the ``surrogateescape`` :ref:" +"`error handler ` for :data:`sys.stdin` and :data:`sys." +"stdout` (:data:`sys.stderr` continues to use ``backslashreplace`` as it does " +"in any other locale). This stream handling behavior can be overridden using :" +"envvar:`PYTHONIOENCODING` as usual." +msgstr "" +"Налаштування однієї з цих локалей (явно або за допомогою зазначеного вище " +"неявного примусу до локалі) автоматично вмикає ``surrogateescape`` :ref:" +"`обробник помилок ` для :data:`sys.stdin` і :data:`sys." +"stdout` (:data:`sys.stderr` продовжує використовувати ``backslashreplace``, " +"як і в будь-якій іншій локалі). Цю поведінку обробки потоку можна змінити за " +"допомогою :envvar:`PYTHONIOENCODING`, як зазвичай." + +msgid "" +"For debugging purposes, setting ``PYTHONCOERCECLOCALE=warn`` will cause " +"Python to emit warning messages on ``stderr`` if either the locale coercion " +"activates, or else if a locale that *would* have triggered coercion is still " +"active when the Python runtime is initialized." +msgstr "" +"З метою налагодження налаштування ``PYTHONCOERCECLOCALE=warn`` призведе до " +"того, що Python видаватиме попереджувальні повідомлення на ``stderr``, якщо " +"або активується примусове налаштування локалі, або якщо локаль, яка *могла " +"б* ініціювати примусове налаштування, все ще активна, коли Python час " +"виконання ініціалізовано." + +msgid "" +"Also note that even when locale coercion is disabled, or when it fails to " +"find a suitable target locale, :envvar:`PYTHONUTF8` will still activate by " +"default in legacy ASCII-based locales. Both features must be disabled in " +"order to force the interpreter to use ``ASCII`` instead of ``UTF-8`` for " +"system interfaces." +msgstr "" +"Також зауважте, що навіть якщо примусове налаштування локалі вимкнено або " +"якщо йому не вдається знайти відповідну цільову локаль, :envvar:`PYTHONUTF8` " +"усе одно активується за замовчуванням у застарілих локалях на основі ASCII. " +"Обидві функції мають бути вимкнені, щоб змусити інтерпретатор " +"використовувати ``ASCII`` замість ``UTF-8`` для системних інтерфейсів." + +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Наявність `: Unix." + +msgid "See :pep:`538` for more details." +msgstr "Дивіться :pep:`538` для більш детальної інформації." + +msgid "" +"If this environment variable is set to a non-empty string, enable :ref:" +"`Python Development Mode `, introducing additional runtime checks " +"that are too expensive to be enabled by default." +msgstr "" +"Якщо для цієї змінної середовища встановлено непорожній рядок, увімкніть :" +"ref:`Режим розробки Python `, запроваджуючи додаткові перевірки під " +"час виконання, які є надто дорогими, щоб їх увімкнути за замовчуванням." + +msgid "If set to ``1``, enable the :ref:`Python UTF-8 Mode `." +msgstr "" +"Якщо встановлено значення ``1``, увімкніть режим :ref:`Python UTF-8 `." + +msgid "If set to ``0``, disable the :ref:`Python UTF-8 Mode `." +msgstr "" +"Якщо встановлено значення ``0``, вимкніть режим :ref:`Python UTF-8 `." + +msgid "" +"Setting any other non-empty string causes an error during interpreter " +"initialisation." +msgstr "" +"Встановлення будь-якого іншого непорожнього рядка викликає помилку під час " +"ініціалізації інтерпретатора." + +msgid "" +"If this environment variable is set to a non-empty string, issue a :class:" +"`EncodingWarning` when the locale-specific default encoding is used." +msgstr "" +"Якщо для цієї змінної середовища встановлено значення непорожнього рядка, " +"видайте :class:`EncodingWarning`, коли використовується кодування за " +"замовчуванням для певної мови." + +msgid "See :ref:`io-encoding-warning` for details." +msgstr "Дивіться :ref:`io-encoding-warning` для деталей." + +msgid "" +"If this variable is set, it disables the inclusion of the tables mapping " +"extra location information (end line, start column offset and end column " +"offset) to every instruction in code objects. This is useful when smaller " +"code objects and pyc files are desired as well as suppressing the extra " +"visual location indicators when the interpreter displays tracebacks." +msgstr "" + +msgid "Debug-mode variables" +msgstr "Змінні режиму налагодження" + +msgid "If set, Python will print threading debug info into stdout." +msgstr "" +"Якщо встановлено, Python друкуватиме інформацію про налагодження потоків у " +"stdout." + +msgid "Need a :ref:`debug build of Python `." +msgstr "Потрібна :ref:`збірка налагодження Python `." + +msgid "" +"If set, Python will dump objects and reference counts still alive after " +"shutting down the interpreter." +msgstr "" +"Якщо встановлено, Python виводитиме об’єкти та лічильники посилань, які ще " +"живі після вимкнення інтерпретатора." + +msgid "" +"Need Python configured with the :option:`--with-trace-refs` build option." +msgstr "" +"Потрібен Python, налаштований з параметром збірки :option:`--with-trace-" +"refs`." + +msgid "" +"If set, Python will dump objects and reference counts still alive after " +"shutting down the interpreter into a file called *FILENAME*." +msgstr "" diff --git a/using/configure.po b/using/configure.po new file mode 100644 index 000000000..9b9e4400e --- /dev/null +++ b/using/configure.po @@ -0,0 +1,1252 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:50+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Configure Python" +msgstr "Налаштувати Python" + +msgid "Configure Options" +msgstr "Налаштувати параметри" + +msgid "List all ``./configure`` script options using::" +msgstr "Перелічіть усі параметри сценарію ``./configure`` за допомогою::" + +msgid "" +"See also the :file:`Misc/SpecialBuilds.txt` in the Python source " +"distribution." +msgstr "" +"Дивіться також :file:`Misc/SpecialBuilds.txt` у вихідному дистрибутиві " +"Python." + +msgid "General Options" +msgstr "Загальні параметри" + +msgid "" +"Support loadable extensions in the :mod:`_sqlite` extension module (default " +"is no)." +msgstr "" +"Підтримка завантажуваних розширень у модулі розширення :mod:`_sqlite` (за " +"замовчуванням ні)." + +msgid "" +"See the :meth:`sqlite3.Connection.enable_load_extension` method of the :mod:" +"`sqlite3` module." +msgstr "" +"Перегляньте метод :meth:`sqlite3.Connection.enable_load_extension` модуля :" +"mod:`sqlite3`." + +msgid "" +"Disable IPv6 support (enabled by default if supported), see the :mod:" +"`socket` module." +msgstr "" +"Вимкніть підтримку IPv6 (увімкнено за замовчуванням, якщо підтримується), " +"перегляньте модуль :mod:`socket`." + +msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." +msgstr "Визначте розмір у бітах цифр Python :class:`int`: 15 або 30 біт." + +msgid "By default, the digit size is 30." +msgstr "" + +msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." +msgstr "Визначте ``PYLONG_BITS_IN_DIGIT`` як ``15`` або ``30``." + +msgid "See :data:`sys.int_info.bits_per_digit `." +msgstr "Див. :data:`sys.int_info.bits_per_digit `." + +msgid "" +"Compile the Python ``main()`` function and link Python executable with C++ " +"compiler: ``$CXX``, or *COMPILER* if specified." +msgstr "" +"Скомпілюйте функцію ``main()`` Python і зв’яжіть виконуваний файл Python із " +"компілятором C++: ``$CXX`` або *COMPILER*, якщо вказано." + +msgid "Set the Python executable suffix to *SUFFIX*." +msgstr "Установіть для виконуваного файлу Python суфікс *SUFFIX*." + +msgid "" +"The default suffix is ``.exe`` on Windows and macOS (``python.exe`` " +"executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, ``." +"wasm`` on WASI, and an empty string on other platforms (``python`` " +"executable)." +msgstr "" + +msgid "" +"The default suffix on WASM platform is one of ``.js``, ``.html`` or ``." +"wasm``." +msgstr "" + +msgid "" +"Select the default time zone search path for :data:`zoneinfo.TZPATH`. See " +"the :ref:`Compile-time configuration ` of " +"the :mod:`zoneinfo` module." +msgstr "" +"Виберіть шлях пошуку часового поясу за умовчанням для :data:`zoneinfo." +"TZPATH`. Перегляньте :ref:`конфігурацію під час компіляції " +"` модуля :mod:`zoneinfo`." + +msgid "" +"Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" +"etc/zoneinfo``." +msgstr "" +"За замовчуванням: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/" +"zoneinfo:/etc/zoneinfo``." + +msgid "See :data:`os.pathsep` path separator." +msgstr "Дивіться роздільник шляхів :data:`os.pathsep`." + +msgid "" +"Build the ``_decimal`` extension module using a thread-local context rather " +"than a coroutine-local context (default), see the :mod:`decimal` module." +msgstr "" +"Створіть модуль розширення ``_decimal``, використовуючи локальний контекст " +"потоку, а не локальний контекст співпрограми (за замовчуванням), дивіться " +"модуль :mod:`decimal`." + +msgid "See :data:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." +msgstr "" +"Перегляньте :data:`decimal.HAVE_CONTEXTVAR` і модуль :mod:`contextvars`." + +msgid "Override order to check db backends for the :mod:`dbm` module" +msgstr "" +"Порядок перевизначення, щоб перевірити серверні частини бази даних для " +"модуля :mod:`dbm`" + +msgid "" +"A valid value is a colon (``:``) separated string with the backend names:" +msgstr "" +"Дійсним значенням є розділений двокрапкою (``:``) рядок із іменами серверної " +"частини:" + +msgid "``ndbm``;" +msgstr "``ndbm``;" + +msgid "``gdbm``;" +msgstr "``gdbm``;" + +msgid "``bdb``." +msgstr "``bdb``." + +msgid "Disable C locale coercion to a UTF-8 based locale (enabled by default)." +msgstr "" +"Вимкнути приведення локалі C до локалі на основі UTF-8 (увімкнено за " +"умовчанням)." + +msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." +msgstr "Не визначайте макрос ``PY_COERCE_C_LOCALE``." + +msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." +msgstr "Перегляньте :envvar:`PYTHONCOERCECLOCALE` і :pep:`538`." + +msgid "Python library directory name (default is ``lib``)." +msgstr "Ім’я каталогу бібліотеки Python (за замовчуванням – ``lib``)." + +msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." +msgstr "Fedora та SuSE використовують ``lib64`` на 64-розрядних платформах." + +msgid "See :data:`sys.platlibdir`." +msgstr "Перегляньте :data:`sys.platlibdir`." + +msgid "" +"Directory of wheel packages used by the :mod:`ensurepip` module (none by " +"default)." +msgstr "" +"Каталог пакетів коліс, які використовуються модулем :mod:`ensurepip` (за " +"умовчанням немає)." + +msgid "" +"Some Linux distribution packaging policies recommend against bundling " +"dependencies. For example, Fedora installs wheel packages in the ``/usr/" +"share/python-wheels/`` directory and don't install the :mod:`ensurepip." +"_bundled` package." +msgstr "" +"Деякі політики упаковки дистрибутивів Linux рекомендують не об’єднувати " +"залежності. Наприклад, Fedora встановлює пакунки коліс у каталог ``/usr/" +"share/python-wheels/`` і не встановлює пакунок :mod:`ensurepip._bundled`." + +msgid "" +"Whether configure should use :program:`pkg-config` to detect build " +"dependencies." +msgstr "" + +msgid "``check`` (default): :program:`pkg-config` is optional" +msgstr "" + +msgid "``yes``: :program:`pkg-config` is mandatory" +msgstr "" + +msgid "``no``: configure does not use :program:`pkg-config` even when present" +msgstr "" + +msgid "Turn on internal statistics gathering." +msgstr "" + +msgid "" +"The statistics will be dumped to a arbitrary (probably unique) file in ``/" +"tmp/py_stats/``, or ``C:\\temp\\py_stats\\`` on Windows." +msgstr "" + +msgid "Use ``Tools/scripts/summarize_stats.py`` to read the stats." +msgstr "" + +msgid "WebAssembly Options" +msgstr "" + +msgid "Set build flavor for ``wasm32-emscripten``." +msgstr "" + +msgid "``browser`` (default): preload minimal stdlib, default MEMFS." +msgstr "" + +msgid "``node``: NODERAWFS and pthread support." +msgstr "" + +msgid "Turn on dynamic linking support for WASM." +msgstr "" + +msgid "" +"Dynamic linking enables ``dlopen``. File size of the executable increases " +"due to limited dead code elimination and additional features." +msgstr "" + +msgid "Turn on pthreads support for WASM." +msgstr "" + +msgid "Install Options" +msgstr "Параметри встановлення" + +msgid "" +"Don't build nor install test modules, like the :mod:`test` package or the :" +"mod:`_testcapi` extension module (built and installed by default)." +msgstr "" +"Не створюйте та не встановлюйте тестові модулі, наприклад пакет :mod:`test` " +"або модуль розширення :mod:`_testcapi` (створений і встановлений за " +"замовчуванням)." + +msgid "Select the :mod:`ensurepip` command run on Python installation:" +msgstr "" +"Виберіть команду :mod:`ensurepip`, запущену під час встановлення Python:" + +msgid "" +"``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " +"command." +msgstr "" +"``оновлення`` (за замовчуванням): запустіть команду ``python -m securepip --" +"altinstall --upgrade``." + +msgid "``install``: run ``python -m ensurepip --altinstall`` command;" +msgstr "" +"``встановити``: запустіть команду ``python -m securepip --altinstall``;" + +msgid "``no``: don't run ensurepip;" +msgstr "``ні``: не запускати securepip;" + +msgid "Performance options" +msgstr "Параметри виконання" + +msgid "" +"Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " +"is recommended for best performance." +msgstr "" +"Для найкращої продуктивності рекомендується налаштувати Python за допомогою " +"``--enable-optimizations --with-lto`` (PGO + LTO)." + +msgid "" +"Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " +"(disabled by default)." +msgstr "" +"Увімкніть керовану оптимізацію профілю (PGO) за допомогою :envvar:" +"`PROFILE_TASK` (вимкнено за умовчанням)." + +msgid "" +"The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " +"GCC also requires it: GCC is just an alias to Clang on macOS." +msgstr "" +"Компілятор C Clang вимагає програми ``llvm-profdata`` для PGO. У macOS GCC " +"також вимагає цього: GCC — це просто псевдонім Clang у macOS." + +msgid "" +"Disable also semantic interposition in libpython if ``--enable-shared`` and " +"GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " +"flags." +msgstr "" +"Вимкніть також семантичне вставлення в libpython, якщо ``--enable-shared`` і " +"GCC використовуються: додайте ``-fno-semantic-interposition`` до позначок " +"компілятора та компонувальника." + +msgid "Use ``-fno-semantic-interposition`` on GCC." +msgstr "Використовуйте ``-fno-semantic-interposition`` на GCC." + +msgid "" +"Environment variable used in the Makefile: Python command line arguments for " +"the PGO generation task." +msgstr "" +"Змінна середовища, яка використовується в Makefile: аргументи командного " +"рядка Python для завдання створення PGO." + +msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." +msgstr "За замовчуванням: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." + +msgid "Enable Link Time Optimization (LTO) in any build (disabled by default)." +msgstr "" +"Увімкніть оптимізацію часу підключення (LTO) у будь-якій збірці (за " +"умовчанням вимкнено)." + +msgid "" +"The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " +"as an LTO-aware linker (``ld.gold`` or ``lld``)." +msgstr "" +"Для компілятора C Clang потрібен ``llvm-ar`` для LTO (``ar`` для macOS), а " +"також компонувальник, що підтримує LTO (``ld.gold`` або ``lld``)." + +msgid "To use ThinLTO feature, use ``--with-lto=thin`` on Clang." +msgstr "" + +msgid "" +"Enable computed gotos in evaluation loop (enabled by default on supported " +"compilers)." +msgstr "" +"Увімкнути обчислені gotos у циклі оцінки (увімкнено за замовчуванням у " +"підтримуваних компіляторах)." + +msgid "" +"Disable the specialized Python memory allocator :ref:`pymalloc ` " +"(enabled by default)." +msgstr "" +"Вимкніть спеціалізований розподільник пам’яті Python :ref:`pymalloc " +"` (увімкнено за замовчуванням)." + +msgid "See also :envvar:`PYTHONMALLOC` environment variable." +msgstr "Дивіться також змінну середовища :envvar:`PYTHONMALLOC`." + +msgid "" +"Disable static documentation strings to reduce the memory footprint (enabled " +"by default). Documentation strings defined in Python are not affected." +msgstr "" +"Вимкніть статичні рядки документації, щоб зменшити обсяг пам’яті (увімкнено " +"за замовчуванням). Це не впливає на рядки документації, визначені в Python." + +msgid "Don't define the ``WITH_DOC_STRINGS`` macro." +msgstr "Не визначайте макрос ``WITH_DOC_STRINGS``." + +msgid "See the ``PyDoc_STRVAR()`` macro." +msgstr "Перегляньте макрос ``PyDoc_STRVAR()``." + +msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." +msgstr "" +"Увімкніть профілювання коду рівня C за допомогою ``gprof`` (вимкнено за " +"умовчанням)." + +msgid "Python Debug Build" +msgstr "Збірка налагодження Python" + +msgid "" +"A debug build is Python built with the :option:`--with-pydebug` configure " +"option." +msgstr "" +"Збірка для налагодження — це Python, створений із параметром налаштування :" +"option:`--with-pydebug`." + +msgid "Effects of a debug build:" +msgstr "Наслідки збірки налагодження:" + +msgid "" +"Display all warnings by default: the list of default warning filters is " +"empty in the :mod:`warnings` module." +msgstr "" +"Відображати всі попередження за замовчуванням: список стандартних фільтрів " +"попереджень порожній у модулі :mod:`warnings`." + +msgid "Add ``d`` to :data:`sys.abiflags`." +msgstr "Додайте ``d`` до :data:`sys.abiflags`." + +msgid "Add :func:`sys.gettotalrefcount` function." +msgstr "Додайте функцію :func:`sys.gettotalrefcount`." + +msgid "Add :option:`-X showrefcount <-X>` command line option." +msgstr "Додайте параметр командного рядка :option:`-X showrefcount <-X>`." + +msgid "Add :envvar:`PYTHONTHREADDEBUG` environment variable." +msgstr "Додайте змінну середовища :envvar:`PYTHONTHREADDEBUG`." + +msgid "" +"Add support for the ``__lltrace__`` variable: enable low-level tracing in " +"the bytecode evaluation loop if the variable is defined." +msgstr "" + +msgid "" +"Install :ref:`debug hooks on memory allocators ` " +"to detect buffer overflow and other memory errors." +msgstr "" +"Встановіть :ref:`debug хуки на розподільники пам’яті `, щоб виявити переповнення буфера та інші помилки пам’яті." + +msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." +msgstr "Визначте макроси ``Py_DEBUG`` і ``Py_REF_DEBUG``." + +msgid "" +"Add runtime checks: code surrounded by ``#ifdef Py_DEBUG`` and ``#endif``. " +"Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " +"the ``NDEBUG`` macro (see also the :option:`--with-assertions` configure " +"option). Main runtime checks:" +msgstr "" + +msgid "Add sanity checks on the function arguments." +msgstr "Додайте перевірку правильності аргументів функції." + +msgid "" +"Unicode and int objects are created with their memory filled with a pattern " +"to detect usage of uninitialized objects." +msgstr "" +"Об’єкти Unicode та int створюються з пам’яттю, заповненою шаблоном для " +"виявлення використання неініціалізованих об’єктів." + +msgid "" +"Ensure that functions which can clear or replace the current exception are " +"not called with an exception raised." +msgstr "" +"Переконайтеся, що функції, які можуть очистити або замінити поточний " +"виняток, не викликаються з викликом виключення." + +msgid "Check that deallocator functions don't change the current exception." +msgstr "" + +msgid "" +"The garbage collector (:func:`gc.collect` function) runs some basic checks " +"on objects consistency." +msgstr "" +"Збирач сміття (:func:`gc.collect` функція) запускає деякі базові перевірки " +"узгодженості об’єктів." + +msgid "" +"The :c:macro:`Py_SAFE_DOWNCAST()` macro checks for integer underflow and " +"overflow when downcasting from wide types to narrow types." +msgstr "" +"Макрос :c:macro:`Py_SAFE_DOWNCAST()` перевіряє цілочисельне переповнення та " +"переповнення під час переходу від широких типів до вузьких." + +msgid "" +"See also the :ref:`Python Development Mode ` and the :option:`--" +"with-trace-refs` configure option." +msgstr "" +"Дивіться також :ref:`Режим розробки Python ` і параметр " +"налаштування :option:`--with-trace-refs`." + +msgid "" +"Release builds and debug builds are now ABI compatible: defining the " +"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the :" +"option:`--with-trace-refs` option), which introduces the only ABI " +"incompatibility." +msgstr "" +"Збірки випусків і збірки для налагодження тепер сумісні з ABI: визначення " +"макросу ``Py_DEBUG`` більше не передбачає макрос ``Py_TRACE_REFS`` (див. " +"параметр :option:`--with-trace-refs`), який вводить єдиний Несумісність ABI." + +msgid "Debug options" +msgstr "Параметри налагодження" + +msgid "" +":ref:`Build Python in debug mode `: define the ``Py_DEBUG`` " +"macro (disabled by default)." +msgstr "" +":ref:`Збірка Python у режимі налагодження `: визначте макрос " +"``Py_DEBUG`` (вимкнено за замовчуванням)." + +msgid "Enable tracing references for debugging purpose (disabled by default)." +msgstr "" +"Увімкнути посилання на трасування для налагодження (вимкнено за умовчанням)." + +msgid "Effects:" +msgstr "Ефекти:" + +msgid "Define the ``Py_TRACE_REFS`` macro." +msgstr "Визначте макрос ``Py_TRACE_REFS``." + +msgid "Add :func:`sys.getobjects` function." +msgstr "Додайте функцію :func:`sys.getobjects`." + +msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." +msgstr "Додайте змінну середовища :envvar:`PYTHONDUMPREFS`." + +msgid "" +"This build is not ABI compatible with release build (default build) or debug " +"build (``Py_DEBUG`` and ``Py_REF_DEBUG`` macros)." +msgstr "" +"Ця збірка не сумісна з ABI зі збіркою випуску (складання за замовчуванням) " +"або збіркою налагодження (макроси ``Py_DEBUG`` і ``Py_REF_DEBUG``)." + +msgid "" +"Build with C assertions enabled (default is no): ``assert(...);`` and " +"``_PyObject_ASSERT(...);``." +msgstr "" +"Збірка з увімкненими твердженнями C (за замовчуванням ні): ``assert(...);`` " +"і ``_PyObject_ASSERT(...);``." + +msgid "" +"If set, the ``NDEBUG`` macro is not defined in the :envvar:`OPT` compiler " +"variable." +msgstr "" +"Якщо встановлено, макрос ``NDEBUG`` не визначено в змінній компілятора :" +"envvar:`OPT`." + +msgid "" +"See also the :option:`--with-pydebug` option (:ref:`debug build `) which also enables assertions." +msgstr "" +"Дивіться також опцію :option:`--with-pydebug` (:ref:`debug build `), яка також вмикає твердження." + +msgid "Enable Valgrind support (default is no)." +msgstr "Увімкнути підтримку Valgrind (за замовчуванням ні)." + +msgid "Enable DTrace support (default is no)." +msgstr "Увімкнути підтримку DTrace (за замовчуванням ні)." + +msgid "" +"See :ref:`Instrumenting CPython with DTrace and SystemTap `." +msgstr "" +"Перегляньте :ref:`Інструментування CPython за допомогою DTrace і SystemTap " +"`." + +msgid "" +"Enable AddressSanitizer memory error detector, ``asan`` (default is no)." +msgstr "" +"Увімкнути детектор помилок пам’яті AddressSanitizer, ``asan`` (за умовчанням " +"ні)." + +msgid "" +"Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." +msgstr "" +"Увімкнути детектор помилок розподілу MemorySanitizer, ``msan`` (за " +"умовчанням ні)." + +msgid "" +"Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` " +"(default is no)." +msgstr "" +"Увімкнути невизначений детектор поведінки UndefinedBehaviorSanitizer, " +"``ubsan`` (за умовчанням ні)." + +msgid "Linker options" +msgstr "Параметри компонувальника" + +msgid "Enable building a shared Python library: ``libpython`` (default is no)." +msgstr "" +"Увімкнути створення спільної бібліотеки Python: ``libpython`` (за " +"замовчуванням ні)." + +msgid "" +"Do not build ``libpythonMAJOR.MINOR.a`` and do not install ``python.o`` " +"(built and enabled by default)." +msgstr "" +"Не створюйте ``libpythonMAJOR.MINOR.a`` і не встановлюйте ``python.o`` " +"(зібрано та ввімкнено за замовчуванням)." + +msgid "Libraries options" +msgstr "Параметри бібліотек" + +msgid "Link against additional libraries (default is no)." +msgstr "Посилання на додаткові бібліотеки (за замовчуванням ні)." + +msgid "" +"Build the :mod:`pyexpat` module using an installed ``expat`` library " +"(default is no)." +msgstr "" +"Зберіть модуль :mod:`pyexpat` за допомогою встановленої бібліотеки ``expat`` " +"(за замовчуванням ні)." + +msgid "" +"Build the :mod:`_ctypes` extension module using an installed ``ffi`` " +"library, see the :mod:`ctypes` module (default is system-dependent)." +msgstr "" +"Створіть модуль розширення :mod:`_ctypes` за допомогою встановленої " +"бібліотеки ``ffi``, дивіться модуль :mod:`ctypes` (за замовчуванням залежить " +"від системи)." + +msgid "" +"Build the ``_decimal`` extension module using an installed ``mpdec`` " +"library, see the :mod:`decimal` module (default is no)." +msgstr "" +"Створіть модуль розширення ``_decimal`` за допомогою встановленої бібліотеки " +"``mpdec``, дивіться модуль :mod:`decimal` (за замовчуванням ні)." + +msgid "Use ``editline`` library for backend of the :mod:`readline` module." +msgstr "" +"Використовуйте бібліотеку ``editline`` для серверної частини модуля :mod:" +"`readline`." + +msgid "Define the ``WITH_EDITLINE`` macro." +msgstr "Визначте макрос ``WITH_EDITLINE``." + +msgid "Don't build the :mod:`readline` module (built by default)." +msgstr "Не створюйте модуль :mod:`readline` (створено за замовчуванням)." + +msgid "Don't define the ``HAVE_LIBREADLINE`` macro." +msgstr "Не визначайте макрос ``HAVE_LIBREADLINE``." + +msgid "" +"Override ``libm`` math library to *STRING* (default is system-dependent)." +msgstr "" +"Замінити математичну бібліотеку ``libm`` на *STRING* (за замовчуванням " +"залежить від системи)." + +msgid "Override ``libc`` C library to *STRING* (default is system-dependent)." +msgstr "" +"Замінити бібліотеку C ``libc`` на *STRING* (за замовчуванням залежить від " +"системи)." + +msgid "Root of the OpenSSL directory." +msgstr "Корінь каталогу OpenSSL." + +msgid "Set runtime library directory (rpath) for OpenSSL libraries:" +msgstr "" +"Встановити каталог бібліотеки середовища виконання (rpath) для бібліотек " +"OpenSSL:" + +msgid "``no`` (default): don't set rpath;" +msgstr "``ні`` (за замовчуванням): не встановлювати rpath;" + +msgid "" +"``auto``: auto-detect rpath from :option:`--with-openssl` and ``pkg-config``;" +msgstr "" +"``auto``: автоматичне визначення rpath з :option:`--with-openssl` і ``pkg-" +"config``;" + +msgid "*DIR*: set an explicit rpath." +msgstr "*DIR*: встановити явний rpath." + +msgid "Security Options" +msgstr "Параметри безпеки" + +msgid "Select hash algorithm for use in ``Python/pyhash.c``:" +msgstr "Виберіть алгоритм хешування для використання в ``Python/pyhash.c``:" + +msgid "``siphash13`` (default);" +msgstr "" + +msgid "``siphash24``;" +msgstr "" + +msgid "``fnv``." +msgstr "" + +msgid "``siphash13`` is added and it is the new default." +msgstr "" + +msgid "Built-in hash modules:" +msgstr "Вбудовані хеш-модулі:" + +msgid "``md5``;" +msgstr "``md5``;" + +msgid "``sha1``;" +msgstr "``sha1``;" + +msgid "``sha256``;" +msgstr "``sha256``;" + +msgid "``sha512``;" +msgstr "``sha512``;" + +msgid "``sha3`` (with shake);" +msgstr "``sha3`` (зі струшуванням);" + +msgid "``blake2``." +msgstr "``blake2``." + +msgid "Override the OpenSSL default cipher suites string:" +msgstr "Перевизначте стандартний рядок наборів шифрів OpenSSL:" + +msgid "``python`` (default): use Python's preferred selection;" +msgstr "" +"``python`` (за замовчуванням): використовувати пріоритетний вибір Python;" + +msgid "``openssl``: leave OpenSSL's defaults untouched;" +msgstr "``openssl``: залишити стандартні параметри OpenSSL без змін;" + +msgid "*STRING*: use a custom string" +msgstr "*STRING*: використовуйте спеціальний рядок" + +msgid "See the :mod:`ssl` module." +msgstr "Перегляньте модуль :mod:`ssl`." + +msgid "" +"The settings ``python`` and *STRING* also set TLS 1.2 as minimum protocol " +"version." +msgstr "" +"Налаштування ``python`` і *STRING* також встановлюють TLS 1.2 як мінімальну " +"версію протоколу." + +msgid "macOS Options" +msgstr "Параметри macOS" + +msgid "See ``Mac/README.rst``." +msgstr "Перегляньте ``Mac/README.rst``." + +msgid "" +"Create a universal binary build. *SDKDIR* specifies which macOS SDK should " +"be used to perform the build (default is no)." +msgstr "" +"Створіть універсальну двійкову збірку. *SDKDIR* визначає, який macOS SDK " +"слід використовувати для виконання збірки (за замовчуванням ні)." + +msgid "" +"Create a Python.framework rather than a traditional Unix install. Optional " +"*INSTALLDIR* specifies the installation path (default is no)." +msgstr "" +"Створіть Python.framework замість традиційної інсталяції Unix. Додатково " +"*INSTALLDIR* визначає шлях інсталяції (за замовчуванням ні)." + +msgid "" +"Specify the kind of universal binary that should be created. This option is " +"only valid when :option:`--enable-universalsdk` is set." +msgstr "" +"Укажіть тип універсального двійкового файлу, який потрібно створити. Цей " +"параметр дійсний, лише якщо встановлено :option:`--enable-universalsdk`." + +msgid "Options:" +msgstr "Опції:" + +msgid "``universal2``;" +msgstr "``універсальний2``;" + +msgid "``32-bit``;" +msgstr "``32-розрядний``;" + +msgid "``64-bit``;" +msgstr "``64-розрядний``;" + +msgid "``3-way``;" +msgstr "``3-сторонній``;" + +msgid "``intel``;" +msgstr "``intel``;" + +msgid "``intel-32``;" +msgstr "``intel-32``;" + +msgid "``intel-64``;" +msgstr "``intel-64``;" + +msgid "``all``." +msgstr "``все``." + +msgid "" +"Specify the name for the python framework on macOS only valid when :option:" +"`--enable-framework` is set (default: ``Python``)." +msgstr "" +"Укажіть назву для фреймворку python у macOS, дійсну лише тоді, коли " +"встановлено :option:`--enable-framework` (за замовчуванням: ``Python``)." + +msgid "Cross Compiling Options" +msgstr "" + +msgid "" +"Cross compiling, also known as cross building, can be used to build Python " +"for another CPU architecture or platform. Cross compiling requires a Python " +"interpreter for the build platform. The version of the build Python must " +"match the version of the cross compiled host Python." +msgstr "" + +msgid "" +"configure for building on BUILD, usually guessed by :program:`config.guess`." +msgstr "" + +msgid "cross-compile to build programs to run on HOST (target platform)" +msgstr "" + +msgid "path to build ``python`` binary for cross compiling" +msgstr "" + +msgid "An environment variable that points to a file with configure overrides." +msgstr "" + +msgid "Example *config.site* file::" +msgstr "" + +msgid "Cross compiling example::" +msgstr "" + +msgid "Python Build System" +msgstr "Система збірки Python" + +msgid "Main files of the build system" +msgstr "Основні файли системи збірки" + +msgid ":file:`configure.ac` => :file:`configure`;" +msgstr ":file:`configure.ac` => :file:`configure`;" + +msgid "" +":file:`Makefile.pre.in` => :file:`Makefile` (created by :file:`configure`);" +msgstr "" +":file:`Makefile.pre.in` => :file:`Makefile` (створений :file:`configure`);" + +msgid ":file:`pyconfig.h` (created by :file:`configure`);" +msgstr ":file:`pyconfig.h` (створений :file:`configure`);" + +msgid "" +":file:`Modules/Setup`: C extensions built by the Makefile using :file:" +"`Module/makesetup` shell script;" +msgstr "" +":file:`Modules/Setup`: розширення C, створені Makefile за допомогою сценарію " +"оболонки :file:`Module/makesetup`;" + +msgid ":file:`setup.py`: C extensions built using the :mod:`distutils` module." +msgstr "" +":file:`setup.py`: розширення C, створені за допомогою модуля :mod:" +"`distutils`." + +msgid "Main build steps" +msgstr "Основні етапи побудови" + +msgid "C files (``.c``) are built as object files (``.o``)." +msgstr "Файли C (``.c``) створюються як об’єктні файли (``.o``)." + +msgid "A static ``libpython`` library (``.a``) is created from objects files." +msgstr "Статична бібліотека libpython (``.a``) створюється з файлів об’єктів." + +msgid "" +"``python.o`` and the static ``libpython`` library are linked into the final " +"``python`` program." +msgstr "" +"``python.o`` і статична бібліотека ``libpython`` пов’язані в остаточну " +"програму ``python``." + +msgid "" +"C extensions are built by the Makefile (see :file:`Modules/Setup`) and " +"``python setup.py build``." +msgstr "" +"Розширення C створено за допомогою Makefile (див. :file:`Modules/Setup`) і " +"``python setup.py build``." + +msgid "Main Makefile targets" +msgstr "Основні цілі Makefile" + +msgid "``make``: Build Python with the standard library." +msgstr "``make``: Збірка Python зі стандартною бібліотекою." + +msgid "" +"``make platform:``: build the ``python`` program, but don't build the " +"standard library extension modules." +msgstr "" +"``make platform:``: створіть програму ``python``, але не створюйте " +"стандартні модулі розширення бібліотеки." + +msgid "" +"``make profile-opt``: build Python using Profile Guided Optimization (PGO). " +"You can use the configure :option:`--enable-optimizations` option to make " +"this the default target of the ``make`` command (``make all`` or just " +"``make``)." +msgstr "" +"``make profile-opt``: створіть Python за допомогою Керованої оптимізації " +"профілю (PGO). Ви можете використати опцію configure :option:`--enable-" +"optimizations`, щоб зробити це типовим цільовою командою ``make`` (``make " +"all`` або лише ``make``)." + +msgid "" +"``make buildbottest``: Build Python and run the Python test suite, the same " +"way than buildbots test Python. Set ``TESTTIMEOUT`` variable (in seconds) to " +"change the test timeout (1200 by default: 20 minutes)." +msgstr "" +"``make buildbottest``: створіть Python і запустіть набір тестів Python так " +"само, як buildbots тестують Python. Встановіть змінну ``TESTTIMEOUT`` (у " +"секундах), щоб змінити час очікування тесту (1200 за замовчуванням: 20 " +"хвилин)." + +msgid "``make install``: Build and install Python." +msgstr "``make install``: Створення та встановлення Python." + +msgid "" +"``make regen-all``: Regenerate (almost) all generated files; ``make regen-" +"stdlib-module-names`` and ``autoconf`` must be run separately for the " +"remaining generated files." +msgstr "" +"``make regen-all``: повторно генерувати (майже) всі згенеровані файли; " +"``make regen-stdlib-module-names`` і ``autoconf`` потрібно запускати окремо " +"для решти згенерованих файлів." + +msgid "``make clean``: Remove built files." +msgstr "``make clean``: Видалити зібрані файли." + +msgid "" +"``make distclean``: Same than ``make clean``, but remove also files created " +"by the configure script." +msgstr "" +"``make distclean``: Те саме, що ``make clean``, але також видаляє файли, " +"створені сценарієм конфігурації." + +msgid "C extensions" +msgstr "C розширення" + +msgid "" +"Some C extensions are built as built-in modules, like the ``sys`` module. " +"They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined. Built-in " +"modules have no ``__file__`` attribute::" +msgstr "" +"Деякі розширення C створено як вбудовані модулі, як-от модуль ``sys``. Вони " +"створені за допомогою визначеного макросу ``Py_BUILD_CORE_BUILTIN``. " +"Вбудовані модулі не мають атрибута ``__file__``::" + +msgid "" +"Other C extensions are built as dynamic libraries, like the ``_asyncio`` " +"module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. " +"Example on Linux x86-64::" +msgstr "" + +msgid "" +":file:`Modules/Setup` is used to generate Makefile targets to build C " +"extensions. At the beginning of the files, C extensions are built as built-" +"in modules. Extensions defined after the ``*shared*`` marker are built as " +"dynamic libraries." +msgstr "" +":file:`Modules/Setup` використовується для створення цілей Makefile для " +"створення розширень C. На початку файлів розширення C побудовані як " +"вбудовані модулі. Розширення, визначені після маркера ``*shared*``, " +"будуються як динамічні бібліотеки." + +msgid "" +"The :file:`setup.py` script only builds C extensions as shared libraries " +"using the :mod:`distutils` module." +msgstr "" +"Сценарій :file:`setup.py` створює лише розширення C як спільні бібліотеки за " +"допомогою модуля :mod:`distutils`." + +msgid "" +"The :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_API()` and :c:macro:" +"`PyMODINIT_FUNC()` macros of :file:`Include/pyport.h` are defined " +"differently depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:" +msgstr "" +"Макроси :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_API()` та :c:macro:" +"`PyMODINIT_FUNC()` :file:`Include/pyport.h` визначаються по-різному залежно " +"від того, чи визначено макрос ``Py_BUILD_CORE_MODULE``:" + +msgid "Use ``Py_EXPORTED_SYMBOL`` if the ``Py_BUILD_CORE_MODULE`` is defined" +msgstr "" +"Використовуйте ``Py_EXPORTED_SYMBOL``, якщо ``Py_BUILD_CORE_MODULE`` " +"визначено" + +msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." +msgstr "В іншому випадку використовуйте ``Py_IMPORTED_SYMBOL``." + +msgid "" +"If the ``Py_BUILD_CORE_BUILTIN`` macro is used by mistake on a C extension " +"built as a shared library, its ``PyInit_xxx()`` function is not exported, " +"causing an :exc:`ImportError` on import." +msgstr "" +"Якщо макрос ``Py_BUILD_CORE_BUILTIN`` використовується помилково в " +"розширенні C, створеному як спільна бібліотека, його функція " +"``PyInit_xxx()`` не експортується, що спричиняє :exc:`ImportError` під час " +"імпорту." + +msgid "Compiler and linker flags" +msgstr "Прапори компілятора та компонувальника" + +msgid "" +"Options set by the ``./configure`` script and environment variables and used " +"by ``Makefile``." +msgstr "" +"Параметри, встановлені сценарієм ``./configure`` і змінними середовища та " +"використовуються ``Makefile``." + +msgid "Preprocessor flags" +msgstr "Прапори препроцесора" + +msgid "" +"Value of :envvar:`CPPFLAGS` variable passed to the ``./configure`` script." +msgstr "" +"Значення змінної :envvar:`CPPFLAGS` передається до сценарію ``./configure``." + +msgid "" +"(Objective) C/C++ preprocessor flags, e.g. ``-I`` if you have " +"headers in a nonstandard directory ````." +msgstr "" +"(Мета) Прапори препроцесора C/C++, напр. ``-I ``, якщо у вас є " +"заголовки в нестандартному каталозі ````." + +msgid "" +"Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " +"value for setup.py to be able to build extension modules using the " +"directories specified in the environment variables." +msgstr "" +"І :envvar:`CPPFLAGS`, і :envvar:`LDFLAGS` повинні містити значення оболонки " +"для setup.py, щоб мати можливість створювати модулі розширення за допомогою " +"каталогів, указаних у змінних середовища." + +msgid "" +"Extra preprocessor flags added for building the interpreter object files." +msgstr "" +"Для побудови об’єктних файлів інтерпретатора додано додаткові позначки " +"препроцесора." + +msgid "" +"Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " +"$(CPPFLAGS)``." +msgstr "" +"Типове значення: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Включити " +"$(CONFIGURE_CPPFLAGS) $(CPPFLAGS)``." + +msgid "Compiler flags" +msgstr "Прапори компілятора" + +msgid "C compiler command." +msgstr "Команда компілятора C." + +msgid "Example: ``gcc -pthread``." +msgstr "Приклад: ``gcc -pthread``." + +msgid "" +"C compiler command used to build the ``main()`` function of programs like " +"``python``." +msgstr "" +"Команда компілятора C, яка використовується для побудови функції ``main()`` " +"таких програм, як ``python``." + +msgid "" +"Variable set by the :option:`--with-cxx-main` option of the configure script." +msgstr "" +"Змінна, встановлена параметром :option:`--with-cxx-main` сценарію " +"конфігурації." + +msgid "Default: ``$(CC)``." +msgstr "Типове значення: ``$(CC)``." + +msgid "C++ compiler command." +msgstr "Команда компілятора C++." + +msgid "Used if the :option:`--with-cxx-main` option is used." +msgstr "" +"Використовується, якщо використовується параметр :option:`--with-cxx-main`." + +msgid "Example: ``g++ -pthread``." +msgstr "Приклад: ``g++ -pthread``." + +msgid "C compiler flags." +msgstr "Прапори компілятора C." + +msgid "" +":envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C " +"extensions. Use it when a compiler flag should *not* be part of the " +"distutils :envvar:`CFLAGS` once Python is installed (:issue:`21121`)." +msgstr "" +":envvar:`CFLAGS_NODIST` використовується для створення інтерпретатора та " +"розширень stdlib C. Використовуйте його, коли прапор компілятора *не* " +"повинен бути частиною distutils :envvar:`CFLAGS` після встановлення Python (:" +"issue:`21121`)." + +msgid "In particular, :envvar:`CFLAGS` should not contain:" +msgstr "" + +msgid "" +"the compiler flag ``-I`` (for setting the search path for include files). " +"The ``-I`` flags are processed from left to right, and any flags in :envvar:" +"`CFLAGS` would take precedence over user- and package-supplied ``-I`` flags." +msgstr "" + +msgid "" +"hardening flags such as ``-Werror`` because distributions cannot control " +"whether packages installed by users conform to such heightened standards." +msgstr "" + +msgid "Extra C compiler flags." +msgstr "Додаткові позначки компілятора C." + +msgid "" +"Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." +msgstr "" +"Значення змінної :envvar:`CFLAGS` передається до сценарію ``./configure``." + +msgid "" +"Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " +"script." +msgstr "" +"Значення змінної :envvar:`CFLAGS_NODIST` передається до сценарію ``./" +"configure``." + +msgid "Base compiler flags." +msgstr "Базові прапори компілятора." + +msgid "Optimization flags." +msgstr "Прапори оптимізації." + +msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." +msgstr "" +"Суворі або нестрогі прапорці псевдонімів, які використовуються для " +"компіляції ``Python/dtoa.c``." + +msgid "Compiler flags used to build a shared library." +msgstr "" +"Прапори компілятора, які використовуються для створення спільної бібліотеки." + +msgid "For example, ``-fPIC`` is used on Linux and on BSD." +msgstr "Наприклад, ``-fPIC`` використовується в Linux і BSD." + +msgid "Extra C flags added for building the interpreter object files." +msgstr "" +"Для побудови об’єктних файлів інтерпретатора додано додаткові позначки C." + +msgid "" +"Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty " +"string otherwise." +msgstr "" +"Типове значення: ``$(CCSHARED)``, коли :option:`--enable-shared` " +"використовується, або порожній рядок в інших випадках." + +msgid "" +"Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " +"$(EXTRA_CFLAGS)``." +msgstr "" +"Типове значення: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " +"$(EXTRA_CFLAGS)``." + +msgid "" +"Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" +"internal``." +msgstr "" +"Типове значення: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/" +"Include/internal``." + +msgid "C flags used for building the interpreter object files." +msgstr "" +"Прапорці C, які використовуються для побудови об'єктних файлів " +"інтерпретатора." + +msgid "" +"Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " +"$(CFLAGSFORSHARED)``." +msgstr "" +"Типове значення: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " +"$(CFLAGSFORSHARED)``." + +msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." +msgstr "Типове значення: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." + +msgid "" +"Compiler flags to build a standard library extension module as a built-in " +"module, like the :mod:`posix` module." +msgstr "" +"Прапори компілятора для створення стандартного модуля розширення бібліотеки " +"як вбудованого модуля, як-от модуль :mod:`posix`." + +msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." +msgstr "Типове значення: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." + +msgid "Purify command. Purify is a memory debugger program." +msgstr "Команда очищення. Purify — це програма для налагодження пам'яті." + +msgid "Default: empty string (not used)." +msgstr "За замовчуванням: порожній рядок (не використовується)." + +msgid "Linker flags" +msgstr "Прапори компонувальника" + +msgid "" +"Linker command used to build programs like ``python`` and ``_testembed``." +msgstr "" +"Команда компонувальника, яка використовується для створення таких програм, " +"як ``python`` і ``_testembed``." + +msgid "Default: ``$(PURIFY) $(MAINCC)``." +msgstr "Типове значення: ``$(PURIFY) $(MAINCC)``." + +msgid "" +"Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." +msgstr "" +"Значення змінної :envvar:`LDFLAGS` передається до сценарію ``./configure``." + +msgid "" +"Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " +"them on the command line to append to these values without stomping the pre-" +"set values." +msgstr "" +"Уникайте призначення :envvar:`CFLAGS`, :envvar:`LDFLAGS` тощо, щоб " +"користувачі могли використовувати їх у командному рядку для додавання до цих " +"значень без порушення попередньо встановлених значень." + +msgid "" +":envvar:`LDFLAGS_NODIST` is used in the same manner as :envvar:" +"`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of the " +"distutils :envvar:`LDFLAGS` once Python is installed (:issue:`35257`)." +msgstr "" +":envvar:`LDFLAGS_NODIST` використовується так само, як :envvar:" +"`CFLAGS_NODIST`. Використовуйте його, коли прапор компонувальника *не* " +"повинен бути частиною distutils :envvar:`LDFLAGS` після встановлення Python " +"(:issue:`35257`)." + +msgid "In particular, :envvar:`LDFLAGS` should not contain:" +msgstr "" + +msgid "" +"the compiler flag ``-L`` (for setting the search path for libraries). The ``-" +"L`` flags are processed from left to right, and any flags in :envvar:" +"`LDFLAGS` would take precedence over user- and package-supplied ``-L`` flags." +msgstr "" + +msgid "" +"Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " +"script." +msgstr "" +"Значення змінної :envvar:`LDFLAGS_NODIST` передається до сценарію ``./" +"configure``." + +msgid "" +"Linker flags, e.g. ``-L`` if you have libraries in a nonstandard " +"directory ````." +msgstr "" +"Прапори компонування, напр. ``-L ``, якщо у вас є бібліотеки в " +"нестандартному каталозі ````." + +msgid "" +"Linker flags to pass libraries to the linker when linking the Python " +"executable." +msgstr "" +"Прапорці компонувальника для передачі бібліотек компонувальнику під час " +"компонування виконуваного файлу Python." + +msgid "Example: ``-lrt``." +msgstr "Приклад: ``-lrt``." + +msgid "Command to build a shared library." +msgstr "Команда для створення спільної бібліотеки." + +msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." +msgstr "Типове значення: ``@LDSHARED@ $(PY_LDFLAGS)``." + +msgid "Command to build ``libpython`` shared library." +msgstr "Команда для створення спільної бібліотеки ``libpython``." + +msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." +msgstr "За замовчуванням: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." + +msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." +msgstr "Типове значення: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." + +msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." +msgstr "Типове значення: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." + +msgid "Linker flags used for building the interpreter object files." +msgstr "" +"Прапори компонувальника, які використовуються для створення файлів об’єктів " +"інтерпретатора." diff --git a/using/editors.po b/using/editors.po new file mode 100644 index 000000000..085145e39 --- /dev/null +++ b/using/editors.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Editors and IDEs" +msgstr "Редактори та IDE" + +msgid "" +"There are a number of IDEs that support Python programming language. Many " +"editors and IDEs provide syntax highlighting, debugging tools, and :pep:`8` " +"checks." +msgstr "" +"Існує кілька IDE, які підтримують мову програмування Python. Багато " +"редакторів і IDE забезпечують підсвічування синтаксису, інструменти " +"налагодження та перевірки :pep:`8`." + +msgid "" +"Please go to `Python Editors `_ " +"and `Integrated Development Environments `_ for a comprehensive list." +msgstr "" +"Перейдіть до `Python Editors `_ " +"та `Integrated Development Environments `_, щоб отримати вичерпний список." diff --git a/using/index.po b/using/index.po new file mode 100644 index 000000000..be6b41252 --- /dev/null +++ b/using/index.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Python Setup and Usage" +msgstr "Налаштування та використання Python" + +msgid "" +"This part of the documentation is devoted to general information on the " +"setup of the Python environment on different platforms, the invocation of " +"the interpreter and things that make working with Python easier." +msgstr "" +"Ця частина документації присвячена загальній інформації щодо налаштування " +"середовища Python на різних платформах, виклику інтерпретатора та речам, які " +"полегшують роботу з Python." diff --git a/using/mac.po b/using/mac.po new file mode 100644 index 000000000..432eefe0f --- /dev/null +++ b/using/mac.po @@ -0,0 +1,319 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Using Python on a Mac" +msgstr "Використання Python на Mac" + +msgid "Author" +msgstr "Автор" + +msgid "Bob Savage " +msgstr "Боб Севідж " + +msgid "" +"Python on a Mac running macOS is in principle very similar to Python on any " +"other Unix platform, but there are a number of additional features such as " +"the IDE and the Package Manager that are worth pointing out." +msgstr "" +"Python на Mac під керуванням macOS в принципі дуже схожий на Python на будь-" +"якій іншій платформі Unix, але є ряд додаткових функцій, таких як IDE та " +"менеджер пакунків, на які варто звернути увагу." + +msgid "Getting and Installing MacPython" +msgstr "Отримання та встановлення MacPython" + +msgid "" +"macOS used to come with Python 2.7 pre-installed between versions 10.8 and " +"`12.3 `_. You are invited to install the most " +"recent version of Python 3 from the Python website (https://www.python." +"org). A current \"universal binary\" build of Python, which runs natively " +"on the Mac's new Intel and legacy PPC CPU's, is available there." +msgstr "" + +msgid "What you get after installing is a number of things:" +msgstr "Після встановлення ви отримуєте кілька речей:" + +msgid "" +"A :file:`Python 3.12` folder in your :file:`Applications` folder. In here " +"you find IDLE, the development environment that is a standard part of " +"official Python distributions; and PythonLauncher, which handles double-" +"clicking Python scripts from the Finder." +msgstr "" + +msgid "" +"A framework :file:`/Library/Frameworks/Python.framework`, which includes the " +"Python executable and libraries. The installer adds this location to your " +"shell path. To uninstall MacPython, you can simply remove these three " +"things. A symlink to the Python executable is placed in /usr/local/bin/." +msgstr "" +"Фреймворк :file:`/Library/Frameworks/Python.framework`, який містить " +"виконуваний файл Python і бібліотеки. Інсталятор додає це розташування до " +"вашого шляху оболонки. Щоб видалити MacPython, ви можете просто видалити ці " +"три речі. Символічне посилання на виконуваний файл Python розміщується в /" +"usr/local/bin/." + +msgid "" +"The Apple-provided build of Python is installed in :file:`/System/Library/" +"Frameworks/Python.framework` and :file:`/usr/bin/python`, respectively. You " +"should never modify or delete these, as they are Apple-controlled and are " +"used by Apple- or third-party software. Remember that if you choose to " +"install a newer Python version from python.org, you will have two different " +"but functional Python installations on your computer, so it will be " +"important that your paths and usages are consistent with what you want to do." +msgstr "" +"Складання Python, надане Apple, встановлено в :file:`/System/Library/" +"Frameworks/Python.framework` і :file:`/usr/bin/python` відповідно. Ви ніколи " +"не повинні змінювати або видаляти їх, оскільки вони контролюються Apple і " +"використовуються програмним забезпеченням Apple або сторонніх виробників. " +"Пам’ятайте, що якщо ви вирішите інсталювати новішу версію Python із сайту " +"python.org, у вас буде дві різні, але функціональні інсталяції Python на " +"вашому комп’ютері, тому важливо, щоб ваші шляхи та використання відповідали " +"тому, що ви хочете зробити." + +msgid "" +"IDLE includes a help menu that allows you to access Python documentation. If " +"you are completely new to Python you should start reading the tutorial " +"introduction in that document." +msgstr "" +"IDLE містить меню довідки, яке дозволяє отримати доступ до документації " +"Python. Якщо ви зовсім новачок у Python, вам слід почати читати вступ до " +"підручника в цьому документі." + +msgid "" +"If you are familiar with Python on other Unix platforms you should read the " +"section on running Python scripts from the Unix shell." +msgstr "" +"Якщо ви знайомі з Python на інших платформах Unix, вам слід прочитати розділ " +"про запуск сценаріїв Python з оболонки Unix." + +msgid "How to run a Python script" +msgstr "Як запустити скрипт Python" + +msgid "" +"Your best way to get started with Python on macOS is through the IDLE " +"integrated development environment, see section :ref:`ide` and use the Help " +"menu when the IDE is running." +msgstr "" +"Ваш найкращий спосіб розпочати роботу з Python у macOS — скористатися " +"інтегрованим середовищем розробки IDLE, перегляньте розділ :ref:`ide` і " +"скористайтеся меню \"Довідка\", коли IDE запущено." + +msgid "" +"If you want to run Python scripts from the Terminal window command line or " +"from the Finder you first need an editor to create your script. macOS comes " +"with a number of standard Unix command line editors, :program:`vim` and :" +"program:`emacs` among them. If you want a more Mac-like editor, :program:" +"`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see http://www." +"barebones.com/products/bbedit/index.html) are good choices, as is :program:" +"`TextMate` (see https://macromates.com/). Other editors include :program:" +"`Gvim` (https://macvim-dev.github.io/macvim/) and :program:`Aquamacs` " +"(http://aquamacs.org/)." +msgstr "" + +msgid "" +"To run your script from the Terminal window you must make sure that :file:`/" +"usr/local/bin` is in your shell search path." +msgstr "" +"Щоб запустити сценарій із вікна терміналу, переконайтеся, що :file:`/usr/" +"local/bin` знаходиться у вашому шляху пошуку оболонки." + +msgid "To run your script from the Finder you have two options:" +msgstr "Щоб запустити свій сценарій із Finder, у вас є два варіанти:" + +msgid "Drag it to :program:`PythonLauncher`" +msgstr "Перетягніть його до :program:`PythonLauncher`" + +msgid "" +"Select :program:`PythonLauncher` as the default application to open your " +"script (or any .py script) through the finder Info window and double-click " +"it. :program:`PythonLauncher` has various preferences to control how your " +"script is launched. Option-dragging allows you to change these for one " +"invocation, or use its Preferences menu to change things globally." +msgstr "" +"Виберіть :program:`PythonLauncher` як програму за замовчуванням, щоб " +"відкрити свій сценарій (або будь-який сценарій .py) у вікні інформації " +"пошуку та двічі клацніть його. :program:`PythonLauncher` має різні параметри " +"для керування запуском вашого сценарію. Перетягування параметрів дає змогу " +"змінювати їх за один виклик або використовувати його меню \"Параметри\", щоб " +"змінити речі глобально." + +msgid "Running scripts with a GUI" +msgstr "Запуск скриптів з графічним інтерфейсом" + +msgid "" +"With older versions of Python, there is one macOS quirk that you need to be " +"aware of: programs that talk to the Aqua window manager (in other words, " +"anything that has a GUI) need to be run in a special way. Use :program:" +"`pythonw` instead of :program:`python` to start such scripts." +msgstr "" +"У старих версіях Python є одна примха macOS, про яку вам потрібно знати: " +"програми, які спілкуються з диспетчером вікон Aqua (іншими словами, все, що " +"має графічний інтерфейс), потрібно запускати особливим чином. " +"Використовуйте :program:`pythonw` замість :program:`python` для запуску " +"таких сценаріїв." + +msgid "" +"With Python 3.9, you can use either :program:`python` or :program:`pythonw`." +msgstr "" +"З Python 3.9 ви можете використовувати :program:`python` або :program:" +"`pythonw`." + +msgid "Configuration" +msgstr "Конфігурація" + +msgid "" +"Python on macOS honors all standard Unix environment variables such as :" +"envvar:`PYTHONPATH`, but setting these variables for programs started from " +"the Finder is non-standard as the Finder does not read your :file:`.profile` " +"or :file:`.cshrc` at startup. You need to create a file :file:`~/.MacOSX/" +"environment.plist`. See Apple's Technical Document QA1067 for details." +msgstr "" +"Python у macOS підтримує всі стандартні змінні середовища Unix, такі як :" +"envvar:`PYTHONPATH`, але встановлення цих змінних для програм, запущених із " +"Finder, є нестандартним, оскільки Finder не читає ваші :file:`.profile` або :" +"file:`.cshrc` під час запуску. Вам потрібно створити файл :file:`~/.MacOSX/" +"environment.plist`. Докладніше див. у технічному документі Apple QA1067." + +msgid "" +"For more information on installation Python packages in MacPython, see " +"section :ref:`mac-package-manager`." +msgstr "" +"Додаткову інформацію про встановлення пакетів Python у MacPython див. у " +"розділі :ref:`mac-package-manager`." + +msgid "The IDE" +msgstr "IDE" + +msgid "" +"MacPython ships with the standard IDLE development environment. A good " +"introduction to using IDLE can be found at http://www.hashcollision.org/hkn/" +"python/idle_intro/index.html." +msgstr "" +"MacPython поставляється зі стандартним середовищем розробки IDLE. Хороший " +"вступ до використання IDLE можна знайти на http://www.hashcollision.org/hkn/" +"python/idle_intro/index.html." + +msgid "Installing Additional Python Packages" +msgstr "Встановлення додаткових пакетів Python" + +msgid "There are several methods to install additional Python packages:" +msgstr "Існує кілька способів встановлення додаткових пакетів Python:" + +msgid "" +"Packages can be installed via the standard Python distutils mode (``python " +"setup.py install``)." +msgstr "" +"Пакети можна встановити через стандартний режим Python distutils (``python " +"setup.py install``)." + +msgid "" +"Many packages can also be installed via the :program:`setuptools` extension " +"or :program:`pip` wrapper, see https://pip.pypa.io/." +msgstr "" +"Багато пакунків також можна встановити через розширення :program:" +"`setuptools` або оболонку :program:`pip`, див. https://pip.pypa.io/." + +msgid "GUI Programming on the Mac" +msgstr "Програмування GUI на Mac" + +msgid "" +"There are several options for building GUI applications on the Mac with " +"Python." +msgstr "" +"Існує кілька варіантів створення програм графічного інтерфейсу на Mac за " +"допомогою Python." + +msgid "" +"*PyObjC* is a Python binding to Apple's Objective-C/Cocoa framework, which " +"is the foundation of most modern Mac development. Information on PyObjC is " +"available from https://pypi.org/project/pyobjc/." +msgstr "" +"*PyObjC* — це прив’язка Python до фреймворку Apple Objective-C/Cocoa, який є " +"основою більшості сучасних розробок Mac. Інформація про PyObjC доступна за " +"адресою https://pypi.org/project/pyobjc/." + +msgid "" +"The standard Python GUI toolkit is :mod:`tkinter`, based on the cross-" +"platform Tk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is " +"bundled with OS X by Apple, and the latest version can be downloaded and " +"installed from https://www.activestate.com; it can also be built from source." +msgstr "" +"Стандартний набір інструментів графічного інтерфейсу Python — це :mod:" +"`tkinter`, заснований на кросплатформному наборі інструментів Tk (https://" +"www.tcl.tk). Рідна версія Tk для Aqua поставляється в комплекті з OS X від " +"Apple, а останню версію можна завантажити та встановити з https://www." +"activestate.com; його також можна створити з джерела." + +msgid "" +"*wxPython* is another popular cross-platform GUI toolkit that runs natively " +"on macOS. Packages and documentation are available from https://www.wxpython." +"org." +msgstr "" +"*wxPython* — це ще один популярний кросплатформний набір графічних " +"інтерфейсів користувача, який працює на macOS. Пакети та документація " +"доступні на сайті https://www.wxpython.org." + +msgid "" +"*PyQt* is another popular cross-platform GUI toolkit that runs natively on " +"macOS. More information can be found at https://riverbankcomputing.com/" +"software/pyqt/intro." +msgstr "" +"*PyQt* — ще один популярний кросплатформний інструментарій із графічним " +"інтерфейсом користувача, який працює на macOS. Більше інформації можна " +"знайти на https://riverbankcomputing.com/software/pyqt/intro." + +msgid "Distributing Python Applications on the Mac" +msgstr "Розповсюдження програм Python на Mac" + +msgid "" +"The standard tool for deploying standalone Python applications on the Mac " +"is :program:`py2app`. More information on installing and using py2app can be " +"found at https://pypi.org/project/py2app/." +msgstr "" +"Стандартним інструментом для розгортання автономних програм Python на Mac є :" +"program:`py2app`. Більше інформації про встановлення та використання py2app " +"можна знайти на сторінці https://pypi.org/project/py2app/." + +msgid "Other Resources" +msgstr "Інші ресурси" + +msgid "" +"The MacPython mailing list is an excellent support resource for Python users " +"and developers on the Mac:" +msgstr "" +"Список розсилки MacPython є чудовим ресурсом підтримки для користувачів і " +"розробників Python на Mac:" + +msgid "https://www.python.org/community/sigs/current/pythonmac-sig/" +msgstr "https://www.python.org/community/sigs/current/pythonmac-sig/" + +msgid "Another useful resource is the MacPython wiki:" +msgstr "Іншим корисним ресурсом є вікі MacPython:" + +msgid "https://wiki.python.org/moin/MacPython" +msgstr "https://wiki.python.org/moin/MacPython" diff --git a/using/unix.po b/using/unix.po new file mode 100644 index 000000000..213627c0f --- /dev/null +++ b/using/unix.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Using Python on Unix platforms" +msgstr "Використання Python на платформах Unix" + +msgid "Getting and installing the latest version of Python" +msgstr "Отримання та встановлення останньої версії Python" + +msgid "On Linux" +msgstr "На Linux" + +msgid "" +"Python comes preinstalled on most Linux distributions, and is available as a " +"package on all others. However there are certain features you might want to " +"use that are not available on your distro's package. You can easily compile " +"the latest version of Python from source." +msgstr "" +"Python попередньо встановлено на більшості дистрибутивів Linux і доступний у " +"вигляді пакета на всіх інших. Однак є певні функції, які ви можете " +"використати, але недоступні в пакеті вашого дистрибутива. Ви можете легко " +"скомпілювати останню версію Python із початкового коду." + +msgid "" +"In the event that Python doesn't come preinstalled and isn't in the " +"repositories as well, you can easily make packages for your own distro. " +"Have a look at the following links:" +msgstr "" +"У випадку, якщо Python не попередньо встановлений і його також немає в " +"репозиторіях, ви можете легко створити пакунки для свого власного " +"дистрибутива. Перегляньте наступні посилання:" + +msgid "https://www.debian.org/doc/manuals/maint-guide/first.en.html" +msgstr "https://www.debian.org/doc/manuals/maint-guide/first.en.html" + +msgid "for Debian users" +msgstr "для користувачів Debian" + +msgid "https://en.opensuse.org/Portal:Packaging" +msgstr "https://en.opensuse.org/Portal:Packaging" + +msgid "for OpenSuse users" +msgstr "для користувачів OpenSuse" + +msgid "" +"https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/" +"RPM_Guide/ch-creating-rpms.html" +msgstr "" +"https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/" +"RPM_Guide/ch-creating-rpms.html" + +msgid "for Fedora users" +msgstr "для користувачів Fedora" + +msgid "http://www.slackbook.org/html/package-management-making-packages.html" +msgstr "http://www.slackbook.org/html/package-management-making-packages.html" + +msgid "for Slackware users" +msgstr "для користувачів Slackware" + +msgid "On FreeBSD and OpenBSD" +msgstr "На FreeBSD і OpenBSD" + +msgid "FreeBSD users, to add the package use::" +msgstr "Користувачі FreeBSD, щоб додати пакет, використовуйте::" + +msgid "OpenBSD users, to add the package use::" +msgstr "Користувачі OpenBSD, щоб додати пакет, використовуйте::" + +msgid "For example i386 users get the 2.5.1 version of Python using::" +msgstr "" +"Наприклад, користувачі i386 отримують версію Python 2.5.1 за допомогою:" + +msgid "On OpenSolaris" +msgstr "На OpenSolaris" + +msgid "" +"You can get Python from `OpenCSW `_. Various " +"versions of Python are available and can be installed with e.g. ``pkgutil -i " +"python27``." +msgstr "" +"Ви можете отримати Python з `OpenCSW `_. Доступні " +"різні версії Python, які можна встановити, напр. ``pkgutil -i python27``." + +msgid "Building Python" +msgstr "Створення Python" + +msgid "" +"If you want to compile CPython yourself, first thing you should do is get " +"the `source `_. You can download " +"either the latest release's source or just grab a fresh `clone `_. (If you want to " +"contribute patches, you will need a clone.)" +msgstr "" + +msgid "The build process consists of the usual commands::" +msgstr "Процес збирання складається зі звичайних команд:" + +msgid "" +":ref:`Configuration options ` and caveats for specific " +"Unix platforms are extensively documented in the :source:`README.rst` file " +"in the root of the Python source tree." +msgstr "" +":ref:`Параметри конфігурації ` і застереження для " +"конкретних платформ Unix детально задокументовані у файлі :source:`README." +"rst` у корені дерева вихідних кодів Python." + +msgid "" +"``make install`` can overwrite or masquerade the :file:`python3` binary. " +"``make altinstall`` is therefore recommended instead of ``make install`` " +"since it only installs :file:`{exec_prefix}/bin/python{version}`." +msgstr "" +"``make install`` може перезаписати або маскувати двійковий файл :file:" +"`python3`. Таким чином, ``make altinstall`` рекомендується замість ``make " +"install``, оскільки він встановлює лише :file:`{exec_prefix}/bin/" +"python{version}`." + +msgid "Python-related paths and files" +msgstr "Шляхи та файли, пов’язані з Python" + +msgid "" +"These are subject to difference depending on local installation " +"conventions; :envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` (``" +"${exec_prefix}``) are installation-dependent and should be interpreted as " +"for GNU software; they may be the same." +msgstr "" +"Вони можуть відрізнятися залежно від місцевих умов встановлення; :envvar:" +"`prefix` (``${prefix}``) і :envvar:`exec_prefix` (``${exec_prefix}``) " +"залежать від інсталяції та мають інтерпретуватися як програмне забезпечення " +"GNU; вони можуть бути однаковими." + +msgid "" +"For example, on most Linux systems, the default for both is :file:`/usr`." +msgstr "Наприклад, у більшості систем Linux типовим для обох є :file:`/usr`." + +msgid "File/directory" +msgstr "Файл/каталог" + +msgid "Meaning" +msgstr "Значення" + +msgid ":file:`{exec_prefix}/bin/python3`" +msgstr ":file:`{exec_prefix}/bin/python3`" + +msgid "Recommended location of the interpreter." +msgstr "Рекомендоване місце розташування перекладача." + +msgid "" +":file:`{prefix}/lib/python{version}`, :file:`{exec_prefix}/lib/" +"python{version}`" +msgstr "" +":file:`{prefix}/lib/python{version}`, :file:`{exec_prefix}/lib/" +"python{version}`" + +msgid "" +"Recommended locations of the directories containing the standard modules." +msgstr "Рекомендоване розташування каталогів, що містять стандартні модулі." + +msgid "" +":file:`{prefix}/include/python{version}`, :file:`{exec_prefix}/include/" +"python{version}`" +msgstr "" +":file:`{prefix}/include/python{version}`, :file:`{exec_prefix}/include/" +"python{version}`" + +msgid "" +"Recommended locations of the directories containing the include files needed " +"for developing Python extensions and embedding the interpreter." +msgstr "" +"Рекомендовані розташування каталогів, що містять файли включення, необхідні " +"для розробки розширень Python і вбудовування інтерпретатора." + +msgid "Miscellaneous" +msgstr "Різне" + +msgid "" +"To easily use Python scripts on Unix, you need to make them executable, e.g. " +"with" +msgstr "" +"Щоб легко використовувати сценарії Python в Unix, вам потрібно зробити їх " +"виконуваними, напр. з" + +msgid "" +"and put an appropriate Shebang line at the top of the script. A good choice " +"is usually ::" +msgstr "" +"і помістіть відповідний рядок Shebang у верхній частині сценарію. Зазвичай " +"хороший вибір:" + +msgid "" +"which searches for the Python interpreter in the whole :envvar:`PATH`. " +"However, some Unices may not have the :program:`env` command, so you may " +"need to hardcode ``/usr/bin/python3`` as the interpreter path." +msgstr "" +"який шукає інтерпретатор Python у всьому :envvar:`PATH`. Однак деякі Unix " +"можуть не мати команди :program:`env`, тому вам може знадобитися жорстко " +"закодувати ``/usr/bin/python3`` як шлях інтерпретатора." + +msgid "" +"To use shell commands in your Python scripts, look at the :mod:`subprocess` " +"module." +msgstr "" +"Щоб використовувати команди оболонки у ваших сценаріях Python, подивіться на " +"модуль :mod:`subprocess`." + +msgid "Custom OpenSSL" +msgstr "Спеціальний OpenSSL" + +msgid "" +"To use your vendor's OpenSSL configuration and system trust store, locate " +"the directory with ``openssl.cnf`` file or symlink in ``/etc``. On most " +"distribution the file is either in ``/etc/ssl`` or ``/etc/pki/tls``. The " +"directory should also contain a ``cert.pem`` file and/or a ``certs`` " +"directory." +msgstr "" +"Щоб використовувати конфігурацію OpenSSL і сховище довіри системи вашого " +"постачальника, знайдіть каталог із файлом ``openssl.cnf`` або символічним " +"посиланням у ``/etc``. У більшості дистрибутивів файл знаходиться або в ``/" +"etc/ssl``, або ``/etc/pki/tls``. Каталог також має містити файл ``cert.pem`` " +"та/або каталог ``certs``." + +msgid "" +"Download, build, and install OpenSSL. Make sure you use ``install_sw`` and " +"not ``install``. The ``install_sw`` target does not override ``openssl.cnf``." +msgstr "" +"Завантажте, створіть і встановіть OpenSSL. Переконайтеся, що ви " +"використовуєте ``install_sw``, а не ``install``. Ціль ``install_sw`` не " +"перевизначає ``openssl.cnf``." + +msgid "" +"Build Python with custom OpenSSL (see the configure ``--with-openssl`` and " +"``--with-openssl-rpath`` options)" +msgstr "" + +msgid "" +"Patch releases of OpenSSL have a backwards compatible ABI. You don't need to " +"recompile Python to update OpenSSL. It's sufficient to replace the custom " +"OpenSSL installation with a newer version." +msgstr "" +"Патчі OpenSSL мають зворотну сумісність ABI. Вам не потрібно перекомпілювати " +"Python, щоб оновити OpenSSL. Досить замінити спеціальну установку OpenSSL на " +"новішу версію." diff --git a/using/windows.po b/using/windows.po new file mode 100644 index 000000000..2f8c881b9 --- /dev/null +++ b/using/windows.po @@ -0,0 +1,2256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Using Python on Windows" +msgstr "Використання Python у Windows" + +msgid "" +"This document aims to give an overview of Windows-specific behaviour you " +"should know about when using Python on Microsoft Windows." +msgstr "" +"Цей документ має на меті дати огляд специфічної поведінки Windows, про яку " +"ви повинні знати під час використання Python у Microsoft Windows." + +msgid "" +"Unlike most Unix systems and services, Windows does not include a system " +"supported installation of Python. To make Python available, the CPython team " +"has compiled Windows installers (MSI packages) with every `release `_ for many years. These installers are " +"primarily intended to add a per-user installation of Python, with the core " +"interpreter and library being used by a single user. The installer is also " +"able to install for all users of a single machine, and a separate ZIP file " +"is available for application-local distributions." +msgstr "" +"На відміну від більшості систем і служб Unix, Windows не включає системну " +"інсталяцію Python. Щоб зробити Python доступним, команда CPython збирала " +"інсталятори Windows (пакети MSI) з кожним `випуском `_ протягом багатьох років. Ці інсталятори в першу чергу " +"призначені для встановлення Python для кожного користувача, при цьому " +"основний інтерпретатор і бібліотека використовуються одним користувачем. " +"Інсталятор також може встановлюватися для всіх користувачів одного " +"комп’ютера, а окремий ZIP-файл доступний для локальних дистрибутивів " +"програми." + +msgid "" +"As specified in :pep:`11`, a Python release only supports a Windows platform " +"while Microsoft considers the platform under extended support. This means " +"that Python |version| supports Windows 8.1 and newer. If you require Windows " +"7 support, please install Python 3.8." +msgstr "" +"Як зазначено в :pep:`11`, випуск Python підтримує лише платформу Windows, " +"тоді як Microsoft розглядає цю платформу як розширену підтримку. Це означає, " +"що Python |version| підтримує Windows 8.1 і новіше. Якщо вам потрібна " +"підтримка Windows 7, установіть Python 3.8." + +msgid "" +"There are a number of different installers available for Windows, each with " +"certain benefits and downsides." +msgstr "" +"Існує кілька різних інсталяторів для Windows, кожен з яких має певні " +"переваги та недоліки." + +msgid "" +":ref:`windows-full` contains all components and is the best option for " +"developers using Python for any kind of project." +msgstr "" +":ref:`windows-full` містить усі компоненти та є найкращим варіантом для " +"розробників, які використовують Python для будь-яких проектів." + +msgid "" +":ref:`windows-store` is a simple installation of Python that is suitable for " +"running scripts and packages, and using IDLE or other development " +"environments. It requires Windows 10 and above, but can be safely installed " +"without corrupting other programs. It also provides many convenient commands " +"for launching Python and its tools." +msgstr "" + +msgid "" +":ref:`windows-nuget` are lightweight installations intended for continuous " +"integration systems. It can be used to build Python packages or run scripts, " +"but is not updateable and has no user interface tools." +msgstr "" +":ref:`windows-nuget` — це легкі установки, призначені для систем " +"безперервної інтеграції. Його можна використовувати для створення пакетів " +"Python або запуску сценаріїв, але він не оновлюється та не має інструментів " +"інтерфейсу користувача." + +msgid "" +":ref:`windows-embeddable` is a minimal package of Python suitable for " +"embedding into a larger application." +msgstr "" +":ref:`windows-embeddable` — це мінімальний пакет Python, придатний для " +"вбудовування у більшу програму." + +msgid "The full installer" +msgstr "Повний інсталятор" + +msgid "Installation steps" +msgstr "Етапи встановлення" + +msgid "" +"Four Python |version| installers are available for download - two each for " +"the 32-bit and 64-bit versions of the interpreter. The *web installer* is a " +"small initial download, and it will automatically download the required " +"components as necessary. The *offline installer* includes the components " +"necessary for a default installation and only requires an internet " +"connection for optional features. See :ref:`install-layout-option` for other " +"ways to avoid downloading during installation." +msgstr "" +"Чотири Python |version| інсталятори доступні для завантаження - по два для " +"32-розрядної та 64-розрядної версій інтерпретатора. *Веб-інсталятор* — це " +"невелике початкове завантаження, яке за потреби автоматично завантажить " +"необхідні компоненти. *Автономний інсталятор* містить компоненти, необхідні " +"для інсталяції за замовчуванням, і вимагає лише підключення до Інтернету для " +"додаткових функцій. Перегляньте :ref:`install-layout-option` для інших " +"способів уникнути завантаження під час інсталяції." + +msgid "After starting the installer, one of two options may be selected:" +msgstr "Після запуску інсталятора можна вибрати один із двох варіантів:" + +msgid "If you select \"Install Now\":" +msgstr "Якщо вибрати \"Встановити зараз\":" + +msgid "" +"You will *not* need to be an administrator (unless a system update for the C " +"Runtime Library is required or you install the :ref:`launcher` for all users)" +msgstr "" +"Вам *не* потрібно бути адміністратором (якщо не потрібне оновлення системи " +"для C Runtime Library або якщо ви не встановите :ref:`launcher` для всіх " +"користувачів)" + +msgid "Python will be installed into your user directory" +msgstr "Python буде встановлено у ваш каталог користувача" + +msgid "" +"The :ref:`launcher` will be installed according to the option at the bottom " +"of the first page" +msgstr "" +":ref:`launcher` буде встановлено відповідно до опції внизу першої сторінки" + +msgid "The standard library, test suite, launcher and pip will be installed" +msgstr "" +"Буде встановлено стандартну бібліотеку, набір тестів, засіб запуску та pip" + +msgid "If selected, the install directory will be added to your :envvar:`PATH`" +msgstr "" +"Якщо вибрано, каталог встановлення буде додано до вашого :envvar:`PATH`" + +msgid "Shortcuts will only be visible for the current user" +msgstr "Ярлики будуть видимі лише для поточного користувача" + +msgid "" +"Selecting \"Customize installation\" will allow you to select the features " +"to install, the installation location and other options or post-install " +"actions. To install debugging symbols or binaries, you will need to use this " +"option." +msgstr "" +"Вибравши \"Налаштувати інсталяцію\", ви зможете вибрати функції для " +"інсталяції, місце інсталяції та інші параметри чи дії після інсталяції. Щоб " +"установити символи налагодження або двійкові файли, вам потрібно буде " +"скористатися цією опцією." + +msgid "" +"To perform an all-users installation, you should select \"Customize " +"installation\". In this case:" +msgstr "" +"Щоб виконати інсталяцію для всіх користувачів, вам слід вибрати " +"\"Налаштувати інсталяцію\". В цьому випадку:" + +msgid "You may be required to provide administrative credentials or approval" +msgstr "Вам може знадобитися надати облікові дані адміністратора або схвалення" + +msgid "Python will be installed into the Program Files directory" +msgstr "Python буде встановлено в каталог Program Files" + +msgid "The :ref:`launcher` will be installed into the Windows directory" +msgstr ":ref:`launcher` буде встановлено в каталог Windows" + +msgid "Optional features may be selected during installation" +msgstr "Під час встановлення можна вибрати додаткові функції" + +msgid "The standard library can be pre-compiled to bytecode" +msgstr "Стандартна бібліотека може бути попередньо скомпільована в байт-код" + +msgid "" +"If selected, the install directory will be added to the system :envvar:`PATH`" +msgstr "" +"Якщо вибрано, каталог встановлення буде додано до системи :envvar:`PATH`" + +msgid "Shortcuts are available for all users" +msgstr "Ярлики доступні для всіх користувачів" + +msgid "Removing the MAX_PATH Limitation" +msgstr "Видалення обмеження MAX_PATH" + +msgid "" +"Windows historically has limited path lengths to 260 characters. This meant " +"that paths longer than this would not resolve and errors would result." +msgstr "" +"Історично у Windows довжина шляху обмежена 260 символами. Це означало, що " +"шляхи, довші за цей, не вирішуватимуться, і спричинятимуться помилки." + +msgid "" +"In the latest versions of Windows, this limitation can be expanded to " +"approximately 32,000 characters. Your administrator will need to activate " +"the \"Enable Win32 long paths\" group policy, or set ``LongPathsEnabled`` to " +"``1`` in the registry key ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" +"\\Control\\FileSystem``." +msgstr "" +"В останніх версіях Windows це обмеження можна розширити приблизно до 32 000 " +"символів. Вашому адміністратору потрібно буде активувати групову політику " +"\"Увімкнути довгі шляхи Win32\" або встановити для ``LongPathsEnabled`` " +"значення ``1`` у розділі реєстру ``HKEY_LOCAL_MACHINE\\SYSTEM" +"\\CurrentControlSet\\Control\\FileSystem``." + +msgid "" +"This allows the :func:`open` function, the :mod:`os` module and most other " +"path functionality to accept and return paths longer than 260 characters." +msgstr "" +"Це дозволяє функції :func:`open`, модулю :mod:`os` і більшості інших функцій " +"шляху приймати та повертати шляхи, довші за 260 символів." + +msgid "After changing the above option, no further configuration is required." +msgstr "Після зміни наведеного вище параметра подальша настройка не потрібна." + +msgid "Support for long paths was enabled in Python." +msgstr "У Python увімкнено підтримку довгих шляхів." + +msgid "Installing Without UI" +msgstr "Встановлення без інтерфейсу користувача" + +msgid "" +"All of the options available in the installer UI can also be specified from " +"the command line, allowing scripted installers to replicate an installation " +"on many machines without user interaction. These options may also be set " +"without suppressing the UI in order to change some of the defaults." +msgstr "" +"Усі параметри, доступні в інтерфейсі користувача інсталятора, також можна " +"вказати з командного рядка, що дозволяє сценаріям інсталяторів копіювати " +"інсталяцію на багатьох машинах без участі користувача. Ці параметри також " +"можна встановити без придушення інтерфейсу користувача, щоб змінити деякі " +"параметри за замовчуванням." + +msgid "" +"To completely hide the installer UI and install Python silently, pass the ``/" +"quiet`` option. To skip past the user interaction but still display progress " +"and errors, pass the ``/passive`` option. The ``/uninstall`` option may be " +"passed to immediately begin removing Python - no confirmation prompt will be " +"displayed." +msgstr "" +"Щоб повністю приховати інтерфейс інсталятора та безшумно встановити Python, " +"передайте параметр ``/quiet``. Щоб пропустити взаємодію з користувачем, але " +"все одно відобразити прогрес і помилки, передайте параметр ``/passive``. " +"Параметр ``/uninstall`` може бути переданий, щоб негайно розпочати видалення " +"Python - підтвердження не відображатиметься." + +msgid "" +"All other options are passed as ``name=value``, where the value is usually " +"``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " +"list of available options is shown below." +msgstr "" +"Усі інші параметри передаються як ``name=value``, де зазвичай значення " +"``0``, щоб вимкнути функцію, ``1``, щоб увімкнути функцію, або шлях. Нижче " +"наведено повний список доступних опцій." + +msgid "Name" +msgstr "Ім'я" + +msgid "Description" +msgstr "опис" + +msgid "Default" +msgstr "За замовчуванням" + +msgid "InstallAllUsers" +msgstr "InstallAllUsers" + +msgid "Perform a system-wide installation." +msgstr "Виконайте установку для всієї системи." + +msgid "0" +msgstr "0" + +msgid "TargetDir" +msgstr "TargetDir" + +msgid "The installation directory" +msgstr "Каталог встановлення" + +msgid "Selected based on InstallAllUsers" +msgstr "Вибрано на основі InstallAllUsers" + +msgid "DefaultAllUsersTargetDir" +msgstr "DefaultAllUsersTargetDir" + +msgid "The default installation directory for all-user installs" +msgstr "Стандартний каталог встановлення для всіх користувачів" + +msgid "" +":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" +"\\ Python X.Y`" +msgstr "" +":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" +"\\ Python X.Y`" + +msgid "DefaultJustForMeTargetDir" +msgstr "DefaultJustForMeTargetDir" + +msgid "The default install directory for just-for-me installs" +msgstr "Каталог встановлення за замовчуванням для встановлення лише для мене" + +msgid "" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` or :file:`" +"%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:`" +"%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" +msgstr "" + +msgid "DefaultCustomTargetDir" +msgstr "DefaultCustomTargetDir" + +msgid "The default custom install directory displayed in the UI" +msgstr "" +"Каталог спеціального встановлення за замовчуванням, який відображається в " +"інтерфейсі користувача" + +msgid "(empty)" +msgstr "(порожній)" + +msgid "AssociateFiles" +msgstr "AssociateFiles" + +msgid "Create file associations if the launcher is also installed." +msgstr "Створіть асоціації файлів, якщо також встановлено програму запуску." + +msgid "1" +msgstr "1" + +msgid "CompileAll" +msgstr "CompileAll" + +msgid "Compile all ``.py`` files to ``.pyc``." +msgstr "Зкомпілюйте всі файли ``.py`` до ``.pyc``." + +msgid "PrependPath" +msgstr "PrependPath" + +msgid "" +"Prepend install and Scripts directories to :envvar:`PATH` and add ``.PY`` " +"to :envvar:`PATHEXT`" +msgstr "" + +msgid "AppendPath" +msgstr "" + +msgid "" +"Append install and Scripts directories to :envvar:`PATH` and add ``.PY`` " +"to :envvar:`PATHEXT`" +msgstr "" + +msgid "Shortcuts" +msgstr "Ярлики" + +msgid "" +"Create shortcuts for the interpreter, documentation and IDLE if installed." +msgstr "" +"Створіть ярлики для інтерпретатора, документації та IDLE, якщо встановлено." + +msgid "Include_doc" +msgstr "Include_doc" + +msgid "Install Python manual" +msgstr "Інсталюйте посібник з Python" + +msgid "Include_debug" +msgstr "Include_debug" + +msgid "Install debug binaries" +msgstr "Встановити двійкові файли налагодження" + +msgid "Include_dev" +msgstr "Include_dev" + +msgid "" +"Install developer headers and libraries. Omitting this may lead to an " +"unusable installation." +msgstr "" + +msgid "Include_exe" +msgstr "Включити_exe" + +msgid "" +"Install :file:`python.exe` and related files. Omitting this may lead to an " +"unusable installation." +msgstr "" + +msgid "Include_launcher" +msgstr "Include_launcher" + +msgid "Install :ref:`launcher`." +msgstr "Встановіть :ref:`launcher`." + +msgid "InstallLauncherAllUsers" +msgstr "InstallLauncherAllUsers" + +msgid "" +"Installs the launcher for all users. Also requires ``Include_launcher`` to " +"be set to 1" +msgstr "" + +msgid "Include_lib" +msgstr "Включити_бібліотеку" + +msgid "" +"Install standard library and extension modules. Omitting this may lead to an " +"unusable installation." +msgstr "" + +msgid "Include_pip" +msgstr "Включити_піп" + +msgid "Install bundled pip and setuptools" +msgstr "Встановіть у комплекті pip і setuptools" + +msgid "Include_symbols" +msgstr "Включити_символи" + +msgid "Install debugging symbols (``*.pdb``)" +msgstr "" + +msgid "Include_tcltk" +msgstr "Включити_tcltk" + +msgid "Install Tcl/Tk support and IDLE" +msgstr "Встановіть підтримку Tcl/Tk і IDLE" + +msgid "Include_test" +msgstr "Включити_тест" + +msgid "Install standard library test suite" +msgstr "Встановіть стандартний набір тестів бібліотеки" + +msgid "Include_tools" +msgstr "Include_tools" + +msgid "Install utility scripts" +msgstr "Встановити службові скрипти" + +msgid "LauncherOnly" +msgstr "LauncherOnly" + +msgid "Only installs the launcher. This will override most other options." +msgstr "Встановлює лише лаунчер. Це замінить більшість інших параметрів." + +msgid "SimpleInstall" +msgstr "SimpleInstall" + +msgid "Disable most install UI" +msgstr "Вимкнути більшість інтерфейсу користувача для встановлення" + +msgid "SimpleInstallDescription" +msgstr "SimpleInstallDescription" + +msgid "A custom message to display when the simplified install UI is used." +msgstr "" +"Спеціальне повідомлення, яке відображатиметься під час використання " +"спрощеного інтерфейсу користувача для встановлення." + +msgid "" +"For example, to silently install a default, system-wide Python installation, " +"you could use the following command (from an elevated command prompt)::" +msgstr "" +"Наприклад, щоб безшумно встановити загальносистемну інсталяцію Python за " +"замовчуванням, можна використати таку команду (з командного рядка з " +"адміністраторами):" + +msgid "" +"To allow users to easily install a personal copy of Python without the test " +"suite, you could provide a shortcut with the following command. This will " +"display a simplified initial page and disallow customization::" +msgstr "" +"Щоб дозволити користувачам легко інсталювати особисту копію Python без " +"набору тестів, ви можете створити ярлик за допомогою такої команди. Це " +"відобразить спрощену початкову сторінку та заборонить налаштування::" + +msgid "" +"(Note that omitting the launcher also omits file associations, and is only " +"recommended for per-user installs when there is also a system-wide " +"installation that included the launcher.)" +msgstr "" +"(Зауважте, що відсутність програми запуску також пропускає асоціації файлів " +"і рекомендується лише для інсталяції для кожного користувача, якщо також є " +"загальносистемна інсталяція, яка включає програму запуску.)" + +msgid "" +"The options listed above can also be provided in a file named ``unattend." +"xml`` alongside the executable. This file specifies a list of options and " +"values. When a value is provided as an attribute, it will be converted to a " +"number if possible. Values provided as element text are always left as " +"strings. This example file sets the same options as the previous example:" +msgstr "" +"Параметри, перелічені вище, також можна надати у файлі з назвою ``unattend." +"xml`` разом із виконуваним файлом. Цей файл визначає список параметрів і " +"значень. Коли значення надається як атрибут, воно буде перетворено на число, " +"якщо це можливо. Значення, надані як текст елемента, завжди залишаються як " +"рядки. Цей приклад файлу встановлює ті самі параметри, що й попередній " +"приклад:" + +msgid "Installing Without Downloading" +msgstr "Встановлення без завантаження" + +msgid "" +"As some features of Python are not included in the initial installer " +"download, selecting those features may require an internet connection. To " +"avoid this need, all possible components may be downloaded on-demand to " +"create a complete *layout* that will no longer require an internet " +"connection regardless of the selected features. Note that this download may " +"be bigger than required, but where a large number of installations are going " +"to be performed it is very useful to have a locally cached copy." +msgstr "" +"Оскільки деякі функції Python не входять до початкового завантаження " +"інсталятора, для вибору цих функцій може знадобитися підключення до " +"Інтернету. Щоб уникнути цієї необхідності, усі можливі компоненти можна " +"завантажити на вимогу, щоб створити повний *макет*, який більше не " +"потребуватиме підключення до Інтернету, незалежно від вибраних функцій. " +"Зауважте, що це завантаження може бути більшим, ніж потрібно, але якщо " +"планується виконати велику кількість інсталяцій, дуже корисно мати локально " +"кешовану копію." + +msgid "" +"Execute the following command from Command Prompt to download all possible " +"required files. Remember to substitute ``python-3.9.0.exe`` for the actual " +"name of your installer, and to create layouts in their own directories to " +"avoid collisions between files with the same name." +msgstr "" +"Виконайте наступну команду з командного рядка, щоб завантажити всі необхідні " +"файли. Не забудьте замінити ``python-3.9.0.exe`` замість справжньої назви " +"вашого інсталятора та створити макети у власних каталогах, щоб уникнути " +"зіткнень між файлами з однаковою назвою." + +msgid "" +"You may also specify the ``/quiet`` option to hide the progress display." +msgstr "" +"Ви також можете вказати параметр ``/quiet``, щоб приховати відображення " +"прогресу." + +msgid "Modifying an install" +msgstr "Зміна інсталяції" + +msgid "" +"Once Python has been installed, you can add or remove features through the " +"Programs and Features tool that is part of Windows. Select the Python entry " +"and choose \"Uninstall/Change\" to open the installer in maintenance mode." +msgstr "" +"Після встановлення Python ви можете додавати або видаляти функції за " +"допомогою інструмента \"Програми та засоби\", який є частиною Windows. " +"Виберіть запис Python і виберіть \"Видалити/Змінити\", щоб відкрити програму " +"встановлення в режимі обслуговування." + +msgid "" +"\"Modify\" allows you to add or remove features by modifying the checkboxes " +"- unchanged checkboxes will not install or remove anything. Some options " +"cannot be changed in this mode, such as the install directory; to modify " +"these, you will need to remove and then reinstall Python completely." +msgstr "" +"\"Змінити\" дозволяє додавати або видаляти функції, змінюючи прапорці - " +"незмінені прапорці не встановлюють або видаляють нічого. Деякі параметри не " +"можна змінити в цьому режимі, наприклад каталог встановлення; щоб змінити " +"їх, вам потрібно буде видалити, а потім повністю перевстановити Python." + +msgid "" +"\"Repair\" will verify all the files that should be installed using the " +"current settings and replace any that have been removed or modified." +msgstr "" +"\"Відновлення\" перевірить усі файли, які слід інсталювати з використанням " +"поточних налаштувань, і замінить усі видалені чи змінені." + +msgid "" +"\"Uninstall\" will remove Python entirely, with the exception of the :ref:" +"`launcher`, which has its own entry in Programs and Features." +msgstr "" +"\"Видалити\" повністю видалить Python, за винятком :ref:`launcher`, який має " +"власний запис у програмах і функціях." + +msgid "The Microsoft Store package" +msgstr "Пакет Microsoft Store" + +msgid "" +"The Microsoft Store package is an easily installable Python interpreter that " +"is intended mainly for interactive use, for example, by students." +msgstr "" +"Пакет Microsoft Store — це інтерпретатор Python, який легко встановлюється і " +"призначений переважно для інтерактивного використання, наприклад, студентами." + +msgid "" +"To install the package, ensure you have the latest Windows 10 updates and " +"search the Microsoft Store app for \"Python |version|\". Ensure that the app " +"you select is published by the Python Software Foundation, and install it." +msgstr "" +"Щоб інсталювати пакет, переконайтеся, що у вас є останні оновлення Windows " +"10, і знайдіть у програмі Microsoft Store \"Python |version|\". " +"Переконайтеся, що вибрану програму опубліковано Python Software Foundation, " +"і встановіть її." + +msgid "" +"Python will always be available for free on the Microsoft Store. If you are " +"asked to pay for it, you have not selected the correct package." +msgstr "" +"Python завжди буде доступний безкоштовно в Microsoft Store. Якщо вас " +"попросять заплатити за це, ви не вибрали правильний пакет." + +msgid "" +"After installation, Python may be launched by finding it in Start. " +"Alternatively, it will be available from any Command Prompt or PowerShell " +"session by typing ``python``. Further, pip and IDLE may be used by typing " +"``pip`` or ``idle``. IDLE can also be found in Start." +msgstr "" +"Після інсталяції Python можна запустити, знайшовши його в меню Пуск. Крім " +"того, він буде доступний з будь-якого командного рядка або сеансу " +"PowerShell, ввівши ``python``. Крім того, pip і IDLE можна використовувати, " +"ввівши ``pip`` або ``idle``. IDLE також можна знайти в Пуск." + +msgid "" +"All three commands are also available with version number suffixes, for " +"example, as ``python3.exe`` and ``python3.x.exe`` as well as ``python.exe`` " +"(where ``3.x`` is the specific version you want to launch, such as |" +"version|). Open \"Manage App Execution Aliases\" through Start to select " +"which version of Python is associated with each command. It is recommended " +"to make sure that ``pip`` and ``idle`` are consistent with whichever version " +"of ``python`` is selected." +msgstr "" +"Усі три команди також доступні з суфіксами номерів версій, наприклад, як " +"``python3.exe`` і ``python3.x.exe``, а також ``python.exe`` (де ``'3.x'`` — " +"це конкретна версія, яку ви хочете запустити, наприклад |version|). " +"Відкрийте \"Керування псевдонімами виконання програми\" через \"Пуск\", щоб " +"вибрати, яку версію Python пов’язано з кожною командою. Рекомендується " +"переконатися, що ``pip`` і ``idle`` узгоджені з будь-якою версією " +"``python``, яку вибрано." + +msgid "" +"Virtual environments can be created with ``python -m venv`` and activated " +"and used as normal." +msgstr "" +"Віртуальні середовища можна створити за допомогою ``python -m venv``, " +"активувати та використовувати як зазвичай." + +msgid "" +"If you have installed another version of Python and added it to your " +"``PATH`` variable, it will be available as ``python.exe`` rather than the " +"one from the Microsoft Store. To access the new installation, use ``python3." +"exe`` or ``python3.x.exe``." +msgstr "" +"Якщо ви встановили іншу версію Python і додали її до своєї змінної ``PATH``, " +"вона буде доступна як ``python.exe``, а не як файл із Microsoft Store. Щоб " +"отримати доступ до нової інсталяції, використовуйте ``python3.exe`` або " +"``python3.x.exe``." + +msgid "" +"The ``py.exe`` launcher will detect this Python installation, but will " +"prefer installations from the traditional installer." +msgstr "" +"Засіб запуску ``py.exe`` виявить цю інсталяцію Python, але віддасть перевагу " +"інсталяції з традиційного інсталятора." + +msgid "" +"To remove Python, open Settings and use Apps and Features, or else find " +"Python in Start and right-click to select Uninstall. Uninstalling will " +"remove all packages you installed directly into this Python installation, " +"but will not remove any virtual environments" +msgstr "" +"Щоб видалити Python, відкрийте \"Параметри\" та скористайтеся \"Програми та " +"функції\" або знайдіть Python у \"Пуску\" та клацніть правою кнопкою миші, " +"щоб вибрати \"Видалити\". Видалення видалить усі пакети, які ви встановили " +"безпосередньо в цю інсталяцію Python, але не видалить віртуальні середовища" + +msgid "Known issues" +msgstr "" + +msgid "Redirection of local data, registry, and temporary paths" +msgstr "" + +msgid "" +"Because of restrictions on Microsoft Store apps, Python scripts may not have " +"full write access to shared locations such as :envvar:`TEMP` and the " +"registry. Instead, it will write to a private copy. If your scripts must " +"modify the shared locations, you will need to install the full installer." +msgstr "" + +msgid "" +"At runtime, Python will use a private copy of well-known Windows folders and " +"the registry. For example, if the environment variable :envvar:`%APPDATA%` " +"is :file:`c:\\\\Users\\\\\\\\AppData\\\\`, then when writing to :file:" +"`C:\\\\Users\\\\\\\\AppData\\\\Local` will write to :file:`C:\\\\Users" +"\\\\\\\\AppData\\\\Local\\\\Packages\\\\PythonSoftwareFoundation." +"Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\\\`." +msgstr "" + +msgid "" +"When reading files, Windows will return the file from the private folder, or " +"if that does not exist, the real Windows directory. For example reading :" +"file:`C:\\\\Windows\\\\System32` returns the contents of :file:`C:\\\\Windows" +"\\\\System32` plus the contents of :file:`C:\\\\Program Files\\\\WindowsApps" +"\\\\package_name\\\\VFS\\\\SystemX86`." +msgstr "" + +msgid "" +"You can find the real path of any existing file using :func:`os.path." +"realpath`:" +msgstr "" + +msgid "When writing to the Windows Registry, the following behaviors exist:" +msgstr "" + +msgid "" +"Reading from ``HKLM\\\\Software`` is allowed and results are merged with " +"the :file:`registry.dat` file in the package." +msgstr "" + +msgid "" +"Writing to ``HKLM\\\\Software`` is not allowed if the corresponding key/" +"value exists, i.e. modifying existing keys." +msgstr "" + +msgid "" +"Writing to ``HKLM\\\\Software`` is allowed as long as a corresponding key/" +"value does not exist in the package and the user has the correct access " +"permissions." +msgstr "" + +msgid "" +"For more detail on the technical basis for these limitations, please consult " +"Microsoft's documentation on packaged full-trust apps, currently available " +"at `docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-behind-the-" +"scenes `_" +msgstr "" +"Щоб отримати докладніші відомості про технічну основу цих обмежень, " +"зверніться до документації Microsoft щодо пакетних програм із повною " +"довірою, яка наразі доступна за адресою `docs.microsoft.com/en-us/windows/" +"msix/desktop/desktop-to-uwp-behind- the-scenes `_" + +msgid "The nuget.org packages" +msgstr "Пакунки nuget.org" + +msgid "" +"The nuget.org package is a reduced size Python environment intended for use " +"on continuous integration and build systems that do not have a system-wide " +"install of Python. While nuget is \"the package manager for .NET\", it also " +"works perfectly fine for packages containing build-time tools." +msgstr "" +"Пакет nuget.org — це середовище Python зменшеного розміру, призначене для " +"використання в системах безперервної інтеграції та побудови, які не мають " +"загальносистемної інсталяції Python. Хоча nuget є \"менеджером пакунків для ." +"NET\", він також чудово працює для пакунків, що містять інструменти для " +"збирання." + +msgid "" +"Visit `nuget.org `_ for the most up-to-date " +"information on using nuget. What follows is a summary that is sufficient for " +"Python developers." +msgstr "" +"Відвідайте `nuget.org `_, щоб отримати найновішу " +"інформацію про використання nuget. Далі наведено підсумок, достатній для " +"розробників Python." + +msgid "" +"The ``nuget.exe`` command line tool may be downloaded directly from " +"``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With " +"the tool, the latest version of Python for 64-bit or 32-bit machines is " +"installed using::" +msgstr "" +"Інструмент командного рядка ``nuget.exe`` можна завантажити безпосередньо з " +"``https://aka.ms/nugetclidl``, наприклад, за допомогою curl або PowerShell. " +"За допомогою інструменту встановлюється остання версія Python для 64-" +"розрядних або 32-розрядних машин за допомогою:" + +msgid "" +"To select a particular version, add a ``-Version 3.x.y``. The output " +"directory may be changed from ``.``, and the package will be installed into " +"a subdirectory. By default, the subdirectory is named the same as the " +"package, and without the ``-ExcludeVersion`` option this name will include " +"the specific version installed. Inside the subdirectory is a ``tools`` " +"directory that contains the Python installation:" +msgstr "" +"Щоб вибрати певну версію, додайте ``-Version 3.x.y``. Вихідний каталог можна " +"змінити з ``.``, і пакет буде встановлено в підкаталог. За замовчуванням " +"підкаталог називається так само, як і пакунок, і без опції ``-" +"ExcludeVersion`` ця назва включатиме конкретну встановлену версію. Усередині " +"підкаталогу є каталог ``tools``, який містить установку Python:" + +msgid "" +"In general, nuget packages are not upgradeable, and newer versions should be " +"installed side-by-side and referenced using the full path. Alternatively, " +"delete the package directory manually and install it again. Many CI systems " +"will do this automatically if they do not preserve files between builds." +msgstr "" +"Загалом пакети nuget не можна оновлювати, а новіші версії слід встановлювати " +"поруч із повним шляхом. Крім того, видаліть каталог пакетів вручну та " +"інсталюйте його знову. Багато систем CI зроблять це автоматично, якщо вони " +"не зберігають файли між збірками." + +msgid "" +"Alongside the ``tools`` directory is a ``build\\native`` directory. This " +"contains a MSBuild properties file ``python.props`` that can be used in a C+" +"+ project to reference the Python install. Including the settings will " +"automatically use the headers and import libraries in your build." +msgstr "" +"Поряд з каталогом ``tools`` є каталог ``build\\native``. Він містить файл " +"властивостей MSBuild ``python.props``, який можна використовувати в проекті C" +"++ для посилання на встановлення Python. Включення налаштувань автоматично " +"використовуватиме заголовки та бібліотеки імпорту у вашій збірці." + +msgid "" +"The package information pages on nuget.org are `www.nuget.org/packages/" +"python `_ for the 64-bit version and " +"`www.nuget.org/packages/pythonx86 `_ for the 32-bit version." +msgstr "" +"Сторінки інформації про пакети на nuget.org: `www.nuget.org/packages/python " +"`_ для 64-розрядної версії та `www." +"nuget.org/packages/pythonx86 `_ " +"для 32-розрядної версії." + +msgid "The embeddable package" +msgstr "Вбудовуваний пакет" + +msgid "" +"The embedded distribution is a ZIP file containing a minimal Python " +"environment. It is intended for acting as part of another application, " +"rather than being directly accessed by end-users." +msgstr "" +"Вбудований дистрибутив — це ZIP-файл, що містить мінімальне середовище " +"Python. Він призначений для роботи як частини іншої програми, а не для " +"прямого доступу кінцевих користувачів." + +msgid "" +"When extracted, the embedded distribution is (almost) fully isolated from " +"the user's system, including environment variables, system registry " +"settings, and installed packages. The standard library is included as pre-" +"compiled and optimized ``.pyc`` files in a ZIP, and ``python3.dll``, " +"``python37.dll``, ``python.exe`` and ``pythonw.exe`` are all provided. Tcl/" +"tk (including all dependants, such as Idle), pip and the Python " +"documentation are not included." +msgstr "" +"Після розпакування вбудований дистрибутив (майже) повністю ізольований від " +"системи користувача, включаючи змінні середовища, налаштування системного " +"реєстру та встановлені пакети. Стандартна бібліотека включена у вигляді " +"попередньо скомпільованих та оптимізованих файлів ``.pyc`` у ZIP, а також " +"``python3.dll``, ``python37.dll``, ``python.exe`` і ``pythonw`` Усі файли ." +"exe`` надаються. Tcl/tk (включно з усіма залежними, такими як Idle), pip і " +"документація Python не включені." + +msgid "" +"The embedded distribution does not include the `Microsoft C Runtime `_ and it is the responsibility of the " +"application installer to provide this. The runtime may have already been " +"installed on a user's system previously or automatically via Windows Update, " +"and can be detected by finding ``ucrtbase.dll`` in the system directory." +msgstr "" +"Вбудований дистрибутив не включає `Microsoft C Runtime `_, і інсталятор програми несе " +"відповідальність за його надання. Середовище виконання могло бути вже " +"встановлено в системі користувача раніше або автоматично через Windows " +"Update, і його можна виявити, знайшовши ``ucrtbase.dll`` у системному " +"каталозі." + +msgid "" +"Third-party packages should be installed by the application installer " +"alongside the embedded distribution. Using pip to manage dependencies as for " +"a regular Python installation is not supported with this distribution, " +"though with some care it may be possible to include and use pip for " +"automatic updates. In general, third-party packages should be treated as " +"part of the application (\"vendoring\") so that the developer can ensure " +"compatibility with newer versions before providing updates to users." +msgstr "" +"Пакунки сторонніх розробників повинні бути встановлені інсталятором програми " +"разом із вбудованим дистрибутивом. Використання pip для керування " +"залежностями, як для звичайної інсталяції Python, не підтримується цим " +"дистрибутивом, хоча з певною обережністю можна включити та використовувати " +"pip для автоматичних оновлень. Загалом пакети сторонніх розробників слід " +"розглядати як частину програми (\"постачальник\"), щоб розробник міг " +"забезпечити сумісність із новими версіями, перш ніж надавати оновлення " +"користувачам." + +msgid "" +"The two recommended use cases for this distribution are described below." +msgstr "" +"Нижче наведено два рекомендованих випадки використання цього дистрибутива." + +msgid "Python Application" +msgstr "Програма Python" + +msgid "" +"An application written in Python does not necessarily require users to be " +"aware of that fact. The embedded distribution may be used in this case to " +"include a private version of Python in an install package. Depending on how " +"transparent it should be (or conversely, how professional it should appear), " +"there are two options." +msgstr "" +"Програма, написана на Python, не обов’язково вимагає від користувачів " +"усвідомлення цього факту. Вбудований дистрибутив можна використовувати в " +"цьому випадку, щоб включити приватну версію Python до інсталяційного пакета. " +"Залежно від того, наскільки це має бути прозоро (або, навпаки, наскільки " +"професійно це має виглядати), є два варіанти." + +msgid "" +"Using a specialized executable as a launcher requires some coding, but " +"provides the most transparent experience for users. With a customized " +"launcher, there are no obvious indications that the program is running on " +"Python: icons can be customized, company and version information can be " +"specified, and file associations behave properly. In most cases, a custom " +"launcher should simply be able to call ``Py_Main`` with a hard-coded command " +"line." +msgstr "" +"Використання спеціалізованого виконуваного файлу як засобу запуску вимагає " +"певного кодування, але забезпечує максимально прозорий досвід для " +"користувачів. За допомогою налаштованого засобу запуску немає очевидних " +"ознак того, що програма працює на Python: значки можна налаштувати, " +"інформацію про компанію та версію можна вказати, а асоціації файлів " +"поводяться належним чином. У більшості випадків спеціальна програма запуску " +"повинна просто мати можливість викликати ``Py_Main`` за допомогою жорстко " +"закодованого командного рядка." + +msgid "" +"The simpler approach is to provide a batch file or generated shortcut that " +"directly calls the ``python.exe`` or ``pythonw.exe`` with the required " +"command-line arguments. In this case, the application will appear to be " +"Python and not its actual name, and users may have trouble distinguishing it " +"from other running Python processes or file associations." +msgstr "" +"Простіший підхід полягає в тому, щоб надати пакетний файл або згенерований " +"ярлик, який безпосередньо викликає ``python.exe`` або ``pythonw.exe`` з " +"потрібними аргументами командного рядка. У цьому випадку програма " +"виглядатиме як Python, а не її справжня назва, і користувачі можуть мати " +"проблеми з відрізненням її від інших запущених процесів Python або асоціацій " +"файлів." + +msgid "" +"With the latter approach, packages should be installed as directories " +"alongside the Python executable to ensure they are available on the path. " +"With the specialized launcher, packages can be located in other locations as " +"there is an opportunity to specify the search path before launching the " +"application." +msgstr "" +"За останнього підходу пакунки мають бути встановлені як каталоги поряд із " +"виконуваним файлом Python, щоб забезпечити їх доступність на шляху. За " +"допомогою спеціалізованої програми запуску пакети можуть бути розташовані в " +"інших місцях, оскільки є можливість вказати шлях пошуку перед запуском " +"програми." + +msgid "Embedding Python" +msgstr "Вбудовування Python" + +msgid "" +"Applications written in native code often require some form of scripting " +"language, and the embedded Python distribution can be used for this purpose. " +"In general, the majority of the application is in native code, and some part " +"will either invoke ``python.exe`` or directly use ``python3.dll``. For " +"either case, extracting the embedded distribution to a subdirectory of the " +"application installation is sufficient to provide a loadable Python " +"interpreter." +msgstr "" +"Програми, написані у рідному коді, часто вимагають певної форми мови " +"сценаріїв, і для цієї мети можна використовувати вбудований дистрибутив " +"Python. Загалом, більшість програми створено у власному коді, а деяка " +"частина або викликає ``python.exe``, або безпосередньо використовує " +"``python3.dll``. У будь-якому випадку вилучення вбудованого дистрибутива до " +"підкаталогу інсталяції програми достатньо для забезпечення завантажуваного " +"інтерпретатора Python." + +msgid "" +"As with the application use, packages can be installed to any location as " +"there is an opportunity to specify search paths before initializing the " +"interpreter. Otherwise, there is no fundamental differences between using " +"the embedded distribution and a regular installation." +msgstr "" +"Як і у випадку з використанням програми, пакети можна встановити в будь-яке " +"місце, оскільки є можливість вказати шляхи пошуку перед ініціалізацією " +"інтерпретатора. В іншому принципових відмінностей між використанням " +"вбудованого дистрибутива і звичайною установкою немає." + +msgid "Alternative bundles" +msgstr "Альтернативні пучки" + +msgid "" +"Besides the standard CPython distribution, there are modified packages " +"including additional functionality. The following is a list of popular " +"versions and their key features:" +msgstr "" +"Окрім стандартного дистрибутива CPython, існують модифіковані пакети, що " +"включають додаткові функції. Нижче наведено список популярних версій та їхні " +"основні функції:" + +msgid "`ActivePython `_" +msgstr "`ActivePython `_" + +msgid "Installer with multi-platform compatibility, documentation, PyWin32" +msgstr "Інсталятор з мультиплатформенною сумісністю, документація, PyWin32" + +msgid "`Anaconda `_" +msgstr "`Анаконда `_" + +msgid "" +"Popular scientific modules (such as numpy, scipy and pandas) and the " +"``conda`` package manager." +msgstr "" +"Науково-популярні модулі (такі як numpy, scipy і pandas) і менеджер пакетів " +"``conda``." + +msgid "`Enthought Deployment Manager `_" +msgstr "" + +msgid "\"The Next Generation Python Environment and Package Manager\"." +msgstr "" + +msgid "" +"Previously Enthought provided Canopy, but it `reached end of life in 2016 " +"`_." +msgstr "" + +msgid "`WinPython `_" +msgstr "`WinPython `_" + +msgid "" +"Windows-specific distribution with prebuilt scientific packages and tools " +"for building packages." +msgstr "" +"Спеціальний дистрибутив для Windows із попередньо зібраними науковими " +"пакетами та інструментами для створення пакетів." + +msgid "" +"Note that these packages may not include the latest versions of Python or " +"other libraries, and are not maintained or supported by the core Python team." +msgstr "" +"Зауважте, що ці пакети можуть не включати останні версії Python або інші " +"бібліотеки, а також не обслуговуються та не підтримуються основною командою " +"Python." + +msgid "Configuring Python" +msgstr "Налаштування Python" + +msgid "" +"To run Python conveniently from a command prompt, you might consider " +"changing some default environment variables in Windows. While the installer " +"provides an option to configure the PATH and PATHEXT variables for you, this " +"is only reliable for a single, system-wide installation. If you regularly " +"use multiple versions of Python, consider using the :ref:`launcher`." +msgstr "" +"Щоб зручно запускати Python із командного рядка, ви можете змінити деякі " +"змінні середовища за замовчуванням у Windows. Хоча інсталятор надає " +"можливість налаштувати змінні PATH і PATHEXT для вас, це надійно лише для " +"однієї інсталяції в системі. Якщо ви регулярно використовуєте кілька версій " +"Python, подумайте про використання :ref:`launcher`." + +msgid "Excursus: Setting environment variables" +msgstr "Екскурс: Встановлення змінних середовища" + +msgid "" +"Windows allows environment variables to be configured permanently at both " +"the User level and the System level, or temporarily in a command prompt." +msgstr "" +"Windows дозволяє постійно налаштовувати змінні середовища як на рівні " +"користувача, так і на рівні системи або тимчасово в командному рядку." + +msgid "" +"To temporarily set environment variables, open Command Prompt and use the :" +"command:`set` command:" +msgstr "" +"Щоб тимчасово встановити змінні середовища, відкрийте командний рядок і " +"скористайтеся командою :command:`set`:" + +msgid "" +"These changes will apply to any further commands executed in that console, " +"and will be inherited by any applications started from the console." +msgstr "" +"Ці зміни застосовуватимуться до будь-яких подальших команд, що виконуються " +"на цій консолі, і будуть успадковані будь-якими програмами, запущеними з " +"консолі." + +msgid "" +"Including the variable name within percent signs will expand to the existing " +"value, allowing you to add your new value at either the start or the end. " +"Modifying :envvar:`PATH` by adding the directory containing :program:`python." +"exe` to the start is a common way to ensure the correct version of Python is " +"launched." +msgstr "" +"Включення назви змінної до знаків відсотка розширить наявне значення, що " +"дозволить вам додати нове значення на початку або в кінці. Змінення :envvar:" +"`PATH` шляхом додавання каталогу, що містить :program:`python.exe` на " +"початок, є поширеним способом забезпечення запуску правильної версії Python." + +msgid "" +"To permanently modify the default environment variables, click Start and " +"search for 'edit environment variables', or open System properties, :" +"guilabel:`Advanced system settings` and click the :guilabel:`Environment " +"Variables` button. In this dialog, you can add or modify User and System " +"variables. To change System variables, you need non-restricted access to " +"your machine (i.e. Administrator rights)." +msgstr "" +"Щоб остаточно змінити змінні середовища за замовчуванням, клацніть \"Пуск\" " +"і знайдіть \"редагувати змінні середовища\" або відкрийте властивості " +"системи, :guilabel:`Advanced system settings` і натисніть кнопку :guilabel:" +"`Environment Variables`. У цьому діалоговому вікні ви можете додавати або " +"змінювати змінні користувача та системи. Щоб змінити системні змінні, вам " +"потрібен необмежений доступ до вашої машини (тобто права адміністратора)." + +msgid "" +"Windows will concatenate User variables *after* System variables, which may " +"cause unexpected results when modifying :envvar:`PATH`." +msgstr "" +"Windows об’єднає змінні користувача *після* системних змінних, що може " +"призвести до неочікуваних результатів під час зміни :envvar:`PATH`." + +msgid "" +"The :envvar:`PYTHONPATH` variable is used by all versions of Python, so you " +"should not permanently configure it unless the listed paths only include " +"code that is compatible with all of your installed Python versions." +msgstr "" +"Змінна :envvar:`PYTHONPATH` використовується всіма версіями Python, тому вам " +"не слід постійно налаштовувати її, якщо перелічені шляхи не містять лише " +"коду, сумісного з усіма встановленими версіями Python." + +msgid "" +"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-" +"variables" +msgstr "" +"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-" +"variables" + +msgid "Overview of environment variables on Windows" +msgstr "Огляд змінних середовища в Windows" + +msgid "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/set_1" +msgstr "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/set_1" + +msgid "The ``set`` command, for temporarily modifying environment variables" +msgstr "Команда ``set`` для тимчасової зміни змінних середовища" + +msgid "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/setx" +msgstr "" +"https://docs.microsoft.com/en-us/windows-server/administration/windows-" +"commands/setx" + +msgid "The ``setx`` command, for permanently modifying environment variables" +msgstr "Команда ``setx`` для постійної зміни змінних середовища" + +msgid "Finding the Python executable" +msgstr "Пошук виконуваного файлу Python" + +msgid "" +"Besides using the automatically created start menu entry for the Python " +"interpreter, you might want to start Python in the command prompt. The " +"installer has an option to set that up for you." +msgstr "" +"Окрім використання автоматично створеного пункту меню \"Пуск\" для " +"інтерпретатора Python, ви можете запустити Python у командному рядку. " +"Інсталятор має можливість налаштувати це для вас." + +msgid "" +"On the first page of the installer, an option labelled \"Add Python to PATH" +"\" may be selected to have the installer add the install location into the :" +"envvar:`PATH`. The location of the :file:`Scripts\\\\` folder is also " +"added. This allows you to type :command:`python` to run the interpreter, " +"and :command:`pip` for the package installer. Thus, you can also execute " +"your scripts with command line options, see :ref:`using-on-cmdline` " +"documentation." +msgstr "" +"На першій сторінці інсталятора можна вибрати опцію \"Додати Python до ШЛЯХУ" +"\", щоб інсталятор додав місце встановлення до :envvar:`PATH`. Також додано " +"розташування папки :file:`Scripts\\\\`. Це дозволяє ввести :command:`python` " +"для запуску інтерпретатора та :command:`pip` для інсталятора пакунків. Таким " +"чином, ви також можете виконувати ваші сценарії з параметрами командного " +"рядка, дивіться документацію :ref:`using-on-cmdline`." + +msgid "" +"If you don't enable this option at install time, you can always re-run the " +"installer, select Modify, and enable it. Alternatively, you can manually " +"modify the :envvar:`PATH` using the directions in :ref:`setting-envvars`. " +"You need to set your :envvar:`PATH` environment variable to include the " +"directory of your Python installation, delimited by a semicolon from other " +"entries. An example variable could look like this (assuming the first two " +"entries already existed)::" +msgstr "" +"Якщо ви не ввімкнете цей параметр під час інсталяції, ви завжди можете " +"повторно запустити інсталятор, вибрати \"Змінити\" та ввімкнути його. Крім " +"того, ви можете вручну змінити :envvar:`PATH`, використовуючи вказівки в :" +"ref:`setting-envvars`. Вам потрібно налаштувати змінну середовища :envvar:" +"`PATH`, щоб включити каталог вашої інсталяції Python, відокремлений крапкою " +"з комою від інших записів. Приклад змінної може виглядати так (за умови, що " +"перші два записи вже існують):" + +msgid "UTF-8 mode" +msgstr "Режим UTF-8" + +msgid "" +"Windows still uses legacy encodings for the system encoding (the ANSI Code " +"Page). Python uses it for the default encoding of text files (e.g. :func:" +"`locale.getencoding`)." +msgstr "" + +msgid "" +"This may cause issues because UTF-8 is widely used on the internet and most " +"Unix systems, including WSL (Windows Subsystem for Linux)." +msgstr "" +"Це може спричинити проблеми, оскільки UTF-8 широко використовується в " +"Інтернеті та більшості систем Unix, включаючи WSL (підсистема Windows для " +"Linux)." + +msgid "" +"You can use the :ref:`Python UTF-8 Mode ` to change the default " +"text encoding to UTF-8. You can enable the :ref:`Python UTF-8 Mode ` via the ``-X utf8`` command line option, or the ``PYTHONUTF8=1`` " +"environment variable. See :envvar:`PYTHONUTF8` for enabling UTF-8 mode, " +"and :ref:`setting-envvars` for how to modify environment variables." +msgstr "" +"Ви можете використати режим :ref:`Python UTF-8 Mode `, щоб " +"змінити стандартне кодування тексту на UTF-8. Ви можете ввімкнути :ref:" +"`Режим Python UTF-8 ` за допомогою параметра командного рядка ``-" +"X utf8`` або змінної середовища ``PYTHONUTF8=1``. Перегляньте :envvar:" +"`PYTHONUTF8`, щоб увімкнути режим UTF-8, і :ref:`setting-envvars`, щоб " +"дізнатися, як змінити змінні середовища." + +msgid "" +"When the :ref:`Python UTF-8 Mode ` is enabled, you can still use " +"the system encoding (the ANSI Code Page) via the \"mbcs\" codec." +msgstr "" +"Коли режим :ref:`Python UTF-8 Mode ` увімкнено, ви все ще можете " +"використовувати системне кодування (кодову сторінку ANSI) через кодек \"mbcs" +"\"." + +msgid "" +"Note that adding ``PYTHONUTF8=1`` to the default environment variables will " +"affect all Python 3.7+ applications on your system. If you have any Python " +"3.7+ applications which rely on the legacy system encoding, it is " +"recommended to set the environment variable temporarily or use the ``-X " +"utf8`` command line option." +msgstr "" +"Зауважте, що додавання ``PYTHONUTF8=1`` до змінних середовища за " +"замовчуванням вплине на всі програми Python 3.7+ у вашій системі. Якщо у вас " +"є будь-які програми Python 3.7+, які покладаються на застаріле системне " +"кодування, рекомендується тимчасово встановити змінну середовища або " +"скористатися параметром командного рядка ``-X utf8``." + +msgid "" +"Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " +"for:" +msgstr "" +"Навіть якщо режим UTF-8 вимкнено, Python за замовчуванням використовує UTF-8 " +"у Windows для:" + +msgid "Console I/O including standard I/O (see :pep:`528` for details)." +msgstr "" +"Консольний ввід-вивід, включаючи стандартний ввід-вивід (подробиці див. :pep:" +"`528`)." + +msgid "" +"The :term:`filesystem encoding ` " +"(see :pep:`529` for details)." +msgstr "" +":term:`кодування файлової системи ` " +"(докладніше див. :pep:`529`)." + +msgid "Python Launcher for Windows" +msgstr "Python Launcher для Windows" + +msgid "" +"The Python launcher for Windows is a utility which aids in locating and " +"executing of different Python versions. It allows scripts (or the command-" +"line) to indicate a preference for a specific Python version, and will " +"locate and execute that version." +msgstr "" +"Засіб запуску Python для Windows — це утиліта, яка допомагає знаходити та " +"запускати різні версії Python. Це дозволяє сценаріям (або командному рядку) " +"вказувати перевагу для певної версії Python, а також знаходити та виконувати " +"цю версію." + +msgid "" +"Unlike the :envvar:`PATH` variable, the launcher will correctly select the " +"most appropriate version of Python. It will prefer per-user installations " +"over system-wide ones, and orders by language version rather than using the " +"most recently installed version." +msgstr "" +"На відміну від змінної :envvar:`PATH`, програма запуску правильно вибере " +"найбільш відповідну версію Python. Він віддасть перевагу інсталяціям для " +"кожного користувача, а не загальносистемним, і впорядковуватиметься за " +"мовною версією, а не з використанням останньої встановленої версії." + +msgid "The launcher was originally specified in :pep:`397`." +msgstr "Засіб запуску спочатку було зазначено в :pep:`397`." + +msgid "Getting started" +msgstr "Починаємо" + +msgid "From the command-line" +msgstr "З командного рядка" + +msgid "" +"System-wide installations of Python 3.3 and later will put the launcher on " +"your :envvar:`PATH`. The launcher is compatible with all available versions " +"of Python, so it does not matter which version is installed. To check that " +"the launcher is available, execute the following command in Command Prompt::" +msgstr "" +"Загальносистемні інсталяції Python 3.3 і пізнішої версії розмістять засіб " +"запуску на вашому :envvar:`PATH`. Панель запуску сумісна з усіма доступними " +"версіями Python, тому не має значення, яка версія встановлена. Щоб " +"перевірити, чи доступна програма запуску, виконайте таку команду в " +"командному рядку:" + +msgid "" +"You should find that the latest version of Python you have installed is " +"started - it can be exited as normal, and any additional command-line " +"arguments specified will be sent directly to Python." +msgstr "" +"Ви повинні виявити, що запущено найновішу встановлену вами версію Python — " +"її можна вийти як зазвичай, і будь-які додаткові вказані аргументи " +"командного рядка будуть надіслані безпосередньо в Python." + +msgid "" +"If you have multiple versions of Python installed (e.g., 3.7 and |version|) " +"you will have noticed that Python |version| was started - to launch Python " +"3.7, try the command::" +msgstr "" +"Якщо у вас встановлено кілька версій Python (наприклад, 3.7 і |version|), ви " +"помітили, що Python |version| було запущено - щоб запустити Python 3.7, " +"спробуйте команду::" + +msgid "" +"If you want the latest version of Python 2 you have installed, try the " +"command::" +msgstr "" +"Якщо вам потрібна остання встановлена версія Python 2, спробуйте команду::" + +msgid "You should find the latest version of Python 3.x starts." +msgstr "Ви повинні знайти останню версію Python 3.x." + +msgid "" +"If you see the following error, you do not have the launcher installed::" +msgstr "Якщо ви бачите таку помилку, у вас не встановлено програму запуску:" + +msgid "" +"Per-user installations of Python do not add the launcher to :envvar:`PATH` " +"unless the option was selected on installation." +msgstr "" +"При інсталяції Python для кожного користувача програма запуску не додається " +"до :envvar:`PATH`, якщо цей параметр не було вибрано під час інсталяції." + +msgid "The command::" +msgstr "Команда::" + +msgid "displays the currently installed version(s) of Python." +msgstr "відображає поточну встановлену версію (версії) Python." + +msgid "Virtual environments" +msgstr "Віртуальні середовища" + +msgid "" +"If the launcher is run with no explicit Python version specification, and a " +"virtual environment (created with the standard library :mod:`venv` module or " +"the external ``virtualenv`` tool) active, the launcher will run the virtual " +"environment's interpreter rather than the global one. To run the global " +"interpreter, either deactivate the virtual environment, or explicitly " +"specify the global Python version." +msgstr "" +"Якщо програму запуску запускають без явної специфікації версії Python і " +"активне віртуальне середовище (створене за допомогою модуля стандартної " +"бібліотеки :mod:`venv` або зовнішнього інструменту ``virtualenv``), програма " +"запуску швидше запустить інтерпретатор віртуального середовища ніж " +"глобальна. Щоб запустити глобальний інтерпретатор, деактивуйте віртуальне " +"середовище або явно вкажіть глобальну версію Python." + +msgid "From a script" +msgstr "Зі сценарію" + +msgid "" +"Let's create a test Python script - create a file called ``hello.py`` with " +"the following contents" +msgstr "" +"Давайте створимо тестовий сценарій Python - створіть файл під назвою ``hello." +"py`` з таким вмістом" + +msgid "From the directory in which hello.py lives, execute the command::" +msgstr "З каталогу, в якому знаходиться hello.py, виконайте команду::" + +msgid "" +"You should notice the version number of your latest Python 2.x installation " +"is printed. Now try changing the first line to be:" +msgstr "" +"Слід помітити, що надруковано номер версії вашої останньої інсталяції Python " +"2.x. Тепер спробуйте змінити перший рядок на:" + +msgid "" +"Re-executing the command should now print the latest Python 3.x information. " +"As with the above command-line examples, you can specify a more explicit " +"version qualifier. Assuming you have Python 3.7 installed, try changing the " +"first line to ``#! python3.7`` and you should find the |version| version " +"information printed." +msgstr "" +"Повторне виконання команди має надрукувати останню інформацію Python 3.x. Як " +"і у наведених вище прикладах командного рядка, ви можете вказати більш явний " +"кваліфікатор версії. Якщо у вас встановлено Python 3.7, спробуйте змінити " +"перший рядок на ``#! python3.7`` і ви повинні знайти |version| інформація " +"про версію надрукована." + +msgid "" +"Note that unlike interactive use, a bare \"python\" will use the latest " +"version of Python 2.x that you have installed. This is for backward " +"compatibility and for compatibility with Unix, where the command ``python`` " +"typically refers to Python 2." +msgstr "" +"Зауважте, що на відміну від інтерактивного використання, голий \"python\" " +"використовуватиме останню версію Python 2.x, яку ви встановили. Це для " +"зворотної сумісності та сумісності з Unix, де команда ``python`` зазвичай " +"відноситься до Python 2." + +msgid "From file associations" +msgstr "З асоціацій файлів" + +msgid "" +"The launcher should have been associated with Python files (i.e. ``.py``, ``." +"pyw``, ``.pyc`` files) when it was installed. This means that when you " +"double-click on one of these files from Windows explorer the launcher will " +"be used, and therefore you can use the same facilities described above to " +"have the script specify the version which should be used." +msgstr "" +"Під час інсталяції програма запуску мала бути пов’язана з файлами Python " +"(тобто файлами ``.py``, ``.pyw``, ``.pyc``). Це означає, що коли ви двічі " +"клацаєте один із цих файлів у провіднику Windows, буде використано програму " +"запуску, і тому ви можете використовувати ті самі засоби, які описані вище, " +"щоб сценарій вказав версію, яку слід використовувати." + +msgid "" +"The key benefit of this is that a single launcher can support multiple " +"Python versions at the same time depending on the contents of the first line." +msgstr "" +"Основною перевагою цього є те, що одна програма запуску може підтримувати " +"кілька версій Python одночасно залежно від вмісту першого рядка." + +msgid "Shebang Lines" +msgstr "Лінії Shebang" + +msgid "" +"If the first line of a script file starts with ``#!``, it is known as a " +"\"shebang\" line. Linux and other Unix like operating systems have native " +"support for such lines and they are commonly used on such systems to " +"indicate how a script should be executed. This launcher allows the same " +"facilities to be used with Python scripts on Windows and the examples above " +"demonstrate their use." +msgstr "" +"Якщо перший рядок файлу сценарію починається з ``#!``, він відомий як рядок " +"\"shebang\". Linux та інші Unix-подібні операційні системи мають власну " +"підтримку таких рядків, і вони зазвичай використовуються в таких системах, " +"щоб вказати, як повинен виконуватися сценарій. Цей засіб запуску дозволяє " +"використовувати ті самі можливості зі сценаріями Python у Windows, і " +"наведені вище приклади демонструють їх використання." + +msgid "" +"To allow shebang lines in Python scripts to be portable between Unix and " +"Windows, this launcher supports a number of 'virtual' commands to specify " +"which interpreter to use. The supported virtual commands are:" +msgstr "" +"Щоб дозволити перенесення рядків shebang у сценаріях Python між Unix і " +"Windows, цей засіб запуску підтримує низку \"віртуальних\" команд, щоб " +"вказати, який інтерпретатор використовувати. Підтримувані віртуальні команди:" + +msgid "``/usr/bin/env python``" +msgstr "``/usr/bin/env python``" + +msgid "``/usr/bin/python``" +msgstr "``/usr/bin/python``" + +msgid "``/usr/local/bin/python``" +msgstr "``/usr/local/bin/python``" + +msgid "``python``" +msgstr "``python``" + +msgid "For example, if the first line of your script starts with" +msgstr "Наприклад, якщо перший рядок вашого сценарію починається з" + +msgid "" +"The default Python will be located and used. As many Python scripts written " +"to work on Unix will already have this line, you should find these scripts " +"can be used by the launcher without modification. If you are writing a new " +"script on Windows which you hope will be useful on Unix, you should use one " +"of the shebang lines starting with ``/usr``." +msgstr "" +"Буде знайдено та використано стандартний Python. Оскільки багато сценаріїв " +"Python, написаних для роботи в Unix, уже мають цей рядок, ви повинні " +"переконатися, що ці сценарії можуть використовуватися програмою запуску без " +"змін. Якщо ви пишете новий сценарій у Windows, який, як сподіваєтеся, буде " +"корисним у Unix, вам слід використовувати один із рядків shebang, що " +"починається з ``/usr``." + +msgid "" +"Any of the above virtual commands can be suffixed with an explicit version " +"(either just the major version, or the major and minor version). Furthermore " +"the 32-bit version can be requested by adding \"-32\" after the minor " +"version. I.e. ``/usr/bin/python3.7-32`` will request usage of the 32-bit " +"python 3.7." +msgstr "" +"До будь-якої з наведених вище віртуальних команд можна додати явну версію " +"(або лише основну версію, або основну та допоміжну версії). Крім того, можна " +"запитати 32-розрядну версію, додавши \"-32\" після другорядної версії. тобто " +"``/usr/bin/python3.7-32`` вимагатиме використання 32-розрядної версії python " +"3.7." + +msgid "" +"Beginning with python launcher 3.7 it is possible to request 64-bit version " +"by the \"-64\" suffix. Furthermore it is possible to specify a major and " +"architecture without minor (i.e. ``/usr/bin/python3-64``)." +msgstr "" +"Починаючи з python launcher 3.7, можна запитувати 64-розрядну версію за " +"допомогою суфікса \"-64\". Крім того, можна вказати основну та архітектуру " +"без другорядної (тобто ``/usr/bin/python3-64``)." + +msgid "" +"The \"-64\" suffix is deprecated, and now implies \"any architecture that is " +"not provably i386/32-bit\". To request a specific environment, use the new " +"``-V:`` argument with the complete tag." +msgstr "" + +msgid "" +"The ``/usr/bin/env`` form of shebang line has one further special property. " +"Before looking for installed Python interpreters, this form will search the " +"executable :envvar:`PATH` for a Python executable. This corresponds to the " +"behaviour of the Unix ``env`` program, which performs a :envvar:`PATH` " +"search. If an executable matching the first argument after the ``env`` " +"command cannot be found, it will be handled as described below. " +"Additionally, the environment variable :envvar:`PYLAUNCHER_NO_SEARCH_PATH` " +"may be set (to any value) to skip this additional search." +msgstr "" + +msgid "" +"Shebang lines that do not match any of these patterns are treated as " +"**Windows** paths that are absolute or relative to the directory containing " +"the script file. This is a convenience for Windows-only scripts, such as " +"those generated by an installer, since the behavior is not compatible with " +"Unix-style shells. These paths may be quoted, and may include multiple " +"arguments, after which the path to the script and any additional arguments " +"will be appended." +msgstr "" + +msgid "Arguments in shebang lines" +msgstr "Аргументи в рядках shebang" + +msgid "" +"The shebang lines can also specify additional options to be passed to the " +"Python interpreter. For example, if you have a shebang line:" +msgstr "" +"Рядки shebang також можуть вказувати додаткові параметри, які передаються " +"інтерпретатору Python. Наприклад, якщо у вас є лінія шибенг:" + +msgid "Then Python will be started with the ``-v`` option" +msgstr "Тоді Python буде запущено з опцією ``-v``" + +msgid "Customization" +msgstr "Налаштування" + +msgid "Customization via INI files" +msgstr "Налаштування за допомогою файлів INI" + +msgid "" +"Two .ini files will be searched by the launcher - ``py.ini`` in the current " +"user's \"application data\" directory (i.e. the directory returned by " +"calling the Windows function ``SHGetFolderPath`` with " +"``CSIDL_LOCAL_APPDATA``) and ``py.ini`` in the same directory as the " +"launcher. The same .ini files are used for both the 'console' version of the " +"launcher (i.e. py.exe) and for the 'windows' version (i.e. pyw.exe)." +msgstr "" +"Засіб запуску шукатиме два файли .ini — ``py.ini`` у каталозі \"даних " +"програми\" поточного користувача (тобто в каталозі, який повертається " +"викликом функції Windows ``SHGetFolderPath`` з ``CSIDL_LOCAL_APPDATA``) і " +"``py.ini`` у тому ж каталозі, що й програма запуску. Ті самі файли .ini " +"використовуються як для \"консольної\" версії програми запуску (тобто py." +"exe), так і для версії \"windows\" (тобто pyw.exe)." + +msgid "" +"Customization specified in the \"application directory\" will have " +"precedence over the one next to the executable, so a user, who may not have " +"write access to the .ini file next to the launcher, can override commands in " +"that global .ini file." +msgstr "" +"Налаштування, указані в \"каталозі програми\", матимуть перевагу над " +"налаштуваннями поруч із виконуваним файлом, тому користувач, який може не " +"мати права запису до файлу .ini поруч із засобом запуску, може замінити " +"команди в цьому глобальному файлі .ini." + +msgid "Customizing default Python versions" +msgstr "Налаштування версій Python за замовчуванням" + +msgid "" +"In some cases, a version qualifier can be included in a command to dictate " +"which version of Python will be used by the command. A version qualifier " +"starts with a major version number and can optionally be followed by a " +"period ('.') and a minor version specifier. Furthermore it is possible to " +"specify if a 32 or 64 bit implementation shall be requested by adding " +"\"-32\" or \"-64\"." +msgstr "" +"У деяких випадках у команду можна включити кваліфікатор версії, щоб вказати, " +"яку версію Python використовуватиме команда. Специфікатор версії починається " +"з основного номера версії та за бажанням може супроводжуватися крапкою ('.') " +"і другорядним специфікатором версії. Крім того, можна вказати, чи потрібно " +"запитувати 32- або 64-бітну реалізацію, додавши \"-32\" або \"-64\"." + +msgid "" +"For example, a shebang line of ``#!python`` has no version qualifier, while " +"``#!python3`` has a version qualifier which specifies only a major version." +msgstr "" +"Наприклад, рядок shebang ``#!python`` не має кваліфікатора версії, тоді як " +"``#!python3`` має кваліфікатор версії, який визначає лише основну версію." + +msgid "" +"If no version qualifiers are found in a command, the environment variable :" +"envvar:`PY_PYTHON` can be set to specify the default version qualifier. If " +"it is not set, the default is \"3\". The variable can specify any value that " +"may be passed on the command line, such as \"3\", \"3.7\", \"3.7-32\" or " +"\"3.7-64\". (Note that the \"-64\" option is only available with the " +"launcher included with Python 3.7 or newer.)" +msgstr "" +"Якщо в команді не знайдено кваліфікаторів версії, змінну середовища :envvar:" +"`PY_PYTHON` можна встановити для визначення кваліфікатора версії за " +"замовчуванням. Якщо його не встановлено, за замовчуванням буде \"3\". Змінна " +"може вказувати будь-яке значення, яке можна передати в командному рядку, " +"наприклад \"3\", \"3.7\", \"3.7-32\" або \"3.7-64\". (Зауважте, що параметр " +"\"-64\" доступний лише з програмою запуску, яка входить до складу Python 3.7 " +"або новішої версії.)" + +msgid "" +"If no minor version qualifiers are found, the environment variable " +"``PY_PYTHON{major}`` (where ``{major}`` is the current major version " +"qualifier as determined above) can be set to specify the full version. If no " +"such option is found, the launcher will enumerate the installed Python " +"versions and use the latest minor release found for the major version, which " +"is likely, although not guaranteed, to be the most recently installed " +"version in that family." +msgstr "" +"Якщо кваліфікаторів другорядної версії не знайдено, змінну середовища " +"``PY_PYTHON{major}`` (де ``{major}`` є поточним кваліфікатором основної " +"версії, як визначено вище) можна встановити для визначення повної версії. " +"Якщо такий параметр не знайдено, програма запуску перерахує встановлені " +"версії Python і використає останній другорядний випуск, знайдений для " +"основної версії, який, імовірно, хоча й не гарантовано, буде останньою " +"встановленою версією в цьому сімействі." + +msgid "" +"On 64-bit Windows with both 32-bit and 64-bit implementations of the same " +"(major.minor) Python version installed, the 64-bit version will always be " +"preferred. This will be true for both 32-bit and 64-bit implementations of " +"the launcher - a 32-bit launcher will prefer to execute a 64-bit Python " +"installation of the specified version if available. This is so the behavior " +"of the launcher can be predicted knowing only what versions are installed on " +"the PC and without regard to the order in which they were installed (i.e., " +"without knowing whether a 32 or 64-bit version of Python and corresponding " +"launcher was installed last). As noted above, an optional \"-32\" or \"-64\" " +"suffix can be used on a version specifier to change this behaviour." +msgstr "" +"У 64-розрядній Windows з інстальованою 32-розрядною та 64-розрядною " +"реалізаціями однієї (major.minor) версії Python 64-розрядна версія завжди " +"матиме перевагу. Це буде вірно як для 32-розрядної, так і для 64-розрядної " +"реалізації програми запуску - 32-розрядна програма запуску віддасть перевагу " +"виконанню 64-розрядної інсталяції Python зазначеної версії, якщо вона " +"доступна. Тому можна передбачити поведінку програми запуску, знаючи лише те, " +"які версії встановлено на ПК, і незалежно від порядку їх інсталяції (тобто " +"не знаючи, 32- чи 64-бітну версію Python і відповідну програму запуску було " +"встановлено). встановлено останнім). Як зазначалося вище, необов’язковий " +"суфікс \"-32\" або \"-64\" можна використовувати у специфікаторі версії, щоб " +"змінити цю поведінку." + +msgid "Examples:" +msgstr "приклади:" + +msgid "" +"If no relevant options are set, the commands ``python`` and ``python2`` will " +"use the latest Python 2.x version installed and the command ``python3`` will " +"use the latest Python 3.x installed." +msgstr "" +"Якщо відповідні параметри не встановлено, команди ``python`` і ``python2`` " +"використовуватимуть останню встановлену версію Python 2.x, а команда " +"``python3`` використовуватиме останню встановлену версію Python 3.x." + +msgid "" +"The command ``python3.7`` will not consult any options at all as the " +"versions are fully specified." +msgstr "" +"Команда ``python3.7`` взагалі не перевірятиме жодних параметрів, оскільки " +"версії вказано повністю." + +msgid "" +"If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " +"the latest installed Python 3 version." +msgstr "" +"Якщо ``PY_PYTHON=3``, обидві команди ``python`` і ``python3`` " +"використовуватимуть останню встановлену версію Python 3." + +msgid "" +"If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit " +"implementation of 3.7 whereas the command ``python3`` will use the latest " +"installed Python (PY_PYTHON was not considered at all as a major version was " +"specified.)" +msgstr "" +"Якщо ``PY_PYTHON=3.7-32``, команда ``python`` використовуватиме 32-розрядну " +"реалізацію 3.7, тоді як команда ``python3`` використовуватиме останній " +"встановлений Python (PY_PYTHON взагалі не розглядався як була вказана " +"основна версія.)" + +msgid "" +"If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and " +"``python3`` will both use specifically 3.7" +msgstr "" +"Якщо ``PY_PYTHON=3`` і ``PY_PYTHON3=3.7``, обидві команди ``python`` і " +"``python3`` використовуватимуть саме 3.7" + +msgid "" +"In addition to environment variables, the same settings can be configured in " +"the .INI file used by the launcher. The section in the INI file is called " +"``[defaults]`` and the key name will be the same as the environment " +"variables without the leading ``PY_`` prefix (and note that the key names in " +"the INI file are case insensitive.) The contents of an environment variable " +"will override things specified in the INI file." +msgstr "" +"Окрім змінних середовища, ті самі параметри можна налаштувати у файлі .INI, " +"який використовується програмою запуску. Розділ у файлі INI називається " +"``[defaults]``, і назва ключа буде такою ж, як і змінні середовища, без " +"початкового префікса ``PY_`` (і зауважте, що назви ключа у файлі INI " +"нечутливі до регістру .) Вміст змінної середовища перевизначає речі, вказані " +"у файлі INI." + +msgid "For example:" +msgstr "Наприклад:" + +msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" +msgstr "Параметр ``PY_PYTHON=3.7`` еквівалентний файлу INI, який містить:" + +msgid "" +"Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file " +"containing:" +msgstr "" +"Параметри ``PY_PYTHON=3`` і ``PY_PYTHON3=3.7`` еквівалентні файлу INI, який " +"містить:" + +msgid "Diagnostics" +msgstr "діагностика" + +msgid "" +"If an environment variable :envvar:`PYLAUNCHER_DEBUG` is set (to any value), " +"the launcher will print diagnostic information to stderr (i.e. to the " +"console). While this information manages to be simultaneously verbose *and* " +"terse, it should allow you to see what versions of Python were located, why " +"a particular version was chosen and the exact command-line used to execute " +"the target Python. It is primarily intended for testing and debugging." +msgstr "" + +msgid "Dry Run" +msgstr "" + +msgid "" +"If an environment variable :envvar:`PYLAUNCHER_DRYRUN` is set (to any " +"value), the launcher will output the command it would have run, but will not " +"actually launch Python. This may be useful for tools that want to use the " +"launcher to detect and then launch Python directly. Note that the command " +"written to standard output is always encoded using UTF-8, and may not render " +"correctly in the console." +msgstr "" + +msgid "Install on demand" +msgstr "" + +msgid "" +"If an environment variable :envvar:`PYLAUNCHER_ALLOW_INSTALL` is set (to any " +"value), and the requested Python version is not installed but is available " +"on the Microsoft Store, the launcher will attempt to install it. This may " +"require user interaction to complete, and you may need to run the command " +"again." +msgstr "" + +msgid "" +"An additional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` variable causes the " +"launcher to always try to install Python, even if it is detected. This is " +"mainly intended for testing (and should be used with :envvar:" +"`PYLAUNCHER_DRYRUN`)." +msgstr "" + +msgid "Return codes" +msgstr "" + +msgid "" +"The following exit codes may be returned by the Python launcher. " +"Unfortunately, there is no way to distinguish these from the exit code of " +"Python itself." +msgstr "" + +msgid "" +"The names of codes are as used in the sources, and are only for reference. " +"There is no way to access or resolve them apart from reading this page. " +"Entries are listed in alphabetical order of names." +msgstr "" + +msgid "Value" +msgstr "Значення" + +msgid "RC_BAD_VENV_CFG" +msgstr "" + +msgid "107" +msgstr "" + +msgid "A :file:`pyvenv.cfg` was found but is corrupt." +msgstr "" + +msgid "RC_CREATE_PROCESS" +msgstr "" + +msgid "101" +msgstr "" + +msgid "Failed to launch Python." +msgstr "" + +msgid "RC_INSTALLING" +msgstr "" + +msgid "111" +msgstr "" + +msgid "" +"An install was started, but the command will need to be re-run after it " +"completes." +msgstr "" + +msgid "RC_INTERNAL_ERROR" +msgstr "" + +msgid "109" +msgstr "" + +msgid "Unexpected error. Please report a bug." +msgstr "" + +msgid "RC_NO_COMMANDLINE" +msgstr "" + +msgid "108" +msgstr "" + +msgid "Unable to obtain command line from the operating system." +msgstr "" + +msgid "RC_NO_PYTHON" +msgstr "" + +msgid "103" +msgstr "" + +msgid "Unable to locate the requested version." +msgstr "" + +msgid "RC_NO_VENV_CFG" +msgstr "" + +msgid "106" +msgstr "" + +msgid "A :file:`pyvenv.cfg` was required but not found." +msgstr "" + +msgid "Finding modules" +msgstr "Пошук модулів" + +msgid "" +"These notes supplement the description at :ref:`sys-path-init` with detailed " +"Windows notes." +msgstr "" + +msgid "" +"When no ``._pth`` file is found, this is how :data:`sys.path` is populated " +"on Windows:" +msgstr "" +"Якщо файл ``._pth`` не знайдено, :data:`sys.path` заповнюється у Windows " +"таким чином:" + +msgid "" +"An empty entry is added at the start, which corresponds to the current " +"directory." +msgstr "" +"На початку додається порожній запис, який відповідає поточному каталогу." + +msgid "" +"If the environment variable :envvar:`PYTHONPATH` exists, as described in :" +"ref:`using-on-envvars`, its entries are added next. Note that on Windows, " +"paths in this variable must be separated by semicolons, to distinguish them " +"from the colon used in drive identifiers (``C:\\`` etc.)." +msgstr "" +"Якщо змінна середовища :envvar:`PYTHONPATH` існує, як описано в :ref:`using-" +"on-envvars`, її записи додаються наступними. Зауважте, що в Windows шляхи в " +"цій змінній мають бути розділені крапкою з комою, щоб відрізнити їх від " +"двокрапки, яка використовується в ідентифікаторах дисків (``C:\\`` тощо)." + +msgid "" +"Additional \"application paths\" can be added in the registry as subkeys of :" +"samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " +"both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. Subkeys " +"which have semicolon-delimited path strings as their default value will " +"cause each path to be added to :data:`sys.path`. (Note that all known " +"installers only use HKLM, so HKCU is typically empty.)" +msgstr "" +"Додаткові \"шляхи до програм\" можна додати до реєстру як підрозділи :samp:`" +"\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` як у " +"``HKEY_CURRENT_USER``, так і в ``HKEY_LOCAL_MACHINE`` вулики. Підключі, які " +"мають рядки шляху, розділені крапкою з комою як значення за замовчуванням, " +"спричинять додавання кожного шляху до :data:`sys.path`. (Зверніть увагу, що " +"всі відомі інсталятори використовують лише HKLM, тому HKCU зазвичай " +"порожній.)" + +msgid "" +"If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as " +"\"Python Home\". Otherwise, the path of the main Python executable is used " +"to locate a \"landmark file\" (either ``Lib\\os.py`` or ``pythonXY.zip``) to " +"deduce the \"Python Home\". If a Python home is found, the relevant sub-" +"directories added to :data:`sys.path` (``Lib``, ``plat-win``, etc) are based " +"on that folder. Otherwise, the core Python path is constructed from the " +"PythonPath stored in the registry." +msgstr "" +"Якщо встановлено змінну середовища :envvar:`PYTHONHOME`, вона вважається " +"\"Python Home\". В іншому випадку шлях основного виконуваного файлу Python " +"використовується для пошуку \"файлу орієнтира\" (або ``Lib\\os.py``, або " +"``pythonXY.zip``), щоб вивести \"Домашню сторінку Python\". Якщо домашню " +"сторінку Python знайдено, відповідні підкаталоги, додані до :data:`sys.path` " +"(``Lib``, ``plat-win`` тощо), базуються на цій папці. В іншому випадку " +"основний шлях Python створюється з PythonPath, що зберігається в реєстрі." + +msgid "" +"If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified " +"in the environment, and no registry entries can be found, a default path " +"with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)." +msgstr "" +"Якщо не вдається знайти домашню сторінку Python, у середовищі не вказано :" +"envvar:`PYTHONPATH` і не можна знайти записи реєстру, використовується шлях " +"за замовчуванням із відносними записами (наприклад, ``.\\Lib;.\\plat-win`` " +"тощо)." + +msgid "" +"If a ``pyvenv.cfg`` file is found alongside the main executable or in the " +"directory one level above the executable, the following variations apply:" +msgstr "" +"Якщо файл ``pyvenv.cfg`` знайдено поряд з основним виконуваним файлом або в " +"каталозі на один рівень вище виконуваного файлу, застосовуються такі " +"варіанти:" + +msgid "" +"If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " +"path is used instead of the path to the main executable when deducing the " +"home location." +msgstr "" +"Якщо ``home`` є абсолютним шляхом і :envvar:`PYTHONHOME` не встановлено, цей " +"шлях використовується замість шляху до основного виконуваного файлу під час " +"визначення домашнього розташування." + +msgid "The end result of all this is:" +msgstr "Кінцевим результатом всього цього є:" + +msgid "" +"When running :file:`python.exe`, or any other .exe in the main Python " +"directory (either an installed version, or directly from the PCbuild " +"directory), the core path is deduced, and the core paths in the registry are " +"ignored. Other \"application paths\" in the registry are always read." +msgstr "" +"Під час запуску :file:`python.exe` або будь-якого іншого .exe в головному " +"каталозі Python (у встановленій версії або безпосередньо з каталогу PCbuild) " +"виводиться основний шлях, а основні шляхи в реєстрі ігноруються . Інші " +"\"шляхи програми\" в реєстрі завжди читаються." + +msgid "" +"When Python is hosted in another .exe (different directory, embedded via " +"COM, etc), the \"Python Home\" will not be deduced, so the core path from " +"the registry is used. Other \"application paths\" in the registry are " +"always read." +msgstr "" +"Коли Python розміщено в іншому .exe (іншому каталозі, вбудованому через COM " +"тощо), \"Домашня сторінка Python\" не буде виведена, тому використовується " +"основний шлях із реєстру. Інші \"шляхи програми\" в реєстрі завжди читаються." + +msgid "" +"If Python can't find its home and there are no registry value (frozen .exe, " +"some very strange installation setup) you get a path with some default, but " +"relative, paths." +msgstr "" +"Якщо Python не може знайти свій дім і немає значення реєстру (заморожений ." +"exe, якісь дуже дивні налаштування встановлення), ви отримаєте шлях із " +"деякими типовими, але відносними шляхами." + +msgid "" +"For those who want to bundle Python into their application or distribution, " +"the following advice will prevent conflicts with other installations:" +msgstr "" +"Для тих, хто хоче включити Python у свою програму чи дистрибутив, наступна " +"порада запобіжить конфліктам з іншими інсталяціями:" + +msgid "" +"Include a ``._pth`` file alongside your executable containing the " +"directories to include. This will ignore paths listed in the registry and " +"environment variables, and also ignore :mod:`site` unless ``import site`` is " +"listed." +msgstr "" +"Додайте файл ``._pth`` разом із виконуваним файлом, який містить каталоги " +"для включення. Це ігноруватиме шляхи, вказані в реєстрі та змінних " +"середовища, а також ігноруватиме :mod:`site`, якщо ``імпортувати сайт`` не " +"зазначено." + +msgid "" +"If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " +"executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:" +"`Py_SetProgramName` before :c:func:`Py_Initialize`." +msgstr "" +"Якщо ви завантажуєте :file:`python3.dll` або :file:`python37.dll` у свій " +"власний виконуваний файл, явно викличте :c:func:`Py_SetPath` або " +"(принаймні) :c:func:`Py_SetProgramName` перед :c:func:`Py_Initialize`." + +msgid "" +"Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " +"before launching :file:`python.exe` from your application." +msgstr "" +"Очистіть та/або перезапишіть :envvar:`PYTHONPATH` і встановіть :envvar:" +"`PYTHONHOME` перед запуском :file:`python.exe` із вашої програми." + +msgid "" +"If you cannot use the previous suggestions (for example, you are a " +"distribution that allows people to run :file:`python.exe` directly), ensure " +"that the landmark file (:file:`Lib\\\\os.py`) exists in your install " +"directory. (Note that it will not be detected inside a ZIP file, but a " +"correctly named ZIP file will be detected instead.)" +msgstr "" +"Якщо ви не можете використати попередні пропозиції (наприклад, ви є " +"дистрибутивом, який дозволяє людям запускати :file:`python.exe` " +"безпосередньо), переконайтеся, що файл орієнтира (:file:`Lib\\\\os.py`) " +"існує у вашому каталозі встановлення. (Зауважте, що його не буде виявлено " +"всередині ZIP-файлу, натомість буде виявлено ZIP-файл із правильною назвою.)" + +msgid "" +"These will ensure that the files in a system-wide installation will not take " +"precedence over the copy of the standard library bundled with your " +"application. Otherwise, your users may experience problems using your " +"application. Note that the first suggestion is the best, as the others may " +"still be susceptible to non-standard paths in the registry and user site-" +"packages." +msgstr "" +"Це гарантує, що файли загальносистемної інсталяції не матимуть пріоритету " +"над копією стандартної бібліотеки, яка постачається разом із вашою " +"програмою. Інакше у ваших користувачів можуть виникнути проблеми з " +"використанням вашої програми. Зауважте, що перша пропозиція є найкращою, " +"оскільки інші все ще можуть бути чутливими до нестандартних шляхів у реєстрі " +"та пакетах сайтів користувачів." + +msgid "" +"Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv." +"cfg``." +msgstr "" +"Додає підтримку файлів ``._pth`` і видаляє опцію ``applocal`` з ``pyvenv." +"cfg``." + +msgid "" +"Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the " +"executable." +msgstr "" +"Додає ``pythonXX.zip`` як потенційний орієнтир, коли він знаходиться " +"безпосередньо поруч із виконуваним файлом." + +msgid "" +"Modules specified in the registry under ``Modules`` (not ``PythonPath``) may " +"be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " +"finder is enabled on Windows in 3.6.0 and earlier, but may need to be " +"explicitly added to :attr:`sys.meta_path` in the future." +msgstr "" +"Модулі, указані в реєстрі в розділі ``Модулі`` (не ``PythonPath``), можна " +"імпортувати за допомогою :class:`importlib.machinery.WindowsRegistryFinder`. " +"Цей засіб пошуку ввімкнуто в Windows 3.6.0 і раніших версій, але в " +"майбутньому, можливо, його потрібно буде явно додати до :attr:`sys." +"meta_path`." + +msgid "Additional modules" +msgstr "Додаткові модулі" + +msgid "" +"Even though Python aims to be portable among all platforms, there are " +"features that are unique to Windows. A couple of modules, both in the " +"standard library and external, and snippets exist to use these features." +msgstr "" +"Незважаючи на те, що Python прагне бути переносним на всі платформи, є " +"функції, які є унікальними для Windows. Існує кілька модулів, як у " +"стандартній бібліотеці, так і зовнішніх, а також фрагменти для використання " +"цих функцій." + +msgid "" +"The Windows-specific standard modules are documented in :ref:`mswin-specific-" +"services`." +msgstr "" +"Стандартні модулі для Windows задокументовані в :ref:`mswin-specific-" +"services`." + +msgid "PyWin32" +msgstr "PyWin32" + +msgid "" +"The `PyWin32 `_ module by Mark Hammond is " +"a collection of modules for advanced Windows-specific support. This " +"includes utilities for:" +msgstr "" +"Модуль `PyWin32 `_ від Марка Хаммонда — це " +"набір модулів для розширеної підтримки Windows. Це включає утиліти для:" + +msgid "" +"`Component Object Model `_ (COM)" +msgstr "" +"`Компонентна об’єктна модель `_ (COM)" + +msgid "Win32 API calls" +msgstr "Виклики API Win32" + +msgid "Registry" +msgstr "Реєстр" + +msgid "Event log" +msgstr "Журнал подій" + +msgid "" +"`Microsoft Foundation Classes `_ (MFC) user interfaces" +msgstr "" +"Інтерфейс користувача `Microsoft Foundation Classes `_ (MFC)" + +msgid "" +"`PythonWin `_ is a sample MFC application shipped with PyWin32. " +"It is an embeddable IDE with a built-in debugger." +msgstr "" +"`PythonWin `_ — це зразок програми MFC, що постачається разом із " +"PyWin32. Це вбудована IDE із вбудованим налагоджувачем." + +msgid "" +"`Win32 How Do I...? `_" +msgstr "" +"`Win32 Як мені...? `_" + +msgid "by Tim Golden" +msgstr "Тім Голден" + +msgid "`Python and COM `_" +msgstr "`Python і COM `_" + +msgid "by David and Paul Boddie" +msgstr "Девід і Пол Бодді" + +msgid "cx_Freeze" +msgstr "cx_Freeze" + +msgid "" +"`cx_Freeze `_ is a :mod:" +"`distutils` extension (see :ref:`extending-distutils`) which wraps Python " +"scripts into executable Windows programs (:file:`{*}.exe` files). When you " +"have done this, you can distribute your application without requiring your " +"users to install Python." +msgstr "" +"`cx_Freeze `_ — це розширення :" +"mod:`distutils` (див. :ref:`extending-distutils`), яке загортає сценарії " +"Python у виконувані програми Windows (файли:`{*}.exe`). Коли ви це зробите, " +"ви зможете поширювати свою програму, не вимагаючи від користувачів " +"встановлення Python." + +msgid "Compiling Python on Windows" +msgstr "Компіляція Python у Windows" + +msgid "" +"If you want to compile CPython yourself, first thing you should do is get " +"the `source `_. You can download " +"either the latest release's source or just grab a fresh `checkout `_." +msgstr "" + +msgid "" +"The source tree contains a build solution and project files for Microsoft " +"Visual Studio, which is the compiler used to build the official Python " +"releases. These files are in the :file:`PCbuild` directory." +msgstr "" +"Дерево вихідних кодів містить рішення для збірки та файли проекту для " +"Microsoft Visual Studio, яка є компілятором, який використовується для " +"створення офіційних випусків Python. Ці файли знаходяться в каталозі :file:" +"`PCbuild`." + +msgid "" +"Check :file:`PCbuild/readme.txt` for general information on the build " +"process." +msgstr "" +"Перегляньте :file:`PCbuild/readme.txt` для отримання загальної інформації " +"про процес збірки." + +msgid "For extension modules, consult :ref:`building-on-windows`." +msgstr "Для модулів розширення зверніться до :ref:`building-on-windows`." + +msgid "Other Platforms" +msgstr "Інші платформи" + +msgid "" +"With ongoing development of Python, some platforms that used to be supported " +"earlier are no longer supported (due to the lack of users or developers). " +"Check :pep:`11` for details on all unsupported platforms." +msgstr "" +"Оскільки Python продовжується, деякі платформи, які підтримувалися раніше, " +"більше не підтримуються (через відсутність користувачів або розробників). " +"Перевірте :pep:`11`, щоб дізнатися більше про всі непідтримувані платформи." + +msgid "" +"`Windows CE `_ is `no longer supported " +"`__ since Python 3 (if it " +"ever was)." +msgstr "" + +msgid "" +"The `Cygwin `_ installer offers to install the `Python " +"interpreter `__ as well" +msgstr "" +"Інсталятор `Cygwin `_ також пропонує встановити " +"`Інтерпретатор Python `__" + +msgid "" +"See `Python for Windows `_ for " +"detailed information about platforms with pre-compiled installers." +msgstr "" +"Перегляньте `Python для Windows `_, щоб отримати детальну інформацію про платформи з попередньо " +"скомпільованими інсталяторами." diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po new file mode 100644 index 000000000..118d6e313 --- /dev/null +++ b/whatsnew/2.0.po @@ -0,0 +1,2083 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.0" +msgstr "Що нового в Python 2.0" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling and Moshe Zadka" +msgstr "A.M. Kuchling та Moshe Zadka" + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"A new release of Python, version 2.0, was released on October 16, 2000. This " +"article covers the exciting new features in 2.0, highlights some other " +"useful changes, and points out a few incompatible changes that may require " +"rewriting code." +msgstr "" +"Новий випуск Python, версія 2.0, був випущений 16 жовтня 2000 року. У цій " +"статті розглядаються цікаві нові можливості версії 2.0, висвітлюються деякі " +"інші корисні зміни та вказується на кілька несумісних змін, які можуть " +"вимагати переписування коду." + +msgid "" +"Python's development never completely stops between releases, and a steady " +"flow of bug fixes and improvements are always being submitted. A host of " +"minor fixes, a few optimizations, additional docstrings, and better error " +"messages went into 2.0; to list them all would be impossible, but they're " +"certainly significant. Consult the publicly available CVS logs if you want " +"to see the full list. This progress is due to the five developers working " +"for PythonLabs are now getting paid to spend their days fixing bugs, and " +"also due to the improved communication resulting from moving to SourceForge." +msgstr "" + +msgid "What About Python 1.6?" +msgstr "Що щодо Python 1.6?" + +msgid "" +"Python 1.6 can be thought of as the Contractual Obligations Python release. " +"After the core development team left CNRI in May 2000, CNRI requested that a " +"1.6 release be created, containing all the work on Python that had been " +"performed at CNRI. Python 1.6 therefore represents the state of the CVS " +"tree as of May 2000, with the most significant new feature being Unicode " +"support. Development continued after May, of course, so the 1.6 tree " +"received a few fixes to ensure that it's forward-compatible with Python " +"2.0. 1.6 is therefore part of Python's evolution, and not a side branch." +msgstr "" +"Python 1.6 можна вважати випуском Python Contractual Obligations. Після " +"того, як основна команда розробників залишила CNRI у травні 2000 року, CNRI " +"попросив створити випуск 1.6, який містив би всю роботу над Python, яка була " +"виконана в CNRI. Таким чином, Python 1.6 представляє стан дерева CVS станом " +"на травень 2000 року, причому найважливішою новою функцією є підтримка " +"Unicode. Розробка продовжилася і після травня, тому дерево 1.6 отримало " +"кілька виправлень, щоб гарантувати його сумісність із Python 2.0. Таким " +"чином, 1.6 є частиною еволюції Python, а не побічною гілкою." + +msgid "" +"So, should you take much interest in Python 1.6? Probably not. The " +"1.6final and 2.0beta1 releases were made on the same day (September 5, " +"2000), the plan being to finalize Python 2.0 within a month or so. If you " +"have applications to maintain, there seems little point in breaking things " +"by moving to 1.6, fixing them, and then having another round of breakage " +"within a month by moving to 2.0; you're better off just going straight to " +"2.0. Most of the really interesting features described in this document are " +"only in 2.0, because a lot of work was done between May and September." +msgstr "" +"Отже, чи варто сильно цікавитися Python 1.6? Напевно ні. Релізи 1.6final і " +"2.0beta1 були зроблені в один і той же день (5 вересня 2000 р.), планом було " +"завершити Python 2.0 протягом місяця або близько того. Якщо у вас є додатки, " +"які потрібно підтримувати, здається, немає сенсу ламати роботу, переходячи " +"до 1.6, виправляючи їх, а потім мати ще один цикл поломок протягом місяця, " +"переходячи до 2.0; вам краще просто перейти до 2.0. Більшість справді " +"цікавих функцій, описаних у цьому документі, є лише у версії 2.0, оскільки з " +"травня по вересень було виконано багато роботи." + +msgid "New Development Process" +msgstr "Новий процес розвитку" + +msgid "" +"The most important change in Python 2.0 may not be to the code at all, but " +"to how Python is developed: in May 2000 the Python developers began using " +"the tools made available by SourceForge for storing source code, tracking " +"bug reports, and managing the queue of patch submissions. To report bugs or " +"submit patches for Python 2.0, use the bug tracking and patch manager tools " +"available from Python's project page, located at https://sourceforge.net/" +"projects/python/." +msgstr "" +"Найважливіша зміна в Python 2.0 може стосуватися зовсім не коду, а способу " +"розробки Python: у травні 2000 року розробники Python почали використовувати " +"інструменти, надані SourceForge для зберігання вихідного коду, відстеження " +"звітів про помилки та керування чергою. подання патчів. Щоб повідомити про " +"помилки або надіслати виправлення для Python 2.0, використовуйте інструменти " +"відстеження помилок і керування виправленнями, доступні на сторінці проекту " +"Python, розташованій за адресою https://sourceforge.net/projects/python/." + +msgid "" +"The most important of the services now hosted at SourceForge is the Python " +"CVS tree, the version-controlled repository containing the source code for " +"Python. Previously, there were roughly 7 or so people who had write access " +"to the CVS tree, and all patches had to be inspected and checked in by one " +"of the people on this short list. Obviously, this wasn't very scalable. By " +"moving the CVS tree to SourceForge, it became possible to grant write access " +"to more people; as of September 2000 there were 27 people able to check in " +"changes, a fourfold increase. This makes possible large-scale changes that " +"wouldn't be attempted if they'd have to be filtered through the small group " +"of core developers. For example, one day Peter Schneider-Kamp took it into " +"his head to drop K&R C compatibility and convert the C source for Python to " +"ANSI C. After getting approval on the python-dev mailing list, he launched " +"into a flurry of checkins that lasted about a week, other developers joined " +"in to help, and the job was done. If there were only 5 people with write " +"access, probably that task would have been viewed as \"nice, but not worth " +"the time and effort needed\" and it would never have gotten done." +msgstr "" +"Найважливішою з послуг, які зараз розміщені на SourceForge, є дерево Python " +"CVS, репозиторій з контрольованими версіями, що містить вихідний код для " +"Python. Раніше було приблизно 7 або близько того людей, які мали доступ для " +"запису до дерева CVS, і всі латки повинні були бути перевірені та " +"зареєстровані одним із людей у цьому короткому списку. Очевидно, що це було " +"не дуже масштабовано. Завдяки переміщенню дерева CVS до SourceForge стало " +"можливим надати доступ для запису більшій кількості людей; станом на " +"вересень 2000 року було 27 осіб, які могли перевірити зміни, тобто " +"чотириразове збільшення. Це робить можливими масштабні зміни, які б не були " +"зроблені, якби їх довелося фільтрувати через невелику групу основних " +"розробників. Наприклад, одного разу Пітер Шнайдер-Камп спав на думку " +"відмовитися від сумісності з K&R C і перетворити вихідний код C для Python " +"на ANSI C. Отримавши схвалення в списку розсилки python-dev, він розпочав " +"шквал перевірок, які тривали близько тижня інші розробники приєдналися, щоб " +"допомогти, і роботу було виконано. Якби було лише 5 осіб із доступом для " +"запису, ймовірно, це завдання було б сприйняте як \"гарне, але не варте " +"потрібного часу та зусиль\", і воно ніколи не було б виконане." + +msgid "" +"The shift to using SourceForge's services has resulted in a remarkable " +"increase in the speed of development. Patches now get submitted, commented " +"on, revised by people other than the original submitter, and bounced back " +"and forth between people until the patch is deemed worth checking in. Bugs " +"are tracked in one central location and can be assigned to a specific person " +"for fixing, and we can count the number of open bugs to measure progress. " +"This didn't come without a cost: developers now have more e-mail to deal " +"with, more mailing lists to follow, and special tools had to be written for " +"the new environment. For example, SourceForge sends default patch and bug " +"notification e-mail messages that are completely unhelpful, so Ka-Ping Yee " +"wrote an HTML screen-scraper that sends more useful messages." +msgstr "" +"Перехід до використання послуг SourceForge призвів до значного збільшення " +"швидкості розробки. Патчі тепер надсилаються, коментуються, переглядаються " +"людьми, які не були початковим відправником, і обмінюються між людьми, доки " +"виправлення не буде визнано вартим перевірки. Помилки відстежуються в одному " +"центральному місці та можуть бути призначені конкретній особі для " +"виправлення , і ми можемо підрахувати кількість відкритих помилок для " +"вимірювання прогресу. Це не обійшлося без витрат: розробники тепер мають " +"більше електронної пошти, щоб мати справу з більшою кількістю списків " +"розсилки, і для нового середовища потрібно було написати спеціальні " +"інструменти. Наприклад, SourceForge надсилає повідомлення електронною поштою " +"про стандартні виправлення та сповіщення про помилки, які абсолютно марні, " +"тому Ka-Ping Yee написав HTML-скрейпер, який надсилає більш корисні " +"повідомлення." + +msgid "" +"The ease of adding code caused a few initial growing pains, such as code was " +"checked in before it was ready or without getting clear agreement from the " +"developer group. The approval process that has emerged is somewhat similar " +"to that used by the Apache group. Developers can vote +1, +0, -0, or -1 on a " +"patch; +1 and -1 denote acceptance or rejection, while +0 and -0 mean the " +"developer is mostly indifferent to the change, though with a slight positive " +"or negative slant. The most significant change from the Apache model is " +"that the voting is essentially advisory, letting Guido van Rossum, who has " +"Benevolent Dictator For Life status, know what the general opinion is. He " +"can still ignore the result of a vote, and approve or reject a change even " +"if the community disagrees with him." +msgstr "" +"Легкість додавання коду спричинила кілька початкових труднощів, наприклад " +"код перевірявся до того, як він був готовий, або без отримання чіткої згоди " +"від групи розробників. Процес затвердження, який з’явився, дещо схожий на " +"той, який використовується групою Apache. Розробники можуть голосувати за " +"патч +1, +0, -0 або -1; +1 і -1 означають прийняття або відхилення, тоді як " +"+0 і -0 означають, що розробник здебільшого байдужий до змін, хоча з " +"невеликим позитивним або негативним ухилом. Найсуттєвішою зміною в " +"порівнянні з моделлю Apache є те, що голосування є, по суті, дорадчим, " +"дозволяючи Гвідо ван Россуму, який має статус доброзичливого довічного " +"диктатора, знати, якою є загальна думка. Він все ще може ігнорувати " +"результати голосування та схвалити або відхилити зміни, навіть якщо " +"спільнота з ним не погоджується." + +msgid "" +"Producing an actual patch is the last step in adding a new feature, and is " +"usually easy compared to the earlier task of coming up with a good design. " +"Discussions of new features can often explode into lengthy mailing list " +"threads, making the discussion hard to follow, and no one can read every " +"posting to python-dev. Therefore, a relatively formal process has been set " +"up to write Python Enhancement Proposals (PEPs), modelled on the internet " +"RFC process. PEPs are draft documents that describe a proposed new feature, " +"and are continually revised until the community reaches a consensus, either " +"accepting or rejecting the proposal. Quoting from the introduction to :pep:" +"`1`, \"PEP Purpose and Guidelines\":" +msgstr "" +"Створення фактичного патча є останнім кроком у додаванні нової функції, і " +"зазвичай це легко порівняно з попереднім завданням створення гарного " +"дизайну. Обговорення нових функцій часто може вибухнути в довгі ланцюжки " +"списків розсилки, що ускладнює стеження за обговоренням, і ніхто не може " +"прочитати кожну публікацію на python-dev. Тому було створено відносно " +"формальний процес для написання пропозицій щодо покращення Python (PEP), " +"змодельований на основі процесу RFC в Інтернеті. PEPs — це проекти " +"документів, які описують запропоновану нову функцію, і постійно " +"переглядаються, доки спільнота не досягне консенсусу, прийняти або відхилити " +"пропозицію. Цитата зі вступу до :pep:`1`, \"Мета PEP і рекомендації\":" + +msgid "" +"PEP stands for Python Enhancement Proposal. A PEP is a design document " +"providing information to the Python community, or describing a new feature " +"for Python. The PEP should provide a concise technical specification of the " +"feature and a rationale for the feature." +msgstr "" +"PEP розшифровується як Python Enhancement Proposal. PEP — це проектний " +"документ, який надає інформацію спільноті Python або описує нову функцію для " +"Python. PEP має надавати стислу технічну специфікацію функції та " +"обґрунтування цієї функції." + +msgid "" +"We intend PEPs to be the primary mechanisms for proposing 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 "" +"Read the rest of :pep:`1` for the details of the PEP editorial process, " +"style, and format. PEPs are kept in the Python CVS tree on SourceForge, " +"though they're not part of the Python 2.0 distribution, and are also " +"available in HTML form from https://peps.python.org/. As of September 2000, " +"there are 25 PEPS, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " +"225, \"Elementwise/Objectwise Operators\"." +msgstr "" + +msgid "Unicode" +msgstr "Unicode" + +msgid "" +"The largest new feature in Python 2.0 is a new fundamental data type: " +"Unicode strings. Unicode uses 16-bit numbers to represent characters " +"instead of the 8-bit number used by ASCII, meaning that 65,536 distinct " +"characters can be supported." +msgstr "" +"Найбільшою новою функцією Python 2.0 є новий фундаментальний тип даних: " +"рядки Unicode. Юнікод використовує 16-розрядні числа для представлення " +"символів замість 8-розрядних чисел, які використовуються в ASCII, тобто " +"підтримується 65 536 різних символів." + +msgid "" +"The final interface for Unicode support was arrived at through countless " +"often-stormy discussions on the python-dev mailing list, and mostly " +"implemented by Marc-André Lemburg, based on a Unicode string type " +"implementation by Fredrik Lundh. A detailed explanation of the interface " +"was written up as :pep:`100`, \"Python Unicode Integration\". This article " +"will simply cover the most significant points about the Unicode interfaces." +msgstr "" +"Остаточний інтерфейс для підтримки Unicode був досягнутий під час " +"незліченних, часто бурхливих дискусій у списку розсилки python-dev, і " +"здебільшого реалізований Марком-Андре Лембургом на основі реалізації " +"рядкового типу Unicode Фредріком Лундом. Детальне пояснення інтерфейсу було " +"написано як :pep:`100`, \"Інтеграція Python Unicode\". Ця стаття лише " +"охопить найважливіші моменти щодо інтерфейсів Unicode." + +msgid "" +"In Python source code, Unicode strings are written as ``u\"string\"``. " +"Arbitrary Unicode characters can be written using a new escape sequence, ``" +"\\uHHHH``, where *HHHH* is a 4-digit hexadecimal number from 0000 to FFFF. " +"The existing ``\\xHHHH`` escape sequence can also be used, and octal escapes " +"can be used for characters up to U+01FF, which is represented by ``\\777``." +msgstr "" +"У вихідному коді Python рядки Unicode записуються як ``u\"рядок``. Довільні " +"символи Юнікоду можна записувати за допомогою нової керуючої послідовності ``" +"\\uHHHH``, де *HHHH* — це 4-значне шістнадцяткове число від 0000 до FFFF. " +"Існуючу керуючу послідовність ``\\xHHHH`` також можна використовувати, а " +"вісімкове екранування можна використовувати для символів до U+01FF, що " +"представлено ``\\777``." + +msgid "" +"Unicode strings, just like regular strings, are an immutable sequence type. " +"They can be indexed and sliced, but not modified in place. Unicode strings " +"have an ``encode( [encoding] )`` method that returns an 8-bit string in the " +"desired encoding. Encodings are named by strings, such as ``'ascii'``, " +"``'utf-8'``, ``'iso-8859-1'``, or whatever. A codec API is defined for " +"implementing and registering new encodings that are then available " +"throughout a Python program. If an encoding isn't specified, the default " +"encoding is usually 7-bit ASCII, though it can be changed for your Python " +"installation by calling the ``sys.setdefaultencoding(encoding)`` function in " +"a customized version of :file:`site.py`." +msgstr "" +"Рядки Unicode, як і звичайні рядки, є незмінним типом послідовності. Їх " +"можна індексувати та нарізати, але не змінювати на місці. Рядки Unicode " +"мають метод ``encode( [encoding] )``, який повертає 8-бітовий рядок у " +"потрібному кодуванні. Кодування називаються рядками, наприклад ``'ascii'``, " +"``'utf-8''``, ``'iso-8859-1''`` або будь-яким іншим. Кодек API визначено для " +"реалізації та реєстрації нових кодувань, які потім доступні в усій програмі " +"Python. Якщо кодування не вказано, кодуванням за замовчуванням зазвичай є 7-" +"бітний ASCII, хоча його можна змінити для інсталяції Python, викликавши " +"функцію ``sys.setdefaultencoding(encoding)`` у налаштованій версії :file:" +"`site.py`." + +msgid "" +"Combining 8-bit and Unicode strings always coerces to Unicode, using the " +"default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``." +msgstr "" +"Комбінування 8-бітових рядків і рядків Unicode завжди приводить до Unicode, " +"використовуючи стандартне кодування ASCII; результатом ``'a' + u'bc'`` є " +"``u'abc``." + +msgid "" +"New built-in functions have been added, and existing built-ins modified to " +"support Unicode:" +msgstr "" +"Додано нові вбудовані функції, а наявні вбудовані модифіковано для підтримки " +"Unicode:" + +msgid "" +"``unichr(ch)`` returns a Unicode string 1 character long, containing the " +"character *ch*." +msgstr "" +"``unichr(ch)`` повертає рядок Unicode довжиною 1 символ, що містить символ " +"*ch*." + +msgid "" +"``ord(u)``, where *u* is a 1-character regular or Unicode string, returns " +"the number of the character as an integer." +msgstr "" +"``ord(u)``, де *u* — звичайний рядок із 1 символу або Unicode, повертає " +"номер символу як ціле число." + +msgid "" +"``unicode(string [, encoding] [, errors] )`` creates a Unicode string from " +"an 8-bit string. ``encoding`` is a string naming the encoding to use. The " +"``errors`` parameter specifies the treatment of characters that are invalid " +"for the current encoding; passing ``'strict'`` as the value causes an " +"exception to be raised on any encoding error, while ``'ignore'`` causes " +"errors to be silently ignored and ``'replace'`` uses U+FFFD, the official " +"replacement character, in case of any problems." +msgstr "" +"``unicode(string [, encoding] [, errors] )`` створює рядок Unicode з 8-" +"бітного рядка. ``encoding`` - це рядок із назвою кодування для використання. " +"Параметр ``errors`` визначає обробку символів, недійсних для поточного " +"кодування; передача ``'strict'`` як значення спричиняє виникнення винятку " +"при будь-якій помилці кодування, тоді ``'ignore'`` спричиняє мовчазне " +"ігнорування помилок, а ``'replace'`` використовує U+FFFD, офіційний замінний " +"характер, у разі будь-яких проблем." + +msgid "" +"The ``exec`` statement, and various built-ins such as ``eval()``, " +"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as " +"regular strings. (It's possible that the process of fixing this missed some " +"built-ins; if you find a built-in function that accepts strings but doesn't " +"accept Unicode strings at all, please report it as a bug.)" +msgstr "" +"Оператор ``exec`` і різні вбудовані функції, такі як ``eval()``, " +"``getattr()`` і ``setattr()`` також прийматимуть рядки Unicode, а також " +"звичайні рядки. (Цілком можливо, що під час виправлення цього не вистачало " +"деяких вбудованих функцій; якщо ви знайдете вбудовану функцію, яка приймає " +"рядки, але взагалі не приймає рядки Unicode, повідомте про це як про " +"помилку.)" + +msgid "" +"A new module, :mod:`unicodedata`, provides an interface to Unicode character " +"properties. For example, ``unicodedata.category(u'A')`` returns the 2-" +"character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning that " +"it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', " +"meaning that U+0660 is an Arabic number." +msgstr "" +"Новий модуль, :mod:`unicodedata`, надає інтерфейс для властивостей символів " +"Unicode. Наприклад, ``unicodedata.category(u'A')`` повертає 2-символьний " +"рядок 'Lu', 'L' означає, що це літера, і 'u' означає, що це великий регістр. " +"``unicodedata.bidirectional(u'\\u0660')`` повертає 'AN', що означає, що U" +"+0660 є арабським числом." + +msgid "" +"The :mod:`codecs` module contains functions to look up existing encodings " +"and register new ones. Unless you want to implement a new encoding, you'll " +"most often use the ``codecs.lookup(encoding)`` function, which returns a 4-" +"element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``." +msgstr "" +"Модуль :mod:`codecs` містить функції для пошуку існуючих кодувань і " +"реєстрації нових. Якщо ви не хочете застосувати нове кодування, ви " +"найчастіше використовуватимете функцію ``codecs.lookup(encoding)``, яка " +"повертає 4-елементний кортеж: ``(encode_func, decode_func, stream_reader, " +"stream_writer)``." + +msgid "" +"*encode_func* is a function that takes a Unicode string, and returns a 2-" +"tuple ``(string, length)``. *string* is an 8-bit string containing a " +"portion (perhaps all) of the Unicode string converted into the given " +"encoding, and *length* tells you how much of the Unicode string was " +"converted." +msgstr "" +"*encode_func* — це функція, яка приймає рядок Unicode і повертає 2-кортеж " +"``(рядок, довжина)``. *рядок* — це 8-бітовий рядок, що містить частину " +"(можливо, весь) рядка Юнікод, перетвореного в дане кодування, а *довжина* " +"вказує вам, яку частину рядка Юнікод було перетворено." + +msgid "" +"*decode_func* is the opposite of *encode_func*, taking an 8-bit string and " +"returning a 2-tuple ``(ustring, length)``, consisting of the resulting " +"Unicode string *ustring* and the integer *length* telling how much of the 8-" +"bit string was consumed." +msgstr "" +"*decode_func* є протилежністю *encode_func*, беручи 8-бітний рядок і " +"повертаючи 2-кортеж ``(ustring, length)``, що складається з результуючого " +"рядка Unicode *ustring* і цілого числа *length*, що повідомляє, як велика " +"частина 8-бітного рядка була спожита." + +msgid "" +"*stream_reader* is a class that supports decoding input from a stream. " +"*stream_reader(file_obj)* returns an object that supports the :meth:`read`, :" +"meth:`readline`, and :meth:`readlines` methods. These methods will all " +"translate from the given encoding and return Unicode strings." +msgstr "" +"*stream_reader* — це клас, який підтримує декодування вхідних даних із " +"потоку. *stream_reader(file_obj)* повертає об’єкт, який підтримує методи :" +"meth:`read`, :meth:`readline` і :meth:`readlines`. Усі ці методи " +"перекладатимуть із заданого кодування та повертатимуть рядки Unicode." + +msgid "" +"*stream_writer*, similarly, is a class that supports encoding output to a " +"stream. *stream_writer(file_obj)* returns an object that supports the :meth:" +"`write` and :meth:`writelines` methods. These methods expect Unicode " +"strings, translating them to the given encoding on output." +msgstr "" +"*stream_writer*, аналогічно, є класом, який підтримує кодування виводу в " +"потік. *stream_writer(file_obj)* повертає об’єкт, який підтримує методи :" +"meth:`write` і :meth:`writelines`. Ці методи очікують рядків Unicode, " +"переводячи їх у задане кодування на виході." + +msgid "" +"For example, the following code writes a Unicode string into a file, " +"encoding it as UTF-8::" +msgstr "" +"Наприклад, наступний код записує рядок Unicode у файл, кодуючи його як " +"UTF-8::" + +msgid "The following code would then read UTF-8 input from the file::" +msgstr "Наступний код буде читати вхідні дані UTF-8 з файлу:" + +msgid "" +"Unicode-aware regular expressions are available through the :mod:`re` " +"module, which has a new underlying implementation called SRE written by " +"Fredrik Lundh of Secret Labs AB." +msgstr "" +"Регулярні вирази з підтримкою Unicode доступні через модуль :mod:`re`, який " +"має нову реалізацію під назвою SRE, написану Фредріком Лундом з Secret Labs " +"AB." + +msgid "" +"A ``-U`` command line option was added which causes the Python compiler to " +"interpret all string literals as Unicode string literals. This is intended " +"to be used in testing and future-proofing your Python code, since some " +"future version of Python may drop support for 8-bit strings and provide only " +"Unicode strings." +msgstr "" +"Додано параметр командного рядка ``-U``, який змушує компілятор Python " +"інтерпретувати всі рядкові літерали як рядкові літерали Unicode. Це " +"призначено для тестування та перевірки вашого коду Python на майбутнє, " +"оскільки деякі майбутні версії Python можуть відмовитися від підтримки 8-" +"бітних рядків і надавати лише рядки Unicode." + +msgid "List Comprehensions" +msgstr "Розуміння списку" + +msgid "" +"Lists are a workhorse data type in Python, and many programs manipulate a " +"list at some point. Two common operations on lists are to loop over them, " +"and either pick out the elements that meet a certain criterion, or apply " +"some function to each element. For example, given a list of strings, you " +"might want to pull out all the strings containing a given substring, or " +"strip off trailing whitespace from each line." +msgstr "" +"Списки є основним типом даних у Python, і багато програм маніпулюють списком " +"у певний момент. Дві поширені операції зі списками полягають у проходженні " +"по ним і або виборі елементів, які відповідають певному критерію, або " +"застосуванні певної функції до кожного елемента. Наприклад, маючи список " +"рядків, ви можете вилучити всі рядки, що містять даний підрядок, або " +"видалити кінцеві пробіли з кожного рядка." + +msgid "" +"The existing :func:`map` and :func:`filter` functions can be used for this " +"purpose, but they require a function as one of their arguments. This is " +"fine if there's an existing built-in function that can be passed directly, " +"but if there isn't, you have to create a little function to do the required " +"work, and Python's scoping rules make the result ugly if the little function " +"needs additional information. Take the first example in the previous " +"paragraph, finding all the strings in the list containing a given " +"substring. You could write the following to do it::" +msgstr "" +"Існуючі функції :func:`map` і :func:`filter` можна використовувати для цієї " +"мети, але вони потребують функції як один із своїх аргументів. Це добре, " +"якщо існує вбудована функція, яку можна передати напряму, але якщо її немає, " +"вам доведеться створити невелику функцію для виконання необхідної роботи, а " +"правила визначення області Python роблять результат негарним, якщо маленька " +"функція потребує Додаткова інформація. Розглянемо перший приклад із " +"попереднього абзацу, знайшовши всі рядки у списку, що містить заданий " +"підрядок. Щоб це зробити, ви можете написати наступне:" + +msgid "" +"Because of Python's scoping rules, a default argument is used so that the " +"anonymous function created by the :keyword:`lambda` expression knows what " +"substring is being searched for. List comprehensions make this cleaner::" +msgstr "" +"Через правила визначення області Python використовується аргумент за " +"замовчуванням, щоб анонімна функція, створена виразом :keyword:`lambda`, " +"знала, який підрядок шукається. Розуміння списків робить це чистішим::" + +msgid "List comprehensions have the form::" +msgstr "Охоплення списків мають вигляд::" + +msgid "" +"The :keyword:`!for`...\\ :keyword:`!in` clauses contain the sequences to be " +"iterated over. The sequences do not have to be the same length, because " +"they are *not* iterated over in parallel, but from left to right; this is " +"explained more clearly in the following paragraphs. The elements of the " +"generated list will be the successive values of *expression*. The final :" +"keyword:`!if` clause is optional; if present, *expression* is only evaluated " +"and added to the result if *condition* is true." +msgstr "" +"Речення :keyword:`!for`...\\ :keyword:`!in` містять послідовності, які " +"потрібно повторити. Послідовності не обов’язково мають бути однакової " +"довжини, тому що вони *не* повторюються паралельно, а зліва направо; це " +"більш чітко пояснюється в наступних параграфах. Елементи згенерованого " +"списку будуть послідовними значеннями *виразу*. Останній пункт :keyword:`!" +"if` необов’язковий; якщо присутнє, *вираз* обчислюється та додається до " +"результату, лише якщо *умова* істинна." + +msgid "" +"To make the semantics very clear, a list comprehension is equivalent to the " +"following Python code::" +msgstr "" +"Щоб зробити семантику дуже зрозумілою, розуміння списку еквівалентно " +"наступному коду Python:" + +msgid "" +"This means that when there are multiple :keyword:`!for`...\\ :keyword:`!in` " +"clauses, the resulting list will be equal to the product of the lengths of " +"all the sequences. If you have two lists of length 3, the output list is 9 " +"elements long::" +msgstr "" +"Це означає, що коли є кілька пропозицій :keyword:`!for`...\\ :keyword:`!in`, " +"результуючий список дорівнюватиме добутку довжин усіх послідовностей. Якщо у " +"вас є два списки довжиною 3, вихідний список складається з 9 елементів:" + +msgid "" +"To avoid introducing an ambiguity into Python's grammar, if *expression* is " +"creating a tuple, it must be surrounded with parentheses. The first list " +"comprehension below is a syntax error, while the second one is correct::" +msgstr "" +"Щоб уникнути неоднозначності в граматиці Python, якщо *вираз* створює " +"кортеж, його потрібно взяти в дужки. Перше розуміння списку нижче є " +"синтаксичною помилкою, тоді як друге є правильним:" + +msgid "" +"The idea of list comprehensions originally comes from the functional " +"programming language Haskell (https://www.haskell.org). Greg Ewing argued " +"most effectively for adding them to Python and wrote the initial list " +"comprehension patch, which was then discussed for a seemingly endless time " +"on the python-dev mailing list and kept up-to-date by Skip Montanaro." +msgstr "" +"Ідея розуміння списків спочатку походить від функціональної мови " +"програмування Haskell (https://www.haskell.org). Ґреґ Юінг найбільш " +"ефективно доводив доцільність додавання їх до Python і написав початковий " +"патч для розуміння списку, який потім, здавалося, нескінченний час " +"обговорювався в списку розсилки python-dev і постійно оновлювався Скіпом " +"Монтанаро." + +msgid "Augmented Assignment" +msgstr "Доповнене завдання" + +msgid "" +"Augmented assignment operators, another long-requested feature, have been " +"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``, " +"``*=``, and so forth. For example, the statement ``a += 2`` increments the " +"value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a " +"= a + 2``." +msgstr "" +"До Python 2.0 додано розширені оператори присвоєння, ще одну давно " +"запитувану функцію. Розширені оператори присвоєння включають ``+=``, ``-=``, " +"``*=`` і так далі. Наприклад, оператор ``a += 2`` збільшує значення змінної " +"``a`` на 2, еквівалентно трохи довшому ``a = a + 2``." + +msgid "" +"The full list of supported assignment operators is ``+=``, ``-=``, ``*=``, " +"``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, and ``<<=``. " +"Python classes can override the augmented assignment operators by defining " +"methods named :meth:`__iadd__`, :meth:`__isub__`, etc. For example, the " +"following :class:`Number` class stores a number and supports using += to " +"create a new instance with an incremented value." +msgstr "" +"Повний список підтримуваних операторів призначення: ``+=``, ``-=``, ``*=``, " +"``/=``, ``%=``, ``**=`` , ``&=``, ``|=``, ``^=``, ``>>=`` і ``<<=``. Класи " +"Python можуть перевизначати розширені оператори присвоювання, визначаючи " +"методи з іменами :meth:`__iadd__`, :meth:`__isub__` тощо. Наприклад, " +"наступний клас :class:`Number` зберігає число та підтримує використання += " +"для створення новий екземпляр із збільшеним значенням." + +msgid "" +"The :meth:`__iadd__` special method is called with the value of the " +"increment, and should return a new instance with an appropriately modified " +"value; this return value is bound as the new value of the variable on the " +"left-hand side." +msgstr "" +"Спеціальний метод :meth:`__iadd__` викликається зі значенням приросту та має " +"повертати новий екземпляр із відповідним чином зміненим значенням; це " +"повернуте значення прив’язується як нове значення змінної зліва." + +msgid "" +"Augmented assignment operators were first introduced in the C programming " +"language, and most C-derived languages, such as :program:`awk`, C++, Java, " +"Perl, and PHP also support them. The augmented assignment patch was " +"implemented by Thomas Wouters." +msgstr "" +"Розширені оператори присвоєння вперше були представлені в мові програмування " +"C, і більшість похідних від C мов, таких як :program:`awk`, C++, Java, Perl " +"і PHP, також їх підтримують. Патч доповненого призначення реалізував Томас " +"Воутерс." + +msgid "String Methods" +msgstr "Рядкові методи" + +msgid "" +"Until now string-manipulation functionality was in the :mod:`string` module, " +"which was usually a front-end for the :mod:`strop` module written in C. The " +"addition of Unicode posed a difficulty for the :mod:`strop` module, because " +"the functions would all need to be rewritten in order to accept either 8-bit " +"or Unicode strings. For functions such as :func:`string.replace`, which " +"takes 3 string arguments, that means eight possible permutations, and " +"correspondingly complicated code." +msgstr "" +"До цього часу функціональні можливості обробки рядків були в модулі :mod:" +"`string`, який зазвичай був інтерфейсом для модуля :mod:`strop`, написаного " +"мовою C. Додавання Unicode створювало труднощі для :mod:`strop`, тому що всі " +"функції потрібно було б переписати, щоб приймати 8-бітні рядки або рядки " +"Unicode. Для таких функцій, як :func:`string.replace`, яка приймає 3 рядкові " +"аргументи, це означає вісім можливих перестановок і, відповідно, складний " +"код." + +msgid "" +"Instead, Python 2.0 pushes the problem onto the string type, making string " +"manipulation functionality available through methods on both 8-bit strings " +"and Unicode strings. ::" +msgstr "" +"Натомість Python 2.0 переносить проблему на рядковий тип, роблячи " +"функціональні можливості маніпулювання рядками доступними через методи як " +"для 8-бітних рядків, так і для рядків Unicode. ::" + +msgid "" +"One thing that hasn't changed, a noteworthy April Fools' joke " +"notwithstanding, is that Python strings are immutable. Thus, the string " +"methods return new strings, and do not modify the string on which they " +"operate." +msgstr "" +"Одне, незважаючи на першоквітневий жарт, не змінилося, це те, що рядки " +"Python є незмінними. Таким чином, рядкові методи повертають нові рядки і не " +"змінюють рядок, з яким вони працюють." + +msgid "" +"The old :mod:`string` module is still around for backwards compatibility, " +"but it mostly acts as a front-end to the new string methods." +msgstr "" +"Старий модуль :mod:`string` все ще доступний для зворотної сумісності, але " +"він здебільшого діє як інтерфейс для нових методів рядків." + +msgid "" +"Two methods which have no parallel in pre-2.0 versions, although they did " +"exist in JPython for quite some time, are :meth:`startswith` and :meth:" +"`endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while " +"``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." +msgstr "" +"Два методи, які не мають аналогів у версіях до 2.0, хоча вони існували в " +"JPython досить довго, це :meth:`startswith` і :meth:`endswith`. ``s." +"startswith(t)`` еквівалентно ``s[:len(t)] == t``, тоді як ``s.endswith(t)`` " +"еквівалентно ``s[-len( t):] == t``." + +msgid "" +"One other method which deserves special mention is :meth:`join`. The :meth:" +"`join` method of a string receives one parameter, a sequence of strings, and " +"is equivalent to the :func:`string.join` function from the old :mod:`string` " +"module, with the arguments reversed. In other words, ``s.join(seq)`` is " +"equivalent to the old ``string.join(seq, s)``." +msgstr "" +"Ще одним методом, який заслуговує окремої згадки, є :meth:`join`. Метод :" +"meth:`join` рядка отримує один параметр, послідовність рядків, і є " +"еквівалентом функції :func:`string.join` зі старого модуля :mod:`string`, зі " +"зміненими аргументами. Іншими словами, ``s.join(seq)`` еквівалентний старому " +"``string.join(seq, s)``." + +msgid "Garbage Collection of Cycles" +msgstr "Збирання сміття циклів" + +msgid "" +"The C implementation of Python uses reference counting to implement garbage " +"collection. Every Python object maintains a count of the number of " +"references pointing to itself, and adjusts the count as references are " +"created or destroyed. Once the reference count reaches zero, the object is " +"no longer accessible, since you need to have a reference to an object to " +"access it, and if the count is zero, no references exist any longer." +msgstr "" +"Реалізація Python на C використовує підрахунок посилань для реалізації " +"збирання сміття. Кожен об’єкт Python підтримує підрахунок кількості " +"посилань, що вказують на нього самого, і коригує кількість у міру створення " +"чи знищення посилань. Коли кількість посилань досягає нуля, об’єкт більше не " +"доступний, оскільки для доступу до нього потрібно мати посилання на об’єкт, " +"і якщо кількість посилань дорівнює нулю, посилань більше не існує." + +msgid "" +"Reference counting has some pleasant properties: it's easy to understand and " +"implement, and the resulting implementation is portable, fairly fast, and " +"reacts well with other libraries that implement their own memory handling " +"schemes. The major problem with reference counting is that it sometimes " +"doesn't realise that objects are no longer accessible, resulting in a memory " +"leak. This happens when there are cycles of references." +msgstr "" +"Підрахунок посилань має деякі приємні властивості: його легко зрозуміти та " +"реалізувати, а результуюча реалізація є портативною, досить швидкою та добре " +"реагує на інші бібліотеки, які реалізують власні схеми обробки пам’яті. " +"Основна проблема з підрахунком посилань полягає в тому, що він іноді не " +"усвідомлює, що об’єкти більше не доступні, що призводить до витоку пам’яті. " +"Це відбувається, коли є цикли посилань." + +msgid "" +"Consider the simplest possible cycle, a class instance which has a " +"reference to itself::" +msgstr "" +"Розглянемо найпростіший можливий цикл, екземпляр класу, який має посилання " +"на самого себе::" + +msgid "" +"After the above two lines of code have been executed, the reference count of " +"``instance`` is 2; one reference is from the variable named ``'instance'``, " +"and the other is from the ``myself`` attribute of the instance." +msgstr "" +"Після виконання двох вищезазначених рядків коду кількість посилань " +"``примірника`` дорівнює 2; одне посилання походить від змінної з назвою " +"``'instance'``, а інше — від атрибута ``mysel`` екземпляра." + +msgid "" +"If the next line of code is ``del instance``, what happens? The reference " +"count of ``instance`` is decreased by 1, so it has a reference count of 1; " +"the reference in the ``myself`` attribute still exists. Yet the instance is " +"no longer accessible through Python code, and it could be deleted. Several " +"objects can participate in a cycle if they have references to each other, " +"causing all of the objects to be leaked." +msgstr "" +"Що станеться, якщо наступним рядком коду є ``del instance``? Кількість " +"посилань ``примірника`` зменшено на 1, тому він має кількість посилань 1; " +"посилання в атрибуті ``mysel`` все ще існує. Проте екземпляр більше не " +"доступний через код Python, і його можна видалити. Кілька об’єктів можуть " +"брати участь у циклі, якщо вони мають посилання один на одного, що спричиняє " +"витік усіх об’єктів." + +msgid "" +"Python 2.0 fixes this problem by periodically executing a cycle detection " +"algorithm which looks for inaccessible cycles and deletes the objects " +"involved. A new :mod:`gc` module provides functions to perform a garbage " +"collection, obtain debugging statistics, and tuning the collector's " +"parameters." +msgstr "" +"Python 2.0 вирішує цю проблему, періодично виконуючи алгоритм виявлення " +"циклу, який шукає недоступні цикли та видаляє залучені об’єкти. Новий " +"модуль :mod:`gc` надає функції для збирання сміття, отримання статистики " +"налагодження та налаштування параметрів збирача." + +msgid "" +"Running the cycle detection algorithm takes some time, and therefore will " +"result in some additional overhead. It is hoped that after we've gotten " +"experience with the cycle collection from using 2.0, Python 2.1 will be able " +"to minimize the overhead with careful tuning. It's not yet obvious how much " +"performance is lost, because benchmarking this is tricky and depends " +"crucially on how often the program creates and destroys objects. The " +"detection of cycles can be disabled when Python is compiled, if you can't " +"afford even a tiny speed penalty or suspect that the cycle collection is " +"buggy, by specifying the :option:`!--without-cycle-gc` switch when running " +"the :program:`configure` script." +msgstr "" +"Виконання алгоритму виявлення циклу займає деякий час, а тому призведе до " +"додаткових витрат. Сподіваємося, що після того, як ми отримаємо досвід " +"роботи зі збором циклів від використання 2.0, Python 2.1 зможе мінімізувати " +"накладні витрати завдяки ретельному налаштуванню. Поки що неочевидно, " +"скільки продуктивності втрачається, тому що це порівняльний аналіз є " +"складним і дуже залежить від того, як часто програма створює та знищує " +"об’єкти. Виявлення циклів можна вимкнути під час компіляції Python, якщо ви " +"не можете дозволити собі навіть незначне зниження швидкості або підозрюєте, " +"що збирання циклів є помилковим, вказавши перемикач :option:`!--without-" +"cycle-gc`, коли виконання сценарію :program:`configure`." + +msgid "" +"Several people tackled this problem and contributed to a solution. An early " +"implementation of the cycle detection approach was written by Toby Kelsey. " +"The current algorithm was suggested by Eric Tiedemann during a visit to " +"CNRI, and Guido van Rossum and Neil Schemenauer wrote two different " +"implementations, which were later integrated by Neil. Lots of other people " +"offered suggestions along the way; the March 2000 archives of the python-dev " +"mailing list contain most of the relevant discussion, especially in the " +"threads titled \"Reference cycle collection for Python\" and \"Finalization " +"again\"." +msgstr "" +"Кілька людей взялися за цю проблему та зробили свій внесок у її вирішення. " +"Рання реалізація підходу виявлення циклу була написана Тобі Келсі. Поточний " +"алгоритм був запропонований Еріком Тідеманном під час візиту до CNRI, а " +"Гвідо ван Россум і Ніл Шеменауер написали дві різні реалізації, які пізніше " +"були інтегровані Нілом. Багато інших людей пропонували пропозиції на цьому " +"шляху; архіви списку розсилки python-dev за березень 2000 року містять " +"більшість відповідних обговорень, особливо в темах під назвою \"Колекція " +"довідкового циклу для Python\" і \"Знову завершення\"." + +msgid "Other Core Changes" +msgstr "Інші основні зміни" + +msgid "" +"Various minor changes have been made to Python's syntax and built-in " +"functions. None of the changes are very far-reaching, but they're handy " +"conveniences." +msgstr "" +"У синтаксис і вбудовані функції Python внесено різні незначні зміни. Жодна " +"зі змін не є дуже далекосяжною, але це зручні зручності." + +msgid "Minor Language Changes" +msgstr "Незначні зміни мови" + +msgid "" +"A new syntax makes it more convenient to call a given function with a tuple " +"of arguments and/or a dictionary of keyword arguments. In Python 1.5 and " +"earlier, you'd use the :func:`apply` built-in function: ``apply(f, args, " +"kw)`` calls the function :func:`f` with the argument tuple *args* and the " +"keyword arguments in the dictionary *kw*. :func:`apply` is the same in " +"2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` is a shorter " +"and clearer way to achieve the same effect. This syntax is symmetrical with " +"the syntax for defining functions::" +msgstr "" +"Новий синтаксис робить більш зручним виклик певної функції за допомогою " +"кортежу аргументів та/або словника ключових аргументів. У Python 1.5 і " +"раніших версіях ви використовували вбудовану функцію :func:`apply`: " +"``apply(f, args, kw)`` викликає функцію :func:`f` з кортежем аргументів " +"*args* і ключові аргументи в словнику *kw*. :func:`apply` те саме у версії " +"2.0, але завдяки патчу від Грега Юінга, ``f(*args, **kw)`` є коротшим і " +"зрозумілішим способом досягнення того самого ефекту. Цей синтаксис " +"симетричний до синтаксису для визначення функцій:" + +msgid "" +"The ``print`` statement can now have its output directed to a file-like " +"object by following the ``print`` with ``>> file``, similar to the " +"redirection operator in Unix shells. Previously you'd either have to use " +"the :meth:`write` method of the file-like object, which lacks the " +"convenience and simplicity of ``print``, or you could assign a new value to " +"``sys.stdout`` and then restore the old value. For sending output to " +"standard error, it's much easier to write this::" +msgstr "" +"Оператор ``print`` тепер може мати вихід, спрямований на файлоподібний " +"об’єкт, слідуючи за ``print`` ``>> file``, подібно до оператора " +"перенаправлення в оболонках Unix. Раніше вам потрібно було використовувати " +"метод :meth:`write` файлоподібного об’єкта, якому бракує зручності та " +"простоти ``print``, або ви могли призначити нове значення ``sys.stdout``, а " +"потім відновіть старе значення. Для надсилання виводу до стандартної помилки " +"набагато простіше написати це::" + +msgid "" +"Modules can now be renamed on importing them, using the syntax ``import " +"module as name`` or ``from module import name as othername``. The patch was " +"submitted by Thomas Wouters." +msgstr "" +"Модулі тепер можна перейменовувати під час їх імпорту, використовуючи " +"синтаксис ``імпортувати модуль як ім’я`` або ``з імені імпорту модуля як " +"інше ім’я``. Патч надіслав Томас Воутерс." + +msgid "" +"A new format style is available when using the ``%`` operator; '%r' will " +"insert the :func:`repr` of its argument. This was also added from symmetry " +"considerations, this time for symmetry with the existing '%s' format style, " +"which inserts the :func:`str` of its argument. For example, ``'%r %s' % " +"('abc', 'abc')`` returns a string containing ``'abc' abc``." +msgstr "" +"Новий стиль формату доступний при використанні оператора ``%``; '%r' " +"вставить :func:`repr` свого аргументу. Це також було додано з міркувань " +"симетрії, цього разу для симетрії з існуючим стилем формату '%s', який " +"вставляє :func:`str` свого аргументу. Наприклад, ``'%r %s' % ('abc', " +"'abc')`` повертає рядок, що містить ``'abc' abc``." + +msgid "" +"Previously there was no way to implement a class that overrode Python's " +"built-in :keyword:`in` operator and implemented a custom version. ``obj in " +"seq`` returns true if *obj* is present in the sequence *seq*; Python " +"computes this by simply trying every index of the sequence until either " +"*obj* is found or an :exc:`IndexError` is encountered. Moshe Zadka " +"contributed a patch which adds a :meth:`__contains__` magic method for " +"providing a custom implementation for :keyword:`!in`. Additionally, new " +"built-in objects written in C can define what :keyword:`!in` means for them " +"via a new slot in the sequence protocol." +msgstr "" +"Раніше не було можливості реалізувати клас, який замінює вбудований оператор " +"Python :keyword:`in` і реалізовує спеціальну версію. ``obj in seq`` повертає " +"істину, якщо *obj* присутній у послідовності *seq*; Python обчислює це, " +"просто пробуючи кожен індекс послідовності, поки не буде знайдено *obj* або " +"не буде виявлено :exc:`IndexError`. Moshe Zadka вніс патч, який додає " +"магічний метод :meth:`__contains__` для надання спеціальної реалізації для :" +"keyword:`!in`. Крім того, нові вбудовані об’єкти, написані мовою C, можуть " +"визначати, що для них означає :keyword:`!in` через новий слот у протоколі " +"послідовності." + +msgid "" +"Earlier versions of Python used a recursive algorithm for deleting objects. " +"Deeply nested data structures could cause the interpreter to fill up the C " +"stack and crash; Christian Tismer rewrote the deletion logic to fix this " +"problem. On a related note, comparing recursive objects recursed infinitely " +"and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a " +"useful result instead. For example, after this code::" +msgstr "" +"Попередні версії Python використовували рекурсивний алгоритм для видалення " +"об’єктів. Глибоко вкладені структури даних можуть спричинити заповнення " +"стека C і збій інтерпретатора; Крістіан Тісмер переписав логіку видалення, " +"щоб вирішити цю проблему. У зв’язку з цим, порівняння рекурсивних об’єктів " +"нескінченно рекурсувало і вийшло з ладу; Джеремі Гілтон переписав код, щоб " +"він більше не виходив з ладу, натомість створюючи корисний результат. " +"Наприклад, після цього коду::" + +msgid "" +"The comparison ``a==b`` returns true, because the two recursive data " +"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April " +"2000 archives of the python-dev mailing list for the discussion leading up " +"to this implementation, and some useful relevant links. Note that " +"comparisons can now also raise exceptions. In earlier versions of Python, a " +"comparison operation such as ``cmp(a,b)`` would always produce an answer, " +"even if a user-defined :meth:`__cmp__` method encountered an error, since " +"the resulting exception would simply be silently swallowed." +msgstr "" +"Порівняння ``a==b`` повертає true, оскільки дві рекурсивні структури даних є " +"ізоморфними. Дивіться тему \"trashcan and PR#7\" в архівах списку розсилки " +"python-dev за квітень 2000 року для обговорення, що призвело до цієї " +"реалізації, а також деякі корисні відповідні посилання. Зауважте, що " +"порівняння тепер також можуть створювати винятки. У попередніх версіях " +"Python операція порівняння, наприклад ``cmp(a,b)``, завжди давала відповідь, " +"навіть якщо визначений користувачем метод :meth:`__cmp__` виявив помилку, " +"оскільки результуючий виняток просто мовчки проковтнути." + +msgid "" +"Work has been done on porting Python to 64-bit Windows on the Itanium " +"processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys." +"platform`` is still ``'win32'`` on Win64 because it seems that for ease of " +"porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also " +"supports Windows CE; see the Python CE page at https://pythonce.sourceforge." +"net/ for more information." +msgstr "" + +msgid "" +"Another new platform is Darwin/MacOS X; initial support for it is in Python " +"2.0. Dynamic loading works, if you specify \"configure --with-dyld --with-" +"suffix=.x\". Consult the README in the Python source distribution for more " +"instructions." +msgstr "" +"Ще одна нова платформа — Darwin/MacOS X; початкова підтримка для нього в " +"Python 2.0. Динамічне завантаження працює, якщо ви вкажете \"configure --" +"with-dyld --with-suffix=.x\". Щоб отримати додаткові вказівки, зверніться до " +"файлу README у вихідному коді Python." + +msgid "" +"An attempt has been made to alleviate one of Python's warts, the often-" +"confusing :exc:`NameError` exception when code refers to a local variable " +"before the variable has been assigned a value. For example, the following " +"code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; " +"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new :exc:" +"`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass of :" +"exc:`NameError`, so any existing code that expects :exc:`NameError` to be " +"raised should still work. ::" +msgstr "" +"Була зроблена спроба пом’якшити одну з недоліків Python, виняток :exc:" +"`NameError`, який часто викликає плутанину, коли код посилається на локальну " +"змінну до того, як їй було присвоєно значення. Наприклад, наступний код " +"викликає виняток у операторі ``print`` як у 1.5.2, так і 2.0; у 1.5.2 " +"виникає виняток :exc:`NameError`, тоді як у 2.0 виникає новий виняток :exc:" +"`UnboundLocalError`. :exc:`UnboundLocalError` є підкласом :exc:`NameError`, " +"тому будь-який існуючий код, який очікує виклику :exc:`NameError`, має " +"працювати. ::" + +msgid "" +"Two new exceptions, :exc:`TabError` and :exc:`IndentationError`, have been " +"introduced. They're both subclasses of :exc:`SyntaxError`, and are raised " +"when Python code is found to be improperly indented." +msgstr "" +"Додано два нові винятки, :exc:`TabError` і :exc:`IndentationError`. Обидва " +"вони є підкласами :exc:`SyntaxError` і викликаються, коли виявляється, що " +"код Python має неправильний відступ." + +msgid "Changes to Built-in Functions" +msgstr "Зміни вбудованих функцій" + +msgid "" +"A new built-in, ``zip(seq1, seq2, ...)``, has been added. :func:`zip` " +"returns a list of tuples where each tuple contains the i-th element from " +"each of the argument sequences. The difference between :func:`zip` and " +"``map(None, seq1, seq2)`` is that :func:`map` pads the sequences with " +"``None`` if the sequences aren't all of the same length, while :func:`zip` " +"truncates the returned list to the length of the shortest argument sequence." +msgstr "" +"Додано нову вбудовану функцію ``zip(seq1, seq2, ...)``. :func:`zip` повертає " +"список кортежів, де кожен кортеж містить i-й елемент із кожної послідовності " +"аргументів. Різниця між :func:`zip` і ``map(None, seq1, seq2)`` полягає в " +"тому, що :func:`map` доповнює послідовності ``None``, якщо послідовності не " +"мають однакову довжину , а :func:`zip` скорочує повернутий список до довжини " +"найкоротшої послідовності аргументів." + +msgid "" +"The :func:`int` and :func:`long` functions now accept an optional \"base\" " +"parameter when the first argument is a string. ``int('123', 10)`` returns " +"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a :exc:" +"`TypeError` exception with the message \"can't convert non-string with " +"explicit base\"." +msgstr "" +"Функції :func:`int` і :func:`long` тепер приймають додатковий параметр \"base" +"\", коли перший аргумент є рядком. ``int('123', 10)`` повертає 123, тоді як " +"``int('123', 16)`` повертає 291. ``int(123, 16)`` викликає виняток :exc:" +"`TypeError` з повідомленням \"неможливо перетворити не рядок із явною базою" +"\"." + +msgid "" +"A new variable holding more detailed version information has been added to " +"the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, " +"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, ``sys." +"version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string such " +"as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." +msgstr "" +"До модуля :mod:`sys` додано нову змінну, що містить більш детальну " +"інформацію про версію. ``sys.version_info`` — це кортеж ``(major, minor, " +"micro, level, serial)``. Наприклад, у гіпотетичній версії 2.0.1beta1, ``sys." +"version_info`` буде ``(2, 0 , 1, 'бета', 1)``. *level* — це рядок, наприклад " +"``\"alpha\"``, ``\"beta\"`` або ``\"final\"`` для остаточного випуску." + +msgid "" +"Dictionaries have an odd new method, ``setdefault(key, default)``, which " +"behaves similarly to the existing :meth:`get` method. However, if the key " +"is missing, :meth:`setdefault` both returns the value of *default* as :meth:" +"`get` would do, and also inserts it into the dictionary as the value for " +"*key*. Thus, the following lines of code::" +msgstr "" +"У словниках є дивний новий метод, ``setdefault(key, default)``, який " +"поводиться подібно до існуючого методу :meth:`get`. Однак, якщо ключ " +"відсутній, :meth:`setdefault` повертає значення *default*, як це зробив би :" +"meth:`get`, а також вставляє його до словника як значення для *key*. Таким " +"чином, наступні рядки коду::" + +msgid "" +"can be reduced to a single ``return dict.setdefault(key, [])`` statement." +msgstr "можна звести до одного оператора ``return dict.setdefault(key, [])``." + +msgid "" +"The interpreter sets a maximum recursion depth in order to catch runaway " +"recursion before filling the C stack and causing a core dump or GPF.. " +"Previously this limit was fixed when you compiled Python, but in 2.0 the " +"maximum recursion depth can be read and modified using :func:`sys." +"getrecursionlimit` and :func:`sys.setrecursionlimit`. The default value is " +"1000, and a rough maximum value for a given platform can be found by running " +"a new script, :file:`Misc/find_recursionlimit.py`." +msgstr "" +"Інтерпретатор встановлює максимальну глибину рекурсії, щоб уловити " +"невимушену рекурсію перед заповненням стека C і створенням дампа ядра або " +"GPF. Раніше це обмеження було виправлено під час компіляції Python, але у " +"2.0 максимальну глибину рекурсії можна прочитати та змінити за допомогою :" +"func:`sys.getrecursionlimit` і :func:`sys.setrecursionlimit`. Стандартним " +"значенням є 1000, а приблизне максимальне значення для даної платформи можна " +"знайти, запустивши новий сценарій :file:`Misc/find_recursionlimit.py`." + +msgid "Porting to 2.0" +msgstr "Перенесення на 2.0" + +msgid "" +"New Python releases try hard to be compatible with previous releases, and " +"the record has been pretty good. However, some changes are considered " +"useful enough, usually because they fix initial design decisions that turned " +"out to be actively mistaken, that breaking backward compatibility can't " +"always be avoided. This section lists the changes in Python 2.0 that may " +"cause old Python code to break." +msgstr "" +"Нові випуски Python намагаються бути сумісними з попередніми випусками, і " +"результати були досить хорошими. Однак деякі зміни вважаються досить " +"корисними, зазвичай тому, що вони виправляють початкові дизайнерські " +"рішення, які виявилися активно помилковими, тому порушення зворотної " +"сумісності не завжди можна уникнути. У цьому розділі перераховано зміни в " +"Python 2.0, які можуть призвести до поломки старого коду Python." + +msgid "" +"The change which will probably break the most code is tightening up the " +"arguments accepted by some methods. Some methods would take multiple " +"arguments and treat them as a tuple, particularly various list methods such " +"as :meth:`append` and :meth:`insert`. In earlier versions of Python, if " +"``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " +"list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " +"with the message: 'append requires exactly 1 argument; 2 given'. The fix is " +"to simply add an extra set of parentheses to pass both values as a tuple: " +"``L.append( (1,2) )``." +msgstr "" +"Зміна, яка, ймовірно, найбільше порушить код, полягає в посиленні " +"аргументів, прийнятих деякими методами. Деякі методи приймають кілька " +"аргументів і розглядають їх як кортеж, зокрема різні методи списку, такі як :" +"meth:`append` і :meth:`insert`. У попередніх версіях Python, якщо ``L`` є " +"списком, ``L.append( 1,2 )`` додає кортеж ``(1,2)`` до списку. У Python 2.0 " +"це викликає виняток :exc:`TypeError` із повідомленням: \"додавання вимагає " +"рівно 1 аргументу; 2 дано'. Виправлення полягає в тому, щоб просто додати " +"додатковий набір дужок, щоб передати обидва значення як кортеж: ``L." +"append( (1,2) )``." + +msgid "" +"The earlier versions of these methods were more forgiving because they used " +"an old function in Python's C interface to parse their arguments; 2.0 " +"modernizes them to use :func:`PyArg_ParseTuple`, the current argument " +"parsing function, which provides more helpful error messages and treats " +"multi-argument calls as errors. If you absolutely must use 2.0 but can't " +"fix your code, you can edit :file:`Objects/listobject.c` and define the " +"preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour; " +"this isn't recommended." +msgstr "" +"Попередні версії цих методів були більш поблажливими, оскільки вони " +"використовували стару функцію в інтерфейсі C Python для аналізу своїх " +"аргументів; 2.0 модернізує їх для використання :func:`PyArg_ParseTuple`, " +"поточної функції аналізу аргументів, яка надає більш корисні повідомлення " +"про помилки та розглядає багатоаргументні виклики як помилки. Якщо вам " +"абсолютно необхідно використовувати 2.0, але ви не можете виправити свій " +"код, ви можете відредагувати :file:`Objects/listobject.c` і визначити символ " +"препроцесора ``NO_STRICT_LIST_APPEND``, щоб зберегти стару поведінку; це не " +"рекомендується." + +msgid "" +"Some of the functions in the :mod:`socket` module are still forgiving in " +"this way. For example, :func:`socket.connect( ('hostname', 25) )` is the " +"correct form, passing a tuple representing an IP address, but :func:`socket." +"connect( 'hostname', 25 )` also works. :func:`socket.connect_ex` and :func:" +"`socket.bind` are similarly easy-going. 2.0alpha1 tightened these functions " +"up, but because the documentation actually used the erroneous multiple " +"argument form, many people wrote code which would break with the stricter " +"checking. GvR backed out the changes in the face of public reaction, so for " +"the :mod:`socket` module, the documentation was fixed and the multiple " +"argument form is simply marked as deprecated; it *will* be tightened up " +"again in a future Python version." +msgstr "" +"Деякі функції в модулі :mod:`socket` все ще прощають таким чином. " +"Наприклад, :func:`socket.connect( ('hostname', 25) )` є правильною формою, " +"яка передає кортеж, що представляє IP-адресу, але :func:`socket." +"connect( 'hostname', 25 )` також працює. :func:`socket.connect_ex` і :func:" +"`socket.bind` так само прості. 2.0alpha1 посилив ці функції, але оскільки " +"документація фактично використовувала помилкову форму з декількома " +"аргументами, багато людей писали код, який порушує суворішу перевірку. GvR " +"скасував зміни, незважаючи на реакцію громадськості, тому для модуля :mod:" +"`socket` документацію було виправлено, а форму з кількома аргументами просто " +"позначено як застарілу; його *буде* знову посилено в майбутній версії Python." + +msgid "" +"The ``\\x`` escape in string literals now takes exactly 2 hex digits. " +"Previously it would consume all the hex digits following the 'x' and take " +"the lowest 8 bits of the result, so ``\\x123456`` was equivalent to ``" +"\\x56``." +msgstr "" +"Екранування ``\\x`` у рядкових літералах тепер займає рівно 2 шістнадцяткові " +"цифри. Раніше він використовував усі шістнадцяткові цифри після 'x' і брав " +"молодші 8 бітів результату, тому ``\\x123456`` був еквівалентним ``\\x56``." + +msgid "" +"The :exc:`AttributeError` and :exc:`NameError` exceptions have a more " +"friendly error message, whose text will be something like ``'Spam' instance " +"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the " +"error message was just the missing attribute name ``eggs``, and code written " +"to take advantage of this fact will break in 2.0." +msgstr "" +"Винятки :exc:`AttributeError` і :exc:`NameError` мають більш зрозуміле " +"повідомлення про помилку, текст якого буде приблизно таким, як \"Екземпляр " +"спаму\" не має атрибута \"яйця\" або \"назва \"яйця\" є не визначено``. " +"Раніше повідомленням про помилку було лише відсутнє ім’я атрибута ``яйця``, " +"і код, написаний для використання цього факту, зламається у 2.0." + +msgid "" +"Some work has been done to make integers and long integers a bit more " +"interchangeable. In 1.5.2, large-file support was added for Solaris, to " +"allow reading files larger than 2 GiB; this made the :meth:`tell` method of " +"file objects return a long integer instead of a regular integer. Some code " +"would subtract two file offsets and attempt to use the result to multiply a " +"sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " +"long integers can be used to multiply or slice a sequence, and it'll behave " +"as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and " +"``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in " +"various contexts where previously only integers were accepted, such as in " +"the :meth:`seek` method of file objects, and in the formats supported by the " +"``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % " +"2L**64`` will produce the string ``18446744073709551616``." +msgstr "" +"Було зроблено певну роботу, щоб зробити цілі та довгі цілі трохи більш " +"взаємозамінними. У 1.5.2 була додана підтримка великих файлів для Solaris, " +"щоб дозволити читати файли розміром понад 2 ГіБ; це змусило метод :meth:" +"`tell` файлових об’єктів повертати довге ціле число замість звичайного " +"цілого. Деякий код віднімав би два зміщення файлів і намагався використати " +"результат для множення послідовності або фрагменту рядка, але це викликало :" +"exc:`TypeError`. У версії 2.0 довгі цілі числа можна використовувати для " +"множення або розділення послідовності, і вона працюватиме так, як ви " +"інтуїтивно очікуєте; 3L * 'abc' створює 'abcabcabc', а ``(0,1,2,3)[2L:4L]`` " +"створює (2,3). Довгі цілі також можна використовувати в різних контекстах, " +"де раніше приймалися лише цілі числа, наприклад у методі :meth:`seek` " +"файлових об’єктів, а також у форматах, які підтримуються оператором ``%`` (``" +"%d`` , ``%i``, ``%x`` тощо). Наприклад, ``\"%d\" % 2L**64`` створить рядок " +"``18446744073709551616``." + +msgid "" +"The subtlest long integer change of all is that the :func:`str` of a long " +"integer no longer has a trailing 'L' character, though :func:`repr` still " +"includes it. The 'L' annoyed many people who wanted to print long integers " +"that looked just like regular integers, since they had to go out of their " +"way to chop off the character. This is no longer a problem in 2.0, but code " +"which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now lose " +"the final digit." +msgstr "" +"Найтонша зміна довгого цілого числа полягає в тому, що :func:`str` довгого " +"цілого більше не має кінцевого символу 'L', хоча :func:`repr` все ще містить " +"його. \"L\" дратувала багатьох людей, які хотіли надрукувати довгі цілі " +"числа, які виглядали так само, як звичайні цілі числа, оскільки їм " +"доводилося докладати всіх зусиль, щоб відрізати символ. Це більше не є " +"проблемою у 2.0, але код, який виконує ``str(longval)[:-1]`` і припускає, що " +"є 'L', тепер втратить останню цифру." + +msgid "" +"Taking the :func:`repr` of a float now uses a different formatting precision " +"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:" +"`sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is that :" +"func:`repr` may occasionally show more decimal places than :func:`str`, for " +"certain numbers. For example, the number 8.1 can't be represented exactly " +"in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``, while str(8.1) is " +"``'8.1'``." +msgstr "" +"Прийняття :func:`repr` числа з плаваючою точкою тепер використовує іншу " +"точність форматування, ніж :func:`str`. :func:`repr` використовує рядок " +"формату ``%.17g`` для C :func:`sprintf`, а :func:`str` використовує ``" +"%.12g``, як і раніше. Внаслідок цього :func:`repr` іноді може показувати " +"більше десяткових знаків, ніж :func:`str`, для певних чисел. Наприклад, " +"число 8.1 не може бути точно представлене у двійковій формі, тому " +"``repr(8.1)`` має значення ``'8.0999999999999996'``, а str(8.1) — ``'8.1'``." + +msgid "" +"The ``-X`` command-line option, which turned all standard exceptions into " +"strings instead of classes, has been removed; the standard exceptions will " +"now always be classes. The :mod:`exceptions` module containing the standard " +"exceptions was translated from Python to a built-in C module, written by " +"Barry Warsaw and Fredrik Lundh." +msgstr "" +"Параметр командного рядка ``-X``, який перетворював усі стандартні винятки " +"на рядки замість класів, було видалено; стандартними винятками тепер завжди " +"будуть класи. Модуль :mod:`exceptions`, що містить стандартні винятки, було " +"перекладено з Python на вбудований модуль C, написаний Баррі Варшау та " +"Фредріком Лундом." + +msgid "Extending/Embedding Changes" +msgstr "Розширення/вбудовування змін" + +msgid "" +"Some of the changes are under the covers, and will only be apparent to " +"people writing C extension modules or embedding a Python interpreter in a " +"larger application. If you aren't dealing with Python's C API, you can " +"safely skip this section." +msgstr "" +"Деякі зміни знаходяться під обкладинками, і вони будуть очевидні лише для " +"людей, які пишуть модулі розширення C або вбудовують інтерпретатор Python у " +"більшу програму. Якщо ви не маєте справу з API C Python, можете сміливо " +"пропустити цей розділ." + +msgid "" +"The version number of the Python C API was incremented, so C extensions " +"compiled for 1.5.2 must be recompiled in order to work with 2.0. On " +"Windows, it's not possible for Python 2.0 to import a third party extension " +"built for Python 1.5.x due to how Windows DLLs work, so Python will raise an " +"exception and the import will fail." +msgstr "" +"Номер версії Python C API було збільшено, тому розширення C, скомпільовані " +"для 1.5.2, потрібно перекомпілювати, щоб працювати з 2.0. У Windows Python " +"2.0 не може імпортувати стороннє розширення, створене для Python 1.5.x, " +"через те, як працюють бібліотеки DLL Windows, тому Python викличе виняток, і " +"імпорт не вдасться." + +msgid "" +"Users of Jim Fulton's ExtensionClass module will be pleased to find out that " +"hooks have been added so that ExtensionClasses are now supported by :func:" +"`isinstance` and :func:`issubclass`. This means you no longer have to " +"remember to write code such as ``if type(obj) == myExtensionClass``, but can " +"use the more natural ``if isinstance(obj, myExtensionClass)``." +msgstr "" +"Користувачі модуля ExtensionClass Джима Фултона будуть раді дізнатися, що " +"були додані хуки, завдяки чому ExtensionClasses тепер підтримуються :func:" +"`isinstance` і :func:`issubclass`. Це означає, що вам більше не потрібно " +"пам’ятати про написання такого коду, як ``if type(obj) == " +"myExtensionClass``, а можна використовувати більш природний ``if " +"isinstance(obj, myExtensionClass)``." + +msgid "" +"The :file:`Python/importdl.c` file, which was a mass of #ifdefs to support " +"dynamic loading on many different platforms, was cleaned up and reorganised " +"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific " +"code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " +"Another cleanup: there were also a number of :file:`my\\*.h` files in the " +"Include/ directory that held various portability hacks; they've been merged " +"into a single file, :file:`Include/pyport.h`." +msgstr "" +"Файл :file:`Python/importdl.c`, який являв собою масу #ifdefs для підтримки " +"динамічного завантаження на багатьох різних платформах, був очищений і " +"реорганізований Грегом Стайном. :file:`importdl.c` тепер досить малий, і " +"специфічний для платформи код було переміщено до групи файлів :file:`Python/" +"dynload_\\*.c`. Ще одне очищення: у каталозі Include/ також було кілька " +"файлів :file:`my\\*.h`, які містили різноманітні хаки для перенесення; їх " +"об’єднано в один файл :file:`Include/pyport.h`." + +msgid "" +"Vladimir Marangozov's long-awaited malloc restructuring was completed, to " +"make it easy to have the Python interpreter use a custom allocator instead " +"of C's standard :func:`malloc`. For documentation, read the comments in :" +"file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " +"discussions during which the interface was hammered out, see the web " +"archives of the 'patches' and 'python-dev' lists at python.org." +msgstr "" +"Довгоочікувана реструктуризація malloc Володимира Марангозова була " +"завершена, щоб полегшити використання інтерпретатором Python спеціального " +"розподілювача замість стандартного C :func:`malloc`. Для документації " +"прочитайте коментарі в :file:`Include/pymem.h` і :file:`Include/objimpl.h`. " +"Щоб дізнатися про довгі дискусії, під час яких вироблявся інтерфейс, " +"перегляньте веб-архіви списків \"патчів\" і \"python-dev\" на python.org." + +msgid "" +"Recent versions of the GUSI development environment for MacOS support POSIX " +"threads. Therefore, Python's POSIX threading support now works on the " +"Macintosh. Threading support using the user-space GNU ``pth`` library was " +"also contributed." +msgstr "" +"Останні версії середовища розробки GUSI для MacOS підтримують потоки POSIX. " +"Таким чином, підтримка потоків Python POSIX тепер працює на Macintosh. Також " +"була надана підтримка потоків за допомогою бібліотеки GNU ``pth`` у просторі " +"користувача." + +msgid "" +"Threading support on Windows was enhanced, too. Windows supports thread " +"locks that use kernel objects only in case of contention; in the common case " +"when there's no contention, they use simpler functions which are an order of " +"magnitude faster. A threaded version of Python 1.5.2 on NT is twice as slow " +"as an unthreaded version; with the 2.0 changes, the difference is only 10%. " +"These improvements were contributed by Yakov Markovitch." +msgstr "" +"Також покращено підтримку потоків у Windows. Windows підтримує блокування " +"потоків, які використовують об’єкти ядра лише у випадку конфлікту; у " +"звичайному випадку, коли немає суперечок, вони використовують простіші " +"функції, які на порядок швидші. Потокова версія Python 1.5.2 на NT вдвічі " +"повільніша за безпотокову версію; зі змінами 2.0 різниця становить лише 10%. " +"Ці вдосконалення вніс Яків Маркович." + +msgid "" +"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now " +"requires an ANSI C compiler, and can no longer be done using a compiler that " +"only supports K&R C." +msgstr "" +"Вихідні коди Python 2.0 тепер використовують лише прототипи ANSI C, тому для " +"компіляції Python тепер потрібен компілятор ANSI C, і його більше неможливо " +"виконати за допомогою компілятора, який підтримує лише K&R C." + +msgid "" +"Previously the Python virtual machine used 16-bit numbers in its bytecode, " +"limiting the size of source files. In particular, this affected the maximum " +"size of literal lists and dictionaries in Python source; occasionally people " +"who are generating Python code would run into this limit. A patch by " +"Charles G. Waldman raises the limit from ``2**16`` to ``2**32``." +msgstr "" +"Раніше віртуальна машина Python використовувала 16-бітні числа у своєму байт-" +"коді, обмежуючи розмір вихідних файлів. Зокрема, це вплинуло на максимальний " +"розмір списків літералів і словників у вихідних кодах Python; час від часу " +"люди, які генерують код Python, стикаються з цим обмеженням. Патч від " +"Charles G. Waldman підвищує ліміт з ``2**16`` до ``2**32``." + +msgid "" +"Three new convenience functions intended for adding constants to a module's " +"dictionary at module initialization time were added: :func:" +"`PyModule_AddObject`, :func:`PyModule_AddIntConstant`, and :func:" +"`PyModule_AddStringConstant`. Each of these functions takes a module " +"object, a null-terminated C string containing the name to be added, and a " +"third argument for the value to be assigned to the name. This third " +"argument is, respectively, a Python object, a C long, or a C string." +msgstr "" +"Додано три нові зручні функції, призначені для додавання констант до " +"словника модуля під час ініціалізації модуля: :func:`PyModule_AddObject`, :" +"func:`PyModule_AddIntConstant` і :func:`PyModule_AddStringConstant`. Кожна з " +"цих функцій приймає об’єкт модуля, рядок C із нульовим символом, що містить " +"ім’я, яке потрібно додати, і третій аргумент для значення, яке буде " +"присвоєно імені. Цей третій аргумент є, відповідно, об’єктом Python, довгим " +"C або рядком C." + +msgid "" +"A wrapper API was added for Unix-style signal handlers. :func:`PyOS_getsig` " +"gets a signal handler and :func:`PyOS_setsig` will set a new handler." +msgstr "" +"Було додано API оболонки для обробників сигналів у стилі Unix. :func:" +"`PyOS_getsig` отримує обробник сигналу, а :func:`PyOS_setsig` встановить " +"новий обробник." + +msgid "Distutils: Making Modules Easy to Install" +msgstr "Distutils: полегшення встановлення модулів" + +msgid "" +"Before Python 2.0, installing modules was a tedious affair -- there was no " +"way to figure out automatically where Python is installed, or what compiler " +"options to use for extension modules. Software authors had to go through an " +"arduous ritual of editing Makefiles and configuration files, which only " +"really work on Unix and leave Windows and MacOS unsupported. Python users " +"faced wildly differing installation instructions which varied between " +"different extension packages, which made administering a Python installation " +"something of a chore." +msgstr "" +"До Python 2.0 встановлення модулів було нудною справою — не було можливості " +"автоматично визначити, де встановлено Python, або які параметри компілятора " +"використовувати для модулів розширення. Авторам програмного забезпечення " +"довелося пройти через важкий ритуал редагування файлів Makefile та " +"конфігураційних файлів, які справді працюють лише в Unix, а Windows і MacOS " +"не підтримуються. Користувачі Python зіткнулися з надзвичайно різними " +"інструкціями встановлення, які відрізнялися між різними пакетами розширень, " +"що робило адміністрування встановлення Python чимось на зразок клопітку." + +msgid "" +"The SIG for distribution utilities, shepherded by Greg Ward, has created the " +"Distutils, a system to make package installation much easier. They form " +"the :mod:`distutils` package, a new part of Python's standard library. In " +"the best case, installing a Python module from source will require the same " +"steps: first you simply mean unpack the tarball or zip archive, and the run " +"\"``python setup.py install``\". The platform will be automatically " +"detected, the compiler will be recognized, C extension modules will be " +"compiled, and the distribution installed into the proper directory. " +"Optional command-line arguments provide more control over the installation " +"process, the distutils package offers many places to override defaults -- " +"separating the build from the install, building or installing in non-default " +"directories, and more." +msgstr "" +"SIG для розповсюджувальних утиліт, очолюваний Грегом Уордом, створив " +"Distutils, систему, яка значно полегшує встановлення пакетів. Вони утворюють " +"пакет :mod:`distutils`, нову частину стандартної бібліотеки Python. У " +"найкращому випадку інсталяція модуля Python із вихідного коду вимагатиме тих " +"самих кроків: спочатку ви просто маєте на увазі розпакування архіву tarball " +"або zip і запустіть \"``python setup.py install``\". Платформа буде " +"автоматично визначена, компілятор буде розпізнано, модулі розширення C " +"будуть скомпільовані, а дистрибутив встановлено у відповідний каталог. " +"Необов’язкові аргументи командного рядка забезпечують більше контролю над " +"процесом інсталяції, пакет distutils пропонує багато місць для заміни " +"значень за замовчуванням – відокремлення збірки від інсталяції, збірка або " +"встановлення в каталогах, що не є типовими, тощо." + +msgid "" +"In order to use the Distutils, you need to write a :file:`setup.py` script. " +"For the simple case, when the software contains only .py files, a minimal :" +"file:`setup.py` can be just a few lines long::" +msgstr "" +"Щоб використовувати Distutils, вам потрібно написати сценарій :file:`setup." +"py`. У простому випадку, коли програмне забезпечення містить лише файли .py, " +"мінімальний файл :file:`setup.py` може складатися лише з кількох рядків::" + +msgid "" +"The :file:`setup.py` file isn't much more complicated if the software " +"consists of a few packages::" +msgstr "" +"Файл :file:`setup.py` не є набагато складнішим, якщо програмне забезпечення " +"складається з кількох пакетів::" + +msgid "" +"A C extension can be the most complicated case; here's an example taken from " +"the PyXML package::" +msgstr "" +"Розширення C може бути найскладнішим випадком; ось приклад, взятий з пакета " +"PyXML::" + +msgid "" +"The Distutils can also take care of creating source and binary " +"distributions. The \"sdist\" command, run by \"``python setup.py sdist``', " +"builds a source distribution such as :file:`foo-1.0.tar.gz`. Adding new " +"commands isn't difficult, \"bdist_rpm\" and \"bdist_wininst\" commands have " +"already been contributed to create an RPM distribution and a Windows " +"installer for the software, respectively. Commands to create other " +"distribution formats such as Debian packages and Solaris :file:`.pkg` files " +"are in various stages of development." +msgstr "" +"Distutils також може подбати про створення вихідних і двійкових " +"дистрибутивів. Команда \"sdist\", яку запускає \"`` python setup.py sdist``" +"\", створює вихідний дистрибутив, такий як :file:`foo-1.0.tar.gz`. Додавати " +"нові команди не складно, \"bdist_rpm\" Команди \"bdist_wininst\" і " +"\"bdist_wininst\" вже були використані для створення дистрибутива RPM і " +"інсталятора Windows для програмного забезпечення відповідно. ." + +msgid "" +"All this is documented in a new manual, *Distributing Python Modules*, that " +"joins the basic set of Python documentation." +msgstr "" +"Усе це задокументовано в новому посібнику *Розповсюдження модулів Python*, " +"який доповнює базовий набір документації Python." + +msgid "XML Modules" +msgstr "Модулі XML" + +msgid "" +"Python 1.5.2 included a simple XML parser in the form of the :mod:`xmllib` " +"module, contributed by Sjoerd Mullender. Since 1.5.2's release, two " +"different interfaces for processing XML have become common: SAX2 (version 2 " +"of the Simple API for XML) provides an event-driven interface with some " +"similarities to :mod:`xmllib`, and the DOM (Document Object Model) provides " +"a tree-based interface, transforming an XML document into a tree of nodes " +"that can be traversed and modified. Python 2.0 includes a SAX2 interface " +"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we " +"will give a brief overview of these new interfaces; consult the Python " +"documentation or the source code for complete details. The Python XML SIG is " +"also working on improved documentation." +msgstr "" +"Python 1.5.2 містив простий аналізатор XML у формі модуля :mod:`xmllib`, " +"наданого Sjoerd Mullender. Починаючи з випуску 1.5.2, два різні інтерфейси " +"для обробки XML стали поширеними: SAX2 (версія 2 Simple API для XML) надає " +"інтерфейс, керований подіями, дещо подібний до :mod:`xmllib`, і DOM (об’єкт " +"документа). Model) надає інтерфейс на основі дерева, перетворюючи XML-" +"документ на дерево вузлів, які можна переглядати та змінювати. Python 2.0 " +"містить інтерфейс SAX2 і скорочений інтерфейс DOM як частину пакета :mod:" +"`xml`. Тут ми дамо короткий огляд цих нових інтерфейсів; зверніться до " +"документації Python або вихідного коду для отримання повної інформації. " +"Python XML SIG також працює над покращенням документації." + +msgid "SAX2 Support" +msgstr "Підтримка SAX2" + +msgid "" +"SAX defines an event-driven interface for parsing XML. To use SAX, you must " +"write a SAX handler class. Handler classes inherit from various classes " +"provided by SAX, and override various methods that will then be called by " +"the XML parser. For example, the :meth:`startElement` and :meth:" +"`endElement` methods are called for every starting and end tag encountered " +"by the parser, the :meth:`characters` method is called for every chunk of " +"character data, and so forth." +msgstr "" +"SAX визначає керований подіями інтерфейс для аналізу XML. Щоб " +"використовувати SAX, ви повинні написати клас обробника SAX. Класи " +"обробників успадковуються від різних класів, наданих SAX, і перевизначають " +"різні методи, які потім будуть викликані аналізатором XML. Наприклад, " +"методи :meth:`startElement` і :meth:`endElement` викликаються для кожного " +"початкового та кінцевого тегів, які зустрічає аналізатор, метод :meth:" +"`characters` викликається для кожної частини символьних даних, і тому вперед." + +msgid "" +"The advantage of the event-driven approach is that the whole document " +"doesn't have to be resident in memory at any one time, which matters if you " +"are processing really huge documents. However, writing the SAX handler " +"class can get very complicated if you're trying to modify the document " +"structure in some elaborate way." +msgstr "" +"Перевага керованого подіями підходу полягає в тому, що весь документ не " +"повинен постійно зберігатися в пам’яті в будь-який момент часу, що має " +"значення, якщо ви обробляєте дійсно великі документи. Однак написання класу " +"обробника SAX може стати дуже складним, якщо ви намагаєтесь модифікувати " +"структуру документа якимось складним чином." + +msgid "" +"For example, this little example program defines a handler that prints a " +"message for every starting and ending tag, and then parses the file :file:" +"`hamlet.xml` using it::" +msgstr "" +"Наприклад, цей маленький приклад програми визначає обробник, який друкує " +"повідомлення для кожного початкового та кінцевого тегу, а потім аналізує " +"файл :file:`hamlet.xml`, використовуючи його:" + +msgid "" +"For more information, consult the Python documentation, or the XML HOWTO at " +"http://pyxml.sourceforge.net/topics/howto/xml-howto.html." +msgstr "" +"Для отримання додаткової інформації зверніться до документації Python або " +"XML HOWTO на http://pyxml.sourceforge.net/topics/howto/xml-howto.html." + +msgid "DOM Support" +msgstr "Підтримка DOM" + +msgid "" +"The Document Object Model is a tree-based representation for an XML " +"document. A top-level :class:`Document` instance is the root of the tree, " +"and has a single child which is the top-level :class:`Element` instance. " +"This :class:`Element` has children nodes representing character data and any " +"sub-elements, which may have further children of their own, and so forth. " +"Using the DOM you can traverse the resulting tree any way you like, access " +"element and attribute values, insert and delete nodes, and convert the tree " +"back into XML." +msgstr "" +"Об’єктна модель документа – це деревовидне представлення документа XML. " +"Екземпляр :class:`Document` верхнього рівня є коренем дерева та має єдину " +"дочірню примірник :class:`Element` верхнього рівня. Цей :class:`Element` має " +"дочірні вузли, що представляють символьні дані та будь-які піделементи, які " +"можуть мати інших власних дочірніх елементів тощо. Використовуючи DOM, ви " +"можете переглядати отримане дерево будь-яким способом, отримувати доступ до " +"значень елементів і атрибутів, вставляти та видаляти вузли та перетворювати " +"дерево назад у XML." + +msgid "" +"The DOM is useful for modifying XML documents, because you can create a DOM " +"tree, modify it by adding new nodes or rearranging subtrees, and then " +"produce a new XML document as output. You can also construct a DOM tree " +"manually and convert it to XML, which can be a more flexible way of " +"producing XML output than simply writing ````...\\ ```` to a " +"file." +msgstr "" +"DOM корисний для модифікації XML-документів, оскільки ви можете створити " +"дерево DOM, змінити його, додавши нові вузли або перевпорядкувавши " +"піддерева, а потім створити новий XML-документ як результат. Ви також можете " +"побудувати дерево DOM вручну та перетворити його на XML, що може бути більш " +"гнучким способом створення виводу XML, ніж просто запис ````...\\ ```` у файл." + +msgid "" +"The DOM implementation included with Python lives in the :mod:`xml.dom." +"minidom` module. It's a lightweight implementation of the Level 1 DOM with " +"support for XML namespaces. The :func:`parse` and :func:`parseString` " +"convenience functions are provided for generating a DOM tree::" +msgstr "" +"Реалізація DOM, включена в Python, знаходиться в модулі :mod:`xml.dom." +"minidom`. Це спрощена реалізація DOM рівня 1 із підтримкою просторів імен " +"XML. Зручні функції :func:`parse` і :func:`parseString` надаються для " +"створення дерева DOM::" + +msgid "" +"``doc`` is a :class:`Document` instance. :class:`Document`, like all the " +"other DOM classes such as :class:`Element` and :class:`Text`, is a subclass " +"of the :class:`Node` base class. All the nodes in a DOM tree therefore " +"support certain common methods, such as :meth:`toxml` which returns a string " +"containing the XML representation of the node and its children. Each class " +"also has special methods of its own; for example, :class:`Element` and :" +"class:`Document` instances have a method to find all child elements with a " +"given tag name. Continuing from the previous 2-line example::" +msgstr "" +"``doc`` є екземпляром :class:`Document`. :class:`Document`, як і всі інші " +"класи DOM, такі як :class:`Element` і :class:`Text`, є підкласом базового " +"класу :class:`Node`. Тому всі вузли в дереві DOM підтримують певні загальні " +"методи, такі як :meth:`toxml`, який повертає рядок, що містить XML-" +"представлення вузла та його дочірніх елементів. Кожен клас також має власні " +"спеціальні методи; наприклад, екземпляри :class:`Element` і :class:" +"`Document` мають метод пошуку всіх дочірніх елементів із вказаною назвою " +"тегу. Продовжуючи попередній 2-рядковий приклад::" + +msgid "For the *Hamlet* XML file, the above few lines output::" +msgstr "Для XML-файлу *Hamlet* наведені вище кілька рядків виводять::" + +msgid "" +"The root element of the document is available as ``doc.documentElement``, " +"and its children can be easily modified by deleting, adding, or removing " +"nodes::" +msgstr "" +"Кореневий елемент документа доступний як ``doc.documentElement``, і його " +"дочірні елементи можна легко змінити шляхом видалення, додавання або " +"вилучення вузлів:" + +msgid "" +"Again, I will refer you to the Python documentation for a complete listing " +"of the different :class:`Node` classes and their various methods." +msgstr "" +"Знову ж таки, я відсилаю вас до документації Python, щоб отримати повний " +"перелік різних класів :class:`Node` та їхніх різних методів." + +msgid "Relationship to PyXML" +msgstr "Відношення до PyXML" + +msgid "" +"The XML Special Interest Group has been working on XML-related Python code " +"for a while. Its code distribution, called PyXML, is available from the " +"SIG's web pages at https://www.python.org/community/sigs/current/xml-sig. " +"The PyXML distribution also used the package name ``xml``. If you've " +"written programs that used PyXML, you're probably wondering about its " +"compatibility with the 2.0 :mod:`xml` package." +msgstr "" +"Група спеціальних інтересів XML деякий час працювала над кодом Python, " +"пов’язаним із XML. Його розповсюдження коду під назвою PyXML доступне на веб-" +"сторінках SIG за адресою https://www.python.org/community/sigs/current/xml-" +"sig. Дистрибутив PyXML також використовував назву пакета ``xml``. Якщо ви " +"писали програми, які використовували PyXML, ви, ймовірно, цікавитеся його " +"сумісністю з пакетом 2.0 :mod:`xml`." + +msgid "" +"The answer is that Python 2.0's :mod:`xml` package isn't compatible with " +"PyXML, but can be made compatible by installing a recent version PyXML. " +"Many applications can get by with the XML support that is included with " +"Python 2.0, but more complicated applications will require that the full " +"PyXML package will be installed. When installed, PyXML versions 0.6.0 or " +"greater will replace the :mod:`xml` package shipped with Python, and will be " +"a strict superset of the standard package, adding a bunch of additional " +"features. Some of the additional features in PyXML include:" +msgstr "" +"Відповідь полягає в тому, що пакет :mod:`xml` Python 2.0 несумісний з PyXML, " +"але його можна зробити сумісним, встановивши останню версію PyXML. Багато " +"програм можуть обійтися підтримкою XML, яка включена в Python 2.0, але " +"складніші програми вимагають інсталяції повного пакета PyXML. Після " +"встановлення PyXML версії 0.6.0 або новішої замінить пакет :mod:`xml`, який " +"постачається разом із Python, і стане строгим доповненням до стандартного " +"пакета, додаючи купу додаткових функцій. Деякі з додаткових функцій у PyXML " +"включають:" + +msgid "4DOM, a full DOM implementation from FourThought, Inc." +msgstr "4DOM, повна реалізація DOM від FourThought, Inc." + +msgid "The xmlproc validating parser, written by Lars Marius Garshol." +msgstr "Парсер перевірки xmlproc, написаний Ларсом Маріусом Гаршолом." + +msgid "The :mod:`sgmlop` parser accelerator module, written by Fredrik Lundh." +msgstr "Модуль прискорювача парсера :mod:`sgmlop`, написаний Фредріком Лундом." + +msgid "Module changes" +msgstr "Зміни модуля" + +msgid "" +"Lots of improvements and bugfixes were made to Python's extensive standard " +"library; some of the affected modules include :mod:`readline`, :mod:" +"`ConfigParser`, :mod:`cgi`, :mod:`calendar`, :mod:`posix`, :mod:`readline`, :" +"mod:`xmllib`, :mod:`aifc`, :mod:`chunk, wave`, :mod:`random`, :mod:`shelve`, " +"and :mod:`nntplib`. Consult the CVS logs for the exact patch-by-patch " +"details." +msgstr "" +"Було зроблено багато покращень і виправлень помилок у великій стандартній " +"бібліотеці Python; деякі з постраждалих модулів включають :mod:`readline`, :" +"mod:`ConfigParser`, :mod:`cgi`, :mod:`calendar`, :mod:`posix`, :mod:" +"`readline`, :mod:`xmllib`, :mod:`aifc`, :mod:`chunk, wave`, :mod:`random`, :" +"mod:`shelve` і :mod:`nntplib`. Зверніться до журналів CVS для отримання " +"точних деталей кожного патча." + +msgid "" +"Brian Gallew contributed OpenSSL support for the :mod:`socket` module. " +"OpenSSL is an implementation of the Secure Socket Layer, which encrypts the " +"data being sent over a socket. When compiling Python, you can edit :file:" +"`Modules/Setup` to include SSL support, which adds an additional function to " +"the :mod:`socket` module: ``socket.ssl(socket, keyfile, certfile)``, which " +"takes a socket object and returns an SSL socket. The :mod:`httplib` and :" +"mod:`urllib` modules were also changed to support ``https://`` URLs, though " +"no one has implemented FTP or SMTP over SSL." +msgstr "" +"Брайан Галлью надав підтримку OpenSSL для модуля :mod:`socket`. OpenSSL — це " +"реалізація рівня захищених сокетів, який шифрує дані, що надсилаються через " +"сокет. Під час компіляції Python ви можете редагувати :file:`Modules/Setup`, " +"щоб включити підтримку SSL, яка додає додаткову функцію до модуля :mod:" +"`socket`: ``socket.ssl(socket, keyfile, certfile)``, який приймає об’єкт " +"сокета та повертає сокет SSL. Модулі :mod:`httplib` і :mod:`urllib` також " +"були змінені для підтримки URL-адрес ``https://``, хоча ніхто не реалізував " +"FTP або SMTP через SSL." + +msgid "" +"The :mod:`httplib` module has been rewritten by Greg Stein to support " +"HTTP/1.1. Backward compatibility with the 1.5 version of :mod:`httplib` is " +"provided, though using HTTP/1.1 features such as pipelining will require " +"rewriting code to use a different set of interfaces." +msgstr "" +"Модуль :mod:`httplib` був переписаний Грегом Стайном для підтримки HTTP/1.1. " +"Забезпечується зворотна сумісність із версією 1.5 :mod:`httplib`, хоча " +"використання функцій HTTP/1.1, таких як конвеєр, потребуватиме переписування " +"коду для використання іншого набору інтерфейсів." + +msgid "" +"The :mod:`Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and " +"support for the older 7.x versions has been dropped. The Tkinter module now " +"supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " +"contributed an optimization which makes operations like ``create_line`` and " +"``create_polygon`` much faster, especially when using lots of coordinates." +msgstr "" +"Модуль :mod:`Tkinter` тепер підтримує Tcl/Tk версії 8.1, 8.2 або 8.3, а " +"підтримку старіших версій 7.x припинено. Модуль Tkinter тепер підтримує " +"відображення рядків Unicode у віджетах Tk. Крім того, Фредрік Лунд вніс " +"оптимізацію, яка робить такі операції, як ``create_line`` і " +"``create_polygon``, набагато швидшими, особливо при використанні великої " +"кількості координат." + +msgid "" +"The :mod:`curses` module has been greatly extended, starting from Oliver " +"Andrich's enhanced version, to provide many additional functions from " +"ncurses and SYSV curses, such as colour, alternative character set support, " +"pads, and mouse support. This means the module is no longer compatible with " +"operating systems that only have BSD curses, but there don't seem to be any " +"currently maintained OSes that fall into this category." +msgstr "" +"Модуль :mod:`curses` було значно розширено, починаючи з розширеної версії " +"Олівера Андріча, щоб забезпечити багато додаткових функцій від ncurses і " +"проклять SYSV, таких як колір, підтримка альтернативного набору символів, " +"підтримка панелей і миші. Це означає, що модуль більше не сумісний з " +"операційними системами, які мають лише прокляття BSD, але, здається, на " +"даний момент немає жодної ОС, яка підпадає під цю категорію." + +msgid "" +"As mentioned in the earlier discussion of 2.0's Unicode support, the " +"underlying implementation of the regular expressions provided by the :mod:" +"`re` module has been changed. SRE, a new regular expression engine written " +"by Fredrik Lundh and partially funded by Hewlett Packard, supports matching " +"against both 8-bit strings and Unicode strings." +msgstr "" +"Як згадувалося в попередньому обговоренні підтримки Unicode 2.0, базову " +"реалізацію регулярних виразів, які надає модуль :mod:`re`, було змінено. " +"SRE, нова система регулярних виразів, написана Фредріком Лундом і частково " +"фінансована Hewlett Packard, підтримує зіставлення як з 8-бітними рядками, " +"так і з рядками Unicode." + +msgid "New modules" +msgstr "Нові модулі" + +msgid "" +"A number of new modules were added. We'll simply list them with brief " +"descriptions; consult the 2.0 documentation for the details of a particular " +"module." +msgstr "" +"Додано ряд нових модулів. Ми просто перерахуємо їх із короткими описами; " +"зверніться до документації 2.0, щоб дізнатися більше про конкретний модуль." + +msgid "" +":mod:`atexit`: For registering functions to be called before the Python " +"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should " +"be changed to use the :mod:`atexit` module instead, importing :mod:`atexit` " +"and calling :func:`atexit.register` with the function to be called on exit. " +"(Contributed by Skip Montanaro.)" +msgstr "" +":mod:`atexit`: для реєстрації функцій, які будуть викликані до завершення " +"роботи інтерпретатора Python. Код, який наразі безпосередньо встановлює " +"``sys.exitfunc``, слід змінити, щоб замість нього використовувати модуль :" +"mod:`atexit`, імпортуючи :mod:`atexit` і викликаючи :func:`atexit.register` " +"із функцією, яку потрібно викликати на виході. (Надав Скіп Монтанаро.)" + +msgid "" +":mod:`codecs`, :mod:`encodings`, :mod:`unicodedata`: Added as part of the " +"new Unicode support." +msgstr "" +":mod:`codecs`, :mod:`encodings`, :mod:`unicodedata`: додано як частину нової " +"підтримки Unicode." + +msgid "" +":mod:`filecmp`: Supersedes the old :mod:`cmp`, :mod:`cmpcache` and :mod:" +"`dircmp` modules, which have now become deprecated. (Contributed by Gordon " +"MacMillan and Moshe Zadka.)" +msgstr "" +":mod:`filecmp`: Замінює старі модулі :mod:`cmp`, :mod:`cmpcache` і :mod:" +"`dircmp`, які вже стали застарілими. (Надано Гордоном Макмілланом і Моше " +"Цадка.)" + +msgid "" +":mod:`gettext`: This module provides internationalization (I18N) and " +"localization (L10N) support for Python programs by providing an interface to " +"the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " +"separate contributions by Martin von Löwis, Peter Funk, and James " +"Henstridge.)" +msgstr "" +":mod:`gettext`: Цей модуль забезпечує підтримку інтернаціоналізації (I18N) і " +"локалізації (L10N) для програм Python, надаючи інтерфейс до бібліотеки " +"каталогу повідомлень GNU gettext. (Інтегровано Баррі Варшау, з окремих " +"внесків Мартіна фон Льовіса, Пітера Функа та Джеймса Генстріджа.)" + +msgid "" +":mod:`linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a " +"twin to the existing :mod:`sunaudiodev` module. (Contributed by Peter Bosch, " +"with fixes by Jeremy Hylton.)" +msgstr "" +":mod:`linuxaudiodev`: Підтримка пристрою :file:`/dev/audio` в Linux, " +"аналогічно існуючому модулю :mod:`sunaudiodev`. (Надано Пітером Бошем, з " +"виправленнями Джеремі Гілтоном.)" + +msgid "" +":mod:`mmap`: An interface to memory-mapped files on both Windows and Unix. " +"A file's contents can be mapped directly into memory, at which point it " +"behaves like a mutable string, so its contents can be read and modified. " +"They can even be passed to functions that expect ordinary strings, such as " +"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by A." +"M. Kuchling.)" +msgstr "" +":mod:`mmap`: Інтерфейс для файлів із відображенням пам’яті як у Windows, так " +"і в Unix. Вміст файлу можна відобразити безпосередньо в пам’яті, після чого " +"він поводиться як змінний рядок, тому його вміст можна читати та змінювати. " +"Їх можна навіть передати функціям, які очікують звичайних рядків, наприклад, " +"модулю :mod:`re`. (Надано Семом Рашингом, з деякими розширеннями А. М. " +"Кухлінгом.)" + +msgid "" +":mod:`pyexpat`: An interface to the Expat XML parser. (Contributed by Paul " +"Prescod.)" +msgstr "" +":mod:`pyexpat`: інтерфейс для аналізатора Expat XML. (Надав Пол Прескод.)" + +msgid "" +":mod:`robotparser`: Parse a :file:`robots.txt` file, which is used for " +"writing web spiders that politely avoid certain areas of a web site. The " +"parser accepts the contents of a :file:`robots.txt` file, builds a set of " +"rules from it, and can then answer questions about the fetchability of a " +"given URL. (Contributed by Skip Montanaro.)" +msgstr "" +":mod:`robotparser`: Проаналізуйте файл :file:`robots.txt`, який " +"використовується для написання веб-павуків, які ввічливо уникають певних " +"частин веб-сайту. Синтаксичний аналізатор приймає вміст файлу :file:`robots." +"txt`, створює з нього набір правил, а потім може відповісти на запитання " +"щодо доступності певної URL-адреси. (Надав Скіп Монтанаро.)" + +msgid "" +":mod:`tabnanny`: A module/script to check Python source code for ambiguous " +"indentation. (Contributed by Tim Peters.)" +msgstr "" +":mod:`tabnanny`: Модуль/скрипт для перевірки вихідного коду Python на " +"неоднозначні відступи. (Надав Тім Пітерс.)" + +msgid "" +":mod:`UserString`: A base class useful for deriving objects that behave like " +"strings." +msgstr "" +":mod:`UserString`: базовий клас, корисний для отримання об’єктів, які " +"поводяться як рядки." + +msgid "" +":mod:`webbrowser`: A module that provides a platform independent way to " +"launch a web browser on a specific URL. For each platform, various browsers " +"are tried in a specific order. The user can alter which browser is launched " +"by setting the *BROWSER* environment variable. (Originally inspired by Eric " +"S. Raymond's patch to :mod:`urllib` which added similar functionality, but " +"the final module comes from code originally implemented by Fred Drake as :" +"file:`Tools/idle/BrowserControl.py`, and adapted for the standard library by " +"Fred.)" +msgstr "" +":mod:`webbrowser`: модуль, який забезпечує незалежний від платформи спосіб " +"запуску веб-браузера за певною URL-адресою. Для кожної платформи різні " +"браузери пробуються в певному порядку. Користувач може змінити браузер, який " +"запускається, встановивши змінну середовища *BROWSER*. (Спочатку натхненний " +"патчем Еріка С. Реймонда до :mod:`urllib`, який додав подібну " +"функціональність, але остаточний модуль походить від коду, спочатку " +"реалізованого Фредом Дрейком як :file:`Tools/idle/BrowserControl.py`, і " +"адаптованого для стандартна бібліотека Фреда.)" + +msgid "" +":mod:`_winreg`: An interface to the Windows registry. :mod:`_winreg` is an " +"adaptation of functions that have been part of PythonWin since 1995, but has " +"now been added to the core distribution, and enhanced to support Unicode. :" +"mod:`_winreg` was written by Bill Tutt and Mark Hammond." +msgstr "" +":mod:`_winreg`: Інтерфейс до реєстру Windows. :mod:`_winreg` — це адаптація " +"функцій, які були частиною PythonWin з 1995 року, але тепер їх додано до " +"основного дистрибутива та покращено для підтримки Unicode. :mod:`_winreg` " +"був написаний Біллом Таттом і Марком Хаммондом." + +msgid "" +":mod:`zipfile`: A module for reading and writing ZIP-format archives. These " +"are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " +"on Unix, not to be confused with :program:`gzip`\\ -format files (which are " +"supported by the :mod:`gzip` module) (Contributed by James C. Ahlstrom.)" +msgstr "" +":mod:`zipfile`: Модуль для читання та запису архівів ZIP-формату. Це архіви, " +"створені :program:`PKZIP` у DOS/Windows або :program:`zip` в Unix, не " +"плутати з файлами у форматі :program:`gzip`\\ (які підтримуються модулем :" +"mod:`gzip`) (надано Джеймсом К. Алстромом.)" + +msgid "" +":mod:`imputil`: A module that provides a simpler way for writing customized " +"import hooks, in comparison to the existing :mod:`ihooks` module. " +"(Implemented by Greg Stein, with much discussion on python-dev along the " +"way.)" +msgstr "" +":mod:`imputil`: модуль, який забезпечує простіший спосіб написання " +"налаштованих хуків імпорту порівняно з існуючим модулем :mod:`ihooks`. " +"(Реалізовано Грегом Стайном, з великим обговоренням python-dev на цьому " +"шляху.)" + +msgid "IDLE Improvements" +msgstr "Покращення IDLE" + +msgid "" +"IDLE is the official Python cross-platform IDE, written using Tkinter. " +"Python 2.0 includes IDLE 0.6, which adds a number of new features and " +"improvements. A partial list:" +msgstr "" +"IDLE — це офіційна кросплатформна IDE Python, написана за допомогою Tkinter. " +"Python 2.0 містить IDLE 0.6, який додає низку нових функцій і покращень. " +"Неповний список:" + +msgid "" +"UI improvements and optimizations, especially in the area of syntax " +"highlighting and auto-indentation." +msgstr "" +"Покращення та оптимізація інтерфейсу користувача, особливо в області " +"підсвічування синтаксису та автоматичного відступу." + +msgid "" +"The class browser now shows more information, such as the top level " +"functions in a module." +msgstr "" +"Переглядач класів тепер показує більше інформації, наприклад функції " +"верхнього рівня в модулі." + +msgid "" +"Tab width is now a user settable option. When opening an existing Python " +"file, IDLE automatically detects the indentation conventions, and adapts." +msgstr "" +"Ширина вкладки тепер доступна користувачеві. Під час відкриття існуючого " +"файлу Python IDLE автоматично визначає правила відступів і адаптує їх." + +msgid "" +"There is now support for calling browsers on various platforms, used to open " +"the Python documentation in a browser." +msgstr "" +"Тепер існує підтримка виклику браузерів на різних платформах, які " +"використовуються для відкриття документації Python у браузері." + +msgid "" +"IDLE now has a command line, which is largely similar to the vanilla Python " +"interpreter." +msgstr "" +"У IDLE тепер є командний рядок, який багато в чому схожий на ванільний " +"інтерпретатор Python." + +msgid "Call tips were added in many places." +msgstr "У багатьох місцях додано підказки щодо дзвінків." + +msgid "IDLE can now be installed as a package." +msgstr "IDLE тепер можна встановити як пакет." + +msgid "In the editor window, there is now a line/column bar at the bottom." +msgstr "Тепер у вікні редактора внизу є рядок/стовпець." + +msgid "" +"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module (:" +"kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." +msgstr "" +"Три нові команди натискання клавіш: перевірити модуль (:kbd:`Alt-F5`), " +"імпортувати модуль (:kbd:`F5`) і запустити сценарій (:kbd:`Ctrl-F5`)." + +msgid "Deleted and Deprecated Modules" +msgstr "Видалені та застарілі модулі" + +msgid "" +"A few modules have been dropped because they're obsolete, or because there " +"are now better ways to do the same thing. The :mod:`stdwin` module is gone; " +"it was for a platform-independent windowing toolkit that's no longer " +"developed." +msgstr "" +"Кілька модулів було вилучено, оскільки вони застаріли, або тому, що тепер є " +"кращі способи зробити те саме. Модуль :mod:`stdwin` зник; це було для " +"незалежного від платформи інструментарію вікон, який більше не розробляється." + +msgid "" +"A number of modules have been moved to the :file:`lib-old` subdirectory: :" +"mod:`cmp`, :mod:`cmpcache`, :mod:`dircmp`, :mod:`dump`, :mod:`find`, :mod:" +"`grep`, :mod:`packmail`, :mod:`poly`, :mod:`util`, :mod:`whatsound`, :mod:" +"`zmod`. If you have code which relies on a module that's been moved to :" +"file:`lib-old`, you can simply add that directory to ``sys.path`` to get " +"them back, but you're encouraged to update any code that uses these modules." +msgstr "" +"Кілька модулів переміщено до підкаталогу :file:`lib-old`: :mod:`cmp`, :mod:" +"`cmpcache`, :mod:`dircmp`, :mod:`dump`, :mod:`find`, :mod:`grep`, :mod:" +"`packmail`, :mod:`poly`, :mod:`util`, :mod:`whatsound`, :mod:`zmod`. Якщо у " +"вас є код, який покладається на модуль, який було переміщено до :file:`lib-" +"old`, ви можете просто додати цей каталог до ``sys.path``, щоб отримати їх " +"назад, але вам рекомендується оновити будь-який код який використовує ці " +"модулі." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The authors would like to thank the following people for offering " +"suggestions on various drafts of this article: David Bolen, Mark Hammond, " +"Gregg Hauser, Jeremy Hylton, Fredrik Lundh, Detlef Lannert, Aahz Maruch, " +"Skip Montanaro, Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil " +"Schemenauer, and Russ Schmidt." +msgstr "" +"Автори хотіли б подякувати наступним людям за пропозиції щодо різних " +"чернеток цієї статті: Девід Болен, Марк Хаммонд, Грег Хаузер, Джеремі " +"Гілтон, Фредрік Лунд, Детлеф Ланнерт, Ааз Марух, Скіп Монтанаро, Володимир " +"Марангозов, Тобіас Ползін, Гвідо ван Россум, Ніл Шеменауер і Расс Шмідт." diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po new file mode 100644 index 000000000..642edf902 --- /dev/null +++ b/whatsnew/2.1.po @@ -0,0 +1,1335 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.1" +msgstr "Що нового в Python 2.1" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling" +msgstr "A.M. Kuchling" + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"This article explains the new features in Python 2.1. While there aren't as " +"many changes in 2.1 as there were in Python 2.0, there are still some " +"pleasant surprises in store. 2.1 is the first release to be steered through " +"the use of Python Enhancement Proposals, or PEPs, so most of the sizable " +"changes have accompanying PEPs that provide more complete documentation and " +"a design rationale for the change. This article doesn't attempt to document " +"the new features completely, but simply provides an overview of the new " +"features for Python programmers. Refer to the Python 2.1 documentation, or " +"to the specific PEP, for more details about any new feature that " +"particularly interests you." +msgstr "" +"У цій статті пояснюються нові функції Python 2.1. Хоча у версії 2.1 не так " +"багато змін, як у Python 2.0, все ж є деякі приємні сюрпризи. 2.1 є першим " +"випуском, який керується використанням Python Enhancement Proposals або PEP, " +"тому більшість значних змін супроводжуються PEP, які надають більш повну " +"документацію та обґрунтування зміни. Ця стаття не намагається повністю " +"задокументувати нові функції, а просто надає огляд нових функцій для " +"програмістів Python. Зверніться до документації Python 2.1 або до " +"конкретного PEP, щоб дізнатися більше про будь-яку нову функцію, яка вас " +"особливо цікавить." + +msgid "" +"One recent goal of the Python development team has been to accelerate the " +"pace of new releases, with a new release coming every 6 to 9 months. 2.1 is " +"the first release to come out at this faster pace, with the first alpha " +"appearing in January, 3 months after the final version of 2.0 was released." +msgstr "" +"Одна з нещодавніх цілей команди розробників Python полягала в тому, щоб " +"пришвидшити темп випуску нових випусків, причому новий випуск виходить кожні " +"6-9 місяців. 2.1 є першим випуском, який вийшов таким швидким темпом, з " +"першою альфа-версією, яка з’явилася в січні, через 3 місяці після виходу " +"остаточної версії 2.0." + +msgid "The final release of Python 2.1 was made on April 17, 2001." +msgstr "Остаточний випуск Python 2.1 був зроблений 17 квітня 2001 року." + +msgid "PEP 227: Nested Scopes" +msgstr "PEP 227: Вкладені області" + +msgid "" +"The largest change in Python 2.1 is to Python's scoping rules. In Python " +"2.0, at any given time there are at most three namespaces used to look up " +"variable names: local, module-level, and the built-in namespace. This often " +"surprised people because it didn't match their intuitive expectations. For " +"example, a nested recursive function definition doesn't work::" +msgstr "" +"Найбільша зміна в Python 2.1 стосується правил визначення області видимості " +"Python. У Python 2.0 у будь-який момент часу існує щонайбільше три простори " +"імен, які використовуються для пошуку імен змінних: локальний, на рівні " +"модуля та вбудований простір імен. Це часто дивувало людей, оскільки не " +"відповідало їхнім інтуїтивним очікуванням. Наприклад, визначення вкладеної " +"рекурсивної функції не працює:" + +msgid "" +"The function :func:`g` will always raise a :exc:`NameError` exception, " +"because the binding of the name ``g`` isn't in either its local namespace or " +"in the module-level namespace. This isn't much of a problem in practice " +"(how often do you recursively define interior functions like this?), but " +"this also made using the :keyword:`lambda` expression clumsier, and this was " +"a problem in practice. In code which uses :keyword:`lambda` you can often " +"find local variables being copied by passing them as the default values of " +"arguments. ::" +msgstr "" +"Функція :func:`g` завжди викличе виняток :exc:`NameError`, оскільки " +"прив’язка імені ``g`` не знаходиться ні в його локальному просторі імен, ні " +"в просторі імен на рівні модуля. Це не є великою проблемою на практиці (як " +"часто ви рекурсивно визначаєте такі внутрішні функції?), але це також робило " +"використання виразу :keyword:`lambda` більш незграбним, і це було проблемою " +"на практиці. У коді, який використовує :keyword:`lambda`, ви часто можете " +"знайти локальні змінні, які копіюються, передаючи їх як стандартні значення " +"аргументів. ::" + +msgid "" +"The readability of Python code written in a strongly functional style " +"suffers greatly as a result." +msgstr "" +"У результаті цього значно погіршується читабельність коду Python, написаного " +"у сильно функціональному стилі." + +msgid "" +"The most significant change to Python 2.1 is that static scoping has been " +"added to the language to fix this problem. As a first effect, the " +"``name=name`` default argument is now unnecessary in the above example. Put " +"simply, when a given variable name is not assigned a value within a function " +"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:" +"`import` statements), references to the variable will be looked up in the " +"local namespace of the enclosing scope. A more detailed explanation of the " +"rules, and a dissection of the implementation, can be found in the PEP." +msgstr "" +"Найсуттєвіша зміна Python 2.1 полягає в тому, що для вирішення цієї проблеми " +"до мови додано статичне визначення області видимості. Як перший ефект, " +"аргумент за замовчуванням ``name=name`` тепер непотрібний у наведеному вище " +"прикладі. Простіше кажучи, коли заданому імені змінної не присвоєно значення " +"у функції (за допомогою призначення або операторів :keyword:`def`, :keyword:" +"`class` або :keyword:`import`), посилання на змінна буде шукатися в " +"локальному просторі імен охоплюючої області. Більш детальне пояснення правил " +"і опис реалізації можна знайти в PEP." + +msgid "" +"This change may cause some compatibility problems for code where the same " +"variable name is used both at the module level and as a local variable " +"within a function that contains further function definitions. This seems " +"rather unlikely though, since such code would have been pretty confusing to " +"read in the first place." +msgstr "" +"Ця зміна може спричинити деякі проблеми сумісності для коду, де те саме ім’я " +"змінної використовується як на рівні модуля, так і як локальна змінна у " +"функції, яка містить додаткові визначення функцій. Це здається " +"малоймовірним, оскільки такий код було б досить заплутаним для читання." + +msgid "" +"One side effect of the change is that the ``from module import *`` and " +"``exec`` statements have been made illegal inside a function scope under " +"certain conditions. The Python reference manual has said all along that " +"``from module import *`` is only legal at the top level of a module, but the " +"CPython interpreter has never enforced this before. As part of the " +"implementation of nested scopes, the compiler which turns Python source into " +"bytecodes has to generate different code to access variables in a containing " +"scope. ``from module import *`` and ``exec`` make it impossible for the " +"compiler to figure this out, because they add names to the local namespace " +"that are unknowable at compile time. Therefore, if a function contains " +"function definitions or :keyword:`lambda` expressions with free variables, " +"the compiler will flag this by raising a :exc:`SyntaxError` exception." +msgstr "" +"Одним із побічних ефектів змін є те, що оператори ``from module import *`` і " +"``exec`` були зроблені незаконними в межах функції за певних умов. У " +"довідковому посібнику Python весь час говорилося, що ``from module import " +"*`` допустимо лише на верхньому рівні модуля, але інтерпретатор CPython " +"ніколи раніше не виконував цього. Як частина реалізації вкладених областей, " +"компілятор, який перетворює джерело Python на байт-коди, має згенерувати " +"інший код для доступу до змінних у місткій області. ``from module import *`` " +"і ``exec`` не дозволяють компілятору це зрозуміти, оскільки вони додають " +"імена до локального простору імен, які невідомі під час компіляції. Таким " +"чином, якщо функція містить визначення функції або :keyword:`lambda` вирази " +"з вільними змінними, компілятор позначить це, викликавши виняток :exc:" +"`SyntaxError`." + +msgid "To make the preceding explanation a bit clearer, here's an example::" +msgstr "Щоб зробити попереднє пояснення трохи зрозумілішим, ось приклад::" + +msgid "" +"Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " +"would define a new local variable named ``x`` whose value should be accessed " +"by :func:`g`." +msgstr "" +"Рядок 4, що містить інструкцію ``exec``, є синтаксичною помилкою, оскільки " +"``exec`` визначатиме нову локальну змінну з назвою ``x``, до значення якої " +"має отримати доступ :func:`g`." + +msgid "" +"This shouldn't be much of a limitation, since ``exec`` is rarely used in " +"most Python code (and when it is used, it's often a sign of a poor design " +"anyway)." +msgstr "" +"Це не повинно бути великим обмеженням, оскільки ``exec`` рідко " +"використовується в більшості коду Python (і коли він використовується, це " +"часто свідчить про поганий дизайн)." + +msgid "" +"Compatibility concerns have led to nested scopes being introduced gradually; " +"in Python 2.1, they aren't enabled by default, but can be turned on within a " +"module by using a future statement as described in :pep:`236`. (See the " +"following section for further discussion of :pep:`236`.) In Python 2.2, " +"nested scopes will become the default and there will be no way to turn them " +"off, but users will have had all of 2.1's lifetime to fix any breakage " +"resulting from their introduction." +msgstr "" +"Занепокоєння щодо сумісності призвело до поступового впровадження вкладених " +"областей; у Python 2.1 вони не ввімкнені за замовчуванням, але їх можна " +"ввімкнути в модулі за допомогою оператора future, як описано в :pep:`236`. " +"(Див. наступний розділ для подальшого обговорення :pep:`236`.) У Python 2.2 " +"вкладені області стануть типовими, і не буде можливості їх вимкнути, але " +"користувачі матимуть весь час життя 2.1, щоб усунути будь-яку поломку " +"внаслідок їх введення." + +msgid ":pep:`227` - Statically Nested Scopes" +msgstr ":pep:`227` - Статично вкладені області" + +msgid "Written and implemented by Jeremy Hylton." +msgstr "Написаний і реалізований Джеремі Гілтоном." + +msgid "PEP 236: __future__ Directives" +msgstr "PEP 236: директиви __future__" + +msgid "" +"The reaction to nested scopes was widespread concern about the dangers of " +"breaking code with the 2.1 release, and it was strong enough to make the " +"Pythoneers take a more conservative approach. This approach consists of " +"introducing a convention for enabling optional functionality in release N " +"that will become compulsory in release N+1." +msgstr "" +"Реакцією на вкладені області було широко поширене занепокоєння щодо " +"небезпеки злому коду з випуском 2.1, і воно було досить сильним, щоб змусити " +"Pythoneers застосувати більш консервативний підхід. Цей підхід полягає у " +"введенні угоди про ввімкнення додаткової функціональності у випуску N, який " +"стане обов’язковим у випуску N+1." + +msgid "" +"The syntax uses a ``from...import`` statement using the reserved module " +"name :mod:`__future__`. Nested scopes can be enabled by the following " +"statement::" +msgstr "" +"Синтаксис використовує оператор ``from...import`` із використанням " +"зарезервованої назви модуля :mod:`__future__`. Вкладені області можна " +"активувати наступним оператором::" + +msgid "" +"While it looks like a normal :keyword:`import` statement, it's not; there " +"are strict rules on where such a future statement can be put. They can only " +"be at the top of a module, and must precede any Python code or regular :" +"keyword:`!import` statements. This is because such statements can affect " +"how the Python bytecode compiler parses code and generates bytecode, so they " +"must precede any statement that will result in bytecodes being produced." +msgstr "" +"Хоча це виглядає як звичайний оператор :keyword:`import`, це не так; існують " +"суворі правила щодо того, де можна розмістити таку майбутню заяву. Вони " +"можуть бути лише у верхній частині модуля та повинні передувати будь-якому " +"коду Python або звичайним операторам :keyword:`!import`. Це тому, що такі " +"оператори можуть впливати на те, як компілятор байт-коду Python аналізує код " +"і генерує байт-код, тому вони повинні передувати будь-якому оператору, який " +"призведе до створення байт-кодів." + +msgid ":pep:`236` - Back to the :mod:`__future__`" +msgstr ":pep:`236` - Назад у :mod:`__future__`" + +msgid "Written by Tim Peters, and primarily implemented by Jeremy Hylton." +msgstr "Написаний Тімом Пітерсом, а в основному реалізований Джеремі Гілтоном." + +msgid "PEP 207: Rich Comparisons" +msgstr "PEP 207: багаті порівняння" + +msgid "" +"In earlier versions, Python's support for implementing comparisons on user-" +"defined classes and extension types was quite simple. Classes could " +"implement a :meth:`__cmp__` method that was given two instances of a class, " +"and could only return 0 if they were equal or +1 or -1 if they weren't; the " +"method couldn't raise an exception or return anything other than a Boolean " +"value. Users of Numeric Python often found this model too weak and " +"restrictive, because in the number-crunching programs that numeric Python is " +"used for, it would be more useful to be able to perform elementwise " +"comparisons of two matrices, returning a matrix containing the results of a " +"given comparison for each element. If the two matrices are of different " +"sizes, then the compare has to be able to raise an exception to signal the " +"error." +msgstr "" +"У попередніх версіях підтримка Python для реалізації порівнянь визначених " +"користувачем класів і типів розширень була досить простою. Класи можуть " +"реалізовувати метод :meth:`__cmp__`, який отримує два екземпляри класу, і " +"може повертати лише 0, якщо вони рівні, або +1 або -1, якщо вони не були; " +"метод не міг викликати виняток або повертати нічого, окрім логічного " +"значення. Користувачі числового Python часто вважали цю модель занадто " +"слабкою та обмежувальною, тому що в програмах для обробки чисел, для яких " +"використовується числовий Python, було б корисніше мати можливість " +"виконувати поелементне порівняння двох матриць, повертаючи матрицю, що " +"містить результати дане порівняння для кожного елемента. Якщо дві матриці " +"мають різні розміри, тоді порівняння має мати можливість викликати виняток, " +"щоб сигналізувати про помилку." + +msgid "" +"In Python 2.1, rich comparisons were added in order to support this need. " +"Python classes can now individually overload each of the ``<``, ``<=``, " +"``>``, ``>=``, ``==``, and ``!=`` operations. The new magic method names " +"are:" +msgstr "" +"У Python 2.1 для підтримки цієї потреби було додано розширені порівняння. " +"Класи Python тепер можуть окремо перевантажувати кожну з операцій ``<``, " +"``<=``, ``>``, ``>=``, ``==`` і ``!=``. Назви нових магічних методів:" + +msgid "Operation" +msgstr "Операція" + +msgid "Method name" +msgstr "Назва методу" + +msgid "``<``" +msgstr "``<``" + +msgid ":meth:`__lt__`" +msgstr ":meth:`__lt__`" + +msgid "``<=``" +msgstr "``<=``" + +msgid ":meth:`__le__`" +msgstr ":meth:`__le__`" + +msgid "``>``" +msgstr "``>``" + +msgid ":meth:`__gt__`" +msgstr ":meth:`__gt__`" + +msgid "``>=``" +msgstr "``>=``" + +msgid ":meth:`__ge__`" +msgstr ":meth:`__ge__`" + +msgid "``==``" +msgstr "``==``" + +msgid ":meth:`__eq__`" +msgstr ":meth:`__eq__`" + +msgid "``!=``" +msgstr "``!=``" + +msgid ":meth:`__ne__`" +msgstr ":meth:`__ne__`" + +msgid "" +"(The magic methods are named after the corresponding Fortran operators ``.LT." +"``. ``.LE.``, &c. Numeric programmers are almost certainly quite familiar " +"with these names and will find them easy to remember.)" +msgstr "" +"(Чарівні методи названо на честь відповідних операторів Fortran ``.LT.``. ``." +"LE.`` тощо. Цифрові програмісти майже напевно добре знайомі з цими назвами " +"та легко їх запам’ятають.)" + +msgid "" +"Each of these magic methods is of the form ``method(self, other)``, where " +"``self`` will be the object on the left-hand side of the operator, while " +"``other`` will be the object on the right-hand side. For example, the " +"expression ``A < B`` will cause ``A.__lt__(B)`` to be called." +msgstr "" +"Кожен із цих чарівних методів має форму ``method(self, other)``, де ``self`` " +"буде об’єктом ліворуч від оператора, а ``other`` буде об’єктом з правого " +"боку. Наприклад, вираз ``A < B`` призведе до виклику ``A.__lt__(B)``." + +msgid "" +"Each of these magic methods can return anything at all: a Boolean, a matrix, " +"a list, or any other Python object. Alternatively they can raise an " +"exception if the comparison is impossible, inconsistent, or otherwise " +"meaningless." +msgstr "" +"Кожен із цих магічних методів може повернути будь-що: логічне значення, " +"матрицю, список або будь-який інший об’єкт Python. Крім того, вони можуть " +"викликати виняток, якщо порівняння є неможливим, непослідовним або іншим " +"чином безглуздим." + +msgid "" +"The built-in ``cmp(A,B)`` function can use the rich comparison machinery, " +"and now accepts an optional argument specifying which comparison operation " +"to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, ``\">" +"\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the optional " +"third argument, :func:`cmp` will only return -1, 0, or +1 as in previous " +"versions of Python; otherwise it will call the appropriate method and can " +"return any Python object." +msgstr "" +"Вбудована функція ``cmp(A,B)`` може використовувати механізм розширеного " +"порівняння та тепер приймає необов’язковий аргумент, який визначає, яку " +"операцію порівняння використовувати; це надається як один із рядків ``\" <" +"\"``, ``\"<=\"``, ``\"> \"``, ``\">=\"``, ``\"==\"`` або ``\"!=\"``. Якщо " +"викликати без додаткового третього аргументу, :func:`cmp` поверне лише -1, 0 " +"або +1, як у попередніх версіях Python; інакше він викличе відповідний метод " +"і може повернути будь-який об’єкт Python." + +msgid "" +"There are also corresponding changes of interest to C programmers; there's a " +"new slot ``tp_richcmp`` in type objects and an API for performing a given " +"rich comparison. I won't cover the C API here, but will refer you to :pep:" +"`207`, or to 2.1's C API documentation, for the full list of related " +"functions." +msgstr "" +"Є також відповідні зміни, які цікавлять програмістів на C; є новий слот " +"``tp_richcmp`` в об’єктах типу та API для виконання певного розширеного " +"порівняння. Я не буду тут розповідати про C API, але відсилаю вас до :pep:" +"`207` або до документації C API 2.1, щоб отримати повний список пов’язаних " +"функцій." + +msgid ":pep:`207` - Rich Comparisons" +msgstr ":pep:`207` - багаті порівняння" + +msgid "" +"Written by Guido van Rossum, heavily based on earlier work by David Ascher, " +"and implemented by Guido van Rossum." +msgstr "" +"Написаний Гвідо ван Россумом, значною мірою заснований на попередніх роботах " +"Девіда Ашера та реалізований Гвідо ван Россумом." + +msgid "PEP 230: Warning Framework" +msgstr "PEP 230: Попередження" + +msgid "" +"Over its 10 years of existence, Python has accumulated a certain number of " +"obsolete modules and features along the way. It's difficult to know when a " +"feature is safe to remove, since there's no way of knowing how much code " +"uses it --- perhaps no programs depend on the feature, or perhaps many do. " +"To enable removing old features in a more structured way, a warning " +"framework was added. When the Python developers want to get rid of a " +"feature, it will first trigger a warning in the next version of Python. The " +"following Python version can then drop the feature, and users will have had " +"a full release cycle to remove uses of the old feature." +msgstr "" +"За 10 років існування Python накопичив певну кількість застарілих модулів і " +"функцій. Важко визначити, коли функцію безпечно видалити, оскільки неможливо " +"дізнатися, скільки коду її використовує --- можливо, жодна програма не " +"залежить від функції, або, можливо, багато хто залежить від цієї функції. " +"Щоб уможливити видалення старих функцій у більш структурований спосіб, було " +"додано рамку попереджень. Коли розробники Python хочуть позбутися функції, " +"це спочатку викличе попередження в наступній версії Python. Наступна версія " +"Python може відмовитися від цієї функції, і користувачі матимуть повний цикл " +"випуску, щоб усунути використання старої функції." + +msgid "" +"Python 2.1 adds the warning framework to be used in this scheme. It adds a :" +"mod:`warnings` module that provide functions to issue warnings, and to " +"filter out warnings that you don't want to be displayed. Third-party modules " +"can also use this framework to deprecate old features that they no longer " +"wish to support." +msgstr "" +"Python 2.1 додає структуру попереджень для використання в цій схемі. Він " +"додає модуль :mod:`warnings`, який надає функції для видачі попереджень і " +"для фільтрації попереджень, які ви не бажаєте відображати. Сторонні модулі " +"також можуть використовувати цю структуру, щоб відмовитися від старих " +"функцій, які вони більше не хочуть підтримувати." + +msgid "" +"For example, in Python 2.1 the :mod:`regex` module is deprecated, so " +"importing it causes a warning to be printed::" +msgstr "" +"Наприклад, у Python 2.1 модуль :mod:`regex` є застарілим, тому його " +"імпортування призводить до друку попередження::" + +msgid "Warnings can be issued by calling the :func:`warnings.warn` function::" +msgstr "Попередження можна видати, викликавши функцію :func:`warnings.warn`::" + +msgid "" +"The first parameter is the warning message; an additional optional " +"parameters can be used to specify a particular warning category." +msgstr "" +"Перший параметр – це попереджувальне повідомлення; додаткові необов'язкові " +"параметри можуть використовуватися для визначення певної категорії " +"попередження." + +msgid "" +"Filters can be added to disable certain warnings; a regular expression " +"pattern can be applied to the message or to the module name in order to " +"suppress a warning. For example, you may have a program that uses the :mod:" +"`regex` module and not want to spare the time to convert it to use the :mod:" +"`re` module right now. The warning can be suppressed by calling ::" +msgstr "" +"Можна додати фільтри, щоб вимкнути певні попередження; шаблон регулярного " +"виразу можна застосувати до повідомлення або до назви модуля, щоб придушити " +"попередження. Наприклад, у вас може бути програма, яка використовує модуль :" +"mod:`regex`, і ви не хочете витрачати час на перетворення її на використання " +"модуля :mod:`re` прямо зараз. Попередження можна придушити викликом ::" + +msgid "" +"This adds a filter that will apply only to warnings of the class :class:" +"`DeprecationWarning` triggered in the :mod:`__main__` module, and applies a " +"regular expression to only match the message about the :mod:`regex` module " +"being deprecated, and will cause such warnings to be ignored. Warnings can " +"also be printed only once, printed every time the offending code is " +"executed, or turned into exceptions that will cause the program to stop " +"(unless the exceptions are caught in the usual way, of course)." +msgstr "" +"Це додає фільтр, який застосовуватиметься лише до попереджень класу :class:" +"`DeprecationWarning`, ініційованих у модулі :mod:`__main__`, і застосовує " +"регулярний вираз, щоб відповідати лише повідомленню про наявність модуля :" +"mod:`regex` не підтримується, і такі попередження ігноруватимуться. " +"Попередження також можна друкувати лише один раз, друкувати кожного разу, " +"коли виконується код-порушник, або перетворювати на винятки, які призведуть " +"до зупинки програми (звичайно, якщо винятки не перехоплюються звичайним " +"способом)." + +msgid "" +"Functions were also added to Python's C API for issuing warnings; refer to " +"PEP 230 or to Python's API documentation for the details." +msgstr "" +"До API C Python також додано функції для видачі попереджень; подробиці " +"зверніться до PEP 230 або до документації Python API." + +msgid ":pep:`5` - Guidelines for Language Evolution" +msgstr ":pep:`5` - Рекомендації щодо розвитку мови" + +msgid "" +"Written by Paul Prescod, to specify procedures to be followed when removing " +"old features from Python. The policy described in this PEP hasn't been " +"officially adopted, but the eventual policy probably won't be too different " +"from Prescod's proposal." +msgstr "" +"Написав Пол Прескод, щоб визначити процедури, яких слід дотримуватися під " +"час видалення старих функцій з Python. Політика, описана в цьому PEP, не " +"була офіційно прийнята, але остаточна політика, ймовірно, не надто " +"відрізнятиметься від пропозиції Prescod." + +msgid ":pep:`230` - Warning Framework" +msgstr ":pep:`230` - Рамка попереджень" + +msgid "Written and implemented by Guido van Rossum." +msgstr "Написаний і реалізований Гвідо ван Россумом." + +msgid "PEP 229: New Build System" +msgstr "PEP 229: Нова система побудови" + +msgid "" +"When compiling Python, the user had to go in and edit the :file:`Modules/" +"Setup` file in order to enable various additional modules; the default set " +"is relatively small and limited to modules that compile on most Unix " +"platforms. This means that on Unix platforms with many more features, most " +"notably Linux, Python installations often don't contain all useful modules " +"they could." +msgstr "" +"Під час компіляції Python користувач мав зайти та відредагувати файл :file:" +"`Modules/Setup`, щоб увімкнути різні додаткові модулі; стандартний набір " +"відносно малий і обмежений модулями, які компілюються на більшості платформ " +"Unix. Це означає, що на платформах Unix із набагато більшою кількістю " +"можливостей, особливо Linux, встановлення Python часто не містять усіх " +"корисних модулів, які могли б." + +msgid "" +"Python 2.0 added the Distutils, a set of modules for distributing and " +"installing extensions. In Python 2.1, the Distutils are used to compile " +"much of the standard library of extension modules, autodetecting which ones " +"are supported on the current machine. It's hoped that this will make Python " +"installations easier and more featureful." +msgstr "" +"Python 2.0 додав Distutils, набір модулів для розповсюдження та встановлення " +"розширень. У Python 2.1 Distutils використовуються для компіляції більшої " +"частини стандартної бібліотеки модулів розширення, автоматично визначаючи, " +"які з них підтримуються на поточній машині. Є надія, що це зробить " +"інсталяцію Python простішою та функціональнішою." + +msgid "" +"Instead of having to edit the :file:`Modules/Setup` file in order to enable " +"modules, a :file:`setup.py` script in the top directory of the Python source " +"distribution is run at build time, and attempts to discover which modules " +"can be enabled by examining the modules and header files on the system. If " +"a module is configured in :file:`Modules/Setup`, the :file:`setup.py` script " +"won't attempt to compile that module and will defer to the :file:`Modules/" +"Setup` file's contents. This provides a way to specific any strange command-" +"line flags or libraries that are required for a specific platform." +msgstr "" +"Замість того, щоб редагувати файл :file:`Modules/Setup`, щоб увімкнути " +"модулі, сценарій :file:`setup.py` у верхньому каталозі дистрибутива " +"вихідного коду Python запускається під час збирання та намагається виявити " +"які модулі можна ввімкнути, перевіривши модулі та файли заголовків у " +"системі. Якщо модуль налаштовано в :file:`Modules/Setup`, сценарій :file:" +"`setup.py` не намагатиметься скомпілювати цей модуль і звернеться до вмісту " +"файлу :file:`Modules/Setup`. Це надає спосіб визначити будь-які дивні " +"прапори командного рядка або бібліотеки, які потрібні для певної платформи." + +msgid "" +"In another far-reaching change to the build mechanism, Neil Schemenauer " +"restructured things so Python now uses a single makefile that isn't " +"recursive, instead of makefiles in the top directory and in each of the :" +"file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " +"subdirectories. This makes building Python faster and also makes hacking " +"the Makefiles clearer and simpler." +msgstr "" +"В іншій далекосяжній зміні механізму збірки Ніл Шеменауер змінив структуру " +"так, що Python тепер використовує єдиний make-файл, який не є рекурсивним, " +"замість make-файлів у верхньому каталозі та в кожному Підкаталоги з :file:" +"`Python/`, :file:`Parser/`, :file:`Objects/` і :file:`Modules/`. Це робить " +"створення Python швидшим, а також робить злам Makefiles зрозумілішим і " +"простішим." + +msgid ":pep:`229` - Using Distutils to Build Python" +msgstr ":pep:`229` - Використання Distutils для створення Python" + +msgid "Written and implemented by A.M. Kuchling." +msgstr "Написана та реалізована А.М. Кухлінг." + +msgid "PEP 205: Weak References" +msgstr "PEP 205: Слабкі посилання" + +msgid "" +"Weak references, available through the :mod:`weakref` module, are a minor " +"but useful new data type in the Python programmer's toolbox." +msgstr "" +"Слабкі посилання, доступні через модуль :mod:`weakref`, є другорядним, але " +"корисним новим типом даних у наборі інструментів програміста Python." + +msgid "" +"Storing a reference to an object (say, in a dictionary or a list) has the " +"side effect of keeping that object alive forever. There are a few specific " +"cases where this behaviour is undesirable, object caches being the most " +"common one, and another being circular references in data structures such as " +"trees." +msgstr "" +"Зберігання посилання на об’єкт (скажімо, у словнику чи списку) має побічним " +"ефектом збереження цього об’єкта назавжди. Є кілька конкретних випадків, " +"коли така поведінка є небажаною, найпоширенішим є кешування об’єктів, а " +"іншим є циклічні посилання в структурах даних, таких як дерева." + +msgid "" +"For example, consider a memoizing function that caches the results of " +"another function ``f(x)`` by storing the function's argument and its result " +"in a dictionary::" +msgstr "" +"Наприклад, розглянемо функцію запам’ятовування, яка кешує результати іншої " +"функції ``f(x)``, зберігаючи аргумент функції та її результат у словнику:" + +msgid "" +"This version works for simple things such as integers, but it has a side " +"effect; the ``_cache`` dictionary holds a reference to the return values, so " +"they'll never be deallocated until the Python process exits and cleans up. " +"This isn't very noticeable for integers, but if :func:`f` returns an object, " +"or a data structure that takes up a lot of memory, this can be a problem." +msgstr "" +"Ця версія працює для простих речей, таких як цілі числа, але вона має " +"побічний ефект; словник ``_cache`` містить посилання на значення, що " +"повертаються, тому їх ніколи не буде звільнено, доки процес Python не " +"завершить роботу та не очистить. Це не дуже помітно для цілих чисел, але " +"якщо :func:`f` повертає об’єкт або структуру даних, яка займає багато " +"пам’яті, це може бути проблемою." + +msgid "" +"Weak references provide a way to implement a cache that won't keep objects " +"alive beyond their time. If an object is only accessible through weak " +"references, the object will be deallocated and the weak references will now " +"indicate that the object it referred to no longer exists. A weak reference " +"to an object *obj* is created by calling ``wr = weakref.ref(obj)``. The " +"object being referred to is returned by calling the weak reference as if it " +"were a function: ``wr()``. It will return the referenced object, or " +"``None`` if the object no longer exists." +msgstr "" +"Слабкі посилання забезпечують спосіб реалізації кешу, який не зберігатиме " +"об’єкти живими понад час. Якщо об’єкт доступний лише через слабкі посилання, " +"об’єкт буде звільнено, а слабкі посилання тепер вказуватимуть, що об’єкт, на " +"який він посилався, більше не існує. Слабке посилання на об’єкт *obj* " +"створюється шляхом виклику ``wr = weakref.ref(obj)``. Об’єкт, на який " +"посилається, повертається шляхом виклику слабкого посилання, як якщо б це " +"була функція: ``wr()``. Він поверне об’єкт, на який посилається, або \"Немає" +"\", якщо об’єкт більше не існує." + +msgid "" +"This makes it possible to write a :func:`memoize` function whose cache " +"doesn't keep objects alive, by storing weak references in the cache. ::" +msgstr "" +"Це дає змогу написати функцію :func:`memoize`, кеш якої не зберігає живі " +"об’єкти, зберігаючи слабкі посилання в кеші. ::" + +msgid "" +"The :mod:`weakref` module also allows creating proxy objects which behave " +"like weak references --- an object referenced only by proxy objects is " +"deallocated -- but instead of requiring an explicit call to retrieve the " +"object, the proxy transparently forwards all operations to the object as " +"long as the object still exists. If the object is deallocated, attempting " +"to use a proxy will cause a :exc:`weakref.ReferenceError` exception to be " +"raised. ::" +msgstr "" +"Модуль :mod:`weakref` також дозволяє створювати проксі-об’єкти, які " +"поводяться як слабкі посилання --- об’єкт, на який посилаються лише проксі-" +"об’єкти, звільняється, але замість того, щоб вимагати явного виклику для " +"отримання об’єкта, проксі прозоро пересилає всі операції до об’єкта, поки " +"об’єкт все ще існує. Якщо об’єкт звільнено, спроба використати проксі " +"призведе до виникнення винятку :exc:`weakref.ReferenceError`. ::" + +msgid ":pep:`205` - Weak References" +msgstr ":pep:`205` - Слабкі посилання" + +msgid "Written and implemented by Fred L. Drake, Jr." +msgstr "Написаний і реалізований Фредом Л. Дрейком-молодшим." + +msgid "PEP 232: Function Attributes" +msgstr "PEP 232: Атрибути функцій" + +msgid "" +"In Python 2.1, functions can now have arbitrary information attached to " +"them. People were often using docstrings to hold information about functions " +"and methods, because the ``__doc__`` attribute was the only way of attaching " +"any information to a function. For example, in the Zope web application " +"server, functions are marked as safe for public access by having a " +"docstring, and in John Aycock's SPARK parsing framework, docstrings hold " +"parts of the BNF grammar to be parsed. This overloading is unfortunate, " +"since docstrings are really intended to hold a function's documentation; for " +"example, it means you can't properly document functions intended for private " +"use in Zope." +msgstr "" +"У Python 2.1 функції тепер можуть мати довільну інформацію, приєднану до " +"них. Люди часто використовували рядки документів для зберігання інформації " +"про функції та методи, тому що атрибут ``__doc__`` був єдиним способом " +"приєднання будь-якої інформації до функції. Наприклад, на сервері веб-" +"додатків Zope функції позначаються як безпечні для загального доступу за " +"допомогою рядка документації, а в системі аналізу Джона Ейкока SPARK рядки " +"документів містять частини граматики BNF, які потрібно розібрати. Це " +"перевантаження викликає жаль, оскільки рядки документації дійсно призначені " +"для зберігання документації функції; наприклад, це означає, що ви не можете " +"належним чином документувати функції, призначені для приватного використання " +"в Zope." + +msgid "" +"Arbitrary attributes can now be set and retrieved on functions using the " +"regular Python syntax::" +msgstr "" +"Довільні атрибути тепер можна встановлювати та отримувати для функцій за " +"допомогою звичайного синтаксису Python:" + +msgid "" +"The dictionary containing attributes can be accessed as the function's :attr:" +"`~object.__dict__`. Unlike the :attr:`~object.__dict__` attribute of class " +"instances, in functions you can actually assign a new dictionary to :attr:" +"`~object.__dict__`, though the new value is restricted to a regular Python " +"dictionary; you *can't* be tricky and set it to a :class:`UserDict` " +"instance, or any other random object that behaves like a mapping." +msgstr "" +"Доступ до словника, що містить атрибути, можна отримати як :attr:`~object." +"__dict__` функції. На відміну від атрибута :attr:`~object.__dict__` " +"екземплярів класу, у функціях ви фактично можете призначити новий словник :" +"attr:`~object.__dict__`, хоча нове значення обмежене звичайним словником " +"Python; Ви *не можете* бути хитрими і встановити для нього екземпляр :class:" +"`UserDict` або будь-який інший випадковий об’єкт, який поводиться як " +"відображення." + +msgid ":pep:`232` - Function Attributes" +msgstr ":pep:`232` - Атрибути функції" + +msgid "Written and implemented by Barry Warsaw." +msgstr "Написав і реалізував Баррі Варшау." + +msgid "PEP 235: Importing Modules on Case-Insensitive Platforms" +msgstr "PEP 235: Імпорт модулів на платформах без урахування регістру" + +msgid "" +"Some operating systems have filesystems that are case-insensitive, MacOS and " +"Windows being the primary examples; on these systems, it's impossible to " +"distinguish the filenames ``FILE.PY`` and ``file.py``, even though they do " +"store the file's name in its original case (they're case-preserving, too)." +msgstr "" +"Деякі операційні системи мають файлові системи, які не чутливі до регістру, " +"MacOS і Windows є основними прикладами; у цих системах неможливо розрізнити " +"назви файлів ``FILE.PY`` і ``file.py``, навіть якщо вони зберігають назву " +"файлу в оригінальному регістрі (вони також зберігають регістр)." + +msgid "" +"In Python 2.1, the :keyword:`import` statement will work to simulate case-" +"sensitivity on case-insensitive platforms. Python will now search for the " +"first case-sensitive match by default, raising an :exc:`ImportError` if no " +"such file is found, so ``import file`` will not import a module named ``FILE." +"PY``. Case-insensitive matching can be requested by setting the :envvar:" +"`PYTHONCASEOK` environment variable before starting the Python interpreter." +msgstr "" +"У Python 2.1 оператор :keyword:`import` працюватиме для імітації чутливості " +"до регістру на платформах, які не чутливі до регістру. Тепер Python буде " +"шукати перший збіг з урахуванням регістру за замовчуванням, викликаючи :exc:" +"`ImportError`, якщо такий файл не знайдено, тому ``import file`` не " +"імпортуватиме модуль з назвою ``FILE.PY``. Зіставлення без урахування " +"регістру можна запитати, встановивши змінну середовища :envvar:" +"`PYTHONCASEOK` перед запуском інтерпретатора Python." + +msgid "PEP 217: Interactive Display Hook" +msgstr "PEP 217: інтерактивний дисплей" + +msgid "" +"When using the Python interpreter interactively, the output of commands is " +"displayed using the built-in :func:`repr` function. In Python 2.1, the " +"variable :func:`sys.displayhook` can be set to a callable object which will " +"be called instead of :func:`repr`. For example, you can set it to a special " +"pretty-printing function::" +msgstr "" +"Під час використання інтерпретатора Python в інтерактивному режимі вихід " +"команд відображається за допомогою вбудованої функції :func:`repr`. У Python " +"2.1 змінна :func:`sys.displayhook` може бути встановлена на викликаний " +"об’єкт, який буде викликатися замість :func:`repr`. Наприклад, ви можете " +"встановити для нього спеціальну функцію красивого друку:" + +msgid ":pep:`217` - Display Hook for Interactive Use" +msgstr ":pep:`217` - Дисплей Хук для інтерактивного використання" + +msgid "Written and implemented by Moshe Zadka." +msgstr "Написав і реалізував Моше Задка." + +msgid "PEP 208: New Coercion Model" +msgstr "PEP 208: Нова модель примусу" + +msgid "" +"How numeric coercion is done at the C level was significantly modified. " +"This will only affect the authors of C extensions to Python, allowing them " +"more flexibility in writing extension types that support numeric operations." +msgstr "" +"Спосіб виконання числового приведення на рівні C було значно змінено. Це " +"вплине лише на авторів розширень C для Python, надаючи їм більше гнучкості в " +"написанні типів розширень, які підтримують числові операції." + +msgid "" +"Extension types can now set the type flag ``Py_TPFLAGS_CHECKTYPES`` in their " +"``PyTypeObject`` structure to indicate that they support the new coercion " +"model. In such extension types, the numeric slot functions can no longer " +"assume that they'll be passed two arguments of the same type; instead they " +"may be passed two arguments of differing types, and can then perform their " +"own internal coercion. If the slot function is passed a type it can't " +"handle, it can indicate the failure by returning a reference to the " +"``Py_NotImplemented`` singleton value. The numeric functions of the other " +"type will then be tried, and perhaps they can handle the operation; if the " +"other type also returns ``Py_NotImplemented``, then a :exc:`TypeError` will " +"be raised. Numeric methods written in Python can also return " +"``Py_NotImplemented``, causing the interpreter to act as if the method did " +"not exist (perhaps raising a :exc:`TypeError`, perhaps trying another " +"object's numeric methods)." +msgstr "" +"Типи розширень тепер можуть установлювати прапор типу " +"``Py_TPFLAGS_CHECKTYPES`` у своїй структурі ``PyTypeObject``, щоб вказати, " +"що вони підтримують нову модель примусу. У таких типах розширень функції " +"числового слота більше не можуть припускати, що їм будуть передані два " +"аргументи одного типу; натомість їм можуть бути передані два аргументи " +"різних типів, і потім вони можуть виконувати власний внутрішній примус. Якщо " +"функції слота передано тип, який вона не може обробити, вона може вказувати " +"на помилку, повертаючи посилання на одноэлементне значення " +"``Py_NotImplemented``. Потім буде випробувано числові функції іншого типу, " +"і, можливо, вони зможуть впоратися з операцією; якщо інший тип також " +"повертає ``Py_NotImplemented``, тоді буде викликано :exc:`TypeError`. " +"Числові методи, написані на Python, також можуть повертати " +"``Py_NotImplemented``, змушуючи інтерпретатор діяти так, ніби метод не існує " +"(можливо, викликаючи :exc:`TypeError`, можливо, намагаючись використовувати " +"числові методи іншого об’єкта)." + +msgid ":pep:`208` - Reworking the Coercion Model" +msgstr ":pep:`208` - Переробка моделі примусу" + +msgid "" +"Written and implemented by Neil Schemenauer, heavily based upon earlier work " +"by Marc-André Lemburg. Read this to understand the fine points of how " +"numeric operations will now be processed at the C level." +msgstr "" +"Написаний і реалізований Нілом Шеменауером, значною мірою заснований на " +"попередніх роботах Марка-Андре Лембурга. Прочитайте це, щоб зрозуміти " +"тонкощі того, як числові операції тепер оброблятимуться на рівні C." + +msgid "PEP 241: Metadata in Python Packages" +msgstr "PEP 241: Метадані в пакетах Python" + +msgid "" +"A common complaint from Python users is that there's no single catalog of " +"all the Python modules in existence. T. Middleton's Vaults of Parnassus at " +"``www.vex.net/parnassus/`` (retired in February 2009, `available in the " +"Internet Archive Wayback Machine `_) was the largest catalog of Python modules, " +"but registering software at the Vaults is optional, and many people did not " +"bother." +msgstr "" + +msgid "" +"As a first small step toward fixing the problem, Python software packaged " +"using the Distutils :command:`sdist` command will include a file named :file:" +"`PKG-INFO` containing information about the package such as its name, " +"version, and author (metadata, in cataloguing terminology). :pep:`241` " +"contains the full list of fields that can be present in the :file:`PKG-INFO` " +"file. As people began to package their software using Python 2.1, more and " +"more packages will include metadata, making it possible to build automated " +"cataloguing systems and experiment with them. With the result experience, " +"perhaps it'll be possible to design a really good catalog and then build " +"support for it into Python 2.2. For example, the Distutils :command:`sdist` " +"and :command:`bdist_\\*` commands could support an ``upload`` option that " +"would automatically upload your package to a catalog server." +msgstr "" +"Як перший невеликий крок до вирішення проблеми, програмне забезпечення " +"Python, упаковане за допомогою команди Distutils :command:`sdist`, міститиме " +"файл під назвою :file:`PKG-INFO`, що містить інформацію про пакунок, як-от " +"його назву, версію та автора. (метадані, в термінології каталогізації). :pep:" +"`241` містить повний список полів, які можуть міститися у файлі :file:`PKG-" +"INFO`. Оскільки люди почали пакувати своє програмне забезпечення за " +"допомогою Python 2.1, все більше і більше пакетів включатимуть метадані, що " +"дає змогу створювати автоматизовані системи каталогізації та " +"експериментувати з ними. З отриманим досвідом, можливо, стане можливим " +"створити справді хороший каталог, а потім створити його підтримку в Python " +"2.2. Наприклад, команди Distutils :command:`sdist` і :command:`bdist_\\*` " +"можуть підтримувати опцію ``upload``, яка автоматично завантажуватиме ваш " +"пакет на сервер каталогу." + +msgid "" +"You can start creating packages containing :file:`PKG-INFO` even if you're " +"not using Python 2.1, since a new release of the Distutils will be made for " +"users of earlier Python versions. Version 1.0.2 of the Distutils includes " +"the changes described in :pep:`241`, as well as various bugfixes and " +"enhancements. It will be available from the Distutils SIG at https://www." +"python.org/community/sigs/current/distutils-sig/." +msgstr "" +"Ви можете почати створювати пакунки, що містять :file:`PKG-INFO`, навіть " +"якщо ви не використовуєте Python 2.1, оскільки для користувачів попередніх " +"версій Python буде створено новий випуск Distutils. Версія 1.0.2 Distutils " +"містить зміни, описані в :pep:`241`, а також різні виправлення помилок і " +"вдосконалення. Він буде доступний у Distutils SIG за адресою https://www." +"python.org/community/sigs/current/distutils-sig/." + +msgid ":pep:`241` - Metadata for Python Software Packages" +msgstr ":pep:`241` - метадані для програмних пакетів Python" + +msgid ":pep:`243` - Module Repository Upload Mechanism" +msgstr ":pep:`243` - Механізм завантаження сховища модулів" + +msgid "" +"Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " +"for uploading Python packages to a central server." +msgstr "" +"Цей проект PEP, написаний Шоном Райфшнайдером, описує запропонований " +"механізм для завантаження пакетів Python на центральний сервер." + +msgid "New and Improved Modules" +msgstr "Нові та вдосконалені модулі" + +msgid "" +"Ka-Ping Yee contributed two new modules: :mod:`inspect.py`, a module for " +"getting information about live Python code, and :mod:`pydoc.py`, a module " +"for interactively converting docstrings to HTML or text. As a bonus, :file:" +"`Tools/scripts/pydoc`, which is now automatically installed, uses :mod:" +"`pydoc.py` to display documentation given a Python module, package, or class " +"name. For example, ``pydoc xml.dom`` displays the following::" +msgstr "" +"Ka-Ping Yee вніс два нові модулі: :mod:`inspect.py`, модуль для отримання " +"інформації про живий код Python, і :mod:`pydoc.py`, модуль для " +"інтерактивного перетворення рядків документів у HTML або текст. Як бонус, :" +"file:`Tools/scripts/pydoc`, який тепер автоматично встановлюється, " +"використовує :mod:`pydoc.py` для відображення документації з назвою модуля, " +"пакета чи класу Python. Наприклад, ``pydoc xml.dom`` відображає наступне:" + +msgid "" +":file:`pydoc` also includes a Tk-based interactive help browser. :file:" +"`pydoc` quickly becomes addictive; try it out!" +msgstr "" +":file:`pydoc` також містить інтерактивний довідковий браузер на основі Tk. :" +"file:`pydoc` швидко викликає звикання; Спробуй!" + +msgid "" +"Two different modules for unit testing were added to the standard library. " +"The :mod:`doctest` module, contributed by Tim Peters, provides a testing " +"framework based on running embedded examples in docstrings and comparing the " +"results against the expected output. PyUnit, contributed by Steve Purcell, " +"is a unit testing framework inspired by JUnit, which was in turn an " +"adaptation of Kent Beck's Smalltalk testing framework. See http://pyunit." +"sourceforge.net/ for more information about PyUnit." +msgstr "" +"До стандартної бібліотеки додано два різних модулі для модульного " +"тестування. Модуль :mod:`doctest`, наданий Тімом Пітерсом, надає структуру " +"тестування, засновану на виконанні вбудованих прикладів у рядки документів і " +"порівняння результатів із очікуваним результатом. PyUnit, наданий Стівом " +"Перселлом, — це фреймворк модульного тестування, натхненний JUnit, який, у " +"свою чергу, був адаптацією фреймворку тестування Smalltalk Кента Бека. " +"Перегляньте http://pyunit.sourceforge.net/ для отримання додаткової " +"інформації про PyUnit." + +msgid "" +"The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which " +"compares two sequences and computes the changes required to transform one " +"sequence into the other. For example, this module can be used to write a " +"tool similar to the Unix :program:`diff` program, and in fact the sample " +"program :file:`Tools/scripts/ndiff.py` demonstrates how to write such a " +"script." +msgstr "" +"Модуль :mod:`difflib` містить клас :class:`SequenceMatcher`, який порівнює " +"дві послідовності та обчислює зміни, необхідні для перетворення однієї " +"послідовності в іншу. Наприклад, цей модуль можна використовувати для " +"написання інструменту, подібного до програми Unix :program:`diff`, і " +"фактично приклад програми :file:`Tools/scripts/ndiff.py` демонструє, як " +"написати такий сценарій." + +msgid "" +":mod:`curses.panel`, a wrapper for the panel library, part of ncurses and of " +"SYSV curses, was contributed by Thomas Gellekum. The panel library provides " +"windows with the additional feature of depth. Windows can be moved higher or " +"lower in the depth ordering, and the panel library figures out where panels " +"overlap and which sections are visible." +msgstr "" +":mod:`curses.panel`, оболонку для бібліотеки панелей, частину ncurses і " +"проклять SYSV, надав Томас Геллекум. Бібліотека панелей надає вікна з " +"додатковою функцією глибини. Вікна можна переміщувати вище або нижче в " +"порядку глибини, а бібліотека панелей визначає, де панелі перекриваються та " +"які розділи видно." + +msgid "" +"The PyXML package has gone through a few releases since Python 2.0, and " +"Python 2.1 includes an updated version of the :mod:`xml` package. Some of " +"the noteworthy changes include support for Expat 1.2 and later versions, the " +"ability for Expat parsers to handle files in any encoding supported by " +"Python, and various bugfixes for SAX, DOM, and the :mod:`minidom` module." +msgstr "" +"Пакет PyXML пройшов кілька випусків, починаючи з Python 2.0, і Python 2.1 " +"містить оновлену версію пакета :mod:`xml`. Деякі з важливих змін включають " +"підтримку Expat 1.2 і пізніших версій, здатність синтаксичних аналізаторів " +"Expat обробляти файли в будь-якому кодуванні, що підтримується Python, а " +"також різні виправлення помилок для SAX, DOM і модуля :mod:`minidom`." + +msgid "" +"Ping also contributed another hook for handling uncaught exceptions. :func:" +"`sys.excepthook` can be set to a callable object. When an exception isn't " +"caught by any :keyword:`try`...\\ :keyword:`except` blocks, the exception " +"will be passed to :func:`sys.excepthook`, which can then do whatever it " +"likes. At the Ninth Python Conference, Ping demonstrated an application for " +"this hook: printing an extended traceback that not only lists the stack " +"frames, but also lists the function arguments and the local variables for " +"each frame." +msgstr "" +"Ping також вніс ще один хук для обробки неперехоплених винятків. :func:`sys." +"excepthook` можна встановити на об’єкт, що викликається. Якщо виняток не " +"перехоплюється жодним блоком :keyword:`try`...\\ :keyword:`except`, виняток " +"буде передано до :func:`sys.excepthook`, який потім може робити все, що " +"забажає. На Дев’ятій конференції Python Ping продемонстрував застосування " +"для цього хука: друк розширеного трасування, яке не лише містить перелік " +"фреймів стека, але також перераховує аргументи функції та локальні змінні " +"для кожного фрейму." + +msgid "" +"Various functions in the :mod:`time` module, such as :func:`asctime` and :" +"func:`localtime`, require a floating point argument containing the time in " +"seconds since the epoch. The most common use of these functions is to work " +"with the current time, so the floating point argument has been made " +"optional; when a value isn't provided, the current time will be used. For " +"example, log file entries usually need a string containing the current time; " +"in Python 2.1, ``time.asctime()`` can be used, instead of the lengthier " +"``time.asctime(time.localtime(time.time()))`` that was previously required." +msgstr "" +"Різні функції в модулі :mod:`time`, такі як :func:`asctime` і :func:" +"`localtime`, вимагають аргументу з плаваючою комою, що містить час у " +"секундах від епохи. Найпоширенішим використанням цих функцій є робота з " +"поточним часом, тому аргумент із плаваючою комою став необов’язковим; якщо " +"значення не вказано, буде використано поточний час. Наприклад, записи у " +"файлі журналу зазвичай потребують рядка, що містить поточний час; у Python " +"2.1 можна використовувати ``time.asctime()`` замість довшого ``time." +"asctime(time.localtime(time.time()))``, який був необхідний раніше." + +msgid "This change was proposed and implemented by Thomas Wouters." +msgstr "Цю зміну запропонував і впровадив Томас Воутерс." + +msgid "" +"The :mod:`ftplib` module now defaults to retrieving files in passive mode, " +"because passive mode is more likely to work from behind a firewall. This " +"request came from the Debian bug tracking system, since other Debian " +"packages use :mod:`ftplib` to retrieve files and then don't work from behind " +"a firewall. It's deemed unlikely that this will cause problems for anyone, " +"because Netscape defaults to passive mode and few people complain, but if " +"passive mode is unsuitable for your application or network setup, call " +"``set_pasv(0)`` on FTP objects to disable passive mode." +msgstr "" +"Модуль :mod:`ftplib` тепер за замовчуванням отримує файли в пасивному " +"режимі, оскільки пасивний режим, швидше за все, працюватиме за брандмауером. " +"Цей запит надійшов від системи відстеження помилок Debian, оскільки інші " +"пакунки Debian використовують :mod:`ftplib` для отримання файлів, а потім не " +"працюють через брандмауер. Вважається малоймовірним, що це спричинить комусь " +"проблеми, оскільки Netscape за замовчуванням використовує пасивний режим, і " +"мало хто скаржиться, але якщо пасивний режим не підходить для вашої програми " +"чи налаштувань мережі, викличте ``set_pasv(0)`` для об’єктів FTP, щоб " +"вимкнути пасивний режим." + +msgid "" +"Support for raw socket access has been added to the :mod:`socket` module, " +"contributed by Grant Edwards." +msgstr "" +"До модуля :mod:`socket`, наданого Грантом Едвардсом, додано підтримку " +"необробленого доступу до сокетів." + +msgid "" +"The :mod:`pstats` module now contains a simple interactive statistics " +"browser for displaying timing profiles for Python programs, invoked when the " +"module is run as a script. Contributed by Eric S. Raymond." +msgstr "" +"Модуль :mod:`pstats` тепер містить простий інтерактивний браузер статистики " +"для відображення профілів часу для програм Python, викликаних, коли модуль " +"запускається як сценарій. Надав Ерік С. Реймонд." + +msgid "" +"A new implementation-dependent function, ``sys._getframe([depth])``, has " +"been added to return a given frame object from the current call stack. :func:" +"`sys._getframe` returns the frame at the top of the call stack; if the " +"optional integer argument *depth* is supplied, the function returns the " +"frame that is *depth* calls below the top of the stack. For example, ``sys." +"_getframe(1)`` returns the caller's frame object." +msgstr "" +"Додано нову залежну від реалізації функцію sys._getframe([depth]) для " +"повернення заданого об’єкта кадру з поточного стеку викликів. :func:`sys." +"_getframe` повертає кадр у верхній частині стека викликів; якщо вказано " +"додатковий цілочисельний аргумент *depth*, функція повертає кадр, який " +"*depth* викликає нижче верхньої частини стека. Наприклад, ``sys." +"_getframe(1)`` повертає об’єкт кадру викликаючого." + +msgid "" +"This function is only present in CPython, not in Jython or the .NET " +"implementation. Use it for debugging, and resist the temptation to put it " +"into production code." +msgstr "" +"Ця функція присутня лише в CPython, а не в Jython або реалізації .NET. " +"Використовуйте його для налагодження та втримайтеся від спокуси вставити " +"його у робочий код." + +msgid "Other Changes and Fixes" +msgstr "Інші зміни та виправлення" + +msgid "" +"There were relatively few smaller changes made in Python 2.1 due to the " +"shorter release cycle. A search through the CVS change logs turns up 117 " +"patches applied, and 136 bugs fixed; both figures are likely to be " +"underestimates. Some of the more notable changes are:" +msgstr "" +"У Python 2.1 було внесено відносно небагато менших змін через коротший цикл " +"випуску. Пошук у журналах змін CVS виявив 117 застосованих виправлень і 136 " +"виправлених помилок; обидві цифри, ймовірно, занижені. Деякі з найбільш " +"помітних змін:" + +msgid "" +"A specialized object allocator is now optionally available, that should be " +"faster than the system :func:`malloc` and have less memory overhead. The " +"allocator uses C's :func:`malloc` function to get large pools of memory, and " +"then fulfills smaller memory requests from these pools. It can be enabled " +"by providing the :option:`!--with-pymalloc` option to the :program:" +"`configure` script; see :file:`Objects/obmalloc.c` for the implementation " +"details." +msgstr "" +"Тепер опціонально доступний спеціалізований розподільник об’єктів, який має " +"бути швидшим за системний :func:`malloc` і мати менше витрат пам’яті. " +"Розподільник використовує функцію C :func:`malloc`, щоб отримати великі пули " +"пам’яті, а потім виконує менші запити пам’яті з цих пулів. Його можна " +"ввімкнути, надавши параметр :option:`!--with-pymalloc` сценарію :program:" +"`configure`; див. :file:`Objects/obmalloc.c` для деталей реалізації." + +msgid "" +"Authors of C extension modules should test their code with the object " +"allocator enabled, because some incorrect code may break, causing core dumps " +"at runtime. There are a bunch of memory allocation functions in Python's C " +"API that have previously been just aliases for the C library's :func:" +"`malloc` and :func:`free`, meaning that if you accidentally called " +"mismatched functions, the error wouldn't be noticeable. When the object " +"allocator is enabled, these functions aren't aliases of :func:`malloc` and :" +"func:`free` any more, and calling the wrong function to free memory will get " +"you a core dump. For example, if memory was allocated using :func:" +"`PyMem_New`, it has to be freed using :func:`PyMem_Del`, not :func:`free`. " +"A few modules included with Python fell afoul of this and had to be fixed; " +"doubtless there are more third-party modules that will have the same problem." +msgstr "" +"Автори модулів розширення C повинні протестувати свій код із увімкненим " +"розподільником об’єктів, тому що деякий неправильний код може зламатися, " +"спричиняючи дамп ядра під час виконання. В API C Python є купа функцій " +"розподілу пам’яті, які раніше були лише псевдонімами :func:`malloc` і :func:" +"`free` бібліотеки C, тобто якщо ви випадково викликаєте невідповідні " +"функції, помилка не буде бути помітним. Коли розподільник об’єктів " +"увімкнено, ці функції більше не є псевдонімами :func:`malloc` і :func:" +"`free`, і виклик неправильної функції для звільнення пам’яті призведе до " +"створення дампа ядра. Наприклад, якщо пам’ять було виділено за допомогою :" +"func:`PyMem_New`, її потрібно звільнити за допомогою :func:`PyMem_Del`, а " +"не :func:`free`. Кілька модулів, що входять до складу Python, вийшли з ладу, " +"і їх потрібно було виправити; безсумнівно, є інші сторонні модулі, які " +"матимуть таку саму проблему." + +msgid "The object allocator was contributed by Vladimir Marangozov." +msgstr "Розподільник об’єктів надав Володимир Марангозов." + +msgid "" +"The speed of line-oriented file I/O has been improved because people often " +"complain about its lack of speed, and because it's often been used as a " +"naïve benchmark. The :meth:`readline` method of file objects has therefore " +"been rewritten to be much faster. The exact amount of the speedup will vary " +"from platform to platform depending on how slow the C library's :func:`getc` " +"was, but is around 66%, and potentially much faster on some particular " +"operating systems. Tim Peters did much of the benchmarking and coding for " +"this change, motivated by a discussion in comp.lang.python." +msgstr "" +"Швидкість рядково-орієнтованого файлового вводу-виводу покращено, оскільки " +"люди часто скаржаться на низьку швидкість, а також тому, що його часто " +"використовують як наївний еталон. Тому метод :meth:`readline` файлових " +"об’єктів було переписано, щоб він був набагато швидшим. Точна величина " +"прискорення буде відрізнятися від платформи до платформи залежно від того, " +"наскільки повільною була бібліотека C :func:`getc`, але вона становить " +"близько 66% і потенційно набагато швидше в деяких конкретних операційних " +"системах. Тім Пітерс виконав більшу частину порівняльного аналізу та " +"кодування для цієї зміни, мотивуючи це обговоренням у comp.lang.python." + +msgid "" +"A new module and method for file objects was also added, contributed by Jeff " +"Epler. The new method, :meth:`xreadlines`, is similar to the existing :func:" +"`xrange` built-in. :func:`xreadlines` returns an opaque sequence object " +"that only supports being iterated over, reading a line on every iteration " +"but not reading the entire file into memory as the existing :meth:" +"`readlines` method does. You'd use it like this::" +msgstr "" +"Також було додано новий модуль і метод для файлових об’єктів, наданий " +"Джеффом Еплером. Новий метод, :meth:`xreadlines`, подібний до наявного " +"вбудованого :func:`xrange`. :func:`xreadlines` повертає непрозорий об’єкт " +"послідовності, який підтримує лише повторення, читання рядка на кожній " +"ітерації, але не зчитування всього файлу в пам’ять, як це робить існуючий " +"метод :meth:`readlines`. Ви б використали це так::" + +msgid "" +"For a fuller discussion of the line I/O changes, see the python-dev summary " +"for January 1--15, 2001 at https://mail.python.org/pipermail/python-dev/2001-" +"January/." +msgstr "" +"Для детальнішого обговорення змін лінії вводу-виводу дивіться резюме python-" +"dev за 1--15 січня 2001 року на https://mail.python.org/pipermail/python-" +"dev/2001-January/." + +msgid "" +"A new method, :meth:`popitem`, was added to dictionaries to enable " +"destructively iterating through the contents of a dictionary; this can be " +"faster for large dictionaries because there's no need to construct a list " +"containing all the keys or values. ``D.popitem()`` removes a random ``(key, " +"value)`` pair from the dictionary ``D`` and returns it as a 2-tuple. This " +"was implemented mostly by Tim Peters and Guido van Rossum, after a " +"suggestion and preliminary patch by Moshe Zadka." +msgstr "" +"Новий метод, :meth:`popitem`, було додано до словників, щоб уможливити " +"деструктивне повторення вмісту словника; це може бути швидше для великих " +"словників, оскільки немає потреби створювати список, що містить усі ключі чи " +"значення. ``D.popitem()`` видаляє випадкову пару ``(ключ, значення)`` зі " +"словника ``D`` і повертає її як 2-кортеж. Це було реалізовано переважно " +"Тімом Пітерсом і Гвідо ван Россумом за пропозицією та попереднім " +"виправленням Моше Цадка." + +msgid "" +"Modules can now control which names are imported when ``from module import " +"*`` is used, by defining an ``__all__`` attribute containing a list of names " +"that will be imported. One common complaint is that if the module imports " +"other modules such as :mod:`sys` or :mod:`string`, ``from module import *`` " +"will add them to the importing module's namespace. To fix this, simply list " +"the public names in ``__all__``::" +msgstr "" +"Модулі тепер можуть контролювати, які імена імпортуються, коли " +"використовується ``from module import *``, визначаючи атрибут ``__all__``, " +"що містить список імен, які будуть імпортовані. Однією з поширених скарг є " +"те, що якщо модуль імпортує інші модулі, такі як :mod:`sys` або :mod:" +"`string`, ``from module import *`` додасть їх до простору імен модуля " +"імпорту. Щоб виправити це, просто перелічіть загальнодоступні імена в " +"``__all__``::" + +msgid "" +"A stricter version of this patch was first suggested and implemented by Ben " +"Wolfson, but after some python-dev discussion, a weaker final version was " +"checked in." +msgstr "" +"Більш сувору версію цього патча вперше запропонував і реалізував Бен " +"Вольфсон, але після деякого обговорення розробників python була перевірена " +"слабша остаточна версія." + +msgid "" +"Applying :func:`repr` to strings previously used octal escapes for non-" +"printable characters; for example, a newline was ``'\\012'``. This was a " +"vestigial trace of Python's C ancestry, but today octal is of very little " +"practical use. Ka-Ping Yee suggested using hex escapes instead of octal " +"ones, and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate " +"characters, and implemented this new formatting." +msgstr "" +"Застосування :func:`repr` до рядків, які раніше використовували вісімкові " +"символи для недрукованих символів; наприклад, новий рядок був ``''\\012'``. " +"Це був рудиментарний слід походження Python C, але сьогодні вісімкова " +"система має дуже мало практичного використання. Ka-Ping Yee запропонував " +"використовувати шістнадцяткові символи замість вісімкових, а також " +"використовувати символи ``\\n``, ``\\t``, ``\\r`` для відповідних символів, " +"і реалізував це нове форматування." + +msgid "" +"Syntax errors detected at compile-time can now raise exceptions containing " +"the filename and line number of the error, a pleasant side effect of the " +"compiler reorganization done by Jeremy Hylton." +msgstr "" +"Синтаксичні помилки, виявлені під час компіляції, тепер можуть викликати " +"винятки, що містять назву файлу та номер рядка помилки, приємний побічний " +"ефект реорганізації компілятора, виконаної Джеремі Гілтоном." + +msgid "" +"C extensions which import other modules have been changed to use :func:" +"`PyImport_ImportModule`, which means that they will use any import hooks " +"that have been installed. This is also encouraged for third-party " +"extensions that need to import some other module from C code." +msgstr "" +"Розширення C, які імпортують інші модулі, було змінено на використання :func:" +"`PyImport_ImportModule`, що означає, що вони використовуватимуть усі " +"встановлені хуки імпорту. Це також рекомендується для сторонніх розширень, " +"яким потрібно імпортувати якийсь інший модуль із коду C." + +msgid "" +"The size of the Unicode character database was shrunk by another 340K thanks " +"to Fredrik Lundh." +msgstr "" +"Завдяки Фредріку Лунду розмір бази даних символів Unicode було зменшено ще " +"на 340 КБ." + +msgid "" +"Some new ports were contributed: MacOS X (by Steven Majewski), Cygwin (by " +"Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " +"Allie)." +msgstr "" +"Додано кілька нових портів: MacOS X (від Стівена Маєвського), Cygwin (від " +"Джейсона Тішлера); RISCOS (автор Дітмар Швертбергер); Unixware 7 (автор " +"Billy G. Allie)." + +msgid "" +"And there's the usual list of minor bugfixes, minor memory leaks, docstring " +"edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs " +"for the full details if you want them." +msgstr "" +"І є звичайний список незначних виправлень помилок, незначних витоків " +"пам’яті, редагування рядків документів та інших налаштувань, надто довгий, " +"щоб його варто було б перерахувати; перегляньте журнали CVS, щоб отримати " +"повну інформацію, якщо ви її бажаєте." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering suggestions " +"on various drafts of this article: Graeme Cross, David Goodger, Jay Graves, " +"Michael Hudson, Marc-André Lemburg, Fredrik Lundh, Neil Schemenauer, Thomas " +"Wouters." +msgstr "" +"Автор хотів би подякувати наступним людям за пропозиції щодо різних чернеток " +"цієї статті: Грем Кросс, Девід Гуджер, Джей Грейвс, Майкл Хадсон, Марк-Андре " +"Лембург, Фредрік Лунд, Ніл Шеменауер, Томас Воутерс." diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po new file mode 100644 index 000000000..7fa79870f --- /dev/null +++ b/whatsnew/2.2.po @@ -0,0 +1,2057 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.2" +msgstr "Що нового в Python 2.2" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling" +msgstr "A.M. Kuchling" + +msgid "Introduction" +msgstr "вступ" + +msgid "" +"This article explains the new features in Python 2.2.2, released on October " +"14, 2002. Python 2.2.2 is a bugfix release of Python 2.2, originally " +"released on December 21, 2001." +msgstr "" +"У цій статті пояснюється нові функції в Python 2.2.2, випущеному 14 жовтня " +"2002 року. Python 2.2.2 — це випуск Python 2.2 з виправленням помилок, " +"спочатку випущений 21 грудня 2001 року." + +msgid "" +"Python 2.2 can be thought of as the \"cleanup release\". There are some " +"features such as generators and iterators that are completely new, but most " +"of the changes, significant and far-reaching though they may be, are aimed " +"at cleaning up irregularities and dark corners of the language design." +msgstr "" +"Python 2.2 можна розглядати як \"випуск для очищення\". Є деякі функції, " +"такі як генератори та ітератори, які є абсолютно новими, але більшість змін, " +"хоч і значних і далекосяжних вони можуть бути, спрямовані на очищення " +"нерівностей і темних кутів мовного дизайну." + +msgid "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.2, such as the `Python " +"Library Reference `_ and the " +"`Python Reference Manual `_. If " +"you want to understand the complete implementation and design rationale for " +"a change, refer to the PEP for a particular new feature." +msgstr "" +"Ця стаття не намагається надати повну специфікацію нових функцій, натомість " +"надає зручний огляд. Щоб отримати повну інформацію, зверніться до " +"документації для Python 2.2, наприклад `Довідник бібліотеки Python `_ і `Довідковий посібник Python `_. Якщо ви хочете зрозуміти повну " +"реалізацію та обґрунтування дизайну для зміни, зверніться до PEP для " +"конкретної нової функції." + +msgid "PEPs 252 and 253: Type and Class Changes" +msgstr "PEP 252 і 253: Зміни типу та класу" + +msgid "" +"The largest and most far-reaching changes in Python 2.2 are to Python's " +"model of objects and classes. The changes should be backward compatible, so " +"it's likely that your code will continue to run unchanged, but the changes " +"provide some amazing new capabilities. Before beginning this, the longest " +"and most complicated section of this article, I'll provide an overview of " +"the changes and offer some comments." +msgstr "" +"Найбільші та наймасштабніші зміни в Python 2.2 стосуються моделі об’єктів і " +"класів Python. Зміни мають бути зворотно сумісними, тому ймовірно, що ваш " +"код працюватиме без змін, але зміни надають деякі дивовижні нові можливості. " +"Перш ніж почати цей, найдовший і найскладніший розділ цієї статті, я наведу " +"огляд змін і запропоную деякі коментарі." + +msgid "" +"A long time ago I wrote a web page listing flaws in Python's design. One of " +"the most significant flaws was that it's impossible to subclass Python types " +"implemented in C. In particular, it's not possible to subclass built-in " +"types, so you can't just subclass, say, lists in order to add a single " +"useful method to them. The :mod:`UserList` module provides a class that " +"supports all of the methods of lists and that can be subclassed further, but " +"there's lots of C code that expects a regular Python list and won't accept " +"a :class:`UserList` instance." +msgstr "" +"Давно я написав веб-сторінку з переліком недоліків у дизайні Python. Одним " +"із найбільш істотних недоліків було те, що неможливо створити підкласи типів " +"Python, реалізованих у C. Зокрема, неможливо створити підкласи вбудованих " +"типів, тому ви не можете просто підкласити, скажімо, списки, щоб додати один " +"корисний метод їм. Модуль :mod:`UserList` надає клас, який підтримує всі " +"методи списків і який можна додатково створювати на підкласи, але існує " +"багато коду C, який очікує звичайний список Python і не приймає :class:" +"`UserList` екземпляр." + +msgid "" +"Python 2.2 fixes this, and in the process adds some exciting new " +"capabilities. A brief summary:" +msgstr "" +"У Python 2.2 це виправлено, і в процесі додано кілька захоплюючих нових " +"можливостей. Короткий зміст:" + +msgid "" +"You can subclass built-in types such as lists and even integers, and your " +"subclasses should work in every place that requires the original type." +msgstr "" +"Ви можете створювати підкласи вбудованих типів, таких як списки та навіть " +"цілі числа, і ваші підкласи повинні працювати в будь-якому місці, де " +"потрібен вихідний тип." + +msgid "" +"It's now possible to define static and class methods, in addition to the " +"instance methods available in previous versions of Python." +msgstr "" +"Тепер можна визначати статичні методи та методи класу на додаток до методів " +"екземплярів, доступних у попередніх версіях Python." + +msgid "" +"It's also possible to automatically call methods on accessing or setting an " +"instance attribute by using a new mechanism called :dfn:`properties`. Many " +"uses of :meth:`__getattr__` can be rewritten to use properties instead, " +"making the resulting code simpler and faster. As a small side benefit, " +"attributes can now have docstrings, too." +msgstr "" +"Також можна автоматично викликати методи під час доступу або встановлення " +"атрибута екземпляра за допомогою нового механізму під назвою :dfn:" +"`properties`. Багато варіантів використання :meth:`__getattr__` можна " +"переписати, щоб замість нього використовувати властивості, що робить " +"кінцевий код простішим і швидшим. В якості невеликої додаткової переваги " +"атрибути тепер також можуть мати рядки документації." + +msgid "" +"The list of legal attributes for an instance can be limited to a particular " +"set using :dfn:`slots`, making it possible to safeguard against typos and " +"perhaps make more optimizations possible in future versions of Python." +msgstr "" +"Список юридичних атрибутів для екземпляра можна обмежити певним набором за " +"допомогою :dfn:`slots`, що дає змогу захистити від помилок і, можливо, " +"зробити більше оптимізацій можливим у майбутніх версіях Python." + +msgid "" +"Some users have voiced concern about all these changes. Sure, they say, the " +"new features are neat and lend themselves to all sorts of tricks that " +"weren't possible in previous versions of Python, but they also make the " +"language more complicated. Some people have said that they've always " +"recommended Python for its simplicity, and feel that its simplicity is being " +"lost." +msgstr "" +"Деякі користувачі висловили стурбованість усіма цими змінами. Звісно, вони " +"кажуть, що нові функції гарні та піддаються різноманітним хитрощам, які були " +"недоступні в попередніх версіях Python, але вони також ускладнюють мову. " +"Деякі люди кажуть, що вони завжди рекомендували Python за його простоту, і " +"вважають, що його простота втрачається." + +msgid "" +"Personally, I think there's no need to worry. Many of the new features are " +"quite esoteric, and you can write a lot of Python code without ever needed " +"to be aware of them. Writing a simple class is no more difficult than it " +"ever was, so you don't need to bother learning or teaching them unless " +"they're actually needed. Some very complicated tasks that were previously " +"only possible from C will now be possible in pure Python, and to my mind " +"that's all for the better." +msgstr "" +"Особисто я вважаю, що хвилюватися не варто. Багато нових функцій досить " +"езотеричні, і ви можете написати багато коду Python, навіть не знаючи про " +"них. Написати простий курс не складніше, ніж будь-коли, тому вам не потрібно " +"турбуватися про їх вивчення чи викладання, якщо вони дійсно не потрібні. " +"Деякі дуже складні завдання, які раніше були можливими лише на C, тепер " +"будуть можливими на чистому Python, і, на мій погляд, це все на краще." + +msgid "" +"I'm not going to attempt to cover every single corner case and small change " +"that were required to make the new features work. Instead this section will " +"paint only the broad strokes. See section :ref:`sect-rellinks`, \"Related " +"Links\", for further sources of information about Python 2.2's new object " +"model." +msgstr "" +"Я не збираюся намагатися охопити кожен кутовий випадок і невеликі зміни, які " +"були необхідні для того, щоб нові функції працювали. Натомість у цьому " +"розділі буде намальовано лише широкі штрихи. Перегляньте розділ :ref:`sect-" +"rellinks`, \"Пов’язані посилання\", щоб отримати додаткові джерела " +"інформації про нову об’єктну модель Python 2.2." + +msgid "Old and New Classes" +msgstr "Старі та нові класи" + +msgid "" +"First, you should know that Python 2.2 really has two kinds of classes: " +"classic or old-style classes, and new-style classes. The old-style class " +"model is exactly the same as the class model in earlier versions of Python. " +"All the new features described in this section apply only to new-style " +"classes. This divergence isn't intended to last forever; eventually old-" +"style classes will be dropped, possibly in Python 3.0." +msgstr "" +"По-перше, ви повинні знати, що Python 2.2 насправді має два типи класів: " +"класичні або старі класи та класи нового стилю. Модель класу старого стилю " +"точно така ж, як модель класу в попередніх версіях Python. Усі нові " +"можливості, описані в цьому розділі, застосовуються лише до класів нового " +"стилю. Ця розбіжність не має тривати вічно; зрештою класи старого стилю " +"будуть відкинуті, можливо, у Python 3.0." + +msgid "" +"So how do you define a new-style class? You do it by subclassing an " +"existing new-style class. Most of Python's built-in types, such as " +"integers, lists, dictionaries, and even files, are new-style classes now. A " +"new-style class named :class:`object`, the base class for all built-in " +"types, has also been added so if no built-in type is suitable, you can just " +"subclass :class:`object`::" +msgstr "" +"Отже, як визначити клас нового стилю? Ви робите це шляхом створення підкласу " +"існуючого класу нового стилю. Більшість вбудованих типів Python, таких як " +"цілі числа, списки, словники та навіть файли, тепер є класами нового стилю. " +"Також було додано новий клас під назвою :class:`object`, базовий клас для " +"всіх вбудованих типів, тож якщо жоден вбудований тип не підходить, ви можете " +"просто створити підклас :class:`object`::" + +msgid "" +"This means that :keyword:`class` statements that don't have any base classes " +"are always classic classes in Python 2.2. (Actually you can also change " +"this by setting a module-level variable named :attr:`__metaclass__` --- see :" +"pep:`253` for the details --- but it's easier to just subclass :class:" +"`object`.)" +msgstr "" +"Це означає, що оператори :keyword:`class`, які не мають базових класів, " +"завжди є класичними класами в Python 2.2. (Насправді ви також можете змінити " +"це, встановивши змінну рівня модуля з назвою :attr:`__metaclass__` --- " +"подробиці див. :pep:`253` --- але простіше просто створити підклас :class:" +"`object`. )" + +msgid "" +"The type objects for the built-in types are available as built-ins, named " +"using a clever trick. Python has always had built-in functions named :func:" +"`int`, :func:`float`, and :func:`str`. In 2.2, they aren't functions any " +"more, but type objects that behave as factories when called. ::" +msgstr "" +"Об’єкти типу для вбудованих типів доступні як вбудовані, названі за " +"допомогою хитрого прийому. У Python завжди були вбудовані функції з назвами :" +"func:`int`, :func:`float` і :func:`str`. У 2.2 вони більше не є функціями, а " +"об’єктами типу, які під час виклику поводяться як фабрики. ::" + +msgid "" +"To make the set of types complete, new type objects such as :func:`dict` " +"and :func:`file` have been added. Here's a more interesting example, adding " +"a :meth:`lock` method to file objects::" +msgstr "" +"Щоб завершити набір типів, додано нові об’єкти типу, такі як :func:`dict` і :" +"func:`file`. Ось більш цікавий приклад додавання методу :meth:`lock` до " +"файлових об’єктів::" + +msgid "" +"The now-obsolete :mod:`posixfile` module contained a class that emulated all " +"of a file object's methods and also added a :meth:`lock` method, but this " +"class couldn't be passed to internal functions that expected a built-in " +"file, something which is possible with our new :class:`LockableFile`." +msgstr "" +"Застарілий модуль :mod:`posixfile` містив клас, який емулював усі методи " +"файлового об’єкта, а також додав метод :meth:`lock`, але цей клас не можна " +"було передати внутрішнім функціям, які очікували вбудованого у файлі, що " +"можливо за допомогою нашого нового :class:`LockableFile`." + +msgid "Descriptors" +msgstr "Дескриптори" + +msgid "" +"In previous versions of Python, there was no consistent way to discover what " +"attributes and methods were supported by an object. There were some informal " +"conventions, such as defining :attr:`__members__` and :attr:`__methods__` " +"attributes that were lists of names, but often the author of an extension " +"type or a class wouldn't bother to define them. You could fall back on " +"inspecting the :attr:`~object.__dict__` of an object, but when class " +"inheritance or an arbitrary :meth:`__getattr__` hook were in use this could " +"still be inaccurate." +msgstr "" +"У попередніх версіях Python не було узгодженого способу дізнатися, які " +"атрибути та методи підтримувалися об’єктом. Були деякі неофіційні " +"домовленості, такі як визначення :attr:`__members__` і :attr:`__methods__` " +"атрибутів, які були списками імен, але часто автор типу розширення або класу " +"не турбувався про їх визначення. Ви можете повернутися до перевірки :attr:" +"`~object.__dict__` об’єкта, але коли використовується успадкування класу або " +"довільний хук :meth:`__getattr__`, це може бути неточним." + +msgid "" +"The one big idea underlying the new class model is that an API for " +"describing the attributes of an object using :dfn:`descriptors` has been " +"formalized. Descriptors specify the value of an attribute, stating whether " +"it's a method or a field. With the descriptor API, static methods and class " +"methods become possible, as well as more exotic constructs." +msgstr "" +"Одна велика ідея, яка лежить в основі нової моделі класу, полягає в тому, що " +"API для опису атрибутів об’єкта за допомогою :dfn:`descriptors` було " +"формалізовано. Дескриптори вказують значення атрибута, вказуючи, чи це " +"метод, чи поле. З API дескриптора статичні методи та методи класу стають " +"можливими, а також більш екзотичні конструкції." + +msgid "" +"Attribute descriptors are objects that live inside class objects, and have a " +"few attributes of their own:" +msgstr "" +"Дескриптори атрибутів — це об’єкти, які знаходяться всередині об’єктів класу " +"та мають кілька власних атрибутів:" + +msgid ":attr:`~definition.__name__` is the attribute's name." +msgstr ":attr:`~definition.__name__` це ім'я атрибута." + +msgid ":attr:`__doc__` is the attribute's docstring." +msgstr ":attr:`__doc__` — рядок документації атрибута." + +msgid "" +"``__get__(object)`` is a method that retrieves the attribute value from " +"*object*." +msgstr "" +"``__get__(object)`` — це метод, який отримує значення атрибута з *object*." + +msgid "``__set__(object, value)`` sets the attribute on *object* to *value*." +msgstr "``__set__(object, value)`` встановлює атрибут *object* на *value*." + +msgid "" +"``__delete__(object, value)`` deletes the *value* attribute of *object*." +msgstr "``__delete__(object, value)`` видаляє атрибут *value* *object*." + +msgid "" +"For example, when you write ``obj.x``, the steps that Python actually " +"performs are::" +msgstr "" +"Наприклад, коли ви пишете ``obj.x``, кроки, які фактично виконує Python:" + +msgid "" +"For methods, :meth:`descriptor.__get__` returns a temporary object that's " +"callable, and wraps up the instance and the method to be called on it. This " +"is also why static methods and class methods are now possible; they have " +"descriptors that wrap up just the method, or the method and the class. As a " +"brief explanation of these new kinds of methods, static methods aren't " +"passed the instance, and therefore resemble regular functions. Class " +"methods are passed the class of the object, but not the object itself. " +"Static and class methods are defined like this::" +msgstr "" +"Для методів :meth:`descriptor.__get__` повертає тимчасовий об’єкт, який " +"можна викликати, і завершує екземпляр і метод, який потрібно викликати на " +"ньому. Ось чому тепер можливі статичні методи та методи класу; вони мають " +"дескриптори, які завершують лише метод або метод і клас. Як коротке " +"пояснення цих нових типів методів, статичні методи не передаються " +"екземпляру, і тому нагадують звичайні функції. Методам класу передається " +"клас об’єкта, але не сам об’єкт. Статичні методи та методи класу " +"визначаються так:" + +msgid "" +"The :func:`staticmethod` function takes the function :func:`f`, and returns " +"it wrapped up in a descriptor so it can be stored in the class object. You " +"might expect there to be special syntax for creating such methods (``def " +"static f``, ``defstatic f()``, or something like that) but no such syntax " +"has been defined yet; that's been left for future versions of Python." +msgstr "" +"Функція :func:`staticmethod` приймає функцію :func:`f` і повертає її, " +"загорнуту в дескриптор, щоб її можна було зберегти в об’єкті класу. Можна " +"очікувати, що для створення таких методів буде спеціальний синтаксис (``def " +"static f``, ``defstatic f()`` або щось подібне), але такий синтаксис ще не " +"визначено; це було залишено для майбутніх версій Python." + +msgid "" +"More new features, such as slots and properties, are also implemented as new " +"kinds of descriptors, and it's not difficult to write a descriptor class " +"that does something novel. For example, it would be possible to write a " +"descriptor class that made it possible to write Eiffel-style preconditions " +"and postconditions for a method. A class that used this feature might be " +"defined like this::" +msgstr "" +"Більше нових функцій, таких як слоти та властивості, також реалізовано як " +"нові типи дескрипторів, і не важко написати клас дескриптора, який робить " +"щось нове. Наприклад, можна було б написати клас дескрипторів, який би " +"дозволив написати передумови та постумови методу в стилі Ейфеля. Клас, який " +"використовує цю функцію, можна визначити так:" + +msgid "" +"Note that a person using the new :func:`eiffelmethod` doesn't have to " +"understand anything about descriptors. This is why I think the new features " +"don't increase the basic complexity of the language. There will be a few " +"wizards who need to know about it in order to write :func:`eiffelmethod` or " +"the ZODB or whatever, but most users will just write code on top of the " +"resulting libraries and ignore the implementation details." +msgstr "" +"Зауважте, що особа, яка використовує новий :func:`eiffelmethod`, не повинна " +"нічого розуміти про дескриптори. Ось чому я думаю, що нові функції не " +"збільшують основну складність мови. Буде кілька майстрів, які повинні знати " +"про це, щоб написати :func:`eiffelmethod` або ZODB або щось інше, але " +"більшість користувачів просто напишуть код поверх отриманих бібліотек і " +"проігнорують деталі реалізації." + +msgid "Multiple Inheritance: The Diamond Rule" +msgstr "Множинне успадкування: ромбовидне правило" + +msgid "" +"Multiple inheritance has also been made more useful through changing the " +"rules under which names are resolved. Consider this set of classes (diagram " +"taken from :pep:`253` by Guido van Rossum)::" +msgstr "" +"Множинне успадкування також стало більш корисним завдяки зміні правил, за " +"якими розпізнаються імена. Розглянемо цей набір класів (діаграма взята з :" +"pep:`253` Гвідо ван Россума):" + +msgid "" +"The lookup rule for classic classes is simple but not very smart; the base " +"classes are searched depth-first, going from left to right. A reference to :" +"meth:`D.save` will search the classes :class:`D`, :class:`B`, and then :" +"class:`A`, where :meth:`save` would be found and returned. :meth:`C.save` " +"would never be found at all. This is bad, because if :class:`C`'s :meth:" +"`save` method is saving some internal state specific to :class:`C`, not " +"calling it will result in that state never getting saved." +msgstr "" +"Правило пошуку для класичних класів просте, але не дуже розумне; базові " +"класи шукаються в глибину зліва направо. Посилання на :meth:`D.save` " +"шукатиме класи :class:`D`, :class:`B`, а потім :class:`A`, де буде знайдено " +"та повернено :meth:`save` . :meth:`C.save` взагалі ніколи не буде знайдено. " +"Це погано, тому що якщо метод :meth:`save` :class:`C` зберігає певний " +"внутрішній стан, специфічний для :class:`C`, його невиклик призведе до того, " +"що цей стан ніколи не буде збережено." + +msgid "" +"New-style classes follow a different algorithm that's a bit more complicated " +"to explain, but does the right thing in this situation. (Note that Python " +"2.3 changes this algorithm to one that produces the same results in most " +"cases, but produces more useful results for really complicated inheritance " +"graphs.)" +msgstr "" +"Класи нового стилю дотримуються іншого алгоритму, який трохи складніший для " +"пояснення, але в цій ситуації діє правильно. (Зверніть увагу, що Python 2.3 " +"змінює цей алгоритм на такий, який дає ті самі результати в більшості " +"випадків, але дає більш корисні результати для дійсно складних графів " +"успадкування.)" + +msgid "" +"List all the base classes, following the classic lookup rule and include a " +"class multiple times if it's visited repeatedly. In the above example, the " +"list of visited classes is [:class:`D`, :class:`B`, :class:`A`, :class:`C`, :" +"class:`A`]." +msgstr "" +"Перерахуйте всі базові класи, дотримуючись класичного правила пошуку, і " +"додайте клас кілька разів, якщо його відвідують неодноразово. У наведеному " +"вище прикладі список відвіданих класів [:class:`D`, :class:`B`, :class:`A`, :" +"class:`C`, :class:`A`]." + +msgid "" +"Scan the list for duplicated classes. If any are found, remove all but one " +"occurrence, leaving the *last* one in the list. In the above example, the " +"list becomes [:class:`D`, :class:`B`, :class:`C`, :class:`A`] after dropping " +"duplicates." +msgstr "" +"Проскануйте список на наявність дубльованих класів. Якщо такі знайдено, " +"видаліть усі, крім одного, залишивши *останнє* у списку. У наведеному вище " +"прикладі список стає [:class:`D`, :class:`B`, :class:`C`, :class:`A`] після " +"видалення дублікатів." + +msgid "" +"Following this rule, referring to :meth:`D.save` will return :meth:`C.save`, " +"which is the behaviour we're after. This lookup rule is the same as the one " +"followed by Common Lisp. A new built-in function, :func:`super`, provides a " +"way to get at a class's superclasses without having to reimplement Python's " +"algorithm. The most commonly used form will be ``super(class, obj)``, which " +"returns a bound superclass object (not the actual class object). This form " +"will be used in methods to call a method in the superclass; for example, :" +"class:`D`'s :meth:`save` method would look like this::" +msgstr "" +"Дотримуючись цього правила, звернення до :meth:`D.save` поверне :meth:`C." +"save`, що є поведінкою, яку ми прагнемо. Це правило пошуку таке ж, як " +"правило Common Lisp. Нова вбудована функція, :func:`super`, надає спосіб " +"отримати доступ до суперкласів класу без необхідності повторного " +"впровадження алгоритму Python. Найпоширенішою формою буде ``super(class, " +"obj)``, яка повертає пов’язаний об’єкт суперкласу (а не фактичний об’єкт " +"класу). Ця форма буде використовуватися в методах для виклику методу в " +"суперкласі; наприклад, метод :class:`D` :meth:`save` виглядатиме так:" + +msgid "" +":func:`super` can also return unbound superclass objects when called as " +"``super(class)`` or ``super(class1, class2)``, but this probably won't often " +"be useful." +msgstr "" +":func:`super` також може повертати незв’язані об’єкти суперкласу під час " +"виклику ``super(class)`` або ``super(class1, class2)``, але це, мабуть, не " +"часто буде корисним." + +msgid "Attribute Access" +msgstr "Доступ до атрибутів" + +msgid "" +"A fair number of sophisticated Python classes define hooks for attribute " +"access using :meth:`__getattr__`; most commonly this is done for " +"convenience, to make code more readable by automatically mapping an " +"attribute access such as ``obj.parent`` into a method call such as ``obj." +"get_parent``. Python 2.2 adds some new ways of controlling attribute access." +msgstr "" +"Велика кількість складних класів Python визначають хуки для доступу до " +"атрибутів за допомогою :meth:`__getattr__`; найчастіше це робиться для " +"зручності, щоб зробити код більш читабельним шляхом автоматичного " +"відображення доступу до атрибута, такого як ``obj.parent``, у виклик методу, " +"такого як ``obj.get_parent``. Python 2.2 додає кілька нових способів " +"контролю доступу до атрибутів." + +msgid "" +"First, ``__getattr__(attr_name)`` is still supported by new-style classes, " +"and nothing about it has changed. As before, it will be called when an " +"attempt is made to access ``obj.foo`` and no attribute named ``foo`` is " +"found in the instance's dictionary." +msgstr "" +"По-перше, ``__getattr__(attr_name)`` все ще підтримується класами нового " +"стилю, і нічого в ньому не змінилося. Як і раніше, він буде викликаний, коли " +"буде зроблена спроба отримати доступ до ``obj.foo``, а атрибут з назвою " +"``foo`` не знайдено в словнику примірника." + +msgid "" +"New-style classes also support a new method, " +"``__getattribute__(attr_name)``. The difference between the two methods is " +"that :meth:`__getattribute__` is *always* called whenever any attribute is " +"accessed, while the old :meth:`__getattr__` is only called if ``foo`` isn't " +"found in the instance's dictionary." +msgstr "" +"Класи нового стилю також підтримують новий метод, " +"``__getattribute__(attr_name)``. Різниця між цими двома методами полягає в " +"тому, що :meth:`__getattribute__` *завжди* викликається щоразу, коли " +"здійснюється доступ до будь-якого атрибута, тоді як старий :meth:" +"`__getattr__` викликається, лише якщо ``foo`` не знайдено в екземплярі " +"словник." + +msgid "" +"However, Python 2.2's support for :dfn:`properties` will often be a simpler " +"way to trap attribute references. Writing a :meth:`__getattr__` method is " +"complicated because to avoid recursion you can't use regular attribute " +"accesses inside them, and instead have to mess around with the contents of :" +"attr:`~object.__dict__`. :meth:`__getattr__` methods also end up being " +"called by Python when it checks for other methods such as :meth:`__repr__` " +"or :meth:`__coerce__`, and so have to be written with this in mind. Finally, " +"calling a function on every attribute access results in a sizable " +"performance loss." +msgstr "" +"Однак підтримка Python 2.2 :dfn:`properties` часто буде простішим способом " +"перехоплення посилань на атрибути. Написання методу :meth:`__getattr__` є " +"складним, тому що, щоб уникнути рекурсії, ви не можете використовувати " +"звичайний доступ до атрибутів усередині них, а натомість вам доведеться " +"возитися з вмістом :attr:`~object.__dict__`. Методи :meth:`__getattr__` " +"також викликаються Python під час перевірки інших методів, таких як :meth:" +"`__repr__` або :meth:`__coerce__`, тому їх потрібно писати з урахуванням " +"цього. Нарешті, виклик функції для кожного доступу до атрибута призводить до " +"значної втрати продуктивності." + +msgid "" +":class:`property` is a new built-in type that packages up three functions " +"that get, set, or delete an attribute, and a docstring. For example, if you " +"want to define a :attr:`size` attribute that's computed, but also settable, " +"you could write::" +msgstr "" +":class:`property` — це новий вбудований тип, який містить три функції, які " +"отримують, встановлюють або видаляють атрибут і рядок документації. " +"Наприклад, якщо ви хочете визначити атрибут :attr:`size`, який обчислюється, " +"але також може бути встановлений, ви можете написати::" + +msgid "" +"That is certainly clearer and easier to write than a pair of :meth:" +"`__getattr__`/:meth:`__setattr__` methods that check for the :attr:`size` " +"attribute and handle it specially while retrieving all other attributes from " +"the instance's :attr:`~object.__dict__`. Accesses to :attr:`size` are also " +"the only ones which have to perform the work of calling a function, so " +"references to other attributes run at their usual speed." +msgstr "" +"Це, звичайно, зрозуміліше та простіше для написання, ніж пара методів :meth:" +"`__getattr__`/:meth:`__setattr__`, які перевіряють наявність атрибута :attr:" +"`size` і обробляють його спеціально, одночасно одержуючи всі інші атрибути з " +"екземпляра :attr:`~об’єкт.__dict__`. Доступи до :attr:`size` також є " +"єдиними, які повинні виконувати роботу виклику функції, тому посилання на " +"інші атрибути виконуються зі звичайною швидкістю." + +msgid "" +"Finally, it's possible to constrain the list of attributes that can be " +"referenced on an object using the new :attr:`~object.__slots__` class " +"attribute. Python objects are usually very dynamic; at any time it's " +"possible to define a new attribute on an instance by just doing ``obj." +"new_attr=1``. A new-style class can define a class attribute named :attr:" +"`~object.__slots__` to limit the legal attributes to a particular set of " +"names. An example will make this clear::" +msgstr "" +"Нарешті, можна обмежити список атрибутів, на які можна посилатися в об’єкті, " +"використовуючи новий атрибут класу :attr:`~object.__slots__`. Об'єкти Python " +"зазвичай дуже динамічні; у будь-який час можна визначити новий атрибут " +"екземпляра, просто виконавши ``obj.new_attr=1``. Клас нового стилю може " +"визначати атрибут класу під назвою :attr:`~object.__slots__`, щоб обмежити " +"допустимі атрибути певним набором імен. Приклад прояснить це:" + +msgid "" +"Note how you get an :exc:`AttributeError` on the attempt to assign to an " +"attribute not listed in :attr:`~object.__slots__`." +msgstr "" +"Зверніть увагу, як ви отримуєте :exc:`AttributeError` під час спроби " +"призначити атрибут, не вказаний у :attr:`~object.__slots__`." + +msgid "Related Links" +msgstr "Пов'язані посилання" + +msgid "" +"This section has just been a quick overview of the new features, giving " +"enough of an explanation to start you programming, but many details have " +"been simplified or ignored. Where should you go to get a more complete " +"picture?" +msgstr "" +"Цей розділ був лише коротким оглядом нових можливостей, що дає достатньо " +"пояснень, щоб почати програмування, але багато деталей було спрощено або " +"проігноровано. Куди звернутися, щоб отримати більш повну картину?" + +msgid "" +"The :ref:`descriptorhowto` is a lengthy tutorial introduction to the " +"descriptor features, written by Guido van Rossum. If my description has " +"whetted your appetite, go read this tutorial next, because it goes into much " +"more detail about the new features while still remaining quite easy to read." +msgstr "" + +msgid "" +"Next, there are two relevant PEPs, :pep:`252` and :pep:`253`. :pep:`252` is " +"titled \"Making Types Look More Like Classes\", and covers the descriptor " +"API. :pep:`253` is titled \"Subtyping Built-in Types\", and describes the " +"changes to type objects that make it possible to subtype built-in objects. :" +"pep:`253` is the more complicated PEP of the two, and at a few points the " +"necessary explanations of types and meta-types may cause your head to " +"explode. Both PEPs were written and implemented by Guido van Rossum, with " +"substantial assistance from the rest of the Zope Corp. team." +msgstr "" +"Далі є два відповідних PEP, :pep:`252` і :pep:`253`. :pep:`252` має назву " +"\"Зробіть типи схожими на класи\" та охоплює API дескриптора. :pep:`253` має " +"назву \"Підтипування вбудованих типів\" і описує зміни в об’єктах типів, які " +"роблять можливим підтипування вбудованих об’єктів. :pep:`253` є більш " +"складним PEP з двох, і в деяких моментах необхідні пояснення типів і мета-" +"типів можуть змусити вашу голову вибухнути. Обидва PEP були написані та " +"реалізовані Гвідо ван Россумом за значної допомоги решти команди Zope Corp." + +msgid "" +"Finally, there's the ultimate authority: the source code. Most of the " +"machinery for the type handling is in :file:`Objects/typeobject.c`, but you " +"should only resort to it after all other avenues have been exhausted, " +"including posting a question to python-list or python-dev." +msgstr "" +"Нарешті, є найвищий авторитет: вихідний код. Більшість механізмів для " +"обробки типів знаходиться в :file:`Objects/typeobject.c`, але ви повинні " +"вдаватися до нього лише після того, як вичерпано всі інші способи, включно з " +"розміщенням запитання в python-list або python-dev." + +msgid "PEP 234: Iterators" +msgstr "PEP 234: Ітератори" + +msgid "" +"Another significant addition to 2.2 is an iteration interface at both the C " +"and Python levels. Objects can define how they can be looped over by " +"callers." +msgstr "" +"Іншим значним доповненням до 2.2 є ітераційний інтерфейс як на рівнях C, так " +"і на Python. Об’єкти можуть визначати, як вони можуть бути зациклені " +"абонентами." + +msgid "" +"In Python versions up to 2.1, the usual way to make ``for item in obj`` work " +"is to define a :meth:`__getitem__` method that looks something like this::" +msgstr "" +"У версіях Python до 2.1 звичайний спосіб змусити ``for item in obj`` " +"працювати — це визначити метод :meth:`__getitem__`, який виглядає приблизно " +"так::" + +msgid "" +":meth:`__getitem__` is more properly used to define an indexing operation on " +"an object so that you can write ``obj[5]`` to retrieve the sixth element. " +"It's a bit misleading when you're using this only to support :keyword:`for` " +"loops. Consider some file-like object that wants to be looped over; the " +"*index* parameter is essentially meaningless, as the class probably assumes " +"that a series of :meth:`__getitem__` calls will be made with *index* " +"incrementing by one each time. In other words, the presence of the :meth:" +"`__getitem__` method doesn't mean that using ``file[5]`` to randomly access " +"the sixth element will work, though it really should." +msgstr "" +":meth:`__getitem__` правильніше використовувати для визначення операції " +"індексування об’єкта, щоб ви могли написати ``obj[5]`` для отримання шостого " +"елемента. Це трохи оманливо, коли ви використовуєте це лише для підтримки " +"циклів :keyword:`for`. Розглянемо якийсь файлоподібний об’єкт, який хоче " +"бути зациклений; параметр *index* по суті не має сенсу, оскільки клас, " +"ймовірно, припускає, що серія викликів :meth:`__getitem__` буде здійснена зі " +"збільшенням *index* на одиницю кожного разу. Іншими словами, наявність " +"методу :meth:`__getitem__` не означає, що використання ``file[5]`` для " +"довільного доступу до шостого елемента буде працювати, хоча це справді має " +"працювати." + +msgid "" +"In Python 2.2, iteration can be implemented separately, and :meth:" +"`__getitem__` methods can be limited to classes that really do support " +"random access. The basic idea of iterators is simple. A new built-in " +"function, ``iter(obj)`` or ``iter(C, sentinel)``, is used to get an " +"iterator. ``iter(obj)`` returns an iterator for the object *obj*, while " +"``iter(C, sentinel)`` returns an iterator that will invoke the callable " +"object *C* until it returns *sentinel* to signal that the iterator is done." +msgstr "" +"У Python 2.2 ітерація може бути реалізована окремо, а методи :meth:" +"`__getitem__` можуть бути обмежені класами, які дійсно підтримують довільний " +"доступ. Основна ідея ітераторів проста. Для отримання ітератора " +"використовується нова вбудована функція, ``iter(obj)`` або ``iter(C, " +"sentinel)``. ``iter(obj)`` повертає ітератор для об’єкта *obj*, тоді як " +"``iter(C, sentinel)`` повертає ітератор, який викличе об’єкт *C*, що " +"викликається, доки він не поверне *sentinel*, щоб повідомити, що ітератор " +"готовий." + +msgid "" +"Python classes can define an :meth:`__iter__` method, which should create " +"and return a new iterator for the object; if the object is its own iterator, " +"this method can just return ``self``. In particular, iterators will usually " +"be their own iterators. Extension types implemented in C can implement a :c:" +"member:`~PyTypeObject.tp_iter` function in order to return an iterator, and " +"extension types that want to behave as iterators can define a :c:member:" +"`~PyTypeObject.tp_iternext` function." +msgstr "" +"Класи Python можуть визначати метод :meth:`__iter__`, який має створити та " +"повернути новий ітератор для об’єкта; якщо об’єкт є власним ітератором, цей " +"метод може просто повернути ``self``. Зокрема, ітератори зазвичай є своїми " +"власними ітераторами. Типи розширень, реалізовані в C, можуть реалізовувати " +"функцію :c:member:`~PyTypeObject.tp_iter` для повернення ітератора, а типи " +"розширень, які хочуть поводитися як ітератори, можуть визначати :c:member:" +"`~PyTypeObject.tp_iternext` функція." + +msgid "" +"So, after all this, what do iterators actually do? They have one required " +"method, :meth:`next`, which takes no arguments and returns the next value. " +"When there are no more values to be returned, calling :meth:`next` should " +"raise the :exc:`StopIteration` exception. ::" +msgstr "" +"Отже, після всього цього, що насправді роблять ітератори? Вони мають один " +"обов’язковий метод, :meth:`next`, який не приймає аргументів і повертає " +"наступне значення. Якщо більше немає значень, які потрібно повернути, " +"виклик :meth:`next` має викликати виняток :exc:`StopIteration`. ::" + +msgid "" +"In 2.2, Python's :keyword:`for` statement no longer expects a sequence; it " +"expects something for which :func:`iter` will return an iterator. For " +"backward compatibility and convenience, an iterator is automatically " +"constructed for sequences that don't implement :meth:`__iter__` or a :c:" +"member:`~PyTypeObject.tp_iter` slot, so ``for i in [1,2,3]`` will still " +"work. Wherever the Python interpreter loops over a sequence, it's been " +"changed to use the iterator protocol. This means you can do things like " +"this::" +msgstr "" +"У 2.2 оператор Python :keyword:`for` більше не очікує послідовності; він " +"очікує щось, для чого :func:`iter` поверне ітератор. Для зворотної " +"сумісності та зручності ітератор автоматично створюється для послідовностей, " +"які не реалізують :meth:`__iter__` або слот :c:member:`~PyTypeObject." +"tp_iter`, тому ``for i в [1,2, 3]`` все одно працюватиме. Усюди, де " +"інтерпретатор Python циклічно перебирає послідовність, його було змінено на " +"використання протоколу ітератора. Це означає, що ви можете робити такі речі:" + +msgid "" +"Iterator support has been added to some of Python's basic types. Calling :" +"func:`iter` on a dictionary will return an iterator which loops over its " +"keys::" +msgstr "" +"До деяких базових типів Python додано підтримку ітераторів. Виклик :func:" +"`iter` у словнику поверне ітератор, який перебирає його ключі:" + +msgid "" +"That's just the default behaviour. If you want to iterate over keys, " +"values, or key/value pairs, you can explicitly call the :meth:`iterkeys`, :" +"meth:`itervalues`, or :meth:`iteritems` methods to get an appropriate " +"iterator. In a minor related change, the :keyword:`in` operator now works on " +"dictionaries, so ``key in dict`` is now equivalent to ``dict.has_key(key)``." +msgstr "" +"Це лише поведінка за умовчанням. Якщо ви хочете перебирати ключі, значення " +"або пари ключ/значення, ви можете явно викликати методи :meth:`iterkeys`, :" +"meth:`itervalues` або :meth:`iteritems`, щоб отримати відповідний ітератор. " +"У незначній відповідній зміні оператор :keyword:`in` тепер працює зі " +"словниками, тому ``key in dict`` тепер еквівалентний ``dict.has_key(key)``." + +msgid "" +"Files also provide an iterator, which calls the :meth:`readline` method " +"until there are no more lines in the file. This means you can now read each " +"line of a file using code like this::" +msgstr "" +"Файли також містять ітератор, який викликає метод :meth:`readline`, доки у " +"файлі не залишиться рядків. Це означає, що тепер ви можете читати кожен " +"рядок файлу за допомогою такого коду:" + +msgid "" +"Note that you can only go forward in an iterator; there's no way to get the " +"previous element, reset the iterator, or make a copy of it. An iterator " +"object could provide such additional capabilities, but the iterator protocol " +"only requires a :meth:`next` method." +msgstr "" +"Зауважте, що в ітераторі можна рухатися лише вперед; немає способу отримати " +"попередній елемент, скинути ітератор або зробити його копію. Об’єкт-ітератор " +"може надати такі додаткові можливості, але протокол ітератора потребує лише " +"методу :meth:`next`." + +msgid ":pep:`234` - Iterators" +msgstr ":pep:`234` - Ітератори" + +msgid "" +"Written by Ka-Ping Yee and GvR; implemented by the Python Labs crew, mostly " +"by GvR and Tim Peters." +msgstr "" +"Написаний Ка-Пінг Йі та GvR; реалізований командою Python Labs, переважно " +"GvR і Тімом Пітерсом." + +msgid "PEP 255: Simple Generators" +msgstr "PEP 255: Прості генератори" + +msgid "" +"Generators are another new feature, one that interacts with the introduction " +"of iterators." +msgstr "Генератори — ще одна нова функція, яка взаємодіє з появою ітераторів." + +msgid "" +"You're doubtless familiar with how function calls work in Python or C. When " +"you call a function, it gets a private namespace where its local variables " +"are created. When the function reaches a :keyword:`return` statement, the " +"local variables are destroyed and the resulting value is returned to the " +"caller. A later call to the same function will get a fresh new set of local " +"variables. But, what if the local variables weren't thrown away on exiting a " +"function? What if you could later resume the function where it left off? " +"This is what generators provide; they can be thought of as resumable " +"functions." +msgstr "" +"Ви, безсумнівно, знайомі з тим, як працюють виклики функцій у Python або C. " +"Коли ви викликаєте функцію, вона отримує приватний простір імен, де " +"створюються її локальні змінні. Коли функція досягає оператора :keyword:" +"`return`, локальні змінні знищуються, а отримане значення повертається до " +"викликаючого. Пізніший виклик тієї ж функції отримає новий набір локальних " +"змінних. Але що, якби локальні змінні не були викинуті під час виходу з " +"функції? Що, якби ви могли пізніше відновити функцію, де вона була зупинена? " +"Це те, що забезпечують генератори; їх можна розглядати як відновлювані " +"функції." + +msgid "Here's the simplest example of a generator function::" +msgstr "Ось найпростіший приклад функції генератора:" + +msgid "" +"A new keyword, :keyword:`yield`, was introduced for generators. Any " +"function containing a :keyword:`!yield` statement is a generator function; " +"this is detected by Python's bytecode compiler which compiles the function " +"specially as a result. Because a new keyword was introduced, generators " +"must be explicitly enabled in a module by including a ``from __future__ " +"import generators`` statement near the top of the module's source code. In " +"Python 2.3 this statement will become unnecessary." +msgstr "" +"Для генераторів було введено нове ключове слово :keyword:`yield`. Будь-яка " +"функція, що містить оператор :keyword:`!yield`, є функцією-генератором; це " +"виявляється компілятором байт-коду Python, який спеціально компілює функцію " +"в результаті. Оскільки було введено нове ключове слово, генератори мають " +"бути явно ввімкнені в модулі, включивши оператор ``from __future__ import " +"generators`` у верхній частині вихідного коду модуля. У Python 2.3 цей " +"оператор стане непотрібним." + +msgid "" +"When you call a generator function, it doesn't return a single value; " +"instead it returns a generator object that supports the iterator protocol. " +"On executing the :keyword:`yield` statement, the generator outputs the value " +"of ``i``, similar to a :keyword:`return` statement. The big difference " +"between :keyword:`!yield` and a :keyword:`!return` statement is that on " +"reaching a :keyword:`!yield` the generator's state of execution is suspended " +"and local variables are preserved. On the next call to the generator's " +"``next()`` method, the function will resume executing immediately after the :" +"keyword:`!yield` statement. (For complicated reasons, the :keyword:`!yield` " +"statement isn't allowed inside the :keyword:`!try` block of a :keyword:" +"`try`...\\ :keyword:`finally` statement; read :pep:`255` for a full " +"explanation of the interaction between :keyword:`!yield` and exceptions.)" +msgstr "" +"Коли ви викликаєте функцію генератора, вона не повертає жодного значення; " +"замість цього він повертає об'єкт генератора, який підтримує протокол " +"ітератора. Під час виконання оператора :keyword:`yield` генератор виводить " +"значення ``i``, подібне до оператора :keyword:`return`. Велика різниця між :" +"keyword:`!yield` і оператором :keyword:`!return` полягає в тому, що при " +"досягненні :keyword:`!yield` стан виконання генератора призупиняється, а " +"локальні змінні зберігаються. Під час наступного виклику методу ``next()`` " +"генератора функція відновить виконання відразу після оператора :keyword:`!" +"yield`. (Зі складних причин оператор :keyword:`!yield` не дозволяється " +"всередині блоку :keyword:`!try` оператора :keyword:`try`...\\ :keyword:" +"`finally`; читайте :pep:`255` для повного пояснення взаємодії між :keyword:`!" +"yield` і винятками.)" + +msgid "Here's a sample usage of the :func:`generate_ints` generator::" +msgstr "Ось приклад використання генератора :func:`generate_ints`::" + +msgid "" +"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " +"generate_ints(3)``." +msgstr "" +"Так само можна написати ``for i in generate_ints(5)`` або ``a,b,c = " +"generate_ints(3)``." + +msgid "" +"Inside a generator function, the :keyword:`return` statement can only be " +"used without a value, and signals the end of the procession of values; " +"afterwards the generator cannot return any further values. :keyword:`!" +"return` with a value, such as ``return 5``, is a syntax error inside a " +"generator function. The end of the generator's results can also be " +"indicated by raising :exc:`StopIteration` manually, or by just letting the " +"flow of execution fall off the bottom of the function." +msgstr "" +"Усередині функції генератора оператор :keyword:`return` може " +"використовуватися лише без значення та сигналізує про завершення процесії " +"значень; після цього генератор не може повертати жодних додаткових значень. :" +"keyword:`!return` зі значенням, таким як ``return 5``, є синтаксичною " +"помилкою у функції генератора. Кінець результатів генератора також можна " +"вказати, піднявши :exc:`StopIteration` вручну, або просто дозволивши потоку " +"виконання впасти з нижньої частини функції." + +msgid "" +"You could achieve the effect of generators manually by writing your own " +"class and storing all the local variables of the generator as instance " +"variables. For example, returning a list of integers could be done by " +"setting ``self.count`` to 0, and having the :meth:`next` method increment " +"``self.count`` and return it. However, for a moderately complicated " +"generator, writing a corresponding class would be much messier. :file:`Lib/" +"test/test_generators.py` contains a number of more interesting examples. " +"The simplest one implements an in-order traversal of a tree using generators " +"recursively. ::" +msgstr "" +"Ви можете досягти ефекту генераторів вручну, написавши власний клас і " +"зберігши всі локальні змінні генератора як змінні екземпляра. Наприклад, щоб " +"повернути список цілих чисел, можна встановити ``self.count`` на 0, а метод :" +"meth:`next` збільшити ``self.count`` і повернути його. Однак для помірно " +"складного генератора написання відповідного класу було б набагато " +"складнішим. :file:`Lib/test/test_generators.py` містить ще кілька цікавих " +"прикладів. Найпростіший реалізує рекурсивний обхід дерева за допомогою " +"генераторів. ::" + +msgid "" +"Two other examples in :file:`Lib/test/test_generators.py` produce solutions " +"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that " +"no queen threatens another) and the Knight's Tour (a route that takes a " +"knight to every square of an $NxN$ chessboard without visiting any square " +"twice)." +msgstr "" +"Два інших приклади в :file:`Lib/test/test_generators.py` створюють рішення " +"для проблеми N-Queens (розміщення $N$ ферзів на $NxN$ шахівниці так, щоб " +"жодна королева не загрожувала іншій) і Knight's Tour (a маршрут, який веде " +"лицаря до кожного поля $NxN$ шахівниці, не відвідуючи жодного поля двічі)." + +msgid "" +"The idea of generators comes from other programming languages, especially " +"Icon (https://www.cs.arizona.edu/icon/), where the idea of generators is " +"central. In Icon, every expression and function call behaves like a " +"generator. One example from \"An Overview of the Icon Programming Language" +"\" at https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what " +"this looks like::" +msgstr "" +"Ідея генераторів походить від інших мов програмування, особливо Icon " +"(https://www.cs.arizona.edu/icon/), де ідея генераторів є центральною. У " +"Icon кожен вираз і виклик функції поводяться як генератор. Один приклад із " +"\"Огляду мови програмування значків\" на https://www.cs.arizona.edu/icon/" +"docs/ipd266.htm дає уявлення про те, як це виглядає:" + +msgid "" +"In Icon the :func:`find` function returns the indexes at which the substring " +"\"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` is first " +"assigned a value of 3, but 3 is less than 5, so the comparison fails, and " +"Icon retries it with the second value of 23. 23 is greater than 5, so the " +"comparison now succeeds, and the code prints the value 23 to the screen." +msgstr "" +"У Icon функція :func:`find` повертає індекси, за якими знайдено підрядок \"or" +"\": 3, 23, 33. У операторі :keyword:`if` ``i`` спочатку присвоюється " +"значення 3, але 3 менше за 5, тому порівняння не вдається, і Icon повторює " +"спробу з другим значенням 23. 23 більше за 5, тому порівняння завершується " +"успішно, і код друкує значення 23 на екрані." + +msgid "" +"Python doesn't go nearly as far as Icon in adopting generators as a central " +"concept. Generators are considered a new part of the core Python language, " +"but learning or using them isn't compulsory; if they don't solve any " +"problems that you have, feel free to ignore them. One novel feature of " +"Python's interface as compared to Icon's is that a generator's state is " +"represented as a concrete object (the iterator) that can be passed around to " +"other functions or stored in a data structure." +msgstr "" +"Python не заходить так далеко, як Icon, у прийнятті генераторів як " +"центральної концепції. Генератори вважаються новою частиною ядра мови " +"Python, але їх вивчення або використання не є обов’язковим; якщо вони не " +"вирішують жодних ваших проблем, не соромтеся їх ігнорувати. Однією з нових " +"особливостей інтерфейсу Python порівняно з інтерфейсом Icon є те, що стан " +"генератора представлено як конкретний об’єкт (ітератор), який можна передати " +"іншим функціям або зберегти в структурі даних." + +msgid ":pep:`255` - Simple Generators" +msgstr ":pep:`255` - Прості генератори" + +msgid "" +"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented " +"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " +"Labs crew." +msgstr "" +"Автори: Ніл Шеменауер, Тім Пітерс, Магнус Лі Хетленд. Реалізовано переважно " +"Нілом Шеменауером і Тімом Пітерсом, інші виправлення внесені командою Python " +"Labs." + +msgid "PEP 237: Unifying Long Integers and Integers" +msgstr "PEP 237: Об’єднання довгих і цілих чисел" + +msgid "" +"In recent versions, the distinction between regular integers, which are 32-" +"bit values on most machines, and long integers, which can be of arbitrary " +"size, was becoming an annoyance. For example, on platforms that support " +"files larger than ``2**32`` bytes, the :meth:`tell` method of file objects " +"has to return a long integer. However, there were various bits of Python " +"that expected plain integers and would raise an error if a long integer was " +"provided instead. For example, in Python 1.5, only regular integers could " +"be used as a slice index, and ``'abc'[1L:]`` would raise a :exc:`TypeError` " +"exception with the message 'slice index must be int'." +msgstr "" +"В останніх версіях різниця між звичайними цілими числами, які є 32-" +"розрядними значеннями на більшості машин, і довгими цілими числами, які " +"можуть мати довільний розмір, стала неприємною. Наприклад, на платформах, " +"які підтримують файли розміром понад ``2**32`` байти, метод :meth:`tell` " +"файлових об’єктів має повертати довге ціле число. Однак існували різні " +"частини Python, які очікували простих цілих чисел і викликали помилку, якщо " +"натомість було надано довге ціле число. Наприклад, у Python 1.5 лише " +"звичайні цілі числа можна було використовувати як індекс фрагмента, а " +"``'abc'[1L:]`` викликав би виняток :exc:`TypeError` із повідомленням " +"\"індекс фрагмента повинен бути int\" ." + +msgid "" +"Python 2.2 will shift values from short to long integers as required. The " +"'L' suffix is no longer needed to indicate a long integer literal, as now " +"the compiler will choose the appropriate type. (Using the 'L' suffix will " +"be discouraged in future 2.x versions of Python, triggering a warning in " +"Python 2.4, and probably dropped in Python 3.0.) Many operations that used " +"to raise an :exc:`OverflowError` will now return a long integer as their " +"result. For example::" +msgstr "" +"Python 2.2 за потреби змінюватиме значення від коротких до довгих цілих. " +"Суфікс 'L' більше не потрібен для позначення довгого цілого літералу, " +"оскільки тепер компілятор вибере відповідний тип. (Використання суфікса \"L" +"\" не буде рекомендовано в майбутніх версіях Python 2.x, ініціюючи " +"попередження в Python 2.4, і, ймовірно, буде відмінено в Python 3.0.) Багато " +"операцій, які раніше викликали помилку :exc:`OverflowError`, тепер " +"повертатимуть довге ціле число як їхній результат. Наприклад::" + +msgid "" +"In most cases, integers and long integers will now be treated identically. " +"You can still distinguish them with the :func:`type` built-in function, but " +"that's rarely needed." +msgstr "" +"У більшості випадків цілі та довгі цілі тепер оброблятимуться однаково. Ви " +"все ще можете розрізнити їх за допомогою вбудованої функції :func:`type`, " +"але це рідко потрібно." + +msgid ":pep:`237` - Unifying Long Integers and Integers" +msgstr ":pep:`237` - Об'єднання довгих і цілих чисел" + +msgid "" +"Written by Moshe Zadka and Guido van Rossum. Implemented mostly by Guido " +"van Rossum." +msgstr "" +"Автори Моше Цадка та Гвідо ван Россум. Реалізовано переважно Гвідо ван " +"Россумом." + +msgid "PEP 238: Changing the Division Operator" +msgstr "PEP 238: Зміна оператора поділу" + +msgid "" +"The most controversial change in Python 2.2 heralds the start of an effort " +"to fix an old design flaw that's been in Python from the beginning. " +"Currently Python's division operator, ``/``, behaves like C's division " +"operator when presented with two integer arguments: it returns an integer " +"result that's truncated down when there would be a fractional part. For " +"example, ``3/2`` is 1, not 1.5, and ``(-1)/2`` is -1, not -0.5. This means " +"that the results of division can vary unexpectedly depending on the type of " +"the two operands and because Python is dynamically typed, it can be " +"difficult to determine the possible types of the operands." +msgstr "" +"Найбільш суперечлива зміна в Python 2.2 віщує початок спроб виправити старий " +"недолік дизайну, який був у Python з самого початку. Наразі оператор ділення " +"Python, ``/``, поводиться як оператор ділення C, коли йому представлено два " +"цілочисельні аргументи: він повертає цілочисельний результат, який " +"скорочується, коли має бути дробова частина. Наприклад, \"3/2\" — це 1, а не " +"1,5, а \"(-1)/2\" — це -1, а не -0,5. Це означає, що результати ділення " +"можуть неочікувано відрізнятися залежно від типу двох операндів, а оскільки " +"Python типізується динамічно, може бути важко визначити можливі типи " +"операндів." + +msgid "" +"(The controversy is over whether this is *really* a design flaw, and whether " +"it's worth breaking existing code to fix this. It's caused endless " +"discussions on python-dev, and in July 2001 erupted into a storm of acidly " +"sarcastic postings on :newsgroup:`comp.lang.python`. I won't argue for " +"either side here and will stick to describing what's implemented in 2.2. " +"Read :pep:`238` for a summary of arguments and counter-arguments.)" +msgstr "" +"(Суперечка точиться про те, чи це *справді* недолік дизайну, і чи варто " +"ламати існуючий код, щоб виправити це. Це викликало нескінченні дискусії на " +"python-dev, а в липні 2001 року вибухнуло бурею їдко-саркастичних публікацій " +"на :newsgroup:`comp.lang.python`. Я не буду сперечатися на жодну зі сторін " +"тут і зупинюся на описі того, що реалізовано у 2.2. Прочитайте :pep:`238`, " +"щоб отримати підсумок аргументів і контраргументів.)" + +msgid "" +"Because this change might break code, it's being introduced very gradually. " +"Python 2.2 begins the transition, but the switch won't be complete until " +"Python 3.0." +msgstr "" +"Оскільки ця зміна може порушити код, вона вводиться дуже поступово. Python " +"2.2 починає перехід, але перехід не буде завершено до Python 3.0." + +msgid "" +"First, I'll borrow some terminology from :pep:`238`. \"True division\" is " +"the division that most non-programmers are familiar with: 3/2 is 1.5, 1/4 is " +"0.25, and so forth. \"Floor division\" is what Python's ``/`` operator " +"currently does when given integer operands; the result is the floor of the " +"value returned by true division. \"Classic division\" is the current mixed " +"behaviour of ``/``; it returns the result of floor division when the " +"operands are integers, and returns the result of true division when one of " +"the operands is a floating-point number." +msgstr "" +"По-перше, я запозичу деяку термінологію з :pep:`238`. \"Справжнє ділення\" — " +"це ділення, яке знайоме більшості непрограмістів: 3/2 — це 1,5, 1/4 — це " +"0,25 і так далі. \"Поділ на поверх\" - це те, що наразі робить оператор ``/" +"`` Python, коли йому надаються цілі операнди; результатом є мінімальне " +"значення, яке повертається істинним діленням. \"Класичний розподіл\" - це " +"поточна змішана поведінка ``/``; він повертає результат ділення на поверх, " +"якщо операнди є цілими числами, і повертає результат справжнього ділення, " +"коли один із операндів є числом з плаваючою комою." + +msgid "Here are the changes 2.2 introduces:" +msgstr "Ось зміни, внесені 2.2:" + +msgid "" +"A new operator, ``//``, is the floor division operator. (Yes, we know it " +"looks like C++'s comment symbol.) ``//`` *always* performs floor division " +"no matter what the types of its operands are, so ``1 // 2`` is 0 and " +"``1.0 // 2.0`` is also 0.0." +msgstr "" +"Новий оператор, ``//``, є оператором поділу поверху. (Так, ми знаємо, що це " +"виглядає як символ коментаря C++.) ``//`` *завжди* виконує поділ на поверх " +"незалежно від типів його операндів, тому ``1 // 2`` дорівнює 0 і ``1.0 // " +"2.0`` також 0.0." + +msgid "" +"``//`` is always available in Python 2.2; you don't need to enable it using " +"a ``__future__`` statement." +msgstr "" +"``//`` завжди доступний у Python 2.2; вам не потрібно вмикати його за " +"допомогою оператора ``__future__``." + +msgid "" +"By including a ``from __future__ import division`` in a module, the ``/`` " +"operator will be changed to return the result of true division, so ``1/2`` " +"is 0.5. Without the ``__future__`` statement, ``/`` still means classic " +"division. The default meaning of ``/`` will not change until Python 3.0." +msgstr "" +"Якщо додати в модуль ``from __future__ import division``, оператор ``/`` " +"буде змінено, щоб повернути результат справжнього поділу, тому ``1/2`` " +"дорівнює 0,5. Без оператора ``__future__`` ``/`` усе ще означає класичний " +"розподіл. Стандартне значення ``/`` не зміниться до Python 3.0." + +msgid "" +"Classes can define methods called :meth:`__truediv__` and :meth:" +"`__floordiv__` to overload the two division operators. At the C level, " +"there are also slots in the :c:type:`PyNumberMethods` structure so extension " +"types can define the two operators." +msgstr "" +"Класи можуть визначати методи під назвою :meth:`__truediv__` і :meth:" +"`__floordiv__` для перевантаження двох операторів ділення. На рівні C також " +"є слоти в структурі :c:type:`PyNumberMethods`, тому типи розширення можуть " +"визначати два оператори." + +msgid "" +"Python 2.2 supports some command-line arguments for testing whether code " +"will work with the changed division semantics. Running python with :option:" +"`!-Q warn` will cause a warning to be issued whenever division is applied to " +"two integers. You can use this to find code that's affected by the change " +"and fix it. By default, Python 2.2 will simply perform classic division " +"without a warning; the warning will be turned on by default in Python 2.3." +msgstr "" +"Python 2.2 підтримує деякі аргументи командного рядка для перевірки того, чи " +"працюватиме код зі зміненою семантикою поділу. Запуск python із :option:`!-Q " +"warn` призведе до появи попередження щоразу, коли ділення буде застосовано " +"до двох цілих чисел. Ви можете використовувати це, щоб знайти код, на який " +"вплинули зміни, і виправити його. За замовчуванням Python 2.2 просто " +"виконуватиме класичне ділення без попередження; попередження буде ввімкнено " +"за замовчуванням у Python 2.3." + +msgid ":pep:`238` - Changing the Division Operator" +msgstr ":pep:`238` - Зміна оператора ділення" + +msgid "" +"Written by Moshe Zadka and Guido van Rossum. Implemented by Guido van " +"Rossum.." +msgstr "" +"Автори Моше Цадка та Гвідо ван Россум. Реалізовано Гвідо ван Россумом.." + +msgid "Unicode Changes" +msgstr "Зміни Unicode" + +msgid "" +"Python's Unicode support has been enhanced a bit in 2.2. Unicode strings " +"are usually stored as UCS-2, as 16-bit unsigned integers. Python 2.2 can " +"also be compiled to use UCS-4, 32-bit unsigned integers, as its internal " +"encoding by supplying :option:`!--enable-unicode=ucs4` to the configure " +"script. (It's also possible to specify :option:`!--disable-unicode` to " +"completely disable Unicode support.)" +msgstr "" +"Підтримку Python Unicode було дещо вдосконалено у версії 2.2. Рядки Unicode " +"зазвичай зберігаються як UCS-2, як 16-розрядні цілі числа без знаку. Python " +"2.2 також можна скомпілювати для використання UCS-4, 32-розрядних цілих " +"чисел без знаку, як внутрішнього кодування, надаючи :option:`!--enable-" +"unicode=ucs4` до сценарію конфігурації. (Також можна вказати :option:`!--" +"disable-unicode`, щоб повністю вимкнути підтримку Unicode.)" + +msgid "" +"When built to use UCS-4 (a \"wide Python\"), the interpreter can natively " +"handle Unicode characters from U+000000 to U+110000, so the range of legal " +"values for the :func:`unichr` function is expanded accordingly. Using an " +"interpreter compiled to use UCS-2 (a \"narrow Python\"), values greater than " +"65535 will still cause :func:`unichr` to raise a :exc:`ValueError` " +"exception. This is all described in :pep:`261`, \"Support for 'wide' Unicode " +"characters\"; consult it for further details." +msgstr "" +"Якщо створено для використання UCS-4 (\"широкого Python\"), інтерпретатор " +"може нативно обробляти символи Unicode від U+000000 до U+110000, тому " +"діапазон допустимих значень для функції :func:`unichr` відповідно " +"розширюється. Використовуючи інтерпретатор, скомпільований для використання " +"UCS-2 (\"вузького Python\"), значення, що перевищують 65535, все одно " +"призведуть до того, що :func:`unichr` викличе виняток :exc:`ValueError`. Усе " +"це описано в :pep:`261`, \"Підтримка \"широких\" символів Unicode\"; " +"зверніться до нього для отримання додаткової інформації." + +msgid "" +"Another change is simpler to explain. Since their introduction, Unicode " +"strings have supported an :meth:`encode` method to convert the string to a " +"selected encoding such as UTF-8 or Latin-1. A symmetric " +"``decode([*encoding*])`` method has been added to 8-bit strings (though not " +"to Unicode strings) in 2.2. :meth:`decode` assumes that the string is in the " +"specified encoding and decodes it, returning whatever is returned by the " +"codec." +msgstr "" +"Іншу зміну пояснити простіше. З моменту появи рядки Unicode підтримували " +"метод :meth:`encode` для перетворення рядка у вибране кодування, наприклад " +"UTF-8 або Latin-1. Симетричний метод ``decode([*encoding*])`` було додано до " +"8-бітових рядків (хоча не до рядків Unicode) у 2.2. :meth:`decode` " +"припускає, що рядок знаходиться у вказаному кодуванні, і декодує його, " +"повертаючи те, що повертає кодек." + +msgid "" +"Using this new feature, codecs have been added for tasks not directly " +"related to Unicode. For example, codecs have been added for uu-encoding, " +"MIME's base64 encoding, and compression with the :mod:`zlib` module::" +msgstr "" +"За допомогою цієї нової функції було додано кодеки для завдань, які " +"безпосередньо не пов’язані з Unicode. Наприклад, додано кодеки для uu-" +"кодування, кодування MIME base64 і стиснення за допомогою модуля :mod:" +"`zlib`::" + +msgid "" +"To convert a class instance to Unicode, a :meth:`__unicode__` method can be " +"defined by a class, analogous to :meth:`__str__`." +msgstr "" +"Щоб перетворити екземпляр класу в Unicode, метод :meth:`__unicode__` може " +"бути визначений класом, аналогічно :meth:`__str__`." + +msgid "" +":meth:`encode`, :meth:`decode`, and :meth:`__unicode__` were implemented by " +"Marc-André Lemburg. The changes to support using UCS-4 internally were " +"implemented by Fredrik Lundh and Martin von Löwis." +msgstr "" +":meth:`encode`, :meth:`decode` і :meth:`__unicode__` були реалізовані Марком-" +"Андре Лембургом. Зміни для внутрішньої підтримки використання UCS-4 " +"впровадили Фредрік Лунд і Мартін фон Льовіс." + +msgid ":pep:`261` - Support for 'wide' Unicode characters" +msgstr ":pep:`261` - Підтримка \"широких\" символів Unicode" + +msgid "Written by Paul Prescod." +msgstr "Написав Пол Прескод." + +msgid "PEP 227: Nested Scopes" +msgstr "PEP 227: Вкладені області" + +msgid "" +"In Python 2.1, statically nested scopes were added as an optional feature, " +"to be enabled by a ``from __future__ import nested_scopes`` directive. In " +"2.2 nested scopes no longer need to be specially enabled, and are now always " +"present. The rest of this section is a copy of the description of nested " +"scopes from my \"What's New in Python 2.1\" document; if you read it when " +"2.1 came out, you can skip the rest of this section." +msgstr "" +"У Python 2.1 статичні вкладені області було додано як необов’язкову функцію, " +"яку можна ввімкнути за допомогою директиви ``from __future__ import " +"nested_scopes``. У версії 2.2 вкладені області більше не потрібно спеціально " +"вмикати, і тепер вони завжди присутні. Решта цього розділу є копією опису " +"вкладених областей з мого документа \"Що нового в Python 2.1\"; якщо ви " +"прочитали його, коли вийшла версія 2.1, ви можете пропустити решту цього " +"розділу." + +msgid "" +"The largest change introduced in Python 2.1, and made complete in 2.2, is to " +"Python's scoping rules. In Python 2.0, at any given time there are at most " +"three namespaces used to look up variable names: local, module-level, and " +"the built-in namespace. This often surprised people because it didn't match " +"their intuitive expectations. For example, a nested recursive function " +"definition doesn't work::" +msgstr "" +"Найбільша зміна, внесена в Python 2.1 і завершена в 2.2, стосується правил " +"визначення області видимості Python. У Python 2.0 у будь-який момент часу " +"існує щонайбільше три простори імен, які використовуються для пошуку імен " +"змінних: локальний, на рівні модуля та вбудований простір імен. Це часто " +"дивувало людей, оскільки не відповідало їхнім інтуїтивним очікуванням. " +"Наприклад, визначення вкладеної рекурсивної функції не працює:" + +msgid "" +"The function :func:`g` will always raise a :exc:`NameError` exception, " +"because the binding of the name ``g`` isn't in either its local namespace or " +"in the module-level namespace. This isn't much of a problem in practice " +"(how often do you recursively define interior functions like this?), but " +"this also made using the :keyword:`lambda` expression clumsier, and this was " +"a problem in practice. In code which uses :keyword:`!lambda` you can often " +"find local variables being copied by passing them as the default values of " +"arguments. ::" +msgstr "" +"Функція :func:`g` завжди викличе виняток :exc:`NameError`, оскільки " +"прив’язка імені ``g`` не знаходиться ні в його локальному просторі імен, ні " +"в просторі імен на рівні модуля. Це не є великою проблемою на практиці (як " +"часто ви рекурсивно визначаєте такі внутрішні функції?), але це також робило " +"використання виразу :keyword:`lambda` більш незграбним, і це було проблемою " +"на практиці. У коді, який використовує :keyword:`!lambda`, ви часто можете " +"знайти локальні змінні, які копіюються, передаючи їх як стандартні значення " +"аргументів. ::" + +msgid "" +"The readability of Python code written in a strongly functional style " +"suffers greatly as a result." +msgstr "" +"У результаті цього значно погіршується читабельність коду Python, написаного " +"у сильно функціональному стилі." + +msgid "" +"The most significant change to Python 2.2 is that static scoping has been " +"added to the language to fix this problem. As a first effect, the " +"``name=name`` default argument is now unnecessary in the above example. Put " +"simply, when a given variable name is not assigned a value within a function " +"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:" +"`import` statements), references to the variable will be looked up in the " +"local namespace of the enclosing scope. A more detailed explanation of the " +"rules, and a dissection of the implementation, can be found in the PEP." +msgstr "" +"Найсуттєвішою зміною в Python 2.2 є те, що для вирішення цієї проблеми до " +"мови додано статичне визначення області видимості. Як перший ефект, аргумент " +"за замовчуванням ``name=name`` тепер непотрібний у наведеному вище прикладі. " +"Простіше кажучи, коли заданому імені змінної не присвоєно значення у функції " +"(за допомогою призначення або операторів :keyword:`def`, :keyword:`class` " +"або :keyword:`import`), посилання на змінна буде шукатися в локальному " +"просторі імен охоплюючої області. Більш детальне пояснення правил і опис " +"реалізації можна знайти в PEP." + +msgid "" +"This change may cause some compatibility problems for code where the same " +"variable name is used both at the module level and as a local variable " +"within a function that contains further function definitions. This seems " +"rather unlikely though, since such code would have been pretty confusing to " +"read in the first place." +msgstr "" +"Ця зміна може спричинити деякі проблеми сумісності для коду, де те саме ім’я " +"змінної використовується як на рівні модуля, так і як локальна змінна у " +"функції, яка містить додаткові визначення функцій. Це здається " +"малоймовірним, оскільки такий код було б досить заплутаним для читання." + +msgid "" +"One side effect of the change is that the ``from module import *`` and " +"``exec`` statements have been made illegal inside a function scope under " +"certain conditions. The Python reference manual has said all along that " +"``from module import *`` is only legal at the top level of a module, but the " +"CPython interpreter has never enforced this before. As part of the " +"implementation of nested scopes, the compiler which turns Python source into " +"bytecodes has to generate different code to access variables in a containing " +"scope. ``from module import *`` and ``exec`` make it impossible for the " +"compiler to figure this out, because they add names to the local namespace " +"that are unknowable at compile time. Therefore, if a function contains " +"function definitions or :keyword:`lambda` expressions with free variables, " +"the compiler will flag this by raising a :exc:`SyntaxError` exception." +msgstr "" +"Одним із побічних ефектів змін є те, що оператори ``from module import *`` і " +"``exec`` були зроблені незаконними в межах функції за певних умов. У " +"довідковому посібнику Python весь час говорилося, що ``from module import " +"*`` допустимо лише на верхньому рівні модуля, але інтерпретатор CPython " +"ніколи раніше не виконував цього. Як частина реалізації вкладених областей, " +"компілятор, який перетворює джерело Python на байт-коди, має згенерувати " +"інший код для доступу до змінних у місткій області. ``from module import *`` " +"і ``exec`` не дозволяють компілятору це зрозуміти, оскільки вони додають " +"імена до локального простору імен, які невідомі під час компіляції. Таким " +"чином, якщо функція містить визначення функції або :keyword:`lambda` вирази " +"з вільними змінними, компілятор позначить це, викликавши виняток :exc:" +"`SyntaxError`." + +msgid "To make the preceding explanation a bit clearer, here's an example::" +msgstr "Щоб зробити попереднє пояснення трохи зрозумілішим, ось приклад::" + +msgid "" +"Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " +"would define a new local variable named ``x`` whose value should be accessed " +"by :func:`g`." +msgstr "" +"Рядок 4, що містить інструкцію ``exec``, є синтаксичною помилкою, оскільки " +"``exec`` визначатиме нову локальну змінну з назвою ``x``, до значення якої " +"має отримати доступ :func:`g`." + +msgid "" +"This shouldn't be much of a limitation, since ``exec`` is rarely used in " +"most Python code (and when it is used, it's often a sign of a poor design " +"anyway)." +msgstr "" +"Це не повинно бути великим обмеженням, оскільки ``exec`` рідко " +"використовується в більшості коду Python (і коли він використовується, це " +"часто свідчить про поганий дизайн)." + +msgid ":pep:`227` - Statically Nested Scopes" +msgstr ":pep:`227` - Статично вкладені області" + +msgid "Written and implemented by Jeremy Hylton." +msgstr "Написаний і реалізований Джеремі Гілтоном." + +msgid "New and Improved Modules" +msgstr "Нові та вдосконалені модулі" + +msgid "" +"The :mod:`xmlrpclib` module was contributed to the standard library by " +"Fredrik Lundh, providing support for writing XML-RPC clients. XML-RPC is a " +"simple remote procedure call protocol built on top of HTTP and XML. For " +"example, the following snippet retrieves a list of RSS channels from the " +"O'Reilly Network, and then lists the recent headlines for one channel::" +msgstr "" +"Модуль :mod:`xmlrpclib` був доданий до стандартної бібліотеки Фредріком " +"Лундом, надаючи підтримку для написання клієнтів XML-RPC. XML-RPC — це " +"простий протокол віддаленого виклику процедури, створений на основі HTTP і " +"XML. Наприклад, наведений нижче фрагмент отримує список каналів RSS із " +"мережі O'Reilly, а потім перераховує останні заголовки для одного каналу:" + +msgid "" +"The :mod:`SimpleXMLRPCServer` module makes it easy to create straightforward " +"XML-RPC servers. See http://xmlrpc.scripting.com/ for more information " +"about XML-RPC." +msgstr "" +"Модуль :mod:`SimpleXMLRPCServer` дозволяє легко створювати прості сервери " +"XML-RPC. Перегляньте http://xmlrpc.scripting.com/ для отримання додаткової " +"інформації про XML-RPC." + +msgid "" +"The new :mod:`hmac` module implements the HMAC algorithm described by :rfc:" +"`2104`. (Contributed by Gerhard Häring.)" +msgstr "" +"Новий модуль :mod:`hmac` реалізує алгоритм HMAC, описаний :rfc:`2104`. " +"(Надав Герхард Херінг.)" + +msgid "" +"Several functions that originally returned lengthy tuples now return pseudo-" +"sequences that still behave like tuples but also have mnemonic attributes " +"such as memberst_mtime or :attr:`tm_year`. The enhanced functions include :" +"func:`stat`, :func:`fstat`, :func:`statvfs`, and :func:`fstatvfs` in the :" +"mod:`os` module, and :func:`localtime`, :func:`gmtime`, and :func:`strptime` " +"in the :mod:`time` module." +msgstr "" +"Кілька функцій, які спочатку повертали довгі кортежі, тепер повертають " +"псевдопослідовності, які все ще поводяться як кортежі, але також мають " +"мнемонічні атрибути, такі як memberst_mtime або :attr:`tm_year`. До " +"розширених функцій належать :func:`stat`, :func:`fstat`, :func:`statvfs` і :" +"func:`fstatvfs` у модулі :mod:`os`, а також :func:`localtime`, :func:" +"`gmtime` і :func:`strptime` у модулі :mod:`time`." + +msgid "" +"For example, to obtain a file's size using the old tuples, you'd end up " +"writing something like ``file_size = os.stat(filename)[stat.ST_SIZE]``, but " +"now this can be written more clearly as ``file_size = os.stat(filename)." +"st_size``." +msgstr "" +"Наприклад, щоб отримати розмір файлу за допомогою старих кортежів, вам " +"доведеться написати щось на зразок ``file_size = os.stat(filename)[stat." +"ST_SIZE]``, але тепер це можна записати більш чітко як ``file_size = os." +"stat(назва_файлу).st_size``." + +msgid "The original patch for this feature was contributed by Nick Mathewson." +msgstr "Оригінальний патч для цієї функції надав Нік Метьюсон." + +msgid "" +"The Python profiler has been extensively reworked and various errors in its " +"output have been corrected. (Contributed by Fred L. Drake, Jr. and Tim " +"Peters.)" +msgstr "" +"Профайлер Python було значно перероблено та виправлено різні помилки в його " +"виводі. (Надано Фредом Л. Дрейком молодшим і Тімом Пітерсом.)" + +msgid "" +"The :mod:`socket` module can be compiled to support IPv6; specify the :" +"option:`!--enable-ipv6` option to Python's configure script. (Contributed " +"by Jun-ichiro \"itojun\" Hagino.)" +msgstr "" +"Модуль :mod:`socket` можна скомпільувати для підтримки IPv6; вкажіть " +"параметр :option:`!--enable-ipv6` для сценарію налаштування Python. (Надав " +"Дзюн-ічіро \"ітоджун\" Хагіно.)" + +msgid "" +"Two new format characters were added to the :mod:`struct` module for 64-bit " +"integers on platforms that support the C :c:expr:`long long` type. ``q`` is " +"for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is " +"returned in Python's long integer type. (Contributed by Tim Peters.)" +msgstr "" + +msgid "" +"In the interpreter's interactive mode, there's a new built-in function :func:" +"`help` that uses the :mod:`pydoc` module introduced in Python 2.1 to provide " +"interactive help. ``help(object)`` displays any available help text about " +"*object*. :func:`help` with no argument puts you in an online help utility, " +"where you can enter the names of functions, classes, or modules to read " +"their help text. (Contributed by Guido van Rossum, using Ka-Ping Yee's :mod:" +"`pydoc` module.)" +msgstr "" +"В інтерактивному режимі інтерпретатора є нова вбудована функція :func:" +"`help`, яка використовує модуль :mod:`pydoc`, представлений у Python 2.1, " +"для надання інтерактивної довідки. ``help(object)`` відображає будь-який " +"доступний текст довідки про *object*. :func:`help` без аргументу передає вас " +"до утиліти онлайн-довідки, де ви можете вводити назви функцій, класів або " +"модулів, щоб прочитати їхній текст довідки. (Надано Гвідо ван Россумом, " +"використовуючи модуль Ka-Ping Yee :mod:`pydoc`.)" + +msgid "" +"Various bugfixes and performance improvements have been made to the SRE " +"engine underlying the :mod:`re` module. For example, the :func:`re.sub` " +"and :func:`re.split` functions have been rewritten in C. Another " +"contributed patch speeds up certain Unicode character ranges by a factor of " +"two, and a new :meth:`finditer` method that returns an iterator over all " +"the non-overlapping matches in a given string. (SRE is maintained by " +"Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von Löwis.)" +msgstr "" +"У механізмі SRE, що лежить в основі модуля :mod:`re`, було зроблено різні " +"виправлення помилок і покращено продуктивність. Наприклад, функції :func:`re." +"sub` і :func:`re.split` було переписано мовою C. Інший патч пришвидшує певні " +"діапазони символів Юнікоду в два рази, а також новий :meth:`метод finditer`, " +"який повертає ітератор для всіх неперекриваючих збігів у заданому рядку. " +"(SRE підтримує Фредрік Лунд. Патч BIGCHARSET надав Мартін фон Льовіс.)" + +msgid "" +"The :mod:`smtplib` module now supports :rfc:`2487`, \"Secure SMTP over TLS" +"\", so it's now possible to encrypt the SMTP traffic between a Python " +"program and the mail transport agent being handed a message. :mod:`smtplib` " +"also supports SMTP authentication. (Contributed by Gerhard Häring.)" +msgstr "" +"Модуль :mod:`smtplib` тепер підтримує :rfc:`2487`, \"Безпечний SMTP через TLS" +"\", тому тепер можна шифрувати SMTP-трафік між програмою Python і агентом " +"транспортування пошти, якому передається повідомлення. :mod:`smtplib` також " +"підтримує аутентифікацію SMTP. (Надав Герхард Херінг.)" + +msgid "" +"The :mod:`imaplib` module, maintained by Piers Lauder, has support for " +"several new extensions: the NAMESPACE extension defined in :rfc:`2342`, " +"SORT, GETACL and SETACL. (Contributed by Anthony Baxter and Michel " +"Pelletier.)" +msgstr "" +"Модуль :mod:`imaplib`, який підтримує Пірс Лаудер, підтримує кілька нових " +"розширень: розширення NAMESPACE, визначене в :rfc:`2342`, SORT, GETACL і " +"SETACL. (Надано Ентоні Бакстером і Мішелем Пеллетьє.)" + +msgid "" +"The :mod:`rfc822` module's parsing of email addresses is now compliant with :" +"rfc:`2822`, an update to :rfc:`822`. (The module's name is *not* going to " +"be changed to ``rfc2822``.) A new package, :mod:`email`, has also been " +"added for parsing and generating e-mail messages. (Contributed by Barry " +"Warsaw, and arising out of his work on Mailman.)" +msgstr "" +"Аналіз адрес електронної пошти модулем :mod:`rfc822` тепер сумісний з :rfc:" +"`2822`, оновленням до :rfc:`822`. (Ім’я модуля *не* буде змінено на " +"``rfc2822``.) Новий пакет, :mod:`email`, також було додано для аналізу та " +"генерування повідомлень електронної пошти. (Надано Баррі Варшау, що є " +"результатом його роботи над Mailman.)" + +msgid "" +"The :mod:`difflib` module now contains a new :class:`Differ` class for " +"producing human-readable lists of changes (a \"delta\") between two " +"sequences of lines of text. There are also two generator functions, :func:" +"`ndiff` and :func:`restore`, which respectively return a delta from two " +"sequences, or one of the original sequences from a delta. (Grunt work " +"contributed by David Goodger, from ndiff.py code by Tim Peters who then did " +"the generatorization.)" +msgstr "" +"Модуль :mod:`difflib` тепер містить новий клас :class:`Differ` для створення " +"зрозумілих людині списків змін (\"дельта\") між двома послідовностями рядків " +"тексту. Є також дві функції-генератори, :func:`ndiff` і :func:`restore`, які " +"відповідно повертають дельту з двох послідовностей або одну з оригінальних " +"послідовностей з дельти. (Роботу Grunt вніс Девід Гуджер, з коду ndiff.py " +"Тім Пітерс, який потім виконав генерацію.)" + +msgid "" +"New constants :const:`ascii_letters`, :const:`ascii_lowercase`, and :const:" +"`ascii_uppercase` were added to the :mod:`string` module. There were " +"several modules in the standard library that used :const:`string.letters` to " +"mean the ranges A-Za-z, but that assumption is incorrect when locales are in " +"use, because :const:`string.letters` varies depending on the set of legal " +"characters defined by the current locale. The buggy modules have all been " +"fixed to use :const:`ascii_letters` instead. (Reported by an unknown person; " +"fixed by Fred L. Drake, Jr.)" +msgstr "" +"Нові константи :const:`ascii_letters`, :const:`ascii_lowercase` і :const:" +"`ascii_uppercase` додано до модуля :mod:`string`. У стандартній бібліотеці " +"було кілька модулів, які використовували :const:`string.letters` для " +"позначення діапазонів A-Za-z, але це припущення є неправильним, коли " +"використовуються локалі, оскільки :const:`string.letters` змінюється залежно " +"від на наборі юридичних символів, визначених поточною локалізацією. У всіх " +"модулях із помилками було виправлено використання :const:`ascii_letters`. " +"(Повідомлено невідомою особою; виправлено Фредом Л. Дрейком-молодшим)" + +msgid "" +"The :mod:`mimetypes` module now makes it easier to use alternative MIME-type " +"databases by the addition of a :class:`MimeTypes` class, which takes a list " +"of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)" +msgstr "" +"Модуль :mod:`mimetypes` тепер полегшує використання альтернативних баз даних " +"типу MIME завдяки доданню класу :class:`MimeTypes`, який приймає список імен " +"файлів для аналізу. (Надав Фред Л. Дрейк-молодший)" + +msgid "" +"A :class:`Timer` class was added to the :mod:`threading` module that allows " +"scheduling an activity to happen at some future time. (Contributed by " +"Itamar Shtull-Trauring.)" +msgstr "" +"До модуля :mod:`threading` було додано клас :class:`Timer`, який дозволяє " +"планувати виконання активності в майбутньому. (Надав Ітамар Штул-Траурінг.)" + +msgid "Interpreter Changes and Fixes" +msgstr "Зміни та виправлення перекладача" + +msgid "" +"Some of the changes only affect people who deal with the Python interpreter " +"at the C level because they're writing Python extension modules, embedding " +"the interpreter, or just hacking on the interpreter itself. If you only " +"write Python code, none of the changes described here will affect you very " +"much." +msgstr "" +"Деякі зміни стосуються лише тих, хто має справу з інтерпретатором Python на " +"рівні C, оскільки вони пишуть модулі розширення Python, вбудовують " +"інтерпретатор або просто зламують сам інтерпретатор. Якщо ви пишете лише код " +"на Python, жодна з описаних тут змін не вплине на вас." + +msgid "" +"Profiling and tracing functions can now be implemented in C, which can " +"operate at much higher speeds than Python-based functions and should reduce " +"the overhead of profiling and tracing. This will be of interest to authors " +"of development environments for Python. Two new C functions were added to " +"Python's API, :c:func:`PyEval_SetProfile` and :c:func:`PyEval_SetTrace`. The " +"existing :func:`sys.setprofile` and :func:`sys.settrace` functions still " +"exist, and have simply been changed to use the new C-level interface. " +"(Contributed by Fred L. Drake, Jr.)" +msgstr "" +"Функції профілювання та трасування тепер можна реалізувати в C, який може " +"працювати на набагато вищій швидкості, ніж функції на основі Python, і має " +"зменшити накладні витрати на профілювання та трасування. Це буде цікаво " +"авторам середовищ розробки для Python. До API Python додано дві нові функції " +"C: :c:func:`PyEval_SetProfile` і :c:func:`PyEval_SetTrace`. Існуючі функції :" +"func:`sys.setprofile` і :func:`sys.settrace` все ще існують, і їх просто " +"змінено для використання нового інтерфейсу рівня C. (Надав Фред Л. Дрейк-" +"молодший)" + +msgid "" +"Another low-level API, primarily of interest to implementors of Python " +"debuggers and development tools, was added. :c:func:" +"`PyInterpreterState_Head` and :c:func:`PyInterpreterState_Next` let a caller " +"walk through all the existing interpreter objects; :c:func:" +"`PyInterpreterState_ThreadHead` and :c:func:`PyThreadState_Next` allow " +"looping over all the thread states for a given interpreter. (Contributed by " +"David Beazley.)" +msgstr "" +"Було додано ще один низькорівневий API, який в першу чергу цікавить " +"розробників налагоджувачів Python та інструментів розробки. :c:func:" +"`PyInterpreterState_Head` і :c:func:`PyInterpreterState_Next` дозволяють " +"абоненту пройти через усі існуючі об’єкти інтерпретатора; :c:func:" +"`PyInterpreterState_ThreadHead` і :c:func:`PyThreadState_Next` дозволяють " +"циклічно переглядати всі стани потоку для певного інтерпретатора. (Надав " +"Девід Бізлі.)" + +msgid "" +"The C-level interface to the garbage collector has been changed to make it " +"easier to write extension types that support garbage collection and to debug " +"misuses of the functions. Various functions have slightly different " +"semantics, so a bunch of functions had to be renamed. Extensions that use " +"the old API will still compile but will *not* participate in garbage " +"collection, so updating them for 2.2 should be considered fairly high " +"priority." +msgstr "" +"Інтерфейс рівня C для збирача сміття було змінено, щоб полегшити написання " +"типів розширень, які підтримують збирання сміття, і налагодити неправильне " +"використання функцій. Різні функції мають дещо різну семантику, тому купу " +"функцій довелося перейменувати. Розширення, які використовують старий API, " +"все одно будуть компілюватися, але *не* братимуть участь у збиранні сміття, " +"тому їхнє оновлення до 2.2 має вважатися досить пріоритетним." + +msgid "" +"To upgrade an extension module to the new API, perform the following steps:" +msgstr "Щоб оновити модуль розширення до нового API, виконайте такі дії:" + +msgid "Rename :c:func:`Py_TPFLAGS_GC` to :c:func:`PyTPFLAGS_HAVE_GC`." +msgstr "Перейменуйте :c:func:`Py_TPFLAGS_GC` на :c:func:`PyTPFLAGS_HAVE_GC`." + +msgid "" +"Use :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar` to allocate" +msgstr "" +"Використовуйте :c:func:`PyObject_GC_New` або :c:func:`PyObject_GC_NewVar` " +"для виділення" + +msgid "objects, and :c:func:`PyObject_GC_Del` to deallocate them." +msgstr "об’єктів і :c:func:`PyObject_GC_Del`, щоб звільнити їх." + +msgid "Rename :c:func:`PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and" +msgstr "" +"Перейменуйте :c:func:`PyObject_GC_Init` на :c:func:`PyObject_GC_Track` і" + +msgid ":c:func:`PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`." +msgstr ":c:func:`PyObject_GC_Fini` до :c:func:`PyObject_GC_UnTrack`." + +msgid "Remove :c:func:`PyGC_HEAD_SIZE` from object size calculations." +msgstr "Видалити :c:func:`PyGC_HEAD_SIZE` з обчислень розміру об’єкта." + +msgid "" +"Remove calls to :c:func:`PyObject_AS_GC` and :c:func:`PyObject_FROM_GC`." +msgstr "" +"Видаліть виклики :c:func:`PyObject_AS_GC` і :c:func:`PyObject_FROM_GC`." + +msgid "" +"A new ``et`` format sequence was added to :c:func:`PyArg_ParseTuple`; ``et`` " +"takes both a parameter and an encoding name, and converts the parameter to " +"the given encoding if the parameter turns out to be a Unicode string, or " +"leaves it alone if it's an 8-bit string, assuming it to already be in the " +"desired encoding. This differs from the ``es`` format character, which " +"assumes that 8-bit strings are in Python's default ASCII encoding and " +"converts them to the specified new encoding. (Contributed by M.-A. Lemburg, " +"and used for the MBCS support on Windows described in the following section.)" +msgstr "" +"Нову послідовність формату ``et`` додано до :c:func:`PyArg_ParseTuple`; " +"``et`` приймає як параметр, так і ім’я кодування та перетворює параметр у " +"вказане кодування, якщо параметр виявляється рядком Юнікоду, або залишає " +"його в спокої, якщо це 8-бітовий рядок, припускаючи, що він уже є у " +"потрібному кодуванні. Це відрізняється від символу формату ``es``, який " +"припускає, що 8-бітні рядки мають типове кодування ASCII Python, і " +"перетворює їх у вказане нове кодування. (Надано M.-A. Lemburg і " +"використовується для підтримки MBCS у Windows, описаної в наступному " +"розділі.)" + +msgid "" +"A different argument parsing function, :c:func:`PyArg_UnpackTuple`, has been " +"added that's simpler and presumably faster. Instead of specifying a format " +"string, the caller simply gives the minimum and maximum number of arguments " +"expected, and a set of pointers to :c:expr:`PyObject*` variables that will " +"be filled in with argument values." +msgstr "" + +msgid "" +"Two new flags :const:`METH_NOARGS` and :const:`METH_O` are available in " +"method definition tables to simplify implementation of methods with no " +"arguments or a single untyped argument. Calling such methods is more " +"efficient than calling a corresponding method that uses :const:" +"`METH_VARARGS`. Also, the old :const:`METH_OLDARGS` style of writing C " +"methods is now officially deprecated." +msgstr "" +"Два нові прапорці :const:`METH_NOARGS` і :const:`METH_O` доступні в таблицях " +"визначення методів, щоб спростити реалізацію методів без аргументів або з " +"одним нетиповим аргументом. Виклик таких методів ефективніший, ніж виклик " +"відповідного методу, який використовує :const:`METH_VARARGS`. Крім того, " +"старий :const:`METH_OLDARGS` стиль написання методів C тепер офіційно " +"застарів." + +msgid "" +"Two new wrapper functions, :c:func:`PyOS_snprintf` and :c:func:" +"`PyOS_vsnprintf` were added to provide cross-platform implementations for " +"the relatively new :c:func:`snprintf` and :c:func:`vsnprintf` C lib APIs. In " +"contrast to the standard :c:func:`sprintf` and :c:func:`vsprintf` functions, " +"the Python versions check the bounds of the buffer used to protect against " +"buffer overruns. (Contributed by M.-A. Lemburg.)" +msgstr "" +"Дві нові функції оболонки, :c:func:`PyOS_snprintf` і :c:func:" +"`PyOS_vsnprintf`, були додані, щоб забезпечити кросплатформену реалізацію " +"відносно нових :c:func:`snprintf` і :c:func:`vsnprintf` API C lib. На " +"відміну від стандартних функцій :c:func:`sprintf` і :c:func:`vsprintf`, " +"версії Python перевіряють межі буфера, який використовується для захисту від " +"переповнення буфера. (Уклав М.-А. Лембург.)" + +msgid "" +"The :c:func:`_PyTuple_Resize` function has lost an unused parameter, so now " +"it takes 2 parameters instead of 3. The third argument was never used, and " +"can simply be discarded when porting code from earlier versions to Python " +"2.2." +msgstr "" +"Функція :c:func:`_PyTuple_Resize` втратила невикористаний параметр, тому " +"тепер вона приймає 2 параметри замість 3. Третій аргумент ніколи не " +"використовувався, і його можна просто відкинути під час перенесення коду з " +"попередніх версій на Python 2.2." + +msgid "Other Changes and Fixes" +msgstr "Інші зміни та виправлення" + +msgid "" +"As usual there were a bunch of other improvements and bugfixes scattered " +"throughout the source tree. A search through the CVS change logs finds " +"there were 527 patches applied and 683 bugs fixed between Python 2.1 and " +"2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches " +"and fixed 82 bugs. These figures are likely to be underestimates." +msgstr "" +"Як завжди, було багато інших покращень і виправлень помилок, розкиданих по " +"дереву вихідних кодів. Пошук у журналах змін CVS виявив, що було застосовано " +"527 патчів і 683 виправлені помилки між Python 2.1 і 2.2; 2.2.1 застосовано " +"139 патчів і виправлено 143 помилки; 2.2.2 застосовано 106 патчів і " +"виправлено 82 помилки. Ймовірно, ці цифри занижені." + +msgid "Some of the more notable changes are:" +msgstr "Деякі з найбільш помітних змін:" + +msgid "" +"The code for the MacOS port for Python, maintained by Jack Jansen, is now " +"kept in the main Python CVS tree, and many changes have been made to support " +"MacOS X." +msgstr "" +"Код порту MacOS для Python, який підтримує Джек Янсен, тепер зберігається в " +"основному дереві Python CVS, і внесено багато змін для підтримки MacOS X." + +msgid "" +"The most significant change is the ability to build Python as a framework, " +"enabled by supplying the :option:`!--enable-framework` option to the " +"configure script when compiling Python. According to Jack Jansen, \"This " +"installs a self-contained Python installation plus the OS X framework \"glue" +"\" into :file:`/Library/Frameworks/Python.framework` (or another location of " +"choice). For now there is little immediate added benefit to this (actually, " +"there is the disadvantage that you have to change your PATH to be able to " +"find Python), but it is the basis for creating a full-blown Python " +"application, porting the MacPython IDE, possibly using Python as a standard " +"OSA scripting language and much more.\"" +msgstr "" +"Найсуттєвішою зміною є можливість створювати Python як фреймворк, увімкнений " +"шляхом надання опції :option:`!--enable-framework` до сценарію конфігурації " +"під час компіляції Python. За словами Джека Янсена, \"це встановлює " +"самодостатню інсталяцію Python, а також фреймворк OS X \"клей\" у :file:`/" +"Library/Frameworks/Python.framework` (або в інше розташування). це додаткова " +"перевага (насправді, є недолік, що вам потрібно змінити свій ШЛЯХ, щоб мати " +"змогу знайти Python), але це основа для створення повномасштабної програми " +"Python, портування MacPython IDE, можливо, використання Python як стандартна " +"мова сценаріїв OSA та багато іншого\"." + +msgid "" +"Most of the MacPython toolbox modules, which interface to MacOS APIs such as " +"windowing, QuickTime, scripting, etc. have been ported to OS X, but they've " +"been left commented out in :file:`setup.py`. People who want to experiment " +"with these modules can uncomment them manually." +msgstr "" +"Більшість модулів панелі інструментів MacPython, які взаємодіють з API " +"MacOS, такими як вікна, QuickTime, сценарії тощо, було перенесено в OS X, " +"але вони залишилися прокоментованими в :file:`setup.py`. Люди, які хочуть " +"поекспериментувати з цими модулями, можуть розкоментувати їх вручну." + +msgid "" +"Keyword arguments passed to built-in functions that don't take them now " +"cause a :exc:`TypeError` exception to be raised, with the message " +"\"*function* takes no keyword arguments\"." +msgstr "" +"Аргументи ключових слів, передані вбудованим функціям, які зараз їх не " +"приймають, викликають виняток :exc:`TypeError` із повідомленням \"*функція* " +"не приймає аргументів ключового слова\"." + +msgid "" +"Weak references, added in Python 2.1 as an extension module, are now part of " +"the core because they're used in the implementation of new-style classes. " +"The :exc:`ReferenceError` exception has therefore moved from the :mod:" +"`weakref` module to become a built-in exception." +msgstr "" +"Слабкі посилання, додані в Python 2.1 як модуль розширення, тепер є частиною " +"ядра, оскільки вони використовуються в реалізації класів нового стилю. Тому " +"виняток :exc:`ReferenceError` переміщено з модуля :mod:`weakref` і став " +"вбудованим винятком." + +msgid "" +"A new script, :file:`Tools/scripts/cleanfuture.py` by Tim Peters, " +"automatically removes obsolete ``__future__`` statements from Python source " +"code." +msgstr "" +"Новий скрипт, :file:`Tools/scripts/cleanfuture.py` Тіма Пітерса, автоматично " +"видаляє застарілі оператори ``__future__`` з вихідного коду Python." + +msgid "" +"An additional *flags* argument has been added to the built-in function :func:" +"`compile`, so the behaviour of ``__future__`` statements can now be " +"correctly observed in simulated shells, such as those presented by IDLE and " +"other development environments. This is described in :pep:`264`. " +"(Contributed by Michael Hudson.)" +msgstr "" +"Додатковий аргумент *flags* було додано до вбудованої функції :func:" +"`compile`, тому поведінку операторів ``__future__`` тепер можна правильно " +"спостерігати в змодельованих оболонках, таких як представлені IDLE та інші " +"розробки середовищ. Це описано в :pep:`264`. (Надав Майкл Хадсон.)" + +msgid "" +"The new license introduced with Python 1.6 wasn't GPL-compatible. This is " +"fixed by some minor textual changes to the 2.2 license, so it's now legal to " +"embed Python inside a GPLed program again. Note that Python itself is not " +"GPLed, but instead is under a license that's essentially equivalent to the " +"BSD license, same as it always was. The license changes were also applied " +"to the Python 2.0.1 and 2.1.1 releases." +msgstr "" +"Нова ліцензія, представлена разом із Python 1.6, не була сумісною з GPL. Це " +"виправлено деякими незначними текстовими змінами в ліцензії 2.2, тому тепер " +"можна знову вставляти Python у програму GPL. Зауважте, що сам Python не " +"підпадає під ліцензію GPL, а натомість діє під ліцензією, яка, по суті, " +"еквівалентна ліцензії BSD, як і було завжди. Зміни ліцензії також було " +"застосовано до випусків Python 2.0.1 і 2.1.1." + +msgid "" +"When presented with a Unicode filename on Windows, Python will now convert " +"it to an MBCS encoded string, as used by the Microsoft file APIs. As MBCS " +"is explicitly used by the file APIs, Python's choice of ASCII as the default " +"encoding turns out to be an annoyance. On Unix, the locale's character set " +"is used if ``locale.nl_langinfo(CODESET)`` is available. (Windows support " +"was contributed by Mark Hammond with assistance from Marc-André Lemburg. " +"Unix support was added by Martin von Löwis.)" +msgstr "" +"Коли в Windows надається ім’я файлу Unicode, Python тепер перетворює його на " +"рядок у кодуванні MBCS, який використовується файловими API Microsoft. " +"Оскільки MBCS явно використовується файловими API, вибір Python ASCII як " +"кодування за замовчуванням виявляється неприємним. В Unix набір символів " +"локалі використовується, якщо доступний ``locale.nl_langinfo(CODESET)``. " +"(Підтримку Windows надав Марк Хаммонд за підтримки Марка-Андре Лембурга. " +"Підтримку Unix додав Мартін фон Льовіс.)" + +msgid "" +"Large file support is now enabled on Windows. (Contributed by Tim Peters.)" +msgstr "" +"Підтримка великих файлів тепер увімкнена в Windows. (Надав Тім Пітерс.)" + +msgid "" +"The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc` " +"file, if you have one. (Contributed by Mike Romberg.)" +msgstr "" +"Сценарій :file:`Tools/scripts/ftpmirror.py` тепер аналізує файл :file:`." +"netrc`, якщо він у вас є. (Надав Майк Ромберг.)" + +msgid "" +"Some features of the object returned by the :func:`xrange` function are now " +"deprecated, and trigger warnings when they're accessed; they'll disappear in " +"Python 2.3. :class:`xrange` objects tried to pretend they were full sequence " +"types by supporting slicing, sequence multiplication, and the :keyword:`in` " +"operator, but these features were rarely used and therefore buggy. The :" +"meth:`tolist` method and the :attr:`start`, :attr:`stop`, and :attr:`step` " +"attributes are also being deprecated. At the C level, the fourth argument " +"to the :c:func:`PyRange_New` function, ``repeat``, has also been deprecated." +msgstr "" +"Деякі функції об’єкта, що повертаються функцією :func:`xrange`, тепер " +"застаріли та викликають попередження під час доступу до них; вони зникнуть у " +"Python 2.3. Об’єкти :class:`xrange` намагалися вдавати, що вони є типами " +"повної послідовності, підтримуючи нарізку, множення послідовності та " +"оператор :keyword:`in`, але ці функції рідко використовувалися і, отже, мали " +"помилки. Метод :meth:`tolist` і атрибути :attr:`start`, :attr:`stop` і :attr:" +"`step` також застаріли. На рівні C четвертий аргумент функції :c:func:" +"`PyRange_New`, ``repeat``, також застарів." + +msgid "" +"There were a bunch of patches to the dictionary implementation, mostly to " +"fix potential core dumps if a dictionary contains objects that sneakily " +"changed their hash value, or mutated the dictionary they were contained in. " +"For a while python-dev fell into a gentle rhythm of Michael Hudson finding a " +"case that dumped core, Tim Peters fixing the bug, Michael finding another " +"case, and round and round it went." +msgstr "" +"Була купа патчів до реалізації словника, здебільшого для виправлення " +"потенційних дампів ядра, якщо словник містить об’єкти, які потайки змінили " +"своє хеш-значення або видозмінили словник, у якому вони містилися. На деякий " +"час python-dev впав у м’який ритм Майкл Хадсон знайшов випадок, який викидав " +"ядро, Тім Пітерс виправив помилку, Майкл знайшов інший випадок, і все пішло " +"кругом." + +msgid "" +"On Windows, Python can now be compiled with Borland C thanks to a number of " +"patches contributed by Stephen Hansen, though the result isn't fully " +"functional yet. (But this *is* progress...)" +msgstr "" +"У Windows Python тепер можна скомпілювати за допомогою Borland C завдяки " +"ряду патчів, внесених Стівеном Хансеном, хоча результат ще не повністю " +"функціональний. (Але це *це* прогрес...)" + +msgid "" +"Another Windows enhancement: Wise Solutions generously offered PythonLabs " +"use of their InstallerMaster 8.1 system. Earlier PythonLabs Windows " +"installers used Wise 5.0a, which was beginning to show its age. (Packaged " +"up by Tim Peters.)" +msgstr "" +"Ще одне вдосконалення Windows: компанія Wise Solutions щедро запропонувала " +"PythonLabs використовувати їхню систему InstallerMaster 8.1. Раніше " +"інсталятори PythonLabs для Windows використовували Wise 5.0a, який почав " +"показувати свій вік. (Упакував Тім Пітерс.)" + +msgid "" +"Files ending in ``.pyw`` can now be imported on Windows. ``.pyw`` is a " +"Windows-only thing, used to indicate that a script needs to be run using " +"PYTHONW.EXE instead of PYTHON.EXE in order to prevent a DOS console from " +"popping up to display the output. This patch makes it possible to import " +"such scripts, in case they're also usable as modules. (Implemented by David " +"Bolen.)" +msgstr "" +"Файли із закінченням ``.pyw`` тепер можна імпортувати в Windows. ``.pyw`` — " +"це лише річ для Windows, яка використовується для вказівки на те, що " +"сценарій потрібно запустити за допомогою PYTHONW.EXE замість PYTHON.EXE, щоб " +"запобігти появі консолі DOS для відображення результату. Цей патч дає змогу " +"імпортувати такі сценарії, якщо їх також можна використовувати як модулі. " +"(Реалізовано Девідом Боленом.)" + +msgid "" +"On platforms where Python uses the C :c:func:`dlopen` function to load " +"extension modules, it's now possible to set the flags used by :c:func:" +"`dlopen` using the :func:`sys.getdlopenflags` and :func:`sys.setdlopenflags` " +"functions. (Contributed by Bram Stolk.)" +msgstr "" +"На платформах, де Python використовує функцію C :c:func:`dlopen` для " +"завантаження модулів розширення, тепер можна встановити прапорці, які " +"використовує :c:func:`dlopen` за допомогою :func:`sys.getdlopenflags` і :" +"func:`sys.setdlopenflags` функції. (Надано Бремом Столком.)" + +msgid "" +"The :func:`pow` built-in function no longer supports 3 arguments when " +"floating-point numbers are supplied. ``pow(x, y, z)`` returns ``(x**y) % " +"z``, but this is never useful for floating point numbers, and the final " +"result varies unpredictably depending on the platform. A call such as " +"``pow(2.0, 8.0, 7.0)`` will now raise a :exc:`TypeError` exception." +msgstr "" +"Вбудована функція :func:`pow` більше не підтримує 3 аргументи, коли " +"надаються числа з плаваючою комою. ``pow(x, y, z)`` повертає ``(x**y) % z``, " +"але це ніколи не корисно для чисел з плаваючою комою, і кінцевий результат " +"непередбачувано змінюється залежно від платформи. Такий виклик, як " +"``pow(2.0, 8.0, 7.0)``, тепер викличе виняток :exc:`TypeError`." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Fred Bremmer, Keith Briggs, Andrew Dalke, Fred L. Drake, Jr., Carel " +"Fellinger, David Goodger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack " +"Jansen, Marc-André Lemburg, Martin von Löwis, Fredrik Lundh, Michael McLay, " +"Nick Mathewson, Paul Moore, Gustavo Niemeyer, Don O'Donnell, Joonas " +"Paalasma, Tim Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van " +"Rossum, Greg Ward, Edward Welbourne." +msgstr "" +"Автор хотів би подякувати наступним особам за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Фред Бреммер, Кіт Бріггс, Ендрю " +"Далк, Фред Л. Дрейк молодший, Карел Феллінгер, Девід Гуджер, Марк Хаммонд, " +"Стівен Хансен, Майкл Хадсон, Джек Янсен, Марк-Андре Лембург, Мартін фон " +"Левіс, Фредрік Лунд, Майкл МакЛей, Нік Метьюсон, Пол Мур, Густаво Німейєр, " +"Дон О'Доннелл, Йоонас Пааласма, Тім Пітерс, Йенс Куейд, Том Рейнхардт, Ніл " +"Шеменауер, Гвідо ван Россум, Грег Уорд, Едвард Велборн." diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po new file mode 100644 index 000000000..4b3b6c1b1 --- /dev/null +++ b/whatsnew/2.3.po @@ -0,0 +1,3037 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.3" +msgstr "Що нового в Python 2.3" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling" +msgstr "A.M. Kuchling" + +msgid "" +"This article explains the new features in Python 2.3. Python 2.3 was " +"released on July 29, 2003." +msgstr "" +"У цій статті пояснюються нові функції Python 2.3. Python 2.3 був випущений " +"29 липня 2003 року." + +msgid "" +"The main themes for Python 2.3 are polishing some of the features added in " +"2.2, adding various small but useful enhancements to the core language, and " +"expanding the standard library. The new object model introduced in the " +"previous version has benefited from 18 months of bugfixes and from " +"optimization efforts that have improved the performance of new-style " +"classes. A few new built-in functions have been added such as :func:`sum` " +"and :func:`enumerate`. The :keyword:`in` operator can now be used for " +"substring searches (e.g. ``\"ab\" in \"abc\"`` returns :const:`True`)." +msgstr "" +"Основними темами для Python 2.3 є вдосконалення деяких функцій, доданих у " +"2.2, додавання різних невеликих, але корисних покращень до основної мови та " +"розширення стандартної бібліотеки. Нова об’єктна модель, представлена в " +"попередній версії, отримала переваги від 18 місяців виправлення помилок і " +"зусиль з оптимізації, які покращили продуктивність класів нового стилю. Було " +"додано кілька нових вбудованих функцій, таких як :func:`sum` і :func:" +"`enumerate`. Оператор :keyword:`in` тепер можна використовувати для пошуку " +"підрядка (наприклад, ``\"ab\" у \"abc\"`` повертає :const:`True`)." + +msgid "" +"Some of the many new library features include Boolean, set, heap, and date/" +"time data types, the ability to import modules from ZIP-format archives, " +"metadata support for the long-awaited Python catalog, an updated version of " +"IDLE, and modules for logging messages, wrapping text, parsing CSV files, " +"processing command-line options, using BerkeleyDB databases... the list of " +"new and enhanced modules is lengthy." +msgstr "" +"Деякі з багатьох нових функцій бібліотеки включають типи даних Boolean, set, " +"heap і date/time, можливість імпортувати модулі з архівів у форматі ZIP, " +"підтримку метаданих для довгоочікуваного каталогу Python, оновлену версію " +"IDLE та модулі. для реєстрації повідомлень, обтікання текстом, аналізу " +"файлів CSV, обробки параметрів командного рядка, використання баз даних " +"BerkeleyDB... список нових і вдосконалених модулів довгий." + +msgid "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.3, such as the Python Library " +"Reference and the Python Reference Manual. If you want to understand the " +"complete implementation and design rationale, refer to the PEP for a " +"particular new feature." +msgstr "" +"Ця стаття не намагається надати повну специфікацію нових функцій, натомість " +"надає зручний огляд. Щоб отримати повну інформацію, зверніться до " +"документації для Python 2.3, такої як Довідник бібліотеки Python і " +"Довідковий посібник Python. Якщо ви хочете зрозуміти повну реалізацію та " +"обґрунтування дизайну, зверніться до PEP для конкретної нової функції." + +msgid "PEP 218: A Standard Set Datatype" +msgstr "PEP 218: Тип даних стандартного набору" + +msgid "" +"The new :mod:`sets` module contains an implementation of a set datatype. " +"The :class:`Set` class is for mutable sets, sets that can have members added " +"and removed. The :class:`ImmutableSet` class is for sets that can't be " +"modified, and instances of :class:`ImmutableSet` can therefore be used as " +"dictionary keys. Sets are built on top of dictionaries, so the elements " +"within a set must be hashable." +msgstr "" +"Новий модуль :mod:`sets` містить реалізацію типу даних set. Клас :class:" +"`Set` призначений для змінних наборів, наборів, члени яких можна додавати та " +"видаляти. Клас :class:`ImmutableSet` призначений для наборів, які не можна " +"змінювати, тому екземпляри :class:`ImmutableSet` можна використовувати як " +"ключі словника. Набори створюються на основі словників, тому елементи в " +"наборі мають бути хешованими." + +msgid "Here's a simple example::" +msgstr "Ось простий приклад::" + +msgid "" +"The union and intersection of sets can be computed with the :meth:`union` " +"and :meth:`intersection` methods; an alternative notation uses the bitwise " +"operators ``&`` and ``|``. Mutable sets also have in-place versions of these " +"methods, :meth:`union_update` and :meth:`intersection_update`. ::" +msgstr "" +"Об’єднання та перетин множин можна обчислити за допомогою методів :meth:" +"`union` і :meth:`intersection`; в альтернативній нотації використовуються " +"порозрядні оператори ``&`` і ``|``. Змінні набори також мають на місці " +"версії цих методів, :meth:`union_update` і :meth:`intersection_update`. ::" + +msgid "" +"It's also possible to take the symmetric difference of two sets. This is " +"the set of all elements in the union that aren't in the intersection. " +"Another way of putting it is that the symmetric difference contains all " +"elements that are in exactly one set. Again, there's an alternative " +"notation (``^``), and an in-place version with the ungainly name :meth:" +"`symmetric_difference_update`. ::" +msgstr "" +"Також можна взяти симетричну різницю двох наборів. Це набір усіх елементів " +"об’єднання, які не перебувають у перетині. Іншим способом виразити це є те, " +"що симетрична різниця містить усі елементи, які знаходяться в одній множині. " +"Знову ж таки, є альтернативне позначення (``^``) і версія на місці з " +"незграбною назвою :meth:`symmetric_difference_update`. ::" + +msgid "" +"There are also :meth:`issubset` and :meth:`issuperset` methods for checking " +"whether one set is a subset or superset of another::" +msgstr "" +"Існують також методи :meth:`issubset` і :meth:`issuperset` для перевірки " +"того, чи є один набір підмножиною або надмножиною іншого:" + +msgid ":pep:`218` - Adding a Built-In Set Object Type" +msgstr ":pep:`218` - Додавання вбудованого типу об'єкта Set" + +msgid "" +"PEP written by Greg V. Wilson. Implemented by Greg V. Wilson, Alex Martelli, " +"and GvR." +msgstr "" +"PEP, написаний Грегом В. Вілсоном. Реалізовано Грегом В. Вілсоном, Алексом " +"Мартеллі та GvR." + +msgid "PEP 255: Simple Generators" +msgstr "PEP 255: Прості генератори" + +msgid "" +"In Python 2.2, generators were added as an optional feature, to be enabled " +"by a ``from __future__ import generators`` directive. In 2.3 generators no " +"longer need to be specially enabled, and are now always present; this means " +"that :keyword:`yield` is now always a keyword. The rest of this section is " +"a copy of the description of generators from the \"What's New in Python " +"2.2\" document; if you read it back when Python 2.2 came out, you can skip " +"the rest of this section." +msgstr "" +"У Python 2.2 генератори були додані як необов’язкова функція, яка вмикається " +"директивою ``from __future__ import generators``. У версії 2.3 генератори " +"більше не потребують спеціального вмикання, і тепер вони завжди присутні; це " +"означає, що :keyword:`yield` тепер завжди є ключовим словом. Решта цього " +"розділу є копією опису генераторів із документа \"Що нового в Python 2.2\"; " +"якщо ви читали це ще під час виходу Python 2.2, ви можете пропустити решту " +"цього розділу." + +msgid "" +"You're doubtless familiar with how function calls work in Python or C. When " +"you call a function, it gets a private namespace where its local variables " +"are created. When the function reaches a :keyword:`return` statement, the " +"local variables are destroyed and the resulting value is returned to the " +"caller. A later call to the same function will get a fresh new set of local " +"variables. But, what if the local variables weren't thrown away on exiting a " +"function? What if you could later resume the function where it left off? " +"This is what generators provide; they can be thought of as resumable " +"functions." +msgstr "" +"Ви, безсумнівно, знайомі з тим, як працюють виклики функцій у Python або C. " +"Коли ви викликаєте функцію, вона отримує приватний простір імен, де " +"створюються її локальні змінні. Коли функція досягає оператора :keyword:" +"`return`, локальні змінні знищуються, а отримане значення повертається до " +"викликаючого. Пізніший виклик тієї ж функції отримає новий набір локальних " +"змінних. Але що, якби локальні змінні не були викинуті під час виходу з " +"функції? Що, якби ви могли пізніше відновити функцію, де вона була зупинена? " +"Це те, що забезпечують генератори; їх можна розглядати як відновлювані " +"функції." + +msgid "Here's the simplest example of a generator function::" +msgstr "Ось найпростіший приклад функції генератора:" + +msgid "" +"A new keyword, :keyword:`yield`, was introduced for generators. Any " +"function containing a :keyword:`!yield` statement is a generator function; " +"this is detected by Python's bytecode compiler which compiles the function " +"specially as a result." +msgstr "" +"Для генераторів було введено нове ключове слово :keyword:`yield`. Будь-яка " +"функція, що містить оператор :keyword:`!yield`, є функцією-генератором; це " +"виявляється компілятором байт-коду Python, який спеціально компілює функцію " +"в результаті." + +msgid "" +"When you call a generator function, it doesn't return a single value; " +"instead it returns a generator object that supports the iterator protocol. " +"On executing the :keyword:`yield` statement, the generator outputs the value " +"of ``i``, similar to a :keyword:`return` statement. The big difference " +"between :keyword:`!yield` and a :keyword:`!return` statement is that on " +"reaching a :keyword:`!yield` the generator's state of execution is suspended " +"and local variables are preserved. On the next call to the generator's ``." +"next()`` method, the function will resume executing immediately after the :" +"keyword:`!yield` statement. (For complicated reasons, the :keyword:`!yield` " +"statement isn't allowed inside the :keyword:`try` block of a :keyword:`!" +"try`...\\ :keyword:`!finally` statement; read :pep:`255` for a full " +"explanation of the interaction between :keyword:`!yield` and exceptions.)" +msgstr "" +"Коли ви викликаєте функцію генератора, вона не повертає жодного значення; " +"замість цього він повертає об'єкт генератора, який підтримує протокол " +"ітератора. Під час виконання оператора :keyword:`yield` генератор виводить " +"значення ``i``, подібне до оператора :keyword:`return`. Велика різниця між :" +"keyword:`!yield` і оператором :keyword:`!return` полягає в тому, що при " +"досягненні :keyword:`!yield` стан виконання генератора призупиняється, а " +"локальні змінні зберігаються. Під час наступного виклику методу ``.next()`` " +"генератора функція відновить виконання відразу після оператора :keyword:`!" +"yield`. (Зі складних причин оператор :keyword:`!yield` не дозволяється " +"всередині блоку :keyword:`try` оператора :keyword:`!try`...\\ :keyword:`!" +"finally`; читайте :pep:`255` для повного пояснення взаємодії між :keyword:`!" +"yield` і винятками.)" + +msgid "Here's a sample usage of the :func:`generate_ints` generator::" +msgstr "Ось приклад використання генератора :func:`generate_ints`::" + +msgid "" +"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " +"generate_ints(3)``." +msgstr "" +"Так само можна написати ``for i in generate_ints(5)`` або ``a,b,c = " +"generate_ints(3)``." + +msgid "" +"Inside a generator function, the :keyword:`return` statement can only be " +"used without a value, and signals the end of the procession of values; " +"afterwards the generator cannot return any further values. :keyword:`!" +"return` with a value, such as ``return 5``, is a syntax error inside a " +"generator function. The end of the generator's results can also be " +"indicated by raising :exc:`StopIteration` manually, or by just letting the " +"flow of execution fall off the bottom of the function." +msgstr "" +"Усередині функції генератора оператор :keyword:`return` може " +"використовуватися лише без значення та сигналізує про завершення процесії " +"значень; після цього генератор не може повертати жодних додаткових значень. :" +"keyword:`!return` зі значенням, таким як ``return 5``, є синтаксичною " +"помилкою у функції генератора. Кінець результатів генератора також можна " +"вказати, піднявши :exc:`StopIteration` вручну, або просто дозволивши потоку " +"виконання впасти з нижньої частини функції." + +msgid "" +"You could achieve the effect of generators manually by writing your own " +"class and storing all the local variables of the generator as instance " +"variables. For example, returning a list of integers could be done by " +"setting ``self.count`` to 0, and having the :meth:`next` method increment " +"``self.count`` and return it. However, for a moderately complicated " +"generator, writing a corresponding class would be much messier. :file:`Lib/" +"test/test_generators.py` contains a number of more interesting examples. " +"The simplest one implements an in-order traversal of a tree using generators " +"recursively. ::" +msgstr "" +"Ви можете досягти ефекту генераторів вручну, написавши власний клас і " +"зберігши всі локальні змінні генератора як змінні екземпляра. Наприклад, щоб " +"повернути список цілих чисел, можна встановити ``self.count`` на 0, а метод :" +"meth:`next` збільшити ``self.count`` і повернути його. Однак для помірно " +"складного генератора написання відповідного класу було б набагато " +"складнішим. :file:`Lib/test/test_generators.py` містить ще кілька цікавих " +"прикладів. Найпростіший реалізує рекурсивний обхід дерева за допомогою " +"генераторів. ::" + +msgid "" +"Two other examples in :file:`Lib/test/test_generators.py` produce solutions " +"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that " +"no queen threatens another) and the Knight's Tour (a route that takes a " +"knight to every square of an $NxN$ chessboard without visiting any square " +"twice)." +msgstr "" +"Два інших приклади в :file:`Lib/test/test_generators.py` створюють рішення " +"для проблеми N-Queens (розміщення $N$ ферзів на $NxN$ шахівниці так, щоб " +"жодна королева не загрожувала іншій) і Knight's Tour (a маршрут, який веде " +"лицаря до кожного поля $NxN$ шахівниці, не відвідуючи жодного поля двічі)." + +msgid "" +"The idea of generators comes from other programming languages, especially " +"Icon (https://www.cs.arizona.edu/icon/), where the idea of generators is " +"central. In Icon, every expression and function call behaves like a " +"generator. One example from \"An Overview of the Icon Programming Language" +"\" at https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what " +"this looks like::" +msgstr "" +"Ідея генераторів походить від інших мов програмування, особливо Icon " +"(https://www.cs.arizona.edu/icon/), де ідея генераторів є центральною. У " +"Icon кожен вираз і виклик функції поводяться як генератор. Один приклад із " +"\"Огляду мови програмування значків\" на https://www.cs.arizona.edu/icon/" +"docs/ipd266.htm дає уявлення про те, як це виглядає:" + +msgid "" +"In Icon the :func:`find` function returns the indexes at which the substring " +"\"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` is first " +"assigned a value of 3, but 3 is less than 5, so the comparison fails, and " +"Icon retries it with the second value of 23. 23 is greater than 5, so the " +"comparison now succeeds, and the code prints the value 23 to the screen." +msgstr "" +"У Icon функція :func:`find` повертає індекси, за якими знайдено підрядок \"or" +"\": 3, 23, 33. У операторі :keyword:`if` ``i`` спочатку присвоюється " +"значення 3, але 3 менше за 5, тому порівняння не вдається, і Icon повторює " +"спробу з другим значенням 23. 23 більше за 5, тому порівняння завершується " +"успішно, і код друкує значення 23 на екрані." + +msgid "" +"Python doesn't go nearly as far as Icon in adopting generators as a central " +"concept. Generators are considered part of the core Python language, but " +"learning or using them isn't compulsory; if they don't solve any problems " +"that you have, feel free to ignore them. One novel feature of Python's " +"interface as compared to Icon's is that a generator's state is represented " +"as a concrete object (the iterator) that can be passed around to other " +"functions or stored in a data structure." +msgstr "" +"Python не заходить так далеко, як Icon, у прийнятті генераторів як " +"центральної концепції. Генератори вважаються частиною основної мови Python, " +"але їх вивчення або використання не є обов’язковим; якщо вони не вирішують " +"жодних ваших проблем, не соромтеся їх ігнорувати. Однією з нових " +"особливостей інтерфейсу Python порівняно з інтерфейсом Icon є те, що стан " +"генератора представлено як конкретний об’єкт (ітератор), який можна передати " +"іншим функціям або зберегти в структурі даних." + +msgid ":pep:`255` - Simple Generators" +msgstr ":pep:`255` - Прості генератори" + +msgid "" +"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented " +"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " +"Labs crew." +msgstr "" +"Автори: Ніл Шеменауер, Тім Пітерс, Магнус Лі Хетленд. Реалізовано переважно " +"Нілом Шеменауером і Тімом Пітерсом, інші виправлення внесені командою Python " +"Labs." + +msgid "PEP 263: Source Code Encodings" +msgstr "PEP 263: Кодування вихідного коду" + +msgid "" +"Python source files can now be declared as being in different character set " +"encodings. Encodings are declared by including a specially formatted " +"comment in the first or second line of the source file. For example, a " +"UTF-8 file can be declared with::" +msgstr "" +"Вихідні файли Python тепер можна оголошувати такими, що мають різні " +"кодування набору символів. Кодування оголошується шляхом додавання " +"спеціально відформатованого коментаря в перший або другий рядок вихідного " +"файлу. Наприклад, файл UTF-8 можна оголосити за допомогою::" + +msgid "" +"Without such an encoding declaration, the default encoding used is 7-bit " +"ASCII. Executing or importing modules that contain string literals with 8-" +"bit characters and have no encoding declaration will result in a :exc:" +"`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will be a " +"syntax error." +msgstr "" +"Без такої декларації кодування за замовчуванням використовується 7-бітне " +"кодування ASCII. Виконання або імпортування модулів, які містять рядкові " +"літерали з 8-бітовими символами та не мають декларації кодування, призведе " +"до того, що Python 2.3 повідомить :exc:`DeprecationWarning`; у 2.4 це буде " +"синтаксична помилка." + +msgid "" +"The encoding declaration only affects Unicode string literals, which will be " +"converted to Unicode using the specified encoding. Note that Python " +"identifiers are still restricted to ASCII characters, so you can't have " +"variable names that use characters outside of the usual alphanumerics." +msgstr "" +"Оголошення кодування впливає лише на рядкові літерали Unicode, які буде " +"перетворено на Unicode за допомогою вказаного кодування. Зауважте, що " +"ідентифікатори Python все ще обмежуються символами ASCII, тому ви не можете " +"мати імена змінних, які містять символи, окрім звичайних букв і цифр." + +msgid ":pep:`263` - Defining Python Source Code Encodings" +msgstr ":pep:`263` - Визначення кодувань вихідного коду Python" + +msgid "" +"Written by Marc-André Lemburg and Martin von Löwis; implemented by Suzuki " +"Hisao and Martin von Löwis." +msgstr "" +"Автори: Марк-Андре Лембург і Мартін фон Льовіс; реалізовано Сузукі Хісао та " +"Мартіном фон Льовісом." + +msgid "PEP 273: Importing Modules from ZIP Archives" +msgstr "PEP 273: Імпортування модулів із ZIP-архівів" + +msgid "" +"The new :mod:`zipimport` module adds support for importing modules from a " +"ZIP-format archive. You don't need to import the module explicitly; it will " +"be automatically imported if a ZIP archive's filename is added to ``sys." +"path``. For example:" +msgstr "" +"Новий модуль :mod:`zipimport` додає підтримку для імпорту модулів з архіву " +"ZIP-формату. Вам не потрібно явно імпортувати модуль; його буде автоматично " +"імпортовано, якщо назву файлу ZIP-архіву буде додано до ``sys.path``. " +"Наприклад:" + +msgid "" +"An entry in ``sys.path`` can now be the filename of a ZIP archive. The ZIP " +"archive can contain any kind of files, but only files named :file:`\\*.py`, :" +"file:`\\*.pyc`, or :file:`\\*.pyo` can be imported. If an archive only " +"contains :file:`\\*.py` files, Python will not attempt to modify the archive " +"by adding the corresponding :file:`\\*.pyc` file, meaning that if a ZIP " +"archive doesn't contain :file:`\\*.pyc` files, importing may be rather slow." +msgstr "" +"Запис у ``sys.path`` тепер може бути назвою файлу ZIP-архіву. ZIP-архів може " +"містити будь-які файли, але можна імпортувати лише файли з назвами :file:`" +"\\*.py`, :file:`\\*.pyc` або :file:`\\*.pyo`. Якщо архів містить лише файли :" +"file:`\\*.py`, Python не намагатиметься змінити архів, додавши відповідний " +"файл :file:`\\*.pyc`, тобто якщо архів ZIP не містить :file:`\\*.pyc`, " +"імпортування може бути досить повільним." + +msgid "" +"A path within the archive can also be specified to only import from a " +"subdirectory; for example, the path :file:`/tmp/example.zip/lib/` would only " +"import from the :file:`lib/` subdirectory within the archive." +msgstr "" +"Шлях всередині архіву також можна вказати лише для імпорту з підкаталогу; " +"наприклад, шлях :file:`/tmp/example.zip/lib/` імпортуватиметься лише з " +"підкаталогу :file:`lib/` в архіві." + +msgid ":pep:`273` - Import Modules from Zip Archives" +msgstr ":pep:`273` - імпортувати модулі з Zip-архівів" + +msgid "" +"Written by James C. Ahlstrom, who also provided an implementation. Python " +"2.3 follows the specification in :pep:`273`, but uses an implementation " +"written by Just van Rossum that uses the import hooks described in :pep:" +"`302`. See section :ref:`section-pep302` for a description of the new import " +"hooks." +msgstr "" +"Написав Джеймс К. Алстром, який також забезпечив реалізацію. Python 2.3 " +"відповідає специфікації в :pep:`273`, але використовує реалізацію, написану " +"Джастом ван Россумом, яка використовує хуки імпорту, описані в :pep:`302`. " +"Перегляньте розділ :ref:`section-pep302` для опису нових хуків імпорту." + +msgid "PEP 277: Unicode file name support for Windows NT" +msgstr "PEP 277: Підтримка імен файлів Unicode для Windows NT" + +msgid "" +"On Windows NT, 2000, and XP, the system stores file names as Unicode " +"strings. Traditionally, Python has represented file names as byte strings, " +"which is inadequate because it renders some file names inaccessible." +msgstr "" +"У Windows NT, 2000 і XP система зберігає імена файлів як рядки Unicode. " +"Традиційно Python представляє імена файлів у вигляді байтових рядків, що є " +"неадекватним, оскільки робить деякі імена файлів недоступними." + +msgid "" +"Python now allows using arbitrary Unicode strings (within the limitations of " +"the file system) for all functions that expect file names, most notably the :" +"func:`open` built-in function. If a Unicode string is passed to :func:`os." +"listdir`, Python now returns a list of Unicode strings. A new function, :" +"func:`os.getcwdu`, returns the current directory as a Unicode string." +msgstr "" +"Python тепер дозволяє використовувати довільні рядки Unicode (в межах " +"обмежень файлової системи) для всіх функцій, які очікують імен файлів, " +"особливо для вбудованої функції :func:`open`. Якщо рядок Unicode передається " +"до :func:`os.listdir`, Python тепер повертає список рядків Unicode. Нова " +"функція, :func:`os.getcwdu`, повертає поточний каталог як рядок Unicode." + +msgid "" +"Byte strings still work as file names, and on Windows Python will " +"transparently convert them to Unicode using the ``mbcs`` encoding." +msgstr "" +"Байтові рядки все ще працюють як імена файлів, і в Windows Python прозоро " +"перетворює їх у Unicode за допомогою кодування ``mbcs``." + +msgid "" +"Other systems also allow Unicode strings as file names but convert them to " +"byte strings before passing them to the system, which can cause a :exc:" +"`UnicodeError` to be raised. Applications can test whether arbitrary Unicode " +"strings are supported as file names by checking :attr:`os.path." +"supports_unicode_filenames`, a Boolean value." +msgstr "" +"Інші системи також дозволяють рядки Unicode як імена файлів, але " +"перетворюють їх на рядки байтів перед передачею в систему, що може " +"спричинити виникнення :exc:`UnicodeError`. Програми можуть перевірити, чи " +"підтримуються довільні рядки Unicode як імена файлів, перевіривши :attr:`os." +"path.supports_unicode_filenames`, логічне значення." + +msgid "Under MacOS, :func:`os.listdir` may now return Unicode filenames." +msgstr "" +"У MacOS :func:`os.listdir` тепер може повертати імена файлів у кодуванні " +"Unicode." + +msgid ":pep:`277` - Unicode file name support for Windows NT" +msgstr ":pep:`277` - Підтримка імен файлів Unicode для Windows NT" + +msgid "" +"Written by Neil Hodgson; implemented by Neil Hodgson, Martin von Löwis, and " +"Mark Hammond." +msgstr "" +"Автор Ніл Ходжсон; реалізований Нілом Ходжсоном, Мартіном фон Льовісом і " +"Марком Хаммондом." + +msgid "PEP 278: Universal Newline Support" +msgstr "PEP 278: універсальна підтримка нового рядка" + +msgid "" +"The three major operating systems used today are Microsoft Windows, Apple's " +"Macintosh OS, and the various Unix derivatives. A minor irritation of cross-" +"platform work is that these three platforms all use different characters to " +"mark the ends of lines in text files. Unix uses the linefeed (ASCII " +"character 10), MacOS uses the carriage return (ASCII character 13), and " +"Windows uses a two-character sequence of a carriage return plus a newline." +msgstr "" +"Сьогодні використовуються три основні операційні системи: Microsoft Windows, " +"Macintosh OS від Apple і різні похідні Unix. Невелике роздратування " +"кросплатформної роботи полягає в тому, що всі ці три платформи " +"використовують різні символи для позначення кінців рядків у текстових " +"файлах. Unix використовує символ переводу рядка (символ ASCII 10), MacOS " +"використовує символ повернення каретки (символ ASCII 13), а Windows " +"використовує двосимвольну послідовність повернення каретки плюс новий рядок." + +msgid "" +"Python's file objects can now support end of line conventions other than the " +"one followed by the platform on which Python is running. Opening a file with " +"the mode ``'U'`` or ``'rU'`` will open a file for reading in :term:" +"`universal newlines` mode. All three line ending conventions will be " +"translated to a ``'\\n'`` in the strings returned by the various file " +"methods such as :meth:`read` and :meth:`readline`." +msgstr "" +"Файлові об’єкти Python тепер можуть підтримувати угоди про кінець рядка, " +"відмінні від того, за яким іде платформа, на якій працює Python. Відкриття " +"файлу в режимі ``'U'`` або ``'rU'`` відкриє файл для читання в режимі :term:" +"`universal newlines`. Усі три правила закінчення рядків буде перекладено на " +"``'\\n'`` у рядках, які повертаються різними файловими методами, такими як :" +"meth:`read` і :meth:`readline`." + +msgid "" +"Universal newline support is also used when importing modules and when " +"executing a file with the :func:`execfile` function. This means that Python " +"modules can be shared between all three operating systems without needing to " +"convert the line-endings." +msgstr "" +"Універсальна підтримка нового рядка також використовується під час імпорту " +"модулів і під час виконання файлу за допомогою функції :func:`execfile`. Це " +"означає, що модулі Python можна спільно використовувати між усіма трьома " +"операційними системами без необхідності конвертувати закінчення рядків." + +msgid "" +"This feature can be disabled when compiling Python by specifying the :option:" +"`!--without-universal-newlines` switch when running Python's :program:" +"`configure` script." +msgstr "" +"Цю функцію можна вимкнути під час компіляції Python, вказавши параметр :" +"option:`!--without-universal-newlines` під час виконання сценарію :program:" +"`configure` Python." + +msgid ":pep:`278` - Universal Newline Support" +msgstr ":pep:`278` - Універсальна підтримка нового рядка" + +msgid "Written and implemented by Jack Jansen." +msgstr "Написаний і реалізований Джеком Янсеном." + +msgid "PEP 279: enumerate()" +msgstr "PEP 279: enumerate()" + +msgid "" +"A new built-in function, :func:`enumerate`, will make certain loops a bit " +"clearer. ``enumerate(thing)``, where *thing* is either an iterator or a " +"sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, " +"thing[1])``, ``(2, thing[2])``, and so forth." +msgstr "" +"Нова вбудована функція, :func:`enumerate`, зробить певні цикли трохи " +"зрозумілішими. ``enumerate(thing)``, де *thing* є ітератором або " +"послідовністю, повертає ітератор, який поверне ``(0, thing[0])``, ``(1, " +"thing[1])``, ``(2, thing[2])`` і так далі." + +msgid "A common idiom to change every element of a list looks like this::" +msgstr "Загальна ідіома зміни кожного елемента списку виглядає так:" + +msgid "This can be rewritten using :func:`enumerate` as::" +msgstr "Це можна переписати за допомогою :func:`enumerate` як::" + +msgid ":pep:`279` - The enumerate() built-in function" +msgstr ":pep:`279` - Вбудована функція enumerate()." + +msgid "Written and implemented by Raymond D. Hettinger." +msgstr "Написаний і реалізований Реймондом Д. Хеттінгером." + +msgid "PEP 282: The logging Package" +msgstr "PEP 282: пакет журналів" + +msgid "" +"A standard package for writing logs, :mod:`logging`, has been added to " +"Python 2.3. It provides a powerful and flexible mechanism for generating " +"logging output which can then be filtered and processed in various ways. A " +"configuration file written in a standard format can be used to control the " +"logging behavior of a program. Python includes handlers that will write log " +"records to standard error or to a file or socket, send them to the system " +"log, or even e-mail them to a particular address; of course, it's also " +"possible to write your own handler classes." +msgstr "" +"Стандартний пакет для запису журналів, :mod:`logging`, було додано до Python " +"2.3. Він забезпечує потужний і гнучкий механізм для генерації результатів " +"журналювання, які потім можна фільтрувати та обробляти різними способами. " +"Файл конфігурації, написаний у стандартному форматі, можна використовувати " +"для керування поведінкою програми в журналі. Python включає обробники, які " +"записуватимуть записи журналу до стандартної помилки або до файлу чи сокета, " +"надсилатимуть їх до системного журналу чи навіть електронною поштою на певну " +"адресу; звичайно, також можна написати власні класи обробників." + +msgid "" +"The :class:`Logger` class is the primary class. Most application code will " +"deal with one or more :class:`Logger` objects, each one used by a particular " +"subsystem of the application. Each :class:`Logger` is identified by a name, " +"and names are organized into a hierarchy using ``.`` as the component " +"separator. For example, you might have :class:`Logger` instances named " +"``server``, ``server.auth`` and ``server.network``. The latter two " +"instances are below ``server`` in the hierarchy. This means that if you " +"turn up the verbosity for ``server`` or direct ``server`` messages to a " +"different handler, the changes will also apply to records logged to ``server." +"auth`` and ``server.network``. There's also a root :class:`Logger` that's " +"the parent of all other loggers." +msgstr "" +"Клас :class:`Logger` є основним класом. Більшість програмного коду " +"працюватиме з одним або кількома об’єктами :class:`Logger`, кожен з яких " +"використовується окремою підсистемою програми. Кожен :class:`Logger` " +"ідентифікується за назвою, і імена організовані в ієрархію за допомогою ``." +"`` як розділювача компонентів. Наприклад, у вас можуть бути екземпляри :" +"class:`Logger` з іменами ``server``, ``server.auth`` і ``server.network``. " +"Останні два екземпляри знаходяться нижче ``сервера`` в ієрархії. Це означає, " +"що якщо ви підвищите детальність для ``server`` або спрямуєте ``server`` " +"повідомлення до іншого обробника, зміни також застосовуватимуться до " +"записів, зареєстрованих у ``server.auth`` і ``server.network``. Існує також " +"корінь :class:`Logger`, який є батьківським для всіх інших реєстраторів." + +msgid "" +"For simple uses, the :mod:`logging` package contains some convenience " +"functions that always use the root log::" +msgstr "" +"Для простого використання пакет :mod:`logging` містить деякі зручні функції, " +"які завжди використовують кореневий журнал::" + +msgid "This produces the following output::" +msgstr "Це дає такий вихід:" + +msgid "" +"In the default configuration, informational and debugging messages are " +"suppressed and the output is sent to standard error. You can enable the " +"display of informational and debugging messages by calling the :meth:" +"`setLevel` method on the root logger." +msgstr "" +"У конфігурації за замовчуванням інформаційні та налагоджувальні повідомлення " +"пригнічуються, а вихід надсилається до стандартної помилки. Ви можете " +"ввімкнути відображення інформаційних та налагоджувальних повідомлень, " +"викликавши метод :meth:`setLevel` у кореневому реєстраторі." + +msgid "" +"Notice the :func:`warning` call's use of string formatting operators; all of " +"the functions for logging messages take the arguments ``(msg, arg1, " +"arg2, ...)`` and log the string resulting from ``msg % (arg1, arg2, ...)``." +msgstr "" +"Зверніть увагу на використання виклику :func:`warning` операторів " +"форматування рядків; усі функції для реєстрації повідомлень приймають " +"аргументи ``(msg, arg1, arg2, ...)`` і записують рядок, що є результатом " +"``msg % (arg1, arg2, ...)``." + +msgid "" +"There's also an :func:`exception` function that records the most recent " +"traceback. Any of the other functions will also record the traceback if you " +"specify a true value for the keyword argument *exc_info*. ::" +msgstr "" +"Існує також функція :func:`exception`, яка записує останню трасування. Будь-" +"яка інша функція також записуватиме зворотне відстеження, якщо ви вкажете " +"справжнє значення для ключового аргументу *exc_info*. ::" + +msgid "" +"Slightly more advanced programs will use a logger other than the root " +"logger. The ``getLogger(name)`` function is used to get a particular log, " +"creating it if it doesn't exist yet. ``getLogger(None)`` returns the root " +"logger. ::" +msgstr "" +"Трохи просунутіші програми використовуватимуть інший реєстратор, ніж " +"кореневий реєстратор. Функція ``getLogger(name)`` використовується для " +"отримання певного журналу, створення його, якщо він ще не існує. " +"``getLogger(None)`` повертає кореневий реєстратор. ::" + +msgid "" +"Log records are usually propagated up the hierarchy, so a message logged to " +"``server.auth`` is also seen by ``server`` and ``root``, but a :class:" +"`Logger` can prevent this by setting its :attr:`propagate` attribute to :" +"const:`False`." +msgstr "" +"Записи журналу зазвичай поширюються вгору по ієрархії, тому повідомлення, " +"зареєстроване на ``server.auth``, також бачать ``server`` і ``root``, але :" +"class:`Logger` може запобігти цьому, встановивши його атрибут :attr:" +"`propagate` до :const:`False`." + +msgid "" +"There are more classes provided by the :mod:`logging` package that can be " +"customized. When a :class:`Logger` instance is told to log a message, it " +"creates a :class:`LogRecord` instance that is sent to any number of " +"different :class:`Handler` instances. Loggers and handlers can also have an " +"attached list of filters, and each filter can cause the :class:`LogRecord` " +"to be ignored or can modify the record before passing it along. When " +"they're finally output, :class:`LogRecord` instances are converted to text " +"by a :class:`Formatter` class. All of these classes can be replaced by your " +"own specially written classes." +msgstr "" + +msgid "" +"With all of these features the :mod:`logging` package should provide enough " +"flexibility for even the most complicated applications. This is only an " +"incomplete overview of its features, so please see the package's reference " +"documentation for all of the details. Reading :pep:`282` will also be " +"helpful." +msgstr "" +"З усіма цими функціями пакет :mod:`logging` має забезпечити достатню " +"гнучкість навіть для найскладніших програм. Це лише неповний огляд його " +"функцій, тому, будь ласка, перегляньте довідкову документацію пакета, щоб " +"отримати всі деталі. Читання :pep:`282` також буде корисним." + +msgid ":pep:`282` - A Logging System" +msgstr ":pep:`282` - Система реєстрації" + +msgid "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip." +msgstr "Автори: Віней Саджип і Трент Мік; реалізовано Вінаєм Саджипом." + +msgid "PEP 285: A Boolean Type" +msgstr "PEP 285: логічний тип" + +msgid "" +"A Boolean type was added to Python 2.3. Two new constants were added to " +"the :mod:`__builtin__` module, :const:`True` and :const:`False`. (:const:" +"`True` and :const:`False` constants were added to the built-ins in Python " +"2.2.1, but the 2.2.1 versions are simply set to integer values of 1 and 0 " +"and aren't a different type.)" +msgstr "" +"Логічний тип було додано до Python 2.3. Дві нові константи додано до модуля :" +"mod:`__builtin__`, :const:`True` і :const:`False`. (:const:`True` і :const:" +"`False` константи були додані до вбудованих компонентів у Python 2.2.1, але " +"версії 2.2.1 просто встановлені на цілі значення 1 і 0 і не відрізняються " +"типу.)" + +msgid "" +"The type object for this new type is named :class:`bool`; the constructor " +"for it takes any Python value and converts it to :const:`True` or :const:" +"`False`. ::" +msgstr "" +"Об’єкт типу для цього нового типу називається :class:`bool`; конструктор для " +"нього приймає будь-яке значення Python і перетворює його на :const:`True` " +"або :const:`False`. ::" + +msgid "" +"Most of the standard library modules and built-in functions have been " +"changed to return Booleans. ::" +msgstr "" +"Більшість стандартних бібліотечних модулів і вбудованих функцій було змінено " +"для повернення логічних значень. ::" + +msgid "" +"Python's Booleans were added with the primary goal of making code clearer. " +"For example, if you're reading a function and encounter the statement " +"``return 1``, you might wonder whether the ``1`` represents a Boolean truth " +"value, an index, or a coefficient that multiplies some other quantity. If " +"the statement is ``return True``, however, the meaning of the return value " +"is quite clear." +msgstr "" +"Логічні значення Python були додані з головною метою зробити код " +"зрозумілішим. Наприклад, якщо ви читаєте функцію та зустрічаєте оператор " +"``повернути 1``, ви можете запитати, чи ``1`` представляє логічне значення " +"істинності, індекс або коефіцієнт, який множить якусь іншу величину. Однак, " +"якщо оператор ``повернути Істину``, значення значення, що повертається, " +"цілком зрозуміле." + +msgid "" +"Python's Booleans were *not* added for the sake of strict type-checking. A " +"very strict language such as Pascal would also prevent you performing " +"arithmetic with Booleans, and would require that the expression in an :" +"keyword:`if` statement always evaluate to a Boolean result. Python is not " +"this strict and never will be, as :pep:`285` explicitly says. This means " +"you can still use any expression in an :keyword:`!if` statement, even ones " +"that evaluate to a list or tuple or some random object. The Boolean type is " +"a subclass of the :class:`int` class so that arithmetic using a Boolean " +"still works. ::" +msgstr "" +"Логічні значення Python *не* додано задля суворої перевірки типу. Дуже " +"сувора мова, така як Паскаль, також завадить вам виконувати арифметику з " +"булевими значеннями, і вимагатиме, щоб вираз у операторі :keyword:`if` " +"завжди обчислювався як логічний результат. Python не є таким суворим і " +"ніколи не буде, про що прямо говорить :pep:`285`. Це означає, що ви все ще " +"можете використовувати будь-який вираз у операторі :keyword:`!if`, навіть " +"той, який обчислюється як список, кортеж або якийсь випадковий об’єкт. " +"Логічний тип є підкласом класу :class:`int`, тому арифметика з використанням " +"логічного значення все ще працює. ::" + +msgid "" +"To sum up :const:`True` and :const:`False` in a sentence: they're " +"alternative ways to spell the integer values 1 and 0, with the single " +"difference that :func:`str` and :func:`repr` return the strings ``'True'`` " +"and ``'False'`` instead of ``'1'`` and ``'0'``." +msgstr "" +"Підводячи підсумок :const:`True` і :const:`False` у реченні: це " +"альтернативні способи написання цілих значень 1 і 0, з тією єдиною різницею, " +"що :func:`str` і :func:`repr` повертає рядки ``'True'`` і ``'False'`` " +"замість ``'1'`` і ``'0'``." + +msgid ":pep:`285` - Adding a bool type" +msgstr ":pep:`285` - Додавання типу bool" + +msgid "Written and implemented by GvR." +msgstr "Написано та реалізовано GvR." + +msgid "PEP 293: Codec Error Handling Callbacks" +msgstr "PEP 293: Зворотні виклики обробки помилок кодека" + +msgid "" +"When encoding a Unicode string into a byte string, unencodable characters " +"may be encountered. So far, Python has allowed specifying the error " +"processing as either \"strict\" (raising :exc:`UnicodeError`), \"ignore" +"\" (skipping the character), or \"replace\" (using a question mark in the " +"output string), with \"strict\" being the default behavior. It may be " +"desirable to specify alternative processing of such errors, such as " +"inserting an XML character reference or HTML entity reference into the " +"converted string." +msgstr "" +"Під час кодування рядка Юнікод у рядок байтів можуть зустрітися некодовані " +"символи. Наразі Python дозволяв вказувати обробку помилок як \"строгу" +"\" (викликаючи :exc:`UnicodeError`), \"ігнорувати\" (пропускаючи символ) або " +"\"замінювати\" (використовуючи знак питання у вихідному рядку), з \"суворий" +"\" є поведінкою за замовчуванням. Може бути бажано вказати альтернативну " +"обробку таких помилок, таку як вставка посилання на символ XML або посилання " +"на сутність HTML у перетворений рядок." + +msgid "" +"Python now has a flexible framework to add different processing strategies. " +"New error handlers can be added with :func:`codecs.register_error`, and " +"codecs then can access the error handler with :func:`codecs.lookup_error`. " +"An equivalent C API has been added for codecs written in C. The error " +"handler gets the necessary state information such as the string being " +"converted, the position in the string where the error was detected, and the " +"target encoding. The handler can then either raise an exception or return a " +"replacement string." +msgstr "" +"Python тепер має гнучку структуру для додавання різних стратегій обробки. " +"Нові обробники помилок можна додати за допомогою :func:`codecs." +"register_error`, а потім кодеки зможуть отримати доступ до обробника помилок " +"за допомогою :func:`codecs.lookup_error`. Для кодеків, написаних мовою C, " +"додано еквівалентний C API. Обробник помилок отримує необхідну інформацію " +"про стан, таку як рядок, який перетворюється, позиція в рядку, де було " +"виявлено помилку, і цільове кодування. Тоді обробник може викликати виняток " +"або повернути рядок заміни." + +msgid "" +"Two additional error handlers have been implemented using this framework: " +"\"backslashreplace\" uses Python backslash quoting to represent unencodable " +"characters and \"xmlcharrefreplace\" emits XML character references." +msgstr "" +"За допомогою цього фреймворку було реалізовано два додаткові обробники " +"помилок: \"backslashreplace\" використовує лапки Python для представлення " +"некодованих символів, а \"xmlcharrefreplace\" видає посилання на символи XML." + +msgid ":pep:`293` - Codec Error Handling Callbacks" +msgstr ":pep:`293` - Помилка кодека при обробці зворотних викликів" + +msgid "Written and implemented by Walter Dörwald." +msgstr "Написав і реалізував Вальтер Дьорвальд." + +msgid "PEP 301: Package Index and Metadata for Distutils" +msgstr "PEP 301: Індекс пакетів і метадані для Distutils" + +msgid "" +"Support for the long-requested Python catalog makes its first appearance in " +"2.3." +msgstr "Підтримка давно запитуваного каталогу Python вперше з’являється у 2.3." + +msgid "" +"The heart of the catalog is the new Distutils :command:`register` command. " +"Running ``python setup.py register`` will collect the metadata describing a " +"package, such as its name, version, maintainer, description, &c., and send " +"it to a central catalog server. The resulting catalog is available from " +"https://pypi.org." +msgstr "" +"Серцем каталогу є нова команда Distutils :command:`register`. Запуск " +"``python setup.py register`` збирає метадані, що описують пакунок, наприклад " +"його назву, версію, супроводжуючого, опис тощо, і надсилає їх на центральний " +"сервер каталогу. Отриманий каталог доступний за адресою https://pypi.org." + +msgid "" +"To make the catalog a bit more useful, a new optional *classifiers* keyword " +"argument has been added to the Distutils :func:`setup` function. A list of " +"`Trove `_-style strings can be supplied to help " +"classify the software." +msgstr "" +"Щоб зробити каталог трохи кориснішим, до функції Distutils :func:`setup` " +"додано новий необов’язковий аргумент ключового слова *classifiers*. Можна " +"надати список рядків у стилі `Trove `_, щоб " +"допомогти класифікувати програмне забезпечення." + +msgid "" +"Here's an example :file:`setup.py` with classifiers, written to be " +"compatible with older versions of the Distutils::" +msgstr "" +"Ось приклад :file:`setup.py` з класифікаторами, написаними для сумісності зі " +"старішими версіями Distutils::" + +msgid "" +"The full list of classifiers can be obtained by running ``python setup.py " +"register --list-classifiers``." +msgstr "" +"Повний список класифікаторів можна отримати, запустивши ``python setup.py " +"register --list-classifiers``." + +msgid ":pep:`301` - Package Index and Metadata for Distutils" +msgstr ":pep:`301` - Індекс пакета та метадані для Distutils" + +msgid "Written and implemented by Richard Jones." +msgstr "Написаний і реалізований Річардом Джонсом." + +msgid "PEP 302: New Import Hooks" +msgstr "PEP 302: нові імпортні гачки" + +msgid "" +"While it's been possible to write custom import hooks ever since the :mod:" +"`ihooks` module was introduced in Python 1.3, no one has ever been really " +"happy with it because writing new import hooks is difficult and messy. " +"There have been various proposed alternatives such as the :mod:`imputil` " +"and :mod:`iu` modules, but none of them has ever gained much acceptance, and " +"none of them were easily usable from C code." +msgstr "" +"Хоча з моменту появи модуля :mod:`ihooks` у Python 1.3 стало можливим писати " +"користувацькі хуки імпорту, ніхто ніколи не був цим дуже задоволений, тому " +"що писати нові хуки імпорту складно та безладно. Існували різні " +"запропоновані альтернативи, такі як модулі :mod:`imputil` і :mod:`iu`, але " +"жоден з них ніколи не отримав великого визнання, і жоден з них не був легким " +"для використання з коду C." + +msgid "" +":pep:`302` borrows ideas from its predecessors, especially from Gordon " +"McMillan's :mod:`iu` module. Three new items are added to the :mod:`sys` " +"module:" +msgstr "" +":pep:`302` запозичив ідеї у своїх попередників, особливо у модуля :mod:`iu` " +"Гордона МакМіллана. До модуля :mod:`sys` додано три нові елементи:" + +msgid "" +"``sys.path_hooks`` is a list of callable objects; most often they'll be " +"classes. Each callable takes a string containing a path and either returns " +"an importer object that will handle imports from this path or raises an :exc:" +"`ImportError` exception if it can't handle this path." +msgstr "" +"``sys.path_hooks`` - це список викликаних об'єктів; найчастіше це будуть " +"класи. Кожен виклик приймає рядок, що містить шлях, і або повертає об’єкт " +"імпортера, який оброблятиме імпорт із цього шляху, або викликає виняток :exc:" +"`ImportError`, якщо він не може обробити цей шлях." + +msgid "" +"``sys.path_importer_cache`` caches importer objects for each path, so ``sys." +"path_hooks`` will only need to be traversed once for each path." +msgstr "" +"``sys.path_importer_cache`` кешує об’єкти імпортера для кожного шляху, тому " +"``sys.path_hooks`` потрібно буде пройти лише один раз для кожного шляху." + +msgid "" +"``sys.meta_path`` is a list of importer objects that will be traversed " +"before ``sys.path`` is checked. This list is initially empty, but user code " +"can add objects to it. Additional built-in and frozen modules can be " +"imported by an object added to this list." +msgstr "" +"``sys.meta_path`` - це список об’єктів імпортера, які будуть проходити перед " +"перевіркою ``sys.path``. Спочатку цей список порожній, але код користувача " +"може додавати до нього об’єкти. Додаткові вбудовані та заморожені модулі " +"можуть бути імпортовані об’єктом, доданим до цього списку." + +msgid "" +"Importer objects must have a single method, ``find_module(fullname, " +"path=None)``. *fullname* will be a module or package name, e.g. ``string`` " +"or ``distutils.core``. :meth:`find_module` must return a loader object that " +"has a single method, ``load_module(fullname)``, that creates and returns the " +"corresponding module object." +msgstr "" +"Об’єкти імпортера повинні мати єдиний метод, ``find_module(fullname, " +"path=None)``. *fullname* буде назвою модуля або пакета, наприклад. " +"``string`` або ``distutils.core``. :meth:`find_module` має повертати об’єкт " +"завантажувача, який має один метод, ``load_module(fullname)``, який створює " +"та повертає відповідний об’єкт модуля." + +msgid "" +"Pseudo-code for Python's new import logic, therefore, looks something like " +"this (simplified a bit; see :pep:`302` for the full details)::" +msgstr "" +"Таким чином, псевдокод для нової логіки імпорту Python виглядає приблизно " +"так (трохи спрощено; подробиці див. :pep:`302`):" + +msgid ":pep:`302` - New Import Hooks" +msgstr ":pep:`302` - Нові хуки імпорту" + +msgid "" +"Written by Just van Rossum and Paul Moore. Implemented by Just van Rossum." +msgstr "Автори: Джаст ван Россум і Пол Мур. Реалізовано Юстом ван Россумом." + +msgid "PEP 305: Comma-separated Files" +msgstr "PEP 305: Файли, розділені комами" + +msgid "" +"Comma-separated files are a format frequently used for exporting data from " +"databases and spreadsheets. Python 2.3 adds a parser for comma-separated " +"files." +msgstr "" +"Файли, розділені комами, — це формат, який часто використовується для " +"експорту даних із баз даних і електронних таблиць. Python 2.3 додає " +"аналізатор для файлів, розділених комами." + +msgid "Comma-separated format is deceptively simple at first glance::" +msgstr "Формат, розділений комами, на перший погляд оманливо простий:" + +msgid "" +"Read a line and call ``line.split(',')``: what could be simpler? But toss in " +"string data that can contain commas, and things get more complicated::" +msgstr "" +"Прочитати рядок і викликати ``line.split(',')``: що може бути простіше? Але " +"додайте рядкові дані, які можуть містити коми, і все стане складнішим::" + +msgid "" +"A big ugly regular expression can parse this, but using the new :mod:`csv` " +"package is much simpler::" +msgstr "" +"Великий потворний регулярний вираз може проаналізувати це, але використання " +"нового пакета :mod:`csv` набагато простіше:" + +msgid "" +"The :func:`reader` function takes a number of different options. The field " +"separator isn't limited to the comma and can be changed to any character, " +"and so can the quoting and line-ending characters." +msgstr "" +"Функція :func:`reader` має кілька різних параметрів. Роздільник полів не " +"обмежується комою, його можна замінити будь-яким символом, а також символами " +"лапок і кінця рядка." + +msgid "" +"Different dialects of comma-separated files can be defined and registered; " +"currently there are two dialects, both used by Microsoft Excel. A separate :" +"class:`csv.writer` class will generate comma-separated files from a " +"succession of tuples or lists, quoting strings that contain the delimiter." +msgstr "" +"Можна визначати та реєструвати різні діалекти файлів, розділених комами; " +"наразі існує два діалекти, обидва використовуються Microsoft Excel. Окремий " +"клас :class:`csv.writer` генеруватиме файли, розділені комами, із " +"послідовності кортежів або списків, цитуючи рядки, які містять роздільник." + +msgid ":pep:`305` - CSV File API" +msgstr ":pep:`305` - API файлів CSV" + +msgid "" +"Written and implemented by Kevin Altis, Dave Cole, Andrew McNamara, Skip " +"Montanaro, Cliff Wells." +msgstr "" +"Написали та реалізували Кевін Алтіс, Дейв Коул, Ендрю Макнамара, Скіп " +"Монтанаро, Кліфф Веллс." + +msgid "PEP 307: Pickle Enhancements" +msgstr "PEP 307: Поліпшення соління" + +msgid "" +"The :mod:`pickle` and :mod:`cPickle` modules received some attention during " +"the 2.3 development cycle. In 2.2, new-style classes could be pickled " +"without difficulty, but they weren't pickled very compactly; :pep:`307` " +"quotes a trivial example where a new-style class results in a pickled string " +"three times longer than that for a classic class." +msgstr "" +"Модулі :mod:`pickle` і :mod:`cPickle` отримали деяку увагу протягом циклу " +"розробки 2.3. У 2.2 класи нового стилю можна було маринувати без труднощів, " +"але вони не були дуже компактно мариновані; :pep:`307` цитує тривіальний " +"приклад, коли клас нового стилю призводить до маринованого рядка втричі " +"довшого, ніж у класичного класу." + +msgid "" +"The solution was to invent a new pickle protocol. The :func:`pickle.dumps` " +"function has supported a text-or-binary flag for a long time. In 2.3, this " +"flag is redefined from a Boolean to an integer: 0 is the old text-mode " +"pickle format, 1 is the old binary format, and now 2 is a new 2.3-specific " +"format. A new constant, :const:`pickle.HIGHEST_PROTOCOL`, can be used to " +"select the fanciest protocol available." +msgstr "" +"Вихід полягав у винаході нового протоколу маринування. Функція :func:`pickle." +"dumps` довгий час підтримувала текстовий або бінарний прапор. У версії 2.3 " +"цей прапорець змінено з логічного значення на ціле: 0 — це старий текстовий " +"формат pickle, 1 — старий двійковий формат, а тепер 2 — це новий формат, " +"специфічний для 2.3. Нову константу, :const:`pickle.HIGHEST_PROTOCOL`, можна " +"використовувати для вибору найбільш модного доступного протоколу." + +msgid "" +"Unpickling is no longer considered a safe operation. 2.2's :mod:`pickle` " +"provided hooks for trying to prevent unsafe classes from being unpickled " +"(specifically, a :attr:`__safe_for_unpickling__` attribute), but none of " +"this code was ever audited and therefore it's all been ripped out in 2.3. " +"You should not unpickle untrusted data in any version of Python." +msgstr "" +"Розбирання більше не вважається безпечною операцією. :mod:`pickle` версії " +"2.2 містить перехоплювачі для спроб запобігти видаленню небезпечних класів " +"(зокрема, атрибут :attr:`__safe_for_unpickling__`), але жоден із цього коду " +"ніколи не перевірявся, тому його було вилучено у 2.3 . Ви не повинні " +"видаляти ненадійні дані в будь-якій версії Python." + +msgid "" +"To reduce the pickling overhead for new-style classes, a new interface for " +"customizing pickling was added using three special methods: :meth:" +"`__getstate__`, :meth:`__setstate__`, and :meth:`__getnewargs__`. Consult :" +"pep:`307` for the full semantics of these methods." +msgstr "" +"Щоб зменшити накладні витрати на травлення для класів нового стилю, було " +"додано новий інтерфейс для налаштування травлення за допомогою трьох " +"спеціальних методів: :meth:`__getstate__`, :meth:`__setstate__` та :meth:" +"`__getnewargs__`. Зверніться до :pep:`307` для повної семантики цих методів." + +msgid "" +"As a way to compress pickles yet further, it's now possible to use integer " +"codes instead of long strings to identify pickled classes. The Python " +"Software Foundation will maintain a list of standardized codes; there's also " +"a range of codes for private use. Currently no codes have been specified." +msgstr "" +"Щоб ще більше стиснути pickles, тепер можна використовувати цілі коди " +"замість довгих рядків для ідентифікації маринованих класів. Python Software " +"Foundation підтримуватиме список стандартизованих кодів; також є ряд кодів " +"для приватного використання. Наразі коди не вказано." + +msgid ":pep:`307` - Extensions to the pickle protocol" +msgstr ":pep:`307` - Розширення протоколу pickle" + +msgid "Written and implemented by Guido van Rossum and Tim Peters." +msgstr "Написано та реалізовано Гвідо ван Россумом і Тімом Пітерсом." + +msgid "Extended Slices" +msgstr "Розширені зрізи" + +msgid "" +"Ever since Python 1.4, the slicing syntax has supported an optional third " +"\"step\" or \"stride\" argument. For example, these are all legal Python " +"syntax: ``L[1:10:2]``, ``L[:-1:1]``, ``L[::-1]``. This was added to Python " +"at the request of the developers of Numerical Python, which uses the third " +"argument extensively. However, Python's built-in list, tuple, and string " +"sequence types have never supported this feature, raising a :exc:`TypeError` " +"if you tried it. Michael Hudson contributed a patch to fix this shortcoming." +msgstr "" +"Починаючи з Python 1.4, синтаксис нарізки підтримує додатковий третій " +"аргумент \"крок\" або \"крок\". Наприклад, це законний синтаксис Python: " +"``L[1:10:2]``, ``L[:-1:1]``, ``L[::-1]``. Це було додано до Python на " +"прохання розробників Numerical Python, який широко використовує третій " +"аргумент. Однак вбудовані типи списків, кортежів і послідовностей рядків " +"Python ніколи не підтримували цю функцію, викликаючи :exc:`TypeError`, якщо " +"ви спробували її. Майкл Хадсон вніс патч для усунення цього недоліку." + +msgid "" +"For example, you can now easily extract the elements of a list that have " +"even indexes::" +msgstr "" +"Наприклад, тепер ви можете легко витягти елементи списку, які мають парні " +"індекси::" + +msgid "" +"Negative values also work to make a copy of the same list in reverse order::" +msgstr "" +"Від’ємні значення також працюють для створення копії того самого списку у " +"зворотному порядку:" + +msgid "This also works for tuples, arrays, and strings::" +msgstr "Це також працює для кортежів, масивів і рядків::" + +msgid "" +"If you have a mutable sequence such as a list or an array you can assign to " +"or delete an extended slice, but there are some differences between " +"assignment to extended and regular slices. Assignment to a regular slice " +"can be used to change the length of the sequence::" +msgstr "" +"Якщо у вас є змінна послідовність, наприклад список або масив, ви можете " +"призначити або видалити розширений фрагмент, але є деякі відмінності між " +"призначенням розширеному та звичайному фрагментам. Призначення звичайному " +"фрагменту можна використовувати для зміни довжини послідовності:" + +msgid "" +"Extended slices aren't this flexible. When assigning to an extended slice, " +"the list on the right hand side of the statement must contain the same " +"number of items as the slice it is replacing::" +msgstr "" +"Розширені фрагменти не такі гнучкі. Під час призначення розширеному " +"фрагменту список у правій частині оператора має містити таку ж кількість " +"елементів, як і фрагмент, який він замінює:" + +msgid "Deletion is more straightforward::" +msgstr "Видалення простіше:" + +msgid "" +"One can also now pass slice objects to the :meth:`__getitem__` methods of " +"the built-in sequences::" +msgstr "" +"Тепер також можна передавати об’єкти фрагментів до методів :meth:" +"`__getitem__` вбудованих послідовностей::" + +msgid "Or use slice objects directly in subscripts::" +msgstr "" +"Або використовуйте об’єкти фрагментів безпосередньо в нижніх індексах::" + +msgid "" +"To simplify implementing sequences that support extended slicing, slice " +"objects now have a method ``indices(length)`` which, given the length of a " +"sequence, returns a ``(start, stop, step)`` tuple that can be passed " +"directly to :func:`range`. :meth:`indices` handles omitted and out-of-bounds " +"indices in a manner consistent with regular slices (and this innocuous " +"phrase hides a welter of confusing details!). The method is intended to be " +"used like this::" +msgstr "" +"Щоб спростити реалізацію послідовностей, які підтримують розширене зрізання, " +"об’єкти зрізів тепер мають метод ``indices(length)``, який, враховуючи " +"довжину послідовності, повертає кортеж ``(start, stop, step)``, який можна " +"передати безпосередньо до :func:`range`. :meth:`indices` обробляє пропущені " +"та поза межами індекси у спосіб, що відповідає звичайним фрагментам (і ця " +"нешкідлива фраза приховує купу заплутаних деталей!). Метод призначений для " +"використання таким чином:" + +msgid "" +"From this example you can also see that the built-in :class:`slice` object " +"is now the type object for the slice type, and is no longer a function. " +"This is consistent with Python 2.2, where :class:`int`, :class:`str`, etc., " +"underwent the same change." +msgstr "" +"З цього прикладу ви також можете побачити, що вбудований об’єкт :class:" +"`slice` тепер є об’єктом типу для типу зрізу, і більше не є функцією. Це " +"узгоджується з Python 2.2, де :class:`int`, :class:`str` тощо зазнали тих " +"самих змін." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"Here are all of the changes that Python 2.3 makes to the core Python " +"language." +msgstr "Ось усі зміни, внесені Python 2.3 до основної мови Python." + +msgid "" +"The :keyword:`yield` statement is now always a keyword, as described in " +"section :ref:`section-generators` of this document." +msgstr "" +"Оператор :keyword:`yield` тепер завжди є ключовим словом, як описано в " +"розділі :ref:`section-generators` цього документа." + +msgid "" +"A new built-in function :func:`enumerate` was added, as described in " +"section :ref:`section-enumerate` of this document." +msgstr "" +"Було додано нову вбудовану функцію :func:`enumerate`, як описано в розділі :" +"ref:`section-enumerate` цього документа." + +msgid "" +"Two new constants, :const:`True` and :const:`False` were added along with " +"the built-in :class:`bool` type, as described in section :ref:`section-bool` " +"of this document." +msgstr "" +"Дві нові константи, :const:`True` і :const:`False` було додано разом із " +"вбудованим типом :class:`bool`, як описано в розділі :ref:`section-bool` " +"цього документа." + +msgid "" +"The :func:`int` type constructor will now return a long integer instead of " +"raising an :exc:`OverflowError` when a string or floating-point number is " +"too large to fit into an integer. This can lead to the paradoxical result " +"that ``isinstance(int(expression), int)`` is false, but that seems unlikely " +"to cause problems in practice." +msgstr "" +"Конструктор типу :func:`int` тепер повертатиме довге ціле число замість " +"того, щоб викликати :exc:`OverflowError`, коли рядок або число з плаваючою " +"комою занадто велике, щоб поміститися в ціле число. Це може призвести до " +"парадоксального результату, що ``isinstance(int(expression), int)`` є " +"хибним, але це навряд чи викличе проблеми на практиці." + +msgid "" +"Built-in types now support the extended slicing syntax, as described in " +"section :ref:`section-slices` of this document." +msgstr "" +"Вбудовані типи тепер підтримують розширений синтаксис нарізки, як описано в " +"розділі :ref:`section-slices` цього документа." + +msgid "" +"A new built-in function, ``sum(iterable, start=0)``, adds up the numeric " +"items in the iterable object and returns their sum. :func:`sum` only " +"accepts numbers, meaning that you can't use it to concatenate a bunch of " +"strings. (Contributed by Alex Martelli.)" +msgstr "" +"Нова вбудована функція, ``sum(iterable, start=0)``, додає числові елементи в " +"ітераційному об’єкті та повертає їхню суму. :func:`sum` приймає лише числа, " +"тобто ви не можете використовувати його для об’єднання рядків. (Надав Алекс " +"Мартеллі.)" + +msgid "" +"``list.insert(pos, value)`` used to insert *value* at the front of the list " +"when *pos* was negative. The behaviour has now been changed to be " +"consistent with slice indexing, so when *pos* is -1 the value will be " +"inserted before the last element, and so forth." +msgstr "" +"``list.insert(pos, value)`` використовувався для вставки *value* на початку " +"списку, коли *pos* було від’ємним. Поведінку тепер змінено для узгодження з " +"індексуванням фрагментів, тому, коли *pos* дорівнює -1, значення буде " +"вставлено перед останнім елементом і так далі." + +msgid "" +"``list.index(value)``, which searches for *value* within the list and " +"returns its index, now takes optional *start* and *stop* arguments to limit " +"the search to only part of the list." +msgstr "" +"``list.index(value)``, який шукає *value* у списку та повертає його індекс, " +"тепер приймає додаткові аргументи *start* і *stop*, щоб обмежити пошук лише " +"частиною списку." + +msgid "" +"Dictionaries have a new method, ``pop(key[, *default*])``, that returns the " +"value corresponding to *key* and removes that key/value pair from the " +"dictionary. If the requested key isn't present in the dictionary, *default* " +"is returned if it's specified and :exc:`KeyError` raised if it isn't. ::" +msgstr "" +"У словниках є новий метод, ``pop(key[, *default*])``, який повертає " +"значення, що відповідає *key*, і видаляє цю пару ключ/значення зі словника. " +"Якщо потрібний ключ відсутній у словнику, повертається *default*, якщо його " +"вказано, і :exc:`KeyError`, якщо його немає. ::" + +msgid "" +"There's also a new class method, ``dict.fromkeys(iterable, value)``, that " +"creates a dictionary with keys taken from the supplied iterator *iterable* " +"and all values set to *value*, defaulting to ``None``." +msgstr "" +"Існує також новий метод класу, ``dict.fromkeys(iterable, value)``, який " +"створює словник із ключами, взятими з наданого ітератора *iterable*, і всіма " +"значеннями, встановленими на *value*, за умовчанням ``None`` ." + +msgid "(Patches contributed by Raymond Hettinger.)" +msgstr "(Патчі надав Раймонд Геттінгер.)" + +msgid "" +"Also, the :func:`dict` constructor now accepts keyword arguments to simplify " +"creating small dictionaries::" +msgstr "" +"Крім того, конструктор :func:`dict` тепер приймає аргументи ключових слів " +"для спрощення створення невеликих словників::" + +msgid "(Contributed by Just van Rossum.)" +msgstr "(Надав Джаст ван Россум.)" + +msgid "" +"The :keyword:`assert` statement no longer checks the ``__debug__`` flag, so " +"you can no longer disable assertions by assigning to ``__debug__``. Running " +"Python with the :option:`-O` switch will still generate code that doesn't " +"execute any assertions." +msgstr "" +"Оператор :keyword:`assert` більше не перевіряє прапорець ``__debug__``, тому " +"ви більше не можете вимкнути твердження, призначивши ``__debug__``. Запуск " +"Python із перемикачем :option:`-O` усе одно генеруватиме код, який не " +"виконує жодних тверджень." + +msgid "" +"Most type objects are now callable, so you can use them to create new " +"objects such as functions, classes, and modules. (This means that the :mod:" +"`new` module can be deprecated in a future Python version, because you can " +"now use the type objects available in the :mod:`types` module.) For example, " +"you can create a new module object with the following code:" +msgstr "" +"Більшість об’єктів типу тепер можна викликати, тому ви можете " +"використовувати їх для створення нових об’єктів, таких як функції, класи та " +"модулі. (Це означає, що модуль :mod:`new` може бути застарілим у майбутній " +"версії Python, оскільки тепер ви можете використовувати об’єкти типу, " +"доступні в модулі :mod:`types`.) Наприклад, ви можете створити новий модуль " +"об'єкт із таким кодом:" + +msgid "" +"A new warning, :exc:`PendingDeprecationWarning` was added to indicate " +"features which are in the process of being deprecated. The warning will " +"*not* be printed by default. To check for use of features that will be " +"deprecated in the future, supply :option:`-Walways::" +"PendingDeprecationWarning:: <-W>` on the command line or use :func:`warnings." +"filterwarnings`." +msgstr "" +"Було додано нове попередження :exc:`PendingDeprecationWarning`, щоб вказати " +"на функції, які перебувають у процесі припинення підтримки. За замовчуванням " +"попередження *не* друкуватиметься. Щоб перевірити використання функцій, які " +"в майбутньому будуть припинені, укажіть :option:`-Walways::" +"PendingDeprecationWarning:: <-W>` у командному рядку або скористайтеся :func:" +"`warnings.filterwarnings`." + +msgid "" +"The process of deprecating string-based exceptions, as in ``raise \"Error " +"occurred\"``, has begun. Raising a string will now trigger :exc:" +"`PendingDeprecationWarning`." +msgstr "" +"Процес припинення винятків на основі рядків, як у ``підвищення \"Сталася " +"помилка\"``, розпочато. Підвищення рядка тепер ініціює :exc:" +"`PendingDeprecationWarning`." + +msgid "" +"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " +"warning. In a future version of Python, ``None`` may finally become a " +"keyword." +msgstr "" +"Використання ``None`` як назви змінної тепер призведе до попередження :exc:" +"`SyntaxWarning`. У майбутній версії Python ``None`` може нарешті стати " +"ключовим словом." + +msgid "" +"The :meth:`xreadlines` method of file objects, introduced in Python 2.1, is " +"no longer necessary because files now behave as their own iterator. :meth:" +"`xreadlines` was originally introduced as a faster way to loop over all the " +"lines in a file, but now you can simply write ``for line in file_obj``. File " +"objects also have a new read-only :attr:`encoding` attribute that gives the " +"encoding used by the file; Unicode strings written to the file will be " +"automatically converted to bytes using the given encoding." +msgstr "" +"Метод :meth:`xreadlines` файлових об’єктів, представлений у Python 2.1, " +"більше не потрібен, оскільки файли тепер поводяться як власний ітератор. :" +"meth:`xreadlines` спочатку було представлено як швидший спосіб циклічного " +"перегляду всіх рядків у файлі, але тепер ви можете просто написати ``for " +"line in file_obj``. Файлові об’єкти також мають новий атрибут :attr:" +"`encoding`, доступний лише для читання, який надає кодування, яке " +"використовується файлом; Рядки Unicode, записані у файл, будуть автоматично " +"перетворені на байти з використанням заданого кодування." + +msgid "" +"The method resolution order used by new-style classes has changed, though " +"you'll only notice the difference if you have a really complicated " +"inheritance hierarchy. Classic classes are unaffected by this change. " +"Python 2.2 originally used a topological sort of a class's ancestors, but " +"2.3 now uses the C3 algorithm as described in the paper `\"A Monotonic " +"Superclass Linearization for Dylan\" `_. To understand the motivation for this " +"change, read Michele Simionato's article `\"Python 2.3 Method Resolution " +"Order\" `_, or read the " +"thread on python-dev starting with the message at https://mail.python.org/" +"pipermail/python-dev/2002-October/029035.html. Samuele Pedroni first pointed " +"out the problem and also implemented the fix by coding the C3 algorithm." +msgstr "" + +msgid "" +"Python runs multithreaded programs by switching between threads after " +"executing N bytecodes. The default value for N has been increased from 10 " +"to 100 bytecodes, speeding up single-threaded applications by reducing the " +"switching overhead. Some multithreaded applications may suffer slower " +"response time, but that's easily fixed by setting the limit back to a lower " +"number using ``sys.setcheckinterval(N)``. The limit can be retrieved with " +"the new :func:`sys.getcheckinterval` function." +msgstr "" +"Python запускає багатопотокові програми, перемикаючись між потоками після " +"виконання N байт-кодів. Значення за замовчуванням для N було збільшено з 10 " +"до 100 байт-кодів, що прискорює однопотокові програми за рахунок зменшення " +"накладних витрат на перемикання. Деякі багатопотокові програми можуть " +"страждати від повільнішого часу відповіді, але це легко виправити, " +"установивши обмеження на нижче значення за допомогою ``sys." +"setcheckinterval(N)``. Обмеження можна отримати за допомогою нової функції :" +"func:`sys.getcheckinterval`." + +msgid "" +"One minor but far-reaching change is that the names of extension types " +"defined by the modules included with Python now contain the module and a " +"``'.'`` in front of the type name. For example, in Python 2.2, if you " +"created a socket and printed its :attr:`__class__`, you'd get this output::" +msgstr "" +"Одна незначна, але далекосяжна зміна полягає в тому, що назви типів " +"розширень, визначені модулями, що входять до складу Python, тепер містять " +"модуль і ``'.'`` перед назвою типу. Наприклад, у Python 2.2, якщо ви " +"створили сокет і надрукували його :attr:`__class__`, ви отримаєте такий " +"результат::" + +msgid "In 2.3, you get this::" +msgstr "У 2.3 ви отримаєте наступне:" + +msgid "" +"One of the noted incompatibilities between old- and new-style classes has " +"been removed: you can now assign to the :attr:`~definition.__name__` and :" +"attr:`~class.__bases__` attributes of new-style classes. There are some " +"restrictions on what can be assigned to :attr:`~class.__bases__` along the " +"lines of those relating to assigning to an instance's :attr:`~instance." +"__class__` attribute." +msgstr "" +"Одну із зазначених несумісностей між класами старого та нового стилів було " +"видалено: тепер ви можете призначати атрибути :attr:`~definition.__name__` " +"та :attr:`~class.__bases__` класів нового стилю. Існують деякі обмеження " +"щодо того, що можна призначити :attr:`~class.__bases__` відповідно до тих, " +"що стосуються присвоєння атрибуту :attr:`~instance.__class__` примірника." + +msgid "String Changes" +msgstr "Зміни рядків" + +msgid "" +"The :keyword:`in` operator now works differently for strings. Previously, " +"when evaluating ``X in Y`` where *X* and *Y* are strings, *X* could only be " +"a single character. That's now changed; *X* can be a string of any length, " +"and ``X in Y`` will return :const:`True` if *X* is a substring of *Y*. If " +"*X* is the empty string, the result is always :const:`True`. ::" +msgstr "" +"Оператор :keyword:`in` тепер працює інакше для рядків. Раніше під час " +"обчислення ``X в Y``, де *X* і *Y* є рядками, *X* міг бути лише одним " +"символом. Тепер це змінилося; *X* може бути рядком будь-якої довжини, і ``X " +"в Y`` поверне :const:`True`, якщо *X* є підрядком *Y*. Якщо *X* є порожнім " +"рядком, результат завжди буде :const:`True`. ::" + +msgid "" +"Note that this doesn't tell you where the substring starts; if you need that " +"information, use the :meth:`find` string method." +msgstr "" +"Зауважте, що це не говорить вам, де починається підрядок; якщо вам потрібна " +"ця інформація, скористайтеся методом рядка :meth:`find`." + +msgid "" +"The :meth:`strip`, :meth:`lstrip`, and :meth:`rstrip` string methods now " +"have an optional argument for specifying the characters to strip. The " +"default is still to remove all whitespace characters::" +msgstr "" +"Рядкові методи :meth:`strip`, :meth:`lstrip` і :meth:`rstrip` тепер мають " +"додатковий аргумент для вказівки символів, які потрібно видалити. За " +"замовчуванням усе ще видаляються всі пробіли::" + +msgid "(Suggested by Simon Brunning and implemented by Walter Dörwald.)" +msgstr "" +"(Запропоновано Саймоном Бруннінгом і реалізовано Вальтером Дорвальдом.)" + +msgid "" +"The :meth:`startswith` and :meth:`endswith` string methods now accept " +"negative numbers for the *start* and *end* parameters." +msgstr "" +"Рядкові методи :meth:`startswith` і :meth:`endswith` тепер приймають " +"від’ємні числа для параметрів *start* і *end*." + +msgid "" +"Another new string method is :meth:`zfill`, originally a function in the :" +"mod:`string` module. :meth:`zfill` pads a numeric string with zeros on the " +"left until it's the specified width. Note that the ``%`` operator is still " +"more flexible and powerful than :meth:`zfill`. ::" +msgstr "" +"Іншим новим методом рядків є :meth:`zfill`, спочатку функція в модулі :mod:" +"`string`. :meth:`zfill` доповнює числовий рядок нулями зліва, доки він не " +"досягне заданої ширини. Зауважте, що оператор ``%`` все ще більш гнучкий і " +"потужніший, ніж :meth:`zfill`. ::" + +msgid "(Contributed by Walter Dörwald.)" +msgstr "(Надав Вальтер Дьорвальд.)" + +msgid "" +"A new type object, :class:`basestring`, has been added. Both 8-bit strings " +"and Unicode strings inherit from this type, so ``isinstance(obj, " +"basestring)`` will return :const:`True` for either kind of string. It's a " +"completely abstract type, so you can't create :class:`basestring` instances." +msgstr "" +"Додано новий об’єкт типу :class:`basestring`. І 8-бітні рядки, і рядки " +"Unicode успадковують цей тип, тому ``isinstance(obj, basestring)`` поверне :" +"const:`True` для будь-якого типу рядка. Це повністю абстрактний тип, тому ви " +"не можете створити екземпляри :class:`basestring`." + +msgid "" +"Interned strings are no longer immortal and will now be garbage-collected in " +"the usual way when the only reference to them is from the internal " +"dictionary of interned strings. (Implemented by Oren Tirosh.)" +msgstr "" +"Внутрішні рядки більше не є безсмертними і тепер збиратимуть сміття у " +"звичайний спосіб, якщо єдине посилання на них міститься у внутрішньому " +"словнику інтернованих рядків. (Реалізовано Ореном Тірошем.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The creation of new-style class instances has been made much faster; they're " +"now faster than classic classes!" +msgstr "" +"Створення екземплярів класу нового стилю стало набагато швидшим; тепер вони " +"швидше, ніж класичні заняття!" + +msgid "" +"The :meth:`sort` method of list objects has been extensively rewritten by " +"Tim Peters, and the implementation is significantly faster." +msgstr "" +"Метод :meth:`sort` для об’єктів списку був значною мірою переписаний Тімом " +"Пітерсом, і реалізація значно швидша." + +msgid "" +"Multiplication of large long integers is now much faster thanks to an " +"implementation of Karatsuba multiplication, an algorithm that scales better " +"than the O(n\\*n) required for the grade-school multiplication algorithm. " +"(Original patch by Christopher A. Craig, and significantly reworked by Tim " +"Peters.)" +msgstr "" +"Множення великих довгих цілих чисел тепер набагато швидше завдяки реалізації " +"множення Карацуби, алгоритму, який масштабується краще, ніж O(n\\*n), " +"необхідний для алгоритму множення початкової школи. (Оригінальний патч " +"Крістофера А. Крейга та значно перероблений Тімом Пітерсом.)" + +msgid "" +"The ``SET_LINENO`` opcode is now gone. This may provide a small speed " +"increase, depending on your compiler's idiosyncrasies. See section :ref:" +"`23section-other` for a longer explanation. (Removed by Michael Hudson.)" +msgstr "" +"Код операції ``SET_LINENO`` тепер зник. Це може забезпечити невелике " +"збільшення швидкості, залежно від особливостей вашого компілятора. " +"Перегляньте розділ :ref:`23section-other` для більш детального пояснення. " +"(Вилучено Майклом Хадсоном.)" + +msgid "" +":func:`xrange` objects now have their own iterator, making ``for i in " +"xrange(n)`` slightly faster than ``for i in range(n)``. (Patch by Raymond " +"Hettinger.)" +msgstr "" +"Об’єкти :func:`xrange` тепер мають власний ітератор, що робить ``for i in " +"xrange(n)`` трохи швидшим, ніж ``for i in range(n)``. (Патч від Реймонда " +"Геттінгера.)" + +msgid "" +"A number of small rearrangements have been made in various hotspots to " +"improve performance, such as inlining a function or removing some code. " +"(Implemented mostly by GvR, but lots of people have contributed single " +"changes.)" +msgstr "" +"У різних гарячих точках було зроблено ряд невеликих змін, щоб покращити " +"продуктивність, як-от вбудовування функції або видалення деякого коду. " +"(Реалізовано переважно GvR, але багато людей внесли окремі зміни.)" + +msgid "" +"The net result of the 2.3 optimizations is that Python 2.3 runs the pystone " +"benchmark around 25% faster than Python 2.2." +msgstr "" +"Кінцевим результатом оптимізації 2.3 є те, що Python 2.3 виконує тест " +"pystone приблизно на 25% швидше, ніж Python 2.2." + +msgid "New, Improved, and Deprecated Modules" +msgstr "Нові, покращені та застарілі модулі" + +msgid "" +"As usual, Python's standard library received a number of enhancements and " +"bug fixes. Here's a partial list of the most notable changes, sorted " +"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the " +"source tree for a more complete list of changes, or look through the CVS " +"logs for all the details." +msgstr "" +"Як завжди, стандартна бібліотека Python отримала низку вдосконалень і " +"виправлень помилок. Ось неповний список найбільш помітних змін, " +"відсортованих за алфавітом назв модулів. Зверніться до файлу :file:`Misc/" +"NEWS` у дереві вихідних кодів, щоб отримати більш повний список змін, або " +"перегляньте журнали CVS, щоб отримати всі деталі." + +msgid "" +"The :mod:`array` module now supports arrays of Unicode characters using the " +"``'u'`` format character. Arrays also now support using the ``+=`` " +"assignment operator to add another array's contents, and the ``*=`` " +"assignment operator to repeat an array. (Contributed by Jason Orendorff.)" +msgstr "" +"Модуль :mod:`array` тепер підтримує масиви символів Unicode з використанням " +"символу формату ``'u'``. Масиви також тепер підтримують використання " +"оператора призначення ``+=`` для додавання вмісту іншого масиву та оператора " +"призначення ``*=`` для повторення масиву. (Надав Джейсон Орендорф.)" + +msgid "" +"The :mod:`bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB " +"`_ package, providing a more complete " +"interface to the transactional features of the BerkeleyDB library." +msgstr "" + +msgid "" +"The old version of the module has been renamed to :mod:`bsddb185` and is no " +"longer built automatically; you'll have to edit :file:`Modules/Setup` to " +"enable it. Note that the new :mod:`bsddb` package is intended to be " +"compatible with the old module, so be sure to file bugs if you discover any " +"incompatibilities. When upgrading to Python 2.3, if the new interpreter is " +"compiled with a new version of the underlying BerkeleyDB library, you will " +"almost certainly have to convert your database files to the new version. " +"You can do this fairly easily with the new scripts :file:`db2pickle.py` and :" +"file:`pickle2db.py` which you will find in the distribution's :file:`Tools/" +"scripts` directory. If you've already been using the PyBSDDB package and " +"importing it as :mod:`bsddb3`, you will have to change your ``import`` " +"statements to import it as :mod:`bsddb`." +msgstr "" +"Стару версію модуля було перейменовано на :mod:`bsddb185` і більше не " +"створюється автоматично; вам доведеться відредагувати :file:`Modules/Setup`, " +"щоб увімкнути його. Зауважте, що новий пакет :mod:`bsddb` призначений для " +"сумісності зі старим модулем, тому обов’язково повідомляйте про помилки, " +"якщо виявите будь-яку несумісність. Під час оновлення до Python 2.3, якщо " +"новий інтерпретатор скомпільовано з новою версією основної бібліотеки " +"BerkeleyDB, вам майже напевно доведеться конвертувати файли вашої бази даних " +"у нову версію. Ви можете зробити це досить легко за допомогою нових " +"скриптів :file:`db2pickle.py` і :file:`pickle2db.py`, які ви знайдете в " +"каталозі :file:`Tools/scripts` дистрибутива. Якщо ви вже використовували " +"пакет PyBSDDB та імпортували його як :mod:`bsddb3`, вам доведеться змінити " +"ваші оператори ``import``, щоб імпортувати його як :mod:`bsddb`." + +msgid "" +"The new :mod:`bz2` module is an interface to the bz2 data compression " +"library. bz2-compressed data is usually smaller than corresponding :mod:" +"`zlib`\\ -compressed data. (Contributed by Gustavo Niemeyer.)" +msgstr "" +"Новий модуль :mod:`bz2` є інтерфейсом до бібліотеки стиснення даних bz2. bz2-" +"стиснуті дані зазвичай менші за відповідні :mod:`zlib`\\ -стиснуті дані. " +"(Надав Густаво Німейєр.)" + +msgid "" +"A set of standard date/time types has been added in the new :mod:`datetime` " +"module. See the following section for more details." +msgstr "" +"У новий модуль :mod:`datetime` додано набір стандартних типів дати/часу. " +"Перегляньте наступний розділ для отримання додаткової інформації." + +msgid "" +"The Distutils :class:`Extension` class now supports an extra constructor " +"argument named *depends* for listing additional source files that an " +"extension depends on. This lets Distutils recompile the module if any of " +"the dependency files are modified. For example, if :file:`sampmodule.c` " +"includes the header file :file:`sample.h`, you would create the :class:" +"`Extension` object like this::" +msgstr "" +"Клас Distutils :class:`Extension` тепер підтримує додатковий аргумент " +"конструктора під назвою *depends* для переліку додаткових вихідних файлів, " +"від яких залежить розширення. Це дозволяє Distutils перекомпілювати модуль, " +"якщо будь-який із файлів залежностей змінено. Наприклад, якщо :file:" +"`sampmodule.c` містить файл заголовка :file:`sample.h`, ви повинні створити " +"об’єкт :class:`Extension` таким чином:" + +msgid "" +"Modifying :file:`sample.h` would then cause the module to be recompiled. " +"(Contributed by Jeremy Hylton.)" +msgstr "" +"Зміна :file:`sample.h` призведе до перекомпіляції модуля. (Надав Джеремі " +"Гілтон.)" + +msgid "" +"Other minor changes to Distutils: it now checks for the :envvar:`CC`, :" +"envvar:`CFLAGS`, :envvar:`CPP`, :envvar:`LDFLAGS`, and :envvar:`CPPFLAGS` " +"environment variables, using them to override the settings in Python's " +"configuration (contributed by Robert Weber)." +msgstr "" +"Інші незначні зміни в Distutils: тепер він перевіряє змінні середовища :" +"envvar:`CC`, :envvar:`CFLAGS`, :envvar:`CPP`, :envvar:`LDFLAGS` і :envvar:" +"`CPPFLAGS`, використовуючи їх, щоб замінити налаштування в конфігурації " +"Python (надано Робертом Вебером)." + +msgid "" +"Previously the :mod:`doctest` module would only search the docstrings of " +"public methods and functions for test cases, but it now also examines " +"private ones as well. The :func:`DocTestSuite` function creates a :class:" +"`unittest.TestSuite` object from a set of :mod:`doctest` tests." +msgstr "" +"Раніше модуль :mod:`doctest` шукав лише тестові рядки загальнодоступних " +"методів і функцій, але тепер він перевіряє й приватні. Функція :func:" +"`DocTestSuite` створює об’єкт :class:`unittest.TestSuite` з набору тестів :" +"mod:`doctest`." + +msgid "" +"The new ``gc.get_referents(object)`` function returns a list of all the " +"objects referenced by *object*." +msgstr "" +"Нова функція ``gc.get_referents(object)`` повертає список усіх об’єктів, на " +"які посилається *object*." + +msgid "" +"The :mod:`getopt` module gained a new function, :func:`gnu_getopt`, that " +"supports the same arguments as the existing :func:`getopt` function but uses " +"GNU-style scanning mode. The existing :func:`getopt` stops processing " +"options as soon as a non-option argument is encountered, but in GNU-style " +"mode processing continues, meaning that options and arguments can be mixed. " +"For example::" +msgstr "" +"Модуль :mod:`getopt` отримав нову функцію, :func:`gnu_getopt`, яка підтримує " +"ті самі аргументи, що й існуюча функція :func:`getopt`, але використовує " +"режим сканування у стилі GNU. Існуючий :func:`getopt` припиняє обробку " +"параметрів, щойно зустрічається аргумент, що не є параметром, але в режимі " +"стилю GNU обробка продовжується, тобто параметри та аргументи можуть " +"змішуватися. Наприклад::" + +msgid "(Contributed by Peter Åstrand.)" +msgstr "(Надав Пітер Естранд.)" + +msgid "" +"The :mod:`grp`, :mod:`pwd`, and :mod:`resource` modules now return enhanced " +"tuples::" +msgstr "" +"Модулі :mod:`grp`, :mod:`pwd` і :mod:`resource` тепер повертають розширені " +"кортежі::" + +msgid "The :mod:`gzip` module can now handle files exceeding 2 GiB." +msgstr "Модуль :mod:`gzip` тепер може обробляти файли розміром понад 2 ГіБ." + +msgid "" +"The new :mod:`heapq` module contains an implementation of a heap queue " +"algorithm. A heap is an array-like data structure that keeps items in a " +"partially sorted order such that, for every index *k*, ``heap[k] <= heap[2*k" +"+1]`` and ``heap[k] <= heap[2*k+2]``. This makes it quick to remove the " +"smallest item, and inserting a new item while maintaining the heap property " +"is O(lg n). (See https://xlinux.nist.gov/dads//HTML/priorityque.html for " +"more information about the priority queue data structure.)" +msgstr "" +"Новий модуль :mod:`heapq` містить реалізацію алгоритму черги купи. Купа — це " +"масивоподібна структура даних, яка зберігає елементи в частково " +"відсортованому порядку, щоб для кожного індексу *k* \"купа[k] <= купа[2*k" +"+1]\" і \"купа[ k] <= купа[2*k+2]``. Це дозволяє швидко видалити найменший " +"елемент, а вставити новий елемент, зберігаючи властивість купи, становить " +"O(lg n). (Див. https://xlinux.nist.gov/dads//HTML/priorityque.html, щоб " +"дізнатися більше про структуру даних пріоритетної черги.)" + +msgid "" +"The :mod:`heapq` module provides :func:`heappush` and :func:`heappop` " +"functions for adding and removing items while maintaining the heap property " +"on top of some other mutable Python sequence type. Here's an example that " +"uses a Python list::" +msgstr "" +"Модуль :mod:`heapq` надає функції :func:`heappush` і :func:`heappop` для " +"додавання та видалення елементів, зберігаючи при цьому властивість купи " +"поверх іншого змінного типу послідовності Python. Ось приклад використання " +"списку Python::" + +msgid "(Contributed by Kevin O'Connor.)" +msgstr "(Надав Кевін О'Коннор.)" + +msgid "" +"The IDLE integrated development environment has been updated using the code " +"from the IDLEfork project (http://idlefork.sourceforge.net). The most " +"notable feature is that the code being developed is now executed in a " +"subprocess, meaning that there's no longer any need for manual ``reload()`` " +"operations. IDLE's core code has been incorporated into the standard library " +"as the :mod:`idlelib` package." +msgstr "" +"Інтегроване середовище розробки IDLE оновлено за допомогою коду проекту " +"IDLEfork (http://idlefork.sourceforge.net). Найбільш помітною особливістю є " +"те, що код, який розробляється, тепер виконується у підпроцесі, що означає, " +"що більше немає потреби в ручних операціях ``reload()``. Код ядра IDLE було " +"включено до стандартної бібліотеки як пакет :mod:`idlelib`." + +msgid "" +"The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " +"Lauder and Tino Lange.)" +msgstr "" +"Модуль :mod:`imaplib` тепер підтримує IMAP через SSL. (Пірс Лаудер і Тіно " +"Ланге.)" + +msgid "" +"The :mod:`itertools` contains a number of useful functions for use with " +"iterators, inspired by various functions provided by the ML and Haskell " +"languages. For example, ``itertools.ifilter(predicate, iterator)`` returns " +"all elements in the iterator for which the function :func:`predicate` " +"returns :const:`True`, and ``itertools.repeat(obj, N)`` returns ``obj`` *N* " +"times. There are a number of other functions in the module; see the " +"package's reference documentation for details. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +":mod:`itertools` містить низку корисних функцій для використання з " +"ітераторами, натхненними різними функціями, наданими мовами ML і Haskell. " +"Наприклад, ``itertools.ifilter(predicate, iterator)`` повертає всі елементи " +"в ітераторі, для яких функція :func:`predicate` повертає :const:`True`, і " +"``itertools.repeat(obj, N)`` повертає ``obj`` *N* разів. У модулі є ряд " +"інших функцій; подробиці див. у довідковій документації пакета. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +"Two new functions in the :mod:`math` module, ``degrees(rads)`` and " +"``radians(degs)``, convert between radians and degrees. Other functions in " +"the :mod:`math` module such as :func:`math.sin` and :func:`math.cos` have " +"always required input values measured in radians. Also, an optional *base* " +"argument was added to :func:`math.log` to make it easier to compute " +"logarithms for bases other than ``e`` and ``10``. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +"Дві нові функції в модулі :mod:`math`, ``degrees(rads)`` і " +"``radians(degs)``, конвертують між радіанами та градусами. Інші функції в " +"модулі :mod:`math`, такі як :func:`math.sin` і :func:`math.cos`, завжди " +"вимагали вхідних значень, виміряних у радіанах. Також до :func:`math.log` " +"було додано необов’язковий аргумент *base*, щоб полегшити обчислення " +"логарифмів для основ, відмінних від ``e`` і ``10``. (Надав Реймонд " +"Геттінгер.)" + +msgid "" +"Several new POSIX functions (:func:`getpgid`, :func:`killpg`, :func:" +"`lchown`, :func:`loadavg`, :func:`major`, :func:`makedev`, :func:`minor`, " +"and :func:`mknod`) were added to the :mod:`posix` module that underlies the :" +"mod:`os` module. (Contributed by Gustavo Niemeyer, Geert Jansen, and Denis " +"S. Otkidach.)" +msgstr "" +"Кілька нових функцій POSIX (:func:`getpgid`, :func:`killpg`, :func:" +"`lchown`, :func:`loadavg`, :func:`major`, :func:`makedev`, :func:`minor` і :" +"func:`mknod`) були додані до модуля :mod:`posix`, який лежить в основі " +"модуля :mod:`os`. (Надано Густаво Німейєром, Гертом Янсеном і Денісом С. " +"Откидачем.)" + +msgid "" +"In the :mod:`os` module, the :func:`\\*stat` family of functions can now " +"report fractions of a second in a timestamp. Such time stamps are " +"represented as floats, similar to the value returned by :func:`time.time`." +msgstr "" +"У модулі :mod:`os` сімейство функцій :func:`\\*stat` тепер може повідомляти " +"частки секунди в мітці часу. Такі мітки часу представлені як числа з " +"плаваючою точкою, подібні до значення, яке повертає :func:`time.time`." + +msgid "" +"During testing, it was found that some applications will break if time " +"stamps are floats. For compatibility, when using the tuple interface of " +"the :class:`stat_result` time stamps will be represented as integers. When " +"using named fields (a feature first introduced in Python 2.2), time stamps " +"are still represented as integers, unless :func:`os.stat_float_times` is " +"invoked to enable float return values::" +msgstr "" +"Під час тестування було виявлено, що деякі програми працюватимуть з ладу, " +"якщо мітки часу будуть плаваючими. Для сумісності під час використання " +"інтерфейсу кортежу позначки часу :class:`stat_result` будуть представлені як " +"цілі числа. Під час використання іменованих полів (функція, вперше " +"представлена в Python 2.2), мітки часу все ще представлені як цілі числа, " +"якщо тільки :func:`os.stat_float_times` не викликається, щоб увімкнути " +"значення, що повертаються:" + +msgid "In Python 2.4, the default will change to always returning floats." +msgstr "" +"У Python 2.4 значення за замовчуванням зміниться на завжди повертати числа з " +"плаваючою точкою." + +msgid "" +"Application developers should enable this feature only if all their " +"libraries work properly when confronted with floating point time stamps, or " +"if they use the tuple API. If used, the feature should be activated on an " +"application level instead of trying to enable it on a per-use basis." +msgstr "" +"Розробникам програм слід увімкнути цю функцію, лише якщо всі їхні бібліотеки " +"працюють належним чином, коли вони стикаються з мітками часу з плаваючою " +"комою, або якщо вони використовують API кортежу. У разі використання цю " +"функцію слід активувати на рівні програми, а не намагатися ввімкнути її для " +"кожного окремого використання." + +msgid "" +"The :mod:`optparse` module contains a new parser for command-line arguments " +"that can convert option values to a particular Python type and will " +"automatically generate a usage message. See the following section for more " +"details." +msgstr "" +"Модуль :mod:`optparse` містить новий синтаксичний аналізатор аргументів " +"командного рядка, який може конвертувати значення параметрів у певний тип " +"Python і автоматично генеруватиме повідомлення про використання. Перегляньте " +"наступний розділ для отримання додаткової інформації." + +msgid "" +"The old and never-documented :mod:`linuxaudiodev` module has been " +"deprecated, and a new version named :mod:`ossaudiodev` has been added. The " +"module was renamed because the OSS sound drivers can be used on platforms " +"other than Linux, and the interface has also been tidied and brought up to " +"date in various ways. (Contributed by Greg Ward and Nicholas FitzRoy-Dale.)" +msgstr "" +"Старий і ніколи не задокументований модуль :mod:`linuxaudiodev` було визнано " +"застарілим і додано нову версію під назвою :mod:`ossaudiodev`. Модуль було " +"перейменовано, тому що звукові драйвери OSS можна використовувати на " +"платформах, відмінних від Linux, і інтерфейс також було впорядковано та " +"оновлено різними способами. (Надано Грегом Уордом і Ніколасом ФітцРой-" +"Дейлом.)" + +msgid "" +"The new :mod:`platform` module contains a number of functions that try to " +"determine various properties of the platform you're running on. There are " +"functions for getting the architecture, CPU type, the Windows OS version, " +"and even the Linux distribution version. (Contributed by Marc-André Lemburg.)" +msgstr "" +"Новий модуль :mod:`platform` містить ряд функцій, які намагаються визначити " +"різні властивості платформи, на якій ви працюєте. Є функції для отримання " +"архітектури, типу ЦП, версії ОС Windows і навіть версії дистрибутива Linux. " +"(Надав Марк-Андре Лембург.)" + +msgid "" +"The parser objects provided by the :mod:`pyexpat` module can now optionally " +"buffer character data, resulting in fewer calls to your character data " +"handler and therefore faster performance. Setting the parser object's :attr:" +"`buffer_text` attribute to :const:`True` will enable buffering." +msgstr "" +"Об’єкти синтаксичного аналізатора, надані модулем :mod:`pyexpat`, тепер " +"можуть додатково буферизувати символьні дані, що призводить до меншої " +"кількості викликів вашого обробника символьних даних і, отже, до швидшої " +"роботи. Встановлення атрибута :attr:`buffer_text` об’єкта парсера на :const:" +"`True` увімкне буферизацію." + +msgid "" +"The ``sample(population, k)`` function was added to the :mod:`random` " +"module. *population* is a sequence or :class:`xrange` object containing the " +"elements of a population, and :func:`sample` chooses *k* elements from the " +"population without replacing chosen elements. *k* can be any value up to " +"``len(population)``. For example::" +msgstr "" +"До модуля :mod:`random` додано функцію ``sample(population, k)``. " +"*population* — це послідовність або об’єкт :class:`xrange`, що містить " +"елементи сукупності, а :func:`sample` вибирає *k* елементів із сукупності " +"без заміни вибраних елементів. *k* може бути будь-яким значенням до " +"``len(population)``. Наприклад::" + +msgid "" +"The :mod:`random` module now uses a new algorithm, the Mersenne Twister, " +"implemented in C. It's faster and more extensively studied than the " +"previous algorithm." +msgstr "" +"Модуль :mod:`random` тепер використовує новий алгоритм, Mersenne Twister, " +"реалізований у C. Він швидший і детальніше вивчений, ніж попередній алгоритм." + +msgid "(All changes contributed by Raymond Hettinger.)" +msgstr "(Усі зміни внесено Реймондом Геттінгером.)" + +msgid "" +"The :mod:`readline` module also gained a number of new functions: :func:" +"`get_history_item`, :func:`get_current_history_length`, and :func:" +"`redisplay`." +msgstr "" +"Модуль :mod:`readline` також отримав низку нових функцій: :func:" +"`get_history_item`, :func:`get_current_history_length` і :func:`redisplay`." + +msgid "" +"The :mod:`rexec` and :mod:`Bastion` modules have been declared dead, and " +"attempts to import them will fail with a :exc:`RuntimeError`. New-style " +"classes provide new ways to break out of the restricted execution " +"environment provided by :mod:`rexec`, and no one has interest in fixing them " +"or time to do so. If you have applications using :mod:`rexec`, rewrite them " +"to use something else." +msgstr "" +"Модулі :mod:`rexec` і :mod:`Bastion` оголошено мертвими, і спроби їх " +"імпортувати будуть невдалими з :exc:`RuntimeError`. Класи нового стилю " +"надають нові способи виходу з обмеженого середовища виконання, наданого :mod:" +"`rexec`, і ніхто не зацікавлений у їх виправленні чи часу для цього. Якщо у " +"вас є програми, які використовують :mod:`rexec`, перепишіть їх, щоб " +"використовувати щось інше." + +msgid "" +"(Sticking with Python 2.2 or 2.1 will not make your applications any safer " +"because there are known bugs in the :mod:`rexec` module in those versions. " +"To repeat: if you're using :mod:`rexec`, stop using it immediately.)" +msgstr "" +"(Дотримання Python 2.2 або 2.1 не зробить ваші програми безпечнішими, " +"оскільки в модулі :mod:`rexec` у цих версіях є відомі помилки. Повторюю: " +"якщо ви використовуєте :mod:`rexec`, припиніть його використовувати негайно.)" + +msgid "" +"The :mod:`rotor` module has been deprecated because the algorithm it uses " +"for encryption is not believed to be secure. If you need encryption, use " +"one of the several AES Python modules that are available separately." +msgstr "" +"Модуль :mod:`rotor` застарів, оскільки алгоритм, який він використовує для " +"шифрування, вважається небезпечним. Якщо вам потрібне шифрування, " +"скористайтеся одним із кількох модулів AES Python, які доступні окремо." + +msgid "" +"The :mod:`shutil` module gained a ``move(src, dest)`` function that " +"recursively moves a file or directory to a new location." +msgstr "" +"Модуль :mod:`shutil` отримав функцію ``move(src, dest)``, яка рекурсивно " +"переміщує файл або каталог до нового розташування." + +msgid "" +"Support for more advanced POSIX signal handling was added to the :mod:" +"`signal` but then removed again as it proved impossible to make it work " +"reliably across platforms." +msgstr "" +"Підтримку вдосконаленої обробки сигналів POSIX було додано до :mod:`signal`, " +"але потім знову вилучено, оскільки виявилося неможливим забезпечити його " +"надійну роботу на різних платформах." + +msgid "" +"The :mod:`socket` module now supports timeouts. You can call the " +"``settimeout(t)`` method on a socket object to set a timeout of *t* seconds. " +"Subsequent socket operations that take longer than *t* seconds to complete " +"will abort and raise a :exc:`socket.timeout` exception." +msgstr "" +"Модуль :mod:`socket` тепер підтримує тайм-аути. Ви можете викликати метод " +"``settimeout(t)`` для об’єкта сокета, щоб встановити час очікування *t* " +"секунд. Подальші операції з сокетом, які тривають більше *t* секунд, " +"перериваються та викликають виняток :exc:`socket.timeout`." + +msgid "" +"The original timeout implementation was by Tim O'Malley. Michael Gilfix " +"integrated it into the Python :mod:`socket` module and shepherded it through " +"a lengthy review. After the code was checked in, Guido van Rossum rewrote " +"parts of it. (This is a good example of a collaborative development process " +"in action.)" +msgstr "" +"Оригінальна реалізація тайм-ауту була створена Тімом О'Меллі. Майкл Гілфікс " +"інтегрував його в модуль Python :mod:`socket` і перевірив його через довгий " +"огляд. Після перевірки коду Гвідо ван Россум переписав його частини. (Це " +"хороший приклад процесу спільної розробки в дії.)" + +msgid "" +"On Windows, the :mod:`socket` module now ships with Secure Sockets Layer " +"(SSL) support." +msgstr "" +"У Windows модуль :mod:`socket` тепер поставляється з підтримкою Secure " +"Sockets Layer (SSL)." + +msgid "" +"The value of the C :const:`PYTHON_API_VERSION` macro is now exposed at the " +"Python level as ``sys.api_version``. The current exception can be cleared " +"by calling the new :func:`sys.exc_clear` function." +msgstr "" +"Значення макросу C :const:`PYTHON_API_VERSION` тепер доступне на рівні " +"Python як ``sys.api_version``. Поточний виняток можна очистити, викликавши " +"нову функцію :func:`sys.exc_clear`." + +msgid "" +"The new :mod:`tarfile` module allows reading from and writing to :program:" +"`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)" +msgstr "" +"Новий модуль :mod:`tarfile` дозволяє читати та записувати в архівні файли у " +"форматі :program:`tar`\\. (Надав Ларс Густебель.)" + +msgid "" +"The new :mod:`textwrap` module contains functions for wrapping strings " +"containing paragraphs of text. The ``wrap(text, width)`` function takes a " +"string and returns a list containing the text split into lines of no more " +"than the chosen width. The ``fill(text, width)`` function returns a single " +"string, reformatted to fit into lines no longer than the chosen width. (As " +"you can guess, :func:`fill` is built on top of :func:`wrap`. For example::" +msgstr "" +"Новий модуль :mod:`textwrap` містить функції для обтікання рядків, що " +"містять абзаци тексту. Функція ``wrap(text, width)`` приймає рядок і " +"повертає список, що містить текст, розбитий на рядки шириною не більше " +"вибраного. Функція ``fill(text, width)`` повертає один рядок, " +"переформатований, щоб поміститися в рядки, довжина яких не перевищує вибрану " +"ширину. (Як ви можете здогадатися, :func:`fill` створено на основі :func:" +"`wrap`. Наприклад::" + +msgid "" +"The module also contains a :class:`TextWrapper` class that actually " +"implements the text wrapping strategy. Both the :class:`TextWrapper` class " +"and the :func:`wrap` and :func:`fill` functions support a number of " +"additional keyword arguments for fine-tuning the formatting; consult the " +"module's documentation for details. (Contributed by Greg Ward.)" +msgstr "" +"Модуль також містить клас :class:`TextWrapper`, який фактично реалізує " +"стратегію обтікання текстом. Як клас :class:`TextWrapper`, так і функції :" +"func:`wrap` і :func:`fill` підтримують низку додаткових ключових аргументів " +"для точного налаштування форматування; подробиці дивіться в документації " +"модуля. (Надав Грег Ворд.)" + +msgid "" +"The :mod:`thread` and :mod:`threading` modules now have companion modules, :" +"mod:`dummy_thread` and :mod:`dummy_threading`, that provide a do-nothing " +"implementation of the :mod:`thread` module's interface for platforms where " +"threads are not supported. The intention is to simplify thread-aware " +"modules (ones that *don't* rely on threads to run) by putting the following " +"code at the top::" +msgstr "" +"Модулі :mod:`thread` і :mod:`threading` тепер мають супутні модулі, :mod:" +"`dummy_thread` і :mod:`dummy_threading`, які забезпечують бездіяльну " +"реалізацію модуля :mod:`thread` інтерфейс для платформ, де потоки не " +"підтримуються. Намір полягає в тому, щоб спростити модулі з підтримкою " +"потоків (ті, які *не* покладаються на виконання потоків), розмістивши " +"наступний код у верхній частині:" + +msgid "" +"In this example, :mod:`_threading` is used as the module name to make it " +"clear that the module being used is not necessarily the actual :mod:" +"`threading` module. Code can call functions and use classes in :mod:" +"`_threading` whether or not threads are supported, avoiding an :keyword:`if` " +"statement and making the code slightly clearer. This module will not " +"magically make multithreaded code run without threads; code that waits for " +"another thread to return or to do something will simply hang forever." +msgstr "" +"У цьому прикладі :mod:`_threading` використовується як назва модуля, щоб " +"зрозуміти, що використовуваний модуль не обов’язково є справжнім модулем :" +"mod:`threading`. Код може викликати функції та використовувати класи в :mod:" +"`_threading` незалежно від того, підтримуються потоки чи ні, уникаючи " +"оператора :keyword:`if` і роблячи код трохи зрозумілішим. Цей модуль " +"магічним чином не змусить багатопоточний код працювати без потоків; код, " +"який чекає, поки інший потік повернеться або щось зробить, просто зависне " +"назавжди." + +msgid "" +"The :mod:`time` module's :func:`strptime` function has long been an " +"annoyance because it uses the platform C library's :func:`strptime` " +"implementation, and different platforms sometimes have odd bugs. Brett " +"Cannon contributed a portable implementation that's written in pure Python " +"and should behave identically on all platforms." +msgstr "" +"Функція :func:`strptime` модуля :mod:`time` вже давно викликає " +"роздратування, оскільки вона використовує реалізацію :func:`strptime` " +"бібліотеки платформи C, і на різних платформах іноді трапляються дивні " +"помилки. Бретт Кеннон зробив внесок у портативну реалізацію, яка написана на " +"чистому Python і має однаково працювати на всіх платформах." + +msgid "" +"The new :mod:`timeit` module helps measure how long snippets of Python code " +"take to execute. The :file:`timeit.py` file can be run directly from the " +"command line, or the module's :class:`Timer` class can be imported and used " +"directly. Here's a short example that figures out whether it's faster to " +"convert an 8-bit string to Unicode by appending an empty Unicode string to " +"it or by using the :func:`unicode` function::" +msgstr "" +"Новий модуль :mod:`timeit` допомагає виміряти, скільки часу потрібно для " +"виконання фрагментів коду Python. Файл :file:`timeit.py` можна запустити " +"безпосередньо з командного рядка, або клас :class:`Timer` модуля можна " +"імпортувати та використовувати безпосередньо. Ось короткий приклад, який " +"показує, чи можна швидше перетворити 8-бітний рядок на Unicode, додавши до " +"нього порожній рядок Unicode або використовуючи функцію :func:`unicode`::" + +msgid "" +"The :mod:`Tix` module has received various bug fixes and updates for the " +"current version of the Tix package." +msgstr "" +"Модуль :mod:`Tix` отримав різні виправлення помилок і оновлення для поточної " +"версії пакета Tix." + +msgid "" +"The :mod:`Tkinter` module now works with a thread-enabled version of Tcl. " +"Tcl's threading model requires that widgets only be accessed from the thread " +"in which they're created; accesses from another thread can cause Tcl to " +"panic. For certain Tcl interfaces, :mod:`Tkinter` will now automatically " +"avoid this when a widget is accessed from a different thread by marshalling " +"a command, passing it to the correct thread, and waiting for the results. " +"Other interfaces can't be handled automatically but :mod:`Tkinter` will now " +"raise an exception on such an access so that you can at least find out about " +"the problem. See https://mail.python.org/pipermail/python-dev/2002-" +"December/031107.html for a more detailed explanation of this change. " +"(Implemented by Martin von Löwis.)" +msgstr "" +"Модуль :mod:`Tkinter` тепер працює з версією Tcl з підтримкою потоків. " +"Потокова модель Tcl вимагає, щоб доступ до віджетів здійснювався лише з " +"потоку, в якому вони створені; доступ з іншого потоку може спричинити паніку " +"Tcl. Для певних інтерфейсів Tcl :mod:`Tkinter` тепер автоматично уникатиме " +"цього, коли доступ до віджету здійснюється з іншого потоку, розподіляючи " +"команду, передаючи її правильному потоку та чекаючи на результати. Інші " +"інтерфейси не можна обробляти автоматично, але :mod:`Tkinter` тепер створить " +"виняток для такого доступу, щоб ви могли принаймні дізнатися про проблему. " +"Дивіться https://mail.python.org/pipermail/python-dev/2002-December/031107." +"html для більш детального пояснення цієї зміни. (Реалізовано Мартіном фон " +"Льовісом.)" + +msgid "" +"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. " +"Instead, if Tcl returns other objects those objects are converted to their " +"Python equivalent, if one exists, or wrapped with a :class:`_tkinter." +"Tcl_Obj` object if no Python equivalent exists. This behavior can be " +"controlled through the :meth:`wantobjects` method of :class:`tkapp` objects." +msgstr "" +"Виклик методів Tcl через :mod:`_tkinter` більше не повертає лише рядки. " +"Натомість, якщо Tcl повертає інші об’єкти, ці об’єкти перетворюються на " +"їхній еквівалент Python, якщо такий існує, або загортаються в об’єкт :class:" +"`_tkinter.Tcl_Obj`, якщо еквівалент Python не існує. Цією поведінкою можна " +"керувати за допомогою методу :meth:`wantobjects` об’єктів :class:`tkapp`." + +msgid "" +"When using :mod:`_tkinter` through the :mod:`Tkinter` module (as most " +"Tkinter applications will), this feature is always activated. It should not " +"cause compatibility problems, since Tkinter would always convert string " +"results to Python types where possible." +msgstr "" +"Під час використання :mod:`_tkinter` через модуль :mod:`Tkinter` (як у " +"більшості програм Tkinter), ця функція завжди активна. Це не повинно " +"викликати проблем із сумісністю, оскільки Tkinter завжди перетворюватиме " +"результати рядків у типи Python, де це можливо." + +msgid "" +"If any incompatibilities are found, the old behavior can be restored by " +"setting the :attr:`wantobjects` variable in the :mod:`Tkinter` module to " +"false before creating the first :class:`tkapp` object. ::" +msgstr "" +"Якщо буде виявлено будь-яку несумісність, стару поведінку можна відновити, " +"встановивши для змінної :attr:`wantobjects` у модулі :mod:`Tkinter` значення " +"false перед створенням першого об’єкта :class:`tkapp`. ::" + +msgid "Any breakage caused by this change should be reported as a bug." +msgstr "Будь-яку поломку, спричинену цією зміною, слід повідомити як помилку." + +msgid "" +"The :mod:`UserDict` module has a new :class:`DictMixin` class which defines " +"all dictionary methods for classes that already have a minimum mapping " +"interface. This greatly simplifies writing classes that need to be " +"substitutable for dictionaries, such as the classes in the :mod:`shelve` " +"module." +msgstr "" +"Модуль :mod:`UserDict` має новий клас :class:`DictMixin`, який визначає всі " +"методи словника для класів, які вже мають мінімальний інтерфейс " +"відображення. Це значно спрощує написання класів, які мають бути замінними " +"словниками, наприклад класів у модулі :mod:`shelve`." + +msgid "" +"Adding the mix-in as a superclass provides the full dictionary interface " +"whenever the class defines :meth:`__getitem__`, :meth:`__setitem__`, :meth:" +"`__delitem__`, and :meth:`keys`. For example::" +msgstr "" +"Додавання суміші як суперкласу надає повний інтерфейс словника щоразу, коли " +"клас визначає :meth:`__getitem__`, :meth:`__setitem__`, :meth:`__delitem__` " +"та :meth:`keys`. Наприклад::" + +msgid "(Contributed by Raymond Hettinger.)" +msgstr "(Надав Реймонд Геттінгер.)" + +msgid "" +"The DOM implementation in :mod:`xml.dom.minidom` can now generate XML output " +"in a particular encoding by providing an optional encoding argument to the :" +"meth:`toxml` and :meth:`toprettyxml` methods of DOM nodes." +msgstr "" +"Реалізація DOM у :mod:`xml.dom.minidom` тепер може генерувати вивід XML у " +"певному кодуванні, надаючи необов’язковий аргумент кодування для методів :" +"meth:`toxml` і :meth:`toprettyxml` вузлів DOM." + +msgid "" +"The :mod:`xmlrpclib` module now supports an XML-RPC extension for handling " +"nil data values such as Python's ``None``. Nil values are always supported " +"on unmarshalling an XML-RPC response. To generate requests containing " +"``None``, you must supply a true value for the *allow_none* parameter when " +"creating a :class:`Marshaller` instance." +msgstr "" +"Модуль :mod:`xmlrpclib` тепер підтримує розширення XML-RPC для обробки " +"нульових значень даних, таких як ``None`` Python. Нульові значення завжди " +"підтримуються при демаршалінгу відповіді XML-RPC. Щоб генерувати запити, які " +"містять ``None``, ви повинні вказати справжнє значення для параметра " +"*allow_none* під час створення екземпляра :class:`Marshaller`." + +msgid "" +"The new :mod:`DocXMLRPCServer` module allows writing self-documenting XML-" +"RPC servers. Run it in demo mode (as a program) to see it in action. " +"Pointing the web browser to the RPC server produces pydoc-style " +"documentation; pointing xmlrpclib to the server allows invoking the actual " +"methods. (Contributed by Brian Quinlan.)" +msgstr "" +"Новий модуль :mod:`DocXMLRPCServer` дозволяє писати самодокументовані " +"сервери XML-RPC. Запустіть його в демонстраційному режимі (як програму), щоб " +"побачити його в дії. Вказівка веб-браузера на сервер RPC створює " +"документацію в стилі pydoc; вказівка xmlrpclib на сервер дозволяє викликати " +"фактичні методи. (Надав Браян Квінлан.)" + +msgid "" +"Support for internationalized domain names (RFCs 3454, 3490, 3491, and 3492) " +"has been added. The \"idna\" encoding can be used to convert between a " +"Unicode domain name and the ASCII-compatible encoding (ACE) of that name. ::" +msgstr "" +"Додано підтримку інтернаціоналізованих доменних імен (RFC 3454, 3490, 3491 і " +"3492). Кодування \"idna\" можна використовувати для перетворення між " +"доменним іменем Unicode і ASCII-сумісним кодуванням (ACE) цього імені. ::" + +msgid "" +"The :mod:`socket` module has also been extended to transparently convert " +"Unicode hostnames to the ACE version before passing them to the C library. " +"Modules that deal with hostnames such as :mod:`httplib` and :mod:`ftplib`) " +"also support Unicode host names; :mod:`httplib` also sends HTTP ``Host`` " +"headers using the ACE version of the domain name. :mod:`urllib` supports " +"Unicode URLs with non-ASCII host names as long as the ``path`` part of the " +"URL is ASCII only." +msgstr "" +"Модуль :mod:`socket` також було розширено, щоб прозоро конвертувати імена " +"хостів Unicode у версію ACE перед передачею їх до бібліотеки C. Модулі, що " +"працюють з іменами хостів, наприклад :mod:`httplib` і :mod:`ftplib`), також " +"підтримують імена хостів Unicode; :mod:`httplib` також надсилає заголовки " +"HTTP ``Host``, використовуючи версію ACE доменного імені. :mod:`urllib` " +"підтримує Unicode URL-адреси з іменами хостів, відмінними від ASCII, якщо " +"частина URL-адреси ``path`` містить лише ASCII." + +msgid "" +"To implement this change, the :mod:`stringprep` module, the " +"``mkstringprep`` tool and the ``punycode`` encoding have been added." +msgstr "" +"Для впровадження цієї зміни було додано модуль :mod:`stringprep`, інструмент " +"``mkstringprep`` і кодування ``punycode``." + +msgid "Date/Time Type" +msgstr "Тип дати/часу" + +msgid "" +"Date and time types suitable for expressing timestamps were added as the :" +"mod:`datetime` module. The types don't support different calendars or many " +"fancy features, and just stick to the basics of representing time." +msgstr "" +"Типи дати та часу, придатні для вираження позначок часу, були додані як " +"модуль :mod:`datetime`. Типи не підтримують різні календарі чи багато модних " +"функцій і лише дотримуються основ представлення часу." + +msgid "" +"The three primary types are: :class:`date`, representing a day, month, and " +"year; :class:`~datetime.time`, consisting of hour, minute, and second; and :" +"class:`~datetime.datetime`, which contains all the attributes of both :class:" +"`date` and :class:`~datetime.time`. There's also a :class:`timedelta` class " +"representing differences between two points in time, and time zone logic is " +"implemented by classes inheriting from the abstract :class:`tzinfo` class." +msgstr "" +"Три основні типи: :class:`date`, що представляє день, місяць і рік; :class:" +"`~datetime.time`, що складається з години, хвилини та секунди; і :class:" +"`~datetime.datetime`, який містить усі атрибути як :class:`date`, так і :" +"class:`~datetime.time`. Існує також клас :class:`timedelta`, що представляє " +"різницю між двома точками в часі, а логіка часового поясу реалізована " +"класами, що успадковують абстрактний клас :class:`tzinfo`." + +msgid "" +"You can create instances of :class:`date` and :class:`~datetime.time` by " +"either supplying keyword arguments to the appropriate constructor, e.g. " +"``datetime.date(year=1972, month=10, day=15)``, or by using one of a number " +"of class methods. For example, the :meth:`date.today` class method returns " +"the current local date." +msgstr "" +"Ви можете створити екземпляри :class:`date` і :class:`~datetime.time`, " +"надавши аргументи ключового слова у відповідний конструктор, наприклад. " +"``datetime.date(year=1972, month=10, day=15)`` або за допомогою одного з " +"методів класу. Наприклад, метод класу :meth:`date.today` повертає поточну " +"місцеву дату." + +msgid "" +"Once created, instances of the date/time classes are all immutable. There " +"are a number of methods for producing formatted strings from objects::" +msgstr "" +"Після створення екземпляри класів дати/часу залишаються незмінними. Існує " +"кілька методів створення форматованих рядків з об'єктів:" + +msgid "" +"The :meth:`replace` method allows modifying one or more fields of a :class:" +"`date` or :class:`~datetime.datetime` instance, returning a new instance::" +msgstr "" +"Метод :meth:`replace` дозволяє змінювати одне або більше полів екземпляра :" +"class:`date` або :class:`~datetime.datetime`, повертаючи новий екземпляр:" + +msgid "" +"Instances can be compared, hashed, and converted to strings (the result is " +"the same as that of :meth:`isoformat`). :class:`date` and :class:`~datetime." +"datetime` instances can be subtracted from each other, and added to :class:" +"`timedelta` instances. The largest missing feature is that there's no " +"standard library support for parsing strings and getting back a :class:" +"`date` or :class:`~datetime.datetime`." +msgstr "" +"Екземпляри можна порівнювати, хешувати та перетворювати на рядки (результат " +"такий самий, як у :meth:`isoformat`). Екземпляри :class:`date` і :class:" +"`~datetime.datetime` можна відняти один від одного та додати до екземплярів :" +"class:`timedelta`. Найбільша відсутня функція полягає в тому, що немає " +"стандартної підтримки бібліотеки для аналізу рядків і повернення :class:" +"`date` або :class:`~datetime.datetime`." + +msgid "" +"For more information, refer to the module's reference documentation. " +"(Contributed by Tim Peters.)" +msgstr "" +"Для отримання додаткової інформації зверніться до довідкової документації " +"модуля. (Надав Тім Пітерс.)" + +msgid "The optparse Module" +msgstr "Модуль optparse" + +msgid "" +"The :mod:`getopt` module provides simple parsing of command-line arguments. " +"The new :mod:`optparse` module (originally named Optik) provides more " +"elaborate command-line parsing that follows the Unix conventions, " +"automatically creates the output for :option:`!--help`, and can perform " +"different actions for different options." +msgstr "" +"Модуль :mod:`getopt` забезпечує простий аналіз аргументів командного рядка. " +"Новий модуль :mod:`optparse` (початкова назва Optik) забезпечує більш " +"детальний аналіз командного рядка, який відповідає умовам Unix, автоматично " +"створює вихід для :option:`!--help` і може виконувати різні дії для різних " +"параметрів ." + +msgid "" +"You start by creating an instance of :class:`OptionParser` and telling it " +"what your program's options are. ::" +msgstr "" +"Ви починаєте зі створення екземпляра :class:`OptionParser` і повідомляєте " +"йому, які параметри вашої програми. ::" + +msgid "" +"Parsing a command line is then done by calling the :meth:`parse_args` " +"method. ::" +msgstr "" +"Розбір командного рядка потім виконується викликом методу :meth:" +"`parse_args`. ::" + +msgid "" +"This returns an object containing all of the option values, and a list of " +"strings containing the remaining arguments." +msgstr "" +"Це повертає об’єкт, що містить усі значення параметрів, і список рядків, що " +"містять решту аргументів." + +msgid "" +"Invoking the script with the various arguments now works as you'd expect it " +"to. Note that the length argument is automatically converted to an integer." +msgstr "" +"Виклик сценарію з різними аргументами тепер працює так, як ви очікували. " +"Зауважте, що аргумент довжини автоматично перетворюється на ціле число." + +msgid "The help message is automatically generated for you:" +msgstr "Довідкове повідомлення генерується для вас автоматично:" + +msgid "See the module's documentation for more details." +msgstr "Додаткову інформацію дивіться в документації модуля." + +msgid "" +"Optik was written by Greg Ward, with suggestions from the readers of the " +"Getopt SIG." +msgstr "Optik був написаний Грегом Уордом із пропозиціями читачів Getopt SIG." + +msgid "Pymalloc: A Specialized Object Allocator" +msgstr "Pymalloc: спеціалізований розподільник об’єктів" + +msgid "" +"Pymalloc, a specialized object allocator written by Vladimir Marangozov, was " +"a feature added to Python 2.1. Pymalloc is intended to be faster than the " +"system :c:func:`malloc` and to have less memory overhead for allocation " +"patterns typical of Python programs. The allocator uses C's :c:func:`malloc` " +"function to get large pools of memory and then fulfills smaller memory " +"requests from these pools." +msgstr "" +"Pymalloc, спеціалізований розподільник об’єктів, написаний Володимиром " +"Марангозовим, був функцією, доданою до Python 2.1. Pymalloc має бути швидшим " +"за системний :c:func:`malloc` і мати менше витрат пам’яті для шаблонів " +"розподілу, типових для програм Python. Розподільник використовує функцію C :" +"c:func:`malloc`, щоб отримати великі пули пам’яті, а потім виконує менші " +"запити пам’яті з цих пулів." + +msgid "" +"In 2.1 and 2.2, pymalloc was an experimental feature and wasn't enabled by " +"default; you had to explicitly enable it when compiling Python by providing " +"the :option:`!--with-pymalloc` option to the :program:`configure` script. " +"In 2.3, pymalloc has had further enhancements and is now enabled by default; " +"you'll have to supply :option:`!--without-pymalloc` to disable it." +msgstr "" +"У версіях 2.1 і 2.2 pymalloc був експериментальною функцією і не був " +"увімкнений за замовчуванням; ви повинні були явно ввімкнути його під час " +"компіляції Python, надавши опцію :option:`!--with-pymalloc` сценарію :" +"program:`configure`. У версії 2.3 pymalloc отримав додаткові вдосконалення, " +"і тепер він увімкнено за замовчуванням; вам доведеться вказати :option:`!--" +"without-pymalloc`, щоб вимкнути його." + +msgid "" +"This change is transparent to code written in Python; however, pymalloc may " +"expose bugs in C extensions. Authors of C extension modules should test " +"their code with pymalloc enabled, because some incorrect code may cause core " +"dumps at runtime." +msgstr "" +"Ця зміна прозора для коду, написаного на Python; однак pymalloc може виявити " +"помилки в розширеннях C. Автори модулів розширення C повинні протестувати " +"свій код із увімкненим pymalloc, оскільки деякий неправильний код може " +"спричинити дамп ядра під час виконання." + +msgid "" +"There's one particularly common error that causes problems. There are a " +"number of memory allocation functions in Python's C API that have previously " +"just been aliases for the C library's :c:func:`malloc` and :c:func:`free`, " +"meaning that if you accidentally called mismatched functions the error " +"wouldn't be noticeable. When the object allocator is enabled, these " +"functions aren't aliases of :c:func:`malloc` and :c:func:`free` any more, " +"and calling the wrong function to free memory may get you a core dump. For " +"example, if memory was allocated using :c:func:`PyObject_Malloc`, it has to " +"be freed using :c:func:`PyObject_Free`, not :c:func:`free`. A few modules " +"included with Python fell afoul of this and had to be fixed; doubtless there " +"are more third-party modules that will have the same problem." +msgstr "" +"Є одна особливо поширена помилка, яка викликає проблеми. В API C Python є " +"кілька функцій розподілу пам’яті, які раніше були лише псевдонімами :c:func:" +"`malloc` і :c:func:`free` бібліотеки C, тобто якщо ви випадково викликали " +"невідповідні функції, помилка не було б помітно. Коли розподільник об’єктів " +"увімкнено, ці функції більше не є псевдонімами :c:func:`malloc` і :c:func:" +"`free`, і виклик неправильної функції для звільнення пам’яті може призвести " +"до створення дампа ядра. Наприклад, якщо пам’ять було виділено за допомогою :" +"c:func:`PyObject_Malloc`, її потрібно звільнити за допомогою :c:func:" +"`PyObject_Free`, а не :c:func:`free`. Кілька модулів, що входять до складу " +"Python, вийшли з ладу, і їх потрібно було виправити; безсумнівно, є інші " +"сторонні модулі, які матимуть таку саму проблему." + +msgid "" +"As part of this change, the confusing multiple interfaces for allocating " +"memory have been consolidated down into two API families. Memory allocated " +"with one family must not be manipulated with functions from the other " +"family. There is one family for allocating chunks of memory and another " +"family of functions specifically for allocating Python objects." +msgstr "" +"У рамках цієї зміни незрозумілі кілька інтерфейсів для розподілу пам’яті " +"були об’єднані у дві сімейства API. Пам'яттю, виділеною для одного " +"сімейства, не можна маніпулювати функціями з іншого сімейства. Існує одне " +"сімейство для розподілу фрагментів пам’яті та інше сімейство функцій " +"спеціально для розподілу об’єктів Python." + +msgid "" +"To allocate and free an undistinguished chunk of memory use the \"raw memory" +"\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:" +"`PyMem_Free`." +msgstr "" +"Щоб виділити та звільнити нерозрізнену частину пам’яті, використовуйте " +"сімейство \"необробленої пам’яті\": :c:func:`PyMem_Malloc`, :c:func:" +"`PyMem_Realloc` і :c:func:`PyMem_Free`." + +msgid "" +"The \"object memory\" family is the interface to the pymalloc facility " +"described above and is biased towards a large number of \"small\" " +"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, and :c:" +"func:`PyObject_Free`." +msgstr "" +"Сімейство \"об’єктної пам’яті\" є інтерфейсом до описаного вище засобу " +"pymalloc і спрямоване на велику кількість \"маленьких\" розподілів: :c:func:" +"`PyObject_Malloc`, :c:func:`PyObject_Realloc` і :c:func:`PyObject_Free`." + +msgid "" +"To allocate and free Python objects, use the \"object\" family :c:func:" +"`PyObject_New`, :c:func:`PyObject_NewVar`, and :c:func:`PyObject_Del`." +msgstr "" +"Щоб виділити та звільнити об’єкти Python, використовуйте сімейство \"об’єктів" +"\" :c:func:`PyObject_New`, :c:func:`PyObject_NewVar` і :c:func:" +"`PyObject_Del`." + +msgid "" +"Thanks to lots of work by Tim Peters, pymalloc in 2.3 also provides " +"debugging features to catch memory overwrites and doubled frees in both " +"extension modules and in the interpreter itself. To enable this support, " +"compile a debugging version of the Python interpreter by running :program:" +"`configure` with :option:`!--with-pydebug`." +msgstr "" +"Завдяки великій роботі Тіма Пітерса, pymalloc у версії 2.3 також надає " +"функції налагодження для виявлення перезапису пам’яті та подвійного " +"звільнення в обох модулях розширення та в самому інтерпретаторі. Щоб " +"увімкнути цю підтримку, скомпілюйте версію інтерпретатора Python для " +"налагодження, запустивши :program:`configure` з :option:`!--with-pydebug`." + +msgid "" +"To aid extension writers, a header file :file:`Misc/pymemcompat.h` is " +"distributed with the source to Python 2.3 that allows Python extensions to " +"use the 2.3 interfaces to memory allocation while compiling against any " +"version of Python since 1.5.2. You would copy the file from Python's source " +"distribution and bundle it with the source of your extension." +msgstr "" +"Щоб допомогти розробникам розширень, файл заголовка :file:`Misc/pymemcompat." +"h` поширюється разом із джерелом для Python 2.3, який дозволяє розширенням " +"Python використовувати інтерфейси 2.3 для розподілу пам’яті під час " +"компіляції з будь-якою версією Python, починаючи з 1.5.2. Ви повинні " +"скопіювати файл із вихідного коду Python і об’єднати його з джерелом вашого " +"розширення." + +msgid "https://hg.python.org/cpython/file/default/Objects/obmalloc.c" +msgstr "https://hg.python.org/cpython/file/default/Objects/obmalloc.c" + +msgid "" +"For the full details of the pymalloc implementation, see the comments at the " +"top of the file :file:`Objects/obmalloc.c` in the Python source code. The " +"above link points to the file within the python.org SVN browser." +msgstr "" +"Щоб отримати повну інформацію про реалізацію pymalloc, перегляньте коментарі " +"у верхній частині файлу :file:`Objects/obmalloc.c` у вихідному коді Python. " +"Наведене вище посилання вказує на файл у браузері python.org SVN." + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "" +"The cycle detection implementation used by the garbage collection has proven " +"to be stable, so it's now been made mandatory. You can no longer compile " +"Python without it, and the :option:`!--with-cycle-gc` switch to :program:" +"`configure` has been removed." +msgstr "" +"Реалізація виявлення циклу, яка використовується для збирання сміття, " +"виявилася стабільною, тому тепер вона стала обов’язковою. Ви більше не " +"можете скомпілювати Python без нього, а перемикач :option:`!--with-cycle-gc` " +"на :program:`configure` видалено." + +msgid "" +"Python can now optionally be built as a shared library (:file:`libpython2.3." +"so`) by supplying :option:`!--enable-shared` when running Python's :program:" +"`configure` script. (Contributed by Ondrej Palkovsky.)" +msgstr "" +"Python тепер можна опціонально створити як спільну бібліотеку (:file:" +"`libpython2.3.so`), вказавши :option:`!--enable-shared` під час виконання " +"сценарію :program:`configure` Python. (Надав Ондрей Палковський.)" + +msgid "" +"The :c:macro:`DL_EXPORT` and :c:macro:`DL_IMPORT` macros are now deprecated. " +"Initialization functions for Python extension modules should now be declared " +"using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python core will " +"generally use the :c:macro:`PyAPI_FUNC` and :c:macro:`PyAPI_DATA` macros." +msgstr "" +"Макроси :c:macro:`DL_EXPORT` і :c:macro:`DL_IMPORT` тепер застаріли. Функції " +"ініціалізації для модулів розширення Python тепер слід оголошувати за " +"допомогою нового макросу :c:macro:`PyMODINIT_FUNC`, тоді як ядро Python " +"зазвичай використовуватиме макроси :c:macro:`PyAPI_FUNC` і :c:macro:" +"`PyAPI_DATA`." + +msgid "" +"The interpreter can be compiled without any docstrings for the built-in " +"functions and modules by supplying :option:`!--without-doc-strings` to the :" +"program:`configure` script. This makes the Python executable about 10% " +"smaller, but will also mean that you can't get help for Python's built-ins. " +"(Contributed by Gustavo Niemeyer.)" +msgstr "" +"Інтерпретатор може бути скомпільований без будь-яких рядків документації для " +"вбудованих функцій і модулів, надаючи :option:`!--without-doc-strings` до " +"сценарію :program:`configure`. Це робить виконуваний файл Python приблизно " +"на 10% меншим, але також означатиме, що ви не зможете отримати допомогу для " +"вбудованих компонентів Python. (Надав Густаво Німейєр.)" + +msgid "" +"The :c:func:`PyArg_NoArgs` macro is now deprecated, and code that uses it " +"should be changed. For Python 2.2 and later, the method definition table " +"can specify the :const:`METH_NOARGS` flag, signalling that there are no " +"arguments, and the argument checking can then be removed. If compatibility " +"with pre-2.2 versions of Python is important, the code could use " +"``PyArg_ParseTuple(args, \"\")`` instead, but this will be slower than " +"using :const:`METH_NOARGS`." +msgstr "" +"Макрос :c:func:`PyArg_NoArgs` більше не підтримується, а код, який його " +"використовує, слід змінити. Для Python 2.2 і пізніших версій таблиця " +"визначення методів може вказати прапорець :const:`METH_NOARGS`, сигналізуючи " +"про те, що аргументів немає, і тоді перевірку аргументів можна видалити. " +"Якщо важлива сумісність із версіями Python до 2.2, замість цього код може " +"використовувати ``PyArg_ParseTuple(args, \"\")``, але це буде повільніше, " +"ніж використання :const:`METH_NOARGS`." + +msgid "" +":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " +"of unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` for :c:expr:" +"`unsigned short int`, ``I`` for :c:expr:`unsigned int`, and ``K`` for :c:" +"expr:`unsigned long long`." +msgstr "" + +msgid "" +"A new function, ``PyObject_DelItemString(mapping, char *key)`` was added as " +"shorthand for ``PyObject_DelItem(mapping, PyString_New(key))``." +msgstr "" +"Нову функцію ``PyObject_DelItemString(mapping, char *key)`` було додано як " +"скорочення для ``PyObject_DelItem(mapping, PyString_New(key))``." + +msgid "" +"File objects now manage their internal string buffer differently, increasing " +"it exponentially when needed. This results in the benchmark tests in :file:" +"`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds to 1.7 " +"seconds, according to one measurement)." +msgstr "" +"Файлові об’єкти тепер керують своїм внутрішнім рядковим буфером по-іншому, " +"збільшуючи його експоненціально за потреби. Це призводить до значного " +"прискорення тестів у :file:`Lib/test/test_bufio.py` (з 57 секунд до 1,7 " +"секунд, згідно з одним вимірюванням)." + +msgid "" +"It's now possible to define class and static methods for a C extension type " +"by setting either the :const:`METH_CLASS` or :const:`METH_STATIC` flags in a " +"method's :c:type:`PyMethodDef` structure." +msgstr "" +"Тепер можна визначити класові та статичні методи для типу розширення C, " +"встановивши прапорці :const:`METH_CLASS` або :const:`METH_STATIC` у " +"структурі методу :c:type:`PyMethodDef`." + +msgid "" +"Python now includes a copy of the Expat XML parser's source code, removing " +"any dependence on a system version or local installation of Expat." +msgstr "" +"Python тепер містить копію вихідного коду синтаксичного аналізатора Expat " +"XML, усуваючи будь-яку залежність від версії системи або локальної " +"інсталяції Expat." + +msgid "" +"If you dynamically allocate type objects in your extension, you should be " +"aware of a change in the rules relating to the :attr:`__module__` and :attr:" +"`~definition.__name__` attributes. In summary, you will want to ensure the " +"type's dictionary contains a ``'__module__'`` key; making the module name " +"the part of the type name leading up to the final period will no longer have " +"the desired effect. For more detail, read the API reference documentation " +"or the source." +msgstr "" +"Якщо ви динамічно розподіляєте об’єкти типу у своєму розширенні, ви повинні " +"знати про зміну правил, що стосуються атрибутів :attr:`__module__` і :attr:" +"`~definition.__name__`. Таким чином, ви захочете переконатися, що словник " +"типу містить ключ ``'__module__'``; створення назви модуля частиною назви " +"типу, що веде до останньої крапки, більше не матиме бажаного ефекту. Щоб " +"отримати докладніші відомості, прочитайте довідкову документацію API або " +"джерело." + +msgid "Port-Specific Changes" +msgstr "Зміни, що стосуються порту" + +msgid "" +"Support for a port to IBM's OS/2 using the EMX runtime environment was " +"merged into the main Python source tree. EMX is a POSIX emulation layer " +"over the OS/2 system APIs. The Python port for EMX tries to support all the " +"POSIX-like capability exposed by the EMX runtime, and mostly succeeds; :func:" +"`fork` and :func:`fcntl` are restricted by the limitations of the underlying " +"emulation layer. The standard OS/2 port, which uses IBM's Visual Age " +"compiler, also gained support for case-sensitive import semantics as part of " +"the integration of the EMX port into CVS. (Contributed by Andrew MacIntyre.)" +msgstr "" +"Підтримку перенесення на OS/2 IBM за допомогою середовища виконання EMX було " +"об’єднано в основне дерево вихідних кодів Python. EMX — це рівень емуляції " +"POSIX над API системи OS/2. Порт Python для EMX намагається підтримувати всі " +"POSIX-подібні можливості, надані середовищем виконання EMX, і здебільшого " +"вдається; :func:`fork` і :func:`fcntl` обмежені обмеженнями основного рівня " +"емуляції. Стандартний порт OS/2, який використовує компілятор IBM Visual " +"Age, також отримав підтримку семантики імпорту з урахуванням регістру в " +"рамках інтеграції порту EMX у CVS. (Надав Ендрю Макінтайр.)" + +msgid "" +"On MacOS, most toolbox modules have been weaklinked to improve backward " +"compatibility. This means that modules will no longer fail to load if a " +"single routine is missing on the current OS version. Instead calling the " +"missing routine will raise an exception. (Contributed by Jack Jansen.)" +msgstr "" +"У MacOS більшість модулів панелі інструментів були слабко зв’язані, щоб " +"покращити зворотну сумісність. Це означає, що модулі більше не будуть " +"завантажуватися, якщо в поточній версії ОС відсутня одна процедура. " +"Натомість виклик відсутньої підпрограми призведе до виключення. (Надав Джек " +"Янсен.)" + +msgid "" +"The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python " +"source distribution, were updated for 2.3. (Contributed by Sean " +"Reifschneider.)" +msgstr "" +"Файли специфікацій RPM, знайдені в каталозі :file:`Misc/RPM/` вихідного коду " +"Python, було оновлено до версії 2.3. (Надав Шон Райфшнайдер.)" + +msgid "" +"Other new platforms now supported by Python include AtheOS (http://www." +"atheos.cx/), GNU/Hurd, and OpenVMS." +msgstr "" +"Інші нові платформи, які зараз підтримуються Python, включають AtheOS " +"(http://www.atheos.cx/), GNU/Hurd і OpenVMS." + +msgid "Other Changes and Fixes" +msgstr "Інші зміни та виправлення" + +msgid "" +"As usual, there were a bunch of other improvements and bugfixes scattered " +"throughout the source tree. A search through the CVS change logs finds " +"there were 523 patches applied and 514 bugs fixed between Python 2.2 and " +"2.3. Both figures are likely to be underestimates." +msgstr "" +"Як завжди, була купа інших покращень і виправлень помилок, розкиданих по " +"дереву вихідних кодів. Пошук у журналах змін CVS виявив, що між Python 2.2 і " +"2.3 було застосовано 523 виправлення та 514 виправлених помилок. Обидві " +"цифри, ймовірно, занижені." + +msgid "Some of the more notable changes are:" +msgstr "Деякі з найбільш помітних змін:" + +msgid "" +"If the :envvar:`PYTHONINSPECT` environment variable is set, the Python " +"interpreter will enter the interactive prompt after running a Python " +"program, as if Python had been invoked with the :option:`-i` option. The " +"environment variable can be set before running the Python interpreter, or it " +"can be set by the Python program as part of its execution." +msgstr "" +"Якщо встановлено змінну середовища :envvar:`PYTHONINSPECT`, інтерпретатор " +"Python увійде в інтерактивну підказку після запуску програми Python, як якщо " +"б Python було викликано з параметром :option:`-i`. Змінну середовища можна " +"встановити перед запуском інтерпретатора Python або її можна встановити " +"програмою Python як частину її виконання." + +msgid "" +"The :file:`regrtest.py` script now provides a way to allow \"all resources " +"except *foo*.\" A resource name passed to the :option:`!-u` option can now " +"be prefixed with a hyphen (``'-'``) to mean \"remove this resource.\" For " +"example, the option '``-uall,-bsddb``' could be used to enable the use of " +"all resources except ``bsddb``." +msgstr "" +"Сценарій :file:`regrtest.py` тепер надає спосіб дозволити \"всі ресурси, " +"крім *foo*\". Ім’я ресурсу, передане параметру :option:`!-u`, тепер може " +"мати перед префіксом дефіс (``'-'``), що означає \"видалити цей ресурс\". " +"Наприклад, параметр \"``-uall,-bsddb``\" можна використовувати, щоб " +"увімкнути використання всіх ресурсів, крім ``bsddb``." + +msgid "" +"The tools used to build the documentation now work under Cygwin as well as " +"Unix." +msgstr "" +"Інструменти, які використовуються для створення документації, тепер працюють " +"як під Cygwin, так і під Unix." + +msgid "" +"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this " +"opcode was needed to produce line numbers in tracebacks and support trace " +"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in " +"tracebacks have been computed using a different mechanism that works with " +"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme " +"to determine when to call the trace function, removing the need for " +"``SET_LINENO`` entirely." +msgstr "" +"Код операції ``SET_LINENO`` видалено. У давнину цей код операції був " +"потрібний для створення номерів рядків у відстеженнях і підтримки функцій " +"відстеження (наприклад, для :mod:`pdb`). Починаючи з Python 1.5, номери " +"рядків у трасуваннях обчислюються за допомогою іншого механізму, який працює " +"з \"python -O\". Для Python 2.3 Майкл Хадсон реалізував подібну схему, щоб " +"визначити, коли викликати функцію трасування, повністю усунувши потребу в " +"``SET_LINENO``." + +msgid "" +"It would be difficult to detect any resulting difference from Python code, " +"apart from a slight speed up when Python is run without :option:`-O`." +msgstr "" +"Було б важко виявити будь-яку результуючу відмінність від коду Python, окрім " +"невеликого прискорення, коли Python запускається без :option:`-O`." + +msgid "" +"C extensions that access the :attr:`f_lineno` field of frame objects should " +"instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will have the " +"added effect of making the code work as desired under \"python -O\" in " +"earlier versions of Python." +msgstr "" +"Розширення C, які мають доступ до поля :attr:`f_lineno` об’єктів фрейму, " +"мають замість цього викликати ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. " +"Це матиме додатковий ефект, оскільки код працюватиме за бажанням під " +"\"python -O\" у попередніх версіях Python." + +msgid "" +"A nifty new feature is that trace functions can now assign to the :attr:" +"`f_lineno` attribute of frame objects, changing the line that will be " +"executed next. A ``jump`` command has been added to the :mod:`pdb` debugger " +"taking advantage of this new feature. (Implemented by Richie Hindle.)" +msgstr "" +"Чудовою новою функцією є те, що функції трасування тепер можуть призначати " +"атрибут :attr:`f_lineno` об’єктів фрейму, змінюючи рядок, який буде виконано " +"наступним. Команда ``jump`` була додана до налагоджувача :mod:`pdb`, " +"використовуючи цю нову функцію. (Реалізовано Річі Гіндлом.)" + +msgid "Porting to Python 2.3" +msgstr "Перенесення на Python 2.3" + +msgid "" +"This section lists previously described changes that may require changes to " +"your code:" +msgstr "" +"У цьому розділі перераховано описані раніше зміни, які можуть потребувати " +"змін у вашому коді:" + +msgid "" +":keyword:`yield` is now always a keyword; if it's used as a variable name in " +"your code, a different name must be chosen." +msgstr "" +":keyword:`yield` тепер завжди є ключовим словом; якщо воно використовується " +"як ім’я змінної у вашому коді, потрібно вибрати інше ім’я." + +msgid "" +"For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one " +"character long." +msgstr "" +"Для рядків *X* і *Y* \"X в Y\" тепер працює, якщо *X* містить більше одного " +"символу." + +msgid "" +"The :func:`int` type constructor will now return a long integer instead of " +"raising an :exc:`OverflowError` when a string or floating-point number is " +"too large to fit into an integer." +msgstr "" +"Конструктор типу :func:`int` тепер повертатиме довге ціле число замість " +"того, щоб викликати :exc:`OverflowError`, коли рядок або число з плаваючою " +"комою занадто велике, щоб поміститися в ціле число." + +msgid "" +"If you have Unicode strings that contain 8-bit characters, you must declare " +"the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the " +"top of the file. See section :ref:`section-encodings` for more information." +msgstr "" +"Якщо у вас є рядки Unicode, які містять 8-бітові символи, ви повинні " +"оголосити кодування файлу (UTF-8, Latin-1 або інше), додавши коментар у " +"верхній частині файлу. Перегляньте розділ :ref:`section-encodings` для " +"отримання додаткової інформації." + +msgid "" +"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. " +"Instead, if Tcl returns other objects those objects are converted to their " +"Python equivalent, if one exists, or wrapped with a :class:`_tkinter." +"Tcl_Obj` object if no Python equivalent exists." +msgstr "" +"Виклик методів Tcl через :mod:`_tkinter` більше не повертає лише рядки. " +"Натомість, якщо Tcl повертає інші об’єкти, ці об’єкти перетворюються на " +"їхній еквівалент Python, якщо такий існує, або загортаються в об’єкт :class:" +"`_tkinter.Tcl_Obj`, якщо еквівалент Python не існує." + +msgid "" +"Large octal and hex literals such as ``0xffffffff`` now trigger a :exc:" +"`FutureWarning`. Currently they're stored as 32-bit numbers and result in a " +"negative value, but in Python 2.4 they'll become positive long integers." +msgstr "" +"Великі вісімкові та шістнадцяткові літерали, такі як ``0xffffffff``, тепер " +"викликають :exc:`FutureWarning`. Наразі вони зберігаються як 32-розрядні " +"числа та отримують від’ємне значення, але в Python 2.4 вони стануть " +"додатними довгими цілими числами." + +msgid "" +"There are a few ways to fix this warning. If you really need a positive " +"number, just add an ``L`` to the end of the literal. If you're trying to " +"get a 32-bit integer with low bits set and have previously used an " +"expression such as ``~(1 << 31)``, it's probably clearest to start with all " +"bits set and clear the desired upper bits. For example, to clear just the " +"top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``." +msgstr "" +"Є кілька способів виправити це попередження. Якщо вам справді потрібне " +"позитивне число, просто додайте ``L`` до кінця літералу. Якщо ви намагаєтеся " +"отримати 32-розрядне ціле число з установленими молодшими бітами і раніше " +"використовували такий вираз, як ``~(1 << 31)``, ймовірно, найзрозуміліше " +"почати з усіма встановленими бітами та очистити потрібний верхній біти. " +"Наприклад, щоб очистити лише верхній біт (біт 31), ви можете написати " +"``0xffffffffL &~(1L<<31)``." + +msgid "You can no longer disable assertions by assigning to ``__debug__``." +msgstr "Ви більше не можете вимкнути твердження, призначивши ``__debug__``." + +msgid "" +"The Distutils :func:`setup` function has gained various new keyword " +"arguments such as *depends*. Old versions of the Distutils will abort if " +"passed unknown keywords. A solution is to check for the presence of the " +"new :func:`get_distutil_options` function in your :file:`setup.py` and only " +"uses the new keywords with a version of the Distutils that supports them::" +msgstr "" +"Функція Distutils :func:`setup` отримала різні нові ключові аргументи, такі " +"як *depends*. Старі версії Distutils перериваються, якщо передано невідомі " +"ключові слова. Рішенням є перевірка наявності нової функції :func:" +"`get_distutil_options` у вашому :file:`setup.py` і використання нових " +"ключових слів лише з версією Distutils, яка їх підтримує:" + +msgid "" +"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " +"warning." +msgstr "" +"Використання ``None`` як назви змінної тепер призведе до попередження :exc:" +"`SyntaxWarning`." + +msgid "" +"Names of extension types defined by the modules included with Python now " +"contain the module and a ``'.'`` in front of the type name." +msgstr "" +"Назви типів розширень, визначені модулями, що входять до Python, тепер " +"містять модуль і ``'.'`` перед назвою типу." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Jeff Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, " +"Scott David Daniels, Fred L. Drake, Jr., David Fraser, Kelly Gerber, " +"Raymond Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von " +"Löwis, Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal " +"Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil " +"Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum." +msgstr "" +"Автор хотів би подякувати наступним людям за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Джефф Бауер, Саймон Бруннінг, " +"Бретт Кеннон, Майкл Чермсайд, Ендрю Далк, Скотт Девід Деніелс, Фред Л. Дрейк " +"молодший, Девід Фрейзер, Келлі Гербер, Реймонд Геттінгер, Майкл Хадсон, Кріс " +"Ламберт, Детлеф Ланнерт, Мартін фон Левіс, Ендрю Макінтайр, Лало Мартінс, " +"Чад Нетцер, Густаво Німейєр, Ніл Норвіц, Ханс Новак, Кріс Ріді, Франческо " +"Ріккарді, Віней Саджип, Ніл Шеменауер, Роман Сузі, Джейсон Тішлер, Юст ван " +"Россум." diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po new file mode 100644 index 000000000..450e192c4 --- /dev/null +++ b/whatsnew/2.4.po @@ -0,0 +1,2216 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.4" +msgstr "Що нового в Python 2.4" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling" +msgstr "A.M. Kuchling" + +msgid "" +"This article explains the new features in Python 2.4.1, released on March " +"30, 2005." +msgstr "" +"У цій статті пояснюються нові функції Python 2.4.1, випущеного 30 березня " +"2005 року." + +msgid "" +"Python 2.4 is a medium-sized release. It doesn't introduce as many changes " +"as the radical Python 2.2, but introduces more features than the " +"conservative 2.3 release. The most significant new language features are " +"function decorators and generator expressions; most other changes are to the " +"standard library." +msgstr "" +"Python 2.4 — випуск середнього розміру. Він не вносить стільки змін, як " +"радикальний Python 2.2, але пропонує більше функцій, ніж консервативний " +"випуск 2.3. Найважливішими новими можливостями мови є декоратори функцій і " +"вирази-генератори; більшість інших змін стосуються стандартної бібліотеки." + +msgid "" +"According to the CVS change logs, there were 481 patches applied and 502 " +"bugs fixed between Python 2.3 and 2.4. Both figures are likely to be " +"underestimates." +msgstr "" +"Згідно з журналами змін CVS, було застосовано 481 патч і 502 виправлені " +"помилки між Python 2.3 і 2.4. Обидві цифри, ймовірно, занижені." + +msgid "" +"This article doesn't attempt to provide a complete specification of every " +"single new feature, but instead provides a brief introduction to each " +"feature. For full details, you should refer to the documentation for Python " +"2.4, such as the Python Library Reference and the Python Reference Manual. " +"Often you will be referred to the PEP for a particular new feature for " +"explanations of the implementation and design rationale." +msgstr "" +"Ця стаття не намагається надати повну специфікацію кожної окремої нової " +"функції, а натомість містить короткий вступ до кожної функції. Щоб отримати " +"повну інформацію, зверніться до документації для Python 2.4, наприклад " +"довідника бібліотеки Python і довідкового посібника Python. Часто вас " +"направлять до PEP щодо конкретної нової функції для пояснень реалізації та " +"обґрунтування дизайну." + +msgid "PEP 218: Built-In Set Objects" +msgstr "PEP 218: Вбудовані об’єкти" + +msgid "" +"Python 2.3 introduced the :mod:`sets` module. C implementations of set data " +"types have now been added to the Python core as two new built-in types, " +"``set(iterable)`` and ``frozenset(iterable)``. They provide high speed " +"operations for membership testing, for eliminating duplicates from " +"sequences, and for mathematical operations like unions, intersections, " +"differences, and symmetric differences. ::" +msgstr "" +"Python 2.3 представив модуль :mod:`sets`. Реалізації C типів даних set тепер " +"додано до ядра Python у вигляді двох нових вбудованих типів, " +"``set(iterable)`` і ``frozenset(iterable)``. Вони забезпечують високу " +"швидкість виконання операцій для тестування членства, для усунення " +"дублікатів із послідовностей і для математичних операцій, таких як " +"об’єднання, перетини, різниці та симетричні різниці. ::" + +msgid "" +"The :func:`frozenset` type is an immutable version of :func:`set`. Since it " +"is immutable and hashable, it may be used as a dictionary key or as a member " +"of another set." +msgstr "" +"Тип :func:`frozenset` є незмінною версією :func:`set`. Оскільки він " +"незмінний і хешується, його можна використовувати як ключ словника або як " +"член іншого набору." + +msgid "" +"The :mod:`sets` module remains in the standard library, and may be useful if " +"you wish to subclass the :class:`Set` or :class:`ImmutableSet` classes. " +"There are currently no plans to deprecate the module." +msgstr "" +"Модуль :mod:`sets` залишається в стандартній бібліотеці та може бути " +"корисним, якщо ви бажаєте створити підклас класів :class:`Set` або :class:" +"`ImmutableSet`. Наразі немає планів припинення підтримки модуля." + +msgid ":pep:`218` - Adding a Built-In Set Object Type" +msgstr ":pep:`218` - Додавання вбудованого типу об'єкта Set" + +msgid "" +"Originally proposed by Greg Wilson and ultimately implemented by Raymond " +"Hettinger." +msgstr "" +"Спочатку запропонований Грегом Вілсоном і остаточно реалізований Реймондом " +"Геттінгером." + +msgid "PEP 237: Unifying Long Integers and Integers" +msgstr "PEP 237: Об’єднання довгих і цілих чисел" + +msgid "" +"The lengthy transition process for this PEP, begun in Python 2.2, takes " +"another step forward in Python 2.4. In 2.3, certain integer operations that " +"would behave differently after int/long unification triggered :exc:" +"`FutureWarning` warnings and returned values limited to 32 or 64 bits " +"(depending on your platform). In 2.4, these expressions no longer produce a " +"warning and instead produce a different result that's usually a long integer." +msgstr "" +"Тривалий процес переходу для цього PEP, розпочатий у Python 2.2, робить ще " +"один крок вперед у Python 2.4. У версії 2.3 певні цілочисельні операції, які " +"поводилися б інакше після об’єднання int/long, викликали попередження :exc:" +"`FutureWarning` і повертали значення, обмежені 32 або 64 бітами (залежно від " +"вашої платформи). У версії 2.4 ці вирази більше не створюють попередження, а " +"натомість створюють інший результат, який зазвичай є довгим цілим числом." + +msgid "" +"The problematic expressions are primarily left shifts and lengthy " +"hexadecimal and octal constants. For example, ``2 << 32`` results in a " +"warning in 2.3, evaluating to 0 on 32-bit platforms. In Python 2.4, this " +"expression now returns the correct answer, 8589934592." +msgstr "" +"Проблемними виразами є, перш за все, зрушення вліво та довгі шістнадцяткові " +"та вісімкові константи. Наприклад, ``2 << 32`` призводить до попередження у " +"2.3, оцінюючи 0 на 32-розрядних платформах. У Python 2.4 цей вираз тепер " +"повертає правильну відповідь, 8589934592." + +msgid ":pep:`237` - Unifying Long Integers and Integers" +msgstr ":pep:`237` - Об'єднання довгих і цілих чисел" + +msgid "" +"Original PEP written by Moshe Zadka and GvR. The changes for 2.4 were " +"implemented by Kalle Svensson." +msgstr "" +"Оригінальний PEP, написаний Моше Цадка та GvR. Зміни у версії 2.4 вніс Калле " +"Свенссон." + +msgid "PEP 289: Generator Expressions" +msgstr "PEP 289: Генератор виразів" + +msgid "" +"The iterator feature introduced in Python 2.2 and the :mod:`itertools` " +"module make it easier to write programs that loop through large data sets " +"without having the entire data set in memory at one time. List " +"comprehensions don't fit into this picture very well because they produce a " +"Python list object containing all of the items. This unavoidably pulls all " +"of the objects into memory, which can be a problem if your data set is very " +"large. When trying to write a functionally styled program, it would be " +"natural to write something like::" +msgstr "" + +msgid "instead of ::" +msgstr "замість ::" + +msgid "" +"The first form is more concise and perhaps more readable, but if you're " +"dealing with a large number of link objects you'd have to write the second " +"form to avoid having all link objects in memory at the same time." +msgstr "" +"Перша форма більш лаконічна і, можливо, більш читабельна, але якщо ви маєте " +"справу з великою кількістю об’єктів посилань, вам доведеться написати другу " +"форму, щоб уникнути одночасного зберігання всіх об’єктів посилань у пам’яті." + +msgid "" +"Generator expressions work similarly to list comprehensions but don't " +"materialize the entire list; instead they create a generator that will " +"return elements one by one. The above example could be written as::" +msgstr "" +"Вирази генератора працюють так само, як і розуміння списків, але не " +"матеріалізують весь список; натомість вони створюють генератор, який " +"повертатиме елементи один за одним. Наведений вище приклад можна записати " +"так:" + +msgid "" +"Generator expressions always have to be written inside parentheses, as in " +"the above example. The parentheses signalling a function call also count, " +"so if you want to create an iterator that will be immediately passed to a " +"function you could write::" +msgstr "" +"Вирази-генератори завжди мають бути записані в круглих дужках, як у прикладі " +"вище. Дужки, що сигналізують про виклик функції, також враховуються, тому, " +"якщо ви хочете створити ітератор, який буде негайно передано функції, ви " +"можете написати::" + +msgid "" +"Generator expressions differ from list comprehensions in various small ways. " +"Most notably, the loop variable (*obj* in the above example) is not " +"accessible outside of the generator expression. List comprehensions leave " +"the variable assigned to its last value; future versions of Python will " +"change this, making list comprehensions match generator expressions in this " +"respect." +msgstr "" +"Вирази генератора відрізняються від розуміння списків кількома дрібницями. " +"Зокрема, змінна циклу (*obj* у наведеному вище прикладі) недоступна поза " +"виразом генератора. Розуміння списків залишає змінну присвоєною її " +"останньому значенню; майбутні версії Python змінять це, зробивши розуміння " +"списку відповідним виразам генератора в цьому відношенні." + +msgid ":pep:`289` - Generator Expressions" +msgstr ":pep:`289` - Генератор виразів" + +msgid "" +"Proposed by Raymond Hettinger and implemented by Jiwon Seo with early " +"efforts steered by Hye-Shik Chang." +msgstr "" +"Запропоновано Raymond Hettinger і реалізовано Jiwon Seo з ранніми зусиллями " +"під керівництвом Hye-Shik Chang." + +msgid "PEP 292: Simpler String Substitutions" +msgstr "PEP 292: Простіші заміни рядків" + +msgid "" +"Some new classes in the standard library provide an alternative mechanism " +"for substituting variables into strings; this style of substitution may be " +"better for applications where untrained users need to edit templates." +msgstr "" +"Деякі нові класи в стандартній бібліотеці забезпечують альтернативний " +"механізм для підстановки змінних у рядки; цей стиль заміни може бути кращим " +"для додатків, де ненавченим користувачам потрібно редагувати шаблони." + +msgid "The usual way of substituting variables by name is the ``%`` operator::" +msgstr "Звичайним способом заміни змінних за іменем є оператор ``%``::" + +msgid "" +"When writing the template string, it can be easy to forget the ``i`` or " +"``s`` after the closing parenthesis. This isn't a big problem if the " +"template is in a Python module, because you run the code, get an " +"\"Unsupported format character\" :exc:`ValueError`, and fix the problem. " +"However, consider an application such as Mailman where template strings or " +"translations are being edited by users who aren't aware of the Python " +"language. The format string's syntax is complicated to explain to such " +"users, and if they make a mistake, it's difficult to provide helpful " +"feedback to them." +msgstr "" +"Під час написання рядка шаблону може бути легко забути ``i`` або ``s`` після " +"закриваючої дужки. Це не є великою проблемою, якщо шаблон міститься в модулі " +"Python, тому що ви запускаєте код, отримуєте \"Символ непідтримуваного " +"формату\" :exc:`ValueError` і вирішуєте проблему. Однак розгляньте такий " +"додаток, як Mailman, у якому рядки шаблону або переклади редагуються " +"користувачами, які не знають мови Python. Синтаксис форматного рядка складно " +"пояснити таким користувачам, і якщо вони роблять помилку, їм важко надати " +"корисний відгук." + +msgid "" +"PEP 292 adds a :class:`Template` class to the :mod:`string` module that uses " +"``$`` to indicate a substitution::" +msgstr "" +"PEP 292 додає клас :class:`Template` до модуля :mod:`string`, який " +"використовує ``$`` для позначення заміни::" + +msgid "" +"If a key is missing from the dictionary, the :meth:`substitute` method will " +"raise a :exc:`KeyError`. There's also a :meth:`safe_substitute` method that " +"ignores missing keys::" +msgstr "" +"Якщо в словнику відсутній ключ, метод :meth:`substitute` викличе :exc:" +"`KeyError`. Існує також метод :meth:`safe_substitute`, який ігнорує відсутні " +"ключі::" + +msgid ":pep:`292` - Simpler String Substitutions" +msgstr ":pep:`292` - Простіші підстановки рядків" + +msgid "Written and implemented by Barry Warsaw." +msgstr "Написав і реалізував Баррі Варшау." + +msgid "PEP 318: Decorators for Functions and Methods" +msgstr "PEP 318: Декоратори для функцій і методів" + +msgid "" +"Python 2.2 extended Python's object model by adding static methods and class " +"methods, but it didn't extend Python's syntax to provide any new way of " +"defining static or class methods. Instead, you had to write a :keyword:" +"`def` statement in the usual way, and pass the resulting method to a :func:" +"`staticmethod` or :func:`classmethod` function that would wrap up the " +"function as a method of the new type. Your code would look like this::" +msgstr "" +"Python 2.2 розширив об’єктну модель Python, додавши статичні методи та " +"методи класу, але не розширив синтаксис Python, щоб надати новий спосіб " +"визначення статичних методів або методів класу. Замість цього вам потрібно " +"було написати оператор :keyword:`def` у звичайний спосіб і передати " +"отриманий метод у функцію :func:`staticmethod` або :func:`classmethod`, яка " +"завершувала б функцію як метод новий тип. Ваш код виглядатиме так::" + +msgid "" +"If the method was very long, it would be easy to miss or forget the :func:" +"`classmethod` invocation after the function body." +msgstr "" +"Якби метод був дуже довгим, було б легко пропустити або забути виклик :func:" +"`classmethod` після тіла функції." + +msgid "" +"The intention was always to add some syntax to make such definitions more " +"readable, but at the time of 2.2's release a good syntax was not obvious. " +"Today a good syntax *still* isn't obvious but users are asking for easier " +"access to the feature; a new syntactic feature has been added to meet this " +"need." +msgstr "" +"Намір завжди полягав у тому, щоб додати певний синтаксис, щоб зробити такі " +"визначення більш читабельними, але на момент випуску версії 2.2 хороший " +"синтаксис не був очевидним. Сьогодні хороший синтаксис *все ще* неочевидний, " +"але користувачі просять полегшити доступ до функції; для задоволення цієї " +"потреби додано нову синтаксичну функцію." + +msgid "" +"The new feature is called \"function decorators\". The name comes from the " +"idea that :func:`classmethod`, :func:`staticmethod`, and friends are storing " +"additional information on a function object; they're *decorating* functions " +"with more details." +msgstr "" +"Нова функція називається \"декоратори функцій\". Назва походить від ідеї, " +"що :func:`classmethod`, :func:`staticmethod` та друзі зберігають додаткову " +"інформацію про об’єкт функції; вони *прикрашають* функції більшою кількістю " +"деталей." + +msgid "" +"The notation borrows from Java and uses the ``'@'`` character as an " +"indicator. Using the new syntax, the example above would be written::" +msgstr "" +"Позначення запозичено з Java і використовує символ ``'@'`` як індикатор. " +"Використовуючи новий синтаксис, приклад вище буде написаний::" + +msgid "" +"The ``@classmethod`` is shorthand for the ``meth=classmethod(meth)`` " +"assignment. More generally, if you have the following::" +msgstr "" +"``@classmethod`` є скороченням для ``meth=classmethod(meth)`` призначення. " +"Загалом, якщо у вас є:" + +msgid "It's equivalent to the following pre-decorator code::" +msgstr "Це еквівалентно такому попередньому коду декоратора::" + +msgid "" +"Decorators must come on the line before a function definition, one decorator " +"per line, and can't be on the same line as the def statement, meaning that " +"``@A def f(): ...`` is illegal. You can only decorate function definitions, " +"either at the module level or inside a class; you can't decorate class " +"definitions." +msgstr "" +"Декоратори мають бути в рядку перед визначенням функції, по одному " +"декоратору на рядок, і не можуть бути в одному рядку з інструкцією def, " +"тобто ``@A def f(): ...`` є незаконним. Ви можете лише прикрашати визначення " +"функцій на рівні модуля або всередині класу; ви не можете прикрасити " +"визначення класу." + +msgid "" +"A decorator is just a function that takes the function to be decorated as an " +"argument and returns either the same function or some new object. The " +"return value of the decorator need not be callable (though it typically is), " +"unless further decorators will be applied to the result. It's easy to write " +"your own decorators. The following simple example just sets an attribute on " +"the function object::" +msgstr "" +"Декоратор — це лише функція, яка приймає декоровану функцію як аргумент і " +"повертає або ту саму функцію, або новий об’єкт. Значення, що повертається " +"декоратором, не повинно бути викликаним (хоча зазвичай це так), якщо до " +"результату не будуть застосовані інші декоратори. Легко написати власні " +"декоратори. Наступний простий приклад просто встановлює атрибут для об’єкта " +"функції::" + +msgid "" +"As a slightly more realistic example, the following decorator checks that " +"the supplied argument is an integer::" +msgstr "" +"Як трохи більш реалістичний приклад, наступний декоратор перевіряє, що " +"наданий аргумент є цілим числом:" + +msgid "" +"An example in :pep:`318` contains a fancier version of this idea that lets " +"you both specify the required type and check the returned type." +msgstr "" +"Приклад у :pep:`318` містить моднішу версію цієї ідеї, яка дозволяє як " +"вказати необхідний тип, так і перевірити повернутий тип." + +msgid "" +"Decorator functions can take arguments. If arguments are supplied, your " +"decorator function is called with only those arguments and must return a new " +"decorator function; this function must take a single function and return a " +"function, as previously described. In other words, ``@A @B @C(args)`` " +"becomes::" +msgstr "" +"Функції-декоратори можуть приймати аргументи. Якщо надано аргументи, ваша " +"функція-декоратор викликається лише з цими аргументами та має повернути нову " +"функцію-декоратор; ця функція повинна приймати одну функцію та повертати " +"функцію, як описано раніше. Іншими словами, ``@A @B @C(args)`` стає:" + +msgid "" +"Getting this right can be slightly brain-bending, but it's not too difficult." +msgstr "" +"Зробити це правильно може трохи заморочити мозок, але це не надто складно." + +msgid "" +"A small related change makes the :attr:`func_name` attribute of functions " +"writable. This attribute is used to display function names in tracebacks, " +"so decorators should change the name of any new function that's constructed " +"and returned." +msgstr "" +"Невелика відповідна зміна робить атрибут :attr:`func_name` функцій доступним " +"для запису. Цей атрибут використовується для відображення імен функцій у " +"зворотних трасуваннях, тому декоратори повинні змінити назву будь-якої нової " +"функції, яка створена та повернута." + +msgid ":pep:`318` - Decorators for Functions, Methods and Classes" +msgstr ":pep:`318` - Декоратори для функцій, методів і класів" + +msgid "" +"Written by Kevin D. Smith, Jim Jewett, and Skip Montanaro. Several people " +"wrote patches implementing function decorators, but the one that was " +"actually checked in was patch #979728, written by Mark Russell." +msgstr "" +"Автори: Кевін Д. Сміт, Джим Джеветт і Скіп Монтанаро. Кілька людей написали " +"патчі, що реалізують декоратори функцій, але фактично зареєстровано патч " +"№979728, написаний Марком Расселом." + +msgid "https://wiki.python.org/moin/PythonDecoratorLibrary" +msgstr "https://wiki.python.org/moin/PythonDecoratorLibrary" + +msgid "This Wiki page contains several examples of decorators." +msgstr "Ця сторінка Wiki містить кілька прикладів декораторів." + +msgid "PEP 322: Reverse Iteration" +msgstr "PEP 322: Зворотна ітерація" + +msgid "" +"A new built-in function, ``reversed(seq)``, takes a sequence and returns an " +"iterator that loops over the elements of the sequence in reverse order. ::" +msgstr "" +"Нова вбудована функція, ``reversed(seq)``, приймає послідовність і повертає " +"ітератор, який перебирає елементи послідовності у зворотному порядку. ::" + +msgid "" +"Compared to extended slicing, such as ``range(1,4)[::-1]``, :func:`reversed` " +"is easier to read, runs faster, and uses substantially less memory." +msgstr "" +"Порівняно з розширеним нарізанням, таким як ``range(1,4)[::-1]``, :func:" +"`reversed` легше читати, працює швидше та використовує значно менше пам’яті." + +msgid "" +"Note that :func:`reversed` only accepts sequences, not arbitrary iterators. " +"If you want to reverse an iterator, first convert it to a list with :func:" +"`list`. ::" +msgstr "" +"Зауважте, що :func:`reversed` приймає лише послідовності, а не довільні " +"ітератори. Якщо ви хочете змінити ітератор, спочатку перетворіть його на " +"список за допомогою :func:`list`. ::" + +msgid ":pep:`322` - Reverse Iteration" +msgstr ":pep:`322` - Зворотна ітерація" + +msgid "Written and implemented by Raymond Hettinger." +msgstr "Написаний і реалізований Раймондом Геттінгером." + +msgid "PEP 324: New subprocess Module" +msgstr "PEP 324: Новий модуль підпроцесу" + +msgid "" +"The standard library provides a number of ways to execute a subprocess, " +"offering different features and different levels of complexity. ``os." +"system(command)`` is easy to use, but slow (it runs a shell process which " +"executes the command) and dangerous (you have to be careful about escaping " +"the shell's metacharacters). The :mod:`popen2` module offers classes that " +"can capture standard output and standard error from the subprocess, but the " +"naming is confusing. The :mod:`subprocess` module cleans this up, " +"providing a unified interface that offers all the features you might need." +msgstr "" +"Стандартна бібліотека надає кілька способів виконання підпроцесу, пропонуючи " +"різні функції та різні рівні складності. ``os.system(command)`` простий у " +"використанні, але повільний (він запускає процес оболонки, який виконує " +"команду) і небезпечний (ви повинні бути обережними з екрануванням " +"метасимволів оболонки). Модуль :mod:`popen2` пропонує класи, які можуть " +"фіксувати стандартний вихід і стандартну помилку підпроцесу, але іменування " +"викликає плутанину. Модуль :mod:`subprocess` очищає це, надаючи уніфікований " +"інтерфейс, який пропонує всі функції, які можуть вам знадобитися." + +msgid "" +"Instead of :mod:`popen2`'s collection of classes, :mod:`subprocess` contains " +"a single class called :class:`Popen` whose constructor supports a number of " +"different keyword arguments. ::" +msgstr "" +"Замість колекції класів :mod:`popen2`, :mod:`subprocess` містить єдиний клас " +"під назвою :class:`Popen`, конструктор якого підтримує низку різних ключових " +"аргументів. ::" + +msgid "" +"*args* is commonly a sequence of strings that will be the arguments to the " +"program executed as the subprocess. (If the *shell* argument is true, " +"*args* can be a string which will then be passed on to the shell for " +"interpretation, just as :func:`os.system` does.)" +msgstr "" +"*args* зазвичай є послідовністю рядків, які будуть аргументами програми, що " +"виконується як підпроцес. (Якщо аргумент *shell* має значення true, *args* " +"може бути рядком, який потім буде передано в оболонку для інтерпретації, як " +"це робить :func:`os.system`.)" + +msgid "" +"*stdin*, *stdout*, and *stderr* specify what the subprocess's input, output, " +"and error streams will be. You can provide a file object or a file " +"descriptor, or you can use the constant ``subprocess.PIPE`` to create a pipe " +"between the subprocess and the parent." +msgstr "" +"*stdin*, *stdout* і *stderr* визначають, якими будуть вхідні, вихідні та " +"помилкові потоки підпроцесу. Ви можете надати файловий об’єкт або дескриптор " +"файлу, або ви можете використовувати константу ``subprocess.PIPE`` для " +"створення каналу між підпроцесом і батьківським процесом." + +msgid "The constructor has a number of handy options:" +msgstr "Конструктор має ряд зручних опцій:" + +msgid "" +"*close_fds* requests that all file descriptors be closed before running the " +"subprocess." +msgstr "" +"*close_fds* просить закрити всі файлові дескриптори перед запуском " +"підпроцесу." + +msgid "" +"*cwd* specifies the working directory in which the subprocess will be " +"executed (defaulting to whatever the parent's working directory is)." +msgstr "" +"*cwd* визначає робочий каталог, у якому виконуватиметься підпроцес (за " +"замовчуванням це будь-який робочий каталог батьківського процесу)." + +msgid "*env* is a dictionary specifying environment variables." +msgstr "*env* — це словник, який визначає змінні середовища." + +msgid "" +"*preexec_fn* is a function that gets called before the child is started." +msgstr "" +"*preexec_fn* — це функція, яка викликається перед запуском дочірнього " +"елемента." + +msgid "" +"*universal_newlines* opens the child's input and output using Python's :term:" +"`universal newlines` feature." +msgstr "" +"*universal_newlines* відкриває введення та виведення дочірнього елемента за " +"допомогою функції Python :term:`universal newlines`." + +msgid "" +"Once you've created the :class:`Popen` instance, you can call its :meth:" +"`wait` method to pause until the subprocess has exited, :meth:`poll` to " +"check if it's exited without pausing, or ``communicate(data)`` to send the " +"string *data* to the subprocess's standard input. ``communicate(data)`` " +"then reads any data that the subprocess has sent to its standard output or " +"standard error, returning a tuple ``(stdout_data, stderr_data)``." +msgstr "" +"Створивши екземпляр :class:`Popen`, ви можете викликати його метод :meth:" +"`wait`, щоб призупинити підпроцес, доки підпроцес не завершить роботу, :meth:" +"`poll`, щоб перевірити, чи він вийшов без паузи, або ``communicate(data)``, " +"щоб надіслати рядок *data* на стандартний вхід підпроцесу. " +"``communicate(data)`` потім зчитує всі дані, які підпроцес надіслав на свій " +"стандартний вихід або стандартну помилку, повертаючи кортеж ``(stdout_data, " +"stderr_data)``." + +msgid "" +":func:`call` is a shortcut that passes its arguments along to the :class:" +"`Popen` constructor, waits for the command to complete, and returns the " +"status code of the subprocess. It can serve as a safer analog to :func:`os." +"system`::" +msgstr "" +":func:`call` — це ярлик, який передає свої аргументи конструктору :class:" +"`Popen`, очікує на завершення команди та повертає код статусу підпроцесу. " +"Він може служити безпечнішим аналогом :func:`os.system`::" + +msgid "" +"The command is invoked without use of the shell. If you really do want to " +"use the shell, you can add ``shell=True`` as a keyword argument and provide " +"a string instead of a sequence::" +msgstr "" +"Команда викликається без використання оболонки. Якщо ви дійсно хочете " +"використовувати оболонку, ви можете додати ``shell=True`` як ключовий " +"аргумент і надати рядок замість послідовності::" + +msgid "" +"The PEP takes various examples of shell and Python code and shows how they'd " +"be translated into Python code that uses :mod:`subprocess`. Reading this " +"section of the PEP is highly recommended." +msgstr "" +"PEP бере різні приклади оболонки та коду Python і показує, як вони можуть " +"бути переведені в код Python, який використовує :mod:`subprocess`. Настійно " +"рекомендується прочитати цей розділ PEP." + +msgid ":pep:`324` - subprocess - New process module" +msgstr ":pep:`324` - підпроцес - Новий модуль процесу" + +msgid "" +"Written and implemented by Peter Åstrand, with assistance from Fredrik Lundh " +"and others." +msgstr "" +"Написано та реалізовано Пітером Естрандом за сприяння Фредріка Лунда та " +"інших." + +msgid "PEP 327: Decimal Data Type" +msgstr "PEP 327: десятковий тип даних" + +msgid "" +"Python has always supported floating-point (FP) numbers, based on the " +"underlying C :c:expr:`double` type, as a data type. However, while most " +"programming languages provide a floating-point type, many people (even " +"programmers) are unaware that floating-point numbers don't represent certain " +"decimal fractions accurately. The new :class:`Decimal` type can represent " +"these fractions accurately, up to a user-specified precision limit." +msgstr "" + +msgid "Why is Decimal needed?" +msgstr "Навіщо потрібен Decimal?" + +msgid "" +"The limitations arise from the representation used for floating-point " +"numbers. FP numbers are made up of three components:" +msgstr "" +"Обмеження виникають через представлення чисел з плаваючою комою. Номери FP " +"складаються з трьох компонентів:" + +msgid "The sign, which is positive or negative." +msgstr "Знак, який є позитивним чи негативним." + +msgid "" +"The mantissa, which is a single-digit binary number followed by a " +"fractional part. For example, ``1.01`` in base-2 notation is ``1 + 0/2 + " +"1/4``, or 1.25 in decimal notation." +msgstr "" +"Мантиса, яка є одноцифровим двійковим числом, після якого йде дробова " +"частина. Наприклад, \"1,01\" у нотації з основою 2 — це \"1 + 0/2 + 1/4\" " +"або 1,25 у десятковій системі числення." + +msgid "" +"The exponent, which tells where the decimal point is located in the number " +"represented." +msgstr "Експонента, яка вказує, де в представленому числі розташована кома." + +msgid "" +"For example, the number 1.25 has positive sign, a mantissa value of 1.01 (in " +"binary), and an exponent of 0 (the decimal point doesn't need to be " +"shifted). The number 5 has the same sign and mantissa, but the exponent is 2 " +"because the mantissa is multiplied by 4 (2 to the power of the exponent 2); " +"1.25 \\* 4 equals 5." +msgstr "" +"Наприклад, число 1,25 має додатний знак, значення мантиси 1,01 (у двійковій " +"системі) і експоненту 0 (десяткову кому не потрібно зміщувати). Число 5 має " +"той самий знак і мантису, але показник степеня дорівнює 2, оскільки мантиса " +"множиться на 4 (2 у ступені степеня 2); 1,25 \\* 4 дорівнює 5." + +msgid "" +"Modern systems usually provide floating-point support that conforms to a " +"standard called IEEE 754. C's :c:expr:`double` type is usually implemented " +"as a 64-bit IEEE 754 number, which uses 52 bits of space for the mantissa. " +"This means that numbers can only be specified to 52 bits of precision. If " +"you're trying to represent numbers whose expansion repeats endlessly, the " +"expansion is cut off after 52 bits. Unfortunately, most software needs to " +"produce output in base 10, and common fractions in base 10 are often " +"repeating decimals in binary. For example, 1.1 decimal is binary " +"``1.0001100110011 ...``; .1 = 1/16 + 1/32 + 1/256 plus an infinite number of " +"additional terms. IEEE 754 has to chop off that infinitely repeated decimal " +"after 52 digits, so the representation is slightly inaccurate." +msgstr "" + +msgid "Sometimes you can see this inaccuracy when the number is printed::" +msgstr "Іноді ви можете побачити цю неточність, коли надруковано номер:" + +msgid "" +"The inaccuracy isn't always visible when you print the number because the FP-" +"to-decimal-string conversion is provided by the C library, and most C " +"libraries try to produce sensible output. Even if it's not displayed, " +"however, the inaccuracy is still there and subsequent operations can magnify " +"the error." +msgstr "" +"Неточність не завжди помітна, коли ви друкуєте число, тому що перетворення " +"FP-рядка в десятковий рядок забезпечується бібліотекою C, і більшість " +"бібліотек C намагаються створити розумний результат. Однак навіть якщо вона " +"не відображається, неточність все одно існує, і наступні операції можуть " +"збільшити помилку." + +msgid "" +"For many applications this doesn't matter. If I'm plotting points and " +"displaying them on my monitor, the difference between 1.1 and " +"1.1000000000000001 is too small to be visible. Reports often limit output " +"to a certain number of decimal places, and if you round the number to two or " +"three or even eight decimal places, the error is never apparent. However, " +"for applications where it does matter, it's a lot of work to implement your " +"own custom arithmetic routines." +msgstr "" +"Для багатьох програм це не має значення. Якщо я малюю точки та відображаю їх " +"на моніторі, різниця між 1,1 і 1,1000000000000001 надто мала, щоб її було " +"видно. Звіти часто обмежують виведення певною кількістю знаків після коми, і " +"якщо округлити число до двох, трьох або навіть восьми знаків після коми, " +"помилка ніколи не буде очевидною. Однак для додатків, де це має значення, " +"реалізація власних користувацьких арифметичних процедур вимагає багато " +"роботи." + +msgid "Hence, the :class:`Decimal` type was created." +msgstr "Таким чином, був створений тип :class:`Decimal`." + +msgid "The :class:`Decimal` type" +msgstr "Тип :class:`Decimal`" + +msgid "" +"A new module, :mod:`decimal`, was added to Python's standard library. It " +"contains two classes, :class:`Decimal` and :class:`Context`. :class:" +"`Decimal` instances represent numbers, and :class:`Context` instances are " +"used to wrap up various settings such as the precision and default rounding " +"mode." +msgstr "" +"Новий модуль, :mod:`decimal`, було додано до стандартної бібліотеки Python. " +"Він містить два класи, :class:`Decimal` і :class:`Context`. Екземпляри :" +"class:`Decimal` представляють числа, а екземпляри :class:`Context` " +"використовуються для завершення різних налаштувань, таких як точність і " +"режим округлення за замовчуванням." + +msgid "" +":class:`Decimal` instances are immutable, like regular Python integers and " +"FP numbers; once it's been created, you can't change the value an instance " +"represents. :class:`Decimal` instances can be created from integers or " +"strings::" +msgstr "" +":class:`Decimal` екземпляри незмінні, як і звичайні цілі числа Python і " +"числа FP; після того, як його було створено, ви не можете змінити значення, " +"яке представляє екземпляр. :class:`Decimal` екземпляри можна створити з " +"цілих чисел або рядків::" + +msgid "" +"You can also provide tuples containing the sign, the mantissa represented " +"as a tuple of decimal digits, and the exponent::" +msgstr "" +"Ви також можете надати кортежі, що містять знак, мантису, представлену як " +"кортеж десяткових цифр, і експоненту:" + +msgid "" +"Cautionary note: the sign bit is a Boolean value, so 0 is positive and 1 is " +"negative." +msgstr "" +"Застереження: знаковий біт є логічним значенням, тому 0 є позитивним, а 1 – " +"негативним." + +msgid "" +"Converting from floating-point numbers poses a bit of a problem: should the " +"FP number representing 1.1 turn into the decimal number for exactly 1.1, or " +"for 1.1 plus whatever inaccuracies are introduced? The decision was to dodge " +"the issue and leave such a conversion out of the API. Instead, you should " +"convert the floating-point number into a string using the desired precision " +"and pass the string to the :class:`Decimal` constructor::" +msgstr "" +"Перетворення чисел із плаваючою комою створює певну проблему: чи число FP, " +"що представляє 1,1, має перетворитися на десяткове число для точного 1,1 чи " +"для 1,1 плюс будь-які неточності, які вводяться? Рішення полягало в тому, " +"щоб уникнути проблеми та залишити таке перетворення поза API. Натомість вам " +"слід перетворити число з плаваючою комою на рядок із потрібною точністю та " +"передати рядок у конструктор :class:`Decimal`::" + +msgid "" +"Once you have :class:`Decimal` instances, you can perform the usual " +"mathematical operations on them. One limitation: exponentiation requires an " +"integer exponent::" +msgstr "" +"Коли у вас є екземпляри :class:`Decimal`, ви можете виконувати над ними " +"звичайні математичні операції. Одне обмеження: для піднесення до степеня " +"потрібен цілий показник:" + +msgid "" +"You can combine :class:`Decimal` instances with integers, but not with " +"floating-point numbers::" +msgstr "" +"Ви можете комбінувати екземпляри :class:`Decimal` з цілими числами, але не з " +"числами з плаваючою комою::" + +msgid "" +":class:`Decimal` numbers can be used with the :mod:`math` and :mod:`cmath` " +"modules, but note that they'll be immediately converted to floating-point " +"numbers before the operation is performed, resulting in a possible loss of " +"precision and accuracy. You'll also get back a regular floating-point " +"number and not a :class:`Decimal`. ::" +msgstr "" +":class:`Decimal` числа можна використовувати з модулями :mod:`math` і :mod:" +"`cmath`, але зауважте, що вони будуть негайно перетворені на числа з " +"плаваючою комою перед виконанням операції, що призведе до можлива втрата " +"точності та акуратності. Ви також отримаєте звичайне число з плаваючою " +"комою, а не :class:`Decimal`. ::" + +msgid "" +":class:`Decimal` instances have a :meth:`sqrt` method that returns a :class:" +"`Decimal`, but if you need other things such as trigonometric functions " +"you'll have to implement them. ::" +msgstr "" +"Екземпляри :class:`Decimal` мають метод :meth:`sqrt`, який повертає :class:" +"`Decimal`, але якщо вам потрібні інші речі, такі як тригонометричні функції, " +"вам доведеться їх реалізувати. ::" + +msgid "The :class:`Context` type" +msgstr "Тип :class:`Context`" + +msgid "" +"Instances of the :class:`Context` class encapsulate several settings for " +"decimal operations:" +msgstr "" +"Екземпляри класу :class:`Context` інкапсулюють кілька параметрів для " +"десяткових операцій:" + +msgid ":attr:`prec` is the precision, the number of decimal places." +msgstr ":attr:`prec` — це точність, кількість знаків після коми." + +msgid "" +":attr:`rounding` specifies the rounding mode. The :mod:`decimal` module has " +"constants for the various possibilities: :const:`ROUND_DOWN`, :const:" +"`ROUND_CEILING`, :const:`ROUND_HALF_EVEN`, and various others." +msgstr "" +":attr:`rounding` вказує режим округлення. Модуль :mod:`decimal` має " +"константи для різних можливостей: :const:`ROUND_DOWN`, :const:" +"`ROUND_CEILING`, :const:`ROUND_HALF_EVEN` та інші." + +msgid "" +":attr:`traps` is a dictionary specifying what happens on encountering " +"certain error conditions: either an exception is raised or a value is " +"returned. Some examples of error conditions are division by zero, loss of " +"precision, and overflow." +msgstr "" +":attr:`traps` — це словник, який визначає, що відбувається, коли трапляються " +"певні умови помилки: або виникає виняткова ситуація, або повертається " +"значення. Деякі приклади помилок: ділення на нуль, втрата точності та " +"переповнення." + +msgid "" +"There's a thread-local default context available by calling :func:" +"`getcontext`; you can change the properties of this context to alter the " +"default precision, rounding, or trap handling. The following example shows " +"the effect of changing the precision of the default context::" +msgstr "" +"Існує локальний контекст потоку за замовчуванням, доступний за допомогою " +"виклику :func:`getcontext`; ви можете змінити властивості цього контексту, " +"щоб змінити точність за замовчуванням, округлення або обробку перехоплень. У " +"наступному прикладі показано вплив зміни точності контексту за замовчуванням:" + +msgid "" +"The default action for error conditions is selectable; the module can either " +"return a special value such as infinity or not-a-number, or exceptions can " +"be raised::" +msgstr "" +"Дію за умовчанням для умов помилки можна вибрати; модуль може або повертати " +"спеціальне значення, наприклад нескінченність або не-число, або можуть бути " +"викликані винятки::" + +msgid "" +"The :class:`Context` instance also has various methods for formatting " +"numbers such as :meth:`to_eng_string` and :meth:`to_sci_string`." +msgstr "" +"Екземпляр :class:`Context` також має різні методи форматування чисел, " +"наприклад :meth:`to_eng_string` і :meth:`to_sci_string`." + +msgid "" +"For more information, see the documentation for the :mod:`decimal` module, " +"which includes a quick-start tutorial and a reference." +msgstr "" +"Для отримання додаткової інформації перегляньте документацію до модуля :mod:" +"`decimal`, яка містить короткий посібник і довідку." + +msgid ":pep:`327` - Decimal Data Type" +msgstr ":pep:`327` - десятковий тип даних" + +msgid "" +"Written by Facundo Batista and implemented by Facundo Batista, Eric Price, " +"Raymond Hettinger, Aahz, and Tim Peters." +msgstr "" +"Написаний Факундо Батістою та реалізований Факундо Батістою, Еріком Прайсом, " +"Реймондом Геттінгером, Аазом і Тімом Пітерсом." + +msgid "http://www.lahey.com/float.htm" +msgstr "http://www.lahey.com/float.htm" + +msgid "" +"The article uses Fortran code to illustrate many of the problems that " +"floating-point inaccuracy can cause." +msgstr "" +"У статті використовується код Fortran, щоб проілюструвати багато проблем, до " +"яких може призвести неточність числа з плаваючою комою." + +msgid "http://speleotrove.com/decimal/" +msgstr "http://speleotrove.com/decimal/" + +msgid "" +"A description of a decimal-based representation. This representation is " +"being proposed as a standard, and underlies the new Python decimal type. " +"Much of this material was written by Mike Cowlishaw, designer of the Rexx " +"language." +msgstr "" +"Опис десяткового представлення. Це представлення пропонується як стандарт і " +"лежить в основі нового десяткового типу Python. Значну частину цього " +"матеріалу написав Майк Коулішоу, розробник мови Rexx." + +msgid "PEP 328: Multi-line Imports" +msgstr "PEP 328: Багаторядковий імпорт" + +msgid "" +"One language change is a small syntactic tweak aimed at making it easier to " +"import many names from a module. In a ``from module import names`` " +"statement, *names* is a sequence of names separated by commas. If the " +"sequence is very long, you can either write multiple imports from the same " +"module, or you can use backslashes to escape the line endings like this::" +msgstr "" +"Одна зміна мови — це невелике синтаксичне налаштування, спрямоване на " +"полегшення імпорту багатьох імен із модуля. У операторі ``from module import " +"names`` *names* — це послідовність імен, розділених комами. Якщо " +"послідовність дуже довга, ви можете або написати кілька імпортів з одного " +"модуля, або ви можете використовувати зворотні похилі риски, щоб уникнути " +"закінчення рядків, як це::" + +msgid "" +"The syntactic change in Python 2.4 simply allows putting the names within " +"parentheses. Python ignores newlines within a parenthesized expression, so " +"the backslashes are no longer needed::" +msgstr "" +"Синтаксичні зміни в Python 2.4 просто дозволяють поміщати імена в дужки. " +"Python ігнорує нові рядки у виразі в дужках, тому зворотна похила риска " +"більше не потрібна::" + +msgid "" +"The PEP also proposes that all :keyword:`import` statements be absolute " +"imports, with a leading ``.`` character to indicate a relative import. This " +"part of the PEP was not implemented for Python 2.4, but was completed for " +"Python 2.5." +msgstr "" +"PEP також пропонує, щоб усі оператори :keyword:`import` були абсолютними " +"імпортами, із символом ``.`` на початку, який вказує на відносний імпорт. Ця " +"частина PEP не була реалізована для Python 2.4, але була завершена для " +"Python 2.5." + +msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" +msgstr ":pep:`328` - Імпорт: багаторядковий і абсолютний/відносний" + +msgid "Written by Aahz. Multi-line imports were implemented by Dima Dorfman." +msgstr "Написав Ааз. Багаторядковий імпорт реалізував Діма Дорфман." + +msgid "PEP 331: Locale-Independent Float/String Conversions" +msgstr "PEP 331: Незалежне від мови перетворення Float/String" + +msgid "" +"The :mod:`locale` modules lets Python software select various conversions " +"and display conventions that are localized to a particular country or " +"language. However, the module was careful to not change the numeric locale " +"because various functions in Python's implementation required that the " +"numeric locale remain set to the ``'C'`` locale. Often this was because the " +"code was using the C library's :c:func:`atof` function." +msgstr "" +"Модулі :mod:`locale` дозволяють програмному забезпеченню Python вибирати " +"різні перетворення та відображати конвенції, які локалізовані для певної " +"країни чи мови. Однак модуль був обережним, щоб не змінити числову локаль, " +"оскільки різні функції в реалізації Python вимагали, щоб числова локаль " +"залишалася встановленою на ``'C''`` локалі. Часто це було тому, що код " +"використовував функцію :c:func:`atof` бібліотеки C." + +msgid "" +"Not setting the numeric locale caused trouble for extensions that used third-" +"party C libraries, however, because they wouldn't have the correct locale " +"set. The motivating example was GTK+, whose user interface widgets weren't " +"displaying numbers in the current locale." +msgstr "" +"Однак відсутність числової локалі спричиняла проблеми для розширень, які " +"використовували сторонні бібліотеки C, оскільки вони не мали правильного " +"налаштування локалі. Мотивуючим прикладом був GTK+, віджети інтерфейсу " +"користувача якого не відображали числа в поточній локалі." + +msgid "" +"The solution described in the PEP is to add three new functions to the " +"Python API that perform ASCII-only conversions, ignoring the locale setting:" +msgstr "" +"Рішення, описане в PEP, полягає в додаванні трьох нових функцій до API " +"Python, які виконують перетворення лише ASCII, ігноруючи налаштування мови:" + +msgid "" +"``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both " +"convert a string to a C :c:expr:`double`." +msgstr "" + +msgid "" +"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a :c:expr:" +"`double` to an ASCII string." +msgstr "" + +msgid "" +"The code for these functions came from the GLib library (https://developer." +"gnome.org/glib/stable/), whose developers kindly relicensed the relevant " +"functions and donated them to the Python Software Foundation. The :mod:" +"`locale` module can now change the numeric locale, letting extensions such " +"as GTK+ produce the correct results." +msgstr "" +"Код для цих функцій надійшов із бібліотеки GLib (https://developer.gnome.org/" +"glib/stable/), розробники якої люб’язно повторно ліцензували відповідні " +"функції та передали їх Python Software Foundation. Модуль :mod:`locale` " +"тепер може змінювати числову локаль, дозволяючи таким розширенням, як GTK+, " +"видавати правильні результати." + +msgid ":pep:`331` - Locale-Independent Float/String Conversions" +msgstr ":pep:`331` - Незалежне від мови перетворення Float/String" + +msgid "Written by Christian R. Reis, and implemented by Gustavo Carneiro." +msgstr "Написаний Крістіаном Р. Рейсом, реалізований Густаво Карнейро." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"Here are all of the changes that Python 2.4 makes to the core Python " +"language." +msgstr "Ось усі зміни, які Python 2.4 вносить у основну мову Python." + +msgid "Decorators for functions and methods were added (:pep:`318`)." +msgstr "Додано декоратори для функцій і методів (:pep:`318`)." + +msgid "" +"Built-in :func:`set` and :func:`frozenset` types were added (:pep:`218`). " +"Other new built-ins include the ``reversed(seq)`` function (:pep:`322`)." +msgstr "" +"Додано вбудовані типи :func:`set` і :func:`frozenset` (:pep:`218`). Інші " +"нові вбудовані функції включають функцію ``reversed(seq)`` (:pep:`322`)." + +msgid "Generator expressions were added (:pep:`289`)." +msgstr "Додано генератор виразів (:pep:`289`)." + +msgid "" +"Certain numeric expressions no longer return values restricted to 32 or 64 " +"bits (:pep:`237`)." +msgstr "" +"Деякі числові вирази більше не повертають значення, обмежені 32 або 64 " +"бітами (:pep:`237`)." + +msgid "" +"You can now put parentheses around the list of names in a ``from module " +"import names`` statement (:pep:`328`)." +msgstr "" +"Тепер ви можете взяти дужки навколо списку імен у операторі ``from module " +"import names`` (:pep:`328`)." + +msgid "" +"The :meth:`dict.update` method now accepts the same argument forms as the :" +"class:`dict` constructor. This includes any mapping, any iterable of key/" +"value pairs, and keyword arguments. (Contributed by Raymond Hettinger.)" +msgstr "" +"Метод :meth:`dict.update` тепер приймає ті самі форми аргументів, що й " +"конструктор :class:`dict`. Це включає будь-яке відображення, будь-яке " +"повторення пар ключ/значення та аргументи ключового слова. (Надав Реймонд " +"Геттінгер.)" + +msgid "" +"The string methods :meth:`ljust`, :meth:`rjust`, and :meth:`center` now take " +"an optional argument for specifying a fill character other than a space. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Рядкові методи :meth:`ljust`, :meth:`rjust` і :meth:`center` тепер приймають " +"необов’язковий аргумент для визначення символу заповнення, відмінного від " +"пробілу. (Надав Реймонд Геттінгер.)" + +msgid "" +"Strings also gained an :meth:`rsplit` method that works like the :meth:" +"`split` method but splits from the end of the string. (Contributed by Sean " +"Reifschneider.) ::" +msgstr "" +"Рядки також отримали метод :meth:`rsplit`, який працює як метод :meth:" +"`split`, але розділяється з кінця рядка. (Надав Шон Райфшнайдер.) ::" + +msgid "" +"Three keyword parameters, *cmp*, *key*, and *reverse*, were added to the :" +"meth:`sort` method of lists. These parameters make some common usages of :" +"meth:`sort` simpler. All of these parameters are optional." +msgstr "" +"Три параметри ключових слів, *cmp*, *key* і *reverse*, було додано до " +"методу :meth:`sort` списків. Ці параметри спрощують деякі типові " +"використання :meth:`sort`. Усі ці параметри є необов’язковими." + +msgid "" +"For the *cmp* parameter, the value should be a comparison function that " +"takes two parameters and returns -1, 0, or +1 depending on how the " +"parameters compare. This function will then be used to sort the list. " +"Previously this was the only parameter that could be provided to :meth:" +"`sort`." +msgstr "" +"Для параметра *cmp* значенням має бути функція порівняння, яка приймає два " +"параметри та повертає -1, 0 або +1 залежно від того, як параметри " +"порівнюються. Потім ця функція буде використана для сортування списку. " +"Раніше це був єдиний параметр, який можна було надати для :meth:`sort`." + +msgid "" +"*key* should be a single-parameter function that takes a list element and " +"returns a comparison key for the element. The list is then sorted using the " +"comparison keys. The following example sorts a list case-insensitively::" +msgstr "" +"*key* має бути функцією з одним параметром, яка приймає елемент списку та " +"повертає ключ порівняння для елемента. Потім список сортується за допомогою " +"ключів порівняння. Наступний приклад сортує список без урахування регістру::" + +msgid "" +"The last example, which uses the *cmp* parameter, is the old way to perform " +"a case-insensitive sort. It works but is slower than using a *key* " +"parameter. Using *key* calls :meth:`lower` method once for each element in " +"the list while using *cmp* will call it twice for each comparison, so using " +"*key* saves on invocations of the :meth:`lower` method." +msgstr "" +"Останній приклад, у якому використовується параметр *cmp*, є старим способом " +"виконання сортування без урахування регістру. Це працює, але повільніше, ніж " +"використання параметра *key*. Використання *key* викликає метод :meth:" +"`lower` один раз для кожного елемента в списку, тоді як використання *cmp* " +"викликає його двічі для кожного порівняння, тому використання *key* " +"економить на викликах методу :meth:`lower`." + +msgid "" +"For simple key functions and comparison functions, it is often possible to " +"avoid a :keyword:`lambda` expression by using an unbound method instead. " +"For example, the above case-insensitive sort is best written as::" +msgstr "" +"Для простих ключових функцій і функцій порівняння часто можна уникнути " +"виразу :keyword:`lambda`, використовуючи натомість незв’язаний метод. " +"Наприклад, наведене вище сортування без урахування регістру найкраще " +"записати як::" + +msgid "" +"Finally, the *reverse* parameter takes a Boolean value. If the value is " +"true, the list will be sorted into reverse order. Instead of ``L.sort(); L." +"reverse()``, you can now write ``L.sort(reverse=True)``." +msgstr "" +"Нарешті, параметр *reverse* приймає логічне значення. Якщо значення має " +"значення true, список буде відсортовано у зворотному порядку. Замість ``L." +"sort(); L.reverse()``, тепер ви можете написати ``L.sort(reverse=True)``." + +msgid "" +"The results of sorting are now guaranteed to be stable. This means that two " +"entries with equal keys will be returned in the same order as they were " +"input. For example, you can sort a list of people by name, and then sort the " +"list by age, resulting in a list sorted by age where people with the same " +"age are in name-sorted order." +msgstr "" +"Результати сортування тепер гарантовано стабільні. Це означає, що два записи " +"з однаковими ключами буде повернено в тому ж порядку, у якому вони були " +"введені. Наприклад, ви можете відсортувати список людей за іменами, а потім " +"відсортувати список за віком, у результаті чого вийде список, відсортований " +"за віком, де люди одного віку розташовані в порядку за іменами." + +msgid "(All changes to :meth:`sort` contributed by Raymond Hettinger.)" +msgstr "(Усі зміни до :meth:`sort` внесено Раймондом Геттінгером.)" + +msgid "" +"There is a new built-in function ``sorted(iterable)`` that works like the in-" +"place :meth:`list.sort` method but can be used in expressions. The " +"differences are:" +msgstr "" +"Існує нова вбудована функція ``sorted(iterable)``, яка працює як метод in-" +"place :meth:`list.sort`, але її можна використовувати у виразах. Відмінності:" + +msgid "the input may be any iterable;" +msgstr "вхід може бути будь-яким ітерованим;" + +msgid "a newly formed copy is sorted, leaving the original intact; and" +msgstr "новосформовану копію сортують, залишаючи оригінал недоторканим; і" + +msgid "the expression returns the new sorted copy" +msgstr "вираз повертає нову відсортовану копію" + +msgid "(Contributed by Raymond Hettinger.)" +msgstr "(Надав Реймонд Геттінгер.)" + +msgid "" +"Integer operations will no longer trigger an :exc:`OverflowWarning`. The :" +"exc:`OverflowWarning` warning will disappear in Python 2.5." +msgstr "" +"Цілочисельні операції більше не викликатимуть :exc:`OverflowWarning`. " +"Попередження :exc:`OverflowWarning` зникне в Python 2.5." + +msgid "" +"The interpreter gained a new switch, :option:`-m`, that takes a name, " +"searches for the corresponding module on ``sys.path``, and runs the module " +"as a script. For example, you can now run the Python profiler with ``python " +"-m profile``. (Contributed by Nick Coghlan.)" +msgstr "" +"Інтерпретатор отримав новий перемикач, :option:`-m`, який приймає назву, " +"шукає відповідний модуль у ``sys.path`` і запускає модуль як сценарій. " +"Наприклад, тепер ви можете запустити профайлер Python за допомогою ``python -" +"m profile``. (Надав Нік Коглан.)" + +msgid "" +"The ``eval(expr, globals, locals)`` and ``execfile(filename, globals, " +"locals)`` functions and the ``exec`` statement now accept any mapping type " +"for the *locals* parameter. Previously this had to be a regular Python " +"dictionary. (Contributed by Raymond Hettinger.)" +msgstr "" +"Функції ``eval(expr, globals, locals)`` і ``execfile(filename, globals, " +"locals)`` і оператор ``exec`` тепер приймають будь-який тип зіставлення для " +"параметра *locals*. Раніше це мав бути звичайний словник Python. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +"The :func:`zip` built-in function and :func:`itertools.izip` now return an " +"empty list if called with no arguments. Previously they raised a :exc:" +"`TypeError` exception. This makes them more suitable for use with variable " +"length argument lists::" +msgstr "" +"Вбудована функція :func:`zip` і :func:`itertools.izip` тепер повертають " +"порожній список, якщо викликаються без аргументів. Раніше вони викликали " +"виняток :exc:`TypeError`. Це робить їх більш придатними для використання зі " +"списками аргументів змінної довжини:" + +msgid "" +"Encountering a failure while importing a module no longer leaves a partially " +"initialized module object in ``sys.modules``. The incomplete module object " +"left behind would fool further imports of the same module into succeeding, " +"leading to confusing errors. (Fixed by Tim Peters.)" +msgstr "" + +msgid "" +":const:`None` is now a constant; code that binds a new value to the name " +"``None`` is now a syntax error. (Contributed by Raymond Hettinger.)" +msgstr "" +":const:`None` тепер константа; код, який прив’язує нове значення до імені " +"``None``, тепер є синтаксичною помилкою. (Надав Реймонд Геттінгер.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The inner loops for list and tuple slicing were optimized and now run about " +"one-third faster. The inner loops for dictionaries were also optimized, " +"resulting in performance boosts for :meth:`keys`, :meth:`values`, :meth:" +"`items`, :meth:`iterkeys`, :meth:`itervalues`, and :meth:`iteritems`. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Внутрішні цикли для нарізки списків і кортежів оптимізовано і тепер працюють " +"приблизно на третину швидше. Внутрішні цикли для словників також були " +"оптимізовані, що призвело до підвищення продуктивності для :meth:`keys`, :" +"meth:`values`, :meth:`items`, :meth:`iterkeys`, :meth:`itervalues` та :meth:" +"`iteritems`. (Надав Реймонд Геттінгер.)" + +msgid "" +"The machinery for growing and shrinking lists was optimized for speed and " +"for space efficiency. Appending and popping from lists now runs faster due " +"to more efficient code paths and less frequent use of the underlying system :" +"c:func:`realloc`. List comprehensions also benefit. :meth:`list.extend` " +"was also optimized and no longer converts its argument into a temporary list " +"before extending the base list. (Contributed by Raymond Hettinger.)" +msgstr "" +"Обладнання для збільшення та скорочення списків було оптимізовано з точки " +"зору швидкості та економії місця. Додавання та видалення зі списків тепер " +"виконується швидше завдяки більш ефективним шляхам коду та менш частому " +"використанню основної системи :c:func:`realloc`. Розуміння списків також " +"корисне. :meth:`list.extend` також оптимізовано і більше не перетворює свій " +"аргумент у тимчасовий список перед розширенням базового списку. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +":func:`list`, :func:`tuple`, :func:`map`, :func:`filter`, and :func:`zip` " +"now run several times faster with non-sequence arguments that supply a :meth:" +"`__len__` method. (Contributed by Raymond Hettinger.)" +msgstr "" +":func:`list`, :func:`tuple`, :func:`map`, :func:`filter` і :func:`zip` тепер " +"працюють у кілька разів швидше з непослідовними аргументами, які надають :" +"meth:`__len__` метод. (Надав Реймонд Геттінгер.)" + +msgid "" +"The methods :meth:`list.__getitem__`, :meth:`dict.__getitem__`, and :meth:" +"`dict.__contains__` are now implemented as :class:`method_descriptor` " +"objects rather than :class:`wrapper_descriptor` objects. This form of " +"access doubles their performance and makes them more suitable for use as " +"arguments to functionals: ``map(mydict.__getitem__, keylist)``. (Contributed " +"by Raymond Hettinger.)" +msgstr "" +"Методи :meth:`list.__getitem__`, :meth:`dict.__getitem__` і :meth:`dict." +"__contains__` тепер реалізовано як об’єкти :class:`method_descriptor`, а не " +"як об’єкти :class:`wrapper_descriptor`. Ця форма доступу подвоює їх " +"продуктивність і робить їх більш придатними для використання як аргументів " +"функціоналу: ``map(mydict.__getitem__, keylist)``. (Надав Реймонд Геттінгер.)" + +msgid "" +"Added a new opcode, ``LIST_APPEND``, that simplifies the generated bytecode " +"for list comprehensions and speeds them up by about a third. (Contributed " +"by Raymond Hettinger.)" +msgstr "" +"Додано новий код операції, ``LIST_APPEND``, який спрощує згенерований байт-" +"код для розуміння списків і прискорює їх приблизно на третину. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +"The peephole bytecode optimizer has been improved to produce shorter, " +"faster bytecode; remarkably, the resulting bytecode is more readable. " +"(Enhanced by Raymond Hettinger.)" +msgstr "" +"Оптимізатор байт-коду peephole було вдосконалено для створення коротшого та " +"швидшого байт-коду; примітно, що отриманий байт-код більш читабельний. " +"(Покращено Раймондом Геттінгером.)" + +msgid "" +"String concatenations in statements of the form ``s = s + \"abc\"`` and ``s " +"+= \"abc\"`` are now performed more efficiently in certain circumstances. " +"This optimization won't be present in other Python implementations such as " +"Jython, so you shouldn't rely on it; using the :meth:`join` method of " +"strings is still recommended when you want to efficiently glue a large " +"number of strings together. (Contributed by Armin Rigo.)" +msgstr "" +"Конкатенації рядків у операторах у формі ``s = s + \"abc\"`` та ``s += \"abc" +"\"`` тепер виконуються більш ефективно за певних обставин. Ця оптимізація не " +"буде присутня в інших реалізаціях Python, таких як Jython, тому вам не слід " +"покладатися на неї; використання методу рядків :meth:`join` все ще " +"рекомендується, якщо ви хочете ефективно склеїти велику кількість рядків. " +"(Надав Армін Ріго.)" + +msgid "" +"The net result of the 2.4 optimizations is that Python 2.4 runs the pystone " +"benchmark around 5% faster than Python 2.3 and 35% faster than Python 2.2. " +"(pystone is not a particularly good benchmark, but it's the most commonly " +"used measurement of Python's performance. Your own applications may show " +"greater or smaller benefits from Python 2.4.)" +msgstr "" +"Кінцевим результатом оптимізації 2.4 є те, що Python 2.4 виконує тест " +"pystone приблизно на 5% швидше, ніж Python 2.3, і на 35% швидше, ніж Python " +"2.2. (pystone не є особливо хорошим тестом, але це найбільш часто " +"використовуваний метод вимірювання продуктивності Python. Ваші власні " +"програми можуть продемонструвати більшу чи меншу користь від Python 2.4.)" + +msgid "New, Improved, and Deprecated Modules" +msgstr "Нові, покращені та застарілі модулі" + +msgid "" +"As usual, Python's standard library received a number of enhancements and " +"bug fixes. Here's a partial list of the most notable changes, sorted " +"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the " +"source tree for a more complete list of changes, or look through the CVS " +"logs for all the details." +msgstr "" +"Як завжди, стандартна бібліотека Python отримала низку вдосконалень і " +"виправлень помилок. Ось неповний список найбільш помітних змін, " +"відсортованих за алфавітом назв модулів. Зверніться до файлу :file:`Misc/" +"NEWS` у дереві вихідних кодів, щоб отримати більш повний список змін, або " +"перегляньте журнали CVS, щоб отримати всі деталі." + +msgid "" +"The :mod:`asyncore` module's :func:`loop` function now has a *count* " +"parameter that lets you perform a limited number of passes through the " +"polling loop. The default is still to loop forever." +msgstr "" +"Функція :func:`loop` модуля :mod:`asyncore` тепер має параметр *count*, який " +"дозволяє виконувати обмежену кількість проходів через цикл опитування. За " +"замовчуванням все ще цикл вічно." + +msgid "" +"The :mod:`base64` module now has more complete :rfc:`3548` support for " +"Base64, Base32, and Base16 encoding and decoding, including optional case " +"folding and optional alternative alphabets. (Contributed by Barry Warsaw.)" +msgstr "" +"Модуль :mod:`base64` тепер має більш повну підтримку :rfc:`3548` кодування " +"та декодування Base64, Base32 і Base16, включаючи необов’язкове згортання " +"регістру та альтернативні алфавіти. (Надав Баррі Варшау.)" + +msgid "" +"The :mod:`bisect` module now has an underlying C implementation for improved " +"performance. (Contributed by Dmitry Vasiliev.)" +msgstr "" +"Модуль :mod:`bisect` тепер має базову реалізацію C для покращення " +"продуктивності. (Надав Дмитро Васильєв.)" + +msgid "" +"The CJKCodecs collections of East Asian codecs, maintained by Hye-Shik " +"Chang, was integrated into 2.4. The new encodings are:" +msgstr "" +"Колекції кодеків Східної Азії CJKCodecs, які підтримує Hye-Shik Chang, були " +"інтегровані у 2.4. Нові кодування:" + +msgid "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz" +msgstr "Китайська (КНР): gb2312, gbk, gb18030, big5hkscs, hz" + +msgid "Chinese (ROC): big5, cp950" +msgstr "Китайська (ROC): big5, cp950" + +msgid "Japanese: cp932, euc-jis-2004, euc-jp, euc-jisx0213, iso-2022-jp," +msgstr "Японська: cp932, euc-jis-2004, euc-jp, euc-jisx0213, iso-2022-jp," + +msgid "" +"iso-2022-jp-1, iso-2022-jp-2, iso-2022-jp-3, iso-2022-jp-ext, iso-2022-" +"jp-2004, shift-jis, shift-jisx0213, shift-jis-2004" +msgstr "" +"iso-2022-jp-1, iso-2022-jp-2, iso-2022-jp-3, iso-2022-jp-ext, iso-2022-" +"jp-2004, shift-jis, shift-jisx0213, shift- jis-2004" + +msgid "Korean: cp949, euc-kr, johab, iso-2022-kr" +msgstr "Корейська: cp949, euc-kr, johab, iso-2022-kr" + +msgid "" +"Some other new encodings were added: HP Roman8, ISO_8859-11, ISO_8859-16, " +"PCTP-154, and TIS-620." +msgstr "" +"Додано деякі інші нові кодування: HP Roman8, ISO_8859-11, ISO_8859-16, " +"PCTP-154 і TIS-620." + +msgid "" +"The UTF-8 and UTF-16 codecs now cope better with receiving partial input. " +"Previously the :class:`StreamReader` class would try to read more data, " +"making it impossible to resume decoding from the stream. The :meth:`read` " +"method will now return as much data as it can and future calls will resume " +"decoding where previous ones left off. (Implemented by Walter Dörwald.)" +msgstr "" +"Кодеки UTF-8 і UTF-16 тепер краще справляються з отриманням часткового " +"введення. Раніше клас :class:`StreamReader` намагався прочитати більше " +"даних, унеможливлюючи відновлення декодування з потоку. Метод :meth:`read` " +"тепер повертатиме стільки даних, скільки зможе, а майбутні виклики " +"відновлюватимуть декодування там, де зупинилися попередні. (Реалізовано " +"Вальтером Дьорвальдом.)" + +msgid "" +"There is a new :mod:`collections` module for various specialized collection " +"datatypes. Currently it contains just one type, :class:`deque`, a double-" +"ended queue that supports efficiently adding and removing elements from " +"either end::" +msgstr "" +"Існує новий модуль :mod:`collections` для різних спеціалізованих типів даних " +"колекції. Наразі він містить лише один тип, :class:`deque`, двосторонню " +"чергу, яка підтримує ефективне додавання та видалення елементів з будь-якого " +"кінця::" + +msgid "" +"Several modules, such as the :mod:`Queue` and :mod:`threading` modules, now " +"take advantage of :class:`collections.deque` for improved performance. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Кілька модулів, наприклад модулі :mod:`Queue` і :mod:`threading`, тепер " +"використовують переваги :class:`collections.deque` для покращення " +"продуктивності. (Надав Реймонд Геттінгер.)" + +msgid "" +"The :mod:`ConfigParser` classes have been enhanced slightly. The :meth:" +"`read` method now returns a list of the files that were successfully parsed, " +"and the :meth:`set` method raises :exc:`TypeError` if passed a *value* " +"argument that isn't a string. (Contributed by John Belmonte and David " +"Goodger.)" +msgstr "" +"Класи :mod:`ConfigParser` були дещо вдосконалені. Метод :meth:`read` тепер " +"повертає список файлів, які були успішно проаналізовані, а метод :meth:`set` " +"викликає :exc:`TypeError`, якщо передано аргумент *value*, який не є рядком. " +"(Надано Джоном Белмонте та Девідом Гуджером.)" + +msgid "" +"The :mod:`curses` module now supports the ncurses extension :func:" +"`use_default_colors`. On platforms where the terminal supports " +"transparency, this makes it possible to use a transparent background. " +"(Contributed by Jörg Lehmann.)" +msgstr "" +"Модуль :mod:`curses` тепер підтримує розширення ncurses :func:" +"`use_default_colors`. На платформах, де термінал підтримує прозорість, це " +"дає змогу використовувати прозорий фон. (Надав Йорг Леманн.)" + +msgid "" +"The :mod:`difflib` module now includes an :class:`HtmlDiff` class that " +"creates an HTML table showing a side by side comparison of two versions of a " +"text. (Contributed by Dan Gass.)" +msgstr "" +"Модуль :mod:`difflib` тепер містить клас :class:`HtmlDiff`, який створює " +"HTML-таблицю, що показує пліч-о-пліч порівняння двох версій тексту. (Надав " +"Ден Гасс.)" + +msgid "" +"The :mod:`email` package was updated to version 3.0, which dropped various " +"deprecated APIs and removes support for Python versions earlier than 2.3. " +"The 3.0 version of the package uses a new incremental parser for MIME " +"messages, available in the :mod:`email.FeedParser` module. The new parser " +"doesn't require reading the entire message into memory, and doesn't raise " +"exceptions if a message is malformed; instead it records any problems in " +"the :attr:`defect` attribute of the message. (Developed by Anthony Baxter, " +"Barry Warsaw, Thomas Wouters, and others.)" +msgstr "" +"Пакет :mod:`email` було оновлено до версії 3.0, у якій усунено різні " +"застарілі API та припинено підтримку версій Python, раніших за 2.3. Версія " +"пакета 3.0 використовує новий інкрементальний аналізатор для повідомлень " +"MIME, доступний у модулі :mod:`email.FeedParser`. Новий синтаксичний " +"аналізатор не вимагає читання всього повідомлення в пам’ять і не викликає " +"винятків, якщо повідомлення неправильно сформоване; замість цього він " +"записує всі проблеми в атрибуті :attr:`defect` повідомлення. (Розроблено " +"Ентоні Бакстером, Баррі Варсоу, Томасом Воутерсом та іншими.)" + +msgid "" +"The :mod:`heapq` module has been converted to C. The resulting tenfold " +"improvement in speed makes the module suitable for handling high volumes of " +"data. In addition, the module has two new functions :func:`nlargest` and :" +"func:`nsmallest` that use heaps to find the N largest or smallest values in " +"a dataset without the expense of a full sort. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +"Модуль :mod:`heapq` було перетворено на C. Десятикратне підвищення швидкості " +"робить модуль придатним для роботи з великими обсягами даних. Крім того, " +"модуль має дві нові функції :func:`nlargest` і :func:`nsmallest`, які " +"використовують купи для пошуку N найбільших або найменших значень у наборі " +"даних без витрат на повне сортування. (Надав Реймонд Геттінгер.)" + +msgid "" +"The :mod:`httplib` module now contains constants for HTTP status codes " +"defined in various HTTP-related RFC documents. Constants have names such " +"as :const:`OK`, :const:`CREATED`, :const:`CONTINUE`, and :const:" +"`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed by Andrew " +"Eland.)" +msgstr "" +"Модуль :mod:`httplib` тепер містить константи для кодів стану HTTP, " +"визначених у різних документах RFC, пов’язаних з HTTP. Константи мають такі " +"імена, як :const:`OK`, :const:`CREATED`, :const:`CONTINUE` і :const:" +"`MOVED_PERMANENTLY`; використовуйте pydoc, щоб отримати повний список. " +"(Надав Ендрю Еланд.)" + +msgid "" +"The :mod:`imaplib` module now supports IMAP's THREAD command (contributed by " +"Yves Dionne) and new :meth:`deleteacl` and :meth:`myrights` methods " +"(contributed by Arnaud Mazin)." +msgstr "" +"Модуль :mod:`imaplib` тепер підтримує команду THREAD IMAP (надано Yves " +"Dionne) і нові методи :meth:`deleteacl` і :meth:`myrights` (надано Arnaud " +"Mazin)." + +msgid "" +"The :mod:`itertools` module gained a ``groupby(iterable[, *func*])`` " +"function. *iterable* is something that can be iterated over to return a " +"stream of elements, and the optional *func* parameter is a function that " +"takes an element and returns a key value; if omitted, the key is simply the " +"element itself. :func:`groupby` then groups the elements into subsequences " +"which have matching values of the key, and returns a series of 2-tuples " +"containing the key value and an iterator over the subsequence." +msgstr "" +"Модуль :mod:`itertools` отримав функцію ``groupby(iterable[, *func*])``. " +"*iterable* — це те, що можна повторити, щоб повернути потік елементів, а " +"необов’язковий параметр *func* — це функція, яка приймає елемент і повертає " +"значення ключа; якщо опущено, ключ - це просто сам елемент. Потім :func:" +"`groupby` групує елементи в підпослідовності, які мають відповідні значення " +"ключа, і повертає серію 2-кортежів, що містять значення ключа та ітератор " +"над підпослідовністю." + +msgid "" +"Here's an example to make this clearer. The *key* function simply returns " +"whether a number is even or odd, so the result of :func:`groupby` is to " +"return consecutive runs of odd or even numbers. ::" +msgstr "" +"Ось приклад, щоб це було зрозуміліше. Функція *key* просто повертає, чи є " +"число парним чи непарним, тому результатом :func:`groupby` є повернення " +"послідовних циклів парних чи непарних чисел. ::" + +msgid "" +":func:`groupby` is typically used with sorted input. The logic for :func:" +"`groupby` is similar to the Unix ``uniq`` filter which makes it handy for " +"eliminating, counting, or identifying duplicate elements::" +msgstr "" +":func:`groupby` зазвичай використовується з відсортованим введенням. Логіка " +"для :func:`groupby` подібна до фільтра Unix ``uniq``, що робить його зручним " +"для видалення, підрахунку або ідентифікації повторюваних елементів:" + +msgid "(Contributed by Hye-Shik Chang.)" +msgstr "(Надано Hye-Shik Chang.)" + +msgid "" +":mod:`itertools` also gained a function named ``tee(iterator, N)`` that " +"returns *N* independent iterators that replicate *iterator*. If *N* is " +"omitted, the default is 2. ::" +msgstr "" +":mod:`itertools` також отримав функцію під назвою ``tee(iterator, N)``, яка " +"повертає *N* незалежних ітераторів, які копіюють *iterator*. Якщо *N* " +"опущено, за замовчуванням буде 2. ::" + +msgid "" +"Note that :func:`tee` has to keep copies of the values returned by the " +"iterator; in the worst case, it may need to keep all of them. This should " +"therefore be used carefully if the leading iterator can run far ahead of the " +"trailing iterator in a long stream of inputs. If the separation is large, " +"then you might as well use :func:`list` instead. When the iterators track " +"closely with one another, :func:`tee` is ideal. Possible applications " +"include bookmarking, windowing, or lookahead iterators. (Contributed by " +"Raymond Hettinger.)" +msgstr "" +"Зауважте, що :func:`tee` має зберігати копії значень, які повертає ітератор; " +"у гіршому випадку, можливо, доведеться зберегти їх усі. Тому це слід " +"використовувати обережно, якщо провідний ітератор може працювати набагато " +"попереду кінцевого ітератора в довгому потоці вхідних даних. Якщо розділення " +"велике, ви також можете використати замість нього :func:`list`. Коли " +"ітератори тісно відстежують один одного, :func:`tee` є ідеальним. Можливі " +"програми включають закладки, вікна або ітератори з попереднім переглядом. " +"(Надав Реймонд Геттінгер.)" + +msgid "" +"A number of functions were added to the :mod:`locale` module, such as :func:" +"`bind_textdomain_codeset` to specify a particular encoding and a family of :" +"func:`l\\*gettext` functions that return messages in the chosen encoding. " +"(Contributed by Gustavo Niemeyer.)" +msgstr "" +"До модуля :mod:`locale` було додано ряд функцій, наприклад :func:" +"`bind_textdomain_codeset` для визначення конкретного кодування та сімейство " +"функцій :func:`l\\*gettext`, які повертають повідомлення у вибраному " +"кодуванні. . (Надав Густаво Німейєр.)" + +msgid "" +"Some keyword arguments were added to the :mod:`logging` package's :func:" +"`basicConfig` function to simplify log configuration. The default behavior " +"is to log messages to standard error, but various keyword arguments can be " +"specified to log to a particular file, change the logging format, or set the " +"logging level. For example::" +msgstr "" +"До функції :func:`basicConfig` пакета :mod:`logging` було додано деякі " +"аргументи ключових слів, щоб спростити налаштування журналу. Поведінка за " +"замовчуванням — реєстрація повідомлень до стандартної помилки, але можна " +"вказати різні ключові аргументи для реєстрації в певному файлі, зміни " +"формату журналювання або встановлення рівня журналювання. Наприклад::" + +msgid "" +"Other additions to the :mod:`logging` package include a ``log(level, msg)`` " +"convenience method, as well as a :class:`TimedRotatingFileHandler` class " +"that rotates its log files at a timed interval. The module already had :" +"class:`RotatingFileHandler`, which rotated logs once the file exceeded a " +"certain size. Both classes derive from a new :class:`BaseRotatingHandler` " +"class that can be used to implement other rotating handlers." +msgstr "" +"Інші доповнення до пакета :mod:`logging` включають зручний метод " +"``log(level, msg)``, а також клас :class:`TimedRotatingFileHandler`, який " +"обертає свої файли журналу з певним інтервалом. Модуль уже мав :class:" +"`RotatingFileHandler`, який обертав журнали, коли файл перевищував певний " +"розмір. Обидва класи походять від нового класу :class:`BaseRotatingHandler`, " +"який можна використовувати для реалізації інших обертових обробників." + +msgid "(Changes implemented by Vinay Sajip.)" +msgstr "(Зміни внесено Вінаєм Саджипом.)" + +msgid "" +"The :mod:`marshal` module now shares interned strings on unpacking a data " +"structure. This may shrink the size of certain pickle strings, but the " +"primary effect is to make :file:`.pyc` files significantly smaller. " +"(Contributed by Martin von Löwis.)" +msgstr "" +"Модуль :mod:`marshal` тепер ділиться вбудованими рядками під час " +"розпакування структури даних. Це може зменшити розмір певних рядків pickle, " +"але основний ефект полягає в тому, щоб зробити файли :file:`.pyc` значно " +"меншими. (Надав Мартін фон Льовіс.)" + +msgid "" +"The :mod:`nntplib` module's :class:`NNTP` class gained :meth:`description` " +"and :meth:`descriptions` methods to retrieve newsgroup descriptions for a " +"single group or for a range of groups. (Contributed by Jürgen A. Erhard.)" +msgstr "" +"Клас :class:`NNTP` модуля :mod:`nntplib` отримав методи :meth:`description` " +"і :meth:`descriptions` для отримання описів груп новин для однієї групи або " +"для діапазону груп. (Надав Юрген А. Ерхард.)" + +msgid "" +"Two new functions were added to the :mod:`operator` module, " +"``attrgetter(attr)`` and ``itemgetter(index)``. Both functions return " +"callables that take a single argument and return the corresponding attribute " +"or item; these callables make excellent data extractors when used with :func:" +"`map` or :func:`sorted`. For example::" +msgstr "" +"До модуля :mod:`operator` додано дві нові функції, ``attrgetter(attr)`` та " +"``itemgetter(index)``. Обидві функції повертають виклики, які приймають один " +"аргумент і повертають відповідний атрибут або елемент; ці виклики створюють " +"чудові екстрактори даних при використанні з :func:`map` або :func:`sorted`. " +"Наприклад::" + +msgid "" +"The :mod:`optparse` module was updated in various ways. The module now " +"passes its messages through :func:`gettext.gettext`, making it possible to " +"internationalize Optik's help and error messages. Help messages for options " +"can now include the string ``'%default'``, which will be replaced by the " +"option's default value. (Contributed by Greg Ward.)" +msgstr "" +"Модуль :mod:`optparse` було оновлено різними способами. Тепер модуль передає " +"свої повідомлення через :func:`gettext.gettext`, що робить можливим " +"інтернаціоналізацію довідки та повідомлень про помилки Optik. Повідомлення " +"довідки для параметрів тепер можуть містити рядок ``'%default``, який буде " +"замінено значенням параметра за замовчуванням. (Надав Грег Ворд.)" + +msgid "" +"The long-term plan is to deprecate the :mod:`rfc822` module in some future " +"Python release in favor of the :mod:`email` package. To this end, the :func:" +"`email.Utils.formatdate` function has been changed to make it usable as a " +"replacement for :func:`rfc822.formatdate`. You may want to write new e-mail " +"processing code with this in mind. (Change implemented by Anthony Baxter.)" +msgstr "" +"Довгостроковий план полягає в тому, щоб припинити підтримку модуля :mod:" +"`rfc822` в майбутньому випуску Python на користь пакета :mod:`email`. З цією " +"метою функцію :func:`email.Utils.formatdate` було змінено, щоб її можна було " +"використовувати як заміну для :func:`rfc822.formatdate`. Маючи це на увазі, " +"ви можете написати новий код обробки електронної пошти. (Зміну вніс Ентоні " +"Бакстер.)" + +msgid "" +"A new ``urandom(n)`` function was added to the :mod:`os` module, returning a " +"string containing *n* bytes of random data. This function provides access " +"to platform-specific sources of randomness such as :file:`/dev/urandom` on " +"Linux or the Windows CryptoAPI. (Contributed by Trevor Perrin.)" +msgstr "" +"До модуля :mod:`os` було додано нову функцію ``urandom(n)``, яка повертає " +"рядок, що містить *n* байтів випадкових даних. Ця функція надає доступ до " +"специфічних для платформи джерел випадковості, таких як :file:`/dev/urandom` " +"у Linux або Windows CryptoAPI. (Надано Тревором Перріном.)" + +msgid "" +"Another new function: ``os.path.lexists(path)`` returns true if the file " +"specified by *path* exists, whether or not it's a symbolic link. This " +"differs from the existing ``os.path.exists(path)`` function, which returns " +"false if *path* is a symlink that points to a destination that doesn't " +"exist. (Contributed by Beni Cherniavsky.)" +msgstr "" +"Ще одна нова функція: ``os.path.lexists(path)`` повертає true, якщо файл, " +"визначений *path*, існує, незалежно від того, чи є це символічним " +"посиланням. Це відрізняється від існуючої функції ``os.path.exists(path)``, " +"яка повертає false, якщо *path* є символічним посиланням, яке вказує на " +"пункт призначення, якого не існує. (Надав Бені Чернявський.)" + +msgid "" +"A new :func:`getsid` function was added to the :mod:`posix` module that " +"underlies the :mod:`os` module. (Contributed by J. Raynor.)" +msgstr "" +"Нову функцію :func:`getsid` було додано до модуля :mod:`posix`, який лежить " +"в основі модуля :mod:`os`. (Надав Дж. Рейнор.)" + +msgid "" +"The :mod:`poplib` module now supports POP over SSL. (Contributed by Hector " +"Urtubia.)" +msgstr "" +"Модуль :mod:`poplib` тепер підтримує POP через SSL. (Надав Гектор Уртубія.)" + +msgid "" +"The :mod:`profile` module can now profile C extension functions. " +"(Contributed by Nick Bastin.)" +msgstr "" +"Модуль :mod:`profile` тепер може профілювати функції розширення C. (Надав " +"Нік Бастін.)" + +msgid "" +"The :mod:`random` module has a new method called ``getrandbits(N)`` that " +"returns a long integer *N* bits in length. The existing :meth:`randrange` " +"method now uses :meth:`getrandbits` where appropriate, making generation of " +"arbitrarily large random numbers more efficient. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +"Модуль :mod:`random` має новий метод під назвою ``getrandbits(N)``, який " +"повертає довге ціле число *N* біт. Існуючий метод :meth:`randrange` тепер " +"використовує :meth:`getrandbits`, де це доречно, що робить генерацію " +"довільно великих випадкових чисел більш ефективною. (Надав Реймонд " +"Геттінгер.)" + +msgid "" +"The regular expression language accepted by the :mod:`re` module was " +"extended with simple conditional expressions, written as ``(?(group)A|B)``. " +"*group* is either a numeric group ID or a group name defined with ``(?" +"P...)`` earlier in the expression. If the specified group matched, " +"the regular expression pattern *A* will be tested against the string; if the " +"group didn't match, the pattern *B* will be used instead. (Contributed by " +"Gustavo Niemeyer.)" +msgstr "" +"Мова регулярних виразів, прийнята модулем :mod:`re`, була розширена простими " +"умовними виразами, написаними як ``(?(group)A|B)``. *group* — це числовий " +"ідентифікатор групи або назва групи, визначена за допомогою ``(?P " +" ...)`` раніше у виразі. Якщо вказана група збігається, шаблон " +"регулярного виразу *A* буде перевірено на відповідність рядку; якщо група не " +"збігається, замість неї буде використано шаблон *B*. (Надав Густаво Німейєр.)" + +msgid "" +"The :mod:`re` module is also no longer recursive, thanks to a massive amount " +"of work by Gustavo Niemeyer. In a recursive regular expression engine, " +"certain patterns result in a large amount of C stack space being consumed, " +"and it was possible to overflow the stack. For example, if you matched a " +"30000-byte string of ``a`` characters against the expression ``(a|b)+``, one " +"stack frame was consumed per character. Python 2.3 tried to check for stack " +"overflow and raise a :exc:`RuntimeError` exception, but certain patterns " +"could sidestep the checking and if you were unlucky Python could segfault. " +"Python 2.4's regular expression engine can match this pattern without " +"problems." +msgstr "" +"Модуль :mod:`re` також більше не є рекурсивним, завдяки величезній кількості " +"роботи Густаво Німейєра. У механізмі рекурсивних регулярних виразів певні " +"шаблони призводять до використання великої кількості стеку C, і стек може " +"бути переповнений. Наприклад, якщо ви зіставили 30000-байтовий рядок " +"символів ``a`` із виразом ``(a|b)+``, один кадр стека споживався на символ. " +"Python 2.3 намагався перевірити переповнення стеку та викликати виняток :exc:" +"`RuntimeError`, але певні шаблони могли обійти перевірку, і якщо вам не " +"пощастило, Python міг стати segfault. Механізм регулярних виразів Python 2.4 " +"може без проблем відповідати цьому шаблону." + +msgid "" +"The :mod:`signal` module now performs tighter error-checking on the " +"parameters to the :func:`signal.signal` function. For example, you can't " +"set a handler on the :const:`SIGKILL` signal; previous versions of Python " +"would quietly accept this, but 2.4 will raise a :exc:`RuntimeError` " +"exception." +msgstr "" +"Модуль :mod:`signal` тепер виконує ретельнішу перевірку параметрів функції :" +"func:`signal.signal` на помилки. Наприклад, ви не можете встановити обробник " +"для сигналу :const:`SIGKILL`; попередні версії Python спокійно прийняли це, " +"але 2.4 викличе виняток :exc:`RuntimeError`." + +msgid "" +"Two new functions were added to the :mod:`socket` module. :func:`socketpair` " +"returns a pair of connected sockets and ``getservbyport(port)`` looks up the " +"service name for a given port number. (Contributed by Dave Cole and Barry " +"Warsaw.)" +msgstr "" +"До модуля :mod:`socket` додано дві нові функції. :func:`socketpair` повертає " +"пару підключених сокетів, а ``getservbyport(port)`` шукає назву служби для " +"даного номера порту. (Надано Дейвом Коулом і Баррі Варшау.)" + +msgid "" +"The :func:`sys.exitfunc` function has been deprecated. Code should be using " +"the existing :mod:`atexit` module, which correctly handles calling multiple " +"exit functions. Eventually :func:`sys.exitfunc` will become a purely " +"internal interface, accessed only by :mod:`atexit`." +msgstr "" +"Функція :func:`sys.exitfunc` застаріла. У коді має використовуватися " +"існуючий модуль :mod:`atexit`, який правильно обробляє виклик кількох " +"функцій виходу. Згодом :func:`sys.exitfunc` стане суто внутрішнім " +"інтерфейсом, доступ до якого буде мати лише :mod:`atexit`." + +msgid "" +"The :mod:`tarfile` module now generates GNU-format tar files by default. " +"(Contributed by Lars Gustäbel.)" +msgstr "" +"Модуль :mod:`tarfile` тепер за замовчуванням створює файли tar у форматі " +"GNU. (Надав Ларс Густебель.)" + +msgid "" +"The :mod:`threading` module now has an elegantly simple way to support " +"thread-local data. The module contains a :class:`local` class whose " +"attribute values are local to different threads. ::" +msgstr "" +"Модуль :mod:`threading` тепер має елегантно простий спосіб підтримки " +"локальних даних потоку. Модуль містить клас :class:`local`, значення " +"атрибутів якого є локальними для різних потоків. ::" + +msgid "" +"Other threads can assign and retrieve their own values for the :attr:" +"`number` and :attr:`url` attributes. You can subclass :class:`local` to " +"initialize attributes or to add methods. (Contributed by Jim Fulton.)" +msgstr "" +"Інші потоки можуть призначати та отримувати власні значення для атрибутів :" +"attr:`number` і :attr:`url`. Ви можете створити підклас :class:`local`, щоб " +"ініціалізувати атрибути або додати методи. (Надав Джим Фултон.)" + +msgid "" +"The :mod:`timeit` module now automatically disables periodic garbage " +"collection during the timing loop. This change makes consecutive timings " +"more comparable. (Contributed by Raymond Hettinger.)" +msgstr "" +"Модуль :mod:`timeit` тепер автоматично вимикає періодичне збирання сміття " +"під час циклу синхронізації. Ця зміна робить послідовні таймінги більш " +"порівнянними. (Надав Реймонд Геттінгер.)" + +msgid "" +"The :mod:`weakref` module now supports a wider variety of objects including " +"Python functions, class instances, sets, frozensets, deques, arrays, files, " +"sockets, and regular expression pattern objects. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +"Модуль :mod:`weakref` тепер підтримує більшу різноманітність об’єктів, " +"включаючи функції Python, екземпляри класів, набори, заморожені набори, дві " +"версії, масиви, файли, сокети та шаблони регулярних виразів. (Надав Реймонд " +"Геттінгер.)" + +msgid "" +"The :mod:`xmlrpclib` module now supports a multi-call extension for " +"transmitting multiple XML-RPC calls in a single HTTP operation. (Contributed " +"by Brian Quinlan.)" +msgstr "" +"Модуль :mod:`xmlrpclib` тепер підтримує розширення кількох викликів для " +"передачі кількох викликів XML-RPC в одній операції HTTP. (Надав Браян " +"Квінлан.)" + +msgid "" +"The :mod:`mpz`, :mod:`rotor`, and :mod:`xreadlines` modules have been " +"removed." +msgstr "Модулі :mod:`mpz`, :mod:`rotor` і :mod:`xreadlines` видалено." + +msgid "cookielib" +msgstr "cookielib" + +msgid "" +"The :mod:`cookielib` library supports client-side handling for HTTP cookies, " +"mirroring the :mod:`Cookie` module's server-side cookie support. Cookies are " +"stored in cookie jars; the library transparently stores cookies offered by " +"the web server in the cookie jar, and fetches the cookie from the jar when " +"connecting to the server. As in web browsers, policy objects control whether " +"cookies are accepted or not." +msgstr "" +"Бібліотека :mod:`cookielib` підтримує обробку файлів cookie HTTP на стороні " +"клієнта, віддзеркалюючи підтримку файлів cookie на стороні сервера модуля :" +"mod:`Cookie`. Печиво зберігається в банках для печива; бібліотека прозоро " +"зберігає файли cookie, запропоновані веб-сервером, у контейнері файлів " +"cookie та отримує файли cookie з контейнера під час підключення до сервера. " +"Як і у веб-браузерах, об’єкти політики контролюють, приймаються чи ні файли " +"cookie." + +msgid "" +"In order to store cookies across sessions, two implementations of cookie " +"jars are provided: one that stores cookies in the Netscape format so " +"applications can use the Mozilla or Lynx cookie files, and one that stores " +"cookies in the same format as the Perl libwww library." +msgstr "" +"Щоб зберігати файли cookie протягом сеансів, передбачено дві реалізації " +"файлів cookie: один, який зберігає файли cookie у форматі Netscape, щоб " +"програми могли використовувати файли cookie Mozilla або Lynx, і інший, який " +"зберігає файли cookie у тому самому форматі, що й бібліотека Perl libwww." + +msgid "" +":mod:`urllib2` has been changed to interact with :mod:`cookielib`: :class:" +"`HTTPCookieProcessor` manages a cookie jar that is used when accessing URLs." +msgstr "" +":mod:`urllib2` змінено для взаємодії з :mod:`cookielib`: :class:" +"`HTTPCookieProcessor` керує файлом cookie, який використовується під час " +"доступу до URL-адрес." + +msgid "This module was contributed by John J. Lee." +msgstr "Цей модуль створено Джоном Дж. Лі." + +msgid "doctest" +msgstr "doctest" + +msgid "" +"The :mod:`doctest` module underwent considerable refactoring thanks to " +"Edward Loper and Tim Peters. Testing can still be as simple as running :" +"func:`doctest.testmod`, but the refactorings allow customizing the module's " +"operation in various ways" +msgstr "" +"Модуль :mod:`doctest` зазнав значного рефакторингу завдяки Едварду Лоперу та " +"Тіму Пітерсу. Тестування може бути таким же простим, як запуск :func:" +"`doctest.testmod`, але рефакторинг дозволяє налаштувати роботу модуля " +"різними способами" + +msgid "" +"The new :class:`DocTestFinder` class extracts the tests from a given " +"object's docstrings::" +msgstr "" +"Новий клас :class:`DocTestFinder` витягує тести з рядків документації даного " +"об’єкта::" + +msgid "" +"The new :class:`DocTestRunner` class then runs individual tests and can " +"produce a summary of the results::" +msgstr "" +"Потім новий клас :class:`DocTestRunner` запускає окремі тести та може " +"створювати зведення результатів:" + +msgid "The above example produces the following output::" +msgstr "Наведений вище приклад дає такий вихід:" + +msgid "" +":class:`DocTestRunner` uses an instance of the :class:`OutputChecker` class " +"to compare the expected output with the actual output. This class takes a " +"number of different flags that customize its behaviour; ambitious users can " +"also write a completely new subclass of :class:`OutputChecker`." +msgstr "" +":class:`DocTestRunner` використовує екземпляр класу :class:`OutputChecker` " +"для порівняння очікуваного результату з фактичним результатом. Цей клас " +"приймає кілька різних прапорів, які налаштовують його поведінку; амбітні " +"користувачі також можуть написати абсолютно новий підклас :class:" +"`OutputChecker`." + +msgid "" +"The default output checker provides a number of handy features. For example, " +"with the :const:`doctest.ELLIPSIS` option flag, an ellipsis (``...``) in the " +"expected output matches any substring, making it easier to accommodate " +"outputs that vary in minor ways::" +msgstr "" +"Засіб перевірки виводу за замовчуванням надає ряд зручних функцій. " +"Наприклад, з прапорцем опції :const:`doctest.ELLIPSIS` три крапки (``...``) " +"в очікуваному виведенні відповідають будь-якому підрядку, що полегшує " +"розміщення виходів, які незначно відрізняються:" + +msgid "Another special string, ````, matches a blank line::" +msgstr "" +"Інший спеціальний рядок, ````, відповідає порожньому рядку::" + +msgid "" +"Another new capability is producing a diff-style display of the output by " +"specifying the :const:`doctest.REPORT_UDIFF` (unified diffs), :const:" +"`doctest.REPORT_CDIFF` (context diffs), or :const:`doctest.REPORT_NDIFF` " +"(delta-style) option flags. For example::" +msgstr "" +"Іншою новою можливістю є створення відображення вихідних даних у стилі " +"відмінностей, вказуючи :const:`doctest.REPORT_UDIFF` (уніфіковані " +"відмінності), :const:`doctest.REPORT_CDIFF` (контекстні відмінності) або :" +"const:`doctest.REPORT_NDIFF` (дельта-стиль) позначки параметрів. Наприклад::" + +msgid "" +"Running the above function's tests with :const:`doctest.REPORT_UDIFF` " +"specified, you get the following output:" +msgstr "" +"Запустивши тести наведеної вище функції з указаним :const:`doctest." +"REPORT_UDIFF`, ви отримаєте такий результат:" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Some of the changes to Python's build process and to the C API are:" +msgstr "Деякі зміни в процесі збирання Python і в API C:" + +msgid "" +"Three new convenience macros were added for common return values from " +"extension functions: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE`, " +"and :c:macro:`Py_RETURN_FALSE`. (Contributed by Brett Cannon.)" +msgstr "" +"Додано три нові зручні макроси для типових значень, що повертаються " +"функціями розширення: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE` " +"і :c:macro:`Py_RETURN_FALSE`. (Надав Бретт Кеннон.)" + +msgid "" +"Another new macro, :c:macro:`Py_CLEAR`, decreases the reference count of " +"*obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" +msgstr "" + +msgid "" +"A new function, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, constructs " +"tuples from a variable length argument list of Python objects. (Contributed " +"by Raymond Hettinger.)" +msgstr "" +"Нова функція, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, створює кортежі зі " +"списку аргументів змінної довжини об’єктів Python. (Надав Реймонд Геттінгер.)" + +msgid "" +"A new function, ``PyDict_Contains(d, k)``, implements fast dictionary " +"lookups without masking exceptions raised during the look-up process. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Нова функція, ``PyDict_Contains(d, k)``, реалізує швидкий пошук у словнику " +"без маскування винятків, які виникають під час процесу пошуку. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +"The :c:expr:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " +"*X* is a NaN. (Contributed by Tim Peters.)" +msgstr "" + +msgid "" +"C code can avoid unnecessary locking by using the new :c:func:" +"`PyEval_ThreadsInitialized` function to tell if any thread operations have " +"been performed. If this function returns false, no lock operations are " +"needed. (Contributed by Nick Coghlan.)" +msgstr "" +"Код C може уникнути непотрібного блокування, використовуючи нову функцію :c:" +"func:`PyEval_ThreadsInitialized`, щоб дізнатися, чи були виконані будь-які " +"операції потоку. Якщо ця функція повертає false, операції блокування не " +"потрібні. (Надав Нік Коглан.)" + +msgid "" +"A new function, :c:func:`PyArg_VaParseTupleAndKeywords`, is the same as :c:" +"func:`PyArg_ParseTupleAndKeywords` but takes a :c:type:`va_list` instead of " +"a number of arguments. (Contributed by Greg Chapman.)" +msgstr "" +"Нова функція, :c:func:`PyArg_VaParseTupleAndKeywords`, така сама, як :c:func:" +"`PyArg_ParseTupleAndKeywords`, але приймає :c:type:`va_list` замість кількох " +"аргументів. (Надав Грег Чепмен.)" + +msgid "" +"A new method flag, :const:`METH_COEXISTS`, allows a function defined in " +"slots to co-exist with a :c:type:`PyCFunction` having the same name. This " +"can halve the access time for a method such as :meth:`set.__contains__`. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Новий прапор методу, :const:`METH_COEXISTS`, дозволяє функції, визначеній у " +"слотах, співіснувати з :c:type:`PyCFunction`, що має таке ж ім’я. Це може " +"вдвічі скоротити час доступу для такого методу, як :meth:`set.__contains__`. " +"(Надав Реймонд Геттінгер.)" + +msgid "" +"Python can now be built with additional profiling for the interpreter " +"itself, intended as an aid to people developing the Python core. Providing :" +"option:`!--enable-profiling` to the :program:`configure` script will let you " +"profile the interpreter with :program:`gprof`, and providing the :option:`!--" +"with-tsc` switch enables profiling using the Pentium's Time-Stamp-Counter " +"register. Note that the :option:`!--with-tsc` switch is slightly misnamed, " +"because the profiling feature also works on the PowerPC platform, though " +"that processor architecture doesn't call that register \"the TSC register" +"\". (Contributed by Jeremy Hylton.)" +msgstr "" +"Тепер Python можна створювати з додатковим профілюванням для самого " +"інтерпретатора, призначеного як допомога людям, які розробляють ядро Python. " +"Надання :option:`!--enable-profiling` сценарію :program:`configure` " +"дозволить вам профілювати інтерпретатор за допомогою :program:`gprof` і " +"надання перемикача :option:`!--with-tsc` дозволяє профілювання за допомогою " +"реєстру Time-Stamp-Counter Pentium. Зауважте, що перемикач :option:`!--with-" +"tsc` трохи неправильно названо, тому що функція профілювання також працює на " +"платформі PowerPC, хоча ця архітектура процесора не називає цей регістр " +"\"реєстром TSC\". (Надав Джеремі Гілтон.)" + +msgid "" +"The :c:type:`tracebackobject` type has been renamed to :c:type:" +"`PyTracebackObject`." +msgstr "" +"Тип :c:type:`tracebackobject` було перейменовано на :c:type:" +"`PyTracebackObject`." + +msgid "Port-Specific Changes" +msgstr "Зміни, що стосуються порту" + +msgid "" +"The Windows port now builds under MSVC++ 7.1 as well as version 6. " +"(Contributed by Martin von Löwis.)" +msgstr "" +"Порт Windows тепер створено під MSVC++ 7.1, а також версію 6. (Надано " +"Мартіном фон Льовісом.)" + +msgid "Porting to Python 2.4" +msgstr "Перенесення на Python 2.4" + +msgid "" +"This section lists previously described changes that may require changes to " +"your code:" +msgstr "" +"У цьому розділі перераховано описані раніше зміни, які можуть потребувати " +"змін у вашому коді:" + +msgid "" +"Left shifts and hexadecimal/octal constants that are too large no longer " +"trigger a :exc:`FutureWarning` and return a value limited to 32 or 64 bits; " +"instead they return a long integer." +msgstr "" +"Зрушення вліво та шістнадцяткові/вісімкові константи, які є занадто " +"великими, більше не викликають :exc:`FutureWarning` і повертають значення, " +"обмежене 32 або 64 бітами; замість цього вони повертають довге ціле число." + +msgid "" +"The :func:`zip` built-in function and :func:`itertools.izip` now return an " +"empty list instead of raising a :exc:`TypeError` exception if called with no " +"arguments." +msgstr "" +"Вбудована функція :func:`zip` і :func:`itertools.izip` тепер повертають " +"порожній список замість того, щоб викликати виняток :exc:`TypeError`, якщо " +"викликати її без аргументів." + +msgid "" +"You can no longer compare the :class:`date` and :class:`~datetime.datetime` " +"instances provided by the :mod:`datetime` module. Two instances of " +"different classes will now always be unequal, and relative comparisons " +"(``<``, ``>``) will raise a :exc:`TypeError`." +msgstr "" +"Ви більше не можете порівнювати екземпляри :class:`date` і :class:`~datetime." +"datetime`, надані модулем :mod:`datetime`. Два екземпляри різних класів " +"тепер завжди будуть нерівними, а відносні порівняння (``<``, ``>``) " +"викличуть :exc:`TypeError`." + +msgid "" +":func:`dircache.listdir` now passes exceptions to the caller instead of " +"returning empty lists." +msgstr "" +":func:`dircache.listdir` тепер передає винятки викликаючому замість того, " +"щоб повертати порожні списки." + +msgid "" +":func:`LexicalHandler.startDTD` used to receive the public and system IDs in " +"the wrong order. This has been corrected; applications relying on the wrong " +"order need to be fixed." +msgstr "" +":func:`LexicalHandler.startDTD` використовувався для отримання публічних і " +"системних ідентифікаторів у неправильному порядку. Це було виправлено; " +"потрібно виправити програми, які використовують неправильний порядок." + +msgid "" +":func:`fcntl.ioctl` now warns if the *mutate* argument is omitted and " +"relevant." +msgstr "" +":func:`fcntl.ioctl` тепер попереджає, якщо аргумент *mutate* пропущений і " +"доречний." + +msgid "" +"The :mod:`tarfile` module now generates GNU-format tar files by default." +msgstr "" +"Модуль :mod:`tarfile` тепер за замовчуванням створює файли tar у форматі GNU." + +msgid "" +"Encountering a failure while importing a module no longer leaves a partially " +"initialized module object in ``sys.modules``." +msgstr "" + +msgid "" +":const:`None` is now a constant; code that binds a new value to the name " +"``None`` is now a syntax error." +msgstr "" +":const:`None` тепер константа; код, який прив’язує нове значення до імені " +"``None``, тепер є синтаксичною помилкою." + +msgid "" +"The :func:`signals.signal` function now raises a :exc:`RuntimeError` " +"exception for certain illegal values; previously these errors would pass " +"silently. For example, you can no longer set a handler on the :const:" +"`SIGKILL` signal." +msgstr "" +"Функція :func:`signals.signal` тепер викликає виключення :exc:`RuntimeError` " +"для певних недозволених значень; раніше ці помилки проходили мовчки. " +"Наприклад, ви більше не можете встановити обробник для сигналу :const:" +"`SIGKILL`." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Koray Can, Hye-Shik Chang, Michael Dyck, Raymond Hettinger, Brian Hurt, " +"Hamish Lawson, Fredrik Lundh, Sean Reifschneider, Sadruddin Rejeb." +msgstr "" +"Автор хотів би подякувати наступним особам за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Корай Кан, Хе-Шік Чанг, Майкл " +"Дайк, Реймонд Геттінгер, Браян Херт, Хеміш Лоусон, Фредрік Лунд, Шон " +"Рейфшнайдер, Садруддін Реджеб." diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po new file mode 100644 index 000000000..9ec789eeb --- /dev/null +++ b/whatsnew/2.5.po @@ -0,0 +1,3440 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.5" +msgstr "Що нового в Python 2.5" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling" +msgstr "A.M. Kuchling" + +msgid "" +"This article explains the new features in Python 2.5. The final release of " +"Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned " +"release schedule. Python 2.5 was released on September 19, 2006." +msgstr "" +"У цій статті пояснюються нові функції Python 2.5. Остаточний випуск Python " +"2.5 заплановано на серпень 2006 року; :pep:`356` описує запланований графік " +"випуску. Python 2.5 був випущений 19 вересня 2006 року." + +msgid "" +"The changes in Python 2.5 are an interesting mix of language and library " +"improvements. The library enhancements will be more important to Python's " +"user community, I think, because several widely useful packages were added. " +"New modules include ElementTree for XML processing (:mod:`xml.etree`), the " +"SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for " +"calling C functions." +msgstr "" + +msgid "" +"The language changes are of middling significance. Some pleasant new " +"features were added, but most of them aren't features that you'll use every " +"day. Conditional expressions were finally added to the language using a " +"novel syntax; see section :ref:`pep-308`. The new ':keyword:`with`' " +"statement will make writing cleanup code easier (section :ref:`pep-343`). " +"Values can now be passed into generators (section :ref:`pep-342`). Imports " +"are now visible as either absolute or relative (section :ref:`pep-328`). " +"Some corner cases of exception handling are handled better (section :ref:" +"`pep-341`). All these improvements are worthwhile, but they're improvements " +"to one specific language feature or another; none of them are broad " +"modifications to Python's semantics." +msgstr "" +"Мовні зміни мають середнє значення. Було додано кілька приємних нових " +"функцій, але більшість із них не є функціями, якими ви будете користуватися " +"щодня. Умовні вирази нарешті були додані до мови за допомогою нового " +"синтаксису; див. розділ :ref:`pep-308`. Новий оператор ':keyword:`with`' " +"полегшить написання коду очищення (розділ :ref:`pep-343`). Тепер значення " +"можна передавати в генератори (розділ :ref:`pep-342`). Імпорт тепер " +"відображається як абсолютний або відносний (розділ :ref:`pep-328`). Деякі " +"кутові випадки обробки винятків обробляються краще (розділ :ref:`pep-341`). " +"Усі ці вдосконалення варті уваги, але це вдосконалення тієї чи іншої функції " +"мови; жодна з них не є широкою модифікацією семантики Python." + +msgid "" +"As well as the language and library additions, other improvements and " +"bugfixes were made throughout the source tree. A search through the SVN " +"change logs finds there were 353 patches applied and 458 bugs fixed between " +"Python 2.4 and 2.5. (Both figures are likely to be underestimates.)" +msgstr "" +"Окрім мовних і бібліотечних доповнень, у всьому дереві вихідних кодів було " +"зроблено інші покращення та виправлення помилок. Пошук у журналах змін SVN " +"виявив, що між Python 2.4 і 2.5 було застосовано 353 виправлення та 458 " +"виправлених помилок. (Обидві цифри, ймовірно, занижені.)" + +msgid "" +"This article doesn't try to be a complete specification of the new features; " +"instead changes are briefly introduced using helpful examples. For full " +"details, you should always refer to the documentation for Python 2.5 at " +"https://docs.python.org. If you want to understand the complete " +"implementation and design rationale, refer to the PEP for a particular new " +"feature." +msgstr "" +"Ця стаття не намагається бути повною специфікацією нових функцій; натомість " +"зміни коротко представлені з використанням корисних прикладів. Щоб отримати " +"повну інформацію, завжди звертайтеся до документації для Python 2.5 на " +"https://docs.python.org. Якщо ви хочете зрозуміти повну реалізацію та " +"обґрунтування дизайну, зверніться до PEP для конкретної нової функції." + +msgid "" +"Comments, suggestions, and error reports for this document are welcome; " +"please e-mail them to the author or open a bug in the Python bug tracker." +msgstr "" +"Коментарі, пропозиції та звіти про помилки щодо цього документа вітаються; " +"будь ласка, надішліть їх електронною поштою автору або відкрийте помилку в " +"системі відстеження помилок Python." + +msgid "PEP 308: Conditional Expressions" +msgstr "PEP 308: Умовні вирази" + +msgid "" +"For a long time, people have been requesting a way to write conditional " +"expressions, which are expressions that return value A or value B depending " +"on whether a Boolean value is true or false. A conditional expression lets " +"you write a single assignment statement that has the same effect as the " +"following::" +msgstr "" +"Протягом тривалого часу люди запитували спосіб написання умовних виразів, " +"які є виразами, які повертають значення A або значення B залежно від того, " +"чи є логічне значення true або false. Умовний вираз дає змогу написати один " +"оператор присвоєння, який має той самий ефект, що й наступний:" + +msgid "" +"There have been endless tedious discussions of syntax on both python-dev and " +"comp.lang.python. A vote was even held that found the majority of voters " +"wanted conditional expressions in some form, but there was no syntax that " +"was preferred by a clear majority. Candidates included C's ``cond ? true_v : " +"false_v``, ``if cond then true_v else false_v``, and 16 other variations." +msgstr "" +"Були нескінченні нудні дискусії щодо синтаксису як на python-dev, так і на " +"comp.lang.python. Навіть було проведено голосування, яке виявило, що " +"більшість виборців бажали використовувати умовні вирази в тій чи іншій " +"формі, але не було жодного синтаксису, якому віддала б перевагу явна " +"більшість. Серед кандидатів C ``cond ? true_v : false_v``, ``if cond then " +"true_v else false_v`` та 16 інших варіантів." + +msgid "Guido van Rossum eventually chose a surprising syntax::" +msgstr "Зрештою Гвідо ван Россум обрав дивовижний синтаксис:" + +msgid "" +"Evaluation is still lazy as in existing Boolean expressions, so the order of " +"evaluation jumps around a bit. The *condition* expression in the middle is " +"evaluated first, and the *true_value* expression is evaluated only if the " +"condition was true. Similarly, the *false_value* expression is only " +"evaluated when the condition is false." +msgstr "" +"Обчислення, як і в існуючих булевих виразах, все ще є ледачим, тому порядок " +"обчислення трохи змінюється. Вираз *умова* в середині обчислюється спочатку, " +"а вираз *істинне_значення* обчислюється, лише якщо умова була істинною. " +"Подібним чином вираз *false_value* обчислюється лише тоді, коли умова false." + +msgid "" +"This syntax may seem strange and backwards; why does the condition go in the " +"*middle* of the expression, and not in the front as in C's ``c ? x : y``? " +"The decision was checked by applying the new syntax to the modules in the " +"standard library and seeing how the resulting code read. In many cases " +"where a conditional expression is used, one value seems to be the 'common " +"case' and one value is an 'exceptional case', used only on rarer occasions " +"when the condition isn't met. The conditional syntax makes this pattern a " +"bit more obvious::" +msgstr "" +"Цей синтаксис може здатися дивним і зворотним; чому умова стоїть у " +"*середині* виразу, а не в передній частині, як у C ``c ? x : y``? Рішення " +"було перевірено шляхом застосування нового синтаксису до модулів у " +"стандартній бібліотеці та перегляду того, як читається отриманий код. У " +"багатьох випадках, коли використовується умовний вираз, одне значення " +"здається \"звичайним випадком\", а одне — \"винятковим випадком\", яке " +"використовується лише в рідкісних випадках, коли умова не виконується. " +"Умовний синтаксис робить цей шаблон трохи очевиднішим:" + +msgid "" +"I read the above statement as meaning \"here *contents* is usually assigned " +"a value of ``doc+'\\n'``; sometimes *doc* is empty, in which special case " +"an empty string is returned.\" I doubt I will use conditional expressions " +"very often where there isn't a clear common and uncommon case." +msgstr "" +"Я прочитав наведене вище твердження як значення \"тут *contents* зазвичай " +"присвоюється значення ``doc+'\\n'``; іноді *doc* є порожнім, у цьому " +"особливому випадку повертається порожній рядок\". Я сумніваюся, що буду дуже " +"часто використовувати умовні вирази, де немає чіткого загального та " +"незвичайного випадків." + +msgid "" +"There was some discussion of whether the language should require surrounding " +"conditional expressions with parentheses. The decision was made to *not* " +"require parentheses in the Python language's grammar, but as a matter of " +"style I think you should always use them. Consider these two statements::" +msgstr "" +"Була деяка дискусія щодо того, чи повинна мова вимагати оточувати умовні " +"вирази дужками. Було прийнято рішення *не* вимагати дужок у граматиці мови " +"Python, але з точки зору стилю я вважаю, що ви повинні завжди " +"використовувати їх. Розглянемо ці два твердження:" + +msgid "" +"In the first version, I think a reader's eye might group the statement into " +"'level = 1', 'if logging', 'else 0', and think that the condition decides " +"whether the assignment to *level* is performed. The second version reads " +"better, in my opinion, because it makes it clear that the assignment is " +"always performed and the choice is being made between two values." +msgstr "" +"Я вважаю, що в першій версії око читача може згрупувати оператор у \"level = " +"1\", \"if logging\", \"else 0\" і вважати, що умова вирішує, чи виконується " +"призначення *level*. Друга версія, на мій погляд, читається краще, оскільки " +"в ній чітко видно, що призначення завжди виконується, а вибір здійснюється " +"між двома значеннями." + +msgid "" +"Another reason for including the brackets: a few odd combinations of list " +"comprehensions and lambdas could look like incorrect conditional " +"expressions. See :pep:`308` for some examples. If you put parentheses " +"around your conditional expressions, you won't run into this case." +msgstr "" +"Ще одна причина включення дужок: кілька дивних комбінацій списків і лямбда-" +"виразів можуть виглядати як неправильні умовні вирази. Перегляньте :pep:" +"`308` для деяких прикладів. Якщо ви поставите круглі дужки навколо своїх " +"умовних виразів, ви не зіткнетеся з цим випадком." + +msgid ":pep:`308` - Conditional Expressions" +msgstr ":pep:`308` - Умовні вирази" + +msgid "" +"PEP written by Guido van Rossum and Raymond D. Hettinger; implemented by " +"Thomas Wouters." +msgstr "" +"PEP, написаний Гвідо ван Россумом і Раймондом Д. Хеттінгером; реалізований " +"Томасом Воутерсом." + +msgid "PEP 309: Partial Function Application" +msgstr "PEP 309: Застосування часткової функції" + +msgid "" +"The :mod:`functools` module is intended to contain tools for functional-" +"style programming." +msgstr "" +"Модуль :mod:`functools` містить інструменти для програмування у " +"функціональному стилі." + +msgid "" +"One useful tool in this module is the :func:`partial` function. For programs " +"written in a functional style, you'll sometimes want to construct variants " +"of existing functions that have some of the parameters filled in. Consider " +"a Python function ``f(a, b, c)``; you could create a new function ``g(b, " +"c)`` that was equivalent to ``f(1, b, c)``. This is called \"partial " +"function application\"." +msgstr "" +"Одним з корисних інструментів у цьому модулі є функція :func:`partial`. Для " +"програм, написаних у функціональному стилі, ви іноді захочете побудувати " +"варіанти існуючих функцій із заповненими деякими параметрами. Розглянемо " +"функцію Python ``f(a, b, c)``; ви можете створити нову функцію ``g(b, c)``, " +"яка була б еквівалентною ``f(1, b, c)``. Це називається \"часткове " +"застосування функції\"." + +msgid "" +":func:`partial` takes the arguments ``(function, arg1, arg2, ... " +"kwarg1=value1, kwarg2=value2)``. The resulting object is callable, so you " +"can just call it to invoke *function* with the filled-in arguments." +msgstr "" +":func:`partial` приймає аргументи ``(function, arg1, arg2, ... " +"kwarg1=value1, kwarg2=value2)``. Отриманий об’єкт можна викликати, тому ви " +"можете просто викликати його, щоб викликати *функцію* із заповненими " +"аргументами." + +msgid "Here's a small but realistic example::" +msgstr "Ось маленький, але реалістичний приклад:" + +msgid "" +"Here's another example, from a program that uses PyGTK. Here a context-" +"sensitive pop-up menu is being constructed dynamically. The callback " +"provided for the menu option is a partially applied version of the :meth:" +"`open_item` method, where the first argument has been provided. ::" +msgstr "" +"Ось ще один приклад із програми, яка використовує PyGTK. Тут динамічно " +"створюється контекстно-залежне спливаюче меню. Зворотний виклик, наданий для " +"опції меню, є частково застосованою версією методу :meth:`open_item`, де " +"надано перший аргумент. ::" + +msgid "" +"Another function in the :mod:`functools` module is the " +"``update_wrapper(wrapper, wrapped)`` function that helps you write well-" +"behaved decorators. :func:`update_wrapper` copies the name, module, and " +"docstring attribute to a wrapper function so that tracebacks inside the " +"wrapped function are easier to understand. For example, you might write::" +msgstr "" +"Іншою функцією в модулі :mod:`functools` є функція ``update_wrapper(wrapper, " +"wrapped)``, яка допомагає вам писати добре поведені декоратори. :func:" +"`update_wrapper` копіює ім’я, модуль і атрибут рядка документів у функцію-" +"огортку, щоб легше було зрозуміти відстеження всередині обгорнутої функції. " +"Наприклад, ви можете написати::" + +msgid "" +":func:`wraps` is a decorator that can be used inside your own decorators to " +"copy the wrapped function's information. An alternate version of the " +"previous example would be::" +msgstr "" +":func:`wraps` — це декоратор, який можна використовувати у ваших власних " +"декораторах для копіювання інформації обгорнутої функції. Альтернативною " +"версією попереднього прикладу буде::" + +msgid ":pep:`309` - Partial Function Application" +msgstr ":pep:`309` - Застосування часткової функції" + +msgid "" +"PEP proposed and written by Peter Harris; implemented by Hye-Shik Chang and " +"Nick Coghlan, with adaptations by Raymond Hettinger." +msgstr "" +"PEP запропонований і написаний Пітером Гаррісом; реалізований Хе-Шік Чангом " +"і Ніком Когланом, з адаптацією Реймонда Геттінгера." + +msgid "PEP 314: Metadata for Python Software Packages v1.1" +msgstr "PEP 314: Метадані для програмних пакетів Python v1.1" + +msgid "" +"Some simple dependency support was added to Distutils. The :func:`setup` " +"function now has ``requires``, ``provides``, and ``obsoletes`` keyword " +"parameters. When you build a source distribution using the ``sdist`` " +"command, the dependency information will be recorded in the :file:`PKG-INFO` " +"file." +msgstr "" +"У Distutils додано підтримку простих залежностей. Функція :func:`setup` " +"тепер має ключові параметри ``requires``, ``provides`` і ``obsoletes``. Коли " +"ви створюєте вихідний дистрибутив за допомогою команди ``sdist``, інформація " +"про залежності буде записана у файл :file:`PKG-INFO`." + +msgid "" +"Another new keyword parameter is ``download_url``, which should be set to a " +"URL for the package's source code. This means it's now possible to look up " +"an entry in the package index, determine the dependencies for a package, and " +"download the required packages. ::" +msgstr "" +"Іншим новим параметром ключового слова є ``download_url``, який має бути " +"встановлено на URL-адресу вихідного коду пакета. Це означає, що тепер можна " +"шукати запис в індексі пакетів, визначати залежності для пакета та " +"завантажувати необхідні пакети. ::" + +msgid "" +"Another new enhancement to the Python package index at https://pypi.org is " +"storing source and binary archives for a package. The new :command:`upload` " +"Distutils command will upload a package to the repository." +msgstr "" +"Інше нове вдосконалення індексу пакетів Python на https://pypi.org — це " +"зберігання вихідних і двійкових архівів для пакета. Нова команда :command:" +"`upload` Distutils завантажить пакет до репозиторію." + +msgid "" +"Before a package can be uploaded, you must be able to build a distribution " +"using the :command:`sdist` Distutils command. Once that works, you can run " +"``python setup.py upload`` to add your package to the PyPI archive. " +"Optionally you can GPG-sign the package by supplying the :option:`!--sign` " +"and :option:`!--identity` options." +msgstr "" +"Перш ніж можна буде завантажити пакет, ви повинні мати можливість створити " +"дистрибутив за допомогою команди :command:`sdist` Distutils. Коли це " +"запрацює, ви можете запустити ``python setup.py upload``, щоб додати свій " +"пакет до архіву PyPI. За бажанням ви можете підписати пакет GPG, вказавши " +"параметри :option:`!--sign` і :option:`!--identity`." + +msgid "" +"Package uploading was implemented by Martin von Löwis and Richard Jones." +msgstr "" +"Завантаження пакетів було реалізовано Мартіном фон Льовісом і Річардом " +"Джонсом." + +msgid ":pep:`314` - Metadata for Python Software Packages v1.1" +msgstr ":pep:`314` - метадані для програмних пакетів Python v1.1" + +msgid "" +"PEP proposed and written by A.M. Kuchling, Richard Jones, and Fred Drake; " +"implemented by Richard Jones and Fred Drake." +msgstr "" +"PEP запропонований і написаний А.М. Кухлінг, Річард Джонс і Фред Дрейк; " +"реалізований Річардом Джонсом і Фредом Дрейком." + +msgid "PEP 328: Absolute and Relative Imports" +msgstr "PEP 328: Абсолютний і відносний імпорт" + +msgid "" +"The simpler part of :pep:`328` was implemented in Python 2.4: parentheses " +"could now be used to enclose the names imported from a module using the " +"``from ... import ...`` statement, making it easier to import many different " +"names." +msgstr "" +"Простіша частина :pep:`328` була реалізована в Python 2.4: тепер можна " +"використовувати дужки для включення імен, імпортованих із модуля за " +"допомогою оператора ``from ... import ...``, що полегшує імпорт багато " +"різних імен." + +msgid "" +"The more complicated part has been implemented in Python 2.5: importing a " +"module can be specified to use absolute or package-relative imports. The " +"plan is to move toward making absolute imports the default in future " +"versions of Python." +msgstr "" +"Більш складна частина була реалізована в Python 2.5: для імпорту модуля " +"можна вказати використання абсолютного або відносного імпорту пакетів. План " +"полягає в тому, щоб у майбутніх версіях Python зробити абсолютний імпорт " +"типовим." + +msgid "Let's say you have a package directory like this::" +msgstr "Скажімо, у вас є такий каталог пакетів::" + +msgid "" +"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` and :" +"mod:`pkg.string` submodules." +msgstr "" +"Це визначає пакет під назвою :mod:`pkg`, що містить підмодулі :mod:`pkg." +"main` і :mod:`pkg.string`." + +msgid "" +"Consider the code in the :file:`main.py` module. What happens if it " +"executes the statement ``import string``? In Python 2.4 and earlier, it " +"will first look in the package's directory to perform a relative import, " +"finds :file:`pkg/string.py`, imports the contents of that file as the :mod:" +"`pkg.string` module, and that module is bound to the name ``string`` in the :" +"mod:`pkg.main` module's namespace." +msgstr "" +"Розглянемо код у модулі :file:`main.py`. Що станеться, якщо він виконає " +"оператор ``import string``? У Python 2.4 і раніших версіях він спочатку " +"шукає каталог пакета, щоб виконати відносний імпорт, знаходить :file:`pkg/" +"string.py`, імпортує вміст цього файлу як модуль :mod:`pkg.string`, і цей " +"модуль прив’язаний до імені ``string`` у просторі імен модуля :mod:`pkg." +"main`." + +msgid "" +"That's fine if :mod:`pkg.string` was what you wanted. But what if you " +"wanted Python's standard :mod:`string` module? There's no clean way to " +"ignore :mod:`pkg.string` and look for the standard module; generally you had " +"to look at the contents of ``sys.modules``, which is slightly unclean. " +"Holger Krekel's :mod:`py.std` package provides a tidier way to perform " +"imports from the standard library, ``import py; py.std.string.join()``, but " +"that package isn't available on all Python installations." +msgstr "" +"Це добре, якщо :mod:`pkg.string` був тим, що ви хотіли. Але що, якщо вам " +"потрібен стандартний модуль Python :mod:`string`? Немає чистого способу " +"ігнорувати :mod:`pkg.string` і шукати стандартний модуль; загалом вам " +"доводилося дивитися на вміст ``sys.modules``, який є трохи нечистим. Пакунок " +"Хольгера Крекеля :mod:`py.std` забезпечує більш акуратний спосіб виконання " +"імпорту зі стандартної бібліотеки, ``import py; py.std.string.join()``, але " +"цей пакет доступний не для всіх установок Python." + +msgid "" +"Reading code which relies on relative imports is also less clear, because a " +"reader may be confused about which module, :mod:`string` or :mod:`pkg." +"string`, is intended to be used. Python users soon learned not to duplicate " +"the names of standard library modules in the names of their packages' " +"submodules, but you can't protect against having your submodule's name being " +"used for a new module added in a future version of Python." +msgstr "" +"Читання коду, який покладається на відносний імпорт, також менш зрозуміле, " +"тому що читач може заплутатися щодо того, який модуль, :mod:`string` або :" +"mod:`pkg.string`, призначений для використання. Користувачі Python незабаром " +"навчилися не дублювати назви модулів стандартної бібліотеки в назвах " +"підмодулів своїх пакунків, але ви не можете захиститися від використання " +"назви вашого підмодуля для нового модуля, доданого в майбутній версії Python." + +msgid "" +"In Python 2.5, you can switch :keyword:`import`'s behaviour to absolute " +"imports using a ``from __future__ import absolute_import`` directive. This " +"absolute-import behaviour will become the default in a future version " +"(probably Python 2.7). Once absolute imports are the default, ``import " +"string`` will always find the standard library's version. It's suggested " +"that users should begin using absolute imports as much as possible, so it's " +"preferable to begin writing ``from pkg import string`` in your code." +msgstr "" +"У Python 2.5 ви можете змінити поведінку :keyword:`import` на абсолютний " +"імпорт за допомогою директиви ``from __future__ import absolute_import``. Ця " +"поведінка абсолютного імпорту стане типовою в майбутніх версіях (ймовірно, " +"Python 2.7). Якщо абсолютний імпорт встановлено за замовчуванням, ``import " +"string`` завжди знаходитиме версію стандартної бібліотеки. Рекомендується, " +"щоб користувачі якомога частіше використовували абсолютний імпорт, тому " +"краще починати писати ``from pkg import string`` у вашому коді." + +msgid "" +"Relative imports are still possible by adding a leading period to the " +"module name when using the ``from ... import`` form::" +msgstr "" +"Відносний імпорт все ще можливий, додавши початкову крапку до імені модуля " +"під час використання форми ``from ... import``::" + +msgid "" +"This imports the :mod:`string` module relative to the current package, so " +"in :mod:`pkg.main` this will import *name1* and *name2* from :mod:`pkg." +"string`. Additional leading periods perform the relative import starting " +"from the parent of the current package. For example, code in the :mod:`A.B." +"C` module can do::" +msgstr "" +"Це імпортує модуль :mod:`string` відносно поточного пакета, тому в :mod:`pkg." +"main` буде імпортовано *name1* і *name2* з :mod:`pkg.string`. Додаткові " +"початкові періоди виконують відносний імпорт, починаючи з батьківського " +"пакета поточного пакета. Наприклад, код у модулі :mod:`A.B.C` може робити:" + +msgid "" +"Leading periods cannot be used with the ``import modname`` form of the " +"import statement, only the ``from ... import`` form." +msgstr "" +"Початкові крапки не можна використовувати з формою ``import modname`` " +"оператора імпорту, лише з формою ``from ... import``." + +msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" +msgstr ":pep:`328` - Імпорт: багаторядковий і абсолютний/відносний" + +msgid "PEP written by Aahz; implemented by Thomas Wouters." +msgstr "PEP, написаний Aahz; реалізований Томасом Воутерсом." + +msgid "https://pylib.readthedocs.io/" +msgstr "https://pylib.readthedocs.io/" + +msgid "" +"The py library by Holger Krekel, which contains the :mod:`py.std` package." +msgstr "Бібліотека py Хольгера Крекеля, яка містить пакет :mod:`py.std`." + +msgid "PEP 338: Executing Modules as Scripts" +msgstr "PEP 338: Виконання модулів як сценаріїв" + +msgid "" +"The :option:`-m` switch added in Python 2.4 to execute a module as a script " +"gained a few more abilities. Instead of being implemented in C code inside " +"the Python interpreter, the switch now uses an implementation in a new " +"module, :mod:`runpy`." +msgstr "" +"Перемикач :option:`-m`, доданий у Python 2.4 для виконання модуля як " +"сценарію, отримав кілька додаткових можливостей. Замість того, щоб бути " +"реалізованим у коді C всередині інтерпретатора Python, комутатор тепер " +"використовує реалізацію в новому модулі, :mod:`runpy`." + +msgid "" +"The :mod:`runpy` module implements a more sophisticated import mechanism so " +"that it's now possible to run modules in a package such as :mod:`pychecker." +"checker`. The module also supports alternative import mechanisms such as " +"the :mod:`zipimport` module. This means you can add a .zip archive's path " +"to ``sys.path`` and then use the :option:`-m` switch to execute code from " +"the archive." +msgstr "" +"Модуль :mod:`runpy` реалізує більш досконалий механізм імпорту, тому тепер " +"можна запускати модулі в пакеті, наприклад :mod:`pychecker.checker`. Модуль " +"також підтримує альтернативні механізми імпорту, такі як модуль :mod:" +"`zipimport`. Це означає, що ви можете додати шлях архіву .zip до ``sys." +"path``, а потім використовувати перемикач :option:`-m` для виконання коду з " +"архіву." + +msgid ":pep:`338` - Executing modules as scripts" +msgstr ":pep:`338` - Виконання модулів у вигляді скриптів" + +msgid "PEP written and implemented by Nick Coghlan." +msgstr "PEP написав і реалізував Нік Коглан." + +msgid "PEP 341: Unified try/except/finally" +msgstr "PEP 341: Уніфікована спроба/окрім/нарешті" + +msgid "" +"Until Python 2.5, the :keyword:`try` statement came in two flavours. You " +"could use a :keyword:`finally` block to ensure that code is always executed, " +"or one or more :keyword:`except` blocks to catch specific exceptions. You " +"couldn't combine both :keyword:`!except` blocks and a :keyword:`!finally` " +"block, because generating the right bytecode for the combined version was " +"complicated and it wasn't clear what the semantics of the combined statement " +"should be." +msgstr "" +"До Python 2.5 оператор :keyword:`try` був у двох варіантах. Ви можете " +"використовувати блок :keyword:`finally`, щоб гарантувати, що код завжди " +"виконується, або один чи більше блоків :keyword:`except`, щоб перехоплювати " +"певні винятки. Ви не могли поєднати обидва блоки :keyword:`!except` і блок :" +"keyword:`!finally`, оскільки генерація правильного байт-коду для " +"комбінованої версії була складною, і було незрозуміло, якою має бути " +"семантика комбінованого оператора бути." + +msgid "" +"Guido van Rossum spent some time working with Java, which does support the " +"equivalent of combining :keyword:`except` blocks and a :keyword:`finally` " +"block, and this clarified what the statement should mean. In Python 2.5, " +"you can now write::" +msgstr "" +"Гвідо ван Россум провів деякий час, працюючи з Java, яка підтримує " +"еквівалент поєднання блоків :keyword:`except` і блоку :keyword:`finally`, і " +"це прояснило, що має означати цей оператор. У Python 2.5 тепер можна писати::" + +msgid "" +"The code in *block-1* is executed. If the code raises an exception, the " +"various :keyword:`except` blocks are tested: if the exception is of class :" +"class:`Exception1`, *handler-1* is executed; otherwise if it's of class :" +"class:`Exception2`, *handler-2* is executed, and so forth. If no exception " +"is raised, the *else-block* is executed." +msgstr "" +"Код у *block-1* виконується. Якщо код викликає виняток, перевіряються різні " +"блоки :keyword:`except`: якщо виняток належить до класу :class:`Exception1`, " +"виконується *handler-1*; інакше, якщо він належить до класу :class:" +"`Exception2`, виконується *обробник-2* і так далі. Якщо жодного винятку не " +"виникає, виконується *else-block*." + +msgid "" +"No matter what happened previously, the *final-block* is executed once the " +"code block is complete and any raised exceptions handled. Even if there's an " +"error in an exception handler or the *else-block* and a new exception is " +"raised, the code in the *final-block* is still run." +msgstr "" +"Незалежно від того, що сталося раніше, *final-block* виконується після " +"завершення блоку коду та обробки будь-яких викликаних винятків. Навіть якщо " +"сталася помилка в обробнику винятків або *else-block* і виникає новий " +"виняток, код у *final-block* все одно виконується." + +msgid ":pep:`341` - Unifying try-except and try-finally" +msgstr ":pep:`341` - Уніфікація try-except і try-finally" + +msgid "PEP written by Georg Brandl; implementation by Thomas Lee." +msgstr "PEP, написаний Георгом Брандлом; виконання Томаса Лі." + +msgid "PEP 342: New Generator Features" +msgstr "PEP 342: Нові функції генератора" + +msgid "" +"Python 2.5 adds a simple way to pass values *into* a generator. As " +"introduced in Python 2.3, generators only produce output; once a generator's " +"code was invoked to create an iterator, there was no way to pass any new " +"information into the function when its execution is resumed. Sometimes the " +"ability to pass in some information would be useful. Hackish solutions to " +"this include making the generator's code look at a global variable and then " +"changing the global variable's value, or passing in some mutable object that " +"callers then modify." +msgstr "" +"Python 2.5 додає простий спосіб передачі значень *у* генератор. Як було " +"введено в Python 2.3, генератори створюють лише вихід; як тільки код " +"генератора був викликаний для створення ітератора, не було можливості " +"передати будь-яку нову інформацію у функцію, коли її виконання відновилося. " +"Іноді можливість передати певну інформацію буде корисною. Хакерські рішення " +"для цього включають змусити код генератора переглядати глобальну змінну, а " +"потім змінювати значення глобальної змінної або передавати якийсь змінний " +"об’єкт, який потім змінюють абоненти." + +msgid "To refresh your memory of basic generators, here's a simple example::" +msgstr "Щоб оновити вашу пам'ять про основні генератори, ось простий приклад:" + +msgid "" +"When you call ``counter(10)``, the result is an iterator that returns the " +"values from 0 up to 9. On encountering the :keyword:`yield` statement, the " +"iterator returns the provided value and suspends the function's execution, " +"preserving the local variables. Execution resumes on the following call to " +"the iterator's :meth:`next` method, picking up after the :keyword:`!yield` " +"statement." +msgstr "" +"Коли ви викликаєте ``counter(10)``, результатом є ітератор, який повертає " +"значення від 0 до 9. Коли зустрічається оператор :keyword:`yield`, ітератор " +"повертає надане значення та призупиняє виконання функції, збереження " +"локальних змінних. Виконання поновлюється після наступного виклику методу :" +"meth:`next` ітератора, який починається після оператора :keyword:`!yield`." + +msgid "" +"In Python 2.3, :keyword:`yield` was a statement; it didn't return any " +"value. In 2.5, :keyword:`!yield` is now an expression, returning a value " +"that can be assigned to a variable or otherwise operated on::" +msgstr "" +"У Python 2.3 :keyword:`yield` був оператором; він не повернув жодного " +"значення. У версії 2.5 :keyword:`!yield` тепер є виразом, що повертає " +"значення, яке можна призначити змінній або іншим чином оперувати:" + +msgid "" +"I recommend that you always put parentheses around a :keyword:`yield` " +"expression when you're doing something with the returned value, as in the " +"above example. The parentheses aren't always necessary, but it's easier to " +"always add them instead of having to remember when they're needed." +msgstr "" +"Я рекомендую вам завжди брати дужки навколо виразу :keyword:`yield`, коли ви " +"щось робите з повернутим значенням, як у прикладі вище. Дужки не завжди " +"потрібні, але простіше завжди додавати їх замість того, щоб запам’ятовувати, " +"коли вони потрібні." + +msgid "" +"(:pep:`342` explains the exact rules, which are that a :keyword:`yield`\\ -" +"expression must always be parenthesized except when it occurs at the top-" +"level expression on the right-hand side of an assignment. This means you " +"can write ``val = yield i`` but have to use parentheses when there's an " +"operation, as in ``val = (yield i) + 12``.)" +msgstr "" +"(:pep:`342` пояснює точні правила, які полягають у тому, що :keyword:`yield`" +"\\ -вираз завжди повинен бути взятий у дужки, за винятком випадків, коли він " +"зустрічається у виразі верхнього рівня в правій частині призначення. Це " +"означає, що ви можете написати ``val = yield i``, але повинні " +"використовувати круглі дужки, коли є операція, як у ``val = (yield i) + " +"12``.)" + +msgid "" +"Values are sent into a generator by calling its ``send(value)`` method. The " +"generator's code is then resumed and the :keyword:`yield` expression returns " +"the specified *value*. If the regular :meth:`next` method is called, the :" +"keyword:`!yield` returns :const:`None`." +msgstr "" +"Значення надсилаються в генератор шляхом виклику його методу " +"``send(value)``. Потім код генератора відновлюється, і вираз :keyword:" +"`yield` повертає вказане *значення*. Якщо викликається звичайний метод :meth:" +"`next`, :keyword:`!yield` повертає :const:`None`." + +msgid "" +"Here's the previous example, modified to allow changing the value of the " +"internal counter. ::" +msgstr "" +"Ось попередній приклад, змінений, щоб дозволити змінювати значення " +"внутрішнього лічильника. ::" + +msgid "And here's an example of changing the counter::" +msgstr "А ось приклад зміни лічильника::" + +msgid "" +":keyword:`yield` will usually return :const:`None`, so you should always " +"check for this case. Don't just use its value in expressions unless you're " +"sure that the :meth:`send` method will be the only method used to resume " +"your generator function." +msgstr "" +":keyword:`yield` зазвичай повертає :const:`None`, тому ви завжди повинні " +"перевіряти цей випадок. Не просто використовуйте його значення у виразах, " +"якщо ви не впевнені, що метод :meth:`send` буде єдиним методом, використаним " +"для відновлення вашої функції генератора." + +msgid "" +"In addition to :meth:`send`, there are two other new methods on generators:" +msgstr "Крім :meth:`send`, є ще два нові методи генераторів:" + +msgid "" +"``throw(type, value=None, traceback=None)`` is used to raise an exception " +"inside the generator; the exception is raised by the :keyword:`yield` " +"expression where the generator's execution is paused." +msgstr "" +"``throw(type, value=None, traceback=None)`` використовується для створення " +"винятку всередині генератора; виняток викликає вираз :keyword:`yield`, де " +"виконання генератора призупинено." + +msgid "" +":meth:`close` raises a new :exc:`GeneratorExit` exception inside the " +"generator to terminate the iteration. On receiving this exception, the " +"generator's code must either raise :exc:`GeneratorExit` or :exc:" +"`StopIteration`. Catching the :exc:`GeneratorExit` exception and returning " +"a value is illegal and will trigger a :exc:`RuntimeError`; if the function " +"raises some other exception, that exception is propagated to the caller. :" +"meth:`close` will also be called by Python's garbage collector when the " +"generator is garbage-collected." +msgstr "" +":meth:`close` створює новий виняток :exc:`GeneratorExit` всередині " +"генератора, щоб завершити ітерацію. Отримавши цей виняток, код генератора " +"повинен викликати :exc:`GeneratorExit` або :exc:`StopIteration`. " +"Перехоплення винятку :exc:`GeneratorExit` і повернення значення є незаконним " +"і викличе :exc:`RuntimeError`; якщо функція викликає якийсь інший виняток, " +"цей виняток поширюється на виклик. :meth:`close` також буде викликано " +"збирачем сміття Python, коли генератор збирає сміття." + +msgid "" +"If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " +"suggest using a ``try: ... finally:`` suite instead of catching :exc:" +"`GeneratorExit`." +msgstr "" +"Якщо вам потрібно запустити код очищення, коли виникає :exc:`GeneratorExit`, " +"я пропоную використовувати набір ``try: ... finally:`` замість перехоплення :" +"exc:`GeneratorExit`." + +msgid "" +"The cumulative effect of these changes is to turn generators from one-way " +"producers of information into both producers and consumers." +msgstr "" +"Кумулятивний ефект цих змін полягає в тому, щоб перетворити генераторів з " +"односторонніх виробників інформації на виробників і споживачів." + +msgid "" +"Generators also become *coroutines*, a more generalized form of subroutines. " +"Subroutines are entered at one point and exited at another point (the top of " +"the function, and a :keyword:`return` statement), but coroutines can be " +"entered, exited, and resumed at many different points (the :keyword:`yield` " +"statements). We'll have to figure out patterns for using coroutines " +"effectively in Python." +msgstr "" +"Генератори також стають *сопрограмами*, більш узагальненою формою " +"підпрограм. Підпрограми вводяться в одній точці та виходять з іншої точки " +"(верхня частина функції та оператор :keyword:`return`), але до підпрограм " +"можна ввійти, вийти з них і відновити їх у багатьох різних точках ( :keyword:" +"`yield` заяви). Нам доведеться з’ясувати шаблони для ефективного " +"використання співпрограм у Python." + +msgid "" +"The addition of the :meth:`close` method has one side effect that isn't " +"obvious. :meth:`close` is called when a generator is garbage-collected, so " +"this means the generator's code gets one last chance to run before the " +"generator is destroyed. This last chance means that ``try...finally`` " +"statements in generators can now be guaranteed to work; the :keyword:" +"`finally` clause will now always get a chance to run. The syntactic " +"restriction that you couldn't mix :keyword:`yield` statements with a ``try..." +"finally`` suite has therefore been removed. This seems like a minor bit of " +"language trivia, but using generators and ``try...finally`` is actually " +"necessary in order to implement the :keyword:`with` statement described by :" +"pep:`343`. I'll look at this new statement in the following section." +msgstr "" +"Додавання методу :meth:`close` має один побічний ефект, який не є " +"очевидним. :meth:`close` викликається, коли генератор збирає сміття, тому це " +"означає, що код генератора отримує останній шанс запуститися, перш ніж " +"генератор буде знищено. Цей останній шанс означає, що оператори ``try..." +"finally`` у генераторах тепер можуть гарантовано працювати; речення :keyword:" +"`finally` тепер завжди матиме шанс запуститися. Синтаксичне обмеження, " +"згідно з яким ви не можете змішувати оператори :keyword:`yield` із пакетом " +"``try...finally``, було видалено. Це виглядає як незначна мовна дрібниця, " +"але використання генераторів і ``try...finally`` насправді є необхідним для " +"реалізації оператора :keyword:`with`, описаного :pep:`343`. Я розгляну цю " +"нову заяву в наступному розділі." + +msgid "" +"Another even more esoteric effect of this change: previously, the :attr:" +"`gi_frame` attribute of a generator was always a frame object. It's now " +"possible for :attr:`gi_frame` to be ``None`` once the generator has been " +"exhausted." +msgstr "" +"Інший ще більш езотеричний ефект цієї зміни: раніше атрибут :attr:`gi_frame` " +"генератора завжди був об’єктом фрейму. Тепер :attr:`gi_frame` може мати " +"значення ``None``, коли генератор вичерпано." + +msgid ":pep:`342` - Coroutines via Enhanced Generators" +msgstr ":pep:`342` - Співпрограми через розширені генератори" + +msgid "" +"PEP written by Guido van Rossum and Phillip J. Eby; implemented by Phillip " +"J. Eby. Includes examples of some fancier uses of generators as coroutines." +msgstr "" +"PEP, написаний Гвідо ван Россумом і Філіпом Дж. Ебі; реалізовано Філіпом Дж. " +"Ебі. Містить приклади більш химерного використання генераторів як " +"співпрограм." + +msgid "" +"Earlier versions of these features were proposed in :pep:`288` by Raymond " +"Hettinger and :pep:`325` by Samuele Pedroni." +msgstr "" +"Попередні версії цих функцій були запропоновані в :pep:`288` Реймондом " +"Геттінгером і :pep:`325` Самуелем Педроні." + +msgid "https://en.wikipedia.org/wiki/Coroutine" +msgstr "https://en.wikipedia.org/wiki/Coroutine" + +msgid "The Wikipedia entry for coroutines." +msgstr "Запис у Вікіпедії для співпрограм." + +msgid "" +"https://web.archive.org/web/20160321211320/http://www.sidhe.org/~dan/blog/" +"archives/000178.html" +msgstr "" + +msgid "" +"An explanation of coroutines from a Perl point of view, written by Dan " +"Sugalski." +msgstr "Пояснення співпрограм з точки зору Perl, написане Деном Сугальським." + +msgid "PEP 343: The 'with' statement" +msgstr "PEP 343: оператор \"з\"." + +msgid "" +"The ':keyword:`with`' statement clarifies code that previously would use " +"``try...finally`` blocks to ensure that clean-up code is executed. In this " +"section, I'll discuss the statement as it will commonly be used. In the " +"next section, I'll examine the implementation details and show how to write " +"objects for use with this statement." +msgstr "" +"Інструкція ':keyword:`with`' уточнює код, який раніше використовував блоки " +"``try...finally``, щоб забезпечити виконання коду очищення. У цьому розділі " +"я обговорю твердження, як воно буде зазвичай використовуватися. У наступному " +"розділі я розгляну деталі реалізації та покажу, як писати об’єкти для " +"використання з цим оператором." + +msgid "" +"The ':keyword:`with`' statement is a new control-flow structure whose basic " +"structure is::" +msgstr "" +"Оператор ':keyword:`with`' — це нова структура потоку керування, основна " +"структура якої:" + +msgid "" +"The expression is evaluated, and it should result in an object that supports " +"the context management protocol (that is, has :meth:`__enter__` and :meth:" +"`__exit__` methods." +msgstr "" +"Вираз обчислюється, і в результаті він має отримати об’єкт, який підтримує " +"протокол керування контекстом (тобто має методи :meth:`__enter__` і :meth:" +"`__exit__`." + +msgid "" +"The object's :meth:`__enter__` is called before *with-block* is executed and " +"therefore can run set-up code. It also may return a value that is bound to " +"the name *variable*, if given. (Note carefully that *variable* is *not* " +"assigned the result of *expression*.)" +msgstr "" +":meth:`__enter__` об’єкта викликається перед виконанням *with-block* і тому " +"може запускати код налаштування. Він також може повертати значення, яке " +"прив’язане до імені *змінної*, якщо його задано. (Зверніть увагу, що " +"*змінній* *не* присвоєно результат *виразу*.)" + +msgid "" +"After execution of the *with-block* is finished, the object's :meth:" +"`__exit__` method is called, even if the block raised an exception, and can " +"therefore run clean-up code." +msgstr "" +"Після завершення виконання *with-block* викликається метод :meth:`__exit__` " +"об’єкта, навіть якщо блок викликав виняткову ситуацію, і тому може запустити " +"код очищення." + +msgid "" +"To enable the statement in Python 2.5, you need to add the following " +"directive to your module::" +msgstr "" +"Щоб увімкнути оператор у Python 2.5, вам потрібно додати таку директиву до " +"свого модуля:" + +msgid "The statement will always be enabled in Python 2.6." +msgstr "Оператор завжди буде ввімкнено в Python 2.6." + +msgid "" +"Some standard Python objects now support the context management protocol and " +"can be used with the ':keyword:`with`' statement. File objects are one " +"example::" +msgstr "" +"Деякі стандартні об’єкти Python тепер підтримують протокол керування " +"контекстом і можуть використовуватися з оператором ':keyword:`with`'. Одним " +"із прикладів є файлові об’єкти:" + +msgid "" +"After this statement has executed, the file object in *f* will have been " +"automatically closed, even if the :keyword:`for` loop raised an exception " +"part-way through the block." +msgstr "" +"Після виконання цього оператора файловий об’єкт у *f* буде автоматично " +"закрито, навіть якщо цикл :keyword:`for` викликав виняток під час " +"проходження блоку." + +msgid "" +"In this case, *f* is the same object created by :func:`open`, because :meth:" +"`file.__enter__` returns *self*." +msgstr "" +"У цьому випадку *f* — це той самий об’єкт, створений :func:`open`, оскільки :" +"meth:`file.__enter__` повертає *self*." + +msgid "" +"The :mod:`threading` module's locks and condition variables also support " +"the ':keyword:`with`' statement::" +msgstr "" +"Блокування та змінні умови модуля :mod:`threading` також підтримують " +"оператор ':keyword:`with`'::" + +msgid "" +"The lock is acquired before the block is executed and always released once " +"the block is complete." +msgstr "" +"Блокування встановлюється перед виконанням блоку та завжди знімається після " +"завершення блоку." + +msgid "" +"The new :func:`localcontext` function in the :mod:`decimal` module makes it " +"easy to save and restore the current decimal context, which encapsulates the " +"desired precision and rounding characteristics for computations::" +msgstr "" +"Нова функція :func:`localcontext` у модулі :mod:`decimal` дозволяє легко " +"зберігати та відновлювати поточний десятковий контекст, який інкапсулює " +"бажану точність і характеристики округлення для обчислень:" + +msgid "Writing Context Managers" +msgstr "Написання менеджерів контексту" + +msgid "" +"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " +"people will only use ':keyword:`!with`' in company with existing objects and " +"don't need to know these details, so you can skip the rest of this section " +"if you like. Authors of new objects will need to understand the details of " +"the underlying implementation and should keep reading." +msgstr "" +"Під капотом оператор ':keyword:`with`' досить складний. Більшість людей " +"використовуватимуть ':keyword:`!with`' тільки в компанії з існуючими " +"об'єктами, і їм не потрібно знати ці деталі, тому ви можете пропустити решту " +"цього розділу, якщо хочете. Авторам нових об’єктів потрібно буде зрозуміти " +"деталі базової реалізації та продовжувати читати." + +msgid "A high-level explanation of the context management protocol is:" +msgstr "Загальне пояснення протоколу керування контекстом таке:" + +msgid "" +"The expression is evaluated and should result in an object called a " +"\"context manager\". The context manager must have :meth:`__enter__` and :" +"meth:`__exit__` methods." +msgstr "" +"Вираз обчислюється та має призвести до об’єкта, який називається \"менеджер " +"контексту\". Менеджер контексту повинен мати методи :meth:`__enter__` і :" +"meth:`__exit__`." + +msgid "" +"The context manager's :meth:`__enter__` method is called. The value " +"returned is assigned to *VAR*. If no ``'as VAR'`` clause is present, the " +"value is simply discarded." +msgstr "" +"Викликається метод :meth:`__enter__` контекстного менеджера. Повернуте " +"значення присвоюється *VAR*. Якщо немає пропозиції ``'as VAR''``, значення " +"просто відкидається." + +msgid "The code in *BLOCK* is executed." +msgstr "Код у *BLOCK* виконується." + +msgid "" +"If *BLOCK* raises an exception, the ``__exit__(type, value, traceback)`` is " +"called with the exception details, the same values returned by :func:`sys." +"exc_info`. The method's return value controls whether the exception is re-" +"raised: any false value re-raises the exception, and ``True`` will result in " +"suppressing it. You'll only rarely want to suppress the exception, because " +"if you do the author of the code containing the ':keyword:`with`' statement " +"will never realize anything went wrong." +msgstr "" +"Якщо *BLOCK* викликає виняток, викликається ``__exit__(type, value, " +"traceback)`` з деталями винятку, ті самі значення, які повертає :func:`sys." +"exc_info`. Повернене значення методу контролює, чи буде виняток повторно " +"викликаний: будь-яке значення false повторно викликає виняток, а ``True`` " +"призведе до його придушення. Ви рідко захочете придушити виняток, тому що, " +"якщо ви це зробите, автор коду, що містить оператор ':keyword:`with`', " +"ніколи не зрозуміє, що щось пішло не так." + +msgid "" +"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " +"called, but *type*, *value*, and *traceback* are all ``None``." +msgstr "" +"Якщо *BLOCK* не викликає винятку, метод :meth:`__exit__` все одно " +"викликається, але *type*, *value* і *traceback* мають значення ``None``." + +msgid "" +"Let's think through an example. I won't present detailed code but will only " +"sketch the methods necessary for a database that supports transactions." +msgstr "" +"Давайте поміркуємо на прикладі. Я не буду представляти детальний код, а лише " +"накидаю методи, необхідні для бази даних, яка підтримує транзакції." + +msgid "" +"(For people unfamiliar with database terminology: a set of changes to the " +"database are grouped into a transaction. Transactions can be either " +"committed, meaning that all the changes are written into the database, or " +"rolled back, meaning that the changes are all discarded and the database is " +"unchanged. See any database textbook for more information.)" +msgstr "" +"(Для людей, які не знайомі з термінологією бази даних: набір змін до бази " +"даних групується в транзакцію. Транзакції можуть бути або зафіксованими, " +"тобто всі зміни записуються в базу даних, або відкоченими, тобто всі зміни " +"скасовуються та база даних не змінена. Для отримання додаткової інформації " +"зверніться до будь-якого підручника з баз даних.)" + +msgid "" +"Let's assume there's an object representing a database connection. Our goal " +"will be to let the user write code like this::" +msgstr "" +"Припустімо, що існує об’єкт, що представляє з’єднання з базою даних. Нашою " +"метою буде дозволити користувачеві писати такий код:" + +msgid "" +"The transaction should be committed if the code in the block runs flawlessly " +"or rolled back if there's an exception. Here's the basic interface for :" +"class:`DatabaseConnection` that I'll assume::" +msgstr "" +"Транзакцію слід зафіксувати, якщо код у блоці працює бездоганно, або " +"відкотити, якщо є виняткова ситуація. Ось базовий інтерфейс для :class:" +"`DatabaseConnection`, який я припускаю:" + +msgid "" +"The :meth:`__enter__` method is pretty easy, having only to start a new " +"transaction. For this application the resulting cursor object would be a " +"useful result, so the method will return it. The user can then add ``as " +"cursor`` to their ':keyword:`with`' statement to bind the cursor to a " +"variable name. ::" +msgstr "" +"Метод :meth:`__enter__` досить простий, вам потрібно лише почати нову " +"транзакцію. Для цієї програми отриманий об’єкт курсора буде корисним " +"результатом, тому метод поверне його. Потім користувач може додати ``as " +"cursor`` до свого оператора ':keyword:`with`', щоб прив'язати курсор до " +"імені змінної. ::" + +msgid "" +"The :meth:`__exit__` method is the most complicated because it's where most " +"of the work has to be done. The method has to check if an exception " +"occurred. If there was no exception, the transaction is committed. The " +"transaction is rolled back if there was an exception." +msgstr "" +"Метод :meth:`__exit__` є найскладнішим, тому що в ньому потрібно виконати " +"більшу частину роботи. Метод повинен перевірити, чи сталася виняткова " +"ситуація. Якщо не було винятку, транзакція зафіксована. Транзакція " +"відкочується, якщо стався виняток." + +msgid "" +"In the code below, execution will just fall off the end of the function, " +"returning the default value of ``None``. ``None`` is false, so the " +"exception will be re-raised automatically. If you wished, you could be more " +"explicit and add a :keyword:`return` statement at the marked location. ::" +msgstr "" +"У наведеному нижче коді виконання просто припиниться в кінці функції, " +"повертаючи значення за замовчуванням ``None``. ``None`` є хибним, тому " +"виняток буде знову створено автоматично. Якщо ви бажаєте, ви можете бути " +"більш чіткими та додати оператор :keyword:`return` у позначене місце. ::" + +msgid "The contextlib module" +msgstr "Модуль contextlib" + +msgid "" +"The new :mod:`contextlib` module provides some functions and a decorator " +"that are useful for writing objects for use with the ':keyword:`with`' " +"statement." +msgstr "" +"Новий модуль :mod:`contextlib` надає деякі функції та декоратор, корисні для " +"написання об’єктів для використання з оператором ':keyword:`with`'." + +msgid "" +"The decorator is called :func:`contextmanager`, and lets you write a single " +"generator function instead of defining a new class. The generator should " +"yield exactly one value. The code up to the :keyword:`yield` will be " +"executed as the :meth:`__enter__` method, and the value yielded will be the " +"method's return value that will get bound to the variable in the ':keyword:" +"`with`' statement's :keyword:`!as` clause, if any. The code after the :" +"keyword:`yield` will be executed in the :meth:`__exit__` method. Any " +"exception raised in the block will be raised by the :keyword:`!yield` " +"statement." +msgstr "" +"Декоратор називається :func:`contextmanager` і дозволяє писати одну функцію-" +"генератор замість визначення нового класу. Генератор повинен видавати рівно " +"одне значення. Код до :keyword:`yield` буде виконано як метод :meth:" +"`__enter__`, а отримане значення буде поверненим значенням методу, яке буде " +"прив’язано до змінної в ':keyword:`with` ' оператора :keyword:`!as` пункт, " +"якщо такий є. Код після :keyword:`yield` буде виконано в методі :meth:" +"`__exit__`. Будь-які винятки, викликані в блоці, будуть викликані " +"оператором :keyword:`!yield`." + +msgid "" +"Our database example from the previous section could be written using this " +"decorator as::" +msgstr "" +"Наш приклад бази даних із попереднього розділу можна записати за допомогою " +"цього декоратора як:" + +msgid "" +"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function " +"that combines a number of context managers so you don't need to write nested " +"':keyword:`with`' statements. In this example, the single ':keyword:`!" +"with`' statement both starts a database transaction and acquires a thread " +"lock::" +msgstr "" +"Модуль :mod:`contextlib` також має функцію ``nested(mgr1, mgr2, ...)``, яка " +"об’єднує кілька контекстних менеджерів, тому вам не потрібно писати " +"вкладений ':keyword:`with`' заяви. У цьому прикладі один оператор ':keyword:" +"`!with`' запускає транзакцію бази даних і отримує блокування потоку::" + +msgid "" +"Finally, the ``closing(object)`` function returns *object* so that it can be " +"bound to a variable, and calls ``object.close`` at the end of the block. ::" +msgstr "" +"Нарешті, функція ``closing(object)`` повертає *object*, щоб його можна було " +"прив’язати до змінної, і викликає ``object.close`` у кінці блоку. ::" + +msgid ":pep:`343` - The \"with\" statement" +msgstr ":pep:`343` - оператор \"з\"." + +msgid "" +"PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, " +"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a " +"':keyword:`with`' statement, which can be helpful in learning how the " +"statement works." +msgstr "" +"PEP, написаний Гвідо ван Россумом і Ніком Когланом; реалізований Майком " +"Блендом, Гвідо ван Россумом і Нілом Норвітцем. PEP показує код, згенерований " +"для оператора ':keyword:`with`', який може бути корисним для вивчення того, " +"як працює оператор." + +msgid "The documentation for the :mod:`contextlib` module." +msgstr "Документація для модуля :mod:`contextlib`." + +msgid "PEP 352: Exceptions as New-Style Classes" +msgstr "PEP 352: Винятки як класи нового стилю" + +msgid "" +"Exception classes can now be new-style classes, not just classic classes, " +"and the built-in :exc:`Exception` class and all the standard built-in " +"exceptions (:exc:`NameError`, :exc:`ValueError`, etc.) are now new-style " +"classes." +msgstr "" +"Класи винятків тепер можуть бути класами нового стилю, а не лише класичними " +"класами, а також вбудованим класом :exc:`Exception` і всіма стандартними " +"вбудованими винятками (:exc:`NameError`, :exc:`ValueError`, і т.д.) тепер є " +"класами нового стилю." + +msgid "" +"The inheritance hierarchy for exceptions has been rearranged a bit. In 2.5, " +"the inheritance relationships are::" +msgstr "" +"Ієрархію успадкування для винятків було дещо змінено. У 2.5 відносини " +"успадкування такі:" + +msgid "" +"This rearrangement was done because people often want to catch all " +"exceptions that indicate program errors. :exc:`KeyboardInterrupt` and :exc:" +"`SystemExit` aren't errors, though, and usually represent an explicit action " +"such as the user hitting :kbd:`Control-C` or code calling :func:`sys.exit`. " +"A bare ``except:`` will catch all exceptions, so you commonly need to list :" +"exc:`KeyboardInterrupt` and :exc:`SystemExit` in order to re-raise them. " +"The usual pattern is::" +msgstr "" +"Це перевпорядкування було зроблено, оскільки люди часто хочуть перехопити " +"всі винятки, які вказують на помилки програми. :exc:`KeyboardInterrupt` і :" +"exc:`SystemExit` не є помилками, однак, і зазвичай представляють явну дію, " +"наприклад натискання користувачем :kbd:`Control-C` або виклик коду :func:" +"`sys.exit` . Голе ``except:`` перехопить усі винятки, тому вам зазвичай " +"потрібно перерахувати :exc:`KeyboardInterrupt` і :exc:`SystemExit`, щоб " +"повторно викликати їх. Звичайний шаблон такий::" + +msgid "" +"In Python 2.5, you can now write ``except Exception`` to achieve the same " +"result, catching all the exceptions that usually indicate errors but " +"leaving :exc:`KeyboardInterrupt` and :exc:`SystemExit` alone. As in " +"previous versions, a bare ``except:`` still catches all exceptions." +msgstr "" +"У Python 2.5 тепер ви можете написати ``except Exception``, щоб досягти того " +"самого результату, перехоплюючи всі винятки, які зазвичай вказують на " +"помилки, але залишаючи :exc:`KeyboardInterrupt` і :exc:`SystemExit` окремо. " +"Як і в попередніх версіях, голе ``except:`` усе ще перехоплює всі винятки." + +msgid "" +"The goal for Python 3.0 is to require any class raised as an exception to " +"derive from :exc:`BaseException` or some descendant of :exc:`BaseException`, " +"and future releases in the Python 2.x series may begin to enforce this " +"constraint. Therefore, I suggest you begin making all your exception classes " +"derive from :exc:`Exception` now. It's been suggested that the bare " +"``except:`` form should be removed in Python 3.0, but Guido van Rossum " +"hasn't decided whether to do this or not." +msgstr "" +"Мета для Python 3.0 полягає в тому, щоб вимагати, щоб будь-який клас, " +"створений як виняток, походив від :exc:`BaseException` або якогось нащадка :" +"exc:`BaseException`, і в майбутніх випусках серії Python 2.x це обмеження " +"може почати застосовуватися. . Тому я пропоную вам почати робити всі ваші " +"класи винятків похідними від :exc:`Exception` зараз. Було запропоновано, що " +"чисту форму ``except:`` слід видалити в Python 3.0, але Гвідо ван Россум не " +"вирішив, робити це чи ні." + +msgid "" +"Raising of strings as exceptions, as in the statement ``raise \"Error " +"occurred\"``, is deprecated in Python 2.5 and will trigger a warning. The " +"aim is to be able to remove the string-exception feature in a few releases." +msgstr "" +"Викликання рядків як винятків, як у виразі ``raise \"Сталася помилка\"``, " +"застаріло в Python 2.5 і викличе попередження. Мета полягає в тому, щоб мати " +"можливість видалити функцію виключення рядків у кількох випусках." + +msgid ":pep:`352` - Required Superclass for Exceptions" +msgstr ":pep:`352` - обов'язковий суперклас для винятків" + +msgid "" +"PEP written by Brett Cannon and Guido van Rossum; implemented by Brett " +"Cannon." +msgstr "" +"PEP, написаний Бреттом Кенноном і Гвідо ван Россумом; реалізовано Бреттом " +"Кенноном." + +msgid "PEP 353: Using ssize_t as the index type" +msgstr "PEP 353: використання ssize_t як типу індексу" + +msgid "" +"A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` " +"type definition instead of :c:expr:`int`, will permit the interpreter to " +"handle more data on 64-bit platforms. This change doesn't affect Python's " +"capacity on 32-bit platforms." +msgstr "" + +msgid "" +"Various pieces of the Python interpreter used C's :c:expr:`int` type to " +"store sizes or counts; for example, the number of items in a list or tuple " +"were stored in an :c:expr:`int`. The C compilers for most 64-bit platforms " +"still define :c:expr:`int` as a 32-bit type, so that meant that lists could " +"only hold up to ``2**31 - 1`` = 2147483647 items. (There are actually a few " +"different programming models that 64-bit C compilers can use -- see https://" +"unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " +"commonly available model leaves :c:expr:`int` as 32 bits.)" +msgstr "" + +msgid "" +"A limit of 2147483647 items doesn't really matter on a 32-bit platform " +"because you'll run out of memory before hitting the length limit. Each list " +"item requires space for a pointer, which is 4 bytes, plus space for a :c:" +"type:`PyObject` representing the item. 2147483647\\*4 is already more bytes " +"than a 32-bit address space can contain." +msgstr "" +"Обмеження в 2147483647 елементів насправді не має значення на 32-розрядній " +"платформі, тому що у вас закінчиться пам’ять, перш ніж досягнеться обмеження " +"довжини. Кожен елемент списку потребує місця для вказівника, який становить " +"4 байти, плюс місце для :c:type:`PyObject`, що представляє елемент. " +"2147483647\\*4 — це вже більше байтів, ніж може вмістити 32-розрядний " +"адресний простір." + +msgid "" +"It's possible to address that much memory on a 64-bit platform, however. " +"The pointers for a list that size would only require 16 GiB of space, so " +"it's not unreasonable that Python programmers might construct lists that " +"large. Therefore, the Python interpreter had to be changed to use some type " +"other than :c:expr:`int`, and this will be a 64-bit type on 64-bit " +"platforms. The change will cause incompatibilities on 64-bit machines, so " +"it was deemed worth making the transition now, while the number of 64-bit " +"users is still relatively small. (In 5 or 10 years, we may *all* be on 64-" +"bit machines, and the transition would be more painful then.)" +msgstr "" + +msgid "" +"This change most strongly affects authors of C extension modules. Python " +"strings and container types such as lists and tuples now use :c:type:" +"`Py_ssize_t` to store their size. Functions such as :c:func:`PyList_Size` " +"now return :c:type:`Py_ssize_t`. Code in extension modules may therefore " +"need to have some variables changed to :c:type:`Py_ssize_t`." +msgstr "" +"Ця зміна найбільше впливає на авторів модулів розширення C. Рядки Python і " +"типи контейнерів, такі як списки та кортежі, тепер використовують :c:type:" +"`Py_ssize_t` для зберігання свого розміру. Такі функції, як :c:func:" +"`PyList_Size` тепер повертають :c:type:`Py_ssize_t`. Тому в коді модулів " +"розширення може знадобитися змінити деякі змінні на :c:type:`Py_ssize_t`." + +msgid "" +"The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a " +"new conversion code, ``n``, for :c:type:`Py_ssize_t`. :c:func:" +"`PyArg_ParseTuple`'s ``s#`` and ``t#`` still output :c:expr:`int` by " +"default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before " +"including :file:`Python.h` to make them return :c:type:`Py_ssize_t`." +msgstr "" + +msgid "" +":pep:`353` has a section on conversion guidelines that extension authors " +"should read to learn about supporting 64-bit platforms." +msgstr "" +":pep:`353` містить розділ про вказівки щодо перетворення, який слід " +"прочитати авторам розширень, щоб дізнатися про підтримку 64-розрядних " +"платформ." + +msgid ":pep:`353` - Using ssize_t as the index type" +msgstr ":pep:`353` - Використання ssize_t як типу індексу" + +msgid "PEP written and implemented by Martin von Löwis." +msgstr "PEP написаний і реалізований Мартіном фон Льовісом." + +msgid "PEP 357: The '__index__' method" +msgstr "PEP 357: метод '__index__'" + +msgid "" +"The NumPy developers had a problem that could only be solved by adding a new " +"special method, :meth:`__index__`. When using slice notation, as in " +"``[start:stop:step]``, the values of the *start*, *stop*, and *step* indexes " +"must all be either integers or long integers. NumPy defines a variety of " +"specialized integer types corresponding to unsigned and signed integers of " +"8, 16, 32, and 64 bits, but there was no way to signal that these types " +"could be used as slice indexes." +msgstr "" +"У розробників NumPy була проблема, яку можна було вирішити, лише додавши " +"новий спеціальний метод :meth:`__index__`. При використанні нотації " +"фрагментів, як у ``[start:stop:step]``, значення індексів *start*, *stop* і " +"*step* мають бути цілими або довгими цілими числами. NumPy визначає " +"різноманітність спеціалізованих типів цілих чисел, що відповідають цілим " +"числам без знаку та знаку 8, 16, 32 та 64 біт, але не було жодного способу " +"вказати, що ці типи можна використовувати як індекси зрізів." + +msgid "" +"Slicing can't just use the existing :meth:`__int__` method because that " +"method is also used to implement coercion to integers. If slicing used :" +"meth:`__int__`, floating-point numbers would also become legal slice indexes " +"and that's clearly an undesirable behaviour." +msgstr "" +"Зрізання не може використовувати лише існуючий метод :meth:`__int__`, " +"оскільки цей метод також використовується для реалізації приведення до цілих " +"чисел. Якщо використати секцію :meth:`__int__`, числа з плаваючою комою " +"також стануть законними індексами фрагментів, і це явно небажана поведінка." + +msgid "" +"Instead, a new special method called :meth:`__index__` was added. It takes " +"no arguments and returns an integer giving the slice index to use. For " +"example::" +msgstr "" +"Замість цього було додано новий спеціальний метод під назвою :meth:" +"`__index__`. Він не приймає аргументів і повертає ціле число, що дає індекс " +"фрагмента для використання. Наприклад::" + +msgid "" +"The return value must be either a Python integer or long integer. The " +"interpreter will check that the type returned is correct, and raises a :exc:" +"`TypeError` if this requirement isn't met." +msgstr "" +"Повернене значення має бути або цілим числом Python, або довгим цілим " +"числом. Інтерпретатор перевірить, чи повернутий тип правильний, і викличе :" +"exc:`TypeError`, якщо ця вимога не виконується." + +msgid "" +"A corresponding :attr:`nb_index` slot was added to the C-level :c:type:" +"`PyNumberMethods` structure to let C extensions implement this protocol. " +"``PyNumber_Index(obj)`` can be used in extension code to call the :meth:" +"`__index__` function and retrieve its result." +msgstr "" +"Відповідний слот :attr:`nb_index` додано до структури рівня C :c:type:" +"`PyNumberMethods`, щоб дозволити розширенням C реалізувати цей протокол. " +"``PyNumber_Index(obj)`` можна використовувати в коді розширення для виклику " +"функції :meth:`__index__` і отримання її результату." + +msgid ":pep:`357` - Allowing Any Object to be Used for Slicing" +msgstr ":pep:`357` - Дозволяє використовувати будь-який об'єкт для нарізки" + +msgid "PEP written and implemented by Travis Oliphant." +msgstr "PEP написаний і реалізований Тревісом Оліфантом." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"Here are all of the changes that Python 2.5 makes to the core Python " +"language." +msgstr "Ось усі зміни, які Python 2.5 вносить у основну мову Python." + +msgid "" +"The :class:`dict` type has a new hook for letting subclasses provide a " +"default value when a key isn't contained in the dictionary. When a key isn't " +"found, the dictionary's ``__missing__(key)`` method will be called. This " +"hook is used to implement the new :class:`defaultdict` class in the :mod:" +"`collections` module. The following example defines a dictionary that " +"returns zero for any missing key::" +msgstr "" +"Тип :class:`dict` має новий хук, який дозволяє підкласам надавати значення " +"за замовчуванням, коли ключ не міститься в словнику. Якщо ключ не знайдено, " +"буде викликано метод ``__missing__(key)`` словника. Цей хук використовується " +"для реалізації нового класу :class:`defaultdict` в модулі :mod:" +"`collections`. У наступному прикладі визначено словник, який повертає нуль " +"для будь-якого відсутнього ключа:" + +msgid "" +"Both 8-bit and Unicode strings have new ``partition(sep)`` and " +"``rpartition(sep)`` methods that simplify a common use case." +msgstr "" +"І 8-бітні рядки, і рядки Unicode мають нові методи ``partition(sep)`` і " +"``rpartition(sep)``, які спрощують загальний варіант використання." + +msgid "" +"The ``find(S)`` method is often used to get an index which is then used to " +"slice the string and obtain the pieces that are before and after the " +"separator. ``partition(sep)`` condenses this pattern into a single method " +"call that returns a 3-tuple containing the substring before the separator, " +"the separator itself, and the substring after the separator. If the " +"separator isn't found, the first element of the tuple is the entire string " +"and the other two elements are empty. ``rpartition(sep)`` also returns a 3-" +"tuple but starts searching from the end of the string; the ``r`` stands for " +"'reverse'." +msgstr "" +"Метод ``find(S)`` часто використовується для отримання індексу, який потім " +"використовується для розрізання рядка та отримання частин, які знаходяться " +"перед і після роздільника. ``partition(sep)`` зводить цей шаблон до одного " +"виклику методу, який повертає 3-кортеж, що містить підрядок перед " +"роздільником, сам роздільник і підрядок після роздільника. Якщо роздільник " +"не знайдено, перший елемент кортежу є цілим рядком, а інші два елементи " +"порожні. ``rpartition(sep)`` також повертає 3-кортеж, але починає пошук з " +"кінця рядка; ``r`` означає 'зворотний'." + +msgid "Some examples::" +msgstr "Деякі приклади::" + +msgid "" +"(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)" +msgstr "(Реалізовано Фредріком Лундом за пропозицією Раймонда Геттінгера.)" + +msgid "" +"The :meth:`startswith` and :meth:`endswith` methods of string types now " +"accept tuples of strings to check for. ::" +msgstr "" +"Методи :meth:`startswith` і :meth:`endswith` типів рядків тепер приймають " +"кортежі рядків для перевірки. ::" + +msgid "(Implemented by Georg Brandl following a suggestion by Tom Lynn.)" +msgstr "(Реалізовано Георгом Брандлом за пропозицією Тома Лінна.)" + +msgid "" +"The :func:`min` and :func:`max` built-in functions gained a ``key`` keyword " +"parameter analogous to the ``key`` argument for :meth:`sort`. This " +"parameter supplies a function that takes a single argument and is called for " +"every value in the list; :func:`min`/:func:`max` will return the element " +"with the smallest/largest return value from this function. For example, to " +"find the longest string in a list, you can do::" +msgstr "" +"Вбудовані функції :func:`min` і :func:`max` отримали параметр ключового " +"слова ``key``, аналогічний аргументу ``key`` для :meth:`sort`. Цей параметр " +"надає функцію, яка приймає один аргумент і викликається для кожного значення " +"в списку; :func:`min`/:func:`max` поверне елемент із найменшим/найбільшим " +"значенням, що повертається цією функцією. Наприклад, щоб знайти найдовший " +"рядок у списку, ви можете зробити:" + +msgid "(Contributed by Steven Bethard and Raymond Hettinger.)" +msgstr "(Надано Стівеном Бетардом і Реймондом Геттінгером.)" + +msgid "" +"Two new built-in functions, :func:`any` and :func:`all`, evaluate whether an " +"iterator contains any true or false values. :func:`any` returns :const:" +"`True` if any value returned by the iterator is true; otherwise it will " +"return :const:`False`. :func:`all` returns :const:`True` only if all of the " +"values returned by the iterator evaluate as true. (Suggested by Guido van " +"Rossum, and implemented by Raymond Hettinger.)" +msgstr "" +"Дві нові вбудовані функції, :func:`any` і :func:`all`, оцінюють, чи містить " +"ітератор значення true або false. :func:`any` повертає :const:`True`, якщо " +"будь-яке значення, яке повертає ітератор, є істинним; інакше він поверне :" +"const:`False`. :func:`all` повертає :const:`True` тільки якщо всі значення, " +"повернуті ітератором, оцінюються як істинні. (Запропоновано Гвідо ван " +"Россумом і реалізовано Раймондом Геттінгером.)" + +msgid "" +"The result of a class's :meth:`__hash__` method can now be either a long " +"integer or a regular integer. If a long integer is returned, the hash of " +"that value is taken. In earlier versions the hash value was required to be " +"a regular integer, but in 2.5 the :func:`id` built-in was changed to always " +"return non-negative numbers, and users often seem to use ``id(self)`` in :" +"meth:`__hash__` methods (though this is discouraged)." +msgstr "" +"Результатом методу :meth:`__hash__` класу тепер може бути або довге ціле, " +"або звичайне ціле число. Якщо повертається довге ціле число, береться хеш " +"цього значення. У попередніх версіях хеш-значення повинно було бути " +"звичайним цілим числом, але у 2.5 вбудований :func:`id` було змінено, щоб " +"завжди повертати невід’ємні числа, і користувачі часто використовують " +"``id(self)`` в методах :meth:`__hash__` (хоча це не рекомендується)." + +msgid "" +"ASCII is now the default encoding for modules. It's now a syntax error if " +"a module contains string literals with 8-bit characters but doesn't have an " +"encoding declaration. In Python 2.4 this triggered a warning, not a syntax " +"error. See :pep:`263` for how to declare a module's encoding; for example, " +"you might add a line like this near the top of the source file::" +msgstr "" +"ASCII тепер є стандартним кодуванням для модулів. Тепер це синтаксична " +"помилка, якщо модуль містить рядкові літерали з 8-бітовими символами, але не " +"має оголошення кодування. У Python 2.4 це викликало попередження, а не " +"синтаксичну помилку. Перегляньте :pep:`263`, щоб дізнатися, як оголосити " +"кодування модуля; наприклад, ви можете додати такий рядок у верхній частині " +"вихідного файлу::" + +msgid "" +"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to " +"compare a Unicode string and an 8-bit string that can't be converted to " +"Unicode using the default ASCII encoding. The result of the comparison is " +"false::" +msgstr "" +"Нове попередження, :class:`UnicodeWarning`, спрацьовує, коли ви намагаєтеся " +"порівняти рядок Unicode з 8-бітним рядком, який не можна перетворити на " +"Unicode за допомогою стандартного кодування ASCII. Результат порівняння " +"false::" + +msgid "" +"Previously this would raise a :class:`UnicodeDecodeError` exception, but in " +"2.5 this could result in puzzling problems when accessing a dictionary. If " +"you looked up ``unichr(128)`` and ``chr(128)`` was being used as a key, " +"you'd get a :class:`UnicodeDecodeError` exception. Other changes in 2.5 " +"resulted in this exception being raised instead of suppressed by the code " +"in :file:`dictobject.c` that implements dictionaries." +msgstr "" +"Раніше це викликало виняток :class:`UnicodeDecodeError`, але у версії 2.5 це " +"могло призвести до загадкових проблем під час доступу до словника. Якщо ви " +"шукали ``unichr(128)`` і ``chr(128)`` використовувався як ключ, ви отримали " +"б виняток :class:`UnicodeDecodeError`. Інші зміни у 2.5 призвели до того, що " +"цей виняток було викликано замість придушення кодом у :file:`dictobject.c`, " +"який реалізує словники." + +msgid "" +"Raising an exception for such a comparison is strictly correct, but the " +"change might have broken code, so instead :class:`UnicodeWarning` was " +"introduced." +msgstr "" +"Створення винятку для такого порівняння є абсолютно правильним, але зміна " +"могла порушити код, тому замість цього було введено :class:`UnicodeWarning`." + +msgid "(Implemented by Marc-André Lemburg.)" +msgstr "(Реалізовано Марком-Андре Лембургом.)" + +msgid "" +"One error that Python programmers sometimes make is forgetting to include " +"an :file:`__init__.py` module in a package directory. Debugging this mistake " +"can be confusing, and usually requires running Python with the :option:`-v` " +"switch to log all the paths searched. In Python 2.5, a new :exc:" +"`ImportWarning` warning is triggered when an import would have picked up a " +"directory as a package but no :file:`__init__.py` was found. This warning " +"is silently ignored by default; provide the :option:`-Wd <-W>` option when " +"running the Python executable to display the warning message. (Implemented " +"by Thomas Wouters.)" +msgstr "" +"Одна з помилок, яку інколи допускають програмісти на Python, полягає в тому, " +"що вони забувають включити модуль :file:`__init__.py` в каталог пакунків. " +"Налагодження цієї помилки може заплутати, і зазвичай вимагає запуску Python " +"з перемикачем :option:`-v`, щоб реєструвати всі шукані шляхи. У Python 2.5 " +"нове попередження :exc:`ImportWarning` спрацьовує, коли імпорт мав би " +"отримати каталог як пакет, але не було знайдено :file:`__init__.py`. За " +"замовчуванням це попередження мовчки ігнорується; надайте параметр :option:`-" +"Wd <-W>` під час запуску виконуваного файлу Python для відображення " +"попереджувального повідомлення. (Реалізовано Томасом Воутерсом.)" + +msgid "" +"The list of base classes in a class definition can now be empty. As an " +"example, this is now legal::" +msgstr "" +"Список базових класів у визначенні класу тепер може бути порожнім. Як " +"приклад, це зараз законно::" + +msgid "(Implemented by Brett Cannon.)" +msgstr "(Реалізовано Бреттом Кенноном.)" + +msgid "Interactive Interpreter Changes" +msgstr "Зміни інтерактивного інтерпретатора" + +msgid "" +"In the interactive interpreter, ``quit`` and ``exit`` have long been " +"strings so that new users get a somewhat helpful message when they try to " +"quit::" +msgstr "" +"В інтерактивному інтерпретаторі ``quit`` і ``exit`` вже давно є рядками, " +"тому нові користувачі отримують дещо корисне повідомлення, коли вони " +"намагаються вийти:" + +msgid "" +"In Python 2.5, ``quit`` and ``exit`` are now objects that still produce " +"string representations of themselves, but are also callable. Newbies who try " +"``quit()`` or ``exit()`` will now exit the interpreter as they expect. " +"(Implemented by Georg Brandl.)" +msgstr "" +"У Python 2.5 ``quit`` і ``exit`` тепер є об'єктами, які все ще створюють " +"рядкові представлення самих себе, але також можуть викликатися. Новачки, які " +"спробують ``quit()`` або ``exit()`` тепер вийдуть з інтерпретатора, як вони " +"очікують. (Реалізовано Георгом Брандлом.)" + +msgid "" +"The Python executable now accepts the standard long options :option:`--" +"help` and :option:`--version`; on Windows, it also accepts the :option:`/? " +"<-?>` option for displaying a help message. (Implemented by Georg Brandl.)" +msgstr "" +"Виконуваний файл Python тепер приймає стандартні довгі параметри :option:`--" +"help` і :option:`--version`; у Windows він також приймає :option:`/? <-?>` " +"параметр для відображення довідкового повідомлення. (Реалізовано Георгом " +"Брандлом.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"Several of the optimizations were developed at the NeedForSpeed sprint, an " +"event held in Reykjavik, Iceland, from May 21--28 2006. The sprint focused " +"on speed enhancements to the CPython implementation and was funded by EWT " +"LLC with local support from CCP Games. Those optimizations added at this " +"sprint are specially marked in the following list." +msgstr "" +"Декілька оптимізацій було розроблено під час спринту NeedForSpeed, заходу, " +"який проходив у Рейк’явіку, Ісландія, 21--28 травня 2006 року. Спринт був " +"зосереджений на підвищенні швидкості реалізації CPython і фінансувався EWT " +"LLC за місцевої підтримки від CCP Games. Ці оптимізації, додані під час " +"цього спринту, спеціально позначені в наступному списку." + +msgid "" +"When they were introduced in Python 2.4, the built-in :class:`set` and :" +"class:`frozenset` types were built on top of Python's dictionary type. In " +"2.5 the internal data structure has been customized for implementing sets, " +"and as a result sets will use a third less memory and are somewhat faster. " +"(Implemented by Raymond Hettinger.)" +msgstr "" +"Коли вони були представлені в Python 2.4, вбудовані типи :class:`set` і :" +"class:`frozenset` були створені поверх типу словника Python. У 2.5 внутрішню " +"структуру даних було налаштовано для реалізації наборів, і в результаті " +"набори використовуватимуть на третину менше пам’яті та будуть дещо швидшими. " +"(Реалізовано Раймондом Хеттінгером.)" + +msgid "" +"The speed of some Unicode operations, such as finding substrings, string " +"splitting, and character map encoding and decoding, has been improved. " +"(Substring search and splitting improvements were added by Fredrik Lundh and " +"Andrew Dalke at the NeedForSpeed sprint. Character maps were improved by " +"Walter Dörwald and Martin von Löwis.)" +msgstr "" +"Швидкість деяких операцій Unicode, таких як пошук підрядків, поділ рядків і " +"кодування та декодування карти символів, покращено. (Фредрік Лунд і Ендрю " +"Далке під час спринту NeedForSpeed удосконалили пошук підрядків і " +"розділення. Карти символів покращили Вальтер Дьорвальд і Мартін фон Льовіс.)" + +msgid "" +"The ``long(str, base)`` function is now faster on long digit strings because " +"fewer intermediate results are calculated. The peak is for strings of " +"around 800--1000 digits where the function is 6 times faster. (Contributed " +"by Alan McIntyre and committed at the NeedForSpeed sprint.)" +msgstr "" +"Функція long(str, base) тепер працює швидше з довгими рядками цифр, оскільки " +"обчислюється менше проміжних результатів. Пік припадає на рядки приблизно з " +"800--1000 цифр, де функція працює в 6 разів швидше. (Надано Аланом " +"Макінтайром і зроблено під час спринту NeedForSpeed.)" + +msgid "" +"It's now illegal to mix iterating over a file with ``for line in file`` and " +"calling the file object's :meth:`read`/:meth:`readline`/:meth:`readlines` " +"methods. Iteration uses an internal buffer and the :meth:`read\\*` methods " +"don't use that buffer. Instead they would return the data following the " +"buffer, causing the data to appear out of order. Mixing iteration and these " +"methods will now trigger a :exc:`ValueError` from the :meth:`read\\*` " +"method. (Implemented by Thomas Wouters.)" +msgstr "" +"Тепер заборонено змішувати ітерацію по файлу з ``для рядка у файлі`` та " +"викликом методів :meth:`read`/:meth:`readline`/:meth:`readlines` об’єкта " +"файлу. Ітерація використовує внутрішній буфер, а методи :meth:`read\\*` не " +"використовують цей буфер. Натомість вони повертатимуть дані після буфера, " +"через що дані виглядатимуть не в порядку. Змішування ітерації та цих методів " +"тепер ініціює :exc:`ValueError` з методу :meth:`read\\*`. (Реалізовано " +"Томасом Воутерсом.)" + +msgid "" +"The :mod:`struct` module now compiles structure format strings into an " +"internal representation and caches this representation, yielding a 20% " +"speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)" +msgstr "" +"Модуль :mod:`struct` тепер компілює рядки формату структури у внутрішнє " +"представлення та кешує це представлення, що забезпечує 20% прискорення. " +"(Надано Бобом Іполіто під час спринту NeedForSpeed.)" + +msgid "" +"The :mod:`re` module got a 1 or 2% speedup by switching to Python's " +"allocator functions instead of the system's :c:func:`malloc` and :c:func:" +"`free`. (Contributed by Jack Diederich at the NeedForSpeed sprint.)" +msgstr "" +"Модуль :mod:`re` отримав прискорення на 1 або 2% завдяки переключенню на " +"функції виділення Python замість системних :c:func:`malloc` і :c:func:" +"`free`. (Надано Джеком Дідеріхом під час спринту NeedForSpeed.)" + +msgid "" +"The code generator's peephole optimizer now performs simple constant folding " +"in expressions. If you write something like ``a = 2+3``, the code generator " +"will do the arithmetic and produce code corresponding to ``a = 5``. " +"(Proposed and implemented by Raymond Hettinger.)" +msgstr "" +"Оптимізатор peephole генератора коду тепер виконує просту постійну згортання " +"виразів. Якщо ви напишете щось на кшталт ``a = 2+3``, генератор коду виконає " +"арифметику та створить код, що відповідає ``a = 5``. (Запропоновано та " +"реалізовано Раймондом Хеттінгером.)" + +msgid "" +"Function calls are now faster because code objects now keep the most " +"recently finished frame (a \"zombie frame\") in an internal field of the " +"code object, reusing it the next time the code object is invoked. (Original " +"patch by Michael Hudson, modified by Armin Rigo and Richard Jones; committed " +"at the NeedForSpeed sprint.) Frame objects are also slightly smaller, which " +"may improve cache locality and reduce memory usage a bit. (Contributed by " +"Neal Norwitz.)" +msgstr "" +"Виклики функцій тепер швидші, оскільки об’єкти коду тепер зберігають " +"останній готовий кадр (\"зомбі-кадр\") у внутрішньому полі об’єкта коду, " +"повторно використовуючи його під час наступного виклику об’єкта коду. " +"(Оригінальний патч Майкла Хадсона, модифікований Арміном Ріго та Річардом " +"Джонсом; зроблено під час спринту NeedForSpeed.) Об’єкти фрейму також трохи " +"менші, що може покращити локальність кешу та трохи зменшити використання " +"пам’яті. (Надав Ніл Норвіц.)" + +msgid "" +"Python's built-in exceptions are now new-style classes, a change that speeds " +"up instantiation considerably. Exception handling in Python 2.5 is " +"therefore about 30% faster than in 2.4. (Contributed by Richard Jones, Georg " +"Brandl and Sean Reifschneider at the NeedForSpeed sprint.)" +msgstr "" +"Вбудовані винятки Python тепер є класами нового стилю, зміна, яка значно " +"прискорює створення екземплярів. Тому обробка винятків у Python 2.5 " +"приблизно на 30% швидша, ніж у 2.4. (Річард Джонс, Георг Брандл і Шон " +"Райфшнайдер на спринті NeedForSpeed.)" + +msgid "" +"Importing now caches the paths tried, recording whether they exist or not " +"so that the interpreter makes fewer :c:func:`open` and :c:func:`stat` calls " +"on startup. (Contributed by Martin von Löwis and Georg Brandl.)" +msgstr "" +"Імпорт тепер кешує спробовані шляхи, записуючи їх існування чи ні, щоб " +"інтерпретатор здійснював менше викликів :c:func:`open` і :c:func:`stat` під " +"час запуску. (Надано Мартіном фон Льовісом і Георгом Брандлом.)" + +msgid "New, Improved, and Removed Modules" +msgstr "Нові, покращені та видалені модулі" + +msgid "" +"The standard library received many enhancements and bug fixes in Python 2.5. " +"Here's a partial list of the most notable changes, sorted alphabetically by " +"module name. Consult the :file:`Misc/NEWS` file in the source tree for a " +"more complete list of changes, or look through the SVN logs for all the " +"details." +msgstr "" +"Стандартна бібліотека отримала багато вдосконалень і виправлень помилок у " +"Python 2.5. Ось неповний список найбільш помітних змін, відсортованих за " +"алфавітом назв модулів. Зверніться до файлу :file:`Misc/NEWS` у дереві " +"вихідних кодів, щоб отримати більш повний список змін, або перегляньте " +"журнали SVN, щоб отримати всі деталі." + +msgid "" +"The :mod:`audioop` module now supports the a-LAW encoding, and the code for " +"u-LAW encoding has been improved. (Contributed by Lars Immisch.)" +msgstr "" +"Модуль :mod:`audioop` тепер підтримує кодування a-LAW, а код для кодування u-" +"LAW було вдосконалено. (Надав Ларс Імміш.)" + +msgid "" +"The :mod:`codecs` module gained support for incremental codecs. The :func:" +"`codec.lookup` function now returns a :class:`CodecInfo` instance instead of " +"a tuple. :class:`CodecInfo` instances behave like a 4-tuple to preserve " +"backward compatibility but also have the attributes :attr:`encode`, :attr:" +"`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, :attr:" +"`streamwriter`, and :attr:`streamreader`. Incremental codecs can receive " +"input and produce output in multiple chunks; the output is the same as if " +"the entire input was fed to the non-incremental codec. See the :mod:`codecs` " +"module documentation for details. (Designed and implemented by Walter " +"Dörwald.)" +msgstr "" +"Модуль :mod:`codecs` отримав підтримку інкрементних кодеків. Функція :func:" +"`codec.lookup` тепер повертає екземпляр :class:`CodecInfo` замість кортежу. " +"Екземпляри :class:`CodecInfo` поводяться як 4-кортеж, щоб зберегти зворотну " +"сумісність, але також мають атрибути :attr:`encode`, :attr:`decode`, :attr:" +"`incrementalencoder`, :attr:`incrementaldecoder`, :attr:`streamwriter` і :" +"attr:`streamreader`. Інкрементні кодеки можуть отримувати вхідні дані та " +"виводити їх кількома порціями; вихідний сигнал такий самий, як якби весь " +"вхід був поданий до неінкрементного кодека. Подробиці дивіться в " +"документації модуля :mod:`codecs`. (Розроблено та реалізовано Вальтером " +"Дьорвальдом.)" + +msgid "" +"The :mod:`collections` module gained a new type, :class:`defaultdict`, that " +"subclasses the standard :class:`dict` type. The new type mostly behaves " +"like a dictionary but constructs a default value when a key isn't present, " +"automatically adding it to the dictionary for the requested key value." +msgstr "" +"Модуль :mod:`collections` отримав новий тип, :class:`defaultdict`, який є " +"підкласами стандартного типу :class:`dict`. Новий тип здебільшого веде себе " +"як словник, але створює значення за замовчуванням, коли ключ відсутній, " +"автоматично додаючи його до словника для запитуваного значення ключа." + +msgid "" +"The first argument to :class:`defaultdict`'s constructor is a factory " +"function that gets called whenever a key is requested but not found. This " +"factory function receives no arguments, so you can use built-in type " +"constructors such as :func:`list` or :func:`int`. For example, you can " +"make an index of words based on their initial letter like this::" +msgstr "" +"Першим аргументом конструктора :class:`defaultdict` є фабрична функція, яка " +"викликається щоразу, коли запитується ключ, але він не знайдений. Ця " +"фабрична функція не отримує аргументів, тому ви можете використовувати " +"вбудовані конструктори типу, такі як :func:`list` або :func:`int`. " +"Наприклад, ви можете скласти покажчик слів на основі їх початкової літери " +"так:" + +msgid "Printing ``index`` results in the following output::" +msgstr "Друк ``index`` призводить до наступного результату:" + +msgid "(Contributed by Guido van Rossum.)" +msgstr "(Надав Гвідо ван Россум.)" + +msgid "" +"The :class:`deque` double-ended queue type supplied by the :mod:" +"`collections` module now has a ``remove(value)`` method that removes the " +"first occurrence of *value* in the queue, raising :exc:`ValueError` if the " +"value isn't found. (Contributed by Raymond Hettinger.)" +msgstr "" +"Тип двосторонньої черги :class:`deque`, наданий модулем :mod:`collections`, " +"тепер має метод ``remove(value)``, який видаляє перше входження *value* у " +"черзі, викликаючи :exc:`ValueError`, якщо значення не знайдено. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +"New module: The :mod:`contextlib` module contains helper functions for use " +"with the new ':keyword:`with`' statement. See section :ref:`contextlibmod` " +"for more about this module." +msgstr "" +"Новий модуль: Модуль :mod:`contextlib` містить допоміжні функції для " +"використання з новим оператором ':keyword:`with`'. Перегляньте розділ :ref:" +"`contextlibmod`, щоб дізнатися більше про цей модуль." + +msgid "" +"New module: The :mod:`cProfile` module is a C implementation of the " +"existing :mod:`profile` module that has much lower overhead. The module's " +"interface is the same as :mod:`profile`: you run ``cProfile.run('main()')`` " +"to profile a function, can save profile data to a file, etc. It's not yet " +"known if the Hotshot profiler, which is also written in C but doesn't match " +"the :mod:`profile` module's interface, will continue to be maintained in " +"future versions of Python. (Contributed by Armin Rigo.)" +msgstr "" +"Новий модуль: Модуль :mod:`cProfile` — це реалізація існуючого модуля :mod:" +"`profile` на C, яка має значно менші витрати. Інтерфейс модуля такий самий, " +"як і :mod:`profile`: ви запускаєте ``cProfile.run('main()')`` для " +"профілювання функції, можете зберегти дані профілю у файл тощо. Поки що " +"невідомо, чи профайлер Hotshot, який також написаний мовою C, але не " +"відповідає інтерфейсу модуля :mod:`profile`, буде продовжувати " +"підтримуватися в майбутніх версіях Python. (Надав Армін Ріго.)" + +msgid "" +"Also, the :mod:`pstats` module for analyzing the data measured by the " +"profiler now supports directing the output to any file object by supplying a " +"*stream* argument to the :class:`Stats` constructor. (Contributed by Skip " +"Montanaro.)" +msgstr "" +"Крім того, модуль :mod:`pstats` для аналізу даних, виміряних профайлером, " +"тепер підтримує спрямування виводу до будь-якого файлового об’єкта, надаючи " +"аргумент *stream* конструктору :class:`Stats`. (Надав Скіп Монтанаро.)" + +msgid "" +"The :mod:`csv` module, which parses files in comma-separated value format, " +"received several enhancements and a number of bugfixes. You can now set the " +"maximum size in bytes of a field by calling the ``csv." +"field_size_limit(new_limit)`` function; omitting the *new_limit* argument " +"will return the currently set limit. The :class:`reader` class now has a :" +"attr:`line_num` attribute that counts the number of physical lines read from " +"the source; records can span multiple physical lines, so :attr:`line_num` is " +"not the same as the number of records read." +msgstr "" + +msgid "" +"The CSV parser is now stricter about multi-line quoted fields. Previously, " +"if a line ended within a quoted field without a terminating newline " +"character, a newline would be inserted into the returned field. This " +"behavior caused problems when reading files that contained carriage return " +"characters within fields, so the code was changed to return the field " +"without inserting newlines. As a consequence, if newlines embedded within " +"fields are important, the input should be split into lines in a manner that " +"preserves the newline characters." +msgstr "" +"Синтаксичний аналізатор CSV тепер суворіший щодо багаторядкових полів у " +"лапках. Раніше, якщо рядок закінчувався в полі в лапках без кінцевого " +"символу нового рядка, новий рядок вставлявся у поле, що поверталося. Така " +"поведінка викликала проблеми під час читання файлів, які містили символи " +"повернення каретки в межах полів, тому код було змінено, щоб повертати поле " +"без вставки нового рядка. Як наслідок, якщо нові рядки, вбудовані в поля, є " +"важливими, вхідні дані слід розділити на рядки таким чином, щоб зберегти " +"символи нового рядка." + +msgid "(Contributed by Skip Montanaro and Andrew McNamara.)" +msgstr "(Надано Скіпом Монтанаро та Ендрю Макнамарою.)" + +msgid "" +"The :class:`~datetime.datetime` class in the :mod:`datetime` module now has " +"a ``strptime(string, format)`` method for parsing date strings, contributed " +"by Josh Spoerri. It uses the same format characters as :func:`time.strptime` " +"and :func:`time.strftime`::" +msgstr "" +"Клас :class:`~datetime.datetime` в модулі :mod:`datetime` тепер має метод " +"``strptime(string, format)`` для аналізу рядків дат, наданий Джошем Споеррі. " +"Він використовує символи того самого формату, що й :func:`time.strptime` і :" +"func:`time.strftime`::" + +msgid "" +"The :meth:`SequenceMatcher.get_matching_blocks` method in the :mod:`difflib` " +"module now guarantees to return a minimal list of blocks describing matching " +"subsequences. Previously, the algorithm would occasionally break a block of " +"matching elements into two list entries. (Enhancement by Tim Peters.)" +msgstr "" +"Метод :meth:`SequenceMatcher.get_matching_blocks` у модулі :mod:`difflib` " +"тепер гарантує повернення мінімального списку блоків, що описують відповідні " +"підпослідовності. Раніше алгоритм час від часу розбивав блок відповідних " +"елементів на два записи списку. (Покращення Тім Пітерс.)" + +msgid "" +"The :mod:`doctest` module gained a ``SKIP`` option that keeps an example " +"from being executed at all. This is intended for code snippets that are " +"usage examples intended for the reader and aren't actually test cases." +msgstr "" +"Модуль :mod:`doctest` отримав параметр ``SKIP``, який утримує приклад від " +"виконання взагалі. Це призначено для фрагментів коду, які є прикладами " +"використання, призначеними для читача, а насправді не є тестовими випадками." + +msgid "" +"An *encoding* parameter was added to the :func:`testfile` function and the :" +"class:`DocFileSuite` class to specify the file's encoding. This makes it " +"easier to use non-ASCII characters in tests contained within a docstring. " +"(Contributed by Bjorn Tillenius.)" +msgstr "" +"Параметр *encoding* додано до функції :func:`testfile` і класу :class:" +"`DocFileSuite` для визначення кодування файлу. Це полегшує використання " +"символів, відмінних від ASCII, у тестах, що містяться в рядку документації. " +"(Надав Бьорн Тілленіус.)" + +msgid "" +"The :mod:`email` package has been updated to version 4.0. (Contributed by " +"Barry Warsaw.)" +msgstr "Пакет :mod:`email` оновлено до версії 4.0. (Надав Баррі Варшау.)" + +msgid "" +"The :mod:`fileinput` module was made more flexible. Unicode filenames are " +"now supported, and a *mode* parameter that defaults to ``\"r\"`` was added " +"to the :func:`input` function to allow opening files in binary or :term:" +"`universal newlines` mode. Another new parameter, *openhook*, lets you use " +"a function other than :func:`open` to open the input files. Once you're " +"iterating over the set of files, the :class:`FileInput` object's new :meth:" +"`fileno` returns the file descriptor for the currently opened file. " +"(Contributed by Georg Brandl.)" +msgstr "" +"Модуль :mod:`fileinput` став більш гнучким. Тепер підтримуються імена файлів " +"у кодуванні Unicode, а параметр *mode*, який за замовчуванням має значення ``" +"\"r\"``, було додано до функції :func:`input`, щоб дозволити відкривати " +"файли в двійковому режимі або режимі :term:`universal newlines`. Ще один " +"новий параметр, *openhook*, дозволяє використовувати функцію, відмінну від :" +"func:`open`, щоб відкривати вхідні файли. Коли ви переглядаєте набір файлів, " +"новий :meth:`fileno` об’єкта :class:`FileInput` повертає дескриптор файлу " +"для поточного відкритого файлу. (Надав Георг Брандл.)" + +msgid "" +"In the :mod:`gc` module, the new :func:`get_count` function returns a 3-" +"tuple containing the current collection counts for the three GC " +"generations. This is accounting information for the garbage collector; when " +"these counts reach a specified threshold, a garbage collection sweep will be " +"made. The existing :func:`gc.collect` function now takes an optional " +"*generation* argument of 0, 1, or 2 to specify which generation to collect. " +"(Contributed by Barry Warsaw.)" +msgstr "" +"У модулі :mod:`gc` нова функція :func:`get_count` повертає 3-кортеж, що " +"містить поточну кількість колекцій для трьох поколінь GC. Це облікова " +"інформація для збирача сміття; коли ці підрахунки досягнуть заданого порогу, " +"буде виконано підмітання сміття. Існуюча функція :func:`gc.collect` тепер " +"приймає необов’язковий аргумент *generation* 0, 1 або 2, щоб вказати, яке " +"покоління збирати. (Надав Баррі Варшау.)" + +msgid "" +"The :func:`nsmallest` and :func:`nlargest` functions in the :mod:`heapq` " +"module now support a ``key`` keyword parameter similar to the one provided " +"by the :func:`min`/:func:`max` functions and the :meth:`sort` methods. For " +"example::" +msgstr "" +"Функції :func:`nsmallest` і :func:`nlargest` у модулі :mod:`heapq` тепер " +"підтримують параметр ключового слова ``key``, подібний до того, який надає " +"функції :func:`min`/:func:`max` і методи :meth:`sort`. Наприклад::" + +msgid "(Contributed by Raymond Hettinger.)" +msgstr "(Надав Реймонд Геттінгер.)" + +msgid "" +"The :func:`itertools.islice` function now accepts ``None`` for the start and " +"step arguments. This makes it more compatible with the attributes of slice " +"objects, so that you can now write the following::" +msgstr "" +"Функція :func:`itertools.islice` тепер приймає ``None`` для аргументів start " +"і step. Це робить його більш сумісним з атрибутами об’єктів фрагмента, тож " +"тепер ви можете написати наступне::" + +msgid "" +"The :func:`format` function in the :mod:`locale` module has been modified " +"and two new functions were added, :func:`format_string` and :func:`currency`." +msgstr "" +"Функцію :func:`format` в модулі :mod:`locale` було змінено та додано дві " +"нові функції, :func:`format_string` і :func:`currency`." + +msgid "" +"The :func:`format` function's *val* parameter could previously be a string " +"as long as no more than one %char specifier appeared; now the parameter must " +"be exactly one %char specifier with no surrounding text. An optional " +"*monetary* parameter was also added which, if ``True``, will use the " +"locale's rules for formatting currency in placing a separator between groups " +"of three digits." +msgstr "" +"Параметр *val* функції :func:`format` раніше міг бути рядком, якщо " +"з’являлося не більше одного специфікатора %char; тепер параметр має бути " +"точно одним специфікатором %char без навколишнього тексту. Також було додано " +"необов’язковий параметр *monetary*, який, якщо ``True``, використовуватиме " +"правила локалі для форматування валюти під час розміщення розділювача між " +"групами з трьох цифр." + +msgid "" +"To format strings with multiple %char specifiers, use the new :func:" +"`format_string` function that works like :func:`format` but also supports " +"mixing %char specifiers with arbitrary text." +msgstr "" +"Щоб відформатувати рядки з кількома специфікаторами %char, використовуйте " +"нову функцію :func:`format_string`, яка працює як :func:`format`, але також " +"підтримує змішування специфікаторів %char з довільним текстом." + +msgid "" +"A new :func:`currency` function was also added that formats a number " +"according to the current locale's settings." +msgstr "" +"Також додано нову функцію :func:`currency`, яка форматує число відповідно до " +"поточних налаштувань мови." + +msgid "(Contributed by Georg Brandl.)" +msgstr "(Надав Георг Брандл.)" + +msgid "" +"The :mod:`mailbox` module underwent a massive rewrite to add the capability " +"to modify mailboxes in addition to reading them. A new set of classes that " +"include :class:`mbox`, :class:`MH`, and :class:`Maildir` are used to read " +"mailboxes, and have an ``add(message)`` method to add messages, " +"``remove(key)`` to remove messages, and :meth:`lock`/:meth:`unlock` to lock/" +"unlock the mailbox. The following example converts a maildir-format mailbox " +"into an mbox-format one::" +msgstr "" +"Модуль :mod:`mailbox` зазнав масштабного перепису, щоб додати можливість " +"змінювати поштові скриньки на додаток до їх читання. Новий набір класів, " +"який включає :class:`mbox`, :class:`MH` і :class:`Maildir`, використовуються " +"для читання поштових скриньок і мають метод ``add(message)`` для додавання " +"повідомлень, ``remove(key)``, щоб видалити повідомлення, і :meth:`lock`/:" +"meth:`unlock`, щоб заблокувати/розблокувати поштову скриньку. Наступний " +"приклад перетворює поштову скриньку у форматі maildir на скриньку у форматі " +"mbox:" + +msgid "" +"(Contributed by Gregory K. Johnson. Funding was provided by Google's 2005 " +"Summer of Code.)" +msgstr "" +"(Надано Грегорі К. Джонсоном. Фінансування надано Google Summer of Code 2005 " +"року.)" + +msgid "" +"New module: the :mod:`msilib` module allows creating Microsoft Installer :" +"file:`.msi` files and CAB files. Some support for reading the :file:`.msi` " +"database is also included. (Contributed by Martin von Löwis.)" +msgstr "" +"Новий модуль: модуль :mod:`msilib` дозволяє створювати файли Microsoft " +"Installer :file:`.msi` і файли CAB. Також включено певну підтримку для " +"читання бази даних :file:`.msi`. (Надав Мартін фон Льовіс.)" + +msgid "" +"The :mod:`nis` module now supports accessing domains other than the system " +"default domain by supplying a *domain* argument to the :func:`nis.match` " +"and :func:`nis.maps` functions. (Contributed by Ben Bell.)" +msgstr "" +"Модуль :mod:`nis` тепер підтримує доступ до доменів, відмінних від " +"системного домену за замовчуванням, надаючи аргумент *domain* функціям :func:" +"`nis.match` і :func:`nis.maps`. (Надав Бен Белл.)" + +msgid "" +"The :mod:`operator` module's :func:`itemgetter` and :func:`attrgetter` " +"functions now support multiple fields. A call such as ``operator." +"attrgetter('a', 'b')`` will return a function that retrieves the :attr:`a` " +"and :attr:`b` attributes. Combining this new feature with the :meth:`sort` " +"method's ``key`` parameter lets you easily sort lists using multiple " +"fields. (Contributed by Raymond Hettinger.)" +msgstr "" +"Функції :func:`itemgetter` і :func:`attrgetter` модуля :mod:`operator` тепер " +"підтримують кілька полів. Такий виклик, як ``operator.attrgetter('a', 'b')`` " +"поверне функцію, яка отримує атрибути :attr:`a` і :attr:`b`. Поєднання цієї " +"нової функції з параметром ``key`` методу :meth:`sort` дозволяє легко " +"сортувати списки за допомогою кількох полів. (Надав Реймонд Геттінгер.)" + +msgid "" +"The :mod:`optparse` module was updated to version 1.5.1 of the Optik " +"library. The :class:`OptionParser` class gained an :attr:`epilog` attribute, " +"a string that will be printed after the help message, and a :meth:`destroy` " +"method to break reference cycles created by the object. (Contributed by Greg " +"Ward.)" +msgstr "" +"Модуль :mod:`optparse` оновлено до версії 1.5.1 бібліотеки Optik. Клас :" +"class:`OptionParser` отримав атрибут :attr:`epilog`, рядок, який " +"друкуватиметься після повідомлення довідки, і метод :meth:`destroy` для " +"розриву посилальних циклів, створених об’єктом. (Надав Грег Ворд.)" + +msgid "" +"The :mod:`os` module underwent several changes. The :attr:" +"`stat_float_times` variable now defaults to true, meaning that :func:`os." +"stat` will now return time values as floats. (This doesn't necessarily mean " +"that :func:`os.stat` will return times that are precise to fractions of a " +"second; not all systems support such precision.)" +msgstr "" +"Модуль :mod:`os` зазнав кількох змін. Змінна :attr:`stat_float_times` тепер " +"має значення true, що означає, що :func:`os.stat` тепер повертатиме значення " +"часу як числа з плаваючою точкою. (Це не обов’язково означає, що :func:`os." +"stat` повертатиме час із точністю до часток секунди; не всі системи " +"підтримують таку точність.)" + +msgid "" +"Constants named :attr:`os.SEEK_SET`, :attr:`os.SEEK_CUR`, and :attr:`os." +"SEEK_END` have been added; these are the parameters to the :func:`os.lseek` " +"function. Two new constants for locking are :attr:`os.O_SHLOCK` and :attr:" +"`os.O_EXLOCK`." +msgstr "" +"Додано константи з назвами :attr:`os.SEEK_SET`, :attr:`os.SEEK_CUR` і :attr:" +"`os.SEEK_END`; це параметри функції :func:`os.lseek`. Дві нові константи для " +"блокування: :attr:`os.O_SHLOCK` і :attr:`os.O_EXLOCK`." + +msgid "" +"Two new functions, :func:`wait3` and :func:`wait4`, were added. They're " +"similar the :func:`waitpid` function which waits for a child process to exit " +"and returns a tuple of the process ID and its exit status, but :func:`wait3` " +"and :func:`wait4` return additional information. :func:`wait3` doesn't take " +"a process ID as input, so it waits for any child process to exit and returns " +"a 3-tuple of *process-id*, *exit-status*, *resource-usage* as returned from " +"the :func:`resource.getrusage` function. ``wait4(pid)`` does take a process " +"ID. (Contributed by Chad J. Schroeder.)" +msgstr "" +"Було додано дві нові функції :func:`wait3` і :func:`wait4`. Вони схожі на " +"функцію :func:`waitpid`, яка очікує на вихід дочірнього процесу та повертає " +"кортеж ідентифікатора процесу та його статус виходу, але :func:`wait3` і :" +"func:`wait4` повертають додаткову інформацію . :func:`wait3` не приймає " +"ідентифікатор процесу як вхідні дані, тому він очікує на вихід будь-якого " +"дочірнього процесу та повертає 3-кортеж *process-id*, *exit-status*, " +"*resource-usage* як повертається з функції :func:`resource.getrusage`. " +"``wait4(pid)`` приймає ідентифікатор процесу. (Надав Чад Дж. Шредер.)" + +msgid "" +"On FreeBSD, the :func:`os.stat` function now returns times with nanosecond " +"resolution, and the returned object now has :attr:`st_gen` and :attr:" +"`st_birthtime`. The :attr:`st_flags` attribute is also available, if the " +"platform supports it. (Contributed by Antti Louko and Diego Pettenò.)" +msgstr "" +"У FreeBSD функція :func:`os.stat` тепер повертає час із наносекундною " +"роздільною здатністю, а повернутий об’єкт тепер має :attr:`st_gen` і :attr:" +"`st_birthtime`. Атрибут :attr:`st_flags` також доступний, якщо платформа " +"його підтримує. (Надано Антті Луко та Дієго Петтено.)" + +msgid "" +"The Python debugger provided by the :mod:`pdb` module can now store lists of " +"commands to execute when a breakpoint is reached and execution stops. Once " +"breakpoint #1 has been created, enter ``commands 1`` and enter a series of " +"commands to be executed, finishing the list with ``end``. The command list " +"can include commands that resume execution, such as ``continue`` or " +"``next``. (Contributed by Grégoire Dooms.)" +msgstr "" +"Налагоджувач Python, наданий модулем :mod:`pdb`, тепер може зберігати списки " +"команд, які потрібно виконати, коли досягнуто точки зупинки та припинено " +"виконання. Після створення точки зупину №1 введіть ``команди 1`` та введіть " +"ряд команд, які потрібно виконати, завершивши список ``кінець``. Список " +"команд може включати команди, які відновлюють виконання, такі як " +"``продовжити`` або ``далі``. (Надано Грегуаром Думсом.)" + +msgid "" +"The :mod:`pickle` and :mod:`cPickle` modules no longer accept a return value " +"of ``None`` from the :meth:`__reduce__` method; the method must return a " +"tuple of arguments instead. The ability to return ``None`` was deprecated " +"in Python 2.4, so this completes the removal of the feature." +msgstr "" +"Модулі :mod:`pickle` і :mod:`cPickle` більше не приймають повернення " +"значення ``None`` від методу :meth:`__reduce__`; замість цього метод повинен " +"повертати кортеж аргументів. Можливість повертати ``None`` була застарілою в " +"Python 2.4, тож це завершує видалення цієї функції." + +msgid "" +"The :mod:`pkgutil` module, containing various utility functions for finding " +"packages, was enhanced to support :pep:`302`'s import hooks and now also " +"works for packages stored in ZIP-format archives. (Contributed by Phillip J. " +"Eby.)" +msgstr "" +"Модуль :mod:`pkgutil`, який містить різноманітні службові функції для пошуку " +"пакунків, було покращено для підтримки перехоплювачів імпорту :pep:`302` і " +"тепер також працює для пакунків, що зберігаються в архівах ZIP-формату. " +"(Надав Філіп Дж. Ебі.)" + +msgid "" +"The pybench benchmark suite by Marc-André Lemburg is now included in the :" +"file:`Tools/pybench` directory. The pybench suite is an improvement on the " +"commonly used :file:`pystone.py` program because pybench provides a more " +"detailed measurement of the interpreter's speed. It times particular " +"operations such as function calls, tuple slicing, method lookups, and " +"numeric operations, instead of performing many different operations and " +"reducing the result to a single number as :file:`pystone.py` does." +msgstr "" +"Набір тестів pybench від Марка-Андре Лембурга тепер включено до каталогу :" +"file:`Tools/pybench`. Набір pybench є вдосконаленням загальновживаної " +"програми :file:`pystone.py`, оскільки pybench забезпечує більш детальне " +"вимірювання швидкості інтерпретатора. Замість того, щоб виконувати багато " +"різних операцій і зводити результат до одного числа, як це робить :file:" +"`pystone.py`, він відраховує певні операції, такі як виклики функцій, " +"нарізка кортежів, пошук методів і числові операції." + +msgid "" +"The :mod:`pyexpat` module now uses version 2.0 of the Expat parser. " +"(Contributed by Trent Mick.)" +msgstr "" +"Модуль :mod:`pyexpat` тепер використовує версію 2.0 аналізатора Expat. " +"(Надав Трент Мік.)" + +msgid "" +"The :class:`~queue.Queue` class provided by the :mod:`Queue` module gained " +"two new methods. :meth:`join` blocks until all items in the queue have been " +"retrieved and all processing work on the items have been completed. Worker " +"threads call the other new method, :meth:`task_done`, to signal that " +"processing for an item has been completed. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +"Клас :class:`~queue.Queue`, наданий модулем :mod:`Queue`, отримав два нові " +"методи. :meth:`join` блокує, доки всі елементи в черзі не будуть отримані та " +"вся робота з обробки елементів не буде завершена. Робочі потоки викликають " +"інший новий метод, :meth:`task_done`, щоб повідомити, що обробку елемента " +"завершено. (Надав Реймонд Геттінгер.)" + +msgid "" +"The old :mod:`regex` and :mod:`regsub` modules, which have been deprecated " +"ever since Python 2.0, have finally been deleted. Other deleted modules: :" +"mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`." +msgstr "" +"Старі модулі :mod:`regex` і :mod:`regsub`, які були застарілими ще з Python " +"2.0, нарешті були видалені. Інші видалені модулі: :mod:`statcache`, :mod:" +"`tzparse`, :mod:`whrandom`." + +msgid "" +"Also deleted: the :file:`lib-old` directory, which includes ancient modules " +"such as :mod:`dircmp` and :mod:`ni`, was removed. :file:`lib-old` wasn't on " +"the default ``sys.path``, so unless your programs explicitly added the " +"directory to ``sys.path``, this removal shouldn't affect your code." +msgstr "" +"Також видалено: каталог :file:`lib-old`, який містить старі модулі, такі як :" +"mod:`dircmp` і :mod:`ni`, було видалено. :file:`lib-old` не було в ``sys." +"path`` за замовчуванням, тому, якщо ваші програми явно не додали каталог до " +"``sys.path``, це видалення не повинно вплинути на ваш код." + +msgid "" +"The :mod:`rlcompleter` module is no longer dependent on importing the :mod:" +"`readline` module and therefore now works on non-Unix platforms. (Patch from " +"Robert Kiendl.)" +msgstr "" +"Модуль :mod:`rlcompleter` більше не залежить від імпорту модуля :mod:" +"`readline` і тому тепер працює на платформах, відмінних від Unix. (Патч від " +"Роберта Кіндла.)" + +msgid "" +"The :mod:`SimpleXMLRPCServer` and :mod:`DocXMLRPCServer` classes now have " +"a :attr:`rpc_paths` attribute that constrains XML-RPC operations to a " +"limited set of URL paths; the default is to allow only ``'/'`` and ``'/" +"RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " +"this path checking." +msgstr "" +"Класи :mod:`SimpleXMLRPCServer` і :mod:`DocXMLRPCServer` тепер мають " +"атрибут :attr:`rpc_paths`, який обмежує операції XML-RPC обмеженим набором " +"URL-шляхів; за замовчуванням дозволено лише ``'/'`` і ``''/RPC2'``. " +"Встановлення для :attr:`rpc_paths` значення ``None`` або пустого кортежу " +"вимикає цю перевірку шляху." + +msgid "" +"The :mod:`socket` module now supports :const:`AF_NETLINK` sockets on Linux, " +"thanks to a patch from Philippe Biondi. Netlink sockets are a Linux-" +"specific mechanism for communications between a user-space process and " +"kernel code; an introductory article about them is at https://www." +"linuxjournal.com/article/7356. In Python code, netlink addresses are " +"represented as a tuple of 2 integers, ``(pid, group_mask)``." +msgstr "" +"Модуль :mod:`socket` тепер підтримує :const:`AF_NETLINK` сокети в Linux " +"завдяки патчу від Філіпа Біонді. Сокети Netlink — це специфічний для Linux " +"механізм зв’язку між процесом простору користувача та кодом ядра; вступну " +"статтю про них можна знайти на https://www.linuxjournal.com/article/7356. У " +"коді Python адреси мережевих посилань представлені у вигляді кортежу з 2 " +"цілих чисел, ``(pid, group_mask)``." + +msgid "" +"Two new methods on socket objects, ``recv_into(buffer)`` and " +"``recvfrom_into(buffer)``, store the received data in an object that " +"supports the buffer protocol instead of returning the data as a string. " +"This means you can put the data directly into an array or a memory-mapped " +"file." +msgstr "" +"Два нові методи для об’єктів сокетів, ``recv_into(buffer)`` і " +"``recvfrom_into(buffer)``, зберігають отримані дані в об’єкті, який " +"підтримує протокол буфера, замість того, щоб повертати дані як рядок. Це " +"означає, що ви можете помістити дані безпосередньо в масив або файл із " +"відображенням пам’яті." + +msgid "" +"Socket objects also gained :meth:`getfamily`, :meth:`gettype`, and :meth:" +"`getproto` accessor methods to retrieve the family, type, and protocol " +"values for the socket." +msgstr "" +"Об’єкти сокетів також отримали методи доступу :meth:`getfamily`, :meth:" +"`gettype` і :meth:`getproto` для отримання значень сімейства, типу та " +"протоколу для сокета." + +msgid "" +"New module: the :mod:`spwd` module provides functions for accessing the " +"shadow password database on systems that support shadow passwords." +msgstr "" +"Новий модуль: модуль :mod:`spwd` надає функції для доступу до бази даних " +"тіньових паролів у системах, які підтримують тіньові паролі." + +msgid "" +"The :mod:`struct` is now faster because it compiles format strings into :" +"class:`Struct` objects with :meth:`pack` and :meth:`unpack` methods. This " +"is similar to how the :mod:`re` module lets you create compiled regular " +"expression objects. You can still use the module-level :func:`pack` and :" +"func:`unpack` functions; they'll create :class:`Struct` objects and cache " +"them. Or you can use :class:`Struct` instances directly::" +msgstr "" +":mod:`struct` тепер працює швидше, оскільки він компілює рядки формату в " +"об’єкти :class:`Struct` за допомогою методів :meth:`pack` і :meth:`unpack`. " +"Це подібно до того, як модуль :mod:`re` дозволяє створювати скомпільовані " +"об’єкти регулярного виразу. Ви все ще можете використовувати функції :func:" +"`pack` і :func:`unpack` на рівні модуля; вони створять об’єкти :class:" +"`Struct` і кешуватимуть їх. Або ви можете безпосередньо використовувати " +"екземпляри :class:`Struct`::" + +msgid "" +"You can also pack and unpack data to and from buffer objects directly using " +"the ``pack_into(buffer, offset, v1, v2, ...)`` and ``unpack_from(buffer, " +"offset)`` methods. This lets you store data directly into an array or a " +"memory-mapped file." +msgstr "" +"Ви також можете пакувати та розпаковувати дані в буферні об’єкти та з них " +"безпосередньо за допомогою методів ``pack_into(buffer, offset, v1, " +"v2, ...)`` і ``unpack_from(buffer, offset)``. Це дає змогу зберігати дані " +"безпосередньо в масиві або файлі, відображеному в пам’яті." + +msgid "" +"(:class:`Struct` objects were implemented by Bob Ippolito at the " +"NeedForSpeed sprint. Support for buffer objects was added by Martin Blais, " +"also at the NeedForSpeed sprint.)" +msgstr "" +"(:class:`Struct` об’єкти реалізував Боб Іпполіто під час спринту " +"NeedForSpeed. Підтримку об’єктів буфера додав Мартін Блейс, також під час " +"спринту NeedForSpeed.)" + +msgid "" +"The Python developers switched from CVS to Subversion during the 2.5 " +"development process. Information about the exact build version is available " +"as the ``sys.subversion`` variable, a 3-tuple of ``(interpreter-name, branch-" +"name, revision-range)``. For example, at the time of writing my copy of 2.5 " +"was reporting ``('CPython', 'trunk', '45313:45315')``." +msgstr "" +"Розробники Python перейшли від CVS до Subversion під час процесу розробки " +"2.5. Інформація про точну версію збірки доступна як змінна ``sys." +"subversion``, 3-кортеж ``(ім'я-інтерпретатора, ім'я-гілки, діапазон-" +"версій)``. Наприклад, на момент написання моя копія 2.5 повідомляла про " +"``('CPython', 'trunk', '45313:45315')``." + +msgid "" +"This information is also available to C extensions via the :c:func:" +"`Py_GetBuildInfo` function that returns a string of build information like " +"this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. (Contributed by " +"Barry Warsaw.)" +msgstr "" +"Ця інформація також доступна для розширень C через функцію :c:func:" +"`Py_GetBuildInfo`, яка повертає рядок інформації про збірку, як це: ``" +"\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"`` . (Надав Баррі Варшау.)" + +msgid "" +"Another new function, :func:`sys._current_frames`, returns the current stack " +"frames for all running threads as a dictionary mapping thread identifiers to " +"the topmost stack frame currently active in that thread at the time the " +"function is called. (Contributed by Tim Peters.)" +msgstr "" +"Інша нова функція, :func:`sys._current_frames`, повертає поточні фрейми " +"стека для всіх запущених потоків як словник, що зіставляє ідентифікатори " +"потоку з найвищим фреймом стека, який зараз активний у цьому потоці на " +"момент виклику функції. (Надав Тім Пітерс.)" + +msgid "" +"The :class:`TarFile` class in the :mod:`tarfile` module now has an :meth:" +"`extractall` method that extracts all members from the archive into the " +"current working directory. It's also possible to set a different directory " +"as the extraction target, and to unpack only a subset of the archive's " +"members." +msgstr "" +"Клас :class:`TarFile` в модулі :mod:`tarfile` тепер має метод :meth:" +"`extractall`, який витягує всі члени з архіву в поточний робочий каталог. " +"Також можна встановити інший каталог як ціль видобування та розпакувати лише " +"частину членів архіву." + +msgid "" +"The compression used for a tarfile opened in stream mode can now be " +"autodetected using the mode ``'r|*'``. (Contributed by Lars Gustäbel.)" +msgstr "" +"Стиснення, яке використовується для tar-файлу, відкритого в режимі потоку, " +"тепер можна автоматично визначити за допомогою режиму ``'r|*'``. (Надав Ларс " +"Густебель.)" + +msgid "" +"The :mod:`threading` module now lets you set the stack size used when new " +"threads are created. The ``stack_size([*size*])`` function returns the " +"currently configured stack size, and supplying the optional *size* parameter " +"sets a new value. Not all platforms support changing the stack size, but " +"Windows, POSIX threading, and OS/2 all do. (Contributed by Andrew MacIntyre.)" +msgstr "" +"Модуль :mod:`threading` тепер дозволяє встановлювати розмір стеку, який " +"використовується під час створення нових потоків. Функція " +"``stack_size([*size*])`` повертає поточний налаштований розмір стека, а " +"надання додаткового параметра *size* встановлює нове значення. Не всі " +"платформи підтримують зміну розміру стека, але Windows, потоки POSIX і OS/2 " +"підтримують. (Надав Ендрю Макінтайр.)" + +msgid "" +"The :mod:`unicodedata` module has been updated to use version 4.1.0 of the " +"Unicode character database. Version 3.2.0 is required by some " +"specifications, so it's still available as :attr:`unicodedata.ucd_3_2_0`." +msgstr "" +"Модуль :mod:`unicodedata` оновлено для використання версії 4.1.0 бази даних " +"символів Unicode. Деякі специфікації вимагають версії 3.2.0, тому вона все " +"ще доступна як :attr:`unicodedata.ucd_3_2_0`." + +msgid "" +"New module: the :mod:`uuid` module generates universally unique " +"identifiers (UUIDs) according to :rfc:`4122`. The RFC defines several " +"different UUID versions that are generated from a starting string, from " +"system properties, or purely randomly. This module contains a :class:`UUID` " +"class and functions named :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, " +"and :func:`uuid5` to generate different versions of UUID. (Version 2 " +"UUIDs are not specified in :rfc:`4122` and are not supported by this " +"module.) ::" +msgstr "" +"Новий модуль: модуль :mod:`uuid` генерує універсальні унікальні " +"ідентифікатори (UUID) відповідно до :rfc:`4122`. RFC визначає кілька різних " +"версій UUID, які генеруються з початкового рядка, властивостей системи або " +"абсолютно випадковим чином. Цей модуль містить клас :class:`UUID` і функції " +"з іменами :func:`uuid1`, :func:`uuid3`, :func:`uuid4` і :func:`uuid5` для " +"створення різних версій UUID. (UUID версії 2 не вказано в :rfc:`4122` і не " +"підтримується цим модулем.) ::" + +msgid "(Contributed by Ka-Ping Yee.)" +msgstr "(Надано Ка-Пінг Йі.)" + +msgid "" +"The :mod:`weakref` module's :class:`WeakKeyDictionary` and :class:" +"`WeakValueDictionary` types gained new methods for iterating over the weak " +"references contained in the dictionary. :meth:`iterkeyrefs` and :meth:" +"`keyrefs` methods were added to :class:`WeakKeyDictionary`, and :meth:" +"`itervaluerefs` and :meth:`valuerefs` were added to :class:" +"`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)" +msgstr "" +"Типи :class:`WeakKeyDictionary` і :class:`WeakValueDictionary` модуля :mod:" +"`weakref` отримали нові методи для повторення слабких посилань, що містяться " +"в словнику. Методи :meth:`iterkeyrefs` і :meth:`keyrefs` додано до :class:" +"`WeakKeyDictionary`, а :meth:`itervaluerefs` і :meth:`valuerefs` додано до :" +"class:`WeakValueDictionary`. (Надав Фред Л. Дрейк-молодший)" + +msgid "" +"The :mod:`webbrowser` module received a number of enhancements. It's now " +"usable as a script with ``python -m webbrowser``, taking a URL as the " +"argument; there are a number of switches to control the behaviour (:option:" +"`!-n` for a new browser window, :option:`!-t` for a new tab). New module-" +"level functions, :func:`open_new` and :func:`open_new_tab`, were added to " +"support this. The module's :func:`open` function supports an additional " +"feature, an *autoraise* parameter that signals whether to raise the open " +"window when possible. A number of additional browsers were added to the " +"supported list such as Firefox, Opera, Konqueror, and elinks. (Contributed " +"by Oleg Broytmann and Georg Brandl.)" +msgstr "" +"Модуль :mod:`webbrowser` отримав низку вдосконалень. Тепер його можна " +"використовувати як сценарій з ``python -m webbrowser``, приймаючи URL як " +"аргумент; є кілька перемикачів для керування поведінкою (:option:`!-n` для " +"нового вікна браузера, :option:`!-t` для нової вкладки). Для підтримки цього " +"додано нові функції на рівні модуля, :func:`open_new` і :func:" +"`open_new_tab`. Функція модуля :func:`open` підтримує додаткову функцію, " +"параметр *autoraise*, який сигналізує, чи піднімати відкрите вікно, коли це " +"можливо. До списку підтримуваних було додано низку додаткових браузерів, " +"таких як Firefox, Opera, Konqueror та elinks. (Надано Олегом Бройтманном і " +"Георгом Брандлом.)" + +msgid "" +"The :mod:`xmlrpclib` module now supports returning :class:`~datetime." +"datetime` objects for the XML-RPC date type. Supply ``use_datetime=True`` " +"to the :func:`loads` function or the :class:`Unmarshaller` class to enable " +"this feature. (Contributed by Skip Montanaro.)" +msgstr "" +"Модуль :mod:`xmlrpclib` тепер підтримує повернення об’єктів :class:" +"`~datetime.datetime` для типу дати XML-RPC. Щоб увімкнути цю функцію, " +"укажіть ``use_datetime=True`` функції :func:`loads` або класу :class:" +"`Unmarshaller`. (Надав Скіп Монтанаро.)" + +msgid "" +"The :mod:`zipfile` module now supports the ZIP64 version of the format, " +"meaning that a .zip archive can now be larger than 4 GiB and can contain " +"individual files larger than 4 GiB. (Contributed by Ronald Oussoren.)" +msgstr "" +"Модуль :mod:`zipfile` тепер підтримує версію формату ZIP64, тобто архів .zip " +"тепер може бути більшим за 4 ГіБ і містити окремі файли розміром понад 4 " +"ГіБ. (Надав Рональд Уссорен.)" + +msgid "" +"The :mod:`zlib` module's :class:`Compress` and :class:`Decompress` objects " +"now support a :meth:`copy` method that makes a copy of the object's " +"internal state and returns a new :class:`Compress` or :class:`Decompress` " +"object. (Contributed by Chris AtLee.)" +msgstr "" +"Об’єкти :class:`Compress` і :class:`Decompress` модуля :mod:`zlib` тепер " +"підтримують метод :meth:`copy`, який створює копію внутрішнього стану " +"об’єкта та повертає новий :class:`Compress` або :class:`Decompress` об’єкт. " +"(Надав Кріс Етлі.)" + +msgid "The ctypes package" +msgstr "Пакет ctypes" + +msgid "" +"The :mod:`ctypes` package, written by Thomas Heller, has been added to the " +"standard library. :mod:`ctypes` lets you call arbitrary functions in " +"shared libraries or DLLs. Long-time users may remember the :mod:`dl` " +"module, which provides functions for loading shared libraries and calling " +"functions in them. The :mod:`ctypes` package is much fancier." +msgstr "" +"Пакет :mod:`ctypes`, написаний Томасом Геллером, додано до стандартної " +"бібліотеки. :mod:`ctypes` дозволяє викликати довільні функції в спільних " +"бібліотеках або DLL. Давні користувачі можуть пам’ятати модуль :mod:`dl`, " +"який надає функції для завантаження спільних бібліотек і виклику функцій у " +"них. Пакет :mod:`ctypes` набагато привабливіший." + +msgid "" +"To load a shared library or DLL, you must create an instance of the :class:" +"`CDLL` class and provide the name or path of the shared library or DLL. Once " +"that's done, you can call arbitrary functions by accessing them as " +"attributes of the :class:`CDLL` object. ::" +msgstr "" +"Щоб завантажити спільну бібліотеку або DLL, ви повинні створити екземпляр " +"класу :class:`CDLL` і вказати назву або шлях до спільної бібліотеки або DLL. " +"Коли це буде зроблено, ви можете викликати довільні функції, звертаючись до " +"них як до атрибутів об’єкта :class:`CDLL`. ::" + +msgid "" +"Type constructors for the various C types are provided: :func:`c_int`, :func:" +"`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:expr:`char " +"\\*`), and so forth. Unlike Python's types, the C versions are all mutable; " +"you can assign to their :attr:`value` attribute to change the wrapped " +"value. Python integers and strings will be automatically converted to the " +"corresponding C types, but for other types you must call the correct type " +"constructor. (And I mean *must*; getting it wrong will often result in the " +"interpreter crashing with a segmentation fault.)" +msgstr "" + +msgid "" +"You shouldn't use :func:`c_char_p` with a Python string when the C function " +"will be modifying the memory area, because Python strings are supposed to " +"be immutable; breaking this rule will cause puzzling bugs. When you need a " +"modifiable memory area, use :func:`create_string_buffer`::" +msgstr "" +"Ви не повинні використовувати :func:`c_char_p` із рядком Python, коли " +"функція C буде змінювати область пам’яті, тому що рядки Python мають бути " +"незмінними; порушення цього правила призведе до загадкових помилок. Якщо вам " +"потрібна область пам’яті, яку можна змінювати, використовуйте :func:" +"`create_string_buffer`::" + +msgid "" +"C functions are assumed to return integers, but you can set the :attr:" +"`restype` attribute of the function object to change this::" +msgstr "" +"Передбачається, що функції C повертають цілі числа, але ви можете встановити " +"атрибут :attr:`restype` об’єкта функції, щоб змінити це:" + +msgid "" +":mod:`ctypes` also provides a wrapper for Python's C API as the ``ctypes." +"pythonapi`` object. This object does *not* release the global interpreter " +"lock before calling a function, because the lock must be held when calling " +"into the interpreter's code. There's a :class:`py_object()` type " +"constructor that will create a :c:expr:`PyObject *` pointer. A simple " +"usage::" +msgstr "" + +msgid "" +"Don't forget to use :class:`py_object()`; if it's omitted you end up with a " +"segmentation fault." +msgstr "" +"Не забудьте використати :class:`py_object()`; якщо його пропустити, ви " +"отримаєте помилку сегментації." + +msgid "" +":mod:`ctypes` has been around for a while, but people still write and " +"distribution hand-coded extension modules because you can't rely on :mod:" +"`ctypes` being present. Perhaps developers will begin to write Python " +"wrappers atop a library accessed through :mod:`ctypes` instead of extension " +"modules, now that :mod:`ctypes` is included with core Python." +msgstr "" +":mod:`ctypes` існує вже деякий час, але люди все ще пишуть і розповсюджують " +"модулі розширення, створені вручну, тому що ви не можете покладатися на " +"наявність :mod:`ctypes`. Можливо, розробники почнуть писати оболонки Python " +"поверх бібліотеки, доступ до якої здійснюється через :mod:`ctypes` замість " +"модулів розширення, тепер, коли :mod:`ctypes` включено до ядра Python." + +msgid "" +"https://web.archive.org/web/20180410025338/http://starship.python.net/crew/" +"theller/ctypes/" +msgstr "" + +msgid "The pre-stdlib ctypes web page, with a tutorial, reference, and FAQ." +msgstr "" + +msgid "The documentation for the :mod:`ctypes` module." +msgstr "Документація для модуля :mod:`ctypes`." + +msgid "The ElementTree package" +msgstr "Пакет ElementTree" + +msgid "" +"A subset of Fredrik Lundh's ElementTree library for processing XML has been " +"added to the standard library as :mod:`xml.etree`. The available modules " +"are :mod:`ElementTree`, :mod:`ElementPath`, and :mod:`ElementInclude` from " +"ElementTree 1.2.6. The :mod:`cElementTree` accelerator module is also " +"included." +msgstr "" +"Підмножину бібліотеки ElementTree Фредріка Лунда для обробки XML було додано " +"до стандартної бібліотеки як :mod:`xml.etree`. Доступні модулі :mod:" +"`ElementTree`, :mod:`ElementPath` і :mod:`ElementInclude` з ElementTree " +"1.2.6. Також включено модуль прискорення :mod:`cElementTree`." + +msgid "" +"The rest of this section will provide a brief overview of using ElementTree. " +"Full documentation for ElementTree is available at https://web.archive.org/" +"web/20201124024954/http://effbot.org/zone/element-index.htm." +msgstr "" +"Решта цього розділу надасть короткий огляд використання ElementTree. Повна " +"документація для ElementTree доступна за адресою https://web.archive.org/" +"web/20201124024954/http://effbot.org/zone/element-index.htm." + +msgid "" +"ElementTree represents an XML document as a tree of element nodes. The text " +"content of the document is stored as the :attr:`text` and :attr:`tail` " +"attributes of (This is one of the major differences between ElementTree and " +"the Document Object Model; in the DOM there are many different types of " +"node, including :class:`TextNode`.)" +msgstr "" +"ElementTree представляє XML-документ як дерево вузлів елементів. Текстовий " +"вміст документа зберігається як атрибути :attr:`text` і :attr:`tail` (Це " +"одна з головних відмінностей між ElementTree та об’єктною моделлю документа; " +"у DOM є багато різних типів вузол, включаючи :class:`TextNode`.)" + +msgid "" +"The most commonly used parsing function is :func:`parse`, that takes either " +"a string (assumed to contain a filename) or a file-like object and returns " +"an :class:`ElementTree` instance::" +msgstr "" +"Найпоширенішою функцією синтаксичного аналізу є :func:`parse`, яка приймає " +"або рядок (передбачається, що містить ім’я файлу), або файлоподібний об’єкт " +"і повертає екземпляр :class:`ElementTree`::" + +msgid "" +"Once you have an :class:`ElementTree` instance, you can call its :meth:" +"`getroot` method to get the root :class:`Element` node." +msgstr "" +"Коли у вас є екземпляр :class:`ElementTree`, ви можете викликати його метод :" +"meth:`getroot`, щоб отримати кореневий вузол :class:`Element`." + +msgid "" +"There's also an :func:`XML` function that takes a string literal and returns " +"an :class:`Element` node (not an :class:`ElementTree`). This function " +"provides a tidy way to incorporate XML fragments, approaching the " +"convenience of an XML literal::" +msgstr "" +"Існує також функція :func:`XML`, яка приймає рядковий літерал і повертає " +"вузол :class:`Element` (а не :class:`ElementTree`). Ця функція забезпечує " +"зручний спосіб об’єднання фрагментів XML, наближаючись до зручності літералу " +"XML:" + +msgid "" +"Each XML element supports some dictionary-like and some list-like access " +"methods. Dictionary-like operations are used to access attribute values, " +"and list-like operations are used to access child nodes." +msgstr "" +"Кожен елемент XML підтримує деякі методи доступу, подібні до словника, і " +"деякі, подібні до списку. Операції, подібні до словника, використовуються " +"для доступу до значень атрибутів, а операції, подібні до списку, " +"використовуються для доступу до дочірніх вузлів." + +msgid "Operation" +msgstr "Операція" + +msgid "Result" +msgstr "Результат" + +msgid "``elem[n]``" +msgstr "``elem[n]``" + +msgid "Returns n'th child element." +msgstr "Повертає n-й дочірній елемент." + +msgid "``elem[m:n]``" +msgstr "``elem[m:n]``" + +msgid "Returns list of m'th through n'th child elements." +msgstr "Повертає список від m до n дочірніх елементів." + +msgid "``len(elem)``" +msgstr "``len(elem)``" + +msgid "Returns number of child elements." +msgstr "Повертає кількість дочірніх елементів." + +msgid "``list(elem)``" +msgstr "``список(elem)``" + +msgid "Returns list of child elements." +msgstr "Повертає список дочірніх елементів." + +msgid "``elem.append(elem2)``" +msgstr "``elem.append(elem2)``" + +msgid "Adds *elem2* as a child." +msgstr "Додає *elem2* як дитину." + +msgid "``elem.insert(index, elem2)``" +msgstr "``elem.insert(індекс, elem2)``" + +msgid "Inserts *elem2* at the specified location." +msgstr "Вставляє *elem2* у вказане місце." + +msgid "``del elem[n]``" +msgstr "``del elem[n]``" + +msgid "Deletes n'th child element." +msgstr "Видаляє n-й дочірній елемент." + +msgid "``elem.keys()``" +msgstr "``elem.keys()``" + +msgid "Returns list of attribute names." +msgstr "Повертає список імен атрибутів." + +msgid "``elem.get(name)``" +msgstr "``elem.get(ім'я)``" + +msgid "Returns value of attribute *name*." +msgstr "Повертає значення атрибута *name*." + +msgid "``elem.set(name, value)``" +msgstr "``elem.set(ім'я, значення)``" + +msgid "Sets new value for attribute *name*." +msgstr "Встановлює нове значення для атрибута *name*." + +msgid "``elem.attrib``" +msgstr "``elem.attrib``" + +msgid "Retrieves the dictionary containing attributes." +msgstr "Отримує словник, що містить атрибути." + +msgid "``del elem.attrib[name]``" +msgstr "``del elem.attrib[name]``" + +msgid "Deletes attribute *name*." +msgstr "Видаляє атрибут *name*." + +msgid "" +"Comments and processing instructions are also represented as :class:" +"`Element` nodes. To check if a node is a comment or processing " +"instructions::" +msgstr "" +"Коментарі та інструкції з обробки також представлені у вигляді вузлів :class:" +"`Element`. Щоб перевірити, чи є вузол коментарем або інструкцією з обробки:" + +msgid "" +"To generate XML output, you should call the :meth:`ElementTree.write` " +"method. Like :func:`parse`, it can take either a string or a file-like " +"object::" +msgstr "" +"Щоб згенерувати вивід XML, вам слід викликати метод :meth:`ElementTree." +"write`. Як і :func:`parse`, він може приймати або рядок, або файлоподібний " +"об’єкт::" + +msgid "" +"(Caution: the default encoding used for output is ASCII. For general XML " +"work, where an element's name may contain arbitrary Unicode characters, " +"ASCII isn't a very useful encoding because it will raise an exception if an " +"element's name contains any characters with values greater than 127. " +"Therefore, it's best to specify a different encoding such as UTF-8 that can " +"handle any Unicode character.)" +msgstr "" +"(Увага: кодування за замовчуванням, яке використовується для виводу, — " +"ASCII. Для загальної роботи з XML, де ім’я елемента може містити довільні " +"символи Unicode, ASCII не є дуже корисним кодуванням, оскільки воно " +"спричинить виключення, якщо ім’я елемента містить будь-які символи зі " +"значеннями більше 127. Тому найкраще вказати інше кодування, наприклад " +"UTF-8, яке може обробляти будь-який символ Unicode.)" + +msgid "" +"This section is only a partial description of the ElementTree interfaces. " +"Please read the package's official documentation for more details." +msgstr "" +"Цей розділ є лише частковим описом інтерфейсів ElementTree. Щоб дізнатися " +"більше, прочитайте офіційну документацію пакета." + +msgid "" +"https://web.archive.org/web/20201124024954/http://effbot.org/zone/element-" +"index.htm" +msgstr "" +"https://web.archive.org/web/20201124024954/http://effbot.org/zone/element-" +"index.htm" + +msgid "Official documentation for ElementTree." +msgstr "Офіційна документація для ElementTree." + +msgid "The hashlib package" +msgstr "Пакет hashlib" + +msgid "" +"A new :mod:`hashlib` module, written by Gregory P. Smith, has been added to " +"replace the :mod:`md5` and :mod:`sha` modules. :mod:`hashlib` adds support " +"for additional secure hashes (SHA-224, SHA-256, SHA-384, and SHA-512). When " +"available, the module uses OpenSSL for fast platform optimized " +"implementations of algorithms." +msgstr "" +"На заміну модулів :mod:`md5` і :mod:`sha` додано новий модуль :mod:" +"`hashlib`, написаний Грегорі П. Смітом. :mod:`hashlib` додає підтримку " +"додаткових безпечних хешів (SHA-224, SHA-256, SHA-384 і SHA-512). Якщо " +"доступний, модуль використовує OpenSSL для швидкої оптимізованої реалізації " +"алгоритмів." + +msgid "" +"The old :mod:`md5` and :mod:`sha` modules still exist as wrappers around " +"hashlib to preserve backwards compatibility. The new module's interface is " +"very close to that of the old modules, but not identical. The most " +"significant difference is that the constructor functions for creating new " +"hashing objects are named differently. ::" +msgstr "" +"Старі модулі :mod:`md5` і :mod:`sha` все ще існують як оболонки навколо " +"хешлібу для збереження зворотної сумісності. Інтерфейс нового модуля дуже " +"близький до інтерфейсу старих модулів, але не ідентичний. Найсуттєвіша " +"відмінність полягає в тому, що функції конструктора для створення нових " +"об’єктів хешування називаються по-різному. ::" + +msgid "" +"Once a hash object has been created, its methods are the same as before: " +"``update(string)`` hashes the specified string into the current digest " +"state, :meth:`digest` and :meth:`hexdigest` return the digest value as a " +"binary string or a string of hex digits, and :meth:`copy` returns a new " +"hashing object with the same digest state." +msgstr "" +"Після створення хеш-об’єкта його методи залишаються такими ж, як і раніше: " +"``update(string)`` хешує вказаний рядок у поточний стан дайджесту, :meth:" +"`digest` і :meth:`hexdigest` повертають дайджест значення у вигляді " +"двійкового рядка або рядка шістнадцяткових цифр, а :meth:`copy` повертає " +"новий об’єкт хешування з тим самим станом дайджесту." + +msgid "The documentation for the :mod:`hashlib` module." +msgstr "Документація для модуля :mod:`hashlib`." + +msgid "The sqlite3 package" +msgstr "Пакет sqlite3" + +msgid "" +"The pysqlite module (https://www.pysqlite.org), a wrapper for the SQLite " +"embedded database, has been added to the standard library under the package " +"name :mod:`sqlite3`." +msgstr "" + +msgid "" +"SQLite is a C library that provides a lightweight disk-based database that " +"doesn't require a separate server process and allows accessing the database " +"using a nonstandard variant of the SQL query language. Some applications can " +"use SQLite for internal data storage. It's also possible to prototype an " +"application using SQLite and then port the code to a larger database such as " +"PostgreSQL or Oracle." +msgstr "" +"SQLite — це бібліотека C, яка надає легку дискову базу даних, яка не " +"потребує окремого серверного процесу та дозволяє отримувати доступ до бази " +"даних за допомогою нестандартного варіанту мови запитів SQL. Деякі програми " +"можуть використовувати SQLite для внутрішнього зберігання даних. Також можна " +"створити прототип програми за допомогою SQLite, а потім перенести код у " +"більшу базу даних, таку як PostgreSQL або Oracle." + +msgid "" +"pysqlite was written by Gerhard Häring and provides a SQL interface " +"compliant with the DB-API 2.0 specification described by :pep:`249`." +msgstr "" +"pysqlite був написаний Герхардом Херінгом і забезпечує інтерфейс SQL, " +"сумісний зі специфікацією DB-API 2.0, описаною :pep:`249`." + +msgid "" +"If you're compiling the Python source yourself, note that the source tree " +"doesn't include the SQLite code, only the wrapper module. You'll need to " +"have the SQLite libraries and headers installed before compiling Python, and " +"the build process will compile the module when the necessary headers are " +"available." +msgstr "" +"Якщо ви компілюєте вихідні коди Python самостійно, зауважте, що дерево " +"вихідних кодів не містить код SQLite, а містить лише модуль оболонки. Вам " +"потрібно буде встановити бібліотеки та заголовки SQLite перед компіляцією " +"Python, і процес збирання скомпілює модуль, коли необхідні заголовки будуть " +"доступні." + +msgid "" +"To use the module, you must first create a :class:`Connection` object that " +"represents the database. Here the data will be stored in the :file:`/tmp/" +"example` file::" +msgstr "" +"Щоб використовувати модуль, ви повинні спочатку створити об’єкт :class:" +"`Connection`, який представлятиме базу даних. Тут дані зберігатимуться у " +"файлі :file:`/tmp/example`::" + +msgid "" +"You can also supply the special name ``:memory:`` to create a database in " +"RAM." +msgstr "" +"Ви також можете вказати спеціальну назву ``:memory:``, щоб створити базу " +"даних в RAM." + +msgid "" +"Once you have a :class:`Connection`, you can create a :class:`Cursor` " +"object and call its :meth:`execute` method to perform SQL commands::" +msgstr "" +"Коли у вас є :class:`Connection`, ви можете створити об’єкт :class:`Cursor` " +"і викликати його метод :meth:`execute` для виконання команд SQL::" + +msgid "" +"Usually your SQL operations will need to use values from Python variables. " +"You shouldn't assemble your query using Python's string operations because " +"doing so is insecure; it makes your program vulnerable to an SQL injection " +"attack." +msgstr "" +"Зазвичай ваші операції SQL повинні використовувати значення зі змінних " +"Python. Ви не повинні складати свій запит за допомогою рядкових операцій " +"Python, оскільки це небезпечно; це робить вашу програму вразливою до SQL-" +"атаки." + +msgid "" +"Instead, use the DB-API's parameter substitution. Put ``?`` as a " +"placeholder wherever you want to use a value, and then provide a tuple of " +"values as the second argument to the cursor's :meth:`execute` method. " +"(Other database modules may use a different placeholder, such as ``%s`` or " +"``:1``.) For example::" +msgstr "" +"Замість цього використовуйте підстановку параметрів DB-API. Помістіть ``?`` " +"як покажчик місця заповнення, де ви хочете використовувати значення, а потім " +"надайте кортеж значень як другий аргумент для методу :meth:`execute` " +"курсора. (Інші модулі бази даних можуть використовувати інший заповнювач, " +"наприклад ``%s`` або ``:1``.) Наприклад::" + +msgid "" +"To retrieve data after executing a SELECT statement, you can either treat " +"the cursor as an iterator, call the cursor's :meth:`fetchone` method to " +"retrieve a single matching row, or call :meth:`fetchall` to get a list of " +"the matching rows." +msgstr "" +"Щоб отримати дані після виконання оператора SELECT, ви можете розглядати " +"курсор як ітератор, викликати метод курсора :meth:`fetchone`, щоб отримати " +"один відповідний рядок, або викликати :meth:`fetchall`, щоб отримати список " +"відповідні рядки." + +msgid "This example uses the iterator form::" +msgstr "У цьому прикладі використовується форма ітератора::" + +msgid "" +"For more information about the SQL dialect supported by SQLite, see https://" +"www.sqlite.org." +msgstr "" +"Для отримання додаткової інформації про діалект SQL, який підтримує SQLite, " +"див. https://www.sqlite.org." + +msgid "https://www.pysqlite.org" +msgstr "" + +msgid "The pysqlite web page." +msgstr "Веб-сторінка pysqlite." + +msgid "https://www.sqlite.org" +msgstr "https://www.sqlite.org" + +msgid "" +"The SQLite web page; the documentation describes the syntax and the " +"available data types for the supported SQL dialect." +msgstr "" +"Веб-сторінка SQLite; документація описує синтаксис і доступні типи даних для " +"підтримуваного діалекту SQL." + +msgid "The documentation for the :mod:`sqlite3` module." +msgstr "Документація для модуля :mod:`sqlite3`." + +msgid ":pep:`249` - Database API Specification 2.0" +msgstr ":pep:`249` - Специфікація API бази даних 2.0" + +msgid "PEP written by Marc-André Lemburg." +msgstr "PEP, написаний Марком-Андре Лембургом." + +msgid "The wsgiref package" +msgstr "Пакет wsgiref" + +msgid "" +"The Web Server Gateway Interface (WSGI) v1.0 defines a standard interface " +"between web servers and Python web applications and is described in :pep:" +"`333`. The :mod:`wsgiref` package is a reference implementation of the WSGI " +"specification." +msgstr "" +"Інтерфейс шлюзу веб-сервера (WSGI) v1.0 визначає стандартний інтерфейс між " +"веб-серверами та веб-додатками Python і описаний у :pep:`333`. Пакет :mod:" +"`wsgiref` є еталонною реалізацією специфікації WSGI." + +msgid "" +"The package includes a basic HTTP server that will run a WSGI application; " +"this server is useful for debugging but isn't intended for production use. " +"Setting up a server takes only a few lines of code::" +msgstr "" +"Пакет містить базовий HTTP-сервер, який запускатиме програму WSGI; цей " +"сервер корисний для налагодження, але не призначений для використання у " +"виробництві. Налаштування сервера займає лише кілька рядків коду::" + +msgid "" +"https://web.archive.org/web/20160331090247/http://wsgi.readthedocs.org/en/" +"latest/" +msgstr "" + +msgid "A central web site for WSGI-related resources." +msgstr "Центральний веб-сайт для ресурсів, пов’язаних з WSGI." + +msgid ":pep:`333` - Python Web Server Gateway Interface v1.0" +msgstr ":pep:`333` - Інтерфейс шлюзу веб-сервера Python v1.0" + +msgid "PEP written by Phillip J. Eby." +msgstr "PEP, написаний Філіпом Дж. Ебі." + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "" +"The Python source tree was converted from CVS to Subversion, in a complex " +"migration procedure that was supervised and flawlessly carried out by Martin " +"von Löwis. The procedure was developed as :pep:`347`." +msgstr "" +"Дерево вихідних кодів Python було перетворено з CVS на Subversion у складній " +"процедурі міграції, яка контролювалася та бездоганно виконана Мартіном фон " +"Льовісом. Процедура була розроблена як :pep:`347`." + +msgid "" +"Coverity, a company that markets a source code analysis tool called Prevent, " +"provided the results of their examination of the Python source code. The " +"analysis found about 60 bugs that were quickly fixed. Many of the bugs " +"were refcounting problems, often occurring in error-handling code. See " +"https://scan.coverity.com for the statistics." +msgstr "" +"Coverity, компанія, яка продає інструмент аналізу вихідного коду під назвою " +"Prevent, надала результати свого дослідження вихідного коду Python. Аналіз " +"виявив близько 60 помилок, які були швидко виправлені. Багато помилок були " +"проблемами повторного підрахунку, які часто траплялися в коді обробки " +"помилок. Перегляньте статистику https://scan.coverity.com." + +msgid "" +"The largest change to the C API came from :pep:`353`, which modifies the " +"interpreter to use a :c:type:`Py_ssize_t` type definition instead of :c:expr:" +"`int`. See the earlier section :ref:`pep-353` for a discussion of this " +"change." +msgstr "" + +msgid "" +"The design of the bytecode compiler has changed a great deal, no longer " +"generating bytecode by traversing the parse tree. Instead the parse tree is " +"converted to an abstract syntax tree (or AST), and it is the abstract " +"syntax tree that's traversed to produce the bytecode." +msgstr "" +"Дизайн компілятора байт-коду значно змінився, більше не генеруючи байт-код " +"шляхом обходу дерева аналізу. Замість цього дерево синтаксичного аналізу " +"перетворюється на абстрактне синтаксичне дерево (або AST), і це абстрактне " +"синтаксичне дерево обходиться для отримання байт-коду." + +msgid "" +"It's possible for Python code to obtain AST objects by using the :func:" +"`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the value of " +"the *flags* parameter::" +msgstr "" +"Код Python може отримати об’єкти AST, використовуючи вбудований :func:" +"`compile` і вказавши ``_ast.PyCF_ONLY_AST`` як значення параметра *flags*::" + +msgid "" +"No official documentation has been written for the AST code yet, but :pep:" +"`339` discusses the design. To start learning about the code, read the " +"definition of the various AST nodes in :file:`Parser/Python.asdl`. A Python " +"script reads this file and generates a set of C structure definitions in :" +"file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` and :c:" +"func:`PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, take " +"Python source as input and return the root of an AST representing the " +"contents. This AST can then be turned into a code object by :c:func:" +"`PyAST_Compile`. For more information, read the source code, and then ask " +"questions on python-dev." +msgstr "" +"Офіційна документація для коду AST ще не написана, але :pep:`339` обговорює " +"дизайн. Щоб почати вивчати код, прочитайте визначення різних вузлів AST у :" +"file:`Parser/Python.asdl`. Сценарій Python читає цей файл і генерує набір " +"визначень структури C у :file:`Include/Python-ast.h`. :c:func:" +"`PyParser_ASTFromString` і :c:func:`PyParser_ASTFromFile`, визначені у :file:" +"`Include/pythonrun.h`, приймають джерело Python як вхідні дані та повертають " +"корінь AST, що представляє вміст. Потім цей AST можна перетворити на об’єкт " +"коду за допомогою :c:func:`PyAST_Compile`. Щоб дізнатися більше, прочитайте " +"вихідний код, а потім поставте запитання на python-dev." + +msgid "" +"The AST code was developed under Jeremy Hylton's management, and implemented " +"by (in alphabetical order) Brett Cannon, Nick Coghlan, Grant Edwards, John " +"Ehresman, Kurt Kaiser, Neal Norwitz, Tim Peters, Armin Rigo, and Neil " +"Schemenauer, plus the participants in a number of AST sprints at conferences " +"such as PyCon." +msgstr "" +"Код AST був розроблений під керівництвом Джеремі Гілтона та впроваджений (в " +"алфавітному порядку) Бреттом Кенноном, Ніком Когланом, Грантом Едвардсом, " +"Джоном Ересманом, Куртом Кайзером, Нілом Норвітцем, Тімом Пітерсом, Арміном " +"Ріго та Нілом Шеменауером, а також учасниками ряд спринтів AST на " +"конференціях, таких як PyCon." + +msgid "" +"Evan Jones's patch to obmalloc, first described in a talk at PyCon DC 2005, " +"was applied. Python 2.4 allocated small objects in 256K-sized arenas, but " +"never freed arenas. With this patch, Python will free arenas when they're " +"empty. The net effect is that on some platforms, when you allocate many " +"objects, Python's memory usage may actually drop when you delete them and " +"the memory may be returned to the operating system. (Implemented by Evan " +"Jones, and reworked by Tim Peters.)" +msgstr "" +"Було застосовано патч Евана Джонса для obmalloc, вперше описаний у виступі " +"на PyCon DC 2005. Python 2.4 розподіляв невеликі об’єкти на аренах розміром " +"256 КБ, але ніколи не звільняв арен. За допомогою цього патча Python " +"звільнить арени, коли вони порожні. Чистий ефект полягає в тому, що на " +"деяких платформах, коли ви виділяєте багато об’єктів, використання пам’яті " +"Python може фактично зменшитися, коли ви їх видаляєте, і пам’ять може " +"повертатися до операційної системи. (Реалізовано Еваном Джонсом і " +"перероблено Тімом Пітерсом.)" + +msgid "" +"Note that this change means extension modules must be more careful when " +"allocating memory. Python's API has many different functions for allocating " +"memory that are grouped into families. For example, :c:func:" +"`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:`PyMem_Free` are one " +"family that allocates raw memory, while :c:func:`PyObject_Malloc`, :c:func:" +"`PyObject_Realloc`, and :c:func:`PyObject_Free` are another family that's " +"supposed to be used for creating Python objects." +msgstr "" +"Зауважте, що ця зміна означає, що модулі розширення повинні бути більш " +"обережними під час розподілу пам’яті. API Python має багато різних функцій " +"для розподілу пам’яті, згрупованих у родини. Наприклад, :c:func:" +"`PyMem_Malloc`, :c:func:`PyMem_Realloc` і :c:func:`PyMem_Free` є однією " +"сім’єю, яка виділяє необроблену пам’ять, тоді як :c:func:`PyObject_Malloc`, :" +"c :func:`PyObject_Realloc` і :c:func:`PyObject_Free` — ще одне сімейство, " +"яке має використовуватися для створення об’єктів Python." + +msgid "" +"Previously these different families all reduced to the platform's :c:func:" +"`malloc` and :c:func:`free` functions. This meant it didn't matter if you " +"got things wrong and allocated memory with the :c:func:`PyMem` function but " +"freed it with the :c:func:`PyObject` function. With 2.5's changes to " +"obmalloc, these families now do different things and mismatches will " +"probably result in a segfault. You should carefully test your C extension " +"modules with Python 2.5." +msgstr "" +"Раніше всі ці різні родини зводилися до функцій платформи :c:func:`malloc` " +"і :c:func:`free`. Це означало, що не мало значення, якщо ви зробили щось не " +"так і виділили пам’ять за допомогою функції :c:func:`PyMem`, але звільнили " +"її за допомогою функції :c:func:`PyObject`. Зі змінами obmalloc у версії 2.5 " +"ці родини тепер виконують різні речі, і невідповідності, ймовірно, " +"призведуть до помилки сегмента. Ви повинні ретельно протестувати свої модулі " +"розширення C за допомогою Python 2.5." + +msgid "" +"The built-in set types now have an official C API. Call :c:func:`PySet_New` " +"and :c:func:`PyFrozenSet_New` to create a new set, :c:func:`PySet_Add` and :" +"c:func:`PySet_Discard` to add and remove elements, and :c:func:" +"`PySet_Contains` and :c:func:`PySet_Size` to examine the set's state. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Вбудовані типи наборів тепер мають офіційний C API. Викличте :c:func:" +"`PySet_New` і :c:func:`PyFrozenSet_New`, щоб створити новий набір, :c:func:" +"`PySet_Add` і :c:func:`PySet_Discard`, щоб додати та видалити елементи, і :" +"c :func:`PySet_Contains` і :c:func:`PySet_Size` для перевірки стану набору. " +"(Надав Реймонд Геттінгер.)" + +msgid "" +"C code can now obtain information about the exact revision of the Python " +"interpreter by calling the :c:func:`Py_GetBuildInfo` function that returns " +"a string of build information like this: ``\"trunk:45355:45356M, Apr 13 " +"2006, 07:42:19\"``. (Contributed by Barry Warsaw.)" +msgstr "" +"Код C тепер може отримати інформацію про точну версію інтерпретатора Python, " +"викликавши функцію :c:func:`Py_GetBuildInfo`, яка повертає рядок інформації " +"про збірку, як це: ``\"trunk:45355:45356M, 13 квітня 2006 р., 07 :42:19\"``. " +"(Надав Баррі Варшау.)" + +msgid "" +"Two new macros can be used to indicate C functions that are local to the " +"current file so that a faster calling convention can be used. " +"``Py_LOCAL(type)`` declares the function as returning a value of the " +"specified *type* and uses a fast-calling qualifier. " +"``Py_LOCAL_INLINE(type)`` does the same thing and also requests the function " +"be inlined. If :c:func:`PY_LOCAL_AGGRESSIVE` is defined before :file:" +"`python.h` is included, a set of more aggressive optimizations are enabled " +"for the module; you should benchmark the results to find out if these " +"optimizations actually make the code faster. (Contributed by Fredrik Lundh " +"at the NeedForSpeed sprint.)" +msgstr "" +"Два нові макроси можна використовувати для позначення функцій C, які є " +"локальними для поточного файлу, щоб можна було використовувати швидший " +"виклик. ``Py_LOCAL(type)`` оголошує функцію як таку, що повертає значення " +"вказаного *типу*, і використовує кваліфікатор швидкого виклику. " +"``Py_LOCAL_INLINE(type)`` робить те саме, а також запитує вбудовування " +"функції. Якщо :c:func:`PY_LOCAL_AGGRESSIVE` визначено до включення :file:" +"`python.h`, для модуля вмикається набір більш агресивних оптимізацій; ви " +"повинні порівняти результати, щоб дізнатися, чи справді ці оптимізації " +"роблять код швидшим. (Надано Фредріком Лундом під час спринту NeedForSpeed.)" + +msgid "" +"``PyErr_NewException(name, base, dict)`` can now accept a tuple of base " +"classes as its *base* argument. (Contributed by Georg Brandl.)" +msgstr "" +"``PyErr_NewException(name, base, dict)`` тепер може приймати кортеж базових " +"класів як свій аргумент *base*. (Надав Георг Брандл.)" + +msgid "" +"The :c:func:`PyErr_Warn` function for issuing warnings is now deprecated in " +"favour of ``PyErr_WarnEx(category, message, stacklevel)`` which lets you " +"specify the number of stack frames separating this function and the caller. " +"A *stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the " +"function above that, and so forth. (Added by Neal Norwitz.)" +msgstr "" +"Функція :c:func:`PyErr_Warn` для видачі попереджень тепер застаріла на " +"користь ``PyErr_WarnEx(category, message, stacklevel)``, яка дозволяє " +"вказати кількість кадрів стека, що відокремлюють цю функцію та виклик. " +"*Stacklevel* 1 — це функція, яка викликає :c:func:`PyErr_WarnEx`, 2 — це " +"функція, яка стоїть вище, і так далі. (Додав Ніл Норвіц.)" + +msgid "" +"The CPython interpreter is still written in C, but the code can now be " +"compiled with a C++ compiler without errors. (Implemented by Anthony " +"Baxter, Martin von Löwis, Skip Montanaro.)" +msgstr "" +"Інтерпретатор CPython все ще написаний на C, але тепер код можна " +"скомпілювати за допомогою компілятора C++ без помилок. (Реалізовано Ентоні " +"Бакстером, Мартіном фон Льовісом, Скіпом Монтанаро.)" + +msgid "" +"The :c:func:`PyRange_New` function was removed. It was never documented, " +"never used in the core code, and had dangerously lax error checking. In the " +"unlikely case that your extensions were using it, you can replace it by " +"something like the following::" +msgstr "" +"Функцію :c:func:`PyRange_New` видалено. Він ніколи не був задокументований, " +"ніколи не використовувався в коді ядра та мав небезпечно слабку перевірку " +"помилок. У малоймовірному випадку, коли ваші розширення використовували " +"його, ви можете замінити його чимось подібним до наступного:" + +msgid "Port-Specific Changes" +msgstr "Зміни, що стосуються порту" + +msgid "" +"MacOS X (10.3 and higher): dynamic loading of modules now uses the :c:func:" +"`dlopen` function instead of MacOS-specific functions." +msgstr "" +"MacOS X (10.3 і вище): динамічне завантаження модулів тепер використовує " +"функцію :c:func:`dlopen` замість специфічних для MacOS функцій." + +msgid "" +"MacOS X: an :option:`!--enable-universalsdk` switch was added to the :" +"program:`configure` script that compiles the interpreter as a universal " +"binary able to run on both PowerPC and Intel processors. (Contributed by " +"Ronald Oussoren; :issue:`2573`.)" +msgstr "" +"MacOS X: перемикач :option:`!--enable-universalsdk` додано до сценарію :" +"program:`configure`, який компілює інтерпретатор як універсальний двійковий " +"файл, здатний працювати на процесорах PowerPC і Intel. (Надав Рональд " +"Оуссорен; :issue:`2573`.)" + +msgid "" +"Windows: :file:`.dll` is no longer supported as a filename extension for " +"extension modules. :file:`.pyd` is now the only filename extension that " +"will be searched for." +msgstr "" +"Windows: :file:`.dll` більше не підтримується як розширення імені файлу для " +"модулів розширення. :file:`.pyd` тепер є єдиним розширенням імені файлу, яке " +"шукатиметься." + +msgid "Porting to Python 2.5" +msgstr "Перенесення на Python 2.5" + +msgid "" +"This section lists previously described changes that may require changes to " +"your code:" +msgstr "" +"У цьому розділі перераховано описані раніше зміни, які можуть потребувати " +"змін у вашому коді:" + +msgid "" +"ASCII is now the default encoding for modules. It's now a syntax error if " +"a module contains string literals with 8-bit characters but doesn't have an " +"encoding declaration. In Python 2.4 this triggered a warning, not a syntax " +"error." +msgstr "" +"ASCII тепер є стандартним кодуванням для модулів. Тепер це синтаксична " +"помилка, якщо модуль містить рядкові літерали з 8-бітовими символами, але не " +"має оголошення кодування. У Python 2.4 це викликало попередження, а не " +"синтаксичну помилку." + +msgid "" +"Previously, the :attr:`gi_frame` attribute of a generator was always a frame " +"object. Because of the :pep:`342` changes described in section :ref:" +"`pep-342`, it's now possible for :attr:`gi_frame` to be ``None``." +msgstr "" +"Раніше атрибут :attr:`gi_frame` генератора завжди був об’єктом фрейму. Через " +"зміни :pep:`342`, описані в розділі :ref:`pep-342`, тепер :attr:`gi_frame` " +"може мати значення ``None``." + +msgid "" +"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to " +"compare a Unicode string and an 8-bit string that can't be converted to " +"Unicode using the default ASCII encoding. Previously such comparisons would " +"raise a :class:`UnicodeDecodeError` exception." +msgstr "" +"Нове попередження, :class:`UnicodeWarning`, спрацьовує, коли ви намагаєтеся " +"порівняти рядок Unicode з 8-бітним рядком, який не можна перетворити на " +"Unicode за допомогою стандартного кодування ASCII. Раніше такі порівняння " +"викликали виняток :class:`UnicodeDecodeError`." + +msgid "" +"Library: the :mod:`csv` module is now stricter about multi-line quoted " +"fields. If your files contain newlines embedded within fields, the input " +"should be split into lines in a manner which preserves the newline " +"characters." +msgstr "" +"Бібліотека: модуль :mod:`csv` тепер суворіше щодо багаторядкових полів у " +"лапках. Якщо ваші файли містять символи нового рядка, вбудовані в поля, " +"вхідні дані слід розділити на рядки таким чином, щоб символи нового рядка " +"зберігалися." + +msgid "" +"Library: the :mod:`locale` module's :func:`format` function's would " +"previously accept any string as long as no more than one %char specifier " +"appeared. In Python 2.5, the argument must be exactly one %char specifier " +"with no surrounding text." +msgstr "" +"Бібліотека: функція :func:`format` модуля :mod:`locale` раніше приймала будь-" +"який рядок, якщо з’являлося не більше одного специфікатора %char. У Python " +"2.5 аргумент має бути точно одним специфікатором %char без навколишнього " +"тексту." + +msgid "" +"Library: The :mod:`pickle` and :mod:`cPickle` modules no longer accept a " +"return value of ``None`` from the :meth:`__reduce__` method; the method must " +"return a tuple of arguments instead. The modules also no longer accept the " +"deprecated *bin* keyword parameter." +msgstr "" +"Бібліотека: модулі :mod:`pickle` і :mod:`cPickle` більше не приймають " +"значення, що повертається ``None`` від методу :meth:`__reduce__`; замість " +"цього метод повинен повертати кортеж аргументів. Модулі також більше не " +"приймають застарілий параметр ключового слова *bin*." + +msgid "" +"Library: The :mod:`SimpleXMLRPCServer` and :mod:`DocXMLRPCServer` classes " +"now have a :attr:`rpc_paths` attribute that constrains XML-RPC operations to " +"a limited set of URL paths; the default is to allow only ``'/'`` and ``'/" +"RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " +"this path checking." +msgstr "" +"Бібліотека: класи :mod:`SimpleXMLRPCServer` і :mod:`DocXMLRPCServer` тепер " +"мають атрибут :attr:`rpc_paths`, який обмежує операції XML-RPC обмеженим " +"набором URL-шляхів; за замовчуванням дозволено лише ``'/'`` і ``''/RPC2'``. " +"Встановлення для :attr:`rpc_paths` значення ``None`` або пустого кортежу " +"вимикає цю перевірку шляху." + +msgid "" +"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:expr:`int` " +"to allow processing more data on 64-bit machines. Extension code may need " +"to make the same change to avoid warnings and to support 64-bit machines. " +"See the earlier section :ref:`pep-353` for a discussion of this change." +msgstr "" + +msgid "" +"C API: The obmalloc changes mean that you must be careful to not mix usage " +"of the ``PyMem_*`` and ``PyObject_*`` families of functions. Memory " +"allocated with one family's ``*_Malloc`` must be freed with the " +"corresponding family's ``*_Free`` function." +msgstr "" + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Georg Brandl, Nick Coghlan, Phillip J. Eby, Lars Gustäbel, Raymond " +"Hettinger, Ralf W. Grosse-Kunstleve, Kent Johnson, Iain Lowe, Martin von " +"Löwis, Fredrik Lundh, Andrew McNamara, Skip Montanaro, Gustavo Niemeyer, " +"Paul Prescod, James Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas " +"Wouters." +msgstr "" +"Автор хотів би подякувати наступним особам за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Георг Брандл, Нік Коглан, Філіп " +"Дж. Ебі, Ларс Густебель, Раймонд Геттінгер, Ральф В. Гроссе-Кунстлев, Кент " +"Джонсон, Йен Лоу, Мартін фон Льовіс, Фредрік Лунд, Ендрю Макнамара, Скіп " +"Монтанаро, Густаво Німейєр, Пол Прескод, Джеймс Прайор, Майк Ровнер, Скотт " +"Вайкарт, Баррі Варсоу, Томас Воутерс." diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po new file mode 100644 index 000000000..91aadb443 --- /dev/null +++ b/whatsnew/2.6.po @@ -0,0 +1,4616 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.6" +msgstr "Що нового в Python 2.6" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling (amk at amk.ca)" +msgstr "A.M. Kuchling (amk в amk.ca)" + +msgid "" +"This article explains the new features in Python 2.6, released on October 1, " +"2008. The release schedule is described in :pep:`361`." +msgstr "" +"У цій статті пояснюється нові функції в Python 2.6, випущеному 1 жовтня 2008 " +"року. Графік випуску описано в :pep:`361`." + +msgid "" +"The major theme of Python 2.6 is preparing the migration path to Python 3.0, " +"a major redesign of the language. Whenever possible, Python 2.6 " +"incorporates new features and syntax from 3.0 while remaining compatible " +"with existing code by not removing older features or syntax. When it's not " +"possible to do that, Python 2.6 tries to do what it can, adding " +"compatibility functions in a :mod:`future_builtins` module and a :option:" +"`!-3` switch to warn about usages that will become unsupported in 3.0." +msgstr "" +"Основною темою Python 2.6 є підготовка шляху міграції до Python 3.0, " +"значного перероблення мови. Коли це можливо, Python 2.6 включає нові функції " +"та синтаксис із 3.0, залишаючись сумісним із існуючим кодом, не видаляючи " +"старіші функції чи синтаксис. Коли це неможливо зробити, Python 2.6 " +"намагається зробити все, що може, додаючи функції сумісності в модуль :mod:" +"`future_builtins` і перемикач :option:`!-3`, щоб попереджати про " +"використання, яке стане непідтримуваним у 3.0. ." + +msgid "" +"Some significant new packages have been added to the standard library, such " +"as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many " +"new features that aren't related to Python 3.0 in some way." +msgstr "" +"До стандартної бібліотеки додано кілька важливих нових пакетів, таких як " +"модулі :mod:`multiprocessing` і :mod:`json`, але є не так багато нових " +"функцій, які якимось чином не пов’язані з Python 3.0." + +msgid "" +"Python 2.6 also sees a number of improvements and bugfixes throughout the " +"source. A search through the change logs finds there were 259 patches " +"applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are " +"likely to be underestimates." +msgstr "" +"Python 2.6 також бачить ряд покращень і виправлень помилок у вихідному коді. " +"Пошук у журналах змін виявив, що між Python 2.5 і 2.6 було застосовано 259 " +"патчів і 612 виправлених помилок. Обидві цифри, ймовірно, занижені." + +msgid "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.6. If you want to understand " +"the rationale for the design and implementation, refer to the PEP for a " +"particular new feature. Whenever possible, \"What's New in Python\" links to " +"the bug/patch item for each change." +msgstr "" +"Ця стаття не намагається надати повну специфікацію нових функцій, натомість " +"надає зручний огляд. Щоб отримати повну інформацію, зверніться до " +"документації для Python 2.6. Якщо ви хочете зрозуміти обґрунтування дизайну " +"та впровадження, зверніться до PEP для конкретної нової функції. Коли це " +"можливо, \"Що нового в Python\" посилається на елемент помилки/виправлення " +"для кожної зміни." + +msgid "Python 3.0" +msgstr "Python 3.0" + +msgid "" +"The development cycle for Python versions 2.6 and 3.0 was synchronized, with " +"the alpha and beta releases for both versions being made on the same days. " +"The development of 3.0 has influenced many features in 2.6." +msgstr "" +"Цикл розробки Python версій 2.6 і 3.0 був синхронізований, альфа- і бета-" +"версії для обох версій були зроблені в ті самі дні. Розробка версії 3.0 " +"вплинула на багато функцій версії 2.6." + +msgid "" +"Python 3.0 is a far-ranging redesign of Python that breaks compatibility " +"with the 2.x series. This means that existing Python code will need some " +"conversion in order to run on Python 3.0. However, not all the changes in " +"3.0 necessarily break compatibility. In cases where new features won't " +"cause existing code to break, they've been backported to 2.6 and are " +"described in this document in the appropriate place. Some of the 3.0-" +"derived features are:" +msgstr "" +"Python 3.0 — це масштабна переробка Python, яка порушує сумісність із серією " +"2.x. Це означає, що існуючий код Python потребує певного перетворення, щоб " +"працювати на Python 3.0. Однак не всі зміни в 3.0 обов’язково порушують " +"сумісність. У випадках, коли нові функції не призведуть до поломки існуючого " +"коду, їх було перенесено до версії 2.6 і описано у відповідному місці в " +"цьому документі. Ось деякі з функцій версії 3.0:" + +msgid "" +"A :meth:`__complex__` method for converting objects to a complex number." +msgstr "" +"Метод :meth:`__complex__` для перетворення об’єктів на комплексне число." + +msgid "Alternate syntax for catching exceptions: ``except TypeError as exc``." +msgstr "" +"Альтернативний синтаксис для перехоплення винятків: ``except TypeError as " +"exc``." + +msgid "" +"The addition of :func:`functools.reduce` as a synonym for the built-in :func:" +"`reduce` function." +msgstr "" +"Додано :func:`functools.reduce` як синонім вбудованої функції :func:`reduce`." + +msgid "" +"Python 3.0 adds several new built-in functions and changes the semantics of " +"some existing builtins. Functions that are new in 3.0 such as :func:`bin` " +"have simply been added to Python 2.6, but existing builtins haven't been " +"changed; instead, the :mod:`future_builtins` module has versions with the " +"new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " +"future_builtins import hex, map`` as necessary." +msgstr "" +"Python 3.0 додає кілька нових вбудованих функцій і змінює семантику деяких " +"існуючих вбудованих функцій. Функції, які є новими у версії 3.0, такі як :" +"func:`bin`, просто додано до Python 2.6, але існуючі вбудовані функції не " +"змінено; натомість модуль :mod:`future_builtins` має версії з новою " +"семантикою 3.0. Код, написаний для сумісності з 3.0, може виконувати ``from " +"future_builtins import hex, map`` за потреби." + +msgid "" +"A new command-line switch, :option:`!-3`, enables warnings about features " +"that will be removed in Python 3.0. You can run code with this switch to " +"see how much work will be necessary to port code to 3.0. The value of this " +"switch is available to Python code as the boolean variable :data:`sys." +"py3kwarning`, and to C extension code as :c:data:`Py_Py3kWarningFlag`." +msgstr "" +"Новий параметр командного рядка :option:`!-3` дозволяє попереджати про " +"функції, які буде видалено в Python 3.0. Ви можете запустити код за " +"допомогою цього перемикача, щоб побачити, скільки роботи знадобиться для " +"перенесення коду на 3.0. Значення цього параметра доступне для коду Python " +"як логічна змінна :data:`sys.py3kwarning`, а для коду розширення C як :c:" +"data:`Py_Py3kWarningFlag`." + +msgid "" +"The 3xxx series of PEPs, which contains proposals for Python 3.0. :pep:" +"`3000` describes the development process for Python 3.0. Start with :pep:" +"`3100` that describes the general goals for Python 3.0, and then explore the " +"higher-numbered PEPS that propose specific features." +msgstr "" +"Серія PEP 3xxx, яка містить пропозиції щодо Python 3.0. :pep:`3000` описує " +"процес розробки для Python 3.0. Почніть із :pep:`3100`, який описує загальні " +"цілі для Python 3.0, а потім досліджуйте PEPS з вищими номерами, які " +"пропонують конкретні функції." + +msgid "Changes to the Development Process" +msgstr "Зміни в процесі розробки" + +msgid "" +"While 2.6 was being developed, the Python development process underwent two " +"significant changes: we switched from SourceForge's issue tracker to a " +"customized Roundup installation, and the documentation was converted from " +"LaTeX to reStructuredText." +msgstr "" +"Поки розроблялася версія 2.6, процес розробки Python зазнав двох значних " +"змін: ми перейшли від засобу відстеження проблем SourceForge до налаштованої " +"інсталяції Roundup, а документацію було перетворено з LaTeX на " +"reStructuredText." + +msgid "New Issue Tracker: Roundup" +msgstr "Новий засіб відстеження проблем: огляд" + +msgid "" +"For a long time, the Python developers had been growing increasingly annoyed " +"by SourceForge's bug tracker. SourceForge's hosted solution doesn't permit " +"much customization; for example, it wasn't possible to customize the life " +"cycle of issues." +msgstr "" +"Протягом тривалого часу розробники Python дедалі більше дратувалися " +"програмою відстеження помилок SourceForge. Розміщене рішення SourceForge не " +"дозволяє багато налаштовувати; наприклад, неможливо було налаштувати " +"життєвий цикл проблем." + +msgid "" +"The infrastructure committee of the Python Software Foundation therefore " +"posted a call for issue trackers, asking volunteers to set up different " +"products and import some of the bugs and patches from SourceForge. Four " +"different trackers were examined: `Jira `__, `Launchpad `__, `Roundup `__, and `Trac `__. The " +"committee eventually settled on Jira and Roundup as the two candidates. " +"Jira is a commercial product that offers no-cost hosted instances to free-" +"software projects; Roundup is an open-source project that requires " +"volunteers to administer it and a server to host it." +msgstr "" + +msgid "" +"After posting a call for volunteers, a new Roundup installation was set up " +"at https://bugs.python.org. One installation of Roundup can host multiple " +"trackers, and this server now also hosts issue trackers for Jython and for " +"the Python web site. It will surely find other uses in the future. Where " +"possible, this edition of \"What's New in Python\" links to the bug/patch " +"item for each change." +msgstr "" +"Після публікації заклику до волонтерів було встановлено нову установку " +"Roundup на https://bugs.python.org. Одна інсталяція Roundup може розмістити " +"кілька трекерів, і цей сервер тепер також розміщує трекери проблем для " +"Jython і для веб-сайту Python. Він, безсумнівно, знайде інші застосування в " +"майбутньому. Там, де це можливо, це видання \"Що нового в Python\" містить " +"посилання на елемент помилки/виправлення для кожної зміни." + +msgid "" +"Hosting of the Python bug tracker is kindly provided by `Upfront Systems " +"`__ of Stellenbosch, South Africa. Martin " +"von Löwis put a lot of effort into importing existing bugs and patches from " +"SourceForge; his scripts for this import operation are at ``https://svn." +"python.org/view/tracker/importer/`` and may be useful to other projects " +"wishing to move from SourceForge to Roundup." +msgstr "" + +msgid "https://bugs.python.org" +msgstr "https://bugs.python.org" + +msgid "The Python bug tracker." +msgstr "Відстежувач помилок Python." + +msgid "https://bugs.jython.org:" +msgstr "" + +msgid "The Jython bug tracker." +msgstr "Відстежувач помилок Jython." + +msgid "https://roundup.sourceforge.io/" +msgstr "" + +msgid "Roundup downloads and documentation." +msgstr "Зведення завантажень і документації." + +msgid "https://svn.python.org/view/tracker/importer/" +msgstr "" + +msgid "Martin von Löwis's conversion scripts." +msgstr "Сценарії перетворення Мартіна фон Льовіса." + +msgid "New Documentation Format: reStructuredText Using Sphinx" +msgstr "Новий формат документації: reStructuredText за допомогою Sphinx" + +msgid "" +"The Python documentation was written using LaTeX since the project started " +"around 1989. In the 1980s and early 1990s, most documentation was printed " +"out for later study, not viewed online. LaTeX was widely used because it " +"provided attractive printed output while remaining straightforward to write " +"once the basic rules of the markup were learned." +msgstr "" +"Документація Python була написана з використанням LaTeX з моменту початку " +"проекту приблизно в 1989 році. У 1980-х і на початку 1990-х більшість " +"документації роздруковували для подальшого вивчення, а не переглядали в " +"Інтернеті. LaTeX широко використовувався, тому що він забезпечував " +"привабливий друкований результат, залишаючись простим для написання після " +"вивчення основних правил розмітки." + +msgid "" +"Today LaTeX is still used for writing publications destined for printing, " +"but the landscape for programming tools has shifted. We no longer print out " +"reams of documentation; instead, we browse through it online and HTML has " +"become the most important format to support. Unfortunately, converting LaTeX " +"to HTML is fairly complicated and Fred L. Drake Jr., the long-time Python " +"documentation editor, spent a lot of time maintaining the conversion " +"process. Occasionally people would suggest converting the documentation " +"into SGML and later XML, but performing a good conversion is a major task " +"and no one ever committed the time required to finish the job." +msgstr "" +"Сьогодні LaTeX все ще використовується для написання публікацій, призначених " +"для друку, але ландшафт інструментів програмування змінився. Ми більше не " +"друкуємо купу документів; замість цього ми переглядаємо його в Інтернеті, і " +"HTML став найважливішим форматом для підтримки. На жаль, перетворення LaTeX " +"на HTML є досить складним, і Фред Л. Дрейк молодший, давній редактор " +"документації Python, витратив багато часу на підтримку процесу перетворення. " +"Час від часу люди пропонували конвертувати документацію в SGML, а пізніше в " +"XML, але якісне перетворення є головним завданням, і ніхто ніколи не " +"витрачав час, необхідний для завершення роботи." + +msgid "" +"During the 2.6 development cycle, Georg Brandl put a lot of effort into " +"building a new toolchain for processing the documentation. The resulting " +"package is called Sphinx, and is available from https://www.sphinx-doc.org/." +msgstr "" + +msgid "" +"Sphinx concentrates on HTML output, producing attractively styled and modern " +"HTML; printed output is still supported through conversion to LaTeX. The " +"input format is reStructuredText, a markup syntax supporting custom " +"extensions and directives that is commonly used in the Python community." +msgstr "" +"Sphinx зосереджується на виведенні HTML, виробляючи привабливий і сучасний " +"HTML; друкований вихід все ще підтримується через перетворення на LaTeX. " +"Формат введення – reStructuredText, синтаксис розмітки, який підтримує " +"спеціальні розширення та директиви, який зазвичай використовується в " +"спільноті Python." + +msgid "" +"Sphinx is a standalone package that can be used for writing, and almost two " +"dozen other projects (`listed on the Sphinx web site `__) have adopted Sphinx as their documentation " +"tool." +msgstr "" +"Sphinx — це окремий пакет, який можна використовувати для написання, і майже " +"два десятки інших проектів (`зазначені на веб-сайті Sphinx `__) прийняли Sphinx як інструмент " +"для документування." + +msgid "`Documenting Python `__" +msgstr "`Документування Python `__" + +msgid "Describes how to write for Python's documentation." +msgstr "Описує, як писати документацію для Python." + +msgid "`Sphinx `__" +msgstr "" + +msgid "Documentation and code for the Sphinx toolchain." +msgstr "Документація та код для Sphinx toolchain." + +msgid "`Docutils `__" +msgstr "" + +msgid "The underlying reStructuredText parser and toolset." +msgstr "Базовий аналізатор reStructuredText і набір інструментів." + +msgid "PEP 343: The 'with' statement" +msgstr "PEP 343: оператор \"з\"." + +msgid "" +"The previous version, Python 2.5, added the ':keyword:`with`' statement as " +"an optional feature, to be enabled by a ``from __future__ import " +"with_statement`` directive. In 2.6 the statement no longer needs to be " +"specially enabled; this means that :keyword:`!with` is now always a " +"keyword. The rest of this section is a copy of the corresponding section " +"from the \"What's New in Python 2.5\" document; if you're familiar with the " +"':keyword:`!with`' statement from Python 2.5, you can skip this section." +msgstr "" +"Попередня версія, Python 2.5, додала інструкцію ':keyword:`with`' як " +"необов'язкову функцію, яку можна було ввімкнути за допомогою директиви " +"``from __future__ import with_statement``. У версії 2.6 цей оператор більше " +"не потрібно спеціально вмикати; це означає, що :keyword:`!with` тепер завжди " +"є ключовим словом. Решта цього розділу є копією відповідного розділу з " +"документа \"Що нового в Python 2.5\"; якщо ви знайомі з оператором ':keyword:" +"`!with`' з Python 2.5, ви можете пропустити цей розділ." + +msgid "" +"The ':keyword:`with`' statement clarifies code that previously would use " +"``try...finally`` blocks to ensure that clean-up code is executed. In this " +"section, I'll discuss the statement as it will commonly be used. In the " +"next section, I'll examine the implementation details and show how to write " +"objects for use with this statement." +msgstr "" +"Інструкція ':keyword:`with`' уточнює код, який раніше використовував блоки " +"``try...finally``, щоб забезпечити виконання коду очищення. У цьому розділі " +"я обговорю твердження, як воно буде зазвичай використовуватися. У наступному " +"розділі я розгляну деталі реалізації та покажу, як писати об’єкти для " +"використання з цим оператором." + +msgid "" +"The ':keyword:`with`' statement is a control-flow structure whose basic " +"structure is::" +msgstr "" +"Оператор ':keyword:`with`' — це структура потоку керування, основна " +"структура якої:" + +msgid "" +"The expression is evaluated, and it should result in an object that supports " +"the context management protocol (that is, has :meth:`__enter__` and :meth:" +"`__exit__` methods)." +msgstr "" +"Вираз обчислюється, і в результаті він має отримати об’єкт, який підтримує " +"протокол керування контекстом (тобто має методи :meth:`__enter__` і :meth:" +"`__exit__`)." + +msgid "" +"The object's :meth:`__enter__` is called before *with-block* is executed and " +"therefore can run set-up code. It also may return a value that is bound to " +"the name *variable*, if given. (Note carefully that *variable* is *not* " +"assigned the result of *expression*.)" +msgstr "" +":meth:`__enter__` об’єкта викликається перед виконанням *with-block* і тому " +"може запускати код налаштування. Він також може повертати значення, яке " +"прив’язане до імені *змінної*, якщо його задано. (Зверніть увагу, що " +"*змінній* *не* присвоєно результат *виразу*.)" + +msgid "" +"After execution of the *with-block* is finished, the object's :meth:" +"`__exit__` method is called, even if the block raised an exception, and can " +"therefore run clean-up code." +msgstr "" +"Після завершення виконання *with-block* викликається метод :meth:`__exit__` " +"об’єкта, навіть якщо блок викликав виняткову ситуацію, і тому може запустити " +"код очищення." + +msgid "" +"Some standard Python objects now support the context management protocol and " +"can be used with the ':keyword:`with`' statement. File objects are one " +"example::" +msgstr "" +"Деякі стандартні об’єкти Python тепер підтримують протокол керування " +"контекстом і можуть використовуватися з оператором ':keyword:`with`'. Одним " +"із прикладів є файлові об’єкти:" + +msgid "" +"After this statement has executed, the file object in *f* will have been " +"automatically closed, even if the :keyword:`for` loop raised an exception " +"part-way through the block." +msgstr "" +"Після виконання цього оператора файловий об’єкт у *f* буде автоматично " +"закрито, навіть якщо цикл :keyword:`for` викликав виняток під час " +"проходження блоку." + +msgid "" +"In this case, *f* is the same object created by :func:`open`, because :meth:" +"`file.__enter__` returns *self*." +msgstr "" +"У цьому випадку *f* — це той самий об’єкт, створений :func:`open`, оскільки :" +"meth:`file.__enter__` повертає *self*." + +msgid "" +"The :mod:`threading` module's locks and condition variables also support " +"the ':keyword:`with`' statement::" +msgstr "" +"Блокування та змінні умови модуля :mod:`threading` також підтримують " +"оператор ':keyword:`with`'::" + +msgid "" +"The lock is acquired before the block is executed and always released once " +"the block is complete." +msgstr "" +"Блокування встановлюється перед виконанням блоку та завжди знімається після " +"завершення блоку." + +msgid "" +"The :func:`localcontext` function in the :mod:`decimal` module makes it easy " +"to save and restore the current decimal context, which encapsulates the " +"desired precision and rounding characteristics for computations::" +msgstr "" +"Функція :func:`localcontext` у модулі :mod:`decimal` дозволяє легко " +"зберігати та відновлювати поточний десятковий контекст, який інкапсулює " +"бажану точність і характеристики округлення для обчислень::" + +msgid "Writing Context Managers" +msgstr "Написання менеджерів контексту" + +msgid "" +"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " +"people will only use ':keyword:`!with`' in company with existing objects and " +"don't need to know these details, so you can skip the rest of this section " +"if you like. Authors of new objects will need to understand the details of " +"the underlying implementation and should keep reading." +msgstr "" +"Під капотом оператор ':keyword:`with`' досить складний. Більшість людей " +"використовуватимуть ':keyword:`!with`' тільки в компанії з існуючими " +"об'єктами, і їм не потрібно знати ці деталі, тому ви можете пропустити решту " +"цього розділу, якщо хочете. Авторам нових об’єктів потрібно буде зрозуміти " +"деталі базової реалізації та продовжувати читати." + +msgid "A high-level explanation of the context management protocol is:" +msgstr "Загальне пояснення протоколу керування контекстом таке:" + +msgid "" +"The expression is evaluated and should result in an object called a " +"\"context manager\". The context manager must have :meth:`__enter__` and :" +"meth:`__exit__` methods." +msgstr "" +"Вираз обчислюється та має призвести до об’єкта, який називається \"менеджер " +"контексту\". Менеджер контексту повинен мати методи :meth:`__enter__` і :" +"meth:`__exit__`." + +msgid "" +"The context manager's :meth:`__enter__` method is called. The value " +"returned is assigned to *VAR*. If no ``as VAR`` clause is present, the " +"value is simply discarded." +msgstr "" +"Викликається метод :meth:`__enter__` контекстного менеджера. Повернуте " +"значення присвоюється *VAR*. Якщо пропозиції ``as VAR`` немає, значення " +"просто відкидається." + +msgid "The code in *BLOCK* is executed." +msgstr "Код у *BLOCK* виконується." + +msgid "" +"If *BLOCK* raises an exception, the context manager's :meth:`__exit__` " +"method is called with three arguments, the exception details (``type, value, " +"traceback``, the same values returned by :func:`sys.exc_info`, which can " +"also be ``None`` if no exception occurred). The method's return value " +"controls whether an exception is re-raised: any false value re-raises the " +"exception, and ``True`` will result in suppressing it. You'll only rarely " +"want to suppress the exception, because if you do the author of the code " +"containing the ':keyword:`with`' statement will never realize anything went " +"wrong." +msgstr "" +"Якщо *BLOCK* викликає виняток, викликається метод :meth:`__exit__` " +"контекстного менеджера з трьома аргументами, деталями виключення (``тип, " +"значення, відстеження``, ті самі значення, що повертаються :func:`sys." +"exc_info`, який також може бути ``None``, якщо винятків не сталося). " +"Значення, яке повертає метод, контролює, чи повторно виникає виняток: будь-" +"яке значення false повторно викликає виняток, а ``True`` призведе до його " +"придушення. Ви рідко захочете придушити виняток, тому що, якщо ви це " +"зробите, автор коду, що містить оператор ':keyword:`with`', ніколи не " +"зрозуміє, що щось пішло не так." + +msgid "" +"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " +"called, but *type*, *value*, and *traceback* are all ``None``." +msgstr "" +"Якщо *BLOCK* не викликає винятку, метод :meth:`__exit__` все одно " +"викликається, але *type*, *value* і *traceback* мають значення ``None``." + +msgid "" +"Let's think through an example. I won't present detailed code but will only " +"sketch the methods necessary for a database that supports transactions." +msgstr "" +"Давайте поміркуємо на прикладі. Я не буду представляти детальний код, а лише " +"накидаю методи, необхідні для бази даних, яка підтримує транзакції." + +msgid "" +"(For people unfamiliar with database terminology: a set of changes to the " +"database are grouped into a transaction. Transactions can be either " +"committed, meaning that all the changes are written into the database, or " +"rolled back, meaning that the changes are all discarded and the database is " +"unchanged. See any database textbook for more information.)" +msgstr "" +"(Для людей, які не знайомі з термінологією бази даних: набір змін до бази " +"даних групується в транзакцію. Транзакції можуть бути або зафіксованими, " +"тобто всі зміни записуються в базу даних, або відкоченими, тобто всі зміни " +"скасовуються та база даних не змінена. Для отримання додаткової інформації " +"зверніться до будь-якого підручника з баз даних.)" + +msgid "" +"Let's assume there's an object representing a database connection. Our goal " +"will be to let the user write code like this::" +msgstr "" +"Припустімо, що є об’єкт, що представляє з’єднання з базою даних. Нашою метою " +"буде дозволити користувачеві писати такий код:" + +msgid "" +"The transaction should be committed if the code in the block runs flawlessly " +"or rolled back if there's an exception. Here's the basic interface for :" +"class:`DatabaseConnection` that I'll assume::" +msgstr "" +"Транзакцію слід зафіксувати, якщо код у блоці працює бездоганно, або " +"відкотити, якщо є виняткова ситуація. Ось базовий інтерфейс для :class:" +"`DatabaseConnection`, який я припускаю:" + +msgid "" +"The :meth:`__enter__` method is pretty easy, having only to start a new " +"transaction. For this application the resulting cursor object would be a " +"useful result, so the method will return it. The user can then add ``as " +"cursor`` to their ':keyword:`with`' statement to bind the cursor to a " +"variable name. ::" +msgstr "" +"Метод :meth:`__enter__` досить простий, вам потрібно лише почати нову " +"транзакцію. Для цієї програми отриманий об’єкт курсора буде корисним " +"результатом, тому метод поверне його. Потім користувач може додати ``as " +"cursor`` до свого оператора ':keyword:`with`', щоб прив'язати курсор до " +"імені змінної. ::" + +msgid "" +"The :meth:`__exit__` method is the most complicated because it's where most " +"of the work has to be done. The method has to check if an exception " +"occurred. If there was no exception, the transaction is committed. The " +"transaction is rolled back if there was an exception." +msgstr "" +"Метод :meth:`__exit__` є найскладнішим, тому що в ньому потрібно виконати " +"більшу частину роботи. Метод повинен перевірити, чи сталася виняткова " +"ситуація. Якщо не було винятку, транзакція зафіксована. Транзакція " +"відкочується, якщо стався виняток." + +msgid "" +"In the code below, execution will just fall off the end of the function, " +"returning the default value of ``None``. ``None`` is false, so the " +"exception will be re-raised automatically. If you wished, you could be more " +"explicit and add a :keyword:`return` statement at the marked location. ::" +msgstr "" +"У наведеному нижче коді виконання просто припиниться в кінці функції, " +"повертаючи значення за замовчуванням ``None``. ``None`` є хибним, тому " +"виняток буде знову створено автоматично. Якщо ви бажаєте, ви можете бути " +"більш чіткими та додати оператор :keyword:`return` у позначене місце. ::" + +msgid "The contextlib module" +msgstr "Модуль contextlib" + +msgid "" +"The :mod:`contextlib` module provides some functions and a decorator that " +"are useful when writing objects for use with the ':keyword:`with`' statement." +msgstr "" +"Модуль :mod:`contextlib` надає деякі функції та декоратор, корисні під час " +"написання об’єктів для використання з оператором ':keyword:`with`'." + +msgid "" +"The decorator is called :func:`contextmanager`, and lets you write a single " +"generator function instead of defining a new class. The generator should " +"yield exactly one value. The code up to the :keyword:`yield` will be " +"executed as the :meth:`__enter__` method, and the value yielded will be the " +"method's return value that will get bound to the variable in the ':keyword:" +"`with`' statement's :keyword:`!as` clause, if any. The code after the :" +"keyword:`!yield` will be executed in the :meth:`__exit__` method. Any " +"exception raised in the block will be raised by the :keyword:`!yield` " +"statement." +msgstr "" +"Декоратор називається :func:`contextmanager` і дозволяє писати одну функцію-" +"генератор замість визначення нового класу. Генератор повинен видавати рівно " +"одне значення. Код до :keyword:`yield` буде виконано як метод :meth:" +"`__enter__`, а отримане значення буде поверненим значенням методу, яке буде " +"прив’язано до змінної в ':keyword:`with` ' оператора :keyword:`!as` пункт, " +"якщо такий є. Код після :keyword:`!yield` буде виконано в методі :meth:" +"`__exit__`. Будь-які винятки, викликані в блоці, будуть викликані " +"оператором :keyword:`!yield`." + +msgid "" +"Using this decorator, our database example from the previous section could " +"be written as::" +msgstr "" +"Використовуючи цей декоратор, наш приклад бази даних із попереднього розділу " +"можна записати так:" + +msgid "" +"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function " +"that combines a number of context managers so you don't need to write nested " +"':keyword:`with`' statements. In this example, the single ':keyword:`!" +"with`' statement both starts a database transaction and acquires a thread " +"lock::" +msgstr "" +"Модуль :mod:`contextlib` також має функцію ``nested(mgr1, mgr2, ...)``, яка " +"поєднує кілька контекстних менеджерів, тому вам не потрібно писати вкладений " +"':keyword:`with`' заяви. У цьому прикладі один оператор ':keyword:`!with`' " +"запускає транзакцію бази даних і отримує блокування потоку::" + +msgid "" +"Finally, the :func:`closing` function returns its argument so that it can be " +"bound to a variable, and calls the argument's ``.close()`` method at the end " +"of the block. ::" +msgstr "" +"Нарешті, функція :func:`closing` повертає свій аргумент, щоб його можна було " +"прив’язати до змінної, і викликає метод ``.close()`` аргументу в кінці " +"блоку. ::" + +msgid ":pep:`343` - The \"with\" statement" +msgstr ":pep:`343` - оператор \"з\"." + +msgid "" +"PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, " +"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a " +"':keyword:`with`' statement, which can be helpful in learning how the " +"statement works." +msgstr "" +"PEP, написаний Гвідо ван Россумом і Ніком Когланом; реалізований Майком " +"Блендом, Гвідо ван Россумом і Нілом Норвітцем. PEP показує код, згенерований " +"для оператора ':keyword:`with`', який може бути корисним для вивчення того, " +"як працює оператор." + +msgid "The documentation for the :mod:`contextlib` module." +msgstr "Документація для модуля :mod:`contextlib`." + +msgid "PEP 366: Explicit Relative Imports From a Main Module" +msgstr "PEP 366: Явний відносний імпорт із основного модуля" + +msgid "" +"Python's :option:`-m` switch allows running a module as a script. When you " +"ran a module that was located inside a package, relative imports didn't work " +"correctly." +msgstr "" +"Перемикач Python :option:`-m` дозволяє запускати модуль як сценарій. Коли ви " +"запускали модуль, який знаходився всередині пакета, відносний імпорт не " +"працював належним чином." + +msgid "" +"The fix for Python 2.6 adds a :attr:`__package__` attribute to modules. " +"When this attribute is present, relative imports will be relative to the " +"value of this attribute instead of the :attr:`__name__` attribute." +msgstr "" +"Виправлення для Python 2.6 додає атрибут :attr:`__package__` до модулів. " +"Якщо цей атрибут присутній, відносні імпорти будуть відносними до значення " +"цього атрибута замість атрибута :attr:`__name__`." + +msgid "" +"PEP 302-style importers can then set :attr:`__package__` as necessary. The :" +"mod:`runpy` module that implements the :option:`-m` switch now does this, so " +"relative imports will now work correctly in scripts running from inside a " +"package." +msgstr "" +"Потім імпортери у стилі PEP 302 можуть за потреби встановити :attr:" +"`__package__`. Модуль :mod:`runpy`, який реалізує перемикач :option:`-m`, " +"тепер робить це, тож відносний імпорт тепер працюватиме правильно у " +"сценаріях, що виконуються зсередини пакета." + +msgid "PEP 370: Per-user ``site-packages`` Directory" +msgstr "PEP 370: каталог ``site-packages`` для кожного користувача" + +msgid "" +"When you run Python, the module search path ``sys.path`` usually includes a " +"directory whose path ends in ``\"site-packages\"``. This directory is " +"intended to hold locally installed packages available to all users using a " +"machine or a particular site installation." +msgstr "" + +msgid "" +"Python 2.6 introduces a convention for user-specific site directories. The " +"directory varies depending on the platform:" +msgstr "" +"Python 2.6 представляє конвенцію для каталогів сайтів, призначених для " +"користувача. Каталог залежить від платформи:" + +msgid "Unix and Mac OS X: :file:`~/.local/`" +msgstr "Unix і Mac OS X: :file:`~/.local/`" + +msgid "Windows: :file:`%APPDATA%/Python`" +msgstr "Windows: :file:`%APPDATA%/Python`" + +msgid "" +"Within this directory, there will be version-specific subdirectories, such " +"as :file:`lib/python2.6/site-packages` on Unix/Mac OS and :file:`Python26/" +"site-packages` on Windows." +msgstr "" +"У цьому каталозі будуть підкаталоги для певної версії, наприклад :file:`lib/" +"python2.6/site-packages` в Unix/Mac OS і :file:`Python26/site-packages` у " +"Windows." + +msgid "" +"If you don't like the default directory, it can be overridden by an " +"environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used " +"for all Python versions supporting this feature. On Windows, the directory " +"for application-specific data can be changed by setting the :envvar:" +"`APPDATA` environment variable. You can also modify the :file:`site.py` " +"file for your Python installation." +msgstr "" +"Якщо вам не подобається каталог за замовчуванням, його можна замінити " +"змінною середовища. :envvar:`PYTHONUSERBASE` встановлює кореневий каталог " +"для всіх версій Python, які підтримують цю функцію. У Windows каталог для " +"даних програми можна змінити, встановивши змінну середовища :envvar:" +"`APPDATA`. Ви також можете змінити файл :file:`site.py` для інсталяції " +"Python." + +msgid "" +"The feature can be disabled entirely by running Python with the :option:`-s` " +"option or setting the :envvar:`PYTHONNOUSERSITE` environment variable." +msgstr "" +"Цю функцію можна повністю вимкнути, запустивши Python із параметром :option:" +"`-s` або встановивши змінну середовища :envvar:`PYTHONNOUSERSITE`." + +msgid ":pep:`370` - Per-user ``site-packages`` Directory" +msgstr ":pep:`370` - каталог ``site-packages`` для кожного користувача" + +msgid "PEP written and implemented by Christian Heimes." +msgstr "PEP написаний і реалізований Крістіаном Хеймсом." + +msgid "PEP 371: The ``multiprocessing`` Package" +msgstr "PEP 371: Пакет ``multiprocessing``" + +msgid "" +"The new :mod:`multiprocessing` package lets Python programs create new " +"processes that will perform a computation and return a result to the " +"parent. The parent and child processes can communicate using queues and " +"pipes, synchronize their operations using locks and semaphores, and can " +"share simple arrays of data." +msgstr "" +"Новий пакет :mod:`multiprocessing` дозволяє програмам Python створювати нові " +"процеси, які виконуватимуть обчислення та повертатимуть результат " +"батьківському. Батьківський і дочірній процеси можуть спілкуватися за " +"допомогою черг і каналів, синхронізувати свої операції за допомогою " +"блокувань і семафорів, а також можуть обмінюватися простими масивами даних." + +msgid "" +"The :mod:`multiprocessing` module started out as an exact emulation of the :" +"mod:`threading` module using processes instead of threads. That goal was " +"discarded along the path to Python 2.6, but the general approach of the " +"module is still similar. The fundamental class is the :class:`Process`, " +"which is passed a callable object and a collection of arguments. The :meth:" +"`start` method sets the callable running in a subprocess, after which you " +"can call the :meth:`is_alive` method to check whether the subprocess is " +"still running and the :meth:`join` method to wait for the process to exit." +msgstr "" +"Модуль :mod:`multiprocessing` починався як точна емуляція модуля :mod:" +"`threading` із використанням процесів замість потоків. Ця мета була " +"відкинута на шляху до Python 2.6, але загальний підхід модуля все ще " +"подібний. Основним класом є :class:`Process`, якому передається об’єкт, що " +"викликається, і набір аргументів. Метод :meth:`start` встановлює виклик, що " +"виконується в підпроцесі, після чого ви можете викликати метод :meth:" +"`is_alive`, щоб перевірити, чи підпроцес все ще працює, і метод :meth:" +"`join`, щоб дочекатися процес для виходу." + +msgid "" +"Here's a simple example where the subprocess will calculate a factorial. " +"The function doing the calculation is written strangely so that it takes " +"significantly longer when the input argument is a multiple of 4." +msgstr "" +"Ось простий приклад, коли підпроцес обчислить факториал. Функція, яка " +"виконує обчислення, написана дивним чином, тому вона займає значно більше " +"часу, коли вхідний аргумент кратний 4." + +msgid "" +"A :class:`~queue.Queue` is used to communicate the result of the factorial. " +"The :class:`~queue.Queue` object is stored in a global variable. The child " +"process will use the value of the variable when the child was created; " +"because it's a :class:`~queue.Queue`, parent and child can use the object to " +"communicate. (If the parent were to change the value of the global " +"variable, the child's value would be unaffected, and vice versa.)" +msgstr "" +":class:`~queue.Queue` використовується для передачі результату факториалу. " +"Об’єкт :class:`~queue.Queue` зберігається в глобальній змінній. Дочірній " +"процес використовуватиме значення змінної, коли був створений дочірній " +"процес; оскільки це :class:`~queue.Queue`, батько і дитина можуть " +"використовувати об’єкт для спілкування. (Якщо батько змінить значення " +"глобальної змінної, це не вплине на значення дочірньої системи, і навпаки.)" + +msgid "" +"Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level " +"interfaces. :class:`Pool` will create a fixed number of worker processes, " +"and requests can then be distributed to the workers by calling :meth:`apply` " +"or :meth:`apply_async` to add a single request, and :meth:`map` or :meth:" +"`map_async` to add a number of requests. The following code uses a :class:" +"`Pool` to spread requests across 5 worker processes and retrieve a list of " +"results::" +msgstr "" +"Два інших класи, :class:`Pool` і :class:`Manager`, забезпечують інтерфейси " +"вищого рівня. :class:`Pool` створить фіксовану кількість робочих процесів, а " +"потім запити можна розповсюджувати серед робочих, викликаючи :meth:`apply` " +"або :meth:`apply_async`, щоб додати один запит, і :meth:`map` або :meth:" +"`map_async`, щоб додати кілька запитів. Наступний код використовує :class:" +"`Pool` для розподілу запитів між 5 робочими процесами та отримання списку " +"результатів::" + +msgid "This produces the following output::" +msgstr "Це дає такий вихід:" + +msgid "" +"The other high-level interface, the :class:`Manager` class, creates a " +"separate server process that can hold master copies of Python data " +"structures. Other processes can then access and modify these data " +"structures using proxy objects. The following example creates a shared " +"dictionary by calling the :meth:`dict` method; the worker processes then " +"insert values into the dictionary. (Locking is not done for you " +"automatically, which doesn't matter in this example. :class:`Manager`'s " +"methods also include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to " +"create shared locks.)" +msgstr "" +"Інший інтерфейс високого рівня, клас :class:`Manager`, створює окремий " +"серверний процес, який може зберігати головні копії структур даних Python. " +"Потім інші процеси можуть отримувати доступ до цих структур даних і " +"змінювати їх за допомогою проксі-об’єктів. У наступному прикладі створюється " +"спільний словник шляхом виклику методу :meth:`dict`; робочі процеси потім " +"вставляють значення в словник. (Блокування не виконується автоматично, що не " +"має значення в цьому прикладі. Методи :class:`Manager` також включають :meth:" +"`Lock`, :meth:`RLock` і :meth:`Semaphore` для створення спільних блокувань.)" + +msgid "This will produce the output::" +msgstr "Це дасть результат::" + +msgid "The documentation for the :mod:`multiprocessing` module." +msgstr "Документація для модуля :mod:`multiprocessing`." + +msgid ":pep:`371` - Addition of the multiprocessing package" +msgstr ":pep:`371` - Додано багатопроцесорний пакет" + +msgid "" +"PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard " +"Oudkerk and Jesse Noller." +msgstr "" +"PEP, написаний Джессі Ноллером і Річардом Оудкерком; реалізовано Річардом " +"Оудкерком і Джессі Ноллером." + +msgid "PEP 3101: Advanced String Formatting" +msgstr "PEP 3101: Розширене форматування рядків" + +msgid "" +"In Python 3.0, the ``%`` operator is supplemented by a more powerful string " +"formatting method, :meth:`format`. Support for the :meth:`str.format` " +"method has been backported to Python 2.6." +msgstr "" + +msgid "" +"In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that " +"treats the string as a template and takes the arguments to be formatted. The " +"formatting template uses curly brackets (``{``, ``}``) as special " +"characters::" +msgstr "" + +msgid "Curly brackets can be escaped by doubling them::" +msgstr "Фігурні дужки можна екранувати, подвоюючи їх:" + +msgid "" +"Field names can be integers indicating positional arguments, such as ``{0}" +"``, ``{1}``, etc. or names of keyword arguments. You can also supply " +"compound field names that read attributes or access dictionary keys::" +msgstr "" +"Імена полів можуть бути цілими числами, що вказують на позиційні аргументи, " +"такі як {0}, {1 тощо, або назви ключових аргументів. Ви також можете надати " +"складені назви полів, які зчитують атрибути або мають доступ до ключів " +"словника:" + +msgid "" +"Note that when using dictionary-style notation such as ``[.mp4]``, you don't " +"need to put any quotation marks around the string; it will look up the value " +"using ``.mp4`` as the key. Strings beginning with a number will be " +"converted to an integer. You can't write more complicated expressions " +"inside a format string." +msgstr "" +"Зауважте, що використовуючи нотацію у стилі словника, наприклад ``[.mp4]``, " +"вам не потрібно брати лапки навколо рядка; він шукатиме значення, " +"використовуючи ``.mp4`` як ключ. Рядки, що починаються з числа, будуть " +"перетворені на ціле число. Ви не можете писати складніші вирази всередині " +"рядка форматування." + +msgid "" +"So far we've shown how to specify which field to substitute into the " +"resulting string. The precise formatting used is also controllable by " +"adding a colon followed by a format specifier. For example::" +msgstr "" +"Поки що ми показали, як вказати, яке поле підставляти в результуючий рядок. " +"Використовуване точне форматування також можна контролювати, додавши " +"двокрапку, за якою йде специфікатор формату. Наприклад::" + +msgid "Format specifiers can reference other fields through nesting::" +msgstr "Специфікатори формату можуть посилатися на інші поля через вкладення::" + +msgid "The alignment of a field within the desired width can be specified:" +msgstr "Можна вказати вирівнювання поля в межах бажаної ширини:" + +msgid "Character" +msgstr "характер" + +msgid "Effect" +msgstr "Ефект" + +msgid "< (default)" +msgstr "< (за умовчанням)" + +msgid "Left-align" +msgstr "Вирівнювання по лівому краю" + +msgid ">" +msgstr ">" + +msgid "Right-align" +msgstr "Вирівнювання по правому краю" + +msgid "^" +msgstr "^" + +msgid "Center" +msgstr "центр" + +msgid "=" +msgstr "=" + +msgid "(For numeric types only) Pad after the sign." +msgstr "(Лише для числових типів) Додайте після знака." + +msgid "" +"Format specifiers can also include a presentation type, which controls how " +"the value is formatted. For example, floating-point numbers can be " +"formatted as a general number or in exponential notation::" +msgstr "" +"Специфікатори формату також можуть містити тип представлення, який керує " +"форматуванням значення. Наприклад, числа з плаваючою комою можна " +"відформатувати як загальне число або в експоненціальній системі:" + +msgid "" +"A variety of presentation types are available. Consult the 2.6 " +"documentation for a :ref:`complete list `; here's a sample:" +msgstr "" +"Доступні різноманітні типи презентацій. Зверніться до документації 2.6, щоб " +"отримати :ref:`повний список `; ось зразок:" + +msgid "``b``" +msgstr "``b``" + +msgid "Binary. Outputs the number in base 2." +msgstr "Двійковий. Виводить число за основою 2." + +msgid "``c``" +msgstr "``c``" + +msgid "" +"Character. Converts the integer to the corresponding Unicode character " +"before printing." +msgstr "" +"характер. Перетворює ціле число на відповідний символ Unicode перед друком." + +msgid "``d``" +msgstr "``d``" + +msgid "Decimal Integer. Outputs the number in base 10." +msgstr "Десяткове ціле число. Виводить число за основою 10." + +msgid "``o``" +msgstr "``о``" + +msgid "Octal format. Outputs the number in base 8." +msgstr "Вісімковий формат. Виводить число за основою 8." + +msgid "``x``" +msgstr "``x``" + +msgid "" +"Hex format. Outputs the number in base 16, using lower-case letters for the " +"digits above 9." +msgstr "" +"Шістнадцятковий формат. Виводить число за основою 16, використовуючи малі " +"літери для цифр над 9." + +msgid "``e``" +msgstr "``e``" + +msgid "" +"Exponent notation. Prints the number in scientific notation using the letter " +"'e' to indicate the exponent." +msgstr "" +"Запис степеня. Друкує число в науковому записі, використовуючи літеру \"e\" " +"для позначення степеня." + +msgid "``g``" +msgstr "``g``" + +msgid "" +"General format. This prints the number as a fixed-point number, unless the " +"number is too large, in which case it switches to 'e' exponent notation." +msgstr "" +"Загальний формат. Це друкує число як число з фіксованою комою, за винятком " +"випадків, коли число надто велике, і в цьому випадку воно перемикається на " +"позначення ступеня \"e\"." + +msgid "``n``" +msgstr "``n``" + +msgid "" +"Number. This is the same as 'g' (for floats) or 'd' (for integers), except " +"that it uses the current locale setting to insert the appropriate number " +"separator characters." +msgstr "" +"Номер. Це те саме, що \"g\" (для чисел з плаваючою точкою) або \"d\" (для " +"цілих чисел), за винятком того, що для вставки відповідних символів-" +"роздільників використовуються поточні параметри мови." + +msgid "``%``" +msgstr "``%``" + +msgid "" +"Percentage. Multiplies the number by 100 and displays in fixed ('f') format, " +"followed by a percent sign." +msgstr "" +"Відсоток. Множить число на 100 і відображається у фіксованому форматі ('f') " +"із знаком відсотка." + +msgid "" +"Classes and types can define a :meth:`__format__` method to control how " +"they're formatted. It receives a single argument, the format specifier::" +msgstr "" +"Класи та типи можуть визначати метод :meth:`__format__` для керування їх " +"форматуванням. Він отримує єдиний аргумент, специфікатор формату::" + +msgid "" +"There's also a :func:`format` builtin that will format a single value. It " +"calls the type's :meth:`__format__` method with the provided specifier::" +msgstr "" +"Існує також вбудований :func:`format`, який форматує одне значення. Він " +"викликає метод типу :meth:`__format__` із наданим специфікатором::" + +msgid ":ref:`formatstrings`" +msgstr ":ref:`formatstrings`" + +msgid "The reference documentation for format fields." +msgstr "Довідкова документація для полів формату." + +msgid ":pep:`3101` - Advanced String Formatting" +msgstr ":pep:`3101` - Розширене форматування рядків" + +msgid "PEP written by Talin. Implemented by Eric Smith." +msgstr "PEP, написаний Таліним. Реалізовано Еріком Смітом." + +msgid "PEP 3105: ``print`` As a Function" +msgstr "PEP 3105: ``друк`` як функція" + +msgid "" +"The ``print`` statement becomes the :func:`print` function in Python 3.0. " +"Making :func:`print` a function makes it possible to replace the function by " +"doing ``def print(...)`` or importing a new function from somewhere else." +msgstr "" +"Оператор ``print`` стає функцією :func:`print` у Python 3.0. Зробивши :func:" +"`print` функцією, можна замінити функцію, виконавши ``def print(...)`` або " +"імпортувавши нову функцію з іншого місця." + +msgid "" +"Python 2.6 has a ``__future__`` import that removes ``print`` as language " +"syntax, letting you use the functional form instead. For example::" +msgstr "" +"У Python 2.6 є імпорт ``__future__``, який видаляє ``print`` як синтаксис " +"мови, дозволяючи замість цього використовувати функціональну форму. " +"Наприклад::" + +msgid "The signature of the new function is::" +msgstr "Сигнатура нової функції:" + +msgid "The parameters are:" +msgstr "Параметри такі:" + +msgid "*args*: positional arguments whose values will be printed out." +msgstr "*args*: позиційні аргументи, значення яких буде роздруковано." + +msgid "*sep*: the separator, which will be printed between arguments." +msgstr "*sep*: роздільник, який буде надруковано між аргументами." + +msgid "" +"*end*: the ending text, which will be printed after all of the arguments " +"have been output." +msgstr "" +"*end*: кінцевий текст, який буде надруковано після виведення всіх аргументів." + +msgid "*file*: the file object to which the output will be sent." +msgstr "*file*: файловий об’єкт, до якого буде надіслано вивід." + +msgid ":pep:`3105` - Make print a function" +msgstr ":pep:`3105` - Зробити друк функцією" + +msgid "PEP written by Georg Brandl." +msgstr "PEP, написаний Георгом Брандлом." + +msgid "PEP 3110: Exception-Handling Changes" +msgstr "PEP 3110: Зміни обробки винятків" + +msgid "" +"One error that Python programmers occasionally make is writing the following " +"code::" +msgstr "" +"Однією з помилок, яку іноді роблять програмісти Python, є написання " +"наступного коду:" + +msgid "" +"The author is probably trying to catch both :exc:`TypeError` and :exc:" +"`ValueError` exceptions, but this code actually does something different: it " +"will catch :exc:`TypeError` and bind the resulting exception object to the " +"local name ``\"ValueError\"``. The :exc:`ValueError` exception will not be " +"caught at all. The correct code specifies a tuple of exceptions::" +msgstr "" +"Автор, ймовірно, намагається перехопити винятки :exc:`TypeError` і :exc:" +"`ValueError`, але цей код насправді робить щось інше: він перехопить :exc:" +"`TypeError` і прив’яже отриманий об’єкт винятку до локальної назви ``" +"\"ValueError\"``. Виняток :exc:`ValueError` не буде перехоплено взагалі. " +"Правильний код визначає кортеж винятків::" + +msgid "" +"This error happens because the use of the comma here is ambiguous: does it " +"indicate two different nodes in the parse tree, or a single node that's a " +"tuple?" +msgstr "" +"Ця помилка виникає через те, що використання коми тут неоднозначне: чи " +"вказує вона на два різні вузли в дереві розбору, чи на один вузол, який є " +"кортежем?" + +msgid "" +"Python 3.0 makes this unambiguous by replacing the comma with the word \"as" +"\". To catch an exception and store the exception object in the variable " +"``exc``, you must write::" +msgstr "" +"Python 3.0 робить це однозначним, замінюючи кому словом \"як\". Щоб " +"перехопити виняток і зберегти об’єкт винятку в змінній ``exc``, ви повинні " +"написати::" + +msgid "" +"Python 3.0 will only support the use of \"as\", and therefore interprets the " +"first example as catching two different exceptions. Python 2.6 supports " +"both the comma and \"as\", so existing code will continue to work. We " +"therefore suggest using \"as\" when writing new Python code that will only " +"be executed with 2.6." +msgstr "" +"Python 3.0 підтримуватиме лише використання \"as\", і тому інтерпретує " +"перший приклад як перехоплення двох різних винятків. Python 2.6 підтримує як " +"кому, так і \"as\", тому наявний код працюватиме й надалі. Тому ми " +"пропонуємо використовувати \"as\" під час написання нового коду Python, який " +"виконуватиметься лише з 2.6." + +msgid ":pep:`3110` - Catching Exceptions in Python 3000" +msgstr ":pep:`3110` - Перехоплення винятків у Python 3000" + +msgid "PEP written and implemented by Collin Winter." +msgstr "PEP написав і реалізував Колін Вінтер." + +msgid "PEP 3112: Byte Literals" +msgstr "PEP 3112: Байтові літерали" + +msgid "" +"Python 3.0 adopts Unicode as the language's fundamental string type and " +"denotes 8-bit literals differently, either as ``b'string'`` or using a :" +"class:`bytes` constructor. For future compatibility, Python 2.6 adds :class:" +"`bytes` as a synonym for the :class:`str` type, and it also supports the " +"``b''`` notation." +msgstr "" +"Python 3.0 використовує Unicode як основний рядковий тип мови та позначає 8-" +"бітні літерали по-різному, або як ``b'string'``, або за допомогою " +"конструктора :class:`bytes`. Для майбутньої сумісності Python 2.6 додає :" +"class:`bytes` як синонім для типу :class:`str`, а також підтримує нотацію " +"``b''``." + +msgid "" +"The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways; " +"most notably, the constructor is completely different. In 3.0, ``bytes([65, " +"66, 67])`` is 3 elements long, containing the bytes representing ``ABC``; in " +"2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing the :" +"func:`str` of the list." +msgstr "" +"Тип :class:`str` 2.6 відрізняється від типу :class:`bytes` 3.0 різними " +"способами; головне, що конструктор зовсім інший. У 3.0 ``bytes([65, 66, " +"67])`` складається з 3 елементів, які містять байти, що представляють " +"``ABC``; у версії 2.6 ``bytes([65, 66, 67])`` повертає 12-байтовий рядок, " +"який представляє :func:`str` списку." + +msgid "" +"The primary use of :class:`bytes` in 2.6 will be to write tests of object " +"type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, " +"which can't tell whether 2.x code intends strings to contain either " +"characters or 8-bit bytes; you can now use either :class:`bytes` or :class:" +"`str` to represent your intention exactly, and the resulting code will also " +"be correct in Python 3.0." +msgstr "" +"Основним використанням :class:`bytes` у 2.6 буде написання тестів типу " +"об’єкта, наприклад ``isinstance(x, bytes)``. Це допоможе конвертеру 2to3, " +"який не може визначити, чи код 2.x передбачає, що рядки містять символи чи 8-" +"бітні байти; Тепер ви можете використовувати або :class:`bytes`, або :class:" +"`str`, щоб точно представити свій намір, і отриманий код також буде " +"правильним у Python 3.0." + +msgid "" +"There's also a ``__future__`` import that causes all string literals to " +"become Unicode strings. This means that ``\\u`` escape sequences can be " +"used to include Unicode characters::" +msgstr "" +"Існує також імпорт ``__future__``, завдяки якому всі рядкові літерали стають " +"рядками Unicode. Це означає, що керуючі послідовності ``\\u`` можна " +"використовувати для включення символів Unicode:" + +msgid "" +"At the C level, Python 3.0 will rename the existing 8-bit string type, " +"called :c:type:`PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " +"Python 2.6 uses ``#define`` to support using the names :c:func:" +"`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" +"`PyBytes_FromStringAndSize`, and all the other functions and macros used " +"with strings." +msgstr "" +"На рівні C Python 3.0 перейменує існуючий 8-бітний рядковий тип, що " +"називається :c:type:`PyStringObject` у Python 2.x, на :c:type:" +"`PyBytesObject`. Python 2.6 використовує ``#define`` для підтримки " +"використання імен :c:func:`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" +"`PyBytes_FromStringAndSize`, а також усіх інших функцій і макросів, які " +"використовуються з рядки." + +msgid "" +"Instances of the :class:`bytes` type are immutable just as strings are. A " +"new :class:`bytearray` type stores a mutable sequence of bytes::" +msgstr "" +"Екземпляри типу :class:`bytes` незмінні, як і рядки. Новий тип :class:" +"`bytearray` зберігає змінну послідовність байтів::" + +msgid "" +"Byte arrays support most of the methods of string types, such as :meth:" +"`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the " +"methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`." +msgstr "" +"Байтові масиви підтримують більшість методів типів рядків, таких як :meth:" +"`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, а також деякі " +"методи списків, наприклад як :meth:`append`, :meth:`pop` і :meth:`reverse`." + +msgid "" +"There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, :" +"c:func:`PyByteArray_FromStringAndSize`, and various other functions." +msgstr "" +"Існує також відповідний C API з :c:func:`PyByteArray_FromObject`, :c:func:" +"`PyByteArray_FromStringAndSize` та різними іншими функціями." + +msgid ":pep:`3112` - Bytes literals in Python 3000" +msgstr ":pep:`3112` - Байтові літерали в Python 3000" + +msgid "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes." +msgstr "" +"PEP, написаний Джейсоном Орендорфом; перенесено до 2.6 Крістіаном Хеймсом." + +msgid "PEP 3116: New I/O Library" +msgstr "PEP 3116: Нова бібліотека введення-виведення" + +msgid "" +"Python's built-in file objects support a number of methods, but file-like " +"objects don't necessarily support all of them. Objects that imitate files " +"usually support :meth:`read` and :meth:`write`, but they may not support :" +"meth:`readline`, for example. Python 3.0 introduces a layered I/O library " +"in the :mod:`io` module that separates buffering and text-handling features " +"from the fundamental read and write operations." +msgstr "" +"Вбудовані файлові об’єкти Python підтримують низку методів, але файлоподібні " +"об’єкти не обов’язково підтримують усі з них. Об’єкти, які імітують файли, " +"зазвичай підтримують :meth:`read` і :meth:`write`, але вони можуть не " +"підтримувати, наприклад, :meth:`readline`. Python 3.0 представляє " +"багаторівневу бібліотеку вводу-виводу в модулі :mod:`io`, яка відокремлює " +"функції буферизації та обробки тексту від основних операцій читання та " +"запису." + +msgid "" +"There are three levels of abstract base classes provided by the :mod:`io` " +"module:" +msgstr "Модуль :mod:`io` пропонує три рівні абстрактних базових класів:" + +msgid "" +":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:" +"`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " +"and :meth:`close`. Most of the methods of this class will often map to a " +"single system call. There are also :meth:`readable`, :meth:`writable`, and :" +"meth:`seekable` methods for determining what operations a given object will " +"allow." +msgstr "" +":class:`RawIOBase` визначає необроблені операції введення-виведення: :meth:" +"`read`, :meth:`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:" +"`truncate` і :meth:`close`. Більшість методів цього класу часто " +"відображаються на один системний виклик. Існують також методи :meth:" +"`readable`, :meth:`writable` і :meth:`seekable` для визначення того, які " +"операції дозволятиме певний об’єкт." + +msgid "" +"Python 3.0 has concrete implementations of this class for files and sockets, " +"but Python 2.6 hasn't restructured its file and socket objects in this way." +msgstr "" +"У Python 3.0 є конкретні реалізації цього класу для файлів і сокетів, але " +"Python 2.6 не реструктурував свої об’єкти файлів і сокетів таким чином." + +msgid "" +":class:`BufferedIOBase` is an abstract base class that buffers data in " +"memory to reduce the number of system calls used, making I/O processing more " +"efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :" +"attr:`raw` attribute holding the underlying raw object." +msgstr "" +":class:`BufferedIOBase` — це абстрактний базовий клас, який буферизує дані в " +"пам’яті, щоб зменшити кількість використовуваних системних викликів, що " +"робить обробку вводу-виводу більш ефективною. Він підтримує всі методи :" +"class:`RawIOBase` і додає атрибут :attr:`raw`, що містить базовий " +"необроблений об’єкт." + +msgid "" +"There are five concrete classes implementing this ABC. :class:" +"`BufferedWriter` and :class:`BufferedReader` are for objects that support " +"write-only or read-only usage that have a :meth:`seek` method for random " +"access. :class:`BufferedRandom` objects support read and write access upon " +"the same underlying stream, and :class:`BufferedRWPair` is for objects such " +"as TTYs that have both read and write operations acting upon unconnected " +"streams of data. The :class:`BytesIO` class supports reading, writing, and " +"seeking over an in-memory buffer." +msgstr "" +"Є п'ять конкретних класів, що реалізують цю ABC. :class:`BufferedWriter` і :" +"class:`BufferedReader` призначені для об’єктів, які підтримують використання " +"лише для запису або лише для читання, які мають метод :meth:`seek` для " +"довільного доступу. Об’єкти :class:`BufferedRandom` підтримують доступ для " +"читання та запису до одного основного потоку, а :class:`BufferedRWPair` " +"призначений для таких об’єктів, як TTY, які мають операції читання та " +"запису, що діють на незв’язані потоки даних. Клас :class:`BytesIO` підтримує " +"читання, запис і пошук у буфері в пам’яті." + +msgid "" +":class:`TextIOBase`: Provides functions for reading and writing strings " +"(remember, strings will be Unicode in Python 3.0), and supporting :term:" +"`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` " +"method and supports iteration upon objects." +msgstr "" +":class:`TextIOBase`: забезпечує функції для читання та запису рядків " +"(пам’ятайте, що рядки будуть Unicode в Python 3.0), а також підтримує :term:" +"`universal newlines`. :class:`TextIOBase` визначає метод :meth:`readline` і " +"підтримує ітерацію по об’єктах." + +msgid "" +"There are two concrete implementations. :class:`TextIOWrapper` wraps a " +"buffered I/O object, supporting all of the methods for text I/O and adding " +"a :attr:`buffer` attribute for access to the underlying object. :class:" +"`StringIO` simply buffers everything in memory without ever writing anything " +"to disk." +msgstr "" +"Є дві конкретні реалізації. :class:`TextIOWrapper` обгортає буферизований " +"об’єкт введення-виведення, підтримуючи всі методи текстового вводу-виводу та " +"додаючи атрибут :attr:`buffer` для доступу до основного об’єкта. :class:" +"`StringIO` просто буферизує все в пам’яті, не записуючи нічого на диск." + +msgid "" +"(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's " +"pretty slow. You should therefore stick with the existing :mod:`StringIO` " +"module or :mod:`cStringIO` for now. At some point Python 3.0's :mod:`io` " +"module will be rewritten into C for speed, and perhaps the C implementation " +"will be backported to the 2.x releases.)" +msgstr "" +"(У Python 2.6 :class:`io.StringIO` реалізовано на чистому Python, тому він " +"досить повільний. Тому наразі вам слід дотримуватися існуючого модуля :mod:" +"`StringIO` або :mod:`cStringIO`. вказуйте на те, що модуль Python 3.0 :mod:" +"`io` буде переписано на C для підвищення швидкості, і, можливо, реалізацію C " +"буде перенесено до випусків 2.x.)" + +msgid "" +"In Python 2.6, the underlying implementations haven't been restructured to " +"build on top of the :mod:`io` module's classes. The module is being " +"provided to make it easier to write code that's forward-compatible with 3.0, " +"and to save developers the effort of writing their own implementations of " +"buffering and text I/O." +msgstr "" +"У Python 2.6 базові реалізації не були реструктуризовані для створення " +"поверх класів модуля :mod:`io`. Модуль надається, щоб спростити написання " +"коду, сумісного з версією 3.0, і позбавити розробників від зусиль написання " +"власних реалізацій буферизації та текстового введення-виведення." + +msgid ":pep:`3116` - New I/O" +msgstr ":pep:`3116` - Новий I/O" + +msgid "" +"PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. Code by " +"Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " +"Löwis, Tony Lownds, and others." +msgstr "" +"PEP, написаний Даніелем Штуцбахом, Майком Вердоне та Гвідо ван Россумом. Код " +"Гвідо ван Россума, Георга Брандла, Уолтера Доервальда, Джеремі Гілтона, " +"Мартіна фон Льовіса, Тоні Лоундса та інших." + +msgid "PEP 3118: Revised Buffer Protocol" +msgstr "PEP 3118: Переглянутий буферний протокол" + +msgid "" +"The buffer protocol is a C-level API that lets Python types exchange " +"pointers into their internal representations. A memory-mapped file can be " +"viewed as a buffer of characters, for example, and this lets another module " +"such as :mod:`re` treat memory-mapped files as a string of characters to be " +"searched." +msgstr "" +"Буферний протокол — це API рівня C, який дозволяє типам Python обмінюватися " +"покажчиками на свої внутрішні представлення. Файл із відображенням пам’яті " +"можна розглядати, наприклад, як буфер символів, і це дозволяє іншому модулю, " +"такому як :mod:`re` розглядати файли, відображені в пам’яті, як рядок " +"символів для пошуку." + +msgid "" +"The primary users of the buffer protocol are numeric-processing packages " +"such as NumPy, which expose the internal representation of arrays so that " +"callers can write data directly into an array instead of going through a " +"slower API. This PEP updates the buffer protocol in light of experience " +"from NumPy development, adding a number of new features such as indicating " +"the shape of an array or locking a memory region." +msgstr "" +"Основними користувачами протоколу буфера є пакети числової обробки, такі як " +"NumPy, які відкривають внутрішнє представлення масивів, щоб абоненти могли " +"записувати дані безпосередньо в масив замість використання повільнішого API. " +"Цей PEP оновлює протокол буфера в світлі досвіду розробки NumPy, додаючи ряд " +"нових функцій, таких як вказівка форми масиву або блокування області пам’яті." + +msgid "" +"The most important new C API function is ``PyObject_GetBuffer(PyObject *obj, " +"Py_buffer *view, int flags)``, which takes an object and a set of flags, and " +"fills in the ``Py_buffer`` structure with information about the object's " +"memory representation. Objects can use this operation to lock memory in " +"place while an external caller could be modifying the contents, so there's a " +"corresponding ``PyBuffer_Release(Py_buffer *view)`` to indicate that the " +"external caller is done." +msgstr "" +"Найважливішою новою функцією C API є ``PyObject_GetBuffer(PyObject *obj, " +"Py_buffer *view, int flags)``, яка приймає об’єкт і набір прапорів і " +"заповнює структуру ``Py_buffer`` інформацією про представлення пам'яті " +"об'єкта. Об’єкти можуть використовувати цю операцію для блокування пам’яті " +"на місці, поки зовнішній виклик може модифікувати вміст, тому існує " +"відповідний ``PyBuffer_Release(Py_buffer *view)``, щоб вказати, що зовнішній " +"виклик завершив роботу." + +msgid "" +"The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints " +"upon the memory returned. Some examples are:" +msgstr "" +"Аргумент *flags* для :c:func:`PyObject_GetBuffer` визначає обмеження щодо " +"пам’яті, що повертається. Деякі приклади:" + +msgid ":const:`PyBUF_WRITABLE` indicates that the memory must be writable." +msgstr "" +":const:`PyBUF_WRITABLE` вказує, що пам'ять має бути доступною для запису." + +msgid "" +":const:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." +msgstr "" +":const:`PyBUF_LOCK` запитує блокування пам'яті лише для читання або " +"виключного блокування." + +msgid "" +":const:`PyBUF_C_CONTIGUOUS` and :const:`PyBUF_F_CONTIGUOUS` requests a C-" +"contiguous (last dimension varies the fastest) or Fortran-contiguous (first " +"dimension varies the fastest) array layout." +msgstr "" +":const:`PyBUF_C_CONTIGUOUS` і :const:`PyBUF_F_CONTIGUOUS` запитує C-суміжний " +"(останній вимір змінюється найшвидше) або Fortran-суміжний (перший вимір " +"змінюється найшвидше) макет масиву." + +msgid "" +"Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, " +"return locked buffer objects for a parameter." +msgstr "" +"Два нові коди аргументів для :c:func:`PyArg_ParseTuple`, ``s*`` і ``z*`` " +"повертають заблоковані об’єкти буфера для параметра." + +msgid ":pep:`3118` - Revising the buffer protocol" +msgstr ":pep:`3118` - Перегляд буферного протоколу" + +msgid "" +"PEP written by Travis Oliphant and Carl Banks; implemented by Travis " +"Oliphant." +msgstr "" +"PEP, написаний Тревісом Оліфантом і Карлом Бенксом; реалізований Тревісом " +"Оліфантом." + +msgid "PEP 3119: Abstract Base Classes" +msgstr "PEP 3119: Абстрактні базові класи" + +msgid "" +"Some object-oriented languages such as Java support interfaces, declaring " +"that a class has a given set of methods or supports a given access " +"protocol. Abstract Base Classes (or ABCs) are an equivalent feature for " +"Python. The ABC support consists of an :mod:`abc` module containing a " +"metaclass called :class:`ABCMeta`, special handling of this metaclass by " +"the :func:`isinstance` and :func:`issubclass` builtins, and a collection of " +"basic ABCs that the Python developers think will be widely useful. Future " +"versions of Python will probably add more ABCs." +msgstr "" +"Деякі об'єктно-орієнтовані мови, такі як Java, підтримують інтерфейси, " +"декларуючи, що клас має заданий набір методів або підтримує певний протокол " +"доступу. Абстрактні базові класи (або ABC) є еквівалентною функцією для " +"Python. Підтримка ABC складається з модуля :mod:`abc`, який містить метаклас " +"під назвою :class:`ABCMeta`, спеціальну обробку цього метакласу вбудованими " +"модулями :func:`isinstance` і :func:`issubclass`, а також колекцію основні " +"азбуки, які, на думку розробників Python, будуть широко корисними. Майбутні " +"версії Python, ймовірно, додадуть більше азбуки." + +msgid "" +"Let's say you have a particular class and wish to know whether it supports " +"dictionary-style access. The phrase \"dictionary-style\" is vague, however. " +"It probably means that accessing items with ``obj[1]`` works. Does it imply " +"that setting items with ``obj[2] = value`` works? Or that the object will " +"have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about " +"the iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:" +"`update`? Iterating over the object with :func:`iter`?" +msgstr "" +"Припустімо, у вас є певний клас і ви бажаєте знати, чи підтримує він доступ " +"у стилі словника. Проте фраза \"словниковий стиль\" розпливчаста. Можливо, " +"це означає, що доступ до елементів за допомогою ``obj[1]`` працює. Чи " +"означає це, що встановлення елементів за допомогою ``obj[2] = value`` " +"працює? Або що об’єкт матиме методи :meth:`keys`, :meth:`values` і :meth:" +"`items`? А як щодо ітеративних варіантів, таких як :meth:`iterkeys`? :meth:" +"`copy` і :meth:`update`? Ітерація об’єкта за допомогою :func:`iter`?" + +msgid "" +"The Python 2.6 :mod:`collections` module includes a number of different ABCs " +"that represent these distinctions. :class:`Iterable` indicates that a class " +"defines :meth:`__iter__`, and :class:`Container` means the class defines a :" +"meth:`__contains__` method and therefore supports ``x in y`` expressions. " +"The basic dictionary interface of getting items, setting items, and :meth:" +"`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:" +"`MutableMapping` ABC." +msgstr "" +"Модуль Python 2.6 :mod:`collections` містить кілька різних азбуки, які " +"представляють ці відмінності. :class:`Iterable` вказує, що клас визначає :" +"meth:`__iter__`, а :class:`Container` означає, що клас визначає метод :meth:" +"`__contains__` і тому підтримує вирази ``x в y``. Базовий інтерфейс словника " +"для отримання елементів, налаштування елементів і :meth:`keys`, :meth:" +"`values` і :meth:`items` визначається :class:`MutableMapping` ABC." + +msgid "" +"You can derive your own classes from a particular ABC to indicate they " +"support that ABC's interface::" +msgstr "" +"Ви можете вивести власні класи з конкретного ABC, щоб вказати, що вони " +"підтримують цей інтерфейс ABC:" + +msgid "" +"Alternatively, you could write the class without deriving from the desired " +"ABC and instead register the class by calling the ABC's :meth:`register` " +"method::" +msgstr "" +"Крім того, ви можете написати клас, не виходячи з бажаного ABC, а замість " +"цього зареєструвати клас, викликавши метод :meth:`register` ABC::" + +msgid "" +"For classes that you write, deriving from the ABC is probably clearer. The :" +"meth:`register` method is useful when you've written a new ABC that can " +"describe an existing type or class, or if you want to declare that some " +"third-party class implements an ABC. For example, if you defined a :class:" +"`PrintableType` ABC, it's legal to do::" +msgstr "" +"Для класів, які ви пишете, виведення з ABC, ймовірно, більш зрозуміле. " +"Метод :meth:`register` корисний, коли ви написали новий ABC, який може " +"описати існуючий тип або клас, або якщо ви хочете оголосити, що якийсь " +"сторонній клас реалізує ABC. Наприклад, якщо ви визначили :class:" +"`PrintableType` ABC, це законно:" + +msgid "" +"Classes should obey the semantics specified by an ABC, but Python can't " +"check this; it's up to the class author to understand the ABC's requirements " +"and to implement the code accordingly." +msgstr "" +"Класи повинні підкорятися семантиці, визначеній ABC, але Python не може " +"перевірити це; автор класу повинен зрозуміти вимоги ABC і відповідним чином " +"реалізувати код." + +msgid "" +"To check whether an object supports a particular interface, you can now " +"write::" +msgstr "" +"Щоб перевірити, чи підтримує об’єкт певний інтерфейс, тепер можна написати::" + +msgid "" +"Don't feel that you must now begin writing lots of checks as in the above " +"example. Python has a strong tradition of duck-typing, where explicit type-" +"checking is never done and code simply calls methods on an object, trusting " +"that those methods will be there and raising an exception if they aren't. " +"Be judicious in checking for ABCs and only do it where it's absolutely " +"necessary." +msgstr "" +"Не думайте, що вам потрібно починати виписувати багато чеків, як у " +"наведеному вище прикладі. Python має сильну традицію качиного введення, коли " +"явна перевірка типу ніколи не виконується, а код просто викликає методи " +"об’єкта, вірячи, що ці методи будуть присутні, і створює виняток, якщо їх " +"немає. Будьте розсудливими, перевіряючи наявність азбуки, і робіть це лише " +"там, де це абсолютно необхідно." + +msgid "" +"You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a " +"class definition::" +msgstr "" +"Ви можете написати власні азбуки, використовуючи ``abc.ABCMeta`` як метаклас " +"у визначенні класу:" + +msgid "" +"In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " +"the object at twice its size and can be implemented in terms of other " +"methods described in :class:`Drawable`. Classes implementing this ABC " +"therefore don't need to provide their own implementation of :meth:" +"`draw_doubled`, though they can do so. An implementation of :meth:`draw` is " +"necessary, though; the ABC can't provide a useful generic implementation." +msgstr "" +"У :class:`Drawable` ABC вище метод :meth:`draw_doubled` відтворює об’єкт у " +"удвічі більшому розмірі та може бути реалізований у термінах інших методів, " +"описаних у :class:`Drawable`. Тому класам, що реалізують цей ABC, не " +"потрібно надавати власну реалізацію :meth:`draw_doubled`, хоча вони можуть " +"це зробити. Однак реалізація :meth:`draw` необхідна; ABC не може забезпечити " +"корисну загальну реалізацію." + +msgid "" +"You can apply the ``@abstractmethod`` decorator to methods such as :meth:" +"`draw` that must be implemented; Python will then raise an exception for " +"classes that don't define the method. Note that the exception is only raised " +"when you actually try to create an instance of a subclass lacking the " +"method::" +msgstr "" +"Ви можете застосувати декоратор ``@abstractmethod`` до таких методів, як :" +"meth:`draw`, які повинні бути реалізовані; Потім Python викличе виняток для " +"класів, які не визначають метод. Зауважте, що виняток виникає лише тоді, " +"коли ви фактично намагаєтеся створити екземпляр підкласу без методу::" + +msgid "" +"Abstract data attributes can be declared using the ``@abstractproperty`` " +"decorator::" +msgstr "" +"Атрибути абстрактних даних можна оголосити за допомогою декоратора " +"``@abstractproperty``::" + +msgid "Subclasses must then define a :meth:`readonly` property." +msgstr "Тоді підкласи повинні визначати властивість :meth:`readonly`." + +msgid ":pep:`3119` - Introducing Abstract Base Classes" +msgstr ":pep:`3119` - Представляємо абстрактні базові класи" + +msgid "" +"PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. " +"Backported to 2.6 by Benjamin Aranguren, with Alex Martelli." +msgstr "" +"PEP, написаний Гвідо ван Россумом і Таліном. Реалізовано Гвідо ван Россумом. " +"Перенесено до 2.6 Бенджаміном Арангуреном разом з Алексом Мартеллі." + +msgid "PEP 3127: Integer Literal Support and Syntax" +msgstr "PEP 3127: Підтримка цілочисельного літералу та синтаксис" + +msgid "" +"Python 3.0 changes the syntax for octal (base-8) integer literals, prefixing " +"them with \"0o\" or \"0O\" instead of a leading zero, and adds support for " +"binary (base-2) integer literals, signalled by a \"0b\" or \"0B\" prefix." +msgstr "" +"Python 3.0 змінює синтаксис для вісімкових (за основою 8) цілих літералів, " +"додаючи до них префікс \"0o\" або \"0O\" замість початкового нуля, і додає " +"підтримку двійкових (за основою 2) цілих літералів, що позначаються \"0b\" " +"або префікс \"0B\"." + +msgid "" +"Python 2.6 doesn't drop support for a leading 0 signalling an octal number, " +"but it does add support for \"0o\" and \"0b\"::" +msgstr "" +"Python 2.6 не припиняє підтримку початкового 0, що сигналізує про вісімкове " +"число, але додає підтримку \"0o\" і \"0b\"::" + +msgid "" +"The :func:`oct` builtin still returns numbers prefixed with a leading zero, " +"and a new :func:`bin` builtin returns the binary representation for a " +"number::" +msgstr "" +"Вбудована функція :func:`oct` все ще повертає числа з префіксом нуля на " +"початку, а нова вбудована функція :func:`bin` повертає двійкове " +"представлення числа::" + +msgid "" +"The :func:`int` and :func:`long` builtins will now accept the \"0o\" and \"0b" +"\" prefixes when base-8 or base-2 are requested, or when the *base* argument " +"is zero (signalling that the base used should be determined from the " +"string)::" +msgstr "" +"Вбудовані модулі :func:`int` і :func:`long` тепер прийматимуть префікси \"0o" +"\" і \"0b\", коли надсилається запит base-8 або base-2 або коли аргумент " +"*base* дорівнює нулю (сигналізуючи про те, що використовувану базу слід " +"визначати з рядка)::" + +msgid ":pep:`3127` - Integer Literal Support and Syntax" +msgstr ":pep:`3127` - Підтримка цілочисельного літералу та синтаксис" + +msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." +msgstr "PEP, написаний Патріком Мопіном; повернуто до 2.6 Еріком Смітом." + +msgid "PEP 3129: Class Decorators" +msgstr "PEP 3129: Декоратори класу" + +msgid "" +"Decorators have been extended from functions to classes. It's now legal to " +"write::" +msgstr "Декоратори були розширені з функцій до класів. Тепер можна писати::" + +msgid "This is equivalent to::" +msgstr "Це еквівалентно::" + +msgid ":pep:`3129` - Class Decorators" +msgstr ":pep:`3129` - Декоратори класу" + +msgid "PEP written by Collin Winter." +msgstr "PEP, автор Колін Вінтер." + +msgid "PEP 3141: A Type Hierarchy for Numbers" +msgstr "PEP 3141: Ієрархія типів чисел" + +msgid "" +"Python 3.0 adds several abstract base classes for numeric types inspired by " +"Scheme's numeric tower. These classes were backported to 2.6 as the :mod:" +"`numbers` module." +msgstr "" +"Python 3.0 додає кілька абстрактних базових класів для числових типів, " +"натхненних числовою вежею Scheme. Ці класи було перенесено до версії 2.6 як " +"модуль :mod:`numbers`." + +msgid "" +"The most general ABC is :class:`Number`. It defines no operations at all, " +"and only exists to allow checking if an object is a number by doing " +"``isinstance(obj, Number)``." +msgstr "" +"Найбільш загальна ABC – це :class:`Number`. Він не визначає жодних операцій " +"і існує лише для того, щоб дозволити перевірити, чи є об’єкт числом, " +"виконавши ``isinstance(obj, Number)``." + +msgid "" +":class:`Complex` is a subclass of :class:`Number`. Complex numbers can " +"undergo the basic operations of addition, subtraction, multiplication, " +"division, and exponentiation, and you can retrieve the real and imaginary " +"parts and obtain a number's conjugate. Python's built-in complex type is an " +"implementation of :class:`Complex`." +msgstr "" +":class:`Complex` є підкласом :class:`Number`. З комплексними числами можна " +"виконувати основні операції додавання, віднімання, множення, ділення та " +"піднесення до степеня, і ви можете отримати дійсну та уявну частини та " +"отримати сполучене число. Вбудований комплексний тип Python є реалізацією :" +"class:`Complex`." + +msgid "" +":class:`Real` further derives from :class:`Complex`, and adds operations " +"that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, " +"taking the remainder mod N, floor division, and comparisons." +msgstr "" +":class:`Real` далі походить від :class:`Complex` і додає операції, які " +"працюють лише з дійсними числами: :func:`floor`, :func:`trunc`, округлення, " +"отримання залишку за модулем N, поверхове ділення , і порівняння." + +msgid "" +":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` " +"and :attr:`denominator` properties, and can be converted to floats. Python " +"2.6 adds a simple rational-number class, :class:`Fraction`, in the :mod:" +"`fractions` module. (It's called :class:`Fraction` instead of :class:" +"`Rational` to avoid a name clash with :class:`numbers.Rational`.)" +msgstr "" +":class:`Rational` числа походять від :class:`Real`, мають властивості :attr:" +"`numerator` і :attr:`denominator` і можуть бути перетворені на числа з " +"плаваючою точкою. Python 2.6 додає простий клас раціональних чисел, :class:" +"`Fraction`, у модуль :mod:`fractions`. (Це називається :class:`Fraction` " +"замість :class:`Rational`, щоб уникнути зіткнення назв із :class:`numbers." +"Rational`.)" + +msgid "" +":class:`Integral` numbers derive from :class:`Rational`, and can be shifted " +"left and right with ``<<`` and ``>>``, combined using bitwise operations " +"such as ``&`` and ``|``, and can be used as array indexes and slice " +"boundaries." +msgstr "" +":class:`Integral` числа походять від :class:`Rational` і можуть бути зсунуті " +"ліворуч і праворуч за допомогою ``<<`` and ``>>``, поєднані за допомогою " +"побітових операцій, таких як ``&`` і ``|``, і можна використовувати як " +"індекси масиву та межі зрізів." + +msgid "" +"In Python 3.0, the PEP slightly redefines the existing builtins :func:" +"`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, :func:" +"`math.trunc`, that's been backported to Python 2.6. :func:`math.trunc` " +"rounds toward zero, returning the closest :class:`Integral` that's between " +"the function's argument and zero." +msgstr "" +"У Python 3.0 PEP дещо перевизначає існуючі вбудовані функції :func:`round`, :" +"func:`math.floor`, :func:`math.ceil` і додає нову, :func:`math.trunc` , який " +"було перенесено на Python 2.6. :func:`math.trunc` округляє до нуля, " +"повертаючи найближчий :class:`Integral`, який знаходиться між аргументом " +"функції та нулем." + +msgid ":pep:`3141` - A Type Hierarchy for Numbers" +msgstr ":pep:`3141` - Ієрархія типів для чисел" + +msgid "PEP written by Jeffrey Yasskin." +msgstr "PEP, написаний Джеффрі Яскіним." + +msgid "" +"`Scheme's numerical tower `__, from the Guile manual." +msgstr "" +"`Числова вежа схеми `__, з посібника Guile." + +msgid "" +"`Scheme's number datatypes `__ from the R5RS Scheme specification." +msgstr "" + +msgid "The :mod:`fractions` Module" +msgstr "Модуль :mod:`fractions`" + +msgid "" +"To fill out the hierarchy of numeric types, the :mod:`fractions` module " +"provides a rational-number class. Rational numbers store their values as a " +"numerator and denominator forming a fraction, and can exactly represent " +"numbers such as ``2/3`` that floating-point numbers can only approximate." +msgstr "" +"Щоб заповнити ієрархію числових типів, модуль :mod:`fractions` надає клас " +"раціональних чисел. Раціональні числа зберігають свої значення як чисельник " +"і знаменник, утворюючи дріб, і можуть точно представляти числа, такі як " +"``2/3``, які числа з плаваючою комою можуть лише приблизно оцінити." + +msgid "" +"The :class:`Fraction` constructor takes two :class:`Integral` values that " +"will be the numerator and denominator of the resulting fraction. ::" +msgstr "" +"Конструктор :class:`Fraction` приймає два значення :class:`Integral`, які " +"будуть чисельником і знаменником отриманого дробу. ::" + +msgid "" +"For converting floating-point numbers to rationals, the float type now has " +"an :meth:`as_integer_ratio()` method that returns the numerator and " +"denominator for a fraction that evaluates to the same floating-point value::" +msgstr "" +"Для перетворення чисел з плаваючою комою на раціональні числа тип float " +"тепер має метод :meth:`as_integer_ratio()`, який повертає чисельник і " +"знаменник для дробу, який має однакове значення з плаваючою комою:" + +msgid "" +"Note that values that can only be approximated by floating-point numbers, " +"such as 1./3, are not simplified to the number being approximated; the " +"fraction attempts to match the floating-point value **exactly**." +msgstr "" +"Зауважте, що значення, які можна апроксимувати лише числами з плаваючою " +"комою, наприклад 1./3, не спрощуються до числа, яке апроксимується; дріб " +"намагається **точно** збігатися зі значенням з плаваючою комою." + +msgid "" +"The :mod:`fractions` module is based upon an implementation by Sjoerd " +"Mullender that was in Python's :file:`Demo/classes/` directory for a long " +"time. This implementation was significantly updated by Jeffrey Yasskin." +msgstr "" +"Модуль :mod:`fractions` базується на реалізації Sjoerd Mullender, яка довгий " +"час була в каталозі :file:`Demo/classes/` Python. Ця реалізація була значно " +"оновлена Джеффрі Яскіним." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"Directories and zip archives containing a :file:`__main__.py` file can now " +"be executed directly by passing their name to the interpreter. The directory " +"or zip archive is automatically inserted as the first entry in sys.path. " +"(Suggestion and initial patch by Andy Chu, subsequently revised by Phillip " +"J. Eby and Nick Coghlan; :issue:`1739468`.)" +msgstr "" +"Каталоги та zip-архіви, що містять файл :file:`__main__.py`, тепер можна " +"виконувати безпосередньо, передавши їх імена інтерпретатору. Каталог або zip-" +"архів автоматично вставляється як перший запис у sys.path. (Пропозиція та " +"початковий патч Енді Чу, згодом переглянуті Філіпом Дж. Ебі та Ніком " +"Когланом; :issue:`1739468`.)" + +msgid "" +"The :func:`hasattr` function was catching and ignoring all errors, under the " +"assumption that they meant a :meth:`__getattr__` method was failing somehow " +"and the return value of :func:`hasattr` would therefore be ``False``. This " +"logic shouldn't be applied to :exc:`KeyboardInterrupt` and :exc:" +"`SystemExit`, however; Python 2.6 will no longer discard such exceptions " +"when :func:`hasattr` encounters them. (Fixed by Benjamin Peterson; :issue:" +"`2196`.)" +msgstr "" +"Функція :func:`hasattr` виловлювала та ігнорувала всі помилки, припускаючи, " +"що вони означають, що метод :meth:`__getattr__` якимось чином не працює, і " +"значення, яке повертає :func:`hasattr`, буде ``False``. Однак цю логіку не " +"слід застосовувати до :exc:`KeyboardInterrupt` і :exc:`SystemExit`; Python " +"2.6 більше не відкидає такі винятки, коли :func:`hasattr` зустрічає їх. " +"(Виправлено Бенджаміном Петерсоном; :issue:`2196`.)" + +msgid "" +"When calling a function using the ``**`` syntax to provide keyword " +"arguments, you are no longer required to use a Python dictionary; any " +"mapping will now work::" +msgstr "" +"Під час виклику функції за допомогою синтаксису ``**`` для надання ключових " +"аргументів вам більше не потрібно використовувати словник Python; будь-яке " +"відображення тепер працюватиме::" + +msgid "(Contributed by Alexander Belopolsky; :issue:`1686487`.)" +msgstr "(Надав Олександр Бєлопольський; :issue:`1686487`.)" + +msgid "" +"It's also become legal to provide keyword arguments after a ``*args`` " +"argument to a function call. ::" +msgstr "" +"Також стало законним надавати аргументи ключового слова після аргументу " +"``*args`` для виклику функції. ::" + +msgid "" +"Previously this would have been a syntax error. (Contributed by Amaury " +"Forgeot d'Arc; :issue:`3473`.)" +msgstr "" +"Раніше це була синтаксична помилка. (Надав Аморі Форже д'Арк; :issue:`3473`.)" + +msgid "" +"A new builtin, ``next(iterator, [default])`` returns the next item from the " +"specified iterator. If the *default* argument is supplied, it will be " +"returned if *iterator* has been exhausted; otherwise, the :exc:" +"`StopIteration` exception will be raised. (Backported in :issue:`2719`.)" +msgstr "" +"Нова вбудована функція ``next(iterator, [default])`` повертає наступний " +"елемент із зазначеного ітератора. Якщо вказано аргумент *default*, він буде " +"повернений, якщо *iterator* вичерпано; інакше буде викликано виняток :exc:" +"`StopIteration`. (Бекпортовано в :issue:`2719`.)" + +msgid "" +"Tuples now have :meth:`index` and :meth:`count` methods matching the list " +"type's :meth:`index` and :meth:`count` methods::" +msgstr "" +"Кортежі тепер мають методи :meth:`index` і :meth:`count`, що відповідають " +"методам :meth:`index` і :meth:`count` типу списку:" + +msgid "(Contributed by Raymond Hettinger)" +msgstr "(Надав Реймонд Геттінгер)" + +msgid "" +"The built-in types now have improved support for extended slicing syntax, " +"accepting various combinations of ``(start, stop, step)``. Previously, the " +"support was partial and certain corner cases wouldn't work. (Implemented by " +"Thomas Wouters.)" +msgstr "" +"Вбудовані типи тепер мають покращену підтримку розширеного синтаксису " +"нарізки, приймаючи різні комбінації ``(початок, зупинка, крок)``. Раніше " +"підтримка була частковою, і певні кутові випадки не працювали. (Реалізовано " +"Томасом Воутерсом.)" + +msgid "" +"Properties now have three attributes, :attr:`getter`, :attr:`setter` and :" +"attr:`deleter`, that are decorators providing useful shortcuts for adding a " +"getter, setter or deleter function to an existing property. You would use " +"them like this::" +msgstr "" +"Властивості тепер мають три атрибути, :attr:`getter`, :attr:`setter` і :attr:" +"`deleter`, які є декораторами, що надають корисні ярлики для додавання " +"функції отримання, налаштування або видалення до існуючої властивості. Ви б " +"використали їх так::" + +msgid "" +"Several methods of the built-in set types now accept multiple iterables: :" +"meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:" +"`update`, :meth:`difference` and :meth:`difference_update`." +msgstr "" +"Кілька методів вбудованих типів наборів тепер приймають кілька ітерацій: :" +"meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:" +"`update`, :meth:`difference` і :meth:`difference_update`." + +msgid "(Contributed by Raymond Hettinger.)" +msgstr "(Надав Реймонд Геттінгер.)" + +msgid "" +"Many floating-point features were added. The :func:`float` function will " +"now turn the string ``nan`` into an IEEE 754 Not A Number value, and ``" +"+inf`` and ``-inf`` into positive or negative infinity. This works on any " +"platform with IEEE 754 semantics. (Contributed by Christian Heimes; :issue:" +"`1635`.)" +msgstr "" +"Було додано багато функцій з плаваючою комою. Функція :func:`float` тепер " +"перетворить рядок ``nan`` на значення IEEE 754 Not A Number, а ``+inf`` і ``-" +"inf`` на позитивну або негативну нескінченність. Це працює на будь-якій " +"платформі із семантикою IEEE 754. (Надав Крістіан Хаймес; :issue:`1635`.)" + +msgid "" +"Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, " +"return true if their floating-point argument is infinite or Not A Number. (:" +"issue:`1640`)" +msgstr "" +"Інші функції в модулі :mod:`math`, :func:`isinf` і :func:`isnan`, повертають " +"істину, якщо їхній аргумент із плаваючою комою є нескінченним або не є " +"числом. (:issue:`1640`)" + +msgid "" +"Conversion functions were added to convert floating-point numbers into " +"hexadecimal strings (:issue:`3008`). These functions convert floats to and " +"from a string representation without introducing rounding errors from the " +"conversion between decimal and binary. Floats have a :meth:`hex` method " +"that returns a string representation, and the ``float.fromhex()`` method " +"converts a string back into a number::" +msgstr "" +"Було додано функції перетворення для перетворення чисел з плаваючою комою в " +"шістнадцяткові рядки (:issue:`3008`). Ці функції перетворюють числа з " +"плаваючою точкою в рядкове представлення та з нього, не вводячи помилок " +"округлення через перетворення між десятковим і двійковим. Поплавки мають " +"метод :meth:`hex`, який повертає представлення рядка, а метод ``float." +"fromhex()`` перетворює рядок назад у число::" + +msgid "" +"A numerical nicety: when creating a complex number from two floats on " +"systems that support signed zeros (-0 and +0), the :func:`complex` " +"constructor will now preserve the sign of the zero. (Fixed by Mark T. " +"Dickinson; :issue:`1507`.)" +msgstr "" +"Числова тонкість: під час створення комплексного числа з двох чисел з " +"плаваючою точкою в системах, які підтримують нулі зі знаком (-0 і +0), " +"конструктор :func:`complex` тепер збереже знак нуля. (Виправлено Марком Т. " +"Дікінсоном; :issue:`1507`.)" + +msgid "" +"Classes that inherit a :meth:`__hash__` method from a parent class can set " +"``__hash__ = None`` to indicate that the class isn't hashable. This will " +"make ``hash(obj)`` raise a :exc:`TypeError` and the class will not be " +"indicated as implementing the :class:`Hashable` ABC." +msgstr "" +"Класи, які успадковують метод :meth:`__hash__` від батьківського класу, " +"можуть встановити ``__hash__ = None``, щоб вказати, що клас не можна " +"хешувати. Це змусить ``hash(obj)`` викликати :exc:`TypeError` і клас не буде " +"вказано як реалізований :class:`Hashable` ABC." + +msgid "" +"You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` " +"method that compares objects by their value rather than by identity. All " +"objects have a default hash method that uses ``id(obj)`` as the hash value. " +"There's no tidy way to remove the :meth:`__hash__` method inherited from a " +"parent class, so assigning ``None`` was implemented as an override. At the " +"C level, extensions can set ``tp_hash`` to :c:func:" +"`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury Forgeot " +"d'Arc; :issue:`2235`.)" +msgstr "" +"Ви повинні зробити це, коли ви визначили метод :meth:`__cmp__` або :meth:" +"`__eq__`, який порівнює об’єкти за їх значенням, а не за ідентичністю. Усі " +"об’єкти мають хеш-метод за замовчуванням, який використовує ``id(obj)`` як " +"хеш-значення. Немає простого способу видалити метод :meth:`__hash__`, " +"успадкований від батьківського класу, тому призначення ``None`` було " +"реалізовано як перевизначення. На рівні C розширення можуть встановити " +"``tp_hash`` на :c:func:`PyObject_HashNotImplemented`. (Виправлено Ніком " +"Когланом і Аморі Форже д'Арк; :issue:`2235`.)" + +msgid "" +"The :exc:`GeneratorExit` exception now subclasses :exc:`BaseException` " +"instead of :exc:`Exception`. This means that an exception handler that does " +"``except Exception:`` will not inadvertently catch :exc:`GeneratorExit`. " +"(Contributed by Chad Austin; :issue:`1537`.)" +msgstr "" +"Виняток :exc:`GeneratorExit` тепер є підкласами :exc:`BaseException` " +"замість :exc:`Exception`. Це означає, що обробник винятків, який виконує " +"``except Exception:``, не буде випадково перехоплювати :exc:`GeneratorExit`. " +"(Надав Чед Остін; :issue:`1537`.)" + +msgid "" +"Generator objects now have a :attr:`gi_code` attribute that refers to the " +"original code object backing the generator. (Contributed by Collin Winter; :" +"issue:`1473257`.)" +msgstr "" +"Об’єкти генератора тепер мають атрибут :attr:`gi_code`, який посилається на " +"оригінальний об’єкт коду, що підтримує генератор. (Надав Колін Вінтер; :" +"issue:`1473257`.)" + +msgid "" +"The :func:`compile` built-in function now accepts keyword arguments as well " +"as positional parameters. (Contributed by Thomas Wouters; :issue:`1444529`.)" +msgstr "" +"Вбудована функція :func:`compile` тепер приймає аргументи ключових слів, а " +"також позиційні параметри. (Надав Томас Воутерс; :issue:`1444529`.)" + +msgid "" +"The :func:`complex` constructor now accepts strings containing parenthesized " +"complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip " +"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). (:" +"issue:`1491866`)" +msgstr "" +"Конструктор :func:`complex` тепер приймає рядки, що містять комплексні числа " +"в круглих дужках, що означає, що ``complex(repr(cplx))`` тепер передаватиме " +"значення. Наприклад, ``complex('(3+4j)')`` тепер повертає значення (3+4j). (:" +"issue:`1491866`)" + +msgid "" +"The string :meth:`translate` method now accepts ``None`` as the translation " +"table parameter, which is treated as the identity transformation. This " +"makes it easier to carry out operations that only delete characters. " +"(Contributed by Bengt Richter and implemented by Raymond Hettinger; :issue:" +"`1193128`.)" +msgstr "" +"Метод string :meth:`translate` тепер приймає ``None`` як параметр таблиці " +"перекладу, який розглядається як трансформація ідентичності. Це полегшує " +"виконання операцій, які видаляють лише символи. (Надано Бенгтом Ріхтером і " +"реалізовано Раймондом Геттінгером; :issue:`1193128`.)" + +msgid "" +"The built-in :func:`dir` function now checks for a :meth:`__dir__` method on " +"the objects it receives. This method must return a list of strings " +"containing the names of valid attributes for the object, and lets the object " +"control the value that :func:`dir` produces. Objects that have :meth:" +"`__getattr__` or :meth:`__getattribute__` methods can use this to advertise " +"pseudo-attributes they will honor. (:issue:`1591665`)" +msgstr "" +"Вбудована функція :func:`dir` тепер перевіряє наявність методу :meth:" +"`__dir__` для об’єктів, які вона отримує. Цей метод має повертати список " +"рядків, що містять назви дійсних атрибутів для об’єкта, і дозволяє об’єкту " +"контролювати значення, яке створює :func:`dir`. Об’єкти, які мають методи :" +"meth:`__getattr__` або :meth:`__getattribute__`, можуть використовувати це " +"для реклами псевдоатрибутів, які вони вважатимуть. (:issue:`1591665`)" + +msgid "" +"Instance method objects have new attributes for the object and function " +"comprising the method; the new synonym for :attr:`im_self` is :attr:" +"`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. The " +"old names are still supported in Python 2.6, but are gone in 3.0." +msgstr "" +"Об’єкти методу екземпляра мають нові атрибути для об’єкта та функції, що " +"включає метод; новий синонім :attr:`im_self` — :attr:`__self__`, а :attr:" +"`im_func` також доступний як :attr:`__func__`. Старі назви все ще " +"підтримуються в Python 2.6, але зникли в 3.0." + +msgid "" +"An obscure change: when you use the :func:`locals` function inside a :" +"keyword:`class` statement, the resulting dictionary no longer returns free " +"variables. (Free variables, in this case, are variables referenced in the :" +"keyword:`!class` statement that aren't attributes of the class.)" +msgstr "" +"Незрозуміла зміна: коли ви використовуєте функцію :func:`locals` всередині " +"оператора :keyword:`class`, отриманий словник більше не повертає вільні " +"змінні. (У цьому випадку вільні змінні — це змінні, на які посилається " +"оператор :keyword:`!class`, які не є атрибутами класу.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The :mod:`warnings` module has been rewritten in C. This makes it possible " +"to invoke warnings from the parser, and may also make the interpreter's " +"startup faster. (Contributed by Neal Norwitz and Brett Cannon; :issue:" +"`1631171`.)" +msgstr "" +"Модуль :mod:`warnings` було переписано мовою C. Це дає змогу викликати " +"попередження від аналізатора, а також може пришвидшити запуск " +"інтерпретатора. (Надано Нілом Норвітцем і Бреттом Кенноном; :issue:" +"`1631171`.)" + +msgid "" +"Type objects now have a cache of methods that can reduce the work required " +"to find the correct method implementation for a particular class; once " +"cached, the interpreter doesn't need to traverse base classes to figure out " +"the right method to call. The cache is cleared if a base class or the class " +"itself is modified, so the cache should remain correct even in the face of " +"Python's dynamic nature. (Original optimization implemented by Armin Rigo, " +"updated for Python 2.6 by Kevin Jacobs; :issue:`1700288`.)" +msgstr "" +"Об’єкти типу тепер мають кеш методів, що може зменшити роботу, необхідну для " +"пошуку правильної реалізації методу для певного класу; після кешування " +"інтерпретатору не потрібно проходити базові класи, щоб визначити правильний " +"метод для виклику. Кеш очищається, якщо базовий клас або сам клас змінено, " +"тому кеш має залишатися правильним навіть з огляду на динамічну природу " +"Python. (Оригінальна оптимізація реалізована Арміном Ріго, оновлена для " +"Python 2.6 Кевіном Джейкобсом; :issue:`1700288`.)" + +msgid "" +"By default, this change is only applied to types that are included with the " +"Python core. Extension modules may not necessarily be compatible with this " +"cache, so they must explicitly add :c:macro:`Py_TPFLAGS_HAVE_VERSION_TAG` to " +"the module's ``tp_flags`` field to enable the method cache. (To be " +"compatible with the method cache, the extension module's code must not " +"directly access and modify the ``tp_dict`` member of any of the types it " +"implements. Most modules don't do this, but it's impossible for the Python " +"interpreter to determine that. See :issue:`1878` for some discussion.)" +msgstr "" +"За замовчуванням ця зміна застосовується лише до типів, які входять до " +"складу ядра Python. Модулі розширення можуть не обов’язково бути сумісними з " +"цим кешем, тому вони повинні явно додати :c:macro:" +"`Py_TPFLAGS_HAVE_VERSION_TAG` до поля ``tp_flags`` модуля, щоб увімкнути кеш " +"методів. (Щоб бути сумісним із кешем методів, код модуля розширення не " +"повинен напряму отримувати доступ до члена ``tp_dict`` будь-якого з типів, " +"які він реалізує, і змінювати його. Більшість модулів цього не роблять, але " +"інтерпретатор Python не може визначте це. Перегляньте :issue:`1878` для " +"деякого обговорення.)" + +msgid "" +"Function calls that use keyword arguments are significantly faster by doing " +"a quick pointer comparison, usually saving the time of a full string " +"comparison. (Contributed by Raymond Hettinger, after an initial " +"implementation by Antoine Pitrou; :issue:`1819`.)" +msgstr "" +"Виклики функцій, які використовують ключові аргументи, значно пришвидшуються " +"завдяки швидкому порівнянню вказівників, що зазвичай економить час на повне " +"порівняння рядків. (Надано Реймондом Геттінгером, після початкової " +"реалізації Антуаном Пітру; :issue:`1819`.)" + +msgid "" +"All of the functions in the :mod:`struct` module have been rewritten in C, " +"thanks to work at the Need For Speed sprint. (Contributed by Raymond " +"Hettinger.)" +msgstr "" +"Усі функції в модулі :mod:`struct` були переписані мовою C завдяки роботі " +"над спринтом Need For Speed. (Надав Реймонд Геттінгер.)" + +msgid "" +"Some of the standard built-in types now set a bit in their type objects. " +"This speeds up checking whether an object is a subclass of one of these " +"types. (Contributed by Neal Norwitz.)" +msgstr "" +"Деякі зі стандартних вбудованих типів тепер встановлюють біт у своїх " +"об’єктах типу. Це прискорює перевірку того, чи є об’єкт підкласом одного з " +"цих типів. (Надав Ніл Норвіц.)" + +msgid "" +"Unicode strings now use faster code for detecting whitespace and line " +"breaks; this speeds up the :meth:`split` method by about 25% and :meth:" +"`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is " +"reduced by using pymalloc for the Unicode string's data." +msgstr "" +"Рядки Unicode тепер використовують швидший код для виявлення пробілів і " +"розривів рядків; це прискорює метод :meth:`split` приблизно на 25% і :meth:" +"`splitlines` на 35%. (Надано Антуаном Пітру.) Використання пам’яті " +"зменшується завдяки використанню pymalloc для даних рядка Unicode." + +msgid "" +"The ``with`` statement now stores the :meth:`__exit__` method on the stack, " +"producing a small speedup. (Implemented by Jeffrey Yasskin.)" +msgstr "" +"Оператор ``with`` тепер зберігає метод :meth:`__exit__` у стеку, створюючи " +"невелике прискорення. (Реалізовано Джеффрі Яскіним.)" + +msgid "" +"To reduce memory usage, the garbage collector will now clear internal free " +"lists when garbage-collecting the highest generation of objects. This may " +"return memory to the operating system sooner." +msgstr "" +"Щоб зменшити використання пам’яті, збирач сміття тепер очищатиме внутрішні " +"вільні списки під час збирання сміття найвищого покоління об’єктів. Це може " +"швидше повернути пам’ять операційній системі." + +msgid "Interpreter Changes" +msgstr "Зміни перекладача" + +msgid "" +"Two command-line options have been reserved for use by other Python " +"implementations. The :option:`-J` switch has been reserved for use by " +"Jython for Jython-specific options, such as switches that are passed to the " +"underlying JVM. :option:`-X` has been reserved for options specific to a " +"particular implementation of Python such as CPython, Jython, or IronPython. " +"If either option is used with Python 2.6, the interpreter will report that " +"the option isn't currently used." +msgstr "" +"Два параметри командного рядка були зарезервовані для використання іншими " +"реалізаціями Python. Перемикач :option:`-J` було зарезервовано для " +"використання Jython для параметрів Jython, таких як перемикачі, які " +"передаються базовій JVM. :option:`-X` було зарезервовано для параметрів, " +"специфічних для конкретної реалізації Python, наприклад CPython, Jython або " +"IronPython. Якщо будь-яка з опцій використовується з Python 2.6, " +"інтерпретатор повідомить, що ця опція наразі не використовується." + +msgid "" +"Python can now be prevented from writing :file:`.pyc` or :file:`.pyo` files " +"by supplying the :option:`-B` switch to the Python interpreter, or by " +"setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable before " +"running the interpreter. This setting is available to Python programs as " +"the ``sys.dont_write_bytecode`` variable, and Python code can change the " +"value to modify the interpreter's behaviour. (Contributed by Neal Norwitz " +"and Georg Brandl.)" +msgstr "" +"Тепер Python можна заборонити записувати файли :file:`.pyc` або :file:`." +"pyo`, вказавши перемикач :option:`-B` інтерпретатору Python або налаштувавши " +"середовище :envvar:`PYTHONDONTWRITEBYTECODE` перед запуском інтерпретатора. " +"Цей параметр доступний для програм Python як змінна ``sys." +"dont_write_bytecode``, і код Python може змінити значення, щоб змінити " +"поведінку інтерпретатора. (Надано Нілом Норвітцем і Георгом Брандлом.)" + +msgid "" +"The encoding used for standard input, output, and standard error can be " +"specified by setting the :envvar:`PYTHONIOENCODING` environment variable " +"before running the interpreter. The value should be a string in the form " +"```` or ``:``. The *encoding* part " +"specifies the encoding's name, e.g. ``utf-8`` or ``latin-1``; the optional " +"*errorhandler* part specifies what to do with characters that can't be " +"handled by the encoding, and should be one of \"error\", \"ignore\", or " +"\"replace\". (Contributed by Martin von Löwis.)" +msgstr "" +"Кодування, що використовується для стандартного введення, виведення та " +"стандартної помилки, можна вказати, встановивши змінну середовища :envvar:" +"`PYTHONIOENCODING` перед запуском інтерпретатора. Значення має бути рядком у " +"формі ```` або `` : ``. Частина *encoding* " +"визначає назву кодування, напр. ``utf-8`` або ``latin-1``; необов’язкова " +"частина *errorhandler* визначає, що робити з символами, які не можуть бути " +"оброблені кодуванням, і має бути одним із \"помилка\", \"ігнорувати\" або " +"\"замінити\". (Надав Мартін фон Льовіс.)" + +msgid "New and Improved Modules" +msgstr "Нові та вдосконалені модулі" + +msgid "" +"As in every release, Python's standard library received a number of " +"enhancements and bug fixes. Here's a partial list of the most notable " +"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS` " +"file in the source tree for a more complete list of changes, or look through " +"the Subversion logs for all the details." +msgstr "" +"Як і в кожному випуску, стандартна бібліотека Python отримала низку " +"вдосконалень і виправлень помилок. Ось неповний список найбільш помітних " +"змін, відсортованих за алфавітом назв модулів. Зверніться до файлу :file:" +"`Misc/NEWS` у дереві вихідних кодів, щоб отримати більш повний список змін, " +"або перегляньте журнали Subversion, щоб отримати всі деталі." + +msgid "" +"The :mod:`asyncore` and :mod:`asynchat` modules are being actively " +"maintained again, and a number of patches and bugfixes were applied. " +"(Maintained by Josiah Carlson; see :issue:`1736190` for one patch.)" +msgstr "" +"Модулі :mod:`asyncore` і :mod:`asynchat` знову активно обслуговуються, і " +"було застосовано ряд патчів і виправлень помилок. (Підтримується Josiah " +"Carlson; див. :issue:`1736190` для одного патча.)" + +msgid "" +"The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the " +"package is now available as a standalone package. The web page for the " +"package is `www.jcea.es/programacion/pybsddb.htm `__. The plan is to remove the package from the " +"standard library in Python 3.0, because its pace of releases is much more " +"frequent than Python's." +msgstr "" +"Модуль :mod:`bsddb` також має новий супроводжувач, Jesús Cea Avión, і пакет " +"тепер доступний як окремий пакет. Веб-сторінка пакета – `www.jcea.es/" +"programacion/pybsddb.htm `__. " +"Планується видалити пакет зі стандартної бібліотеки Python 3.0, оскільки " +"його випуски виходять набагато частіше, ніж у Python." + +msgid "" +"The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol " +"available, instead of restricting itself to protocol 1. (Contributed by W. " +"Barnes.)" +msgstr "" +"Модуль :mod:`bsddb.dbshelve` тепер використовує найвищий доступний протокол " +"травлення, замість того, щоб обмежуватися протоколом 1. (Надано W. Barnes.)" + +msgid "" +"The :mod:`cgi` module will now read variables from the query string of an " +"HTTP POST request. This makes it possible to use form actions with URLs " +"that include query strings such as \"/cgi-bin/add.py?category=1\". " +"(Contributed by Alexandre Fiori and Nubis; :issue:`1817`.)" +msgstr "" +"Модуль :mod:`cgi` тепер читатиме змінні з рядка запиту запиту HTTP POST. Це " +"дає змогу використовувати дії форми з URL-адресами, які містять рядки " +"запиту, такі як \"/cgi-bin/add.py?category=1\". (Надано Александром Фіорі та " +"Nubis; :issue:`1817`.)" + +msgid "" +"The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated " +"from the :mod:`cgi` module to the :mod:`urlparse` module. The versions still " +"available in the :mod:`cgi` module will trigger :exc:" +"`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." +msgstr "" +"Функції :func:`parse_qs` і :func:`parse_qsl` було переміщено з модуля :mod:" +"`cgi` до модуля :mod:`urlparse`. Версії, які все ще доступні в модулі :mod:" +"`cgi`, запускатимуть повідомлення :exc:`PendingDeprecationWarning` у 2.6 (:" +"issue:`600362`)." + +msgid "" +"The :mod:`cmath` module underwent extensive revision, contributed by Mark " +"Dickinson and Christian Heimes. Five new functions were added:" +msgstr "" +"Модуль :mod:`cmath` зазнав значної редакції, внесеної Марком Дікінсоном і " +"Крістіаном Хеймсом. Додано п'ять нових функцій:" + +msgid "" +":func:`polar` converts a complex number to polar form, returning the modulus " +"and argument of the complex number." +msgstr "" +":func:`polar` перетворює комплексне число на полярну форму, повертаючи " +"модуль і аргумент комплексного числа." + +msgid "" +":func:`rect` does the opposite, turning a modulus, argument pair back into " +"the corresponding complex number." +msgstr "" +":func:`rect` робить навпаки, перетворюючи модуль, пару аргументів назад у " +"відповідне комплексне число." + +msgid "" +":func:`phase` returns the argument (also called the angle) of a complex " +"number." +msgstr "" +":func:`phase` повертає аргумент (також званий кутом) комплексного числа." + +msgid "" +":func:`isnan` returns True if either the real or imaginary part of its " +"argument is a NaN." +msgstr "" +":func:`isnan` повертає True, якщо дійсна чи уявна частина його аргументу є " +"NaN." + +msgid "" +":func:`isinf` returns True if either the real or imaginary part of its " +"argument is infinite." +msgstr "" +":func:`isinf` повертає True, якщо дійсна чи уявна частина аргументу " +"нескінченна." + +msgid "" +"The revisions also improved the numerical soundness of the :mod:`cmath` " +"module. For all functions, the real and imaginary parts of the results are " +"accurate to within a few units of least precision (ulps) whenever possible. " +"See :issue:`1381` for the details. The branch cuts for :func:`asinh`, :func:" +"`atanh`: and :func:`atan` have also been corrected." +msgstr "" +"Ревізії також покращили чисельну надійність модуля :mod:`cmath`. Для всіх " +"функцій дійсна та уявна частини результатів мають точність у межах кількох " +"одиниць найменшої точності (ulps), коли це можливо. Докладніше див. :issue:" +"`1381`. Також було виправлено скорочення гілок для :func:`asinh`, :func:" +"`atanh`: і :func:`atan`." + +msgid "" +"The tests for the module have been greatly expanded; nearly 2000 new test " +"cases exercise the algebraic functions." +msgstr "" +"Значно розширено тести для модуля; Майже 2000 нових тестів використовують " +"алгебраїчні функції." + +msgid "" +"On IEEE 754 platforms, the :mod:`cmath` module now handles IEEE 754 special " +"values and floating-point exceptions in a manner consistent with Annex 'G' " +"of the C99 standard." +msgstr "" +"На платформах IEEE 754 модуль :mod:`cmath` тепер обробляє спеціальні " +"значення IEEE 754 і винятки з плаваючою комою відповідно до додатку 'G' " +"стандарту C99." + +msgid "" +"A new data type in the :mod:`collections` module: :class:" +"`namedtuple(typename, fieldnames)` is a factory function that creates " +"subclasses of the standard tuple whose fields are accessible by name as well " +"as index. For example::" +msgstr "" +"Новий тип даних у модулі :mod:`collections`: :class:`namedtuple(typename, " +"fieldnames)` — це фабрична функція, яка створює підкласи стандартного " +"кортежу, поля якого доступні як за іменем, так і за індексом. Наприклад::" + +msgid "" +"Several places in the standard library that returned tuples have been " +"modified to return :class:`namedtuple` instances. For example, the :meth:" +"`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`, :attr:" +"`digits`, and :attr:`exponent` fields." +msgstr "" +"Кілька місць у стандартній бібліотеці, які повертали кортежі, було змінено, " +"щоб повертати екземпляри :class:`namedtuple`. Наприклад, метод :meth:" +"`Decimal.as_tuple` тепер повертає іменований кортеж із полями :attr:`sign`, :" +"attr:`digits` і :attr:`exponent`." + +msgid "" +"Another change to the :mod:`collections` module is that the :class:`deque` " +"type now supports an optional *maxlen* parameter; if supplied, the deque's " +"size will be restricted to no more than *maxlen* items. Adding more items " +"to a full deque causes old items to be discarded." +msgstr "" +"Ще одна зміна в модулі :mod:`collections` полягає в тому, що тип :class:" +"`deque` тепер підтримує додатковий параметр *maxlen*; якщо надано, розмір " +"дек буде обмежено не більше ніж *maxlen* елементів. Додавання більшої " +"кількості предметів до повного ряду спричиняє відкидання старих предметів." + +msgid "" +"The :mod:`Cookie` module's :class:`Morsel` objects now support an :attr:" +"`httponly` attribute. In some browsers. cookies with this attribute set " +"cannot be accessed or manipulated by JavaScript code. (Contributed by Arvin " +"Schnell; :issue:`1638033`.)" +msgstr "" +"Об’єкти :class:`Morsel` модуля :mod:`Cookie` тепер підтримують атрибут :attr:" +"`httponly`. У деяких браузерах. до файлів cookie з цим набором атрибутів " +"неможливо отримати доступ або маніпулювати кодом JavaScript. (Надав Арвін " +"Шнелл; :issue:`1638033`.)" + +msgid "" +"A new window method in the :mod:`curses` module, :meth:`chgat`, changes the " +"display attributes for a certain number of characters on a single line. " +"(Contributed by Fabian Kreutz.)" +msgstr "" +"Новий метод вікна в модулі :mod:`curses`, :meth:`chgat`, змінює атрибути " +"відображення для певної кількості символів в одному рядку. (Надав Фабіан " +"Кройц.)" + +msgid "" +"The :class:`Textbox` class in the :mod:`curses.textpad` module now supports " +"editing in insert mode as well as overwrite mode. Insert mode is enabled by " +"supplying a true value for the *insert_mode* parameter when creating the :" +"class:`Textbox` instance." +msgstr "" +"Клас :class:`Textbox` у модулі :mod:`curses.textpad` тепер підтримує " +"редагування в режимі вставки, а також режимі перезапису. Режим вставки " +"вмикається шляхом надання дійсного значення для параметра *insert_mode* під " +"час створення екземпляра :class:`Textbox`." + +msgid "" +"The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` " +"format code that expands to the number of microseconds in the object, zero-" +"padded on the left to six places. (Contributed by Skip Montanaro; :issue:" +"`1158`.)" +msgstr "" +"Методи :meth:`strftime` модуля :mod:`datetime` тепер підтримують код формату " +"``%f``, який розширюється до кількості мікросекунд в об’єкті, з доповненням " +"нуля зліва до шести позицій. (Надав Скіп Монтанаро; :issue:`1158`.)" + +msgid "" +"The :mod:`decimal` module was updated to version 1.66 of `the General " +"Decimal Specification `__. " +"New features include some methods for some basic mathematical functions such " +"as :meth:`exp` and :meth:`log10`::" +msgstr "" + +msgid "" +"The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named " +"tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." +msgstr "" +"Метод :meth:`as_tuple` об’єктів :class:`Decimal` тепер повертає іменований " +"кортеж із полями :attr:`sign`, :attr:`digits` і :attr:`exponent`." + +msgid "" +"(Implemented by Facundo Batista and Mark Dickinson. Named tuple support " +"added by Raymond Hettinger.)" +msgstr "" +"(Реалізовано Факундо Батістою та Марком Дікінсоном. Підтримку іменованих " +"кортежів додав Реймонд Геттінгер.)" + +msgid "" +"The :mod:`difflib` module's :class:`SequenceMatcher` class now returns named " +"tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` " +"attributes. (Contributed by Raymond Hettinger.)" +msgstr "" +"Клас :class:`SequenceMatcher` модуля :mod:`difflib` тепер повертає іменовані " +"кортежі, що представляють збіги, з атрибутами :attr:`a`, :attr:`b` і :attr:" +"`size`. (Надав Реймонд Геттінгер.)" + +msgid "" +"An optional ``timeout`` parameter, specifying a timeout measured in seconds, " +"was added to the :class:`ftplib.FTP` class constructor as well as the :meth:" +"`connect` method. (Added by Facundo Batista.) Also, the :class:`FTP` " +"class's :meth:`storbinary` and :meth:`storlines` now take an optional " +"*callback* parameter that will be called with each block of data after the " +"data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)" +msgstr "" +"До конструктора класу :class:`ftplib.FTP`, а також методу :meth:`connect` " +"було додано необов’язковий параметр ``timeout``, який визначає час " +"очікування в секундах. (Додано Факундо Батіста.) Крім того, :meth:" +"`storbinary` і :meth:`storlines` класу :class:`FTP` тепер приймають " +"необов’язковий параметр *callback*, який буде викликатися з кожним блоком " +"даних після даних був відправлений. (Надав Філ Шварц; :issue:`1221598`.)" + +msgid "" +"The :func:`reduce` built-in function is also available in the :mod:" +"`functools` module. In Python 3.0, the builtin has been dropped and :func:" +"`reduce` is only available from :mod:`functools`; currently there are no " +"plans to drop the builtin in the 2.x series. (Patched by Christian Heimes; :" +"issue:`1739906`.)" +msgstr "" +"Вбудована функція :func:`reduce` також доступна в модулі :mod:`functools`. У " +"Python 3.0 вбудований компонент було видалено, і :func:`reduce` доступний " +"лише з :mod:`functools`; наразі немає планів відмовлятися від вбудованої " +"версії 2.x. (Виправлено Крістіаном Хеймсом; :issue:`1739906`.)" + +msgid "" +"When possible, the :mod:`getpass` module will now use :file:`/dev/tty` to " +"print a prompt message and read the password, falling back to standard error " +"and standard input. If the password may be echoed to the terminal, a " +"warning is printed before the prompt is displayed. (Contributed by Gregory " +"P. Smith.)" +msgstr "" +"Коли це можливо, модуль :mod:`getpass` тепер використовуватиме :file:`/dev/" +"tty` для друку підказки та читання пароля, повертаючись до стандартної " +"помилки та стандартного введення. Якщо пароль може відтворюватися на " +"терміналі, перед відображенням підказки друкується попередження. (Надав " +"Грегорі П. Сміт.)" + +msgid "" +"The :func:`glob.glob` function can now return Unicode filenames if a Unicode " +"path was used and Unicode filenames are matched within the directory. (:" +"issue:`1001604`)" +msgstr "" +"Функція :func:`glob.glob` тепер може повертати назви файлів у кодуванні " +"Unicode, якщо було використано шлях у кодуванні Unicode і назви файлів у " +"кодуванні Unicode збігаються в каталозі. (:issue:`1001604`)" + +msgid "" +"A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``, " +"takes any number of iterables returning data in sorted order, and returns a " +"new generator that returns the contents of all the iterators, also in sorted " +"order. For example::" +msgstr "" +"Нова функція в модулі :mod:`heapq`, ``merge(iter1, iter2, ...)``, приймає " +"будь-яку кількість ітерацій, які повертають дані в порядку сортування, і " +"повертає новий генератор, який повертає вміст усіх ітератори, також у " +"відсортованому порядку. Наприклад::" + +msgid "" +"Another new function, ``heappushpop(heap, item)``, pushes *item* onto " +"*heap*, then pops off and returns the smallest item. This is more efficient " +"than making a call to :func:`heappush` and then :func:`heappop`." +msgstr "" +"Інша нова функція, ``heappushpop(heap, item)``, надсилає *item* на *heap*, " +"потім виривається та повертає найменший елемент. Це ефективніше, ніж виклик :" +"func:`heappush`, а потім :func:`heappop`." + +msgid "" +":mod:`heapq` is now implemented to only use less-than comparison, instead of " +"the less-than-or-equal comparison it previously used. This makes :mod:" +"`heapq`'s usage of a type match the :meth:`list.sort` method. (Contributed " +"by Raymond Hettinger.)" +msgstr "" +":mod:`heapq` тепер реалізовано для використання лише порівняння менше ніж, " +"замість порівняння менше або рівно, яке використовувалося раніше. Завдяки " +"цьому використання типу :mod:`heapq` відповідає методу :meth:`list.sort`. " +"(Надав Реймонд Геттінгер.)" + +msgid "" +"An optional ``timeout`` parameter, specifying a timeout measured in seconds, " +"was added to the :class:`httplib.HTTPConnection` and :class:" +"`HTTPSConnection` class constructors. (Added by Facundo Batista.)" +msgstr "" +"До конструкторів класів :class:`httplib.HTTPConnection` і :class:" +"`HTTPSConnection` було додано необов’язковий параметр ``timeout``, який " +"визначає час очікування в секундах. (Додав Факундо Батіста.)" + +msgid "" +"Most of the :mod:`inspect` module's functions, such as :func:`getmoduleinfo` " +"and :func:`getargs`, now return named tuples. In addition to behaving like " +"tuples, the elements of the return value can also be accessed as " +"attributes. (Contributed by Raymond Hettinger.)" +msgstr "" +"Більшість функцій модуля :mod:`inspect`, наприклад :func:`getmoduleinfo` і :" +"func:`getargs`, тепер повертають іменовані кортежі. Окрім того, що вони " +"ведуть себе як кортежі, до елементів значення, що повертається, також можна " +"отримати доступ як до атрибутів. (Надав Реймонд Геттінгер.)" + +msgid "" +"Some new functions in the module include :func:`isgenerator`, :func:" +"`isgeneratorfunction`, and :func:`isabstract`." +msgstr "" +"Деякі нові функції в модулі включають :func:`isgenerator`, :func:" +"`isgeneratorfunction` і :func:`isabstract`." + +msgid "The :mod:`itertools` module gained several new functions." +msgstr "Модуль :mod:`itertools` отримав кілька нових функцій." + +msgid "" +"``izip_longest(iter1, iter2, ...[, fillvalue])`` makes tuples from each of " +"the elements; if some of the iterables are shorter than others, the missing " +"values are set to *fillvalue*. For example::" +msgstr "" +"``izip_longest(iter1, iter2, ...[, fillvalue])`` створює кортежі з кожного з " +"елементів; якщо деякі з ітерацій коротші за інші, відсутні значення " +"встановлюються як *fillvalue*. Наприклад::" + +msgid "" +"``product(iter1, iter2, ..., [repeat=N])`` returns the Cartesian product of " +"the supplied iterables, a set of tuples containing every possible " +"combination of the elements returned from each iterable. ::" +msgstr "" +"``product(iter1, iter2, ..., [repeat=N])`` повертає декартовий добуток " +"наданих ітераторів, набір кортежів, що містить усі можливі комбінації " +"елементів, що повертаються з кожного ітератора. ::" + +msgid "" +"The optional *repeat* keyword argument is used for taking the product of an " +"iterable or a set of iterables with themselves, repeated *N* times. With a " +"single iterable argument, *N*-tuples are returned::" +msgstr "" +"Необов’язковий аргумент ключового слова *repeat* використовується для взяття " +"продукту iterable або набору iterables із собою, повторюваних *N* разів. З " +"одним ітерованим аргументом повертаються *N*-кортежі::" + +msgid "With two iterables, *2N*-tuples are returned. ::" +msgstr "З двома ітераціями повертаються *2N*-кортежі. ::" + +msgid "" +"``combinations(iterable, r)`` returns sub-sequences of length *r* from the " +"elements of *iterable*. ::" +msgstr "" +"``combinations(iterable, r)`` повертає підпослідовності довжиною *r* з " +"елементів *iterable*. ::" + +msgid "" +"``permutations(iter[, r])`` returns all the permutations of length *r* of " +"the iterable's elements. If *r* is not specified, it will default to the " +"number of elements produced by the iterable. ::" +msgstr "" +"``permutations(iter[, r])`` повертає всі перестановки довжиною *r* елементів " +"iterable. Якщо *r* не вказано, за замовчуванням використовуватиметься " +"кількість елементів, створених iterable. ::" + +msgid "" +"``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` " +"that gained a new constructor in Python 2.6. ``itertools.chain." +"from_iterable(iterable)`` takes a single iterable that should return other " +"iterables. :func:`chain` will then return all the elements of the first " +"iterable, then all the elements of the second, and so on. ::" +msgstr "" +"``itertools.chain(*iterables)`` — це існуюча функція в :mod:`itertools`, яка " +"отримала новий конструктор у Python 2.6. ``itertools.chain." +"from_iterable(iterable)`` приймає один ітератор, який має повертати інші " +"ітератори. :func:`chain` потім поверне всі елементи першого ітератора, потім " +"усі елементи другого і так далі. ::" + +msgid "(All contributed by Raymond Hettinger.)" +msgstr "(Усі внесено Реймондом Геттінгером.)" + +msgid "" +"The :mod:`logging` module's :class:`FileHandler` class and its subclasses :" +"class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and :class:" +"`TimedRotatingFileHandler` now have an optional *delay* parameter to their " +"constructors. If *delay* is true, opening of the log file is deferred until " +"the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)" +msgstr "" +"Клас :class:`FileHandler` модуля :mod:`logging` і його підкласи :class:" +"`WatchedFileHandler`, :class:`RotatingFileHandler` і :class:" +"`TimedRotatingFileHandler` тепер мають додатковий параметр *delay* для своїх " +"конструкторів . Якщо *delay* має значення true, відкриття файлу журналу " +"відкладено до першого виклику :meth:`emit`. (Надав Віней Саджип.)" + +msgid "" +":class:`TimedRotatingFileHandler` also has a *utc* constructor parameter. " +"If the argument is true, UTC time will be used in determining when midnight " +"occurs and in generating filenames; otherwise local time will be used." +msgstr "" +":class:`TimedRotatingFileHandler` також має параметр конструктора *utc*. " +"Якщо аргумент істинний, час UTC використовуватиметься для визначення часу " +"настання опівночі та для створення назв файлів; інакше використовуватиметься " +"місцевий час." + +msgid "Several new functions were added to the :mod:`math` module:" +msgstr "До модуля :mod:`math` додано кілька нових функцій:" + +msgid "" +":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float " +"is a (positive or negative) infinity or a NaN (Not a Number), respectively." +msgstr "" +":func:`~math.isinf` і :func:`~math.isnan` визначають, чи є даний float " +"нескінченністю (позитивною чи від’ємною) чи NaN (не числом) відповідно." + +msgid "" +":func:`~math.copysign` copies the sign bit of an IEEE 754 number, returning " +"the absolute value of *x* combined with the sign bit of *y*. For example, " +"``math.copysign(1, -0.0)`` returns -1.0. (Contributed by Christian Heimes.)" +msgstr "" +":func:`~math.copysign` копіює знаковий біт числа IEEE 754, повертаючи " +"абсолютне значення *x* у поєднанні зі знаковим бітом *y*. Наприклад, ``math." +"copysign(1, -0.0)`` повертає -1.0. (Надано Крістіаном Хеймсом.)" + +msgid "" +":func:`~math.factorial` computes the factorial of a number. (Contributed by " +"Raymond Hettinger; :issue:`2138`.)" +msgstr "" +":func:`~math.factorial` обчислює факториал числа. (Надав Реймонд Геттінгер; :" +"issue:`2138`.)" + +msgid "" +":func:`~math.fsum` adds up the stream of numbers from an iterable, and is " +"careful to avoid loss of precision through using partial sums. (Contributed " +"by Jean Brouwers, Raymond Hettinger, and Mark Dickinson; :issue:`2819`.)" +msgstr "" +":func:`~math.fsum` додає потік чисел із ітерованого об’єкта та обережно, щоб " +"уникнути втрати точності через використання часткових сум. (Надано Жаном " +"Брауерсом, Реймондом Геттінгером і Марком Дікінсоном; :issue:`2819`.)" + +msgid "" +":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the " +"inverse hyperbolic functions." +msgstr "" +":func:`~math.acosh`, :func:`~math.asinh` і :func:`~math.atanh` обчислюють " +"обернені гіперболічні функції." + +msgid ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)." +msgstr "" +":func:`~math.log1p` повертає натуральний логарифм *1+x* (за основою *e*)." + +msgid "" +":func:`trunc` rounds a number toward zero, returning the closest :class:" +"`Integral` that's between the function's argument and zero. Added as part of " +"the backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__." +msgstr "" +":func:`trunc` округлює число до нуля, повертаючи найближчий :class:" +"`Integral`, який знаходиться між аргументом функції та нулем. Додано як " +"частину бекпорту `ієрархії типів PEP 3141 для номерів <#pep-3141>`__." + +msgid "" +"The :mod:`math` module has been improved to give more consistent behaviour " +"across platforms, especially with respect to handling of floating-point " +"exceptions and IEEE 754 special values." +msgstr "" +"Модуль :mod:`math` було покращено, щоб забезпечити більш узгоджену поведінку " +"на різних платформах, особливо щодо обробки винятків із плаваючою комою та " +"спеціальних значень IEEE 754." + +msgid "" +"Whenever possible, the module follows the recommendations of the C99 " +"standard about 754's special values. For example, ``sqrt(-1.)`` should now " +"give a :exc:`ValueError` across almost all platforms, while " +"``sqrt(float('NaN'))`` should return a NaN on all IEEE 754 platforms. Where " +"Annex 'F' of the C99 standard recommends signaling 'divide-by-zero' or " +"'invalid', Python will raise :exc:`ValueError`. Where Annex 'F' of the C99 " +"standard recommends signaling 'overflow', Python will raise :exc:" +"`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" +msgstr "" +"За можливості модуль дотримується рекомендацій стандарту C99 щодо " +"спеціальних значень 754. Наприклад, ``sqrt(-1.)`` тепер має видавати :exc:" +"`ValueError` майже на всіх платформах, тоді як ``sqrt(float('NaN'))`` має " +"повертати NaN на всіх IEEE 754 платформи. Там, де Додаток \"F\" стандарту " +"C99 рекомендує сигналізувати \"ділить на нуль\" або \"недійсний\", Python " +"викличе :exc:`ValueError`. Там, де додаток \"F\" стандарту C99 рекомендує " +"сигналізувати \"переповнення\", Python викличе :exc:`OverflowError`. (Див. :" +"issue:`711019` і :issue:`1640`.)" + +msgid "(Contributed by Christian Heimes and Mark Dickinson.)" +msgstr "(Надано Крістіаном Хеймсом і Марком Дікінсоном.)" + +msgid "" +":class:`~mmap.mmap` objects now have a :meth:`rfind` method that searches " +"for a substring beginning at the end of the string and searching backwards. " +"The :meth:`find` method also gained an *end* parameter giving an index at " +"which to stop searching. (Contributed by John Lenton.)" +msgstr "" +"Об’єкти :class:`~mmap.mmap` тепер мають метод :meth:`rfind`, який шукає " +"підрядок, що починається в кінці рядка, і виконує пошук у зворотному " +"напрямку. Метод :meth:`find` також отримав параметр *end*, що вказує індекс, " +"на якому потрібно припинити пошук. (Надав Джон Лентон.)" + +msgid "" +"The :mod:`operator` module gained a :func:`methodcaller` function that takes " +"a name and an optional set of arguments, returning a callable that will call " +"the named function on any arguments passed to it. For example::" +msgstr "" +"Модуль :mod:`operator` отримав функцію :func:`methodcaller`, яка приймає " +"ім’я та необов’язковий набір аргументів, повертаючи виклик, який викликає " +"названу функцію за будь-якими переданими їй аргументами. Наприклад::" + +msgid "(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)" +msgstr "(Надав Георг Брандл за пропозицією Григорія Петросяна.)" + +msgid "" +"The :func:`attrgetter` function now accepts dotted names and performs the " +"corresponding attribute lookups::" +msgstr "" +"Функція :func:`attrgetter` тепер приймає імена з крапками та виконує " +"відповідні пошуки атрибутів:" + +msgid "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)" +msgstr "(Надано Георгом Брандлом за пропозицією Баррі Варшави.)" + +msgid "" +"The :mod:`os` module now wraps several new system calls. ``fchmod(fd, " +"mode)`` and ``fchown(fd, uid, gid)`` change the mode and ownership of an " +"opened file, and ``lchmod(path, mode)`` changes the mode of a symlink. " +"(Contributed by Georg Brandl and Christian Heimes.)" +msgstr "" +"Модуль :mod:`os` тепер обертає кілька нових системних викликів. ``fchmod(fd, " +"mode)`` і ``fchown(fd, uid, gid)`` змінюють режим і право власності на " +"відкритий файл, а ``lchmod(path, mode)`` змінює режим символічного " +"посилання . (Надано Георгом Брандлом і Крістіаном Хаймсом.)" + +msgid "" +":func:`chflags` and :func:`lchflags` are wrappers for the corresponding " +"system calls (where they're available), changing the flags set on a file. " +"Constants for the flag values are defined in the :mod:`stat` module; some " +"possible values include :const:`UF_IMMUTABLE` to signal the file may not be " +"changed and :const:`UF_APPEND` to indicate that data can only be appended to " +"the file. (Contributed by M. Levinson.)" +msgstr "" +":func:`chflags` і :func:`lchflags` є обгортками для відповідних системних " +"викликів (де вони доступні), змінюючи прапорці, встановлені для файлу. " +"Константи для значень прапорців визначені в модулі :mod:`stat`; деякі " +"можливі значення включають :const:`UF_IMMUTABLE`, щоб повідомити, що файл не " +"може бути змінено, і :const:`UF_APPEND`, щоб вказати, що дані можуть бути " +"лише додані до файлу. (Надав М. Левінсон.)" + +msgid "" +"``os.closerange(low, high)`` efficiently closes all file descriptors from " +"*low* to *high*, ignoring any errors and not including *high* itself. This " +"function is now used by the :mod:`subprocess` module to make starting " +"processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)" +msgstr "" +"``os.closerange(low, high)`` ефективно закриває всі файлові дескриптори від " +"*low* до *high*, ігноруючи будь-які помилки та не включаючи сам *high*. Ця " +"функція тепер використовується модулем :mod:`subprocess` для пришвидшення " +"запуску процесів. (Надав Георг Брандл; :issue:`1663329`.)" + +msgid "" +"The ``os.environ`` object's :meth:`clear` method will now unset the " +"environment variables using :func:`os.unsetenv` in addition to clearing the " +"object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)" +msgstr "" +"Метод :meth:`clear` об’єкта ``os.environ`` тепер скасовуватиме змінні " +"середовища за допомогою :func:`os.unsetenv` на додаток до очищення ключів " +"об’єкта. (Надав Martin Horcicka; :issue:`1181`.)" + +msgid "" +"The :func:`os.walk` function now has a ``followlinks`` parameter. If set to " +"True, it will follow symlinks pointing to directories and visit the " +"directory's contents. For backward compatibility, the parameter's default " +"value is false. Note that the function can fall into an infinite recursion " +"if there's a symlink that points to a parent directory. (:issue:`1273829`)" +msgstr "" +"Функція :func:`os.walk` тепер має параметр ``followlinks``. Якщо встановлено " +"значення True, він переходитиме за символічними посиланнями на каталоги та " +"відвідуватиме вміст каталогу. Для зворотної сумісності значення параметра за " +"замовчуванням — false. Зверніть увагу, що функція може впасти в нескінченну " +"рекурсію, якщо є символічне посилання, яке вказує на батьківський каталог. (:" +"issue:`1273829`)" + +msgid "" +"In the :mod:`os.path` module, the :func:`splitext` function has been changed " +"to not split on leading period characters. This produces better results when " +"operating on Unix's dot-files. For example, ``os.path.splitext('.ipython')`` " +"now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. (:issue:" +"`1115886`)" +msgstr "" +"У модулі :mod:`os.path` функцію :func:`splitext` було змінено так, що вона " +"не розділяється на початкові символи крапок. Це дає кращі результати під час " +"роботи з dot-файлами Unix. Наприклад, ``os.path.splitext('.ipython')`` тепер " +"повертає ``('.ipython', '')`` замість ``('', '.ipython')``. (:issue:" +"`1115886`)" + +msgid "" +"A new function, ``os.path.relpath(path, start='.')``, returns a relative " +"path from the ``start`` path, if it's supplied, or from the current working " +"directory to the destination ``path``. (Contributed by Richard Barran; :" +"issue:`1339796`.)" +msgstr "" +"Нова функція, ``os.path.relpath(path, start='.')``, повертає відносний шлях " +"від шляху ``start``, якщо він надається, або від поточного робочого каталогу " +"до пункту призначення ``шлях``. (Надав Річард Барран; :issue:`1339796`.)" + +msgid "" +"On Windows, :func:`os.path.expandvars` will now expand environment variables " +"given in the form \"%var%\", and \"~user\" will be expanded into the user's " +"home directory path. (Contributed by Josiah Carlson; :issue:`957650`.)" +msgstr "" +"У Windows :func:`os.path.expandvars` тепер розширюватиме змінні середовища, " +"подані у формі \"%var%\", а \"~user\" буде розгорнуто до шляху до домашнього " +"каталогу користувача. (Надав Джосія Карлсон; :issue:`957650`.)" + +msgid "" +"The Python debugger provided by the :mod:`pdb` module gained a new command: " +"\"run\" restarts the Python program being debugged and can optionally take " +"new command-line arguments for the program. (Contributed by Rocky " +"Bernstein; :issue:`1393667`.)" +msgstr "" +"Налагоджувач Python, наданий модулем :mod:`pdb`, отримав нову команду: " +"\"запустити\" перезапускає програму Python, яка налагоджується, і може " +"додатково приймати нові аргументи командного рядка для програми. (Надав " +"Роккі Бернштейн; :issue:`1393667`.)" + +msgid "" +"The :func:`pdb.post_mortem` function, used to begin debugging a traceback, " +"will now use the traceback returned by :func:`sys.exc_info` if no traceback " +"is supplied. (Contributed by Facundo Batista; :issue:`1106316`.)" +msgstr "" +"Функція :func:`pdb.post_mortem`, яка використовується для початку " +"налагодження зворотного відстеження, тепер використовуватиме відстеження, " +"яке повертає :func:`sys.exc_info`, якщо відстеження не надано. (Надав " +"Факундо Батіста; :issue:`1106316`.)" + +msgid "" +"The :mod:`pickletools` module now has an :func:`optimize` function that " +"takes a string containing a pickle and removes some unused opcodes, " +"returning a shorter pickle that contains the same data structure. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Модуль :mod:`pickletools` тепер має функцію :func:`optimize`, яка приймає " +"рядок, що містить pickle, і видаляє деякі невикористані коди операцій, " +"повертаючи коротший pickle, який містить ту саму структуру даних. (Надав " +"Реймонд Геттінгер.)" + +msgid "" +"A :func:`get_data` function was added to the :mod:`pkgutil` module that " +"returns the contents of resource files included with an installed Python " +"package. For example::" +msgstr "" +"До модуля :mod:`pkgutil` додано функцію :func:`get_data`, яка повертає вміст " +"файлів ресурсів, що входять до встановленого пакета Python. Наприклад::" + +msgid "(Contributed by Paul Moore; :issue:`2439`.)" +msgstr "(Надав Пол Мур; :issue:`2439`.)" + +msgid "" +"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their :" +"attr:`buffer_size` attribute to change the size of the buffer used to hold " +"character data. (Contributed by Achim Gaedke; :issue:`1137`.)" +msgstr "" +"Об’єкти :class:`Parser` модуля :mod:`pyexpat` тепер дозволяють установлювати " +"атрибут :attr:`buffer_size`, щоб змінити розмір буфера, який " +"використовується для зберігання символьних даних. (Надав Ахім Гаедке; :issue:" +"`1137`.)" + +msgid "" +"The :mod:`Queue` module now provides queue variants that retrieve entries in " +"different orders. The :class:`PriorityQueue` class stores queued items in a " +"heap and retrieves them in priority order, and :class:`LifoQueue` retrieves " +"the most recently added entries first, meaning that it behaves like a stack. " +"(Contributed by Raymond Hettinger.)" +msgstr "" +"Модуль :mod:`Queue` тепер надає варіанти черги, які отримують записи в " +"різному порядку. Клас :class:`PriorityQueue` зберігає елементи в черзі в " +"купі та отримує їх у порядку пріоритету, а :class:`LifoQueue` спочатку " +"отримує останні додані записи, тобто він поводиться як стек. (Надав Реймонд " +"Геттінгер.)" + +msgid "" +"The :mod:`random` module's :class:`Random` objects can now be pickled on a " +"32-bit system and unpickled on a 64-bit system, and vice versa. " +"Unfortunately, this change also means that Python 2.6's :class:`Random` " +"objects can't be unpickled correctly on earlier versions of Python. " +"(Contributed by Shawn Ligocki; :issue:`1727780`.)" +msgstr "" +"Об’єкти :class:`Random` модуля :mod:`random` тепер можна вибирати в 32-" +"бітній системі та скасовувати в 64-бітній системі, і навпаки. На жаль, ця " +"зміна також означає, що об’єкти :class:`Random` Python 2.6 не можна " +"правильно вилучити в попередніх версіях Python. (Надав Шон Лігокі; :issue:" +"`1727780`.)" + +msgid "" +"The new ``triangular(low, high, mode)`` function returns random numbers " +"following a triangular distribution. The returned values are between *low* " +"and *high*, not including *high* itself, and with *mode* as the most " +"frequently occurring value in the distribution. (Contributed by Wladmir van " +"der Laan and Raymond Hettinger; :issue:`1681432`.)" +msgstr "" +"Нова функція ``triangular(low, high, mode)`` повертає випадкові числа за " +"трикутним розподілом. Повернуті значення знаходяться в діапазоні від *low* " +"до *high*, не враховуючи самого *high*, і з *mode* як значенням, що " +"найчастіше зустрічається в розподілі. (Надано Володимиром ван дер Ланом і " +"Раймондом Геттінгером; :issue:`1681432`.)" + +msgid "" +"Long regular expression searches carried out by the :mod:`re` module will " +"check for signals being delivered, so time-consuming searches can now be " +"interrupted. (Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)" +msgstr "" +"Довгі пошуки регулярних виразів, які виконує модуль :mod:`re`, " +"перевірятимуть сигнали, які доставляються, тому трудомісткі пошуки тепер " +"можна перервати. (Надано Джошем Хойтом і Ральфом Шміттом; :issue:`846388`.)" + +msgid "" +"The regular expression module is implemented by compiling bytecodes for a " +"tiny regex-specific virtual machine. Untrusted code could create malicious " +"strings of bytecode directly and cause crashes, so Python 2.6 includes a " +"verifier for the regex bytecode. (Contributed by Guido van Rossum from work " +"for Google App Engine; :issue:`3487`.)" +msgstr "" +"Модуль регулярного виразу реалізовано шляхом компіляції байт-кодів для " +"крихітної віртуальної машини, специфічної для регулярного виразу. Ненадійний " +"код може безпосередньо створювати шкідливі рядки байт-коду та спричиняти " +"збої, тому Python 2.6 включає верифікатор для байт-коду регулярного виразу. " +"(Надано Гвідо ван Россумом із роботи в Google App Engine; :issue:`3487`.)" + +msgid "" +"The :mod:`rlcompleter` module's :meth:`Completer.complete()` method will now " +"ignore exceptions triggered while evaluating a name. (Fixed by Lorenz " +"Quack; :issue:`2250`.)" +msgstr "" +"Метод :meth:`Completer.complete()` модуля :mod:`rlcompleter` тепер " +"ігноруватиме винятки, викликані під час оцінювання імені. (Виправлено Lorenz " +"Quack; :issue:`2250`.)" + +msgid "" +"The :mod:`sched` module's :class:`scheduler` instances now have a read-only :" +"attr:`queue` attribute that returns the contents of the scheduler's queue, " +"represented as a list of named tuples with the fields ``(time, priority, " +"action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)" +msgstr "" +"Екземпляри :class:`scheduler` модуля :mod:`sched` тепер мають атрибут :attr:" +"`queue` лише для читання, який повертає вміст черги планувальника, " +"представлений у вигляді списку іменованих кортежів із полями ``( час, " +"пріоритет, дія, аргумент)``. (Надав Раймонд Геттінгер; :issue:`1861`.)" + +msgid "" +"The :mod:`select` module now has wrapper functions for the Linux :c:func:" +"`epoll` and BSD :c:func:`kqueue` system calls. :meth:`modify` method was " +"added to the existing :class:`poll` objects; ``pollobj.modify(fd, " +"eventmask)`` takes a file descriptor or file object and an event mask, " +"modifying the recorded event mask for that file. (Contributed by Christian " +"Heimes; :issue:`1657`.)" +msgstr "" +"Модуль :mod:`select` тепер має функції оболонки для системних викликів " +"Linux :c:func:`epoll` і BSD :c:func:`kqueue`. Метод :meth:`modify` додано до " +"існуючих об’єктів :class:`poll`; ``pollobj.modify(fd, eventmask)`` приймає " +"дескриптор файлу або файловий об'єкт і маску події, змінюючи записану маску " +"події для цього файлу. (Надав Крістіан Хаймес; :issue:`1657`.)" + +msgid "" +"The :func:`shutil.copytree` function now has an optional *ignore* argument " +"that takes a callable object. This callable will receive each directory " +"path and a list of the directory's contents, and returns a list of names " +"that will be ignored, not copied." +msgstr "" +"Функція :func:`shutil.copytree` тепер має додатковий аргумент *ignore*, який " +"приймає об’єкт, що викликається. Цей виклик отримає кожен шлях до каталогу " +"та список вмісту каталогу, а також поверне список імен, які будуть " +"проігноровані, не скопійовані." + +msgid "" +"The :mod:`shutil` module also provides an :func:`ignore_patterns` function " +"for use with this new parameter. :func:`ignore_patterns` takes an arbitrary " +"number of glob-style patterns and returns a callable that will ignore any " +"files and directories that match any of these patterns. The following " +"example copies a directory tree, but skips both :file:`.svn` directories and " +"Emacs backup files, which have names ending with '~'::" +msgstr "" +"Модуль :mod:`shutil` також надає функцію :func:`ignore_patterns` для " +"використання з цим новим параметром. :func:`ignore_patterns` приймає " +"довільну кількість шаблонів у стилі glob і повертає виклик, який " +"ігноруватиме будь-які файли та каталоги, що відповідають будь-якому з цих " +"шаблонів. У наступному прикладі копіюється дерево каталогів, але " +"пропускаються каталоги :file:`.svn` і резервні файли Emacs, імена яких " +"закінчуються на '~'::" + +msgid "(Contributed by Tarek Ziadé; :issue:`2663`.)" +msgstr "(Надав Тарек Зіаде; :issue:`2663`.)" + +msgid "" +"Integrating signal handling with GUI handling event loops like those used by " +"Tkinter or GTk+ has long been a problem; most software ends up polling, " +"waking up every fraction of a second to check if any GUI events have " +"occurred. The :mod:`signal` module can now make this more efficient. Calling " +"``signal.set_wakeup_fd(fd)`` sets a file descriptor to be used; when a " +"signal is received, a byte is written to that file descriptor. There's also " +"a C-level function, :c:func:`PySignal_SetWakeupFd`, for setting the " +"descriptor." +msgstr "" +"Інтеграція обробки сигналів із циклами обробки подій GUI, подібними до тих, " +"що використовуються Tkinter або GTk+, давно була проблемою; більшість " +"програм закінчується опитуванням, прокидаючись кожну частку секунди, щоб " +"перевірити, чи відбулися якісь події GUI. Модуль :mod:`signal` тепер може " +"зробити це ефективнішим. Виклик ``signal.set_wakeup_fd(fd)`` встановлює " +"дескриптор файлу для використання; коли сигнал отримано, байт записується в " +"цей файловий дескриптор. Існує також функція C-рівня, :c:func:" +"`PySignal_SetWakeupFd`, для встановлення дескриптора." + +msgid "" +"Event loops will use this by opening a pipe to create two descriptors, one " +"for reading and one for writing. The writable descriptor will be passed to :" +"func:`set_wakeup_fd`, and the readable descriptor will be added to the list " +"of descriptors monitored by the event loop via :c:func:`select` or :c:func:" +"`poll`. On receiving a signal, a byte will be written and the main event " +"loop will be woken up, avoiding the need to poll." +msgstr "" +"Цикли подій використовуватимуть це шляхом відкриття каналу для створення " +"двох дескрипторів, одного для читання та іншого для запису. Дескриптор, " +"доступний для запису, буде передано до :func:`set_wakeup_fd`, а дескриптор, " +"доступний для читання, буде додано до списку дескрипторів, які відстежуються " +"циклом подій через :c:func:`select` або :c:func:`poll`. Після отримання " +"сигналу буде записаний байт, і основний цикл подій буде активовано, уникаючи " +"необхідності опитування." + +msgid "(Contributed by Adam Olsen; :issue:`1583`.)" +msgstr "(Надав Адам Олсен; :issue:`1583`.)" + +msgid "" +"The :func:`siginterrupt` function is now available from Python code, and " +"allows changing whether signals can interrupt system calls or not. " +"(Contributed by Ralf Schmitt.)" +msgstr "" +"Функція :func:`siginterrupt` тепер доступна з коду Python і дозволяє " +"змінювати, чи можуть сигнали переривати системні виклики чи ні. (Надав Ральф " +"Шмітт.)" + +msgid "" +"The :func:`setitimer` and :func:`getitimer` functions have also been added " +"(where they're available). :func:`setitimer` allows setting interval timers " +"that will cause a signal to be delivered to the process after a specified " +"time, measured in wall-clock time, consumed process time, or combined process" +"+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" +msgstr "" +"Також додано функції :func:`setitimer` і :func:`getitimer` (де вони " +"доступні). :func:`setitimer` дозволяє встановлювати інтервальні таймери, які " +"спричинять доставку сигналу до процесу після визначеного часу, виміряного за " +"часом настінного годинника, спожитим часом процесу або комбінованим часом " +"процесу+системи. (Надав Гільєрме Поло; :issue:`2240`.)" + +msgid "" +"The :mod:`smtplib` module now supports SMTP over SSL thanks to the addition " +"of the :class:`SMTP_SSL` class. This class supports an interface identical " +"to the existing :class:`SMTP` class. (Contributed by Monty Taylor.) Both " +"class constructors also have an optional ``timeout`` parameter that " +"specifies a timeout for the initial connection attempt, measured in " +"seconds. (Contributed by Facundo Batista.)" +msgstr "" +"Модуль :mod:`smtplib` тепер підтримує SMTP через SSL завдяки додаванню " +"класу :class:`SMTP_SSL`. Цей клас підтримує інтерфейс, ідентичний існуючому " +"класу :class:`SMTP`. (Надано Монті Тейлором.) Обидва конструктори класів " +"також мають додатковий параметр ``timeout``, який визначає час очікування " +"для початкової спроби підключення, виміряний у секундах. (Надав Факундо " +"Батіста.)" + +msgid "" +"An implementation of the LMTP protocol (:rfc:`2033`) was also added to the " +"module. LMTP is used in place of SMTP when transferring e-mail between " +"agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; :" +"issue:`957003`.)" +msgstr "" +"Також до модуля додано реалізацію протоколу LMTP (:rfc:`2033`). LMTP " +"використовується замість SMTP під час передачі електронної пошти між " +"агентами, які не керують чергою пошти. (LMTP реалізовано Leif Hedstrom; :" +"issue:`957003`.)" + +msgid "" +":meth:`SMTP.starttls` now complies with :rfc:`3207` and forgets any " +"knowledge obtained from the server not obtained from the TLS negotiation " +"itself. (Patch contributed by Bill Fenner; :issue:`829951`.)" +msgstr "" +":meth:`SMTP.starttls` тепер відповідає :rfc:`3207` і забуває будь-яку " +"інформацію, отриману від сервера, не отриману в результаті узгодження TLS. " +"(Патч надав Білл Феннер; :issue:`829951`.)" + +msgid "" +"The :mod:`socket` module now supports TIPC (http://tipc.sourceforge.net/), a " +"high-performance non-IP-based protocol designed for use in clustered " +"environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto " +"Bertogli; :issue:`1646`.)" +msgstr "" +"Модуль :mod:`socket` тепер підтримує TIPC (http://tipc.sourceforge.net/), " +"високопродуктивний протокол не на основі IP, розроблений для використання в " +"кластерних середовищах. Адреси TIPC складаються з 4 або 5 кортежів. (Надав " +"Альберто Бертоглі; :issue:`1646`.)" + +msgid "" +"A new function, :func:`create_connection`, takes an address and connects to " +"it using an optional timeout value, returning the connected socket object. " +"This function also looks up the address's type and connects to it using IPv4 " +"or IPv6 as appropriate. Changing your code to use :func:`create_connection` " +"instead of ``socket(socket.AF_INET, ...)`` may be all that's required to " +"make your code work with IPv6." +msgstr "" +"Нова функція, :func:`create_connection`, приймає адресу та підключається до " +"неї, використовуючи додаткове значення тайм-ауту, повертаючи підключений " +"об’єкт сокета. Ця функція також шукає тип адреси та підключається до неї за " +"допомогою IPv4 або IPv6 відповідно. Зміна коду на використання :func:" +"`create_connection` замість ``socket(socket.AF_INET, ...)`` — це все, що " +"потрібно, щоб ваш код працював з IPv6." + +msgid "" +"The base classes in the :mod:`SocketServer` module now support calling a :" +"meth:`handle_timeout` method after a span of inactivity specified by the " +"server's :attr:`timeout` attribute. (Contributed by Michael Pomraning.) " +"The :meth:`serve_forever` method now takes an optional poll interval " +"measured in seconds, controlling how often the server will check for a " +"shutdown request. (Contributed by Pedro Werneck and Jeffrey Yasskin; :issue:" +"`742598`, :issue:`1193577`.)" +msgstr "" +"Базові класи в модулі :mod:`SocketServer` тепер підтримують виклик методу :" +"meth:`handle_timeout` після періоду бездіяльності, визначеного атрибутом :" +"attr:`timeout` сервера. (Надано Майклом Помранінгом.) Метод :meth:" +"`serve_forever` тепер використовує додатковий інтервал опитування, виміряний " +"у секундах, контролюючи, як часто сервер перевірятиме запит на завершення " +"роботи. (Надано Педро Вернеком і Джеффрі Яскіним; :issue:`742598`, :issue:" +"`1193577`.)" + +msgid "" +"The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated " +"from version 2.3.2 in Python 2.5 to version 2.4.1." +msgstr "" +"Модуль :mod:`sqlite3`, який підтримує Gerhard Häring, було оновлено з версії " +"2.3.2 у Python 2.5 до версії 2.4.1." + +msgid "" +"The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using " +"the format character ``'?'``. (Contributed by David Remahl.)" +msgstr "" + +msgid "" +"The :class:`Popen` objects provided by the :mod:`subprocess` module now " +"have :meth:`terminate`, :meth:`kill`, and :meth:`send_signal` methods. On " +"Windows, :meth:`send_signal` only supports the :const:`SIGTERM` signal, and " +"all these methods are aliases for the Win32 API function :c:func:" +"`TerminateProcess`. (Contributed by Christian Heimes.)" +msgstr "" +"Об’єкти :class:`Popen`, надані модулем :mod:`subprocess`, тепер мають " +"методи :meth:`terminate`, :meth:`kill` і :meth:`send_signal`. У Windows :" +"meth:`send_signal` підтримує лише сигнал :const:`SIGTERM`, і всі ці методи є " +"псевдонімами для функції Win32 API :c:func:`TerminateProcess`. (Надано " +"Крістіаном Хеймсом.)" + +msgid "" +"A new variable in the :mod:`sys` module, :attr:`float_info`, is an object " +"containing information derived from the :file:`float.h` file about the " +"platform's floating-point support. Attributes of this object include :attr:" +"`mant_dig` (number of digits in the mantissa), :attr:`epsilon` (smallest " +"difference between 1.0 and the next largest value representable), and " +"several others. (Contributed by Christian Heimes; :issue:`1534`.)" +msgstr "" +"Нова змінна в модулі :mod:`sys`, :attr:`float_info`, є об’єктом, що містить " +"інформацію, отриману з файлу :file:`float.h` про підтримку платформою " +"операцій з плаваючою комою. Атрибути цього об’єкта включають :attr:" +"`mant_dig` (кількість цифр у мантисі), :attr:`epsilon` (найменша різниця між " +"1,0 і наступним найбільшим значенням, яке можна представити), і кілька " +"інших. (Надав Крістіан Хаймес; :issue:`1534`.)" + +msgid "" +"Another new variable, :attr:`dont_write_bytecode`, controls whether Python " +"writes any :file:`.pyc` or :file:`.pyo` files on importing a module. If this " +"variable is true, the compiled files are not written. The variable is " +"initially set on start-up by supplying the :option:`-B` switch to the Python " +"interpreter, or by setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment " +"variable before running the interpreter. Python code can subsequently " +"change the value of this variable to control whether bytecode files are " +"written or not. (Contributed by Neal Norwitz and Georg Brandl.)" +msgstr "" +"Інша нова змінна, :attr:`dont_write_bytecode`, контролює, чи Python записує " +"файли :file:`.pyc` або :file:`.pyo` під час імпортування модуля. Якщо ця " +"змінна має значення true, скомпільовані файли не записуються. Змінна " +"спочатку встановлюється під час запуску шляхом надання перемикача :option:`-" +"B` інтерпретатору Python або встановленням змінної середовища :envvar:" +"`PYTHONDONTWRITEBYTECODE` перед запуском інтерпретатора. Код Python може " +"згодом змінити значення цієї змінної, щоб контролювати, записуються чи ні " +"файли байт-коду. (Надано Нілом Норвітцем і Георгом Брандлом.)" + +msgid "" +"Information about the command-line arguments supplied to the Python " +"interpreter is available by reading attributes of a named tuple available as " +"``sys.flags``. For example, the :attr:`verbose` attribute is true if Python " +"was executed in verbose mode, :attr:`debug` is true in debugging mode, etc. " +"These attributes are all read-only. (Contributed by Christian Heimes.)" +msgstr "" +"Інформація про аргументи командного рядка, які надаються інтерпретатору " +"Python, доступна шляхом читання атрибутів іменованого кортежу, доступного як " +"``sys.flags``. Наприклад, атрибут :attr:`verbose` має значення true, якщо " +"Python було виконано в детальному режимі, :attr:`debug` має значення true у " +"режимі налагодження тощо. Усі ці атрибути доступні лише для читання. (Надано " +"Крістіаном Хеймсом.)" + +msgid "" +"A new function, :func:`getsizeof`, takes a Python object and returns the " +"amount of memory used by the object, measured in bytes. Built-in objects " +"return correct results; third-party extensions may not, but can define a :" +"meth:`__sizeof__` method to return the object's size. (Contributed by Robert " +"Schuppenies; :issue:`2898`.)" +msgstr "" +"Нова функція, :func:`getsizeof`, приймає об’єкт Python і повертає обсяг " +"пам’яті, який використовує об’єкт, виміряний у байтах. Вбудовані об'єкти " +"повертають правильні результати; сторонні розширення можуть ні, але можуть " +"визначити метод :meth:`__sizeof__` для повернення розміру об’єкта. (Надано " +"Робертом Шаппенісом; :issue:`2898`.)" + +msgid "" +"It's now possible to determine the current profiler and tracer functions by " +"calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by " +"Georg Brandl; :issue:`1648`.)" +msgstr "" +"Тепер можна визначити поточні функції профайлера та трасувальника, " +"викликавши :func:`sys.getprofile` і :func:`sys.gettrace`. (Надав Георг " +"Брандл; :issue:`1648`.)" + +msgid "" +"The :mod:`tarfile` module now supports POSIX.1-2001 (pax) tarfiles in " +"addition to the POSIX.1-1988 (ustar) and GNU tar formats that were already " +"supported. The default format is GNU tar; specify the ``format`` parameter " +"to open a file using a different format::" +msgstr "" +"Модуль :mod:`tarfile` тепер підтримує tar-файли POSIX.1-2001 (pax) на " +"додаток до форматів POSIX.1-1988 (ustar) і GNU tar, які вже підтримувалися. " +"Типовим форматом є GNU tar; вкажіть параметр ``format``, щоб відкрити файл в " +"іншому форматі::" + +msgid "" +"The new ``encoding`` and ``errors`` parameters specify an encoding and an " +"error handling scheme for character conversions. ``'strict'``, " +"``'ignore'``, and ``'replace'`` are the three standard ways Python can " +"handle errors,; ``'utf-8'`` is a special value that replaces bad characters " +"with their UTF-8 representation. (Character conversions occur because the " +"PAX format supports Unicode filenames, defaulting to UTF-8 encoding.)" +msgstr "" +"Нові параметри ``encoding`` і ``errors`` визначають кодування та схему " +"обробки помилок для перетворення символів. ``'strict'``, ``'ignore'`` і " +"``'replace'`` є трьома стандартними способами, якими Python може обробляти " +"помилки; ``'utf-8''`` — це спеціальне значення, яке замінює неправильні " +"символи їх представленням UTF-8. (Перетворення символів відбувається через " +"те, що формат PAX підтримує імена файлів Unicode із кодуванням UTF-8 за " +"умовчанням.)" + +msgid "" +"The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a " +"function that can be used to exclude certain filenames from an archive. The " +"function must take a filename and return true if the file should be excluded " +"or false if it should be archived. The function is applied to both the name " +"initially passed to :meth:`add` and to the names of files in recursively " +"added directories." +msgstr "" + +msgid "(All changes contributed by Lars Gustäbel)." +msgstr "(Усі зміни внесено Ларсом Густебелем)." + +msgid "" +"An optional ``timeout`` parameter was added to the :class:`telnetlib.Telnet` " +"class constructor, specifying a timeout measured in seconds. (Added by " +"Facundo Batista.)" +msgstr "" +"До конструктора класу :class:`telnetlib.Telnet` було додано необов’язковий " +"параметр ``timeout``, який визначає час очікування в секундах. (Додав " +"Факундо Батіста.)" + +msgid "" +"The :class:`tempfile.NamedTemporaryFile` class usually deletes the temporary " +"file it created when the file is closed. This behaviour can now be changed " +"by passing ``delete=False`` to the constructor. (Contributed by Damien " +"Miller; :issue:`1537850`.)" +msgstr "" +"Клас :class:`tempfile.NamedTemporaryFile` зазвичай видаляє створений ним " +"тимчасовий файл, коли файл закривається. Цю поведінку тепер можна змінити, " +"передавши ``delete=False`` конструктору. (Надав Деміен Міллер; :issue:" +"`1537850`.)" + +msgid "" +"A new class, :class:`SpooledTemporaryFile`, behaves like a temporary file " +"but stores its data in memory until a maximum size is exceeded. On reaching " +"that limit, the contents will be written to an on-disk temporary file. " +"(Contributed by Dustin J. Mitchell.)" +msgstr "" +"Новий клас, :class:`SpooledTemporaryFile`, поводиться як тимчасовий файл, " +"але зберігає свої дані в пам’яті, доки не буде перевищено максимальний " +"розмір. Після досягнення цієї межі вміст буде записаний у тимчасовий файл на " +"диску. (Надав Дастін Дж. Мітчелл.)" + +msgid "" +"The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes " +"both work as context managers, so you can write ``with tempfile." +"NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander Belopolsky; :" +"issue:`2021`.)" +msgstr "" +"Класи :class:`NamedTemporaryFile` і :class:`SpooledTemporaryFile` працюють " +"як менеджери контексту, тому ви можете написати ``with tempfile." +"NamedTemporaryFile() як tmp: ...``. (Надав Олександр Бєлопольський; :issue:" +"`2021`.)" + +msgid "" +"The :mod:`test.test_support` module gained a number of context managers " +"useful for writing tests. :func:`EnvironmentVarGuard` is a context manager " +"that temporarily changes environment variables and automatically restores " +"them to their old values." +msgstr "" +"Модуль :mod:`test.test_support` отримав низку контекстних менеджерів, " +"корисних для написання тестів. :func:`EnvironmentVarGuard` — це контекстний " +"менеджер, який тимчасово змінює змінні середовища та автоматично відновлює " +"їхні старі значення." + +msgid "" +"Another context manager, :class:`TransientResource`, can surround calls to " +"resources that may or may not be available; it will catch and ignore a " +"specified list of exceptions. For example, a network test may ignore " +"certain failures when connecting to an external web site::" +msgstr "" +"Інший контекстний менеджер, :class:`TransientResource`, може охоплювати " +"виклики ресурсів, які можуть бути або не бути доступними; він перехопить та " +"проігнорує вказаний список винятків. Наприклад, тест мережі може ігнорувати " +"певні збої під час підключення до зовнішнього веб-сайту:" + +msgid "" +"Finally, :func:`check_warnings` resets the :mod:`warning` module's warning " +"filters and returns an object that will record all warning messages " +"triggered (:issue:`3781`)::" +msgstr "" +"Нарешті, :func:`check_warnings` скидає фільтри попереджень модуля :mod:" +"`warning` і повертає об’єкт, який записуватиме всі викликані попередження (:" +"issue:`3781`)::" + +msgid "(Contributed by Brett Cannon.)" +msgstr "(Надав Бретт Кеннон.)" + +msgid "" +"The :mod:`textwrap` module can now preserve existing whitespace at the " +"beginnings and ends of the newly created lines by specifying " +"``drop_whitespace=False`` as an argument::" +msgstr "" + +msgid "(Contributed by Dwayne Bailey; :issue:`1581073`.)" +msgstr "(Надав Дуейн Бейлі; :issue:`1581073`.)" + +msgid "" +"The :mod:`threading` module API is being changed to use properties such as :" +"attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, and " +"some methods have been renamed to use underscores instead of camel-case; for " +"example, the :meth:`activeCount` method is renamed to :meth:`active_count`. " +"Both the 2.6 and 3.0 versions of the module support the same properties and " +"renamed methods, but don't remove the old methods. No date has been set for " +"the deprecation of the old APIs in Python 3.x; the old APIs won't be removed " +"in any 2.x version. (Carried out by several people, most notably Benjamin " +"Peterson.)" +msgstr "" +"API модуля :mod:`threading` буде змінено для використання таких " +"властивостей, як :attr:`daemon` замість методів :meth:`setDaemon` і :meth:" +"`isDaemon`, а деякі методи були перейменовані, щоб замість них " +"використовувати підкреслення з верблюда; наприклад, метод :meth:" +"`activeCount` перейменовано на :meth:`active_count`. Обидві версії модуля " +"2.6 і 3.0 підтримують однакові властивості та перейменовані методи, але не " +"видаляють старі методи. Не встановлено дати припинення підтримки старих API " +"у Python 3.x; старі API не будуть видалені в жодній версії 2.x. (Здійснено " +"кількома людьми, особливо Бенджаміном Петерсоном.)" + +msgid "" +"The :mod:`threading` module's :class:`Thread` objects gained an :attr:" +"`ident` property that returns the thread's identifier, a nonzero integer. " +"(Contributed by Gregory P. Smith; :issue:`2871`.)" +msgstr "" +"Об’єкти :class:`Thread` модуля :mod:`threading` отримали властивість :attr:" +"`ident`, яка повертає ідентифікатор потоку, ненульове ціле число. (Надав " +"Грегорі П. Сміт; :issue:`2871`.)" + +msgid "" +"The :mod:`timeit` module now accepts callables as well as strings for the " +"statement being timed and for the setup code. Two convenience functions were " +"added for creating :class:`Timer` instances: ``repeat(stmt, setup, time, " +"repeat, number)`` and ``timeit(stmt, setup, time, number)`` create an " +"instance and call the corresponding method. (Contributed by Erik Demaine; :" +"issue:`1533909`.)" +msgstr "" +"Модуль :mod:`timeit` тепер приймає виклики, а також рядки для оператора, " +"який хронометрується, і для коду налаштування. Було додано дві зручні " +"функції для створення екземплярів :class:`Timer`: ``repeat(stmt, setup, " +"time, repeat, number)`` і ``timeit(stmt, setup, time, number)`` створити " +"екземпляр і викликати відповідний метод. (Надав Ерік Демейн; :issue:" +"`1533909`.)" + +msgid "" +"The :mod:`Tkinter` module now accepts lists and tuples for options, " +"separating the elements by spaces before passing the resulting value to Tcl/" +"Tk. (Contributed by Guilherme Polo; :issue:`2906`.)" +msgstr "" +"Модуль :mod:`Tkinter` тепер приймає списки та кортежі для параметрів, " +"розділяючи елементи пробілами перед передачею результуючого значення в Tcl/" +"Tk. (Надав Гільєрме Поло; :issue:`2906`.)" + +msgid "" +"The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor " +"Lingl. New features in the module include:" +msgstr "" +"Модуль :mod:`turtle` для черепахової графіки був значно вдосконалений " +"Грегором Лінглом. Нові функції в модулі включають:" + +msgid "Better animation of turtle movement and rotation." +msgstr "Краща анімація руху та обертання черепахи." + +msgid "" +"Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, " +"and :meth:`speed` methods." +msgstr "" +"Керуйте рухом черепахи за допомогою нових методів :meth:`delay`, :meth:" +"`tracer` і :meth:`speed`." + +msgid "" +"The ability to set new shapes for the turtle, and to define a new coordinate " +"system." +msgstr "" +"Можливість задавати нові форми для черепахи та визначати нову систему " +"координат." + +msgid "Turtles now have an :meth:`undo()` method that can roll back actions." +msgstr "Turtles тепер мають метод :meth:`undo()`, який може відкочувати дії." + +msgid "" +"Simple support for reacting to input events such as mouse and keyboard " +"activity, making it possible to write simple games." +msgstr "" +"Проста підтримка реагування на події введення, такі як активність миші та " +"клавіатури, що дає змогу писати прості ігри." + +msgid "" +"A :file:`turtle.cfg` file can be used to customize the starting appearance " +"of the turtle's screen." +msgstr "" +"Файл :file:`turtle.cfg` можна використовувати для налаштування початкового " +"вигляду екрана черепахи." + +msgid "" +"The module's docstrings can be replaced by new docstrings that have been " +"translated into another language." +msgstr "" +"Документаційні рядки модуля можна замінити новими документаційними рядками, " +"перекладеними іншою мовою." + +msgid "(:issue:`1513695`)" +msgstr "(:issue:`1513695`)" + +msgid "" +"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen` " +"function and the :class:`urllib.ftpwrapper` class constructor, as well as " +"the :func:`urllib2.urlopen` function. The parameter specifies a timeout " +"measured in seconds. For example::" +msgstr "" +"До функції :func:`urllib.urlopen` і конструктора класу :class:`urllib." +"ftpwrapper`, а також функції :func:`urllib2.urlopen` додано необов’язковий " +"параметр ``timeout``. Параметр визначає час очікування в секундах. " +"Наприклад::" + +msgid "(Added by Facundo Batista.)" +msgstr "(Додав Факундо Батіста.)" + +msgid "" +"The Unicode database provided by the :mod:`unicodedata` module has been " +"updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)" +msgstr "" +"Базу даних Unicode, яку надає модуль :mod:`unicodedata`, оновлено до версії " +"5.1.0. (Оновлено Мартіном фон Льовісом; :issue:`3811`.)" + +msgid "" +"The :mod:`warnings` module's :func:`formatwarning` and :func:`showwarning` " +"gained an optional *line* argument that can be used to supply the line of " +"source code. (Added as part of :issue:`1631171`, which re-implemented part " +"of the :mod:`warnings` module in C code.)" +msgstr "" +"Модулі :mod:`warnings` :func:`formatwarning` і :func:`showwarning` отримали " +"додатковий аргумент *line*, який можна використовувати для надання рядка " +"вихідного коду. (Додано як частину :issue:`1631171`, яка повторно " +"реалізувала частину модуля :mod:`warnings` у коді C.)" + +msgid "" +"A new function, :func:`catch_warnings`, is a context manager intended for " +"testing purposes that lets you temporarily modify the warning filters and " +"then restore their original values (:issue:`3781`)." +msgstr "" +"Нова функція, :func:`catch_warnings`, є контекстним менеджером, призначеним " +"для цілей тестування, який дозволяє тимчасово змінювати фільтри попереджень, " +"а потім відновлювати їхні вихідні значення (:issue:`3781`)." + +msgid "" +"The XML-RPC :class:`SimpleXMLRPCServer` and :class:`DocXMLRPCServer` classes " +"can now be prevented from immediately opening and binding to their socket by " +"passing ``False`` as the *bind_and_activate* constructor parameter. This " +"can be used to modify the instance's :attr:`allow_reuse_address` attribute " +"before calling the :meth:`server_bind` and :meth:`server_activate` methods " +"to open the socket and begin listening for connections. (Contributed by " +"Peter Parente; :issue:`1599845`.)" +msgstr "" +"Класам XML-RPC :class:`SimpleXMLRPCServer` і :class:`DocXMLRPCServer` тепер " +"можна запобігти негайному відкриттю та зв’язуванню з їхнім сокетом, " +"передавши ``False`` як параметр конструктора *bind_and_activate*. Це можна " +"використовувати для зміни атрибута екземпляра :attr:`allow_reuse_address` " +"перед викликом методів :meth:`server_bind` і :meth:`server_activate`, щоб " +"відкрити сокет і почати прослуховування з’єднань. (Надав Пітер Паренте; :" +"issue:`1599845`.)" + +msgid "" +":class:`SimpleXMLRPCServer` also has a :attr:`_send_traceback_header` " +"attribute; if true, the exception and formatted traceback are returned as " +"HTTP headers \"X-Exception\" and \"X-Traceback\". This feature is for " +"debugging purposes only and should not be used on production servers because " +"the tracebacks might reveal passwords or other sensitive information. " +"(Contributed by Alan McIntyre as part of his project for Google's Summer of " +"Code 2007.)" +msgstr "" +":class:`SimpleXMLRPCServer` також має атрибут :attr:" +"`_send_traceback_header`; якщо істина, виняток і відформатована трасування " +"повертаються як HTTP-заголовки \"X-Exception\" і \"X-Traceback\". Ця функція " +"призначена лише для налагодження, і її не слід використовувати на робочих " +"серверах, оскільки відстеження може виявити паролі чи іншу конфіденційну " +"інформацію. (Надано Аланом Макінтайром у рамках його проекту Google Summer " +"of Code 2007.)" + +msgid "" +"The :mod:`xmlrpclib` module no longer automatically converts :class:" +"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." +"DateTime` type; the conversion semantics were not necessarily correct for " +"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " +"and :class:`~datetime.time` instances. (:issue:`1330538`) The code can also " +"handle dates before 1900 (contributed by Ralf Schmitt; :issue:`2014`) and 64-" +"bit integers represented by using ```` in XML-RPC responses (contributed " +"by Riku Lindblad; :issue:`2985`)." +msgstr "" +"Модуль :mod:`xmlrpclib` більше не перетворює автоматично :class:`datetime." +"date` і :class:`datetime.time` на тип :class:`xmlrpclib.DateTime`; семантика " +"перетворення не обов'язково була правильною для всіх програм. Код із " +"використанням :mod:`xmlrpclib` має конвертувати екземпляри :class:`date` і :" +"class:`~datetime.time`. (:issue:`1330538`) Код також може обробляти дати до " +"1900 року (надано Ralf Schmitt; :issue:`2014`) і 64-розрядні цілі числа, " +"представлені за допомогою ```` у відповідях XML-RPC (надано Ріку " +"Ліндблад; :issue:`2985`)." + +msgid "" +"The :mod:`zipfile` module's :class:`ZipFile` class now has :meth:`extract` " +"and :meth:`extractall` methods that will unpack a single file or all the " +"files in the archive to the current directory, or to a specified directory::" +msgstr "" +"Клас :class:`ZipFile` модуля :mod:`zipfile` тепер має методи :meth:`extract` " +"і :meth:`extractall`, які розпаковують один або всі файли в архіві до " +"поточного каталогу, або у вказаний каталог::" + +msgid "(Contributed by Alan McIntyre; :issue:`467924`.)" +msgstr "(Надав Алан Макінтайр; :issue:`467924`.)" + +msgid "" +"The :meth:`open`, :meth:`read` and :meth:`extract` methods can now take " +"either a filename or a :class:`ZipInfo` object. This is useful when an " +"archive accidentally contains a duplicated filename. (Contributed by Graham " +"Horler; :issue:`1775025`.)" +msgstr "" +"Методи :meth:`open`, :meth:`read` і :meth:`extract` тепер можуть приймати " +"ім’я файлу або об’єкт :class:`ZipInfo`. Це корисно, коли архів випадково " +"містить дубльоване ім’я файлу. (Надав Грем Хорлер; :issue:`1775025`.)" + +msgid "" +"Finally, :mod:`zipfile` now supports using Unicode filenames for archived " +"files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)" +msgstr "" +"Нарешті, :mod:`zipfile` тепер підтримує використання імен файлів Unicode для " +"архівованих файлів. (Надав Олексій Борзенков; :issue:`1734346`.)" + +msgid "The :mod:`ast` module" +msgstr "Модуль :mod:`ast`" + +msgid "" +"The :mod:`ast` module provides an Abstract Syntax Tree representation of " +"Python code, and Armin Ronacher contributed a set of helper functions that " +"perform a variety of common tasks. These will be useful for HTML templating " +"packages, code analyzers, and similar tools that process Python code." +msgstr "" +"Модуль :mod:`ast` забезпечує представлення коду Python у вигляді " +"абстрактного синтаксичного дерева, а Армін Ронахер додав набір допоміжних " +"функцій, які виконують різноманітні типові завдання. Вони будуть корисні для " +"пакетів шаблонів HTML, аналізаторів коду та подібних інструментів, які " +"обробляють код Python." + +msgid "" +"The :func:`parse` function takes an expression and returns an AST. The :func:" +"`dump` function outputs a representation of a tree, suitable for debugging::" +msgstr "" +"Функція :func:`parse` приймає вираз і повертає AST. Функція :func:`dump` " +"виводить представлення дерева, придатне для налагодження:" + +msgid "This outputs a deeply nested tree::" +msgstr "Це виводить глибоко вкладене дерево::" + +msgid "" +"The :func:`literal_eval` method takes a string or an AST representing a " +"literal expression, parses and evaluates it, and returns the resulting " +"value. A literal expression is a Python expression containing only strings, " +"numbers, dictionaries, etc. but no statements or function calls. If you " +"need to evaluate an expression but cannot accept the security risk of using " +"an :func:`eval` call, :func:`literal_eval` will handle it safely::" +msgstr "" +"Метод :func:`literal_eval` приймає рядок або AST, що представляє літеральний " +"вираз, аналізує та обчислює його та повертає результуюче значення. " +"Літеральний вираз — це вираз Python, який містить лише рядки, числа, " +"словники тощо, але не містить операторів чи викликів функцій. Якщо вам " +"потрібно оцінити вираз, але ви не можете прийняти загрозу безпеці " +"використання виклику :func:`eval`, :func:`literal_eval` впорається з цим " +"безпечно:" + +msgid "" +"The module also includes :class:`NodeVisitor` and :class:`NodeTransformer` " +"classes for traversing and modifying an AST, and functions for common " +"transformations such as changing line numbers." +msgstr "" +"Модуль також містить класи :class:`NodeVisitor` і :class:`NodeTransformer` " +"для обходу та модифікації AST, а також функції для типових перетворень, " +"таких як зміна номерів рядків." + +msgid "The :mod:`future_builtins` module" +msgstr "Модуль :mod:`future_builtins`" + +msgid "" +"Python 3.0 makes many changes to the repertoire of built-in functions, and " +"most of the changes can't be introduced in the Python 2.x series because " +"they would break compatibility. The :mod:`future_builtins` module provides " +"versions of these built-in functions that can be imported when writing 3.0-" +"compatible code." +msgstr "" +"Python 3.0 вносить багато змін до репертуару вбудованих функцій, і більшість " +"змін не можна ввести в серії Python 2.x, оскільки вони порушать сумісність. " +"Модуль :mod:`future_builtins` надає версії цих вбудованих функцій, які можна " +"імпортувати під час написання коду, сумісного з 3.0." + +msgid "The functions in this module currently include:" +msgstr "Функції цього модуля наразі включають:" + +msgid "" +"``ascii(obj)``: equivalent to :func:`repr`. In Python 3.0, :func:`repr` " +"will return a Unicode string, while :func:`ascii` will return a pure ASCII " +"bytestring." +msgstr "" +"``ascii(obj)``: еквівалент :func:`repr`. У Python 3.0 :func:`repr` поверне " +"рядок Unicode, тоді як :func:`ascii` поверне чистий байтовий рядок ASCII." + +msgid "" +"``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 " +"versions return iterators, unlike the 2.x builtins which return lists." +msgstr "" +"``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: версії 3.0 " +"повертають ітератори, на відміну від вбудованих 2.x, які повертають списки." + +msgid "" +"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or :" +"meth:`__oct__` methods, these versions will call the :meth:`__index__` " +"method and convert the result to hexadecimal or octal. :func:`oct` will use " +"the new ``0o`` notation for its result." +msgstr "" +"``hex(value)``, ``oct(value)``: замість виклику методів :meth:`__hex__` або :" +"meth:`__oct__` ці версії викличуть метод :meth:`__index__` і перетворити " +"результат у шістнадцяткове або вісімкове. :func:`oct` використовуватиме нову " +"нотацію ``0o`` для свого результату." + +msgid "The :mod:`json` module: JavaScript Object Notation" +msgstr "Модуль :mod:`json`: Нотація об’єктів JavaScript" + +msgid "" +"The new :mod:`json` module supports the encoding and decoding of Python " +"types in JSON (Javascript Object Notation). JSON is a lightweight " +"interchange format often used in web applications. For more information " +"about JSON, see http://www.json.org." +msgstr "" +"Новий модуль :mod:`json` підтримує кодування та декодування типів Python у " +"JSON (Javascript Object Notation). JSON — це легкий формат обміну, який " +"часто використовується у веб-додатках. Для отримання додаткової інформації " +"про JSON відвідайте http://www.json.org." + +msgid "" +":mod:`json` comes with support for decoding and encoding most built-in " +"Python types. The following example encodes and decodes a dictionary::" +msgstr "" +":mod:`json` підтримує декодування та кодування більшості вбудованих типів " +"Python. У наступному прикладі кодується та декодується словник:" + +msgid "" +"It's also possible to write your own decoders and encoders to support more " +"types. Pretty-printing of the JSON strings is also supported." +msgstr "" +"Також можна написати власні декодери та кодери для підтримки більшої " +"кількості типів. Також підтримується швидкий друк рядків JSON." + +msgid ":mod:`json` (originally called simplejson) was written by Bob Ippolito." +msgstr "" +":mod:`json` (спочатку називався simplejson) був написаний Бобом Іпполіто." + +msgid "The :mod:`plistlib` module: A Property-List Parser" +msgstr "Модуль :mod:`plistlib`: аналізатор списку властивостей" + +msgid "" +"The ``.plist`` format is commonly used on Mac OS X to store basic data types " +"(numbers, strings, lists, and dictionaries) by serializing them into an XML-" +"based format. It resembles the XML-RPC serialization of data types." +msgstr "" +"Формат ``.plist`` зазвичай використовується в Mac OS X для зберігання " +"основних типів даних (чисел, рядків, списків і словників) шляхом їх " +"серіалізації у формат на основі XML. Це нагадує серіалізацію типів даних XML-" +"RPC." + +msgid "" +"Despite being primarily used on Mac OS X, the format has nothing Mac-" +"specific about it and the Python implementation works on any platform that " +"Python supports, so the :mod:`plistlib` module has been promoted to the " +"standard library." +msgstr "" +"Незважаючи на те, що в основному використовується в Mac OS X, цей формат не " +"має нічого специфічного для Mac, а реалізація Python працює на будь-якій " +"платформі, яку підтримує Python, тому модуль :mod:`plistlib` було підвищено " +"до стандартної бібліотеки." + +msgid "Using the module is simple::" +msgstr "Користуватися модулем просто::" + +msgid "ctypes Enhancements" +msgstr "Покращення ctypes" + +msgid "" +"Thomas Heller continued to maintain and enhance the :mod:`ctypes` module." +msgstr "" +"Томас Хеллер продовжував підтримувати та вдосконалювати модуль :mod:`ctypes`." + +msgid "" +":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the " +"C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)" +msgstr "" +":mod:`ctypes` тепер підтримує тип даних :class:`c_bool`, який представляє " +"тип C99 ``bool``. (Надав Девід Ремал; :issue:`1649190`.)" + +msgid "" +"The :mod:`ctypes` string, buffer and array types have improved support for " +"extended slicing syntax, where various combinations of ``(start, stop, " +"step)`` are supplied. (Implemented by Thomas Wouters.)" +msgstr "" +"Типи рядків, буферів і масивів :mod:`ctypes` мають покращену підтримку " +"розширеного синтаксису зрізу, де надаються різні комбінації ``(початок, " +"зупинка, крок)``. (Реалізовано Томасом Воутерсом.)" + +msgid "" +"All :mod:`ctypes` data types now support :meth:`from_buffer` and :meth:" +"`from_buffer_copy` methods that create a ctypes instance based on a provided " +"buffer object. :meth:`from_buffer_copy` copies the contents of the object, " +"while :meth:`from_buffer` will share the same memory area." +msgstr "" +"Усі типи даних :mod:`ctypes` тепер підтримують методи :meth:`from_buffer` і :" +"meth:`from_buffer_copy`, які створюють екземпляр ctypes на основі наданого " +"об’єкта буфера. :meth:`from_buffer_copy` копіює вміст об’єкта, тоді як :meth:" +"`from_buffer` буде використовувати ту саму область пам’яті." + +msgid "" +"A new calling convention tells :mod:`ctypes` to clear the ``errno`` or Win32 " +"LastError variables at the outset of each wrapped call. (Implemented by " +"Thomas Heller; :issue:`1798`.)" +msgstr "" +"Нова угода про виклики вказує :mod:`ctypes` очищати змінні ``errno`` або " +"Win32 LastError на початку кожного обгорнутого виклику. (Реалізовано Томасом " +"Геллером; :issue:`1798`.)" + +msgid "" +"You can now retrieve the Unix ``errno`` variable after a function call. " +"When creating a wrapped function, you can supply ``use_errno=True`` as a " +"keyword parameter to the :func:`DLL` function and then call the module-level " +"methods :meth:`set_errno` and :meth:`get_errno` to set and retrieve the " +"error value." +msgstr "" +"Тепер ви можете отримати змінну Unix ``errno`` після виклику функції. Під " +"час створення обгорнутої функції ви можете вказати ``use_errno=True`` як " +"ключовий параметр для функції :func:`DLL`, а потім викликати методи рівня " +"модуля :meth:`set_errno` і :meth:`get_errno` щоб встановити та отримати " +"значення помилки." + +msgid "" +"The Win32 LastError variable is similarly supported by the :func:`DLL`, :" +"func:`OleDLL`, and :func:`WinDLL` functions. You supply " +"``use_last_error=True`` as a keyword parameter and then call the module-" +"level methods :meth:`set_last_error` and :meth:`get_last_error`." +msgstr "" +"Змінна Win32 LastError так само підтримується функціями :func:`DLL`, :func:" +"`OleDLL` і :func:`WinDLL`. Ви вказуєте ``use_last_error=True`` як параметр " +"ключового слова, а потім викликаєте методи рівня модуля :meth:" +"`set_last_error` і :meth:`get_last_error`." + +msgid "" +"The :func:`byref` function, used to retrieve a pointer to a ctypes instance, " +"now has an optional *offset* parameter that is a byte count that will be " +"added to the returned pointer." +msgstr "" +"Функція :func:`byref`, яка використовується для отримання вказівника на " +"екземпляр ctypes, тепер має необов’язковий параметр *offset*, який є " +"кількістю байтів, яка буде додана до поверненого вказівника." + +msgid "Improved SSL Support" +msgstr "Покращена підтримка SSL" + +msgid "" +"Bill Janssen made extensive improvements to Python 2.6's support for the " +"Secure Sockets Layer by adding a new module, :mod:`ssl`, that's built atop " +"the `OpenSSL `__ library. This new module provides " +"more control over the protocol negotiated, the X.509 certificates used, and " +"has better support for writing SSL servers (as opposed to clients) in " +"Python. The existing SSL support in the :mod:`socket` module hasn't been " +"removed and continues to work, though it will be removed in Python 3.0." +msgstr "" +"Білл Янссен значно покращив підтримку Python 2.6 для Secure Sockets Layer, " +"додавши новий модуль, :mod:`ssl`, який побудовано поверх бібліотеки `OpenSSL " +"`__. Цей новий модуль забезпечує більше контролю " +"над узгодженим протоколом, використовуваними сертифікатами X.509 і має кращу " +"підтримку для написання серверів SSL (на відміну від клієнтів) на Python. " +"Наявну підтримку SSL у модулі :mod:`socket` не було видалено та продовжує " +"працювати, хоча її буде видалено в Python 3.0." + +msgid "" +"To use the new module, you must first create a TCP connection in the usual " +"way and then pass it to the :func:`ssl.wrap_socket` function. It's possible " +"to specify whether a certificate is required, and to obtain certificate info " +"by calling the :meth:`getpeercert` method." +msgstr "" +"Щоб використовувати новий модуль, ви повинні спочатку створити з’єднання TCP " +"у звичайний спосіб, а потім передати його функції :func:`ssl.wrap_socket`. " +"Можна вказати, чи потрібен сертифікат, і отримати інформацію про сертифікат, " +"викликавши метод :meth:`getpeercert`." + +msgid "The documentation for the :mod:`ssl` module." +msgstr "Документація для модуля :mod:`ssl`." + +msgid "Deprecations and Removals" +msgstr "Скасування та видалення" + +msgid "" +"String exceptions have been removed. Attempting to use them raises a :exc:" +"`TypeError`." +msgstr "" +"Рядкові винятки видалено. Спроба використати їх викликає :exc:`TypeError`." + +msgid "" +"Changes to the :class:`Exception` interface as dictated by :pep:`352` " +"continue to be made. For 2.6, the :attr:`message` attribute is being " +"deprecated in favor of the :attr:`args` attribute." +msgstr "" +"Зміни до інтерфейсу :class:`Exception` відповідно до :pep:`352` " +"продовжуються. Для 2.6 атрибут :attr:`message` застарів на користь атрибута :" +"attr:`args`." + +msgid "" +"(3.0-warning mode) Python 3.0 will feature a reorganized standard library " +"that will drop many outdated modules and rename others. Python 2.6 running " +"in 3.0-warning mode will warn about these modules when they are imported." +msgstr "" +"(3.0-режим попередження) Python 3.0 матиме реорганізовану стандартну " +"бібліотеку, яка видалить багато застарілих модулів і перейменує інші. Python " +"2.6, який працює в режимі попередження 3.0, попередить про ці модулі під час " +"їх імпорту." + +msgid "" +"The list of deprecated modules is: :mod:`audiodev`, :mod:`bgenlocations`, :" +"mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" +"`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" +"`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" +"`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" +"`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, and :mod:`toaiff`." +msgstr "" +"Список застарілих модулів: :mod:`audiodev`, :mod:`bgenlocations`, :mod:" +"`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" +"`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" +"`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" +"`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" +"`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall` і :mod:`toaiff`." + +msgid "The :mod:`gopherlib` module has been removed." +msgstr "Модуль :mod:`gopherlib` видалено." + +msgid "" +"The :mod:`MimeWriter` module and :mod:`mimify` module have been deprecated; " +"use the :mod:`email` package instead." +msgstr "" +"Модулі :mod:`MimeWriter` і :mod:`mimify` були визнані застарілими; замість " +"цього використовуйте пакет :mod:`email`." + +msgid "" +"The :mod:`md5` module has been deprecated; use the :mod:`hashlib` module " +"instead." +msgstr "" +"Модуль :mod:`md5` застарів; замість цього використовуйте модуль :mod:" +"`hashlib`." + +msgid "" +"The :mod:`posixfile` module has been deprecated; :func:`fcntl.lockf` " +"provides better locking." +msgstr "" +"Модуль :mod:`posixfile` визнано застарілим; :func:`fcntl.lockf` забезпечує " +"краще блокування." + +msgid "" +"The :mod:`popen2` module has been deprecated; use the :mod:`subprocess` " +"module." +msgstr "" +"Модуль :mod:`popen2` застарів; використовуйте модуль :mod:`subprocess`." + +msgid "The :mod:`rgbimg` module has been removed." +msgstr "Модуль :mod:`rgbimg` видалено." + +msgid "" +"The :mod:`sets` module has been deprecated; it's better to use the built-in :" +"class:`set` and :class:`frozenset` types." +msgstr "" +"Модуль :mod:`sets` визнано застарілим; краще використовувати вбудовані типи :" +"class:`set` і :class:`frozenset`." + +msgid "" +"The :mod:`sha` module has been deprecated; use the :mod:`hashlib` module " +"instead." +msgstr "" +"Модуль :mod:`sha` застарів; замість цього використовуйте модуль :mod:" +"`hashlib`." + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "" +"Python now must be compiled with C89 compilers (after 19 years!). This " +"means that the Python source tree has dropped its own implementations of :c:" +"func:`memmove` and :c:func:`strerror`, which are in the C89 standard library." +msgstr "" +"Тепер Python потрібно скомпілювати за допомогою компіляторів C89 (після 19 " +"років!). Це означає, що вихідне дерево Python виключило власні реалізації :c:" +"func:`memmove` і :c:func:`strerror`, які є в стандартній бібліотеці C89." + +msgid "" +"Python 2.6 can be built with Microsoft Visual Studio 2008 (version 9.0), and " +"this is the new default compiler. See the :file:`PCbuild` directory for the " +"build files. (Implemented by Christian Heimes.)" +msgstr "" +"Python 2.6 можна створити за допомогою Microsoft Visual Studio 2008 (версія " +"9.0), і це новий компілятор за замовчуванням. Перегляньте каталог :file:" +"`PCbuild` для файлів збірки. (Реалізовано Крістіаном Хеймсом.)" + +msgid "" +"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The :" +"program:`configure` script can take a :option:`!--with-universal-archs=[32-" +"bit|64-bit|all]` switch, controlling whether the binaries are built for 32-" +"bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), or both. " +"(Contributed by Ronald Oussoren.)" +msgstr "" +"У Mac OS X Python 2.6 можна скомпілювати як чотиристоронню універсальну " +"збірку. Сценарій :program:`configure` може приймати перемикач :option:`!--" +"with-universal-archs=[32-bit|64-bit|all]`, контролюючи, чи створено двійкові " +"файли для 32-розрядних архітектур ( x86, PowerPC), 64-розрядні (x86-64 і " +"PPC-64) або обидва. (Надав Рональд Уссорен.)" + +msgid "" +"The BerkeleyDB module now has a C API object, available as ``bsddb.db." +"api``. This object can be used by other C extensions that wish to use the :" +"mod:`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)" +msgstr "" +"Модуль BerkeleyDB тепер має об’єкт C API, доступний як ``bsddb.db.api``. Цей " +"об’єкт може використовуватися іншими розширеннями C, які бажають " +"використовувати модуль :mod:`bsddb` для власних цілей. (Надав Дункан Грісбі.)" + +msgid "" +"The new buffer interface, previously described in `the PEP 3118 section " +"<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` " +"and :c:func:`PyBuffer_Release`, as well as a few other functions." +msgstr "" +"Новий інтерфейс буфера, раніше описаний у `розділі PEP 3118 <#pep-3118-" +"revised-buffer-protocol>`__, додає :c:func:`PyObject_GetBuffer` і :c:func:" +"`PyBuffer_Release`, а також кілька інших функцій." + +msgid "" +"Python's use of the C stdio library is now thread-safe, or at least as " +"thread-safe as the underlying library is. A long-standing potential bug " +"occurred if one thread closed a file object while another thread was reading " +"from or writing to the object. In 2.6 file objects have a reference count, " +"manipulated by the :c:func:`PyFile_IncUseCount` and :c:func:" +"`PyFile_DecUseCount` functions. File objects can't be closed unless the " +"reference count is zero. :c:func:`PyFile_IncUseCount` should be called " +"while the GIL is still held, before carrying out an I/O operation using the " +"``FILE *`` pointer, and :c:func:`PyFile_DecUseCount` should be called " +"immediately after the GIL is re-acquired. (Contributed by Antoine Pitrou and " +"Gregory P. Smith.)" +msgstr "" +"Використання Python бібліотеки C stdio тепер безпечно для потоків або, " +"принаймні, настільки ж безпечно для потоків, як і базова бібліотека. Тривала " +"потенційна помилка виникла, якщо один потік закрив об’єкт файлу, а інший " +"потік читав або записував об’єкт. У версії 2.6 файлові об’єкти мають " +"кількість посилань, якою керують функції :c:func:`PyFile_IncUseCount` і :c:" +"func:`PyFile_DecUseCount`. Файлові об’єкти не можна закрити, якщо кількість " +"посилань не дорівнює нулю. :c:func:`PyFile_IncUseCount` слід викликати, поки " +"GIL все ще утримується, перед виконанням операції введення/виведення за " +"допомогою вказівника ``FILE *``, а :c:func:`PyFile_DecUseCount` слід " +"викликати відразу після GIL отримується повторно. (Надано Антуаном Пітру та " +"Грегорі П. Смітом.)" + +msgid "" +"Importing modules simultaneously in two different threads no longer " +"deadlocks; it will now raise an :exc:`ImportError`. A new API function, :c:" +"func:`PyImport_ImportModuleNoBlock`, will look for a module in ``sys." +"modules`` first, then try to import it after acquiring an import lock. If " +"the import lock is held by another thread, an :exc:`ImportError` is raised. " +"(Contributed by Christian Heimes.)" +msgstr "" +"Одночасне імпортування модулів у двох різних потоках більше не викликає " +"взаємоблокувань; тепер це викличе :exc:`ImportError`. Нова функція API, :c:" +"func:`PyImport_ImportModuleNoBlock`, спочатку шукатиме модуль у ``sys." +"modules``, а потім намагатиметься імпортувати його після отримання " +"блокування імпорту. Якщо блокування імпорту утримується іншим потоком, " +"виникає :exc:`ImportError`. (Надано Крістіаном Хеймсом.)" + +msgid "" +"Several functions return information about the platform's floating-point " +"support. :c:func:`PyFloat_GetMax` returns the maximum representable " +"floating point value, and :c:func:`PyFloat_GetMin` returns the minimum " +"positive value. :c:func:`PyFloat_GetInfo` returns an object containing more " +"information from the :file:`float.h` file, such as ``\"mant_dig\"`` (number " +"of digits in the mantissa), ``\"epsilon\"`` (smallest difference between 1.0 " +"and the next largest value representable), and several others. (Contributed " +"by Christian Heimes; :issue:`1534`.)" +msgstr "" +"Кілька функцій повертають інформацію про підтримку платформою операцій з " +"плаваючою комою. :c:func:`PyFloat_GetMax` повертає максимальне значення з " +"плаваючою комою, яке можна представити, а :c:func:`PyFloat_GetMin` повертає " +"мінімальне позитивне значення. :c:func:`PyFloat_GetInfo` повертає об’єкт, що " +"містить більше інформації з файлу :file:`float.h`, як-от ``\"mant_dig\"`` " +"(кількість цифр у мантисі), ``\"epsilon\"`` (найменша різниця між 1,0 і " +"наступним найбільшим значенням, яке можна представити), і кілька інших. " +"(Надав Крістіан Хаймес; :issue:`1534`.)" + +msgid "" +"C functions and methods that use :c:func:`PyComplex_AsCComplex` will now " +"accept arguments that have a :meth:`__complex__` method. In particular, the " +"functions in the :mod:`cmath` module will now accept objects with this " +"method. This is a backport of a Python 3.0 change. (Contributed by Mark " +"Dickinson; :issue:`1675423`.)" +msgstr "" +"Функції та методи C, які використовують :c:func:`PyComplex_AsCComplex`, " +"тепер прийматимуть аргументи, які мають метод :meth:`__complex__`. Зокрема, " +"функції в модулі :mod:`cmath` тепер прийматимуть об’єкти за допомогою цього " +"методу. Це бекпорт зміни Python 3.0. (Надав Марк Дікінсон; :issue:`1675423`.)" + +msgid "" +"Python's C API now includes two functions for case-insensitive string " +"comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, " +"char*, Py_ssize_t)``. (Contributed by Christian Heimes; :issue:`1635`.)" +msgstr "" +"C API Python тепер містить дві функції для порівняння рядків без урахування " +"регістру: ``PyOS_stricmp(char*, char*)`` і ``PyOS_strnicmp(char*, char*, " +"Py_ssize_t)``. (Надав Крістіан Хаймес; :issue:`1635`.)" + +msgid "" +"Many C extensions define their own little macro for adding integers and " +"strings to the module's dictionary in the ``init*`` function. Python 2.6 " +"finally defines standard macros for adding values to a module, :c:macro:" +"`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. " +"(Contributed by Christian Heimes.)" +msgstr "" +"Багато розширень C визначають власний маленький макрос для додавання цілих " +"чисел і рядків до словника модуля у функції ``init*``. Python 2.6 нарешті " +"визначає стандартні макроси для додавання значень до модуля, :c:macro:" +"`PyModule_AddStringMacro` і :c:macro:`PyModule_AddIntMacro()`. (Надано " +"Крістіаном Хеймсом.)" + +msgid "" +"Some macros were renamed in both 3.0 and 2.6 to make it clearer that they " +"are macros, not functions. :c:macro:`Py_Size()` became :c:macro:" +"`Py_SIZE()`, :c:macro:`Py_Type()` became :c:macro:`Py_TYPE()`, and :c:macro:" +"`Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case macros are still " +"available in Python 2.6 for backward compatibility. (:issue:`1629`)" +msgstr "" +"Деякі макроси було перейменовано у версіях 3.0 і 2.6, щоб було зрозуміліше, " +"що вони є макросами, а не функціями. :c:macro:`Py_Size()` став :c:macro:" +"`Py_SIZE()`, :c:macro:`Py_Type()` став :c:macro:`Py_TYPE()`, а :c:macro:" +"`Py_Refcnt()` став :c:macro:`Py_REFCNT()`. Макроси змішаного регістру все ще " +"доступні в Python 2.6 для зворотної сумісності. (:issue:`1629`)" + +msgid "" +"Distutils now places C extensions it builds in a different directory when " +"running on a debug version of Python. (Contributed by Collin Winter; :issue:" +"`1530959`.)" +msgstr "" +"Distutils тепер розміщує створені ним розширення C в іншому каталозі під час " +"роботи на налагодженій версії Python. (Надав Колін Вінтер; :issue:`1530959`.)" + +msgid "" +"Several basic data types, such as integers and strings, maintain internal " +"free lists of objects that can be re-used. The data structures for these " +"free lists now follow a naming convention: the variable is always named " +"``free_list``, the counter is always named ``numfree``, and a macro " +"``Py_MAXFREELIST`` is always defined." +msgstr "" +"Кілька основних типів даних, таких як цілі числа та рядки, підтримують " +"внутрішні вільні списки об’єктів, які можна повторно використовувати. " +"Структури даних для цих вільних списків тепер дотримуються угоди про " +"іменування: змінна завжди має назву ``free_list``, лічильник завжди має " +"назву ``numfree``, а макрос ``Py _MAXFREELIST`` завжди визначено." + +msgid "" +"A new Makefile target, \"make patchcheck\", prepares the Python source tree " +"for making a patch: it fixes trailing whitespace in all modified ``.py`` " +"files, checks whether the documentation has been changed, and reports " +"whether the :file:`Misc/ACKS` and :file:`Misc/NEWS` files have been updated. " +"(Contributed by Brett Cannon.)" +msgstr "" +"Нова ціль Makefile, \"make patchcheck\", готує вихідне дерево Python для " +"створення виправлення: вона виправляє кінцеві пробіли в усіх змінених файлах " +"``.py``, перевіряє, чи було змінено документацію, і повідомляє, чи :file:" +"`Misc/ACKS` і :file:`Misc/NEWS` оновлено. (Надав Бретт Кеннон.)" + +msgid "" +"Another new target, \"make profile-opt\", compiles a Python binary using " +"GCC's profile-guided optimization. It compiles Python with profiling " +"enabled, runs the test suite to obtain a set of profiling results, and then " +"compiles using these results for optimization. (Contributed by Gregory P. " +"Smith.)" +msgstr "" +"Інша нова ціль, \"make profile-opt\", компілює двійковий файл Python за " +"допомогою оптимізації профілю GCC. Він компілює Python із увімкненим " +"профілюванням, запускає набір тестів для отримання набору результатів " +"профілювання, а потім компілює, використовуючи ці результати для " +"оптимізації. (Надав Грегорі П. Сміт.)" + +msgid "Port-Specific Changes: Windows" +msgstr "Зміни, що стосуються порту: Windows" + +msgid "" +"The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 " +"requires at least Windows 2000 SP4." +msgstr "" +"Підтримку Windows 95, 98, ME та NT4 припинено. Python 2.6 вимагає принаймні " +"Windows 2000 SP4." + +msgid "" +"The new default compiler on Windows is Visual Studio 2008 (version 9.0). The " +"build directories for Visual Studio 2003 (version 7.1) and 2005 (version " +"8.0) were moved into the PC/ directory. The new :file:`PCbuild` directory " +"supports cross compilation for X64, debug builds and Profile Guided " +"Optimization (PGO). PGO builds are roughly 10% faster than normal builds. " +"(Contributed by Christian Heimes with help from Amaury Forgeot d'Arc and " +"Martin von Löwis.)" +msgstr "" +"Новим компілятором за замовчуванням у Windows є Visual Studio 2008 (версія " +"9.0). Каталоги збірки для Visual Studio 2003 (версія 7.1) і 2005 (версія " +"8.0) переміщено в каталог PC/. Новий каталог :file:`PCbuild` підтримує крос-" +"компіляцію для X64, збірки для налагодження та керовану оптимізацію профілем " +"(PGO). Збірки PGO приблизно на 10% швидші за звичайні. (Надано Крістіаном " +"Хеймсом за допомогою Аморі Форже д'Арк і Мартіна фон Льовіса.)" + +msgid "" +"The :mod:`msvcrt` module now supports both the normal and wide char variants " +"of the console I/O API. The :func:`getwch` function reads a keypress and " +"returns a Unicode value, as does the :func:`getwche` function. The :func:" +"`putwch` function takes a Unicode character and writes it to the console. " +"(Contributed by Christian Heimes.)" +msgstr "" +"Модуль :mod:`msvcrt` тепер підтримує як звичайні, так і широкі символьні " +"варіанти API консолі вводу-виводу. Функція :func:`getwch` зчитує натискання " +"клавіші та повертає значення Unicode, як і функція :func:`getwche`. Функція :" +"func:`putwch` приймає символ Unicode і записує його на консоль. (Надано " +"Крістіаном Хеймсом.)" + +msgid "" +":func:`os.path.expandvars` will now expand environment variables in the form " +"\"%var%\", and \"~user\" will be expanded into the user's home directory " +"path. (Contributed by Josiah Carlson; :issue:`957650`.)" +msgstr "" +":func:`os.path.expandvars` тепер розгорне змінні середовища у формі \"%var%" +"\", а \"~user\" буде розгорнуто до шляху до домашнього каталогу користувача. " +"(Надав Джосія Карлсон; :issue:`957650`.)" + +msgid "" +"The :mod:`socket` module's socket objects now have an :meth:`ioctl` method " +"that provides a limited interface to the :c:func:`WSAIoctl` system interface." +msgstr "" +"Об’єкти socket модуля :mod:`socket` тепер мають метод :meth:`ioctl`, який " +"забезпечує обмежений інтерфейс до системного інтерфейсу :c:func:`WSAIoctl`." + +msgid "" +"The :mod:`_winreg` module now has a function, :func:" +"`ExpandEnvironmentStrings`, that expands environment variable references " +"such as ``%NAME%`` in an input string. The handle objects provided by this " +"module now support the context protocol, so they can be used in :keyword:" +"`with` statements. (Contributed by Christian Heimes.)" +msgstr "" +"Модуль :mod:`_winreg` тепер має функцію :func:`ExpandEnvironmentStrings`, " +"яка розширює посилання на змінні середовища, такі як ``%NAME%`` у вхідному " +"рядку. Об’єкти-дескриптори, надані цим модулем, тепер підтримують протокол " +"контексту, тому їх можна використовувати в операторах :keyword:`with`. " +"(Надано Крістіаном Хеймсом.)" + +msgid "" +":mod:`_winreg` also has better support for x64 systems, exposing the :func:" +"`DisableReflectionKey`, :func:`EnableReflectionKey`, and :func:" +"`QueryReflectionKey` functions, which enable and disable registry reflection " +"for 32-bit processes running on 64-bit systems. (:issue:`1753245`)" +msgstr "" +":mod:`_winreg` також має кращу підтримку для систем x64, відкриваючи " +"функції :func:`DisableReflectionKey`, :func:`EnableReflectionKey` і :func:" +"`QueryReflectionKey`, які вмикають і вимикають відображення реєстру для 32-" +"розрядних процесів працює на 64-розрядних системах. (:issue:`1753245`)" + +msgid "" +"The :mod:`msilib` module's :class:`Record` object gained :meth:`GetInteger` " +"and :meth:`GetString` methods that return field values as an integer or a " +"string. (Contributed by Floris Bruynooghe; :issue:`2125`.)" +msgstr "" +"Об’єкт :class:`Record` модуля :mod:`msilib` отримав методи :meth:" +"`GetInteger` і :meth:`GetString`, які повертають значення полів як ціле " +"число або рядок. (Надав Флоріс Бруйнуге; :issue:`2125`.)" + +msgid "Port-Specific Changes: Mac OS X" +msgstr "Зміни, що стосуються порту: Mac OS X" + +msgid "" +"When compiling a framework build of Python, you can now specify the " +"framework name to be used by providing the :option:`!--with-framework-name=` " +"option to the :program:`configure` script." +msgstr "" +"Під час компіляції збірки фреймворка Python тепер ви можете вказати ім’я " +"фреймворка, яке буде використовуватися, надавши параметр :option:`!--with-" +"framework-name=` сценарію :program:`configure`." + +msgid "" +"The :mod:`macfs` module has been removed. This in turn required the :func:" +"`macostools.touched` function to be removed because it depended on the :mod:" +"`macfs` module. (:issue:`1490190`)" +msgstr "" +"Модуль :mod:`macfs` видалено. Це, у свою чергу, вимагало видалення функції :" +"func:`macostools.touched`, оскільки вона залежала від модуля :mod:`macfs`. (:" +"issue:`1490190`)" + +msgid "" +"Many other Mac OS modules have been deprecated and will be removed in Python " +"3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :" +"mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :mod:" +"`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" +"`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" +"`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :" +"mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :" +"mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:" +"`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:" +"`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, and :mod:" +"`terminalcommand`." +msgstr "" +"Багато інших модулів Mac OS застаріли та будуть видалені в Python 3.0: :mod:" +"`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :mod:" +"`applesingle` , :mod:`appletrawmain`, :mod:`appletrunner`, :mod:" +"`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" +"`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" +"`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:" +"`ic`, :mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:" +"`macfs`, :mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:" +"`Nav`, :mod:`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:" +"`PixMapWrapper`, :mod:`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal` і :" +"mod:`terminalcommand`." + +msgid "Port-Specific Changes: IRIX" +msgstr "Зміни, що стосуються порту: IRIX" + +msgid "" +"A number of old IRIX-specific modules were deprecated and will be removed in " +"Python 3.0: :mod:`al` and :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:" +"`cdplayer`, :mod:`CL` and :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:" +"`FILE`, :mod:`FL` and :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:" +"`GLWS`, :mod:`GL` and :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:" +"`panelparser`, :mod:`readcd`, :mod:`SV` and :mod:`sv`, :mod:`torgb`, :mod:" +"`videoreader`, and :mod:`WAIT`." +msgstr "" +"Кілька старих модулів, специфічних для IRIX, застаріли та будуть видалені в " +"Python 3.0: :mod:`al` і :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:`cdplayer`, :" +"mod:`CL` і :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:`FILE`, :mod:`FL` і :" +"mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:`GLWS`, :mod:`GL` і :mod:" +"`gl`, :mod:`IN` , :mod:`IOCTL`, :mod:`jpeg`, :mod:`panelparser`, :mod:" +"`readcd`, :mod:`SV` і :mod:`sv`, :mod:`torgb`, :mod:`videoreader` і :mod:" +"`WAIT`." + +msgid "Porting to Python 2.6" +msgstr "Перенесення на Python 2.6" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code:" +msgstr "" +"У цьому розділі перераховані раніше описані зміни та інші виправлення " +"помилок, які можуть потребувати змін у вашому коді:" + +msgid "" +"Classes that aren't supposed to be hashable should set ``__hash__ = None`` " +"in their definitions to indicate the fact." +msgstr "" +"Класи, які не мають бути хешованими, повинні встановити ``__hash__ = None`` " +"у своїх визначеннях, щоб вказати цей факт." + +msgid "" +"The :meth:`__init__` method of :class:`collections.deque` now clears any " +"existing contents of the deque before adding elements from the iterable. " +"This change makes the behavior match ``list.__init__()``." +msgstr "" +"Метод :meth:`__init__` :class:`collections.deque` тепер очищає будь-який " +"наявний вміст deque перед додаванням елементів із iterable. Ця зміна робить " +"поведінку відповідною ``list.__init__()``." + +msgid "" +":meth:`object.__init__` previously accepted arbitrary arguments and keyword " +"arguments, ignoring them. In Python 2.6, this is no longer allowed and will " +"result in a :exc:`TypeError`. This will affect :meth:`__init__` methods " +"that end up calling the corresponding method on :class:`object` (perhaps " +"through using :func:`super`). See :issue:`1683368` for discussion." +msgstr "" +":meth:`object.__init__` раніше приймав довільні аргументи та ключові " +"аргументи, ігноруючи їх. У Python 2.6 це більше не дозволено та призведе до :" +"exc:`TypeError`. Це вплине на методи :meth:`__init__`, які призводять до " +"виклику відповідного методу в :class:`object` (можливо, через використання :" +"func:`super`). Перегляньте :issue:`1683368` для обговорення." + +msgid "" +"The :class:`Decimal` constructor now accepts leading and trailing whitespace " +"when passed a string. Previously it would raise an :exc:`InvalidOperation` " +"exception. On the other hand, the :meth:`create_decimal` method of :class:" +"`Context` objects now explicitly disallows extra whitespace, raising a :exc:" +"`ConversionSyntax` exception." +msgstr "" +"Конструктор :class:`Decimal` тепер приймає пробіли на початку та в кінці під " +"час передачі рядка. Раніше це викликало виняток :exc:`InvalidOperation`. З " +"іншого боку, метод :meth:`create_decimal` об’єктів :class:`Context` тепер " +"явно забороняє додаткові пробіли, викликаючи виняток :exc:`ConversionSyntax`." + +msgid "" +"Due to an implementation accident, if you passed a file path to the built-" +"in :func:`__import__` function, it would actually import the specified " +"file. This was never intended to work, however, and the implementation now " +"explicitly checks for this case and raises an :exc:`ImportError`." +msgstr "" +"Через помилку реалізації, якщо ви передали шлях до файлу вбудованій функції :" +"func:`__import__`, вона фактично імпортує вказаний файл. Однак це ніколи не " +"планувалося працювати, і реалізація тепер явно перевіряє цей випадок і " +"викликає :exc:`ImportError`." + +msgid "" +"C API: the :c:func:`PyImport_Import` and :c:func:`PyImport_ImportModule` " +"functions now default to absolute imports, not relative imports. This will " +"affect C extensions that import other modules." +msgstr "" +"C API: функції :c:func:`PyImport_Import` і :c:func:`PyImport_ImportModule` " +"тепер за замовчуванням використовують абсолютний, а не відносний імпорт. Це " +"вплине на розширення C, які імпортують інші модулі." + +msgid "" +"C API: extension data types that shouldn't be hashable should define their " +"``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`." +msgstr "" +"C API: типи даних розширення, які не можна хешувати, повинні визначити свій " +"слот ``tp_hash`` як :c:func:`PyObject_HashNotImplemented`." + +msgid "" +"The :mod:`socket` module exception :exc:`socket.error` now inherits from :" +"exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but " +"now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; :issue:" +"`1706815`.)" +msgstr "" +"Виняток модуля :mod:`socket` :exc:`socket.error` тепер успадковує від :exc:" +"`IOError`. Раніше це не було підкласом :exc:`StandardError`, але тепер це є " +"через :exc:`IOError`. (Реалізовано Грегорі П. Смітом; :issue:`1706815`.)" + +msgid "" +"The :mod:`xmlrpclib` module no longer automatically converts :class:" +"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." +"DateTime` type; the conversion semantics were not necessarily correct for " +"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " +"and :class:`~datetime.time` instances. (:issue:`1330538`)" +msgstr "" +"Модуль :mod:`xmlrpclib` більше не перетворює автоматично :class:`datetime." +"date` і :class:`datetime.time` на тип :class:`xmlrpclib.DateTime`; семантика " +"перетворення не обов'язково була правильною для всіх програм. Код із " +"використанням :mod:`xmlrpclib` має конвертувати екземпляри :class:`date` і :" +"class:`~datetime.time`. (:issue:`1330538`)" + +msgid "" +"(3.0-warning mode) The :class:`Exception` class now warns when accessed " +"using slicing or index access; having :class:`Exception` behave like a tuple " +"is being phased out." +msgstr "" +"(Режим попередження 3.0) Клас :class:`Exception` тепер попереджає, коли до " +"нього звертаються за допомогою доступу до фрагментів або індексу; наявність :" +"class:`Exception` поводиться як кортеж, який поступово припиняється." + +msgid "" +"(3.0-warning mode) inequality comparisons between two dictionaries or two " +"objects that don't implement comparison methods are reported as warnings. " +"``dict1 == dict2`` still works, but ``dict1 < dict2`` is being phased out." +msgstr "" +"(3.0-режим попередження) порівняння нерівності між двома словниками або " +"двома об’єктами, які не реалізують методи порівняння, повідомляються як " +"попередження. ``dict1 == dict2`` все ще працює, але ``dict1 < dict2`` " +"поступово припиняється." + +msgid "" +"Comparisons between cells, which are an implementation detail of Python's " +"scoping rules, also cause warnings because such comparisons are forbidden " +"entirely in 3.0." +msgstr "" +"Порівняння між клітинками, які є частиною реалізації правил визначення " +"області дії Python, також викликають попередження, оскільки такі порівняння " +"повністю заборонені в 3.0." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Georg Brandl, Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent " +"Johnson, Chris Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." +msgstr "" +"Автор хотів би подякувати наступним людям за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Георг Брандл, Стів Браун, Нік " +"Коглан, Ральф Кордерой, Джим Джеветт, Кент Джонсон, Кріс Ламбакер, Мартін " +"Міхлмайр, Антуан Пітру, Браян Ворнер." diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po new file mode 100644 index 000000000..55a3d7e99 --- /dev/null +++ b/whatsnew/2.7.po @@ -0,0 +1,4298 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-28 01:51+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python 2.7" +msgstr "Що нового в Python 2.7" + +msgid "Author" +msgstr "Автор" + +msgid "A.M. Kuchling (amk at amk.ca)" +msgstr "A.M. Kuchling (amk в amk.ca)" + +msgid "" +"This article explains the new features in Python 2.7. Python 2.7 was " +"released on July 3, 2010." +msgstr "" +"У цій статті пояснюється нові функції в Python 2.7. Python 2.7 був випущений " +"3 липня 2010 року." + +msgid "" +"Numeric handling has been improved in many ways, for both floating-point " +"numbers and for the :class:`~decimal.Decimal` class. There are some useful " +"additions to the standard library, such as a greatly enhanced :mod:" +"`unittest` module, the :mod:`argparse` module for parsing command-line " +"options, convenient :class:`~collections.OrderedDict` and :class:" +"`~collections.Counter` classes in the :mod:`collections` module, and many " +"other improvements." +msgstr "" +"Обробку чисел було покращено багатьма способами, як для чисел з плаваючою " +"комою, так і для класу :class:`~decimal.Decimal`. Є деякі корисні доповнення " +"до стандартної бібліотеки, такі як значно покращений модуль :mod:`unittest`, " +"модуль :mod:`argparse` для аналізу параметрів командного рядка, зручний :" +"class:`~collections.OrderedDict` і :class:`~collections.Counter` класи в " +"модулі :mod:`collections` та багато інших покращень." + +msgid "" +"Python 2.7 is planned to be the last of the 2.x releases, so we worked on " +"making it a good release for the long term. To help with porting to Python " +"3, several new features from the Python 3.x series have been included in 2.7." +msgstr "" +"Планується, що Python 2.7 стане останнім випуском 2.x, тому ми працювали над " +"тим, щоб зробити його хорошим випуском у довгостроковій перспективі. Щоб " +"допомогти з перенесенням на Python 3, кілька нових функцій із серії Python 3." +"x було включено у 2.7." + +msgid "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.7 at https://docs.python.org. " +"If you want to understand the rationale for the design and implementation, " +"refer to the PEP for a particular new feature or the issue on https://bugs." +"python.org in which a change was discussed. Whenever possible, \"What's New " +"in Python\" links to the bug/patch item for each change." +msgstr "" +"Ця стаття не намагається надати повну специфікацію нових функцій, натомість " +"надає зручний огляд. Щоб отримати повну інформацію, зверніться до " +"документації для Python 2.7 за адресою https://docs.python.org. Якщо ви " +"хочете зрозуміти обґрунтування дизайну та реалізації, зверніться до PEP щодо " +"конкретної нової функції або проблеми на https://bugs.python.org, у якій " +"обговорювалася зміна. Коли це можливо, \"Що нового в Python\" посилається на " +"елемент помилки/виправлення для кожної зміни." + +msgid "The Future for Python 2.x" +msgstr "Майбутнє для Python 2.x" + +msgid "" +"Python 2.7 is the last major release in the 2.x series, as the Python " +"maintainers have shifted the focus of their new feature development efforts " +"to the Python 3.x series. This means that while Python 2 continues to " +"receive bug fixes, and to be updated to build correctly on new hardware and " +"versions of supported operated systems, there will be no new full feature " +"releases for the language or standard library." +msgstr "" +"Python 2.7 є останнім великим випуском серії 2.x, оскільки розробники Python " +"перенесли фокус своїх зусиль щодо розробки нових функцій на серію Python 3." +"x. Це означає, що в той час як Python 2 продовжує отримувати виправлення " +"помилок і буде оновлюватися для правильного створення на новому апаратному " +"забезпеченні та версіях підтримуваних операційних систем, не буде нових " +"випусків повних функцій для мови або стандартної бібліотеки." + +msgid "" +"However, while there is a large common subset between Python 2.7 and Python " +"3, and many of the changes involved in migrating to that common subset, or " +"directly to Python 3, can be safely automated, some other changes (notably " +"those associated with Unicode handling) may require careful consideration, " +"and preferably robust automated regression test suites, to migrate " +"effectively." +msgstr "" +"Однак, хоча між Python 2.7 і Python 3 існує велика спільна підмножина, і " +"багато змін, пов’язаних із переходом до цієї спільної підмножини або " +"безпосередньо до Python 3, можна безпечно автоматизувати, деякі інші зміни " +"(зокрема ті, що пов’язані з обробкою Unicode ) може вимагати ретельного " +"розгляду та, бажано, надійних автоматизованих наборів регресійних тестів для " +"ефективної міграції." + +msgid "" +"This means that Python 2.7 will remain in place for a long time, providing a " +"stable and supported base platform for production systems that have not yet " +"been ported to Python 3. The full expected lifecycle of the Python 2.7 " +"series is detailed in :pep:`373`." +msgstr "" +"Це означає, що Python 2.7 залишатиметься на місці протягом тривалого часу, " +"забезпечуючи стабільну та підтримувану базову платформу для виробничих " +"систем, які ще не перенесено на Python 3. Повний очікуваний життєвий цикл " +"серії Python 2.7 детально описано в :pep:`373`." + +msgid "Some key consequences of the long-term significance of 2.7 are:" +msgstr "Ось деякі ключові наслідки довгострокового значення 2.7:" + +msgid "" +"As noted above, the 2.7 release has a much longer period of maintenance when " +"compared to earlier 2.x versions. Python 2.7 is currently expected to remain " +"supported by the core development team (receiving security updates and other " +"bug fixes) until at least 2020 (10 years after its initial release, compared " +"to the more typical support period of 18--24 months)." +msgstr "" +"Як зазначалося вище, випуск 2.7 має набагато довший період обслуговування " +"порівняно з попередніми версіями 2.x. Наразі очікується, що Python 2.7 " +"підтримуватиметься основною командою розробників (отримаючи оновлення " +"безпеки та інші виправлення помилок) принаймні до 2020 року (через 10 років " +"після початкового випуску порівняно з типовішим періодом підтримки 18–24 " +"місяців)." + +msgid "" +"As the Python 2.7 standard library ages, making effective use of the Python " +"Package Index (either directly or via a redistributor) becomes more " +"important for Python 2 users. In addition to a wide variety of third party " +"packages for various tasks, the available packages include backports of new " +"modules and features from the Python 3 standard library that are compatible " +"with Python 2, as well as various tools and libraries that can make it " +"easier to migrate to Python 3. The `Python Packaging User Guide `__ provides guidance on downloading and installing " +"software from the Python Package Index." +msgstr "" +"Оскільки стандартна бібліотека Python 2.7 старіє, ефективне використання " +"індексу пакетів Python (пряме або через розповсюджувач) стає більш важливим " +"для користувачів Python 2. На додаток до широкого спектру пакетів сторонніх " +"розробників для різних завдань, доступні пакети включають бекпорти нових " +"модулів і функцій із стандартної бібліотеки Python 3, які сумісні з Python " +"2, а також різні інструменти та бібліотеки, які можуть спростити перейдіть " +"на Python 3. `Посібник користувача з упаковки Python `__ містить вказівки щодо завантаження та встановлення " +"програмного забезпечення з індексу пакетів Python." + +msgid "" +"While the preferred approach to enhancing Python 2 is now the publication of " +"new packages on the Python Package Index, this approach doesn't necessarily " +"work in all cases, especially those related to network security. In " +"exceptional cases that cannot be handled adequately by publishing new or " +"updated packages on PyPI, the Python Enhancement Proposal process may be " +"used to make the case for adding new features directly to the Python 2 " +"standard library. Any such additions, and the maintenance releases where " +"they were added, will be noted in the :ref:`py27-maintenance-enhancements` " +"section below." +msgstr "" +"Хоча зараз кращим підходом до покращення Python 2 є публікація нових пакетів " +"у індексі пакетів Python, цей підхід не обов’язково працює у всіх випадках, " +"особливо у випадках, пов’язаних із безпекою мережі. У виняткових випадках, " +"які не можуть бути належним чином оброблені шляхом публікації нових або " +"оновлених пакетів на PyPI, процес Python Enhancement Proposal може бути " +"використаний для аргументації додавання нових функцій безпосередньо до " +"стандартної бібліотеки Python 2. Будь-які такі доповнення та версії " +"обслуговування, де вони були додані, будуть зазначені в розділі :ref:`py27-" +"maintenance-enhancements` нижче." + +msgid "" +"For projects wishing to migrate from Python 2 to Python 3, or for library " +"and framework developers wishing to support users on both Python 2 and " +"Python 3, there are a variety of tools and guides available to help decide " +"on a suitable approach and manage some of the technical details involved. " +"The recommended starting point is the :ref:`pyporting-howto` HOWTO guide." +msgstr "" +"Для проектів, які бажають перейти з Python 2 на Python 3, або для " +"розробників бібліотек і фреймворків, які бажають підтримувати користувачів " +"як на Python 2, так і на Python 3, доступні різноманітні інструменти та " +"посібники, які допоможуть вибрати відповідний підхід і керувати деякими з " +"технічні деталі. Рекомендованою відправною точкою є :ref:`pyporting-howto` " +"посібник HOWTO." + +msgid "Changes to the Handling of Deprecation Warnings" +msgstr "Зміни в обробці попереджень про припинення підтримки" + +msgid "" +"For Python 2.7, a policy decision was made to silence warnings only of " +"interest to developers by default. :exc:`DeprecationWarning` and its " +"descendants are now ignored unless otherwise requested, preventing users " +"from seeing warnings triggered by an application. This change was also made " +"in the branch that became Python 3.2. (Discussed on stdlib-sig and carried " +"out in :issue:`7319`.)" +msgstr "" +"Для Python 2.7 було прийнято політичне рішення за умовчанням вимикати " +"попередження, які цікавлять лише розробників. :exc:`DeprecationWarning` та " +"його нащадки тепер ігноруються, якщо не вказано інше, що запобігає перегляду " +"попереджень, викликаних програмою. Цю зміну також було внесено у гілку, яка " +"стала Python 3.2. (Обговорено на stdlib-sig і виконано в :issue:`7319`.)" + +msgid "" +"In previous releases, :exc:`DeprecationWarning` messages were enabled by " +"default, providing Python developers with a clear indication of where their " +"code may break in a future major version of Python." +msgstr "" +"У попередніх випусках повідомлення :exc:`DeprecationWarning` було ввімкнено " +"за замовчуванням, надаючи розробникам Python чітке вказівку про те, де їхній " +"код може бути зламаний у майбутній основній версії Python." + +msgid "" +"However, there are increasingly many users of Python-based applications who " +"are not directly involved in the development of those applications. :exc:" +"`DeprecationWarning` messages are irrelevant to such users, making them " +"worry about an application that's actually working correctly and burdening " +"application developers with responding to these concerns." +msgstr "" +"Проте все більше користувачів програм на основі Python не беруть " +"безпосередньої участі в розробці цих програм. Повідомлення :exc:" +"`DeprecationWarning` не мають значення для таких користувачів, змушуючи їх " +"турбуватися про програму, яка справді працює правильно, і обтяжуючи " +"розробників програм реагуванням на ці проблеми." + +msgid "" +"You can re-enable display of :exc:`DeprecationWarning` messages by running " +"Python with the :option:`-Wdefault <-W>` (short form: :option:`-Wd <-W>`) " +"switch, or by setting the :envvar:`PYTHONWARNINGS` environment variable to ``" +"\"default\"`` (or ``\"d\"``) before running Python. Python code can also re-" +"enable them by calling ``warnings.simplefilter('default')``." +msgstr "" +"Ви можете знову ввімкнути відображення повідомлень :exc:" +"`DeprecationWarning`, запустивши Python із перемикачем :option:`-Wdefault <-" +"W>` (коротка форма: :option:`-Wd <-W>`) або встановивши перемикач :envvar:" +"`PYTHONWARNINGS` Перед запуском Python для змінної середовища установіть " +"значення ``\"default\"`` (або ``\"d\"``). Код Python також може повторно " +"ввімкнути їх, викликавши ``warnings.simplefilter('default')``." + +msgid "" +"The ``unittest`` module also automatically reenables deprecation warnings " +"when running tests." +msgstr "" +"Модуль ``unittest`` також автоматично повторно вмикає попередження про " +"застаріле під час виконання тестів." + +msgid "Python 3.1 Features" +msgstr "Функції Python 3.1" + +msgid "" +"Much as Python 2.6 incorporated features from Python 3.0, version 2.7 " +"incorporates some of the new features in Python 3.1. The 2.x series " +"continues to provide tools for migrating to the 3.x series." +msgstr "" +"Подібно до того, як Python 2.6 включив функції з Python 3.0, версія 2.7 " +"містить деякі нові функції в Python 3.1. Серія 2.x продовжує надавати " +"інструменти для переходу на серію 3.x." + +msgid "A partial list of 3.1 features that were backported to 2.7:" +msgstr "Неповний список функцій 3.1, які були перенесені до 2.7:" + +msgid "The syntax for set literals (``{1,2,3}`` is a mutable set)." +msgstr "Синтаксис літералів набору (``{1,2}`` є змінним набором)." + +msgid "Dictionary and set comprehensions (``{i: i*2 for i in range(3)}``)." +msgstr "Словник і набір розуміння (``{i: i*2 for i in range(3)}``)." + +msgid "Multiple context managers in a single :keyword:`with` statement." +msgstr "Кілька менеджерів контексту в одному операторі :keyword:`with`." + +msgid "A new version of the :mod:`io` library, rewritten in C for performance." +msgstr "" +"Нова версія бібліотеки :mod:`io`, переписана на C для підвищення " +"продуктивності." + +msgid "The ordered-dictionary type described in :ref:`pep-0372`." +msgstr "Тип упорядкованого словника, описаний у :ref:`pep-0372`." + +msgid "The new ``\",\"`` format specifier described in :ref:`pep-0378`." +msgstr "Новий специфікатор формату ``\",\"``, описаний у :ref:`pep-0378`." + +msgid "The :class:`memoryview` object." +msgstr "Об’єкт :class:`memoryview`." + +msgid "" +"A small subset of the :mod:`importlib` module, `described below <#importlib-" +"section>`__." +msgstr "" +"Невелика підмножина модуля :mod:`importlib`, `описаного нижче <#importlib-" +"section>`__." + +msgid "" +"The :func:`repr` of a float ``x`` is shorter in many cases: it's now based " +"on the shortest decimal string that's guaranteed to round back to ``x``. As " +"in previous versions of Python, it's guaranteed that ``float(repr(x))`` " +"recovers ``x``." +msgstr "" +":func:`repr` числа з плаваючою точкою ``x`` у багатьох випадках коротше: " +"тепер воно базується на найкоротшому десятковому рядку, який гарантовано " +"повертає назад до ``x``. Як і в попередніх версіях Python, гарантовано, що " +"``float(repr(x))`` відновлює ``x``." + +msgid "" +"Float-to-string and string-to-float conversions are correctly rounded. The :" +"func:`round` function is also now correctly rounded." +msgstr "" +"Перетворення float-to-string і string-to-float правильно округлені. Функція :" +"func:`round` також тепер правильно округлена." + +msgid "" +"The :c:type:`PyCapsule` type, used to provide a C API for extension modules." +msgstr "" +"Тип :c:type:`PyCapsule`, який використовується для надання C API для модулів " +"розширення." + +msgid "The :c:func:`PyLong_AsLongAndOverflow` C API function." +msgstr "Функція C API :c:func:`PyLong_AsLongAndOverflow`." + +msgid "Other new Python3-mode warnings include:" +msgstr "Інші нові попередження режиму Python3 включають:" + +msgid "" +":func:`operator.isCallable` and :func:`operator.sequenceIncludes`, which are " +"not supported in 3.x, now trigger warnings." +msgstr "" +":func:`operator.isCallable` і :func:`operator.sequenceIncludes`, які не " +"підтримуються в 3.x, тепер викликають попередження." + +msgid "" +"The :option:`!-3` switch now automatically enables the :option:`!-Qwarn` " +"switch that causes warnings about using classic division with integers and " +"long integers." +msgstr "" +"Перемикач :option:`!-3` тепер автоматично вмикає перемикач :option:`!-" +"Qwarn`, який викликає попередження про використання класичного ділення на " +"цілі та довгі цілі числа." + +msgid "PEP 372: Adding an Ordered Dictionary to collections" +msgstr "PEP 372: Додавання впорядкованого словника до колекцій" + +msgid "" +"Regular Python dictionaries iterate over key/value pairs in arbitrary order. " +"Over the years, a number of authors have written alternative implementations " +"that remember the order that the keys were originally inserted. Based on " +"the experiences from those implementations, 2.7 introduces a new :class:" +"`~collections.OrderedDict` class in the :mod:`collections` module." +msgstr "" +"Звичайні словники Python перебирають пари ключ/значення в довільному " +"порядку. Протягом багатьох років кілька авторів написали альтернативні " +"реалізації, які запам’ятовують порядок початкового вставлення ключів. " +"Базуючись на досвіді цих реалізацій, 2.7 представляє новий клас :class:" +"`~collections.OrderedDict` в модулі :mod:`collections`." + +msgid "" +"The :class:`~collections.OrderedDict` API provides the same interface as " +"regular dictionaries but iterates over keys and values in a guaranteed order " +"depending on when a key was first inserted::" +msgstr "" +":class:`~collections.OrderedDict` API надає той самий інтерфейс, що й " +"звичайні словники, але повторює ключі та значення в гарантованому порядку " +"залежно від того, коли ключ було вперше вставлено::" + +msgid "" +"If a new entry overwrites an existing entry, the original insertion position " +"is left unchanged::" +msgstr "" +"Якщо новий запис перезаписує існуючий запис, вихідна позиція вставки " +"залишається незмінною::" + +msgid "Deleting an entry and reinserting it will move it to the end::" +msgstr "" +"Видалення запису та повторне його вставлення перемістить його в кінець::" + +msgid "" +"The :meth:`~collections.OrderedDict.popitem` method has an optional *last* " +"argument that defaults to ``True``. If *last* is true, the most recently " +"added key is returned and removed; if it's false, the oldest key is " +"selected::" +msgstr "" +"Метод :meth:`~collections.OrderedDict.popitem` має додатковий *останній* " +"аргумент, який за умовчанням має значення ``True``. Якщо *last* має значення " +"true, повертається та видаляється останній доданий ключ; якщо він false, " +"вибирається найстаріший ключ::" + +msgid "" +"Comparing two ordered dictionaries checks both the keys and values, and " +"requires that the insertion order was the same::" +msgstr "" +"Порівняння двох упорядкованих словників перевіряє як ключі, так і значення, " +"і вимагає, щоб порядок вставки був однаковим:" + +msgid "" +"Comparing an :class:`~collections.OrderedDict` with a regular dictionary " +"ignores the insertion order and just compares the keys and values." +msgstr "" +"Порівняння :class:`~collections.OrderedDict` зі звичайним словником ігнорує " +"порядок вставки та просто порівнює ключі та значення." + +msgid "" +"How does the :class:`~collections.OrderedDict` work? It maintains a doubly " +"linked list of keys, appending new keys to the list as they're inserted. A " +"secondary dictionary maps keys to their corresponding list node, so deletion " +"doesn't have to traverse the entire linked list and therefore remains O(1)." +msgstr "" + +msgid "" +"The standard library now supports use of ordered dictionaries in several " +"modules." +msgstr "" +"Стандартна бібліотека тепер підтримує використання впорядкованих словників у " +"кількох модулях." + +msgid "" +"The :mod:`ConfigParser` module uses them by default, meaning that " +"configuration files can now be read, modified, and then written back in " +"their original order." +msgstr "" +"Модуль :mod:`ConfigParser` використовує їх за замовчуванням, тобто файли " +"конфігурації тепер можна читати, змінювати та потім записувати назад у " +"вихідному порядку." + +msgid "" +"The :meth:`~collections.somenamedtuple._asdict()` method for :func:" +"`collections.namedtuple` now returns an ordered dictionary with the values " +"appearing in the same order as the underlying tuple indices." +msgstr "" +"Метод :meth:`~collections.somenamedtuple._asdict()` для :func:`collections." +"namedtuple` тепер повертає впорядкований словник із значеннями, що " +"з’являються в тому самому порядку, що й базові індекси кортежу." + +msgid "" +"The :mod:`json` module's :class:`~json.JSONDecoder` class constructor was " +"extended with an *object_pairs_hook* parameter to allow :class:`OrderedDict` " +"instances to be built by the decoder. Support was also added for third-party " +"tools like `PyYAML `_." +msgstr "" + +msgid ":pep:`372` - Adding an ordered dictionary to collections" +msgstr ":pep:`372` - Додавання впорядкованого словника до колекцій" + +msgid "" +"PEP written by Armin Ronacher and Raymond Hettinger; implemented by Raymond " +"Hettinger." +msgstr "" +"PEP, написаний Арміном Роначером і Раймондом Геттінгером; реалізований " +"Раймондом Хеттінгером." + +msgid "PEP 378: Format Specifier for Thousands Separator" +msgstr "PEP 378: Специфікатор формату для розділювача тисяч" + +msgid "" +"To make program output more readable, it can be useful to add separators to " +"large numbers, rendering them as 18,446,744,073,709,551,616 instead of " +"18446744073709551616." +msgstr "" +"Щоб зробити вихідні дані програми більш читабельними, може бути корисно " +"додати роздільники до великих чисел, відображаючи їх як " +"18,446,744,073,709,551,616 замість 18446744073709551616." + +msgid "" +"The fully general solution for doing this is the :mod:`locale` module, which " +"can use different separators (\",\" in North America, \".\" in Europe) and " +"different grouping sizes, but :mod:`locale` is complicated to use and " +"unsuitable for multi-threaded applications where different threads are " +"producing output for different locales." +msgstr "" +"Повністю загальним рішенням для цього є модуль :mod:`locale`, який може " +"використовувати різні роздільники (\",\" у Північній Америці, \".\" у " +"Європі) і різні розміри групування, але :mod:`locale` є складним. для " +"використання та непридатний для багатопоточних програм, де різні потоки " +"створюють вихід для різних локалей." + +msgid "" +"Therefore, a simple comma-grouping mechanism has been added to the mini-" +"language used by the :meth:`str.format` method. When formatting a floating-" +"point number, simply include a comma between the width and the precision::" +msgstr "" +"Таким чином, до міні-мови, яка використовується методом :meth:`str.format`, " +"додано простий механізм групування комами. Під час форматування числа з " +"плаваючою комою просто додайте кому між шириною та точністю::" + +msgid "When formatting an integer, include the comma after the width:" +msgstr "Форматуючи ціле число, додайте кому після ширини:" + +msgid "" +"This mechanism is not adaptable at all; commas are always used as the " +"separator and the grouping is always into three-digit groups. The comma-" +"formatting mechanism isn't as general as the :mod:`locale` module, but it's " +"easier to use." +msgstr "" +"Цей механізм взагалі не адаптується; коми завжди використовуються як " +"роздільники, а групування завжди відбувається у тризначні групи. Механізм " +"форматування комами не такий загальний, як модуль :mod:`locale`, але ним " +"простіше користуватися." + +msgid ":pep:`378` - Format Specifier for Thousands Separator" +msgstr ":pep:`378` - Специфікатор формату для розділювача тисяч" + +msgid "PEP written by Raymond Hettinger; implemented by Eric Smith." +msgstr "PEP, написаний Раймондом Геттінгером; реалізований Еріком Смітом." + +msgid "PEP 389: The argparse Module for Parsing Command Lines" +msgstr "PEP 389: Модуль argparse для розбору командних рядків" + +msgid "" +"The :mod:`argparse` module for parsing command-line arguments was added as a " +"more powerful replacement for the :mod:`optparse` module." +msgstr "" +"Модуль :mod:`argparse` для аналізу аргументів командного рядка було додано " +"як більш потужну заміну модулю :mod:`optparse`." + +msgid "" +"This means Python now supports three different modules for parsing command-" +"line arguments: :mod:`getopt`, :mod:`optparse`, and :mod:`argparse`. The :" +"mod:`getopt` module closely resembles the C library's :c:func:`getopt` " +"function, so it remains useful if you're writing a Python prototype that " +"will eventually be rewritten in C. :mod:`optparse` becomes redundant, but " +"there are no plans to remove it because there are many scripts still using " +"it, and there's no automated way to update these scripts. (Making the :mod:" +"`argparse` API consistent with :mod:`optparse`'s interface was discussed but " +"rejected as too messy and difficult.)" +msgstr "" +"Це означає, що тепер Python підтримує три різні модулі для аналізу " +"аргументів командного рядка: :mod:`getopt`, :mod:`optparse` і :mod:" +"`argparse`. Модуль :mod:`getopt` дуже нагадує функцію :c:func:`getopt` " +"бібліотеки C, тому він залишається корисним, якщо ви пишете прототип Python, " +"який згодом буде переписано на C. :mod:`optparse` стає зайвий, але немає " +"планів його видалення, оскільки багато сценаріїв все ще використовують його, " +"і немає автоматичного способу оновлення цих сценаріїв. (Створення API :mod:" +"`argparse` узгодженого з інтерфейсом :mod:`optparse` обговорювалося, але " +"було відхилено як надто брудне та складне.)" + +msgid "" +"In short, if you're writing a new script and don't need to worry about " +"compatibility with earlier versions of Python, use :mod:`argparse` instead " +"of :mod:`optparse`." +msgstr "" +"Коротше кажучи, якщо ви пишете новий сценарій і вам не потрібно турбуватися " +"про сумісність із попередніми версіями Python, використовуйте :mod:" +"`argparse` замість :mod:`optparse`." + +msgid "Here's an example::" +msgstr "Ось приклад::" + +msgid "" +"Unless you override it, :option:`!-h` and :option:`!--help` switches are " +"automatically added, and produce neatly formatted output::" +msgstr "" +"Якщо ви не заміните його, перемикачі :option:`!-h` і :option:`!--help` " +"додаються автоматично та створюють акуратно відформатований вихід::" + +msgid "" +"As with :mod:`optparse`, the command-line switches and arguments are " +"returned as an object with attributes named by the *dest* parameters::" +msgstr "" +"Як і у випадку з :mod:`optparse`, ключі та аргументи командного рядка " +"повертаються як об’єкт з атрибутами, названими параметрами *dest*::" + +msgid "" +":mod:`argparse` has much fancier validation than :mod:`optparse`; you can " +"specify an exact number of arguments as an integer, 0 or more arguments by " +"passing ``'*'``, 1 or more by passing ``'+'``, or an optional argument with " +"``'?'``. A top-level parser can contain sub-parsers to define subcommands " +"that have different sets of switches, as in ``svn commit``, ``svn " +"checkout``, etc. You can specify an argument's type as :class:`~argparse." +"FileType`, which will automatically open files for you and understands that " +"``'-'`` means standard input or output." +msgstr "" +":mod:`argparse` має набагато кращу перевірку, ніж :mod:`optparse`; ви можете " +"вказати точну кількість аргументів у вигляді цілого числа, 0 або більше " +"аргументів, передавши ``'*'``, 1 або більше, передавши ``'+'``, або " +"необов'язковий аргумент за допомогою ``'?'``. Парсер верхнього рівня може " +"містити суб-парсери для визначення підкоманд, які мають різні набори " +"перемикачів, як-от ``svn commit``, ``svn checkout`` тощо. Ви можете вказати " +"тип аргументу як :class:`~argparse.FileType`, який автоматично відкриватиме " +"для вас файли та розуміє, що ``'-'`` означає стандартне введення або " +"виведення." + +msgid ":mod:`argparse` documentation" +msgstr ":mod:`argparse` документація" + +msgid "The documentation page of the argparse module." +msgstr "Сторінка документації модуля argparse." + +msgid ":ref:`upgrading-optparse-code`" +msgstr ":ref:`upgrading-optparse-code`" + +msgid "" +"Part of the Python documentation, describing how to convert code that uses :" +"mod:`optparse`." +msgstr "" +"Частина документації Python, яка описує, як конвертувати код, який " +"використовує :mod:`optparse`." + +msgid ":pep:`389` - argparse - New Command Line Parsing Module" +msgstr ":pep:`389` - argparse - Новий модуль аналізу командного рядка" + +msgid "PEP written and implemented by Steven Bethard." +msgstr "PEP написаний і реалізований Стівеном Бетардом." + +msgid "PEP 391: Dictionary-Based Configuration For Logging" +msgstr "PEP 391: Конфігурація на основі словника для журналювання" + +msgid "" +"The :mod:`logging` module is very flexible; applications can define a tree " +"of logging subsystems, and each logger in this tree can filter out certain " +"messages, format them differently, and direct messages to a varying number " +"of handlers." +msgstr "" +"Модуль :mod:`logging` дуже гнучкий; Програми можуть визначати дерево " +"підсистем журналювання, і кожен реєстратор у цьому дереві може фільтрувати " +"певні повідомлення, форматувати їх по-різному та направляти повідомлення до " +"різної кількості обробників." + +msgid "" +"All this flexibility can require a lot of configuration. You can write " +"Python statements to create objects and set their properties, but a complex " +"set-up requires verbose but boring code. :mod:`logging` also supports a :" +"func:`~logging.fileConfig` function that parses a file, but the file format " +"doesn't support configuring filters, and it's messier to generate " +"programmatically." +msgstr "" +"Уся ця гнучкість може вимагати багато налаштувань. Ви можете писати " +"оператори Python для створення об’єктів і встановлення їхніх властивостей, " +"але для складного налаштування потрібен багатослівний, але нудний код. :mod:" +"`logging` також підтримує функцію :func:`~logging.fileConfig`, яка аналізує " +"файл, але формат файлу не підтримує налаштування фільтрів, і програмно " +"генерувати його складніше." + +msgid "" +"Python 2.7 adds a :func:`~logging.dictConfig` function that uses a " +"dictionary to configure logging. There are many ways to produce a " +"dictionary from different sources: construct one with code; parse a file " +"containing JSON; or use a YAML parsing library if one is installed. For " +"more information see :ref:`logging-config-api`." +msgstr "" +"Python 2.7 додає функцію :func:`~logging.dictConfig`, яка використовує " +"словник для налаштування журналювання. Існує багато способів створення " +"словника з різних джерел: створити словник за допомогою коду; розібрати " +"файл, що містить JSON; або використовуйте бібліотеку аналізу YAML, якщо вона " +"встановлена. Для отримання додаткової інформації див. :ref:`logging-config-" +"api`." + +msgid "" +"The following example configures two loggers, the root logger and a logger " +"named \"network\". Messages sent to the root logger will be sent to the " +"system log using the syslog protocol, and messages to the \"network\" logger " +"will be written to a :file:`network.log` file that will be rotated once the " +"log reaches 1MB." +msgstr "" +"У наступному прикладі налаштовуються два реєстратори, кореневий реєстратор і " +"реєстратор під назвою \"мережа\". Повідомлення, надіслані до кореневого " +"реєстратора, надсилатимуться до системного журналу за допомогою протоколу " +"системного журналу, а повідомлення до \"мережевого\" реєстратора " +"записуватимуться у файл :file:`network.log`, який буде обертатися, коли " +"розмір журналу досягне 1 МБ." + +msgid "" +"Three smaller enhancements to the :mod:`logging` module, all implemented by " +"Vinay Sajip, are:" +msgstr "" +"Три менші вдосконалення модуля :mod:`logging`, усі реалізовані Вінаєм " +"Саджипом, це:" + +msgid "" +"The :class:`~logging.handlers.SysLogHandler` class now supports syslogging " +"over TCP. The constructor has a *socktype* parameter giving the type of " +"socket to use, either :const:`socket.SOCK_DGRAM` for UDP or :const:`socket." +"SOCK_STREAM` for TCP. The default protocol remains UDP." +msgstr "" +"Клас :class:`~logging.handlers.SysLogHandler` тепер підтримує ведення " +"системного журналу через TCP. Конструктор має параметр *socktype*, що вказує " +"тип сокета для використання: :const:`socket.SOCK_DGRAM` для UDP або :const:" +"`socket.SOCK_STREAM` для TCP. Стандартним протоколом залишається UDP." + +msgid "" +":class:`~logging.Logger` instances gained a :meth:`~logging.Logger.getChild` " +"method that retrieves a descendant logger using a relative path. For " +"example, once you retrieve a logger by doing ``log = getLogger('app')``, " +"calling ``log.getChild('network.listen')`` is equivalent to ``getLogger('app." +"network.listen')``." +msgstr "" +"Екземпляри :class:`~logging.Logger` отримали метод :meth:`~logging.Logger." +"getChild`, який отримує реєстратор-нащадок за допомогою відносного шляху. " +"Наприклад, якщо ви отримуєте реєстратор за допомогою ``log = " +"getLogger('app')``, виклик ``log.getChild('network.listen')`` еквівалентний " +"``getLogger('app.network. слухай')``." + +msgid "" +"The :class:`~logging.LoggerAdapter` class gained an :meth:`~logging." +"LoggerAdapter.isEnabledFor` method that takes a *level* and returns whether " +"the underlying logger would process a message of that level of importance." +msgstr "" +"Клас :class:`~logging.LoggerAdapter` отримав метод :meth:`~logging." +"LoggerAdapter.isEnabledFor`, який приймає *рівень* і повертає інформацію про " +"те, чи обробить основний реєстратор повідомлення такого рівня важливості." + +msgid ":pep:`391` - Dictionary-Based Configuration For Logging" +msgstr ":pep:`391` - Конфігурація для журналювання на основі словника" + +msgid "PEP written and implemented by Vinay Sajip." +msgstr "PEP написаний і реалізований Вінаєм Саджипом." + +msgid "PEP 3106: Dictionary Views" +msgstr "PEP 3106: Перегляди словника" + +msgid "" +"The dictionary methods :meth:`~dict.keys`, :meth:`~dict.values`, and :meth:" +"`~dict.items` are different in Python 3.x. They return an object called a :" +"dfn:`view` instead of a fully materialized list." +msgstr "" +"Методи словника :meth:`~dict.keys`, :meth:`~dict.values` і :meth:`~dict." +"items` відрізняються в Python 3.x. Вони повертають об’єкт під назвою :dfn:" +"`view` замість повністю матеріалізованого списку." + +msgid "" +"It's not possible to change the return values of :meth:`~dict.keys`, :meth:" +"`~dict.values`, and :meth:`~dict.items` in Python 2.7 because too much code " +"would break. Instead the 3.x versions were added under the new names :meth:" +"`~dict.viewkeys`, :meth:`~dict.viewvalues`, and :meth:`~dict.viewitems`." +msgstr "" +"Неможливо змінити значення, що повертаються :meth:`~dict.keys`, :meth:`~dict." +"values` і :meth:`~dict.items` у Python 2.7, тому що забагато коду порушить " +"роботу. Замість цього було додано версії 3.x під новими назвами :meth:`~dict." +"viewkeys`, :meth:`~dict.viewvalues` і :meth:`~dict.viewitems`." + +msgid "" +"Views can be iterated over, but the key and item views also behave like " +"sets. The ``&`` operator performs intersection, and ``|`` performs a union::" +msgstr "" +"Подання можна повторювати, але подання ключів і елементів також поводяться " +"як набори. Оператор ``&`` виконує перетин, а ``|`` виконує об’єднання::" + +msgid "" +"The view keeps track of the dictionary and its contents change as the " +"dictionary is modified::" +msgstr "" +"Перегляд відстежує словник і його вміст змінюється, коли словник змінюється::" + +msgid "" +"However, note that you can't add or remove keys while you're iterating over " +"the view::" +msgstr "" +"Однак зауважте, що ви не можете додавати або видаляти ключі під час " +"перегляду перегляду::" + +msgid "" +"You can use the view methods in Python 2.x code, and the 2to3 converter will " +"change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, and :" +"meth:`~dict.items` methods." +msgstr "" +"Ви можете використовувати методи перегляду в коді Python 2.x, а конвертер " +"2to3 змінить їх на стандартні :meth:`~dict.keys`, :meth:`~dict.values` і " +"Методи :meth:`~dict.items`." + +msgid ":pep:`3106` - Revamping dict.keys(), .values() and .items()" +msgstr ":pep:`3106` - Перебудова dict.keys(), .values() і .items()" + +msgid "" +"PEP written by Guido van Rossum. Backported to 2.7 by Alexandre Vassalotti; :" +"issue:`1967`." +msgstr "" +"PEP, написаний Гвідо ван Россумом. Перенесено до 2.7 Александром " +"Вассалотті; :issue:`1967`." + +msgid "PEP 3137: The memoryview Object" +msgstr "PEP 3137: об’єкт memoryview" + +msgid "" +"The :class:`memoryview` object provides a view of another object's memory " +"content that matches the :class:`bytes` type's interface." +msgstr "" +"Об’єкт :class:`memoryview` забезпечує перегляд вмісту пам’яті іншого " +"об’єкта, який відповідає інтерфейсу типу :class:`bytes`." + +msgid "" +"The content of the view can be converted to a string of bytes or a list of " +"integers:" +msgstr "" +"Вміст подання можна перетворити на рядок байтів або список цілих чисел:" + +msgid "" +":class:`memoryview` objects allow modifying the underlying object if it's a " +"mutable object." +msgstr "" +"Об’єкти :class:`memoryview` дозволяють змінювати базовий об’єкт, якщо він " +"змінний." + +msgid ":pep:`3137` - Immutable Bytes and Mutable Buffer" +msgstr ":pep:`3137` - Незмінні байти та змінний буфер" + +msgid "" +"PEP written by Guido van Rossum. Implemented by Travis Oliphant, Antoine " +"Pitrou and others. Backported to 2.7 by Antoine Pitrou; :issue:`2396`." +msgstr "" +"PEP, написаний Гвідо ван Россумом. Реалізовано Тревісом Оліфантом, Антуаном " +"Пітру та іншими. Повернено до 2.7 Антуаном Пітру; :issue:`2396`." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"The syntax for set literals has been backported from Python 3.x. Curly " +"brackets are used to surround the contents of the resulting mutable set; set " +"literals are distinguished from dictionaries by not containing colons and " +"values. ``{}`` continues to represent an empty dictionary; use ``set()`` for " +"an empty set." +msgstr "" +"Синтаксис літералів набору було перенесено з Python 3.x. Фігурні дужки " +"використовуються для обведення вмісту отриманого змінного набору; Літерали " +"набору відрізняються від словників тим, що вони не містять двокрапки та " +"значень. ``{}`` продовжує представляти порожній словник; використовуйте " +"``set()`` для порожнього набору." + +msgid "Backported by Alexandre Vassalotti; :issue:`2335`." +msgstr "Підтримано Александром Вассалотті; :issue:`2335`." + +msgid "" +"Dictionary and set comprehensions are another feature backported from 3.x, " +"generalizing list/generator comprehensions to use the literal syntax for " +"sets and dictionaries." +msgstr "" +"Розуміння словників і наборів — ще одна функція, портована з версії 3.x, яка " +"узагальнює розуміння списків/генераторів для використання літерального " +"синтаксису для наборів і словників." + +msgid "Backported by Alexandre Vassalotti; :issue:`2333`." +msgstr "Підтримано Александром Вассалотті; :issue:`2333`." + +msgid "" +"The :keyword:`with` statement can now use multiple context managers in one " +"statement. Context managers are processed from left to right and each one " +"is treated as beginning a new :keyword:`!with` statement. This means that::" +msgstr "" +"Оператор :keyword:`with` тепер може використовувати кілька менеджерів " +"контексту в одному операторі. Менеджери контексту обробляються зліва " +"направо, і кожен з них розглядається як початок нового оператора :keyword:`!" +"with`. Це означає що::" + +msgid "is equivalent to::" +msgstr "еквівалентно::" + +msgid "" +"The :func:`contextlib.nested` function provides a very similar function, so " +"it's no longer necessary and has been deprecated." +msgstr "" +"Функція :func:`contextlib.nested` надає дуже схожу функцію, тому вона більше " +"не потрібна і є застарілою." + +msgid "" +"(Proposed in https://codereview.appspot.com/53094; implemented by Georg " +"Brandl.)" +msgstr "" +"(Запропоновано в https://codereview.appspot.com/53094; реалізовано Георгом " +"Брандлом.)" + +msgid "" +"Conversions between floating-point numbers and strings are now correctly " +"rounded on most platforms. These conversions occur in many different " +"places: :func:`str` on floats and complex numbers; the :class:`float` and :" +"class:`complex` constructors; numeric formatting; serializing and " +"deserializing floats and complex numbers using the :mod:`marshal`, :mod:" +"`pickle` and :mod:`json` modules; parsing of float and imaginary literals in " +"Python code; and :class:`~decimal.Decimal`-to-float conversion." +msgstr "" +"Перетворення між числами з плаваючою комою та рядками тепер правильно " +"округлені на більшості платформ. Ці перетворення відбуваються в багатьох " +"різних місцях: :func:`str` для чисел з плаваючою точкою та комплексних " +"чисел; конструктори :class:`float` і :class:`complex`; форматування чисел; " +"серіалізація та десеріалізація плаваючих і комплексних чисел за допомогою " +"модулів :mod:`marshal`, :mod:`pickle` і :mod:`json`; розбір літералів з " +"плаваючою точкою та уявних літералів у коді Python; і перетворення з :class:" +"`~decimal.Decimal` в число з плаваючою точкою." + +msgid "" +"Related to this, the :func:`repr` of a floating-point number *x* now returns " +"a result based on the shortest decimal string that's guaranteed to round " +"back to *x* under correct rounding (with round-half-to-even rounding mode). " +"Previously it gave a string based on rounding x to 17 decimal digits." +msgstr "" +"Пов’язано з цим, :func:`repr` числа з плаваючою комою *x* тепер повертає " +"результат на основі найкоротшого десяткового рядка, який гарантовано " +"повертається до *x* за правильного округлення (з округленням від половини " +"до- рівномірний режим округлення). Раніше він давав рядок на основі " +"округлення x до 17 десяткових цифр." + +msgid "" +"The rounding library responsible for this improvement works on Windows and " +"on Unix platforms using the gcc, icc, or suncc compilers. There may be a " +"small number of platforms where correct operation of this code cannot be " +"guaranteed, so the code is not used on such systems. You can find out which " +"code is being used by checking :data:`sys.float_repr_style`, which will be " +"``short`` if the new code is in use and ``legacy`` if it isn't." +msgstr "" +"Бібліотека округлення, відповідальна за це вдосконалення, працює на " +"платформах Windows і Unix за допомогою компіляторів gcc, icc або suncc. Може " +"існувати невелика кількість платформ, на яких коректна робота цього коду не " +"може бути гарантована, тому код не використовується в таких системах. Ви " +"можете дізнатися, який код використовується, перевіривши :data:`sys." +"float_repr_style`, який буде ``short``, якщо новий код використовується, і " +"``legacy``, якщо він не використовується." + +msgid "" +"Implemented by Eric Smith and Mark Dickinson, using David Gay's :file:`dtoa." +"c` library; :issue:`7117`." +msgstr "" +"Реалізовано Еріком Смітом і Марком Дікінсоном, використовуючи бібліотеку :" +"file:`dtoa.c` Девіда Гея; :issue:`7117`." + +msgid "" +"Conversions from long integers and regular integers to floating point now " +"round differently, returning the floating-point number closest to the " +"number. This doesn't matter for small integers that can be converted " +"exactly, but for large numbers that will unavoidably lose precision, Python " +"2.7 now approximates more closely. For example, Python 2.6 computed the " +"following::" +msgstr "" +"Перетворення довгих цілих і звичайних цілих чисел у числа з плаваючою комою " +"тепер округлюються по-різному, повертаючи найближче до числа число з " +"плаваючою комою. Це не має значення для малих цілих чисел, які можна точно " +"перетворити, але для великих чисел, які неминуче втратять точність, Python " +"2.7 тепер наближається точніше. Наприклад, Python 2.6 обчислив наступне:" + +msgid "" +"Python 2.7's floating-point result is larger, but much closer to the true " +"value::" +msgstr "" +"Результат Python 2.7 з плаваючою комою більший, але набагато ближчий до " +"справжнього значення::" + +msgid "(Implemented by Mark Dickinson; :issue:`3166`.)" +msgstr "(Реалізовано Марком Дікінсоном; :issue:`3166`.)" + +msgid "" +"Integer division is also more accurate in its rounding behaviours. (Also " +"implemented by Mark Dickinson; :issue:`1811`.)" +msgstr "" +"Цілочисельне ділення також є більш точним у своїй поведінці округлення. " +"(Також реалізовано Марком Дікінсоном; :issue:`1811`.)" + +msgid "" +"Implicit coercion for complex numbers has been removed; the interpreter will " +"no longer ever attempt to call a :meth:`__coerce__` method on complex " +"objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" +msgstr "" +"Неявний примус для комплексних чисел видалено; інтерпретатор більше ніколи " +"не намагатиметься викликати метод :meth:`__coerce__` для складних об’єктів. " +"(Видалено Меадор Інґе та Марком Дікінсоном; :issue:`5211`.)" + +msgid "" +"The :meth:`str.format` method now supports automatic numbering of the " +"replacement fields. This makes using :meth:`str.format` more closely " +"resemble using ``%s`` formatting::" +msgstr "" +"Метод :meth:`str.format` тепер підтримує автоматичну нумерацію полів заміни. " +"Це робить використання :meth:`str.format` більш схожим на використання ``" +"%s`` форматування::" + +msgid "" +"The auto-numbering takes the fields from left to right, so the first ``{...}" +"`` specifier will use the first argument to :meth:`str.format`, the next " +"specifier will use the next argument, and so on. You can't mix auto-" +"numbering and explicit numbering -- either number all of your specifier " +"fields or none of them -- but you can mix auto-numbering and named fields, " +"as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" +msgstr "" +"Автоматична нумерація виконує поля зліва направо, тому перший специфікатор " +"``{...}`` використовуватиме перший аргумент :meth:`str.format`, наступний " +"специфікатор використовуватиме наступний аргумент, а так далі. Ви не можете " +"змішувати автоматичну нумерацію та явну нумерацію — або пронумеруйте всі " +"поля специфікаторів, або жодне з них — але ви можете поєднувати автоматичну " +"нумерацію та іменовані поля, як у другому прикладі вище. (Надав Ерік Сміт; :" +"issue:`5237`.)" + +msgid "" +"Complex numbers now correctly support usage with :func:`format`, and default " +"to being right-aligned. Specifying a precision or comma-separation applies " +"to both the real and imaginary parts of the number, but a specified field " +"width and alignment is applied to the whole of the resulting ``1.5+3j`` " +"output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)" +msgstr "" +"Комплексні числа тепер правильно підтримують використання з :func:`format` і " +"за замовчуванням вирівнюються по правому краю. Вказівка точності або " +"розділення комами застосовується як до дійсної, так і до уявної частин " +"числа, але задана ширина поля та вирівнювання застосовуються до всього " +"результуючого результату ``1,5+3j``. (Надав Ерік Сміт; :issue:`1588` і :" +"issue:`7988`.)" + +msgid "" +"The 'F' format code now always formats its output using uppercase " +"characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric " +"Smith; :issue:`3382`.)" +msgstr "" +"Код формату \"F\" тепер завжди форматує вихідні дані за допомогою символів у " +"верхньому регістрі, тому тепер він створюватиме \"INF\" і \"NAN\". (Надав " +"Ерік Сміт; :issue:`3382`.)" + +msgid "" +"A low-level change: the :meth:`object.__format__` method now triggers a :exc:" +"`PendingDeprecationWarning` if it's passed a format string, because the :" +"meth:`__format__` method for :class:`object` converts the object to a string " +"representation and formats that. Previously the method silently applied the " +"format string to the string representation, but that could hide mistakes in " +"Python code. If you're supplying formatting information such as an " +"alignment or precision, presumably you're expecting the formatting to be " +"applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)" +msgstr "" +"Зміна низького рівня: метод :meth:`object.__format__` тепер запускає :exc:" +"`PendingDeprecationWarning`, якщо передано рядок формату, оскільки метод :" +"meth:`__format__` для :class:`object` перетворює об'єкт до рядкового " +"представлення та форматує це. Раніше метод мовчки застосовував рядок формату " +"до представлення рядка, але це могло приховати помилки в коді Python. Якщо " +"ви надаєте інформацію про форматування, таку як вирівнювання або точність, " +"імовірно, ви очікуєте, що форматування буде застосовано певним чином, що " +"стосується конкретного об’єкта. (Виправлено Еріком Смітом; :issue:`7994`.)" + +msgid "" +"The :func:`int` and :func:`long` types gained a ``bit_length`` method that " +"returns the number of bits necessary to represent its argument in binary::" +msgstr "" +"Типи :func:`int` і :func:`long` отримали метод ``bit_length``, який повертає " +"кількість бітів, необхідних для представлення свого аргументу в двійковому " +"вигляді::" + +msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" +msgstr "(Надано Фредріком Йоханссоном і Віктором Стіннером; :issue:`3439`.)" + +msgid "" +"The :keyword:`import` statement will no longer try an absolute import if a " +"relative import (e.g. ``from .os import sep``) fails. This fixes a bug, but " +"could possibly break certain :keyword:`!import` statements that were only " +"working by accident. (Fixed by Meador Inge; :issue:`7902`.)" +msgstr "" +"Оператор :keyword:`import` більше не намагатиметься виконати абсолютний " +"імпорт, якщо відносний імпорт (наприклад, ``from .os import sep``) не " +"вдається. Це виправляє помилку, але, можливо, може порушити певні оператори :" +"keyword:`!import`, які працювали лише випадково. (Виправлено Meador Inge; :" +"issue:`7902`.)" + +msgid "" +"It's now possible for a subclass of the built-in :class:`unicode` type to " +"override the :meth:`__unicode__` method. (Implemented by Victor Stinner; :" +"issue:`1583863`.)" +msgstr "" +"Тепер підклас вбудованого типу :class:`unicode` може перевизначати метод :" +"meth:`__unicode__`. (Реалізовано Віктором Стіннером; :issue:`1583863`.)" + +msgid "" +"The :class:`bytearray` type's :meth:`~bytearray.translate` method now " +"accepts ``None`` as its first argument. (Fixed by Georg Brandl; :issue:" +"`4759`.)" +msgstr "" +"Метод :meth:`~bytearray.translate` типу :class:`bytearray` тепер приймає як " +"перший аргумент ``None``. (Виправлено Георгом Брандлом; :issue:`4759`.)" + +msgid "" +"When using ``@classmethod`` and ``@staticmethod`` to wrap methods as class " +"or static methods, the wrapper object now exposes the wrapped function as " +"their :attr:`__func__` attribute. (Contributed by Amaury Forgeot d'Arc, " +"after a suggestion by George Sakkis; :issue:`5982`.)" +msgstr "" +"У разі використання ``@classmethod`` і ``@staticmethod`` для обгортання " +"методів як методів класу або статичних методів, об’єкт-огортка тепер надає " +"обгорнуту функцію як їхній атрибут :attr:`__func__`. (Надано Аморі Форже " +"д'Арк за пропозицією Джорджа Саккіса; :issue:`5982`.)" + +msgid "" +"When a restricted set of attributes were set using ``__slots__``, deleting " +"an unset attribute would not raise :exc:`AttributeError` as you would " +"expect. Fixed by Benjamin Peterson; :issue:`7604`.)" +msgstr "" +"Коли обмежений набір атрибутів було встановлено за допомогою ``__slots__``, " +"видалення невстановленого атрибута не викликало б :exc:`AttributeError`, як " +"ви очікували. Виправлено Бенджаміном Петерсоном; :issue:`7604`.)" + +msgid "" +"Two new encodings are now supported: \"cp720\", used primarily for Arabic " +"text; and \"cp858\", a variant of CP 850 that adds the euro symbol. (CP720 " +"contributed by Alexander Belchenko and Amaury Forgeot d'Arc in :issue:" +"`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" +msgstr "" +"Тепер підтримуються два нових кодування: \"cp720\", що використовується " +"переважно для арабського тексту; і \"cp858\", варіант CP 850, який додає " +"символ євро. (CP720 надано Олександром Бельченком і Аморі Форже д'Арком у :" +"issue:`1616979`; CP858 надано Тімом Хетчем у :issue:`8016`.)" + +msgid "" +"The :class:`file` object will now set the :attr:`filename` attribute on the :" +"exc:`IOError` exception when trying to open a directory on POSIX platforms " +"(noted by Jan Kaliszewski; :issue:`4764`), and now explicitly checks for and " +"forbids writing to read-only file objects instead of trusting the C library " +"to catch and report the error (fixed by Stefan Krah; :issue:`5677`)." +msgstr "" +"Об’єкт :class:`file` тепер встановлюватиме атрибут :attr:`filename` на " +"виняток :exc:`IOError` під час спроби відкрити каталог на платформах POSIX " +"(відзначено Яном Калішевським; :issue:`4764`) , і тепер явно перевіряє та " +"забороняє запис у файлові об’єкти, призначені лише для читання, замість " +"того, щоб довіряти бібліотеці C виявити та повідомити про помилку " +"(виправлено Стефаном Крахом; :issue:`5677`)." + +msgid "" +"The Python tokenizer now translates line endings itself, so the :func:" +"`compile` built-in function now accepts code using any line-ending " +"convention. Additionally, it no longer requires that the code end in a " +"newline." +msgstr "" +"Токенізатор Python тепер сам перекладає закінчення рядків, тож вбудована " +"функція :func:`compile` тепер приймає код із використанням будь-якої угоди " +"про закінчення рядків. Крім того, більше не потрібно, щоб код закінчувався " +"символом нового рядка." + +msgid "" +"Extra parentheses in function definitions are illegal in Python 3.x, meaning " +"that you get a syntax error from ``def f((x)): pass``. In Python3-warning " +"mode, Python 2.7 will now warn about this odd usage. (Noted by James " +"Lingard; :issue:`7362`.)" +msgstr "" +"Додаткові круглі дужки у визначеннях функцій заборонені в Python 3.x, що " +"означає, що ви отримуєте синтаксичну помилку від ``def f((x)): pass``. У " +"режимі попередження Python3 Python 2.7 тепер попереджатиме про це дивне " +"використання. (Примітив Джеймс Лінгард; :issue:`7362`.)" + +msgid "" +"It's now possible to create weak references to old-style class objects. New-" +"style classes were always weak-referenceable. (Fixed by Antoine Pitrou; :" +"issue:`8268`.)" +msgstr "" +"Тепер можна створювати слабкі посилання на об’єкти класу старого стилю. " +"Класи нового стилю завжди мали слабкі посилання. (Виправлено Антуаном " +"Пітру; :issue:`8268`.)" + +msgid "" +"When a module object is garbage-collected, the module's dictionary is now " +"only cleared if no one else is holding a reference to the dictionary (:issue:" +"`7140`)." +msgstr "" +"Коли об’єкт модуля збирає сміття, словник модуля тепер очищається, лише якщо " +"ніхто інший не містить посилання на словник (:issue:`7140`)." + +msgid "Interpreter Changes" +msgstr "Зміни перекладача" + +msgid "" +"A new environment variable, :envvar:`PYTHONWARNINGS`, allows controlling " +"warnings. It should be set to a string containing warning settings, " +"equivalent to those used with the :option:`-W` switch, separated by commas. " +"(Contributed by Brian Curtin; :issue:`7301`.)" +msgstr "" +"Нова змінна середовища, :envvar:`PYTHONWARNINGS`, дозволяє контролювати " +"попередження. Його слід встановити на рядок, що містить параметри " +"попередження, еквівалентні тим, що використовуються з перемикачем :option:`-" +"W`, розділені комами. (Надав Браян Кертін; :issue:`7301`.)" + +msgid "" +"For example, the following setting will print warnings every time they " +"occur, but turn warnings from the :mod:`Cookie` module into an error. (The " +"exact syntax for setting an environment variable varies across operating " +"systems and shells.)" +msgstr "" +"Наприклад, наступний параметр друкуватиме попередження кожного разу, коли " +"вони виникають, але перетворюватиме попередження від модуля :mod:`Cookie` на " +"помилку. (Точний синтаксис для встановлення змінної середовища залежить від " +"операційної системи та оболонки.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "Several performance enhancements have been added:" +msgstr "Додано кілька покращень продуктивності:" + +msgid "" +"A new opcode was added to perform the initial setup for :keyword:`with` " +"statements, looking up the :meth:`__enter__` and :meth:`__exit__` methods. " +"(Contributed by Benjamin Peterson.)" +msgstr "" +"Було додано новий код операції, щоб виконати початкове налаштування " +"операторів :keyword:`with`, шукаючи методи :meth:`__enter__` і :meth:" +"`__exit__`. (Надав Бенджамін Петерсон.)" + +msgid "" +"The garbage collector now performs better for one common usage pattern: when " +"many objects are being allocated without deallocating any of them. This " +"would previously take quadratic time for garbage collection, but now the " +"number of full garbage collections is reduced as the number of objects on " +"the heap grows. The new logic only performs a full garbage collection pass " +"when the middle generation has been collected 10 times and when the number " +"of survivor objects from the middle generation exceeds 10% of the number of " +"objects in the oldest generation. (Suggested by Martin von Löwis and " +"implemented by Antoine Pitrou; :issue:`4074`.)" +msgstr "" +"Збирач сміття тепер працює краще для одного загального шаблону використання: " +"коли багато об’єктів виділяється без відміни жодного з них. Раніше це " +"займало квадратичний час для збирання сміття, але тепер кількість повних " +"збирань сміття зменшується, оскільки кількість об’єктів у купі зростає. Нова " +"логіка виконує повне збирання сміття лише тоді, коли середнє покоління було " +"зібрано 10 разів і коли кількість уцілілих об’єктів із середнього покоління " +"перевищує 10% від кількості об’єктів у найстарішому поколінні. " +"(Запропоновано Мартіном фон Льовісом і реалізовано Антуаном Пітру; :issue:" +"`4074`.)" + +msgid "" +"The garbage collector tries to avoid tracking simple containers which can't " +"be part of a cycle. In Python 2.7, this is now true for tuples and dicts " +"containing atomic types (such as ints, strings, etc.). Transitively, a dict " +"containing tuples of atomic types won't be tracked either. This helps reduce " +"the cost of each garbage collection by decreasing the number of objects to " +"be considered and traversed by the collector. (Contributed by Antoine " +"Pitrou; :issue:`4688`.)" +msgstr "" +"Збирач сміття намагається уникати відстеження простих контейнерів, які не " +"можуть бути частиною циклу. У Python 2.7 це тепер вірно для кортежів і " +"dicts, що містять атомарні типи (такі як int, strings тощо). Транзитивно, " +"dict, що містить кортежі атомарних типів, також не відстежуватиметься. Це " +"допомагає зменшити вартість кожного збору сміття за рахунок зменшення " +"кількості об’єктів, які розглядаються та обходяться збирачем. (Надав Антуан " +"Пітру; :issue:`4688`.)" + +msgid "" +"Long integers are now stored internally either in base ``2**15`` or in base " +"``2**30``, the base being determined at build time. Previously, they were " +"always stored in base ``2**15``. Using base ``2**30`` gives significant " +"performance improvements on 64-bit machines, but benchmark results on 32-bit " +"machines have been mixed. Therefore, the default is to use base ``2**30`` " +"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a " +"new configure option :option:`!--enable-big-digits` that can be used to " +"override this default." +msgstr "" +"Довгі цілі числа тепер зберігаються внутрішньо або в основі ``2**15``, або в " +"базі ``2**30``, причому база визначається під час створення. Раніше вони " +"завжди зберігалися в базі ``2**15``. Використання бази ``2**30`` дає значне " +"покращення продуктивності на 64-розрядних машинах, але результати " +"порівняльного тестування на 32-розрядних машинах були неоднозначними. Тому " +"за замовчуванням на 64-розрядних машинах використовується основа ``2**30`` і " +"основа ``2**15`` на 32-розрядних машинах; в Unix є новий параметр " +"конфігурації :option:`!--enable-big-digits`, який можна використовувати для " +"заміни цього значення за замовчуванням." + +msgid "" +"Apart from the performance improvements this change should be invisible to " +"end users, with one exception: for testing and debugging purposes there's a " +"new structseq :data:`sys.long_info` that provides information about the " +"internal format, giving the number of bits per digit and the size in bytes " +"of the C type used to store each digit::" +msgstr "" +"Окрім покращення продуктивності, ця зміна має бути непомітною для кінцевих " +"користувачів, за одним винятком: для цілей тестування та налагодження існує " +"новий structseq :data:`sys.long_info`, який надає інформацію про внутрішній " +"формат, надаючи кількість бітів на цифру і розмір у байтах типу C, який " +"використовується для зберігання кожної цифри:" + +msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" +msgstr "(Надав Марк Дікінсон; :issue:`4258`.)" + +msgid "" +"Another set of changes made long objects a few bytes smaller: 2 bytes " +"smaller on 32-bit systems and 6 bytes on 64-bit. (Contributed by Mark " +"Dickinson; :issue:`5260`.)" +msgstr "" +"Інший набір змін зробив довгі об’єкти на кілька байтів меншими: на 2 байти " +"менше в 32-бітних системах і на 6 байтів у 64-бітних. (Надав Марк Дікінсон; :" +"issue:`5260`.)" + +msgid "" +"The division algorithm for long integers has been made faster by tightening " +"the inner loop, doing shifts instead of multiplications, and fixing an " +"unnecessary extra iteration. Various benchmarks show speedups of between 50% " +"and 150% for long integer divisions and modulo operations. (Contributed by " +"Mark Dickinson; :issue:`5512`.) Bitwise operations are also significantly " +"faster (initial patch by Gregory Smith; :issue:`1087418`)." +msgstr "" +"Алгоритм ділення для довгих цілих чисел було зроблено швидшим завдяки " +"посиленню внутрішнього циклу, виконанню зсувів замість множень і виправленню " +"непотрібної додаткової ітерації. Різні контрольні тести показують " +"прискорення від 50% до 150% для довгих цілих ділень і операцій за модулем. " +"(Надано Марком Дікінсоном; :issue:`5512`.) Побітові операції також значно " +"швидші (початковий патч Грегорі Сміта; :issue:`1087418`)." + +msgid "" +"The implementation of ``%`` checks for the left-side operand being a Python " +"string and special-cases it; this results in a 1--3% performance increase " +"for applications that frequently use ``%`` with strings, such as templating " +"libraries. (Implemented by Collin Winter; :issue:`5176`.)" +msgstr "" +"Реалізація ``%`` перевіряє, чи лівий операнд є рядком Python, і вводить його " +"в спеціальні регістри; це призводить до збільшення продуктивності на 1--3% " +"для програм, які часто використовують ``%`` з рядками, наприклад бібліотек " +"шаблонів. (Реалізовано Колліном Вінтером; :issue:`5176`.)" + +msgid "" +"List comprehensions with an ``if`` condition are compiled into faster " +"bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey Yasskin; :" +"issue:`4715`.)" +msgstr "" +"Розуміння списків із умовою ``if`` компілюється у швидший байт-код. (Патч " +"Антуана Пітру, перенесено на 2.7 Джеффрі Яскіним; :issue:`4715`.)" + +msgid "" +"Converting an integer or long integer to a decimal string was made faster by " +"special-casing base 10 instead of using a generalized conversion function " +"that supports arbitrary bases. (Patch by Gawain Bolton; :issue:`6713`.)" +msgstr "" +"Перетворення цілого або довгого цілого числа в десятковий рядок стало " +"швидшим за допомогою спеціальної бази 10 замість використання узагальненої " +"функції перетворення, яка підтримує довільні основи. (Патч від Гавейна " +"Болтона; :issue:`6713`.)" + +msgid "" +"The :meth:`split`, :meth:`replace`, :meth:`rindex`, :meth:`rpartition`, and :" +"meth:`rsplit` methods of string-like types (strings, Unicode strings, and :" +"class:`bytearray` objects) now use a fast reverse-search algorithm instead " +"of a character-by-character scan. This is sometimes faster by a factor of " +"10. (Added by Florent Xicluna; :issue:`7462` and :issue:`7622`.)" +msgstr "" +"Методи :meth:`split`, :meth:`replace`, :meth:`rindex`, :meth:`rpartition` і :" +"meth:`rsplit` рядкових типів (рядки, рядки Unicode та :class:`bytearray` " +"об’єкти) тепер використовують швидкий алгоритм зворотного пошуку замість " +"посимвольного сканування. Іноді це швидше в 10 разів. (Додав Florent " +"Xicluna; :issue:`7462` і :issue:`7622`.)" + +msgid "" +"The :mod:`pickle` and :mod:`cPickle` modules now automatically intern the " +"strings used for attribute names, reducing memory usage of the objects " +"resulting from unpickling. (Contributed by Jake McGuire; :issue:`5084`.)" +msgstr "" +"Модулі :mod:`pickle` і :mod:`cPickle` тепер автоматично інтернують рядки, " +"які використовуються для імен атрибутів, зменшуючи використання пам’яті " +"об’єктів, отриманих у результаті видалення. (Надав Джейк Макгуайр; :issue:" +"`5084`.)" + +msgid "" +"The :mod:`cPickle` module now special-cases dictionaries, nearly halving the " +"time required to pickle them. (Contributed by Collin Winter; :issue:`5670`.)" +msgstr "" +"Модуль :mod:`cPickle` тепер використовує словники для спеціальних регістрів, " +"майже вдвічі скорочуючи час, необхідний для їх маринування. (Надав Колін " +"Вінтер; :issue:`5670`.)" + +msgid "New and Improved Modules" +msgstr "Нові та вдосконалені модулі" + +msgid "" +"As in every release, Python's standard library received a number of " +"enhancements and bug fixes. Here's a partial list of the most notable " +"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS` " +"file in the source tree for a more complete list of changes, or look through " +"the Subversion logs for all the details." +msgstr "" +"Як і в кожному випуску, стандартна бібліотека Python отримала низку " +"вдосконалень і виправлень помилок. Ось неповний список найбільш помітних " +"змін, відсортованих за алфавітом назв модулів. Зверніться до файлу :file:" +"`Misc/NEWS` у дереві вихідних кодів, щоб отримати більш повний список змін, " +"або перегляньте журнали Subversion, щоб отримати всі деталі." + +msgid "" +"The :mod:`bdb` module's base debugging class :class:`~bdb.Bdb` gained a " +"feature for skipping modules. The constructor now takes an iterable " +"containing glob-style patterns such as ``django.*``; the debugger will not " +"step into stack frames from a module that matches one of these patterns. " +"(Contributed by Maru Newby after a suggestion by Senthil Kumaran; :issue:" +"`5142`.)" +msgstr "" +"Базовий клас налагодження :class:`~bdb.Bdb` модуля :mod:`bdb` отримав " +"можливість пропускати модулі. Конструктор тепер приймає ітераційний елемент, " +"що містить шаблони у стилі glob, такі як ``django.*``; налагоджувач не " +"ввійде в кадри стека з модуля, який відповідає одному з цих шаблонів. " +"(Надано Maru Newby за пропозицією Senthil Kumaran; :issue:`5142`.)" + +msgid "" +"The :mod:`binascii` module now supports the buffer API, so it can be used " +"with :class:`memoryview` instances and other similar buffer objects. " +"(Backported from 3.x by Florent Xicluna; :issue:`7703`.)" +msgstr "" +"Модуль :mod:`binascii` тепер підтримує API буфера, тому його можна " +"використовувати з примірниками :class:`memoryview` та іншими подібними " +"об’єктами буфера. (Портпортовано з 3.x Флораном Ксіклюною; :issue:`7703`.)" + +msgid "" +"Updated module: the :mod:`bsddb` module has been updated from 4.7.2devel9 to " +"version 4.8.4 of `the pybsddb package `__. The new version features better Python 3.x compatibility, " +"various bug fixes, and adds several new BerkeleyDB flags and methods. " +"(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb changelog can be " +"read at https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" +msgstr "" + +msgid "" +"The :mod:`bz2` module's :class:`~bz2.BZ2File` now supports the context " +"management protocol, so you can write ``with bz2.BZ2File(...) as f:``. " +"(Contributed by Hagen Fürstenau; :issue:`3860`.)" +msgstr "" +"Модуль :mod:`bz2` :class:`~bz2.BZ2File` тепер підтримує протокол керування " +"контекстом, тому ви можете писати ``with bz2.BZ2File(...) як f:``. (Надав " +"Hagen Fürstenau; :issue:`3860`.)" + +msgid "" +"New class: the :class:`~collections.Counter` class in the :mod:`collections` " +"module is useful for tallying data. :class:`~collections.Counter` instances " +"behave mostly like dictionaries but return zero for missing keys instead of " +"raising a :exc:`KeyError`:" +msgstr "" +"Новий клас: клас :class:`~collections.Counter` у модулі :mod:`collections` " +"корисний для підрахунку даних. Екземпляри :class:`~collections.Counter` " +"поводяться здебільшого як словники, але повертають нуль за відсутні ключі " +"замість того, щоб викликати :exc:`KeyError`:" + +msgid "" +"There are three additional :class:`~collections.Counter` methods. :meth:" +"`~collections.Counter.most_common` returns the N most common elements and " +"their counts. :meth:`~collections.Counter.elements` returns an iterator " +"over the contained elements, repeating each element as many times as its " +"count. :meth:`~collections.Counter.subtract` takes an iterable and subtracts " +"one for each element instead of adding; if the argument is a dictionary or " +"another :class:`Counter`, the counts are subtracted. ::" +msgstr "" +"Є три додаткові методи :class:`~collections.Counter`. :meth:`~collections." +"Counter.most_common` повертає N найпоширеніших елементів та їх кількість. :" +"meth:`~collections.Counter.elements` повертає ітератор над вмістом " +"елементів, повторюючи кожен елемент стільки разів, скільки його кількість. :" +"meth:`~collections.Counter.subtract` приймає iterable і віднімає один для " +"кожного елемента замість додавання; якщо аргументом є словник або інший :" +"class:`Counter`, кількість віднімається. ::" + +msgid "Contributed by Raymond Hettinger; :issue:`1696199`." +msgstr "Надав Реймонд Геттінгер; :issue:`1696199`." + +msgid "" +"New class: :class:`~collections.OrderedDict` is described in the earlier " +"section :ref:`pep-0372`." +msgstr "" +"Новий клас: :class:`~collections.OrderedDict` описано в попередньому " +"розділі :ref:`pep-0372`." + +msgid "" +"New method: The :class:`~collections.deque` data type now has a :meth:" +"`~collections.deque.count` method that returns the number of contained " +"elements equal to the supplied argument *x*, and a :meth:`~collections.deque." +"reverse` method that reverses the elements of the deque in-place. :class:" +"`~collections.deque` also exposes its maximum length as the read-only :attr:" +"`~collections.deque.maxlen` attribute. (Both features added by Raymond " +"Hettinger.)" +msgstr "" +"Новий метод: Тип даних :class:`~collections.deque` тепер має метод :meth:" +"`~collections.deque.count`, який повертає кількість елементів, що містяться, " +"що дорівнює наданому аргументу *x*, і :meth:`~collections.deque.reverse` " +"метод, який перевертає елементи deque на місці. :class:`~collections.deque` " +"також показує свою максимальну довжину як атрибут :attr:`~collections.deque." +"maxlen` лише для читання. (Обидві функції додав Реймонд Геттінгер.)" + +msgid "" +"The :class:`~collections.namedtuple` class now has an optional *rename* " +"parameter. If *rename* is true, field names that are invalid because they've " +"been repeated or aren't legal Python identifiers will be renamed to legal " +"names that are derived from the field's position within the list of fields:" +msgstr "" +"Клас :class:`~collections.namedtuple` тепер має додатковий параметр " +"*rename*. Якщо *rename* має значення true, назви полів, які є недійсними " +"через те, що вони повторювалися або не є допустимими ідентифікаторами " +"Python, буде перейменовано на офіційні імена, які походять від позиції поля " +"в списку полів:" + +msgid "(Added by Raymond Hettinger; :issue:`1818`.)" +msgstr "(Додав Раймонд Геттінгер; :issue:`1818`.)" + +msgid "" +"Finally, the :class:`~collections.Mapping` abstract base class now returns :" +"const:`NotImplemented` if a mapping is compared to another type that isn't " +"a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)" +msgstr "" +"Нарешті, :class:`~collections.Mapping` абстрактний базовий клас тепер " +"повертає :const:`NotImplemented`, якщо зіставлення порівнюється з іншим " +"типом, який не є :class:`Mapping`. (Виправлено Даніелем Штуцбахом; :issue:" +"`8729`.)" + +msgid "" +"Constructors for the parsing classes in the :mod:`ConfigParser` module now " +"take an *allow_no_value* parameter, defaulting to false; if true, options " +"without values will be allowed. For example::" +msgstr "" +"Конструктори для класів синтаксичного аналізу в модулі :mod:`ConfigParser` " +"тепер приймають параметр *allow_no_value*, за умовчанням значення false; " +"якщо істина, параметри без значень будуть дозволені. Наприклад::" + +msgid "(Contributed by Mats Kindahl; :issue:`7005`.)" +msgstr "(Надав Матс Кіндаль; :issue:`7005`.)" + +msgid "" +"Deprecated function: :func:`contextlib.nested`, which allows handling more " +"than one context manager with a single :keyword:`with` statement, has been " +"deprecated, because the :keyword:`!with` statement now supports multiple " +"context managers." +msgstr "" +"Застаріла функція: :func:`contextlib.nested`, яка дозволяє працювати з " +"кількома контекстними менеджерами за допомогою одного оператора :keyword:" +"`with`, застаріла, оскільки оператор :keyword:`!with` тепер підтримує кілька " +"контекстних менеджерів ." + +msgid "" +"The :mod:`cookielib` module now ignores cookies that have an invalid version " +"field, one that doesn't contain an integer value. (Fixed by John J. Lee; :" +"issue:`3924`.)" +msgstr "" +"Модуль :mod:`cookielib` тепер ігнорує файли cookie з недійсним полем версії, " +"яке не містить цілого значення. (Виправлено Джоном Дж. Лі; :issue:`3924`.)" + +msgid "" +"The :mod:`copy` module's :func:`~copy.deepcopy` function will now correctly " +"copy bound instance methods. (Implemented by Robert Collins; :issue:`1515`.)" +msgstr "" +"Функція :func:`~copy.deepcopy` модуля :mod:`copy` тепер правильно " +"копіюватиме зв’язані методи примірників. (Реалізовано Робертом Коллінзом; :" +"issue:`1515`.)" + +msgid "" +"The :mod:`ctypes` module now always converts ``None`` to a C ``NULL`` " +"pointer for arguments declared as pointers. (Changed by Thomas Heller; :" +"issue:`4606`.) The underlying `libffi library `__ has been updated to version 3.0.9, containing various fixes for " +"different platforms. (Updated by Matthias Klose; :issue:`8142`.)" +msgstr "" +"Модуль :mod:`ctypes` тепер завжди перетворює ``None`` на покажчик C ``NULL`` " +"для аргументів, оголошених як покажчики. (Змінено Томасом Хеллером; :issue:" +"`4606`.) Базову `бібліотеку libffi `__ було " +"оновлено до версії 3.0.9, що містить різні виправлення для різних платформ. " +"(Оновлено Маттіасом Клозе; :issue:`8142`.)" + +msgid "" +"New method: the :mod:`datetime` module's :class:`~datetime.timedelta` class " +"gained a :meth:`~datetime.timedelta.total_seconds` method that returns the " +"number of seconds in the duration. (Contributed by Brian Quinlan; :issue:" +"`5788`.)" +msgstr "" +"Новий метод: клас :class:`~datetime.timedelta` модуля :mod:`datetime` " +"отримав метод :meth:`~datetime.timedelta.total_seconds`, який повертає " +"кількість секунд у тривалості. (Надав Браян Квінлан; :issue:`5788`.)" + +msgid "" +"New method: the :class:`~decimal.Decimal` class gained a :meth:`~decimal." +"Decimal.from_float` class method that performs an exact conversion of a " +"floating-point number to a :class:`~decimal.Decimal`. This exact conversion " +"strives for the closest decimal approximation to the floating-point " +"representation's value; the resulting decimal value will therefore still " +"include the inaccuracy, if any. For example, ``Decimal.from_float(0.1)`` " +"returns " +"``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " +"(Implemented by Raymond Hettinger; :issue:`4796`.)" +msgstr "" +"Новий метод: клас :class:`~decimal.Decimal` отримав метод класу :meth:" +"`~decimal.Decimal.from_float`, який виконує точне перетворення числа з " +"плаваючою комою в :class:`~decimal.Decimal`. Це точне перетворення прагне до " +"найближчого десяткового наближення до значення представлення з плаваючою " +"комою; тому отримане десяткове значення все одно включатиме похибку, якщо " +"така є. Наприклад, ``Decimal.from_float(0.1)`` повертає " +"``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " +"(Реалізовано Raymond Hettinger; :issue:`4796`.)" + +msgid "" +"Comparing instances of :class:`~decimal.Decimal` with floating-point numbers " +"now produces sensible results based on the numeric values of the operands. " +"Previously such comparisons would fall back to Python's default rules for " +"comparing objects, which produced arbitrary results based on their type. " +"Note that you still cannot combine :class:`Decimal` and floating-point in " +"other operations such as addition, since you should be explicitly choosing " +"how to convert between float and :class:`~decimal.Decimal`. (Fixed by Mark " +"Dickinson; :issue:`2531`.)" +msgstr "" +"Порівняння екземплярів :class:`~decimal.Decimal` з числами з плаваючою комою " +"тепер дає розумні результати на основі числових значень операндів. Раніше " +"такі порівняння поверталися до стандартних правил Python для порівняння " +"об’єктів, які давали довільні результати на основі їх типу. Зауважте, що ви " +"все ще не можете поєднувати :class:`Decimal` і число з плаваючою точкою в " +"інших операціях, таких як додавання, оскільки вам слід явно вибирати спосіб " +"конвертації між float і :class:`~decimal.Decimal`. (Виправлено Марком " +"Дікінсоном; :issue:`2531`.)" + +msgid "" +"The constructor for :class:`~decimal.Decimal` now accepts floating-point " +"numbers (added by Raymond Hettinger; :issue:`8257`) and non-European Unicode " +"characters such as Arabic-Indic digits (contributed by Mark Dickinson; :" +"issue:`6595`)." +msgstr "" +"Конструктор для :class:`~decimal.Decimal` тепер приймає числа з плаваючою " +"комою (додано Raymond Hettinger; :issue:`8257`) і неєвропейські символи " +"Unicode, такі як арабсько-індійські цифри (надано Марком Дікінсоном; : " +"випуск: `6595`)." + +msgid "" +"Most of the methods of the :class:`~decimal.Context` class now accept " +"integers as well as :class:`~decimal.Decimal` instances; the only exceptions " +"are the :meth:`~decimal.Context.canonical` and :meth:`~decimal.Context." +"is_canonical` methods. (Patch by Juan José Conti; :issue:`7633`.)" +msgstr "" +"Більшість методів класу :class:`~decimal.Context` тепер приймають цілі " +"числа, а також екземпляри :class:`~decimal.Decimal`; єдиним винятком є " +"методи :meth:`~decimal.Context.canonical` і :meth:`~decimal.Context." +"is_canonical`. (Патч від Хуана Хосе Конті; :issue:`7633`.)" + +msgid "" +"When using :class:`~decimal.Decimal` instances with a string's :meth:`~str." +"format` method, the default alignment was previously left-alignment. This " +"has been changed to right-alignment, which is more sensible for numeric " +"types. (Changed by Mark Dickinson; :issue:`6857`.)" +msgstr "" +"Під час використання екземплярів :class:`~decimal.Decimal` із методом :meth:" +"`~str.format` рядка вирівнювання за замовчуванням раніше було лівим. Це було " +"змінено на вирівнювання по правому краю, що є більш розумним для числових " +"типів. (Змінено Марком Дікінсоном; :issue:`6857`.)" + +msgid "" +"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:" +"`InvalidOperation` instead of silently returning a true or false value " +"depending on the comparison operator. Quiet NaN values (or ``NaN``) are now " +"hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" +msgstr "" +"Порівняння, що включають сигнальне значення NaN (або ``sNAN``), тепер " +"сигналізують :const:`InvalidOperation` замість мовчки повертати значення " +"true або false залежно від оператора порівняння. Тихі значення NaN (або " +"``NaN``) тепер можна хешувати. (Виправлено Марком Дікінсоном; :issue:`7279`.)" + +msgid "" +"The :mod:`difflib` module now produces output that is more compatible with " +"modern :command:`diff`/:command:`patch` tools through one small change, " +"using a tab character instead of spaces as a separator in the header giving " +"the filename. (Fixed by Anatoly Techtonik; :issue:`7585`.)" +msgstr "" +"Модуль :mod:`difflib` тепер створює вивід, який є більш сумісним із " +"сучасними інструментами :command:`diff`/:command:`patch` завдяки одній " +"невеликій зміні, використовуючи символ табуляції замість пробілів як " +"роздільник у заголовку, що дає ім'я файлу. (Виправлено Анатолієм " +"Техтоніком; :issue:`7585`.)" + +msgid "" +"The Distutils ``sdist`` command now always regenerates the :file:`MANIFEST` " +"file, since even if the :file:`MANIFEST.in` or :file:`setup.py` files " +"haven't been modified, the user might have created some new files that " +"should be included. (Fixed by Tarek Ziadé; :issue:`8688`.)" +msgstr "" +"Команда Distutils ``sdist`` тепер завжди повторно генерує файл :file:" +"`MANIFEST`, оскільки навіть якщо файли :file:`MANIFEST.in` або :file:`setup." +"py` не були змінені, користувач міг створити кілька нових файлів, які слід " +"включити. (Виправлено Тареком Зіаде; :issue:`8688`.)" + +msgid "" +"The :mod:`doctest` module's :const:`IGNORE_EXCEPTION_DETAIL` flag will now " +"ignore the name of the module containing the exception being tested. (Patch " +"by Lennart Regebro; :issue:`7490`.)" +msgstr "" +"Прапор :const:`IGNORE_EXCEPTION_DETAIL` модуля :mod:`doctest` тепер " +"ігноруватиме назву модуля, що містить виняток, що перевіряється. (Патч від " +"Lennart Regebro; :issue:`7490`.)" + +msgid "" +"The :mod:`email` module's :class:`~email.message.Message` class will now " +"accept a Unicode-valued payload, automatically converting the payload to the " +"encoding specified by :attr:`output_charset`. (Added by R. David Murray; :" +"issue:`1368247`.)" +msgstr "" +"Клас :class:`~email.message.Message` модуля :mod:`email` тепер прийматиме " +"корисне навантаження зі значенням Unicode, автоматично перетворюючи корисне " +"навантаження на кодування, визначене :attr:`output_charset`. (Додав Р. Девід " +"Мюррей; :issue:`1368247`.)" + +msgid "" +"The :class:`~fractions.Fraction` class now accepts a single float or :class:" +"`~decimal.Decimal` instance, or two rational numbers, as arguments to its " +"constructor. (Implemented by Mark Dickinson; rationals added in :issue:" +"`5812`, and float/decimal in :issue:`8294`.)" +msgstr "" +"Клас :class:`~fractions.Fraction` тепер приймає один екземпляр float або :" +"class:`~decimal.Decimal`, або два раціональних числа, як аргументи свого " +"конструктора. (Реалізовано Марком Дікінсоном; раціональні числа додано в :" +"issue:`5812`, а число з плаваючою точкою/десяткове число в :issue:`8294`.)" + +msgid "" +"Ordering comparisons (``<``, ``<=``, ``>``, ``>=``) between fractions and " +"complex numbers now raise a :exc:`TypeError`. This fixes an oversight, " +"making the :class:`~fractions.Fraction` match the other numeric types." +msgstr "" +"Порядок порівнянь (``<``, ``<=``, ``>``, ``>=``) між дробами та комплексними " +"числами тепер викликає :exc:`TypeError`. Це виправляє недогляд, завдяки " +"чому :class:`~fractions.Fraction` відповідає іншим числовим типам." + +msgid "" +"New class: :class:`~ftplib.FTP_TLS` in the :mod:`ftplib` module provides " +"secure FTP connections using TLS encapsulation of authentication as well as " +"subsequent control and data transfers. (Contributed by Giampaolo Rodola; :" +"issue:`2054`.)" +msgstr "" +"Новий клас: :class:`~ftplib.FTP_TLS` у модулі :mod:`ftplib` забезпечує " +"безпечні FTP-з’єднання за допомогою інкапсуляції TLS для автентифікації, а " +"також подальший контроль і передачу даних. (Надав Джампаоло Родола; :issue:" +"`2054`.)" + +msgid "" +"The :meth:`~ftplib.FTP.storbinary` method for binary uploads can now restart " +"uploads thanks to an added *rest* parameter (patch by Pablo Mouzo; :issue:" +"`6845`.)" +msgstr "" +"Метод :meth:`~ftplib.FTP.storbinary` для двійкових завантажень тепер може " +"перезапускати завантаження завдяки доданому параметру *rest* (патч Пабло " +"Музо; :issue:`6845`.)" + +msgid "" +"New class decorator: :func:`~functools.total_ordering` in the :mod:" +"`functools` module takes a class that defines an :meth:`__eq__` method and " +"one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, or :meth:`__ge__`, " +"and generates the missing comparison methods. Since the :meth:`__cmp__` " +"method is being deprecated in Python 3.x, this decorator makes it easier to " +"define ordered classes. (Added by Raymond Hettinger; :issue:`5479`.)" +msgstr "" +"Новий декоратор класу: :func:`~functools.total_ordering` у модулі :mod:" +"`functools` приймає клас, який визначає метод :meth:`__eq__` та один із :" +"meth:`__lt__`, :meth:`__le__`, :meth:`__gt__` або :meth:`__ge__` та генерує " +"відсутні методи порівняння. Оскільки метод :meth:`__cmp__` застарів у Python " +"3.x, цей декоратор полегшує визначення впорядкованих класів. (Додав Реймонд " +"Геттінгер; :issue:`5479`.)" + +msgid "" +"New function: :func:`~functools.cmp_to_key` will take an old-style " +"comparison function that expects two arguments and return a new callable " +"that can be used as the *key* parameter to functions such as :func:" +"`sorted`, :func:`min` and :func:`max`, etc. The primary intended use is to " +"help with making code compatible with Python 3.x. (Added by Raymond " +"Hettinger.)" +msgstr "" +"Нова функція: :func:`~functools.cmp_to_key` візьме функцію порівняння " +"старого стилю, яка очікує два аргументи, і поверне новий виклик, який можна " +"використовувати як параметр *key* для таких функцій, як :func:`sorted`, :" +"func:`min` і :func:`max` і т. д. Основне призначення полягає в тому, щоб " +"допомогти зробити код сумісним з Python 3.x. (Додав Раймонд Геттінгер.)" + +msgid "" +"New function: the :mod:`gc` module's :func:`~gc.is_tracked` returns true if " +"a given instance is tracked by the garbage collector, false otherwise. " +"(Contributed by Antoine Pitrou; :issue:`4688`.)" +msgstr "" +"Нова функція: модуль :mod:`gc` :func:`~gc.is_tracked` повертає true, якщо " +"даний екземпляр відстежується збирачем сміття, і false в іншому випадку. " +"(Надав Антуан Пітру; :issue:`4688`.)" + +msgid "" +"The :mod:`gzip` module's :class:`~gzip.GzipFile` now supports the context " +"management protocol, so you can write ``with gzip.GzipFile(...) as f:`` " +"(contributed by Hagen Fürstenau; :issue:`3860`), and it now implements the :" +"class:`io.BufferedIOBase` ABC, so you can wrap it with :class:`io." +"BufferedReader` for faster processing (contributed by Nir Aides; :issue:" +"`7471`). It's also now possible to override the modification time recorded " +"in a gzipped file by providing an optional timestamp to the constructor. " +"(Contributed by Jacques Frechet; :issue:`4272`.)" +msgstr "" +":class:`~gzip.GzipFile` модуля :mod:`gzip` тепер підтримує протокол " +"керування контекстом, тому ви можете писати ``with gzip.GzipFile(...) як f:" +"`` (надано Hagen Fürstenau; :issue:`3860`), і тепер він реалізує :class:`io." +"BufferedIOBase` ABC, тому ви можете обернути його :class:`io.BufferedReader` " +"для швидшої обробки (надано Nir Aides; :issue:`7471`). Також тепер можна " +"змінити час модифікації, записаний у файлі, стиснутому gzip, шляхом надання " +"конструктору додаткової позначки часу. (Надав Жак Фреше; :issue:`4272`.)" + +msgid "" +"Files in gzip format can be padded with trailing zero bytes; the :mod:`gzip` " +"module will now consume these trailing bytes. (Fixed by Tadek Pietraszek " +"and Brian Curtin; :issue:`2846`.)" +msgstr "" +"Файли у форматі gzip можуть бути доповнені нульовими байтами в кінці; " +"модуль :mod:`gzip` тепер споживатиме ці кінцеві байти. (Виправлено Tadek " +"Pietraszek і Brian Curtin; :issue:`2846`.)" + +msgid "" +"New attribute: the :mod:`hashlib` module now has an :attr:`~hashlib.hashlib." +"algorithms` attribute containing a tuple naming the supported algorithms. In " +"Python 2.7, ``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', " +"'sha256', 'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)" +msgstr "" +"Новий атрибут: модуль :mod:`hashlib` тепер має атрибут :attr:`~hashlib." +"hashlib.algorithms`, який містить кортеж із назвами підтримуваних " +"алгоритмів. У Python 2.7 ``hashlib.algorithms`` містить ``('md5', 'sha1', " +"'sha224', 'sha256', 'sha384', 'sha512')``. (Надав Карл Чене; :issue:`7418`.)" + +msgid "" +"The default :class:`~httplib.HTTPResponse` class used by the :mod:`httplib` " +"module now supports buffering, resulting in much faster reading of HTTP " +"responses. (Contributed by Kristján Valur Jónsson; :issue:`4879`.)" +msgstr "" +"Стандартний клас :class:`~httplib.HTTPResponse`, який використовується " +"модулем :mod:`httplib`, тепер підтримує буферизацію, що призводить до " +"набагато швидшого читання HTTP-відповідей. (Надав Крістіян Валур Йонссон; :" +"issue:`4879`.)" + +msgid "" +"The :class:`~httplib.HTTPConnection` and :class:`~httplib.HTTPSConnection` " +"classes now support a *source_address* parameter, a ``(host, port)`` 2-tuple " +"giving the source address that will be used for the connection. (Contributed " +"by Eldon Ziegler; :issue:`3972`.)" +msgstr "" +"Класи :class:`~httplib.HTTPConnection` і :class:`~httplib.HTTPSConnection` " +"тепер підтримують параметр *source_address*, двокортеж ``(хост, порт)``, що " +"вказує адресу джерела, яка буде використана для підключення. (Надав Елдон " +"Зіглер; :issue:`3972`.)" + +msgid "" +"The :mod:`ihooks` module now supports relative imports. Note that :mod:" +"`ihooks` is an older module for customizing imports, superseded by the :mod:" +"`imputil` module added in Python 2.0. (Relative import support added by Neil " +"Schemenauer.)" +msgstr "" +"Модуль :mod:`ihooks` тепер підтримує відносний імпорт. Зверніть увагу, що :" +"mod:`ihooks` є старішим модулем для налаштування імпорту, заміненим модулем :" +"mod:`imputil`, доданим у Python 2.0. (Підтримку відносного імпорту додав Ніл " +"Шеменауер.)" + +msgid "" +"The :mod:`imaplib` module now supports IPv6 addresses. (Contributed by Derek " +"Morr; :issue:`1655`.)" +msgstr "" +"Модуль :mod:`imaplib` тепер підтримує адреси IPv6. (Надав Дерек Морр; :issue:" +"`1655`.)" + +msgid "" +"New function: the :mod:`inspect` module's :func:`~inspect.getcallargs` takes " +"a callable and its positional and keyword arguments, and figures out which " +"of the callable's parameters will receive each argument, returning a " +"dictionary mapping argument names to their values. For example::" +msgstr "" +"Нова функція: модуль :mod:`inspect` :func:`~inspect.getcallargs` приймає " +"виклик, його позиційні та ключові аргументи, а також визначає, який із " +"параметрів викликаного отримає кожен аргумент, повертаючи словник " +"зіставлення імен аргументів їхні цінності. Наприклад::" + +msgid "Contributed by George Sakkis; :issue:`3135`." +msgstr "Внесено Джорджем Саккісом; :issue:`3135`." + +msgid "" +"Updated module: The :mod:`io` library has been upgraded to the version " +"shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in " +"C and is 2 to 20 times faster depending on the task being performed. The " +"original Python version was renamed to the :mod:`_pyio` module." +msgstr "" +"Оновлений модуль: бібліотеку :mod:`io` було оновлено до версії, що " +"постачається з Python 3.1. Для версії 3.1 бібліотеку вводу-виводу було " +"повністю переписано мовою C і вона працює у 2-20 разів швидше залежно від " +"завдання, яке виконується. Оригінальна версія Python була перейменована на " +"модуль :mod:`_pyio`." + +msgid "" +"One minor resulting change: the :class:`io.TextIOBase` class now has an :" +"attr:`errors` attribute giving the error setting used for encoding and " +"decoding errors (one of ``'strict'``, ``'replace'``, ``'ignore'``)." +msgstr "" +"Одна незначна результуюча зміна: клас :class:`io.TextIOBase` тепер має " +"атрибут :attr:`errors`, що надає параметр помилки, який використовується для " +"помилок кодування та декодування (один із ``'strict'``, ``'replace ''``, " +"``'ігнорувати''``)." + +msgid "" +"The :class:`io.FileIO` class now raises an :exc:`OSError` when passed an " +"invalid file descriptor. (Implemented by Benjamin Peterson; :issue:" +"`4991`.) The :meth:`~io.IOBase.truncate` method now preserves the file " +"position; previously it would change the file position to the end of the new " +"file. (Fixed by Pascal Chambon; :issue:`6939`.)" +msgstr "" +"Клас :class:`io.FileIO` тепер викликає :exc:`OSError`, коли передається " +"недійсний дескриптор файлу. (Реалізовано Бенджаміном Петерсоном; :issue:" +"`4991`.) Метод :meth:`~io.IOBase.truncate` тепер зберігає позицію файлу; " +"раніше він змінював позицію файлу на кінець нового файлу. (Виправлено " +"Паскалем Шамбоном; :issue:`6939`.)" + +msgid "" +"New function: ``itertools.compress(data, selectors)`` takes two iterators. " +"Elements of *data* are returned if the corresponding value in *selectors* is " +"true::" +msgstr "" +"Нова функція: ``itertools.compress(data, selectors)`` використовує два " +"ітератори. Елементи *data* повертаються, якщо відповідне значення в " +"*selectors* має значення true::" + +msgid "" +"New function: ``itertools.combinations_with_replacement(iter, r)`` returns " +"all the possible *r*-length combinations of elements from the iterable " +"*iter*. Unlike :func:`~itertools.combinations`, individual elements can be " +"repeated in the generated combinations::" +msgstr "" +"Нова функція: ``itertools.combinations_with_replacement(iter, r)`` повертає " +"всі можливі комбінації елементів довжини *r* з ітерованого *iter*. На " +"відміну від :func:`~itertools.combinations`, окремі елементи можуть " +"повторюватися у згенерованих комбінаціях:" + +msgid "" +"Note that elements are treated as unique depending on their position in the " +"input, not their actual values." +msgstr "" +"Зауважте, що елементи розглядаються як унікальні залежно від їхньої позиції " +"у вхідних даних, а не від фактичних значень." + +msgid "" +"The :func:`itertools.count` function now has a *step* argument that allows " +"incrementing by values other than 1. :func:`~itertools.count` also now " +"allows keyword arguments, and using non-integer values such as floats or :" +"class:`~decimal.Decimal` instances. (Implemented by Raymond Hettinger; :" +"issue:`5032`.)" +msgstr "" +"Функція :func:`itertools.count` тепер має аргумент *step*, який дозволяє " +"збільшувати значення, відмінні від 1. :func:`~itertools.count` також тепер " +"дозволяє використовувати ключові аргументи та використовувати нецілі " +"значення, наприклад числа з плаваючою точкою або :class:`~decimal.Decimal` " +"екземпляри. (Реалізовано Raymond Hettinger; :issue:`5032`.)" + +msgid "" +":func:`itertools.combinations` and :func:`itertools.product` previously " +"raised :exc:`ValueError` for values of *r* larger than the input iterable. " +"This was deemed a specification error, so they now return an empty " +"iterator. (Fixed by Raymond Hettinger; :issue:`4816`.)" +msgstr "" +":func:`itertools.combinations` і :func:`itertools.product` раніше викликали :" +"exc:`ValueError` для значень *r*, які перевищують ітерацію введення. Це було " +"визнано помилкою специфікації, тому тепер вони повертають порожній ітератор. " +"(Виправлено Раймондом Геттінгером; :issue:`4816`.)" + +msgid "" +"Updated module: The :mod:`json` module was upgraded to version 2.0.9 of the " +"simplejson package, which includes a C extension that makes encoding and " +"decoding faster. (Contributed by Bob Ippolito; :issue:`4136`.)" +msgstr "" +"Оновлений модуль: модуль :mod:`json` було оновлено до версії 2.0.9 пакета " +"simplejson, який включає розширення C, яке робить кодування та декодування " +"швидшим. (Надав Боб Іполіто; :issue:`4136`.)" + +msgid "" +"To support the new :class:`collections.OrderedDict` type, :func:`json.load` " +"now has an optional *object_pairs_hook* parameter that will be called with " +"any object literal that decodes to a list of pairs. (Contributed by Raymond " +"Hettinger; :issue:`5381`.)" +msgstr "" +"Щоб підтримувати новий тип :class:`collections.OrderedDict`, :func:`json." +"load` тепер має необов’язковий параметр *object_pairs_hook*, який буде " +"викликатися з будь-яким літералом об’єкта, який декодує список пар. (Надав " +"Реймонд Геттінгер; :issue:`5381`.)" + +msgid "" +"The :mod:`mailbox` module's :class:`~mailbox.Maildir` class now records the " +"timestamp on the directories it reads, and only re-reads them if the " +"modification time has subsequently changed. This improves performance by " +"avoiding unneeded directory scans. (Fixed by A.M. Kuchling and Antoine " +"Pitrou; :issue:`1607951`, :issue:`6896`.)" +msgstr "" +"Клас :class:`~mailbox.Maildir` модуля :mod:`mailbox` тепер записує мітку " +"часу в каталогах, які він читає, і перечитує їх, лише якщо час модифікації " +"згодом змінився. Це покращує продуктивність, уникаючи непотрібного " +"сканування каталогу. (Виправлено A.M. Kuchling і Antoine Pitrou; :issue:" +"`1607951`, :issue:`6896`.)" + +msgid "" +"New functions: the :mod:`math` module gained :func:`~math.erf` and :func:" +"`~math.erfc` for the error function and the complementary error function, :" +"func:`~math.expm1` which computes ``e**x - 1`` with more precision than " +"using :func:`~math.exp` and subtracting 1, :func:`~math.gamma` for the Gamma " +"function, and :func:`~math.lgamma` for the natural log of the Gamma " +"function. (Contributed by Mark Dickinson and nirinA raseliarison; :issue:" +"`3366`.)" +msgstr "" +"Нові функції: модуль :mod:`math` отримав :func:`~math.erf` і :func:`~math." +"erfc` для функції помилки та додаткової функції помилки, :func:`~math.expm1` " +"який обчислює ``e**x - 1`` з більшою точністю, ніж використання :func:`~math." +"exp` і віднімання 1, :func:`~math.gamma` для функції Gamma та :func:`~math." +"lgamma` для натурального логарифму функції Гамма. (Надано Марком Дікінсоном " +"і nirinA raseliarison; :issue:`3366`.)" + +msgid "" +"The :mod:`multiprocessing` module's :class:`Manager*` classes can now be " +"passed a callable that will be called whenever a subprocess is started, " +"along with a set of arguments that will be passed to the callable. " +"(Contributed by lekma; :issue:`5585`.)" +msgstr "" +"Класам :class:`Manager*` модуля :mod:`multiprocessing` тепер можна передати " +"виклик, який буде викликатися кожного разу, коли запускається підпроцес, " +"разом із набором аргументів, які будуть передані викликаному. (Надано " +"lekma; :issue:`5585`.)" + +msgid "" +"The :class:`~multiprocessing.Pool` class, which controls a pool of worker " +"processes, now has an optional *maxtasksperchild* parameter. Worker " +"processes will perform the specified number of tasks and then exit, causing " +"the :class:`~multiprocessing.Pool` to start a new worker. This is useful if " +"tasks may leak memory or other resources, or if some tasks will cause the " +"worker to become very large. (Contributed by Charles Cazabon; :issue:`6963`.)" +msgstr "" +"Клас :class:`~multiprocessing.Pool`, який керує пулом робочих процесів, " +"тепер має додатковий параметр *maxtasksperchild*. Робочі процеси виконають " +"вказану кількість завдань, а потім завершаться, у результаті чого :class:" +"`~multiprocessing.Pool` запустить новий робочий процес. Це корисно, якщо " +"завдання можуть втрачати пам’ять чи інші ресурси, або якщо деякі завдання " +"призведуть до того, що робочий файл стане дуже великим. (Надав Чарльз " +"Казабон; :issue:`6963`.)" + +msgid "" +"The :mod:`nntplib` module now supports IPv6 addresses. (Contributed by Derek " +"Morr; :issue:`1664`.)" +msgstr "" +"Модуль :mod:`nntplib` тепер підтримує адреси IPv6. (Надав Дерек Морр; :issue:" +"`1664`.)" + +msgid "" +"New functions: the :mod:`os` module wraps the following POSIX system calls: :" +"func:`~os.getresgid` and :func:`~os.getresuid`, which return the real, " +"effective, and saved GIDs and UIDs; :func:`~os.setresgid` and :func:`~os." +"setresuid`, which set real, effective, and saved GIDs and UIDs to new " +"values; :func:`~os.initgroups`, which initialize the group access list for " +"the current process. (GID/UID functions contributed by Travis H.; :issue:" +"`6508`. Support for initgroups added by Jean-Paul Calderone; :issue:`7333`.)" +msgstr "" +"Нові функції: модуль :mod:`os` обгортає наступні системні виклики POSIX: :" +"func:`~os.getresgid` і :func:`~os.getresuid`, які повертають справжні, " +"ефективні та збережені GID та UID. ; :func:`~os.setresgid` і :func:`~os." +"setresuid`, які встановлюють реальні, ефективні та збережені GID та UID на " +"нові значення; :func:`~os.initgroups`, які ініціалізують список доступу " +"групи для поточного процесу. (Функції GID/UID надав Тревіс Х.; :issue:" +"`6508`. Підтримку початкових груп додав Жан-Поль Кальдероне; :issue:`7333`.)" + +msgid "" +"The :func:`os.fork` function now re-initializes the import lock in the child " +"process; this fixes problems on Solaris when :func:`~os.fork` is called from " +"a thread. (Fixed by Zsolt Cserna; :issue:`7242`.)" +msgstr "" +"Функція :func:`os.fork` тепер повторно ініціалізує блокування імпорту в " +"дочірньому процесі; це вирішує проблеми в Solaris, коли :func:`~os.fork` " +"викликається з потоку. (Виправлено Жолтом Черною; :issue:`7242`.)" + +msgid "" +"In the :mod:`os.path` module, the :func:`~os.path.normpath` and :func:`~os." +"path.abspath` functions now preserve Unicode; if their input path is a " +"Unicode string, the return value is also a Unicode string. (:meth:`~os.path." +"normpath` fixed by Matt Giuca in :issue:`5827`; :meth:`~os.path.abspath` " +"fixed by Ezio Melotti in :issue:`3426`.)" +msgstr "" +"У модулі :mod:`os.path` функції :func:`~os.path.normpath` і :func:`~os.path." +"abspath` тепер зберігають Unicode; якщо їхній вхідний шлях є рядком Unicode, " +"значення, що повертається, також є рядком Unicode. (:meth:`~os.path." +"normpath` виправлено Метом Джукою в :issue:`5827`; :meth:`~os.path.abspath` " +"виправлено Еціо Мелотті в :issue:`3426`.)" + +msgid "" +"The :mod:`pydoc` module now has help for the various symbols that Python " +"uses. You can now do ``help('<<')`` or ``help('@')``, for example. " +"(Contributed by David Laban; :issue:`4739`.)" +msgstr "" +"Модуль :mod:`pydoc` тепер має довідку для різних символів, які використовує " +"Python. Тепер ви можете, наприклад, виконати ``help('<<')`` або " +"``help('@')``. (Надав Девід Лабан; :issue:`4739`.)" + +msgid "" +"The :mod:`re` module's :func:`~re.split`, :func:`~re.sub`, and :func:`~re." +"subn` now accept an optional *flags* argument, for consistency with the " +"other functions in the module. (Added by Gregory P. Smith.)" +msgstr "" +"Модулі :mod:`re` :func:`~re.split`, :func:`~re.sub` і :func:`~re.subn` тепер " +"приймають необов’язковий аргумент *flags* для узгодженості з інші функції в " +"модулі. (Додав Грегорі П. Сміт.)" + +msgid "" +"New function: :func:`~runpy.run_path` in the :mod:`runpy` module will " +"execute the code at a provided *path* argument. *path* can be the path of a " +"Python source file (:file:`example.py`), a compiled bytecode file (:file:" +"`example.pyc`), a directory (:file:`./package/`), or a zip archive (:file:" +"`example.zip`). If a directory or zip path is provided, it will be added to " +"the front of ``sys.path`` and the module :mod:`__main__` will be imported. " +"It's expected that the directory or zip contains a :file:`__main__.py`; if " +"it doesn't, some other :file:`__main__.py` might be imported from a location " +"later in ``sys.path``. This makes more of the machinery of :mod:`runpy` " +"available to scripts that want to mimic the way Python's command line " +"processes an explicit path name. (Added by Nick Coghlan; :issue:`6816`.)" +msgstr "" +"Нова функція: :func:`~runpy.run_path` у модулі :mod:`runpy` виконає код за " +"наданим аргументом *path*. *шлях* може бути шляхом до вихідного файлу Python " +"(:file:`example.py`), скомпільованого файлу байт-коду (:file:`example.pyc`), " +"каталогу (:file:`./package/` ), або архів zip (:file:`example.zip`). Якщо " +"вказано каталог або шлях до zip-архіву, його буде додано на початку ``sys." +"path``, а модуль :mod:`__main__` буде імпортовано. Очікується, що каталог " +"або zip містить :file:`__main__.py`; якщо цього не відбувається, якийсь " +"інший :file:`__main__.py` може бути імпортовано з розташування пізніше в " +"``sys.path``. Це робить більшу частину механізму :mod:`runpy` доступною для " +"сценаріїв, які хочуть імітувати те, як командний рядок Python обробляє явне " +"ім’я шляху. (Додав Нік Коглан; :issue:`6816`.)" + +msgid "" +"New function: in the :mod:`shutil` module, :func:`~shutil.make_archive` " +"takes a filename, archive type (zip or tar-format), and a directory path, " +"and creates an archive containing the directory's contents. (Added by Tarek " +"Ziadé.)" +msgstr "" +"Нова функція: у модулі :mod:`shutil` :func:`~shutil.make_archive` приймає " +"назву файлу, тип архіву (формат zip або tar) і шлях до каталогу та створює " +"архів із вмістом каталогу. (Додав Тарек Зіаде.)" + +msgid "" +":mod:`shutil`'s :func:`~shutil.copyfile` and :func:`~shutil.copytree` " +"functions now raise a :exc:`~shutil.SpecialFileError` exception when asked " +"to copy a named pipe. Previously the code would treat named pipes like a " +"regular file by opening them for reading, and this would block " +"indefinitely. (Fixed by Antoine Pitrou; :issue:`3002`.)" +msgstr "" +"Функції :mod:`shutil` :func:`~shutil.copyfile` і :func:`~shutil.copytree` " +"тепер викликають виняток :exc:`~shutil.SpecialFileError`, коли запитують " +"скопіювати іменований канал. Раніше код розглядав іменовані канали як " +"звичайний файл, відкриваючи їх для читання, і це блокувало на невизначений " +"термін. (Виправлено Антуаном Пітру; :issue:`3002`.)" + +msgid "" +"The :mod:`signal` module no longer re-installs the signal handler unless " +"this is truly necessary, which fixes a bug that could make it impossible to " +"catch the EINTR signal robustly. (Fixed by Charles-Francois Natali; :issue:" +"`8354`.)" +msgstr "" +"Модуль :mod:`signal` більше не перевстановлює обробник сигналу, якщо це не " +"справді необхідно, що виправляє помилку, яка могла зробити неможливим " +"надійне перехоплення сигналу EINTR. (Виправлено Чарльзом-Франсуа Наталі; :" +"issue:`8354`.)" + +msgid "" +"New functions: in the :mod:`site` module, three new functions return various " +"site- and user-specific paths. :func:`~site.getsitepackages` returns a list " +"containing all global site-packages directories, :func:`~site." +"getusersitepackages` returns the path of the user's site-packages directory, " +"and :func:`~site.getuserbase` returns the value of the :envvar:`USER_BASE` " +"environment variable, giving the path to a directory that can be used to " +"store data. (Contributed by Tarek Ziadé; :issue:`6693`.)" +msgstr "" +"Нові функції: у модулі :mod:`site` три нові функції повертають різні шляхи " +"для сайту та користувача. :func:`~site.getsitepackages` повертає список, що " +"містить усі глобальні каталоги пакетів сайту, :func:`~site." +"getusersitepackages` повертає шлях до каталогу пакетів сайту користувача, а :" +"func:`~site.getuserbase` повертає значення змінної середовища :envvar:" +"`USER_BASE`, надаючи шлях до каталогу, який можна використовувати для " +"зберігання даних. (Надав Тарек Зіаде; :issue:`6693`.)" + +msgid "" +"The :mod:`site` module now reports exceptions occurring when the :mod:" +"`sitecustomize` module is imported, and will no longer catch and swallow " +"the :exc:`KeyboardInterrupt` exception. (Fixed by Victor Stinner; :issue:" +"`3137`.)" +msgstr "" +"Модуль :mod:`site` тепер повідомляє про винятки, що виникають під час " +"імпорту модуля :mod:`sitecustomize`, і більше не буде перехоплювати та " +"ковтати виняток :exc:`KeyboardInterrupt`. (Виправлено Віктором Стіннером; :" +"issue:`3137`.)" + +msgid "" +"The :func:`~socket.create_connection` function gained a *source_address* " +"parameter, a ``(host, port)`` 2-tuple giving the source address that will be " +"used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)" +msgstr "" +"Функція :func:`~socket.create_connection` отримала параметр " +"*source_address*, двокортеж ``(хост, порт)``, що вказує адресу джерела, яка " +"використовуватиметься для підключення. (Надав Елдон Зіглер; :issue:`3972`.)" + +msgid "" +"The :meth:`~socket.socket.recv_into` and :meth:`~socket.socket." +"recvfrom_into` methods will now write into objects that support the buffer " +"API, most usefully the :class:`bytearray` and :class:`memoryview` objects. " +"(Implemented by Antoine Pitrou; :issue:`8104`.)" +msgstr "" +"Методи :meth:`~socket.socket.recv_into` і :meth:`~socket.socket." +"recvfrom_into` тепер записуватимуть в об’єкти, які підтримують API буфера, " +"найбільш корисні :class:`bytearray` і об'єкти :class:`memoryview`. " +"(Реалізовано Антуаном Пітру; :issue:`8104`.)" + +msgid "" +"The :mod:`SocketServer` module's :class:`~SocketServer.TCPServer` class now " +"supports socket timeouts and disabling the Nagle algorithm. The :attr:" +"`~SocketServer.TCPServer.disable_nagle_algorithm` class attribute defaults " +"to ``False``; if overridden to be true, new request connections will have " +"the TCP_NODELAY option set to prevent buffering many small sends into a " +"single TCP packet. The :attr:`~SocketServer.BaseServer.timeout` class " +"attribute can hold a timeout in seconds that will be applied to the request " +"socket; if no request is received within that time, :meth:`~SocketServer." +"BaseServer.handle_timeout` will be called and :meth:`~SocketServer." +"BaseServer.handle_request` will return. (Contributed by Kristján Valur " +"Jónsson; :issue:`6192` and :issue:`6267`.)" +msgstr "" +"Клас :mod:`SocketServer` модуля :class:`~SocketServer.TCPServer` тепер " +"підтримує тайм-аути сокетів і відключення алгоритму Nagle. Атрибут класу :" +"attr:`~SocketServer.TCPServer.disable_nagle_algorithm` за умовчанням має " +"значення ``False``; якщо перевизначено, щоб бути істинним, для нових " +"з’єднань запитів буде встановлено параметр TCP_NODELAY, щоб запобігти " +"буферизації багатьох невеликих відправлень в один пакет TCP. Атрибут класу :" +"attr:`~SocketServer.BaseServer.timeout` може містити тайм-аут у секундах, " +"який буде застосовано до сокета запиту; якщо протягом цього часу не буде " +"отримано жодного запиту, буде викликано :meth:`~SocketServer.BaseServer." +"handle_timeout` і повернеться :meth:`~SocketServer.BaseServer." +"handle_request`. (Надав Крістіан Валур Йонссон; :issue:`6192` і :issue:" +"`6267`.)" + +msgid "" +"Updated module: the :mod:`sqlite3` module has been updated to version 2.6.0 " +"of the `pysqlite package `__. Version " +"2.6.0 includes a number of bugfixes, and adds the ability to load SQLite " +"extensions from shared libraries. Call the ``enable_load_extension(True)`` " +"method to enable extensions, and then call :meth:`~sqlite3.Connection." +"load_extension` to load a particular shared library. (Updated by Gerhard " +"Häring.)" +msgstr "" +"Оновлений модуль: модуль :mod:`sqlite3` оновлено до версії 2.6.0 `пакета " +"pysqlite `__. Версія 2.6.0 містить " +"низку виправлень помилок і додає можливість завантажувати розширення SQLite " +"із спільних бібліотек. Викличте метод ``enable_load_extension(True)``, щоб " +"увімкнути розширення, а потім викличте :meth:`~sqlite3.Connection." +"load_extension`, щоб завантажити певну спільну бібліотеку. (Оновлено " +"Герхардом Херінгом.)" + +msgid "" +"The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the " +"buffer API, which fixed a test suite failure (fix by Antoine Pitrou; :issue:" +"`7133`) and automatically set OpenSSL's :c:macro:`SSL_MODE_AUTO_RETRY`, " +"which will prevent an error code being returned from :meth:`recv` operations " +"that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:`8222`)." +msgstr "" +"Об’єкти :class:`~ssl.SSLSocket` модуля :mod:`ssl` тепер підтримують API " +"буфера, який виправив помилку набору тестів (виправлено Антуаном Пітру; :" +"issue:`7133`) і автоматично встановив OpenSSL :c:macro:" +"`SSL_MODE_AUTO_RETRY`, який запобігатиме поверненню коду помилки з операцій :" +"meth:`recv`, які запускають повторне узгодження SSL (виправлено Антуаном " +"Пітру; :issue:`8222`)." + +msgid "" +"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* " +"argument that's a string listing the encryption algorithms to be allowed; " +"the format of the string is described `in the OpenSSL documentation `__. (Added by Antoine " +"Pitrou; :issue:`8322`.)" +msgstr "" + +msgid "" +"Another change makes the extension load all of OpenSSL's ciphers and digest " +"algorithms so that they're all available. Some SSL certificates couldn't be " +"verified, reporting an \"unknown algorithm\" error. (Reported by Beda " +"Kosata, and fixed by Antoine Pitrou; :issue:`8484`.)" +msgstr "" +"Інша зміна змушує розширення завантажувати всі шифри та алгоритми дайджесту " +"OpenSSL, щоб усі вони були доступними. Деякі сертифікати SSL не вдалося " +"перевірити, повідомляючи про помилку \"невідомий алгоритм\". (Повідомив Беда " +"Косата та виправив Антуан Пітру; :issue:`8484`.)" + +msgid "" +"The version of OpenSSL being used is now available as the module attributes :" +"data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl.OPENSSL_VERSION_INFO` (a 5-" +"tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added by " +"Antoine Pitrou; :issue:`8321`.)" +msgstr "" +"Версія OpenSSL, яка використовується, тепер доступна як атрибути модуля: :" +"data:`ssl.OPENSSL_VERSION` (рядок), :data:`ssl.OPENSSL_VERSION_INFO` (кортеж " +"із 5) і :data:`ssl.OPENSSL_VERSION_NUMBER` (ціле число). (Додав Антуан " +"Пітру; :issue:`8321`.)" + +msgid "" +"The :mod:`struct` module will no longer silently ignore overflow errors when " +"a value is too large for a particular integer format code (one of " +"``bBhHiIlLqQ``); it now always raises a :exc:`struct.error` exception. " +"(Changed by Mark Dickinson; :issue:`1523`.) The :func:`~struct.pack` " +"function will also attempt to use :meth:`__index__` to convert and pack non-" +"integers before trying the :meth:`__int__` method or reporting an error. " +"(Changed by Mark Dickinson; :issue:`8300`.)" +msgstr "" +"Модуль :mod:`struct` більше не ігноруватиме помилки переповнення, коли " +"значення надто велике для певного коду цілочисельного формату (один із " +"``bBhHiIlLqQ``); тепер він завжди викликає виняток :exc:`struct.error`. " +"(Змінено Марком Дікінсоном; :issue:`1523`.) Функція :func:`~struct.pack` " +"також спробує використати :meth:`__index__` для перетворення та упаковки " +"нецілих чисел, перш ніж спробувати :meth:`__int__` або повідомлення про " +"помилку. (Змінено Марком Дікінсоном; :issue:`8300`.)" + +msgid "" +"New function: the :mod:`subprocess` module's :func:`~subprocess." +"check_output` runs a command with a specified set of arguments and returns " +"the command's output as a string when the command runs without error, or " +"raises a :exc:`~subprocess.CalledProcessError` exception otherwise." +msgstr "" +"Нова функція: модуль :mod:`subprocess` :func:`~subprocess.check_output` " +"виконує команду з указаним набором аргументів і повертає результат команди " +"як рядок, коли команда виконується без помилок, або викликає Виняток :exc:" +"`~subprocess.CalledProcessError` інакше." + +msgid "(Contributed by Gregory P. Smith.)" +msgstr "(Надав Грегорі П. Сміт.)" + +msgid "" +"The :mod:`subprocess` module will now retry its internal system calls on " +"receiving an :const:`EINTR` signal. (Reported by several people; final " +"patch by Gregory P. Smith in :issue:`1068268`.)" +msgstr "" +"Модуль :mod:`subprocess` тепер повторюватиме свої внутрішні системні виклики " +"після отримання сигналу :const:`EINTR`. (Повідомлено кількома людьми; " +"останній патч Грегорі П. Смітом у :issue:`1068268`.)" + +msgid "" +"New function: :func:`~symtable.Symbol.is_declared_global` in the :mod:" +"`symtable` module returns true for variables that are explicitly declared to " +"be global, false for ones that are implicitly global. (Contributed by Jeremy " +"Hylton.)" +msgstr "" +"Нова функція: :func:`~symtable.Symbol.is_declared_global` у модулі :mod:" +"`symtable` повертає true для змінних, які явно оголошені як глобальні, і " +"false для змінних, які неявно є глобальними. (Надав Джеремі Гілтон.)" + +msgid "" +"The :mod:`syslog` module will now use the value of ``sys.argv[0]`` as the " +"identifier instead of the previous default value of ``'python'``. (Changed " +"by Sean Reifschneider; :issue:`8451`.)" +msgstr "" +"Модуль :mod:`syslog` тепер використовуватиме значення ``sys.argv[0]`` як " +"ідентифікатор замість попереднього значення за замовчуванням ``'python'``. " +"(Змінено Шоном Райфшнайдером; :issue:`8451`.)" + +msgid "" +"The ``sys.version_info`` value is now a named tuple, with attributes named :" +"attr:`major`, :attr:`minor`, :attr:`micro`, :attr:`releaselevel`, and :attr:" +"`serial`. (Contributed by Ross Light; :issue:`4285`.)" +msgstr "" +"Значення ``sys.version_info`` тепер є іменованим кортежем з атрибутами :attr:" +"`major`, :attr:`minor`, :attr:`micro`, :attr:`releaselevel` і :attr:" +"`serial`. (Надав Росс Лайт; :issue:`4285`.)" + +msgid "" +":func:`sys.getwindowsversion` also returns a named tuple, with attributes " +"named :attr:`major`, :attr:`minor`, :attr:`build`, :attr:`platform`, :attr:" +"`service_pack`, :attr:`service_pack_major`, :attr:`service_pack_minor`, :" +"attr:`suite_mask`, and :attr:`product_type`. (Contributed by Brian Curtin; :" +"issue:`7766`.)" +msgstr "" +":func:`sys.getwindowsversion` також повертає іменований кортеж з атрибутами " +"під назвою :attr:`major`, :attr:`minor`, :attr:`build`, :attr:`platform`, :" +"attr:`service_pack`, :attr:`service_pack_major`, :attr:" +"`service_pack_minor`, :attr:`suite_mask` і :attr:`product_type`. (Надав " +"Браян Кертін; :issue:`7766`.)" + +msgid "" +"The :mod:`tarfile` module's default error handling has changed, to no longer " +"suppress fatal errors. The default error level was previously 0, which " +"meant that errors would only result in a message being written to the debug " +"log, but because the debug log is not activated by default, these errors go " +"unnoticed. The default error level is now 1, which raises an exception if " +"there's an error. (Changed by Lars Gustäbel; :issue:`7357`.)" +msgstr "" +"Стандартну обробку помилок модуля :mod:`tarfile` було змінено, і більше не " +"пригнічуються фатальні помилки. Раніше рівень помилок за замовчуванням був " +"0, що означало, що помилки призводили лише до запису повідомлення в журнал " +"налагодження, але оскільки журнал налагодження не активовано за " +"замовчуванням, ці помилки залишаються непоміченими. Рівень помилки за " +"замовчуванням тепер становить 1, що викликає виняток у разі виникнення " +"помилки. (Змінено Ларсом Густебелем; :issue:`7357`.)" + +msgid "" +":mod:`tarfile` now supports filtering the :class:`~tarfile.TarInfo` objects " +"being added to a tar file. When you call :meth:`~tarfile.TarFile.add`, you " +"may supply an optional *filter* argument that's a callable. The *filter* " +"callable will be passed the :class:`~tarfile.TarInfo` for every file being " +"added, and can modify and return it. If the callable returns ``None``, the " +"file will be excluded from the resulting archive. This is more powerful " +"than the existing *exclude* argument, which has therefore been deprecated. " +"(Added by Lars Gustäbel; :issue:`6856`.) The :class:`~tarfile.TarFile` class " +"also now supports the context management protocol. (Added by Lars Gustäbel; :" +"issue:`7232`.)" +msgstr "" +":mod:`tarfile` тепер підтримує фільтрацію об’єктів :class:`~tarfile." +"TarInfo`, які додаються до файлу tar. Коли ви викликаєте :meth:`~tarfile." +"TarFile.add`, ви можете надати додатковий аргумент *filter*, який можна " +"викликати. Викликаний *filter* отримуватиме :class:`~tarfile.TarInfo` для " +"кожного файлу, який додається, і зможе змінювати та повертати його. Якщо " +"виклик повертає ``None``, файл буде виключено з отриманого архіву. Це " +"потужніший аргумент, ніж існуючий аргумент *exclude*, який, отже, застарів. " +"(Додав Ларс Густебель; :issue:`6856`.) Клас :class:`~tarfile.TarFile` тепер " +"також підтримує протокол керування контекстом. (Додав Ларс Густебель; :issue:" +"`7232`.)" + +msgid "" +"The :meth:`~threading.Event.wait` method of the :class:`threading.Event` " +"class now returns the internal flag on exit. This means the method will " +"usually return true because :meth:`~threading.Event.wait` is supposed to " +"block until the internal flag becomes true. The return value will only be " +"false if a timeout was provided and the operation timed out. (Contributed by " +"Tim Lesher; :issue:`1674032`.)" +msgstr "" +"Метод :meth:`~threading.Event.wait` класу :class:`threading.Event` тепер " +"повертає внутрішній прапор під час виходу. Це означає, що метод зазвичай " +"повертатиме true, оскільки :meth:`~threading.Event.wait` має блокуватися, " +"доки внутрішній прапор не стане істинним. Повернене значення буде false, " +"лише якщо було надано тайм-аут і час очікування операції минув. (Надав Тім " +"Лешер; :issue:`1674032`.)" + +msgid "" +"The Unicode database provided by the :mod:`unicodedata` module is now used " +"internally to determine which characters are numeric, whitespace, or " +"represent line breaks. The database also includes information from the :" +"file:`Unihan.txt` data file (patch by Anders Chrigström and Amaury Forgeot " +"d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 (updated by " +"Florent Xicluna; :issue:`8024`)." +msgstr "" +"База даних Юнікод, надана модулем :mod:`unicodedata`, тепер використовується " +"внутрішньо, щоб визначити, які символи є цифрами, пробілами чи представляють " +"розриви рядків. База даних також містить інформацію з файлу даних :file:" +"`Unihan.txt` (патч від Anders Chrigström і Amaury Forgeot d'Arc; :issue:" +"`1571184`) і була оновлена до версії 5.2.0 (оновлено Florent Xicluna ; :" +"issue:`8024`)." + +msgid "" +"The :mod:`urlparse` module's :func:`~urlparse.urlsplit` now handles unknown " +"URL schemes in a fashion compliant with :rfc:`3986`: if the URL is of the " +"form ``\"://...\"``, the text before the ``://`` is treated as " +"the scheme, even if it's a made-up scheme that the module doesn't know " +"about. This change may break code that worked around the old behaviour. " +"For example, Python 2.6.4 or 2.5 will return the following:" +msgstr "" +"Модуль :mod:`urlparse` :func:`~urlparse.urlsplit` тепер обробляє невідомі " +"схеми URL відповідно до :rfc:`3986`: якщо URL має форму ``\" " +" ://.. .\"``, текст перед ``://`` розглядається як схема, навіть " +"якщо це вигадана схема, про яку модуль не знає. Ця зміна може порушити код, " +"який обійшов стару поведінку. Наприклад, Python 2.6.4 або 2.5 поверне " +"наступне:" + +msgid "Python 2.7 (and Python 2.6.5) will return:" +msgstr "Python 2.7 (і Python 2.6.5) поверне:" + +msgid "" +"(Python 2.7 actually produces slightly different output, since it returns a " +"named tuple instead of a standard tuple.)" +msgstr "" +"(Python 2.7 фактично створює дещо інший вихід, оскільки він повертає " +"іменований кортеж замість стандартного кортежу.)" + +msgid "" +"The :mod:`urlparse` module also supports IPv6 literal addresses as defined " +"by :rfc:`2732` (contributed by Senthil Kumaran; :issue:`2987`)." +msgstr "" +"Модуль :mod:`urlparse` також підтримує буквальні адреси IPv6, як визначено :" +"rfc:`2732` (надано Senthil Kumaran; :issue:`2987`)." + +msgid "" +"New class: the :class:`~weakref.WeakSet` class in the :mod:`weakref` module " +"is a set that only holds weak references to its elements; elements will be " +"removed once there are no references pointing to them. (Originally " +"implemented in Python 3.x by Raymond Hettinger, and backported to 2.7 by " +"Michael Foord.)" +msgstr "" +"Новий клас: клас :class:`~weakref.WeakSet` у модулі :mod:`weakref` — це " +"набір, який містить лише слабкі посилання на свої елементи; елементи буде " +"видалено, якщо на них не буде посилань. (Спочатку реалізовано в Python 3.x " +"Реймондом Геттінгером і перенесено до версії 2.7 Майклом Фордом.)" + +msgid "" +"The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and " +"angle brackets when outputting an XML processing instruction (which looks " +"like ````) or comment (which looks like " +"````). (Patch by Neil Muller; :issue:`2746`.)" +msgstr "" +"Бібліотека ElementTree, :mod:`xml.etree`, більше не пропускає амперсанди та " +"кутові дужки під час виведення інструкції обробки XML (яка виглядає як ````) або коментаря (яка виглядає як ````). (Патч Ніла Мюллера; :issue:`2746`.)" + +msgid "" +"The XML-RPC client and server, provided by the :mod:`xmlrpclib` and :mod:" +"`SimpleXMLRPCServer` modules, have improved performance by supporting " +"HTTP/1.1 keep-alive and by optionally using gzip encoding to compress the " +"XML being exchanged. The gzip compression is controlled by the :attr:" +"`encode_threshold` attribute of :class:`SimpleXMLRPCRequestHandler`, which " +"contains a size in bytes; responses larger than this will be compressed. " +"(Contributed by Kristján Valur Jónsson; :issue:`6267`.)" +msgstr "" +"Клієнт і сервер XML-RPC, які надаються модулями :mod:`xmlrpclib` і :mod:" +"`SimpleXMLRPCServer`, мають покращену продуктивність завдяки підтримці " +"HTTP/1.1 Keep-Alive і додатковому використанню кодування gzip для стиснення " +"XML, яким обмінюються. Стиснення gzip контролюється атрибутом :attr:" +"`encode_threshold` :class:`SimpleXMLRPCRequestHandler`, який містить розмір " +"у байтах; відповіді, більші за цей, будуть стиснуті. (Надав Крістіян Валур " +"Йонссон; :issue:`6267`.)" + +msgid "" +"The :mod:`zipfile` module's :class:`~zipfile.ZipFile` now supports the " +"context management protocol, so you can write ``with zipfile.ZipFile(...) as " +"f:``. (Contributed by Brian Curtin; :issue:`5511`.)" +msgstr "" +"Модуль :mod:`zipfile` :class:`~zipfile.ZipFile` тепер підтримує протокол " +"керування контекстом, тому ви можете писати ``with zipfile.ZipFile(...) як f:" +"``. (Надав Браян Кертін; :issue:`5511`.)" + +msgid "" +":mod:`zipfile` now also supports archiving empty directories and extracts " +"them correctly. (Fixed by Kuba Wieczorek; :issue:`4710`.) Reading files out " +"of an archive is faster, and interleaving :meth:`~zipfile.ZipFile.read` and :" +"meth:`~zipfile.ZipFile.readline` now works correctly. (Contributed by Nir " +"Aides; :issue:`7610`.)" +msgstr "" +":mod:`zipfile` тепер також підтримує архівування порожніх каталогів і " +"розпаковує їх правильно. (Виправлено Kuba Wieczorek; :issue:`4710`.) Читання " +"файлів з архіву відбувається швидше, а чергування :meth:`~zipfile.ZipFile." +"read` і :meth:`~zipfile.ZipFile.readline` тепер працює правильно. (Надано " +"Nir Aides; :issue:`7610`.)" + +msgid "" +"The :func:`~zipfile.is_zipfile` function now accepts a file object, in " +"addition to the path names accepted in earlier versions. (Contributed by " +"Gabriel Genellina; :issue:`4756`.)" +msgstr "" +"Функція :func:`~zipfile.is_zipfile` тепер приймає об’єкт файлу на додаток до " +"імен шляхів, прийнятих у попередніх версіях. (Надав Габріель Генелліна; :" +"issue:`4756`.)" + +msgid "" +"The :meth:`~zipfile.ZipFile.writestr` method now has an optional " +"*compress_type* parameter that lets you override the default compression " +"method specified in the :class:`~zipfile.ZipFile` constructor. (Contributed " +"by Ronald Oussoren; :issue:`6003`.)" +msgstr "" +"Метод :meth:`~zipfile.ZipFile.writestr` тепер має необов’язковий параметр " +"*compress_type*, який дозволяє перевизначити метод стиснення за " +"замовчуванням, указаний у конструкторі :class:`~zipfile.ZipFile`. (Надав " +"Рональд Оуссорен; :issue:`6003`.)" + +msgid "New module: importlib" +msgstr "Новий модуль: importlib" + +msgid "" +"Python 3.1 includes the :mod:`importlib` package, a re-implementation of the " +"logic underlying Python's :keyword:`import` statement. :mod:`importlib` is " +"useful for implementors of Python interpreters and to users who wish to " +"write new importers that can participate in the import process. Python 2.7 " +"doesn't contain the complete :mod:`importlib` package, but instead has a " +"tiny subset that contains a single function, :func:`~importlib." +"import_module`." +msgstr "" +"Python 3.1 включає пакет :mod:`importlib`, повторну реалізацію логіки, що " +"лежить в основі оператора :keyword:`import` Python. :mod:`importlib` " +"корисний для розробників інтерпретаторів Python і для користувачів, які " +"хочуть написати нові імпортери, які можуть брати участь у процесі імпорту. " +"Python 2.7 не містить повного пакета :mod:`importlib`, натомість має " +"крихітну підмножину, яка містить одну функцію, :func:`~importlib." +"import_module`." + +msgid "" +"``import_module(name, package=None)`` imports a module. *name* is a string " +"containing the module or package's name. It's possible to do relative " +"imports by providing a string that begins with a ``.`` character, such as " +"``..utils.errors``. For relative imports, the *package* argument must be " +"provided and is the name of the package that will be used as the anchor for " +"the relative import. :func:`~importlib.import_module` both inserts the " +"imported module into ``sys.modules`` and returns the module object." +msgstr "" +"``import_module(name, package=None)`` імпортує модуль. *name* — це рядок, що " +"містить назву модуля або пакета. Можна виконати відносний імпорт, надавши " +"рядок, який починається із символу ``.``, наприклад ``..utils.errors``. Для " +"відносного імпорту потрібно вказати аргумент *package*, який є назвою " +"пакета, який використовуватиметься як прив’язка для відносного імпорту. :" +"func:`~importlib.import_module` вставляє імпортований модуль у ``sys." +"modules`` і повертає об’єкт модуля." + +msgid "Here are some examples::" +msgstr "Ось кілька прикладів:" + +msgid "" +":mod:`importlib` was implemented by Brett Cannon and introduced in Python " +"3.1." +msgstr "" +":mod:`importlib` був реалізований Бреттом Кенноном і представлений у Python " +"3.1." + +msgid "New module: sysconfig" +msgstr "Новий модуль: sysconfig" + +msgid "" +"The :mod:`sysconfig` module has been pulled out of the Distutils package, " +"becoming a new top-level module in its own right. :mod:`sysconfig` provides " +"functions for getting information about Python's build process: compiler " +"switches, installation paths, the platform name, and whether Python is " +"running from its source directory." +msgstr "" +"Модуль :mod:`sysconfig` було вилучено з пакета Distutils, ставши власним " +"новим модулем верхнього рівня. :mod:`sysconfig` надає функції для отримання " +"інформації про процес збирання Python: перемикачі компілятора, шляхи " +"встановлення, ім’я платформи та те, чи працює Python із вихідного каталогу." + +msgid "Some of the functions in the module are:" +msgstr "Деякі функції в модулі:" + +msgid "" +":func:`~sysconfig.get_config_var` returns variables from Python's Makefile " +"and the :file:`pyconfig.h` file." +msgstr "" +":func:`~sysconfig.get_config_var` повертає змінні з Makefile Python і файлу :" +"file:`pyconfig.h`." + +msgid "" +":func:`~sysconfig.get_config_vars` returns a dictionary containing all of " +"the configuration variables." +msgstr "" +":func:`~sysconfig.get_config_vars` повертає словник, що містить усі змінні " +"конфігурації." + +msgid "" +":func:`~sysconfig.get_path` returns the configured path for a particular " +"type of module: the standard library, site-specific modules, platform-" +"specific modules, etc." +msgstr "" +":func:`~sysconfig.get_path` повертає налаштований шлях для певного типу " +"модуля: стандартної бібліотеки, модулів для сайту, модулів для платформи " +"тощо." + +msgid "" +":func:`~sysconfig.is_python_build` returns true if you're running a binary " +"from a Python source tree, and false otherwise." +msgstr "" +":func:`~sysconfig.is_python_build` повертає true, якщо ви запускаєте " +"двійковий файл із вихідного дерева Python, і false в іншому випадку." + +msgid "" +"Consult the :mod:`sysconfig` documentation for more details and for a " +"complete list of functions." +msgstr "" +"Зверніться до документації :mod:`sysconfig`, щоб дізнатися більше та " +"отримати повний список функцій." + +msgid "" +"The Distutils package and :mod:`sysconfig` are now maintained by Tarek " +"Ziadé, who has also started a Distutils2 package (source repository at " +"https://hg.python.org/distutils2/) for developing a next-generation version " +"of Distutils." +msgstr "" +"Пакет Distutils і :mod:`sysconfig` тепер обслуговуються Тареком Зіаде, який " +"також запустив пакет Distutils2 (сховище вихідних кодів за адресою https://" +"hg.python.org/distutils2/) для розробки версії Distutils наступного " +"покоління. ." + +msgid "ttk: Themed Widgets for Tk" +msgstr "ttk: тематичні віджети для Tk" + +msgid "" +"Tcl/Tk 8.5 includes a set of themed widgets that re-implement basic Tk " +"widgets but have a more customizable appearance and can therefore more " +"closely resemble the native platform's widgets. This widget set was " +"originally called Tile, but was renamed to Ttk (for \"themed Tk\") on being " +"added to Tcl/Tck release 8.5." +msgstr "" +"Tcl/Tk 8.5 містить набір тематичних віджетів, які повторно реалізують " +"основні віджети Tk, але мають більш настроюваний вигляд і тому можуть більше " +"нагадувати віджети рідної платформи. Цей набір віджетів спочатку називався " +"Tile, але був перейменований на Ttk (для \"тематичних Tk\") після додавання " +"до випуску Tcl/Tck 8.5." + +msgid "" +"To learn more, read the :mod:`ttk` module documentation. You may also wish " +"to read the Tcl/Tk manual page describing the Ttk theme engine, available at " +"https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.htm. Some screenshots of the " +"Python/Ttk code in use are at https://code.google.com/archive/p/python-ttk/" +"wikis/Screenshots.wiki." +msgstr "" +"Щоб дізнатися більше, прочитайте документацію модуля :mod:`ttk`. Ви також " +"можете прочитати довідкову сторінку Tcl/Tk з описом механізму створення тем " +"Ttk, доступну за адресою https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.htm. " +"Деякі знімки екрана використовуваного коду Python/Ttk можна знайти на " +"https://code.google.com/archive/p/python-ttk/wikis/Screenshots.wiki." + +msgid "" +"The :mod:`ttk` module was written by Guilherme Polo and added in :issue:" +"`2983`. An alternate version called ``Tile.py``, written by Martin Franklin " +"and maintained by Kevin Walzer, was proposed for inclusion in :issue:`2618`, " +"but the authors argued that Guilherme Polo's work was more comprehensive." +msgstr "" +"Модуль :mod:`ttk` був написаний Гільєрме Поло та доданий у :issue:`2983`. " +"Альтернативну версію під назвою ``Tile.py``, написану Мартіном Франкліном і " +"підтримувану Кевіном Волзером, було запропоновано включити в :issue:`2618`, " +"але автори стверджували, що робота Гільєрме Поло була більш повною." + +msgid "Updated module: unittest" +msgstr "Оновлений модуль: unittest" + +msgid "" +"The :mod:`unittest` module was greatly enhanced; many new features were " +"added. Most of these features were implemented by Michael Foord, unless " +"otherwise noted. The enhanced version of the module is downloadable " +"separately for use with Python versions 2.4 to 2.6, packaged as the :mod:" +"`unittest2` package, from https://pypi.org/project/unittest2." +msgstr "" +"Модуль :mod:`unittest` було значно вдосконалено; було додано багато нових " +"функцій. Якщо не зазначено інше, більшість із цих функцій реалізував Майкл " +"Форд. Розширену версію модуля можна завантажити окремо для використання з " +"версіями Python від 2.4 до 2.6, упакованими як пакет :mod:`unittest2`, з " +"https://pypi.org/project/unittest2." + +msgid "" +"When used from the command line, the module can automatically discover " +"tests. It's not as fancy as `py.test `__ or `nose " +"`__, but provides a simple way to run tests " +"kept within a set of package directories. For example, the following " +"command will search the :file:`test/` subdirectory for any importable test " +"files named ``test*.py``::" +msgstr "" + +msgid "" +"Consult the :mod:`unittest` module documentation for more details. " +"(Developed in :issue:`6001`.)" +msgstr "" +"Щоб дізнатися більше, зверніться до документації модуля :mod:`unittest`. " +"(Розроблено в :issue:`6001`.)" + +msgid "The :func:`~unittest.main` function supports some other new options:" +msgstr "Функція :func:`~unittest.main` підтримує деякі інші нові параметри:" + +msgid "" +":option:`-b ` or :option:`!--buffer` will buffer the standard " +"output and standard error streams during each test. If the test passes, any " +"resulting output will be discarded; on failure, the buffered output will be " +"displayed." +msgstr "" +":option:`-b ` або :option:`!--buffer` буферизує стандартний " +"вихід і стандартні потоки помилок під час кожного тесту. Якщо тест пройдено, " +"будь-які отримані результати будуть відхилені; у разі помилки буде " +"відображено буферизований вихід." + +msgid "" +":option:`-c ` or :option:`!--catch` will cause the control-C " +"interrupt to be handled more gracefully. Instead of interrupting the test " +"process immediately, the currently running test will be completed and then " +"the partial results up to the interruption will be reported. If you're " +"impatient, a second press of control-C will cause an immediate interruption." +msgstr "" +":option:`-c ` або :option:`!--catch` призведе до того, що " +"переривання control-C оброблятиметься більш витончено. Замість негайного " +"переривання процесу тестування поточний тест буде завершено, а потім буде " +"повідомлено про часткові результати до моменту переривання. Якщо ви " +"нетерплячі, повторне натискання Control-C призведе до негайної перерви." + +msgid "" +"This control-C handler tries to avoid causing problems when the code being " +"tested or the tests being run have defined a signal handler of their own, by " +"noticing that a signal handler was already set and calling it. If this " +"doesn't work for you, there's a :func:`~unittest.removeHandler` decorator " +"that can be used to mark tests that should have the control-C handling " +"disabled." +msgstr "" +"Цей обробник control-C намагається уникнути проблем, коли код, що " +"тестується, або тести, що виконуються, визначили власний обробник сигналу, " +"помічаючи, що обробник сигналу вже встановлено, і викликає його. Якщо це не " +"працює для вас, є декоратор :func:`~unittest.removeHandler`, який можна " +"використовувати для позначення тестів, для яких слід вимкнено обробку " +"control-C." + +msgid "" +":option:`-f ` or :option:`!--failfast` makes test execution " +"stop immediately when a test fails instead of continuing to execute further " +"tests. (Suggested by Cliff Dyer and implemented by Michael Foord; :issue:" +"`8074`.)" +msgstr "" +":option:`-f ` або :option:`!--failfast` негайно припиняє " +"виконання тесту, коли тест не вдається, замість того, щоб продовжувати " +"виконання подальших тестів. (Запропоновано Кліффом Даєром і реалізовано " +"Майклом Фордом; :issue:`8074`.)" + +msgid "" +"The progress messages now show 'x' for expected failures and 'u' for " +"unexpected successes when run in verbose mode. (Contributed by Benjamin " +"Peterson.)" +msgstr "" +"Повідомлення про перебіг тепер показують \"x\" для очікуваних помилок і \"u" +"\" для неочікуваних успіхів під час запуску в докладному режимі. (Надав " +"Бенджамін Петерсон.)" + +msgid "" +"Test cases can raise the :exc:`~unittest.SkipTest` exception to skip a test " +"(:issue:`1034053`)." +msgstr "" +"Тестові випадки можуть викликати виключення :exc:`~unittest.SkipTest`, щоб " +"пропустити тест (:issue:`1034053`)." + +msgid "" +"The error messages for :meth:`~unittest.TestCase.assertEqual`, :meth:" +"`~unittest.TestCase.assertTrue`, and :meth:`~unittest.TestCase.assertFalse` " +"failures now provide more information. If you set the :attr:`~unittest." +"TestCase.longMessage` attribute of your :class:`~unittest.TestCase` classes " +"to true, both the standard error message and any additional message you " +"provide will be printed for failures. (Added by Michael Foord; :issue:" +"`5663`.)" +msgstr "" +"Повідомлення про помилки для помилок :meth:`~unittest.TestCase." +"assertEqual`, :meth:`~unittest.TestCase.assertTrue` і :meth:`~unittest." +"TestCase.assertFalse` тепер надають більше інформації. Якщо ви встановите " +"атрибут :attr:`~unittest.TestCase.longMessage` ваших класів :class:" +"`~unittest.TestCase` як true, стандартне повідомлення про помилку та будь-" +"яке додаткове повідомлення, яке ви надасте, буде надруковано для помилок. " +"(Додав Майкл Форд; :issue:`5663`.)" + +msgid "" +"The :meth:`~unittest.TestCase.assertRaises` method now returns a context " +"handler when called without providing a callable object to run. For " +"example, you can write this::" +msgstr "" +"Метод :meth:`~unittest.TestCase.assertRaises` тепер повертає обробник " +"контексту під час виклику без надання об’єкта для запуску. Наприклад, ви " +"можете написати це::" + +msgid "(Implemented by Antoine Pitrou; :issue:`4444`.)" +msgstr "(Реалізовано Антуаном Пітру; :issue:`4444`.)" + +msgid "" +"Module- and class-level setup and teardown fixtures are now supported. " +"Modules can contain :func:`~unittest.setUpModule` and :func:`~unittest." +"tearDownModule` functions. Classes can have :meth:`~unittest.TestCase." +"setUpClass` and :meth:`~unittest.TestCase.tearDownClass` methods that must " +"be defined as class methods (using ``@classmethod`` or equivalent). These " +"functions and methods are invoked when the test runner switches to a test " +"case in a different module or class." +msgstr "" +"Тепер підтримуються пристрої налаштування та демонтажу на рівні модуля та " +"класу. Модулі можуть містити функції :func:`~unittest.setUpModule` і :func:" +"`~unittest.tearDownModule`. Класи можуть мати методи :meth:`~unittest." +"TestCase.setUpClass` і :meth:`~unittest.TestCase.tearDownClass`, які мають " +"бути визначені як методи класу (використовуючи ``@classmethod`` або " +"еквівалент). Ці функції та методи викликаються, коли виконавець тесту " +"перемикається на тестовий приклад в іншому модулі чи класі." + +msgid "" +"The methods :meth:`~unittest.TestCase.addCleanup` and :meth:`~unittest." +"TestCase.doCleanups` were added. :meth:`~unittest.TestCase.addCleanup` lets " +"you add cleanup functions that will be called unconditionally (after :meth:" +"`~unittest.TestCase.setUp` if :meth:`~unittest.TestCase.setUp` fails, " +"otherwise after :meth:`~unittest.TestCase.tearDown`). This allows for much " +"simpler resource allocation and deallocation during tests (:issue:`5679`)." +msgstr "" +"Додано методи :meth:`~unittest.TestCase.addCleanup` і :meth:`~unittest." +"TestCase.doCleanups`. :meth:`~unittest.TestCase.addCleanup` дозволяє " +"додавати функції очищення, які будуть викликані безумовно (після :meth:" +"`~unittest.TestCase.setUp`, якщо :meth:`~unittest.TestCase.setUp` не " +"вдається, інакше після :meth:`~unittest.TestCase.tearDown`). Це дозволяє " +"набагато простіше розподіляти та звільняти ресурси під час тестування (:" +"issue:`5679`)." + +msgid "" +"A number of new methods were added that provide more specialized tests. " +"Many of these methods were written by Google engineers for use in their test " +"suites; Gregory P. Smith, Michael Foord, and GvR worked on merging them into " +"Python's version of :mod:`unittest`." +msgstr "" +"Було додано ряд нових методів, які забезпечують більш спеціалізовані тести. " +"Багато з цих методів були написані інженерами Google для використання в " +"їхніх наборах тестів; Грегорі П. Сміт, Майкл Форд і GvR працювали над їх " +"об’єднанням у версію Python :mod:`unittest`." + +msgid "" +":meth:`~unittest.TestCase.assertIsNone` and :meth:`~unittest.TestCase." +"assertIsNotNone` take one expression and verify that the result is or is not " +"``None``." +msgstr "" +":meth:`~unittest.TestCase.assertIsNone` і :meth:`~unittest.TestCase." +"assertIsNotNone` беруть один вираз і перевіряють, чи є результат ``None``." + +msgid "" +":meth:`~unittest.TestCase.assertIs` and :meth:`~unittest.TestCase." +"assertIsNot` take two values and check whether the two values evaluate to " +"the same object or not. (Added by Michael Foord; :issue:`2578`.)" +msgstr "" +":meth:`~unittest.TestCase.assertIs` і :meth:`~unittest.TestCase.assertIsNot` " +"приймають два значення та перевіряють, чи обидва значення обчислюються для " +"одного об’єкта чи ні. (Додав Майкл Форд; :issue:`2578`.)" + +msgid "" +":meth:`~unittest.TestCase.assertIsInstance` and :meth:`~unittest.TestCase." +"assertNotIsInstance` check whether the resulting object is an instance of a " +"particular class, or of one of a tuple of classes. (Added by Georg Brandl; :" +"issue:`7031`.)" +msgstr "" +":meth:`~unittest.TestCase.assertIsInstance` і :meth:`~unittest.TestCase." +"assertNotIsInstance` перевіряють, чи є отриманий об’єкт екземпляром певного " +"класу чи одного з кортежу класів. (Додав Георг Брандл; :issue:`7031`.)" + +msgid "" +":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase." +"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, and :meth:" +"`~unittest.TestCase.assertLessEqual` compare two quantities." +msgstr "" +":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase." +"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, and :meth:" +"`~unittest.TestCase.assertLessEqual` порівнюють два значення." + +msgid "" +":meth:`~unittest.TestCase.assertMultiLineEqual` compares two strings, and if " +"they're not equal, displays a helpful comparison that highlights the " +"differences in the two strings. This comparison is now used by default when " +"Unicode strings are compared with :meth:`~unittest.TestCase.assertEqual`." +msgstr "" +":meth:`~unittest.TestCase.assertMultiLineEqual` порівнює два рядки, і якщо " +"вони не рівні, відображає корисне порівняння, яке підкреслює відмінності в " +"двох рядках. Це порівняння тепер використовується за замовчуванням, коли " +"рядки Unicode порівнюються з :meth:`~unittest.TestCase.assertEqual`." + +msgid "" +":meth:`~unittest.TestCase.assertRegexpMatches` and :meth:`~unittest.TestCase." +"assertNotRegexpMatches` checks whether the first argument is a string " +"matching or not matching the regular expression provided as the second " +"argument (:issue:`8038`)." +msgstr "" +":meth:`~unittest.TestCase.assertRegexpMatches` і :meth:`~unittest.TestCase." +"assertNotRegexpMatches` перевіряє, чи відповідає перший аргумент рядку " +"регулярному виразу, наданому як другий аргумент (:issue:`8038`). )." + +msgid "" +":meth:`~unittest.TestCase.assertRaisesRegexp` checks whether a particular " +"exception is raised, and then also checks that the string representation of " +"the exception matches the provided regular expression." +msgstr "" +":meth:`~unittest.TestCase.assertRaisesRegexp` перевіряє, чи виникає певний " +"виняток, а потім також перевіряє, чи рядкове представлення виключення " +"відповідає наданому регулярному виразу." + +msgid "" +":meth:`~unittest.TestCase.assertIn` and :meth:`~unittest.TestCase." +"assertNotIn` tests whether *first* is or is not in *second*." +msgstr "" +":meth:`~unittest.TestCase.assertIn` і :meth:`~unittest.TestCase.assertNotIn` " +"перевіряє, чи є *first* у *second* чи ні." + +msgid "" +":meth:`~unittest.TestCase.assertItemsEqual` tests whether two provided " +"sequences contain the same elements." +msgstr "" +":meth:`~unittest.TestCase.assertItemsEqual` перевіряє, чи дві надані " +"послідовності містять однакові елементи." + +msgid "" +":meth:`~unittest.TestCase.assertSetEqual` compares whether two sets are " +"equal, and only reports the differences between the sets in case of error." +msgstr "" +":meth:`~unittest.TestCase.assertSetEqual` порівнює, чи рівні два набори, і " +"повідомляє про відмінності між наборами лише в разі помилки." + +msgid "" +"Similarly, :meth:`~unittest.TestCase.assertListEqual` and :meth:`~unittest." +"TestCase.assertTupleEqual` compare the specified types and explain any " +"differences without necessarily printing their full values; these methods " +"are now used by default when comparing lists and tuples using :meth:" +"`~unittest.TestCase.assertEqual`. More generally, :meth:`~unittest.TestCase." +"assertSequenceEqual` compares two sequences and can optionally check whether " +"both sequences are of a particular type." +msgstr "" +"Подібним чином :meth:`~unittest.TestCase.assertListEqual` і :meth:`~unittest." +"TestCase.assertTupleEqual` порівнюють вказані типи та пояснюють будь-які " +"відмінності, не обов’язково друкуючи їхні повні значення; ці методи тепер " +"використовуються за замовчуванням під час порівняння списків і кортежів за " +"допомогою :meth:`~unittest.TestCase.assertEqual`. Загалом, :meth:`~unittest." +"TestCase.assertSequenceEqual` порівнює дві послідовності та за бажанням може " +"перевірити, чи обидві послідовності належать до певного типу." + +msgid "" +":meth:`~unittest.TestCase.assertDictEqual` compares two dictionaries and " +"reports the differences; it's now used by default when you compare two " +"dictionaries using :meth:`~unittest.TestCase.assertEqual`. :meth:`~unittest." +"TestCase.assertDictContainsSubset` checks whether all of the key/value pairs " +"in *first* are found in *second*." +msgstr "" +":meth:`~unittest.TestCase.assertDictEqual` порівнює два словники та " +"повідомляє про відмінності; тепер він використовується за замовчуванням, " +"коли ви порівнюєте два словники за допомогою :meth:`~unittest.TestCase." +"assertEqual`. :meth:`~unittest.TestCase.assertDictContainsSubset` перевіряє, " +"чи всі пари ключ/значення в *first* знайдені в *second*." + +msgid "" +":meth:`~unittest.TestCase.assertAlmostEqual` and :meth:`~unittest.TestCase." +"assertNotAlmostEqual` test whether *first* and *second* are approximately " +"equal. This method can either round their difference to an optionally " +"specified number of *places* (the default is 7) and compare it to zero, or " +"require the difference to be smaller than a supplied *delta* value." +msgstr "" + +msgid "" +":meth:`~unittest.TestLoader.loadTestsFromName` properly honors the :attr:" +"`~unittest.TestLoader.suiteClass` attribute of the :class:`~unittest." +"TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)" +msgstr "" +":meth:`~unittest.TestLoader.loadTestsFromName` належним чином враховує " +"атрибут :attr:`~unittest.TestLoader.suiteClass` :class:`~unittest." +"TestLoader`. (Виправлено Марком Родді; :issue:`6866`.)" + +msgid "" +"A new hook lets you extend the :meth:`~unittest.TestCase.assertEqual` method " +"to handle new data types. The :meth:`~unittest.TestCase." +"addTypeEqualityFunc` method takes a type object and a function. The function " +"will be used when both of the objects being compared are of the specified " +"type. This function should compare the two objects and raise an exception " +"if they don't match; it's a good idea for the function to provide additional " +"information about why the two objects aren't matching, much as the new " +"sequence comparison methods do." +msgstr "" +"Новий хук дозволяє розширити метод :meth:`~unittest.TestCase.assertEqual` " +"для обробки нових типів даних. Метод :meth:`~unittest.TestCase." +"addTypeEqualityFunc` приймає об’єкт типу та функцію. Функція буде " +"використана, якщо обидва порівнювані об’єкти належать до вказаного типу. Ця " +"функція має порівняти два об’єкти та викликати виключення, якщо вони не " +"збігаються; доцільно, щоб функція надавала додаткову інформацію про те, чому " +"два об’єкти не збігаються, подібно до нових методів порівняння " +"послідовностей." + +msgid "" +":func:`unittest.main` now takes an optional ``exit`` argument. If false, :" +"func:`~unittest.main` doesn't call :func:`sys.exit`, allowing :func:" +"`~unittest.main` to be used from the interactive interpreter. (Contributed " +"by J. Pablo Fernández; :issue:`3379`.)" +msgstr "" +":func:`unittest.main` тепер приймає додатковий аргумент ``вихід``. Якщо " +"false, :func:`~unittest.main` не викликає :func:`sys.exit`, що дозволяє " +"використовувати :func:`~unittest.main` з інтерактивного інтерпретатора. " +"(Надав Дж. Пабло Фернандес; :issue:`3379`.)" + +msgid "" +":class:`~unittest.TestResult` has new :meth:`~unittest.TestResult." +"startTestRun` and :meth:`~unittest.TestResult.stopTestRun` methods that are " +"called immediately before and after a test run. (Contributed by Robert " +"Collins; :issue:`5728`.)" +msgstr "" +":class:`~unittest.TestResult` має нові методи :meth:`~unittest.TestResult." +"startTestRun` і :meth:`~unittest.TestResult.stopTestRun`, які викликаються " +"безпосередньо перед і після виконання тесту. (Надав Роберт Коллінз; :issue:" +"`5728`.)" + +msgid "" +"With all these changes, the :file:`unittest.py` was becoming awkwardly " +"large, so the module was turned into a package and the code split into " +"several files (by Benjamin Peterson). This doesn't affect how the module is " +"imported or used." +msgstr "" +"З усіма цими змінами :file:`unittest.py` ставав незручно великим, тому " +"модуль перетворили на пакет, а код розділили на кілька файлів (автор " +"Бенджамін Петерсон). Це не впливає на імпорт або використання модуля." + +msgid "" +"https://web.archive.org/web/20210619163128/http://www.voidspace.org.uk/" +"python/articles/unittest2.shtml" +msgstr "" + +msgid "" +"Describes the new features, how to use them, and the rationale for various " +"design decisions. (By Michael Foord.)" +msgstr "" +"Описує нові функції, способи їх використання та обґрунтування різних " +"дизайнерських рішень. (Автор: Майкл Форд.)" + +msgid "Updated module: ElementTree 1.3" +msgstr "Оновлений модуль: ElementTree 1.3" + +msgid "" +"The version of the ElementTree library included with Python was updated to " +"version 1.3. Some of the new features are:" +msgstr "" +"Версію бібліотеки ElementTree, яка входить до складу Python, оновлено до " +"версії 1.3. Деякі з нових функцій:" + +msgid "" +"The various parsing functions now take a *parser* keyword argument giving " +"an :class:`~xml.etree.ElementTree.XMLParser` instance that will be used. " +"This makes it possible to override the file's internal encoding::" +msgstr "" +"Різні функції аналізу тепер приймають аргумент ключового слова *parser*, що " +"дає екземпляр :class:`~xml.etree.ElementTree.XMLParser`, який буде " +"використано. Це дає змогу змінити внутрішнє кодування файлу:" + +msgid "" +"Errors in parsing XML now raise a :exc:`ParseError` exception, whose " +"instances have a :attr:`position` attribute containing a (*line*, *column*) " +"tuple giving the location of the problem." +msgstr "" +"Помилки під час синтаксичного аналізу XML тепер викликають виняток :exc:" +"`ParseError`, екземпляри якого мають атрибут :attr:`position`, що містить " +"кортеж (*рядок*, *стовпець*), що вказує місце проблеми." + +msgid "" +"ElementTree's code for converting trees to a string has been significantly " +"reworked, making it roughly twice as fast in many cases. The :meth:" +"`ElementTree.write() ` and :meth:" +"`Element.write` methods now have a *method* parameter that can be \"xml" +"\" (the default), \"html\", or \"text\". HTML mode will output empty " +"elements as ```` instead of ````, and text mode will " +"skip over elements and only output the text chunks. If you set the :attr:" +"`tag` attribute of an element to ``None`` but leave its children in place, " +"the element will be omitted when the tree is written out, so you don't need " +"to do more extensive rearrangement to remove a single element." +msgstr "" +"Код ElementTree для перетворення дерев у рядок був суттєво перероблений, " +"завдяки чому він у багатьох випадках став приблизно вдвічі швидшим. Методи :" +"meth:`ElementTree.write() ` і :meth:" +"`Element.write` тепер мають параметр *method*, який може бути \"xml\" (за " +"замовчуванням), \"html\" або \"text\". У режимі HTML пусті елементи " +"виводитимуться як `` `` замість ````, а текстовий " +"режим пропускатиме елементи та виводитиме лише фрагменти тексту. Якщо ви " +"встановите для атрибута :attr:`tag` елемента значення ``None``, але залишите " +"його дочірніх елементів на місці, елемент буде пропущено, коли дерево буде " +"виписано, тому вам не потрібно виконувати більш широке перевпорядкування щоб " +"видалити один елемент." + +msgid "" +"Namespace handling has also been improved. All ``xmlns:`` " +"declarations are now output on the root element, not scattered throughout " +"the resulting XML. You can set the default namespace for a tree by setting " +"the :attr:`default_namespace` attribute and can register new prefixes with :" +"meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use " +"the true/false *xml_declaration* parameter to suppress the XML declaration." +msgstr "" +"Також покращено обробку простору імен. Усі оголошення ``xmlns: `` " +"тепер виводяться на кореневий елемент, а не розкидані по результуючому XML. " +"Ви можете встановити простір імен за замовчуванням для дерева, установивши " +"атрибут :attr:`default_namespace`, і можете зареєструвати нові префікси за " +"допомогою :meth:`~xml.etree.ElementTree.register_namespace`. У режимі XML ви " +"можете використовувати параметр *xml_declaration* true/false, щоб приховати " +"декларацію XML." + +msgid "" +"New :class:`~xml.etree.ElementTree.Element` method: :meth:`~xml.etree." +"ElementTree.Element.extend` appends the items from a sequence to the " +"element's children. Elements themselves behave like sequences, so it's easy " +"to move children from one element to another::" +msgstr "" +"Новий метод :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree." +"ElementTree.Element.extend` додає елементи з послідовності до дочірніх " +"елементів елемента. Самі елементи поводяться як послідовності, тому легко " +"переміщати дітей від одного елемента до іншого:" + +msgid "" +"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.iter` " +"yields the children of the element as a generator. It's also possible to " +"write ``for child in elem:`` to loop over an element's children. The " +"existing method :meth:`getiterator` is now deprecated, as is :meth:" +"`getchildren` which constructs and returns a list of children." +msgstr "" +"Новий метод :class:`Element`: :meth:`~xml.etree.ElementTree.Element.iter` " +"дає дочірні елементи елемента як генератор. Також можна написати ``для " +"дочірнього елемента в елементі:``, щоб перейти до дочірніх елементів " +"елемента. Існуючий метод :meth:`getiterator` тепер не підтримується, як і :" +"meth:`getchildren`, який створює та повертає список дітей." + +msgid "" +"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.itertext` " +"yields all chunks of text that are descendants of the element. For example::" +msgstr "" +"Новий метод :class:`Element`: :meth:`~xml.etree.ElementTree.Element." +"itertext` дає всі фрагменти тексту, які є нащадками елемента. Наприклад::" + +msgid "" +"Deprecated: using an element as a Boolean (i.e., ``if elem:``) would return " +"true if the element had any children, or false if there were no children. " +"This behaviour is confusing -- ``None`` is false, but so is a childless " +"element? -- so it will now trigger a :exc:`FutureWarning`. In your code, " +"you should be explicit: write ``len(elem) != 0`` if you're interested in the " +"number of children, or ``elem is not None``." +msgstr "" +"Застаріле: використання елемента як логічного значення (тобто ``if elem:``) " +"повертатиме true, якщо елемент мав дочірніх елементів, або false, якщо " +"дочірніх елементів не було. Така поведінка збиває з пантелику – ``None`` є " +"хибним, але також і бездітний елемент? -- тож тепер ініціюватиме :exc:" +"`FutureWarning`. У вашому коді ви повинні бути чіткими: напишіть " +"``len(elem) != 0``, якщо вас цікавить кількість дітей, або ``elem не є " +"None``." + +msgid "" +"Fredrik Lundh develops ElementTree and produced the 1.3 version; you can " +"read his article describing 1.3 at https://web.archive.org/" +"web/20200703234532/http://effbot.org/zone/elementtree-13-intro.htm. Florent " +"Xicluna updated the version included with Python, after discussions on " +"python-dev and in :issue:`6472`.)" +msgstr "" +"Фредрік Лунд розробляє ElementTree і створив версію 1.3; ви можете прочитати " +"його статтю з описом 1.3 на https://web.archive.org/web/20200703234532/" +"http://effbot.org/zone/elementtree-13-intro.htm. Florent Xicluna оновив " +"версію, включену в Python, після обговорень на python-dev і в :issue:`6472`.)" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "" +"The latest release of the GNU Debugger, GDB 7, can be `scripted using Python " +"`__. When you " +"begin debugging an executable program P, GDB will look for a file named ``P-" +"gdb.py`` and automatically read it. Dave Malcolm contributed a :file:" +"`python-gdb.py` that adds a number of commands useful when debugging Python " +"itself. For example, ``py-up`` and ``py-down`` go up or down one Python " +"stack frame, which usually corresponds to several C stack frames. ``py-" +"print`` prints the value of a Python variable, and ``py-bt`` prints the " +"Python stack trace. (Added as a result of :issue:`8032`.)" +msgstr "" +"Останній випуск GNU Debugger, GDB 7, може бути `написаний за допомогою " +"Python `__. " +"Коли ви починаєте налагоджувати виконувану програму P, GDB шукатиме файл із " +"назвою ``P-gdb.py`` і автоматично його читатиме. Дейв Малкольм зробив :file:" +"`python-gdb.py`, який додає ряд команд, корисних під час налагодження самого " +"Python. Наприклад, ``py-up`` і ``py-down`` переміщуються вгору або вниз на " +"один кадр стека Python, який зазвичай відповідає кільком кадрам стеку C. " +"``py-print`` друкує значення змінної Python, а ``py-bt`` друкує трасування " +"стека Python. (Додано в результаті :issue:`8032`.)" + +msgid "" +"If you use the :file:`.gdbinit` file provided with Python, the \"pyo\" macro " +"in the 2.7 version now works correctly when the thread being debugged " +"doesn't hold the GIL; the macro now acquires it before printing. " +"(Contributed by Victor Stinner; :issue:`3632`.)" +msgstr "" +"Якщо ви використовуєте файл :file:`.gdbinit`, що надається разом з Python, " +"макрос \"pyo\" у версії 2.7 тепер працює правильно, коли потік, який " +"налагоджується, не містить GIL; тепер макрос отримує його перед друком. " +"(Надав Віктор Стіннер; :issue:`3632`.)" + +msgid "" +":c:func:`Py_AddPendingCall` is now thread-safe, letting any worker thread " +"submit notifications to the main Python thread. This is particularly useful " +"for asynchronous IO operations. (Contributed by Kristján Valur Jónsson; :" +"issue:`4293`.)" +msgstr "" +":c:func:`Py_AddPendingCall` тепер потокобезпечний, дозволяючи будь-якому " +"робочому потоку надсилати сповіщення до основного потоку Python. Це особливо " +"корисно для асинхронних операцій введення-виведення. (Надав Крістіян Валур " +"Йонссон; :issue:`4293`.)" + +msgid "" +"New function: :c:func:`PyCode_NewEmpty` creates an empty code object; only " +"the filename, function name, and first line number are required. This is " +"useful for extension modules that are attempting to construct a more useful " +"traceback stack. Previously such extensions needed to call :c:func:" +"`PyCode_New`, which had many more arguments. (Added by Jeffrey Yasskin.)" +msgstr "" +"Нова функція: :c:func:`PyCode_NewEmpty` створює порожній об’єкт коду; " +"потрібні лише назва файлу, назва функції та номер першого рядка. Це корисно " +"для модулів розширення, які намагаються побудувати більш корисний стек " +"трасування. Раніше такі розширення потребували виклику :c:func:`PyCode_New`, " +"який мав набагато більше аргументів. (Додав Джеффрі Яскін.)" + +msgid "" +"New function: :c:func:`PyErr_NewExceptionWithDoc` creates a new exception " +"class, just as the existing :c:func:`PyErr_NewException` does, but takes an " +"extra ``char *`` argument containing the docstring for the new exception " +"class. (Added by 'lekma' on the Python bug tracker; :issue:`7033`.)" +msgstr "" +"Нова функція: :c:func:`PyErr_NewExceptionWithDoc` створює новий клас " +"винятків, як і існуючий :c:func:`PyErr_NewException`, але приймає додатковий " +"аргумент ``char *``, що містить рядок документації для нового класу " +"винятків . (Додано \"lekma\" у системі відстеження помилок Python; :issue:" +"`7033`.)" + +msgid "" +"New function: :c:func:`PyFrame_GetLineNumber` takes a frame object and " +"returns the line number that the frame is currently executing. Previously " +"code would need to get the index of the bytecode instruction currently " +"executing, and then look up the line number corresponding to that address. " +"(Added by Jeffrey Yasskin.)" +msgstr "" +"Нова функція: :c:func:`PyFrame_GetLineNumber` приймає об’єкт фрейму та " +"повертає номер рядка, який кадр зараз виконує. Раніше коду потрібно було " +"отримати індекс інструкції байт-коду, яка зараз виконується, а потім знайти " +"номер рядка, що відповідає цій адресі. (Додав Джеффрі Яскін.)" + +msgid "" +"New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:" +"`PyLong_AsLongLongAndOverflow` approximates a Python long integer as a C :c:" +"expr:`long` or :c:expr:`long long`. If the number is too large to fit into " +"the output type, an *overflow* flag is set and returned to the caller. " +"(Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.)" +msgstr "" + +msgid "" +"New function: stemming from the rewrite of string-to-float conversion, a " +"new :c:func:`PyOS_string_to_double` function was added. The old :c:func:" +"`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions are now " +"deprecated." +msgstr "" +"Нова функція: була додана нова функція :c:func:`PyOS_string_to_double`, яка " +"випливає з перезапису перетворення рядків у плаваючі. Старі функції :c:func:" +"`PyOS_ascii_strtod` і :c:func:`PyOS_ascii_atof` тепер застаріли." + +msgid "" +"New function: :c:func:`PySys_SetArgvEx` sets the value of ``sys.argv`` and " +"can optionally update ``sys.path`` to include the directory containing the " +"script named by ``sys.argv[0]`` depending on the value of an *updatepath* " +"parameter." +msgstr "" +"Нова функція: :c:func:`PySys_SetArgvEx` встановлює значення ``sys.argv`` і " +"може додатково оновлювати ``sys.path``, щоб включити каталог, що містить " +"сценарій, названий ``sys.argv[0]`` залежно від значення параметра " +"*updatepath*." + +msgid "" +"This function was added to close a security hole for applications that embed " +"Python. The old function, :c:func:`PySys_SetArgv`, would always update " +"``sys.path``, and sometimes it would add the current directory. This meant " +"that, if you ran an application embedding Python in a directory controlled " +"by someone else, attackers could put a Trojan-horse module in the directory " +"(say, a file named :file:`os.py`) that your application would then import " +"and run." +msgstr "" +"Цю функцію було додано, щоб закрити дірку в безпеці програм, які вбудовують " +"Python. Стара функція :c:func:`PySys_SetArgv` завжди оновлювала ``sys." +"path``, а іноді додавала поточний каталог. Це означало, що якщо ви " +"запускаєте програму, яка вбудовує Python, у каталог, який контролюється " +"кимось іншим, зловмисники можуть розмістити модуль троянського коня в цьому " +"каталозі (скажімо, файл із назвою :file:`os.py`), який потім зробить ваш " +"додаток імпортувати та запускати." + +msgid "" +"If you maintain a C/C++ application that embeds Python, check whether you're " +"calling :c:func:`PySys_SetArgv` and carefully consider whether the " +"application should be using :c:func:`PySys_SetArgvEx` with *updatepath* set " +"to false." +msgstr "" +"Якщо ви підтримуєте програму C/C++, у якій вбудовано Python, перевірте, чи " +"викликаєте ви :c:func:`PySys_SetArgv`, і уважно обміркуйте, чи має програма " +"використовувати :c:func:`PySys_SetArgvEx` з *updatepath*, встановленим на " +"false ." + +msgid "" +"Security issue reported as `CVE-2008-5983 `_; discussed in :issue:`5753`, and fixed by " +"Antoine Pitrou." +msgstr "" +"Про проблему безпеки повідомлено як `CVE-2008-5983 `_; обговорено в :issue:`5753` та " +"виправлено Антуаном Пітру." + +msgid "" +"New macros: the Python header files now define the following macros: :c:" +"macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:" +"`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:" +"`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER`, and :c:macro:`Py_TOUPPER`. All of " +"these functions are analogous to the C standard macros for classifying " +"characters, but ignore the current locale setting, because in several places " +"Python needs to analyze characters in a locale-independent way. (Added by " +"Eric Smith; :issue:`5793`.)" +msgstr "" +"Нові макроси: файли заголовків Python тепер визначають такі макроси: :c:" +"macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:" +"`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:" +"`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER` і :c:macro:`Py_TOUPPER`. Усі ці функції " +"є аналогічними стандартним макросам C для класифікації символів, але " +"ігнорують поточні параметри локалі, оскільки в деяких місцях Python потребує " +"аналізу символів у спосіб, незалежний від локалі. (Додав Ерік Сміт; :issue:" +"`5793`.)" + +msgid "" +"Removed function: :c:macro:`PyEval_CallObject` is now only available as a " +"macro. A function version was being kept around to preserve ABI linking " +"compatibility, but that was in 1997; it can certainly be deleted by now. " +"(Removed by Antoine Pitrou; :issue:`8276`.)" +msgstr "" +"Видалена функція: :c:macro:`PyEval_CallObject` тепер доступна лише як " +"макрос. Версія функції зберігалася, щоб зберегти сумісність зв’язування ABI, " +"але це було в 1997 році; його, звичайно, вже можна видалити. (Видалено " +"Антуаном Пітру; :issue:`8276`.)" + +msgid "" +"New format codes: the :c:func:`PyFormat_FromString`, :c:func:" +"`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept ``" +"%lld`` and ``%llu`` format codes for displaying C's :c:expr:`long long` " +"types. (Contributed by Mark Dickinson; :issue:`7228`.)" +msgstr "" + +msgid "" +"The complicated interaction between threads and process forking has been " +"changed. Previously, the child process created by :func:`os.fork` might " +"fail because the child is created with only a single thread running, the " +"thread performing the :func:`os.fork`. If other threads were holding a lock, " +"such as Python's import lock, when the fork was performed, the lock would " +"still be marked as \"held\" in the new process. But in the child process " +"nothing would ever release the lock, since the other threads weren't " +"replicated, and the child process would no longer be able to perform imports." +msgstr "" +"Змінено складну взаємодію між потоками та розгалуженням процесу. Раніше " +"дочірній процес, створений :func:`os.fork`, міг вийти з ладу, оскільки " +"дочірній процес створюється лише з одним запущеним потоком, потік, який " +"виконує :func:`os.fork`. Якби інші потоки утримували блокування, наприклад " +"блокування імпорту Python, під час виконання розгалуження блокування все " +"одно було б позначено як \"утримано\" в новому процесі. Але в дочірньому " +"процесі ніщо ніколи не зніме блокування, оскільки інші потоки не були " +"репліковані, і дочірній процес більше не зможе виконувати імпорт." + +msgid "" +"Python 2.7 acquires the import lock before performing an :func:`os.fork`, " +"and will also clean up any locks created using the :mod:`threading` module. " +"C extension modules that have internal locks, or that call :c:func:`fork()` " +"themselves, will not benefit from this clean-up." +msgstr "" +"Python 2.7 отримує блокування імпорту перед виконанням :func:`os.fork`, а " +"також очищає будь-які блокування, створені за допомогою модуля :mod:" +"`threading`. Модулі розширення C, які мають внутрішні блокування або самі " +"викликають :c:func:`fork()`, не матимуть користі від цього очищення." + +msgid "(Fixed by Thomas Wouters; :issue:`1590864`.)" +msgstr "(Виправлено Томасом Воутерсом; :issue:`1590864`.)" + +msgid "" +"The :c:func:`Py_Finalize` function now calls the internal :func:`threading." +"_shutdown` function; this prevents some exceptions from being raised when an " +"interpreter shuts down. (Patch by Adam Olsen; :issue:`1722344`.)" +msgstr "" +"Функція :c:func:`Py_Finalize` тепер викликає внутрішню функцію :func:" +"`threading._shutdown`; це запобігає виникненню деяких винятків, коли " +"інтерпретатор вимикається. (Патч від Адама Олсена; :issue:`1722344`.)" + +msgid "" +"When using the :c:type:`PyMemberDef` structure to define attributes of a " +"type, Python will no longer let you try to delete or set a :const:" +"`T_STRING_INPLACE` attribute." +msgstr "" +"У разі використання структури :c:type:`PyMemberDef` для визначення атрибутів " +"типу Python більше не дозволить вам спробувати видалити або встановити " +"атрибут :const:`T_STRING_INPLACE`." + +msgid "" +"Global symbols defined by the :mod:`ctypes` module are now prefixed with " +"``Py``, or with ``_ctypes``. (Implemented by Thomas Heller; :issue:`3102`.)" +msgstr "" +"Глобальні символи, визначені модулем :mod:`ctypes`, тепер мають префікс " +"``Py`` або ``_ctypes``. (Реалізовано Томасом Геллером; :issue:`3102`.)" + +msgid "" +"New configure option: the :option:`!--with-system-expat` switch allows " +"building the :mod:`pyexpat` module to use the system Expat library. " +"(Contributed by Arfrever Frehtes Taifersar Arahesis; :issue:`7609`.)" +msgstr "" +"Нова опція конфігурації: перемикач :option:`!--with-system-expat` дозволяє " +"створити модуль :mod:`pyexpat` для використання системної бібліотеки Expat. " +"(Надано Arfrever Frehtes Taifersar Arahesis; :issue:`7609`.)" + +msgid "" +"New configure option: the :option:`!--with-valgrind` option will now disable " +"the pymalloc allocator, which is difficult for the Valgrind memory-error " +"detector to analyze correctly. Valgrind will therefore be better at " +"detecting memory leaks and overruns. (Contributed by James Henstridge; :" +"issue:`2422`.)" +msgstr "" +"Новий параметр конфігурації: параметр :option:`!--with-valgrind` тепер " +"вимикає розподільник pymalloc, який важко правильно аналізувати детектору " +"помилок пам’яті Valgrind. Таким чином, Valgrind буде краще виявляти витоки " +"пам’яті та перевантаження. (Надав Джеймс Хенстрідж; :issue:`2422`.)" + +msgid "" +"New configure option: you can now supply an empty string to :option:`!--with-" +"dbmliborder=` in order to disable all of the various DBM modules. (Added by " +"Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)" +msgstr "" +"Новий параметр конфігурації: тепер ви можете надати порожній рядок :option:" +"`!--with-dbmliborder=`, щоб вимкнути всі різні модулі DBM. (Додано Arfrever " +"Frehtes Taifersar Arahesis; :issue:`6491`.)" + +msgid "" +"The :program:`configure` script now checks for floating-point rounding bugs " +"on certain 32-bit Intel chips and defines a :c:macro:`X87_DOUBLE_ROUNDING` " +"preprocessor definition. No code currently uses this definition, but it's " +"available if anyone wishes to use it. (Added by Mark Dickinson; :issue:" +"`2937`.)" +msgstr "" +"Сценарій :program:`configure` тепер перевіряє помилки округлення з плаваючою " +"комою на певних 32-розрядних мікросхемах Intel і визначає визначення " +"препроцесора :c:macro:`X87_DOUBLE_ROUNDING`. Жоден код наразі не " +"використовує це визначення, але воно доступне, якщо хтось захоче його " +"використати. (Додав Марк Дікінсон; :issue:`2937`.)" + +msgid "" +":program:`configure` also now sets a :envvar:`LDCXXSHARED` Makefile variable " +"for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar " +"Arahesis; :issue:`1222585`.)" +msgstr "" +":program:`configure` також тепер встановлює змінну :envvar:`LDCXXSHARED` " +"Makefile для підтримки зв’язування C++. (Надано Arfrever Frehtes Taifersar " +"Arahesis; :issue:`1222585`.)" + +msgid "" +"The build process now creates the necessary files for pkg-config support. " +"(Contributed by Clinton Roy; :issue:`3585`.)" +msgstr "" +"Тепер у процесі збирання створюються необхідні файли для підтримки pkg-" +"config. (Надав Клінтон Рой; :issue:`3585`.)" + +msgid "" +"The build process now supports Subversion 1.7. (Contributed by Arfrever " +"Frehtes Taifersar Arahesis; :issue:`6094`.)" +msgstr "" +"Процес збирання тепер підтримує Subversion 1.7. (Надано Arfrever Frehtes " +"Taifersar Arahesis; :issue:`6094`.)" + +msgid "Capsules" +msgstr "Капсули" + +msgid "" +"Python 3.1 adds a new C datatype, :c:type:`PyCapsule`, for providing a C API " +"to an extension module. A capsule is essentially the holder of a C ``void " +"*`` pointer, and is made available as a module attribute; for example, the :" +"mod:`socket` module's API is exposed as ``socket.CAPI``, and :mod:" +"`unicodedata` exposes ``ucnhash_CAPI``. Other extensions can import the " +"module, access its dictionary to get the capsule object, and then get the " +"``void *`` pointer, which will usually point to an array of pointers to the " +"module's various API functions." +msgstr "" +"Python 3.1 додає новий тип даних C, :c:type:`PyCapsule`, для надання C API " +"до модуля розширення. Капсула, по суті, є власником покажчика C ``void *`` і " +"доступна як атрибут модуля; наприклад, API модуля :mod:`socket` представлено " +"як ``socket.CAPI``, а :mod:`unicodedata` — ``ucnhash_CAPI``. Інші розширення " +"можуть імпортувати модуль, отримати доступ до його словника, щоб отримати " +"об’єкт капсули, а потім отримати покажчик ``void *``, який зазвичай вказує " +"на масив покажчиків на різні функції API модуля." + +msgid "" +"There is an existing data type already used for this, :c:type:`PyCObject`, " +"but it doesn't provide type safety. Evil code written in pure Python could " +"cause a segmentation fault by taking a :c:type:`PyCObject` from module A and " +"somehow substituting it for the :c:type:`PyCObject` in module B. Capsules " +"know their own name, and getting the pointer requires providing the name:" +msgstr "" +"Для цього вже використовується існуючий тип даних, :c:type:`PyCObject`, але " +"він не забезпечує безпеки типу. Злий код, написаний на чистому Python, може " +"спричинити помилку сегментації, взявши :c:type:`PyCObject` з модуля A та " +"якимось чином замінивши його на :c:type:`PyCObject` у модулі B. Капсули " +"знають своє ім’я та отримання вказівника вимагає надання імені:" + +msgid "" +"You are assured that ``vtable`` points to whatever you're expecting. If a " +"different capsule was passed in, :c:func:`PyCapsule_IsValid` would detect " +"the mismatched name and return false. Refer to :ref:`using-capsules` for " +"more information on using these objects." +msgstr "" +"Ви впевнені, що ``vtable`` вказує на те, що ви очікуєте. Якщо було передано " +"іншу капсулу, :c:func:`PyCapsule_IsValid` виявить невідповідне ім’я та " +"поверне false. Зверніться до :ref:`using-capsules` для отримання додаткової " +"інформації про використання цих об’єктів." + +msgid "" +"Python 2.7 now uses capsules internally to provide various extension-module " +"APIs, but the :c:func:`PyCObject_AsVoidPtr` was modified to handle capsules, " +"preserving compile-time compatibility with the :c:type:`CObject` interface. " +"Use of :c:func:`PyCObject_AsVoidPtr` will signal a :exc:" +"`PendingDeprecationWarning`, which is silent by default." +msgstr "" +"Python 2.7 тепер використовує внутрішньо капсули для надання різноманітних " +"API модулів розширення, але :c:func:`PyCObject_AsVoidPtr` було змінено для " +"обробки капсул, зберігаючи сумісність під час компіляції з інтерфейсом :c:" +"type:`CObject`. Використання :c:func:`PyCObject_AsVoidPtr` сигналізує про :" +"exc:`PendingDeprecationWarning`, яке за умовчанням мовчить." + +msgid "" +"Implemented in Python 3.1 and backported to 2.7 by Larry Hastings; discussed " +"in :issue:`5630`." +msgstr "" +"Реалізовано в Python 3.1 і перенесено до 2.7 Ларрі Гастінгсом; обговорено в :" +"issue:`5630`." + +msgid "Port-Specific Changes: Windows" +msgstr "Зміни, що стосуються порту: Windows" + +msgid "" +"The :mod:`msvcrt` module now contains some constants from the :file:" +"`crtassem.h` header file: :data:`CRT_ASSEMBLY_VERSION`, :data:" +"`VC_ASSEMBLY_PUBLICKEYTOKEN`, and :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. " +"(Contributed by David Cournapeau; :issue:`4365`.)" +msgstr "" +"Модуль :mod:`msvcrt` тепер містить деякі константи з файлу заголовків :file:" +"`crtassem.h`: :data:`CRT_ASSEMBLY_VERSION`, :data:" +"`VC_ASSEMBLY_PUBLICKEYTOKEN` і :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. " +"(Надав Девід Курнапо; :issue:`4365`.)" + +msgid "" +"The :mod:`_winreg` module for accessing the registry now implements the :" +"func:`~_winreg.CreateKeyEx` and :func:`~_winreg.DeleteKeyEx` functions, " +"extended versions of previously supported functions that take several extra " +"arguments. The :func:`~_winreg.DisableReflectionKey`, :func:`~_winreg." +"EnableReflectionKey`, and :func:`~_winreg.QueryReflectionKey` were also " +"tested and documented. (Implemented by Brian Curtin: :issue:`7347`.)" +msgstr "" + +msgid "" +"The new :c:func:`_beginthreadex` API is used to start threads, and the " +"native thread-local storage functions are now used. (Contributed by Kristján " +"Valur Jónsson; :issue:`3582`.)" +msgstr "" +"Новий API :c:func:`_beginthreadex` використовується для запуску потоків, і " +"тепер використовуються власні функції локального зберігання потоків. (Надав " +"Крістіян Валур Йонссон; :issue:`3582`.)" + +msgid "" +"The :func:`os.kill` function now works on Windows. The signal value can be " +"the constants :const:`CTRL_C_EVENT`, :const:`CTRL_BREAK_EVENT`, or any " +"integer. The first two constants will send :kbd:`Control-C` and :kbd:" +"`Control-Break` keystroke events to subprocesses; any other value will use " +"the :c:func:`TerminateProcess` API. (Contributed by Miki Tebeka; :issue:" +"`1220212`.)" +msgstr "" +"Функція :func:`os.kill` тепер працює в Windows. Значенням сигналу можуть " +"бути константи :const:`CTRL_C_EVENT`, :const:`CTRL_BREAK_EVENT` або будь-яке " +"ціле число. Перші дві константи надсилатимуть події натискання клавіш :kbd:" +"`Control-C` і :kbd:`Control-Break` до підпроцесів; будь-яке інше значення " +"використовуватиме API :c:func:`TerminateProcess`. (Надав Мікі Тебека; :issue:" +"`1220212`.)" + +msgid "" +"The :func:`os.listdir` function now correctly fails for an empty path. " +"(Fixed by Hirokazu Yamamoto; :issue:`5913`.)" +msgstr "" +"Функція :func:`os.listdir` тепер правильно не працює для порожнього шляху. " +"(Виправлено Хірокадзу Ямамото; :issue:`5913`.)" + +msgid "" +"The :mod:`mimelib` module will now read the MIME database from the Windows " +"registry when initializing. (Patch by Gabriel Genellina; :issue:`4969`.)" +msgstr "" +"Модуль :mod:`mimelib` тепер читатиме базу даних MIME з реєстру Windows під " +"час ініціалізації. (Патч від Gabriel Genellina; :issue:`4969`.)" + +msgid "Port-Specific Changes: Mac OS X" +msgstr "Зміни, що стосуються порту: Mac OS X" + +msgid "" +"The path ``/Library/Python/2.7/site-packages`` is now appended to ``sys." +"path``, in order to share added packages between the system installation and " +"a user-installed copy of the same version. (Changed by Ronald Oussoren; :" +"issue:`4865`.)" +msgstr "" +"Шлях ``/Library/Python/2.7/site-packages`` тепер додається до ``sys.path``, " +"щоб спільно використовувати додані пакети між інсталяцією системи та копією " +"тієї самої версії, встановленою користувачем. (Змінено Рональдом " +"Оуссореном; :issue:`4865`.)" + +msgid "" +"As of 2.7.13, this change was removed. ``/Library/Python/2.7/site-" +"packages``, the site-packages directory used by the Apple-supplied system " +"Python 2.7 is no longer appended to ``sys.path`` for user-installed Pythons " +"such as from the python.org installers. As of macOS 10.12, Apple changed " +"how the system site-packages directory is configured, which could cause " +"installation of pip components, like setuptools, to fail. Packages " +"installed for the system Python will no longer be shared with user-installed " +"Pythons. (:issue:`28440`)" +msgstr "" +"Станом на 2.7.13 цю зміну було видалено. ``/Library/Python/2.7/site-" +"packages``, каталог site-packages, який використовується системою Python " +"2.7, що надається Apple, більше не додається до ``sys.path`` для Python, " +"встановлених користувачем, наприклад із інсталятори python.org. Починаючи з " +"macOS 10.12, Apple змінила конфігурацію системного каталогу site-packages, " +"що могло призвести до збою встановлення компонентів pip, як-от setuptools. " +"Пакети, встановлені для системного Python, більше не будуть надані іншим " +"Python, встановленим користувачами. (:issue:`28440`)" + +msgid "Port-Specific Changes: FreeBSD" +msgstr "Зміни, що стосуються порту: FreeBSD" + +msgid "" +"FreeBSD 7.1's :const:`SO_SETFIB` constant, used with :func:`~socket." +"getsockopt`/:func:`~socket.setsockopt` to select an alternate routing table, " +"is now available in the :mod:`socket` module. (Added by Kyle VanderBeek; :" +"issue:`8235`.)" +msgstr "" +"Константа FreeBSD 7.1 :const:`SO_SETFIB`, яка використовується з :func:" +"`~socket.getsockopt`/:func:`~socket.setsockopt` для вибору альтернативної " +"таблиці маршрутизації, тепер доступна в :mod:`socket` модуль. (Додав Кайл " +"ВандерБік; :issue:`8235`.)" + +msgid "Other Changes and Fixes" +msgstr "Інші зміни та виправлення" + +msgid "" +"Two benchmark scripts, :file:`iobench` and :file:`ccbench`, were added to " +"the :file:`Tools` directory. :file:`iobench` measures the speed of the " +"built-in file I/O objects returned by :func:`open` while performing various " +"operations, and :file:`ccbench` is a concurrency benchmark that tries to " +"measure computing throughput, thread switching latency, and IO processing " +"bandwidth when performing several tasks using a varying number of threads." +msgstr "" +"Два сценарії тестування, :file:`iobench` і :file:`ccbench`, було додано до " +"каталогу :file:`Tools`. :file:`iobench` вимірює швидкість вбудованих " +"файлових об’єктів вводу/виводу, які повертає :func:`open` під час виконання " +"різних операцій, а :file:`ccbench` є тестом паралелізму, який намагається " +"виміряти пропускну здатність обчислень, затримка перемикання потоків і " +"пропускна здатність обробки вводу/виводу під час виконання кількох завдань " +"із використанням різної кількості потоків." + +msgid "" +"The :file:`Tools/i18n/msgfmt.py` script now understands plural forms in :" +"file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)" +msgstr "" +"Сценарій :file:`Tools/i18n/msgfmt.py` тепер розуміє форми множини у файлах :" +"file:`.po`. (Виправлено Мартіном фон Льовісом; :issue:`5464`.)" + +msgid "" +"When importing a module from a :file:`.pyc` or :file:`.pyo` file with an " +"existing :file:`.py` counterpart, the :attr:`co_filename` attributes of the " +"resulting code objects are overwritten when the original filename is " +"obsolete. This can happen if the file has been renamed, moved, or is " +"accessed through different paths. (Patch by Ziga Seilnacht and Jean-Paul " +"Calderone; :issue:`1180193`.)" +msgstr "" +"Під час імпортування модуля з файлу :file:`.pyc` або :file:`.pyo` з наявним " +"аналогом :file:`.py` атрибути :attr:`co_filename` отриманих об’єктів коду " +"перезаписуються, коли оригінальна назва файлу застаріла. Це може статися, " +"якщо файл було перейменовано, переміщено або доступ до нього здійснюється " +"різними шляхами. (Патч від Ziga Seilnacht і Jean-Paul Calderone; :issue:" +"`1180193`.)" + +msgid "" +"The :file:`regrtest.py` script now takes a :option:`!--randseed=` switch " +"that takes an integer that will be used as the random seed for the :option:" +"`!-r` option that executes tests in random order. The :option:`!-r` option " +"also reports the seed that was used (Added by Collin Winter.)" +msgstr "" +"Сценарій :file:`regrtest.py` тепер приймає перемикач :option:`!--randseed=`, " +"який приймає ціле число, яке використовуватиметься як випадкове початкове " +"значення для параметра :option:`!-r`, який виконує тести у довільному " +"порядку. Параметр :option:`!-r` також повідомляє про використане насіння " +"(додано Колліном Вінтером)." + +msgid "" +"Another :file:`regrtest.py` switch is :option:`!-j`, which takes an integer " +"specifying how many tests run in parallel. This allows reducing the total " +"runtime on multi-core machines. This option is compatible with several other " +"options, including the :option:`!-R` switch which is known to produce long " +"runtimes. (Added by Antoine Pitrou, :issue:`6152`.) This can also be used " +"with a new :option:`!-F` switch that runs selected tests in a loop until " +"they fail. (Added by Antoine Pitrou; :issue:`7312`.)" +msgstr "" +"Інший перемикач :file:`regrtest.py` — це :option:`!-j`, який приймає ціле " +"число, що вказує, скільки тестів виконується паралельно. Це дозволяє " +"зменшити загальний час роботи на багатоядерних машинах. Ця опція сумісна з " +"кількома іншими опціями, включаючи перемикач :option:`!-R`, який, як відомо, " +"забезпечує тривалий час роботи. (Додано Антуаном Пітру, :issue:`6152`.) Це " +"також можна використовувати з новим перемикачем :option:`!-F`, який запускає " +"вибрані тести в циклі, доки вони не завершаться. (Додав Антуан Пітру; :issue:" +"`7312`.)" + +msgid "" +"When executed as a script, the :file:`py_compile.py` module now accepts " +"``'-'`` as an argument, which will read standard input for the list of " +"filenames to be compiled. (Contributed by Piotr Ożarowski; :issue:`8233`.)" +msgstr "" +"Коли модуль :file:`py_compile.py` виконується як сценарій, тепер приймає " +"``'-'`` як аргумент, який читатиме стандартний вхід для списку імен файлів, " +"які потрібно скомпілювати. (Надав Пьотр Ожаровський; :issue:`8233`.)" + +msgid "Porting to Python 2.7" +msgstr "Перенесення на Python 2.7" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code:" +msgstr "" +"У цьому розділі перераховані раніше описані зміни та інші виправлення " +"помилок, які можуть потребувати змін у вашому коді:" + +msgid "" +"The :func:`range` function processes its arguments more consistently; it " +"will now call :meth:`__int__` on non-float, non-integer arguments that are " +"supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)" +msgstr "" +"Функція :func:`range` обробляє свої аргументи більш послідовно; тепер він " +"викличе :meth:`__int__` для аргументів, що не є плаваючими, не цілими, які " +"йому надаються. (Виправлено Олександром Белопольським; :issue:`1533`.)" + +msgid "" +"The string :meth:`format` method changed the default precision used for " +"floating-point and complex numbers from 6 decimal places to 12, which " +"matches the precision used by :func:`str`. (Changed by Eric Smith; :issue:" +"`5920`.)" +msgstr "" +"Метод string :meth:`format` змінив стандартну точність, що використовується " +"для чисел з плаваючою комою та комплексних чисел, з 6 знаків після коми на " +"12, що відповідає точності, яку використовує :func:`str`. (Змінено Еріком " +"Смітом; :issue:`5920`.)" + +msgid "" +"Because of an optimization for the :keyword:`with` statement, the special " +"methods :meth:`__enter__` and :meth:`__exit__` must belong to the object's " +"type, and cannot be directly attached to the object's instance. This " +"affects new-style classes (derived from :class:`object`) and C extension " +"types. (:issue:`6101`.)" +msgstr "" +"Через оптимізацію оператора :keyword:`with` спеціальні методи :meth:" +"`__enter__` і :meth:`__exit__` мають належати до типу об’єкта та не можуть " +"бути безпосередньо приєднані до екземпляра об’єкта. Це впливає на класи " +"нового стилю (похідні від :class:`object`) і типи розширень C. (:issue:" +"`6101`.)" + +msgid "" +"Due to a bug in Python 2.6, the *exc_value* parameter to :meth:`__exit__` " +"methods was often the string representation of the exception, not an " +"instance. This was fixed in 2.7, so *exc_value* will be an instance as " +"expected. (Fixed by Florent Xicluna; :issue:`7853`.)" +msgstr "" +"Через помилку в Python 2.6 параметр *exc_value* для методів :meth:`__exit__` " +"часто був рядковим представленням винятку, а не екземпляром. Це було " +"виправлено у версії 2.7, тому *exc_value* буде екземпляром, як і " +"очікувалося. (Виправлено Флорентом Ксіклюною; :issue:`7853`.)" + +msgid "In the standard library:" +msgstr "У стандартній бібліотеці:" + +msgid "" +"Operations with :class:`~datetime.datetime` instances that resulted in a " +"year falling outside the supported range didn't always raise :exc:" +"`OverflowError`. Such errors are now checked more carefully and will now " +"raise the exception. (Reported by Mark Leander, patch by Anand B. Pillai and " +"Alexander Belopolsky; :issue:`7150`.)" +msgstr "" +"Операції з екземплярами :class:`~datetime.datetime`, які призвели до того, " +"що рік вийшов за межі підтримуваного діапазону, не завжди викликали :exc:" +"`OverflowError`. Такі помилки тепер перевіряються більш ретельно, і тепер " +"вони створюють винятки. (Повідомив Марк Леандер, виправлення Ананд Б. Піллаї " +"та Олександр Белопольський; :issue:`7150`.)" + +msgid "" +"When using :class:`~decimal.Decimal` instances with a string's :meth:" +"`format` method, the default alignment was previously left-alignment. This " +"has been changed to right-alignment, which might change the output of your " +"programs. (Changed by Mark Dickinson; :issue:`6857`.)" +msgstr "" +"Під час використання екземплярів :class:`~decimal.Decimal` із методом :meth:" +"`format` рядка раніше вирівнювання за замовчуванням було лівим. Це було " +"змінено на вирівнювання за правим краєм, що може змінити вивід ваших " +"програм. (Змінено Марком Дікінсоном; :issue:`6857`.)" + +msgid "" +"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:" +"`~decimal.InvalidOperation` instead of silently returning a true or false " +"value depending on the comparison operator. Quiet NaN values (or ``NaN``) " +"are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" +msgstr "" +"Порівняння, що включають сигнальне значення NaN (або ``sNAN``), тепер " +"сигналізують :const:`~decimal.InvalidOperation` замість мовчки повертати " +"значення true або false залежно від оператора порівняння. Тихі значення NaN " +"(або ``NaN``) тепер можна хешувати. (Виправлено Марком Дікінсоном; :issue:" +"`7279`.)" + +msgid "" +"The :meth:`~StringIO.StringIO.readline` method of :class:`~StringIO." +"StringIO` objects now does nothing when a negative length is requested, as " +"other file-like objects do. (:issue:`7348`)." +msgstr "" +"Метод :meth:`~StringIO.StringIO.readline` об’єктів :class:`~StringIO." +"StringIO` тепер нічого не робить, коли запитується від’ємна довжина, як це " +"роблять інші файлоподібні об’єкти. (:issue:`7348`)." + +msgid "For C extensions:" +msgstr "Для розширень C:" + +msgid "" +"C extensions that use integer format codes with the ``PyArg_Parse*`` family " +"of functions will now raise a :exc:`TypeError` exception instead of " +"triggering a :exc:`DeprecationWarning` (:issue:`5080`)." +msgstr "" +"Розширення C, які використовують коди цілочисельного формату з сімейством " +"функцій ``PyArg_Parse*``, тепер викликатимуть виняток :exc:`TypeError` " +"замість того, щоб запускати :exc:`DeprecationWarning` (:issue:`5080`)." + +msgid "" +"Use the new :c:func:`PyOS_string_to_double` function instead of the old :c:" +"func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions, which are " +"now deprecated." +msgstr "" +"Використовуйте нову функцію :c:func:`PyOS_string_to_double` замість старих " +"функцій :c:func:`PyOS_ascii_strtod` і :c:func:`PyOS_ascii_atof`, які зараз є " +"застарілими." + +msgid "For applications that embed Python:" +msgstr "Для програм, які вбудовують Python:" + +msgid "" +"The :c:func:`PySys_SetArgvEx` function was added, letting applications close " +"a security hole when the existing :c:func:`PySys_SetArgv` function was " +"used. Check whether you're calling :c:func:`PySys_SetArgv` and carefully " +"consider whether the application should be using :c:func:`PySys_SetArgvEx` " +"with *updatepath* set to false." +msgstr "" +"Було додано функцію :c:func:`PySys_SetArgvEx`, яка дозволяє програмам " +"закрити дірку в безпеці, коли використовується існуюча функція :c:func:" +"`PySys_SetArgv`. Перевірте, чи викликаєте ви :c:func:`PySys_SetArgv`, і " +"уважно обміркуйте, чи має програма використовувати :c:func:`PySys_SetArgvEx` " +"зі значенням false для *updatepath*." + +msgid "New Features Added to Python 2.7 Maintenance Releases" +msgstr "Нові функції, додані до випусків обслуговування Python 2.7" + +msgid "" +"New features may be added to Python 2.7 maintenance releases when the " +"situation genuinely calls for it. Any such additions must go through the " +"Python Enhancement Proposal process, and make a compelling case for why they " +"can't be adequately addressed by either adding the new feature solely to " +"Python 3, or else by publishing it on the Python Package Index." +msgstr "" +"Нові функції можуть бути додані до технічних версій Python 2.7, коли цього " +"справді вимагає ситуація. Будь-які такі доповнення повинні пройти через " +"процес Python Enhancement Proposal і надати переконливий аргумент, чому їх " +"не можна належним чином вирішити, додавши нову функцію виключно до Python 3, " +"або опублікувавши її в індексі пакетів Python." + +msgid "" +"In addition to the specific proposals listed below, there is a general " +"exemption allowing new ``-3`` warnings to be added in any Python 2.7 " +"maintenance release." +msgstr "" +"На додаток до конкретних пропозицій, перелічених нижче, існує загальний " +"виняток, який дозволяє додавати нові попередження ``-3`` до будь-якої версії " +"обслуговування Python 2.7." + +msgid "Two new environment variables for debug mode" +msgstr "Дві нові змінні середовища для режиму налагодження" + +msgid "" +"In debug mode, the ``[xxx refs]`` statistic is not written by default, the :" +"envvar:`PYTHONSHOWREFCOUNT` environment variable now must also be set. " +"(Contributed by Victor Stinner; :issue:`31733`.)" +msgstr "" +"У режимі налагодження статистика ``[xxx refs]`` не записується за " +"замовчуванням, змінна середовища :envvar:`PYTHONSHOWREFCOUNT` тепер також " +"має бути встановлена. (Надав Віктор Стіннер; :issue:`31733`.)" + +msgid "" +"When Python is compiled with ``COUNT_ALLOC`` defined, allocation counts are " +"no longer dumped by default anymore: the :envvar:`PYTHONSHOWALLOCCOUNT` " +"environment variable must now also be set. Moreover, allocation counts are " +"now dumped into stderr, rather than stdout. (Contributed by Victor Stinner; :" +"issue:`31692`.)" +msgstr "" +"Коли Python скомпільовано з визначеним ``COUNT_ALLOC``, лічильники розподілу " +"більше не скидаються за замовчуванням: змінна середовища :envvar:" +"`PYTHONSHOWALLOCCOUNT` тепер також має бути встановлена. Крім того, " +"підрахунки розподілу тепер скидаються в stderr, а не в stdout. (Надав Віктор " +"Стіннер; :issue:`31692`.)" + +msgid "PEP 434: IDLE Enhancement Exception for All Branches" +msgstr "PEP 434: Виняток із покращення IDLE для всіх гілок" + +msgid "" +":pep:`434` describes a general exemption for changes made to the IDLE " +"development environment shipped along with Python. This exemption makes it " +"possible for the IDLE developers to provide a more consistent user " +"experience across all supported versions of Python 2 and 3." +msgstr "" +":pep:`434` описує загальний виняток для змін, внесених у середовище розробки " +"IDLE, яке постачається разом із Python. Цей виняток дає змогу розробникам " +"IDLE забезпечувати більш послідовний досвід роботи з усіма підтримуваними " +"версіями Python 2 і 3." + +msgid "" +"For details of any IDLE changes, refer to the NEWS file for the specific " +"release." +msgstr "" +"Щоб дізнатися більше про будь-які зміни IDLE, зверніться до файлу NEWS для " +"конкретного випуску." + +msgid "PEP 466: Network Security Enhancements for Python 2.7" +msgstr "PEP 466: Покращення безпеки мережі для Python 2.7" + +msgid "" +":pep:`466` describes a number of network security enhancement proposals that " +"have been approved for inclusion in Python 2.7 maintenance releases, with " +"the first of those changes appearing in the Python 2.7.7 release." +msgstr "" +":pep:`466` описує низку пропозицій щодо покращення безпеки мережі, які було " +"схвалено для включення до випусків обслуговування Python 2.7, причому перші " +"зміни з’явилися у випуску Python 2.7.7." + +msgid ":pep:`466` related features added in Python 2.7.7:" +msgstr ":pep:`466` пов'язані функції, додані в Python 2.7.7:" + +msgid "" +":func:`hmac.compare_digest` was backported from Python 3 to make a timing " +"attack resistant comparison operation available to Python 2 applications. " +"(Contributed by Alex Gaynor; :issue:`21306`.)" +msgstr "" +":func:`hmac.compare_digest` було перенесено з Python 3, щоб зробити операцію " +"порівняння, стійку до атак, доступною для програм Python 2. (Надав Алекс " +"Гейнор; :issue:`21306`.)" + +msgid "" +"OpenSSL 1.0.1g was upgraded in the official Windows installers published on " +"python.org. (Contributed by Zachary Ware; :issue:`21462`.)" +msgstr "" +"OpenSSL 1.0.1g було оновлено в офіційних інсталяторах Windows, опублікованих " +"на python.org. (Надав Zachary Ware; :issue:`21462`.)" + +msgid ":pep:`466` related features added in Python 2.7.8:" +msgstr ":pep:`466` пов'язані функції, додані в Python 2.7.8:" + +msgid "" +":func:`hashlib.pbkdf2_hmac` was backported from Python 3 to make a hashing " +"algorithm suitable for secure password storage broadly available to Python 2 " +"applications. (Contributed by Alex Gaynor; :issue:`21304`.)" +msgstr "" +":func:`hashlib.pbkdf2_hmac` було перенесено з Python 3, щоб зробити алгоритм " +"хешування, придатним для безпечного зберігання паролів, загальнодоступним " +"для програм Python 2. (Надав Алекс Гейнор; :issue:`21304`.)" + +msgid "" +"OpenSSL 1.0.1h was upgraded for the official Windows installers published on " +"python.org. (contributed by Zachary Ware in :issue:`21671` for CVE-2014-0224)" +msgstr "" +"OpenSSL 1.0.1h було оновлено для офіційних інсталяторів Windows, " +"опублікованих на python.org. (надано Zachary Ware у :issue:`21671` для " +"CVE-2014-0224)" + +msgid ":pep:`466` related features added in Python 2.7.9:" +msgstr ":pep:`466` пов'язані функції, додані в Python 2.7.9:" + +msgid "" +"Most of Python 3.4's :mod:`ssl` module was backported. This means :mod:`ssl` " +"now supports Server Name Indication, TLS1.x settings, access to the platform " +"certificate store, the :class:`~ssl.SSLContext` class, and other features. " +"(Contributed by Alex Gaynor and David Reid; :issue:`21308`.)" +msgstr "" +"Більшість модулів :mod:`ssl` Python 3.4 було перенесено назад. Це означає, " +"що :mod:`ssl` тепер підтримує індикацію імені сервера, налаштування TLS1.x, " +"доступ до сховища сертифікатів платформи, клас :class:`~ssl.SSLContext` та " +"інші функції. (Надано Алексом Гейнором і Девідом Рейдом; :issue:`21308`.)" + +msgid "" +"Refer to the \"Version added: 2.7.9\" notes in the module documentation for " +"specific details." +msgstr "" +"Зверніться до приміток \"Додана версія: 2.7.9\" у документації модуля, щоб " +"дізнатися більше." + +msgid "" +":func:`os.urandom` was changed to cache a file descriptor to ``/dev/" +"urandom`` instead of reopening ``/dev/urandom`` on every call. (Contributed " +"by Alex Gaynor; :issue:`21305`.)" +msgstr "" +":func:`os.urandom` було змінено, щоб кешувати дескриптор файлу на ``/dev/" +"urandom`` замість повторного відкриття ``/dev/urandom`` під час кожного " +"виклику. (Надав Алекс Гейнор; :issue:`21305`.)" + +msgid "" +":data:`hashlib.algorithms_guaranteed` and :data:`hashlib." +"algorithms_available` were backported from Python 3 to make it easier for " +"Python 2 applications to select the strongest available hash algorithm. " +"(Contributed by Alex Gaynor in :issue:`21307`)" +msgstr "" +":data:`hashlib.algorithms_guaranteed` і :data:`hashlib.algorithms_available` " +"було перенесено з Python 3, щоб полегшити програмам Python 2 вибір " +"найнадійнішого доступного алгоритму хешування. (Надав Алекс Гейнор у :issue:" +"`21307`)" + +msgid "PEP 477: Backport ensurepip (PEP 453) to Python 2.7" +msgstr "PEP 477: Backport securepip (PEP 453) до Python 2.7" + +msgid "" +":pep:`477` approves the inclusion of the :pep:`453` ensurepip module and the " +"improved documentation that was enabled by it in the Python 2.7 maintenance " +"releases, appearing first in the Python 2.7.9 release." +msgstr "" +":pep:`477` схвалює включення модуля :pep:`453` securepip і покращеної " +"документації, яку він увімкнув, у випуски обслуговування Python 2.7, які " +"вперше з’явилися у випуску Python 2.7.9." + +msgid "Bootstrapping pip By Default" +msgstr "За замовчуванням завантажувальний pip" + +msgid "" +"The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard " +"cross-platform mechanism to bootstrap the pip installer into Python " +"installations. The version of ``pip`` included with Python 2.7.9 is ``pip`` " +"1.5.6, and future 2.7.x maintenance releases will update the bundled version " +"to the latest version of ``pip`` that is available at the time of creating " +"the release candidate." +msgstr "" +"Новий модуль :mod:`ensurepip` (визначений у :pep:`453`) надає стандартний " +"міжплатформний механізм для завантаження інсталятора pip у інсталяції " +"Python. Версія ``pip``, яка входить до Python 2.7.9, є ``pip`` 1.5.6, і в " +"майбутніх випусках технічного обслуговування 2.7.x оновлюватиметься пакетна " +"версія до останньої версії ``pip``, доступної за адресою час створення реліз-" +"кандидата." + +msgid "" +"By default, the commands ``pip``, ``pipX`` and ``pipX.Y`` will be installed " +"on all platforms (where X.Y stands for the version of the Python " +"installation), along with the ``pip`` Python package and its dependencies." +msgstr "" +"За замовчуванням команди ``pip``, ``pipX`` і ``pipX.Y`` будуть встановлені " +"на всіх платформах (де X.Y означає версію інсталяції Python), а також " +"``pip`` Пакет Python і його залежності." + +msgid "" +"For CPython :ref:`source builds on POSIX systems `, " +"the ``make install`` and ``make altinstall`` commands do not bootstrap " +"``pip`` by default. This behaviour can be controlled through configure " +"options, and overridden through Makefile options." +msgstr "" +"Для CPython :ref:`source збірок на системах POSIX `, команди ``make install`` і ``make altinstall`` не завантажують " +"``pip`` за замовчуванням. Цю поведінку можна контролювати за допомогою " +"параметрів конфігурації та перевизначати за допомогою параметрів Makefile." + +msgid "" +"On Windows and Mac OS X, the CPython installers now default to installing " +"``pip`` along with CPython itself (users may opt out of installing it during " +"the installation process). Window users will need to opt in to the automatic " +"``PATH`` modifications to have ``pip`` available from the command line by " +"default, otherwise it can still be accessed through the Python launcher for " +"Windows as ``py -m pip``." +msgstr "" +"У Windows і Mac OS X інсталятори CPython тепер за замовчуванням встановлюють " +"``pip`` разом із самим CPython (користувачі можуть відмовитися від його " +"встановлення під час процесу встановлення). Користувачам Windows потрібно " +"буде ввімкнути автоматичні зміни PATH, щоб за замовчуванням мати pip " +"доступним із командного рядка, інакше до нього можна отримати доступ через " +"засіб запуску Python для Windows за допомогою ``py -m pip``." + +msgid "" +"As `discussed in the PEP`__, platform packagers may choose not to install " +"these commands by default, as long as, when invoked, they provide clear and " +"simple directions on how to install them on that platform (usually using the " +"system package manager)." +msgstr "" +"Як `обговорювалося в PEP`__, пакувальники платформи можуть не встановлювати " +"ці команди за замовчуванням, якщо під час виклику вони надають чіткі та " +"прості вказівки щодо їх встановлення на цій платформі (зазвичай за допомогою " +"системного менеджера пакетів) ." + +msgid "Documentation Changes" +msgstr "Зміни в документації" + +msgid "" +"As part of this change, the :ref:`installing-index` and :ref:`distributing-" +"index` sections of the documentation have been completely redesigned as " +"short getting started and FAQ documents. Most packaging documentation has " +"now been moved out to the Python Packaging Authority maintained `Python " +"Packaging User Guide `__ and the documentation " +"of the individual projects." +msgstr "" +"У рамках цієї зміни розділи :ref:`installing-index` і :ref:`distributing-" +"index` документації були повністю перероблені як короткі документи про " +"початок роботи та FAQ. Більшість пакетної документації тепер переміщено до " +"Python Packaging Authority, який підтримується `Python Packaging User Guide " +"`__ і документація окремих проектів." + +msgid "" +"However, as this migration is currently still incomplete, the legacy " +"versions of those guides remaining available as :ref:`install-index` and :" +"ref:`distutils-index`." +msgstr "" +"Однак, оскільки ця міграція ще не завершена, застарілі версії цих посібників " +"залишаються доступними як :ref:`install-index` і :ref:`distutils-index`." + +msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" +msgstr ":pep:`453` -- Явне початкове завантаження pip у інсталяціях Python" + +msgid "" +"PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " +"Nick Coghlan, Martin von Löwis and Ned Deily." +msgstr "" +"PEP, написаний Дональдом Стаффтом і Ніком Когланом, реалізований Дональдом " +"Стаффтом, Ніком Когланом, Мартіном фон Льовісом і Недом Дейлі." + +msgid "" +"PEP 476: Enabling certificate verification by default for stdlib http clients" +msgstr "" +"PEP 476: увімкнення перевірки сертифіката за замовчуванням для http-клієнтів " +"stdlib" + +msgid "" +":pep:`476` updated :mod:`httplib` and modules which use it, such as :mod:" +"`urllib2` and :mod:`xmlrpclib`, to now verify that the server presents a " +"certificate which is signed by a Certificate Authority in the platform trust " +"store and whose hostname matches the hostname being requested by default, " +"significantly improving security for many applications. This change was made " +"in the Python 2.7.9 release." +msgstr "" +":pep:`476` оновлено :mod:`httplib` і модулі, які його використовують, такі " +"як :mod:`urllib2` і :mod:`xmlrpclib`, тепер перевіряють, що сервер " +"представляє сертифікат, підписаний сертифікатом Повноваження в довіреному " +"сховищі платформи та чиє ім’я хоста відповідає імені хосту, яке запитується " +"за замовчуванням, що значно покращує безпеку для багатьох програм. Цю зміну " +"було внесено у випуск Python 2.7.9." + +msgid "" +"For applications which require the old previous behavior, they can pass an " +"alternate context::" +msgstr "" +"Для програм, які вимагають старої попередньої поведінки, вони можуть " +"передавати альтернативний контекст::" + +msgid "PEP 493: HTTPS verification migration tools for Python 2.7" +msgstr "PEP 493: інструменти міграції перевірки HTTPS для Python 2.7" + +msgid "" +":pep:`493` provides additional migration tools to support a more incremental " +"infrastructure upgrade process for environments containing applications and " +"services relying on the historically permissive processing of server " +"certificates when establishing client HTTPS connections. These additions " +"were made in the Python 2.7.12 release." +msgstr "" +":pep:`493` надає додаткові інструменти міграції для підтримки більш " +"поступового процесу оновлення інфраструктури для середовищ, які містять " +"програми та служби, які покладаються на історично дозволену обробку " +"сертифікатів сервера під час встановлення клієнтських з’єднань HTTPS. Ці " +"доповнення були зроблені у випуску Python 2.7.12." + +msgid "" +"These tools are intended for use in cases where affected applications and " +"services can't be modified to explicitly pass a more permissive SSL context " +"when establishing the connection." +msgstr "" +"Ці інструменти призначені для використання у випадках, коли програми та " +"служби, які постраждали, не можна змінити, щоб явно передавати більш " +"дозволений контекст SSL під час встановлення з’єднання." + +msgid "" +"For applications and services which can't be modified at all, the new " +"``PYTHONHTTPSVERIFY`` environment variable may be set to ``0`` to revert an " +"entire Python process back to the default permissive behaviour of Python " +"2.7.8 and earlier." +msgstr "" +"Для програм і служб, які взагалі неможливо змінити, нова змінна середовища " +"``PYTHONHTTPSVERIFY`` може бути встановлена на ``0``, щоб повернути весь " +"процес Python назад до дозволеної поведінки за замовчуванням Python 2.7.8 і " +"попередніх версій. ." + +msgid "" +"For cases where the connection establishment code can't be modified, but the " +"overall application can be, the new :func:`ssl._https_verify_certificates` " +"function can be used to adjust the default behaviour at runtime." +msgstr "" +"У випадках, коли код встановлення з’єднання не можна змінити, але загальну " +"програму можна змінити, нову функцію :func:`ssl._https_verify_certificates` " +"можна використовувати для налаштування поведінки за замовчуванням під час " +"виконання." + +msgid "New ``make regen-all`` build target" +msgstr "Нова ціль збірки ``make regen-all``" + +msgid "" +"To simplify cross-compilation, and to ensure that CPython can reliably be " +"compiled without requiring an existing version of Python to already be " +"available, the autotools-based build system no longer attempts to implicitly " +"recompile generated files based on file modification times." +msgstr "" +"Щоб спростити крос-компіляцію та гарантувати, що CPython можна надійно " +"скомпілювати без наявності наявної версії Python, система збирання на основі " +"autotools більше не намагається неявно перекомпілювати згенеровані файли на " +"основі часу модифікації файлу." + +msgid "" +"Instead, a new ``make regen-all`` command has been added to force " +"regeneration of these files when desired (e.g. after an initial version of " +"Python has already been built based on the pregenerated versions)." +msgstr "" +"Натомість додано нову команду ``make regen-all``, щоб примусово повторно " +"генерувати ці файли за бажанням (наприклад, після того, як початкова версія " +"Python вже була створена на основі попередньо згенерованих версій)." + +msgid "" +"More selective regeneration targets are also defined - see :source:`Makefile." +"pre.in` for details." +msgstr "" +"Також визначено більш вибіркові цілі регенерації - подробиці див. :source:" +"`Makefile.pre.in`." + +msgid "(Contributed by Victor Stinner in :issue:`23404`.)" +msgstr "(Надав Віктор Стіннер у :issue:`23404`.)" + +msgid "Removal of ``make touch`` build target" +msgstr "Видалення цілі збірки ``make touch``" + +msgid "" +"The ``make touch`` build target previously used to request implicit " +"regeneration of generated files by updating their modification times has " +"been removed." +msgstr "" +"Ціль збірки ``make touch``, яка раніше використовувалася для запиту неявної " +"регенерації згенерованих файлів шляхом оновлення часу їх модифікації, " +"видалено." + +msgid "It has been replaced by the new ``make regen-all`` target." +msgstr "Його було замінено новою метою ``make regen-all``." + +msgid "Acknowledgements" +msgstr "Подяки" + +msgid "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-" +"Walker." +msgstr "" +"Автор хотів би подякувати наступним особам за пропозиції, виправлення та " +"допомогу з різними чернетками цієї статті: Ніку Коглану, Філіпу Дженві, " +"Райану Ловетту, Р. Девіду Мюррею, Х’ю Секер-Вокеру." diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po new file mode 100644 index 000000000..667d4cc0f --- /dev/null +++ b/whatsnew/3.0.po @@ -0,0 +1,1621 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.0" +msgstr "Що нового в Python 3.0" + +msgid "Author" +msgstr "Автор" + +msgid "Guido van Rossum" +msgstr "Guido van Rossum" + +msgid "" +"This article explains the new features in Python 3.0, compared to 2.6. " +"Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever " +"*intentionally backwards incompatible* Python release. Python 3.0 was " +"released on December 3, 2008. There are more changes than in a typical " +"release, and more that are important for all Python users. Nevertheless, " +"after digesting the changes, you'll find that Python really hasn't changed " +"all that much -- by and large, we're mostly fixing well-known annoyances and " +"warts, and removing a lot of old cruft." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.0 порівняно з 2.6. Python " +"3.0, також відомий як \"Python 3000\" або \"Py3K\", є першим випуском Python " +"*навмисно зворотно несумісним*. Python 3.0 було випущено 3 грудня 2008 року. " +"Є більше змін, ніж у типовому випуску, і більше, що є важливим для всіх " +"користувачів Python. Проте, проаналізувавши зміни, ви побачите, що Python " +"справді не дуже змінився — загалом, ми здебільшого виправляємо добре відомі " +"недоліки та бородавки, а також видаляємо багато старих недоліків." + +msgid "" +"This article doesn't attempt to provide a complete specification of all new " +"features, but instead tries to give a convenient overview. For full details, " +"you should refer to the documentation for Python 3.0, and/or the many PEPs " +"referenced in the text. If you want to understand the complete " +"implementation and design rationale for a particular feature, PEPs usually " +"have more details than the regular documentation; but note that PEPs usually " +"are not kept up-to-date once a feature has been fully implemented." +msgstr "" +"Ця стаття не намагається надати повну специфікацію всіх нових функцій, а " +"натомість намагається дати зручний огляд. Щоб отримати повну інформацію, " +"зверніться до документації для Python 3.0 та/або багатьох PEP, на які " +"посилаються в тексті. Якщо ви хочете зрозуміти повну реалізацію та " +"обґрунтування розробки певної функції, PEP зазвичай містять більше деталей, " +"ніж звичайна документація; але зауважте, що PEP зазвичай не оновлюються " +"після повного впровадження функції." + +msgid "" +"Due to time constraints this document is not as complete as it should have " +"been. As always for a new release, the ``Misc/NEWS`` file in the source " +"distribution contains a wealth of detailed information about every small " +"thing that was changed." +msgstr "" +"Через обмеження часу цей документ не такий повний, як мав би бути. Як завжди " +"для нових випусків, файл ``Misc/NEWS`` у вихідному дистрибутиві містить " +"велику кількість детальної інформації про кожну дрібницю, яку було змінено." + +msgid "Common Stumbling Blocks" +msgstr "Поширені камені спотикання" + +msgid "" +"This section lists those few changes that are most likely to trip you up if " +"you're used to Python 2.5." +msgstr "" +"У цьому розділі перераховано ті кілька змін, які, швидше за все, вас " +"збентежать, якщо ви звикли до Python 2.5." + +msgid "Print Is A Function" +msgstr "Друк — це функція" + +msgid "" +"The ``print`` statement has been replaced with a :func:`print` function, " +"with keyword arguments to replace most of the special syntax of the old " +"``print`` statement (:pep:`3105`). Examples::" +msgstr "" +"Інструкцію ``print`` було замінено функцією :func:`print` із ключовими " +"аргументами для заміни більшості спеціального синтаксису старого " +"``інструкції ``print`` (:pep:`3105`). Приклади::" + +msgid "You can also customize the separator between items, e.g.::" +msgstr "Ви також можете налаштувати роздільник між елементами, наприклад::" + +msgid "which produces:" +msgstr "який виробляє:" + +msgid "Note:" +msgstr "Примітка:" + +msgid "" +"The :func:`print` function doesn't support the \"softspace\" feature of the " +"old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", \"B" +"\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", \"B" +"\")`` writes ``\"A\\n B\\n\"``." +msgstr "" +"Функція :func:`print` не підтримує функцію \"softspace\" старого оператора " +"``print``. Наприклад, у Python 2.x ``print \"A\\n\", \"B\"`` буде писати ``" +"\"A\\nB\\n\"``; але в Python 3.0 ``print(\"A\\n\", \"B\")`` пише ``\"A\\n B" +"\\n\"``." + +msgid "" +"Initially, you'll be finding yourself typing the old ``print x`` a lot in " +"interactive mode. Time to retrain your fingers to type ``print(x)`` instead!" +msgstr "" +"Спочатку вам доведеться часто в інтерактивному режимі вводити старий ``print " +"x``. Час перенавчити свої пальці вводити ``print(x)`` замість цього!" + +msgid "" +"When using the ``2to3`` source-to-source conversion tool, all ``print`` " +"statements are automatically converted to :func:`print` function calls, so " +"this is mostly a non-issue for larger projects." +msgstr "" +"Під час використання інструменту перетворення джерела в джерело ``2to3`` усі " +"оператори ``print`` автоматично перетворюються на виклики функцій :func:" +"`print`, тому це здебільшого не є проблемою для великих проектів." + +msgid "Views And Iterators Instead Of Lists" +msgstr "Перегляди та ітератори замість списків" + +msgid "Some well-known APIs no longer return lists:" +msgstr "Деякі відомі API більше не повертають списки:" + +msgid "" +":class:`dict` methods :meth:`dict.keys`, :meth:`dict.items` and :meth:`dict." +"values` return \"views\" instead of lists. For example, this no longer " +"works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` instead (this " +"works in Python 2.5 too and is just as efficient)." +msgstr "" +"Методи :class:`dict` :meth:`dict.keys`, :meth:`dict.items` і :meth:`dict." +"values` повертають \"перегляди\" замість списків. Наприклад, це більше не " +"працює: ``k = d.keys(); k.sort()``. Замість цього використовуйте ``k = " +"sorted(d)`` (це також працює в Python 2.5 і є таким же ефективним)." + +msgid "" +"Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` and :meth:`dict." +"itervalues` methods are no longer supported." +msgstr "" +"Крім того, методи :meth:`dict.iterkeys`, :meth:`dict.iteritems` і :meth:" +"`dict.itervalues` більше не підтримуються." + +msgid "" +":func:`map` and :func:`filter` return iterators. If you really need a list " +"and the input sequences are all of equal length, a quick fix is to wrap :" +"func:`map` in :func:`list`, e.g. ``list(map(...))``, but a better fix is " +"often to use a list comprehension (especially when the original code uses :" +"keyword:`lambda`), or rewriting the code so it doesn't need a list at all. " +"Particularly tricky is :func:`map` invoked for the side effects of the " +"function; the correct transformation is to use a regular :keyword:`for` loop " +"(since creating a list would just be wasteful)." +msgstr "" +":func:`map` і :func:`filter` повертають ітератори. Якщо вам справді потрібен " +"список і всі вхідні послідовності мають однакову довжину, швидким " +"виправленням є обернути :func:`map` у :func:`list`, наприклад. " +"``list(map(...))``, але кращим виправленням часто є використання розуміння " +"списку (особливо, коли вихідний код використовує :keyword:`lambda`), або " +"переписування коду, щоб він не потребував взагалі список. Особливо складним " +"є виклик :func:`map` для побічних ефектів функції; правильним перетворенням " +"є використання звичайного циклу :keyword:`for` (оскільки створення списку " +"буде марнотратним)." + +msgid "" +"If the input sequences are not of equal length, :func:`map` will stop at the " +"termination of the shortest of the sequences. For full compatibility with :" +"func:`map` from Python 2.x, also wrap the sequences in :func:`itertools." +"zip_longest`, e.g. ``map(func, *sequences)`` becomes ``list(map(func, " +"itertools.zip_longest(*sequences)))``." +msgstr "" +"Якщо вхідні послідовності не мають однакову довжину, :func:`map` зупиниться " +"на кінці найкоротшої послідовності. Для повної сумісності з :func:`map` з " +"Python 2.x також оберніть послідовності в :func:`itertools.zip_longest`, " +"наприклад. ``map(func, *sequences)`` стає ``list(map(func, itertools." +"zip_longest(*sequences)))``." + +msgid "" +":func:`range` now behaves like :func:`xrange` used to behave, except it " +"works with values of arbitrary size. The latter no longer exists." +msgstr "" +":func:`range` тепер поводиться як :func:`xrange`, за винятком того, що він " +"працює зі значеннями довільного розміру. Останнього вже не існує." + +msgid ":func:`zip` now returns an iterator." +msgstr ":func:`zip` тепер повертає ітератор." + +msgid "Ordering Comparisons" +msgstr "Упорядкування порівнянь" + +msgid "Python 3.0 has simplified the rules for ordering comparisons:" +msgstr "Python 3.0 спростив правила впорядкування порівнянь:" + +msgid "" +"The ordering comparison operators (``<``, ``<=``, ``>=``, ``>``) raise a " +"TypeError exception when the operands don't have a meaningful natural " +"ordering. Thus, expressions like ``1 < ''``, ``0 > None`` or ``len <= len`` " +"are no longer valid, and e.g. ``None < None`` raises :exc:`TypeError` " +"instead of returning ``False``. A corollary is that sorting a heterogeneous " +"list no longer makes sense -- all the elements must be comparable to each " +"other. Note that this does not apply to the ``==`` and ``!=`` operators: " +"objects of different incomparable types always compare unequal to each other." +msgstr "" +"Оператори порівняння порядку (``<``, ``<=``, ``> =``, ``>``) викликають " +"виняток TypeError, коли операнди не мають значущого природного порядку. " +"Таким чином, такі вирази, як ``1 < ''``, ``0 > None`` або ``len <= len`` " +"більше не є дійсними, і, наприклад, ``None < None`` викликає :exc:" +"`TypeError` замість повернення ``False``. Як наслідок, сортування " +"гетерогенного списку більше не має сенсу — усі елементи мають бути " +"порівнюваними між собою. Зауважте, що це не стосується операторів ``==`` і " +"``!=``: об’єкти різних непорівнюваних типів завжди порівнюються нерівномірно." + +msgid "" +":meth:`builtin.sorted` and :meth:`list.sort` no longer accept the *cmp* " +"argument providing a comparison function. Use the *key* argument instead. N." +"B. the *key* and *reverse* arguments are now \"keyword-only\"." +msgstr "" +":meth:`builtin.sorted` і :meth:`list.sort` більше не приймають аргумент " +"*cmp*, що забезпечує функцію порівняння. Замість цього використовуйте " +"аргумент *key*. N.B. аргументи *key* і *reverse* тепер є \"лише ключовими " +"словами\"." + +msgid "" +"The :func:`cmp` function should be treated as gone, and the :meth:`__cmp__` " +"special method is no longer supported. Use :meth:`__lt__` for sorting, :" +"meth:`__eq__` with :meth:`__hash__`, and other rich comparisons as needed. " +"(If you really need the :func:`cmp` functionality, you could use the " +"expression ``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)" +msgstr "" +"Функцію :func:`cmp` слід розглядати як зниклу, а спеціальний метод :meth:" +"`__cmp__` більше не підтримується. Використовуйте :meth:`__lt__` для " +"сортування, :meth:`__eq__` з :meth:`__hash__` та інші детальні порівняння за " +"потреби. (Якщо вам справді потрібна функція :func:`cmp`, ви можете " +"використати вираз ``(a > b) - (a < b)`` як еквівалент ``cmp(a, b)``.)" + +msgid "Integers" +msgstr "Цілі числа" + +msgid "" +":pep:`237`: Essentially, :class:`long` renamed to :class:`int`. That is, " +"there is only one built-in integral type, named :class:`int`; but it behaves " +"mostly like the old :class:`long` type." +msgstr "" +":pep:`237`: По суті, :class:`long` перейменовано на :class:`int`. Тобто, " +"існує лише один вбудований інтегральний тип з назвою :class:`int`; але він " +"поводиться здебільшого як старий тип :class:`long`." + +msgid "" +":pep:`238`: An expression like ``1/2`` returns a float. Use ``1//2`` to get " +"the truncating behavior. (The latter syntax has existed for years, at least " +"since Python 2.2.)" +msgstr "" +":pep:`238`: Вираз на кшталт ``1/2`` повертає число з плаваючою точкою. " +"Використовуйте ``1//2``, щоб отримати режим скорочення. (Останній синтаксис " +"існував роками, принаймні з Python 2.2.)" + +msgid "" +"The :data:`sys.maxint` constant was removed, since there is no longer a " +"limit to the value of integers. However, :data:`sys.maxsize` can be used as " +"an integer larger than any practical list or string index. It conforms to " +"the implementation's \"natural\" integer size and is typically the same as :" +"data:`sys.maxint` in previous releases on the same platform (assuming the " +"same build options)." +msgstr "" +"Константу :data:`sys.maxint` було видалено, оскільки більше немає обмежень " +"на значення цілих чисел. Однак :data:`sys.maxsize` можна використовувати як " +"ціле число, більше за будь-який практичний список або рядковий індекс. Він " +"відповідає \"природному\" цілочисельному розміру реалізації та зазвичай " +"такий самий, як :data:`sys.maxint` у попередніх випусках на тій самій " +"платформі (припускаючи ті самі параметри збірки)." + +msgid "" +"The :func:`repr` of a long integer doesn't include the trailing ``L`` " +"anymore, so code that unconditionally strips that character will chop off " +"the last digit instead. (Use :func:`str` instead.)" +msgstr "" +":func:`repr` довгого цілого числа більше не включає завершальний ``L``, тому " +"код, який беззастережно видаляє цей символ, замість цього відсікає останню " +"цифру. (Натомість використовуйте :func:`str`.)" + +msgid "" +"Octal literals are no longer of the form ``0720``; use ``0o720`` instead." +msgstr "" +"Вісімкові літерали більше не мають форми ``0720``; замість цього " +"використовуйте ``0o720``." + +msgid "Text Vs. Data Instead Of Unicode Vs. 8-bit" +msgstr "Текст Vs. Дані замість Unicode Vs. 8-бітний" + +msgid "" +"Everything you thought you knew about binary data and Unicode has changed." +msgstr "Усе, що ви думали знати про двійкові дані та Юнікод, змінилося." + +msgid "" +"Python 3.0 uses the concepts of *text* and (binary) *data* instead of " +"Unicode strings and 8-bit strings. All text is Unicode; however *encoded* " +"Unicode is represented as binary data. The type used to hold text is :class:" +"`str`, the type used to hold data is :class:`bytes`. The biggest difference " +"with the 2.x situation is that any attempt to mix text and data in Python " +"3.0 raises :exc:`TypeError`, whereas if you were to mix Unicode and 8-bit " +"strings in Python 2.x, it would work if the 8-bit string happened to contain " +"only 7-bit (ASCII) bytes, but you would get :exc:`UnicodeDecodeError` if it " +"contained non-ASCII values. This value-specific behavior has caused " +"numerous sad faces over the years." +msgstr "" +"Python 3.0 використовує поняття *текст* і (двійкові) *дані* замість рядків " +"Unicode і 8-бітних рядків. Весь текст є Unicode; однак *закодований* Unicode " +"представлений як двійкові дані. Для зберігання тексту використовується тип :" +"class:`str`, а для зберігання даних — :class:`bytes`. Найбільша відмінність " +"із ситуацією 2.x полягає в тому, що будь-яка спроба змішати текст і дані в " +"Python 3.0 викликає :exc:`TypeError`, тоді як якби ви змішали Unicode та 8-" +"бітні рядки в Python 2.x, це спрацювало б якщо 8-бітний рядок містив лише 7-" +"бітні (ASCII) байти, але ви отримаєте :exc:`UnicodeDecodeError`, якщо він " +"містив значення, відмінні від ASCII. Ця ціннісна поведінка викликала багато " +"сумних облич протягом багатьох років." + +msgid "" +"As a consequence of this change in philosophy, pretty much all code that " +"uses Unicode, encodings or binary data most likely has to change. The " +"change is for the better, as in the 2.x world there were numerous bugs " +"having to do with mixing encoded and unencoded text. To be prepared in " +"Python 2.x, start using :class:`unicode` for all unencoded text, and :class:" +"`str` for binary or encoded data only. Then the ``2to3`` tool will do most " +"of the work for you." +msgstr "" +"Як наслідок цієї зміни у філософії, майже весь код, який використовує " +"Unicode, кодування або двійкові дані, швидше за все, має змінитися. Зміна на " +"краще, оскільки у світі 2.x було багато помилок, пов’язаних зі змішуванням " +"кодованого та незакодованого тексту. Щоб підготуватися до Python 2.x, " +"почніть використовувати :class:`unicode` для всього незакодованого тексту " +"та :class:`str` лише для двійкових або закодованих даних. Тоді інструмент " +"``2to3`` зробить більшу частину роботи за вас." + +msgid "" +"You can no longer use ``u\"...\"`` literals for Unicode text. However, you " +"must use ``b\"...\"`` literals for binary data." +msgstr "" +"Ви більше не можете використовувати літерали ``u\"...\"`` для тексту " +"Unicode. Однак ви повинні використовувати літерали ``b\"...\"`` для " +"двійкових даних." + +msgid "" +"As the :class:`str` and :class:`bytes` types cannot be mixed, you must " +"always explicitly convert between them. Use :meth:`str.encode` to go from :" +"class:`str` to :class:`bytes`, and :meth:`bytes.decode` to go from :class:" +"`bytes` to :class:`str`. You can also use ``bytes(s, encoding=...)`` and " +"``str(b, encoding=...)``, respectively." +msgstr "" +"Оскільки типи :class:`str` і :class:`bytes` не можна змішувати, ви завжди " +"повинні явно конвертувати між ними. Використовуйте :meth:`str.encode` для " +"переходу від :class:`str` до :class:`bytes` і :meth:`bytes.decode` для " +"переходу від :class:`bytes` до :class:`str`. Ви також можете використовувати " +"``bytes(s, encoding=...)`` та ``str(b, encoding=...)`` відповідно." + +msgid "" +"Like :class:`str`, the :class:`bytes` type is immutable. There is a " +"separate *mutable* type to hold buffered binary data, :class:`bytearray`. " +"Nearly all APIs that accept :class:`bytes` also accept :class:`bytearray`. " +"The mutable API is based on :class:`collections.MutableSequence`." +msgstr "" +"Як і :class:`str`, тип :class:`bytes` є незмінним. Існує окремий *змінний* " +"тип для зберігання буферизованих двійкових даних, :class:`bytearray`. Майже " +"всі API, які приймають :class:`bytes`, також приймають :class:`bytearray`. " +"Змінний API заснований на :class:`collections.MutableSequence`." + +msgid "" +"All backslashes in raw string literals are interpreted literally. This means " +"that ``'\\U'`` and ``'\\u'`` escapes in raw strings are not treated " +"specially. For example, ``r'\\u20ac'`` is a string of 6 characters in " +"Python 3.0, whereas in 2.6, ``ur'\\u20ac'`` was the single \"euro\" " +"character. (Of course, this change only affects raw string literals; the " +"euro character is ``'\\u20ac'`` in Python 3.0.)" +msgstr "" +"Усі зворотні косі риски в необроблених рядкових літералах інтерпретуються " +"буквально. Це означає, що екранування ``'\\U'`` і ``'\\u'`` у необроблених " +"рядках не обробляються спеціально. Наприклад, ``r'\\u20ac`` — це рядок із 6 " +"символів у Python 3.0, тоді як у 2.6 ``ur'\\u20ac`` був одним символом \"євро" +"\". (Звичайно, ця зміна стосується лише необроблених рядкових літералів; у " +"Python 3.0 символом євро є ``'\\u20ac'``.)" + +msgid "" +"The built-in :class:`basestring` abstract type was removed. Use :class:" +"`str` instead. The :class:`str` and :class:`bytes` types don't have " +"functionality enough in common to warrant a shared base class. The ``2to3`` " +"tool (see below) replaces every occurrence of :class:`basestring` with :" +"class:`str`." +msgstr "" +"Вбудований :class:`basestring` абстрактний тип було видалено. Замість цього " +"використовуйте :class:`str`. Типи :class:`str` і :class:`bytes` не мають " +"достатньо спільних функціональних можливостей, щоб гарантувати спільний " +"базовий клас. Інструмент ``2to3`` (див. нижче) замінює кожне входження :" +"class:`basestring` на :class:`str`." + +msgid "" +"Files opened as text files (still the default mode for :func:`open`) always " +"use an encoding to map between strings (in memory) and bytes (on disk). " +"Binary files (opened with a ``b`` in the mode argument) always use bytes in " +"memory. This means that if a file is opened using an incorrect mode or " +"encoding, I/O will likely fail loudly, instead of silently producing " +"incorrect data. It also means that even Unix users will have to specify the " +"correct mode (text or binary) when opening a file. There is a platform-" +"dependent default encoding, which on Unixy platforms can be set with the " +"``LANG`` environment variable (and sometimes also with some other platform-" +"specific locale-related environment variables). In many cases, but not all, " +"the system default is UTF-8; you should never count on this default. Any " +"application reading or writing more than pure ASCII text should probably " +"have a way to override the encoding. There is no longer any need for using " +"the encoding-aware streams in the :mod:`codecs` module." +msgstr "" +"Файли, відкриті як текстові файли (досі стандартний режим для :func:`open`), " +"завжди використовують кодування для відображення між рядками (у пам’яті) та " +"байтами (на диску). Двійкові файли (відкриті за допомогою ``b`` в аргументі " +"mode) завжди використовують байти в пам’яті. Це означає, що якщо файл " +"відкрито з використанням неправильного режиму або кодування, введення-" +"виведення, ймовірно, голосно завершиться помилкою, замість того, щоб мовчки " +"видати неправильні дані. Це також означає, що навіть користувачі Unix " +"повинні будуть вказати правильний режим (текстовий або двійковий) під час " +"відкриття файлу. Існує залежне від платформи кодування за замовчуванням, яке " +"на платформах Unixy можна встановити за допомогою змінної середовища " +"``LANG`` (і іноді також за допомогою деяких інших змінних середовища, " +"пов’язаних із місцевими стандартами). У багатьох випадках, але не у всіх, " +"системою за замовчуванням є UTF-8; ви ніколи не повинні розраховувати на це " +"замовчування. Будь-яка програма, яка читає або записує більше ніж чистий " +"текст ASCII, ймовірно, повинна мати спосіб заміни кодування. Більше немає " +"необхідності використовувати потоки з урахуванням кодування в модулі :mod:" +"`codecs`." + +msgid "" +"The initial values of :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys." +"stderr` are now unicode-only text files (i.e., they are instances of :class:" +"`io.TextIOBase`). To read and write bytes data with these streams, you need " +"to use their :data:`io.TextIOBase.buffer` attribute." +msgstr "" +"Початкові значення :data:`sys.stdin`, :data:`sys.stdout` і :data:`sys." +"stderr` тепер є текстовими файлами лише у кодуванні Юнікод (тобто вони є " +"екземплярами :class:`io. TextIOBase`). Щоб читати та записувати дані байтів " +"за допомогою цих потоків, вам потрібно використовувати їхній атрибут :data:" +"`io.TextIOBase.buffer`." + +msgid "" +"Filenames are passed to and returned from APIs as (Unicode) strings. This " +"can present platform-specific problems because on some platforms filenames " +"are arbitrary byte strings. (On the other hand, on Windows filenames are " +"natively stored as Unicode.) As a work-around, most APIs (e.g. :func:`open` " +"and many functions in the :mod:`os` module) that take filenames accept :" +"class:`bytes` objects as well as strings, and a few APIs have a way to ask " +"for a :class:`bytes` return value. Thus, :func:`os.listdir` returns a list " +"of :class:`bytes` instances if the argument is a :class:`bytes` instance, " +"and :func:`os.getcwdb` returns the current working directory as a :class:" +"`bytes` instance. Note that when :func:`os.listdir` returns a list of " +"strings, filenames that cannot be decoded properly are omitted rather than " +"raising :exc:`UnicodeError`." +msgstr "" +"Імена файлів передаються та повертаються з API як рядки (Unicode). Це може " +"спричинити проблеми, пов’язані з певною платформою, оскільки на деяких " +"платформах імена файлів є довільними рядками байтів. (З іншого боку, у " +"Windows імена файлів зберігаються у форматі Юнікод.) Як обхідний шлях, " +"більшість API (наприклад, :func:`open` і багато функцій у модулі :mod:`os`), " +"які приймають імена файлів, приймають: об’єкти :class:`bytes`, а також " +"рядки, а кілька API мають спосіб запитувати значення, що повертається :class:" +"`bytes`. Таким чином, :func:`os.listdir` повертає список екземплярів :class:" +"`bytes`, якщо аргумент є екземпляром :class:`bytes`, а :func:`os.getcwdb` " +"повертає поточний робочий каталог як екземпляр :class:`bytes`. Зауважте, що " +"коли :func:`os.listdir` повертає список рядків, імена файлів, які не можна " +"правильно розшифрувати, пропускаються, а не викликають :exc:`UnicodeError`." + +msgid "" +"Some system APIs like :data:`os.environ` and :data:`sys.argv` can also " +"present problems when the bytes made available by the system is not " +"interpretable using the default encoding. Setting the ``LANG`` variable and " +"rerunning the program is probably the best approach." +msgstr "" +"Деякі системні API, як-от :data:`os.environ` і :data:`sys.argv`, також " +"можуть створювати проблеми, коли байти, доступні системою, не можна " +"інтерпретувати за допомогою стандартного кодування. Встановлення змінної " +"``LANG`` і повторний запуск програми є, ймовірно, найкращим підходом." + +msgid "" +":pep:`3138`: The :func:`repr` of a string no longer escapes non-ASCII " +"characters. It still escapes control characters and code points with non-" +"printable status in the Unicode standard, however." +msgstr "" +":pep:`3138`: :func:`repr` рядка більше не екранує символи, відмінні від " +"ASCII. Однак у стандарті Юнікод він все ще уникає контрольних символів і " +"кодових точок зі статусом \"недрукований\"." + +msgid ":pep:`3120`: The default source encoding is now UTF-8." +msgstr ":pep:`3120`: Стандартне кодування джерела тепер UTF-8." + +msgid "" +":pep:`3131`: Non-ASCII letters are now allowed in identifiers. (However, the " +"standard library remains ASCII-only with the exception of contributor names " +"in comments.)" +msgstr "" +":pep:`3131`: Літери, відмінні від ASCII, тепер дозволені в ідентифікаторах. " +"(Однак стандартна бібліотека залишається лише ASCII, за винятком імен " +"учасників у коментарях.)" + +msgid "" +"The :mod:`StringIO` and :mod:`cStringIO` modules are gone. Instead, import " +"the :mod:`io` module and use :class:`io.StringIO` or :class:`io.BytesIO` for " +"text and data respectively." +msgstr "" +"Модулі :mod:`StringIO` і :mod:`cStringIO` зникли. Натомість імпортуйте " +"модуль :mod:`io` і використовуйте :class:`io.StringIO` або :class:`io." +"BytesIO` для тексту та даних відповідно." + +msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0." +msgstr "" +"Дивіться також :ref:`unicode-howto`, який було оновлено для Python 3.0." + +msgid "Overview Of Syntax Changes" +msgstr "Огляд змін синтаксису" + +msgid "" +"This section gives a brief overview of every *syntactic* change in Python " +"3.0." +msgstr "" +"У цьому розділі подано короткий огляд усіх *синтаксичних* змін у Python 3.0." + +msgid "New Syntax" +msgstr "Новий синтаксис" + +msgid "" +":pep:`3107`: Function argument and return value annotations. This provides " +"a standardized way of annotating a function's parameters and return value. " +"There are no semantics attached to such annotations except that they can be " +"introspected at runtime using the :attr:`__annotations__` attribute. The " +"intent is to encourage experimentation through metaclasses, decorators or " +"frameworks." +msgstr "" +":pep:`3107`: Аргумент функції та анотації значення, що повертається. Це " +"забезпечує стандартизований спосіб анотування параметрів функції та " +"значення, що повертається. Немає жодної семантики, пов’язаної з такими " +"анотаціями, за винятком того, що їх можна перевірити під час виконання за " +"допомогою атрибута :attr:`__annotations__`. Мета полягає в тому, щоб " +"заохотити експериментувати за допомогою метакласів, декораторів або " +"фреймворків." + +msgid "" +":pep:`3102`: Keyword-only arguments. Named parameters occurring after " +"``*args`` in the parameter list *must* be specified using keyword syntax in " +"the call. You can also use a bare ``*`` in the parameter list to indicate " +"that you don't accept a variable-length argument list, but you do have " +"keyword-only arguments." +msgstr "" +":pep:`3102`: аргументи лише для ключових слів. Іменовані параметри, що " +"виникають після ``*args`` у списку параметрів *повинні* вказуватися за " +"допомогою синтаксису ключового слова під час виклику. Ви також можете " +"використовувати голий ``*`` у списку параметрів, щоб вказати, що ви не " +"приймаєте список аргументів змінної довжини, але у вас є аргументи лише для " +"ключових слів." + +msgid "" +"Keyword arguments are allowed after the list of base classes in a class " +"definition. This is used by the new convention for specifying a metaclass " +"(see next section), but can be used for other purposes as well, as long as " +"the metaclass supports it." +msgstr "" +"Аргументи ключових слів дозволені після списку базових класів у визначенні " +"класу. Це використовується новою конвенцією для визначення метакласу (див. " +"наступний розділ), але також може використовуватися для інших цілей, якщо " +"метаклас це підтримує." + +msgid "" +":pep:`3104`: :keyword:`nonlocal` statement. Using ``nonlocal x`` you can " +"now assign directly to a variable in an outer (but non-global) scope. :" +"keyword:`!nonlocal` is a new reserved word." +msgstr "" +":pep:`3104`: :keyword:`nonlocal` оператор. Використовуючи ``nonlocal x``, " +"тепер ви можете призначати безпосередньо змінній у зовнішній (але не " +"глобальній) області. :keyword:`!nonlocal` — нове зарезервоване слово." + +msgid "" +":pep:`3132`: Extended Iterable Unpacking. You can now write things like " +"``a, b, *rest = some_sequence``. And even ``*rest, a = stuff``. The " +"``rest`` object is always a (possibly empty) list; the right-hand side may " +"be any iterable. Example::" +msgstr "" +":pep:`3132`: Розширене ітераційне розпакування. Тепер ви можете писати такі " +"речі, як ``a, b, *rest = some_sequence``. І навіть ``*rest, a = stuff``. " +"Об'єкт ``rest`` завжди є (можливо, порожнім) списком; права частина може " +"бути будь-якою ітерованою. Приклад::" + +msgid "This sets *a* to ``0``, *b* to ``4``, and *rest* to ``[1, 2, 3]``." +msgstr "Це встановлює *a* на ``0``, *b* на ``4``, а *rest* на ``[1, 2, 3]``." + +msgid "" +"Dictionary comprehensions: ``{k: v for k, v in stuff}`` means the same thing " +"as ``dict(stuff)`` but is more flexible. (This is :pep:`274` vindicated. :-)" +msgstr "" +"Розуміння словника: ``{k: v for k, v in stuff}`` означає те саме, що " +"``dict(stuff)``, але є більш гнучким. (Це :pep:`274` підтверджено. :-)" + +msgid "" +"Set literals, e.g. ``{1, 2}``. Note that ``{}`` is an empty dictionary; use " +"``set()`` for an empty set. Set comprehensions are also supported; e.g., " +"``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more " +"flexible." +msgstr "" +"Встановіть літерали, напр. ``{1, 2}``. Зауважте, що ``{}`` є порожнім " +"словником; використовуйте ``set()`` для порожнього набору. Також " +"підтримується розуміння набору; наприклад, ``{x for x in stuff}`` означає те " +"саме, що ``set(stuff)``, але є більш гнучким." + +msgid "" +"New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals " +"(``0720``) are gone." +msgstr "" +"Нові вісімкові літерали, напр. ``0o720`` (вже у 2.6). Старі вісімкові " +"літерали (``0720``) зникли." + +msgid "" +"New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new " +"corresponding built-in function, :func:`bin`." +msgstr "" +"Нові бінарні літерали, напр. ``0b1010`` (вже у 2.6), і є нова відповідна " +"вбудована функція, :func:`bin`." + +msgid "" +"Bytes literals are introduced with a leading ``b`` or ``B``, and there is a " +"new corresponding built-in function, :func:`bytes`." +msgstr "" +"Байтові літерали представлено з ``b`` або ``B`` на початку, і є нова " +"відповідна вбудована функція, :func:`bytes`." + +msgid "Changed Syntax" +msgstr "Змінений синтаксис" + +msgid "" +":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: :samp:" +"`raise [{expr} [from {expr}]]`. See below." +msgstr "" +":pep:`3109` і :pep:`3134`: новий синтаксис оператора :keyword:`raise`: :samp:" +"`raise [{expr} [з {expr}]]`. Дивіться нижче." + +msgid "" +":keyword:`!as` and :keyword:`with` are now reserved words. (Since 2.6, " +"actually.)" +msgstr "" +":keyword:`!as` і :keyword:`with` тепер зарезервовані слова. (Насправді з " +"2.6.)" + +msgid "" +"``True``, ``False``, and ``None`` are reserved words. (2.6 partially " +"enforced the restrictions on ``None`` already.)" +msgstr "" +"``True``, ``False`` і ``None`` є зарезервованими словами. (2.6 вже частково " +"застосував обмеження на ``None``.)" + +msgid "" +"Change from :keyword:`except` *exc*, *var* to :keyword:`!except` *exc* :" +"keyword:`!as` *var*. See :pep:`3110`." +msgstr "" +"Змінити з :keyword:`except` *exc*, *var* на :keyword:`!except` *exc* :" +"keyword:`!as` *var*. Дивіться :pep:`3110`." + +msgid ":pep:`3115`: New Metaclass Syntax. Instead of::" +msgstr ":pep:`3115`: Новий синтаксис метакласу. Замість::" + +msgid "you must now use::" +msgstr "тепер ви повинні використовувати::" + +msgid "" +"The module-global :data:`__metaclass__` variable is no longer supported. " +"(It was a crutch to make it easier to default to new-style classes without " +"deriving every class from :class:`object`.)" +msgstr "" +"Змінна module-global :data:`__metaclass__` більше не підтримується. (Це була " +"милиця, щоб полегшити за замовчуванням класи нового стилю без отримання " +"кожного класу від :class:`object`.)" + +msgid "" +"List comprehensions no longer support the syntactic form :samp:`[... for " +"{var} in {item1}, {item2}, ...]`. Use :samp:`[... for {var} in ({item1}, " +"{item2}, ...)]` instead. Also note that list comprehensions have different " +"semantics: they are closer to syntactic sugar for a generator expression " +"inside a :func:`list` constructor, and in particular the loop control " +"variables are no longer leaked into the surrounding scope." +msgstr "" +"Розуміння списків більше не підтримує синтаксичну форму :samp:`[... для " +"{var} в {item1}, {item2}, ...]`. Замість цього використовуйте :samp:`[... " +"для {var} в ({item1}, {item2}, ...)]`. Також зауважте, що розуміння списків " +"має іншу семантику: вони ближчі до синтаксичного цукру для виразу генератора " +"всередині конструктора :func:`list`, і, зокрема, керуючі змінні циклу більше " +"не просочуються в навколишню область." + +msgid "" +"The *ellipsis* (``...``) can be used as an atomic expression anywhere. " +"(Previously it was only allowed in slices.) Also, it *must* now be spelled " +"as ``...``. (Previously it could also be spelled as ``. . .``, by a mere " +"accident of the grammar.)" +msgstr "" +"*Еліпсис* (``...``) можна використовувати як атомарний вираз будь-де. " +"(Раніше це було дозволено лише у фрагментах.) Крім того, тепер *потрібно* " +"писати як ``...``. (Раніше це також могло бути написане як ``...``, просто " +"через випадковість граматики.)" + +msgid "Removed Syntax" +msgstr "Видалений синтаксис" + +msgid "" +":pep:`3113`: Tuple parameter unpacking removed. You can no longer write " +"``def foo(a, (b, c)): ...``. Use ``def foo(a, b_c): b, c = b_c`` instead." +msgstr "" +":pep:`3113`: вилучено розпакування параметрів кортежу. Ви більше не можете " +"писати ``def foo(a, (b, c)): ...``. Замість цього використовуйте ``def " +"foo(a, b_c): b, c = b_c``." + +msgid "Removed backticks (use :func:`repr` instead)." +msgstr "Видалено зворотні галочки (замість цього використовуйте :func:`repr`)." + +msgid "Removed ``<>`` (use ``!=`` instead)." +msgstr "Видалено ``<>`` (замість цього використовуйте ``!=``)." + +msgid "" +"Removed keyword: :func:`exec` is no longer a keyword; it remains as a " +"function. (Fortunately the function syntax was also accepted in 2.x.) Also " +"note that :func:`exec` no longer takes a stream argument; instead of " +"``exec(f)`` you can use ``exec(f.read())``." +msgstr "" +"Видалено ключове слово: :func:`exec` більше не є ключовим словом; воно " +"залишається як функція. (На щастя, синтаксис функції також був прийнятий у 2." +"x.) Також зауважте, що :func:`exec` більше не приймає аргумент потоку; " +"замість ``exec(f)`` ви можете використовувати ``exec(f.read())``." + +msgid "Integer literals no longer support a trailing ``l`` or ``L``." +msgstr "Цілі літерали більше не підтримують кінцеві ``l`` або ``L``." + +msgid "String literals no longer support a leading ``u`` or ``U``." +msgstr "Рядкові літерали більше не підтримують початок ``u`` або ``U``." + +msgid "" +"The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed " +"at the module level, no longer inside functions." +msgstr "" +"Синтаксис :keyword:`from` *module* :keyword:`import` ``*`` дозволений лише " +"на рівні модуля, більше не всередині функцій." + +msgid "" +"The only acceptable syntax for relative imports is :samp:`from .[{module}] " +"import {name}`. All :keyword:`import` forms not starting with ``.`` are " +"interpreted as absolute imports. (:pep:`328`)" +msgstr "" +"Єдиним прийнятним синтаксисом для відносного імпорту є :samp:`from ." +"[{module}] import {name}`. Усі форми :keyword:`import`, які не починаються з " +"``.``, інтерпретуються як абсолютні імпорти. (:pep:`328`)" + +msgid "Classic classes are gone." +msgstr "Класичні заняття зникли." + +msgid "Changes Already Present In Python 2.6" +msgstr "Зміни вже присутні в Python 2.6" + +msgid "" +"Since many users presumably make the jump straight from Python 2.5 to Python " +"3.0, this section reminds the reader of new features that were originally " +"designed for Python 3.0 but that were back-ported to Python 2.6. The " +"corresponding sections in :ref:`whats-new-in-2.6` should be consulted for " +"longer descriptions." +msgstr "" +"Оскільки багато користувачів, ймовірно, переходять прямо з Python 2.5 на " +"Python 3.0, цей розділ нагадує читачеві про нові функції, які спочатку були " +"розроблені для Python 3.0, але які були перенесені на Python 2.6. Додаткові " +"описи можна знайти у відповідних розділах :ref:`whats-new-in-2.6`." + +msgid "" +":ref:`pep-0343`. The :keyword:`with` statement is now a standard feature " +"and no longer needs to be imported from the :mod:`__future__`. Also check " +"out :ref:`new-26-context-managers` and :ref:`new-module-contextlib`." +msgstr "" +":ref:`pep-0343`. Оператор :keyword:`with` тепер є стандартною функцією, і " +"його більше не потрібно імпортувати з :mod:`__future__`. Також перегляньте :" +"ref:`new-26-context-managers` і :ref:`new-module-contextlib`." + +msgid "" +":ref:`pep-0366`. This enhances the usefulness of the :option:`-m` option " +"when the referenced module lives in a package." +msgstr "" +":ref:`pep-0366`. Це підвищує корисність опції :option:`-m`, коли модуль, на " +"який посилається, живе в пакеті." + +msgid ":ref:`pep-0370`." +msgstr ":ref:`pep-0370`." + +msgid ":ref:`pep-0371`." +msgstr ":ref:`pep-0371`." + +msgid "" +":ref:`pep-3101`. Note: the 2.6 description mentions the :meth:`format` " +"method for both 8-bit and Unicode strings. In 3.0, only the :class:`str` " +"type (text strings with Unicode support) supports this method; the :class:" +"`bytes` type does not. The plan is to eventually make this the only API for " +"string formatting, and to start deprecating the ``%`` operator in Python 3.1." +msgstr "" +":ref:`pep-3101`. Примітка: в описі 2.6 згадується метод :meth:`format` як " +"для 8-бітних рядків, так і для рядків Unicode. У версії 3.0 тільки тип :" +"class:`str` (текстові рядки з підтримкою Unicode) підтримує цей метод; тип :" +"class:`bytes` не має. План полягає в тому, щоб згодом зробити це єдиним API " +"для форматування рядків і почати не підтримувати оператор ``%`` у Python 3.1." + +msgid "" +":ref:`pep-3105`. This is now a standard feature and no longer needs to be " +"imported from :mod:`__future__`. More details were given above." +msgstr "" +":ref:`pep-3105`. Тепер це стандартна функція, і її більше не потрібно " +"імпортувати з :mod:`__future__`. Детальніше було наведено вище." + +msgid "" +":ref:`pep-3110`. The :keyword:`except` *exc* :keyword:`!as` *var* syntax is " +"now standard and :keyword:`!except` *exc*, *var* is no longer supported. " +"(Of course, the :keyword:`!as` *var* part is still optional.)" +msgstr "" +":ref:`pep-3110`. Синтаксис :keyword:`except` *exc* :keyword:`!as` *var* " +"тепер є стандартним, а :keyword:`!except` *exc*, *var* більше не " +"підтримується. (Звичайно, частина :keyword:`!as` *var* все ще необов’язкова.)" + +msgid "" +":ref:`pep-3112`. The ``b\"...\"`` string literal notation (and its variants " +"like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " +"literal of type :class:`bytes`." +msgstr "" +":ref:`pep-3112`. Нотація рядкового літералу ``b\"...\"`` (і його варіанти, " +"такі як ``b'...'``, ``b\"\"\"...\"\"\"`` і ``br\" ...\"``) тепер створює " +"літерал типу :class:`bytes`." + +msgid "" +":ref:`pep-3116`. The :mod:`io` module is now the standard way of doing file " +"I/O. The built-in :func:`open` function is now an alias for :func:`io.open` " +"and has additional keyword arguments *encoding*, *errors*, *newline* and " +"*closefd*. Also note that an invalid *mode* argument now raises :exc:" +"`ValueError`, not :exc:`IOError`. The binary file object underlying a text " +"file object can be accessed as :attr:`f.buffer` (but beware that the text " +"object maintains a buffer of itself in order to speed up the encoding and " +"decoding operations)." +msgstr "" +":ref:`pep-3116`. Модуль :mod:`io` тепер є стандартним способом здійснення " +"файлового введення/виведення. Вбудована функція :func:`open` тепер є " +"псевдонімом для :func:`io.open` і має додаткові ключові аргументи " +"*encoding*, *errors*, *newline* і *closefd*. Також зауважте, що недійсний " +"аргумент *mode* тепер викликає :exc:`ValueError`, а не :exc:`IOError`. До " +"бінарного файлового об’єкта, що лежить в основі текстового файлового " +"об’єкта, можна отримати доступ як :attr:`f.buffer` (але пам’ятайте, що " +"текстовий об’єкт підтримує сам буфер, щоб пришвидшити операції кодування та " +"декодування)." + +msgid "" +":ref:`pep-3118`. The old builtin :func:`buffer` is now really gone; the new " +"builtin :func:`memoryview` provides (mostly) similar functionality." +msgstr "" +":ref:`pep-3118`. Старий вбудований :func:`buffer` тепер справді зник; новий " +"вбудований :func:`memoryview` забезпечує (в основному) подібну " +"функціональність." + +msgid "" +":ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the :mod:" +"`collections` module plays a somewhat more prominent role in the language " +"now, and built-in collection types like :class:`dict` and :class:`list` " +"conform to the :class:`collections.MutableMapping` and :class:`collections." +"MutableSequence` ABCs, respectively." +msgstr "" +":ref:`pep-3119`. Модуль :mod:`abc` і ABC, визначені в модулі :mod:" +"`collections`, тепер відіграють дещо помітнішу роль у мові, а також такі " +"вбудовані типи колекцій, як :class:`dict` і :class:`list` відповідає ABC :" +"class:`collections.MutableMapping` і :class:`collections.MutableSequence` " +"відповідно." + +msgid "" +":ref:`pep-3127`. As mentioned above, the new octal literal notation is the " +"only one supported, and binary literals have been added." +msgstr "" +":ref:`pep-3127`. Як згадувалося вище, нова нотація вісімкових літералів є " +"єдиною, що підтримується, і додано двійкові літерали." + +msgid ":ref:`pep-3129`." +msgstr ":ref:`pep-3129`." + +msgid "" +":ref:`pep-3141`. The :mod:`numbers` module is another new use of ABCs, " +"defining Python's \"numeric tower\". Also note the new :mod:`fractions` " +"module which implements :class:`numbers.Rational`." +msgstr "" +":ref:`pep-3141`. Модуль :mod:`numbers` є ще одним новим використанням ABC, " +"що визначає \"числову вежу\" Python. Також зверніть увагу на новий модуль :" +"mod:`fractions`, який реалізує :class:`numbers.Rational`." + +msgid "Library Changes" +msgstr "Зміни бібліотеки" + +msgid "" +"Due to time constraints, this document does not exhaustively cover the very " +"extensive changes to the standard library. :pep:`3108` is the reference for " +"the major changes to the library. Here's a capsule review:" +msgstr "" +"Через обмеження часу цей документ не вичерпно охоплює дуже великі зміни " +"стандартної бібліотеки. :pep:`3108` є посиланням на основні зміни в " +"бібліотеці. Ось огляд капсули:" + +msgid "" +"Many old modules were removed. Some, like :mod:`gopherlib` (no longer used) " +"and :mod:`md5` (replaced by :mod:`hashlib`), were already deprecated by :pep:" +"`4`. Others were removed as a result of the removal of support for various " +"platforms such as Irix, BeOS and Mac OS 9 (see :pep:`11`). Some modules " +"were also selected for removal in Python 3.0 due to lack of use or because a " +"better replacement exists. See :pep:`3108` for an exhaustive list." +msgstr "" +"Багато старих модулів було видалено. Деякі, як-от :mod:`gopherlib` (більше " +"не використовується) і :mod:`md5` (замінений на :mod:`hashlib`), вже були " +"застарілими :pep:`4`. Інші були видалені в результаті припинення підтримки " +"різних платформ, таких як Irix, BeOS і Mac OS 9 (див. :pep:`11`). Деякі " +"модулі також було вибрано для видалення в Python 3.0 через відсутність " +"використання або через те, що існує краща заміна. Перегляньте :pep:`3108` " +"для вичерпного списку." + +msgid "" +"The :mod:`bsddb3` package was removed because its presence in the core " +"standard library has proved over time to be a particular burden for the core " +"developers due to testing instability and Berkeley DB's release schedule. " +"However, the package is alive and well, externally maintained at https://www." +"jcea.es/programacion/pybsddb.htm." +msgstr "" +"Пакет :mod:`bsddb3` було вилучено, оскільки його присутність у базовій " +"стандартній бібліотеці з часом виявилася особливим тягарем для розробників " +"ядра через нестабільність тестування та графік випуску Berkeley DB. Однак " +"пакет живий і здоровий, підтримується зовні за адресою https://www.jcea.es/" +"programacion/pybsddb.htm." + +msgid "" +"Some modules were renamed because their old name disobeyed :pep:`8`, or for " +"various other reasons. Here's the list:" +msgstr "" +"Деякі модулі були перейменовані через те, що їхня стара назва не " +"відповідала :pep:`8`, або з інших причин. Ось список:" + +msgid "Old Name" +msgstr "Стара назва" + +msgid "New Name" +msgstr "Нова назва" + +msgid "_winreg" +msgstr "_winreg" + +msgid "winreg" +msgstr "winreg" + +msgid "ConfigParser" +msgstr "ConfigParser" + +msgid "configparser" +msgstr "аналізатор конфігурації" + +msgid "copy_reg" +msgstr "copy_reg" + +msgid "copyreg" +msgstr "copyreg" + +msgid "Queue" +msgstr "Чергу" + +msgid "queue" +msgstr "чергу" + +msgid "SocketServer" +msgstr "SocketServer" + +msgid "socketserver" +msgstr "сокетсервер" + +msgid "markupbase" +msgstr "база розмітки" + +msgid "_markupbase" +msgstr "_markupbase" + +msgid "repr" +msgstr "репр" + +msgid "reprlib" +msgstr "reprlib" + +msgid "test.test_support" +msgstr "test.test_support" + +msgid "test.support" +msgstr "test.support" + +msgid "" +"A common pattern in Python 2.x is to have one version of a module " +"implemented in pure Python, with an optional accelerated version implemented " +"as a C extension; for example, :mod:`pickle` and :mod:`cPickle`. This " +"places the burden of importing the accelerated version and falling back on " +"the pure Python version on each user of these modules. In Python 3.0, the " +"accelerated versions are considered implementation details of the pure " +"Python versions. Users should always import the standard version, which " +"attempts to import the accelerated version and falls back to the pure Python " +"version. The :mod:`pickle` / :mod:`cPickle` pair received this treatment. " +"The :mod:`profile` module is on the list for 3.1. The :mod:`StringIO` " +"module has been turned into a class in the :mod:`io` module." +msgstr "" +"Загальним шаблоном у Python 2.x є одна версія модуля, реалізована на чистому " +"Python, з додатковою прискореною версією, реалізованою як розширення C; " +"наприклад, :mod:`pickle` і :mod:`cPickle`. Це покладає тягар імпортування " +"прискореної версії та повернення до чистої версії Python на кожного " +"користувача цих модулів. У Python 3.0 прискорені версії вважаються деталями " +"реалізації чистих версій Python. Користувачам слід завжди імпортувати " +"стандартну версію, яка намагається імпортувати прискорену версію та " +"повертається до чистої версії Python. Пара :mod:`pickle` / :mod:`cPickle` " +"отримала таку обробку. Модуль :mod:`profile` є в списку для 3.1. Модуль :mod:" +"`StringIO` було перетворено на клас у модулі :mod:`io`." + +msgid "" +"Some related modules have been grouped into packages, and usually the " +"submodule names have been simplified. The resulting new packages are:" +msgstr "" +"Деякі пов’язані модулі були згруповані в пакети, і зазвичай назви підмодулів " +"були спрощені. Отримані нові пакети:" + +msgid "" +":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" +"`gdbm`, :mod:`whichdb`)." +msgstr "" +":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" +"`gdbm`, :mod:`whichdb`)." + +msgid ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." +msgstr ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." + +msgid "" +":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" +"mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." +msgstr "" +":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" +"mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." + +msgid "" +":mod:`tkinter` (all :mod:`Tkinter`-related modules except :mod:`turtle`). " +"The target audience of :mod:`turtle` doesn't really care about :mod:" +"`tkinter`. Also note that as of Python 2.6, the functionality of :mod:" +"`turtle` has been greatly enhanced." +msgstr "" +":mod:`tkinter` (усі пов’язані з :mod:`Tkinter` модулі, крім :mod:`turtle`). " +"Цільова аудиторія :mod:`turtle` не дуже дбає про :mod:`tkinter`. Також " +"зауважте, що починаючи з Python 2.6, функціональність :mod:`turtle` була " +"значно розширена." + +msgid "" +":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" +"`robotparse`)." +msgstr "" +":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" +"`robotparse`)." + +msgid "" +":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" +"`SimpleXMLRPCServer`)." +msgstr "" +":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" +"`SimpleXMLRPCServer`)." + +msgid "" +"Some other changes to standard library modules, not covered by :pep:`3108`:" +msgstr "" +"Деякі інші зміни до модулів стандартної бібліотеки, не охоплені :pep:`3108`:" + +msgid "Killed :mod:`sets`. Use the built-in :func:`set` class." +msgstr "Убитий :mod:`sets`. Використовуйте вбудований клас :func:`set`." + +msgid "" +"Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`, :func:`sys." +"exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." +"exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)" +msgstr "" +"Очищення модуля :mod:`sys`: видалено :func:`sys.exitfunc`, :func:`sys." +"exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." +"exc_traceback`. (Зверніть увагу, що :data:`sys.last_type` тощо залишаються.)" + +msgid "" +"Cleanup of the :class:`array.array` type: the :meth:`read` and :meth:`write` " +"methods are gone; use :meth:`fromfile` and :meth:`tofile` instead. Also, " +"the ``'c'`` typecode for array is gone -- use either ``'b'`` for bytes or " +"``'u'`` for Unicode characters." +msgstr "" +"Очищення типу :class:`array.array`: методи :meth:`read` і :meth:`write` " +"зникли; замість цього використовуйте :meth:`fromfile` і :meth:`tofile`. Крім " +"того, код типу ``'c'`` для масиву зник — використовуйте ``'b'`` для байтів " +"або ``'u'`` для символів Unicode." + +msgid "" +"Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` and :" +"func:`isCallable`." +msgstr "" +"Очищення модуля :mod:`operator`: видалено :func:`sequenceIncludes` і :func:" +"`isCallable`." + +msgid "" +"Cleanup of the :mod:`thread` module: :func:`acquire_lock` and :func:" +"`release_lock` are gone; use :func:`acquire` and :func:`release` instead." +msgstr "" +"Очищення модуля :mod:`thread`: :func:`acquire_lock` і :func:`release_lock` " +"зникли; замість цього використовуйте :func:`acquire` і :func:`release`." + +msgid "Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API." +msgstr "Очищення модуля :mod:`random`: видалено API :func:`jumpahead`." + +msgid "The :mod:`new` module is gone." +msgstr "Модуль :mod:`new` зник." + +msgid "" +"The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` " +"have been removed in favor of the :mod:`tempfile` module." +msgstr "" +"Функції :func:`os.tmpnam`, :func:`os.tempnam` і :func:`os.tmpfile` було " +"видалено на користь модуля :mod:`tempfile`." + +msgid "" +"The :mod:`tokenize` module has been changed to work with bytes. The main " +"entry point is now :func:`tokenize.tokenize`, instead of generate_tokens." +msgstr "" +"Модуль :mod:`tokenize` змінено для роботи з байтами. Головною точкою входу " +"тепер є :func:`tokenize.tokenize` замість generate_tokens." + +msgid "" +":data:`string.letters` and its friends (:data:`string.lowercase` and :data:" +"`string.uppercase`) are gone. Use :data:`string.ascii_letters` etc. " +"instead. (The reason for the removal is that :data:`string.letters` and " +"friends had locale-specific behavior, which is a bad idea for such " +"attractively named global \"constants\".)" +msgstr "" + +msgid "" +"Renamed module :mod:`__builtin__` to :mod:`builtins` (removing the " +"underscores, adding an 's'). The :data:`__builtins__` variable found in " +"most global namespaces is unchanged. To modify a builtin, you should use :" +"mod:`builtins`, not :data:`__builtins__`!" +msgstr "" +"Змінено назву модуля :mod:`__builtin__` на :mod:`builtins` (видалення " +"підкреслення, додавання 's'). Змінна :data:`__builtins__`, що міститься в " +"більшості глобальних просторів імен, не змінюється. Щоб змінити вбудований " +"модуль, ви повинні використовувати :mod:`builtins`, а не :data:" +"`__builtins__`!" + +msgid ":pep:`3101`: A New Approach To String Formatting" +msgstr ":pep:`3101`: Новий підхід до форматування рядків" + +msgid "" +"A new system for built-in string formatting operations replaces the ``%`` " +"string formatting operator. (However, the ``%`` operator is still " +"supported; it will be deprecated in Python 3.1 and removed from the " +"language at some later time.) Read :pep:`3101` for the full scoop." +msgstr "" +"Нова система для вбудованих операцій форматування рядка замінює оператор " +"форматування рядка ``%``. (Однак оператор ``%`` все ще підтримується; він " +"буде застарілим у Python 3.1 і пізніше буде видалено з мови.) Прочитайте :" +"pep:`3101`, щоб отримати повну інформацію." + +msgid "Changes To Exceptions" +msgstr "Зміни винятків" + +msgid "" +"The APIs for raising and catching exception have been cleaned up and new " +"powerful features added:" +msgstr "" +"Було очищено API для виклику та перехоплення винятків і додано нові потужні " +"функції:" + +msgid "" +":pep:`352`: All exceptions must be derived (directly or indirectly) from :" +"exc:`BaseException`. This is the root of the exception hierarchy. This is " +"not new as a recommendation, but the *requirement* to inherit from :exc:" +"`BaseException` is new. (Python 2.6 still allowed classic classes to be " +"raised, and placed no restriction on what you can catch.) As a consequence, " +"string exceptions are finally truly and utterly dead." +msgstr "" +":pep:`352`: усі винятки мають бути отримані (прямо чи опосередковано) з :exc:" +"`BaseException`. Це корінь ієрархії винятків. Це не нова рекомендація, але " +"*вимога* для успадкування від :exc:`BaseException` є новою. (Python 2.6 все " +"ще дозволяв створювати класичні класи та не накладав обмежень на те, що ви " +"можете перехопити.) Як наслідок, виключення рядків остаточно по-справжньому " +"й повністю мертві." + +msgid "" +"Almost all exceptions should actually derive from :exc:`Exception`; :exc:" +"`BaseException` should only be used as a base class for exceptions that " +"should only be handled at the top level, such as :exc:`SystemExit` or :exc:" +"`KeyboardInterrupt`. The recommended idiom for handling all exceptions " +"except for this latter category is to use :keyword:`except` :exc:`Exception`." +msgstr "" +"Майже всі винятки насправді мають походити від :exc:`Exception`; :exc:" +"`BaseException` слід використовувати лише як базовий клас для винятків, які " +"слід обробляти лише на верхньому рівні, наприклад :exc:`SystemExit` або :exc:" +"`KeyboardInterrupt`. Рекомендована ідіома для обробки всіх винятків, крім " +"цієї останньої категорії, полягає в використанні :keyword:`except` :exc:" +"`Exception`." + +msgid ":exc:`StandardError` was removed." +msgstr ":exc:`StandardError` видалено." + +msgid "" +"Exceptions no longer behave as sequences. Use the :attr:`args` attribute " +"instead." +msgstr "" +"Винятки більше не діють як послідовності. Натомість використовуйте атрибут :" +"attr:`args`." + +msgid "" +":pep:`3109`: Raising exceptions. You must now use :samp:`raise {Exception}" +"({args})` instead of :samp:`raise {Exception}, {args}`. Additionally, you " +"can no longer explicitly specify a traceback; instead, if you *have* to do " +"this, you can assign directly to the :attr:`__traceback__` attribute (see " +"below)." +msgstr "" +":pep:`3109`: Створення винятків. Тепер ви повинні використовувати :samp:" +"`raise {Exception}({args})` замість :samp:`raise {Exception}, {args}`. Крім " +"того, ви більше не можете явно вказати відстеження; натомість, якщо вам " +"*потрібно* це зробити, ви можете призначити безпосередньо атрибуту :attr:" +"`__traceback__` (див. нижче)." + +msgid "" +":pep:`3110`: Catching exceptions. You must now use :samp:`except " +"{SomeException} as {variable}` instead of :samp:`except {SomeException}, " +"{variable}`. Moreover, the *variable* is explicitly deleted when the :" +"keyword:`except` block is left." +msgstr "" +":pep:`3110`: Перехоплення винятків. Тепер ви повинні використовувати :samp:" +"`крім {SomeException} як {variable}` замість :samp:`крім {SomeException}, " +"{variable}`. Крім того, *змінна* явно видаляється, коли залишається блок :" +"keyword:`except`." + +msgid "" +":pep:`3134`: Exception chaining. There are two cases: implicit chaining and " +"explicit chaining. Implicit chaining happens when an exception is raised in " +"an :keyword:`except` or :keyword:`finally` handler block. This usually " +"happens due to a bug in the handler block; we call this a *secondary* " +"exception. In this case, the original exception (that was being handled) is " +"saved as the :attr:`__context__` attribute of the secondary exception. " +"Explicit chaining is invoked with this syntax::" +msgstr "" +":pep:`3134`: ланцюжок винятків. Є два випадки: неявне з’єднання та явне " +"з’єднання. Неявне з’єднання відбувається, коли виникає виняток у блоці " +"обробки :keyword:`except` або :keyword:`finally`. Зазвичай це відбувається " +"через помилку в блоці обробки; ми називаємо це *вторинним* винятком. У цьому " +"випадку вихідний виняток (який оброблявся) зберігається як атрибут :attr:" +"`__context__` вторинного виключення. Явне ланцюжок викликається з таким " +"синтаксисом::" + +msgid "" +"(where *primary_exception* is any expression that produces an exception " +"object, probably an exception that was previously caught). In this case, the " +"primary exception is stored on the :attr:`__cause__` attribute of the " +"secondary exception. The traceback printed when an unhandled exception " +"occurs walks the chain of :attr:`__cause__` and :attr:`__context__` " +"attributes and prints a separate traceback for each component of the chain, " +"with the primary exception at the top. (Java users may recognize this " +"behavior.)" +msgstr "" +"(де *primary_exception* — це будь-який вираз, який створює об’єкт винятку, " +"ймовірно, виняток, який був раніше перехоплений). У цьому випадку первинний " +"виняток зберігається в атрибуті :attr:`__cause__` вторинного виключення. " +"Зворотне відстеження, яке друкується, коли виникає необроблена виняткова " +"ситуація, проходить по ланцюжку атрибутів :attr:`__cause__` і :attr:" +"`__context__` і друкує окреме відстеження для кожного компонента ланцюжка з " +"основним винятком у верхній частині. (Користувачі Java можуть розпізнати цю " +"поведінку.)" + +msgid "" +":pep:`3134`: Exception objects now store their traceback as the :attr:" +"`__traceback__` attribute. This means that an exception object now contains " +"all the information pertaining to an exception, and there are fewer reasons " +"to use :func:`sys.exc_info` (though the latter is not removed)." +msgstr "" +":pep:`3134`: Об’єкти винятків тепер зберігають свою трасування як атрибут :" +"attr:`__traceback__`. Це означає, що об’єкт винятку тепер містить всю " +"інформацію, що стосується винятку, і є менше причин для використання :func:" +"`sys.exc_info` (хоча останній не видаляється)." + +msgid "" +"A few exception messages are improved when Windows fails to load an " +"extension module. For example, ``error code 193`` is now ``%1 is not a " +"valid Win32 application``. Strings now deal with non-English locales." +msgstr "" +"Покращено кілька повідомлень про винятки, коли Windows не вдається " +"завантажити модуль розширення. Наприклад, ``код помилки 193`` тепер ``%1 не " +"є дійсною програмою Win32``. Рядки тепер мають справу з неанглійськими " +"локалями." + +msgid "Miscellaneous Other Changes" +msgstr "Інші інші зміни" + +msgid "Operators And Special Methods" +msgstr "Оператори та спеціальні методи" + +msgid "" +"``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:" +"`NotImplemented`." +msgstr "" +"``!=`` тепер повертає протилежність ``==``, якщо ``==`` не повертає :data:" +"`NotImplemented`." + +msgid "" +"The concept of \"unbound methods\" has been removed from the language. When " +"referencing a method as a class attribute, you now get a plain function " +"object." +msgstr "" +"Поняття \"незв'язаних методів\" було видалено з мови. Посилаючись на метод " +"як на атрибут класу, тепер ви отримуєте звичайний об’єкт функції." + +msgid "" +":meth:`__getslice__`, :meth:`__setslice__` and :meth:`__delslice__` were " +"killed. The syntax ``a[i:j]`` now translates to ``a.__getitem__(slice(i, " +"j))`` (or :meth:`__setitem__` or :meth:`__delitem__`, when used as an " +"assignment or deletion target, respectively)." +msgstr "" +":meth:`__getslice__`, :meth:`__setslice__` і :meth:`__delslice__` були " +"вбиті. Синтаксис ``a[i:j]`` тепер перекладається на ``a.__getitem__(slice(i, " +"j))`` (або :meth:`__setitem__` або :meth:`__delitem__`, коли " +"використовується як ціль призначення або видалення відповідно)." + +msgid "" +":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:" +"`~iterator.__next__`." +msgstr "" +":pep:`3114`: стандартний метод :meth:`next` було перейменовано на :meth:" +"`~iterator.__next__`." + +msgid "" +"The :meth:`__oct__` and :meth:`__hex__` special methods are removed -- :func:" +"`oct` and :func:`hex` use :meth:`__index__` now to convert the argument to " +"an integer." +msgstr "" +"Спеціальні методи :meth:`__oct__` і :meth:`__hex__` видалено -- :func:`oct` " +"і :func:`hex` тепер використовують :meth:`__index__` для перетворення " +"аргументу в ціле число." + +msgid "Removed support for :attr:`__members__` and :attr:`__methods__`." +msgstr "Видалено підтримку :attr:`__members__` і :attr:`__methods__`." + +msgid "" +"The function attributes named :attr:`func_X` have been renamed to use the :" +"data:`__X__` form, freeing up these names in the function attribute " +"namespace for user-defined attributes. To wit, :attr:`func_closure`, :attr:" +"`func_code`, :attr:`func_defaults`, :attr:`func_dict`, :attr:`func_doc`, :" +"attr:`func_globals`, :attr:`func_name` were renamed to :attr:`__closure__`, :" +"attr:`__code__`, :attr:`__defaults__`, :attr:`~object.__dict__`, :attr:" +"`__doc__`, :attr:`__globals__`, :attr:`~definition.__name__`, respectively." +msgstr "" +"Атрибути функції з назвою :attr:`func_X` було перейменовано, щоб " +"використовувати форму :data:`__X__`, звільнивши ці імена в просторі імен " +"атрибутів функції для атрибутів, визначених користувачем. Зокрема, :attr:" +"`func_closure`, :attr:`func_code`, :attr:`func_defaults`, :attr:" +"`func_dict`, :attr:`func_doc`, :attr:`func_globals`, :attr:`func_name` були " +"перейменовані на :attr:`__closure__`, :attr:`__code__`, :attr:" +"`__defaults__`, :attr:`~object.__dict__`, :attr:`__doc__`, :attr:" +"`__globals__`, :attr:`~definition.__name__` відповідно." + +msgid ":meth:`__nonzero__` is now :meth:`__bool__`." +msgstr ":meth:`__nonzero__` тепер :meth:`__bool__`." + +msgid "Builtins" +msgstr "Вбудовані" + +msgid "" +":pep:`3135`: New :func:`super`. You can now invoke :func:`super` without " +"arguments and (assuming this is in a regular instance method defined inside " +"a :keyword:`class` statement) the right class and instance will " +"automatically be chosen. With arguments, the behavior of :func:`super` is " +"unchanged." +msgstr "" +":pep:`3135`: Нове :func:`super`. Тепер ви можете викликати :func:`super` без " +"аргументів і (припускаючи, що це в звичайному методі екземпляра, визначеному " +"всередині оператора :keyword:`class`) правильний клас і екземпляр будуть " +"вибрані автоматично. З аргументами поведінка :func:`super` не змінюється." + +msgid "" +":pep:`3111`: :func:`raw_input` was renamed to :func:`input`. That is, the " +"new :func:`input` function reads a line from :data:`sys.stdin` and returns " +"it with the trailing newline stripped. It raises :exc:`EOFError` if the " +"input is terminated prematurely. To get the old behavior of :func:`input`, " +"use ``eval(input())``." +msgstr "" +":pep:`3111`: :func:`raw_input` було перейменовано на :func:`input`. Тобто " +"нова функція :func:`input` зчитує рядок із :data:`sys.stdin` і повертає його " +"без кінцевого символу нового рядка. Він викликає :exc:`EOFError`, якщо " +"введення завершується передчасно. Щоб отримати стару поведінку :func:" +"`input`, використовуйте ``eval(input())``." + +msgid "" +"A new built-in function :func:`next` was added to call the :meth:`~iterator." +"__next__` method on an object." +msgstr "" +"Додано нову вбудовану функцію :func:`next` для виклику методу :meth:" +"`~iterator.__next__` для об’єкта." + +msgid "" +"The :func:`round` function rounding strategy and return type have changed. " +"Exact halfway cases are now rounded to the nearest even result instead of " +"away from zero. (For example, ``round(2.5)`` now returns ``2`` rather than " +"``3``.) ``round(x[, n])`` now delegates to ``x.__round__([n])`` instead of " +"always returning a float. It generally returns an integer when called with " +"a single argument and a value of the same type as ``x`` when called with two " +"arguments." +msgstr "" +"Змінено стратегію округлення функції :func:`round` і тип повернення. Точні " +"половинні випадки тепер округлюються до найближчого парного результату " +"замість нуля. (Наприклад, ``round(2.5)`` тепер повертає ``2``, а не ``3``.) " +"``round(x[, n])`` тепер делегує ``x.__round__([ n])`` замість того, щоб " +"завжди повертати число з плаваючою точкою. Зазвичай він повертає ціле число, " +"якщо викликається з одним аргументом, і значення того самого типу, що й " +"``x``, коли викликається з двома аргументами." + +msgid "Moved :func:`intern` to :func:`sys.intern`." +msgstr "Переміщено :func:`intern` до :func:`sys.intern`." + +msgid "" +"Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``." +msgstr "" +"Видалено: :func:`apply`. Замість ``apply(f, args)`` використовуйте " +"``f(*args)``." + +msgid "" +"Removed :func:`callable`. Instead of ``callable(f)`` you can use " +"``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` " +"function is also gone." +msgstr "" +"Видалено :func:`callable`. Замість ``callable(f)`` ви можете використовувати " +"``isinstance(f, collections.Callable)``. Функція :func:`operator.isCallable` " +"також зникла." + +msgid "" +"Removed :func:`coerce`. This function no longer serves a purpose now that " +"classic classes are gone." +msgstr "" +"Видалено :func:`coerce`. Ця функція більше не служить меті, оскільки " +"класичні класи зникли." + +msgid "" +"Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)." +"read())``." +msgstr "" +"Видалено :func:`execfile`. Замість ``execfile(fn)`` використовуйте " +"``exec(open(fn).read())``." + +msgid "" +"Removed the :class:`file` type. Use :func:`open`. There are now several " +"different kinds of streams that open can return in the :mod:`io` module." +msgstr "" +"Видалено тип :class:`file`. Використовуйте :func:`open`. Зараз існує кілька " +"різних типів потоків, які відкриваються і можуть повертатися в модулі :mod:" +"`io`." + +msgid "" +"Removed :func:`reduce`. Use :func:`functools.reduce` if you really need it; " +"however, 99 percent of the time an explicit :keyword:`for` loop is more " +"readable." +msgstr "" +"Видалено :func:`reduce`. Використовуйте :func:`functools.reduce`, якщо вам " +"це дійсно потрібно; однак у 99% випадків явний цикл :keyword:`for` " +"читабельніший." + +msgid "Removed :func:`reload`. Use :func:`imp.reload`." +msgstr "Видалено :func:`reload`. Використовуйте :func:`imp.reload`." + +msgid "" +"Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead." +msgstr "" +"Видалено. :meth:`dict.has_key` -- замість цього використовуйте оператор :" +"keyword:`in`." + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "" +"Due to time constraints, here is a *very* incomplete list of changes to the " +"C API." +msgstr "Через обмеження часу ось *дуже* неповний список змін до C API." + +msgid "" +"Support for several platforms was dropped, including but not limited to Mac " +"OS 9, BeOS, RISCOS, Irix, and Tru64." +msgstr "" +"Було припинено підтримку кількох платформ, зокрема Mac OS 9, BeOS, RISCOS, " +"Irix і Tru64." + +msgid ":pep:`3118`: New Buffer API." +msgstr ":pep:`3118`: Новий API буфера." + +msgid ":pep:`3121`: Extension Module Initialization & Finalization." +msgstr ":pep:`3121`: Ініціалізація та завершення модуля розширення." + +msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." +msgstr ":pep:`3123`: Приведення :c:macro:`PyObject_HEAD` до стандарту C." + +msgid "No more C API support for restricted execution." +msgstr "Більше немає підтримки C API для обмеженого виконання." + +msgid "" +":c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:" +"`PyMember_Get`, and :c:func:`PyMember_Set` C APIs are removed." +msgstr "" +":c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:" +"`PyMember_Get` і :c:func:`PyMember_Set` API C видалено." + +msgid "" +"New C API :c:func:`PyImport_ImportModuleNoBlock`, works like :c:func:" +"`PyImport_ImportModule` but won't block on the import lock (returning an " +"error instead)." +msgstr "" +"Новий C API :c:func:`PyImport_ImportModuleNoBlock`, працює як :c:func:" +"`PyImport_ImportModule`, але не блокує блокування імпорту (натомість " +"повертає помилку)." + +msgid "" +"Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " +"now ``nb_bool``." +msgstr "" +"Перейменовано слот і метод логічного перетворення C-рівня: ``nb_nonzero`` " +"тепер ``nb_bool``." + +msgid "" +"Removed :c:macro:`METH_OLDARGS` and :c:macro:`WITH_CYCLE_GC` from the C API." +msgstr "Видалено :c:macro:`METH_OLDARGS` і :c:macro:`WITH_CYCLE_GC` з C API." + +msgid "Performance" +msgstr "Продуктивність" + +msgid "" +"The net result of the 3.0 generalizations is that Python 3.0 runs the " +"pystone benchmark around 10% slower than Python 2.5. Most likely the " +"biggest cause is the removal of special-casing for small integers. There's " +"room for improvement, but it will happen after 3.0 is released!" +msgstr "" +"Кінцевим результатом узагальнень 3.0 є те, що Python 3.0 виконує тест " +"pystone приблизно на 10% повільніше, ніж Python 2.5. Швидше за все, " +"найбільшою причиною є видалення спеціального регістра для малих цілих чисел. " +"Є місце для вдосконалення, але це станеться після випуску 3.0!" + +msgid "Porting To Python 3.0" +msgstr "Перенесення на Python 3.0" + +msgid "" +"For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " +"strategy is the following:" +msgstr "" +"Для перенесення існуючого вихідного коду Python 2.5 або 2.6 на Python 3.0 " +"найкраща стратегія така:" + +msgid "(Prerequisite:) Start with excellent test coverage." +msgstr "(Обов’язкова умова:) Почніть із чудового тестового покриття." + +msgid "" +"Port to Python 2.6. This should be no more work than the average port from " +"Python 2.x to Python 2.(x+1). Make sure all your tests pass." +msgstr "" +"Порт на Python 2.6. Це повинно бути не більше роботи, ніж середнє " +"перенесення з Python 2.x на Python 2. (x+1). Переконайтеся, що всі ваші " +"тести пройдені." + +msgid "" +"(Still using 2.6:) Turn on the :option:`!-3` command line switch. This " +"enables warnings about features that will be removed (or change) in 3.0. " +"Run your test suite again, and fix code that you get warnings about until " +"there are no warnings left, and all your tests still pass." +msgstr "" +"(Досі використовується 2.6:) Увімкніть перемикач командного рядка :option:" +"`!-3`. Це вмикає попередження про функції, які буде видалено (або змінено) у " +"версії 3.0. Знову запустіть набір тестів і виправте код, про який ви " +"отримуєте попередження, доки попередження не зникнуть, і всі ваші тести все " +"одно пройдуть." + +msgid "" +"Run the ``2to3`` source-to-source translator over your source code tree. " +"(See :ref:`2to3-reference` for more on this tool.) Run the result of the " +"translation under Python 3.0. Manually fix up any remaining issues, fixing " +"problems until all tests pass again." +msgstr "" +"Запустіть перекладач ``2to3`` з джерела в джерело над вашим деревом " +"вихідного коду. (Див. :ref:`2to3-reference`, щоб дізнатися більше про цей " +"інструмент.) Запустіть результат перекладу під Python 3.0. Вручну вирішуйте " +"проблеми, що залишилися, виправляючи проблеми, доки всі тести не пройдуть " +"знову." + +msgid "" +"It is not recommended to try to write source code that runs unchanged under " +"both Python 2.6 and 3.0; you'd have to use a very contorted coding style, e." +"g. avoiding ``print`` statements, metaclasses, and much more. If you are " +"maintaining a library that needs to support both Python 2.6 and Python 3.0, " +"the best approach is to modify step 3 above by editing the 2.6 version of " +"the source code and running the ``2to3`` translator again, rather than " +"editing the 3.0 version of the source code." +msgstr "" +"Не рекомендується намагатися написати вихідний код, який працює без змін під " +"Python 2.6 і 3.0; вам доведеться використовувати дуже спотворений стиль " +"кодування, напр. уникнення операторів ``print``, метакласів і багато іншого. " +"Якщо ви підтримуєте бібліотеку, яка має підтримувати як Python 2.6, так і " +"Python 3.0, найкращим підходом є змінити крок 3 вище, відредагувавши версію " +"вихідного коду 2.6 і знову запустивши перекладач ``2to3`` замість " +"редагування Версія вихідного коду 3.0." + +msgid "" +"For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." +msgstr "Для перенесення розширень C на Python 3.0 див. :ref:`cporting-howto`." diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po new file mode 100644 index 000000000..078377c30 --- /dev/null +++ b/whatsnew/3.1.po @@ -0,0 +1,793 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.1" +msgstr "Що нового в Python 3.1" + +msgid "Author" +msgstr "Автор" + +msgid "Raymond Hettinger" +msgstr "Raymond Hettinger" + +msgid "" +"This article explains the new features in Python 3.1, compared to 3.0. " +"Python 3.1 was released on June 27, 2009." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.1 порівняно з 3.0. Python " +"3.1 було випущено 27 червня 2009 року." + +msgid "PEP 372: Ordered Dictionaries" +msgstr "PEP 372: Упорядковані словники" + +msgid "" +"Regular Python dictionaries iterate over key/value pairs in arbitrary order. " +"Over the years, a number of authors have written alternative implementations " +"that remember the order that the keys were originally inserted. Based on " +"the experiences from those implementations, a new :class:`collections." +"OrderedDict` class has been introduced." +msgstr "" +"Звичайні словники Python перебирають пари ключ/значення в довільному " +"порядку. Протягом багатьох років кілька авторів написали альтернативні " +"реалізації, які запам’ятовують порядок початкового вставлення ключів. На " +"основі досвіду цих реалізацій було введено новий клас :class:`collections." +"OrderedDict`." + +msgid "" +"The OrderedDict API is substantially the same as regular dictionaries but " +"will iterate over keys and values in a guaranteed order depending on when a " +"key was first inserted. If a new entry overwrites an existing entry, the " +"original insertion position is left unchanged. Deleting an entry and " +"reinserting it will move it to the end." +msgstr "" +"API OrderedDict практично такий же, як і звичайні словники, але перебиратиме " +"ключі та значення в гарантованому порядку залежно від того, коли ключ було " +"вперше вставлено. Якщо новий запис перезаписує існуючий запис, початкова " +"позиція вставки залишається незмінною. Видалення запису та його повторне " +"вставлення перемістить його в кінець." + +msgid "" +"The standard library now supports use of ordered dictionaries in several " +"modules. The :mod:`configparser` module uses them by default. This lets " +"configuration files be read, modified, and then written back in their " +"original order. The *_asdict()* method for :func:`collections.namedtuple` " +"now returns an ordered dictionary with the values appearing in the same " +"order as the underlying tuple indices. The :mod:`json` module is being " +"built-out with an *object_pairs_hook* to allow OrderedDicts to be built by " +"the decoder. Support was also added for third-party tools like `PyYAML " +"`_." +msgstr "" + +msgid ":pep:`372` - Ordered Dictionaries" +msgstr ":pep:`372` - Впорядковані словники" + +msgid "" +"PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " +"by Raymond Hettinger." +msgstr "" +"PEP, автори Армін Роначер і Раймонд Геттінгер. Реалізацію написав Раймонд " +"Хеттінгер." + +msgid "PEP 378: Format Specifier for Thousands Separator" +msgstr "PEP 378: Специфікатор формату для розділювача тисяч" + +msgid "" +"The built-in :func:`format` function and the :meth:`str.format` method use a " +"mini-language that now includes a simple, non-locale aware way to format a " +"number with a thousands separator. That provides a way to humanize a " +"program's output, improving its professional appearance and readability::" +msgstr "" +"Вбудована функція :func:`format` і метод :meth:`str.format` використовують " +"міні-мову, яка тепер містить простий спосіб форматування числа з " +"роздільником тисяч, який не залежить від локалі. Це надає спосіб " +"гуманізувати вихідні дані програми, покращуючи її професійний вигляд і " +"читабельність:" + +msgid "" +"The supported types are :class:`int`, :class:`float`, :class:`complex` and :" +"class:`decimal.Decimal`." +msgstr "" +"Підтримувані типи: :class:`int`, :class:`float`, :class:`complex` і :class:" +"`decimal.Decimal`." + +msgid "" +"Discussions are underway about how to specify alternative separators like " +"dots, spaces, apostrophes, or underscores. Locale-aware applications should " +"use the existing *n* format specifier which already has some support for " +"thousands separators." +msgstr "" +"Ведуться дискусії про те, як вказати альтернативні роздільники, такі як " +"крапки, пробіли, апострофи або підкреслення. Програми з розпізнаванням " +"локалі повинні використовувати існуючий специфікатор формату *n*, який уже " +"підтримує певну підтримку роздільників тисяч." + +msgid ":pep:`378` - Format Specifier for Thousands Separator" +msgstr ":pep:`378` - Специфікатор формату для розділювача тисяч" + +msgid "" +"PEP written by Raymond Hettinger and implemented by Eric Smith and Mark " +"Dickinson." +msgstr "" +"PEP, написаний Реймондом Геттінгером і реалізований Еріком Смітом і Марком " +"Дікінсоном." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"Directories and zip archives containing a :file:`__main__.py` file can now " +"be executed directly by passing their name to the interpreter. The directory/" +"zipfile is automatically inserted as the first entry in sys.path. " +"(Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby " +"and Nick Coghlan; :issue:`1739468`.)" +msgstr "" +"Каталоги та zip-архіви, що містять файл :file:`__main__.py`, тепер можна " +"виконувати безпосередньо, передавши їх імена інтерпретатору. Каталог/файл " +"zip автоматично вставляється як перший запис у sys.path. (Пропозиція та " +"початковий патч від Енді Чу; переглянуте патч від Філіпа Дж. Ебі та Ніка " +"Коглана; :issue:`1739468`.)" + +msgid "" +"The :func:`int` type gained a ``bit_length`` method that returns the number " +"of bits necessary to represent its argument in binary::" +msgstr "" +"Тип :func:`int` отримав метод ``bit_length``, який повертає кількість бітів, " +"необхідних для представлення свого аргументу в двійковому вигляді::" + +msgid "" +"(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " +"Mark Dickinson; :issue:`3439`.)" +msgstr "" +"(Надано Фредріком Йоханссоном, Віктором Стіннером, Реймондом Геттінгером і " +"Марком Дікінсоном; :issue:`3439`.)" + +msgid "" +"The fields in :func:`format` strings can now be automatically numbered::" +msgstr "" +"Поля в рядках :func:`format` тепер можуть бути автоматично пронумеровані::" + +msgid "" +"Formerly, the string would have required numbered fields such as: ``'Sir {0} " +"of {1}'``." +msgstr "" +"Раніше рядок вимагав пронумерованих полів, таких як: ``'Sir {0} of {1}''``." + +msgid "(Contributed by Eric Smith; :issue:`5237`.)" +msgstr "(Надав Ерік Сміт; :issue:`5237`.)" + +msgid "" +"The :func:`string.maketrans` function is deprecated and is replaced by new " +"static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " +"This change solves the confusion around which types were supported by the :" +"mod:`string` module. Now, :class:`str`, :class:`bytes`, and :class:" +"`bytearray` each have their own **maketrans** and **translate** methods with " +"intermediate translation tables of the appropriate type." +msgstr "" +"Функція :func:`string.maketrans` є застарілою та замінена новими статичними " +"методами, :meth:`bytes.maketrans` і :meth:`bytearray.maketrans`. Ця зміна " +"вирішує плутанину навколо того, які типи підтримувалися модулем :mod:" +"`string`. Тепер :class:`str`, :class:`bytes` і :class:`bytearray` кожен має " +"власні методи **maketrans** і **translate** із проміжними таблицями " +"перекладу відповідного типу." + +msgid "(Contributed by Georg Brandl; :issue:`5675`.)" +msgstr "(Надав Георг Брандл; :issue:`5675`.)" + +msgid "" +"The syntax of the :keyword:`with` statement now allows multiple context " +"managers in a single statement::" +msgstr "" +"Синтаксис оператора :keyword:`with` тепер дозволяє використовувати декілька " +"менеджерів контексту в одному операторі:" + +msgid "" +"With the new syntax, the :func:`contextlib.nested` function is no longer " +"needed and is now deprecated." +msgstr "" +"З новим синтаксисом функція :func:`contextlib.nested` більше не потрібна, і " +"тепер вона застаріла." + +msgid "" +"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " +"`_.)" +msgstr "" +"(Надано Георгом Брандлом і Маттіасом Брендстремом; `appspot issue 53094 " +"`_.)" + +msgid "" +"``round(x, n)`` now returns an integer if *x* is an integer. Previously it " +"returned a float::" +msgstr "" +"``round(x, n)`` тепер повертає ціле число, якщо *x* є цілим числом. Раніше " +"він повертав float::" + +msgid "(Contributed by Mark Dickinson; :issue:`4707`.)" +msgstr "(Надав Марк Дікінсон; :issue:`4707`.)" + +msgid "" +"Python now uses David Gay's algorithm for finding the shortest floating " +"point representation that doesn't change its value. This should help " +"mitigate some of the confusion surrounding binary floating point numbers." +msgstr "" +"Тепер Python використовує алгоритм Девіда Гея для пошуку найкоротшого " +"представлення з плаваючою комою, яке не змінює свого значення. Це має " +"допомогти пом’якшити плутанину навколо двійкових чисел з плаваючою комою." + +msgid "" +"The significance is easily seen with a number like ``1.1`` which does not " +"have an exact equivalent in binary floating point. Since there is no exact " +"equivalent, an expression like ``float('1.1')`` evaluates to the nearest " +"representable value which is ``0x1.199999999999ap+0`` in hex or " +"``1.100000000000000088817841970012523233890533447265625`` in decimal. That " +"nearest value was and still is used in subsequent floating point " +"calculations." +msgstr "" +"Значення легко побачити за допомогою числа на зразок ``1,1``, яке не має " +"точного еквівалента в двійковій формі з плаваючою комою. Оскільки немає " +"точного еквівалента, вираз на кшталт ``float('1.1')`` обчислюється до " +"найближчого значення, яке можна представити, яке є ``0x1.199999999999ap+0`` " +"у шістнадцятковому або " +"``1.100000000000000088817841970012523233890533447265625`` в десятковому. Це " +"найближче значення використовувалося і досі використовується в наступних " +"обчисленнях з плаваючою комою." + +msgid "" +"What is new is how the number gets displayed. Formerly, Python used a " +"simple approach. The value of ``repr(1.1)`` was computed as ``format(1.1, " +"'.17g')`` which evaluated to ``'1.1000000000000001'``. The advantage of " +"using 17 digits was that it relied on IEEE-754 guarantees to assure that " +"``eval(repr(1.1))`` would round-trip exactly to its original value. The " +"disadvantage is that many people found the output to be confusing (mistaking " +"intrinsic limitations of binary floating point representation as being a " +"problem with Python itself)." +msgstr "" +"Новим є спосіб відображення номера. Раніше Python використовував простий " +"підхід. Значення ``repr(1.1)`` було обчислено як ``format(1.1, '.17g')``, " +"яке оцінювалося як ``'1,1000000000000001''``. Перевага використання 17 цифр " +"полягала в тому, що він покладався на гарантії IEEE-754, щоб гарантувати, що " +"``eval(repr(1.1))`` повертатиме точно до початкового значення. Недоліком є " +"те, що багато людей вважали результат заплутаним (вважаючи, що внутрішні " +"обмеження двійкового представлення з плаваючою комою є проблемою самого " +"Python)." + +msgid "" +"The new algorithm for ``repr(1.1)`` is smarter and returns ``'1.1'``. " +"Effectively, it searches all equivalent string representations (ones that " +"get stored with the same underlying float value) and returns the shortest " +"representation." +msgstr "" +"Новий алгоритм для ``repr(1.1)`` розумніший і повертає ``'1.1'``. По суті, " +"він шукає всі еквівалентні представлення рядків (ті, які зберігаються з тим " +"самим базовим значенням з плаваючою точкою) і повертає найкоротше " +"представлення." + +msgid "" +"The new algorithm tends to emit cleaner representations when possible, but " +"it does not change the underlying values. So, it is still the case that " +"``1.1 + 2.2 != 3.3`` even though the representations may suggest otherwise." +msgstr "" +"Новий алгоритм має тенденцію видавати чіткіші представлення, коли це " +"можливо, але він не змінює основні значення. Таким чином, це все ще так, що " +"``1.1 + 2.2 != 3.3``, навіть якщо представлення можуть припускати інше." + +msgid "" +"The new algorithm depends on certain features in the underlying floating " +"point implementation. If the required features are not found, the old " +"algorithm will continue to be used. Also, the text pickle protocols assure " +"cross-platform portability by using the old algorithm." +msgstr "" +"Новий алгоритм залежить від певних особливостей базової реалізації з " +"плаваючою комою. Якщо потрібні функції не знайдено, продовжуватиме " +"використовуватися старий алгоритм. Крім того, протоколи піклування тексту " +"забезпечують міжплатформну переносимість за допомогою старого алгоритму." + +msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" +msgstr "(Надано Еріком Смітом і Марком Дікінсоном; :issue:`1580`)" + +msgid "New, Improved, and Deprecated Modules" +msgstr "Нові, покращені та застарілі модулі" + +msgid "" +"Added a :class:`collections.Counter` class to support convenient counting of " +"unique items in a sequence or iterable::" +msgstr "" +"Додано клас :class:`collections.Counter` для підтримки зручного підрахунку " +"унікальних елементів у послідовності або ітерації::" + +msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)" +msgstr "(Надав Реймонд Геттінгер; :issue:`1696199`.)" + +msgid "" +"Added a new module, :mod:`tkinter.ttk` for access to the Tk themed widget " +"set. The basic idea of ttk is to separate, to the extent possible, the code " +"implementing a widget's behavior from the code implementing its appearance." +msgstr "" +"Додано новий модуль :mod:`tkinter.ttk` для доступу до набору тематичних " +"віджетів Tk. Основна ідея ttk полягає в тому, щоб відокремити, наскільки це " +"можливо, код, що реалізує поведінку віджета, від коду, що реалізує його " +"зовнішній вигляд." + +msgid "(Contributed by Guilherme Polo; :issue:`2983`.)" +msgstr "(Надав Гільєрме Поло; :issue:`2983`.)" + +msgid "" +"The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " +"context management protocol::" +msgstr "" +"Класи :class:`gzip.GzipFile` і :class:`bz2.BZ2File` тепер підтримують " +"протокол керування контекстом:" + +msgid "(Contributed by Antoine Pitrou.)" +msgstr "(Надав Антуан Пітру.)" + +msgid "" +"The :mod:`decimal` module now supports methods for creating a decimal object " +"from a binary :class:`float`. The conversion is exact but can sometimes be " +"surprising::" +msgstr "" +"Модуль :mod:`decimal` тепер підтримує методи для створення десяткового " +"об’єкта з двійкового :class:`float`. Перетворення точне, але іноді може бути " +"несподіваним:" + +msgid "" +"The long decimal result shows the actual binary fraction being stored for " +"*1.1*. The fraction has many digits because *1.1* cannot be exactly " +"represented in binary." +msgstr "" +"Довгий десятковий результат показує фактичний двійковий дріб, який " +"зберігається для *1,1*. Дріб має багато цифр, оскільки *1.1* не може бути " +"точно представлений у двійковому вигляді." + +msgid "(Contributed by Raymond Hettinger and Mark Dickinson.)" +msgstr "(Надано Реймондом Геттінгером і Марком Дікінсоном.)" + +msgid "" +"The :mod:`itertools` module grew two new functions. The :func:`itertools." +"combinations_with_replacement` function is one of four for generating " +"combinatorics including permutations and Cartesian products. The :func:" +"`itertools.compress` function mimics its namesake from APL. Also, the " +"existing :func:`itertools.count` function now has an optional *step* " +"argument and can accept any type of counting sequence including :class:" +"`fractions.Fraction` and :class:`decimal.Decimal`::" +msgstr "" +"Модуль :mod:`itertools` розширив дві нові функції. Функція :func:`itertools." +"combinations_with_replacement` є однією з чотирьох для створення " +"комбінаторики, включаючи перестановки та декартові добутки. Функція :func:" +"`itertools.compress` імітує свою тезку з APL. Крім того, наявна функція :" +"func:`itertools.count` тепер має додатковий аргумент *step* і може приймати " +"будь-який тип послідовності підрахунку, включаючи :class:`fractions." +"Fraction` і :class:`decimal.Decimal`::" + +msgid "(Contributed by Raymond Hettinger.)" +msgstr "(Надав Реймонд Геттінгер.)" + +msgid "" +":func:`collections.namedtuple` now supports a keyword argument *rename* " +"which lets invalid fieldnames be automatically converted to positional names " +"in the form _0, _1, etc. This is useful when the field names are being " +"created by an external source such as a CSV header, SQL field list, or user " +"input::" +msgstr "" +":func:`collections.namedtuple` тепер підтримує аргумент ключового слова " +"*rename*, який дозволяє автоматично перетворювати недійсні назви полів на " +"позиційні імена у формі _0, _1 тощо. Це корисно, коли назви полів " +"створюються зовнішнім джерелом, наприклад як заголовок CSV, список полів SQL " +"або введення користувача::" + +msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)" +msgstr "(Надав Раймонд Геттінгер; :issue:`1818`.)" + +msgid "" +"The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " +"accept a flags parameter." +msgstr "" +"Функції :func:`re.sub`, :func:`re.subn` і :func:`re.split` тепер приймають " +"параметр flags." + +msgid "(Contributed by Gregory Smith.)" +msgstr "(Надав Грегорі Сміт.)" + +msgid "" +"The :mod:`logging` module now implements a simple :class:`logging." +"NullHandler` class for applications that are not using logging but are " +"calling library code that does. Setting-up a null handler will suppress " +"spurious warnings such as \"No handlers could be found for logger foo\"::" +msgstr "" +"Модуль :mod:`logging` тепер реалізує простий клас :class:`logging." +"NullHandler` для програм, які не використовують журналювання, але викликають " +"код бібліотеки, який це робить. Налаштування нульового обробника придушить " +"фальшиві попередження, такі як \"Не вдалося знайти обробників для logger foo" +"\"::" + +msgid "(Contributed by Vinay Sajip; :issue:`4384`)." +msgstr "(Надав Віней Саджип; :issue:`4384`)." + +msgid "" +"The :mod:`runpy` module which supports the ``-m`` command line switch now " +"supports the execution of packages by looking for and executing a " +"``__main__`` submodule when a package name is supplied." +msgstr "" +"Модуль :mod:`runpy`, який підтримує перемикач командного рядка ``-m``, тепер " +"підтримує виконання пакетів шляхом пошуку та виконання субмодуля " +"``__main__``, коли надається ім’я пакета." + +msgid "(Contributed by Andi Vajda; :issue:`4195`.)" +msgstr "(Надав Анді Вайда; :issue:`4195`.)" + +msgid "" +"The :mod:`pdb` module can now access and display source code loaded via :mod:" +"`zipimport` (or any other conformant :pep:`302` loader)." +msgstr "" +"Модуль :mod:`pdb` тепер може отримувати доступ і відображати вихідний код, " +"завантажений через :mod:`zipimport` (або будь-який інший відповідний " +"завантажувач :pep:`302`)." + +msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)" +msgstr "(Надав Олександр Бєлопольський; :issue:`4201`.)" + +msgid ":class:`functools.partial` objects can now be pickled." +msgstr ":class:`functools.partial` об’єкти тепер можна маринувати." + +msgid "" +"(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " +"Diederich; :issue:`5228`.)" +msgstr "" +"(Запропоновано Антуаном Пітру та Джессі Ноллером. Реалізовано Джеком " +"Дідеріхом; :issue:`5228`.)" + +msgid "" +"Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " +"expected in the interactive environment." +msgstr "" +"Додайте теми довідки :mod:`pydoc` для символів, щоб ``help('@')`` працював " +"належним чином в інтерактивному середовищі." + +msgid "(Contributed by David Laban; :issue:`4739`.)" +msgstr "(Надав Девід Лабан; :issue:`4739`.)" + +msgid "" +"The :mod:`unittest` module now supports skipping individual tests or classes " +"of tests. And it supports marking a test as an expected failure, a test that " +"is known to be broken, but shouldn't be counted as a failure on a " +"TestResult::" +msgstr "" +"Модуль :mod:`unittest` тепер підтримує пропуски окремих тестів або класів " +"тестів. І він підтримує позначення тесту як очікуваної невдачі, тесту, який, " +"як відомо, зламаний, але не повинен вважатися невдалим у TestResult::" + +msgid "" +"Also, tests for exceptions have been builtout to work with context managers " +"using the :keyword:`with` statement::" +msgstr "" +"Крім того, для роботи з менеджерами контексту за допомогою оператора :" +"keyword:`with`::" + +msgid "" +"In addition, several new assertion methods were added including :func:" +"`assertSetEqual`, :func:`assertDictEqual`, :func:" +"`assertDictContainsSubset`, :func:`assertListEqual`, :func:" +"`assertTupleEqual`, :func:`assertSequenceEqual`, :func:" +"`assertRaisesRegexp`, :func:`assertIsNone`, and :func:`assertIsNotNone`." +msgstr "" +"Крім того, було додано кілька нових методів твердження, зокрема :func:" +"`assertSetEqual`, :func:`assertDictEqual`, :func:" +"`assertDictContainsSubset`, :func:`assertListEqual`, :func:" +"`assertTupleEqual`, :func:`assertSequenceEqual`, :func:" +"`assertRaisesRegexp`, :func:`assertIsNone` і :func:`assertIsNotNone`." + +msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)" +msgstr "(Надано Бенджаміном Петерсоном і Антуаном Пітру.)" + +msgid "" +"The :mod:`io` module has three new constants for the :meth:`seek` method :" +"data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`." +msgstr "" +"Модуль :mod:`io` має три нові константи для методу :meth:`seek` :data:" +"`SEEK_SET`, :data:`SEEK_CUR` і :data:`SEEK_END`." + +msgid "The :attr:`sys.version_info` tuple is now a named tuple::" +msgstr "Кортеж :attr:`sys.version_info` тепер є іменованим кортежем::" + +msgid "(Contributed by Ross Light; :issue:`4285`.)" +msgstr "(Надав Росс Лайт; :issue:`4285`.)" + +msgid "The :mod:`nntplib` and :mod:`imaplib` modules now support IPv6." +msgstr "Модулі :mod:`nntplib` і :mod:`imaplib` тепер підтримують IPv6." + +msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" +msgstr "(Надав Дерек Морр; :issue:`1655` і :issue:`1664`.)" + +msgid "" +"The :mod:`pickle` module has been adapted for better interoperability with " +"Python 2.x when used with protocol 2 or lower. The reorganization of the " +"standard library changed the formal reference for many objects. For " +"example, ``__builtin__.set`` in Python 2 is called ``builtins.set`` in " +"Python 3. This change confounded efforts to share data between different " +"versions of Python. But now when protocol 2 or lower is selected, the " +"pickler will automatically use the old Python 2 names for both loading and " +"dumping. This remapping is turned-on by default but can be disabled with the " +"*fix_imports* option::" +msgstr "" +"Модуль :mod:`pickle` було адаптовано для кращої сумісності з Python 2.x при " +"використанні протоколу 2 або нижчого. Реорганізація стандартної бібліотеки " +"змінила формальне посилання для багатьох об'єктів. Наприклад, ``__builtin__." +"set`` у Python 2 називається ``builtins.set`` у Python 3. Ця зміна " +"збентежила спроби обмінюватися даними між різними версіями Python. Але " +"тепер, коли вибрано протокол 2 або нижчий, піклер автоматично " +"використовуватиме старі назви Python 2 як для завантаження, так і для " +"вивантаження. Це перевідображення ввімкнено за замовчуванням, але його можна " +"вимкнути за допомогою опції *fix_imports*::" + +msgid "" +"An unfortunate but unavoidable side-effect of this change is that protocol 2 " +"pickles produced by Python 3.1 won't be readable with Python 3.0. The latest " +"pickle protocol, protocol 3, should be used when migrating data between " +"Python 3.x implementations, as it doesn't attempt to remain compatible with " +"Python 2.x." +msgstr "" +"Неприємний, але неминучий побічний ефект цієї зміни полягає в тому, що піклі " +"протоколу 2, створені Python 3.1, не можна буде прочитати з Python 3.0. " +"Найновіший протокол pickle, протокол 3, слід використовувати під час " +"переміщення даних між реалізаціями Python 3.x, оскільки він не намагається " +"зберегти сумісність із Python 2.x." + +msgid "" +"(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" +msgstr "(Надано Александром Вассалотті та Антуаном Пітру, :issue:`6137`.)" + +msgid "" +"A new module, :mod:`importlib` was added. It provides a complete, portable, " +"pure Python reference implementation of the :keyword:`import` statement and " +"its counterpart, the :func:`__import__` function. It represents a " +"substantial step forward in documenting and defining the actions that take " +"place during imports." +msgstr "" +"Додано новий модуль :mod:`importlib`. Він забезпечує повну, портативну, " +"чисту довідкову реалізацію на Python оператора :keyword:`import` і його " +"відповідника, функції :func:`__import__`. Це значний крок вперед у " +"документуванні та визначенні дій, які відбуваються під час імпорту." + +msgid "(Contributed by Brett Cannon.)" +msgstr "(Надав Бретт Кеннон.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "Major performance enhancements have been added:" +msgstr "Додано основні покращення продуктивності:" + +msgid "" +"The new I/O library (as defined in :pep:`3116`) was mostly written in Python " +"and quickly proved to be a problematic bottleneck in Python 3.0. In Python " +"3.1, the I/O library has been entirely rewritten in C and is 2 to 20 times " +"faster depending on the task at hand. The pure Python version is still " +"available for experimentation purposes through the ``_pyio`` module." +msgstr "" +"Нова бібліотека введення-виведення (як визначено в :pep:`3116`) була " +"здебільшого написана на Python і швидко виявилася проблемним вузьким місцем " +"у Python 3.0. У Python 3.1 бібліотеку вводу/виводу було повністю переписано " +"на C і вона працює від 2 до 20 разів швидше залежно від поставленого " +"завдання. Чиста версія Python все ще доступна для експериментальних цілей " +"через модуль ``_pyio``." + +msgid "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" +msgstr "(Надано Аморі Форже д'Арк і Антуаном Пітру.)" + +msgid "" +"Added a heuristic so that tuples and dicts containing only untrackable " +"objects are not tracked by the garbage collector. This can reduce the size " +"of collections and therefore the garbage collection overhead on long-running " +"programs, depending on their particular use of datatypes." +msgstr "" +"Додано евристику, щоб кортежі та dicts, що містять лише невідстежувані " +"об’єкти, не відстежувалися збирачем сміття. Це може зменшити розмір колекцій " +"і, отже, накладні витрати на збирання сміття в програмах, що працюють довго, " +"залежно від конкретного використання типів даних." + +msgid "(Contributed by Antoine Pitrou, :issue:`4688`.)" +msgstr "(Надав Антуан Пітру, :issue:`4688`.)" + +msgid "" +"Enabling a configure option named ``--with-computed-gotos`` on compilers " +"that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is " +"compiled with a new dispatch mechanism which gives speedups of up to 20%, " +"depending on the system, the compiler, and the benchmark." +msgstr "" +"Увімкнувши параметр конфігурації під назвою ``--with-computed-gotos`` на " +"компіляторах, які його підтримують (зокрема, gcc, SunPro, icc), цикл оцінки " +"байт-коду компілюється з новим механізмом відправки, який забезпечує " +"прискорення до 20% , залежно від системи, компілятора та тесту." + +msgid "" +"(Contributed by Antoine Pitrou along with a number of other participants, :" +"issue:`4753`)." +msgstr "(Надано Антуаном Пітру та низкою інших учасників, :issue:`4753`)." + +msgid "" +"The decoding of UTF-8, UTF-16 and LATIN-1 is now two to four times faster." +msgstr "Декодування UTF-8, UTF-16 і LATIN-1 тепер у два-чотири рази швидше." + +msgid "" +"(Contributed by Antoine Pitrou and Amaury Forgeot d'Arc, :issue:`4868`.)" +msgstr "(Надано Антуаном Пітру та Аморі Форже д'Арк, :issue:`4868`.)" + +msgid "" +"The :mod:`json` module now has a C extension to substantially improve its " +"performance. In addition, the API was modified so that json works only " +"with :class:`str`, not with :class:`bytes`. That change makes the module " +"closely match the `JSON specification `_ which is defined " +"in terms of Unicode." +msgstr "" + +msgid "" +"(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " +"Benjamin Peterson; :issue:`4136`.)" +msgstr "" +"(Надано Бобом Іполіто та перетворено на Py3.1 Антуаном Пітру та Бенджаміном " +"Петерсоном; :issue:`4136`.)" + +msgid "" +"Unpickling now interns the attribute names of pickled objects. This saves " +"memory and allows pickles to be smaller." +msgstr "" +"Unpickling тепер інтернує назви атрибутів маринованих об’єктів. Це економить " +"пам’ять і дозволяє зробити солоні огірки меншими." + +msgid "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" +msgstr "(Надано Джейком Макгуайром і Антуаном Пітру; :issue:`5084`.)" + +msgid "IDLE" +msgstr "ПРОСТОЮЧИЙ" + +msgid "" +"IDLE's format menu now provides an option to strip trailing whitespace from " +"a source file." +msgstr "" +"Меню форматування IDLE тепер надає можливість видаляти кінцеві пробіли з " +"вихідного файлу." + +msgid "(Contributed by Roger D. Serwy; :issue:`5150`.)" +msgstr "(Надав Роджер Д. Серві; :issue:`5150`.)" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "" +"Integers are now stored internally either in base ``2**15`` or in base " +"``2**30``, the base being determined at build time. Previously, they were " +"always stored in base ``2**15``. Using base ``2**30`` gives significant " +"performance improvements on 64-bit machines, but benchmark results on 32-bit " +"machines have been mixed. Therefore, the default is to use base ``2**30`` " +"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a " +"new configure option ``--enable-big-digits`` that can be used to override " +"this default." +msgstr "" +"Цілі числа тепер зберігаються внутрішньо або в базі ``2**15``, або в базі " +"``2**30``, причому база визначається під час створення. Раніше вони завжди " +"зберігалися в базі ``2**15``. Використання бази ``2**30`` дає значне " +"покращення продуктивності на 64-розрядних машинах, але результати " +"порівняльного тестування на 32-розрядних машинах були неоднозначними. Тому " +"за замовчуванням на 64-розрядних машинах використовується основа ``2**30`` і " +"основа ``2**15`` на 32-розрядних машинах; в Unix є новий параметр " +"конфігурації ``--enable-big-digits``, який можна використовувати для заміни " +"цього значення за замовчуванням." + +msgid "" +"Apart from the performance improvements this change should be invisible to " +"end users, with one exception: for testing and debugging purposes there's a " +"new :attr:`sys.int_info` that provides information about the internal " +"format, giving the number of bits per digit and the size in bytes of the C " +"type used to store each digit::" +msgstr "" +"Окрім підвищення продуктивності, ця зміна має бути непомітною для кінцевих " +"користувачів, за одним винятком: для цілей тестування та налагодження є " +"новий :attr:`sys.int_info`, який надає інформацію про внутрішній формат, " +"надаючи кількість бітів на цифру та розмір у байтах типу C, що " +"використовується для зберігання кожної цифри::" + +msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" +msgstr "(Надав Марк Дікінсон; :issue:`4258`.)" + +msgid "" +"The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " +"*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." +msgstr "" +"Функція :c:func:`PyLong_AsUnsignedLongLong()` тепер обробляє негативний " +"*pylong*, викликаючи :exc:`OverflowError` замість :exc:`TypeError`." + +msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" +msgstr "(Надано Марком Дікінсоном і Лісандро Далкріном; :issue:`5175`.)" + +msgid "" +"Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." +msgstr "" +"Застаріле :c:func:`PyNumber_Int`. Натомість використовуйте :c:func:" +"`PyNumber_Long`." + +msgid "(Contributed by Mark Dickinson; :issue:`4910`.)" +msgstr "(Надав Марк Дікінсон; :issue:`4910`.)" + +msgid "" +"Added a new :c:func:`PyOS_string_to_double` function to replace the " +"deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:" +"`PyOS_ascii_atof`." +msgstr "" +"Додано нову функцію :c:func:`PyOS_string_to_double` для заміни застарілих " +"функцій :c:func:`PyOS_ascii_strtod` і :c:func:`PyOS_ascii_atof`." + +msgid "(Contributed by Mark Dickinson; :issue:`5914`.)" +msgstr "(Надав Марк Дікінсон; :issue:`5914`.)" + +msgid "" +"Added :c:type:`PyCapsule` as a replacement for the :c:type:`PyCObject` API. " +"The principal difference is that the new type has a well defined interface " +"for passing typing safety information and a less complicated signature for " +"calling a destructor. The old type had a problematic API and is now " +"deprecated." +msgstr "" +"Додано :c:type:`PyCapsule` як заміну API :c:type:`PyCObject`. Принципова " +"відмінність полягає в тому, що новий тип має чітко визначений інтерфейс для " +"передачі інформації про безпеку введення та менш складний підпис для виклику " +"деструктора. Старий тип мав проблемний API, і тепер він застарів." + +msgid "(Contributed by Larry Hastings; :issue:`5630`.)" +msgstr "(Надав Ларрі Гастінгс; :issue:`5630`.)" + +msgid "Porting to Python 3.1" +msgstr "Перенесення на Python 3.1" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code:" +msgstr "" +"У цьому розділі перераховані раніше описані зміни та інші виправлення " +"помилок, які можуть потребувати змін у вашому коді:" + +msgid "" +"The new floating point string representations can break existing doctests. " +"For example::" +msgstr "" +"Нові представлення рядків із плаваючою комою можуть порушити існуючі тести " +"документів. Наприклад::" + +msgid "" +"The automatic name remapping in the pickle module for protocol 2 or lower " +"can make Python 3.1 pickles unreadable in Python 3.0. One solution is to " +"use protocol 3. Another solution is to set the *fix_imports* option to " +"``False``. See the discussion above for more details." +msgstr "" +"Автоматичне перевідображення імен у модулі pickle для протоколу 2 або нижчої " +"версії може зробити pickles Python 3.1 нечитабельними в Python 3.0. Одним із " +"рішень є використання протоколу 3. Іншим рішенням є встановлення опції " +"*fix_imports* на ``False``. Дивіться обговорення вище для отримання " +"додаткової інформації." diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po new file mode 100644 index 000000000..1da6d31de --- /dev/null +++ b/whatsnew/3.10.po @@ -0,0 +1,3587 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.10" +msgstr "Що нового в Python 3.10" + +msgid "Release" +msgstr "Реліз" + +msgid "|release|" +msgstr "|release|" + +msgid "Date" +msgstr "Дата" + +msgid "|today|" +msgstr "|today|" + +msgid "Editor" +msgstr "редактор" + +msgid "Pablo Galindo Salgado" +msgstr "Pablo Galindo Salgado" + +msgid "" +"This article explains the new features in Python 3.10, compared to 3.9. " +"Python 3.10 was released on October 4, 2021. For full details, see the :ref:" +"`changelog `." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.10 порівняно з 3.9. Python " +"3.10 було випущено 4 жовтня 2021 року. Щоб отримати повну інформацію, " +"перегляньте :ref:`журнал змін `." + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid ":pep:`634`, Structural Pattern Matching: Specification" +msgstr ":pep:`634`, Зіставлення структурних шаблонів: Специфікація" + +msgid ":pep:`635`, Structural Pattern Matching: Motivation and Rationale" +msgstr "" +":pep:`635`, Зіставлення структурних шаблонів: мотивація та обґрунтування" + +msgid ":pep:`636`, Structural Pattern Matching: Tutorial" +msgstr ":pep:`636`, Зіставлення структурних шаблонів: підручник" + +msgid "" +":issue:`12782`, Parenthesized context managers are now officially allowed." +msgstr ":issue:`12782`, Менеджери контексту в дужках тепер офіційно дозволені." + +msgid "New features in the standard library:" +msgstr "Нові можливості стандартної бібліотеки:" + +msgid ":pep:`618`, Add Optional Length-Checking To zip." +msgstr ":pep:`618`, Додайте опціональну перевірку довжини до zip." + +msgid "Interpreter improvements:" +msgstr "Покращення перекладача:" + +msgid ":pep:`626`, Precise line numbers for debugging and other tools." +msgstr "" +":pep:`626`, точні номери рядків для налагодження та інших інструментів." + +msgid "New typing features:" +msgstr "Нові функції набору тексту:" + +msgid ":pep:`604`, Allow writing union types as X | Y" +msgstr ":pep:`604`, Дозволити запис типів об’єднань як X | Ю" + +msgid ":pep:`613`, Explicit Type Aliases" +msgstr ":pep:`613`, Явні псевдоніми типу" + +msgid ":pep:`612`, Parameter Specification Variables" +msgstr ":pep:`612`, Змінні специфікації параметрів" + +msgid "Important deprecations, removals or restrictions:" +msgstr "Важливі застарілі, видалення або обмеження:" + +msgid ":pep:`644`, Require OpenSSL 1.1.1 or newer" +msgstr ":pep:`644`, Потрібен OpenSSL 1.1.1 або новіший" + +msgid ":pep:`632`, Deprecate distutils module." +msgstr ":pep:`632`, Вилучити модуль distutils." + +msgid "" +":pep:`623`, Deprecate and prepare for the removal of the wstr member in " +"PyUnicodeObject." +msgstr "" +":pep:`623`, Застаріло та підготуйтеся до видалення члена wstr у " +"PyUnicodeObject." + +msgid ":pep:`624`, Remove Py_UNICODE encoder APIs" +msgstr ":pep:`624`, Видалити API кодувальника Py_UNICODE" + +msgid ":pep:`597`, Add optional EncodingWarning" +msgstr ":pep:`597`, Додайте необов’язкове попередження про кодування" + +msgid "New Features" +msgstr "Нові можливості" + +msgid "Parenthesized context managers" +msgstr "Менеджери контексту в дужках" + +msgid "" +"Using enclosing parentheses for continuation across multiple lines in " +"context managers is now supported. This allows formatting a long collection " +"of context managers in multiple lines in a similar way as it was previously " +"possible with import statements. For instance, all these examples are now " +"valid:" +msgstr "" +"Тепер підтримується використання круглих дужок для продовження в кількох " +"рядках у контекстних менеджерах. Це дозволяє форматувати довгу колекцію " +"контекстних менеджерів у кількох рядках подібним чином, як це було раніше " +"можливо за допомогою операторів імпорту. Наприклад, тепер дійсні всі ці " +"приклади:" + +msgid "" +"it is also possible to use a trailing comma at the end of the enclosed group:" +msgstr "також можна використовувати кінцеву кому в кінці закритої групи:" + +msgid "" +"This new syntax uses the non LL(1) capacities of the new parser. Check :pep:" +"`617` for more details." +msgstr "" +"Цей новий синтаксис використовує можливості нового парсера, відмінні від " +"LL(1). Щоб дізнатися більше, перевірте :pep:`617`." + +msgid "" +"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :" +"issue:`12782` and :issue:`40334`.)" +msgstr "" +"(Надано Гвідо ван Россумом, Пабло Галіндо та Лісандросом Ніколау в :issue:" +"`12782` і :issue:`40334`.)" + +msgid "Better error messages" +msgstr "Кращі повідомлення про помилки" + +msgid "SyntaxErrors" +msgstr "SyntaxErrors" + +msgid "" +"When parsing code that contains unclosed parentheses or brackets the " +"interpreter now includes the location of the unclosed bracket of parentheses " +"instead of displaying *SyntaxError: unexpected EOF while parsing* or " +"pointing to some incorrect location. For instance, consider the following " +"code (notice the unclosed '{'):" +msgstr "" +"Під час синтаксичного аналізу коду, який містить незакриті дужки або дужки, " +"інтерпретатор тепер включає розташування незакритих дужок замість " +"відображення *SyntaxError: unexpected EOF while parsing* або вказівки на " +"деяке неправильне розташування. Наприклад, розглянемо такий код (зверніть " +"увагу на незакритий '{'):" + +msgid "" +"Previous versions of the interpreter reported confusing places as the " +"location of the syntax error:" +msgstr "" +"Попередні версії інтерпретатора повідомляли про незрозумілі місця як " +"розташування синтаксичної помилки:" + +msgid "but in Python 3.10 a more informative error is emitted:" +msgstr "але в Python 3.10 видається більш інформативна помилка:" + +msgid "" +"In a similar way, errors involving unclosed string literals (single and " +"triple quoted) now point to the start of the string instead of reporting EOF/" +"EOL." +msgstr "" +"Подібним чином помилки, пов’язані з незакритими рядковими літералами (в " +"одинарних і потрійних лапках), тепер вказують на початок рядка, а не " +"повідомляють EOF/EOL." + +msgid "" +"These improvements are inspired by previous work in the PyPy interpreter." +msgstr "" +"Ці вдосконалення натхненні попередньою роботою над інтерпретатором PyPy." + +msgid "" +"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :" +"issue:`40176`.)" +msgstr "" +"(Надано Пабло Галіндо в :issue:`42864` і Батухан Таская в :issue:`40176`.)" + +msgid "" +":exc:`SyntaxError` exceptions raised by the interpreter will now highlight " +"the full error range of the expression that constitutes the syntax error " +"itself, instead of just where the problem is detected. In this way, instead " +"of displaying (before Python 3.10):" +msgstr "" +"Винятки :exc:`SyntaxError`, викликані інтерпретатором, тепер " +"висвітлюватимуть повний діапазон помилок виразу, який становить саму " +"синтаксичну помилку, а не лише місце виявлення проблеми. Таким чином, " +"замість відображення (до Python 3.10):" + +msgid "now Python 3.10 will display the exception as:" +msgstr "тепер Python 3.10 відображатиме виняток як:" + +msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`." +msgstr "Це вдосконалення вніс Пабло Галіндо в :issue:`43914`." + +msgid "" +"A considerable amount of new specialized messages for :exc:`SyntaxError` " +"exceptions have been incorporated. Some of the most notable ones are as " +"follows:" +msgstr "" +"Було включено значну кількість нових спеціалізованих повідомлень для " +"винятків :exc:`SyntaxError`. Ось деякі з найпомітніших:" + +msgid "Missing ``:`` before blocks:" +msgstr "Відсутній ``:`` перед блоками:" + +msgid "(Contributed by Pablo Galindo in :issue:`42997`.)" +msgstr "" + +msgid "Unparenthesised tuples in comprehensions targets:" +msgstr "Кортежі без дужок у цілях розуміння:" + +msgid "(Contributed by Pablo Galindo in :issue:`43017`.)" +msgstr "" + +msgid "Missing commas in collection literals and between expressions:" +msgstr "Відсутні коми в літералах колекції та між виразами:" + +msgid "(Contributed by Pablo Galindo in :issue:`43822`.)" +msgstr "" + +msgid "Multiple Exception types without parentheses:" +msgstr "Кілька типів винятків без дужок:" + +msgid "(Contributed by Pablo Galindo in :issue:`43149`.)" +msgstr "" + +msgid "Missing ``:`` and values in dictionary literals:" +msgstr "Відсутні ``:`` і значення в літералах словника:" + +msgid "(Contributed by Pablo Galindo in :issue:`43823`.)" +msgstr "" + +msgid "``try`` blocks without ``except`` or ``finally`` blocks:" +msgstr "блоки ``try`` без блоків ``except`` або ``finally``:" + +msgid "(Contributed by Pablo Galindo in :issue:`44305`.)" +msgstr "" + +msgid "Usage of ``=`` instead of ``==`` in comparisons:" +msgstr "Використання ``=`` замість ``==`` у порівняннях:" + +msgid "(Contributed by Pablo Galindo in :issue:`43797`.)" +msgstr "" + +msgid "Usage of ``*`` in f-strings:" +msgstr "Використання ``*`` у f-рядках:" + +msgid "(Contributed by Pablo Galindo in :issue:`41064`.)" +msgstr "" + +msgid "IndentationErrors" +msgstr "IndentationErrors" + +msgid "" +"Many :exc:`IndentationError` exceptions now have more context regarding what " +"kind of block was expecting an indentation, including the location of the " +"statement:" +msgstr "" +"Багато винятків :exc:`IndentationError` тепер мають більше контексту щодо " +"того, який тип блоку очікував відступу, включаючи розташування оператора:" + +msgid "AttributeErrors" +msgstr "AttributeErrors" + +msgid "" +"When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer " +"suggestions of similar attribute names in the object that the exception was " +"raised from:" +msgstr "" +"Під час друку :exc:`AttributeError`, :c:func:`PyErr_Display` запропонує " +"подібні назви атрибутів в об’єкті, з якого було викликано виключення:" + +msgid "(Contributed by Pablo Galindo in :issue:`38530`.)" +msgstr "(Надав Пабло Галіндо в :issue:`38530`.)" + +msgid "" +"Notice this won't work if :c:func:`PyErr_Display` is not called to display " +"the error which can happen if some other custom error display function is " +"used. This is a common scenario in some REPLs like IPython." +msgstr "" +"Зауважте, що це не працюватиме, якщо :c:func:`PyErr_Display` не викликається " +"для відображення помилки, що може статися, якщо використовується якась інша " +"функція відображення помилок. Це поширений сценарій у деяких REPL, таких як " +"IPython." + +msgid "NameErrors" +msgstr "NameErrors" + +msgid "" +"When printing :exc:`NameError` raised by the interpreter, :c:func:" +"`PyErr_Display` will offer suggestions of similar variable names in the " +"function that the exception was raised from:" +msgstr "" +"Під час друку :exc:`NameError`, викликаного інтерпретатором, :c:func:" +"`PyErr_Display` запропонує пропозиції подібних імен змінних у функції, з " +"якої було викликано виняток:" + +msgid "" +"Notice this won't work if :c:func:`PyErr_Display` is not called to display " +"the error, which can happen if some other custom error display function is " +"used. This is a common scenario in some REPLs like IPython." +msgstr "" +"Зауважте, що це не спрацює, якщо :c:func:`PyErr_Display` не викликається для " +"відображення помилки, що може статися, якщо використовується інша функція " +"відображення помилок. Це поширений сценарій у деяких REPL, таких як IPython." + +msgid "PEP 626: Precise line numbers for debugging and other tools" +msgstr "PEP 626: точні номери рядків для налагодження та інших інструментів" + +msgid "" +"PEP 626 brings more precise and reliable line numbers for debugging, " +"profiling and coverage tools. Tracing events, with the correct line number, " +"are generated for all lines of code executed and only for lines of code that " +"are executed." +msgstr "" +"PEP 626 надає більш точні та надійні номери рядків для інструментів " +"налагодження, профілювання та покриття. Події трасування з правильним " +"номером рядка генеруються для всіх виконаних рядків коду та лише для рядків " +"коду, які виконуються." + +msgid "" +"The ``f_lineno`` attribute of frame objects will always contain the expected " +"line number." +msgstr "" +"Атрибут ``f_lineno`` об’єктів кадру завжди міститиме очікуваний номер рядка." + +msgid "" +"The ``co_lnotab`` attribute of code objects is deprecated and will be " +"removed in 3.12. Code that needs to convert from offset to line number " +"should use the new ``co_lines()`` method instead." +msgstr "" +"Атрибут ``co_lnotab`` об'єктів коду застарів і буде видалено в 3.12. Код, " +"який потребує перетворення зсуву на номер рядка, має замість цього " +"використовувати новий метод ``co_lines()``." + +msgid "PEP 634: Structural Pattern Matching" +msgstr "PEP 634: Зіставлення структурних шаблонів" + +msgid "" +"Structural pattern matching has been added in the form of a *match " +"statement* and *case statements* of patterns with associated actions. " +"Patterns consist of sequences, mappings, primitive data types as well as " +"class instances. Pattern matching enables programs to extract information " +"from complex data types, branch on the structure of data, and apply specific " +"actions based on different forms of data." +msgstr "" +"Зіставлення структурних шаблонів було додано у формі *операторів " +"відповідності* та *операторів case* шаблонів із пов’язаними діями. Патерни " +"складаються з послідовностей, відображень, примітивних типів даних, а також " +"екземплярів класу. Зіставлення шаблонів дозволяє програмам отримувати " +"інформацію зі складних типів даних, розгалужувати структуру даних і " +"застосовувати певні дії на основі різних форм даних." + +msgid "Syntax and operations" +msgstr "Синтаксис та операції" + +msgid "The generic syntax of pattern matching is::" +msgstr "Загальний синтаксис зіставлення шаблонів:" + +msgid "" +"A match statement takes an expression and compares its value to successive " +"patterns given as one or more case blocks. Specifically, pattern matching " +"operates by:" +msgstr "" +"Інструкція збігу приймає вираз і порівнює його значення з послідовними " +"шаблонами, поданими як один або більше блоків регістру. Зокрема, зіставлення " +"шаблонів працює за допомогою:" + +msgid "using data with type and shape (the ``subject``)" +msgstr "використання даних із типом і формою (``тема``)" + +msgid "evaluating the ``subject`` in the ``match`` statement" +msgstr "оцінка ``підмета`` в ``match`` заяві" + +msgid "" +"comparing the subject with each pattern in a ``case`` statement from top to " +"bottom until a match is confirmed." +msgstr "" +"порівняння суб’єкта з кожним шаблоном у операторі ``case`` зверху вниз, доки " +"відповідність не буде підтверджено." + +msgid "executing the action associated with the pattern of the confirmed match" +msgstr "виконання дії, пов’язаної з шаблоном підтвердженого збігу" + +msgid "" +"If an exact match is not confirmed, the last case, a wildcard ``_``, if " +"provided, will be used as the matching case. If an exact match is not " +"confirmed and a wildcard case does not exist, the entire match block is a no-" +"op." +msgstr "" +"Якщо точний збіг не підтверджено, останній регістр, символ підстановки " +"``_``, якщо він наданий, буде використано як відповідний регістр. Якщо " +"точний збіг не підтверджено, а регістр символів підстановки не існує, весь " +"блок збігів є безопераційним." + +msgid "Declarative approach" +msgstr "Декларативний підхід" + +msgid "" +"Readers may be aware of pattern matching through the simple example of " +"matching a subject (data object) to a literal (pattern) with the switch " +"statement found in C, Java or JavaScript (and many other languages). Often " +"the switch statement is used for comparison of an object/expression with " +"case statements containing literals." +msgstr "" +"Читачі можуть знати про зіставлення шаблонів на простому прикладі " +"зіставлення суб’єкта (об’єкта даних) з літералом (шаблоном) за допомогою " +"оператора switch, знайденого в C, Java чи JavaScript (і багатьох інших " +"мовах). Часто оператор switch використовується для порівняння об’єкта/виразу " +"з операторами case, що містять літерали." + +msgid "" +"More powerful examples of pattern matching can be found in languages such as " +"Scala and Elixir. With structural pattern matching, the approach is " +"\"declarative\" and explicitly states the conditions (the patterns) for data " +"to match." +msgstr "" +"Більш потужні приклади зіставлення шаблонів можна знайти в таких мовах, як " +"Scala та Elixir. При зіставленні структурних шаблонів підхід є " +"\"декларативним\" і явно визначає умови (шаблони) для збігу даних." + +msgid "" +"While an \"imperative\" series of instructions using nested \"if\" " +"statements could be used to accomplish something similar to structural " +"pattern matching, it is less clear than the \"declarative\" approach. " +"Instead the \"declarative\" approach states the conditions to meet for a " +"match and is more readable through its explicit patterns. While structural " +"pattern matching can be used in its simplest form comparing a variable to a " +"literal in a case statement, its true value for Python lies in its handling " +"of the subject's type and shape." +msgstr "" +"Хоча \"імперативна\" серія інструкцій із використанням вкладених операторів " +"\"if\" може бути використана для виконання чогось подібного до зіставлення " +"структурного шаблону, вона менш зрозуміла, ніж \"декларативний\" підхід. " +"Натомість \"декларативний\" підхід визначає умови, які необхідно виконати " +"для збігу, і його легше читати через його явні шаблони. У той час як " +"зіставлення структурних шаблонів можна використовувати в його найпростішій " +"формі, порівнюючи змінну з літералом у операторі case, його справжня " +"цінність для Python полягає в його обробці типу та форми суб’єкта." + +msgid "Simple pattern: match to a literal" +msgstr "Простий шаблон: відповідність літералу" + +msgid "" +"Let's look at this example as pattern matching in its simplest form: a " +"value, the subject, being matched to several literals, the patterns. In the " +"example below, ``status`` is the subject of the match statement. The " +"patterns are each of the case statements, where literals represent request " +"status codes. The associated action to the case is executed after a match::" +msgstr "" +"Давайте розглянемо цей приклад як зіставлення шаблону в його найпростішій " +"формі: значення, суб’єкт, який зіставляється з кількома літералами, " +"шаблонами. У наведеному нижче прикладі ``status`` є предметом оператора " +"відповідності. Шаблони є кожним із операторів case, де літерали " +"представляють коди статусу запиту. Пов’язана дія з інцидентом виконується " +"після збігу::" + +msgid "" +"If the above function is passed a ``status`` of 418, \"I'm a teapot\" is " +"returned. If the above function is passed a ``status`` of 500, the case " +"statement with ``_`` will match as a wildcard, and \"Something's wrong with " +"the internet\" is returned. Note the last block: the variable name, ``_``, " +"acts as a *wildcard* and insures the subject will always match. The use of " +"``_`` is optional." +msgstr "" +"Якщо наведеній вище функції передається ``статус`` 418, повертається \"Я " +"чайник\". Якщо наведеній вище функції передано ``статус`` 500, оператор case " +"з ``_`` відповідатиме як символ підстановки, і буде повернено \"Щось не так " +"з Інтернетом\". Зверніть увагу на останній блок: назва змінної, ``_``, діє " +"як *знак підстановки* і гарантує, що тема завжди збігатиметься. Використання " +"``_`` необов'язкове." + +msgid "" +"You can combine several literals in a single pattern using ``|`` (\"or\")::" +msgstr "" +"Ви можете поєднати кілька літералів в одному шаблоні за допомогою ``|`` " +"(\"або\")::" + +msgid "Behavior without the wildcard" +msgstr "Поведінка без символу підстановки" + +msgid "" +"If we modify the above example by removing the last case block, the example " +"becomes::" +msgstr "" +"Якщо ми змінимо наведений вище приклад, видаливши останній блок case, " +"приклад стане::" + +msgid "" +"Without the use of ``_`` in a case statement, a match may not exist. If no " +"match exists, the behavior is a no-op. For example, if ``status`` of 500 is " +"passed, a no-op occurs." +msgstr "" +"Без використання ``_`` в операторі case збіг може не існувати. Якщо " +"відповідності немає, поведінка є безопераційною. Наприклад, якщо передано " +"``статус`` 500, виникає помилка." + +msgid "Patterns with a literal and variable" +msgstr "Патерни з літералом і змінною" + +msgid "" +"Patterns can look like unpacking assignments, and a pattern may be used to " +"bind variables. In this example, a data point can be unpacked to its x-" +"coordinate and y-coordinate::" +msgstr "" +"Патерни можуть виглядати як завдання розпакування, і шаблон може " +"використовуватися для зв’язування змінних. У цьому прикладі точку даних " +"можна розпакувати до її координати x і y:" + +msgid "" +"The first pattern has two literals, ``(0, 0)``, and may be thought of as an " +"extension of the literal pattern shown above. The next two patterns combine " +"a literal and a variable, and the variable *binds* a value from the subject " +"(``point``). The fourth pattern captures two values, which makes it " +"conceptually similar to the unpacking assignment ``(x, y) = point``." +msgstr "" +"Перший шаблон містить два літерали, ``(0, 0)``, і його можна вважати " +"розширенням літерального шаблону, показаного вище. Наступні два шаблони " +"поєднують літерал і змінну, а змінна *зв’язує* значення з теми (``точка``). " +"Четвертий шаблон фіксує два значення, що робить його концептуально подібним " +"до призначення розпакування ``(x, y) = point``." + +msgid "Patterns and classes" +msgstr "Шаблони та класи" + +msgid "" +"If you are using classes to structure your data, you can use as a pattern " +"the class name followed by an argument list resembling a constructor. This " +"pattern has the ability to capture class attributes into variables::" +msgstr "" +"Якщо ви використовуєте класи для структурування своїх даних, ви можете " +"використовувати як шаблон назву класу, за якою слідує список аргументів, " +"схожий на конструктор. Цей шаблон має можливість захоплювати атрибути класу " +"в змінні::" + +msgid "Patterns with positional parameters" +msgstr "Патерни з позиційними параметрами" + +msgid "" +"You can use positional parameters with some builtin classes that provide an " +"ordering for their attributes (e.g. dataclasses). You can also define a " +"specific position for attributes in patterns by setting the " +"``__match_args__`` special attribute in your classes. If it's set to (\"x\", " +"\"y\"), the following patterns are all equivalent (and all bind the ``y`` " +"attribute to the ``var`` variable)::" +msgstr "" +"Ви можете використовувати позиційні параметри з деякими вбудованими класами, " +"які забезпечують порядок для своїх атрибутів (наприклад, класи даних). Ви " +"також можете визначити конкретну позицію для атрибутів у шаблонах, " +"встановивши спеціальний атрибут ``__match_args__`` у своїх класах. Якщо для " +"нього встановлено значення (\"x\", \"y\"), усі наступні шаблони еквівалентні " +"(і всі прив'язують атрибут ``y`` до змінної ``var``):" + +msgid "Nested patterns" +msgstr "Вкладені візерунки" + +msgid "" +"Patterns can be arbitrarily nested. For example, if our data is a short " +"list of points, it could be matched like this::" +msgstr "" +"Візерунки можуть бути довільно вкладеними. Наприклад, якщо наші дані є " +"коротким списком точок, їх можна зіставити так:" + +msgid "Complex patterns and the wildcard" +msgstr "Складні візерунки та символ підстановки" + +msgid "" +"To this point, the examples have used ``_`` alone in the last case " +"statement. A wildcard can be used in more complex patterns, such as " +"``('error', code, _)``. For example::" +msgstr "" +"До цього моменту приклади використовували лише ``_`` в останньому операторі " +"case. Символ узагальнення можна використовувати в більш складних шаблонах, " +"наприклад ``('помилка', код, _)``. Наприклад::" + +msgid "" +"In the above case, ``test_variable`` will match for ('error', code, 100) and " +"('error', code, 800)." +msgstr "" +"У наведеному вище випадку ``test_variable`` відповідатиме ('error', code, " +"100) і ('error', code, 800)." + +msgid "Guard" +msgstr "Охоронець" + +msgid "" +"We can add an ``if`` clause to a pattern, known as a \"guard\". If the " +"guard is false, ``match`` goes on to try the next case block. Note that " +"value capture happens before the guard is evaluated::" +msgstr "" +"Ми можемо додати умову ``if`` до шаблону, відомого як \"guard\". Якщо guard " +"false, ``match`` переходить до наступного блоку case. Зауважте, що " +"захоплення значення відбувається до оцінки захисника:" + +msgid "Other Key Features" +msgstr "Інші ключові функції" + +msgid "Several other key features:" +msgstr "Кілька інших ключових функцій:" + +msgid "" +"Like unpacking assignments, tuple and list patterns have exactly the same " +"meaning and actually match arbitrary sequences. Technically, the subject " +"must be a sequence. Therefore, an important exception is that patterns don't " +"match iterators. Also, to prevent a common mistake, sequence patterns don't " +"match strings." +msgstr "" +"Подібно до завдань розпакування, шаблони кортежу та списку мають однакове " +"значення та фактично відповідають довільним послідовностям. Технічно предмет " +"має бути послідовністю. Таким чином, важливим винятком є те, що шаблони не " +"відповідають ітераторам. Також, щоб запобігти типовій помилці, шаблони " +"послідовності не збігаються з рядками." + +msgid "" +"Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` " +"work similar to wildcards in unpacking assignments. The name after ``*`` " +"may also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two " +"items without binding the remaining items." +msgstr "" +"Шаблони послідовності підтримують символи підстановки: ``[x, y, *rest]`` і " +"``(x, y, *rest)`` працюють подібно до символів підстановки під час " +"розпакування призначень. Ім’я після ``*`` також може бути ``_``, тому ``(x, " +"y, *_)`` відповідає послідовності принаймні двох елементів без зв’язування " +"решти елементів." + +msgid "" +"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``" +"\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence " +"patterns, extra keys are ignored. A wildcard ``**rest`` is also supported. " +"(But ``**_`` would be redundant, so is not allowed.)" +msgstr "" +"Шаблони зіставлення: ``{\"bandwidth\": b, \"latency\": l}`` фіксує значення " +"``\"bandwidth\"`` і ``\"latency\"`` з dict. На відміну від шаблонів " +"послідовності, додаткові ключі ігноруються. Також підтримується символ " +"підстановки ``**rest``. (Але ``**_`` буде зайвим, тому не дозволено.)" + +msgid "Subpatterns may be captured using the ``as`` keyword::" +msgstr "Підшаблони можуть бути захоплені за допомогою ключового слова ``as``::" + +msgid "" +"This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, " +"and p2 to the entire second item of the subject." +msgstr "" +"Це прив’язує x1, y1, x2, y2, як ви очікуєте без пропозиції ``as``, і p2 до " +"всього другого елемента теми." + +msgid "" +"Most literals are compared by equality. However, the singletons ``True``, " +"``False`` and ``None`` are compared by identity." +msgstr "" +"Більшість літералів порівнюються за рівністю. Однак синглетони ``True``, " +"``False`` і ``None`` порівнюються за тотожністю." + +msgid "" +"Named constants may be used in patterns. These named constants must be " +"dotted names to prevent the constant from being interpreted as a capture " +"variable::" +msgstr "" +"У шаблонах можна використовувати іменовані константи. Ці іменовані константи " +"повинні бути розділені крапками, щоб запобігти інтерпретації константи як " +"змінної захоплення:" + +msgid "" +"For the full specification see :pep:`634`. Motivation and rationale are in :" +"pep:`635`, and a longer tutorial is in :pep:`636`." +msgstr "" +"Повну специфікацію див. :pep:`634`. Мотивація та обґрунтування знаходяться " +"в :pep:`635`, а довший підручник у :pep:`636`." + +msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option" +msgstr "Додатковий параметр ``EncodingWarning`` і ``encoding=\"locale\"``" + +msgid "" +"The default encoding of :class:`TextIOWrapper` and :func:`open` is platform " +"and locale dependent. Since UTF-8 is used on most Unix platforms, omitting " +"``encoding`` option when opening UTF-8 files (e.g. JSON, YAML, TOML, " +"Markdown) is a very common bug. For example::" +msgstr "" +"Стандартне кодування :class:`TextIOWrapper` і :func:`open` залежить від " +"платформи та локалі. Оскільки UTF-8 використовується на більшості платформ " +"Unix, пропуск параметра ``encoding`` під час відкриття файлів UTF-8 " +"(наприклад, JSON, YAML, TOML, Markdown) є дуже поширеною помилкою. " +"Наприклад::" + +msgid "" +"To find this type of bug, an optional ``EncodingWarning`` is added. It is " +"emitted when :data:`sys.flags.warn_default_encoding ` is true and " +"locale-specific default encoding is used." +msgstr "" +"Щоб знайти цей тип помилки, додається необов’язкове ``EncodingWarning``. Він " +"видається, коли :data:`sys.flags.warn_default_encoding ` має " +"значення true і використовується кодування за замовчуванням, що залежить від " +"локалі." + +msgid "" +"``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` " +"are added to enable the warning." +msgstr "" +"Опція ``-X warn_default_encoding`` і :envvar:`PYTHONWARNDEFAULTENCODING` " +"додано, щоб увімкнути попередження." + +msgid "See :ref:`io-text-encoding` for more information." +msgstr "" +"Перегляньте :ref:`io-text-encoding` для отримання додаткової інформації." + +msgid "New Features Related to Type Hints" +msgstr "Нові функції, пов’язані з підказками типу" + +msgid "" +"This section covers major changes affecting :pep:`484` type hints and the :" +"mod:`typing` module." +msgstr "" +"У цьому розділі розглядаються основні зміни, що стосуються підказок типу :" +"pep:`484` і модуля :mod:`typing`." + +msgid "PEP 604: New Type Union Operator" +msgstr "PEP 604: Оператор союзу нового типу" + +msgid "" +"A new type union operator was introduced which enables the syntax ``X | Y``. " +"This provides a cleaner way of expressing 'either type X or type Y' instead " +"of using :data:`typing.Union`, especially in type hints." +msgstr "" +"Було представлено новий оператор об’єднання типу, який увімкнув синтаксис " +"``X | Y``. Це забезпечує чіткіший спосіб вираження \"або типу X, або типу Y" +"\" замість використання :data:`typing.Union`, особливо у підказках типу." + +msgid "" +"In previous versions of Python, to apply a type hint for functions accepting " +"arguments of multiple types, :data:`typing.Union` was used::" +msgstr "" +"У попередніх версіях Python для застосування підказки типу для функцій, які " +"приймають аргументи кількох типів, використовувався :data:`typing.Union`::" + +msgid "Type hints can now be written in a more succinct manner::" +msgstr "Підказки щодо типів тепер можна писати стисло:" + +msgid "" +"This new syntax is also accepted as the second argument to :func:" +"`isinstance` and :func:`issubclass`::" +msgstr "" +"Цей новий синтаксис також приймається як другий аргумент для :func:" +"`isinstance` і :func:`issubclass`::" + +msgid "See :ref:`types-union` and :pep:`604` for more details." +msgstr "" +"Дивіться :ref:`types-union` і :pep:`604` для отримання додаткової інформації." + +msgid "" +"(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with " +"additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)" +msgstr "" +"(Надано Меггі Мосс і Філіпом Прадосом у :issue:`41428`, з доповненнями Юрія " +"Карабаса та Сергія Сторчака в :issue:`44490`.)" + +msgid "PEP 612: Parameter Specification Variables" +msgstr "PEP 612: Змінні специфікації параметрів" + +msgid "" +"Two new options to improve the information provided to static type checkers " +"for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` module." +msgstr "" +"До модуля :mod:`typing` було додано дві нові опції для покращення " +"інформації, що надається до засобів перевірки статичних типів для :pep:`484`" +"\\ ``Callable``." + +msgid "" +"The first is the parameter specification variable. They are used to forward " +"the parameter types of one callable to another callable -- a pattern " +"commonly found in higher order functions and decorators. Examples of usage " +"can be found in :class:`typing.ParamSpec`. Previously, there was no easy way " +"to type annotate dependency of parameter types in such a precise manner." +msgstr "" +"Перша - це змінна специфікації параметра. Вони використовуються для " +"пересилання типів параметрів одного викликаного до іншого викликаного — " +"шаблон, який зазвичай зустрічається у функціях вищого порядку та " +"декораторах. Приклади використання можна знайти в :class:`typing.ParamSpec`. " +"Раніше не було простого способу ввести анотацію залежності типів параметрів " +"таким точним способом." + +msgid "" +"The second option is the new ``Concatenate`` operator. It's used in " +"conjunction with parameter specification variables to type annotate a higher " +"order callable which adds or removes parameters of another callable. " +"Examples of usage can be found in :class:`typing.Concatenate`." +msgstr "" +"Другий варіант — новий оператор ``Concatenate``. Він використовується в " +"поєднанні зі змінними специфікації параметрів для введення анотації до " +"викликаного вищого порядку, який додає або видаляє параметри іншого " +"викликаного. Приклади використання можна знайти в :class:`typing." +"Concatenate`." + +msgid "" +"See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing." +"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing." +"ParamSpecKwargs`, and :pep:`612` for more details." +msgstr "" +"Див. :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing." +"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs` " +"і :pep:`612`, щоб дізнатися більше." + +msgid "" +"(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle " +"Zijlstra in :issue:`43783`. PEP written by Mark Mendoza.)" +msgstr "" +"(Надано Кеном Джином у :issue:`41559`, з незначними вдосконаленнями Джелле " +"Зійлстра в :issue:`43783`. PEP написав Марк Мендоза.)" + +msgid "PEP 613: TypeAlias" +msgstr "PEP 613: Псевдонім типу" + +msgid "" +":pep:`484` introduced the concept of type aliases, only requiring them to be " +"top-level unannotated assignments. This simplicity sometimes made it " +"difficult for type checkers to distinguish between type aliases and ordinary " +"assignments, especially when forward references or invalid types were " +"involved. Compare::" +msgstr "" +":pep:`484` представив концепцію псевдонімів типів, лише вимагаючи, щоб вони " +"були неанотованими призначеннями верхнього рівня. Ця простота іноді " +"ускладнювала перевірку типів розрізняти псевдоніми типів і звичайні " +"призначення, особливо коли були задіяні прямі посилання або недійсні типи. " +"Порівняти::" + +msgid "" +"Now the :mod:`typing` module has a special value :data:`TypeAlias` which " +"lets you declare type aliases more explicitly::" +msgstr "" +"Тепер модуль :mod:`typing` має спеціальне значення :data:`TypeAlias`, яке " +"дозволяє декларувати псевдоніми типів більш явно:" + +msgid "See :pep:`613` for more details." +msgstr "Дивіться :pep:`613` для більш детальної інформації." + +msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)" +msgstr "(Надав Михайло Голубєв у :issue:`41923`.)" + +msgid "PEP 647: User-Defined Type Guards" +msgstr "PEP 647: Охоронці типу, визначені користувачем" + +msgid "" +":data:`TypeGuard` has been added to the :mod:`typing` module to annotate " +"type guard functions and improve information provided to static type " +"checkers during type narrowing. For more information, please see :data:" +"`TypeGuard`\\ 's documentation, and :pep:`647`." +msgstr "" +":data:`TypeGuard` додано до модуля :mod:`typing`, щоб анотувати функції " +"захисту типів і покращити інформацію, що надається до засобів перевірки " +"статичних типів під час звуження типу. Щоб дізнатися більше, перегляньте " +"документацію :data:`TypeGuard`\\ і :pep:`647`." + +msgid "" +"(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written " +"by Eric Traut.)" +msgstr "" +"(Надано Кеном Джином і Гвідо ван Россумом у :issue:`43766`. PEP написав Ерік " +"Траут.)" + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"The :class:`int` type has a new method :meth:`int.bit_count`, returning the " +"number of ones in the binary expansion of a given integer, also known as the " +"population count. (Contributed by Niklas Fiekas in :issue:`29882`.)" +msgstr "" +"Тип :class:`int` має новий метод :meth:`int.bit_count`, який повертає " +"кількість одиниць у двійковому розширенні даного цілого числа, також відоме " +"як кількість населення. (Надав Ніклас Фієкас у :issue:`29882`.)" + +msgid "" +"The views returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:`dict." +"items` now all have a ``mapping`` attribute that gives a :class:`types." +"MappingProxyType` object wrapping the original dictionary. (Contributed by " +"Dennis Sweeney in :issue:`40890`.)" +msgstr "" +"Представлення, що повертаються :meth:`dict.keys`, :meth:`dict.values` і :" +"meth:`dict.items`, тепер усі мають атрибут ``mapping``, який дає :class:" +"`types.MappingProxyType` об’єкт, що обгортає оригінальний словник. (Надав " +"Денніс Суїні в :issue:`40890`.)" + +msgid "" +":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, " +"used to require that all the iterables have an equal length." +msgstr "" +":pep:`618`: функція :func:`zip` тепер має додатковий прапорець ``strict``, " +"який використовується для вимоги, щоб усі ітеровані елементи мали однакову " +"довжину." + +msgid "" +"Builtin and extension functions that take integer arguments no longer " +"accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and " +"other objects that can be converted to integers only with a loss (e.g. that " +"have the :meth:`~object.__int__` method but do not have the :meth:`~object." +"__index__` method). (Contributed by Serhiy Storchaka in :issue:`37999`.)" +msgstr "" +"Вбудовані функції та функції розширення, які приймають цілі аргументи, " +"більше не приймають :class:`~decimal.Decimal`\\ s, :class:`~fractions." +"Fraction`\\ s та інші об’єкти, які можна перетворити на цілі числа лише з " +"втратою (наприклад, що мають метод :meth:`~object.__int__`, але не мають " +"методу :meth:`~object.__index__`). (Надав Сергій Сторчака в :issue:`37999`.)" + +msgid "" +"If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator " +"will correctly fall back to :func:`object.__pow__` and :func:`object." +"__rpow__` as expected. (Contributed by Alex Shkop in :issue:`38302`.)" +msgstr "" +"Якщо :func:`object.__ipow__` повертає :const:`NotImplemented`, оператор " +"правильно повернеться до :func:`object.__pow__` і :func:`object.__rpow__`, " +"як очікувалося. (Надав Алекс Шкоп у :issue:`38302`.)" + +msgid "" +"Assignment expressions can now be used unparenthesized within set literals " +"and set comprehensions, as well as in sequence indexes (but not slices)." +msgstr "" +"Вирази присвоєння тепер можна використовувати без дужок у літералах набору " +"та розуміння набору, а також в індексах послідовності (але не в зрізах)." + +msgid "" +"Functions have a new ``__builtins__`` attribute which is used to look for " +"builtin symbols when a function is executed, instead of looking into " +"``__globals__['__builtins__']``. The attribute is initialized from " +"``__globals__[\"__builtins__\"]`` if it exists, else from the current " +"builtins. (Contributed by Mark Shannon in :issue:`42990`.)" +msgstr "" +"Функції мають новий атрибут ``__builtins__``, який використовується для " +"пошуку вбудованих символів під час виконання функції замість перегляду " +"``__globals__['__builtins__']``. Атрибут ініціалізується з " +"``__globals__[\"__builtins__\"]``, якщо він існує, інакше з поточних " +"вбудованих елементів. (Надав Марк Шеннон у :issue:`42990`.)" + +msgid "" +"Two new builtin functions -- :func:`aiter` and :func:`anext` have been added " +"to provide asynchronous counterparts to :func:`iter` and :func:`next`, " +"respectively. (Contributed by Joshua Bronson, Daniel Pope, and Justin Wang " +"in :issue:`31861`.)" +msgstr "" +"Дві нові вбудовані функції -- :func:`aiter` і :func:`anext` були додані, щоб " +"забезпечити асинхронні відповідники :func:`iter` і :func:`next` відповідно. " +"(Надано Джошуа Бронсоном, Деніелом Поупом і Джастіном Вангом у :issue:" +"`31861`.)" + +msgid "" +"Static methods (:func:`@staticmethod `) and class methods (:" +"func:`@classmethod `) now inherit the method attributes " +"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, " +"``__annotations__``) and have a new ``__wrapped__`` attribute. Moreover, " +"static methods are now callable as regular functions. (Contributed by Victor " +"Stinner in :issue:`43682`.)" +msgstr "" +"Статичні методи (:func:`@staticmethod `) і методи класу (:func:" +"`@classmethod `) тепер успадковують атрибути методу " +"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, " +"``__annotations__``) і мають новий атрибут ``__wrapped__``. Крім того, " +"статичні методи тепер можна викликати як звичайні функції. (Надав Віктор " +"Стіннер у :issue:`43682`.)" + +msgid "" +"Annotations for complex targets (everything beside ``simple name`` targets " +"defined by :pep:`526`) no longer cause any runtime effects with ``from " +"__future__ import annotations``. (Contributed by Batuhan Taskaya in :issue:" +"`42737`.)" +msgstr "" +"Анотації для складних цілей (усі, окрім цілей ``простих імен``, визначених :" +"pep:`526`) більше не викликають жодних ефектів під час виконання з ``from " +"__future__ import anotations``. (Надано Batuhan Taskaya в :issue:`42737`.)" + +msgid "" +"Class and module objects now lazy-create empty annotations dicts on demand. " +"The annotations dicts are stored in the object’s ``__dict__`` for backwards " +"compatibility. This improves the best practices for working with " +"``__annotations__``; for more information, please see :ref:`annotations-" +"howto`. (Contributed by Larry Hastings in :issue:`43901`.)" +msgstr "" +"Об’єкти класів і модулів тепер відкладено створюють порожні анотації dicts " +"на вимогу. Анотації dicts зберігаються в об’єкті ``__dict__`` для зворотної " +"сумісності. Це покращує найкращі методи роботи з ``__annotations__``; для " +"отримання додаткової інформації див. :ref:`annotations-howto`. (Надано Ларрі " +"Гастінгсом у :issue:`43901`.)" + +msgid "" +"Annotations consist of ``yield``, ``yield from``, ``await`` or named " +"expressions are now forbidden under ``from __future__ import annotations`` " +"due to their side effects. (Contributed by Batuhan Taskaya in :issue:" +"`42725`.)" +msgstr "" +"Анотації, що складаються з ``yield``, ``yield from``, ``await`` або " +"іменовані вирази тепер заборонені в ``from __future__ import анотаціях`` " +"через їхні побічні ефекти. (Надано Batuhan Taskaya в :issue:`42725`.)" + +msgid "" +"Usage of unbound variables, ``super()`` and other expressions that might " +"alter the processing of symbol table as annotations are now rendered " +"effectless under ``from __future__ import annotations``. (Contributed by " +"Batuhan Taskaya in :issue:`42725`.)" +msgstr "" +"Використання незв’язаних змінних, ``super()`` та інших виразів, які можуть " +"змінити обробку таблиці символів як анотацій, тепер стає неефективним у " +"``from __future__ import anotations``. (Надано Batuhan Taskaya в :issue:" +"`42725`.)" + +msgid "" +"Hashes of NaN values of both :class:`float` type and :class:`decimal." +"Decimal` type now depend on object identity. Formerly, they always hashed to " +"``0`` even though NaN values are not equal to one another. This caused " +"potentially quadratic runtime behavior due to excessive hash collisions when " +"creating dictionaries and sets containing multiple NaNs. (Contributed by " +"Raymond Hettinger in :issue:`43475`.)" +msgstr "" +"Хеші значень NaN як типу :class:`float`, так і типу :class:`decimal.Decimal` " +"тепер залежать від ідентичності об’єкта. Раніше вони завжди хешувалися до " +"``0``, навіть якщо значення NaN не дорівнюють одне одному. Це спричинило " +"потенційно квадратичну поведінку під час виконання через надмірні хеш-" +"колізії під час створення словників і наборів, що містять кілька NaN. (Надав " +"Реймонд Геттінгер у :issue:`43475`.)" + +msgid "" +"A :exc:`SyntaxError` (instead of a :exc:`NameError`) will be raised when " +"deleting the :const:`__debug__` constant. (Contributed by Dong-hee Na in :" +"issue:`45000`.)" +msgstr "" +"Під час видалення константи :const:`__debug__` виникне :exc:`SyntaxError` " +"(замість :exc:`NameError`). (Надав Dong-hee Na у :issue:`45000`.)" + +msgid "" +":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` " +"attributes. They will be ``None`` if not determined. (Contributed by Pablo " +"Galindo in :issue:`43914`.)" +msgstr "" +"Винятки :exc:`SyntaxError` тепер мають атрибути ``end_lineno`` і " +"``end_offset``. Вони будуть ``None``, якщо не визначено. (Надав Пабло " +"Галіндо в :issue:`43914`.)" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "None yet." +msgstr "Поки немає." + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"Add missing :meth:`~asyncio.events.AbstractEventLoop." +"connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:" +"`41332`.)" +msgstr "" +"Додайте відсутній метод :meth:`~asyncio.events.AbstractEventLoop." +"connect_accepted_socket`. (Надав Алекс Грьонхольм у :issue:`41332`.)" + +msgid "argparse" +msgstr "argparse" + +msgid "" +"Misleading phrase \"optional arguments\" was replaced with \"options\" in " +"argparse help. Some tests might require adaptation if they rely on exact " +"output match. (Contributed by Raymond Hettinger in :issue:`9694`.)" +msgstr "" +"Оманливу фразу \"необов’язкові аргументи\" було замінено на \"параметри\" в " +"довідці argparse. Деякі тести можуть вимагати адаптації, якщо вони " +"покладаються на точну вихідну відповідність. (Надав Реймонд Геттінгер у :" +"issue:`9694`.)" + +msgid "array" +msgstr "масив" + +msgid "" +"The :meth:`~array.array.index` method of :class:`array.array` now has " +"optional *start* and *stop* parameters. (Contributed by Anders Lorentsen and " +"Zackery Spytz in :issue:`31956`.)" +msgstr "" +"Метод :meth:`~array.array.index` :class:`array.array` тепер має додаткові " +"параметри *start* і *stop*. (Надано Андерсом Лоренценом і Закері Шпітцем у :" +"issue:`31956`.)" + +msgid "asynchat, asyncore, smtpd" +msgstr "asynchat, asyncore, smtpd" + +msgid "" +"These modules have been marked as deprecated in their module documentation " +"since Python 3.6. An import-time :class:`DeprecationWarning` has now been " +"added to all three of these modules." +msgstr "" +"Починаючи з Python 3.6, ці модулі позначені як застарілі в документації " +"модулів. До всіх цих трьох модулів тепер додано :class:`DeprecationWarning` " +"під час імпорту." + +msgid "base64" +msgstr "база64" + +msgid "" +"Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support " +"the Base32 Encoding with Extended Hex Alphabet." +msgstr "" +"Додайте :func:`base64.b32hexencode` і :func:`base64.b32hexdecode` для " +"підтримки кодування Base32 із розширеним шістнадцятковим алфавітом." + +msgid "bdb" +msgstr "bdb" + +msgid "" +"Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " +"(Contributed by Irit Katriel in :issue:`24160`.)" +msgstr "" +"Додайте :meth:`~bdb.Breakpoint.clearBreakpoints`, щоб скинути всі " +"встановлені точки зупину. (Надано Іріт Катріель у :issue:`24160`.)" + +msgid "bisect" +msgstr "ділимо навпіл" + +msgid "" +"Added the possibility of providing a *key* function to the APIs in the :mod:" +"`bisect` module. (Contributed by Raymond Hettinger in :issue:`4356`.)" +msgstr "" +"Додано можливість надання функції *key* для API в модулі :mod:`bisect`. " +"(Надав Реймонд Геттінгер у :issue:`4356`.)" + +msgid "codecs" +msgstr "кодеки" + +msgid "" +"Add a :func:`codecs.unregister` function to unregister a codec search " +"function. (Contributed by Hai Shi in :issue:`41842`.)" +msgstr "" +"Додайте функцію :func:`codecs.unregister`, щоб скасувати реєстрацію функції " +"пошуку кодеків. (Надав Хай Ши в :issue:`41842`.)" + +msgid "collections.abc" +msgstr "колекції.abc" + +msgid "" +"The ``__args__`` of the :ref:`parameterized generic ` " +"for :class:`collections.abc.Callable` are now consistent with :data:`typing." +"Callable`. :class:`collections.abc.Callable` generic now flattens type " +"parameters, similar to what :data:`typing.Callable` currently does. This " +"means that ``collections.abc.Callable[[int, str], str]`` will have " +"``__args__`` of ``(int, str, str)``; previously this was ``([int, str], " +"str)``. To allow this change, :class:`types.GenericAlias` can now be " +"subclassed, and a subclass will be returned when subscripting the :class:" +"`collections.abc.Callable` type. Note that a :exc:`TypeError` may be raised " +"for invalid forms of parameterizing :class:`collections.abc.Callable` which " +"may have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:" +"`42195`.)" +msgstr "" +"``__args__`` :ref:`параметризованого загального ` для :" +"class:`collections.abc.Callable` тепер узгоджується з :data:`typing." +"Callable`. :class:`collections.abc.Callable` generic тепер зводить параметри " +"типу, подібно до того, що зараз робить :data:`typing.Callable`. Це означає, " +"що ``collections.abc.Callable[[int, str], str]`` матиме ``__args__`` ``(int, " +"str, str)``; раніше це було ``([int, str], str)``. Щоб дозволити цю зміну, :" +"class:`types.GenericAlias` тепер можна створювати підкласи, і підклас " +"повертатиметься під час підписки типу :class:`collections.abc.Callable`. " +"Зауважте, що помилка :exc:`TypeError` може виникнути через неприпустимі " +"форми параметризації :class:`collections.abc.Callable`, які могли пройти " +"мовчки в Python 3.9. (Надав Кен Джин у :issue:`42195`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"Add a :func:`contextlib.aclosing` context manager to safely close async " +"generators and objects representing asynchronously released resources. " +"(Contributed by Joongi Kim and John Belmonte in :issue:`41229`.)" +msgstr "" +"Додайте менеджер контексту :func:`contextlib.aclosing`, щоб безпечно " +"закривати асинхронні генератори та об’єкти, що представляють асинхронно " +"звільнені ресурси. (Надано Джунгі Кімом і Джоном Бельмонте в :issue:`41229`.)" + +msgid "" +"Add asynchronous context manager support to :func:`contextlib.nullcontext`. " +"(Contributed by Tom Gringauz in :issue:`41543`.)" +msgstr "" +"Додайте підтримку диспетчера асинхронного контексту до :func:`contextlib." +"nullcontext`. (Надав Том Грінгауз у :issue:`41543`.)" + +msgid "" +"Add :class:`AsyncContextDecorator`, for supporting usage of async context " +"managers as decorators." +msgstr "" +"Додайте :class:`AsyncContextDecorator` для підтримки використання менеджерів " +"асинхронного контексту як декораторів." + +msgid "curses" +msgstr "прокльони" + +msgid "" +"The extended color functions added in ncurses 6.1 will be used transparently " +"by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses." +"init_pair`, and :func:`curses.pair_content`. A new function, :func:`curses." +"has_extended_color_support`, indicates whether extended color support is " +"provided by the underlying ncurses library. (Contributed by Jeffrey " +"Kintscher and Hans Petter Jansson in :issue:`36982`.)" +msgstr "" +"Розширені функції кольору, додані в ncurses 6.1, прозоро " +"використовуватимуться :func:`curses.color_content`, :func:`curses." +"init_color`, :func:`curses.init_pair` і :func:`curses.pair_content`. Нова " +"функція, :func:`curses.has_extended_color_support`, вказує, чи надається " +"розширена підтримка кольорів базовою бібліотекою ncurses. (Надано Джеффрі " +"Кінтчером і Гансом Петтером Янссоном у :issue:`36982`.)" + +msgid "" +"The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if " +"they are provided by the underlying curses library. (Contributed by Zackery " +"Spytz in :issue:`39273`.)" +msgstr "" +"Константи ``BUTTON5_*`` тепер доступні в модулі :mod:`curses`, якщо вони " +"надаються основною бібліотекою curses. (Надав Закері Шпітц у :issue:`39273`.)" + +msgid "dataclasses" +msgstr "класи даних" + +msgid "__slots__" +msgstr "__slots__" + +msgid "" +"Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. " +"(Contributed by Yurii Karabas in :issue:`42269`)" +msgstr "" +"Додано параметр ``slots`` в декоратор :func:`dataclasses.dataclass`. (Надав " +"Юрій Карабас у :issue:`42269`)" + +msgid "Keyword-only fields" +msgstr "Поля лише для ключових слів" + +msgid "" +"dataclasses now supports fields that are keyword-only in the generated " +"__init__ method. There are a number of ways of specifying keyword-only " +"fields." +msgstr "" +"dataclasses тепер підтримує поля, які є лише ключовими словами у створеному " +"методі __init__. Існує кілька способів визначення полів лише для ключових " +"слів." + +msgid "You can say that every field is keyword-only:" +msgstr "Можна сказати, що кожне поле є лише ключовим словом:" + +msgid "" +"Both ``name`` and ``birthday`` are keyword-only parameters to the generated " +"__init__ method." +msgstr "" +"І ``name``, і ``birthday`` є параметрами лише для ключових слів для " +"згенерованого методу __init__." + +msgid "You can specify keyword-only on a per-field basis:" +msgstr "Ви можете вказати лише ключове слово для кожного поля:" + +msgid "" +"Here only ``birthday`` is keyword-only. If you set ``kw_only`` on " +"individual fields, be aware that there are rules about re-ordering fields " +"due to keyword-only fields needing to follow non-keyword-only fields. See " +"the full dataclasses documentation for details." +msgstr "" +"Тут лише ``день народження`` є лише ключовим словом. Якщо ви встановлюєте " +"``kw_only`` для окремих полів, майте на увазі, що існують правила щодо зміни " +"порядку полів, оскільки поля, які містять лише ключові слова, мають " +"слідувати полям, які не містять лише ключових слів. Дивіться повну " +"документацію класів даних для деталей." + +msgid "" +"You can also specify that all fields following a KW_ONLY marker are keyword-" +"only. This will probably be the most common usage:" +msgstr "" +"Ви також можете вказати, що всі поля після маркера KW_ONLY є лише ключовими " +"словами. Ймовірно, це буде найпоширенішим використанням:" + +msgid "" +"Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are " +"not. (Contributed by Eric V. Smith in :issue:`43532`.)" +msgstr "" + +msgid "distutils" +msgstr "distutils" + +msgid "" +"The entire ``distutils`` package is deprecated, to be removed in Python " +"3.12. Its functionality for specifying package builds has already been " +"completely replaced by third-party packages ``setuptools`` and " +"``packaging``, and most other commonly used APIs are available elsewhere in " +"the standard library (such as :mod:`platform`, :mod:`shutil`, :mod:" +"`subprocess` or :mod:`sysconfig`). There are no plans to migrate any other " +"functionality from ``distutils``, and applications that are using other " +"functions should plan to make private copies of the code. Refer to :pep:" +"`632` for discussion." +msgstr "" +"Весь пакет ``distutils`` застарів, його буде видалено в Python 3.12. Його " +"функціональні можливості для вказівки збірок пакунків уже повністю замінено " +"пакетами сторонніх розробників ``setuptools`` і ``packaging``, а більшість " +"інших поширених API доступні в інших місцях стандартної бібліотеки " +"(наприклад, :mod:`platform` , :mod:`shutil`, :mod:`subprocess` або :mod:" +"`sysconfig`). Немає планів переміщення будь-якої іншої функціональності з " +"``distutils``, і програми, які використовують інші функції, повинні " +"планувати створення приватних копій коду. Зверніться до :pep:`632` для " +"обговорення." + +msgid "" +"The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The " +"``bdist_wheel`` command is now recommended to distribute binary packages on " +"Windows. (Contributed by Victor Stinner in :issue:`42802`.)" +msgstr "" +"Команду ``bdist_wininst``, яка застаріла в Python 3.8, видалено. Команда " +"``bdist_wheel`` тепер рекомендована для розповсюдження двійкових пакетів у " +"Windows. (Надав Віктор Стіннер у :issue:`42802`.)" + +msgid "doctest" +msgstr "doctest" + +msgid "" +"When a module does not define ``__loader__``, fall back to ``__spec__." +"loader``. (Contributed by Brett Cannon in :issue:`42133`.)" +msgstr "" +"Якщо модуль не визначає ``__loader__``, поверніться до ``__spec__.loader``. " +"(Надано Бреттом Кенноном у :issue:`42133`.)" + +msgid "encodings" +msgstr "кодування" + +msgid "" +":func:`encodings.normalize_encoding` now ignores non-ASCII characters. " +"(Contributed by Hai Shi in :issue:`39337`.)" +msgstr "" +":func:`encodings.normalize_encoding` тепер ігнорує символи, відмінні від " +"ASCII. (Надав Хай Ши в :issue:`39337`.)" + +msgid "enum" +msgstr "enum" + +msgid "" +":class:`Enum` :func:`__repr__` now returns ``enum_name.member_name`` and :" +"func:`__str__` now returns ``member_name``. Stdlib enums available as " +"module constants have a :func:`repr` of ``module_name.member_name``. " +"(Contributed by Ethan Furman in :issue:`40066`.)" +msgstr "" + +msgid "" +"Add :class:`enum.StrEnum` for enums where all members are strings. " +"(Contributed by Ethan Furman in :issue:`41816`.)" +msgstr "" + +msgid "fileinput" +msgstr "введення файлу" + +msgid "" +"Add *encoding* and *errors* parameters in :func:`fileinput.input` and :class:" +"`fileinput.FileInput`. (Contributed by Inada Naoki in :issue:`43712`.)" +msgstr "" +"Додайте параметри *encoding* і *errors* у :func:`fileinput.input` і :class:" +"`fileinput.FileInput`. (Надано Інадою Наокі в :issue:`43712`.)" + +msgid "" +":func:`fileinput.hook_compressed` now returns :class:`TextIOWrapper` object " +"when *mode* is \"r\" and file is compressed, like uncompressed files. " +"(Contributed by Inada Naoki in :issue:`5758`.)" +msgstr "" +":func:`fileinput.hook_compressed` тепер повертає об’єкт :class:" +"`TextIOWrapper`, коли *mode* має значення \"r\" і файл стиснутий, як і " +"нестиснені файли. (Надано Інадою Наокі в :issue:`5758`.)" + +msgid "faulthandler" +msgstr "обробник помилок" + +msgid "" +"The :mod:`faulthandler` module now detects if a fatal error occurs during a " +"garbage collector collection. (Contributed by Victor Stinner in :issue:" +"`44466`.)" +msgstr "" +"Модуль :mod:`faulthandler` тепер виявляє, якщо під час збирання сміття " +"виникає фатальна помилка. (Надав Віктор Стіннер у :issue:`44466`.)" + +msgid "gc" +msgstr "gc" + +msgid "" +"Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and :" +"func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)" +msgstr "" +"Додайте перехоплювачі аудиту для :func:`gc.get_objects`, :func:`gc." +"get_referrers` і :func:`gc.get_referents`. (Надав Пабло Галіндо в :issue:" +"`43439`.)" + +msgid "glob" +msgstr "глоб" + +msgid "" +"Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and :func:" +"`~glob.iglob` which allow to specify the root directory for searching. " +"(Contributed by Serhiy Storchaka in :issue:`38144`.)" +msgstr "" +"Додайте параметри *root_dir* і *dir_fd* у :func:`~glob.glob` і :func:`~glob." +"iglob`, які дозволяють вказати кореневий каталог для пошуку. (Надав Сергій " +"Сторчака в :issue:`38144`.)" + +msgid "hashlib" +msgstr "хешліб" + +msgid "" +"The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by " +"Christian Heimes in :pep:`644` and :issue:`43669`.)" +msgstr "" +"Модуль hashlib вимагає OpenSSL 1.1.1 або новішої версії. (Надав Крістіан " +"Хаймес у :pep:`644` і :issue:`43669`.)" + +msgid "" +"The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed " +"by Christian Heimes in :issue:`38820` and other issues.)" +msgstr "" +"Модуль hashlib має попередню підтримку OpenSSL 3.0.0. (Надано Крістіаном " +"Хеймсом у :issue:`38820` та інших випусках.)" + +msgid "" +"The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In " +"the future PBKDF2-HMAC will only be available when Python has been built " +"with OpenSSL support. (Contributed by Christian Heimes in :issue:`43880`.)" +msgstr "" +"Резервна версія чистого Python :func:`~hashlib.pbkdf2_hmac` застаріла. У " +"майбутньому PBKDF2-HMAC буде доступний лише тоді, коли Python буде створено " +"з підтримкою OpenSSL. (Надав Крістіан Хеймс у :issue:`43880`.)" + +msgid "hmac" +msgstr "hmac" + +msgid "" +"The hmac module now uses OpenSSL's HMAC implementation internally. " +"(Contributed by Christian Heimes in :issue:`40645`.)" +msgstr "" +"Модуль hmac тепер використовує внутрішню реалізацію HMAC OpenSSL. (Надав " +"Крістіан Хеймс у :issue:`40645`.)" + +msgid "IDLE and idlelib" +msgstr "IDLE і idlelib" + +msgid "" +"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " +"hooks were previously ignored. (Contributed by Ken Hilton in :issue:" +"`43008`.)" +msgstr "" +"Зробити IDLE викликом :func:`sys.excepthook` (якщо запускається без '-n'). " +"Хуки користувача раніше ігнорувалися. (Надав Кен Хілтон у :issue:`43008`.)" + +msgid "" +"Rearrange the settings dialog. Split the General tab into Windows and Shell/" +"Ed tabs. Move help sources, which extend the Help menu, to the Extensions " +"tab. Make space for new options and shorten the dialog. The latter makes " +"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :" +"issue:`40468`.) Move the indent space setting from the Font tab to the new " +"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:" +"`33962`.)" +msgstr "" +"Перевпорядкування діалогового вікна налаштувань. Розділіть вкладку Загальні " +"на вкладки Windows і Shell/Ed. Перемістіть джерела довідки, які розширюють " +"меню \"Довідка\", на вкладку \"Розширення\". Звільніть місце для нових " +"параметрів і скоротіть діалогове вікно. Останнє робить діалог краще " +"адаптованим до маленьких екранів. (Надано Террі Джен Ріді в :issue:`40468`.) " +"Перемістіть налаштування відступу з вкладки \"Шрифт\" на нову вкладку " +"Windows. (Надано Марком Розманом і Террі Джен Ріді в :issue:`33962`.)" + +msgid "The changes above were backported to a 3.9 maintenance release." +msgstr "Зазначені вище зміни було перенесено до версії 3.9 для обслуговування." + +msgid "" +"Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add " +"secondary prompts ('...') to the sidebar. Left click and optional drag " +"selects one or more lines of text, as with the editor line number sidebar. " +"Right click after selecting text lines displays a context menu with 'copy " +"with prompts'. This zips together prompts from the sidebar with lines from " +"the selected text. This option also appears on the context menu for the " +"text. (Contributed by Tal Einat in :issue:`37903`.)" +msgstr "" +"Додайте бічну панель Shell. Перемістіть основну підказку ('>>>') на бічну " +"панель. Додайте додаткові підказки ('...') на бічну панель. Клацання лівою " +"кнопкою миші та необов’язкове перетягування виділяє один або кілька рядків " +"тексту, як і на бічній панелі номерів рядків редактора. Клацання правою " +"кнопкою миші після вибору текстових рядків відображає контекстне меню з " +"\"копіювати з підказками\". Це об’єднує підказки з бічної панелі з рядками з " +"виділеного тексту. Цей параметр також відображається в контекстному меню для " +"тексту. (Надав Тал Ейнат у :issue:`37903`.)" + +msgid "" +"Use spaces instead of tabs to indent interactive code. This makes " +"interactive code entries 'look right'. Making this feasible was a major " +"motivation for adding the shell sidebar. (Contributed by Terry Jan Reedy " +"in :issue:`37892`.)" +msgstr "" +"Використовуйте пробіли замість табуляції, щоб зробити відступ інтерактивного " +"коду. Завдяки цьому інтерактивні записи коду виглядають правильно. Зробити " +"це можливим було основною мотивацією для додавання бічної панелі оболонки. " +"(Надав Террі Ян Ріді в :issue:`37892`.)" + +msgid "" +"Highlight the new :ref:`soft keywords ` :keyword:`match`, :" +"keyword:`case `, and :keyword:`_ ` in pattern-" +"matching statements. However, this highlighting is not perfect and will be " +"incorrect in some rare cases, including some ``_``-s in ``case`` patterns. " +"(Contributed by Tal Einat in :issue:`44010`.)" +msgstr "" +"Виділіть нові :ref:`м’які ключові слова ` :keyword:`match`, :" +"keyword:`case ` і :keyword:`_ ` в операторах " +"зіставлення шаблонів. Однак це підсвічування не є ідеальним і буде " +"неправильним у деяких рідкісних випадках, включаючи деякі ``_``-s у шаблонах " +"``case``. (Надав Тал Ейнат у :issue:`44010`.)" + +msgid "New in 3.10 maintenance releases." +msgstr "Нове у випусках обслуговування 3.10." + +msgid "" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" +msgstr "" + +msgid "" +"Include prompts when saving Shell with inputs and outputs. (Contributed by " +"Terry Jan Reedy in :gh:`95191`.)" +msgstr "" + +msgid "importlib.metadata" +msgstr "importlib.metadata" + +msgid "" +"Feature parity with ``importlib_metadata`` 4.6 (`history `_)." +msgstr "" +"Парність функцій із ``importlib_metadata`` 4.6 (`історія `_)." + +msgid "" +":ref:`importlib.metadata entry points ` now provide a nicer " +"experience for selecting entry points by group and name through a new :class:" +"`importlib.metadata.EntryPoints` class. See the Compatibility Note in the " +"docs for more info on the deprecation and usage." +msgstr "" +":ref:`точки входу importlib.metadata ` тепер забезпечують " +"кращий досвід для вибору точок входу за групою та назвою за допомогою нового " +"класу :class:`importlib.metadata.EntryPoints`. Див. Примітку щодо сумісності " +"в документах, щоб дізнатися більше про застаріле та використання." + +msgid "" +"Added :func:`importlib.metadata.packages_distributions` for resolving top-" +"level Python modules and packages to their :class:`importlib.metadata." +"Distribution`." +msgstr "" +"Додано :func:`importlib.metadata.packages_distributions` для вирішення " +"модулів і пакетів Python верхнього рівня в їх :class:`importlib.metadata." +"Distribution`." + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"Add :func:`inspect.get_annotations`, which safely computes the annotations " +"defined on an object. It works around the quirks of accessing the " +"annotations on various types of objects, and makes very few assumptions " +"about the object it examines. :func:`inspect.get_annotations` can also " +"correctly un-stringize stringized annotations. :func:`inspect." +"get_annotations` is now considered best practice for accessing the " +"annotations dict defined on any Python object; for more information on best " +"practices for working with annotations, please see :ref:`annotations-howto`. " +"Relatedly, :func:`inspect.signature`, :func:`inspect.Signature." +"from_callable`, and :func:`inspect.Signature.from_function` now call :func:" +"`inspect.get_annotations` to retrieve annotations. This means :func:`inspect." +"signature` and :func:`inspect.Signature.from_callable` can also now un-" +"stringize stringized annotations. (Contributed by Larry Hastings in :issue:" +"`43817`.)" +msgstr "" +"Додайте :func:`inspect.get_annotations`, який безпечно обчислює анотації, " +"визначені для об’єкта. Він усуває особливості доступу до анотацій для різних " +"типів об’єктів і робить дуже мало припущень щодо об’єкта, який він " +"досліджує. :func:`inspect.get_annotations` також може правильно видаляти " +"рядкові анотації. :func:`inspect.get_annotations` тепер вважається найкращою " +"практикою для доступу до dict анотацій, визначених у будь-якому об’єкті " +"Python; для отримання додаткової інформації про найкращі методи роботи з " +"анотаціями, будь ласка, перегляньте :ref:`annotations-howto`. Відповідно, :" +"func:`inspect.signature`, :func:`inspect.Signature.from_callable` і :func:" +"`inspect.Signature.from_function` тепер викликають :func:`inspect." +"get_annotations` для отримання анотацій. Це означає, що :func:`inspect." +"signature` і :func:`inspect.Signature.from_callable` тепер також можуть " +"скасовувати рядкові анотації. (Надано Ларрі Гастінгсом у :issue:`43817`.)" + +msgid "itertools" +msgstr "itertools" + +msgid "" +"Add :func:`itertools.pairwise()`. (Contributed by Raymond Hettinger in :" +"issue:`38200`.)" +msgstr "" +"Додайте :func:`itertools.pairwise()`. (Надав Реймонд Геттінгер у :issue:" +"`38200`.)" + +msgid "linecache" +msgstr "лінійний кеш" + +msgid "os" +msgstr "ос" + +msgid "" +"Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " +"Xin in :issue:`41440`.)" +msgstr "" +"Додайте підтримку :func:`os.cpu_count()` для VxWorks RTOS. (Надано Peixing " +"Xin у :issue:`41440`.)" + +msgid "" +"Add a new function :func:`os.eventfd` and related helpers to wrap the " +"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" +"`41001`.)" +msgstr "" +"Додайте нову функцію :func:`os.eventfd` і відповідні помічники, щоб " +"завершити системний виклик ``eventfd2`` у Linux. (Надав Крістіан Хеймс у :" +"issue:`41001`.)" + +msgid "" +"Add :func:`os.splice()` that allows to move data between two file " +"descriptors without copying between kernel address space and user address " +"space, where one of the file descriptors must refer to a pipe. (Contributed " +"by Pablo Galindo in :issue:`41625`.)" +msgstr "" +"Додайте :func:`os.splice()`, який дозволяє переміщувати дані між двома " +"файловими дескрипторами без копіювання між адресним простором ядра та " +"адресним простором користувача, де один із файлових дескрипторів має " +"посилатися на канал. (Надав Пабло Галіндо в :issue:`41625`.)" + +msgid "" +"Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :" +"data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:" +"`43106`.)" +msgstr "" +"Додайте :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` і :" +"data:`~os.O_NOFOLLOW_ANY` для macOS. (Надав Dong-hee Na у :issue:`43106`.)" + +msgid "os.path" +msgstr "os.path" + +msgid "" +":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When " +"set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " +"symlink loop is encountered. (Contributed by Barney Gale in :issue:`43757`.)" +msgstr "" +":func:`os.path.realpath` тепер приймає *суворий* аргумент лише для ключового " +"слова. Якщо встановлено значення ``True``, :exc:`OSError` викликається, якщо " +"шлях не існує або виникає цикл символічного посилання. (Надано Барні Гейлом " +"у :issue:`43757`.)" + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +"Add slice support to :attr:`PurePath.parents `. " +"(Contributed by Joshua Cannon in :issue:`35498`.)" +msgstr "" + +msgid "" +"Add negative indexing support to :attr:`PurePath.parents `. (Contributed by Yaroslav Pankovych in :issue:`21041`.)" +msgstr "" + +msgid "" +"Add :meth:`Path.hardlink_to ` method that " +"supersedes :meth:`~pathlib.Path.link_to`. The new method has the same " +"argument order as :meth:`~pathlib.Path.symlink_to`. (Contributed by Barney " +"Gale in :issue:`39950`.)" +msgstr "" +"Додайте метод :meth:`Path.hardlink_to `, який " +"замінює :meth:`~pathlib.Path.link_to`. Новий метод має той самий порядок " +"аргументів, що й :meth:`~pathlib.Path.symlink_to`. (Надано Барні Гейлом у :" +"issue:`39950`.)" + +msgid "" +":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " +"*follow_symlinks* keyword-only argument for consistency with corresponding " +"functions in the :mod:`os` module. (Contributed by Barney Gale in :issue:" +"`39906`.)" +msgstr "" +":meth:`pathlib.Path.stat` і :meth:`~pathlib.Path.chmod` тепер приймають " +"*follow_symlinks* лише ключовий аргумент для узгодженості з відповідними " +"функціями в модулі :mod:`os`. (Надано Барні Гейлом у :issue:`39906`.)" + +msgid "platform" +msgstr "платформа" + +msgid "" +"Add :func:`platform.freedesktop_os_release()` to retrieve operation system " +"identification from `freedesktop.org os-release `_ standard file. (Contributed by " +"Christian Heimes in :issue:`28468`.)" +msgstr "" + +msgid "pprint" +msgstr "pprint" + +msgid "" +":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " +"argument. (Contributed by sblondon in :issue:`42914`.)" +msgstr "" +":func:`pprint.pprint` тепер приймає новий аргумент ключового слова " +"``underscore_numbers``. (Надав sblondon у :issue:`42914`.)" + +msgid "" +":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. " +"(Contributed by Lewis Gaul in :issue:`43080`.)" +msgstr "" +":mod:`pprint` тепер може красиво друкувати екземпляри :class:`dataclasses." +"dataclass`. (Надано Льюїсом Голом у :issue:`43080`.)" + +msgid "py_compile" +msgstr "py_compile" + +msgid "" +"Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " +"(Contributed by Gregory Schevchenko in :issue:`38731`.)" +msgstr "" +"Додайте параметр ``--quiet`` до інтерфейсу командного рядка :mod:" +"`py_compile`. (Надав Григорій Шевченко в :issue:`38731`.)" + +msgid "pyclbr" +msgstr "pyclbr" + +msgid "" +"Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in " +"the tree returned by :func:`pyclbr.readline` and :func:`pyclbr." +"readline_ex`. It matches the existing (start) ``lineno``. (Contributed by " +"Aviral Srivastava in :issue:`38307`.)" +msgstr "" +"Додайте атрибут ``end_lineno`` до об’єктів ``Function`` і ``Class`` у " +"дереві, що повертається :func:`pyclbr.readline` і :func:`pyclbr." +"readline_ex`. Він відповідає існуючому (початку) ``lineno``. (Надано Aviral " +"Srivastava в :issue:`38307`.)" + +msgid "shelve" +msgstr "полиця" + +msgid "" +"The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default " +"instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed " +"by Zackery Spytz in :issue:`34204`.)" +msgstr "" +"Модуль :mod:`shelve` тепер використовує :data:`pickle.DEFAULT_PROTOCOL` за " +"замовчуванням замість :mod:`pickle` протоколу ``3`` під час створення " +"полиць. (Надав Закері Шпітц у :issue:`34204`.)" + +msgid "statistics" +msgstr "статистика" + +msgid "" +"Add :func:`~statistics.covariance`, Pearson's :func:`~statistics." +"correlation`, and simple :func:`~statistics.linear_regression` functions. " +"(Contributed by Tymoteusz Wołodźko in :issue:`38490`.)" +msgstr "" +"Додайте :func:`~statistics.covariance`, :func:`~statistics.correlation` " +"Пірсона та прості функції :func:`~statistics.linear_regression`. (Надав " +"Тимотеуш Володзько в :issue:`38490`.)" + +msgid "site" +msgstr "сайт" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " +"(Contributed by Christian Heimes in :issue:`42413`.)" +msgstr "" +"Виняток :exc:`socket.timeout` тепер є псевдонімом :exc:`TimeoutError`. " +"(Надав Крістіан Хеймс у :issue:`42413`.)" + +msgid "" +"Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " +"Rui Cunha in :issue:`43571`.)" +msgstr "" +"Додайте параметр для створення сокетів MPTCP за допомогою ``IPPROTO_MPTCP`` " +"(надано Rui Cunha в :issue:`43571`.)" + +msgid "" +"Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " +"fields (Contributed by Georg Sauthoff in :issue:`44077`.)" +msgstr "" +"Додайте параметр ``IP_RECVTOS``, щоб отримати тип послуги (ToS) або поля " +"DSCP/ECN (Надано Георгом Саутхоффом у :issue:`44077`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "" +"The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " +"Heimes in :pep:`644` and :issue:`43669`.)" +msgstr "" +"Модуль ssl вимагає OpenSSL 1.1.1 або новішої версії. (Надав Крістіан Хаймес " +"у :pep:`644` і :issue:`43669`.)" + +msgid "" +"The ssl module has preliminary support for OpenSSL 3.0.0 and new option :" +"data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in :" +"issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:" +"`43799`, :issue:`43920`, :issue:`43789`, and :issue:`43811`.)" +msgstr "" +"Модуль ssl має попередню підтримку OpenSSL 3.0.0 і нову опцію :data:`~ssl." +"OP_IGNORE_UNEXPECTED_EOF`. (Надав Крістіан Хаймес у :issue:`38820`, :issue:" +"`43794`, :issue:`43788`, :issue:`43791`, :issue:`43799`, :issue:`43920`, :" +"issue:`43789` і :issue:`43811`.)" + +msgid "" +"Deprecated function and use of deprecated constants now result in a :exc:" +"`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl." +"OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and therefore " +"cannot warn about setting the flag again. The :ref:`deprecation section " +"` has a list of deprecated features. (Contributed by " +"Christian Heimes in :issue:`43880`.)" +msgstr "" +"Застаріла функція та використання застарілих констант тепер призводять до :" +"exc:`DeprecationWarning`. :attr:`ssl.SSSLContext.options` має :data:`~ssl." +"OP_NO_SSLv2` і :data:`~ssl.OP_NO_SSLv3` встановлені за замовчуванням і тому " +"не може попередити про повторне встановлення прапора. У розділі :ref:" +"`deprecation ` міститься список застарілих функцій. " +"(Надав Крістіан Хеймс у :issue:`43880`.)" + +msgid "" +"The ssl module now has more secure default settings. Ciphers without forward " +"secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits " +"weak RSA, DH, and ECC keys with less than 112 bits of security. :class:`~ssl." +"SSLContext` defaults to minimum protocol version TLS 1.2. Settings are based " +"on Hynek Schlawack's research. (Contributed by Christian Heimes in :issue:" +"`43998`.)" +msgstr "" +"Модуль ssl тепер має більш безпечні налаштування за замовчуванням. Шифри без " +"прямої секретності або SHA-1 MAC вимкнено за замовчуванням. Рівень безпеки 2 " +"забороняє слабкі ключі RSA, DH і ECC з менш ніж 112 бітами безпеки. :class:" +"`~ssl.SSLContext` за умовчанням має мінімальну версію протоколу TLS 1.2. " +"Налаштування засновані на дослідженнях Hynek Schlawack. (Надав Крістіан " +"Хеймс у :issue:`43998`.)" + +msgid "" +"The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer " +"officially supported. Python does not block them actively. However OpenSSL " +"build options, distro configurations, vendor patches, and cipher suites may " +"prevent a successful handshake." +msgstr "" +"Застарілі протоколи SSL 3.0, TLS 1.0 і TLS 1.1 більше не підтримуються " +"офіційно. Python не блокує їх активно. Однак параметри збірки OpenSSL, " +"конфігурації дистрибутива, патчі постачальника та набори шифрів можуть " +"перешкодити успішному рукостисканню." + +msgid "" +"Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " +"function. (Contributed by Zackery Spytz in :issue:`31870`.)" +msgstr "" +"Додайте параметр *timeout* до функції :func:`ssl.get_server_certificate`. " +"(Надав Закері Шпітц у :issue:`31870`.)" + +msgid "" +"The ssl module uses heap-types and multi-phase initialization. (Contributed " +"by Christian Heimes in :issue:`42333`.)" +msgstr "" +"Модуль ssl використовує типи купи та багатофазову ініціалізацію. (Надав " +"Крістіан Хеймс у :issue:`42333`.)" + +msgid "" +"A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " +"(Contributed by l0x in :issue:`40849`.)" +msgstr "" +"Додано новий прапор перевірки :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN`. " +"(Надано l0x у :issue:`40849`.)" + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +"Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." +"Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." +"load_extension`. (Contributed by Erlend E. Aasland in :issue:`43762`.)" +msgstr "" +"Додайте події аудиту для :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." +"Connection.enable_load_extension` і :meth:`~sqlite3.Connection." +"load_extension`. (Надав Erlend E. Aasland у :issue:`43762`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"Add :data:`sys.orig_argv` attribute: the list of the original command line " +"arguments passed to the Python executable. (Contributed by Victor Stinner " +"in :issue:`23427`.)" +msgstr "" +"Додайте атрибут :data:`sys.orig_argv`: список початкових аргументів " +"командного рядка, переданих у виконуваний файл Python. (Надав Віктор Стіннер " +"у :issue:`23427`.)" + +msgid "" +"Add :data:`sys.stdlib_module_names`, containing the list of the standard " +"library module names. (Contributed by Victor Stinner in :issue:`42955`.)" +msgstr "" +"Додайте :data:`sys.stdlib_module_names`, що містить список імен модулів " +"стандартної бібліотеки. (Надав Віктор Стіннер у :issue:`42955`.)" + +msgid "_thread" +msgstr "_thread" + +msgid "" +":func:`_thread.interrupt_main` now takes an optional signal number to " +"simulate (the default is still :data:`signal.SIGINT`). (Contributed by " +"Antoine Pitrou in :issue:`43356`.)" +msgstr "" +":func:`_thread.interrupt_main` тепер приймає додатковий номер сигналу для " +"імітації (за замовчуванням все ще :data:`signal.SIGINT`). (Надав Антуан " +"Пітру в :issue:`43356`.)" + +msgid "threading" +msgstr "різьблення" + +msgid "" +"Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve " +"the functions set by :func:`threading.settrace` and :func:`threading." +"setprofile` respectively. (Contributed by Mario Corchero in :issue:`42251`.)" +msgstr "" +"Додайте :func:`threading.gettrace` і :func:`threading.getprofile`, щоб " +"отримати функції, встановлені :func:`threading.settrace` і :func:`threading." +"setprofile` відповідно. (Надав Маріо Корчеро в :issue:`42251`.)" + +msgid "" +"Add :data:`threading.__excepthook__` to allow retrieving the original value " +"of :func:`threading.excepthook` in case it is set to a broken or a different " +"value. (Contributed by Mario Corchero in :issue:`42308`.)" +msgstr "" +"Додайте :data:`threading.__excepthook__`, щоб дозволити отримати початкове " +"значення :func:`threading.excepthook` у випадку, якщо для нього встановлено " +"пошкоджене або інше значення. (Надав Маріо Корчеро в :issue:`42308`.)" + +msgid "traceback" +msgstr "простежити" + +msgid "" +"The :func:`~traceback.format_exception`, :func:`~traceback." +"format_exception_only`, and :func:`~traceback.print_exception` functions can " +"now take an exception object as a positional-only argument. (Contributed by " +"Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" +msgstr "" +"Функції :func:`~traceback.format_exception`, :func:`~traceback." +"format_exception_only` і :func:`~traceback.print_exception` тепер можуть " +"приймати об’єкт винятку лише як позиційний аргумент. (Надано Zackery Spytz і " +"Matthias Bussonnier у :issue:`26389`.)" + +msgid "types" +msgstr "види" + +msgid "" +"Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:" +"`types.NotImplementedType` classes, providing a new set of types readily " +"interpretable by type checkers. (Contributed by Bas van Beek in :issue:" +"`41810`.)" +msgstr "" +"Знову представити класи :data:`types.EllipsisType`, :data:`types.NoneType` " +"і :data:`types.NotImplementedType`, надаючи новий набір типів, які легко " +"інтерпретуються засобами перевірки типів. (Надав Бас ван Бік у :issue:" +"`41810`.)" + +msgid "typing" +msgstr "введення тексту" + +msgid "For major changes, see :ref:`new-feat-related-type-hints`." +msgstr "Для основних змін див. :ref:`new-feat-related-type-hints`." + +msgid "" +"The behavior of :class:`typing.Literal` was changed to conform with :pep:" +"`586` and to match the behavior of static type checkers specified in the PEP." +msgstr "" +"Поведінку :class:`typing.Literal` було змінено, щоб вона відповідала :pep:" +"`586` і відповідала поведінці засобів перевірки статичних типів, указаних у " +"PEP." + +msgid "``Literal`` now de-duplicates parameters." +msgstr "``Літерал`` тепер усуває дублікати параметрів." + +msgid "" +"Equality comparisons between ``Literal`` objects are now order independent." +msgstr "" +"Порівняння рівності між об’єктами ``Literal`` тепер не залежить від порядку." + +msgid "" +"``Literal`` comparisons now respect types. For example, ``Literal[0] == " +"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " +"support this change, the internally used type cache now supports " +"differentiating types." +msgstr "" +"``Літеральні`` порівняння тепер поважають типи. Наприклад, ``Literal[0] == " +"Literal[False]``, попередньо оцінене як ``True``. Тепер це ``False``. Для " +"підтримки цієї зміни внутрішній кеш типів тепер підтримує розрізняючі типи." + +msgid "" +"``Literal`` objects will now raise a :exc:`TypeError` exception during " +"equality comparisons if any of their parameters are not :term:`hashable`. " +"Note that declaring ``Literal`` with unhashable parameters will not throw an " +"error::" +msgstr "" +"Об’єкти ``Literal`` тепер створюватимуть виняток :exc:`TypeError` під час " +"порівняння рівності, якщо будь-який з їхніх параметрів не :term:`hashable`. " +"Зауважте, що оголошення ``Literal`` з нехешованими параметрами не викличе " +"помилку:" + +msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" +msgstr "(Надав Юрій Карабас у :issue:`42345`.)" + +msgid "" +"Add new function :func:`typing.is_typeddict` to introspect if an annotation " +"is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in :issue:" +"`41792`.)" +msgstr "" + +msgid "" +"Subclasses of ``typing.Protocol`` which only have data variables declared " +"will now raise a ``TypeError`` when checked with ``isinstance`` unless they " +"are decorated with :func:`runtime_checkable`. Previously, these checks " +"passed silently. Users should decorate their subclasses with the :func:" +"`runtime_checkable` decorator if they want runtime protocols. (Contributed " +"by Yurii Karabas in :issue:`38908`.)" +msgstr "" + +msgid "" +"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" +"exc:`DeprecationWarning`. These submodules have been deprecated since " +"Python 3.8 and will be removed in a future version of Python. Anything " +"belonging to those submodules should be imported directly from :mod:`typing` " +"instead. (Contributed by Sebastian Rittau in :issue:`38291`.)" +msgstr "" + +msgid "unittest" +msgstr "unittest" + +msgid "" +"Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the " +"existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi " +"in :issue:`39385`.)" +msgstr "" +"Додайте новий метод :meth:`~unittest.TestCase.assertNoLogs`, щоб доповнити " +"існуючий :meth:`~unittest.TestCase.assertLogs`. (Надав Кіт Ян Чой у :issue:" +"`39385`.)" + +msgid "urllib.parse" +msgstr "urllib.parse" + +msgid "" +"Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` " +"as query parameter separators in :func:`urllib.parse.parse_qs` and :func:" +"`urllib.parse.parse_qsl`. Due to security concerns, and to conform with " +"newer W3C recommendations, this has been changed to allow only a single " +"separator key, with ``&`` as the default. This change also affects :func:" +"`cgi.parse` and :func:`cgi.parse_multipart` as they use the affected " +"functions internally. For more details, please see their respective " +"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " +"in :issue:`42967`.)" +msgstr "" +"Версії Python, раніші за Python 3.10, дозволяли використовувати як ``;``, " +"так і ``&`` як роздільники параметрів запиту в :func:`urllib.parse.parse_qs` " +"і :func:`urllib.parse.parse_qsl`. З міркувань безпеки та для відповідності " +"новим рекомендаціям W3C це було змінено, щоб дозволити лише один роздільний " +"ключ із ``&`` за замовчуванням. Ця зміна також впливає на :func:`cgi.parse` " +"і :func:`cgi.parse_multipart`, оскільки вони використовують уражені функції " +"внутрішньо. Щоб дізнатися більше, перегляньте відповідну документацію. " +"(Надано Адамом Ґолдшмідтом, Сентилом Кумараном і Кеном Джином у :issue:" +"`42967`.)" + +msgid "xml" +msgstr "xml" + +msgid "" +"Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax." +"handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :" +"issue:`35018`.)" +msgstr "" +"Додайте клас :class:`~xml.sax.handler.LexicalHandler` до модуля :mod:`xml." +"sax.handler`. (Надано Джонатаном Госседжем і Закері Шпітцем у :issue:" +"`35018`.)" + +msgid "zipimport" +msgstr "zipimport" + +msgid "" +"Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter." +"find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:" +"`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in :issue:" +"`42131`.)" +msgstr "" +"Додайте методи, пов’язані з :pep:`451`: :meth:`~zipimport.zipimporter." +"find_spec`, :meth:`zipimport.zipimporter.create_module` і :meth:`zipimport." +"zipimporter.exec_module`. (Надано Бреттом Кенноном у :issue:`42131`.)" + +msgid "" +"Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by " +"Desmond Cheong in :issue:`14678`.)" +msgstr "" +"Додайте метод :meth:`~zipimport.zipimporter.invalidate_caches`. (Надав " +"Десмонд Чеонг у :issue:`14678`.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster " +"(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :" +"issue:`41334`.)" +msgstr "" +"Конструктори :func:`str`, :func:`bytes` і :func:`bytearray` тепер швидші " +"(близько 30--40% для малих об’єктів). (Надав Сергій Сторчака в :issue:" +"`41334`.)" + +msgid "" +"The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-" +"name`` command startup time is 1.4x faster in average. On Linux, ``python3 -" +"I -m module-name`` imports 69 modules on Python 3.9, whereas it only imports " +"51 modules (-18) on Python 3.10. (Contributed by Victor Stinner in :issue:" +"`41006` and :issue:`41718`.)" +msgstr "" +"Модуль :mod:`runpy` тепер імпортує менше модулів. Час запуску команди " +"``python3 -m назва модуля`` в середньому в 1,4 рази швидший. У Linux " +"``python3 -I -m назва-модуля`` імпортує 69 модулів у Python 3.9, тоді як у " +"Python 3.10 він імпортує лише 51 модуль (-18). (Надав Віктор Стіннер у :" +"issue:`41006` і :issue:`41718`.)" + +msgid "" +"The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. " +"It is about 36% faster now for regular attributes and 44% faster for slots. " +"(Contributed by Pablo Galindo and Yury Selivanov in :issue:`42093` and Guido " +"van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy " +"and MicroPython.)" +msgstr "" +"Інструкція ``LOAD_ATTR`` тепер використовує новий механізм \"кешу коду " +"операції\". Це приблизно на 36% швидше для звичайних атрибутів і на 44% " +"швидше для слотів. (Надано Пабло Галіндо та Юрієм Селівановим у :issue:" +"`42093` та Гвідо ван Россумом у :issue:`42927`, на основі ідей, спочатку " +"реалізованих у PyPy та MicroPython.)" + +msgid "" +"When building Python with :option:`--enable-optimizations` now ``-fno-" +"semantic-interposition`` is added to both the compile and link line. This " +"speeds builds of the Python interpreter created with :option:`--enable-" +"shared` with ``gcc`` by up to 30%. See `this article `_ for more details. (Contributed by Victor Stinner " +"and Pablo Galindo in :issue:`38980`.)" +msgstr "" +"Під час створення Python за допомогою :option:`--enable-optimizations` тепер " +"``-fno-semantic-interposition`` додається до рядка компіляції та посилання. " +"Це прискорює збірки інтерпретатора Python, створеного за допомогою :option:" +"`--enable-shared` з ``gcc``, до 30%. Перегляньте `цю статтю `_ для отримання додаткової інформації. " +"(Надано Віктором Стіннером і Пабло Галіндо в :issue:`38980`.)" + +msgid "" +"Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:" +"`zlib` modules, and add ``.readall()`` function to ``_compression." +"DecompressReader`` class. bz2 decompression is now 1.09x ~ 1.17x faster, " +"lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x ~ 1.18x " +"faster. (Contributed by Ma Lin, reviewed by Gregory P. Smith, in :issue:" +"`41486`)" +msgstr "" +"Використовуйте новий код керування вихідним буфером для модулів :mod:" +"`bz2` / :mod:`lzma` / :mod:`zlib` і додайте функцію ``.readall()`` до класу " +"``_compression.DecompressReader`` . Декомпресія bz2 тепер швидша в 1,09x ~ " +"1,17x, декомпресія lzma — у 1,20x ~ 1,32x, ``GzipFile.read(-1)`` — у 1,11x ~ " +"1,18x швидше. (Надав Ма Лін, рецензував Грегорі П. Сміт, у :issue:`41486`)" + +msgid "" +"When using stringized annotations, annotations dicts for functions are no " +"longer created when the function is created. Instead, they are stored as a " +"tuple of strings, and the function object lazily converts this into the " +"annotations dict on demand. This optimization cuts the CPU time needed to " +"define an annotated function by half. (Contributed by Yurii Karabas and " +"Inada Naoki in :issue:`42202`.)" +msgstr "" + +msgid "" +"Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` " +"now sometimes use Crochemore & Perrin's \"Two-Way\" string searching " +"algorithm to avoid quadratic behavior on long strings. (Contributed by " +"Dennis Sweeney in :issue:`41972`)" +msgstr "" +"Функції пошуку підрядків, такі як ``str1 in str2`` і ``str2.find(str1)``, " +"тепер іноді використовують \"двосторонній\" алгоритм пошуку рядків " +"Crochemore & Perrin, щоб уникнути квадратичної поведінки довгих рядків. " +"(Надав Денніс Суїні в :issue:`41972`)" + +msgid "" +"Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute " +"cache lookup performance in the common case of cache hits. This makes the " +"interpreter 1.04 times faster on average. (Contributed by Dino Viehland in :" +"issue:`43452`.)" +msgstr "" + +msgid "" +"The following built-in functions now support the faster :pep:`590` " +"vectorcall calling convention: :func:`map`, :func:`filter`, :func:" +"`reversed`, :func:`bool` and :func:`float`. (Contributed by Dong-hee Na and " +"Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:" +"`41873` and :issue:`41870`.)" +msgstr "" + +msgid "" +":class:`BZ2File` performance is improved by removing internal ``RLock``. " +"This makes :class:`BZ2File` thread unsafe in the face of multiple " +"simultaneous readers or writers, just like its equivalent classes in :mod:" +"`gzip` and :mod:`lzma` have always been. (Contributed by Inada Naoki in :" +"issue:`43785`.)" +msgstr "" + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "" +"Currently Python accepts numeric literals immediately followed by keywords, " +"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " +"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " +"``[0x1 for x in y]`` or ``[0x1f or x in y]``). Starting in this release, a " +"deprecation warning is raised if the numeric literal is immediately followed " +"by one of keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:" +"`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`. In future releases it " +"will be changed to syntax warning, and finally to syntax error. (Contributed " +"by Serhiy Storchaka in :issue:`43833`.)" +msgstr "" + +msgid "" +"Starting in this release, there will be a concerted effort to begin cleaning " +"up old import semantics that were kept for Python 2.7 compatibility. " +"Specifically, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:" +"`~importlib.abc.Finder.find_module` (superseded by :meth:`~importlib.abc." +"Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` (superseded " +"by :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader." +"module_repr` (which the import system takes care of for you), the " +"``__package__`` attribute (superseded by ``__spec__.parent``), the " +"``__loader__`` attribute (superseded by ``__spec__.loader``), and the " +"``__cached__`` attribute (superseded by ``__spec__.cached``) will slowly be " +"removed (as well as other classes and methods in :mod:`importlib`). :exc:" +"`ImportWarning` and/or :exc:`DeprecationWarning` will be raised as " +"appropriate to help identify code which needs updating during this " +"transition." +msgstr "" +"Починаючи з цього випуску, будуть узгоджені зусилля, щоб розпочати очищення " +"старої семантики імпорту, яка була збережена для сумісності з Python 2.7. " +"Зокрема, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:" +"`~importlib.abc.Finder.find_module` (замінено :meth:`~importlib.abc.Finder." +"find_spec`), :meth:`~importlib.abc.Loader.load_module` (замінений :meth:" +"`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader." +"module_repr` (про який дбає система імпорту ви), атрибут ``__package__`` " +"(замінений ``__spec__.parent``), атрибут ``__loader__`` (замінений " +"``__spec__.loader``) і ``__cached__`` атрибут ( замінений на ``__spec__." +"cached``) буде повільно видалено (як і інші класи та методи в :mod:" +"`importlib`). :exc:`ImportWarning` та/або :exc:`DeprecationWarning` буде " +"піднято відповідно, щоб допомогти визначити код, який потребує оновлення під " +"час цього переходу." + +msgid "" +"The entire ``distutils`` namespace is deprecated, to be removed in Python " +"3.12. Refer to the :ref:`module changes ` section for " +"more information." +msgstr "" +"Весь простір імен ``distutils`` застарів, його буде видалено в Python 3.12. " +"Зверніться до розділу :ref:`зміни модуля ` для " +"отримання додаткової інформації." + +msgid "" +"Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:" +"`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " +"Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)" +msgstr "" +"Нецілочисельні аргументи :func:`random.randrange` застаріли. Помилка :exc:" +"`ValueError` застаріла на користь :exc:`TypeError`. (Надано Сергієм " +"Сторчакою та Раймондом Геттінгером у :issue:`37319`.)" + +msgid "" +"The various ``load_module()`` methods of :mod:`importlib` have been " +"documented as deprecated since Python 3.6, but will now also trigger a :exc:" +"`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` instead. " +"(Contributed by Brett Cannon in :issue:`26131`.)" +msgstr "" +"Різні методи ``load_module()`` :mod:`importlib` були задокументовані як " +"застарілі, починаючи з Python 3.6, але тепер вони також викликають :exc:" +"`DeprecationWarning`. Замість цього використовуйте :meth:`~importlib.abc." +"Loader.exec_module`. (Надав Бретт Кеннон у :issue:`26131`.)" + +msgid "" +":meth:`zimport.zipimporter.load_module` has been deprecated in preference " +"for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " +"in :issue:`26131`.)" +msgstr "" +":meth:`zimport.zipimporter.load_module` не підтримується як перевага для :" +"meth:`~zipimport.zipimporter.exec_module`. (Надав Бретт Кеннон у :issue:" +"`26131`.)" + +msgid "" +"The use of :meth:`~importlib.abc.Loader.load_module` by the import system " +"now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." +"exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)" +msgstr "" +"Використання :meth:`~importlib.abc.Loader.load_module` системою імпорту " +"тепер викликає :exc:`ImportWarning`, оскільки :meth:`~importlib.abc.Loader." +"exec_module` є кращим. (Надав Бретт Кеннон у :issue:`26131`.)" + +msgid "" +"The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:" +"`importlib.abc.PathEntryFinder.find_module` by the import system now trigger " +"an :exc:`ImportWarning` as :meth:`importlib.abc.MetaPathFinder.find_spec` " +"and :meth:`importlib.abc.PathEntryFinder.find_spec` are preferred, " +"respectively. You can use :func:`importlib.util.spec_from_loader` to help in " +"porting. (Contributed by Brett Cannon in :issue:`42134`.)" +msgstr "" +"Використання :meth:`importlib.abc.MetaPathFinder.find_module` і :meth:" +"`importlib.abc.PathEntryFinder.find_module` системою імпорту тепер викликає :" +"exc:`ImportWarning` як :meth:`importlib.abc. MetaPathFinder.find_spec` і :" +"meth:`importlib.abc.PathEntryFinder.find_spec` є кращими відповідно. Ви " +"можете використовувати :func:`importlib.util.spec_from_loader`, щоб " +"допомогти у перенесенні. (Надано Бреттом Кенноном у :issue:`42134`.)" + +msgid "" +"The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import " +"system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc." +"PathEntryFinder.find_spec` is preferred. You can use :func:`importlib.util." +"spec_from_loader` to help in porting. (Contributed by Brett Cannon in :issue:" +"`43672`.)" +msgstr "" +"Використання :meth:`importlib.abc.PathEntryFinder.find_loader` системою " +"імпорту тепер викликає :exc:`ImportWarning`, оскільки :meth:`importlib.abc." +"PathEntryFinder.find_spec` є кращим. Ви можете використовувати :func:" +"`importlib.util.spec_from_loader`, щоб допомогти у перенесенні. (Надано " +"Бреттом Кенноном у :issue:`43672`.)" + +msgid "" +"The various implementations of :meth:`importlib.abc.MetaPathFinder." +"find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :" +"meth:`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib." +"machinery.WindowsRegistryFinder.find_module`, :meth:`importlib.machinery." +"PathFinder.find_module`, :meth:`importlib.abc.MetaPathFinder." +"find_module` ), :meth:`importlib.abc.PathEntryFinder.find_module` ( :meth:" +"`importlib.machinery.FileFinder.find_module` ), and :meth:`importlib.abc." +"PathEntryFinder.find_loader` ( :meth:`importlib.machinery.FileFinder." +"find_loader` ) now raise :exc:`DeprecationWarning` and are slated for " +"removal in Python 3.12 (previously they were documented as deprecated in " +"Python 3.4). (Contributed by Brett Cannon in :issue:`42135`.)" +msgstr "" +"Різні реалізації :meth:`importlib.abc.MetaPathFinder.find_module` ( :meth:" +"`importlib.machinery.BuiltinImporter.find_module`, :meth:`importlib." +"machinery.FrozenImporter.find_module`, :meth:`importlib.machinery ." +"WindowsRegistryFinder.find_module`, :meth:`importlib.machinery.PathFinder." +"find_module`, :meth:`importlib.abc.MetaPathFinder.find_module` , :meth:" +"`importlib.abc.PathEntryFinder.find_module` ( :meth:`importlib.machinery." +"FileFinder.find_module` ) і :meth:`importlib.abc.PathEntryFinder." +"find_loader` ( :meth:`importlib.machinery.FileFinder.find_loader` ) тепер " +"викликають :exc:`DeprecationWarning` і планується для видалення у Python " +"3.12 (раніше вони були задокументовані як застарілі в Python 3.4). (Надано " +"Бреттом Кенноном у :issue:`42135`.)" + +msgid "" +":class:`importlib.abc.Finder` is deprecated (including its sole method, :" +"meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc." +"MetaPathFinder` and :class:`importlib.abc.PathEntryFinder` no longer inherit " +"from the class. Users should inherit from one of these two classes as " +"appropriate instead. (Contributed by Brett Cannon in :issue:`42135`.)" +msgstr "" +":class:`importlib.abc.Finder` застаріло (включаючи його єдиний метод, :meth:" +"`~importlib.abc.Finder.find_module`). І :class:`importlib.abc." +"MetaPathFinder`, і :class:`importlib.abc.PathEntryFinder` більше не " +"успадковують від класу. Натомість користувачі повинні успадковувати один із " +"цих двох класів. (Надано Бреттом Кенноном у :issue:`42135`.)" + +msgid "" +"The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:" +"`importlib.util.set_package_wrapper`, :func:`importlib.util." +"set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:" +"`pkgutil.ImpImporter`, and :class:`pkgutil.ImpLoader` have all been updated " +"to list Python 3.12 as the slated version of removal (they began raising :" +"exc:`DeprecationWarning` in previous versions of Python). (Contributed by " +"Brett Cannon in :issue:`43720`.)" +msgstr "" +"Застарілі :mod:`imp`, :func:`importlib.find_loader`, :func:`importlib.util." +"set_package_wrapper`, :func:`importlib.util.set_loader_wrapper`, :func:" +"`importlib.util.module_for_loader`, :class:`pkgutil.ImpImporter` і :class:" +"`pkgutil.ImpLoader` оновлено, щоб указати Python 3.12 як планову версію " +"видалення (вони почали викликати :exc:`DeprecationWarning` у попередніх " +"версіях Python). . (Надано Бреттом Кенноном у :issue:`43720`.)" + +msgid "" +"The import system now uses the ``__spec__`` attribute on modules before " +"falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's " +"``__repr__()`` method. Removal of the use of ``module_repr()`` is scheduled " +"for Python 3.12. (Contributed by Brett Cannon in :issue:`42137`.)" +msgstr "" +"Система імпорту тепер використовує атрибут ``__spec__`` для модулів перед " +"поверненням до :meth:`~importlib.abc.Loader.module_repr` для методу " +"``__repr__()`` модуля. Видалення використання ``module_repr()`` заплановано " +"для Python 3.12. (Надано Бреттом Кенноном у :issue:`42137`.)" + +msgid "" +":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." +"FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader." +"module_repr` are deprecated and slated for removal in Python 3.12. " +"(Contributed by Brett Cannon in :issue:`42136`.)" +msgstr "" +":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." +"FrozenLoader.module_repr` і :meth:`importlib.machinery.BuiltinLoader." +"module_repr` застаріли та планується для видалення в Python 3.12. (Надав " +"Бретт Кеннон у :issue:`42136`.)" + +msgid "" +"``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python " +"3.3, when it was made an alias to :class:`str`. It is now deprecated, " +"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in :" +"issue:`42264`.)" +msgstr "" +"``sqlite3.OptimizedUnicode`` був незадокументованим і застарілим з Python " +"3.3, коли його було зроблено псевдонімом :class:`str`. Зараз він застарів, " +"планується його видалення в Python 3.12. (Надав Erlend E. Aasland у :issue:" +"`42264`.)" + +msgid "" +":func:`asyncio.get_event_loop` now emits a deprecation warning if there is " +"no running event loop. In the future it will be an alias of :func:`~asyncio." +"get_running_loop`. :mod:`asyncio` functions which implicitly create :class:" +"`~asyncio.Future` or :class:`~asyncio.Task` objects now emit a deprecation " +"warning if there is no running event loop and no explicit *loop* argument is " +"passed: :func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, :func:" +"`~asyncio.gather`, :func:`~asyncio.shield`, :func:`~asyncio.as_completed` " +"and constructors of :class:`~asyncio.Future`, :class:`~asyncio.Task`, :class:" +"`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol`. " +"(Contributed by Serhiy Storchaka in :issue:`39529`.)" +msgstr "" +":func:`asyncio.get_event_loop` тепер видає попередження про застаріле, якщо " +"немає запущеного циклу подій. У майбутньому це буде псевдонім :func:" +"`~asyncio.get_running_loop`. Функції :mod:`asyncio`, які неявно створюють " +"об’єкти :class:`~asyncio.Future` або :class:`~asyncio.Task`, тепер видають " +"попередження про застаріле, якщо не виконується цикл подій і немає явного " +"аргументу *loop* передано: :func:`~asyncio.ensure_future`, :func:`~asyncio." +"wrap_future`, :func:`~asyncio.gather`, :func:`~asyncio.shield`, :func:" +"`~asyncio.as_completed` і конструктори :class:`~asyncio.Future`, :class:" +"`~asyncio.Task`, :class:`~asyncio.StreamReader`, :class:`~asyncio." +"StreamReaderProtocol`. (Надав Сергій Сторчака в :issue:`39529`.)" + +msgid "" +"The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " +"deprecated, scheduled for removal in Python 3.12. Its use is strongly " +"discouraged by the SQLite3 documentation. See `the SQLite3 docs `_ for more details. If a shared " +"cache must be used, open the database in URI mode using the ``cache=shared`` " +"query parameter. (Contributed by Erlend E. Aasland in :issue:`24464`.)" +msgstr "" +"Недокументована вбудована функція ``sqlite3.enable_shared_cache`` тепер " +"застаріла, її планується видалити в Python 3.12. Його використання настійно " +"не рекомендується документацією SQLite3. Перегляньте `документи SQLite3 " +"`_ для отримання " +"додаткової інформації. Якщо потрібно використовувати спільний кеш, відкрийте " +"базу даних у режимі URI за допомогою параметра запиту ``cache=shared``. " +"(Надав Erlend E. Aasland у :issue:`24464`.)" + +msgid "The following ``threading`` methods are now deprecated:" +msgstr "Наступні методи ``потоковості`` тепер застаріли:" + +msgid "``threading.currentThread`` => :func:`threading.current_thread`" +msgstr "``threading.currentThread`` => :func:`threading.current_thread`" + +msgid "``threading.activeCount`` => :func:`threading.active_count`" +msgstr "``threading.activeCount`` => :func:`threading.active_count`" + +msgid "" +"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" +msgstr "" +"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" + +msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" +msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" + +msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" +msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name`" + +msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" +msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name`" + +msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" +msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" + +msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" +msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" + +msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)" +msgstr "" + +msgid "" +":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python " +"3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " +"Gale in :issue:`39950`.)" +msgstr "" +":meth:`pathlib.Path.link_to` не підтримується та планується для видалення в " +"Python 3.12. Натомість використовуйте :meth:`pathlib.Path.hardlink_to`. " +"(Надано Барні Гейлом у :issue:`39950`.)" + +msgid "" +"``cgi.log()`` is deprecated and slated for removal in Python 3.12. " +"(Contributed by Inada Naoki in :issue:`41139`.)" +msgstr "" +"``cgi.log()`` застарів і планується для видалення в Python 3.12. (Надано " +"Інадою Наокі в :issue:`41139`.)" + +msgid "" +"The following :mod:`ssl` features have been deprecated since Python 3.6, " +"Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:" +msgstr "" +"Наступні функції :mod:`ssl` застаріли з Python 3.6, Python 3.7 або OpenSSL " +"1.1.0 і будуть видалені в 3.11:" + +msgid "" +":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." +"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :" +"data:`~ssl.OP_NO_TLSv1_3` are replaced by :attr:`sslSSLContext." +"minimum_version` and :attr:`sslSSLContext.maximum_version`." +msgstr "" +":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." +"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, і :" +"data:`~ssl.OP_NO_TLSv1_3` замінюються на :attr:`sslSSLContext." +"minimum_version` і :attr:`sslSSLContext.maximum_version`." + +msgid "" +":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." +"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." +"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2`, and :data:`~ssl." +"PROTOCOL_TLS` are deprecated in favor of :data:`~ssl.PROTOCOL_TLS_CLIENT` " +"and :data:`~ssl.PROTOCOL_TLS_SERVER`" +msgstr "" +":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." +"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." +"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2` і :data:`~ssl.PROTOCOL_TLS` " +"застаріли на користь :data:`~ssl.PROTOCOL_TLS_CLIENT` і :data:`~ssl." +"PROTOCOL_TLS_SERVER`" + +msgid "" +":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`" +msgstr "" +":func:`~ssl.wrap_socket` замінюється на :meth:`ssl.SSLContext.wrap_socket`" + +msgid ":func:`~ssl.match_hostname`" +msgstr ":func:`~ssl.match_hostname`" + +msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" +msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" + +msgid "" +"NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." +"SSLContext.set_npn_protocols` are replaced by ALPN." +msgstr "" +"Такі функції NPN, як :meth:`ssl.SSLSocket.selected_npn_protocol` і :meth:" +"`ssl.SSSLContext.set_npn_protocols`, замінено на ALPN." + +msgid "" +"The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is " +"deprecated in Python 3.10 and will be removed in Python 3.12. This feature " +"requires a :ref:`debug build of Python `. (Contributed by " +"Victor Stinner in :issue:`44584`.)" +msgstr "" +"Налагодження потоків (:envvar:`PYTHONTHREADDEBUG` змінна середовища) " +"застаріло в Python 3.10 і буде видалено в Python 3.12. Для цієї функції " +"потрібна :ref:`налагоджувальна збірка Python `. (Надав Віктор " +"Стіннер у :issue:`44584`.)" + +msgid "" +"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" +"exc:`DeprecationWarning`. These submodules will be removed in a future " +"version of Python. Anything belonging to these submodules should be " +"imported directly from :mod:`typing` instead. (Contributed by Sebastian " +"Rittau in :issue:`38291`.)" +msgstr "" + +msgid "Removed" +msgstr "Видалено" + +msgid "" +"Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " +"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " +"``__rdivmod__`` of the :class:`complex` class. They always raised a :exc:" +"`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)" +msgstr "" +"Видалено спеціальні методи ``__int__``, ``__float__``, ``__floordiv__``, " +"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` та " +"``__rdivmod__`` класу :class:`complex`. Вони завжди викликали :exc:" +"`TypeError`. (Надав Сергій Сторчака в :issue:`41974`.)" + +msgid "" +"The ``ParserBase.error()`` method from the private and undocumented " +"``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is " +"the only subclass of ``ParserBase`` and its ``error()`` implementation was " +"already removed in Python 3.5. (Contributed by Berker Peksag in :issue:" +"`31844`.)" +msgstr "" +"Метод ``ParserBase.error()`` із приватного та недокументованого модуля " +"``_markupbase`` видалено. :class:`html.parser.HTMLParser` є єдиним підкласом " +"``ParserBase``, і його реалізацію ``error()`` уже було видалено в Python " +"3.5. (Надано Berker Peksag у :issue:`31844`.)" + +msgid "" +"Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " +"PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was " +"moved to the internal C API. (Contributed by Victor Stinner in :issue:" +"`42157`.)" +msgstr "" +"Видалено атрибут ``unicodedata.ucnhash_CAPI``, який був внутрішнім об’єктом " +"PyCapsule. Відповідну приватну структуру ``_PyUnicode_Name_CAPI`` було " +"переміщено до внутрішнього C API. (Надав Віктор Стіннер у :issue:`42157`.)" + +msgid "" +"Removed the ``parser`` module, which was deprecated in 3.9 due to the switch " +"to the new PEG parser, as well as all the C source and header files that " +"were only being used by the old parser, including ``node.h``, ``parser.h``, " +"``graminit.h`` and ``grammar.h``." +msgstr "" +"Видалено модуль ``парсер``, який був застарілим у версії 3.9 через перехід " +"на новий синтаксичний аналізатор PEG, а також усі вихідні файли C і файли " +"заголовків, які використовувалися лише старим парсером, включаючи ``node.h " +"``, ``parser.h``, ``graminit.h`` і ``grammar.h``." + +msgid "" +"Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " +"``PyParser_SimpleParseStringFlagsFilename``, " +"``PyParser_SimpleParseFileFlags`` and ``PyNode_Compile`` that were " +"deprecated in 3.9 due to the switch to the new PEG parser." +msgstr "" +"Видалено публічні функції API C ``PyParser_SimpleParseStringFlags``, " +"``PyParser_SimpleParseStringFlagsFilename``, ``Parser_SimpleParseFileFlags`` " +"і ``PyNode_Compile``, які були застарілими в 3.9 через перехід на новий " +"аналізатор PEG." + +msgid "" +"Removed the ``formatter`` module, which was deprecated in Python 3.4. It is " +"somewhat obsolete, little used, and not tested. It was originally scheduled " +"to be removed in Python 3.6, but such removals were delayed until after " +"Python 2.7 EOL. Existing users should copy whatever classes they use into " +"their code. (Contributed by Dong-hee Na and Terry J. Reedy in :issue:" +"`42299`.)" +msgstr "" +"Видалено модуль ``formatter``, який був застарілим у Python 3.4. Він дещо " +"застарів, мало використовується і не перевірений. Спочатку було заплановано " +"його видалення в Python 3.6, але такі видалення було відкладено до " +"закінчення Python 2.7 EOL. Існуючі користувачі повинні скопіювати будь-які " +"класи, які вони використовують, у свій код. (Надано Dong-hee Na та Terry J. " +"Reedy у :issue:`42299`.)" + +msgid "" +"Removed the :c:func:`PyModule_GetWarningsModule` function that was useless " +"now due to the _warnings module was converted to a builtin module in 2.6. " +"(Contributed by Hai Shi in :issue:`42599`.)" +msgstr "" +"Видалено функцію :c:func:`PyModule_GetWarningsModule`, яка зараз була " +"марною, оскільки модуль _warnings було перетворено на вбудований модуль у " +"2.6. (Надав Хай Ши в :issue:`42599`.)" + +msgid "" +"Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " +"the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" +"`37324`.)" +msgstr "" +"Видаліть застарілі псевдоніми для :ref:`collections-abstract-base-classes` з " +"модуля :mod:`collections`. (Надав Віктор Стіннер у :issue:`37324`.)" + +msgid "" +"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" +"doc:`high-level API <../library/asyncio-api-index>` following deprecation in " +"Python 3.8. The motivation behind this change is multifold:" +msgstr "" +"Параметр ``loop`` було видалено з більшості :mod:`asyncio`\\ :doc:" +"`високорівневого API <../library/asyncio-api-index>` після застарілої версії " +"Python 3.8. Мотивація цієї зміни багатогранна:" + +msgid "This simplifies the high-level API." +msgstr "Це спрощує API високого рівня." + +msgid "" +"The functions in the high-level API have been implicitly getting the current " +"thread's running event loop since Python 3.7. There isn't a need to pass " +"the event loop to the API in most normal use cases." +msgstr "" +"Починаючи з Python 3.7, функції високорівневого API неявно отримують " +"поточний цикл подій поточного потоку. У більшості звичайних випадків " +"використання циклу подій до API не потрібно передавати." + +msgid "" +"Event loop passing is error-prone especially when dealing with loops running " +"in different threads." +msgstr "" +"Передача циклу подій схильна до помилок, особливо коли йдеться про цикли, що " +"виконуються в різних потоках." + +msgid "" +"Note that the low-level API will still accept ``loop``. See :ref:`changes-" +"python-api` for examples of how to replace existing code." +msgstr "" +"Зауважте, що API низького рівня все одно прийматиме ``цикл``. Перегляньте :" +"ref:`changes-python-api` приклади того, як замінити існуючий код." + +msgid "" +"(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " +"Stanley in :issue:`42392`.)" +msgstr "" +"(Надано Юрієм Карабасом, Ендрю Свєтловим, Юрієм Селівановим і Кайлом Стенлі " +"в :issue:`42392`.)" + +msgid "Porting to Python 3.10" +msgstr "Перенесення на Python 3.10" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in the Python syntax" +msgstr "Зміни в синтаксисі Python" + +msgid "" +"Deprecation warning is now emitted when compiling previously valid syntax if " +"the numeric literal is immediately followed by a keyword (like in ``0in " +"x``). In future releases it will be changed to syntax warning, and finally " +"to a syntax error. To get rid of the warning and make the code compatible " +"with future releases just add a space between the numeric literal and the " +"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`.)" +msgstr "" + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +"The *etype* parameters of the :func:`~traceback.format_exception`, :func:" +"`~traceback.format_exception_only`, and :func:`~traceback.print_exception` " +"functions in the :mod:`traceback` module have been renamed to *exc*. " +"(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" +msgstr "" +"Параметри *etype* функцій :func:`~traceback.format_exception`, :func:" +"`~traceback.format_exception_only` і :func:`~traceback.print_exception` у " +"модулі :mod:`traceback` перейменовано до *exc*. (Надано Zackery Spytz і " +"Matthias Bussonnier у :issue:`26389`.)" + +msgid "" +":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit." +"register` fails, its exception is now logged. Previously, only some " +"exceptions were logged, and the last exception was always silently ignored. " +"(Contributed by Victor Stinner in :issue:`42639`.)" +msgstr "" +":mod:`atexit`: під час виходу з Python, якщо зворотний виклик, " +"зареєстрований за допомогою :func:`atexit.register`, не вдається, його " +"виняткова ситуація тепер реєструється. Раніше реєструвалися лише деякі " +"винятки, а останній виняток завжди мовчки ігнорувався. (Надав Віктор Стіннер " +"у :issue:`42639`.)" + +msgid "" +":class:`collections.abc.Callable` generic now flattens type parameters, " +"similar to what :data:`typing.Callable` currently does. This means that " +"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of " +"``(int, str, str)``; previously this was ``([int, str], str)``. Code which " +"accesses the arguments via :func:`typing.get_args` or ``__args__`` need to " +"account for this change. Furthermore, :exc:`TypeError` may be raised for " +"invalid forms of parameterizing :class:`collections.abc.Callable` which may " +"have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:" +"`42195`.)" +msgstr "" +":class:`collections.abc.Callable` generic тепер зводить параметри типу, " +"подібно до того, що зараз робить :data:`typing.Callable`. Це означає, що " +"``collections.abc.Callable[[int, str], str]`` матиме ``__args__`` ``(int, " +"str, str)``; раніше це було ``([int, str], str)``. Код, який отримує доступ " +"до аргументів через :func:`typing.get_args` або ``__args__``, повинен " +"враховувати цю зміну. Крім того, помилка :exc:`TypeError` може виникнути " +"через неприпустимі форми параметризації :class:`collections.abc.Callable`, " +"які могли пройти мовчки в Python 3.9. (Надав Кен Джин у :issue:`42195`.)" + +msgid "" +":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` " +"instead of :exc:`DeprecationWarning` if the given parameter will not fit in " +"a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in :issue:" +"`42393`.)" +msgstr "" +":meth:`socket.htons` і :meth:`socket.ntohs` тепер викликають :exc:" +"`OverflowError` замість :exc:`DeprecationWarning`, якщо заданий параметр не " +"вміщується в 16-бітне ціле число без знаку. (Надав Erlend E. Aasland у :" +"issue:`42393`.)" + +msgid "" +"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" +"doc:`high-level API <../library/asyncio-api-index>` following deprecation in " +"Python 3.8." +msgstr "" +"Параметр ``loop`` було видалено з більшості :mod:`asyncio`\\ :doc:" +"`високорівневого API <../library/asyncio-api-index>` після застарілої версії " +"Python 3.8." + +msgid "A coroutine that currently looks like this::" +msgstr "Співпрограма, яка зараз виглядає так::" + +msgid "Should be replaced with this::" +msgstr "Слід замінити на це::" + +msgid "" +"If ``foo()`` was specifically designed *not* to run in the current thread's " +"running event loop (e.g. running in another thread's event loop), consider " +"using :func:`asyncio.run_coroutine_threadsafe` instead." +msgstr "" +"Якщо ``foo()`` був спеціально розроблений *не* для виконання в поточному " +"циклі подій поточного потоку (наприклад, у циклі подій іншого потоку), " +"подумайте про використання замість нього :func:`asyncio." +"run_coroutine_threadsafe`." + +msgid "" +"The :data:`types.FunctionType` constructor now inherits the current builtins " +"if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than " +"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` and :" +"func:`exec` functions. Defining a function with ``def function(...): ...`` " +"in Python is not affected, globals cannot be overridden with this syntax: it " +"also inherits the current builtins. (Contributed by Victor Stinner in :issue:" +"`42990`.)" +msgstr "" +"Конструктор :data:`types.FunctionType` тепер успадковує поточні вбудовані " +"елементи, якщо словник *globals* не має ключа ``\"__builtins__\"``, а не " +"використовує ``{\"None\": None}`` як вбудовані елементи: те саме як функції :" +"func:`eval` і :func:`exec`. Визначення функції за допомогою ``def " +"function(...): ...`` у Python не впливає, глобальні значення не можна " +"перевизначити за допомогою цього синтаксису: він також успадковує поточні " +"вбудовані компоненти. (Надав Віктор Стіннер у :issue:`42990`.)" + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +"The C API functions ``PyParser_SimpleParseStringFlags``, " +"``PyParser_SimpleParseStringFlagsFilename``, " +"``PyParser_SimpleParseFileFlags``, ``PyNode_Compile`` and the type used by " +"these functions, ``struct _node``, were removed due to the switch to the new " +"PEG parser." +msgstr "" +"Функції C API ``Parser_SimpleParseStringFlags``, " +"``PyParser_SimpleParseStringFlagsFilename``, " +"``Parser_SimpleParseFileFlags``, ``PyNode_Compile`` і тип, який " +"використовується цими функціями, ``struct _node``, були видалені через " +"перехід до новий аналізатор PEG." + +msgid "" +"Source should be now be compiled directly to a code object using, for " +"example, :c:func:`Py_CompileString`. The resulting code object can then be " +"evaluated using, for example, :c:func:`PyEval_EvalCode`." +msgstr "" +"Початковий код тепер має бути скомпільований безпосередньо в об’єкт коду за " +"допомогою, наприклад, :c:func:`Py_CompileString`. Потім отриманий об’єкт " +"коду можна оцінити за допомогою, наприклад, :c:func:`PyEval_EvalCode`." + +msgid "Specifically:" +msgstr "зокрема:" + +msgid "" +"A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` " +"can be replaced by calling :c:func:`Py_CompileString`." +msgstr "" +"Виклик ``Parser_SimpleParseStringFlags`` з наступним ``PyNode_Compile`` " +"можна замінити викликом :c:func:`Py_CompileString`." + +msgid "" +"There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To " +"compile code from a ``FILE *`` argument, you will need to read the file in C " +"and pass the resulting buffer to :c:func:`Py_CompileString`." +msgstr "" +"Немає прямої заміни для ``PyParser_SimpleParseFileFlags``. Щоб скомпілювати " +"код із аргументу ``FILE *``, вам потрібно буде прочитати файл на C і " +"передати отриманий буфер до :c:func:`Py_CompileString`." + +msgid "" +"To compile a file given a ``char *`` filename, explicitly open the file, " +"read it and compile the result. One way to do this is using the :py:mod:`io` " +"module with :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :" +"c:func:`PyBytes_AsString` and :c:func:`Py_CompileString`, as sketched below. " +"(Declarations and error handling are omitted.) ::" +msgstr "" +"Щоб скомпілювати файл із назвою ``char *``, явно відкрийте файл, прочитайте " +"його та скомпілюйте результат. Одним із способів зробити це є використання " +"модуля :py:mod:`io` з :c:func:`PyImport_ImportModule`, :c:func:" +"`PyObject_CallMethod`, :c:func:`PyBytes_AsString` і :c:func:" +"`Py_CompileString`, як показано нижче. (Оголошення та обробка помилок " +"опущено.) ::" + +msgid "" +"For ``FrameObject`` objects, the ``f_lasti`` member now represents a " +"wordcode offset instead of a simple offset into the bytecode string. This " +"means that this number needs to be multiplied by 2 to be used with APIs that " +"expect a byte offset instead (like :c:func:`PyCode_Addr2Line` for example). " +"Notice as well that the ``f_lasti`` member of ``FrameObject`` objects is not " +"considered stable: please use :c:func:`PyFrame_GetLineNumber` instead." +msgstr "" +"Для об’єктів ``FrameObject`` член ``f_lasti`` тепер представляє зсув " +"wordcode замість простого зміщення в рядку байт-коду. Це означає, що це " +"число потрібно помножити на 2, щоб використовувати його з API, які замість " +"цього очікують зміщення байтів (наприклад, :c:func:`PyCode_Addr2Line`). " +"Також зауважте, що член ``f_lasti`` об’єктів ``FrameObject`` не вважається " +"стабільним: використовуйте замість нього :c:func:`PyFrame_GetLineNumber`." + +msgid "CPython bytecode changes" +msgstr "Зміни байт-коду CPython" + +msgid "" +"The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of " +"strings as the function's annotations. (Contributed by Yurii Karabas and " +"Inada Naoki in :issue:`42202`.)" +msgstr "" + +msgid "Build Changes" +msgstr "Зміни збірки" + +msgid "" +":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no " +"longer supported. (Contributed by Christian Heimes in :issue:`43669`.)" +msgstr "" +":pep:`644`: Python тепер вимагає OpenSSL 1.1.1 або новішої версії. OpenSSL " +"1.0.2 більше не підтримується. (Надав Крістіан Хеймс у :issue:`43669`.)" + +msgid "" +"The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " +"required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" +msgstr "" +"Функції C99 :c:func:`snprintf` і :c:func:`vsnprintf` тепер потрібні для " +"створення Python. (Надав Віктор Стіннер у :issue:`36020`.)" + +msgid "" +":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " +"Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" +msgstr "" +":mod:`sqlite3` вимагає SQLite 3.7.15 або новішої версії. (Надано Сергієм " +"Федосєєвим та Ерлендом Е. Асландом у :issue:`40744` та :issue:`40810`.)" + +msgid "" +"The :mod:`atexit` module must now always be built as a built-in module. " +"(Contributed by Victor Stinner in :issue:`42639`.)" +msgstr "" +"Модуль :mod:`atexit` тепер завжди має створюватися як вбудований модуль. " +"(Надав Віктор Стіннер у :issue:`42639`.)" + +msgid "" +"Add :option:`--disable-test-modules` option to the ``configure`` script: " +"don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " +"Petazzoni and Peixing Xin in :issue:`27640`.)" +msgstr "" +"Додайте параметр :option:`--disable-test-modules` до сценарію ``configure``: " +"не створюйте та не встановлюйте тестові модулі. (Надано Ксав’є де Гає, " +"Томасом Петаццоні та Пейсін Сінь у :issue:`27640`.)" + +msgid "" +"Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the " +"``./configure`` script. If specified, the :mod:`ensurepip` module looks for " +"``setuptools`` and ``pip`` wheel packages in this directory: if both are " +"present, these wheel packages are used instead of ensurepip bundled wheel " +"packages." +msgstr "" +"Додайте параметр :option:`--with-wheel-pkg-dir=PATH <--with-wheel-pkg-dir>` " +"до сценарію ``./configure``. Якщо вказано, модуль :mod:`ensurepip` шукає " +"пакети коліс ``setuptools`` і ``pip`` у цьому каталозі: якщо обидва " +"присутні, ці пакунки колеса використовуються замість пакетів колес " +"гарантійpip." + +msgid "" +"Some Linux distribution packaging policies recommend against bundling " +"dependencies. For example, Fedora installs wheel packages in the ``/usr/" +"share/python-wheels/`` directory and don't install the ``ensurepip." +"_bundled`` package." +msgstr "" +"Деякі політики упаковки дистрибутивів Linux рекомендують не об’єднувати " +"залежності. Наприклад, Fedora встановлює пакети коліс у каталог ``/usr/share/" +"python-wheels/`` і не встановлює пакет ``ensurepip._bundled``." + +msgid "(Contributed by Victor Stinner in :issue:`42856`.)" +msgstr "(Надав Віктор Стіннер у :issue:`42856`.)" + +msgid "" +"Add a new :option:`configure --without-static-libpython option <--without-" +"static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " +"library and not install the ``python.o`` object file." +msgstr "" +"Додайте нову опцію :option:`configure --without-static-libpython <--without-" +"static-libpython>`, щоб не створювати статичну бібліотеку ``libpythonMAJOR." +"MINOR.a`` і не встановлювати об’єктний файл ``python.o``." + +msgid "(Contributed by Victor Stinner in :issue:`43103`.)" +msgstr "(Надав Віктор Стіннер у :issue:`43103`.)" + +msgid "" +"The ``configure`` script now uses the ``pkg-config`` utility, if available, " +"to detect the location of Tcl/Tk headers and libraries. As before, those " +"locations can be explicitly specified with the ``--with-tcltk-includes`` and " +"``--with-tcltk-libs`` configuration options. (Contributed by Manolis " +"Stamatogiannakis in :issue:`42603`.)" +msgstr "" + +msgid "" +"Add :option:`--with-openssl-rpath` option to ``configure`` script. The " +"option simplifies building Python with a custom OpenSSL installation, e.g. " +"``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``. " +"(Contributed by Christian Heimes in :issue:`43466`.)" +msgstr "" +"Додайте параметр :option:`--with-openssl-rpath` до сценарію ``configure``. " +"Цей параметр спрощує створення Python за допомогою індивідуальної інсталяції " +"OpenSSL, наприклад. ``./configure --with-openssl=/path/to/openssl --with-" +"openssl-rpath=auto``. (Надав Крістіан Хеймс у :issue:`43466`.)" + +msgid "C API Changes" +msgstr "Зміни C API" + +msgid "PEP 652: Maintaining the Stable ABI" +msgstr "PEP 652: Підтримка стабільного ABI" + +msgid "" +"The Stable ABI (Application Binary Interface) for extension modules or " +"embedding Python is now explicitly defined. :ref:`stable` describes C API " +"and ABI stability guarantees along with best practices for using the Stable " +"ABI." +msgstr "" +"Стабільний ABI (двійковий інтерфейс програми) для модулів розширення або " +"вбудовування Python тепер визначено явно. :ref:`stable` описує гарантії " +"стабільності C API та ABI разом із найкращими методами використання " +"стабільного ABI." + +msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" +msgstr "(Надав Петр Вікторін у :pep:`652` і :issue:`43795`.)" + +msgid "" +"The result of :c:func:`PyNumber_Index` now always has exact type :class:" +"`int`. Previously, the result could have been an instance of a subclass of " +"``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)" +msgstr "" +"Результат :c:func:`PyNumber_Index` тепер завжди має точний тип :class:`int`. " +"Раніше результат міг бути екземпляром підкласу ``int``. (Надав Сергій " +"Сторчака в :issue:`40792`.)" + +msgid "" +"Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` " +"structure: the list of the original command line arguments passed to the " +"Python executable. (Contributed by Victor Stinner in :issue:`23427`.)" +msgstr "" +"Додайте новий член :c:member:`~PyConfig.orig_argv` до структури :c:type:" +"`PyConfig`: список оригінальних аргументів командного рядка, переданих у " +"виконуваний файл Python. (Надав Віктор Стіннер у :issue:`23427`.)" + +msgid "" +"The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:" +"`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the " +"``tzinfo`` attributes of :class:`datetime.datetime` and :class:`datetime." +"time` objects. (Contributed by Zackery Spytz in :issue:`30155`.)" +msgstr "" +"Додано макроси :c:func:`PyDateTime_DATE_GET_TZINFO` і :c:func:" +"`PyDateTime_TIME_GET_TZINFO` для доступу до атрибутів ``tzinfo`` об'єктів :" +"class:`datetime.datetime` і :class:`datetime.time` . (Надав Закері Шпітц у :" +"issue:`30155`.)" + +msgid "" +"Add a :c:func:`PyCodec_Unregister` function to unregister a codec search " +"function. (Contributed by Hai Shi in :issue:`41842`.)" +msgstr "" +"Додайте функцію :c:func:`PyCodec_Unregister`, щоб скасувати реєстрацію " +"функції пошуку кодеків. (Надав Хай Ши в :issue:`41842`.)" + +msgid "" +"The :c:func:`PyIter_Send` function was added to allow sending value into " +"iterator without raising ``StopIteration`` exception. (Contributed by " +"Vladimir Matveev in :issue:`41756`.)" +msgstr "" +"Функцію :c:func:`PyIter_Send` було додано, щоб дозволити надсилати значення " +"в ітератор без виклику винятку ``StopIteration``. (Надав Володимир Матвєєв " +"у :issue:`41756`.)" + +msgid "" +"Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " +"Alex Gaynor in :issue:`41784`.)" +msgstr "" +"Додайте :c:func:`PyUnicode_AsUTF8AndSize` до обмеженого C API. (Надав Алекс " +"Гейнор у :issue:`41784`.)" + +msgid "" +"Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:" +"`PyModule_AddObject` but don't steal a reference to the value on success. " +"(Contributed by Victor Stinner in :issue:`1635741`.)" +msgstr "" +"Додайте функцію :c:func:`PyModule_AddObjectRef`: схожу на :c:func:" +"`PyModule_AddObject`, але не викрадайте посилання на значення в разі успіху. " +"(Надав Віктор Стіннер у :issue:`1635741`.)" + +msgid "" +"Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the " +"reference count of an object and return the object. (Contributed by Victor " +"Stinner in :issue:`42262`.)" +msgstr "" +"Додайте функції :c:func:`Py_NewRef` і :c:func:`Py_XNewRef`, щоб збільшити " +"кількість посилань на об’єкт і повернути об’єкт. (Надав Віктор Стіннер у :" +"issue:`42262`.)" + +msgid "" +"The :c:func:`PyType_FromSpecWithBases` and :c:func:" +"`PyType_FromModuleAndSpec` functions now accept a single class as the " +"*bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)" +msgstr "" +"Функції :c:func:`PyType_FromSpecWithBases` і :c:func:" +"`PyType_FromModuleAndSpec` тепер приймають один клас як аргумент *bases*. " +"(Надав Сергій Сторчака в :issue:`42423`.)" + +msgid "" +"The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " +"slot. (Contributed by Hai Shi in :issue:`41832`.)" +msgstr "" +"Функція :c:func:`PyType_FromModuleAndSpec` тепер приймає NULL слот " +"``tp_doc``. (Надав Хай Ши в :issue:`41832`.)" + +msgid "" +"The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" +msgstr "" +"Функція :c:func:`PyType_GetSlot` може приймати :ref:`статичні типи `. (Надано Хай Ши та Петром Вікторіним у :issue:`41073`.)" + +msgid "" +"Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an " +"object is an instance of :class:`set` but not an instance of a subtype. " +"(Contributed by Pablo Galindo in :issue:`43277`.)" +msgstr "" +"Додайте нову функцію :c:func:`PySet_CheckExact` до C-API, щоб перевірити, чи " +"є об’єкт екземпляром :class:`set`, але не екземпляром підтипу. (Надав Пабло " +"Галіндо в :issue:`43277`.)" + +msgid "" +"Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " +"simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" +msgstr "" +"Додайте :c:func:`PyErr_SetInterruptEx`, який дозволяє передавати номер " +"сигналу для моделювання. (Надав Антуан Пітру в :issue:`43356`.)" + +msgid "" +"The limited C API is now supported if :ref:`Python is built in debug mode " +"` (if the ``Py_DEBUG`` macro is defined). In the limited C API, " +"the :c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now " +"implemented as opaque function calls, rather than accessing directly the :c:" +"member:`PyObject.ob_refcnt` member, if Python is built in debug mode and the " +"``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became possible to " +"support the limited C API in debug mode because the :c:type:`PyObject` " +"structure is the same in release and debug mode since Python 3.8 (see :issue:" +"`36465`)." +msgstr "" +"Обмежений C API тепер підтримується, якщо :ref:`Python зібрано в режимі " +"налагодження ` (якщо визначено макрос ``Py_DEBUG``). В " +"обмеженому API C функції :c:func:`Py_INCREF` і :c:func:`Py_DECREF` тепер " +"реалізовано як непрозорі виклики функцій, а не звертаються безпосередньо до " +"члена :c:member:`PyObject.ob_refcnt`, якщо Python створено в режимі " +"налагодження, а макрос ``Py_LIMITED_API`` націлений на Python 3.10 або " +"новішу версію. Стало можливим підтримувати обмежений C API у режимі " +"налагодження, оскільки структура :c:type:`PyObject` є однаковою в режимі " +"випуску та налагодження, починаючи з Python 3.8 (див. :issue:`36465`)." + +msgid "" +"The limited C API is still not supported in the :option:`--with-trace-refs` " +"special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :" +"issue:`43688`.)" +msgstr "" +"Обмежений C API досі не підтримується у спеціальній збірці :option:`--with-" +"trace-refs` (макрос ``Py_TRACE_REFS``). (Надав Віктор Стіннер у :issue:" +"`43688`.)" + +msgid "" +"Add the :c:func:`Py_Is(x, y) ` function to test if the *x* object is " +"the *y* object, the same as ``x is y`` in Python. Add also the :c:func:" +"`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if " +"an object is, respectively, the ``None`` singleton, the ``True`` singleton " +"or the ``False`` singleton. (Contributed by Victor Stinner in :issue:" +"`43753`.)" +msgstr "" +"Додайте функцію :c:func:`Py_Is(x, y) `, щоб перевірити, чи є об’єкт " +"*x* об’єктом *y*, так само, як ``x is y`` у Python. Додайте також функції :c:" +"func:`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse`, щоб перевірити, " +"чи є об’єкт відповідно синглетом ``None``, ``True`` singleton або ``False`` " +"singleton. (Надав Віктор Стіннер у :issue:`43753`.)" + +msgid "" +"Add new functions to control the garbage collector from C code: :c:func:" +"`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These " +"functions allow to activate, deactivate and query the state of the garbage " +"collector from C code without having to import the :mod:`gc` module." +msgstr "" +"Додайте нові функції для керування збирачем сміття з коду C: :c:func:" +"`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. Ці " +"функції дозволяють активувати, деактивувати та запитувати стан збирача " +"сміття з коду C без необхідності імпортувати модуль :mod:`gc`." + +msgid "" +"Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow " +"creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)" +msgstr "" +"Додайте новий прапор типу :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION`, щоб " +"заборонити створення екземплярів типу. (Надав Віктор Стіннер у :issue:" +"`43916`.)" + +msgid "" +"Add a new :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " +"immutable type objects: type attributes cannot be set nor deleted. " +"(Contributed by Victor Stinner and Erlend E. Aasland in :issue:`43908`.)" +msgstr "" +"Додайте новий прапор типу :c:data:`Py_TPFLAGS_IMMUTABLETYPE` для створення " +"об’єктів незмінного типу: атрибути типу не можна встановити або видалити. " +"(Надано Віктором Стіннером та Ерлендом Е. Асландом у :issue:`43908`.)" + +msgid "" +"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:" +"`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: " +"``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. See :" +"ref:`arg-parsing` and :pep:`353`. (Contributed by Victor Stinner in :issue:" +"`40943`.)" +msgstr "" + +msgid "" +"Since :c:func:`Py_REFCNT()` is changed to the inline static function, " +"``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, " +"new_refcnt)``: see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). " +"For backward compatibility, this macro can be used::" +msgstr "" +"Оскільки :c:func:`Py_REFCNT()` змінено на вбудовану статичну функцію, " +"``Py_REFCNT(obj) = new_refcnt`` потрібно замінити на ``Py_SET_REFCNT(obj, " +"new_refcnt)``: див. :c:func:`Py_SET_REFCNT()` (доступний з Python 3.9). Для " +"зворотної сумісності можна використовувати цей макрос:" + +msgid "(Contributed by Victor Stinner in :issue:`39573`.)" +msgstr "(Надав Віктор Стіннер у :issue:`39573`.)" + +msgid "" +"Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed " +"for historical reason. It is no longer allowed. (Contributed by Victor " +"Stinner in :issue:`40839`.)" +msgstr "" +"Виклик :c:func:`PyDict_GetItem` без утримання :term:`GIL` був дозволений з " +"історичних причин. Це більше не дозволено. (Надав Віктор Стіннер у :issue:" +"`40839`.)" + +msgid "" +"``PyUnicode_FromUnicode(NULL, size)`` and " +"``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " +"now. Use :c:func:`PyUnicode_New` to allocate Unicode object without initial " +"data. (Contributed by Inada Naoki in :issue:`36346`.)" +msgstr "" +"``PyUnicode_FromUnicode(NULL, розмір)`` і " +"``PyUnicode_FromStringAndSize(NULL, розмір)`` викликають " +"``DeprecationWarning`` зараз. Використовуйте :c:func:`PyUnicode_New`, щоб " +"виділити об’єкт Unicode без початкових даних. (Надано Інадою Наокі в :issue:" +"`36346`.)" + +msgid "" +"The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API " +"``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " +"(Contributed by Victor Stinner in :issue:`42157`.)" +msgstr "" +"Приватну структуру ``_PyUnicode_Name_CAPI`` API PyCapsule ``unicodedata." +"ucnhash_CAPI`` було переміщено до внутрішнього API C. (Надав Віктор Стіннер " +"у :issue:`42157`.)" + +msgid "" +":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:" +"func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:" +"`Py_GetProgramName` functions now return ``NULL`` if called before :c:func:" +"`Py_Initialize` (before Python is initialized). Use the new :ref:`init-" +"config` API to get the :ref:`init-path-config`. (Contributed by Victor " +"Stinner in :issue:`42260`.)" +msgstr "" + +msgid "" +":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:" +"`PyCell_SET` macros can no longer be used as l-value or r-value. For " +"example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = " +"x`` now fail with a compiler error. It prevents bugs like ``if " +"(PyList_SET_ITEM (a, b, c) < 0) ...`` test. (Contributed by Zackery Spytz " +"and Victor Stinner in :issue:`30459`.)" +msgstr "" +"Макроси :c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` і :c:func:" +"`PyCell_SET` більше не можна використовувати як l-значення або r-значення. " +"Наприклад, ``x = PyList_SET_ITEM(a, b, c)`` і ``PyList_SET_ITEM(a, b, c) = " +"x`` тепер не вдаються з помилкою компілятора. Це запобігає помилкам, таким " +"як ``if (PyList_SET_ITEM (a, b, c) < 0) ...`` тест. (Надано Zackery Spytz і " +"Victor Stinner у :issue:`30459`.)" + +msgid "" +"The non-limited API files ``odictobject.h``, ``parser_interface.h``, " +"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe." +"h``, and ``pytime.h`` have been moved to the ``Include/cpython`` directory. " +"These files must not be included directly, as they are already included in " +"``Python.h``; see :ref:`api-includes`. If they have been included directly, " +"consider including ``Python.h`` instead. (Contributed by Nicholas Sim in :" +"issue:`35134`.)" +msgstr "" + +msgid "" +"Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " +"type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a " +"type object is mutable or not; check if :c:data:`Py_TPFLAGS_IMMUTABLETYPE` " +"is set instead. (Contributed by Victor Stinner and Erlend E. Aasland in :" +"issue:`43908`.)" +msgstr "" +"Використовуйте позначку типу :c:data:`Py_TPFLAGS_IMMUTABLETYPE` для " +"створення об’єктів незмінного типу. Не покладайтеся на :c:data:" +"`Py_TPFLAGS_HEAPTYPE`, щоб вирішити, чи є об’єкт типу змінним чи ні; " +"перевірте, чи замість цього встановлено :c:data:`Py_TPFLAGS_IMMUTABLETYPE`. " +"(Надано Віктором Стіннером та Ерлендом Е. Асландом у :issue:`43908`.)" + +msgid "" +"The undocumented function ``Py_FrozenMain`` has been removed from the " +"limited API. The function is mainly useful for custom builds of Python. " +"(Contributed by Petr Viktorin in :issue:`26241`.)" +msgstr "" + +msgid "" +"The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " +"removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " +"(Contributed by Victor Stinner in :issue:`41692`.)" +msgstr "" +"Функція ``PyUnicode_InternImmortal()`` тепер застаріла та буде видалена в " +"Python 3.12: замість неї використовуйте :c:func:`PyUnicode_InternInPlace`. " +"(Надав Віктор Стіннер у :issue:`41692`.)" + +msgid "" +"Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " +"(Contributed by Inada Naoki in :issue:`41123`.)" +msgstr "" +"Видалено функції ``Py_UNICODE_str*``, які маніпулюють рядками " +"``Py_UNICODE*``. (Надано Інадою Наокі в :issue:`41123`.)" + +msgid "" +"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:" +"`PyUnicode_GET_LENGTH`" +msgstr "" +"``Py_UNICODE_strlen``: використовуйте :c:func:`PyUnicode_GetLength` або :c:" +"macro:`PyUnicode_GET_LENGTH`" + +msgid "" +"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" +"`PyUnicode_FromFormat`" +msgstr "" +"``Py_UNICODE_strcat``: використовуйте :c:func:`PyUnicode_CopyCharacters` " +"або :c:func:`PyUnicode_FromFormat`" + +msgid "" +"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:" +"`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" +msgstr "" +"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: використовуйте :c:func:" +"`PyUnicode_CopyCharacters` або :c:func:`PyUnicode_Substring`" + +msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" +msgstr "``Py_UNICODE_strcmp``: використовуйте :c:func:`PyUnicode_Compare`" + +msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" +msgstr "``Py_UNICODE_strncmp``: використовуйте :c:func:`PyUnicode_Tailmatch`" + +msgid "" +"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" +"`PyUnicode_FindChar`" +msgstr "" +"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: використовуйте :c:func:" +"`PyUnicode_FindChar`" + +msgid "" +"Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " +"(Contributed by Inada Naoki in :issue:`41103`.)" +msgstr "" +"Видалено ``PyUnicode_GetMax()``. Будь ласка, перейдіть на нові (:pep:`393`) " +"API. (Надано Інадою Наокі в :issue:`41103`.)" + +msgid "" +"Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:" +"`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)" +msgstr "" +"Видалено ``PyLong_FromUnicode()``. Будь ласка, перейдіть до :c:func:" +"`PyLong_FromUnicodeObject`. (Надано Інадою Наокі в :issue:`41103`.)" + +msgid "" +"Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:" +"`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed " +"by Inada Naoki in :issue:`41103`.)" +msgstr "" +"Видалено ``PyUnicode_AsUnicodeCopy()``. Будь ласка, використовуйте :c:func:" +"`PyUnicode_AsUCS4Copy` або :c:func:`PyUnicode_AsWideCharString` (Надано " +"Інадою Наокі в :issue:`41103`.)" + +msgid "" +"Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by " +"``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. " +"(Contributed by Victor Stinner in :issue:`41834`.)" +msgstr "" +"Видалено змінну ``_Py_CheckRecursionLimit``: її було замінено ``ceval." +"recursion_limit`` структури :c:type:`PyInterpreterState`. (Надав Віктор " +"Стіннер у :issue:`41834`.)" + +msgid "" +"Removed undocumented macros ``Py_ALLOW_RECURSION`` and " +"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:" +"type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka in :" +"issue:`41936`.)" +msgstr "" +"Видалено недокументовані макроси ``Py_ALLOW_RECURSION`` і " +"``Py_END_ALLOW_RECURSION``, а також поле ``recursion_critical`` структури :c:" +"type:`PyInterpreterState`. (Надав Сергій Сторчака в :issue:`41936`.)" + +msgid "" +"Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing " +"Python already implicitly installs signal handlers: see :c:member:`PyConfig." +"install_signal_handlers`. (Contributed by Victor Stinner in :issue:`41713`.)" +msgstr "" +"Видалено недокументовану функцію ``PyOS_InitInterrupts()``. Ініціалізація " +"Python вже неявно встановлює обробники сигналів: див. :c:member:`PyConfig." +"install_signal_handlers`. (Надав Віктор Стіннер у :issue:`41713`.)" + +msgid "" +"Remove the ``PyAST_Validate()`` function. It is no longer possible to build " +"a AST object (``mod_ty`` type) with the public C API. The function was " +"already excluded from the limited C API (:pep:`384`). (Contributed by Victor " +"Stinner in :issue:`43244`.)" +msgstr "" +"Видаліть функцію ``PyAST_Validate()``. Більше неможливо створити об’єкт AST " +"(тип ``mod_ty``) за допомогою загальнодоступного C API. Функцію вже було " +"виключено з обмеженого C API (:pep:`384`). (Надав Віктор Стіннер у :issue:" +"`43244`.)" + +msgid "Remove the ``symtable.h`` header file and the undocumented functions:" +msgstr "Видаліть файл заголовка ``symtable.h`` і недокументовані функції:" + +msgid "``PyST_GetScope()``" +msgstr "``PyST_GetScope()``" + +msgid "``PySymtable_Build()``" +msgstr "``PySymtable_Build()``" + +msgid "``PySymtable_BuildObject()``" +msgstr "``PySymtable_BuildObject()``" + +msgid "``PySymtable_Free()``" +msgstr "``PySymtable_Free()``" + +msgid "``Py_SymtableString()``" +msgstr "``Py_SymtableString()``" + +msgid "``Py_SymtableStringObject()``" +msgstr "``Py_SymtableStringObject()``" + +msgid "" +"The ``Py_SymtableString()`` function was part the stable ABI by mistake but " +"it could not be used, because the ``symtable.h`` header file was excluded " +"from the limited C API." +msgstr "" +"Функція ``Py_SymtableString()`` була частиною стабільного ABI помилково, але " +"її не можна було використовувати, оскільки файл заголовка ``symtable.h`` " +"було виключено з обмеженого C API." + +msgid "" +"Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner " +"in :issue:`43244`.)" +msgstr "" +"Натомість використовуйте модуль Python :mod:`symtable`. (Надав Віктор " +"Стіннер у :issue:`43244`.)" + +msgid "" +"Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers " +"and from ``python3.dll``, the library that provides the stable ABI on " +"Windows. Since the function takes a ``FILE*`` argument, its ABI stability " +"cannot be guaranteed. (Contributed by Petr Viktorin in :issue:`43868`.)" +msgstr "" +"Видаліть :c:func:`PyOS_ReadlineFunctionPointer` з обмежених заголовків C API " +"і з ``python3.dll``, бібліотеки, яка забезпечує стабільний ABI у Windows. " +"Оскільки функція приймає аргумент ``FILE*``, її стабільність ABI не може " +"бути гарантована. (Надав Петро Вікторін у :issue:`43868`.)" + +msgid "" +"Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These " +"functions were undocumented and excluded from the limited C API. Most names " +"defined by these header files were not prefixed by ``Py`` and so could " +"create names conflicts. For example, ``Python-ast.h`` defined a ``Yield`` " +"macro which was conflict with the ``Yield`` name used by the Windows " +"```` header. Use the Python :mod:`ast` module instead. " +"(Contributed by Victor Stinner in :issue:`43244`.)" +msgstr "" +"Видаліть файли заголовків ``ast.h``, ``asdl.h`` і ``Python-ast.h``. Ці " +"функції були недокументовані та виключені з обмеженого C API. Більшість " +"імен, визначених цими файлами заголовків, не мали префікса ``Py`` і тому " +"могли спричиняти конфлікти імен. Наприклад, ``Python-ast.h`` визначив макрос " +"``Yield``, який конфліктував з назвою ``Yield``, що використовується " +"заголовком Windows ````. Натомість використовуйте модуль Python :" +"mod:`ast`. (Надав Віктор Стіннер у :issue:`43244`.)" + +msgid "" +"Remove the compiler and parser functions using ``struct _mod`` type, because " +"the public AST C API was removed:" +msgstr "" +"Видаліть функції компілятора та аналізатора за допомогою типу ``struct " +"_mod``, оскільки загальнодоступний API AST C було видалено:" + +msgid "``PyAST_Compile()``" +msgstr "``PyAST_Compile()``" + +msgid "``PyAST_CompileEx()``" +msgstr "``PyAST_CompileEx()``" + +msgid "``PyAST_CompileObject()``" +msgstr "``PyAST_CompileObject()``" + +msgid "``PyFuture_FromAST()``" +msgstr "``PyFuture_FromAST()``" + +msgid "``PyFuture_FromASTObject()``" +msgstr "``PyFuture_FromASTObject()``" + +msgid "``PyParser_ASTFromFile()``" +msgstr "``PyParser_ASTFromFile()``" + +msgid "``PyParser_ASTFromFileObject()``" +msgstr "``PyParser_ASTFromFileObject()``" + +msgid "``PyParser_ASTFromFilename()``" +msgstr "``PyParser_ASTFromFilename()``" + +msgid "``PyParser_ASTFromString()``" +msgstr "``PyParser_ASTFromString()``" + +msgid "``PyParser_ASTFromStringObject()``" +msgstr "``PyParser_ASTFromStringObject()``" + +msgid "" +"These functions were undocumented and excluded from the limited C API. " +"(Contributed by Victor Stinner in :issue:`43244`.)" +msgstr "" +"Ці функції були недокументовані та виключені з обмеженого C API. (Надав " +"Віктор Стіннер у :issue:`43244`.)" + +msgid "Remove the ``pyarena.h`` header file with functions:" +msgstr "Видаліть заголовний файл ``pyarena.h`` із функціями:" + +msgid "``PyArena_New()``" +msgstr "``PyArena_New()``" + +msgid "``PyArena_Free()``" +msgstr "``PyArena_Free()``" + +msgid "``PyArena_Malloc()``" +msgstr "``PyArena_Malloc()``" + +msgid "``PyArena_AddPyObject()``" +msgstr "``PyArena_AddPyObject()``" + +msgid "" +"These functions were undocumented, excluded from the limited C API, and were " +"only used internally by the compiler. (Contributed by Victor Stinner in :" +"issue:`43244`.)" +msgstr "" +"Ці функції були незадокументовані, виключені з обмеженого API C і " +"використовувалися лише внутрішньо компілятором. (Надав Віктор Стіннер у :" +"issue:`43244`.)" + +msgid "" +"The ``PyThreadState.use_tracing`` member has been removed to optimize " +"Python. (Contributed by Mark Shannon in :issue:`43760`.)" +msgstr "" +"Для оптимізації Python було видалено член ``PyThreadState.use_tracing``. " +"(Надав Марк Шеннон у :issue:`43760`.)" diff --git a/whatsnew/3.11.po b/whatsnew/3.11.po new file mode 100644 index 000000000..5c64c9e65 --- /dev/null +++ b/whatsnew/3.11.po @@ -0,0 +1,3425 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2022-11-05 19:49+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.11" +msgstr "" + +msgid "Release" +msgstr "Реліз" + +msgid "|release|" +msgstr "|release|" + +msgid "Date" +msgstr "Дата" + +msgid "|today|" +msgstr "|today|" + +msgid "Editor" +msgstr "Редактор" + +msgid "Pablo Galindo Salgado" +msgstr "Pablo Galindo Salgado" + +msgid "" +"This article explains the new features in Python 3.11, compared to 3.10." +msgstr "" + +msgid "For full details, see the :ref:`changelog `." +msgstr "" +"Щоб отримати повну інформацію, перегляньте :ref:`журнал змін `." + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "" +"Python 3.11 is between 10-60% faster than Python 3.10. On average, we " +"measured a 1.25x speedup on the standard benchmark suite. See :ref:" +"`whatsnew311-faster-cpython` for details." +msgstr "" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid ":ref:`whatsnew311-pep654`" +msgstr "" + +msgid "New built-in features:" +msgstr "Нові вбудовані функції:" + +msgid ":ref:`whatsnew311-pep678`" +msgstr "" + +msgid "New standard library modules:" +msgstr "" + +msgid "" +":pep:`680`: :mod:`tomllib` — Support for parsing `TOML `_ " +"in the Standard Library" +msgstr "" + +msgid "Interpreter improvements:" +msgstr "Покращення перекладача:" + +msgid ":ref:`whatsnew311-pep657`" +msgstr "" + +msgid "" +"New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` " +"environment variable to :ref:`disable automatically prepending potentially " +"unsafe paths ` to :data:`sys.path`" +msgstr "" + +msgid "New typing features:" +msgstr "Нові функції набору тексту:" + +msgid ":ref:`whatsnew311-pep646`" +msgstr "" + +msgid ":ref:`whatsnew311-pep655`" +msgstr "" + +msgid ":ref:`whatsnew311-pep673`" +msgstr "" + +msgid ":ref:`whatsnew311-pep675`" +msgstr "" + +msgid ":ref:`whatsnew311-pep681`" +msgstr "" + +msgid "Important deprecations, removals and restrictions:" +msgstr "" + +msgid "" +":pep:`594`: :ref:`Many legacy standard library modules have been deprecated " +"` and will be removed in Python 3.13" +msgstr "" + +msgid "" +":pep:`624`: :ref:`Py_UNICODE encoder APIs have been removed `" +msgstr "" + +msgid "" +":pep:`670`: :ref:`Macros converted to static inline functions `" +msgstr "" + +msgid "New Features" +msgstr "Нові можливості" + +msgid "PEP 657: Fine-grained error locations in tracebacks" +msgstr "" + +msgid "" +"When printing tracebacks, the interpreter will now point to the exact " +"expression that caused the error, instead of just the line. For example:" +msgstr "" + +msgid "" +"Previous versions of the interpreter would point to just the line, making it " +"ambiguous which object was ``None``. These enhanced errors can also be " +"helpful when dealing with deeply nested :class:`dict` objects and multiple " +"function calls:" +msgstr "" + +msgid "As well as complex arithmetic expressions:" +msgstr "" + +msgid "" +"Additionally, the information used by the enhanced traceback feature is made " +"available via a general API, that can be used to correlate :term:`bytecode` :" +"ref:`instructions ` with source code location. This information " +"can be retrieved using:" +msgstr "" + +msgid "The :meth:`codeobject.co_positions` method in Python." +msgstr "" + +msgid "The :c:func:`PyCode_Addr2Location` function in the C API." +msgstr "" + +msgid "" +"See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan " +"Taskaya and Ammar Askar in :issue:`43950`.)" +msgstr "" + +msgid "" +"This feature requires storing column positions in :ref:`codeobjects`, which " +"may result in a small increase in interpreter memory usage and disk usage " +"for compiled Python files. To avoid storing the extra information and " +"deactivate printing the extra traceback information, use the :option:`-X " +"no_debug_ranges <-X>` command line option or the :envvar:" +"`PYTHONNODEBUGRANGES` environment variable." +msgstr "" + +msgid "PEP 654: Exception Groups and ``except*``" +msgstr "" + +msgid "" +":pep:`654` introduces language features that enable a program to raise and " +"handle multiple unrelated exceptions simultaneously. The builtin types :exc:" +"`ExceptionGroup` and :exc:`BaseExceptionGroup` make it possible to group " +"exceptions and raise them together, and the new :keyword:`except* " +"` syntax generalizes :keyword:`except` to match subgroups of " +"exception groups." +msgstr "" + +msgid "See :pep:`654` for more details." +msgstr "" + +msgid "" +"(Contributed by Irit Katriel in :issue:`45292`. PEP written by Irit Katriel, " +"Yury Selivanov and Guido van Rossum.)" +msgstr "" + +msgid "PEP 678: Exceptions can be enriched with notes" +msgstr "" + +msgid "" +"The :meth:`~BaseException.add_note` method is added to :exc:`BaseException`. " +"It can be used to enrich exceptions with context information that is not " +"available at the time when the exception is raised. The added notes appear " +"in the default traceback." +msgstr "" + +msgid "See :pep:`678` for more details." +msgstr "" + +msgid "" +"(Contributed by Irit Katriel in :issue:`45607`. PEP written by Zac Hatfield-" +"Dodds.)" +msgstr "" + +msgid "Windows ``py.exe`` launcher improvements" +msgstr "" + +msgid "" +"The copy of the :ref:`launcher` included with Python 3.11 has been " +"significantly updated. It now supports company/tag syntax as defined in :pep:" +"`514` using the ``-V:/`` argument instead of the limited ``-" +".``. This allows launching distributions other than " +"``PythonCore``, the one hosted on `python.org `_." +msgstr "" + +msgid "" +"When using ``-V:`` selectors, either company or tag can be omitted, but all " +"installs will be searched. For example, ``-V:OtherPython/`` will select the " +"\"best\" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-" +"V:/3.11`` will select the \"best\" distribution with tag ``3.11``." +msgstr "" + +msgid "" +"When using the legacy ``-``, ``-.``, ``--" +"`` or ``-.-`` arguments, all existing " +"behaviour should be preserved from past versions, and only releases from " +"``PythonCore`` will be selected. However, the ``-64`` suffix now implies " +"\"not 32-bit\" (not necessarily x86-64), as there are multiple supported 64-" +"bit platforms. 32-bit runtimes are detected by checking the runtime's tag " +"for a ``-32`` suffix. All releases of Python since 3.5 have included this in " +"their 32-bit builds." +msgstr "" + +msgid "New Features Related to Type Hints" +msgstr "Нові функції, пов’язані з підказками типу" + +msgid "" +"This section covers major changes affecting :pep:`484` type hints and the :" +"mod:`typing` module." +msgstr "" +"У цьому розділі розглядаються основні зміни, що стосуються підказок типу :" +"pep:`484` і модуля :mod:`typing`." + +msgid "PEP 646: Variadic generics" +msgstr "" + +msgid "" +":pep:`484` previously introduced :data:`~typing.TypeVar`, enabling creation " +"of generics parameterised with a single type. :pep:`646` adds :data:`~typing." +"TypeVarTuple`, enabling parameterisation with an *arbitrary* number of " +"types. In other words, a :data:`~typing.TypeVarTuple` is a *variadic* type " +"variable, enabling *variadic* generics." +msgstr "" + +msgid "" +"This enables a wide variety of use cases. In particular, it allows the type " +"of array-like structures in numerical computing libraries such as NumPy and " +"TensorFlow to be parameterised with the array *shape*. Static type checkers " +"will now be able to catch shape-related bugs in code that uses these " +"libraries." +msgstr "" + +msgid "See :pep:`646` for more details." +msgstr "" + +msgid "" +"(Contributed by Matthew Rahtz in :issue:`43224`, with contributions by " +"Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew " +"Rahtz, Pradeep Kumar Srinivasan, and Vincent Siles.)" +msgstr "" + +msgid "" +"PEP 655: Marking individual ``TypedDict`` items as required or not-required" +msgstr "" + +msgid "" +":data:`~typing.Required` and :data:`~typing.NotRequired` provide a " +"straightforward way to mark whether individual items in a :class:`~typing." +"TypedDict` must be present. Previously, this was only possible using " +"inheritance." +msgstr "" + +msgid "" +"All fields are still required by default, unless the *total* parameter is " +"set to ``False``, in which case all fields are still not-required by " +"default. For example, the following specifies a :class:`!TypedDict` with one " +"required and one not-required key::" +msgstr "" + +msgid "The following definition is equivalent::" +msgstr "" + +msgid "See :pep:`655` for more details." +msgstr "" + +msgid "" +"(Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP " +"written by David Foster.)" +msgstr "" + +msgid "PEP 673: ``Self`` type" +msgstr "" + +msgid "" +"The new :data:`~typing.Self` annotation provides a simple and intuitive way " +"to annotate methods that return an instance of their class. This behaves the " +"same as the :class:`~typing.TypeVar`-based approach :pep:`specified in PEP " +"484 <484#annotating-instance-and-class-methods>`, but is more concise and " +"easier to follow." +msgstr "" + +msgid "" +"Common use cases include alternative constructors provided as :func:" +"`classmethod `\\s, and :meth:`~object.__enter__` methods that " +"return ``self``::" +msgstr "" + +msgid "" +":data:`~typing.Self` can also be used to annotate method parameters or " +"attributes of the same type as their enclosing class." +msgstr "" + +msgid "See :pep:`673` for more details." +msgstr "" + +msgid "" +"(Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep " +"Kumar Srinivasan and James Hilton-Balfe.)" +msgstr "" + +msgid "PEP 675: Arbitrary literal string type" +msgstr "" + +msgid "" +"The new :data:`~typing.LiteralString` annotation may be used to indicate " +"that a function parameter can be of any literal string type. This allows a " +"function to accept arbitrary literal string types, as well as strings " +"created from other literal strings. Type checkers can then enforce that " +"sensitive functions, such as those that execute SQL statements or shell " +"commands, are called only with static arguments, providing protection " +"against injection attacks." +msgstr "" + +msgid "For example, a SQL query function could be annotated as follows::" +msgstr "" + +msgid "See :pep:`675` for more details." +msgstr "" + +msgid "" +"(Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep " +"Kumar Srinivasan and Graham Bleaney.)" +msgstr "" + +msgid "PEP 681: Data class transforms" +msgstr "" + +msgid "" +":data:`~typing.dataclass_transform` may be used to decorate a class, " +"metaclass, or a function that is itself a decorator. The presence of " +"``@dataclass_transform()`` tells a static type checker that the decorated " +"object performs runtime \"magic\" that transforms a class, giving it :func:" +"`dataclass `-like behaviors." +msgstr "" + +msgid "For example::" +msgstr "Наприклад::" + +msgid "See :pep:`681` for more details." +msgstr "" + +msgid "" +"(Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte " +"and Eric Traut.)" +msgstr "" + +msgid "PEP 563 may not be the future" +msgstr "" + +msgid "" +":pep:`563` Postponed Evaluation of Annotations (the ``from __future__ import " +"annotations`` :ref:`future statement `) that was originally planned " +"for release in Python 3.10 has been put on hold indefinitely. See `this " +"message from the Steering Council `__ for more " +"information." +msgstr "" + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"Starred unpacking expressions can now be used in :keyword:`for` statements. " +"(See :issue:`46725` for more details.)" +msgstr "" + +msgid "" +"Asynchronous :ref:`comprehensions ` are now allowed inside " +"comprehensions in :ref:`asynchronous functions `. Outer " +"comprehensions implicitly become asynchronous in this case. (Contributed by " +"Serhiy Storchaka in :issue:`33346`.)" +msgstr "" + +msgid "" +"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :" +"keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` for " +"objects that do not support the :term:`context manager` protocol, and in :" +"keyword:`async with` statements and :meth:`contextlib.AsyncExitStack." +"enter_async_context` for objects not supporting the :term:`asynchronous " +"context manager` protocol. (Contributed by Serhiy Storchaka in :issue:" +"`12022` and :issue:`44471`.)" +msgstr "" + +msgid "" +"Added :meth:`object.__getstate__`, which provides the default implementation " +"of the :meth:`!__getstate__` method. :mod:`copy`\\ing and :mod:`pickle`\\ing " +"instances of subclasses of builtin types :class:`bytearray`, :class:`set`, :" +"class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections." +"deque`, :class:`weakref.WeakSet`, and :class:`datetime.tzinfo` now copies " +"and pickles instance attributes implemented as :term:`slots <__slots__>`. " +"(Contributed by Serhiy Storchaka in :issue:`26579`.)" +msgstr "" + +msgid "" +"Added a :option:`-P` command line option and a :envvar:`PYTHONSAFEPATH` " +"environment variable, which disable the automatic prepending to :data:`sys." +"path` of the script's directory when running a script, or the current " +"directory when using :option:`-c` and :option:`-m`. This ensures only stdlib " +"and installed modules are picked up by :keyword:`import`, and avoids " +"unintentionally or maliciously shadowing modules with those in a local (and " +"typically user-writable) directory. (Contributed by Victor Stinner in :gh:" +"`57684`.)" +msgstr "" + +msgid "" +"A ``\"z\"`` option was added to the :ref:`formatspec` that coerces negative " +"to positive zero after rounding to the format precision. See :pep:`682` for " +"more details. (Contributed by John Belmonte in :gh:`90153`.)" +msgstr "" + +msgid "" +"Bytes are no longer accepted on :data:`sys.path`. Support broke sometime " +"between Python 3.2 and 3.6, with no one noticing until after Python 3.10.0 " +"was released. In addition, bringing back support would be problematic due to " +"interactions between :option:`-b` and :data:`sys.path_importer_cache` when " +"there is a mixture of :class:`str` and :class:`bytes` keys. (Contributed by " +"Thomas Grainger in :gh:`91181`.)" +msgstr "" + +msgid "Other CPython Implementation Changes" +msgstr "Інші зміни в реалізації CPython" + +msgid "" +"The special methods :meth:`~object.__complex__` for :class:`complex` and :" +"meth:`~object.__bytes__` for :class:`bytes` are implemented to support the :" +"class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. " +"(Contributed by Mark Dickinson and Dong-hee Na in :issue:`24234`.)" +msgstr "" + +msgid "" +"``siphash13`` is added as a new internal hashing algorithm. It has similar " +"security properties as ``siphash24``, but it is slightly faster for long " +"inputs. :class:`str`, :class:`bytes`, and some other types now use it as the " +"default algorithm for :func:`hash`. :pep:`552` :ref:`hash-based .pyc files " +"` now use ``siphash13`` too. (Contributed by Inada Naoki " +"in :issue:`29410`.)" +msgstr "" + +msgid "" +"When an active exception is re-raised by a :keyword:`raise` statement with " +"no parameters, the traceback attached to this exception is now always ``sys." +"exc_info()[1].__traceback__``. This means that changes made to the traceback " +"in the current :keyword:`except` clause are reflected in the re-raised " +"exception. (Contributed by Irit Katriel in :issue:`45711`.)" +msgstr "" + +msgid "" +"The interpreter state's representation of handled exceptions (aka " +"``exc_info`` or ``_PyErr_StackItem``) now only has the ``exc_value`` field; " +"``exc_type`` and ``exc_traceback`` have been removed, as they can be derived " +"from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.)" +msgstr "" + +msgid "" +"A new :ref:`command line option `, ``AppendPath``, has " +"been added for the Windows installer. It behaves similarly to " +"``PrependPath``, but appends the install and scripts directories instead of " +"prepending them. (Contributed by Bastian Neuburger in :issue:`44934`.)" +msgstr "" + +msgid "" +"The :c:member:`PyConfig.module_search_paths_set` field must now be set to " +"``1`` for initialization to use :c:member:`PyConfig.module_search_paths` to " +"initialize :data:`sys.path`. Otherwise, initialization will recalculate the " +"path and replace any values added to ``module_search_paths``." +msgstr "" + +msgid "" +"The output of the :option:`--help` option now fits in 50 lines/80 columns. " +"Information about :ref:`Python environment variables ` " +"and :option:`-X` options is now available using the respective :option:`--" +"help-env` and :option:`--help-xoptions` flags, and with the new :option:`--" +"help-all`. (Contributed by Éric Araujo in :issue:`46142`.)" +msgstr "" + +msgid "" +"Converting between :class:`int` and :class:`str` in bases other than 2 " +"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " +"now raises a :exc:`ValueError` if the number of digits in string form is " +"above a limit to avoid potential denial of service attacks due to the " +"algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " +"configured or disabled by environment variable, command line flag, or :mod:" +"`sys` APIs. See the :ref:`integer string conversion length limitation " +"` documentation. The default limit is 4300 digits in " +"string form." +msgstr "" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "" +":mod:`tomllib`: For parsing `TOML `_. See :pep:`680` for " +"more details. (Contributed by Taneli Hukkinen in :issue:`40059`.)" +msgstr "" + +msgid "" +":mod:`wsgiref.types`: :pep:`WSGI <3333>`-specific types for static type " +"checking. (Contributed by Sebastian Rittau in :issue:`42012`.)" +msgstr "" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"Added the :class:`~asyncio.TaskGroup` class, an :ref:`asynchronous context " +"manager ` holding a group of tasks that will wait " +"for all of them upon exit. For new code this is recommended over using :func:" +"`~asyncio.create_task` and :func:`~asyncio.gather` directly. (Contributed by " +"Yury Selivanov and others in :gh:`90908`.)" +msgstr "" + +msgid "" +"Added :func:`~asyncio.timeout`, an asynchronous context manager for setting " +"a timeout on asynchronous operations. For new code this is recommended over " +"using :func:`~asyncio.wait_for` directly. (Contributed by Andrew Svetlov in :" +"gh:`90927`.)" +msgstr "" + +msgid "" +"Added the :class:`~asyncio.Runner` class, which exposes the machinery used " +"by :func:`~asyncio.run`. (Contributed by Andrew Svetlov in :gh:`91218`.)" +msgstr "" + +msgid "" +"Added the :class:`~asyncio.Barrier` class to the synchronization primitives " +"in the asyncio library, and the related :exc:`~asyncio.BrokenBarrierError` " +"exception. (Contributed by Yves Duprat and Andrew Svetlov in :gh:`87518`.)" +msgstr "" + +msgid "" +"Added keyword argument *all_errors* to :meth:`asyncio.loop." +"create_connection` so that multiple connection errors can be raised as an :" +"exc:`ExceptionGroup`." +msgstr "" + +msgid "" +"Added the :meth:`asyncio.StreamWriter.start_tls` method for upgrading " +"existing stream-based connections to TLS. (Contributed by Ian Good in :issue:" +"`34975`.)" +msgstr "" + +msgid "" +"Added raw datagram socket functions to the event loop: :meth:`~asyncio.loop." +"sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` and :meth:`~asyncio.loop." +"sock_recvfrom_into`. These have implementations in :class:`~asyncio." +"SelectorEventLoop` and :class:`~asyncio.ProactorEventLoop`. (Contributed by " +"Alex Grönholm in :issue:`46805`.)" +msgstr "" + +msgid "" +"Added :meth:`~asyncio.Task.cancelling` and :meth:`~asyncio.Task.uncancel` " +"methods to :class:`~asyncio.Task`. These are primarily intended for internal " +"use, notably by :class:`~asyncio.TaskGroup`." +msgstr "" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"Added non parallel-safe :func:`~contextlib.chdir` context manager to change " +"the current working directory and then restore it on exit. Simple wrapper " +"around :func:`~os.chdir`. (Contributed by Filipe Laíns in :issue:`25625`)" +msgstr "" + +msgid "dataclasses" +msgstr "класи даних" + +msgid "" +"Change field default mutability check, allowing only defaults which are :" +"term:`hashable` instead of any object which is not an instance of :class:" +"`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. Smith in :" +"issue:`44674`.)" +msgstr "" + +msgid "datetime" +msgstr "дата, час" + +msgid "" +"Add :attr:`datetime.UTC`, a convenience alias for :attr:`datetime.timezone." +"utc`. (Contributed by Kabir Kwatra in :gh:`91973`.)" +msgstr "" + +msgid "" +":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` " +"and :meth:`datetime.datetime.fromisoformat` can now be used to parse most " +"ISO 8601 formats (barring only those that support fractional hours and " +"minutes). (Contributed by Paul Ganssle in :gh:`80010`.)" +msgstr "" + +msgid "enum" +msgstr "enum" + +msgid "" +"Renamed :class:`!EnumMeta` to :class:`~enum.EnumType` (:class:`!EnumMeta` " +"kept as an alias)." +msgstr "" + +msgid "" +"Added :class:`~enum.StrEnum`, with members that can be used as (and must be) " +"strings." +msgstr "" + +msgid "" +"Added :class:`~enum.ReprEnum`, which only modifies the :meth:`~object." +"__repr__` of members while returning their literal values (rather than " +"names) for :meth:`~object.__str__` and :meth:`~object.__format__` (used by :" +"func:`str`, :func:`format` and :term:`f-string`\\s)." +msgstr "" + +msgid "" +"Changed :class:`~enum.IntEnum`, :class:`~enum.IntFlag` and :class:`~enum." +"StrEnum` to now inherit from :class:`~enum.ReprEnum`, so their :func:`str` " +"output now matches :func:`format` (both ``str(AnIntEnum.ONE)`` and " +"``format(AnIntEnum.ONE)`` return ``'1'``, whereas before ``str(AnIntEnum." +"ONE)`` returned ``'AnIntEnum.ONE'``." +msgstr "" + +msgid "" +"Changed :meth:`Enum.__format__() ` (the default for :" +"func:`format`, :meth:`str.format` and :term:`f-string`\\s) of enums with " +"mixed-in types (e.g. :class:`int`, :class:`str`) to also include the class " +"name in the output, not just the member's key. This matches the existing " +"behavior of :meth:`enum.Enum.__str__`, returning e.g. ``'AnEnum.MEMBER'`` " +"for an enum ``AnEnum(str, Enum)`` instead of just ``'MEMBER'``." +msgstr "" + +msgid "" +"Added a new *boundary* class parameter to :class:`~enum.Flag` enums and the :" +"class:`~enum.FlagBoundary` enum with its options, to control how to handle " +"out-of-range flag values." +msgstr "" + +msgid "" +"Added the :func:`~enum.verify` enum decorator and the :class:`~enum." +"EnumCheck` enum with its options, to check enum classes against several " +"specific constraints." +msgstr "" + +msgid "" +"Added the :func:`~enum.member` and :func:`~enum.nonmember` decorators, to " +"ensure the decorated object is/is not converted to an enum member." +msgstr "" + +msgid "" +"Added the :func:`~enum.property` decorator, which works like :func:" +"`property` except for enums. Use this instead of :func:`types." +"DynamicClassAttribute`." +msgstr "" + +msgid "" +"Added the :func:`~enum.global_enum` enum decorator, which adjusts :meth:" +"`~object.__repr__` and :meth:`~object.__str__` to show values as members of " +"their module rather than the enum class. For example, ``'re.ASCII'`` for " +"the :data:`~re.ASCII` member of :class:`re.RegexFlag` rather than " +"``'RegexFlag.ASCII'``." +msgstr "" + +msgid "" +"Enhanced :class:`~enum.Flag` to support :func:`len`, iteration and :keyword:" +"`in`/:keyword:`not in` on its members. For example, the following now works: " +"``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, AFlag.TWO)``" +msgstr "" + +msgid "" +"Changed :class:`~enum.Enum` and :class:`~enum.Flag` so that members are now " +"defined before :meth:`~object.__init_subclass__` is called; :func:`dir` now " +"includes methods, etc., from mixed-in data types." +msgstr "" + +msgid "" +"Changed :class:`~enum.Flag` to only consider primary values (power of two) " +"canonical while composite values (``3``, ``6``, ``10``, etc.) are considered " +"aliases; inverted flags are coerced to their positive equivalent." +msgstr "" + +msgid "fcntl" +msgstr "fcntl" + +msgid "" +"On FreeBSD, the :data:`!F_DUP2FD` and :data:`!F_DUP2FD_CLOEXEC` flags " +"respectively are supported, the former equals to ``dup2`` usage while the " +"latter set the ``FD_CLOEXEC`` flag in addition." +msgstr "" + +msgid "fractions" +msgstr "" + +msgid "" +"Support :PEP:`515`-style initialization of :class:`~fractions.Fraction` from " +"string. (Contributed by Sergey B Kirpichev in :issue:`44258`.)" +msgstr "" + +msgid "" +":class:`~fractions.Fraction` now implements an ``__int__`` method, so that " +"an ``isinstance(some_fraction, typing.SupportsInt)`` check passes. " +"(Contributed by Mark Dickinson in :issue:`44547`.)" +msgstr "" + +msgid "functools" +msgstr "functools" + +msgid "" +":func:`functools.singledispatch` now supports :data:`types.UnionType` and :" +"data:`typing.Union` as annotations to the dispatch argument.::" +msgstr "" + +msgid "(Contributed by Yurii Karabas in :issue:`46014`.)" +msgstr "" + +msgid "hashlib" +msgstr "хешліб" + +msgid "" +":func:`hashlib.blake2b` and :func:`hashlib.blake2s` now prefer `libb2`_ over " +"Python's vendored copy. (Contributed by Christian Heimes in :issue:`47095`.)" +msgstr "" + +msgid "" +"The internal ``_sha3`` module with SHA3 and SHAKE algorithms now uses " +"*tiny_sha3* instead of the *Keccak Code Package* to reduce code and binary " +"size. The :mod:`hashlib` module prefers optimized SHA3 and SHAKE " +"implementations from OpenSSL. The change affects only installations without " +"OpenSSL support. (Contributed by Christian Heimes in :issue:`47098`.)" +msgstr "" + +msgid "" +"Add :func:`hashlib.file_digest`, a helper function for efficient hashing of " +"files or file-like objects. (Contributed by Christian Heimes in :gh:`89313`.)" +msgstr "" + +msgid "IDLE and idlelib" +msgstr "IDLE і idlelib" + +msgid "" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" +msgstr "" + +msgid "" +"Include prompts when saving Shell with inputs and outputs. (Contributed by " +"Terry Jan Reedy in :gh:`95191`.)" +msgstr "" + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"Add :func:`~inspect.getmembers_static` to return all members without " +"triggering dynamic lookup via the descriptor protocol. (Contributed by " +"Weipeng Hong in :issue:`30533`.)" +msgstr "" + +msgid "" +"Add :func:`~inspect.ismethodwrapper` for checking if the type of an object " +"is a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik in :" +"issue:`29418`.)" +msgstr "" + +msgid "" +"Change the frame-related functions in the :mod:`inspect` module to return " +"new :class:`~inspect.FrameInfo` and :class:`~inspect.Traceback` class " +"instances (backwards compatible with the previous :term:`named tuple`-like " +"interfaces) that includes the extended :pep:`657` position information (end " +"line number, column and end column). The affected functions are:" +msgstr "" + +msgid ":func:`inspect.getframeinfo`" +msgstr "" + +msgid ":func:`inspect.getouterframes`" +msgstr "" + +msgid ":func:`inspect.getinnerframes`," +msgstr "" + +msgid ":func:`inspect.stack`" +msgstr "" + +msgid ":func:`inspect.trace`" +msgstr "" + +msgid "(Contributed by Pablo Galindo in :gh:`88116`.)" +msgstr "" + +msgid "locale" +msgstr "локаль" + +msgid "" +"Add :func:`locale.getencoding` to get the current locale encoding. It is " +"similar to ``locale.getpreferredencoding(False)`` but ignores the :ref:" +"`Python UTF-8 Mode `." +msgstr "" + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"Added :func:`~logging.getLevelNamesMapping` to return a mapping from logging " +"level names (e.g. ``'CRITICAL'``) to the values of their corresponding :ref:" +"`levels` (e.g. ``50``, by default). (Contributed by Andrei Kulakovin in :gh:" +"`88024`.)" +msgstr "" + +msgid "" +"Added a :meth:`~logging.handlers.SysLogHandler.createSocket` method to :" +"class:`~logging.handlers.SysLogHandler`, to match :meth:`SocketHandler." +"createSocket() `. It is called " +"automatically during handler initialization and when emitting an event, if " +"there is no active socket. (Contributed by Kirill Pinchuk in :gh:`88457`.)" +msgstr "" + +msgid "math" +msgstr "математика" + +msgid "" +"Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by " +"Gideon Mitchell in :issue:`45917`.)" +msgstr "" + +msgid "" +"Add :func:`math.cbrt`: return the cube root of x. (Contributed by Ajith " +"Ramachandran in :issue:`44357`.)" +msgstr "" + +msgid "" +"The behaviour of two :func:`math.pow` corner cases was changed, for " +"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, -" +"math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. Previously " +"they raised :exc:`ValueError`. (Contributed by Mark Dickinson in :issue:" +"`44339`.)" +msgstr "" + +msgid "" +"The :data:`math.nan` value is now always available. (Contributed by Victor " +"Stinner in :issue:`46917`.)" +msgstr "" + +msgid "operator" +msgstr "оператор" + +msgid "" +"A new function ``operator.call`` has been added, such that ``operator." +"call(obj, *args, **kwargs) == obj(*args, **kwargs)``. (Contributed by Antony " +"Lee in :issue:`44019`.)" +msgstr "" + +msgid "os" +msgstr "ос" + +msgid "" +"On Windows, :func:`os.urandom` now uses ``BCryptGenRandom()``, instead of " +"``CryptGenRandom()`` which is deprecated. (Contributed by Dong-hee Na in :" +"issue:`44611`.)" +msgstr "" + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +":meth:`~pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` return only " +"directories if *pattern* ends with a pathname components separator: :data:" +"`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke Kawasima in :issue:" +"`22276` and :issue:`33392`.)" +msgstr "" + +msgid "re" +msgstr "повторно" + +msgid "" +"Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, ``?" +"+``, ``{m,n}+``) are now supported in regular expressions. (Contributed by " +"Jeffrey C. Jacobs and Serhiy Storchaka in :issue:`433030`.)" +msgstr "" + +msgid "shutil" +msgstr "шутил" + +msgid "" +"Add optional parameter *dir_fd* in :func:`shutil.rmtree`. (Contributed by " +"Serhiy Storchaka in :issue:`46245`.)" +msgstr "" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:" +"`30512`.)" +msgstr "" + +msgid "" +":meth:`~socket.create_connection` has an option to raise, in case of failure " +"to connect, an :exc:`ExceptionGroup` containing all errors instead of only " +"raising the last error. (Contributed by Irit Katriel in :issue:`29980`.)" +msgstr "" + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +"You can now disable the authorizer by passing :const:`None` to :meth:" +"`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. Aasland in :" +"issue:`44491`.)" +msgstr "" + +msgid "" +"Collation name :meth:`~sqlite3.Connection.create_collation` can now contain " +"any Unicode character. Collation names with invalid characters now raise :" +"exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. " +"(Contributed by Erlend E. Aasland in :issue:`44688`.)" +msgstr "" + +msgid "" +":mod:`sqlite3` exceptions now include the SQLite extended error code as :" +"attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name as :attr:" +"`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, Daniel " +"Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)" +msgstr "" + +msgid "" +"Add :meth:`~sqlite3.Connection.setlimit` and :meth:`~sqlite3.Connection." +"getlimit` to :class:`sqlite3.Connection` for setting and getting SQLite " +"limits by connection basis. (Contributed by Erlend E. Aasland in :issue:" +"`45243`.)" +msgstr "" + +msgid "" +":mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default " +"threading mode the underlying SQLite library has been compiled with. " +"(Contributed by Erlend E. Aasland in :issue:`45613`.)" +msgstr "" + +msgid "" +":mod:`sqlite3` C callbacks now use unraisable exceptions if callback " +"tracebacks are enabled. Users can now register an :func:`unraisable hook " +"handler ` to improve their debug experience. " +"(Contributed by Erlend E. Aasland in :issue:`45828`.)" +msgstr "" + +msgid "" +"Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. " +"Instead we leave it to the SQLite library to handle these cases. " +"(Contributed by Erlend E. Aasland in :issue:`44092`.)" +msgstr "" + +msgid "" +"Add :meth:`~sqlite3.Connection.serialize` and :meth:`~sqlite3.Connection." +"deserialize` to :class:`sqlite3.Connection` for serializing and " +"deserializing databases. (Contributed by Erlend E. Aasland in :issue:" +"`41930`.)" +msgstr "" + +msgid "" +"Add :meth:`~sqlite3.Connection.create_window_function` to :class:`sqlite3." +"Connection` for creating aggregate window functions. (Contributed by Erlend " +"E. Aasland in :issue:`34916`.)" +msgstr "" + +msgid "" +"Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`. :" +"class:`sqlite3.Blob` allows incremental I/O operations on blobs. " +"(Contributed by Aviv Palivoda and Erlend E. Aasland in :issue:`24905`.)" +msgstr "" + +msgid "string" +msgstr "рядок" + +msgid "" +"Add :meth:`~string.Template.get_identifiers` and :meth:`~string.Template." +"is_valid` to :class:`string.Template`, which respectively return all valid " +"placeholders, and whether any invalid placeholders are present. (Contributed " +"by Ben Kehoe in :gh:`90465`.)" +msgstr "" + +msgid "sys" +msgstr "система" + +msgid "" +":func:`sys.exc_info` now derives the ``type`` and ``traceback`` fields from " +"the ``value`` (the exception instance), so when an exception is modified " +"while it is being handled, the changes are reflected in the results of " +"subsequent calls to :func:`!exc_info`. (Contributed by Irit Katriel in :" +"issue:`45711`.)" +msgstr "" + +msgid "" +"Add :func:`sys.exception` which returns the active exception instance " +"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel in :" +"issue:`46328`.)" +msgstr "" + +msgid "" +"Add the :data:`sys.flags.safe_path ` flag. (Contributed by Victor " +"Stinner in :gh:`57684`.)" +msgstr "" + +msgid "sysconfig" +msgstr "sysconfig" + +msgid "" +"Three new :ref:`installation schemes ` (*posix_venv*, " +"*nt_venv* and *venv*) were added and are used when Python creates new " +"virtual environments or when it is running from a virtual environment. The " +"first two schemes (*posix_venv* and *nt_venv*) are OS-specific for non-" +"Windows and Windows, the *venv* is essentially an alias to one of them " +"according to the OS Python runs on. This is useful for downstream " +"distributors who modify :func:`sysconfig.get_preferred_scheme`. Third party " +"code that creates new virtual environments should use the new *venv* " +"installation scheme to determine the paths, as does :mod:`venv`. " +"(Contributed by Miro Hrončok in :issue:`45413`.)" +msgstr "" + +msgid "tempfile" +msgstr "тимчасовий файл" + +msgid "" +":class:`~tempfile.SpooledTemporaryFile` objects now fully implement the " +"methods of :class:`io.BufferedIOBase` or :class:`io.TextIOBase` (depending " +"on file mode). This lets them work correctly with APIs that expect file-like " +"objects, such as compression modules. (Contributed by Carey Metcalfe in :gh:" +"`70363`.)" +msgstr "" + +msgid "threading" +msgstr "різьблення" + +msgid "" +"On Unix, if the ``sem_clockwait()`` function is available in the C library " +"(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses " +"the monotonic clock (:data:`time.CLOCK_MONOTONIC`) for the timeout, rather " +"than using the system clock (:data:`time.CLOCK_REALTIME`), to not be " +"affected by system clock changes. (Contributed by Victor Stinner in :issue:" +"`41710`.)" +msgstr "" + +msgid "time" +msgstr "час" + +msgid "" +"On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or " +"``nanosleep()`` function, if available, which has a resolution of 1 " +"nanosecond (10\\ :sup:`-9` seconds), rather than using ``select()`` which " +"has a resolution of 1 microsecond (10\\ :sup:`-6` seconds). (Contributed by " +"Benjamin Szőke and Victor Stinner in :issue:`21302`.)" +msgstr "" + +msgid "" +"On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based " +"on `high-resolution timers `_ which has a resolution of " +"100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of " +"1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, Dong-" +"hee Na, Eryk Sun and Victor Stinner in :issue:`21302` and :issue:`45429`.)" +msgstr "" + +msgid "tkinter" +msgstr "tkinter" + +msgid "" +"Added method ``info_patchlevel()`` which returns the exact version of the " +"Tcl library as a named tuple similar to :data:`sys.version_info`. " +"(Contributed by Serhiy Storchaka in :gh:`91827`.)" +msgstr "" + +msgid "traceback" +msgstr "traceback" + +msgid "" +"Add :func:`traceback.StackSummary.format_frame_summary` to allow users to " +"override which frames appear in the traceback, and how they are formatted. " +"(Contributed by Ammar Askar in :issue:`44569`.)" +msgstr "" + +msgid "" +"Add :func:`traceback.TracebackException.print`, which prints the formatted :" +"exc:`~traceback.TracebackException` instance to a file. (Contributed by Irit " +"Katriel in :issue:`33809`.)" +msgstr "" + +msgid "typing" +msgstr "введення тексту" + +msgid "For major changes, see :ref:`new-feat-related-type-hints-311`." +msgstr "" + +msgid "" +"Add :func:`typing.assert_never` and :class:`typing.Never`. :func:`typing." +"assert_never` is useful for asking a type checker to confirm that a line of " +"code is not reachable. At runtime, it raises an :exc:`AssertionError`. " +"(Contributed by Jelle Zijlstra in :gh:`90633`.)" +msgstr "" + +msgid "" +"Add :func:`typing.reveal_type`. This is useful for asking a type checker " +"what type it has inferred for a given expression. At runtime it prints the " +"type of the received value. (Contributed by Jelle Zijlstra in :gh:`90572`.)" +msgstr "" + +msgid "" +"Add :func:`typing.assert_type`. This is useful for asking a type checker to " +"confirm that the type it has inferred for a given expression matches the " +"given type. At runtime it simply returns the received value. (Contributed by " +"Jelle Zijlstra in :gh:`90638`.)" +msgstr "" + +msgid "" +":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya " +"Abeysiriwardane in :gh:`89026`.)" +msgstr "" + +msgid "" +":class:`~typing.NamedTuple` types can now be generic. (Contributed by Serhiy " +"Storchaka in :issue:`43923`.)" +msgstr "" + +msgid "" +"Allow subclassing of :class:`typing.Any`. This is useful for avoiding type " +"checker errors related to highly dynamic class, such as mocks. (Contributed " +"by Shantanu Jain in :gh:`91154`.)" +msgstr "" + +msgid "" +"The :func:`typing.final` decorator now sets the ``__final__`` attributed on " +"the decorated object. (Contributed by Jelle Zijlstra in :gh:`90500`.)" +msgstr "" + +msgid "" +"The :func:`typing.get_overloads` function can be used for introspecting the " +"overloads of a function. :func:`typing.clear_overloads` can be used to clear " +"all registered overloads of a function. (Contributed by Jelle Zijlstra in :" +"gh:`89263`.)" +msgstr "" + +msgid "" +"The :meth:`~object.__init__` method of :class:`~typing.Protocol` subclasses " +"is now preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)" +msgstr "" + +msgid "" +"The representation of empty tuple types (``Tuple[()]``) is simplified. This " +"affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates to ``()`` " +"instead of ``((),)``. (Contributed by Serhiy Storchaka in :gh:`91137`.)" +msgstr "" + +msgid "" +"Loosen runtime requirements for type annotations by removing the callable " +"check in the private ``typing._type_check`` function. (Contributed by " +"Gregory Beauregard in :gh:`90802`.)" +msgstr "" + +msgid "" +":func:`typing.get_type_hints` now supports evaluating strings as forward " +"references in :ref:`PEP 585 generic aliases `. " +"(Contributed by Niklas Rosenstein in :gh:`85542`.)" +msgstr "" + +msgid "" +":func:`typing.get_type_hints` no longer adds :data:`~typing.Optional` to " +"parameters with ``None`` as a default. (Contributed by Nikita Sobolev in :gh:" +"`90353`.)" +msgstr "" + +msgid "" +":func:`typing.get_type_hints` now supports evaluating bare stringified :data:" +"`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard in :gh:" +"`90711`.)" +msgstr "" + +msgid "" +":func:`typing.no_type_check` no longer modifies external classes and " +"functions. It also now correctly marks classmethods as not to be type " +"checked. (Contributed by Nikita Sobolev in :gh:`90729`.)" +msgstr "" + +msgid "unicodedata" +msgstr "unicodedata" + +msgid "" +"The Unicode database has been updated to version 14.0.0. (Contributed by " +"Benjamin Peterson in :issue:`45190`)." +msgstr "" + +msgid "unittest" +msgstr "unittest" + +msgid "" +"Added methods :meth:`~unittest.TestCase.enterContext` and :meth:`~unittest." +"TestCase.enterClassContext` of class :class:`~unittest.TestCase`, method :" +"meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class :class:" +"`~unittest.IsolatedAsyncioTestCase` and function :func:`unittest." +"enterModuleContext`. (Contributed by Serhiy Storchaka in :issue:`45046`.)" +msgstr "" + +msgid "venv" +msgstr "venv" + +msgid "" +"When new Python virtual environments are created, the *venv* :ref:`sysconfig " +"installation scheme ` is used to determine the paths " +"inside the environment. When Python runs in a virtual environment, the same " +"installation scheme is the default. That means that downstream distributors " +"can change the default sysconfig install scheme without changing behavior of " +"virtual environments. Third party code that also creates new virtual " +"environments should do the same. (Contributed by Miro Hrončok in :issue:" +"`45413`.)" +msgstr "" + +msgid "warnings" +msgstr "попередження" + +msgid "" +":func:`warnings.catch_warnings` now accepts arguments for :func:`warnings." +"simplefilter`, providing a more concise way to locally ignore warnings or " +"convert them to errors. (Contributed by Zac Hatfield-Dodds in :issue:" +"`47074`.)" +msgstr "" + +msgid "zipfile" +msgstr "zip-файл" + +msgid "" +"Added support for specifying member name encoding for reading metadata in a :" +"class:`~zipfile.ZipFile`'s directory and file headers. (Contributed by " +"Stephen J. Turnbull and Serhiy Storchaka in :issue:`28080`.)" +msgstr "" + +msgid "" +"Added :meth:`ZipFile.mkdir() ` for creating new " +"directories inside ZIP archives. (Contributed by Sam Ezeh in :gh:`49083`.)" +msgstr "" + +msgid "" +"Added :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` and :attr:" +"`~zipfile.Path.suffixes` to :class:`zipfile.Path`. (Contributed by Miguel " +"Brito in :gh:`88261`.)" +msgstr "" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"This section covers specific optimizations independent of the :ref:" +"`whatsnew311-faster-cpython` project, which is covered in its own section." +msgstr "" + +msgid "" +"The compiler now optimizes simple :ref:`printf-style % formatting ` on string literals containing only the format codes ``" +"%s``, ``%r`` and ``%a`` and makes it as fast as a corresponding :term:`f-" +"string` expression. (Contributed by Serhiy Storchaka in :issue:`28307`.)" +msgstr "" + +msgid "" +"Integer division (``//``) is better tuned for optimization by compilers. It " +"is now around 20% faster on x86-64 when dividing an :class:`int` by a value " +"smaller than ``2**30``. (Contributed by Gregory P. Smith and Tim Peters in :" +"gh:`90564`.)" +msgstr "" + +msgid "" +":func:`sum` is now nearly 30% faster for integers smaller than ``2**30``. " +"(Contributed by Stefan Behnel in :gh:`68264`.)" +msgstr "" + +msgid "" +"Resizing lists is streamlined for the common case, speeding up :meth:`list." +"append` by ≈15% and simple :term:`list comprehension`\\s by up to 20-30% " +"(Contributed by Dennis Sweeney in :gh:`91165`.)" +msgstr "" + +msgid "" +"Dictionaries don't store hash values when all keys are Unicode objects, " +"decreasing :class:`dict` size. For example, ``sys.getsizeof(dict." +"fromkeys(\"abcdefg\"))`` is reduced from 352 bytes to 272 bytes (23% " +"smaller) on 64-bit platforms. (Contributed by Inada Naoki in :issue:`46845`.)" +msgstr "" + +msgid "" +"Using :class:`asyncio.DatagramProtocol` is now orders of magnitude faster " +"when transferring large files over UDP, with speeds over 100 times higher " +"for a ≈60 MiB file. (Contributed by msoxzw in :gh:`91487`.)" +msgstr "" + +msgid "" +":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now ≈10 " +"times faster for large arguments (with a larger speedup for larger *k*). " +"(Contributed by Serhiy Storchaka in :issue:`37295`.)" +msgstr "" + +msgid "" +"The :mod:`statistics` functions :func:`~statistics.mean`, :func:`~statistics." +"variance` and :func:`~statistics.stdev` now consume iterators in one pass " +"rather than converting them to a :class:`list` first. This is twice as fast " +"and can save substantial memory. (Contributed by Raymond Hettinger in :gh:" +"`90415`.)" +msgstr "" + +msgid "" +":func:`unicodedata.normalize` now normalizes pure-ASCII strings in constant " +"time. (Contributed by Dong-hee Na in :issue:`44987`.)" +msgstr "" + +msgid "Faster CPython" +msgstr "" + +msgid "" +"CPython 3.11 is on average `25% faster `_ than CPython 3.10 when measured with the " +"`pyperformance `_ benchmark suite, " +"and compiled with GCC on Ubuntu Linux. Depending on your workload, the " +"speedup could be up to 10-60% faster." +msgstr "" + +msgid "" +"This project focuses on two major areas in Python: faster startup and faster " +"runtime. Other optimizations not under this project are listed in " +"`Optimizations`_." +msgstr "" + +msgid "Faster Startup" +msgstr "" + +msgid "Frozen imports / Static code objects" +msgstr "" + +msgid "" +"Python caches bytecode in the :ref:`__pycache__` directory to " +"speed up module loading." +msgstr "" + +msgid "Previously in 3.10, Python module execution looked like this:" +msgstr "" + +msgid "" +"In Python 3.11, the core modules essential for Python startup are \"frozen" +"\". This means that their code objects (and bytecode) are statically " +"allocated by the interpreter. This reduces the steps in module execution " +"process to this:" +msgstr "" + +msgid "" +"Interpreter startup is now 10-15% faster in Python 3.11. This has a big " +"impact for short-running programs using Python." +msgstr "" + +msgid "" +"(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in numerous " +"issues.)" +msgstr "" + +msgid "Faster Runtime" +msgstr "" + +msgid "Cheaper, lazy Python frames" +msgstr "" + +msgid "" +"Python frames are created whenever Python calls a Python function. This " +"frame holds execution information. The following are new frame optimizations:" +msgstr "" + +msgid "Streamlined the frame creation process." +msgstr "" + +msgid "" +"Avoided memory allocation by generously re-using frame space on the C stack." +msgstr "" + +msgid "" +"Streamlined the internal frame struct to contain only essential information. " +"Frames previously held extra debugging and memory management information." +msgstr "" + +msgid "" +"Old-style frame objects are now created only when requested by debuggers or " +"by Python introspection functions such as ``sys._getframe`` or ``inspect." +"currentframe``. For most user code, no frame objects are created at all. As " +"a result, nearly all Python functions calls have sped up significantly. We " +"measured a 3-7% speedup in pyperformance." +msgstr "" + +msgid "(Contributed by Mark Shannon in :issue:`44590`.)" +msgstr "" + +msgid "Inlined Python function calls" +msgstr "" + +msgid "" +"During a Python function call, Python will call an evaluating C function to " +"interpret that function's code. This effectively limits pure Python " +"recursion to what's safe for the C stack." +msgstr "" + +msgid "" +"In 3.11, when CPython detects Python code calling another Python function, " +"it sets up a new frame, and \"jumps\" to the new code inside the new frame. " +"This avoids calling the C interpreting function altogether." +msgstr "" + +msgid "" +"Most Python function calls now consume no C stack space. This speeds up most " +"of such calls. In simple recursive functions like fibonacci or factorial, a " +"1.7x speedup was observed. This also means recursive functions can recurse " +"significantly deeper (if the user increases the recursion limit). We " +"measured a 1-3% improvement in pyperformance." +msgstr "" + +msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)" +msgstr "" + +msgid "PEP 659: Specializing Adaptive Interpreter" +msgstr "" + +msgid "" +":pep:`659` is one of the key parts of the faster CPython project. The " +"general idea is that while Python is a dynamic language, most code has " +"regions where objects and types rarely change. This concept is known as " +"*type stability*." +msgstr "" + +msgid "" +"At runtime, Python will try to look for common patterns and type stability " +"in the executing code. Python will then replace the current operation with a " +"more specialized one. This specialized operation uses fast paths available " +"only to those use cases/types, which generally outperform their generic " +"counterparts. This also brings in another concept called *inline caching*, " +"where Python caches the results of expensive operations directly in the " +"bytecode." +msgstr "" + +msgid "" +"The specializer will also combine certain common instruction pairs into one " +"superinstruction. This reduces the overhead during execution." +msgstr "" + +msgid "" +"Python will only specialize when it sees code that is \"hot\" (executed " +"multiple times). This prevents Python from wasting time for run-once code. " +"Python can also de-specialize when code is too dynamic or when the use " +"changes. Specialization is attempted periodically, and specialization " +"attempts are not too expensive. This allows specialization to adapt to new " +"circumstances." +msgstr "" + +msgid "" +"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. See :" +"pep:`659` for more information. Implementation by Mark Shannon and Brandt " +"Bucher, with additional help from Irit Katriel and Dennis Sweeney.)" +msgstr "" + +msgid "Operation" +msgstr "Операція" + +msgid "Form" +msgstr "Форма" + +msgid "Specialization" +msgstr "" + +msgid "Operation speedup (up to)" +msgstr "" + +msgid "Contributor(s)" +msgstr "" + +msgid "Binary operations" +msgstr "" + +msgid "``x+x; x*x; x-x;``" +msgstr "" + +msgid "" +"Binary add, multiply and subtract for common types such as ``int``, " +"``float``, and ``str`` take custom fast paths for their underlying types." +msgstr "" + +msgid "10%" +msgstr "" + +msgid "Mark Shannon, Dong-hee Na, Brandt Bucher, Dennis Sweeney" +msgstr "" + +msgid "Subscript" +msgstr "" + +msgid "``a[i]``" +msgstr "" + +msgid "" +"Subscripting container types such as ``list``, ``tuple`` and ``dict`` " +"directly index the underlying data structures." +msgstr "" + +msgid "" +"Subscripting custom ``__getitem__`` is also inlined similar to :ref:`inline-" +"calls`." +msgstr "" + +msgid "10-25%" +msgstr "" + +msgid "Irit Katriel, Mark Shannon" +msgstr "" + +msgid "Store subscript" +msgstr "" + +msgid "``a[i] = z``" +msgstr "" + +msgid "Similar to subscripting specialization above." +msgstr "" + +msgid "Dennis Sweeney" +msgstr "" + +msgid "Calls" +msgstr "Дзвінки" + +msgid "``f(arg)`` ``C(arg)``" +msgstr "" + +msgid "" +"Calls to common builtin (C) functions and types such as ``len`` and ``str`` " +"directly call their underlying C version. This avoids going through the " +"internal calling convention." +msgstr "" + +msgid "20%" +msgstr "" + +msgid "Mark Shannon, Ken Jin" +msgstr "" + +msgid "Load global variable" +msgstr "" + +msgid "``print`` ``len``" +msgstr "" + +msgid "" +"The object's index in the globals/builtins namespace is cached. Loading " +"globals and builtins require zero namespace lookups." +msgstr "" + +msgid "[1]_" +msgstr "[1]_" + +msgid "Mark Shannon" +msgstr "" + +msgid "Load attribute" +msgstr "" + +msgid "``o.attr``" +msgstr "" + +msgid "" +"Similar to loading global variables. The attribute's index inside the class/" +"object's namespace is cached. In most cases, attribute loading will require " +"zero namespace lookups." +msgstr "" + +msgid "[2]_" +msgstr "[2]_" + +msgid "Load methods for call" +msgstr "" + +msgid "``o.meth()``" +msgstr "" + +msgid "" +"The actual address of the method is cached. Method loading now has no " +"namespace lookups -- even for classes with long inheritance chains." +msgstr "" + +msgid "10-20%" +msgstr "" + +msgid "Ken Jin, Mark Shannon" +msgstr "" + +msgid "Store attribute" +msgstr "" + +msgid "``o.attr = z``" +msgstr "" + +msgid "Similar to load attribute optimization." +msgstr "" + +msgid "2% in pyperformance" +msgstr "" + +msgid "Unpack Sequence" +msgstr "" + +msgid "``*seq``" +msgstr "" + +msgid "" +"Specialized for common containers such as ``list`` and ``tuple``. Avoids " +"internal calling convention." +msgstr "" + +msgid "8%" +msgstr "" + +msgid "Brandt Bucher" +msgstr "" + +msgid "" +"A similar optimization already existed since Python 3.8. 3.11 specializes " +"for more forms and reduces some overhead." +msgstr "" + +msgid "" +"A similar optimization already existed since Python 3.10. 3.11 specializes " +"for more forms. Furthermore, all attribute loads should be sped up by :issue:" +"`45947`." +msgstr "" + +msgid "Misc" +msgstr "" + +msgid "" +"Objects now require less memory due to lazily created object namespaces. " +"Their namespace dictionaries now also share keys more freely. (Contributed " +"Mark Shannon in :issue:`45340` and :issue:`40116`.)" +msgstr "" + +msgid "" +"A more concise representation of exceptions in the interpreter reduced the " +"time required for catching an exception by about 10%. (Contributed by Irit " +"Katriel in :issue:`45711`.)" +msgstr "" + +msgid "FAQ" +msgstr "" + +msgid "Q: How should I write my code to utilize these speedups?" +msgstr "" + +msgid "" +"A: You don't have to change your code. Write Pythonic code that follows " +"common best practices. The Faster CPython project optimizes for common code " +"patterns we observe." +msgstr "" + +msgid "Q: Will CPython 3.11 use more memory?" +msgstr "" + +msgid "" +"A: Maybe not. We don't expect memory use to exceed 20% more than 3.10. This " +"is offset by memory optimizations for frame objects and object dictionaries " +"as mentioned above." +msgstr "" + +msgid "Q: I don't see any speedups in my workload. Why?" +msgstr "" + +msgid "" +"A: Certain code won't have noticeable benefits. If your code spends most of " +"its time on I/O operations, or already does most of its computation in a C " +"extension library like numpy, there won't be significant speedup. This " +"project currently benefits pure-Python workloads the most." +msgstr "" + +msgid "" +"Furthermore, the pyperformance figures are a geometric mean. Even within the " +"pyperformance benchmarks, certain benchmarks have slowed down slightly, " +"while others have sped up by nearly 2x!" +msgstr "" + +msgid "Q: Is there a JIT compiler?" +msgstr "" + +msgid "A: No. We're still exploring other optimizations." +msgstr "" + +msgid "About" +msgstr "" + +msgid "" +"Faster CPython explores optimizations for :term:`CPython`. The main team is " +"funded by Microsoft to work on this full-time. Pablo Galindo Salgado is also " +"funded by Bloomberg LP to work on the project part-time. Finally, many " +"contributors are volunteers from the community." +msgstr "" + +msgid "CPython bytecode changes" +msgstr "Зміни байт-коду CPython" + +msgid "" +"The bytecode now contains inline cache entries, which take the form of the " +"newly-added :opcode:`CACHE` instructions. Many opcodes expect to be followed " +"by an exact number of caches, and instruct the interpreter to skip over them " +"at runtime. Populated caches can look like arbitrary instructions, so great " +"care should be taken when reading or modifying raw, adaptive bytecode " +"containing quickened data." +msgstr "" + +msgid "New opcodes" +msgstr "" + +msgid "" +":opcode:`ASYNC_GEN_WRAP`, :opcode:`RETURN_GENERATOR` and :opcode:`SEND`, " +"used in generators and co-routines." +msgstr "" + +msgid "" +":opcode:`COPY_FREE_VARS`, which avoids needing special caller-side code for " +"closures." +msgstr "" + +msgid "" +":opcode:`JUMP_BACKWARD_NO_INTERRUPT`, for use in certain loops where " +"handling interrupts is undesirable." +msgstr "" + +msgid ":opcode:`MAKE_CELL`, to create :ref:`cell-objects`." +msgstr "" + +msgid "" +":opcode:`CHECK_EG_MATCH` and :opcode:`PREP_RERAISE_STAR`, to handle the :" +"ref:`new exception groups and except* ` added in :pep:" +"`654`." +msgstr "" + +msgid ":opcode:`PUSH_EXC_INFO`, for use in exception handlers." +msgstr "" + +msgid "" +":opcode:`RESUME`, a no-op, for internal tracing, debugging and optimization " +"checks." +msgstr "" + +msgid "Replaced opcodes" +msgstr "" + +msgid "Replaced Opcode(s)" +msgstr "" + +msgid "New Opcode(s)" +msgstr "" + +msgid "Notes" +msgstr "Примітки" + +msgid ":opcode:`!BINARY_*`" +msgstr "" + +msgid ":opcode:`!INPLACE_*`" +msgstr "" + +msgid ":opcode:`BINARY_OP`" +msgstr "" + +msgid "Replaced all numeric binary/in-place opcodes with a single opcode" +msgstr "" + +msgid ":opcode:`!CALL_FUNCTION`" +msgstr "" + +msgid ":opcode:`!CALL_FUNCTION_KW`" +msgstr "" + +msgid ":opcode:`!CALL_METHOD`" +msgstr "" + +msgid ":opcode:`CALL`" +msgstr "" + +msgid ":opcode:`KW_NAMES`" +msgstr "" + +msgid ":opcode:`PRECALL`" +msgstr "" + +msgid ":opcode:`PUSH_NULL`" +msgstr "" + +msgid "" +"Decouples argument shifting for methods from handling of keyword arguments; " +"allows better specialization of calls" +msgstr "" + +msgid ":opcode:`!DUP_TOP`" +msgstr "" + +msgid ":opcode:`!DUP_TOP_TWO`" +msgstr "" + +msgid ":opcode:`!ROT_TWO`" +msgstr "" + +msgid ":opcode:`!ROT_THREE`" +msgstr "" + +msgid ":opcode:`!ROT_FOUR`" +msgstr "" + +msgid ":opcode:`!ROT_N`" +msgstr "" + +msgid ":opcode:`COPY`" +msgstr "" + +msgid ":opcode:`SWAP`" +msgstr "" + +msgid "Stack manipulation instructions" +msgstr "" + +msgid ":opcode:`!JUMP_IF_NOT_EXC_MATCH`" +msgstr "" + +msgid ":opcode:`CHECK_EXC_MATCH`" +msgstr "" + +msgid "Now performs check but doesn't jump" +msgstr "" + +msgid ":opcode:`!JUMP_ABSOLUTE`" +msgstr "" + +msgid ":opcode:`!POP_JUMP_IF_FALSE`" +msgstr "" + +msgid ":opcode:`!POP_JUMP_IF_TRUE`" +msgstr "" + +msgid ":opcode:`JUMP_BACKWARD`" +msgstr "" + +msgid ":opcode:`POP_JUMP_BACKWARD_IF_* `" +msgstr "" + +msgid ":opcode:`POP_JUMP_FORWARD_IF_* `" +msgstr "" + +msgid "" +"See [#bytecode-jump]_; ``TRUE``, ``FALSE``, ``NONE`` and ``NOT_NONE`` " +"variants for each direction" +msgstr "" + +msgid ":opcode:`!SETUP_WITH`" +msgstr "" + +msgid ":opcode:`!SETUP_ASYNC_WITH`" +msgstr "" + +msgid ":opcode:`BEFORE_WITH`" +msgstr "" + +msgid ":keyword:`with` block setup" +msgstr "" + +msgid "" +"All jump opcodes are now relative, including the existing :opcode:" +"`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP`. The argument is " +"now an offset from the current instruction rather than an absolute location." +msgstr "" + +msgid "Changed/removed opcodes" +msgstr "" + +msgid "" +"Changed :opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` to no longer push an " +"additional boolean value to indicate success/failure. Instead, ``None`` is " +"pushed on failure in place of the tuple of extracted values." +msgstr "" + +msgid "" +"Changed opcodes that work with exceptions to reflect them now being " +"represented as one item on the stack instead of three (see :gh:`89874`)." +msgstr "" + +msgid "" +"Removed :opcode:`!COPY_DICT_WITHOUT_KEYS`, :opcode:`!GEN_START`, :opcode:`!" +"POP_BLOCK`, :opcode:`!SETUP_FINALLY` and :opcode:`!YIELD_FROM`." +msgstr "" + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "" +"This section lists Python APIs that have been deprecated in Python 3.11." +msgstr "" + +msgid "" +"Deprecated C APIs are :ref:`listed separately `." +msgstr "" + +msgid "Language/Builtins" +msgstr "" + +msgid "" +"Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is " +"now deprecated. It can no longer be used to wrap other descriptors such as :" +"class:`property`. The core design of this feature was flawed and caused a " +"number of downstream problems. To \"pass-through\" a :class:`classmethod`, " +"consider using the :attr:`!__wrapped__` attribute that was added in Python " +"3.10. (Contributed by Raymond Hettinger in :gh:`89519`.)" +msgstr "" + +msgid "" +"Octal escapes in string and bytes literals with values larger than ``0o377`` " +"(255 in decimal) now produce a :exc:`DeprecationWarning`. In a future Python " +"version, they will raise a :exc:`SyntaxWarning` and eventually a :exc:" +"`SyntaxError`. (Contributed by Serhiy Storchaka in :gh:`81548`.)" +msgstr "" + +msgid "" +"The delegation of :func:`int` to :meth:`~object.__trunc__` is now " +"deprecated. Calling ``int(a)`` when ``type(a)`` implements :meth:`!" +"__trunc__` but not :meth:`~object.__int__` or :meth:`~object.__index__` now " +"raises a :exc:`DeprecationWarning`. (Contributed by Zackery Spytz in :issue:" +"`44977`.)" +msgstr "" + +msgid "Modules" +msgstr "Модулі" + +msgid "" +":pep:`594` led to the deprecations of the following modules slated for " +"removal in Python 3.13:" +msgstr "" + +msgid ":mod:`aifc`" +msgstr "" + +msgid ":mod:`chunk`" +msgstr "" + +msgid ":mod:`msilib`" +msgstr "" + +msgid ":mod:`pipes`" +msgstr "" + +msgid ":mod:`telnetlib`" +msgstr "" + +msgid ":mod:`audioop`" +msgstr "" + +msgid ":mod:`crypt`" +msgstr "" + +msgid ":mod:`nis`" +msgstr "" + +msgid ":mod:`sndhdr`" +msgstr "" + +msgid ":mod:`uu`" +msgstr "" + +msgid ":mod:`cgi`" +msgstr "" + +msgid ":mod:`imghdr`" +msgstr "" + +msgid ":mod:`nntplib`" +msgstr "" + +msgid ":mod:`spwd`" +msgstr "" + +msgid ":mod:`xdrlib`" +msgstr "" + +msgid ":mod:`cgitb`" +msgstr "" + +msgid ":mod:`mailcap`" +msgstr "" + +msgid ":mod:`ossaudiodev`" +msgstr "" + +msgid ":mod:`sunau`" +msgstr "" + +msgid "" +"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in :gh:" +"`68966`.)" +msgstr "" + +msgid "" +"The :mod:`asynchat`, :mod:`asyncore` and :mod:`smtpd` modules have been " +"deprecated since at least Python 3.6. Their documentation and deprecation " +"warnings have now been updated to note they will be removed in Python 3.12. " +"(Contributed by Hugo van Kemenade in :issue:`47022`.)" +msgstr "" + +msgid "" +"The :mod:`lib2to3` package and :ref:`2to3 <2to3-reference>` tool are now " +"deprecated and may not be able to parse Python 3.10 or newer. See :pep:" +"`617`, introducing the new PEG parser, for details. (Contributed by Victor " +"Stinner in :issue:`40360`.)" +msgstr "" + +msgid "" +"Undocumented modules :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!" +"sre_parse` are now deprecated. (Contributed by Serhiy Storchaka in :issue:" +"`47152`.)" +msgstr "" + +msgid "Standard Library" +msgstr "" + +msgid "" +"The following have been deprecated in :mod:`configparser` since Python 3.2. " +"Their deprecation warnings have now been updated to note they will be " +"removed in Python 3.12:" +msgstr "" + +msgid "the :class:`!configparser.SafeConfigParser` class" +msgstr "" + +msgid "the :attr:`!configparser.ParsingError.filename` property" +msgstr "" + +msgid "the :meth:`configparser.RawConfigParser.readfp` method" +msgstr "" + +msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)" +msgstr "" + +msgid "" +":class:`!configparser.LegacyInterpolation` has been deprecated in the " +"docstring since Python 3.2, and is not listed in the :mod:`configparser` " +"documentation. It now emits a :exc:`DeprecationWarning` and will be removed " +"in Python 3.13. Use :class:`configparser.BasicInterpolation` or :class:" +"`configparser.ExtendedInterpolation` instead. (Contributed by Hugo van " +"Kemenade in :issue:`46607`.)" +msgstr "" + +msgid "" +"The older set of :mod:`importlib.resources` functions were deprecated in " +"favor of the replacements added in Python 3.9 and will be removed in a " +"future Python version, due to not supporting resources located within " +"package subdirectories:" +msgstr "" + +msgid ":func:`importlib.resources.contents`" +msgstr "" + +msgid ":func:`importlib.resources.is_resource`" +msgstr "" + +msgid ":func:`importlib.resources.open_binary`" +msgstr "" + +msgid ":func:`importlib.resources.open_text`" +msgstr "" + +msgid ":func:`importlib.resources.read_binary`" +msgstr "" + +msgid ":func:`importlib.resources.read_text`" +msgstr "" + +msgid ":func:`importlib.resources.path`" +msgstr "" + +msgid "" +"The :func:`locale.getdefaultlocale` function is deprecated and will be " +"removed in Python 3.13. Use :func:`locale.setlocale`, :func:`locale." +"getpreferredencoding(False) ` and :func:`locale." +"getlocale` functions instead. (Contributed by Victor Stinner in :gh:`90817`.)" +msgstr "" + +msgid "" +"The :func:`locale.resetlocale` function is deprecated and will be removed in " +"Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. " +"(Contributed by Victor Stinner in :gh:`90817`.)" +msgstr "" + +msgid "" +"Stricter rules will now be applied for numerical group references and group " +"names in :ref:`regular expressions `. Only sequences of ASCII " +"digits will now be accepted as a numerical reference, and the group name in :" +"class:`bytes` patterns and replacement strings can only contain ASCII " +"letters, digits and underscores. For now, a deprecation warning is raised " +"for syntax violating these rules. (Contributed by Serhiy Storchaka in :gh:" +"`91760`.)" +msgstr "" + +msgid "" +"In the :mod:`re` module, the :func:`!re.template` function and the " +"corresponding :data:`!re.TEMPLATE` and :data:`!re.T` flags are deprecated, " +"as they were undocumented and lacked an obvious purpose. They will be " +"removed in Python 3.13. (Contributed by Serhiy Storchaka and Miro Hrončok " +"in :gh:`92728`.)" +msgstr "" + +msgid "" +":func:`turtle.settiltangle` has been deprecated since Python 3.1; it now " +"emits a deprecation warning and will be removed in Python 3.13. Use :func:" +"`turtle.tiltangle` instead (it was earlier incorrectly marked as deprecated, " +"and its docstring is now corrected). (Contributed by Hugo van Kemenade in :" +"issue:`45837`.)" +msgstr "" + +msgid "" +":class:`typing.Text`, which exists solely to provide compatibility support " +"between Python 2 and Python 3 code, is now deprecated. Its removal is " +"currently unplanned, but users are encouraged to use :class:`str` instead " +"wherever possible. (Contributed by Alex Waygood in :gh:`92332`.)" +msgstr "" + +msgid "" +"The keyword argument syntax for constructing :data:`typing.TypedDict` types " +"is now deprecated. Support will be removed in Python 3.13. (Contributed by " +"Jingchen Ye in :gh:`90224`.)" +msgstr "" + +msgid "" +":class:`!webbrowser.MacOSX` is deprecated and will be removed in Python " +"3.13. It is untested, undocumented, and not used by :mod:`webbrowser` " +"itself. (Contributed by Dong-hee Na in :issue:`42255`.)" +msgstr "" + +msgid "" +"The behavior of returning a value from a :class:`~unittest.TestCase` and :" +"class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the " +"default ``None`` value) is now deprecated." +msgstr "" + +msgid "" +"Deprecated the following not-formally-documented :mod:`unittest` functions, " +"scheduled for removal in Python 3.13:" +msgstr "" + +msgid ":func:`!unittest.findTestCases`" +msgstr "" + +msgid ":func:`!unittest.makeSuite`" +msgstr "" + +msgid ":func:`!unittest.getTestCaseNames`" +msgstr "" + +msgid "Use :class:`~unittest.TestLoader` methods instead:" +msgstr "" + +msgid ":meth:`unittest.TestLoader.loadTestsFromModule`" +msgstr "" + +msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`" +msgstr "" + +msgid ":meth:`unittest.TestLoader.getTestCaseNames`" +msgstr "" + +msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)" +msgstr "" + +msgid "Pending Removal in Python 3.12" +msgstr "" + +msgid "" +"The following Python APIs have been deprecated in earlier Python releases, " +"and will be removed in Python 3.12." +msgstr "" + +msgid "" +"C APIs pending removal are :ref:`listed separately `." +msgstr "" + +msgid "The :mod:`asynchat` module" +msgstr "" + +msgid "The :mod:`asyncore` module" +msgstr "" + +msgid "The :ref:`entire distutils package `" +msgstr "" + +msgid "The :mod:`imp` module" +msgstr "" + +msgid "The :class:`typing.io ` namespace" +msgstr "" + +msgid "The :class:`typing.re ` namespace" +msgstr "" + +msgid ":func:`!cgi.log`" +msgstr "" + +msgid ":func:`importlib.find_loader`" +msgstr "" + +msgid ":meth:`importlib.abc.Loader.module_repr`" +msgstr "" + +msgid ":meth:`importlib.abc.MetaPathFinder.find_module`" +msgstr "" + +msgid ":meth:`importlib.abc.PathEntryFinder.find_loader`" +msgstr "" + +msgid ":meth:`importlib.abc.PathEntryFinder.find_module`" +msgstr "" + +msgid ":meth:`!importlib.machinery.BuiltinImporter.find_module`" +msgstr "" + +msgid ":meth:`!importlib.machinery.BuiltinLoader.module_repr`" +msgstr "" + +msgid ":meth:`!importlib.machinery.FileFinder.find_loader`" +msgstr "" + +msgid ":meth:`!importlib.machinery.FileFinder.find_module`" +msgstr "" + +msgid ":meth:`!importlib.machinery.FrozenImporter.find_module`" +msgstr "" + +msgid ":meth:`!importlib.machinery.FrozenLoader.module_repr`" +msgstr "" + +msgid ":meth:`importlib.machinery.PathFinder.find_module`" +msgstr "" + +msgid ":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`" +msgstr "" + +msgid ":func:`importlib.util.module_for_loader`" +msgstr "" + +msgid ":func:`!importlib.util.set_loader_wrapper`" +msgstr "" + +msgid ":func:`!importlib.util.set_package_wrapper`" +msgstr "" + +msgid ":class:`pkgutil.ImpImporter`" +msgstr "" + +msgid ":class:`pkgutil.ImpLoader`" +msgstr "" + +msgid ":meth:`pathlib.Path.link_to`" +msgstr "" + +msgid ":func:`!sqlite3.enable_shared_cache`" +msgstr "" + +msgid ":func:`!sqlite3.OptimizedUnicode`" +msgstr "" + +msgid ":envvar:`PYTHONTHREADDEBUG` environment variable" +msgstr "" + +msgid "The following deprecated aliases in :mod:`unittest`:" +msgstr "" + +msgid "Deprecated alias" +msgstr "Застарілий псевдонім" + +msgid "Method Name" +msgstr "Назва методу" + +msgid "Deprecated in" +msgstr "" + +msgid "``failUnless``" +msgstr "" + +msgid ":meth:`.assertTrue`" +msgstr ":meth:`.assertTrue`" + +msgid "3.1" +msgstr "3.1" + +msgid "``failIf``" +msgstr "" + +msgid ":meth:`.assertFalse`" +msgstr ":meth:`.assertFalse`" + +msgid "``failUnlessEqual``" +msgstr "" + +msgid ":meth:`.assertEqual`" +msgstr ":meth:`.assertEqual`" + +msgid "``failIfEqual``" +msgstr "" + +msgid ":meth:`.assertNotEqual`" +msgstr ":meth:`.assertNotEqual`" + +msgid "``failUnlessAlmostEqual``" +msgstr "" + +msgid ":meth:`.assertAlmostEqual`" +msgstr ":meth:`.assertAlmostEqual`" + +msgid "``failIfAlmostEqual``" +msgstr "" + +msgid ":meth:`.assertNotAlmostEqual`" +msgstr ":meth:`.assertNotAlmostEqual`" + +msgid "``failUnlessRaises``" +msgstr "" + +msgid ":meth:`.assertRaises`" +msgstr ":meth:`.assertRaises`" + +msgid "``assert_``" +msgstr "" + +msgid "3.2" +msgstr "3.2" + +msgid "``assertEquals``" +msgstr "" + +msgid "``assertNotEquals``" +msgstr "" + +msgid "``assertAlmostEquals``" +msgstr "" + +msgid "``assertNotAlmostEquals``" +msgstr "" + +msgid "``assertRegexpMatches``" +msgstr "" + +msgid ":meth:`.assertRegex`" +msgstr ":meth:`.assertRegex`" + +msgid "``assertRaisesRegexp``" +msgstr "" + +msgid ":meth:`.assertRaisesRegex`" +msgstr ":meth:`.assertRaisesRegex`" + +msgid "``assertNotRegexpMatches``" +msgstr "" + +msgid ":meth:`.assertNotRegex`" +msgstr ":meth:`.assertNotRegex`" + +msgid "3.5" +msgstr "" + +msgid "Removed" +msgstr "Видалено" + +msgid "This section lists Python APIs that have been removed in Python 3.11." +msgstr "" + +msgid "" +"Removed C APIs are :ref:`listed separately `." +msgstr "" + +msgid "" +"Removed the :func:`!@asyncio.coroutine` :term:`decorator` enabling legacy " +"generator-based coroutines to be compatible with :keyword:`async` / :keyword:" +"`await` code. The function has been deprecated since Python 3.8 and the " +"removal was initially scheduled for Python 3.10. Use :keyword:`async def` " +"instead. (Contributed by Illia Volochii in :issue:`43216`.)" +msgstr "" + +msgid "" +"Removed :class:`!asyncio.coroutines.CoroWrapper` used for wrapping legacy " +"generator-based coroutine objects in the debug mode. (Contributed by Illia " +"Volochii in :issue:`43216`.)" +msgstr "" + +msgid "" +"Due to significant security concerns, the *reuse_address* parameter of :meth:" +"`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is now " +"entirely removed. This is because of the behavior of the socket option " +"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade in :issue:" +"`45129`.)" +msgstr "" + +msgid "" +"Removed the :mod:`!binhex` module, deprecated in Python 3.9. Also removed " +"the related, similarly-deprecated :mod:`binascii` functions:" +msgstr "" + +msgid ":func:`!binascii.a2b_hqx`" +msgstr "" + +msgid ":func:`!binascii.b2a_hqx`" +msgstr "" + +msgid ":func:`!binascii.rlecode_hqx`" +msgstr "" + +msgid ":func:`!binascii.rldecode_hqx`" +msgstr "" + +msgid "The :func:`binascii.crc_hqx` function remains available." +msgstr "" + +msgid "(Contributed by Victor Stinner in :issue:`45085`.)" +msgstr "" + +msgid "" +"Removed the :mod:`distutils` ``bdist_msi`` command deprecated in Python 3.9. " +"Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo van " +"Kemenade in :issue:`45124`.)" +msgstr "" + +msgid "" +"Removed the :meth:`~object.__getitem__` methods of :class:`xml.dom.pulldom." +"DOMEventStream`, :class:`wsgiref.util.FileWrapper` and :class:`fileinput." +"FileInput`, deprecated since Python 3.9. (Contributed by Hugo van Kemenade " +"in :issue:`45132`.)" +msgstr "" + +msgid "" +"Removed the deprecated :mod:`gettext` functions :func:`!lgettext`, :func:`!" +"ldgettext`, :func:`!lngettext` and :func:`!ldngettext`. Also removed the :" +"func:`!bind_textdomain_codeset` function, the :meth:`!NullTranslations." +"output_charset` and :meth:`!NullTranslations.set_output_charset` methods, " +"and the *codeset* parameter of :func:`!translation` and :func:`!install`, " +"since they are only used for the :func:`!l*gettext` functions. (Contributed " +"by Dong-hee Na and Serhiy Storchaka in :issue:`44235`.)" +msgstr "" + +msgid "Removed from the :mod:`inspect` module:" +msgstr "" + +msgid "" +"The :func:`!getargspec` function, deprecated since Python 3.0; use :func:" +"`inspect.signature` or :func:`inspect.getfullargspec` instead." +msgstr "" + +msgid "" +"The :func:`!formatargspec` function, deprecated since Python 3.5; use the :" +"func:`inspect.signature` function or the :class:`inspect.Signature` object " +"directly." +msgstr "" + +msgid "" +"The undocumented :meth:`!Signature.from_builtin` and :meth:`!Signature." +"from_function` methods, deprecated since Python 3.5; use the :meth:" +"`Signature.from_callable() ` method instead." +msgstr "" + +msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)" +msgstr "" + +msgid "" +"Removed the :meth:`~object.__class_getitem__` method from :class:`pathlib." +"PurePath`, because it was not used and added by mistake in previous " +"versions. (Contributed by Nikita Sobolev in :issue:`46483`.)" +msgstr "" + +msgid "" +"Removed the :class:`!MailmanProxy` class in the :mod:`smtpd` module, as it " +"is unusable without the external :mod:`!mailman` package. (Contributed by " +"Dong-hee Na in :issue:`35800`.)" +msgstr "" + +msgid "" +"Removed the deprecated :meth:`!split` method of :class:`!_tkinter." +"TkappType`. (Contributed by Erlend E. Aasland in :issue:`38371`.)" +msgstr "" + +msgid "" +"Removed namespace package support from :mod:`unittest` discovery. It was " +"introduced in Python 3.4 but has been broken since Python 3.7. (Contributed " +"by Inada Naoki in :issue:`23882`.)" +msgstr "" + +msgid "" +"Removed the undocumented private :meth:`!float.__set_format__()` method, " +"previously known as :meth:`!float.__setformat__()` in Python 3.7. Its " +"docstring said: \"You probably don't want to use this function. It exists " +"mainly to be used in Python's test suite.\" (Contributed by Victor Stinner " +"in :issue:`46852`.)" +msgstr "" + +msgid "" +"The :option:`!--experimental-isolated-subinterpreters` configure flag (and " +"corresponding :c:macro:`!EXPERIMENTAL_ISOLATED_SUBINTERPRETERS` macro) have " +"been removed." +msgstr "" + +msgid "" +"`Pynche `_ --- The Pythonically Natural " +"Color and Hue Editor --- has been moved out of ``Tools/scripts`` and is " +"`being developed independently `_ from the Python source tree." +msgstr "" + +msgid "Porting to Python 3.11" +msgstr "" + +msgid "" +"This section lists previously described changes and other bugfixes in the " +"Python API that may require changes to your Python code." +msgstr "" + +msgid "" +"Porting notes for the C API are :ref:`listed separately `." +msgstr "" + +msgid "" +":func:`open`, :func:`io.open`, :func:`codecs.open` and :class:`fileinput." +"FileInput` no longer accept ``'U'`` (\"universal newline\") in the file " +"mode. In Python 3, \"universal newline\" mode is used by default whenever a " +"file is opened in text mode, and the ``'U'`` flag has been deprecated since " +"Python 3.3. The :ref:`newline parameter ` to these " +"functions controls how universal newlines work. (Contributed by Victor " +"Stinner in :issue:`37330`.)" +msgstr "" + +msgid "" +":class:`ast.AST` node positions are now validated when provided to :func:" +"`compile` and other related functions. If invalid positions are detected, a :" +"exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:" +"`93351`)" +msgstr "" + +msgid "" +"Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` " +"executors to :meth:`asyncio.loop.set_default_executor` following a " +"deprecation in Python 3.8. (Contributed by Illia Volochii in :issue:`43234`.)" +msgstr "" + +msgid "" +":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and :class:" +"`calendar.LocaleHTMLCalendar` classes now use :func:`locale.getlocale`, " +"instead of using :func:`locale.getdefaultlocale`, if no locale is specified. " +"(Contributed by Victor Stinner in :issue:`46659`.)" +msgstr "" + +msgid "" +"The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with " +"the ``'UTF-8'`` encoding. (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ " +"రెడ్డి తాటిపర్తి) in :issue:`41137`.)" +msgstr "" + +msgid "" +"The *population* parameter of :func:`random.sample` must be a sequence, and " +"automatic conversion of :class:`set`\\s to :class:`list`\\s is no longer " +"supported. Also, if the sample size is larger than the population size, a :" +"exc:`ValueError` is raised. (Contributed by Raymond Hettinger in :issue:" +"`40465`.)" +msgstr "" + +msgid "" +"The *random* optional parameter of :func:`random.shuffle` was removed. It " +"was previously an arbitrary random function to use for the shuffle; now, :" +"func:`random.random` (its previous default) will always be used." +msgstr "" + +msgid "" +"In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``) can now " +"only be used at the start of regular expressions. Using them elsewhere has " +"been deprecated since Python 3.6. (Contributed by Serhiy Storchaka in :issue:" +"`47066`.)" +msgstr "" + +msgid "" +"In the :mod:`re` module, several long-standing bugs where fixed that, in " +"rare cases, could cause capture groups to get the wrong result. Therefore, " +"this could change the captured output in these cases. (Contributed by Ma Lin " +"in :issue:`35859`.)" +msgstr "" + +msgid "Build Changes" +msgstr "Зміни збірки" + +msgid "" +"CPython now has :pep:`11` :pep:`Tier 3 support <11#tier-3>` for cross " +"compiling to the `WebAssembly `_ platforms " +"`Emscripten `_ (``wasm32-unknown-emscripten``, i.e. " +"Python in the browser) and `WebAssembly System Interface (WASI) `_ (``wasm32-unknown-wasi``). The effort is inspired by previous " +"work like `Pyodide `_. These platforms provide a " +"limited subset of POSIX APIs; Python standard libraries features and modules " +"related to networking, processes, threading, signals, mmap, and users/groups " +"are not available or don't work. (Emscripten contributed by Christian Heimes " +"and Ethan Smith in :gh:`84461` and WASI contributed by Christian Heimes in :" +"gh:`90473`; platforms promoted in :gh:`95085`)" +msgstr "" + +msgid "Building Python now requires:" +msgstr "" + +msgid "" +"A `C11 `_ compiler. `Optional C11 " +"features `_ are not required. " +"(Contributed by Victor Stinner in :issue:`46656`.)" +msgstr "" + +msgid "" +"Support for `IEEE 754 `_ floating " +"point numbers. (Contributed by Victor Stinner in :issue:`46917`.)" +msgstr "" + +msgid "" +"Support for `floating point Not-a-Number (NaN) `_, as the :c:macro:`!Py_NO_NAN` macro has been " +"removed. (Contributed by Victor Stinner in :issue:`46656`.)" +msgstr "" + +msgid "" +"A `C99 `_ ```` header file " +"providing the :c:func:`!copysign`, :c:func:`!hypot`, :c:func:`!isfinite`, :c:" +"func:`!isinf`, :c:func:`!isnan`, and :c:func:`!round` functions (contributed " +"by Victor Stinner in :issue:`45440`); and a :c:data:`!NAN` constant or the :" +"c:func:`!__builtin_nan` function (Contributed by Victor Stinner in :issue:" +"`46640`)." +msgstr "" + +msgid "" +"The :mod:`tkinter` package now requires `Tcl/Tk `_ " +"version 8.5.12 or newer. (Contributed by Serhiy Storchaka in :issue:`46996`.)" +msgstr "" + +msgid "" +"Build dependencies, compiler flags, and linker flags for most stdlib " +"extension modules are now detected by :program:`configure`. libffi, libnsl, " +"libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk, and uuid flags are " +"detected by `pkg-config `_ (when available). :mod:`tkinter` now requires a pkg-config " +"command to detect development settings for `Tcl/Tk`_ headers and libraries. " +"(Contributed by Christian Heimes and Erlend Egeberg Aasland in :issue:" +"`45847`, :issue:`45747`, and :issue:`45763`.)" +msgstr "" + +msgid "" +"libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert " +"in :issue:`45433`.)" +msgstr "" + +msgid "" +"CPython can now be built with the `ThinLTO `_ option via passing ``thin`` to :option:`--with-lto`, i.e. " +"``--with-lto=thin``. (Contributed by Dong-hee Na and Brett Holman in :issue:" +"`44340`.)" +msgstr "" + +msgid "" +"Freelists for object structs can now be disabled. A new :program:`configure` " +"option :option:`!--without-freelists` can be used to disable all freelists " +"except empty tuple singleton. (Contributed by Christian Heimes in :issue:" +"`45522`.)" +msgstr "" + +msgid "" +"``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up. " +"Extension modules can now be built through ``makesetup``. All except some " +"test modules can be linked statically into a main binary or library. " +"(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`, :issue:" +"`45570`, :issue:`45571`, and :issue:`43974`.)" +msgstr "" + +msgid "" +"Use the environment variables :envvar:`!TCLTK_CFLAGS` and :envvar:`!" +"TCLTK_LIBS` to manually specify the location of Tcl/Tk headers and " +"libraries. The :program:`configure` options :option:`!--with-tcltk-includes` " +"and :option:`!--with-tcltk-libs` have been removed." +msgstr "" + +msgid "" +"On RHEL 7 and CentOS 7 the development packages do not provide ``tcl.pc`` " +"and ``tk.pc``; use ``TCLTK_LIBS=\"-ltk8.5 -ltkstub8.5 -ltcl8.5\"``. The " +"directory ``Misc/rhel7`` contains ``.pc`` files and instructions on how to " +"build Python with RHEL 7's and CentOS 7's Tcl/Tk and OpenSSL." +msgstr "" + +msgid "" +"CPython will now use 30-bit digits by default for the Python :class:`int` " +"implementation. Previously, the default was to use 30-bit digits on " +"platforms with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's " +"still possible to explicitly request use of 15-bit digits via either the :" +"option:`--enable-big-digits` option to the configure script or (for Windows) " +"the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but this option " +"may be removed at some point in the future. (Contributed by Mark Dickinson " +"in :issue:`45569`.)" +msgstr "" + +msgid "C API Changes" +msgstr "Зміни C API" + +msgid "" +"Add a new :c:func:`PyType_GetName` function to get type's short name. " +"(Contributed by Hai Shi in :issue:`42035`.)" +msgstr "" + +msgid "" +"Add a new :c:func:`PyType_GetQualName` function to get type's qualified " +"name. (Contributed by Hai Shi in :issue:`42035`.)" +msgstr "" + +msgid "" +"Add new :c:func:`PyThreadState_EnterTracing` and :c:func:" +"`PyThreadState_LeaveTracing` functions to the limited C API to suspend and " +"resume tracing and profiling. (Contributed by Victor Stinner in :issue:" +"`43760`.)" +msgstr "" + +msgid "" +"Added the :c:data:`Py_Version` constant which bears the same value as :c:" +"macro:`PY_VERSION_HEX`. (Contributed by Gabriele N. Tornetta in :issue:" +"`43931`.)" +msgstr "" + +msgid "" +":c:type:`Py_buffer` and APIs are now part of the limited API and the stable " +"ABI:" +msgstr "" + +msgid ":c:func:`PyObject_CheckBuffer`" +msgstr "" + +msgid ":c:func:`PyObject_GetBuffer`" +msgstr "" + +msgid ":c:func:`PyBuffer_GetPointer`" +msgstr "" + +msgid ":c:func:`PyBuffer_SizeFromFormat`" +msgstr "" + +msgid ":c:func:`PyBuffer_ToContiguous`" +msgstr "" + +msgid ":c:func:`PyBuffer_FromContiguous`" +msgstr "" + +msgid ":c:func:`PyBuffer_CopyData`" +msgstr "" + +msgid ":c:func:`PyBuffer_IsContiguous`" +msgstr "" + +msgid ":c:func:`PyBuffer_FillContiguousStrides`" +msgstr "" + +msgid ":c:func:`PyBuffer_FillInfo`" +msgstr "" + +msgid ":c:func:`PyBuffer_Release`" +msgstr "" + +msgid ":c:func:`PyMemoryView_FromBuffer`" +msgstr "" + +msgid "" +":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs." +"bf_releasebuffer` type slots" +msgstr "" + +msgid "(Contributed by Christian Heimes in :issue:`45459`.)" +msgstr "" + +msgid "" +"Added the :c:data:`PyType_GetModuleByDef` function, used to get the module " +"in which a method was defined, in cases where this information is not " +"available directly (via :c:type:`PyCMethod`). (Contributed by Petr Viktorin " +"in :issue:`46613`.)" +msgstr "" + +msgid "" +"Add new functions to pack and unpack C double (serialize and deserialize): :" +"c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:" +"func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and :c:func:" +"`PyFloat_Unpack8`. (Contributed by Victor Stinner in :issue:`46906`.)" +msgstr "" + +msgid "" +"Add new functions to get frame object attributes: :c:func:" +"`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:" +"`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`." +msgstr "" + +msgid "" +"Added two new functions to get and set the active exception instance: :c:" +"func:`PyErr_GetHandledException` and :c:func:`PyErr_SetHandledException`. " +"These are alternatives to :c:func:`PyErr_SetExcInfo()` and :c:func:" +"`PyErr_GetExcInfo()` which work with the legacy 3-tuple representation of " +"exceptions. (Contributed by Irit Katriel in :issue:`46343`.)" +msgstr "" + +msgid "" +"Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor " +"Stinner in :gh:`57684`.)" +msgstr "" + +msgid "" +"Some macros have been converted to static inline functions to avoid `macro " +"pitfalls `_. The " +"change should be mostly transparent to users, as the replacement functions " +"will cast their arguments to the expected types to avoid compiler warnings " +"due to static type checks. However, when the limited C API is set to >=3.11, " +"these casts are not done, and callers will need to cast arguments to their " +"expected types. See :pep:`670` for more details. (Contributed by Victor " +"Stinner and Erlend E. Aasland in :gh:`89653`.)" +msgstr "" + +msgid "" +":c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` " +"arguments, the interpreter now derives those values from the exception " +"instance (the ``value`` argument). The function still steals references of " +"all three arguments. (Contributed by Irit Katriel in :issue:`45711`.)" +msgstr "" + +msgid "" +":c:func:`PyErr_GetExcInfo()` now derives the ``type`` and ``traceback`` " +"fields of the result from the exception instance (the ``value`` field). " +"(Contributed by Irit Katriel in :issue:`45711`.)" +msgstr "" + +msgid "" +":c:struct:`_frozen` has a new ``is_package`` field to indicate whether or " +"not the frozen module is a package. Previously, a negative value in the " +"``size`` field was the indicator. Now only non-negative values be used for " +"``size``. (Contributed by Kumar Aditya in :issue:`46608`.)" +msgstr "" + +msgid "" +":c:func:`_PyFrameEvalFunction` now takes ``_PyInterpreterFrame*`` as its " +"second parameter, instead of ``PyFrameObject*``. See :pep:`523` for more " +"details of how to use this function pointer type." +msgstr "" + +msgid "" +":c:func:`PyCode_New` and :c:func:`PyCode_NewWithPosOnlyArgs` now take an " +"additional ``exception_table`` argument. Using these functions should be " +"avoided, if at all possible. To get a custom code object: create a code " +"object using the compiler, then get a modified version with the ``replace`` " +"method." +msgstr "" + +msgid "" +":c:type:`PyCodeObject` no longer has the ``co_code``, ``co_varnames``, " +"``co_cellvars`` and ``co_freevars`` fields. Instead, use :c:func:" +"`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:`PyCode_GetCellvars` " +"and :c:func:`PyCode_GetFreevars` respectively to access them via the C API. " +"(Contributed by Brandt Bucher in :issue:`46841` and Ken Jin in :gh:`92154` " +"and :gh:`94936`.)" +msgstr "" + +msgid "" +"The old trashcan macros (``Py_TRASHCAN_SAFE_BEGIN``/" +"``Py_TRASHCAN_SAFE_END``) are now deprecated. They should be replaced by the " +"new macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``." +msgstr "" + +msgid "A tp_dealloc function that has the old macros, such as::" +msgstr "" + +msgid "should migrate to the new macros as follows::" +msgstr "" + +msgid "" +"Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the " +"deallocation function it is in." +msgstr "" + +msgid "" +"To support older Python versions in the same codebase, you can define the " +"following macros and use them throughout the code (credit: these were copied " +"from the ``mypy`` codebase)::" +msgstr "" + +msgid "" +"The :c:func:`PyType_Ready` function now raises an error if a type is defined " +"with the :const:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function (:" +"c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor Stinner in :" +"issue:`44263`.)" +msgstr "" + +msgid "" +"Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit " +"the :pep:`590` vectorcall protocol. Previously, this was only possible for :" +"ref:`static types `. (Contributed by Erlend E. Aasland in :" +"issue:`43908`)" +msgstr "" + +msgid "" +"Since :c:func:`Py_TYPE()` is changed to a inline static function, " +"``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, " +"new_type)``: see the :c:func:`Py_SET_TYPE()` function (available since " +"Python 3.9). For backward compatibility, this macro can be used::" +msgstr "" + +msgid "(Contributed by Victor Stinner in :issue:`39573`.)" +msgstr "(Надав Віктор Стіннер у :issue:`39573`.)" + +msgid "" +"Since :c:func:`Py_SIZE()` is changed to a inline static function, " +"``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, " +"new_size)``: see the :c:func:`Py_SET_SIZE()` function (available since " +"Python 3.9). For backward compatibility, this macro can be used::" +msgstr "" + +msgid "" +"```` no longer includes the header files ````, ````, ```` and ```` when the ``Py_LIMITED_API`` macro is " +"set to ``0x030b0000`` (Python 3.11) or higher. C extensions should " +"explicitly include the header files after ``#include ``. " +"(Contributed by Victor Stinner in :issue:`45434`.)" +msgstr "" + +msgid "" +"The non-limited API files ``cellobject.h``, ``classobject.h``, ``code.h``, " +"``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have " +"been moved to the ``Include/cpython`` directory. Moreover, the ``eval.h`` " +"header file was removed. These files must not be included directly, as they " +"are already included in ``Python.h``: :ref:`Include Files `. " +"If they have been included directly, consider including ``Python.h`` " +"instead. (Contributed by Victor Stinner in :issue:`35134`.)" +msgstr "" + +msgid "" +"The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the " +"limited C API. It was never usable there, because it used internal " +"structures which are not available in the limited C API. (Contributed by " +"Victor Stinner in :issue:`46007`.)" +msgstr "" + +msgid "" +"The following frame functions and type are now directly available with " +"``#include ``, it's no longer needed to add ``#include " +"``:" +msgstr "" + +msgid ":c:func:`PyFrame_Check`" +msgstr "" + +msgid ":c:func:`PyFrame_GetBack`" +msgstr "" + +msgid ":c:func:`PyFrame_GetBuiltins`" +msgstr "" + +msgid ":c:func:`PyFrame_GetGenerator`" +msgstr "" + +msgid ":c:func:`PyFrame_GetGlobals`" +msgstr "" + +msgid ":c:func:`PyFrame_GetLasti`" +msgstr "" + +msgid ":c:func:`PyFrame_GetLocals`" +msgstr "" + +msgid ":c:type:`PyFrame_Type`" +msgstr "" + +msgid "(Contributed by Victor Stinner in :gh:`93937`.)" +msgstr "" + +msgid "" +"The :c:type:`PyFrameObject` structure members have been removed from the " +"public C API." +msgstr "" + +msgid "" +"While the documentation notes that the :c:type:`PyFrameObject` fields are " +"subject to change at any time, they have been stable for a long time and " +"were used in several popular extensions." +msgstr "" + +msgid "" +"In Python 3.11, the frame struct was reorganized to allow performance " +"optimizations. Some fields were removed entirely, as they were details of " +"the old implementation." +msgstr "" + +msgid ":c:type:`PyFrameObject` fields:" +msgstr "" + +msgid "``f_back``: use :c:func:`PyFrame_GetBack`." +msgstr "" + +msgid "``f_blockstack``: removed." +msgstr "" + +msgid "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`." +msgstr "" + +msgid "``f_code``: use :c:func:`PyFrame_GetCode`." +msgstr "" + +msgid "``f_gen``: use :c:func:`PyFrame_GetGenerator`." +msgstr "" + +msgid "``f_globals``: use :c:func:`PyFrame_GetGlobals`." +msgstr "" + +msgid "``f_iblock``: removed." +msgstr "" + +msgid "" +"``f_lasti``: use :c:func:`PyFrame_GetLasti`. Code using ``f_lasti`` with " +"``PyCode_Addr2Line()`` should use :c:func:`PyFrame_GetLineNumber` instead; " +"it may be faster." +msgstr "" + +msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`" +msgstr "" + +msgid "``f_locals``: use :c:func:`PyFrame_GetLocals`." +msgstr "" + +msgid "``f_stackdepth``: removed." +msgstr "" + +msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)." +msgstr "" + +msgid "``f_trace``: no public API." +msgstr "" + +msgid "" +"``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, " +"\"f_trace_lines\")``." +msgstr "" + +msgid "" +"``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, " +"\"f_trace_opcodes\")``." +msgstr "" + +msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)." +msgstr "" + +msgid "``f_valuestack``: removed." +msgstr "" + +msgid "" +"The Python frame object is now created lazily. A side effect is that the " +"``f_back`` member must not be accessed directly, since its value is now also " +"computed lazily. The :c:func:`PyFrame_GetBack` function must be called " +"instead." +msgstr "" + +msgid "" +"Debuggers that accessed the ``f_locals`` directly *must* call :c:func:" +"`PyFrame_GetLocals` instead. They no longer need to call :c:func:" +"`PyFrame_FastToLocalsWithError` or :c:func:`PyFrame_LocalsToFast`, in fact " +"they should not call those functions. The necessary updating of the frame is " +"now managed by the virtual machine." +msgstr "" + +msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::" +msgstr "" + +msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::" +msgstr "" + +msgid "" +"Or use the `pythoncapi_compat project `__ to get these two functions on older Python versions." +msgstr "" + +msgid "Changes of the :c:type:`PyThreadState` structure members:" +msgstr "" + +msgid "" +"``frame``: removed, use :c:func:`PyThreadState_GetFrame` (function added to " +"Python 3.9 by :issue:`40429`). Warning: the function returns a :term:`strong " +"reference`, need to call :c:func:`Py_XDECREF`." +msgstr "" + +msgid "" +"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` and :c:func:" +"`PyThreadState_LeaveTracing` (functions added to Python 3.11 by :issue:" +"`43760`)." +msgstr "" + +msgid "" +"``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-" +">recursion_remaining)`` instead." +msgstr "" + +msgid "``stackcheck_counter``: removed." +msgstr "" + +msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::" +msgstr "" + +msgid "" +"Code defining ``PyThreadState_EnterTracing()`` and " +"``PyThreadState_LeaveTracing()`` on Python 3.10 and older::" +msgstr "" + +msgid "" +"Or use `the pythoncapi_compat project `__ to get these functions on old Python functions." +msgstr "" + +msgid "" +"Distributors are encouraged to build Python with the optimized Blake2 " +"library `libb2`_." +msgstr "" + +msgid "" +"The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 " +"for initialization to use :c:member:`PyConfig.module_search_paths` to " +"initialize :data:`sys.path`. Otherwise, initialization will recalculate the " +"path and replace any values added to ``module_search_paths``." +msgstr "" + +msgid "" +":c:func:`PyConfig_Read` no longer calculates the initial search path, and " +"will not fill any values into :c:member:`PyConfig.module_search_paths`. To " +"calculate default paths and then modify them, finish initialization and use :" +"c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list " +"object and modify it directly." +msgstr "" + +msgid "" +"Deprecate the following functions to configure the Python initialization:" +msgstr "" + +msgid ":c:func:`PySys_AddWarnOptionUnicode`" +msgstr "" + +msgid ":c:func:`PySys_AddWarnOption`" +msgstr ":c:func:`PySys_AddWarnOption`" + +msgid ":c:func:`PySys_AddXOption`" +msgstr ":c:func:`PySys_AddXOption`" + +msgid ":c:func:`PySys_HasWarnOptions`" +msgstr "" + +msgid ":c:func:`PySys_SetArgvEx`" +msgstr "" + +msgid ":c:func:`PySys_SetArgv`" +msgstr "" + +msgid ":c:func:`PySys_SetPath`" +msgstr "" + +msgid ":c:func:`Py_SetPath`" +msgstr ":c:func:`Py_SetPath`" + +msgid ":c:func:`Py_SetProgramName`" +msgstr ":c:func:`Py_SetProgramName`" + +msgid ":c:func:`Py_SetPythonHome`" +msgstr ":c:func:`Py_SetPythonHome`" + +msgid ":c:func:`Py_SetStandardStreamEncoding`" +msgstr ":c:func:`Py_SetStandardStreamEncoding`" + +msgid ":c:func:`_Py_SetProgramFullPath`" +msgstr "" + +msgid "" +"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization " +"Configuration ` instead (:pep:`587`). (Contributed by Victor " +"Stinner in :gh:`88279`.)" +msgstr "" + +msgid "" +"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use :c:" +"func:`PyObject_Hash` instead. (Contributed by Inada Naoki in :issue:`46864`.)" +msgstr "" + +msgid "" +"The following C APIs have been deprecated in earlier Python releases, and " +"will be removed in Python 3.12." +msgstr "" + +msgid ":c:func:`PyUnicode_AS_DATA`" +msgstr "" + +msgid ":c:func:`PyUnicode_AS_UNICODE`" +msgstr "" + +msgid ":c:func:`PyUnicode_AsUnicodeAndSize`" +msgstr "" + +msgid ":c:func:`PyUnicode_AsUnicode`" +msgstr "" + +msgid ":c:func:`PyUnicode_FromUnicode`" +msgstr "" + +msgid ":c:func:`PyUnicode_GET_DATA_SIZE`" +msgstr "" + +msgid ":c:func:`PyUnicode_GET_SIZE`" +msgstr "" + +msgid ":c:func:`PyUnicode_GetSize`" +msgstr "" + +msgid ":c:func:`PyUnicode_IS_COMPACT`" +msgstr "" + +msgid ":c:func:`PyUnicode_IS_READY`" +msgstr "" + +msgid ":c:func:`PyUnicode_READY`" +msgstr "" + +msgid ":c:func:`Py_UNICODE_WSTR_LENGTH`" +msgstr "" + +msgid ":c:func:`_PyUnicode_AsUnicode`" +msgstr "" + +msgid ":c:macro:`PyUnicode_WCHAR_KIND`" +msgstr "" + +msgid ":c:type:`PyUnicodeObject`" +msgstr "" + +msgid ":c:func:`PyUnicode_InternImmortal()`" +msgstr "" + +msgid "" +":c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been " +"removed. (Contributed by Mark Shannon in :issue:`40222`.)" +msgstr "" + +msgid "Remove the following math macros using the ``errno`` variable:" +msgstr "" + +msgid "``Py_ADJUST_ERANGE1()``" +msgstr "" + +msgid "``Py_ADJUST_ERANGE2()``" +msgstr "" + +msgid "``Py_OVERFLOWED()``" +msgstr "" + +msgid "``Py_SET_ERANGE_IF_OVERFLOW()``" +msgstr "" + +msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``" +msgstr "" + +msgid "(Contributed by Victor Stinner in :issue:`45412`.)" +msgstr "" + +msgid "" +"Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated " +"since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` " +"(``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. " +"(Contributed by Victor Stinner in :issue:`41123`.)" +msgstr "" + +msgid "" +"Remove the ``pystrhex.h`` header file. It only contains private functions. C " +"extensions should only include the main ```` header file. " +"(Contributed by Victor Stinner in :issue:`45434`.)" +msgstr "" + +msgid "" +"Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the " +"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner in :issue:" +"`45440`.)" +msgstr "" + +msgid "" +"The following items are no longer available when :c:macro:`Py_LIMITED_API` " +"is defined:" +msgstr "" + +msgid ":c:func:`PyMarshal_WriteLongToFile`" +msgstr "" + +msgid ":c:func:`PyMarshal_WriteObjectToFile`" +msgstr "" + +msgid ":c:func:`PyMarshal_ReadObjectFromString`" +msgstr "" + +msgid ":c:func:`PyMarshal_WriteObjectToString`" +msgstr "" + +msgid "the ``Py_MARSHAL_VERSION`` macro" +msgstr "" + +msgid "These are not part of the :ref:`limited API `." +msgstr "" + +msgid "(Contributed by Victor Stinner in :issue:`45474`.)" +msgstr "" + +msgid "" +"Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never " +"worked since the :c:type:`PyWeakReference` structure is opaque in the " +"limited C API. (Contributed by Victor Stinner in :issue:`35134`.)" +msgstr "" + +msgid "" +"Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public " +"C API by mistake, it must only be used by Python internally. Use the " +"``PyTypeObject.tp_members`` member instead. (Contributed by Victor Stinner " +"in :issue:`40170`.)" +msgstr "" + +msgid "" +"Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C " +"API). (Contributed by Victor Stinner in :issue:`45412`.)" +msgstr "" + +msgid "" +"Remove the :c:type:`Py_UNICODE` encoder APIs, as they have been deprecated " +"since Python 3.3, are little used and are inefficient relative to the " +"recommended alternatives." +msgstr "" + +msgid "The removed functions are:" +msgstr "" + +msgid ":func:`!PyUnicode_Encode`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeASCII`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeLatin1`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeUTF7`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeUTF8`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeUTF16`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeUTF32`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeUnicodeEscape`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeRawUnicodeEscape`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeCharmap`" +msgstr "" + +msgid ":func:`!PyUnicode_TranslateCharmap`" +msgstr "" + +msgid ":func:`!PyUnicode_EncodeDecimal`" +msgstr "" + +msgid ":func:`!PyUnicode_TransformDecimalToASCII`" +msgstr "" + +msgid "" +"See :pep:`624` for details and :pep:`migration guidance <624#alternative-" +"apis>`. (Contributed by Inada Naoki in :issue:`44029`.)" +msgstr "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po new file mode 100644 index 000000000..ee4163105 --- /dev/null +++ b/whatsnew/3.2.po @@ -0,0 +1,3844 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.2" +msgstr "Що нового в Python 3.2" + +msgid "Author" +msgstr "Автор" + +msgid "Raymond Hettinger" +msgstr "Raymond Hettinger" + +msgid "" +"This article explains the new features in Python 3.2 as compared to 3.1. " +"Python 3.2 was released on February 20, 2011. It focuses on a few highlights " +"and gives a few examples. For full details, see the `Misc/NEWS `__ file." +msgstr "" + +msgid ":pep:`392` - Python 3.2 Release Schedule" +msgstr ":pep:`392` - Графік випуску Python 3.2" + +msgid "PEP 384: Defining a Stable ABI" +msgstr "PEP 384: Визначення стабільного ABI" + +msgid "" +"In the past, extension modules built for one Python version were often not " +"usable with other Python versions. Particularly on Windows, every feature " +"release of Python required rebuilding all extension modules that one wanted " +"to use. This requirement was the result of the free access to Python " +"interpreter internals that extension modules could use." +msgstr "" +"У минулому модулі розширення, створені для однієї версії Python, часто не " +"можна було використовувати з іншими версіями Python. Зокрема, у Windows " +"кожен випуск функції Python вимагав перебудови всіх модулів розширення, які " +"потрібно було використовувати. Ця вимога була результатом вільного доступу " +"до внутрішніх елементів інтерпретатора Python, які могли використовувати " +"модулі розширення." + +msgid "" +"With Python 3.2, an alternative approach becomes available: extension " +"modules which restrict themselves to a limited API (by defining " +"Py_LIMITED_API) cannot use many of the internals, but are constrained to a " +"set of API functions that are promised to be stable for several releases. As " +"a consequence, extension modules built for 3.2 in that mode will also work " +"with 3.3, 3.4, and so on. Extension modules that make use of details of " +"memory structures can still be built, but will need to be recompiled for " +"every feature release." +msgstr "" +"З Python 3.2 стає доступним альтернативний підхід: модулі розширення, які " +"обмежуються обмеженим API (шляхом визначення Py_LIMITED_API), не можуть " +"використовувати багато внутрішніх компонентів, але обмежені набором функцій " +"API, які обіцяють бути стабільними для кількох випусків. Як наслідок, модулі " +"розширення, створені для 3.2 у цьому режимі, також працюватимуть з 3.3, 3.4 " +"тощо. Модулі розширення, які використовують деталі структур пам’яті, все ще " +"можуть бути створені, але їх потрібно буде перекомпілювати для кожного " +"випуску функції." + +msgid ":pep:`384` - Defining a Stable ABI" +msgstr ":pep:`384` - Визначення стабільного ABI" + +msgid "PEP written by Martin von Löwis." +msgstr "PEP, написаний Мартіном фон Льовісом." + +msgid "PEP 389: Argparse Command Line Parsing Module" +msgstr "PEP 389: Модуль аналізу командного рядка Argparse" + +msgid "" +"A new module for command line parsing, :mod:`argparse`, was introduced to " +"overcome the limitations of :mod:`optparse` which did not provide support " +"for positional arguments (not just options), subcommands, required options " +"and other common patterns of specifying and validating options." +msgstr "" +"Новий модуль для синтаксичного аналізу командного рядка, :mod:`argparse`, " +"було представлено, щоб подолати обмеження :mod:`optparse`, які не " +"забезпечували підтримку позиційних аргументів (не лише параметрів), " +"підкоманд, необхідних параметрів та інших поширених шаблонів визначення та " +"перевірки параметрів." + +msgid "" +"This module has already had widespread success in the community as a third-" +"party module. Being more fully featured than its predecessor, the :mod:" +"`argparse` module is now the preferred module for command-line processing. " +"The older module is still being kept available because of the substantial " +"amount of legacy code that depends on it." +msgstr "" +"Цей модуль уже мав широкий успіх у спільноті як сторонній модуль. Оскільки " +"модуль :mod:`argparse` є більш повнофункціональним, ніж його попередник, він " +"тепер є кращим модулем для обробки командного рядка. Старіший модуль все ще " +"залишається доступним через значну кількість застарілого коду, який залежить " +"від нього." + +msgid "" +"Here's an annotated example parser showing features like limiting results to " +"a set of choices, specifying a *metavar* in the help screen, validating that " +"one or more positional arguments is present, and making a required option::" +msgstr "" +"Ось анотований приклад синтаксичного аналізатора, який показує такі функції, " +"як обмеження результатів набором варіантів, визначення *metavar* на екрані " +"довідки, перевірка наявності одного чи кількох позиційних аргументів і " +"створення необхідної опції::" + +msgid "Example of calling the parser on a command string::" +msgstr "Приклад виклику синтаксичного аналізатора за командним рядком::" + +msgid "Example of the parser's automatically generated help::" +msgstr "Приклад автоматично створеної довідки парсера::" + +msgid "" +"An especially nice :mod:`argparse` feature is the ability to define " +"subparsers, each with their own argument patterns and help displays::" +msgstr "" +"Особливо приємною функцією :mod:`argparse` є можливість визначати " +"підпарсери, кожен зі своїми власними шаблонами аргументів і довідкою:" + +msgid ":pep:`389` - New Command Line Parsing Module" +msgstr ":pep:`389` - Новий модуль аналізу командного рядка" + +msgid "PEP written by Steven Bethard." +msgstr "PEP, написаний Стівеном Бетардом." + +msgid "" +":ref:`upgrading-optparse-code` for details on the differences from :mod:" +"`optparse`." +msgstr "" +":ref:`upgrading-optparse-code` для детальної інформації про відмінності від :" +"mod:`optparse`." + +msgid "PEP 391: Dictionary Based Configuration for Logging" +msgstr "PEP 391: Конфігурація на основі словника для журналювання" + +msgid "" +"The :mod:`logging` module provided two kinds of configuration, one style " +"with function calls for each option or another style driven by an external " +"file saved in a :mod:`ConfigParser` format. Those options did not provide " +"the flexibility to create configurations from JSON or YAML files, nor did " +"they support incremental configuration, which is needed for specifying " +"logger options from a command line." +msgstr "" +"Модуль :mod:`logging` надав два види конфігурації: один стиль із викликами " +"функцій для кожного параметра або інший стиль, керований зовнішнім файлом, " +"збереженим у форматі :mod:`ConfigParser`. Ці параметри не забезпечували " +"гнучкості для створення конфігурацій із файлів JSON або YAML, а також не " +"підтримували інкрементну конфігурацію, яка потрібна для вказівки параметрів " +"журналу з командного рядка." + +msgid "" +"To support a more flexible style, the module now offers :func:`logging." +"config.dictConfig` for specifying logging configuration with plain Python " +"dictionaries. The configuration options include formatters, handlers, " +"filters, and loggers. Here's a working example of a configuration " +"dictionary::" +msgstr "" +"Щоб підтримувати більш гнучкий стиль, модуль тепер пропонує :func:`logging." +"config.dictConfig` для визначення конфігурації журналювання за допомогою " +"простих словників Python. Опції конфігурації включають засоби форматування, " +"обробники, фільтри та реєстратори. Ось робочий приклад словника " +"конфігурації::" + +msgid "" +"If that dictionary is stored in a file called :file:`conf.json`, it can be " +"loaded and called with code like this::" +msgstr "" +"Якщо цей словник зберігається у файлі під назвою :file:`conf.json`, його " +"можна завантажити та викликати за допомогою такого коду:" + +msgid ":pep:`391` - Dictionary Based Configuration for Logging" +msgstr ":pep:`391` - Конфігурація для журналювання на основі словника" + +msgid "PEP written by Vinay Sajip." +msgstr "PEP, написаний Вінаєм Саджипом." + +msgid "PEP 3148: The ``concurrent.futures`` module" +msgstr "PEP 3148: модуль ``concurrent.futures``" + +msgid "" +"Code for creating and managing concurrency is being collected in a new top-" +"level namespace, *concurrent*. Its first member is a *futures* package " +"which provides a uniform high-level interface for managing threads and " +"processes." +msgstr "" +"Код для створення паралелізму та керування ним збирається в новому просторі " +"імен верхнього рівня *concurrent*. Його першим членом є пакет *futures*, " +"який забезпечує єдиний інтерфейс високого рівня для керування потоками та " +"процесами." + +msgid "" +"The design for :mod:`concurrent.futures` was inspired by the *java.util." +"concurrent* package. In that model, a running call and its result are " +"represented by a :class:`~concurrent.futures.Future` object that abstracts " +"features common to threads, processes, and remote procedure calls. That " +"object supports status checks (running or done), timeouts, cancellations, " +"adding callbacks, and access to results or exceptions." +msgstr "" +"Дизайн для :mod:`concurrent.futures` був натхненний пакетом *java.util." +"concurrent*. У цій моделі запущений виклик і його результат представлені " +"об’єктом :class:`~concurrent.futures.Future`, який абстрагує функції, " +"спільні для потоків, процесів і віддалених викликів процедур. Цей об’єкт " +"підтримує перевірки статусу (запущено або виконано), тайм-аути, скасування, " +"додавання зворотних викликів і доступ до результатів або винятків." + +msgid "" +"The primary offering of the new module is a pair of executor classes for " +"launching and managing calls. The goal of the executors is to make it " +"easier to use existing tools for making parallel calls. They save the effort " +"needed to setup a pool of resources, launch the calls, create a results " +"queue, add time-out handling, and limit the total number of threads, " +"processes, or remote procedure calls." +msgstr "" +"Основною пропозицією нового модуля є пара класів виконавців для запуску " +"викликів і керування ними. Мета виконавців — спростити використання існуючих " +"інструментів для здійснення паралельних викликів. Вони економлять зусилля, " +"необхідні для налаштування пулу ресурсів, запуску викликів, створення черги " +"результатів, додавання обробки тайм-ауту та обмеження загальної кількості " +"потоків, процесів або віддалених викликів процедур." + +msgid "" +"Ideally, each application should share a single executor across multiple " +"components so that process and thread limits can be centrally managed. This " +"solves the design challenge that arises when each component has its own " +"competing strategy for resource management." +msgstr "" +"В ідеалі кожна програма має спільно використовувати одного виконавця для " +"кількох компонентів, щоб можна було централізовано керувати обмеженнями " +"процесів і потоків. Це вирішує проблему проектування, яка виникає, коли " +"кожен компонент має власну конкуруючу стратегію управління ресурсами." + +msgid "" +"Both classes share a common interface with three methods: :meth:`~concurrent." +"futures.Executor.submit` for scheduling a callable and returning a :class:" +"`~concurrent.futures.Future` object; :meth:`~concurrent.futures.Executor." +"map` for scheduling many asynchronous calls at a time, and :meth:" +"`~concurrent.futures.Executor.shutdown` for freeing resources. The class is " +"a :term:`context manager` and can be used in a :keyword:`with` statement to " +"assure that resources are automatically released when currently pending " +"futures are done executing." +msgstr "" +"Обидва класи мають спільний інтерфейс із трьома методами: :meth:`~concurrent." +"futures.Executor.submit` для планування виклику та повернення об’єкта :class:" +"`~concurrent.futures.Future`; :meth:`~concurrent.futures.Executor.map` для " +"планування багатьох асинхронних викликів одночасно та :meth:`~concurrent." +"futures.Executor.shutdown` для звільнення ресурсів. Цей клас є :term:" +"`context manager` і може використовуватися в операторі :keyword:`with`, щоб " +"гарантувати автоматичне звільнення ресурсів після завершення виконання " +"незавершених ф’ючерсів." + +msgid "" +"A simple of example of :class:`~concurrent.futures.ThreadPoolExecutor` is a " +"launch of four parallel threads for copying files::" +msgstr "" +"Простий приклад :class:`~concurrent.futures.ThreadPoolExecutor` — це запуск " +"чотирьох паралельних потоків для копіювання файлів::" + +msgid ":pep:`3148` - Futures -- Execute Computations Asynchronously" +msgstr ":pep:`3148` - Ф'ючерси - асинхронне виконання обчислень" + +msgid "PEP written by Brian Quinlan." +msgstr "PEP, написаний Браяном Квінланом." + +msgid "" +":ref:`Code for Threaded Parallel URL reads`, an " +"example using threads to fetch multiple web pages in parallel." +msgstr "" +":ref:`Код для потокової паралельної URL-адреси читає `, приклад використання потоків для отримання кількох веб-сторінок " +"паралельно." + +msgid "" +":ref:`Code for computing prime numbers in parallel`, an example demonstrating :class:`~concurrent.futures." +"ProcessPoolExecutor`." +msgstr "" +":ref:`Код для паралельного обчислення простих чисел `, приклад, що демонструє :class:`~concurrent.futures." +"ProcessPoolExecutor`." + +msgid "PEP 3147: PYC Repository Directories" +msgstr "PEP 3147: Каталоги сховищ PYC" + +msgid "" +"Python's scheme for caching bytecode in *.pyc* files did not work well in " +"environments with multiple Python interpreters. If one interpreter " +"encountered a cached file created by another interpreter, it would recompile " +"the source and overwrite the cached file, thus losing the benefits of " +"caching." +msgstr "" +"Схема Python для кешування байт-коду у файлах *.pyc* погано працювала в " +"середовищах із кількома інтерпретаторами Python. Якщо один інтерпретатор " +"зустріне кешований файл, створений іншим інтерпретатором, він перекомпілює " +"джерело та перезапише кешований файл, таким чином втрачаючи переваги " +"кешування." + +msgid "" +"The issue of \"pyc fights\" has become more pronounced as it has become " +"commonplace for Linux distributions to ship with multiple versions of " +"Python. These conflicts also arise with CPython alternatives such as Unladen " +"Swallow." +msgstr "" +"Питання \"бій pyc\" стало більш помітним, оскільки дистрибутиви Linux стали " +"звичайними для доставки з декількома версіями Python. Ці конфлікти також " +"виникають з альтернативами CPython, такими як Unladen Swallow." + +msgid "" +"To solve this problem, Python's import machinery has been extended to use " +"distinct filenames for each interpreter. Instead of Python 3.2 and Python " +"3.3 and Unladen Swallow each competing for a file called \"mymodule.pyc\", " +"they will now look for \"mymodule.cpython-32.pyc\", \"mymodule.cpython-33.pyc" +"\", and \"mymodule.unladen10.pyc\". And to prevent all of these new files " +"from cluttering source directories, the *pyc* files are now collected in a " +"\"__pycache__\" directory stored under the package directory." +msgstr "" +"Щоб вирішити цю проблему, механізм імпорту Python було розширено для " +"використання різних імен файлів для кожного інтерпретатора. Замість того, " +"щоб Python 3.2, Python 3.3 і Unladen Swallow змагалися за файл під назвою " +"\"mymodule.pyc\", тепер вони шукатимуть \"mymodule.cpython-32.pyc\", " +"\"mymodule.cpython-33.pyc\" і \"mymodule\". .unladen10.pyc\". І щоб усі ці " +"нові файли не захаращували вихідні каталоги, файли *pyc* тепер зібрані в " +"каталозі \"__pycache__\", який зберігається в каталозі пакетів." + +msgid "" +"Aside from the filenames and target directories, the new scheme has a few " +"aspects that are visible to the programmer:" +msgstr "" +"Крім імен файлів і цільових каталогів, нова схема має кілька аспектів, які " +"бачать програмісти:" + +msgid "" +"Imported modules now have a :attr:`__cached__` attribute which stores the " +"name of the actual file that was imported:" +msgstr "" +"Імпортовані модулі тепер мають атрибут :attr:`__cached__`, який зберігає " +"назву фактичного файлу, який було імпортовано:" + +msgid "" +"The tag that is unique to each interpreter is accessible from the :mod:`imp` " +"module:" +msgstr "" +"Тег, унікальний для кожного інтерпретатора, доступний з модуля :mod:`imp`:" + +msgid "" +"Scripts that try to deduce source filename from the imported file now need " +"to be smarter. It is no longer sufficient to simply strip the \"c\" from a " +"\".pyc\" filename. Instead, use the new functions in the :mod:`imp` module:" +msgstr "" +"Сценарії, які намагаються вивести назву вихідного файлу з імпортованого " +"файлу, тепер мають бути розумнішими. Більше недостатньо просто видалити " +"букву \"c\" із імені файлу \".pyc\". Замість цього використовуйте нові " +"функції в модулі :mod:`imp`:" + +msgid "" +"The :mod:`py_compile` and :mod:`compileall` modules have been updated to " +"reflect the new naming convention and target directory. The command-line " +"invocation of *compileall* has new options: ``-i`` for specifying a list of " +"files and directories to compile and ``-b`` which causes bytecode files to " +"be written to their legacy location rather than *__pycache__*." +msgstr "" +"Модулі :mod:`py_compile` і :mod:`compileall` оновлено, щоб відобразити нову " +"угоду про іменування та цільовий каталог. Виклик *compileall* у командному " +"рядку має нові параметри: ``-i`` для вказівки списку файлів і каталогів для " +"компіляції та ``-b``, який змушує файли байт-коду записуватися в їх старе " +"розташування, а не в *__pycache__*." + +msgid "" +"The :mod:`importlib.abc` module has been updated with new :term:`abstract " +"base classes ` for loading bytecode files. The " +"obsolete ABCs, :class:`~importlib.abc.PyLoader` and :class:`~importlib.abc." +"PyPycLoader`, have been deprecated (instructions on how to stay Python 3.1 " +"compatible are included with the documentation)." +msgstr "" +"Модуль :mod:`importlib.abc` було оновлено новими :term:`абстрактними " +"базовими класами ` для завантаження файлів байт-кодів. " +"Застарілі ABC, :class:`~importlib.abc.PyLoader` і :class:`~importlib.abc." +"PyPycLoader`, стали застарілими (інструкції щодо того, як залишатися " +"сумісними з Python 3.1, включено до документації)." + +msgid ":pep:`3147` - PYC Repository Directories" +msgstr ":pep:`3147` - Каталоги репозиторіїв PYC" + +msgid "PEP written by Barry Warsaw." +msgstr "PEP, автор Баррі Варшау." + +msgid "PEP 3149: ABI Version Tagged .so Files" +msgstr "PEP 3149: файли .so з тегами версії ABI" + +msgid "" +"The PYC repository directory allows multiple bytecode cache files to be co-" +"located. This PEP implements a similar mechanism for shared object files by " +"giving them a common directory and distinct names for each version." +msgstr "" +"Каталог сховища PYC дозволяє одночасно розміщувати кілька файлів кешу байт-" +"кодів. Цей PEP реалізує подібний механізм для файлів спільних об’єктів, " +"надаючи їм загальний каталог і окремі імена для кожної версії." + +msgid "" +"The common directory is \"pyshared\" and the file names are made distinct by " +"identifying the Python implementation (such as CPython, PyPy, Jython, etc.), " +"the major and minor version numbers, and optional build flags (such as \"d\" " +"for debug, \"m\" for pymalloc, \"u\" for wide-unicode). For an arbitrary " +"package \"foo\", you may see these files when the distribution package is " +"installed::" +msgstr "" +"Загальний каталог є \"pyshared\", а назви файлів відрізняються " +"ідентифікацією реалізації Python (наприклад, CPython, PyPy, Jython тощо), " +"номерами основної та другорядної версій і необов’язковими прапорцями збірки " +"(наприклад, \"d\" для debug, \"m\" для pymalloc, \"u\" для широкого " +"юнікоду). Для довільного пакета \"foo\" ви можете побачити ці файли, коли " +"встановлено дистрибутивний пакет:" + +msgid "" +"In Python itself, the tags are accessible from functions in the :mod:" +"`sysconfig` module::" +msgstr "У самому Python теги доступні з функцій у модулі :mod:`sysconfig`::" + +msgid ":pep:`3149` - ABI Version Tagged .so Files" +msgstr ":pep:`3149` - файли .so з тегами версії ABI" + +msgid "PEP 3333: Python Web Server Gateway Interface v1.0.1" +msgstr "PEP 3333: Інтерфейс шлюзу веб-сервера Python v1.0.1" + +msgid "" +"This informational PEP clarifies how bytes/text issues are to be handled by " +"the WSGI protocol. The challenge is that string handling in Python 3 is " +"most conveniently handled with the :class:`str` type even though the HTTP " +"protocol is itself bytes oriented." +msgstr "" +"Цей інформаційний PEP пояснює, як протокол WSGI має обробляти проблеми з " +"байтами/текстом. Проблема полягає в тому, що обробку рядків у Python 3 " +"найзручніше обробляти за допомогою типу :class:`str`, хоча сам протокол HTTP " +"орієнтований на байти." + +msgid "" +"The PEP differentiates so-called *native strings* that are used for request/" +"response headers and metadata versus *byte strings* which are used for the " +"bodies of requests and responses." +msgstr "" +"PEP розрізняє так звані *власні рядки*, які використовуються для заголовків " +"запитів/відповідей і метаданих, від *байтових рядків*, які використовуються " +"для тіл запитів і відповідей." + +msgid "" +"The *native strings* are always of type :class:`str` but are restricted to " +"code points between *U+0000* through *U+00FF* which are translatable to " +"bytes using *Latin-1* encoding. These strings are used for the keys and " +"values in the environment dictionary and for response headers and statuses " +"in the :func:`start_response` function. They must follow :rfc:`2616` with " +"respect to encoding. That is, they must either be *ISO-8859-1* characters or " +"use :rfc:`2047` MIME encoding." +msgstr "" +"*Власні рядки* завжди мають тип :class:`str`, але обмежені кодовими точками " +"від *U+0000* до *U+00FF*, які можна перевести в байти за допомогою кодування " +"*Latin-1*. Ці рядки використовуються для ключів і значень у словнику " +"середовища та для заголовків відповідей і статусів у функції :func:" +"`start_response`. Вони повинні відповідати :rfc:`2616` щодо кодування. Тобто " +"вони мають бути символами *ISO-8859-1* або використовувати кодування MIME :" +"rfc:`2047`." + +msgid "" +"For developers porting WSGI applications from Python 2, here are the salient " +"points:" +msgstr "" +"Для розробників, які портують програми WSGI з Python 2, ось основні моменти:" + +msgid "" +"If the app already used strings for headers in Python 2, no change is needed." +msgstr "" +"Якщо програма вже використовувала рядки для заголовків у Python 2, змінювати " +"не потрібно." + +msgid "" +"If instead, the app encoded output headers or decoded input headers, then " +"the headers will need to be re-encoded to Latin-1. For example, an output " +"header encoded in utf-8 was using ``h.encode('utf-8')`` now needs to convert " +"from bytes to native strings using ``h.encode('utf-8').decode('latin-1')``." +msgstr "" +"Якщо замість цього програма закодувала вихідні заголовки або декодувала " +"вхідні заголовки, тоді заголовки потрібно буде повторно закодувати в " +"Latin-1. Наприклад, вихідний заголовок, закодований у utf-8, використовував " +"``h.encode('utf-8')``, тепер потребує конвертації з байтів у власні рядки за " +"допомогою ``h.encode('utf-8'). decode('latin-1')``." + +msgid "" +"Values yielded by an application or sent using the :meth:`write` method must " +"be byte strings. The :func:`start_response` function and environ must use " +"native strings. The two cannot be mixed." +msgstr "" +"Значення, отримані програмою або надіслані за допомогою методу :meth:" +"`write`, мають бути рядками байтів. Функція :func:`start_response` і " +"середовище мають використовувати рідні рядки. Те двоє не можна змішувати." + +msgid "" +"For server implementers writing CGI-to-WSGI pathways or other CGI-style " +"protocols, the users must to be able access the environment using native " +"strings even though the underlying platform may have a different " +"convention. To bridge this gap, the :mod:`wsgiref` module has a new " +"function, :func:`wsgiref.handlers.read_environ` for transcoding CGI " +"variables from :attr:`os.environ` into native strings and returning a new " +"dictionary." +msgstr "" +"Для розробників серверів, які пишуть шляхи CGI-to-WSGI або інші протоколи в " +"стилі CGI, користувачі повинні мати доступ до середовища за допомогою " +"власних рядків, навіть якщо основна платформа може мати іншу конвенцію. Щоб " +"подолати цю прогалину, модуль :mod:`wsgiref` має нову функцію, :func:" +"`wsgiref.handlers.read_environ` для перекодування змінних CGI з :attr:`os." +"environ` у рідні рядки та повернення нового словника." + +msgid ":pep:`3333` - Python Web Server Gateway Interface v1.0.1" +msgstr ":pep:`3333` - Інтерфейс шлюзу веб-сервера Python v1.0.1" + +msgid "PEP written by Phillip Eby." +msgstr "PEP, написаний Філіпом Ебі." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"String formatting for :func:`format` and :meth:`str.format` gained new " +"capabilities for the format character **#**. Previously, for integers in " +"binary, octal, or hexadecimal, it caused the output to be prefixed with " +"'0b', '0o', or '0x' respectively. Now it can also handle floats, complex, " +"and Decimal, causing the output to always have a decimal point even when no " +"digits follow it." +msgstr "" +"Форматування рядка для :func:`format` і :meth:`str.format` отримало нові " +"можливості для символу форматування **#**. Раніше для цілих чисел у " +"двійковій, вісімковій чи шістнадцятковій системі виводу ставився префікс \"0b" +"\", \"0o\" або \"0x\" відповідно. Тепер він також може обробляти числа з " +"плаваючою точкою, комплексні та десяткові числа, завдяки чому вивід завжди " +"матиме десяткову крапку, навіть якщо за нею не йде жодна цифра." + +msgid "" +"(Suggested by Mark Dickinson and implemented by Eric Smith in :issue:`7094`.)" +msgstr "" +"(Запропоновано Марком Дікінсоном і реалізовано Еріком Смітом у :issue:" +"`7094`.)" + +msgid "" +"There is also a new :meth:`str.format_map` method that extends the " +"capabilities of the existing :meth:`str.format` method by accepting " +"arbitrary :term:`mapping` objects. This new method makes it possible to use " +"string formatting with any of Python's many dictionary-like objects such as :" +"class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:" +"`~configparser.ConfigParser`, or :mod:`dbm`. It is also useful with custom :" +"class:`dict` subclasses that normalize keys before look-up or that supply a :" +"meth:`__missing__` method for unknown keys::" +msgstr "" +"Існує також новий метод :meth:`str.format_map`, який розширює можливості " +"існуючого методу :meth:`str.format`, приймаючи довільні об’єкти :term:" +"`mapping`. Цей новий метод дає змогу використовувати форматування рядка з " +"будь-яким із багатьох словникових об’єктів Python, таких як :class:" +"`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:`~configparser." +"ConfigParser` , або :mod:`dbm`. Це також корисно з власними підкласами :" +"class:`dict`, які нормалізують ключі перед пошуком або надають метод :meth:" +"`__missing__` для невідомих ключів::" + +msgid "" +"(Suggested by Raymond Hettinger and implemented by Eric Smith in :issue:" +"`6081`.)" +msgstr "" +"(Запропоновано Raymond Hettinger і реалізовано Eric Smith у :issue:`6081`.)" + +msgid "" +"The interpreter can now be started with a quiet option, ``-q``, to prevent " +"the copyright and version information from being displayed in the " +"interactive mode. The option can be introspected using the :attr:`sys." +"flags` attribute:" +msgstr "" +"Інтерпретатор тепер можна запустити з тихою опцією ``-q``, щоб запобігти " +"відображенню інформації про авторські права та версію в інтерактивному " +"режимі. Опцію можна перевірити за допомогою атрибута :attr:`sys.flags`:" + +msgid "(Contributed by Marcin Wojdyr in :issue:`1772833`)." +msgstr "(Надав Марчін Войдир у :issue:`1772833`)." + +msgid "" +"The :func:`hasattr` function works by calling :func:`getattr` and detecting " +"whether an exception is raised. This technique allows it to detect methods " +"created dynamically by :meth:`__getattr__` or :meth:`__getattribute__` which " +"would otherwise be absent from the class dictionary. Formerly, *hasattr* " +"would catch any exception, possibly masking genuine errors. Now, *hasattr* " +"has been tightened to only catch :exc:`AttributeError` and let other " +"exceptions pass through::" +msgstr "" +"Функція :func:`hasattr` працює, викликаючи :func:`getattr` і виявляючи, чи " +"виникає виняткова ситуація. Ця техніка дозволяє виявляти методи, створені " +"динамічно :meth:`__getattr__` або :meth:`__getattribute__`, які інакше були " +"б відсутні у словнику класу. Раніше *hasattr* перехоплював будь-які винятки, " +"можливо, маскуючи справжні помилки. Тепер *hasattr* було посилено, щоб " +"перехоплювати лише :exc:`AttributeError` і пропускати інші винятки:" + +msgid "" +"(Discovered by Yury Selivanov and fixed by Benjamin Peterson; :issue:`9666`.)" +msgstr "" +"(Виявлено Юрієм Селівановим і виправлено Бенджаміном Петерсоном; :issue:" +"`9666`.)" + +msgid "" +"The :func:`str` of a float or complex number is now the same as its :func:" +"`repr`. Previously, the :func:`str` form was shorter but that just caused " +"confusion and is no longer needed now that the shortest possible :func:" +"`repr` is displayed by default:" +msgstr "" +":func:`str` числа з плаваючою точкою або комплексного числа тепер збігається " +"з його :func:`repr`. Раніше форма :func:`str` була коротшою, але це лише " +"викликало плутанину, і тепер вона більше не потрібна, оскільки найкоротша " +"можлива :func:`repr` відображається за замовчуванням:" + +msgid "(Proposed and implemented by Mark Dickinson; :issue:`9337`.)" +msgstr "(Запропоновано та реалізовано Марком Дікінсоном; :issue:`9337`.)" + +msgid "" +":class:`memoryview` objects now have a :meth:`~memoryview.release()` method " +"and they also now support the context management protocol. This allows " +"timely release of any resources that were acquired when requesting a buffer " +"from the original object." +msgstr "" +"Об’єкти :class:`memoryview` тепер мають метод :meth:`~memoryview.release()` " +"і тепер вони також підтримують протокол керування контекстом. Це дозволяє " +"своєчасно звільнити будь-які ресурси, отримані під час запиту буфера з " +"вихідного об’єкта." + +msgid "(Added by Antoine Pitrou; :issue:`9757`.)" +msgstr "(Додав Антуан Пітру; :issue:`9757`.)" + +msgid "" +"Previously it was illegal to delete a name from the local namespace if it " +"occurs as a free variable in a nested block::" +msgstr "" +"Раніше було заборонено видаляти ім’я з локального простору імен, якщо воно " +"зустрічається як вільна змінна у вкладеному блоці::" + +msgid "" +"This is now allowed. Remember that the target of an :keyword:`except` " +"clause is cleared, so this code which used to work with Python 2.6, raised " +"a :exc:`SyntaxError` with Python 3.1 and now works again::" +msgstr "" +"Тепер це дозволено. Пам’ятайте, що ціль речення :keyword:`except` очищено, " +"тому цей код, який раніше працював з Python 2.6, викликав :exc:`SyntaxError` " +"з Python 3.1 і тепер знову працює::" + +msgid "(See :issue:`4617`.)" +msgstr "(Див. :issue:`4617`.)" + +msgid "" +"The internal :c:type:`structsequence` tool now creates subclasses of tuple. " +"This means that C structures like those returned by :func:`os.stat`, :func:" +"`time.gmtime`, and :attr:`sys.version_info` now work like a :term:`named " +"tuple` and now work with functions and methods that expect a tuple as an " +"argument. This is a big step forward in making the C structures as flexible " +"as their pure Python counterparts:" +msgstr "" +"Внутрішній інструмент :c:type:`structsequence` тепер створює підкласи " +"кортежу. Це означає, що структури C, такі як ті, що повертаються :func:`os." +"stat`, :func:`time.gmtime` і :attr:`sys.version_info` тепер працюють як :" +"term:`named tuple` і тепер працюють з функціями та методами, які очікують " +"кортеж як аргумент. Це великий крок вперед у тому, щоб зробити структури C " +"такими ж гнучкими, як і їхні чисті аналоги Python:" + +msgid "" +"(Suggested by Arfrever Frehtes Taifersar Arahesis and implemented by " +"Benjamin Peterson in :issue:`8413`.)" +msgstr "" +"(Запропоновано Arfrever Frehtes Taifersar Arahesis і реалізовано Бенджаміном " +"Петерсоном у :issue:`8413`.)" + +msgid "" +"Warnings are now easier to control using the :envvar:`PYTHONWARNINGS` " +"environment variable as an alternative to using ``-W`` at the command line:" +msgstr "" +"Тепер попередженнями легше керувати за допомогою змінної середовища :envvar:" +"`PYTHONWARNINGS` як альтернативи використанню ``-W`` у командному рядку:" + +msgid "" +"(Suggested by Barry Warsaw and implemented by Philip Jenvey in :issue:" +"`7301`.)" +msgstr "" +"(Запропоновано Barry Warsaw і реалізовано Philip Jenvey у :issue:`7301`.)" + +msgid "" +"A new warning category, :exc:`ResourceWarning`, has been added. It is " +"emitted when potential issues with resource consumption or cleanup are " +"detected. It is silenced by default in normal release builds but can be " +"enabled through the means provided by the :mod:`warnings` module, or on the " +"command line." +msgstr "" +"Додано нову категорію попереджень :exc:`ResourceWarning`. Випускається, коли " +"виявляються потенційні проблеми із споживанням ресурсів або очищенням. За " +"замовчуванням у звичайних збірках випуску його вимкнено, але його можна " +"ввімкнути за допомогою засобів, наданих модулем :mod:`warnings`, або в " +"командному рядку." + +msgid "" +"A :exc:`ResourceWarning` is issued at interpreter shutdown if the :data:`gc." +"garbage` list isn't empty, and if :attr:`gc.DEBUG_UNCOLLECTABLE` is set, all " +"uncollectable objects are printed. This is meant to make the programmer " +"aware that their code contains object finalization issues." +msgstr "" +":exc:`ResourceWarning` видається під час завершення роботи інтерпретатора, " +"якщо список :data:`gc.garbage` не порожній, і якщо встановлено :attr:`gc." +"DEBUG_UNCOLLECTABLE`, друкуються всі об’єкти, які неможливо зібрати. Це має " +"на меті повідомити програмісту, що його код містить проблеми з фіналізацією " +"об’єктів." + +msgid "" +"A :exc:`ResourceWarning` is also issued when a :term:`file object` is " +"destroyed without having been explicitly closed. While the deallocator for " +"such object ensures it closes the underlying operating system resource " +"(usually, a file descriptor), the delay in deallocating the object could " +"produce various issues, especially under Windows. Here is an example of " +"enabling the warning from the command line:" +msgstr "" +":exc:`ResourceWarning` також видається, коли :term:`file object` знищується " +"без явного закриття. Хоча засіб звільнення для такого об’єкта гарантує, що " +"він закриває основний ресурс операційної системи (зазвичай, дескриптор " +"файлу), затримка звільнення об’єкта може спричинити різні проблеми, особливо " +"під Windows. Ось приклад увімкнення попередження з командного рядка:" + +msgid "" +"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and :issue:" +"`477863`.)" +msgstr "" +"(Додано Антуаном Пітру та Георгом Брандлом у :issue:`10093` та :issue:" +"`477863`.)" + +msgid "" +":class:`range` objects now support *index* and *count* methods. This is part " +"of an effort to make more objects fully implement the :class:`collections." +"Sequence` :term:`abstract base class`. As a result, the language will have " +"a more uniform API. In addition, :class:`range` objects now support slicing " +"and negative indices, even with values larger than :attr:`sys.maxsize`. " +"This makes *range* more interoperable with lists::" +msgstr "" +"Об’єкти :class:`range` тепер підтримують методи *index* і *count*. Це " +"частина зусиль, щоб більше об’єктів повністю реалізовували :class:" +"`collections.Sequence` :term:`abstract base class`. У результаті мова матиме " +"більш уніфікований API. Крім того, об’єкти :class:`range` тепер підтримують " +"нарізку та негативні індекси, навіть зі значеннями, більшими за :attr:`sys." +"maxsize`. Це робить *range* більш сумісним зі списками::" + +msgid "" +"(Contributed by Daniel Stutzbach in :issue:`9213`, by Alexander Belopolsky " +"in :issue:`2690`, and by Nick Coghlan in :issue:`10889`.)" +msgstr "" +"(Надано Даніелем Штуцбахом у :issue:`9213`, Олександром Бєлопольським у :" +"issue:`2690` та Ніком Когланом у :issue:`10889`.)" + +msgid "" +"The :func:`callable` builtin function from Py2.x was resurrected. It " +"provides a concise, readable alternative to using an :term:`abstract base " +"class` in an expression like ``isinstance(x, collections.Callable)``:" +msgstr "" +"Вбудовану функцію :func:`callable` з Py2.x було відроджено. Він надає " +"стислу, зрозумілу альтернативу використанню :term:`abstract base class` у " +"виразі на зразок ``isinstance(x, collections.Callable)``:" + +msgid "(See :issue:`10518`.)" +msgstr "(Див. :issue:`10518`.)" + +msgid "" +"Python's import mechanism can now load modules installed in directories with " +"non-ASCII characters in the path name. This solved an aggravating problem " +"with home directories for users with non-ASCII characters in their usernames." +msgstr "" +"Механізм імпорту Python тепер може завантажувати модулі, встановлені в " +"каталогах із символами, відмінними від ASCII, у імені шляху. Це вирішило " +"серйозну проблему з домашніми каталогами для користувачів із символами, " +"відмінними від ASCII, у їхніх іменах користувачів." + +msgid "(Required extensive work by Victor Stinner in :issue:`9425`.)" +msgstr "(Потрібна велика робота Віктора Стіннера в :issue:`9425`.)" + +msgid "New, Improved, and Deprecated Modules" +msgstr "Нові, покращені та застарілі модулі" + +msgid "" +"Python's standard library has undergone significant maintenance efforts and " +"quality improvements." +msgstr "" +"Стандартна бібліотека Python зазнала значних зусиль з обслуговування та " +"покращення якості." + +msgid "" +"The biggest news for Python 3.2 is that the :mod:`email` package, :mod:" +"`mailbox` module, and :mod:`nntplib` modules now work correctly with the " +"bytes/text model in Python 3. For the first time, there is correct handling " +"of messages with mixed encodings." +msgstr "" +"Найбільшою новиною для Python 3.2 є те, що пакет :mod:`email`, модуль :mod:" +"`mailbox` і модулі :mod:`nntplib` тепер коректно працюють із моделлю байт/" +"текст у Python 3. Вперше , існує правильна обробка повідомлень із змішаним " +"кодуванням." + +msgid "" +"Throughout the standard library, there has been more careful attention to " +"encodings and text versus bytes issues. In particular, interactions with " +"the operating system are now better able to exchange non-ASCII data using " +"the Windows MBCS encoding, locale-aware encodings, or UTF-8." +msgstr "" +"У стандартній бібліотеці більше уваги приділялося кодуванням і питанням " +"тексту та байтів. Зокрема, під час взаємодії з операційною системою тепер " +"краще обмінюватися даними, відмінними від ASCII, за допомогою кодування " +"Windows MBCS, кодування з урахуванням локалі або UTF-8." + +msgid "" +"Another significant win is the addition of substantially better support for " +"*SSL* connections and security certificates." +msgstr "" +"Ще однією важливою перевагою є додавання значно кращої підтримки з’єднань " +"*SSL* і сертифікатів безпеки." + +msgid "" +"In addition, more classes now implement a :term:`context manager` to support " +"convenient and reliable resource clean-up using a :keyword:`with` statement." +msgstr "" +"Крім того, більше класів тепер реалізують :term:`context manager` для " +"підтримки зручного та надійного очищення ресурсів за допомогою оператора :" +"keyword:`with`." + +msgid "email" +msgstr "електронною поштою" + +msgid "" +"The usability of the :mod:`email` package in Python 3 has been mostly fixed " +"by the extensive efforts of R. David Murray. The problem was that emails " +"are typically read and stored in the form of :class:`bytes` rather than :" +"class:`str` text, and they may contain multiple encodings within a single " +"email. So, the email package had to be extended to parse and generate email " +"messages in bytes format." +msgstr "" +"Зручність використання пакета :mod:`email` у Python 3 була здебільшого " +"виправлена завдяки значним зусиллям Р. Девіда Мюррея. Проблема полягала в " +"тому, що електронні листи зазвичай читаються та зберігаються у формі :class:" +"`bytes`, а не :class:`str` тексту, і вони можуть містити кілька кодувань в " +"одному електронному листі. Отже, пакет електронної пошти потрібно було " +"розширити для аналізу та генерації повідомлень електронної пошти у форматі " +"байтів." + +msgid "" +"New functions :func:`~email.message_from_bytes` and :func:`~email." +"message_from_binary_file`, and new classes :class:`~email.parser." +"BytesFeedParser` and :class:`~email.parser.BytesParser` allow binary message " +"data to be parsed into model objects." +msgstr "" +"Нові функції :func:`~email.message_from_bytes` і :func:`~email." +"message_from_binary_file`, а також нові класи :class:`~email.parser." +"BytesFeedParser` і :class:`~email.parser.BytesParser` дозволяють двійковий " +"код дані повідомлення, які потрібно розібрати в об’єкти моделі." + +msgid "" +"Given bytes input to the model, :meth:`~email.message.Message.get_payload` " +"will by default decode a message body that has a :mailheader:`Content-" +"Transfer-Encoding` of *8bit* using the charset specified in the MIME headers " +"and return the resulting string." +msgstr "" +"З урахуванням байтів, введених у модель, :meth:`~email.message.Message." +"get_payload` за замовчуванням декодує тіло повідомлення, яке має :mailheader:" +"`Content-Transfer-Encoding` *8bit*, використовуючи набір символів, указаний " +"у заголовки MIME та повертає результуючий рядок." + +msgid "" +"Given bytes input to the model, :class:`~email.generator.Generator` will " +"convert message bodies that have a :mailheader:`Content-Transfer-Encoding` " +"of *8bit* to instead have a *7bit* :mailheader:`Content-Transfer-Encoding`." +msgstr "" +"Враховуючи байти, введені в модель, :class:`~email.generator.Generator` " +"перетворить тіла повідомлень, які мають :mailheader:`Content-Transfer-" +"Encoding` *8bit*, на *7bit* :mailheader:`Content-Transfer-Encoding`." + +msgid "" +"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ -" +"encoded using the *unknown-8bit* character set." +msgstr "" +"Заголовки з незакодованими не-ASCII байтами вважаються :rfc:`2047`\\ -" +"кодованими з використанням набору символів *unknown-8bit*." + +msgid "" +"A new class :class:`~email.generator.BytesGenerator` produces bytes as " +"output, preserving any unchanged non-ASCII data that was present in the " +"input used to build the model, including message bodies with a :mailheader:" +"`Content-Transfer-Encoding` of *8bit*." +msgstr "" +"Новий клас :class:`~email.generator.BytesGenerator` створює байти як вихідні " +"дані, зберігаючи будь-які незмінені дані, що не належать до ASCII, які були " +"присутні у вхідних даних, використаних для побудови моделі, включаючи тіла " +"повідомлень із :mailheader:`Content-Transfer-Encoding` з *8bit*." + +msgid "" +"The :mod:`smtplib` :class:`~smtplib.SMTP` class now accepts a byte string " +"for the *msg* argument to the :meth:`~smtplib.SMTP.sendmail` method, and a " +"new method, :meth:`~smtplib.SMTP.send_message` accepts a :class:`~email." +"message.Message` object and can optionally obtain the *from_addr* and " +"*to_addrs* addresses directly from the object." +msgstr "" +"Клас :mod:`smtplib` :class:`~smtplib.SMTP` тепер приймає рядок байтів для " +"аргументу *msg* для методу :meth:`~smtplib.SMTP.sendmail` і новий метод :" +"meth:`~smtplib.SMTP.send_message` приймає об’єкт :class:`~email.message." +"Message` і за бажанням може отримати адреси *from_addr* і *to_addrs* " +"безпосередньо з об’єкта." + +msgid "" +"(Proposed and implemented by R. David Murray, :issue:`4661` and :issue:" +"`10321`.)" +msgstr "" +"(Запропоновано та реалізовано Р. Девідом Мюрреєм, :issue:`4661` і :issue:" +"`10321`.)" + +msgid "elementtree" +msgstr "дерево елементів" + +msgid "" +"The :mod:`xml.etree.ElementTree` package and its :mod:`xml.etree." +"cElementTree` counterpart have been updated to version 1.3." +msgstr "" +"Пакет :mod:`xml.etree.ElementTree` та його аналог :mod:`xml.etree." +"cElementTree` оновлено до версії 1.3." + +msgid "Several new and useful functions and methods have been added:" +msgstr "Додано кілька нових корисних функцій і методів:" + +msgid "" +":func:`xml.etree.ElementTree.fromstringlist` which builds an XML document " +"from a sequence of fragments" +msgstr "" +":func:`xml.etree.ElementTree.fromstringlist`, який створює XML-документ із " +"послідовності фрагментів" + +msgid "" +":func:`xml.etree.ElementTree.register_namespace` for registering a global " +"namespace prefix" +msgstr "" +":func:`xml.etree.ElementTree.register_namespace` для реєстрації префікса " +"глобального простору імен" + +msgid "" +":func:`xml.etree.ElementTree.tostringlist` for string representation " +"including all sublists" +msgstr "" +":func:`xml.etree.ElementTree.tostringlist` для представлення рядків, " +"включаючи всі підсписки" + +msgid "" +":meth:`xml.etree.ElementTree.Element.extend` for appending a sequence of " +"zero or more elements" +msgstr "" +":meth:`xml.etree.ElementTree.Element.extend` для додавання послідовності з " +"нуля або більше елементів" + +msgid "" +":meth:`xml.etree.ElementTree.Element.iterfind` searches an element and " +"subelements" +msgstr "" +":meth:`xml.etree.ElementTree.Element.iterfind` шукає елемент і піделементи" + +msgid "" +":meth:`xml.etree.ElementTree.Element.itertext` creates a text iterator over " +"an element and its subelements" +msgstr "" +":meth:`xml.etree.ElementTree.Element.itertext` створює текстовий ітератор " +"над елементом і його піделементами" + +msgid "" +":meth:`xml.etree.ElementTree.TreeBuilder.end` closes the current element" +msgstr "" +":meth:`xml.etree.ElementTree.TreeBuilder.end` закриває поточний елемент" + +msgid "" +":meth:`xml.etree.ElementTree.TreeBuilder.doctype` handles a doctype " +"declaration" +msgstr "" +":meth:`xml.etree.ElementTree.TreeBuilder.doctype` обробляє декларацію doctype" + +msgid "Two methods have been deprecated:" +msgstr "Два методи застаріли:" + +msgid ":meth:`xml.etree.ElementTree.getchildren` use ``list(elem)`` instead." +msgstr "" +":meth:`xml.etree.ElementTree.getchildren` замість цього використовуйте " +"``list(elem)``." + +msgid ":meth:`xml.etree.ElementTree.getiterator` use ``Element.iter`` instead." +msgstr "" +":meth:`xml.etree.ElementTree.getiterator` замість цього використовуйте " +"``Element.iter``." + +msgid "" +"For details of the update, see `Introducing ElementTree `_ on " +"Fredrik Lundh's website." +msgstr "" +"Докладні відомості про оновлення див. у розділі `Introducing ElementTree " +"`_ на веб-сайті Фредріка Лунда." + +msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)" +msgstr "(Надано Florent Xicluna та Fredrik Lundh, :issue:`6472`.)" + +msgid "functools" +msgstr "functools" + +msgid "" +"The :mod:`functools` module includes a new decorator for caching function " +"calls. :func:`functools.lru_cache` can save repeated queries to an external " +"resource whenever the results are expected to be the same." +msgstr "" +"Модуль :mod:`functools` містить новий декоратор для кешування викликів " +"функцій. :func:`functools.lru_cache` може зберігати повторювані запити до " +"зовнішнього ресурсу щоразу, коли очікується, що результати будуть однаковими." + +msgid "" +"For example, adding a caching decorator to a database query function can " +"save database accesses for popular searches:" +msgstr "" +"Наприклад, додавання декоратора кешування до функції запиту до бази даних " +"може зберегти доступ до бази даних для популярних пошуків:" + +msgid "" +"To help with choosing an effective cache size, the wrapped function is " +"instrumented for tracking cache statistics:" +msgstr "" +"Щоб допомогти з вибором ефективного розміру кешу, загорнута функція " +"обладнана для відстеження статистики кешу:" + +msgid "" +"If the phonelist table gets updated, the outdated contents of the cache can " +"be cleared with:" +msgstr "" +"Якщо таблиця списку телефонів оновлюється, застарілий вміст кешу можна " +"очистити за допомогою:" + +msgid "" +"(Contributed by Raymond Hettinger and incorporating design ideas from Jim " +"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 `_\\, `recipe 577479 `_\\, :issue:`10586`, and :issue:`10593`.)" +msgstr "" +"(Надано Реймондом Геттінгером і використано дизайнерські ідеї Джима Бейкера, " +"Мікі Тебеки та Ніка Коглана; див. `recipe 498245 `_\\, `recipe 577479 `_\\, :issue:`10586` і :issue:`10593`.)" + +msgid "" +"The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` " +"attribute pointing to the original callable function. This allows wrapped " +"functions to be introspected. It also copies :attr:`__annotations__` if " +"defined. And now it also gracefully skips over missing attributes such as :" +"attr:`__doc__` which might not be defined for the wrapped callable." +msgstr "" +"Декоратор :func:`functools.wraps` тепер додає атрибут :attr:`__wrapped__`, " +"який вказує на вихідну функцію, яку можна викликати. Це дозволяє " +"інтроспектувати загорнуті функції. Він також копіює :attr:`__annotations__`, " +"якщо визначено. І тепер він також витончено пропускає відсутні атрибути, " +"такі як :attr:`__doc__`, які можуть бути не визначені для загорнутого " +"виклику." + +msgid "" +"In the above example, the cache can be removed by recovering the original " +"function:" +msgstr "" +"У наведеному вище прикладі кеш можна видалити, відновивши вихідну функцію:" + +msgid "" +"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:" +"`8814`.)" +msgstr "" +"(Автори Нік Коглан і Терренс Коул; :issue:`9567`, :issue:`3445` і :issue:" +"`8814`.)" + +msgid "" +"To help write classes with rich comparison methods, a new decorator :func:" +"`functools.total_ordering` will use existing equality and inequality methods " +"to fill in the remaining methods." +msgstr "" +"Щоб допомогти писати класи з розширеними методами порівняння, новий " +"декоратор :func:`functools.total_ordering` використовуватиме існуючі методи " +"рівності та нерівності для заповнення решти методів." + +msgid "" +"For example, supplying *__eq__* and *__lt__* will enable :func:`~functools." +"total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::" +msgstr "" +"Наприклад, введення *__eq__* і *__lt__* дозволить :func:`~functools." +"total_ordering` заповнити *__le__*, *__gt__* і *__ge__*::" + +msgid "" +"With the *total_ordering* decorator, the remaining comparison methods are " +"filled in automatically." +msgstr "" +"За допомогою декоратора *total_ordering* решта методів порівняння " +"заповнюється автоматично." + +msgid "(Contributed by Raymond Hettinger.)" +msgstr "(Надав Реймонд Геттінгер.)" + +msgid "" +"To aid in porting programs from Python 2, the :func:`functools.cmp_to_key` " +"function converts an old-style comparison function to modern :term:`key " +"function`:" +msgstr "" +"Щоб допомогти у перенесенні програм із Python 2, функція :func:`functools." +"cmp_to_key` перетворює стару функцію порівняння на сучасну :term:`key " +"function`:" + +msgid "" +"For sorting examples and a brief sorting tutorial, see the `Sorting HowTo " +"`_ tutorial." +msgstr "" +"Приклади сортування та короткий посібник із сортування див. у посібнику " +"`Sorting HowTo `_." + +msgid "itertools" +msgstr "itertools" + +msgid "" +"The :mod:`itertools` module has a new :func:`~itertools.accumulate` function " +"modeled on APL's *scan* operator and Numpy's *accumulate* function:" +msgstr "" +"Модуль :mod:`itertools` має нову функцію :func:`~itertools.accumulate`, " +"створену на основі оператора *scan* APL і функції *accumulate* Numpy:" + +msgid "" +"For an example using :func:`~itertools.accumulate`, see the :ref:`examples " +"for the random module `." +msgstr "" +"Для прикладу використання :func:`~itertools.accumulate` див. :ref:`приклади " +"для випадкового модуля `." + +msgid "" +"(Contributed by Raymond Hettinger and incorporating design suggestions from " +"Mark Dickinson.)" +msgstr "" +"(Надано Реймондом Геттінгером і враховано пропозиції щодо дизайну Марка " +"Дікінсона.)" + +msgid "collections" +msgstr "колекції" + +msgid "" +"The :class:`collections.Counter` class now has two forms of in-place " +"subtraction, the existing *-=* operator for `saturating subtraction `_ and the new :meth:" +"`~collections.Counter.subtract` method for regular subtraction. The former " +"is suitable for `multisets `_ which " +"only have positive counts, and the latter is more suitable for use cases " +"that allow negative counts:" +msgstr "" +"Клас :class:`collections.Counter` тепер має дві форми віднімання на місці, " +"наявний оператор *-=* для `насиченого віднімання `_ і новий метод :meth:`~collections.Counter." +"subtract` для звичайне віднімання. Перший підходить для `мультимножин " +"`_, які мають лише позитивні " +"підрахунки, а другий більше підходить для випадків використання, які " +"дозволяють негативні підрахунки:" + +msgid "" +"The :class:`collections.OrderedDict` class has a new method :meth:" +"`~collections.OrderedDict.move_to_end` which takes an existing key and moves " +"it to either the first or last position in the ordered sequence." +msgstr "" +"Клас :class:`collections.OrderedDict` має новий метод :meth:`~collections." +"OrderedDict.move_to_end`, який бере наявний ключ і переміщує його на першу " +"чи останню позицію в упорядкованій послідовності." + +msgid "" +"The default is to move an item to the last position. This is equivalent of " +"renewing an entry with ``od[k] = od.pop(k)``." +msgstr "" +"За замовчуванням елемент переміщується на останню позицію. Це еквівалентно " +"оновленню запису за допомогою ``od[k] = od.pop(k)``." + +msgid "" +"A fast move-to-end operation is useful for resequencing entries. For " +"example, an ordered dictionary can be used to track order of access by aging " +"entries from the oldest to the most recently accessed." +msgstr "" +"Операція швидкого переходу до кінця корисна для зміни послідовності записів. " +"Наприклад, упорядкований словник можна використовувати для відстеження " +"порядку доступу шляхом старіння записів від найстаріших до найновіших." + +msgid "" +"The :class:`collections.deque` class grew two new methods :meth:" +"`~collections.deque.count` and :meth:`~collections.deque.reverse` that make " +"them more substitutable for :class:`list` objects:" +msgstr "" +"У класі :class:`collections.deque` з’явилися два нові методи :meth:" +"`~collections.deque.count` і :meth:`~collections.deque.reverse`, що робить " +"їх більш доступними для об’єктів :class:`list` :" + +msgid "threading" +msgstr "різьблення" + +msgid "" +"The :mod:`threading` module has a new :class:`~threading.Barrier` " +"synchronization class for making multiple threads wait until all of them " +"have reached a common barrier point. Barriers are useful for making sure " +"that a task with multiple preconditions does not run until all of the " +"predecessor tasks are complete." +msgstr "" +"Модуль :mod:`threading` має новий клас синхронізації :class:`~threading." +"Barrier` для того, щоб кілька потоків чекали, поки всі вони досягнуть " +"спільної точки перешкоди. Бар’єри корисні для забезпечення того, щоб " +"завдання з кількома попередніми умовами не запускалося, доки не будуть " +"виконані всі завдання-попередники." + +msgid "" +"Barriers can work with an arbitrary number of threads. This is a " +"generalization of a `Rendezvous `_ which is defined for only two threads." +msgstr "" +"Бар'єри можуть працювати з довільною кількістю потоків. Це узагальнення " +"`Rendezvous `_, яке " +"визначено лише для двох потоків." + +msgid "" +"Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` " +"objects are suitable for use in loops. The separate *filling* and " +"*draining* phases assure that all threads get released (drained) before any " +"one of them can loop back and re-enter the barrier. The barrier fully " +"resets after each cycle." +msgstr "" +"Реалізовані як двофазний циклічний бар’єр, об’єкти :class:`~threading." +"Barrier` підходять для використання в циклах. Окремі фази *заповнення* та " +"*виливання* гарантують, що всі потоки будуть звільнені (осушені) до того, як " +"будь-який з них зможе повернутися назад і знову увійти в бар’єр. Після " +"кожного циклу бар’єр повністю скидається." + +msgid "Example of using barriers::" +msgstr "Приклад використання бар'єрів::" + +msgid "" +"In this example, the barrier enforces a rule that votes cannot be counted at " +"any polling site until all polls are closed. Notice how a solution with a " +"barrier is similar to one with :meth:`threading.Thread.join`, but the " +"threads stay alive and continue to do work (summarizing ballots) after the " +"barrier point is crossed." +msgstr "" +"У цьому прикладі бар’єр забезпечує виконання правила, згідно з яким голоси " +"не можуть бути підраховані на жодній виборчій дільниці, доки всі виборчі " +"дільниці не будуть закриті. Зверніть увагу, що рішення з бар’єром схоже на " +"рішення з :meth:`threading.Thread.join`, але потоки залишаються живими та " +"продовжують виконувати роботу (підсумовуючи бюлетені) після перетину точки " +"бар’єру." + +msgid "" +"If any of the predecessor tasks can hang or be delayed, a barrier can be " +"created with an optional *timeout* parameter. Then if the timeout period " +"elapses before all the predecessor tasks reach the barrier point, all " +"waiting threads are released and a :exc:`~threading.BrokenBarrierError` " +"exception is raised::" +msgstr "" +"Якщо будь-яке з попередніх завдань може зависати або відкладатися, можна " +"створити бар’єр за допомогою додаткового параметра *timeout*. Потім, якщо " +"період очікування мине до того, як усі завдання-попередники досягнуть точки " +"бар’єру, усі потоки, що очікують, звільняються та виникає виняток :exc:" +"`~threading.BrokenBarrierError`::" + +msgid "" +"In this example, the barrier enforces a more robust rule. If some election " +"sites do not finish before midnight, the barrier times-out and the ballots " +"are sealed and deposited in a queue for later handling." +msgstr "" +"У цьому прикладі бар’єр забезпечує більш надійне правило. Якщо деякі виборчі " +"дільниці не закінчуються до опівночі, шлагбаум закінчується, а бюлетені " +"запечатуються та залишаються в черзі для подальшої обробки." + +msgid "" +"See `Barrier Synchronization Patterns `_ for more examples " +"of how barriers can be used in parallel computing. Also, there is a simple " +"but thorough explanation of barriers in `The Little Book of Semaphores " +"`_, " +"*section 3.6*." +msgstr "" + +msgid "" +"(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin " +"in :issue:`8777`.)" +msgstr "" +"(Надав Крістіян Валур Йонссон із оглядом API Джеффрі Яскіним у :issue:" +"`8777`.)" + +msgid "datetime and time" +msgstr "дата, час і час" + +msgid "" +"The :mod:`datetime` module has a new type :class:`~datetime.timezone` that " +"implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC " +"offset and timezone name. This makes it easier to create timezone-aware " +"datetime objects::" +msgstr "" +"Модуль :mod:`datetime` має новий тип :class:`~datetime.timezone`, який " +"реалізує інтерфейс :class:`~datetime.tzinfo` шляхом повернення фіксованого " +"зміщення UTC і назви часового поясу. Це полегшує створення об’єктів datetime " +"з урахуванням часового поясу:" + +msgid "" +"Also, :class:`~datetime.timedelta` objects can now be multiplied by :class:" +"`float` and divided by :class:`float` and :class:`int` objects. And :class:" +"`~datetime.timedelta` objects can now divide one another." +msgstr "" +"Крім того, об’єкти :class:`~datetime.timedelta` тепер можна помножити на :" +"class:`float` і розділити на об’єкти :class:`float` і :class:`int`. І " +"об’єкти :class:`~datetime.timedelta` тепер можуть розділяти один одного." + +msgid "" +"The :meth:`datetime.date.strftime` method is no longer restricted to years " +"after 1900. The new supported year range is from 1000 to 9999 inclusive." +msgstr "" +"Метод :meth:`datetime.date.strftime` більше не обмежується роками після " +"1900. Новий підтримуваний діапазон років становить від 1000 до 9999 включно." + +msgid "" +"Whenever a two-digit year is used in a time tuple, the interpretation has " +"been governed by :attr:`time.accept2dyear`. The default is ``True`` which " +"means that for a two-digit year, the century is guessed according to the " +"POSIX rules governing the ``%y`` strptime format." +msgstr "" +"Щоразу, коли в кортежі часу використовується двозначний рік, інтерпретація " +"регулюється :attr:`time.accept2dyear`. Типовим значенням є ``True``, що " +"означає, що для двозначного року століття вгадується відповідно до правил " +"POSIX, які регулюють формат strptime ``%y``." + +msgid "" +"Starting with Py3.2, use of the century guessing heuristic will emit a :exc:" +"`DeprecationWarning`. Instead, it is recommended that :attr:`time." +"accept2dyear` be set to ``False`` so that large date ranges can be used " +"without guesswork::" +msgstr "" +"Починаючи з Py3.2, використання евристики вгадування століття видасть :exc:" +"`DeprecationWarning`. Замість цього рекомендується встановити :attr:`time." +"accept2dyear` на ``False``, щоб можна було використовувати великі діапазони " +"дат без припущень:" + +msgid "" +"Several functions now have significantly expanded date ranges. When :attr:" +"`time.accept2dyear` is false, the :func:`time.asctime` function will accept " +"any year that fits in a C int, while the :func:`time.mktime` and :func:`time." +"strftime` functions will accept the full range supported by the " +"corresponding operating system functions." +msgstr "" +"Кілька функцій тепер мають значно розширені діапазони дат. Якщо :attr:`time." +"accept2dyear` має значення false, функція :func:`time.asctime` прийматиме " +"будь-який рік, який вміщується в C int, тоді як :func:`time.mktime` і :func:" +"`time. функції strftime` прийматимуть повний діапазон, що підтримується " +"відповідними функціями операційної системи." + +msgid "" +"(Contributed by Alexander Belopolsky and Victor Stinner in :issue:" +"`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :" +"issue:`8013`, and :issue:`10827`.)" +msgstr "" +"(Надано Олександром Бєлопольським та Віктором Стіннером у :issue:`1289118`, :" +"issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :issue:`8013` " +"і :issue:`10827`.)" + +msgid "math" +msgstr "математика" + +msgid "" +"The :mod:`math` module has been updated with six new functions inspired by " +"the C99 standard." +msgstr "" +"Модуль :mod:`math` було оновлено шістьма новими функціями, натхненними " +"стандартом C99." + +msgid "" +"The :func:`~math.isfinite` function provides a reliable and fast way to " +"detect special values. It returns ``True`` for regular numbers and " +"``False`` for *Nan* or *Infinity*:" +msgstr "" +"Функція :func:`~math.isfinite` забезпечує надійний і швидкий спосіб " +"визначення спеціальних значень. Він повертає ``True`` для звичайних чисел і " +"``False`` для *Nan* або *Infinity*:" + +msgid "" +"The :func:`~math.expm1` function computes ``e**x-1`` for small values of *x* " +"without incurring the loss of precision that usually accompanies the " +"subtraction of nearly equal quantities:" +msgstr "" +"Функція :func:`~math.expm1` обчислює ``e**x-1`` для малих значень *x* без " +"втрати точності, яка зазвичай супроводжує віднімання майже рівних величин:" + +msgid "" +"The :func:`~math.erf` function computes a probability integral or `Gaussian " +"error function `_. The " +"complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:" +msgstr "" +"Функція :func:`~math.erf` обчислює інтеграл ймовірності або `функцію помилки " +"Гауса `_. Додатковою функцією " +"помилок, :func:`~math.erfc`, є ``1 - erf(x)``:" + +msgid "" +"The :func:`~math.gamma` function is a continuous extension of the factorial " +"function. See https://en.wikipedia.org/wiki/Gamma_function for details. " +"Because the function is related to factorials, it grows large even for small " +"values of *x*, so there is also a :func:`~math.lgamma` function for " +"computing the natural logarithm of the gamma function:" +msgstr "" +"Функція :func:`~math.gamma` є безперервним розширенням функції факториалу. " +"Див. https://en.wikipedia.org/wiki/Gamma_function, щоб дізнатися більше. " +"Оскільки функція пов’язана з факториалами, вона збільшується навіть для " +"малих значень *x*, тому існує також функція :func:`~math.lgamma` для " +"обчислення натурального логарифма гамма-функції:" + +msgid "(Contributed by Mark Dickinson.)" +msgstr "(Надав Марк Дікінсон.)" + +msgid "abc" +msgstr "абв" + +msgid "" +"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :" +"func:`~abc.abstractstaticmethod`." +msgstr "" +"Модуль :mod:`abc` тепер підтримує :func:`~abc.abstractclassmethod` і :func:" +"`~abc.abstractstaticmethod`." + +msgid "" +"These tools make it possible to define an :term:`abstract base class` that " +"requires a particular :func:`classmethod` or :func:`staticmethod` to be " +"implemented::" +msgstr "" +"Ці інструменти дають змогу визначити :term:`abstract base class`, який " +"потребує реалізації конкретного :func:`classmethod` або :func:" +"`staticmethod`::" + +msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)" +msgstr "(Патч надіслав Даніель Урбан; :issue:`5867`.)" + +msgid "io" +msgstr "io" + +msgid "" +"The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, " +"which provides functionality similar to :func:`memoryview`. It creates an " +"editable view of the data without making a copy. The buffer's random access " +"and support for slice notation are well-suited to in-place editing::" +msgstr "" +":class:`io.BytesIO` має новий метод, :meth:`~io.BytesIO.getbuffer`, який " +"забезпечує функції, подібні до :func:`memoryview`. Він створює редагований " +"вигляд даних без копіювання. Довільний доступ до буфера та підтримка нотації " +"фрагментів добре підходять для редагування на місці:" + +msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)" +msgstr "(Надав Антуан Пітру в :issue:`5506`.)" + +msgid "reprlib" +msgstr "reprlib" + +msgid "" +"When writing a :meth:`__repr__` method for a custom container, it is easy to " +"forget to handle the case where a member refers back to the container " +"itself. Python's builtin objects such as :class:`list` and :class:`set` " +"handle self-reference by displaying \"...\" in the recursive part of the " +"representation string." +msgstr "" +"Під час написання методу :meth:`__repr__` для спеціального контейнера легко " +"забути обробити випадок, коли член повертається до самого контейнера. " +"Вбудовані об’єкти Python, такі як :class:`list` і :class:`set` обробляють " +"самопосилання, відображаючи \"...\" у рекурсивній частині рядка " +"представлення." + +msgid "" +"To help write such :meth:`__repr__` methods, the :mod:`reprlib` module has a " +"new decorator, :func:`~reprlib.recursive_repr`, for detecting recursive " +"calls to :meth:`__repr__` and substituting a placeholder string instead::" +msgstr "" +"Щоб полегшити написання таких методів :meth:`__repr__`, модуль :mod:" +"`reprlib` має новий декоратор, :func:`~reprlib.recursive_repr`, для " +"виявлення рекурсивних викликів :meth:`__repr__` і заміни заповнювача рядок " +"замість цього::" + +msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" +msgstr "(Надано Реймондом Геттінгером у :issue:`9826` та :issue:`9840`.)" + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"In addition to dictionary-based configuration described above, the :mod:" +"`logging` package has many other improvements." +msgstr "" +"Окрім описаної вище конфігурації на основі словника, пакет :mod:`logging` " +"має багато інших покращень." + +msgid "" +"The logging documentation has been augmented by a :ref:`basic tutorial " +"`\\, an :ref:`advanced tutorial `\\, and a :ref:`cookbook ` of logging recipes. " +"These documents are the fastest way to learn about logging." +msgstr "" +"Документацію з журналювання було доповнено :ref:`основним підручником " +"`\\, :ref:`розширеним підручником `\\ і :ref:`кулінарною книгою ` з рецептами " +"журналювання. Ці документи є найшвидшим способом дізнатися про лісозаготівлю." + +msgid "" +"The :func:`logging.basicConfig` set-up function gained a *style* argument to " +"support three different types of string formatting. It defaults to \"%\" " +"for traditional %-formatting, can be set to \"{\" for the new :meth:`str." +"format` style, or can be set to \"$\" for the shell-style formatting " +"provided by :class:`string.Template`. The following three configurations " +"are equivalent::" +msgstr "" +"Функція налаштування :func:`logging.basicConfig` отримала аргумент *style* " +"для підтримки трьох різних типів форматування рядків. За замовчуванням для " +"традиційного форматування %-formatting встановлено значення \"%\", можна " +"встановити значення \"{\" для нового стилю :meth:`str.format` або значення " +"\"$\" для форматування стилю оболонки, яке надає :class:`string.Template`. " +"Наступні три конфігурації еквівалентні:" + +msgid "" +"If no configuration is set-up before a logging event occurs, there is now a " +"default configuration using a :class:`~logging.StreamHandler` directed to :" +"attr:`sys.stderr` for events of ``WARNING`` level or higher. Formerly, an " +"event occurring before a configuration was set-up would either raise an " +"exception or silently drop the event depending on the value of :attr:" +"`logging.raiseExceptions`. The new default handler is stored in :attr:" +"`logging.lastResort`." +msgstr "" +"Якщо жодна конфігурація не налаштована до того, як відбудеться подія " +"журналювання, тепер існує конфігурація за замовчуванням із використанням :" +"class:`~logging.StreamHandler`, спрямованого на :attr:`sys.stderr` для подій " +"рівня ``WARNING`` або вище. Раніше подія, яка відбувалася до налаштування " +"конфігурації, викликала виняток або мовчки видаляла подію залежно від " +"значення :attr:`logging.raiseExceptions`. Новий обробник за замовчуванням " +"зберігається в :attr:`logging.lastResort`." + +msgid "" +"The use of filters has been simplified. Instead of creating a :class:" +"`~logging.Filter` object, the predicate can be any Python callable that " +"returns ``True`` or ``False``." +msgstr "" +"Використання фільтрів спрощено. Замість створення об’єкта :class:`~logging." +"Filter` предикатом може бути будь-який виклик Python, який повертає ``True`` " +"або ``False``." + +msgid "" +"There were a number of other improvements that add flexibility and simplify " +"configuration. See the module documentation for a full listing of changes " +"in Python 3.2." +msgstr "" +"З’явилася низка інших покращень, які додають гнучкості та спрощують " +"налаштування. Перегляньте документацію модуля, щоб отримати повний список " +"змін у Python 3.2." + +msgid "csv" +msgstr "csv" + +msgid "" +"The :mod:`csv` module now supports a new dialect, :class:`~csv." +"unix_dialect`, which applies quoting for all fields and a traditional Unix " +"style with ``'\\n'`` as the line terminator. The registered dialect name is " +"``unix``." +msgstr "" +"Модуль :mod:`csv` тепер підтримує новий діалект, :class:`~csv.unix_dialect`, " +"який застосовує лапки для всіх полів і традиційний стиль Unix із ``'\\n'`` " +"як символ закінчення рядка. Зареєстрована діалектна назва ``unix``." + +msgid "" +"The :class:`csv.DictWriter` has a new method, :meth:`~csv.DictWriter." +"writeheader` for writing-out an initial row to document the field names::" +msgstr "" +":class:`csv.DictWriter` має новий метод, :meth:`~csv.DictWriter.writeheader` " +"для запису початкового рядка для документування назв полів:" + +msgid "" +"(New dialect suggested by Jay Talbot in :issue:`5975`, and the new method " +"suggested by Ed Abraham in :issue:`1537721`.)" +msgstr "" +"(Новий діалект, запропонований Джеєм Телботом у :issue:`5975`, і новий " +"метод, запропонований Едом Абрахамом у :issue:`1537721`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"There is a new and slightly mind-blowing tool :class:`~contextlib." +"ContextDecorator` that is helpful for creating a :term:`context manager` " +"that does double duty as a function decorator." +msgstr "" +"Існує новий і трохи приголомшливий інструмент :class:`~contextlib." +"ContextDecorator`, який корисний для створення :term:`context manager`, який " +"виконує подвійну функцію як декоратор функції." + +msgid "" +"As a convenience, this new functionality is used by :func:`~contextlib." +"contextmanager` so that no extra effort is needed to support both roles." +msgstr "" +"Для зручності ця нова функціональність використовується :func:`~contextlib." +"contextmanager`, тому не потрібно докладати додаткових зусиль для підтримки " +"обох ролей." + +msgid "" +"The basic idea is that both context managers and function decorators can be " +"used for pre-action and post-action wrappers. Context managers wrap a group " +"of statements using a :keyword:`with` statement, and function decorators " +"wrap a group of statements enclosed in a function. So, occasionally there " +"is a need to write a pre-action or post-action wrapper that can be used in " +"either role." +msgstr "" +"Основна ідея полягає в тому, що як менеджери контексту, так і декоратори " +"функцій можна використовувати для обгорток до і після дії. Менеджери " +"контексту обгортають групу операторів за допомогою оператора :keyword:" +"`with`, а декоратори функцій обгортають групу операторів, укладених у " +"функцію. Отже, іноді виникає потреба написати обгортку до або після дії, яку " +"можна використовувати в обох ролях." + +msgid "" +"For example, it is sometimes useful to wrap functions or groups of " +"statements with a logger that can track the time of entry and time of exit. " +"Rather than writing both a function decorator and a context manager for the " +"task, the :func:`~contextlib.contextmanager` provides both capabilities in a " +"single definition::" +msgstr "" +"Наприклад, іноді корисно обернути функції або групи операторів за допомогою " +"реєстратора, який може відстежувати час входу та час виходу. Замість того, " +"щоб писати як декоратор функції, так і менеджер контексту для завдання, :" +"func:`~contextlib.contextmanager` надає обидві можливості в одному " +"визначенні:" + +msgid "Formerly, this would have only been usable as a context manager::" +msgstr "Раніше це можна було використовувати лише як контекстний менеджер::" + +msgid "Now, it can be used as a decorator as well::" +msgstr "Тепер його можна використовувати і як декоратор:" + +msgid "" +"Trying to fulfill two roles at once places some limitations on the " +"technique. Context managers normally have the flexibility to return an " +"argument usable by a :keyword:`with` statement, but there is no parallel for " +"function decorators." +msgstr "" +"Спроба виконувати дві ролі одночасно накладає деякі обмеження на техніку. " +"Менеджери контексту зазвичай мають гнучкість для повернення аргументу, який " +"можна використовувати оператором :keyword:`with`, але немає аналогії для " +"декораторів функцій." + +msgid "" +"In the above example, there is not a clean way for the " +"*track_entry_and_exit* context manager to return a logging instance for use " +"in the body of enclosed statements." +msgstr "" +"У наведеному вище прикладі немає чистого способу для менеджера контексту " +"*track_entry_and_exit* повернути примірник журналювання для використання в " +"тілі вкладених операторів." + +msgid "(Contributed by Michael Foord in :issue:`9110`.)" +msgstr "(Надав Майкл Форд у :issue:`9110`.)" + +msgid "decimal and fractions" +msgstr "десятковий і дробовий" + +msgid "" +"Mark Dickinson crafted an elegant and efficient scheme for assuring that " +"different numeric datatypes will have the same hash value whenever their " +"actual values are equal (:issue:`8188`)::" +msgstr "" +"Марк Дікінсон розробив елегантну та ефективну схему, яка гарантує, що різні " +"типи числових даних матимуть однакове хеш-значення, якщо їхні фактичні " +"значення рівні (:issue:`8188`):" + +msgid "" +"Some of the hashing details are exposed through a new attribute, :attr:`sys." +"hash_info`, which describes the bit width of the hash value, the prime " +"modulus, the hash values for *infinity* and *nan*, and the multiplier used " +"for the imaginary part of a number:" +msgstr "" +"Деякі деталі хешування доступні через новий атрибут :attr:`sys.hash_info`, " +"який описує бітову ширину хеш-значення, простий модуль, хеш-значення для " +"*infinity* і *nan* і множник використовується для уявної частини числа:" + +msgid "" +"An early decision to limit the inter-operability of various numeric types " +"has been relaxed. It is still unsupported (and ill-advised) to have " +"implicit mixing in arithmetic expressions such as ``Decimal('1.1') + " +"float('1.1')`` because the latter loses information in the process of " +"constructing the binary float. However, since existing floating point value " +"can be converted losslessly to either a decimal or rational representation, " +"it makes sense to add them to the constructor and to support mixed-type " +"comparisons." +msgstr "" +"Попереднє рішення щодо обмеження сумісності різних числових типів було " +"послаблено. Досі не підтримується (і є недоцільним) мати неявне змішування в " +"арифметичних виразах, таких як ``Decimal('1.1') + float('1.1')``, оскільки " +"останній втрачає інформацію в процесі побудови двійкового float. Однак, " +"оскільки існуюче значення з плаваючою комою можна без втрат перетворити в " +"десяткове чи раціональне представлення, має сенс додати їх до конструктора " +"та підтримувати порівняння змішаного типу." + +msgid "" +"The :class:`decimal.Decimal` constructor now accepts :class:`float` objects " +"directly so there in no longer a need to use the :meth:`~decimal.Decimal." +"from_float` method (:issue:`8257`)." +msgstr "" +"Конструктор :class:`decimal.Decimal` тепер приймає об’єкти :class:`float` " +"безпосередньо, тому більше не потрібно використовувати метод :meth:`~decimal." +"Decimal.from_float` (:issue:`8257`) ." + +msgid "" +"Mixed type comparisons are now fully supported so that :class:`~decimal." +"Decimal` objects can be directly compared with :class:`float` and :class:" +"`fractions.Fraction` (:issue:`2531` and :issue:`8188`)." +msgstr "" +"Порівняння змішаних типів тепер повністю підтримуються, тому об’єкти :class:" +"`~decimal.Decimal` можна безпосередньо порівнювати з :class:`float` і :class:" +"`fractions.Fraction` (:issue:`2531` і :issue:`8188`)." + +msgid "" +"Similar changes were made to :class:`fractions.Fraction` so that the :meth:" +"`~fractions.Fraction.from_float()` and :meth:`~fractions.Fraction." +"from_decimal` methods are no longer needed (:issue:`8294`):" +msgstr "" +"Подібні зміни було внесено до :class:`fractions.Fraction`, тому методи :meth:" +"`~fraction.Fraction.from_float()` і :meth:`~fractions.Fraction.from_decimal` " +"більше не потрібні (:issue:`8294`):" + +msgid "" +"Another useful change for the :mod:`decimal` module is that the :attr:" +"`Context.clamp` attribute is now public. This is useful in creating " +"contexts that correspond to the decimal interchange formats specified in " +"IEEE 754 (see :issue:`8540`)." +msgstr "" +"Ще одна корисна зміна для модуля :mod:`decimal` полягає в тому, що атрибут :" +"attr:`Context.clamp` тепер відкритий. Це корисно для створення контекстів, " +"які відповідають десятковим форматам обміну, визначеним у IEEE 754 (див. :" +"issue:`8540`)." + +msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)" +msgstr "(Надано Марком Дікінсоном і Реймондом Геттінгером.)" + +msgid "ftp" +msgstr "ftp" + +msgid "" +"The :class:`ftplib.FTP` class now supports the context management protocol " +"to unconditionally consume :exc:`socket.error` exceptions and to close the " +"FTP connection when done::" +msgstr "" +"Клас :class:`ftplib.FTP` тепер підтримує протокол керування контекстом для " +"безумовного використання винятків :exc:`socket.error` і закриття з’єднання " +"FTP після завершення:" + +msgid "" +"Other file-like objects such as :class:`mmap.mmap` and :func:`fileinput." +"input` also grew auto-closing context managers::" +msgstr "" +"Інші файлоподібні об’єкти, такі як :class:`mmap.mmap` і :func:`fileinput." +"input` також розширили менеджери контексту автоматичного закриття::" + +msgid "" +"(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by " +"Georg Brandl in :issue:`8046` and :issue:`1286`.)" +msgstr "" +"(Надано Тареком Зіаде та Джампаоло Родола у :issue:`4972` та Георгом " +"Брандлом у :issue:`8046` та :issue:`1286`.)" + +msgid "" +"The :class:`~ftplib.FTP_TLS` class now accepts a *context* parameter, which " +"is a :class:`ssl.SSLContext` object allowing bundling SSL configuration " +"options, certificates and private keys into a single (potentially long-" +"lived) structure." +msgstr "" +"Клас :class:`~ftplib.FTP_TLS` тепер приймає параметр *context*, який є " +"об’єктом :class:`ssl.SSLContext`, що дозволяє об’єднувати параметри " +"конфігурації SSL, сертифікати та закриті ключі в єдиний (потенційно " +"довготривалий) структура." + +msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)" +msgstr "(Надав Джампаоло Родола; :issue:`8806`.)" + +msgid "popen" +msgstr "відкрити" + +msgid "" +"The :func:`os.popen` and :func:`subprocess.Popen` functions now support :" +"keyword:`with` statements for auto-closing of the file descriptors." +msgstr "" +"Функції :func:`os.popen` і :func:`subprocess.Popen` тепер підтримують " +"оператори :keyword:`with` для автоматичного закриття дескрипторів файлів." + +msgid "" +"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and :issue:" +"`10554`.)" +msgstr "" +"(Надано Антуаном Пітру та Браяном Кертіном у :issue:`7461` та :issue:" +"`10554`.)" + +msgid "select" +msgstr "вибрати" + +msgid "" +"The :mod:`select` module now exposes a new, constant attribute, :attr:" +"`~select.PIPE_BUF`, which gives the minimum number of bytes which are " +"guaranteed not to block when :func:`select.select` says a pipe is ready for " +"writing." +msgstr "" +"Модуль :mod:`select` тепер надає новий постійний атрибут, :attr:`~select." +"PIPE_BUF`, який надає мінімальну кількість байтів, які гарантовано не " +"блокуються, коли :func:`select.select` каже труба готова до письма." + +msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" +msgstr "(Доступно в системах Unix. Патч Себастьєна Сабле в :issue:`9862`)" + +msgid "gzip and zipfile" +msgstr "gzip і zipfile" + +msgid "" +":class:`gzip.GzipFile` now implements the :class:`io.BufferedIOBase` :term:" +"`abstract base class` (except for ``truncate()``). It also has a :meth:" +"`~gzip.GzipFile.peek` method and supports unseekable as well as zero-padded " +"file objects." +msgstr "" +":class:`gzip.GzipFile` тепер реалізує :class:`io.BufferedIOBase` :term:" +"`abstract base class` (крім ``truncate()``). Він також має метод :meth:" +"`~gzip.GzipFile.peek` і підтримує об’єкти файлів, які не можна шукати, а " +"також об’єкти з нульовим доповненням." + +msgid "" +"The :mod:`gzip` module also gains the :func:`~gzip.compress` and :func:" +"`~gzip.decompress` functions for easier in-memory compression and " +"decompression. Keep in mind that text needs to be encoded as :class:`bytes` " +"before compressing and decompressing:" +msgstr "" +"Модуль :mod:`gzip` також отримує функції :func:`~gzip.compress` і :func:" +"`~gzip.decompress` для полегшення стиснення та розпакування в пам’яті. Майте " +"на увазі, що текст має бути закодований як :class:`bytes` перед стисненням і " +"розпакуванням:" + +msgid "" +"(Contributed by Anand B. Pillai in :issue:`3488`; and by Antoine Pitrou, Nir " +"Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` " +"and :issue:`2846`.)" +msgstr "" +"(Надано Анандом Б. Піллаєм у :issue:`3488`; і Антуаном Пітру, Ніром Ейдесом " +"і Браяном Кертіном у :issue:`9962`, :issue:`1675951`, :issue:`7471` та :" +"issue: \"2846\".)" + +msgid "" +"Also, the :class:`zipfile.ZipExtFile` class was reworked internally to " +"represent files stored inside an archive. The new implementation is " +"significantly faster and can be wrapped in an :class:`io.BufferedReader` " +"object for more speedups. It also solves an issue where interleaved calls " +"to *read* and *readline* gave the wrong results." +msgstr "" +"Крім того, клас :class:`zipfile.ZipExtFile` було внутрішньо перероблено для " +"представлення файлів, що зберігаються в архіві. Нова реалізація є значно " +"швидшою та може бути упакована в об’єкт :class:`io.BufferedReader` для " +"більшого прискорення. Це також вирішує проблему, через яку чергувані виклики " +"*read* і *readline* давали неправильні результати." + +msgid "(Patch submitted by Nir Aides in :issue:`7610`.)" +msgstr "(Патч надіслано Nir Aides у :issue:`7610`.)" + +msgid "tarfile" +msgstr "tarfile" + +msgid "" +"The :class:`~tarfile.TarFile` class can now be used as a context manager. " +"In addition, its :meth:`~tarfile.TarFile.add` method has a new option, " +"*filter*, that controls which files are added to the archive and allows the " +"file metadata to be edited." +msgstr "" +"Клас :class:`~tarfile.TarFile` тепер можна використовувати як менеджер " +"контексту. Крім того, його метод :meth:`~tarfile.TarFile.add` має новий " +"параметр, *filter*, який контролює, які файли додаються до архіву, і " +"дозволяє редагувати метадані файлу." + +msgid "" +"The new *filter* option replaces the older, less flexible *exclude* " +"parameter which is now deprecated. If specified, the optional *filter* " +"parameter needs to be a :term:`keyword argument`. The user-supplied filter " +"function accepts a :class:`~tarfile.TarInfo` object and returns an updated :" +"class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, the " +"function can return ``None``::" +msgstr "" +"Новий параметр *фільтр* замінює старіший, менш гнучкий параметр *exclude*, " +"який зараз є застарілим. Якщо вказано, необов’язковий параметр *filter* має " +"бути аргументом ключового слова (:term:`keyword argument`). Функція фільтра, " +"надана користувачем, приймає об’єкт :class:`~tarfile.TarInfo` і повертає " +"оновлений об’єкт :class:`~tarfile.TarInfo`, або якщо вона хоче, щоб файл " +"було виключено, функція може повернути ``None``::" + +msgid "" +"(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)" +msgstr "" +"(Запропоновано Тареком Зіаді та реалізовано Ларсом Густебелем у :issue:" +"`6856`.)" + +msgid "hashlib" +msgstr "хешліб" + +msgid "" +"The :mod:`hashlib` module has two new constant attributes listing the " +"hashing algorithms guaranteed to be present in all implementations and those " +"available on the current implementation::" +msgstr "" +"Модуль :mod:`hashlib` має два нові постійні атрибути, які перераховують " +"алгоритми хешування, які гарантовано присутні в усіх реалізаціях, і доступні " +"в поточній реалізації:" + +msgid "(Suggested by Carl Chenet in :issue:`7418`.)" +msgstr "(Запропоновано Карлом Чене в :issue:`7418`.)" + +msgid "ast" +msgstr "аст" + +msgid "" +"The :mod:`ast` module has a wonderful a general-purpose tool for safely " +"evaluating expression strings using the Python literal syntax. The :func:" +"`ast.literal_eval` function serves as a secure alternative to the builtin :" +"func:`eval` function which is easily abused. Python 3.2 adds :class:`bytes` " +"and :class:`set` literals to the list of supported types: strings, bytes, " +"numbers, tuples, lists, dicts, sets, booleans, and ``None``." +msgstr "" +"Модуль :mod:`ast` має чудовий інструмент загального призначення для " +"безпечної оцінки рядків виразів за допомогою синтаксису літералів Python. " +"Функція :func:`ast.literal_eval` служить безпечною альтернативою вбудованій " +"функції :func:`eval`, якою легко зловживати. Python 3.2 додає літерали :" +"class:`bytes` і :class:`set` до списку підтримуваних типів: рядки, байти, " +"числа, кортежі, списки, dicts, набори, логічні значення та ``None``." + +msgid "(Implemented by Benjamin Peterson and Georg Brandl.)" +msgstr "(Реалізовано Бенджаміном Петерсоном і Георгом Брандлом.)" + +msgid "os" +msgstr "ос" + +msgid "" +"Different operating systems use various encodings for filenames and " +"environment variables. The :mod:`os` module provides two new functions, :" +"func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding " +"filenames:" +msgstr "" +"Різні операційні системи використовують різні кодування для імен файлів і " +"змінних середовища. Модуль :mod:`os` надає дві нові функції, :func:`~os." +"fsencode` і :func:`~os.fsdecode`, для кодування та декодування імен файлів:" + +msgid "" +"Some operating systems allow direct access to encoded bytes in the " +"environment. If so, the :attr:`os.supports_bytes_environ` constant will be " +"true." +msgstr "" +"Деякі операційні системи дозволяють прямий доступ до закодованих байтів у " +"середовищі. Якщо так, константа :attr:`os.supports_bytes_environ` буде " +"істинною." + +msgid "" +"For direct access to encoded environment variables (if available), use the " +"new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes " +"version of :data:`os.environ`." +msgstr "" +"Для прямого доступу до закодованих змінних середовища (якщо доступно) " +"використовуйте нову функцію :func:`os.getenvb` або використовуйте :data:`os." +"environb`, яка є байтовою версією :data:`os.environ`." + +msgid "(Contributed by Victor Stinner.)" +msgstr "(Надав Віктор Стіннер.)" + +msgid "shutil" +msgstr "шутил" + +msgid "The :func:`shutil.copytree` function has two new options:" +msgstr "Функція :func:`shutil.copytree` має дві нові опції:" + +msgid "" +"*ignore_dangling_symlinks*: when ``symlinks=False`` so that the function " +"copies a file pointed to by a symlink, not the symlink itself. This option " +"will silence the error raised if the file doesn't exist." +msgstr "" +"*ignore_dangling_symlinks*: коли ``symlinks=False``, щоб функція копіювала " +"файл, на який вказує символічне посилання, а не саме символічне посилання. " +"Цей параметр заглушить повідомлення про помилку, якщо файл не існує." + +msgid "" +"*copy_function*: is a callable that will be used to copy files. :func:" +"`shutil.copy2` is used by default." +msgstr "" +"*copy_function*: це виклик, який використовуватиметься для копіювання " +"файлів. :func:`shutil.copy2` використовується за умовчанням." + +msgid "(Contributed by Tarek Ziadé.)" +msgstr "(Надав Тарек Зіаде.)" + +msgid "" +"In addition, the :mod:`shutil` module now supports :ref:`archiving " +"operations ` for zipfiles, uncompressed tarfiles, " +"gzipped tarfiles, and bzipped tarfiles. And there are functions for " +"registering additional archiving file formats (such as xz compressed " +"tarfiles or custom formats)." +msgstr "" +"Крім того, модуль :mod:`shutil` тепер підтримує :ref:`операції архівування " +"` для файлів zip, нестиснутих tar-файлів, tar-файлів " +"gzip і tar-файлів bzip. Існують функції для реєстрації додаткових форматів " +"архівних файлів (таких як стиснуті tar-файли xz або спеціальні формати)." + +msgid "" +"The principal functions are :func:`~shutil.make_archive` and :func:`~shutil." +"unpack_archive`. By default, both operate on the current directory (which " +"can be set by :func:`os.chdir`) and on any sub-directories. The archive " +"filename needs to be specified with a full pathname. The archiving step is " +"non-destructive (the original files are left unchanged)." +msgstr "" +"Основними функціями є :func:`~shutil.make_archive` і :func:`~shutil." +"unpack_archive`. За замовчуванням обидва працюють з поточним каталогом (який " +"можна встановити за допомогою :func:`os.chdir`) і будь-якими підкаталогами. " +"Ім’я файлу архіву має бути вказано з повним шляхом. Етап архівування є " +"неруйнівним (оригінальні файли залишаються без змін)." + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +"The :mod:`sqlite3` module was updated to pysqlite version 2.6.0. It has two " +"new capabilities." +msgstr "" +"Модуль :mod:`sqlite3` оновлено до версії pysqlite 2.6.0. Він має дві нові " +"можливості." + +msgid "" +"The :attr:`sqlite3.Connection.in_transit` attribute is true if there is an " +"active transaction for uncommitted changes." +msgstr "" +"Атрибут :attr:`sqlite3.Connection.in_transit` має значення true, якщо є " +"активна транзакція для незафіксованих змін." + +msgid "" +"The :meth:`sqlite3.Connection.enable_load_extension` and :meth:`sqlite3." +"Connection.load_extension` methods allows you to load SQLite extensions from " +"\".so\" files. One well-known extension is the fulltext-search extension " +"distributed with SQLite." +msgstr "" +"Методи :meth:`sqlite3.Connection.enable_load_extension` і :meth:`sqlite3." +"Connection.load_extension` дозволяють завантажувати розширення SQLite з " +"файлів \".so\". Одним із відомих розширень є розширення повнотекстового " +"пошуку, що поширюється разом із SQLite." + +msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)" +msgstr "(Надано Р. Девідом Мюрреєм і Шашватом Анандом; :issue:`8845`.)" + +msgid "html" +msgstr "html" + +msgid "" +"A new :mod:`html` module was introduced with only a single function, :func:" +"`~html.escape`, which is used for escaping reserved characters from HTML " +"markup:" +msgstr "" +"Представлено новий модуль :mod:`html` лише з однією функцією, :func:`~html." +"escape`, яка використовується для екранування зарезервованих символів із " +"розмітки HTML:" + +msgid "socket" +msgstr "гніздо" + +msgid "The :mod:`socket` module has two new improvements." +msgstr "Модуль :mod:`socket` має два нових покращення." + +msgid "" +"Socket objects now have a :meth:`~socket.socket.detach()` method which puts " +"the socket into closed state without actually closing the underlying file " +"descriptor. The latter can then be reused for other purposes. (Added by " +"Antoine Pitrou; :issue:`8524`.)" +msgstr "" +"Об’єкти Socket тепер мають метод :meth:`~socket.socket.detach()`, який " +"переводить сокет у закритий стан без фактичного закриття основного " +"дескриптора файлу. Останній потім можна повторно використовувати для інших " +"цілей. (Додав Антуан Пітру; :issue:`8524`.)" + +msgid "" +":func:`socket.create_connection` now supports the context management " +"protocol to unconditionally consume :exc:`socket.error` exceptions and to " +"close the socket when done. (Contributed by Giampaolo Rodolà; :issue:`9794`.)" +msgstr "" +":func:`socket.create_connection` тепер підтримує протокол керування " +"контекстом для безумовного використання винятків :exc:`socket.error` і " +"закриття сокета після завершення. (Надав Джампаоло Родола; :issue:`9794`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "" +"The :mod:`ssl` module added a number of features to satisfy common " +"requirements for secure (encrypted, authenticated) internet connections:" +msgstr "" +"Модуль :mod:`ssl` додав низку функцій, щоб задовольнити загальні вимоги до " +"безпечних (зашифрованих, автентифікованих) інтернет-з’єднань:" + +msgid "" +"A new class, :class:`~ssl.SSLContext`, serves as a container for persistent " +"SSL data, such as protocol settings, certificates, private keys, and various " +"other options. It includes a :meth:`~ssl.SSLContext.wrap_socket` for " +"creating an SSL socket from an SSL context." +msgstr "" +"Новий клас, :class:`~ssl.SSLContext`, служить контейнером для постійних " +"даних SSL, таких як налаштування протоколу, сертифікати, приватні ключі та " +"різні інші параметри. Він містить :meth:`~ssl.SSLContext.wrap_socket` для " +"створення SSL-сокета з контексту SSL." + +msgid "" +"A new function, :func:`ssl.match_hostname`, supports server identity " +"verification for higher-level protocols by implementing the rules of HTTPS " +"(from :rfc:`2818`) which are also suitable for other protocols." +msgstr "" +"Нова функція, :func:`ssl.match_hostname`, підтримує перевірку ідентичності " +"сервера для протоколів вищого рівня, реалізуючи правила HTTPS (від :rfc:" +"`2818`), які також підходять для інших протоколів." + +msgid "" +"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* " +"argument. The *ciphers* string lists the allowed encryption algorithms " +"using the format described in the `OpenSSL documentation `__." +msgstr "" + +msgid "" +"When linked against recent versions of OpenSSL, the :mod:`ssl` module now " +"supports the Server Name Indication extension to the TLS protocol, allowing " +"multiple \"virtual hosts\" using different certificates on a single IP port. " +"This extension is only supported in client mode, and is activated by passing " +"the *server_hostname* argument to :meth:`ssl.SSLContext.wrap_socket`." +msgstr "" +"При зв’язуванні з останніми версіями OpenSSL модуль :mod:`ssl` тепер " +"підтримує розширення індикації імені сервера для протоколу TLS, дозволяючи " +"кільком \"віртуальним хостам\" використовувати різні сертифікати на одному " +"IP-порту. Це розширення підтримується лише в режимі клієнта та активується " +"шляхом передачі аргументу *server_hostname* до :meth:`ssl.SSLContext." +"wrap_socket`." + +msgid "" +"Various options have been added to the :mod:`ssl` module, such as :data:" +"`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 protocol." +msgstr "" +"До модуля :mod:`ssl` додано різні параметри, наприклад :data:`~ssl." +"OP_NO_SSLv2`, який вимикає небезпечний і застарілий протокол SSLv2." + +msgid "" +"The extension now loads all the OpenSSL ciphers and digest algorithms. If " +"some SSL certificates cannot be verified, they are reported as an \"unknown " +"algorithm\" error." +msgstr "" +"Розширення тепер завантажує всі шифри OpenSSL і алгоритми дайджесту. Якщо " +"деякі сертифікати SSL неможливо перевірити, вони повідомляються як помилка " +"\"невідомий алгоритм\"." + +msgid "" +"The version of OpenSSL being used is now accessible using the module " +"attributes :data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl." +"OPENSSL_VERSION_INFO` (a 5-tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` " +"(an integer)." +msgstr "" +"Версія OpenSSL, яка використовується, тепер доступна за допомогою атрибутів " +"модуля: :data:`ssl.OPENSSL_VERSION` (рядок), :data:`ssl." +"OPENSSL_VERSION_INFO` (кортеж з 5) і :data:`ssl.OPENSSL_VERSION_NUMBER` " +"(ціле число)." + +msgid "" +"(Contributed by Antoine Pitrou in :issue:`8850`, :issue:`1589`, :issue:" +"`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, and :issue:`8321`.)" +msgstr "" +"(Надав Антуан Пітру в :issue:`8850`, :issue:`1589`, :issue:`8322`, :issue:" +"`5639`, :issue:`4870`, :issue:`8484` та :issue:`8321`.)" + +msgid "nntp" +msgstr "nntp" + +msgid "" +"The :mod:`nntplib` module has a revamped implementation with better bytes " +"and text semantics as well as more practical APIs. These improvements break " +"compatibility with the nntplib version in Python 3.1, which was partly " +"dysfunctional in itself." +msgstr "" +"Модуль :mod:`nntplib` має оновлену реалізацію з кращими байтами та текстовою " +"семантикою, а також більш практичними API. Ці вдосконалення порушують " +"сумісність із версією nntplib у Python 3.1, яка сама по собі була частково " +"нефункціональною." + +msgid "" +"Support for secure connections through both implicit (using :class:`nntplib." +"NNTP_SSL`) and explicit (using :meth:`nntplib.NNTP.starttls`) TLS has also " +"been added." +msgstr "" +"Також додано підтримку безпечних з’єднань через неявний (з використанням :" +"class:`nntplib.NNTP_SSL`) і явний (з використанням :meth:`nntplib.NNTP." +"starttls`) TLS." + +msgid "" +"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:" +"`1926`.)" +msgstr "" +"(Надано Антуаном Пітру в :issue:`9360` та Ендрю Вантом у :issue:`1926`.)" + +msgid "certificates" +msgstr "сертифікати" + +msgid "" +":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` " +"and :func:`urllib.request.urlopen` now take optional arguments to allow for " +"server certificate checking against a set of Certificate Authorities, as " +"recommended in public uses of HTTPS." +msgstr "" +":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` " +"і :func:`urllib.request.urlopen` тепер приймають додаткові аргументи, щоб " +"дозволити перевірку сертифіката сервера за набором центрів сертифікації, як " +"рекомендовано для публічного використання HTTPS." + +msgid "(Added by Antoine Pitrou, :issue:`9003`.)" +msgstr "(Додав Антуан Пітру, :issue:`9003`.)" + +msgid "imaplib" +msgstr "імапліб" + +msgid "" +"Support for explicit TLS on standard IMAP4 connections has been added " +"through the new :mod:`imaplib.IMAP4.starttls` method." +msgstr "" +"Підтримку явного TLS у стандартних підключеннях IMAP4 додано за допомогою " +"нового методу :mod:`imaplib.IMAP4.starttls`." + +msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)" +msgstr "(Надано Лоренцо М. Катуччі та Антуаном Пітру, :issue:`4471`.)" + +msgid "http.client" +msgstr "http.client" + +msgid "" +"There were a number of small API improvements in the :mod:`http.client` " +"module. The old-style HTTP 0.9 simple responses are no longer supported and " +"the *strict* parameter is deprecated in all classes." +msgstr "" +"У модулі :mod:`http.client` було внесено ряд невеликих покращень API. Прості " +"відповіді HTTP 0.9 старого стилю більше не підтримуються, а параметр " +"*strict* застарів у всіх класах." + +msgid "" +"The :class:`~http.client.HTTPConnection` and :class:`~http.client." +"HTTPSConnection` classes now have a *source_address* parameter for a (host, " +"port) tuple indicating where the HTTP connection is made from." +msgstr "" +"Класи :class:`~http.client.HTTPConnection` і :class:`~http.client." +"HTTPSConnection` тепер мають параметр *source_address* для кортежу (хост, " +"порт), який вказує, звідки здійснюється HTTP-з’єднання." + +msgid "" +"Support for certificate checking and HTTPS virtual hosts were added to :" +"class:`~http.client.HTTPSConnection`." +msgstr "" +"До :class:`~http.client.HTTPSConnection` додано підтримку перевірки " +"сертифікатів і віртуальних хостів HTTPS." + +msgid "" +"The :meth:`~http.client.HTTPConnection.request` method on connection objects " +"allowed an optional *body* argument so that a :term:`file object` could be " +"used to supply the content of the request. Conveniently, the *body* " +"argument now also accepts an :term:`iterable` object so long as it includes " +"an explicit ``Content-Length`` header. This extended interface is much more " +"flexible than before." +msgstr "" +"Метод :meth:`~http.client.HTTPConnection.request` для об’єктів підключення " +"допускав необов’язковий аргумент *body*, щоб :term:`file object` міг " +"використовуватися для надання вмісту запиту. Зручно те, що аргумент *body* " +"тепер також приймає об’єкт :term:`iterable`, якщо він містить явний " +"заголовок ``Content-Length``. Цей розширений інтерфейс набагато гнучкіший, " +"ніж раніше." + +msgid "" +"To establish an HTTPS connection through a proxy server, there is a new :" +"meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and " +"port for HTTP Connect tunneling." +msgstr "" +"Для встановлення з’єднання HTTPS через проксі-сервер існує новий метод :meth:" +"`~http.client.HTTPConnection.set_tunnel`, який встановлює хост і порт для " +"тунелювання HTTP-з’єднання." + +msgid "" +"To match the behavior of :mod:`http.server`, the HTTP client library now " +"also encodes headers with ISO-8859-1 (Latin-1) encoding. It was already " +"doing that for incoming headers, so now the behavior is consistent for both " +"incoming and outgoing traffic. (See work by Armin Ronacher in :issue:" +"`10980`.)" +msgstr "" +"Щоб відповідати поведінці :mod:`http.server`, клієнтська бібліотека HTTP " +"тепер також кодує заголовки з кодуванням ISO-8859-1 (Latin-1). Він уже робив " +"це для вхідних заголовків, тому тепер поведінка узгоджена як для вхідного, " +"так і для вихідного трафіку. (Див. роботу Арміна Ронашера в :issue:`10980`.)" + +msgid "unittest" +msgstr "unittest" + +msgid "" +"The unittest module has a number of improvements supporting test discovery " +"for packages, easier experimentation at the interactive prompt, new testcase " +"methods, improved diagnostic messages for test failures, and better method " +"names." +msgstr "" +"Модуль unittest має ряд удосконалень, які підтримують виявлення тестів для " +"пакетів, спрощені експерименти в інтерактивному запиті, нові методи " +"тестування, покращені діагностичні повідомлення про помилки тестів і кращі " +"назви методів." + +msgid "" +"The command-line call ``python -m unittest`` can now accept file paths " +"instead of module names for running specific tests (:issue:`10620`). The " +"new test discovery can find tests within packages, locating any test " +"importable from the top-level directory. The top-level directory can be " +"specified with the ``-t`` option, a pattern for matching files with ``-p``, " +"and a directory to start discovery with ``-s``:" +msgstr "" + +msgid "(Contributed by Michael Foord.)" +msgstr "(Надав Майкл Форд.)" + +msgid "" +"Experimentation at the interactive prompt is now easier because the :class:" +"`unittest.case.TestCase` class can now be instantiated without arguments:" +msgstr "" +"Експериментувати в інтерактивній підказці тепер легше, оскільки екземпляр " +"класу :class:`unittest.case.TestCase` тепер можна створювати без аргументів:" + +msgid "" +"The :mod:`unittest` module has two new methods, :meth:`~unittest.TestCase." +"assertWarns` and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that " +"a given warning type is triggered by the code under test::" +msgstr "" +"Модуль :mod:`unittest` має два нові методи, :meth:`~unittest.TestCase." +"assertWarns` і :meth:`~unittest.TestCase.assertWarnsRegex` для перевірки " +"того, що певний тип попередження викликано кодом, що тестується ::" + +msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)" +msgstr "(Надав Антуан Пітру, :issue:`9754`.)" + +msgid "" +"Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to " +"compare two iterables to determine if their element counts are equal " +"(whether the same elements are present with the same number of occurrences " +"regardless of order)::" +msgstr "" +"Інший новий метод, :meth:`~unittest.TestCase.assertCountEqual`, " +"використовується для порівняння двох ітерацій, щоб визначити, чи є їх " +"кількість елементів рівною (чи однакові елементи присутні з однаковою " +"кількістю входжень незалежно від порядку):" + +msgid "" +"A principal feature of the unittest module is an effort to produce " +"meaningful diagnostics when a test fails. When possible, the failure is " +"recorded along with a diff of the output. This is especially helpful for " +"analyzing log files of failed test runs. However, since diffs can sometime " +"be voluminous, there is a new :attr:`~unittest.TestCase.maxDiff` attribute " +"that sets maximum length of diffs displayed." +msgstr "" +"Основною особливістю модуля unittest є спроба створити значущу діагностику, " +"коли тест не вдається. Якщо це можливо, помилка записується разом із " +"різницею виходу. Це особливо корисно для аналізу файлів журналу невдалих " +"тестів. Однак, оскільки відмінності іноді можуть бути об’ємними, існує новий " +"атрибут :attr:`~unittest.TestCase.maxDiff`, який встановлює максимальну " +"довжину відображених відмінностей." + +msgid "" +"In addition, the method names in the module have undergone a number of clean-" +"ups." +msgstr "Крім того, назви методів у модулі зазнали ряду очищень." + +msgid "" +"For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :" +"meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the " +"test uses :func:`re.search`, not :func:`re.match`. Other methods using " +"regular expressions are now named using short form \"Regex\" in preference " +"to \"Regexp\" -- this matches the names used in other unittest " +"implementations, matches Python's old name for the :mod:`re` module, and it " +"has unambiguous camel-casing." +msgstr "" +"Наприклад, :meth:`~unittest.TestCase.assertRegex` є новою назвою для :meth:" +"`~unittest.TestCase.assertRegexpMatches`, яке було неправильно названо, " +"оскільки тест використовує :func:`re.search`, а не :func:`re.match`. Інші " +"методи, які використовують регулярні вирази, тепер називаються за допомогою " +"короткої форми \"Regex\" замість \"Regexp\" — це відповідає назвам, які " +"використовуються в інших реалізаціях unittest, відповідає старій назві " +"Python для модуля :mod:`re` і має однозначне значення верблюжий кожух." + +msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)" +msgstr "(Надано Реймондом Геттінгером і реалізовано Еціо Мелотті.)" + +msgid "" +"To improve consistency, some long-standing method aliases are being " +"deprecated in favor of the preferred names:" +msgstr "" +"Щоб покращити узгодженість, деякі давні псевдоніми методів застаріли на " +"користь бажаних імен:" + +msgid "Old Name" +msgstr "Стара назва" + +msgid "Preferred Name" +msgstr "Бажане ім'я" + +msgid ":meth:`assert_`" +msgstr ":meth:`assert_`" + +msgid ":meth:`.assertTrue`" +msgstr ":meth:`.assertTrue`" + +msgid ":meth:`assertEquals`" +msgstr ":meth:`assertEquals`" + +msgid ":meth:`.assertEqual`" +msgstr ":meth:`.assertEqual`" + +msgid ":meth:`assertNotEquals`" +msgstr ":meth:`assertNotEquals`" + +msgid ":meth:`.assertNotEqual`" +msgstr ":meth:`.assertNotEqual`" + +msgid ":meth:`assertAlmostEquals`" +msgstr ":meth:`assertAlmostEquals`" + +msgid ":meth:`.assertAlmostEqual`" +msgstr ":meth:`.assertAlmostEqual`" + +msgid ":meth:`assertNotAlmostEquals`" +msgstr ":meth:`assertNotAlmostEquals`" + +msgid ":meth:`.assertNotAlmostEqual`" +msgstr ":meth:`.assertNotAlmostEqual`" + +msgid "" +"Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are " +"expected to be removed in Python 3.3. Also see the :ref:`deprecated-" +"aliases` section in the :mod:`unittest` documentation." +msgstr "" +"Так само очікується, що методи ``TestCase.fail*``, застарілі в Python 3.1, " +"будуть видалені в Python 3.3. Також перегляньте розділ :ref:`deprecated-" +"aliases` в документації :mod:`unittest`." + +msgid "(Contributed by Ezio Melotti; :issue:`9424`.)" +msgstr "(Надав Еціо Мелотті; :issue:`9424`.)" + +msgid "" +"The :meth:`~unittest.TestCase.assertDictContainsSubset` method was " +"deprecated because it was misimplemented with the arguments in the wrong " +"order. This created hard-to-debug optical illusions where tests like " +"``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail." +msgstr "" +"Метод :meth:`~unittest.TestCase.assertDictContainsSubset` визнано " +"застарілим, оскільки його неправильно реалізовано з аргументами в " +"неправильному порядку. Це створювало оптичні ілюзії, які важко налагодити, " +"коли такі тести, як ``TestCase().assertDictContainsSubset({'a':1, 'b':2}, " +"{'a':1})`` не давали результатів." + +msgid "random" +msgstr "випадковий" + +msgid "" +"The integer methods in the :mod:`random` module now do a better job of " +"producing uniform distributions. Previously, they computed selections with " +"``int(n*random())`` which had a slight bias whenever *n* was not a power of " +"two. Now, multiple selections are made from a range up to the next power of " +"two and a selection is kept only when it falls within the range ``0 <= x < " +"n``. The functions and methods affected are :func:`~random.randrange`, :" +"func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and :" +"func:`~random.sample`." +msgstr "" +"Цілочисельні методи в модулі :mod:`random` тепер краще справляються зі " +"створенням рівномірних розподілів. Раніше вони обчислювали вибірку за " +"допомогою ``int(n*random())``, яка мала невелике зміщення щоразу, коли *n* " +"не було ступенем двійки. Тепер вибір робиться з діапазону до наступного " +"ступеня двійки, і вибір зберігається лише тоді, коли він потрапляє в " +"діапазон ``0 <= x < n``. Зазначені функції та методи: :func:`~random." +"randrange`, :func:`~random.randint`, :func:`~random.choice`, :func:`~random." +"shuffle` і :func:`~випадкова.вибірка`." + +msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)" +msgstr "(Надав Реймонд Геттінгер; :issue:`9025`.)" + +msgid "poplib" +msgstr "попліб" + +msgid "" +":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is " +"a :class:`ssl.SSLContext` object allowing bundling SSL configuration " +"options, certificates and private keys into a single (potentially long-" +"lived) structure." +msgstr "" +"Клас :class:`~poplib.POP3_SSL` тепер приймає параметр *context*, який є " +"об’єктом :class:`ssl.SSLContext`, який дозволяє об’єднувати параметри " +"конфігурації SSL, сертифікати та приватні ключі в єдину (потенційно " +"довговічну) структуру ." + +msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)" +msgstr "(Надав Джампаоло Родола; :issue:`8807`.)" + +msgid "asyncore" +msgstr "несиндром" + +msgid "" +":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher." +"handle_accepted()` method returning a ``(sock, addr)`` pair which is called " +"when a connection has actually been established with a new remote endpoint. " +"This is supposed to be used as a replacement for old :meth:`~asyncore." +"dispatcher.handle_accept()` and avoids the user to call :meth:`~asyncore." +"dispatcher.accept()` directly." +msgstr "" + +msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)" +msgstr "(Надав Джампаоло Родола; :issue:`6706`.)" + +msgid "tempfile" +msgstr "тимчасовий файл" + +msgid "" +"The :mod:`tempfile` module has a new context manager, :class:`~tempfile." +"TemporaryDirectory` which provides easy deterministic cleanup of temporary " +"directories::" +msgstr "" +"Модуль :mod:`tempfile` має новий контекстний менеджер, :class:`~tempfile." +"TemporaryDirectory`, який забезпечує легке детерміноване очищення тимчасових " +"каталогів:" + +msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)" +msgstr "(Надано Нілом Шеменауером і Ніком Когланом; :issue:`5178`.)" + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"The :mod:`inspect` module has a new function :func:`~inspect." +"getgeneratorstate` to easily identify the current state of a generator-" +"iterator::" +msgstr "" +"Модуль :mod:`inspect` має нову функцію :func:`~inspect.getgeneratorstate` " +"для легкої ідентифікації поточного стану генератора-ітератора::" + +msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)" +msgstr "(Надано Родольфо Екхардтом і Ніком Когланом, :issue:`10220`.)" + +msgid "" +"To support lookups without the possibility of activating a dynamic " +"attribute, the :mod:`inspect` module has a new function, :func:`~inspect." +"getattr_static`. Unlike :func:`hasattr`, this is a true read-only search, " +"guaranteed not to change state while it is searching::" +msgstr "" +"Для підтримки пошуку без можливості активації динамічного атрибута модуль :" +"mod:`inspect` має нову функцію :func:`~inspect.getattr_static`. На відміну " +"від :func:`hasattr`, це справжній пошук лише для читання, який гарантовано " +"не змінює стан під час пошуку::" + +msgid "pydoc" +msgstr "pydoc" + +msgid "" +"The :mod:`pydoc` module now provides a much-improved web server interface, " +"as well as a new command-line option ``-b`` to automatically open a browser " +"window to display that server:" +msgstr "" +"Модуль :mod:`pydoc` тепер надає значно покращений інтерфейс веб-сервера, а " +"також новий параметр командного рядка ``-b`` для автоматичного відкриття " +"вікна браузера для відображення цього сервера:" + +msgid "(Contributed by Ron Adam; :issue:`2001`.)" +msgstr "(Надав Рон Адам; :issue:`2001`.)" + +msgid "dis" +msgstr "дис" + +msgid "" +"The :mod:`dis` module gained two new functions for inspecting code, :func:" +"`~dis.code_info` and :func:`~dis.show_code`. Both provide detailed code " +"object information for the supplied function, method, source code string or " +"code object. The former returns a string and the latter prints it::" +msgstr "" +"Модуль :mod:`dis` отримав дві нові функції для перевірки коду, :func:`~dis." +"code_info` і :func:`~dis.show_code`. Обидва надають детальну інформацію про " +"об’єкт коду для наданої функції, методу, рядка вихідного коду або об’єкта " +"коду. Перший повертає рядок, а другий друкує його::" + +msgid "" +"In addition, the :func:`~dis.dis` function now accepts string arguments so " +"that the common idiom ``dis(compile(s, '', 'eval'))`` can be shortened to " +"``dis(s)``::" +msgstr "" +"Крім того, функція :func:`~dis.dis` тепер приймає рядкові аргументи, щоб " +"загальну ідіому ``dis(compile(s, '', 'eval'))`` можна було скоротити до " +"``dis(s) )``::" + +msgid "" +"Taken together, these improvements make it easier to explore how CPython is " +"implemented and to see for yourself what the language syntax does under-the-" +"hood." +msgstr "" +"У сукупності ці вдосконалення полегшують вивчення того, як реалізовано " +"CPython, і на власні очі побачити, що робить синтаксис мови під капотом." + +msgid "(Contributed by Nick Coghlan in :issue:`9147`.)" +msgstr "(Надав Нік Коглан у :issue:`9147`.)" + +msgid "dbm" +msgstr "dbm" + +msgid "" +"All database modules now support the :meth:`get` and :meth:`setdefault` " +"methods." +msgstr "" +"Усі модулі бази даних тепер підтримують методи :meth:`get` і :meth:" +"`setdefault`." + +msgid "(Suggested by Ray Allen in :issue:`9523`.)" +msgstr "(Запропоновано Реєм Алленом у :issue:`9523`.)" + +msgid "ctypes" +msgstr "ctypes" + +msgid "" +"A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` " +"datatype." +msgstr "" +"Новий тип :class:`ctypes.c_ssize_t` представляє тип даних C :c:type:" +"`ssize_t`." + +msgid "site" +msgstr "сайт" + +msgid "" +"The :mod:`site` module has three new functions useful for reporting on the " +"details of a given Python installation." +msgstr "" +"Модуль :mod:`site` має три нові функції, корисні для звітування про деталі " +"певної інсталяції Python." + +msgid "" +":func:`~site.getsitepackages` lists all global site-packages directories." +msgstr "" +":func:`~site.getsitepackages` містить список усіх глобальних каталогів " +"пакетів сайту." + +msgid "" +":func:`~site.getuserbase` reports on the user's base directory where data " +"can be stored." +msgstr "" +":func:`~site.getuserbase` повідомляє про базовий каталог користувача, де " +"можуть зберігатися дані." + +msgid "" +":func:`~site.getusersitepackages` reveals the user-specific site-packages " +"directory path." +msgstr "" +":func:`~site.getusersitepackages` показує шлях до каталогу пакетів сайтів " +"для користувача." + +msgid "" +"Conveniently, some of site's functionality is accessible directly from the " +"command-line:" +msgstr "" +"Зручно те, що деякі функції сайту доступні безпосередньо з командного рядка:" + +msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)" +msgstr "(Надав Тарек Зіаде в :issue:`6693`.)" + +msgid "sysconfig" +msgstr "sysconfig" + +msgid "" +"The new :mod:`sysconfig` module makes it straightforward to discover " +"installation paths and configuration variables that vary across platforms " +"and installations." +msgstr "" +"Новий модуль :mod:`sysconfig` дозволяє легко знаходити шляхи встановлення та " +"змінні конфігурації, які різняться залежно від платформи та встановлення." + +msgid "" +"The module offers access simple access functions for platform and version " +"information:" +msgstr "" +"Модуль пропонує прості функції доступу до інформації про платформу та версію:" + +msgid "" +":func:`~sysconfig.get_platform` returning values like *linux-i586* or " +"*macosx-10.6-ppc*." +msgstr "" +":func:`~sysconfig.get_platform` повертає такі значення, як *linux-i586* або " +"*macosx-10.6-ppc*." + +msgid "" +":func:`~sysconfig.get_python_version` returns a Python version string such " +"as \"3.2\"." +msgstr "" +":func:`~sysconfig.get_python_version` повертає рядок версії Python, " +"наприклад \"3.2\"." + +msgid "" +"It also provides access to the paths and variables corresponding to one of " +"seven named schemes used by :mod:`distutils`. Those include *posix_prefix*, " +"*posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, *os2_home*:" +msgstr "" +"Він також надає доступ до шляхів і змінних, що відповідають одній із семи " +"названих схем, які використовує :mod:`distutils`. До них належать " +"*posix_prefix*, *posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, " +"*os2_home*:" + +msgid "" +":func:`~sysconfig.get_paths` makes a dictionary containing installation " +"paths for the current installation scheme." +msgstr "" +":func:`~sysconfig.get_paths` створює словник, що містить шляхи встановлення " +"для поточної схеми встановлення." + +msgid "" +":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific " +"variables." +msgstr "" +":func:`~sysconfig.get_config_vars` повертає словник специфічних змінних " +"платформи." + +msgid "There is also a convenient command-line interface:" +msgstr "Також є зручний інтерфейс командного рядка:" + +msgid "(Moved out of Distutils by Tarek Ziadé.)" +msgstr "(Виведено з Distutils Тареком Зіаде.)" + +msgid "pdb" +msgstr "pdb" + +msgid "" +"The :mod:`pdb` debugger module gained a number of usability improvements:" +msgstr "" +"Модуль налагоджувача :mod:`pdb` отримав низку покращень зручності " +"використання:" + +msgid "" +":file:`pdb.py` now has a ``-c`` option that executes commands as given in a :" +"file:`.pdbrc` script file." +msgstr "" +":file:`pdb.py` тепер має опцію ``-c``, яка виконує команди, подані у файлі " +"сценарію :file:`.pdbrc`." + +msgid "" +"A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands " +"that continue debugging." +msgstr "" +"Файл сценарію :file:`.pdbrc` може містити команди ``continue`` і ``next``, " +"які продовжують налагодження." + +msgid "The :class:`Pdb` class constructor now accepts a *nosigint* argument." +msgstr "Конструктор класу :class:`Pdb` тепер приймає аргумент *nosigint*." + +msgid "" +"New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing " +"source code." +msgstr "" +"Нові команди: ``l(list)``, ``ll(long list)`` і ``source`` для переліку " +"вихідного коду." + +msgid "" +"New commands: ``display`` and ``undisplay`` for showing or hiding the value " +"of an expression if it has changed." +msgstr "" +"Нові команди: ``display`` і ``undisplay`` для показу або приховання значення " +"виразу, якщо воно змінилося." + +msgid "" +"New command: ``interact`` for starting an interactive interpreter containing " +"the global and local names found in the current scope." +msgstr "" +"Нова команда: ``interact`` для запуску інтерактивного інтерпретатора, що " +"містить глобальні та локальні імена, знайдені в поточній області." + +msgid "Breakpoints can be cleared by breakpoint number." +msgstr "Точки зупину можна очистити за номером точки зупину." + +msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)" +msgstr "(Надано Георгом Брандлом, Антоніо Куні та Іллею Сендлером.)" + +msgid "configparser" +msgstr "аналізатор конфігурації" + +msgid "" +"The :mod:`configparser` module was modified to improve usability and " +"predictability of the default parser and its supported INI syntax. The old :" +"class:`ConfigParser` class was removed in favor of :class:`SafeConfigParser` " +"which has in turn been renamed to :class:`~configparser.ConfigParser`. " +"Support for inline comments is now turned off by default and section or " +"option duplicates are not allowed in a single configuration source." +msgstr "" +"Модуль :mod:`configparser` було змінено, щоб покращити зручність і " +"передбачуваність синтаксичного аналізатора за замовчуванням і його " +"підтримуваного синтаксису INI. Старий клас :class:`ConfigParser` було " +"видалено на користь :class:`SafeConfigParser`, який, у свою чергу, було " +"перейменовано на :class:`~configparser.ConfigParser`. Підтримку вбудованих " +"коментарів тепер вимкнено за замовчуванням, а дублікати розділів або " +"параметрів не допускаються в одному джерелі конфігурації." + +msgid "Config parsers gained a new API based on the mapping protocol::" +msgstr "" +"Конфігураційні аналізатори отримали новий API на основі протоколу " +"відображення:" + +msgid "" +"The new API is implemented on top of the classical API, so custom parser " +"subclasses should be able to use it without modifications." +msgstr "" +"Новий API реалізовано поверх класичного API, тому користувацькі підкласи " +"парсерів повинні мати можливість використовувати його без змін." + +msgid "" +"The INI file structure accepted by config parsers can now be customized. " +"Users can specify alternative option/value delimiters and comment prefixes, " +"change the name of the *DEFAULT* section or switch the interpolation syntax." +msgstr "" +"Тепер можна налаштувати структуру INI-файлу, прийняту аналізаторами " +"конфігурації. Користувачі можуть вказати альтернативні роздільники " +"параметрів/значень і префікси коментарів, змінити назву розділу *DEFAULT* " +"або змінити синтаксис інтерполяції." + +msgid "" +"There is support for pluggable interpolation including an additional " +"interpolation handler :class:`~configparser.ExtendedInterpolation`::" +msgstr "" +"Існує підтримка вбудованої інтерполяції, включаючи додатковий обробник " +"інтерполяції :class:`~configparser.ExtendedInterpolation`::" + +msgid "" +"A number of smaller features were also introduced, like support for " +"specifying encoding in read operations, specifying fallback values for get-" +"functions, or reading directly from dictionaries and strings." +msgstr "" +"Також було введено низку менших функцій, як-от підтримка визначення " +"кодування в операціях читання, визначення резервних значень для функцій get " +"або читання безпосередньо зі словників і рядків." + +msgid "(All changes contributed by Łukasz Langa.)" +msgstr "(Усі зміни внесено Łukasz Langa.)" + +msgid "urllib.parse" +msgstr "urllib.parse" + +msgid "" +"A number of usability improvements were made for the :mod:`urllib.parse` " +"module." +msgstr "" +"Для модуля :mod:`urllib.parse` було зроблено ряд покращень зручності " +"використання." + +msgid "" +"The :func:`~urllib.parse.urlparse` function now supports `IPv6 `_ addresses as described in :rfc:`2732`:" +msgstr "" +"Функція :func:`~urllib.parse.urlparse` тепер підтримує адреси `IPv6 `_, як описано в :rfc:`2732`:" + +msgid "" +"The :func:`~urllib.parse.urldefrag` function now returns a :term:`named " +"tuple`::" +msgstr "" +"Функція :func:`~urllib.parse.urldefrag` тепер повертає :term:`named tuple`::" + +msgid "" +"And, the :func:`~urllib.parse.urlencode` function is now much more flexible, " +"accepting either a string or bytes type for the *query* argument. If it is " +"a string, then the *safe*, *encoding*, and *error* parameters are sent to :" +"func:`~urllib.parse.quote_plus` for encoding::" +msgstr "" +"Крім того, функція :func:`~urllib.parse.urlencode` тепер набагато гнучкіша, " +"вона приймає рядковий або байтовий тип для аргументу *query*. Якщо це рядок, " +"параметри *safe*, *encoding* і *error* надсилаються до :func:`~urllib.parse." +"quote_plus` для кодування::" + +msgid "" +"As detailed in :ref:`parsing-ascii-encoded-bytes`, all the :mod:`urllib." +"parse` functions now accept ASCII-encoded byte strings as input, so long as " +"they are not mixed with regular strings. If ASCII-encoded byte strings are " +"given as parameters, the return types will also be an ASCII-encoded byte " +"strings:" +msgstr "" +"Як описано в :ref:`parsing-ascii-encoded-bytes`, усі функції :mod:`urllib." +"parse` тепер приймають рядки байтів у кодуванні ASCII як вхідні дані, якщо " +"вони не змішуються зі звичайними рядками. Якщо рядки байтів у кодуванні " +"ASCII подано як параметри, типи повернення також будуть рядками байтів у " +"кодуванні ASCII:" + +msgid "" +"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, :" +"issue:`5468`, and :issue:`9873`.)" +msgstr "" +"(Робота Ніка Коглана, Дена Мана та Сентіла Кумарана в :issue:`2987`, :issue:" +"`5468` та :issue:`9873`.)" + +msgid "mailbox" +msgstr "поштова скринька" + +msgid "" +"Thanks to a concerted effort by R. David Murray, the :mod:`mailbox` module " +"has been fixed for Python 3.2. The challenge was that mailbox had been " +"originally designed with a text interface, but email messages are best " +"represented with :class:`bytes` because various parts of a message may have " +"different encodings." +msgstr "" +"Завдяки спільним зусиллям Р. Девіда Мюррея модуль :mod:`mailbox` було " +"виправлено для Python 3.2. Проблема полягала в тому, що поштова скринька " +"спочатку була розроблена з текстовим інтерфейсом, але повідомлення " +"електронної пошти найкраще представлено за допомогою :class:`bytes`, " +"оскільки різні частини повідомлення можуть мати різне кодування." + +msgid "" +"The solution harnessed the :mod:`email` package's binary support for parsing " +"arbitrary email messages. In addition, the solution required a number of " +"API changes." +msgstr "" +"Рішення використовувало бінарну підтримку пакета :mod:`email` для аналізу " +"довільних повідомлень електронної пошти. Крім того, рішення вимагало низки " +"змін API." + +msgid "" +"As expected, the :meth:`~mailbox.Mailbox.add` method for :class:`mailbox." +"Mailbox` objects now accepts binary input." +msgstr "" +"Як і очікувалося, метод :meth:`~mailbox.Mailbox.add` для об’єктів :class:" +"`mailbox.Mailbox` тепер приймає двійкове введення." + +msgid "" +":class:`~io.StringIO` and text file input are deprecated. Also, string " +"input will fail early if non-ASCII characters are used. Previously it would " +"fail when the email was processed in a later step." +msgstr "" +":class:`~io.StringIO` та введення текстового файлу застаріли. Крім того, " +"введення рядка буде невдалим раніше, якщо використовуються символи, відмінні " +"від ASCII. Раніше це не вдавалося, коли електронний лист оброблявся на " +"наступному кроці." + +msgid "" +"There is also support for binary output. The :meth:`~mailbox.Mailbox." +"get_file` method now returns a file in the binary mode (where it used to " +"incorrectly set the file to text-mode). There is also a new :meth:`~mailbox." +"Mailbox.get_bytes` method that returns a :class:`bytes` representation of a " +"message corresponding to a given *key*." +msgstr "" +"Також є підтримка двійкового виведення. Метод :meth:`~mailbox.Mailbox." +"get_file` тепер повертає файл у бінарному режимі (де раніше він неправильно " +"встановлював файл у текстовому режимі). Існує також новий метод :meth:" +"`~mailbox.Mailbox.get_bytes`, який повертає :class:`bytes` представлення " +"повідомлення, що відповідає даному *ключу*." + +msgid "" +"It is still possible to get non-binary output using the old API's :meth:" +"`~mailbox.Mailbox.get_string` method, but that approach is not very useful. " +"Instead, it is best to extract messages from a :class:`~mailbox.Message` " +"object or to load them from binary input." +msgstr "" +"Все ще можна отримати небінарний вихід за допомогою методу :meth:`~mailbox." +"Mailbox.get_string` старого API, але цей підхід не дуже корисний. Натомість " +"найкраще видобувати повідомлення з об’єкта :class:`~mailbox.Message` або " +"завантажувати їх із двійкового введення." + +msgid "" +"(Contributed by R. David Murray, with efforts from Steffen Daode Nurpmeso " +"and an initial patch by Victor Stinner in :issue:`9124`.)" +msgstr "" +"(Надано Р. Девідом Мюрреєм, зусиллями Штеффена Даоде Нурпмезо та початкового " +"патча Віктора Стіннера в :issue:`9124`.)" + +msgid "turtledemo" +msgstr "turtledemo" + +msgid "" +"The demonstration code for the :mod:`turtle` module was moved from the " +"*Demo* directory to main library. It includes over a dozen sample scripts " +"with lively displays. Being on :attr:`sys.path`, it can now be run directly " +"from the command-line:" +msgstr "" +"Демонстраційний код для модуля :mod:`turtle` переміщено з каталогу *Demo* до " +"основної бібліотеки. Він містить понад дюжину зразків сценаріїв із яскравими " +"дисплеями. Перебуваючи на :attr:`sys.path`, тепер його можна запускати " +"безпосередньо з командного рядка:" + +msgid "" +"(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)" +msgstr "" +"(Переміщено з каталогу Demo Олександром Бєлопольським у :issue:`10199`.)" + +msgid "Multi-threading" +msgstr "Багатопотоковість" + +msgid "" +"The mechanism for serializing execution of concurrently running Python " +"threads (generally known as the :term:`GIL` or Global Interpreter Lock) has " +"been rewritten. Among the objectives were more predictable switching " +"intervals and reduced overhead due to lock contention and the number of " +"ensuing system calls. The notion of a \"check interval\" to allow thread " +"switches has been abandoned and replaced by an absolute duration expressed " +"in seconds. This parameter is tunable through :func:`sys." +"setswitchinterval()`. It currently defaults to 5 milliseconds." +msgstr "" +"Механізм серіалізації виконання одночасно запущених потоків Python " +"(загальновідомий як :term:`GIL` або глобальне блокування інтерпретатора) " +"було переписано. Серед цілей були більш передбачувані інтервали перемикання " +"та зменшення накладних витрат через конфлікт блокувань і кількість наступних " +"системних викликів. Поняття \"інтервал перевірки\", щоб дозволити " +"перемикання потоків, було залишено та замінено абсолютною тривалістю, " +"вираженою в секундах. Цей параметр можна налаштувати через :func:`sys." +"setswitchinterval()`. Зараз за замовчуванням 5 мілісекунд." + +msgid "" +"Additional details about the implementation can be read from a `python-dev " +"mailing-list message `_ (however, \"priority requests\" as exposed in this " +"message have not been kept for inclusion)." +msgstr "" +"Додаткові відомості про реалізацію можна прочитати в `повідомленні списку " +"розсилки python-dev `_ (однак \"пріоритетні запити\", представлені в цьому " +"повідомленні, не були збережені для включення)." + +msgid "(Contributed by Antoine Pitrou.)" +msgstr "(Надав Антуан Пітру.)" + +msgid "" +"Regular and recursive locks now accept an optional *timeout* argument to " +"their :meth:`~threading.Lock.acquire` method. (Contributed by Antoine " +"Pitrou; :issue:`7316`.)" +msgstr "" +"Звичайні та рекурсивні блокування тепер приймають додатковий аргумент " +"*timeout* для свого методу :meth:`~threading.Lock.acquire`. (Надав Антуан " +"Пітру; :issue:`7316`.)" + +msgid "" +"Similarly, :meth:`threading.Semaphore.acquire` also gained a *timeout* " +"argument. (Contributed by Torsten Landschoff; :issue:`850728`.)" +msgstr "" +"Так само :meth:`threading.Semaphore.acquire` також отримав аргумент " +"*timeout*. (Надав Торстен Ландшофф; :issue:`850728`.)" + +msgid "" +"Regular and recursive lock acquisitions can now be interrupted by signals on " +"platforms using Pthreads. This means that Python programs that deadlock " +"while acquiring locks can be successfully killed by repeatedly sending " +"SIGINT to the process (by pressing :kbd:`Ctrl+C` in most shells). " +"(Contributed by Reid Kleckner; :issue:`8844`.)" +msgstr "" +"Регулярне та рекурсивне отримання блокувань тепер може бути перервано " +"сигналами на платформах, які використовують Pthreads. Це означає, що " +"програми Python, які блокуються під час отримання блокувань, можна успішно " +"припинити, багаторазово надсилаючи SIGINT процесу (натиснувши :kbd:`Ctrl+C` " +"у більшості оболонок). (Надав Рейд Клекнер; :issue:`8844`.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "A number of small performance enhancements have been added:" +msgstr "Було додано ряд невеликих покращень продуктивності:" + +msgid "" +"Python's peephole optimizer now recognizes patterns such ``x in {1, 2, 3}`` " +"as being a test for membership in a set of constants. The optimizer recasts " +"the :class:`set` as a :class:`frozenset` and stores the pre-built constant." +msgstr "" +"Оптимізатор peephole Python тепер розпізнає шаблони, такі як ``x in {1, 2}`` " +"як тест на приналежність до набору констант. Оптимізатор перетворює :class:" +"`set` як :class:`frozenset` і зберігає попередньо зібрану константу." + +msgid "" +"Now that the speed penalty is gone, it is practical to start writing " +"membership tests using set-notation. This style is both semantically clear " +"and operationally fast::" +msgstr "" +"Тепер, коли покарання за швидкістю зникло, можна почати писати тести на " +"приналежність за допомогою нотації набору. Цей стиль і семантично " +"зрозумілий, і операційно швидкий:" + +msgid "" +"(Patch and additional tests contributed by Dave Malcolm; :issue:`6690`)." +msgstr "(Патч і додаткові тести надав Дейв Малкольм; :issue:`6690`)." + +msgid "" +"Serializing and unserializing data using the :mod:`pickle` module is now " +"several times faster." +msgstr "" +"Серіалізація та десеріалізація даних за допомогою модуля :mod:`pickle` тепер " +"у кілька разів швидша." + +msgid "" +"(Contributed by Alexandre Vassalotti, Antoine Pitrou and the Unladen Swallow " +"team in :issue:`9410` and :issue:`3873`.)" +msgstr "" +"(Надано Александром Вассалотті, Антуаном Пітру та командою Unladen Swallow " +"у :issue:`9410` та :issue:`3873`.)" + +msgid "" +"The `Timsort algorithm `_ used in :" +"meth:`list.sort` and :func:`sorted` now runs faster and uses less memory " +"when called with a :term:`key function`. Previously, every element of a " +"list was wrapped with a temporary object that remembered the key value " +"associated with each element. Now, two arrays of keys and values are sorted " +"in parallel. This saves the memory consumed by the sort wrappers, and it " +"saves time lost to delegating comparisons." +msgstr "" +"`Алгоритм Timsort `_, який " +"використовується в :meth:`list.sort` і :func:`sorted`, тепер працює швидше " +"та використовує менше пам’яті під час виклику з :term:`key function`. Раніше " +"кожен елемент списку обгортався тимчасовим об’єктом, який запам’ятовував " +"значення ключа, пов’язане з кожним елементом. Тепер два масиви ключів і " +"значень сортуються паралельно. Це економить пам’ять, яку споживають обгортки " +"сортування, і економить час, втрачений на делегування порівнянь." + +msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)" +msgstr "(Патч Даніеля Штуцбаха в :issue:`9915`.)" + +msgid "" +"JSON decoding performance is improved and memory consumption is reduced " +"whenever the same string is repeated for multiple keys. Also, JSON encoding " +"now uses the C speedups when the ``sort_keys`` argument is true." +msgstr "" +"Продуктивність декодування JSON покращується, а споживання пам’яті " +"зменшується щоразу, коли той самий рядок повторюється для кількох ключів. " +"Крім того, кодування JSON тепер використовує прискорення C, якщо аргумент " +"``sort_keys`` має значення true." + +msgid "" +"(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and " +"Antoine Pitrou in :issue:`10314`.)" +msgstr "" +"(Надано Антуаном Пітру в :issue:`7451` та Раймондом Геттінгером і Антуаном " +"Пітру в :issue:`10314`.)" + +msgid "" +"Recursive locks (created with the :func:`threading.RLock` API) now benefit " +"from a C implementation which makes them as fast as regular locks, and " +"between 10x and 15x faster than their previous pure Python implementation." +msgstr "" +"Рекурсивні блокування (створені за допомогою API :func:`threading.RLock`) " +"тепер мають переваги від реалізації C, яка робить їх такими ж швидкими, як і " +"звичайні блокування, і в 10-15 разів швидшими, ніж їхня попередня реалізація " +"на чистому Python." + +msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)" +msgstr "(Надав Антуан Пітру; :issue:`3001`.)" + +msgid "" +"The fast-search algorithm in stringlib is now used by the :meth:`split`, :" +"meth:`rsplit`, :meth:`splitlines` and :meth:`replace` methods on :class:" +"`bytes`, :class:`bytearray` and :class:`str` objects. Likewise, the " +"algorithm is also used by :meth:`rfind`, :meth:`rindex`, :meth:`rsplit` and :" +"meth:`rpartition`." +msgstr "" +"Алгоритм швидкого пошуку в stringlib тепер використовується методами :meth:" +"`split`, :meth:`rsplit`, :meth:`splitlines` і :meth:`replace` для :class:" +"`bytes`, об’єкти :class:`bytearray` і :class:`str`. Подібним чином алгоритм " +"також використовується :meth:`rfind`, :meth:`rindex`, :meth:`rsplit` і :meth:" +"`rpartition`." + +msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)" +msgstr "(Патч від Florent Xicluna в :issue:`7622` і :issue:`7462`.)" + +msgid "" +"Integer to string conversions now work two \"digits\" at a time, reducing " +"the number of division and modulo operations." +msgstr "" +"Перетворення цілого числа в рядок тепер працюють з двома \"цифрами\" " +"одночасно, зменшуючи кількість операцій ділення та модуля." + +msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)" +msgstr "(:issue:`6713`, Гавейн Болтон, Марк Дікінсон і Віктор Стіннер.)" + +msgid "" +"There were several other minor optimizations. Set differencing now runs " +"faster when one operand is much larger than the other (patch by Andress " +"Bennetts in :issue:`8685`). The :meth:`array.repeat` method has a faster " +"implementation (:issue:`1569291` by Alexander Belopolsky). The :class:" +"`BaseHTTPRequestHandler` has more efficient buffering (:issue:`3709` by " +"Andrew Schaaf). The :func:`operator.attrgetter` function has been sped-up (:" +"issue:`10160` by Christos Georgiou). And :class:`ConfigParser` loads multi-" +"line arguments a bit faster (:issue:`7113` by Łukasz Langa)." +msgstr "" +"Було ще кілька незначних оптимізацій. Розрізнення наборів тепер працює " +"швидше, коли один операнд значно більший за інший (патч від Андресса " +"Беннетса в :issue:`8685`). Метод :meth:`array.repeat` має швидшу реалізацію " +"(:issue:`1569291` від Alexander Belopolsky). :class:`BaseHTTPRequestHandler` " +"має більш ефективну буферизацію (:issue:`3709` від Ендрю Шаафа). Функцію :" +"func:`operator.attrgetter` було пришвидшено (:issue:`10160` від Christos " +"Georgiou). А :class:`ConfigParser` завантажує багаторядкові аргументи трохи " +"швидше (:issue:`7113` від Łukasz Langa)." + +msgid "Unicode" +msgstr "Unicode" + +msgid "" +"Python has been updated to `Unicode 6.0.0 `_. The update to the standard adds over 2,000 new characters " +"including `emoji `_ symbols which are " +"important for mobile phones." +msgstr "" + +msgid "" +"In addition, the updated standard has altered the character properties for " +"two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric " +"character (U+19DA), making the former eligible for use in identifiers while " +"disqualifying the latter. For more information, see `Unicode Character " +"Database Changes `_." +msgstr "" + +msgid "Codecs" +msgstr "Кодеки" + +msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)." +msgstr "Додано підтримку *cp720* арабського кодування DOS (:issue:`1616979`)." + +msgid "" +"MBCS encoding no longer ignores the error handler argument. In the default " +"strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an " +"undecodable byte sequence and an :exc:`UnicodeEncodeError` for an " +"unencodable character." +msgstr "" +"Кодування MBCS більше не ігнорує аргумент обробника помилок. У строгому " +"режимі за замовчуванням він викликає :exc:`UnicodeDecodeError`, коли " +"зустрічає некодовану послідовність байтів, і :exc:`UnicodeEncodeError` для " +"некодованого символу." + +msgid "" +"The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for " +"decoding, and ``'strict'`` and ``'replace'`` for encoding." +msgstr "" +"Кодек MBCS підтримує ``'strict'`` і ``'ignore''`` обробники помилок для " +"декодування, ``'strict'`` і ``'replace'`` для кодування." + +msgid "" +"To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for " +"decoding and the ``'replace'`` handler for encoding." +msgstr "" +"Щоб емулювати кодування Python3.1 MBCS, виберіть обробник ``'ignore'`` для " +"декодування та ``'replace'`` обробник для кодування." + +msgid "" +"On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather " +"than the locale encoding." +msgstr "" +"У Mac OS X Python декодує аргументи командного рядка за допомогою " +"``'utf-8''`` замість кодування локалі." + +msgid "" +"By default, :mod:`tarfile` uses ``'utf-8'`` encoding on Windows (instead of " +"``'mbcs'``) and the ``'surrogateescape'`` error handler on all operating " +"systems." +msgstr "" +"За замовчуванням :mod:`tarfile` використовує кодування ``'utf-8'`` у Windows " +"(замість ``'mbcs'``) і ``'surrogateescape'`` обробник помилок у всіх " +"операційних системах." + +msgid "Documentation" +msgstr "Документація" + +msgid "The documentation continues to be improved." +msgstr "Документація продовжує вдосконалюватися." + +msgid "" +"A table of quick links has been added to the top of lengthy sections such " +"as :ref:`built-in-funcs`. In the case of :mod:`itertools`, the links are " +"accompanied by tables of cheatsheet-style summaries to provide an overview " +"and memory jog without having to read all of the docs." +msgstr "" +"Таблицю швидких посилань було додано до верхньої частини довгих розділів, " +"таких як :ref:`built-in-funcs`. У випадку :mod:`itertools` посилання " +"супроводжуються таблицями підсумків у стилі шпаргалок, щоб надати огляд і " +"пам’ять без необхідності читати всі документи." + +msgid "" +"In some cases, the pure Python source code can be a helpful adjunct to the " +"documentation, so now many modules now feature quick links to the latest " +"version of the source code. For example, the :mod:`functools` module " +"documentation has a quick link at the top labeled:" +msgstr "" +"У деяких випадках чистий вихідний код Python може бути корисним доповненням " +"до документації, тому тепер багато модулів тепер мають швидкі посилання на " +"останню версію вихідного коду. Наприклад, документація модуля :mod:" +"`functools` має швидке посилання вгорі з позначкою:" + +msgid "**Source code** :source:`Lib/functools.py`." +msgstr "**Вихідний код** :source:`Lib/functools.py`." + +msgid "" +"(Contributed by Raymond Hettinger; see `rationale `_.)" +msgstr "" +"(Надав Реймонд Хеттінгер; див. `обґрунтування `_.)" + +msgid "" +"The docs now contain more examples and recipes. In particular, :mod:`re` " +"module has an extensive section, :ref:`re-examples`. Likewise, the :mod:" +"`itertools` module continues to be updated with new :ref:`itertools-recipes`." +msgstr "" +"Документи тепер містять більше прикладів і рецептів. Зокрема, модуль :mod:" +"`re` має великий розділ :ref:`re-examples`. Так само модуль :mod:`itertools` " +"продовжує оновлюватися новими :ref:`itertools-recipes`." + +msgid "" +"The :mod:`datetime` module now has an auxiliary implementation in pure " +"Python. No functionality was changed. This just provides an easier-to-read " +"alternate implementation." +msgstr "" +"Модуль :mod:`datetime` тепер має допоміжну реалізацію на чистому Python. " +"Функціональність не змінена. Це просто забезпечує легшу для читання " +"альтернативну реалізацію." + +msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)" +msgstr "(Надав Олександр Бєлопольський у :issue:`9528`.)" + +msgid "" +"The unmaintained :file:`Demo` directory has been removed. Some demos were " +"integrated into the documentation, some were moved to the :file:`Tools/demo` " +"directory, and others were removed altogether." +msgstr "" +"Непідтримуваний каталог :file:`Demo` було видалено. Деякі демонстрації було " +"інтегровано в документацію, деякі переміщено до каталогу :file:`Tools/demo`, " +"а інші взагалі видалено." + +msgid "(Contributed by Georg Brandl in :issue:`7962`.)" +msgstr "(Надав Георг Брандл у :issue:`7962`.)" + +msgid "IDLE" +msgstr "ПРОСТОЮЧИЙ" + +msgid "" +"The format menu now has an option to clean source files by stripping " +"trailing whitespace." +msgstr "" +"У меню форматування тепер є опція очищення вихідних файлів шляхом видалення " +"кінцевих пробілів." + +msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)" +msgstr "(Надав Реймонд Геттінгер; :issue:`5150`.)" + +msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk." +msgstr "" +"IDLE на Mac OS X тепер працює як з Carbon AquaTk, так і з Cocoa AquaTk." + +msgid "" +"(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; :issue:`6075`.)" +msgstr "" +"(Надано Кевіном Волзером, Недом Дейлі та Рональдом Усореном; :issue:`6075`.)" + +msgid "Code Repository" +msgstr "Репозиторій коду" + +msgid "" +"In addition to the existing Subversion code repository at https://svn.python." +"org there is now a `Mercurial `_ repository " +"at https://hg.python.org/\\ ." +msgstr "" + +msgid "" +"After the 3.2 release, there are plans to switch to Mercurial as the primary " +"repository. This distributed version control system should make it easier " +"for members of the community to create and share external changesets. See :" +"pep:`385` for details." +msgstr "" +"Після випуску 3.2 планується перехід на Mercurial як основний репозиторій. " +"Ця розподілена система контролю версій має спростити членам спільноти " +"створення зовнішніх наборів змін і обмін ними. Подробиці див. :pep:`385`." + +msgid "" +"To learn to use the new version control system, see the `Quick Start " +"`_ or the `Guide to Mercurial " +"Workflows `_." +msgstr "" +"Щоб навчитися користуватися новою системою контролю версій, перегляньте " +"`Швидкий старт `_ або " +"`Посібник із робочих процесів Mercurial `_." + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "" +"The *idle*, *pydoc* and *2to3* scripts are now installed with a version-" +"specific suffix on ``make altinstall`` (:issue:`10679`)." +msgstr "" +"Сценарії *idle*, *pydoc* і *2to3* тепер інстальовано з суфіксом версії на " +"``make altinstall`` (:issue:`10679`)." + +msgid "" +"The C functions that access the Unicode Database now accept and return " +"characters from the full Unicode range, even on narrow unicode builds " +"(Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL, and others). A visible " +"difference in Python is that :func:`unicodedata.numeric` now returns the " +"correct value for large code points, and :func:`repr` may consider more " +"characters as printable." +msgstr "" +"Функції C, які звертаються до бази даних Unicode, тепер приймають і " +"повертають символи з повного діапазону Unicode, навіть у вузьких збірках " +"Unicode (Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL та інші). Видима " +"відмінність у Python полягає в тому, що :func:`unicodedata.numeric` тепер " +"повертає правильне значення для великих кодових точок, а :func:`repr` може " +"вважати більше символів придатними для друку." + +msgid "" +"(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)" +msgstr "" +"(Повідомив Bupjoe Lee та виправив Amaury Forgeot D'Arc; :issue:`5127`.)" + +msgid "" +"Computed gotos are now enabled by default on supported compilers (which are " +"detected by the configure script). They can still be disabled selectively " +"by specifying ``--without-computed-gotos``." +msgstr "" +"Обчислені gotos тепер увімкнено за замовчуванням у підтримуваних " +"компіляторах (які визначаються сценарієм конфігурації). Їх все ще можна " +"вибірково вимкнути, вказавши ``--without-computed-gotos``." + +msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)" +msgstr "(Надав Антуан Пітру; :issue:`9203`.)" + +msgid "" +"The option ``--with-wctype-functions`` was removed. The built-in unicode " +"database is now used for all functions." +msgstr "" +"Опцію ``--with-wctype-functions`` видалено. Тепер для всіх функцій " +"використовується вбудована база даних Unicode." + +msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)" +msgstr "(Надано Amaury Forgeot D'Arc; :issue:`9210`.)" + +msgid "" +"Hash values are now values of a new type, :c:type:`Py_hash_t`, which is " +"defined to be the same size as a pointer. Previously they were of type " +"long, which on some 64-bit operating systems is still only 32 bits long. As " +"a result of this fix, :class:`set` and :class:`dict` can now hold more than " +"``2**32`` entries on builds with 64-bit pointers (previously, they could " +"grow to that size but their performance degraded catastrophically)." +msgstr "" +"Хеш-значення тепер є значеннями нового типу, :c:type:`Py_hash_t`, який " +"визначено таким самим розміром, що й покажчик. Раніше вони мали тип long, " +"який у деяких 64-розрядних операційних системах досі має лише 32 біти. У " +"результаті цього виправлення :class:`set` і :class:`dict` тепер можуть " +"містити більше ``2**32`` записів у збірках із 64-розрядними покажчиками " +"(раніше вони могли збільшуватися до такого розміру але їх продуктивність " +"катастрофічно погіршилася)." + +msgid "" +"(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; :issue:" +"`9778`.)" +msgstr "" +"(Запропоновано Raymond Hettinger і реалізовано Benjamin Peterson; :issue:" +"`9778`.)" + +msgid "" +"A new macro :c:macro:`Py_VA_COPY` copies the state of the variable argument " +"list. It is equivalent to C99 *va_copy* but available on all Python " +"platforms (:issue:`2443`)." +msgstr "" +"Новий макрос :c:macro:`Py_VA_COPY` копіює стан списку аргументів змінної. " +"Він еквівалентний C99 *va_copy*, але доступний на всіх платформах Python (:" +"issue:`2443`)." + +msgid "" +"A new C API function :c:func:`PySys_SetArgvEx` allows an embedded " +"interpreter to set :attr:`sys.argv` without also modifying :attr:`sys.path` " +"(:issue:`5753`)." +msgstr "" +"Нова функція C API :c:func:`PySys_SetArgvEx` дозволяє вбудованому " +"інтерпретатору встановлювати :attr:`sys.argv` без зміни :attr:`sys.path` (:" +"issue:`5753`)." + +msgid "" +":c:macro:`PyEval_CallObject` is now only available in macro form. The " +"function declaration, which was kept for backwards compatibility reasons, is " +"now removed -- the macro was introduced in 1997 (:issue:`8276`)." +msgstr "" +":c:macro:`PyEval_CallObject` тепер доступний лише у формі макросу. " +"Оголошення функції, яке було збережено з міркувань зворотної сумісності, " +"тепер видалено — макрос було представлено в 1997 році (:issue:`8276`)." + +msgid "" +"There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is " +"analogous to :c:func:`PyLong_AsLongAndOverflow`. They both serve to convert " +"Python :class:`int` into a native fixed-width type while providing detection " +"of cases where the conversion won't fit (:issue:`7767`)." +msgstr "" +"Існує нова функція :c:func:`PyLong_AsLongLongAndOverflow`, яка є аналогом :c:" +"func:`PyLong_AsLongAndOverflow`. Обидва вони служать для перетворення " +"Python :class:`int` на рідний тип із фіксованою шириною, забезпечуючи " +"виявлення випадків, коли перетворення не підходить (:issue:`7767`)." + +msgid "" +"The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not " +"equal* if the Python string is *NUL* terminated." +msgstr "" +"Функція :c:func:`PyUnicode_CompareWithASCIIString` тепер повертає *не " +"дорівнює*, якщо рядок Python завершується *NUL*." + +msgid "" +"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is like :c:" +"func:`PyErr_NewException` but allows a docstring to be specified. This lets " +"C exceptions have the same self-documenting capabilities as their pure " +"Python counterparts (:issue:`7033`)." +msgstr "" +"Існує нова функція :c:func:`PyErr_NewExceptionWithDoc`, яка схожа на :c:func:" +"`PyErr_NewException`, але дозволяє вказати рядок документа. Це дозволяє " +"виняткам C мати ті самі можливості самодокументування, що й їхні чисті " +"відповідники Python (:issue:`7033`)." + +msgid "" +"When compiled with the ``--with-valgrind`` option, the pymalloc allocator " +"will be automatically disabled when running under Valgrind. This gives " +"improved memory leak detection when running under Valgrind, while taking " +"advantage of pymalloc at other times (:issue:`2422`)." +msgstr "" +"При компіляції з опцією ``--with-valgrind`` розподільник pymalloc буде " +"автоматично вимкнено під час роботи під Valgrind. Це забезпечує покращене " +"виявлення витоку пам’яті під час роботи під Valgrind, водночас користуючись " +"перевагами pymalloc в інший час (:issue:`2422`)." + +msgid "" +"Removed the ``O?`` format from the *PyArg_Parse* functions. The format is " +"no longer used and it had never been documented (:issue:`8837`)." +msgstr "" +"Видалено формат ``O?`` з функцій *PyArg_Parse*. Формат більше не " +"використовується і ніколи не був задокументований (:issue:`8837`)." + +msgid "" +"There were a number of other small changes to the C-API. See the `Misc/NEWS " +"`__ file for a " +"complete list." +msgstr "" + +msgid "" +"Also, there were a number of updates to the Mac OS X build, see `Mac/" +"BuildScript/README.txt `_ for details. For users running a 32/64-bit build, " +"there is a known problem with the default Tcl/Tk on Mac OS X 10.6. " +"Accordingly, we recommend installing an updated alternative such as " +"`ActiveState Tcl/Tk 8.5.9 `_" +"\\. See https://www.python.org/download/mac/tcltk/ for additional details." +msgstr "" + +msgid "Porting to Python 3.2" +msgstr "Перенесення на Python 3.2" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code:" +msgstr "" +"У цьому розділі перераховані раніше описані зміни та інші виправлення " +"помилок, які можуть потребувати змін у вашому коді:" + +msgid "" +"The :mod:`configparser` module has a number of clean-ups. The major change " +"is to replace the old :class:`ConfigParser` class with long-standing " +"preferred alternative :class:`SafeConfigParser`. In addition there are a " +"number of smaller incompatibilities:" +msgstr "" +"Модуль :mod:`configparser` має ряд очищення. Основна зміна полягає в заміні " +"старого класу :class:`ConfigParser` на давню бажану альтернативу :class:" +"`SafeConfigParser`. Крім того, існує ряд менших несумісностей:" + +msgid "" +"The interpolation syntax is now validated on :meth:`~configparser." +"ConfigParser.get` and :meth:`~configparser.ConfigParser.set` operations. In " +"the default interpolation scheme, only two tokens with percent signs are " +"valid: ``%(name)s`` and ``%%``, the latter being an escaped percent sign." +msgstr "" +"Синтаксис інтерполяції тепер перевірено в операціях :meth:`~configparser." +"ConfigParser.get` і :meth:`~configparser.ConfigParser.set`. У стандартній " +"схемі інтерполяції дійсні лише два токени зі знаками відсотка: ``%(name)s`` " +"і ``%%``, причому останній є екранованим знаком відсотка." + +msgid "" +"The :meth:`~configparser.ConfigParser.set` and :meth:`~configparser." +"ConfigParser.add_section` methods now verify that values are actual " +"strings. Formerly, unsupported types could be introduced unintentionally." +msgstr "" +"Методи :meth:`~configparser.ConfigParser.set` і :meth:`~configparser." +"ConfigParser.add_section` тепер перевіряють, чи значення є фактичними " +"рядками. Раніше непідтримувані типи могли бути введені ненавмисно." + +msgid "" +"Duplicate sections or options from a single source now raise either :exc:" +"`~configparser.DuplicateSectionError` or :exc:`~configparser." +"DuplicateOptionError`. Formerly, duplicates would silently overwrite a " +"previous entry." +msgstr "" +"Дубльовані розділи або параметри з одного джерела тепер викликають :exc:" +"`~configparser.DuplicateSectionError` або :exc:`~configparser." +"DuplicateOptionError`. Раніше дублікати мовчки перезаписували попередній " +"запис." + +msgid "" +"Inline comments are now disabled by default so now the **;** character can " +"be safely used in values." +msgstr "" +"Вбудовані коментарі тепер вимкнено за замовчуванням, тому тепер символ **;** " +"можна безпечно використовувати у значеннях." + +msgid "" +"Comments now can be indented. Consequently, for **;** or **#** to appear at " +"the start of a line in multiline values, it has to be interpolated. This " +"keeps comment prefix characters in values from being mistaken as comments." +msgstr "" +"Коментарі тепер можна робити з відступом. Отже, щоб **;** або **#** " +"з’явилися на початку рядка в багаторядкових значеннях, їх потрібно " +"інтерпольувати. Це запобігає помилковому сприйняттю префіксів коментарів у " +"значеннях як коментарі." + +msgid "" +"``\"\"`` is now a valid value and is no longer automatically converted to an " +"empty string. For empty strings, use ``\"option =\"`` in a line." +msgstr "" +"``\"\"`` тепер є дійсним значенням і більше не перетворюється автоматично на " +"порожній рядок. Для порожніх рядків використовуйте ``\"option =\"`` у рядку." + +msgid "" +"The :mod:`nntplib` module was reworked extensively, meaning that its APIs " +"are often incompatible with the 3.1 APIs." +msgstr "" +"Модуль :mod:`nntplib` було значно перероблено, що означає, що його API часто " +"несумісні з API 3.1." + +msgid "" +":class:`bytearray` objects can no longer be used as filenames; instead, they " +"should be converted to :class:`bytes`." +msgstr "" +":class:`bytearray` об’єкти більше не можна використовувати як імена файлів; " +"натомість їх слід перетворити на :class:`bytes`." + +msgid "" +"The :meth:`array.tostring` and :meth:`array.fromstring` have been renamed " +"to :meth:`array.tobytes` and :meth:`array.frombytes` for clarity. The old " +"names have been deprecated. (See :issue:`8990`.)" +msgstr "" +"Для ясності :meth:`array.tostring` і :meth:`array.fromstring` перейменовано " +"на :meth:`array.tobytes` і :meth:`array.frombytes`. Старі назви застаріли. " +"(Див. :issue:`8990`.)" + +msgid "``PyArg_Parse*()`` functions:" +msgstr "Функції ``PyArg_Parse*()``:" + +msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead" +msgstr "" +"Формат \"t#\" видалено: замість нього використовуйте \"s#\" або \"s*\"." + +msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead" +msgstr "Формати \"w\" і \"w#\" видалено: замість них використовуйте \"w*\"." + +msgid "" +"The :c:type:`PyCObject` type, deprecated in 3.1, has been removed. To wrap " +"opaque C pointers in Python objects, the :c:type:`PyCapsule` API should be " +"used instead; the new type has a well-defined interface for passing typing " +"safety information and a less complicated signature for calling a destructor." +msgstr "" +"Тип :c:type:`PyCObject`, застарілий у версії 3.1, було видалено. Щоб " +"обернути непрозорі вказівники C в об’єкти Python, натомість слід " +"використовувати API :c:type:`PyCapsule`; новий тип має чітко визначений " +"інтерфейс для передачі інформації про безпеку введення та менш складний " +"підпис для виклику деструктора." + +msgid "" +"The :func:`sys.setfilesystemencoding` function was removed because it had a " +"flawed design." +msgstr "" +"Функцію :func:`sys.setfilesystemencoding` було видалено, оскільки вона мала " +"недоліки." + +msgid "" +"The :func:`random.seed` function and method now salt string seeds with an " +"sha512 hash function. To access the previous version of *seed* in order to " +"reproduce Python 3.1 sequences, set the *version* argument to *1*, ``random." +"seed(s, version=1)``." +msgstr "" +"Функція та метод :func:`random.seed` тепер додають початкові значення рядка " +"за допомогою хеш-функції sha512. Щоб отримати доступ до попередньої версії " +"*seed* для відтворення послідовностей Python 3.1, установіть аргумент " +"*version* на *1*, ``random.seed(s, version=1)``." + +msgid "" +"The previously deprecated :func:`string.maketrans` function has been removed " +"in favor of the static methods :meth:`bytes.maketrans` and :meth:`bytearray." +"maketrans`. This change solves the confusion around which types were " +"supported by the :mod:`string` module. Now, :class:`str`, :class:`bytes`, " +"and :class:`bytearray` each have their own **maketrans** and **translate** " +"methods with intermediate translation tables of the appropriate type." +msgstr "" +"Раніше застарілу функцію :func:`string.maketrans` було видалено на користь " +"статичних методів :meth:`bytes.maketrans` і :meth:`bytearray.maketrans`. Ця " +"зміна вирішує плутанину навколо того, які типи підтримувалися модулем :mod:" +"`string`. Тепер :class:`str`, :class:`bytes` і :class:`bytearray` кожен має " +"власні методи **maketrans** і **translate** із проміжними таблицями " +"перекладу відповідного типу." + +msgid "(Contributed by Georg Brandl; :issue:`5675`.)" +msgstr "(Надав Георг Брандл; :issue:`5675`.)" + +msgid "" +"The previously deprecated :func:`contextlib.nested` function has been " +"removed in favor of a plain :keyword:`with` statement which can accept " +"multiple context managers. The latter technique is faster (because it is " +"built-in), and it does a better job finalizing multiple context managers " +"when one of them raises an exception::" +msgstr "" +"Раніше застарілу функцію :func:`contextlib.nested` було вилучено на користь " +"простого оператора :keyword:`with`, який може приймати кілька менеджерів " +"контексту. Останній метод є швидшим (оскільки він вбудований), і він краще " +"завершує роботу з кількома контекстними менеджерами, коли один із них " +"викликає виняток:" + +msgid "" +"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " +"`_.)" +msgstr "" +"(Надано Георгом Брандлом і Маттіасом Брендстремом; `appspot issue 53094 " +"`_.)" + +msgid "" +":func:`struct.pack` now only allows bytes for the ``s`` string pack code. " +"Formerly, it would accept text arguments and implicitly encode them to bytes " +"using UTF-8. This was problematic because it made assumptions about the " +"correct encoding and because a variable-length encoding can fail when " +"writing to fixed length segment of a structure." +msgstr "" +":func:`struct.pack` тепер дозволяє лише байти для коду пакета рядків ``s``. " +"Раніше він приймав текстові аргументи та неявно кодував їх у байти за " +"допомогою UTF-8. Це було проблематично, оскільки воно робило припущення щодо " +"правильного кодування та тому, що кодування змінної довжини може вийти з " +"ладу під час запису в сегмент структури фіксованої довжини." + +msgid "" +"Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten " +"with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, " +"y)``." +msgstr "" +"Такий код, як ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` слід переписати, " +"щоб використовувати байти замість тексту, ``struct.pack('<6sHHBBB', " +"b'GIF87a' , x, y)``." + +msgid "" +"(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)" +msgstr "" +"(Виявлено Девідом Бізлі та виправлено Віктором Стіннером; :issue:`10783`.)" + +msgid "" +"The :class:`xml.etree.ElementTree` class now raises an :exc:`xml.etree." +"ElementTree.ParseError` when a parse fails. Previously it raised an :exc:" +"`xml.parsers.expat.ExpatError`." +msgstr "" +"Клас :class:`xml.etree.ElementTree` тепер викликає помилку :exc:`xml.etree." +"ElementTree.ParseError`, коли синтаксичний аналіз не вдається. Раніше це " +"викликало :exc:`xml.parsers.expat.ExpatError`." + +msgid "" +"The new, longer :func:`str` value on floats may break doctests which rely on " +"the old output format." +msgstr "" +"Нове, довше значення :func:`str` у числах з плаваючою точкою може порушити " +"doctests, які покладаються на старий формат виводу." + +msgid "" +"In :class:`subprocess.Popen`, the default value for *close_fds* is now " +"``True`` under Unix; under Windows, it is ``True`` if the three standard " +"streams are set to ``None``, ``False`` otherwise. Previously, *close_fds* " +"was always ``False`` by default, which produced difficult to solve bugs or " +"race conditions when open file descriptors would leak into the child process." +msgstr "" +"У :class:`subprocess.Popen` стандартним значенням для *close_fds* тепер є " +"``True`` під Unix; під Windows це ``True``, якщо для трьох стандартних " +"потоків встановлено значення ``None``, ``False`` інакше. Раніше *close_fds* " +"за замовчуванням завжди мав значення ``False``, що створювало проблеми, які " +"важко було вирішити, або змагання, коли дескриптори відкритого файлу " +"потрапляли в дочірній процес." + +msgid "" +"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and :" +"mod:`http.client`. Such support is still present on the server side (in :" +"mod:`http.server`)." +msgstr "" +"Підтримку застарілого HTTP 0.9 було видалено з :mod:`urllib.request` і :mod:" +"`http.client`. Така підтримка все ще присутня на стороні сервера (у :mod:" +"`http.server`)." + +msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)" +msgstr "(Надав Антуан Пітру, :issue:`10711`.)" + +msgid "" +"SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout " +"occurs, rather than a generic :exc:`~ssl.SSLError`." +msgstr "" +"SSL-сокети в режимі тайм-ауту тепер викликають :exc:`socket.timeout`, коли " +"відбувається тайм-аут, а не загальну :exc:`~ssl.SSLError`." + +msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)" +msgstr "(Надав Антуан Пітру, :issue:`10272`.)" + +msgid "" +"The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:" +"`PyEval_ReleaseLock()` have been officially deprecated. The thread-state " +"aware APIs (such as :c:func:`PyEval_SaveThread()` and :c:func:" +"`PyEval_RestoreThread()`) should be used instead." +msgstr "" +"Функції, що вводять в оману :c:func:`PyEval_AcquireLock()` і :c:func:" +"`PyEval_ReleaseLock()` офіційно визнано застарілими. Замість цього слід " +"використовувати API, що визначають стан потоку (такі як :c:func:" +"`PyEval_SaveThread()` і :c:func:`PyEval_RestoreThread()`)." + +msgid "" +"Due to security risks, :func:`asyncore.handle_accept` has been deprecated, " +"and a new function, :func:`asyncore.handle_accepted`, was added to replace " +"it." +msgstr "" +"Через ризики безпеці :func:`asyncore.handle_accept` застаріло, і на його " +"заміну додано нову функцію :func:`asyncore.handle_accepted`." + +msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)" +msgstr "(Надав Джампаоло Родола в :issue:`6706`.)" + +msgid "" +"Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` " +"cannot be called before :c:func:`Py_Initialize()` anymore." +msgstr "" +"Завдяки новій реалізації :term:`GIL`, :c:func:`PyEval_InitThreads()` більше " +"не можна викликати до :c:func:`Py_Initialize()`." diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po new file mode 100644 index 000000000..80e55d0b6 --- /dev/null +++ b/whatsnew/3.3.po @@ -0,0 +1,4372 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.3" +msgstr "Що нового в Python 3.3" + +msgid "" +"This article explains the new features in Python 3.3, compared to 3.2. " +"Python 3.3 was released on September 29, 2012. For full details, see the " +"`changelog `_." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.3 порівняно з 3.2. Python " +"3.3 було випущено 29 вересня 2012 року. Щоб отримати повну інформацію, " +"перегляньте `журнал змін `_." + +msgid ":pep:`398` - Python 3.3 Release Schedule" +msgstr ":pep:`398` - Графік випуску Python 3.3" + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid "" +"New ``yield from`` expression for :ref:`generator delegation `." +msgstr "" +"Новий вираз ``yield from`` для :ref:`генератора делегування `." + +msgid "The ``u'unicode'`` syntax is accepted again for :class:`str` objects." +msgstr "Синтаксис ``u'unicode'`` знову приймається для об'єктів :class:`str`." + +msgid "New library modules:" +msgstr "Нові бібліотечні модулі:" + +msgid ":mod:`faulthandler` (helps debugging low-level crashes)" +msgstr ":mod:`faulthandler` (допомагає налагодити низькорівневі збої)" + +msgid "" +":mod:`ipaddress` (high-level objects representing IP addresses and masks)" +msgstr "" +":mod:`ipaddress` (об'єкти високого рівня, що представляють IP-адреси та " +"маски)" + +msgid ":mod:`lzma` (compress data using the XZ / LZMA algorithm)" +msgstr ":mod:`lzma` (стиснення даних за допомогою алгоритму XZ / LZMA)" + +msgid "" +":mod:`unittest.mock` (replace parts of your system under test with mock " +"objects)" +msgstr "" +":mod:`unittest.mock` (замінити частини вашої тестованої системи на макетні " +"об’єкти)" + +msgid "" +":mod:`venv` (Python :ref:`virtual environments `, as in the popular " +"``virtualenv`` package)" +msgstr "" +":mod:`venv` (Python :ref:`віртуальні середовища `, як у популярному " +"пакеті ``virtualenv``)" + +msgid "New built-in features:" +msgstr "Нові вбудовані функції:" + +msgid "Reworked :ref:`I/O exception hierarchy `." +msgstr "Перероблено :ref:`ієрархію винятків вводу/виводу `." + +msgid "Implementation improvements:" +msgstr "Покращення реалізації:" + +msgid "" +"Rewritten :ref:`import machinery ` based on :mod:`importlib`." +msgstr "" +"Переписано :ref:`import machinery ` на основі :mod:`importlib`." + +msgid "More compact :ref:`unicode strings `." +msgstr "Більш компактні :ref:`рядки Unicode `." + +msgid "More compact :ref:`attribute dictionaries `." +msgstr "Більш компактні :ref:`словники атрибутів `." + +msgid "Significantly Improved Library Modules:" +msgstr "Значно вдосконалені бібліотечні модулі:" + +msgid "C Accelerator for the :ref:`decimal ` module." +msgstr "C Прискорювач для модуля :ref:`decimal `." + +msgid "" +"Better unicode handling in the :ref:`email ` module (:term:" +"`provisional `)." +msgstr "" +"Краще оброблення Юнікоду в модулі :ref:`email ` (:term:" +"`provisional `)." + +msgid "Security improvements:" +msgstr "Покращення безпеки:" + +msgid "Hash randomization is switched on by default." +msgstr "Хеш-рандомізація ввімкнена за замовчуванням." + +msgid "Please read on for a comprehensive list of user-facing changes." +msgstr "Будь ласка, прочитайте повний список змін, які стосуються користувача." + +msgid "PEP 405: Virtual Environments" +msgstr "PEP 405: Віртуальні середовища" + +msgid "" +"Virtual environments help create separate Python setups while sharing a " +"system-wide base install, for ease of maintenance. Virtual environments " +"have their own set of private site packages (i.e. locally installed " +"libraries), and are optionally segregated from the system-wide site " +"packages. Their concept and implementation are inspired by the popular " +"``virtualenv`` third-party package, but benefit from tighter integration " +"with the interpreter core." +msgstr "" + +msgid "" +"This PEP adds the :mod:`venv` module for programmatic access, and the " +"``pyvenv`` script for command-line access and administration. The Python " +"interpreter checks for a ``pyvenv.cfg``, file whose existence signals the " +"base of a virtual environment's directory tree." +msgstr "" +"Цей PEP додає модуль :mod:`venv` для програмного доступу та сценарій " +"``pyvenv`` для доступу до командного рядка та адміністрування. Інтерпретатор " +"Python перевіряє наявність файла ``pyvenv.cfg``, існування якого сигналізує " +"про основу дерева каталогів віртуального середовища." + +msgid ":pep:`405` - Python Virtual Environments" +msgstr ":pep:`405` - Віртуальні середовища Python" + +msgid "PEP written by Carl Meyer; implementation by Carl Meyer and Vinay Sajip" +msgstr "" +"PEP, написаний Карлом Майєром; реалізація Карла Мейєра та Віная Саджипа" + +msgid "PEP 420: Implicit Namespace Packages" +msgstr "PEP 420: неявні пакети простору імен" + +msgid "" +"Native support for package directories that don't require ``__init__.py`` " +"marker files and can automatically span multiple path segments (inspired by " +"various third party approaches to namespace packages, as described in :pep:" +"`420`)" +msgstr "" +"Вбудована підтримка каталогів пакунків, які не потребують файлів маркерів " +"``__init__.py`` і можуть автоматично охоплювати кілька сегментів шляху " +"(навіяні різними сторонніми підходами до пакетів простору імен, як описано " +"в :pep:`420`)" + +msgid ":pep:`420` - Implicit Namespace Packages" +msgstr ":pep:`420` - неявні пакети простору імен" + +msgid "" +"PEP written by Eric V. Smith; implementation by Eric V. Smith and Barry " +"Warsaw" +msgstr "" +"PEP, написаний Еріком В. Смітом; виконання Еріком В. Смітом і Баррі Варшау" + +msgid "" +"PEP 3118: New memoryview implementation and buffer protocol documentation" +msgstr "PEP 3118: Нова реалізація memoryview і документація протоколу буфера" + +msgid "The implementation of :pep:`3118` has been significantly improved." +msgstr "Реалізацію :pep:`3118` було значно покращено." + +msgid "" +"The new memoryview implementation comprehensively fixes all ownership and " +"lifetime issues of dynamically allocated fields in the Py_buffer struct that " +"led to multiple crash reports. Additionally, several functions that crashed " +"or returned incorrect results for non-contiguous or multi-dimensional input " +"have been fixed." +msgstr "" +"Нова реалізація memoryview комплексно виправляє всі проблеми власності та " +"терміну служби динамічно розподілених полів у структурі Py_buffer, які " +"призвели до кількох звітів про збої. Крім того, було виправлено кілька " +"функцій, які виходили з ладу або повертали неправильні результати для " +"несуміжного або багатовимірного введення." + +msgid "" +"The memoryview object now has a PEP-3118 compliant getbufferproc() that " +"checks the consumer's request type. Many new features have been added, most " +"of them work in full generality for non-contiguous arrays and arrays with " +"suboffsets." +msgstr "" +"Об’єкт memoryview тепер має сумісний з PEP-3118 getbufferproc(), який " +"перевіряє тип запиту споживача. Було додано багато нових функцій, більшість " +"із яких працюють у повному обсязі для несуміжних масивів і масивів із " +"підзсувами." + +msgid "" +"The documentation has been updated, clearly spelling out responsibilities " +"for both exporters and consumers. Buffer request flags are grouped into " +"basic and compound flags. The memory layout of non-contiguous and multi-" +"dimensional NumPy-style arrays is explained." +msgstr "" +"Документацію оновлено, чітко прописані обов’язки як експортерів, так і " +"споживачів. Прапори запиту буфера згруповані в основні та складені прапори. " +"Пояснюється розташування пам’яті несуміжних і багатовимірних масивів у стилі " +"NumPy." + +msgid "Features" +msgstr "особливості" + +msgid "" +"All native single character format specifiers in struct module syntax " +"(optionally prefixed with '@') are now supported." +msgstr "" +"Тепер підтримуються всі рідні специфікатори односимвольного формату в " +"синтаксисі модуля struct (за бажанням із префіксом \"@\")." + +msgid "" +"With some restrictions, the cast() method allows changing of format and " +"shape of C-contiguous arrays." +msgstr "" +"З деякими обмеженнями метод cast() дозволяє змінювати формат і форму C-" +"суміжних масивів." + +msgid "" +"Multi-dimensional list representations are supported for any array type." +msgstr "" +"Представлення багатовимірного списку підтримуються для будь-якого типу " +"масиву." + +msgid "Multi-dimensional comparisons are supported for any array type." +msgstr "Багатовимірні порівняння підтримуються для будь-якого типу масиву." + +msgid "" +"One-dimensional memoryviews of hashable (read-only) types with formats B, b " +"or c are now hashable. (Contributed by Antoine Pitrou in :issue:`13411`.)" +msgstr "" +"Одновимірні представлення пам’яті хешованих типів (тільки для читання) з " +"форматами B, b або c тепер хешуються. (Надав Антуан Пітру в :issue:`13411`.)" + +msgid "" +"Arbitrary slicing of any 1-D arrays type is supported. For example, it is " +"now possible to reverse a memoryview in O(1) by using a negative step." +msgstr "" +"Підтримується довільне нарізання будь-яких типів 1-D масивів. Наприклад, " +"тепер можна змінити відображення пам’яті в O(1) за допомогою негативного " +"кроку." + +msgid "API changes" +msgstr "Зміни API" + +msgid "The maximum number of dimensions is officially limited to 64." +msgstr "Максимальна кількість вимірів офіційно обмежена 64." + +msgid "" +"The representation of empty shape, strides and suboffsets is now an empty " +"tuple instead of ``None``." +msgstr "" +"Представлення порожньої форми, кроків і підзсувів тепер є порожнім кортежем " +"замість \"Немає\"." + +msgid "" +"Accessing a memoryview element with format 'B' (unsigned bytes) now returns " +"an integer (in accordance with the struct module syntax). For returning a " +"bytes object the view must be cast to 'c' first." +msgstr "" +"Доступ до елемента memoryview у форматі \"B\" (байти без знаку) тепер " +"повертає ціле число (відповідно до синтаксису модуля struct). Для повернення " +"об’єкта bytes спочатку має бути приведено до 'c'." + +msgid "" +"memoryview comparisons now use the logical structure of the operands and " +"compare all array elements by value. All format strings in struct module " +"syntax are supported. Views with unrecognised format strings are still " +"permitted, but will always compare as unequal, regardless of view contents." +msgstr "" +"Порівняння memoryview тепер використовує логічну структуру операндів і " +"порівнює всі елементи масиву за значенням. Підтримуються всі рядки формату в " +"синтаксисі модуля struct. Перегляди з нерозпізнаними рядками формату все ще " +"дозволені, але завжди порівнюватимуться як нерівні, незалежно від вмісту " +"подання." + +msgid "" +"For further changes see `Build and C API Changes`_ and `Porting C code`_." +msgstr "" +"Щоб отримати додаткові зміни, перегляньте `Зміни в API збірки та C`_ і " +"`Перенесення коду C`_." + +msgid "(Contributed by Stefan Krah in :issue:`10181`.)" +msgstr "(Надав Стефан Крах у :issue:`10181`.)" + +msgid ":pep:`3118` - Revising the Buffer Protocol" +msgstr ":pep:`3118` - Перегляд буферного протоколу" + +msgid "PEP 393: Flexible String Representation" +msgstr "PEP 393: Гнучке представлення рядків" + +msgid "" +"The Unicode string type is changed to support multiple internal " +"representations, depending on the character with the largest Unicode ordinal " +"(1, 2, or 4 bytes) in the represented string. This allows a space-efficient " +"representation in common cases, but gives access to full UCS-4 on all " +"systems. For compatibility with existing APIs, several representations may " +"exist in parallel; over time, this compatibility should be phased out." +msgstr "" +"Тип рядка Unicode змінено для підтримки кількох внутрішніх представлень " +"залежно від символу з найбільшим порядковим номером Unicode (1, 2 або 4 " +"байти) у представленому рядку. Це забезпечує економічне представлення у " +"звичайних випадках, але дає доступ до повного UCS-4 у всіх системах. Для " +"сумісності з існуючими API кілька представлень можуть існувати паралельно; з " +"часом ця сумісність має бути припинена." + +msgid "On the Python side, there should be no downside to this change." +msgstr "З боку Python ця зміна не повинна мати ніяких недоліків." + +msgid "" +"On the C API side, :pep:`393` is fully backward compatible. The legacy API " +"should remain available at least five years. Applications using the legacy " +"API will not fully benefit of the memory reduction, or - worse - may use a " +"bit more memory, because Python may have to maintain two versions of each " +"string (in the legacy format and in the new efficient storage)." +msgstr "" +"З боку C API :pep:`393` повністю сумісний із попередніми версіями. " +"Застарілий API має бути доступним щонайменше п’ять років. Програми, які " +"використовують застарілий API, не отримають повної вигоди від зменшення " +"обсягу пам’яті або, що ще гірше, можуть використовувати трохи більше " +"пам’яті, оскільки Python, можливо, доведеться підтримувати дві версії " +"кожного рядка (у застарілому форматі та в новому ефективному сховищі)." + +msgid "Functionality" +msgstr "Функціональність" + +msgid "Changes introduced by :pep:`393` are the following:" +msgstr "Зміни, внесені :pep:`393`:" + +msgid "" +"Python now always supports the full range of Unicode code points, including " +"non-BMP ones (i.e. from ``U+0000`` to ``U+10FFFF``). The distinction " +"between narrow and wide builds no longer exists and Python now behaves like " +"a wide build, even under Windows." +msgstr "" +"Тепер Python завжди підтримує повний діапазон кодових точок Unicode, включно " +"з кодами, що не є BMP (тобто від ``U+0000`` до ``U+10FFFF``). Різниця між " +"вузькими та широкими збірками більше не існує, і Python тепер поводиться як " +"широка збірка, навіть під Windows." + +msgid "" +"With the death of narrow builds, the problems specific to narrow builds have " +"also been fixed, for example:" +msgstr "" +"Зі смертю вузьких збірок проблеми, характерні для вузьких збірок, також були " +"виправлені, наприклад:" + +msgid "" +":func:`len` now always returns 1 for non-BMP characters, so " +"``len('\\U0010FFFF') == 1``;" +msgstr "" +":func:`len` тепер завжди повертає 1 для не-BMP символів, тому " +"``len('\\U0010FFFF') == 1``;" + +msgid "" +"surrogate pairs are not recombined in string literals, so ``'\\uDBFF" +"\\uDFFF' != '\\U0010FFFF'``;" +msgstr "" +"сурогатні пари не комбінуються повторно в рядкових літералах, тому ``'\\uDBFF" +"\\uDFFF' != '\\U0010FFFF'``;" + +msgid "" +"indexing or slicing non-BMP characters returns the expected value, so " +"``'\\U0010FFFF'[0]`` now returns ``'\\U0010FFFF'`` and not ``'\\uDBFF'``;" +msgstr "" +"індексація або нарізка символів, відмінних від BMP, повертає очікуване " +"значення, тому ``'\\U0010FFFF'[0]`` тепер повертає ``'\\U0010FFFF'``, а не " +"``'\\uDBFF'``;" + +msgid "" +"all other functions in the standard library now correctly handle non-BMP " +"code points." +msgstr "" +"усі інші функції стандартної бібліотеки тепер правильно обробляють точки " +"коду, відмінні від BMP." + +msgid "" +"The value of :data:`sys.maxunicode` is now always ``1114111`` (``0x10FFFF`` " +"in hexadecimal). The :c:func:`PyUnicode_GetMax` function still returns " +"either ``0xFFFF`` or ``0x10FFFF`` for backward compatibility, and it should " +"not be used with the new Unicode API (see :issue:`13054`)." +msgstr "" +"Значення :data:`sys.maxunicode` тепер завжди ``1114111`` (``0x10FFFF`` у " +"шістнадцятковій системі). Функція :c:func:`PyUnicode_GetMax` усе ще повертає " +"або ``0xFFFF``, або ``0x10FFFF`` для зворотної сумісності, і її не слід " +"використовувати з новим API Unicode (див. :issue:`13054`)." + +msgid "The :file:`./configure` flag ``--with-wide-unicode`` has been removed." +msgstr "Прапорець ``--with-wide-unicode`` у :file:`./configure` видалено." + +msgid "Performance and resource usage" +msgstr "Продуктивність і використання ресурсів" + +msgid "" +"The storage of Unicode strings now depends on the highest code point in the " +"string:" +msgstr "" +"Зберігання рядків Unicode тепер залежить від найвищої кодової точки в рядку:" + +msgid "" +"pure ASCII and Latin1 strings (``U+0000-U+00FF``) use 1 byte per code point;" +msgstr "" +"чисті рядки ASCII і Latin1 (``U+0000-U+00FF``) використовують 1 байт на " +"кодову точку;" + +msgid "BMP strings (``U+0000-U+FFFF``) use 2 bytes per code point;" +msgstr "Рядки BMP (``U+0000-U+FFFF``) використовують 2 байти на кодову точку;" + +msgid "non-BMP strings (``U+10000-U+10FFFF``) use 4 bytes per code point." +msgstr "" +"не-BMP-рядки (``U+10000-U+10FFFF``) використовують 4 байти на кодову точку." + +msgid "" +"The net effect is that for most applications, memory usage of string storage " +"should decrease significantly - especially compared to former wide unicode " +"builds - as, in many cases, strings will be pure ASCII even in international " +"contexts (because many strings store non-human language data, such as XML " +"fragments, HTTP headers, JSON-encoded data, etc.). We also hope that it " +"will, for the same reasons, increase CPU cache efficiency on non-trivial " +"applications. The memory usage of Python 3.3 is two to three times smaller " +"than Python 3.2, and a little bit better than Python 2.7, on a Django " +"benchmark (see the PEP for details)." +msgstr "" +"Чистий ефект полягає в тому, що для більшості програм використання пам’яті " +"для зберігання рядків має значно зменшитися – особливо порівняно з колишніми " +"широкими збірками Unicode – оскільки в багатьох випадках рядки будуть чистим " +"ASCII навіть у міжнародних контекстах (оскільки багато рядків зберігають " +"нелюдську мову дані, наприклад фрагменти XML, заголовки HTTP, дані в " +"кодуванні JSON тощо). Ми також сподіваємося, що це з тих самих причин " +"підвищить ефективність кешу ЦП у нетривіальних програмах. Використання " +"пам’яті Python 3.3 у два-три рази менше, ніж Python 3.2, і трохи краще, ніж " +"Python 2.7, за порівняльним тестом Django (докладніше див. у PEP)." + +msgid ":pep:`393` - Flexible String Representation" +msgstr ":pep:`393` - Гнучке представлення рядків" + +msgid "" +"PEP written by Martin von Löwis; implementation by Torsten Becker and Martin " +"von Löwis." +msgstr "" +"PEP, написаний Мартіном фон Льовісом; виконання Торстеном Беккером і " +"Мартіном фон Льовісом." + +msgid "PEP 397: Python Launcher for Windows" +msgstr "PEP 397: програма запуску Python для Windows" + +msgid "" +"The Python 3.3 Windows installer now includes a ``py`` launcher application " +"that can be used to launch Python applications in a version independent " +"fashion." +msgstr "" +"Інсталятор Python 3.3 Windows тепер містить програму запуску ``py``, яку " +"можна використовувати для запуску програм Python незалежно від версії." + +msgid "" +"This launcher is invoked implicitly when double-clicking ``*.py`` files. If " +"only a single Python version is installed on the system, that version will " +"be used to run the file. If multiple versions are installed, the most recent " +"version is used by default, but this can be overridden by including a Unix-" +"style \"shebang line\" in the Python script." +msgstr "" +"Цей засіб запуску неявно викликається під час подвійного клацання файлів ``*." +"py``. Якщо в системі встановлено лише одну версію Python, для запуску файлу " +"використовуватиметься ця версія. Якщо встановлено декілька версій, за " +"замовчуванням використовується найновіша версія, але це можна замінити, " +"включивши в сценарій Python рядок shebang у стилі Unix." + +msgid "" +"The launcher can also be used explicitly from the command line as the ``py`` " +"application. Running ``py`` follows the same version selection rules as " +"implicitly launching scripts, but a more specific version can be selected by " +"passing appropriate arguments (such as ``-3`` to request Python 3 when " +"Python 2 is also installed, or ``-2.6`` to specifically request an earlier " +"Python version when a more recent version is installed)." +msgstr "" +"Засіб запуску також можна використовувати явно з командного рядка як " +"програму ``py``. Запуск ``py`` дотримується тих самих правил вибору версії, " +"що й неявний запуск сценаріїв, але більш конкретну версію можна вибрати " +"шляхом передачі відповідних аргументів (наприклад, ``-3`` для запиту Python " +"3, коли Python 2 також встановлено, або ``-2.6`` для спеціального запиту " +"попередньої версії Python, коли встановлено новішу версію)." + +msgid "" +"In addition to the launcher, the Windows installer now includes an option to " +"add the newly installed Python to the system PATH. (Contributed by Brian " +"Curtin in :issue:`3561`.)" +msgstr "" +"Окрім засобу запуску, інсталятор Windows тепер містить опцію додавання щойно " +"встановленого Python до системного ШЛЯХУ. (Надав Браян Кертін у :issue:" +"`3561`.)" + +msgid ":pep:`397` - Python Launcher for Windows" +msgstr ":pep:`397` - програма запуску Python для Windows" + +msgid "" +"PEP written by Mark Hammond and Martin v. Löwis; implementation by Vinay " +"Sajip." +msgstr "" +"PEP, написаний Марком Хаммондом і Мартіном проти Льовіса; виконання Вінай " +"Саджип." + +msgid "Launcher documentation: :ref:`launcher`" +msgstr "Документація програми запуску: :ref:`launcher`" + +msgid "Installer PATH modification: :ref:`windows-path-mod`" +msgstr "Модифікація PATH інсталятора: :ref:`windows-path-mod`" + +msgid "PEP 3151: Reworking the OS and IO exception hierarchy" +msgstr "PEP 3151: переробка ієрархії винятків ОС та вводу-виводу" + +msgid "" +"The hierarchy of exceptions raised by operating system errors is now both " +"simplified and finer-grained." +msgstr "" +"Ієрархія винятків, викликаних помилками операційної системи, тепер є " +"спрощеною та детальнішою." + +msgid "" +"You don't have to worry anymore about choosing the appropriate exception " +"type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:" +"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or :exc:`select." +"error`. All these exception types are now only one: :exc:`OSError`. The " +"other names are kept as aliases for compatibility reasons." +msgstr "" +"Вам більше не потрібно турбуватися про вибір відповідного типу винятку між :" +"exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:" +"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` або :exc:`select." +"error`. Усі типи винятків тепер лише один: :exc:`OSError`. Інші імена " +"зберігаються як псевдоніми з міркувань сумісності." + +msgid "" +"Also, it is now easier to catch a specific error condition. Instead of " +"inspecting the ``errno`` attribute (or ``args[0]``) for a particular " +"constant from the :mod:`errno` module, you can catch the adequate :exc:" +"`OSError` subclass. The available subclasses are the following:" +msgstr "" +"Крім того, тепер простіше виявити конкретну умову помилки. Замість того, щоб " +"перевіряти атрибут ``errno`` (або ``args[0]``) для певної константи з " +"модуля :mod:`errno`, ви можете зловити відповідний підклас :exc:`OSError`. " +"Доступні наступні підкласи:" + +msgid ":exc:`BlockingIOError`" +msgstr ":exc:`BlockingIOError`" + +msgid ":exc:`ChildProcessError`" +msgstr ":exc:`ChildProcessError`" + +msgid ":exc:`ConnectionError`" +msgstr ":exc:`ConnectionError`" + +msgid ":exc:`FileExistsError`" +msgstr ":exc:`FileExistsError`" + +msgid ":exc:`FileNotFoundError`" +msgstr ":exc:`FileNotFoundError`" + +msgid ":exc:`InterruptedError`" +msgstr ":exc:`InterruptedError`" + +msgid ":exc:`IsADirectoryError`" +msgstr ":exc:`IsADirectoryError`" + +msgid ":exc:`NotADirectoryError`" +msgstr ":exc:`NotADirectoryError`" + +msgid ":exc:`PermissionError`" +msgstr ":exc:`PermissionError`" + +msgid ":exc:`ProcessLookupError`" +msgstr ":exc:`ProcessLookupError`" + +msgid ":exc:`TimeoutError`" +msgstr ":exc:`TimeoutError`" + +msgid "And the :exc:`ConnectionError` itself has finer-grained subclasses:" +msgstr "А сам :exc:`ConnectionError` має більш детальні підкласи:" + +msgid ":exc:`BrokenPipeError`" +msgstr ":exc:`Помилка BrokenPipeError`" + +msgid ":exc:`ConnectionAbortedError`" +msgstr ":exc:`ConnectionAbortedError`" + +msgid ":exc:`ConnectionRefusedError`" +msgstr ":exc:`ConnectionRefusedError`" + +msgid ":exc:`ConnectionResetError`" +msgstr ":exc:`ConnectionResetError`" + +msgid "" +"Thanks to the new exceptions, common usages of the :mod:`errno` can now be " +"avoided. For example, the following code written for Python 3.2::" +msgstr "" +"Завдяки новим виняткам тепер можна уникнути звичайного використання :mod:" +"`errno`. Наприклад, наступний код, написаний для Python 3.2::" + +msgid "" +"can now be written without the :mod:`errno` import and without manual " +"inspection of exception attributes::" +msgstr "" +"тепер можна записати без імпорту :mod:`errno` і без ручної перевірки " +"атрибутів винятків:" + +msgid ":pep:`3151` - Reworking the OS and IO Exception Hierarchy" +msgstr ":pep:`3151` - Переробка ієрархії винятків ОС та вводу-виводу" + +msgid "PEP written and implemented by Antoine Pitrou" +msgstr "PEP написаний і реалізований Антуаном Пітру" + +msgid "PEP 380: Syntax for Delegating to a Subgenerator" +msgstr "PEP 380: Синтаксис для делегування субгенератору" + +msgid "" +"PEP 380 adds the ``yield from`` expression, allowing a :term:`generator` to " +"delegate part of its operations to another generator. This allows a section " +"of code containing :keyword:`yield` to be factored out and placed in another " +"generator. Additionally, the subgenerator is allowed to return with a value, " +"and the value is made available to the delegating generator." +msgstr "" +"PEP 380 додає вираз ``yield from``, дозволяючи :term:`generator` делегувати " +"частину своїх операцій іншому генератору. Це дозволяє розділити код, що " +"містить :keyword:`yield`, і розмістити його в іншому генераторі. Крім того, " +"підгенератору дозволено повертати значення, і це значення стає доступним для " +"делегуючого генератора." + +msgid "" +"While designed primarily for use in delegating to a subgenerator, the " +"``yield from`` expression actually allows delegation to arbitrary " +"subiterators." +msgstr "" +"Незважаючи на те, що вираз ``yield from`` розроблено в основному для " +"використання під час делегування підгенератору, він фактично дозволяє " +"делегувати довільним субітераторам." + +msgid "" +"For simple iterators, ``yield from iterable`` is essentially just a " +"shortened form of ``for item in iterable: yield item``::" +msgstr "" +"Для простих ітераторів ``yield from iterable`` по суті є лише скороченою " +"формою ``for item in iterable: yield item``::" + +msgid "" +"However, unlike an ordinary loop, ``yield from`` allows subgenerators to " +"receive sent and thrown values directly from the calling scope, and return a " +"final value to the outer generator::" +msgstr "" +"Однак, на відміну від звичайного циклу, ``yield from`` дозволяє " +"підгенераторам отримувати надіслані та викинуті значення безпосередньо з " +"області виклику та повертати остаточне значення зовнішньому генератору:" + +msgid "" +"The main principle driving this change is to allow even generators that are " +"designed to be used with the ``send`` and ``throw`` methods to be split into " +"multiple subgenerators as easily as a single large function can be split " +"into multiple subfunctions." +msgstr "" +"Головний принцип, що керує цією зміною, полягає в тому, щоб дозволити навіть " +"генераторам, які призначені для використання з методами ``send`` і " +"``throw``, бути розділені на кілька підгенераторів так само легко, як одну " +"велику функцію можна розділити на кілька підфункцій ." + +msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" +msgstr ":pep:`380` - Синтаксис для делегування підгенератору" + +msgid "" +"PEP written by Greg Ewing; implementation by Greg Ewing, integrated into 3.3 " +"by Renaud Blanch, Ryan Kelly and Nick Coghlan; documentation by Zbigniew " +"Jędrzejewski-Szmek and Nick Coghlan" +msgstr "" +"PEP, написаний Грегом Юінгом; впровадження Грегом Юінгом, інтегроване в 3.3 " +"Рено Бланчем, Раяном Келлі та Ніком Когланом; документація Збігнєва " +"Єнджеєвського-Шмека та Ніка Коглана" + +msgid "PEP 409: Suppressing exception context" +msgstr "PEP 409: Придушення контексту винятку" + +msgid "" +"PEP 409 introduces new syntax that allows the display of the chained " +"exception context to be disabled. This allows cleaner error messages in " +"applications that convert between exception types::" +msgstr "" +"PEP 409 представляє новий синтаксис, який дозволяє вимкнути відображення " +"зв’язаного виняткового контексту. Це дозволяє очистити повідомлення про " +"помилки в програмах, які перетворюють типи винятків:" + +msgid "" +"Without the ``from None`` suffix to suppress the cause, the original " +"exception would be displayed by default::" +msgstr "" +"Без суфікса ``from None`` для придушення причини вихідний виняток " +"відображатиметься за замовчуванням::" + +msgid "" +"No debugging capability is lost, as the original exception context remains " +"available if needed (for example, if an intervening library has incorrectly " +"suppressed valuable underlying details)::" +msgstr "" +"Жодна можливість налагодження не втрачається, оскільки вихідний контекст " +"винятку залишається доступним, якщо це необхідно (наприклад, якщо проміжна " +"бібліотека неправильно приховала цінні основні деталі):" + +msgid ":pep:`409` - Suppressing exception context" +msgstr ":pep:`409` - Придушення контексту винятків" + +msgid "" +"PEP written by Ethan Furman; implemented by Ethan Furman and Nick Coghlan." +msgstr "" +"PEP, написаний Ітаном Фурманом; реалізований Ітаном Фурманом і Ніком " +"Когланом." + +msgid "PEP 414: Explicit Unicode literals" +msgstr "PEP 414: Явні літерали Unicode" + +msgid "" +"To ease the transition from Python 2 for Unicode aware Python applications " +"that make heavy use of Unicode literals, Python 3.3 once again supports the " +"\"``u``\" prefix for string literals. This prefix has no semantic " +"significance in Python 3, it is provided solely to reduce the number of " +"purely mechanical changes in migrating to Python 3, making it easier for " +"developers to focus on the more significant semantic changes (such as the " +"stricter default separation of binary and text data)." +msgstr "" +"Щоб полегшити перехід від Python 2 для додатків Python, які підтримують " +"Unicode і активно використовують літерали Unicode, Python 3.3 знову " +"підтримує префікс \"``u``\" для рядкових літералів. Цей префікс не має " +"семантичного значення в Python 3, він надається виключно для того, щоб " +"зменшити кількість суто механічних змін під час переходу на Python 3, що " +"полегшує розробникам зосередження на більш значущих семантичних змінах " +"(таких як суворіше розділення двійкових за замовчуванням і текстові дані)." + +msgid ":pep:`414` - Explicit Unicode literals" +msgstr ":pep:`414` - Явні літерали Unicode" + +msgid "PEP written by Armin Ronacher." +msgstr "PEP, автор Армін Ронашер." + +msgid "PEP 3155: Qualified name for classes and functions" +msgstr "PEP 3155: Уточнена назва для класів і функцій" + +msgid "" +"Functions and class objects have a new ``__qualname__`` attribute " +"representing the \"path\" from the module top-level to their definition. " +"For global functions and classes, this is the same as ``__name__``. For " +"other functions and classes, it provides better information about where they " +"were actually defined, and how they might be accessible from the global " +"scope." +msgstr "" +"Функції та об’єкти класу мають новий атрибут ``__qualname__``, що " +"представляє \"шлях\" від верхнього рівня модуля до їхнього визначення. Для " +"глобальних функцій і класів це те саме, що ``__name__``. Для інших функцій і " +"класів він надає кращу інформацію про те, де вони були фактично визначені, і " +"як вони можуть бути доступні з глобальної області." + +msgid "Example with (non-bound) methods::" +msgstr "Приклад із (незв’язаними) методами::" + +msgid "Example with nested classes::" +msgstr "Приклад із вкладеними класами::" + +msgid "Example with nested functions::" +msgstr "Приклад із вкладеними функціями::" + +msgid "" +"The string representation of those objects is also changed to include the " +"new, more precise information::" +msgstr "" +"Рядкове подання цих об’єктів також змінено, щоб включити нову, більш точну " +"інформацію::" + +msgid ":pep:`3155` - Qualified name for classes and functions" +msgstr ":pep:`3155` - Уточнена назва для класів і функцій" + +msgid "PEP written and implemented by Antoine Pitrou." +msgstr "PEP написаний і реалізований Антуаном Пітру." + +msgid "PEP 412: Key-Sharing Dictionary" +msgstr "PEP 412: словник спільного використання ключів" + +msgid "" +"Dictionaries used for the storage of objects' attributes are now able to " +"share part of their internal storage between each other (namely, the part " +"which stores the keys and their respective hashes). This reduces the memory " +"consumption of programs creating many instances of non-builtin types." +msgstr "" +"Словники, які використовуються для зберігання атрибутів об’єктів, тепер " +"можуть спільно використовувати частину свого внутрішнього сховища між собою " +"(а саме ту частину, яка зберігає ключі та їхні відповідні хеші). Це зменшує " +"споживання пам’яті програмами, які створюють багато екземплярів невбудованих " +"типів." + +msgid ":pep:`412` - Key-Sharing Dictionary" +msgstr ":pep:`412` - Словник зі спільним використанням ключів" + +msgid "PEP written and implemented by Mark Shannon." +msgstr "PEP написав і реалізував Марк Шеннон." + +msgid "PEP 362: Function Signature Object" +msgstr "PEP 362: Об’єкт підпису функції" + +msgid "" +"A new function :func:`inspect.signature` makes introspection of python " +"callables easy and straightforward. A broad range of callables is " +"supported: python functions, decorated or not, classes, and :func:`functools." +"partial` objects. New classes :class:`inspect.Signature`, :class:`inspect." +"Parameter` and :class:`inspect.BoundArguments` hold information about the " +"call signatures, such as, annotations, default values, parameters kinds, and " +"bound arguments, which considerably simplifies writing decorators and any " +"code that validates or amends calling signatures or arguments." +msgstr "" +"Нова функція :func:`inspect.signature` робить інтроспекцію викликів Python " +"легкою та простою. Підтримується широкий діапазон викликів: функції python, " +"декоровані чи ні, класи та об’єкти :func:`functools.partial`. Нові класи :" +"class:`inspect.Signature`, :class:`inspect.Parameter` і :class:`inspect." +"BoundArguments` містять інформацію про підписи викликів, такі як анотації, " +"значення за замовчуванням, типи параметрів і зв’язані аргументи, що значно " +"спрощує написання декораторів і будь-якого коду, який перевіряє або змінює " +"підписи викликів або аргументи." + +msgid ":pep:`362`: - Function Signature Object" +msgstr ":pep:`362`: - Об'єкт підпису функції" + +msgid "" +"PEP written by Brett Cannon, Yury Selivanov, Larry Hastings, Jiwon Seo; " +"implemented by Yury Selivanov." +msgstr "" +"PEP автори Бретт Кеннон, Юрій Селіванов, Ларрі Гастінгс, Джівон Сео; " +"реалізував Юрій Селіванов." + +msgid "PEP 421: Adding sys.implementation" +msgstr "PEP 421: додавання sys.implementation" + +msgid "" +"A new attribute on the :mod:`sys` module exposes details specific to the " +"implementation of the currently running interpreter. The initial set of " +"attributes on :attr:`sys.implementation` are ``name``, ``version``, " +"``hexversion``, and ``cache_tag``." +msgstr "" +"Новий атрибут у модулі :mod:`sys` розкриває деталі, специфічні для " +"реалізації поточного інтерпретатора. Початковим набором атрибутів :attr:`sys." +"implementation` є ``name``, ``version``, ``hexversion`` і ``cache_tag``." + +msgid "" +"The intention of ``sys.implementation`` is to consolidate into one namespace " +"the implementation-specific data used by the standard library. This allows " +"different Python implementations to share a single standard library code " +"base much more easily. In its initial state, ``sys.implementation`` holds " +"only a small portion of the implementation-specific data. Over time that " +"ratio will shift in order to make the standard library more portable." +msgstr "" +"Метою ``sys.implementation`` є консолідація в один простір імен специфічних " +"для реалізації даних, які використовуються стандартною бібліотекою. Це " +"дозволяє різним реалізаціям Python набагато легше спільно використовувати " +"одну стандартну бібліотечну базу коду. У початковому стані ``sys." +"implementation`` містить лише невелику частину даних, що стосуються " +"реалізації. З часом це співвідношення зміниться, щоб зробити стандартну " +"бібліотеку більш портативною." + +msgid "" +"One example of improved standard library portability is ``cache_tag``. As " +"of Python 3.3, ``sys.implementation.cache_tag`` is used by :mod:`importlib` " +"to support :pep:`3147` compliance. Any Python implementation that uses " +"``importlib`` for its built-in import system may use ``cache_tag`` to " +"control the caching behavior for modules." +msgstr "" +"Одним із прикладів покращеної переносимості стандартної бібліотеки є " +"``cache_tag``. Починаючи з Python 3.3, ``sys.implementation.cache_tag`` " +"використовується :mod:`importlib` для підтримки :pep:`3147` відповідності. " +"Будь-яка реалізація Python, яка використовує ``importlib`` для своєї " +"вбудованої системи імпорту, може використовувати ``cache_tag`` для керування " +"поведінкою кешування для модулів." + +msgid "SimpleNamespace" +msgstr "SimpleNamespace" + +msgid "" +"The implementation of ``sys.implementation`` also introduces a new type to " +"Python: :class:`types.SimpleNamespace`. In contrast to a mapping-based " +"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, like :" +"class:`object`. However, unlike ``object``, ``SimpleNamespace`` instances " +"are writable. This means that you can add, remove, and modify the namespace " +"through normal attribute access." +msgstr "" +"Реалізація ``sys.implementation`` також вводить новий тип у Python: :class:" +"`types.SimpleNamespace`. На відміну від простору імен на основі зіставлення, " +"наприклад :class:`dict`, ``SimpleNamespace`` базується на атрибутах, як :" +"class:`object`. Однак, на відміну від ``object``, екземпляри " +"``SimpleNamespace`` доступні для запису. Це означає, що ви можете додавати, " +"видаляти та змінювати простір імен за допомогою звичайного доступу до " +"атрибутів." + +msgid ":pep:`421` - Adding sys.implementation" +msgstr ":pep:`421` - Додавання sys.implementation" + +msgid "PEP written and implemented by Eric Snow." +msgstr "PEP написав і реалізував Ерік Сноу." + +msgid "Using importlib as the Implementation of Import" +msgstr "Використання importlib як реалізації імпорту" + +msgid "" +":issue:`2377` - Replace __import__ w/ importlib.__import__ :issue:`13959` - " +"Re-implement parts of :mod:`imp` in pure Python :issue:`14605` - Make import " +"machinery explicit :issue:`14646` - Require loaders set __loader__ and " +"__package__" +msgstr "" +":issue:`2377` - Замінити __import__ на importlib.__import__ :issue:`13959` - " +"Повторно реалізувати частини :mod:`imp` на чистому Python :issue:`14605` - " +"Зробити механізм імпорту явним :issue:`14646` - Вимагати набір " +"завантажувачів __loader__ і __package__" + +msgid "" +"The :func:`__import__` function is now powered by :func:`importlib." +"__import__`. This work leads to the completion of \"phase 2\" of :pep:`302`. " +"There are multiple benefits to this change. First, it has allowed for more " +"of the machinery powering import to be exposed instead of being implicit and " +"hidden within the C code. It also provides a single implementation for all " +"Python VMs supporting Python 3.3 to use, helping to end any VM-specific " +"deviations in import semantics. And finally it eases the maintenance of " +"import, allowing for future growth to occur." +msgstr "" +"Функція :func:`__import__` тепер підтримується :func:`importlib.__import__`. " +"Ця робота призводить до завершення \"фази 2\" :pep:`302`. Ця зміна має " +"багато переваг. По-перше, це дозволило відкрити більшу частину механізму, що " +"забезпечує імпорт, замість того, щоб бути неявним і прихованим у коді C. Він " +"також забезпечує єдину реалізацію для всіх віртуальних машин Python, які " +"підтримують Python 3.3, допомагаючи покласти край будь-яким специфічним для " +"віртуальних машин відхилень у семантиці імпорту. І, нарешті, це полегшує " +"підтримку імпорту, дозволяючи відбутися майбутнє зростання." + +msgid "" +"For the common user, there should be no visible change in semantics. For " +"those whose code currently manipulates import or calls import " +"programmatically, the code changes that might possibly be required are " +"covered in the `Porting Python code`_ section of this document." +msgstr "" +"Для звичайного користувача не повинно бути видимих змін у семантиці. Для " +"тих, чий код наразі керує імпортом або викликає імпорт програмно, зміни " +"коду, які можуть знадобитися, розглядаються в розділі \"Перенесення коду " +"Python\" (`Porting Python code`_) цього документа." + +msgid "New APIs" +msgstr "Нові API" + +msgid "" +"One of the large benefits of this work is the exposure of what goes into " +"making the import statement work. That means the various importers that were " +"once implicit are now fully exposed as part of the :mod:`importlib` package." +msgstr "" +"Однією з значних переваг цієї роботи є розкриття того, що необхідно для " +"того, щоб оператор імпорту працював. Це означає, що різні імпортери, які " +"колись були неявними, тепер повністю доступні як частина пакета :mod:" +"`importlib`." + +msgid "" +"The abstract base classes defined in :mod:`importlib.abc` have been expanded " +"to properly delineate between :term:`meta path finders ` " +"and :term:`path entry finders ` by introducing :class:" +"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.PathEntryFinder`, " +"respectively. The old ABC of :class:`importlib.abc.Finder` is now only " +"provided for backwards-compatibility and does not enforce any method " +"requirements." +msgstr "" +"Абстрактні базові класи, визначені в :mod:`importlib.abc`, були розширені " +"для правильного розмежування між :term:`мета-шляхом пошуку ` та :term:`мета-пошуком шляху ` шляхом введення :" +"class:`importlib.abc. MetaPathFinder` і :class:`importlib.abc." +"PathEntryFinder` відповідно. Старий ABC :class:`importlib.abc.Finder` тепер " +"надається лише для зворотної сумісності та не передбачає жодних вимог до " +"методів." + +msgid "" +"In terms of finders, :class:`importlib.machinery.FileFinder` exposes the " +"mechanism used to search for source and bytecode files of a module. " +"Previously this class was an implicit member of :attr:`sys.path_hooks`." +msgstr "" +"З точки зору засобів пошуку, :class:`importlib.machinery.FileFinder` " +"відкриває механізм, який використовується для пошуку вихідних файлів і " +"файлів байт-коду модуля. Раніше цей клас був неявним членом :attr:`sys." +"path_hooks`." + +msgid "" +"For loaders, the new abstract base class :class:`importlib.abc.FileLoader` " +"helps write a loader that uses the file system as the storage mechanism for " +"a module's code. The loader for source files (:class:`importlib.machinery." +"SourceFileLoader`), sourceless bytecode files (:class:`importlib.machinery." +"SourcelessFileLoader`), and extension modules (:class:`importlib.machinery." +"ExtensionFileLoader`) are now available for direct use." +msgstr "" +"Для завантажувачів новий абстрактний базовий клас :class:`importlib.abc." +"FileLoader` допомагає написати завантажувач, який використовує файлову " +"систему як механізм зберігання коду модуля. Завантажувач для вихідних файлів " +"(:class:`importlib.machinery.SourceFileLoader`), файлів байт-кодів без " +"джерел (:class:`importlib.machinery.SourcelessFileLoader`) і модулів " +"розширення (:class:`importlib.machinery.ExtensionFileLoader`) є тепер " +"доступний для прямого використання." + +msgid "" +":exc:`ImportError` now has ``name`` and ``path`` attributes which are set " +"when there is relevant data to provide. The message for failed imports will " +"also provide the full name of the module now instead of just the tail end of " +"the module's name." +msgstr "" +":exc:`ImportError` тепер має атрибути ``name`` і ``path``, які " +"встановлюються, коли є відповідні дані для надання. У повідомленні про " +"невдалі імпорти тепер буде міститися повна назва модуля, а не лише кінцева " +"частина назви модуля." + +msgid "" +"The :func:`importlib.invalidate_caches` function will now call the method " +"with the same name on all finders cached in :attr:`sys.path_importer_cache` " +"to help clean up any stored state as necessary." +msgstr "" +"Функція :func:`importlib.invalidate_caches` тепер викличе метод з однаковою " +"назвою для всіх засобів пошуку, кешованих у :attr:`sys.path_importer_cache`, " +"щоб допомогти очистити будь-який збережений стан за потреби." + +msgid "Visible Changes" +msgstr "Видимі зміни" + +msgid "" +"For potential required changes to code, see the `Porting Python code`_ " +"section." +msgstr "" +"Інформацію про потенційно необхідні зміни коду див. у розділі \"Перенесення " +"коду Python\" (`Porting Python code`_)." + +msgid "" +"Beyond the expanse of what :mod:`importlib` now exposes, there are other " +"visible changes to import. The biggest is that :attr:`sys.meta_path` and :" +"attr:`sys.path_hooks` now store all of the meta path finders and path entry " +"hooks used by import. Previously the finders were implicit and hidden " +"within the C code of import instead of being directly exposed. This means " +"that one can now easily remove or change the order of the various finders to " +"fit one's needs." +msgstr "" +"Окрім того, що зараз відкриває :mod:`importlib`, існують інші видимі зміни " +"для імпорту. Найбільшим є те, що :attr:`sys.meta_path` і :attr:`sys." +"path_hooks` тепер зберігають усі шукачі мета-шляхів і перехоплювачі для " +"введення шляхів, які використовуються імпортом. Раніше шукачі були неявними " +"та прихованими в коді імпорту C замість того, щоб бути відкритими " +"безпосередньо. Це означає, що тепер можна легко видалити або змінити порядок " +"різних шукачів відповідно до своїх потреб." + +msgid "" +"Another change is that all modules have a ``__loader__`` attribute, storing " +"the loader used to create the module. :pep:`302` has been updated to make " +"this attribute mandatory for loaders to implement, so in the future once 3rd-" +"party loaders have been updated people will be able to rely on the existence " +"of the attribute. Until such time, though, import is setting the module post-" +"load." +msgstr "" +"Ще одна зміна полягає в тому, що всі модулі мають атрибут ``__loader__``, " +"який зберігає завантажувач, використаний для створення модуля. :pep:`302` " +"було оновлено, щоб зробити цей атрибут обов’язковим для завантажувачів, тож " +"у майбутньому, після оновлення завантажувачів сторонніх розробників, люди " +"зможуть покладатися на існування атрибута. Однак до цього часу імпорт " +"встановлює модуль після завантаження." + +msgid "" +"Loaders are also now expected to set the ``__package__`` attribute from :pep:" +"`366`. Once again, import itself is already setting this on all loaders " +"from :mod:`importlib` and import itself is setting the attribute post-load." +msgstr "" +"Тепер очікується, що завантажувачі встановлюють атрибут ``__package__`` з :" +"pep:`366`. Знову ж таки, сам імпорт уже встановлює це для всіх " +"завантажувачів із :mod:`importlib`, а сам імпорт встановлює атрибут після " +"завантаження." + +msgid "" +"``None`` is now inserted into :attr:`sys.path_importer_cache` when no finder " +"can be found on :attr:`sys.path_hooks`. Since :class:`imp.NullImporter` is " +"not directly exposed on :attr:`sys.path_hooks` it could no longer be relied " +"upon to always be available to use as a value representing no finder found." +msgstr "" +"``None`` тепер вставляється в :attr:`sys.path_importer_cache`, якщо в :attr:" +"`sys.path_hooks` не вдається знайти засіб пошуку. Оскільки :class:`imp." +"NullImporter` не доступний безпосередньо для :attr:`sys.path_hooks`, більше " +"не можна покладатися на те, що він завжди буде доступним для використання як " +"значення, що представляє не знайдений засіб пошуку." + +msgid "" +"All other changes relate to semantic changes which should be taken into " +"consideration when updating code for Python 3.3, and thus should be read " +"about in the `Porting Python code`_ section of this document." +msgstr "" +"Усі інші зміни стосуються семантичних змін, які слід враховувати під час " +"оновлення коду для Python 3.3, і тому про них слід прочитати в розділі " +"\"Перенесення коду Python\" (`Porting Python code`_) цього документа." + +msgid "(Implementation by Brett Cannon)" +msgstr "(Реалізація Бреттом Кенноном)" + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"Added support for Unicode name aliases and named sequences. Both :func:" +"`unicodedata.lookup()` and ``'\\N{...}'`` now resolve name aliases, and :" +"func:`unicodedata.lookup()` resolves named sequences too." +msgstr "" +"Додано підтримку псевдонімів імен Unicode та іменованих послідовностей. І :" +"func:`unicodedata.lookup()`, і ``'\\N{...}''`` тепер розпізнають псевдоніми " +"імен, а :func:`unicodedata.lookup()` також розпізнає іменовані послідовності." + +msgid "(Contributed by Ezio Melotti in :issue:`12753`.)" +msgstr "(Надав Еціо Мелотті в :issue:`12753`.)" + +msgid "Unicode database updated to UCD version 6.1.0" +msgstr "Базу даних Unicode оновлено до UCD версії 6.1.0" + +msgid "" +"Equality comparisons on :func:`range` objects now return a result reflecting " +"the equality of the underlying sequences generated by those range objects. (:" +"issue:`13201`)" +msgstr "" +"Порівняння рівності об’єктів :func:`range` тепер повертає результат, що " +"відображає рівність базових послідовностей, створених цими об’єктами " +"діапазону. (:issue:`13201`)" + +msgid "" +"The ``count()``, ``find()``, ``rfind()``, ``index()`` and ``rindex()`` " +"methods of :class:`bytes` and :class:`bytearray` objects now accept an " +"integer between 0 and 255 as their first argument." +msgstr "" +"Методи ``count()``, ``find()``, ``rfind()``, ``index()`` і ``rindex()`` :" +"class:`bytes` і: Об’єкти :class:`bytearray` тепер приймають ціле число від 0 " +"до 255 як перший аргумент." + +msgid "(Contributed by Petri Lehtinen in :issue:`12170`.)" +msgstr "(Надав Петрі Лехтінен у :issue:`12170`.)" + +msgid "" +"The ``rjust()``, ``ljust()``, and ``center()`` methods of :class:`bytes` " +"and :class:`bytearray` now accept a :class:`bytearray` for the ``fill`` " +"argument. (Contributed by Petri Lehtinen in :issue:`12380`.)" +msgstr "" +"Методи ``rjust()``, ``ljust()`` і ``center()`` :class:`bytes` і :class:" +"`bytearray` тепер приймають :class:`bytearray` для аргумент ``fill``. (Надав " +"Петрі Лехтінен у :issue:`12380`.)" + +msgid "" +"New methods have been added to :class:`list` and :class:`bytearray`: " +"``copy()`` and ``clear()`` (:issue:`10516`). Consequently, :class:" +"`~collections.abc.MutableSequence` now also defines a :meth:`~collections." +"abc.MutableSequence.clear` method (:issue:`11388`)." +msgstr "" +"До :class:`list` і :class:`bytearray` додано нові методи: ``copy()`` і " +"``clear()`` (:issue:`10516`). Отже, :class:`~collections.abc." +"MutableSequence` тепер також визначає метод :meth:`~collections.abc." +"MutableSequence.clear` (:issue:`11388`)." + +msgid "" +"Raw bytes literals can now be written ``rb\"...\"`` as well as ``br\"...\"``." +msgstr "" +"Необроблені байтові літерали тепер можна записати ``rb\"...\"``, а також ``br" +"\"...\"``." + +msgid "(Contributed by Antoine Pitrou in :issue:`13748`.)" +msgstr "(Надав Антуан Пітру в :issue:`13748`.)" + +msgid "" +":meth:`dict.setdefault` now does only one lookup for the given key, making " +"it atomic when used with built-in types." +msgstr "" +":meth:`dict.setdefault` тепер виконує лише один пошук для даного ключа, що " +"робить його атомарним при використанні з вбудованими типами." + +msgid "(Contributed by Filip Gruszczyński in :issue:`13521`.)" +msgstr "(Надав Філіп Грущинський у :issue:`13521`.)" + +msgid "" +"The error messages produced when a function call does not match the function " +"signature have been significantly improved." +msgstr "" +"Повідомлення про помилки, які видаються, коли виклик функції не відповідає " +"сигнатурі функції, було значно покращено." + +msgid "(Contributed by Benjamin Peterson.)" +msgstr "(Надав Бенджамін Петерсон.)" + +msgid "A Finer-Grained Import Lock" +msgstr "Точне блокування імпорту" + +msgid "" +"Previous versions of CPython have always relied on a global import lock. " +"This led to unexpected annoyances, such as deadlocks when importing a module " +"would trigger code execution in a different thread as a side-effect. Clumsy " +"workarounds were sometimes employed, such as the :c:func:" +"`PyImport_ImportModuleNoBlock` C API function." +msgstr "" +"Попередні версії CPython завжди покладалися на глобальне блокування імпорту. " +"Це призвело до неочікуваних проблем, наприклад, взаємоблокування під час " +"імпортування модуля викликало б виконання коду в іншому потоці як побічний " +"ефект. Інколи використовувалися незграбні обхідні шляхи, наприклад функція C " +"API :c:func:`PyImport_ImportModuleNoBlock`." + +msgid "" +"In Python 3.3, importing a module takes a per-module lock. This correctly " +"serializes importation of a given module from multiple threads (preventing " +"the exposure of incompletely initialized modules), while eliminating the " +"aforementioned annoyances." +msgstr "" +"У Python 3.3 імпортування модуля потребує блокування кожного модуля. Це " +"правильно серіалізує імпорт певного модуля з кількох потоків (запобігаючи " +"виявленню неповністю ініціалізованих модулів), одночасно усуваючи " +"вищезгадані незручності." + +msgid "(Contributed by Antoine Pitrou in :issue:`9260`.)" +msgstr "(Надав Антуан Пітру в :issue:`9260`.)" + +msgid "Builtin functions and types" +msgstr "Вбудовані функції та типи" + +msgid "" +":func:`open` gets a new *opener* parameter: the underlying file descriptor " +"for the file object is then obtained by calling *opener* with (*file*, " +"*flags*). It can be used to use custom flags like :data:`os.O_CLOEXEC` for " +"example. The ``'x'`` mode was added: open for exclusive creation, failing if " +"the file already exists." +msgstr "" +":func:`open` отримує новий параметр *opener*: базовий файловий дескриптор " +"для об’єкта файлу отримується шляхом виклику *opener* за допомогою (*file*, " +"*flags*). Його можна використовувати, наприклад, для використання " +"спеціальних прапорів, таких як :data:`os.O_CLOEXEC`. Додано режим ``'x``: " +"відкритий для ексклюзивного створення, не вдається, якщо файл уже існує." + +msgid "" +":func:`print`: added the *flush* keyword argument. If the *flush* keyword " +"argument is true, the stream is forcibly flushed." +msgstr "" +":func:`print`: додано аргумент ключового слова *flush*. Якщо аргумент " +"ключового слова *flush* має значення true, потік примусово очищається." + +msgid "" +":func:`hash`: hash randomization is enabled by default, see :meth:`object." +"__hash__` and :envvar:`PYTHONHASHSEED`." +msgstr "" +":func:`hash`: рандомізація хешу ввімкнена за замовчуванням, див. :meth:" +"`object.__hash__` і :envvar:`PYTHONHASHSEED`." + +msgid "" +"The :class:`str` type gets a new :meth:`~str.casefold` method: return a " +"casefolded copy of the string, casefolded strings may be used for caseless " +"matching. For example, ``'ß'.casefold()`` returns ``'ss'``." +msgstr "" +"Тип :class:`str` отримує новий метод :meth:`~str.casefold`: повертає " +"згорнуту копію рядка, згорнуті рядки можна використовувати для зіставлення " +"без регістру. Наприклад, ``'ß'.casefold()`` повертає ``'ss'``." + +msgid "" +"The sequence documentation has been substantially rewritten to better " +"explain the binary/text sequence distinction and to provide specific " +"documentation sections for the individual builtin sequence types (:issue:" +"`4966`)." +msgstr "" +"Документацію послідовності було суттєво переписано, щоб краще пояснити " +"різницю між двійковою та текстовою послідовністю та надати окремі розділи " +"документації для окремих вбудованих типів послідовностей (:issue:`4966`)." + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "faulthandler" +msgstr "обробник помилок" + +msgid "" +"This new debug module :mod:`faulthandler` contains functions to dump Python " +"tracebacks explicitly, on a fault (a crash like a segmentation fault), after " +"a timeout, or on a user signal. Call :func:`faulthandler.enable` to install " +"fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :" +"const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at " +"startup by setting the :envvar:`PYTHONFAULTHANDLER` environment variable or " +"by using :option:`-X` ``faulthandler`` command line option." +msgstr "" +"Цей новий модуль налагодження :mod:`faulthandler` містить функції для явного " +"створення дампу трасування Python у разі помилки (збій, як помилка " +"сегментації), після тайм-ауту або за сигналом користувача. Викличте :func:" +"`faulthandler.enable`, щоб установити обробники помилок для :const:" +"`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` і :const:" +"`SIGILL` сигнали. Ви також можете ввімкнути їх під час запуску, встановивши " +"змінну середовища :envvar:`PYTHONFAULTHANDLER` або використовуючи параметр " +"командного рядка :option:`-X` ``faulthandler``." + +msgid "Example of a segmentation fault on Linux:" +msgstr "Приклад помилки сегментації в Linux:" + +msgid "ipaddress" +msgstr "IP-адреса" + +msgid "" +"The new :mod:`ipaddress` module provides tools for creating and manipulating " +"objects representing IPv4 and IPv6 addresses, networks and interfaces (i.e. " +"an IP address associated with a specific IP subnet)." +msgstr "" +"Новий модуль :mod:`ipaddress` надає інструменти для створення та керування " +"об’єктами, що представляють адреси IPv4 та IPv6, мережі та інтерфейси (тобто " +"IP-адресу, пов’язану з певною підмережею IP)." + +msgid "(Contributed by Google and Peter Moody in :pep:`3144`.)" +msgstr "(Надано Google і Пітером Муді в :pep:`3144`.)" + +msgid "lzma" +msgstr "lzma" + +msgid "" +"The newly added :mod:`lzma` module provides data compression and " +"decompression using the LZMA algorithm, including support for the ``.xz`` " +"and ``.lzma`` file formats." +msgstr "" + +msgid "(Contributed by Nadeem Vawda and Per Øyvind Karlsen in :issue:`6715`.)" +msgstr "(Надім Вавда та Пер Ойвінд Карлсен у :issue:`6715`.)" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "abc" +msgstr "абв" + +msgid "" +"Improved support for abstract base classes containing descriptors composed " +"with abstract methods. The recommended approach to declaring abstract " +"descriptors is now to provide :attr:`__isabstractmethod__` as a dynamically " +"updated property. The built-in descriptors have been updated accordingly." +msgstr "" +"Покращена підтримка абстрактних базових класів, що містять дескриптори, " +"складені за допомогою абстрактних методів. Рекомендованим підходом до " +"оголошення абстрактних дескрипторів тепер є надання :attr:" +"`__isabstractmethod__` як динамічно оновлюваної властивості. Вбудовані " +"дескриптори були відповідно оновлені." + +msgid "" +":class:`abc.abstractproperty` has been deprecated, use :class:`property` " +"with :func:`abc.abstractmethod` instead." +msgstr "" +":class:`abc.abstractproperty` застаріло, замість цього використовуйте :class:" +"`property` з :func:`abc.abstractmethod`." + +msgid "" +":class:`abc.abstractclassmethod` has been deprecated, use :class:" +"`classmethod` with :func:`abc.abstractmethod` instead." +msgstr "" +":class:`abc.abstractclassmethod` застаріло, замість нього використовуйте :" +"class:`classmethod` з :func:`abc.abstractmethod`." + +msgid "" +":class:`abc.abstractstaticmethod` has been deprecated, use :class:" +"`staticmethod` with :func:`abc.abstractmethod` instead." +msgstr "" +":class:`abc.abstractstaticmethod` застарів, замість нього використовуйте :" +"class:`staticmethod` з :func:`abc.abstractmethod`." + +msgid "(Contributed by Darren Dale in :issue:`11610`.)" +msgstr "(Надав Даррен Дейл у :issue:`11610`.)" + +msgid "" +":meth:`abc.ABCMeta.register` now returns the registered subclass, which " +"means it can now be used as a class decorator (:issue:`10868`)." +msgstr "" +":meth:`abc.ABCMeta.register` тепер повертає зареєстрований підклас, що " +"означає, що тепер його можна використовувати як декоратор класу (:issue:" +"`10868`)." + +msgid "array" +msgstr "масив" + +msgid "" +"The :mod:`array` module supports the :c:expr:`long long` type using ``q`` " +"and ``Q`` type codes." +msgstr "" + +msgid "(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.)" +msgstr "(Надано Ореном Тірошем і Хірокадзу Ямамото в :issue:`1172711`.)" + +msgid "base64" +msgstr "база64" + +msgid "" +"ASCII-only Unicode strings are now accepted by the decoding functions of " +"the :mod:`base64` modern interface. For example, ``base64." +"b64decode('YWJj')`` returns ``b'abc'``. (Contributed by Catalin Iacob in :" +"issue:`13641`.)" +msgstr "" +"Функції декодування сучасного інтерфейсу :mod:`base64` тепер приймають рядки " +"Unicode лише для ASCII. Наприклад, ``base64.b64decode('YWJj')`` повертає " +"``b'abc``. (Надав Каталін Якоб у :issue:`13641`.)" + +msgid "binascii" +msgstr "binascii" + +msgid "" +"In addition to the binary objects they normally accept, the ``a2b_`` " +"functions now all also accept ASCII-only strings as input. (Contributed by " +"Antoine Pitrou in :issue:`13637`.)" +msgstr "" +"На додаток до двійкових об’єктів, які вони зазвичай приймають, усі функції " +"``a2b_`` тепер також приймають як вхідні рядки лише ASCII. (Надав Антуан " +"Пітру в :issue:`13637`.)" + +msgid "bz2" +msgstr "bz2" + +msgid "" +"The :mod:`bz2` module has been rewritten from scratch. In the process, " +"several new features have been added:" +msgstr "" +"Модуль :mod:`bz2` було переписано з нуля. У процесі було додано кілька нових " +"функцій:" + +msgid "" +"New :func:`bz2.open` function: open a bzip2-compressed file in binary or " +"text mode." +msgstr "" +"Нова функція :func:`bz2.open`: відкриває файл, стиснутий за допомогою bzip2, " +"у двійковому або текстовому режимі." + +msgid "" +":class:`bz2.BZ2File` can now read from and write to arbitrary file-like " +"objects, by means of its constructor's *fileobj* argument." +msgstr "" +":class:`bz2.BZ2File` тепер може читати та записувати довільні файлоподібні " +"об’єкти за допомогою аргументу *fileobj* свого конструктора." + +msgid "(Contributed by Nadeem Vawda in :issue:`5863`.)" +msgstr "(Надім Вавда в :issue:`5863`.)" + +msgid "" +":class:`bz2.BZ2File` and :func:`bz2.decompress` can now decompress multi-" +"stream inputs (such as those produced by the :program:`pbzip2` tool). :class:" +"`bz2.BZ2File` can now also be used to create this type of file, using the " +"``'a'`` (append) mode." +msgstr "" +":class:`bz2.BZ2File` і :func:`bz2.decompress` тепер можуть розпакувати " +"багатопотокові вхідні дані (наприклад, створені інструментом :program:" +"`pbzip2`). :class:`bz2.BZ2File` тепер також можна використовувати для " +"створення цього типу файлу, використовуючи режим ``'a'`` (додавання)." + +msgid "(Contributed by Nir Aides in :issue:`1625`.)" +msgstr "(Надано Nir Aides у :issue:`1625`.)" + +msgid "" +":class:`bz2.BZ2File` now implements all of the :class:`io.BufferedIOBase` " +"API, except for the :meth:`detach` and :meth:`truncate` methods." +msgstr "" +":class:`bz2.BZ2File` тепер реалізує всі API :class:`io.BufferedIOBase`, крім " +"методів :meth:`detach` і :meth:`truncate`." + +msgid "codecs" +msgstr "кодеки" + +msgid "" +"The :mod:`~encodings.mbcs` codec has been rewritten to handle correctly " +"``replace`` and ``ignore`` error handlers on all Windows versions. The :mod:" +"`~encodings.mbcs` codec now supports all error handlers, instead of only " +"``replace`` to encode and ``ignore`` to decode." +msgstr "" +"Кодек :mod:`~encodings.mbcs` було переписано для правильної обробки " +"обробників помилок ``replace`` та ``ignore`` у всіх версіях Windows. Кодек :" +"mod:`~encodings.mbcs` тепер підтримує всі обробники помилок, замість лише " +"``replace`` для кодування та ``ignore`` для декодування." + +msgid "" +"A new Windows-only codec has been added: ``cp65001`` (:issue:`13216`). It is " +"the Windows code page 65001 (Windows UTF-8, ``CP_UTF8``). For example, it " +"is used by ``sys.stdout`` if the console output code page is set to cp65001 " +"(e.g., using ``chcp 65001`` command)." +msgstr "" +"Додано новий кодек лише для Windows: ``cp65001`` (:issue:`13216`). Це кодова " +"сторінка Windows 65001 (Windows UTF-8, ``CP_UTF8``). Наприклад, він " +"використовується ``sys.stdout``, якщо для кодової сторінки консолі " +"встановлено значення cp65001 (наприклад, за допомогою команди ``chcp " +"65001``)." + +msgid "" +"Multibyte CJK decoders now resynchronize faster. They only ignore the first " +"byte of an invalid byte sequence. For example, ``b'\\xff\\n'." +"decode('gb2312', 'replace')`` now returns a ``\\n`` after the replacement " +"character." +msgstr "" +"Багатобайтові декодери CJK тепер повторно синхронізуються швидше. Вони " +"ігнорують лише перший байт недійсної послідовності байтів. Наприклад, " +"``b'\\xff\\n'.decode('gb2312', 'replace')`` тепер повертає ``\\n`` після " +"символу заміни." + +msgid "(:issue:`12016`)" +msgstr "(:issue:`12016`)" + +msgid "" +"Incremental CJK codec encoders are no longer reset at each call to their " +"encode() methods. For example::" +msgstr "" +"Інкрементні кодеки CJK більше не скидаються під час кожного виклику методів " +"encode(). Наприклад::" + +msgid "" +"This example gives ``b'~{Np~}~{J)~}~{l6~}~{HK~}~{!#~} Bye.'`` with older " +"Python versions." +msgstr "" +"Цей приклад дає ``b'~{Np~}~{J)~}~{l6~}~{HK~}~{!#~} До побачення.''`` зі " +"старішими версіями Python." + +msgid "(:issue:`12100`)" +msgstr "(:issue:`12100`)" + +msgid "The ``unicode_internal`` codec has been deprecated." +msgstr "Кодек ``unicode_internal`` застарів." + +msgid "collections" +msgstr "колекції" + +msgid "" +"Addition of a new :class:`~collections.ChainMap` class to allow treating a " +"number of mappings as a single unit. (Written by Raymond Hettinger for :" +"issue:`11089`, made public in :issue:`11297`.)" +msgstr "" +"Додано новий клас :class:`~collections.ChainMap`, щоб дозволити обробляти " +"кілька відображень як єдине ціле. (Написано Реймондом Геттінгером для :issue:" +"`11089`, оприлюднено в :issue:`11297`.)" + +msgid "" +"The abstract base classes have been moved in a new :mod:`collections.abc` " +"module, to better differentiate between the abstract and the concrete " +"collections classes. Aliases for ABCs are still present in the :mod:" +"`collections` module to preserve existing imports. (:issue:`11085`)" +msgstr "" +"Базові абстрактні класи переміщено в новий модуль :mod:`collections.abc`, " +"щоб краще розрізняти абстрактні та конкретні класи колекцій. Псевдоніми для " +"ABC все ще присутні в модулі :mod:`collections`, щоб зберегти існуючий " +"імпорт. (:issue:`11085`)" + +msgid "" +"The :class:`~collections.Counter` class now supports the unary ``+`` and ``-" +"`` operators, as well as the in-place operators ``+=``, ``-=``, ``|=``, and " +"``&=``. (Contributed by Raymond Hettinger in :issue:`13121`.)" +msgstr "" +"Клас :class:`~collections.Counter` тепер підтримує унарні оператори ``+`` і " +"``-``, а також оператори на місці ``+=``, ``-=``, ``|=`` і ``&=``. (Надав " +"Раймонд Геттінгер у :issue:`13121`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +":class:`~contextlib.ExitStack` now provides a solid foundation for " +"programmatic manipulation of context managers and similar cleanup " +"functionality. Unlike the previous ``contextlib.nested`` API (which was " +"deprecated and removed), the new API is designed to work correctly " +"regardless of whether context managers acquire their resources in their " +"``__init__`` method (for example, file objects) or in their ``__enter__`` " +"method (for example, synchronisation objects from the :mod:`threading` " +"module)." +msgstr "" +":class:`~contextlib.ExitStack` тепер забезпечує міцну основу для програмного " +"маніпулювання менеджерами контексту та подібними функціями очищення. На " +"відміну від попереднього API ``contextlib.nested`` (який був застарілим і " +"видалений), новий API розроблено для правильної роботи незалежно від того, " +"чи менеджери контексту отримують свої ресурси в своєму методі ``__init__`` " +"(наприклад, файлові об’єкти). або в їх методі ``__enter__`` (наприклад, " +"об’єкти синхронізації з модуля :mod:`threading`)." + +msgid "(:issue:`13585`)" +msgstr "(:issue:`13585`)" + +msgid "crypt" +msgstr "склеп" + +msgid "" +"Addition of salt and modular crypt format (hashing method) and the :func:" +"`~crypt.mksalt` function to the :mod:`crypt` module." +msgstr "" +"Додано сіль і модульний формат крипти (метод хешування) і функцію :func:" +"`~crypt.mksalt` до модуля :mod:`crypt`." + +msgid "(:issue:`10924`)" +msgstr "(:issue:`10924`)" + +msgid "curses" +msgstr "прокльони" + +msgid "" +"If the :mod:`curses` module is linked to the ncursesw library, use Unicode " +"functions when Unicode strings or characters are passed (e.g. :c:func:" +"`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)." +msgstr "" +"Якщо модуль :mod:`curses` пов’язано з бібліотекою ncursesw, використовуйте " +"функції Unicode, коли передаються рядки або символи Unicode (наприклад, :c:" +"func:`waddwstr`), і функції bytes в іншому випадку (наприклад, :c:func:" +"`waddstr`)." + +msgid "Use the locale encoding instead of ``utf-8`` to encode Unicode strings." +msgstr "" +"Використовуйте кодування мови замість ``utf-8`` для кодування рядків Unicode." + +msgid "" +":class:`curses.window` has a new :attr:`curses.window.encoding` attribute." +msgstr "" +":class:`curses.window` має новий атрибут :attr:`curses.window.encoding`." + +msgid "" +"The :class:`curses.window` class has a new :meth:`~curses.window.get_wch` " +"method to get a wide character" +msgstr "" +"Клас :class:`curses.window` має новий метод :meth:`~curses.window.get_wch` " +"для отримання широкого символу" + +msgid "" +"The :mod:`curses` module has a new :meth:`~curses.unget_wch` function to " +"push a wide character so the next :meth:`~curses.window.get_wch` will return " +"it" +msgstr "" +"Модуль :mod:`curses` має нову функцію :meth:`~curses.unget_wch`, яка " +"надсилає широкий символ, щоб наступний :meth:`~curses.window.get_wch` " +"повертав його" + +msgid "(Contributed by Iñigo Serna in :issue:`6755`.)" +msgstr "(Надав Іньїго Серна в :issue:`6755`.)" + +msgid "datetime" +msgstr "дата, час" + +msgid "" +"Equality comparisons between naive and aware :class:`~datetime.datetime` " +"instances now return :const:`False` instead of raising :exc:`TypeError` (:" +"issue:`15006`)." +msgstr "" +"Порівняння рівності між простими та обізнаними екземплярами :class:" +"`~datetime.datetime` тепер повертає :const:`False` замість того, щоб " +"викликати :exc:`TypeError` (:issue:`15006`)." + +msgid "" +"New :meth:`datetime.datetime.timestamp` method: Return POSIX timestamp " +"corresponding to the :class:`~datetime.datetime` instance." +msgstr "" +"Новий метод :meth:`datetime.datetime.timestamp`: повертає позначку часу " +"POSIX, що відповідає екземпляру :class:`~datetime.datetime`." + +msgid "" +"The :meth:`datetime.datetime.strftime` method supports formatting years " +"older than 1000." +msgstr "" +"Метод :meth:`datetime.datetime.strftime` підтримує форматування років старше " +"1000." + +msgid "" +"The :meth:`datetime.datetime.astimezone` method can now be called without " +"arguments to convert datetime instance to the system timezone." +msgstr "" +"Метод :meth:`datetime.datetime.astimezone` тепер можна викликати без " +"аргументів для перетворення екземпляра datetime у системний часовий пояс." + +msgid "decimal" +msgstr "десятковий" + +msgid ":issue:`7652` - integrate fast native decimal arithmetic." +msgstr ":issue:`7652` - інтегрувати швидку власну десяткову арифметику." + +msgid "C-module and libmpdec written by Stefan Krah." +msgstr "C-module і libmpdec, написані Stefan Krah." + +msgid "" +"The new C version of the decimal module integrates the high speed libmpdec " +"library for arbitrary precision correctly rounded decimal floating point " +"arithmetic. libmpdec conforms to IBM's General Decimal Arithmetic " +"Specification." +msgstr "" + +msgid "" +"Performance gains range from 10x for database applications to 100x for " +"numerically intensive applications. These numbers are expected gains for " +"standard precisions used in decimal floating point arithmetic. Since the " +"precision is user configurable, the exact figures may vary. For example, in " +"integer bignum arithmetic the differences can be significantly higher." +msgstr "" +"Підвищення продуктивності коливається від 10 разів для додатків баз даних до " +"100 разів для інтенсивних програм. Ці числа є очікуваними приростами для " +"стандартної точності, яка використовується в десятковій арифметиці з " +"плаваючою комою. Оскільки точність налаштовується користувачем, точні цифри " +"можуть відрізнятися. Наприклад, у цілочисельній арифметиці bignum " +"відмінності можуть бути значно вищими." + +msgid "" +"The following table is meant as an illustration. Benchmarks are available at " +"https://www.bytereef.org/mpdecimal/quickstart.html." +msgstr "" + +msgid "decimal.py" +msgstr "decimal.py" + +msgid "_decimal" +msgstr "_десятковий" + +msgid "speedup" +msgstr "прискорювати" + +msgid "pi" +msgstr "пі" + +msgid "42.02s" +msgstr "42,02с" + +msgid "0.345s" +msgstr "0,345с" + +msgid "120x" +msgstr "120x" + +msgid "telco" +msgstr "телекомунікаційна компанія" + +msgid "172.19s" +msgstr "172,19с" + +msgid "5.68s" +msgstr "5,68с" + +msgid "30x" +msgstr "30x" + +msgid "psycopg" +msgstr "psycopg" + +msgid "3.57s" +msgstr "3,57с" + +msgid "0.29s" +msgstr "0,29 с" + +msgid "12x" +msgstr "12x" + +msgid "" +"The :exc:`~decimal.FloatOperation` signal optionally enables stricter " +"semantics for mixing floats and Decimals." +msgstr "" +"Сигнал :exc:`~decimal.FloatOperation` додатково вмикає суворішу семантику " +"для змішування чисел з плаваючою точкою та десяткових знаків." + +msgid "" +"If Python is compiled without threads, the C version automatically disables " +"the expensive thread local context machinery. In this case, the variable :" +"data:`~decimal.HAVE_THREADS` is set to ``False``." +msgstr "" +"Якщо Python скомпільовано без потоків, версія C автоматично вимикає дорогий " +"механізм локального контексту потоків. У цьому випадку змінна :data:" +"`~decimal.HAVE_THREADS` має значення ``False``." + +msgid "" +"The C module has the following context limits, depending on the machine " +"architecture:" +msgstr "" +"Модуль C має такі контекстні обмеження, залежно від архітектури машини:" + +msgid "32-bit" +msgstr "32-розрядний" + +msgid "64-bit" +msgstr "64-розрядний" + +msgid ":const:`MAX_PREC`" +msgstr ":const:`MAX_PREC`" + +msgid ":const:`425000000`" +msgstr ":const:`425000000`" + +msgid ":const:`999999999999999999`" +msgstr ":const:`999999999999999999`" + +msgid ":const:`MAX_EMAX`" +msgstr ":const:`MAX_EMAX`" + +msgid ":const:`MIN_EMIN`" +msgstr ":const:`MIN_EMIN`" + +msgid ":const:`-425000000`" +msgstr ":const:`-425000000`" + +msgid ":const:`-999999999999999999`" +msgstr ":const:`-999999999999999999`" + +msgid "" +"In the context templates (:class:`~decimal.DefaultContext`, :class:`~decimal." +"BasicContext` and :class:`~decimal.ExtendedContext`) the magnitude of :attr:" +"`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin` has changed to :" +"const:`999999`." +msgstr "" +"У шаблонах контексту (:class:`~decimal.DefaultContext`, :class:`~decimal." +"BasicContext` і :class:`~decimal.ExtendedContext`) величина :attr:`~decimal." +"Context.Emax` і :attr:`~decimal.Context.Emin` змінено на :const:`999999`." + +msgid "" +"The :class:`~decimal.Decimal` constructor in decimal.py does not observe the " +"context limits and converts values with arbitrary exponents or precision " +"exactly. Since the C version has internal limits, the following scheme is " +"used: If possible, values are converted exactly, otherwise :exc:`~decimal." +"InvalidOperation` is raised and the result is NaN. In the latter case it is " +"always possible to use :meth:`~decimal.Context.create_decimal` in order to " +"obtain a rounded or inexact value." +msgstr "" +"Конструктор :class:`~decimal.Decimal` у decimal.py не дотримується " +"контекстних обмежень і точно перетворює значення з довільним показником " +"ступеня чи точністю. Оскільки версія C має внутрішні обмеження, " +"використовується така схема: якщо можливо, значення перетворюються точно, " +"інакше :exc:`~decimal.InvalidOperation` викликається, і результатом є NaN. В " +"останньому випадку завжди можна використовувати :meth:`~decimal.Context." +"create_decimal`, щоб отримати округлене або неточне значення." + +msgid "" +"The power function in decimal.py is always correctly rounded. In the C " +"version, it is defined in terms of the correctly rounded :meth:`~decimal." +"Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but the final result " +"is only \"almost always correctly rounded\"." +msgstr "" + +msgid "" +"In the C version, the context dictionary containing the signals is a :class:" +"`~collections.abc.MutableMapping`. For speed reasons, :attr:`~decimal." +"Context.flags` and :attr:`~decimal.Context.traps` always refer to the same :" +"class:`~collections.abc.MutableMapping` that the context was initialized " +"with. If a new signal dictionary is assigned, :attr:`~decimal.Context.flags` " +"and :attr:`~decimal.Context.traps` are updated with the new values, but they " +"do not reference the RHS dictionary." +msgstr "" +"У версії C контекстний словник, що містить сигнали, є :class:`~collections." +"abc.MutableMapping`. З міркувань швидкості :attr:`~decimal.Context.flags` і :" +"attr:`~decimal.Context.traps` завжди посилаються на той самий :class:" +"`~collections.abc.MutableMapping`, яким було ініціалізовано контекст. Якщо " +"призначено новий словник сигналів, :attr:`~decimal.Context.flags` і :attr:" +"`~decimal.Context.traps` оновлюються новими значеннями, але вони не " +"посилаються на словник RHS." + +msgid "" +"Pickling a :class:`~decimal.Context` produces a different output in order to " +"have a common interchange format for the Python and C versions." +msgstr "" +"Видалення :class:`~decimal.Context` створює інший вихід, щоб мати загальний " +"формат обміну для версій Python і C." + +msgid "" +"The order of arguments in the :class:`~decimal.Context` constructor has been " +"changed to match the order displayed by :func:`repr`." +msgstr "" +"Порядок аргументів у конструкторі :class:`~decimal.Context` змінено " +"відповідно до порядку, який відображає :func:`repr`." + +msgid "" +"The ``watchexp`` parameter in the :meth:`~decimal.Decimal.quantize` method " +"is deprecated." +msgstr "" +"Параметр ``watchexp`` у методі :meth:`~decimal.Decimal.quantize` застарів." + +msgid "email" +msgstr "електронною поштою" + +msgid "Policy Framework" +msgstr "Рамкова політика" + +msgid "" +"The email package now has a :mod:`~email.policy` framework. A :class:" +"`~email.policy.Policy` is an object with several methods and properties that " +"control how the email package behaves. The primary policy for Python 3.3 is " +"the :class:`~email.policy.Compat32` policy, which provides backward " +"compatibility with the email package in Python 3.2. A ``policy`` can be " +"specified when an email message is parsed by a :mod:`~email.parser`, or when " +"a :class:`~email.message.Message` object is created, or when an email is " +"serialized using a :mod:`~email.generator`. Unless overridden, a policy " +"passed to a ``parser`` is inherited by all the ``Message`` object and sub-" +"objects created by the ``parser``. By default a ``generator`` will use the " +"policy of the ``Message`` object it is serializing. The default policy is :" +"data:`~email.policy.compat32`." +msgstr "" +"Пакет електронної пошти тепер має структуру :mod:`~email.policy`. :class:" +"`~email.policy.Policy` — це об’єкт із кількома методами та властивостями, " +"які контролюють поведінку пакета електронної пошти. Основною політикою для " +"Python 3.3 є політика :class:`~email.policy.Compat32`, яка забезпечує " +"зворотну сумісність із пакетом електронної пошти в Python 3.2. ``Політику`` " +"можна вказати, коли повідомлення електронної пошти аналізується :mod:`~email." +"parser`, або коли створюється об’єкт :class:`~email.message.Message`, або " +"коли електронний лист серіалізовано за допомогою :mod:`~email.generator`. " +"Якщо політика, передана аналізатору, не перевизначена, успадковується всіма " +"об’єктами Message і підоб’єктами, створеними синтаксичним аналізатором. За " +"замовчуванням ``генератор`` використовуватиме політику об’єкта ``Message``, " +"який він серіалізує. Політика за умовчанням: :data:`~email.policy.compat32`." + +msgid "The minimum set of controls implemented by all ``policy`` objects are:" +msgstr "" +"Мінімальний набір елементів керування, реалізований усіма об’єктами " +"``policy``:" + +msgid "max_line_length" +msgstr "максимальна_довжина_рядка" + +msgid "" +"The maximum length, excluding the linesep character(s), individual lines may " +"have when a ``Message`` is serialized. Defaults to 78." +msgstr "" +"Максимальна довжина окремих рядків, за винятком символів рядків, може бути у " +"серіалізованому ``повідомленні``. За замовчуванням 78." + +msgid "linesep" +msgstr "linesep" + +msgid "" +"The character used to separate individual lines when a ``Message`` is " +"serialized. Defaults to ``\\n``." +msgstr "" +"Символ, який використовується для розділення окремих рядків, коли " +"``Message`` серіалізується. За замовчуванням ``\\n``." + +msgid "cte_type" +msgstr "cte_type" + +msgid "" +"``7bit`` or ``8bit``. ``8bit`` applies only to a ``Bytes`` ``generator``, " +"and means that non-ASCII may be used where allowed by the protocol (or where " +"it exists in the original input)." +msgstr "" +"``7bit`` або ``8bit``. ``8bit`` застосовується лише до ``генератора`` " +"``Bytes`` і означає, що не-ASCII може використовуватися там, де це дозволено " +"протоколом (або там, де воно існує у вихідному введенні)." + +msgid "raise_on_defect" +msgstr "підвищення_на_дефект" + +msgid "" +"Causes a ``parser`` to raise error when defects are encountered instead of " +"adding them to the ``Message`` object's ``defects`` list." +msgstr "" +"Примушує ``аналізатор`` викликати помилку, коли трапляються дефекти, замість " +"того, щоб додавати їх до списку ``дефектів`` об'єкта ``Message``." + +msgid "" +"A new policy instance, with new settings, is created using the :meth:`~email." +"policy.Policy.clone` method of policy objects. ``clone`` takes any of the " +"above controls as keyword arguments. Any control not specified in the call " +"retains its default value. Thus you can create a policy that uses ``\\r" +"\\n`` linesep characters like this::" +msgstr "" +"Новий екземпляр політики з новими налаштуваннями створюється за допомогою " +"методу об’єктів політики :meth:`~email.policy.Policy.clone`. ``clone`` " +"приймає будь-який із наведених вище елементів керування як аргумент " +"ключового слова. Будь-який елемент керування, не вказаний у виклику, " +"зберігає значення за замовчуванням. Таким чином, ви можете створити " +"політику, яка використовує символи рядка ``\\r\\n``, як це:" + +msgid "" +"Policies can be used to make the generation of messages in the format needed " +"by your application simpler. Instead of having to remember to specify " +"``linesep='\\r\\n'`` in all the places you call a ``generator``, you can " +"specify it once, when you set the policy used by the ``parser`` or the " +"``Message``, whichever your program uses to create ``Message`` objects. On " +"the other hand, if you need to generate messages in multiple forms, you can " +"still specify the parameters in the appropriate ``generator`` call. Or you " +"can have custom policy instances for your different cases, and pass those in " +"when you create the ``generator``." +msgstr "" +"Політики можна використовувати для спрощення створення повідомлень у " +"форматі, необхідному вашій програмі. Замість того, щоб не забувати вказувати " +"``linesep='\\r\\n'`` у всіх місцях, які ви називаєте ``генератором``, ви " +"можете вказати його один раз, коли ви встановлюєте політику, яку " +"використовує ``'парсер'`` або ``Message``, залежно від того, що ваша " +"програма використовує для створення об’єктів ``Message``. З іншого боку, " +"якщо вам потрібно генерувати повідомлення в кількох формах, ви можете " +"вказати параметри у відповідному виклику ``generator``. Або ви можете мати " +"спеціальні екземпляри політики для різних випадків і передати їх під час " +"створення ``генератора``." + +msgid "Provisional Policy with New Header API" +msgstr "Попередня політика з новим API заголовка" + +msgid "" +"While the policy framework is worthwhile all by itself, the main motivation " +"for introducing it is to allow the creation of new policies that implement " +"new features for the email package in a way that maintains backward " +"compatibility for those who do not use the new policies. Because the new " +"policies introduce a new API, we are releasing them in Python 3.3 as a :term:" +"`provisional policy `. Backwards incompatible changes " +"(up to and including removal of the code) may occur if deemed necessary by " +"the core developers." +msgstr "" +"Незважаючи на те, що структура політики сама по собі варта уваги, головною " +"мотивацією для її впровадження є можливість створення нових політик, які " +"реалізують нові функції для пакета електронної пошти таким чином, щоб " +"підтримувати зворотну сумісність для тих, хто не використовує нові політики. " +"Оскільки нові політики вводять новий API, ми випускаємо їх у Python 3.3 як :" +"term:`попередню політику `. Зворотні несумісні зміни " +"(аж до видалення коду) можуть відбуватися, якщо основні розробники вважають " +"це за потрібне." + +msgid "" +"The new policies are instances of :class:`~email.policy.EmailPolicy`, and " +"add the following additional controls:" +msgstr "" +"Нові політики є екземплярами :class:`~email.policy.EmailPolicy` і додають " +"такі додаткові елементи керування:" + +msgid "refold_source" +msgstr "refold_source" + +msgid "" +"Controls whether or not headers parsed by a :mod:`~email.parser` are " +"refolded by the :mod:`~email.generator`. It can be ``none``, ``long``, or " +"``all``. The default is ``long``, which means that source headers with a " +"line longer than ``max_line_length`` get refolded. ``none`` means no line " +"get refolded, and ``all`` means that all lines get refolded." +msgstr "" +"Контролює, чи заголовки, які розбираються :mod:`~email.parser`, повторно " +"згортаються :mod:`~email.generator`. Це може бути ``none``, ``long`` або " +"``all``. Типовим значенням є ``long``, що означає, що вихідні заголовки з " +"рядком, довшим за ``max_line_length``, згортаються повторно. ``none`` " +"означає, що жоден рядок не буде повторно згорнутий, а ``all`` означає, що " +"всі рядки будуть повторно згорнуті." + +msgid "header_factory" +msgstr "header_factory" + +msgid "" +"A callable that take a ``name`` and ``value`` and produces a custom header " +"object." +msgstr "" +"Викликається, що приймає ``ім’я`` і ``значення`` і створює спеціальний " +"об’єкт заголовка." + +msgid "" +"The ``header_factory`` is the key to the new features provided by the new " +"policies. When one of the new policies is used, any header retrieved from a " +"``Message`` object is an object produced by the ``header_factory``, and any " +"time you set a header on a ``Message`` it becomes an object produced by " +"``header_factory``. All such header objects have a ``name`` attribute equal " +"to the header name. Address and Date headers have additional attributes " +"that give you access to the parsed data of the header. This means you can " +"now do things like this::" +msgstr "" +"``header_factory`` є ключем до нових функцій, наданих новими політиками. " +"Коли використовується одна з нових політик, будь-який заголовок, отриманий з " +"об’єкта ``Message``, є об’єктом, створеним ``header_factory``, і щоразу, " +"коли ви встановлюєте заголовок ``Message``, він стає об’єктом створений " +"``header_factory``. Усі такі об’єкти заголовка мають атрибут ``name``, що " +"дорівнює імені заголовка. Заголовки Address і Date мають додаткові атрибути, " +"які надають вам доступ до проаналізованих даних заголовка. Це означає, що " +"тепер ви можете робити такі речі:" + +msgid "" +"You will note that the unicode display name is automatically encoded as " +"``utf-8`` when the message is serialized, but that when the header is " +"accessed directly, you get the unicode version. This eliminates any need to " +"deal with the :mod:`email.header` :meth:`~email.header.decode_header` or :" +"meth:`~email.header.make_header` functions." +msgstr "" +"Ви помітите, що відображуване ім’я Unicode автоматично кодується як " +"``utf-8``, коли повідомлення серіалізується, але коли до заголовка " +"звертається безпосередньо, ви отримуєте версію Unicode. Це усуває будь-яку " +"потребу працювати з функціями :mod:`email.header` :meth:`~email.header." +"decode_header` або :meth:`~email.header.make_header`." + +msgid "You can also create addresses from parts::" +msgstr "Ви також можете створювати адреси з частин::" + +msgid "Decoding to unicode is done automatically::" +msgstr "Декодування в Юнікод виконується автоматично:" + +msgid "" +"When you parse a message, you can use the ``addresses`` and ``groups`` " +"attributes of the header objects to access the groups and individual " +"addresses::" +msgstr "" +"Коли ви аналізуєте повідомлення, ви можете використовувати атрибути " +"``addresses`` і ``groups`` об’єктів заголовка для доступу до груп та окремих " +"адрес::" + +msgid "" +"In summary, if you use one of the new policies, header manipulation works " +"the way it ought to: your application works with unicode strings, and the " +"email package transparently encodes and decodes the unicode to and from the " +"RFC standard Content Transfer Encodings." +msgstr "" +"Підсумовуючи, якщо ви використовуєте одну з нових політик, маніпулювання " +"заголовками працює так, як і повинно бути: ваша програма працює з рядками " +"Unicode, а пакет електронної пошти прозоро кодує та декодує Unicode до " +"стандарту RFC Content Transfer Encodings." + +msgid "Other API Changes" +msgstr "Інші зміни API" + +msgid "" +"New :class:`~email.parser.BytesHeaderParser`, added to the :mod:`~email." +"parser` module to complement :class:`~email.parser.HeaderParser` and " +"complete the Bytes API." +msgstr "" +"Новий :class:`~email.parser.BytesHeaderParser`, доданий до модуля :mod:" +"`~email.parser`, щоб доповнити :class:`~email.parser.HeaderParser` і " +"завершити Bytes API." + +msgid "New utility functions:" +msgstr "Нові корисні функції:" + +msgid "" +":func:`~email.utils.format_datetime`: given a :class:`~datetime.datetime`, " +"produce a string formatted for use in an email header." +msgstr "" +":func:`~email.utils.format_datetime`: враховуючи :class:`~datetime." +"datetime`, створити рядок, відформатований для використання в заголовку " +"електронної пошти." + +msgid "" +":func:`~email.utils.parsedate_to_datetime`: given a date string from an " +"email header, convert it into an aware :class:`~datetime.datetime`, or a " +"naive :class:`~datetime.datetime` if the offset is ``-0000``." +msgstr "" +":func:`~email.utils.parsedate_to_datetime`: отримавши рядок дати із " +"заголовка електронної пошти, перетворити його на усвідомлений :class:" +"`~datetime.datetime` або простий :class:`~datetime.datetime`, якщо зсув " +"``-0000``." + +msgid "" +":func:`~email.utils.localtime`: With no argument, returns the current local " +"time as an aware :class:`~datetime.datetime` using the local :class:" +"`~datetime.timezone`. Given an aware :class:`~datetime.datetime`, converts " +"it into an aware :class:`~datetime.datetime` using the local :class:" +"`~datetime.timezone`." +msgstr "" +":func:`~email.utils.localtime`: без аргументів повертає поточний місцевий " +"час як відомий :class:`~datetime.datetime` з використанням локального :class:" +"`~datetime.timezone`. Дано aware :class:`~datetime.datetime`, перетворює " +"його на aware :class:`~datetime.datetime` за допомогою локального :class:" +"`~datetime.timezone`." + +msgid "ftplib" +msgstr "ftplib" + +msgid "" +":class:`ftplib.FTP` now accepts a ``source_address`` keyword argument to " +"specify the ``(host, port)`` to use as the source address in the bind call " +"when creating the outgoing socket. (Contributed by Giampaolo Rodolà in :" +"issue:`8594`.)" +msgstr "" +":class:`ftplib.FTP` тепер приймає аргумент ключового слова " +"``source_address``, щоб вказати ``(хост, порт)`` для використання як адреси " +"джерела у виклику зв’язування під час створення вихідного сокета. (Надав " +"Джампаоло Родола в :issue:`8594`.)" + +msgid "" +"The :class:`~ftplib.FTP_TLS` class now provides a new :func:`~ftplib.FTP_TLS." +"ccc` function to revert control channel back to plaintext. This can be " +"useful to take advantage of firewalls that know how to handle NAT with non-" +"secure FTP without opening fixed ports. (Contributed by Giampaolo Rodolà " +"in :issue:`12139`.)" +msgstr "" +"Клас :class:`~ftplib.FTP_TLS` тепер надає нову функцію :func:`~ftplib." +"FTP_TLS.ccc` для повернення каналу керування назад до відкритого тексту. Це " +"може бути корисним, щоб скористатися перевагами брандмауерів, які знають, як " +"обробляти NAT із незахищеним FTP без відкриття фіксованих портів. (Надав " +"Джампаоло Родола в :issue:`12139`.)" + +msgid "" +"Added :meth:`ftplib.FTP.mlsd` method which provides a parsable directory " +"listing format and deprecates :meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP." +"dir`. (Contributed by Giampaolo Rodolà in :issue:`11072`.)" +msgstr "" +"Додано метод :meth:`ftplib.FTP.mlsd`, який забезпечує аналізований формат " +"списку каталогів і не підтримує :meth:`ftplib.FTP.nlst` і :meth:`ftplib.FTP." +"dir`. (Надав Джампаоло Родола в :issue:`11072`.)" + +msgid "functools" +msgstr "functools" + +msgid "" +"The :func:`functools.lru_cache` decorator now accepts a ``typed`` keyword " +"argument (that defaults to ``False`` to ensure that it caches values of " +"different types that compare equal in separate cache slots. (Contributed by " +"Raymond Hettinger in :issue:`13227`.)" +msgstr "" +"Декоратор :func:`functools.lru_cache` тепер приймає аргумент ключового слова " +"``typed`` (який за замовчуванням має значення ``False``, щоб забезпечити " +"кешування значень різних типів, які порівнюються, в окремих слотах кешу. " +"(Надано Raymond Hettinger у :issue:`13227`.)" + +msgid "gc" +msgstr "gc" + +msgid "" +"It is now possible to register callbacks invoked by the garbage collector " +"before and after collection using the new :data:`~gc.callbacks` list." +msgstr "" +"Тепер можна реєструвати зворотні виклики, викликані збирачем сміття до та " +"після збирання, використовуючи новий список :data:`~gc.callbacks`." + +msgid "hmac" +msgstr "hmac" + +msgid "" +"A new :func:`~hmac.compare_digest` function has been added to prevent side " +"channel attacks on digests through timing analysis. (Contributed by Nick " +"Coghlan and Christian Heimes in :issue:`15061`.)" +msgstr "" +"Додано нову функцію :func:`~hmac.compare_digest`, щоб запобігти атакам " +"бічних каналів на дайджести за допомогою аналізу часу. (Надано Ніком " +"Когланом і Крістіаном Хеймсом у :issue:`15061`.)" + +msgid "http" +msgstr "http" + +msgid "" +":class:`http.server.BaseHTTPRequestHandler` now buffers the headers and " +"writes them all at once when :meth:`~http.server.BaseHTTPRequestHandler." +"end_headers` is called. A new method :meth:`~http.server." +"BaseHTTPRequestHandler.flush_headers` can be used to directly manage when " +"the accumulated headers are sent. (Contributed by Andrew Schaaf in :issue:" +"`3709`.)" +msgstr "" +":class:`http.server.BaseHTTPRequestHandler` тепер буферизує заголовки та " +"записує їх усі одночасно під час виклику :meth:`~http.server." +"BaseHTTPRequestHandler.end_headers`. Новий метод :meth:`~http.server." +"BaseHTTPRequestHandler.flush_headers` можна використовувати для " +"безпосереднього керування надсиланням накопичених заголовків. (Надав Ендрю " +"Шааф у :issue:`3709`.)" + +msgid "" +":class:`http.server` now produces valid ``HTML 4.01 strict`` output. " +"(Contributed by Ezio Melotti in :issue:`13295`.)" +msgstr "" +":class:`http.server` тепер створює дійсний вихід ``HTML 4.01 strict``. " +"(Надав Еціо Мелотті в :issue:`13295`.)" + +msgid "" +":class:`http.client.HTTPResponse` now has a :meth:`~http.client.HTTPResponse." +"readinto` method, which means it can be used as an :class:`io.RawIOBase` " +"class. (Contributed by John Kuhn in :issue:`13464`.)" +msgstr "" +":class:`http.client.HTTPResponse` тепер має метод :meth:`~http.client." +"HTTPResponse.readinto`, що означає, що його можна використовувати як клас :" +"class:`io.RawIOBase`. (Надав Джон Кун у :issue:`13464`.)" + +msgid "html" +msgstr "html" + +msgid "" +":class:`html.parser.HTMLParser` is now able to parse broken markup without " +"raising errors, therefore the *strict* argument of the constructor and the :" +"exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability " +"to parse broken markup is the result of a number of bug fixes that are also " +"available on the latest bug fix releases of Python 2.7/3.2. (Contributed by " +"Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, :issue:" +"`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :" +"issue:`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:" +"`12888`, :issue:`7311`.)" +msgstr "" +":class:`html.parser.HTMLParser` тепер може аналізувати пошкоджену розмітку, " +"не викликаючи помилок, тому аргумент *strict* конструктора та виняток :exc:" +"`~html.parser.HTMLParseError` тепер застаріли. Можливість аналізу " +"пошкодженої розмітки є результатом ряду виправлень помилок, які також " +"доступні в останніх версіях виправлень помилок Python 2.7/3.2. (Надав Еціо " +"Мелотті в :issue:`15114` і :issue:`14538`, :issue:`13993`, :issue:`13960`, :" +"issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :issue:" +"`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:`12888`, :" +"issue:`7311`.)" + +msgid "" +"A new :data:`~html.entities.html5` dictionary that maps HTML5 named " +"character references to the equivalent Unicode character(s) (e.g. " +"``html5['gt;'] == '>'``) has been added to the :mod:`html.entities` module. " +"The dictionary is now also used by :class:`~html.parser.HTMLParser`. " +"(Contributed by Ezio Melotti in :issue:`11113` and :issue:`15156`.)" +msgstr "" +"Додано новий словник :data:`~html.entities.html5`, який відображає посилання " +"на іменовані символи HTML5 на еквівалентні символи Unicode (наприклад, " +"``html5['gt;'] == '>'``). до модуля :mod:`html.entities`. Словник тепер " +"також використовується :class:`~html.parser.HTMLParser`. (Надав Еціо Мелотті " +"в :issue:`11113` і :issue:`15156`.)" + +msgid "imaplib" +msgstr "імапліб" + +msgid "" +"The :class:`~imaplib.IMAP4_SSL` constructor now accepts an SSLContext " +"parameter to control parameters of the secure channel." +msgstr "" +"Конструктор :class:`~imaplib.IMAP4_SSL` тепер приймає параметр SSLContext " +"для керування параметрами безпечного каналу." + +msgid "(Contributed by Sijin Joseph in :issue:`8808`.)" +msgstr "(Надав Сіджин Джозеф у :issue:`8808`.)" + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"A new :func:`~inspect.getclosurevars` function has been added. This function " +"reports the current binding of all names referenced from the function body " +"and where those names were resolved, making it easier to verify correct " +"internal state when testing code that relies on stateful closures." +msgstr "" +"Додано нову функцію :func:`~inspect.getclosurevars`. Ця функція повідомляє " +"про поточне зв’язування всіх імен, на які посилається тіло функції, і про " +"те, де ці імена були розпізнані, що полегшує перевірку правильності " +"внутрішнього стану під час тестування коду, який покладається на закриття зі " +"збереженням стану." + +msgid "(Contributed by Meador Inge and Nick Coghlan in :issue:`13062`.)" +msgstr "(Надано Meador Inge та Nick Coghlan у :issue:`13062`.)" + +msgid "" +"A new :func:`~inspect.getgeneratorlocals` function has been added. This " +"function reports the current binding of local variables in the generator's " +"stack frame, making it easier to verify correct internal state when testing " +"generators." +msgstr "" +"Додано нову функцію :func:`~inspect.getgeneratorlocals`. Ця функція " +"повідомляє про поточне зв’язування локальних змінних у стековому кадрі " +"генератора, що полегшує перевірку правильності внутрішнього стану під час " +"тестування генераторів." + +msgid "(Contributed by Meador Inge in :issue:`15153`.)" +msgstr "(Надано Meador Inge у :issue:`15153`.)" + +msgid "io" +msgstr "io" + +msgid "" +"The :func:`~io.open` function has a new ``'x'`` mode that can be used to " +"exclusively create a new file, and raise a :exc:`FileExistsError` if the " +"file already exists. It is based on the C11 'x' mode to fopen()." +msgstr "" +"Функція :func:`~io.open` має новий режим ``'x''``, який можна " +"використовувати виключно для створення нового файлу та викликати :exc:" +"`FileExistsError`, якщо файл уже існує. Він заснований на режимі C11 'x' для " +"fopen()." + +msgid "(Contributed by David Townshend in :issue:`12760`.)" +msgstr "(Надав Девід Тауншенд у :issue:`12760`.)" + +msgid "" +"The constructor of the :class:`~io.TextIOWrapper` class has a new " +"*write_through* optional argument. If *write_through* is ``True``, calls to :" +"meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data " +"written on the :class:`~io.TextIOWrapper` object is immediately handled to " +"its underlying binary buffer." +msgstr "" +"Конструктор класу :class:`~io.TextIOWrapper` має новий необов’язковий " +"аргумент *write_through*. Якщо *write_through* має значення ``True``, " +"виклики :meth:`~io.TextIOWrapper.write` гарантовано не буферизуються: будь-" +"які дані, записані в об’єкт :class:`~io.TextIOWrapper`, негайно обробляються " +"базовий двійковий буфер." + +msgid "itertools" +msgstr "itertools" + +msgid "" +":func:`~itertools.accumulate` now takes an optional ``func`` argument for " +"providing a user-supplied binary function." +msgstr "" +":func:`~itertools.accumulate` тепер приймає додатковий аргумент ``func`` для " +"надання наданої користувачем бінарної функції." + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"The :func:`~logging.basicConfig` function now supports an optional " +"``handlers`` argument taking an iterable of handlers to be added to the root " +"logger." +msgstr "" +"Функція :func:`~logging.basicConfig` тепер підтримує необов’язковий аргумент " +"``handlers``, який приймає ітерацію обробників для додавання до кореневого " +"реєстратора." + +msgid "" +"A class level attribute :attr:`~logging.handlers.SysLogHandler.append_nul` " +"has been added to :class:`~logging.handlers.SysLogHandler` to allow control " +"of the appending of the ``NUL`` (``\\000``) byte to syslog records, since " +"for some daemons it is required while for others it is passed through to the " +"log." +msgstr "" +"Атрибут рівня класу :attr:`~logging.handlers.SysLogHandler.append_nul` " +"додано до :class:`~logging.handlers.SysLogHandler`, щоб дозволити " +"контролювати додавання ``NUL`` (``\\000``) байт до записів системного " +"журналу, оскільки для деяких демонов він потрібен, а для інших він " +"передається до журналу." + +msgid "math" +msgstr "математика" + +msgid "" +"The :mod:`math` module has a new function, :func:`~math.log2`, which " +"returns the base-2 logarithm of *x*." +msgstr "" +"Модуль :mod:`math` має нову функцію, :func:`~math.log2`, яка повертає " +"логарифм *x* за основою 2." + +msgid "(Written by Mark Dickinson in :issue:`11888`.)" +msgstr "(Написав Марк Дікінсон у :issue:`11888`.)" + +msgid "mmap" +msgstr "mmap" + +msgid "" +"The :meth:`~mmap.mmap.read` method is now more compatible with other file-" +"like objects: if the argument is omitted or specified as ``None``, it " +"returns the bytes from the current file position to the end of the mapping. " +"(Contributed by Petri Lehtinen in :issue:`12021`.)" +msgstr "" +"Метод :meth:`~mmap.mmap.read` тепер більш сумісний з іншими файлоподібними " +"об’єктами: якщо аргумент опущено або вказано як ``None``, він повертає байти " +"від поточної позиції файлу до кінця відображення. (Надав Петрі Лехтінен у :" +"issue:`12021`.)" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +"The new :func:`multiprocessing.connection.wait` function allows polling " +"multiple objects (such as connections, sockets and pipes) with a timeout. " +"(Contributed by Richard Oudkerk in :issue:`12328`.)" +msgstr "" +"Нова функція :func:`multiprocessing.connection.wait` дозволяє опитувати " +"кілька об’єктів (таких як з’єднання, сокети та канали) з тайм-аутом. (Надав " +"Річард Оудкерк у :issue:`12328`.)" + +msgid "" +":class:`multiprocessing.Connection` objects can now be transferred over " +"multiprocessing connections. (Contributed by Richard Oudkerk in :issue:" +"`4892`.)" +msgstr "" +":class:`multiprocessing.Connection` об’єкти тепер можна передавати через " +"багатопроцесорні з’єднання. (Надав Річард Оудкерк у :issue:`4892`.)" + +msgid "" +":class:`multiprocessing.Process` now accepts a ``daemon`` keyword argument " +"to override the default behavior of inheriting the ``daemon`` flag from the " +"parent process (:issue:`6064`)." +msgstr "" +":class:`multiprocessing.Process` тепер приймає аргумент ключового слова " +"``daemon``, щоб замінити типову поведінку успадкування прапора ``daemon`` " +"від батьківського процесу (:issue:`6064`)." + +msgid "" +"New attribute :data:`multiprocessing.Process.sentinel` allows a program to " +"wait on multiple :class:`~multiprocessing.Process` objects at one time using " +"the appropriate OS primitives (for example, :mod:`select` on posix systems)." +msgstr "" +"Новий атрибут :data:`multiprocessing.Process.sentinel` дозволяє програмі " +"очікувати на кілька об’єктів :class:`~multiprocessing.Process` одночасно, " +"використовуючи відповідні примітиви ОС (наприклад, :mod:`select` у системах " +"posix )." + +msgid "" +"New methods :meth:`multiprocessing.pool.Pool.starmap` and :meth:" +"`~multiprocessing.pool.Pool.starmap_async` provide :func:`itertools.starmap` " +"equivalents to the existing :meth:`multiprocessing.pool.Pool.map` and :meth:" +"`~multiprocessing.pool.Pool.map_async` functions. (Contributed by Hynek " +"Schlawack in :issue:`12708`.)" +msgstr "" +"Нові методи :meth:`multiprocessing.pool.Pool.starmap` і :meth:" +"`~multiprocessing.pool.Pool.starmap_async` забезпечують :func:`itertools." +"starmap` еквіваленти існуючого :meth:`multiprocessing.pool.Pool Функції ." +"map` і :meth:`~multiprocessing.pool.Pool.map_async`. (Надав Хайнек Шлавак у :" +"issue:`12708`.)" + +msgid "nntplib" +msgstr "nntplib" + +msgid "" +"The :class:`nntplib.NNTP` class now supports the context management protocol " +"to unconditionally consume :exc:`socket.error` exceptions and to close the " +"NNTP connection when done::" +msgstr "" +"Клас :class:`nntplib.NNTP` тепер підтримує протокол керування контекстом для " +"безумовного використання винятків :exc:`socket.error` і закриття з’єднання " +"NNTP після завершення:" + +msgid "(Contributed by Giampaolo Rodolà in :issue:`9795`.)" +msgstr "(Надав Джампаоло Родола в :issue:`9795`.)" + +msgid "os" +msgstr "ос" + +msgid "" +"The :mod:`os` module has a new :func:`~os.pipe2` function that makes it " +"possible to create a pipe with :data:`~os.O_CLOEXEC` or :data:`~os." +"O_NONBLOCK` flags set atomically. This is especially useful to avoid race " +"conditions in multi-threaded programs." +msgstr "" +"Модуль :mod:`os` має нову функцію :func:`~os.pipe2`, яка дає змогу " +"створювати трубу з прапорцями :data:`~os.O_CLOEXEC` або :data:`~os." +"O_NONBLOCK` встановити атомарно. Це особливо корисно, щоб уникнути умов " +"змагань у багатопоточних програмах." + +msgid "" +"The :mod:`os` module has a new :func:`~os.sendfile` function which provides " +"an efficient \"zero-copy\" way for copying data from one file (or socket) " +"descriptor to another. The phrase \"zero-copy\" refers to the fact that all " +"of the copying of data between the two descriptors is done entirely by the " +"kernel, with no copying of data into userspace buffers. :func:`~os.sendfile` " +"can be used to efficiently copy data from a file on disk to a network " +"socket, e.g. for downloading a file." +msgstr "" +"Модуль :mod:`os` має нову функцію :func:`~os.sendfile`, яка забезпечує " +"ефективний спосіб \"нульового копіювання\" для копіювання даних з одного " +"дескриптора файлу (або сокета) до іншого. Фраза \"нульове копіювання\" " +"стосується того факту, що все копіювання даних між двома дескрипторами " +"виконується виключно ядром, без копіювання даних у буфери простору " +"користувача. :func:`~os.sendfile` можна використовувати для ефективного " +"копіювання даних із файлу на диску в мережевий сокет, напр. для завантаження " +"файлу." + +msgid "" +"(Patch submitted by Ross Lagerwall and Giampaolo Rodolà in :issue:`10882`.)" +msgstr "" +"(Патч надіслано Россом Лагерваллом і Джампаоло Родола в :issue:`10882`.)" + +msgid "" +"To avoid race conditions like symlink attacks and issues with temporary " +"files and directories, it is more reliable (and also faster) to manipulate " +"file descriptors instead of file names. Python 3.3 enhances existing " +"functions and introduces new functions to work on file descriptors (:issue:" +"`4761`, :issue:`10755` and :issue:`14626`)." +msgstr "" +"Щоб уникнути таких ситуацій, як атаки символьних посилань і проблеми з " +"тимчасовими файлами та каталогами, надійніше (а також швидше) маніпулювати " +"дескрипторами файлів замість імен файлів. Python 3.3 покращує існуючі " +"функції та представляє нові функції для роботи з дескрипторами файлів (:" +"issue:`4761`, :issue:`10755` та :issue:`14626`)." + +msgid "" +"The :mod:`os` module has a new :func:`~os.fwalk` function similar to :func:" +"`~os.walk` except that it also yields file descriptors referring to the " +"directories visited. This is especially useful to avoid symlink races." +msgstr "" +"Модуль :mod:`os` має нову функцію :func:`~os.fwalk`, подібну до :func:`~os." +"walk` за винятком того, що він також видає дескриптори файлів, які " +"посилаються на відвідані каталоги. Це особливо корисно, щоб уникнути " +"перегонів символічних посилань." + +msgid "" +"The following functions get new optional *dir_fd* (:ref:`paths relative to " +"directory descriptors `) and/or *follow_symlinks* (:ref:`not " +"following symlinks `): :func:`~os.access`, :func:`~os." +"chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os." +"lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os." +"open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:" +"`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :" +"func:`~os.unlink`, :func:`~os.utime`. Platform support for using these " +"parameters can be checked via the sets :data:`os.supports_dir_fd` and :data:" +"`os.supports_follows_symlinks`." +msgstr "" +"Наступні функції отримують нові додаткові *dir_fd* (:ref:`шляхи відносно " +"дескрипторів каталогу `) та/або *follow_symlinks* (:ref:`не слідують " +"символічним посиланням `): :func:`~os.access`, :func:`~os." +"chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os." +"lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os." +"open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:" +"`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :" +"func:`~os.unlink`, :func:`~os.utime`. Підтримку платформи для використання " +"цих параметрів можна перевірити за допомогою наборів :data:`os." +"supports_dir_fd` і :data:`os.supports_follows_symlinks`." + +msgid "" +"The following functions now support a file descriptor for their path " +"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :func:" +"`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os.path." +"exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. Platform " +"support for this can be checked via the :data:`os.supports_fd` set." +msgstr "" +"Наступні функції тепер підтримують дескриптор файлу для свого аргументу " +"шляху: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os. " +"execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os.path." +"exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. Підтримку " +"платформи для цього можна перевірити за допомогою набору :data:`os." +"supports_fd`." + +msgid "" +":func:`~os.access` accepts an ``effective_ids`` keyword argument to turn on " +"using the effective uid/gid rather than the real uid/gid in the access " +"check. Platform support for this can be checked via the :data:`~os." +"supports_effective_ids` set." +msgstr "" +":func:`~os.access` приймає аргумент ключового слова ``effective_ids``, щоб " +"увімкнути використання ефективного uid/gid замість справжнього uid/gid під " +"час перевірки доступу. Підтримку платформи для цього можна перевірити за " +"допомогою набору :data:`~os.supports_effective_ids`." + +msgid "" +"The :mod:`os` module has two new functions: :func:`~os.getpriority` and :" +"func:`~os.setpriority`. They can be used to get or set process niceness/" +"priority in a fashion similar to :func:`os.nice` but extended to all " +"processes instead of just the current one." +msgstr "" +"Модуль :mod:`os` має дві нові функції: :func:`~os.getpriority` і :func:`~os." +"setpriority`. Їх можна використовувати, щоб отримати або встановити " +"зручність/пріоритет процесів подібно до :func:`os.nice`, але поширене на всі " +"процеси, а не лише на поточний." + +msgid "(Patch submitted by Giampaolo Rodolà in :issue:`10784`.)" +msgstr "(Патч надіслав Джампаоло Родола в :issue:`10784`.)" + +msgid "" +"The new :func:`os.replace` function allows cross-platform renaming of a file " +"with overwriting the destination. With :func:`os.rename`, an existing " +"destination file is overwritten under POSIX, but raises an error under " +"Windows. (Contributed by Antoine Pitrou in :issue:`8828`.)" +msgstr "" +"Нова функція :func:`os.replace` дозволяє перейменовувати файл на різних " +"платформах із перезаписом місця призначення. За допомогою :func:`os.rename` " +"наявний цільовий файл перезаписується під POSIX, але викликає помилку під " +"Windows. (Надав Антуан Пітру в :issue:`8828`.)" + +msgid "" +"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, and :func:" +"`~os.lstat`) now support reading a file's timestamps with nanosecond " +"precision. Symmetrically, :func:`~os.utime` can now write file timestamps " +"with nanosecond precision. (Contributed by Larry Hastings in :issue:" +"`14127`.)" +msgstr "" +"Сімейство функцій stat (:func:`~os.stat`, :func:`~os.fstat` і :func:`~os." +"lstat` тепер підтримує читання позначок часу файлу з наносекундною точністю. " +"Симетрично, :func:`~os.utime` тепер може записувати мітки часу файлу з " +"точністю до наносекунд. (Надано Ларрі Гастінгсом у :issue:`14127`.)" + +msgid "" +"The new :func:`os.get_terminal_size` function queries the size of the " +"terminal attached to a file descriptor. See also :func:`shutil." +"get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-Szmek in :issue:" +"`13609`.)" +msgstr "" +"Нова функція :func:`os.get_terminal_size` запитує розмір терміналу, " +"прикріпленого до дескриптора файлу. Дивіться також :func:`shutil." +"get_terminal_size`. (Надав Збігнєв Єнджеєвський-Шмек у :issue:`13609`.)" + +msgid "" +"New functions to support Linux extended attributes (:issue:`12720`): :func:" +"`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, :func:`~os." +"setxattr`." +msgstr "" +"Нові функції для підтримки розширених атрибутів Linux (:issue:`12720`): :" +"func:`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, :func:" +"`~os.setxattr`." + +msgid "" +"New interface to the scheduler. These functions control how a process is " +"allocated CPU time by the operating system. New functions: :func:`~os." +"sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:`~os." +"sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os." +"sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os." +"sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os." +"sched_setscheduler`, :func:`~os.sched_yield`," +msgstr "" +"Новий інтерфейс планувальника. Ці функції контролюють, як процес розподіляє " +"процесорний час операційною системою. Нові функції: :func:`~os." +"sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:`~os." +"sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os. " +"sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os." +"sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os." +"sched_setscheduler`, :func:`~os. sched_yield`," + +msgid "New functions to control the file system:" +msgstr "Нові функції для керування файловою системою:" + +msgid "" +":func:`~os.posix_fadvise`: Announces an intention to access data in a " +"specific pattern thus allowing the kernel to make optimizations." +msgstr "" +":func:`~os.posix_fadvise`: повідомляє про намір отримати доступ до даних за " +"певним шаблоном, таким чином дозволяючи ядру робити оптимізацію." + +msgid "" +":func:`~os.posix_fallocate`: Ensures that enough disk space is allocated for " +"a file." +msgstr "" +":func:`~os.posix_fallocate`: Переконується, що для файлу виділено достатньо " +"місця на диску." + +msgid ":func:`~os.sync`: Force write of everything to disk." +msgstr ":func:`~os.sync`: Примусовий запис усього на диск." + +msgid "Additional new posix functions:" +msgstr "Додаткові нові функції posix:" + +msgid "" +":func:`~os.lockf`: Apply, test or remove a POSIX lock on an open file " +"descriptor." +msgstr "" +":func:`~os.lockf`: Застосувати, перевірити або видалити блокування POSIX для " +"дескриптора відкритого файлу." + +msgid "" +":func:`~os.pread`: Read from a file descriptor at an offset, the file offset " +"remains unchanged." +msgstr "" +":func:`~os.pread`: читання з дескриптора файлу зі зміщенням, зміщення файлу " +"залишається незмінним." + +msgid "" +":func:`~os.pwrite`: Write to a file descriptor from an offset, leaving the " +"file offset unchanged." +msgstr "" +":func:`~os.pwrite`: Запис у дескриптор файлу зі зсуву, залишаючи зміщення " +"файлу незмінним." + +msgid "" +":func:`~os.readv`: Read from a file descriptor into a number of writable " +"buffers." +msgstr "" +":func:`~os.readv`: Читання з дескриптора файлу в декілька записуваних " +"буферів." + +msgid "" +":func:`~os.truncate`: Truncate the file corresponding to *path*, so that it " +"is at most *length* bytes in size." +msgstr "" +":func:`~os.truncate`: Обрізати файл, що відповідає *шляху*, щоб він мав " +"розмір не більше *довжини* байтів." + +msgid "" +":func:`~os.waitid`: Wait for the completion of one or more child processes." +msgstr "" +":func:`~os.waitid`: Зачекайте на завершення одного чи кількох дочірніх " +"процесів." + +msgid "" +":func:`~os.writev`: Write the contents of *buffers* to a file descriptor, " +"where *buffers* is an arbitrary sequence of buffers." +msgstr "" +":func:`~os.writev`: Записати вміст *buffers* у файловий дескриптор, де " +"*buffers* — це довільна послідовність буферів." + +msgid "" +":func:`~os.getgrouplist` (:issue:`9344`): Return list of group ids that " +"specified user belongs to." +msgstr "" +":func:`~os.getgrouplist` (:issue:`9344`): повертає список ідентифікаторів " +"груп, до яких належить вказаний користувач." + +msgid "" +":func:`~os.times` and :func:`~os.uname`: Return type changed from a tuple to " +"a tuple-like object with named attributes." +msgstr "" +":func:`~os.times` і :func:`~os.uname`: тип повернення змінено з кортежу на " +"кортеж-подібний об’єкт з іменованими атрибутами." + +msgid "" +"Some platforms now support additional constants for the :func:`~os.lseek` " +"function, such as ``os.SEEK_HOLE`` and ``os.SEEK_DATA``." +msgstr "" +"Деякі платформи тепер підтримують додаткові константи для функції :func:`~os." +"lseek`, такі як ``os.SEEK_HOLE`` і ``os.SEEK_DATA``." + +msgid "" +"New constants :data:`~os.RTLD_LAZY`, :data:`~os.RTLD_NOW`, :data:`~os." +"RTLD_GLOBAL`, :data:`~os.RTLD_LOCAL`, :data:`~os.RTLD_NODELETE`, :data:`~os." +"RTLD_NOLOAD`, and :data:`~os.RTLD_DEEPBIND` are available on platforms that " +"support them. These are for use with the :func:`sys.setdlopenflags` " +"function, and supersede the similar constants defined in :mod:`ctypes` and :" +"mod:`DLFCN`. (Contributed by Victor Stinner in :issue:`13226`.)" +msgstr "" +"Нові константи :data:`~os.RTLD_LAZY`, :data:`~os.RTLD_NOW`, :data:`~os." +"RTLD_GLOBAL`, :data:`~os.RTLD_LOCAL`, :data:`~os.RTLD_NODELETE`, :data:`~os." +"RTLD_NOLOAD` і :data:`~os.RTLD_DEEPBIND` доступні на платформах, які їх " +"підтримують. Вони призначені для використання з функцією :func:`sys." +"setdlopenflags` і замінюють подібні константи, визначені в :mod:`ctypes` і :" +"mod:`DLFCN`. (Надав Віктор Стіннер у :issue:`13226`.)" + +msgid "" +":func:`os.symlink` now accepts (and ignores) the ``target_is_directory`` " +"keyword argument on non-Windows platforms, to ease cross-platform support." +msgstr "" +":func:`os.symlink` тепер приймає (і ігнорує) аргумент ключового слова " +"``target_is_directory`` на платформах, відмінних від Windows, щоб полегшити " +"міжплатформенну підтримку." + +msgid "pdb" +msgstr "pdb" + +msgid "" +"Tab-completion is now available not only for command names, but also their " +"arguments. For example, for the ``break`` command, function and file names " +"are completed." +msgstr "" +"Завершення табуляції тепер доступне не тільки для імен команд, але й для їх " +"аргументів. Наприклад, для команди ``break`` завершуються імена функцій і " +"файлів." + +msgid "(Contributed by Georg Brandl in :issue:`14210`)" +msgstr "(Надав Георг Брандл у :issue:`14210`)" + +msgid "pickle" +msgstr "маринований огірок" + +msgid "" +":class:`pickle.Pickler` objects now have an optional :attr:`~pickle.Pickler." +"dispatch_table` attribute allowing per-pickler reduction functions to be set." +msgstr "" +"Об’єкти :class:`pickle.Pickler` тепер мають необов’язковий атрибут :attr:" +"`~pickle.Pickler.dispatch_table`, який дозволяє встановлювати функції " +"зменшення для кожного піклера." + +msgid "(Contributed by Richard Oudkerk in :issue:`14166`.)" +msgstr "(Надав Річард Оудкерк у :issue:`14166`.)" + +msgid "pydoc" +msgstr "pydoc" + +msgid "" +"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the :" +"mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " +"deprecated in Python 3.2." +msgstr "" +"Графічний інтерфейс Tk і функцію :func:`~pydoc.serve` видалено з модуля :mod:" +"`pydoc`: ``pydoc -g`` і :func:`~pydoc.serve` застаріли в Python 3.2." + +msgid "re" +msgstr "повторно" + +msgid "" +":class:`str` regular expressions now support ``\\u`` and ``\\U`` escapes." +msgstr "" +":class:`str` регулярні вирази тепер підтримують екранування ``\\u`` і ``" +"\\U``." + +msgid "(Contributed by Serhiy Storchaka in :issue:`3665`.)" +msgstr "(Надав Сергій Сторчака в :issue:`3665`.)" + +msgid "sched" +msgstr "розклад" + +msgid "" +":meth:`~sched.scheduler.run` now accepts a *blocking* parameter which when " +"set to false makes the method execute the scheduled events due to expire " +"soonest (if any) and then return immediately. This is useful in case you " +"want to use the :class:`~sched.scheduler` in non-blocking applications. " +"(Contributed by Giampaolo Rodolà in :issue:`13449`.)" +msgstr "" +":meth:`~sched.scheduler.run` тепер приймає параметр *blocking*, який, якщо " +"встановлено на false, змушує метод виконувати заплановані події, які мають " +"закінчитися якнайшвидше (якщо такі є), а потім негайно повертатися. Це " +"корисно, якщо ви хочете використовувати :class:`~sched.scheduler` у " +"неблокуючих програмах. (Надав Джампаоло Родола в :issue:`13449`.)" + +msgid "" +":class:`~sched.scheduler` class can now be safely used in multi-threaded " +"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in :issue:" +"`8684`.)" +msgstr "" +":class:`~sched.scheduler` клас тепер можна безпечно використовувати в " +"багатопоточних середовищах. (Надано Джосіа Карлсоном і Джампаоло Родола в :" +"issue:`8684`.)" + +msgid "" +"*timefunc* and *delayfunct* parameters of :class:`~sched.scheduler` class " +"constructor are now optional and defaults to :func:`time.time` and :func:" +"`time.sleep` respectively. (Contributed by Chris Clark in :issue:`13245`.)" +msgstr "" +"Параметри *timefunc* і *delayfunct* конструктора класу :class:`~sched." +"scheduler` тепер є необов’язковими і за умовчанням мають значення :func:" +"`time.time` і :func:`time.sleep` відповідно. (Надав Кріс Кларк у :issue:" +"`13245`.)" + +msgid "" +":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` " +"*argument* parameter is now optional. (Contributed by Chris Clark in :issue:" +"`13245`.)" +msgstr "" +"Параметр *argument* :meth:`~sched.scheduler.enter` і :meth:`~sched.scheduler." +"enterabs` тепер необов’язковий. (Надав Кріс Кларк у :issue:`13245`.)" + +msgid "" +":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` now " +"accept a *kwargs* parameter. (Contributed by Chris Clark in :issue:`13245`.)" +msgstr "" +":meth:`~sched.scheduler.enter` і :meth:`~sched.scheduler.enterabs` тепер " +"приймають параметр *kwargs*. (Надав Кріс Кларк у :issue:`13245`.)" + +msgid "select" +msgstr "вибрати" + +msgid "" +"Solaris and derivative platforms have a new class :class:`select.devpoll` " +"for high performance asynchronous sockets via :file:`/dev/poll`. " +"(Contributed by Jesús Cea Avión in :issue:`6397`.)" +msgstr "" +"Solaris і похідні платформи мають новий клас :class:`select.devpoll` для " +"високопродуктивних асинхронних сокетів через :file:`/dev/poll`. (Надав Jesús " +"Cea Avión у :issue:`6397`.)" + +msgid "shlex" +msgstr "шлекс" + +msgid "" +"The previously undocumented helper function ``quote`` from the :mod:`pipes` " +"modules has been moved to the :mod:`shlex` module and documented. :func:" +"`~shlex.quote` properly escapes all characters in a string that might be " +"otherwise given special meaning by the shell." +msgstr "" +"Попередньо недокументована допоміжна функція ``quote`` з модулів :mod:" +"`pipes` була переміщена до модуля :mod:`shlex` і задокументована. :func:" +"`~shlex.quote` належним чином екранує всі символи в рядку, яким оболонка " +"могла б надати особливого значення." + +msgid "shutil" +msgstr "шутил" + +msgid "New functions:" +msgstr "Нові функції:" + +msgid "" +":func:`~shutil.disk_usage`: provides total, used and free disk space " +"statistics. (Contributed by Giampaolo Rodolà in :issue:`12442`.)" +msgstr "" +":func:`~shutil.disk_usage`: надає статистику загального, використаного та " +"вільного дискового простору. (Надав Джампаоло Родола в :issue:`12442`.)" + +msgid "" +":func:`~shutil.chown`: allows one to change user and/or group of the given " +"path also specifying the user/group names and not only their numeric ids. " +"(Contributed by Sandro Tosi in :issue:`12191`.)" +msgstr "" +":func:`~shutil.chown`: дозволяє змінювати користувача та/або групу заданого " +"шляху, вказуючи також імена користувачів/груп, а не лише їхні цифрові " +"ідентифікатори. (Надав Сандро Тосі в :issue:`12191`.)" + +msgid "" +":func:`shutil.get_terminal_size`: returns the size of the terminal window to " +"which the interpreter is attached. (Contributed by Zbigniew Jędrzejewski-" +"Szmek in :issue:`13609`.)" +msgstr "" +":func:`shutil.get_terminal_size`: повертає розмір вікна терміналу, до якого " +"приєднаний інтерпретатор. (Надав Збігнєв Єнджеєвський-Шмек у :issue:`13609`.)" + +msgid "" +":func:`~shutil.copy2` and :func:`~shutil.copystat` now preserve file " +"timestamps with nanosecond precision on platforms that support it. They also " +"preserve file \"extended attributes\" on Linux. (Contributed by Larry " +"Hastings in :issue:`14127` and :issue:`15238`.)" +msgstr "" +":func:`~shutil.copy2` і :func:`~shutil.copystat` тепер зберігають мітки часу " +"файлу з точністю до наносекунд на платформах, які це підтримують. Вони також " +"зберігають \"розширені атрибути\" файлів у Linux. (Надано Ларрі Гастінгсом " +"у :issue:`14127` та :issue:`15238`.)" + +msgid "" +"Several functions now take an optional ``symlinks`` argument: when that " +"parameter is true, symlinks aren't dereferenced and the operation instead " +"acts on the symlink itself (or creates one, if relevant). (Contributed by " +"Hynek Schlawack in :issue:`12715`.)" +msgstr "" +"Кілька функцій тепер приймають необов’язковий аргумент ``symlinks``: коли " +"цей параметр має значення true, символічні посилання не розіменовуються, а " +"операція натомість діє на саме символічне посилання (або створює його, якщо " +"це необхідно). (Надав Хайнек Шлавак у :issue:`12715`.)" + +msgid "" +"When copying files to a different file system, :func:`~shutil.move` now " +"handles symlinks the way the posix ``mv`` command does, recreating the " +"symlink rather than copying the target file contents. (Contributed by " +"Jonathan Niehof in :issue:`9993`.) :func:`~shutil.move` now also returns " +"the ``dst`` argument as its result." +msgstr "" +"Під час копіювання файлів до іншої файлової системи :func:`~shutil.move` " +"тепер обробляє символічні посилання так, як це робить команда posix ``mv``, " +"відтворюючи символічне посилання, а не копіюючи вміст цільового файлу. " +"(Надано Джонатаном Нігофом у :issue:`9993`.) :func:`~shutil.move` тепер " +"також повертає аргумент ``dst`` як результат." + +msgid "" +":func:`~shutil.rmtree` is now resistant to symlink attacks on platforms " +"which support the new ``dir_fd`` parameter in :func:`os.open` and :func:`os." +"unlink`. (Contributed by Martin von Löwis and Hynek Schlawack in :issue:" +"`4489`.)" +msgstr "" +":func:`~shutil.rmtree` тепер стійкий до атак через символічні посилання на " +"платформах, які підтримують новий параметр ``dir_fd`` у :func:`os.open` і :" +"func:`os.unlink`. (Надано Мартіном фон Льовісом і Гінеком Шлаваком у :issue:" +"`4489`.)" + +msgid "signal" +msgstr "сигнал" + +msgid "The :mod:`signal` module has new functions:" +msgstr "Модуль :mod:`signal` має нові функції:" + +msgid "" +":func:`~signal.pthread_sigmask`: fetch and/or change the signal mask of the " +"calling thread (Contributed by Jean-Paul Calderone in :issue:`8407`);" +msgstr "" +":func:`~signal.pthread_sigmask`: отримати та/або змінити маску сигналу " +"викликаючого потоку (Надано Жаном-Полем Кальдероне в :issue:`8407`);" + +msgid ":func:`~signal.pthread_kill`: send a signal to a thread;" +msgstr ":func:`~signal.pthread_kill`: відправити сигнал до потоку;" + +msgid ":func:`~signal.sigpending`: examine pending functions;" +msgstr ":func:`~signal.sigpending`: перевірити незавершені функції;" + +msgid ":func:`~signal.sigwait`: wait a signal;" +msgstr ":func:`~signal.sigwait`: чекати сигналу;" + +msgid "" +":func:`~signal.sigwaitinfo`: wait for a signal, returning detailed " +"information about it;" +msgstr "" +":func:`~signal.sigwaitinfo`: чекати сигналу, повертаючи детальну інформацію " +"про нього;" + +msgid "" +":func:`~signal.sigtimedwait`: like :func:`~signal.sigwaitinfo` but with a " +"timeout." +msgstr "" +":func:`~signal.sigtimedwait`: як :func:`~signal.sigwaitinfo`, але з тайм-" +"аутом." + +msgid "" +"The signal handler writes the signal number as a single byte instead of a " +"nul byte into the wakeup file descriptor. So it is possible to wait more " +"than one signal and know which signals were raised." +msgstr "" +"Обробник сигналу записує номер сигналу як один байт замість нульового байта " +"в дескриптор файлу пробудження. Таким чином, можна чекати більше ніж один " +"сигнал і знати, які сигнали були підняті." + +msgid "" +":func:`signal.signal` and :func:`signal.siginterrupt` raise an OSError, " +"instead of a RuntimeError: OSError has an errno attribute." +msgstr "" +":func:`signal.signal` і :func:`signal.siginterrupt` викликають OSError " +"замість RuntimeError: OSError має атрибут errno." + +msgid "smtpd" +msgstr "smtpd" + +msgid "" +"The :mod:`smtpd` module now supports :rfc:`5321` (extended SMTP) and :rfc:" +"`1870` (size extension). Per the standard, these extensions are enabled if " +"and only if the client initiates the session with an ``EHLO`` command." +msgstr "" +"Модуль :mod:`smtpd` тепер підтримує :rfc:`5321` (розширений SMTP) і :rfc:" +"`1870` (розширення розміру). Відповідно до стандарту, ці розширення " +"вмикаються тоді і тільки тоді, коли клієнт ініціює сеанс за допомогою " +"команди ``EHLO``." + +msgid "" +"(Initial ``ELHO`` support by Alberto Trevino. Size extension by Juhana " +"Jauhiainen. Substantial additional work on the patch contributed by Michele " +"Orrù and Dan Boswell. :issue:`8739`)" +msgstr "" +"(Початкову підтримку ``ELHO`` виконав Альберто Тревіно. Розширення розміру " +"здійснено Юханою Яухіайнен. Значну додаткову роботу над виправленням зробили " +"Мікеле Орру та Ден Босвелл. :issue:`8739`)" + +msgid "smtplib" +msgstr "smtplib" + +msgid "" +"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, and :class:`~smtplib." +"LMTP` classes now accept a ``source_address`` keyword argument to specify " +"the ``(host, port)`` to use as the source address in the bind call when " +"creating the outgoing socket. (Contributed by Paulo Scardine in :issue:" +"`11281`.)" +msgstr "" +"Класи :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL` і :class:`~smtplib." +"LMTP` тепер приймають аргумент ключового слова ``source_address`` для " +"визначення ``(host, port)`` для використання як адреси джерела у виклику " +"зв’язування під час створення вихідного сокета. (Надав Paulo Scardine у :" +"issue:`11281`.)" + +msgid "" +":class:`~smtplib.SMTP` now supports the context management protocol, " +"allowing an ``SMTP`` instance to be used in a ``with`` statement. " +"(Contributed by Giampaolo Rodolà in :issue:`11289`.)" +msgstr "" +":class:`~smtplib.SMTP` тепер підтримує протокол керування контекстом, що " +"дозволяє використовувати екземпляр ``SMTP`` у операторі ``with``. (Надав " +"Джампаоло Родола в :issue:`11289`.)" + +msgid "" +"The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP." +"starttls` method now accept an SSLContext parameter to control parameters of " +"the secure channel. (Contributed by Kasun Herath in :issue:`8809`.)" +msgstr "" +"Конструктор :class:`~smtplib.SMTP_SSL` і метод :meth:`~smtplib.SMTP." +"starttls` тепер приймають параметр SSLContext для керування параметрами " +"безпечного каналу. (Надано Kasun Herath у :issue:`8809`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"The :class:`~socket.socket` class now exposes additional methods to process " +"ancillary data when supported by the underlying platform:" +msgstr "" +"Клас :class:`~socket.socket` тепер надає додаткові методи для обробки " +"допоміжних даних, якщо вони підтримуються базовою платформою:" + +msgid ":func:`~socket.socket.sendmsg`" +msgstr ":func:`~socket.socket.sendmsg`" + +msgid ":func:`~socket.socket.recvmsg`" +msgstr ":func:`~socket.socket.recvmsg`" + +msgid ":func:`~socket.socket.recvmsg_into`" +msgstr ":func:`~socket.socket.recvmsg_into`" + +msgid "" +"(Contributed by David Watson in :issue:`6560`, based on an earlier patch by " +"Heiko Wundram)" +msgstr "" +"(Надано Девідом Вотсоном у :issue:`6560`, на основі попереднього патча Хайко " +"Вундрама)" + +msgid "" +"The :class:`~socket.socket` class now supports the PF_CAN protocol family " +"(https://en.wikipedia.org/wiki/Socketcan), on Linux (https://lwn.net/" +"Articles/253425)." +msgstr "" +"Клас :class:`~socket.socket` тепер підтримує сімейство протоколів PF_CAN " +"(https://en.wikipedia.org/wiki/Socketcan) у Linux (https://lwn.net/" +"Articles/253425)." + +msgid "" +"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:" +"`10141`.)" +msgstr "" +"(Надано Маттіасом Фуксом, оновлено Тіаго Гонсалвесом у :issue:`10141`.)" + +msgid "" +"The :class:`~socket.socket` class now supports the PF_RDS protocol family " +"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and https://oss." +"oracle.com/projects/rds/)." +msgstr "" +"Клас :class:`~socket.socket` тепер підтримує сімейство протоколів PF_RDS " +"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets і https://oss." +"oracle.com/projects/rds/)." + +msgid "" +"The :class:`~socket.socket` class now supports the ``PF_SYSTEM`` protocol " +"family on OS X. (Contributed by Michael Goderbauer in :issue:`13777`.)" +msgstr "" +"Клас :class:`~socket.socket` тепер підтримує сімейство протоколів " +"``PF_SYSTEM`` в OS X. (Надано Майклом Годербауером у :issue:`13777`.)" + +msgid "" +"New function :func:`~socket.sethostname` allows the hostname to be set on " +"Unix systems if the calling process has sufficient privileges. (Contributed " +"by Ross Lagerwall in :issue:`10866`.)" +msgstr "" + +msgid "socketserver" +msgstr "сокетсервер" + +msgid "" +":class:`~socketserver.BaseServer` now has an overridable method :meth:" +"`~socketserver.BaseServer.service_actions` that is called by the :meth:" +"`~socketserver.BaseServer.serve_forever` method in the service loop. :class:" +"`~socketserver.ForkingMixIn` now uses this to clean up zombie child " +"processes. (Contributed by Justin Warkentin in :issue:`11109`.)" +msgstr "" +":class:`~socketserver.BaseServer` тепер має замінений метод :meth:" +"`~socketserver.BaseServer.service_actions`, який викликається методом :meth:" +"`~socketserver.BaseServer.serve_forever` у циклі обслуговування. :class:" +"`~socketserver.ForkingMixIn` тепер використовує це для очищення дочірніх " +"процесів-зомбі. (Надав Джастін Варкентін у :issue:`11109`.)" + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +"New :class:`sqlite3.Connection` method :meth:`~sqlite3.Connection." +"set_trace_callback` can be used to capture a trace of all sql commands " +"processed by sqlite. (Contributed by Torsten Landschoff in :issue:`11688`.)" +msgstr "" +"Новий метод :class:`sqlite3.Connection` :meth:`~sqlite3.Connection." +"set_trace_callback` можна використовувати для захоплення трасування всіх " +"команд sql, оброблених sqlite. (Надав Торстен Ландшофф у :issue:`11688`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "The :mod:`ssl` module has two new random generation functions:" +msgstr "Модуль :mod:`ssl` має дві нові функції випадкової генерації:" + +msgid "" +":func:`~ssl.RAND_bytes`: generate cryptographically strong pseudo-random " +"bytes." +msgstr "" +":func:`~ssl.RAND_bytes`: генерувати криптографічно надійні псевдовипадкові " +"байти." + +msgid ":func:`~ssl.RAND_pseudo_bytes`: generate pseudo-random bytes." +msgstr ":func:`~ssl.RAND_pseudo_bytes`: генерувати псевдовипадкові байти." + +msgid "(Contributed by Victor Stinner in :issue:`12049`.)" +msgstr "(Надав Віктор Стіннер у :issue:`12049`.)" + +msgid "" +"The :mod:`ssl` module now exposes a finer-grained exception hierarchy in " +"order to make it easier to inspect the various kinds of errors. (Contributed " +"by Antoine Pitrou in :issue:`11183`.)" +msgstr "" +"Модуль :mod:`ssl` тепер надає детальнішу ієрархію винятків, щоб полегшити " +"перевірку різних типів помилок. (Надав Антуан Пітру в :issue:`11183`.)" + +msgid "" +":meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument to " +"be used if the private key is encrypted. (Contributed by Adam Simpkins in :" +"issue:`12803`.)" +msgstr "" +":meth:`~ssl.SSLContext.load_cert_chain` тепер приймає аргумент *пароль*, " +"який буде використовуватися, якщо закритий ключ зашифровано. (Надав Адам " +"Сімпкінс у :issue:`12803`.)" + +msgid "" +"Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is now " +"supported through the :meth:`~ssl.SSLContext.load_dh_params` and :meth:`~ssl." +"SSLContext.set_ecdh_curve` methods. (Contributed by Antoine Pitrou in :issue:" +"`13626` and :issue:`13627`.)" +msgstr "" +"Обмін ключами Діффі-Хеллмана, як звичайний, так і на основі еліптичної " +"кривої, тепер підтримується через методи :meth:`~ssl.SSLContext." +"load_dh_params` і :meth:`~ssl.SSLContext.set_ecdh_curve`. (Надав Антуан " +"Пітру в :issue:`13626` і :issue:`13627`.)" + +msgid "" +"SSL sockets have a new :meth:`~ssl.SSLSocket.get_channel_binding` method " +"allowing the implementation of certain authentication mechanisms such as " +"SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue:`12551`.)" +msgstr "" +"SSL-сокети мають новий метод :meth:`~ssl.SSLSocket.get_channel_binding`, " +"який дозволяє реалізувати певні механізми автентифікації, такі як SCRAM-" +"SHA-1-PLUS. (Надав Яцек Конєчний у :issue:`12551`.)" + +msgid "" +"You can query the SSL compression algorithm used by an SSL socket, thanks to " +"its new :meth:`~ssl.SSLSocket.compression` method. The new attribute :attr:" +"`~ssl.OP_NO_COMPRESSION` can be used to disable compression. (Contributed by " +"Antoine Pitrou in :issue:`13634`.)" +msgstr "" +"Ви можете запитати алгоритм стиснення SSL, який використовується сокетом " +"SSL, завдяки його новому методу :meth:`~ssl.SSLSocket.compression`. Новий " +"атрибут :attr:`~ssl.OP_NO_COMPRESSION` можна використовувати для вимкнення " +"стиснення. (Надав Антуан Пітру в :issue:`13634`.)" + +msgid "" +"Support has been added for the Next Protocol Negotiation extension using " +"the :meth:`ssl.SSLContext.set_npn_protocols` method. (Contributed by Colin " +"Marc in :issue:`14204`.)" +msgstr "" +"Додано підтримку розширення Next Protocol Negotiation за допомогою методу :" +"meth:`ssl.SSLContext.set_npn_protocols`. (Надав Колін Марк у :issue:`14204`.)" + +msgid "" +"SSL errors can now be introspected more easily thanks to :attr:`~ssl." +"SSLError.library` and :attr:`~ssl.SSLError.reason` attributes. (Contributed " +"by Antoine Pitrou in :issue:`14837`.)" +msgstr "" +"Помилки SSL тепер легше аналізувати завдяки атрибутам :attr:`~ssl.SSLError." +"library` і :attr:`~ssl.SSLError.reason`. (Надав Антуан Пітру в :issue:" +"`14837`.)" + +msgid "" +"The :func:`~ssl.get_server_certificate` function now supports IPv6. " +"(Contributed by Charles-François Natali in :issue:`11811`.)" +msgstr "" +"Функція :func:`~ssl.get_server_certificate` тепер підтримує IPv6. (Надав " +"Шарль-Франсуа Наталі в :issue:`11811`.)" + +msgid "" +"New attribute :attr:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3 " +"server sockets to use the server's cipher ordering preference rather than " +"the client's (:issue:`13635`)." +msgstr "" +"Новий атрибут :attr:`~ssl.OP_CIPHER_SERVER_PREFERENCE` дозволяє налаштувати " +"серверні сокети SSLv3 на використання параметрів упорядкування шифрів " +"сервера, а не клієнта (:issue:`13635`)." + +msgid "stat" +msgstr "стат" + +msgid "" +"The undocumented tarfile.filemode function has been moved to :func:`stat." +"filemode`. It can be used to convert a file's mode to a string of the form '-" +"rwxrwxrwx'." +msgstr "" +"Недокументовану функцію tarfile.filemode переміщено до :func:`stat." +"filemode`. Його можна використовувати для перетворення режиму файлу на рядок " +"у формі '-rwxrwxrwx'." + +msgid "(Contributed by Giampaolo Rodolà in :issue:`14807`.)" +msgstr "(Надав Джампаоло Родола в :issue:`14807`.)" + +msgid "struct" +msgstr "структура" + +msgid "" +"The :mod:`struct` module now supports ``ssize_t`` and ``size_t`` via the new " +"codes ``n`` and ``N``, respectively. (Contributed by Antoine Pitrou in :" +"issue:`3163`.)" +msgstr "" +"Модуль :mod:`struct` тепер підтримує ``ssize_t`` і ``size_t`` через нові " +"коди ``n`` і ``N`` відповідно. (Надав Антуан Пітру в :issue:`3163`.)" + +msgid "subprocess" +msgstr "підпроцес" + +msgid "" +"Command strings can now be bytes objects on posix platforms. (Contributed " +"by Victor Stinner in :issue:`8513`.)" +msgstr "" +"Командні рядки тепер можуть бути об’єктами bytes на платформах posix. (Надав " +"Віктор Стіннер у :issue:`8513`.)" + +msgid "" +"A new constant :data:`~subprocess.DEVNULL` allows suppressing output in a " +"platform-independent fashion. (Contributed by Ross Lagerwall in :issue:" +"`5870`.)" +msgstr "" +"Нова константа :data:`~subprocess.DEVNULL` дозволяє придушувати виведення " +"незалежним від платформи способом. (Надав Росс Лагервалл у :issue:`5870`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"The :mod:`sys` module has a new :data:`~sys.thread_info` :term:`named tuple` " +"holding information about the thread implementation (:issue:`11223`)." +msgstr "" +"Модуль :mod:`sys` має новий :data:`~sys.thread_info` :term:`named tuple`, що " +"містить інформацію про реалізацію потоку (:issue:`11223`)." + +msgid "tarfile" +msgstr "tarfile" + +msgid "" +":mod:`tarfile` now supports ``lzma`` encoding via the :mod:`lzma` module. " +"(Contributed by Lars Gustäbel in :issue:`5689`.)" +msgstr "" +":mod:`tarfile` тепер підтримує кодування ``lzma`` через модуль :mod:`lzma`. " +"(Надав Ларс Густебель у :issue:`5689`.)" + +msgid "tempfile" +msgstr "тимчасовий файл" + +msgid "" +":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile." +"SpooledTemporaryFile.truncate` method now accepts a ``size`` parameter. " +"(Contributed by Ryan Kelly in :issue:`9957`.)" +msgstr "" +"Метод :class:`tempfile.SpooledTemporaryFile` :meth:`~tempfile." +"SpooledTemporaryFile.truncate` тепер приймає параметр ``size``. (Надав Райан " +"Келлі в :issue:`9957`.)" + +msgid "textwrap" +msgstr "обтікання текстом" + +msgid "" +"The :mod:`textwrap` module has a new :func:`~textwrap.indent` that makes it " +"straightforward to add a common prefix to selected lines in a block of text " +"(:issue:`13857`)." +msgstr "" +"Модуль :mod:`textwrap` має новий :func:`~textwrap.indent`, який дозволяє " +"легко додавати загальний префікс до вибраних рядків у блоці тексту (:issue:" +"`13857`)." + +msgid "threading" +msgstr "різьблення" + +msgid "" +":class:`threading.Condition`, :class:`threading.Semaphore`, :class:" +"`threading.BoundedSemaphore`, :class:`threading.Event`, and :class:" +"`threading.Timer`, all of which used to be factory functions returning a " +"class instance, are now classes and may be subclassed. (Contributed by Éric " +"Araujo in :issue:`10968`.)" +msgstr "" +":class:`threading.Condition`, :class:`threading.Semaphore`, :class:" +"`threading.BoundedSemaphore`, :class:`threading.Event` і :class:`threading." +"Timer`, усі з яких використовуються бути фабричними функціями, що повертають " +"екземпляр класу, тепер є класами та можуть бути підкласами. (Надав Ерік " +"Араужо в :issue:`10968`.)" + +msgid "" +"The :class:`threading.Thread` constructor now accepts a ``daemon`` keyword " +"argument to override the default behavior of inheriting the ``daemon`` flag " +"value from the parent thread (:issue:`6064`)." +msgstr "" +"Конструктор :class:`threading.Thread` тепер приймає аргумент ключового слова " +"``daemon``, щоб замінити типову поведінку успадкування значення прапора " +"``daemon`` від батьківського потоку (:issue:`6064`)." + +msgid "" +"The formerly private function ``_thread.get_ident`` is now available as the " +"public function :func:`threading.get_ident`. This eliminates several cases " +"of direct access to the ``_thread`` module in the stdlib. Third party code " +"that used ``_thread.get_ident`` should likewise be changed to use the new " +"public interface." +msgstr "" +"Раніше закрита функція ``_thread.get_ident`` тепер доступна як публічна " +"функція :func:`threading.get_ident`. Це усуває декілька випадків прямого " +"доступу до модуля ``_thread`` у stdlib. Код третьої сторони, який " +"використовував ``_thread.get_ident``, також слід змінити, щоб " +"використовувати новий публічний інтерфейс." + +msgid "time" +msgstr "час" + +msgid "The :pep:`418` added new functions to the :mod:`time` module:" +msgstr ":pep:`418` додав нові функції до модуля :mod:`time`:" + +msgid ":func:`~time.get_clock_info`: Get information on a clock." +msgstr ":func:`~time.get_clock_info`: отримати інформацію про годинник." + +msgid "" +":func:`~time.monotonic`: Monotonic clock (cannot go backward), not affected " +"by system clock updates." +msgstr "" +":func:`~time.monotonic`: Монотонний годинник (не може повертатися назад), на " +"нього не впливають оновлення системного годинника." + +msgid "" +":func:`~time.perf_counter`: Performance counter with the highest available " +"resolution to measure a short duration." +msgstr "" +":func:`~time.perf_counter`: Лічильник продуктивності з найвищою доступною " +"роздільною здатністю для вимірювання короткої тривалості." + +msgid "" +":func:`~time.process_time`: Sum of the system and user CPU time of the " +"current process." +msgstr "" +":func:`~time.process_time`: сума системного та користувальницького " +"процесорного часу поточного процесу." + +msgid "Other new functions:" +msgstr "Інші нові функції:" + +msgid "" +":func:`~time.clock_getres`, :func:`~time.clock_gettime` and :func:`~time." +"clock_settime` functions with ``CLOCK_xxx`` constants. (Contributed by " +"Victor Stinner in :issue:`10278`.)" +msgstr "" +"Функції :func:`~time.clock_getres`, :func:`~time.clock_gettime` і :func:" +"`~time.clock_settime` з константами ``CLOCK_xxx``. (Надав Віктор Стіннер у :" +"issue:`10278`.)" + +msgid "" +"To improve cross platform consistency, :func:`~time.sleep` now raises a :exc:" +"`ValueError` when passed a negative sleep value. Previously this was an " +"error on posix, but produced an infinite sleep on Windows." +msgstr "" +"Щоб покращити узгодженість між платформами, :func:`~time.sleep` тепер " +"викликає :exc:`ValueError`, коли передається від’ємне значення сну. Раніше " +"це була помилка на posix, але спричиняла нескінченний сон у Windows." + +msgid "types" +msgstr "види" + +msgid "" +"Add a new :class:`types.MappingProxyType` class: Read-only proxy of a " +"mapping. (:issue:`14386`)" +msgstr "" +"Додайте новий клас :class:`types.MappingProxyType`: проксі зіставлення лише " +"для читання. (:issue:`14386`)" + +msgid "" +"The new functions :func:`types.new_class` and :func:`types.prepare_class` " +"provide support for :pep:`3115` compliant dynamic type creation. (:issue:" +"`14588`)" +msgstr "" +"Нові функції :func:`types.new_class` і :func:`types.prepare_class` " +"забезпечують підтримку для :pep:`3115` сумісного створення динамічного типу. " +"(:issue:`14588`)" + +msgid "unittest" +msgstr "unittest" + +msgid "" +":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, " +"and :meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used " +"as context managers. (Contributed by Ezio Melotti and Winston Ewert in :" +"issue:`10775`.)" +msgstr "" +":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns` і :" +"meth:`.assertWarnsRegex` тепер приймають аргумент ключового слова *msg*, " +"коли використовуються як менеджери контексту. (Надано Еціо Мелотті та " +"Вінстоном Евертом у :issue:`10775`.)" + +msgid "" +":meth:`unittest.TestCase.run` now returns the :class:`~unittest.TestResult` " +"object." +msgstr "" +":meth:`unittest.TestCase.run` тепер повертає об’єкт :class:`~unittest." +"TestResult`." + +msgid "urllib" +msgstr "urllib" + +msgid "" +"The :class:`~urllib.request.Request` class, now accepts a *method* argument " +"used by :meth:`~urllib.request.Request.get_method` to determine what HTTP " +"method should be used. For example, this will send a ``'HEAD'`` request::" +msgstr "" +"Клас :class:`~urllib.request.Request` тепер приймає аргумент *method*, який " +"використовується :meth:`~urllib.request.Request.get_method`, щоб визначити, " +"який метод HTTP слід використовувати. Наприклад, це надішле запит ``'HEAD'``:" + +msgid "(:issue:`1673007`)" +msgstr "(:issue:`1673007`)" + +msgid "webbrowser" +msgstr "веб-браузер" + +msgid "" +"The :mod:`webbrowser` module supports more \"browsers\": Google Chrome " +"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` or :" +"program:`chromium-browser` depending on the version and operating system), " +"and the generic launchers :program:`xdg-open`, from the FreeDesktop.org " +"project, and :program:`gvfs-open`, which is the default URI handler for " +"GNOME 3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the " +"latter by Matthias Klose in :issue:`14493`.)" +msgstr "" +"Модуль :mod:`webbrowser` підтримує більше \"браузерів\": Google Chrome (з " +"назвами :program:`chrome`, :program:`chromium`, :program:`chrome-browser` " +"або :program:`chromium-browser` залежно у версії й операційній системі), а " +"також загальні засоби запуску :program:`xdg-open` із проекту FreeDesktop.org " +"і :program:`gvfs-open`, який є обробником URI за замовчуванням для GNOME 3. " +"( перший надав Арно Кальметт у :issue:`13620`, другий — Матіас Клозе в :" +"issue:`14493`.)" + +msgid "xml.etree.ElementTree" +msgstr "xml.etree.ElementTree" + +msgid "" +"The :mod:`xml.etree.ElementTree` module now imports its C accelerator by " +"default; there is no longer a need to explicitly import :mod:`xml.etree." +"cElementTree` (this module stays for backwards compatibility, but is now " +"deprecated). In addition, the ``iter`` family of methods of :class:`~xml." +"etree.ElementTree.Element` has been optimized (rewritten in C). The module's " +"documentation has also been greatly improved with added examples and a more " +"detailed reference." +msgstr "" +"Модуль :mod:`xml.etree.ElementTree` тепер імпортує свій прискорювач C за " +"замовчуванням; більше немає потреби явно імпортувати :mod:`xml.etree." +"cElementTree` (цей модуль залишається для зворотної сумісності, але тепер " +"він застарів). Крім того, сімейство методів ``iter`` :class:`~xml.etree." +"ElementTree.Element` було оптимізовано (переписано на C). Документацію " +"модуля також було значно покращено, додано приклади та більш детальну " +"довідку." + +msgid "zlib" +msgstr "zlib" + +msgid "" +"New attribute :attr:`zlib.Decompress.eof` makes it possible to distinguish " +"between a properly formed compressed stream and an incomplete or truncated " +"one. (Contributed by Nadeem Vawda in :issue:`12646`.)" +msgstr "" + +msgid "" +"New attribute :attr:`zlib.ZLIB_RUNTIME_VERSION` reports the version string " +"of the underlying ``zlib`` library that is loaded at runtime. (Contributed " +"by Torsten Landschoff in :issue:`12306`.)" +msgstr "" +"Новий атрибут :attr:`zlib.ZLIB_RUNTIME_VERSION` повідомляє рядок версії " +"основної бібліотеки ``zlib``, яка завантажується під час виконання. (Надав " +"Торстен Ландшофф у :issue:`12306`.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "Major performance enhancements have been added:" +msgstr "Додано основні покращення продуктивності:" + +msgid "" +"Thanks to :pep:`393`, some operations on Unicode strings have been optimized:" +msgstr "" +"Завдяки :pep:`393` деякі операції над рядками Unicode були оптимізовані:" + +msgid "the memory footprint is divided by 2 to 4 depending on the text" +msgstr "обсяг пам'яті ділиться на 2-4 в залежності від тексту" + +msgid "" +"encode an ASCII string to UTF-8 doesn't need to encode characters anymore, " +"the UTF-8 representation is shared with the ASCII representation" +msgstr "" +"кодувати рядок ASCII у UTF-8 більше не потрібно кодувати символи, " +"представлення UTF-8 спільно з представленням ASCII" + +msgid "the UTF-8 encoder has been optimized" +msgstr "кодувальник UTF-8 оптимізовано" + +msgid "" +"repeating a single ASCII letter and getting a substring of an ASCII string " +"is 4 times faster" +msgstr "" +"повторення однієї літери ASCII і отримання підрядка рядка ASCII відбувається " +"в 4 рази швидше" + +msgid "UTF-8 is now 2x to 4x faster. UTF-16 encoding is now up to 10x faster." +msgstr "" +"UTF-8 тепер у 2-4 рази швидше. Кодування UTF-16 тепер у 10 разів швидше." + +msgid "" +"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and :issue:" +"`15026`.)" +msgstr "" +"(Надав Сергій Сторчака, :issue:`14624`, :issue:`14738` та :issue:`15026`.)" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "Changes to Python's build process and to the C API include:" +msgstr "Зміни в процесі збирання Python і в API C включають:" + +msgid "New :pep:`3118` related function:" +msgstr "Нова пов'язана функція :pep:`3118`:" + +msgid ":c:func:`PyMemoryView_FromMemory`" +msgstr ":c:func:`PyMemoryView_FromMemory`" + +msgid ":pep:`393` added new Unicode types, macros and functions:" +msgstr ":pep:`393` додано нові типи Unicode, макроси та функції:" + +msgid "High-level API:" +msgstr "API високого рівня:" + +msgid ":c:func:`PyUnicode_CopyCharacters`" +msgstr ":c:func:`PyUnicode_CopyCharacters`" + +msgid ":c:func:`PyUnicode_FindChar`" +msgstr ":c:func:`PyUnicode_FindChar`" + +msgid ":c:func:`PyUnicode_GetLength`, :c:macro:`PyUnicode_GET_LENGTH`" +msgstr ":c:func:`PyUnicode_GetLength`, :c:macro:`PyUnicode_GET_LENGTH`" + +msgid ":c:func:`PyUnicode_New`" +msgstr ":c:func:`PyUnicode_New`" + +msgid ":c:func:`PyUnicode_Substring`" +msgstr ":c:func:`PyUnicode_Substring`" + +msgid ":c:func:`PyUnicode_ReadChar`, :c:func:`PyUnicode_WriteChar`" +msgstr ":c:func:`PyUnicode_ReadChar`, :c:func:`PyUnicode_WriteChar`" + +msgid "Low-level API:" +msgstr "API низького рівня:" + +msgid ":c:type:`Py_UCS1`, :c:type:`Py_UCS2`, :c:type:`Py_UCS4` types" +msgstr "Типи :c:type:`Py_UCS1`, :c:type:`Py_UCS2`, :c:type:`Py_UCS4`" + +msgid ":c:type:`PyASCIIObject` and :c:type:`PyCompactUnicodeObject` structures" +msgstr "Структури :c:type:`PyASCIIObject` і :c:type:`PyCompactUnicodeObject`" + +msgid ":c:macro:`PyUnicode_READY`" +msgstr ":c:macro:`PyUnicode_READY`" + +msgid ":c:func:`PyUnicode_FromKindAndData`" +msgstr ":c:func:`PyUnicode_FromKindAndData`" + +msgid ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" +msgstr ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" + +msgid "" +":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" +"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" +msgstr "" +":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" +"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" + +msgid "" +":c:macro:`PyUnicode_KIND` with :c:type:`PyUnicode_Kind` enum: :c:data:" +"`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" +"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" +msgstr "" +":c:macro:`PyUnicode_KIND` з :c:type:`PyUnicode_Kind` enum: :c:data:" +"`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" +"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" + +msgid "" +":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:" +"`PyUnicode_WRITE`" +msgstr "" +":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:" +"`PyUnicode_WRITE`" + +msgid ":c:macro:`PyUnicode_MAX_CHAR_VALUE`" +msgstr ":c:macro:`PyUnicode_MAX_CHAR_VALUE`" + +msgid "" +":c:macro:`PyArg_ParseTuple` now accepts a :class:`bytearray` for the ``c`` " +"format (:issue:`12380`)." +msgstr "" +":c:macro:`PyArg_ParseTuple` тепер приймає :class:`bytearray` для формату " +"``c`` (:issue:`12380`)." + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "Unsupported Operating Systems" +msgstr "Непідтримувані операційні системи" + +msgid "OS/2 and VMS are no longer supported due to the lack of a maintainer." +msgstr "OS/2 і VMS більше не підтримуються через відсутність супроводжуючого." + +msgid "" +"Windows 2000 and Windows platforms which set ``COMSPEC`` to ``command.com`` " +"are no longer supported due to maintenance burden." +msgstr "" +"Платформи Windows 2000 і Windows, які встановлюють для ``COMSPEC`` значення " +"``command.com`` більше не підтримуються через тягар обслуговування." + +msgid "OSF support, which was deprecated in 3.2, has been completely removed." +msgstr "" +"Підтримку OSF, яка була застарілою у версії 3.2, було повністю видалено." + +msgid "Deprecated Python modules, functions and methods" +msgstr "Застарілі модулі, функції та методи Python" + +msgid "" +"Passing a non-empty string to ``object.__format__()`` is deprecated, and " +"will produce a :exc:`TypeError` in Python 3.4 (:issue:`9856`)." +msgstr "" +"Передача непорожнього рядка в ``object.__format__()`` є застарілою та " +"викличе :exc:`TypeError` у Python 3.4 (:issue:`9856`)." + +msgid "" +"The ``unicode_internal`` codec has been deprecated because of the :pep:" +"`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or UTF-32 " +"(``utf-32-le`` or ``utf-32-be``)" +msgstr "" +"Кодек ``unicode_internal`` застарів через :pep:`393`, використовуйте UTF-8, " +"UTF-16 (``utf-16-le`` або ``utf-16-be``), або UTF-32 (``utf-32-le`` або " +"``utf-32-be``)" + +msgid "" +":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use :meth:`ftplib.FTP." +"mlsd`" +msgstr "" +":meth:`ftplib.FTP.nlst` і :meth:`ftplib.FTP.dir`: використовуйте :meth:" +"`ftplib.FTP.mlsd`" + +msgid "" +":func:`platform.popen`: use the :mod:`subprocess` module. Check especially " +"the :ref:`subprocess-replacements` section (:issue:`11377`)." +msgstr "" +":func:`platform.popen`: використовуйте модуль :mod:`subprocess`. Особливо " +"перевірте розділ :ref:`subprocess-replacements` (:issue:`11377`)." + +msgid "" +":issue:`13374`: The Windows bytes API has been deprecated in the :mod:`os` " +"module. Use Unicode filenames, instead of bytes filenames, to not depend on " +"the ANSI code page anymore and to support any filename." +msgstr "" +":issue:`13374`: Windows bytes API більше не підтримується в модулі :mod:" +"`os`. Щоб більше не залежати від кодової сторінки ANSI та підтримувати будь-" +"які назви файлів, використовуйте назви файлів у кодуванні Unicode замість " +"імен файлів у байтах." + +msgid "" +":issue:`13988`: The :mod:`xml.etree.cElementTree` module is deprecated. The " +"accelerator is used automatically whenever available." +msgstr "" +":issue:`13988`: Модуль :mod:`xml.etree.cElementTree` застарів. Прискорювач " +"використовується автоматично, коли він доступний." + +msgid "" +"The behaviour of :func:`time.clock` depends on the platform: use the new :" +"func:`time.perf_counter` or :func:`time.process_time` function instead, " +"depending on your requirements, to have a well defined behaviour." +msgstr "" +"Поведінка :func:`time.clock` залежить від платформи: замість цього " +"використовуйте нову функцію :func:`time.perf_counter` або :func:`time." +"process_time`, залежно від ваших вимог, щоб мати чітко визначену поведінку ." + +msgid "The :func:`os.stat_float_times` function is deprecated." +msgstr "Функція :func:`os.stat_float_times` застаріла." + +msgid ":mod:`abc` module:" +msgstr ":mod:`abc` модуль:" + +msgid ":mod:`importlib` package:" +msgstr ":mod:`importlib` пакет:" + +msgid "" +":meth:`importlib.abc.SourceLoader.path_mtime` is now deprecated in favour " +"of :meth:`importlib.abc.SourceLoader.path_stats` as bytecode files now store " +"both the modification time and size of the source file the bytecode file was " +"compiled from." +msgstr "" +":meth:`importlib.abc.SourceLoader.path_mtime` тепер не підтримується на " +"користь :meth:`importlib.abc.SourceLoader.path_stats`, оскільки файли байт-" +"коду тепер зберігають як час модифікації, так і розмір вихідного файлу, файл " +"байт-коду було скомпільовано від." + +msgid "Deprecated functions and types of the C API" +msgstr "Застарілі функції та типи C API" + +msgid "" +"The :c:type:`Py_UNICODE` has been deprecated by :pep:`393` and will be " +"removed in Python 4. All functions using this type are deprecated:" +msgstr "" +":c:type:`Py_UNICODE` був застарілим :pep:`393` і буде видалено в Python 4. " +"Усі функції, що використовують цей тип, застаріли:" + +msgid "" +"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:expr:" +"`Py_UNICODE*` types:" +msgstr "" + +msgid "" +":c:macro:`PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or :c:" +"func:`PyUnicode_FromKindAndData`" +msgstr "" +":c:macro:`PyUnicode_FromUnicode`: використовуйте :c:func:" +"`PyUnicode_FromWideChar` або :c:func:`PyUnicode_FromKindAndData`" + +msgid "" +":c:macro:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_AsUnicode`, :c:func:" +"`PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`" +msgstr "" +":c:macro:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_AsUnicode`, :c:func:" +"`PyUnicode_AsUnicodeAndSize`: використовуйте :c:func:" +"`PyUnicode_AsWideCharString`" + +msgid "" +":c:macro:`PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with :c:macro:" +"`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" +msgstr "" +":c:macro:`PyUnicode_AS_DATA`: використовуйте :c:macro:`PyUnicode_DATA` з :c:" +"macro:`PyUnicode_READ` і :c:macro:`PyUnicode_WRITE`" + +msgid "" +":c:macro:`PyUnicode_GET_SIZE`, :c:func:`PyUnicode_GetSize`: use :c:macro:" +"`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" +msgstr "" +":c:macro:`PyUnicode_GET_SIZE`, :c:func:`PyUnicode_GetSize`: використовуйте :" +"c:macro:`PyUnicode_GET_LENGTH` або :c:func:`PyUnicode_GetLength`" + +msgid "" +":c:macro:`PyUnicode_GET_DATA_SIZE`: use ``PyUnicode_GET_LENGTH(str) * " +"PyUnicode_KIND(str)`` (only work on ready strings)" +msgstr "" +":c:macro:`PyUnicode_GET_DATA_SIZE`: використовуйте " +"``PyUnicode_GET_LENGTH(str) * PyUnicode_KIND(str)`` (працює лише з готовими " +"рядками)" + +msgid "" +":c:func:`PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or :c:" +"func:`PyUnicode_AsWideCharString`" +msgstr "" +":c:func:`PyUnicode_AsUnicodeCopy`: використовуйте :c:func:" +"`PyUnicode_AsUCS4Copy` або :c:func:`PyUnicode_AsWideCharString`" + +msgid ":c:func:`PyUnicode_GetMax`" +msgstr ":c:func:`PyUnicode_GetMax`" + +msgid "Functions and macros manipulating Py_UNICODE* strings:" +msgstr "Функції та макроси, що маніпулюють рядками Py_UNICODE*:" + +msgid "" +":c:macro:`Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` or :c:macro:" +"`PyUnicode_GET_LENGTH`" +msgstr "" +":c:macro:`Py_UNICODE_strlen`: використовуйте :c:func:`PyUnicode_GetLength` " +"або :c:macro:`PyUnicode_GET_LENGTH`" + +msgid "" +":c:macro:`Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` or :c:" +"func:`PyUnicode_FromFormat`" +msgstr "" +":c:macro:`Py_UNICODE_strcat`: використовуйте :c:func:" +"`PyUnicode_CopyCharacters` або :c:func:`PyUnicode_FromFormat`" + +msgid "" +":c:macro:`Py_UNICODE_strcpy`, :c:macro:`Py_UNICODE_strncpy`, :c:macro:" +"`Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" +"`PyUnicode_Substring`" +msgstr "" +":c:macro:`Py_UNICODE_strcpy`, :c:macro:`Py_UNICODE_strncpy`, :c:macro:" +"`Py_UNICODE_COPY`: використовуйте :c:func:`PyUnicode_CopyCharacters` або :c:" +"func:`PyUnicode_Substring`" + +msgid ":c:macro:`Py_UNICODE_strcmp`: use :c:func:`PyUnicode_Compare`" +msgstr "" +":c:macro:`Py_UNICODE_strcmp`: використовуйте :c:func:`PyUnicode_Compare`" + +msgid ":c:macro:`Py_UNICODE_strncmp`: use :c:func:`PyUnicode_Tailmatch`" +msgstr "" +":c:macro:`Py_UNICODE_strncmp`: використовуйте :c:func:`PyUnicode_Tailmatch`" + +msgid "" +":c:macro:`Py_UNICODE_strchr`, :c:macro:`Py_UNICODE_strrchr`: use :c:func:" +"`PyUnicode_FindChar`" +msgstr "" +":c:macro:`Py_UNICODE_strchr`, :c:macro:`Py_UNICODE_strrchr`: використовуйте :" +"c:func:`PyUnicode_FindChar`" + +msgid ":c:macro:`Py_UNICODE_FILL`: use :c:func:`PyUnicode_Fill`" +msgstr ":c:macro:`Py_UNICODE_FILL`: використовуйте :c:func:`PyUnicode_Fill`" + +msgid ":c:macro:`Py_UNICODE_MATCH`" +msgstr ":c:macro:`Py_UNICODE_MATCH`" + +msgid "Encoders:" +msgstr "Кодери:" + +msgid ":c:func:`PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`" +msgstr "" +":c:func:`PyUnicode_Encode`: використовуйте :c:func:" +"`PyUnicode_AsEncodedObject`" + +msgid ":c:func:`PyUnicode_EncodeUTF7`" +msgstr ":c:func:`PyUnicode_EncodeUTF7`" + +msgid "" +":c:func:`PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or :c:func:" +"`PyUnicode_AsUTF8String`" +msgstr "" +":c:func:`PyUnicode_EncodeUTF8`: використовуйте :c:func:`PyUnicode_AsUTF8` " +"або :c:func:`PyUnicode_AsUTF8String`" + +msgid ":c:func:`PyUnicode_EncodeUTF32`" +msgstr ":c:func:`PyUnicode_EncodeUTF32`" + +msgid ":c:func:`PyUnicode_EncodeUTF16`" +msgstr ":c:func:`PyUnicode_EncodeUTF16`" + +msgid "" +":c:func:`PyUnicode_EncodeUnicodeEscape` use :c:func:" +"`PyUnicode_AsUnicodeEscapeString`" +msgstr "" +":c:func:`PyUnicode_EncodeUnicodeEscape` використовуйте :c:func:" +"`PyUnicode_AsUnicodeEscapeString`" + +msgid "" +":c:func:`PyUnicode_EncodeRawUnicodeEscape` use :c:func:" +"`PyUnicode_AsRawUnicodeEscapeString`" +msgstr "" +":c:func:`PyUnicode_EncodeRawUnicodeEscape` використовуйте :c:func:" +"`PyUnicode_AsRawUnicodeEscapeString`" + +msgid "" +":c:func:`PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`" +msgstr "" +":c:func:`PyUnicode_EncodeLatin1`: використовуйте :c:func:" +"`PyUnicode_AsLatin1String`" + +msgid ":c:func:`PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" +msgstr "" +":c:func:`PyUnicode_EncodeASCII`: використовуйте :c:func:" +"`PyUnicode_AsASCIIString`" + +msgid ":c:func:`PyUnicode_EncodeCharmap`" +msgstr ":c:func:`PyUnicode_EncodeCharmap`" + +msgid ":c:func:`PyUnicode_TranslateCharmap`" +msgstr ":c:func:`PyUnicode_TranslateCharmap`" + +msgid "" +":c:func:`PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or :c:" +"func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)" +msgstr "" +":c:func:`PyUnicode_EncodeMBCS`: використовуйте :c:func:" +"`PyUnicode_AsMBCSString` або :c:func:`PyUnicode_EncodeCodePage` (з " +"``CP_ACP`` code_page)" + +msgid "" +":c:func:`PyUnicode_EncodeDecimal`, :c:func:" +"`PyUnicode_TransformDecimalToASCII`" +msgstr "" +":c:func:`PyUnicode_EncodeDecimal`, :c:func:" +"`PyUnicode_TransformDecimalToASCII`" + +msgid "Deprecated features" +msgstr "Застарілі функції" + +msgid "" +"The :mod:`array` module's ``'u'`` format code is now deprecated and will be " +"removed in Python 4 together with the rest of the (:c:type:`Py_UNICODE`) API." +msgstr "" +"Код формату ``'u'`` модуля :mod:`array` тепер не підтримується та буде " +"видалено в Python 4 разом з рештою (:c:type:`Py_UNICODE`) API." + +msgid "Porting to Python 3.3" +msgstr "Перенесення на Python 3.3" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Porting Python code" +msgstr "Перенесення коду Python" + +msgid "" +"Hash randomization is enabled by default. Set the :envvar:`PYTHONHASHSEED` " +"environment variable to ``0`` to disable hash randomization. See also the :" +"meth:`object.__hash__` method." +msgstr "" +"Хеш-рандомізація ввімкнена за замовчуванням. Встановіть для змінної " +"середовища :envvar:`PYTHONHASHSEED` значення ``0``, щоб вимкнути " +"рандомізацію хешу. Дивіться також метод :meth:`object.__hash__`." + +msgid "" +":issue:`12326`: On Linux, sys.platform doesn't contain the major version " +"anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending " +"on the Linux version used to build Python. Replace sys.platform == 'linux2' " +"with sys.platform.startswith('linux'), or directly sys.platform == 'linux' " +"if you don't need to support older Python versions." +msgstr "" +":issue:`12326`: У Linux sys.platform більше не містить основної версії. " +"Тепер це завжди \"linux\", а не \"linux2\" або \"linux3\", залежно від " +"версії Linux, яка використовується для створення Python. Замініть sys." +"platform == 'linux2' на sys.platform.startswith('linux') або безпосередньо " +"sys.platform == 'linux', якщо вам не потрібна підтримка старіших версій " +"Python." + +msgid "" +":issue:`13847`, :issue:`14180`: :mod:`time` and :mod:`datetime`: :exc:" +"`OverflowError` is now raised instead of :exc:`ValueError` if a timestamp is " +"out of range. :exc:`OSError` is now raised if C functions :c:func:`gmtime` " +"or :c:func:`localtime` failed." +msgstr "" +":issue:`13847`, :issue:`14180`: :mod:`time` і :mod:`datetime`: :exc:" +"`OverflowError` тепер викликається замість :exc:`ValueError`, якщо немає " +"позначки часу діапазону. :exc:`OSError` тепер виникає, якщо функції C :c:" +"func:`gmtime` або :c:func:`localtime` не вдаються." + +msgid "" +"The default finders used by import now utilize a cache of what is contained " +"within a specific directory. If you create a Python source file or " +"sourceless bytecode file, make sure to call :func:`importlib." +"invalidate_caches` to clear out the cache for the finders to notice the new " +"file." +msgstr "" +"Засоби пошуку за умовчанням, які використовуються імпортом, тепер " +"використовують кеш того, що міститься в певному каталозі. Якщо ви створюєте " +"вихідний файл Python або файл байт-коду без вихідного коду, обов’язково " +"викличте :func:`importlib.invalidate_caches`, щоб очистити кеш, щоб шукачі " +"помітили новий файл." + +msgid "" +":exc:`ImportError` now uses the full name of the module that was attempted " +"to be imported. Doctests that check ImportErrors' message will need to be " +"updated to use the full name of the module instead of just the tail of the " +"name." +msgstr "" +":exc:`ImportError` тепер використовує повну назву модуля, який намагалися " +"імпортувати. Доктести, які перевіряють повідомлення ImportErrors, потрібно " +"буде оновити, щоб використовувати повну назву модуля, а не лише хвіст назви." + +msgid "" +"The *index* argument to :func:`__import__` now defaults to 0 instead of -1 " +"and no longer support negative values. It was an oversight when :pep:`328` " +"was implemented that the default value remained -1. If you need to continue " +"to perform a relative import followed by an absolute import, then perform " +"the relative import using an index of 1, followed by another import using an " +"index of 0. It is preferred, though, that you use :func:`importlib." +"import_module` rather than call :func:`__import__` directly." +msgstr "" +"Аргумент *index* для :func:`__import__` тепер має значення 0 замість -1 і " +"більше не підтримує від’ємні значення. Коли :pep:`328` було реалізовано, це " +"було помилкою, що значення за замовчуванням залишилося -1. Якщо вам потрібно " +"продовжити виконання відносного імпорту з подальшим абсолютним імпортом, " +"тоді виконайте відносний імпорт із використанням індексу 1, а потім ще один " +"імпорт із використанням індексу 0. Однак бажано використовувати :func:" +"`importlib.import_module` замість безпосереднього виклику :func:`__import__`." + +msgid "" +":func:`__import__` no longer allows one to use an index value other than 0 " +"for top-level modules. E.g. ``__import__('sys', level=1)`` is now an error." +msgstr "" +":func:`__import__` більше не дозволяє використовувати значення індексу, " +"відмінне від 0, для модулів верхнього рівня. наприклад ``__import__('sys', " +"level=1)`` тепер є помилкою." + +msgid "" +"Because :attr:`sys.meta_path` and :attr:`sys.path_hooks` now have finders on " +"them by default, you will most likely want to use :meth:`list.insert` " +"instead of :meth:`list.append` to add to those lists." +msgstr "" +"Оскільки :attr:`sys.meta_path` і :attr:`sys.path_hooks` тепер мають засоби " +"пошуку за замовчуванням, ви, швидше за все, захочете використовувати :meth:" +"`list.insert` замість :meth:`list.append`, щоб додати до цих списків." + +msgid "" +"Because ``None`` is now inserted into :attr:`sys.path_importer_cache`, if " +"you are clearing out entries in the dictionary of paths that do not have a " +"finder, you will need to remove keys paired with values of ``None`` **and** :" +"class:`imp.NullImporter` to be backwards-compatible. This will lead to extra " +"overhead on older versions of Python that re-insert ``None`` into :attr:`sys." +"path_importer_cache` where it represents the use of implicit finders, but " +"semantically it should not change anything." +msgstr "" +"Оскільки ``None`` тепер вставлено в :attr:`sys.path_importer_cache`, якщо ви " +"очищаєте записи в словнику шляхів, які не мають шукача, вам потрібно буде " +"видалити ключі, поєднані зі значеннями ``None`` **і** :class:`imp." +"NullImporter` для зворотної сумісності. Це призведе до додаткових витрат на " +"старіші версії Python, які повторно вставляють ``None`` у :attr:`sys." +"path_importer_cache`, де це означає використання неявних засобів пошуку, але " +"семантично це не повинно нічого змінити." + +msgid "" +":class:`importlib.abc.Finder` no longer specifies a ``find_module()`` " +"abstract method that must be implemented. If you were relying on subclasses " +"to implement that method, make sure to check for the method's existence " +"first. You will probably want to check for ``find_loader()`` first, though, " +"in the case of working with :term:`path entry finders `." +msgstr "" + +msgid "" +":mod:`pkgutil` has been converted to use :mod:`importlib` internally. This " +"eliminates many edge cases where the old behaviour of the :pep:`302` import " +"emulation failed to match the behaviour of the real import system. The " +"import emulation itself is still present, but is now deprecated. The :func:" +"`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` functions special " +"case the standard import hooks so they are still supported even though they " +"do not provide the non-standard ``iter_modules()`` method." +msgstr "" +":mod:`pkgutil` було перетворено на використання :mod:`importlib` внутрішньо. " +"Це усуває багато граничних випадків, коли стара поведінка емуляції імпорту :" +"pep:`302` не збігалася з поведінкою реальної системи імпорту. Сама емуляція " +"імпорту все ще присутня, але тепер не підтримується. Функції :func:`pkgutil." +"iter_importers` і :func:`pkgutil.walk_packages` представляють спеціальний " +"варіант для стандартних хуків імпорту, тому вони все ще підтримуються, " +"навіть якщо вони не забезпечують нестандартний метод ``iter_modules()``." + +msgid "" +"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done by :" +"func:`email.header.decode_header` has been fixed. Code that uses the " +"standard idiom to convert encoded headers into unicode " +"(``str(make_header(decode_header(h))``) will see no change, but code that " +"looks at the individual tuples returned by decode_header will see that " +"whitespace that precedes or follows ``ASCII`` sections is now included in " +"the ``ASCII`` section. Code that builds headers using ``make_header`` " +"should also continue to work without change, since ``make_header`` continues " +"to add whitespace between ``ASCII`` and non-``ASCII`` sections if it is not " +"already present in the input strings." +msgstr "" +"Виправлено давню помилку відповідності вимогам RFC (:issue:`1079`) у " +"синтаксичному аналізі, виконаному :func:`email.header.decode_header`. Код, " +"який використовує стандартну ідіому для перетворення закодованих заголовків " +"у юнікод (``str(make_header(decode_header(h))``), не побачить жодних змін, " +"але код, який переглядає окремі кортежі, повернуті decode_header, побачить " +"пробіли, які передують або наступні розділи ``ASCII`` тепер включено в " +"розділ ``ASCII``. Код, який створює заголовки за допомогою ``make_header``, " +"також має продовжувати працювати без змін, оскільки ``make_header`` " +"продовжує додавати пробіли між ``ASCII`` і не ``ASCII`` розділи, якщо вони " +"ще не присутні у вхідних рядках." + +msgid "" +":func:`email.utils.formataddr` now does the correct content transfer " +"encoding when passed non-``ASCII`` display names. Any code that depended on " +"the previous buggy behavior that preserved the non-``ASCII`` unicode in the " +"formatted output string will need to be changed (:issue:`1690608`)." +msgstr "" +":func:`email.utils.formataddr` тепер виконує правильне кодування передачі " +"вмісту, коли передаються відображувані імена, відмінні від ``ASCII``. Будь-" +"який код, який залежав від попередньої помилкової поведінки, яка зберігала " +"не-``ASCII`` Юнікод у форматованому вихідному рядку, потрібно буде змінити (:" +"issue:`1690608`)." + +msgid "" +":meth:`poplib.POP3.quit` may now raise protocol errors like all other " +"``poplib`` methods. Code that assumes ``quit`` does not raise :exc:`poplib." +"error_proto` errors may need to be changed if errors on ``quit`` are " +"encountered by a particular application (:issue:`11291`)." +msgstr "" +":meth:`poplib.POP3.quit` тепер може викликати помилки протоколу, як і всі " +"інші методи ``poplib``. Код, який припускає, що ``вийти`` не викликає " +"помилки :exc:`poplib.error_proto`, може знадобитися змінити, якщо певна " +"програма стикається з помилками ``вийти`` (:issue:`11291`)." + +msgid "" +"The ``strict`` argument to :class:`email.parser.Parser`, deprecated since " +"Python 2.4, has finally been removed." +msgstr "" +"Аргумент ``strict`` для :class:`email.parser.Parser`, застарілий з Python " +"2.4, нарешті видалено." + +msgid "" +"The deprecated method ``unittest.TestCase.assertSameElements`` has been " +"removed." +msgstr "" +"Застарілий метод ``unittest.TestCase.assertSameElements`` було видалено." + +msgid "The deprecated variable ``time.accept2dyear`` has been removed." +msgstr "Застарілу змінну ``time.accept2dyear`` видалено." + +msgid "" +"The deprecated ``Context._clamp`` attribute has been removed from the :mod:" +"`decimal` module. It was previously replaced by the public attribute :attr:" +"`~decimal.Context.clamp`. (See :issue:`8540`.)" +msgstr "" +"Застарілий атрибут ``Context._clamp`` було видалено з модуля :mod:`decimal`. " +"Раніше він був замінений публічним атрибутом :attr:`~decimal.Context.clamp`. " +"(Див. :issue:`8540`.)" + +msgid "" +"The undocumented internal helper class ``SSLFakeFile`` has been removed " +"from :mod:`smtplib`, since its functionality has long been provided directly " +"by :meth:`socket.socket.makefile`." +msgstr "" +"Недокументований внутрішній допоміжний клас ``SSLFakeFile`` було видалено з :" +"mod:`smtplib`, оскільки його функціональні можливості протягом тривалого " +"часу надавалися безпосередньо :meth:`socket.socket.makefile`." + +msgid "" +"Passing a negative value to :func:`time.sleep` on Windows now raises an " +"error instead of sleeping forever. It has always raised an error on posix." +msgstr "" +"Передача від’ємного значення :func:`time.sleep` у Windows тепер викликає " +"помилку, а не сплячий режим назавжди. Це завжди викликало помилку на posix." + +msgid "" +"The ``ast.__version__`` constant has been removed. If you need to make " +"decisions affected by the AST version, use :attr:`sys.version_info` to make " +"the decision." +msgstr "" +"Константу ``ast.__version__`` видалено. Якщо вам потрібно прийняти рішення, " +"на які впливає версія AST, використовуйте :attr:`sys.version_info` для " +"прийняття рішення." + +msgid "" +"Code that used to work around the fact that the :mod:`threading` module used " +"factory functions by subclassing the private classes will need to change to " +"subclass the now-public classes." +msgstr "" +"Код, який раніше обходив той факт, що модуль :mod:`threading` використовував " +"фабричні функції, створюючи підкласи приватних класів, потрібно буде " +"змінити, щоб створити підкласи публічних класів." + +msgid "" +"The undocumented debugging machinery in the threading module has been " +"removed, simplifying the code. This should have no effect on production " +"code, but is mentioned here in case any application debug frameworks were " +"interacting with it (:issue:`13550`)." +msgstr "" +"Недокументований механізм налагодження в модулі обробки потоків було " +"видалено, що спростило код. Це не повинно вплинути на робочий код, але " +"згадується тут, якщо з ним взаємодіють будь-які фреймворки налагодження " +"програм (:issue:`13550`)." + +msgid "Porting C code" +msgstr "Перенесення коду C" + +msgid "" +"In the course of changes to the buffer API the undocumented :c:member:" +"`~Py_buffer.smalltable` member of the :c:type:`Py_buffer` structure has been " +"removed and the layout of the :c:type:`PyMemoryViewObject` has changed." +msgstr "" +"Під час змін до API буфера було видалено недокументований член :c:member:" +"`~Py_buffer.smalltable` структури :c:type:`Py_buffer` і макет :c:type:" +"`PyMemoryViewObject` змінилося." + +msgid "" +"All extensions relying on the relevant parts in ``memoryobject.h`` or " +"``object.h`` must be rebuilt." +msgstr "" +"Усі розширення, що покладаються на відповідні частини в ``memoryobject.h`` " +"або ``object.h``, повинні бути перебудовані." + +msgid "" +"Due to :ref:`PEP 393 `, the :c:type:`Py_UNICODE` type and all " +"functions using this type are deprecated (but will stay available for at " +"least five years). If you were using low-level Unicode APIs to construct " +"and access unicode objects and you want to benefit of the memory footprint " +"reduction provided by :pep:`393`, you have to convert your code to the new :" +"doc:`Unicode API <../c-api/unicode>`." +msgstr "" +"Через :ref:`PEP 393 `, тип :c:type:`Py_UNICODE` та всі функції, що " +"використовують цей тип, застаріли (але залишатимуться доступними щонайменше " +"п’ять років). Якщо ви використовували низькорівневі API Unicode для " +"створення та доступу до об’єктів Unicode та хочете скористатися перевагами " +"зменшення обсягу пам’яті, яке забезпечує :pep:`393`, вам потрібно " +"перетворити свій код на новий :doc:`API Unicode <../c-api/unicode>`." + +msgid "" +"However, if you only have been using high-level functions such as :c:func:" +"`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` or :c:func:" +"`PyUnicode_FromFormat()`, your code will automatically take advantage of the " +"new unicode representations." +msgstr "" +"Однак, якщо ви використовували лише функції високого рівня, такі як :c:func:" +"`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` або :c:func:" +"`PyUnicode_FromFormat()`, ваш код автоматично прийматиме переваги нових " +"представлень Unicode." + +msgid ":c:func:`PyImport_GetMagicNumber` now returns ``-1`` upon failure." +msgstr "" +":c:func:`PyImport_GetMagicNumber` тепер повертає ``-1`` у разі помилки." + +msgid "" +"As a negative value for the *level* argument to :func:`__import__` is no " +"longer valid, the same now holds for :c:func:`PyImport_ImportModuleLevel`. " +"This also means that the value of *level* used by :c:func:" +"`PyImport_ImportModuleEx` is now ``0`` instead of ``-1``." +msgstr "" +"Оскільки від’ємне значення для аргументу *level* для :func:`__import__` " +"більше недійсне, те саме тепер стосується :c:func:" +"`PyImport_ImportModuleLevel`. Це також означає, що значення *level*, яке " +"використовується :c:func:`PyImport_ImportModuleEx`, тепер дорівнює ``0`` " +"замість ``-1``." + +msgid "Building C extensions" +msgstr "Будівля C розширення" + +msgid "" +"The range of possible file names for C extensions has been narrowed. Very " +"rarely used spellings have been suppressed: under POSIX, files named " +"``xxxmodule.so``, ``xxxmodule.abi3.so`` and ``xxxmodule.cpython-*.so`` are " +"no longer recognized as implementing the ``xxx`` module. If you had been " +"generating such files, you have to switch to the other spellings (i.e., " +"remove the ``module`` string from the file names)." +msgstr "" +"Діапазон можливих імен файлів для розширень C було звужено. Дуже рідко " +"використовувані варіанти написання були придушені: у POSIX файли з іменами " +"``xxxmodule.so``, ``xxxmodule.abi3.so`` і ``xxxmodule.cpython-*.so`` більше " +"не розпізнаються як такі, що реалізують` модуль `xxx``. Якщо ви створювали " +"такі файли, вам потрібно переключитися на інші варіанти написання (тобто " +"видалити рядок ``module`` з імен файлів)." + +msgid "(implemented in :issue:`14040`.)" +msgstr "(реалізовано в :issue:`14040`.)" + +msgid "Command Line Switch Changes" +msgstr "Зміни перемикача командного рядка" + +msgid "" +"The -Q command-line flag and related artifacts have been removed. Code " +"checking sys.flags.division_warning will need updating." +msgstr "" +"Прапор командного рядка -Q і пов’язані артефакти видалено. Код перевірки sys." +"flags.division_warning потребує оновлення." + +msgid "(:issue:`10998`, contributed by Éric Araujo.)" +msgstr "(:issue:`10998`, надано Еріком Араухо.)" + +msgid "" +"When :program:`python` is started with :option:`-S`, ``import site`` will no " +"longer add site-specific paths to the module search paths. In previous " +"versions, it did." +msgstr "" +"Коли :program:`python` запускається за допомогою :option:`-S`, ``import " +"site`` більше не додаватиме шляхи для сайту до шляхів пошуку модуля. У " +"попередніх версіях так і було." + +msgid "" +"(:issue:`11591`, contributed by Carl Meyer with editions by Éric Araujo.)" +msgstr "(:issue:`11591`, надано Карлом Майєром з виданнями Еріка Араухо.)" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po new file mode 100644 index 000000000..57e608d35 --- /dev/null +++ b/whatsnew/3.4.po @@ -0,0 +1,4452 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.4" +msgstr "Що нового в Python 3.4" + +msgid "Author" +msgstr "Автор" + +msgid "R. David Murray (Editor)" +msgstr "R. David Murray (Редактор)" + +msgid "" +"This article explains the new features in Python 3.4, compared to 3.3. " +"Python 3.4 was released on March 16, 2014. For full details, see the " +"`changelog `_." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.4 порівняно з 3.3. Python " +"3.4 було випущено 16 березня 2014 року. Щоб отримати повну інформацію, " +"перегляньте `журнал змін `_." + +msgid ":pep:`429` -- Python 3.4 Release Schedule" +msgstr ":pep:`429` -- Графік випуску Python 3.4" + +msgid "Summary -- Release Highlights" +msgstr "Підсумок -- Основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid "No new syntax features were added in Python 3.4." +msgstr "У Python 3.4 не було додано нових функцій синтаксису." + +msgid "Other new features:" +msgstr "Інші нові функції:" + +msgid ":ref:`pip should always be available ` (:pep:`453`)." +msgstr ":ref:`pip завжди має бути доступним ` (:pep:`453`)." + +msgid "" +":ref:`Newly created file descriptors are non-inheritable ` " +"(:pep:`446`)." +msgstr "" +":ref:`Новостворені дескриптори файлів не успадковуються ` " +"(:pep:`446`)." + +msgid "" +"command line option for :ref:`isolated mode ` (:" +"issue:`16499`)." +msgstr "" +"параметр командного рядка для :ref:`ізольованого режиму ` (:issue:`16499`)." + +msgid "" +":ref:`improvements in the handling of codecs ` " +"that are not text encodings (multiple issues)." +msgstr "" +":ref:`покращення в обробці кодеків `, які не є " +"текстовими кодуваннями (кілька проблем)." + +msgid "" +":ref:`A ModuleSpec Type ` for the Import System (:pep:" +"`451`). (Affects importer authors.)" +msgstr "" +":ref:`A ModuleSpec Type ` для системи імпорту (:pep:" +"`451`). (Впливає на авторів-імпортерів.)" + +msgid "" +"The :mod:`marshal` format has been made :ref:`more compact and efficient " +"` (:issue:`16475`)." +msgstr "" +"Формат :mod:`marshal` зроблено :ref:`компактнішим і ефективнішим ` (:issue:`16475`)." + +msgid "New library modules:" +msgstr "Нові бібліотечні модулі:" + +msgid "" +":mod:`asyncio`: :ref:`New provisional API for asynchronous IO ` (:pep:`3156`)." +msgstr "" +":mod:`asyncio`: :ref:`Новий тимчасовий API для асинхронного введення-" +"виведення ` (:pep:`3156`)." + +msgid "" +":mod:`ensurepip`: :ref:`Bootstrapping the pip installer ` (:pep:`453`)." +msgstr "" +":mod:`ensurepip`: :ref:`Завантаження інсталятора pip ` (:" +"pep:`453`)." + +msgid "" +":mod:`enum`: :ref:`Support for enumeration types ` (:pep:" +"`435`)." +msgstr "" +":mod:`enum`: :ref:`Підтримка типів перерахування ` (:pep:" +"`435`)." + +msgid "" +":mod:`pathlib`: :ref:`Object-oriented filesystem paths ` (:" +"pep:`428`)." +msgstr "" +":mod:`pathlib`: :ref:`Шляхи об’єктно-орієнтованої файлової системи ` (:pep:`428`)." + +msgid "" +":mod:`selectors`: :ref:`High-level and efficient I/O multiplexing `, built upon the :mod:`select` module primitives (part of :pep:" +"`3156`)." +msgstr "" +":mod:`selectors`: :ref:`Високорівневе й ефективне мультиплексування введення/" +"виведення `, побудоване на примітивах модуля :mod:" +"`select` (частина :pep:`3156`)." + +msgid "" +":mod:`statistics`: A basic :ref:`numerically stable statistics library " +"` (:pep:`450`)." +msgstr "" +":mod:`statistics`: базова :ref:`бібліотека чисельно стабільної статистики " +"` (:pep:`450`)." + +msgid "" +":mod:`tracemalloc`: :ref:`Trace Python memory allocations ` (:pep:`454`)." +msgstr "" +":mod:`tracemalloc`: :ref:`Відстеження розподілу пам’яті Python ` (:pep:`454`)." + +msgid "Significantly improved library modules:" +msgstr "Значно вдосконалені модулі бібліотеки:" + +msgid "" +":ref:`Single-dispatch generic functions ` in :mod:" +"`functools` (:pep:`443`)." +msgstr "" +":ref:`Загальні функції одноразового відправлення ` " +"у :mod:`functools` (:pep:`443`)." + +msgid "" +"New :mod:`pickle` :ref:`protocol 4 ` (:pep:`3154`)." +msgstr "" +"Новий :mod:`pickle` :ref:`протокол 4 ` (:pep:`3154`)." + +msgid "" +":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " +"Unix ` (:issue:`8713`)." +msgstr "" +":mod:`multiprocessing` тепер має :ref:`опцію, щоб уникнути використання os." +"fork на Unix ` (:issue:`8713`)." + +msgid "" +":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a new :" +"mod:`~email.message.Message` subclass (:class:`~email.contentmanager." +"EmailMessage`) that :ref:`simplify MIME handling " +"` (:issue:`18891`)." +msgstr "" +":mod:`email` має новий підмодуль :mod:`~email.contentmanager` і новий " +"підклас :mod:`~email.message.Message` (:class:`~email.contentmanager." +"EmailMessage`), який :ref:`спрощення обробки MIME " +"` (:issue:`18891`)." + +msgid "" +"The :mod:`inspect` and :mod:`pydoc` modules are now capable of correct " +"introspection of a much wider variety of callable objects, which improves " +"the output of the Python :func:`help` system." +msgstr "" +"Модулі :mod:`inspect` і :mod:`pydoc` тепер здатні до правильного аналізу " +"набагато ширшого спектру викликаних об’єктів, що покращує результат роботи " +"системи :func:`help` Python." + +msgid "The :mod:`ipaddress` module API has been declared stable" +msgstr "API модуля :mod:`ipaddress` оголошено стабільним" + +msgid "Security improvements:" +msgstr "Покращення безпеки:" + +msgid "" +":ref:`Secure and interchangeable hash algorithm ` (:pep:" +"`456`)." +msgstr "" +":ref:`Безпечний і взаємозамінний хеш-алгоритм ` (:pep:" +"`456`)." + +msgid "" +":ref:`Make newly created file descriptors non-inheritable ` (:pep:`446`) to avoid leaking file descriptors to child processes." +msgstr "" +":ref:`Зробити новостворені дескриптори файлів неуспадкованими ` (:pep:`446`), щоб уникнути витоку дескрипторів файлів у дочірні " +"процеси." + +msgid "" +"New command line option for :ref:`isolated mode `, (:" +"issue:`16499`)." +msgstr "" +"Нова опція командного рядка для :ref:`ізольованого режиму `, (:issue:`16499`)." + +msgid "" +":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " +"Unix `. *spawn* and *forkserver* are more " +"secure because they avoid sharing data with child processes." +msgstr "" +":mod:`multiprocessing` тепер має :ref:`опцію, щоб уникнути використання os." +"fork на Unix `. *spawn* і *forkserver* " +"більш безпечні, оскільки вони уникають обміну даними з дочірніми процесами." + +msgid "" +":mod:`multiprocessing` child processes on Windows no longer inherit all of " +"the parent's inheritable handles, only the necessary ones." +msgstr "" +":mod:`multiprocessing` дочірні процеси в Windows більше не успадковують усі " +"успадковані дескриптори батьківського процесу, лише необхідні." + +msgid "" +"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" +"based key derivation function 2 `_." +msgstr "" +"Нова функція :func:`hashlib.pbkdf2_hmac` забезпечує функцію виведення ключа " +"на основі пароля `PKCS#5 2 `_." + +msgid ":ref:`TLSv1.1 and TLSv1.2 support ` for :mod:`ssl`." +msgstr "" +":ref:`TLSv1.1 і TLSv1.2 підтримують ` для :mod:`ssl`." + +msgid "" +":ref:`Retrieving certificates from the Windows system cert store support " +"` for :mod:`ssl`." +msgstr "" +":ref:`Отримання сертифікатів із сховища сертифікатів системи Windows " +"підтримує ` для :mod:`ssl`." + +msgid "" +":ref:`Server-side SNI (Server Name Indication) support ` " +"for :mod:`ssl`." +msgstr "" +":ref:`Server-side SNI (Server Name Indication) support ` " +"for :mod:`ssl`." + +msgid "" +"The :class:`ssl.SSLContext` class has a :ref:`lot of improvements " +"`." +msgstr "" +"Клас :class:`ssl.SSLContext` має :ref:`багато покращень `." + +msgid "" +"All modules in the standard library that support SSL now support server " +"certificate verification, including hostname matching (:func:`ssl." +"match_hostname`) and CRLs (Certificate Revocation lists, see :func:`ssl." +"SSLContext.load_verify_locations`)." +msgstr "" +"Усі модулі в стандартній бібліотеці, які підтримують SSL, тепер підтримують " +"перевірку сертифікатів сервера, включаючи відповідність імен хостів (:func:" +"`ssl.match_hostname`) і CRL (списки відкликаних сертифікатів, див. :func:" +"`ssl.SSLContext.load_verify_locations`)." + +msgid "CPython implementation improvements:" +msgstr "Покращення реалізації CPython:" + +msgid ":ref:`Safe object finalization ` (:pep:`442`)." +msgstr ":ref:`Безпечна фіналізація об’єкта ` (:pep:`442`)." + +msgid "" +"Leveraging :pep:`442`, in most cases :ref:`module globals are no longer set " +"to None during finalization ` (:issue:`18214`)." +msgstr "" +"Використовуючи :pep:`442`, у більшості випадків :ref:`глобальні параметри " +"модуля більше не встановлюються на None під час фіналізації ` (:issue:`18214`)." + +msgid ":ref:`Configurable memory allocators ` (:pep:`445`)." +msgstr "" +":ref:`Настроювані розподілювачі пам’яті ` (:pep:`445`)." + +msgid ":ref:`Argument Clinic ` (:pep:`436`)." +msgstr ":ref:`Argument Clinic ` (:pep:`436`)." + +msgid "" +"Please read on for a comprehensive list of user-facing changes, including " +"many other smaller improvements, CPython optimizations, deprecations, and " +"potential porting issues." +msgstr "" +"Будь ласка, прочитайте повний список змін, які стосуються користувача, " +"включаючи багато інших менших покращень, оптимізацію CPython, застарілі та " +"потенційні проблеми з перенесенням." + +msgid "New Features" +msgstr "Нові можливості" + +msgid "PEP 453: Explicit Bootstrapping of PIP in Python Installations" +msgstr "PEP 453: Явне початкове завантаження PIP у встановленнях Python" + +msgid "Bootstrapping pip By Default" +msgstr "За замовчуванням завантажувальний pip" + +msgid "" +"The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard " +"cross-platform mechanism to bootstrap the pip installer into Python " +"installations and virtual environments. The version of ``pip`` included with " +"Python 3.4.0 is ``pip`` 1.5.4, and future 3.4.x maintenance releases will " +"update the bundled version to the latest version of ``pip`` that is " +"available at the time of creating the release candidate." +msgstr "" +"Новий модуль :mod:`ensurepip` (визначений у :pep:`453`) забезпечує " +"стандартний міжплатформний механізм для завантаження інсталятора pip у " +"інсталяції Python і віртуальні середовища. Версія ``pip``, що входить до " +"складу Python 3.4.0, — це ``pip`` 1.5.4, і в майбутніх випусках технічного " +"обслуговування 3.4.x оновлюватиметься пакетна версія до останньої версії " +"``pip``, доступної за адресою час створення реліз-кандидата." + +msgid "" +"By default, the commands ``pipX`` and ``pipX.Y`` will be installed on all " +"platforms (where X.Y stands for the version of the Python installation), " +"along with the ``pip`` Python package and its dependencies. On Windows and " +"in virtual environments on all platforms, the unversioned ``pip`` command " +"will also be installed. On other platforms, the system wide unversioned " +"``pip`` command typically refers to the separately installed Python 2 " +"version." +msgstr "" +"За замовчуванням команди ``pipX`` і ``pipX.Y`` будуть встановлені на всіх " +"платформах (де X.Y означає версію інсталяції Python), а також пакет ``pip`` " +"Python і його залежності . У Windows і у віртуальних середовищах на всіх " +"платформах також буде встановлено неверсійну команду ``pip``. На інших " +"платформах загальносистемна неверсійна команда ``pip`` зазвичай відноситься " +"до окремо встановленої версії Python 2." + +msgid "" +"The ``pyvenv`` command line utility and the :mod:`venv` module make use of " +"the :mod:`ensurepip` module to make ``pip`` readily available in virtual " +"environments. When using the command line utility, ``pip`` is installed by " +"default, while when using the :mod:`venv` module :ref:`venv-api` " +"installation of ``pip`` must be requested explicitly." +msgstr "" +"Утиліта командного рядка ``pyvenv`` і модуль :mod:`venv` використовують " +"модуль :mod:`ensurepip`, щоб зробити ``pip`` доступним у віртуальних " +"середовищах. Під час використання утиліти командного рядка ``pip`` " +"встановлено за замовчуванням, тоді як при використанні модуля :mod:`venv` :" +"ref:`venv-api` встановлення ``pip`` має бути запитане явно." + +msgid "" +"For CPython :ref:`source builds on POSIX systems `, " +"the ``make install`` and ``make altinstall`` commands bootstrap ``pip`` by " +"default. This behaviour can be controlled through configure options, and " +"overridden through Makefile options." +msgstr "" +"Для CPython :ref:`source будується на системах POSIX `, команди ``make install`` і ``make altinstall`` завантажують ``pip`` " +"за замовчуванням. Цю поведінку можна контролювати за допомогою параметрів " +"конфігурації та перевизначати за допомогою параметрів Makefile." + +msgid "" +"On Windows and Mac OS X, the CPython installers now default to installing " +"``pip`` along with CPython itself (users may opt out of installing it during " +"the installation process). Window users will need to opt in to the automatic " +"``PATH`` modifications to have ``pip`` available from the command line by " +"default, otherwise it can still be accessed through the Python launcher for " +"Windows as ``py -m pip``." +msgstr "" +"У Windows і Mac OS X інсталятори CPython тепер за замовчуванням встановлюють " +"``pip`` разом із самим CPython (користувачі можуть відмовитися від його " +"встановлення під час процесу встановлення). Користувачам Windows потрібно " +"буде ввімкнути автоматичні зміни PATH, щоб за замовчуванням мати pip " +"доступним із командного рядка, інакше до нього можна отримати доступ через " +"засіб запуску Python для Windows за допомогою ``py -m pip``." + +msgid "" +"As `discussed in the PEP`__, platform packagers may choose not to install " +"these commands by default, as long as, when invoked, they provide clear and " +"simple directions on how to install them on that platform (usually using the " +"system package manager)." +msgstr "" +"Як `обговорювалося в PEP`__, пакувальники платформи можуть не встановлювати " +"ці команди за замовчуванням, якщо під час виклику вони надають чіткі та " +"прості вказівки щодо їх встановлення на цій платформі (зазвичай за допомогою " +"системного менеджера пакетів) ." + +msgid "" +"To avoid conflicts between parallel Python 2 and Python 3 installations, " +"only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by " +"default when ``ensurepip`` is invoked directly - the ``--default-pip`` " +"option is needed to also request the unversioned ``pip`` command. ``pyvenv`` " +"and the Windows installer ensure that the unqualified ``pip`` command is " +"made available in those environments, and ``pip`` can always be invoked via " +"the ``-m`` switch rather than directly to avoid ambiguity on systems with " +"multiple Python installations." +msgstr "" +"Щоб уникнути конфліктів між паралельними інсталяціями Python 2 і Python 3, " +"лише версії команд ``pip3`` і ``pip3.4`` завантажуються за замовчуванням, " +"коли ``ensurepip`` викликається безпосередньо - ``--default- Опція pip " +"потрібна для запиту неверсійної команди pip. ``pyvenv`` і інсталятор Windows " +"забезпечують доступність некваліфікованої команди ``pip`` у цих середовищах, " +"а ``pip`` завжди можна викликати за допомогою перемикача ``-m``, а не " +"безпосередньо, щоб уникнути неоднозначність у системах із кількома " +"інсталяціями Python." + +msgid "Documentation Changes" +msgstr "Зміни в документації" + +msgid "" +"As part of this change, the :ref:`installing-index` and :ref:`distributing-" +"index` sections of the documentation have been completely redesigned as " +"short getting started and FAQ documents. Most packaging documentation has " +"now been moved out to the Python Packaging Authority maintained `Python " +"Packaging User Guide `__ and the documentation " +"of the individual projects." +msgstr "" +"У рамках цієї зміни розділи :ref:`installing-index` і :ref:`distributing-" +"index` документації були повністю перероблені як короткі документи про " +"початок роботи та FAQ. Більшість пакетної документації тепер переміщено до " +"Python Packaging Authority, який підтримується `Python Packaging User Guide " +"`__ і документація окремих проектів." + +msgid "" +"However, as this migration is currently still incomplete, the legacy " +"versions of those guides remaining available as :ref:`install-index` and :" +"ref:`distutils-index`." +msgstr "" +"Однак, оскільки ця міграція ще не завершена, застарілі версії цих посібників " +"залишаються доступними як :ref:`install-index` і :ref:`distutils-index`." + +msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" +msgstr ":pep:`453` -- Явне початкове завантаження pip у інсталяціях Python" + +msgid "" +"PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " +"Nick Coghlan, Martin von Löwis and Ned Deily." +msgstr "" +"PEP, написаний Дональдом Стаффтом і Ніком Когланом, реалізований Дональдом " +"Стаффтом, Ніком Когланом, Мартіном фон Льовісом і Недом Дейлі." + +msgid "PEP 446: Newly Created File Descriptors Are Non-Inheritable" +msgstr "PEP 446: щойно створені дескриптори файлів не успадковуються" + +msgid "" +":pep:`446` makes newly created file descriptors :ref:`non-inheritable " +"`. In general, this is the behavior an application will " +"want: when launching a new process, having currently open files also open in " +"the new process can lead to all sorts of hard to find bugs, and potentially " +"to security issues." +msgstr "" +":pep:`446` робить новостворені дескриптори файлів :ref:`неуспадкованими " +"`. Загалом це те, чого захоче програма: під час запуску " +"нового процесу наявність відкритих файлів, також відкритих у новому процесі, " +"може призвести до різного роду помилок, які важко знайти, і потенційно до " +"проблем безпеки." + +msgid "" +"However, there are occasions when inheritance is desired. To support these " +"cases, the following new functions and methods are available:" +msgstr "" +"Однак бувають випадки, коли бажано отримати спадок. Для підтримки цих " +"випадків доступні такі нові функції та методи:" + +msgid ":func:`os.get_inheritable`, :func:`os.set_inheritable`" +msgstr ":func:`os.get_inheritable`, :func:`os.set_inheritable`" + +msgid ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" +msgstr ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" + +msgid "" +":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" +msgstr "" +":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" + +msgid ":pep:`446` -- Make newly created file descriptors non-inheritable" +msgstr "" +":pep:`446` -- Зробити новостворені дескриптори файлів неуспадковуваними" + +msgid "PEP written and implemented by Victor Stinner." +msgstr "PEP написав і реалізував Віктор Стіннер." + +msgid "Improvements to Codec Handling" +msgstr "Покращення обробки кодеків" + +msgid "" +"Since it was first introduced, the :mod:`codecs` module has always been " +"intended to operate as a type-neutral dynamic encoding and decoding system. " +"However, its close coupling with the Python text model, especially the type " +"restricted convenience methods on the builtin :class:`str`, :class:`bytes` " +"and :class:`bytearray` types, has historically obscured that fact." +msgstr "" +"З моменту появи вперше модуль :mod:`codecs` завжди був призначений для " +"роботи як нейтральна до типу система динамічного кодування та декодування. " +"Однак його тісний зв’язок із текстовою моделлю Python, особливо зручні " +"методи з обмеженим типом у вбудованих типах :class:`str`, :class:`bytes` і :" +"class:`bytearray`, історично приховав цей факт." + +msgid "" +"As a key step in clarifying the situation, the :meth:`codecs.encode` and :" +"meth:`codecs.decode` convenience functions are now properly documented in " +"Python 2.7, 3.3 and 3.4. These functions have existed in the :mod:`codecs` " +"module (and have been covered by the regression test suite) since Python " +"2.4, but were previously only discoverable through runtime introspection." +msgstr "" +"Як ключовий крок у проясненні ситуації, зручні функції :meth:`codecs.encode` " +"і :meth:`codecs.decode` тепер належним чином задокументовані в Python 2.7, " +"3.3 і 3.4. Ці функції існували в модулі :mod:`codecs` (і були охоплені " +"набором тестів регресії) з Python 2.4, але раніше їх можна було виявити лише " +"під час самоаналізу." + +msgid "" +"Unlike the convenience methods on :class:`str`, :class:`bytes` and :class:" +"`bytearray`, the :mod:`codecs` convenience functions support arbitrary " +"codecs in both Python 2 and Python 3, rather than being limited to Unicode " +"text encodings (in Python 3) or ``basestring`` <-> ``basestring`` " +"conversions (in Python 2)." +msgstr "" +"На відміну від зручних методів :class:`str`, :class:`bytes` і :class:" +"`bytearray`, зручні функції :mod:`codecs` підтримують довільні кодеки в " +"Python 2 і Python 3, а не обмежені у кодування тексту Unicode (у Python 3) " +"або перетворення ``basestring`` <-> ``basestring`` (у Python 2)." + +msgid "" +"In Python 3.4, the interpreter is able to identify the known non-text " +"encodings provided in the standard library and direct users towards these " +"general purpose convenience functions when appropriate::" +msgstr "" +"У Python 3.4 інтерпретатор може ідентифікувати відомі нетекстові кодування, " +"надані в стандартній бібліотеці, і спрямовувати користувачів до цих зручних " +"функцій загального призначення, коли це необхідно:" + +msgid "" +"In a related change, whenever it is feasible without breaking backwards " +"compatibility, exceptions raised during encoding and decoding operations are " +"wrapped in a chained exception of the same type that mentions the name of " +"the codec responsible for producing the error::" +msgstr "" +"У зв’язаних змінах, коли це можливо без порушення зворотної сумісності, " +"винятки, які виникають під час операцій кодування та декодування, " +"загортаються в ланцюговий виняток того самого типу, у якому згадується ім’я " +"кодека, відповідального за створення помилки:" + +msgid "" +"Finally, as the examples above show, these improvements have permitted the " +"restoration of the convenience aliases for the non-Unicode codecs that were " +"themselves restored in Python 3.2. This means that encoding binary data to " +"and from its hexadecimal representation (for example) can now be written as::" +msgstr "" +"Нарешті, як показують наведені вище приклади, ці вдосконалення дозволили " +"відновити зручні псевдоніми для кодеків, відмінних від Unicode, які самі " +"були відновлені в Python 3.2. Це означає, що кодування двійкових даних у їх " +"шістнадцяткове представлення та з них (наприклад) тепер можна записати так:" + +msgid "" +"The binary and text transforms provided in the standard library are detailed " +"in :ref:`binary-transforms` and :ref:`text-transforms`." +msgstr "" +"Двійкові та текстові перетворення, надані в стандартній бібліотеці, детально " +"описані в :ref:`binary-transforms` і :ref:`text-transforms`." + +msgid "" +"(Contributed by Nick Coghlan in :issue:`7475`, :issue:`17827`, :issue:" +"`17828` and :issue:`19619`.)" +msgstr "" +"(Надано Ніком Когланом у :issue:`7475`, :issue:`17827`, :issue:`17828` та :" +"issue:`19619`.)" + +msgid "PEP 451: A ModuleSpec Type for the Import System" +msgstr "PEP 451: тип ModuleSpec для системи імпорту" + +msgid "" +":pep:`451` provides an encapsulation of the information about a module that " +"the import machinery will use to load it (that is, a module specification). " +"This helps simplify both the import implementation and several import-" +"related APIs. The change is also a stepping stone for `several future import-" +"related improvements`__." +msgstr "" +":pep:`451` забезпечує інкапсуляцію інформації про модуль, яку механізм " +"імпорту використовуватиме для його завантаження (тобто специфікацію модуля). " +"Це допомагає спростити як реалізацію імпорту, так і кілька пов’язаних з " +"імпортом API. Ця зміна також є кроком до `декількох майбутніх покращень, " +"пов’язаних з імпортом`__." + +msgid "" +"The public-facing changes from the PEP are entirely backward-compatible. " +"Furthermore, they should be transparent to everyone but importer authors. " +"Key finder and loader methods have been deprecated, but they will continue " +"working. New importers should use the new methods described in the PEP. " +"Existing importers should be updated to implement the new methods. See the :" +"ref:`deprecated-3.4` section for a list of methods that should be replaced " +"and their replacements." +msgstr "" +"Загальнодоступні зміни від PEP повністю сумісні з попередніми версіями. Крім " +"того, вони мають бути прозорими для всіх, крім авторів-імпортерів. Методи " +"пошуку та завантаження ключів застаріли, але вони продовжуватимуть " +"працювати. Нові імпортери повинні використовувати нові методи, описані в " +"PEP. Існуючі імпортери мають бути оновлені для впровадження нових методів. " +"Перегляньте розділ :ref:`deprecated-3.4` для списку методів, які слід " +"замінити, і їх замін." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "Unicode database updated to UCD version 6.3." +msgstr "Базу даних Unicode оновлено до UCD версії 6.3." + +msgid "" +":func:`min` and :func:`max` now accept a *default* keyword-only argument " +"that can be used to specify the value they return if the iterable they are " +"evaluating has no elements. (Contributed by Julian Berman in :issue:" +"`18111`.)" +msgstr "" +":func:`min` і :func:`max` тепер приймають аргумент *за замовчуванням*, що " +"містить лише ключове слово, яке можна використовувати для вказівки значення, " +"яке вони повертають, якщо ітерація, яку вони оцінюють, не має елементів. " +"(Надав Джуліан Берман у :issue:`18111`.)" + +msgid "Module objects are now :ref:`weakly referenceable `." +msgstr "" + +msgid "" +"Module ``__file__`` attributes (and related values) should now always " +"contain absolute paths by default, with the sole exception of ``__main__." +"__file__`` when a script has been executed directly using a relative path. " +"(Contributed by Brett Cannon in :issue:`18416`.)" +msgstr "" +"Атрибути модуля ``__file__`` (та відповідні значення) тепер завжди повинні " +"містити абсолютні шляхи за замовчуванням, за єдиним винятком ``__main__." +"__file__``, коли сценарій виконується безпосередньо за допомогою відносного " +"шляху. (Надано Бреттом Кенноном у :issue:`18416`.)" + +msgid "" +"All the UTF-\\* codecs (except UTF-7) now reject surrogates during both " +"encoding and decoding unless the ``surrogatepass`` error handler is used, " +"with the exception of the UTF-16 decoder (which accepts valid surrogate " +"pairs) and the UTF-16 encoder (which produces them while encoding non-BMP " +"characters). (Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy " +"Storchaka in :issue:`12892`.)" +msgstr "" +"Усі кодеки UTF-\\* (крім UTF-7) тепер відхиляють сурогати як під час " +"кодування, так і під час декодування, якщо не використовується обробник " +"помилок ``surrogatepass``, за винятком декодера UTF-16 (який приймає дійсні " +"пари сурогатів) і кодувальник UTF-16 (який створює їх під час кодування " +"символів, відмінних від BMP). (Надано Віктором Стіннером, Кан-Хао (Кенні) Лу " +"та Сергієм Сторчакою в :issue:`12892`.)" + +msgid "" +"New German EBCDIC :ref:`codec ` ``cp273``. (Contributed " +"by Michael Bierenfeld and Andrew Kuchling in :issue:`1097797`.)" +msgstr "" +"Новий німецький EBCDIC :ref:`codec ` ``cp273``. (Надано " +"Майклом Біренфельдом та Ендрю Кухлінгом у :issue:`1097797`.)" + +msgid "" +"New Ukrainian :ref:`codec ` ``cp1125``. (Contributed by " +"Serhiy Storchaka in :issue:`19668`.)" +msgstr "" +"Новий український :ref:`codec ` ``cp1125``. (Надав " +"Сергій Сторчака в :issue:`19668`.)" + +msgid "" +":class:`bytes`.join() and :class:`bytearray`.join() now accept arbitrary " +"buffer objects as arguments. (Contributed by Antoine Pitrou in :issue:" +"`15958`.)" +msgstr "" +":class:`bytes`.join() і :class:`bytearray`.join() тепер приймають довільні " +"буферні об’єкти як аргументи. (Надав Антуан Пітру в :issue:`15958`.)" + +msgid "" +"The :class:`int` constructor now accepts any object that has an " +"``__index__`` method for its *base* argument. (Contributed by Mark " +"Dickinson in :issue:`16772`.)" +msgstr "" +"Конструктор :class:`int` тепер приймає будь-який об’єкт, який має метод " +"``__index__`` для аргументу *base*. (Надав Марк Дікінсон у :issue:`16772`.)" + +msgid "" +"Frame objects now have a :func:`~frame.clear` method that clears all " +"references to local variables from the frame. (Contributed by Antoine " +"Pitrou in :issue:`17934`.)" +msgstr "" +"Об’єкти фрейму тепер мають метод :func:`~frame.clear`, який очищає всі " +"посилання на локальні змінні з фрейму. (Надав Антуан Пітру в :issue:`17934`.)" + +msgid "" +":class:`memoryview` is now registered as a :class:`Sequence `, and supports the :func:`reversed` builtin. (Contributed by Nick " +"Coghlan and Claudiu Popa in :issue:`18690` and :issue:`19078`.)" +msgstr "" +":class:`memoryview` тепер зареєстровано як :class:`Sequence `, і підтримує вбудований :func:`reversed`. (Надано Ніком Когланом і " +"Клаудіу Попою в :issue:`18690` і :issue:`19078`.)" + +msgid "" +"Signatures reported by :func:`help` have been modified and improved in " +"several cases as a result of the introduction of Argument Clinic and other " +"changes to the :mod:`inspect` and :mod:`pydoc` modules." +msgstr "" +"Сигнатури, про які повідомляє :func:`help`, були змінені та покращені в " +"кількох випадках у результаті впровадження Argument Clinic та інших змін до " +"модулів :mod:`inspect` і :mod:`pydoc`." + +msgid "" +":meth:`~object.__length_hint__` is now part of the formal language " +"specification (see :pep:`424`). (Contributed by Armin Ronacher in :issue:" +"`16148`.)" +msgstr "" +":meth:`~object.__length_hint__` тепер є частиною формальної специфікації " +"мови (див. :pep:`424`). (Надав Армін Роначер у :issue:`16148`.)" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"The new :mod:`asyncio` module (defined in :pep:`3156`) provides a standard " +"pluggable event loop model for Python, providing solid asynchronous IO " +"support in the standard library, and making it easier for other event loop " +"implementations to interoperate with the standard library and each other." +msgstr "" +"Новий модуль :mod:`asyncio` (визначений у :pep:`3156`) надає стандартну " +"підключаючу модель циклу подій для Python, надаючи надійну підтримку " +"асинхронного введення-виведення в стандартній бібліотеці та полегшуючи " +"взаємодію інших реалізацій циклу подій. зі стандартною бібліотекою та один з " +"одним." + +msgid "For Python 3.4, this module is considered a :term:`provisional API`." +msgstr "Для Python 3.4 цей модуль вважається :term:`provisional API`." + +msgid ":pep:`3156` -- Asynchronous IO Support Rebooted: the \"asyncio\" Module" +msgstr "" +":pep:`3156` -- Перезавантажено підтримку асинхронного вводу-виводу: модуль " +"\"asyncio\"" + +msgid "PEP written and implementation led by Guido van Rossum." +msgstr "Написання PEP та впровадження під керівництвом Гвідо ван Россума." + +msgid "ensurepip" +msgstr "securepip" + +msgid "" +"The new :mod:`ensurepip` module is the primary infrastructure for the :pep:" +"`453` implementation. In the normal course of events end users will not " +"need to interact with this module, but it can be used to manually bootstrap " +"``pip`` if the automated bootstrapping into an installation or virtual " +"environment was declined." +msgstr "" +"Новий модуль :mod:`ensurepip` є основною інфраструктурою для реалізації :pep:" +"`453`. У звичайному перебігу подій кінцевим користувачам не потрібно буде " +"взаємодіяти з цим модулем, але його можна використовувати для ручного " +"завантаження ``pip``, якщо автоматичне завантаження у встановлене чи " +"віртуальне середовище було відхилено." + +msgid "" +":mod:`ensurepip` includes a bundled copy of ``pip``, up-to-date as of the " +"first release candidate of the release of CPython with which it ships (this " +"applies to both maintenance releases and feature releases). ``ensurepip`` " +"does not access the internet. If the installation has internet access, " +"after ``ensurepip`` is run the bundled ``pip`` can be used to upgrade " +"``pip`` to a more recent release than the bundled one. (Note that such an " +"upgraded version of ``pip`` is considered to be a separately installed " +"package and will not be removed if Python is uninstalled.)" +msgstr "" +":mod:`ensurepip` містить укомплектовану копію ``pip``, оновлену до першого " +"випуску-кандидата випуску CPython, з яким він поставляється (це стосується " +"як випусків підтримки, так і випусків функцій). ``ensurepip`` не має доступу " +"до Інтернету. Якщо інсталяція має доступ до Інтернету, після запуску " +"``ensurepip`` пакетний ``pip`` можна використовувати для оновлення ``pip`` " +"до новішого випуску, ніж пакетний випуск. (Зверніть увагу, що така оновлена " +"версія ``pip`` вважається окремо встановленим пакетом і не буде видалена, " +"якщо Python буде видалено.)" + +msgid "" +"The module is named *ensure*\\ pip because if called when ``pip`` is already " +"installed, it does nothing. It also has an ``--upgrade`` option that will " +"cause it to install the bundled copy of ``pip`` if the existing installed " +"version of ``pip`` is older than the bundled copy." +msgstr "" +"Модуль називається *ensure*\\ pip, тому що якщо його викликати, коли ``pip`` " +"уже встановлено, він нічого не робить. Він також має опцію ``--upgrade``, " +"яка змусить його встановити пакетну копію ``pip``, якщо наявна встановлена " +"версія ``pip`` старіша за пакетну копію." + +msgid "enum" +msgstr "перелік" + +msgid "" +"The new :mod:`enum` module (defined in :pep:`435`) provides a standard " +"implementation of enumeration types, allowing other modules (such as :mod:" +"`socket`) to provide more informative error messages and better debugging " +"support by replacing opaque integer constants with backwards compatible " +"enumeration values." +msgstr "" +"Новий модуль :mod:`enum` (визначений у :pep:`435`) забезпечує стандартну " +"реалізацію типів перерахування, що дозволяє іншим модулям (таким як :mod:" +"`socket`) надавати більш інформативні повідомлення про помилки та " +"покращувати підтримку налагодження. шляхом заміни непрозорих цілочисельних " +"констант на зворотно сумісні значення перерахування." + +msgid ":pep:`435` -- Adding an Enum type to the Python standard library" +msgstr ":pep:`435` -- Додавання типу Enum до стандартної бібліотеки Python" + +msgid "" +"PEP written by Barry Warsaw, Eli Bendersky and Ethan Furman, implemented by " +"Ethan Furman." +msgstr "" +"PEP, написаний Баррі Варшау, Елі Бендерскі та Ітаном Фурманом, реалізований " +"Ітаном Фурманом." + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +"The new :mod:`pathlib` module offers classes representing filesystem paths " +"with semantics appropriate for different operating systems. Path classes " +"are divided between *pure paths*, which provide purely computational " +"operations without I/O, and *concrete paths*, which inherit from pure paths " +"but also provide I/O operations." +msgstr "" +"Новий модуль :mod:`pathlib` пропонує класи, що представляють шляхи файлової " +"системи із семантикою, відповідною до різних операційних систем. Класи " +"шляхів поділяються на *чисті шляхи*, які забезпечують суто обчислювальні " +"операції без введення-виведення, і *конкретні шляхи*, які успадковують чисті " +"шляхи, але також забезпечують операції введення-виведення." + +msgid ":pep:`428` -- The pathlib module -- object-oriented filesystem paths" +msgstr "" +":pep:`428` -- Модуль pathlib -- шляхи об'єктно-орієнтованої файлової системи" + +msgid "PEP written and implemented by Antoine Pitrou." +msgstr "PEP написаний і реалізований Антуаном Пітру." + +msgid "selectors" +msgstr "селектори" + +msgid "" +"The new :mod:`selectors` module (created as part of implementing :pep:" +"`3156`) allows high-level and efficient I/O multiplexing, built upon the :" +"mod:`select` module primitives." +msgstr "" +"Новий модуль :mod:`selectors` (створений як частина реалізації :pep:`3156`) " +"забезпечує високорівневе й ефективне мультиплексування вводу/виводу, " +"побудоване на основі примітивів модуля :mod:`select`." + +msgid "statistics" +msgstr "статистика" + +msgid "" +"The new :mod:`statistics` module (defined in :pep:`450`) offers some core " +"statistics functionality directly in the standard library. This module " +"supports calculation of the mean, median, mode, variance and standard " +"deviation of a data series." +msgstr "" +"Новий модуль :mod:`statistics` (визначений у :pep:`450`) пропонує деякі " +"основні функції статистики безпосередньо в стандартній бібліотеці. Цей " +"модуль підтримує обчислення середнього значення, медіани, моди, дисперсії та " +"стандартного відхилення ряду даних." + +msgid ":pep:`450` -- Adding A Statistics Module To The Standard Library" +msgstr ":pep:`450` -- Додавання модуля статистики до стандартної бібліотеки" + +msgid "PEP written and implemented by Steven D'Aprano" +msgstr "PEP написаний і реалізований Стівеном Д'Апрано" + +msgid "tracemalloc" +msgstr "tracemalloc" + +msgid "" +"The new :mod:`tracemalloc` module (defined in :pep:`454`) is a debug tool to " +"trace memory blocks allocated by Python. It provides the following " +"information:" +msgstr "" +"Новий модуль :mod:`tracemalloc` (визначений у :pep:`454`) є інструментом " +"налагодження для відстеження блоків пам’яті, виділених Python. Він надає " +"таку інформацію:" + +msgid "Trace where an object was allocated" +msgstr "Відстеження місця розміщення об’єкта" + +msgid "" +"Statistics on allocated memory blocks per filename and per line number: " +"total size, number and average size of allocated memory blocks" +msgstr "" +"Статистика виділених блоків пам'яті на ім'я файлу та номер рядка: загальний " +"розмір, кількість і середній розмір виділених блоків пам'яті" + +msgid "Compute the differences between two snapshots to detect memory leaks" +msgstr "Обчисліть різницю між двома знімками, щоб виявити витоки пам’яті" + +msgid "" +":pep:`454` -- Add a new tracemalloc module to trace Python memory allocations" +msgstr "" +":pep:`454` -- Додайте новий модуль tracemalloc для відстеження розподілу " +"пам'яті Python" + +msgid "PEP written and implemented by Victor Stinner" +msgstr "PEP написав і реалізував Віктор Стіннер" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "abc" +msgstr "абв" + +msgid "" +"New function :func:`abc.get_cache_token` can be used to know when to " +"invalidate caches that are affected by changes in the object graph. " +"(Contributed by Łukasz Langa in :issue:`16832`.)" +msgstr "" +"Нову функцію :func:`abc.get_cache_token` можна використовувати, щоб знати, " +"коли робити кеші недійсними, на які впливають зміни в графі об’єктів. (Надав " +"Łukasz Langa в :issue:`16832`.)" + +msgid "" +"New class :class:`~abc.ABC` has :class:`~abc.ABCMeta` as its meta class. " +"Using ``ABC`` as a base class has essentially the same effect as specifying " +"``metaclass=abc.ABCMeta``, but is simpler to type and easier to read. " +"(Contributed by Bruno Dupuis in :issue:`16049`.)" +msgstr "" +"Новий клас :class:`~abc.ABC` має :class:`~abc.ABCMeta` як мета-клас. " +"Використання ``ABC`` як базового класу має по суті той самий ефект, що й " +"визначення ``metaclass=abc.ABCMeta``, але його простіше вводити та легше " +"читати. (Надав Бруно Дюпюї в :issue:`16049`.)" + +msgid "aifc" +msgstr "aifc" + +msgid "" +"The :meth:`~aifc.aifc.getparams` method now returns a namedtuple rather than " +"a plain tuple. (Contributed by Claudiu Popa in :issue:`17818`.)" +msgstr "" +"Метод :meth:`~aifc.aifc.getparams` тепер повертає іменований кортеж, а не " +"звичайний кортеж. (Надав Клаудіу Попа в :issue:`17818`.)" + +msgid "" +":func:`aifc.open` now supports the context management protocol: when used in " +"a :keyword:`with` block, the :meth:`~aifc.aifc.close` method of the returned " +"object will be called automatically at the end of the block. (Contributed " +"by Serhiy Storchacha in :issue:`16486`.)" +msgstr "" +":func:`aifc.open` тепер підтримує протокол керування контекстом: при " +"використанні в блоці :keyword:`with` метод :meth:`~aifc.aifc.close` " +"повернутого об’єкта буде викликано автоматично під час кінець блоку. (Надав " +"Сергій Сторчача в :issue:`16486`.)" + +msgid "" +"The :meth:`~aifc.aifc.writeframesraw` and :meth:`~aifc.aifc.writeframes` " +"methods now accept any :term:`bytes-like object`. (Contributed by Serhiy " +"Storchaka in :issue:`8311`.)" +msgstr "" +"Методи :meth:`~aifc.aifc.writeframesraw` і :meth:`~aifc.aifc.writeframes` " +"тепер приймають будь-які :term:`bytes-like object`. (Надав Сергій Сторчака " +"в :issue:`8311`.)" + +msgid "argparse" +msgstr "argparse" + +msgid "" +"The :class:`~argparse.FileType` class now accepts *encoding* and *errors* " +"arguments, which are passed through to :func:`open`. (Contributed by Lucas " +"Maystre in :issue:`11175`.)" +msgstr "" +"Клас :class:`~argparse.FileType` тепер приймає аргументи *encoding* і " +"*errors*, які передаються до :func:`open`. (Надав Лукас Майстр у :issue:" +"`11175`.)" + +msgid "audioop" +msgstr "аудіооп" + +msgid "" +":mod:`audioop` now supports 24-bit samples. (Contributed by Serhiy " +"Storchaka in :issue:`12866`.)" +msgstr "" +":mod:`audioop` тепер підтримує 24-бітні семпли. (Надав Сергій Сторчака в :" +"issue:`12866`.)" + +msgid "" +"New :func:`~audioop.byteswap` function converts big-endian samples to little-" +"endian and vice versa. (Contributed by Serhiy Storchaka in :issue:`19641`.)" +msgstr "" +"Нова функція :func:`~audioop.byteswap` перетворює вибірки з порядковим " +"порядком байтів у порядковий порядок байтів у порядковий порядок байтів і " +"навпаки. (Надав Сергій Сторчака в :issue:`19641`.)" + +msgid "" +"All :mod:`audioop` functions now accept any :term:`bytes-like object`. " +"Strings are not accepted: they didn't work before, now they raise an error " +"right away. (Contributed by Serhiy Storchaka in :issue:`16685`.)" +msgstr "" +"Усі функції :mod:`audioop` тепер приймають будь-які :term:`байт-подібні " +"об'єкти `. Рядки не приймаються: раніше не працювали, " +"тепер відразу видають помилку. (Надав Сергій Сторчака в :issue:`16685`.)" + +msgid "base64" +msgstr "база64" + +msgid "" +"The encoding and decoding functions in :mod:`base64` now accept any :term:" +"`bytes-like object` in cases where it previously required a :class:`bytes` " +"or :class:`bytearray` instance. (Contributed by Nick Coghlan in :issue:" +"`17839`.)" +msgstr "" +"Функції кодування та декодування в :mod:`base64` тепер приймають будь-які :" +"term:`bytes-подібні об’єкти ` у випадках, коли раніше " +"вимагали екземпляр :class:`bytes` або :class:`bytearray`. (Надав Нік Коглан " +"у :issue:`17839`.)" + +msgid "" +"New functions :func:`~base64.a85encode`, :func:`~base64.a85decode`, :func:" +"`~base64.b85encode`, and :func:`~base64.b85decode` provide the ability to " +"encode and decode binary data from and to ``Ascii85`` and the git/mercurial " +"``Base85`` formats, respectively. The ``a85`` functions have options that " +"can be used to make them compatible with the variants of the ``Ascii85`` " +"encoding, including the Adobe variant. (Contributed by Martin Morrison, the " +"Mercurial project, Serhiy Storchaka, and Antoine Pitrou in :issue:`17618`.)" +msgstr "" +"Нові функції :func:`~base64.a85encode`, :func:`~base64.a85decode`, :func:" +"`~base64.b85encode` та :func:`~base64.b85decode` надають можливість кодувати " +"та декодувати двійкові дані з і до форматів ``Ascii85`` і git/mercurial " +"``Base85`` відповідно. Функції ``a85`` мають параметри, за допомогою яких " +"можна зробити їх сумісними з варіантами кодування ``Ascii85``, включно з " +"варіантом Adobe. (Надано Мартіном Моррісоном, проектом Mercurial, Сергієм " +"Сторчакою та Антуаном Пітру в :issue:`17618`.)" + +msgid "collections" +msgstr "колекції" + +msgid "" +"The :meth:`.ChainMap.new_child` method now accepts an *m* argument " +"specifying the child map to add to the chain. This allows an existing " +"mapping and/or a custom mapping type to be used for the child. (Contributed " +"by Vinay Sajip in :issue:`16613`.)" +msgstr "" +"Метод :meth:`.ChainMap.new_child` тепер приймає аргумент *m*, який визначає " +"дочірню карту, яку потрібно додати до ланцюжка. Це дозволяє використовувати " +"наявне зіставлення та/або настроюваний тип зіставлення для дочірнього " +"елемента. (Надав Віней Саджип у :issue:`16613`.)" + +msgid "colorsys" +msgstr "colorys" + +msgid "" +"The number of digits in the coefficients for the RGB --- YIQ conversions " +"have been expanded so that they match the FCC NTSC versions. The change in " +"results should be less than 1% and may better match results found elsewhere. " +"(Contributed by Brian Landers and Serhiy Storchaka in :issue:`14323`.)" +msgstr "" +"Кількість цифр у коефіцієнтах для перетворень RGB --- YIQ було розширено, " +"щоб вони відповідали версіям FCC NTSC. Зміна в результатах має бути менше 1% " +"і може краще відповідати результатам, знайденим в інших місцях. (Надано " +"Браяном Лендерсом і Сергієм Сторчакою в :issue:`14323`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"The new :class:`contextlib.suppress` context manager helps to clarify the " +"intent of code that deliberately suppresses exceptions from a single " +"statement. (Contributed by Raymond Hettinger in :issue:`15806` and Zero " +"Piraeus in :issue:`19266`.)" +msgstr "" +"Новий контекстний менеджер :class:`contextlib.suppress` допомагає прояснити " +"призначення коду, який навмисно пригнічує винятки з одного оператора. " +"(Надано Раймондом Хеттінгером у :issue:`15806` та Zero Piraeus у :issue:" +"`19266`.)" + +msgid "" +"The new :func:`contextlib.redirect_stdout` context manager makes it easier " +"for utility scripts to handle inflexible APIs that write their output to :" +"data:`sys.stdout` and don't provide any options to redirect it. Using the " +"context manager, the :data:`sys.stdout` output can be redirected to any " +"other stream or, in conjunction with :class:`io.StringIO`, to a string. The " +"latter can be especially useful, for example, to capture output from a " +"function that was written to implement a command line interface. It is " +"recommended only for utility scripts because it affects the global state of :" +"data:`sys.stdout`. (Contributed by Raymond Hettinger in :issue:`15805`.)" +msgstr "" +"Новий контекстний менеджер :func:`contextlib.redirect_stdout` спрощує роботу " +"сценаріїв утиліт з негнучкими API, які записують свої виведення в :data:`sys." +"stdout` і не надають жодних опцій для його перенаправлення. За допомогою " +"диспетчера контексту вихід :data:`sys.stdout` можна перенаправити в будь-" +"який інший потік або, у поєднанні з :class:`io.StringIO`, у рядок. Останнє " +"може бути особливо корисним, наприклад, для захоплення виводу з функції, яка " +"була написана для реалізації інтерфейсу командного рядка. Рекомендовано лише " +"для службових сценаріїв, оскільки це впливає на глобальний стан :data:`sys." +"stdout`. (Надав Реймонд Геттінгер у :issue:`15805`.)" + +msgid "" +"The :mod:`contextlib` documentation has also been updated to include a :ref:" +"`discussion ` of the differences " +"between single use, reusable and reentrant context managers." +msgstr "" +"Документацію :mod:`contextlib` також було оновлено, щоб включити :ref:" +"`обговорення ` відмінностей між " +"одноразовими, багаторазовими та повторними контекстними менеджерами." + +msgid "dbm" +msgstr "dbm" + +msgid "" +":func:`dbm.open` objects now support the context management protocol. When " +"used in a :keyword:`with` statement, the ``close`` method of the database " +"object will be called automatically at the end of the block. (Contributed " +"by Claudiu Popa and Nick Coghlan in :issue:`19282`.)" +msgstr "" +"Об’єкти :func:`dbm.open` тепер підтримують протокол керування контекстом. " +"При використанні в операторі :keyword:`with` метод ``close`` об'єкта бази " +"даних буде викликано автоматично в кінці блоку. (Надано Клаудіу Попою та " +"Ніком Когланом у :issue:`19282`.)" + +msgid "dis" +msgstr "дис" + +msgid "" +"Functions :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb`, and :" +"func:`~dis.disassemble` now accept a keyword-only *file* argument that " +"controls where they write their output." +msgstr "" +"Функції :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb` і :func:" +"`~dis.disassemble` тепер приймають *файл* лише з ключовими словами аргумент, " +"який керує місцем запису результату." + +msgid "" +"The :mod:`dis` module is now built around an :class:`~dis.Instruction` class " +"that provides object oriented access to the details of each individual " +"bytecode operation." +msgstr "" +"Модуль :mod:`dis` тепер побудовано навколо класу :class:`~dis.Instruction`, " +"який забезпечує об’єктно-орієнтований доступ до деталей кожної окремої " +"операції байт-коду." + +msgid "" +"A new method, :func:`~dis.get_instructions`, provides an iterator that emits " +"the Instruction stream for a given piece of Python code. Thus it is now " +"possible to write a program that inspects and manipulates a bytecode object " +"in ways different from those provided by the :mod:`~dis` module itself. For " +"example::" +msgstr "" +"Новий метод, :func:`~dis.get_instructions`, надає ітератор, який видає потік " +"інструкцій для певної частини коду Python. Таким чином, тепер можна написати " +"програму, яка перевіряє та обробляє об’єкт байт-коду способами, відмінними " +"від тих, які надає сам модуль :mod:`~dis`. Наприклад::" + +msgid "" +"The various display tools in the :mod:`dis` module have been rewritten to " +"use these new components." +msgstr "" +"Різні інструменти відображення в модулі :mod:`dis` було переписано для " +"використання цих нових компонентів." + +msgid "" +"In addition, a new application-friendly class :class:`~dis.Bytecode` " +"provides an object-oriented API for inspecting bytecode in both in human-" +"readable form and for iterating over instructions. The :class:`~dis." +"Bytecode` constructor takes the same arguments that :func:`~dis." +"get_instruction` does (plus an optional *current_offset*), and the resulting " +"object can be iterated to produce :class:`~dis.Instruction` objects. But it " +"also has a :mod:`~dis.Bytecode.dis` method, equivalent to calling :mod:`~dis." +"dis` on the constructor argument, but returned as a multi-line string::" +msgstr "" +"Крім того, новий зручний для додатків клас :class:`~dis.Bytecode` надає " +"об’єктно-орієнтований API для перевірки байт-коду як у зрозумілій людині " +"формі, так і для повторення інструкцій. Конструктор :class:`~dis.Bytecode` " +"приймає ті самі аргументи, що і :func:`~dis.get_instruction` (плюс " +"необов’язковий *current_offset*), і отриманий об’єкт можна повторювати для " +"створення Об'єкти :class:`~dis.Instruction`. Але він також має метод :mod:" +"`~dis.Bytecode.dis`, еквівалентний виклику :mod:`~dis.dis` в аргументі " +"конструктора, але повертається як багаторядковий рядок::" + +msgid "" +":class:`~dis.Bytecode` also has a class method, :meth:`~dis.Bytecode." +"from_traceback`, that provides the ability to manipulate a traceback (that " +"is, ``print(Bytecode.from_traceback(tb).dis())`` is equivalent to " +"``distb(tb)``)." +msgstr "" +":class:`~dis.Bytecode` також має метод класу, :meth:`~dis.Bytecode." +"from_traceback`, який надає можливість маніпулювати трасуванням (тобто " +"``print(Bytecode.from_traceback(tb). dis())`` еквівалентно ``distb(tb)``)." + +msgid "" +"(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver in :issue:" +"`11816` and Claudiu Popa in :issue:`17916`.)" +msgstr "" +"(Надано Ніком Когланом, Раяном Келлі та Томасом Клайвером у :issue:`11816` " +"та Клаудіу Попою у :issue:`17916`.)" + +msgid "" +"New function :func:`~dis.stack_effect` computes the effect on the Python " +"stack of a given opcode and argument, information that is not otherwise " +"available. (Contributed by Larry Hastings in :issue:`19722`.)" +msgstr "" +"Нова функція :func:`~dis.stack_effect` обчислює вплив заданого коду операції " +"та аргументу на стек Python, інформації, яка інакше недоступна. (Надано " +"Ларрі Гастінгсом у :issue:`19722`.)" + +msgid "doctest" +msgstr "doctest" + +msgid "" +"A new :ref:`option flag `, :data:`~doctest.FAIL_FAST`, " +"halts test running as soon as the first failure is detected. (Contributed " +"by R. David Murray and Daniel Urban in :issue:`16522`.)" +msgstr "" +"Новий :ref:`прапор параметра `, :data:`~doctest.FAIL_FAST`, " +"зупиняє виконання тесту, як тільки виявлено першу помилку. (Надано Р. " +"Девідом Мюрреєм і Деніелом Урбаном у :issue:`16522`.)" + +msgid "" +"The :mod:`doctest` command line interface now uses :mod:`argparse`, and has " +"two new options, ``-o`` and ``-f``. ``-o`` allows :ref:`doctest options " +"` to be specified on the command line, and ``-f`` is a " +"shorthand for ``-o FAIL_FAST`` (to parallel the similar option supported by " +"the :mod:`unittest` CLI). (Contributed by R. David Murray in :issue:" +"`11390`.)" +msgstr "" +"Інтерфейс командного рядка :mod:`doctest` тепер використовує :mod:`argparse` " +"і має два нові параметри, ``-o`` і ``-f``. ``-o`` дозволяє :ref:`doctest " +"options ` вказувати в командному рядку, а ``-f`` є " +"скороченням ``-o FAIL_FAST`` (для паралельного аналогічного параметра, який " +"підтримується :mod:`unittest` CLI). (Надав Р. Девід Мюррей у :issue:`11390`.)" + +msgid "" +":mod:`doctest` will now find doctests in extension module ``__doc__`` " +"strings. (Contributed by Zachary Ware in :issue:`3158`.)" +msgstr "" +":mod:`doctest` тепер знаходитиме doctests у рядках ``__doc__`` модуля " +"розширення. (Надано Zachary Ware у :issue:`3158`.)" + +msgid "email" +msgstr "електронною поштою" + +msgid "" +":meth:`~email.message.Message.as_string` now accepts a *policy* argument to " +"override the default policy of the message when generating a string " +"representation of it. This means that ``as_string`` can now be used in more " +"circumstances, instead of having to create and use a :mod:`~email.generator` " +"in order to pass formatting parameters to its ``flatten`` method. " +"(Contributed by R. David Murray in :issue:`18600`.)" +msgstr "" +":meth:`~email.message.Message.as_string` тепер приймає аргумент *policy* для " +"заміни політики за замовчуванням повідомлення під час генерації його " +"представлення рядка. Це означає, що ``as_string`` тепер можна " +"використовувати в більшій кількості обставин, замість того, щоб створювати " +"та використовувати :mod:`~email.generator` для передачі параметрів " +"форматування його методу ``flatten``. (Надав Р. Девід Мюррей у :issue:" +"`18600`.)" + +msgid "" +"New method :meth:`~email.message.Message.as_bytes` added to produce a bytes " +"representation of the message in a fashion similar to how ``as_string`` " +"produces a string representation. It does not accept the *maxheaderlen* " +"argument, but does accept the *unixfrom* and *policy* arguments. The :class:" +"`~email.message.Message` :meth:`~email.message.Message.__bytes__` method " +"calls it, meaning that ``bytes(mymsg)`` will now produce the intuitive " +"result: a bytes object containing the fully formatted message. " +"(Contributed by R. David Murray in :issue:`18600`.)" +msgstr "" +"Новий метод :meth:`~email.message.Message.as_bytes` додано для створення " +"представлення повідомлення в байтах подібно до того, як ``as_string`` " +"створює представлення рядка. Він не приймає аргумент *maxheaderlen*, але " +"приймає аргументи *unixfrom* і *policy*. Метод :class:`~email.message." +"Message` :meth:`~email.message.Message.__bytes__` викликає його, що означає, " +"що ``bytes(mymsg)`` тепер створюватиме інтуїтивно зрозумілий результат: " +"об’єкт bytes, що містить повністю відформатованого повідомлення. (Надав Р. " +"Девід Мюррей у :issue:`18600`.)" + +msgid "" +"The :meth:`.Message.set_param` message now accepts a *replace* keyword " +"argument. When specified, the associated header will be updated without " +"changing its location in the list of headers. For backward compatibility, " +"the default is ``False``. (Contributed by R. David Murray in :issue:" +"`18891`.)" +msgstr "" +"Повідомлення :meth:`.Message.set_param` тепер приймає аргумент ключового " +"слова *replace*. Якщо вказано, пов’язаний заголовок буде оновлено без зміни " +"його розташування в списку заголовків. Для зворотної сумісності стандартним " +"значенням є ``False``. (Надав Р. Девід Мюррей у :issue:`18891`.)" + +msgid "" +"A pair of new subclasses of :class:`~email.message.Message` have been added " +"(:class:`.EmailMessage` and :class:`.MIMEPart`), along with a new sub-" +"module, :mod:`~email.contentmanager` and a new :mod:`~email.policy` " +"attribute :attr:`~email.policy.EmailPolicy.content_manager`. All " +"documentation is currently in the new module, which is being added as part " +"of email's new :term:`provisional API`. These classes provide a number of " +"new methods that make extracting content from and inserting content into " +"email messages much easier. For details, see the :mod:`~email." +"contentmanager` documentation and the :ref:`email-examples`. These API " +"additions complete the bulk of the work that was planned as part of the " +"email6 project. The currently provisional API is scheduled to become final " +"in Python 3.5 (possibly with a few minor additions in the area of error " +"handling). (Contributed by R. David Murray in :issue:`18891`.)" +msgstr "" +"Додано пару нових підкласів :class:`~email.message.Message` (:class:`." +"EmailMessage` і :class:`.MIMEPart`), а також новий підмодуль :mod:`~email." +"contentmanager` і новий атрибут :mod:`~email.policy` :attr:`~email.policy." +"EmailPolicy.content_manager`. Уся документація зараз знаходиться в новому " +"модулі, який додається як частина нового :term:`provisional API` електронної " +"пошти. Ці класи надають низку нових методів, які значно спрощують вилучення " +"вмісту з повідомлень електронної пошти та вставлення вмісту в нього. " +"Додаткову інформацію див. у документації :mod:`~email.contentmanager` і :ref:" +"`email-examples`. Ці доповнення API завершують основну частину роботи, яка " +"була запланована в рамках проекту email6. Наразі попередній API планується " +"стати остаточним у Python 3.5 (можливо, з кількома незначними доповненнями в " +"області обробки помилок). (Надав Р. Девід Мюррей у :issue:`18891`.)" + +msgid "filecmp" +msgstr "filecmp" + +msgid "" +"A new :func:`~filecmp.clear_cache` function provides the ability to clear " +"the :mod:`filecmp` comparison cache, which uses :func:`os.stat` information " +"to determine if the file has changed since the last compare. This can be " +"used, for example, if the file might have been changed and re-checked in " +"less time than the resolution of a particular filesystem's file modification " +"time field. (Contributed by Mark Levitt in :issue:`18149`.)" +msgstr "" +"Нова функція :func:`~filecmp.clear_cache` надає можливість очистити кеш " +"порівняння :mod:`filecmp`, який використовує інформацію :func:`os.stat`, щоб " +"визначити, чи файл змінився з часу останнього порівняння. Це можна " +"використати, наприклад, якщо файл міг бути змінений і повторно перевірений " +"за менший час, ніж роздільна здатність поля часу модифікації файлу певної " +"файлової системи. (Надав Марк Левітт у :issue:`18149`.)" + +msgid "" +"New module attribute :data:`~filecmp.DEFAULT_IGNORES` provides the list of " +"directories that are used as the default value for the *ignore* parameter of " +"the :func:`~filecmp.dircmp` function. (Contributed by Eli Bendersky in :" +"issue:`15442`.)" +msgstr "" +"Новий атрибут модуля :data:`~filecmp.DEFAULT_IGNORES` надає список " +"каталогів, які використовуються як значення за замовчуванням для параметра " +"*ignore* функції :func:`~filecmp.dircmp`. (Надав Елі Бендерський у :issue:" +"`15442`.)" + +msgid "functools" +msgstr "functools" + +msgid "" +"The new :func:`~functools.partialmethod` descriptor brings partial argument " +"application to descriptors, just as :func:`~functools.partial` provides for " +"normal callables. The new descriptor also makes it easier to get arbitrary " +"callables (including :func:`~functools.partial` instances) to behave like " +"normal instance methods when included in a class definition. (Contributed by " +"Alon Horev and Nick Coghlan in :issue:`4331`.)" +msgstr "" +"Новий дескриптор :func:`~functools.partialmethod` забезпечує часткове " +"застосування аргументів до дескрипторів, так само як :func:`~functools." +"partial` забезпечує звичайні виклики. Новий дескриптор також полегшує роботу " +"довільних викликів (включно з екземплярами :func:`~functools.partial`) як " +"звичайні методи екземплярів, якщо їх включити у визначення класу. (Надано " +"Алоном Хоревом і Ніком Когланом у :issue:`4331`.)" + +msgid "" +"The new :func:`~functools.singledispatch` decorator brings support for " +"single-dispatch generic functions to the Python standard library. Where " +"object oriented programming focuses on grouping multiple operations on a " +"common set of data into a class, a generic function focuses on grouping " +"multiple implementations of an operation that allows it to work with " +"*different* kinds of data." +msgstr "" +"Новий декоратор :func:`~functools.singledispatch` забезпечує підтримку " +"загальних функцій з одноразовим відправленням у стандартну бібліотеку " +"Python. Якщо об’єктно-орієнтоване програмування зосереджено на групуванні " +"кількох операцій із загальним набором даних у клас, загальна функція " +"фокусується на групуванні кількох реалізацій операції, що дозволяє працювати " +"з *різними* типами даних." + +msgid ":pep:`443` -- Single-dispatch generic functions" +msgstr ":pep:`443` -- Загальні функції з одним відправленням" + +msgid "PEP written and implemented by Łukasz Langa." +msgstr "PEP написав і реалізував Лукаш Ланга." + +msgid "" +":func:`~functools.total_ordering` now supports a return value of :const:" +"`NotImplemented` from the underlying comparison function. (Contributed by " +"Katie Miller in :issue:`10042`.)" +msgstr "" +":func:`~functools.total_ordering` тепер підтримує повернення значення :const:" +"`NotImplemented` від основної функції порівняння. (Надано Кеті Міллер у :" +"issue:`10042`.)" + +msgid "" +"A pure-python version of the :func:`~functools.partial` function is now in " +"the stdlib; in CPython it is overridden by the C accelerated version, but it " +"is available for other implementations to use. (Contributed by Brian Thorne " +"in :issue:`12428`.)" +msgstr "" +"Чиста версія функції :func:`~functools.partial` на Python тепер знаходиться " +"в stdlib; у CPython він перевизначений прискореною версією C, але він " +"доступний для використання в інших реалізаціях. (Надав Браян Торн у :issue:" +"`12428`.)" + +msgid "gc" +msgstr "gc" + +msgid "" +"New function :func:`~gc.get_stats` returns a list of three per-generation " +"dictionaries containing the collections statistics since interpreter " +"startup. (Contributed by Antoine Pitrou in :issue:`16351`.)" +msgstr "" +"Нова функція :func:`~gc.get_stats` повертає список із трьох словників для " +"кожного покоління, що містить статистику колекцій з моменту запуску " +"інтерпретатора. (Надав Антуан Пітру в :issue:`16351`.)" + +msgid "glob" +msgstr "глоб" + +msgid "" +"A new function :func:`~glob.escape` provides a way to escape special " +"characters in a filename so that they do not become part of the globbing " +"expansion but are instead matched literally. (Contributed by Serhiy " +"Storchaka in :issue:`8402`.)" +msgstr "" +"Нова функція :func:`~glob.escape` надає спосіб екранувати спеціальні символи " +"в назві файлу, щоб вони не ставали частиною розширення globbing, а натомість " +"зіставлялися буквально. (Надав Сергій Сторчака в :issue:`8402`.)" + +msgid "hashlib" +msgstr "хешліб" + +msgid "" +"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" +"based key derivation function 2 `_. " +"(Contributed by Christian Heimes in :issue:`18582`.)" +msgstr "" +"Нова функція :func:`hashlib.pbkdf2_hmac` забезпечує функцію виведення ключа " +"на основі пароля `PKCS#5 2 `_. (Надав " +"Крістіан Хеймс у :issue:`18582`.)" + +msgid "" +"The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is " +"now a formally supported interface. It has always existed in CPython's :mod:" +"`hashlib` (although it did not return lower case names for all supported " +"hashes), but it was not a public interface and so some other Python " +"implementations have not previously supported it. (Contributed by Jason R. " +"Coombs in :issue:`18532`.)" +msgstr "" +"Атрибут :attr:`~hashlib.hash.name` хеш-об’єктів :mod:`hashlib` тепер " +"офіційно підтримується інтерфейсом. Він завжди існував у :mod:`hashlib` " +"CPython (хоча він не повертав імена нижнього регістру для всіх підтримуваних " +"хешів), але він не був загальнодоступним інтерфейсом, тому деякі інші " +"реалізації Python раніше його не підтримували. (Надав Джейсон Р. Кумбс у :" +"issue:`18532`.)" + +msgid "hmac" +msgstr "hmac" + +msgid "" +":mod:`hmac` now accepts ``bytearray`` as well as ``bytes`` for the *key* " +"argument to the :func:`~hmac.new` function, and the *msg* parameter to both " +"the :func:`~hmac.new` function and the :meth:`~hmac.HMAC.update` method now " +"accepts any type supported by the :mod:`hashlib` module. (Contributed by " +"Jonas Borgström in :issue:`18240`.)" +msgstr "" +":mod:`hmac` тепер приймає ``bytearray``, а також ``bytes`` для аргументу " +"*key* для функції :func:`~hmac.new` і параметр *msg* для обох: Функція :func:" +"`~hmac.new` і метод :meth:`~hmac.HMAC.update` тепер приймають будь-який тип, " +"який підтримується модулем :mod:`hashlib`. (Надав Йонас Борґстрем у :issue:" +"`18240`.)" + +msgid "" +"The *digestmod* argument to the :func:`hmac.new` function may now be any " +"hash digest name recognized by :mod:`hashlib`. In addition, the current " +"behavior in which the value of *digestmod* defaults to ``MD5`` is " +"deprecated: in a future version of Python there will be no default value. " +"(Contributed by Christian Heimes in :issue:`17276`.)" +msgstr "" +"Аргументом *digestmod* для функції :func:`hmac.new` тепер може бути будь-яке " +"ім’я дайджесту хешу, яке розпізнає :mod:`hashlib`. Крім того, поточна " +"поведінка, у якій значенням *digestmod* за замовчуванням є ``MD5``, є " +"застарілою: у майбутній версії Python значення за замовчуванням не буде. " +"(Надав Крістіан Хеймс у :issue:`17276`.)" + +msgid "" +"With the addition of :attr:`~hmac.HMAC.block_size` and :attr:`~hmac.HMAC." +"name` attributes (and the formal documentation of the :attr:`~hmac.HMAC." +"digest_size` attribute), the :mod:`hmac` module now conforms fully to the :" +"pep:`247` API. (Contributed by Christian Heimes in :issue:`18775`.)" +msgstr "" +"З додаванням атрибутів :attr:`~hmac.HMAC.block_size` і :attr:`~hmac.HMAC." +"name` (та офіційної документації атрибута :attr:`~hmac.HMAC.digest_size`), " +"Модуль :mod:`hmac` тепер повністю відповідає :pep:`247` API. (Надав Крістіан " +"Хеймс у :issue:`18775`.)" + +msgid "html" +msgstr "html" + +msgid "" +"New function :func:`~html.unescape` function converts HTML5 character " +"references to the corresponding Unicode characters. (Contributed by Ezio " +"Melotti in :issue:`2927`.)" +msgstr "" +"Нова функція :func:`~html.unescape` перетворює посилання на символи HTML5 на " +"відповідні символи Unicode. (Надав Еціо Мелотті в :issue:`2927`.)" + +msgid "" +":class:`~html.parser.HTMLParser` accepts a new keyword argument " +"*convert_charrefs* that, when ``True``, automatically converts all character " +"references. For backward-compatibility, its value defaults to ``False``, " +"but it will change to ``True`` in a future version of Python, so you are " +"invited to set it explicitly and update your code to use this new feature. " +"(Contributed by Ezio Melotti in :issue:`13633`.)" +msgstr "" +":class:`~html.parser.HTMLParser` приймає новий аргумент ключового слова " +"*convert_charrefs*, який, коли ``True``, автоматично перетворює всі " +"посилання на символи. Для зворотної сумісності його значення за " +"замовчуванням ``False``, але воно зміниться на ``True`` у майбутніх версіях " +"Python, тому вам пропонується встановити його явно та оновити свій код, щоб " +"використовувати цю нову функцію. (Надав Еціо Мелотті в :issue:`13633`.)" + +msgid "" +"The *strict* argument of :class:`~html.parser.HTMLParser` is now deprecated. " +"(Contributed by Ezio Melotti in :issue:`15114`.)" +msgstr "" +"*Строгий* аргумент :class:`~html.parser.HTMLParser` тепер застарів. (Надав " +"Еціо Мелотті в :issue:`15114`.)" + +msgid "http" +msgstr "http" + +msgid "" +":meth:`~http.server.BaseHTTPRequestHandler.send_error` now accepts an " +"optional additional *explain* parameter which can be used to provide an " +"extended error description, overriding the hardcoded default if there is " +"one. This extended error description will be formatted using the :attr:" +"`~http.server.HTTP.error_message_format` attribute and sent as the body of " +"the error response. (Contributed by Karl Cow in :issue:`12921`.)" +msgstr "" +":meth:`~http.server.BaseHTTPRequestHandler.send_error` тепер приймає " +"необов’язковий додатковий параметр *explain*, який можна використовувати для " +"надання розширеного опису помилки, замінюючи жорстко запрограмоване за " +"умовчанням, якщо воно є. Цей розширений опис помилки буде відформатовано за " +"допомогою атрибута :attr:`~http.server.HTTP.error_message_format` і " +"надіслано як тіло відповіді про помилку. (Надав Карл Коу в :issue:`12921`.)" + +msgid "" +"The :mod:`http.server` :ref:`command line interface ` now " +"has a ``-b/--bind`` option that causes the server to listen on a specific " +"address. (Contributed by Malte Swart in :issue:`17764`.)" +msgstr "" +":mod:`http.server` :ref:`інтерфейс командного рядка ` тепер " +"має опцію ``-b/--bind``, яка змушує сервер слухати певну адресу. (Надав " +"Малте Сварт у :issue:`17764`.)" + +msgid "idlelib and IDLE" +msgstr "idlelib і IDLE" + +msgid "" +"Since idlelib implements the IDLE shell and editor and is not intended for " +"import by other programs, it gets improvements with every release. See :file:" +"`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.3.0, as well " +"as changes made in future 3.4.x releases. This file is also available from " +"the IDLE :menuselection:`Help --> About IDLE` dialog." +msgstr "" +"Оскільки idlelib реалізує оболонку та редактор IDLE і не призначений для " +"імпорту іншими програмами, він отримує покращення з кожним випуском. " +"Дивіться :file:`Lib/idlelib/NEWS.txt` для сукупного списку змін, починаючи з " +"3.3.0, а також змін, внесених у майбутніх випусках 3.4.x. Цей файл також " +"доступний у діалоговому вікні IDLE :menuselection:`Довідка --> Про IDLE`." + +msgid "importlib" +msgstr "importlib" + +msgid "" +"The :class:`~importlib.abc.InspectLoader` ABC defines a new method, :meth:" +"`~importlib.abc.InspectLoader.source_to_code` that accepts source data and a " +"path and returns a code object. The default implementation is equivalent to " +"``compile(data, path, 'exec', dont_inherit=True)``. (Contributed by Eric " +"Snow and Brett Cannon in :issue:`15627`.)" +msgstr "" +":class:`~importlib.abc.InspectLoader` ABC визначає новий метод, :meth:" +"`~importlib.abc.InspectLoader.source_to_code`, який приймає вихідні дані та " +"шлях і повертає об’єкт коду. Реалізація за замовчуванням еквівалентна " +"``compile(data, path, 'exec', dont_inherit=True)``. (Надано Еріком Сноу та " +"Бреттом Кенноном у :issue:`15627`.)" + +msgid "" +":class:`~importlib.abc.InspectLoader` also now has a default implementation " +"for the :meth:`~importlib.abc.InspectLoader.get_code` method. However, it " +"will normally be desirable to override the default implementation for " +"performance reasons. (Contributed by Brett Cannon in :issue:`18072`.)" +msgstr "" +":class:`~importlib.abc.InspectLoader` також тепер має реалізацію за " +"замовчуванням для методу :meth:`~importlib.abc.InspectLoader.get_code`. " +"Однак, як правило, бажано замінити реалізацію за замовчуванням з міркувань " +"продуктивності. (Надано Бреттом Кенноном у :issue:`18072`.)" + +msgid "" +"The :func:`~importlib.reload` function has been moved from :mod:`imp` to :" +"mod:`importlib` as part of the :mod:`imp` module deprecation. (Contributed " +"by Berker Peksag in :issue:`18193`.)" +msgstr "" +"Функцію :func:`~importlib.reload` було переміщено з :mod:`imp` до :mod:" +"`importlib` як частину застарілого модуля :mod:`imp`. (Надано Berker Peksag " +"у :issue:`18193`.)" + +msgid "" +":mod:`importlib.util` now has a :data:`~importlib.util.MAGIC_NUMBER` " +"attribute providing access to the bytecode version number. This replaces " +"the :func:`~imp.get_magic` function in the deprecated :mod:`imp` module. " +"(Contributed by Brett Cannon in :issue:`18192`.)" +msgstr "" +":mod:`importlib.util` тепер має атрибут :data:`~importlib.util." +"MAGIC_NUMBER`, який надає доступ до номера версії байт-коду. Це замінює " +"функцію :func:`~imp.get_magic` у застарілому модулі :mod:`imp`. (Надано " +"Бреттом Кенноном у :issue:`18192`.)" + +msgid "" +"New :mod:`importlib.util` functions :func:`~importlib.util." +"cache_from_source` and :func:`~importlib.util.source_from_cache` replace the " +"same-named functions in the deprecated :mod:`imp` module. (Contributed by " +"Brett Cannon in :issue:`18194`.)" +msgstr "" +"Нові функції :mod:`importlib.util` :func:`~importlib.util.cache_from_source` " +"і :func:`~importlib.util.source_from_cache` замінюють однойменні функції в " +"застарілому модулі :mod:`imp`. (Надано Бреттом Кенноном у :issue:`18194`.)" + +msgid "" +"The :mod:`importlib` bootstrap :class:`.NamespaceLoader` now conforms to " +"the :class:`.InspectLoader` ABC, which means that ``runpy`` and ``python -" +"m`` can now be used with namespace packages. (Contributed by Brett Cannon " +"in :issue:`18058`.)" +msgstr "" +"Завантажувач :mod:`importlib` :class:`.NamespaceLoader` тепер відповідає :" +"class:`.InspectLoader` ABC, що означає, що ``runpy`` і ``python -m`` тепер " +"можна використовувати з простором імен пакети. (Надано Бреттом Кенноном у :" +"issue:`18058`.)" + +msgid "" +":mod:`importlib.util` has a new function :func:`~importlib.util." +"decode_source` that decodes source from bytes using universal newline " +"processing. This is useful for implementing :meth:`.InspectLoader." +"get_source` methods." +msgstr "" +":mod:`importlib.util` має нову функцію :func:`~importlib.util." +"decode_source`, яка декодує джерело з байтів за допомогою універсальної " +"обробки нового рядка. Це корисно для реалізації методів :meth:`." +"InspectLoader.get_source`." + +msgid "" +":class:`importlib.machinery.ExtensionFileLoader` now has a :meth:`~importlib." +"machinery.ExtensionFileLoader.get_filename` method. This was inadvertently " +"omitted in the original implementation. (Contributed by Eric Snow in :issue:" +"`19152`.)" +msgstr "" +":class:`importlib.machinery.ExtensionFileLoader` тепер має метод :meth:" +"`~importlib.machinery.ExtensionFileLoader.get_filename`. Це було ненавмисно " +"пропущено в початковій реалізації. (Надав Ерік Сноу в :issue:`19152`.)" + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"The :mod:`inspect` module now offers a basic :ref:`command line interface " +"` to quickly display source code and other information " +"for modules, classes and functions. (Contributed by Claudiu Popa and Nick " +"Coghlan in :issue:`18626`.)" +msgstr "" +"Модуль :mod:`inspect` тепер пропонує базовий :ref:`інтерфейс командного " +"рядка ` для швидкого відображення вихідного коду та " +"іншої інформації для модулів, класів і функцій. (Надано Клаудіу Попою та " +"Ніком Когланом у :issue:`18626`.)" + +msgid "" +":func:`~inspect.unwrap` makes it easy to unravel wrapper function chains " +"created by :func:`functools.wraps` (and any other API that sets the " +"``__wrapped__`` attribute on a wrapper function). (Contributed by Daniel " +"Urban, Aaron Iles and Nick Coghlan in :issue:`13266`.)" +msgstr "" +":func:`~inspect.unwrap` полегшує розгадування ланцюжків функцій оболонки, " +"створених :func:`functools.wraps` (та будь-яким іншим API, який встановлює " +"атрибут ``__wrapped__`` для функції оболонки). (Надано Деніелом Урбаном, " +"Аароном Айлзом і Ніком Когланом у :issue:`13266`.)" + +msgid "" +"As part of the implementation of the new :mod:`enum` module, the :mod:" +"`inspect` module now has substantially better support for custom ``__dir__`` " +"methods and dynamic class attributes provided through metaclasses. " +"(Contributed by Ethan Furman in :issue:`18929` and :issue:`19030`.)" +msgstr "" +"Як частина реалізації нового модуля :mod:`enum`, модуль :mod:`inspect` тепер " +"має значно кращу підтримку користувацьких методів ``__dir__`` і атрибутів " +"динамічного класу, що надаються через метакласи. (Надав Ітан Фурман у :issue:" +"`18929` і :issue:`19030`.)" + +msgid "" +":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use the :" +"func:`~inspect.signature` API. This allows them to support a much broader " +"range of callables, including those with ``__signature__`` attributes, those " +"with metadata provided by argument clinic, :func:`functools.partial` objects " +"and more. Note that, unlike :func:`~inspect.signature`, these functions " +"still ignore ``__wrapped__`` attributes, and report the already bound first " +"argument for bound methods, so it is still necessary to update your code to " +"use :func:`~inspect.signature` directly if those features are desired. " +"(Contributed by Yury Selivanov in :issue:`17481`.)" +msgstr "" +":func:`~inspect.getfullargspec` і :func:`~inspect.getargspec` тепер " +"використовують API :func:`~inspect.signature`. Це дозволяє їм підтримувати " +"набагато ширший діапазон викликів, включаючи ті, що мають атрибути " +"``__signature__``, ті, що мають метадані, надані клінікою аргументів, " +"об’єкти :func:`functools.partial` тощо. Зауважте, що, на відміну від :func:" +"`~inspect.signature`, ці функції все ще ігнорують атрибути ``__wrapped__`` і " +"повідомляють про вже прив’язаний перший аргумент для прив’язаних методів, " +"тому все одно необхідно оновити свій код, щоб використовувати :func:" +"`~inspect.signature` безпосередньо, якщо ці функції потрібні. (Надав Юрій " +"Селіванов у :issue:`17481`.)" + +msgid "" +":func:`~inspect.signature` now supports duck types of CPython functions, " +"which adds support for functions compiled with Cython. (Contributed by " +"Stefan Behnel and Yury Selivanov in :issue:`17159`.)" +msgstr "" +":func:`~inspect.signature` тепер підтримує типи качок функцій CPython, що " +"додає підтримку функцій, скомпільованих за допомогою Cython. (Надано " +"Стефаном Бенелем і Юрієм Селівановим у :issue:`17159`.)" + +msgid "ipaddress" +msgstr "IP-адреса" + +msgid "" +":mod:`ipaddress` was added to the standard library in Python 3.3 as a :term:" +"`provisional API`. With the release of Python 3.4, this qualification has " +"been removed: :mod:`ipaddress` is now considered a stable API, covered by " +"the normal standard library requirements to maintain backwards compatibility." +msgstr "" +":mod:`ipaddress` було додано до стандартної бібліотеки в Python 3.3 як :term:" +"`provisional API`. З випуском Python 3.4 цю кваліфікацію було видалено: :mod:" +"`ipaddress` тепер вважається стабільним API, охопленим нормальними " +"стандартними вимогами бібліотеки для підтримки зворотної сумісності." + +msgid "" +"A new :attr:`~ipaddress.IPv4Address.is_global` property is ``True`` if an " +"address is globally routeable. (Contributed by Peter Moody in :issue:" +"`17400`.)" +msgstr "" +"Нова властивість :attr:`~ipaddress.IPv4Address.is_global` має значення " +"``True``, якщо адресу можна глобально маршрутизувати. (Надав Пітер Муді в :" +"issue:`17400`.)" + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"The :class:`~logging.handlers.TimedRotatingFileHandler` has a new *atTime* " +"parameter that can be used to specify the time of day when rollover should " +"happen. (Contributed by Ronald Oussoren in :issue:`9556`.)" +msgstr "" +":class:`~logging.handlers.TimedRotatingFileHandler` має новий параметр " +"*atTime*, за допомогою якого можна вказати час доби, коли має відбутися " +"ролловер. (Надав Рональд Оуссорен у :issue:`9556`.)" + +msgid "" +":class:`~logging.handlers.SocketHandler` and :class:`~logging.handlers." +"DatagramHandler` now support Unix domain sockets (by setting *port* to " +"``None``). (Contributed by Vinay Sajip in commit ce46195b56a9.)" +msgstr "" +":class:`~logging.handlers.SocketHandler` і :class:`~logging.handlers." +"DatagramHandler` тепер підтримують сокети домену Unix (встановивши *port* на " +"``None``). (Надано Вінаєм Саджипом у коміті ce46195b56a9.)" + +msgid "" +":func:`~logging.config.fileConfig` now accepts a :class:`configparser." +"RawConfigParser` subclass instance for the *fname* parameter. This " +"facilitates using a configuration file when logging configuration is just a " +"part of the overall application configuration, or where the application " +"modifies the configuration before passing it to :func:`~logging.config." +"fileConfig`. (Contributed by Vinay Sajip in :issue:`16110`.)" +msgstr "" +":func:`~logging.config.fileConfig` тепер приймає екземпляр підкласу :class:" +"`configparser.RawConfigParser` для параметра *fname*. Це полегшує " +"використання файлу конфігурації, коли конфігурація журналювання є лише " +"частиною загальної конфігурації програми або коли програма змінює " +"конфігурацію перед передачею її в :func:`~logging.config.fileConfig`. (Надав " +"Віней Саджип у :issue:`16110`.)" + +msgid "" +"Logging configuration data received from a socket via the :func:`logging." +"config.listen` function can now be validated before being processed by " +"supplying a verification function as the argument to the new *verify* " +"keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)" +msgstr "" +"Дані конфігурації журналу, отримані з сокета через функцію :func:`logging." +"config.listen`, тепер можна перевірити перед обробкою, надаючи функцію " +"перевірки як аргумент для нового аргументу ключового слова *verify*. (Надав " +"Віней Саджип у :issue:`15452`.)" + +msgid "marshal" +msgstr "маршал" + +msgid "" +"The default :mod:`marshal` version has been bumped to 3. The code " +"implementing the new version restores the Python2 behavior of recording only " +"one copy of interned strings and preserving the interning on " +"deserialization, and extends this \"one copy\" ability to any object type " +"(including handling recursive references). This reduces both the size of ``." +"pyc`` files and the amount of memory a module occupies in memory when it is " +"loaded from a ``.pyc`` (or ``.pyo``) file. (Contributed by Kristján Valur " +"Jónsson in :issue:`16475`, with additional speedups by Antoine Pitrou in :" +"issue:`19219`.)" +msgstr "" +"Версію :mod:`marshal` за замовчуванням було збільшено до 3. Код, що реалізує " +"нову версію, відновлює поведінку Python2 щодо запису лише однієї копії " +"інтернованих рядків і збереження інтернінгу під час десеріалізації, а також " +"розширює цю можливість \"однієї копії\" на будь-які тип об’єкта (включаючи " +"обробку рекурсивних посилань). Це зменшує як розмір файлів ``.pyc``, так і " +"обсяг пам’яті, який модуль займає в пам’яті, коли він завантажується з файлу " +"``.pyc`` (або ``.pyo``). (Надав Крістіан Валур Йонссон у :issue:`16475`, з " +"додатковими прискореннями Антуаном Пітру в :issue:`19219`.)" + +msgid "mmap" +msgstr "mmap" + +msgid "" +"mmap objects are now :ref:`weakly referenceable `. (Contributed " +"by Valerie Lambert in :issue:`4885`.)" +msgstr "" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +"On Unix two new :ref:`start methods `, " +"``spawn`` and ``forkserver``, have been added for starting processes using :" +"mod:`multiprocessing`. These make the mixing of processes with threads more " +"robust, and the ``spawn`` method matches the semantics that multiprocessing " +"has always used on Windows. New function :func:`~multiprocessing." +"get_all_start_methods` reports all start methods available on the platform, :" +"func:`~multiprocessing.get_start_method` reports the current start method, " +"and :func:`~multiprocessing.set_start_method` sets the start method. " +"(Contributed by Richard Oudkerk in :issue:`8713`.)" +msgstr "" +"В Unix два нові :ref:`методи запуску `, " +"``spawn`` і ``forkserver``, були додані для запуску процесів за допомогою :" +"mod:`multiprocessing`. Це робить змішування процесів із потоками більш " +"надійним, а метод ``spawn`` відповідає семантиці, яку багатопроцесорність " +"завжди використовувала в Windows. Нова функція :func:`~multiprocessing." +"get_all_start_methods` повідомляє про всі методи запуску, доступні на " +"платформі, :func:`~multiprocessing.get_start_method` повідомляє поточний " +"метод запуску, а :func:`~multiprocessing.set_start_method` встановлює метод " +"запуску. (Надав Річард Оудкерк у :issue:`8713`.)" + +msgid "" +":mod:`multiprocessing` also now has the concept of a ``context``, which " +"determines how child processes are created. New function :func:" +"`~multiprocessing.get_context` returns a context that uses a specified start " +"method. It has the same API as the :mod:`multiprocessing` module itself, so " +"you can use it to create :class:`~multiprocessing.pool.Pool`\\ s and other " +"objects that will operate within that context. This allows a framework and " +"an application or different parts of the same application to use " +"multiprocessing without interfering with each other. (Contributed by " +"Richard Oudkerk in :issue:`18999`.)" +msgstr "" +":mod:`multiprocessing` також тепер має концепцію ``контексту``, який " +"визначає, як створюються дочірні процеси. Нова функція :func:" +"`~multiprocessing.get_context` повертає контекст, який використовує вказаний " +"метод запуску. Він має той самий API, що й сам модуль :mod:" +"`multiprocessing`, тож ви можете використовувати його для створення :class:" +"`~multiprocessing.pool.Pool`\\ та інших об’єктів, які працюватимуть у цьому " +"контексті. Це дозволяє інфраструктурі та програмі або різним частинам однієї " +"програми використовувати багатопроцесорність, не заважаючи одна одній. " +"(Надав Річард Оудкерк у :issue:`18999`.)" + +msgid "" +"Except when using the old *fork* start method, child processes no longer " +"inherit unneeded handles/file descriptors from their parents (part of :issue:" +"`8713`)." +msgstr "" +"За винятком використання старого методу запуску *fork*, дочірні процеси " +"більше не успадковують непотрібні дескриптори/дескриптори файлів від своїх " +"батьків (частина :issue:`8713`)." + +msgid "" +":mod:`multiprocessing` now relies on :mod:`runpy` (which implements the ``-" +"m`` switch) to initialise ``__main__`` appropriately in child processes when " +"using the ``spawn`` or ``forkserver`` start methods. This resolves some edge " +"cases where combining multiprocessing, the ``-m`` command line switch, and " +"explicit relative imports could cause obscure failures in child processes. " +"(Contributed by Nick Coghlan in :issue:`19946`.)" +msgstr "" +":mod:`multiprocessing` тепер покладається на :mod:`runpy` (який реалізує " +"перемикач ``-m``), щоб належним чином ініціалізувати ``__main__`` у дочірніх " +"процесах під час використання ``spawn`` або ``forkserver`` методи запуску. " +"Це вирішує деякі граничні випадки, коли поєднання багатопроцесорності, " +"перемикача командного рядка ``-m`` і явного відносного імпорту може " +"спричинити незрозумілі збої в дочірніх процесах. (Надав Нік Коглан у :issue:" +"`19946`.)" + +msgid "operator" +msgstr "оператор" + +msgid "" +"New function :func:`~operator.length_hint` provides an implementation of the " +"specification for how the :meth:`~object.__length_hint__` special method " +"should be used, as part of the :pep:`424` formal specification of this " +"language feature. (Contributed by Armin Ronacher in :issue:`16148`.)" +msgstr "" +"Нова функція :func:`~operator.length_hint` забезпечує реалізацію " +"специфікації того, як слід використовувати спеціальний метод :meth:`~object." +"__length_hint__` як частину :pep:`424` формальної специфікації цієї мови " +"функція. (Надав Армін Роначер у :issue:`16148`.)" + +msgid "" +"There is now a pure-python version of the :mod:`operator` module available " +"for reference and for use by alternate implementations of Python. " +"(Contributed by Zachary Ware in :issue:`16694`.)" +msgstr "" +"Тепер існує чиста версія модуля :mod:`operator` на Python, доступна для " +"довідки та для використання в альтернативних реалізаціях Python. (Надано " +"Zachary Ware у :issue:`16694`.)" + +msgid "os" +msgstr "ос" + +msgid "" +"There are new functions to get and set the :ref:`inheritable flag " +"` of a file descriptor (:func:`os.get_inheritable`, :func:" +"`os.set_inheritable`) or a Windows handle (:func:`os." +"get_handle_inheritable`, :func:`os.set_handle_inheritable`)." +msgstr "" +"Є нові функції для отримання та встановлення :ref:`inheritable flag " +"` файлового дескриптора (:func:`os.get_inheritable`, :func:" +"`os.set_inheritable`) або маркера Windows (:func:`os ." +"get_handle_inheritable`, :func:`os.set_handle_inheritable`)." + +msgid "" +"New function :func:`~os.cpu_count` reports the number of CPUs available on " +"the platform on which Python is running (or ``None`` if the count can't be " +"determined). The :func:`multiprocessing.cpu_count` function is now " +"implemented in terms of this function). (Contributed by Trent Nelson, " +"Yogesh Chaudhari, Victor Stinner, and Charles-François Natali in :issue:" +"`17914`.)" +msgstr "" +"Нова функція :func:`~os.cpu_count` повідомляє кількість ЦП, доступних на " +"платформі, на якій працює Python (або ``None``, якщо кількість не може бути " +"визначена). Функція :func:`multiprocessing.cpu_count` тепер реалізована в " +"термінах цієї функції). (Надано Трентом Нельсоном, Йогешем Чаудхарі, " +"Віктором Стіннером і Чарльзом-Франсуа Наталі в :issue:`17914`.)" + +msgid "" +":func:`os.path.samestat` is now available on the Windows platform (and the :" +"func:`os.path.samefile` implementation is now shared between Unix and " +"Windows). (Contributed by Brian Curtin in :issue:`11939`.)" +msgstr "" +":func:`os.path.samestat` тепер доступний на платформі Windows (і реалізація :" +"func:`os.path.samefile` тепер спільно використовується між Unix і Windows). " +"(Надав Браян Кертін у :issue:`11939`.)" + +msgid "" +":func:`os.path.ismount` now recognizes volumes mounted below a drive root on " +"Windows. (Contributed by Tim Golden in :issue:`9035`.)" +msgstr "" +":func:`os.path.ismount` тепер розпізнає томи, змонтовані нижче кореня диска " +"в Windows. (Надав Тім Голден у :issue:`9035`.)" + +msgid "" +":func:`os.open` supports two new flags on platforms that provide them, :data:" +"`~os.O_PATH` (un-opened file descriptor), and :data:`~os.O_TMPFILE` (unnamed " +"temporary file; as of 3.4.0 release available only on Linux systems with a " +"kernel version of 3.11 or newer that have uapi headers). (Contributed by " +"Christian Heimes in :issue:`18673` and Benjamin Peterson, respectively.)" +msgstr "" +":func:`os.open` підтримує два нові позначки на платформах, які їх надають, :" +"data:`~os.O_PATH` (дескриптор невідкритого файлу) і :data:`~os.O_TMPFILE` " +"(тимчасовий файл без назви; починаючи з випуску 3.4.0, доступного лише в " +"системах Linux із версією ядра 3.11 або новішою, які мають заголовки uapi). " +"(Надано Крістіаном Хеймсом у :issue:`18673` та Бенджаміном Петерсоном " +"відповідно.)" + +msgid "pdb" +msgstr "pdb" + +msgid "" +":mod:`pdb` has been enhanced to handle generators, :keyword:`yield`, and " +"``yield from`` in a more useful fashion. This is especially helpful when " +"debugging :mod:`asyncio` based programs. (Contributed by Andrew Svetlov and " +"Xavier de Gaye in :issue:`16596`.)" +msgstr "" +":mod:`pdb` було вдосконалено, щоб працювати з генераторами, :keyword:`yield` " +"і ``yield from`` більш корисним способом. Це особливо корисно під час " +"налагодження програм на основі :mod:`asyncio`. (Надано Ендрю Свєтловим і " +"Ксав’є де Гає в :issue:`16596`.)" + +msgid "" +"The ``print`` command has been removed from :mod:`pdb`, restoring access to " +"the Python :func:`print` function from the pdb command line. Python2's " +"``pdb`` did not have a ``print`` command; instead, entering ``print`` " +"executed the ``print`` statement. In Python3 ``print`` was mistakenly made " +"an alias for the pdb :pdbcmd:`p` command. ``p``, however, prints the " +"``repr`` of its argument, not the ``str`` like the Python2 ``print`` command " +"did. Worse, the Python3 ``pdb print`` command shadowed the Python3 " +"``print`` function, making it inaccessible at the ``pdb`` prompt. " +"(Contributed by Connor Osborn in :issue:`18764`.)" +msgstr "" +"Команду ``print`` видалено з :mod:`pdb`, відновивши доступ до функції :func:" +"`print` Python з командного рядка pdb. ``pdb`` Python2 не мав команди " +"``print``; натомість введення ``print`` виконувало оператор ``print``. У " +"Python3 ``print`` було помилково зроблено псевдонімом для команди pdb :" +"pdbcmd:`p`. Проте ``p`` друкує ``repr`` свого аргументу, а не ``str``, як це " +"робила команда ``print`` Python2. Гірше того, команда Python3 ``pdb print`` " +"затьмарювала функцію ``print`` Python3, роблячи її недоступною у підказці " +"``pdb``. (Надав Коннор Осборн у :issue:`18764`.)" + +msgid "pickle" +msgstr "маринований огірок" + +msgid "" +":mod:`pickle` now supports (but does not use by default) a new pickle " +"protocol, protocol 4. This new protocol addresses a number of issues that " +"were present in previous protocols, such as the serialization of nested " +"classes, very large strings and containers, and classes whose :meth:" +"`__new__` method takes keyword-only arguments. It also provides some " +"efficiency improvements." +msgstr "" +":mod:`pickle` тепер підтримує (але не використовує за замовчуванням) новий " +"протокол pickle, протокол 4. Цей новий протокол вирішує ряд проблем, які " +"були присутні в попередніх протоколах, таких як серіалізація вкладених " +"класів, дуже великі рядки і контейнери, і класи, чий метод :meth:`__new__` " +"приймає лише ключові аргументи. Це також забезпечує деякі покращення " +"ефективності." + +msgid ":pep:`3154` -- Pickle protocol 4" +msgstr ":pep:`3154` -- Протокол Pickle 4" + +msgid "PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti." +msgstr "PEP, написаний Антуаном Пітру та реалізований Александром Вассалотті." + +msgid "plistlib" +msgstr "plistlib" + +msgid "" +":mod:`plistlib` now has an API that is similar to the standard pattern for " +"stdlib serialization protocols, with new :func:`~plistlib.load`, :func:" +"`~plistlib.dump`, :func:`~plistlib.loads`, and :func:`~plistlib.dumps` " +"functions. (The older API is now deprecated.) In addition to the already " +"supported XML plist format (:data:`~plistlib.FMT_XML`), it also now supports " +"the binary plist format (:data:`~plistlib.FMT_BINARY`). (Contributed by " +"Ronald Oussoren and others in :issue:`14455`.)" +msgstr "" +":mod:`plistlib` тепер має API, подібний до стандартного шаблону для " +"протоколів серіалізації stdlib, з новими :func:`~plistlib.load`, :func:" +"`~plistlib.dump`, :func:`~plistlib функції .loads` і :func:`~plistlib." +"dumps`. (Старіший API тепер не підтримується.) На додаток до вже " +"підтримуваного формату XML plist (:data:`~plistlib.FMT_XML`), він також " +"підтримує двійковий формат plist (:data:`~plistlib.FMT_BINARY`). (Надано " +"Рональдом Оуссореном та іншими в :issue:`14455`.)" + +msgid "poplib" +msgstr "попліб" + +msgid "" +"Two new methods have been added to :mod:`poplib`: :meth:`~poplib.POP3.capa`, " +"which returns the list of capabilities advertised by the POP server, and :" +"meth:`~poplib.POP3.stls`, which switches a clear-text POP3 session into an " +"encrypted POP3 session if the POP server supports it. (Contributed by " +"Lorenzo Catucci in :issue:`4473`.)" +msgstr "" +"До :mod:`poplib`: :meth:`~poplib.POP3.capa` додано два нові методи, які " +"повертають список можливостей, рекламованих сервером POP, і :meth:`~poplib." +"POP3.stls` , який перемикає сеанс POP3 із відкритим текстом на зашифрований " +"сеанс POP3, якщо сервер POP це підтримує. (Надав Лоренцо Катуччі в :issue:" +"`4473`.)" + +msgid "pprint" +msgstr "pprint" + +msgid "" +"The :mod:`pprint` module's :class:`~pprint.PrettyPrinter` class and its :" +"func:`~pprint.pformat`, and :func:`~pprint.pprint` functions have a new " +"option, *compact*, that controls how the output is formatted. Currently " +"setting *compact* to ``True`` means that sequences will be printed with as " +"many sequence elements as will fit within *width* on each (indented) line. " +"(Contributed by Serhiy Storchaka in :issue:`19132`.)" +msgstr "" +"Клас :class:`~pprint.PrettyPrinter` модуля :mod:`pprint` і його функції :" +"func:`~pprint.pformat` і :func:`~pprint.pprint` мають новий параметр, " +"*compact*, який керує форматуванням виводу. Наразі встановлення *compact* на " +"``True`` означає, що послідовності будуть надруковані з такою кількістю " +"елементів послідовності, скільки вміщуватиметься в межах *ширини* на кожному " +"(з відступом) рядку. (Надав Сергій Сторчака в :issue:`19132`.)" + +msgid "" +"Long strings are now wrapped using Python's normal line continuation " +"syntax. (Contributed by Antoine Pitrou in :issue:`17150`.)" +msgstr "" +"Довгі рядки тепер обертаються за допомогою звичайного синтаксису продовження " +"рядка Python. (Надав Антуан Пітру в :issue:`17150`.)" + +msgid "pty" +msgstr "pty" + +msgid "" +":func:`pty.spawn` now returns the status value from :func:`os.waitpid` on " +"the child process, instead of ``None``. (Contributed by Gregory P. Smith.)" +msgstr "" +":func:`pty.spawn` тепер повертає значення стану з :func:`os.waitpid` " +"дочірнього процесу замість ``None``. (Надав Грегорі П. Сміт.)" + +msgid "pydoc" +msgstr "pydoc" + +msgid "" +"The :mod:`pydoc` module is now based directly on the :func:`inspect." +"signature` introspection API, allowing it to provide signature information " +"for a wider variety of callable objects. This change also means that " +"``__wrapped__`` attributes are now taken into account when displaying help " +"information. (Contributed by Larry Hastings in :issue:`19674`.)" +msgstr "" +"Модуль :mod:`pydoc` тепер базується безпосередньо на API інтроспекції :func:" +"`inspect.signature`, що дозволяє йому надавати інформацію про підпис для " +"більшої кількості викликаних об’єктів. Ця зміна також означає, що атрибути " +"``__wrapped__`` тепер враховуються під час відображення довідкової " +"інформації. (Надано Ларрі Гастінгсом у :issue:`19674`.)" + +msgid "" +"The :mod:`pydoc` module no longer displays the ``self`` parameter for " +"already bound methods. Instead, it aims to always display the exact current " +"signature of the supplied callable. (Contributed by Larry Hastings in :" +"issue:`20710`.)" +msgstr "" +"Модуль :mod:`pydoc` більше не відображає параметр ``self`` для вже зв’язаних " +"методів. Замість цього він прагне завжди відображати точний поточний підпис " +"наданого виклику. (Надано Ларрі Гастінгсом у :issue:`20710`.)" + +msgid "" +"In addition to the changes that have been made to :mod:`pydoc` directly, its " +"handling of custom ``__dir__`` methods and various descriptor behaviours has " +"also been improved substantially by the underlying changes in the :mod:" +"`inspect` module." +msgstr "" +"На додаток до змін, внесених безпосередньо до :mod:`pydoc`, його обробка " +"користувацьких методів ``__dir__`` і різноманітна поведінка дескрипторів " +"також була суттєво покращена завдяки базовим змінам у модулі :mod:`inspect` ." + +msgid "" +"As the :func:`help` builtin is based on :mod:`pydoc`, the above changes also " +"affect the behaviour of :func:`help`." +msgstr "" +"Оскільки вбудований :func:`help` базується на :mod:`pydoc`, наведені вище " +"зміни також впливають на поведінку :func:`help`." + +msgid "re" +msgstr "повторно" + +msgid "" +"New :func:`~re.fullmatch` function and :meth:`.regex.fullmatch` method " +"anchor the pattern at both ends of the string to match. This provides a way " +"to be explicit about the goal of the match, which avoids a class of subtle " +"bugs where ``$`` characters get lost during code changes or the addition of " +"alternatives to an existing regular expression. (Contributed by Matthew " +"Barnett in :issue:`16203`.)" +msgstr "" +"Нова функція :func:`~re.fullmatch` і метод :meth:`.regex.fullmatch` " +"закріплюють шаблон на обох кінцях рядка для відповідності. Це дає можливість " +"чітко вказати мету збігу, що дозволяє уникнути класу непомітних помилок, " +"через які символи ``$`` губляться під час змін коду або додавання " +"альтернатив до існуючого регулярного виразу. (Надав Метью Барнетт у :issue:" +"`16203`.)" + +msgid "" +"The repr of :ref:`regex objects ` now includes the pattern and " +"the flags; the repr of :ref:`match objects ` now includes the " +"start, end, and the part of the string that matched. (Contributed by Hugo " +"Lopes Tavares and Serhiy Storchaka in :issue:`13592` and :issue:`17087`.)" +msgstr "" +"Repr :ref:`regex об’єктів ` тепер включає шаблон і прапори; " +"repr :ref:`match objects ` тепер включає початок, кінець і " +"частину рядка, що збігається. (Надано Уго Лопесом Таваресом і Сергієм " +"Сторчакою в :issue:`13592` і :issue:`17087`.)" + +msgid "resource" +msgstr "ресурс" + +msgid "" +"New :func:`~resource.prlimit` function, available on Linux platforms with a " +"kernel version of 2.6.36 or later and glibc of 2.13 or later, provides the " +"ability to query or set the resource limits for processes other than the one " +"making the call. (Contributed by Christian Heimes in :issue:`16595`.)" +msgstr "" +"Нова функція :func:`~resource.prlimit`, доступна на платформах Linux із " +"версією ядра 2.6.36 або новішою та glibc 2.13 або новішою, надає можливість " +"запитувати або встановлювати обмеження ресурсів для процесів, відмінних від " +"того, що створює виклик. (Надав Крістіан Хеймс у :issue:`16595`.)" + +msgid "" +"On Linux kernel version 2.6.36 or later, there are also some new Linux " +"specific constants: :attr:`~resource.RLIMIT_MSGQUEUE`, :attr:`~resource." +"RLIMIT_NICE`, :attr:`~resource.RLIMIT_RTPRIO`, :attr:`~resource." +"RLIMIT_RTTIME`, and :attr:`~resource.RLIMIT_SIGPENDING`. (Contributed by " +"Christian Heimes in :issue:`19324`.)" +msgstr "" +"У ядрі Linux версії 2.6.36 або пізнішої також є деякі нові специфічні " +"константи Linux: :attr:`~resource.RLIMIT_MSGQUEUE`, :attr:`~resource." +"RLIMIT_NICE`, :attr:`~resource.RLIMIT_RTPRIO`, :attr:`~resource." +"RLIMIT_RTTIME` і :attr:`~resource.RLIMIT_SIGPENDING`. (Надав Крістіан Хеймс " +"у :issue:`19324`.)" + +msgid "" +"On FreeBSD version 9 and later, there some new FreeBSD specific constants: :" +"attr:`~resource.RLIMIT_SBSIZE`, :attr:`~resource.RLIMIT_SWAP`, and :attr:" +"`~resource.RLIMIT_NPTS`. (Contributed by Claudiu Popa in :issue:`19343`.)" +msgstr "" +"У FreeBSD версії 9 і пізніших є деякі нові специфічні константи FreeBSD: :" +"attr:`~resource.RLIMIT_SBSIZE`, :attr:`~resource.RLIMIT_SWAP` і :attr:" +"`~resource.RLIMIT_NPTS`. (Надав Клаудіу Попа в :issue:`19343`.)" + +msgid "select" +msgstr "вибрати" + +msgid "" +":class:`~select.epoll` objects now support the context management protocol. " +"When used in a :keyword:`with` statement, the :meth:`~select.epoll.close` " +"method will be called automatically at the end of the block. (Contributed " +"by Serhiy Storchaka in :issue:`16488`.)" +msgstr "" +"Об’єкти :class:`~select.epoll` тепер підтримують протокол керування " +"контекстом. При використанні в операторі :keyword:`with` метод :meth:" +"`~select.epoll.close` буде викликано автоматично в кінці блоку. (Надав " +"Сергій Сторчака в :issue:`16488`.)" + +msgid "" +":class:`~select.devpoll` objects now have :meth:`~select.devpoll.fileno` " +"and :meth:`~select.devpoll.close` methods, as well as a new attribute :attr:" +"`~select.devpoll.closed`. (Contributed by Victor Stinner in :issue:`18794`.)" +msgstr "" +"Об’єкти :class:`~select.devpoll` тепер мають методи :meth:`~select.devpoll." +"fileno` і :meth:`~select.devpoll.close`, а також новий атрибут :attr:" +"`~select. devpoll.closed`. (Надав Віктор Стіннер у :issue:`18794`.)" + +msgid "shelve" +msgstr "полиця" + +msgid "" +":class:`~shelve.Shelf` instances may now be used in :keyword:`with` " +"statements, and will be automatically closed at the end of the :keyword:`!" +"with` block. (Contributed by Filip Gruszczyński in :issue:`13896`.)" +msgstr "" +"Екземпляри :class:`~shelve.Shelf` тепер можна використовувати в операторах :" +"keyword:`with` і автоматично закриватимуться в кінці блоку :keyword:`!with`. " +"(Надав Філіп Грущинський у :issue:`13896`.)" + +msgid "shutil" +msgstr "шутил" + +msgid "" +":func:`~shutil.copyfile` now raises a specific :exc:`~shutil.Error` " +"subclass, :exc:`~shutil.SameFileError`, when the source and destination are " +"the same file, which allows an application to take appropriate action on " +"this specific error. (Contributed by Atsuo Ishimoto and Hynek Schlawack in :" +"issue:`1492704`.)" +msgstr "" +":func:`~shutil.copyfile` тепер створює певний підклас :exc:`~shutil.Error`, :" +"exc:`~shutil.SameFileError`, коли джерело та місце призначення є тим самим " +"файлом, що дозволяє програмі приймати відповідні дії щодо цієї конкретної " +"помилки. (Надано Atsuo Ishimoto та Hynek Schlawack у :issue:`1492704`.)" + +msgid "smtpd" +msgstr "smtpd" + +msgid "" +"The :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now " +"accept a *map* keyword argument which, if specified, is passed in to :class:" +"`asynchat.async_chat` as its *map* argument. This allows an application to " +"avoid affecting the global socket map. (Contributed by Vinay Sajip in :" +"issue:`11959`.)" +msgstr "" +"Класи :class:`~smtpd.SMTPServer` і :class:`~smtpd.SMTPChannel` тепер " +"приймають аргумент ключового слова *map*, який, якщо вказано, передається в :" +"class:`asynchat.async_chat` як його *map* аргумент. Це дозволяє програмі " +"уникнути впливу на глобальну карту сокетів. (Надав Віней Саджип у :issue:" +"`11959`.)" + +msgid "smtplib" +msgstr "smtplib" + +msgid "" +":exc:`~smtplib.SMTPException` is now a subclass of :exc:`OSError`, which " +"allows both socket level errors and SMTP protocol level errors to be caught " +"in one try/except statement by code that only cares whether or not an error " +"occurred. (Contributed by Ned Jackson Lovely in :issue:`2118`.)" +msgstr "" +":exc:`~smtplib.SMTPException` тепер є підкласом :exc:`OSError`, який " +"дозволяє перехоплювати помилки рівня сокета та протоколу SMTP одним " +"оператором try/except за допомогою коду, який дбає лише про те, чи сталася " +"помилка. (Надав Нед Джексон Лавлі в :issue:`2118`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"The socket module now supports the :data:`~socket.CAN_BCM` protocol on " +"platforms that support it. (Contributed by Brian Thorne in :issue:`15359`.)" +msgstr "" +"Модуль сокета тепер підтримує протокол :data:`~socket.CAN_BCM` на " +"платформах, які його підтримують. (Надав Браян Торн у :issue:`15359`.)" + +msgid "" +"Socket objects have new methods to get or set their :ref:`inheritable flag " +"`, :meth:`~socket.socket.get_inheritable` and :meth:`~socket." +"socket.set_inheritable`." +msgstr "" +"Об’єкти Socket мають нові методи отримання або встановлення свого :ref:" +"`inheritable flag `, :meth:`~socket.socket.get_inheritable` " +"та :meth:`~socket.socket.set_inheritable`." + +msgid "" +"The ``socket.AF_*`` and ``socket.SOCK_*`` constants are now enumeration " +"values using the new :mod:`enum` module. This allows meaningful names to be " +"printed during debugging, instead of integer \"magic numbers\"." +msgstr "" +"Константи ``socket.AF_*`` і ``socket.SOCK_*`` тепер є значеннями " +"перерахування за допомогою нового модуля :mod:`enum`. Це дозволяє друкувати " +"осмислені імена під час налагодження замість цілих \"магічних чисел\"." + +msgid "The :data:`~socket.AF_LINK` constant is now available on BSD and OSX." +msgstr "Константа :data:`~socket.AF_LINK` тепер доступна в BSD і OSX." + +msgid "" +":func:`~socket.inet_pton` and :func:`~socket.inet_ntop` are now supported on " +"Windows. (Contributed by Atsuo Ishimoto in :issue:`7171`.)" +msgstr "" +":func:`~socket.inet_pton` і :func:`~socket.inet_ntop` тепер підтримуються в " +"Windows. (Надав Ацуо Ісімото в :issue:`7171`.)" + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +"A new boolean parameter to the :func:`~sqlite3.connect` function, *uri*, can " +"be used to indicate that the *database* parameter is a ``uri`` (see the " +"`SQLite URI documentation `_). " +"(Contributed by poq in :issue:`13773`.)" +msgstr "" +"Новий логічний параметр функції :func:`~sqlite3.connect`, *uri*, можна " +"використовувати, щоб вказати, що параметр *database* є ``uri`` (див. " +"`документацію SQLite URI `_) . (Надано poq " +"у :issue:`13773`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "" +":data:`~ssl.PROTOCOL_TLSv1_1` and :data:`~ssl.PROTOCOL_TLSv1_2` (TLSv1.1 and " +"TLSv1.2 support) have been added; support for these protocols is only " +"available if Python is linked with OpenSSL 1.0.1 or later. (Contributed by " +"Michele Orrù and Antoine Pitrou in :issue:`16692`.)" +msgstr "" +"Додано :data:`~ssl.PROTOCOL_TLSv1_1` і :data:`~ssl.PROTOCOL_TLSv1_2` " +"(підтримка TLSv1.1 і TLSv1.2); підтримка цих протоколів доступна, лише якщо " +"Python пов’язано з OpenSSL 1.0.1 або новішої версії. (Надано Мікеле Орру та " +"Антуаном Пітру в :issue:`16692`.)" + +msgid "" +"New function :func:`~ssl.create_default_context` provides a standard way to " +"obtain an :class:`~ssl.SSLContext` whose settings are intended to be a " +"reasonable balance between compatibility and security. These settings are " +"more stringent than the defaults provided by the :class:`~ssl.SSLContext` " +"constructor, and may be adjusted in the future, without prior deprecation, " +"if best-practice security requirements change. The new recommended best " +"practice for using stdlib libraries that support SSL is to use :func:`~ssl." +"create_default_context` to obtain an :class:`~ssl.SSLContext` object, modify " +"it if needed, and then pass it as the *context* argument of the appropriate " +"stdlib API. (Contributed by Christian Heimes in :issue:`19689`.)" +msgstr "" +"Нова функція :func:`~ssl.create_default_context` надає стандартний спосіб " +"отримати :class:`~ssl.SSLContext`, налаштування якого створюють розумний " +"баланс між сумісністю та безпекою. Ці параметри суворіші, ніж стандартні, " +"надані конструктором :class:`~ssl.SSLContext`, і можуть бути скориговані в " +"майбутньому без попереднього припинення підтримки, якщо зміняться найкращі " +"вимоги безпеки. Нова рекомендована найкраща практика використання бібліотек " +"stdlib, які підтримують SSL, полягає в тому, щоб використовувати :func:`~ssl." +"create_default_context` для отримання об’єкта :class:`~ssl.SSLContext`, " +"змінювати його за потреби, а потім передавати як *аргумент context* " +"відповідного API stdlib. (Надав Крістіан Хаймес у :issue:`19689`.)" + +msgid "" +":class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext." +"load_verify_locations` accepts a new optional argument *cadata*, which can " +"be used to provide PEM or DER encoded certificates directly via strings or " +"bytes, respectively. (Contributed by Christian Heimes in :issue:`18138`.)" +msgstr "" +":class:`~ssl.SSLContext` метод :meth:`~ssl.SSLContext.load_verify_locations` " +"приймає новий необов’язковий аргумент *cadata*, який можна використовувати " +"для надання сертифікатів у кодуванні PEM або DER безпосередньо через рядки " +"або байти відповідно. (Надав Крістіан Хеймс у :issue:`18138`.)" + +msgid "" +"New function :func:`~ssl.get_default_verify_paths` returns a named tuple of " +"the paths and environment variables that the :meth:`~ssl.SSLContext." +"set_default_verify_paths` method uses to set OpenSSL's default ``cafile`` " +"and ``capath``. This can be an aid in debugging default verification " +"issues. (Contributed by Christian Heimes in :issue:`18143`.)" +msgstr "" +"Нова функція :func:`~ssl.get_default_verify_paths` повертає іменований " +"кортеж шляхів і змінних середовища, які метод :meth:`~ssl.SSLContext." +"set_default_verify_paths` використовує для встановлення стандартних OpenSSL " +"``cafile`` і ``capath``. Це може допомогти у вирішенні проблем перевірки за " +"замовчуванням. (Надав Крістіан Хеймс у :issue:`18143`.)" + +msgid "" +":class:`~ssl.SSLContext` has a new method, :meth:`~ssl.SSLContext." +"cert_store_stats`, that reports the number of loaded ``X.509`` certs, " +"``X.509 CA`` certs, and certificate revocation lists (``crl``\\ s), as well " +"as a :meth:`~ssl.SSLContext.get_ca_certs` method that returns a list of the " +"loaded ``CA`` certificates. (Contributed by Christian Heimes in :issue:" +"`18147`.)" +msgstr "" +":class:`~ssl.SSLContext` має новий метод, :meth:`~ssl.SSLContext." +"cert_store_stats`, який повідомляє кількість завантажених сертифікатів " +"``X.509``, ``X.509 CA`` сертифікатів і списки відкликаних сертифікатів " +"(``crl``\\ s), а також метод :meth:`~ssl.SSLContext.get_ca_certs`, який " +"повертає список завантажених сертифікатів ``CA``. (Надав Крістіан Хеймс у :" +"issue:`18147`.)" + +msgid "" +"If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has a new " +"attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control " +"the certificate verification process by setting it to some combination of " +"the new constants :data:`~ssl.VERIFY_DEFAULT`, :data:`~ssl." +"VERIFY_CRL_CHECK_LEAF`, :data:`~ssl.VERIFY_CRL_CHECK_CHAIN`, or :data:`~ssl." +"VERIFY_X509_STRICT`. OpenSSL does not do any CRL verification by default. " +"(Contributed by Christien Heimes in :issue:`8813`.)" +msgstr "" +"Якщо доступний OpenSSL 0.9.8 або новішої версії, :class:`~ssl.SSLContext` " +"має новий атрибут :attr:`~ssl.SSLContext.verify_flags`, який можна " +"використовувати для керування процесом перевірки сертифіката, установивши " +"для нього певну комбінацію нових констант :data:`~ssl.VERIFY_DEFAULT`, :data:" +"`~ssl.VERIFY_CRL_CHECK_LEAF`, :data:`~ssl.VERIFY_CRL_CHECK_CHAIN` або :data:" +"`~ssl.VERIFY_X509_STRICT`. За замовчуванням OpenSSL не перевіряє CRL. " +"(Надано Christien Heimes у :issue:`8813`.)" + +msgid "" +"New :class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext." +"load_default_certs` loads a set of default \"certificate authority\" (CA) " +"certificates from default locations, which vary according to the platform. " +"It can be used to load both TLS web server authentication certificates " +"(``purpose=``:data:`~ssl.Purpose.SERVER_AUTH`) for a client to use to verify " +"a server, and certificates for a server to use in verifying client " +"certificates (``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Contributed " +"by Christian Heimes in :issue:`19292`.)" +msgstr "" +"Новий метод :class:`~ssl.SSLContext` :meth:`~ssl.SSLContext." +"load_default_certs` завантажує набір стандартних сертифікатів \"центру " +"сертифікації\" (CA) із стандартних розташувань, які відрізняються залежно " +"від платформи. Його можна використовувати для завантаження як сертифікатів " +"автентифікації веб-сервера TLS (``purpose=``:data:`~ssl.Purpose." +"SERVER_AUTH`), які клієнт використовує для перевірки сервера, так і " +"сертифікатів для сервера, які використовують для перевірки клієнтські " +"сертифікати (``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Надав Крістіан " +"Хаймес у :issue:`19292`.)" + +msgid "" +"Two new windows-only functions, :func:`~ssl.enum_certificates` and :func:" +"`~ssl.enum_crls` provide the ability to retrieve certificates, certificate " +"information, and CRLs from the Windows cert store. (Contributed by " +"Christian Heimes in :issue:`17134`.)" +msgstr "" +"Дві нові функції лише для Windows, :func:`~ssl.enum_certificates` і :func:" +"`~ssl.enum_crls` надають можливість отримувати сертифікати, інформацію про " +"сертифікати та CRL зі сховища сертифікатів Windows. (Надав Крістіан Хеймс у :" +"issue:`17134`.)" + +msgid "" +"Support for server-side SNI (Server Name Indication) using the new :meth:" +"`ssl.SSLContext.set_servername_callback` method. (Contributed by Daniel " +"Black in :issue:`8109`.)" +msgstr "" +"Підтримка SNI на стороні сервера (Індикація імені сервера) за допомогою " +"нового методу :meth:`ssl.SSSLContext.set_servername_callback`. (Надав Деніел " +"Блек у :issue:`8109`.)" + +msgid "" +"The dictionary returned by :meth:`.SSLSocket.getpeercert` contains " +"additional ``X509v3`` extension items: ``crlDistributionPoints``, " +"``calIssuers``, and ``OCSP`` URIs. (Contributed by Christian Heimes in :" +"issue:`18379`.)" +msgstr "" +"Словник, який повертає :meth:`.SSLSocket.getpeercert`, містить додаткові " +"елементи розширення ``X509v3``: ``crlDistributionPoints``, ``calIssuers`` і " +"``OCSP`` URI. (Надав Крістіан Хеймс у :issue:`18379`.)" + +msgid "stat" +msgstr "стат" + +msgid "" +"The :mod:`stat` module is now backed by a C implementation in :mod:`_stat`. " +"A C implementation is required as most of the values aren't standardized and " +"are platform-dependent. (Contributed by Christian Heimes in :issue:`11016`.)" +msgstr "" +"Модуль :mod:`stat` тепер підтримується реалізацією C у :mod:`_stat`. " +"Потрібна реалізація C, оскільки більшість значень не стандартизовані та " +"залежать від платформи. (Надав Крістіан Хеймс у :issue:`11016`.)" + +msgid "" +"The module supports new :mod:`~stat.ST_MODE` flags, :mod:`~stat.S_IFDOOR`, :" +"attr:`~stat.S_IFPORT`, and :attr:`~stat.S_IFWHT`. (Contributed by Christian " +"Hiemes in :issue:`11016`.)" +msgstr "" +"Модуль підтримує нові прапорці :mod:`~stat.ST_MODE`, :mod:`~stat.S_IFDOOR`, :" +"attr:`~stat.S_IFPORT` і :attr:`~stat.S_IFWHT`. (Надав Крістіан Гімес у :" +"issue:`11016`.)" + +msgid "struct" +msgstr "структура" + +msgid "" +"New function :mod:`~struct.iter_unpack` and a new :meth:`struct.Struct." +"iter_unpack` method on compiled formats provide streamed unpacking of a " +"buffer containing repeated instances of a given format of data. (Contributed " +"by Antoine Pitrou in :issue:`17804`.)" +msgstr "" +"Нова функція :mod:`~struct.iter_unpack` і новий метод :meth:`struct.Struct." +"iter_unpack` для скомпільованих форматів забезпечують потокове розпакування " +"буфера, що містить повторювані екземпляри даного формату даних. (Надав " +"Антуан Пітру в :issue:`17804`.)" + +msgid "subprocess" +msgstr "підпроцес" + +msgid "" +":func:`~subprocess.check_output` now accepts an *input* argument that can be " +"used to provide the contents of ``stdin`` for the command that is run. " +"(Contributed by Zack Weinberg in :issue:`16624`.)" +msgstr "" +":func:`~subprocess.check_output` тепер приймає аргумент *input*, який можна " +"використовувати для надання вмісту ``stdin`` для команди, яка виконується. " +"(Надав Зак Вайнберг у :issue:`16624`.)" + +msgid "" +":func:`~subprocess.getstatus` and :func:`~subprocess.getstatusoutput` now " +"work on Windows. This change was actually inadvertently made in 3.3.4. " +"(Contributed by Tim Golden in :issue:`10197`.)" +msgstr "" +":func:`~subprocess.getstatus` і :func:`~subprocess.getstatusoutput` тепер " +"працюють у Windows. Ця зміна фактично була зроблена ненавмисно в 3.3.4. " +"(Надав Тім Голден у :issue:`10197`.)" + +msgid "sunau" +msgstr "sunau" + +msgid "" +"The :meth:`~sunau.getparams` method now returns a namedtuple rather than a " +"plain tuple. (Contributed by Claudiu Popa in :issue:`18901`.)" +msgstr "" +"Метод :meth:`~sunau.getparams` тепер повертає іменований кортеж, а не " +"звичайний кортеж. (Надав Клаудіу Попа в :issue:`18901`.)" + +msgid "" +":meth:`sunau.open` now supports the context management protocol: when used " +"in a :keyword:`with` block, the ``close`` method of the returned object will " +"be called automatically at the end of the block. (Contributed by Serhiy " +"Storchaka in :issue:`18878`.)" +msgstr "" +":meth:`sunau.open` тепер підтримує протокол керування контекстом: при " +"використанні в блоці :keyword:`with` метод ``close`` повернутого об'єкта " +"буде автоматично викликаний у кінці блоку. (Надав Сергій Сторчака в :issue:" +"`18878`.)" + +msgid "" +":meth:`.AU_write.setsampwidth` now supports 24 bit samples, thus adding " +"support for writing 24 sample using the module. (Contributed by Serhiy " +"Storchaka in :issue:`19261`.)" +msgstr "" +":meth:`.AU_write.setsampwidth` тепер підтримує 24-бітові зразки, таким чином " +"додаючи підтримку запису 24-х зразків за допомогою модуля. (Надав Сергій " +"Сторчака в :issue:`19261`.)" + +msgid "" +"The :meth:`~sunau.AU_write.writeframesraw` and :meth:`~sunau.AU_write." +"writeframes` methods now accept any :term:`bytes-like object`. (Contributed " +"by Serhiy Storchaka in :issue:`8311`.)" +msgstr "" +"Методи :meth:`~sunau.AU_write.writeframesraw` і :meth:`~sunau.AU_write." +"writeframes` тепер приймають будь-які :term:`bytes-like object`. (Надав " +"Сергій Сторчака в :issue:`8311`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"New function :func:`sys.getallocatedblocks` returns the current number of " +"blocks allocated by the interpreter. (In CPython with the default ``--with-" +"pymalloc`` setting, this is allocations made through the :c:func:" +"`PyObject_Malloc` API.) This can be useful for tracking memory leaks, " +"especially if automated via a test suite. (Contributed by Antoine Pitrou " +"in :issue:`13390`.)" +msgstr "" +"Нова функція :func:`sys.getallocatedblocks` повертає поточну кількість " +"блоків, виділених інтерпретатором. (У CPython із параметром за замовчуванням " +"``--with-pymalloc`` це виділення, зроблене через :c:func:`PyObject_Malloc` " +"API.) Це може бути корисним для відстеження витоків пам’яті, особливо якщо " +"це автоматизовано за допомогою набору тестів. . (Надав Антуан Пітру в :issue:" +"`13390`.)" + +msgid "" +"When the Python interpreter starts in :ref:`interactive mode `, it checks for an :data:`~sys.__interactivehook__` attribute " +"on the :mod:`sys` module. If the attribute exists, its value is called with " +"no arguments just before interactive mode is started. The check is made " +"after the :envvar:`PYTHONSTARTUP` file is read, so it can be set there. " +"The :mod:`site` module :ref:`sets it ` to a function " +"that enables tab completion and history saving (in :file:`~/.python-" +"history`) if the platform supports :mod:`readline`. If you do not want this " +"(new) behavior, you can override it in :envvar:`PYTHONSTARTUP`, :mod:" +"`sitecustomize`, or :mod:`usercustomize` by deleting this attribute from :" +"mod:`sys` (or setting it to some other callable). (Contributed by Éric " +"Araujo and Antoine Pitrou in :issue:`5845`.)" +msgstr "" +"Коли інтерпретатор Python запускається в :ref:`інтерактивному режимі `, він перевіряє наявність атрибута :data:`~sys." +"__interactivehook__` в модулі :mod:`sys`. Якщо атрибут існує, його значення " +"викликається без аргументів безпосередньо перед запуском інтерактивного " +"режиму. Перевірка виконується після прочитання файлу :envvar:" +"`PYTHONSTARTUP`, тож його можна встановити там. Модуль :mod:`site` :ref:" +"`встановлює для нього ` функцію, яка вмикає завершення " +"вкладки та збереження історії (у :file:`~/.python-history`), якщо платформа " +"підтримує :mod:`readline` . Якщо ви не бажаєте такої (нової) поведінки, ви " +"можете змінити її в :envvar:`PYTHONSTARTUP`, :mod:`sitecustomize` або :mod:" +"`usercustomize`, видаливши цей атрибут із :mod:`sys` (або встановлення його " +"на інший виклик). (Надано Еріком Араухо та Антуаном Пітру в :issue:`5845`.)" + +msgid "tarfile" +msgstr "tarfile" + +msgid "" +"The :mod:`tarfile` module now supports a simple :ref:`tarfile-commandline` " +"when called as a script directly or via ``-m``. This can be used to create " +"and extract tarfile archives. (Contributed by Berker Peksag in :issue:" +"`13477`.)" +msgstr "" +"Модуль :mod:`tarfile` тепер підтримує простий :ref:`tarfile-commandline` під " +"час безпосереднього виклику сценарію або через ``-m``. Це можна " +"використовувати для створення та розпакування архівів tarfile. (Надано " +"Berker Peksag у :issue:`13477`.)" + +msgid "textwrap" +msgstr "обтікання текстом" + +msgid "" +"The :class:`~textwrap.TextWrapper` class has two new attributes/constructor " +"arguments: :attr:`~textwrap.TextWrapper.max_lines`, which limits the number " +"of lines in the output, and :attr:`~textwrap.TextWrapper.placeholder`, which " +"is a string that will appear at the end of the output if it has been " +"truncated because of *max_lines*. Building on these capabilities, a new " +"convenience function :func:`~textwrap.shorten` collapses all of the " +"whitespace in the input to single spaces and produces a single line of a " +"given *width* that ends with the *placeholder* (by default, ``[...]``). " +"(Contributed by Antoine Pitrou and Serhiy Storchaka in :issue:`18585` and :" +"issue:`18725`.)" +msgstr "" +"Клас :class:`~textwrap.TextWrapper` має два нові атрибути/аргументи " +"конструктора: :attr:`~textwrap.TextWrapper.max_lines`, який обмежує " +"кількість рядків у виводі, і :attr:`~textwrap.TextWrapper .placeholder`, це " +"рядок, який з’явиться в кінці виводу, якщо його було скорочено через " +"*max_lines*. Спираючись на ці можливості, нова функція зручності :func:" +"`~textwrap.shorten` згортає всі пробіли у вхідних даних до окремих пробілів " +"і створює один рядок заданої *ширини*, який закінчується *заповнювачем* (за " +"замовчуванням). , ``[...]``). (Надано Антуаном Пітру та Сергієм Сторчакою в :" +"issue:`18585` та :issue:`18725`.)" + +msgid "threading" +msgstr "різьблення" + +msgid "" +"The :class:`~threading.Thread` object representing the main thread can be " +"obtained from the new :func:`~threading.main_thread` function. In normal " +"conditions this will be the thread from which the Python interpreter was " +"started. (Contributed by Andrew Svetlov in :issue:`18882`.)" +msgstr "" +"Об’єкт :class:`~threading.Thread`, що представляє основний потік, можна " +"отримати з нової функції :func:`~threading.main_thread`. У нормальних умовах " +"це буде потік, з якого було запущено інтерпретатор Python. (Надав Ендрю " +"Свєтлов у :issue:`18882`.)" + +msgid "traceback" +msgstr "простежити" + +msgid "" +"A new :func:`traceback.clear_frames` function takes a traceback object and " +"clears the local variables in all of the frames it references, reducing the " +"amount of memory consumed. (Contributed by Andrew Kuchling in :issue:" +"`1565525`.)" +msgstr "" +"Нова функція :func:`traceback.clear_frames` приймає об’єкт трасування та " +"очищає локальні змінні в усіх кадрах, на які він посилається, зменшуючи " +"обсяг споживаної пам’яті. (Надав Ендрю Кухлінг у :issue:`1565525`.)" + +msgid "types" +msgstr "види" + +msgid "" +"A new :func:`~types.DynamicClassAttribute` descriptor provides a way to " +"define an attribute that acts normally when looked up through an instance " +"object, but which is routed to the *class* ``__getattr__`` when looked up " +"through the class. This allows one to have properties active on a class, " +"and have virtual attributes on the class with the same name (see :mod:`Enum` " +"for an example). (Contributed by Ethan Furman in :issue:`19030`.)" +msgstr "" +"Новий дескриптор :func:`~types.DynamicClassAttribute` надає спосіб " +"визначення атрибута, який працює нормально під час пошуку через об’єкт " +"екземпляра, але який спрямовується до *класу* ``__getattr__`` під час пошуку " +"через клас . Це дозволяє мати активні властивості для класу та мати " +"віртуальні атрибути для класу з таким же іменем (див. :mod:`Enum` для " +"прикладу). (Надав Ітан Фурман у :issue:`19030`.)" + +msgid "urllib" +msgstr "urllib" + +msgid "" +":mod:`urllib.request` now supports ``data:`` URLs via the :class:`~urllib." +"request.DataHandler` class. (Contributed by Mathias Panzenböck in :issue:" +"`16423`.)" +msgstr "" +":mod:`urllib.request` тепер підтримує URL-адреси ``data:`` через клас :class:" +"`~urllib.request.DataHandler`. (Надав Матіас Панценбьок у :issue:`16423`.)" + +msgid "" +"The http method that will be used by a :class:`~urllib.request.Request` " +"class can now be specified by setting a :class:`~urllib.request.Request." +"method` class attribute on the subclass. (Contributed by Jason R Coombs in :" +"issue:`18978`.)" +msgstr "" +"Метод http, який використовуватиметься класом :class:`~urllib.request." +"Request`, тепер можна вказати, встановивши атрибут класу :class:`~urllib." +"request.Request.method` у підкласі. (Надав Джейсон Р. Кумбс у :issue:" +"`18978`.)" + +msgid "" +":class:`~urllib.request.Request` objects are now reusable: if the :attr:" +"`~urllib.request.Request.full_url` or :attr:`~urllib.request.Request.data` " +"attributes are modified, all relevant internal properties are updated. This " +"means, for example, that it is now possible to use the same :class:`~urllib." +"request.Request` object in more than one :meth:`.OpenerDirector.open` call " +"with different *data* arguments, or to modify a :class:`~urllib.request." +"Request`\\ 's ``url`` rather than recomputing it from scratch. There is " +"also a new :meth:`~urllib.request.Request.remove_header` method that can be " +"used to remove headers from a :class:`~urllib.request.Request`. " +"(Contributed by Alexey Kachayev in :issue:`16464`, Daniel Wozniak in :issue:" +"`17485`, and Damien Brecht and Senthil Kumaran in :issue:`17272`.)" +msgstr "" +":class:`~urllib.request.Request` об’єкти тепер можна повторно " +"використовувати: якщо атрибути :attr:`~urllib.request.Request.full_url` або :" +"attr:`~urllib.request.Request.data` змінено, усі оновлено відповідні " +"внутрішні властивості. Це означає, наприклад, що тепер можна використовувати " +"той самий об’єкт :class:`~urllib.request.Request` у кількох викликах :meth:`." +"OpenerDirector.open` з різними аргументами *data* або для змінити URL-" +"адресу :class:`~urllib.request.Request`\\, а не перераховувати її з нуля. " +"Існує також новий метод :meth:`~urllib.request.Request.remove_header`, який " +"можна використовувати для видалення заголовків із :class:`~urllib.request." +"Request`. (Надано Олексієм Качаєвим у :issue:`16464`, Даніелем Возняком у :" +"issue:`17485`, а також Демієном Брехтом і Сентілом Кумараном у :issue:" +"`17272`.)" + +msgid "" +":class:`~urllib.error.HTTPError` objects now have a :attr:`~urllib.error." +"HTTPError.headers` attribute that provides access to the HTTP response " +"headers associated with the error. (Contributed by Berker Peksag in :issue:" +"`15701`.)" +msgstr "" +"Об’єкти :class:`~urllib.error.HTTPError` тепер мають атрибут :attr:`~urllib." +"error.HTTPError.headers`, який надає доступ до заголовків відповіді HTTP, " +"пов’язаних із помилкою. (Надано Berker Peksag у :issue:`15701`.)" + +msgid "unittest" +msgstr "unittest" + +msgid "" +"The :class:`~unittest.TestCase` class has a new method, :meth:`~unittest." +"TestCase.subTest`, that produces a context manager whose :keyword:`with` " +"block becomes a \"sub-test\". This context manager allows a test method to " +"dynamically generate subtests by, say, calling the ``subTest`` context " +"manager inside a loop. A single test method can thereby produce an " +"indefinite number of separately identified and separately counted tests, all " +"of which will run even if one or more of them fail. For example::" +msgstr "" + +msgid "" +"will result in six subtests, each identified in the unittest verbose output " +"with a label consisting of the variable name ``i`` and a particular value " +"for that variable (``i=0``, ``i=1``, etc). See :ref:`subtests` for the full " +"version of this example. (Contributed by Antoine Pitrou in :issue:`16997`.)" +msgstr "" +"призведе до шести підтестів, кожен ідентифікований у докладному виведенні " +"модульного тесту з міткою, що складається з назви змінної ``i`` та певного " +"значення для цієї змінної (``i=0``, ``i=1``, тощо). Перегляньте :ref:" +"`subtests` повну версію цього прикладу. (Надав Антуан Пітру в :issue:" +"`16997`.)" + +msgid "" +":func:`unittest.main` now accepts an iterable of test names for " +"*defaultTest*, where previously it only accepted a single test name as a " +"string. (Contributed by Jyrki Pulliainen in :issue:`15132`.)" +msgstr "" +":func:`unittest.main` тепер приймає ітерацію імен тестів для *defaultTest*, " +"тоді як раніше він приймав лише одну назву тесту як рядок. (Надав Юркі " +"Пулляйнен у :issue:`15132`.)" + +msgid "" +"If :class:`~unittest.SkipTest` is raised during test discovery (that is, at " +"the module level in the test file), it is now reported as a skip instead of " +"an error. (Contributed by Zach Ware in :issue:`16935`.)" +msgstr "" +"Якщо :class:`~unittest.SkipTest` викликається під час виявлення тесту (тобто " +"на рівні модуля у файлі тесту), це тепер повідомляється як пропуск замість " +"помилки. (Надав Zach Ware у :issue:`16935`.)" + +msgid "" +":meth:`~unittest.TestLoader.discover` now sorts the discovered files to " +"provide consistent test ordering. (Contributed by Martin Melin and Jeff " +"Ramnani in :issue:`16709`.)" +msgstr "" +":meth:`~unittest.TestLoader.discover` тепер сортує виявлені файли для " +"забезпечення послідовного впорядкування тестів. (Надано Мартіном Меліном і " +"Джеффом Рамнані в :issue:`16709`.)" + +msgid "" +":class:`~unittest.TestSuite` now drops references to tests as soon as the " +"test has been run, if the test is successful. On Python interpreters that " +"do garbage collection, this allows the tests to be garbage collected if " +"nothing else is holding a reference to the test. It is possible to override " +"this behavior by creating a :class:`~unittest.TestSuite` subclass that " +"defines a custom ``_removeTestAtIndex`` method. (Contributed by Tom " +"Wardill, Matt McClure, and Andrew Svetlov in :issue:`11798`.)" +msgstr "" +":class:`~unittest.TestSuite` тепер видаляє посилання на тести, щойно тест " +"було запущено, якщо тест успішний. В інтерпретаторах Python, які виконують " +"збір сміття, це дозволяє тестам збиратися як сміття, якщо ніщо інше не " +"містить посилання на тест. Цю поведінку можна перевизначити, створивши " +"підклас :class:`~unittest.TestSuite`, який визначає спеціальний метод " +"``_removeTestAtIndex``. (Надано Томом Уорділлом, Метом МакКлуром та Ендрю " +"Свєтловим у :issue:`11798`.)" + +msgid "" +"A new test assertion context-manager, :meth:`~unittest.TestCase.assertLogs`, " +"will ensure that a given block of code emits a log message using the :mod:" +"`logging` module. By default the message can come from any logger and have " +"a priority of ``INFO`` or higher, but both the logger name and an " +"alternative minimum logging level may be specified. The object returned by " +"the context manager can be queried for the :class:`~logging.LogRecord`\\ s " +"and/or formatted messages that were logged. (Contributed by Antoine Pitrou " +"in :issue:`18937`.)" +msgstr "" +"Новий контекстний менеджер тестових тверджень, :meth:`~unittest.TestCase." +"assertLogs`, гарантує, що певний блок коду видає повідомлення журналу за " +"допомогою модуля :mod:`logging`. За замовчуванням повідомлення може " +"надходити з будь-якого реєстратора та мати пріоритет ``INFO`` або вищий, але " +"можна вказати як назву реєстратора, так і альтернативний мінімальний рівень " +"журналювання. Об’єкт, повернутий контекстним менеджером, може бути запитаний " +"для :class:`~logging.LogRecord`\\ s та/або відформатованих повідомлень, які " +"були зареєстровані. (Надав Антуан Пітру в :issue:`18937`.)" + +msgid "" +"Test discovery now works with namespace packages (Contributed by Claudiu " +"Popa in :issue:`17457`.)" +msgstr "" +"Тестове виявлення тепер працює з пакетами простору імен (надано Клаудіу " +"Попою в :issue:`17457`.)" + +msgid "" +":mod:`unittest.mock` objects now inspect their specification signatures when " +"matching calls, which means an argument can now be matched by either " +"position or name, instead of only by position. (Contributed by Antoine " +"Pitrou in :issue:`17015`.)" +msgstr "" +"Об’єкти :mod:`unittest.mock` тепер перевіряють свої сигнатури специфікації " +"під час відповідних викликів, що означає, що аргумент тепер може бути " +"зіставлений або за позицією, або за назвою, а не лише за позицією. (Надав " +"Антуан Пітру в :issue:`17015`.)" + +msgid "" +":func:`~mock.mock_open` objects now have ``readline`` and ``readlines`` " +"methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)" +msgstr "" +":func:`~mock.mock_open` об’єкти тепер мають методи ``readline`` і " +"``readlines``. (Надав Тошіо Куратомі в :issue:`17467`.)" + +msgid "venv" +msgstr "venv" + +msgid "" +":mod:`venv` now includes activation scripts for the ``csh`` and ``fish`` " +"shells. (Contributed by Andrew Svetlov in :issue:`15417`.)" +msgstr "" +":mod:`venv` тепер містить скрипти активації для оболонок ``csh`` і ``fish``. " +"(Надав Ендрю Свєтлов у :issue:`15417`.)" + +msgid "" +":class:`~venv.EnvBuilder` and the :func:`~venv.create` convenience function " +"take a new keyword argument *with_pip*, which defaults to ``False``, that " +"controls whether or not :class:`~venv.EnvBuilder` ensures that ``pip`` is " +"installed in the virtual environment. (Contributed by Nick Coghlan in :" +"issue:`19552` as part of the :pep:`453` implementation.)" +msgstr "" +":class:`~venv.EnvBuilder` і функція зручності :func:`~venv.create` приймають " +"новий аргумент ключового слова *with_pip*, який за замовчуванням має " +"значення ``False``, який контролює, чи :class:`~venv.EnvBuilder` гарантує, " +"що pip встановлено у віртуальному середовищі. (Надано Ніком Когланом у :" +"issue:`19552` як частину реалізації :pep:`453`.)" + +msgid "wave" +msgstr "хвиля" + +msgid "" +"The :meth:`~wave.getparams` method now returns a namedtuple rather than a " +"plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)" +msgstr "" +"Метод :meth:`~wave.getparams` тепер повертає іменований кортеж, а не " +"звичайний кортеж. (Надав Клаудіу Попа в :issue:`17487`.)" + +msgid "" +":meth:`wave.open` now supports the context management protocol. " +"(Contributed by Claudiu Popa in :issue:`17616`.)" +msgstr "" +":meth:`wave.open` тепер підтримує протокол керування контекстом. (Надав " +"Клаудіу Попа в :issue:`17616`.)" + +msgid "" +":mod:`wave` can now :ref:`write output to unseekable files `. (Contributed by David Jones, Guilherme Polo, and Serhiy " +"Storchaka in :issue:`5202`.)" +msgstr "" +":mod:`wave` тепер може :ref:`записувати вихідні дані у файли, які неможливо " +"шукати `. (Надано Девідом Джонсом, Гільєрме Поло та " +"Сергієм Сторчакою в :issue:`5202`.)" + +msgid "" +"The :meth:`~wave.Wave_write.writeframesraw` and :meth:`~wave.Wave_write." +"writeframes` methods now accept any :term:`bytes-like object`. (Contributed " +"by Serhiy Storchaka in :issue:`8311`.)" +msgstr "" +"Методи :meth:`~wave.Wave_write.writeframesraw` і :meth:`~wave.Wave_write." +"writeframes` тепер приймають будь-які :term:`bytes-like object`. (Надав " +"Сергій Сторчака в :issue:`8311`.)" + +msgid "weakref" +msgstr "слабкий реф" + +msgid "" +"New :class:`~weakref.WeakMethod` class simulates weak references to bound " +"methods. (Contributed by Antoine Pitrou in :issue:`14631`.)" +msgstr "" +"Новий клас :class:`~weakref.WeakMethod` моделює слабкі посилання на зв’язані " +"методи. (Надав Антуан Пітру в :issue:`14631`.)" + +msgid "" +"New :class:`~weakref.finalize` class makes it possible to register a " +"callback to be invoked when an object is garbage collected, without needing " +"to carefully manage the lifecycle of the weak reference itself. " +"(Contributed by Richard Oudkerk in :issue:`15528`.)" +msgstr "" +"Новий клас :class:`~weakref.finalize` дає змогу зареєструвати зворотний " +"виклик, який буде викликаний, коли об’єкт збирається сміттям, без " +"необхідності ретельно керувати життєвим циклом самого слабкого посилання. " +"(Надав Річард Оудкерк у :issue:`15528`.)" + +msgid "" +"The callback, if any, associated with a :class:`~weakref.ref` is now exposed " +"via the :attr:`~weakref.ref.__callback__` attribute. (Contributed by Mark " +"Dickinson in :issue:`17643`.)" +msgstr "" +"Зворотний виклик, якщо такий є, пов’язаний із :class:`~weakref.ref`, тепер " +"доступний через атрибут :attr:`~weakref.ref.__callback__`. (Надав Марк " +"Дікінсон у :issue:`17643`.)" + +msgid "xml.etree" +msgstr "xml.etree" + +msgid "" +"A new parser, :class:`~xml.etree.ElementTree.XMLPullParser`, allows a non-" +"blocking applications to parse XML documents. An example can be seen at :" +"ref:`elementtree-pull-parsing`. (Contributed by Antoine Pitrou in :issue:" +"`17741`.)" +msgstr "" +"Новий парсер, :class:`~xml.etree.ElementTree.XMLPullParser`, дозволяє " +"неблокуючим програмам аналізувати XML-документи. Приклад можна побачити на :" +"ref:`elementtree-pull-parsing`. (Надав Антуан Пітру в :issue:`17741`.)" + +msgid "" +"The :mod:`xml.etree.ElementTree` :func:`~xml.etree.ElementTree.tostring` " +"and :func:`~xml.etree.ElementTree.tostringlist` functions, and the :class:" +"`~xml.etree.ElementTree.ElementTree` :meth:`~xml.etree.ElementTree." +"ElementTree.write` method, now have a *short_empty_elements* :ref:`keyword-" +"only parameter ` providing control over whether " +"elements with no content are written in abbreviated (````) or " +"expanded (````) form. (Contributed by Ariel Poliak and Serhiy " +"Storchaka in :issue:`14377`.)" +msgstr "" +"Функції :mod:`xml.etree.ElementTree` :func:`~xml.etree.ElementTree.tostring` " +"і :func:`~xml.etree.ElementTree.tostringlist`, а також :class:`~xml.etree ." +"ElementTree.ElementTree` :meth:`~xml.etree.ElementTree.ElementTree.write` " +"метод, тепер має *short_empty_elements* :ref:`ключовий параметр `, що забезпечує контроль над тим, чи елементи без вмісту " +"записуються скорочено (````) або розгорнуту (`` ``) форму. " +"(Надано Аріелем Поляком і Сергієм Сторчакою в :issue:`14377`.)" + +msgid "zipfile" +msgstr "zip-файл" + +msgid "" +"The :meth:`~zipfile.PyZipFile.writepy` method of the :class:`~zipfile." +"PyZipFile` class has a new *filterfunc* option that can be used to control " +"which directories and files are added to the archive. For example, this " +"could be used to exclude test files from the archive. (Contributed by " +"Christian Tismer in :issue:`19274`.)" +msgstr "" +"Метод :meth:`~zipfile.PyZipFile.writepy` класу :class:`~zipfile.PyZipFile` " +"має нову опцію *filterfunc*, за допомогою якої можна контролювати, які " +"каталоги та файли додаються до архіву. Наприклад, це можна використовувати " +"для виключення тестових файлів з архіву. (Надав Крістіан Тісмер у :issue:" +"`19274`.)" + +msgid "" +"The *allowZip64* parameter to :class:`~zipfile.ZipFile` and :class:`~zipfile." +"PyZipfile` is now ``True`` by default. (Contributed by William Mallard in :" +"issue:`17201`.)" +msgstr "" +"Параметр *allowZip64* для :class:`~zipfile.ZipFile` і :class:`~zipfile." +"PyZipfile` тепер має значення ``True`` за замовчуванням. (Надав Вільям " +"Маллард у :issue:`17201`.)" + +msgid "CPython Implementation Changes" +msgstr "Зміни реалізації CPython" + +msgid "PEP 445: Customization of CPython Memory Allocators" +msgstr "PEP 445: Налаштування розподілювачів пам’яті CPython" + +msgid "" +":pep:`445` adds new C level interfaces to customize memory allocation in the " +"CPython interpreter." +msgstr "" +":pep:`445` додає нові інтерфейси рівня C для налаштування розподілу пам’яті " +"в інтерпретаторі CPython." + +msgid ":pep:`445` -- Add new APIs to customize Python memory allocators" +msgstr "" +":pep:`445` -- Додайте нові API для налаштування розподільників пам’яті Python" + +msgid "PEP 442: Safe Object Finalization" +msgstr "PEP 442: Завершення безпечного об’єкта" + +msgid "" +":pep:`442` removes the current limitations and quirks of object finalization " +"in CPython. With it, objects with :meth:`__del__` methods, as well as " +"generators with :keyword:`finally` clauses, can be finalized when they are " +"part of a reference cycle." +msgstr "" +":pep:`442` усуває поточні обмеження та особливості фіналізації об’єктів у " +"CPython. З його допомогою об’єкти з методами :meth:`__del__`, а також " +"генератори з пропозиціями :keyword:`finally` можуть бути завершені, коли " +"вони є частиною еталонного циклу." + +msgid "" +"As part of this change, module globals are no longer forcibly set to :const:" +"`None` during interpreter shutdown in most cases, instead relying on the " +"normal operation of the cyclic garbage collector. This avoids a whole class " +"of interpreter-shutdown-time errors, usually involving ``__del__`` methods, " +"that have plagued Python since the cyclic GC was first introduced." +msgstr "" +"У рамках цієї зміни глобальні модулі більше не примусово встановлюються на :" +"const:`None` під час завершення роботи інтерпретатора в більшості випадків, " +"натомість покладаються на звичайну роботу циклічного збирача сміття. Це " +"дозволяє уникнути цілого класу помилок під час вимкнення інтерпретатора, які " +"зазвичай стосуються методів ``__del__``, які мучать Python з моменту " +"введення циклічного GC." + +msgid ":pep:`442` -- Safe object finalization" +msgstr ":pep:`442` -- Безпечна фіналізація об'єкта" + +msgid "PEP 456: Secure and Interchangeable Hash Algorithm" +msgstr "PEP 456: Безпечний і взаємозамінний хеш-алгоритм" + +msgid "" +":pep:`456` follows up on earlier security fix work done on Python's hash " +"algorithm to address certain DOS attacks to which public facing APIs backed " +"by dictionary lookups may be subject. (See :issue:`14621` for the start of " +"the current round of improvements.) The PEP unifies CPython's hash code to " +"make it easier for a packager to substitute a different hash algorithm, and " +"switches Python's default implementation to a SipHash implementation on " +"platforms that have a 64 bit data type. Any performance differences in " +"comparison with the older FNV algorithm are trivial." +msgstr "" +":pep:`456` є продовженням попередньої роботи з виправлення безпеки, " +"виконаної в алгоритмі гешування Python для вирішення певних атак DOS, яким " +"можуть піддаватися публічні API, що підтримуються пошуком у словнику. (Див. :" +"issue:`14621` для початку поточного раунду вдосконалень.) PEP уніфікує хеш-" +"код CPython, щоб полегшити пакувальнику заміну іншого алгоритму хешування, і " +"змінює реалізацію Python за замовчуванням на реалізацію SipHash на " +"платформах які мають 64-бітний тип даних. Будь-які відмінності в " +"продуктивності порівняно зі старим алгоритмом FNV незначні." + +msgid "" +"The PEP adds additional fields to the :attr:`sys.hash_info` named tuple to " +"describe the hash algorithm in use by the currently executing binary. " +"Otherwise, the PEP does not alter any existing CPython APIs." +msgstr "" +"PEP додає додаткові поля до іменованого кортежу :attr:`sys.hash_info` для " +"опису алгоритму хешування, який використовується двійковим файлом, що " +"виконується наразі. В іншому випадку PEP не змінює існуючі API CPython." + +msgid "PEP 436: Argument Clinic" +msgstr "PEP 436: Клініка аргументів" + +msgid "" +"\"Argument Clinic\" (:pep:`436`) is now part of the CPython build process " +"and can be used to simplify the process of defining and maintaining accurate " +"signatures for builtins and standard library extension modules implemented " +"in C." +msgstr "" +"\"Argument Clinic\" (:pep:`436`) тепер є частиною процесу збирання CPython і " +"може використовуватися для спрощення процесу визначення та підтримки точних " +"підписів для вбудованих модулів і стандартних модулів розширення бібліотеки, " +"реалізованих у C." + +msgid "" +"Some standard library extension modules have been converted to use Argument " +"Clinic in Python 3.4, and :mod:`pydoc` and :mod:`inspect` have been updated " +"accordingly." +msgstr "" +"Деякі стандартні модулі розширення бібліотеки було перетворено на " +"використання Argument Clinic у Python 3.4, а :mod:`pydoc` і :mod:`inspect` " +"були відповідно оновлені." + +msgid "" +"It is expected that signature metadata for programmatic introspection will " +"be added to additional callables implemented in C as part of Python 3.4 " +"maintenance releases." +msgstr "" +"Очікується, що метадані підпису для програмної інтроспекції будуть додані до " +"додаткових викликів, реалізованих у C, як частина випусків обслуговування " +"Python 3.4." + +msgid "" +"The Argument Clinic PEP is not fully up to date with the state of the " +"implementation. This has been deemed acceptable by the release manager and " +"core development team in this case, as Argument Clinic will not be made " +"available as a public API for third party use in Python 3.4." +msgstr "" +"PEP клініки Argument не повністю оновлює стан впровадження. Менеджер випуску " +"та основна команда розробників визнали це прийнятним у цьому випадку, " +"оскільки Argument Clinic не буде доступним як загальнодоступний API для " +"використання третьою стороною в Python 3.4." + +msgid ":pep:`436` -- The Argument Clinic DSL" +msgstr ":pep:`436` -- The Argument Clinic DSL" + +msgid "PEP written and implemented by Larry Hastings." +msgstr "PEP написаний і реалізований Ларрі Гастінгсом." + +msgid "Other Build and C API Changes" +msgstr "Інші зміни збірки та C API" + +msgid "" +"The new :c:func:`PyType_GetSlot` function has been added to the stable ABI, " +"allowing retrieval of function pointers from named type slots when using the " +"limited API. (Contributed by Martin von Löwis in :issue:`17162`.)" +msgstr "" +"Нову функцію :c:func:`PyType_GetSlot` додано до стабільного ABI, що дозволяє " +"отримувати покажчики функцій із слотів іменованих типів під час використання " +"обмеженого API. (Надано Мартіном фон Льовісом у :issue:`17162`.)" + +msgid "" +"The new :c:func:`Py_SetStandardStreamEncoding` pre-initialization API allows " +"applications embedding the CPython interpreter to reliably force a " +"particular encoding and error handler for the standard streams. (Contributed " +"by Bastien Montagne and Nick Coghlan in :issue:`16129`.)" +msgstr "" +"Новий API попередньої ініціалізації :c:func:`Py_SetStandardStreamEncoding` " +"дозволяє програмам, які вбудовують інтерпретатор CPython, надійно примусово " +"застосовувати певне кодування та обробник помилок для стандартних потоків. " +"(Надано Бастьєном Монтанем і Ніком Когланом у :issue:`16129`.)" + +msgid "" +"Most Python C APIs that don't mutate string arguments are now correctly " +"marked as accepting ``const char *`` rather than ``char *``. (Contributed " +"by Serhiy Storchaka in :issue:`1772673`.)" +msgstr "" +"Більшість Python C API, які не змінюють рядкові аргументи, тепер правильно " +"позначені як такі, що приймають ``const char *``, а не ``char *``. (Надав " +"Сергій Сторчака в :issue:`1772673`.)" + +msgid "" +"A new shell version of ``python-config`` can be used even when a python " +"interpreter is not available (for example, in cross compilation scenarios)." +msgstr "" +"Нову версію оболонки ``python-config`` можна використовувати, навіть якщо " +"інтерпретатор python недоступний (наприклад, у сценаріях крос-компіляції)." + +msgid "" +":c:func:`PyUnicode_FromFormat` now supports width and precision " +"specifications for ``%s``, ``%A``, ``%U``, ``%V``, ``%S``, and ``%R``. " +"(Contributed by Ysj Ray and Victor Stinner in :issue:`7330`.)" +msgstr "" +":c:func:`PyUnicode_FromFormat` тепер підтримує специфікації ширини та " +"точності для ``%s``, ``%A``, ``%U``, ``%V``, ``%S`` і ``%R``. (Надано Ysj " +"Ray і Victor Stinner у :issue:`7330`.)" + +msgid "" +"New function :c:func:`PyStructSequence_InitType2` supplements the existing :" +"c:func:`PyStructSequence_InitType` function. The difference is that it " +"returns ``0`` on success and ``-1`` on failure." +msgstr "" +"Нова функція :c:func:`PyStructSequence_InitType2` доповнює існуючу функцію :" +"c:func:`PyStructSequence_InitType`. Різниця полягає в тому, що він повертає " +"``0`` у разі успіху та ``-1`` у випадку невдачі." + +msgid "" +"The CPython source can now be compiled using the address sanity checking " +"features of recent versions of GCC and clang: the false alarms in the small " +"object allocator have been silenced. (Contributed by Dhiru Kholia in :issue:" +"`18596`.)" +msgstr "" +"Вихідний код CPython тепер можна скомпілювати за допомогою функцій перевірки " +"працездатності адрес останніх версій GCC і clang: помилкові тривоги в " +"розподільнику невеликих об’єктів було вимкнуто. (Надано Dhiru Kholia в :" +"issue:`18596`.)" + +msgid "" +"The Windows build now uses `Address Space Layout Randomization `_ and `Data Execution " +"Prevention `_. " +"(Contributed by Christian Heimes in :issue:`16632`.)" +msgstr "" +"У збірці Windows тепер використовуються `Address Space Layout Randomization " +"`_ і `Data " +"Execution Prevention `_. (Надав Крістіан Хеймс у :issue:`16632`.)" + +msgid "" +"New function :c:func:`PyObject_LengthHint` is the C API equivalent of :func:" +"`operator.length_hint`. (Contributed by Armin Ronacher in :issue:`16148`.)" +msgstr "" +"Нова функція :c:func:`PyObject_LengthHint` є еквівалентом C API :func:" +"`operator.length_hint`. (Надав Армін Роначер у :issue:`16148`.)" + +msgid "Other Improvements" +msgstr "Інші вдосконалення" + +msgid "" +"The :ref:`python ` command has a new :ref:`option `, ``-I``, which causes it to run in \"isolated mode\", " +"which means that :data:`sys.path` contains neither the script's directory " +"nor the user's ``site-packages`` directory, and all :envvar:`PYTHON*` " +"environment variables are ignored (it implies both ``-s`` and ``-E``). " +"Other restrictions may also be applied in the future, with the goal being to " +"isolate the execution of a script from the user's environment. This is " +"appropriate, for example, when Python is used to run a system script. On " +"most POSIX systems it can and should be used in the ``#!`` line of system " +"scripts. (Contributed by Christian Heimes in :issue:`16499`.)" +msgstr "" +"Команда :ref:`python ` має нову :ref:`опцію `, ``-I``, яка змушує її працювати в \"ізольованому режимі\", що " +"означає, що :data:`sys.path` містить ані каталог сценарію, ані каталог " +"``site-packages`` користувача, а також усі змінні середовища :envvar:" +"`PYTHON*` ігноруються (це означає як ``-s``, так і ``-E``). Інші обмеження " +"також можуть бути застосовані в майбутньому з метою ізоляції виконання " +"сценарію від середовища користувача. Це доречно, наприклад, коли Python " +"використовується для запуску системного сценарію. У більшості систем POSIX " +"його можна і потрібно використовувати в рядку ``#!`` системних сценаріїв. " +"(Надав Крістіан Хеймс у :issue:`16499`.)" + +msgid "" +"Tab-completion is now enabled by default in the interactive interpreter on " +"systems that support :mod:`readline`. History is also enabled by default, " +"and is written to (and read from) the file :file:`~/.python-history`. " +"(Contributed by Antoine Pitrou and Éric Araujo in :issue:`5845`.)" +msgstr "" +"Завершення табуляції тепер увімкнено за замовчуванням в інтерактивному " +"інтерпретаторі в системах, які підтримують :mod:`readline`. Історія також " +"увімкнена за замовчуванням і записується (і зчитується) у файл :file:`~/." +"python-history`. (Надано Антуаном Пітру та Еріком Араужо в :issue:`5845`.)" + +msgid "" +"Invoking the Python interpreter with ``--version`` now outputs the version " +"to standard output instead of standard error (:issue:`18338`). Similar " +"changes were made to :mod:`argparse` (:issue:`18920`) and other modules that " +"have script-like invocation capabilities (:issue:`18922`)." +msgstr "" +"Виклик інтерпретатора Python за допомогою ``--version`` тепер виводить " +"версію на стандартний вивід замість стандартної помилки (:issue:`18338`). " +"Подібні зміни було внесено до :mod:`argparse` (:issue:`18920`) та інших " +"модулів, які мають можливості виклику, подібні до сценарію (:issue:`18922`)." + +msgid "" +"The CPython Windows installer now adds ``.py`` to the :envvar:`PATHEXT` " +"variable when extensions are registered, allowing users to run a python " +"script at the windows command prompt by just typing its name without the ``." +"py`` extension. (Contributed by Paul Moore in :issue:`18569`.)" +msgstr "" +"Інсталятор CPython Windows тепер додає ``.py`` до змінної :envvar:`PATHEXT`, " +"коли зареєстровано розширення, дозволяючи користувачам запускати сценарій " +"python у командному рядку Windows, просто ввівши його назву без ``.py`` " +"розширення. (Надав Пол Мур у :issue:`18569`.)" + +msgid "" +"A new ``make`` target `coverage-report `_ will build python, run " +"the test suite, and generate an HTML coverage report for the C codebase " +"using ``gcov`` and `lcov `_." +msgstr "" + +msgid "" +"The ``-R`` option to the :ref:`python regression test suite ` now " +"also checks for memory allocation leaks, using :func:`sys." +"getallocatedblocks()`. (Contributed by Antoine Pitrou in :issue:`13390`.)" +msgstr "" +"Параметр ``-R`` для :ref:`набору регресійних тестів python ` тепер " +"також перевіряє наявність витоків розподілу пам’яті за допомогою :func:`sys." +"getallocatedblocks()`. (Надав Антуан Пітру в :issue:`13390`.)" + +msgid "``python -m`` now works with namespace packages." +msgstr "``python -m`` тепер працює з пакетами простору імен." + +msgid "" +"The :mod:`stat` module is now implemented in C, which means it gets the " +"values for its constants from the C header files, instead of having the " +"values hard-coded in the python module as was previously the case." +msgstr "" +"Модуль :mod:`stat` тепер реалізовано в C, що означає, що він отримує " +"значення для своїх констант із файлів заголовків C замість того, щоб мати " +"жорстко закодовані значення в модулі python, як це було раніше." + +msgid "" +"Loading multiple python modules from a single OS module (``.so``, ``.dll``) " +"now works correctly (previously it silently returned the first python module " +"in the file). (Contributed by Václav Šmilauer in :issue:`16421`.)" +msgstr "" +"Завантаження кількох модулів python з одного модуля ОС (``.so``, ``.dll``) " +"тепер працює правильно (раніше він мовчки повертав перший модуль python у " +"файлі). (Надав Вацлав Шмілауер у :issue:`16421`.)" + +msgid "" +"A new opcode, :opcode:`LOAD_CLASSDEREF`, has been added to fix a bug in the " +"loading of free variables in class bodies that could be triggered by certain " +"uses of :ref:`__prepare__ `. (Contributed by Benjamin Peterson in :" +"issue:`17853`.)" +msgstr "" +"Додано новий код операції, :opcode:`LOAD_CLASSDEREF`, щоб виправити помилку " +"під час завантаження вільних змінних у тілах класів, яка могла бути " +"викликана певним використанням :ref:`__prepare__ `. (Надав " +"Бенджамін Петерсон у :issue:`17853`.)" + +msgid "" +"A number of MemoryError-related crashes were identified and fixed by Victor " +"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool (:issue:`18408`, :" +"issue:`18520`)." +msgstr "" +"Кілька збоїв, пов’язаних із MemoryError, було виявлено та виправлено " +"Віктором Стіннером за допомогою його інструменту ``pyfailmalloc`` на основі :" +"pep:`445` (:issue:`18408`, :issue:`18520`)." + +msgid "" +"The ``pyvenv`` command now accepts a ``--copies`` option to use copies " +"rather than symlinks even on systems where symlinks are the default. " +"(Contributed by Vinay Sajip in :issue:`18807`.)" +msgstr "" +"Команда ``pyvenv`` тепер приймає опцію ``--copies`` для використання копій " +"замість символічних посилань навіть у системах, де символічні посилання є " +"типовими. (Надав Віней Саджип у :issue:`18807`.)" + +msgid "" +"The ``pyvenv`` command also accepts a ``--without-pip`` option to suppress " +"the otherwise-automatic bootstrapping of pip into the virtual environment. " +"(Contributed by Nick Coghlan in :issue:`19552` as part of the :pep:`453` " +"implementation.)" +msgstr "" +"Команда ``pyvenv`` також приймає опцію ``--without-pip``, щоб придушити " +"автоматичне завантаження pip у віртуальне середовище. (Надано Ніком Когланом " +"у :issue:`19552` як частину реалізації :pep:`453`.)" + +msgid "" +"The encoding name is now optional in the value set for the :envvar:" +"`PYTHONIOENCODING` environment variable. This makes it possible to set just " +"the error handler, without changing the default encoding. (Contributed by " +"Serhiy Storchaka in :issue:`18818`.)" +msgstr "" +"Назва кодування тепер є необов’язковою для значення, установленого для " +"змінної середовища :envvar:`PYTHONIOENCODING`. Це дає змогу встановити лише " +"обробник помилок, не змінюючи стандартне кодування. (Надав Сергій Сторчака " +"в :issue:`18818`.)" + +msgid "" +"The :mod:`bz2`, :mod:`lzma`, and :mod:`gzip` module ``open`` functions now " +"support ``x`` (exclusive creation) mode. (Contributed by Tim Heaney and " +"Vajrasky Kok in :issue:`19201`, :issue:`19222`, and :issue:`19223`.)" +msgstr "" +"Функції ``open`` модуля :mod:`bz2`, :mod:`lzma` і :mod:`gzip` тепер " +"підтримують режим ``x`` (ексклюзивне створення). (Надано Тімом Хіні та " +"Ваджраскі Коком у :issue:`19201`, :issue:`19222` та :issue:`19223`.)" + +msgid "Significant Optimizations" +msgstr "Значні оптимізації" + +msgid "" +"The UTF-32 decoder is now 3x to 4x faster. (Contributed by Serhiy Storchaka " +"in :issue:`14625`.)" +msgstr "" +"Декодер UTF-32 тепер у 3-4 рази швидший. (Надав Сергій Сторчака в :issue:" +"`14625`.)" + +msgid "" +"The cost of hash collisions for sets is now reduced. Each hash table probe " +"now checks a series of consecutive, adjacent key/hash pairs before " +"continuing to make random probes through the hash table. This exploits " +"cache locality to make collision resolution less expensive. The collision " +"resolution scheme can be described as a hybrid of linear probing and open " +"addressing. The number of additional linear probes defaults to nine. This " +"can be changed at compile-time by defining LINEAR_PROBES to be any value. " +"Set LINEAR_PROBES=0 to turn-off linear probing entirely. (Contributed by " +"Raymond Hettinger in :issue:`18771`.)" +msgstr "" +"Вартість хеш-колізій для наборів тепер зменшена. Кожен зонд хеш-таблиці " +"тепер перевіряє серію послідовних суміжних пар ключ/хеш, перш ніж " +"продовжувати робити випадкові зонди через хеш-таблицю. Це використовує " +"локальність кешу, щоб зробити вирішення колізій менш дорогим. Схему " +"вирішення колізій можна описати як гібрид лінійного зондування та відкритої " +"адресації. Кількість додаткових лінійних зондів за замовчуванням становить " +"дев'ять. Це можна змінити під час компіляції, визначивши LINEAR_PROBES будь-" +"яким значенням. Встановіть LINEAR_PROBES=0, щоб повністю вимкнути лінійне " +"зондування. (Надав Реймонд Геттінгер у :issue:`18771`.)" + +msgid "" +"The interpreter starts about 30% faster. A couple of measures lead to the " +"speedup. The interpreter loads fewer modules on startup, e.g. the :mod:" +"`re`, :mod:`collections` and :mod:`locale` modules and their dependencies " +"are no longer imported by default. The marshal module has been improved to " +"load compiled Python code faster. (Contributed by Antoine Pitrou, Christian " +"Heimes and Victor Stinner in :issue:`19219`, :issue:`19218`, :issue:" +"`19209`, :issue:`19205` and :issue:`9548`.)" +msgstr "" +"Інтерпретатор запускається приблизно на 30% швидше. Кілька заходів " +"призводять до прискорення. Інтерпретатор завантажує менше модулів під час " +"запуску, напр. модулі :mod:`re`, :mod:`collections` і :mod:`locale` та їхні " +"залежності більше не імпортуються за замовчуванням. Модуль marshal було " +"покращено, щоб швидше завантажувати скомпільований код Python. (Надано " +"Антуаном Пітру, Крістіаном Хеймсом і Віктором Стіннером у :issue:`19219`, :" +"issue:`19218`, :issue:`19209`, :issue:`19205` і :issue:`9548`.)" + +msgid "" +":class:`bz2.BZ2File` is now as fast or faster than the Python2 version for " +"most cases. :class:`lzma.LZMAFile` has also been optimized. (Contributed " +"by Serhiy Storchaka and Nadeem Vawda in :issue:`16034`.)" +msgstr "" +":class:`bz2.BZ2File` тепер такий же або швидший, ніж версія Python2 у " +"більшості випадків. :class:`lzma.LZMAFile` також було оптимізовано. (Надано " +"Сергієм Сторчакою та Надімом Вавдою в :issue:`16034`.)" + +msgid "" +":func:`random.getrandbits` is 20%-40% faster for small integers (the most " +"common use case). (Contributed by Serhiy Storchaka in :issue:`16674`.)" +msgstr "" +":func:`random.getrandbits` на 20%-40% швидше для малих цілих чисел " +"(найпоширеніший варіант використання). (Надав Сергій Сторчака в :issue:" +"`16674`.)" + +msgid "" +"By taking advantage of the new storage format for strings, pickling of " +"strings is now significantly faster. (Contributed by Victor Stinner and " +"Antoine Pitrou in :issue:`15596`.)" +msgstr "" +"Використовуючи переваги нового формату зберігання струн, декаплювання струн " +"тепер відбувається значно швидше. (Надано Віктором Стіннером і Антуаном " +"Пітру в :issue:`15596`.)" + +msgid "" +"A performance issue in :meth:`io.FileIO.readall` has been solved. This " +"particularly affects Windows, and significantly speeds up the case of piping " +"significant amounts of data through :mod:`subprocess`. (Contributed by " +"Richard Oudkerk in :issue:`15758`.)" +msgstr "" +"Проблему продуктивності в :meth:`io.FileIO.readall` було вирішено. Це " +"особливо впливає на Windows і значно прискорює передачу значної кількості " +"даних через :mod:`subprocess`. (Надав Річард Оудкерк у :issue:`15758`.)" + +msgid "" +":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant in :" +"issue:`18020`.)" +msgstr "" +":func:`html.escape` тепер у 10 разів швидший. (Надав Метт Брайант у :issue:" +"`18020`.)" + +msgid "" +"On Windows, the native ``VirtualAlloc`` is now used instead of the CRT " +"``malloc`` in ``obmalloc``. Artificial benchmarks show about a 3% memory " +"savings." +msgstr "" +"У Windows рідний ``VirtualAlloc`` тепер використовується замість CRT " +"``malloc`` в ``obmalloc``. Штучні бенчмарки показують близько 3% економії " +"пам'яті." + +msgid "" +":func:`os.urandom` now uses a lazily opened persistent file descriptor so as " +"to avoid using many file descriptors when run in parallel from multiple " +"threads. (Contributed by Antoine Pitrou in :issue:`18756`.)" +msgstr "" + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "" +"This section covers various APIs and other features that have been " +"deprecated in Python 3.4, and will be removed in Python 3.5 or later. In " +"most (but not all) cases, using the deprecated APIs will produce a :exc:" +"`DeprecationWarning` when the interpreter is run with deprecation warnings " +"enabled (for example, by using ``-Wd``)." +msgstr "" +"Цей розділ охоплює різні API та інші функції, які застаріли в Python 3.4 і " +"будуть видалені в Python 3.5 або пізнішої версії. У більшості (але не у " +"всіх) випадках використання застарілих API призведе до появи :exc:" +"`DeprecationWarning`, коли інтерпретатор запускається з увімкненими " +"попередженнями про застаріле (наприклад, за допомогою ``-Wd``)." + +msgid "Deprecations in the Python API" +msgstr "Застарілі API Python" + +msgid "" +"As mentioned in :ref:`whatsnew-pep-451`, a number of :mod:`importlib` " +"methods and functions are deprecated: :meth:`importlib.find_loader` is " +"replaced by :func:`importlib.util.find_spec`; :meth:`importlib.machinery." +"PathFinder.find_module` is replaced by :meth:`importlib.machinery.PathFinder." +"find_spec`; :meth:`importlib.abc.MetaPathFinder.find_module` is replaced by :" +"meth:`importlib.abc.MetaPathFinder.find_spec`; :meth:`importlib.abc." +"PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." +"find_module` are replaced by :meth:`importlib.abc.PathEntryFinder." +"find_spec`; all of the ``xxxLoader`` ABC ``load_module`` methods (:meth:" +"`importlib.abc.Loader.load_module`, :meth:`importlib.abc.InspectLoader." +"load_module`, :meth:`importlib.abc.FileLoader.load_module`, :meth:`importlib." +"abc.SourceLoader.load_module`) should no longer be implemented, instead " +"loaders should implement an ``exec_module`` method (:meth:`importlib.abc." +"Loader.exec_module`, :meth:`importlib.abc.InspectLoader.exec_module` :meth:" +"`importlib.abc.SourceLoader.exec_module`) and let the import system take " +"care of the rest; and :meth:`importlib.abc.Loader.module_repr`, :meth:" +"`importlib.util.module_for_loader`, :meth:`importlib.util.set_loader`, and :" +"meth:`importlib.util.set_package` are no longer needed because their " +"functions are now handled automatically by the import system." +msgstr "" +"Як зазначено в :ref:`whatsnew-pep-451`, низка методів і функцій :mod:" +"`importlib` застаріла: :meth:`importlib.find_loader` замінено на :func:" +"`importlib.util.find_spec` ; :meth:`importlib.machinery.PathFinder." +"find_module` замінено на :meth:`importlib.machinery.PathFinder.find_spec`; :" +"meth:`importlib.abc.MetaPathFinder.find_module` замінено на :meth:`importlib." +"abc.MetaPathFinder.find_spec`; :meth:`importlib.abc.PathEntryFinder." +"find_loader` і :meth:`~importlib.abc.PathEntryFinder.find_module` замінено " +"на :meth:`importlib.abc.PathEntryFinder.find_spec`; усі методи ``xxxLoader`` " +"ABC ``load_module`` (:meth:`importlib.abc.Loader.load_module`, :meth:" +"`importlib.abc.InspectLoader.load_module`, :meth:`importlib.abc. FileLoader." +"load_module`, :meth:`importlib.abc.SourceLoader.load_module`) більше не слід " +"реалізовувати, натомість завантажувачі мають реалізовувати метод " +"``exec_module`` (:meth:`importlib.abc.Loader.exec_module`, :meth:`importlib." +"abc.InspectLoader.exec_module` :meth:`importlib.abc.SourceLoader." +"exec_module`) і нехай система імпорту подбає про все інше; і :meth:" +"`importlib.abc.Loader.module_repr`, :meth:`importlib.util." +"module_for_loader`, :meth:`importlib.util.set_loader` і :meth:`importlib." +"util.set_package` більше не є необхідні, тому що їхні функції тепер " +"автоматично обробляються системою імпорту." + +msgid "" +"The :mod:`imp` module is pending deprecation. To keep compatibility with " +"Python 2/3 code bases, the module's removal is currently not scheduled." +msgstr "" +"Модуль :mod:`imp` очікує на припинення підтримки. Щоб зберегти сумісність із " +"кодовими базами Python 2/3, видалення модуля наразі не планується." + +msgid "" +"The :mod:`formatter` module is pending deprecation and is slated for removal " +"in Python 3.6." +msgstr "" +"Модуль :mod:`formatter` очікує на припинення підтримки та планується для " +"видалення в Python 3.6." + +msgid "" +"``MD5`` as the default *digestmod* for the :func:`hmac.new` function is " +"deprecated. Python 3.6 will require an explicit digest name or constructor " +"as *digestmod* argument." +msgstr "" +"``MD5`` як типовий *digestmod* для функції :func:`hmac.new` не " +"підтримується. Python 3.6 вимагатиме явної назви дайджесту або конструктора " +"як аргументу *digestmod*." + +msgid "" +"The internal ``Netrc`` class in the :mod:`ftplib` module has been documented " +"as deprecated in its docstring for quite some time. It now emits a :exc:" +"`DeprecationWarning` and will be removed completely in Python 3.5." +msgstr "" +"Внутрішній клас ``Netrc`` у модулі :mod:`ftplib` був задокументований як " +"застарілий у його рядку документації протягом досить тривалого часу. Тепер " +"він видає :exc:`DeprecationWarning` і буде повністю видалено в Python 3.5." + +msgid "" +"The undocumented *endtime* argument to :meth:`subprocess.Popen.wait` should " +"not have been exposed and is hopefully not in use; it is deprecated and will " +"mostly likely be removed in Python 3.5." +msgstr "" +"Недокументований аргумент *endtime* для :meth:`subprocess.Popen.wait` не мав " +"бути відкритим і, сподіваємось, не використовується; він застарів і, швидше " +"за все, буде видалений у Python 3.5." + +msgid "" +"The *strict* argument of :class:`~html.parser.HTMLParser` is deprecated." +msgstr "Аргумент *строгий* :class:`~html.parser.HTMLParser` застарів." + +msgid "" +"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib." +"writePlist`, :func:`~plistlib.readPlistFromBytes`, and :func:`~plistlib." +"writePlistToBytes` functions are deprecated in favor of the corresponding " +"new functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:" +"`~plistlib.loads`, and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is " +"deprecated in favor of just using the :class:`bytes` constructor." +msgstr "" +"Функції :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib." +"writePlist`, :func:`~plistlib.readPlistFromBytes` і :func:`~plistlib." +"writePlistToBytes` застаріли на користь відповідних нових функцій :func:" +"`~plistlib.load`, :func:`~plistlib.dump`, :func:`~plistlib.loads` і :func:" +"`~plistlib.dumps`. :func:`~plistlib.Data` застаріло на користь простого " +"використання конструктора :class:`bytes`." + +msgid "" +"The :mod:`sysconfig` key ``SO`` is deprecated, it has been replaced by " +"``EXT_SUFFIX``." +msgstr "" +"Ключ :mod:`sysconfig` ``SO`` застарів, його замінено на ``EXT_SUFFIX``." + +msgid "" +"The ``U`` mode accepted by various ``open`` functions is deprecated. In " +"Python3 it does not do anything useful, and should be replaced by " +"appropriate uses of :class:`io.TextIOWrapper` (if needed) and its *newline* " +"argument." +msgstr "" +"Режим ``U``, прийнятий різними функціями ``open``, застарів. У Python3 це не " +"робить нічого корисного, і його слід замінити відповідним використанням :" +"class:`io.TextIOWrapper` (якщо потрібно) і його аргументу *нового рядка*." + +msgid "" +"The *parser* argument of :func:`xml.etree.ElementTree.iterparse` has been " +"deprecated, as has the *html* argument of :func:`~xml.etree.ElementTree." +"XMLParser`. To prepare for the removal of the latter, all arguments to " +"``XMLParser`` should be passed by keyword." +msgstr "" +"Аргумент *parser* :func:`xml.etree.ElementTree.iterparse` не підтримується, " +"як і аргумент *html* :func:`~xml.etree.ElementTree.XMLParser`. Щоб " +"підготуватися до видалення останнього, усі аргументи ``XMLParser`` повинні " +"бути передані за ключовим словом." + +msgid "Deprecated Features" +msgstr "Застарілі функції" + +msgid "" +"Running :ref:`idle` with the ``-n`` flag (no subprocess) is deprecated. " +"However, the feature will not be removed until :issue:`18823` is resolved." +msgstr "" +"Запуск :ref:`idle` з прапором ``-n`` (без підпроцесу) застарів. Однак цю " +"функцію не буде видалено, доки не буде вирішено :issue:`18823`." + +msgid "" +"The site module adding a \"site-python\" directory to sys.path, if it " +"exists, is deprecated (:issue:`19375`)." +msgstr "" +"Модуль сайту, який додає каталог \"site-python\" до sys.path, якщо він " +"існує, вважається застарілим (:issue:`19375`)." + +msgid "Removed" +msgstr "Видалено" + +msgid "Operating Systems No Longer Supported" +msgstr "Операційні системи більше не підтримуються" + +msgid "" +"Support for the following operating systems has been removed from the source " +"and build tools:" +msgstr "" +"Підтримку таких операційних систем видалено з джерела та інструментів збірки:" + +msgid "OS/2 (:issue:`16135`)." +msgstr "OS/2 (:issue:`16135`)." + +msgid "Windows 2000 (changeset e52df05b496a)." +msgstr "Windows 2000 (набір змін e52df05b496a)." + +msgid "" +"Windows systems where ``COMSPEC`` points to ``command.com`` (:issue:`14470`)." +msgstr "" +"Системи Windows, де ``COMSPEC`` вказує на ``command.com`` (:issue:`14470`)." + +msgid "VMS (:issue:`16136`)." +msgstr "VMS (:issue:`16136`)." + +msgid "API and Feature Removals" +msgstr "Видалення API та функцій" + +msgid "" +"The following obsolete and previously deprecated APIs and features have been " +"removed:" +msgstr "" +"Наступні застарілі API та функції, які раніше не підтримувалися, видалено:" + +msgid "" +"The unmaintained ``Misc/TextMate`` and ``Misc/vim`` directories have been " +"removed (see the `devguide `_ for suggestions " +"on what to use instead)." +msgstr "" +"Непідтримувані каталоги ``Misc/TextMate`` і ``Misc/vim`` було видалено " +"(перегляньте `devguide `_, щоб дізнатися, що " +"використовувати натомість)." + +msgid "" +"The ``SO`` makefile macro is removed (it was replaced by the " +"``SHLIB_SUFFIX`` and ``EXT_SUFFIX`` macros) (:issue:`16754`)." +msgstr "" +"Макрос makefile ``SO`` видалено (його замінено макросами ``SHLIB_SUFFIX`` і " +"``EXT_SUFFIX``) (:issue:`16754`)." + +msgid "" +"The ``PyThreadState.tick_counter`` field has been removed; its value has " +"been meaningless since Python 3.2, when the \"new GIL\" was introduced (:" +"issue:`19199`)." +msgstr "" +"Поле ``PyThreadState.tick_counter`` було видалено; його значення не має " +"сенсу з Python 3.2, коли було представлено \"новий GIL\" (:issue:`19199`)." + +msgid "" +"``PyLoader`` and ``PyPycLoader`` have been removed from :mod:`importlib`. " +"(Contributed by Taras Lyapun in :issue:`15641`.)" +msgstr "" +"``PyLoader`` і ``PyPycLoader`` видалено з :mod:`importlib`. (Надав Тарас " +"Ляпун у :issue:`15641`.)" + +msgid "" +"The *strict* argument to :class:`~http.client.HTTPConnection` and :class:" +"`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style \"Simple " +"Responses\" are no longer supported." +msgstr "" +"Аргумент *строгий* для :class:`~http.client.HTTPConnection` і :class:`~http." +"client.HTTPSConnection` видалено. \"Прості відповіді\" у стилі HTTP 0.9 " +"більше не підтримуються." + +msgid "" +"The deprecated :mod:`urllib.request.Request` getter and setter methods " +"``add_data``, ``has_data``, ``get_data``, ``get_type``, ``get_host``, " +"``get_selector``, ``set_proxy``, ``get_origin_req_host``, and " +"``is_unverifiable`` have been removed (use direct attribute access instead)." +msgstr "" +"Застарілі :mod:`urllib.request.Request` методи отримання та встановлення " +"``add_data``, ``has_data``, ``get_data``, ``get_type``, ``get_host``, " +"``get_selector``, ``set_proxy``, ``get_origin_req_host`` і " +"``is_unverifiable`` були видалені (замість цього використовуйте прямий " +"доступ до атрибутів)." + +msgid "" +"Support for loading the deprecated ``TYPE_INT64`` has been removed from :mod:" +"`marshal`. (Contributed by Dan Riti in :issue:`15480`.)" +msgstr "" +"Підтримку завантаження застарілого ``TYPE_INT64`` було видалено з :mod:" +"`marshal`. (Надав Ден Ріті в :issue:`15480`.)" + +msgid "" +":class:`inspect.Signature`: positional-only parameters are now required to " +"have a valid name." +msgstr "" +":class:`inspect.Signature`: лише позиційні параметри тепер повинні мати " +"дійсне ім’я." + +msgid "" +":meth:`object.__format__` no longer accepts non-empty format strings, it now " +"raises a :exc:`TypeError` instead. Using a non-empty string has been " +"deprecated since Python 3.2. This change has been made to prevent a " +"situation where previously working (but incorrect) code would start failing " +"if an object gained a __format__ method, which means that your code may now " +"raise a :exc:`TypeError` if you are using an ``'s'`` format code with " +"objects that do not have a __format__ method that handles it. See :issue:" +"`7994` for background." +msgstr "" +":meth:`object.__format__` більше не приймає непорожні рядки формату, замість " +"цього він викликає :exc:`TypeError`. Використання непорожнього рядка " +"застаріло з Python 3.2. Цю зміну було внесено, щоб запобігти ситуації, коли " +"раніше працюючий (але неправильний) код почав виходити з ладу, якщо об’єкт " +"отримав метод __format__, що означає, що ваш код тепер може викликати :exc:" +"`TypeError`, якщо ви використовуєте Код формату ``'s'`` з об'єктами, які не " +"мають методу __format__, який його обробляє. Див. :issue:`7994` для " +"довідкової інформації." + +msgid "" +":meth:`difflib.SequenceMatcher.isbjunk` and :meth:`difflib.SequenceMatcher." +"isbpopular` were deprecated in 3.2, and have now been removed: use ``x in sm." +"bjunk`` and ``x in sm.bpopular``, where *sm* is a :class:`~difflib." +"SequenceMatcher` object (:issue:`13248`)." +msgstr "" +":meth:`difflib.SequenceMatcher.isbjunk` і :meth:`difflib.SequenceMatcher." +"isbpopular` були застарілими в 3.2, і тепер їх видалено: використовуйте ``x " +"в sm.bjunk`` і ``x в sm.bpopular``, де *sm* є об’єктом :class:`~difflib." +"SequenceMatcher` (:issue:`13248`)." + +msgid "Code Cleanups" +msgstr "Очищення коду" + +msgid "" +"The unused and undocumented internal ``Scanner`` class has been removed from " +"the :mod:`pydoc` module." +msgstr "" +"Невикористаний і недокументований внутрішній клас ``Scanner`` було видалено " +"з модуля :mod:`pydoc`." + +msgid "" +"The private and effectively unused ``_gestalt`` module has been removed, " +"along with the private :mod:`platform` functions ``_mac_ver_lookup``, " +"``_mac_ver_gstalt``, and ``_bcd2str``, which would only have ever been " +"called on badly broken OSX systems (see :issue:`18393`)." +msgstr "" +"Приватний і фактично невикористаний модуль ``_gestalt`` було видалено разом " +"із приватними функціями :mod:`platform` ``_mac_ver_lookup``, " +"``_mac_ver_gstalt`` і ``_bcd2str``, які б тільки коли-небудь викликано на " +"сильно зламаних системах OSX (див. :issue:`18393`)." + +msgid "" +"The hardcoded copies of certain :mod:`stat` constants that were included in " +"the :mod:`tarfile` module namespace have been removed." +msgstr "" +"Жорстко закодовані копії певних констант :mod:`stat`, які були включені в " +"простір імен модуля :mod:`tarfile`, було видалено." + +msgid "Porting to Python 3.4" +msgstr "Перенесення на Python 3.4" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in 'python' Command Behavior" +msgstr "Зміни в поведінці команд \"python\"." + +msgid "" +"In a posix shell, setting the :envvar:`PATH` environment variable to an " +"empty value is equivalent to not setting it at all. However, setting :" +"envvar:`PYTHONPATH` to an empty value was *not* equivalent to not setting it " +"at all: setting :envvar:`PYTHONPATH` to an empty value was equivalent to " +"setting it to ``.``, which leads to confusion when reasoning by analogy to " +"how :envvar:`PATH` works. The behavior now conforms to the posix convention " +"for :envvar:`PATH`." +msgstr "" +"У posix-оболонці встановлення змінної середовища :envvar:`PATH` на порожнє " +"значення еквівалентно невстановленню її взагалі. Однак встановлення :envvar:" +"`PYTHONPATH` на порожнє значення *не* еквівалентно тому, що його не " +"встановлювати взагалі: встановлення :envvar:`PYTHONPATH` на порожнє значення " +"було еквівалентно встановленню його на ``.``, що призводить до до плутанини, " +"міркуючи за аналогією з тим, як працює :envvar:`PATH`. Поведінка тепер " +"відповідає угоді posix для :envvar:`PATH`." + +msgid "" +"The [X refs, Y blocks] output of a debug (``--with-pydebug``) build of the " +"CPython interpreter is now off by default. It can be re-enabled using the " +"``-X showrefcount`` option. (Contributed by Ezio Melotti in :issue:`17323`.)" +msgstr "" +"[X refs, Y blocks] вихід збірки налагодження (``--with-pydebug``) " +"інтерпретатора CPython тепер вимкнено за замовчуванням. Його можна повторно " +"ввімкнути за допомогою параметра ``-X showrefcount``. (Надав Еціо Мелотті в :" +"issue:`17323`.)" + +msgid "" +"The python command and most stdlib scripts (as well as :mod:`argparse`) now " +"output ``--version`` information to ``stdout`` instead of ``stderr`` (for " +"issue list see :ref:`other-improvements-3.4` above)." +msgstr "" +"Команда python і більшість сценаріїв stdlib (а також :mod:`argparse`) тепер " +"виводять інформацію ``--version`` на ``stdout`` замість ``stderr`` (перелік " +"проблем див. :ref:`other-improvements-3.4` вище)." + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +"The ABCs defined in :mod:`importlib.abc` now either raise the appropriate " +"exception or return a default value instead of raising :exc:" +"`NotImplementedError` blindly. This will only affect code calling :func:" +"`super` and falling through all the way to the ABCs. For compatibility, " +"catch both :exc:`NotImplementedError` or the appropriate exception as needed." +msgstr "" +"ABC, визначені в :mod:`importlib.abc`, тепер або викликають відповідний " +"виняток, або повертають значення за замовчуванням замість виклику :exc:" +"`NotImplementedError` наосліп. Це вплине лише на код, що викликає :func:" +"`super` і потрапляє до ABC. Для сумісності перехопіть обидва :exc:" +"`NotImplementedError` або відповідний виняток за потреби." + +msgid "" +"The module type now initializes the :attr:`__package__` and :attr:" +"`__loader__` attributes to ``None`` by default. To determine if these " +"attributes were set in a backwards-compatible fashion, use e.g. " +"``getattr(module, '__loader__', None) is not None``. (:issue:`17115`.)" +msgstr "" +"Тип модуля тепер ініціалізує атрибути :attr:`__package__` і :attr:" +"`__loader__` як ``None`` за замовчуванням. Щоб визначити, чи ці атрибути " +"були встановлені у зворотній сумісності, використовуйте, наприклад. " +"``getattr(module, '__loader__', None) не є None``. (:issue:`17115`.)" + +msgid "" +":meth:`importlib.util.module_for_loader` now sets ``__loader__`` and " +"``__package__`` unconditionally to properly support reloading. If this is " +"not desired then you will need to set these attributes manually. You can " +"use :func:`importlib.util.module_to_load` for module management." +msgstr "" +":meth:`importlib.util.module_for_loader` тепер безумовно встановлює " +"``__loader__`` і ``__package__`` для належної підтримки перезавантаження. " +"Якщо це небажано, вам потрібно буде встановити ці атрибути вручну. Ви можете " +"використовувати :func:`importlib.util.module_to_load` для керування модулями." + +msgid "" +"Import now resets relevant attributes (e.g. ``__name__``, ``__loader__``, " +"``__package__``, ``__file__``, ``__cached__``) unconditionally when " +"reloading. Note that this restores a pre-3.3 behavior in that it means a " +"module is re-found when re-loaded (:issue:`19413`)." +msgstr "" +"Імпорт тепер безумовно скидає відповідні атрибути (наприклад, ``__name__``, " +"``__loader__``, ``__package__``, ``__file__``, ``__cached__``) під час " +"перезавантаження. Зауважте, що це відновлює поведінку до 3.3, оскільки це " +"означає, що модуль повторно знайдено під час повторного завантаження (:issue:" +"`19413`)." + +msgid "" +"Frozen packages no longer set ``__path__`` to a list containing the package " +"name, they now set it to an empty list. The previous behavior could cause " +"the import system to do the wrong thing on submodule imports if there was " +"also a directory with the same name as the frozen package. The correct way " +"to determine if a module is a package or not is to use ``hasattr(module, " +"'__path__')`` (:issue:`18065`)." +msgstr "" +"Заморожені пакунки більше не встановлюють ``__path__`` як список, що містить " +"назву пакета, тепер вони встановлюють його як порожній список. Попередня " +"поведінка могла спричинити неправильну дію системи імпорту під час імпорту " +"підмодуля, якщо існував також каталог із такою ж назвою, як і заморожений " +"пакет. Правильний спосіб визначити, чи є модуль пакетом чи ні, це " +"використати ``hasattr(module, '__path__')`` (:issue:`18065`)." + +msgid "" +"Frozen modules no longer define a ``__file__`` attribute. It's semantically " +"incorrect for frozen modules to set the attribute as they are not loaded " +"from any explicit location. If you must know that a module comes from frozen " +"code then you can see if the module's ``__spec__.location`` is set to " +"``'frozen'``, check if the loader is a subclass of :class:`importlib." +"machinery.FrozenImporter`, or if Python 2 compatibility is necessary you can " +"use :func:`imp.is_frozen`." +msgstr "" +"Заморожені модулі більше не визначають атрибут ``__file__``. Для заморожених " +"модулів семантично неправильно встановлювати атрибут, оскільки вони не " +"завантажуються з будь-якого явного місця. Якщо вам потрібно знати, що модуль " +"походить із замороженого коду, ви можете побачити, чи ``__spec__.location`` " +"модуля встановлено на ``'frozen'``, перевірте, чи завантажувач є підкласом :" +"class:`importlib. machinery.FrozenImporter`, або, якщо потрібна сумісність з " +"Python 2, ви можете використовувати :func:`imp.is_frozen`." + +msgid "" +":func:`py_compile.compile` now raises :exc:`FileExistsError` if the file " +"path it would write to is a symlink or a non-regular file. This is to act as " +"a warning that import will overwrite those files with a regular file " +"regardless of what type of file path they were originally." +msgstr "" +":func:`py_compile.compile` тепер викликає :exc:`FileExistsError`, якщо шлях " +"до файлу, куди він буде писати, є символічним посиланням або незвичайним " +"файлом. Це є попередженням про те, що імпортування перезапише ці файли " +"звичайним файлом незалежно від того, яким типом шляху до файлу вони були " +"спочатку." + +msgid "" +":meth:`importlib.abc.SourceLoader.get_source` no longer raises :exc:" +"`ImportError` when the source code being loaded triggers a :exc:" +"`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is meant " +"to be raised only when source code cannot be found but it should, it was " +"felt to be over-reaching/overloading of that meaning when the source code is " +"found but improperly structured. If you were catching ImportError before and " +"wish to continue to ignore syntax or decoding issues, catch all three " +"exceptions now." +msgstr "" +":meth:`importlib.abc.SourceLoader.get_source` більше не викликає :exc:" +"`ImportError`, коли вихідний код, що завантажується, викликає :exc:" +"`SyntaxError` або :exc:`UnicodeDecodeError`. Оскільки помилка :exc:" +"`ImportError` має виникати лише тоді, коли вихідний код не може бути " +"знайдений, але він має бути знайдений, було зрозуміло, що це означає " +"надмірне/перевантажене значення, коли вихідний код знайдено, але неналежно " +"структурований. Якщо ви раніше виявляли помилку ImportError і бажаєте й " +"надалі ігнорувати проблеми з синтаксисом або декодуванням, виловіть усі три " +"винятки зараз." + +msgid "" +":func:`functools.update_wrapper` and :func:`functools.wraps` now correctly " +"set the ``__wrapped__`` attribute to the function being wrapped, even if " +"that function also had its ``__wrapped__`` attribute set. This means " +"``__wrapped__`` attributes now correctly link a stack of decorated functions " +"rather than every ``__wrapped__`` attribute in the chain referring to the " +"innermost function. Introspection libraries that assumed the previous " +"behaviour was intentional can use :func:`inspect.unwrap` to access the first " +"function in the chain that has no ``__wrapped__`` attribute." +msgstr "" +":func:`functools.update_wrapper` і :func:`functools.wraps` тепер правильно " +"встановлюють атрибут ``__wrapped__`` для функції, яку обгортають, навіть " +"якщо ця функція також має свій атрибут ``__wrapped__``. Це означає, що " +"атрибути ``__wrapped__`` тепер правильно пов’язують стек декорованих " +"функцій, а не кожен атрибут ``__wrapped__`` у ланцюжку, який посилається на " +"найвнутрішню функцію. Бібліотеки самоаналізу, які припускали, що попередня " +"поведінка була навмисною, можуть використовувати :func:`inspect.unwrap` для " +"доступу до першої функції в ланцюжку, яка не має атрибута ``__wrapped__``." + +msgid "" +":func:`inspect.getfullargspec` has been reimplemented on top of :func:" +"`inspect.signature` and hence handles a much wider variety of callable " +"objects than it did in the past. It is expected that additional builtin and " +"extension module callables will gain signature metadata over the course of " +"the Python 3.4 series. Code that assumes that :func:`inspect.getfullargspec` " +"will fail on non-Python callables may need to be adjusted accordingly." +msgstr "" +":func:`inspect.getfullargspec` було повторно реалізовано поверх :func:" +"`inspect.signature` і, отже, обробляє набагато більше різноманітних " +"викликаних об’єктів, ніж це було в минулому. Очікується, що додаткові " +"вбудовані модулі та модулі розширення отримають метадані підпису протягом " +"серії Python 3.4. Код, який припускає, що :func:`inspect.getfullargspec` не " +"вдасться викликати виклики, відмінні від Python, може потребувати " +"відповідних змін." + +msgid "" +":class:`importlib.machinery.PathFinder` now passes on the current working " +"directory to objects in :data:`sys.path_hooks` for the empty string. This " +"results in :data:`sys.path_importer_cache` never containing ``''``, thus " +"iterating through :data:`sys.path_importer_cache` based on :data:`sys.path` " +"will not find all keys. A module's ``__file__`` when imported in the current " +"working directory will also now have an absolute path, including when using " +"``-m`` with the interpreter (except for ``__main__.__file__`` when a script " +"has been executed directly using a relative path) (Contributed by Brett " +"Cannon in :issue:`18416`). is specified on the command-line) (:issue:" +"`18416`)." +msgstr "" +":class:`importlib.machinery.PathFinder` тепер передає поточний робочий " +"каталог об’єктам у :data:`sys.path_hooks` для порожнього рядка. Це " +"призводить до того, що :data:`sys.path_importer_cache` ніколи не містить " +"``''``, тому ітерація через :data:`sys.path_importer_cache` на основі :data:" +"`sys.path` не знайде всіх ключів. ``__file__`` модуля під час імпорту в " +"поточний робочий каталог також тепер матиме абсолютний шлях, включно з " +"використанням ``-m`` з інтерпретатором (за винятком ``__main__.__file__``, " +"коли сценарій було виконано безпосередньо за допомогою відносного шляху) " +"(надано Бреттом Кенноном у :issue:`18416`). вказується в командному рядку) (:" +"issue:`18416`)." + +msgid "" +"The removal of the *strict* argument to :class:`~http.client.HTTPConnection` " +"and :class:`~http.client.HTTPSConnection` changes the meaning of the " +"remaining arguments if you are specifying them positionally rather than by " +"keyword. If you've been paying attention to deprecation warnings your code " +"should already be specifying any additional arguments via keywords." +msgstr "" +"Видалення аргументу *strict* для :class:`~http.client.HTTPConnection` і :" +"class:`~http.client.HTTPSConnection` змінює значення решти аргументів, якщо " +"ви вказуєте їх позиційно, а не за ключовим словом. Якщо ви звертали увагу на " +"застереження щодо застарілості, ваш код уже має вказувати додаткові " +"аргументи за допомогою ключових слів." + +msgid "" +"Strings between ``from __future__ import ...`` statements now *always* raise " +"a :exc:`SyntaxError`. Previously if there was no leading docstring, an " +"interstitial string would sometimes be ignored. This brings CPython into " +"compliance with the language spec; Jython and PyPy already were. (:issue:" +"`17434`)." +msgstr "" +"Рядки між операторами ``from __future__ import ...`` тепер *завжди* " +"викликають :exc:`SyntaxError`. Раніше, якщо не було початкового рядка " +"документації, проміжний рядок іноді ігнорувався. Це приводить CPython у " +"відповідність зі специфікацією мови; Jython і PyPy вже були. (:issue:" +"`17434`)." + +msgid "" +":meth:`ssl.SSLSocket.getpeercert` and :meth:`ssl.SSLSocket.do_handshake` now " +"raise an :exc:`OSError` with ``ENOTCONN`` when the ``SSLSocket`` is not " +"connected, instead of the previous behavior of raising an :exc:" +"`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` will " +"raise a :exc:`ValueError` if the handshake has not yet been done." +msgstr "" +":meth:`ssl.SSLSocket.getpeercert` і :meth:`ssl.SSLSocket.do_handshake` тепер " +"викликають :exc:`OSError` з ``ENOTCONN``, коли ``SSLSocket`` не підключено, " +"замість попередня поведінка виклику :exc:`AttributeError`. Крім того, :meth:" +"`~ssl.SSLSocket.getpeercert` викличе :exc:`ValueError`, якщо рукостискання " +"ще не виконано." + +msgid "" +":func:`base64.b32decode` now raises a :exc:`binascii.Error` when the input " +"string contains non-b32-alphabet characters, instead of a :exc:`TypeError`. " +"This particular :exc:`TypeError` was missed when the other :exc:`TypeError`" +"\\ s were converted. (Contributed by Serhiy Storchaka in :issue:`18011`.) " +"Note: this change was also inadvertently applied in Python 3.3.3." +msgstr "" +":func:`base64.b32decode` тепер викликає :exc:`binascii.Error`, коли вхідний " +"рядок містить символи, відмінні від b32-алфавіту, замість :exc:`TypeError`. " +"Ця конкретна :exc:`TypeError` була пропущена під час перетворення інших :exc:" +"`TypeError`\\. (Надано Сергієм Сторчакою в :issue:`18011`.) Примітка: цю " +"зміну також було випадково застосовано в Python 3.3.3." + +msgid "" +"The :attr:`~cgi.FieldStorage.file` attribute is now automatically closed " +"when the creating :class:`cgi.FieldStorage` instance is garbage collected. " +"If you were pulling the file object out separately from the :class:`cgi." +"FieldStorage` instance and not keeping the instance alive, then you should " +"either store the entire :class:`cgi.FieldStorage` instance or read the " +"contents of the file before the :class:`cgi.FieldStorage` instance is " +"garbage collected." +msgstr "" +"Атрибут :attr:`~cgi.FieldStorage.file` тепер автоматично закривається, коли " +"створюваний екземпляр :class:`cgi.FieldStorage` збирається як сміття. Якщо " +"ви витягували об’єкт файлу окремо від екземпляра :class:`cgi.FieldStorage` і " +"не зберігали екземпляр живим, то вам слід або зберегти весь екземпляр :class:" +"`cgi.FieldStorage`, або прочитати вміст файлу до того, як екземпляр :class:" +"`cgi.FieldStorage` буде зібрано сміттям." + +msgid "" +"Calling ``read`` or ``write`` on a closed SSL socket now raises an " +"informative :exc:`ValueError` rather than the previous more mysterious :exc:" +"`AttributeError` (:issue:`9177`)." +msgstr "" +"Виклик ``read`` або ``write`` у закритому SSL-сокеті тепер викликає " +"інформативну :exc:`ValueError`, а не попередню більш загадкову :exc:" +"`AttributeError` (:issue:`9177`)." + +msgid "" +":meth:`slice.indices` no longer produces an :exc:`OverflowError` for huge " +"values. As a consequence of this fix, :meth:`slice.indices` now raises a :" +"exc:`ValueError` if given a negative length; previously it returned nonsense " +"values (:issue:`14794`)." +msgstr "" +":meth:`slice.indices` більше не створює :exc:`OverflowError` для великих " +"значень. Як наслідок цього виправлення, :meth:`slice.indices` тепер " +"викликає :exc:`ValueError`, якщо задано від’ємну довжину; раніше він " +"повертав безглузді значення (:issue:`14794`)." + +msgid "" +"The :class:`complex` constructor, unlike the :mod:`cmath` functions, was " +"incorrectly accepting :class:`float` values if an object's ``__complex__`` " +"special method returned one. This now raises a :exc:`TypeError`. (:issue:" +"`16290`.)" +msgstr "" +"Конструктор :class:`complex`, на відміну від функцій :mod:`cmath`, " +"неправильно приймав значення :class:`float`, якщо спеціальний метод " +"``__complex__`` об’єкта повертав одне. Тепер це викликає :exc:`TypeError`. (:" +"issue:`16290`.)" + +msgid "" +"The :class:`int` constructor in 3.2 and 3.3 erroneously accepts :class:" +"`float` values for the *base* parameter. It is unlikely anyone was doing " +"this, but if so, it will now raise a :exc:`TypeError` (:issue:`16772`)." +msgstr "" +"Конструктор :class:`int` у версіях 3.2 і 3.3 помилково приймає значення :" +"class:`float` для параметра *base*. Навряд чи хтось це робив, але якщо так, " +"то тепер це викличе :exc:`TypeError` (:issue:`16772`)." + +msgid "" +"Defaults for keyword-only arguments are now evaluated *after* defaults for " +"regular keyword arguments, instead of before. Hopefully no one wrote any " +"code that depends on the previous buggy behavior (:issue:`16967`)." +msgstr "" +"Значення за замовчуванням для аргументів лише ключових слів тепер оцінюються " +"*після* значень за замовчуванням для звичайних аргументів ключових слів, а " +"не раніше. Сподіваюся, ніхто не написав код, який би залежав від попередньої " +"поведінки з помилками (:issue:`16967`)." + +msgid "" +"Stale thread states are now cleared after :func:`~os.fork`. This may cause " +"some system resources to be released that previously were incorrectly kept " +"perpetually alive (for example, database connections kept in thread-local " +"storage). (:issue:`17094`.)" +msgstr "" +"Застарілі стани потоку тепер очищаються після :func:`~os.fork`. Це може " +"спричинити звільнення деяких системних ресурсів, які раніше неправильно " +"зберігалися безперервно активними (наприклад, підключення до бази даних, що " +"зберігаються в локальному сховищі потоку). (:issue:`17094`.)" + +msgid "" +"Parameter names in ``__annotations__`` dicts are now mangled properly, " +"similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in :issue:" +"`20625`.)" +msgstr "" +"Назви параметрів у ``__annotations__`` dicts тепер змінюються належним " +"чином, подібно до ``__kwdefaults__``. (Надав Юрій Селіванов у :issue:" +"`20625`.)" + +msgid "" +":attr:`hashlib.hash.name` now always returns the identifier in lower case. " +"Previously some builtin hashes had uppercase names, but now that it is a " +"formal public interface the naming has been made consistent (:issue:`18532`)." +msgstr "" +":attr:`hashlib.hash.name` тепер завжди повертає ідентифікатор у нижньому " +"регістрі. Раніше деякі вбудовані хеші мали назви у верхньому регістрі, але " +"тепер, коли це офіційний загальнодоступний інтерфейс, іменування стало " +"узгодженим (:issue:`18532`)." + +msgid "" +"Because :mod:`unittest.TestSuite` now drops references to tests after they " +"are run, test harnesses that re-use a :class:`~unittest.TestSuite` to re-run " +"a set of tests may fail. Test suites should not be re-used in this fashion " +"since it means state is retained between test runs, breaking the test " +"isolation that :mod:`unittest` is designed to provide. However, if the lack " +"of isolation is considered acceptable, the old behavior can be restored by " +"creating a :mod:`~unittest.TestSuite` subclass that defines a " +"``_removeTestAtIndex`` method that does nothing (see :meth:`.TestSuite." +"__iter__`) (:issue:`11798`)." +msgstr "" +"Оскільки :mod:`unittest.TestSuite` тепер видаляє посилання на тести після їх " +"виконання, тестові пакети, які повторно використовують :class:`~unittest." +"TestSuite` для повторного запуску набору тестів, можуть не працювати. Набори " +"тестів не слід повторно використовувати таким чином, оскільки це означає, що " +"стан зберігається між тестовими запусками, порушуючи ізоляцію тесту, яку :" +"mod:`unittest` створено для забезпечення. Однак, якщо відсутність ізоляції " +"вважається прийнятною, стару поведінку можна відновити шляхом створення " +"підкласу :mod:`~unittest.TestSuite`, який визначає метод " +"``_removeTestAtIndex``, який нічого не робить (див. :meth:`.TestSuite ." +"__iter__`) (:issue:`11798`)." + +msgid "" +":mod:`unittest` now uses :mod:`argparse` for command line parsing. There " +"are certain invalid command forms that used to work that are no longer " +"allowed; in theory this should not cause backward compatibility issues since " +"the disallowed command forms didn't make any sense and are unlikely to be in " +"use." +msgstr "" +":mod:`unittest` тепер використовує :mod:`argparse` для аналізу командного " +"рядка. Існують певні недійсні форми команд, які раніше працювали, але більше " +"не дозволені; теоретично це не повинно викликати проблем із зворотною " +"сумісністю, оскільки заборонені форми команд не мали жодного сенсу та навряд " +"чи будуть використовуватися." + +msgid "" +"The :func:`re.split`, :func:`re.findall`, and :func:`re.sub` functions, and " +"the :meth:`~re.match.group` and :meth:`~re.match.groups` methods of " +"``match`` objects now always return a *bytes* object when the string to be " +"matched is a :term:`bytes-like object`. Previously the return type matched " +"the input type, so if your code was depending on the return value being, " +"say, a ``bytearray``, you will need to change your code." +msgstr "" +"Функції :func:`re.split`, :func:`re.findall` і :func:`re.sub`, а також :meth:" +"`~re.match.group` і Методи :meth:`~re.match.groups` об’єктів ``match`` тепер " +"завжди повертають об’єкт *bytes*, коли рядок, який потрібно знайти, є :term:" +"`bytes-like object`. Раніше тип повернення відповідав типу введення, тому, " +"якщо ваш код залежав від значення, яке повертається, скажімо, як " +"``bytearray``, вам потрібно буде змінити свій код." + +msgid "" +":mod:`audioop` functions now raise an error immediately if passed string " +"input, instead of failing randomly later on (:issue:`16685`)." +msgstr "" +"Функції :mod:`audioop` тепер викликають помилку відразу після введення " +"рядка, замість того, щоб випадково виходити з ладу пізніше (:issue:`16685`)." + +msgid "" +"The new *convert_charrefs* argument to :class:`~html.parser.HTMLParser` " +"currently defaults to ``False`` for backward compatibility, but will " +"eventually be changed to default to ``True``. It is recommended that you " +"add this keyword, with the appropriate value, to any :class:`~html.parser." +"HTMLParser` calls in your code (:issue:`13633`)." +msgstr "" +"Новий аргумент *convert_charrefs* для :class:`~html.parser.HTMLParser` " +"наразі має значення ``False`` для зворотної сумісності, але з часом буде " +"змінено на ``True``. Рекомендовано додати це ключове слово з відповідним " +"значенням до будь-яких викликів :class:`~html.parser.HTMLParser` у вашому " +"коді (:issue:`13633`)." + +msgid "" +"Since the *digestmod* argument to the :func:`hmac.new` function will in the " +"future have no default, all calls to :func:`hmac.new` should be changed to " +"explicitly specify a *digestmod* (:issue:`17276`)." +msgstr "" +"Оскільки аргумент *digestmod* для функції :func:`hmac.new` у майбутньому не " +"матиме значення за замовчуванням, усі виклики до :func:`hmac.new` слід " +"змінити, щоб явно вказати *digestmod* (:issue:`17276`)." + +msgid "" +"Calling :func:`sysconfig.get_config_var` with the ``SO`` key, or looking " +"``SO`` up in the results of a call to :func:`sysconfig.get_config_vars` is " +"deprecated. This key should be replaced by ``EXT_SUFFIX`` or " +"``SHLIB_SUFFIX``, depending on the context (:issue:`19555`)." +msgstr "" +"Виклик :func:`sysconfig.get_config_var` за допомогою ключа ``SO`` або пошук " +"``SO`` у результатах виклику :func:`sysconfig.get_config_vars` є застарілим. " +"Цей ключ слід замінити на ``EXT_SUFFIX`` або ``SHLIB_SUFFIX``, залежно від " +"контексту (:issue:`19555`)." + +msgid "" +"Any calls to ``open`` functions that specify ``U`` should be modified. ``U`` " +"is ineffective in Python3 and will eventually raise an error if used. " +"Depending on the function, the equivalent of its old Python2 behavior can be " +"achieved using either a *newline* argument, or if necessary by wrapping the " +"stream in :mod:`~io.TextIOWrapper` to use its *newline* argument (:issue:" +"`15204`)." +msgstr "" +"Будь-які виклики функцій ``open``, які вказують ``U``, слід змінити. ``U`` " +"неефективний у Python3 і зрештою викличе помилку, якщо його використовувати. " +"Залежно від функції, еквівалент її старої поведінки Python2 може бути " +"досягнутий за допомогою аргументу *нового рядка* або, якщо необхідно, " +"загортання потоку в :mod:`~io.TextIOWrapper` для використання його аргументу " +"*нового рядка* (:issue:`15204`)." + +msgid "" +"If you use ``pyvenv`` in a script and desire that pip *not* be installed, " +"you must add ``--without-pip`` to your command invocation." +msgstr "" +"Якщо ви використовуєте ``pyvenv`` у сценарії та бажаєте, щоб pip *не* був " +"встановлений, ви повинні додати ``--without-pip`` до виклику вашої команди." + +msgid "" +"The default behavior of :func:`json.dump` and :func:`json.dumps` when an " +"indent is specified has changed: it no longer produces trailing spaces after " +"the item separating commas at the ends of lines. This will matter only if " +"you have tests that are doing white-space-sensitive comparisons of such " +"output (:issue:`16333`)." +msgstr "" +"Поведінка за замовчуванням :func:`json.dump` і :func:`json.dumps`, коли " +"вказано відступ, змінилася: він більше не створює кінцевих пробілів після " +"елемента, що розділяє коми в кінцях рядків. Це матиме значення, лише якщо у " +"вас є тести, які виконують чутливі до пробілів порівняння такого результату " +"(:issue:`16333`)." + +msgid "" +":mod:`doctest` now looks for doctests in extension module ``__doc__`` " +"strings, so if your doctest test discovery includes extension modules that " +"have things that look like doctests in them you may see test failures you've " +"never seen before when running your tests (:issue:`3158`)." +msgstr "" +":mod:`doctest` тепер шукає doctests у рядках модуля розширення ``__doc__``, " +"тож якщо ваш тест doctest включає модулі розширення, які містять речі, схожі " +"на doctests, ви можете побачити помилки тестування, яких ніколи раніше не " +"бачили, коли виконання ваших тестів (:issue:`3158`)." + +msgid "" +"The :mod:`collections.abc` module has been slightly refactored as part of " +"the Python startup improvements. As a consequence of this, it is no longer " +"the case that importing :mod:`collections` automatically imports :mod:" +"`collections.abc`. If your program depended on the (undocumented) implicit " +"import, you will need to add an explicit ``import collections.abc`` (:issue:" +"`20784`)." +msgstr "" +"Модуль :mod:`collections.abc` було дещо перероблено в рамках покращення " +"запуску Python. Як наслідок цього, імпорт :mod:`collections` автоматично " +"імпортує :mod:`collections.abc`. Якщо ваша програма залежала від " +"(недокументованого) неявного імпорту, вам потрібно буде додати явний " +"``import collections.abc`` (:issue:`20784`)." + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, and :c:func:" +"`PyObject_Str`, along with some other internal C APIs, now include a " +"debugging assertion that ensures they are not used in situations where they " +"may silently discard a currently active exception. In cases where discarding " +"the active exception is expected and desired (for example, because it has " +"already been saved locally with :c:func:`PyErr_Fetch` or is being " +"deliberately replaced with a different exception), an explicit :c:func:" +"`PyErr_Clear` call will be needed to avoid triggering the assertion when " +"invoking these operations (directly or indirectly) and running against a " +"version of Python that is compiled with assertions enabled." +msgstr "" +":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr` і :c:func:" +"`PyObject_Str`, а також деякі інші внутрішні API C тепер включають " +"твердження про налагодження, яке гарантує, що вони не використовуються в " +"ситуаціях, коли вони можуть мовчки відхилити поточний активний виняток. У " +"випадках, коли скасування активного винятку є очікуваним і бажаним " +"(наприклад, оскільки його вже було збережено локально за допомогою :c:func:" +"`PyErr_Fetch` або навмисно замінено іншим винятком), явний виклик :c:func:" +"`PyErr_Clear` буде потрібний, щоб уникнути запуску твердження під час " +"виклику цих операцій (прямо чи опосередковано) і роботи з версією Python, " +"яка скомпільована з увімкненими твердженнями." + +msgid "" +":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " +"argument is not set. Previously only ``NULL`` was returned with no exception " +"set." +msgstr "" +":c:func:`PyErr_SetImportError` тепер встановлює :exc:`TypeError`, коли його " +"аргумент **msg** не встановлено. Раніше повертався лише ``NULL`` без набору " +"винятків." + +msgid "" +"The result of the :c:data:`PyOS_ReadlineFunctionPointer` callback must now " +"be a string allocated by :c:func:`PyMem_RawMalloc` or :c:func:" +"`PyMem_RawRealloc`, or ``NULL`` if an error occurred, instead of a string " +"allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc` (:issue:" +"`16742`)" +msgstr "" +"Результатом зворотного виклику :c:data:`PyOS_ReadlineFunctionPointer` тепер " +"має бути рядок, виділений :c:func:`PyMem_RawMalloc` або :c:func:" +"`PyMem_RawRealloc`, або ``NULL``, якщо сталася помилка, натомість рядка, " +"виділеного :c:func:`PyMem_Malloc` або :c:func:`PyMem_Realloc` (:issue:" +"`16742`)" + +msgid "" +":c:func:`PyThread_set_key_value` now always set the value. In Python 3.3, " +"the function did nothing if the key already exists (if the current value is " +"a non-``NULL`` pointer)." +msgstr "" +":c:func:`PyThread_set_key_value` тепер завжди встановлює значення. У Python " +"3.3 функція нічого не робила, якщо ключ уже існує (якщо поточне значення не " +"є вказівником ``NULL``)." + +msgid "" +"The ``f_tstate`` (thread state) field of the :c:type:`PyFrameObject` " +"structure has been removed to fix a bug: see :issue:`14432` for the " +"rationale." +msgstr "" +"Поле ``f_tstate`` (стан потоку) структури :c:type:`PyFrameObject` було " +"видалено, щоб виправити помилку: див. :issue:`14432` для обґрунтування." + +msgid "Changed in 3.4.3" +msgstr "Змінено в 3.4.3" + +msgid "" +"PEP 476: Enabling certificate verification by default for stdlib http clients" +msgstr "" +"PEP 476: увімкнення перевірки сертифіката за замовчуванням для http-клієнтів " +"stdlib" + +msgid "" +":mod:`http.client` and modules which use it, such as :mod:`urllib.request` " +"and :mod:`xmlrpc.client`, will now verify that the server presents a " +"certificate which is signed by a CA in the platform trust store and whose " +"hostname matches the hostname being requested by default, significantly " +"improving security for many applications." +msgstr "" +":mod:`http.client` і модулі, які його використовують, такі як :mod:`urllib." +"request` і :mod:`xmlrpc.client`, тепер перевірятимуть, чи надає сервер " +"сертифікат, підписаний ЦС у довіреного сховища платформи, і чиє ім’я хоста " +"збігається з ім’ям хоста, яке запитується за замовчуванням, що значно " +"покращує безпеку для багатьох програм." + +msgid "" +"For applications which require the old previous behavior, they can pass an " +"alternate context::" +msgstr "" +"Для програм, які вимагають старої попередньої поведінки, вони можуть " +"передавати альтернативний контекст::" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po new file mode 100644 index 000000000..26373d1e6 --- /dev/null +++ b/whatsnew/3.5.po @@ -0,0 +1,3952 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.5" +msgstr "Що нового в Python 3.5" + +msgid "Editors" +msgstr "Редактори" + +msgid "Elvis Pranskevichus , Yury Selivanov " +msgstr "Elvis Pranskevichus , Yury Selivanov " + +msgid "" +"This article explains the new features in Python 3.5, compared to 3.4. " +"Python 3.5 was released on September 13, 2015.  See the `changelog `_ for a full list of changes." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.5 порівняно з 3.4. Python " +"3.5 було випущено 13 вересня 2015 року. Повний список змін див. у `журналі " +"змін `_." + +msgid ":pep:`478` - Python 3.5 Release Schedule" +msgstr ":pep:`478` - Графік випуску Python 3.5" + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid "" +":ref:`PEP 492 `, coroutines with async and await syntax." +msgstr "" +":ref:`PEP 492 `, співпрограми з синтаксисом async і await." + +msgid "" +":ref:`PEP 465 `, a new matrix multiplication operator: ``a " +"@ b``." +msgstr "" +":ref:`PEP 465 `, новий оператор множення матриці: ``a @ " +"b``." + +msgid "" +":ref:`PEP 448 `, additional unpacking generalizations." +msgstr "" +":ref:`PEP 448 `, додаткові узагальнення розпакування." + +msgid "New library modules:" +msgstr "Нові бібліотечні модулі:" + +msgid ":mod:`typing`: :ref:`PEP 484 -- Type Hints `." +msgstr ":mod:`typing`: :ref:`PEP 484 -- Типові підказки `." + +msgid "" +":mod:`zipapp`: :ref:`PEP 441 Improving Python ZIP Application Support " +"`." +msgstr "" +":mod:`zipapp`: :ref:`PEP 441 Покращення підтримки програм Python ZIP " +"`." + +msgid "New built-in features:" +msgstr "Нові вбудовані функції:" + +msgid "" +"``bytes % args``, ``bytearray % args``: :ref:`PEP 461 ` -- " +"Adding ``%`` formatting to bytes and bytearray." +msgstr "" +"``bytes % args``, ``bytearray % args``: :ref:`PEP 461 ` -- " +"Додано форматування ``%`` до байтів і bytearray." + +msgid "" +"New :meth:`bytes.hex`, :meth:`bytearray.hex` and :meth:`memoryview.hex` " +"methods. (Contributed by Arnon Yaari in :issue:`9951`.)" +msgstr "" +"Нові методи :meth:`bytes.hex`, :meth:`bytearray.hex` і :meth:`memoryview." +"hex`. (Надав Арнон Яарі в :issue:`9951`.)" + +msgid "" +":class:`memoryview` now supports tuple indexing (including multi-" +"dimensional). (Contributed by Antoine Pitrou in :issue:`23632`.)" +msgstr "" +":class:`memoryview` тепер підтримує індексування кортежів (включаючи " +"багатовимірне). (Надав Антуан Пітру в :issue:`23632`.)" + +msgid "" +"Generators have a new ``gi_yieldfrom`` attribute, which returns the object " +"being iterated by ``yield from`` expressions. (Contributed by Benno Leslie " +"and Yury Selivanov in :issue:`24450`.)" +msgstr "" +"Генератори мають новий атрибут ``gi_yieldfrom``, який повертає об’єкт, який " +"повторюється виразами ``yield from``. (Надано Бенно Леслі та Юрієм " +"Селівановим у :issue:`24450`.)" + +msgid "" +"A new :exc:`RecursionError` exception is now raised when maximum recursion " +"depth is reached. (Contributed by Georg Brandl in :issue:`19235`.)" +msgstr "" +"Новий виняток :exc:`RecursionError` тепер викликається, коли досягається " +"максимальна глибина рекурсії. (Надав Георг Брандл у :issue:`19235`.)" + +msgid "CPython implementation improvements:" +msgstr "Покращення реалізації CPython:" + +msgid "" +"When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale), :py:data:" +"`sys.stdin` and :py:data:`sys.stdout` now use the ``surrogateescape`` error " +"handler, instead of the ``strict`` error handler. (Contributed by Victor " +"Stinner in :issue:`19977`.)" +msgstr "" +"Якщо локаль ``LC_TYPE`` є локаллю POSIX (``C`` локаль), :py:data:`sys.stdin` " +"і :py:data:`sys.stdout` тепер використовують ``surrogateescape`` обробник " +"помилок замість ``строгого`` обробника помилок. (Надав Віктор Стіннер у :" +"issue:`19977`.)" + +msgid "" +"``.pyo`` files are no longer used and have been replaced by a more flexible " +"scheme that includes the optimization level explicitly in ``.pyc`` name. " +"(See :ref:`PEP 488 overview `.)" +msgstr "" +"Файли ``.pyo`` більше не використовуються і були замінені більш гнучкою " +"схемою, яка включає рівень оптимізації явно в назві ``.pyc``. (Див. :ref:" +"`Огляд PEP 488 `.)" + +msgid "" +"Builtin and extension modules are now initialized in a multi-phase process, " +"which is similar to how Python modules are loaded. (See :ref:`PEP 489 " +"overview `.)" +msgstr "" +"Вбудовані модулі та модулі розширення тепер ініціалізуються в багатофазному " +"процесі, який подібний до того, як завантажуються модулі Python. (Див. :ref:" +"`Огляд PEP 489 `.)" + +msgid "Significant improvements in the standard library:" +msgstr "Значні вдосконалення стандартної бібліотеки:" + +msgid "" +":class:`collections.OrderedDict` is now :ref:`implemented in C `, which makes it 4 to 100 times faster." +msgstr "" +":class:`collections.OrderedDict` тепер :ref:`реалізовано в C `, що робить його від 4 до 100 разів швидшим." + +msgid "" +"The :mod:`ssl` module gained :ref:`support for Memory BIO `, which decouples SSL protocol handling from network IO." +msgstr "" +"Модуль :mod:`ssl` отримав :ref:`підтримку Memory BIO `, що відокремлює обробку протоколу SSL від мережевого введення-" +"виведення." + +msgid "" +"The new :func:`os.scandir` function provides a :ref:`better and " +"significantly faster way ` of directory traversal." +msgstr "" +"Нова функція :func:`os.scandir` забезпечує :ref:`кращий і значно швидший " +"спосіб ` обходу каталогу." + +msgid "" +":func:`functools.lru_cache` has been mostly :ref:`reimplemented in C " +"`, yielding much better performance." +msgstr "" +":func:`functools.lru_cache` був здебільшого :ref:`перереалізований у C " +"`, що дало набагато кращу продуктивність." + +msgid "" +"The new :func:`subprocess.run` function provides a :ref:`streamlined way to " +"run subprocesses `." +msgstr "" +"Нова функція :func:`subprocess.run` забезпечує :ref:`впорядкований спосіб " +"запуску підпроцесів `." + +msgid "" +"The :mod:`traceback` module has been significantly :ref:`enhanced ` for improved performance and developer convenience." +msgstr "" +"Модуль :mod:`traceback` був значно :ref:`покращений ` " +"для покращення продуктивності та зручності для розробників." + +msgid "Security improvements:" +msgstr "Покращення безпеки:" + +msgid "" +"SSLv3 is now disabled throughout the standard library. It can still be " +"enabled by instantiating a :class:`ssl.SSLContext` manually. (See :issue:" +"`22638` for more details; this change was backported to CPython 3.4 and 2.7.)" +msgstr "" +"SSLv3 тепер вимкнено в стандартній бібліотеці. Його все ще можна ввімкнути, " +"створивши екземпляр :class:`ssl.SSLContext` вручну. (Докладніше див. :issue:" +"`22638`; цю зміну було перенесено до CPython 3.4 і 2.7.)" + +msgid "" +"HTTP cookie parsing is now stricter, in order to protect against potential " +"injection attacks. (Contributed by Antoine Pitrou in :issue:`22796`.)" +msgstr "" +"Синтаксичний аналіз файлів cookie HTTP тепер суворіший, щоб захистити від " +"потенційних ін’єкційних атак. (Надав Антуан Пітру в :issue:`22796`.)" + +msgid "Windows improvements:" +msgstr "Покращення Windows:" + +msgid "" +"A new installer for Windows has replaced the old MSI. See :ref:`using-on-" +"windows` for more information." +msgstr "" +"Новий інсталятор для Windows замінив старий MSI. Перегляньте :ref:`using-on-" +"windows` для отримання додаткової інформації." + +msgid "" +"Windows builds now use Microsoft Visual C++ 14.0, and extension modules " +"should use the same." +msgstr "" +"Збірки Windows тепер використовують Microsoft Visual C++ 14.0, і модулі " +"розширення мають використовувати те саме." + +msgid "" +"Please read on for a comprehensive list of user-facing changes, including " +"many other smaller improvements, CPython optimizations, deprecations, and " +"potential porting issues." +msgstr "" +"Будь ласка, прочитайте повний список змін, які стосуються користувачів, " +"включаючи багато інших менших покращень, оптимізацію CPython, застарілі та " +"потенційні проблеми з перенесенням." + +msgid "New Features" +msgstr "Нові можливості" + +msgid "PEP 492 - Coroutines with async and await syntax" +msgstr "PEP 492 – співпрограми з синтаксисом async і await" + +msgid "" +":pep:`492` greatly improves support for asynchronous programming in Python " +"by adding :term:`awaitable objects `, :term:`coroutine functions " +"`, :term:`asynchronous iteration `, and :term:`asynchronous context managers `." +msgstr "" +":pep:`492` значно покращує підтримку асинхронного програмування в Python, " +"додаючи :term:`очікувані об’єкти `, :term:`функції співпрограми " +"`, :term:`асинхронну ітерацію ` " +"та :term:`асинхронну контекст менеджери `." + +msgid "" +"Coroutine functions are declared using the new :keyword:`async def` syntax::" +msgstr "" +"Функції співпрограми оголошено за допомогою нового синтаксису :keyword:" +"`async def`::" + +msgid "" +"Inside a coroutine function, the new :keyword:`await` expression can be used " +"to suspend coroutine execution until the result is available. Any object " +"can be *awaited*, as long as it implements the :term:`awaitable` protocol by " +"defining the :meth:`__await__` method." +msgstr "" +"Усередині функції співпрограми новий вираз :keyword:`await` можна " +"використовувати для призупинення виконання співпрограми, доки не буде " +"доступний результат. Будь-який об’єкт може бути *очікуваним*, якщо він " +"реалізує протокол :term:`awaitable` шляхом визначення методу :meth:" +"`__await__`." + +msgid "" +"PEP 492 also adds :keyword:`async for` statement for convenient iteration " +"over asynchronous iterables." +msgstr "" +"PEP 492 також додає оператор :keyword:`async for` для зручної ітерації над " +"асинхронними ітераціями." + +msgid "An example of a rudimentary HTTP client written using the new syntax::" +msgstr "" +"Приклад елементарного клієнта HTTP, написаного з використанням нового " +"синтаксису:" + +msgid "" +"Similarly to asynchronous iteration, there is a new syntax for asynchronous " +"context managers. The following script::" +msgstr "" +"Подібно до асинхронної ітерації, існує новий синтаксис для менеджерів " +"асинхронного контексту. Наступний сценарій::" + +msgid "will output::" +msgstr "виведе::" + +msgid "" +"Note that both :keyword:`async for` and :keyword:`async with` can only be " +"used inside a coroutine function declared with :keyword:`async def`." +msgstr "" +"Зауважте, що як :keyword:`async for`, так і :keyword:`async with` можна " +"використовувати лише всередині функції співпрограми, оголошеної за " +"допомогою :keyword:`async def`." + +msgid "" +"Coroutine functions are intended to be run inside a compatible event loop, " +"such as the :ref:`asyncio loop `." +msgstr "" +"Функції співпрограми призначені для виконання всередині сумісного циклу " +"подій, такого як :ref:`асинхронний цикл `." + +msgid "" +"Starting with CPython 3.5.2, ``__aiter__`` can directly return :term:" +"`asynchronous iterators `. Returning an :term:" +"`awaitable` object will result in a :exc:`PendingDeprecationWarning`." +msgstr "" +"Починаючи з CPython 3.5.2, ``__aiter__`` може безпосередньо повертати :term:" +"`асинхронні ітератори `. Повернення об’єкта :term:" +"`awaitable` призведе до появи :exc:`PendingDeprecationWarning`." + +msgid "See more details in the :ref:`async-iterators` documentation section." +msgstr "Дивіться більше деталей у розділі документації :ref:`async-iterators`." + +msgid ":pep:`492` -- Coroutines with async and await syntax" +msgstr ":pep:`492` -- Співпрограми з синтаксисом async і await" + +msgid "PEP written and implemented by Yury Selivanov." +msgstr "PEP написав і реалізував Юрій Селіванов." + +msgid "PEP 465 - A dedicated infix operator for matrix multiplication" +msgstr "PEP 465 – спеціальний інфіксний оператор для множення матриць" + +msgid "" +":pep:`465` adds the ``@`` infix operator for matrix multiplication. " +"Currently, no builtin Python types implement the new operator, however, it " +"can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, and :" +"meth:`__imatmul__` for regular, reflected, and in-place matrix " +"multiplication. The semantics of these methods is similar to that of " +"methods defining other infix arithmetic operators." +msgstr "" +":pep:`465` додає інфіксний оператор ``@`` для множення матриць. Наразі жодні " +"вбудовані типи Python не реалізують новий оператор, однак його можна " +"реалізувати, визначивши :meth:`__matmul__`, :meth:`__rmatmul__` і :meth:" +"`__imatmul__` для звичайної, відображеної та на місці матриці множення. " +"Семантика цих методів подібна до методів, що визначають інші інфіксні " +"арифметичні оператори." + +msgid "" +"Matrix multiplication is a notably common operation in many fields of " +"mathematics, science, engineering, and the addition of ``@`` allows writing " +"cleaner code::" +msgstr "" +"Матричне множення є досить поширеною операцією в багатьох галузях " +"математики, науки, техніки, а додавання ``@`` дозволяє писати чистіший код::" + +msgid "instead of::" +msgstr "замість::" + +msgid "NumPy 1.10 has support for the new operator::" +msgstr "NumPy 1.10 підтримує новий оператор:" + +msgid ":pep:`465` -- A dedicated infix operator for matrix multiplication" +msgstr ":pep:`465` -- Спеціальний інфіксний оператор для множення матриць" + +msgid "PEP written by Nathaniel J. Smith; implemented by Benjamin Peterson." +msgstr "" +"PEP, написаний Натаніелем Дж. Смітом; реалізований Бенджаміном Петерсоном." + +msgid "PEP 448 - Additional Unpacking Generalizations" +msgstr "PEP 448 - Додаткові узагальнення розпакування" + +msgid "" +":pep:`448` extends the allowed uses of the ``*`` iterable unpacking operator " +"and ``**`` dictionary unpacking operator. It is now possible to use an " +"arbitrary number of unpackings in :ref:`function calls `::" +msgstr "" +":pep:`448` розширює дозволене використання оператора ітераційного " +"розпакування ``*`` та оператора розпакування словника ``**``. Тепер можна " +"використовувати довільну кількість розпакувань у :ref:`викликах функцій " +"`::" + +msgid "" +"Similarly, tuple, list, set, and dictionary displays allow multiple " +"unpackings (see :ref:`exprlists` and :ref:`dict`)::" +msgstr "" +"Так само відображення кортежів, списків, наборів і словників дозволяють " +"багаторазове розпакування (див. :ref:`exprlists` і :ref:`dict`)::" + +msgid ":pep:`448` -- Additional Unpacking Generalizations" +msgstr ":pep:`448` -- Додаткові узагальнення розпакування" + +msgid "" +"PEP written by Joshua Landau; implemented by Neil Girdhar, Thomas Wouters, " +"and Joshua Landau." +msgstr "" +"PEP, написаний Джошуа Ландау; реалізували Ніл Ґірдхар, Томас Воутерс і " +"Джошуа Ландау." + +msgid "PEP 461 - percent formatting support for bytes and bytearray" +msgstr "" +"PEP 461 - підтримка відсоткового форматування для байтів і байтового масиву" + +msgid "" +":pep:`461` adds support for the ``%`` :ref:`interpolation operator ` to :class:`bytes` and :class:`bytearray`." +msgstr "" +":pep:`461` додає підтримку для ``%`` :ref:`оператора інтерполяції ` до :class:`bytes` і :class:`bytearray`." + +msgid "" +"While interpolation is usually thought of as a string operation, there are " +"cases where interpolation on ``bytes`` or ``bytearrays`` makes sense, and " +"the work needed to make up for this missing functionality detracts from the " +"overall readability of the code. This issue is particularly important when " +"dealing with wire format protocols, which are often a mixture of binary and " +"ASCII compatible text." +msgstr "" +"Хоча інтерполяція зазвичай розглядається як рядкова операція, є випадки, " +"коли інтерполяція на ``bytes`` або ``bytearrays`` має сенс, і робота, " +"необхідна для компенсації цієї відсутньої функції, погіршує загальну " +"читабельність коду. . Ця проблема особливо важлива при роботі з протоколами " +"дротового формату, які часто є сумішшю двійкового та ASCII-сумісного тексту." + +msgid "Examples::" +msgstr "Приклади::" + +msgid "" +"Unicode is not allowed for ``%b``, but it is accepted by ``%a`` (equivalent " +"of ``repr(obj).encode('ascii', 'backslashreplace')``)::" +msgstr "" +"Юнікод не дозволяється для ``%b``, але він приймається ``%a`` (еквівалент " +"``repr(obj).encode('ascii', 'backslashreplace')``::" + +msgid "" +"Note that ``%s`` and ``%r`` conversion types, although supported, should " +"only be used in codebases that need compatibility with Python 2." +msgstr "" +"Зауважте, що типи перетворення ``%s`` і ``%r``, хоча й підтримуються, слід " +"використовувати лише в кодових базах, які потребують сумісності з Python 2." + +msgid ":pep:`461` -- Adding % formatting to bytes and bytearray" +msgstr ":pep:`461` -- Додано форматування % до байтів і масиву байтів" + +msgid "" +"PEP written by Ethan Furman; implemented by Neil Schemenauer and Ethan " +"Furman." +msgstr "" +"PEP, написаний Ітаном Фурманом; реалізували Ніл Шеменауер та Ітан Фурман." + +msgid "PEP 484 - Type Hints" +msgstr "PEP 484 – Типові підказки" + +msgid "" +"Function annotation syntax has been a Python feature since version 3.0 (:pep:" +"`3107`), however the semantics of annotations has been left undefined." +msgstr "" +"Синтаксис анотації функції є функцією Python з версії 3.0 (:pep:`3107`), " +"однак семантика анотацій залишилася невизначеною." + +msgid "" +"Experience has shown that the majority of function annotation uses were to " +"provide type hints to function parameters and return values. It became " +"evident that it would be beneficial for Python users, if the standard " +"library included the base definitions and tools for type annotations." +msgstr "" +"Досвід показав, що більшість анотацій функцій використовувалися для надання " +"підказок типу для параметрів функції та повернення значень. Стало очевидним, " +"що користувачам Python було б вигідно, якби стандартна бібліотека включала " +"базові визначення та інструменти для анотацій типів." + +msgid "" +":pep:`484` introduces a :term:`provisional module ` to " +"provide these standard definitions and tools, along with some conventions " +"for situations where annotations are not available." +msgstr "" +":pep:`484` представляє :term:`тимчасовий модуль `, щоб " +"надати ці стандартні визначення та інструменти, а також деякі умовності для " +"ситуацій, коли анотації недоступні." + +msgid "" +"For example, here is a simple function whose argument and return type are " +"declared in the annotations::" +msgstr "" +"Наприклад, ось проста функція, чий аргумент і тип повернення оголошено в " +"анотаціях::" + +msgid "" +"While these annotations are available at runtime through the usual :attr:" +"`__annotations__` attribute, *no automatic type checking happens at " +"runtime*. Instead, it is assumed that a separate off-line type checker (e." +"g. `mypy `_) will be used for on-demand source code " +"analysis." +msgstr "" +"Хоча ці анотації доступні під час виконання через звичайний атрибут :attr:" +"`__annotations__`, *автоматична перевірка типу не відбувається під час " +"виконання*. Натомість передбачається, що для аналізу вихідного коду на " +"вимогу використовуватиметься окремий автономний засіб перевірки типу " +"(наприклад, `mypy `_)." + +msgid "" +"The type system supports unions, generic types, and a special type named :" +"class:`~typing.Any` which is consistent with (i.e. assignable to and from) " +"all types." +msgstr "" +"Система типів підтримує об’єднання, загальні типи та спеціальний тип під " +"назвою :class:`~typing.Any`, який узгоджується з усіма типами (тобто " +"призначається до них і від них)." + +msgid ":mod:`typing` module documentation" +msgstr "документація модуля :mod:`typing`" + +msgid ":pep:`484` -- Type Hints" +msgstr ":pep:`484` -- Підказки щодо типу" + +msgid "" +"PEP written by Guido van Rossum, Jukka Lehtosalo, and Łukasz Langa; " +"implemented by Guido van Rossum." +msgstr "" +"PEP, написаний Гвідо ван Россумом, Юккою Лехтосало та Лукашем Лангою; " +"реалізований Гвідо ван Россумом." + +msgid ":pep:`483` -- The Theory of Type Hints" +msgstr ":pep:`483` -- Теорія підказок типів" + +msgid "PEP written by Guido van Rossum" +msgstr "PEP, написаний Гвідо ван Россумом" + +msgid "" +"PEP 471 - os.scandir() function -- a better and faster directory iterator" +msgstr "PEP 471 — функція os.scandir() — кращий і швидший ітератор каталогу" + +msgid "" +":pep:`471` adds a new directory iteration function, :func:`os.scandir`, to " +"the standard library. Additionally, :func:`os.walk` is now implemented " +"using ``scandir``, which makes it 3 to 5 times faster on POSIX systems and 7 " +"to 20 times faster on Windows systems. This is largely achieved by greatly " +"reducing the number of calls to :func:`os.stat` required to walk a directory " +"tree." +msgstr "" +":pep:`471` додає нову функцію ітерації каталогу, :func:`os.scandir`, до " +"стандартної бібліотеки. Крім того, :func:`os.walk` тепер реалізовано за " +"допомогою ``scandir``, що робить його в 3-5 разів швидшим у системах POSIX і " +"в 7-20 разів швидшим у системах Windows. Це значною мірою досягається за " +"рахунок значного зменшення кількості викликів :func:`os.stat`, необхідних " +"для перегляду дерева каталогів." + +msgid "" +"Additionally, ``scandir`` returns an iterator, as opposed to returning a " +"list of file names, which improves memory efficiency when iterating over " +"very large directories." +msgstr "" +"Крім того, ``scandir`` повертає ітератор, на відміну від повернення списку " +"імен файлів, що покращує ефективність пам’яті під час повторення дуже " +"великих каталогів." + +msgid "" +"The following example shows a simple use of :func:`os.scandir` to display " +"all the files (excluding directories) in the given *path* that don't start " +"with ``'.'``. The :meth:`entry.is_file() ` call will " +"generally not make an additional system call::" +msgstr "" +"У наступному прикладі показано просте використання :func:`os.scandir` для " +"відображення всіх файлів (за винятком каталогів) у заданому *шляху*, які не " +"починаються з ``'.'``. Виклик :meth:`entry.is_file() ` " +"зазвичай не виконує додаткових системних викликів:" + +msgid "" +":pep:`471` -- os.scandir() function -- a better and faster directory iterator" +msgstr "" +":pep:`471` -- функція os.scandir() -- кращий і швидший ітератор каталогу" + +msgid "" +"PEP written and implemented by Ben Hoyt with the help of Victor Stinner." +msgstr "" +"PEP написаний і реалізований Беном Хойтом за допомогою Віктора Стіннера." + +msgid "PEP 475: Retry system calls failing with EINTR" +msgstr "PEP 475: повторна спроба системних викликів, які не вдалися з EINTR" + +msgid "" +"An :py:data:`errno.EINTR` error code is returned whenever a system call, " +"that is waiting for I/O, is interrupted by a signal. Previously, Python " +"would raise :exc:`InterruptedError` in such cases. This meant that, when " +"writing a Python application, the developer had two choices:" +msgstr "" +"Код помилки :py:data:`errno.EINTR` повертається щоразу, коли системний " +"виклик, який очікує на введення/виведення, переривається сигналом. Раніше в " +"таких випадках Python викликав :exc:`InterruptedError`. Це означало, що під " +"час написання програми Python розробник мав два варіанти:" + +msgid "Ignore the ``InterruptedError``." +msgstr "Ігноруйте ``InterruptedError``." + +msgid "" +"Handle the ``InterruptedError`` and attempt to restart the interrupted " +"system call at every call site." +msgstr "" +"Обробити ``InterruptedError`` і спробувати перезапустити перерваний " +"системний виклик на кожному місці виклику." + +msgid "" +"The first option makes an application fail intermittently. The second option " +"adds a large amount of boilerplate that makes the code nearly unreadable. " +"Compare::" +msgstr "" +"Перший варіант призводить до періодичного збою програми. Другий варіант " +"додає велику кількість шаблонів, що робить код майже нечитабельним. " +"Порівняти::" + +msgid "and::" +msgstr "і::" + +msgid "" +":pep:`475` implements automatic retry of system calls on ``EINTR``. This " +"removes the burden of dealing with ``EINTR`` or :exc:`InterruptedError` in " +"user code in most situations and makes Python programs, including the " +"standard library, more robust. Note that the system call is only retried if " +"the signal handler does not raise an exception." +msgstr "" +":pep:`475` реалізує автоматичний повтор системних викликів на ``EINTR``. Це " +"знімає тягар роботи з ``EINTR`` або :exc:`InterruptedError` у коді " +"користувача в більшості ситуацій і робить програми Python, включаючи " +"стандартну бібліотеку, більш надійними. Зауважте, що повторна спроба " +"системного виклику виконується, лише якщо обробник сигналу не викликає " +"виняткової ситуації." + +msgid "" +"Below is a list of functions which are now retried when interrupted by a " +"signal:" +msgstr "" +"Нижче наведено список функцій, які зараз виконуються повторно, коли їх " +"перериває сигнал:" + +msgid ":func:`open` and :func:`io.open`;" +msgstr ":func:`open` і :func:`io.open`;" + +msgid "functions of the :mod:`faulthandler` module;" +msgstr "функції модуля :mod:`faulthandler`;" + +msgid "" +":mod:`os` functions: :func:`~os.fchdir`, :func:`~os.fchmod`, :func:`~os." +"fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os.fstatvfs`, :" +"func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :func:`~os." +"mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os." +"posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :" +"func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os." +"wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:" +"`~os.write`, :func:`~os.writev`;" +msgstr "" +":mod:`os` функції: :func:`~os.fchdir`, :func:`~os.fchmod`, :func:`~os." +"fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os.fstatvfs`, :" +"func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :func:`~os." +"mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os." +"posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :" +"func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os." +"wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:" +"`~os.write`, :func:`~os.writev`;" + +msgid "" +"special cases: :func:`os.close` and :func:`os.dup2` now ignore :py:data:" +"`~errno.EINTR` errors; the syscall is not retried (see the PEP for the " +"rationale);" +msgstr "" +"спеціальні випадки: :func:`os.close` і :func:`os.dup2` тепер ігнорують " +"помилки :py:data:`~errno.EINTR`; системний виклик не повторюється " +"(обґрунтування див. у PEP);" + +msgid "" +":mod:`select` functions: :func:`devpoll.poll() `, :func:" +"`epoll.poll() `, :func:`kqueue.control() `, :func:`poll.poll() `, :func:`~select.select`;" +msgstr "" +":mod:`select` функції: :func:`devpoll.poll() `, :func:" +"`epoll.poll() `, :func:`kqueue.control() `, :func:`poll. poll() `, :func:`~select.select`;" + +msgid "" +"methods of the :class:`~socket.socket` class: :meth:`~socket.socket." +"accept`, :meth:`~socket.socket.connect` (except for non-blocking sockets), :" +"meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket." +"socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket." +"sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;" +msgstr "" +"методи класу :class:`~socket.socket`: :meth:`~socket.socket.accept`, :meth:" +"`~socket.socket.connect` (крім неблокуючих сокетів), :meth:`~socket.socket." +"recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket.socket.recvmsg`, :" +"meth:`~socket.socket.send`, :meth:`~сокет .socket.sendall`, :meth:`~socket." +"socket.sendmsg`, :meth:`~socket.socket.sendto`;" + +msgid ":func:`signal.sigtimedwait` and :func:`signal.sigwaitinfo`;" +msgstr ":func:`signal.sigtimedwait` і :func:`signal.sigwaitinfo`;" + +msgid ":func:`time.sleep`." +msgstr ":func:`time.sleep`." + +msgid ":pep:`475` -- Retry system calls failing with EINTR" +msgstr ":pep:`475` -- Повторити системні виклики, які не вдалися з EINTR" + +msgid "" +"PEP and implementation written by Charles-François Natali and Victor " +"Stinner, with the help of Antoine Pitrou (the French connection)." +msgstr "" +"PEP та реалізація написані Шарлем-Франсуа Наталі та Віктором Стіннером за " +"допомогою Антуана Пітру (французький зв’язок)." + +msgid "PEP 479: Change StopIteration handling inside generators" +msgstr "PEP 479: змініть обробку StopIteration всередині генераторів" + +msgid "" +"The interaction of generators and :exc:`StopIteration` in Python 3.4 and " +"earlier was sometimes surprising, and could conceal obscure bugs. " +"Previously, ``StopIteration`` raised accidentally inside a generator " +"function was interpreted as the end of the iteration by the loop construct " +"driving the generator." +msgstr "" +"Взаємодія генераторів і :exc:`StopIteration` в Python 3.4 і раніших версіях " +"іноді була несподіваною і могла приховувати незрозумілі помилки. Раніше " +"``StopIteration``, викликаний випадково у функції генератора, " +"інтерпретувався як кінець ітерації конструкцією циклу, що керує генератором." + +msgid "" +":pep:`479` changes the behavior of generators: when a ``StopIteration`` " +"exception is raised inside a generator, it is replaced with a :exc:" +"`RuntimeError` before it exits the generator frame. The main goal of this " +"change is to ease debugging in the situation where an unguarded :func:`next` " +"call raises ``StopIteration`` and causes the iteration controlled by the " +"generator to terminate silently. This is particularly pernicious in " +"combination with the ``yield from`` construct." +msgstr "" +":pep:`479` змінює поведінку генераторів: коли всередині генератора виникає " +"виняткова ситуація ``StopIteration``, вона замінюється на :exc:" +"`RuntimeError` перед тим, як вийти з кадру генератора. Основна мета цієї " +"зміни полягає в тому, щоб полегшити налагодження в ситуації, коли " +"незахищений виклик :func:`next` викликає ``StopIteration`` і змушує " +"ітерацію, керовану генератором, мовчки завершувати. Це особливо згубно в " +"поєднанні з конструкцією ``вихід від``." + +msgid "" +"This is a backwards incompatible change, so to enable the new behavior, a :" +"term:`__future__` import is necessary::" +msgstr "" +"Це зворотно несумісна зміна, тому, щоб увімкнути нову поведінку, потрібен " +"імпорт :term:`__future__`::" + +msgid "" +"Without a ``__future__`` import, a :exc:`PendingDeprecationWarning` will be " +"raised whenever a :exc:`StopIteration` exception is raised inside a " +"generator." +msgstr "" +"Без імпорту ``__future__`` :exc:`PendingDeprecationWarning` буде викликано " +"щоразу, коли всередині генератора буде викликано виключення :exc:" +"`StopIteration`." + +msgid ":pep:`479` -- Change StopIteration handling inside generators" +msgstr ":pep:`479` -- Змінити обробку StopIteration всередині генераторів" + +msgid "" +"PEP written by Chris Angelico and Guido van Rossum. Implemented by Chris " +"Angelico, Yury Selivanov and Nick Coghlan." +msgstr "" +"PEP, написаний Крісом Анджеліко та Гвідо ван Россумом. Реалізували Кріс " +"Анжеліко, Юрій Селіванов та Нік Коглан." + +msgid "PEP 485: A function for testing approximate equality" +msgstr "PEP 485: функція для перевірки приблизної рівності" + +msgid "" +":pep:`485` adds the :func:`math.isclose` and :func:`cmath.isclose` functions " +"which tell whether two values are approximately equal or \"close\" to each " +"other. Whether or not two values are considered close is determined " +"according to given absolute and relative tolerances. Relative tolerance is " +"the maximum allowed difference between ``isclose`` arguments, relative to " +"the larger absolute value::" +msgstr "" +":pep:`485` додає функції :func:`math.isclose` і :func:`cmath.isclose`, які " +"повідомляють, чи є два значення приблизно рівними або \"близькими\" одне до " +"одного. Чи вважаються два значення близькими чи ні, визначається відповідно " +"до заданих абсолютних і відносних допусків. Відносний допуск — це " +"максимально дозволена різниця між аргументами ``isclose`` відносно більшого " +"абсолютного значення::" + +msgid "" +"It is also possible to compare two values using absolute tolerance, which " +"must be a non-negative value::" +msgstr "" +"Також можна порівняти два значення, використовуючи абсолютний допуск, який " +"має бути невід’ємним значенням:" + +msgid ":pep:`485` -- A function for testing approximate equality" +msgstr ":pep:`485` -- Функція для перевірки приблизної рівності" + +msgid "" +"PEP written by Christopher Barker; implemented by Chris Barker and Tal Einat." +msgstr "" +"PEP, написаний Крістофером Баркером; реалізували Кріс Баркер і Тал Ейнат." + +msgid "PEP 486: Make the Python Launcher aware of virtual environments" +msgstr "PEP 486: інформуйте програму запуску Python про віртуальні середовища" + +msgid "" +":pep:`486` makes the Windows launcher (see :pep:`397`) aware of an active " +"virtual environment. When the default interpreter would be used and the " +"``VIRTUAL_ENV`` environment variable is set, the interpreter in the virtual " +"environment will be used." +msgstr "" +":pep:`486` повідомляє програму запуску Windows (див. :pep:`397`) про активне " +"віртуальне середовище. Якщо використовуватиметься інтерпретатор за " +"замовчуванням і встановлено змінну середовища ``VIRTUAL_ENV``, " +"використовуватиметься інтерпретатор у віртуальному середовищі." + +msgid ":pep:`486` -- Make the Python Launcher aware of virtual environments" +msgstr "" +":pep:`486` -- Зробіть програму запуску Python інформованою про віртуальні " +"середовища" + +msgid "PEP written and implemented by Paul Moore." +msgstr "PEP написаний і реалізований Полом Муром." + +msgid "PEP 488: Elimination of PYO files" +msgstr "PEP 488: видалення файлів PYO" + +msgid "" +":pep:`488` does away with the concept of ``.pyo`` files. This means that ``." +"pyc`` files represent both unoptimized and optimized bytecode. To prevent " +"the need to constantly regenerate bytecode files, ``.pyc`` files now have an " +"optional ``opt-`` tag in their name when the bytecode is optimized. This has " +"the side-effect of no more bytecode file name clashes when running under " +"either :option:`-O` or :option:`-OO`. Consequently, bytecode files generated " +"from :option:`-O`, and :option:`-OO` may now exist simultaneously. :func:" +"`importlib.util.cache_from_source` has an updated API to help with this " +"change." +msgstr "" +":pep:`488` скасовує концепцію файлів ``.pyo``. Це означає, що файли ``.pyc`` " +"представляють як неоптимізований, так і оптимізований байт-код. Щоб уникнути " +"необхідності постійного відновлення файлів байт-коду, файли ``.pyc`` тепер " +"мають додатковий тег ``opt-`` у своїй назві, коли байт-код оптимізується. " +"Побічним ефектом цього є відсутність зіткнень імен файлів байт-кодів під час " +"роботи з :option:`-O` або :option:`-OO`. Отже, файли байт-коду, створені за " +"допомогою :option:`-O` і :option:`-OO`, тепер можуть існувати одночасно. :" +"func:`importlib.util.cache_from_source` має оновлений API, щоб допомогти з " +"цією зміною." + +msgid ":pep:`488` -- Elimination of PYO files" +msgstr ":pep:`488` -- Видалення файлів PYO" + +msgid "PEP written and implemented by Brett Cannon." +msgstr "PEP написаний і реалізований Бреттом Кенноном." + +msgid "PEP 489: Multi-phase extension module initialization" +msgstr "PEP 489: Ініціалізація багатофазного модуля розширення" + +msgid "" +":pep:`489` updates extension module initialization to take advantage of the " +"two step module loading mechanism introduced by :pep:`451` in Python 3.4." +msgstr "" +":pep:`489` оновлює ініціалізацію модуля розширення, щоб скористатися " +"двоетапним механізмом завантаження модуля, представленим :pep:`451` у Python " +"3.4." + +msgid "" +"This change brings the import semantics of extension modules that opt-in to " +"using the new mechanism much closer to those of Python source and bytecode " +"modules, including the ability to use any valid identifier as a module name, " +"rather than being restricted to ASCII." +msgstr "" +"Ця зміна наближає семантику імпорту модулів розширення, які вибирають " +"використання нового механізму, до семантики вихідного коду Python і модулів " +"байт-коду, включаючи можливість використовувати будь-який дійсний " +"ідентифікатор як ім’я модуля, а не обмеження ASCII." + +msgid ":pep:`489` -- Multi-phase extension module initialization" +msgstr ":pep:`489` -- Ініціалізація багатофазного модуля розширення" + +msgid "" +"PEP written by Petr Viktorin, Stefan Behnel, and Nick Coghlan; implemented " +"by Petr Viktorin." +msgstr "" +"PEP, написаний Петром Вікторіним, Стефаном Бенелем і Ніком Когланом; " +"реалізував Петро Вікторін." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"Added the ``\"namereplace\"`` error handlers. The ``\"backslashreplace\"`` " +"error handlers now work with decoding and translating. (Contributed by " +"Serhiy Storchaka in :issue:`19676` and :issue:`22286`.)" +msgstr "" +"Додано обробники помилок ``\"namereplace\"``. Обробники помилок ``" +"\"backslashreplace\"`` тепер працюють з декодуванням і перекладом. (Надав " +"Сергій Сторчака в :issue:`19676` і :issue:`22286`.)" + +msgid "" +"The :option:`-b` option now affects comparisons of :class:`bytes` with :" +"class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)" +msgstr "" +"Параметр :option:`-b` тепер впливає на порівняння :class:`bytes` з :class:" +"`int`. (Надав Сергій Сторчака в :issue:`23681`.)" + +msgid "" +"New Kazakh ``kz1048`` and Tajik ``koi8_t`` :ref:`codecs `. (Contributed by Serhiy Storchaka in :issue:`22682` and :issue:" +"`22681`.)" +msgstr "" +"Нові казахські ``kz1048`` і таджицькі ``koi8_t`` :ref:`кодеки `. (Надав Сергій Сторчака в :issue:`22682` і :issue:`22681`.)" + +msgid "" +"Property docstrings are now writable. This is especially useful for :func:" +"`collections.namedtuple` docstrings. (Contributed by Berker Peksag in :issue:" +"`24064`.)" +msgstr "" +"Документаційні рядки властивостей тепер доступні для запису. Це особливо " +"корисно для рядків документів :func:`collections.namedtuple`. (Надано Berker " +"Peksag у :issue:`24064`.)" + +msgid "" +"Circular imports involving relative imports are now supported. (Contributed " +"by Brett Cannon and Antoine Pitrou in :issue:`17636`.)" +msgstr "" +"Тепер підтримується циклічний імпорт із відносним імпортом. (Надано Бреттом " +"Кенноном і Антуаном Пітру в :issue:`17636`.)" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "typing" +msgstr "введення тексту" + +msgid "" +"The new :mod:`typing` :term:`provisional ` module provides " +"standard definitions and tools for function type annotations. See :ref:`Type " +"Hints ` for more information." +msgstr "" +"Новий модуль :mod:`typing` :term:`provisional ` надає " +"стандартні визначення та інструменти для анотацій типів функцій. Дивіться :" +"ref:`Підказки типу ` для отримання додаткової інформації." + +msgid "zipapp" +msgstr "zipap" + +msgid "" +"The new :mod:`zipapp` module (specified in :pep:`441`) provides an API and " +"command line tool for creating executable Python Zip Applications, which " +"were introduced in Python 2.6 in :issue:`1739468`, but which were not well " +"publicized, either at the time or since." +msgstr "" +"Новий модуль :mod:`zipapp` (зазначений у :pep:`441`) надає API та інструмент " +"командного рядка для створення виконуваних програм Python Zip, які були " +"представлені в Python 2.6 у :issue:`1739468`, але які були не було широко " +"розголошено ні в той час, ні після." + +msgid "" +"With the new module, bundling your application is as simple as putting all " +"the files, including a ``__main__.py`` file, into a directory ``myapp`` and " +"running:" +msgstr "" +"З новим модулем об’єднати вашу програму так само просто, як помістити всі " +"файли, включно з файлом ``__main__.py``, у каталог ``myapp`` і запустити:" + +msgid "" +"The module implementation has been contributed by Paul Moore in :issue:" +"`23491`." +msgstr "Реалізацію модуля надав Пол Мур у :issue:`23491`." + +msgid ":pep:`441` -- Improving Python ZIP Application Support" +msgstr ":pep:`441` -- Покращення підтримки програм Python ZIP" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "argparse" +msgstr "argparse" + +msgid "" +"The :class:`~argparse.ArgumentParser` class now allows disabling :ref:" +"`abbreviated usage ` of long options by setting :ref:" +"`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, Steven " +"Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)" +msgstr "" +"Клас :class:`~argparse.ArgumentParser` тепер дозволяє вимкнути :ref:" +"`скорочене використання ` довгих параметрів, встановивши :" +"ref:`allow_abbrev` значення ``False``. (Надано Джонатаном По, Стівеном " +"Бетардом, Полом j3 і Даніелем Ерікссоном у :issue:`14910`.)" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"Since the :mod:`asyncio` module is :term:`provisional `, " +"all changes introduced in Python 3.5 have also been backported to Python 3.4." +"x." +msgstr "" +"Оскільки модуль :mod:`asyncio` є :term:`тимчасовим `, усі " +"зміни, внесені в Python 3.5, також було перенесено до Python 3.4.x." + +msgid "Notable changes in the :mod:`asyncio` module since Python 3.4.0:" +msgstr "Помітні зміни в модулі :mod:`asyncio` з Python 3.4.0:" + +msgid "" +"New debugging APIs: :meth:`loop.set_debug() ` and :" +"meth:`loop.get_debug() ` methods. (Contributed by " +"Victor Stinner.)" +msgstr "" +"Нові API налагодження: методи :meth:`loop.set_debug() ` і :meth:`loop.get_debug() `. (Надав " +"Віктор Стіннер.)" + +msgid "" +"The proactor event loop now supports SSL. (Contributed by Antoine Pitrou and " +"Victor Stinner in :issue:`22560`.)" +msgstr "" +"Цикл подій proactor тепер підтримує SSL. (Надано Антуаном Пітру та Віктором " +"Стіннером у :issue:`22560`.)" + +msgid "" +"A new :meth:`loop.is_closed() ` method to check if " +"the event loop is closed. (Contributed by Victor Stinner in :issue:`21326`.)" +msgstr "" +"Новий метод :meth:`loop.is_closed() ` для перевірки, " +"чи замкнутий цикл подій. (Надав Віктор Стіннер у :issue:`21326`.)" + +msgid "" +"A new :meth:`loop.create_task() ` to conveniently " +"create and schedule a new :class:`~asyncio.Task` for a coroutine. The " +"``create_task`` method is also used by all asyncio functions that wrap " +"coroutines into tasks, such as :func:`asyncio.wait`, :func:`asyncio.gather`, " +"etc. (Contributed by Victor Stinner.)" +msgstr "" +"Новий :meth:`loop.create_task() ` для зручного " +"створення та планування нового :class:`~asyncio.Task` для співпрограми. " +"Метод ``create_task`` також використовується всіма асинхронними функціями, " +"які об’єднують співпрограми в завдання, наприклад :func:`asyncio.wait`, :" +"func:`asyncio.gather` тощо (Надано Віктором Стіннером.)" + +msgid "" +"A new :meth:`transport.get_write_buffer_limits() ` method to inquire for *high-* and *low-* water " +"limits of the flow control. (Contributed by Victor Stinner.)" +msgstr "" +"Новий метод :meth:`transport.get_write_buffer_limits() ` для запиту *високих* і *низьких* " +"обмежень води для керування потоком. (Надав Віктор Стіннер.)" + +msgid "" +"The :func:`~asyncio.async` function is deprecated in favor of :func:" +"`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" +msgstr "" +"Функція :func:`~asyncio.async` застаріла на користь :func:`~asyncio." +"ensure_future`. (Уклав Юрій Селіванов.)" + +msgid "" +"New :meth:`loop.set_task_factory() ` and :" +"meth:`loop.get_task_factory() ` methods to " +"customize the task factory that :meth:`loop.create_task() ` method uses. (Contributed by Yury Selivanov.)" +msgstr "" +"Нові методи :meth:`loop.set_task_factory() ` " +"і :meth:`loop.get_task_factory() ` для " +"налаштування фабрики завдань, яку використовує метод :meth:`loop." +"create_task() `. (Уклав Юрій Селіванов.)" + +msgid "" +"New :meth:`Queue.join() ` and :meth:`Queue.task_done() " +"` queue methods. (Contributed by Victor Stinner.)" +msgstr "" +"Нові методи черги :meth:`Queue.join() ` і :meth:`Queue." +"task_done() `. (Надав Віктор Стіннер.)" + +msgid "" +"The ``JoinableQueue`` class was removed, in favor of the :class:`asyncio." +"Queue` class. (Contributed by Victor Stinner.)" +msgstr "" +"Клас ``JoinableQueue`` було видалено на користь класу :class:`asyncio." +"Queue`. (Надав Віктор Стіннер.)" + +msgid "Updates in 3.5.1:" +msgstr "Оновлення в 3.5.1:" + +msgid "" +"The :func:`~asyncio.ensure_future` function and all functions that use it, " +"such as :meth:`loop.run_until_complete() `, " +"now accept all kinds of :term:`awaitable objects `. (Contributed " +"by Yury Selivanov.)" +msgstr "" +"Функція :func:`~asyncio.ensure_future` і всі функції, які її використовують, " +"такі як :meth:`loop.run_until_complete() `, " +"тепер приймають усі типи :term:`awaitable об’єктів `. (Уклав Юрій " +"Селіванов.)" + +msgid "" +"New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " +"to event loops from other threads. (Contributed by Vincent Michel.)" +msgstr "" +"Нова функція :func:`~asyncio.run_coroutine_threadsafe` для надсилання " +"співпрограм до циклів подій з інших потоків. (Надав Вінсент Мішель.)" + +msgid "" +"New :meth:`Transport.is_closing() ` method " +"to check if the transport is closing or closed. (Contributed by Yury " +"Selivanov.)" +msgstr "" +"Новий метод :meth:`Transport.is_closing() ` для перевірки, закривається чи закривається транспорт. (Уклав " +"Юрій Селіванов.)" + +msgid "" +"The :meth:`loop.create_server() ` method can now " +"accept a list of hosts. (Contributed by Yann Sionneau.)" +msgstr "" +"Метод :meth:`loop.create_server() ` тепер може " +"приймати список хостів. (Надав Ян Сіно.)" + +msgid "Updates in 3.5.2:" +msgstr "Оновлення в 3.5.2:" + +msgid "" +"New :meth:`loop.create_future() ` method to " +"create Future objects. This allows alternative event loop implementations, " +"such as `uvloop `_, to provide a " +"faster :class:`asyncio.Future` implementation. (Contributed by Yury " +"Selivanov.)" +msgstr "" +"Новий метод :meth:`loop.create_future() ` для " +"створення об’єктів Future. Це дозволяє альтернативним реалізаціям циклу " +"подій, таким як `uvloop `_, " +"забезпечити швидшу реалізацію :class:`asyncio.Future`. (Уклав Юрій " +"Селіванов.)" + +msgid "" +"New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " +"(Contributed by Yury Selivanov.)" +msgstr "" +"Новий метод :meth:`loop.get_exception_handler() ` для отримання поточного обробника винятків. (Уклав " +"Юрій Селіванов.)" + +msgid "" +"New :meth:`StreamReader.readuntil() ` method " +"to read data from the stream until a separator bytes sequence appears. " +"(Contributed by Mark Korenberg.)" +msgstr "" +"Новий метод :meth:`StreamReader.readuntil() ` для читання даних із потоку, доки не з’явиться послідовність " +"байтів-роздільників. (Надав Марк Коренберг.)" + +msgid "" +"The :meth:`loop.create_connection() ` and :" +"meth:`loop.create_server() ` methods are " +"optimized to avoid calling the system ``getaddrinfo`` function if the " +"address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" +msgstr "" +"Методи :meth:`loop.create_connection() ` і :" +"meth:`loop.create_server() ` оптимізовано, щоб " +"уникнути виклику системної функції ``getaddrinfo``, якщо адресу вже " +"визначено. (Надав А. Джессі Джірю Девіс.)" + +msgid "" +"The :meth:`loop.sock_connect(sock, address) ` no " +"longer requires the *address* to be resolved prior to the call. (Contributed " +"by A. Jesse Jiryu Davis.)" +msgstr "" +":meth:`loop.sock_connect(sock, address) ` більше " +"не вимагає визначення *адреси* перед викликом. (Надав А. Джессі Джірю Девіс.)" + +msgid "bz2" +msgstr "bz2" + +msgid "" +"The :meth:`BZ2Decompressor.decompress ` " +"method now accepts an optional *max_length* argument to limit the maximum " +"size of decompressed data. (Contributed by Nikolaus Rath in :issue:`15955`.)" +msgstr "" +"Метод :meth:`BZ2Decompressor.decompress ` " +"тепер приймає додатковий аргумент *max_length* для обмеження максимального " +"розміру розпакованих даних. (Надав Ніколаус Рат у :issue:`15955`.)" + +msgid "cgi" +msgstr "cgi" + +msgid "" +"The :class:`~cgi.FieldStorage` class now supports the :term:`context " +"manager` protocol. (Contributed by Berker Peksag in :issue:`20289`.)" +msgstr "" +"Клас :class:`~cgi.FieldStorage` тепер підтримує протокол :term:`context " +"manager`. (Надано Berker Peksag у :issue:`20289`.)" + +msgid "cmath" +msgstr "cmath" + +msgid "" +"A new function :func:`~cmath.isclose` provides a way to test for approximate " +"equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" +msgstr "" +"Нова функція :func:`~cmath.isclose` надає спосіб перевірити приблизну " +"рівність. (Надано Крісом Баркером і Тал Ейнатом у :issue:`24270`.)" + +msgid "code" +msgstr "код" + +msgid "" +"The :func:`InteractiveInterpreter.showtraceback() ` method now prints the full chained " +"traceback, just like the interactive interpreter. (Contributed by Claudiu " +"Popa in :issue:`17442`.)" +msgstr "" +"Метод :func:`InteractiveInterpreter.showtraceback() ` тепер друкує повний ланцюжок " +"трасування, як і інтерактивний інтерпретатор. (Надав Клаудіу Попа в :issue:" +"`17442`.)" + +msgid "collections" +msgstr "колекції" + +msgid "" +"The :class:`~collections.OrderedDict` class is now implemented in C, which " +"makes it 4 to 100 times faster. (Contributed by Eric Snow in :issue:" +"`16991`.)" +msgstr "" +"Клас :class:`~collections.OrderedDict` тепер реалізовано в C, що робить його " +"від 4 до 100 разів швидшим. (Надав Ерік Сноу в :issue:`16991`.)" + +msgid "" +":meth:`OrderedDict.items() `, :meth:" +"`OrderedDict.keys() `, :meth:`OrderedDict." +"values() ` views now support :func:" +"`reversed` iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)" +msgstr "" +":meth:`OrderedDict.items() `, :meth:" +"`OrderedDict.keys() `, :meth:`OrderedDict." +"values() ` представлення тепер підтримують :" +"func:`reversed` ітерацію. (Надав Сергій Сторчака в :issue:`19505`.)" + +msgid "" +"The :class:`~collections.deque` class now defines :meth:`~collections.deque." +"index`, :meth:`~collections.deque.insert`, and :meth:`~collections.deque." +"copy`, and supports the ``+`` and ``*`` operators. This allows deques to be " +"recognized as a :class:`~collections.abc.MutableSequence` and improves their " +"substitutability for lists. (Contributed by Raymond Hettinger in :issue:" +"`23704`.)" +msgstr "" +"Клас :class:`~collections.deque` тепер визначає :meth:`~collections.deque." +"index`, :meth:`~collections.deque.insert` і :meth:`~collections.deque.copy`, " +"і підтримує оператори ``+`` і ``*``. Це дозволяє розпізнавати двокомпонентні " +"послідовності як :class:`~collections.abc.MutableSequence` і покращує їх " +"замінність списками. (Надав Реймонд Геттінгер у :issue:`23704`.)" + +msgid "" +"Docstrings produced by :func:`~collections.namedtuple` can now be updated::" +msgstr "" +"Рядки документів, створені :func:`~collections.namedtuple`, тепер можна " +"оновлювати:" + +msgid "(Contributed by Berker Peksag in :issue:`24064`.)" +msgstr "(Надано Berker Peksag у :issue:`24064`.)" + +msgid "" +"The :class:`~collections.UserString` class now implements the :meth:" +"`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str." +"format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans` methods to " +"match the corresponding methods of :class:`str`. (Contributed by Joe Jevnik " +"in :issue:`22189`.)" +msgstr "" +"Клас :class:`~collections.UserString` тепер реалізує :meth:" +"`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str." +"format_map`, :meth:`~str.isprintable`, і :meth:`~str.maketrans` методи для " +"відповідності відповідним методам :class:`str`. (Надав Джо Джевнік у :issue:" +"`22189`.)" + +msgid "collections.abc" +msgstr "колекції.abc" + +msgid "" +"The :meth:`Sequence.index() ` method now " +"accepts *start* and *stop* arguments to match the corresponding methods of :" +"class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in :" +"issue:`23086`.)" +msgstr "" +"Метод :meth:`Sequence.index() ` тепер " +"приймає аргументи *start* і *stop* для відповідності відповідним методам :" +"class:`tuple`, :class:`list` тощо (надано Девіном Жанп'єром в :issue:" +"`23086`.)" + +msgid "" +"A new :class:`~collections.abc.Generator` abstract base class. (Contributed " +"by Stefan Behnel in :issue:`24018`.)" +msgstr "" +"Новий :class:`~collections.abc.Generator` абстрактний базовий клас. (Надав " +"Стефан Бенель у :issue:`24018`.)" + +msgid "" +"New :class:`~collections.abc.Awaitable`, :class:`~collections.abc." +"Coroutine`, :class:`~collections.abc.AsyncIterator`, and :class:" +"`~collections.abc.AsyncIterable` abstract base classes. (Contributed by Yury " +"Selivanov in :issue:`24184`.)" +msgstr "" +"Нові :class:`~collections.abc.Awaitable`, :class:`~collections.abc." +"Coroutine`, :class:`~collections.abc.AsyncIterator` і :class:`~collections." +"abc.AsyncIterable` анотація базові класи. (Надав Юрій Селіванов у :issue:" +"`24184`.)" + +msgid "" +"For earlier Python versions, a backport of the new ABCs is available in an " +"external `PyPI package `_." +msgstr "" +"Для попередніх версій Python бекпорт нових ABC доступний у зовнішньому " +"`пакеті PyPI `_." + +msgid "compileall" +msgstr "compileall" + +msgid "" +"A new :mod:`compileall` option, :samp:`-j {N}`, allows running *N* workers " +"simultaneously to perform parallel bytecode compilation. The :func:" +"`~compileall.compile_dir` function has a corresponding ``workers`` " +"parameter. (Contributed by Claudiu Popa in :issue:`16104`.)" +msgstr "" +"Нова опція :mod:`compileall`, :samp:`-j {N}`, дозволяє запускати *N* робочих " +"процесів одночасно для виконання паралельної компіляції байт-коду. Функція :" +"func:`~compileall.compile_dir` має відповідний параметр ``workers``. (Надав " +"Клаудіу Попа в :issue:`16104`.)" + +msgid "" +"Another new option, ``-r``, allows controlling the maximum recursion level " +"for subdirectories. (Contributed by Claudiu Popa in :issue:`19628`.)" +msgstr "" +"Ще один новий параметр, ``-r``, дозволяє контролювати максимальний рівень " +"рекурсії для підкаталогів. (Надав Клаудіу Попа в :issue:`19628`.)" + +msgid "" +"The ``-q`` command line option can now be specified more than once, in which " +"case all output, including errors, will be suppressed. The corresponding " +"``quiet`` parameter in :func:`~compileall.compile_dir`, :func:`~compileall." +"compile_file`, and :func:`~compileall.compile_path` can now accept an " +"integer value indicating the level of output suppression. (Contributed by " +"Thomas Kluyver in :issue:`21338`.)" +msgstr "" +"Параметр командного рядка ``-q`` тепер можна вказувати кілька разів, у цьому " +"випадку всі виведення, включаючи помилки, будуть придушені. Відповідний " +"параметр ``quiet`` у :func:`~compileall.compile_dir`, :func:`~compileall." +"compile_file` і :func:`~compileall.compile_path` тепер може приймати ціле " +"значення, що вказує на рівень виведення придушення. (Надав Томас Клюйвер у :" +"issue:`21338`.)" + +msgid "concurrent.futures" +msgstr "concurrent.futures" + +msgid "" +"The :meth:`Executor.map() ` method now " +"accepts a *chunksize* argument to allow batching of tasks to improve " +"performance when :meth:`~concurrent.futures.ProcessPoolExecutor` is used. " +"(Contributed by Dan O'Reilly in :issue:`11271`.)" +msgstr "" +"Метод :meth:`Executor.map() ` тепер приймає " +"аргумент *chunksize*, щоб дозволити групування завдань для підвищення " +"продуктивності, коли використовується :meth:`~concurrent.futures." +"ProcessPoolExecutor`. (Надав Ден О'Райлі в :issue:`11271`.)" + +msgid "" +"The number of workers in the :class:`~concurrent.futures.ThreadPoolExecutor` " +"constructor is optional now. The default value is 5 times the number of " +"CPUs. (Contributed by Claudiu Popa in :issue:`21527`.)" +msgstr "" +"Кількість робітників у конструкторі :class:`~concurrent.futures." +"ThreadPoolExecutor` тепер необов’язкова. Значення за замовчуванням у 5 разів " +"перевищує кількість ЦП. (Надав Клаудіу Попа в :issue:`21527`.)" + +msgid "configparser" +msgstr "аналізатор конфігурації" + +msgid "" +":mod:`configparser` now provides a way to customize the conversion of values " +"by specifying a dictionary of converters in the :class:`~configparser." +"ConfigParser` constructor, or by defining them as methods in " +"``ConfigParser`` subclasses. Converters defined in a parser instance are " +"inherited by its section proxies." +msgstr "" +":mod:`configparser` тепер надає можливість налаштувати перетворення значень, " +"вказавши словник перетворювачів у конструкторі :class:`~configparser." +"ConfigParser` або визначивши їх як методи в підкласах ``ConfigParser``. " +"Конвертери, визначені в екземплярі аналізатора, успадковуються його проксі-" +"серверами розділів." + +msgid "Example::" +msgstr "Приклад::" + +msgid "(Contributed by Łukasz Langa in :issue:`18159`.)" +msgstr "(Надав Łukasz Langa в :issue:`18159`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"The new :func:`~contextlib.redirect_stderr` :term:`context manager` (similar " +"to :func:`~contextlib.redirect_stdout`) makes it easier for utility scripts " +"to handle inflexible APIs that write their output to :data:`sys.stderr` and " +"don't provide any options to redirect it::" +msgstr "" +"Новий :func:`~contextlib.redirect_stderr` :term:`context manager` (схожий " +"на :func:`~contextlib.redirect_stdout`) спрощує роботу сценаріїв утиліт з " +"негнучкими API, які записують свій вихід до :data:`sys.stderr` і не надає " +"жодних опцій для його перенаправлення::" + +msgid "(Contributed by Berker Peksag in :issue:`22389`.)" +msgstr "(Надано Berker Peksag у :issue:`22389`.)" + +msgid "csv" +msgstr "csv" + +msgid "" +"The :meth:`~csv.csvwriter.writerow` method now supports arbitrary iterables, " +"not just sequences. (Contributed by Serhiy Storchaka in :issue:`23171`.)" +msgstr "" +"Метод :meth:`~csv.csvwriter.writerow` тепер підтримує довільні ітерації, а " +"не лише послідовності. (Надав Сергій Сторчака в :issue:`23171`.)" + +msgid "curses" +msgstr "прокльони" + +msgid "" +"The new :func:`~curses.update_lines_cols` function updates the :envvar:" +"`LINES` and :envvar:`COLS` environment variables. This is useful for " +"detecting manual screen resizing. (Contributed by Arnon Yaari in :issue:" +"`4254`.)" +msgstr "" +"Нова функція :func:`~curses.update_lines_cols` оновлює змінні середовища :" +"envvar:`LINES` і :envvar:`COLS`. Це корисно для виявлення зміни розміру " +"екрана вручну. (Надав Арнон Яарі в :issue:`4254`.)" + +msgid "dbm" +msgstr "dbm" + +msgid "" +":func:`dumb.open ` always creates a new database when the " +"flag has the value ``\"n\"``. (Contributed by Claudiu Popa in :issue:" +"`18039`.)" +msgstr "" +":func:`dumb.open ` завжди створює нову базу даних, якщо " +"прапорець має значення ``\"n\"``. (Надав Клаудіу Попа в :issue:`18039`.)" + +msgid "difflib" +msgstr "difflib" + +msgid "" +"The charset of HTML documents generated by :meth:`HtmlDiff.make_file() " +"` can now be customized by using a new *charset* " +"keyword-only argument. The default charset of HTML document changed from ``" +"\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in :issue:" +"`2052`.)" +msgstr "" +"Набір символів HTML-документів, згенерованих :meth:`HtmlDiff.make_file() " +"`, тепер можна налаштувати за допомогою нового " +"аргументу *charset*, що містить лише ключове слово. Стандартний набір кодів " +"HTML-документа змінено з ``\"ISO-8859-1\"`` на ``\"utf-8\"``. (Надано Berker " +"Peksag у :issue:`2052`.)" + +msgid "" +"The :func:`~difflib.diff_bytes` function can now compare lists of byte " +"strings. This fixes a regression from Python 2. (Contributed by Terry J. " +"Reedy and Greg Ward in :issue:`17445`.)" +msgstr "" +"Функція :func:`~difflib.diff_bytes` тепер може порівнювати списки рядків " +"байтів. Це виправляє регресію з Python 2. (Надано Terry J. Reedy і Greg Ward " +"у :issue:`17445`.)" + +msgid "distutils" +msgstr "distutils" + +msgid "" +"Both the ``build`` and ``build_ext`` commands now accept a ``-j`` option to " +"enable parallel building of extension modules. (Contributed by Antoine " +"Pitrou in :issue:`5309`.)" +msgstr "" +"Обидві команди ``build`` і ``build_ext`` тепер приймають опцію ``-j``, щоб " +"увімкнути паралельне створення модулів розширення. (Надав Антуан Пітру в :" +"issue:`5309`.)" + +msgid "" +"The :mod:`distutils` module now supports ``xz`` compression, and can be " +"enabled by passing ``xztar`` as an argument to ``bdist --format``. " +"(Contributed by Serhiy Storchaka in :issue:`16314`.)" +msgstr "" +"Модуль :mod:`distutils` тепер підтримує стиснення ``xz``, і його можна " +"ввімкнути, передавши ``xztar`` як аргумент ``bdist --format``. (Надав Сергій " +"Сторчака в :issue:`16314`.)" + +msgid "doctest" +msgstr "doctest" + +msgid "" +"The :func:`~doctest.DocTestSuite` function returns an empty :class:`unittest." +"TestSuite` if *module* contains no docstrings, instead of raising :exc:" +"`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)" +msgstr "" +"Функція :func:`~doctest.DocTestSuite` повертає порожній :class:`unittest." +"TestSuite`, якщо *module* не містить рядків документації, замість того, щоб " +"викликати :exc:`ValueError`. (Надав Гленн Джонс у :issue:`15916`.)" + +msgid "email" +msgstr "електронною поштою" + +msgid "" +"A new policy option :attr:`Policy.mangle_from_ ` controls whether or not lines that start with ``\"From \"`` " +"in email bodies are prefixed with a ``\">\"`` character by generators. The " +"default is ``True`` for :attr:`~email.policy.compat32` and ``False`` for all " +"other policies. (Contributed by Milan Oberkirch in :issue:`20098`.)" +msgstr "" +"Нова опція політики :attr:`Policy.mangle_from_ ` контролює, чи додають генератори до рядків, які починаються з " +"``\"From \"``, у тексті електронної пошти префікс ``\">\"``. За " +"замовчуванням для :attr:`~email.policy.compat32` є ``True`` і ``False`` для " +"всіх інших політик. (Надано Міланом Оберкірхом у :issue:`20098`.)" + +msgid "" +"A new :meth:`Message.get_content_disposition() ` method provides easy access to a canonical value " +"for the :mailheader:`Content-Disposition` header. (Contributed by Abhilash " +"Raj in :issue:`21083`.)" +msgstr "" +"Новий метод :meth:`Message.get_content_disposition() ` забезпечує легкий доступ до канонічного значення " +"для заголовка :mailheader:`Content-Disposition`. (Надав Абхілаш Радж у :" +"issue:`21083`.)" + +msgid "" +"A new policy option :attr:`EmailPolicy.utf8 ` " +"can be set to ``True`` to encode email headers using the UTF-8 charset " +"instead of using encoded words. This allows ``Messages`` to be formatted " +"according to :rfc:`6532` and used with an SMTP server that supports the :rfc:" +"`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray in :issue:" +"`24211`.)" +msgstr "" +"Для нового параметра політики :attr:`EmailPolicy.utf8 ` можна встановити значення ``True`` для кодування " +"заголовків електронної пошти за допомогою набору символів UTF-8 замість " +"використання закодованих слів. Це дозволяє форматувати ``повідомлення`` " +"відповідно до :rfc:`6532` і використовувати їх із сервером SMTP, який " +"підтримує :rfc:`6531` розширення ``SMTPUTF8``. (Надав Р. Девід Мюррей у :" +"issue:`24211`.)" + +msgid "" +"The :class:`mime.text.MIMEText ` constructor now " +"accepts a :class:`charset.Charset ` instance. " +"(Contributed by Claude Paroz and Berker Peksag in :issue:`16324`.)" +msgstr "" +"Конструктор :class:`mime.text.MIMEText ` тепер " +"приймає екземпляр :class:`charset.Charset `. (Надано " +"Клодом Парозом і Беркером Пексагом у :issue:`16324`.)" + +msgid "enum" +msgstr "enum" + +msgid "" +"The :class:`~enum.Enum` callable has a new parameter *start* to specify the " +"initial number of enum values if only *names* are provided::" +msgstr "" +"Викликаний :class:`~enum.Enum` має новий параметр *start* для визначення " +"початкової кількості значень переліку, якщо надано лише *імена*::" + +msgid "(Contributed by Ethan Furman in :issue:`21706`.)" +msgstr "(Надав Ітан Фурман у :issue:`21706`.)" + +msgid "faulthandler" +msgstr "обробник помилок" + +msgid "" +"The :func:`~faulthandler.enable`, :func:`~faulthandler.register`, :func:" +"`~faulthandler.dump_traceback` and :func:`~faulthandler." +"dump_traceback_later` functions now accept file descriptors in addition to " +"file-like objects. (Contributed by Wei Wu in :issue:`23566`.)" +msgstr "" +"Функції :func:`~faulthandler.enable`, :func:`~faulthandler.register`, :func:" +"`~faulthandler.dump_traceback` і :func:`~faulthandler.dump_traceback_later` " +"тепер приймають дескриптори файлів на додаток до file- як предмети. (Надав " +"Вей Ву в :issue:`23566`.)" + +msgid "functools" +msgstr "functools" + +msgid "" +"Most of the :func:`~functools.lru_cache` machinery is now implemented in C, " +"making it significantly faster. (Contributed by Matt Joiner, Alexey " +"Kachayev, and Serhiy Storchaka in :issue:`14373`.)" +msgstr "" +"Більшість механізмів :func:`~functools.lru_cache` тепер реалізовано на C, що " +"робить його значно швидшим. (Надано Метом Джойнером, Олексієм Качаєвим і " +"Сергієм Сторчакою в :issue:`14373`.)" + +msgid "glob" +msgstr "глоб" + +msgid "" +"The :func:`~glob.iglob` and :func:`~glob.glob` functions now support " +"recursive search in subdirectories, using the ``\"**\"`` pattern. " +"(Contributed by Serhiy Storchaka in :issue:`13968`.)" +msgstr "" +"Функції :func:`~glob.iglob` і :func:`~glob.glob` тепер підтримують " +"рекурсивний пошук у підкаталогах за шаблоном ``\"**\"``. (Надав Сергій " +"Сторчака в :issue:`13968`.)" + +msgid "gzip" +msgstr "gzip" + +msgid "" +"The *mode* argument of the :class:`~gzip.GzipFile` constructor now accepts ``" +"\"x\"`` to request exclusive creation. (Contributed by Tim Heaney in :issue:" +"`19222`.)" +msgstr "" +"Аргумент *mode* конструктора :class:`~gzip.GzipFile` тепер приймає ``\"x\"`` " +"для запиту ексклюзивного створення. (Надав Тім Хіні в :issue:`19222`.)" + +msgid "heapq" +msgstr "heapq" + +msgid "" +"Element comparison in :func:`~heapq.merge` can now be customized by passing " +"a :term:`key function` in a new optional *key* keyword argument, and a new " +"optional *reverse* keyword argument can be used to reverse element " +"comparison::" +msgstr "" +"Порівняння елементів у :func:`~heapq.merge` тепер можна налаштувати, " +"передавши :term:`key function` в новий необов’язковий аргумент ключового " +"слова *key*, а новий додатковий аргумент ключового слова *reverse* можна " +"використовувати для зворотного порівняння елементів::" + +msgid "(Contributed by Raymond Hettinger in :issue:`13742`.)" +msgstr "(Надав Реймонд Геттінгер у :issue:`13742`.)" + +msgid "http" +msgstr "http" + +msgid "" +"A new :class:`HTTPStatus ` enum that defines a set of HTTP " +"status codes, reason phrases and long descriptions written in English. " +"(Contributed by Demian Brecht in :issue:`21793`.)" +msgstr "" +"Новий перелік :class:`HTTPStatus `, який визначає набір " +"кодів стану HTTP, фраз причин і довгих описів, написаних англійською мовою. " +"(Надав Деміан Брехт у :issue:`21793`.)" + +msgid "http.client" +msgstr "http.client" + +msgid "" +":meth:`HTTPConnection.getresponse() ` now raises a :exc:`~http.client.RemoteDisconnected` exception " +"when a remote server connection is closed unexpectedly. Additionally, if a :" +"exc:`ConnectionError` (of which ``RemoteDisconnected`` is a subclass) is " +"raised, the client socket is now closed automatically, and will reconnect on " +"the next request::" +msgstr "" +":meth:`HTTPConnection.getresponse() ` тепер викликає виняток :exc:`~http.client.RemoteDisconnected`, " +"коли з’єднання з віддаленим сервером неочікувано закривається. Крім того, " +"якщо виникає :exc:`ConnectionError` (підкласом якого є " +"``RemoteDisconnected``), клієнтський сокет тепер автоматично закривається та " +"підключатиметься за наступним запитом::" + +msgid "(Contributed by Martin Panter in :issue:`3566`.)" +msgstr "(Надав Мартін Пантер у :issue:`3566`.)" + +msgid "idlelib and IDLE" +msgstr "idlelib і IDLE" + +msgid "" +"Since idlelib implements the IDLE shell and editor and is not intended for " +"import by other programs, it gets improvements with every release. See :" +"file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.4.0, as " +"well as changes made in future 3.5.x releases. This file is also available " +"from the IDLE :menuselection:`Help --> About IDLE` dialog." +msgstr "" +"Оскільки idlelib реалізує оболонку та редактор IDLE і не призначений для " +"імпорту іншими програмами, він отримує покращення з кожним випуском. " +"Дивіться :file:`Lib/idlelib/NEWS.txt` для сукупного списку змін, внесених " +"після версії 3.4.0, а також змін, внесених у майбутніх версіях 3.5.x. Цей " +"файл також доступний у діалоговому вікні IDLE :menuselection:`Довідка --> " +"Про IDLE`." + +msgid "imaplib" +msgstr "імапліб" + +msgid "" +"The :class:`~imaplib.IMAP4` class now supports the :term:`context manager` " +"protocol. When used in a :keyword:`with` statement, the IMAP4 ``LOGOUT`` " +"command will be called automatically at the end of the block. (Contributed " +"by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)" +msgstr "" +"Клас :class:`~imaplib.IMAP4` тепер підтримує протокол :term:`context " +"manager`. У разі використання в операторі :keyword:`with` команда ``LOGOUT`` " +"IMAP4 буде викликана автоматично в кінці блоку. (Надано Тареком Зіаде та " +"Сергієм Сторчакою в :issue:`4972`.)" + +msgid "" +"The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension) and :" +"rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() ` method. A new :attr:`IMAP4.utf8_enabled ` attribute tracks whether or not :rfc:`6855` support is " +"enabled. (Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik " +"in :issue:`21800`.)" +msgstr "" +"Модуль :mod:`imaplib` тепер підтримує :rfc:`5161` (розширення ENABLE) і :rfc:" +"`6855` (підтримка UTF-8) через метод :meth:`IMAP4.enable() `. Новий атрибут :attr:`IMAP4.utf8_enabled ` відстежує, чи ввімкнено підтримку :rfc:`6855`. (Надано " +"Міланом Оберкірхом, Р. Девідом Мюрреєм і Мацеєм Шуліком у :issue:`21800`.)" + +msgid "" +"The :mod:`imaplib` module now automatically encodes non-ASCII string " +"usernames and passwords using UTF-8, as recommended by the RFCs. " +"(Contributed by Milan Oberkirch in :issue:`21800`.)" +msgstr "" +"Модуль :mod:`imaplib` тепер автоматично кодує рядкові імена користувачів і " +"паролі, відмінні від ASCII, за допомогою UTF-8, як рекомендовано RFC. (Надав " +"Мілан Оберкірх у :issue:`21800`.)" + +msgid "imghdr" +msgstr "imghdr" + +msgid "" +"The :func:`~imghdr.what` function now recognizes the `OpenEXR `_ format (contributed by Martin Vignali and Claudiu Popa in :" +"issue:`20295`), and the `WebP `_ format " +"(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" +msgstr "" + +msgid "importlib" +msgstr "importlib" + +msgid "" +"The :class:`util.LazyLoader ` class allows for " +"lazy loading of modules in applications where startup time is important. " +"(Contributed by Brett Cannon in :issue:`17621`.)" +msgstr "" +"Клас :class:`util.LazyLoader ` дозволяє " +"відкладено завантажувати модулі в програмах, де важливий час запуску. " +"(Надано Бреттом Кенноном у :issue:`17621`.)" + +msgid "" +"The :func:`abc.InspectLoader.source_to_code() ` method is now a static method. This makes it easier to " +"initialize a module object with code compiled from a string by running " +"``exec(code, module.__dict__)``. (Contributed by Brett Cannon in :issue:" +"`21156`.)" +msgstr "" +"Метод :func:`abc.InspectLoader.source_to_code() ` тепер є статичним методом. Це полегшує ініціалізацію " +"об’єкта модуля кодом, скомпільованим із рядка, запустивши ``exec(code, " +"module.__dict__)``. (Надано Бреттом Кенноном у :issue:`21156`.)" + +msgid "" +"The new :func:`util.module_from_spec() ` " +"function is now the preferred way to create a new module. As opposed to " +"creating a :class:`types.ModuleType` instance directly, this new function " +"will set the various import-controlled attributes based on the passed-in " +"spec object. (Contributed by Brett Cannon in :issue:`20383`.)" +msgstr "" +"Нова функція :func:`util.module_from_spec() ` тепер є кращим способом створення нового модуля. На " +"відміну від безпосереднього створення екземпляра :class:`types.ModuleType`, " +"ця нова функція встановлюватиме різні контрольовані імпортом атрибути на " +"основі переданого специфікаційного об’єкта. (Надано Бреттом Кенноном у :" +"issue:`20383`.)" + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"Both the :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes " +"are now picklable and hashable. (Contributed by Yury Selivanov in :issue:" +"`20726` and :issue:`20334`.)" +msgstr "" +"Обидва класи :class:`~inspect.Signature` і :class:`~inspect.Parameter` тепер " +"можна вибирати та хешувати. (Надав Юрій Селіванов у :issue:`20726` і :issue:" +"`20334`.)" + +msgid "" +"A new :meth:`BoundArguments.apply_defaults() ` method provides a way to set default values for missing " +"arguments::" +msgstr "" +"Новий метод :meth:`BoundArguments.apply_defaults() ` забезпечує спосіб встановлення значень за замовчуванням для " +"відсутніх аргументів:" + +msgid "(Contributed by Yury Selivanov in :issue:`24190`.)" +msgstr "(Надав Юрій Селіванов у :issue:`24190`.)" + +msgid "" +"A new class method :meth:`Signature.from_callable() ` makes subclassing of :class:`~inspect.Signature` easier. " +"(Contributed by Yury Selivanov and Eric Snow in :issue:`17373`.)" +msgstr "" +"Новий метод класу :meth:`Signature.from_callable() ` полегшує створення підкласів :class:`~inspect.Signature`. " +"(Надано Юрієм Селівановим та Еріком Сноу в :issue:`17373`.)" + +msgid "" +"The :func:`~inspect.signature` function now accepts a *follow_wrapped* " +"optional keyword argument, which, when set to ``False``, disables automatic " +"following of ``__wrapped__`` links. (Contributed by Yury Selivanov in :issue:" +"`20691`.)" +msgstr "" +"Функція :func:`~inspect.signature` тепер приймає необов’язковий аргумент " +"ключового слова *follow_wrapped*, який, якщо встановлено значення ``False``, " +"вимикає автоматичне перехід за посиланнями ``__wrapped__``. (Надав Юрій " +"Селіванов у :issue:`20691`.)" + +msgid "" +"A set of new functions to inspect :term:`coroutine functions ` and :term:`coroutine objects ` has been added: :func:" +"`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, :func:" +"`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals`, and :func:" +"`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov in :issue:" +"`24017` and :issue:`24400`.)" +msgstr "" +"Додано набір нових функцій для перевірки :term:`функцій співпрограми " +"` та :term:`об’єктів співпрограми `: :func:" +"`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, :func:" +"`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals` і :func:" +"`~inspect.getcoroutinestate`. (Надав Юрій Селіванов у :issue:`24017` та :" +"issue:`24400`.)" + +msgid "" +"The :func:`~inspect.stack`, :func:`~inspect.trace`, :func:`~inspect." +"getouterframes`, and :func:`~inspect.getinnerframes` functions now return a " +"list of named tuples. (Contributed by Daniel Shahaf in :issue:`16808`.)" +msgstr "" +"Функції :func:`~inspect.stack`, :func:`~inspect.trace`, :func:`~inspect." +"getouterframes` і :func:`~inspect.getinnerframes` тепер повертають список " +"іменованих кортежів. (Надав Даніель Шахаф у :issue:`16808`.)" + +msgid "io" +msgstr "io" + +msgid "" +"A new :meth:`BufferedIOBase.readinto1() ` " +"method, that uses at most one call to the underlying raw stream's :meth:" +"`RawIOBase.read() ` or :meth:`RawIOBase.readinto() ` methods. (Contributed by Nikolaus Rath in :issue:" +"`20578`.)" +msgstr "" +"Новий метод :meth:`BufferedIOBase.readinto1() `, який використовує не більше одного виклику базового " +"необробленого потоку методів :meth:`RawIOBase.read() ` " +"або :meth:`RawIOBase.readinto() a0c114382bc`922z0 . (Надав Ніколаус Рат у :" +"issue:`20578`.)" + +msgid "ipaddress" +msgstr "IP-адреса" + +msgid "" +"Both the :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " +"classes now accept an ``(address, netmask)`` tuple argument, so as to easily " +"construct network objects from existing addresses::" +msgstr "" +"Обидва класи :class:`~ipaddress.IPv4Network` і :class:`~ipaddress." +"IPv6Network` тепер приймають аргумент кортежу ``(адреса, маска мережі)``, " +"щоб легко створювати мережеві об’єкти з існуючих адрес:" + +msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)" +msgstr "(Надано Пітером Муді та Антуаном Пітру в :issue:`16531`.)" + +msgid "" +"A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the :" +"class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes " +"returns the name of the reverse DNS PTR record::" +msgstr "" +"Новий атрибут :attr:`~ipaddress.IPv4Network.reverse_pointer` для класів :" +"class:`~ipaddress.IPv4Network` і :class:`~ipaddress.IPv6Network` повертає " +"назву зворотного запису DNS PTR::" + +msgid "(Contributed by Leon Weber in :issue:`20480`.)" +msgstr "(Надав Леон Вебер у :issue:`20480`.)" + +msgid "json" +msgstr "json" + +msgid "" +"The :mod:`json.tool` command line interface now preserves the order of keys " +"in JSON objects passed in input. The new ``--sort-keys`` option can be used " +"to sort the keys alphabetically. (Contributed by Berker Peksag in :issue:" +"`21650`.)" +msgstr "" +"Інтерфейс командного рядка :mod:`json.tool` тепер зберігає порядок ключів в " +"об’єктах JSON, переданих у вхідних даних. Новий параметр ``--sort-keys`` " +"можна використовувати для сортування ключів за алфавітом. (Надано Berker " +"Peksag у :issue:`21650`.)" + +msgid "" +"JSON decoder now raises :exc:`~json.JSONDecodeError` instead of :exc:" +"`ValueError` to provide better context information about the error. " +"(Contributed by Serhiy Storchaka in :issue:`19361`.)" +msgstr "" +"Декодер JSON тепер викликає :exc:`~json.JSONDecodeError` замість :exc:" +"`ValueError`, щоб надати кращу контекстну інформацію про помилку. (Надав " +"Сергій Сторчака в :issue:`19361`.)" + +msgid "linecache" +msgstr "лінійний кеш" + +msgid "" +"A new :func:`~linecache.lazycache` function can be used to capture " +"information about a non-file-based module to permit getting its lines later " +"via :func:`~linecache.getline`. This avoids doing I/O until a line is " +"actually needed, without having to carry the module globals around " +"indefinitely. (Contributed by Robert Collins in :issue:`17911`.)" +msgstr "" +"Нову функцію :func:`~linecache.lazycache` можна використовувати для " +"захоплення інформації про нефайловий модуль, щоб дозволити отримати його " +"рядки пізніше через :func:`~linecache.getline`. Це дозволяє уникнути " +"введення/виведення, доки рядок дійсно не знадобиться, без необхідності " +"носити глобальні модулі безкінечно. (Надав Роберт Коллінз у :issue:`17911`.)" + +msgid "locale" +msgstr "локаль" + +msgid "" +"A new :func:`~locale.delocalize` function can be used to convert a string " +"into a normalized number string, taking the ``LC_NUMERIC`` settings into " +"account::" +msgstr "" +"Нову функцію :func:`~locale.delocalize` можна використовувати для " +"перетворення рядка в нормалізований рядок чисел, враховуючи параметри " +"``LC_NUMERIC``:" + +msgid "(Contributed by Cédric Krier in :issue:`13918`.)" +msgstr "(Надав Седрик Крієр у :issue:`13918`.)" + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"All logging methods (:class:`~logging.Logger` :meth:`~logging.Logger.log`, :" +"meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, :meth:" +"`~logging.Logger.debug`, etc.), now accept exception instances as an " +"*exc_info* argument, in addition to boolean values and exception tuples::" +msgstr "" +"Усі методи журналювання (:class:`~logging.Logger` :meth:`~logging.Logger." +"log`, :meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, :" +"meth:`~logging.Logger.debug` тощо), тепер приймають випадки винятків як " +"аргумент *exc_info* на додаток до логічних значень і кортежів винятків::" + +msgid "(Contributed by Yury Selivanov in :issue:`20537`.)" +msgstr "(Надав Юрій Селіванов у :issue:`20537`.)" + +msgid "" +"The :class:`handlers.HTTPHandler ` class now " +"accepts an optional :class:`ssl.SSLContext` instance to configure SSL " +"settings used in an HTTP connection. (Contributed by Alex Gaynor in :issue:" +"`22788`.)" +msgstr "" +"Клас :class:`handlers.HTTPHandler ` тепер " +"приймає додатковий екземпляр :class:`ssl.SSLContext` для налаштування " +"параметрів SSL, які використовуються в HTTP-з’єднанні. (Надав Алекс Гейнор " +"у :issue:`22788`.)" + +msgid "" +"The :class:`handlers.QueueListener ` class " +"now takes a *respect_handler_level* keyword argument which, if set to " +"``True``, will pass messages to handlers taking handler levels into account. " +"(Contributed by Vinay Sajip.)" +msgstr "" +"Клас :class:`handlers.QueueListener ` тепер " +"приймає аргумент ключового слова *respect_handler_level*, який, якщо " +"встановити значення ``True``, передаватиме повідомлення обробникам з " +"урахуванням рівнів обробників. (Надав Віней Саджип.)" + +msgid "lzma" +msgstr "lzma" + +msgid "" +"The :meth:`LZMADecompressor.decompress() ` " +"method now accepts an optional *max_length* argument to limit the maximum " +"size of decompressed data. (Contributed by Martin Panter in :issue:`15955`.)" +msgstr "" +"Метод :meth:`LZMADecompressor.decompress() ` тепер приймає додатковий аргумент *max_length* для обмеження " +"максимального розміру розпакованих даних. (Надав Мартін Пантер у :issue:" +"`15955`.)" + +msgid "math" +msgstr "математика" + +msgid "" +"Two new constants have been added to the :mod:`math` module: :data:`~math." +"inf` and :data:`~math.nan`. (Contributed by Mark Dickinson in :issue:" +"`23185`.)" +msgstr "" +"До модуля :mod:`math` додано дві нові константи: :data:`~math.inf` і :data:" +"`~math.nan`. (Надав Марк Дікінсон у :issue:`23185`.)" + +msgid "" +"A new function :func:`~math.isclose` provides a way to test for approximate " +"equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" +msgstr "" +"Нова функція :func:`~math.isclose` надає спосіб перевірити приблизну " +"рівність. (Надано Крісом Баркером і Тал Ейнатом у :issue:`24270`.)" + +msgid "" +"A new :func:`~math.gcd` function has been added. The :func:`fractions.gcd` " +"function is now deprecated. (Contributed by Mark Dickinson and Serhiy " +"Storchaka in :issue:`22486`.)" +msgstr "" +"Додано нову функцію :func:`~math.gcd`. Функція :func:`fractions.gcd` тепер " +"застаріла. (Надано Марком Дікінсоном і Сергієм Сторчакою в :issue:`22486`.)" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +":func:`sharedctypes.synchronized() ` objects now support the :term:`context manager` protocol. " +"(Contributed by Charles-François Natali in :issue:`21565`.)" +msgstr "" +":func:`sharedctypes.synchronized() ` об’єкти тепер підтримують протокол :term:`context manager`. " +"(Надав Шарль-Франсуа Наталі в :issue:`21565`.)" + +msgid "operator" +msgstr "оператор" + +msgid "" +":func:`~operator.attrgetter`, :func:`~operator.itemgetter`, and :func:" +"`~operator.methodcaller` objects now support pickling. (Contributed by Josh " +"Rosenberg and Serhiy Storchaka in :issue:`22955`.)" +msgstr "" +"Об’єкти :func:`~operator.attrgetter`, :func:`~operator.itemgetter` і :func:" +"`~operator.methodcaller` тепер підтримують травлення. (Надано Джошем " +"Розенбергом і Сергієм Сторчакою в :issue:`22955`.)" + +msgid "" +"New :func:`~operator.matmul` and :func:`~operator.imatmul` functions to " +"perform matrix multiplication. (Contributed by Benjamin Peterson in :issue:" +"`21176`.)" +msgstr "" +"Нові функції :func:`~operator.matmul` і :func:`~operator.imatmul` для " +"виконання множення матриць. (Надав Бенджамін Петерсон у :issue:`21176`.)" + +msgid "os" +msgstr "ос" + +msgid "" +"The new :func:`~os.scandir` function returning an iterator of :class:`~os." +"DirEntry` objects has been added. If possible, :func:`~os.scandir` extracts " +"file attributes while scanning a directory, removing the need to perform " +"subsequent system calls to determine file type or attributes, which may " +"significantly improve performance. (Contributed by Ben Hoyt with the help " +"of Victor Stinner in :issue:`22524`.)" +msgstr "" +"Додано нову функцію :func:`~os.scandir`, яка повертає ітератор об’єктів :" +"class:`~os.DirEntry`. Якщо можливо, :func:`~os.scandir` витягує атрибути " +"файлів під час сканування каталогу, усуваючи необхідність виконувати " +"наступні системні виклики для визначення типу файлу або атрибутів, що може " +"значно покращити продуктивність. (Надано Беном Хойтом за допомогою Віктора " +"Стіннера в :issue:`22524`.)" + +msgid "" +"On Windows, a new :attr:`stat_result.st_file_attributes ` attribute is now available. It corresponds to the " +"``dwFileAttributes`` member of the ``BY_HANDLE_FILE_INFORMATION`` structure " +"returned by ``GetFileInformationByHandle()``. (Contributed by Ben Hoyt in :" +"issue:`21719`.)" +msgstr "" +"У Windows тепер доступний новий атрибут :attr:`stat_result." +"st_file_attributes `. Він відповідає " +"члену ``dwFileAttributes`` структури ``BY_HANDLE_FILE_INFORMATION``, яку " +"повертає ``GetFileInformationByHandle()``. (Надав Бен Хойт у :issue:`21719`.)" + +msgid "" +"The :func:`~os.urandom` function now uses the ``getrandom()`` syscall on " +"Linux 3.17 or newer, and ``getentropy()`` on OpenBSD 5.6 and newer, removing " +"the need to use ``/dev/urandom`` and avoiding failures due to potential file " +"descriptor exhaustion. (Contributed by Victor Stinner in :issue:`22181`.)" +msgstr "" +"Функція :func:`~os.urandom` тепер використовує системний виклик " +"``getrandom()`` у Linux 3.17 або новіших версіях і ``getentropy()`` в " +"OpenBSD 5.6 і новіших версіях, усуваючи необхідність використовувати ``/ dev/" +"urandom`` та уникнення збоїв через потенційне вичерпання дескриптора файлу. " +"(Надав Віктор Стіннер у :issue:`22181`.)" + +msgid "" +"New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow " +"getting and setting a file descriptor's blocking mode (:data:`~os." +"O_NONBLOCK`.) (Contributed by Victor Stinner in :issue:`22054`.)" +msgstr "" +"Нові функції :func:`~os.get_blocking` і :func:`~os.set_blocking` дозволяють " +"отримати та встановити режим блокування дескриптора файлу (:data:`~os." +"O_NONBLOCK`.) (Надано Віктором Стіннером у :issue:`22054`.)" + +msgid "" +"The :func:`~os.truncate` and :func:`~os.ftruncate` functions are now " +"supported on Windows. (Contributed by Steve Dower in :issue:`23668`.)" +msgstr "" +"Функції :func:`~os.truncate` і :func:`~os.ftruncate` тепер підтримуються в " +"Windows. (Надав Стів Дауер у :issue:`23668`.)" + +msgid "" +"There is a new :func:`os.path.commonpath` function returning the longest " +"common sub-path of each passed pathname. Unlike the :func:`os.path." +"commonprefix` function, it always returns a valid path::" +msgstr "" +"Існує нова функція :func:`os.path.commonpath`, яка повертає найдовший " +"загальний підшлях кожного переданого шляху. На відміну від функції :func:`os." +"path.commonprefix`, вона завжди повертає дійсний шлях::" + +msgid "(Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)" +msgstr "(Надано Рафіком Драуї та Сергієм Сторчакою в :issue:`10395`.)" + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +"The new :meth:`Path.samefile() ` method can be used " +"to check whether the path points to the same file as another path, which can " +"be either another :class:`~pathlib.Path` object, or a string::" +msgstr "" +"Новий метод :meth:`Path.samefile() ` можна " +"використовувати, щоб перевірити, чи шлях вказує на той самий файл, що й " +"інший шлях, який може бути іншим об’єктом :class:`~pathlib.Path` або " +"рядком ::" + +msgid "(Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)" +msgstr "(Надано Vajrasky Kok і Antoine Pitrou у :issue:`19775`.)" + +msgid "" +"The :meth:`Path.mkdir() ` method now accepts a new " +"optional *exist_ok* argument to match ``mkdir -p`` and :func:`os.makedirs` " +"functionality. (Contributed by Berker Peksag in :issue:`21539`.)" +msgstr "" +"Метод :meth:`Path.mkdir() ` тепер приймає новий " +"необов’язковий аргумент *exist_ok* для відповідності ``mkdir -p`` і функції :" +"func:`os.makedirs`. (Надано Berker Peksag у :issue:`21539`.)" + +msgid "" +"There is a new :meth:`Path.expanduser() ` method to " +"expand ``~`` and ``~user`` prefixes. (Contributed by Serhiy Storchaka and " +"Claudiu Popa in :issue:`19776`.)" +msgstr "" +"Існує новий метод :meth:`Path.expanduser() ` для " +"розширення префіксів ``~`` і ``~user``. (Надано Сергієм Сторчакою та Клаудіу " +"Попою в :issue:`19776`.)" + +msgid "" +"A new :meth:`Path.home() ` class method can be used to " +"get a :class:`~pathlib.Path` instance representing the user’s home " +"directory. (Contributed by Victor Salgado and Mayank Tripathi in :issue:" +"`19777`.)" +msgstr "" +"Новий метод класу :meth:`Path.home() ` можна " +"використовувати для отримання екземпляра :class:`~pathlib.Path`, який " +"представляє домашній каталог користувача. (Надано Віктором Сальгадо та " +"Маянком Тріпаті в :issue:`19777`.)" + +msgid "" +"New :meth:`Path.write_text() `, :meth:`Path." +"read_text() `, :meth:`Path.write_bytes() `, :meth:`Path.read_bytes() ` " +"methods to simplify read/write operations on files." +msgstr "" +"Нові методи :meth:`Path.write_text() `, :meth:`Path." +"read_text() `, :meth:`Path.write_bytes() `, :meth:`Path.read_bytes()` для спрощення операцій читання/" +"запису файлів." + +msgid "" +"The following code snippet will create or rewrite existing file ``~/" +"spam42``::" +msgstr "" +"Наступний фрагмент коду створить або перепише існуючий файл ``~/spam42``::" + +msgid "(Contributed by Christopher Welborn in :issue:`20218`.)" +msgstr "(Надав Крістофер Велборн у :issue:`20218`.)" + +msgid "pickle" +msgstr "маринований огірок" + +msgid "" +"Nested objects, such as unbound methods or nested classes, can now be " +"pickled using :ref:`pickle protocols ` older than protocol " +"version 4. Protocol version 4 already supports these cases. (Contributed by " +"Serhiy Storchaka in :issue:`23611`.)" +msgstr "" +"Вкладені об’єкти, такі як незв’язані методи чи вкладені класи, тепер можна " +"вибирати за допомогою :ref:`протоколів pickle `, старших " +"за протокол версії 4. Протокол версії 4 уже підтримує ці випадки. (Надав " +"Сергій Сторчака в :issue:`23611`.)" + +msgid "poplib" +msgstr "попліб" + +msgid "" +"A new :meth:`POP3.utf8() ` command enables :rfc:`6856` " +"(Internationalized Email) support, if a POP server supports it. (Contributed " +"by Milan OberKirch in :issue:`21804`.)" +msgstr "" +"Нова команда :meth:`POP3.utf8() ` вмикає підтримку :rfc:" +"`6856` (інтернаціоналізованої електронної пошти), якщо це підтримує POP-" +"сервер. (Надано Milan OberKirch у :issue:`21804`.)" + +msgid "re" +msgstr "повторно" + +msgid "" +"References and conditional references to groups with fixed length are now " +"allowed in lookbehind assertions::" +msgstr "" +"Посилання та умовні посилання на групи з фіксованою довжиною тепер дозволені " +"в ретроспективних твердженнях::" + +msgid "(Contributed by Serhiy Storchaka in :issue:`9179`.)" +msgstr "(Надав Сергій Сторчака в :issue:`9179`.)" + +msgid "" +"The number of capturing groups in regular expressions is no longer limited " +"to 100. (Contributed by Serhiy Storchaka in :issue:`22437`.)" +msgstr "" +"Кількість груп захоплення в регулярних виразах більше не обмежується 100. " +"(Надано Сергієм Сторчакою в :issue:`22437`.)" + +msgid "" +"The :func:`~re.sub` and :func:`~re.subn` functions now replace unmatched " +"groups with empty strings instead of raising an exception. (Contributed by " +"Serhiy Storchaka in :issue:`1519638`.)" +msgstr "" +"Функції :func:`~re.sub` і :func:`~re.subn` тепер замінюють невідповідні " +"групи порожніми рядками замість того, щоб викликати виключення. (Надав " +"Сергій Сторчака в :issue:`1519638`.)" + +msgid "" +"The :class:`re.error` exceptions have new attributes, :attr:`~re.error." +"msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error." +"lineno`, and :attr:`~re.error.colno`, that provide better context " +"information about the error::" +msgstr "" +"Винятки :class:`re.error` мають нові атрибути, :attr:`~re.error.msg`, :attr:" +"`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error.lineno` і :attr:" +"`~re.error.colno`, які надають кращу контекстну інформацію про помилку::" + +msgid "(Contributed by Serhiy Storchaka in :issue:`22578`.)" +msgstr "(Надав Сергій Сторчака в :issue:`22578`.)" + +msgid "readline" +msgstr "readline" + +msgid "" +"A new :func:`~readline.append_history_file` function can be used to append " +"the specified number of trailing elements in history to the given file. " +"(Contributed by Bruno Cauet in :issue:`22940`.)" +msgstr "" +"Нову функцію :func:`~readline.append_history_file` можна використовувати для " +"додавання вказаної кількості кінцевих елементів в історії до даного файлу. " +"(Надав Бруно Кауе в :issue:`22940`.)" + +msgid "selectors" +msgstr "селектори" + +msgid "" +"The new :class:`~selectors.DevpollSelector` supports efficient ``/dev/poll`` " +"polling on Solaris. (Contributed by Giampaolo Rodola' in :issue:`18931`.)" +msgstr "" +"Новий :class:`~selectors.DevpollSelector` підтримує ефективне опитування ``/" +"dev/poll`` у Solaris. (Надав Джампаоло Родола в :issue:`18931`.)" + +msgid "shutil" +msgstr "шутил" + +msgid "" +"The :func:`~shutil.move` function now accepts a *copy_function* argument, " +"allowing, for example, the :func:`~shutil.copy` function to be used instead " +"of the default :func:`~shutil.copy2` if there is a need to ignore file " +"metadata when moving. (Contributed by Claudiu Popa in :issue:`19840`.)" +msgstr "" +"Функція :func:`~shutil.move` тепер приймає аргумент *copy_function*, що " +"дозволяє, наприклад, використовувати функцію :func:`~shutil.copy` замість " +"стандартного :func:`~shutil.copy2` якщо необхідно ігнорувати метадані файлу " +"під час переміщення. (Надав Клаудіу Попа в :issue:`19840`.)" + +msgid "" +"The :func:`~shutil.make_archive` function now supports the *xztar* format. " +"(Contributed by Serhiy Storchaka in :issue:`5411`.)" +msgstr "" +"Функція :func:`~shutil.make_archive` тепер підтримує формат *xztar*. (Надав " +"Сергій Сторчака в :issue:`5411`.)" + +msgid "signal" +msgstr "сигнал" + +msgid "" +"On Windows, the :func:`~signal.set_wakeup_fd` function now also supports " +"socket handles. (Contributed by Victor Stinner in :issue:`22018`.)" +msgstr "" +"У Windows функція :func:`~signal.set_wakeup_fd` тепер також підтримує " +"дескриптори сокетів. (Надав Віктор Стіннер у :issue:`22018`.)" + +msgid "" +"Various ``SIG*`` constants in the :mod:`signal` module have been converted " +"into :mod:`Enums `. This allows meaningful names to be printed during " +"debugging, instead of integer \"magic numbers\". (Contributed by Giampaolo " +"Rodola' in :issue:`21076`.)" +msgstr "" +"Різні константи ``SIG*`` в модулі :mod:`signal` були перетворені в :mod:" +"`Enums `. Це дозволяє друкувати осмислені імена під час налагодження " +"замість цілих \"магічних чисел\". (Надав Джампаоло Родола в :issue:`21076`.)" + +msgid "smtpd" +msgstr "smtpd" + +msgid "" +"Both the :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes " +"now accept a *decode_data* keyword argument to determine if the ``DATA`` " +"portion of the SMTP transaction is decoded using the ``\"utf-8\"`` codec or " +"is instead provided to the :meth:`SMTPServer.process_message() ` method as a byte string. The default is " +"``True`` for backward compatibility reasons, but will change to ``False`` in " +"Python 3.6. If *decode_data* is set to ``False``, the ``process_message`` " +"method must be prepared to accept keyword arguments. (Contributed by Maciej " +"Szulik in :issue:`19662`.)" +msgstr "" +"Обидва класи :class:`~smtpd.SMTPServer` і :class:`~smtpd.SMTPChannel` тепер " +"приймають аргумент ключового слова *decode_data*, щоб визначити, чи частина " +"``DATA`` транзакції SMTP декодується за допомогою кодек ``\"utf-8\"`` або " +"замість цього надається методу :meth:`SMTPServer.process_message() ` як рядок байтів. За замовчуванням встановлено " +"``True`` з міркувань зворотної сумісності, але зміниться на ``False`` у " +"Python 3.6. Якщо *decode_data* має значення ``False``, метод " +"``process_message`` має бути готовий приймати аргументи ключового слова. " +"(Надав Мацей Шулік у :issue:`19662`.)" + +msgid "" +"The :class:`~smtpd.SMTPServer` class now advertises the ``8BITMIME`` " +"extension (:rfc:`6152`) if *decode_data* has been set ``True``. If the " +"client specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed to :" +"meth:`SMTPServer.process_message() ` via " +"the *mail_options* keyword. (Contributed by Milan Oberkirch and R. David " +"Murray in :issue:`21795`.)" +msgstr "" +"Клас :class:`~smtpd.SMTPServer` тепер рекламує розширення ``8BITMIME`` (:rfc:" +"`6152`), якщо для *decode_data* встановлено ``True``. Якщо клієнт вказує " +"``BODY=8BITMIME`` у команді ``MAIL``, вона передається до :meth:`SMTPServer." +"process_message() ` через ключове слово " +"*mail_options*. (Надано Міланом Оберкірхом і Р. Девідом Мюрреєм у :issue:" +"`21795`.)" + +msgid "" +"The :class:`~smtpd.SMTPServer` class now also supports the ``SMTPUTF8`` " +"extension (:rfc:`6531`: Internationalized Email). If the client specified " +"``SMTPUTF8 BODY=8BITMIME`` on the ``MAIL`` command, they are passed to :meth:" +"`SMTPServer.process_message() ` via the " +"*mail_options* keyword. It is the responsibility of the ``process_message`` " +"method to correctly handle the ``SMTPUTF8`` data. (Contributed by Milan " +"Oberkirch in :issue:`21725`.)" +msgstr "" +"Клас :class:`~smtpd.SMTPServer` тепер також підтримує розширення " +"``SMTPUTF8`` (:rfc:`6531`: інтернаціоналізована електронна пошта). Якщо " +"клієнт вказав ``SMTPUTF8 BODY=8BITMIME`` у команді ``MAIL``, вони " +"передаються до :meth:`SMTPServer.process_message() ` через ключове слово *mail_options*. Метод " +"``process_message`` відповідає за правильну обробку даних ``SMTPUTF8``. " +"(Надав Мілан Оберкірх у :issue:`21725`.)" + +msgid "" +"It is now possible to provide, directly or via name resolution, IPv6 " +"addresses in the :class:`~smtpd.SMTPServer` constructor, and have it " +"successfully connect. (Contributed by Milan Oberkirch in :issue:`14758`.)" +msgstr "" +"Тепер можна надати, безпосередньо або через розпізнавання імен, IPv6-адреси " +"в конструкторі :class:`~smtpd.SMTPServer` і забезпечити його успішне " +"підключення. (Надав Мілан Оберкірх у :issue:`14758`.)" + +msgid "smtplib" +msgstr "smtplib" + +msgid "" +"A new :meth:`SMTP.auth() ` method provides a convenient " +"way to implement custom authentication mechanisms. (Contributed by Milan " +"Oberkirch in :issue:`15014`.)" +msgstr "" +"Новий метод :meth:`SMTP.auth() ` забезпечує зручний " +"спосіб реалізації спеціальних механізмів автентифікації. (Надав Мілан " +"Оберкірх у :issue:`15014`.)" + +msgid "" +"The :meth:`SMTP.set_debuglevel() ` method now " +"accepts an additional debuglevel (2), which enables timestamps in debug " +"messages. (Contributed by Gavin Chappell and Maciej Szulik in :issue:" +"`16914`.)" +msgstr "" +"Метод :meth:`SMTP.set_debuglevel() ` тепер " +"приймає додатковий рівень налагодження (2), який умикає мітки часу в " +"повідомленнях налагодження. (Надано Гевіном Чаппеллом і Мацеєм Шуліком у :" +"issue:`16914`.)" + +msgid "" +"Both the :meth:`SMTP.sendmail() ` and :meth:`SMTP." +"send_message() ` methods now support :rfc:`6531` " +"(SMTPUTF8). (Contributed by Milan Oberkirch and R. David Murray in :issue:" +"`22027`.)" +msgstr "" +"Обидва методи :meth:`SMTP.sendmail() ` і :meth:`SMTP." +"send_message() ` тепер підтримують :rfc:`6531` " +"(SMTPUTF8). (Надано Міланом Оберкірхом і Р. Девідом Мюрреєм у :issue:" +"`22027`.)" + +msgid "sndhdr" +msgstr "sndhdr" + +msgid "" +"The :func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return " +"a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in :issue:" +"`18615`.)" +msgstr "" +"Функції :func:`~sndhdr.what` і :func:`~sndhdr.whathdr` тепер повертають :" +"func:`~collections.namedtuple`. (Надав Клаудіу Попа в :issue:`18615`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"Functions with timeouts now use a monotonic clock, instead of a system " +"clock. (Contributed by Victor Stinner in :issue:`22043`.)" +msgstr "" +"Функції з тайм-аутами тепер використовують монотонний годинник замість " +"системного. (Надав Віктор Стіннер у :issue:`22043`.)" + +msgid "" +"A new :meth:`socket.sendfile() ` method allows " +"sending a file over a socket by using the high-performance :func:`os." +"sendfile` function on UNIX, resulting in uploads being from 2 to 3 times " +"faster than when using plain :meth:`socket.send() `. " +"(Contributed by Giampaolo Rodola' in :issue:`17552`.)" +msgstr "" +"Новий метод :meth:`socket.sendfile() ` дозволяє " +"надсилати файл через сокет за допомогою високопродуктивної функції :func:`os." +"sendfile` в UNIX, що призводить до завантаження в 2-3 рази швидше, ніж при " +"використанні простого :meth:`socket.send() `. (Надав " +"Джампаоло Родола в :issue:`17552`.)" + +msgid "" +"The :meth:`socket.sendall() ` method no longer resets " +"the socket timeout every time bytes are received or sent. The socket " +"timeout is now the maximum total duration to send all data. (Contributed by " +"Victor Stinner in :issue:`23853`.)" +msgstr "" +"Метод :meth:`socket.sendall() ` більше не скидає тайм-" +"аут сокета кожного разу, коли байти надходять або надсилаються. Час " +"очікування сокета тепер є максимальною загальною тривалістю надсилання всіх " +"даних. (Надав Віктор Стіннер у :issue:`23853`.)" + +msgid "" +"The *backlog* argument of the :meth:`socket.listen() ` " +"method is now optional. By default it is set to :data:`SOMAXCONN ` or to ``128``, whichever is less. (Contributed by Charles-" +"François Natali in :issue:`21455`.)" +msgstr "" +"Аргумент *backlog* методу :meth:`socket.listen() ` " +"тепер необов’язковий. За замовчуванням встановлено :data:`SOMAXCONN ` або ``128``, залежно від того, що менше. (Надав Шарль-Франсуа " +"Наталі в :issue:`21455`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "Memory BIO Support" +msgstr "Підтримка BIO пам'яті" + +msgid "(Contributed by Geert Jansen in :issue:`21965`.)" +msgstr "(Надав Герт Янсен у :issue:`21965`.)" + +msgid "" +"The new :class:`~ssl.SSLObject` class has been added to provide SSL protocol " +"support for cases when the network I/O capabilities of :class:`~ssl." +"SSLSocket` are not necessary or are suboptimal. ``SSLObject`` represents an " +"SSL protocol instance, but does not implement any network I/O methods, and " +"instead provides a memory buffer interface. The new :class:`~ssl.MemoryBIO` " +"class can be used to pass data between Python and an SSL protocol instance." +msgstr "" +"Новий клас :class:`~ssl.SSLObject` було додано, щоб забезпечити підтримку " +"протоколу SSL у випадках, коли можливості мережевого вводу/виводу :class:" +"`~ssl.SSLSocket` не потрібні або неоптимальні. ``SSLObject`` представляє " +"екземпляр протоколу SSL, але не реалізує жодних мережевих методів вводу/" +"виводу, натомість надає інтерфейс буфера пам’яті. Новий клас :class:`~ssl." +"MemoryBIO` можна використовувати для передачі даних між Python і екземпляром " +"протоколу SSL." + +msgid "" +"The memory BIO SSL support is primarily intended to be used in frameworks " +"implementing asynchronous I/O for which :class:`~ssl.SSLSocket`'s readiness " +"model (\"select/poll\") is inefficient." +msgstr "" +"Підтримка SSL BIO пам’яті в першу чергу призначена для використання в " +"структурах, що реалізують асинхронний ввід-вивід, для яких модель " +"готовності :class:`~ssl.SSLSocket` (\"вибір/опитування\") неефективна." + +msgid "" +"A new :meth:`SSLContext.wrap_bio() ` method can be " +"used to create a new ``SSLObject`` instance." +msgstr "" +"Новий метод :meth:`SSLContext.wrap_bio() ` можна " +"використати для створення нового екземпляра ``SSLObject``." + +msgid "Application-Layer Protocol Negotiation Support" +msgstr "Підтримка узгодження протоколу прикладного рівня" + +msgid "(Contributed by Benjamin Peterson in :issue:`20188`.)" +msgstr "(Надав Бенджамін Петерсон у :issue:`20188`.)" + +msgid "" +"Where OpenSSL support is present, the :mod:`ssl` module now implements the " +"*Application-Layer Protocol Negotiation* TLS extension as described in :rfc:" +"`7301`." +msgstr "" +"Там, де є підтримка OpenSSL, модуль :mod:`ssl` тепер реалізує розширення TLS " +"*Application-Layer Protocol Negotiation*, як описано в :rfc:`7301`." + +msgid "" +"The new :meth:`SSLContext.set_alpn_protocols() ` can be used to specify which protocols a socket should " +"advertise during the TLS handshake." +msgstr "" +"Новий :meth:`SSLContext.set_alpn_protocols() ` можна використовувати, щоб вказати, які протоколи сокет " +"має оголосити під час рукостискання TLS." + +msgid "" +"The new :meth:`SSLSocket.selected_alpn_protocol() ` returns the protocol that was selected during the " +"TLS handshake. The :data:`~ssl.HAS_ALPN` flag indicates whether ALPN support " +"is present." +msgstr "" +"Новий :meth:`SSLSocket.selected_alpn_protocol() ` повертає протокол, який було вибрано під час " +"рукостискання TLS. Прапор :data:`~ssl.HAS_ALPN` вказує на наявність " +"підтримки ALPN." + +msgid "Other Changes" +msgstr "Інші зміни" + +msgid "" +"There is a new :meth:`SSLSocket.version() ` method to " +"query the actual protocol version in use. (Contributed by Antoine Pitrou in :" +"issue:`20421`.)" +msgstr "" +"Існує новий метод :meth:`SSLSocket.version() ` для " +"запиту фактичної версії протоколу, що використовується. (Надав Антуан Пітру " +"в :issue:`20421`.)" + +msgid "" +"The :class:`~ssl.SSLSocket` class now implements a :meth:`SSLSocket." +"sendfile() ` method. (Contributed by Giampaolo " +"Rodola' in :issue:`17552`.)" +msgstr "" +"Клас :class:`~ssl.SSLSocket` тепер реалізує метод :meth:`SSLSocket." +"sendfile() `. (Надав Джампаоло Родола в :issue:" +"`17552`.)" + +msgid "" +"The :meth:`SSLSocket.send() ` method now raises either " +"the :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on " +"a non-blocking socket if the operation would block. Previously, it would " +"return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" +msgstr "" +"Метод :meth:`SSLSocket.send() ` тепер викликає виняток :" +"exc:`ssl.SSLWantReadError` або :exc:`ssl.SSLWantWriteError` у неблокуючому " +"сокеті, якщо операція буде заблокована. Раніше він повертав ``0``. (Надав " +"Ніколаус Рат у :issue:`20951`.)" + +msgid "" +"The :func:`~ssl.cert_time_to_seconds` function now interprets the input time " +"as UTC and not as local time, per :rfc:`5280`. Additionally, the return " +"value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" +msgstr "" +"Функція :func:`~ssl.cert_time_to_seconds` тепер інтерпретує введений час як " +"UTC, а не як місцевий час відповідно до :rfc:`5280`. Крім того, повертається " +"значення завжди :class:`int`. (Надав Акіра Лі в :issue:`19940`.)" + +msgid "" +"New :meth:`SSLObject.shared_ciphers() ` and :" +"meth:`SSLSocket.shared_ciphers() ` methods " +"return the list of ciphers sent by the client during the handshake. " +"(Contributed by Benjamin Peterson in :issue:`23186`.)" +msgstr "" +"Нові методи :meth:`SSLObject.shared_ciphers() ` і :meth:`SSLSocket.shared_ciphers() ` повертають список шифрів, надісланих клієнтом під час " +"рукостискання. (Надав Бенджамін Петерсон у :issue:`23186`.)" + +msgid "" +"The :meth:`SSLSocket.do_handshake() `, :meth:" +"`SSLSocket.read() `, :meth:`SSLSocket.shutdown() `, and :meth:`SSLSocket.write() ` " +"methods of the :class:`~ssl.SSLSocket` class no longer reset the socket " +"timeout every time bytes are received or sent. The socket timeout is now the " +"maximum total duration of the method. (Contributed by Victor Stinner in :" +"issue:`23853`.)" +msgstr "" +"Методи :meth:`SSLSocket.do_handshake() `, :meth:" +"`SSLSocket.read() `, :meth:`SSLSocket.shutdown() `, and :meth:`SSLSocket.write() ` " +"класу :class:`~ssl.SSLSocket` більше не скидає тайм-аут сокета кожного разу, " +"коли байти надходять або надсилаються. Час очікування сокета тепер є " +"максимальною загальною тривалістю методу. (Надав Віктор Стіннер у :issue:" +"`23853`.)" + +msgid "" +"The :func:`~ssl.match_hostname` function now supports matching of IP " +"addresses. (Contributed by Antoine Pitrou in :issue:`23239`.)" +msgstr "" +"Функція :func:`~ssl.match_hostname` тепер підтримує зіставлення IP-адрес. " +"(Надав Антуан Пітру в :issue:`23239`.)" + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +"The :class:`~sqlite3.Row` class now fully supports the sequence protocol, in " +"particular :func:`reversed` iteration and slice indexing. (Contributed by " +"Claudiu Popa in :issue:`10203`; by Lucas Sinclair, Jessica McKellar, and " +"Serhiy Storchaka in :issue:`13583`.)" +msgstr "" +"Клас :class:`~sqlite3.Row` тепер повністю підтримує протокол послідовності, " +"зокрема :func:`reversed` ітерацію та індексування фрагментів. (Надано " +"Клаудіу Попою в :issue:`10203`; Лукасом Сінклером, Джесікою Маккеллар і " +"Сергієм Сторчакою в :issue:`13583`.)" + +msgid "subprocess" +msgstr "підпроцес" + +msgid "" +"The new :func:`~subprocess.run` function has been added. It runs the " +"specified command and returns a :class:`~subprocess.CompletedProcess` " +"object, which describes a finished process. The new API is more consistent " +"and is the recommended approach to invoking subprocesses in Python code that " +"does not need to maintain compatibility with earlier Python versions. " +"(Contributed by Thomas Kluyver in :issue:`23342`.)" +msgstr "" +"Додано нову функцію :func:`~subprocess.run`. Він виконує вказану команду та " +"повертає об’єкт :class:`~subprocess.CompletedProcess`, який описує " +"завершений процес. Новий API є більш послідовним і є рекомендованим підходом " +"до виклику підпроцесів у коді Python, якому не потрібно підтримувати " +"сумісність із попередніми версіями Python. (Надав Томас Клюйвер у :issue:" +"`23342`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"A new :func:`~sys.set_coroutine_wrapper` function allows setting a global " +"hook that will be called whenever a :term:`coroutine object ` is " +"created by an :keyword:`async def` function. A corresponding :func:`~sys." +"get_coroutine_wrapper` can be used to obtain a currently set wrapper. Both " +"functions are :term:`provisional `, and are intended for " +"debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)" +msgstr "" +"Нова функція :func:`~sys.set_coroutine_wrapper` дозволяє встановити " +"глобальний хук, який буде викликатися щоразу, коли об’єкт :term:`coroutine " +"` створюється функцією :keyword:`async def`. Відповідний :func:" +"`~sys.get_coroutine_wrapper` можна використовувати для отримання поточної " +"встановленої оболонки. Обидві функції є :term:`тимчасовими ` і призначені лише для цілей налагодження. (Надав Юрій Селіванов у :" +"issue:`24017`.)" + +msgid "" +"A new :func:`~sys.is_finalizing` function can be used to check if the Python " +"interpreter is :term:`shutting down `. (Contributed by " +"Antoine Pitrou in :issue:`22696`.)" +msgstr "" +"Нову функцію :func:`~sys.is_finalizing` можна використати, щоб перевірити, " +"чи інтерпретатор Python :term:`вимикає `. (Надав " +"Антуан Пітру в :issue:`22696`.)" + +msgid "sysconfig" +msgstr "sysconfig" + +msgid "" +"The name of the user scripts directory on Windows now includes the first two " +"components of the Python version. (Contributed by Paul Moore in :issue:" +"`23437`.)" +msgstr "" +"Назва каталогу сценаріїв користувача в Windows тепер включає перші два " +"компоненти версії Python. (Надав Пол Мур у :issue:`23437`.)" + +msgid "tarfile" +msgstr "tarfile" + +msgid "" +"The *mode* argument of the :func:`~tarfile.open` function now accepts ``\"x" +"\"`` to request exclusive creation. (Contributed by Berker Peksag in :issue:" +"`21717`.)" +msgstr "" +"Аргумент *mode* функції :func:`~tarfile.open` тепер приймає ``\"x\"`` для " +"запиту ексклюзивного створення. (Надано Berker Peksag у :issue:`21717`.)" + +msgid "" +"The :meth:`TarFile.extractall() ` and :meth:" +"`TarFile.extract() ` methods now take a keyword " +"argument *numeric_owner*. If set to ``True``, the extracted files and " +"directories will be owned by the numeric ``uid`` and ``gid`` from the " +"tarfile. If set to ``False`` (the default, and the behavior in versions " +"prior to 3.5), they will be owned by the named user and group in the " +"tarfile. (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)" +msgstr "" +"Методи :meth:`TarFile.extractall() ` і :meth:" +"`TarFile.extract() ` тепер приймають аргумент " +"ключового слова *numeric_owner*. Якщо встановлено значення ``True``, " +"витягнуті файли та каталоги будуть належати числовим ``uid`` і ``gid`` з " +"tarfile. Якщо встановлено значення ``False`` (за умовчанням і поведінка у " +"версіях до 3.5), вони належатимуть вказаному користувачеві та групі в tar-" +"файлі. (Надано Майклом Фогтом і Еріком Смітом у :issue:`23193`.)" + +msgid "" +"The :meth:`TarFile.list() ` now accepts an optional " +"*members* keyword argument that can be set to a subset of the list returned " +"by :meth:`TarFile.getmembers() `. (Contributed " +"by Serhiy Storchaka in :issue:`21549`.)" +msgstr "" +":meth:`TarFile.list() ` тепер приймає необов’язковий " +"аргумент ключового слова *members*, який можна встановити як підмножину " +"списку, який повертає :meth:`TarFile.getmembers() `. (Надав Сергій Сторчака в :issue:`21549`.)" + +msgid "threading" +msgstr "різьблення" + +msgid "" +"Both the :meth:`Lock.acquire() ` and :meth:`RLock." +"acquire() ` methods now use a monotonic clock for " +"timeout management. (Contributed by Victor Stinner in :issue:`22043`.)" +msgstr "" +"Обидва методи :meth:`Lock.acquire() ` і :meth:`RLock." +"acquire() ` тепер використовують монотонний " +"годинник для керування часом очікування. (Надав Віктор Стіннер у :issue:" +"`22043`.)" + +msgid "time" +msgstr "час" + +msgid "" +"The :func:`~time.monotonic` function is now always available. (Contributed " +"by Victor Stinner in :issue:`22043`.)" +msgstr "" +"Функція :func:`~time.monotonic` тепер доступна завжди. (Надав Віктор Стіннер " +"у :issue:`22043`.)" + +msgid "timeit" +msgstr "timeit" + +msgid "" +"A new command line option ``-u`` or :samp:`--unit={U}` can be used to " +"specify the time unit for the timer output. Supported options are ``usec``, " +"``msec``, or ``sec``. (Contributed by Julian Gindi in :issue:`18983`.)" +msgstr "" +"Новий параметр командного рядка ``-u`` або :samp:`--unit={U}` можна " +"використовувати для визначення одиниці часу для виведення таймером. " +"Підтримувані параметри: ``usec``, ``msec`` або ``sec``. (Надав Джуліан Гінді " +"в :issue:`18983`.)" + +msgid "" +"The :func:`~timeit.timeit` function has a new *globals* parameter for " +"specifying the namespace in which the code will be running. (Contributed by " +"Ben Roberts in :issue:`2527`.)" +msgstr "" +"Функція :func:`~timeit.timeit` має новий параметр *globals* для визначення " +"простору імен, у якому виконуватиметься код. (Надав Бен Робертс у :issue:" +"`2527`.)" + +msgid "tkinter" +msgstr "tkinter" + +msgid "" +"The :mod:`tkinter._fix` module used for setting up the Tcl/Tk environment on " +"Windows has been replaced by a private function in the :mod:`_tkinter` " +"module which makes no permanent changes to environment variables. " +"(Contributed by Zachary Ware in :issue:`20035`.)" +msgstr "" +"Модуль :mod:`tkinter._fix`, який використовувався для налаштування " +"середовища Tcl/Tk у Windows, було замінено на приватну функцію в модулі :mod:" +"`_tkinter`, яка не вносить постійних змін до змінних середовища. (Надано " +"Zachary Ware у :issue:`20035`.)" + +msgid "traceback" +msgstr "простежити" + +msgid "" +"New :func:`~traceback.walk_stack` and :func:`~traceback.walk_tb` functions " +"to conveniently traverse frame and traceback objects. (Contributed by Robert " +"Collins in :issue:`17911`.)" +msgstr "" +"Нові функції :func:`~traceback.walk_stack` і :func:`~traceback.walk_tb` для " +"зручного перегляду кадрів і об’єктів трасування. (Надав Роберт Коллінз у :" +"issue:`17911`.)" + +msgid "" +"New lightweight classes: :class:`~traceback.TracebackException`, :class:" +"`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`. " +"(Contributed by Robert Collins in :issue:`17911`.)" +msgstr "" +"Нові спрощені класи: :class:`~traceback.TracebackException`, :class:" +"`~traceback.StackSummary` і :class:`~traceback.FrameSummary`. (Надав Роберт " +"Коллінз у :issue:`17911`.)" + +msgid "" +"Both the :func:`~traceback.print_tb` and :func:`~traceback.print_stack` " +"functions now support negative values for the *limit* argument. (Contributed " +"by Dmitry Kazakov in :issue:`22619`.)" +msgstr "" +"Функції :func:`~traceback.print_tb` і :func:`~traceback.print_stack` тепер " +"підтримують від’ємні значення для аргументу *limit*. (Надав Дмитро Казаков " +"у :issue:`22619`.)" + +msgid "types" +msgstr "види" + +msgid "" +"A new :func:`~types.coroutine` function to transform :term:`generator " +"` and :class:`generator-like ` objects into :term:`awaitables `. (Contributed by " +"Yury Selivanov in :issue:`24017`.)" +msgstr "" +"Нова функція :func:`~types.coroutine` для перетворення об’єктів :term:" +"`generator ` і :class:`generator-like ` в :term:`awaitables `. (Надав Юрій Селіванов у :issue:" +"`24017`.)" + +msgid "" +"A new type called :class:`~types.CoroutineType`, which is used for :term:" +"`coroutine` objects created by :keyword:`async def` functions. (Contributed " +"by Yury Selivanov in :issue:`24400`.)" +msgstr "" +"Новий тип під назвою :class:`~types.CoroutineType`, який використовується " +"для об’єктів :term:`coroutine`, створених функціями :keyword:`async def`. " +"(Надав Юрій Селіванов у :issue:`24400`.)" + +msgid "unicodedata" +msgstr "unicodedata" + +msgid "" +"The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 `_." +msgstr "" + +msgid "unittest" +msgstr "unittest" + +msgid "" +"The :meth:`TestLoader.loadTestsFromModule() ` method now accepts a keyword-only argument *pattern* " +"which is passed to ``load_tests`` as the third argument. Found packages are " +"now checked for ``load_tests`` regardless of whether their path matches " +"*pattern*, because it is impossible for a package name to match the default " +"pattern. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" +"`16662`.)" +msgstr "" +"Метод :meth:`TestLoader.loadTestsFromModule() ` тепер приймає аргумент *pattern* лише з ключовим " +"словом, який передається в ``load_tests`` як третій аргумент. Знайдені " +"пакунки тепер перевіряються на ``load_tests`` незалежно від того, чи " +"відповідає їхній шлях *шаблону*, оскільки назва пакета не може відповідати " +"шаблону за замовчуванням. (Надано Робертом Коллінзом і Баррі А. Варшавою в :" +"issue:`16662`.)" + +msgid "" +"Unittest discovery errors now are exposed in the :data:`TestLoader.errors " +"` attribute of the :class:`~unittest.TestLoader` " +"instance. (Contributed by Robert Collins in :issue:`19746`.)" +msgstr "" +"Помилки виявлення Unittest тепер виявляються в атрибуті :data:`TestLoader." +"errors ` екземпляра :class:`~unittest." +"TestLoader`. (Надано Робертом Коллінзом у :issue:`19746`.)" + +msgid "" +"A new command line option ``--locals`` to show local variables in " +"tracebacks. (Contributed by Robert Collins in :issue:`22936`.)" +msgstr "" +"Новий параметр командного рядка ``--locals`` для відображення локальних " +"змінних у відстеженнях. (Надав Роберт Коллінз у :issue:`22936`.)" + +msgid "unittest.mock" +msgstr "unittest.mock" + +msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" +msgstr "Клас :class:`~unittest.mock.Mock` має наступні покращення:" + +msgid "" +"The class constructor has a new *unsafe* parameter, which causes mock " +"objects to raise :exc:`AttributeError` on attribute names starting with ``" +"\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)" +msgstr "" +"Конструктор класу має новий параметр *unsafe*, який змушує фіктивні об’єкти " +"викликати помилку :exc:`AttributeError` для імен атрибутів, що починаються з " +"``\"assert\"``. (Надав Кушал Дас у :issue:`21238`.)" + +msgid "" +"A new :meth:`Mock.assert_not_called() ` method to check if the mock object was called. " +"(Contributed by Kushal Das in :issue:`21262`.)" +msgstr "" +"Новий метод :meth:`Mock.assert_not_ called() ` для перевірки, чи був викликаний макетний об’єкт. (Надав " +"Кушал Дас у :issue:`21262`.)" + +msgid "" +"The :class:`~unittest.mock.MagicMock` class now supports :meth:" +"`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` operators. " +"(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in :" +"issue:`23581` and :issue:`23568`.)" +msgstr "" +"Клас :class:`~unittest.mock.MagicMock` тепер підтримує оператори :meth:" +"`__truediv__`, :meth:`__divmod__` і :meth:`__matmul__`. (Надано Йоханнесом " +"Байтером у :issue:`20968` та Хоканом Льовдалем у :issue:`23581` та :issue:" +"`23568`.)" + +msgid "" +"It is no longer necessary to explicitly pass ``create=True`` to the :func:" +"`~unittest.mock.patch` function when patching builtin names. (Contributed by " +"Kushal Das in :issue:`17660`.)" +msgstr "" +"Більше не потрібно явно передавати ``create=True`` функції :func:`~unittest." +"mock.patch` під час виправлення вбудованих імен. (Надав Кушал Дас у :issue:" +"`17660`.)" + +msgid "urllib" +msgstr "urllib" + +msgid "" +"A new :class:`request.HTTPPasswordMgrWithPriorAuth ` class allows HTTP Basic Authentication " +"credentials to be managed so as to eliminate unnecessary ``401`` response " +"handling, or to unconditionally send credentials on the first request in " +"order to communicate with servers that return a ``404`` response instead of " +"a ``401`` if the ``Authorization`` header is not sent. (Contributed by Matej " +"Cepl in :issue:`19494` and Akshit Khurana in :issue:`7159`.)" +msgstr "" +"Новий клас :class:`request.HTTPPasswordMgrWithPriorAuth ` дозволяє керувати обліковими даними базової " +"автентифікації HTTP, щоб усунути непотрібну обробку відповіді ``401`` або " +"безумовно надсилати облікові дані на перший запит для зв’язку з серверами, " +"які повертають відповідь ``404`` замість ``401``, якщо заголовок " +"``Authorization`` не надіслано. (Надано Матеєм Чеплем у :issue:`19494` та " +"Akshit Khurana у :issue:`7159`.)" + +msgid "" +"A new *quote_via* argument for the :func:`parse.urlencode() ` function provides a way to control the encoding of query parts " +"if needed. (Contributed by Samwyse and Arnon Yaari in :issue:`13866`.)" +msgstr "" +"Новий аргумент *quote_via* для функції :func:`parse.urlencode() ` забезпечує спосіб керування кодуванням частин запиту, якщо " +"це необхідно. (Надано Samwyse та Arnon Yaari у :issue:`13866`.)" + +msgid "" +"The :func:`request.urlopen() ` function accepts an :" +"class:`ssl.SSLContext` object as a *context* argument, which will be used " +"for the HTTPS connection. (Contributed by Alex Gaynor in :issue:`22366`.)" +msgstr "" +"Функція :func:`request.urlopen() ` приймає об’єкт :" +"class:`ssl.SSLContext` як аргумент *context*, який використовуватиметься для " +"з’єднання HTTPS. (Надав Алекс Гейнор у :issue:`22366`.)" + +msgid "" +"The :func:`parse.urljoin() ` was updated to use the :" +"rfc:`3986` semantics for the resolution of relative URLs, rather than :rfc:" +"`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil Kumaran " +"in :issue:`22118`.)" +msgstr "" +":func:`parse.urljoin() ` було оновлено, щоб " +"використовувати семантику :rfc:`3986` для розділення відносних URL-адрес " +"замість :rfc:`1808` і :rfc:`2396`. (Надано Деміаном Брехтом і Сентилом " +"Кумараном у :issue:`22118`.)" + +msgid "wsgiref" +msgstr "wsgiref" + +msgid "" +"The *headers* argument of the :class:`headers.Headers ` class constructor is now optional. (Contributed by Pablo Torres " +"Navarrete and SilentGhost in :issue:`5800`.)" +msgstr "" +"Аргумент *headers* конструктора класу :class:`headers.Headers ` тепер необов'язковий. (Надано Пабло Торресом Наваррете та " +"SilentGhost у :issue:`5800`.)" + +msgid "xmlrpc" +msgstr "xmlrpc" + +msgid "" +"The :class:`client.ServerProxy ` class now " +"supports the :term:`context manager` protocol. (Contributed by Claudiu Popa " +"in :issue:`20627`.)" +msgstr "" +"Клас :class:`client.ServerProxy ` тепер підтримує " +"протокол :term:`context manager`. (Надав Клаудіу Попа в :issue:`20627`.)" + +msgid "" +"The :class:`client.ServerProxy ` constructor now " +"accepts an optional :class:`ssl.SSLContext` instance. (Contributed by Alex " +"Gaynor in :issue:`22960`.)" +msgstr "" +"Конструктор :class:`client.ServerProxy ` тепер " +"приймає додатковий екземпляр :class:`ssl.SSLContext`. (Надав Алекс Гейнор у :" +"issue:`22960`.)" + +msgid "xml.sax" +msgstr "xml.sax" + +msgid "" +"SAX parsers now support a character stream of the :class:`xmlreader." +"InputSource ` object. (Contributed by Serhiy " +"Storchaka in :issue:`2175`.)" +msgstr "" +"Синтаксичні аналізатори SAX тепер підтримують потік символів об’єкта :class:" +"`xmlreader.InputSource `. (Надав Сергій " +"Сторчака в :issue:`2175`.)" + +msgid "" +":func:`~xml.sax.parseString` now accepts a :class:`str` instance. " +"(Contributed by Serhiy Storchaka in :issue:`10590`.)" +msgstr "" +":func:`~xml.sax.parseString` тепер приймає екземпляр :class:`str`. (Надав " +"Сергій Сторчака в :issue:`10590`.)" + +msgid "zipfile" +msgstr "zip-файл" + +msgid "" +"ZIP output can now be written to unseekable streams. (Contributed by Serhiy " +"Storchaka in :issue:`23252`.)" +msgstr "" +"Вихідний файл ZIP тепер можна записувати в потоки, які неможливо шукати. " +"(Надав Сергій Сторчака в :issue:`23252`.)" + +msgid "" +"The *mode* argument of :meth:`ZipFile.open() ` method " +"now accepts ``\"x\"`` to request exclusive creation. (Contributed by Serhiy " +"Storchaka in :issue:`21717`.)" +msgstr "" +"Аргумент *mode* методу :meth:`ZipFile.open() ` тепер " +"приймає ``\"x\"`` для запиту ексклюзивного створення. (Надав Сергій Сторчака " +"в :issue:`21717`.)" + +msgid "Other module-level changes" +msgstr "Інші зміни на рівні модуля" + +msgid "" +"Many functions in the :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`, :mod:" +"`ssl`, and :mod:`codecs` modules now accept writable :term:`bytes-like " +"objects `. (Contributed by Serhiy Storchaka in :issue:" +"`23001`.)" +msgstr "" +"Багато функцій у модулях :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`, :" +"mod:`ssl` і :mod:`codecs` тепер можуть записувати :term:`байт-подібно " +"об'єкти `. (Надав Сергій Сторчака в :issue:`23001`.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The :func:`os.walk` function has been sped up by 3 to 5 times on POSIX " +"systems, and by 7 to 20 times on Windows. This was done using the new :func:" +"`os.scandir` function, which exposes file information from the underlying " +"``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. " +"(Contributed by Ben Hoyt with help from Victor Stinner in :issue:`23605`.)" +msgstr "" +"Функцію :func:`os.walk` було прискорено в 3-5 разів на системах POSIX і в " +"7-20 разів на Windows. Це було зроблено за допомогою нової функції :func:`os." +"scandir`, яка відкриває інформацію про файл із базових системних викликів " +"``readdir`` або ``FindFirstFile``/``FindNextFile``. (Надано Беном Хойтом за " +"допомогою Віктора Стіннера в :issue:`23605`.)" + +msgid "" +"Construction of ``bytes(int)`` (filled by zero bytes) is faster and uses " +"less memory for large objects. ``calloc()`` is used instead of ``malloc()`` " +"to allocate memory for these objects. (Contributed by Victor Stinner in :" +"issue:`21233`.)" +msgstr "" +"Створення ``bytes(int)`` (заповненого нульовими байтами) відбувається швидше " +"та використовує менше пам’яті для великих об’єктів. ``calloc()`` " +"використовується замість ``malloc()`` для виділення пам'яті для цих " +"об'єктів. (Надав Віктор Стіннер у :issue:`21233`.)" + +msgid "" +"Some operations on :mod:`ipaddress` :class:`~ipaddress.IPv4Network` and :" +"class:`~ipaddress.IPv6Network` have been massively sped up, such as :meth:" +"`~ipaddress.IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :" +"func:`~ipaddress.summarize_address_range`, :func:`~ipaddress." +"collapse_addresses`. The speed up can range from 3 to 15 times. (Contributed " +"by Antoine Pitrou, Michel Albert, and Markus in :issue:`21486`, :issue:" +"`21487`, :issue:`20826`, :issue:`23266`.)" +msgstr "" +"Деякі операції в :mod:`ipaddress` :class:`~ipaddress.IPv4Network` і :class:" +"`~ipaddress.IPv6Network` були значно прискорені, наприклад :meth:`~ipaddress." +"IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :func:" +"`~ipaddress.summarize_address_range`, :func:`~ipaddress.collapse_addresses`. " +"Прискорення може бути від 3 до 15 разів. (Надано Антуаном Пітру, Мішелем " +"Альбертом і Маркусом у :issue:`21486`, :issue:`21487`, :issue:`20826`, :" +"issue:`23266`.)" + +msgid "" +"Pickling of :mod:`ipaddress` objects was optimized to produce significantly " +"smaller output. (Contributed by Serhiy Storchaka in :issue:`23133`.)" +msgstr "" +"Видалення об’єктів :mod:`ipaddress` було оптимізовано для отримання значно " +"менших результатів. (Надав Сергій Сторчака в :issue:`23133`.)" + +msgid "" +"Many operations on :class:`io.BytesIO` are now 50% to 100% faster. " +"(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in :" +"issue:`22003`.)" +msgstr "" +"Багато операцій на :class:`io.BytesIO` тепер на 50% до 100% швидше. (Надано " +"Сергієм Сторчакою у :issue:`15381` та Девідом Вілсоном у :issue:`22003`.)" + +msgid "" +"The :func:`marshal.dumps` function is now faster: 65--85% with versions 3 " +"and 4, 20--25% with versions 0 to 2 on typical data, and up to 5 times in " +"best cases. (Contributed by Serhiy Storchaka in :issue:`20416` and :issue:" +"`23344`.)" +msgstr "" +"Функція :func:`marshal.dumps` тепер працює швидше: 65--85% з версіями 3 і 4, " +"20--25% з версіями 0-2 на типових даних і до 5 разів у найкращих випадках. " +"(Надав Сергій Сторчака в :issue:`20416` і :issue:`23344`.)" + +msgid "" +"The UTF-32 encoder is now 3 to 7 times faster. (Contributed by Serhiy " +"Storchaka in :issue:`15027`.)" +msgstr "" +"Кодер UTF-32 тепер у 3-7 разів швидший. (Надав Сергій Сторчака в :issue:" +"`15027`.)" + +msgid "" +"Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy " +"Storchaka in :issue:`19380`.)" +msgstr "" +"Регулярні вирази тепер аналізуються на 10% швидше. (Надав Сергій Сторчака в :" +"issue:`19380`.)" + +msgid "" +"The :func:`json.dumps` function was optimized to run with " +"``ensure_ascii=False`` as fast as with ``ensure_ascii=True``. (Contributed " +"by Naoki Inada in :issue:`23206`.)" +msgstr "" +"Функцію :func:`json.dumps` було оптимізовано для роботи з " +"``ensure_ascii=False`` так само швидко, як і з ``ensure_ascii=True``. (Надав " +"Наокі Інада в :issue:`23206`.)" + +msgid "" +"The :c:func:`PyObject_IsInstance` and :c:func:`PyObject_IsSubclass` " +"functions have been sped up in the common case that the second argument has :" +"class:`type` as its metaclass. (Contributed Georg Brandl by in :issue:" +"`22540`.)" +msgstr "" +"Функції :c:func:`PyObject_IsInstance` і :c:func:`PyObject_IsSubclass` було " +"пришвидшено у типовому випадку, коли другий аргумент має :class:`type` як " +"метаклас. (Надав Георг Брандл у :issue:`22540`.)" + +msgid "" +"Method caching was slightly improved, yielding up to 5% performance " +"improvement in some benchmarks. (Contributed by Antoine Pitrou in :issue:" +"`22847`.)" +msgstr "" +"Кешування методів було дещо покращено, що дало підвищення продуктивності на " +"5% у деяких тестах. (Надав Антуан Пітру в :issue:`22847`.)" + +msgid "" +"Objects from the :mod:`random` module now use 50% less memory on 64-bit " +"builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)" +msgstr "" +"Об’єкти з модуля :mod:`random` тепер використовують на 50% менше пам’яті в " +"64-розрядних версіях. (Надав Сергій Сторчака в :issue:`23488`.)" + +msgid "" +"The :func:`property` getter calls are up to 25% faster. (Contributed by Joe " +"Jevnik in :issue:`23910`.)" +msgstr "" +"Виклики методу отримання :func:`property` на 25% швидші. (Надав Джо Джевнік " +"у :issue:`23910`.)" + +msgid "" +"Instantiation of :class:`fractions.Fraction` is now up to 30% faster. " +"(Contributed by Stefan Behnel in :issue:`22464`.)" +msgstr "" +"Створення екземпляра :class:`fractions.Fraction` тепер на 30% швидше. (Надав " +"Стефан Бенель у :issue:`22464`.)" + +msgid "" +"String methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, :" +"meth:`~str.partition` and the :keyword:`in` string operator are now " +"significantly faster for searching 1-character substrings. (Contributed by " +"Serhiy Storchaka in :issue:`23573`.)" +msgstr "" +"Рядкові методи :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, :" +"meth:`~str.partition` та рядок :keyword:`in` тепер значно швидше для пошуку " +"підрядків з 1 символу. (Надав Сергій Сторчака в :issue:`23573`.)" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "New ``calloc`` functions were added:" +msgstr "Додано нові функції callloc:" + +msgid ":c:func:`PyMem_RawCalloc`," +msgstr ":c:func:`PyMem_RawCalloc`," + +msgid ":c:func:`PyMem_Calloc`," +msgstr ":c:func:`PyMem_Calloc`," + +msgid ":c:func:`PyObject_Calloc`." +msgstr ":c:func:`PyObject_Calloc`." + +msgid "(Contributed by Victor Stinner in :issue:`21233`.)" +msgstr "(Надав Віктор Стіннер у :issue:`21233`.)" + +msgid "New encoding/decoding helper functions:" +msgstr "Нові допоміжні функції кодування/декодування:" + +msgid ":c:func:`Py_DecodeLocale` (replaced ``_Py_char2wchar()``)," +msgstr ":c:func:`Py_DecodeLocale` (замінено ``_Py_char2wchar()``)," + +msgid ":c:func:`Py_EncodeLocale` (replaced ``_Py_wchar2char()``)." +msgstr ":c:func:`Py_EncodeLocale` (замінено ``_Py_wchar2char()``)." + +msgid "(Contributed by Victor Stinner in :issue:`18395`.)" +msgstr "(Надав Віктор Стіннер у :issue:`18395`.)" + +msgid "" +"A new :c:func:`PyCodec_NameReplaceErrors` function to replace the unicode " +"encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka in :" +"issue:`19676`.)" +msgstr "" +"Нова функція :c:func:`PyCodec_NameReplaceErrors` замінює помилку кодування " +"Unicode на ``\\N{...}``. (Надав Сергій Сторчака в :issue:`19676`.)" + +msgid "" +"A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`, " +"but accepts a ``va_list`` argument. (Contributed by Antoine Pitrou in :issue:" +"`18711`.)" +msgstr "" +"Нова функція :c:func:`PyErr_FormatV`, подібна до :c:func:`PyErr_Format`, але " +"приймає аргумент ``va_list``. (Надав Антуан Пітру в :issue:`18711`.)" + +msgid "" +"A new :c:data:`PyExc_RecursionError` exception. (Contributed by Georg Brandl " +"in :issue:`19235`.)" +msgstr "" +"Новий виняток :c:data:`PyExc_RecursionError`. (Надав Георг Брандл у :issue:" +"`19235`.)" + +msgid "" +"New :c:func:`PyModule_FromDefAndSpec`, :c:func:`PyModule_FromDefAndSpec2`, " +"and :c:func:`PyModule_ExecDef` functions introduced by :pep:`489` -- multi-" +"phase extension module initialization. (Contributed by Petr Viktorin in :" +"issue:`24268`.)" +msgstr "" +"Нові функції :c:func:`PyModule_FromDefAndSpec`, :c:func:" +"`PyModule_FromDefAndSpec2` і :c:func:`PyModule_ExecDef`, представлені :pep:" +"`489` -- багатофазова ініціалізація модуля розширення. (Надав Петро Вікторін " +"у :issue:`24268`.)" + +msgid "" +"New :c:func:`PyNumber_MatrixMultiply` and :c:func:" +"`PyNumber_InPlaceMatrixMultiply` functions to perform matrix multiplication. " +"(Contributed by Benjamin Peterson in :issue:`21176`. See also :pep:`465` " +"for details.)" +msgstr "" +"Нові функції :c:func:`PyNumber_MatrixMultiply` і :c:func:" +"`PyNumber_InPlaceMatrixMultiply` для виконання множення матриць. (Надано " +"Бенджаміном Петерсоном у :issue:`21176`. Докладніше див. також :pep:`465`.)" + +msgid "" +"The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI." +msgstr "" +"Слот :c:member:`PyTypeObject.tp_finalize` тепер є частиною стабільного ABI." + +msgid "" +"Windows builds now require Microsoft Visual C++ 14.0, which is available as " +"part of `Visual Studio 2015 `_." +msgstr "" +"Для збірок Windows тепер потрібен Microsoft Visual C++ 14.0, який доступний " +"як частина `Visual Studio 2015 `_." + +msgid "" +"Extension modules now include a platform information tag in their filename " +"on some platforms (the tag is optional, and CPython will import extensions " +"without it, although if the tag is present and mismatched, the extension " +"won't be loaded):" +msgstr "" +"Модулі розширення тепер включають тег інформації про платформу в назву файлу " +"на деяких платформах (тег необов’язковий, і CPython імпортуватиме розширення " +"без нього, хоча якщо тег присутній і не відповідає, розширення не " +"завантажуватиметься):" + +msgid "" +"On Linux, extension module filenames end with ``.cpython-m-" +"-.pyd``:" +msgstr "" +"У Linux імена файлів модулів розширення закінчуються на ``.cpython- " +" m- - .pyd``:" + +msgid "" +"```` is the major number of the Python version; for Python 3.5 this " +"is ``3``." +msgstr "```` - головний номер версії Python; для Python 3.5 це ``3``." + +msgid "" +"```` is the minor number of the Python version; for Python 3.5 this " +"is ``5``." +msgstr "" +"```` є другорядним номером версії Python; для Python 3.5 це ``5``." + +msgid "" +"```` is the hardware architecture the extension module was " +"built to run on. It's most commonly either ``i386`` for 32-bit Intel " +"platforms or ``x86_64`` for 64-bit Intel (and AMD) platforms." +msgstr "" +"```` - це апаратна архітектура, для роботи на якій створено " +"модуль розширення. Найчастіше це ``i386`` для 32-розрядних платформ Intel " +"або ``x86_64`` для 64-розрядних платформ Intel (і AMD)." + +msgid "" +"```` is always ``linux-gnu``, except for extensions built to talk to the " +"32-bit ABI on 64-bit platforms, in which case it is ``linux-gnu32`` (and " +"```` will be ``x86_64``)." +msgstr "" +"```` завжди ``linux-gnu``, за винятком розширень, створених для " +"спілкування з 32-розрядним ABI на 64-розрядних платформах, у цьому випадку " +"це ``linux-gnu32`` (і ```` буде ``x86_64``)." + +msgid "" +"On Windows, extension module filenames end with ``.cp-" +".pyd``:" +msgstr "" +"У Windows назви файлів модулів розширення закінчуються на `` .cp " +" - .pyd``:" + +msgid "" +"```` is the platform the extension module was built for, either " +"``win32`` for Win32, ``win_amd64`` for Win64, ``win_ia64`` for Windows " +"Itanium 64, and ``win_arm`` for Windows on ARM." +msgstr "" +"```` — це платформа, для якої створено модуль розширення, або " +"``win32`` для Win32, ``win_amd64`` для Win64, ``win_ia64`` для Windows " +"Itanium 64 і ``win_arm`` для Windows на ARM." + +msgid "" +"If built in debug mode, ```` will be ``_d``, otherwise it will be " +"blank." +msgstr "" +"Якщо створено в режимі налагодження, ```` буде ``_d``, інакше він " +"буде порожнім." + +msgid "" +"On OS X platforms, extension module filenames now end with ``-darwin.so``." +msgstr "" +"На платформах OS X імена файлів модулів розширення тепер закінчуються на ``-" +"darwin.so``." + +msgid "" +"On all other platforms, extension module filenames are the same as they were " +"with Python 3.4." +msgstr "" +"На всіх інших платформах імена файлів модулів розширення такі ж, як і в " +"Python 3.4." + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "New Keywords" +msgstr "Нові ключові слова" + +msgid "" +"``async`` and ``await`` are not recommended to be used as variable, class, " +"function or module names. Introduced by :pep:`492` in Python 3.5, they will " +"become proper keywords in Python 3.7." +msgstr "" +"``async`` і ``await`` не рекомендується використовувати як імена змінних, " +"класів, функцій або модулів. Представлені :pep:`492` у Python 3.5, вони " +"стануть правильними ключовими словами в Python 3.7." + +msgid "Deprecated Python Behavior" +msgstr "Застаріла поведінка Python" + +msgid "" +"Raising the :exc:`StopIteration` exception inside a generator will now " +"generate a silent :exc:`PendingDeprecationWarning`, which will become a non-" +"silent deprecation warning in Python 3.6 and will trigger a :exc:" +"`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration " +"handling inside generators ` for details." +msgstr "" +"Викликання винятку :exc:`StopIteration` всередині генератора тепер " +"генеруватиме мовчазне :exc:`PendingDeprecationWarning`, яке стане " +"немовчазним попередженням про застаріння в Python 3.6 і викличе :exc:" +"`RuntimeError` у Python 3.7. Перегляньте :ref:`PEP 479: Змініть обробку " +"StopIteration всередині генераторів ` для деталей." + +msgid "Unsupported Operating Systems" +msgstr "Непідтримувані операційні системи" + +msgid "" +"Windows XP is no longer supported by Microsoft, thus, per :PEP:`11`, CPython " +"3.5 is no longer officially supported on this OS." +msgstr "" +"Windows XP більше не підтримується корпорацією Майкрософт, тому, відповідно " +"до :PEP:`11`, CPython 3.5 більше не офіційно підтримується в цій ОС." + +msgid "Deprecated Python modules, functions and methods" +msgstr "Застарілі модулі, функції та методи Python" + +msgid "" +"The :mod:`formatter` module has now graduated to full deprecation and is " +"still slated for removal in Python 3.6." +msgstr "" +"Модуль :mod:`formatter` тепер повністю припинено, і його все ще планується " +"видалити в Python 3.6." + +msgid "" +"The :func:`asyncio.async` function is deprecated in favor of :func:`~asyncio." +"ensure_future`." +msgstr "" +"Функція :func:`asyncio.async` застаріла на користь :func:`~asyncio." +"ensure_future`." + +msgid "" +"The :mod:`smtpd` module has in the past always decoded the DATA portion of " +"email messages using the ``utf-8`` codec. This can now be controlled by the " +"new *decode_data* keyword to :class:`~smtpd.SMTPServer`. The default value " +"is ``True``, but this default is deprecated. Specify the *decode_data* " +"keyword with an appropriate value to avoid the deprecation warning." +msgstr "" +"Модуль :mod:`smtpd` раніше завжди декодував частину DATA повідомлень " +"електронної пошти за допомогою кодека ``utf-8``. Тепер цим можна керувати за " +"допомогою нового ключового слова *decode_data* для :class:`~smtpd." +"SMTPServer`. Значенням за замовчуванням є ``True``, але це за замовчуванням " +"застаріло. Укажіть ключове слово *decode_data* з відповідним значенням, щоб " +"уникнути попередження про застаріле." + +msgid "" +"Directly assigning values to the :attr:`~http.cookies.Morsel.key`, :attr:" +"`~http.cookies.Morsel.value` and :attr:`~http.cookies.Morsel.coded_value` " +"of :class:`http.cookies.Morsel` objects is deprecated. Use the :meth:`~http." +"cookies.Morsel.set` method instead. In addition, the undocumented " +"*LegalChars* parameter of :meth:`~http.cookies.Morsel.set` is deprecated, " +"and is now ignored." +msgstr "" +"Пряме призначення значень :attr:`~http.cookies.Morsel.key`, :attr:`~http." +"cookies.Morsel.value` і :attr:`~http.cookies.Morsel.coded_value` Об’єкти :" +"class:`http.cookies.Morsel` застаріли. Натомість використовуйте метод :meth:" +"`~http.cookies.Morsel.set`. Крім того, незадокументований параметр " +"*LegalChars* :meth:`~http.cookies.Morsel.set` застарів і тепер ігнорується." + +msgid "" +"Passing a format string as keyword argument *format_string* to the :meth:" +"`~string.Formatter.format` method of the :class:`string.Formatter` class has " +"been deprecated. (Contributed by Serhiy Storchaka in :issue:`23671`.)" +msgstr "" +"Передача рядка формату як аргументу ключового слова *format_string* у метод :" +"meth:`~string.Formatter.format` класу :class:`string.Formatter` застаріла. " +"(Надав Сергій Сторчака в :issue:`23671`.)" + +msgid "" +"The :func:`platform.dist` and :func:`platform.linux_distribution` functions " +"are now deprecated. Linux distributions use too many different ways of " +"describing themselves, so the functionality is left to a package. " +"(Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)" +msgstr "" +"Функції :func:`platform.dist` і :func:`platform.linux_distribution` тепер " +"застаріли. У дистрибутивах Linux використовується занадто багато різних " +"способів опису, тому функціональність залишається за пакетом. (Надано " +"Vajrasky Kok і Berker Peksag у :issue:`1322`.)" + +msgid "" +"The previously undocumented ``from_function`` and ``from_builtin`` methods " +"of :class:`inspect.Signature` are deprecated. Use the new :meth:`Signature." +"from_callable() ` method instead. " +"(Contributed by Yury Selivanov in :issue:`24248`.)" +msgstr "" +"Раніше недокументовані методи ``from_function`` і ``from_builtin`` :class:" +"`inspect.Signature` застаріли. Натомість використовуйте новий метод :meth:" +"`Signature.from_callable() `. (Надав Юрій " +"Селіванов у :issue:`24248`.)" + +msgid "" +"The :func:`inspect.getargspec` function is deprecated and scheduled to be " +"removed in Python 3.6. (See :issue:`20438` for details.)" +msgstr "" +"Функція :func:`inspect.getargspec` є застарілою та планується її видалення в " +"Python 3.6. (Докладніше див. :issue:`20438`.)" + +msgid "" +"The :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect." +"getcallargs`, and :func:`~inspect.formatargspec` functions are deprecated in " +"favor of the :func:`inspect.signature` API. (Contributed by Yury Selivanov " +"in :issue:`20438`.)" +msgstr "" +"Функції :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect." +"getcallargs` і :func:`~inspect.formatargspec` застаріли на користь :func:" +"`inspect.signature` API. (Надав Юрій Селіванов у :issue:`20438`.)" + +msgid "" +":func:`~inspect.getargvalues` and :func:`~inspect.formatargvalues` functions " +"were inadvertently marked as deprecated with the release of Python 3.5.0." +msgstr "" +"Функції :func:`~inspect.getargvalues` і :func:`~inspect.formatargvalues` " +"були ненавмисно позначені як застарілі з випуском Python 3.5.0." + +msgid "" +"Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now " +"deprecated. (Contributed by Serhiy Storchaka in :issue:`22407`.)" +msgstr "" +"Використання прапора :const:`re.LOCALE` із шаблонами str або :const:`re." +"ASCII` тепер застаріло. (Надав Сергій Сторчака в :issue:`22407`.)" + +msgid "" +"Use of unrecognized special sequences consisting of ``'\\'`` and an ASCII " +"letter in regular expression patterns and replacement patterns now raises a " +"deprecation warning and will be forbidden in Python 3.6. (Contributed by " +"Serhiy Storchaka in :issue:`23622`.)" +msgstr "" +"Використання нерозпізнаних спеціальних послідовностей, що складаються з " +"``'\\'`` і літери ASCII у шаблонах регулярних виразів і шаблонах заміни, " +"тепер викликає попередження про застаріння та буде заборонено в Python 3.6. " +"(Надав Сергій Сторчака в :issue:`23622`.)" + +msgid "" +"The undocumented and unofficial *use_load_tests* default argument of the :" +"meth:`unittest.TestLoader.loadTestsFromModule` method now is deprecated and " +"ignored. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" +"`16662`.)" +msgstr "" +"Недокументований і неофіційний аргумент *use_load_tests* за замовчуванням " +"методу :meth:`unittest.TestLoader.loadTestsFromModule` тепер застарілий і " +"ігнорується. (Надано Робертом Коллінзом і Баррі А. Варшавою в :issue:" +"`16662`.)" + +msgid "Removed" +msgstr "Видалено" + +msgid "API and Feature Removals" +msgstr "Видалення API та функцій" + +msgid "" +"The following obsolete and previously deprecated APIs and features have been " +"removed:" +msgstr "" +"Наступні застарілі API та функції, які раніше не підтримувалися, видалено:" + +msgid "" +"The ``__version__`` attribute has been dropped from the email package. The " +"email code hasn't been shipped separately from the stdlib for a long time, " +"and the ``__version__`` string was not updated in the last few releases." +msgstr "" +"Атрибут ``__version__`` видалено з пакета електронної пошти. Код електронної " +"пошти не надсилався окремо від stdlib протягом тривалого часу, а рядок " +"``__version__`` не оновлювався в останніх кількох випусках." + +msgid "" +"The internal ``Netrc`` class in the :mod:`ftplib` module was deprecated in " +"3.4, and has now been removed. (Contributed by Matt Chaput in :issue:`6623`.)" +msgstr "" +"Внутрішній клас ``Netrc`` у модулі :mod:`ftplib` було визнано застарілим у " +"версії 3.4 і тепер його видалено. (Надав Мет Чапут у :issue:`6623`.)" + +msgid "The concept of ``.pyo`` files has been removed." +msgstr "Поняття файлів ``.pyo`` було видалено." + +msgid "" +"The JoinableQueue class in the provisional :mod:`asyncio` module was " +"deprecated in 3.4.4 and is now removed. (Contributed by A. Jesse Jiryu Davis " +"in :issue:`23464`.)" +msgstr "" +"Клас JoinableQueue у попередньому модулі :mod:`asyncio` був застарілим у " +"версії 3.4.4 і тепер видалений. (Надав А. Джессі Джірю Девіс у :issue:" +"`23464`.)" + +msgid "Porting to Python 3.5" +msgstr "Перенесення на Python 3.5" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in Python behavior" +msgstr "Зміни в поведінці Python" + +msgid "" +"Due to an oversight, earlier Python versions erroneously accepted the " +"following syntax::" +msgstr "" +"Через помилку попередні версії Python помилково приймали такий синтаксис:" + +msgid "" +"Python 3.5 now correctly raises a :exc:`SyntaxError`, as generator " +"expressions must be put in parentheses if not a sole argument to a function." +msgstr "" +"Python 3.5 тепер правильно викликає :exc:`SyntaxError`, оскільки вирази " +"генератора потрібно поміщати в дужки, якщо вони не є єдиним аргументом " +"функції." + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +":pep:`475`: System calls are now retried when interrupted by a signal " +"instead of raising :exc:`InterruptedError` if the Python signal handler does " +"not raise an exception." +msgstr "" +":pep:`475`: Системні виклики тепер повторюються, коли їх перериває сигнал, " +"замість того, щоб викликати :exc:`InterruptedError`, якщо обробник сигналів " +"Python не викликає виключення." + +msgid "" +"Before Python 3.5, a :class:`datetime.time` object was considered to be " +"false if it represented midnight in UTC. This behavior was considered " +"obscure and error-prone and has been removed in Python 3.5. See :issue:" +"`13936` for full details." +msgstr "" +"До Python 3.5 об’єкт :class:`datetime.time` вважався хибним, якщо він " +"представляв північ за UTC. Таку поведінку вважали незрозумілою та схильною " +"до помилок, тому її було видалено в Python 3.5. Дивіться :issue:`13936` для " +"повної інформації." + +msgid "" +"The :meth:`ssl.SSLSocket.send()` method now raises either :exc:`ssl." +"SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-blocking socket " +"if the operation would block. Previously, it would return ``0``. " +"(Contributed by Nikolaus Rath in :issue:`20951`.)" +msgstr "" +"Метод :meth:`ssl.SSLSocket.send()` тепер викликає :exc:`ssl." +"SSLWantReadError` або :exc:`ssl.SSLWantWriteError` на неблокуючому сокеті, " +"якщо операція буде заблокована. Раніше він повертав ``0``. (Надав Ніколаус " +"Рат у :issue:`20951`.)" + +msgid "" +"The ``__name__`` attribute of generators is now set from the function name, " +"instead of being set from the code name. Use ``gen.gi_code.co_name`` to " +"retrieve the code name. Generators also have a new ``__qualname__`` " +"attribute, the qualified name, which is now used for the representation of a " +"generator (``repr(gen)``). (Contributed by Victor Stinner in :issue:`21205`.)" +msgstr "" +"Атрибут ``__name__`` генераторів тепер встановлюється з імені функції, а не " +"з кодового імені. Використовуйте ``gen.gi_code.co_name``, щоб отримати " +"кодову назву. Генератори також мають новий атрибут ``__qualname__``, " +"кваліфіковане ім’я, яке тепер використовується для представлення генератора " +"(``repr(gen)``). (Надав Віктор Стіннер у :issue:`21205`.)" + +msgid "" +"The deprecated \"strict\" mode and argument of :class:`~html.parser." +"HTMLParser`, :meth:`HTMLParser.error`, and the :exc:`HTMLParserError` " +"exception have been removed. (Contributed by Ezio Melotti in :issue:" +"`15114`.) The *convert_charrefs* argument of :class:`~html.parser." +"HTMLParser` is now ``True`` by default. (Contributed by Berker Peksag in :" +"issue:`21047`.)" +msgstr "" +"Застарілий \"суворий\" режим і аргумент :class:`~html.parser.HTMLParser`, :" +"meth:`HTMLParser.error` і виняток :exc:`HTMLParserError` видалено. (Надано " +"Еціо Мелотті в :issue:`15114`.) Аргумент *convert_charrefs* :class:`~html." +"parser.HTMLParser` тепер за умовчанням має значення ``True``. (Надано Berker " +"Peksag у :issue:`21047`.)" + +msgid "" +"Although it is not formally part of the API, it is worth noting for porting " +"purposes (ie: fixing tests) that error messages that were previously of the " +"form \"'sometype' does not support the buffer protocol\" are now of the form " +"\"a :term:`bytes-like object` is required, not 'sometype'\". (Contributed by " +"Ezio Melotti in :issue:`16518`.)" +msgstr "" +"Хоча це формально не є частиною API, варто зазначити, що для цілей " +"перенесення (тобто: виправлення тестів) повідомлення про помилки, які раніше " +"мали форму \"'sometype' не підтримує буферний протокол\", тепер мають форму " +"\"a :term:`bytes-like object` потрібен, а не 'sometype'\". (Надав Еціо " +"Мелотті в :issue:`16518`.)" + +msgid "" +"If the current directory is set to a directory that no longer exists then :" +"exc:`FileNotFoundError` will no longer be raised and instead :meth:" +"`~importlib.machinery.FileFinder.find_spec` will return ``None`` **without** " +"caching ``None`` in :data:`sys.path_importer_cache`, which is different than " +"the typical case (:issue:`22834`)." +msgstr "" +"Якщо поточний каталог встановлено на каталог, який більше не існує, тоді :" +"exc:`FileNotFoundError` більше не буде викликано, а замість цього :meth:" +"`~importlib.machinery.FileFinder.find_spec` поверне ``None`` **без** " +"кешування ``None`` у :data:`sys.path_importer_cache`, що відрізняється від " +"типового випадку (:issue:`22834`)." + +msgid "" +"HTTP status code and messages from :mod:`http.client` and :mod:`http.server` " +"were refactored into a common :class:`~http.HTTPStatus` enum. The values " +"in :mod:`http.client` and :mod:`http.server` remain available for backwards " +"compatibility. (Contributed by Demian Brecht in :issue:`21793`.)" +msgstr "" +"Код статусу HTTP та повідомлення від :mod:`http.client` і :mod:`http.server` " +"були перетворені в загальний перелік :class:`~http.HTTPStatus`. Значення в :" +"mod:`http.client` і :mod:`http.server` залишаються доступними для зворотної " +"сумісності. (Надав Деміан Брехт у :issue:`21793`.)" + +msgid "" +"When an import loader defines :meth:`importlib.machinery.Loader.exec_module` " +"it is now expected to also define :meth:`~importlib.machinery.Loader." +"create_module` (raises a :exc:`DeprecationWarning` now, will be an error in " +"Python 3.6). If the loader inherits from :class:`importlib.abc.Loader` then " +"there is nothing to do, else simply define :meth:`~importlib.machinery." +"Loader.create_module` to return ``None``. (Contributed by Brett Cannon in :" +"issue:`23014`.)" +msgstr "" +"Коли завантажувач імпорту визначає :meth:`importlib.machinery.Loader." +"exec_module`, тепер очікується також визначення :meth:`~importlib.machinery." +"Loader.create_module` (зараз викликає :exc:`DeprecationWarning`, буде " +"помилка в Python 3.6). Якщо завантажувач успадковує :class:`importlib.abc." +"Loader`, тоді нічого не потрібно робити, інакше просто визначте :meth:" +"`~importlib.machinery.Loader.create_module` для повернення ``None``. (Надав " +"Бретт Кеннон у :issue:`23014`.)" + +msgid "" +"The :func:`re.split` function always ignored empty pattern matches, so the ``" +"\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` pattern " +"never worked. Now :func:`re.split` raises a warning if the pattern could " +"match an empty string. For compatibility, use patterns that never match an " +"empty string (e.g. ``\"x+\"`` instead of ``\"x*\"``). Patterns that could " +"only match an empty string (such as ``\"\\b\"``) now raise an error. " +"(Contributed by Serhiy Storchaka in :issue:`22818`.)" +msgstr "" +"Функція :func:`re.split` завжди ігнорувала збіги порожнього шаблону, тому " +"шаблон ``\"x*\"`` працював так само, як ``\"x+\"``, а шаблон ``\"\\b\"`` " +"ніколи не працював. Тепер :func:`re.split` викликає попередження, якщо " +"шаблон може збігатися з порожнім рядком. Для сумісності використовуйте " +"шаблони, які ніколи не відповідають порожньому рядку (наприклад, ``\"x+\"`` " +"замість ``\"x*\"``). Шаблони, які можуть відповідати лише порожньому рядку " +"(наприклад, ``\"\\b\"``), тепер викликають помилку. (Надав Сергій Сторчака " +"в :issue:`22818`.)" + +msgid "" +"The :class:`http.cookies.Morsel` dict-like interface has been made self " +"consistent: morsel comparison now takes the :attr:`~http.cookies.Morsel." +"key` and :attr:`~http.cookies.Morsel.value` into account, :meth:`~http." +"cookies.Morsel.copy` now results in a :class:`~http.cookies.Morsel` instance " +"rather than a :class:`dict`, and :meth:`~http.cookies.Morsel.update` will " +"now raise an exception if any of the keys in the update dictionary are " +"invalid. In addition, the undocumented *LegalChars* parameter of :func:" +"`~http.cookies.Morsel.set` is deprecated and is now ignored. (Contributed " +"by Demian Brecht in :issue:`2211`.)" +msgstr "" +"Dict-подібний інтерфейс :class:`http.cookies.Morsel` був узгоджений: " +"порівняння шматків тепер використовує :attr:`~http.cookies.Morsel.key` і :" +"attr:`~http.cookies.Morsel .value`, :meth:`~http.cookies.Morsel.copy` тепер " +"призводить до екземпляра :class:`~http.cookies.Morsel` замість :class:" +"`dict`, і :meth:`~http.cookies.Morsel.update` тепер викличе виняток, якщо " +"будь-який із ключів у словнику оновлення недійсний. Крім того, " +"недокументований параметр *LegalChars* :func:`~http.cookies.Morsel.set` " +"застарів і тепер ігнорується. (Надав Деміан Брехт у :issue:`2211`.)" + +msgid "" +":pep:`488` has removed ``.pyo`` files from Python and introduced the " +"optional ``opt-`` tag in ``.pyc`` file names. The :func:`importlib.util." +"cache_from_source` has gained an *optimization* parameter to help control " +"the ``opt-`` tag. Because of this, the *debug_override* parameter of the " +"function is now deprecated. ``.pyo`` files are also no longer supported as a " +"file argument to the Python interpreter and thus serve no purpose when " +"distributed on their own (i.e. sourceless code distribution). Due to the " +"fact that the magic number for bytecode has changed in Python 3.5, all old " +"``.pyo`` files from previous versions of Python are invalid regardless of " +"this PEP." +msgstr "" + +msgid "" +"The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES` " +"constant on linux 3.6 and greater." +msgstr "" +"Модуль :mod:`socket` тепер експортує константу :data:`~socket." +"CAN_RAW_FD_FRAMES` у Linux 3.6 і новіших версіях." + +msgid "" +"The :func:`ssl.cert_time_to_seconds` function now interprets the input time " +"as UTC and not as local time, per :rfc:`5280`. Additionally, the return " +"value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" +msgstr "" +"Функція :func:`ssl.cert_time_to_seconds` тепер інтерпретує введений час як " +"UTC, а не як місцевий час відповідно до :rfc:`5280`. Крім того, повертається " +"значення завжди :class:`int`. (Надав Акіра Лі в :issue:`19940`.)" + +msgid "" +"The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones " +"in the POT-Creation-Date header." +msgstr "" +"Інструмент ``pygettext.py`` тепер використовує стандартний формат +NNNN для " +"часових поясів у заголовку POT-Creation-Date." + +msgid "" +"The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the " +"previous module-level :data:`stderr` variable for debug output. If your " +"(test) program depends on patching the module-level variable to capture the " +"debug output, you will need to update it to capture sys.stderr instead." +msgstr "" +"Модуль :mod:`smtplib` тепер використовує :data:`sys.stderr` замість " +"попередньої змінної рівня модуля :data:`stderr` для виводу налагодження. " +"Якщо ваша (тестова) програма залежить від виправлення змінної рівня модуля " +"для захоплення вихідних даних налагодження, вам потрібно буде оновити її для " +"захоплення sys.stderr." + +msgid "" +"The :meth:`str.startswith` and :meth:`str.endswith` methods no longer return " +"``True`` when finding the empty string and the indexes are completely out of " +"range. (Contributed by Serhiy Storchaka in :issue:`24284`.)" +msgstr "" +"Методи :meth:`str.startswith` і :meth:`str.endswith` більше не повертають " +"значення ``True``, коли знаходять порожній рядок, а індекси повністю " +"виходять за межі діапазону. (Надав Сергій Сторчака в :issue:`24284`.)" + +msgid "" +"The :func:`inspect.getdoc` function now returns documentation strings " +"inherited from base classes. Documentation strings no longer need to be " +"duplicated if the inherited documentation is appropriate. To suppress an " +"inherited string, an empty string must be specified (or the documentation " +"may be filled in). This change affects the output of the :mod:`pydoc` " +"module and the :func:`help` function. (Contributed by Serhiy Storchaka in :" +"issue:`15582`.)" +msgstr "" +"Функція :func:`inspect.getdoc` тепер повертає рядки документації, " +"успадковані від базових класів. Рядки документації більше не потрібно " +"дублювати, якщо успадкована документація підходить. Щоб приховати " +"успадкований рядок, необхідно вказати порожній рядок (або можна заповнити " +"документацію). Ця зміна впливає на вихідні дані модуля :mod:`pydoc` і " +"функції :func:`help`. (Надав Сергій Сторчака в :issue:`15582`.)" + +msgid "" +"Nested :func:`functools.partial` calls are now flattened. If you were " +"relying on the previous behavior, you can now either add an attribute to a :" +"func:`functools.partial` object or you can create a subclass of :func:" +"`functools.partial`. (Contributed by Alexander Belopolsky in :issue:`7830`.)" +msgstr "" +"Вкладені виклики :func:`functools.partial` тепер зведені. Якщо ви " +"покладалися на попередню поведінку, тепер ви можете додати атрибут до " +"об’єкта :func:`functools.partial` або створити підклас :func:`functools." +"partial`. (Надав Олександр Бєлопольський у :issue:`7830`.)" + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +"The undocumented :c:member:`~PyMemoryViewObject.format` member of the (non-" +"public) :c:type:`PyMemoryViewObject` structure has been removed. All " +"extensions relying on the relevant parts in ``memoryobject.h`` must be " +"rebuilt." +msgstr "" +"Недокументований член :c:member:`~PyMemoryViewObject.format` (непублічної) " +"структури :c:type:`PyMemoryViewObject` було видалено. Усі розширення, що " +"покладаються на відповідні частини в ``memoryobject.h``, необхідно " +"перебудувати." + +msgid "" +"The :c:type:`PyMemAllocator` structure was renamed to :c:type:" +"`PyMemAllocatorEx` and a new ``calloc`` field was added." +msgstr "" +"Структуру :c:type:`PyMemAllocator` було перейменовано на :c:type:" +"`PyMemAllocatorEx` і додано нове поле ``calloc``." + +msgid "" +"Removed non-documented macro :c:macro:`PyObject_REPR` which leaked " +"references. Use format character ``%R`` in :c:func:`PyUnicode_FromFormat`-" +"like functions to format the :func:`repr` of the object. (Contributed by " +"Serhiy Storchaka in :issue:`22453`.)" +msgstr "" +"Видалено незадокументований макрос :c:macro:`PyObject_REPR`, який став " +"джерелом посилань. Використовуйте символ форматування ``%R`` у :c:func:" +"`PyUnicode_FromFormat`-подібних функціях, щоб відформатувати :func:`repr` " +"об’єкта. (Надав Сергій Сторчака в :issue:`22453`.)" + +msgid "" +"Because the lack of the :attr:`__module__` attribute breaks pickling and " +"introspection, a deprecation warning is now raised for builtin types without " +"the :attr:`__module__` attribute. This would be an AttributeError in the " +"future. (Contributed by Serhiy Storchaka in :issue:`20204`.)" +msgstr "" +"Оскільки відсутність атрибута :attr:`__module__` порушує маринування та " +"самоаналіз, для вбудованих типів без атрибута :attr:`__module__` тепер " +"видається попередження про застаріле. У майбутньому це буде AttributeError. " +"(Надав Сергій Сторчака у :issue:`20204`.)" + +msgid "" +"As part of the :pep:`492` implementation, the ``tp_reserved`` slot of :c:" +"type:`PyTypeObject` was replaced with a :c:member:`tp_as_async` slot. Refer " +"to :ref:`coro-objects` for new types, structures and functions." +msgstr "" +"У рамках реалізації :pep:`492` слот ``tp_reserved`` :c:type:`PyTypeObject` " +"було замінено на :c:member:`tp_as_async` слот. Зверніться до :ref:`coro-" +"objects` для нових типів, структур і функцій." + +msgid "Notable changes in Python 3.5.4" +msgstr "Помітні зміни в Python 3.5.4" + +msgid "New ``make regen-all`` build target" +msgstr "Нова ціль збірки ``make regen-all``" + +msgid "" +"To simplify cross-compilation, and to ensure that CPython can reliably be " +"compiled without requiring an existing version of Python to already be " +"available, the autotools-based build system no longer attempts to implicitly " +"recompile generated files based on file modification times." +msgstr "" +"Щоб спростити крос-компіляцію та гарантувати, що CPython можна надійно " +"скомпілювати без наявності наявної версії Python, система збирання на основі " +"autotools більше не намагається неявно перекомпілювати згенеровані файли на " +"основі часу модифікації файлу." + +msgid "" +"Instead, a new ``make regen-all`` command has been added to force " +"regeneration of these files when desired (e.g. after an initial version of " +"Python has already been built based on the pregenerated versions)." +msgstr "" +"Натомість додано нову команду ``make regen-all``, щоб примусово повторно " +"генерувати ці файли за бажанням (наприклад, після того, як початкова версія " +"Python вже була створена на основі попередньо згенерованих версій)." + +msgid "" +"More selective regeneration targets are also defined - see :source:`Makefile." +"pre.in` for details." +msgstr "" +"Також визначено більш вибіркові цілі регенерації - подробиці див. :source:" +"`Makefile.pre.in`." + +msgid "(Contributed by Victor Stinner in :issue:`23404`.)" +msgstr "(Надав Віктор Стіннер у :issue:`23404`.)" + +msgid "Removal of ``make touch`` build target" +msgstr "Видалення цілі збірки ``make touch``" + +msgid "" +"The ``make touch`` build target previously used to request implicit " +"regeneration of generated files by updating their modification times has " +"been removed." +msgstr "" +"Ціль збірки ``make touch``, яка раніше використовувалася для запиту неявної " +"регенерації згенерованих файлів шляхом оновлення часу їх модифікації, " +"видалено." + +msgid "It has been replaced by the new ``make regen-all`` target." +msgstr "Його було замінено новою метою ``make regen-all``." diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po new file mode 100644 index 000000000..e8a067dbf --- /dev/null +++ b/whatsnew/3.6.po @@ -0,0 +1,3841 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.6" +msgstr "Що нового в Python 3.6" + +msgid "Editors" +msgstr "Редактори" + +msgid "Elvis Pranskevichus , Yury Selivanov " +msgstr "Elvis Pranskevichus , Yury Selivanov " + +msgid "" +"This article explains the new features in Python 3.6, compared to 3.5. " +"Python 3.6 was released on December 23, 2016.  See the `changelog `_ for a full list of changes." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.6 порівняно з 3.5. Python " +"3.6 було випущено 23 грудня 2016 року. Повний список змін див. у `журналі " +"змін `_." + +msgid ":pep:`494` - Python 3.6 Release Schedule" +msgstr ":pep:`494` - Графік випуску Python 3.6" + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid ":ref:`PEP 498 `, formatted string literals." +msgstr ":ref:`PEP 498 `, відформатовані рядкові літерали." + +msgid ":ref:`PEP 515 `, underscores in numeric literals." +msgstr ":ref:`PEP 515 `, підкреслення в числових літералах." + +msgid ":ref:`PEP 526 `, syntax for variable annotations." +msgstr ":ref:`PEP 526 `, синтаксис для анотацій змінних." + +msgid ":ref:`PEP 525 `, asynchronous generators." +msgstr ":ref:`PEP 525 `, асинхронні генератори." + +msgid ":ref:`PEP 530 `: asynchronous comprehensions." +msgstr ":ref:`PEP 530 `: асинхронне розуміння." + +msgid "New library modules:" +msgstr "Нові бібліотечні модулі:" + +msgid "" +":mod:`secrets`: :ref:`PEP 506 -- Adding A Secrets Module To The Standard " +"Library `." +msgstr "" +":mod:`secrets`: :ref:`PEP 506 -- Додавання модуля секретів до стандартної " +"бібліотеки `." + +msgid "CPython implementation improvements:" +msgstr "Покращення реалізації CPython:" + +msgid "" +"The :ref:`dict ` type has been reimplemented to use a :ref:" +"`more compact representation ` based on `a proposal " +"by Raymond Hettinger `_ and similar to the `PyPy dict implementation`_. " +"This resulted in dictionaries using 20% to 25% less memory when compared to " +"Python 3.5." +msgstr "" +"Тип :ref:`dict ` було перереалізовано для використання :ref:" +"`більш компактного представлення ` на основі " +"`пропозиції Raymond Hettinger `_ і подібного до `реалізації dict PyPy`_. Це " +"призвело до того, що словники використовували на 20–25% менше пам’яті " +"порівняно з Python 3.5." + +msgid "" +"Customization of class creation has been simplified with the :ref:`new " +"protocol `." +msgstr "" +"Налаштування створення класу було спрощено за допомогою :ref:`нового " +"протоколу `." + +msgid "" +"The class attribute definition order is :ref:`now preserved `." +msgstr "" +"Порядок визначення атрибутів класу :ref:`тепер збережено `." + +msgid "" +"The order of elements in ``**kwargs`` now :ref:`corresponds to the order " +"` in which keyword arguments were passed to the function." +msgstr "" +"Порядок елементів у ``**kwargs`` тепер :ref:`відповідає порядку `, у якому ключові аргументи були передані функції." + +msgid "" +"DTrace and SystemTap :ref:`probing support ` has been " +"added." +msgstr "" +"DTrace і SystemTap :ref:`додано підтримку зондування `." + +msgid "" +"The new :ref:`PYTHONMALLOC ` environment variable " +"can now be used to debug the interpreter memory allocation and access errors." +msgstr "" +"Нову змінну середовища :ref:`PYTHONMALLOC ` тепер " +"можна використовувати для налагодження розподілу пам’яті інтерпретатора та " +"помилок доступу." + +msgid "Significant improvements in the standard library:" +msgstr "Значні вдосконалення стандартної бібліотеки:" + +msgid "" +"The :mod:`asyncio` module has received new features, significant usability " +"and performance improvements, and a fair amount of bug fixes. Starting with " +"Python 3.6 the ``asyncio`` module is no longer provisional and its API is " +"considered stable." +msgstr "" +"Модуль :mod:`asyncio` отримав нові функції, значні покращення зручності " +"використання та продуктивності, а також чимало виправлень помилок. Починаючи " +"з Python 3.6, модуль ``asyncio`` більше не є тимчасовим, а його API " +"вважається стабільним." + +msgid "" +"A new :ref:`file system path protocol ` has been " +"implemented to support :term:`path-like objects `. All " +"standard library functions operating on paths have been updated to work with " +"the new protocol." +msgstr "" +"Новий :ref:`протокол шляхів файлової системи ` було " +"реалізовано для підтримки :term:`шляхових об’єктів `. Усі " +"стандартні функції бібліотеки, що працюють із шляхами, оновлено для роботи з " +"новим протоколом." + +msgid "" +"The :mod:`datetime` module has gained support for :ref:`Local Time " +"Disambiguation `." +msgstr "" +"Модуль :mod:`datetime` отримав підтримку :ref:`Визначення неоднозначності " +"місцевого часу `." + +msgid "" +"The :mod:`typing` module received a number of :ref:`improvements `." +msgstr "" +"Модуль :mod:`typing` отримав низку :ref:`покращень `." + +msgid "" +"The :mod:`tracemalloc` module has been significantly reworked and is now " +"used to provide better output for :exc:`ResourceWarning` as well as provide " +"better diagnostics for memory allocation errors. See the :ref:`PYTHONMALLOC " +"section ` for more information." +msgstr "" +"Модуль :mod:`tracemalloc` був суттєво перероблений і тепер використовується " +"для забезпечення кращого результату для :exc:`ResourceWarning`, а також для " +"забезпечення кращої діагностики помилок розподілу пам’яті. Перегляньте " +"розділ :ref:`PYTHONMALLOC ` для отримання " +"додаткової інформації." + +msgid "Security improvements:" +msgstr "Покращення безпеки:" + +msgid "" +"The new :mod:`secrets` module has been added to simplify the generation of " +"cryptographically strong pseudo-random numbers suitable for managing secrets " +"such as account authentication, tokens, and similar." +msgstr "" +"Новий модуль :mod:`secrets` додано для спрощення генерації криптографічно " +"надійних псевдовипадкових чисел, придатних для керування секретами, такими " +"як автентифікація облікового запису, токени тощо." + +msgid "" +"On Linux, :func:`os.urandom` now blocks until the system urandom entropy " +"pool is initialized to increase the security. See the :pep:`524` for the " +"rationale." +msgstr "" +"У Linux :func:`os.urandom` тепер блокується, доки системний пул ентропії не " +"буде ініціалізовано для підвищення безпеки. Перегляньте :pep:`524` для " +"обґрунтування." + +msgid "The :mod:`hashlib` and :mod:`ssl` modules now support OpenSSL 1.1.0." +msgstr "Модулі :mod:`hashlib` і :mod:`ssl` тепер підтримують OpenSSL 1.1.0." + +msgid "" +"The default settings and feature set of the :mod:`ssl` module have been " +"improved." +msgstr "" +"Стандартні параметри та набір функцій модуля :mod:`ssl` було покращено." + +msgid "" +"The :mod:`hashlib` module received support for the BLAKE2, SHA-3 and SHAKE " +"hash algorithms and the :func:`~hashlib.scrypt` key derivation function." +msgstr "" +"Модуль :mod:`hashlib` отримав підтримку хеш-алгоритмів BLAKE2, SHA-3 і SHAKE " +"і функції виведення ключа :func:`~hashlib.scrypt`." + +msgid "Windows improvements:" +msgstr "Покращення Windows:" + +msgid "" +":ref:`PEP 528 ` and :ref:`PEP 529 `, " +"Windows filesystem and console encoding changed to UTF-8." +msgstr "" +":ref:`PEP 528 ` і :ref:`PEP 529 `, " +"файлову систему Windows і кодування консолі змінено на UTF-8." + +msgid "" +"The ``py.exe`` launcher, when used interactively, no longer prefers Python 2 " +"over Python 3 when the user doesn't specify a version (via command line " +"arguments or a config file). Handling of shebang lines remains unchanged - " +"\"python\" refers to Python 2 in that case." +msgstr "" +"Засіб запуску ``py.exe``, коли використовується в інтерактивному режимі, " +"більше не надає перевагу Python 2 над Python 3, якщо користувач не вказує " +"версію (через аргументи командного рядка або файл конфігурації). Обробка " +"рядків shebang залишається незмінною - у цьому випадку \"python\" " +"відноситься до Python 2." + +msgid "" +"``python.exe`` and ``pythonw.exe`` have been marked as long-path aware, " +"which means that the 260 character path limit may no longer apply. See :ref:" +"`removing the MAX_PATH limitation ` for details." +msgstr "" +"``python.exe`` і ``pythonw.exe`` були позначені як такі, що підтримують " +"довгий шлях, що означає, що ліміт шляху 260 символів може більше не " +"застосовуватися. Дивіться :ref:`усунення обмеження MAX_PATH ` для " +"деталей." + +msgid "" +"A ``._pth`` file can be added to force isolated mode and fully specify all " +"search paths to avoid registry and environment lookup. See :ref:`the " +"documentation ` for more information." +msgstr "" + +msgid "" +"A ``python36.zip`` file now works as a landmark to infer :envvar:" +"`PYTHONHOME`. See :ref:`the documentation ` for " +"more information." +msgstr "" + +msgid "New Features" +msgstr "Нові можливості" + +msgid "PEP 498: Formatted string literals" +msgstr "PEP 498: Відформатовані рядкові літерали" + +msgid "" +":pep:`498` introduces a new kind of string literals: *f-strings*, or :ref:" +"`formatted string literals `." +msgstr "" +":pep:`498` представляє новий тип рядкових літералів: *f-strings* або :ref:" +"`форматовані рядкові літерали `." + +msgid "" +"Formatted string literals are prefixed with ``'f'`` and are similar to the " +"format strings accepted by :meth:`str.format`. They contain replacement " +"fields surrounded by curly braces. The replacement fields are expressions, " +"which are evaluated at run time, and then formatted using the :func:`format` " +"protocol::" +msgstr "" +"Форматовані рядкові літерали мають префікс ``'f`` і подібні до рядків " +"формату, які приймає :meth:`str.format`. Вони містять поля заміни, оточені " +"фігурними дужками. Поля заміни — це вирази, які обчислюються під час " +"виконання, а потім форматуються за допомогою протоколу :func:`format`::" + +msgid ":pep:`498` -- Literal String Interpolation." +msgstr ":pep:`498` -- Літеральна інтерполяція рядків." + +msgid "PEP written and implemented by Eric V. Smith." +msgstr "PEP написаний і реалізований Еріком В. Смітом." + +msgid ":ref:`Feature documentation `." +msgstr ":ref:`Документація функцій `." + +msgid "PEP 526: Syntax for variable annotations" +msgstr "PEP 526: Синтаксис для анотацій змінних" + +msgid "" +":pep:`484` introduced the standard for type annotations of function " +"parameters, a.k.a. type hints. This PEP adds syntax to Python for annotating " +"the types of variables including class variables and instance variables::" +msgstr "" +":pep:`484` запровадив стандарт для анотацій типу параметрів функції, так " +"само як підказки типу. Цей PEP додає синтаксис до Python для анотування " +"типів змінних, включаючи змінні класу та змінні екземпляра:" + +msgid "" +"Just as for function annotations, the Python interpreter does not attach any " +"particular meaning to variable annotations and only stores them in the " +"``__annotations__`` attribute of a class or module." +msgstr "" +"Подібно до анотацій функцій, інтерпретатор Python не надає жодного " +"конкретного значення анотаціям змінних і зберігає їх лише в атрибуті " +"``__annotations__`` класу або модуля." + +msgid "" +"In contrast to variable declarations in statically typed languages, the goal " +"of annotation syntax is to provide an easy way to specify structured type " +"metadata for third party tools and libraries via the abstract syntax tree " +"and the ``__annotations__`` attribute." +msgstr "" +"На відміну від декларацій змінних у статично типізованих мовах, метою " +"синтаксису анотацій є надання простого способу визначення метаданих " +"структурованого типу для сторонніх інструментів і бібліотек за допомогою " +"абстрактного синтаксичного дерева та атрибута ``__annotations__``." + +msgid ":pep:`526` -- Syntax for variable annotations." +msgstr ":pep:`526` -- Синтаксис для анотацій змінних." + +msgid "" +"PEP written by Ryan Gonzalez, Philip House, Ivan Levkivskyi, Lisa Roach, and " +"Guido van Rossum. Implemented by Ivan Levkivskyi." +msgstr "" +"PEP написали Райан Гонсалес, Філіп Хаус, Іван Левківський, Ліза Роуч та " +"Гвідо ван Россум. Реалізував Іван Левківський." + +msgid "" +"Tools that use or will use the new syntax: `mypy `_, `pytype `_, PyCharm, etc." +msgstr "" +"Інструменти, які використовують або використовуватимуть новий синтаксис: " +"`mypy `_, `pytype `_, PyCharm тощо." + +msgid "PEP 515: Underscores in Numeric Literals" +msgstr "PEP 515: Підкреслення в числових літералах" + +msgid "" +":pep:`515` adds the ability to use underscores in numeric literals for " +"improved readability. For example::" +msgstr "" +":pep:`515` додає можливість використовувати підкреслення в числових " +"літералах для кращої читабельності. Наприклад::" + +msgid "" +"Single underscores are allowed between digits and after any base specifier. " +"Leading, trailing, or multiple underscores in a row are not allowed." +msgstr "" +"Між цифрами та після будь-якого основного специфікатора допускається " +"одинарне підкреслення. Забороняється використовувати початкове, кінцеве або " +"кілька символів підкреслення підряд." + +msgid "" +"The :ref:`string formatting ` language also now has support for " +"the ``'_'`` option to signal the use of an underscore for a thousands " +"separator for floating point presentation types and for integer presentation " +"type ``'d'``. For integer presentation types ``'b'``, ``'o'``, ``'x'``, and " +"``'X'``, underscores will be inserted every 4 digits::" +msgstr "" +"У мові :ref:`строкового форматування ` тепер є підтримка опції " +"``'_``, яка сигналізує про використання символу підкреслення для роздільника " +"тисяч для типів подання з плаваючою комою та для цілочисельного типу подання " +"``'d'``. Для цілочисельних типів подання ``'b'``, ``'o'``, ``'x'`` і ``'X'`` " +"підкреслення буде вставлятися кожні 4 цифри::" + +msgid ":pep:`515` -- Underscores in Numeric Literals" +msgstr ":pep:`515` -- Підкреслення в числових літералах" + +msgid "PEP written by Georg Brandl and Serhiy Storchaka." +msgstr "PEP автори Георг Брандл та Сергій Сторчака." + +msgid "PEP 525: Asynchronous Generators" +msgstr "PEP 525: Асинхронні генератори" + +msgid "" +":pep:`492` introduced support for native coroutines and ``async`` / " +"``await`` syntax to Python 3.5. A notable limitation of the Python 3.5 " +"implementation is that it was not possible to use ``await`` and ``yield`` in " +"the same function body. In Python 3.6 this restriction has been lifted, " +"making it possible to define *asynchronous generators*::" +msgstr "" +":pep:`492` представив підтримку власних співпрограм і синтаксис ``async`` / " +"``await`` для Python 3.5. Помітним обмеженням реалізації Python 3.5 є те, що " +"неможливо було використовувати ``await`` і ``yield`` в одному тілі функції. " +"У Python 3.6 це обмеження було знято, завдяки чому стало можливим визначення " +"*асинхронних генераторів*::" + +msgid "The new syntax allows for faster and more concise code." +msgstr "Новий синтаксис дозволяє створювати швидший і лаконічніший код." + +msgid ":pep:`525` -- Asynchronous Generators" +msgstr ":pep:`525` -- Асинхронні генератори" + +msgid "PEP written and implemented by Yury Selivanov." +msgstr "PEP написав і реалізував Юрій Селіванов." + +msgid "PEP 530: Asynchronous Comprehensions" +msgstr "PEP 530: Асинхронне розуміння" + +msgid "" +":pep:`530` adds support for using ``async for`` in list, set, dict " +"comprehensions and generator expressions::" +msgstr "" +":pep:`530` додає підтримку для використання ``async for`` у списках, " +"набірах, розуміннях dict і генераторних виразах::" + +msgid "" +"Additionally, ``await`` expressions are supported in all kinds of " +"comprehensions::" +msgstr "Крім того, вирази ``await`` підтримуються у всіх видах розуміння:" + +msgid ":pep:`530` -- Asynchronous Comprehensions" +msgstr ":pep:`530` -- Асинхронне розуміння" + +msgid "PEP 487: Simpler customization of class creation" +msgstr "PEP 487: Простіша настройка створення класу" + +msgid "" +"It is now possible to customize subclass creation without using a metaclass. " +"The new ``__init_subclass__`` classmethod will be called on the base class " +"whenever a new subclass is created::" +msgstr "" +"Тепер можна налаштувати створення підкласу без використання метакласу. Новий " +"метод класу ``__init_subclass__`` буде викликатися в базовому класі кожного " +"разу, коли створюється новий підклас::" + +msgid "" +"In order to allow zero-argument :func:`super` calls to work correctly from :" +"meth:`~object.__init_subclass__` implementations, custom metaclasses must " +"ensure that the new ``__classcell__`` namespace entry is propagated to " +"``type.__new__`` (as described in :ref:`class-object-creation`)." +msgstr "" +"Щоб дозволити викликам :func:`super` із нульовим аргументом правильно " +"працювати з реалізацій :meth:`~object.__init_subclass__`, спеціальні " +"метакласи мають гарантувати, що новий запис простору імен ``__classcell__`` " +"поширюється на ``type. __new__`` (як описано в :ref:`class-object-creation`)." + +msgid ":pep:`487` -- Simpler customization of class creation" +msgstr ":pep:`487` -- Простіша настройка створення класів" + +msgid "PEP written and implemented by Martin Teichmann." +msgstr "PEP написаний і реалізований Мартіном Тайхманном." + +msgid ":ref:`Feature documentation `" +msgstr ":ref:`Документація функцій `" + +msgid "PEP 487: Descriptor Protocol Enhancements" +msgstr "PEP 487: Покращення протоколу дескриптора" + +msgid "" +":pep:`487` extends the descriptor protocol to include the new optional :meth:" +"`~object.__set_name__` method. Whenever a new class is defined, the new " +"method will be called on all descriptors included in the definition, " +"providing them with a reference to the class being defined and the name " +"given to the descriptor within the class namespace. In other words, " +"instances of descriptors can now know the attribute name of the descriptor " +"in the owner class::" +msgstr "" +":pep:`487` розширює протокол дескриптора, щоб включити новий необов’язковий " +"метод :meth:`~object.__set_name__`. Кожного разу, коли визначається новий " +"клас, новий метод буде викликаний для всіх дескрипторів, включених у " +"визначення, надаючи їм посилання на клас, що визначається, і ім’я, дане " +"дескриптору в просторі імен класу. Іншими словами, екземпляри дескрипторів " +"тепер можуть знати назву атрибута дескриптора в класі власника::" + +msgid ":ref:`Feature documentation `" +msgstr ":ref:`Документація функцій `" + +msgid "PEP 519: Adding a file system path protocol" +msgstr "PEP 519: Додавання протоколу шляху файлової системи" + +msgid "" +"File system paths have historically been represented as :class:`str` or :" +"class:`bytes` objects. This has led to people who write code which operate " +"on file system paths to assume that such objects are only one of those two " +"types (an :class:`int` representing a file descriptor does not count as that " +"is not a file path). Unfortunately that assumption prevents alternative " +"object representations of file system paths like :mod:`pathlib` from working " +"with pre-existing code, including Python's standard library." +msgstr "" +"Шляхи файлової системи історично представлялися як об’єкти :class:`str` або :" +"class:`bytes`. Це призвело до того, що люди, які пишуть код, який працює зі " +"шляхами файлової системи, припускають, що такі об’єкти є лише одним із цих " +"двох типів (:class:`int`, що представляє дескриптор файлу, не вважається, " +"оскільки це не шлях до файлу). На жаль, це припущення не дозволяє " +"альтернативним представленням об’єктів шляхів файлової системи, таким як :" +"mod:`pathlib`, працювати з уже існуючим кодом, включаючи стандартну " +"бібліотеку Python." + +msgid "" +"To fix this situation, a new interface represented by :class:`os.PathLike` " +"has been defined. By implementing the :meth:`~os.PathLike.__fspath__` " +"method, an object signals that it represents a path. An object can then " +"provide a low-level representation of a file system path as a :class:`str` " +"or :class:`bytes` object. This means an object is considered :term:`path-" +"like ` if it implements :class:`os.PathLike` or is a :" +"class:`str` or :class:`bytes` object which represents a file system path. " +"Code can use :func:`os.fspath`, :func:`os.fsdecode`, or :func:`os.fsencode` " +"to explicitly get a :class:`str` and/or :class:`bytes` representation of a " +"path-like object." +msgstr "" +"Щоб виправити цю ситуацію, було визначено новий інтерфейс, представлений :" +"class:`os.PathLike`. Реалізуючи метод :meth:`~os.PathLike.__fspath__`, " +"об’єкт сигналізує, що він представляє шлях. Потім об’єкт може надати " +"низькорівневе представлення шляху файлової системи як об’єкт :class:`str` " +"або :class:`bytes`. Це означає, що об’єкт вважається :term:`path-подібним " +"`, якщо він реалізує :class:`os.PathLike` або є об’єктом :" +"class:`str` чи :class:`bytes`, який представляє шлях до файлової системи. " +"Код може використовувати :func:`os.fspath`, :func:`os.fsdecode` або :func:" +"`os.fsencode`, щоб явно отримати представлення :class:`str` та/або :class:" +"`bytes` шляхоподібного об’єкта." + +msgid "" +"The built-in :func:`open` function has been updated to accept :class:`os." +"PathLike` objects, as have all relevant functions in the :mod:`os` and :mod:" +"`os.path` modules, and most other functions and classes in the standard " +"library. The :class:`os.DirEntry` class and relevant classes in :mod:" +"`pathlib` have also been updated to implement :class:`os.PathLike`." +msgstr "" +"Вбудовану функцію :func:`open` було оновлено, щоб приймати об’єкти :class:" +"`os.PathLike`, як і всі відповідні функції в модулях :mod:`os` і :mod:`os." +"path`, і більшість інших функцій і класів у стандартній бібліотеці. Клас :" +"class:`os.DirEntry` і відповідні класи в :mod:`pathlib` також були оновлені " +"для реалізації :class:`os.PathLike`." + +msgid "" +"The hope is that updating the fundamental functions for operating on file " +"system paths will lead to third-party code to implicitly support all :term:" +"`path-like objects ` without any code changes, or at least " +"very minimal ones (e.g. calling :func:`os.fspath` at the beginning of code " +"before operating on a path-like object)." +msgstr "" +"Є надія, що оновлення фундаментальних функцій для роботи зі шляхами файлової " +"системи призведе до коду третьої сторони, який неявно підтримує всі :term:" +"`path-подібні об’єкти ` без будь-яких змін коду або " +"принаймні дуже мінімальних (наприклад, виклик :func:`os.fspath` на початку " +"коду перед операцією з об’єктом, схожим на шлях)." + +msgid "" +"Here are some examples of how the new interface allows for :class:`pathlib." +"Path` to be used more easily and transparently with pre-existing code::" +msgstr "" +"Ось декілька прикладів того, як новий інтерфейс дозволяє використовувати :" +"class:`pathlib.Path` легше та прозоріше з уже існуючим кодом::" + +msgid "" +"(Implemented by Brett Cannon, Ethan Furman, Dusty Phillips, and Jelle " +"Zijlstra.)" +msgstr "" +"(Реалізовано Бреттом Кенноном, Ітаном Фурманом, Дасті Філіпсом і Джелле " +"Зійлстра.)" + +msgid ":pep:`519` -- Adding a file system path protocol" +msgstr ":pep:`519` -- Додавання протоколу шляху файлової системи" + +msgid "PEP written by Brett Cannon and Koos Zevenhoven." +msgstr "PEP, написаний Бреттом Кенноном і Кусом Зевенховеном." + +msgid "PEP 495: Local Time Disambiguation" +msgstr "PEP 495: Роз’яснення неоднозначності за місцевим часом" + +msgid "" +"In most world locations, there have been and will be times when local clocks " +"are moved back. In those times, intervals are introduced in which local " +"clocks show the same time twice in the same day. In these situations, the " +"information displayed on a local clock (or stored in a Python datetime " +"instance) is insufficient to identify a particular moment in time." +msgstr "" +"У більшості країн світу були й будуть часи, коли місцеві годинники " +"переводили назад. У ті часи вводяться інтервали, в яких місцеві годинники " +"показують один і той самий час двічі в один день. У таких ситуаціях " +"інформації, яка відображається на локальному годиннику (або зберігається в " +"екземплярі Python datetime), недостатньо для визначення конкретного моменту " +"часу." + +msgid "" +":pep:`495` adds the new *fold* attribute to instances of :class:`datetime." +"datetime` and :class:`datetime.time` classes to differentiate between two " +"moments in time for which local times are the same::" +msgstr "" +":pep:`495` додає новий атрибут *fold* до екземплярів класів :class:`datetime." +"datetime` і :class:`datetime.time`, щоб розрізняти два моменти часу, для " +"яких місцевий час однаковий:" + +msgid "" +"The values of the :attr:`fold ` attribute have the " +"value ``0`` for all instances except those that represent the second " +"(chronologically) moment in time in an ambiguous case." +msgstr "" +"Значення атрибута :attr:`fold ` мають значення ``0`` " +"для всіх випадків, крім тих, які представляють другий (хронологічно) момент " +"часу в неоднозначному випадку." + +msgid ":pep:`495` -- Local Time Disambiguation" +msgstr ":pep:`495` -- Визначення місцевого часу" + +msgid "" +"PEP written by Alexander Belopolsky and Tim Peters, implementation by " +"Alexander Belopolsky." +msgstr "" +"PEP, написаний Олександром Бєлопольським і Тімом Пітерсом, реалізація — " +"Олександром Бєлопольським." + +msgid "PEP 529: Change Windows filesystem encoding to UTF-8" +msgstr "PEP 529: змініть кодування файлової системи Windows на UTF-8" + +msgid "" +"Representing filesystem paths is best performed with str (Unicode) rather " +"than bytes. However, there are some situations where using bytes is " +"sufficient and correct." +msgstr "" +"Представлення шляхів файлової системи найкраще виконується за допомогою str " +"(Unicode), а не байтів. Однак є деякі ситуації, коли використання байтів є " +"достатнім і правильним." + +msgid "" +"Prior to Python 3.6, data loss could result when using bytes paths on " +"Windows. With this change, using bytes to represent paths is now supported " +"on Windows, provided those bytes are encoded with the encoding returned by :" +"func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``." +msgstr "" +"До Python 3.6 втрата даних могла призвести до використання байтових шляхів у " +"Windows. Завдяки цій зміні використання байтів для представлення шляхів " +"тепер підтримується в Windows, за умови, що ці байти закодовано з " +"кодуванням, яке повертає :func:`sys.getfilesystemencoding()`, яке тепер за " +"замовчуванням ``'utf-8'``." + +msgid "" +"Applications that do not use str to represent paths should use :func:`os." +"fsencode()` and :func:`os.fsdecode()` to ensure their bytes are correctly " +"encoded. To revert to the previous behaviour, set :envvar:" +"`PYTHONLEGACYWINDOWSFSENCODING` or call :func:`sys." +"_enablelegacywindowsfsencoding`." +msgstr "" +"Програми, які не використовують str для представлення шляхів, повинні " +"використовувати :func:`os.fsencode()` і :func:`os.fsdecode()`, щоб " +"переконатися, що їхні байти правильно закодовані. Щоб повернутися до " +"попередньої поведінки, встановіть :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " +"або викличте :func:`sys._enablelegacywindowsfsencoding`." + +msgid "" +"See :pep:`529` for more information and discussion of code modifications " +"that may be required." +msgstr "" +"Перегляньте :pep:`529` для отримання додаткової інформації та обговорення " +"модифікацій коду, які можуть знадобитися." + +msgid "PEP 528: Change Windows console encoding to UTF-8" +msgstr "PEP 528: Змініть кодування консолі Windows на UTF-8" + +msgid "" +"The default console on Windows will now accept all Unicode characters and " +"provide correctly read str objects to Python code. ``sys.stdin``, ``sys." +"stdout`` and ``sys.stderr`` now default to utf-8 encoding." +msgstr "" +"Консоль за замовчуванням у Windows тепер прийматиме всі символи Unicode та " +"забезпечуватиме коректне читання об’єктів str у коді Python. ``sys.stdin``, " +"``sys.stdout`` і ``sys.stderr`` тепер за замовчуванням у кодуванні utf-8." + +msgid "" +"This change only applies when using an interactive console, and not when " +"redirecting files or pipes. To revert to the previous behaviour for " +"interactive console use, set :envvar:`PYTHONLEGACYWINDOWSSTDIO`." +msgstr "" +"Ця зміна застосовується лише під час використання інтерактивної консолі, а " +"не під час перенаправлення файлів або каналів. Щоб повернутися до " +"попередньої поведінки для використання інтерактивної консолі, встановіть :" +"envvar:`PYTHONLEGACYWINDOWSSTDIO`." + +msgid ":pep:`528` -- Change Windows console encoding to UTF-8" +msgstr ":pep:`528` -- Змінити кодування консолі Windows на UTF-8" + +msgid "PEP written and implemented by Steve Dower." +msgstr "PEP написаний і реалізований Стівом Дауером." + +msgid "PEP 520: Preserving Class Attribute Definition Order" +msgstr "PEP 520: Збереження порядку визначення атрибутів класу" + +msgid "" +"Attributes in a class definition body have a natural ordering: the same " +"order in which the names appear in the source. This order is now preserved " +"in the new class's :attr:`~object.__dict__` attribute." +msgstr "" +"Атрибути в тілі визначення класу мають природний порядок: той самий порядок, " +"у якому імена з’являються в джерелі. Цей порядок тепер збережено в атрибуті :" +"attr:`~object.__dict__` нового класу." + +msgid "" +"Also, the effective default class *execution* namespace (returned from :ref:" +"`type.__prepare__() `) is now an insertion-order-preserving mapping." +msgstr "" +"Крім того, ефективний простір імен *виконання* класу за замовчуванням " +"(повернений з :ref:`type.__prepare__() `) тепер є відображенням, що " +"зберігає порядок вставки." + +msgid ":pep:`520` -- Preserving Class Attribute Definition Order" +msgstr ":pep:`520` -- Збереження порядку визначення атрибутів класу" + +msgid "PEP written and implemented by Eric Snow." +msgstr "PEP написав і реалізував Ерік Сноу." + +msgid "PEP 468: Preserving Keyword Argument Order" +msgstr "PEP 468: Збереження порядку аргументів ключового слова" + +msgid "" +"``**kwargs`` in a function signature is now guaranteed to be an insertion-" +"order-preserving mapping." +msgstr "" +"``**kwargs`` у сигнатурі функції тепер гарантовано є відображенням, що " +"зберігає порядок вставки." + +msgid ":pep:`468` -- Preserving Keyword Argument Order" +msgstr ":pep:`468` -- Збереження порядку аргументів ключового слова" + +msgid "New :ref:`dict ` implementation" +msgstr "Нова реалізація :ref:`dict `" + +msgid "" +"The :ref:`dict ` type now uses a \"compact\" representation " +"based on `a proposal by Raymond Hettinger `_ which was `first implemented by PyPy " +"`_. The memory usage of the new :func:`dict` is between 20% and 25% " +"smaller compared to Python 3.5." +msgstr "" +"Тип :ref:`dict ` тепер використовує \"компактне\" " +"представлення на основі `пропозиції Raymond Hettinger `_, яке було `вперше " +"реалізовано PyPy `_. Використання пам’яті нового :func:`dict` на 20%–" +"25% менше порівняно з Python 3.5." + +msgid "" +"The order-preserving aspect of this new implementation is considered an " +"implementation detail and should not be relied upon (this may change in the " +"future, but it is desired to have this new dict implementation in the " +"language for a few releases before changing the language spec to mandate " +"order-preserving semantics for all current and future Python " +"implementations; this also helps preserve backwards-compatibility with older " +"versions of the language where random iteration order is still in effect, e." +"g. Python 3.5)." +msgstr "" +"Аспект збереження порядку цієї нової реалізації вважається деталлю " +"реалізації, і на неї не слід покладатися (це може змінитися в майбутньому, " +"але бажано мати цю нову реалізацію dict у мові протягом кількох випусків " +"перед зміною специфікації мови надати обов’язкову семантику збереження " +"порядку для всіх поточних і майбутніх реалізацій Python; це також допомагає " +"зберегти зворотну сумісність зі старими версіями мови, де все ще діє " +"випадковий порядок ітерацій, наприклад, Python 3.5)." + +msgid "" +"(Contributed by INADA Naoki in :issue:`27350`. Idea `originally suggested by " +"Raymond Hettinger `_.)" +msgstr "" +"(Надано INADA Naoki в :issue:`27350`. Ідею `спочатку запропонував Raymond " +"Hettinger `_.)" + +msgid "PEP 523: Adding a frame evaluation API to CPython" +msgstr "PEP 523: додавання API оцінки кадрів до CPython" + +msgid "" +"While Python provides extensive support to customize how code executes, one " +"place it has not done so is in the evaluation of frame objects. If you " +"wanted some way to intercept frame evaluation in Python there really wasn't " +"any way without directly manipulating function pointers for defined " +"functions." +msgstr "" +"Хоча Python надає широку підтримку для налаштування способу виконання коду, " +"одне місце, де він цього не зробив, це оцінка об’єктів фрейму. Якщо вам " +"потрібен якийсь спосіб перехопити оцінку кадру в Python, справді не було " +"жодного способу без безпосереднього маніпулювання покажчиками функцій для " +"визначених функцій." + +msgid "" +":pep:`523` changes this by providing an API to make frame evaluation " +"pluggable at the C level. This will allow for tools such as debuggers and " +"JITs to intercept frame evaluation before the execution of Python code " +"begins. This enables the use of alternative evaluation implementations for " +"Python code, tracking frame evaluation, etc." +msgstr "" +":pep:`523` змінює це, надаючи API для підключення оцінки кадрів на рівні C. " +"Це дозволить таким інструментам, як налагоджувачі та JIT, перехоплювати " +"оцінку кадру перед початком виконання коду Python. Це дає змогу " +"використовувати альтернативні реалізації оцінки для коду Python, оцінки " +"кадрів відстеження тощо." + +msgid "" +"This API is not part of the limited C API and is marked as private to signal " +"that usage of this API is expected to be limited and only applicable to very " +"select, low-level use-cases. Semantics of the API will change with Python as " +"necessary." +msgstr "" +"Цей API не є частиною обмеженого API C і позначений як приватний, щоб " +"сигналізувати про те, що використання цього API, як очікується, буде " +"обмеженим і застосовним лише до дуже вибраних випадків використання низького " +"рівня. Семантика API змінюватиметься разом із Python за потреби." + +msgid ":pep:`523` -- Adding a frame evaluation API to CPython" +msgstr ":pep:`523` -- Додавання API оцінки кадрів до CPython" + +msgid "PEP written by Brett Cannon and Dino Viehland." +msgstr "PEP, написаний Бреттом Кенноном і Діно Віландом." + +msgid "PYTHONMALLOC environment variable" +msgstr "Змінна середовища PYTHONMALLOC" + +msgid "" +"The new :envvar:`PYTHONMALLOC` environment variable allows setting the " +"Python memory allocators and installing debug hooks." +msgstr "" +"Нова змінна середовища :envvar:`PYTHONMALLOC` дозволяє встановлювати " +"розподілювачі пам’яті Python і встановлювати хуки налагодження." + +msgid "" +"It is now possible to install debug hooks on Python memory allocators on " +"Python compiled in release mode using ``PYTHONMALLOC=debug``. Effects of " +"debug hooks:" +msgstr "" +"Тепер можна встановлювати перехоплювачі налагодження на розподілювачі " +"пам’яті Python на Python, скомпільованому в режимі випуску за допомогою " +"``PYTHONMALLOC=debug``. Ефекти налагоджувальних хуків:" + +msgid "Newly allocated memory is filled with the byte ``0xCB``" +msgstr "Щойно виділена пам'ять заповнюється байтом ``0xCB``" + +msgid "Freed memory is filled with the byte ``0xDB``" +msgstr "Звільнена пам'ять заповнюється байтом ``0xDB``" + +msgid "" +"Detect violations of the Python memory allocator API. For example, :c:func:" +"`PyObject_Free` called on a memory block allocated by :c:func:`PyMem_Malloc`." +msgstr "" +"Виявляти порушення API розподільника пам’яті Python. Наприклад, :c:func:" +"`PyObject_Free` викликає блок пам’яті, виділений :c:func:`PyMem_Malloc`." + +msgid "Detect writes before the start of a buffer (buffer underflows)" +msgstr "Виявлення записів перед початком буфера (переповнення буфера)" + +msgid "Detect writes after the end of a buffer (buffer overflows)" +msgstr "Виявлення записів після закінчення буфера (переповнення буфера)" + +msgid "" +"Check that the :term:`GIL ` is held when allocator " +"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" +"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." +msgstr "" +"Переконайтеся, що :term:`GIL ` зберігається, коли " +"функції розподільника :c:data:`PYMEM_DOMAIN_OBJ` (наприклад: :c:func:" +"`PyObject_Malloc`) і :c:data:`PYMEM_DOMAIN_MEM` (наприклад: :c:func:" +"`PyMem_Malloc`) викликаються домени." + +msgid "Checking if the GIL is held is also a new feature of Python 3.6." +msgstr "Перевірка збереження GIL також є новою функцією Python 3.6." + +msgid "" +"See the :c:func:`PyMem_SetupDebugHooks` function for debug hooks on Python " +"memory allocators." +msgstr "" +"Дивіться функцію :c:func:`PyMem_SetupDebugHooks` для перехоплень " +"налагодження розподільників пам’яті Python." + +msgid "" +"It is now also possible to force the usage of the :c:func:`malloc` allocator " +"of the C library for all Python memory allocations using " +"``PYTHONMALLOC=malloc``. This is helpful when using external memory " +"debuggers like Valgrind on a Python compiled in release mode." +msgstr "" +"Тепер також можна примусово використовувати розподільник :c:func:`malloc` " +"бібліотеки C для всіх виділень пам’яті Python за допомогою " +"``PYTHONMALLOC=malloc``. Це корисно під час використання налагоджувачів " +"зовнішньої пам’яті, таких як Valgrind, на Python, скомпільованому в режимі " +"випуску." + +msgid "" +"On error, the debug hooks on Python memory allocators now use the :mod:" +"`tracemalloc` module to get the traceback where a memory block was allocated." +msgstr "" +"У разі помилки хуки налагодження розподілювачів пам’яті Python тепер " +"використовують модуль :mod:`tracemalloc` для отримання зворотного " +"відстеження, де було виділено блок пам’яті." + +msgid "" +"Example of fatal error on buffer overflow using ``python3.6 -X " +"tracemalloc=5`` (store 5 frames in traces)::" +msgstr "" +"Приклад фатальної помилки переповнення буфера за допомогою ``python3.6 -X " +"tracemalloc=5`` (зберігати 5 кадрів у трасах)::" + +msgid "(Contributed by Victor Stinner in :issue:`26516` and :issue:`26564`.)" +msgstr "(Надав Віктор Стіннер у :issue:`26516` і :issue:`26564`.)" + +msgid "DTrace and SystemTap probing support" +msgstr "Підтримка зондування DTrace і SystemTap" + +msgid "" +"Python can now be built ``--with-dtrace`` which enables static markers for " +"the following events in the interpreter:" +msgstr "" +"Тепер Python можна створити ``--with-dtrace``, що вмикає статичні маркери " +"для таких подій в інтерпретаторі:" + +msgid "function call/return" +msgstr "виклик/повернення функції" + +msgid "garbage collection started/finished" +msgstr "збір сміття розпочато/завершено" + +msgid "line of code executed." +msgstr "виконаний рядок коду." + +msgid "" +"This can be used to instrument running interpreters in production, without " +"the need to recompile specific :ref:`debug builds ` or " +"providing application-specific profiling/debugging code." +msgstr "" +"Це можна використовувати для інструментування роботи інтерпретаторів у " +"виробництві без необхідності перекомпілювати певні :ref:`налагоджувальні " +"збірки ` або надавати спеціальний код профілю/налагодження " +"програми." + +msgid "More details in :ref:`instrumentation`." +msgstr "Детальніше в :ref:`instrumentation`." + +msgid "" +"The current implementation is tested on Linux and macOS. Additional markers " +"may be added in the future." +msgstr "" +"Поточна реалізація перевірена на Linux і macOS. У майбутньому можуть бути " +"додані додаткові маркери." + +msgid "" +"(Contributed by Łukasz Langa in :issue:`21590`, based on patches by Jesús " +"Cea Avión, David Malcolm, and Nikhil Benesch.)" +msgstr "" +"(Надав Łukasz Langa в :issue:`21590`, на основі патчів Хесуса Сеа Авіона, " +"Девіда Малкольма та Ніхіла Бенеша.)" + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "Some smaller changes made to the core Python language are:" +msgstr "Деякі менші зміни, внесені до основної мови Python:" + +msgid "" +"A ``global`` or ``nonlocal`` statement must now textually appear before the " +"first use of the affected name in the same scope. Previously this was a :exc:" +"`SyntaxWarning`." +msgstr "" +"Інструкція ``global`` або ``nonlocal`` тепер має текстово з’являтися перед " +"першим використанням відповідного імені в тій самій області. Раніше це було :" +"exc:`SyntaxWarning`." + +msgid "" +"It is now possible to set a :ref:`special method ` to ``None`` " +"to indicate that the corresponding operation is not available. For example, " +"if a class sets :meth:`__iter__` to ``None``, the class is not iterable. " +"(Contributed by Andrew Barnert and Ivan Levkivskyi in :issue:`25958`.)" +msgstr "" +"Тепер можна встановити :ref:`спеціальний метод ` на ``None``, " +"щоб вказати, що відповідна операція недоступна. Наприклад, якщо клас " +"встановлює :meth:`__iter__` на ``None``, клас не можна повторювати. (Надано " +"Ендрю Барнертом та Іваном Левківським у :issue:`25958`.)" + +msgid "" +"Long sequences of repeated traceback lines are now abbreviated as ``" +"\"[Previous line repeated {count} more times]\"`` (see :ref:`whatsnew36-" +"traceback` for an example). (Contributed by Emanuel Barry in :issue:`26823`.)" +msgstr "" +"Довгі послідовності повторюваних рядків відстеження тепер скорочуються як ``" +"\"[Попередній рядок повторюється {count} більше разів]\"`` (див. :ref:" +"`whatsnew36-traceback` для прикладу). (Надав Емануель Баррі в :issue:" +"`26823`.)" + +msgid "" +"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" +"exc:`ImportError`) when it cannot find a module. Code that currently checks " +"for ImportError (in try-except) will still work. (Contributed by Eric Snow " +"in :issue:`15767`.)" +msgstr "" +"Імпорт тепер викликає новий виняток :exc:`ModuleNotFoundError` (підклас :exc:" +"`ImportError`), коли він не може знайти модуль. Код, який наразі перевіряє " +"ImportError (у try-except), усе ще працюватиме. (Надав Ерік Сноу в :issue:" +"`15767`.)" + +msgid "" +"Class methods relying on zero-argument ``super()`` will now work correctly " +"when called from metaclass methods during class creation. (Contributed by " +"Martin Teichmann in :issue:`23722`.)" +msgstr "" +"Методи класу, що покладаються на ``super()`` з нульовим аргументом, тепер " +"працюватимуть правильно під час виклику з методів метакласу під час " +"створення класу. (Надав Мартін Тейхманн у :issue:`23722`.)" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "secrets" +msgstr "таємниці" + +msgid "" +"The main purpose of the new :mod:`secrets` module is to provide an obvious " +"way to reliably generate cryptographically strong pseudo-random values " +"suitable for managing secrets, such as account authentication, tokens, and " +"similar." +msgstr "" +"Основна мета нового модуля :mod:`secrets` — забезпечити очевидний спосіб " +"надійного генерування криптографічно надійних псевдовипадкових значень, " +"придатних для керування секретами, такими як автентифікація облікового " +"запису, токени тощо." + +msgid "" +"Note that the pseudo-random generators in the :mod:`random` module should " +"*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ and :" +"func:`os.urandom()` on Python 3.5 and earlier." +msgstr "" +"Зауважте, що псевдовипадкові генератори в модулі :mod:`random` *НЕ* слід " +"використовувати з метою безпеки. Використовуйте :mod:`secrets` на Python " +"3.6+ і :func:`os.urandom()` на Python 3.5 і раніших версіях." + +msgid ":pep:`506` -- Adding A Secrets Module To The Standard Library" +msgstr ":pep:`506` -- Додавання модуля Secrets до стандартної бібліотеки" + +msgid "PEP written and implemented by Steven D'Aprano." +msgstr "PEP написаний і реалізований Стівеном Д'Апрано." + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "array" +msgstr "масив" + +msgid "" +"Exhausted iterators of :class:`array.array` will now stay exhausted even if " +"the iterated array is extended. This is consistent with the behavior of " +"other mutable sequences." +msgstr "" +"Вичерпані ітератори :class:`array.array` тепер залишатимуться вичерпаними, " +"навіть якщо ітерований масив буде розширено. Це узгоджується з поведінкою " +"інших змінних послідовностей." + +msgid "Contributed by Serhiy Storchaka in :issue:`26492`." +msgstr "Надав Сергій Сторчака в :issue:`26492`." + +msgid "ast" +msgstr "аст" + +msgid "" +"The new :class:`ast.Constant` AST node has been added. It can be used by " +"external AST optimizers for the purposes of constant folding." +msgstr "" +"Додано новий вузол :class:`ast.Constant` AST. Може використовуватися " +"зовнішніми оптимізаторами AST для цілей постійного згортання." + +msgid "Contributed by Victor Stinner in :issue:`26146`." +msgstr "Надав Віктор Стіннер у :issue:`26146`." + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"Starting with Python 3.6 the ``asyncio`` module is no longer provisional and " +"its API is considered stable." +msgstr "" +"Починаючи з Python 3.6, модуль ``asyncio`` більше не є тимчасовим, а його " +"API вважається стабільним." + +msgid "" +"Notable changes in the :mod:`asyncio` module since Python 3.5.0 (all " +"backported to 3.5.x due to the provisional status):" +msgstr "" +"Помітні зміни в модулі :mod:`asyncio` з Python 3.5.0 (усі перенесені до 3.5." +"x через тимчасовий статус):" + +msgid "" +"The :func:`~asyncio.get_event_loop` function has been changed to always " +"return the currently running loop when called from coroutines and callbacks. " +"(Contributed by Yury Selivanov in :issue:`28613`.)" +msgstr "" +"Функцію :func:`~asyncio.get_event_loop` було змінено, щоб вона завжди " +"повертала поточний цикл під час виклику із співпрограм і зворотних викликів. " +"(Надав Юрій Селіванов у :issue:`28613`.)" + +msgid "" +"The :func:`~asyncio.ensure_future` function and all functions that use it, " +"such as :meth:`loop.run_until_complete() `, " +"now accept all kinds of :term:`awaitable objects `. (Contributed " +"by Yury Selivanov.)" +msgstr "" +"Функція :func:`~asyncio.ensure_future` і всі функції, які її використовують, " +"такі як :meth:`loop.run_until_complete() `, " +"тепер приймають усі типи :term:`awaitable об’єктів `. (Уклав Юрій " +"Селіванов.)" + +msgid "" +"New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " +"to event loops from other threads. (Contributed by Vincent Michel.)" +msgstr "" +"Нова функція :func:`~asyncio.run_coroutine_threadsafe` для надсилання " +"співпрограм до циклів подій з інших потоків. (Надав Вінсент Мішель.)" + +msgid "" +"New :meth:`Transport.is_closing() ` method " +"to check if the transport is closing or closed. (Contributed by Yury " +"Selivanov.)" +msgstr "" +"Новий метод :meth:`Transport.is_closing() ` для перевірки, закривається чи закривається транспорт. (Уклав " +"Юрій Селіванов.)" + +msgid "" +"The :meth:`loop.create_server() ` method can now " +"accept a list of hosts. (Contributed by Yann Sionneau.)" +msgstr "" +"Метод :meth:`loop.create_server() ` тепер може " +"приймати список хостів. (Надав Ян Сіно.)" + +msgid "" +"New :meth:`loop.create_future() ` method to " +"create Future objects. This allows alternative event loop implementations, " +"such as `uvloop `_, to provide a " +"faster :class:`asyncio.Future` implementation. (Contributed by Yury " +"Selivanov in :issue:`27041`.)" +msgstr "" +"Новий метод :meth:`loop.create_future() ` для " +"створення об’єктів Future. Це дозволяє альтернативним реалізаціям циклу " +"подій, таким як `uvloop `_, " +"забезпечити швидшу реалізацію :class:`asyncio.Future`. (Надав Юрій Селіванов " +"у :issue:`27041`.)" + +msgid "" +"New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " +"(Contributed by Yury Selivanov in :issue:`27040`.)" +msgstr "" +"Новий метод :meth:`loop.get_exception_handler() ` для отримання поточного обробника винятків. (Надав " +"Юрій Селіванов у :issue:`27040`.)" + +msgid "" +"New :meth:`StreamReader.readuntil() ` method " +"to read data from the stream until a separator bytes sequence appears. " +"(Contributed by Mark Korenberg.)" +msgstr "" +"Новий метод :meth:`StreamReader.readuntil() ` для читання даних із потоку, доки не з’явиться послідовність " +"байтів-роздільників. (Надав Марк Коренберг.)" + +msgid "" +"The performance of :meth:`StreamReader.readexactly() ` has been improved. (Contributed by Mark Korenberg in :issue:" +"`28370`.)" +msgstr "" +"Продуктивність :meth:`StreamReader.readexactly() ` була покращена. (Надав Марк Коренберг у :issue:`28370`.)" + +msgid "" +"The :meth:`loop.getaddrinfo() ` method is " +"optimized to avoid calling the system ``getaddrinfo`` function if the " +"address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" +msgstr "" +"Метод :meth:`loop.getaddrinfo() ` оптимізовано, " +"щоб уникнути виклику системної функції ``getaddrinfo``, якщо адресу вже " +"визначено. (Надав А. Джессі Джірю Девіс.)" + +msgid "" +"The :meth:`loop.stop() ` method has been changed to stop " +"the loop immediately after the current iteration. Any new callbacks " +"scheduled as a result of the last iteration will be discarded. (Contributed " +"by Guido van Rossum in :issue:`25593`.)" +msgstr "" +"Метод :meth:`loop.stop() ` було змінено, щоб зупинити " +"цикл одразу після поточної ітерації. Будь-які нові зворотні виклики, " +"заплановані в результаті останньої ітерації, будуть відхилені. (Надав Гвідо " +"ван Россум у :issue:`25593`.)" + +msgid "" +":meth:`Future.set_exception ` will now " +"raise :exc:`TypeError` when passed an instance of the :exc:`StopIteration` " +"exception. (Contributed by Chris Angelico in :issue:`26221`.)" +msgstr "" +":meth:`Future.set_exception ` тепер " +"викличе :exc:`TypeError`, коли передається екземпляр винятку :exc:" +"`StopIteration`. (Надав Кріс Анджеліко в :issue:`26221`.)" + +msgid "" +"New :meth:`loop.connect_accepted_socket() ` method to be used by servers that accept " +"connections outside of asyncio, but that use asyncio to handle them. " +"(Contributed by Jim Fulton in :issue:`27392`.)" +msgstr "" +"Новий метод :meth:`loop.connect_accepted_socket() ` для використання серверами, які приймають " +"підключення за межами asyncio, але використовують asyncio для їх обробки. " +"(Надав Джим Фултон у :issue:`27392`.)" + +msgid "" +"``TCP_NODELAY`` flag is now set for all TCP transports by default. " +"(Contributed by Yury Selivanov in :issue:`27456`.)" +msgstr "" +"Прапор ``TCP_NODELAY`` тепер установлено для всіх транспортів TCP за " +"замовчуванням. (Надав Юрій Селіванов у :issue:`27456`.)" + +msgid "" +"New :meth:`loop.shutdown_asyncgens() ` to " +"properly close pending asynchronous generators before closing the loop. " +"(Contributed by Yury Selivanov in :issue:`28003`.)" +msgstr "" +"Новий :meth:`loop.shutdown_asyncgens() ` " +"для належного закриття очікуваних асинхронних генераторів перед закриттям " +"циклу. (Надав Юрій Селіванов у :issue:`28003`.)" + +msgid "" +":class:`Future ` and :class:`Task ` classes " +"now have an optimized C implementation which makes asyncio code up to 30% " +"faster. (Contributed by Yury Selivanov and INADA Naoki in :issue:`26081` " +"and :issue:`28544`.)" +msgstr "" +"Класи :class:`Future ` і :class:`Task ` тепер " +"мають оптимізовану реалізацію C, яка робить асинхронний код на 30% швидшим. " +"(Надано Юрієм Селівановим та INADA Naoki у :issue:`26081` та :issue:`28544`.)" + +msgid "binascii" +msgstr "binascii" + +msgid "" +"The :func:`~binascii.b2a_base64` function now accepts an optional *newline* " +"keyword argument to control whether the newline character is appended to the " +"return value. (Contributed by Victor Stinner in :issue:`25357`.)" +msgstr "" +"Функція :func:`~binascii.b2a_base64` тепер приймає додатковий аргумент " +"ключового слова *новий рядок*, щоб контролювати, чи додається символ нового " +"рядка до значення, що повертається. (Надав Віктор Стіннер у :issue:`25357`.)" + +msgid "cmath" +msgstr "cmath" + +msgid "" +"The new :const:`cmath.tau` (*τ*) constant has been added. (Contributed by " +"Lisa Roach in :issue:`12345`, see :pep:`628` for details.)" +msgstr "" +"Додано нову константу :const:`cmath.tau` (*τ*). (Надано Лізою Роуч у :issue:" +"`12345`, подробиці див. :pep:`628`.)" + +msgid "" +"New constants: :const:`cmath.inf` and :const:`cmath.nan` to match :const:" +"`math.inf` and :const:`math.nan`, and also :const:`cmath.infj` and :const:" +"`cmath.nanj` to match the format used by complex repr. (Contributed by Mark " +"Dickinson in :issue:`23229`.)" +msgstr "" +"Нові константи: :const:`cmath.inf` і :const:`cmath.nan` для відповідності :" +"const:`math.inf` і :const:`math.nan`, а також :const:`cmath.infj` і :const:" +"`cmath.nanj`, щоб відповідати формату, який використовується комплексним " +"відображенням. (Надав Марк Дікінсон у :issue:`23229`.)" + +msgid "collections" +msgstr "колекції" + +msgid "" +"The new :class:`~collections.abc.Collection` abstract base class has been " +"added to represent sized iterable container classes. (Contributed by Ivan " +"Levkivskyi, docs by Neil Girdhar in :issue:`27598`.)" +msgstr "" +"Новий абстрактний базовий клас :class:`~collections.abc.Collection` додано " +"для представлення ітерованих контейнерних класів розміру. (Надав Іван " +"Левківський, документи Ніл Ґірдхар у :issue:`27598`.)" + +msgid "" +"The new :class:`~collections.abc.Reversible` abstract base class represents " +"iterable classes that also provide the :meth:`__reversed__` method. " +"(Contributed by Ivan Levkivskyi in :issue:`25987`.)" +msgstr "" +"Новий :class:`~collections.abc.Reversible` абстрактний базовий клас " +"представляє ітераційні класи, які також забезпечують метод :meth:" +"`__reversed__`. (Надав Іван Левківський у :issue:`25987`.)" + +msgid "" +"The new :class:`~collections.abc.AsyncGenerator` abstract base class " +"represents asynchronous generators. (Contributed by Yury Selivanov in :issue:" +"`28720`.)" +msgstr "" +"Новий :class:`~collections.abc.AsyncGenerator` абстрактний базовий клас " +"представляє асинхронні генератори. (Надав Юрій Селіванов у :issue:`28720`.)" + +msgid "" +"The :func:`~collections.namedtuple` function now accepts an optional keyword " +"argument *module*, which, when specified, is used for the ``__module__`` " +"attribute of the returned named tuple class. (Contributed by Raymond " +"Hettinger in :issue:`17941`.)" +msgstr "" +"Функція :func:`~collections.namedtuple` тепер приймає необов’язковий " +"аргумент ключового слова *module*, який, якщо вказано, використовується для " +"атрибута ``__module__`` повернутого іменованого класу кортежу. (Надав " +"Реймонд Геттінгер у :issue:`17941`.)" + +msgid "" +"The *verbose* and *rename* arguments for :func:`~collections.namedtuple` are " +"now keyword-only. (Contributed by Raymond Hettinger in :issue:`25628`.)" +msgstr "" +"Аргументи *verbose* і *rename* для :func:`~collections.namedtuple` тепер є " +"лише ключовими словами. (Надав Реймонд Геттінгер у :issue:`25628`.)" + +msgid "" +"Recursive :class:`collections.deque` instances can now be pickled. " +"(Contributed by Serhiy Storchaka in :issue:`26482`.)" +msgstr "" +"Рекурсивні екземпляри :class:`collections.deque` тепер можна маринувати. " +"(Надав Сергій Сторчака в :issue:`26482`.)" + +msgid "concurrent.futures" +msgstr "concurrent.futures" + +msgid "" +"The :class:`ThreadPoolExecutor ` " +"class constructor now accepts an optional *thread_name_prefix* argument to " +"make it possible to customize the names of the threads created by the pool. " +"(Contributed by Gregory P. Smith in :issue:`27664`.)" +msgstr "" +"Конструктор класу :class:`ThreadPoolExecutor ` тепер приймає додатковий аргумент " +"*префікс_назви_потоку*, щоб можна було налаштувати імена потоків, створених " +"пулом. (Надав Грегорі П. Сміт у :issue:`27664`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"The :class:`contextlib.AbstractContextManager` class has been added to " +"provide an abstract base class for context managers. It provides a sensible " +"default implementation for ``__enter__()`` which returns ``self`` and leaves " +"``__exit__()`` an abstract method. A matching class has been added to the :" +"mod:`typing` module as :class:`typing.ContextManager`. (Contributed by Brett " +"Cannon in :issue:`25609`.)" +msgstr "" + +msgid "datetime" +msgstr "дата, час" + +msgid "" +"The :class:`~datetime.datetime` and :class:`~datetime.time` classes have the " +"new :attr:`~time.fold` attribute used to disambiguate local time when " +"necessary. Many functions in the :mod:`datetime` have been updated to " +"support local time disambiguation. See :ref:`Local Time Disambiguation " +"` section for more information. (Contributed by Alexander " +"Belopolsky in :issue:`24773`.)" +msgstr "" +"Класи :class:`~datetime.datetime` і :class:`~datetime.time` мають новий " +"атрибут :attr:`~time.fold`, який використовується для усунення " +"неоднозначності місцевого часу, коли це необхідно. Багато функцій у :mod:" +"`datetime` було оновлено для підтримки визначення неоднозначності за " +"місцевим часом. Перегляньте розділ :ref:`Визначення неоднозначності за " +"місцевим часом ` для отримання додаткової інформації. " +"(Надав Олександр Бєлопольський у :issue:`24773`.)" + +msgid "" +"The :meth:`datetime.strftime() ` and :meth:`date." +"strftime() ` methods now support ISO 8601 date " +"directives ``%G``, ``%u`` and ``%V``. (Contributed by Ashley Anderson in :" +"issue:`12006`.)" +msgstr "" +"Методи :meth:`datetime.strftime() ` і :meth:" +"`date.strftime() ` тепер підтримують директиви дати " +"ISO 8601 ``%G``, ``%u`` і ``%V`` (Надано Ешлі Андерсон у :issue:`12006`.)" + +msgid "" +"The :func:`datetime.isoformat() ` function now " +"accepts an optional *timespec* argument that specifies the number of " +"additional components of the time value to include. (Contributed by " +"Alessandro Cucci and Alexander Belopolsky in :issue:`19475`.)" +msgstr "" +"Функція :func:`datetime.isoformat() ` тепер " +"приймає необов’язковий аргумент *timespec*, який визначає кількість " +"додаткових компонентів значення часу, які потрібно включити. (Надано " +"Алессандро Куччі та Олександром Белопольським у :issue:`19475`.)" + +msgid "" +"The :meth:`datetime.combine() ` now accepts an " +"optional *tzinfo* argument. (Contributed by Alexander Belopolsky in :issue:" +"`27661`.)" +msgstr "" +":meth:`datetime.combine() ` тепер приймає " +"необов’язковий аргумент *tzinfo*. (Надав Олександр Бєлопольський у :issue:" +"`27661`.)" + +msgid "decimal" +msgstr "десятковий" + +msgid "" +"New :meth:`Decimal.as_integer_ratio() ` " +"method that returns a pair ``(n, d)`` of integers that represent the given :" +"class:`~decimal.Decimal` instance as a fraction, in lowest terms and with a " +"positive denominator::" +msgstr "" +"Новий :meth:`Decimal.as_integer_ratio() ` " +"метод, який повертає пару ``(n, d)`` цілих чисел, які представляють заданий :" +"class:`~decimal.Decimal` екземпляр у вигляді дробу, у найменших членах і з " +"додатним знаменником::" + +msgid "(Contributed by Stefan Krah amd Mark Dickinson in :issue:`25928`.)" +msgstr "(Надано Стефаном Крахом та Марком Дікінсоном у :issue:`25928`.)" + +msgid "distutils" +msgstr "distutils" + +msgid "" +"The ``default_format`` attribute has been removed from :class:`distutils." +"command.sdist.sdist` and the ``formats`` attribute defaults to " +"``['gztar']``. Although not anticipated, any code relying on the presence of " +"``default_format`` may need to be adapted. See :issue:`27819` for more " +"details." +msgstr "" +"Атрибут ``default_format`` було видалено з :class:`distutils.command.sdist." +"sdist`, а атрибут ``formats`` за умовчанням має ``['gztar']``. Хоча це не " +"передбачається, будь-який код, який покладається на присутність " +"``default_format``, можливо, потребуватиме адаптації. Дивіться :issue:" +"`27819` для отримання додаткової інформації." + +msgid "email" +msgstr "електронною поштою" + +msgid "" +"The new email API, enabled via the *policy* keyword to various constructors, " +"is no longer provisional. The :mod:`email` documentation has been " +"reorganized and rewritten to focus on the new API, while retaining the old " +"documentation for the legacy API. (Contributed by R. David Murray in :issue:" +"`24277`.)" +msgstr "" +"Новий API електронної пошти, активований за допомогою ключового слова " +"*policy* для різних конструкторів, більше не є тимчасовим. Документацію :mod:" +"`email` було реорганізовано та переписано, щоб зосередитися на новому API, " +"зберігаючи при цьому стару документацію для застарілого API. (Надав Р. Девід " +"Мюррей у :issue:`24277`.)" + +msgid "" +"The :mod:`email.mime` classes now all accept an optional *policy* keyword. " +"(Contributed by Berker Peksag in :issue:`27331`.)" +msgstr "" +"Усі класи :mod:`email.mime` тепер приймають необов’язкове ключове слово " +"*policy*. (Надано Berker Peksag у :issue:`27331`.)" + +msgid "" +"The :class:`~email.generator.DecodedGenerator` now supports the *policy* " +"keyword." +msgstr "" +":class:`~email.generator.DecodedGenerator` тепер підтримує ключове слово " +"*policy*." + +msgid "" +"There is a new :mod:`~email.policy` attribute, :attr:`~email.policy.Policy." +"message_factory`, that controls what class is used by default when the " +"parser creates new message objects. For the :attr:`email.policy.compat32` " +"policy this is :class:`~email.message.Message`, for the new policies it is :" +"class:`~email.message.EmailMessage`. (Contributed by R. David Murray in :" +"issue:`20476`.)" +msgstr "" +"Існує новий атрибут :mod:`~email.policy`, :attr:`~email.policy.Policy." +"message_factory`, який контролює, який клас використовується за " +"замовчуванням, коли аналізатор створює нові об’єкти повідомлень. Для " +"політики :attr:`email.policy.compat32` це :class:`~email.message.Message`, " +"для нових політик це :class:`~email.message.EmailMessage`. (Надав Р. Девід " +"Мюррей у :issue:`20476`.)" + +msgid "encodings" +msgstr "кодування" + +msgid "" +"On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP``, and the " +"``'ansi'`` alias for the existing ``'mbcs'`` encoding, which uses the " +"``CP_ACP`` code page. (Contributed by Steve Dower in :issue:`27959`.)" +msgstr "" +"У Windows додано кодування ``'oem`` для використання ``CP_OEMCP`` та " +"псевдонім ``'ansi'`` для існуючого кодування ``'mbcs'``, яке використовує " +"``CP_ACP`` кодова сторінка. (Надав Стів Дауер у :issue:`27959`.)" + +msgid "enum" +msgstr "перелік" + +msgid "" +"Two new enumeration base classes have been added to the :mod:`enum` module: :" +"class:`~enum.Flag` and :class:`~enum.IntFlags`. Both are used to define " +"constants that can be combined using the bitwise operators. (Contributed by " +"Ethan Furman in :issue:`23591`.)" +msgstr "" +"До модуля :mod:`enum` додано два нові базові класи перерахування: :class:" +"`~enum.Flag` і :class:`~enum.IntFlags`. Обидва використовуються для " +"визначення констант, які можна комбінувати за допомогою побітових " +"операторів. (Надав Ітан Фурман у :issue:`23591`.)" + +msgid "" +"Many standard library modules have been updated to use the :class:`~enum." +"IntFlags` class for their constants." +msgstr "" +"Багато модулів стандартної бібліотеки було оновлено для використання класу :" +"class:`~enum.IntFlags` для своїх констант." + +msgid "" +"The new :class:`enum.auto` value can be used to assign values to enum " +"members automatically::" +msgstr "" +"Нове значення :class:`enum.auto` можна використовувати для автоматичного " +"призначення значень членам enum:" + +msgid "faulthandler" +msgstr "обробник помилок" + +msgid "" +"On Windows, the :mod:`faulthandler` module now installs a handler for " +"Windows exceptions: see :func:`faulthandler.enable`. (Contributed by Victor " +"Stinner in :issue:`23848`.)" +msgstr "" +"У Windows модуль :mod:`faulthandler` тепер встановлює обробник винятків " +"Windows: див. :func:`faulthandler.enable`. (Надав Віктор Стіннер у :issue:" +"`23848`.)" + +msgid "fileinput" +msgstr "введення файлу" + +msgid "" +":func:`~fileinput.hook_encoded` now supports the *errors* argument. " +"(Contributed by Joseph Hackman in :issue:`25788`.)" +msgstr "" +":func:`~fileinput.hook_encoded` тепер підтримує аргумент *errors*. (Надав " +"Джозеф Хекман у :issue:`25788`.)" + +msgid "hashlib" +msgstr "хешліб" + +msgid "" +":mod:`hashlib` supports OpenSSL 1.1.0. The minimum recommend version is " +"1.0.2. (Contributed by Christian Heimes in :issue:`26470`.)" +msgstr "" +":mod:`hashlib` підтримує OpenSSL 1.1.0. Мінімальна рекомендована версія " +"1.0.2. (Надав Крістіан Хеймс у :issue:`26470`.)" + +msgid "" +"BLAKE2 hash functions were added to the module. :func:`~hashlib.blake2b` " +"and :func:`~hashlib.blake2s` are always available and support the full " +"feature set of BLAKE2. (Contributed by Christian Heimes in :issue:`26798` " +"based on code by Dmitry Chestnykh and Samuel Neves. Documentation written by " +"Dmitry Chestnykh.)" +msgstr "" +"У модуль додано хеш-функції BLAKE2. :func:`~hashlib.blake2b` і :func:" +"`~hashlib.blake2s` завжди доступні та підтримують повний набір функцій " +"BLAKE2. (Надано Крістіаном Хеймсом у :issue:`26798` на основі коду Дмитра " +"Честних і Семюеля Невеса. Документацію написав Дмитро Честних.)" + +msgid "" +"The SHA-3 hash functions :func:`~hashlib.sha3_224`, :func:`~hashlib." +"sha3_256`, :func:`~hashlib.sha3_384`, :func:`~hashlib.sha3_512`, and SHAKE " +"hash functions :func:`~hashlib.shake_128` and :func:`~hashlib.shake_256` " +"were added. (Contributed by Christian Heimes in :issue:`16113`. Keccak Code " +"Package by Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche, " +"and Ronny Van Keer.)" +msgstr "" +"Хеш-функції SHA-3 :func:`~hashlib.sha3_224`, :func:`~hashlib.sha3_256`, :" +"func:`~hashlib.sha3_384`, :func:`~hashlib.sha3_512` і хеш-функції SHAKE " +"Додано :func:`~hashlib.shake_128` і :func:`~hashlib.shake_256`. (Надано " +"Крістіаном Хеймсом у :issue:`16113`. Пакет кодів Keccak від Гвідо Бертоні, " +"Джоан Демен, Майкла Пітерса, Жиля Ван Аше та Ронні Ван Кіра.)" + +msgid "" +"The password-based key derivation function :func:`~hashlib.scrypt` is now " +"available with OpenSSL 1.1.0 and newer. (Contributed by Christian Heimes in :" +"issue:`27928`.)" +msgstr "" +"Функція отримання ключа на основі пароля :func:`~hashlib.scrypt` тепер " +"доступна з OpenSSL 1.1.0 і новіших версій. (Надав Крістіан Хеймс у :issue:" +"`27928`.)" + +msgid "http.client" +msgstr "http.client" + +msgid "" +":meth:`HTTPConnection.request() ` and :" +"meth:`~http.client.HTTPConnection.endheaders` both now support chunked " +"encoding request bodies. (Contributed by Demian Brecht and Rolf Krahl in :" +"issue:`12319`.)" +msgstr "" +":meth:`HTTPConnection.request() ` і :" +"meth:`~http.client.HTTPConnection.endheaders` тепер підтримують частини " +"запитів на кодування. (Надано Деміаном Брехтом і Рольфом Кралем у :issue:" +"`12319`.)" + +msgid "idlelib and IDLE" +msgstr "idlelib і IDLE" + +msgid "" +"The idlelib package is being modernized and refactored to make IDLE look and " +"work better and to make the code easier to understand, test, and improve. " +"Part of making IDLE look better, especially on Linux and Mac, is using ttk " +"widgets, mostly in the dialogs. As a result, IDLE no longer runs with tcl/" +"tk 8.4. It now requires tcl/tk 8.5 or 8.6. We recommend running the latest " +"release of either." +msgstr "" +"Пакет idlelib модернізується та переробляється, щоб IDLE виглядав і працював " +"краще, а код було легше зрозуміти, тестувати та вдосконалювати. Частиною " +"покращення вигляду IDLE, особливо на Linux і Mac, є використання віджетів " +"ttk, переважно в діалогових вікнах. У результаті IDLE більше не працює з tcl/" +"tk 8.4. Тепер для цього потрібен tcl/tk 8.5 або 8.6. Ми рекомендуємо " +"запустити останню версію будь-якого з них." + +msgid "" +"'Modernizing' includes renaming and consolidation of idlelib modules. The " +"renaming of files with partial uppercase names is similar to the renaming " +"of, for instance, Tkinter and TkFont to tkinter and tkinter.font in 3.0. As " +"a result, imports of idlelib files that worked in 3.5 will usually not work " +"in 3.6. At least a module name change will be needed (see idlelib/README." +"txt), sometimes more. (Name changes contributed by Al Swiegart and Terry " +"Reedy in :issue:`24225`. Most idlelib patches since have been and will be " +"part of the process.)" +msgstr "" +"\"Модернізація\" включає перейменування та консолідацію модулів idlelib. " +"Перейменування файлів із частковими назвами у верхньому регістрі подібне до " +"перейменування, наприклад, Tkinter і TkFont на tkinter і tkinter.font у 3.0. " +"Як наслідок, імпорт файлів idlelib, які працювали у 3.5, зазвичай не " +"працюватимуть у 3.6. Потрібна буде принаймні зміна назви модуля (див. " +"idlelib/README.txt), іноді більше. (Зміну назви внесли Ел Свігарт і Террі " +"Ріді в :issue:`24225`. Більшість патчів idlelib відтоді були і будуть " +"частиною процесу.)" + +msgid "" +"In compensation, the eventual result with be that some idlelib classes will " +"be easier to use, with better APIs and docstrings explaining them. " +"Additional useful information will be added to idlelib when available." +msgstr "" +"Як компенсацію, кінцевим результатом буде те, що деякі класи idlelib стануть " +"легшими у використанні, з кращими API та рядками документів, які їх " +"пояснюватимуть. До idlelib буде додано додаткову корисну інформацію, коли " +"вона стане доступною." + +msgid "New in 3.6.2:" +msgstr "Нове в 3.6.2:" + +msgid "" +"Multiple fixes for autocompletion. (Contributed by Louie Lu in :issue:" +"`15786`.)" +msgstr "Кілька виправлень для автозавершення. (Надав Луї Лу в :issue:`15786`.)" + +msgid "New in 3.6.3:" +msgstr "Нове в 3.6.3:" + +msgid "" +"Module Browser (on the File menu, formerly called Class Browser), now " +"displays nested functions and classes in addition to top-level functions and " +"classes. (Contributed by Guilherme Polo, Cheryl Sabella, and Terry Jan Reedy " +"in :issue:`1612262`.)" +msgstr "" +"Браузер модулів (у меню \"Файл\", раніше називався \"Браузер класів\") тепер " +"відображає вкладені функції та класи на додаток до функцій і класів " +"верхнього рівня. (Надано Гільєрме Поло, Шеріл Сабелла та Террі Ян Ріді в :" +"issue:`1612262`.)" + +msgid "" +"The IDLE features formerly implemented as extensions have been reimplemented " +"as normal features. Their settings have been moved from the Extensions tab " +"to other dialog tabs. (Contributed by Charles Wohlganger and Terry Jan Reedy " +"in :issue:`27099`.)" +msgstr "" +"Функції IDLE, раніше реалізовані як розширення, були повторно реалізовані як " +"звичайні функції. Їх налаштування переміщено з вкладки \"Розширення\" на " +"інші вкладки діалогу. (Надано Charles Wohlganger і Terry Jan Reedy у :issue:" +"`27099`.)" + +msgid "" +"The Settings dialog (Options, Configure IDLE) has been partly rewritten to " +"improve both appearance and function. (Contributed by Cheryl Sabella and " +"Terry Jan Reedy in multiple issues.)" +msgstr "" +"Діалогове вікно налаштувань (параметри, налаштування IDLE) було частково " +"переписано, щоб покращити зовнішній вигляд і функції. (Надано Шеріл Сабеллою " +"та Террі Джен Ріді в кількох випусках.)" + +msgid "New in 3.6.4:" +msgstr "Нове в 3.6.4:" + +msgid "" +"The font sample now includes a selection of non-Latin characters so that " +"users can better see the effect of selecting a particular font. (Contributed " +"by Terry Jan Reedy in :issue:`13802`.) The sample can be edited to include " +"other characters. (Contributed by Serhiy Storchaka in :issue:`31860`.)" +msgstr "" +"Зразок шрифту тепер містить вибірку нелатинських символів, щоб користувачі " +"могли краще побачити ефект від вибору певного шрифту. (Надав Террі Ян Ріді " +"в :issue:`13802`.) Зразок можна редагувати, щоб включити інші символи. " +"(Надав Сергій Сторчака в :issue:`31860`.)" + +msgid "New in 3.6.6:" +msgstr "Нове в 3.6.6:" + +msgid "" +"Editor code context option revised. Box displays all context lines up to " +"maxlines. Clicking on a context line jumps the editor to that line. " +"Context colors for custom themes is added to Highlights tab of Settings " +"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" +"`33642`, :issue:`33768`, and :issue:`33679`.)" +msgstr "" +"Опцію контексту коду редактора переглянуто. Box відображає всі контекстні " +"рядки до maxlines. Якщо клацнути рядок контексту, редактор перейде до цього " +"рядка. Кольори контексту для спеціальних тем додано на вкладку \"Висвітлення" +"\" діалогового вікна \"Параметри\". (Надано Шеріл Сабелла та Террі Ян Ріді " +"в :issue:`33642`, :issue:`33768` та :issue:`33679`.)" + +msgid "" +"On Windows, a new API call tells Windows that tk scales for DPI. On Windows " +"8.1+ or 10, with DPI compatibility properties of the Python binary " +"unchanged, and a monitor resolution greater than 96 DPI, this should make " +"text and lines sharper. It should otherwise have no effect. (Contributed by " +"Terry Jan Reedy in :issue:`33656`.)" +msgstr "" +"У Windows новий виклик API повідомляє Windows, що tk масштабується для DPI. " +"У Windows 8.1+ або 10 із незмінними властивостями сумісності DPI двійкового " +"коду Python і роздільною здатністю монітора понад 96 DPI текст і лінії мають " +"бути чіткішими. В іншому випадку це не повинно мати ефекту. (Надав Террі Ян " +"Ріді в :issue:`33656`.)" + +msgid "New in 3.6.7:" +msgstr "Нове в 3.6.7:" + +msgid "" +"Output over N lines (50 by default) is squeezed down to a button. N can be " +"changed in the PyShell section of the General page of the Settings dialog. " +"Fewer, but possibly extra long, lines can be squeezed by right clicking on " +"the output. Squeezed output can be expanded in place by double-clicking the " +"button or into the clipboard or a separate window by right-clicking the " +"button. (Contributed by Tal Einat in :issue:`1529353`.)" +msgstr "" +"Виведення в N рядків (50 за замовчуванням) стиснуто до кнопки. N можна " +"змінити в розділі PyShell на сторінці \"Загальні\" діалогового вікна " +"\"Параметри\". Менше, але, можливо, наддовгих рядків можна стиснути, " +"клацнувши правою кнопкою миші на виводі. Стиснутий вихід можна розгорнути на " +"місці, подвійним клацанням кнопки або в буфер обміну чи окреме вікно, " +"клацнувши кнопку правою кнопкою миші. (Надав Тал Ейнат у :issue:`1529353`.)" + +msgid "importlib" +msgstr "importlib" + +msgid "" +"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" +"exc:`ImportError`) when it cannot find a module. Code that current checks " +"for ``ImportError`` (in try-except) will still work. (Contributed by Eric " +"Snow in :issue:`15767`.)" +msgstr "" +"Імпорт тепер викликає новий виняток :exc:`ModuleNotFoundError` (підклас :exc:" +"`ImportError`), коли він не може знайти модуль. Код, який зараз перевіряє " +"``ImportError`` (у try-except), все ще працюватиме. (Надав Ерік Сноу в :" +"issue:`15767`.)" + +msgid "" +":class:`importlib.util.LazyLoader` now calls :meth:`~importlib.abc.Loader." +"create_module` on the wrapped loader, removing the restriction that :class:" +"`importlib.machinery.BuiltinImporter` and :class:`importlib.machinery." +"ExtensionFileLoader` couldn't be used with :class:`importlib.util." +"LazyLoader`." +msgstr "" +":class:`importlib.util.LazyLoader` тепер викликає :meth:`~importlib.abc." +"Loader.create_module` в оберненому завантажувачі, усуваючи обмеження, які :" +"class:`importlib.machinery.BuiltinImporter` та :class:`importlib .machinery." +"ExtensionFileLoader` не можна використовувати з :class:`importlib.util." +"LazyLoader`." + +msgid "" +":func:`importlib.util.cache_from_source`, :func:`importlib.util." +"source_from_cache`, and :func:`importlib.util.spec_from_file_location` now " +"accept a :term:`path-like object`." +msgstr "" +":func:`importlib.util.cache_from_source`, :func:`importlib.util." +"source_from_cache` і :func:`importlib.util.spec_from_file_location` тепер " +"приймають :term:`path-like object`." + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"The :func:`inspect.signature() ` function now reports the " +"implicit ``.0`` parameters generated by the compiler for comprehension and " +"generator expression scopes as if they were positional-only parameters " +"called ``implicit0``. (Contributed by Jelle Zijlstra in :issue:`19611`.)" +msgstr "" +"Функція :func:`inspect.signature() ` тепер повідомляє " +"неявні параметри ``.0``, згенеровані компілятором для розуміння, і області " +"виразу генератора, як якщо б вони були лише позиційними параметрами, які " +"називаються ``implicit0``. (Надано Jelle Zijlstra в :issue:`19611`.)" + +msgid "" +"To reduce code churn when upgrading from Python 2.7 and the legacy :func:" +"`inspect.getargspec` API, the previously documented deprecation of :func:" +"`inspect.getfullargspec` has been reversed. While this function is " +"convenient for single/source Python 2/3 code bases, the richer :func:" +"`inspect.signature` interface remains the recommended approach for new code. " +"(Contributed by Nick Coghlan in :issue:`27172`)" +msgstr "" +"Щоб зменшити відтік коду під час оновлення з Python 2.7 і застарілого :func:" +"`inspect.getargspec` API, раніше задокументований застарілий :func:`inspect." +"getfullargspec` було скасовано. Незважаючи на те, що ця функція зручна для " +"базового коду Python 2/3 з одним/вихідним кодом, багатший інтерфейс :func:" +"`inspect.signature` залишається рекомендованим підходом для нового коду. " +"(Надав Нік Коглан у :issue:`27172`)" + +msgid "json" +msgstr "json" + +msgid "" +":func:`json.load` and :func:`json.loads` now support binary input. Encoded " +"JSON should be represented using either UTF-8, UTF-16, or UTF-32. " +"(Contributed by Serhiy Storchaka in :issue:`17909`.)" +msgstr "" +":func:`json.load` і :func:`json.loads` тепер підтримують двійкове введення. " +"Закодований JSON має бути представлений за допомогою UTF-8, UTF-16 або " +"UTF-32. (Надав Сергій Сторчака в :issue:`17909`.)" + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"The new :meth:`WatchedFileHandler.reopenIfNeeded() ` method has been added to add the ability " +"to check if the log file needs to be reopened. (Contributed by Marian Horban " +"in :issue:`24884`.)" +msgstr "" +"Додано новий метод :meth:`WatchedFileHandler.reopenIfNeeded() `, щоб додати можливість " +"перевірити, чи потрібно повторно відкрити файл журналу. (Надав Маріан " +"Горбань у :issue:`24884`.)" + +msgid "math" +msgstr "математика" + +msgid "" +"The tau (*τ*) constant has been added to the :mod:`math` and :mod:`cmath` " +"modules. (Contributed by Lisa Roach in :issue:`12345`, see :pep:`628` for " +"details.)" +msgstr "" +"Константу tau (*τ*) додано до модулів :mod:`math` і :mod:`cmath`. (Надано " +"Лізою Роуч у :issue:`12345`, подробиці див. :pep:`628`.)" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +":ref:`Proxy Objects ` returned by :func:" +"`multiprocessing.Manager` can now be nested. (Contributed by Davin Potts in :" +"issue:`6766`.)" +msgstr "" +":ref:`Проксі-об’єкти `, які повертає :func:" +"`multiprocessing.Manager`, тепер можна вкладати. (Надав Девін Поттс у :issue:" +"`6766`.)" + +msgid "os" +msgstr "ос" + +msgid "" +"See the summary of :ref:`PEP 519 ` for details on how " +"the :mod:`os` and :mod:`os.path` modules now support :term:`path-like " +"objects `." +msgstr "" +"Перегляньте підсумок :ref:`PEP 519 `, щоб дізнатися, як " +"модулі :mod:`os` і :mod:`os.path` тепер підтримують :term:`path-подібні " +"об’єкти `." + +msgid ":func:`~os.scandir` now supports :class:`bytes` paths on Windows." +msgstr ":func:`~os.scandir` тепер підтримує шляхи :class:`bytes` у Windows." + +msgid "" +"A new :meth:`~os.scandir.close` method allows explicitly closing a :func:" +"`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports the :" +"term:`context manager` protocol. If a :func:`scandir` iterator is neither " +"exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted in " +"its destructor. (Contributed by Serhiy Storchaka in :issue:`25994`.)" +msgstr "" +"Новий метод :meth:`~os.scandir.close` дозволяє явно закривати ітератор :func:" +"`~os.scandir`. Ітератор :func:`~os.scandir` тепер підтримує протокол :term:" +"`context manager`. Якщо ітератор :func:`scandir` не вичерпано і не закрито " +"явно, у його деструкторі буде видано :exc:`ResourceWarning`. (Надав Сергій " +"Сторчака в :issue:`25994`.)" + +msgid "" +"The Linux ``getrandom()`` syscall (get random bytes) is now exposed as the " +"new :func:`os.getrandom` function. (Contributed by Victor Stinner, part of " +"the :pep:`524`)" +msgstr "" +"Системний виклик Linux ``getrandom()`` (отримання випадкових байтів) тепер " +"доступний як нова функція :func:`os.getrandom`. (Надав Віктор Стіннер, " +"частина :pep:`524`)" + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +":mod:`pathlib` now supports :term:`path-like objects `. " +"(Contributed by Brett Cannon in :issue:`27186`.)" +msgstr "" +":mod:`pathlib` тепер підтримує :term:`шляхові об’єкти `. " +"(Надано Бреттом Кенноном у :issue:`27186`.)" + +msgid "See the summary of :ref:`PEP 519 ` for details." +msgstr "Подробиці дивіться в резюме :ref:`PEP 519 `." + +msgid "pdb" +msgstr "pdb" + +msgid "" +"The :class:`~pdb.Pdb` class constructor has a new optional *readrc* argument " +"to control whether ``.pdbrc`` files should be read." +msgstr "" +"Конструктор класу :class:`~pdb.Pdb` має новий необов’язковий аргумент " +"*readrc* для керування тим, чи слід читати файли ``.pdbrc``." + +msgid "pickle" +msgstr "маринований огірок" + +msgid "" +"Objects that need ``__new__`` called with keyword arguments can now be " +"pickled using :ref:`pickle protocols ` older than protocol " +"version 4. Protocol version 4 already supports this case. (Contributed by " +"Serhiy Storchaka in :issue:`24164`.)" +msgstr "" +"Об’єкти, які потребують виклику ``__new__`` із ключовими аргументами, тепер " +"можна вибирати за допомогою :ref:`протоколів pickle `, " +"старших за протокол версії 4. Протокол версії 4 уже підтримує цей випадок. " +"(Надав Сергій Сторчака в :issue:`24164`.)" + +msgid "pickletools" +msgstr "інструменти для маринування" + +msgid "" +":func:`pickletools.dis()` now outputs the implicit memo index for the " +"``MEMOIZE`` opcode. (Contributed by Serhiy Storchaka in :issue:`25382`.)" +msgstr "" +":func:`pickletools.dis()` тепер виводить неявний індекс memo для коду " +"операції ``MEMOIZE``. (Надав Сергій Сторчака в :issue:`25382`.)" + +msgid "pydoc" +msgstr "pydoc" + +msgid "" +"The :mod:`pydoc` module has learned to respect the ``MANPAGER`` environment " +"variable. (Contributed by Matthias Klose in :issue:`8637`.)" +msgstr "" +"Модуль :mod:`pydoc` навчився поважати змінну середовища ``MANPAGER``. (Надав " +"Маттіас Клозе в :issue:`8637`.)" + +msgid "" +":func:`help` and :mod:`pydoc` can now list named tuple fields in the order " +"they were defined rather than alphabetically. (Contributed by Raymond " +"Hettinger in :issue:`24879`.)" +msgstr "" +":func:`help` і :mod:`pydoc` тепер можуть перераховувати іменовані поля " +"кортежу в порядку їх визначення, а не в алфавітному порядку. (Надав Реймонд " +"Геттінгер у :issue:`24879`.)" + +msgid "random" +msgstr "випадковий" + +msgid "" +"The new :func:`~random.choices` function returns a list of elements of " +"specified size from the given population with optional weights. (Contributed " +"by Raymond Hettinger in :issue:`18844`.)" +msgstr "" +"Нова функція :func:`~random.choices` повертає список елементів заданого " +"розміру з заданої сукупності з додатковими вагами. (Надав Реймонд Геттінгер " +"у :issue:`18844`.)" + +msgid "re" +msgstr "повторно" + +msgid "" +"Added support of modifier spans in regular expressions. Examples: ``'(?i:" +"p)ython'`` matches ``'python'`` and ``'Python'``, but not ``'PYTHON'``; ``'(?" +"i)g(?-i:v)r'`` matches ``'GvR'`` and ``'gvr'``, but not ``'GVR'``. " +"(Contributed by Serhiy Storchaka in :issue:`433028`.)" +msgstr "" +"Додано підтримку модифікаторів span у регулярних виразах. Приклади: ``'(?i:" +"p)ython`` відповідає ``'python'`` і ``'Python'``, але не ``'PYTHON'``; ``'(?" +"i)g(?-i:v)r''`` відповідає ``'GvR''`` і ``'gvr''``, але не ``'GVR''``. " +"(Надав Сергій Сторчака в :issue:`433028`.)" + +msgid "" +"Match object groups can be accessed by ``__getitem__``, which is equivalent " +"to ``group()``. So ``mo['name']`` is now equivalent to ``mo." +"group('name')``. (Contributed by Eric Smith in :issue:`24454`.)" +msgstr "" +"Доступ до груп об’єктів відповідності можна отримати за допомогою " +"``__getitem__``, що еквівалентно ``group()``. Отже, ``mo['name']`` тепер " +"еквівалентно ``mo.group('name')``. (Надав Ерік Сміт у :issue:`24454`.)" + +msgid "" +":class:`~re.Match` objects now support :meth:`index-like objects ` as group indices. (Contributed by Jeroen Demeyer and Xiang Zhang " +"in :issue:`27177`.)" +msgstr "" +":class:`~re.Match` об’єкти тепер підтримують :meth:`індексоподібні об’єкти " +"` як групові індекси. (Надано Jeroen Demeyer і Xiang Zhang " +"у :issue:`27177`.)" + +msgid "readline" +msgstr "readline" + +msgid "" +"Added :func:`~readline.set_auto_history` to enable or disable automatic " +"addition of input to the history list. (Contributed by Tyler Crompton in :" +"issue:`26870`.)" +msgstr "" +"Додано :func:`~readline.set_auto_history`, щоб увімкнути або вимкнути " +"автоматичне додавання введених даних до списку історії. (Надав Тайлер " +"Кромптон у :issue:`26870`.)" + +msgid "rlcompleter" +msgstr "rlcompleter" + +msgid "" +"Private and special attribute names now are omitted unless the prefix starts " +"with underscores. A space or a colon is added after some completed " +"keywords. (Contributed by Serhiy Storchaka in :issue:`25011` and :issue:" +"`25209`.)" +msgstr "" +"Приватні та спеціальні назви атрибутів тепер опущені, якщо префікс не " +"починається з підкреслення. Після деяких завершених ключових слів додається " +"пробіл або двокрапка. (Надав Сергій Сторчака в :issue:`25011` та :issue:" +"`25209`.)" + +msgid "shlex" +msgstr "шлекс" + +msgid "" +"The :class:`~shlex.shlex` has much :ref:`improved shell compatibility " +"` through the new *punctuation_chars* argument " +"to control which characters are treated as punctuation. (Contributed by " +"Vinay Sajip in :issue:`1521950`.)" +msgstr "" +":class:`~shlex.shlex` має значно :ref:`покращену сумісність оболонки " +"` завдяки новому аргументу *punctuation_chars* " +"для контролю того, які символи розглядаються як знаки пунктуації. (Надав " +"Віней Саджип у :issue:`1521950`.)" + +msgid "site" +msgstr "сайт" + +msgid "" +"When specifying paths to add to :attr:`sys.path` in a ``.pth`` file, you may " +"now specify file paths on top of directories (e.g. zip files). (Contributed " +"by Wolfgang Langner in :issue:`26587`)." +msgstr "" + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +":attr:`sqlite3.Cursor.lastrowid` now supports the ``REPLACE`` statement. " +"(Contributed by Alex LordThorsen in :issue:`16864`.)" +msgstr "" +":attr:`sqlite3.Cursor.lastrowid` тепер підтримує оператор ``REPLACE``. " +"(Надав Алекс ЛордТорсен у :issue:`16864`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"The :func:`~socket.socket.ioctl` function now supports the :data:`~socket." +"SIO_LOOPBACK_FAST_PATH` control code. (Contributed by Daniel Stokes in :" +"issue:`26536`.)" +msgstr "" +"Функція :func:`~socket.socket.ioctl` тепер підтримує керуючий код :data:" +"`~socket.SIO_LOOPBACK_FAST_PATH`. (Надав Деніел Стокс у :issue:`26536`.)" + +msgid "" +"The :meth:`~socket.socket.getsockopt` constants ``SO_DOMAIN``, " +"``SO_PROTOCOL``, ``SO_PEERSEC``, and ``SO_PASSSEC`` are now supported. " +"(Contributed by Christian Heimes in :issue:`26907`.)" +msgstr "" +"Тепер підтримуються константи :meth:`~socket.socket.getsockopt` " +"``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC`` і ``SO_PASSSEC``. (Надав " +"Крістіан Хеймс у :issue:`26907`.)" + +msgid "" +"The :meth:`~socket.socket.setsockopt` now supports the ``setsockopt(level, " +"optname, None, optlen: int)`` form. (Contributed by Christian Heimes in :" +"issue:`27744`.)" +msgstr "" +":meth:`~socket.socket.setsockopt` тепер підтримує форму ``setsockopt(level, " +"optname, None, optlen: int)``. (Надав Крістіан Хеймс у :issue:`27744`.)" + +msgid "" +"The socket module now supports the address family :data:`~socket.AF_ALG` to " +"interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` and :meth:" +"`~socket.socket.sendmsg_afalg` were added. (Contributed by Christian Heimes " +"in :issue:`27744` with support from Victor Stinner.)" +msgstr "" +"Модуль сокета тепер підтримує сімейство адрес :data:`~socket.AF_ALG` для " +"взаємодії з API шифрування ядра Linux. Було додано ``ALG_*``, ``SOL_ALG`` і :" +"meth:`~socket.socket.sendmsg_afalg`. (Надано Крістіаном Хеймсом у :issue:" +"`27744` за підтримки Віктора Стіннера.)" + +msgid "" +"New Linux constants ``TCP_USER_TIMEOUT`` and ``TCP_CONGESTION`` were added. " +"(Contributed by Omar Sandoval, :issue:`26273`)." +msgstr "" + +msgid "socketserver" +msgstr "сокетсервер" + +msgid "" +"Servers based on the :mod:`socketserver` module, including those defined in :" +"mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " +"now support the :term:`context manager` protocol. (Contributed by Aviv " +"Palivoda in :issue:`26404`.)" +msgstr "" +"Сервери на основі модуля :mod:`socketserver`, включно з тими, що визначені " +"в :mod:`http.server`, :mod:`xmlrpc.server` і :mod:`wsgiref.simple_server`, " +"тепер підтримують :term:`context manager` протокол. (Надав Авів Паливода в :" +"issue:`26404`.)" + +msgid "" +"The :attr:`~socketserver.StreamRequestHandler.wfile` attribute of :class:" +"`~socketserver.StreamRequestHandler` classes now implements the :class:`io." +"BufferedIOBase` writable interface. In particular, calling :meth:`~io." +"BufferedIOBase.write` is now guaranteed to send the data in full. " +"(Contributed by Martin Panter in :issue:`26721`.)" +msgstr "" +"Атрибут :attr:`~socketserver.StreamRequestHandler.wfile` класів :class:" +"`~socketserver.StreamRequestHandler` тепер реалізує інтерфейс для запису :" +"class:`io.BufferedIOBase`. Зокрема, виклик :meth:`~io.BufferedIOBase.write` " +"тепер гарантує надсилання даних у повному обсязі. (Надав Мартін Пантер у :" +"issue:`26721`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "" +":mod:`ssl` supports OpenSSL 1.1.0. The minimum recommend version is 1.0.2. " +"(Contributed by Christian Heimes in :issue:`26470`.)" +msgstr "" +":mod:`ssl` підтримує OpenSSL 1.1.0. Мінімальна рекомендована версія 1.0.2. " +"(Надав Крістіан Хеймс у :issue:`26470`.)" + +msgid "" +"3DES has been removed from the default cipher suites and ChaCha20 Poly1305 " +"cipher suites have been added. (Contributed by Christian Heimes in :issue:" +"`27850` and :issue:`27766`.)" +msgstr "" +"3DES було видалено зі стандартних наборів шифрів і додано набори шифрів " +"ChaCha20 Poly1305. (Надано Крістіаном Хеймсом у :issue:`27850` та :issue:" +"`27766`.)" + +msgid "" +":class:`~ssl.SSLContext` has better default configuration for options and " +"ciphers. (Contributed by Christian Heimes in :issue:`28043`.)" +msgstr "" +":class:`~ssl.SSLContext` має кращу конфігурацію за замовчуванням для " +"параметрів і шифрів. (Надав Крістіан Хеймс у :issue:`28043`.)" + +msgid "" +"SSL session can be copied from one client-side connection to another with " +"the new :class:`~ssl.SSLSession` class. TLS session resumption can speed up " +"the initial handshake, reduce latency and improve performance (Contributed " +"by Christian Heimes in :issue:`19500` based on a draft by Alex Warhawk.)" +msgstr "" +"Сеанс SSL можна скопіювати з одного клієнтського підключення до іншого за " +"допомогою нового класу :class:`~ssl.SSLSession`. Відновлення сеансу TLS може " +"пришвидшити початкове рукостискання, зменшити затримку та підвищити " +"продуктивність (надано Крістіаном Хеймсом у :issue:`19500` на основі " +"чернетки Алекса Вархока.)" + +msgid "" +"The new :meth:`~ssl.SSLContext.get_ciphers` method can be used to get a list " +"of enabled ciphers in order of cipher priority." +msgstr "" +"Новий метод :meth:`~ssl.SSLContext.get_ciphers` можна використовувати для " +"отримання списку ввімкнених шифрів у порядку пріоритету шифру." + +msgid "" +"All constants and flags have been converted to :class:`~enum.IntEnum` and :" +"class:`~enum.IntFlags`. (Contributed by Christian Heimes in :issue:`28025`.)" +msgstr "" +"Усі константи та прапорці було перетворено на :class:`~enum.IntEnum` та :" +"class:`~enum.IntFlags`. (Надав Крістіан Хеймс у :issue:`28025`.)" + +msgid "" +"Server and client-side specific TLS protocols for :class:`~ssl.SSLContext` " +"were added. (Contributed by Christian Heimes in :issue:`28085`.)" +msgstr "" +"Спеціальні для сервера та клієнта протоколи TLS для :class:`~ssl.SSLContext` " +"були додані. (Надав Крістіан Хеймс у :issue:`28085`.)" + +msgid "statistics" +msgstr "статистика" + +msgid "" +"A new :func:`~statistics.harmonic_mean` function has been added. " +"(Contributed by Steven D'Aprano in :issue:`27181`.)" +msgstr "" +"Додано нову функцію :func:`~statistics.harmonic_mean`. (Надав Стівен " +"Д'Апрано в :issue:`27181`.)" + +msgid "struct" +msgstr "структура" + +msgid "" +":mod:`struct` now supports IEEE 754 half-precision floats via the ``'e'`` " +"format specifier. (Contributed by Eli Stevens, Mark Dickinson in :issue:" +"`11734`.)" +msgstr "" +":mod:`struct` тепер підтримує числа з плаваючою точкою половинної точності " +"IEEE 754 через специфікатор формату ``'e''``. (Надано Елі Стівенсом, Марком " +"Дікінсоном у :issue:`11734`.)" + +msgid "subprocess" +msgstr "підпроцес" + +msgid "" +":class:`subprocess.Popen` destructor now emits a :exc:`ResourceWarning` " +"warning if the child process is still running. Use the context manager " +"protocol (``with proc: ...``) or explicitly call the :meth:`~subprocess." +"Popen.wait` method to read the exit status of the child process. " +"(Contributed by Victor Stinner in :issue:`26741`.)" +msgstr "" +"Деструктор :class:`subprocess.Popen` тепер видає попередження :exc:" +"`ResourceWarning`, якщо дочірній процес все ще виконується. Використовуйте " +"протокол менеджера контексту (``with proc: ...``) або явно викликайте метод :" +"meth:`~subprocess.Popen.wait`, щоб прочитати статус виходу дочірнього " +"процесу. (Надав Віктор Стіннер у :issue:`26741`.)" + +msgid "" +"The :class:`subprocess.Popen` constructor and all functions that pass " +"arguments through to it now accept *encoding* and *errors* arguments. " +"Specifying either of these will enable text mode for the *stdin*, *stdout* " +"and *stderr* streams. (Contributed by Steve Dower in :issue:`6135`.)" +msgstr "" +"Конструктор :class:`subprocess.Popen` і всі функції, які передають йому " +"аргументи, тепер приймають аргументи *encoding* і *errors*. Визначення будь-" +"якого з них увімкне текстовий режим для потоків *stdin*, *stdout* і " +"*stderr*. (Надав Стів Дауер у :issue:`6135`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"The new :func:`~sys.getfilesystemencodeerrors` function returns the name of " +"the error mode used to convert between Unicode filenames and bytes " +"filenames. (Contributed by Steve Dower in :issue:`27781`.)" +msgstr "" +"Нова функція :func:`~sys.getfilesystemencodeerrors` повертає назву режиму " +"помилки, який використовується для перетворення між іменами файлів Unicode " +"та іменами файлів байтів. (Надав Стів Дауер у :issue:`27781`.)" + +msgid "" +"On Windows the return value of the :func:`~sys.getwindowsversion` function " +"now includes the *platform_version* field which contains the accurate major " +"version, minor version and build number of the current operating system, " +"rather than the version that is being emulated for the process (Contributed " +"by Steve Dower in :issue:`27932`.)" +msgstr "" +"У Windows значення, що повертається функцією :func:`~sys.getwindowsversion`, " +"тепер включає поле *platform_version*, яке містить точну основну версію, " +"додаткову версію та номер збірки поточної операційної системи, а не версію, " +"яка емулюється для процесу (надав Стів Дауер у :issue:`27932`.)" + +msgid "telnetlib" +msgstr "telnetlib" + +msgid "" +":class:`~telnetlib.Telnet` is now a context manager (contributed by Stéphane " +"Wirtel in :issue:`25485`)." +msgstr "" +":class:`~telnetlib.Telnet` тепер є контекстним менеджером (надано Stéphane " +"Wirtel у :issue:`25485`)." + +msgid "time" +msgstr "час" + +msgid "" +"The :class:`~time.struct_time` attributes :attr:`tm_gmtoff` and :attr:" +"`tm_zone` are now available on all platforms." +msgstr "" +"Атрибути :class:`~time.struct_time` :attr:`tm_gmtoff` і :attr:`tm_zone` " +"тепер доступні на всіх платформах." + +msgid "timeit" +msgstr "timeit" + +msgid "" +"The new :meth:`Timer.autorange() ` convenience " +"method has been added to call :meth:`Timer.timeit() ` " +"repeatedly so that the total run time is greater or equal to 200 " +"milliseconds. (Contributed by Steven D'Aprano in :issue:`6422`.)" +msgstr "" +"Додано новий зручний метод :meth:`Timer.autorange() ` для багаторазового виклику :meth:`Timer.timeit() ` так, щоб загальний час виконання був більшим або рівним 200 " +"мілісекундам. (Надав Стівен Д'Апрано в :issue:`6422`.)" + +msgid "" +":mod:`timeit` now warns when there is substantial (4x) variance between best " +"and worst times. (Contributed by Serhiy Storchaka in :issue:`23552`.)" +msgstr "" +":mod:`timeit` тепер попереджає про значну (4x) різницю між найкращим і " +"гіршим часом. (Надав Сергій Сторчака в :issue:`23552`.)" + +msgid "tkinter" +msgstr "tkinter" + +msgid "" +"Added methods :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable." +"trace_remove` and :meth:`~tkinter.Variable.trace_info` in the :class:" +"`tkinter.Variable` class. They replace old methods :meth:`~tkinter.Variable." +"trace_variable`, :meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable." +"trace_vdelete` and :meth:`~tkinter.Variable.trace_vinfo` that use obsolete " +"Tcl commands and might not work in future versions of Tcl. (Contributed by " +"Serhiy Storchaka in :issue:`22115`)." +msgstr "" +"Додано методи :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable." +"trace_remove` і :meth:`~tkinter.Variable.trace_info` в клас :class:`tkinter." +"Variable`. Вони замінюють старі методи :meth:`~tkinter.Variable." +"trace_variable`, :meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable." +"trace_vdelete` та :meth:`~tkinter.Variable.trace_vinfo`, які використовують " +"застарілі команди Tcl і можуть не працювати в майбутніх версіях Tcl. (Надав " +"Сергій Сторчака в :issue:`22115`)." + +msgid "traceback" +msgstr "простежити" + +msgid "" +"Both the traceback module and the interpreter's builtin exception display " +"now abbreviate long sequences of repeated lines in tracebacks as shown in " +"the following example::" +msgstr "" +"Як модуль відстеження, так і вбудований дисплей винятків інтерпретатора " +"тепер скорочують довгі послідовності повторюваних рядків у відстеженнях, як " +"показано в наступному прикладі:" + +msgid "(Contributed by Emanuel Barry in :issue:`26823`.)" +msgstr "(Надав Емануель Баррі в :issue:`26823`.)" + +msgid "tracemalloc" +msgstr "tracemalloc" + +msgid "" +"The :mod:`tracemalloc` module now supports tracing memory allocations in " +"multiple different address spaces." +msgstr "" +"Модуль :mod:`tracemalloc` тепер підтримує відстеження розподілу пам’яті в " +"кількох різних адресних просторах." + +msgid "" +"The new :class:`~tracemalloc.DomainFilter` filter class has been added to " +"filter block traces by their address space (domain)." +msgstr "" +"Додано новий клас фільтра :class:`~tracemalloc.DomainFilter` для фільтрації " +"трасування блоків за їх адресним простором (доменом)." + +msgid "(Contributed by Victor Stinner in :issue:`26588`.)" +msgstr "(Надав Віктор Стіннер у :issue:`26588`.)" + +msgid "typing" +msgstr "введення тексту" + +msgid "" +"Since the :mod:`typing` module is :term:`provisional `, all " +"changes introduced in Python 3.6 have also been backported to Python 3.5.x." +msgstr "" +"Оскільки модуль :mod:`typing` є :term:`провізорним `, усі " +"зміни, внесені в Python 3.6, також було перенесено до Python 3.5.x." + +msgid "" +"The :mod:`typing` module has a much improved support for generic type " +"aliases. For example ``Dict[str, Tuple[S, T]]`` is now a valid type " +"annotation. (Contributed by Guido van Rossum in `Github #195 `_.)" +msgstr "" +"Модуль :mod:`typing` має значно покращену підтримку загальних псевдонімів " +"типів. Наприклад, ``Dict[str, Tuple[S, T]]`` тепер є дійсною анотацією типу. " +"(Надано Гвідо ван Россумом у `Github #195 `_.)" + +msgid "" +"The :class:`typing.ContextManager` class has been added for representing :" +"class:`contextlib.AbstractContextManager`. (Contributed by Brett Cannon in :" +"issue:`25609`.)" +msgstr "" +"Клас :class:`typing.ContextManager` додано для представлення :class:" +"`contextlib.AbstractContextManager`. (Надав Бретт Кеннон у :issue:`25609`.)" + +msgid "" +"The :class:`typing.Collection` class has been added for representing :class:" +"`collections.abc.Collection`. (Contributed by Ivan Levkivskyi in :issue:" +"`27598`.)" +msgstr "" +"Клас :class:`typing.Collection` додано для представлення :class:`collections." +"abc.Collection`. (Надав Іван Левківський у :issue:`27598`.)" + +msgid "" +"The :const:`typing.ClassVar` type construct has been added to mark class " +"variables. As introduced in :pep:`526`, a variable annotation wrapped in " +"ClassVar indicates that a given attribute is intended to be used as a class " +"variable and should not be set on instances of that class. (Contributed by " +"Ivan Levkivskyi in `Github #280 `_.)" +msgstr "" +"Для позначення змінних класу додано конструкцію типу :const:`typing." +"ClassVar`. Як представлено в :pep:`526`, анотація змінної, загорнена в " +"ClassVar, вказує на те, що даний атрибут призначений для використання як " +"змінна класу і не повинен встановлюватися для екземплярів цього класу. " +"(Надав Іван Левківський у `Github #280 `_.)" + +msgid "" +"A new :const:`~typing.TYPE_CHECKING` constant that is assumed to be ``True`` " +"by the static type checkers, but is ``False`` at runtime. (Contributed by " +"Guido van Rossum in `Github #230 `_.)" +msgstr "" +"Нова константа :const:`~typing.TYPE_CHECKING`, яка вважається ``True`` " +"засобами перевірки статичних типів, але є ``False`` під час виконання. " +"(Надано Гвідо ван Россумом у `Github #230 `_.)" + +msgid "" +"A new :func:`~typing.NewType` helper function has been added to create " +"lightweight distinct types for annotations::" +msgstr "" +"Додано нову допоміжну функцію :func:`~typing.NewType` для створення легких " +"різних типів для анотацій::" + +msgid "" +"The static type checker will treat the new type as if it were a subclass of " +"the original type. (Contributed by Ivan Levkivskyi in `Github #189 `_.)" +msgstr "" +"Засіб перевірки статичного типу розглядатиме новий тип як підклас вихідного " +"типу. (Надав Іван Левківський у `Github #189 `_.)" + +msgid "unicodedata" +msgstr "unicodedata" + +msgid "" +"The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 `_. (Contributed by Benjamin Peterson.)" +msgstr "" + +msgid "unittest.mock" +msgstr "unittest.mock" + +msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" +msgstr "Клас :class:`~unittest.mock.Mock` має наступні покращення:" + +msgid "" +"Two new methods, :meth:`Mock.assert_called() ` and :meth:`Mock.assert_called_once() ` to check if the mock object was called. (Contributed by " +"Amit Saha in :issue:`26323`.)" +msgstr "" +"Два нові методи, :meth:`Mock.assert_ called() ` і :meth:`Mock.assert_ called_once() `, щоб перевірити, чи був викликаний макетний об’єкт. " +"(Надав Аміт Саха в :issue:`26323`.)" + +msgid "" +"The :meth:`Mock.reset_mock() ` method now has " +"two optional keyword only arguments: *return_value* and *side_effect*. " +"(Contributed by Kushal Das in :issue:`21271`.)" +msgstr "" +"Метод :meth:`Mock.reset_mock() ` тепер має " +"два необов’язкові аргументи лише для ключових слів: *return_value* і " +"*side_effect*. (Надав Кушал Дас у :issue:`21271`.)" + +msgid "urllib.request" +msgstr "urllib.request" + +msgid "" +"If a HTTP request has a file or iterable body (other than a bytes object) " +"but no ``Content-Length`` header, rather than throwing an error, :class:" +"`~urllib.request.AbstractHTTPHandler` now falls back to use chunked transfer " +"encoding. (Contributed by Demian Brecht and Rolf Krahl in :issue:`12319`.)" +msgstr "" +"Якщо HTTP-запит містить файл або ітераційне тіло (крім об’єкта bytes), але " +"немає заголовка ``Content-Length``, а не видає помилку, :class:`~urllib." +"request.AbstractHTTPHandler` тепер повертається до використання " +"фрагментоване кодування передачі. (Надано Деміаном Брехтом і Рольфом Кралем " +"у :issue:`12319`.)" + +msgid "urllib.robotparser" +msgstr "urllib.robotparser" + +msgid "" +":class:`~urllib.robotparser.RobotFileParser` now supports the ``Crawl-" +"delay`` and ``Request-rate`` extensions. (Contributed by Nikolay Bogoychev " +"in :issue:`16099`.)" +msgstr "" +":class:`~urllib.robotparser.RobotFileParser` тепер підтримує розширення " +"``Crawl-delay`` і ``Request-rate``. (Надав Микола Богойчев у :issue:`16099`.)" + +msgid "venv" +msgstr "venv" + +msgid "" +":mod:`venv` accepts a new parameter ``--prompt``. This parameter provides an " +"alternative prefix for the virtual environment. (Proposed by Łukasz " +"Balcerzak and ported to 3.6 by Stéphane Wirtel in :issue:`22829`.)" +msgstr "" +":mod:`venv` приймає новий параметр ``--prompt``. Цей параметр надає " +"альтернативний префікс для віртуального середовища. (Запропоновано Łukasz " +"Balcerzak і перенесено на 3.6 Stéphane Wirtel у :issue:`22829`.)" + +msgid "warnings" +msgstr "попередження" + +msgid "" +"A new optional *source* parameter has been added to the :func:`warnings." +"warn_explicit` function: the destroyed object which emitted a :exc:" +"`ResourceWarning`. A *source* attribute has also been added to :class:" +"`warnings.WarningMessage` (contributed by Victor Stinner in :issue:`26568` " +"and :issue:`26567`)." +msgstr "" +"До функції :func:`warnings.warn_explicit` додано новий необов’язковий " +"параметр *source*: знищений об’єкт, який випустив :exc:`ResourceWarning`. " +"Атрибут *source* також додано до :class:`warnings.WarningMessage` (надано " +"Віктором Стіннером у :issue:`26568` та :issue:`26567`)." + +msgid "" +"When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` " +"module is now used to try to retrieve the traceback where the destroyed " +"object was allocated." +msgstr "" +"Коли реєструється попередження :exc:`ResourceWarning`, модуль :mod:" +"`tracemalloc` тепер використовується для спроби отримати зворотне " +"відстеження, де було розміщено знищений об’єкт." + +msgid "Example with the script ``example.py``::" +msgstr "Приклад зі скриптом ``example.py``::" + +msgid "Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::" +msgstr "Вихід команди ``python3.6 -Wd -X tracemalloc=5 example.py``::" + +msgid "" +"The \"Object allocated at\" traceback is new and is only displayed if :mod:" +"`tracemalloc` is tracing Python memory allocations and if the :mod:" +"`warnings` module was already imported." +msgstr "" +"Зворотне відстеження \"Об’єкт, виділений у\" є новим і відображається, лише " +"якщо :mod:`tracemalloc` відстежує виділення пам’яті Python і якщо модуль :" +"mod:`warnings` уже було імпортовано." + +msgid "winreg" +msgstr "winreg" + +msgid "" +"Added the 64-bit integer type :data:`REG_QWORD `. " +"(Contributed by Clement Rouault in :issue:`23026`.)" +msgstr "" +"Додано 64-розрядний цілочисельний тип :data:`REG_QWORD `. " +"(Надав Клемент Руо в :issue:`23026`.)" + +msgid "winsound" +msgstr "winsound" + +msgid "" +"Allowed keyword arguments to be passed to :func:`Beep `, :" +"func:`MessageBeep `, and :func:`PlaySound ` (:issue:`27982`)." +msgstr "" +"Дозволені аргументи ключових слів для :func:`Beep `, :func:" +"`MessageBeep ` і :func:`PlaySound ` (:issue:`27982`)." + +msgid "xmlrpc.client" +msgstr "xmlrpc.client" + +msgid "" +"The :mod:`xmlrpc.client` module now supports unmarshalling additional data " +"types used by the Apache XML-RPC implementation for numerics and ``None``. " +"(Contributed by Serhiy Storchaka in :issue:`26885`.)" +msgstr "" +"Модуль :mod:`xmlrpc.client` тепер підтримує демаршалінг додаткових типів " +"даних, які використовуються реалізацією Apache XML-RPC для чисел і ``None``. " +"(Надав Сергій Сторчака в :issue:`26885`.)" + +msgid "zipfile" +msgstr "zip-файл" + +msgid "" +"A new :meth:`ZipInfo.from_file() ` class method " +"allows making a :class:`~zipfile.ZipInfo` instance from a filesystem file. A " +"new :meth:`ZipInfo.is_dir() ` method can be used to " +"check if the :class:`~zipfile.ZipInfo` instance represents a directory. " +"(Contributed by Thomas Kluyver in :issue:`26039`.)" +msgstr "" +"Новий метод класу :meth:`ZipInfo.from_file() ` " +"дозволяє створити екземпляр :class:`~zipfile.ZipInfo` з файлу файлової " +"системи. Новий метод :meth:`ZipInfo.is_dir() ` можна " +"використовувати, щоб перевірити, чи екземпляр :class:`~zipfile.ZipInfo` " +"представляє каталог. (Надав Томас Клюйвер у :issue:`26039`.)" + +msgid "" +"The :meth:`ZipFile.open() ` method can now be used to " +"write data into a ZIP file, as well as for extracting data. (Contributed by " +"Thomas Kluyver in :issue:`26039`.)" +msgstr "" +"Метод :meth:`ZipFile.open() ` тепер можна " +"використовувати для запису даних у файл ZIP, а також для вилучення даних. " +"(Надав Томас Клюйвер у :issue:`26039`.)" + +msgid "zlib" +msgstr "zlib" + +msgid "" +"The :func:`~zlib.compress` and :func:`~zlib.decompress` functions now accept " +"keyword arguments. (Contributed by Aviv Palivoda in :issue:`26243` and Xiang " +"Zhang in :issue:`16764` respectively.)" +msgstr "" +"Функції :func:`~zlib.compress` і :func:`~zlib.decompress` тепер приймають " +"ключові аргументи. (Надано Aviv Palivoda у :issue:`26243` та Xiang Zhang у :" +"issue:`16764` відповідно.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The Python interpreter now uses a 16-bit wordcode instead of bytecode which " +"made a number of opcode optimizations possible. (Contributed by Demur Rumed " +"with input and reviews from Serhiy Storchaka and Victor Stinner in :issue:" +"`26647` and :issue:`28050`.)" +msgstr "" +"Інтерпретатор Python тепер використовує 16-бітний словесний код замість байт-" +"коду, що зробило можливим ряд оптимізацій коду операції. (Надано Демуром " +"Румедом із коментарями та рецензіями Сергія Сторчака та Віктора Стіннера в :" +"issue:`26647` та :issue:`28050`.)" + +msgid "" +"The :class:`asyncio.Future` class now has an optimized C implementation. " +"(Contributed by Yury Selivanov and INADA Naoki in :issue:`26081`.)" +msgstr "" +"Клас :class:`asyncio.Future` тепер має оптимізовану реалізацію C. (Надано " +"Юрієм Селівановим та INADA Naoki у :issue:`26081`.)" + +msgid "" +"The :class:`asyncio.Task` class now has an optimized C implementation. " +"(Contributed by Yury Selivanov in :issue:`28544`.)" +msgstr "" +"Клас :class:`asyncio.Task` тепер має оптимізовану реалізацію C. (Надав Юрій " +"Селіванов у :issue:`28544`.)" + +msgid "" +"Various implementation improvements in the :mod:`typing` module (such as " +"caching of generic types) allow up to 30 times performance improvements and " +"reduced memory footprint." +msgstr "" +"Різні вдосконалення реалізації в модулі :mod:`typing` (такі як кешування " +"загальних типів) дозволяють до 30 разів підвищити продуктивність і зменшити " +"обсяг пам’яті." + +msgid "" +"The ASCII decoder is now up to 60 times as fast for error handlers " +"``surrogateescape``, ``ignore`` and ``replace`` (Contributed by Victor " +"Stinner in :issue:`24870`)." +msgstr "" +"Декодер ASCII тепер у 60 разів швидший для обробників помилок " +"``surrogateescape``, ``ignore`` і ``replace`` (надано Віктором Стіннером у :" +"issue:`24870`)." + +msgid "" +"The ASCII and the Latin1 encoders are now up to 3 times as fast for the " +"error handler ``surrogateescape`` (Contributed by Victor Stinner in :issue:" +"`25227`)." +msgstr "" +"Кодери ASCII і Latin1 тепер у 3 рази швидші для обробника помилок " +"``surrogateescape`` (надано Віктором Стіннером у :issue:`25227`)." + +msgid "" +"The UTF-8 encoder is now up to 75 times as fast for error handlers " +"``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass`` (Contributed " +"by Victor Stinner in :issue:`25267`)." +msgstr "" +"Кодер UTF-8 тепер у 75 разів швидший для обробників помилок ``ignore``, " +"``replace``, ``surrogateescape``, ``surrogatepass`` (Надано Віктором " +"Стіннером у :issue:`25267`)." + +msgid "" +"The UTF-8 decoder is now up to 15 times as fast for error handlers " +"``ignore``, ``replace`` and ``surrogateescape`` (Contributed by Victor " +"Stinner in :issue:`25301`)." +msgstr "" +"Декодер UTF-8 тепер у 15 разів швидший для обробників помилок ``ignore``, " +"``replace`` і ``surrogateescape`` (надано Віктором Стіннером у :issue:" +"`25301`)." + +msgid "" +"``bytes % args`` is now up to 2 times faster. (Contributed by Victor Stinner " +"in :issue:`25349`)." +msgstr "" +"``bytes % args`` тепер у 2 рази швидше. (Надав Віктор Стіннер у :issue:" +"`25349`)." + +msgid "" +"``bytearray % args`` is now between 2.5 and 5 times faster. (Contributed by " +"Victor Stinner in :issue:`25399`)." +msgstr "" +"``bytearray % args`` тепер у 2,5-5 разів швидше. (Надав Віктор Стіннер у :" +"issue:`25399`)." + +msgid "" +"Optimize :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: they are now " +"between 2x and 3.5x faster. (Contributed by Victor Stinner in :issue:" +"`25401`)." +msgstr "" +"Оптимізуйте :meth:`bytes.fromhex` і :meth:`bytearray.fromhex`: тепер вони " +"працюють у 2-3,5 рази швидше. (Надав Віктор Стіннер у :issue:`25401`)." + +msgid "" +"Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``: " +"up to 80% faster. (Contributed by Josh Snider in :issue:`26574`)." +msgstr "" +"Оптимізуйте ``bytes.replace(b'', b'.')`` і ``bytearray.replace(b'', b'.')``: " +"до 80% швидше. (Надав Джош Снайдер у :issue:`26574`)." + +msgid "" +"Allocator functions of the :c:func:`PyMem_Malloc` domain (:c:data:" +"`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator ` " +"instead of :c:func:`malloc` function of the C library. The pymalloc " +"allocator is optimized for objects smaller or equal to 512 bytes with a " +"short lifetime, and use :c:func:`malloc` for larger memory blocks. " +"(Contributed by Victor Stinner in :issue:`26249`)." +msgstr "" +"Функції розподільника домену :c:func:`PyMem_Malloc` (:c:data:" +"`PYMEM_DOMAIN_MEM`) тепер використовують розподільник пам’яті :ref:`pymalloc " +"` замість функції :c:func:`malloc` бібліотеки C . Розподільник " +"pymalloc оптимізовано для об’єктів розміром менше або дорівнює 512 байтам із " +"коротким часом життя, і використовуйте :c:func:`malloc` для більших блоків " +"пам’яті. (Надав Віктор Стіннер у :issue:`26249`)." + +msgid "" +":func:`pickle.load` and :func:`pickle.loads` are now up to 10% faster when " +"deserializing many small objects (Contributed by Victor Stinner in :issue:" +"`27056`)." +msgstr "" +":func:`pickle.load` і :func:`pickle.loads` тепер на 10% швидше під час " +"десеріалізації багатьох малих об’єктів (надано Віктором Стіннером у :issue:" +"`27056`)." + +msgid "" +"Passing :term:`keyword arguments ` to a function has an " +"overhead in comparison with passing :term:`positional arguments `. Now in extension functions implemented with using Argument " +"Clinic this overhead is significantly decreased. (Contributed by Serhiy " +"Storchaka in :issue:`27574`)." +msgstr "" +"Передача :term:`аргументів ключового слова ` до функції " +"має додаткові витрати порівняно з передачею :term:`позиційних аргументів " +"`. Тепер у функціях розширення, реалізованих за " +"допомогою Argument Clinic, ці накладні витрати значно зменшені. (Надав " +"Сергій Сторчака в :issue:`27574`)." + +msgid "" +"Optimized :func:`~glob.glob` and :func:`~glob.iglob` functions in the :mod:" +"`glob` module; they are now about 3--6 times faster. (Contributed by Serhiy " +"Storchaka in :issue:`25596`)." +msgstr "" +"Оптимізовано функції :func:`~glob.glob` і :func:`~glob.iglob` в модулі :mod:" +"`glob`; тепер вони приблизно в 3-6 разів швидші. (Надав Сергій Сторчака в :" +"issue:`25596`)." + +msgid "" +"Optimized globbing in :mod:`pathlib` by using :func:`os.scandir`; it is now " +"about 1.5--4 times faster. (Contributed by Serhiy Storchaka in :issue:" +"`26032`)." +msgstr "" +"Оптимізовано глобінг у :mod:`pathlib` за допомогою :func:`os.scandir`; зараз " +"це приблизно в 1,5-4 рази швидше. (Надав Сергій Сторчака в :issue:`26032`)." + +msgid "" +":class:`xml.etree.ElementTree` parsing, iteration and deepcopy performance " +"has been significantly improved. (Contributed by Serhiy Storchaka in :issue:" +"`25638`, :issue:`25873`, and :issue:`25869`.)" +msgstr "" +":class:`xml.etree.ElementTree` продуктивність аналізу, ітерації та глибокого " +"копіювання була значно покращена. (Надав Сергій Сторчака в :issue:`25638`, :" +"issue:`25873` та :issue:`25869`.)" + +msgid "" +"Creation of :class:`fractions.Fraction` instances from floats and decimals " +"is now 2 to 3 times faster. (Contributed by Serhiy Storchaka in :issue:" +"`25971`.)" +msgstr "" +"Створення екземплярів :class:`fractions.Fraction` із числами з плаваючою " +"точкою та десятковими числами тепер у 2-3 рази швидше. (Надав Сергій " +"Сторчака в :issue:`25971`.)" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "" +"Python now requires some C99 support in the toolchain to build. Most " +"notably, Python now uses standard integer types and macros in place of " +"custom macros like ``PY_LONG_LONG``. For more information, see :pep:`7` and :" +"issue:`17884`." +msgstr "" +"Для створення Python тепер потрібна певна підтримка C99 у ланцюжку " +"інструментів. Зокрема, Python тепер використовує стандартні цілі типи та " +"макроси замість спеціальних макросів, таких як ``PY_LONG_LONG``. Для " +"отримання додаткової інформації перегляньте :pep:`7` і :issue:`17884`." + +msgid "" +"Cross-compiling CPython with the Android NDK and the Android API level set " +"to 21 (Android 5.0 Lollipop) or greater runs successfully. While Android is " +"not yet a supported platform, the Python test suite runs on the Android " +"emulator with only about 16 tests failures. See the Android meta-issue :" +"issue:`26865`." +msgstr "" +"Перехресна компіляція CPython із Android NDK і Android API на рівні 21 " +"(Android 5.0 Lollipop) або новіша працює успішно. Хоча Android ще не " +"підтримується платформою, набір тестів Python працює на емуляторі Android " +"лише з приблизно 16 помилками тестів. Перегляньте метапроблему Android :" +"issue:`26865`." + +msgid "" +"The ``--enable-optimizations`` configure flag has been added. Turning it on " +"will activate expensive optimizations like PGO. (Original patch by " +"Alecsandru Patrascu of Intel in :issue:`26359`.)" +msgstr "" +"Додано прапор конфігурації ``--enable-optimizations``. Його ввімкнення " +"активує дорогі оптимізації, такі як PGO. (Оригінальний патч від Alecsandru " +"Patrascu з Intel у :issue:`26359`.)" + +msgid "" +"The :term:`GIL ` must now be held when allocator " +"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" +"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." +msgstr "" +":term:`GIL ` тепер потрібно утримувати, коли " +"функції розподільника :c:data:`PYMEM_DOMAIN_OBJ` (наприклад: :c:func:" +"`PyObject_Malloc`) і :c:data:`PYMEM_DOMAIN_MEM` (наприклад: :c:func:" +"`PyMem_Malloc`) викликаються домени." + +msgid "" +"New :c:func:`Py_FinalizeEx` API which indicates if flushing buffered data " +"failed. (Contributed by Martin Panter in :issue:`5319`.)" +msgstr "" +"Новий :c:func:`Py_FinalizeEx` API, який вказує на помилку очищення " +"буферизованих даних. (Надав Мартін Пантер у :issue:`5319`.)" + +msgid "" +":c:func:`PyArg_ParseTupleAndKeywords` now supports :ref:`positional-only " +"parameters `. Positional-only parameters are " +"defined by empty names. (Contributed by Serhiy Storchaka in :issue:`26282`)." +msgstr "" +":c:func:`PyArg_ParseTupleAndKeywords` тепер підтримує :ref:`позиційні " +"параметри `. Лише позиційні параметри " +"визначаються порожніми іменами. (Надав Сергій Сторчака в :issue:`26282`)." + +msgid "" +"``PyTraceback_Print`` method now abbreviates long sequences of repeated " +"lines as ``\"[Previous line repeated {count} more times]\"``. (Contributed " +"by Emanuel Barry in :issue:`26823`.)" +msgstr "" +"Метод ``PyTraceback_Print`` тепер скорочує довгі послідовності повторюваних " +"рядків як ``\"[Попередній рядок повторюється {count} більше разів]\"``. " +"(Надав Емануель Баррі в :issue:`26823`.)" + +msgid "" +"The new :c:func:`PyErr_SetImportErrorSubclass` function allows for " +"specifying a subclass of :exc:`ImportError` to raise. (Contributed by Eric " +"Snow in :issue:`15767`.)" +msgstr "" +"Нова функція :c:func:`PyErr_SetImportErrorSubclass` дозволяє вказати " +"підклас :exc:`ImportError` для підвищення. (Надав Ерік Сноу в :issue:" +"`15767`.)" + +msgid "" +"The new :c:func:`PyErr_ResourceWarning` function can be used to generate a :" +"exc:`ResourceWarning` providing the source of the resource allocation. " +"(Contributed by Victor Stinner in :issue:`26567`.)" +msgstr "" +"Нову функцію :c:func:`PyErr_ResourceWarning` можна використовувати для " +"генерації :exc:`ResourceWarning`, яка вказує джерело розподілу ресурсу. " +"(Надав Віктор Стіннер у :issue:`26567`.)" + +msgid "" +"The new :c:func:`PyOS_FSPath` function returns the file system " +"representation of a :term:`path-like object`. (Contributed by Brett Cannon " +"in :issue:`27186`.)" +msgstr "" +"Нова функція :c:func:`PyOS_FSPath` повертає представлення файлової системи :" +"term:`path-like object`. (Надав Бретт Кеннон у :issue:`27186`.)" + +msgid "" +"The :c:func:`PyUnicode_FSConverter` and :c:func:`PyUnicode_FSDecoder` " +"functions will now accept :term:`path-like objects `." +msgstr "" +"Функції :c:func:`PyUnicode_FSConverter` і :c:func:`PyUnicode_FSDecoder` " +"тепер прийматимуть :term:`шляхові об’єкти `." + +msgid "Other Improvements" +msgstr "Інші вдосконалення" + +msgid "" +"When :option:`--version` (short form: :option:`-V`) is supplied twice, " +"Python prints :data:`sys.version` for detailed information." +msgstr "" +"Коли :option:`--version` (коротка форма: :option:`-V`) надається двічі, " +"Python друкує :data:`sys.version` для отримання детальної інформації." + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "New Keywords" +msgstr "Нові ключові слова" + +msgid "" +"``async`` and ``await`` are not recommended to be used as variable, class, " +"function or module names. Introduced by :pep:`492` in Python 3.5, they will " +"become proper keywords in Python 3.7. Starting in Python 3.6, the use of " +"``async`` or ``await`` as names will generate a :exc:`DeprecationWarning`." +msgstr "" +"``async`` і ``await`` не рекомендується використовувати як імена змінних, " +"класів, функцій або модулів. Представлені :pep:`492` у Python 3.5, вони " +"стануть правильними ключовими словами в Python 3.7. Починаючи з Python 3.6, " +"використання ``async`` або ``await`` як імен створюватиме :exc:" +"`DeprecationWarning`." + +msgid "Deprecated Python behavior" +msgstr "Застаріла поведінка Python" + +msgid "" +"Raising the :exc:`StopIteration` exception inside a generator will now " +"generate a :exc:`DeprecationWarning`, and will trigger a :exc:`RuntimeError` " +"in Python 3.7. See :ref:`whatsnew-pep-479` for details." +msgstr "" +"Підвищення винятку :exc:`StopIteration` всередині генератора тепер створить :" +"exc:`DeprecationWarning` і викличе :exc:`RuntimeError` у Python 3.7. " +"Докладніше див. :ref:`whatsnew-pep-479`." + +msgid "" +"The :meth:`__aiter__` method is now expected to return an asynchronous " +"iterator directly instead of returning an awaitable as previously. Doing the " +"former will trigger a :exc:`DeprecationWarning`. Backward compatibility " +"will be removed in Python 3.7. (Contributed by Yury Selivanov in :issue:" +"`27243`.)" +msgstr "" +"Тепер очікується, що метод :meth:`__aiter__` повертатиме безпосередньо " +"асинхронний ітератор замість того, щоб повертати awaitable, як раніше. " +"Виконання першого призведе до появи :exc:`DeprecationWarning`. У Python 3.7 " +"буде видалено зворотну сумісність. (Надав Юрій Селіванов у :issue:`27243`.)" + +msgid "" +"A backslash-character pair that is not a valid escape sequence now generates " +"a :exc:`DeprecationWarning`. Although this will eventually become a :exc:" +"`SyntaxError`, that will not be for several Python releases. (Contributed by " +"Emanuel Barry in :issue:`27364`.)" +msgstr "" +"Пара символів зворотної похилої риски, яка не є дійсною керуючою " +"послідовністю, тепер генерує :exc:`DeprecationWarning`. Хоча це з часом " +"стане :exc:`SyntaxError`, це не буде для кількох випусків Python. (Надав " +"Емануель Баррі в :issue:`27364`.)" + +msgid "" +"When performing a relative import, falling back on ``__name__`` and " +"``__path__`` from the calling module when ``__spec__`` or ``__package__`` " +"are not defined now raises an :exc:`ImportWarning`. (Contributed by Rose " +"Ames in :issue:`25791`.)" +msgstr "" +"Під час виконання відносного імпорту повернення до ``__name__`` і " +"``__path__`` з викликаючого модуля, коли ``__spec__`` або ``__package__`` " +"тепер не визначено, викликає :exc:`ImportWarning`. (Надано Роуз Еймс у :" +"issue:`25791`.)" + +msgid "Deprecated Python modules, functions and methods" +msgstr "Застарілі модулі, функції та методи Python" + +msgid "asynchat" +msgstr "асинчат" + +msgid "" +"The :mod:`asynchat` has been deprecated in favor of :mod:`asyncio`. " +"(Contributed by Mariatta in :issue:`25002`.)" +msgstr "" +":mod:`asynchat` застаріло на користь :mod:`asyncio`. (Надано Mariatta в :" +"issue:`25002`.)" + +msgid "asyncore" +msgstr "несиндром" + +msgid "" +"The :mod:`asyncore` has been deprecated in favor of :mod:`asyncio`. " +"(Contributed by Mariatta in :issue:`25002`.)" +msgstr "" +":mod:`asyncore` застаріло на користь :mod:`asyncio`. (Надано Mariatta в :" +"issue:`25002`.)" + +msgid "dbm" +msgstr "dbm" + +msgid "" +"Unlike other :mod:`dbm` implementations, the :mod:`dbm.dumb` module creates " +"databases with the ``'rw'`` mode and allows modifying the database opened " +"with the ``'r'`` mode. This behavior is now deprecated and will be removed " +"in 3.8. (Contributed by Serhiy Storchaka in :issue:`21708`.)" +msgstr "" +"На відміну від інших реалізацій :mod:`dbm`, модуль :mod:`dbm.dumb` створює " +"бази даних у режимі ``'rw'`` і дозволяє змінювати базу даних, відкриту в " +"режимі ``'r'``. Ця поведінка тепер застаріла та буде видалена у версії 3.8. " +"(Надав Сергій Сторчака в :issue:`21708`.)" + +msgid "" +"The undocumented ``extra_path`` argument to the :class:`~distutils." +"Distribution` constructor is now considered deprecated and will raise a " +"warning if set. Support for this parameter will be removed in a future " +"Python release. See :issue:`27919` for details." +msgstr "" +"Недокументований аргумент ``extra_path`` до конструктора :class:`~distutils." +"Distribution` тепер вважається застарілим і викличе попередження, якщо " +"встановлено. Підтримку цього параметра буде вилучено в майбутньому випуску " +"Python. Докладніше див. :issue:`27919`." + +msgid "grp" +msgstr "група" + +msgid "" +"The support of non-integer arguments in :func:`~grp.getgrgid` has been " +"deprecated. (Contributed by Serhiy Storchaka in :issue:`26129`.)" +msgstr "" +"Підтримка нецілочисельних аргументів у :func:`~grp.getgrgid` застаріла. " +"(Надав Сергій Сторчака в :issue:`26129`.)" + +msgid "" +"The :meth:`importlib.machinery.SourceFileLoader.load_module` and :meth:" +"`importlib.machinery.SourcelessFileLoader.load_module` methods are now " +"deprecated. They were the only remaining implementations of :meth:`importlib." +"abc.Loader.load_module` in :mod:`importlib` that had not been deprecated in " +"previous versions of Python in favour of :meth:`importlib.abc.Loader." +"exec_module`." +msgstr "" +"Методи :meth:`importlib.machinery.SourceFileLoader.load_module` і :meth:" +"`importlib.machinery.SourcelessFileLoader.load_module` тепер застаріли. Це " +"були єдині реалізації :meth:`importlib.abc.Loader.load_module` в :mod:" +"`importlib`, які не були застарілими в попередніх версіях Python на користь :" +"meth:`importlib.abc.Loader.exec_module`." + +msgid "" +"The :class:`importlib.machinery.WindowsRegistryFinder` class is now " +"deprecated. As of 3.6.0, it is still added to :attr:`sys.meta_path` by " +"default (on Windows), but this may change in future releases." +msgstr "" +"Клас :class:`importlib.machinery.WindowsRegistryFinder` тепер застарілий. " +"Починаючи з версії 3.6.0, він усе ще додається до :attr:`sys.meta_path` за " +"замовчуванням (у Windows), але це може змінитися в наступних випусках." + +msgid "" +"Undocumented support of general :term:`bytes-like objects ` as paths in :mod:`os` functions, :func:`compile` and similar " +"functions is now deprecated. (Contributed by Serhiy Storchaka in :issue:" +"`25791` and :issue:`26754`.)" +msgstr "" +"Недокументована підтримка загальних :term:`байт-подібних об’єктів ` як шляхів у функціях :mod:`os`, :func:`compile` та подібних " +"функціях тепер застаріла. (Надав Сергій Сторчака в :issue:`25791` та :issue:" +"`26754`.)" + +msgid "" +"Support for inline flags ``(?letters)`` in the middle of the regular " +"expression has been deprecated and will be removed in a future Python " +"version. Flags at the start of a regular expression are still allowed. " +"(Contributed by Serhiy Storchaka in :issue:`22493`.)" +msgstr "" +"Підтримка вбудованих прапорців ``(?літери)`` в середині регулярного виразу " +"застаріла та буде видалена в майбутній версії Python. Прапорці на початку " +"регулярного виразу все ще дозволені. (Надав Сергій Сторчака в :issue:" +"`22493`.)" + +msgid "" +"OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " +"the future the :mod:`ssl` module will require at least OpenSSL 1.0.2 or " +"1.1.0." +msgstr "" +"OpenSSL 0.9.8, 1.0.0 і 1.0.1 застаріли та більше не підтримуються. У " +"майбутньому модуль :mod:`ssl` вимагатиме принаймні OpenSSL 1.0.2 або 1.1.0." + +msgid "" +"SSL-related arguments like ``certfile``, ``keyfile`` and ``check_hostname`` " +"in :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:`poplib`, and :" +"mod:`smtplib` have been deprecated in favor of ``context``. (Contributed by " +"Christian Heimes in :issue:`28022`.)" +msgstr "" +"Аргументи, пов’язані з SSL, як-от ``certfile``, ``keyfile`` і " +"``check_hostname`` у :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:" +"`poplib` і :mod:`smtplib` застаріли на користь ``context``. (Надав Крістіан " +"Хеймс у :issue:`28022`.)" + +msgid "" +"A couple of protocols and functions of the :mod:`ssl` module are now " +"deprecated. Some features will no longer be available in future versions of " +"OpenSSL. Other features are deprecated in favor of a different API. " +"(Contributed by Christian Heimes in :issue:`28022` and :issue:`26470`.)" +msgstr "" +"Кілька протоколів і функцій модуля :mod:`ssl` тепер застаріли. Деякі функції " +"більше не будуть доступні в майбутніх версіях OpenSSL. Інші функції " +"застаріли на користь іншого API. (Надано Крістіаном Хеймсом у :issue:`28022` " +"та :issue:`26470`.)" + +msgid "" +"The :mod:`tkinter.tix` module is now deprecated. :mod:`tkinter` users " +"should use :mod:`tkinter.ttk` instead." +msgstr "" +"Модуль :mod:`tkinter.tix` тепер не підтримується. Користувачі :mod:`tkinter` " +"повинні замість цього використовувати :mod:`tkinter.ttk`." + +msgid "" +"The ``pyvenv`` script has been deprecated in favour of ``python3 -m venv``. " +"This prevents confusion as to what Python interpreter ``pyvenv`` is " +"connected to and thus what Python interpreter will be used by the virtual " +"environment. (Contributed by Brett Cannon in :issue:`25154`.)" +msgstr "" +"Сценарій ``pyvenv`` застарів на користь ``python3 -m venv``. Це запобігає " +"плутанині щодо того, до якого інтерпретатора Python підключено ``pyvenv`` і, " +"таким чином, який інтерпретатор Python використовуватиме віртуальне " +"середовище. (Надано Бреттом Кенноном у :issue:`25154`.)" + +msgid "Deprecated functions and types of the C API" +msgstr "Застарілі функції та типи C API" + +msgid "" +"Undocumented functions :c:func:`PyUnicode_AsEncodedObject`, :c:func:" +"`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode` and :c:" +"func:`PyUnicode_AsDecodedUnicode` are deprecated now. Use the :ref:`generic " +"codec based API ` instead." +msgstr "" +"Недокументовані функції :c:func:`PyUnicode_AsEncodedObject`, :c:func:" +"`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode` і :c:func:" +"`PyUnicode_AsDecodedUnicode` зараз застаріли. Натомість використовуйте :ref:" +"`загальний API на основі кодека `." + +msgid "Deprecated Build Options" +msgstr "Застарілі параметри збірки" + +msgid "" +"The ``--with-system-ffi`` configure flag is now on by default on non-macOS " +"UNIX platforms. It may be disabled by using ``--without-system-ffi``, but " +"using the flag is deprecated and will not be accepted in Python 3.7. macOS " +"is unaffected by this change. Note that many OS distributors already use " +"the ``--with-system-ffi`` flag when building their system Python." +msgstr "" +"Прапор конфігурації ``--with-system-ffi`` тепер увімкнено за замовчуванням " +"на платформах UNIX, відмінних від macOS. Його можна вимкнути за допомогою " +"``--without-system-ffi``, але використання прапора є застарілим і не буде " +"прийматися в Python 3.7. Ця зміна не впливає на macOS. Зауважте, що багато " +"розповсюджувачів ОС уже використовують прапорець ``--with-system-ffi`` під " +"час створення своєї системи Python." + +msgid "Removed" +msgstr "Видалено" + +msgid "API and Feature Removals" +msgstr "Видалення API та функцій" + +msgid "" +"Unknown escapes consisting of ``'\\'`` and an ASCII letter in regular " +"expressions will now cause an error. In replacement templates for :func:`re." +"sub` they are still allowed, but deprecated. The :const:`re.LOCALE` flag can " +"now only be used with binary patterns." +msgstr "" +"Невідомі вихідні коди, що складаються з ``'\\'`` і літери ASCII у регулярних " +"виразах, тепер спричинятимуть помилку. У шаблонах заміни для :func:`re.sub` " +"вони все ще дозволені, але не рекомендовані. Прапор :const:`re.LOCALE` тепер " +"можна використовувати лише з бінарними шаблонами." + +msgid "" +"``inspect.getmoduleinfo()`` was removed (was deprecated since CPython 3.3). :" +"func:`inspect.getmodulename` should be used for obtaining the module name " +"for a given path. (Contributed by Yury Selivanov in :issue:`13248`.)" +msgstr "" +"``inspect.getmoduleinfo()`` було видалено (було застарілим з CPython 3.3). :" +"func:`inspect.getmodulename` слід використовувати для отримання імені модуля " +"для заданого шляху. (Надав Юрій Селіванов у :issue:`13248`.)" + +msgid "" +"``traceback.Ignore`` class and ``traceback.usage``, ``traceback.modname``, " +"``traceback.fullmodname``, ``traceback.find_lines_from_code``, ``traceback." +"find_lines``, ``traceback.find_strings``, ``traceback." +"find_executable_lines`` methods were removed from the :mod:`traceback` " +"module. They were undocumented methods deprecated since Python 3.2 and " +"equivalent functionality is available from private methods." +msgstr "" +"Клас ``traceback.Ignore`` і ``traceback.usage``, ``traceback.modname``, " +"``traceback.fullmodname``, ``traceback.find_lines_from_code``, ``traceback." +"find_lines``, Методи ``traceback.find_strings``, ``traceback." +"find_executable_lines`` видалено з модуля :mod:`traceback`. Це були " +"недокументовані методи, які застаріли з Python 3.2, і еквівалентна " +"функціональність доступна з приватних методів." + +msgid "" +"The ``tk_menuBar()`` and ``tk_bindForTraversal()`` dummy methods in :mod:" +"`tkinter` widget classes were removed (corresponding Tk commands were " +"obsolete since Tk 4.0)." +msgstr "" +"Фіктивні методи ``tk_menuBar()`` і ``tk_bindForTraversal()`` у класах " +"віджетів :mod:`tkinter` були видалені (відповідні команди Tk застаріли з Tk " +"4.0)." + +msgid "" +"The :meth:`~zipfile.ZipFile.open` method of the :class:`zipfile.ZipFile` " +"class no longer supports the ``'U'`` mode (was deprecated since Python 3.4). " +"Use :class:`io.TextIOWrapper` for reading compressed text files in :term:" +"`universal newlines` mode." +msgstr "" +"Метод :meth:`~zipfile.ZipFile.open` класу :class:`zipfile.ZipFile` більше не " +"підтримує режим ``'U'`` (був застарілим з Python 3.4). Використовуйте :class:" +"`io.TextIOWrapper` для читання стиснених текстових файлів у режимі :term:" +"`universal newlines`." + +msgid "" +"The undocumented ``IN``, ``CDROM``, ``DLFCN``, ``TYPES``, ``CDIO``, and " +"``STROPTS`` modules have been removed. They had been available in the " +"platform specific ``Lib/plat-*/`` directories, but were chronically out of " +"date, inconsistently available across platforms, and unmaintained. The " +"script that created these modules is still available in the source " +"distribution at `Tools/scripts/h2py.py `_." +msgstr "" + +msgid "The deprecated ``asynchat.fifo`` class has been removed." +msgstr "Застарілий клас ``asynchat.fifo`` було видалено." + +msgid "Porting to Python 3.6" +msgstr "Перенесення на Python 3.6" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in 'python' Command Behavior" +msgstr "Зміни в поведінці команд \"python\"." + +msgid "" +"The output of a special Python build with defined ``COUNT_ALLOCS``, " +"``SHOW_ALLOC_COUNT`` or ``SHOW_TRACK_COUNT`` macros is now off by default. " +"It can be re-enabled using the ``-X showalloccount`` option. It now outputs " +"to ``stderr`` instead of ``stdout``. (Contributed by Serhiy Storchaka in :" +"issue:`23034`.)" +msgstr "" +"Вихід спеціальної збірки Python із визначеними макросами ``COUNT_ALLOCS``, " +"``SHOW_ALLOC_COUNT`` або ``SHOW_TRACK_COUNT`` тепер вимкнено за " +"замовчуванням. Його можна повторно ввімкнути за допомогою параметра ``-X " +"showalloccount``. Тепер він виводить на ``stderr`` замість ``stdout``. " +"(Надав Сергій Сторчака в :issue:`23034`.)" + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +":func:`open() ` will no longer allow combining the ``'U'`` mode flag " +"with ``'+'``. (Contributed by Jeff Balogh and John O'Connor in :issue:" +"`2091`.)" +msgstr "" +":func:`open() ` більше не дозволить комбінувати прапор режиму ``'U'`` " +"з ``'+'``. (Надано Джеффом Балогом і Джоном О'Коннором у :issue:`2091`.)" + +msgid "" +":mod:`sqlite3` no longer implicitly commits an open transaction before DDL " +"statements." +msgstr "" +":mod:`sqlite3` більше не явно фіксує відкриту транзакцію перед операторами " +"DDL." + +msgid "" +"On Linux, :func:`os.urandom` now blocks until the system urandom entropy " +"pool is initialized to increase the security." +msgstr "" +"У Linux :func:`os.urandom` тепер блокується, доки системний пул ентропії не " +"буде ініціалізовано для підвищення безпеки." + +msgid "" +"When :meth:`importlib.abc.Loader.exec_module` is defined, :meth:`importlib." +"abc.Loader.create_module` must also be defined." +msgstr "" +"Коли визначено :meth:`importlib.abc.Loader.exec_module`, :meth:`importlib." +"abc.Loader.create_module` також має бути визначено." + +msgid "" +":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " +"argument is not set. Previously only ``NULL`` was returned." +msgstr "" +":c:func:`PyErr_SetImportError` тепер встановлює :exc:`TypeError`, коли його " +"аргумент **msg** не встановлено. Раніше повертався лише ``NULL``." + +msgid "" +"The format of the ``co_lnotab`` attribute of code objects changed to support " +"a negative line number delta. By default, Python does not emit bytecode with " +"a negative line number delta. Functions using ``frame.f_lineno``, " +"``PyFrame_GetLineNumber()`` or ``PyCode_Addr2Line()`` are not affected. " +"Functions directly decoding ``co_lnotab`` should be updated to use a signed " +"8-bit integer type for the line number delta, but this is only required to " +"support applications using a negative line number delta. See ``Objects/" +"lnotab_notes.txt`` for the ``co_lnotab`` format and how to decode it, and " +"see the :pep:`511` for the rationale." +msgstr "" +"Формат атрибута ``co_lnotab`` об’єктів коду змінено для підтримки від’ємної " +"дельти номера рядка. За замовчуванням Python не видає байт-код із від’ємним " +"номером рядка дельта. Функції, що використовують ``frame.f_lineno``, " +"``PyFrame_GetLineNumber()`` або ``PyCode_Addr2Line()`` не впливають. " +"Функції, які безпосередньо декодують ``co_lnotab``, слід оновити для " +"використання 8-бітного цілого типу зі знаком для дельти номера рядка, але це " +"потрібно лише для підтримки програм, які використовують дельту від’ємного " +"номера рядка. Дивіться ``Objects/lnotab_notes.txt``, щоб дізнатися про " +"формат ``co_lnotab`` і як його декодувати, і перегляньте :pep:`511` для " +"обґрунтування." + +msgid "" +"The functions in the :mod:`compileall` module now return booleans instead of " +"``1`` or ``0`` to represent success or failure, respectively. Thanks to " +"booleans being a subclass of integers, this should only be an issue if you " +"were doing identity checks for ``1`` or ``0``. See :issue:`25768`." +msgstr "" +"Функції в модулі :mod:`compileall` тепер повертають логічні значення замість " +"``1`` або ``0``, щоб показати успіх або невдачу, відповідно. Завдяки тому, " +"що булеві значення є підкласом цілих чисел, це має бути проблемою, лише якщо " +"ви проводили перевірку ідентичності для ``1`` або ``0``. Див. :issue:`25768`." + +msgid "" +"Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" +"`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " +"raises :exc:`ValueError` for out-of-range values, rather than returning :" +"const:`None`. See :issue:`20059`." +msgstr "" +"Читання атрибута :attr:`~urllib.parse.SplitResult.port` результатів :func:" +"`urllib.parse.urlsplit` і :func:`~urllib.parse.urlparse` тепер викликає :exc:" +"`ValueError` для виходу -of-range значення замість повернення :const:`None`. " +"Див. :issue:`20059`." + +msgid "" +"The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead of :exc:" +"`PendingDeprecationWarning`." +msgstr "" +"Модуль :mod:`imp` тепер викликає :exc:`DeprecationWarning` замість :exc:" +"`PendingDeprecationWarning`." + +msgid "" +"The following modules have had missing APIs added to their :attr:`__all__` " +"attributes to match the documented APIs: :mod:`calendar`, :mod:`cgi`, :mod:" +"`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:`fileinput`, :mod:" +"`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:`mimetypes`, :mod:" +"`optparse`, :mod:`plistlib`, :mod:`smtpd`, :mod:`subprocess`, :mod:" +"`tarfile`, :mod:`threading` and :mod:`wave`. This means they will export " +"new symbols when ``import *`` is used. (Contributed by Joel Taddei and Jacek " +"Kołodziej in :issue:`23883`.)" +msgstr "" +"Наступні модулі мали відсутні API, додані до їхніх атрибутів :attr:" +"`__all__`, щоб відповідати задокументованим API: :mod:`calendar`, :mod:" +"`cgi`, :mod:`csv`, :mod:`~xml .etree.ElementTree`, :mod:`enum`, :mod:" +"`fileinput`, :mod:`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:" +"`mimetypes`, :mod:`optparse`, :mod:`plistlib`, :mod:`smtpd`, :mod:" +"`subprocess`, :mod:`tarfile`, :mod:`threading` і :mod:`wave`. Це означає, що " +"вони експортуватимуть нові символи, коли використовується ``import *``. " +"(Надано Joel Taddei та Jacek Kołodziej у :issue:`23883`.)" + +msgid "" +"When performing a relative import, if ``__package__`` does not compare equal " +"to ``__spec__.parent`` then :exc:`ImportWarning` is raised. (Contributed by " +"Brett Cannon in :issue:`25791`.)" +msgstr "" +"Під час виконання відносного імпорту, якщо ``__package__`` не порівнюється з " +"``__spec__.parent``, тоді виникає :exc:`ImportWarning`. (Надано Бреттом " +"Кенноном у :issue:`25791`.)" + +msgid "" +"When a relative import is performed and no parent package is known, then :" +"exc:`ImportError` will be raised. Previously, :exc:`SystemError` could be " +"raised. (Contributed by Brett Cannon in :issue:`18018`.)" +msgstr "" +"Коли виконується відносний імпорт і батьківський пакет не відомий, буде " +"викликано :exc:`ImportError`. Раніше могла виникати :exc:`SystemError`. " +"(Надав Бретт Кеннон у :issue:`18018`.)" + +msgid "" +"Servers based on the :mod:`socketserver` module, including those defined in :" +"mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " +"now only catch exceptions derived from :exc:`Exception`. Therefore if a " +"request handler raises an exception like :exc:`SystemExit` or :exc:" +"`KeyboardInterrupt`, :meth:`~socketserver.BaseServer.handle_error` is no " +"longer called, and the exception will stop a single-threaded server. " +"(Contributed by Martin Panter in :issue:`23430`.)" +msgstr "" +"Сервери на основі модуля :mod:`socketserver`, включно з тими, що визначені " +"в :mod:`http.server`, :mod:`xmlrpc.server` і :mod:`wsgiref.simple_server`, " +"тепер перехоплюють лише винятки, отримані від :exc:`Exception`. Тому, якщо " +"обробник запитів викликає виняток, наприклад :exc:`SystemExit` або :exc:" +"`KeyboardInterrupt`, :meth:`~socketserver.BaseServer.handle_error` більше не " +"викликається, і виняток зупинить однопотоковий сервер. (Надав Мартін Пантер " +"у :issue:`23430`.)" + +msgid "" +":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" +"`KeyError` if the user doesn't have privileges." +msgstr "" +":func:`spwd.getspnam` тепер викликає :exc:`PermissionError` замість :exc:" +"`KeyError`, якщо користувач не має привілеїв." + +msgid "" +"The :meth:`socket.socket.close` method now raises an exception if an error " +"(e.g. ``EBADF``) was reported by the underlying system call. (Contributed by " +"Martin Panter in :issue:`26685`.)" +msgstr "" +"Метод :meth:`socket.socket.close` тепер викликає виняток, якщо базовий " +"системний виклик повідомляє про помилку (наприклад, ``EBADF``). (Надав " +"Мартін Пантер у :issue:`26685`.)" + +msgid "" +"The *decode_data* argument for the :class:`smtpd.SMTPChannel` and :class:" +"`smtpd.SMTPServer` constructors is now ``False`` by default. This means that " +"the argument passed to :meth:`~smtpd.SMTPServer.process_message` is now a " +"bytes object by default, and ``process_message()`` will be passed keyword " +"arguments. Code that has already been updated in accordance with the " +"deprecation warning generated by 3.5 will not be affected." +msgstr "" +"Аргумент *decode_data* для конструкторів :class:`smtpd.SMTPChannel` і :class:" +"`smtpd.SMTPServer` тепер за умовчанням має значення ``False``. Це означає, " +"що аргумент, переданий :meth:`~smtpd.SMTPServer.process_message`, тепер є " +"об’єктом bytes за замовчуванням, а ``process_message()`` буде передано " +"ключові аргументи. Код, який уже оновлено відповідно до попередження про " +"припинення підтримки, створеного версією 3.5, не вплине." + +msgid "" +"All optional arguments of the :func:`~json.dump`, :func:`~json.dumps`, :func:" +"`~json.load` and :func:`~json.loads` functions and :class:`~json." +"JSONEncoder` and :class:`~json.JSONDecoder` class constructors in the :mod:" +"`json` module are now :ref:`keyword-only `. " +"(Contributed by Serhiy Storchaka in :issue:`18726`.)" +msgstr "" +"Усі додаткові аргументи функцій :func:`~json.dump`, :func:`~json.dumps`, :" +"func:`~json.load` і :func:`~json.loads` і :class:`Конструктори класів ~json." +"JSONEncoder` і :class:`~json.JSONDecoder` у модулі :mod:`json` тепер є :ref:" +"`лише ключовими словами `. (Надав Сергій Сторчака в :" +"issue:`18726`.)" + +msgid "" +"Subclasses of :class:`type` which don't override ``type.__new__`` may no " +"longer use the one-argument form to get the type of an object." +msgstr "" +"Підкласи :class:`type`, які не перевизначають ``type.__new__``, більше не " +"можуть використовувати форму з одним аргументом для отримання типу об’єкта." + +msgid "" +"As part of :pep:`487`, the handling of keyword arguments passed to :class:" +"`type` (other than the metaclass hint, ``metaclass``) is now consistently " +"delegated to :meth:`object.__init_subclass__`. This means that :meth:`type." +"__new__` and :meth:`type.__init__` both now accept arbitrary keyword " +"arguments, but :meth:`object.__init_subclass__` (which is called from :meth:" +"`type.__new__`) will reject them by default. Custom metaclasses accepting " +"additional keyword arguments will need to adjust their calls to :meth:`type." +"__new__` (whether direct or via :class:`super`) accordingly." +msgstr "" +"Як частина :pep:`487`, обробка ключових аргументів, переданих у :class:" +"`type` (окрім підказки метакласу, ``metaclass``), тепер узгоджено " +"делегована :meth:`object.__init_subclass__`. Це означає, що :meth:`type." +"__new__` і :meth:`type.__init__` тепер приймають довільні ключові аргументи, " +"але :meth:`object.__init_subclass__` (який викликається з :meth:`type." +"__new__`) відхилить їх за замовчуванням. Користувальницькі метакласи, які " +"приймають додаткові ключові аргументи, повинні будуть відповідним чином " +"налаштувати свої виклики :meth:`type.__new__` (прямі чи через :class:" +"`super`)." + +msgid "" +"In :class:`distutils.command.sdist.sdist`, the ``default_format`` attribute " +"has been removed and is no longer honored. Instead, the gzipped tarfile " +"format is the default on all platforms and no platform-specific selection is " +"made. In environments where distributions are built on Windows and zip " +"distributions are required, configure the project with a ``setup.cfg`` file " +"containing the following:" +msgstr "" +"У :class:`distutils.command.sdist.sdist` атрибут ``default_format`` видалено " +"та більше не виконується. Натомість формат tar-файлу gzip є типовим для всіх " +"платформ, і вибір для конкретної платформи не робиться. У середовищах, де " +"дистрибутиви побудовані на Windows і потрібні дистрибутиви zip, налаштуйте " +"проект за допомогою файлу ``setup.cfg``, який містить наступне:" + +msgid "" +"This behavior has also been backported to earlier Python versions by " +"Setuptools 26.0.0." +msgstr "" +"Ця поведінка також була перенесена до попередніх версій Python за допомогою " +"Setuptools 26.0.0." + +msgid "" +"In the :mod:`urllib.request` module and the :meth:`http.client." +"HTTPConnection.request` method, if no Content-Length header field has been " +"specified and the request body is a file object, it is now sent with HTTP " +"1.1 chunked encoding. If a file object has to be sent to a HTTP 1.0 server, " +"the Content-Length value now has to be specified by the caller. (Contributed " +"by Demian Brecht and Rolf Krahl with tweaks from Martin Panter in :issue:" +"`12319`.)" +msgstr "" +"У модулі :mod:`urllib.request` і методі :meth:`http.client.HTTPConnection." +"request`, якщо поле заголовка Content-Length не вказано, а тіло запиту є " +"об’єктом файлу, він тепер надсилається із фрагментованим кодуванням HTTP " +"1.1. Якщо файловий об’єкт потрібно надіслати на сервер HTTP 1.0, значення " +"Content-Length тепер має вказати абонент. (Надано Деміаном Брехтом і Рольфом " +"Кралем із налаштуваннями Мартіна Пантера в :issue:`12319`.)" + +msgid "" +"The :class:`~csv.DictReader` now returns rows of type :class:`~collections." +"OrderedDict`. (Contributed by Steve Holden in :issue:`27842`.)" +msgstr "" +":class:`~csv.DictReader` тепер повертає рядки типу :class:`~collections." +"OrderedDict`. (Надав Стів Холден у :issue:`27842`.)" + +msgid "" +"The :const:`crypt.METHOD_CRYPT` will no longer be added to ``crypt.methods`` " +"if unsupported by the platform. (Contributed by Victor Stinner in :issue:" +"`25287`.)" +msgstr "" +":const:`crypt.METHOD_CRYPT` більше не додаватиметься до ``crypt.methods``, " +"якщо він не підтримується платформою. (Надав Віктор Стіннер у :issue:" +"`25287`.)" + +msgid "" +"On Linux, :func:`ctypes.util.find_library` now looks in ``LD_LIBRARY_PATH`` " +"for shared libraries. (Contributed by Vinay Sajip in :issue:`9998`.)" +msgstr "" +"У Linux :func:`ctypes.util.find_library` тепер шукає спільні бібліотеки в " +"``LD_LIBRARY_PATH``. (Надав Віней Саджип у :issue:`9998`.)" + +msgid "" +"The :class:`imaplib.IMAP4` class now handles flags containing the ``']'`` " +"character in messages sent from the server to improve real-world " +"compatibility. (Contributed by Lita Cho in :issue:`21815`.)" +msgstr "" +"Клас :class:`imaplib.IMAP4` тепер обробляє прапори, що містять символ " +"``']''`` у повідомленнях, надісланих із сервера, для покращення сумісності в " +"реальному світі. (Надано Літою Чо в :issue:`21815`.)" + +msgid "" +"The :func:`mmap.write() ` function now returns the number of " +"bytes written like other write methods. (Contributed by Jakub Stasiak in :" +"issue:`26335`.)" +msgstr "" +"Функція :func:`mmap.write() ` тепер повертає кількість записаних " +"байтів, як і інші методи запису. (Надав Якуб Стасяк у :issue:`26335`.)" + +msgid "" +"The :func:`pkgutil.iter_modules` and :func:`pkgutil.walk_packages` functions " +"now return :class:`~pkgutil.ModuleInfo` named tuples. (Contributed by " +"Ramchandra Apte in :issue:`17211`.)" +msgstr "" +"Функції :func:`pkgutil.iter_modules` і :func:`pkgutil.walk_packages` тепер " +"повертають іменовані кортежі :class:`~pkgutil.ModuleInfo`. (Надав Рамчандра " +"Апте в :issue:`17211`.)" + +msgid "" +":func:`re.sub` now raises an error for invalid numerical group references in " +"replacement templates even if the pattern is not found in the string. The " +"error message for invalid group references now includes the group index and " +"the position of the reference. (Contributed by SilentGhost, Serhiy Storchaka " +"in :issue:`25953`.)" +msgstr "" +":func:`re.sub` тепер викликає помилку для недійсних посилань на числові " +"групи в шаблонах заміни, навіть якщо шаблон не знайдено в рядку. " +"Повідомлення про помилку для недійсних посилань на групи тепер містить " +"індекс групи та позицію посилання. (Надано SilentGhost, Сергій Сторчака в :" +"issue:`25953`.)" + +msgid "" +":class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for " +"unrecognized compression values. Previously a plain :exc:`RuntimeError` was " +"raised. Additionally, calling :class:`~zipfile.ZipFile` methods on a closed " +"ZipFile or calling the :meth:`~zipfile.ZipFile.write` method on a ZipFile " +"created with mode ``'r'`` will raise a :exc:`ValueError`. Previously, a :exc:" +"`RuntimeError` was raised in those scenarios." +msgstr "" +":class:`zipfile.ZipFile` тепер викличе :exc:`NotImplementedError` для " +"нерозпізнаних значень стиснення. Раніше було викликано звичайну помилку :exc:" +"`RuntimeError`. Крім того, виклик методів :class:`~zipfile.ZipFile` для " +"закритого ZipFile або виклик методу :meth:`~zipfile.ZipFile.write` для " +"ZipFile, створеного в режимі ``'r'``, викличе :exc:`ValueError`. Раніше в " +"цих сценаріях виникала помилка :exc:`RuntimeError`." + +msgid "" +"when custom metaclasses are combined with zero-argument :func:`super` or " +"direct references from methods to the implicit ``__class__`` closure " +"variable, the implicit ``__classcell__`` namespace entry must now be passed " +"up to ``type.__new__`` for initialisation. Failing to do so will result in " +"a :exc:`DeprecationWarning` in Python 3.6 and a :exc:`RuntimeError` in " +"Python 3.8." +msgstr "" +"коли власні метакласи поєднуються з нульовим аргументом :func:`super` або " +"прямими посиланнями методів на неявну змінну закриття ``__class__``, неявний " +"запис простору імен ``__classcell__`` тепер має передаватися до ``type. " +"__new__`` для ініціалізації. Якщо цього не зробити, з’явиться :exc:" +"`DeprecationWarning` у Python 3.6 і :exc:`RuntimeError` у Python 3.8." + +msgid "" +"With the introduction of :exc:`ModuleNotFoundError`, import system consumers " +"may start expecting import system replacements to raise that more specific " +"exception when appropriate, rather than the less-specific :exc:" +"`ImportError`. To provide future compatibility with such consumers, " +"implementors of alternative import systems that completely replace :func:" +"`__import__` will need to update their implementations to raise the new " +"subclass when a module can't be found at all. Implementors of compliant " +"plugins to the default import system shouldn't need to make any changes, as " +"the default import system will raise the new subclass when appropriate." +msgstr "" +"З появою :exc:`ModuleNotFoundError` споживачі системи імпорту можуть почати " +"очікувати, що заміни системи імпорту викликатимуть цей більш специфічний " +"виняток, коли це доречно, а не менш специфічну :exc:`ImportError`. Щоб " +"забезпечити майбутню сумісність із такими споживачами, розробникам " +"альтернативних систем імпорту, які повністю замінюють :func:`__import__`, " +"потрібно буде оновити свої реалізації, щоб підняти новий підклас, коли " +"модуль взагалі неможливо знайти. Розробникам сумісних плагінів до системи " +"імпорту за замовчуванням не потрібно вносити жодних змін, оскільки система " +"імпорту за замовчуванням підніме новий підклас, коли це необхідно." + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +"The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " +"allocator ` rather than the system :c:func:`malloc`. Applications " +"calling :c:func:`PyMem_Malloc` without holding the GIL can now crash. Set " +"the :envvar:`PYTHONMALLOC` environment variable to ``debug`` to validate the " +"usage of memory allocators in your application. See :issue:`26249`." +msgstr "" +"Сімейство розподілювачів :c:func:`PyMem_Malloc` тепер використовує :ref:" +"`розподілювач pymalloc ` замість системного :c:func:`malloc`. " +"Програми, які викликають :c:func:`PyMem_Malloc` без утримання GIL, тепер " +"можуть аварійно завершувати роботу. Встановіть для змінної середовища :" +"envvar:`PYTHONMALLOC` значення ``debug``, щоб перевірити використання " +"розподільників пам’яті у вашій програмі. Див. :issue:`26249`." + +msgid "" +":c:func:`Py_Exit` (and the main interpreter) now override the exit status " +"with 120 if flushing buffered data failed. See :issue:`5319`." +msgstr "" +":c:func:`Py_Exit` (і основний інтерпретатор) тепер замінюють статус виходу " +"на 120, якщо очищення буферизованих даних не вдається. Див. :issue:`5319`." + +msgid "CPython bytecode changes" +msgstr "Зміни байт-коду CPython" + +msgid "" +"There have been several major changes to the :term:`bytecode` in Python 3.6." +msgstr "У Python 3.6 було внесено кілька значних змін у :term:`bytecode`." + +msgid "" +"The Python interpreter now uses a 16-bit wordcode instead of bytecode. " +"(Contributed by Demur Rumed with input and reviews from Serhiy Storchaka and " +"Victor Stinner in :issue:`26647` and :issue:`28050`.)" +msgstr "" +"Інтерпретатор Python тепер використовує 16-бітний словесний код замість байт-" +"коду. (Надано Демуром Румедом із коментарями та рецензіями Сергія Сторчака " +"та Віктора Стіннера в :issue:`26647` та :issue:`28050`.)" + +msgid "" +"The new :opcode:`FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part of " +"the :ref:`formatted string literal ` implementation. " +"(Contributed by Eric Smith in :issue:`25483` and Serhiy Storchaka in :issue:" +"`27078`.)" +msgstr "" +"Нові коди операцій :opcode:`FORMAT_VALUE` і :opcode:`BUILD_STRING` як " +"частина реалізації літералу :ref:`форматованого рядка `. " +"(Надано Еріком Смітом у :issue:`25483` та Сергієм Сторчакою у :issue:" +"`27078`.)" + +msgid "" +"The new :opcode:`BUILD_CONST_KEY_MAP` opcode to optimize the creation of " +"dictionaries with constant keys. (Contributed by Serhiy Storchaka in :issue:" +"`27140`.)" +msgstr "" +"Новий код операції :opcode:`BUILD_CONST_KEY_MAP` для оптимізації створення " +"словників із постійними ключами. (Надав Сергій Сторчака в :issue:`27140`.)" + +msgid "" +"The function call opcodes have been heavily reworked for better performance " +"and simpler implementation. The :opcode:`MAKE_FUNCTION`, :opcode:" +"`CALL_FUNCTION`, :opcode:`CALL_FUNCTION_KW` and :opcode:" +"`BUILD_MAP_UNPACK_WITH_CALL` opcodes have been modified, the new :opcode:" +"`CALL_FUNCTION_EX` and :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` have been " +"added, and ``CALL_FUNCTION_VAR``, ``CALL_FUNCTION_VAR_KW`` and " +"``MAKE_CLOSURE`` opcodes have been removed. (Contributed by Demur Rumed in :" +"issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" +msgstr "" +"Коди операцій виклику функцій були значно перероблені для кращої " +"продуктивності та простішої реалізації. Коди операцій :opcode:" +"`MAKE_FUNCTION`, :opcode:`CALL_FUNCTION`, :opcode:`CALL_FUNCTION_KW` і :" +"opcode:`BUILD_MAP_UNPACK_WITH_CALL` змінено, нові :opcode:`CALL_FUNCTION_EX` " +"і :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` додано, а коди операцій " +"``CALL_FUNCTION_VAR``, ``CALL_FUNCTION_VAR_KW`` і ``MAKE_CLOSURE`` видалено. " +"(Надано Демуром Румедом у :issue:`27095` та Сергієм Сторчакою у :issue:" +"`27213`, :issue:`28257`.)" + +msgid "" +"The new :opcode:`SETUP_ANNOTATIONS` and :opcode:`STORE_ANNOTATION` opcodes " +"have been added to support the new :term:`variable annotation` syntax. " +"(Contributed by Ivan Levkivskyi in :issue:`27985`.)" +msgstr "" +"Нові коди операцій :opcode:`SETUP_ANNOTATIONS` і :opcode:`STORE_ANNOTATION` " +"додано для підтримки нового синтаксису :term:`variable annotation`. (Надав " +"Іван Левківський у :issue:`27985`.)" + +msgid "Notable changes in Python 3.6.2" +msgstr "Помітні зміни в Python 3.6.2" + +msgid "New ``make regen-all`` build target" +msgstr "Нова ціль збірки ``make regen-all``" + +msgid "" +"To simplify cross-compilation, and to ensure that CPython can reliably be " +"compiled without requiring an existing version of Python to already be " +"available, the autotools-based build system no longer attempts to implicitly " +"recompile generated files based on file modification times." +msgstr "" +"Щоб спростити крос-компіляцію та гарантувати, що CPython можна надійно " +"скомпілювати без наявності наявної версії Python, система збирання на основі " +"autotools більше не намагається неявно перекомпілювати згенеровані файли на " +"основі часу модифікації файлу." + +msgid "" +"Instead, a new ``make regen-all`` command has been added to force " +"regeneration of these files when desired (e.g. after an initial version of " +"Python has already been built based on the pregenerated versions)." +msgstr "" +"Натомість додано нову команду ``make regen-all``, щоб примусово повторно " +"генерувати ці файли за бажанням (наприклад, після того, як початкова версія " +"Python вже була створена на основі попередньо згенерованих версій)." + +msgid "" +"More selective regeneration targets are also defined - see :source:`Makefile." +"pre.in` for details." +msgstr "" +"Також визначено більш вибіркові цілі регенерації - подробиці див. :source:" +"`Makefile.pre.in`." + +msgid "(Contributed by Victor Stinner in :issue:`23404`.)" +msgstr "(Надав Віктор Стіннер у :issue:`23404`.)" + +msgid "Removal of ``make touch`` build target" +msgstr "Видалення цілі збірки ``make touch``" + +msgid "" +"The ``make touch`` build target previously used to request implicit " +"regeneration of generated files by updating their modification times has " +"been removed." +msgstr "" +"Ціль збірки ``make touch``, яка раніше використовувалася для запиту неявної " +"регенерації згенерованих файлів шляхом оновлення часу їх модифікації, " +"видалено." + +msgid "It has been replaced by the new ``make regen-all`` target." +msgstr "Його було замінено новою метою ``make regen-all``." + +msgid "Notable changes in Python 3.6.4" +msgstr "Помітні зміни в Python 3.6.4" + +msgid "" +"The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " +"has been removed as its members being never cleared may cause a segfault " +"during finalization of the interpreter. (Contributed by Xavier de Gaye in :" +"issue:`22898` and :issue:`30697`.)" +msgstr "" +"Синглтон ``PyExc_RecursionErrorInst``, який був частиною загальнодоступного " +"API, було видалено, оскільки його члени, які ніколи не очищалися, можуть " +"спричинити помилку сегмента під час фіналізації інтерпретатора. (Надав " +"Ксав’є де Гає в :issue:`22898` і :issue:`30697`.)" + +msgid "Notable changes in Python 3.6.5" +msgstr "Помітні зміни в Python 3.6.5" + +msgid "" +"The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` " +"locale to the ``LC_NUMERIC`` locale in some cases. (Contributed by Victor " +"Stinner in :issue:`31900`.)" +msgstr "" +"У деяких випадках функція :func:`locale.localeconv` тепер тимчасово " +"встановлює локаль ``LC_CTYPE`` на ``LC_NUMERIC``. (Надав Віктор Стіннер у :" +"issue:`31900`.)" + +msgid "Notable changes in Python 3.6.7" +msgstr "Помітні зміни в Python 3.6.7" + +msgid "" +"In 3.6.7 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token " +"when provided with input that does not have a trailing new line. This " +"behavior now matches what the C tokenizer does internally. (Contributed by " +"Ammar Askar in :issue:`33899`.)" +msgstr "" +"У версії 3.6.7 модуль :mod:`tokenize` тепер неявно видає маркер ``NEWLINE``, " +"коли надходить із введенням, яке не має кінцевого нового рядка. Ця поведінка " +"тепер відповідає внутрішньому виконанню токенізера C. (Надав Аммар Аскар у :" +"issue:`33899`.)" + +msgid "Notable changes in Python 3.6.10" +msgstr "Помітні зміни в Python 3.6.10" + +msgid "" +"Due to significant security concerns, the *reuse_address* parameter of :meth:" +"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " +"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " +"more details, see the documentation for ``loop.create_datagram_endpoint()``. " +"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" +"`37228`.)" +msgstr "" +"Через серйозні проблеми безпеки параметр *reuse_address* :meth:`asyncio.loop." +"create_datagram_endpoint` більше не підтримується. Це через поведінку опції " +"сокета ``SO_REUSEADDR`` в UDP. Для отримання додаткової інформації див. " +"документацію для ``loop.create_datagram_endpoint()``. (Надано Кайлом Стенлі, " +"Антуаном Пітру та Юрієм Селівановим у :issue:`37228`.)" + +msgid "Notable changes in Python 3.6.13" +msgstr "Помітні зміни в Python 3.6.13" + +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" +"Попередні версії Python дозволяли використовувати як ``;``, так і ``&`` як " +"роздільники параметрів запиту в :func:`urllib.parse.parse_qs` і :func:" +"`urllib.parse.parse_qsl`. З міркувань безпеки та для відповідності новим " +"рекомендаціям W3C це було змінено, щоб дозволити лише один роздільний ключ " +"із ``&`` за замовчуванням. Ця зміна також впливає на :func:`cgi.parse` і :" +"func:`cgi.parse_multipart`, оскільки вони використовують уражені функції " +"внутрішньо. Щоб дізнатися більше, перегляньте відповідну документацію. " +"(Надано Адамом Ґолдшмідтом, Сентилом Кумараном і Кеном Джином у :issue:" +"`42967`.)" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po new file mode 100644 index 000000000..b35aaccb8 --- /dev/null +++ b/whatsnew/3.7.po @@ -0,0 +1,4390 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.7" +msgstr "Що нового в Python 3.7" + +msgid "Editor" +msgstr "редактор" + +msgid "Elvis Pranskevichus " +msgstr "Elvis Pranskevichus " + +msgid "" +"This article explains the new features in Python 3.7, compared to 3.6. " +"Python 3.7 was released on June 27, 2018. For full details, see the :ref:" +"`changelog `." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.7 порівняно з 3.6. Python " +"3.7 було випущено 27 червня 2018 року. Щоб отримати повну інформацію, " +"перегляньте :ref:`журнал змін `." + +msgid "Summary -- Release Highlights" +msgstr "Підсумок -- Основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid "" +":ref:`PEP 563 `, postponed evaluation of type annotations." +msgstr ":ref:`PEP 563 `, відкладена оцінка анотацій типу." + +msgid "Backwards incompatible syntax changes:" +msgstr "Зворотно несумісні зміни синтаксису:" + +msgid ":keyword:`async` and :keyword:`await` are now reserved keywords." +msgstr "" +":keyword:`async` і :keyword:`await` тепер є зарезервованими ключовими " +"словами." + +msgid "New library modules:" +msgstr "Нові бібліотечні модулі:" + +msgid "" +":mod:`contextvars`: :ref:`PEP 567 -- Context Variables `" +msgstr "" +":mod:`contextvars`: :ref:`PEP 567 -- Змінні контексту `" + +msgid ":mod:`dataclasses`: :ref:`PEP 557 -- Data Classes `" +msgstr ":mod:`dataclasses`: :ref:`PEP 557 -- Класи даних `" + +msgid ":ref:`whatsnew37_importlib_resources`" +msgstr ":ref:`whatsnew37_importlib_resources`" + +msgid "New built-in features:" +msgstr "Нові вбудовані функції:" + +msgid "" +":ref:`PEP 553 `, the new :func:`breakpoint` function." +msgstr ":ref:`PEP 553 `, нова функція :func:`breakpoint`." + +msgid "Python data model improvements:" +msgstr "Покращення моделі даних Python:" + +msgid "" +":ref:`PEP 562 `, customization of access to module " +"attributes." +msgstr "" +":ref:`PEP 562 `, налаштування доступу до атрибутів модуля." + +msgid "" +":ref:`PEP 560 `, core support for typing module and " +"generic types." +msgstr "" +":ref:`PEP 560 `, основна підтримка модуля введення тексту " +"та загальних типів." + +msgid "" +"the insertion-order preservation nature of :ref:`dict ` " +"objects `has been declared`_ to be an official part of the Python language " +"spec." +msgstr "" +"природа збереження порядку вставки :ref:`dict ` об’єктів була " +"оголошена (`has been declared`_) офіційною частиною специфікації мови Python." + +msgid "Significant improvements in the standard library:" +msgstr "Значні вдосконалення стандартної бібліотеки:" + +msgid "" +"The :mod:`asyncio` module has received new features, significant :ref:" +"`usability and performance improvements `." +msgstr "" +"Модуль :mod:`asyncio` отримав нові функції, значні :ref:`зручність " +"використання та покращення продуктивності `." + +msgid "" +"The :mod:`time` module gained support for :ref:`functions with nanosecond " +"resolution `." +msgstr "" +"Модуль :mod:`time` отримав підтримку :ref:`функцій з наносекундною " +"роздільною здатністю `." + +msgid "CPython implementation improvements:" +msgstr "Покращення реалізації CPython:" + +msgid "Avoiding the use of ASCII as a default text encoding:" +msgstr "Уникнення використання ASCII як стандартного кодування тексту:" + +msgid ":ref:`PEP 538 `, legacy C locale coercion" +msgstr ":ref:`PEP 538 `, застаріла локалізація C" + +msgid ":ref:`PEP 540 `, forced UTF-8 runtime mode" +msgstr ":ref:`PEP 540 `, примусовий режим виконання UTF-8" + +msgid ":ref:`PEP 552 `, deterministic .pycs" +msgstr ":ref:`PEP 552 `, детермінований .pycs" + +msgid ":ref:`New Python Development Mode `" +msgstr ":ref:`Новий режим розробки Python `" + +msgid "" +":ref:`PEP 565 `, improved :exc:`DeprecationWarning` " +"handling" +msgstr "" +":ref:`PEP 565 `, покращено обробку :exc:" +"`DeprecationWarning`" + +msgid "C API improvements:" +msgstr "Покращення C API:" + +msgid ":ref:`PEP 539 `, new C API for thread-local storage" +msgstr "" +":ref:`PEP 539 `, новий C API для потокового локального " +"зберігання" + +msgid "Documentation improvements:" +msgstr "Покращення документації:" + +msgid ":ref:`PEP 545 `, Python documentation translations" +msgstr ":ref:`PEP 545 `, переклади документації Python" + +msgid "" +"New documentation translations: `Japanese `_, " +"`French `_, and `Korean `_." +msgstr "" +"Нові переклади документації: `Японський `_, " +"`Французький `_, `Корейський `_." + +msgid "" +"This release features notable performance improvements in many areas. The :" +"ref:`whatsnew37-perf` section lists them in detail." +msgstr "" +"Цей випуск містить помітні покращення продуктивності в багатьох сферах. " +"Розділ :ref:`whatsnew37-perf` містить їх детальний перелік." + +msgid "" +"For a list of changes that may affect compatibility with previous Python " +"releases please refer to the :ref:`porting-to-python-37` section." +msgstr "" +"Перелік змін, які можуть вплинути на сумісність із попередніми випусками " +"Python, див. у розділі :ref:`porting-to-python-37`." + +msgid "New Features" +msgstr "Нові можливості" + +msgid "PEP 563: Postponed Evaluation of Annotations" +msgstr "PEP 563: Відкладена оцінка анотацій" + +msgid "" +"The advent of type hints in Python uncovered two glaring usability issues " +"with the functionality of annotations added in :pep:`3107` and refined " +"further in :pep:`526`:" +msgstr "" +"Поява підказок типу в Python виявила дві кричущі проблеми зручності " +"використання функціональних можливостей анотацій, доданих у :pep:`3107` і " +"вдосконалених у :pep:`526`:" + +msgid "" +"annotations could only use names which were already available in the current " +"scope, in other words they didn't support forward references of any kind; and" +msgstr "" +"анотації могли використовувати лише імена, які вже були доступні в поточному " +"діапазоні, іншими словами, вони не підтримували жодних прямих посилань; і" + +msgid "" +"annotating source code had adverse effects on startup time of Python " +"programs." +msgstr "" +"анотування вихідного коду мало негативний вплив на час запуску програм " +"Python." + +msgid "" +"Both of these issues are fixed by postponing the evaluation of annotations. " +"Instead of compiling code which executes expressions in annotations at their " +"definition time, the compiler stores the annotation in a string form " +"equivalent to the AST of the expression in question. If needed, annotations " +"can be resolved at runtime using :func:`typing.get_type_hints`. In the " +"common case where this is not required, the annotations are cheaper to store " +"(since short strings are interned by the interpreter) and make startup time " +"faster." +msgstr "" +"Обидві ці проблеми вирішуються шляхом відкладення оцінки анотацій. Замість " +"компіляції коду, який виконує вирази в анотаціях під час їх визначення, " +"компілятор зберігає анотацію у формі рядка, еквівалентну AST відповідного " +"виразу. За потреби анотації можна розв’язати під час виконання за допомогою :" +"func:`typing.get_type_hints`. У звичайному випадку, коли це не потрібно, " +"анотації дешевше зберігати (оскільки короткі рядки інтернуються " +"інтерпретатором) і пришвидшують час запуску." + +msgid "" +"Usability-wise, annotations now support forward references, making the " +"following syntax valid::" +msgstr "" +"З точки зору зручності використання анотації тепер підтримують прямі " +"посилання, що робить наступний синтаксис дійсним:" + +msgid "" +"Since this change breaks compatibility, the new behavior needs to be enabled " +"on a per-module basis in Python 3.7 using a :mod:`__future__` import::" +msgstr "" +"Оскільки ця зміна порушує сумісність, нову поведінку потрібно ввімкнути на " +"основі кожного модуля в Python 3.7 за допомогою :mod:`__future__` import::" + +msgid "It will become the default in Python 3.10." +msgstr "Він стане типовим у Python 3.10." + +msgid ":pep:`563` -- Postponed evaluation of annotations" +msgstr ":pep:`563` -- Відкладена оцінка анотацій" + +msgid "PEP written and implemented by Łukasz Langa." +msgstr "PEP написав і реалізував Лукаш Ланга." + +msgid "PEP 538: Legacy C Locale Coercion" +msgstr "PEP 538: Застаріле C Локальний примус" + +msgid "" +"An ongoing challenge within the Python 3 series has been determining a " +"sensible default strategy for handling the \"7-bit ASCII\" text encoding " +"assumption currently implied by the use of the default C or POSIX locale on " +"non-Windows platforms." +msgstr "" +"Постійним завданням у серії Python 3 було визначення розумної стратегії за " +"замовчуванням для обробки припущення про кодування тексту \"7-bit ASCII\", " +"яке зараз передбачається використанням стандартної локалі C або POSIX на " +"платформах, відмінних від Windows." + +msgid "" +":pep:`538` updates the default interpreter command line interface to " +"automatically coerce that locale to an available UTF-8 based locale as " +"described in the documentation of the new :envvar:`PYTHONCOERCECLOCALE` " +"environment variable. Automatically setting ``LC_CTYPE`` this way means that " +"both the core interpreter and locale-aware C extensions (such as :mod:" +"`readline`) will assume the use of UTF-8 as the default text encoding, " +"rather than ASCII." +msgstr "" +":pep:`538` оновлює інтерфейс командного рядка інтерпретатора за " +"замовчуванням для автоматичного приведення цієї локалі до доступної локалі " +"на основі UTF-8, як описано в документації нової змінної середовища :envvar:" +"`PYTHONCOERCECLOCALE`. Автоматичне встановлення ``LC_CTYPE`` таким чином " +"означає, що як основний інтерпретатор, так і розширення C з урахуванням " +"локалі (такі як :mod:`readline`) передбачатимуть використання UTF-8 як " +"стандартне кодування тексту, а не ASCII." + +msgid "" +"The platform support definition in :pep:`11` has also been updated to limit " +"full text handling support to suitably configured non-ASCII based locales." +msgstr "" +"Визначення підтримки платформи в :pep:`11` також було оновлено, щоб обмежити " +"підтримку обробки повного тексту належним чином налаштованими локалями, що " +"не базуються на ASCII." + +msgid "" +"As part of this change, the default error handler for :data:`~sys.stdin` " +"and :data:`~sys.stdout` is now ``surrogateescape`` (rather than ``strict``) " +"when using any of the defined coercion target locales (currently ``C." +"UTF-8``, ``C.utf8``, and ``UTF-8``). The default error handler for :data:" +"`~sys.stderr` continues to be ``backslashreplace``, regardless of locale." +msgstr "" +"У рамках цієї зміни типовим обробником помилок для :data:`~sys.stdin` і :" +"data:`~sys.stdout` тепер є ``surrogateescape`` (а не ``strict``) під час " +"використання будь-якого з визначені цільові локалі примусу (наразі ``C." +"UTF-8``, ``C.utf8`` і ``UTF-8``). Обробником помилок за замовчуванням для :" +"data:`~sys.stderr` залишається ``backslashreplace``, незалежно від локалі." + +msgid "" +"Locale coercion is silent by default, but to assist in debugging potentially " +"locale related integration problems, explicit warnings (emitted directly on :" +"data:`~sys.stderr`) can be requested by setting " +"``PYTHONCOERCECLOCALE=warn``. This setting will also cause the Python " +"runtime to emit a warning if the legacy C locale remains active when the " +"core interpreter is initialized." +msgstr "" +"За замовчуванням примусове налаштування локалі мовчить, але для допомоги в " +"налагодженні потенційно пов’язаних з локалізацією проблем інтеграції можна " +"запитати явні попередження (видані безпосередньо на :data:`~sys.stderr`), " +"встановивши ``PYTHONCOERCECLOCALE=warn``. Цей параметр також призведе до " +"того, що середовище виконання Python видасть попередження, якщо застаріла " +"локаль C залишається активною під час ініціалізації основного інтерпретатора." + +msgid "" +"While :pep:`538`'s locale coercion has the benefit of also affecting " +"extension modules (such as GNU ``readline``), as well as child processes " +"(including those running non-Python applications and older versions of " +"Python), it has the downside of requiring that a suitable target locale be " +"present on the running system. To better handle the case where no suitable " +"target locale is available (as occurs on RHEL/CentOS 7, for example), Python " +"3.7 also implements :ref:`whatsnew37-pep540`." +msgstr "" +"У той час як примусове налаштування локалі :pep:`538` має перевагу, оскільки " +"також впливає на модулі розширення (такі як GNU ``readline``), а також на " +"дочірні процеси (включно з тими, які запускають програми, відмінні від " +"Python, і старіші версії Python), недоліком цього є те, що в запущеній " +"системі потрібна відповідна цільова локаль. Для кращої обробки випадків, " +"коли немає відповідної цільової локалі (як це відбувається, наприклад, у " +"RHEL/CentOS 7), Python 3.7 також реалізує :ref:`whatsnew37-pep540`." + +msgid ":pep:`538` -- Coercing the legacy C locale to a UTF-8 based locale" +msgstr ":pep:`538` -- Приведення застарілої локалі C до локалі на основі UTF-8" + +msgid "PEP written and implemented by Nick Coghlan." +msgstr "PEP написав і реалізував Нік Коглан." + +msgid "PEP 540: Forced UTF-8 Runtime Mode" +msgstr "PEP 540: примусовий режим виконання UTF-8" + +msgid "" +"The new :option:`-X` ``utf8`` command line option and :envvar:`PYTHONUTF8` " +"environment variable can be used to enable the :ref:`Python UTF-8 Mode `." +msgstr "" +"Новий параметр командного рядка :option:`-X` ``utf8`` і змінну середовища :" +"envvar:`PYTHONUTF8` можна використовувати для ввімкнення режиму :ref:`Python " +"UTF-8 `." + +msgid "" +"When in UTF-8 mode, CPython ignores the locale settings, and uses the UTF-8 " +"encoding by default. The error handlers for :data:`sys.stdin` and :data:" +"`sys.stdout` streams are set to ``surrogateescape``." +msgstr "" +"У режимі UTF-8 CPython ігнорує налаштування мови та використовує кодування " +"UTF-8 за замовчуванням. Обробники помилок для потоків :data:`sys.stdin` і :" +"data:`sys.stdout` мають значення ``surrogateescape``." + +msgid "" +"The forced UTF-8 mode can be used to change the text handling behavior in an " +"embedded Python interpreter without changing the locale settings of an " +"embedding application." +msgstr "" +"Примусовий режим UTF-8 можна використовувати для зміни поведінки обробки " +"тексту у вбудованому інтерпретаторі Python без зміни налаштувань мови " +"програми для вбудовування." + +msgid "" +"While :pep:`540`'s UTF-8 mode has the benefit of working regardless of which " +"locales are available on the running system, it has the downside of having " +"no effect on extension modules (such as GNU ``readline``), child processes " +"running non-Python applications, and child processes running older versions " +"of Python. To reduce the risk of corrupting text data when communicating " +"with such components, Python 3.7 also implements :ref:`whatsnew37-pep540`)." +msgstr "" +"Хоча режим UTF-8 :pep:`540` має перевагу в тому, що працює незалежно від " +"того, які локалі доступні у запущеній системі, він має недолік — не впливає " +"на модулі розширення (такі як GNU ``readline``). , дочірні процеси, які " +"запускають програми, відмінні від Python, і дочірні процеси, які запускають " +"старіші версії Python. Щоб зменшити ризик пошкодження текстових даних під " +"час обміну даними з такими компонентами, Python 3.7 також реалізує :ref:" +"`whatsnew37-pep540`)." + +msgid "" +"The UTF-8 mode is enabled by default when the locale is ``C`` or ``POSIX``, " +"and the :pep:`538` locale coercion feature fails to change it to a UTF-8 " +"based alternative (whether that failure is due to ``PYTHONCOERCECLOCALE=0`` " +"being set, ``LC_ALL`` being set, or the lack of a suitable target locale)." +msgstr "" +"Режим UTF-8 увімкнуто за замовчуванням, якщо локаль ``C`` або ``POSIX``, а " +"функція примусового налаштування локалі :pep:`538` не може змінити його на " +"альтернативу на основі UTF-8 (чи це помилка спричинена встановленням " +"``PYTHONCOERCECLOCALE=0``, ``LC_ALL`` або відсутністю відповідної цільової " +"локалі)." + +msgid ":pep:`540` -- Add a new UTF-8 mode" +msgstr ":pep:`540` -- Додати новий режим UTF-8" + +msgid "PEP written and implemented by Victor Stinner" +msgstr "PEP написав і реалізував Віктор Стіннер" + +msgid "PEP 553: Built-in ``breakpoint()``" +msgstr "PEP 553: вбудована ``breakpoint()``" + +msgid "" +"Python 3.7 includes the new built-in :func:`breakpoint` function as an easy " +"and consistent way to enter the Python debugger." +msgstr "" +"Python 3.7 містить нову вбудовану функцію :func:`breakpoint` як простий і " +"послідовний спосіб входу в налагоджувач Python." + +msgid "" +"Built-in ``breakpoint()`` calls :func:`sys.breakpointhook`. By default, the " +"latter imports :mod:`pdb` and then calls ``pdb.set_trace()``, but by binding " +"``sys.breakpointhook()`` to the function of your choosing, ``breakpoint()`` " +"can enter any debugger. Additionally, the environment variable :envvar:" +"`PYTHONBREAKPOINT` can be set to the callable of your debugger of choice. " +"Set ``PYTHONBREAKPOINT=0`` to completely disable built-in ``breakpoint()``." +msgstr "" +"Вбудований ``breakpoint()`` викликає :func:`sys.breakpointhook`. За " +"замовчуванням останній імпортує :mod:`pdb`, а потім викликає ``pdb." +"set_trace()``, але шляхом прив’язки ``sys.breakpointhook()`` до функції за " +"вашим вибором, ``breakpoint()`` може ввести будь-який налагоджувач. Крім " +"того, змінну середовища :envvar:`PYTHONBREAKPOINT` можна встановити як " +"виклик вашого вибраного налагоджувача. Встановіть ``PYTHONBREAKPOINT=0``, " +"щоб повністю вимкнути вбудовану ``breakpoint()``." + +msgid ":pep:`553` -- Built-in breakpoint()" +msgstr ":pep:`553` -- Вбудована точка зупину()" + +msgid "PEP written and implemented by Barry Warsaw" +msgstr "PEP написаний і реалізований Баррі Варшавою" + +msgid "PEP 539: New C API for Thread-Local Storage" +msgstr "PEP 539: новий C API для потокового локального зберігання" + +msgid "" +"While Python provides a C API for thread-local storage support; the " +"existing :ref:`Thread Local Storage (TLS) API ` " +"has used :c:expr:`int` to represent TLS keys across all platforms. This has " +"not generally been a problem for officially support platforms, but that is " +"neither POSIX-compliant, nor portable in any practical sense." +msgstr "" + +msgid "" +":pep:`539` changes this by providing a new :ref:`Thread Specific Storage " +"(TSS) API ` to CPython which supersedes use of " +"the existing TLS API within the CPython interpreter, while deprecating the " +"existing API. The TSS API uses a new type :c:type:`Py_tss_t` instead of :c:" +"expr:`int` to represent TSS keys--an opaque type the definition of which may " +"depend on the underlying TLS implementation. Therefore, this will allow to " +"build CPython on platforms where the native TLS key is defined in a way that " +"cannot be safely cast to :c:expr:`int`." +msgstr "" + +msgid "" +"Note that on platforms where the native TLS key is defined in a way that " +"cannot be safely cast to :c:expr:`int`, all functions of the existing TLS " +"API will be no-op and immediately return failure. This indicates clearly " +"that the old API is not supported on platforms where it cannot be used " +"reliably, and that no effort will be made to add such support." +msgstr "" + +msgid ":pep:`539` -- A New C-API for Thread-Local Storage in CPython" +msgstr ":pep:`539` -- Новий C-API для локального зберігання потоків у CPython" + +msgid "PEP written by Erik M. Bray; implementation by Masayuki Yamamoto." +msgstr "PEP, автор Ерік М. Брей; виконання Масаюкі Ямамото." + +msgid "PEP 562: Customization of Access to Module Attributes" +msgstr "PEP 562: Налаштування доступу до атрибутів модуля" + +msgid "" +"Python 3.7 allows defining :meth:`__getattr__` on modules and will call it " +"whenever a module attribute is otherwise not found. Defining :meth:" +"`__dir__` on modules is now also allowed." +msgstr "" +"Python 3.7 дозволяє визначати :meth:`__getattr__` для модулів і викликає " +"його щоразу, коли атрибут модуля іншим чином не знайдено. Тепер також " +"дозволено визначення :meth:`__dir__` для модулів." + +msgid "" +"A typical example of where this may be useful is module attribute " +"deprecation and lazy loading." +msgstr "" +"Типовим прикладом того, де це може бути корисним, є припинення використання " +"атрибутів модуля та відкладене завантаження." + +msgid ":pep:`562` -- Module ``__getattr__`` and ``__dir__``" +msgstr ":pep:`562` -- Модуль ``__getattr__`` і ``__dir__``" + +msgid "PEP written and implemented by Ivan Levkivskyi" +msgstr "PEP написав і реалізував Іван Левківський" + +msgid "PEP 564: New Time Functions With Nanosecond Resolution" +msgstr "PEP 564: Нові функції часу з наносекундною роздільною здатністю" + +msgid "" +"The resolution of clocks in modern systems can exceed the limited precision " +"of a floating point number returned by the :func:`time.time` function and " +"its variants. To avoid loss of precision, :pep:`564` adds six new " +"\"nanosecond\" variants of the existing timer functions to the :mod:`time` " +"module:" +msgstr "" +"Роздільна здатність годинників у сучасних системах може перевищувати " +"обмежену точність числа з плаваючою комою, що повертається функцією :func:" +"`time.time` та її варіантами. Щоб уникнути втрати точності, :pep:`564` додає " +"шість нових \"наносекундних\" варіантів існуючих функцій таймера до модуля :" +"mod:`time`:" + +msgid ":func:`time.clock_gettime_ns`" +msgstr ":func:`time.clock_gettime_ns`" + +msgid ":func:`time.clock_settime_ns`" +msgstr ":func:`time.clock_settime_ns`" + +msgid ":func:`time.monotonic_ns`" +msgstr ":func:`time.monotonic_ns`" + +msgid ":func:`time.perf_counter_ns`" +msgstr ":func:`time.perf_counter_ns`" + +msgid ":func:`time.process_time_ns`" +msgstr ":func:`time.process_time_ns`" + +msgid ":func:`time.time_ns`" +msgstr ":func:`time.time_ns`" + +msgid "The new functions return the number of nanoseconds as an integer value." +msgstr "Нові функції повертають кількість наносекунд як ціле число." + +msgid "" +"`Measurements `_ show that on Linux and Windows the resolution of :func:`time." +"time_ns` is approximately 3 times better than that of :func:`time.time`." +msgstr "" + +msgid ":pep:`564` -- Add new time functions with nanosecond resolution" +msgstr "" +":pep:`564` -- Додайте нові функції часу з роздільною здатністю наносекунд" + +msgid "PEP 565: Show DeprecationWarning in ``__main__``" +msgstr "PEP 565: Показати DeprecationWarning у ``__main__``" + +msgid "" +"The default handling of :exc:`DeprecationWarning` has been changed such that " +"these warnings are once more shown by default, but only when the code " +"triggering them is running directly in the :mod:`__main__` module. As a " +"result, developers of single file scripts and those using Python " +"interactively should once again start seeing deprecation warnings for the " +"APIs they use, but deprecation warnings triggered by imported application, " +"library and framework modules will continue to be hidden by default." +msgstr "" +"Стандартну обробку :exc:`DeprecationWarning` було змінено таким чином, що ці " +"попередження знову відображаються за замовчуванням, але лише тоді, коли код, " +"який їх ініціює, виконується безпосередньо в модулі :mod:`__main__`. Як " +"наслідок, розробники однофайлових сценаріїв і ті, хто використовує Python в " +"інтерактивному режимі, повинні знову почати бачити попередження про " +"застаріння для API, які вони використовують, але попередження про " +"застаріння, викликані імпортованими програмними, бібліотечними та " +"фреймворковими модулями, будуть і надалі приховані за замовчуванням." + +msgid "" +"As a result of this change, the standard library now allows developers to " +"choose between three different deprecation warning behaviours:" +msgstr "" +"У результаті цієї зміни стандартна бібліотека тепер дозволяє розробникам " +"вибирати між трьома різними способами попередження про застарілу дію:" + +msgid "" +":exc:`FutureWarning`: always displayed by default, recommended for warnings " +"intended to be seen by application end users (e.g. for deprecated " +"application configuration settings)." +msgstr "" +":exc:`FutureWarning`: завжди відображається за умовчанням, рекомендовано для " +"попереджень, призначених для перегляду кінцевими користувачами програми " +"(наприклад, для застарілих налаштувань конфігурації програми)." + +msgid "" +":exc:`DeprecationWarning`: displayed by default only in :mod:`__main__` and " +"when running tests, recommended for warnings intended to be seen by other " +"Python developers where a version upgrade may result in changed behaviour or " +"an error." +msgstr "" +":exc:`DeprecationWarning`: відображається за замовчуванням лише в :mod:" +"`__main__` і під час виконання тестів, рекомендовано для попереджень, " +"призначених для перегляду іншими розробниками Python, коли оновлення версії " +"може призвести до зміни поведінки або помилки." + +msgid "" +":exc:`PendingDeprecationWarning`: displayed by default only when running " +"tests, intended for cases where a future version upgrade will change the " +"warning category to :exc:`DeprecationWarning` or :exc:`FutureWarning`." +msgstr "" +":exc:`PendingDeprecationWarning`: відображається за замовчуванням лише під " +"час виконання тестів, призначених для випадків, коли майбутнє оновлення " +"версії змінить категорію попередження на :exc:`DeprecationWarning` або :exc:" +"`FutureWarning`." + +msgid "" +"Previously both :exc:`DeprecationWarning` and :exc:" +"`PendingDeprecationWarning` were only visible when running tests, which " +"meant that developers primarily writing single file scripts or using Python " +"interactively could be surprised by breaking changes in the APIs they used." +msgstr "" +"Раніше і :exc:`DeprecationWarning`, і :exc:`PendingDeprecationWarning` були " +"видимі лише під час виконання тестів, що означало, що розробники, які " +"переважно пишуть однофайлові сценарії або використовують Python в " +"інтерактивному режимі, можуть бути здивовані несправними змінами в API, які " +"вони використовували." + +msgid ":pep:`565` -- Show DeprecationWarning in ``__main__``" +msgstr ":pep:`565` -- Показати DeprecationWarning у ``__main__``" + +msgid "PEP written and implemented by Nick Coghlan" +msgstr "PEP написав і реалізував Нік Коглан" + +msgid "PEP 560: Core Support for ``typing`` module and Generic Types" +msgstr "PEP 560: Основна підтримка модуля ``введення`` і загальних типів" + +msgid "" +"Initially :pep:`484` was designed in such way that it would not introduce " +"*any* changes to the core CPython interpreter. Now type hints and the :mod:" +"`typing` module are extensively used by the community, so this restriction " +"is removed. The PEP introduces two special methods :meth:`__class_getitem__` " +"and ``__mro_entries__``, these methods are now used by most classes and " +"special constructs in :mod:`typing`. As a result, the speed of various " +"operations with types increased up to 7 times, the generic types can be used " +"without metaclass conflicts, and several long standing bugs in :mod:`typing` " +"module are fixed." +msgstr "" +"Спочатку :pep:`484` було розроблено таким чином, щоб не вносити *жодних* " +"змін до основного інтерпретатора CPython. Тепер підказки щодо типів і " +"модуль :mod:`typing` широко використовуються спільнотою, тому це обмеження " +"знято. PEP представляє два спеціальні методи :meth:`__class_getitem__` і " +"``__mro_entries__``, ці методи тепер використовуються більшістю класів і " +"спеціальних конструкцій у :mod:`typing`. В результаті швидкість різних " +"операцій з типами зросла до 7 разів, загальні типи можна використовувати без " +"конфліктів метакласів, а також виправлено кілька давніх помилок в модулі :" +"mod:`typing`." + +msgid ":pep:`560` -- Core support for typing module and generic types" +msgstr "" +":pep:`560` -- Основна підтримка модуля введення тексту та загальних типів" + +msgid "PEP 552: Hash-based .pyc Files" +msgstr "PEP 552: Файли .pyc на основі хешу" + +msgid "" +"Python has traditionally checked the up-to-dateness of bytecode cache files " +"(i.e., ``.pyc`` files) by comparing the source metadata (last-modified " +"timestamp and size) with source metadata saved in the cache file header when " +"it was generated. While effective, this invalidation method has its " +"drawbacks. When filesystem timestamps are too coarse, Python can miss " +"source updates, leading to user confusion. Additionally, having a timestamp " +"in the cache file is problematic for `build reproducibility `_ and content-based build systems." +msgstr "" +"Python традиційно перевіряє актуальність файлів кешу байт-кодів (тобто " +"файлів ``.pyc``), порівнюючи метадані джерела (мітку часу та розмір " +"останньої зміни) із метаданими джерела, збереженими в заголовку файлу кешу, " +"коли він був створений. Хоча цей метод визнання недійсним ефективний, він " +"має свої недоліки. Якщо мітки часу файлової системи занадто грубі, Python " +"може пропустити вихідні оновлення, що призведе до плутанини користувачів. " +"Крім того, наявність мітки часу у файлі кешу є проблематичною для " +"`відтворюваності збірки `_ і систем збірки " +"на основі вмісту." + +msgid "" +":pep:`552` extends the pyc format to allow the hash of the source file to be " +"used for invalidation instead of the source timestamp. Such ``.pyc`` files " +"are called \"hash-based\". By default, Python still uses timestamp-based " +"invalidation and does not generate hash-based ``.pyc`` files at runtime. " +"Hash-based ``.pyc`` files may be generated with :mod:`py_compile` or :mod:" +"`compileall`." +msgstr "" +":pep:`552` розширює формат pyc, дозволяючи використовувати хеш вихідного " +"файлу для визнання недійсним замість мітки часу джерела. Такі файли ``.pyc`` " +"називаються \"на основі хешу\". За замовчуванням Python усе ще використовує " +"недійсність на основі мітки часу та не створює файли ``.pyc`` на основі хешу " +"під час виконання. Файли ``.pyc`` на основі хешу можуть бути згенеровані за " +"допомогою :mod:`py_compile` або :mod:`compileall`." + +msgid "" +"Hash-based ``.pyc`` files come in two variants: checked and unchecked. " +"Python validates checked hash-based ``.pyc`` files against the corresponding " +"source files at runtime but doesn't do so for unchecked hash-based pycs. " +"Unchecked hash-based ``.pyc`` files are a useful performance optimization " +"for environments where a system external to Python (e.g., the build system) " +"is responsible for keeping ``.pyc`` files up-to-date." +msgstr "" +"Файли ``.pyc`` на основі хешу бувають двох варіантів: позначені та не " +"позначені. Python перевіряє перевірені хеш-файли ``.pyc`` на відповідність " +"вихідним файлам під час виконання, але не робить цього для неперевірених хеш-" +"файлів pycs. Файли ``.pyc`` на основі неперевірених хешів є корисною " +"оптимізацією продуктивності для середовищ, де зовнішня по відношенню до " +"Python система (наприклад, система збірки) відповідає за підтримку файлів ``." +"pyc`` в актуальному стані." + +msgid "See :ref:`pyc-invalidation` for more information." +msgstr "" +"Перегляньте :ref:`pyc-invalidation` для отримання додаткової інформації." + +msgid ":pep:`552` -- Deterministic pycs" +msgstr ":pep:`552` -- Детерміновані зображення" + +msgid "PEP written and implemented by Benjamin Peterson" +msgstr "PEP написав і реалізував Бенджамін Петерсон" + +msgid "PEP 545: Python Documentation Translations" +msgstr "PEP 545: Переклади документації Python" + +msgid "" +":pep:`545` describes the process of creating and maintaining Python " +"documentation translations." +msgstr "" +":pep:`545` описує процес створення та підтримки перекладів документації " +"Python." + +msgid "Three new translations have been added:" +msgstr "Додано три нові переклади:" + +msgid "Japanese: https://docs.python.org/ja/" +msgstr "Японська: https://docs.python.org/ja/" + +msgid "French: https://docs.python.org/fr/" +msgstr "Французька: https://docs.python.org/fr/" + +msgid "Korean: https://docs.python.org/ko/" +msgstr "Корейська: https://docs.python.org/ko/" + +msgid ":pep:`545` -- Python Documentation Translations" +msgstr ":pep:`545` -- Переклади документації Python" + +msgid "" +"PEP written and implemented by Julien Palard, Inada Naoki, and Victor " +"Stinner." +msgstr "" +"PEP написаний і реалізований Жульєном Палардом, Інадою Наокі та Віктором " +"Стіннером." + +msgid "Python Development Mode (-X dev)" +msgstr "Режим розробки Python (-X dev)" + +msgid "" +"The new :option:`-X` ``dev`` command line option or the new :envvar:" +"`PYTHONDEVMODE` environment variable can be used to enable :ref:`Python " +"Development Mode `. When in development mode, Python performs " +"additional runtime checks that are too expensive to be enabled by default. " +"See :ref:`Python Development Mode ` documentation for the full " +"description." +msgstr "" +"Новий параметр командного рядка :option:`-X` ``dev`` або нову змінну " +"середовища :envvar:`PYTHONDEVMODE` можна використовувати, щоб увімкнути :ref:" +"`Режим розробки Python `. У режимі розробки Python виконує " +"додаткові перевірки під час виконання, які занадто дорогі, щоб їх можна було " +"ввімкнути за замовчуванням. Дивіться документацію :ref:`Python Development " +"Mode ` для повного опису." + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"An :keyword:`await` expression and comprehensions containing an :keyword:" +"`async for` clause were illegal in the expressions in :ref:`formatted string " +"literals ` due to a problem with the implementation. In Python " +"3.7 this restriction was lifted." +msgstr "" +"Вираз :keyword:`await` і розуміння, що містять пункт :keyword:`async for`, " +"були незаконними у виразах у :ref:`форматованих рядкових літералах ` через проблему з реалізацією. У Python 3.7 це обмеження було знято." + +msgid "" +"More than 255 arguments can now be passed to a function, and a function can " +"now have more than 255 parameters. (Contributed by Serhiy Storchaka in :" +"issue:`12844` and :issue:`18896`.)" +msgstr "" +"Функції тепер можна передати більше 255 аргументів, а функція тепер може " +"мати більше 255 параметрів. (Надав Сергій Сторчака в :issue:`12844` і :issue:" +"`18896`.)" + +msgid "" +":meth:`bytes.fromhex` and :meth:`bytearray.fromhex` now ignore all ASCII " +"whitespace, not only spaces. (Contributed by Robert Xiao in :issue:`28927`.)" +msgstr "" +":meth:`bytes.fromhex` і :meth:`bytearray.fromhex` тепер ігнорують усі " +"пробіли ASCII, а не лише пробіли. (Надав Роберт Сяо в :issue:`28927`.)" + +msgid "" +":class:`str`, :class:`bytes`, and :class:`bytearray` gained support for the " +"new :meth:`isascii() ` method, which can be used to test if a " +"string or bytes contain only the ASCII characters. (Contributed by INADA " +"Naoki in :issue:`32677`.)" +msgstr "" +":class:`str`, :class:`bytes` і :class:`bytearray` отримали підтримку нового " +"методу :meth:`isascii() `, який можна використовувати для " +"перевірки того, чи рядок або байти містять лише символи ASCII. (Надано INADA " +"Naoki в :issue:`32677`.)" + +msgid "" +":exc:`ImportError` now displays module name and module ``__file__`` path " +"when ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in :" +"issue:`29546`.)" +msgstr "" +":exc:`ImportError` тепер відображає назву модуля та шлях до модуля " +"``__file__``, коли ``from ... import ...`` не вдається. (Надав Матіас " +"Бюссонньє в :issue:`29546`.)" + +msgid "" +"Circular imports involving absolute imports with binding a submodule to a " +"name are now supported. (Contributed by Serhiy Storchaka in :issue:`30024`.)" +msgstr "" +"Тепер підтримується циклічний імпорт, що включає абсолютний імпорт із " +"прив’язкою підмодуля до імені. (Надав Сергій Сторчака в :issue:`30024`.)" + +msgid "" +"``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " +"``format(str(self), '')``. (Contributed by Serhiy Storchaka in :issue:" +"`28974`.)" +msgstr "" +"``object.__format__(x, '')`` тепер еквівалентний ``str(x)``, а не " +"``format(str(self), '')``. (Надав Сергій Сторчака в :issue:`28974`.)" + +msgid "" +"In order to better support dynamic creation of stack traces, :class:`types." +"TracebackType` can now be instantiated from Python code, and the ``tb_next`` " +"attribute on :ref:`tracebacks ` is now writable. " +"(Contributed by Nathaniel J. Smith in :issue:`30579`.)" +msgstr "" +"Щоб краще підтримувати динамічне створення трасування стека, :class:`types." +"TracebackType` тепер можна створювати з коду Python, а атрибут ``tb_next`` " +"на :ref:`tracebacks ` тепер доступний для запису. (Надано " +"Натаніелем Дж. Смітом у :issue:`30579`.)" + +msgid "" +"When using the :option:`-m` switch, ``sys.path[0]`` is now eagerly expanded " +"to the full starting directory path, rather than being left as the empty " +"directory (which allows imports from the *current* working directory at the " +"time when an import occurs) (Contributed by Nick Coghlan in :issue:`33053`.)" +msgstr "" +"Якщо використовується перемикач :option:`-m`, ``sys.path[0]`` тепер швидко " +"розгортається до повного початкового шляху каталогу, а не залишається " +"порожнім каталогом (що дозволяє імпортувати з *поточного* робочий каталог " +"під час імпорту) (Надано Ніком Когланом у :issue:`33053`.)" + +msgid "" +"The new :option:`-X` ``importtime`` option or the :envvar:" +"`PYTHONPROFILEIMPORTTIME` environment variable can be used to show the " +"timing of each module import. (Contributed by Inada Naoki in :issue:`31415`.)" +msgstr "" +"Новий параметр :option:`-X` ``importtime`` або змінну середовища :envvar:" +"`PYTHONPROFILEIMPORTTIME` можна використовувати для відображення часу " +"імпорту кожного модуля. (Надано Інадою Наокі в :issue:`31415`.)" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "contextvars" +msgstr "контекстні змінні" + +msgid "" +"The new :mod:`contextvars` module and a set of :ref:`new C APIs " +"` introduce support for *context variables*. Context " +"variables are conceptually similar to thread-local variables. Unlike TLS, " +"context variables support asynchronous code correctly." +msgstr "" +"Новий модуль :mod:`contextvars` і набір :ref:`нових API C " +"` запроваджують підтримку *контекстних змінних*. Змінні " +"контексту концептуально подібні до локальних змінних потоку. На відміну від " +"TLS, контекстні змінні правильно підтримують асинхронний код." + +msgid "" +"The :mod:`asyncio` and :mod:`decimal` modules have been updated to use and " +"support context variables out of the box. Particularly the active decimal " +"context is now stored in a context variable, which allows decimal operations " +"to work with the correct context in asynchronous code." +msgstr "" +"Модулі :mod:`asyncio` і :mod:`decimal` оновлено для використання та " +"підтримки контекстних змінних із коробки. Зокрема, активний десятковий " +"контекст тепер зберігається в контекстній змінній, що дозволяє десятковим " +"операціям працювати з правильним контекстом в асинхронному коді." + +msgid ":pep:`567` -- Context Variables" +msgstr ":pep:`567` -- Контекстні змінні" + +msgid "PEP written and implemented by Yury Selivanov" +msgstr "PEP написав і реалізував Юрій Селіванов" + +msgid "dataclasses" +msgstr "класи даних" + +msgid "" +"The new :func:`~dataclasses.dataclass` decorator provides a way to declare " +"*data classes*. A data class describes its attributes using class variable " +"annotations. Its constructor and other magic methods, such as :meth:" +"`~object.__repr__`, :meth:`~object.__eq__`, and :meth:`~object.__hash__` are " +"generated automatically." +msgstr "" +"Новий декоратор :func:`~dataclasses.dataclass` забезпечує спосіб оголошення " +"*класів даних*. Клас даних описує свої атрибути за допомогою анотацій " +"змінних класу. Його конструктор та інші чарівні методи, такі як :meth:" +"`~object.__repr__`, :meth:`~object.__eq__` і :meth:`~object.__hash__` " +"генеруються автоматично." + +msgid "Example::" +msgstr "Приклад::" + +msgid ":pep:`557` -- Data Classes" +msgstr ":pep:`557` -- Класи даних" + +msgid "PEP written and implemented by Eric V. Smith" +msgstr "PEP написаний і реалізований Еріком В. Смітом" + +msgid "importlib.resources" +msgstr "importlib.resources" + +msgid "" +"The new :mod:`importlib.resources` module provides several new APIs and one " +"new ABC for access to, opening, and reading *resources* inside packages. " +"Resources are roughly similar to files inside packages, but they needn't be " +"actual files on the physical file system. Module loaders can provide a :" +"meth:`get_resource_reader()` function which returns a :class:`importlib.abc." +"ResourceReader` instance to support this new API. Built-in file path " +"loaders and zip file loaders both support this." +msgstr "" +"Новий модуль :mod:`importlib.resources` надає кілька нових API і один новий " +"ABC для доступу, відкриття та читання *ресурсів* у пакунках. Ресурси " +"приблизно схожі на файли всередині пакетів, але вони не обов’язково повинні " +"бути фактичними файлами у фізичній файловій системі. Завантажувачі модулів " +"можуть надати функцію :meth:`get_resource_reader()`, яка повертає екземпляр :" +"class:`importlib.abc.ResourceReader` для підтримки цього нового API. Це " +"підтримують як вбудовані завантажувачі шляхів файлів, так і завантажувачі " +"zip-файлів." + +msgid "Contributed by Barry Warsaw and Brett Cannon in :issue:`32248`." +msgstr "Надано Баррі Варшау та Бреттом Кенноном у :issue:`32248`." + +msgid "" +"`importlib_resources `_ -- a PyPI backport for earlier Python versions." +msgstr "" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "argparse" +msgstr "argparse" + +msgid "" +"The new :meth:`ArgumentParser.parse_intermixed_args() ` method allows intermixing options and " +"positional arguments. (Contributed by paul.j3 in :issue:`14191`.)" +msgstr "" +"Новий метод :meth:`ArgumentParser.parse_intermixed_args() ` дозволяє змішувати параметри та " +"позиційні аргументи. (Надано paul.j3 у :issue:`14191`.)" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"The :mod:`asyncio` module has received many new features, usability and :ref:" +"`performance improvements `. Notable changes " +"include:" +msgstr "" +"Модуль :mod:`asyncio` отримав багато нових функцій, зручність використання " +"та :ref:`покращення продуктивності `. Помітні зміни " +"включають:" + +msgid "" +"The new :term:`provisional ` :func:`asyncio.run` function " +"can be used to run a coroutine from synchronous code by automatically " +"creating and destroying the event loop. (Contributed by Yury Selivanov in :" +"issue:`32314`.)" +msgstr "" +"Нову функцію :term:`provisional ` :func:`asyncio.run` можна " +"використовувати для запуску співпрограми з синхронного коду шляхом " +"автоматичного створення та знищення циклу подій. (Надав Юрій Селіванов у :" +"issue:`32314`.)" + +msgid "" +"asyncio gained support for :mod:`contextvars`. :meth:`loop.call_soon() " +"`, :meth:`loop.call_soon_threadsafe() `, :meth:`loop.call_later() `, :meth:`loop.call_at() `, and :meth:" +"`Future.add_done_callback() ` have a new " +"optional keyword-only *context* parameter. :class:`Tasks ` now " +"track their context automatically. See :pep:`567` for more details. " +"(Contributed by Yury Selivanov in :issue:`32436`.)" +msgstr "" +"asyncio отримав підтримку для :mod:`contextvars`. :meth:`loop.call_soon() " +"`, :meth:`loop.call_soon_threadsafe() `, :meth:`loop.call_later() `, :meth:`loop.call_at() `, and :meth:" +"`Future.add_done_callback() ` має новий " +"необов’язковий параметр *context*. :class:`Tasks ` тепер " +"автоматично відстежують свій контекст. Дивіться :pep:`567` для більш " +"детальної інформації. (Надав Юрій Селіванов у :issue:`32436`.)" + +msgid "" +"The new :func:`asyncio.create_task` function has been added as a shortcut to " +"``asyncio.get_event_loop().create_task()``. (Contributed by Andrew Svetlov " +"in :issue:`32311`.)" +msgstr "" +"Нову функцію :func:`asyncio.create_task` додано як ярлик до ``asyncio." +"get_event_loop().create_task()``. (Надав Ендрю Свєтлов у :issue:`32311`.)" + +msgid "" +"The new :meth:`loop.start_tls() ` method can be used " +"to upgrade an existing connection to TLS. (Contributed by Yury Selivanov in :" +"issue:`23749`.)" +msgstr "" +"Новий метод :meth:`loop.start_tls() ` можна " +"використовувати для оновлення наявного підключення до TLS. (Надав Юрій " +"Селіванов у :issue:`23749`.)" + +msgid "" +"The new :meth:`loop.sock_recv_into() ` method " +"allows reading data from a socket directly into a provided buffer making it " +"possible to reduce data copies. (Contributed by Antoine Pitrou in :issue:" +"`31819`.)" +msgstr "" +"Новий метод :meth:`loop.sock_recv_into() ` " +"дозволяє зчитувати дані з сокета безпосередньо в наданий буфер, що дозволяє " +"зменшити кількість копій даних. (Надав Антуан Пітру в :issue:`31819`.)" + +msgid "" +"The new :func:`asyncio.current_task` function returns the currently running :" +"class:`~asyncio.Task` instance, and the new :func:`asyncio.all_tasks` " +"function returns a set of all existing ``Task`` instances in a given loop. " +"The :meth:`Task.current_task() ` and :meth:`Task." +"all_tasks() ` methods have been deprecated. " +"(Contributed by Andrew Svetlov in :issue:`32250`.)" +msgstr "" +"Нова функція :func:`asyncio.current_task` повертає поточний екземпляр :class:" +"`~asyncio.Task`, а нова функція :func:`asyncio.all_tasks` повертає набір " +"усіх існуючих екземплярів ``Task`` у заданому циклі. Методи :meth:`Task." +"current_task() ` і :meth:`Task.all_tasks() " +"` застаріли. (Надав Ендрю Свєтлов у :issue:`32250`.)" + +msgid "" +"The new *provisional* :class:`~asyncio.BufferedProtocol` class allows " +"implementing streaming protocols with manual control over the receive " +"buffer. (Contributed by Yury Selivanov in :issue:`32251`.)" +msgstr "" +"Новий *тимчасовий* клас :class:`~asyncio.BufferedProtocol` дозволяє " +"реалізувати потокові протоколи з ручним керуванням буфером отримання. (Надав " +"Юрій Селіванов у :issue:`32251`.)" + +msgid "" +"The new :func:`asyncio.get_running_loop` function returns the currently " +"running loop, and raises a :exc:`RuntimeError` if no loop is running. This " +"is in contrast with :func:`asyncio.get_event_loop`, which will *create* a " +"new event loop if none is running. (Contributed by Yury Selivanov in :issue:" +"`32269`.)" +msgstr "" +"Нова функція :func:`asyncio.get_running_loop` повертає поточний запущений " +"цикл і викликає :exc:`RuntimeError`, якщо жоден цикл не запущено. Це " +"відрізняється від :func:`asyncio.get_event_loop`, який *створить* новий цикл " +"подій, якщо жодна з них не запущена. (Надав Юрій Селіванов у :issue:`32269`.)" + +msgid "" +"The new :meth:`StreamWriter.wait_closed() ` coroutine method allows waiting until the stream writer is " +"closed. The new :meth:`StreamWriter.is_closing() ` method can be used to determine if the writer is closing. " +"(Contributed by Andrew Svetlov in :issue:`32391`.)" +msgstr "" +"Новий метод співпрограми :meth:`StreamWriter.wait_closed() ` дозволяє чекати, доки закриється записувач " +"потоку. Новий метод :meth:`StreamWriter.is_closing() ` можна використовувати, щоб визначити, чи закривається " +"записувач. (Надав Ендрю Свєтлов у :issue:`32391`.)" + +msgid "" +"The new :meth:`loop.sock_sendfile() ` coroutine " +"method allows sending files using :mod:`os.sendfile` when possible. " +"(Contributed by Andrew Svetlov in :issue:`32410`.)" +msgstr "" +"Новий метод :meth:`loop.sock_sendfile() ` " +"дозволяє надсилати файли за допомогою :mod:`os.sendfile`, коли це можливо. " +"(Надав Ендрю Свєтлов у :issue:`32410`.)" + +msgid "" +"The new :meth:`Future.get_loop() ` and ``Task." +"get_loop()`` methods return the instance of the loop on which a task or a " +"future were created. :meth:`Server.get_loop() ` " +"allows doing the same for :class:`asyncio.Server` objects. (Contributed by " +"Yury Selivanov in :issue:`32415` and Srinivas Reddy Thatiparthy in :issue:" +"`32418`.)" +msgstr "" +"Нові методи :meth:`Future.get_loop() ` і ``Task." +"get_loop()`` повертають екземпляр циклу, у якому було створено завдання або " +"майбутнє. :meth:`Server.get_loop() ` дозволяє " +"робити те саме для об’єктів :class:`asyncio.Server`. (Надав Юрій Селіванов " +"у :issue:`32415` та Шрінівас Редді Татіпарті у :issue:`32418`.)" + +msgid "" +"It is now possible to control how instances of :class:`asyncio.Server` begin " +"serving. Previously, the server would start serving immediately when " +"created. The new *start_serving* keyword argument to :meth:`loop." +"create_server() ` and :meth:`loop." +"create_unix_server() `, as well as :meth:" +"`Server.start_serving() `, and :meth:`Server." +"serve_forever() ` can be used to decouple " +"server instantiation and serving. The new :meth:`Server.is_serving() " +"` method returns ``True`` if the server is " +"serving. :class:`~asyncio.Server` objects are now asynchronous context " +"managers::" +msgstr "" +"Тепер можна контролювати, як екземпляри :class:`asyncio.Server` починають " +"обслуговувати. Раніше сервер починав обслуговувати одразу після створення. " +"Новий аргумент ключового слова *start_serving* для :meth:`loop." +"create_server() ` і :meth:`loop." +"create_unix_server() `, а також :meth:" +"`Server.start_serving() `, і :meth:`Server." +"serve_forever() ` можна використовувати, щоб " +"роз’єднати інстанціювання сервера та обслуговування. Новий метод :meth:" +"`Server.is_serving() ` повертає ``True``, якщо " +"сервер обслуговує. :class:`~asyncio.Server` об’єкти тепер є асинхронними " +"контекстними менеджерами::" + +msgid "(Contributed by Yury Selivanov in :issue:`32662`.)" +msgstr "(Надав Юрій Селіванов у :issue:`32662`.)" + +msgid "" +"Callback objects returned by :func:`loop.call_later() ` gained the new :meth:`when() ` method " +"which returns an absolute scheduled callback timestamp. (Contributed by " +"Andrew Svetlov in :issue:`32741`.)" +msgstr "" +"Об’єкти зворотного виклику, повернуті :func:`loop.call_later() `, отримали новий метод :meth:`when() `, який повертає абсолютну позначку часу зворотного виклику за " +"розкладом. (Надав Ендрю Свєтлов у :issue:`32741`.)" + +msgid "" +"The :meth:`loop.create_datagram_endpoint() \\ ` method gained support for Unix sockets. " +"(Contributed by Quentin Dawans in :issue:`31245`.)" +msgstr "" +"Метод :meth:`loop.create_datagram_endpoint() \\ ` отримав підтримку сокетів Unix. (Надав Квентін " +"Даванс у :issue:`31245`.)" + +msgid "" +"The :func:`asyncio.open_connection`, :func:`asyncio.start_server` " +"functions, :meth:`loop.create_connection() `, :meth:`loop.create_server() `, :meth:`loop.create_accepted_socket() ` methods and their corresponding UNIX socket " +"variants now accept the *ssl_handshake_timeout* keyword argument. " +"(Contributed by Neil Aspinall in :issue:`29970`.)" +msgstr "" +"Функції :func:`asyncio.open_connection`, :func:`asyncio.start_server`, :meth:" +"`loop.create_connection() `, :meth:`loop." +"create_server() `, :meth:`loop. " +"create_accepted_socket() ` методи та " +"їхні відповідні варіанти сокетів UNIX тепер приймають аргумент ключового " +"слова *ssl_handshake_timeout*. (Надав Ніл Аспінолл у :issue:`29970`.)" + +msgid "" +"The new :meth:`Handle.cancelled() ` method returns " +"``True`` if the callback was cancelled. (Contributed by Marat Sharafutdinov " +"in :issue:`31943`.)" +msgstr "" +"Новий метод :meth:`Handle.cancelled() ` повертає " +"``True``, якщо зворотний виклик було скасовано. (Надав Марат Шарафутдінов у :" +"issue:`31943`.)" + +msgid "" +"The asyncio source has been converted to use the :keyword:`async`/:keyword:" +"`await` syntax. (Contributed by Andrew Svetlov in :issue:`32193`.)" +msgstr "" +"Джерело asyncio було перетворено на використання синтаксису :keyword:" +"`async`/:keyword:`await`. (Надав Ендрю Свєтлов у :issue:`32193`.)" + +msgid "" +"The new :meth:`ReadTransport.is_reading() ` method can be used to determine the reading state of the " +"transport. Additionally, calls to :meth:`ReadTransport.resume_reading() " +"` and :meth:`ReadTransport." +"pause_reading() ` are now idempotent. " +"(Contributed by Yury Selivanov in :issue:`32356`.)" +msgstr "" +"Новий метод :meth:`ReadTransport.is_reading() ` можна використовувати для визначення стану читання транспорту. " +"Крім того, виклики :meth:`ReadTransport.resume_reading() ` і :meth:`ReadTransport.pause_reading() " +"` тепер ідемпотентні. (Надав Юрій " +"Селіванов у :issue:`32356`.)" + +msgid "" +"Loop methods which accept socket paths now support passing :term:`path-like " +"objects `. (Contributed by Yury Selivanov in :issue:" +"`32066`.)" +msgstr "" +"Методи циклу, які приймають шляхи до сокетів, тепер підтримують передачу :" +"term:`path-подібних об’єктів `. (Надав Юрій Селіванов у :" +"issue:`32066`.)" + +msgid "" +"In :mod:`asyncio` TCP sockets on Linux are now created with ``TCP_NODELAY`` " +"flag set by default. (Contributed by Yury Selivanov and Victor Stinner in :" +"issue:`27456`.)" +msgstr "" +"У :mod:`asyncio` TCP-сокети в Linux тепер створюються з прапорцем " +"``TCP_NODELAY``, установленим за замовчуванням. (Надано Юрієм Селівановим і " +"Віктором Стіннером у :issue:`27456`.)" + +msgid "" +"Exceptions occurring in cancelled tasks are no longer logged. (Contributed " +"by Yury Selivanov in :issue:`30508`.)" +msgstr "" +"Винятки, що виникають у скасованих завданнях, більше не реєструються. (Надав " +"Юрій Селіванов у :issue:`30508`.)" + +msgid "" +"New ``WindowsSelectorEventLoopPolicy`` and " +"``WindowsProactorEventLoopPolicy`` classes. (Contributed by Yury Selivanov " +"in :issue:`33792`.)" +msgstr "" +"Нові класи ``WindowsSelectorEventLoopPolicy`` і " +"``WindowsProactorEventLoopPolicy``. (Надав Юрій Селіванов у :issue:`33792`.)" + +msgid "" +"Several ``asyncio`` APIs have been :ref:`deprecated `." +msgstr "" +"Кілька ``asyncio`` API були :ref:`застарілими `." + +msgid "binascii" +msgstr "binascii" + +msgid "" +"The :func:`~binascii.b2a_uu` function now accepts an optional *backtick* " +"keyword argument. When it's true, zeros are represented by ``'`'`` instead " +"of spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" +msgstr "" +"Функція :func:`~binascii.b2a_uu` тепер приймає додатковий аргумент ключового " +"слова *backtick*. Коли це істина, нулі представлені ``'`'`` замість " +"пробілів. (Надав Xiang Zhang у :issue:`30103`.)" + +msgid "calendar" +msgstr "календар" + +msgid "" +"The :class:`~calendar.HTMLCalendar` class has new class attributes which " +"ease the customization of CSS classes in the produced HTML calendar. " +"(Contributed by Oz Tiram in :issue:`30095`.)" +msgstr "" +"Клас :class:`~calendar.HTMLCalendar` має нові атрибути класу, які спрощують " +"налаштування класів CSS у створеному HTML-календарі. (Надав Оз Тірам у :" +"issue:`30095`.)" + +msgid "collections" +msgstr "колекції" + +msgid "" +"``collections.namedtuple()`` now supports default values. (Contributed by " +"Raymond Hettinger in :issue:`32320`.)" +msgstr "" +"``collections.namedtuple()`` тепер підтримує значення за замовчуванням. " +"(Надав Реймонд Геттінгер у :issue:`32320`.)" + +msgid "compileall" +msgstr "compileall" + +msgid "" +":func:`compileall.compile_dir` learned the new *invalidation_mode* " +"parameter, which can be used to enable :ref:`hash-based .pyc invalidation " +"`. The invalidation mode can also be specified on the " +"command line using the new ``--invalidation-mode`` argument. (Contributed by " +"Benjamin Peterson in :issue:`31650`.)" +msgstr "" +":func:`compileall.compile_dir` отримав новий параметр *invalidation_mode*, " +"який можна використовувати для ввімкнення :ref:`анулювання .pyc на основі " +"хешу `. Режим недійсності також можна вказати в " +"командному рядку за допомогою нового аргументу ``--invalidation-mode``. " +"(Надав Бенджамін Петерсон у :issue:`31650`.)" + +msgid "concurrent.futures" +msgstr "concurrent.futures" + +msgid "" +":class:`ProcessPoolExecutor ` and :" +"class:`ThreadPoolExecutor ` now " +"support the new *initializer* and *initargs* constructor arguments. " +"(Contributed by Antoine Pitrou in :issue:`21423`.)" +msgstr "" +":class:`ProcessPoolExecutor ` і :" +"class:`ThreadPoolExecutor ` тепер " +"підтримують нові аргументи конструктора *initializer* і *initargs*. (Надав " +"Антуан Пітру в :issue:`21423`.)" + +msgid "" +"The :class:`ProcessPoolExecutor ` " +"can now take the multiprocessing context via the new *mp_context* argument. " +"(Contributed by Thomas Moreau in :issue:`31540`.)" +msgstr "" +":class:`ProcessPoolExecutor ` тепер " +"може приймати багатопроцесорний контекст за допомогою нового аргументу " +"*mp_context*. (Надав Томас Моро в :issue:`31540`.)" + +msgid "contextlib" +msgstr "contextlib" + +msgid "" +"The new :func:`~contextlib.nullcontext` is a simpler and faster no-op " +"context manager than :class:`~contextlib.ExitStack`. (Contributed by Jesse-" +"Bakker in :issue:`10049`.)" +msgstr "" +"Новий :func:`~contextlib.nullcontext` є простішим і швидшим безопераційним " +"менеджером контексту, ніж :class:`~contextlib.ExitStack`. (Надано Jesse-" +"Bakker у :issue:`10049`.)" + +msgid "" +"The new :func:`~contextlib.asynccontextmanager`, :class:`~contextlib." +"AbstractAsyncContextManager`, and :class:`~contextlib.AsyncExitStack` have " +"been added to complement their synchronous counterparts. (Contributed by " +"Jelle Zijlstra in :issue:`29679` and :issue:`30241`, and by Alexander Mohr " +"and Ilya Kulakov in :issue:`29302`.)" +msgstr "" +"Нові :func:`~contextlib.asynccontextmanager`, :class:`~contextlib." +"AbstractAsyncContextManager` і :class:`~contextlib.AsyncExitStack` додано, " +"щоб доповнити їх синхронні аналоги. (Надано Джелле Зійлстра в :issue:`29679` " +"і :issue:`30241`, а також Олександром Мором та Іллею Кулаковим у :issue:" +"`29302`.)" + +msgid "cProfile" +msgstr "cProfile" + +msgid "" +"The :mod:`cProfile` command line now accepts ``-m module_name`` as an " +"alternative to script path. (Contributed by Sanyam Khurana in :issue:" +"`21862`.)" +msgstr "" +"Командний рядок :mod:`cProfile` тепер приймає ``-m module_name`` як " +"альтернативу шляху сценарію. (Надано Sanyam Khurana в :issue:`21862`.)" + +msgid "crypt" +msgstr "склеп" + +msgid "" +"The :mod:`crypt` module now supports the Blowfish hashing method. " +"(Contributed by Serhiy Storchaka in :issue:`31664`.)" +msgstr "" +"Модуль :mod:`crypt` тепер підтримує метод хешування Blowfish. (Надав Сергій " +"Сторчака в :issue:`31664`.)" + +msgid "" +"The :func:`~crypt.mksalt` function now allows specifying the number of " +"rounds for hashing. (Contributed by Serhiy Storchaka in :issue:`31702`.)" +msgstr "" +"Функція :func:`~crypt.mksalt` тепер дозволяє вказувати кількість раундів для " +"хешування. (Надав Сергій Сторчака в :issue:`31702`.)" + +msgid "datetime" +msgstr "дата, час" + +msgid "" +"The new :meth:`datetime.fromisoformat() ` " +"method constructs a :class:`~datetime.datetime` object from a string in one " +"of the formats output by :meth:`datetime.isoformat() `. (Contributed by Paul Ganssle in :issue:`15873`.)" +msgstr "" +"Новий метод :meth:`datetime.fromisoformat() ` створює об’єкт :class:`~datetime.datetime` із рядка в одному " +"з форматів, виведених :meth:`datetime.isoformat() `. (Надав Пол Ганссле в :issue:`15873`.)" + +msgid "" +"The :class:`tzinfo ` class now supports sub-minute offsets. " +"(Contributed by Alexander Belopolsky in :issue:`5288`.)" +msgstr "" +"Клас :class:`tzinfo ` тепер підтримує субхвилинні зсуви. " +"(Надав Олександр Бєлопольський у :issue:`5288`.)" + +msgid "dbm" +msgstr "dbm" + +msgid "" +":mod:`dbm.dumb` now supports reading read-only files and no longer writes " +"the index file when it is not changed." +msgstr "" +":mod:`dbm.dumb` тепер підтримує читання файлів лише для читання та більше не " +"записує файл індексу, якщо він не змінений." + +msgid "decimal" +msgstr "десятковий" + +msgid "" +"The :mod:`decimal` module now uses :ref:`context variables ` to store the decimal context. (Contributed by Yury Selivanov in :" +"issue:`32630`.)" +msgstr "" +"Модуль :mod:`decimal` тепер використовує :ref:`контекстні змінні ` для зберігання десяткового контексту. (Надав Юрій Селіванов у :" +"issue:`32630`.)" + +msgid "dis" +msgstr "дис" + +msgid "" +"The :func:`~dis.dis` function is now able to disassemble nested code objects " +"(the code of comprehensions, generator expressions and nested functions, and " +"the code used for building nested classes). The maximum depth of " +"disassembly recursion is controlled by the new *depth* parameter. " +"(Contributed by Serhiy Storchaka in :issue:`11822`.)" +msgstr "" +"Функція :func:`~dis.dis` тепер може розбирати об’єкти вкладеного коду (код " +"розуміння, вирази генератора та вкладені функції, а також код, який " +"використовується для створення вкладених класів). Максимальна глибина " +"рекурсії розбирання контролюється новим параметром *depth*. (Надав Сергій " +"Сторчака в :issue:`11822`.)" + +msgid "distutils" +msgstr "distutils" + +msgid "" +"``README.rst`` is now included in the list of distutils standard READMEs and " +"therefore included in source distributions. (Contributed by Ryan Gonzalez " +"in :issue:`11913`.)" +msgstr "" +"``README.rst`` тепер включено до списку стандартних файлів README Distutils " +"і, отже, включено до вихідних дистрибутивів. (Надав Райан Гонзалес у :issue:" +"`11913`.)" + +msgid "enum" +msgstr "перелік" + +msgid "" +"The :class:`Enum ` learned the new ``_ignore_`` class property, " +"which allows listing the names of properties which should not become enum " +"members. (Contributed by Ethan Furman in :issue:`31801`.)" +msgstr "" +":class:`Enum ` отримав нову властивість класу ``_ignore_``, яка " +"дозволяє перераховувати назви властивостей, які не повинні стати членами " +"переліку. (Надав Ітан Фурман у :issue:`31801`.)" + +msgid "" +"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " +"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " +"attempting to check for non-Flag objects in a :class:`Flag` member will " +"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " +"return :const:`False` instead and are deprecated. (Contributed by Ethan " +"Furman in :issue:`33217`.)" +msgstr "" +"У Python 3.8 спроба перевірити об’єкти, відмінні від Enum, у класах :class:" +"`Enum` викличе :exc:`TypeError` (наприклад, ``1 in Color``); аналогічно " +"спроба перевірити об’єкти без прапорців у члені :class:`Flag` викличе :exc:" +"`TypeError` (наприклад, ``1 in Perm.RW``); наразі обидві операції замість " +"цього повертають :const:`False` і є застарілими. (Надав Ітан Фурман у :issue:" +"`33217`.)" + +msgid "functools" +msgstr "functools" + +msgid "" +":func:`functools.singledispatch` now supports registering implementations " +"using type annotations. (Contributed by Łukasz Langa in :issue:`32227`.)" +msgstr "" +":func:`functools.singledispatch` тепер підтримує реєстрацію реалізацій за " +"допомогою анотацій типів. (Надав Łukasz Langa в :issue:`32227`.)" + +msgid "gc" +msgstr "gc" + +msgid "" +"The new :func:`gc.freeze` function allows freezing all objects tracked by " +"the garbage collector and excluding them from future collections. This can " +"be used before a POSIX ``fork()`` call to make the GC copy-on-write friendly " +"or to speed up collection. The new :func:`gc.unfreeze` functions reverses " +"this operation. Additionally, :func:`gc.get_freeze_count` can be used to " +"obtain the number of frozen objects. (Contributed by Li Zekun in :issue:" +"`31558`.)" +msgstr "" +"Нова функція :func:`gc.freeze` дозволяє заморозити всі об’єкти, які " +"відстежує збирач сміття, і виключити їх із майбутніх колекцій. Це можна " +"використовувати перед викликом POSIX ``fork()``, щоб зробити GC зручним для " +"копіювання під час запису або прискорити збір. Нові функції :func:`gc." +"unfreeze` скасовують цю операцію. Крім того, :func:`gc.get_freeze_count` " +"можна використовувати для отримання кількості заморожених об’єктів. (Надав " +"Лі Зекун у :issue:`31558`.)" + +msgid "hmac" +msgstr "hmac" + +msgid "" +"The :mod:`hmac` module now has an optimized one-shot :func:`~hmac.digest` " +"function, which is up to three times faster than :func:`~hmac.HMAC`. " +"(Contributed by Christian Heimes in :issue:`32433`.)" +msgstr "" +"Модуль :mod:`hmac` тепер має оптимізовану одноразову функцію :func:`~hmac." +"digest`, яка втричі швидша, ніж :func:`~hmac.HMAC`. (Надав Крістіан Хеймс у :" +"issue:`32433`.)" + +msgid "http.client" +msgstr "http.client" + +msgid "" +":class:`~http.client.HTTPConnection` and :class:`~http.client." +"HTTPSConnection` now support the new *blocksize* argument for improved " +"upload throughput. (Contributed by Nir Soffer in :issue:`31945`.)" +msgstr "" +":class:`~http.client.HTTPConnection` і :class:`~http.client.HTTPSConnection` " +"тепер підтримують новий аргумент *blocksize* для покращення пропускної " +"здатності завантаження. (Надав Нір Соффер у :issue:`31945`.)" + +msgid "http.server" +msgstr "http.сервер" + +msgid "" +":class:`~http.server.SimpleHTTPRequestHandler` now supports the HTTP ``If-" +"Modified-Since`` header. The server returns the 304 response status if the " +"target file was not modified after the time specified in the header. " +"(Contributed by Pierre Quentel in :issue:`29654`.)" +msgstr "" +":class:`~http.server.SimpleHTTPRequestHandler` тепер підтримує заголовок " +"HTTP ``If-Modified-Since``. Сервер повертає статус відповіді 304, якщо " +"цільовий файл не було змінено після часу, зазначеного в заголовку. (Надано " +"П’єром Квентелем у :issue:`29654`.)" + +msgid "" +":class:`~http.server.SimpleHTTPRequestHandler` accepts the new *directory* " +"argument, in addition to the new ``--directory`` command line argument. With " +"this parameter, the server serves the specified directory, by default it " +"uses the current working directory. (Contributed by Stéphane Wirtel and " +"Julien Palard in :issue:`28707`.)" +msgstr "" +":class:`~http.server.SimpleHTTPRequestHandler` приймає новий аргумент " +"*directory* на додаток до нового аргументу командного рядка ``--directory``. " +"З цим параметром сервер обслуговує вказаний каталог, за замовчуванням він " +"використовує поточний робочий каталог. (Надано Стефаном Віртелем і Жюльєном " +"Палардом у :issue:`28707`.)" + +msgid "" +"The new :class:`ThreadingHTTPServer ` class " +"uses threads to handle requests using :class:`~socketserver.ThreadingMixin`. " +"It is used when ``http.server`` is run with ``-m``. (Contributed by Julien " +"Palard in :issue:`31639`.)" +msgstr "" +"Новий клас :class:`ThreadingHTTPServer ` " +"використовує потоки для обробки запитів за допомогою :class:`~socketserver." +"ThreadingMixin`. Він використовується, коли ``http.server`` запускається з " +"``-m``. (Надав Жюльєн Палард у :issue:`31639`.)" + +msgid "idlelib and IDLE" +msgstr "idlelib і IDLE" + +msgid "" +"Multiple fixes for autocompletion. (Contributed by Louie Lu in :issue:" +"`15786`.)" +msgstr "Кілька виправлень для автозавершення. (Надав Луї Лу в :issue:`15786`.)" + +msgid "" +"Module Browser (on the File menu, formerly called Class Browser), now " +"displays nested functions and classes in addition to top-level functions and " +"classes. (Contributed by Guilherme Polo, Cheryl Sabella, and Terry Jan Reedy " +"in :issue:`1612262`.)" +msgstr "" +"Браузер модулів (у меню \"Файл\", раніше називався \"Браузер класів\") тепер " +"відображає вкладені функції та класи на додаток до функцій і класів " +"верхнього рівня. (Надано Гільєрме Поло, Шеріл Сабелла та Террі Ян Ріді в :" +"issue:`1612262`.)" + +msgid "" +"The Settings dialog (Options, Configure IDLE) has been partly rewritten to " +"improve both appearance and function. (Contributed by Cheryl Sabella and " +"Terry Jan Reedy in multiple issues.)" +msgstr "" +"Діалогове вікно налаштувань (параметри, налаштування IDLE) було частково " +"переписано, щоб покращити зовнішній вигляд і функції. (Надано Шеріл Сабеллою " +"та Террі Джен Ріді в кількох випусках.)" + +msgid "" +"The font sample now includes a selection of non-Latin characters so that " +"users can better see the effect of selecting a particular font. (Contributed " +"by Terry Jan Reedy in :issue:`13802`.) The sample can be edited to include " +"other characters. (Contributed by Serhiy Storchaka in :issue:`31860`.)" +msgstr "" +"Зразок шрифту тепер містить вибірку нелатинських символів, щоб користувачі " +"могли краще побачити ефект від вибору певного шрифту. (Надав Террі Ян Ріді " +"в :issue:`13802`.) Зразок можна редагувати, щоб включити інші символи. " +"(Надав Сергій Сторчака в :issue:`31860`.)" + +msgid "" +"The IDLE features formerly implemented as extensions have been reimplemented " +"as normal features. Their settings have been moved from the Extensions tab " +"to other dialog tabs. (Contributed by Charles Wohlganger and Terry Jan Reedy " +"in :issue:`27099`.)" +msgstr "" +"Функції IDLE, раніше реалізовані як розширення, були повторно реалізовані як " +"звичайні функції. Їх налаштування переміщено з вкладки \"Розширення\" на " +"інші вкладки діалогу. (Надано Чарльзом Волгангером і Террі Джаном Ріді в :" +"issue:`27099`.)" + +msgid "" +"Editor code context option revised. Box displays all context lines up to " +"maxlines. Clicking on a context line jumps the editor to that line. " +"Context colors for custom themes is added to Highlights tab of Settings " +"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" +"`33642`, :issue:`33768`, and :issue:`33679`.)" +msgstr "" +"Опцію контексту коду редактора переглянуто. Box відображає всі контекстні " +"рядки до maxlines. Клацання на рядку контексту переводить редактор до цього " +"рядка. Кольори контексту для спеціальних тем додано на вкладку \"Висвітлення" +"\" діалогового вікна \"Параметри\". (Надано Шеріл Сабелла та Террі Ян Ріді " +"в :issue:`33642`, :issue:`33768` та :issue:`33679`.)" + +msgid "" +"On Windows, a new API call tells Windows that tk scales for DPI. On Windows " +"8.1+ or 10, with DPI compatibility properties of the Python binary " +"unchanged, and a monitor resolution greater than 96 DPI, this should make " +"text and lines sharper. It should otherwise have no effect. (Contributed by " +"Terry Jan Reedy in :issue:`33656`.)" +msgstr "" +"У Windows новий виклик API повідомляє Windows, що tk масштабується для DPI. " +"У Windows 8.1+ або 10 із незмінними властивостями сумісності DPI двійкового " +"коду Python і роздільною здатністю монітора понад 96 DPI текст і лінії мають " +"бути чіткішими. В іншому випадку це не повинно мати ефекту. (Надав Террі Ян " +"Ріді в :issue:`33656`.)" + +msgid "New in 3.7.1:" +msgstr "Нове в 3.7.1:" + +msgid "" +"Output over N lines (50 by default) is squeezed down to a button. N can be " +"changed in the PyShell section of the General page of the Settings dialog. " +"Fewer, but possibly extra long, lines can be squeezed by right clicking on " +"the output. Squeezed output can be expanded in place by double-clicking the " +"button or into the clipboard or a separate window by right-clicking the " +"button. (Contributed by Tal Einat in :issue:`1529353`.)" +msgstr "" +"Виведення в N рядків (50 за замовчуванням) стиснуто до кнопки. N можна " +"змінити в розділі PyShell на сторінці \"Загальні\" діалогового вікна " +"\"Параметри\". Менше, але, можливо, дуже довгих рядків можна стиснути, " +"клацнувши правою кнопкою миші на виведенні. Стиснутий вихід можна розгорнути " +"на місці, подвійним клацанням кнопки або в буфер обміну чи окреме вікно, " +"клацнувши кнопку правою кнопкою миші. (Надав Тал Ейнат у :issue:`1529353`.)" + +msgid "The changes above have been backported to 3.6 maintenance releases." +msgstr "Зазначені вище зміни було перенесено до випусків обслуговування 3.6." + +msgid "NEW in 3.7.4:" +msgstr "НОВЕ в 3.7.4:" + +msgid "" +"Add \"Run Customized\" to the Run menu to run a module with customized " +"settings. Any command line arguments entered are added to sys.argv. They re-" +"appear in the box for the next customized run. One can also suppress the " +"normal Shell main module restart. (Contributed by Cheryl Sabella, Terry Jan " +"Reedy, and others in :issue:`5680` and :issue:`37627`.)" +msgstr "" +"Додайте \"Run Customized\" до меню \"Run\", щоб запустити модуль із " +"налаштованими налаштуваннями. Будь-які введені аргументи командного рядка " +"додаються до sys.argv. Вони знову з’являються в полі для наступного " +"налаштованого запуску. Можна також придушити звичайний перезапуск головного " +"модуля Shell. (Надано Шеріл Сабелла, Террі Ян Ріді та іншими в :issue:`5680` " +"і :issue:`37627`.)" + +msgid "New in 3.7.5:" +msgstr "Нове в 3.7.5:" + +msgid "" +"Add optional line numbers for IDLE editor windows. Windows open without line " +"numbers unless set otherwise in the General tab of the configuration " +"dialog. Line numbers for an existing window are shown and hidden in the " +"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" +"`17535`.)" +msgstr "" +"Додайте додаткові номери рядків для вікон редактора IDLE. Вікна " +"відкриваються без номерів рядків, якщо не встановлено інше на вкладці " +"\"Загальні\" діалогового вікна налаштування. Номери рядків для існуючого " +"вікна відображаються та ховаються в меню \"Параметри\". (Надано Тал Ейнат і " +"Саймадхав Геблікар у :issue:`17535`.)" + +msgid "importlib" +msgstr "importlib" + +msgid "" +"The :class:`importlib.abc.ResourceReader` ABC was introduced to support the " +"loading of resources from packages. See also :ref:" +"`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, Brett Cannon " +"in :issue:`32248`.)" +msgstr "" +":class:`importlib.abc.ResourceReader` ABC було представлено для підтримки " +"завантаження ресурсів із пакетів. Дивіться також :ref:" +"`whatsnew37_importlib_resources`. (Надано Баррі Варшау, Бреттом Кенноном у :" +"issue:`32248`.)" + +msgid "" +":func:`importlib.reload` now raises :exc:`ModuleNotFoundError` if the module " +"lacks a spec. (Contributed by Garvit Khatri in :issue:`29851`.)" +msgstr "" +":func:`importlib.reload` тепер викликає :exc:`ModuleNotFoundError`, якщо " +"модуль не має специфікації. (Надав Гарвіт Хатрі в :issue:`29851`.)" + +msgid "" +":func:`importlib.find_spec` now raises :exc:`ModuleNotFoundError` instead " +"of :exc:`AttributeError` if the specified parent module is not a package (i." +"e. lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch in :" +"issue:`30436`.)" +msgstr "" +":func:`importlib.find_spec` тепер викликає :exc:`ModuleNotFoundError` " +"замість :exc:`AttributeError`, якщо вказаний батьківський модуль не є " +"пакетом (тобто не має атрибута ``__path__``). (Надав Мілан Оберкірх у :issue:" +"`30436`.)" + +msgid "" +"The new :func:`importlib.source_hash` can be used to compute the hash of the " +"passed source. A :ref:`hash-based .pyc file ` embeds the " +"value returned by this function." +msgstr "" +"Новий :func:`importlib.source_hash` можна використовувати для обчислення " +"хешу переданого джерела. :ref:`файл .pyc на основі хешу ` " +"вбудовує значення, яке повертає ця функція." + +msgid "io" +msgstr "io" + +msgid "" +"The new :meth:`TextIOWrapper.reconfigure() ` " +"method can be used to reconfigure the text stream with the new settings. " +"(Contributed by Antoine Pitrou in :issue:`30526` and INADA Naoki in :issue:" +"`15216`.)" +msgstr "" +"Новий метод :meth:`TextIOWrapper.reconfigure() ` можна використовувати для переналаштування текстового потоку з " +"новими налаштуваннями. (Надано Антуаном Пітру в :issue:`30526` та INADA " +"Naoki в :issue:`15216`.)" + +msgid "ipaddress" +msgstr "IP-адреса" + +msgid "" +"The new ``subnet_of()`` and ``supernet_of()`` methods of :class:`ipaddress." +"IPv6Network` and :class:`ipaddress.IPv4Network` can be used for network " +"containment tests. (Contributed by Michel Albert and Cheryl Sabella in :" +"issue:`20825`.)" +msgstr "" +"Нові методи ``subnet_of()`` і ``supernet_of()`` :class:`ipaddress." +"IPv6Network` і :class:`ipaddress.IPv4Network` можна використовувати для " +"перевірки обмеження мережі. (Надано Мішелем Альбертом і Шеріл Сабеллою в :" +"issue:`20825`.)" + +msgid "itertools" +msgstr "itertools" + +msgid "" +":func:`itertools.islice` now accepts :meth:`integer-like objects ` as start, stop, and slice arguments. (Contributed by Will " +"Roberts in :issue:`30537`.)" +msgstr "" +":func:`itertools.islice` тепер приймає :meth:`цілочисельні об’єкти ` як аргументи запуску, зупинки та фрагмента. (Надав Вілл Робертс " +"у :issue:`30537`.)" + +msgid "locale" +msgstr "локаль" + +msgid "" +"The new *monetary* argument to :func:`locale.format_string` can be used to " +"make the conversion use monetary thousands separators and grouping strings. " +"(Contributed by Garvit in :issue:`10379`.)" +msgstr "" +"Новий аргумент *monetary* для :func:`locale.format_string` можна " +"використовувати, щоб перетворення використовувало грошові розділювачі тисяч " +"і рядки групування. (Надано Гарвітом у :issue:`10379`.)" + +msgid "" +"The :func:`locale.getpreferredencoding` function now always returns " +"``'UTF-8'`` on Android or when in the :ref:`forced UTF-8 mode `." +msgstr "" +"Функція :func:`locale.getpreferredencoding` тепер завжди повертає " +"``'UTF-8'`` на Android або в :ref:`примусовому режимі UTF-8 `." + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +":class:`~logging.Logger` instances can now be pickled. (Contributed by Vinay " +"Sajip in :issue:`30520`.)" +msgstr "" +"Тепер екземпляри :class:`~logging.Logger` можна маринувати. (Надав Віней " +"Саджип у :issue:`30520`.)" + +msgid "" +"The new :meth:`StreamHandler.setStream() ` " +"method can be used to replace the logger stream after handler creation. " +"(Contributed by Vinay Sajip in :issue:`30522`.)" +msgstr "" +"Новий метод :meth:`StreamHandler.setStream() ` можна використовувати для заміни потоку реєстратора після " +"створення обробника. (Надав Віней Саджип у :issue:`30522`.)" + +msgid "" +"It is now possible to specify keyword arguments to handler constructors in " +"configuration passed to :func:`logging.config.fileConfig`. (Contributed by " +"Preston Landers in :issue:`31080`.)" +msgstr "" +"Тепер можна вказати ключові аргументи для конструкторів обробників у " +"конфігурації, переданій у :func:`logging.config.fileConfig`. (Надано " +"Престоном Лендерсом у :issue:`31080`.)" + +msgid "math" +msgstr "математика" + +msgid "" +"The new :func:`math.remainder` function implements the IEEE 754-style " +"remainder operation. (Contributed by Mark Dickinson in :issue:`29962`.)" +msgstr "" +"Нова функція :func:`math.remainder` реалізує операцію залишку у стилі IEEE " +"754. (Надав Марк Дікінсон у :issue:`29962`.)" + +msgid "mimetypes" +msgstr "міметипи" + +msgid "" +"The MIME type of .bmp has been changed from ``'image/x-ms-bmp'`` to ``'image/" +"bmp'``. (Contributed by Nitish Chandra in :issue:`22589`.)" +msgstr "" +"Тип MIME .bmp змінено з ``'image/x-ms-bmp`` на ``'image/bmp'``. (Надано " +"Nitish Chandra в :issue:`22589`.)" + +msgid "msilib" +msgstr "msilib" + +msgid "" +"The new :meth:`Database.Close() ` method can be used " +"to close the :abbr:`MSI` database. (Contributed by Berker Peksag in :issue:" +"`20486`.)" +msgstr "" +"Новий метод :meth:`Database.Close() ` можна " +"використовувати для закриття бази даних :abbr:`MSI`. (Надано Berker Peksag " +"у :issue:`20486`.)" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +"The new :meth:`Process.close() ` method " +"explicitly closes the process object and releases all resources associated " +"with it. :exc:`ValueError` is raised if the underlying process is still " +"running. (Contributed by Antoine Pitrou in :issue:`30596`.)" +msgstr "" +"Новий метод :meth:`Process.close() ` явно " +"закриває об’єкт процесу та звільняє всі пов’язані з ним ресурси. :exc:" +"`ValueError` виникає, якщо основний процес все ще виконується. (Надав Антуан " +"Пітру в :issue:`30596`.)" + +msgid "" +"The new :meth:`Process.kill() ` method can be " +"used to terminate the process using the :data:`SIGKILL` signal on Unix. " +"(Contributed by Vitor Pereira in :issue:`30794`.)" +msgstr "" +"Новий метод :meth:`Process.kill() ` можна " +"використовувати для завершення процесу за допомогою сигналу :data:`SIGKILL` " +"в Unix. (Надав Вітор Перейра в :issue:`30794`.)" + +msgid "" +"Non-daemonic threads created by :class:`~multiprocessing.Process` are now " +"joined on process exit. (Contributed by Antoine Pitrou in :issue:`18966`.)" +msgstr "" +"Недемонічні потоки, створені :class:`~multiprocessing.Process`, тепер " +"об’єднуються після виходу з процесу. (Надав Антуан Пітру в :issue:`18966`.)" + +msgid "os" +msgstr "ос" + +msgid "" +":func:`os.fwalk` now accepts the *path* argument as :class:`bytes`. " +"(Contributed by Serhiy Storchaka in :issue:`28682`.)" +msgstr "" +":func:`os.fwalk` тепер приймає аргумент *path* як :class:`bytes`. (Надав " +"Сергій Сторчака в :issue:`28682`.)" + +msgid "" +":func:`os.scandir` gained support for :ref:`file descriptors `. " +"(Contributed by Serhiy Storchaka in :issue:`25996`.)" +msgstr "" +":func:`os.scandir` отримав підтримку для :ref:`дескрипторів файлів " +"`. (Надав Сергій Сторчака в :issue:`25996`.)" + +msgid "" +"The new :func:`~os.register_at_fork` function allows registering Python " +"callbacks to be executed at process fork. (Contributed by Antoine Pitrou in :" +"issue:`16500`.)" +msgstr "" +"Нова функція :func:`~os.register_at_fork` дозволяє реєструвати зворотні " +"виклики Python для виконання в розгалуженні процесу. (Надав Антуан Пітру в :" +"issue:`16500`.)" + +msgid "" +"Added :func:`os.preadv` (combine the functionality of :func:`os.readv` and :" +"func:`os.pread`) and :func:`os.pwritev` functions (combine the functionality " +"of :func:`os.writev` and :func:`os.pwrite`). (Contributed by Pablo Galindo " +"in :issue:`31368`.)" +msgstr "" +"Додано функції :func:`os.preadv` (поєднує функції :func:`os.readv` і :func:" +"`os.pread`) і :func:`os.pwritev` (поєднує функції :func:`os.writev` і :func:" +"`os.pwrite`). (Надав Пабло Галіндо в :issue:`31368`.)" + +msgid "" +"The mode argument of :func:`os.makedirs` no longer affects the file " +"permission bits of newly created intermediate-level directories. " +"(Contributed by Serhiy Storchaka in :issue:`19930`.)" +msgstr "" + +msgid "" +":func:`os.dup2` now returns the new file descriptor. Previously, ``None`` " +"was always returned. (Contributed by Benjamin Peterson in :issue:`32441`.)" +msgstr "" +":func:`os.dup2` тепер повертає новий дескриптор файлу. Раніше завжди " +"повертався ``None``. (Надав Бенджамін Петерсон у :issue:`32441`.)" + +msgid "" +"The structure returned by :func:`os.stat` now contains the :attr:`~os." +"stat_result.st_fstype` attribute on Solaris and its derivatives. " +"(Contributed by Jesús Cea Avión in :issue:`32659`.)" +msgstr "" +"Структура, яку повертає :func:`os.stat`, тепер містить атрибут :attr:`~os." +"stat_result.st_fstype` у Solaris та його похідних. (Надав Jesús Cea Avión у :" +"issue:`32659`.)" + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +"The new :meth:`Path.is_mount() ` method is now " +"available on POSIX systems and can be used to determine whether a path is a " +"mount point. (Contributed by Cooper Ry Lees in :issue:`30897`.)" +msgstr "" +"Новий метод :meth:`Path.is_mount() ` тепер доступний " +"у системах POSIX і може використовуватися для визначення того, чи є шлях " +"точкою монтування. (Надав Купер Рай Ліз у :issue:`30897`.)" + +msgid "pdb" +msgstr "pdb" + +msgid "" +":func:`pdb.set_trace` now takes an optional *header* keyword-only argument. " +"If given, it is printed to the console just before debugging begins. " +"(Contributed by Barry Warsaw in :issue:`31389`.)" +msgstr "" +":func:`pdb.set_trace` тепер приймає необов’язковий аргумент *заголовок*, що " +"містить лише ключове слово. Якщо вказано, воно друкується на консолі " +"безпосередньо перед початком налагодження. (Надав Баррі Варшау у :issue:" +"`31389`.)" + +msgid "" +":mod:`pdb` command line now accepts ``-m module_name`` as an alternative to " +"script file. (Contributed by Mario Corchero in :issue:`32206`.)" +msgstr "" +":mod:`pdb` командний рядок тепер приймає ``-m module_name`` як альтернативу " +"файлу сценарію. (Надав Маріо Корчеро в :issue:`32206`.)" + +msgid "py_compile" +msgstr "py_compile" + +msgid "" +":func:`py_compile.compile` -- and by extension, :mod:`compileall` -- now " +"respects the :envvar:`SOURCE_DATE_EPOCH` environment variable by " +"unconditionally creating ``.pyc`` files for hash-based validation. This " +"allows for guaranteeing `reproducible builds `_ of ``.pyc`` files when they are created eagerly. (Contributed by " +"Bernhard M. Wiedemann in :issue:`29708`.)" +msgstr "" +":func:`py_compile.compile` -- і за розширенням :mod:`compileall` -- тепер " +"поважає змінну середовища :envvar:`SOURCE_DATE_EPOCH` шляхом безумовного " +"створення файлів ``.pyc`` для перевірки на основі хешу. Це дозволяє " +"гарантувати `відтворювані збірки `_ файлів " +"``.pyc``, коли вони створюються з бажанням. (Надав Бернхард М. Відеманн у :" +"issue:`29708`.)" + +msgid "pydoc" +msgstr "pydoc" + +msgid "" +"The pydoc server can now bind to an arbitrary hostname specified by the new " +"``-n`` command-line argument. (Contributed by Feanil Patel in :issue:" +"`31128`.)" +msgstr "" +"Сервер pydoc тепер може прив’язуватися до довільного імені хоста, " +"визначеного новим аргументом командного рядка ``-n``. (Надав Feanil Patel у :" +"issue:`31128`.)" + +msgid "queue" +msgstr "чергу" + +msgid "" +"The new :class:`~queue.SimpleQueue` class is an unbounded :abbr:`FIFO` " +"queue. (Contributed by Antoine Pitrou in :issue:`14976`.)" +msgstr "" +"Новий клас :class:`~queue.SimpleQueue` є необмеженою чергою :abbr:`FIFO`. " +"(Надав Антуан Пітру в :issue:`14976`.)" + +msgid "re" +msgstr "повторно" + +msgid "" +"The flags :const:`re.ASCII`, :const:`re.LOCALE` and :const:`re.UNICODE` can " +"be set within the scope of a group. (Contributed by Serhiy Storchaka in :" +"issue:`31690`.)" +msgstr "" +"Прапори :const:`re.ASCII`, :const:`re.LOCALE` і :const:`re.UNICODE` можна " +"встановити в межах групи. (Надав Сергій Сторчака в :issue:`31690`.)" + +msgid "" +":func:`re.split` now supports splitting on a pattern like ``r'\\b'``, ``'^" +"$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy " +"Storchaka in :issue:`25054`.)" +msgstr "" +":func:`re.split` тепер підтримує розбиття за шаблоном, таким як ``r'\\b'``, " +"``'^$'`` або ``(?=-)``, який відповідає порожньому рядку. (Надав Сергій " +"Сторчака в :issue:`25054`.)" + +msgid "" +"Regular expressions compiled with the :const:`re.LOCALE` flag no longer " +"depend on the locale at compile time. Locale settings are applied only when " +"the compiled regular expression is used. (Contributed by Serhiy Storchaka " +"in :issue:`30215`.)" +msgstr "" +"Регулярні вирази, скомпільовані з прапорцем :const:`re.LOCALE`, більше не " +"залежать від локалі під час компіляції. Параметри мови застосовуються лише " +"тоді, коли використовується скомпільований регулярний вираз. (Надав Сергій " +"Сторчака в :issue:`30215`.)" + +msgid "" +":exc:`FutureWarning` is now emitted if a regular expression contains " +"character set constructs that will change semantically in the future, such " +"as nested sets and set operations. (Contributed by Serhiy Storchaka in :" +"issue:`30349`.)" +msgstr "" +":exc:`FutureWarning` тепер видається, якщо регулярний вираз містить " +"конструкції набору символів, які зміняться семантично в майбутньому, " +"наприклад вкладені набори та операції з наборами. (Надав Сергій Сторчака в :" +"issue:`30349`.)" + +msgid "" +"Compiled regular expression and match objects can now be copied using :func:" +"`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy Storchaka in :" +"issue:`10076`.)" +msgstr "" +"Зкомпільований регулярний вираз і відповідні об’єкти тепер можна копіювати " +"за допомогою :func:`copy.copy` і :func:`copy.deepcopy`. (Надав Сергій " +"Сторчака в :issue:`10076`.)" + +msgid "signal" +msgstr "сигнал" + +msgid "" +"The new *warn_on_full_buffer* argument to the :func:`signal.set_wakeup_fd` " +"function makes it possible to specify whether Python prints a warning on " +"stderr when the wakeup buffer overflows. (Contributed by Nathaniel J. Smith " +"in :issue:`30050`.)" +msgstr "" +"Новий аргумент *warn_on_full_buffer* для функції :func:`signal." +"set_wakeup_fd` дає змогу вказати, чи друкує Python попередження на stderr у " +"разі переповнення буфера пробудження. (Надано Натаніелем Дж. Смітом у :issue:" +"`30050`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"The new :func:`socket.getblocking() ` method " +"returns ``True`` if the socket is in blocking mode and ``False`` otherwise. " +"(Contributed by Yury Selivanov in :issue:`32373`.)" +msgstr "" +"Новий метод :func:`socket.getblocking() ` " +"повертає ``True``, якщо сокет перебуває в режимі блокування, і ``False`` в " +"іншому випадку. (Надав Юрій Селіванов у :issue:`32373`.)" + +msgid "" +"The new :func:`socket.close` function closes the passed socket file " +"descriptor. This function should be used instead of :func:`os.close` for " +"better compatibility across platforms. (Contributed by Christian Heimes in :" +"issue:`32454`.)" +msgstr "" +"Нова функція :func:`socket.close` закриває переданий дескриптор файлу " +"сокета. Цю функцію слід використовувати замість :func:`os.close` для кращої " +"сумісності між платформами. (Надав Крістіан Хеймс у :issue:`32454`.)" + +msgid "" +"The :mod:`socket` module now exposes the :data:`socket.TCP_CONGESTION` " +"(Linux 2.6.13), :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), and :data:" +"`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed by Omar " +"Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" +msgstr "" +"Модуль :mod:`socket` тепер розкриває :data:`socket.TCP_CONGESTION` (Linux " +"2.6.13), :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) і :data:`socket." +"TCP_NOTSENT_LOWAT` (Linux 3.12) константи. (Надано Омаром Сандовалом у :" +"issue:`26273` та Натаніелем Дж. Смітом у :issue:`29728`.)" + +msgid "" +"Support for :data:`socket.AF_VSOCK` sockets has been added to allow " +"communication between virtual machines and their hosts. (Contributed by " +"Cathy Avery in :issue:`27584`.)" +msgstr "" +"Додано підтримку сокетів :data:`socket.AF_VSOCK`, щоб забезпечити зв’язок " +"між віртуальними машинами та їхніми хостами. (Надано Кеті Евері в :issue:" +"`27584`.)" + +msgid "" +"Sockets now auto-detect family, type and protocol from file descriptor by " +"default. (Contributed by Christian Heimes in :issue:`28134`.)" +msgstr "" +"Тепер сокети за замовчуванням автоматично визначають сімейство, тип і " +"протокол із файлового дескриптора. (Надав Крістіан Хеймс у :issue:`28134`.)" + +msgid "socketserver" +msgstr "сокетсервер" + +msgid "" +":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" +"daemon threads complete. :meth:`socketserver.ForkingMixIn.server_close` now " +"waits until all child processes complete." +msgstr "" +":meth:`socketserver.ThreadingMixIn.server_close` тепер чекає, поки " +"завершаться всі потоки, що не є демонами. :meth:`socketserver.ForkingMixIn." +"server_close` тепер очікує, поки завершаться всі дочірні процеси." + +msgid "" +"Add a new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute " +"to :class:`socketserver.ForkingMixIn` and :class:`socketserver." +"ThreadingMixIn` classes. Set the class attribute to ``False`` to get the " +"pre-3.7 behaviour." +msgstr "" +"Додайте новий атрибут класу :attr:`socketserver.ForkingMixIn.block_on_close` " +"до класів :class:`socketserver.ForkingMixIn` і :class:`socketserver." +"ThreadingMixIn`. Встановіть атрибут класу на ``False``, щоб отримати " +"поведінку до 3.7." + +msgid "sqlite3" +msgstr "sqlite3" + +msgid "" +":class:`sqlite3.Connection` now exposes the :meth:`~sqlite3.Connection." +"backup` method when the underlying SQLite library is at version 3.6.11 or " +"higher. (Contributed by Lele Gaifax in :issue:`27645`.)" +msgstr "" +":class:`sqlite3.Connection` тепер надає метод :meth:`~sqlite3.Connection." +"backup`, якщо базова бібліотека SQLite має версію 3.6.11 або новішу. (Надано " +"Леле Гайфакс у :issue:`27645`.)" + +msgid "" +"The *database* argument of :func:`sqlite3.connect` now accepts any :term:" +"`path-like object`, instead of just a string. (Contributed by Anders " +"Lorentsen in :issue:`31843`.)" +msgstr "" +"Аргумент *database* :func:`sqlite3.connect` тепер приймає будь-який :term:" +"`path-like object`, а не просто рядок. (Надав Андерс Лоренцен у :issue:" +"`31843`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "" +"The :mod:`ssl` module now uses OpenSSL's builtin API instead of :func:`~ssl." +"match_hostname` to check a host name or an IP address. Values are validated " +"during TLS handshake. Any certificate validation error including failing " +"the host name check now raises :exc:`~ssl.SSLCertVerificationError` and " +"aborts the handshake with a proper TLS Alert message. The new exception " +"contains additional information. Host name validation can be customized " +"with :attr:`SSLContext.hostname_checks_common_name `. (Contributed by Christian Heimes in :issue:" +"`31399`.)" +msgstr "" +"Модуль :mod:`ssl` тепер використовує вбудований API OpenSSL замість :func:" +"`~ssl.match_hostname` для перевірки імені хоста або IP-адреси. Значення " +"перевіряються під час рукостискання TLS. Будь-яка помилка перевірки " +"сертифіката, включно з помилкою перевірки імені хоста, тепер викликає :exc:" +"`~ssl.SSLCertVerificationError` і перериває рукостискання з належним " +"повідомленням сповіщення TLS. Новий виняток містить додаткову інформацію. " +"Перевірку імені хоста можна налаштувати за допомогою :attr:`SSLContext." +"hostname_checks_common_name `. " +"(Надав Крістіан Хеймс у :issue:`31399`.)" + +msgid "" +"The improved host name check requires a *libssl* implementation compatible " +"with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no " +"longer supported (see :ref:`37-platform-support-removals` for more details). " +"The ssl module is mostly compatible with LibreSSL 2.7.2 and newer." +msgstr "" +"Покращена перевірка імені хоста вимагає реалізації *libssl*, сумісної з " +"OpenSSL 1.0.2 або 1.1. Відповідно, OpenSSL 0.9.8 і 1.0.1 більше не " +"підтримуються (див. :ref:`37-platform-support-removals` для отримання " +"додаткової інформації). Модуль ssl здебільшого сумісний із LibreSSL 2.7.2 і " +"новішими версіями." + +msgid "" +"The ``ssl`` module no longer sends IP addresses in SNI TLS extension. " +"(Contributed by Christian Heimes in :issue:`32185`.)" +msgstr "" +"Модуль ``ssl`` більше не надсилає IP-адреси в розширенні SNI TLS. (Надав " +"Крістіан Хеймс у :issue:`32185`.)" + +msgid "" +":func:`~ssl.match_hostname` no longer supports partial wildcards like ``www*." +"example.org``. (Contributed by Mandeep Singh in :issue:`23033` and Christian " +"Heimes in :issue:`31399`.)" +msgstr "" +":func:`~ssl.match_hostname` більше не підтримує часткові символи " +"підстановки, такі як ``www*.example.org``. (Надано Мандіпом Сінгхом у :issue:" +"`23033` та Крістіаном Хеймсом у :issue:`31399`.)" + +msgid "" +"The default cipher suite selection of the ``ssl`` module now uses a " +"blacklist approach rather than a hard-coded whitelist. Python no longer re-" +"enables ciphers that have been blocked by OpenSSL security updates. Default " +"cipher suite selection can be configured at compile time. (Contributed by " +"Christian Heimes in :issue:`31429`.)" +msgstr "" +"Вибір набору шифрів за замовчуванням модуля ``ssl`` тепер використовує " +"підхід чорного списку, а не жорстко закодований білий список. Python більше " +"не вмикає повторно шифри, які були заблоковані оновленнями безпеки OpenSSL. " +"Вибір набору шифрів за замовчуванням можна налаштувати під час компіляції. " +"(Надав Крістіан Хеймс у :issue:`31429`.)" + +msgid "" +"Validation of server certificates containing internationalized domain names " +"(IDNs) is now supported. As part of this change, the :attr:`SSLSocket." +"server_hostname ` attribute now stores the " +"expected hostname in A-label form (``\"xn--pythn-mua.org\"``), rather than " +"the U-label form (``\"pythön.org\"``). (Contributed by Nathaniel J. Smith " +"and Christian Heimes in :issue:`28414`.)" +msgstr "" +"Тепер підтримується перевірка сертифікатів сервера, що містять " +"інтернаціоналізовані доменні імена (IDN). У рамках цієї зміни атрибут :attr:" +"`SSLSocket.server_hostname ` тепер зберігає " +"очікуване ім’я хоста у формі A-мітки (``\"xn--pythn-mua.org\"``), а не U-" +"мітки форма (``\"pythön.org\"``). (Надано Натаніелем Дж. Смітом і Крістіаном " +"Хеймсом у :issue:`28414`.)" + +msgid "" +"The ``ssl`` module has preliminary and experimental support for TLS 1.3 and " +"OpenSSL 1.1.1. At the time of Python 3.7.0 release, OpenSSL 1.1.1 is still " +"under development and TLS 1.3 hasn't been finalized yet. The TLS 1.3 " +"handshake and protocol behaves slightly differently than TLS 1.2 and " +"earlier, see :ref:`ssl-tlsv1_3`. (Contributed by Christian Heimes in :issue:" +"`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` and :issue:`33618`)" +msgstr "" +"Модуль ``ssl`` має попередню та експериментальну підтримку TLS 1.3 і OpenSSL " +"1.1.1. На момент випуску Python 3.7.0 OpenSSL 1.1.1 все ще перебуває в " +"стадії розробки, а TLS 1.3 ще не завершено. Рукостискання та протокол TLS " +"1.3 поводяться дещо інакше, ніж TLS 1.2 і раніші версії, див. :ref:`ssl-" +"tlsv1_3`. (Надано Крістіаном Хеймсом у :issue:`32947`, :issue:`20995`, :" +"issue:`29136`, :issue:`30622` та :issue:`33618`)" + +msgid "" +":class:`~ssl.SSLSocket` and :class:`~ssl.SSLObject` no longer have a public " +"constructor. Direct instantiation was never a documented and supported " +"feature. Instances must be created with :class:`~ssl.SSLContext` methods :" +"meth:`~ssl.SSLContext.wrap_socket` and :meth:`~ssl.SSLContext.wrap_bio`. " +"(Contributed by Christian Heimes in :issue:`32951`)" +msgstr "" +":class:`~ssl.SSLSocket` і :class:`~ssl.SSLObject` більше не мають відкритого " +"конструктора. Пряме створення екземплярів ніколи не було задокументованою та " +"підтримуваною функцією. Екземпляри мають бути створені за допомогою :class:" +"`~ssl.SSLContext` методів :meth:`~ssl.SSLContext.wrap_socket` і :meth:`~ssl." +"SSLContext.wrap_bio`. (Надав Крістіан Хеймс у :issue:`32951`)" + +msgid "" +"OpenSSL 1.1 APIs for setting the minimum and maximum TLS protocol version " +"are available as :attr:`SSLContext.minimum_version ` and :attr:`SSLContext.maximum_version `. Supported protocols are indicated by several new flags, " +"such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by Christian Heimes in :issue:" +"`32609`.)" +msgstr "" +"API OpenSSL 1.1 для встановлення мінімальної та максимальної версій " +"протоколу TLS доступні як :attr:`SSLContext.minimum_version ` і :attr:`SSLContext.maximum_version `. Підтримувані протоколи позначаються кількома новими " +"прапорцями, наприклад :data:`~ssl.HAS_TLSv1_1`. (Надав Крістіан Хеймс у :" +"issue:`32609`.)" + +msgid "string" +msgstr "рядок" + +msgid "" +":class:`string.Template` now lets you to optionally modify the regular " +"expression pattern for braced placeholders and non-braced placeholders " +"separately. (Contributed by Barry Warsaw in :issue:`1198569`.)" +msgstr "" +":class:`string.Template` тепер дозволяє вам окремо змінювати шаблон " +"регулярного виразу для заповнювачів у дужках і без дужок. (Надав Баррі " +"Варшава в :issue:`1198569`.)" + +msgid "subprocess" +msgstr "підпроцес" + +msgid "" +"The :func:`subprocess.run` function accepts the new *capture_output* keyword " +"argument. When true, stdout and stderr will be captured. This is equivalent " +"to passing :data:`subprocess.PIPE` as *stdout* and *stderr* arguments. " +"(Contributed by Bo Bayles in :issue:`32102`.)" +msgstr "" +"Функція :func:`subprocess.run` приймає новий аргумент ключового слова " +"*capture_output*. Якщо значення true, буде зафіксовано stdout і stderr. Це " +"еквівалентно передачі :data:`subprocess.PIPE` як аргументів *stdout* і " +"*stderr*. (Надав Бо Бейлс у :issue:`32102`.)" + +msgid "" +"The ``subprocess.run`` function and the :class:`subprocess.Popen` " +"constructor now accept the *text* keyword argument as an alias to " +"*universal_newlines*. (Contributed by Andrew Clegg in :issue:`31756`.)" +msgstr "" +"Функція ``subprocess.run`` і конструктор :class:`subprocess.Popen` тепер " +"приймають аргумент ключового слова *text* як псевдонім *universal_newlines*. " +"(Надав Ендрю Клегг у :issue:`31756`.)" + +msgid "" +"On Windows the default for *close_fds* was changed from ``False`` to " +"``True`` when redirecting the standard handles. It's now possible to set " +"*close_fds* to true when redirecting the standard handles. See :class:" +"`subprocess.Popen`. This means that *close_fds* now defaults to ``True`` on " +"all supported platforms. (Contributed by Segev Finer in :issue:`19764`.)" +msgstr "" +"У Windows стандартне значення для *close_fds* було змінено з ``False`` на " +"``True`` під час переспрямування стандартних дескрипторів. Тепер можна " +"встановити для *close_fds* значення true під час перенаправлення стандартних " +"дескрипторів. Перегляньте :class:`subprocess.Popen`. Це означає, що " +"*close_fds* тепер має значення ``True`` на всіх підтримуваних платформах. " +"(Надав Сегев Файнер у :issue:`19764`.)" + +msgid "" +"The subprocess module is now more graceful when handling :exc:" +"`KeyboardInterrupt` during :func:`subprocess.call`, :func:`subprocess.run`, " +"or in a :class:`~subprocess.Popen` context manager. It now waits a short " +"amount of time for the child to exit, before continuing the handling of the " +"``KeyboardInterrupt`` exception. (Contributed by Gregory P. Smith in :issue:" +"`25942`.)" +msgstr "" +"Модуль підпроцесу тепер більш витончений під час обробки :exc:" +"`KeyboardInterrupt` під час :func:`subprocess.call`, :func:`subprocess.run` " +"або в контекстному менеджері :class:`~subprocess.Popen`. Тепер він деякий " +"час очікує на вихід дочірнього елемента, перш ніж продовжити обробку " +"виняткової ситуації ``KeyboardInterrupt``. (Надав Грегорі П. Сміт у :issue:" +"`25942`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"The new :func:`sys.breakpointhook` hook function is called by the built-in :" +"func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)" +msgstr "" +"Нова функція :func:`sys.breakpointhook` викликається вбудованою :func:" +"`breakpoint`. (Надав Баррі Варшау у :issue:`31353`.)" + +msgid "" +"On Android, the new :func:`sys.getandroidapilevel` returns the build-time " +"Android API version. (Contributed by Victor Stinner in :issue:`28740`.)" +msgstr "" +"На Android новий :func:`sys.getandroidapilevel` повертає версію Android API " +"під час збирання. (Надав Віктор Стіннер у :issue:`28740`.)" + +msgid "" +"The new :func:`sys.get_coroutine_origin_tracking_depth` function returns the " +"current coroutine origin tracking depth, as set by the new :func:`sys." +"set_coroutine_origin_tracking_depth`. :mod:`asyncio` has been converted to " +"use this new API instead of the deprecated :func:`sys." +"set_coroutine_wrapper`. (Contributed by Nathaniel J. Smith in :issue:" +"`32591`.)" +msgstr "" +"Нова функція :func:`sys.get_coroutine_origin_tracking_depth` повертає " +"поточну глибину відстеження джерела співпрограми, встановлену новим :func:" +"`sys.set_coroutine_origin_tracking_depth`. :mod:`asyncio` було перетворено " +"на використання цього нового API замість застарілого :func:`sys." +"set_coroutine_wrapper`. (Надано Натаніелем Дж. Смітом у :issue:`32591`.)" + +msgid "time" +msgstr "час" + +msgid "" +":pep:`564` adds six new functions with nanosecond resolution to the :mod:" +"`time` module:" +msgstr "" +":pep:`564` додає шість нових функцій із наносекундною роздільною здатністю " +"до модуля :mod:`time`:" + +msgid "New clock identifiers have been added:" +msgstr "Додано нові ідентифікатори годинника:" + +msgid "" +":data:`time.CLOCK_BOOTTIME` (Linux): Identical to :data:`time." +"CLOCK_MONOTONIC`, except it also includes any time that the system is " +"suspended." +msgstr "" +":data:`time.CLOCK_BOOTTIME` (Linux): ідентичний :data:`time." +"CLOCK_MONOTONIC`, за винятком того, що він також включає будь-який час " +"призупинення системи." + +msgid "" +":data:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-" +"process CPU timer." +msgstr "" +":data:`time.CLOCK_PROF` (FreeBSD, NetBSD і OpenBSD): таймер процесора з " +"високою роздільною здатністю для кожного процесу." + +msgid "" +":data:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Time whose absolute value is " +"the time the system has been running and not suspended, providing accurate " +"uptime measurement." +msgstr "" +":data:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Час, абсолютне значення якого " +"є часом роботи системи без призупинення, що забезпечує точне вимірювання " +"часу безвідмовної роботи." + +msgid "" +"The new :func:`time.thread_time` and :func:`time.thread_time_ns` functions " +"can be used to get per-thread CPU time measurements. (Contributed by Antoine " +"Pitrou in :issue:`32025`.)" +msgstr "" +"Нові функції :func:`time.thread_time` і :func:`time.thread_time_ns` можна " +"використовувати для отримання вимірювань часу процесора для кожного потоку. " +"(Надав Антуан Пітру в :issue:`32025`.)" + +msgid "" +"The new :func:`time.pthread_getcpuclockid` function returns the clock ID of " +"the thread-specific CPU-time clock." +msgstr "" +"Нова функція :func:`time.pthread_getcpuclockid` повертає ідентифікатор " +"годинника ЦП-годинника для конкретного потоку." + +msgid "tkinter" +msgstr "tkinter" + +msgid "" +"The new :class:`tkinter.ttk.Spinbox` class is now available. (Contributed by " +"Alan Moore in :issue:`32585`.)" +msgstr "" +"Тепер доступний новий клас :class:`tkinter.ttk.Spinbox`. (Надав Алан Мур у :" +"issue:`32585`.)" + +msgid "tracemalloc" +msgstr "tracemalloc" + +msgid "" +":class:`tracemalloc.Traceback` behaves more like regular tracebacks, sorting " +"the frames from oldest to most recent. :meth:`Traceback.format() " +"` now accepts negative *limit*, truncating the " +"result to the ``abs(limit)`` oldest frames. To get the old behaviour, use " +"the new *most_recent_first* argument to ``Traceback.format()``. (Contributed " +"by Jesse Bakker in :issue:`32121`.)" +msgstr "" +":class:`tracemalloc.Traceback` поводиться більше як звичайне трасування, " +"сортуючи кадри від найстаріших до найновіших. :meth:`Traceback.format() " +"` тепер приймає негативний *ліміт*, скорочуючи " +"результат до найстаріших кадрів ``abs(limit)``. Щоб отримати стару " +"поведінку, використовуйте новий аргумент *most_recent_first* для ``Traceback." +"format()``. (Надав Джессі Беккер у :issue:`32121`.)" + +msgid "types" +msgstr "види" + +msgid "" +"The new :class:`~types.WrapperDescriptorType`, :class:`~types." +"MethodWrapperType`, :class:`~types.MethodDescriptorType`, and :class:`~types." +"ClassMethodDescriptorType` classes are now available. (Contributed by Manuel " +"Krebber and Guido van Rossum in :issue:`29377`, and Serhiy Storchaka in :" +"issue:`32265`.)" +msgstr "" +"Тепер доступні нові класи :class:`~types.WrapperDescriptorType`, :class:" +"`~types.MethodWrapperType`, :class:`~types.MethodDescriptorType` і :class:" +"`~types.ClassMethodDescriptorType`. (Надано Мануелем Креббером і Гвідо ван " +"Россумом у :issue:`29377` та Сергієм Сторчакою у :issue:`32265`.)" + +msgid "" +"The new :func:`types.resolve_bases` function resolves MRO entries " +"dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi in :" +"issue:`32717`.)" +msgstr "" +"Нова функція :func:`types.resolve_bases` динамічно вирішує записи MRO, як " +"зазначено в :pep:`560`. (Надав Іван Левківський у :issue:`32717`.)" + +msgid "unicodedata" +msgstr "unicodedata" + +msgid "" +"The internal :mod:`unicodedata` database has been upgraded to use `Unicode " +"11 `_. (Contributed by " +"Benjamin Peterson.)" +msgstr "" + +msgid "unittest" +msgstr "unittest" + +msgid "" +"The new ``-k`` command-line option allows filtering tests by a name " +"substring or a Unix shell-like pattern. For example, ``python -m unittest -k " +"foo`` runs ``foo_tests.SomeTest.test_something``, ``bar_tests.SomeTest." +"test_foo``, but not ``bar_tests.FooTest.test_something``. (Contributed by " +"Jonas Haag in :issue:`32071`.)" +msgstr "" +"Новий параметр командного рядка ``-k`` command-line option allows filtering " +"tests by a name substring or a Unix shell-like pattern. For example, " +"``python -m unittest -k foo`` runs ``foo_tests.SomeTest.test_something``, " +"``bar_tests.SomeTest.test_foo``, but not ``bar_tests.FooTest." +"test_something``. (Надав by Jonas Haag in :issue:`32071`.)" + +msgid "unittest.mock" +msgstr "unittest.mock" + +msgid "" +"The :const:`~unittest.mock.sentinel` attributes now preserve their identity " +"when they are :mod:`copied ` or :mod:`pickled `. (Contributed " +"by Serhiy Storchaka in :issue:`20804`.)" +msgstr "" +"Атрибути :const:`~unittest.mock.sentinel` тепер зберігають свою " +"ідентичність, коли їх :mod:`скопіюють ` або :mod:`маринують `. " +"(Надав Сергій Сторчака в :issue:`20804`.)" + +msgid "" +"The new :func:`~unittest.mock.seal` function allows sealing :class:" +"`~unittest.mock.Mock` instances, which will disallow further creation of " +"attribute mocks. The seal is applied recursively to all attributes that are " +"themselves mocks. (Contributed by Mario Corchero in :issue:`30541`.)" +msgstr "" +"Нова функція :func:`~unittest.mock.seal` дозволяє запечатувати екземпляри :" +"class:`~unittest.mock.Mock`, що забороняє подальше створення макетів " +"атрибутів. Печатка застосовується рекурсивно до всіх атрибутів, які самі по " +"собі є макетами. (Надав Маріо Корчеро в :issue:`30541`.)" + +msgid "urllib.parse" +msgstr "urllib.parse" + +msgid "" +":func:`urllib.parse.quote` has been updated from :rfc:`2396` to :rfc:`3986`, " +"adding ``~`` to the set of characters that are never quoted by default. " +"(Contributed by Christian Theune and Ratnadeep Debnath in :issue:`16285`.)" +msgstr "" +":func:`urllib.parse.quote` було оновлено з :rfc:`2396` до :rfc:`3986`, " +"додавши ``~`` до набору символів, які за замовчуванням ніколи не беруться в " +"лапки. (Надано Крістіаном Теуном і Ратнадіпом Дебнатом у :issue:`16285`.)" + +msgid "uu" +msgstr "uu" + +msgid "" +"The :func:`uu.encode` function now accepts an optional *backtick* keyword " +"argument. When it's true, zeros are represented by ``'`'`` instead of " +"spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" +msgstr "" +"Функція :func:`uu.encode` тепер приймає додатковий аргумент ключового слова " +"*backtick*. Коли це істина, нулі представлені ``'`'`` замість пробілів. " +"(Надав Xiang Zhang у :issue:`30103`.)" + +msgid "uuid" +msgstr "uuid" + +msgid "" +"The new :attr:`UUID.is_safe ` attribute relays " +"information from the platform about whether generated UUIDs are generated " +"with a multiprocessing-safe method. (Contributed by Barry Warsaw in :issue:" +"`22807`.)" +msgstr "" +"Новий атрибут :attr:`UUID.is_safe ` передає інформацію з " +"платформи про те, чи згенеровані UUID генеруються за допомогою " +"багатопроцесорного безпечного методу. (Надав Баррі Варшау у :issue:`22807`.)" + +msgid "" +":func:`uuid.getnode` now prefers universally administered MAC addresses over " +"locally administered MAC addresses. This makes a better guarantee for global " +"uniqueness of UUIDs returned from :func:`uuid.uuid1`. If only locally " +"administered MAC addresses are available, the first such one found is " +"returned. (Contributed by Barry Warsaw in :issue:`32107`.)" +msgstr "" +":func:`uuid.getnode` тепер надає перевагу універсально адміністрованим MAC-" +"адресам над локально адміністрованими MAC-адресами. Це забезпечує кращу " +"гарантію глобальної унікальності UUID, що повертається з :func:`uuid.uuid1`. " +"Якщо доступні лише локально адміністровані MAC-адреси, повертається перша " +"така знайдена. (Надав Баррі Варшау у :issue:`32107`.)" + +msgid "warnings" +msgstr "попередження" + +msgid "" +"The initialization of the default warnings filters has changed as follows:" +msgstr "Ініціалізація стандартних фільтрів попереджень змінена таким чином:" + +msgid "" +"warnings enabled via command line options (including those for :option:`-b` " +"and the new CPython-specific :option:`-X` ``dev`` option) are always passed " +"to the warnings machinery via the :data:`sys.warnoptions` attribute." +msgstr "" +"попередження, увімкнені за допомогою параметрів командного рядка (включно з " +"параметрами :option:`-b` і новим параметром :option:`-X` ``dev``) завжди " +"передаються механізму попереджень через атрибут :data:`sys.warnoptions`." + +msgid "" +"warnings filters enabled via the command line or the environment now have " +"the following order of precedence:" +msgstr "" +"фільтри попереджень, увімкнені через командний рядок або середовище, тепер " +"мають такий порядок пріоритету:" + +msgid "the ``BytesWarning`` filter for :option:`-b` (or ``-bb``)" +msgstr "фільтр ``BytesWarning`` для :option:`-b` (або ``-bb``)" + +msgid "any filters specified with the :option:`-W` option" +msgstr "будь-які фільтри, визначені параметром :option:`-W`" + +msgid "" +"any filters specified with the :envvar:`PYTHONWARNINGS` environment variable" +msgstr "" +"будь-які фільтри, указані за допомогою змінної середовища :envvar:" +"`PYTHONWARNINGS`" + +msgid "" +"any other CPython specific filters (e.g. the ``default`` filter added for " +"the new ``-X dev`` mode)" +msgstr "" +"будь-які інші спеціальні фільтри CPython (наприклад, фільтр ``за " +"замовчуванням``, доданий для нового режиму ``-X dev``)" + +msgid "any implicit filters defined directly by the warnings machinery" +msgstr "" +"будь-які неявні фільтри, визначені безпосередньо механізмом попереджень" + +msgid "" +"in :ref:`CPython debug builds `, all warnings are now displayed " +"by default (the implicit filter list is empty)" +msgstr "" +"у :ref:`CPython debug builds `, усі попередження тепер " +"відображаються за замовчуванням (неявний список фільтрів порожній)" + +msgid "" +"(Contributed by Nick Coghlan and Victor Stinner in :issue:`20361`, :issue:" +"`32043`, and :issue:`32230`.)" +msgstr "" +"(Надано Ніком Когланом і Віктором Стіннером у :issue:`20361`, :issue:`32043` " +"і :issue:`32230`.)" + +msgid "" +"Deprecation warnings are once again shown by default in single-file scripts " +"and at the interactive prompt. See :ref:`whatsnew37-pep565` for details. " +"(Contributed by Nick Coghlan in :issue:`31975`.)" +msgstr "" +"Попередження про застарілу знову відображаються за замовчуванням в " +"однофайлових сценаріях та в інтерактивному запиті. Докладніше див. :ref:" +"`whatsnew37-pep565`. (Надав Нік Коглан у :issue:`31975`.)" + +msgid "xml.etree" +msgstr "xml.etree" + +msgid "" +":ref:`ElementPath ` predicates in the :meth:`find` " +"methods can now compare text of the current node with ``[. = \"text\"]``, " +"not only text in children. Predicates also allow adding spaces for better " +"readability. (Contributed by Stefan Behnel in :issue:`31648`.)" +msgstr "" +"Предикати :ref:`ElementPath ` в методах :meth:`find` " +"тепер можуть порівнювати текст поточного вузла з ``[. = \"текст\"]``, не " +"тільки текст у дітей. Предикати також дозволяють додавати пробіли для кращої " +"читабельності. (Надав Стефан Бенель у :issue:`31648`.)" + +msgid "xmlrpc.server" +msgstr "xmlrpc.server" + +msgid "" +":meth:`SimpleXMLRPCDispatcher.register_function ` can now be used as a decorator. (Contributed by " +"Xiang Zhang in :issue:`7769`.)" +msgstr "" +":meth:`SimpleXMLRPCDispatcher.register_function ` тепер можна використовувати як декоратор. (Надав " +"Xiang Zhang у :issue:`7769`.)" + +msgid "zipapp" +msgstr "zipap" + +msgid "" +"Function :func:`~zipapp.create_archive` now accepts an optional *filter* " +"argument to allow the user to select which files should be included in the " +"archive. (Contributed by Irmen de Jong in :issue:`31072`.)" +msgstr "" +"Функція :func:`~zipapp.create_archive` тепер приймає додатковий аргумент " +"*filter*, щоб дозволити користувачеві вибрати, які файли слід включити в " +"архів. (Надано Irmen de Jong у :issue:`31072`.)" + +msgid "" +"Function :func:`~zipapp.create_archive` now accepts an optional *compressed* " +"argument to generate a compressed archive. A command line option ``--" +"compress`` has also been added to support compression. (Contributed by " +"Zhiming Wang in :issue:`31638`.)" +msgstr "" +"Функція :func:`~zipapp.create_archive` тепер приймає додатковий аргумент " +"*compressed* для створення стисненого архіву. Для підтримки стиснення також " +"додано параметр командного рядка ``--compress``. (Надав Zhiming Wang у :" +"issue:`31638`.)" + +msgid "zipfile" +msgstr "zip-файл" + +msgid "" +":class:`~zipfile.ZipFile` now accepts the new *compresslevel* parameter to " +"control the compression level. (Contributed by Bo Bayles in :issue:`21417`.)" +msgstr "" +":class:`~zipfile.ZipFile` тепер приймає новий параметр *compresslevel* для " +"керування рівнем стиснення. (Надав Бо Бейлс у :issue:`21417`.)" + +msgid "" +"Subdirectories in archives created by ``ZipFile`` are now stored in " +"alphabetical order. (Contributed by Bernhard M. Wiedemann in :issue:`30693`.)" +msgstr "" +"Підкаталоги в архівах, створених ``ZipFile``, тепер зберігаються в " +"алфавітному порядку. (Надав Bernhard M. Wiedemann у :issue:`30693`.)" + +msgid "C API Changes" +msgstr "Зміни C API" + +msgid "" +"A new API for thread-local storage has been implemented. See :ref:" +"`whatsnew37-pep539` for an overview and :ref:`thread-specific-storage-api` " +"for a complete reference. (Contributed by Masayuki Yamamoto in :issue:" +"`25658`.)" +msgstr "" +"Реалізовано новий API для локального зберігання потоків. Перегляньте :ref:" +"`whatsnew37-pep539` для огляду та :ref:`thread-specific-storage-api` для " +"повної довідки. (Надав Масаюкі Ямамото в :issue:`25658`.)" + +msgid "" +"The new :ref:`context variables ` functionality exposes a " +"number of :ref:`new C APIs `." +msgstr "" +"Нова функція :ref:`контекстних змінних ` відкриває ряд :" +"ref:`нових API C `." + +msgid "" +"The new :c:func:`PyImport_GetModule` function returns the previously " +"imported module with the given name. (Contributed by Eric Snow in :issue:" +"`28411`.)" +msgstr "" +"Нова функція :c:func:`PyImport_GetModule` повертає попередньо імпортований " +"модуль із вказаною назвою. (Надав Ерік Сноу в :issue:`28411`.)" + +msgid "" +"The new :c:macro:`Py_RETURN_RICHCOMPARE` macro eases writing rich comparison " +"functions. (Contributed by Petr Victorin in :issue:`23699`.)" +msgstr "" +"Новий макрос :c:macro:`Py_RETURN_RICHCOMPARE` полегшує написання розширених " +"функцій порівняння. (Надав Петро Вікторін у :issue:`23699`.)" + +msgid "" +"The new :c:macro:`Py_UNREACHABLE` macro can be used to mark unreachable code " +"paths. (Contributed by Barry Warsaw in :issue:`31338`.)" +msgstr "" +"Новий макрос :c:macro:`Py_UNREACHABLE` можна використовувати для позначення " +"недоступних шляхів коду. (Надав Баррі Варшау у :issue:`31338`.)" + +msgid "" +"The :mod:`tracemalloc` now exposes a C API through the new :c:func:" +"`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` functions. " +"(Contributed by Victor Stinner in :issue:`30054`.)" +msgstr "" +":mod:`tracemalloc` тепер відкриває C API за допомогою нових функцій :c:func:" +"`PyTraceMalloc_Track` і :c:func:`PyTraceMalloc_Untrack`. (Надав Віктор " +"Стіннер у :issue:`30054`.)" + +msgid "" +"The new :c:func:`import__find__load__start` and :c:func:" +"`import__find__load__done` static markers can be used to trace module " +"imports. (Contributed by Christian Heimes in :issue:`31574`.)" +msgstr "" +"Нові статичні маркери :c:func:`import__find__load__start` і :c:func:" +"`import__find__load__done` можна використовувати для відстеження імпорту " +"модуля. (Надав Крістіан Хеймс у :issue:`31574`.)" + +msgid "" +"The fields :c:member:`name` and :c:member:`doc` of structures :c:type:" +"`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:" +"type:`PyStructSequence_Desc`, and :c:type:`wrapperbase` are now of type " +"``const char *`` rather of ``char *``. (Contributed by Serhiy Storchaka in :" +"issue:`28761`.)" +msgstr "" +"Поля :c:member:`name` і :c:member:`doc` структур :c:type:`PyMemberDef`, :c:" +"type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:type:" +"`PyStructSequence_Desc` і :c:type:`wrapperbase` тепер мають тип ``const char " +"*``, а не ``char *``. (Надав Сергій Сторчака в :issue:`28761`.)" + +msgid "" +"The result of :c:func:`PyUnicode_AsUTF8AndSize` and :c:func:" +"`PyUnicode_AsUTF8` is now of type ``const char *`` rather of ``char *``. " +"(Contributed by Serhiy Storchaka in :issue:`28769`.)" +msgstr "" +"Результат :c:func:`PyUnicode_AsUTF8AndSize` і :c:func:`PyUnicode_AsUTF8` " +"тепер має тип ``const char *``, а не ``char *``. (Надав Сергій Сторчака в :" +"issue:`28769`.)" + +msgid "" +"The result of :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` and :c:" +"func:`PyMapping_Items` is now always a list, rather than a list or a tuple. " +"(Contributed by Oren Milman in :issue:`28280`.)" +msgstr "" +"Результатом :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` і :c:func:" +"`PyMapping_Items` тепер завжди є список, а не список або кортеж. (Надав Орен " +"Мілман у :issue:`28280`.)" + +msgid "" +"Added functions :c:func:`PySlice_Unpack` and :c:func:" +"`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka in :issue:`27867`.)" +msgstr "" +"Додано функції :c:func:`PySlice_Unpack` і :c:func:`PySlice_AdjustIndices`. " +"(Надав Сергій Сторчака в :issue:`27867`.)" + +msgid "" +":c:func:`PyOS_AfterFork` is deprecated in favour of the new functions :c:" +"func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` and :c:func:" +"`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou in :issue:`16500`.)" +msgstr "" +":c:func:`PyOS_AfterFork` застаріла на користь нових функцій :c:func:" +"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` і :c:func:" +"`PyOS_AfterFork_Child`. (Надав Антуан Пітру в :issue:`16500`.)" + +msgid "" +"The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " +"has been removed as its members being never cleared may cause a segfault " +"during finalization of the interpreter. Contributed by Xavier de Gaye in :" +"issue:`22898` and :issue:`30697`." +msgstr "" +"Синглтон ``PyExc_RecursionErrorInst``, який був частиною загальнодоступного " +"API, було видалено, оскільки його члени, які ніколи не очищалися, можуть " +"спричинити помилку сегмента під час фіналізації інтерпретатора. Надав Ксав’є " +"де Гає в :issue:`22898` і :issue:`30697`." + +msgid "" +"Added C API support for timezones with timezone constructors :c:func:" +"`PyTimeZone_FromOffset` and :c:func:`PyTimeZone_FromOffsetAndName`, and " +"access to the UTC singleton with :c:data:`PyDateTime_TimeZone_UTC`. " +"Contributed by Paul Ganssle in :issue:`10381`." +msgstr "" +"Додано підтримку C API для часових поясів за допомогою конструкторів часових " +"поясів :c:func:`PyTimeZone_FromOffset` і :c:func:" +"`PyTimeZone_FromOffsetAndName`, а також доступ до синглтона UTC за " +"допомогою :c:data:`PyDateTime_TimeZone_UTC`. Надав Пол Ганссле в :issue:" +"`10381`." + +msgid "" +"The type of results of :c:func:`PyThread_start_new_thread` and :c:func:" +"`PyThread_get_thread_ident`, and the *id* parameter of :c:func:" +"`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to :c:expr:`unsigned " +"long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" +msgstr "" + +msgid "" +":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the " +"second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null " +"characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" +msgstr "" + +msgid "" +"Changes to the startup sequence and the management of dynamic memory " +"allocators mean that the long documented requirement to call :c:func:" +"`Py_Initialize` before calling most C API functions is now relied on more " +"heavily, and failing to abide by it may lead to segfaults in embedding " +"applications. See the :ref:`porting-to-python-37` section in this document " +"and the :ref:`pre-init-safe` section in the C API documentation for more " +"details." +msgstr "" +"Зміни в послідовності запуску та управлінні розподільниками динамічної " +"пам’яті означають, що давно задокументована вимога виклику :c:func:" +"`Py_Initialize` перед викликом більшості функцій C API тепер покладається " +"більшою мірою, і її недотримання може призвести до segfaults у програмах для " +"вбудовування. Додаткову інформацію див. у розділі :ref:`porting-to-" +"python-37` у цьому документі та розділі :ref:`pre-init-safe` в документації " +"C API." + +msgid "" +"The new :c:func:`PyInterpreterState_GetID` returns the unique ID for a given " +"interpreter. (Contributed by Eric Snow in :issue:`29102`.)" +msgstr "" +"Новий :c:func:`PyInterpreterState_GetID` повертає унікальний ідентифікатор " +"для заданого інтерпретатора. (Надав Ерік Сноу в :issue:`29102`.)" + +msgid "" +":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` now use the UTF-8 " +"encoding when the :ref:`UTF-8 mode ` is enabled. " +"(Contributed by Victor Stinner in :issue:`29240`.)" +msgstr "" +":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` тепер використовують " +"кодування UTF-8, коли ввімкнено :ref:`режим UTF-8 `. " +"(Надав Віктор Стіннер у :issue:`29240`.)" + +msgid "" +":c:func:`PyUnicode_DecodeLocaleAndSize` and :c:func:`PyUnicode_EncodeLocale` " +"now use the current locale encoding for ``surrogateescape`` error handler. " +"(Contributed by Victor Stinner in :issue:`29240`.)" +msgstr "" +":c:func:`PyUnicode_DecodeLocaleAndSize` і :c:func:`PyUnicode_EncodeLocale` " +"тепер використовують поточне кодування мови для обробника помилок " +"``surrogateescape``. (Надав Віктор Стіннер у :issue:`29240`.)" + +msgid "" +"The *start* and *end* parameters of :c:func:`PyUnicode_FindChar` are now " +"adjusted to behave like string slices. (Contributed by Xiang Zhang in :issue:" +"`28822`.)" +msgstr "" +"Параметри *start* і *end* :c:func:`PyUnicode_FindChar` тепер налаштовані " +"так, щоб поводитися як фрагменти рядків. (Надав Xiang Zhang у :issue:" +"`28822`.)" + +msgid "Build Changes" +msgstr "Зміни збірки" + +msgid "" +"Support for building ``--without-threads`` has been removed. The :mod:" +"`threading` module is now always available. (Contributed by Antoine Pitrou " +"in :issue:`31370`.)." +msgstr "" +"Підтримку створення ``--without-threads`` видалено. Модуль :mod:`threading` " +"тепер завжди доступний. (Надав Антуан Пітру в :issue:`31370`.)." + +msgid "" +"A full copy of libffi is no longer bundled for use when building the :mod:" +"`_ctypes ` module on non-OSX UNIX platforms. An installed copy of " +"libffi is now required when building ``_ctypes`` on such platforms. " +"(Contributed by Zachary Ware in :issue:`27979`.)" +msgstr "" +"Повна копія libffi більше не додається для використання під час створення " +"модуля :mod:`_ctypes ` на платформах UNIX, відмінних від OSX. Тепер " +"для створення ``_ctypes`` на таких платформах потрібна встановлена копія " +"libffi. (Надано Zachary Ware у :issue:`27979`.)" + +msgid "" +"The Windows build process no longer depends on Subversion to pull in " +"external sources, a Python script is used to download zipfiles from GitHub " +"instead. If Python 3.6 is not found on the system (via ``py -3.6``), NuGet " +"is used to download a copy of 32-bit Python for this purpose. (Contributed " +"by Zachary Ware in :issue:`30450`.)" +msgstr "" +"Процес збирання Windows більше не залежить від Subversion для залучення " +"зовнішніх джерел, замість цього для завантаження zip-файлів із GitHub " +"використовується сценарій Python. Якщо Python 3.6 не знайдено в системі " +"(через ``py -3.6``), NuGet використовується для завантаження копії 32-" +"розрядної версії Python для цієї мети. (Надано Zachary Ware у :issue:" +"`30450`.)" + +msgid "" +"The :mod:`ssl` module requires OpenSSL 1.0.2 or 1.1 compatible libssl. " +"OpenSSL 1.0.1 has reached end of lifetime on 2016-12-31 and is no longer " +"supported. LibreSSL is temporarily not supported as well. LibreSSL releases " +"up to version 2.6.4 are missing required OpenSSL 1.0.2 APIs." +msgstr "" +"Для модуля :mod:`ssl` потрібен OpenSSL 1.0.2 або 1.1, сумісний libssl. " +"Термін експлуатації OpenSSL 1.0.1 завершився 31 грудня 2016 року, тому він " +"більше не підтримується. LibreSSL також тимчасово не підтримується. У " +"версіях LibreSSL до версії 2.6.4 відсутні необхідні API OpenSSL 1.0.2." + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The overhead of calling many methods of various standard library classes " +"implemented in C has been significantly reduced by porting more code to use " +"the ``METH_FASTCALL`` convention. (Contributed by Victor Stinner in :issue:" +"`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)" +msgstr "" +"Накладні витрати на виклик багатьох методів різних стандартних бібліотечних " +"класів, реалізованих у C, були значно зменшені завдяки портуванню більшої " +"кількості коду для використання конвенції ``METH_FASTCALL``. (Надано " +"Віктором Стіннером у :issue:`29300`, :issue:`29507`, :issue:`29452` та :" +"issue:`29286`.)" + +msgid "" +"Various optimizations have reduced Python startup time by 10% on Linux and " +"up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki in :issue:" +"`29585`, and Ivan Levkivskyi in :issue:`31333`.)" +msgstr "" +"Різні оптимізації дозволили скоротити час запуску Python на 10% у Linux і до " +"30% у macOS. (Надано Віктором Стіннером, INADA Naoki у :issue:`29585` та " +"Іваном Левківським у :issue:`31333`.)" + +msgid "" +"Method calls are now up to 20% faster due to the bytecode changes which " +"avoid creating bound method instances. (Contributed by Yury Selivanov and " +"INADA Naoki in :issue:`26110`.)" +msgstr "" +"Виклики методів тепер на 20% швидші завдяки змінам байт-коду, що дозволяє " +"уникнути створення зв’язаних екземплярів методів. (Надано Юрієм Селівановим " +"та INADA Naoki у :issue:`26110`.)" + +msgid "" +"The :mod:`asyncio` module received a number of notable optimizations for " +"commonly used functions:" +msgstr "" +"Модуль :mod:`asyncio` отримав низку помітних оптимізацій для часто " +"використовуваних функцій:" + +msgid "" +"The :func:`asyncio.get_event_loop` function has been reimplemented in C to " +"make it up to 15 times faster. (Contributed by Yury Selivanov in :issue:" +"`32296`.)" +msgstr "" +"Функцію :func:`asyncio.get_event_loop` було повторно реалізовано в C, щоб " +"зробити її в 15 разів швидшою. (Надав Юрій Селіванов у :issue:`32296`.)" + +msgid "" +":class:`asyncio.Future` callback management has been optimized. (Contributed " +"by Yury Selivanov in :issue:`32348`.)" +msgstr "" +":class:`asyncio.Future` управління зворотними викликами оптимізовано. (Надав " +"Юрій Селіванов у :issue:`32348`.)" + +msgid "" +":func:`asyncio.gather` is now up to 15% faster. (Contributed by Yury " +"Selivanov in :issue:`32355`.)" +msgstr "" +":func:`asyncio.gather` тепер на 15% швидше. (Надав Юрій Селіванов у :issue:" +"`32355`.)" + +msgid "" +":func:`asyncio.sleep` is now up to 2 times faster when the *delay* argument " +"is zero or negative. (Contributed by Andrew Svetlov in :issue:`32351`.)" +msgstr "" +":func:`asyncio.sleep` тепер у 2 рази швидше, якщо аргумент *delay* дорівнює " +"нулю або від’ємний. (Надав Ендрю Свєтлов у :issue:`32351`.)" + +msgid "" +"The performance overhead of asyncio debug mode has been reduced. " +"(Contributed by Antoine Pitrou in :issue:`31970`.)" +msgstr "" +"Накладні витрати на продуктивність асинхронного режиму налагодження " +"зменшено. (Надав Антуан Пітру в :issue:`31970`.)" + +msgid "" +"As a result of :ref:`PEP 560 work `, the import time of :" +"mod:`typing` has been reduced by a factor of 7, and many typing operations " +"are now faster. (Contributed by Ivan Levkivskyi in :issue:`32226`.)" +msgstr "" +"У результаті :ref:`PEP 560 work `, час імпорту :mod:" +"`typing` було зменшено в 7 разів, і багато операцій набору тексту тепер " +"виконуються швидше. (Надав Іван Левківський у :issue:`32226`.)" + +msgid "" +":func:`sorted` and :meth:`list.sort` have been optimized for common cases to " +"be up to 40-75% faster. (Contributed by Elliot Gorokhovsky in :issue:" +"`28685`.)" +msgstr "" +":func:`sorted` і :meth:`list.sort` оптимізовано для звичайних випадків, щоб " +"працювати на 40-75% швидше. (Надав Еліот Гороховський у :issue:`28685`.)" + +msgid "" +":meth:`dict.copy` is now up to 5.5 times faster. (Contributed by Yury " +"Selivanov in :issue:`31179`.)" +msgstr "" +":meth:`dict.copy` тепер у 5,5 разів швидше. (Надав Юрій Селіванов у :issue:" +"`31179`.)" + +msgid "" +":func:`hasattr` and :func:`getattr` are now about 4 times faster when *name* " +"is not found and *obj* does not override :meth:`object.__getattr__` or :meth:" +"`object.__getattribute__`. (Contributed by INADA Naoki in :issue:`32544`.)" +msgstr "" +":func:`hasattr` і :func:`getattr` тепер приблизно в 4 рази швидше, якщо " +"*name* не знайдено і *obj* не перевизначає :meth:`object.__getattr__` або :" +"meth:`object.__getattribute__` . (Надано INADA Naoki в :issue:`32544`.)" + +msgid "" +"Searching for certain Unicode characters (like Ukrainian capital \"Є\") in a " +"string was up to 25 times slower than searching for other characters. It is " +"now only 3 times slower in the worst case. (Contributed by Serhiy Storchaka " +"in :issue:`24821`.)" +msgstr "" +"Пошук певних символів Unicode (наприклад, української великої \"Є\") у рядку " +"був у 25 разів повільнішим, ніж пошук інших символів. Тепер це лише в 3 рази " +"повільніше в гіршому випадку. (Надав Сергій Сторчака в :issue:`24821`.)" + +msgid "" +"The :func:`collections.namedtuple` factory has been reimplemented to make " +"the creation of named tuples 4 to 6 times faster. (Contributed by Jelle " +"Zijlstra with further improvements by INADA Naoki, Serhiy Storchaka, and " +"Raymond Hettinger in :issue:`28638`.)" +msgstr "" +"Фабрику :func:`collections.namedtuple` було оновлено, щоб зробити створення " +"іменованих кортежів у 4-6 разів швидшим. (Надано Jelle Zijlstra з подальшими " +"вдосконаленнями INADA Naoki, Сергієм Сторчакою та Raymond Hettinger у :issue:" +"`28638`.)" + +msgid "" +":meth:`date.fromordinal` and :meth:`date.fromtimestamp` are now up to 30% " +"faster in the common case. (Contributed by Paul Ganssle in :issue:`32403`.)" +msgstr "" +":meth:`date.fromordinal` і :meth:`date.fromtimestamp` тепер на 30% швидше в " +"звичайному регістрі. (Надав Пол Ганссле в :issue:`32403`.)" + +msgid "" +"The :func:`os.fwalk` function is now up to 2 times faster thanks to the use " +"of :func:`os.scandir`. (Contributed by Serhiy Storchaka in :issue:`25996`.)" +msgstr "" +"Функція :func:`os.fwalk` тепер у 2 рази швидша завдяки використанню :func:" +"`os.scandir`. (Надав Сергій Сторчака в :issue:`25996`.)" + +msgid "" +"The speed of the :func:`shutil.rmtree` function has been improved by 20--40% " +"thanks to the use of the :func:`os.scandir` function. (Contributed by Serhiy " +"Storchaka in :issue:`28564`.)" +msgstr "" +"Швидкість функції :func:`shutil.rmtree` покращено на 20--40% завдяки " +"використанню функції :func:`os.scandir`. (Надав Сергій Сторчака в :issue:" +"`28564`.)" + +msgid "" +"Optimized case-insensitive matching and searching of :mod:`regular " +"expressions `. Searching some patterns can now be up to 20 times " +"faster. (Contributed by Serhiy Storchaka in :issue:`30285`.)" +msgstr "" +"Оптимізовано без урахування регістру зіставлення та пошук :mod:`регулярних " +"виразів `. Тепер пошук деяких шаблонів може бути в 20 разів швидшим. " +"(Надав Сергій Сторчака в :issue:`30285`.)" + +msgid "" +":func:`re.compile` now converts ``flags`` parameter to int object if it is " +"``RegexFlag``. It is now as fast as Python 3.5, and faster than Python 3.6 " +"by about 10% depending on the pattern. (Contributed by INADA Naoki in :issue:" +"`31671`.)" +msgstr "" +":func:`re.compile` тепер перетворює параметр ``flags`` на об’єкт int, якщо " +"це ``RegexFlag``. Тепер він такий же швидкий, як Python 3.5, і швидший за " +"Python 3.6 приблизно на 10% залежно від шаблону. (Надано INADA Naoki в :" +"issue:`31671`.)" + +msgid "" +"The :meth:`~selectors.BaseSelector.modify` methods of classes :class:" +"`selectors.EpollSelector`, :class:`selectors.PollSelector` and :class:" +"`selectors.DevpollSelector` may be around 10% faster under heavy loads. " +"(Contributed by Giampaolo Rodola' in :issue:`30014`)" +msgstr "" +"Методи :meth:`~selectors.BaseSelector.modify` класів :class:`selectors." +"EpollSelector`, :class:`selectors.PollSelector` і :class:`selectors." +"DevpollSelector` можуть бути приблизно на 10% швидшими за великих " +"навантажень . (Надав Джампаоло Родола в :issue:`30014`)" + +msgid "" +"Constant folding has been moved from the peephole optimizer to the new AST " +"optimizer, which is able perform optimizations more consistently. " +"(Contributed by Eugene Toder and INADA Naoki in :issue:`29469` and :issue:" +"`11549`.)" +msgstr "" +"Постійне згортання було перенесено з оптимізатора вічка в новий оптимізатор " +"AST, який може виконувати оптимізацію більш послідовно. (Надано Євгеном " +"Тодером та INADA Naoki у :issue:`29469` та :issue:`11549`.)" + +msgid "" +"Most functions and methods in :mod:`abc` have been rewritten in C. This " +"makes creation of abstract base classes, and calling :func:`isinstance` and :" +"func:`issubclass` on them 1.5x faster. This also reduces Python start-up " +"time by up to 10%. (Contributed by Ivan Levkivskyi and INADA Naoki in :issue:" +"`31333`)" +msgstr "" +"Більшість функцій і методів у :mod:`abc` було переписано на C. Це робить " +"створення абстрактних базових класів і виклик :func:`isinstance` і :func:" +"`issubclass` на них у 1,5 рази швидшим. Це також скорочує час запуску Python " +"до 10%. (Надано Іваном Левківським та INADA Naoki у :issue:`31333`)" + +msgid "" +"Significant speed improvements to alternate constructors for :class:" +"`datetime.date` and :class:`datetime.datetime` by using fast-path " +"constructors when not constructing subclasses. (Contributed by Paul Ganssle " +"in :issue:`32403`)" +msgstr "" +"Значні покращення швидкості альтернативних конструкторів для :class:" +"`datetime.date` і :class:`datetime.datetime` завдяки використанню " +"конструкторів швидкого шляху, коли не створюються підкласи. (Надав Пол " +"Ганссле в :issue:`32403`)" + +msgid "" +"The speed of comparison of :class:`array.array` instances has been improved " +"considerably in certain cases. It is now from 10x to 70x faster when " +"comparing arrays holding values of the same integer type. (Contributed by " +"Adrian Wielgosik in :issue:`24700`.)" +msgstr "" +"Швидкість порівняння екземплярів :class:`array.array` була значно покращена " +"в деяких випадках. Тепер це від 10 до 70 разів швидше під час порівняння " +"масивів, що містять значення одного цілого типу. (Надав Adrian Wielgosik у :" +"issue:`24700`.)" + +msgid "" +"The :func:`math.erf` and :func:`math.erfc` functions now use the (faster) C " +"library implementation on most platforms. (Contributed by Serhiy Storchaka " +"in :issue:`26121`.)" +msgstr "" +"Функції :func:`math.erf` і :func:`math.erfc` тепер використовують (швидшу) " +"реалізацію бібліотеки C на більшості платформ. (Надав Сергій Сторчака в :" +"issue:`26121`.)" + +msgid "Other CPython Implementation Changes" +msgstr "Інші зміни в реалізації CPython" + +msgid "" +"Trace hooks may now opt out of receiving the ``line`` and opt into receiving " +"the ``opcode`` events from the interpreter by setting the corresponding new " +"``f_trace_lines`` and ``f_trace_opcodes`` attributes on the frame being " +"traced. (Contributed by Nick Coghlan in :issue:`31344`.)" +msgstr "" +"Перехоплювачі трасування тепер можуть відмовитися від отримання ``рядка`` і " +"вибрати отримання подій ``opcode`` від інтерпретатора, встановивши " +"відповідні нові атрибути ``f_trace_lines`` і ``f_trace_opcodes`` для кадру, " +"який трасується . (Надав Нік Коглан у :issue:`31344`.)" + +msgid "" +"Fixed some consistency problems with namespace package module attributes. " +"Namespace module objects now have an ``__file__`` that is set to ``None`` " +"(previously unset), and their ``__spec__.origin`` is also set to ``None`` " +"(previously the string ``\"namespace\"``). See :issue:`32305`. Also, the " +"namespace module object's ``__spec__.loader`` is set to the same value as " +"``__loader__`` (previously, the former was set to ``None``). See :issue:" +"`32303`." +msgstr "" +"Виправлено деякі проблеми узгодженості з атрибутами модуля пакета простору " +"імен. Об’єкти модуля простору імен тепер мають ``__file__``, для якого " +"встановлено значення ``None`` (раніше не було встановлено), а для їх " +"``__spec__.origin`` також встановлено значення ``None`` (раніше це був рядок " +"``\" простір імен\"``). Див. :issue:`32305`. Крім того, об’єкт модуля " +"простору імен ``__spec__.loader`` має те саме значення, що і ``__loader__`` " +"(раніше для першого було встановлено значення ``None``). Див. :issue:`32303`." + +msgid "" +"The :func:`locals` dictionary now displays in the lexical order that " +"variables were defined. Previously, the order was undefined. (Contributed " +"by Raymond Hettinger in :issue:`32690`.)" +msgstr "" +"Словник :func:`locals` тепер відображається в лексичному порядку, у якому " +"були визначені змінні. Раніше порядок був невизначеним. (Надав Реймонд " +"Геттінгер у :issue:`32690`.)" + +msgid "" +"The :mod:`distutils` ``upload`` command no longer tries to change CR end-of-" +"line characters to CRLF. This fixes a corruption issue with sdists that " +"ended with a byte equivalent to CR. (Contributed by Bo Bayles in :issue:" +"`32304`.)" +msgstr "" +"Команда :mod:`distutils` ``upload`` більше не намагається змінити символи " +"кінця рядка CR на CRLF. Це вирішує проблему пошкодження sdists, які " +"закінчуються байтом, еквівалентним CR. (Надав Бо Бейлс у :issue:`32304`.)" + +msgid "Deprecated Python Behavior" +msgstr "Застаріла поведінка Python" + +msgid "" +"Yield expressions (both ``yield`` and ``yield from`` clauses) are now " +"deprecated in comprehensions and generator expressions (aside from the " +"iterable expression in the leftmost :keyword:`!for` clause). This ensures " +"that comprehensions always immediately return a container of the appropriate " +"type (rather than potentially returning a :term:`generator iterator` " +"object), while generator expressions won't attempt to interleave their " +"implicit output with the output from any explicit yield expressions. In " +"Python 3.7, such expressions emit :exc:`DeprecationWarning` when compiled, " +"in Python 3.8 this will be a :exc:`SyntaxError`. (Contributed by Serhiy " +"Storchaka in :issue:`10544`.)" +msgstr "" +"Вирази yield (як ``yield``, так і ``yield from`` пункти) тепер застаріли у " +"виразах розуміння та генераторі (окрім ітераційного виразу в крайньому " +"лівому пункті :keyword:`!for`). Це гарантує, що розуміння завжди негайно " +"повертатиме контейнер відповідного типу (замість потенційного повернення " +"об’єкта :term:`generator iterator`), тоді як вирази генератора не " +"намагатимуться перемежовувати свій неявний вихід з виводом будь-яких явних " +"виразів yield. У Python 3.7 такі вирази видають :exc:`DeprecationWarning` " +"під час компіляції, у Python 3.8 це буде :exc:`SyntaxError`. (Надав Сергій " +"Сторчака в :issue:`10544`.)" + +msgid "" +"Returning a subclass of :class:`complex` from :meth:`object.__complex__` is " +"deprecated and will be an error in future Python versions. This makes " +"``__complex__()`` consistent with :meth:`object.__int__` and :meth:`object." +"__float__`. (Contributed by Serhiy Storchaka in :issue:`28894`.)" +msgstr "" +"Повернення підкласу :class:`complex` з :meth:`object.__complex__` є " +"застарілим і буде помилкою в майбутніх версіях Python. Це робить " +"``__complex__()`` сумісним з :meth:`object.__int__` і :meth:`object." +"__float__`. (Надав Сергій Сторчака в :issue:`28894`.)" + +msgid "Deprecated Python modules, functions and methods" +msgstr "Застарілі модулі, функції та методи Python" + +msgid "aifc" +msgstr "aifc" + +msgid "" +":func:`aifc.openfp` has been deprecated and will be removed in Python 3.9. " +"Use :func:`aifc.open` instead. (Contributed by Brian Curtin in :issue:" +"`31985`.)" +msgstr "" +":func:`aifc.openfp` визнано застарілим і буде видалено в Python 3.9. " +"Натомість використовуйте :func:`aifc.open`. (Надав Браян Кертін у :issue:" +"`31985`.)" + +msgid "" +"Support for directly ``await``-ing instances of :class:`asyncio.Lock` and " +"other asyncio synchronization primitives has been deprecated. An " +"asynchronous context manager must be used in order to acquire and release " +"the synchronization resource. (Contributed by Andrew Svetlov in :issue:" +"`32253`.)" +msgstr "" +"Підтримка для ``очікування`` екземплярів :class:`asyncio.Lock` та інших " +"примітивів синхронізації asyncio застаріла. Для отримання та звільнення " +"ресурсу синхронізації необхідно використовувати диспетчер асинхронного " +"контексту. (Надав Ендрю Свєтлов у :issue:`32253`.)" + +msgid "" +"The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " +"methods have been deprecated. (Contributed by Andrew Svetlov in :issue:" +"`32250`.)" +msgstr "" +"Методи :meth:`asyncio.Task.current_task` і :meth:`asyncio.Task.all_tasks` " +"застаріли. (Надав Ендрю Свєтлов у :issue:`32250`.)" + +msgid "" +"In Python 3.8, the abstract base classes in :mod:`collections.abc` will no " +"longer be exposed in the regular :mod:`collections` module. This will help " +"create a clearer distinction between the concrete classes and the abstract " +"base classes. (Contributed by Serhiy Storchaka in :issue:`25988`.)" +msgstr "" +"У Python 3.8 абстрактні базові класи в :mod:`collections.abc` більше не " +"відображатимуться в звичайному модулі :mod:`collections`. Це допоможе " +"створити більш чітке розмежування між конкретними класами та абстрактними " +"базовими класами. (Надав Сергій Сторчака в :issue:`25988`.)" + +msgid "" +":mod:`dbm.dumb` now supports reading read-only files and no longer writes " +"the index file when it is not changed. A deprecation warning is now emitted " +"if the index file is missing and recreated in the ``'r'`` and ``'w'`` modes " +"(this will be an error in future Python releases). (Contributed by Serhiy " +"Storchaka in :issue:`28847`.)" +msgstr "" +":mod:`dbm.dumb` тепер підтримує читання файлів лише для читання та більше не " +"записує файл індексу, якщо він не змінений. Тепер видається попередження про " +"застаріння, якщо файл індексу відсутній і створений заново в режимах ``'r'`` " +"і ``'w'`` (це буде помилка в майбутніх випусках Python). (Надав Сергій " +"Сторчака в :issue:`28847`.)" + +msgid "" +"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " +"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " +"attempting to check for non-Flag objects in a :class:`Flag` member will " +"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " +"return :const:`False` instead. (Contributed by Ethan Furman in :issue:" +"`33217`.)" +msgstr "" +"У Python 3.8 спроба перевірити об’єкти, що не належать до Enum, у класах :" +"class:`Enum` викличе :exc:`TypeError` (наприклад, ``1 in Color``); " +"аналогічно спроба перевірити об’єкти без прапорців у члені :class:`Flag` " +"викличе :exc:`TypeError` (наприклад, ``1 in Perm.RW``); наразі обидві " +"операції замість цього повертають :const:`False`. (Надав Ітан Фурман у :" +"issue:`33217`.)" + +msgid "gettext" +msgstr "gettext" + +msgid "" +"Using non-integer value for selecting a plural form in :mod:`gettext` is now " +"deprecated. It never correctly worked. (Contributed by Serhiy Storchaka in :" +"issue:`28692`.)" +msgstr "" +"Використання нецілого значення для вибору форми множини в :mod:`gettext` " +"тепер застаріло. Він ніколи не працював правильно. (Надав Сергій Сторчака в :" +"issue:`28692`.)" + +msgid "" +"Methods :meth:`MetaPathFinder.find_module() ` (replaced by :meth:`MetaPathFinder.find_spec() `) and :meth:`PathEntryFinder.find_loader() " +"` (replaced by :meth:" +"`PathEntryFinder.find_spec() `) " +"both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. " +"(Contributed by Matthias Bussonnier in :issue:`29576`)" +msgstr "" +"Методи :meth:`Metapathfinder.find_module () ` (замінено на :meth:`metapathfinder.find_spec () `) та :meth:`PathEntryFinder.find_loader() " +"` (замінено на :meth:" +"`PathEntryFinder.find_spec() `) " +"обидва застарілі в Python 3.4 тепер видають :exc:`DeprecationWarning`. " +"(Надав Матіас Бюссонньє в :issue:`29576`)" + +msgid "" +"The :class:`importlib.abc.ResourceLoader` ABC has been deprecated in favour " +"of :class:`importlib.abc.ResourceReader`." +msgstr "" +":class:`importlib.abc.ResourceLoader` ABC застаріло на користь :class:" +"`importlib.abc.ResourceReader`." + +msgid "" +":func:`locale.format` has been deprecated, use :meth:`locale.format_string` " +"instead. (Contributed by Garvit in :issue:`10379`.)" +msgstr "" +":func:`locale.format` застаріло, замість нього використовуйте :meth:`locale." +"format_string`. (Надано Гарвітом у :issue:`10379`.)" + +msgid "macpath" +msgstr "macpath" + +msgid "" +"The :mod:`macpath` is now deprecated and will be removed in Python 3.8. " +"(Contributed by Chi Hsuan Yen in :issue:`9850`.)" +msgstr "" +":mod:`macpath` тепер не підтримується та буде видалено в Python 3.8. (Надано " +"Чі Сюань Єном у :issue:`9850`.)" + +msgid "threading" +msgstr "різьблення" + +msgid "" +":mod:`dummy_threading` and :mod:`_dummy_thread` have been deprecated. It is " +"no longer possible to build Python with threading disabled. Use :mod:" +"`threading` instead. (Contributed by Antoine Pitrou in :issue:`31370`.)" +msgstr "" +":mod:`dummy_threading` і :mod:`_dummy_thread` застаріли. Більше неможливо " +"створити Python з вимкненою потоковою обробкою. Замість цього " +"використовуйте :mod:`threading`. (Надав Антуан Пітру в :issue:`31370`.)" + +msgid "" +"The silent argument value truncation in :func:`socket.htons` and :func:" +"`socket.ntohs` has been deprecated. In future versions of Python, if the " +"passed argument is larger than 16 bits, an exception will be raised. " +"(Contributed by Oren Milman in :issue:`28332`.)" +msgstr "" +"Безмовне скорочення значення аргументу в :func:`socket.htons` і :func:" +"`socket.ntohs` застаріло. У майбутніх версіях Python, якщо переданий " +"аргумент перевищує 16 біт, буде створено виняток. (Надав Орен Мілман у :" +"issue:`28332`.)" + +msgid "" +":func:`ssl.wrap_socket` is deprecated. Use :meth:`ssl.SSLContext." +"wrap_socket` instead. (Contributed by Christian Heimes in :issue:`28124`.)" +msgstr "" +":func:`ssl.wrap_socket` застаріло. Замість цього використовуйте :meth:`ssl." +"SSLContext.wrap_socket`. (Надав Крістіан Хеймс у :issue:`28124`.)" + +msgid "sunau" +msgstr "sunau" + +msgid "" +":func:`sunau.openfp` has been deprecated and will be removed in Python 3.9. " +"Use :func:`sunau.open` instead. (Contributed by Brian Curtin in :issue:" +"`31985`.)" +msgstr "" +":func:`sunau.openfp` визнано застарілим і буде видалено в Python 3.9. " +"Замість цього використовуйте :func:`sunau.open`. (Надав Браян Кертін у :" +"issue:`31985`.)" + +msgid "" +"Deprecated :func:`sys.set_coroutine_wrapper` and :func:`sys." +"get_coroutine_wrapper`." +msgstr "" +"Застаріли :func:`sys.set_coroutine_wrapper` і :func:`sys." +"get_coroutine_wrapper`." + +msgid "" +"The undocumented ``sys.callstats()`` function has been deprecated and will " +"be removed in a future Python version. (Contributed by Victor Stinner in :" +"issue:`28799`.)" +msgstr "" +"Недокументована функція ``sys.callstats()`` застаріла та буде видалена в " +"майбутній версії Python. (Надав Віктор Стіннер у :issue:`28799`.)" + +msgid "wave" +msgstr "хвиля" + +msgid "" +":func:`wave.openfp` has been deprecated and will be removed in Python 3.9. " +"Use :func:`wave.open` instead. (Contributed by Brian Curtin in :issue:" +"`31985`.)" +msgstr "" +":func:`wave.openfp` визнано застарілим і буде видалено в Python 3.9. " +"Натомість використовуйте :func:`wave.open`. (Надав Браян Кертін у :issue:" +"`31985`.)" + +msgid "Deprecated functions and types of the C API" +msgstr "Застарілі функції та типи C API" + +msgid "" +"Function :c:func:`PySlice_GetIndicesEx` is deprecated and replaced with a " +"macro if ``Py_LIMITED_API`` is not set or set to a value in the range " +"between ``0x03050400`` and ``0x03060000`` (not inclusive), or is " +"``0x03060100`` or higher. (Contributed by Serhiy Storchaka in :issue:" +"`27867`.)" +msgstr "" +"Функція :c:func:`PySlice_GetIndicesEx` застаріла та замінена на макрос, якщо " +"``Py_LIMITED_API`` не встановлено або встановлено значення в діапазоні від " +"``0x03050400`` до ``0x03060000`` (не включно), або ``0x03060100`` або вище. " +"(Надав Сергій Сторчака в :issue:`27867`.)" + +msgid "" +":c:func:`PyOS_AfterFork` has been deprecated. Use :c:func:" +"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` or :c:func:" +"`PyOS_AfterFork_Child()` instead. (Contributed by Antoine Pitrou in :issue:" +"`16500`.)" +msgstr "" +":c:func:`PyOS_AfterFork` застаріло. Замість цього використовуйте :c:func:" +"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` або :c:func:" +"`PyOS_AfterFork_Child()`. (Надав Антуан Пітру в :issue:`16500`.)" + +msgid "Platform Support Removals" +msgstr "Видалення підтримки платформи" + +msgid "FreeBSD 9 and older are no longer officially supported." +msgstr "FreeBSD 9 і старіші більше офіційно не підтримуються." + +msgid "" +"For full Unicode support, including within extension modules, \\*nix " +"platforms are now expected to provide at least one of ``C.UTF-8`` (full " +"locale), ``C.utf8`` (full locale) or ``UTF-8`` (``LC_CTYPE``-only locale) as " +"an alternative to the legacy ``ASCII``-based ``C`` locale." +msgstr "" +"Для повної підтримки Unicode, включно з модулями розширення, очікується, що " +"платформи \\*nix нададуть принаймні один із ``C.UTF-8`` (повна локаль), ``C." +"utf8`` (повна локаль) або ``UTF-8`` (``LC_CTYPE``-only locale) як " +"альтернатива застарілому ``ASCII`` на основі ``C`` локалі." + +msgid "" +"OpenSSL 0.9.8 and 1.0.1 are no longer supported, which means building " +"CPython 3.7 with SSL/TLS support on older platforms still using these " +"versions requires custom build options that link to a more recent version of " +"OpenSSL." +msgstr "" +"OpenSSL 0.9.8 і 1.0.1 більше не підтримуються, що означає, що створення " +"CPython 3.7 із підтримкою SSL/TLS на старіших платформах, які все ще " +"використовують ці версії, потребує спеціальних параметрів збірки, які " +"посилаються на новішу версію OpenSSL." + +msgid "" +"Notably, this issue affects the Debian 8 (aka \"jessie\") and Ubuntu 14.04 " +"(aka \"Trusty\") LTS Linux distributions, as they still use OpenSSL 1.0.1 by " +"default." +msgstr "" +"Зокрема, ця проблема стосується дистрибутивів LTS Linux Debian 8 (він же " +"\"jessie\") і Ubuntu 14.04 (він же \"Trusty\"), оскільки вони все ще " +"використовують OpenSSL 1.0.1 за замовчуванням." + +msgid "" +"Debian 9 (\"stretch\") and Ubuntu 16.04 (\"xenial\"), as well as recent " +"releases of other LTS Linux releases (e.g. RHEL/CentOS 7.5, SLES 12-SP3), " +"use OpenSSL 1.0.2 or later, and remain supported in the default build " +"configuration." +msgstr "" +"Debian 9 (\"stretch\") і Ubuntu 16.04 (\"xenial\"), а також останні випуски " +"інших версій LTS Linux (наприклад, RHEL/CentOS 7.5, SLES 12-SP3) " +"використовують OpenSSL 1.0.2 або пізнішої версії та залишаються " +"підтримуваними у конфігурації збірки за замовчуванням." + +msgid "" +"CPython's own `CI configuration file `_ provides an example of using the SSL :source:" +"`compatibility testing infrastructure ` in " +"CPython's test suite to build and link against OpenSSL 1.1.0 rather than an " +"outdated system provided OpenSSL." +msgstr "" + +msgid "API and Feature Removals" +msgstr "Видалення API та функцій" + +msgid "The following features and APIs have been removed from Python 3.7:" +msgstr "З Python 3.7 видалено наступні функції та API:" + +msgid "" +"The ``os.stat_float_times()`` function has been removed. It was introduced " +"in Python 2.3 for backward compatibility with Python 2.2, and was deprecated " +"since Python 3.1." +msgstr "" +"Функцію ``os.stat_float_times()`` було видалено. Він був представлений у " +"Python 2.3 для зворотної сумісності з Python 2.2, і був застарілим з Python " +"3.1." + +msgid "" +"Unknown escapes consisting of ``'\\'`` and an ASCII letter in replacement " +"templates for :func:`re.sub` were deprecated in Python 3.5, and will now " +"cause an error." +msgstr "" +"Невідомі вихідні коди, що складаються з ``'\\'`` і літери ASCII у шаблонах " +"заміни для :func:`re.sub` були застарілими в Python 3.5 і тепер викликають " +"помилку." + +msgid "" +"Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It " +"was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead." +msgstr "" +"Вилучено підтримку аргументу *exclude* у :meth:`tarfile.TarFile.add`. Він " +"був застарілим у Python 2.7 і 3.2. Натомість використовуйте аргумент " +"*filter*." + +msgid "" +"The ``splitunc()`` function in the :mod:`ntpath` module was deprecated in " +"Python 3.1, and has now been removed. Use the :func:`~os.path.splitdrive` " +"function instead." +msgstr "" +"Функція ``splitunc()`` у модулі :mod:`ntpath` була застарілою в Python 3.1 і " +"тепер її видалено. Натомість використовуйте функцію :func:`~os.path." +"splitdrive`." + +msgid "" +":func:`collections.namedtuple` no longer supports the *verbose* parameter or " +"``_source`` attribute which showed the generated source code for the named " +"tuple class. This was part of an optimization designed to speed-up class " +"creation. (Contributed by Jelle Zijlstra with further improvements by INADA " +"Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" +msgstr "" +":func:`collections.namedtuple` більше не підтримує параметр *verbose* або " +"атрибут ``_source``, який показував згенерований вихідний код для " +"іменованого класу кортежу. Це було частиною оптимізації, спрямованої на " +"прискорення створення класів. (Надано Jelle Zijlstra з подальшими " +"вдосконаленнями INADA Naoki, Сергієм Сторчакою та Raymond Hettinger у :issue:" +"`28638`.)" + +msgid "" +"Functions :func:`bool`, :func:`float`, :func:`list` and :func:`tuple` no " +"longer take keyword arguments. The first argument of :func:`int` can now be " +"passed only as positional argument." +msgstr "" +"Функції :func:`bool`, :func:`float`, :func:`list` і :func:`tuple` більше не " +"приймають аргументи ключових слів. Перший аргумент :func:`int` тепер можна " +"передати лише як позиційний аргумент." + +msgid "" +"Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " +"``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " +"of functions :func:`~plistlib.readPlist` and :func:`~plistlib." +"readPlistFromBytes` are now normal dicts. You no longer can use attribute " +"access to access items of these dictionaries." +msgstr "" +"Вилучено раніше застарілі в Python 2.4 класи ``Plist``, ``Dict`` і " +"``_InternalDict`` у модулі :mod:`plistlib`. Значення Dict у результатах " +"функцій :func:`~plistlib.readPlist` і :func:`~plistlib.readPlistFromBytes` " +"тепер є звичайними dicts. Ви більше не можете використовувати доступ до " +"атрибутів для доступу до елементів цих словників." + +msgid "" +"The ``asyncio.windows_utils.socketpair()`` function has been removed. Use " +"the :func:`socket.socketpair` function instead, it is available on all " +"platforms since Python 3.5. ``asyncio.windows_utils.socketpair`` was just an " +"alias to ``socket.socketpair`` on Python 3.5 and newer." +msgstr "" +"Функцію ``asyncio.windows_utils.socketpair()`` видалено. Натомість " +"використовуйте функцію :func:`socket.socketpair`, вона доступна на всіх " +"платформах, починаючи з Python 3.5. ``asyncio.windows_utils.socketpair`` був " +"просто псевдонімом ``socket.socketpair`` на Python 3.5 і новіших версіях." + +msgid "" +":mod:`asyncio` no longer exports the :mod:`selectors` and :mod:`_overlapped` " +"modules as ``asyncio.selectors`` and ``asyncio._overlapped``. Replace ``from " +"asyncio import selectors`` with ``import selectors``." +msgstr "" +":mod:`asyncio` більше не експортує модулі :mod:`selectors` і :mod:" +"`_overlapped` як ``asyncio.selectors`` і ``asyncio._overlapped``. Замініть " +"``from asyncio import selectors`` на ``import selectors``." + +msgid "" +"Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " +"objects is now prohibited. The constructors were never documented, tested, " +"or designed as public constructors. Users were supposed to use :func:`ssl." +"wrap_socket` or :class:`ssl.SSLContext`. (Contributed by Christian Heimes " +"in :issue:`32951`.)" +msgstr "" +"Пряме створення об’єктів :class:`ssl.SSLSocket` і :class:`ssl.SSLObject` " +"тепер заборонено. Конструктори ніколи не документувалися, не тестувалися і " +"не проектувалися як публічні конструктори. Користувачі повинні були " +"використовувати :func:`ssl.wrap_socket` або :class:`ssl.SSLContext`. (Надав " +"Крістіан Хеймс у :issue:`32951`.)" + +msgid "" +"The unused :mod:`distutils` ``install_misc`` command has been removed. " +"(Contributed by Eric N. Vander Weele in :issue:`29218`.)" +msgstr "" +"Невикористану команду :mod:`distutils` ``install_misc`` було видалено. " +"(Надав Ерік Н. Вандер Віле в :issue:`29218`.)" + +msgid "Module Removals" +msgstr "Видалення модулів" + +msgid "" +"The ``fpectl`` module has been removed. It was never enabled by default, " +"never worked correctly on x86-64, and it changed the Python ABI in ways that " +"caused unexpected breakage of C extensions. (Contributed by Nathaniel J. " +"Smith in :issue:`29137`.)" +msgstr "" +"Модуль ``fpectl`` видалено. Він ніколи не був увімкнений за замовчуванням, " +"ніколи не працював правильно на x86-64, і він змінював Python ABI таким " +"чином, що викликав неочікувану поломку розширень C. (Надано Натаніелем Дж. " +"Смітом у :issue:`29137`.)" + +msgid "Windows-only Changes" +msgstr "Зміни лише для Windows" + +msgid "" +"The python launcher, (py.exe), can accept 32 & 64 bit specifiers **without** " +"having to specify a minor version as well. So ``py -3-32`` and ``py -3-64`` " +"become valid as well as ``py -3.7-32``, also the -*m*-64 and -*m.n*-64 forms " +"are now accepted to force 64 bit python even if 32 bit would have otherwise " +"been used. If the specified version is not available py.exe will error exit. " +"(Contributed by Steve Barnes in :issue:`30291`.)" +msgstr "" +"Засіб запуску Python (py.exe) може приймати 32- та 64-бітні специфікатори " +"**без** необхідності вказувати проміжну версію. Тож ``py -3-32`` і ``py " +"-3-64`` стають дійсними, а також ``py -3.7-32``, а також -*m*-64 і -*m.n*-64 " +"тепер дозволено використовувати 64-бітний Python, навіть якщо в іншому " +"випадку використовувався б 32-бітний. Якщо зазначена версія недоступна, py." +"exe завершить роботу з помилкою. (Надав Стів Барнс у :issue:`30291`.)" + +msgid "" +"The launcher can be run as ``py -0`` to produce a list of the installed " +"pythons, *with default marked with an asterisk*. Running ``py -0p`` will " +"include the paths. If py is run with a version specifier that cannot be " +"matched it will also print the *short form* list of available specifiers. " +"(Contributed by Steve Barnes in :issue:`30362`.)" +msgstr "" +"Засіб запуску можна запустити як ``py -0``, щоб створити список встановлених " +"пітонів, *за умовчанням позначених зірочкою*. Запуск ``py -0p`` включатиме " +"шляхи. Якщо py запускається зі специфікатором версії, який не може бути " +"зіставлений, він також надрукує *короткий* список доступних специфікаторів. " +"(Надав Стів Барнс у :issue:`30362`.)" + +msgid "Porting to Python 3.7" +msgstr "Перенесення на Python 3.7" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in Python Behavior" +msgstr "Зміни в поведінці Python" + +msgid "" +":keyword:`async` and :keyword:`await` names are now reserved keywords. Code " +"using these names as identifiers will now raise a :exc:`SyntaxError`. " +"(Contributed by Jelle Zijlstra in :issue:`30406`.)" +msgstr "" +"Імена :keyword:`async` і :keyword:`await` тепер є зарезервованими ключовими " +"словами. Код, який використовує ці імена як ідентифікатори, тепер викличе :" +"exc:`SyntaxError`. (Надано Jelle Zijlstra в :issue:`30406`.)" + +msgid "" +":pep:`479` is enabled for all code in Python 3.7, meaning that :exc:" +"`StopIteration` exceptions raised directly or indirectly in coroutines and " +"generators are transformed into :exc:`RuntimeError` exceptions. (Contributed " +"by Yury Selivanov in :issue:`32670`.)" +msgstr "" +":pep:`479` увімкнено для всього коду в Python 3.7, тобто винятки :exc:" +"`StopIteration`, викликані прямо чи опосередковано в співпрограмах і " +"генераторах, перетворюються на винятки :exc:`RuntimeError`. (Надав Юрій " +"Селіванов у :issue:`32670`.)" + +msgid "" +":meth:`object.__aiter__` methods can no longer be declared as asynchronous. " +"(Contributed by Yury Selivanov in :issue:`31709`.)" +msgstr "" +"Методи :meth:`object.__aiter__` більше не можна оголошувати як асинхронні. " +"(Надав Юрій Селіванов у :issue:`31709`.)" + +msgid "" +"Due to an oversight, earlier Python versions erroneously accepted the " +"following syntax::" +msgstr "" +"Через помилку попередні версії Python помилково приймали такий синтаксис:" + +msgid "" +"Python 3.7 now correctly raises a :exc:`SyntaxError`, as a generator " +"expression always needs to be directly inside a set of parentheses and " +"cannot have a comma on either side, and the duplication of the parentheses " +"can be omitted only on calls. (Contributed by Serhiy Storchaka in :issue:" +"`32012` and :issue:`32023`.)" +msgstr "" +"Python 3.7 тепер правильно викликає :exc:`SyntaxError`, оскільки вираз " +"генератора завжди має бути безпосередньо всередині набору дужок і не може " +"мати коми з обох боків, а дублювання дужок можна опустити лише під час " +"викликів. (Надав Сергій Сторчака в :issue:`32012` і :issue:`32023`.)" + +msgid "" +"When using the :option:`-m` switch, the initial working directory is now " +"added to :data:`sys.path`, rather than an empty string (which dynamically " +"denoted the current working directory at the time of each import). Any " +"programs that are checking for the empty string, or otherwise relying on the " +"previous behaviour, will need to be updated accordingly (e.g. by also " +"checking for ``os.getcwd()`` or ``os.path.dirname(__main__.__file__)``, " +"depending on why the code was checking for the empty string in the first " +"place)." +msgstr "" +"Під час використання перемикача :option:`-m` початковий робочий каталог " +"тепер додається до :data:`sys.path`, а не порожній рядок (який динамічно " +"позначає поточний робочий каталог під час кожного імпорту). Будь-які " +"програми, які перевіряють порожній рядок або іншим чином покладаються на " +"попередню поведінку, потрібно буде відповідним чином оновити (наприклад, " +"також перевіривши ``os.getcwd()`` або ``os.path.dirname(__main__. " +"__file__)``, залежно від того, чому код спочатку перевіряв порожній рядок)." + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" +"daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn." +"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " +"(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" +msgstr "" +":meth:`socketserver.ThreadingMixIn.server_close` тепер очікує, поки " +"завершаться всі потоки, що не є демонами. Встановіть новий атрибут класу :" +"attr:`socketserver.ThreadingMixIn.block_on_close` на ``False``, щоб отримати " +"поведінку до 3.7. (Надав Віктор Стіннер у :issue:`31233` і :issue:`33540`.)" + +msgid "" +":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " +"processes complete. Set the new :attr:`socketserver.ForkingMixIn." +"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " +"(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" +msgstr "" +":meth:`socketserver.ForkingMixIn.server_close` тепер очікує, поки " +"завершаться всі дочірні процеси. Встановіть новий атрибут класу :attr:" +"`socketserver.ForkingMixIn.block_on_close` на ``False``, щоб отримати " +"поведінку до 3.7. (Надав Віктор Стіннер у :issue:`31151` і :issue:`33540`.)" + +msgid "" +"The :func:`locale.localeconv` function now temporarily sets the ``LC_CTYPE`` " +"locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor " +"Stinner in :issue:`31900`.)" +msgstr "" +"У деяких випадках функція :func:`locale.localeconv` тепер тимчасово " +"встановлює для локалі ``LC_CTYPE`` значення ``LC_NUMERIC``. (Надав Віктор " +"Стіннер у :issue:`31900`.)" + +msgid "" +":meth:`pkgutil.walk_packages` now raises a :exc:`ValueError` if *path* is a " +"string. Previously an empty list was returned. (Contributed by Sanyam " +"Khurana in :issue:`24744`.)" +msgstr "" +":meth:`pkgutil.walk_packages` тепер викликає :exc:`ValueError`, якщо *path* " +"є рядком. Раніше повертався порожній список. (Надано Sanyam Khurana в :issue:" +"`24744`.)" + +msgid "" +"A format string argument for :meth:`string.Formatter.format` is now :ref:" +"`positional-only `. Passing it as a keyword " +"argument was deprecated in Python 3.5. (Contributed by Serhiy Storchaka in :" +"issue:`29193`.)" +msgstr "" +"Аргумент рядка форматування для :meth:`string.Formatter.format` тепер :ref:" +"`positional-only `. Передача його як аргументу " +"ключового слова застаріла в Python 3.5. (Надав Сергій Сторчака в :issue:" +"`29193`.)" + +msgid "" +"Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." +"value` and :attr:`~http.cookies.Morsel.coded_value` of class :class:`http." +"cookies.Morsel` are now read-only. Assigning to them was deprecated in " +"Python 3.5. Use the :meth:`~http.cookies.Morsel.set` method for setting " +"them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" +msgstr "" +"Атрибути :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." +"value` і :attr:`~http.cookies.Morsel.coded_value` класу :class:`http. " +"cookies.Morsel` тепер доступні лише для читання. Призначення їм було " +"застарілим у Python 3.5. Для їх налаштування використовуйте метод :meth:" +"`~http.cookies.Morsel.set`. (Надав Сергій Сторчака в :issue:`29192`.)" + +msgid "" +"The *mode* argument of :func:`os.makedirs` no longer affects the file " +"permission bits of newly created intermediate-level directories. To set " +"their file permission bits you can set the umask before invoking " +"``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" +msgstr "" + +msgid "" +"The :attr:`struct.Struct.format` type is now :class:`str` instead of :class:" +"`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" +msgstr "" +"Тип :attr:`struct.Struct.format` тепер :class:`str` замість :class:`bytes`. " +"(Надав Віктор Стіннер у :issue:`21071`.)" + +msgid "" +":func:`~cgi.parse_multipart` now accepts the *encoding* and *errors* " +"arguments and returns the same results as :class:`~FieldStorage`: for non-" +"file fields, the value associated to a key is a list of strings, not bytes. " +"(Contributed by Pierre Quentel in :issue:`29979`.)" +msgstr "" +":func:`~cgi.parse_multipart` тепер приймає аргументи *encoding* і *errors* і " +"повертає ті самі результати, що і :class:`~FieldStorage`: для нефайлових " +"полів значення, пов’язане з ключем, є списком рядки, а не байти. (Надав П’єр " +"Квентель у :issue:`29979`.)" + +msgid "" +"Due to internal changes in :mod:`socket`, calling :func:`socket.fromshare` " +"on a socket created by :func:`socket.share ` in older " +"Python versions is not supported." +msgstr "" +"Через внутрішні зміни в :mod:`socket` виклик :func:`socket.fromshare` для " +"сокета, створеного :func:`socket.share ` у старіших " +"версіях Python, не підтримується." + +msgid "" +"``repr`` for :exc:`BaseException` has changed to not include the trailing " +"comma. Most exceptions are affected by this change. (Contributed by Serhiy " +"Storchaka in :issue:`30399`.)" +msgstr "" +"``repr`` для :exc:`BaseException` змінено, щоб не включати кінцеву кому. Ця " +"зміна стосується більшості винятків. (Надав Сергій Сторчака в :issue:" +"`30399`.)" + +msgid "" +"``repr`` for :class:`datetime.timedelta` has changed to include the keyword " +"arguments in the output. (Contributed by Utkarsh Upadhyay in :issue:`30302`.)" +msgstr "" +"``repr`` для :class:`datetime.timedelta` змінено, щоб включити ключові " +"аргументи у вивід. (Надав Utkarsh Upadhyay у :issue:`30302`.)" + +msgid "" +"Because :func:`shutil.rmtree` is now implemented using the :func:`os." +"scandir` function, the user specified handler *onerror* is now called with " +"the first argument ``os.scandir`` instead of ``os.listdir`` when listing the " +"directory is failed." +msgstr "" +"Оскільки :func:`shutil.rmtree` тепер реалізовано за допомогою функції :func:" +"`os.scandir`, вказаний користувачем обробник *onerror* тепер викликається з " +"першим аргументом ``os.scandir`` замість ``os .listdir`` під час " +"перерахування каталогу не вдається." + +msgid "" +"Support for nested sets and set operations in regular expressions as in " +"`Unicode Technical Standard #18`_ might be added in the future. This would " +"change the syntax. To facilitate this future change a :exc:`FutureWarning` " +"will be raised in ambiguous cases for the time being. That include sets " +"starting with a literal ``'['`` or containing literal character sequences " +"``'--'``, ``'&&'``, ``'~~'``, and ``'||'``. To avoid a warning, escape them " +"with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" +msgstr "" +"У майбутньому може бути додано підтримку вкладених наборів і операцій із " +"наборами в регулярних виразах, як у `Технічному стандарті Unicode #18`_. Це " +"змінило б синтаксис. Для сприяння цій майбутній зміні :exc:`FutureWarning` " +"на даний момент буде викликано у неоднозначних випадках. Це включає в себе " +"набори, що починаються з літерала ``'['`` або містять літеральні " +"послідовності символів ``'--'``, ``'&&'``, ``'~~'`` і ``'| |'``. Щоб " +"уникнути попередження, екрануйте їх за допомогою зворотної косої риски. " +"(Надав Сергій Сторчака в :issue:`30349`.)" + +msgid "" +"The result of splitting a string on a :mod:`regular expression ` that " +"could match an empty string has been changed. For example splitting on " +"``r'\\s*'`` will now split not only on whitespaces as it did previously, but " +"also on empty strings before all non-whitespace characters and just before " +"the end of the string. The previous behavior can be restored by changing the " +"pattern to ``r'\\s+'``. A :exc:`FutureWarning` was emitted for such " +"patterns since Python 3.5." +msgstr "" +"Результат поділу рядка на :mod:`регулярний вираз `, який міг відповідати " +"порожньому рядку, було змінено. Наприклад, розділення на ``r'\\s*'`` тепер " +"розділятиметься не лише на пробіли, як це було раніше, але також на порожні " +"рядки перед усіма символами, які не є пробілами, і безпосередньо перед " +"кінцем рядка. Попередню поведінку можна відновити, змінивши шаблон на ``r'\\s" +"+'``. :exc:`FutureWarning` було видано для таких шаблонів, починаючи з " +"Python 3.5." + +msgid "" +"For patterns that match both empty and non-empty strings, the result of " +"searching for all matches may also be changed in other cases. For example " +"in the string ``'a\\n\\n'``, the pattern ``r'(?m)^\\s*?$'`` will not only " +"match empty strings at positions 2 and 3, but also the string ``'\\n'`` at " +"positions 2--3. To match only blank lines, the pattern should be rewritten " +"as ``r'(?m)^[^\\S\\n]*$'``." +msgstr "" +"Для шаблонів, які відповідають як порожнім, так і непорожнім рядкам, " +"результат пошуку всіх збігів також може бути змінений в інших випадках. " +"Наприклад, у рядку ``'a\\n\\n'``, шаблон ``r'(?m)^\\s*?$'`` не лише " +"відповідатиме порожнім рядкам у позиціях 2 і 3, але також рядок ``'\\n'`` на " +"позиціях 2--3. Щоб відповідати лише порожнім рядкам, шаблон слід переписати " +"як ``r'(?m)^[^\\S\\n]*$''``." + +msgid "" +":func:`re.sub()` now replaces empty matches adjacent to a previous non-empty " +"match. For example ``re.sub('x*', '-', 'abxd')`` returns now ``'-a-b--d-'`` " +"instead of ``'-a-b-d-'`` (the first minus between 'b' and 'd' replaces 'x', " +"and the second minus replaces an empty string between 'x' and 'd')." +msgstr "" +":func:`re.sub()` тепер замінює порожні збіги поруч із попереднім непорожнім " +"збігом. Наприклад, ``re.sub('x*', '-', 'abxd')`` тепер повертає ``'-a-b--" +"d-'`` замість ``'-a-b-d-'`` ( перший мінус між 'b' і 'd' замінює 'x', а " +"другий мінус замінює порожній рядок між 'x' і 'd')." + +msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" +msgstr "(Надав Сергій Сторчака в :issue:`25054` і :issue:`32308`.)" + +msgid "" +"Change :func:`re.escape` to only escape regex special characters instead of " +"escaping all characters other than ASCII letters, numbers, and ``'_'``. " +"(Contributed by Serhiy Storchaka in :issue:`29995`.)" +msgstr "" +"Змініть :func:`re.escape`, щоб екранувати лише спеціальні символи регулярних " +"виразів замість екранування всіх символів, крім літер ASCII, цифр і ``'_'``. " +"(Надав Сергій Сторчака в :issue:`29995`.)" + +msgid "" +":class:`tracemalloc.Traceback` frames are now sorted from oldest to most " +"recent to be more consistent with :mod:`traceback`. (Contributed by Jesse " +"Bakker in :issue:`32121`.)" +msgstr "" +":class:`tracemalloc.Traceback` кадри тепер сортуються від найстаріших до " +"найновіших, щоб бути більш узгодженими з :mod:`traceback`. (Надав Джессі " +"Беккер у :issue:`32121`.)" + +msgid "" +"On OSes that support :const:`socket.SOCK_NONBLOCK` or :const:`socket." +"SOCK_CLOEXEC` bit flags, the :attr:`socket.type ` no " +"longer has them applied. Therefore, checks like ``if sock.type == socket." +"SOCK_STREAM`` work as expected on all platforms. (Contributed by Yury " +"Selivanov in :issue:`32331`.)" +msgstr "" +"В ОС, які підтримують :const:`socket.SOCK_NONBLOCK` або :const:`socket." +"SOCK_CLOEXEC` бітові прапорці, :attr:`socket.type ` " +"більше не застосовують їх. Тому такі перевірки, як ``if sock.type == socket." +"SOCK_STREAM``, працюють належним чином на всіх платформах. (Надав Юрій " +"Селіванов у :issue:`32331`.)" + +msgid "" +"On Windows the default for the *close_fds* argument of :class:`subprocess." +"Popen` was changed from :const:`False` to :const:`True` when redirecting the " +"standard handles. If you previously depended on handles being inherited when " +"using :class:`subprocess.Popen` with standard io redirection, you will have " +"to pass ``close_fds=False`` to preserve the previous behaviour, or use :attr:" +"`STARTUPINFO.lpAttributeList `." +msgstr "" +"У Windows стандартне значення для аргументу *close_fds* :class:`subprocess." +"Popen` було змінено з :const:`False` на :const:`True` під час " +"перенаправлення стандартних дескрипторів. Якщо раніше ви залежали від " +"успадкованих дескрипторів під час використання :class:`subprocess.Popen` зі " +"стандартним переспрямуванням io, вам доведеться передати " +"``close_fds=False``, щоб зберегти попередню поведінку, або використати :attr:" +"`STARTUPINFO.lpAttributeList `." + +msgid "" +":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly " +"affects :func:`importlib.invalidate_caches` -- now deletes entries in :data:" +"`sys.path_importer_cache` which are set to ``None``. (Contributed by Brett " +"Cannon in :issue:`33169`.)" +msgstr "" +":meth:`importlib.machinery.PathFinder.invalidate_caches` -- що неявно " +"впливає на :func:`importlib.invalidate_caches` -- тепер видаляє записи в :" +"data:`sys.path_importer_cache`, для яких встановлено значення ``None``. " +"(Надано Бреттом Кенноном у :issue:`33169`.)" + +msgid "" +"In :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" +"`loop.sock_sendall() `, :meth:`loop.sock_accept() " +"`, :meth:`loop.getaddrinfo() `, :meth:`loop.getnameinfo() ` have " +"been changed to be proper coroutine methods to match their documentation. " +"Previously, these methods returned :class:`asyncio.Future` instances. " +"(Contributed by Yury Selivanov in :issue:`32327`.)" +msgstr "" +"У :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" +"`loop.sock_sendall() `, :meth:`loop.sock_accept() " +"`, :meth:`loop. getaddrinfo() `, :meth:`loop.getnameinfo() ` були " +"змінені на належні методи співпрограми відповідно до їх документації. Раніше " +"ці методи повертали екземпляри :class:`asyncio.Future`. (Надав Юрій " +"Селіванов у :issue:`32327`.)" + +msgid "" +":attr:`asyncio.Server.sockets` now returns a copy of the internal list of " +"server sockets, instead of returning it directly. (Contributed by Yury " +"Selivanov in :issue:`32662`.)" +msgstr "" +":attr:`asyncio.Server.sockets` тепер повертає копію внутрішнього списку " +"серверних сокетів замість того, щоб повертати його безпосередньо. (Надав " +"Юрій Селіванов у :issue:`32662`.)" + +msgid "" +":attr:`Struct.format ` is now a :class:`str` instance " +"instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :" +"issue:`21071`.)" +msgstr "" +":attr:`Struct.format ` тепер є екземпляром :class:" +"`str` замість екземпляра :class:`bytes`. (Надав Віктор Стіннер у :issue:" +"`21071`.)" + +msgid "" +":mod:`argparse` subparsers can now be made mandatory by passing " +"``required=True`` to :meth:`ArgumentParser.add_subparsers() `. (Contributed by Anthony Sottile in :issue:" +"`26510`.)" +msgstr "" +"Підрозбірники :mod:`argparse` тепер можна зробити обов’язковими, передавши " +"``required=True`` у :meth:`ArgumentParser.add_subparsers() `. (Надав Ентоні Соттіле в :issue:`26510`.)" + +msgid "" +":meth:`ast.literal_eval()` is now stricter. Addition and subtraction of " +"arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka " +"in :issue:`31778`.)" +msgstr "" +":meth:`ast.literal_eval()` тепер суворіший. Додавання та віднімання " +"довільних чисел більше не дозволяється. (Надав Сергій Сторчака в :issue:" +"`31778`.)" + +msgid "" +":meth:`Calendar.itermonthdates ` will now " +"consistently raise an exception when a date falls outside of the " +"``0001-01-01`` through ``9999-12-31`` range. To support applications that " +"cannot tolerate such exceptions, the new :meth:`Calendar.itermonthdays3 " +"` and :meth:`Calendar.itermonthdays4 " +"` can be used. The new methods return " +"tuples and are not restricted by the range supported by :class:`datetime." +"date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)" +msgstr "" +":meth:`Calendar.itermonthdates ` тепер " +"постійно створюватиме виняток, якщо дата виходить за межі діапазону " +"``0001-01-01`` до ``9999-12-31``. Для підтримки програм, які не можуть " +"допускати такі винятки, можна використовувати нові :meth:`Calendar." +"itermonthdays3 ` і :meth:`Calendar." +"itermonthdays4 `. Нові методи повертають " +"кортежі та не обмежені діапазоном, який підтримує :class:`datetime.date`. " +"(Надав Олександр Бєлопольський у :issue:`28292`.)" + +msgid "" +":class:`collections.ChainMap` now preserves the order of the underlying " +"mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" +msgstr "" +":class:`collections.ChainMap` тепер зберігає порядок базових відображень. " +"(Надав Реймонд Геттінгер у :issue:`32792`.)" + +msgid "" +"The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` " +"and :class:`concurrent.futures.ProcessPoolExecutor` now raises a :exc:" +"`RuntimeError` if called during interpreter shutdown. (Contributed by Mark " +"Nemec in :issue:`33097`.)" +msgstr "" +"Метод ``submit()`` :class:`concurrent.futures.ThreadPoolExecutor` і :class:" +"`concurrent.futures.ProcessPoolExecutor` тепер викликає :exc:`RuntimeError`, " +"якщо викликається під час завершення роботи інтерпретатора. (Надав Марк " +"Немек у :issue:`33097`.)" + +msgid "" +"The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` " +"to process the default values, making its behavior consistent with the rest " +"of the parser. Non-string keys and values in the defaults dictionary are " +"now being implicitly converted to strings. (Contributed by James Tocknell " +"in :issue:`23835`.)" +msgstr "" +"Конструктор :class:`configparser.ConfigParser` тепер використовує " +"``read_dict()`` для обробки значень за замовчуванням, роблячи його поведінку " +"узгодженою з рештою синтаксичного аналізатора. Нерядкові ключі та значення в " +"словнику за замовчуванням тепер неявно перетворюються на рядки. (Надав " +"Джеймс Токнелл у :issue:`23835`.)" + +msgid "" +"Several undocumented internal imports were removed. One example is that ``os." +"errno`` is no longer available; use ``import errno`` directly instead. Note " +"that such undocumented internal imports may be removed any time without " +"notice, even in micro version releases." +msgstr "" +"Кілька незадокументованих внутрішніх імпортів було вилучено. Одним із " +"прикладів є те, що ``os.errno`` більше не доступний; натомість " +"використовуйте ``import errno`` безпосередньо. Зауважте, що такий " +"незадокументований внутрішній імпорт може бути видалено будь-коли без " +"попередження, навіть у випусках мікроверсій." + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +"The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for " +"resizable sequences. If the slice indices are not instances of :class:" +"`int`, but objects that implement the :meth:`!__index__` method, the " +"sequence can be resized after passing its length to :c:func:`!" +"PySlice_GetIndicesEx`. This can lead to returning indices out of the length " +"of the sequence. For avoiding possible problems use new functions :c:func:" +"`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices`. (Contributed by Serhiy " +"Storchaka in :issue:`27867`.)" +msgstr "" +"Функція :c:func:`PySlice_GetIndicesEx` вважається небезпечною для " +"послідовностей змінного розміру. Якщо індекси фрагментів не є екземплярами :" +"class:`int`, а об’єктами, які реалізують метод :meth:`!__index__`, розмір " +"послідовності можна змінити після передачі її довжини :c:func:`!" +"PySlice_GetIndicesEx`. Це може призвести до повернення індексів поза " +"довжиною послідовності. Щоб уникнути можливих проблем, використовуйте нові " +"функції :c:func:`PySlice_Unpack` і :c:func:`PySlice_AdjustIndices`. (Надав " +"Сергій Сторчака в :issue:`27867`.)" + +msgid "CPython bytecode changes" +msgstr "Зміни байт-коду CPython" + +msgid "" +"There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`. " +"(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" +msgstr "" +"Є два нові коди операції: :opcode:`LOAD_METHOD` і :opcode:`CALL_METHOD`. " +"(Надано Юрієм Селівановим та INADA Naoki у :issue:`26110`.)" + +msgid "" +"The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark " +"Shannon in :issue:`32550`.)" +msgstr "" +"Код операції :opcode:`STORE_ANNOTATION` видалено. (Надав Марк Шеннон у :" +"issue:`32550`.)" + +msgid "" +"The file used to override :data:`sys.path` is now called ``._pth`` instead of ``'sys.path'``. See :ref:" +"`windows_finding_modules` for more information. (Contributed by Steve Dower " +"in :issue:`28137`.)" +msgstr "" + +msgid "Other CPython implementation changes" +msgstr "Інші зміни реалізації CPython" + +msgid "" +"In preparation for potential future changes to the public CPython runtime " +"initialization API (see :pep:`432` for an initial, but somewhat outdated, " +"draft), CPython's internal startup and configuration management logic has " +"been significantly refactored. While these updates are intended to be " +"entirely transparent to both embedding applications and users of the regular " +"CPython CLI, they're being mentioned here as the refactoring changes the " +"internal order of various operations during interpreter startup, and hence " +"may uncover previously latent defects, either in embedding applications, or " +"in CPython itself. (Initially contributed by Nick Coghlan and Eric Snow as " +"part of :issue:`22257`, and further updated by Nick, Eric, and Victor " +"Stinner in a number of other issues). Some known details affected:" +msgstr "" +"Готуючись до потенційних майбутніх змін у загальнодоступному API " +"ініціалізації середовища виконання CPython (перегляньте :pep:`432` для " +"початкового, але дещо застарілого чернетки), внутрішню логіку запуску та " +"керування конфігурацією CPython було значно перероблено. Хоча ці оновлення " +"мають бути повністю прозорими як для програм для вбудовування, так і для " +"користувачів звичайного CLI CPython, вони згадуються тут, оскільки " +"рефакторинг змінює внутрішній порядок різних операцій під час запуску " +"інтерпретатора, і, отже, може виявити раніше приховані дефекти, або у " +"програмах для вбудовування або в самому CPython. (Спочатку створено Ніком " +"Когланом і Еріком Сноу як частину :issue:`22257`, а потім оновлено Ніком, " +"Еріком і Віктором Стіннером у ряді інших випусків). Впливають деякі відомі " +"деталі:" + +msgid "" +":c:func:`PySys_AddWarnOptionUnicode` is not currently usable by embedding " +"applications due to the requirement to create a Unicode object prior to " +"calling ``Py_Initialize``. Use :c:func:`PySys_AddWarnOption` instead." +msgstr "" + +msgid "" +"warnings filters added by an embedding application with :c:func:" +"`PySys_AddWarnOption` should now more consistently take precedence over the " +"default filters set by the interpreter" +msgstr "" +"фільтри попереджень, додані програмою для вбудовування за допомогою :c:func:" +"`PySys_AddWarnOption`, тепер мають більш узгоджено мати перевагу над " +"фільтрами за замовчуванням, установленими інтерпретатором" + +msgid "" +"Due to changes in the way the default warnings filters are configured, " +"setting :c:data:`Py_BytesWarningFlag` to a value greater than one is no " +"longer sufficient to both emit :exc:`BytesWarning` messages and have them " +"converted to exceptions. Instead, the flag must be set (to cause the " +"warnings to be emitted in the first place), and an explicit ``error::" +"BytesWarning`` warnings filter added to convert them to exceptions." +msgstr "" +"Через зміни в способі налаштування фільтрів попереджень за замовчуванням " +"встановлення :c:data:`Py_BytesWarningFlag` значення, більшого за одиницю, " +"більше не є достатнім для видачі повідомлень :exc:`BytesWarning` і їх " +"перетворення на винятки. Натомість потрібно встановити прапорець (щоб спершу " +"видавати попередження) і додати явний фільтр попереджень ``error::" +"BytesWarning``, щоб перетворити їх на винятки." + +msgid "" +"Due to a change in the way docstrings are handled by the compiler, the " +"implicit ``return None`` in a function body consisting solely of a docstring " +"is now marked as occurring on the same line as the docstring, not on the " +"function's header line." +msgstr "" +"У зв’язку зі зміною способу обробки рядків документації компілятором неявне " +"\"повернення None\" у тілі функції, що складається виключно з рядка " +"документації, тепер позначається як таке, що міститься в тому самому рядку, " +"що й рядок документації, а не в рядку заголовка функції. ." + +msgid "" +"The current exception state has been moved from the frame object to the co-" +"routine. This simplified the interpreter and fixed a couple of obscure bugs " +"caused by having swap exception state when entering or exiting a generator. " +"(Contributed by Mark Shannon in :issue:`25612`.)" +msgstr "" +"Поточний винятковий стан було переміщено з об’єкта кадру до спільної " +"процедури. Це спростило інтерпретатор і виправило кілька незрозумілих " +"помилок, спричинених зміною виняткового стану під час входу або виходу з " +"генератора. (Надав Марк Шеннон у :issue:`25612`.)" + +msgid "Notable changes in Python 3.7.1" +msgstr "Помітні зміни в Python 3.7.1" + +msgid "" +"Starting in 3.7.1, :c:func:`Py_Initialize` now consistently reads and " +"respects all of the same environment settings as :c:func:`Py_Main` (in " +"earlier Python versions, it respected an ill-defined subset of those " +"environment variables, while in Python 3.7.0 it didn't read any of them due " +"to :issue:`34247`). If this behavior is unwanted, set :c:data:" +"`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`." +msgstr "" +"Починаючи з версії 3.7.1, :c:func:`Py_Initialize` тепер узгоджено читає та " +"поважає всі ті самі параметри середовища, що й :c:func:`Py_Main` (у " +"попередніх версіях Python він поважав неправильно визначену підмножину цього " +"середовища змінні, тоді як у Python 3.7.0 він не читав жодної з них через :" +"issue:`34247`). Якщо така поведінка є небажаною, встановіть :c:data:" +"`Py_IgnoreEnvironmentFlag` на 1 перед викликом :c:func:`Py_Initialize`." + +msgid "" +"In 3.7.1 the C API for Context Variables :ref:`was updated " +"` to use :c:type:`PyObject` " +"pointers. See also :issue:`34762`." +msgstr "" +"У версії 3.7.1 C API для змінних контексту :ref:`було оновлено " +"` для використання покажчиків :c:type:" +"`PyObject`. Дивіться також :issue:`34762`." + +msgid "" +"In 3.7.1 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token " +"when provided with input that does not have a trailing new line. This " +"behavior now matches what the C tokenizer does internally. (Contributed by " +"Ammar Askar in :issue:`33899`.)" +msgstr "" +"У версії 3.7.1 модуль :mod:`tokenize` тепер неявно видає маркер ``NEWLINE``, " +"коли надходить із введенням, яке не має кінцевого нового рядка. Ця поведінка " +"тепер відповідає внутрішнім функціям C tokenizer. (Надав Аммар Аскар у :" +"issue:`33899`.)" + +msgid "Notable changes in Python 3.7.2" +msgstr "Помітні зміни в Python 3.7.2" + +msgid "" +"In 3.7.2, :mod:`venv` on Windows no longer copies the original binaries, but " +"creates redirector scripts named ``python.exe`` and ``pythonw.exe`` instead. " +"This resolves a long standing issue where all virtual environments would " +"have to be upgraded or recreated with each Python update. However, note that " +"this release will still require recreation of virtual environments in order " +"to get the new scripts." +msgstr "" +"У версії 3.7.2 :mod:`venv` у Windows більше не копіює оригінальні двійкові " +"файли, а замість них створює сценарії перенаправлення під назвами ``python." +"exe`` і ``pythonw.exe``. Це вирішує давню проблему, коли всі віртуальні " +"середовища потрібно було оновлювати або створювати заново з кожним " +"оновленням Python. Однак зауважте, що для отримання нових сценаріїв цей " +"випуск все одно потребуватиме відтворення віртуальних середовищ." + +msgid "Notable changes in Python 3.7.6" +msgstr "Помітні зміни в Python 3.7.6" + +msgid "" +"Due to significant security concerns, the *reuse_address* parameter of :meth:" +"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " +"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " +"more details, see the documentation for ``loop.create_datagram_endpoint()``. " +"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" +"`37228`.)" +msgstr "" +"Через серйозні проблеми безпеки параметр *reuse_address* :meth:`asyncio.loop." +"create_datagram_endpoint` більше не підтримується. Це через поведінку опції " +"сокета ``SO_REUSEADDR`` в UDP. Для отримання додаткової інформації див. " +"документацію для ``loop.create_datagram_endpoint()``. (Надано Кайлом Стенлі, " +"Антуаном Пітру та Юрієм Селівановим у :issue:`37228`.)" + +msgid "Notable changes in Python 3.7.10" +msgstr "Помітні зміни в Python 3.7.10" + +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" +"Попередні версії Python дозволяли використовувати як ``;``, так і ``&`` як " +"роздільники параметрів запиту в :func:`urllib.parse.parse_qs` і :func:" +"`urllib.parse.parse_qsl`. З міркувань безпеки та для відповідності новим " +"рекомендаціям W3C це було змінено, щоб дозволити лише один роздільний ключ " +"із ``&`` за замовчуванням. Ця зміна також впливає на :func:`cgi.parse` і :" +"func:`cgi.parse_multipart`, оскільки вони використовують уражені функції " +"внутрішньо. Щоб дізнатися більше, перегляньте відповідну документацію. " +"(Надано Адамом Ґолдшмідтом, Сентилом Кумараном і Кеном Джином у :issue:" +"`42967`.)" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po new file mode 100644 index 000000000..41290b562 --- /dev/null +++ b/whatsnew/3.8.po @@ -0,0 +1,3458 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.8" +msgstr "Що нового в Python 3.8" + +msgid "Editor" +msgstr "Редактор" + +msgid "Raymond Hettinger" +msgstr "Raymond Hettinger" + +msgid "" +"This article explains the new features in Python 3.8, compared to 3.7. " +"Python 3.8 was released on October 14, 2019. For full details, see the :ref:" +"`changelog `." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.8 порівняно з 3.7. Python " +"3.8 було випущено 14 жовтня 2019 року. Щоб отримати повну інформацію, " +"перегляньте :ref:`журнал змін `." + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "New Features" +msgstr "Нові можливості" + +msgid "Assignment expressions" +msgstr "Вирази присвоєння" + +msgid "" +"There is new syntax ``:=`` that assigns values to variables as part of a " +"larger expression. It is affectionately known as \"the walrus operator\" due " +"to its resemblance to `the eyes and tusks of a walrus `_." +msgstr "" +"Існує новий синтаксис ``:=``, який призначає значення змінним як частину " +"більшого виразу. Його ласкаво називають \"оператором моржа\" через його " +"схожість з `очима та бивнями моржа `." + +msgid "" +"In this example, the assignment expression helps avoid calling :func:`len` " +"twice::" +msgstr "" +"У цьому прикладі вираз присвоєння допомагає уникнути виклику :func:`len` " +"двічі::" + +msgid "" +"A similar benefit arises during regular expression matching where match " +"objects are needed twice, once to test whether a match occurred and another " +"to extract a subgroup::" +msgstr "" +"Подібна перевага виникає під час зіставлення регулярних виразів, коли " +"об’єкти збігу потрібні двічі: один раз, щоб перевірити, чи відбувся збіг, а " +"другий – щоб отримати підгрупу::" + +msgid "" +"The operator is also useful with while-loops that compute a value to test " +"loop termination and then need that same value again in the body of the " +"loop::" +msgstr "" +"Оператор також корисний у циклах while, які обчислюють значення для " +"перевірки завершення циклу, а потім знову потребують того самого значення в " +"тілі циклу::" + +msgid "" +"Another motivating use case arises in list comprehensions where a value " +"computed in a filtering condition is also needed in the expression body::" +msgstr "" +"Інший спонукальний випадок використання виникає під час розуміння списку, де " +"значення, обчислене в умові фільтрації, також потрібне в тілі виразу::" + +msgid "" +"Try to limit use of the walrus operator to clean cases that reduce " +"complexity and improve readability." +msgstr "" +"Спробуйте обмежити використання оператора Walrus для очищення випадків, що " +"зменшує складність і покращує читабельність." + +msgid "See :pep:`572` for a full description." +msgstr "Дивіться :pep:`572` для повного опису." + +msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" +msgstr "(Надано Емілі Морхаус у :issue:`35224`.)" + +msgid "Positional-only parameters" +msgstr "Лише позиційні параметри" + +msgid "" +"There is a new function parameter syntax ``/`` to indicate that some " +"function parameters must be specified positionally and cannot be used as " +"keyword arguments. This is the same notation shown by ``help()`` for C " +"functions annotated with Larry Hastings' :ref:`Argument Clinic ` tool." +msgstr "" + +msgid "" +"In the following example, parameters *a* and *b* are positional-only, while " +"*c* or *d* can be positional or keyword, and *e* or *f* are required to be " +"keywords::" +msgstr "" +"У наступному прикладі параметри *a* і *b* є лише позиційними, тоді як *c* " +"або *d* можуть бути позиційними або ключовими словами, а *e* або *f* мають " +"бути ключовими словами::" + +msgid "The following is a valid call::" +msgstr "Нижче наведено дійсний виклик:" + +msgid "However, these are invalid calls::" +msgstr "Однак це недійсні виклики::" + +msgid "" +"One use case for this notation is that it allows pure Python functions to " +"fully emulate behaviors of existing C coded functions. For example, the " +"built-in :func:`divmod` function does not accept keyword arguments::" +msgstr "" +"Одним із випадків використання цієї нотації є те, що вона дозволяє чистим " +"функціям Python повністю емулювати поведінку існуючих функцій, закодованих " +"на C. Наприклад, вбудована функція :func:`divmod` не приймає ключові " +"аргументи::" + +msgid "" +"Another use case is to preclude keyword arguments when the parameter name is " +"not helpful. For example, the builtin :func:`len` function has the " +"signature ``len(obj, /)``. This precludes awkward calls such as::" +msgstr "" +"Іншим випадком використання є виключення аргументів ключового слова, коли " +"назва параметра не є корисною. Наприклад, вбудована функція :func:`len` має " +"підпис ``len(obj, /)``. Це виключає незручні виклики, такі як::" + +msgid "" +"A further benefit of marking a parameter as positional-only is that it " +"allows the parameter name to be changed in the future without risk of " +"breaking client code. For example, in the :mod:`statistics` module, the " +"parameter name *dist* may be changed in the future. This was made possible " +"with the following function specification::" +msgstr "" +"Додаткова перевага позначення параметра як лише позиційного полягає в тому, " +"що це дозволяє змінювати ім’я параметра в майбутньому без ризику зламати код " +"клієнта. Наприклад, у модулі :mod:`statistic` назва параметра *dist* може " +"бути змінена в майбутньому. Це стало можливим завдяки наступній специфікації " +"функції:" + +msgid "" +"Since the parameters to the left of ``/`` are not exposed as possible " +"keywords, the parameters names remain available for use in ``**kwargs``::" +msgstr "" +"Оскільки параметри ліворуч від ``/`` не представлені як можливі ключові " +"слова, назви параметрів залишаються доступними для використання в " +"``**kwargs``::" + +msgid "" +"This greatly simplifies the implementation of functions and methods that " +"need to accept arbitrary keyword arguments. For example, here is an excerpt " +"from code in the :mod:`collections` module::" +msgstr "" +"Це значно спрощує реалізацію функцій і методів, які повинні приймати " +"довільні аргументи ключового слова. Наприклад, ось фрагмент коду в модулі :" +"mod:`collections`::" + +msgid "See :pep:`570` for a full description." +msgstr "Дивіться :pep:`570` для повного опису." + +msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" +msgstr "(Надав Pablo Galindo в :issue:`36540`.)" + +msgid "Parallel filesystem cache for compiled bytecode files" +msgstr "Паралельний кеш файлової системи для скомпільованих файлів байт-коду" + +msgid "" +"The new :envvar:`PYTHONPYCACHEPREFIX` setting (also available as :option:`-" +"X` ``pycache_prefix``) configures the implicit bytecode cache to use a " +"separate parallel filesystem tree, rather than the default ``__pycache__`` " +"subdirectories within each source directory." +msgstr "" +"Нове налаштування :envvar:`PYTHONPYCACHEPREFIX` (також доступне як :option:`-" +"X` ``pycache_prefix``) налаштовує неявний кеш байт-коду на використання " +"окремого паралельного дерева файлової системи, а не стандартних підкаталогів " +"``__pycache__`` всередині кожен вихідний каталог." + +msgid "" +"The location of the cache is reported in :data:`sys.pycache_prefix` (:const:" +"`None` indicates the default location in ``__pycache__`` subdirectories)." +msgstr "" +"Розташування кешу повідомляється в :data:`sys.pycache_prefix` (:const:`None` " +"вказує на розташування за умовчанням у підкаталогах ``__pycache__``)." + +msgid "(Contributed by Carl Meyer in :issue:`33499`.)" +msgstr "(Надано Карлом Майєром у :issue:`33499`.)" + +msgid "Debug build uses the same ABI as release build" +msgstr "Збірка налагодження використовує той самий ABI, що й збірка випуску" + +msgid "" +"Python now uses the same ABI whether it's built in release or debug mode. On " +"Unix, when Python is built in debug mode, it is now possible to load C " +"extensions built in release mode and C extensions built using the stable ABI." +msgstr "" +"Тепер Python використовує той самий ABI, незалежно від того, чи створено " +"його в режимі випуску чи налагодження. У Unix, коли Python створено в режимі " +"налагодження, тепер можна завантажувати розширення C, створені в режимі " +"випуску, і розширення C, створені за допомогою стабільного ABI." + +msgid "" +"Release builds and :ref:`debug builds ` are now ABI compatible: " +"defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " +"macro, which introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` " +"macro, which adds the :func:`sys.getobjects` function and the :envvar:" +"`PYTHONDUMPREFS` environment variable, can be set using the new :option:`./" +"configure --with-trace-refs <--with-trace-refs>` build option. (Contributed " +"by Victor Stinner in :issue:`36465`.)" +msgstr "" +"Випускні збірки та :ref:`налагоджувальні збірки ` тепер сумісні " +"з ABI: визначення макросу ``Py_DEBUG`` більше не означає макрос " +"``Py_TRACE_REFS``, який створює єдину несумісність ABI. Макрос " +"``Py_TRACE_REFS``, який додає функцію :func:`sys.getobjects` і змінну " +"середовища :envvar:`PYTHONDUMPREFS`, можна встановити за допомогою нового :" +"option:`./configure --with-trace- refs <--with-trace-refs>` параметр збірки. " +"(Надав Віктор Стіннер у :issue:`36465`.)" + +msgid "" +"On Unix, C extensions are no longer linked to libpython except on Android " +"and Cygwin. It is now possible for a statically linked Python to load a C " +"extension built using a shared library Python. (Contributed by Victor " +"Stinner in :issue:`21536`.)" +msgstr "" +"В Unix розширення C більше не пов’язані з libpython, за винятком Android і " +"Cygwin. Статично зв’язаний Python тепер може завантажувати розширення C, " +"створене за допомогою спільної бібліотеки Python. (Надав Віктор Стіннер у :" +"issue:`21536`.)" + +msgid "" +"On Unix, when Python is built in debug mode, import now also looks for C " +"extensions compiled in release mode and for C extensions compiled with the " +"stable ABI. (Contributed by Victor Stinner in :issue:`36722`.)" +msgstr "" +"У Unix, коли Python створено в режимі налагодження, імпорт тепер також шукає " +"розширення C, скомпільовані в режимі випуску, і розширення C, скомпільовані " +"зі стабільним ABI. (Надав Віктор Стіннер у :issue:`36722`.)" + +msgid "" +"To embed Python into an application, a new ``--embed`` option must be passed " +"to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the " +"application to libpython). To support both 3.8 and older, try ``python3-" +"config --libs --embed`` first and fallback to ``python3-config --libs`` " +"(without ``--embed``) if the previous command fails." +msgstr "" +"Щоб вставити Python у програму, нову опцію ``--embed`` потрібно передати в " +"``python3-config --libs --embed``, щоб отримати ``-lpython3.8`` (пов’язати " +"програму з libpython ). Щоб підтримувати як 3.8, так і старіші, спробуйте " +"спочатку ``python3-config --libs --embed`` і поверніться до ``python3-config " +"--libs`` (без ``--embed``), якщо попередня команда не вдається ." + +msgid "" +"Add a pkg-config ``python-3.8-embed`` module to embed Python into an " +"application: ``pkg-config python-3.8-embed --libs`` includes ``-" +"lpython3.8``. To support both 3.8 and older, try ``pkg-config python-X.Y-" +"embed --libs`` first and fallback to ``pkg-config python-X.Y --libs`` " +"(without ``--embed``) if the previous command fails (replace ``X.Y`` with " +"the Python version)." +msgstr "" +"Додайте модуль pkg-config ``python-3.8-embed``, щоб вставити Python у " +"програму: ``pkg-config python-3.8-embed --libs`` включає ``-lpython3.8``. " +"Щоб підтримувати версії 3.8 і старіші, спочатку спробуйте ``pkg-config " +"python-X.Y-embed --libs`` і поверніться до ``pkg-config python-X.Y --libs`` " +"(без ``--embed``). якщо попередня команда не виконується (замініть ``X.Y`` " +"версією Python)." + +msgid "" +"On the other hand, ``pkg-config python3.8 --libs`` no longer contains ``-" +"lpython3.8``. C extensions must not be linked to libpython (except on " +"Android and Cygwin, whose cases are handled by the script); this change is " +"backward incompatible on purpose. (Contributed by Victor Stinner in :issue:" +"`36721`.)" +msgstr "" +"З іншого боку, ``pkg-config python3.8 --libs`` більше не містить ``-" +"lpython3.8``. Розширення C не повинні бути пов’язані з libpython (за " +"винятком Android і Cygwin, випадки яких обробляються скриптом); ця зміна " +"навмисно зворотно несумісна. (Надав Віктор Стіннер у :issue:`36721`.)" + +msgid "f-strings support ``=`` for self-documenting expressions and debugging" +msgstr "" +"f-рядки підтримують ``=`` для самодокументованих виразів і налагодження" + +msgid "" +"Added an ``=`` specifier to :term:`f-string`\\s. An f-string such as " +"``f'{expr=}'`` will expand to the text of the expression, an equal sign, " +"then the representation of the evaluated expression. For example:" +msgstr "" +"Додано специфікатор ``=`` до :term:`f-string`\\s. Рядок f, такий як " +"``f'{expr=}''`` розгорнеться до тексту виразу, знака рівності, а потім " +"представлення обчисленого виразу. Наприклад:" + +msgid "" +"The usual :ref:`f-string format specifiers ` allow more control " +"over how the result of the expression is displayed::" +msgstr "" +"Звичайні специфікатори формату :ref:`f-string ` дозволяють краще " +"контролювати відображення результату виразу:" + +msgid "" +"The ``=`` specifier will display the whole expression so that calculations " +"can be shown::" +msgstr "" +"Специфікатор ``=`` відобразить весь вираз, щоб можна було показати " +"обчислення::" + +msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" +msgstr "(Надано Еріком В. Смітом і Ларрі Гастінгсом у :issue:`36817`.)" + +msgid "PEP 578: Python Runtime Audit Hooks" +msgstr "PEP 578: Перехоплювачі аудиту виконання Python" + +msgid "" +"The PEP adds an Audit Hook and Verified Open Hook. Both are available from " +"Python and native code, allowing applications and frameworks written in pure " +"Python code to take advantage of extra notifications, while also allowing " +"embedders or system administrators to deploy builds of Python where auditing " +"is always enabled." +msgstr "" +"PEP додає Audit Hook і Verified Open Hook. Обидва доступні з Python і " +"рідного коду, що дозволяє програмам і фреймворкам, написаним на чистому коді " +"Python, використовувати додаткові сповіщення, а також дозволяючи розробникам " +"і системним адміністраторам розгортати збірки Python, де аудит завжди " +"ввімкнено." + +msgid "See :pep:`578` for full details." +msgstr "Дивіться :pep:`578` для повної інформації." + +msgid "PEP 587: Python Initialization Configuration" +msgstr "PEP 587: Конфігурація ініціалізації Python" + +msgid "" +"The :pep:`587` adds a new C API to configure the Python Initialization " +"providing finer control on the whole configuration and better error " +"reporting." +msgstr "" +":pep:`587` додає новий C API для налаштування ініціалізації Python, " +"забезпечуючи точніший контроль над усією конфігурацією та кращі звіти про " +"помилки." + +msgid "New structures:" +msgstr "Нові структури:" + +msgid ":c:type:`PyConfig`" +msgstr ":c:type:`PyConfig`" + +msgid ":c:type:`PyPreConfig`" +msgstr ":c:type:`PyPreConfig`" + +msgid ":c:type:`PyStatus`" +msgstr ":c:type:`PyStatus`" + +msgid ":c:type:`PyWideStringList`" +msgstr ":c:type:`PyWideStringList`" + +msgid "New functions:" +msgstr "Нові функції:" + +msgid ":c:func:`PyConfig_Clear`" +msgstr ":c:func:`PyConfig_Clear`" + +msgid ":c:func:`PyConfig_InitIsolatedConfig`" +msgstr ":c:func:`PyConfig_InitIsolatedConfig`" + +msgid ":c:func:`PyConfig_InitPythonConfig`" +msgstr ":c:func:`PyConfig_InitPythonConfig`" + +msgid ":c:func:`PyConfig_Read`" +msgstr ":c:func:`PyConfig_Read`" + +msgid ":c:func:`PyConfig_SetArgv`" +msgstr ":c:func:`PyConfig_SetArgv`" + +msgid ":c:func:`PyConfig_SetBytesArgv`" +msgstr ":c:func:`PyConfig_SetBytesArgv`" + +msgid ":c:func:`PyConfig_SetBytesString`" +msgstr ":c:func:`PyConfig_SetBytesString`" + +msgid ":c:func:`PyConfig_SetString`" +msgstr ":c:func:`PyConfig_SetString`" + +msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" +msgstr ":c:func:`PyPreConfig_InitIsolatedConfig`" + +msgid ":c:func:`PyPreConfig_InitPythonConfig`" +msgstr ":c:func:`PyPreConfig_InitPythonConfig`" + +msgid ":c:func:`PyStatus_Error`" +msgstr ":c:func:`PyStatus_Error`" + +msgid ":c:func:`PyStatus_Exception`" +msgstr ":c:func:`PyStatus_Exception`" + +msgid ":c:func:`PyStatus_Exit`" +msgstr ":c:func:`PyStatus_Exit`" + +msgid ":c:func:`PyStatus_IsError`" +msgstr ":c:func:`PyStatus_IsError`" + +msgid ":c:func:`PyStatus_IsExit`" +msgstr ":c:func:`PyStatus_IsExit`" + +msgid ":c:func:`PyStatus_NoMemory`" +msgstr ":c:func:`PyStatus_NoMemory`" + +msgid ":c:func:`PyStatus_Ok`" +msgstr ":c:func:`PyStatus_Ok`" + +msgid ":c:func:`PyWideStringList_Append`" +msgstr ":c:func:`PyWideStringList_Append`" + +msgid ":c:func:`PyWideStringList_Insert`" +msgstr ":c:func:`PyWideStringList_Insert`" + +msgid ":c:func:`Py_BytesMain`" +msgstr ":c:func:`Py_BytesMain`" + +msgid ":c:func:`Py_ExitStatusException`" +msgstr ":c:func:`Py_ExitStatusException`" + +msgid ":c:func:`Py_InitializeFromConfig`" +msgstr ":c:func:`Py_InitializeFromConfig`" + +msgid ":c:func:`Py_PreInitialize`" +msgstr ":c:func:`Py_PreInitialize`" + +msgid ":c:func:`Py_PreInitializeFromArgs`" +msgstr ":c:func:`Py_PreInitializeFromArgs`" + +msgid ":c:func:`Py_PreInitializeFromBytesArgs`" +msgstr ":c:func:`Py_PreInitializeFromBytesArgs`" + +msgid ":c:func:`Py_RunMain`" +msgstr ":c:func:`Py_RunMain`" + +msgid "" +"This PEP also adds ``_PyRuntimeState.preconfig`` (:c:type:`PyPreConfig` " +"type) and ``PyInterpreterState.config`` (:c:type:`PyConfig` type) fields to " +"these internal structures. ``PyInterpreterState.config`` becomes the new " +"reference configuration, replacing global configuration variables and other " +"private variables." +msgstr "" +"Цей PEP також додає до цих внутрішніх структур поля ``_PyRuntimeState." +"preconfig`` (:c:type:`PyPreConfig` тип) і ``PyInterpreterState.config`` (:c:" +"type:`PyConfig` тип). ``PyInterpreterState.config`` стає новою еталонною " +"конфігурацією, замінюючи глобальні змінні конфігурації та інші приватні " +"змінні." + +msgid "" +"See :ref:`Python Initialization Configuration ` for the " +"documentation." +msgstr "" +"Перегляньте :ref:`Налаштування ініціалізації Python ` для " +"документації." + +msgid "See :pep:`587` for a full description." +msgstr "Дивіться :pep:`587` для повного опису." + +msgid "(Contributed by Victor Stinner in :issue:`36763`.)" +msgstr "(Надав Віктор Стіннер у :issue:`36763`.)" + +msgid "PEP 590: Vectorcall: a fast calling protocol for CPython" +msgstr "PEP 590: Vectorcall: швидкий протокол виклику для CPython" + +msgid "" +":ref:`vectorcall` is added to the Python/C API. It is meant to formalize " +"existing optimizations which were already done for various classes. Any :ref:" +"`static type ` implementing a callable can use this protocol." +msgstr "" +":ref:`vectorcall` додано до API Python/C. Він призначений для формалізації " +"існуючих оптимізацій, які вже були зроблені для різних класів. Будь-який :" +"ref:`static type `, що реалізує виклик, може використовувати " +"цей протокол." + +msgid "" +"This is currently provisional. The aim is to make it fully public in Python " +"3.9." +msgstr "" +"Наразі це тимчасово. Мета полягає в тому, щоб зробити його повністю " +"публічним у Python 3.9." + +msgid "See :pep:`590` for a full description." +msgstr "Дивіться :pep:`590` для повного опису." + +msgid "" +"(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin in :issue:" +"`36974`.)" +msgstr "" +"(Надано Йероном Демейєром, Марком Шенноном і Петром Вікторіном у :issue:" +"`36974`.)" + +msgid "Pickle protocol 5 with out-of-band data buffers" +msgstr "Протокол Pickle 5 із позасмуговими буферами даних" + +msgid "" +"When :mod:`pickle` is used to transfer large data between Python processes " +"in order to take advantage of multi-core or multi-machine processing, it is " +"important to optimize the transfer by reducing memory copies, and possibly " +"by applying custom techniques such as data-dependent compression." +msgstr "" +"Коли :mod:`pickle` використовується для передачі великих даних між процесами " +"Python, щоб скористатися перевагами багатоядерної або багатомашинної " +"обробки, важливо оптимізувати передачу, зменшивши копії в пам’яті та, " +"можливо, застосувавши спеціальні методи, наприклад як залежне від даних " +"стиснення." + +msgid "" +"The :mod:`pickle` protocol 5 introduces support for out-of-band buffers " +"where :pep:`3118`-compatible data can be transmitted separately from the " +"main pickle stream, at the discretion of the communication layer." +msgstr "" +"Протокол :mod:`pickle` 5 вводить підтримку позасмугових буферів, де :pep:" +"`3118`-сумісні дані можуть передаватись окремо від основного потоку pickle, " +"на розсуд рівня зв’язку." + +msgid "See :pep:`574` for a full description." +msgstr "Дивіться :pep:`574` для повного опису." + +msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" +msgstr "(Надав Антуан Пітру в :issue:`36785`.)" + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +"A :keyword:`continue` statement was illegal in the :keyword:`finally` clause " +"due to a problem with the implementation. In Python 3.8 this restriction " +"was lifted. (Contributed by Serhiy Storchaka in :issue:`32489`.)" +msgstr "" +"Оператор :keyword:`continue` був незаконним у пункті :keyword:`finally` " +"через проблему з реалізацією. У Python 3.8 це обмеження було знято. (Надав " +"Сергій Сторчака в :issue:`32489`.)" + +msgid "" +"The :class:`bool`, :class:`int`, and :class:`fractions.Fraction` types now " +"have an :meth:`~int.as_integer_ratio` method like that found in :class:" +"`float` and :class:`decimal.Decimal`. This minor API extension makes it " +"possible to write ``numerator, denominator = x.as_integer_ratio()`` and have " +"it work across multiple numeric types. (Contributed by Lisa Roach in :issue:" +"`33073` and Raymond Hettinger in :issue:`37819`.)" +msgstr "" +"Типи :class:`bool`, :class:`int` і :class:`fractions.Fraction` тепер мають " +"метод :meth:`~int.as_integer_ratio`, подібний до того, що є в :class:`float` " +"і :class:`decimal.Decimal`. Це другорядне розширення API дає змогу написати " +"``чисельник, знаменник = x.as_integer_ratio()`` і налаштувати його роботу з " +"кількома числовими типами. (Надано Лізою Роуч у :issue:`33073` та Реймондом " +"Геттінгером у :issue:`37819`.)" + +msgid "" +"Constructors of :class:`int`, :class:`float` and :class:`complex` will now " +"use the :meth:`~object.__index__` special method, if available and the " +"corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` or :" +"meth:`~object.__complex__` is not available. (Contributed by Serhiy " +"Storchaka in :issue:`20092`.)" +msgstr "" +"Конструктори :class:`int`, :class:`float` і :class:`complex` тепер " +"використовуватимуть спеціальний метод :meth:`~object.__index__`, якщо він " +"доступний, і відповідний метод :meth:`~object .__int__`, :meth:`~object." +"__float__` або :meth:`~object.__complex__` недоступні. (Надав Сергій " +"Сторчака у :issue:`20092`.)" + +msgid "" +"Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" +msgstr "" +"Додано підтримку ``\\N{name}`` екранування в :mod:`регулярних виразах `::" + +msgid "" +"(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" +msgstr "(Надано Джонатаном Юнісом і Сергієм Сторчакою в :issue:`30688`.)" + +msgid "" +"Dict and dictviews are now iterable in reversed insertion order using :func:" +"`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" +msgstr "" +"Dict і dictviews тепер можна повторювати у зворотному порядку вставки за " +"допомогою :func:`reversed`. (Надав Ремі Лапейр у :issue:`33462`.)" + +msgid "" +"The syntax allowed for keyword names in function calls was further " +"restricted. In particular, ``f((keyword)=arg)`` is no longer allowed. It was " +"never intended to permit more than a bare name on the left-hand side of a " +"keyword argument assignment term. (Contributed by Benjamin Peterson in :" +"issue:`34641`.)" +msgstr "" +"Синтаксис, дозволений для імен ключових слів у викликах функцій, був " +"додатково обмежений. Зокрема, ``f((keyword)=arg)`` більше не дозволяється. " +"Він ніколи не мав на меті дозволити більше, ніж голе ім’я в лівій частині " +"терміна призначення аргументу ключового слова. (Надав Бенджамін Петерсон у :" +"issue:`34641`.)" + +msgid "" +"Generalized iterable unpacking in :keyword:`yield` and :keyword:`return` " +"statements no longer requires enclosing parentheses. This brings the *yield* " +"and *return* syntax into better agreement with normal assignment syntax::" +msgstr "" +"Узагальнене ітераційне розпакування в операторах :keyword:`yield` і :keyword:" +"`return` більше не потребує включення дужок. Завдяки цьому синтаксис *yield* " +"і *return* краще узгоджується зі звичайним синтаксисом призначення:" + +msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" +msgstr "(Надано Девідом Катбертом і Джорданом Чепменом у :issue:`32117`.)" + +msgid "" +"When a comma is missed in code such as ``[(10, 20) (30, 40)]``, the compiler " +"displays a :exc:`SyntaxWarning` with a helpful suggestion. This improves on " +"just having a :exc:`TypeError` indicating that the first tuple was not " +"callable. (Contributed by Serhiy Storchaka in :issue:`15248`.)" +msgstr "" +"Якщо в коді пропущена кома, як-от ``[(10, 20) (30, 40)]``, компілятор " +"відображає :exc:`SyntaxWarning` з корисною пропозицією. Це покращує " +"наявність лише :exc:`TypeError`, яка вказує, що перший кортеж не можна " +"викликати. (Надав Сергій Сторчака в :issue:`15248`.)" + +msgid "" +"Arithmetic operations between subclasses of :class:`datetime.date` or :class:" +"`datetime.datetime` and :class:`datetime.timedelta` objects now return an " +"instance of the subclass, rather than the base class. This also affects the " +"return type of operations whose implementation (directly or indirectly) " +"uses :class:`datetime.timedelta` arithmetic, such as :meth:`~datetime." +"datetime.astimezone`. (Contributed by Paul Ganssle in :issue:`32417`.)" +msgstr "" +"Арифметичні операції між підкласами об’єктів :class:`datetime.date` або :" +"class:`datetime.datetime` і :class:`datetime.timedelta` тепер повертають " +"екземпляр підкласу, а не базового класу. Це також впливає на тип повернення " +"операцій, реалізація яких (прямо чи опосередковано) використовує арифметику :" +"class:`datetime.timedelta`, наприклад :meth:`~datetime.datetime.astimezone`. " +"(Надав Пол Ганссле в :issue:`32417`.)" + +msgid "" +"When the Python interpreter is interrupted by Ctrl-C (SIGINT) and the " +"resulting :exc:`KeyboardInterrupt` exception is not caught, the Python " +"process now exits via a SIGINT signal or with the correct exit code such " +"that the calling process can detect that it died due to a Ctrl-C. Shells on " +"POSIX and Windows use this to properly terminate scripts in interactive " +"sessions. (Contributed by Google via Gregory P. Smith in :issue:`1054041`.)" +msgstr "" +"Коли інтерпретатор Python переривається Ctrl-C (SIGINT) і результуючий " +"виняток :exc:`KeyboardInterrupt` не перехоплюється, процес Python тепер " +"завершує роботу через сигнал SIGINT або з правильним кодом виходу, щоб " +"процес виклику міг виявити це він помер через Ctrl-C. Оболонки в POSIX і " +"Windows використовують це для належного завершення сценаріїв під час " +"інтерактивних сеансів. (Надано Google через Грегорі П. Сміта в :issue:" +"`1054041`.)" + +msgid "" +"Some advanced styles of programming require updating the :class:`types." +"CodeType` object for an existing function. Since code objects are " +"immutable, a new code object needs to be created, one that is modeled on the " +"existing code object. With 19 parameters, this was somewhat tedious. Now, " +"the new ``replace()`` method makes it possible to create a clone with a few " +"altered parameters." +msgstr "" +"Деякі просунуті стилі програмування вимагають оновлення об’єкта :class:" +"`types.CodeType` для наявної функції. Оскільки кодові об’єкти є незмінними, " +"необхідно створити новий кодовий об’єкт, змодельований на основі існуючого " +"кодового об’єкта. З 19 параметрами це було дещо втомливо. Тепер новий метод " +"``replace()`` дозволяє створити клон із декількома зміненими параметрами." + +msgid "" +"Here's an example that alters the :func:`statistics.mean` function to " +"prevent the *data* parameter from being used as a keyword argument::" +msgstr "" +"Ось приклад, який змінює функцію :func:`statistics.mean`, щоб запобігти " +"використанню параметра *data* як аргументу ключового слова:" + +msgid "(Contributed by Victor Stinner in :issue:`37032`.)" +msgstr "(Надав Віктор Стіннер у :issue:`37032`.)" + +msgid "" +"For integers, the three-argument form of the :func:`pow` function now " +"permits the exponent to be negative in the case where the base is relatively " +"prime to the modulus. It then computes a modular inverse to the base when " +"the exponent is ``-1``, and a suitable power of that inverse for other " +"negative exponents. For example, to compute the `modular multiplicative " +"inverse `_ of " +"38 modulo 137, write::" +msgstr "" +"Для цілих чисел форма функції :func:`pow` із трьома аргументами тепер " +"дозволяє показнику степеня бути від’ємним у випадку, коли основа взаємно " +"проста до модуля. Потім він обчислює модульну величину, обернену до основи, " +"коли експонента дорівнює ``-1``, і відповідний ступінь цієї оберненої " +"величини для інших від’ємних показників степеня. Наприклад, щоб обчислити " +"`модульний мультиплікативний обернений `_ 38 за модулем 137, напишіть::" + +msgid "" +"Modular inverses arise in the solution of `linear Diophantine equations " +"`_. For example, to find " +"integer solutions for ``4258𝑥 + 147𝑦 = 369``, first rewrite as ``4258𝑥 ≡ 369 " +"(mod 147)`` then solve:" +msgstr "" +"Модульні обернені виникають при розв’язуванні \"лінійних діофантових рівнянь " +"\" _. Наприклад, щоб " +"знайти цілочисельні розв’язки для ``4258𝑥 + 147𝑦 = 369``, спочатку " +"перепишіть як ``4258𝑥 ≡ 369 (mod 147)``, а потім розв’яжіть:" + +msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" +msgstr "(Надав Марк Дікінсон у :issue:`36027`.)" + +msgid "" +"Dict comprehensions have been synced-up with dict literals so that the key " +"is computed first and the value second::" +msgstr "" +"Розуміння Dict було синхронізовано з літералами Dict, так що спочатку " +"обчислюється ключ, а потім значення::" + +msgid "" +"The guaranteed execution order is helpful with assignment expressions " +"because variables assigned in the key expression will be available in the " +"value expression::" +msgstr "" +"Гарантований порядок виконання корисний у виразах призначення, оскільки " +"змінні, призначені у ключовому виразі, будуть доступні у виразі значення::" + +msgid "(Contributed by Jörn Heissler in :issue:`35224`.)" +msgstr "(Надав Йорн Гайслер у :issue:`35224`.)" + +msgid "" +"The :meth:`object.__reduce__` method can now return a tuple from two to six " +"elements long. Formerly, five was the limit. The new, optional sixth " +"element is a callable with a ``(obj, state)`` signature. This allows the " +"direct control over the state-updating behavior of a specific object. If " +"not *None*, this callable will have priority over the object's :meth:" +"`~__setstate__` method. (Contributed by Pierre Glaser and Olivier Grisel in :" +"issue:`35900`.)" +msgstr "" +"Метод :meth:`object.__reduce__` тепер може повертати кортеж довжиною від " +"двох до шести елементів. Раніше обмеженням було п’ять. Новий необов’язковий " +"шостий елемент – це виклик із сигнатурою ``(obj, state)``. Це дозволяє " +"безпосередньо контролювати поведінку певного об’єкта при оновленні стану. " +"Якщо не *None*, цей виклик матиме пріоритет над методом :meth:" +"`~__setstate__` об’єкта. (Надано П’єром Глейзером і Олів’є Грізелем у :issue:" +"`35900`.)" + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "" +"The new :mod:`importlib.metadata` module provides (provisional) support for " +"reading metadata from third-party packages. For example, it can extract an " +"installed package's version number, list of entry points, and more::" +msgstr "" +"Новий модуль :mod:`importlib.metadata` забезпечує (тимчасову) підтримку " +"читання метаданих зі сторонніх пакетів. Наприклад, він може отримати номер " +"версії встановленого пакета, список точок входу тощо:" + +msgid "(Contributed by Barry Warsaw and Jason R. Coombs in :issue:`34632`.)" +msgstr "(Надано Баррі Варшау та Джейсоном Р. Кумбсом у :issue:`34632`.)" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "ast" +msgstr "аст" + +msgid "" +"AST nodes now have ``end_lineno`` and ``end_col_offset`` attributes, which " +"give the precise location of the end of the node. (This only applies to " +"nodes that have ``lineno`` and ``col_offset`` attributes.)" +msgstr "" +"Вузли AST тепер мають атрибути ``end_lineno`` і ``end_col_offset``, які " +"дають точне розташування кінця вузла. (Це стосується лише вузлів, які мають " +"атрибути ``lineno`` і ``col_offset``.)" + +msgid "" +"New function :func:`ast.get_source_segment` returns the source code for a " +"specific AST node." +msgstr "" +"Нова функція :func:`ast.get_source_segment` повертає вихідний код для " +"певного вузла AST." + +msgid "(Contributed by Ivan Levkivskyi in :issue:`33416`.)" +msgstr "(Надав Іван Левківський у :issue:`33416`.)" + +msgid "The :func:`ast.parse` function has some new flags:" +msgstr "Функція :func:`ast.parse` має кілька нових позначок:" + +msgid "" +"``type_comments=True`` causes it to return the text of :pep:`484` and :pep:" +"`526` type comments associated with certain AST nodes;" +msgstr "" +"``type_comments=True`` змушує повертати текст коментарів типу :pep:`484` і :" +"pep:`526`, пов’язаних із певними вузлами AST;" + +msgid "" +"``mode='func_type'`` can be used to parse :pep:`484` \"signature type " +"comments\" (returned for function definition AST nodes);" +msgstr "" +"``mode='func_type'`` можна використовувати для аналізу :pep:`484` " +"\"коментарів типу підпису\" (повертається для вузлів AST визначення функції);" + +msgid "" +"``feature_version=(3, N)`` allows specifying an earlier Python 3 version. " +"For example, ``feature_version=(3, 4)`` will treat :keyword:`async` and :" +"keyword:`await` as non-reserved words." +msgstr "" +"``feature_version=(3, N)`` дозволяє вказати попередню версію Python 3. " +"Наприклад, ``feature_version=(3, 4)`` розглядатиме :keyword:`async` і :" +"keyword:`await` як незарезервовані слова." + +msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" +msgstr "(Надав Гвідо ван Россум у :issue:`35766`.)" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +":func:`asyncio.run` has graduated from the provisional to stable API. This " +"function can be used to execute a :term:`coroutine` and return the result " +"while automatically managing the event loop. For example::" +msgstr "" +":func:`asyncio.run` перейшов від попереднього до стабільного API. Цю функцію " +"можна використовувати для виконання :term:`coroutine` і повернення " +"результату під час автоматичного керування циклом подій. Наприклад::" + +msgid "This is *roughly* equivalent to::" +msgstr "Це *приблизно* еквівалентно::" + +msgid "" +"The actual implementation is significantly more complex. Thus, :func:" +"`asyncio.run` should be the preferred way of running asyncio programs." +msgstr "" +"Фактична реалізація значно складніша. Таким чином, :func:`asyncio.run` має " +"бути кращим способом запуску асинхронних програм." + +msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" +msgstr "(Надав Юрій Селіванов у :issue:`32314`.)" + +msgid "" +"Running ``python -m asyncio`` launches a natively async REPL. This allows " +"rapid experimentation with code that has a top-level :keyword:`await`. " +"There is no longer a need to directly call ``asyncio.run()`` which would " +"spawn a new event loop on every invocation:" +msgstr "" +"Запуск ``python -m asyncio`` запускає нативний асинхронний REPL. Це дозволяє " +"швидко експериментувати з кодом, який має :keyword:`await` верхнього рівня. " +"Більше немає потреби безпосередньо викликати ``asyncio.run()``, який " +"породжував би новий цикл подій під час кожного виклику:" + +msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" +msgstr "(Надав Юрій Селіванов у :issue:`37028`.)" + +msgid "" +"The exception :class:`asyncio.CancelledError` now inherits from :class:" +"`BaseException` rather than :class:`Exception` and no longer inherits from :" +"class:`concurrent.futures.CancelledError`. (Contributed by Yury Selivanov " +"in :issue:`32528`.)" +msgstr "" +"Виняток :class:`asyncio.CancelledError` тепер успадковується від :class:" +"`BaseException`, а не від :class:`Exception` і більше не успадковується від :" +"class:`concurrent.futures.CancelledError`. (Надав Юрій Селіванов у :issue:" +"`32528`.)" + +msgid "" +"On Windows, the default event loop is now :class:`~asyncio." +"ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" +msgstr "" +"У Windows типовим циклом подій тепер є :class:`~asyncio.ProactorEventLoop`. " +"(Надав Віктор Стіннер у :issue:`34687`.)" + +msgid "" +":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " +"Adam Meily and Andrew Svetlov in :issue:`29883`.)" +msgstr "" +":class:`~asyncio.ProactorEventLoop` тепер також підтримує UDP. (Надано " +"Адамом Мейлі та Ендрю Свєтловим у :issue:`29883`.)" + +msgid "" +":class:`~asyncio.ProactorEventLoop` can now be interrupted by :exc:" +"`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" +"`23057`.)" +msgstr "" +":class:`~asyncio.ProactorEventLoop` тепер можна переривати :exc:" +"`KeyboardInterrupt` (\"CTRL+C\"). (Надав Володимир Матвєєв у :issue:`23057`.)" + +msgid "" +"Added :meth:`asyncio.Task.get_coro` for getting the wrapped coroutine within " +"an :class:`asyncio.Task`. (Contributed by Alex Grönholm in :issue:`36999`.)" +msgstr "" +"Додано :meth:`asyncio.Task.get_coro` для отримання загорнутої співпрограми " +"в :class:`asyncio.Task`. (Надав Алекс Грьонхольм у :issue:`36999`.)" + +msgid "" +"Asyncio tasks can now be named, either by passing the ``name`` keyword " +"argument to :func:`asyncio.create_task` or the :meth:`~asyncio.loop." +"create_task` event loop method, or by calling the :meth:`~asyncio.Task." +"set_name` method on the task object. The task name is visible in the " +"``repr()`` output of :class:`asyncio.Task` and can also be retrieved using " +"the :meth:`~asyncio.Task.get_name` method. (Contributed by Alex Grönholm in :" +"issue:`34270`.)" +msgstr "" +"Асинхронним завданням тепер можна присвоювати назви, передавши аргумент " +"ключового слова ``name`` до :func:`asyncio.create_task` або методу циклу " +"подій :meth:`~asyncio.loop.create_task`, або викликавши :meth:`~asyncio.Task." +"set_name` метод об’єкта завдання. Ім’я завдання відображається у виведенні " +"``repr()`` :class:`asyncio.Task` і також може бути отримано за допомогою " +"методу :meth:`~asyncio.Task.get_name`. (Надав Алекс Грьонхольм у :issue:" +"`34270`.)" + +msgid "" +"Added support for `Happy Eyeballs `_ to :func:`asyncio.loop.create_connection`. To specify the " +"behavior, two new parameters have been added: *happy_eyeballs_delay* and " +"*interleave*. The Happy Eyeballs algorithm improves responsiveness in " +"applications that support IPv4 and IPv6 by attempting to simultaneously " +"connect using both. (Contributed by twisteroid ambassador in :issue:`33530`.)" +msgstr "" +"Додано підтримку `Happy Eyeballs `_ до :func:`asyncio.loop.create_connection`. Щоб визначити " +"поведінку, було додано два нові параметри: *happy_eyeballs_delay* і " +"*interleave*. Алгоритм Happy Eyeballs покращує швидкість реагування в " +"програмах, які підтримують IPv4 та IPv6, намагаючись одночасно підключитися " +"за допомогою обох. (Надано twisteroid ambassador у :issue:`33530`.)" + +msgid "builtins" +msgstr "вбудовані елементи" + +msgid "" +"The :func:`compile` built-in has been improved to accept the ``ast." +"PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag passed, :func:" +"`compile` will allow top-level ``await``, ``async for`` and ``async with`` " +"constructs that are usually considered invalid syntax. Asynchronous code " +"object marked with the ``CO_COROUTINE`` flag may then be returned. " +"(Contributed by Matthias Bussonnier in :issue:`34616`)" +msgstr "" +"Вбудований :func:`compile` був покращений, щоб приймати прапорець ``ast." +"PyCF_ALLOW_TOP_LEVEL_AWAIT``. Після передачі цього нового прапора :func:" +"`compile` дозволить використовувати конструкції верхнього рівня ``await``, " +"``async for`` і ``async with``, які зазвичай вважаються недійсними " +"синтаксисом. Після цього можна повернути об’єкт асинхронного коду, " +"позначений прапором ``CO_COROUTINE``. (Надав Матіас Бюссонньє в :issue:" +"`34616`)" + +msgid "collections" +msgstr "колекції" + +msgid "" +"The :meth:`~collections.somenamedtuple._asdict` method for :func:" +"`collections.namedtuple` now returns a :class:`dict` instead of a :class:" +"`collections.OrderedDict`. This works because regular dicts have guaranteed " +"ordering since Python 3.7. If the extra features of :class:`OrderedDict` are " +"required, the suggested remediation is to cast the result to the desired " +"type: ``OrderedDict(nt._asdict())``. (Contributed by Raymond Hettinger in :" +"issue:`35864`.)" +msgstr "" +"Метод :meth:`~collections.somenamedtuple._asdict` для :func:`collections." +"namedtuple` тепер повертає :class:`dict` замість :class:`collections." +"OrderedDict`. Це працює, оскільки звичайні dicts мають гарантоване " +"впорядкування, починаючи з Python 3.7. Якщо потрібні додаткові функції :" +"class:`OrderedDict`, запропонованим виправленням є приведення результату до " +"потрібного типу: ``OrderedDict(nt._asdict())``. (Надав Реймонд Геттінгер у :" +"issue:`35864`.)" + +msgid "cProfile" +msgstr "cProfile" + +msgid "" +"The :class:`cProfile.Profile ` class can now be used as a " +"context manager. Profile a block of code by running::" +msgstr "" +"Клас :class:`cProfile.Profile ` тепер можна використовувати " +"як контекстний менеджер. Профілюйте блок коду, виконавши::" + +msgid "(Contributed by Scott Sanderson in :issue:`29235`.)" +msgstr "(Надав Скотт Сандерсон у :issue:`29235`.)" + +msgid "csv" +msgstr "csv" + +msgid "" +"The :class:`csv.DictReader` now returns instances of :class:`dict` instead " +"of a :class:`collections.OrderedDict`. The tool is now faster and uses less " +"memory while still preserving the field order. (Contributed by Michael Selik " +"in :issue:`34003`.)" +msgstr "" +":class:`csv.DictReader` тепер повертає екземпляри :class:`dict` замість :" +"class:`collections.OrderedDict`. Інструмент тепер працює швидше та " +"використовує менше пам’яті, але зберігає порядок полів. (Надав Майкл Селік " +"у :issue:`34003`.)" + +msgid "curses" +msgstr "прокльони" + +msgid "" +"Added a new variable holding structured version information for the " +"underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by " +"Serhiy Storchaka in :issue:`31680`.)" +msgstr "" +"Додано нову змінну, яка містить структуровану інформацію про версію базової " +"бібліотеки ncurses: :data:`~curses.ncurses_version`. (Надав Сергій Сторчака " +"в :issue:`31680`.)" + +msgid "ctypes" +msgstr "ctypes" + +msgid "" +"On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " +"parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " +"default flags are set to only load DLL dependencies from trusted locations, " +"including the path where the DLL is stored (if a full or partial path is " +"used to load the initial DLL) and paths added by :func:`~os." +"add_dll_directory`. (Contributed by Steve Dower in :issue:`36085`.)" +msgstr "" +"У Windows :class:`~ctypes.CDLL` і підкласи тепер приймають параметр " +"*winmode* для визначення прапорів для основного виклику ``LoadLibraryEx``. " +"Прапорці за замовчуванням встановлено лише для завантаження залежностей DLL " +"із надійних місць, включаючи шлях, де зберігається DLL (якщо повний або " +"частковий шлях використовується для завантаження початкової DLL), і шляхи, " +"додані :func:`~os.add_dll_directory` . (Надав Стів Дауер у :issue:`36085`.)" + +msgid "datetime" +msgstr "дата, час" + +msgid "" +"Added new alternate constructors :meth:`datetime.date.fromisocalendar` and :" +"meth:`datetime.datetime.fromisocalendar`, which construct :class:`date` and :" +"class:`datetime` objects respectively from ISO year, week number, and " +"weekday; these are the inverse of each class's ``isocalendar`` method. " +"(Contributed by Paul Ganssle in :issue:`36004`.)" +msgstr "" +"Додано нові альтернативні конструктори :meth:`datetime.date.fromisocalendar` " +"і :meth:`datetime.datetime.fromisocalendar`, які створюють об’єкти :class:" +"`date` і :class:`datetime` відповідно з року ISO, номера тижня, і будній " +"день; вони є зворотними до методу ``isocalendar`` кожного класу. (Надав Пол " +"Ганссле в :issue:`36004`.)" + +msgid "functools" +msgstr "functools" + +msgid "" +":func:`functools.lru_cache` can now be used as a straight decorator rather " +"than as a function returning a decorator. So both of these are now " +"supported::" +msgstr "" +":func:`functools.lru_cache` тепер можна використовувати як прямий декоратор, " +"а не як функцію, що повертає декоратор. Тож тепер підтримуються обидва:" + +msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" +msgstr "(Надав Реймонд Геттінгер у :issue:`36772`.)" + +msgid "" +"Added a new :func:`functools.cached_property` decorator, for computed " +"properties cached for the life of the instance. ::" +msgstr "" +"Додано новий декоратор :func:`functools.cached_property` для обчислених " +"властивостей, кешованих протягом життя примірника. ::" + +msgid "(Contributed by Carl Meyer in :issue:`21145`)" +msgstr "(Надано Карлом Майєром у :issue:`21145`)" + +msgid "" +"Added a new :func:`functools.singledispatchmethod` decorator that converts " +"methods into :term:`generic functions ` using :term:" +"`single dispatch`::" +msgstr "" +"Додано новий декоратор :func:`functools.singledispatchmethod`, який " +"перетворює методи на :term:`загальні функції ` за " +"допомогою :term:`single dispatch`::" + +msgid "(Contributed by Ethan Smith in :issue:`32380`)" +msgstr "(Надав Ітан Сміт у :issue:`32380`)" + +msgid "gc" +msgstr "gc" + +msgid "" +":func:`~gc.get_objects` can now receive an optional *generation* parameter " +"indicating a generation to get objects from. (Contributed by Pablo Galindo " +"in :issue:`36016`.)" +msgstr "" +":func:`~gc.get_objects` тепер може отримувати додатковий параметр " +"*generation*, що вказує на покоління, з якого потрібно отримати об’єкти. " +"(Надав Пабло Галіндо в :issue:`36016`.)" + +msgid "gettext" +msgstr "gettext" + +msgid "" +"Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " +"Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" +msgstr "" +"Додано :func:`~gettext.pgettext` та його варіанти. (Надано Францом " +"Гласнером, Еріком Араужо та Шеріл Сабеллою в :issue:`2504`.)" + +msgid "gzip" +msgstr "gzip" + +msgid "" +"Added the *mtime* parameter to :func:`gzip.compress` for reproducible " +"output. (Contributed by Guo Ci Teo in :issue:`34898`.)" +msgstr "" +"Додано параметр *mtime* до :func:`gzip.compress` для відтворюваного " +"виведення. (Надав Guo Ci Teo в :issue:`34898`.)" + +msgid "" +"A :exc:`~gzip.BadGzipFile` exception is now raised instead of :exc:`OSError` " +"for certain types of invalid or corrupt gzip files. (Contributed by Filip " +"Gruszczyński, Michele Orrù, and Zackery Spytz in :issue:`6584`.)" +msgstr "" +"Виняток :exc:`~gzip.BadGzipFile` тепер викликається замість :exc:`OSError` " +"для певних типів недійсних або пошкоджених файлів gzip. (Надано Філіпом " +"Грущинським, Мікеле Орру та Закері Шпітцем у :issue:`6584`.)" + +msgid "IDLE and idlelib" +msgstr "IDLE і idlelib" + +msgid "" +"Output over N lines (50 by default) is squeezed down to a button. N can be " +"changed in the PyShell section of the General page of the Settings dialog. " +"Fewer, but possibly extra long, lines can be squeezed by right clicking on " +"the output. Squeezed output can be expanded in place by double-clicking the " +"button or into the clipboard or a separate window by right-clicking the " +"button. (Contributed by Tal Einat in :issue:`1529353`.)" +msgstr "" +"Виведення в N рядків (50 за замовчуванням) стиснуто до кнопки. N можна " +"змінити в розділі PyShell на сторінці \"Загальні\" діалогового вікна " +"\"Параметри\". Менше, але, можливо, наддовгих рядків можна стиснути, " +"клацнувши правою кнопкою миші на виводі. Стиснутий вихід можна розгорнути на " +"місці, подвійним клацанням кнопки або в буфер обміну чи окреме вікно, " +"клацнувши кнопку правою кнопкою миші. (Надав Тал Ейнат у :issue:`1529353`.)" + +msgid "" +"Add \"Run Customized\" to the Run menu to run a module with customized " +"settings. Any command line arguments entered are added to sys.argv. They " +"also re-appear in the box for the next customized run. One can also " +"suppress the normal Shell main module restart. (Contributed by Cheryl " +"Sabella, Terry Jan Reedy, and others in :issue:`5680` and :issue:`37627`.)" +msgstr "" +"Додайте \"Run Customized\" до меню \"Run\", щоб запустити модуль із " +"налаштованими налаштуваннями. Будь-які введені аргументи командного рядка " +"додаються до sys.argv. Вони також знову з’являються в полі для наступного " +"налаштованого запуску. Можна також придушити звичайний перезапуск основного " +"модуля Shell. (Надано Шеріл Сабелла, Террі Ян Ріді та іншими в :issue:`5680` " +"і :issue:`37627`.)" + +msgid "" +"Added optional line numbers for IDLE editor windows. Windows open without " +"line numbers unless set otherwise in the General tab of the configuration " +"dialog. Line numbers for an existing window are shown and hidden in the " +"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" +"`17535`.)" +msgstr "" +"Додано додаткові номери рядків для вікон редактора IDLE. Вікна відкриваються " +"без номерів рядків, якщо не встановлено інше на вкладці \"Загальні\" " +"діалогового вікна налаштування. Номери рядків для існуючого вікна " +"відображаються та ховаються в меню \"Параметри\". (Надано Тал Ейнат і " +"Саймадхав Геблікар у :issue:`17535`.)" + +msgid "" +"OS native encoding is now used for converting between Python strings and Tcl " +"objects. This allows IDLE to work with emoji and other non-BMP characters. " +"These characters can be displayed or copied and pasted to or from the " +"clipboard. Converting strings from Tcl to Python and back now never fails. " +"(Many people worked on this for eight years but the problem was finally " +"solved by Serhiy Storchaka in :issue:`13153`.)" +msgstr "" +"Власне кодування ОС тепер використовується для перетворення між рядками " +"Python і об’єктами Tcl. Це дозволяє IDLE працювати з емодзі та іншими " +"символами, відмінними від BMP. Ці символи можна відобразити або скопіювати " +"та вставити в буфер обміну або з нього. Перетворення рядків із Tcl на Python " +"і назад тепер ніколи не дає збою. (Багато людей працювали над цим вісім " +"років, але нарешті проблему вирішив Сергій Сторчака в :issue:`13153`.)" + +msgid "New in 3.8.1:" +msgstr "Нове в 3.8.1:" + +msgid "" +"Add option to toggle cursor blink off. (Contributed by Zackery Spytz in :" +"issue:`4603`.)" +msgstr "" +"Додайте опцію для вимкнення блимання курсору. (Надав Закері Шпітц у :issue:" +"`4603`.)" + +msgid "" +"Escape key now closes IDLE completion windows. (Contributed by Johnny " +"Najera in :issue:`38944`.)" +msgstr "" +"Клавіша Escape тепер закриває вікна завершення IDLE. (Надав Джонні Наджера " +"в :issue:`38944`.)" + +msgid "The changes above have been backported to 3.7 maintenance releases." +msgstr "Зазначені вище зміни було перенесено до випусків обслуговування 3.7." + +msgid "" +"Add keywords to module name completion list. (Contributed by Terry J. Reedy " +"in :issue:`37765`.)" +msgstr "" +"Додайте ключові слова до списку завершення імен модуля. (Надано Террі Дж. " +"Ріді в :issue:`37765`.)" + +msgid "inspect" +msgstr "оглядати" + +msgid "" +"The :func:`inspect.getdoc` function can now find docstrings for " +"``__slots__`` if that attribute is a :class:`dict` where the values are " +"docstrings. This provides documentation options similar to what we already " +"have for :func:`property`, :func:`classmethod`, and :func:`staticmethod`::" +msgstr "" +"Функція :func:`inspect.getdoc` тепер може знаходити рядки документів для " +"``__slots__``, якщо цей атрибут є :class:`dict`, де значення є рядками " +"документів. Це надає параметри документації, подібні до тих, які ми вже " +"маємо для :func:`property`, :func:`classmethod` і :func:`staticmethod`::" + +msgid "(Contributed by Raymond Hettinger in :issue:`36326`.)" +msgstr "(Надав Реймонд Геттінгер у :issue:`36326`.)" + +msgid "io" +msgstr "io" + +msgid "" +"In development mode (:option:`-X` ``env``) and in :ref:`debug build `, the :class:`io.IOBase` finalizer now logs the exception if the " +"``close()`` method fails. The exception is ignored silently by default in " +"release build. (Contributed by Victor Stinner in :issue:`18748`.)" +msgstr "" +"У режимі розробки (:option:`-X` ``env``) і в :ref:`debug build ` фіналізатор :class:`io.IOBase` тепер реєструє виняток, якщо " +"``close()`` метод не вдається. Виняток ігнорується за умовчанням у збірці " +"випуску. (Надав Віктор Стіннер у :issue:`18748`.)" + +msgid "itertools" +msgstr "itertools" + +msgid "" +"The :func:`itertools.accumulate` function added an option *initial* keyword " +"argument to specify an initial value::" +msgstr "" +"Функція :func:`itertools.accumulate` додала опцію *initial* аргумент " +"ключового слова для визначення початкового значення::" + +msgid "(Contributed by Lisa Roach in :issue:`34659`.)" +msgstr "(Надано Лізою Роуч у :issue:`34659`.)" + +msgid "json.tool" +msgstr "json.tool" + +msgid "" +"Add option ``--json-lines`` to parse every input line as a separate JSON " +"object. (Contributed by Weipeng Hong in :issue:`31553`.)" +msgstr "" +"Додайте опцію ``--json-lines``, щоб аналізувати кожен рядок введення як " +"окремий об’єкт JSON. (Надано Weipeng Hong у :issue:`31553`.)" + +msgid "logging" +msgstr "лісозаготівля" + +msgid "" +"Added a *force* keyword argument to :func:`logging.basicConfig()` When set " +"to true, any existing handlers attached to the root logger are removed and " +"closed before carrying out the configuration specified by the other " +"arguments." +msgstr "" +"Додано аргумент ключового слова *force* до :func:`logging.basicConfig()` " +"Якщо встановлено значення true, усі існуючі обробники, приєднані до " +"кореневого реєстратора, видаляються та закриваються перед виконанням " +"конфігурації, визначеної іншими аргументами." + +msgid "" +"This solves a long-standing problem. Once a logger or *basicConfig()* had " +"been called, subsequent calls to *basicConfig()* were silently ignored. This " +"made it difficult to update, experiment with, or teach the various logging " +"configuration options using the interactive prompt or a Jupyter notebook." +msgstr "" +"Це вирішує давню проблему. Після виклику реєстратора або *basicConfig()* " +"наступні виклики *basicConfig()* мовчки ігнорувалися. Через це було складно " +"оновлювати, експериментувати з різними параметрами конфігурації журналу або " +"навчати їх за допомогою інтерактивної підказки або блокнота Jupyter." + +msgid "" +"(Suggested by Raymond Hettinger, implemented by Dong-hee Na, and reviewed by " +"Vinay Sajip in :issue:`33897`.)" +msgstr "" +"(Запропоновано Raymond Hettinger, реалізовано Dong-hee Na та переглянуто " +"Vinay Sajip у :issue:`33897`.)" + +msgid "math" +msgstr "математика" + +msgid "" +"Added new function :func:`math.dist` for computing Euclidean distance " +"between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" +msgstr "" +"Додано нову функцію :func:`math.dist` для обчислення евклідової відстані між " +"двома точками. (Надав Реймонд Геттінгер у :issue:`33089`.)" + +msgid "" +"Expanded the :func:`math.hypot` function to handle multiple dimensions. " +"Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " +"in :issue:`33089`.)" +msgstr "" +"Розширено функцію :func:`math.hypot` для обробки кількох вимірів. Раніше він " +"підтримував лише двовимірний випадок. (Надав Реймонд Геттінгер у :issue:" +"`33089`.)" + +msgid "" +"Added new function, :func:`math.prod`, as analogous function to :func:`sum` " +"that returns the product of a 'start' value (default: 1) times an iterable " +"of numbers::" +msgstr "" +"Додано нову функцію, :func:`math.prod`, як функцію, аналогічну функції :func:" +"`sum`, яка повертає добуток початкового значення (за замовчуванням: 1), " +"помноженого на ітерацію чисел::" + +msgid "(Contributed by Pablo Galindo in :issue:`35606`.)" +msgstr "(Надав Пабло Галіндо в :issue:`35606`.)" + +msgid "" +"Added two new combinatoric functions :func:`math.perm` and :func:`math." +"comb`::" +msgstr "" +"Додано дві нові комбінаторні функції :func:`math.perm` і :func:`math.comb`::" + +msgid "" +"(Contributed by Yash Aggarwal, Keller Fuchs, Serhiy Storchaka, and Raymond " +"Hettinger in :issue:`37128`, :issue:`37178`, and :issue:`35431`.)" +msgstr "" +"(Надано Yash Aggarwal, Keller Fuchs, Serhiy Storchaka та Raymond Hettinger " +"у :issue:`37128`, :issue:`37178` та :issue:`35431`.)" + +msgid "" +"Added a new function :func:`math.isqrt` for computing accurate integer " +"square roots without conversion to floating point. The new function " +"supports arbitrarily large integers. It is faster than ``floor(sqrt(n))`` " +"but slower than :func:`math.sqrt`::" +msgstr "" +"Додано нову функцію :func:`math.isqrt` для обчислення точних цілих " +"квадратних коренів без перетворення до числа з плаваючою комою. Нова функція " +"підтримує довільні цілі числа. Це швидше, ніж ``floor(sqrt(n))``, але " +"повільніше, ніж :func:`math.sqrt`::" + +msgid "(Contributed by Mark Dickinson in :issue:`36887`.)" +msgstr "(Надав Марк Дікінсон у :issue:`36887`.)" + +msgid "" +"The function :func:`math.factorial` no longer accepts arguments that are not " +"int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" +msgstr "" +"Функція :func:`math.factorial` більше не приймає аргументи, які не є int-" +"подібними. (Надав Пабло Галіндо в :issue:`33083`.)" + +msgid "mmap" +msgstr "mmap" + +msgid "" +"The :class:`mmap.mmap` class now has an :meth:`~mmap.mmap.madvise` method to " +"access the ``madvise()`` system call. (Contributed by Zackery Spytz in :" +"issue:`32941`.)" +msgstr "" +"Клас :class:`mmap.mmap` тепер має метод :meth:`~mmap.mmap.madvise` для " +"доступу до системного виклику ``madvise()``. (Надав Закері Шпітц у :issue:" +"`32941`.)" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +"Added new :mod:`multiprocessing.shared_memory` module. (Contributed by Davin " +"Potts in :issue:`35813`.)" +msgstr "" +"Додано новий модуль :mod:`multiprocessing.shared_memory`. (Надав Девін Поттс " +"у :issue:`35813`.)" + +msgid "" +"On macOS, the *spawn* start method is now used by default. (Contributed by " +"Victor Stinner in :issue:`33725`.)" +msgstr "" +"У macOS метод запуску *spawn* тепер використовується за замовчуванням. " +"(Надав Віктор Стіннер у :issue:`33725`.)" + +msgid "os" +msgstr "ос" + +msgid "" +"Added new function :func:`~os.add_dll_directory` on Windows for providing " +"additional search paths for native dependencies when importing extension " +"modules or loading DLLs using :mod:`ctypes`. (Contributed by Steve Dower in :" +"issue:`36085`.)" +msgstr "" +"Додано нову функцію :func:`~os.add_dll_directory` у Windows для надання " +"додаткових шляхів пошуку для власних залежностей під час імпорту модулів " +"розширення або завантаження DLL за допомогою :mod:`ctypes`. (Надав Стів " +"Дауер у :issue:`36085`.)" + +msgid "" +"A new :func:`os.memfd_create` function was added to wrap the " +"``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " +"Heimes in :issue:`26836`.)" +msgstr "" +"Було додано нову функцію :func:`os.memfd_create` для обгортання системного " +"виклику ``memfd_create()``. (Надано Zackery Spytz і Christian Heimes у :" +"issue:`26836`.)" + +msgid "" +"On Windows, much of the manual logic for handling reparse points (including " +"symlinks and directory junctions) has been delegated to the operating " +"system. Specifically, :func:`os.stat` will now traverse anything supported " +"by the operating system, while :func:`os.lstat` will only open reparse " +"points that identify as \"name surrogates\" while others are opened as for :" +"func:`os.stat`. In all cases, :attr:`stat_result.st_mode` will only have " +"``S_IFLNK`` set for symbolic links and not other kinds of reparse points. To " +"identify other kinds of reparse point, check the new :attr:`stat_result." +"st_reparse_tag` attribute." +msgstr "" +"У Windows велика частина ручної логіки для обробки точок повторного аналізу " +"(включаючи символічні посилання та з’єднання каталогів) була делегована " +"операційній системі. Зокрема, :func:`os.stat` тепер переглядатиме все, що " +"підтримується операційною системою, тоді як :func:`os.lstat` відкриватиме " +"лише точки повторного аналізу, які ідентифікуються як \"сурогати імен\", " +"тоді як інші відкриваються як для :func:`os.stat`. У всіх випадках у :attr:" +"`stat_result.st_mode` буде встановлено лише ``S_IFLNK`` для символічних " +"посилань, а не для інших типів точок повторного аналізу. Щоб визначити інші " +"типи точок повторного аналізу, перевірте новий атрибут :attr:`stat_result." +"st_reparse_tag`." + +msgid "" +"On Windows, :func:`os.readlink` is now able to read directory junctions. " +"Note that :func:`~os.path.islink` will return ``False`` for directory " +"junctions, and so code that checks ``islink`` first will continue to treat " +"junctions as directories, while code that handles errors from :func:`os." +"readlink` may now treat junctions as links." +msgstr "" +"У Windows :func:`os.readlink` тепер може читати з’єднання каталогів. " +"Зауважте, що :func:`~os.path.islink` поверне ``False`` для з’єднань " +"каталогів, тому код, який спочатку перевіряє ``islink``, продовжуватиме " +"розглядати з’єднання як каталоги, тоді як код, який обробляє помилки з :func:" +"`os.readlink` тепер може розглядати перехрестя як посилання." + +msgid "(Contributed by Steve Dower in :issue:`37834`.)" +msgstr "(Надав Стів Дауер у :issue:`37834`.)" + +msgid "os.path" +msgstr "os.path" + +msgid "" +":mod:`os.path` functions that return a boolean result like :func:`~os.path." +"exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path." +"isfile`, :func:`~os.path.islink`, and :func:`~os.path.ismount` now return " +"``False`` instead of raising :exc:`ValueError` or its subclasses :exc:" +"`UnicodeEncodeError` and :exc:`UnicodeDecodeError` for paths that contain " +"characters or bytes unrepresentable at the OS level. (Contributed by Serhiy " +"Storchaka in :issue:`33721`.)" +msgstr "" +":mod:`os.path` функції, які повертають логічний результат, наприклад :func:" +"`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir` , :func:" +"`~os.path.isfile`, :func:`~os.path.islink` і :func:`~os.path.ismount` тепер " +"повертають ``False`` замість підвищення :exc:`ValueError` або його підкласи :" +"exc:`UnicodeEncodeError` і :exc:`UnicodeDecodeError` для шляхів, які містять " +"символи або байти, які неможливо відобразити на рівні ОС. (Надав Сергій " +"Сторчака в :issue:`33721`.)" + +msgid "" +":func:`~os.path.expanduser` on Windows now prefers the :envvar:`USERPROFILE` " +"environment variable and does not use :envvar:`HOME`, which is not normally " +"set for regular user accounts. (Contributed by Anthony Sottile in :issue:" +"`36264`.)" +msgstr "" +":func:`~os.path.expanduser` у Windows тепер надає перевагу змінній " +"середовища :envvar:`USERPROFILE` і не використовує :envvar:`HOME`, яка " +"зазвичай не встановлюється для звичайних облікових записів користувачів. " +"(Надав Ентоні Соттіле в :issue:`36264`.)" + +msgid "" +":func:`~os.path.isdir` on Windows no longer returns ``True`` for a link to a " +"non-existent directory." +msgstr "" +":func:`~os.path.isdir` у Windows більше не повертає ``True`` для посилання " +"на неіснуючий каталог." + +msgid "" +":func:`~os.path.realpath` on Windows now resolves reparse points, including " +"symlinks and directory junctions." +msgstr "" +":func:`~os.path.realpath` у Windows тепер розпізнає точки повторного " +"аналізу, включаючи символічні посилання та з’єднання каталогів." + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +":mod:`pathlib.Path` methods that return a boolean result like :meth:" +"`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib." +"Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path." +"is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:`~pathlib.Path." +"is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:`~pathlib.Path." +"is_socket()` now return ``False`` instead of raising :exc:`ValueError` or " +"its subclass :exc:`UnicodeEncodeError` for paths that contain characters " +"unrepresentable at the OS level. (Contributed by Serhiy Storchaka in :issue:" +"`33721`.)" +msgstr "" +":mod:`pathlib.Path` методи, які повертають логічний результат, наприклад :" +"meth:`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:" +"`~pathlib. Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:" +"`~pathlib.Path.is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:" +"`~pathlib.Path.is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:" +"`~pathlib.Path.is_socket()` тепер повертає ``False`` замість підвищення :exc:" +"`ValueError` або його підклас :exc:`UnicodeEncodeError` для шляхів, які " +"містять символи, які неможливо відобразити на рівні ОС. (Надав Сергій " +"Сторчака в :issue:`33721`.)" + +msgid "" +"Added :meth:`pathlib.Path.link_to()` which creates a hard link pointing to a " +"path. (Contributed by Joannah Nanjekye in :issue:`26978`)" +msgstr "" +"Додано :meth:`pathlib.Path.link_to()`, який створює жорстке посилання, що " +"вказує на шлях. (Надано Joannah Nanjekye у :issue:`26978`)" + +msgid "pickle" +msgstr "маринований огірок" + +msgid "" +":mod:`pickle` extensions subclassing the C-optimized :class:`~pickle." +"Pickler` can now override the pickling logic of functions and classes by " +"defining the special :meth:`~pickle.Pickler.reducer_override` method. " +"(Contributed by Pierre Glaser and Olivier Grisel in :issue:`35900`.)" +msgstr "" +"Розширення :mod:`pickle`, що створюють субкласи оптимізованого для C :class:" +"`~pickle.Pickler`, тепер можуть перевизначати логіку маринування функцій і " +"класів, визначаючи спеціальний метод :meth:`~pickle.Pickler." +"reducer_override`. (Надано П’єром Глейзером і Олів’є Грізелем у :issue:" +"`35900`.)" + +msgid "plistlib" +msgstr "plistlib" + +msgid "" +"Added new :class:`plistlib.UID` and enabled support for reading and writing " +"NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in :issue:" +"`26707`.)" +msgstr "" +"Додано новий :class:`plistlib.UID` і ввімкнено підтримку для читання та " +"запису бінарних списків у кодуванні NSKeyedArchiver. (Надав Джон Янзен у :" +"issue:`26707`.)" + +msgid "pprint" +msgstr "pprint" + +msgid "" +"The :mod:`pprint` module added a *sort_dicts* parameter to several " +"functions. By default, those functions continue to sort dictionaries before " +"rendering or printing. However, if *sort_dicts* is set to false, the " +"dictionaries retain the order that keys were inserted. This can be useful " +"for comparison to JSON inputs during debugging." +msgstr "" +"Модуль :mod:`pprint` додав параметр *sort_dicts* до кількох функцій. За " +"замовчуванням ці функції продовжують сортувати словники перед рендерингом " +"або друком. Однак якщо *sort_dicts* має значення false, словники зберігають " +"порядок вставлення ключів. Це може бути корисним для порівняння з вхідними " +"даними JSON під час налагодження." + +msgid "" +"In addition, there is a convenience new function, :func:`pprint.pp` that is " +"like :func:`pprint.pprint` but with *sort_dicts* defaulting to ``False``::" +msgstr "" +"Крім того, є нова зручна функція :func:`pprint.pp`, яка схожа на :func:" +"`pprint.pprint`, але з *sort_dicts* за замовчуванням ``False``::" + +msgid "(Contributed by Rémi Lapeyre in :issue:`30670`.)" +msgstr "(Надав Ремі Лапейр у :issue:`30670`.)" + +msgid "py_compile" +msgstr "py_compile" + +msgid "" +":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah " +"Nanjekye in :issue:`22640`.)" +msgstr "" +":func:`py_compile.compile` тепер підтримує тихий режим. (Надано Joannah " +"Nanjekye у :issue:`22640`.)" + +msgid "shlex" +msgstr "шлекс" + +msgid "" +"The new :func:`shlex.join` function acts as the inverse of :func:`shlex." +"split`. (Contributed by Bo Bayles in :issue:`32102`.)" +msgstr "" +"Нова функція :func:`shlex.join` діє як зворотна функція :func:`shlex.split`. " +"(Надав Бо Бейлс у :issue:`32102`.)" + +msgid "shutil" +msgstr "шутил" + +msgid "" +":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " +"argument. (Contributed by Josh Bronson in :issue:`20849`.)" +msgstr "" +":func:`shutil.copytree` тепер приймає новий аргумент ключового слова " +"``dirs_exist_ok``. (Надав Джош Бронсон у :issue:`20849`.)" + +msgid "" +":func:`shutil.make_archive` now defaults to the modern pax (POSIX.1-2001) " +"format for new archives to improve portability and standards conformance, " +"inherited from the corresponding change to the :mod:`tarfile` module. " +"(Contributed by C.A.M. Gerlach in :issue:`30661`.)" +msgstr "" +":func:`shutil.make_archive` тепер за замовчуванням використовує сучасний " +"формат pax (POSIX.1-2001) для нових архівів для покращення переносимості та " +"відповідності стандартам, успадкованому від відповідних змін у модулі :mod:" +"`tarfile`. (Надано C.A.M. Gerlach у :issue:`30661`.)" + +msgid "" +":func:`shutil.rmtree` on Windows now removes directory junctions without " +"recursively removing their contents first. (Contributed by Steve Dower in :" +"issue:`37834`.)" +msgstr "" +":func:`shutil.rmtree` у Windows тепер видаляє з’єднання каталогів без " +"попереднього рекурсивного видалення їх вмісту. (Надав Стів Дауер у :issue:" +"`37834`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"Added :meth:`~socket.create_server()` and :meth:`~socket." +"has_dualstack_ipv6()` convenience functions to automate the necessary tasks " +"usually involved when creating a server socket, including accepting both " +"IPv4 and IPv6 connections on the same socket. (Contributed by Giampaolo " +"Rodolà in :issue:`17561`.)" +msgstr "" +"Додано зручні функції :meth:`~sockete.create_server()` і :meth:`~socket." +"has_dualstack_ipv6()` для автоматизації необхідних завдань, які зазвичай " +"виконуються під час створення серверного сокета, включаючи прийняття " +"з’єднань IPv4 і IPv6 в одному сокеті. . (Надав Джампаоло Родола в :issue:" +"`17561`.)" + +msgid "" +"The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, and :" +"func:`socket.if_indextoname()` functions have been implemented on Windows. " +"(Contributed by Zackery Spytz in :issue:`37007`.)" +msgstr "" +"Функції :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()` і :" +"func:`socket.if_indextoname()` реалізовано у Windows. (Надав Закері Шпітц у :" +"issue:`37007`.)" + +msgid "ssl" +msgstr "ssl" + +msgid "" +"Added :attr:`~ssl.SSLContext.post_handshake_auth` to enable and :meth:`~ssl." +"SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " +"authentication. (Contributed by Christian Heimes in :issue:`34670`.)" +msgstr "" +"Додано :attr:`~ssl.SSLContext.post_handshake_auth` для ввімкнення та :meth:" +"`~ssl.SSLSocket.verify_client_post_handshake` для ініціювання автентифікації " +"TLS 1.3 після рукостискання. (Надав Крістіан Хеймс у :issue:`34670`.)" + +msgid "statistics" +msgstr "статистика" + +msgid "" +"Added :func:`statistics.fmean` as a faster, floating point variant of :func:" +"`statistics.mean()`. (Contributed by Raymond Hettinger and Steven D'Aprano " +"in :issue:`35904`.)" +msgstr "" +"Додано :func:`statistics.fmean` як швидший варіант :func:`statistics.mean()` " +"з плаваючою комою. (Надано Реймондом Геттінгером і Стівеном Д'Апрано в :" +"issue:`35904`.)" + +msgid "" +"Added :func:`statistics.geometric_mean()` (Contributed by Raymond Hettinger " +"in :issue:`27181`.)" +msgstr "" +"Додано :func:`statistics.geometric_mean()` (надано Реймондом Хеттінгером у :" +"issue:`27181`.)" + +msgid "" +"Added :func:`statistics.multimode` that returns a list of the most common " +"values. (Contributed by Raymond Hettinger in :issue:`35892`.)" +msgstr "" +"Додано :func:`statistics.multimode`, який повертає список найпоширеніших " +"значень. (Надав Реймонд Геттінгер у :issue:`35892`.)" + +msgid "" +"Added :func:`statistics.quantiles` that divides data or a distribution in to " +"equiprobable intervals (e.g. quartiles, deciles, or percentiles). " +"(Contributed by Raymond Hettinger in :issue:`36546`.)" +msgstr "" +"Додано :func:`statistics.quantiles`, який ділить дані або розподіл на " +"рівноімовірні інтервали (наприклад, квартилі, децилі або процентилі). (Надав " +"Реймонд Геттінгер у :issue:`36546`.)" + +msgid "" +"Added :class:`statistics.NormalDist`, a tool for creating and manipulating " +"normal distributions of a random variable. (Contributed by Raymond Hettinger " +"in :issue:`36018`.)" +msgstr "" +"Додано :class:`statistics.NormalDist`, інструмент для створення та керування " +"нормальним розподілом випадкової величини. (Надав Реймонд Геттінгер у :issue:" +"`36018`.)" + +msgid "sys" +msgstr "система" + +msgid "" +"Add new :func:`sys.unraisablehook` function which can be overridden to " +"control how \"unraisable exceptions\" are handled. It is called when an " +"exception has occurred but there is no way for Python to handle it. For " +"example, when a destructor raises an exception or during garbage collection " +"(:func:`gc.collect`). (Contributed by Victor Stinner in :issue:`36829`.)" +msgstr "" +"Додайте нову функцію :func:`sys.unraisablehook`, яку можна перевизначати, " +"щоб керувати обробкою \"виключних ситуацій, які не можна викликати\". Він " +"викликається, коли сталася виняткова ситуація, але Python не може її " +"впоратися. Наприклад, коли деструктор викликає виняток або під час збирання " +"сміття (:func:`gc.collect`). (Надав Віктор Стіннер у :issue:`36829`.)" + +msgid "tarfile" +msgstr "tarfile" + +msgid "" +"The :mod:`tarfile` module now defaults to the modern pax (POSIX.1-2001) " +"format for new archives, instead of the previous GNU-specific one. This " +"improves cross-platform portability with a consistent encoding (UTF-8) in a " +"standardized and extensible format, and offers several other benefits. " +"(Contributed by C.A.M. Gerlach in :issue:`36268`.)" +msgstr "" +"Модуль :mod:`tarfile` тепер за замовчуванням використовує сучасний формат " +"pax (POSIX.1-2001) для нових архівів замість попереднього, специфічного для " +"GNU. Це покращує міжплатформенну переносимість завдяки узгодженому кодуванню " +"(UTF-8) у стандартизованому та розширюваному форматі та пропонує кілька " +"інших переваг. (Надано C.A.M. Gerlach у :issue:`36268`.)" + +msgid "threading" +msgstr "різьблення" + +msgid "" +"Add a new :func:`threading.excepthook` function which handles uncaught :meth:" +"`threading.Thread.run` exception. It can be overridden to control how " +"uncaught :meth:`threading.Thread.run` exceptions are handled. (Contributed " +"by Victor Stinner in :issue:`1230540`.)" +msgstr "" +"Додайте нову функцію :func:`threading.excepthook`, яка обробляє " +"неперехоплені винятки :meth:`threading.Thread.run`. Його можна змінити, щоб " +"керувати обробкою неперехоплених винятків :meth:`threading.Thread.run`. " +"(Надав Віктор Стіннер у :issue:`1230540`.)" + +msgid "" +"Add a new :func:`threading.get_native_id` function and a :data:`~threading." +"Thread.native_id` attribute to the :class:`threading.Thread` class. These " +"return the native integral Thread ID of the current thread assigned by the " +"kernel. This feature is only available on certain platforms, see :func:" +"`get_native_id ` for more information. (Contributed " +"by Jake Tesler in :issue:`36084`.)" +msgstr "" +"Додайте нову функцію :func:`threading.get_native_id` і атрибут :data:" +"`~threading.Thread.native_id` до класу :class:`threading.Thread`. Вони " +"повертають власний інтегральний ідентифікатор потоку поточного потоку, " +"призначений ядром. Ця функція доступна лише на певних платформах, див. :func:" +"`get_native_id ` для отримання додаткової " +"інформації. (Надав Джейк Теслер у :issue:`36084`.)" + +msgid "tokenize" +msgstr "токенізувати" + +msgid "" +"The :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token when " +"provided with input that does not have a trailing new line. This behavior " +"now matches what the C tokenizer does internally. (Contributed by Ammar " +"Askar in :issue:`33899`.)" +msgstr "" +"Модуль :mod:`tokenize` тепер неявно випромінює маркер ``NEWLINE``, якщо " +"надається вхідні дані, які не мають кінцевого нового рядка. Ця поведінка " +"тепер відповідає внутрішнім функціям C tokenizer. (Надав Аммар Аскар у :" +"issue:`33899`.)" + +msgid "tkinter" +msgstr "tkinter" + +msgid "" +"Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." +"Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" +"meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` class. " +"(Contributed by Juliette Monsel in :issue:`34829`.)" +msgstr "" +"Додано методи :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." +"Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` та :" +"meth:`~tkinter.Spinbox.selection_to` у клас :class:`tkinter.Spinbox`. " +"(Надано Juliette Monsel у :issue:`34829`.)" + +msgid "" +"Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " +"class. (Contributed by Juliette Monsel in :issue:`23831`.)" +msgstr "" +"Додано метод :meth:`~tkinter.Canvas.moveto` в клас :class:`tkinter.Canvas`. " +"(Надано Джульєтт Монсел у :issue:`23831`.)" + +msgid "" +"The :class:`tkinter.PhotoImage` class now has :meth:`~tkinter.PhotoImage." +"transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " +"(Contributed by Zackery Spytz in :issue:`25451`.)" +msgstr "" +"Клас :class:`tkinter.PhotoImage` тепер має методи :meth:`~tkinter.PhotoImage." +"transparency_get` і :meth:`~tkinter.PhotoImage.transparency_set`. (Надав " +"Закері Шпітц у :issue:`25451`.)" + +msgid "time" +msgstr "час" + +msgid "" +"Added new clock :data:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. (Contributed " +"by Joannah Nanjekye in :issue:`35702`.)" +msgstr "" +"Додано новий годинник :data:`~time.CLOCK_UPTIME_RAW` для macOS 10.12. " +"(Надано Joannah Nanjekye у :issue:`35702`.)" + +msgid "typing" +msgstr "введення тексту" + +msgid "The :mod:`typing` module incorporates several new features:" +msgstr "Модуль :mod:`typing` містить кілька нових функцій:" + +msgid "" +"A dictionary type with per-key types. See :pep:`589` and :class:`typing." +"TypedDict`. TypedDict uses only string keys. By default, every key is " +"required to be present. Specify \"total=False\" to allow keys to be " +"optional::" +msgstr "" +"Тип словника з типами по ключу. Перегляньте :pep:`589` і :class:`typing." +"TypedDict`. TypedDict використовує лише рядкові ключі. За замовчуванням " +"кожен ключ повинен бути присутнім. Укажіть \"total=False\", щоб дозволити " +"ключам бути необов'язковими::" + +msgid "" +"Literal types. See :pep:`586` and :class:`typing.Literal`. Literal types " +"indicate that a parameter or return value is constrained to one or more " +"specific literal values::" +msgstr "" +"Літеральні типи. Перегляньте :pep:`586` і :class:`typing.Literal`. " +"Літеральні типи вказують на те, що параметр або значення, що повертається, " +"обмежено одним або кількома конкретними літеральними значеннями:" + +msgid "" +"\"Final\" variables, functions, methods and classes. See :pep:`591`, :class:" +"`typing.Final` and :func:`typing.final`. The final qualifier instructs a " +"static type checker to restrict subclassing, overriding, or reassignment::" +msgstr "" +"\"Кінцеві\" змінні, функції, методи та класи. Перегляньте :pep:`591`, :class:" +"`typing.Final` і :func:`typing.final`. Остаточний кваліфікатор наказує " +"статичному засобу перевірки типів обмежити створення підкласів, " +"перевизначення чи перепризначення:" + +msgid "" +"Protocol definitions. See :pep:`544`, :class:`typing.Protocol` and :func:" +"`typing.runtime_checkable`. Simple ABCs like :class:`typing.SupportsInt` " +"are now ``Protocol`` subclasses." +msgstr "" +"Визначення протоколу. Перегляньте :pep:`544`, :class:`typing.Protocol` і :" +"func:`typing.runtime_checkable`. Прості азбуки, такі як :class:`typing." +"SupportsInt` тепер є підкласами ``Protocol``." + +msgid "New protocol class :class:`typing.SupportsIndex`." +msgstr "Новий клас протоколу :class:`typing.SupportsIndex`." + +msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." +msgstr "Нові функції :func:`typing.get_origin` і :func:`typing.get_args`." + +msgid "unicodedata" +msgstr "unicodedata" + +msgid "" +"The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " +"`_ release." +msgstr "" + +msgid "" +"New function :func:`~unicodedata.is_normalized` can be used to verify a " +"string is in a specific normal form, often much faster than by actually " +"normalizing the string. (Contributed by Max Belanger, David Euresti, and " +"Greg Price in :issue:`32285` and :issue:`37966`)." +msgstr "" +"Нова функція :func:`~unicodedata.is_normalized` може бути використана для " +"перевірки того, що рядок знаходиться в певній нормальній формі, часто " +"набагато швидше, ніж шляхом фактичної нормалізації рядка. (Надано Максом " +"Беланджером, Девідом Юресті та Грегом Прайсом у :issue:`32285` та :issue:" +"`37966`)." + +msgid "unittest" +msgstr "unittest" + +msgid "" +"Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version " +"of :class:`~unittest.mock.Mock`. Appropriate new assert functions for " +"testing have been added as well. (Contributed by Lisa Roach in :issue:" +"`26467`)." +msgstr "" +"Додано :class:`~unittest.mock.AsyncMock` для підтримки асинхронної версії :" +"class:`~unittest.mock.Mock`. Також додано відповідні нові функції assert для " +"тестування. (Надано Лізою Роуч у :issue:`26467`)." + +msgid "" +"Added :func:`~unittest.addModuleCleanup()` and :meth:`~unittest.TestCase." +"addClassCleanup()` to unittest to support cleanups for :func:`~unittest." +"setUpModule()` and :meth:`~unittest.TestCase.setUpClass()`. (Contributed by " +"Lisa Roach in :issue:`24412`.)" +msgstr "" +"Додано :func:`~unittest.addModuleCleanup()` і :meth:`~unittest.TestCase." +"addClassCleanup()` до unittest для підтримки очищення для :func:`~unittest." +"setUpModule()` і :meth:`~unittest .TestCase.setUpClass()`. (Надано Лізою " +"Роуч у :issue:`24412`.)" + +msgid "" +"Several mock assert functions now also print a list of actual calls upon " +"failure. (Contributed by Petter Strandmark in :issue:`35047`.)" +msgstr "" +"Кілька імітаційних функцій підтвердження тепер також друкують список " +"фактичних викликів у разі невдачі. (Надано Петтером Страндмарком у :issue:" +"`35047`.)" + +msgid "" +":mod:`unittest` module gained support for coroutines to be used as test " +"cases with :class:`unittest.IsolatedAsyncioTestCase`. (Contributed by Andrew " +"Svetlov in :issue:`32972`.)" +msgstr "" +"Модуль :mod:`unittest` отримав підтримку співпрограм для використання як " +"тестових випадків із :class:`unittest.IsolatedAsyncioTestCase`. (Надав Ендрю " +"Свєтлов у :issue:`32972`.)" + +msgid "Example::" +msgstr "Приклад::" + +msgid "venv" +msgstr "venv" + +msgid "" +":mod:`venv` now includes an ``Activate.ps1`` script on all platforms for " +"activating virtual environments under PowerShell Core 6.1. (Contributed by " +"Brett Cannon in :issue:`32718`.)" +msgstr "" +":mod:`venv` тепер містить сценарій ``Activate.ps1`` на всіх платформах для " +"активації віртуальних середовищ у PowerShell Core 6.1. (Надано Бреттом " +"Кенноном у :issue:`32718`.)" + +msgid "weakref" +msgstr "слабкий реф" + +msgid "" +"The proxy objects returned by :func:`weakref.proxy` now support the matrix " +"multiplication operators ``@`` and ``@=`` in addition to the other numeric " +"operators. (Contributed by Mark Dickinson in :issue:`36669`.)" +msgstr "" +"Проксі-об’єкти, які повертає :func:`weakref.proxy`, тепер підтримують " +"оператори множення матриці ``@`` і ``@=`` на додаток до інших числових " +"операторів. (Надав Марк Дікінсон у :issue:`36669`.)" + +msgid "xml" +msgstr "xml" + +msgid "" +"As mitigation against DTD and external entity retrieval, the :mod:`xml.dom." +"minidom` and :mod:`xml.sax` modules no longer process external entities by " +"default. (Contributed by Christian Heimes in :issue:`17239`.)" +msgstr "" +"Щоб пом’якшити DTD і пошук зовнішніх об’єктів, модулі :mod:`xml.dom.minidom` " +"і :mod:`xml.sax` більше не обробляють зовнішні об’єкти за замовчуванням. " +"(Надав Крістіан Хеймс у :issue:`17239`.)" + +msgid "" +"The ``.find*()`` methods in the :mod:`xml.etree.ElementTree` module support " +"wildcard searches like ``{*}tag`` which ignores the namespace and " +"``{namespace}*`` which returns all tags in the given namespace. (Contributed " +"by Stefan Behnel in :issue:`28238`.)" +msgstr "" +"Методи ``.find*()`` у модулі :mod:`xml.etree.ElementTree` підтримують пошук " +"за символами узагальнення, наприклад ``{*}tag``, який ігнорує простір імен, " +"і ``{namespace}*``, який повертає всі теги у вказаному просторі імен. (Надав " +"Стефан Бенель у :issue:`28238`.)" + +msgid "" +"The :mod:`xml.etree.ElementTree` module provides a new function :func:`–xml." +"etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed by " +"Stefan Behnel in :issue:`13611`.)" +msgstr "" +"Модуль :mod:`xml.etree.ElementTree` надає нову функцію :func:`–xml.etree." +"ElementTree.canonicalize()`, яка реалізує C14N 2.0. (Надав Стефан Бенель у :" +"issue:`13611`.)" + +msgid "" +"The target object of :class:`xml.etree.ElementTree.XMLParser` can receive " +"namespace declaration events through the new callback methods ``start_ns()`` " +"and ``end_ns()``. Additionally, the :class:`xml.etree.ElementTree." +"TreeBuilder` target can be configured to process events about comments and " +"processing instructions to include them in the generated tree. (Contributed " +"by Stefan Behnel in :issue:`36676` and :issue:`36673`.)" +msgstr "" +"Цільовий об’єкт :class:`xml.etree.ElementTree.XMLParser` може отримувати " +"події оголошення простору імен через нові методи зворотного виклику " +"``start_ns()`` і ``end_ns()``. Крім того, ціль :class:`xml.etree.ElementTree." +"TreeBuilder` можна налаштувати на обробку подій щодо коментарів та " +"інструкцій з обробки, щоб включити їх у згенероване дерево. (Надав Стефан " +"Бенель у :issue:`36676` і :issue:`36673`.)" + +msgid "xmlrpc" +msgstr "xmlrpc" + +msgid "" +":class:`xmlrpc.client.ServerProxy` now supports an optional *headers* " +"keyword argument for a sequence of HTTP headers to be sent with each " +"request. Among other things, this makes it possible to upgrade from default " +"basic authentication to faster session authentication. (Contributed by " +"Cédric Krier in :issue:`35153`.)" +msgstr "" +":class:`xmlrpc.client.ServerProxy` тепер підтримує необов’язковий аргумент " +"ключового слова *headers* для послідовності заголовків HTTP, які " +"надсилаються з кожним запитом. Серед іншого, це дає змогу оновити стандартну " +"базову автентифікацію до швидшої сеансової автентифікації. (Надав Седрик " +"Крієр у :issue:`35153`.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function " +"in some cases for better performance. Currently, it is only used on macOS " +"and Linux (using glibc 2.24 or newer) if all these conditions are met:" +msgstr "" +"Модуль :mod:`subprocess` тепер може використовувати функцію :func:`os." +"posix_spawn` у деяких випадках для кращої продуктивності. Наразі він " +"використовується лише в macOS і Linux (з використанням glibc 2.24 або " +"новішої версії), якщо виконуються всі ці умови:" + +msgid "*close_fds* is false;" +msgstr "*close_fds* є помилковим;" + +msgid "" +"*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " +"set;" +msgstr "" +"Параметри *preexec_fn*, *pass_fds*, *cwd* і *start_new_session* не " +"встановлені;" + +msgid "the *executable* path contains a directory." +msgstr "*виконуваний* шлях містить каталог." + +msgid "(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" +msgstr "(Надано Джоанною Нанджекі та Віктором Стіннером у :issue:`35537`.)" + +msgid "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-copy" +"\" syscalls on Linux and macOS in order to copy the file more efficiently. " +"\"fast-copy\" means that the copying operation occurs within the kernel, " +"avoiding the use of userspace buffers in Python as in \"``outfd.write(infd." +"read())``\". On Windows :func:`shutil.copyfile` uses a bigger default buffer " +"size (1 MiB instead of 16 KiB) and a :func:`memoryview`-based variant of :" +"func:`shutil.copyfileobj` is used. The speedup for copying a 512 MiB file " +"within the same partition is about +26% on Linux, +50% on macOS and +40% on " +"Windows. Also, much less CPU cycles are consumed. See :ref:`shutil-platform-" +"dependent-efficient-copy-operations` section. (Contributed by Giampaolo " +"Rodolà in :issue:`33671`.)" +msgstr "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` і :func:`shutil.move` використовують спеціальну для " +"платформи \"швидку -copy\" системні виклики в Linux і macOS для більш " +"ефективного копіювання файлу. \"швидке копіювання\" означає, що операція " +"копіювання відбувається всередині ядра, уникаючи використання буферів " +"простору користувача в Python, як у \"``outfd.write(infd.read())``\". У " +"Windows :func:`shutil.copyfile` використовує більший розмір буфера за " +"замовчуванням (1 МіБ замість 16 КіБ) і використовується варіант :func:" +"`memoryview` на основі :func:`shutil.copyfileobj`. Прискорення копіювання " +"файлу розміром 512 МіБ в межах одного розділу становить приблизно +26% у " +"Linux, +50% у macOS і +40% у Windows. Крім того, споживається набагато менше " +"циклів ЦП. Перегляньте розділ :ref:`shutil-platform-dependent-efficient-copy-" +"operations`. (Надав Джампаоло Родола в :issue:`33671`.)" + +msgid "" +":func:`shutil.copytree` uses :func:`os.scandir` function and all copy " +"functions depending from it use cached :func:`os.stat` values. The speedup " +"for copying a directory with 8000 files is around +9% on Linux, +20% on " +"Windows and +30% on a Windows SMB share. Also the number of :func:`os.stat` " +"syscalls is reduced by 38% making :func:`shutil.copytree` especially faster " +"on network filesystems. (Contributed by Giampaolo Rodolà in :issue:`33695`.)" +msgstr "" +":func:`shutil.copytree` використовує функцію :func:`os.scandir`, а всі " +"залежні від неї функції копіювання використовують кешовані значення :func:" +"`os.stat`. Прискорення для копіювання каталогу з 8000 файлами становить " +"приблизно +9% у Linux, +20% у Windows і +30% у Windows SMB. Також кількість " +"системних викликів :func:`os.stat` зменшено на 38%, що робить :func:`shutil." +"copytree` особливо швидшим у мережевих файлових системах. (Надав Джампаоло " +"Родола в :issue:`33695`.)" + +msgid "" +"The default protocol in the :mod:`pickle` module is now Protocol 4, first " +"introduced in Python 3.4. It offers better performance and smaller size " +"compared to Protocol 3 available since Python 3.0." +msgstr "" +"Протоколом за замовчуванням у модулі :mod:`pickle` тепер є протокол 4, " +"вперше представлений у Python 3.4. Він пропонує кращу продуктивність і " +"менший розмір порівняно з протоколом 3, доступним з Python 3.0." + +msgid "" +"Removed one :c:type:`Py_ssize_t` member from ``PyGC_Head``. All GC tracked " +"objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " +"by Inada Naoki in :issue:`33597`.)" +msgstr "" +"Видалено один член :c:type:`Py_ssize_t` з ``PyGC_Head``. Розмір усіх " +"об’єктів, що відстежуються GC (наприклад, кортеж, список, dict), зменшено на " +"4 або 8 байт. (Надано Інадою Наокі в :issue:`33597`.)" + +msgid "" +":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint. " +"(Contributed by Wouter Bolsterlee and Tal Einat in :issue:`30977`)" +msgstr "" +":class:`uuid.UUID` тепер використовує ``__slots__``, щоб зменшити обсяг " +"пам’яті. (Надано Wouter Bolsterlee і Tal Einat у :issue:`30977`)" + +msgid "" +"Improved performance of :func:`operator.itemgetter` by 33%. Optimized " +"argument handling and added a fast path for the common case of a single non-" +"negative integer index into a tuple (which is the typical use case in the " +"standard library). (Contributed by Raymond Hettinger in :issue:`35664`.)" +msgstr "" +"Покращена продуктивність :func:`operator.itemgetter` на 33%. Оптимізовано " +"обробку аргументів і додано швидкий шлях для звичайного випадку одного " +"невід’ємного цілого індексу в кортежі (що є типовим випадком використання в " +"стандартній бібліотеці). (Надав Реймонд Геттінгер у :issue:`35664`.)" + +msgid "" +"Sped-up field lookups in :func:`collections.namedtuple`. They are now more " +"than two times faster, making them the fastest form of instance variable " +"lookup in Python. (Contributed by Raymond Hettinger, Pablo Galindo, and Joe " +"Jevnik, Serhiy Storchaka in :issue:`32492`.)" +msgstr "" +"Прискорений пошук полів у :func:`collections.namedtuple`. Тепер вони більш " +"ніж у два рази швидші, що робить їх найшвидшою формою пошуку змінних " +"екземплярів у Python. (Надано Реймондом Геттінгером, Пабло Галіндо та Джо " +"Джевником, Сергієм Сторчакою в :issue:`32492`.)" + +msgid "" +"The :class:`list` constructor does not overallocate the internal item buffer " +"if the input iterable has a known length (the input implements ``__len__``). " +"This makes the created list 12% smaller on average. (Contributed by Raymond " +"Hettinger and Pablo Galindo in :issue:`33234`.)" +msgstr "" +"Конструктор :class:`list` не розподіляє внутрішній буфер елементів, якщо " +"ітерація введення має відому довжину (введення реалізує ``__len__``). Це " +"робить створений список у середньому на 12% меншим. (Надано Реймондом " +"Геттінгером і Пабло Галіндо в :issue:`33234`.)" + +msgid "" +"Doubled the speed of class variable writes. When a non-dunder attribute was " +"updated, there was an unnecessary call to update slots. (Contributed by " +"Stefan Behnel, Pablo Galindo Salgado, Raymond Hettinger, Neil Schemenauer, " +"and Serhiy Storchaka in :issue:`36012`.)" +msgstr "" +"Подвоєна швидкість запису змінних класу. Коли атрибут не-dunder оновлювався, " +"виникав непотрібний виклик для оновлення слотів. (Надано Стефаном Бенелем, " +"Пабло Галіндо Сальгадо, Раймондом Геттінгером, Нілом Шеменауером і Сергієм " +"Сторчакою в :issue:`36012`.)" + +msgid "" +"Reduced an overhead of converting arguments passed to many builtin functions " +"and methods. This sped up calling some simple builtin functions and methods " +"up to 20--50%. (Contributed by Serhiy Storchaka in :issue:`23867`, :issue:" +"`35582` and :issue:`36127`.)" +msgstr "" +"Зменшено накладні витрати на перетворення аргументів, які передаються " +"багатьом вбудованим функціям і методам. Це прискорило виклик деяких простих " +"вбудованих функцій і методів на 20--50%. (Надав Сергій Сторчака в :issue:" +"`23867`, :issue:`35582` та :issue:`36127`.)" + +msgid "" +"``LOAD_GLOBAL`` instruction now uses new \"per opcode cache\" mechanism. It " +"is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki in :" +"issue:`26219`.)" +msgstr "" +"Інструкція ``LOAD_GLOBAL`` тепер використовує новий механізм \"кешу кожного " +"коду операції\". Зараз це приблизно на 40% швидше. (Надано Юрієм Селівановим " +"та Інадою Наокі в :issue:`26219`.)" + +msgid "Build and C API Changes" +msgstr "Зміни збірки та C API" + +msgid "" +"Default :data:`sys.abiflags` became an empty string: the ``m`` flag for " +"pymalloc became useless (builds with and without pymalloc are ABI " +"compatible) and so has been removed. (Contributed by Victor Stinner in :" +"issue:`36707`.)" +msgstr "" +"За замовчуванням :data:`sys.abiflags` став порожнім рядком: прапорець ``m`` " +"для pymalloc став марним (збірки з pymalloc і без нього сумісні з ABI), тому " +"його було видалено. (Надав Віктор Стіннер у :issue:`36707`.)" + +msgid "Example of changes:" +msgstr "Приклад змін:" + +msgid "" +"Only ``python3.8`` program is installed, ``python3.8m`` program is gone." +msgstr "" +"Встановлено лише програму ``python3.8``, програми ``python3.8m`` немає." + +msgid "" +"Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " +"is gone." +msgstr "" +"Встановлено лише сценарій ``python3.8-config``, сценарій ``python3.8m-" +"config`` зник." + +msgid "" +"The ``m`` flag has been removed from the suffix of dynamic library " +"filenames: extension modules in the standard library as well as those " +"produced and installed by third-party packages, like those downloaded from " +"PyPI. On Linux, for example, the Python 3.7 suffix ``.cpython-37m-x86_64-" +"linux-gnu.so`` became ``.cpython-38-x86_64-linux-gnu.so`` in Python 3.8." +msgstr "" +"Прапор ``m`` було видалено з суфікса назв файлів динамічної бібліотеки: " +"модулі розширення в стандартній бібліотеці, а також модулі, створені та " +"встановлені пакетами сторонніх розробників, як-от завантажені з PyPI. У " +"Linux, наприклад, суфікс Python 3.7 ``.cpython-37m-x86_64-linux-gnu.so`` " +"став ``.cpython-38-x86_64-linux-gnu.so`` у Python 3.8." + +msgid "" +"The header files have been reorganized to better separate the different " +"kinds of APIs:" +msgstr "Файли заголовків реорганізовано, щоб краще розділити різні типи API:" + +msgid "``Include/*.h`` should be the portable public stable C API." +msgstr "" +"``Include/*.h`` має бути портативним загальнодоступним стабільним C API." + +msgid "" +"``Include/cpython/*.h`` should be the unstable C API specific to CPython; " +"public API, with some private API prefixed by ``_Py`` or ``_PY``." +msgstr "" +"``Include/cpython/*.h`` має бути нестабільним C API, специфічним для " +"CPython; публічний API, з деякими приватними API з префіксом ``_Py`` або " +"``_PY``." + +msgid "" +"``Include/internal/*.h`` is the private internal C API very specific to " +"CPython. This API comes with no backward compatibility warranty and should " +"not be used outside CPython. It is only exposed for very specific needs like " +"debuggers and profiles which has to access to CPython internals without " +"calling functions. This API is now installed by ``make install``." +msgstr "" +"``Include/internal/*.h`` — це приватний внутрішній API C, специфічний для " +"CPython. Цей API не має гарантії зворотної сумісності, тому його не слід " +"використовувати поза CPython. Він доступний лише для дуже специфічних " +"потреб, таких як налагоджувачі та профілі, які мають доступ до внутрішніх " +"елементів CPython без виклику функцій. Цей API тепер встановлено за " +"допомогою ``make install``." + +msgid "" +"(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " +"initiated by Eric Snow in Python 3.7.)" +msgstr "" +"(Надано Віктором Стіннером у :issue:`35134` та :issue:`35081`, робота, " +"розпочата Еріком Сноу над Python 3.7.)" + +msgid "" +"Some macros have been converted to static inline functions: parameter types " +"and return type are well defined, they don't have issues specific to macros, " +"variables have a local scopes. Examples:" +msgstr "" +"Деякі макроси було перетворено на статичні вбудовані функції: типи " +"параметрів і тип повернення добре визначені, вони не мають проблем, " +"характерних для макросів, змінні мають локальні області видимості. приклади:" + +msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" +msgstr ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" + +msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" +msgstr ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" + +msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" +msgstr ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" + +msgid "" +"Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" +"`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" +msgstr "" +"Приватні функції: :c:func:`_PyObject_GC_TRACK`, :c:func:" +"`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" + +msgid "(Contributed by Victor Stinner in :issue:`35059`.)" +msgstr "(Надав Віктор Стіннер у :issue:`35059`.)" + +msgid "" +"The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have " +"been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were " +"excluded from the limited API (stable ABI), and were not documented. " +"(Contributed by Victor Stinner in :issue:`35713`.)" +msgstr "" +"Функції :c:func:`PyByteArray_Init` і :c:func:`PyByteArray_Fini` видалено. " +"Вони нічого не зробили з Python 2.7.4 і Python 3.2.0, були виключені з " +"обмеженого API (стабільний ABI) і не були задокументовані. (Надав Віктор " +"Стіннер у :issue:`35713`.)" + +msgid "" +"The result of :c:func:`PyExceptionClass_Name` is now of type ``const char " +"*`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:" +"`33818`.)" +msgstr "" +"Результат :c:func:`PyExceptionClass_Name` тепер має тип ``const char *``, а " +"не ``char *``. (Надав Сергій Сторчака в :issue:`33818`.)" + +msgid "" +"The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been " +"removed. Previously, when updating the CPython source tree, one had to " +"manually copy ``Modules/Setup.dist`` (inside the source tree) to ``Modules/" +"Setup`` (inside the build tree) in order to reflect any changes upstream. " +"This was of a small benefit to packagers at the expense of a frequent " +"annoyance to developers following CPython development, as forgetting to copy " +"the file could produce build failures." +msgstr "" +"Подвійність ``Modules/Setup.dist`` і ``Modules/Setup`` було видалено. " +"Раніше, оновлюючи дерево вихідних кодів CPython, потрібно було вручну " +"скопіювати ``Modules/Setup.dist`` (усередині дерева вихідних кодів) до " +"``Modules/Setup`` (усередині дерева збірки), щоб відобразити будь-які зміни " +"вгорі . Це було невеликою перевагою для пакувальників за рахунок частого " +"роздратування розробників після розробки CPython, оскільки забуття " +"скопіювати файл могло призвести до помилок збірки." + +msgid "" +"Now the build system always reads from ``Modules/Setup`` inside the source " +"tree. People who want to customize that file are encouraged to maintain " +"their changes in a git fork of CPython or as patch files, as they would do " +"for any other change to the source tree." +msgstr "" +"Тепер система збирання завжди читає з ``Modules/Setup`` у дереві вихідних " +"кодів. Людям, які хочуть налаштувати цей файл, рекомендується зберігати свої " +"зміни в git-форку CPython або як файли виправлень, як вони робили б для будь-" +"яких інших змін у вихідному дереві." + +msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" +msgstr "(Надав Антуан Пітру в :issue:`32430`.)" + +msgid "" +"Functions that convert Python number to C integer like :c:func:" +"`PyLong_AsLong` and argument parsing functions like :c:func:" +"`PyArg_ParseTuple` with integer converting format units like ``'i'`` will " +"now use the :meth:`~object.__index__` special method instead of :meth:" +"`~object.__int__`, if available. The deprecation warning will be emitted " +"for objects with the ``__int__()`` method but without the ``__index__()`` " +"method (like :class:`~decimal.Decimal` and :class:`~fractions.Fraction`). :" +"c:func:`PyNumber_Check` will now return ``1`` for objects implementing " +"``__index__()``. :c:func:`PyNumber_Long`, :c:func:`PyNumber_Float` and :c:" +"func:`PyFloat_AsDouble` also now use the ``__index__()`` method if " +"available. (Contributed by Serhiy Storchaka in :issue:`36048` and :issue:" +"`20092`.)" +msgstr "" +"Функції, які перетворюють число Python на ціле число C, як-от :c:func:" +"`PyLong_AsLong`, і функції аналізу аргументів, як-от :c:func:" +"`PyArg_ParseTuple` з одиницями формату перетворення цілих чисел, як-от " +"``'i'`` тепер використовуватимуть Спеціальний метод :meth:`~object." +"__index__` замість :meth:`~object.__int__`, якщо доступний. Попередження про " +"припинення використання буде випущено для об’єктів із методом ``__int__()``, " +"але без ``__index__()`` (наприклад, :class:`~decimal.Decimal` і :class:" +"`~fractions.Fraction` ). :c:func:`PyNumber_Check` тепер повертатиме ``1`` " +"для об’єктів, що реалізують ``__index__()``. :c:func:`PyNumber_Long`, :c:" +"func:`PyNumber_Float` і :c:func:`PyFloat_AsDouble` тепер також " +"використовують метод ``__index__()``, якщо він доступний. (Надав Сергій " +"Сторчака в :issue:`36048` і :issue:`20092`.)" + +msgid "" +"Heap-allocated type objects will now increase their reference count in :c:" +"func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) instead of " +"in :c:func:`PyType_GenericAlloc`. Types that modify instance allocation or " +"deallocation may need to be adjusted. (Contributed by Eddie Elizondo in :" +"issue:`35810`.)" +msgstr "" +"Об’єкти типу, розподіленого за допомогою динамічної пам’яті, тепер " +"збільшуватимуть кількість посилань у :c:func:`PyObject_Init` (і його " +"паралельному макросі ``PyObject_INIT``), а не в :c:func:" +"`PyType_GenericAlloc`. Типи, які змінюють виділення або звільнення " +"екземплярів, можливо, потребують коригування. (Надав Едді Елізондо в :issue:" +"`35810`.)" + +msgid "" +"The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code " +"objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount* " +"parameter for indicating the number of positional-only arguments. " +"(Contributed by Pablo Galindo in :issue:`37221`.)" +msgstr "" +"Нова функція :c:func:`PyCode_NewWithPosOnlyArgs` дозволяє створювати об’єкти " +"коду, такі як :c:func:`PyCode_New`, але з додатковим параметром " +"*posonlyargcount* для вказівки кількості лише позиційних аргументів. (Надав " +"Пабло Галіндо в :issue:`37221`.)" + +msgid "" +":c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full " +"path (:c:func:`Py_GetProgramFullPath`) rather than to the program name (:c:" +"func:`Py_GetProgramName`). (Contributed by Victor Stinner in :issue:`38234`.)" +msgstr "" +":c:func:`Py_SetPath` тепер встановлює :data:`sys.executable` повний шлях до " +"програми (:c:func:`Py_GetProgramFullPath`), а не назву програми (:c:func:" +"`Py_GetProgramName`). (Надав Віктор Стіннер у :issue:`38234`.)" + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "" +"The distutils ``bdist_wininst`` command is now deprecated, use " +"``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in :" +"issue:`37481`.)" +msgstr "" +"Команда distutils ``bdist_wininst`` тепер застаріла, замість неї " +"використовуйте ``bdist_wheel`` (пакети колеса). (Надав Віктор Стіннер у :" +"issue:`37481`.)" + +msgid "" +"Deprecated methods ``getchildren()`` and ``getiterator()`` in the :mod:`~xml." +"etree.ElementTree` module now emit a :exc:`DeprecationWarning` instead of :" +"exc:`PendingDeprecationWarning`. They will be removed in Python 3.9. " +"(Contributed by Serhiy Storchaka in :issue:`29209`.)" +msgstr "" +"Застарілі методи ``getchildren()`` і ``getiterator()`` у модулі :mod:`~xml." +"etree.ElementTree` тепер видають :exc:`DeprecationWarning` замість :exc:" +"`PendingDeprecationWarning`. Їх буде видалено в Python 3.9. (Надав Сергій " +"Сторчака в :issue:`29209`.)" + +msgid "" +"Passing an object that is not an instance of :class:`concurrent.futures." +"ThreadPoolExecutor` to :meth:`loop.set_default_executor() ` is deprecated and will be prohibited in Python 3.9. " +"(Contributed by Elvis Pranskevichus in :issue:`34075`.)" +msgstr "" +"Передача об’єкта, який не є екземпляром :class:`concurrent.futures." +"ThreadPoolExecutor`, у :meth:`loop.set_default_executor() ` застаріла та буде заборонена в Python 3.9. (Надав " +"Елвіс Пранскявічус у :issue:`34075`.)" + +msgid "" +"The :meth:`__getitem__` methods of :class:`xml.dom.pulldom.DOMEventStream`, :" +"class:`wsgiref.util.FileWrapper` and :class:`fileinput.FileInput` have been " +"deprecated." +msgstr "" +"Методи :meth:`__getitem__` :class:`xml.dom.pulldom.DOMEventStream`, :class:" +"`wsgiref.util.FileWrapper` і :class:`fileinput.FileInput` стали застарілими." + +msgid "" +"Implementations of these methods have been ignoring their *index* parameter, " +"and returning the next item instead. (Contributed by Berker Peksag in :issue:" +"`9372`.)" +msgstr "" +"Реалізації цих методів ігнорували параметр *index* і замість нього повертали " +"наступний елемент. (Надано Berker Peksag у :issue:`9372`.)" + +msgid "" +"The :class:`typing.NamedTuple` class has deprecated the ``_field_types`` " +"attribute in favor of the ``__annotations__`` attribute which has the same " +"information. (Contributed by Raymond Hettinger in :issue:`36320`.)" +msgstr "" +"Клас :class:`typing.NamedTuple` відмовився від атрибута ``_field_types`` на " +"користь атрибута ``__annotations__``, який містить ту саму інформацію. " +"(Надав Реймонд Геттінгер у :issue:`36320`.)" + +msgid "" +":mod:`ast` classes ``Num``, ``Str``, ``Bytes``, ``NameConstant`` and " +"``Ellipsis`` are considered deprecated and will be removed in future Python " +"versions. :class:`~ast.Constant` should be used instead. (Contributed by " +"Serhiy Storchaka in :issue:`32892`.)" +msgstr "" +":mod:`ast` класи ``Num``, ``Str``, ``Bytes``, ``NameConstant`` і " +"``Ellipsis`` вважаються застарілими та будуть видалені в майбутніх версіях " +"Python. Замість цього слід використовувати :class:`~ast.Constant`. (Надав " +"Сергій Сторчака в :issue:`32892`.)" + +msgid "" +":class:`ast.NodeVisitor` methods ``visit_Num()``, ``visit_Str()``, " +"``visit_Bytes()``, ``visit_NameConstant()`` and ``visit_Ellipsis()`` are " +"deprecated now and will not be called in future Python versions. Add the :" +"meth:`~ast.NodeVisitor.visit_Constant` method to handle all constant nodes. " +"(Contributed by Serhiy Storchaka in :issue:`36917`.)" +msgstr "" +":class:`ast.NodeVisitor` методи ``visit_Num()``, ``visit_Str()``, " +"``visit_Bytes()``, ``visit_NameConstant()`` та ``visit_Ellipsis()`` " +"застаріли тепер і не буде викликатися в майбутніх версіях Python. Додайте " +"метод :meth:`~ast.NodeVisitor.visit_Constant` для обробки всіх постійних " +"вузлів. (Надав Сергій Сторчака в :issue:`36917`.)" + +msgid "" +"The :func:`asyncio.coroutine` :term:`decorator` is deprecated and will be " +"removed in version 3.10. Instead of ``@asyncio.coroutine``, use :keyword:" +"`async def` instead. (Contributed by Andrew Svetlov in :issue:`36921`.)" +msgstr "" +":func:`asyncio.coroutine` :term:`decorator` застаріло та буде видалено у " +"версії 3.10. Замість ``@asyncio.coroutine`` використовуйте :keyword:`async " +"def`. (Надав Ендрю Свєтлов у :issue:`36921`.)" + +msgid "" +"In :mod:`asyncio`, the explicit passing of a *loop* argument has been " +"deprecated and will be removed in version 3.10 for the following: :func:" +"`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio.shield`, :func:" +"`asyncio.wait_for`, :func:`asyncio.wait`, :func:`asyncio.as_completed`, :" +"class:`asyncio.Task`, :class:`asyncio.Lock`, :class:`asyncio.Event`, :class:" +"`asyncio.Condition`, :class:`asyncio.Semaphore`, :class:`asyncio." +"BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio." +"create_subprocess_exec`, and :func:`asyncio.create_subprocess_shell`." +msgstr "" +"У :mod:`asyncio` явна передача аргументу *loop* застаріла та буде видалена у " +"версії 3.10 для наступних: :func:`asyncio.sleep`, :func:`asyncio.gather`, :" +"func:`asyncio.shield`, :func:`asyncio.wait_for`, :func:`asyncio.wait`, :func:" +"`asyncio.as_completed`, :class:`asyncio.Task`, :class:`asyncio. Lock`, :" +"class:`asyncio.Event`, :class:`asyncio.Condition`, :class:`asyncio." +"Semaphore`, :class:`asyncio.BoundedSemaphore`, :class:`asyncio.Queue`, :func:" +"`asyncio.create_subprocess_exec` і :func:`asyncio.create_subprocess_shell`." + +msgid "" +"The explicit passing of coroutine objects to :func:`asyncio.wait` has been " +"deprecated and will be removed in version 3.11. (Contributed by Yury " +"Selivanov in :issue:`34790`.)" +msgstr "" +"Явне передавання об’єктів співпрограми до :func:`asyncio.wait` застаріло та " +"буде видалено у версії 3.11. (Надав Юрій Селіванов у :issue:`34790`.)" + +msgid "" +"The following functions and methods are deprecated in the :mod:`gettext` " +"module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:" +"`~gettext.lngettext` and :func:`~gettext.ldngettext`. They return encoded " +"bytes, and it's possible that you will get unexpected Unicode-related " +"exceptions if there are encoding problems with the translated strings. It's " +"much better to use alternatives which return Unicode strings in Python 3. " +"These functions have been broken for a long time." +msgstr "" +"Наступні функції та методи застаріли в модулі :mod:`gettext`: :func:" +"`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:`~gettext.lngettext` " +"і :func:`~gettext.ldngettext`. Вони повертають закодовані байти, і можливо, " +"ви отримаєте несподівані винятки, пов’язані з Unicode, якщо є проблеми з " +"кодуванням перекладених рядків. Набагато краще використовувати альтернативи, " +"які повертають рядки Unicode в Python 3. Ці функції давно не працюють." + +msgid "" +"Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext." +"NullTranslations.output_charset` and :meth:`~gettext.NullTranslations." +"set_output_charset`, and the *codeset* parameter of functions :func:" +"`~gettext.translation` and :func:`~gettext.install` are also deprecated, " +"since they are only used for the ``l*gettext()`` functions. (Contributed by " +"Serhiy Storchaka in :issue:`33710`.)" +msgstr "" +"Функція :func:`~gettext.bind_textdomain_codeset`, методи :meth:`~gettext." +"NullTranslations.output_charset` і :meth:`~gettext.NullTranslations." +"set_output_charset`, а також параметр *codeset* функцій :func:`~gettext ." +"translation` і :func:`~gettext.install` також застаріли, оскільки вони " +"використовуються лише для функцій ``l*gettext()``. (Надав Сергій Сторчака в :" +"issue:`33710`.)" + +msgid "" +"The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " +"has been deprecated. (Contributed by Dong-hee Na in :issue:`35283`.)" +msgstr "" +"Метод :meth:`~threading.Thread.isAlive()` для :class:`threading.Thread` " +"визнано застарілим. (Надав Dong-hee Na у :issue:`35283`.)" + +msgid "" +"Many builtin and extension functions that take integer arguments will now " +"emit a deprecation warning for :class:`~decimal.Decimal`\\ s, :class:" +"`~fractions.Fraction`\\ s and any other objects that can be converted to " +"integers only with a loss (e.g. that have the :meth:`~object.__int__` method " +"but do not have the :meth:`~object.__index__` method). In future version " +"they will be errors. (Contributed by Serhiy Storchaka in :issue:`36048`.)" +msgstr "" +"Багато вбудованих функцій і функцій розширення, які приймають цілі " +"аргументи, тепер видаватимуть попередження про застаріленість для :class:" +"`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s та будь-яких інших " +"об’єктів, які можна перетворити лише на цілі числа із втратою (наприклад, " +"які мають метод :meth:`~object.__int__`, але не мають методу :meth:`~object." +"__index__`). У наступній версії вони будуть помилками. (Надав Сергій " +"Сторчака в :issue:`36048`.)" + +msgid "Deprecated passing the following arguments as keyword arguments:" +msgstr "Застаріло передавати такі аргументи як аргументи ключового слова:" + +msgid "" +"*func* in :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" +"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." +"runcall`, :meth:`trace.Trace.runfunc` and :func:`curses.wrapper`." +msgstr "" +"*func* у :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" +"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb. Bdb." +"runcall`, :meth:`trace.Trace.runfunc` і :func:`curses.wrapper`." + +msgid "*function* in :meth:`unittest.TestCase.addCleanup`." +msgstr "*функція* в :meth:`unittest.TestCase.addCleanup`." + +msgid "" +"*fn* in the :meth:`~concurrent.futures.Executor.submit` method of :class:" +"`concurrent.futures.ThreadPoolExecutor` and :class:`concurrent.futures." +"ProcessPoolExecutor`." +msgstr "" +"*fn* у методі :meth:`~concurrent.futures.Executor.submit` :class:`concurrent." +"futures.ThreadPoolExecutor` і :class:`concurrent.futures." +"ProcessPoolExecutor`." + +msgid "" +"*callback* in :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." +"AsyncExitStack.callback` and :meth:`contextlib.AsyncExitStack." +"push_async_callback`." +msgstr "" +"*зворотний виклик* у :meth:`contextlib.ExitStack.callback`, :meth:" +"`contextlib.AsyncExitStack.callback` і :meth:`contextlib.AsyncExitStack." +"push_async_callback`." + +msgid "" +"*c* and *typeid* in the :meth:`~multiprocessing.managers.Server.create` " +"method of :class:`multiprocessing.managers.Server` and :class:" +"`multiprocessing.managers.SharedMemoryServer`." +msgstr "" +"*c* і *typeid* у методі :meth:`~multiprocessing.managers.Server.create` :" +"class:`multiprocessing.managers.Server` і :class:`multiprocessing.managers." +"SharedMemoryServer`." + +msgid "*obj* in :func:`weakref.finalize`." +msgstr "*obj* у :func:`weakref.finalize`." + +msgid "" +"In future releases of Python, they will be :ref:`positional-only `. (Contributed by Serhiy Storchaka in :issue:`36492`.)" +msgstr "" +"У майбутніх випусках Python вони будуть :ref:`позиційними лише `. (Надав Сергій Сторчака в :issue:`36492`.)" + +msgid "API and Feature Removals" +msgstr "Видалення API та функцій" + +msgid "The following features and APIs have been removed from Python 3.8:" +msgstr "З Python 3.8 видалено наступні функції та API:" + +msgid "" +"Starting with Python 3.3, importing ABCs from :mod:`collections` was " +"deprecated, and importing should be done from :mod:`collections.abc`. Being " +"able to import from collections was marked for removal in 3.8, but has been " +"delayed to 3.9. (See :issue:`36952`.)" +msgstr "" +"Починаючи з Python 3.3, імпорт азбуки з :mod:`collections` був застарілим, і " +"імпорт повинен здійснюватися з :mod:`collections.abc`. Можливість " +"імпортувати з колекцій було позначено для видалення у версії 3.8, але " +"відкладено до версії 3.9. (Див. :issue:`36952`.)" + +msgid "" +"The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " +"(Contributed by Victor Stinner in :issue:`35471`.)" +msgstr "" +"Модуль :mod:`macpath`, застарілий у Python 3.7, було видалено. (Надав Віктор " +"Стіннер у :issue:`35471`.)" + +msgid "" +"The function :func:`platform.popen` has been removed, after having been " +"deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " +"Victor Stinner in :issue:`35345`.)" +msgstr "" +"Функцію :func:`platform.popen` було видалено після того, як вона була " +"застарілою з Python 3.3: замість неї використовуйте :func:`os.popen`. (Надав " +"Віктор Стіннер у :issue:`35345`.)" + +msgid "" +"The function :func:`time.clock` has been removed, after having been " +"deprecated since Python 3.3: use :func:`time.perf_counter` or :func:`time." +"process_time` instead, depending on your requirements, to have well-defined " +"behavior. (Contributed by Matthias Bussonnier in :issue:`36895`.)" +msgstr "" +"Функцію :func:`time.clock` було видалено після того, як вона була застарілою " +"з Python 3.3: використовуйте замість неї :func:`time.perf_counter` або :func:" +"`time.process_time`, залежно від ваших вимог, щоб добре працювати - " +"визначена поведінка. (Надано Матіасом Бюссонньєром у :issue:`36895`.)" + +msgid "" +"The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to " +"help eliminate confusion as to what Python interpreter the ``pyvenv`` script " +"is tied to. (Contributed by Brett Cannon in :issue:`25427`.)" +msgstr "" +"Сценарій ``pyvenv`` було видалено на користь ``python3.8 -m venv``, щоб " +"допомогти усунути плутанину щодо того, до якого інтерпретатора Python " +"прив’язаний сценарій ``pyvenv``. (Надав Бретт Кеннон у :issue:`25427`.)" + +msgid "" +"``parse_qs``, ``parse_qsl``, and ``escape`` are removed from the :mod:`cgi` " +"module. They are deprecated in Python 3.2 or older. They should be imported " +"from the ``urllib.parse`` and ``html`` modules instead." +msgstr "" +"``parse_qs``, ``parse_qsl`` і ``escape`` видаляються з модуля :mod:`cgi`. " +"Вони застаріли в Python 3.2 або старіших версіях. Натомість їх слід " +"імпортувати з модулів ``urllib.parse`` і ``html``." + +msgid "" +"``filemode`` function is removed from the :mod:`tarfile` module. It is not " +"documented and deprecated since Python 3.3." +msgstr "" +"Функцію ``filemode`` видалено з модуля :mod:`tarfile`. Він не " +"задокументований і не підтримується, починаючи з Python 3.3." + +msgid "" +"The :class:`~xml.etree.ElementTree.XMLParser` constructor no longer accepts " +"the *html* argument. It never had an effect and was deprecated in Python " +"3.4. All other parameters are now :ref:`keyword-only `. (Contributed by Serhiy Storchaka in :issue:`29209`.)" +msgstr "" +"Конструктор :class:`~xml.etree.ElementTree.XMLParser` більше не приймає " +"аргумент *html*. Це ніколи не мало ефекту та було застарілим у Python 3.4. " +"Усі інші параметри тепер :ref:`лише для ключових слів `. (Надав Сергій Сторчака в :issue:`29209`.)" + +msgid "" +"Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." +"XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" +msgstr "" +"Видалено метод ``doctype()`` :class:`~xml.etree.ElementTree.XMLParser`. " +"(Надав Сергій Сторчака в :issue:`29209`.)" + +msgid "" +"\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" +"`36297`.)" +msgstr "" +"Кодек \"unicode_internal\" видалено. (Надано Інадою Наокі в :issue:`36297`.)" + +msgid "" +"The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not " +"exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" +msgstr "" +"Об’єкти ``Cache`` і ``Statement`` модуля :mod:`sqlite3` не доступні для " +"користувача. (Надав Авів Паливода в :issue:`30262`.)" + +msgid "" +"The ``bufsize`` keyword argument of :func:`fileinput.input` and :func:" +"`fileinput.FileInput` which was ignored and deprecated since Python 3.6 has " +"been removed. :issue:`36952` (Contributed by Matthias Bussonnier.)" +msgstr "" +"Аргумент ключового слова ``bufsize`` :func:`fileinput.input` і :func:" +"`fileinput.FileInput`, який ігнорувався та не підтримувався з Python 3.6, " +"було видалено. :issue:`36952` (Надав Матіас Бюссонньє.)" + +msgid "" +"The functions :func:`sys.set_coroutine_wrapper` and :func:`sys." +"get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" +"`36933` (Contributed by Matthias Bussonnier.)" +msgstr "" +"Функції :func:`sys.set_coroutine_wrapper` і :func:`sys." +"get_coroutine_wrapper`, які застаріли в Python 3.7, видалено; :issue:`36933` " +"(Надав Матіас Бюссонньє.)" + +msgid "Porting to Python 3.8" +msgstr "Перенесення на Python 3.8" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in Python behavior" +msgstr "Зміни в поведінці Python" + +msgid "" +"Yield expressions (both ``yield`` and ``yield from`` clauses) are now " +"disallowed in comprehensions and generator expressions (aside from the " +"iterable expression in the leftmost :keyword:`!for` clause). (Contributed by " +"Serhiy Storchaka in :issue:`10544`.)" +msgstr "" +"Вирази yield (як ``yield``, так і ``yield from`` пункти тепер заборонені у " +"виразах розуміння та генераторі (окрім ітераційного виразу в крайньому " +"лівому пункті :keyword:`!for`). (Надав Сергій Сторчака в :issue:`10544`.)" + +msgid "" +"The compiler now produces a :exc:`SyntaxWarning` when identity checks " +"(``is`` and ``is not``) are used with certain types of literals (e.g. " +"strings, numbers). These can often work by accident in CPython, but are not " +"guaranteed by the language spec. The warning advises users to use equality " +"tests (``==`` and ``!=``) instead. (Contributed by Serhiy Storchaka in :" +"issue:`34850`.)" +msgstr "" +"Тепер компілятор створює :exc:`SyntaxWarning`, коли перевірки ідентичності " +"(``is`` і ``is not``) використовуються з певними типами літералів " +"(наприклад, рядки, числа). Вони часто можуть працювати випадково в CPython, " +"але не гарантуються специфікацією мови. Застереження рекомендує користувачам " +"замість цього використовувати тести рівності (``==`` і ``!=``). (Надав " +"Сергій Сторчака в :issue:`34850`.)" + +msgid "" +"The CPython interpreter can swallow exceptions in some circumstances. In " +"Python 3.8 this happens in fewer cases. In particular, exceptions raised " +"when getting the attribute from the type dictionary are no longer ignored. " +"(Contributed by Serhiy Storchaka in :issue:`35459`.)" +msgstr "" +"Інтерпретатор CPython може ковтати винятки за деяких обставин. У Python 3.8 " +"це відбувається в меншій кількості випадків. Зокрема, винятки, викликані під " +"час отримання атрибута зі словника типів, більше не ігноруються. (Надав " +"Сергій Сторчака в :issue:`35459`.)" + +msgid "" +"Removed ``__str__`` implementations from builtin types :class:`bool`, :class:" +"`int`, :class:`float`, :class:`complex` and few classes from the standard " +"library. They now inherit ``__str__()`` from :class:`object`. As result, " +"defining the ``__repr__()`` method in the subclass of these classes will " +"affect their string representation. (Contributed by Serhiy Storchaka in :" +"issue:`36793`.)" +msgstr "" +"Видалено реалізації ``__str__`` із вбудованих типів :class:`bool`, :class:" +"`int`, :class:`float`, :class:`complex` і кількох класів зі стандартної " +"бібліотеки. Тепер вони успадковують ``__str__()`` від :class:`object`. Як " +"наслідок, визначення методу ``__repr__()`` у підкласі цих класів вплине на " +"їхнє представлення рядків. (Надав Сергій Сторчака в :issue:`36793`.)" + +msgid "" +"On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " +"is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " +"Python versions include the version number, so it is recommended to always " +"use ``sys.platform.startswith('aix')``. (Contributed by M. Felt in :issue:" +"`36588`.)" +msgstr "" +"В AIX :attr:`sys.platform` більше не містить основної версії. Це завжди " +"``'aix'`` замість ``'aix3''`` .. ``'aix7''``. Оскільки старіші версії Python " +"містять номер версії, тому рекомендується завжди використовувати ``sys." +"platform.startswith('aix')``. (Надав М. Фелт у :issue:`36588`.)" + +msgid "" +":c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now " +"terminate the current thread if called while the interpreter is finalizing, " +"making them consistent with :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`. If this behavior is " +"not desired, guard the call by checking :c:func:`_Py_IsFinalizing` or :c:" +"func:`sys.is_finalizing`. (Contributed by Joannah Nanjekye in :issue:" +"`36475`.)" +msgstr "" +":c:func:`PyEval_AcquireLock` і :c:func:`PyEval_AcquireThread` тепер " +"припиняють поточний потік, якщо викликаються під час завершення " +"інтерпретатора, що робить їх сумісними з :c:func:`PyEval_RestoreThread`, :c:" +"func:`Py_END_ALLOW_THREADS` і :c:func:`PyGILState_Ensure`. Якщо така " +"поведінка небажана, захистіть виклик, позначивши :c:func:`_Py_IsFinalizing` " +"або :c:func:`sys.is_finalizing`. (Надано Joannah Nanjekye у :issue:`36475`.)" + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +"The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows, " +"rather than the ANSI code page: see :pep:`529` for the rationale. The " +"function is no longer deprecated on Windows. (Contributed by Victor Stinner " +"in :issue:`37412`.)" +msgstr "" +"Функція :func:`os.getcwdb` тепер використовує кодування UTF-8 у Windows, а " +"не кодову сторінку ANSI: див. :pep:`529` для обґрунтування. Ця функція " +"більше не підтримується в Windows. (Надав Віктор Стіннер у :issue:`37412`.)" + +msgid "" +":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " +"for better performance. On Windows Subsystem for Linux and QEMU User " +"Emulation, the :class:`Popen` constructor using :func:`os.posix_spawn` no " +"longer raises an exception on errors like \"missing program\". Instead the " +"child process fails with a non-zero :attr:`~Popen.returncode`. (Contributed " +"by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" +msgstr "" +":class:`subprocess.Popen` тепер може використовувати :func:`os.posix_spawn` " +"у деяких випадках для кращої продуктивності. У підсистемі Windows для Linux " +"і емуляції користувача QEMU конструктор :class:`Popen`, що використовує :" +"func:`os.posix_spawn`, більше не створює виняток для таких помилок, як " +"\"відсутня програма\". Натомість дочірній процес завершується помилкою з " +"ненульовим :attr:`~Popen.returncode`. (Надано Джоанною Нанджекі та Віктором " +"Стіннером у :issue:`35537`.)" + +msgid "" +"The *preexec_fn* argument of * :class:`subprocess.Popen` is no longer " +"compatible with subinterpreters. The use of the parameter in a " +"subinterpreter now raises :exc:`RuntimeError`. (Contributed by Eric Snow in :" +"issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" +msgstr "" +"Аргумент *preexec_fn* * :class:`subprocess.Popen` більше не сумісний із " +"субінтерпретаторами. Використання параметра у субінтерпретаторі тепер " +"викликає :exc:`RuntimeError`. (Надано Еріком Сноу у :issue:`34651`, змінено " +"Крістіаном Хаймсом у :issue:`37951`.)" + +msgid "" +"The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " +"exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" +msgstr "" +"Метод :meth:`imap.IMAP4.logout` більше не ігнорує довільні винятки. (Надав " +"Віктор Стіннер у :issue:`36348`.)" + +msgid "" +"The :func:`statistics.mode` function no longer raises an exception when " +"given multimodal data. Instead, it returns the first mode encountered in " +"the input data. (Contributed by Raymond Hettinger in :issue:`35892`.)" +msgstr "" +"Функція :func:`statistics.mode` більше не створює виняток, коли їй надаються " +"мультимодальні дані. Натомість він повертає перший режим, який зустрічається " +"у вхідних даних. (Надав Реймонд Геттінгер у :issue:`35892`.)" + +msgid "" +"The :meth:`~tkinter.ttk.Treeview.selection` method of the :class:`tkinter." +"ttk.Treeview` class no longer takes arguments. Using it with arguments for " +"changing the selection was deprecated in Python 3.6. Use specialized " +"methods like :meth:`~tkinter.ttk.Treeview.selection_set` for changing the " +"selection. (Contributed by Serhiy Storchaka in :issue:`31508`.)" +msgstr "" +"Метод :meth:`~tkinter.ttk.Treeview.selection` класу :class:`tkinter.ttk." +"Treeview` більше не приймає аргументи. Його використання з аргументами для " +"зміни вибору було застарілим у Python 3.6. Використовуйте спеціалізовані " +"методи, такі як :meth:`~tkinter.ttk.Treeview.selection_set` для зміни " +"вибору. (Надав Сергій Сторчака в :issue:`31508`.)" + +msgid "" +"The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of :mod:" +"`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, now " +"preserve the attribute order specified by the user. (Contributed by Diego " +"Rojas and Raymond Hettinger in :issue:`34160`.)" +msgstr "" +"Методи :meth:`writexml`, :meth:`toxml` і :meth:`toprettyxml` :mod:`xml.dom." +"minidom` і метод :meth:`write` :mod:`xml. etree`, тепер збереже порядок " +"атрибутів, указаний користувачем. (Надано Дієго Рохасом і Раймондом " +"Геттінгером у :issue:`34160`.)" + +msgid "" +"A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-only. :func:" +"`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a database " +"if it does not exist. (Contributed by Serhiy Storchaka in :issue:`32749`.)" +msgstr "" +"База даних :mod:`dbm.dumb`, відкрита з прапорцями ``'r'`` тепер доступна " +"лише для читання. :func:`dbm.dumb.open` з прапорцями ``'r'`` і ``'w'`` " +"більше не створює базу даних, якщо вона не існує. (Надав Сергій Сторчака в :" +"issue:`32749`.)" + +msgid "" +"The ``doctype()`` method defined in a subclass of :class:`~xml.etree." +"ElementTree.XMLParser` will no longer be called and will emit a :exc:" +"`RuntimeWarning` instead of a :exc:`DeprecationWarning`. Define the :meth:" +"`doctype() ` method on a target " +"for handling an XML doctype declaration. (Contributed by Serhiy Storchaka " +"in :issue:`29209`.)" +msgstr "" +"Метод ``doctype()``, визначений у підкласі :class:`~xml.etree.ElementTree." +"XMLParser` більше не буде викликатися та видасть :exc:`RuntimeWarning` " +"замість :exc:`DeprecationWarning`. Визначте метод :meth:`doctype() ` на цільовому об’єкті для обробки XML-" +"декларації doctype. (Надав Сергій Сторчака в :issue:`29209`.)" + +msgid "" +"A :exc:`RuntimeError` is now raised when the custom metaclass doesn't " +"provide the ``__classcell__`` entry in the namespace passed to ``type." +"__new__``. A :exc:`DeprecationWarning` was emitted in Python 3.6--3.7. " +"(Contributed by Serhiy Storchaka in :issue:`23722`.)" +msgstr "" +"Помилка :exc:`RuntimeError` тепер виникає, коли спеціальний метаклас не " +"надає запис ``__classcell__`` у просторі імен, переданому в ``type." +"__new__``. :exc:`DeprecationWarning` було видано в Python 3.6--3.7. (Надав " +"Сергій Сторчака в :issue:`23722`.)" + +msgid "" +"The :class:`cProfile.Profile` class can now be used as a context manager. " +"(Contributed by Scott Sanderson in :issue:`29235`.)" +msgstr "" +"Клас :class:`cProfile.Profile` тепер можна використовувати як контекстний " +"менеджер. (Надав Скотт Сандерсон у :issue:`29235`.)" + +msgid "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-copy" +"\" syscalls (see :ref:`shutil-platform-dependent-efficient-copy-operations` " +"section)." +msgstr "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` і :func:`shutil.move` використовують спеціальну для " +"платформи \"швидку -copy\" системні виклики (див. розділ :ref:`shutil-" +"platform-dependent-efficient-copy-operations`)." + +msgid "" +":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " +"KiB to 1 MiB." +msgstr "" +":func:`shutil.copyfile` розмір буфера за замовчуванням у Windows змінено з " +"16 KiB на 1 MiB." + +msgid "" +"The ``PyGC_Head`` struct has changed completely. All code that touched the " +"struct member should be rewritten. (See :issue:`33597`.)" +msgstr "" +"Структура ``PyGC_Head`` повністю змінилася. Весь код, який торкався члена " +"структури, слід переписати. (Див. :issue:`33597`.)" + +msgid "" +"The :c:type:`PyInterpreterState` struct has been moved into the \"internal\" " +"header files (specifically Include/internal/pycore_pystate.h). An opaque " +"``PyInterpreterState`` is still available as part of the public API (and " +"stable ABI). The docs indicate that none of the struct's fields are public, " +"so we hope no one has been using them. However, if you do rely on one or " +"more of those private fields and have no alternative then please open a BPO " +"issue. We'll work on helping you adjust (possibly including adding accessor " +"functions to the public API). (See :issue:`35886`.)" +msgstr "" +"Структуру :c:type:`PyInterpreterState` було переміщено у \"внутрішні\" файли " +"заголовків (зокрема, Include/internal/pycore_pystate.h). Непрозорий " +"``PyInterpreterState`` все ще доступний як частина публічного API (і " +"стабільного ABI). У документах зазначено, що жодне з полів структури не є " +"відкритим, тому ми сподіваємось, що ніхто ними не користувався. Однак, якщо " +"ви покладаєтеся на одне або кілька з цих приватних полів і не маєте " +"альтернативи, будь ласка, відкрийте проблему BPO. Ми допоможемо вам " +"налаштувати (можливо, включаючи додавання функцій доступу до публічного " +"API). (Див. :issue:`35886`.)" + +msgid "" +"The :meth:`mmap.flush() ` method now returns ``None`` on " +"success and raises an exception on error under all platforms. Previously, " +"its behavior was platform-dependent: a nonzero value was returned on " +"success; zero was returned on error under Windows. A zero value was " +"returned on success; an exception was raised on error under Unix. " +"(Contributed by Berker Peksag in :issue:`2122`.)" +msgstr "" +"Метод :meth:`mmap.flush() ` тепер повертає ``None`` у разі " +"успіху та викликає виняток у разі помилки на всіх платформах. Раніше його " +"поведінка залежала від платформи: ненульове значення поверталося в разі " +"успіху; нуль було повернуто через помилку під Windows. У разі успіху було " +"повернуто нульове значення; виняток було викликано помилкою під Unix. " +"(Надано Berker Peksag у :issue:`2122`.)" + +msgid "" +":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " +"entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" +msgstr "" +"Модулі :mod:`xml.dom.minidom` і :mod:`xml.sax` більше не обробляють зовнішні " +"сутності за замовчуванням. (Надав Крістіан Хеймс у :issue:`17239`.)" + +msgid "" +"Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, :mod:" +"`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` (:exc:`dbm.dumb.error`, :" +"exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) instead of :exc:`KeyError`. " +"(Contributed by Xiang Zhang in :issue:`33106`.)" +msgstr "" +"Видалення ключа з доступної лише для читання бази даних :mod:`dbm` (:mod:" +"`dbm.dumb`, :mod:`dbm.gnu` або :mod:`dbm.ndbm`) викликає :attr:`error` (:exc:" +"`dbm.dumb.error`, :exc:`dbm.gnu.error` або :exc:`dbm.ndbm.error`) замість :" +"exc:`KeyError`. (Надав Xiang Zhang у :issue:`33106`.)" + +msgid "" +"Simplified AST for literals. All constants will be represented as :class:" +"`ast.Constant` instances. Instantiating old classes ``Num``, ``Str``, " +"``Bytes``, ``NameConstant`` and ``Ellipsis`` will return an instance of " +"``Constant``. (Contributed by Serhiy Storchaka in :issue:`32892`.)" +msgstr "" +"Спрощений AST для літералів. Усі константи будуть представлені як " +"екземпляри :class:`ast.Constant`. Створення екземплярів старих класів " +"``Num``, ``Str``, ``Bytes``, ``NameConstant`` і ``Ellipsis`` поверне " +"екземпляр ``Constant``. (Надав Сергій Сторчака в :issue:`32892`.)" + +msgid "" +"The function :func:`asyncio.wait_for` now correctly waits for cancellation " +"when using an instance of :class:`asyncio.Task`. Previously, upon reaching " +"*timeout*, it was cancelled and immediately returned. (Contributed by Elvis " +"Pranskevichus in :issue:`32751`.)" +msgstr "" +"Функція :func:`asyncio.wait_for` тепер правильно очікує на скасування під " +"час використання екземпляра :class:`asyncio.Task`. Раніше, після досягнення " +"*тайм-ауту*, він скасовувався та негайно повертався. (Надав Елвіс " +"Пранскявічус у :issue:`32751`.)" + +msgid "" +"The function :func:`asyncio.BaseTransport.get_extra_info` now returns a safe " +"to use socket object when 'socket' is passed to the *name* parameter. " +"(Contributed by Yury Selivanov in :issue:`37027`.)" +msgstr "" +"Функція :func:`asyncio.BaseTransport.get_extra_info` тепер повертає " +"безпечний для використання об’єкт socket, коли 'socket' передається в " +"параметр *name*. (Надав Юрій Селіванов у :issue:`37027`.)" + +msgid ":class:`asyncio.BufferedProtocol` has graduated to the stable API." +msgstr ":class:`asyncio.BufferedProtocol` перейшов на стабільний API." + +msgid "" +"DLL dependencies for extension modules and DLLs loaded with :mod:`ctypes` on " +"Windows are now resolved more securely. Only the system paths, the directory " +"containing the DLL or PYD file, and directories added with :func:`~os." +"add_dll_directory` are searched for load-time dependencies. Specifically, :" +"envvar:`PATH` and the current working directory are no longer used, and " +"modifications to these will no longer have any effect on normal DLL " +"resolution. If your application relies on these mechanisms, you should check " +"for :func:`~os.add_dll_directory` and if it exists, use it to add your DLLs " +"directory while loading your library. Note that Windows 7 users will need to " +"ensure that Windows Update KB2533623 has been installed (this is also " +"verified by the installer). (Contributed by Steve Dower in :issue:`36085`.)" +msgstr "" +"Залежності DLL для модулів розширення та DLL, завантажених за допомогою :mod:" +"`ctypes` у Windows, тепер вирішуються більш безпечно. На наявність " +"залежностей під час завантаження шукаються лише системні шляхи, каталог, що " +"містить файл DLL або PYD, і каталоги, додані за допомогою :func:`~os." +"add_dll_directory`. Зокрема, :envvar:`PATH` і поточний робочий каталог " +"більше не використовуються, і їх зміни більше не впливатимуть на нормальну " +"роздільну здатність DLL. Якщо ваша програма покладається на ці механізми, " +"вам слід перевірити :func:`~os.add_dll_directory` і, якщо вона існує, " +"використати її для додавання каталогу DLLs під час завантаження бібліотеки. " +"Зауважте, що користувачам Windows 7 потрібно буде переконатися, що Windows " +"Update KB2533623 інстальовано (це також перевіряє інсталятор). (Надав Стів " +"Дауер у :issue:`36085`.)" + +msgid "" +"The header files and functions related to pgen have been removed after its " +"replacement by a pure Python implementation. (Contributed by Pablo Galindo " +"in :issue:`36623`.)" +msgstr "" +"Файли заголовків і функції, пов’язані з pgen, були видалені після заміни на " +"чисту реалізацію Python. (Надав Пабло Галіндо в :issue:`36623`.)" + +msgid "" +":class:`types.CodeType` has a new parameter in the second position of the " +"constructor (*posonlyargcount*) to support positional-only arguments defined " +"in :pep:`570`. The first argument (*argcount*) now represents the total " +"number of positional arguments (including positional-only arguments). The " +"new ``replace()`` method of :class:`types.CodeType` can be used to make the " +"code future-proof." +msgstr "" +":class:`types.CodeType` має новий параметр у другій позиції конструктора " +"(*posonlyargcount*) для підтримки лише позиційних аргументів, визначених у :" +"pep:`570`. Перший аргумент (*argcount*) тепер представляє загальну кількість " +"позиційних аргументів (включаючи лише позиційні аргументи). Новий метод " +"``replace()`` :class:`types.CodeType` можна використовувати, щоб зробити код " +"готовим до майбутнього." + +msgid "" +"The parameter ``digestmod`` for :func:`hmac.new` no longer uses the MD5 " +"digest by default." +msgstr "" +"Параметр ``digestmod`` для :func:`hmac.new` більше не використовує дайджест " +"MD5 за замовчуванням." + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +"The :c:struct:`PyCompilerFlags` structure got a new *cf_feature_version* " +"field. It should be initialized to ``PY_MINOR_VERSION``. The field is " +"ignored by default, and is used if and only if ``PyCF_ONLY_AST`` flag is set " +"in *cf_flags*. (Contributed by Guido van Rossum in :issue:`35766`.)" +msgstr "" + +msgid "" +"The :c:func:`PyEval_ReInitThreads` function has been removed from the C API. " +"It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " +"instead. (Contributed by Victor Stinner in :issue:`36728`.)" +msgstr "" +"Функцію :c:func:`PyEval_ReInitThreads` видалено з C API. Його не слід " +"викликати явно: замість цього використовуйте :c:func:`PyOS_AfterFork_Child`. " +"(Надав Віктор Стіннер у :issue:`36728`.)" + +msgid "" +"On Unix, C extensions are no longer linked to libpython except on Android " +"and Cygwin. When Python is embedded, ``libpython`` must not be loaded with " +"``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using " +"``RTLD_LOCAL``, it was already not possible to load C extensions which were " +"not linked to ``libpython``, like C extensions of the standard library built " +"by the ``*shared*`` section of ``Modules/Setup``. (Contributed by Victor " +"Stinner in :issue:`21536`.)" +msgstr "" +"В Unix розширення C більше не пов’язані з libpython, за винятком Android і " +"Cygwin. Коли Python вбудовано, ``libpython`` має завантажуватися не з " +"``RTLD_LOCAL``, а ``RTLD_GLOBAL``. Раніше за допомогою ``RTLD_LOCAL`` було " +"неможливо завантажити розширення C, які не були пов’язані з ``libpython``, " +"як-от розширення C стандартної бібліотеки, створеної розділом ``*shared*`` " +"``Modules/Setup``. (Надав Віктор Стіннер у :issue:`21536`.)" + +msgid "" +"Use of ``#`` variants of formats in parsing or building value (e.g. :c:func:" +"`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" +"`PyObject_CallFunction`, etc.) without ``PY_SSIZE_T_CLEAN`` defined raises " +"``DeprecationWarning`` now. It will be removed in 3.10 or 4.0. Read :ref:" +"`arg-parsing` for detail. (Contributed by Inada Naoki in :issue:`36381`.)" +msgstr "" +"Використання варіантів форматів ``#`` під час аналізу чи побудови значення " +"(наприклад, :c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" +"`PyObject_CallFunction` тощо) без Визначений ``PY_SSIZE_T_CLEAN`` тепер " +"викликає ``DeprecationWarning``. Його буде видалено в 3.10 або 4.0. " +"Прочитайте :ref:`arg-parsing` для деталей. (Надано Інадою Наокі в :issue:" +"`36381`.)" + +msgid "" +"Instances of heap-allocated types (such as those created with :c:func:" +"`PyType_FromSpec`) hold a reference to their type object. Increasing the " +"reference count of these type objects has been moved from :c:func:" +"`PyType_GenericAlloc` to the more low-level functions, :c:func:" +"`PyObject_Init` and :c:func:`PyObject_INIT`. This makes types created " +"through :c:func:`PyType_FromSpec` behave like other classes in managed code." +msgstr "" +"Екземпляри типів, виділених у купі (наприклад, створених за допомогою :c:" +"func:`PyType_FromSpec`) містять посилання на свій об’єкт типу. Збільшення " +"кількості посилань на ці типи об’єктів було переміщено з :c:func:" +"`PyType_GenericAlloc` до функцій більш низького рівня, :c:func:" +"`PyObject_Init` і :c:func:`PyObject_INIT`. Це змушує типи, створені через :c:" +"func:`PyType_FromSpec`, поводитися як інші класи в керованому коді." + +msgid ":ref:`Statically allocated types ` are not affected." +msgstr ":ref:`Статично виділені типи ` не впливають." + +msgid "" +"For the vast majority of cases, there should be no side effect. However, " +"types that manually increase the reference count after allocating an " +"instance (perhaps to work around the bug) may now become immortal. To avoid " +"this, these classes need to call Py_DECREF on the type object during " +"instance deallocation." +msgstr "" +"У переважній більшості випадків побічних ефектів бути не повинно. Однак " +"типи, які вручну збільшують кількість посилань після виділення екземпляра " +"(можливо, щоб обійти помилку), тепер можуть стати безсмертними. Щоб уникнути " +"цього, ці класи повинні викликати Py_DECREF для об’єкта типу під час " +"звільнення примірника." + +msgid "" +"To correctly port these types into 3.8, please apply the following changes:" +msgstr "Щоб правильно перенести ці типи в 3.8, застосуйте такі зміни:" + +msgid "" +"Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " +"- if any. This may happen after calling :c:func:`PyObject_New`, :c:func:" +"`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar`, " +"or any other custom allocator that uses :c:func:`PyObject_Init` or :c:func:" +"`PyObject_INIT`." +msgstr "" +"Видаліть :c:macro:`Py_INCREF` на об'єкті типу після виділення екземпляра - " +"якщо такий є. Це може статися після виклику :c:func:`PyObject_New`, :c:func:" +"`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar` " +"або будь-якого іншого спеціального розподілювача, який використовує :c:func:" +"`PyObject_Init` або :c:func:`PyObject_INIT`." + +msgid "Example:" +msgstr "приклад:" + +msgid "" +"Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " +"decrease the type's reference count." +msgstr "" +"Переконайтеся, що всі спеціальні функції ``tp_dealloc`` типів, виділених у " +"купі, зменшують кількість посилань на тип." + +msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" +msgstr "(Надав Едді Елізондо в :issue:`35810`.)" + +msgid "" +"The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " +"macro now must be placed before the symbol name." +msgstr "" +"Для MSVC реалізовано макрос :c:macro:`Py_DEPRECATED()`. Тепер макрос " +"потрібно розмістити перед назвою символу." + +msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" +msgstr "(Надав Закері Шпітц у :issue:`33407`.)" + +msgid "" +"The interpreter does not pretend to support binary compatibility of " +"extension types across feature releases, anymore. A :c:type:`PyTypeObject` " +"exported by a third-party extension module is supposed to have all the slots " +"expected in the current Python version, including :c:member:`~PyTypeObject." +"tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE` is not checked anymore " +"before reading :c:member:`~PyTypeObject.tp_finalize`)." +msgstr "" +"Інтерпретатор більше не претендує на підтримку бінарної сумісності типів " +"розширень у випусках функцій. :c:type:`PyTypeObject`, експортований модулем " +"розширення третьої сторони, повинен мати всі слоти, очікувані в поточній " +"версії Python, включаючи :c:member:`~PyTypeObject.tp_finalize` (:const:" +"`Py_TPFLAGS_HAVE_FINALIZE` більше не перевіряється перед читанням :c:member:" +"`~PyTypeObject.tp_finalize`)." + +msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" +msgstr "(Надав Антуан Пітру в :issue:`32388`.)" + +msgid "" +"The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now " +"accept two additional ``int`` arguments *end_lineno* and *end_col_offset*." +msgstr "" +"Функції :c:func:`PyNode_AddChild` і :c:func:`PyParser_AddToken` тепер " +"приймають два додаткові аргументи ``int`` *end_lineno* і *end_col_offset*." + +msgid "" +"The :file:`libpython38.a` file to allow MinGW tools to link directly " +"against :file:`python38.dll` is no longer included in the regular Windows " +"distribution. If you require this file, it may be generated with the " +"``gendef`` and ``dlltool`` tools, which are part of the MinGW binutils " +"package:" +msgstr "" +"Файл :file:`libpython38.a`, який дозволяє інструментам MinGW зв’язуватися " +"безпосередньо з :file:`python38.dll`, більше не входить до звичайного " +"дистрибутива Windows. Якщо вам потрібен цей файл, його можна створити за " +"допомогою інструментів ``gendef`` і ``dlltool``, які є частиною пакету MinGW " +"binutils:" + +msgid "" +"The location of an installed :file:`pythonXY.dll` will depend on the " +"installation options and the version and language of Windows. See :ref:" +"`using-on-windows` for more information. The resulting library should be " +"placed in the same directory as :file:`pythonXY.lib`, which is generally " +"the :file:`libs` directory under your Python installation." +msgstr "" +"Розташування встановленого :file:`pythonXY.dll` залежатиме від параметрів " +"встановлення, версії та мови Windows. Перегляньте :ref:`using-on-windows` " +"для отримання додаткової інформації. Отриману бібліотеку слід розмістити в " +"тому самому каталозі, що й :file:`pythonXY.lib`, який зазвичай є каталогом :" +"file:`libs` у вашій установці Python." + +msgid "(Contributed by Steve Dower in :issue:`37351`.)" +msgstr "(Надав Стів Дауер у :issue:`37351`.)" + +msgid "CPython bytecode changes" +msgstr "Зміни байт-коду CPython" + +msgid "" +"The interpreter loop has been simplified by moving the logic of unrolling " +"the stack of blocks into the compiler. The compiler emits now explicit " +"instructions for adjusting the stack of values and calling the cleaning-up " +"code for :keyword:`break`, :keyword:`continue` and :keyword:`return`." +msgstr "" +"Цикл інтерпретатора було спрощено шляхом переміщення логіки розгортання " +"стека блоків у компілятор. Тепер компілятор видає чіткі інструкції для " +"налаштування стека значень і виклику коду очищення для :keyword:`break`, :" +"keyword:`continue` і :keyword:`return`." + +msgid "" +"Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:" +"`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes :opcode:" +"`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` and :opcode:" +"`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and :opcode:" +"`WITH_CLEANUP_START`." +msgstr "" +"Видалено коди операцій :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :" +"opcode:`SETUP_LOOP` і :opcode:`SETUP_EXCEPT`. Додано нові коди операцій: :" +"opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` і :opcode:" +"`POP_FINALLY`. Змінено поведінку :opcode:`END_FINALLY` і :opcode:" +"`WITH_CLEANUP_START`." + +msgid "" +"(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" +"`17611`.)" +msgstr "" +"(Надано Марком Шенноном, Антуаном Пітру та Сергієм Сторчакою в :issue:" +"`17611`.)" + +msgid "" +"Added new opcode :opcode:`END_ASYNC_FOR` for handling exceptions raised when " +"awaiting a next item in an :keyword:`async for` loop. (Contributed by Serhiy " +"Storchaka in :issue:`33041`.)" +msgstr "" +"Додано новий код операції :opcode:`END_ASYNC_FOR` для обробки винятків, які " +"виникають під час очікування наступного елемента в :keyword:`async for` " +"циклі. (Надав Сергій Сторчака в :issue:`33041`.)" + +msgid "" +"The :opcode:`MAP_ADD` now expects the value as the first element in the " +"stack and the key as the second element. This change was made so the key is " +"always evaluated before the value in dictionary comprehensions, as proposed " +"by :pep:`572`. (Contributed by Jörn Heissler in :issue:`35224`.)" +msgstr "" +":opcode:`MAP_ADD` тепер очікує значення як перший елемент у стеку та ключ як " +"другий елемент. Цю зміну було внесено, щоб ключ завжди оцінювався перед " +"значенням у словнику, як запропоновано :pep:`572`. (Надав Йорн Гайслер у :" +"issue:`35224`.)" + +msgid "Demos and Tools" +msgstr "Демонстрації та інструменти" + +msgid "" +"Added a benchmark script for timing various ways to access variables: " +"``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger " +"in :issue:`35884`.)" +msgstr "" +"Додано тестовий сценарій для визначення часу різними способами доступу до " +"змінних: ``Tools/scripts/var_access_benchmark.py``. (Надав Реймонд Геттінгер " +"у :issue:`35884`.)" + +msgid "Here's a summary of performance improvements since Python 3.3:" +msgstr "Ось підсумок покращень продуктивності з Python 3.3:" + +msgid "" +"The benchmarks were measured on an `Intel® Core™ i7-4960HQ processor " +"`_ running the macOS 64-bit " +"builds found at `python.org `_. " +"The benchmark script displays timings in nanoseconds." +msgstr "" +"Контрольні показники вимірювалися на процесорі `Intel® Core™ i7-4960HQ " +"`_ під керуванням 64-" +"розрядних збірок macOS, доступних на `python.org `_. Еталонний сценарій відображає таймінги в наносекундах." + +msgid "Notable changes in Python 3.8.1" +msgstr "Помітні зміни в Python 3.8.1" + +msgid "" +"Due to significant security concerns, the *reuse_address* parameter of :meth:" +"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " +"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " +"more details, see the documentation for ``loop.create_datagram_endpoint()``. " +"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" +"`37228`.)" +msgstr "" +"Через серйозні проблеми безпеки параметр *reuse_address* :meth:`asyncio.loop." +"create_datagram_endpoint` більше не підтримується. Це через поведінку опції " +"сокета ``SO_REUSEADDR`` в UDP. Для отримання додаткової інформації див. " +"документацію для ``loop.create_datagram_endpoint()``. (Надано Кайлом Стенлі, " +"Антуаном Пітру та Юрієм Селівановим у :issue:`37228`.)" + +msgid "Notable changes in Python 3.8.8" +msgstr "Помітні зміни в Python 3.8.8" + +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" +"Попередні версії Python дозволяли використовувати як ``;``, так і ``&`` як " +"роздільники параметрів запиту в :func:`urllib.parse.parse_qs` і :func:" +"`urllib.parse.parse_qsl`. З міркувань безпеки та для відповідності новим " +"рекомендаціям W3C це було змінено, щоб дозволити лише один роздільний ключ " +"із ``&`` за замовчуванням. Ця зміна також впливає на :func:`cgi.parse` і :" +"func:`cgi.parse_multipart`, оскільки вони використовують уражені функції " +"внутрішньо. Щоб дізнатися більше, перегляньте відповідну документацію. " +"(Надано Адамом Ґолдшмідтом, Сентилом Кумараном і Кеном Джином у :issue:" +"`42967`.)" + +msgid "Notable changes in Python 3.8.12" +msgstr "Помітні зміни в Python 3.8.12" + +msgid "" +"Starting with Python 3.8.12 the :mod:`ipaddress` module no longer accepts " +"any leading zeros in IPv4 address strings. Leading zeros are ambiguous and " +"interpreted as octal notation by some libraries. For example the legacy " +"function :func:`socket.inet_aton` treats leading zeros as octal notation. " +"glibc implementation of modern :func:`~socket.inet_pton` does not accept any " +"leading zeros." +msgstr "" +"Починаючи з Python 3.8.12, модуль :mod:`ipaddress` більше не приймає жодних " +"початкових нулів у рядках адрес IPv4. Початкові нулі є неоднозначними та " +"інтерпретуються деякими бібліотеками як вісімкове позначення. Наприклад, " +"застаріла функція :func:`socket.inet_aton` розглядає початкові нулі як " +"вісімкове позначення. glibc реалізація сучасного :func:`~socket.inet_pton` " +"не приймає жодних початкових нулів." + +msgid "" +"(Originally contributed by Christian Heimes in :issue:`36384`, and " +"backported to 3.8 by Achraf Merzouki.)" +msgstr "" +"(Спочатку надано Крістіаном Хеймсом у :issue:`36384`, а також перенесено до " +"3.8 Ахрафом Мерзукі.)" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po new file mode 100644 index 000000000..6f729a8be --- /dev/null +++ b/whatsnew/3.9.po @@ -0,0 +1,2754 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New In Python 3.9" +msgstr "Що нового в Python 3.9" + +msgid "Release" +msgstr "Реліз" + +msgid "|release|" +msgstr "|release|" + +msgid "Date" +msgstr "Дата" + +msgid "|today|" +msgstr "|today|" + +msgid "Editor" +msgstr "редактор" + +msgid "Łukasz Langa" +msgstr "Łukasz Langa" + +msgid "" +"This article explains the new features in Python 3.9, compared to 3.8. " +"Python 3.9 was released on October 5, 2020." +msgstr "" +"У цій статті пояснюється нові функції в Python 3.9 порівняно з 3.8. Python " +"3.9 було випущено 5 жовтня 2020 року." + +msgid "For full details, see the :ref:`changelog `." +msgstr "" +"Щоб отримати повну інформацію, перегляньте :ref:`журнал змін `." + +msgid ":pep:`596` - Python 3.9 Release Schedule" +msgstr ":pep:`596` - Графік випуску Python 3.9" + +msgid "Summary -- Release highlights" +msgstr "Підсумок – основні моменти випуску" + +msgid "New syntax features:" +msgstr "Нові функції синтаксису:" + +msgid ":pep:`584`, union operators added to ``dict``;" +msgstr ":pep:`584`, оператори об’єднання додано до ``dict``;" + +msgid ":pep:`585`, type hinting generics in standard collections;" +msgstr ":pep:`585`, генерики підказок типів у стандартних колекціях;" + +msgid ":pep:`614`, relaxed grammar restrictions on decorators." +msgstr ":pep:`614`, послаблені граматичні обмеження для декораторів." + +msgid "New built-in features:" +msgstr "Нові вбудовані функції:" + +msgid ":pep:`616`, string methods to remove prefixes and suffixes." +msgstr ":pep:`616`, рядкові методи для видалення префіксів і суфіксів." + +msgid "New features in the standard library:" +msgstr "Нові можливості стандартної бібліотеки:" + +msgid ":pep:`593`, flexible function and variable annotations;" +msgstr ":pep:`593`, гнучка функція та анотації змінних;" + +msgid "" +":func:`os.pidfd_open` added that allows process management without races and " +"signals." +msgstr "" +":func:`os.pidfd_open` додано, що дозволяє керувати процесом без гонок і " +"сигналів." + +msgid "Interpreter improvements:" +msgstr "Покращення перекладача:" + +msgid "" +":pep:`573`, fast access to module state from methods of C extension types;" +msgstr "" +":pep:`573`, швидкий доступ до стану модуля з методів типів розширення C;" + +msgid ":pep:`617`, CPython now uses a new parser based on PEG;" +msgstr ":pep:`617`, CPython тепер використовує новий аналізатор на основі PEG;" + +msgid "" +"a number of Python builtins (range, tuple, set, frozenset, list, dict) are " +"now sped up using :pep:`590` vectorcall;" +msgstr "" +"ряд вбудованих компонентів Python (діапазон, кортеж, набір, заморожений " +"набір, список, dict) тепер пришвидшено за допомогою :pep:`590` vectorcall;" + +msgid "garbage collection does not block on resurrected objects;" +msgstr "збір сміття не блокується на відроджених об'єктах;" + +msgid "" +"a number of Python modules (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" +"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" +"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:" +"`time`, :mod:`_weakref`) now use multiphase initialization as defined by PEP " +"489;" +msgstr "" +"декілька модулів Python (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" +"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" +"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:" +"`time`, :mod:`_weakref`) тепер використовує багатофазову ініціалізацію, як " +"визначено PEP 489;" + +msgid "" +"a number of standard library modules (:mod:`audioop`, :mod:`ast`, :mod:" +"`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :" +"mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) are now using the " +"stable ABI defined by PEP 384." +msgstr "" +"кілька стандартних бібліотечних модулів (:mod:`audioop`, :mod:`ast`, :mod:" +"`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:" +"`random`, :mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) тепер " +"використовують стабільний ABI, визначений PEP 384." + +msgid "New library modules:" +msgstr "Нові бібліотечні модулі:" + +msgid "" +":pep:`615`, the IANA Time Zone Database is now present in the standard " +"library in the :mod:`zoneinfo` module;" +msgstr "" +":pep:`615`, база даних часових поясів IANA тепер присутня в стандартній " +"бібліотеці в модулі :mod:`zoneinfo`;" + +msgid "" +"an implementation of a topological sort of a graph is now provided in the " +"new :mod:`graphlib` module." +msgstr "" +"реалізація топологічного сортування графа тепер доступна в новому модулі :" +"mod:`graphlib`." + +msgid "Release process changes:" +msgstr "Зміни в процесі випуску:" + +msgid ":pep:`602`, CPython adopts an annual release cycle." +msgstr ":pep:`602`, CPython використовує щорічний цикл випуску." + +msgid "You should check for DeprecationWarning in your code" +msgstr "Вам слід перевірити DeprecationWarning у вашому коді" + +msgid "" +"When Python 2.7 was still supported, a lot of functionality in Python 3 was " +"kept for backward compatibility with Python 2.7. With the end of Python 2 " +"support, these backward compatibility layers have been removed, or will be " +"removed soon. Most of them emitted a :exc:`DeprecationWarning` warning for " +"several years. For example, using ``collections.Mapping`` instead of " +"``collections.abc.Mapping`` emits a :exc:`DeprecationWarning` since Python " +"3.3, released in 2012." +msgstr "" +"Коли Python 2.7 ще підтримувався, багато функціональних можливостей Python 3 " +"було збережено для зворотної сумісності з Python 2.7. З припиненням " +"підтримки Python 2 ці рівні зворотної сумісності були видалені або будуть " +"видалені незабаром. Більшість із них видавали попередження :exc:" +"`DeprecationWarning` протягом кількох років. Наприклад, використання " +"``collections.Mapping`` замість ``collections.abc.Mapping`` видає :exc:" +"`DeprecationWarning`, починаючи з Python 3.3, випущеного в 2012 році." + +msgid "" +"Test your application with the :option:`-W` ``default`` command-line option " +"to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or " +"even with :option:`-W` ``error`` to treat them as errors. :ref:`Warnings " +"Filter ` can be used to ignore warnings from third-party " +"code." +msgstr "" +"Перевірте свою програму за допомогою параметра командного рядка :option:`-W` " +"``default``, щоб побачити :exc:`DeprecationWarning` і :exc:" +"`PendingDeprecationWarning`, або навіть за допомогою :option:`-W` ``error`` " +"розглядати їх як помилки. :ref:`Фільтр попереджень ` можна " +"використовувати для ігнорування попереджень від стороннього коду." + +msgid "" +"Python 3.9 is the last version providing those Python 2 backward " +"compatibility layers, to give more time to Python projects maintainers to " +"organize the removal of the Python 2 support and add support for Python 3.9." +msgstr "" +"Python 3.9 є останньою версією, яка забезпечує рівні зворотної сумісності " +"Python 2, щоб дати більше часу супроводжувачам проектів Python для " +"організації видалення підтримки Python 2 і додавання підтримки для Python " +"3.9." + +msgid "" +"Aliases to :ref:`Abstract Base Classes ` " +"in the :mod:`collections` module, like ``collections.Mapping`` alias to :" +"class:`collections.abc.Mapping`, are kept for one last release for backward " +"compatibility. They will be removed from Python 3.10." +msgstr "" +"Псевдоніми :ref:`Abstract Base Classes ` " +"в модулі :mod:`collections`, як-от псевдонім ``collections.Mapping`` для :" +"class:`collections.abc.Mapping`, зберігаються для останнього випуску для " +"повернення сумісність. Їх буде видалено з Python 3.10." + +msgid "" +"More generally, try to run your tests in the :ref:`Python Development Mode " +"` which helps to prepare your code to make it compatible with the " +"next Python version." +msgstr "" +"Загалом, спробуйте запустити свої тести в режимі :ref:`Python Development " +"Mode `, який допоможе підготувати ваш код до сумісності з наступною " +"версією Python." + +msgid "" +"Note: a number of pre-existing deprecations were removed in this version of " +"Python as well. Consult the :ref:`removed-in-python-39` section." +msgstr "" +"Примітка: у цій версії Python також було видалено низку існуючих застарілих " +"програм. Зверніться до розділу :ref:`removed-in-python-39`." + +msgid "New Features" +msgstr "Нові можливості" + +msgid "Dictionary Merge & Update Operators" +msgstr "Оператори злиття та оновлення словника" + +msgid "" +"Merge (``|``) and update (``|=``) operators have been added to the built-in :" +"class:`dict` class. Those complement the existing ``dict.update`` and " +"``{**d1, **d2}`` methods of merging dictionaries." +msgstr "" +"До вбудованого класу :class:`dict` додано оператори Merge (``|``) і Update " +"(``|=``). Вони доповнюють існуючі методи об’єднання словників ``dict." +"update`` і ``{**d1, **d2}``." + +msgid "Example::" +msgstr "Приклад::" + +msgid "" +"See :pep:`584` for a full description. (Contributed by Brandt Bucher in :" +"issue:`36144`.)" +msgstr "" +"Дивіться :pep:`584` для повного опису. (Надав Брандт Бухер у :issue:`36144`.)" + +msgid "New String Methods to Remove Prefixes and Suffixes" +msgstr "Нові рядкові методи для видалення префіксів і суфіксів" + +msgid "" +":meth:`str.removeprefix(prefix)` and :meth:`str." +"removesuffix(suffix)` have been added to easily remove an " +"unneeded prefix or a suffix from a string. Corresponding ``bytes``, " +"``bytearray``, and ``collections.UserString`` methods have also been added. " +"See :pep:`616` for a full description. (Contributed by Dennis Sweeney in :" +"issue:`39939`.)" +msgstr "" +"Додано :meth:`str.removeprefix(prefix) ` і :meth:`str." +"removesuffix(suffix) `, щоб легко видалити непотрібний " +"префікс або суфікс із рядка. Також додано відповідні методи ``bytes``, " +"``bytearray`` і ``collections.UserString``. Дивіться :pep:`616` для повного " +"опису. (Надав Денніс Суїні в :issue:`39939`.)" + +msgid "Type Hinting Generics in Standard Collections" +msgstr "Універсальні підказки типів у стандартних колекціях" + +msgid "" +"In type annotations you can now use built-in collection types such as " +"``list`` and ``dict`` as generic types instead of importing the " +"corresponding capitalized types (e.g. ``List`` or ``Dict``) from " +"``typing``. Some other types in the standard library are also now generic, " +"for example ``queue.Queue``." +msgstr "" +"В анотаціях типів тепер можна використовувати вбудовані типи колекцій, такі " +"як ``list`` і ``dict``, як загальні типи замість імпорту відповідних типів, " +"написаних великими літерами (наприклад, ``List`` або ``Dict``) із " +"``введення``. Деякі інші типи стандартної бібліотеки також тепер є " +"загальними, наприклад ``queue.Queue``." + +msgid "Example:" +msgstr "приклад:" + +msgid "" +"See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan " +"Smith, and Batuhan Taşkaya in :issue:`39481`.)" +msgstr "" +"Дивіться :pep:`585` для більш детальної інформації. (Надано Гвідо ван " +"Россумом, Ітаном Смітом і Батуханом Ташкаєю в :issue:`39481`.)" + +msgid "New Parser" +msgstr "Новий парсер" + +msgid "" +"Python 3.9 uses a new parser, based on `PEG `_ instead of `LL(1) `_. The new parser's performance is roughly comparable to " +"that of the old parser, but the PEG formalism is more flexible than LL(1) " +"when it comes to designing new language features. We'll start using this " +"flexibility in Python 3.10 and later." +msgstr "" +"Python 3.9 використовує новий аналізатор на основі `PEG `_ замість `LL(1) `_. Продуктивність нового синтаксичного " +"аналізатора приблизно порівнянна з продуктивністю старого парсера, але " +"формалізм PEG є більш гнучким, ніж LL(1), коли справа доходить до розробки " +"нових функцій мови. Ми почнемо використовувати цю гнучкість у Python 3.10 і " +"пізніших версіях." + +msgid "" +"The :mod:`ast` module uses the new parser and produces the same AST as the " +"old parser." +msgstr "" +"Модуль :mod:`ast` використовує новий аналізатор і створює той самий AST, що " +"й старий аналізатор." + +msgid "" +"In Python 3.10, the old parser will be deleted and so will all functionality " +"that depends on it (primarily the :mod:`parser` module, which has long been " +"deprecated). In Python 3.9 *only*, you can switch back to the LL(1) parser " +"using a command line switch (``-X oldparser``) or an environment variable " +"(``PYTHONOLDPARSER=1``)." +msgstr "" +"У Python 3.10 старий синтаксичний аналізатор буде видалено, а також усі " +"функціональні можливості, які від нього залежать (передусім модуль :mod:" +"`parser`, який уже давно застарів). Лише в Python 3.9 ви можете повернутися " +"до синтаксичного аналізатора LL(1) за допомогою параметра командного рядка " +"(``-X oldparser``) або змінної середовища (``PYTHONOLDPARSER=1``)." + +msgid "" +"See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo " +"Galindo and Lysandros Nikolaou in :issue:`40334`.)" +msgstr "" +"Дивіться :pep:`617` для більш детальної інформації. (Надано Гвідо ван " +"Россумом, Пабло Галіндо та Лісандросом Ніколау в :issue:`40334`.)" + +msgid "Other Language Changes" +msgstr "Інші зміни мови" + +msgid "" +":func:`__import__` now raises :exc:`ImportError` instead of :exc:" +"`ValueError`, which used to occur when a relative import went past its top-" +"level package. (Contributed by Ngalim Siregar in :issue:`37444`.)" +msgstr "" +":func:`__import__` тепер викликає :exc:`ImportError` замість :exc:" +"`ValueError`, який раніше траплявся, коли відносний імпорт проходив поза " +"пакетом верхнього рівня. (Надав Нгалім Сірегар у :issue:`37444`.)" + +msgid "" +"Python now gets the absolute path of the script filename specified on the " +"command line (ex: ``python3 script.py``): the ``__file__`` attribute of the :" +"mod:`__main__` module became an absolute path, rather than a relative path. " +"These paths now remain valid after the current directory is changed by :func:" +"`os.chdir`. As a side effect, the traceback also displays the absolute path " +"for :mod:`__main__` module frames in this case. (Contributed by Victor " +"Stinner in :issue:`20443`.)" +msgstr "" +"Тепер Python отримує абсолютний шлях до імені файлу сценарію, указаного в " +"командному рядку (наприклад: ``python3 script.py``): атрибут ``__file__`` " +"модуля :mod:`__main__` став абсолютним шляхом, а не ніж відносний шлях. " +"Тепер ці шляхи залишаються дійсними після того, як поточний каталог змінено :" +"func:`os.chdir`. Як побічний ефект, у цьому випадку трасування також " +"відображає абсолютний шлях для фреймів модуля :mod:`__main__`. (Надав Віктор " +"Стіннер у :issue:`20443`.)" + +msgid "" +"In the :ref:`Python Development Mode ` and in :ref:`debug build " +"`, the *encoding* and *errors* arguments are now checked for " +"string encoding and decoding operations. Examples: :func:`open`, :meth:`str." +"encode` and :meth:`bytes.decode`." +msgstr "" +"У режимі :ref:`Python Development Mode ` і в :ref:`debug build " +"`, аргументи *encoding* і *errors* тепер перевіряються на " +"наявність операцій кодування та декодування рядків. Приклади: :func:`open`, :" +"meth:`str.encode` і :meth:`bytes.decode`." + +msgid "" +"By default, for best performance, the *errors* argument is only checked at " +"the first encoding/decoding error and the *encoding* argument is sometimes " +"ignored for empty strings. (Contributed by Victor Stinner in :issue:`37388`.)" +msgstr "" +"За замовчуванням для найкращої продуктивності аргумент *errors* " +"перевіряється лише при першій помилці кодування/декодування, а аргумент " +"*encoding* іноді ігнорується для порожніх рядків. (Надав Віктор Стіннер у :" +"issue:`37388`.)" + +msgid "" +"``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string " +"for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", " +"s)``. There are similar changes for :class:`bytes` and :class:`bytearray` " +"objects. (Contributed by Serhiy Storchaka in :issue:`28029`.)" +msgstr "" +"``\"\".replace(\"\", s, n)`` тепер повертає ``s`` замість порожнього рядка " +"для всіх ненульових ``n``. Тепер це сумісно з ``\"\".replace(\"\", s)``. " +"Існують подібні зміни для об’єктів :class:`bytes` і :class:`bytearray`. " +"(Надав Сергій Сторчака в :issue:`28029`.)" + +msgid "" +"Any valid expression can now be used as a :term:`decorator`. Previously, " +"the grammar was much more restrictive. See :pep:`614` for details. " +"(Contributed by Brandt Bucher in :issue:`39702`.)" +msgstr "" +"Будь-який дійсний вираз тепер можна використовувати як :term:`decorator`. " +"Раніше граматика була набагато жорсткішою. Подробиці див. :pep:`614`. (Надав " +"Брандт Бухер у :issue:`39702`.)" + +msgid "" +"Improved help for the :mod:`typing` module. Docstrings are now shown for all " +"special forms and special generic aliases (like ``Union`` and ``List``). " +"Using :func:`help` with generic alias like ``List[int]`` will show the help " +"for the correspondent concrete type (``list`` in this case). (Contributed by " +"Serhiy Storchaka in :issue:`40257`.)" +msgstr "" +"Покращена довідка для модуля :mod:`typing`. Рядки документів тепер " +"відображаються для всіх спеціальних форм і спеціальних загальних псевдонімів " +"(наприклад, ``Union`` і ``List``). Використання :func:`help` із загальним " +"псевдонімом, таким як ``List[int]``, покаже довідку для відповідного " +"конкретного типу (``list`` у цьому випадку). (Надав Сергій Сторчака в :issue:" +"`40257`.)" + +msgid "" +"Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:" +"`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the actual " +"running status of the async generator. (Contributed by Yury Selivanov in :" +"issue:`30773`.)" +msgstr "" +"Паралельний запуск :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:`~agen." +"athrow` тепер заборонено, а ``ag_running`` тепер відображає фактичний статус " +"роботи асинхронний генератор. (Надав Юрій Селіванов у :issue:`30773`.)" + +msgid "" +"Unexpected errors in calling the ``__iter__`` method are no longer masked by " +"``TypeError`` in the :keyword:`in` operator and functions :func:`~operator." +"contains`, :func:`~operator.indexOf` and :func:`~operator.countOf` of the :" +"mod:`operator` module. (Contributed by Serhiy Storchaka in :issue:`40824`.)" +msgstr "" +"Неочікувані помилки під час виклику методу ``__iter__`` більше не маскуються " +"``TypeError`` в операторі :keyword:`in` і функціях :func:`~operator." +"contains`, :func:`~operator.indexOf` і :func:`~operator.countOf` модуля :mod:" +"`operator`. (Надав Сергій Сторчака в :issue:`40824`.)" + +msgid "" +"Unparenthesized lambda expressions can no longer be the expression part in " +"an ``if`` clause in comprehensions and generator expressions. See :issue:" +"`41848` and :issue:`43755` for details." +msgstr "" +"Лямбда-вирази без круглих дужок більше не можуть бути частиною виразу в " +"реченні ``if`` у виразах розуміння та генераторі. Дивіться :issue:`41848` і :" +"issue:`43755` для отримання додаткової інформації." + +msgid "New Modules" +msgstr "Нові модулі" + +msgid "zoneinfo" +msgstr "зонаінфо" + +msgid "" +"The :mod:`zoneinfo` module brings support for the IANA time zone database to " +"the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete :class:" +"`datetime.tzinfo` implementation backed by the system's time zone data." +msgstr "" +"Модуль :mod:`zoneinfo` забезпечує підтримку бази даних часових поясів IANA " +"до стандартної бібліотеки. Він додає :class:`zoneinfo.ZoneInfo`, конкретну " +"реалізацію :class:`datetime.tzinfo`, яка підтримується даними про часовий " +"пояс системи." + +msgid "" +"As a fall-back source of data for platforms that don't ship the IANA " +"database, the |tzdata|_ module was released as a first-party package -- " +"distributed via PyPI and maintained by the CPython core team." +msgstr "" +"Як резервне джерело даних для платформ, які не постачають базу даних IANA, " +"модуль |tzdata|_ було випущено як пакет першої сторони, який поширюється " +"через PyPI та підтримується основною командою CPython." + +msgid "" +":pep:`615` -- Support for the IANA Time Zone Database in the Standard Library" +msgstr "" +":pep:`615` -- Підтримка бази даних часових поясів IANA в стандартній " +"бібліотеці" + +msgid "PEP written and implemented by Paul Ganssle" +msgstr "PEP написаний і реалізований Полом Ганссле" + +msgid "graphlib" +msgstr "graphlib" + +msgid "" +"A new module, :mod:`graphlib`, was added that contains the :class:`graphlib." +"TopologicalSorter` class to offer functionality to perform topological " +"sorting of graphs. (Contributed by Pablo Galindo, Tim Peters and Larry " +"Hastings in :issue:`17005`.)" +msgstr "" +"Було додано новий модуль :mod:`graphlib`, який містить клас :class:`graphlib." +"TopologicalSorter`, який пропонує функції для виконання топологічного " +"сортування графів. (Надано Пабло Галіндо, Тімом Пітерсом і Ларрі Гастінгсом " +"у :issue:`17005`.)" + +msgid "Improved Modules" +msgstr "Покращені модулі" + +msgid "ast" +msgstr "аст" + +msgid "" +"Added the *indent* option to :func:`~ast.dump` which allows it to produce a " +"multiline indented output. (Contributed by Serhiy Storchaka in :issue:" +"`37995`.)" +msgstr "" +"Додано опцію *indent* до :func:`~ast.dump`, яка дозволяє створювати " +"багаторядковий вивід із відступом. (Надав Сергій Сторчака в :issue:`37995`.)" + +msgid "" +"Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be " +"used to unparse an :class:`ast.AST` object and produce a string with code " +"that would produce an equivalent :class:`ast.AST` object when parsed. " +"(Contributed by Pablo Galindo and Batuhan Taskaya in :issue:`38870`.)" +msgstr "" +"Додано :func:`ast.unparse` як функцію в модулі :mod:`ast`, яку можна " +"використовувати для розбору об’єкта :class:`ast.AST` і створення рядка з " +"кодом, який створить еквівалентний :class:`ast.AST` об'єкт під час аналізу. " +"(Надано Пабло Галіндо та Батуханом Таською в :issue:`38870`.)" + +msgid "" +"Added docstrings to AST nodes that contains the ASDL signature used to " +"construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)" +msgstr "" +"До вузлів AST додано рядки документів, які містять підпис ASDL, використаний " +"для створення цього вузла. (Надано Batuhan Taskaya в :issue:`39638`.)" + +msgid "asyncio" +msgstr "asyncio" + +msgid "" +"Due to significant security concerns, the *reuse_address* parameter of :meth:" +"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " +"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " +"more details, see the documentation for ``loop.create_datagram_endpoint()``. " +"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" +"`37228`.)" +msgstr "" +"Через серйозні проблеми безпеки параметр *reuse_address* :meth:`asyncio.loop." +"create_datagram_endpoint` більше не підтримується. Це через поведінку опції " +"сокета ``SO_REUSEADDR`` в UDP. Для отримання додаткової інформації див. " +"документацію для ``loop.create_datagram_endpoint()``. (Надано Кайлом Стенлі, " +"Антуаном Пітру та Юрієм Селівановим у :issue:`37228`.)" + +msgid "" +"Added a new :term:`coroutine` :meth:`~asyncio.loop." +"shutdown_default_executor` that schedules a shutdown for the default " +"executor that waits on the :class:`~concurrent.futures.ThreadPoolExecutor` " +"to finish closing. Also, :func:`asyncio.run` has been updated to use the " +"new :term:`coroutine`. (Contributed by Kyle Stanley in :issue:`34037`.)" +msgstr "" +"Додано новий :term:`coroutine` :meth:`~asyncio.loop." +"shutdown_default_executor`, який планує завершення роботи для виконавця за " +"замовчуванням, який очікує завершення закриття :class:`~concurrent.futures." +"ThreadPoolExecutor`. Крім того, :func:`asyncio.run` було оновлено, щоб " +"використовувати нову :term:`coroutine`. (Надав Кайл Стенлі в :issue:`34037`.)" + +msgid "" +"Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher " +"implementation that polls process file descriptors. (:issue:`38692`)" +msgstr "" +"Додано :class:`asyncio.PidfdChildWatcher`, реалізацію дочірнього " +"спостерігача для Linux, яка опитує дескриптори файлів процесу. (:issue:" +"`38692`)" + +msgid "" +"Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used " +"for running IO-bound functions in a separate thread to avoid blocking the " +"event loop, and essentially works as a high-level version of :meth:`~asyncio." +"loop.run_in_executor` that can directly take keyword arguments. (Contributed " +"by Kyle Stanley and Yury Selivanov in :issue:`32309`.)" +msgstr "" +"Додано нову :term:`coroutine` :func:`asyncio.to_thread`. Він в основному " +"використовується для запуску функцій, пов’язаних із введенням-виведенням, в " +"окремому потоці, щоб уникнути блокування циклу подій, і, по суті, працює як " +"високорівнева версія :meth:`~asyncio.loop.run_in_executor`, яка може " +"безпосередньо приймати ключові аргументи. (Надано Кайлом Стенлі та Юрієм " +"Селівановим у :issue:`32309`.)" + +msgid "" +"When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now " +"wait until the cancellation is complete also in the case when *timeout* is " +"<= 0, like it does with positive timeouts. (Contributed by Elvis " +"Pranskevichus in :issue:`32751`.)" +msgstr "" +"Під час скасування завдання через тайм-аут :meth:`asyncio.wait_for` тепер " +"чекатиме до завершення скасування також у випадку, коли *timeout* <= 0, як " +"це відбувається з позитивними тайм-аутами. (Надав Елвіс Пранскявічус у :" +"issue:`32751`.)" + +msgid "" +":mod:`asyncio` now raises :exc:`TyperError` when calling incompatible " +"methods with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael " +"in :issue:`37404`.)" +msgstr "" +":mod:`asyncio` тепер викликає :exc:`TyperError` під час виклику несумісних " +"методів із сокетом :class:`ssl.SSLSocket`. (Надав Ідо Майкл у :issue:" +"`37404`.)" + +msgid "compileall" +msgstr "compileall" + +msgid "" +"Added new possibility to use hardlinks for duplicated ``.pyc`` files: " +"*hardlink_dupes* parameter and --hardlink-dupes command line option. " +"(Contributed by Lumír 'Frenzy' Balhar in :issue:`40495`.)" +msgstr "" +"Додано нову можливість використовувати жорсткі посилання для дубльованих " +"файлів ``.pyc``: параметр *hardlink_dupes* і параметр командного рядка --" +"hardlink-dupes. (Надав Lumír 'Frenzy' Balhar у :issue:`40495`.)" + +msgid "" +"Added new options for path manipulation in resulting ``.pyc`` files: " +"*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command " +"line options. Added the possibility to specify the option for an " +"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar in :" +"issue:`38112`.)" +msgstr "" +"Додано нові параметри для маніпулювання шляхом у кінцевих файлах ``.pyc``: " +"параметри *stripdir*, *prependdir*, *limit_sl_dest* і параметри командного " +"рядка -s, -p, -e. Додана можливість багаторазово вказувати опцію для рівня " +"оптимізації. (Надав Lumír 'Frenzy' Balhar у :issue:`38112`.)" + +msgid "concurrent.futures" +msgstr "concurrent.futures" + +msgid "" +"Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor." +"shutdown` that cancels all pending futures which have not started running, " +"instead of waiting for them to complete before shutting down the executor. " +"(Contributed by Kyle Stanley in :issue:`39349`.)" +msgstr "" +"Додано новий параметр *cancel_futures* до :meth:`concurrent.futures.Executor." +"shutdown`, який скасовує всі незавершені ф’ючерси, які ще не почали " +"виконуватися, замість того, щоб чекати їх завершення перед вимкненням " +"виконавця. (Надав Кайл Стенлі в :issue:`39349`.)" + +msgid "" +"Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` " +"and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves " +"compatibility with subinterpreters and predictability in their shutdown " +"processes. (Contributed by Kyle Stanley in :issue:`39812`.)" +msgstr "" +"Видалено потоки демона з :class:`~concurrent.futures.ThreadPoolExecutor` і :" +"class:`~concurrent.futures.ProcessPoolExecutor`. Це покращує сумісність із " +"субінтерпретаторами та передбачуваність процесів їх завершення. (Надав Кайл " +"Стенлі в :issue:`39812`.)" + +msgid "" +"Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned " +"on demand, only when there are no available idle workers to reuse. This " +"optimizes startup overhead and reduces the amount of lost CPU time to idle " +"workers. (Contributed by Kyle Stanley in :issue:`39207`.)" +msgstr "" +"Воркери в :class:`~concurrent.futures.ProcessPoolExecutor` тепер створюються " +"на вимогу, лише коли немає доступних неактивних робочих елементів для " +"повторного використання. Це оптимізує накладні витрати на запуск і зменшує " +"кількість втраченого процесорного часу для простою працівників. (Надав Кайл " +"Стенлі в :issue:`39207`.)" + +msgid "curses" +msgstr "прокльони" + +msgid "" +"Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:" +"`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed " +"by Anthony Sottile in :issue:`38312`.)" +msgstr "" +"Додано функції :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :" +"func:`curses.get_tabsize` і :func:`curses.set_tabsize`. (Надав Ентоні " +"Соттіле в :issue:`38312`.)" + +msgid "datetime" +msgstr "дата, час" + +msgid "" +"The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:" +"`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now " +"returns a :func:`~collections.namedtuple` instead of a :class:`tuple`. " +"(Contributed by Dong-hee Na in :issue:`24416`.)" +msgstr "" +":meth:`~datetime.date.isocalendar()` методів :class:`datetime.date` і :meth:" +"`~datetime.datetime.isocalendar()` :class:`datetime.datetime` тепер " +"повертає :func:`~collections.namedtuple` замість :class:`tuple`. (Надав Dong-" +"hee Na у :issue:`24416`.)" + +msgid "distutils" +msgstr "distutils" + +msgid "" +"The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash " +"digests. It skips MD5 on platforms that block MD5 digest. (Contributed by " +"Christian Heimes in :issue:`40698`.)" +msgstr "" +"Команда :command:`upload` тепер створює хеш-дайджести SHA2-256 і " +"Blake2b-256. Він пропускає MD5 на платформах, які блокують дайджест MD5. " +"(Надав Крістіан Хеймс у :issue:`40698`.)" + +msgid "fcntl" +msgstr "fcntl" + +msgid "" +"Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :" +"data:`~fcntl.F_OFD_SETLKW`. (Contributed by Dong-hee Na in :issue:`38602`.)" +msgstr "" +"Додано константи :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` і :" +"data:`~fcntl.F_OFD_SETLKW`. (Надав Dong-hee Na у :issue:`38602`.)" + +msgid "ftplib" +msgstr "ftplib" + +msgid "" +":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" +":class:`~ftplib.FTP` і :class:`~ftplib.FTP_TLS` тепер викликають :class:" +"`ValueError`, якщо час очікування для їх конструктора дорівнює нулю, щоб " +"запобігти створенню неблокуючого сокета. (Надав Dong-hee Na у :issue:" +"`39259`.)" + +msgid "gc" +msgstr "gc" + +msgid "" +"When the garbage collector makes a collection in which some objects " +"resurrect (they are reachable from outside the isolated cycles after the " +"finalizers have been executed), do not block the collection of all objects " +"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters in :" +"issue:`38379`.)" +msgstr "" +"Коли збирач сміття створює колекцію, у якій деякі об’єкти відроджуються " +"(вони доступні поза ізольованими циклами після виконання фіналізаторів), не " +"блокуйте колекцію всіх об’єктів, які все ще недоступні. (Надано Пабло " +"Галіндо та Тімом Пітерсом у :issue:`38379`.)" + +msgid "" +"Added a new function :func:`gc.is_finalized` to check if an object has been " +"finalized by the garbage collector. (Contributed by Pablo Galindo in :issue:" +"`39322`.)" +msgstr "" +"Додано нову функцію :func:`gc.is_finalized`, щоб перевірити, чи завершив " +"об’єкт збирач сміття. (Надав Пабло Галіндо в :issue:`39322`.)" + +msgid "hashlib" +msgstr "хешліб" + +msgid "" +"The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL " +"when available. (Contributed by Christian Heimes in :issue:`37630`.)" +msgstr "" +"Модуль :mod:`hashlib` тепер може використовувати хеші SHA3 і SHAKE XOF з " +"OpenSSL, якщо вони доступні. (Надав Крістіан Хеймс у :issue:`37630`.)" + +msgid "" +"Builtin hash modules can now be disabled with ``./configure --without-" +"builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --" +"with-builtin-hashlib-hashes=sha3,blake2`` to force use of OpenSSL based " +"implementation. (Contributed by Christian Heimes in :issue:`40479`)" +msgstr "" +"Вбудовані хеш-модулі тепер можна вимкнути за допомогою ``./configure --" +"without-builtin-hashlib-hashes`` або вибірково ввімкнути за допомогою, " +"наприклад, ``./configure --with-builtin-hashlib-hashes=sha3,blake2``, щоб " +"примусово використовувати реалізацію на основі OpenSSL. (Надав Крістіан " +"Хеймс у :issue:`40479`)" + +msgid "http" +msgstr "http" + +msgid "" +"HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 " +"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Dong-hee " +"Na in :issue:`39509` and Ross Rhodes in :issue:`39507`.)" +msgstr "" +"Коди статусу HTTP ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` і ``425 " +"TOO_EARLY`` додаються до :class:`http.HTTPStatus`. (Надано Dong-hee Na у :" +"issue:`39509` та Росс Роудс у :issue:`39507`.)" + +msgid "IDLE and idlelib" +msgstr "IDLE і idlelib" + +msgid "" +"Added option to toggle cursor blink off. (Contributed by Zackery Spytz in :" +"issue:`4603`.)" +msgstr "" +"Додана опція для вимкнення блимання курсору. (Надав Закері Шпітц у :issue:" +"`4603`.)" + +msgid "" +"Escape key now closes IDLE completion windows. (Contributed by Johnny " +"Najera in :issue:`38944`.)" +msgstr "" +"Клавіша Escape тепер закриває вікна завершення IDLE. (Надав Джонні Наджера " +"в :issue:`38944`.)" + +msgid "" +"Added keywords to module name completion list. (Contributed by Terry J. " +"Reedy in :issue:`37765`.)" +msgstr "" +"Додано ключові слова до списку завершення імен модуля. (Надано Террі Дж. " +"Ріді в :issue:`37765`.)" + +msgid "New in 3.9 maintenance releases" +msgstr "Нове у випусках обслуговування 3.9" + +msgid "" +"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " +"hooks were previously ignored. (Contributed by Ken Hilton in :issue:" +"`43008`.)" +msgstr "" +"Зробити IDLE викликом :func:`sys.excepthook` (якщо запускається без '-n'). " +"Хуки користувача раніше ігнорувалися. (Надав Кен Хілтон у :issue:`43008`.)" + +msgid "The changes above have been backported to 3.8 maintenance releases." +msgstr "Зазначені вище зміни було перенесено до випусків обслуговування 3.8." + +msgid "" +"Rearrange the settings dialog. Split the General tab into Windows and Shell/" +"Ed tabs. Move help sources, which extend the Help menu, to the Extensions " +"tab. Make space for new options and shorten the dialog. The latter makes " +"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :" +"issue:`40468`.) Move the indent space setting from the Font tab to the new " +"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:" +"`33962`.)" +msgstr "" +"Перевпорядкування діалогового вікна налаштувань. Розділіть вкладку Загальні " +"на вкладки Windows і Shell/Ed. Перемістіть джерела довідки, які розширюють " +"меню \"Довідка\", на вкладку \"Розширення\". Звільніть місце для нових " +"параметрів і скоротіть діалогове вікно. Останнє робить діалог краще " +"адаптованим до маленьких екранів. (Надано Террі Джаном Ріді в :issue:" +"`40468`.) Перемістіть налаштування відступу з вкладки \"Шрифт\" на нову " +"вкладку Windows. (Надано Марком Розманом і Террі Джен Ріді в :issue:`33962`.)" + +msgid "" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" +msgstr "" + +msgid "imaplib" +msgstr "імапліб" + +msgid "" +":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional " +"*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4." +"open` method now has an optional *timeout* parameter with this change. The " +"overridden methods of :class:`~imaplib.IMAP4_SSL` and :class:`~imaplib." +"IMAP4_stream` were applied to this change. (Contributed by Dong-hee Na in :" +"issue:`38615`.)" +msgstr "" +":class:`~imaplib.IMAP4` і :class:`~imaplib.IMAP4_SSL` тепер мають додатковий " +"параметр *timeout* для своїх конструкторів. Крім того, завдяки цій зміні " +"метод :meth:`~imaplib.IMAP4.open` тепер має додатковий параметр *timeout*. " +"До цієї зміни було застосовано перевизначені методи :class:`~imaplib." +"IMAP4_SSL` і :class:`~imaplib.IMAP4_stream`. (Надав Dong-hee Na у :issue:" +"`38615`.)" + +msgid "" +":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " +"frees server's resources associated with the selected mailbox and returns " +"the server to the authenticated state. This command performs the same " +"actions as :meth:`imaplib.IMAP4.close`, except that no messages are " +"permanently removed from the currently selected mailbox. (Contributed by " +"Dong-hee Na in :issue:`40375`.)" +msgstr "" +":meth:`imaplib.IMAP4.unselect` додано. :meth:`imaplib.IMAP4.unselect` " +"звільняє ресурси сервера, пов’язані з вибраною поштовою скринькою, і " +"повертає сервер до автентифікованого стану. Ця команда виконує ті самі дії, " +"що й :meth:`imaplib.IMAP4.close`, за винятком того, що повідомлення не " +"видаляються назавжди з поточної вибраної поштової скриньки. (Надав Dong-hee " +"Na у :issue:`40375`.)" + +msgid "importlib" +msgstr "importlib" + +msgid "" +"To improve consistency with import statements, :func:`importlib.util." +"resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for " +"invalid relative import attempts. (Contributed by Ngalim Siregar in :issue:" +"`37444`.)" +msgstr "" +"Щоб покращити узгодженість із операторами імпорту, :func:`importlib.util." +"resolve_name` тепер викликає :exc:`ImportError` замість :exc:`ValueError` " +"для недійсних відносних спроб імпорту. (Надав Нгалім Сірегар у :issue:" +"`37444`.)" + +msgid "" +"Import loaders which publish immutable module objects can now publish " +"immutable packages in addition to individual modules. (Contributed by Dino " +"Viehland in :issue:`39336`.)" +msgstr "" +"Завантажувачі імпорту, які публікують незмінні об’єкти модулів, тепер можуть " +"публікувати незмінні пакети на додаток до окремих модулів. (Надав Діно " +"Віланд у :issue:`39336`.)" + +msgid "" +"Added :func:`importlib.resources.files` function with support for " +"subdirectories in package data, matching backport in ``importlib_resources`` " +"version 1.5. (Contributed by Jason R. Coombs in :issue:`39791`.)" +msgstr "" +"Додано функцію :func:`importlib.resources.files` із підтримкою підкаталогів " +"у даних пакетів, що відповідає бекпорту в ``importlib_resources`` версії " +"1.5. (Надав Джейсон Р. Кумбс у :issue:`39791`.)" + +msgid "" +"Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1." +msgstr "Оновлено ``importlib.metadata`` з ``importlib_metadata`` версії 1.6.1." + +msgid "inspect" +msgstr "оглядати" + +msgid "" +":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " +"regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:" +"`39775`.)" +msgstr "" +":attr:`inspect.BoundArguments.arguments` змінено з ``OrderedDict`` на " +"звичайний dict. (Надано Інадою Наокі в :issue:`36350` і :issue:`39775`.)" + +msgid "ipaddress" +msgstr "IP-адреса" + +msgid "" +":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " +"suffix ``%``)." +msgstr "" +":mod:`ipaddress` тепер підтримує IPv6 Scoped Addresses (адреса IPv6 із " +"суфіксом ``% ``)." + +msgid "" +"Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If " +"present, scope zone ID is available through the :attr:`~ipaddress." +"IPv6Address.scope_id` attribute. (Contributed by Oleksandr Pavliuk in :issue:" +"`34788`.)" +msgstr "" +"Адреси IPv6 із областю дії можна проаналізувати за допомогою :class:" +"`ipaddress.IPv6Address`. Якщо присутній, ідентифікатор зони дії доступний " +"через атрибут :attr:`~ipaddress.IPv6Address.scope_id`. (Надав Олександр " +"Павлюк у :issue:`34788`.)" + +msgid "" +"Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " +"leading zeros in IPv4 address strings. (Contributed by Christian Heimes in :" +"issue:`36384`)." +msgstr "" +"Починаючи з Python 3.9.5, модуль :mod:`ipaddress` більше не приймає жодних " +"початкових нулів у рядках адрес IPv4. (Надав Крістіан Хеймс у :issue:" +"`36384`)." + +msgid "math" +msgstr "математика" + +msgid "" +"Expanded the :func:`math.gcd` function to handle multiple arguments. " +"Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " +"in :issue:`39648`.)" +msgstr "" +"Розширено функцію :func:`math.gcd` для обробки кількох аргументів. Раніше " +"він підтримував лише два аргументи. (Надав Сергій Сторчака в :issue:`39648`.)" + +msgid "" +"Added :func:`math.lcm`: return the least common multiple of specified " +"arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " +"Storchaka in :issue:`39479` and :issue:`39648`.)" +msgstr "" +"Додано :func:`math.lcm`: повертає найменше спільне кратне вказаних " +"аргументів. (Надано Марком Дікінсоном, Анантакрішнаном і Сергієм Сторчакою " +"в :issue:`39479` і :issue:`39648`.)" + +msgid "" +"Added :func:`math.nextafter`: return the next floating-point value after *x* " +"towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" +msgstr "" +"Додано :func:`math.nextafter`: повертає наступне значення з плаваючою комою " +"після *x* до *y*. (Надав Віктор Стіннер у :issue:`39288`.)" + +msgid "" +"Added :func:`math.ulp`: return the value of the least significant bit of a " +"float. (Contributed by Victor Stinner in :issue:`39310`.)" +msgstr "" +"Додано :func:`math.ulp`: повертає значення молодшого біта числа з плаваючою " +"точкою. (Надав Віктор Стіннер у :issue:`39310`.)" + +msgid "multiprocessing" +msgstr "багатопроцесорність" + +msgid "" +"The :class:`multiprocessing.SimpleQueue` class has a new :meth:" +"`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. " +"(Contributed by Victor Stinner in :issue:`30966`.)" +msgstr "" +"Клас :class:`multiprocessing.SimpleQueue` має новий метод :meth:" +"`~multiprocessing.SimpleQueue.close` для явного закриття черги. (Надав " +"Віктор Стіннер у :issue:`30966`.)" + +msgid "nntplib" +msgstr "nntplib" + +msgid "" +":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" +":class:`~nntplib.NNTP` і :class:`~nntplib.NNTP_SSL` тепер викликають :class:" +"`ValueError`, якщо заданий тайм-аут для їхнього конструктора дорівнює нулю, " +"щоб запобігти створенню неблокуючого сокета. (Надав Dong-hee Na у :issue:" +"`39259`.)" + +msgid "os" +msgstr "ос" + +msgid "" +"Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:" +"`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)" +msgstr "" +"Додано :data:`~os.CLD_KILLED` і :data:`~os.CLD_STOPPED` для :attr:`si_code`. " +"(Надав Dong-hee Na у :issue:`38493`.)" + +msgid "" +"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:" +"`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors." +msgstr "" +"Розкрито специфічні для Linux :func:`os.pidfd_open` (:issue:`38692`) і :data:" +"`os.P_PIDFD` (:issue:`38713`) для керування процесами за допомогою " +"дескрипторів файлів." + +msgid "" +"The :func:`os.unsetenv` function is now also available on Windows. " +"(Contributed by Victor Stinner in :issue:`39413`.)" +msgstr "" +"Функція :func:`os.unsetenv` тепер також доступна в Windows. (Надав Віктор " +"Стіннер у :issue:`39413`.)" + +msgid "" +"The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " +"available. (Contributed by Victor Stinner in :issue:`39395`.)" +msgstr "" +"Функції :func:`os.putenv` і :func:`os.unsetenv` тепер завжди доступні. " +"(Надав Віктор Стіннер у :issue:`39395`.)" + +msgid "" +"Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " +"an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" +msgstr "" +"Додано функцію :func:`os.waitstatus_to_exitcode`: перетворює стан очікування " +"на код виходу. (Надав Віктор Стіннер у :issue:`40094`.)" + +msgid "pathlib" +msgstr "pathlib" + +msgid "" +"Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os." +"readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" +msgstr "" +"Додано :meth:`pathlib.Path.readlink()`, який діє подібно до :func:`os." +"readlink`. (Надав Гіртс Фолкманіс у :issue:`30618`)" + +msgid "pdb" +msgstr "pdb" + +msgid "" +"On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " +"Hopper and Dan Lidral-Porter in :issue:`20523`.)" +msgstr "" +"У Windows тепер :class:`~pdb.Pdb` підтримує ``~/.pdbrc``. (Надано Тімом " +"Хоппером і Деном Лідралом-Портером у :issue:`20523`.)" + +msgid "poplib" +msgstr "попліб" + +msgid "" +":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" +":class:`~poplib.POP3` і :class:`~poplib.POP3_SSL` тепер викликають :class:" +"`ValueError`, якщо час очікування для їх конструктора дорівнює нулю, щоб " +"запобігти створенню неблокуючого сокета. (Надав Dong-hee Na у :issue:" +"`39259`.)" + +msgid "pprint" +msgstr "pprint" + +msgid "" +":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " +"(Contributed by Carl Bordum Hansen in :issue:`37376`.)" +msgstr "" +":mod:`pprint` тепер може красиво друкувати :class:`types.SimpleNamespace`. " +"(Надав Карл Бордум Хансен у :issue:`37376`.)" + +msgid "pydoc" +msgstr "pydoc" + +msgid "" +"The documentation string is now shown not only for class, function, method " +"etc, but for any object that has its own ``__doc__`` attribute. (Contributed " +"by Serhiy Storchaka in :issue:`40257`.)" +msgstr "" +"Рядок документації тепер відображається не лише для класу, функції, методу " +"тощо, але й для будь-якого об’єкта, який має власний атрибут ``__doc__``. " +"(Надав Сергій Сторчака в :issue:`40257`.)" + +msgid "random" +msgstr "випадковий" + +msgid "" +"Added a new :attr:`random.Random.randbytes` method: generate random bytes. " +"(Contributed by Victor Stinner in :issue:`40286`.)" +msgstr "" +"Додано новий метод :attr:`random.Random.randbytes`: генерувати випадкові " +"байти. (Надав Віктор Стіннер у :issue:`40286`.)" + +msgid "signal" +msgstr "сигнал" + +msgid "" +"Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to " +"signals to a process using a file descriptor instead of a pid. (:issue:" +"`38712`)" +msgstr "" +"Розкритий специфічний для Linux :func:`signal.pidfd_send_signal` для " +"надсилання сигналів до процесу за допомогою файлового дескриптора замість " +"pid. (:issue:`38712`)" + +msgid "smtplib" +msgstr "smtplib" + +msgid "" +":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:" +"`ValueError` if the given timeout for their constructor is zero to prevent " +"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" +"`39259`.)" +msgstr "" +":class:`~smtplib.SMTP` і :class:`~smtplib.SMTP_SSL` тепер викликають :class:" +"`ValueError`, якщо заданий тайм-аут для їхнього конструктора дорівнює нулю, " +"щоб запобігти створенню неблокуючого сокета. (Надав Dong-hee Na у :issue:" +"`39259`.)" + +msgid "" +":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. " +"(Contributed by Dong-hee Na in :issue:`39329`.)" +msgstr "" +":class:`~smtplib.LMTP` конструктор тепер має додатковий параметр *timeout*. " +"(Надав Dong-hee Na у :issue:`39329`.)" + +msgid "socket" +msgstr "гніздо" + +msgid "" +"The :mod:`socket` module now exports the :data:`~socket." +"CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by " +"Stefan Tatschner and Zackery Spytz in :issue:`25780`.)" +msgstr "" +"Модуль :mod:`socket` тепер експортує константу :data:`~socket." +"CAN_RAW_JOIN_FILTERS` у Linux 4.1 і новіших версіях. (Надано Стефаном " +"Татшнером і Закері Шпітцом у :issue:`25780`.)" + +msgid "" +"The socket module now supports the :data:`~socket.CAN_J1939` protocol on " +"platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" +msgstr "" +"Модуль сокета тепер підтримує протокол :data:`~socket.CAN_J1939` на " +"платформах, які його підтримують. (Надав Карл Дінг у :issue:`40291`.)" + +msgid "" +"The socket module now has the :func:`socket.send_fds` and :func:`socket." +"recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya Okano and " +"Victor Stinner in :issue:`28724`.)" +msgstr "" +"Модуль сокета тепер має функції :func:`socket.send_fds` і :func:`socket." +"recv_fds`. (Надано Joannah Nanjekye, Shinya Okano та Victor Stinner у :issue:" +"`28724`.)" + +msgid "time" +msgstr "час" + +msgid "" +"On AIX, :func:`~time.thread_time` is now implemented with " +"``thread_cputime()`` which has nanosecond resolution, rather than " +"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 " +"milliseconds. (Contributed by Batuhan Taskaya in :issue:`40192`)" +msgstr "" + +msgid "sys" +msgstr "система" + +msgid "" +"Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific " +"library directory. It is used to build the path of standard library and the " +"paths of installed extension modules. It is equal to ``\"lib\"`` on most " +"platforms. On Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit " +"platforms. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " +"and Victor Stinner in :issue:`1294959`.)" +msgstr "" +"Додано новий атрибут :attr:`sys.platlibdir`: ім’я каталогу бібліотеки для " +"певної платформи. Використовується для побудови шляху стандартної бібліотеки " +"та шляхів встановлених модулів розширення. На більшості платформ він " +"дорівнює ``\"lib\"``. У Fedora та SuSE він дорівнює ``\"lib64\"`` на 64-" +"розрядних платформах. (Надано Яном Матєйком, Матєєм Чеплем, Харалампосом " +"Стратакісом і Віктором Стіннером у :issue:`1294959`.)" + +msgid "" +"Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now " +"``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " +"Seipp in :issue:`13601`.)" +msgstr "" +"Раніше :attr:`sys.stderr` був блочно буферизований, коли не був " +"інтерактивним. Тепер ``stderr`` за замовчуванням завжди буферизується " +"рядком. (Надав Jendrik Seipp у :issue:`13601`.)" + +msgid "tracemalloc" +msgstr "tracemalloc" + +msgid "" +"Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory " +"blocks to the current size, to measure the peak of specific pieces of code. " +"(Contributed by Huon Wilson in :issue:`40630`.)" +msgstr "" +"Додано :func:`tracemalloc.reset_peak` для встановлення максимального розміру " +"відстежуваних блоків пам’яті на поточний розмір, щоб виміряти пік певних " +"фрагментів коду. (Надав Хуон Вілсон у :issue:`40630`.)" + +msgid "typing" +msgstr "введення тексту" + +msgid "" +":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " +"types with context-specific metadata and new ``include_extras`` parameter " +"to :func:`typing.get_type_hints` to access the metadata at runtime. " +"(Contributed by Till Varoquaux and Konstantin Kashin.)" +msgstr "" +":pep:`593` представив тип :data:`typing.Annotated`, щоб прикрасити існуючі " +"типи контекстно-залежними метаданими та новий параметр ``include_extras`` " +"для :func:`typing.get_type_hints` для доступу до метаданих під час " +"виконання. (Надано Тіллем Варокво та Костянтином Кашиним.)" + +msgid "unicodedata" +msgstr "unicodedata" + +msgid "" +"The Unicode database has been updated to version 13.0.0. (:issue:`39926`)." +msgstr "Базу даних Unicode оновлено до версії 13.0.0. (:issue:`39926`)." + +msgid "venv" +msgstr "venv" + +msgid "" +"The activation scripts provided by :mod:`venv` now all specify their prompt " +"customization consistently by always using the value specified by " +"``__VENV_PROMPT__``. Previously some scripts unconditionally used " +"``__VENV_PROMPT__``, others only if it happened to be set (which was the " +"default case), and one used ``__VENV_NAME__`` instead. (Contributed by Brett " +"Cannon in :issue:`37663`.)" +msgstr "" +"Усі сценарії активації, надані :mod:`venv`, тепер узгоджено вказують " +"налаштування підказок, завжди використовуючи значення, визначене " +"``__VENV_PROMPT__``. Раніше деякі сценарії беззастережно використовували " +"``__VENV_PROMPT__``, інші, лише якщо його було встановлено (що було випадком " +"за замовчуванням), а один замість цього використовував ``__VENV_NAME__``. " +"(Надано Бреттом Кенноном у :issue:`37663`.)" + +msgid "xml" +msgstr "xml" + +msgid "" +"White space characters within attributes are now preserved when serializing :" +"mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " +"\"\\n\". This is the result of discussion about how to interpret section " +"2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)" +msgstr "" +"Пробіли в атрибутах тепер зберігаються під час серіалізації :mod:`xml.etree." +"ElementTree` у файл XML. EOLN більше не нормалізуються до \"\\n\". Це " +"результат обговорення того, як інтерпретувати розділ 2.11 специфікації XML. " +"(Надано Mefistotelis у :issue:`39011`.)" + +msgid "Optimizations" +msgstr "Оптимізації" + +msgid "" +"Optimized the idiom for assignment a temporary variable in comprehensions. " +"Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment " +"``y = expr``. For example:" +msgstr "" +"Оптимізовано ідіому для призначення тимчасової змінної в розумінні. Тепер " +"``для y в [expr]`` в розуміннях так само швидко, як просте присвоєння ``y = " +"expr``. Наприклад:" + +msgid "sums = [s for s in [0] for x in data for s in [s + x]]" +msgstr "суми = [s для s у [0] для x у даних для s у [s + x]]" + +msgid "" +"Unlike the ``:=`` operator this idiom does not leak a variable to the outer " +"scope." +msgstr "" +"На відміну від оператора ``:=``, ця ідіома не пропускає змінну до зовнішньої " +"області." + +msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" +msgstr "(Надав Сергій Сторчака в :issue:`32856`.)" + +msgid "" +"Optimized signal handling in multithreaded applications. If a thread " +"different than the main thread gets a signal, the bytecode evaluation loop " +"is no longer interrupted at each bytecode instruction to check for pending " +"signals which cannot be handled. Only the main thread of the main " +"interpreter can handle signals." +msgstr "" +"Оптимізована обробка сигналів у багатопоточних програмах. Якщо потік, " +"відмінний від основного, отримує сигнал, цикл оцінки байт-коду більше не " +"переривається при кожній інструкції байт-коду, щоб перевірити наявність " +"незавершених сигналів, які не можуть бути оброблені. Тільки основний потік " +"головного інтерпретатора може обробляти сигнали." + +msgid "" +"Previously, the bytecode evaluation loop was interrupted at each instruction " +"until the main thread handles signals. (Contributed by Victor Stinner in :" +"issue:`40010`.)" +msgstr "" +"Раніше цикл оцінки байт-коду переривався на кожній інструкції, доки основний " +"потік не обробить сигнали. (Надав Віктор Стіннер у :issue:`40010`.)" + +msgid "" +"Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " +"(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor " +"Stinner in :issue:`38061`.)" +msgstr "" +"Оптимізовано модуль :mod:`subprocess` у FreeBSD за допомогою " +"``closefrom()``. (Надано Едом Масте, Конрадом Майєром, Кайлом Евансом, " +"Кубілаєм Коцаком і Віктором Стіннером у :issue:`38061`.)" + +msgid "" +":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " +"into :c:expr:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" +msgstr "" + +msgid "" +"A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :" +"class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :" +"pep:`590` vectorcall protocol. (Contributed by Dong-hee Na, Mark Shannon, " +"Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)" +msgstr "" +"Низка вбудованих модулів Python (:class:`range`, :class:`tuple`, :class:" +"`set`, :class:`frozenset`, :class:`list`, :class:`dict`) тепер прискорюється " +"за допомогою протоколу vectorcall :pep:`590`. (Надано Dong-hee Na, Mark " +"Shannon, Jeroen Demeyer та Petr Viktorin у :issue:`37207`.)" + +msgid "" +"Optimized :func:`~set.difference_update` for the case when the other set is " +"much larger than the base set. (Suggested by Evgeny Kapun with code " +"contributed by Michele Orrù in :issue:`8425`.)" +msgstr "" +"Оптимізовано :func:`~set.difference_update` для випадку, коли інший набір " +"набагато більший за базовий набір. (Запропоновано Євгеном Капуном із кодом, " +"наданим Мікеле Орру в :issue:`8425`.)" + +msgid "" +"Python's small object allocator (``obmalloc.c``) now allows (no more than) " +"one empty arena to remain available for immediate reuse, without returning " +"it to the OS. This prevents thrashing in simple loops where an arena could " +"be created and destroyed anew on each iteration. (Contributed by Tim Peters " +"in :issue:`37257`.)" +msgstr "" +"Розподіл малих об’єктів Python (``obmalloc.c``) тепер дозволяє (не більше) " +"одній порожній арені залишатися доступною для негайного повторного " +"використання без повернення її в ОС. Це запобігає трішу в простих циклах, де " +"арена може бути створена та знищена заново на кожній ітерації. (Надав Тім " +"Пітерс у :issue:`37257`.)" + +msgid "" +":term:`floor division` of float operation now has a better performance. Also " +"the message of :exc:`ZeroDivisionError` for this operation is updated. " +"(Contributed by Dong-hee Na in :issue:`39434`.)" +msgstr "" +":term:`floor division` операції float тепер має кращу продуктивність. Також " +"оновлено повідомлення :exc:`ZeroDivisionError` для цієї операції. (Надав " +"Dong-hee Na у :issue:`39434`.)" + +msgid "" +"Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% " +"faster. (Contributed by Inada Naoki in :issue:`37348`.)" +msgstr "" +"Декодування коротких рядків ASCII за допомогою кодеків UTF-8 і ascii тепер " +"приблизно на 15% швидше. (Надано Інадою Наокі в :issue:`37348`.)" + +msgid "" +"Here's a summary of performance improvements from Python 3.4 through Python " +"3.9:" +msgstr "Ось підсумок покращень продуктивності від Python 3.4 до Python 3.9:" + +msgid "" +"These results were generated from the variable access benchmark script at: " +"``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " +"timings in nanoseconds. The benchmarks were measured on an `Intel® Core™ " +"i7-4960HQ processor `_ running the macOS 64-bit builds found at `python.org `_." +msgstr "" +"Ці результати були згенеровані зі сценарію тестування доступу до змінних за " +"адресою: ``Tools/scripts/var_access_benchmark.py``. Еталонний сценарій " +"відображає таймінги в наносекундах. Контрольні показники вимірювалися на " +"процесорі `Intel® Core™ i7-4960HQ `_ під керуванням 64-розрядних збірок macOS, доступних на `python.org " +"`_." + +msgid "Deprecated" +msgstr "Застаріле" + +msgid "" +"The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " +"(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:" +"`39586`.)" +msgstr "" +"Команда distutils ``bdist_msi`` тепер застаріла, замість неї використовуйте " +"``bdist_wheel`` (пакети колеса). (Надав Хуго ван Кеменаде в :issue:`39586`.)" + +msgid "" +"Currently :func:`math.factorial` accepts :class:`float` instances with non-" +"negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " +"non-integral and negative floats. It is now deprecated. In future Python " +"versions it will raise a :exc:`TypeError` for all floats. (Contributed by " +"Serhiy Storchaka in :issue:`37315`.)" +msgstr "" +"Наразі :func:`math.factorial` приймає екземпляри :class:`float` із " +"невід’ємними цілими значеннями (наприклад, ``5.0``). Він викликає помилку :" +"exc:`ValueError` для нецілісних і від’ємних чисел з плаваючою точкою. Зараз " +"це застаріле. У майбутніх версіях Python він викличе :exc:`TypeError` для " +"всіх плаваючих значень. (Надав Сергій Сторчака в :issue:`37315`.)" + +msgid "" +"The :mod:`parser` and :mod:`symbol` modules are deprecated and will be " +"removed in future versions of Python. For the majority of use cases, users " +"can leverage the Abstract Syntax Tree (AST) generation and compilation " +"stage, using the :mod:`ast` module." +msgstr "" +"Модулі :mod:`parser` і :mod:`symbol` застаріли та будуть видалені в " +"майбутніх версіях Python. Для більшості випадків використання користувачі " +"можуть використовувати етап генерації та компіляції абстрактного " +"синтаксичного дерева (AST) за допомогою модуля :mod:`ast`." + +msgid "" +"The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:" +"func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" +"`PyParser_SimpleParseFileFlags` and :c:func:`PyNode_Compile` are deprecated " +"and will be removed in Python 3.10 together with the old parser." +msgstr "" +"Функції Public C API :c:func:`PyParser_SimpleParseStringFlags`, :c:func:" +"`PyParser_SimpleParseStringFlagsFilename`, :c:func:" +"`PyParser_SimpleParseFileFlags` і :c:func:`PyNode_Compile` застаріли та " +"будуть видалені разом у Python 3.10 зі старим парсером." + +msgid "" +"Using :data:`NotImplemented` in a boolean context has been deprecated, as it " +"is almost exclusively the result of incorrect rich comparator " +"implementations. It will be made a :exc:`TypeError` in a future version of " +"Python. (Contributed by Josh Rosenberg in :issue:`35712`.)" +msgstr "" +"Використання :data:`NotImplemented` у логічному контексті застаріло, " +"оскільки це майже виключно результат неправильних реалізацій багатого " +"компаратора. У майбутній версії Python це буде зроблено як :exc:`TypeError`. " +"(Надав Джош Розенберг у :issue:`35712`.)" + +msgid "" +"The :mod:`random` module currently accepts any hashable type as a possible " +"seed value. Unfortunately, some of those types are not guaranteed to have a " +"deterministic hash value. After Python 3.9, the module will restrict its " +"seeds to :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:" +"`bytes`, and :class:`bytearray`." +msgstr "" +"Модуль :mod:`random` наразі приймає будь-який хешований тип як можливе " +"початкове значення. На жаль, деякі з цих типів не гарантовано матимуть " +"детерміноване хеш-значення. Після Python 3.9 модуль обмежуватиме початкові " +"значення до :const:`None`, :class:`int`, :class:`float`, :class:`str`, :" +"class:`bytes` і :class:`bytearray`." + +msgid "" +"Opening the :class:`~gzip.GzipFile` file for writing without specifying the " +"*mode* argument is deprecated. In future Python versions it will always be " +"opened for reading by default. Specify the *mode* argument for opening it " +"for writing and silencing a warning. (Contributed by Serhiy Storchaka in :" +"issue:`28286`.)" +msgstr "" +"Відкриття файлу :class:`~gzip.GzipFile` для запису без вказівки аргументу " +"*mode* застаріло. У наступних версіях Python він завжди буде відкритий для " +"читання за умовчанням. Укажіть аргумент *mode*, щоб відкрити його для запису " +"та вимкнення попередження. (Надав Сергій Сторчака в :issue:`28286`.)" + +msgid "" +"Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour " +"of the ``splitlist()`` method which has more consistent and predicable " +"behavior. (Contributed by Serhiy Storchaka in :issue:`38371`.)" +msgstr "" +"Застарів метод ``split()`` :class:`_tkinter.TkappType` на користь методу " +"``splitlist()``, який має більш узгоджену та передбачувану поведінку. (Надав " +"Сергій Сторчака в :issue:`38371`.)" + +msgid "" +"The explicit passing of coroutine objects to :func:`asyncio.wait` has been " +"deprecated and will be removed in version 3.11. (Contributed by Yury " +"Selivanov and Kyle Stanley in :issue:`34790`.)" +msgstr "" +"Явне передавання об’єктів співпрограми до :func:`asyncio.wait` застаріло та " +"буде видалено у версії 3.11. (Надано Юрієм Селівановим і Кайлом Стенлі в :" +"issue:`34790`.)" + +msgid "" +"binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module " +"and the following :mod:`binascii` functions are now deprecated:" +msgstr "" +"Стандарти binhex4 і hexbin4 тепер застаріли. Модуль :mod:`binhex` і такі " +"функції :mod:`binascii` тепер застаріли:" + +msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" +msgstr ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" + +msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" +msgstr ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" + +msgid "(Contributed by Victor Stinner in :issue:`39353`.)" +msgstr "(Надав Віктор Стіннер у :issue:`39353`.)" + +msgid "" +":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " +"deprecated and will be removed in future Python versions. ``value`` itself " +"should be used instead of ``Index(value)``. ``Tuple(slices, Load())`` " +"should be used instead of ``ExtSlice(slices)``. (Contributed by Serhiy " +"Storchaka in :issue:`34822`.)" +msgstr "" +":mod:`ast` класи ``slice``, ``Index`` і ``ExtSlice`` вважаються застарілими " +"та будуть видалені в майбутніх версіях Python. Саме ``значення`` слід " +"використовувати замість ``Індекс(значення)``. ``Tuple(slices, Load())`` слід " +"використовувати замість ``ExtSlice(slices)``. (Надав Сергій Сторчака в :" +"issue:`34822`.)" + +msgid "" +":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " +"considered deprecated and will be removed in future Python versions. They " +"were not generated by the parser and not accepted by the code generator in " +"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` and :issue:" +"`39969` and Serhiy Storchaka in :issue:`39988`.)" +msgstr "" +":mod:`ast` класи ``Suite``, ``Param``, ``AugLoad`` і ``AugStore`` вважаються " +"застарілими та будуть видалені в майбутніх версіях Python. Вони не були " +"згенеровані парсером і не прийняті генератором коду в Python 3. (Надано " +"Batuhan Taskaya в :issue:`39639` і :issue:`39969` та Сергій Сторчака в :" +"issue:`39988`.)" + +msgid "" +"The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` " +"functions are now deprecated and will be removed in Python 3.11. Calling :c:" +"func:`PyEval_InitThreads` now does nothing. The :term:`GIL` is initialized " +"by :c:func:`Py_Initialize()` since Python 3.7. (Contributed by Victor " +"Stinner in :issue:`39877`.)" +msgstr "" +"Функції :c:func:`PyEval_InitThreads` і :c:func:`PyEval_ThreadsInitialized` " +"тепер застаріли та будуть видалені в Python 3.11. Виклик :c:func:" +"`PyEval_InitThreads` тепер нічого не робить. :term:`GIL` ініціалізується :c:" +"func:`Py_Initialize()` починаючи з Python 3.7. (Надав Віктор Стіннер у :" +"issue:`39877`.)" + +msgid "" +"Passing ``None`` as the first argument to the :func:`shlex.split` function " +"has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" +msgstr "" +"Передача ``None`` як першого аргументу функції :func:`shlex.split` " +"застаріла. (Надав Закері Шпітц у :issue:`33262`.)" + +msgid "" +":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an " +"external module, ``mailman``. (Contributed by Samuel Colvin in :issue:" +"`35800`.)" +msgstr "" +":func:`smtpd.MailmanProxy` тепер не підтримується, оскільки його не можна " +"використовувати без зовнішнього модуля, ``mailman``. (Надав Семюель Колвін " +"у :issue:`35800`.)" + +msgid "" +"The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. " +"Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may " +"include new language syntax that is not parsable by lib2to3's LL(1) parser. " +"The ``lib2to3`` module may be removed from the standard library in a future " +"Python version. Consider third-party alternatives such as `LibCST`_ or " +"`parso`_. (Contributed by Carl Meyer in :issue:`40360`.)" +msgstr "" +"Модуль :mod:`lib2to3` тепер видає :exc:`PendingDeprecationWarning`. Python " +"3.9 перейшов на синтаксичний аналізатор PEG (див. :pep:`617`), а Python 3.10 " +"може включати новий синтаксис мови, який не аналізується парсером LL(1) " +"lib2to3. Модуль ``lib2to3`` може бути видалено зі стандартної бібліотеки в " +"майбутній версії Python. Розгляньте сторонні альтернативи, такі як `LibCST`_ " +"або `parso`_. (Надано Карлом Майєром у :issue:`40360`.)" + +msgid "" +"The *random* parameter of :func:`random.shuffle` has been deprecated. " +"(Contributed by Raymond Hettinger in :issue:`40465`)" +msgstr "" +"Параметр *random* :func:`random.shuffle` застарів. (Надав Реймонд Геттінгер " +"у :issue:`40465`)" + +msgid "Removed" +msgstr "Видалено" + +msgid "" +"The erroneous version at :data:`unittest.mock.__version__` has been removed." +msgstr "Помилкову версію в :data:`unittest.mock.__version__` було видалено." + +msgid "" +":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " +"removed. These methods are deprecated since Python 3.3. Generally, these " +"extensions are not supported or not enabled by NNTP server administrators. " +"For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` or :meth:" +"`nntplib.NNTP.description` instead. (Contributed by Dong-hee Na in :issue:" +"`39366`.)" +msgstr "" +":class:`nntplib.NNTP`: методи ``xpath()`` і ``xgtitle()`` видалено. Ці " +"методи застаріли з Python 3.3. Як правило, ці розширення не підтримуються " +"або не ввімкнені адміністраторами NNTP-сервера. Для ``xgtitle()`` " +"використовуйте замість цього :meth:`nntplib.NNTP.descriptions` або :meth:" +"`nntplib.NNTP.description`. (Надав Dong-hee Na у :issue:`39366`.)" + +msgid "" +":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " +"removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " +"since Python 3.2. (Contributed by Victor Stinner in :issue:`38916`.)" +msgstr "" +":class:`array.array`: методи ``tostring()`` та ``fromstring()`` видалено. Це " +"були псевдоніми для ``tobytes()`` і ``frombytes()``, застарілих з Python " +"3.2. (Надав Віктор Стіннер у :issue:`38916`.)" + +msgid "" +"The undocumented ``sys.callstats()`` function has been removed. Since Python " +"3.7, it was deprecated and always returned :const:`None`. It required a " +"special build option ``CALL_PROFILE`` which was already removed in Python " +"3.7. (Contributed by Victor Stinner in :issue:`37414`.)" +msgstr "" +"Недокументовану функцію ``sys.callstats()`` було видалено. Починаючи з " +"Python 3.7, він був застарілим і завжди повертав :const:`None`. Для цього " +"потрібен був спеціальний параметр збірки ``CALL_PROFILE``, який уже було " +"видалено в Python 3.7. (Надав Віктор Стіннер у :issue:`37414`.)" + +msgid "" +"The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have " +"been removed. They were deprecated since Python 3.2. Use :func:`sys." +"getswitchinterval` and :func:`sys.setswitchinterval` instead. (Contributed " +"by Victor Stinner in :issue:`37392`.)" +msgstr "" +"Функції ``sys.getcheckinterval()`` і ``sys.setcheckinterval()`` були " +"видалені. Вони застаріли з Python 3.2. Замість цього використовуйте :func:" +"`sys.getswitchinterval` і :func:`sys.setswitchinterval`. (Надав Віктор " +"Стіннер у :issue:`37392`.)" + +msgid "" +"The C function ``PyImport_Cleanup()`` has been removed. It was documented " +"as: \"Empty the module table. For internal use only.\" (Contributed by " +"Victor Stinner in :issue:`36710`.)" +msgstr "" +"Функцію C ``PyImport_Cleanup()`` видалено. Це було задокументовано як: " +"\"Очистити таблицю модулів. Тільки для внутрішнього використання\". (Надав " +"Віктор Стіннер у :issue:`36710`.)" + +msgid "" +"``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " +"modules were deprecated since Python 3.7 which requires threading support. " +"(Contributed by Victor Stinner in :issue:`37312`.)" +msgstr "" +"Модулі ``_dummy_thread`` і ``dummy_threading`` видалено. Ці модулі застаріли " +"з Python 3.7, який потребує підтримки потоків. (Надав Віктор Стіннер у :" +"issue:`37312`.)" + +msgid "" +"``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " +"``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have " +"been removed. They were deprecated since Python 3.7. (Contributed by Victor " +"Stinner in :issue:`37320`.)" +msgstr "" +"``aifc.openfp()`` псевдонім ``aifc.open()``, ``sunau.openfp()`` псевдонім " +"``sunau.open()`` та ``wave.openfp()`` Псевдонім :func:`wave.open()` було " +"видалено. Вони застаріли з Python 3.7. (Надав Віктор Стіннер у :issue:" +"`37320`.)" + +msgid "" +"The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " +"has been removed. It was deprecated since Python 3.8. Use :meth:`~threading." +"Thread.is_alive()` instead. (Contributed by Dong-hee Na in :issue:`37804`.)" +msgstr "" +"Метод :meth:`~threading.Thread.isAlive()` :class:`threading.Thread` " +"видалено. Він був застарілим, починаючи з Python 3.8. Замість цього " +"використовуйте :meth:`~threading.Thread.is_alive()`. (Надав Dong-hee Na у :" +"issue:`37804`.)" + +msgid "" +"Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml." +"etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` " +"in the :mod:`~xml.etree.ElementTree` module have been removed. They were " +"deprecated in Python 3.2. Use ``iter(x)`` or ``list(x)`` instead of ``x." +"getchildren()`` and ``x.iter()`` or ``list(x.iter())`` instead of ``x." +"getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)" +msgstr "" +"Методи ``getchildren()`` і ``getiterator()`` класів :class:`~xml.etree." +"ElementTree.ElementTree` і :class:`~xml.etree.ElementTree.Element` в Модуль :" +"mod:`~xml.etree.ElementTree` видалено. Вони були застарілі в Python 3.2. " +"Використовуйте ``iter(x)`` або ``list(x)`` замість ``x.getchildren()`` та " +"``x.iter()`` або ``list(x.iter())`` замість ``x.getiterator()``. (Надав " +"Сергій Сторчака в :issue:`36543`.)" + +msgid "" +"The old :mod:`plistlib` API has been removed, it was deprecated since Python " +"3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:" +"`~plistlib.dump`, and :func:`~plistlib.dumps` functions. Additionally, the " +"*use_builtin_types* parameter was removed, standard :class:`bytes` objects " +"are always used instead. (Contributed by Jon Janzen in :issue:`36409`.)" +msgstr "" +"Старий API :mod:`plistlib` було видалено, він застарів з Python 3.4. " +"Використовуйте функції :func:`~plistlib.load`, :func:`~plistlib.loads`, :" +"func:`~plistlib.dump` і :func:`~plistlib.dumps`. Крім того, було видалено " +"параметр *use_builtin_types*, замість нього завжди використовуються " +"стандартні об’єкти :class:`bytes`. (Надав Джон Янзен у :issue:`36409`.)" + +msgid "" +"The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " +"documented, tested, or used anywhere within CPython after the implementation " +"of :pep:`442`. Patch by Joannah Nanjekye. (Contributed by Joannah Nanjekye " +"in :issue:`15088`)" +msgstr "" +"Функцію C ``PyGen_NeedsFinalizing`` видалено. Він не був задокументований, " +"протестований або використаний будь-де в CPython після впровадження :pep:" +"`442`. Патч від Joannah Nanjekye. (Надано Joannah Nanjekye в :issue:`15088`)" + +msgid "" +"``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " +"since Python 3.1, have been removed: use :func:`base64.encodebytes` and :" +"func:`base64.decodebytes` instead. (Contributed by Victor Stinner in :issue:" +"`39351`.)" +msgstr "" +"``base64.encodestring()`` і ``base64.decodestring()``, псевдоніми, які " +"застаріли з Python 3.1, були видалені: замість них використовуйте :func:" +"`base64.encodebytes` і :func:`base64.decodebytes`. (Надав Віктор Стіннер у :" +"issue:`39351`.)" + +msgid "" +"``fractions.gcd()`` function has been removed, it was deprecated since " +"Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " +"Victor Stinner in :issue:`39350`.)" +msgstr "" +"Функцію ``fractions.gcd()`` видалено, вона застаріла з Python 3.5 (:issue:" +"`22486`): замість неї використовуйте :func:`math.gcd`. (Надав Віктор Стіннер " +"у :issue:`39350`.)" + +msgid "" +"The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since " +"Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. " +"Pass an open file object to control how the file is opened. (Contributed by " +"Victor Stinner in :issue:`39357`.)" +msgstr "" +"Параметр *buffering* :class:`bz2.BZ2File` було видалено. Починаючи з Python " +"3.0, він ігнорувався, і його використання видавало :exc:" +"`DeprecationWarning`. Передайте відкритий файловий об’єкт, щоб контролювати, " +"як відкривається файл. (Надав Віктор Стіннер у :issue:`39357`.)" + +msgid "" +"The *encoding* parameter of :func:`json.loads` has been removed. As of " +"Python 3.1, it was deprecated and ignored; using it has emitted a :exc:" +"`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki in :issue:" +"`39377`)" +msgstr "" +"Параметр *encoding* :func:`json.loads` видалено. Починаючи з Python 3.1, він " +"був застарілим і ігнорувався; його використання видавало :exc:" +"`DeprecationWarning`, починаючи з Python 3.8. (Надано Інадою Наокі в :issue:" +"`39377`)" + +msgid "" +"``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " +"statements are not longer supported, use ``async with lock`` instead. The " +"same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``. " +"(Contributed by Andrew Svetlov in :issue:`34793`.)" +msgstr "" +"Оператори ``with (чекати asyncio.lock):`` і ``with (вихід від asyncio.lock):" +"`` більше не підтримуються, використовуйте замість них ``async with lock``. " +"Те саме правильно для ``asyncio.Condition`` і ``asyncio.Semaphore``. (Надав " +"Ендрю Свєтлов у :issue:`34793`.)" + +msgid "" +"The :func:`sys.getcounts` function, the ``-X showalloccount`` command line " +"option and the ``show_alloc_count`` field of the C structure :c:type:" +"`PyConfig` have been removed. They required a special Python build by " +"defining ``COUNT_ALLOCS`` macro. (Contributed by Victor Stinner in :issue:" +"`39489`.)" +msgstr "" +"Функцію :func:`sys.getcounts`, параметр командного рядка ``-X " +"showalloccount`` і поле ``show_alloc_count`` структури C :c:type:`PyConfig` " +"видалено. Їм потрібна була спеціальна збірка Python із визначенням макросу " +"``COUNT_ALLOCS``. (Надав Віктор Стіннер у :issue:`39489`.)" + +msgid "" +"The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " +"been removed. It was deprecated since Python 3.8. Use the " +"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka in :" +"issue:`40182`.)" +msgstr "" +"Атрибут ``_field_types`` класу :class:`typing.NamedTuple` було видалено. Він " +"був застарілим, починаючи з Python 3.8. Натомість використовуйте атрибут " +"``__annotations__``. (Надав Сергій Сторчака в :issue:`40182`.)" + +msgid "" +"The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was " +"deprecated since 2006, and only returning ``False`` when it's called. " +"(Contributed by Batuhan Taskaya in :issue:`40208`)" +msgstr "" +"Метод :meth:`symtable.SymbolTable.has_exec` видалено. Він застарів з 2006 " +"року, і повертає лише ``False`` під час виклику. (Надано Batuhan Taskaya в :" +"issue:`40208`)" + +msgid "" +"The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " +"have been removed. They were deprecated since Python 3.7 and you can use :" +"func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. " +"(Contributed by Rémi Lapeyre in :issue:`40967`)" +msgstr "" +":meth:`asyncio.Task.current_task` і :meth:`asyncio.Task.all_task` було " +"видалено. Вони застаріли з Python 3.7, і замість них можна використовувати :" +"func:`asyncio.current_task` і :func:`asyncio.all_tasks`. (Надав Ремі Лапейр " +"у :issue:`40967`)" + +msgid "" +"The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " +"been removed (it was deprecated since Python 3.4). :func:`html.unescape` " +"should be used for converting character references to the corresponding " +"unicode characters." +msgstr "" +"Метод ``unescape()`` у класі :class:`html.parser.HTMLParser` було видалено " +"(він був застарілим з Python 3.4). :func:`html.unescape` слід " +"використовувати для перетворення посилань на символи у відповідні символи " +"Unicode." + +msgid "Porting to Python 3.9" +msgstr "Перенесення на Python 3.9" + +msgid "" +"This section lists previously described changes and other bugfixes that may " +"require changes to your code." +msgstr "" +"У цьому розділі наведено описані раніше зміни та інші виправлення помилок, " +"які можуть потребувати змін у вашому коді." + +msgid "Changes in the Python API" +msgstr "Зміни в API Python" + +msgid "" +":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:" +"`ImportError` where it previously raised :exc:`ValueError`. Callers catching " +"the specific exception type and supporting both Python 3.9 and earlier " +"versions will need to catch both using ``except (ImportError, ValueError):``." +msgstr "" +":func:`__import__` і :func:`importlib.util.resolve_name` тепер викликають :" +"exc:`ImportError` там, де раніше викликали :exc:`ValueError`. Викликачі, які " +"перехоплюють певний тип винятку та підтримують як Python 3.9, так і " +"попередні версії, повинні будуть перехопити обидва за допомогою ``except " +"(ImportError, ValueError):``." + +msgid "" +"The :mod:`venv` activation scripts no longer special-case when " +"``__VENV_PROMPT__`` is set to ``\"\"``." +msgstr "" +"Скрипти активації :mod:`venv` більше не виключають особливий випадок, коли " +"для ``__VENV_PROMPT__`` встановлено значення ``\"\"``." + +msgid "" +"The :meth:`select.epoll.unregister` method no longer ignores the :data:" +"`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)" +msgstr "" +"Метод :meth:`select.epoll.unregister` більше не ігнорує помилку :data:" +"`~errno.EBADF`. (Надав Віктор Стіннер у :issue:`39239`.)" + +msgid "" +"The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " +"since the *buffering* parameter has been removed. (Contributed by Victor " +"Stinner in :issue:`39357`.)" +msgstr "" +"Параметр *compresslevel* :class:`bz2.BZ2File` став лише ключовим словом, " +"оскільки параметр *buffering* було видалено. (Надав Віктор Стіннер у :issue:" +"`39357`.)" + +msgid "" +"Simplified AST for subscription. Simple indices will be represented by their " +"value, extended slices will be represented as tuples. ``Index(value)`` will " +"return a ``value`` itself, ``ExtSlice(slices)`` will return ``Tuple(slices, " +"Load())``. (Contributed by Serhiy Storchaka in :issue:`34822`.)" +msgstr "" +"Спрощений AST для підписки. Прості індекси будуть представлені їх " +"значеннями, розширені зрізи будуть представлені як кортежі. ``Index(value)`` " +"поверне саме ``value``, ``ExtSlice(slices)`` поверне ``Tuple(slices, " +"Load())``. (Надав Сергій Сторчака в :issue:`34822`.)" + +msgid "" +"The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " +"environment variable when the :option:`-E` or :option:`-I` command line " +"options are being used." +msgstr "" +"Модуль :mod:`importlib` тепер ігнорує змінну середовища :envvar:" +"`PYTHONCASEOK`, коли використовуються параметри командного рядка :option:`-" +"E` або :option:`-I`." + +msgid "" +"The *encoding* parameter has been added to the classes :class:`ftplib.FTP` " +"and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default " +"encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`." +msgstr "" +"Параметр *encoding* додано до класів :class:`ftplib.FTP` і :class:`ftplib." +"FTP_TLS` як параметр лише для ключового слова, а стандартне кодування " +"змінено з Latin-1 на UTF-8 на слідувати :rfc:`2640`." + +msgid "" +":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:" +"`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit " +"from it should have this method defined. (Contributed by Kyle Stanley in :" +"issue:`34037`.)" +msgstr "" +":meth:`asyncio.loop.shutdown_default_executor` додано до :class:`~asyncio." +"AbstractEventLoop`, тобто альтернативні цикли подій, які успадковуються від " +"нього, повинні мати цей метод. (Надав Кайл Стенлі в :issue:`34037`.)" + +msgid "" +"The constant values of future flags in the :mod:`__future__` module is " +"updated in order to prevent collision with compiler flags. Previously " +"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " +"(Contributed by Batuhan Taskaya in :issue:`39562`)" +msgstr "" +"Постійні значення майбутніх прапорів у модулі :mod:`__future__` оновлюються, " +"щоб запобігти зіткненню з прапорами компілятора. Раніше " +"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` конфліктував з ``CO_FUTURE_DIVISION``. (Надав " +"Batuhan Taskaya в :issue:`39562`)" + +msgid "" +"``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. " +"This change doesn't affect to its behavior because ``Py_UNICODE`` is alias " +"of ``wchar_t`` since Python 3.3. (Contributed by Inada Naoki in :issue:" +"`34538`.)" +msgstr "" +"``array('u')`` тепер використовує ``wchar_t`` як тип C замість " +"``Py_UNICODE``. Ця зміна не впливає на його поведінку, оскільки " +"``Py_UNICODE`` є псевдонімом ``wchar_t``, починаючи з Python 3.3. (Надано " +"Інадою Наокі в :issue:`34538`.)" + +msgid "" +"The :func:`logging.getLogger` API now returns the root logger when passed " +"the name ``'root'``, whereas previously it returned a non-root logger named " +"``'root'``. This could affect cases where user code explicitly wants a non-" +"root logger named ``'root'``, or instantiates a logger using ``logging." +"getLogger(__name__)`` in some top-level module called ``'root.py'``. " +"(Contributed by Vinay Sajip in :issue:`37742`.)" +msgstr "" +":func:`logging.getLogger` API тепер повертає кореневий реєстратор, коли йому " +"передається ім’я ``'root'``, тоді як раніше він повертав некореневий " +"реєстратор під назвою ``'root'``. Це може вплинути на випадки, коли код " +"користувача явно бажає мати некореневий реєстратор під назвою ``'root'`` або " +"створює екземпляр реєстратора за допомогою ``logging.getLogger(__name__)`` в " +"якомусь модулі верхнього рівня під назвою ``'root. py''``. (Надав Віней " +"Саджип у :issue:`37742`.)" + +msgid "" +"Division handling of :class:`~pathlib.PurePath` now returns " +"``NotImplemented`` instead of raising a :exc:`TypeError` when passed " +"something other than an instance of ``str`` or :class:`~pathlib.PurePath`. " +"This allows creating compatible classes that don't inherit from those " +"mentioned types. (Contributed by Roger Aiudi in :issue:`34775`)." +msgstr "" +"Обробка ділення :class:`~pathlib.PurePath` тепер повертає ``NotImplemented`` " +"замість того, щоб викликати :exc:`TypeError`, коли передається щось інше, " +"ніж примірник ``str`` або :class:`~pathlib. PurePath`. Це дозволяє " +"створювати сумісні класи, які не успадковують ці типи. (Надав Роджер Аюді в :" +"issue:`34775`)." + +msgid "" +"Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " +"leading zeros in IPv4 address strings. Leading zeros are ambiguous and " +"interpreted as octal notation by some libraries. For example the legacy " +"function :func:`socket.inet_aton` treats leading zeros as octal notatation. " +"glibc implementation of modern :func:`~socket.inet_pton` does not accept any " +"leading zeros. (Contributed by Christian Heimes in :issue:`36384`)." +msgstr "" +"Починаючи з Python 3.9.5, модуль :mod:`ipaddress` більше не приймає жодних " +"початкових нулів у рядках адрес IPv4. Початкові нулі є неоднозначними та " +"інтерпретуються деякими бібліотеками як вісімкове позначення. Наприклад, " +"застаріла функція :func:`socket.inet_aton` розглядає початкові нулі як " +"вісімкове позначення. glibc реалізація сучасного :func:`~socket.inet_pton` " +"не приймає жодних початкових нулів. (Надав Крістіан Хеймс у :issue:`36384`)." + +msgid "" +":func:`codecs.lookup` now normalizes the encoding name the same way as :func:" +"`encodings.normalize_encoding`, except that :func:`codecs.lookup` also " +"converts the name to lower case. For example, ``\"latex+latin1\"`` encoding " +"name is now normalized to ``\"latex_latin1\"``. (Contributed by Jordon Xu " +"in :issue:`37751`.)" +msgstr "" +":func:`codecs.lookup` тепер нормалізує назву кодування так само, як :func:" +"`encodings.normalize_encoding`, за винятком того, що :func:`codecs.lookup` " +"також перетворює назву на нижній регістр. Наприклад, назву кодування ``" +"\"latex+latin1\"`` тепер нормалізовано до ``\"latex_latin1\"``. (Надав " +"Джордон Сю в :issue:`37751`.)" + +msgid "Changes in the C API" +msgstr "Зміни в C API" + +msgid "" +"Instances of :ref:`heap-allocated types ` (such as those created " +"with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " +"type object since Python 3.8. As indicated in the \"Changes in the C API\" " +"of Python 3.8, for the vast majority of cases, there should be no side " +"effect but for types that have a custom :c:member:`~PyTypeObject." +"tp_traverse` function, ensure that all custom ``tp_traverse`` functions of " +"heap-allocated types visit the object's type." +msgstr "" +"Екземпляри :ref:`виділених у купі типів ` (наприклад, створених " +"за допомогою :c:func:`PyType_FromSpec` та подібних API) містять посилання на " +"свій об’єкт типу, починаючи з Python 3.8. Як зазначено в розділі \"Зміни в " +"API C\" Python 3.8, у переважній більшості випадків побічних ефектів не " +"повинно бути, але для типів, які мають спеціальну функцію :c:member:" +"`~PyTypeObject.tp_traverse`, переконайтеся, що усі призначені для " +"користувача функції ``tp_traverse`` типів, виділених у купі, відвідують тип " +"об’єкта." + +msgid "" +"If your traverse function delegates to ``tp_traverse`` of its base class (or " +"another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that " +"only :ref:`heap type ` are expected to visit the type in " +"``tp_traverse``." +msgstr "" +"Якщо ваша функція переходу делегує ``tp_traverse`` свого базового класу (або " +"іншого типу), переконайтеся, що ``Py_TYPE(self)`` відвідується лише один " +"раз. Зауважте, що очікується, що лише :ref:`тип купи ` відвідає " +"тип у ``tp_traverse``." + +msgid "For example, if your ``tp_traverse`` function includes:" +msgstr "Наприклад, якщо ваша функція ``tp_traverse`` містить:" + +msgid "then add:" +msgstr "потім додайте:" + +msgid "(See :issue:`35810` and :issue:`40217` for more information.)" +msgstr "" +"(Див. :issue:`35810` і :issue:`40217` для отримання додаткової інформації.)" + +msgid "" +"The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " +"``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " +"Use :c:func:`PyObject_Call` and its variants instead. (See more details in :" +"issue:`29548`.)" +msgstr "" +"Функції ``PyEval_CallObject``, ``PyEval_CallFunction``, " +"``PyEval_CallMethod`` і ``PyEval_CallObjectWithKeywords`` застаріли. Замість " +"цього використовуйте :c:func:`PyObject_Call` та його варіанти. (Детальніше " +"див. у :issue:`29548`.)" + +msgid "CPython bytecode changes" +msgstr "Зміни байт-коду CPython" + +msgid "" +"The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :" +"keyword:`assert` statement. Previously, the assert statement would not work " +"correctly if the :exc:`AssertionError` exception was being shadowed. " +"(Contributed by Zackery Spytz in :issue:`34880`.)" +msgstr "" +"Код операції :opcode:`LOAD_ASSERTION_ERROR` додано для обробки оператора :" +"keyword:`assert`. Раніше оператор assert не працював належним чином, якщо " +"виняток :exc:`AssertionError` затінявся. (Надав Закері Шпітц у :issue:" +"`34880`.)" + +msgid "" +"The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:" +msgstr "" +"Код операції :opcode:`COMPARE_OP` було розділено на чотири окремі інструкції:" + +msgid "``COMPARE_OP`` for rich comparisons" +msgstr "``COMPARE_OP`` для насичених порівнянь" + +msgid "``IS_OP`` for 'is' and 'is not' tests" +msgstr "``IS_OP`` для тестів \"є\" і \"не є\"." + +msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" +msgstr "``CONTAINS_OP`` для тестів \"in\" і \"not in\"." + +msgid "" +"``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' statements." +msgstr "" +"``JUMP_IF_NOT_EXC_MATCH`` для перевірки винятків у операторах 'try-except'." + +msgid "(Contributed by Mark Shannon in :issue:`39156`.)" +msgstr "(Надав Марк Шеннон у :issue:`39156`.)" + +msgid "Build Changes" +msgstr "Зміни збірки" + +msgid "" +"Added ``--with-platlibdir`` option to the ``configure`` script: name of the " +"platform-specific library directory, stored in the new :attr:`sys." +"platlibdir` attribute. See :attr:`sys.platlibdir` attribute for more " +"information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " +"and Victor Stinner in :issue:`1294959`.)" +msgstr "" +"До сценарію ``configure`` додано опцію ``--with-platlibdir``: ім’я каталогу " +"бібліотеки для певної платформи, що зберігається в новому атрибуті :attr:" +"`sys.platlibdir`. Дивіться атрибут :attr:`sys.platlibdir` для отримання " +"додаткової інформації. (Надано Яном Матєйком, Матєєм Чеплем, Харалампосом " +"Стратакісом і Віктором Стіннером у :issue:`1294959`.)" + +msgid "" +"The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " +"Victor Stinner in :issue:`39489`.)" +msgstr "" +"Спеціальний макрос збірки ``COUNT_ALLOCS`` видалено. (Надав Віктор Стіннер " +"у :issue:`39489`.)" + +msgid "" +"On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` " +"functions are now required to build Python. (Contributed by Victor Stinner " +"in :issue:`39395`.)" +msgstr "" +"На платформах, відмінних від Windows, для створення Python тепер потрібні " +"функції :c:func:`setenv` і :c:func:`unsetenv`. (Надав Віктор Стіннер у :" +"issue:`39395`.)" + +msgid "" +"On non-Windows platforms, creating ``bdist_wininst`` installers is now " +"officially unsupported. (See :issue:`10945` for more details.)" +msgstr "" +"На платформах, відмінних від Windows, створення інсталяторів " +"``bdist_wininst`` тепер офіційно не підтримується. (Додаткову інформацію " +"див. :issue:`10945`.)" + +msgid "" +"When building Python on macOS from source, ``_tkinter`` now links with non-" +"system Tcl and Tk frameworks if they are installed in ``/Library/" +"Frameworks``, as had been the case on older releases of macOS. If a macOS " +"SDK is explicitly configured, by using :option:`--enable-universalsdk` or ``-" +"isysroot``, only the SDK itself is searched. The default behavior can still " +"be overridden with ``--with-tcltk-includes`` and ``--with-tcltk-libs``. " +"(Contributed by Ned Deily in :issue:`34956`.)" +msgstr "" + +msgid "" +"Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower " +"in :issue:`33125`.)" +msgstr "" +"Тепер Python можна створити для Windows 10 ARM64. (Надав Стів Дауер у :issue:" +"`33125`.)" + +msgid "" +"Some individual tests are now skipped when ``--pgo`` is used. The tests in " +"question increased the PGO task time significantly and likely didn't help " +"improve optimization of the final executable. This speeds up the task by a " +"factor of about 15x. Running the full unit test suite is slow. This change " +"may result in a slightly less optimized build since not as many code " +"branches will be executed. If you are willing to wait for the much slower " +"build, the old behavior can be restored using ``./configure [..] " +"PROFILE_TASK=\"-m test --pgo-extended\"``. We make no guarantees as to " +"which PGO task set produces a faster build. Users who care should run their " +"own relevant benchmarks as results can depend on the environment, workload, " +"and compiler tool chain. (See :issue:`36044` and :issue:`37707` for more " +"details.)" +msgstr "" +"Деякі окремі тести тепер пропускаються, коли використовується ``--pgo``. " +"Тести, про які йдеться, значно збільшили час виконання завдання PGO і, " +"ймовірно, не допомогли покращити оптимізацію остаточного виконуваного файлу. " +"Це прискорює завдання приблизно в 15 разів. Запуск повного набору модульних " +"тестів повільний. Ця зміна може призвести до дещо менш оптимізованої збірки, " +"оскільки буде виконано не так багато гілок коду. Якщо ви бажаєте почекати на " +"набагато повільнішу збірку, стару поведінку можна відновити за допомогою ``./" +"configure [..] PROFILE_TASK=\"-m test --pgo-extended\"``. Ми не гарантуємо, " +"який набір завдань PGO забезпечує швидшу збірку. Небайдужі користувачі " +"повинні запускати власні релевантні тести, оскільки результати можуть " +"залежати від середовища, робочого навантаження та ланцюга інструментів " +"компілятора. (Додаткову інформацію див. у :issue:`36044` і :issue:`37707`.)" + +msgid "C API Changes" +msgstr "Зміни C API" + +msgid "" +":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " +"with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` " +"to retrieve the module and its state; and :c:data:`PyCMethod` and :c:data:" +"`METH_METHOD` to allow a method to access the class it was defined in. " +"(Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)" +msgstr "" +":pep:`573`: Додано :c:func:`PyType_FromModuleAndSpec` для асоціації модуля з " +"класом; :c:func:`PyType_GetModule` і :c:func:`PyType_GetModuleState` для " +"отримання модуля та його стану; і :c:data:`PyCMethod` і :c:data:" +"`METH_METHOD`, щоб дозволити методу отримати доступ до класу, у якому його " +"було визначено. (Надано Марселем Плхом і Петром Вікторіним у :issue:`38787`.)" + +msgid "" +"Added :c:func:`PyFrame_GetCode` function: get a frame code. Added :c:func:" +"`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by " +"Victor Stinner in :issue:`40421`.)" +msgstr "" +"Додано функцію :c:func:`PyFrame_GetCode`: отримати код кадру. Додано " +"функцію :c:func:`PyFrame_GetBack`: отримати кадр наступного зовнішнього " +"кадру. (Надав Віктор Стіннер у :issue:`40421`.)" + +msgid "" +"Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " +"Victor Stinner in :issue:`40421`.)" +msgstr "" +"Додано :c:func:`PyFrame_GetLineNumber` до обмеженого C API. (Надав Віктор " +"Стіннер у :issue:`40421`.)" + +msgid "" +"Added :c:func:`PyThreadState_GetInterpreter` and :c:func:" +"`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:" +"`PyThreadState_GetFrame` function to get the current frame of a Python " +"thread state. Added :c:func:`PyThreadState_GetID` function: get the unique " +"identifier of a Python thread state. (Contributed by Victor Stinner in :" +"issue:`39947`.)" +msgstr "" +"Додано функції :c:func:`PyThreadState_GetInterpreter` і :c:func:" +"`PyInterpreterState_Get` для отримання інтерпретатора. Додано функцію :c:" +"func:`PyThreadState_GetFrame` для отримання поточного кадру стану потоку " +"Python. Додано функцію :c:func:`PyThreadState_GetID`: отримати унікальний " +"ідентифікатор стану потоку Python. (Надав Віктор Стіннер у :issue:`39947`.)" + +msgid "" +"Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, " +"which calls a callable Python object without any arguments. It is the most " +"efficient way to call a callable Python object without any argument. " +"(Contributed by Victor Stinner in :issue:`37194`.)" +msgstr "" +"Додано нову загальнодоступну функцію :c:func:`PyObject_CallNoArgs` до C API, " +"яка викликає об’єкт Python без аргументів. Це найефективніший спосіб " +"викликати викликаний об’єкт Python без аргументів. (Надав Віктор Стіннер у :" +"issue:`37194`.)" + +msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):" +msgstr "Зміни в обмеженому API C (якщо визначено макрос ``Py_LIMITED_API``):" + +msgid "" +"Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " +"as regular functions for the limited API. Previously, there were defined as " +"macros, but these macros didn't compile with the limited C API which cannot " +"access ``PyThreadState.recursion_depth`` field (the structure is opaque in " +"the limited C API)." +msgstr "" +"Надайте :c:func:`Py_EnterRecursiveCall` і :c:func:`Py_LeaveRecursiveCall` як " +"звичайні функції для обмеженого API. Раніше вони були визначені як макроси, " +"але ці макроси не компілювалися з обмеженим C API, який не може отримати " +"доступ до поля ``PyThreadState.recursion_depth`` (структура непрозора в " +"обмеженому C API)." + +msgid "" +"``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " +"function to hide implementation details." +msgstr "" +"``PyObject_INIT()`` і ``PyObject_INIT_VAR()`` стають звичайними \"непрозорими" +"\" функціями для приховування деталей реалізації." + +msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)" +msgstr "(Надав Віктор Стіннер у :issue:`38644` і :issue:`39542`.)" + +msgid "" +"The :c:func:`PyModule_AddType` function is added to help adding a type to a " +"module. (Contributed by Dong-hee Na in :issue:`40024`.)" +msgstr "" +"Додано функцію :c:func:`PyModule_AddType`, щоб допомогти додати тип до " +"модуля. (Надав Dong-hee Na у :issue:`40024`.)" + +msgid "" +"Added the functions :c:func:`PyObject_GC_IsTracked` and :c:func:" +"`PyObject_GC_IsFinalized` to the public API to allow to query if Python " +"objects are being currently tracked or have been already finalized by the " +"garbage collector respectively. (Contributed by Pablo Galindo Salgado in :" +"issue:`40241`.)" +msgstr "" +"До загальнодоступного API додано функції :c:func:`PyObject_GC_IsTracked` і :" +"c:func:`PyObject_GC_IsFinalized`, щоб дозволити запитувати, чи об’єкти " +"Python зараз відстежуються чи вони вже завершені збирачем сміття відповідно. " +"(Надав Пабло Галіндо Сальгадо в :issue:`40241`.)" + +msgid "" +"Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string " +"representation of a function-like object. (Patch by Jeroen Demeyer in :issue:" +"`37645`.)" +msgstr "" +"Додано :c:func:`_PyObject_FunctionStr`, щоб отримати зручне рядкове " +"представлення об’єкта, подібного до функції. (Патч від Jeroen Demeyer у :" +"issue:`37645`.)" + +msgid "" +"Added :c:func:`PyObject_CallOneArg` for calling an object with one " +"positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" +msgstr "" +"Додано :c:func:`PyObject_CallOneArg` для виклику об’єкта з одним позиційним " +"аргументом (Патч від Jeroen Demeyer у :issue:`37483`.)" + +msgid "" +"``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " +"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :" +"issue:`38500`.)" +msgstr "" +"``PyInterpreterState.eval_frame`` (:pep:`523`) тепер вимагає нового " +"обов’язкового параметра *tstate* (``PyThreadState*``). (Надав Віктор Стіннер " +"у :issue:`38500`.)" + +msgid "" +"Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:" +"`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:" +"type:`PyModuleDef` are no longer called if the module state was requested " +"but is not allocated yet. This is the case immediately after the module is " +"created and before the module is executed (:c:data:`Py_mod_exec` function). " +"More precisely, these functions are not called if :c:member:`~PyModuleDef." +"m_size` is greater than 0 and the module state (as returned by :c:func:" +"`PyModule_GetState`) is ``NULL``." +msgstr "" +"Модулі розширення: :c:member:`~PyModuleDef.m_traverse`, :c:member:" +"`~PyModuleDef.m_clear` і :c:member:`~PyModuleDef.m_free` функції :c:type:" +"`PyModuleDef` відсутні більше викликається, якщо стан модуля було запитано, " +"але ще не виділено. Це відбувається одразу після створення модуля та перед " +"його виконанням (функція :c:data:`Py_mod_exec`). Точніше, ці функції не " +"викликаються, якщо :c:member:`~PyModuleDef.m_size` більше 0 і стан модуля " +"(як повертається :c:func:`PyModule_GetState`) є ``NULL``." + +msgid "" +"Extension modules without module state (``m_size <= 0``) are not affected." +msgstr "Модулі розширення без стану модуля (``m_size <= 0``) не впливають." + +msgid "" +"If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function " +"is now scheduled to be called from the subinterpreter, rather than being " +"called from the main interpreter. Each subinterpreter now has its own list " +"of scheduled calls. (Contributed by Victor Stinner in :issue:`39984`.)" +msgstr "" +"Якщо :c:func:`Py_AddPendingCall` викликається в субінтерпретаторі, функція " +"тепер запланована для виклику з субінтерпретатора, а не з основного " +"інтерпретатора. Кожен субінтерпретатор тепер має власний список запланованих " +"викликів. (Надав Віктор Стіннер у :issue:`39984`.)" + +msgid "" +"The Windows registry is no longer used to initialize :data:`sys.path` when " +"the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to " +"``0``). This is significant when embedding Python on Windows. (Contributed " +"by Zackery Spytz in :issue:`8901`.)" +msgstr "" +"Реєстр Windows більше не використовується для ініціалізації :data:`sys." +"path`, коли використовується параметр ``-E`` (якщо :c:member:`PyConfig." +"use_environment` має значення ``0``). Це важливо під час вбудовування Python " +"у Windows. (Надав Закері Шпітц у :issue:`8901`.)" + +msgid "" +"The global variable :c:data:`PyStructSequence_UnnamedField` is now a " +"constant and refers to a constant string. (Contributed by Serhiy Storchaka " +"in :issue:`38650`.)" +msgstr "" +"Глобальна змінна :c:data:`PyStructSequence_UnnamedField` тепер є константою " +"та посилається на постійний рядок. (Надав Сергій Сторчака в :issue:`38650`.)" + +msgid "" +"The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the " +"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:" +"`40241`.)" +msgstr "" +"Структура :c:type:`PyGC_Head` тепер непрозора. Він визначений лише у " +"внутрішньому API C (``pycore_gc.h``). (Надав Віктор Стіннер у :issue:" +"`40241`.)" + +msgid "" +"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:" +"func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " +"``_PyUnicode_AsUnicode``, and :c:func:`PyUnicode_AsUnicodeAndSize` are " +"marked as deprecated in C. They have been deprecated by :pep:`393` since " +"Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)" +msgstr "" +"``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:func:" +"`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " +"``_PyUnicode_AsUnicode`` і :c:func:`PyUnicode_AsUnicodeAndSize` позначені як " +"застарілі в C. Вони були застарілими :pep:`393`, починаючи з Python 3.3. " +"(Надано Інадою Наокі в :issue:`36346`.)" + +msgid "" +"The :c:func:`Py_FatalError` function is replaced with a macro which logs " +"automatically the name of the current function, unless the " +"``Py_LIMITED_API`` macro is defined. (Contributed by Victor Stinner in :" +"issue:`39882`.)" +msgstr "" +"Функцію :c:func:`Py_FatalError` замінено на макрос, який автоматично записує " +"назву поточної функції, якщо не визначено макрос ``Py_LIMITED_API``. (Надав " +"Віктор Стіннер у :issue:`39882`.)" + +msgid "" +"The vectorcall protocol now requires that the caller passes only strings as " +"keyword names. (See :issue:`37540` for more information.)" +msgstr "" +"Протокол vectorcall тепер вимагає, щоб абонент передавав лише рядки як імена " +"ключових слів. (Додаткову інформацію див. :issue:`37540`.)" + +msgid "" +"Implementation details of a number of macros and functions are now hidden:" +msgstr "Деталі реалізації ряду макросів і функцій тепер приховано:" + +msgid ":c:func:`PyObject_IS_GC` macro was converted to a function." +msgstr ":c:func:`PyObject_IS_GC` макрос перетворено на функцію." + +msgid "" +"The :c:func:`PyObject_NEW` macro becomes an alias to the :c:func:" +"`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro becomes an " +"alias to the :c:func:`PyObject_NewVar` macro. They no longer access directly " +"the :c:member:`PyTypeObject.tp_basicsize` member." +msgstr "" +"Макрос :c:func:`PyObject_NEW` стає псевдонімом макросу :c:func:" +"`PyObject_New`, а макрос :c:func:`PyObject_NEW_VAR` стає псевдонімом " +"макросу :c:func:`PyObject_NewVar` . Вони більше не мають прямого доступу до " +"члена :c:member:`PyTypeObject.tp_basicsize`." + +msgid "" +":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " +"the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " +"member." +msgstr "" +"Макрос :c:func:`PyObject_GET_WEAKREFS_LISTPTR` було перетворено на функцію: " +"макрос мав прямий доступ до елемента :c:member:`PyTypeObject." +"tp_weaklistoffset`." + +msgid "" +":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " +"accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." +msgstr "" +"Макрос :c:func:`PyObject_CheckBuffer` було перетворено на функцію: макрос " +"мав прямий доступ до елемента :c:member:`PyTypeObject.tp_as_buffer`." + +msgid "" +":c:func:`PyIndex_Check` is now always declared as an opaque function to hide " +"implementation details: removed the ``PyIndex_Check()`` macro. The macro " +"accessed directly the :c:member:`PyTypeObject.tp_as_number` member." +msgstr "" +":c:func:`PyIndex_Check` тепер завжди оголошується як непрозора функція, щоб " +"приховати деталі реалізації: видалено макрос ``PyIndex_Check()``. Макрос " +"звертався безпосередньо до члена :c:member:`PyTypeObject.tp_as_number`." + +msgid "(See :issue:`40170` for more details.)" +msgstr "(Додаткову інформацію див. :issue:`40170`.)" + +msgid "" +"Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " +"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:" +"`38835`.)" +msgstr "" +"Макроси ``PyFPE_START_PROTECT()`` і ``PyFPE_END_PROTECT()`` макроси ``pyfpe." +"h`` виключено з обмеженого C API. (Надав Віктор Стіннер у :issue:`38835`.)" + +msgid "" +"The ``tp_print`` slot of :ref:`PyTypeObject ` has been " +"removed. It was used for printing objects to files in Python 2.7 and before. " +"Since Python 3.0, it has been ignored and unused. (Contributed by Jeroen " +"Demeyer in :issue:`36974`.)" +msgstr "" +"Слот ``tp_print`` :ref:`PyTypeObject ` видалено. Він " +"використовувався для друку об’єктів у файли в Python 2.7 і раніше. Починаючи " +"з Python 3.0, він ігнорувався та не використовувався. (Надано Jeroen Demeyer " +"у :issue:`36974`.)" + +msgid "Excluded the following functions from the limited C API:" +msgstr "Виключено такі функції з обмеженого C API:" + +msgid "" +"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" +"`37878`.)" +msgstr "" +"``PyThreadState_DeleteCurrent()`` (Надано Joannah Nanjekye в :issue:`37878`.)" + +msgid "``_Py_CheckRecursionLimit``" +msgstr "``_Py_CheckRecursionLimit``" + +msgid "``_Py_NewReference()``" +msgstr "``_Py_NewReference()``" + +msgid "``_Py_ForgetReference()``" +msgstr "``_Py_ForgetReference()``" + +msgid "``_PyTraceMalloc_NewReference()``" +msgstr "``_PyTraceMalloc_NewReference()``" + +msgid "``_Py_GetRefTotal()``" +msgstr "``_Py_GetRefTotal()``" + +msgid "The trashcan mechanism which never worked in the limited C API." +msgstr "Механізм кошика, який ніколи не працював в обмеженому C API." + +msgid "``PyTrash_UNWIND_LEVEL``" +msgstr "``PyTrash_UNWIND_LEVEL``" + +msgid "``Py_TRASHCAN_BEGIN_CONDITION``" +msgstr "``Py_TRASHCAN_BEGIN_CONDITION``" + +msgid "``Py_TRASHCAN_BEGIN``" +msgstr "``Py_TRASHCAN_BEGIN``" + +msgid "``Py_TRASHCAN_END``" +msgstr "``Py_TRASHCAN_END``" + +msgid "``Py_TRASHCAN_SAFE_BEGIN``" +msgstr "``Py_TRASHCAN_SAFE_BEGIN``" + +msgid "``Py_TRASHCAN_SAFE_END``" +msgstr "``Py_TRASHCAN_SAFE_END``" + +msgid "Moved following functions and definitions to the internal C API:" +msgstr "Перенесено такі функції та визначення до внутрішнього C API:" + +msgid "``_PyDebug_PrintTotalRefs()``" +msgstr "``_PyDebug_PrintTotalRefs()``" + +msgid "``_Py_PrintReferences()``" +msgstr "``_Py_PrintReferences()``" + +msgid "``_Py_PrintReferenceAddresses()``" +msgstr "``_Py_PrintReferenceAddresses()``" + +msgid "``_Py_tracemalloc_config``" +msgstr "``_Py_tracemalloc_config``" + +msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" +msgstr "``_Py_AddToAllObjects()`` (специфічний для збірки ``Py_TRACE_REFS``)" + +msgid "" +"Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` " +"macro which was an alias to ``_PyRuntime.getframe``. They were only exposed " +"by the internal C API. Removed also ``PyThreadFrameGetter`` type. " +"(Contributed by Victor Stinner in :issue:`39946`.)" +msgstr "" +"Вилучено хук ``_PyRuntime.getframe`` і видалено макрос " +"``_PyThreadState_GetFrame``, який був псевдонімом ``_PyRuntime.getframe``. " +"Їх відкривав лише внутрішній C API. Видалено також тип " +"``PyThreadFrameGetter``. (Надав Віктор Стіннер у :issue:`39946`.)" + +msgid "" +"Removed the following functions from the C API. Call :c:func:`PyGC_Collect` " +"explicitly to clear all free lists. (Contributed by Inada Naoki and Victor " +"Stinner in :issue:`37340`, :issue:`38896` and :issue:`40428`.)" +msgstr "" +"Видалено наступні функції з C API. Викличте :c:func:`PyGC_Collect` явно, щоб " +"очистити всі вільні списки. (Надано Інадою Наокі та Віктором Стіннером у :" +"issue:`37340`, :issue:`38896` та :issue:`40428`.)" + +msgid "``PyAsyncGen_ClearFreeLists()``" +msgstr "``PyAsyncGen_ClearFreeLists()``" + +msgid "``PyContext_ClearFreeList()``" +msgstr "``PyContext_ClearFreeList()``" + +msgid "``PyDict_ClearFreeList()``" +msgstr "``PyDict_ClearFreeList()``" + +msgid "``PyFloat_ClearFreeList()``" +msgstr "``PyFloat_ClearFreeList()``" + +msgid "``PyFrame_ClearFreeList()``" +msgstr "``PyFrame_ClearFreeList()``" + +msgid "``PyList_ClearFreeList()``" +msgstr "``PyList_ClearFreeList()``" + +msgid "" +"``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " +"lists of bound method objects have been removed." +msgstr "" +"``PyMethod_ClearFreeList()`` і ``PyCFunction_ClearFreeList()``: вільні " +"списки зв’язаних об’єктів методу видалено." + +msgid "" +"``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4." +msgstr "``PySet_ClearFreeList()``: у Python 3.4 видалено список вільних." + +msgid "``PyTuple_ClearFreeList()``" +msgstr "``PyTuple_ClearFreeList()``" + +msgid "" +"``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " +"Python 3.3." +msgstr "" +"``PyUnicode_ClearFreeList()``: у Python 3.3 видалено список вільних кодів " +"Unicode." + +msgid "" +"Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor " +"Stinner in :issue:`39465`.)" +msgstr "" +"Вилучено функцію ``_PyUnicode_ClearStaticStrings()``. (Надав Віктор Стіннер " +"у :issue:`39465`.)" + +msgid "" +"Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and " +"broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be " +"used instead. (Contributed by Inada Naoki in :issue:`36346`.)" +msgstr "" +"Видалено ``Py_UNICODE_MATCH``. Він був застарілим :pep:`393` і зламався з " +"Python 3.3. Замість цього можна використовувати функцію :c:func:" +"`PyUnicode_Tailmatch`. (Надано Інадою Наокі в :issue:`36346`.)" + +msgid "" +"Cleaned header files of interfaces defined but with no implementation. The " +"public API symbols being removed are: " +"``_PyBytes_InsertThousandsGroupingLocale``, " +"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, " +"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " +"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " +"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " +"``PyNoArgsFunction``. (Contributed by Pablo Galindo Salgado in :issue:" +"`39372`.)" +msgstr "" +"Очищені файли заголовків визначених інтерфейсів, але без реалізації. The " +"public API symbols being removed are: " +"``_PyBytes_InsertThousandsGroupingLocale``, " +"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, " +"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " +"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " +"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " +"``PyNoArgsFunction``. (Надав Пабло Галіндо Сальгадо в :issue:`39372`.)" + +msgid "Notable changes in Python 3.9.1" +msgstr "Помітні зміни в Python 3.9.1" + +msgid "" +"The behavior of :class:`typing.Literal` was changed to conform with :pep:" +"`586` and to match the behavior of static type checkers specified in the PEP." +msgstr "" +"Поведінку :class:`typing.Literal` було змінено, щоб вона відповідала :pep:" +"`586` і відповідала поведінці засобів перевірки статичних типів, указаних у " +"PEP." + +msgid "``Literal`` now de-duplicates parameters." +msgstr "``Літерал`` тепер усуває дублікати параметрів." + +msgid "" +"Equality comparisons between ``Literal`` objects are now order independent." +msgstr "" +"Порівняння рівності між об’єктами ``Literal`` тепер не залежить від порядку." + +msgid "" +"``Literal`` comparisons now respect types. For example, ``Literal[0] == " +"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " +"support this change, the internally used type cache now supports " +"differentiating types." +msgstr "" +"``Літеральні`` порівняння тепер поважають типи. Наприклад, ``Literal[0] == " +"Literal[False]``, попередньо оцінене як ``True``. Тепер це ``False``. Для " +"підтримки цієї зміни внутрішній кеш типів тепер підтримує розрізняючі типи." + +msgid "" +"``Literal`` objects will now raise a :exc:`TypeError` exception during " +"equality comparisons if any of their parameters are not :term:`hashable`. " +"Note that declaring ``Literal`` with mutable parameters will not throw an " +"error::" +msgstr "" +"Об’єкти ``Literal`` тепер створюватимуть виняток :exc:`TypeError` під час " +"порівняння рівності, якщо будь-який з їхніх параметрів не :term:`hashable`. " +"Зверніть увагу, що оголошення ``Literal`` зі змінними параметрами не викличе " +"помилку:" + +msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" +msgstr "(Надав Юрій Карабас у :issue:`42345`.)" + +msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" +msgstr "Підтримка macOS 11.0 (Big Sur) і Apple Silicon Mac" + +msgid "" +"As of 3.9.1, Python now fully supports building and running on macOS 11.0 " +"(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A " +"new universal build variant, ``universal2``, is now available to natively " +"support both ``ARM64`` and ``Intel 64`` in one set of executables. Binaries " +"can also now be built on current versions of macOS to be deployed on a range " +"of older macOS versions (tested to 10.9) while making some newer OS " +"functions and options conditionally available based on the operating system " +"version in use at runtime (\"weaklinking\")." +msgstr "" +"Починаючи з версії 3.9.1, Python тепер повністю підтримує збірку та роботу " +"на macOS 11.0 (Big Sur) і на Apple Silicon Mac (на основі архітектури " +"``ARM64``). Новий універсальний варіант збірки, ``universal2``, тепер " +"доступний для підтримки як ``ARM64``, так і ``Intel 64`` в одному наборі " +"виконуваних файлів. Двійкові файли тепер також можна створювати на поточних " +"версіях macOS для розгортання в ряді старіших версій macOS (перевірено до " +"10.9), при цьому деякі новіші функції та параметри ОС стають умовно " +"доступними на основі версії операційної системи, яка використовується під " +"час виконання (\"слабкі зв’язки\" )." + +msgid "(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)" +msgstr "(Надано Рональдом Усореном і Лоуренсом Д'Анною в :issue:`41100`.)" + +msgid "Notable changes in Python 3.9.2" +msgstr "Помітні зміни в Python 3.9.2" + +msgid "collections.abc" +msgstr "колекції.abc" + +msgid "" +":class:`collections.abc.Callable` generic now flattens type parameters, " +"similar to what :data:`typing.Callable` currently does. This means that " +"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of " +"``(int, str, str)``; previously this was ``([int, str], str)``. To allow " +"this change, :class:`types.GenericAlias` can now be subclassed, and a " +"subclass will be returned when subscripting the :class:`collections.abc." +"Callable` type. Code which accesses the arguments via :func:`typing." +"get_args` or ``__args__`` need to account for this change. A :exc:" +"`DeprecationWarning` may be emitted for invalid forms of parameterizing :" +"class:`collections.abc.Callable` which may have passed silently in Python " +"3.9.1. This :exc:`DeprecationWarning` will become a :exc:`TypeError` in " +"Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)" +msgstr "" +":class:`collections.abc.Callable` generic тепер зводить параметри типу, " +"подібно до того, що зараз робить :data:`typing.Callable`. Це означає, що " +"``collections.abc.Callable[[int, str], str]`` матиме ``__args__`` ``(int, " +"str, str)``; раніше це було ``([int, str], str)``. Щоб дозволити цю зміну, :" +"class:`types.GenericAlias` тепер можна створювати підкласи, і підклас " +"повертатиметься під час підписки типу :class:`collections.abc.Callable`. " +"Код, який отримує доступ до аргументів через :func:`typing.get_args` або " +"``__args__``, повинен враховувати цю зміну. :exc:`DeprecationWarning` може " +"видаватись для недійсних форм параметризації :class:`collections.abc." +"Callable`, які могли пройти мовчки в Python 3.9.1. Це :exc:" +"`DeprecationWarning` стане :exc:`TypeError` у Python 3.10. (Надав Кен Джин " +"у :issue:`42195`.)" + +msgid "urllib.parse" +msgstr "urllib.parse" + +msgid "" +"Earlier Python versions allowed using both ``;`` and ``&`` as query " +"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." +"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " +"recommendations, this has been changed to allow only a single separator key, " +"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" +"func:`cgi.parse_multipart` as they use the affected functions internally. " +"For more details, please see their respective documentation. (Contributed by " +"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +msgstr "" +"Попередні версії Python дозволяли використовувати як ``;``, так і ``&`` як " +"роздільники параметрів запиту в :func:`urllib.parse.parse_qs` і :func:" +"`urllib.parse.parse_qsl`. З міркувань безпеки та для відповідності новим " +"рекомендаціям W3C це було змінено, щоб дозволити лише один роздільний ключ " +"із ``&`` за замовчуванням. Ця зміна також впливає на :func:`cgi.parse` і :" +"func:`cgi.parse_multipart`, оскільки вони використовують уражені функції " +"внутрішньо. Щоб дізнатися більше, перегляньте відповідну документацію. " +"(Надано Адамом Ґолдшмідтом, Сентилом Кумараном і Кеном Джином у :issue:" +"`42967`.)" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po new file mode 100644 index 000000000..7444542ab --- /dev/null +++ b/whatsnew/changelog.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "Changelog" +msgstr "Журнал змін" diff --git a/whatsnew/index.po b/whatsnew/index.po new file mode 100644 index 000000000..e864f63a3 --- /dev/null +++ b/whatsnew/index.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2022, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Dmytro Kazanzhy, 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-12 16:28+0000\n" +"PO-Revision-Date: 2021-06-29 13:04+0000\n" +"Last-Translator: Dmytro Kazanzhy, 2022\n" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +msgid "What's New in Python" +msgstr "Що нового в Python" + +msgid "" +"The \"What's New in Python\" series of essays takes tours through the most " +"important changes between major Python versions. They are a \"must read\" " +"for anyone wishing to stay up-to-date after a new release." +msgstr "" +"У серії есе \"Що нового в Python\" розповідається про найважливіші зміни між " +"основними версіями Python. Вони є обов’язковими до прочитання для всіх, хто " +"бажає бути в курсі подій після нового випуску." + +msgid "" +"The \"Changelog\" is an HTML version of the `file built `_ from the contents of the :source:`Misc/NEWS.d` directory " +"tree, which contains *all* nontrivial changes to Python for the current " +"version." +msgstr "" +"\"Журнал змін\" — це HTML-версія `файлу, створеного `_ із вмісту дерева каталогів :source:`Misc/NEWS.d`, який " +"містить *усі* нетривіальні зміни Python для поточної версії." From 6314d46e31a83cac02bf465e7f2f91e6ba9e4f50 Mon Sep 17 00:00:00 2001 From: GitHub Action's update-translation job Date: Thu, 17 Nov 2022 00:20:39 +0000 Subject: [PATCH 2/3] Update translation from Transifex --- README.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d82852b61..a658b01b5 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,24 @@ Український переклад документації Python ======================================== ![build](https://github.com/python/python-docs-uk/workflows/.github/workflows/update-and-build.yml/badge.svg) -![97.03% прогрес перекладу](https://img.shields.io/badge/прогрес_перекладу-97.03%25-0.svg) +![94.40% прогрес перекладу](https://img.shields.io/badge/прогрес_перекладу-94.40%25-0.svg) ![хід перекладу всієї документації](https://img.shields.io/badge/dynamic/json.svg?label=всього&query=$.uk&url=http://gce.zhsj.me/python/newest) -![1 перекладачів](https://img.shields.io/badge/перекладачів-1-0.svg) +![8 перекладачів](https://img.shields.io/badge/перекладачів-8-0.svg) Якщо ви знайшли помилку або маєте пропозицію, -[додати issue](https://github.com/python/python-docs-uk/issues) у цьому проєкті або запропонуйте зміни: +[додати issue](https://github.com/python/python-docs-uk/issues) у цьому проекті або запропонуйте зміни: * Зареєструйтесь на платформі [Transifex](https://www.transifex.com/) * Перейдіть на сторінку [документації Python](https://www.transifex.com/python-doc/python-newest/). -* Натисніть кнопку „Join Team”, оберіть українську (uk) мову та натисніть „Join”, щоб приєднатися до команди. +* Натисніть кнопку „Join Team”, оберіть українську (uk) мову та натисніть „Join” щоб приєднатися до команди. * Приєднавшись до команди, виберіть ресурс, що хочете виправити/оновити. Додаткову інформацію про використання Transifex дивіться [в документації](https://docs.transifex.com/getting-started-1/translators). +**Прогрес перекладу** + +![прогрес перекладу](language-switcher-progress.svg) + Українська мова з’явиться в меню вибору мови docs.python.org, [коли будуть повністю перекладені](https://www.python.org/dev/peps/pep-0545/#add-translation-to-the-language-switcher): * `bugs`, * всі ресурси в каталозі `tutorial`, @@ -34,12 +38,13 @@ **Ліцензія** -Запрошуючи вас до спільного створення проєкту на платформі Transifex, ми пропонуємо договір на передачу ваших перекладів +Запрошуючи вас до спільного створення проекту на платформі Transifex, ми пропонуємо договір на передачу ваших перекладів Python Software Foundation [по ліцензії CC0](https://creativecommons.org/publicdomain/zero/1.0/deed.uk). Натомість ви побачите, що ви є перекладачем тієї частини, яку ви переклали. Ви висловлюєте свою згоду з цією угодою, надаючи свою роботу для включення в документацію. **Оновлення локального перекладу** + * `.github/scripts/manage_translation.py recreate_tx_config` * `.github/scripts/manage_translation.py fetch` * `.github/scripts/manage_translation.py recreate_readme` @@ -49,3 +54,15 @@ Python Software Foundation [по ліцензії CC0](https://creativecommons.o * Julien Palard - French team * Tomo Cocoa - Japanese team +**Внесок спільноти** + +| Перекладач | Кількість документів | +|:----------------|:--------------------:| +|Dmytro Kazanzhy|496| +|Vadim Kashirny|6| +|Olga Tomakhina|5| +|Nadiia Gorash |4| +|Taras Kuzyo |2| +|serhii pavlenko|1| +|hellowfacey|1| +|Stanislav Silin|1| From 25368a90e8d42e231021561b899d8107adabaa65 Mon Sep 17 00:00:00 2001 From: Andrii Soldatenko Date: Tue, 22 Nov 2022 10:48:54 +0100 Subject: [PATCH 3/3] Add sphinx-lint --- .github/workflows/update-and-build.yml | 1 + Makefile | 5 +++++ library/venv.po | 2 +- requirements.txt | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 requirements.txt diff --git a/.github/workflows/update-and-build.yml b/.github/workflows/update-and-build.yml index f21afcb53..b21638890 100644 --- a/.github/workflows/update-and-build.yml +++ b/.github/workflows/update-and-build.yml @@ -71,6 +71,7 @@ jobs: working-directory: ./Doc/locales/uk/LC_MESSAGES - run: make -e SPHINXOPTS="-D language='uk' -D gettext_compact=0" SPHINXERRORHANDLING="" ${{ matrix.format }} working-directory: ./Doc + - run: make sphinx-lint - uses: actions/upload-artifact@master with: name: build-${{ matrix.version }}-${{ matrix.format }} diff --git a/Makefile b/Makefile index d627ab1de..5970cc01a 100644 --- a/Makefile +++ b/Makefile @@ -102,6 +102,11 @@ ensure_prerequisites: exit 1; \ fi +.PHONY: sphinx-lint +sphinx-lint: + @echo "Checking all files using sphinx-lint..." + @sphinx-lint --enable all --disable line-too-long *.po */*.po + .PHONY: serve serve: $(MAKE) -C $(CPYTHON_PATH)/Doc/ serve diff --git a/library/venv.po b/library/venv.po index e6c487c5e..ed1136186 100644 --- a/library/venv.po +++ b/library/venv.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2022-11-12 16:28+0000\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Dmytro Kazanzhy, 2022\n" -"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/" +"Language-Team: Ukrainian (https://www.transifex.com/python-doc/teams/5390/)" "uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..93827e084 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +poutils==0.13.0 +sphinx-lint \ No newline at end of file